From xen-devel-bounces@lists.xenproject.org Sat Jan 01 02:31:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 01 Jan 2022 02:31:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.252632.433672 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n3UAP-00081u-Ng; Sat, 01 Jan 2022 02:30:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 252632.433672; Sat, 01 Jan 2022 02: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 1n3UAP-00081m-IS; Sat, 01 Jan 2022 02:30:45 +0000
Received: by outflank-mailman (input) for mailman id 252632;
 Sat, 01 Jan 2022 02: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 1n3UAO-00081c-BS; Sat, 01 Jan 2022 02: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 1n3UAO-0002Nq-7t; Sat, 01 Jan 2022 02: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 1n3UAN-0000Qm-S7; Sat, 01 Jan 2022 02:30:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n3UAN-0001Z1-Rg; Sat, 01 Jan 2022 02: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=ppGdyUdwZ+YNIfkWJsI4/5CoP/wecvEIhxyJkQLIOMs=; b=ddqWYwmoGAttER9TKx/aqaVZzZ
	GRmvnncYyllF7Sg2TIYznyBdQQt4G7UiSdpBX+NkQPkCygFTI8G9NBDKjjK3/p7/ce86/+Ol/Pvj2
	4p/QQ7lKUM6O67WjQRmT5t59cOvBjO6xKQiek6njqQ9rbgVpaQMd6mqOk3W1MVhs1EAE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167579-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167579: 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-qcow2:saverestore-support-check: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: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-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-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-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-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-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-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-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=814a0505302d6af277557f10f88d3639eff7a547
X-Osstest-Versions-That:
    qemuu=69f153667fce723ee546d2f047d66d0cfa67c3cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 01 Jan 2022 02:30:43 +0000

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

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

version targeted for testing:
 qemuu                814a0505302d6af277557f10f88d3639eff7a547
baseline version:
 qemuu                69f153667fce723ee546d2f047d66d0cfa67c3cc

Last test of basis   167575  2021-12-31 05:38:32 Z    0 days
Testing same since   167579  2021-12-31 19:37:04 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Li Zhijian <lizhijian@cn.fujitsu.com>
  Philippe Mathieu-Daudé <f4bug@amsat.org>
  Philippe Mathieu-Daudé <philmd@redhat.com>
  Richard Henderson <richard.henderson@linaro.org>
  Yanan Wang <wangyanan55@huawei.com>
  Zhang Chen <chen.zhang@intel.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   69f153667f..814a050530  814a0505302d6af277557f10f88d3639eff7a547 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Sat Jan 01 05:12:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 01 Jan 2022 05:12:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.252643.433682 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n3WgP-00036j-6P; Sat, 01 Jan 2022 05:11:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 252643.433682; Sat, 01 Jan 2022 05:11:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n3WgP-00036c-2f; Sat, 01 Jan 2022 05:11:57 +0000
Received: by outflank-mailman (input) for mailman id 252643;
 Sat, 01 Jan 2022 05:11: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 1n3WgN-000369-9a; Sat, 01 Jan 2022 05:11: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 1n3WgN-0005bQ-5M; Sat, 01 Jan 2022 05:11: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 1n3WgM-0000T2-Ql; Sat, 01 Jan 2022 05:11:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n3WgM-0004rb-QI; Sat, 01 Jan 2022 05: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7wXyRow83XPeYirp/jBXO88G5KjpIfXBizsN9qDGJsQ=; b=jzMNMQqfO2OQruzBtU4GSjsT8k
	+EmOV3uOquFYwl2M3mnPyecNCtDmxmaHhTgA4s9sn4QWnrcFnlP2EGRO1VDl7zrHfITgoh1SvZZ3K
	tO7q7U8bL/BXdI9vu7cXq7rsMhCD7L0tGuMDvdwhhUj2sDnyz+y+kavbq7R2qsB9K0TA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167580-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167580: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-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-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-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-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl: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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=1b4e3f26f9f7553b260b8aed43967500961448a6
X-Osstest-Versions-That:
    linux=4f3d93c6eaff6b84e43b63e0d7a119c5920e1020
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 01 Jan 2022 05:11:54 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 linux                1b4e3f26f9f7553b260b8aed43967500961448a6
baseline version:
 linux                4f3d93c6eaff6b84e43b63e0d7a119c5920e1020

Last test of basis   167577  2021-12-31 08:55:18 Z    0 days
Testing same since   167580  2021-12-31 21:12:22 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexey Makhalov <amakhalov@vmware.com>
  Andrew Morton <akpm@linux-foundation.org>
  Dan Carpenter <dan.carpenter@oracle.com>
  Hugh Dickins <hughd@google.com>
  Linfeilong <linfeilong@huawei.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Lixiaokeng <lixiaokeng@huawei.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Mel Gorman <mgorman@techsingularity.net>
  Mike Kravetz <mike.kravetz@oracle.com>
  SeongJae Park <sj@kernel.org>

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


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

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

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

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


Pushing revision :

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


From xen-devel-bounces@lists.xenproject.org Sat Jan 01 08:06:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 01 Jan 2022 08:06:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.252661.433693 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n3ZOL-0006uU-Ve; Sat, 01 Jan 2022 08:05:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 252661.433693; Sat, 01 Jan 2022 08: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 1n3ZOL-0006uN-SX; Sat, 01 Jan 2022 08:05:29 +0000
Received: by outflank-mailman (input) for mailman id 252661;
 Sat, 01 Jan 2022 08: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 1n3ZOK-0006uD-IX; Sat, 01 Jan 2022 08: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 1n3ZOK-0000gh-Dl; Sat, 01 Jan 2022 08: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 1n3ZOK-0000mj-64; Sat, 01 Jan 2022 08:05:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n3ZOK-00067H-5f; Sat, 01 Jan 2022 08:05: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=JkJjh9IYWz0hbf0CtvfW2S8BDniCHk0g2u8TsGFWXVk=; b=P6GL/UHVf59xb7boA894Za5kGE
	FdA11ZAqDmHVSV+8k9Vm7jUTtioFFb2ZiI3BffXtdxudT7zSkOLbDeDEz1QDIDOOBEC7yvTwOgRaG
	EZmNARj33CR1RcdqOzonaLnkiUBl5Ym1kYe2QBfQyne3PhD+7+dNTzpecKoACmkHwUOc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167582-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 167582: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=81971f1de73d502e11f75008c4edd7d3f8914d18
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 01 Jan 2022 08:05:28 +0000

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

Regressions :-(

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

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

version targeted for testing:
 libvirt              81971f1de73d502e11f75008c4edd7d3f8914d18
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  540 days
Failing since        151818  2020-07-11 04:18:52 Z  539 days  521 attempts
Testing same since   167538  2021-12-25 04:18:56 Z    7 days    8 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>
  Ani Sinha <ani@anisinha.ca>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  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>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.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>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  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>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  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 Chevsky <nchevsky@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>
  Or Ozeri <oro@il.ibm.com>
  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>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  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>
  Stefan Hajnoczi <stefanha@redhat.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>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.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>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Дамјан Георгиевски <gdamjan@gmail.com>

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


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sat Jan 01 10:53:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 01 Jan 2022 10:53:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.252672.433705 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n3c0E-0001cz-Q5; Sat, 01 Jan 2022 10:52:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 252672.433705; Sat, 01 Jan 2022 10: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 1n3c0E-0001cs-LI; Sat, 01 Jan 2022 10:52:46 +0000
Received: by outflank-mailman (input) for mailman id 252672;
 Sat, 01 Jan 2022 10:52:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n3c0D-0001cc-ED; Sat, 01 Jan 2022 10:52:45 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n3c0D-0003aR-9d; Sat, 01 Jan 2022 10:52:45 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n3c0D-0007o8-02; Sat, 01 Jan 2022 10:52:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n3c0C-00082F-Vo; Sat, 01 Jan 2022 10:52:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=11suIo46LmxdIVP0g2Oktkrapk/vn3Lreo/G4D3dA6M=; b=O+n6Z3eN5D1X15xxlS7Wjpt8Ir
	cWwurG2zrWzSIiRexqwfBr2D1dmYKhlngCgqZZw+NJ7tuWd0DC9j6/PM4e1xBF19RNSLpiml//wqC
	iWbSwmgo+PgtAZN8g7t1NFoFKiCj9kUiyDnm5tk57L0H3ZQgHbqfXJNSqk2skFOsZkp8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167581-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167581: FAIL
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt:<job status>:broken:regression
    xen-unstable:test-armhf-armhf-libvirt-raw:<job status>:broken:regression
    xen-unstable:test-armhf-armhf-libvirt:host-install(5):broken:heisenbug
    xen-unstable:test-armhf-armhf-libvirt-raw:host-install(5):broken:heisenbug
    xen-unstable:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:heisenbug
    xen-unstable:test-arm64-arm64-xl-vhd:debian-di-install:fail:heisenbug
    xen-unstable:test-amd64-coresched-amd64-xl:guest-localmigrate/x10:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate/x10:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-credit2: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-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm: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-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-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-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-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt: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: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
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=f1e268b9fd13647e1f69c8ce0ae7be401d319fc8
X-Osstest-Versions-That:
    xen=f1e268b9fd13647e1f69c8ce0ae7be401d319fc8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 01 Jan 2022 10:52:44 +0000

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

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 167554
 test-armhf-armhf-libvirt-raw    <job status>                 broken  in 167554

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt     5 host-install(5) broken in 167554 pass in 167581
 test-armhf-armhf-libvirt-raw 5 host-install(5) broken in 167554 pass in 167581
 test-amd64-amd64-xl-rtds 20 guest-localmigrate/x10 fail in 167554 pass in 167581
 test-arm64-arm64-xl-vhd     12 debian-di-install fail in 167554 pass in 167581
 test-amd64-coresched-amd64-xl 20 guest-localmigrate/x10 fail in 167573 pass in 167581
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail pass in 167554
 test-amd64-amd64-xl-credit2  22 guest-start/debian.repeat  fail pass in 167573
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 167573

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

version targeted for testing:
 xen                  f1e268b9fd13647e1f69c8ce0ae7be401d319fc8
baseline version:
 xen                  f1e268b9fd13647e1f69c8ce0ae7be401d319fc8

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

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


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

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

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

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

broken-job test-armhf-armhf-libvirt broken
broken-job test-armhf-armhf-libvirt-raw broken

Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Sat Jan 01 15:08:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 01 Jan 2022 15:08:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.252697.433715 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n3fzD-00074Y-6y; Sat, 01 Jan 2022 15:07:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 252697.433715; Sat, 01 Jan 2022 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 1n3fzD-00074R-3l; Sat, 01 Jan 2022 15:07:59 +0000
Received: by outflank-mailman (input) for mailman id 252697;
 Sat, 01 Jan 2022 15:07:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n3fzB-00074H-SB; Sat, 01 Jan 2022 15:07:57 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n3fzB-0007vA-QL; Sat, 01 Jan 2022 15:07:57 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n3fzB-0005VC-Gu; Sat, 01 Jan 2022 15:07:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n3fzB-0005v5-GT; Sat, 01 Jan 2022 15:07:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=GVNy+Tj4e/XbvMjEQTPpUeOGSkyLVKsUn1yW+O7DKRQ=; b=VKDnymdOhtGa2Hoxc/QMa9J0XF
	huClUOuTDiCKvKfNzrr4AuQ8ZbnQ0WApHn1pXeogfCDxKVX8BupYzCVIw0S39nMVPfcry9eKdDDHe
	y/Lsrs5V8N9dhVz0pyLkRw4m9DDAmUbwJe+uP5vaQ51cpy1bo3okvW/eZdDtZUvVtBjI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167583-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167583: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-vhd:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-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-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-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-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl: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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=8008293888188c3923f5bd8a69370dae25ed14e5
X-Osstest-Versions-That:
    linux=1b4e3f26f9f7553b260b8aed43967500961448a6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 01 Jan 2022 15:07:57 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-libvirt-pair 25 guest-start/debian fail pass in 167584-retest
 test-amd64-amd64-xl-vhd   19 guest-localmigrate/x10 fail pass in 167584-retest

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

version targeted for testing:
 linux                8008293888188c3923f5bd8a69370dae25ed14e5
baseline version:
 linux                1b4e3f26f9f7553b260b8aed43967500961448a6

Last test of basis   167580  2021-12-31 21:12:22 Z    0 days
Testing same since   167583  2022-01-01 05:15:38 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Morton <akpm@linux-foundation.org>
  Linus Torvalds <torvalds@linux-foundation.org>
  Mel Gorman <mgorman@techsingularity.net>

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


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

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

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

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


Pushing revision :

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


From xen-devel-bounces@lists.xenproject.org Sun Jan 02 02:20:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 02 Jan 2022 02:20:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.252729.433727 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n3qTU-0005DE-Kq; Sun, 02 Jan 2022 02:19:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 252729.433727; Sun, 02 Jan 2022 02:19:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n3qTU-0005Cm-DX; Sun, 02 Jan 2022 02:19:56 +0000
Received: by outflank-mailman (input) for mailman id 252729;
 Sun, 02 Jan 2022 02:19: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 1n3qTS-0005Cc-NX; Sun, 02 Jan 2022 02:19: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 1n3qTS-0007qA-KM; Sun, 02 Jan 2022 02:19: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 1n3qTS-0007Hp-2P; Sun, 02 Jan 2022 02:19:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n3qTS-0003uN-20; Sun, 02 Jan 2022 02:19: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=wygqKBdyq48PN8thGnwS+w8fxpM6GZzwPp24YNBCLdk=; b=xOsqBdrUY/SMhJh0579h+0fHoy
	aazSteSWu8SOTmupJzDznOAg6GCAItCc/GmoSzGynSay1MNWpI2RnhPMcY7tSj1XH8/c1Zh7mJzH4
	NitOLQRvIebK82UeEjs0mgrrBAbUpeIrLZVWMO41qevyUu7NOjQxC2o2FVdSk5kMZTmk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167585-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167585: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-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-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl: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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=278218f6778bc7d6f8b67199446c56cec7ebb841
X-Osstest-Versions-That:
    linux=8008293888188c3923f5bd8a69370dae25ed14e5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 02 Jan 2022 02:19:54 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 167583

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

version targeted for testing:
 linux                278218f6778bc7d6f8b67199446c56cec7ebb841
baseline version:
 linux                8008293888188c3923f5bd8a69370dae25ed14e5

Last test of basis   167583  2022-01-01 05:15:38 Z    0 days
Testing same since   167585  2022-01-01 19:10:50 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Leo L. Schwab <ewhac@ewhac.org>
  Linus Torvalds <torvalds@linux-foundation.org>
  Pavel Skripkin <paskripkin@gmail.com>

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


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

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

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

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


Not pushing.

------------------------------------------------------------
commit 278218f6778bc7d6f8b67199446c56cec7ebb841
Merge: 800829388818 bc7ec91718c4
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Sat Jan 1 10:21:49 2022 -0800

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
    
    Pull input fixes from Dmitry Torokhov:
     "Two small fixups for spaceball joystick driver and appletouch touchpad
      driver"
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
      Input: spaceball - fix parsing of movement data packets
      Input: appletouch - initialize work before device registration

commit bc7ec91718c49d938849697cfad98fcd9877cc26
Author: Leo L. Schwab <ewhac@ewhac.org>
Date:   Thu Dec 30 21:05:00 2021 -0800

    Input: spaceball - fix parsing of movement data packets
    
    The spaceball.c module was not properly parsing the movement reports
    coming from the device.  The code read axis data as signed 16-bit
    little-endian values starting at offset 2.
    
    In fact, axis data in Spaceball movement reports are signed 16-bit
    big-endian values starting at offset 3.  This was determined first by
    visually inspecting the data packets, and later verified by consulting:
    http://spacemice.org/pdf/SpaceBall_2003-3003_Protocol.pdf
    
    If this ever worked properly, it was in the time before Git...
    
    Signed-off-by: Leo L. Schwab <ewhac@ewhac.org>
    Link: https://lore.kernel.org/r/20211221101630.1146385-1-ewhac@ewhac.org
    Cc: stable@vger.kernel.org
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit 9f3ccdc3f6ef10084ceb3a47df0961bec6196fd0
Author: Pavel Skripkin <paskripkin@gmail.com>
Date:   Thu Dec 30 20:57:46 2021 -0800

    Input: appletouch - initialize work before device registration
    
    Syzbot has reported warning in __flush_work(). This warning is caused by
    work->func == NULL, which means missing work initialization.
    
    This may happen, since input_dev->close() calls
    cancel_work_sync(&dev->work), but dev->work initalization happens _after_
    input_register_device() call.
    
    So this patch moves dev->work initialization before registering input
    device
    
    Fixes: 5a6eb676d3bc ("Input: appletouch - improve powersaving for Geyser3 devices")
    Reported-and-tested-by: syzbot+b88c5eae27386b252bbd@syzkaller.appspotmail.com
    Signed-off-by: Pavel Skripkin <paskripkin@gmail.com>
    Link: https://lore.kernel.org/r/20211230141151.17300-1-paskripkin@gmail.com
    Cc: stable@vger.kernel.org
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>


From xen-devel-bounces@lists.xenproject.org Sun Jan 02 10:16:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 02 Jan 2022 10:16:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.252751.433737 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n3xtv-0006j8-2C; Sun, 02 Jan 2022 10:15:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 252751.433737; Sun, 02 Jan 2022 10:15:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n3xtu-0006j1-VO; Sun, 02 Jan 2022 10:15:42 +0000
Received: by outflank-mailman (input) for mailman id 252751;
 Sun, 02 Jan 2022 10:15: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 1n3xtt-0006ir-CL; Sun, 02 Jan 2022 10:15: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 1n3xtt-0000Eb-90; Sun, 02 Jan 2022 10:15: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 1n3xtt-00046J-0m; Sun, 02 Jan 2022 10:15:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n3xtt-0000Fg-0N; Sun, 02 Jan 2022 10:15:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Bj5AWmQJCqVr6XQkEKGe0EUED53IlB9GqGib70zUPW4=; b=TUH4XlhfNWg35bONbndsXHHD08
	02ZmzRbvo9W62G+1JLs/iAOyo/bv9v1TbzolVlbARPQzYyytslWmt16nE4hJQOyqO6nhbO1npmBzb
	+7girTvP/19Zf89TeQRftIqtF8PGJZg6IozdIQzts+Txgn9ONhNjItCWmbZkXukRjxck=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167589-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 167589: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=81971f1de73d502e11f75008c4edd7d3f8914d18
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 02 Jan 2022 10:15:41 +0000

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

Regressions :-(

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

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

version targeted for testing:
 libvirt              81971f1de73d502e11f75008c4edd7d3f8914d18
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  541 days
Failing since        151818  2020-07-11 04:18:52 Z  540 days  522 attempts
Testing same since   167538  2021-12-25 04:18:56 Z    8 days    9 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>
  Ani Sinha <ani@anisinha.ca>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  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>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.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>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  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>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  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 Chevsky <nchevsky@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>
  Or Ozeri <oro@il.ibm.com>
  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>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  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>
  Stefan Hajnoczi <stefanha@redhat.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>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.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>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Дамјан Георгиевски <gdamjan@gmail.com>

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


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Jan 02 10:42:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 02 Jan 2022 10:42:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.252760.433749 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n3yJo-0001Vw-AA; Sun, 02 Jan 2022 10:42:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 252760.433749; Sun, 02 Jan 2022 10:42:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n3yJo-0001Vp-66; Sun, 02 Jan 2022 10:42:28 +0000
Received: by outflank-mailman (input) for mailman id 252760;
 Sun, 02 Jan 2022 10:42: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 1n3yJm-0001Ve-Ts; Sun, 02 Jan 2022 10:42: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 1n3yJm-0000gB-Ql; Sun, 02 Jan 2022 10:42: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 1n3yJm-0004oS-Gl; Sun, 02 Jan 2022 10:42:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n3yJm-00070Z-GJ; Sun, 02 Jan 2022 10:42:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7nahmQNp1poHJlTRys8hA+r6MJyQJ7AuC2+AiwKZbKA=; b=OURIMiNLp8QwlhZ3/TXm68EzMj
	uw9NhIREsG0L2ZF5mppzcsTphVFN7230MsupE64OPY3hVJWlkSFxunDqqX9DJaoLVfjLF+BjpbFQw
	99O7s/d1mYK1eJNdHi7QsStCpJOZxoFnWKQYMtaOQYywRJOm6gaR6o1RGv9/VsdYJ5Pc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167587-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167587: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install: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-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-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-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-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt: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: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
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=f1e268b9fd13647e1f69c8ce0ae7be401d319fc8
X-Osstest-Versions-That:
    xen=f1e268b9fd13647e1f69c8ce0ae7be401d319fc8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 02 Jan 2022 10:42:26 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 xen                  f1e268b9fd13647e1f69c8ce0ae7be401d319fc8
baseline version:
 xen                  f1e268b9fd13647e1f69c8ce0ae7be401d319fc8

Last test of basis   167587  2022-01-02 01:52:11 Z    0 days
Testing same since                          (not found)         0 attempts

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


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

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

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

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


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Sun Jan 02 11:46:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 02 Jan 2022 11:46:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.252771.433759 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n3zJj-0007Sp-D8; Sun, 02 Jan 2022 11:46:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 252771.433759; Sun, 02 Jan 2022 11:46:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n3zJj-0007Si-AE; Sun, 02 Jan 2022 11:46:27 +0000
Received: by outflank-mailman (input) for mailman id 252771;
 Sun, 02 Jan 2022 11:46: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 1n3zJh-0007SV-Os; Sun, 02 Jan 2022 11:46: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 1n3zJh-0001mH-MP; Sun, 02 Jan 2022 11:46: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 1n3zJh-0006Ve-Cf; Sun, 02 Jan 2022 11:46:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n3zJh-0003y7-CG; Sun, 02 Jan 2022 11:46:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=8ISE+Y1vyZliWjEJVFqSSeQRP1whsLImWuaJmkSxFBo=; b=KbrPAgPD5Ubuz6nTO+fNUgFjCi
	MuTWJ+nd8tvj+AAKeJEZQIAYOAELFquhPv9Z05IaM4KvRle1v02rTYj66HoCdkC2wd15B6OGLnLpS
	lOzSrF9FWdgG8wwi6r1Io42HkRz4BBhiW8B6Te++xhDbaBXsgc7qOTrSG/5kNeTQEXig=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167588-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167588: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-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-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl: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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=278218f6778bc7d6f8b67199446c56cec7ebb841
X-Osstest-Versions-That:
    linux=8008293888188c3923f5bd8a69370dae25ed14e5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 02 Jan 2022 11:46:25 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 167585 pass in 167588
 test-amd64-amd64-pair        25 guest-start/debian         fail pass in 167585

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

version targeted for testing:
 linux                278218f6778bc7d6f8b67199446c56cec7ebb841
baseline version:
 linux                8008293888188c3923f5bd8a69370dae25ed14e5

Last test of basis   167583  2022-01-01 05:15:38 Z    1 days
Testing same since   167585  2022-01-01 19:10:50 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Leo L. Schwab <ewhac@ewhac.org>
  Linus Torvalds <torvalds@linux-foundation.org>
  Pavel Skripkin <paskripkin@gmail.com>

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


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

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

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

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


Pushing revision :

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


From xen-devel-bounces@lists.xenproject.org Sun Jan 02 23:11:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 02 Jan 2022 23:11:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.252845.433817 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n49zt-0004WQ-FI; Sun, 02 Jan 2022 23:10:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 252845.433817; Sun, 02 Jan 2022 23:10:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n49zt-0004WJ-BM; Sun, 02 Jan 2022 23:10:41 +0000
Received: by outflank-mailman (input) for mailman id 252845;
 Sun, 02 Jan 2022 23:10: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 1n49zs-0004W9-IQ; Sun, 02 Jan 2022 23:10: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 1n49zs-0005jN-FB; Sun, 02 Jan 2022 23:10:40 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n49zs-0000FV-1s; Sun, 02 Jan 2022 23:10:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n49zs-00040t-1R; Sun, 02 Jan 2022 23:10:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Frijj6OqwIGum9B7Uh1H0YpB0Z9YC02sEL+wF+nw8L0=; b=XjHpXCME2TYIVDB2LR0lTkRl1a
	qKDK1XqyRf0lScjvZz0/p5L6ESj35cIkidZf6GeuTobNC1CE+5+1h8xRhXbEQ0H7bhz14Qzwi7sd1
	HuUszGYWCvTyrEv3EuimIZ8WLid1r3Tnij/PUAaKMZfIqhsoov5AjwWlw3SMM1UEm24I=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167590-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167590: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-xsm:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-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-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl: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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=1286cc4893cf356ad6c3a042116981e827dd3680
X-Osstest-Versions-That:
    linux=278218f6778bc7d6f8b67199446c56cec7ebb841
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 02 Jan 2022 23:10:40 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-libvirt-xsm 20 guest-start/debian.repeat fail pass in 167591-retest
 test-amd64-amd64-xl-xsm 22 guest-start/debian.repeat fail pass in 167591-retest

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     18 guest-localmigrate       fail REGR. vs. 167588

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

version targeted for testing:
 linux                1286cc4893cf356ad6c3a042116981e827dd3680
baseline version:
 linux                278218f6778bc7d6f8b67199446c56cec7ebb841

Last test of basis   167588  2022-01-02 02:22:57 Z    0 days
Testing same since   167590  2022-01-02 17:12:22 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Borislav Petkov <bp@suse.de>
  Linus Torvalds <torvalds@linux-foundation.org>
  Lukas Bulwahn <lukas.bulwahn@gmail.com>

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


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

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

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

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


Pushing revision :

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


From xen-devel-bounces@lists.xenproject.org Mon Jan 03 06:55:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Jan 2022 06:55:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.252879.433846 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4HEy-0000MD-7g; Mon, 03 Jan 2022 06:54:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 252879.433846; Mon, 03 Jan 2022 06:54:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4HEy-0000Lm-00; Mon, 03 Jan 2022 06:54:44 +0000
Received: by outflank-mailman (input) for mailman id 252879;
 Mon, 03 Jan 2022 06:54: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 1n4HEw-0000Lc-3b; Mon, 03 Jan 2022 06:54: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 1n4HEv-0000dn-PT; Mon, 03 Jan 2022 06:54: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 1n4HEv-0004Vm-Gr; Mon, 03 Jan 2022 06:54:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n4HEv-0004tM-GP; Mon, 03 Jan 2022 06:54: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=9bJX8GCdFPJFSnRh0epExCwgW1B168/2/mDIWrc/Ik8=; b=PcmhYaBKlSkT9ztbahFjGKKxp6
	39kYa0DBpxUd5ugENs8G6HsFYPeF7HdKlMysDJ3SZcU4IL0AeeX7bF9CiUhUhq8Kir7rqjNGyoG2u
	J1BdNV2xQixCWdOFDgc3s0FzUBtwp8uQ3+Td59CZisB7S6HOO4IHBQW4DZ+xRXVedyLA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167592-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167592: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate/x10: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-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-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-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl: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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=c9e6606c7fe92b50a02ce51dda82586ebdf99b48
X-Osstest-Versions-That:
    linux=1286cc4893cf356ad6c3a042116981e827dd3680
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 03 Jan 2022 06:54:41 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl-seattle   8 xen-boot            fail pass in 167595-retest

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

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

version targeted for testing:
 linux                c9e6606c7fe92b50a02ce51dda82586ebdf99b48
baseline version:
 linux                1286cc4893cf356ad6c3a042116981e827dd3680

Last test of basis   167590  2022-01-02 17:12:22 Z    0 days
Testing same since   167592  2022-01-02 23:39:19 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adrian Hunter <adrian.hunter@intel.com>
  Arnaldo Carvalho de Melo <acme@redhat.com>
  Deep Majumder <deep@fastmail.in>
  German Gomez <german.gomez@arm.com>
  Hewenliang <hewenliang4@huawei.com>
  Jiri Olsa <jolsa@redhat.com>
  John Garry <john.garry@huawei.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Miaoqian Lin <linmq006@gmail.com>
  Namhyung Kim <namhyung@kernel.org>
  Pavel Skripkin <paskripkin@gmail.com>
  Wenyu Liu <liuwenyu7@huawei.com>
  Wolfram Sang <wsa@kernel.org>
  yaowenbin <yaowenbin1@huawei.com>
  Zhengjun Xing <zhengjun.xing@linux.intel.com>

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


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

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

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

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


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
   1286cc4893cf..c9e6606c7fe9  c9e6606c7fe92b50a02ce51dda82586ebdf99b48 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Mon Jan 03 08:11:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Jan 2022 08:11:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.252922.433875 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4IQV-0001II-IB; Mon, 03 Jan 2022 08:10:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 252922.433875; Mon, 03 Jan 2022 08:10:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4IQV-0001IB-F4; Mon, 03 Jan 2022 08:10:43 +0000
Received: by outflank-mailman (input) for mailman id 252922;
 Mon, 03 Jan 2022 08:10:41 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n4IQT-0001I1-Sk; Mon, 03 Jan 2022 08:10:41 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n4IQT-0002Wj-PF; Mon, 03 Jan 2022 08:10:41 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n4IQT-0006sE-HV; Mon, 03 Jan 2022 08:10:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n4IQT-0002cu-H2; Mon, 03 Jan 2022 08:10:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=OmXTsKA332Z5IQrBhK5mTggqlihEr7KzqmlL19iwXZM=; b=OBAzwFmncq4WKdPX3kk5HFxR92
	hHVHbHV0r3ZG0ZubmOVUal3a3g2ipgsfYJz6VpCOR5Q5MZTFS5shcOVg0uQP11R9Gr433thCRux5g
	3wR16QkBKoGiKb0klBvrLCozi8Qp93izwA/kF0mLW0Dpq/wuut17nHuO9MPb5qmuiJjs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167594-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 167594: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-armhf-libvirt:libvirt-build:fail:regression
    libvirt:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:build-i386-libvirt:libvirt-build:fail:regression
    libvirt:build-arm64-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=81971f1de73d502e11f75008c4edd7d3f8914d18
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 03 Jan 2022 08:10:41 +0000

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

Regressions :-(

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

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

version targeted for testing:
 libvirt              81971f1de73d502e11f75008c4edd7d3f8914d18
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  542 days
Failing since        151818  2020-07-11 04:18:52 Z  541 days  523 attempts
Testing same since   167538  2021-12-25 04:18:56 Z    9 days   10 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>
  Ani Sinha <ani@anisinha.ca>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  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>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.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>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  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>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  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 Chevsky <nchevsky@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>
  Or Ozeri <oro@il.ibm.com>
  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>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  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>
  Stefan Hajnoczi <stefanha@redhat.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>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.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>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Дамјан Георгиевски <gdamjan@gmail.com>

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


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Jan 03 11:40:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Jan 2022 11:40:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.252934.433886 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4Lh6-0003cW-Rb; Mon, 03 Jan 2022 11:40:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 252934.433886; Mon, 03 Jan 2022 11:40:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4Lh6-0003c6-NC; Mon, 03 Jan 2022 11:40:04 +0000
Received: by outflank-mailman (input) for mailman id 252934;
 Mon, 03 Jan 2022 11:40:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n4Lh5-0003Ix-7L; Mon, 03 Jan 2022 11:40:03 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n4Lh5-0006DY-2l; Mon, 03 Jan 2022 11:40:03 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n4Lh4-00045Z-MZ; Mon, 03 Jan 2022 11:40:02 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n4Lh4-0001SR-M4; Mon, 03 Jan 2022 11:40:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=A/awZvMzO/yMmWfXY3NynMj2cOct1tZytQyDeKxNAYE=; b=GDs6vkp7i/UT7+cPPogKiiHKzB
	sMvpiK1U45U+MdH/zzuCUdI79FmX+OJidTZLl48/w+s+bL3ZB9Utuiq6RZWceBflc4pbl40RUqLDK
	mGdMgHcwl4EfRo07et/ApkWwHxFdVw2hSsG2tt5jvAYbZ2vwGMcw2z19b2fa4Bv2ZQ0g=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167593-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167593: 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-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-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt: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: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-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-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=f1e268b9fd13647e1f69c8ce0ae7be401d319fc8
X-Osstest-Versions-That:
    xen=f1e268b9fd13647e1f69c8ce0ae7be401d319fc8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 03 Jan 2022 11:40:02 +0000

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

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

version targeted for testing:
 xen                  f1e268b9fd13647e1f69c8ce0ae7be401d319fc8
baseline version:
 xen                  f1e268b9fd13647e1f69c8ce0ae7be401d319fc8

Last test of basis   167593  2022-01-03 01:53:14 Z    0 days
Testing same since                          (not found)         0 attempts

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


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

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

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

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


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Mon Jan 03 13:14:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Jan 2022 13:14:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.252953.433896 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4NAL-0004KS-D6; Mon, 03 Jan 2022 13:14:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 252953.433896; Mon, 03 Jan 2022 13: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 1n4NAL-0004KL-9l; Mon, 03 Jan 2022 13:14:21 +0000
Received: by outflank-mailman (input) for mailman id 252953;
 Mon, 03 Jan 2022 13:14: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 1n4NAK-0004KF-9f
 for xen-devel@lists.xenproject.org; Mon, 03 Jan 2022 13:14: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 1n4NAJ-0007sL-Uj; Mon, 03 Jan 2022 13:14:19 +0000
Received: from 54-240-197-226.amazon.com ([54.240.197.226]
 helo=[192.168.24.212]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1n4NAJ-0007tU-Og; Mon, 03 Jan 2022 13:14:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=rLp3lPXyCNL98uKPu54GR9kl6NDR2PnYH4lkViZpiSc=; b=lFiX6ACl4D6xUb6FgFnEgG8J3J
	tO+0H/65DqoR4zzNGZh9mZUERar3iBqwAfq42RBLVrPck28uKmwuGqXyvycyrsOpIwMbQ00kBxi4M
	/Eg06b4DnsuWL/0izpq6XdbC8p+glZdvqUrLJw2M3w0kcbg4GxiYr8dNA8ScUrGvpL8s=;
Message-ID: <045b2836-c95d-541b-462b-d276ae058b0d@xen.org>
Date: Mon, 3 Jan 2022 13:14:17 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.4.1
Subject: Re: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
To: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
Cc: Oleksandr <olekstysh@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <cover.1639472078.git.oleksii_moisieiev@epam.com>
 <e9dadd96aa5b64b9232e10a083ce393af620adde.1639472078.git.oleksii_moisieiev@epam.com>
 <51104b62-14a1-79b8-1184-4f4d8418a2f6@gmail.com>
 <20211217132304.GA4041869@EPUAKYIW015D>
 <04263b01-85a1-a6cf-9c36-a31629caef12@xen.org>
 <20211217135855.GA4072899@EPUAKYIW015D>
 <7924e699-5e70-6fdc-8633-6a15894d66db@xen.org>
 <20211220154127.GA1688861@EPUAKYIW015D>
 <7b0d3f0d-bdf1-ac59-0ef8-bb7ec2d802d8@xen.org>
 <20211224170243.GA1022822@EPUAKYIW015D>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20211224170243.GA1022822@EPUAKYIW015D>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 24/12/2021 17:02, Oleksii Moisieiev wrote:
> On Fri, Dec 24, 2021 at 03:42:42PM +0100, Julien Grall wrote:
>> On 20/12/2021 16:41, Oleksii Moisieiev wrote:
>>>>     2) What are the expected memory attribute for the regions?
>>>
>>> xen uses iommu_permit_access to pass agent page to the guest. So guest can access the page directly.
>>
>> I think you misunderstood my comment. Memory can be mapped with various type
>> (e.g. Device, Memory) and attribute (cacheable, non-cacheable...). What will
>> the firmware expect? What will the guest OS usually?
>>
>> The reason I am asking is the attributes have to matched to avoid any
>> coherency issues. At the moment, if you use XEN_DOMCTL_memory_mapping, Xen
>> will configure the stage-2 to use Device nGnRnE. As the result, the result
>> memory access will be Device nGnRnE which is very strict.
>>
> 
> Let me share with you the configuration example:
> scmi expects memory to be configured in the device-tree:
> 
> cpu_scp_shm: scp-shmem@0xXXXXXXX {
> 	compatible = "arm,scmi-shmem";
> 	reg = <0x0 0xXXXXXX 0x0 0x1000>;
> };
> 
> where XXXXXX address I allocate in alloc_magic_pages function.

The goal of alloc_magic_pages() is to allocate RAM. However, what you 
want is a guest physical address and then map a part of the shared page.

I can see two options here:
   1) Hardcode the SCMI region in the memory map
   2) Create a new region in the memory map that can be used for 
reserving memory for mapping.

We still have plenty of space in the guest memory map. So the former is 
probably going to be fine for now.

> Then I get paddr of the scmi channel for this domain and use
> XEN_DOMCTL_memory_mapping to map scmi channel address to gfn.
>  > Hope I wass able to answer your question.

What you provided me is how the guest OS will locate the shared memory. 
This still doesn't tell me which memory attribute will be used to map 
the page in Stage-1 (guest page-tables).

To find that out, you want to look at the driver and how the mapping is 
done. The Linux driver (drivers/firmware/arm_scmi) is using 
devm_ioremap() (see smc_chan_setup()).

Under the hood, the function devm_ioremap() is using PROT_DEVICE_nGnRE 
(arm64) which is one of the most restrictive memory attribute.

This means the firmware should be able to deal with the most restrictive 
attribute and therefore using XEN_DOMCTL_memory_mapping to map the 
shared page in stage-2 should be fine.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Jan 03 14:23:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 03 Jan 2022 14:23:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.252960.433907 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4OEr-00037F-Dx; Mon, 03 Jan 2022 14:23:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 252960.433907; Mon, 03 Jan 2022 14:23:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4OEr-000378-AD; Mon, 03 Jan 2022 14:23:05 +0000
Received: by outflank-mailman (input) for mailman id 252960;
 Mon, 03 Jan 2022 14:23:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1n4OEp-000372-Px
 for xen-devel@lists.xenproject.org; Mon, 03 Jan 2022 14:23:03 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1n4OEp-0000gE-FP; Mon, 03 Jan 2022 14:23:03 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=[192.168.24.212]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1n4OEp-0003j9-8y; Mon, 03 Jan 2022 14: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=QfRi4vva9gk70m7kElnoFjHkuuX5ColTd6kOEOoK7Jk=; b=sajPUzmyTunoP3pAFMYOL507nR
	qs7A197YwDEldlB/NN+N/wDV/jAWDHqSesUQf7C4uxvfCsap1LiVFSDtTQmNk6jcQUXRSxHcaCUXn
	v9d/gG0JWToJ4QZqkd3nvY85+pNaYP1P8SK+YruJWc4dvY2QBgsFigGBGrW0uvtydtfg=;
Message-ID: <d5e8a800-5a28-ce9e-cf2a-82894aae2149@xen.org>
Date: Mon, 3 Jan 2022 14:23:01 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.4.1
Subject: Re: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
To: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <alpine.DEB.2.22.394.2112201613210.2060010@ubuntu-linux-20-04-desktop>
 <20211221200305.GA2460476@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2112211310000.2060010@ubuntu-linux-20-04-desktop>
 <20211222110414.GA2883815@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2112221627190.2060010@ubuntu-linux-20-04-desktop>
 <20211223190637.GA99855@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2112231610270.2060010@ubuntu-linux-20-04-desktop>
 <437596a2-b375-fc79-a865-186f7eaf10a8@xen.org>
 <20211224135819.GA945512@EPUAKYIW015D>
 <4bb8ee4f-8e8b-5e85-0801-ae3df93dbabc@xen.org>
 <20211224164905.GA1016129@EPUAKYIW015D>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20211224164905.GA1016129@EPUAKYIW015D>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 24/12/2021 16:49, Oleksii Moisieiev wrote:
> On Fri, Dec 24, 2021 at 03:28:56PM +0100, Julien Grall wrote:
>> On 24/12/2021 14:59, Oleksii Moisieiev wrote:
>>> Hi Julien,
>>
>> Hello,
>>
>>> On Fri, Dec 24, 2021 at 02:29:13PM +0100, Julien Grall wrote:
>>>> Hi,
>>>>
>>>> On 24/12/2021 01:16, Stefano Stabellini wrote:
>>>>>> One more question: As you probably seen - Jan had a complains about SCI
>>>>>> term. He said SCI is ambiguous with ACPI's System
>>>>>> Control Interrupt.
>>>>>
>>>>> I see his point. As a term I see "SCMI" often and sometimes "SCPI" but
>>>>> "SCI" is the first time I saw it with this patch series.
>>>>>
>>>>>
>>>>>> I think of using SC (as System Control) instead. What do you think
>>>>>> about it?
>>>>>
>>>>> Yeah, I am not great at naming things but maybe "ARM_SCI"?  "SC" alone
>>>>> doesn't give me enough context to guess what it is.
>>>>
>>>> I might be missing some context. Why are naming everything SCI rather than
>>>> SMCI?
>>>
>>> Because we're expecting other interfaces and transport to be
>>> implemented, such as for example:
>>> scmi_mailbox, scpi_smc, scpi_mailbox, ti_sci_smc etc.
>>
>> Oh, now that explain why there is a layer of indirection in Xen. It wasn't
>> very clear from the cover letter why it was present.
>>
> Please see below.
>>>
>>>>
>>>>>
>>>>> Or we could broaden the scope and call it "firmware_interface"?
>>>> How would this be used? Will it be a list of interface that will be exposed
>>>> to the guest?
>>>>
>>>
>>> The idea is to set mediator type for each Domain, so for example Xen can
>>> use scmi_mailbox to communicate with SCP, Dom0 and DomD are also using
>>> scmi_mailbox, but DomU using scmi_smc mediator because we have only 3
>>> mailboxes in system. This is not implemented yet, right now, we are
>>> introducing only scmi_smc support. In future, multiple mediator support
>>> can be added to Xen.
>>
>> Ok. So will there be only one interface at the time for a given domain. Is
>> that correct?
>>
> Correct. The idea is that we provice only one interface to the Domain,
> so different domains can use different protocols and transport

I think this is similar to TEE mediator. Specifying in the guest 
configuration the TEE protocol (e.g. OP-TEE) allows to sanity check what 
the guest wants match the host. However, I am not convinced there is a 
need to expose different protocols for domains running on the same platform.

> Those
> interfaces can be different than the interface Xen uses to connect to SCP.

I can understand how this looks appealing. However, it may not always be 
possible to convert the guest protocol to the host protocol. And even if 
it is possible, it is increasing the complexity and risk.

> This allows us to vary the configuration.
> So for example:
> Let's take system, that support only 2 mailboxes and communication with
> SCP can use only mailboxes as transport. We intent to use scmi protocol
> to manage HW. In this case we use 2 mailboxes for Xen-> SCP
> communication, and for Dom0 -> Xen.
> Domu can be configured to use
> scmi_smc, so the communication should be the following:
> DomU --smc--> Xen -mailbox--> SCP Firmware.
> Let's say we want to add DomainX with OS XXX, which using yyy protocol
> with zzz transport. Then we can configure DomX wuth yyy_zzz mediator, so
> the communication will be the following:
> DomX --yyy--> Xen -mailbox--> SCP Firmware

I am a bit confused with your example here. From my understanding, I 
would say 'smc' is the transport. But in your example above, you suggest 
this is the protocol. What did I miss?

> Where Xen knows how to convert message from yyy protocol to scmi protocol

As I wrote above, when possible, converting protocol could be complex 
and risky. So do you have a concrete use case for that?

That said, changing the transport (e.g. smc <-> mailbox) would make more 
sense to me.

> 
> I considered the alternative way, when we can configure domain with
> several mediators, so each Domain can be configured to use, for example,
> scmi_smc for power-domains and scpi_smc for clocks and resets. But I
> don't see real use-cases for this configuration.

Do you mean a platform using both or exposing both to the guest?

> 
> What do you think about that?
So I am a bit unsure how "firmware_interface" would be specified. IMO, 
the user should only specificy which interface the guest will use (e.g. 
SCMI via SMC) even if the host end up to use a different transport (e.g. 
SCMI via mailbox). IOW, the option would not tell how to convert it.

Is it what you had in mind?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Jan 04 04:42:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 04:42:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.252989.433934 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4be5-0007i3-7Z; Tue, 04 Jan 2022 04:42:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 252989.433934; Tue, 04 Jan 2022 04: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 1n4be4-0007hb-Up; Tue, 04 Jan 2022 04:42:00 +0000
Received: by outflank-mailman (input) for mailman id 252989;
 Tue, 04 Jan 2022 04:41: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 1n4be2-0007hR-Pl; Tue, 04 Jan 2022 04:41: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 1n4be2-00021C-N6; Tue, 04 Jan 2022 04:41: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 1n4be2-00014S-Dx; Tue, 04 Jan 2022 04:41:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n4be2-00045P-DU; Tue, 04 Jan 2022 04:41:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=bSoXVvqVo1xgIOn2j+x942HUqW/v8i7gdEfaD3jLsZA=; b=4lNLECDyY+2pyHg7MQYmE4a6uP
	pxTBKq/6ZkWnb9XDjpGtkeE/rY6WklacF5iCsgbN6l5I5Sh5qbK9eQN5QENKaKoZKDVfD2u1RMsGz
	x+B2j3TfVkeseynDozR4jwfwCf1i+QJNr2ibB0S/TBJHo4pa7l9IQE7CV0uJlHhn2gmE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167596-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167596: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install: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-qcow2:saverestore-support-check: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: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-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-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-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-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2: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
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=b5a3d8bc9146ba22a25116cb748c97341bf99737
X-Osstest-Versions-That:
    qemuu=814a0505302d6af277557f10f88d3639eff7a547
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 04 Jan 2022 04:41:58 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail pass in 167599-retest

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

version targeted for testing:
 qemuu                b5a3d8bc9146ba22a25116cb748c97341bf99737
baseline version:
 qemuu                814a0505302d6af277557f10f88d3639eff7a547

Last test of basis   167579  2021-12-31 19:37:04 Z    3 days
Testing same since   167596  2022-01-03 21:38:20 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Helge Deller <deller@gmx.de>
  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            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                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   814a050530..b5a3d8bc91  b5a3d8bc9146ba22a25116cb748c97341bf99737 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Tue Jan 04 07:39:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 07:39:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.252999.433945 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4ePG-0006md-Mp; Tue, 04 Jan 2022 07:38:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 252999.433945; Tue, 04 Jan 2022 07:38:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4ePG-0006mW-JQ; Tue, 04 Jan 2022 07:38:54 +0000
Received: by outflank-mailman (input) for mailman id 252999;
 Tue, 04 Jan 2022 07:38: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 1n4ePF-0006mM-9h; Tue, 04 Jan 2022 07:38: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 1n4ePF-0005UG-1D; Tue, 04 Jan 2022 07:38: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 1n4ePE-0000SS-O3; Tue, 04 Jan 2022 07:38:52 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n4ePE-0007mK-Nc; Tue, 04 Jan 2022 07:38:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Sp8R2+1JgQpEsGO7+6otpp5np5+O1Dd55PZ5Uv+IK4s=; b=NaK5LT3146fnfsYByr2xcee+p+
	viwfSdVzbLqDg+kN+P9BCsf8SjcO/4iJF6Rthw9zayKYhNo1d9izn+Zko6FT3CA8UhHTGOdr3CCn9
	9aHHADVm80nM+7op8T6YcjT6lNSRLdQ+BEgACWhP9QEmga98x7eVbbyrdUOu0LMqMYLI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167600-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 167600: 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-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=d004171806f1364c8a0112e02329ff0c152fe5c8
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 04 Jan 2022 07:38:52 +0000

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

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-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

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

Last test of basis   151777  2020-07-10 04:19:19 Z  543 days
Failing since        151818  2020-07-11 04:18:52 Z  542 days  524 attempts
Testing same since   167600  2022-01-04 04:19:00 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Ani Sinha <ani@anisinha.ca>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  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>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.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>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  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>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  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 Chevsky <nchevsky@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>
  Or Ozeri <oro@il.ibm.com>
  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>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  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>
  Stefan Hajnoczi <stefanha@redhat.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>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.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>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Дамјан Георгиевски <gdamjan@gmail.com>

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


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Tue Jan 04 07:53:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 07:53:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253008.433956 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4edI-0000bw-1E; Tue, 04 Jan 2022 07:53:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253008.433956; Tue, 04 Jan 2022 07:53:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4edH-0000bp-To; Tue, 04 Jan 2022 07:53:23 +0000
Received: by outflank-mailman (input) for mailman id 253008;
 Tue, 04 Jan 2022 07:53:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+k5u=RU=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n4edG-0000bj-Me
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 07:53:22 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 62536066-6d33-11ec-81c0-a30af7de8005;
 Tue, 04 Jan 2022 08:53:21 +0100 (CET)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2107.outbound.protection.outlook.com [104.47.17.107]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-26-vAWdR8WKPzeVcY3prrcdng-1; Tue, 04 Jan 2022 08:53:19 +0100
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.4844.15; Tue, 4 Jan
 2022 07:53:16 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.016; Tue, 4 Jan 2022
 07:53:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 62536066-6d33-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641282800;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=DJ2VoCKV4bLugnlAWgwuLfO+9b75Eqzo5U0x4Xeu+TI=;
	b=hZmZanYtPlQhGphXt0oMdMUrtmC1e+YByU2eiOcwmQ9GapNG5PiQ+xNnVGMvnsj91A4TUp
	n+WGlM0jsGaMYYHV29WATUS6eQNgTNE1auriydqQIcKNWutwWYXWUd6BxSZ0dzNZtiAft3
	vEoTz8JgeWuLXzJU8w8BqSC/tIgWD+Y=
X-MC-Unique: vAWdR8WKPzeVcY3prrcdng-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CxdM1G/D6xVMyj3BIg7T2SLGvwoIqKiKbE5tpff679vhKBKehup6vhfqXIUfHZRwv48P06AJZA2Skw3MoMwCTMySCFrUbvQ0xUdEwmSWubSixA5uK9E3bWNdFeymHQga9lyJC0WM/4cTv47xGnyQ/e3NhroYK9voyOkKjE2ozm90ZyKRRlV3GsOU1+qhbHEybZb4uOBTtD7kSKNk+fcMGhNL4kS+V896eBY/qQru4yNVHXp9NrQvbse5p8hmQsSpcJybjKkC8WJLJZ/9t7Kdx45Y+or5u+i16OwcF56uYrO3x9ldw929nzIBLQ/nMEAiNHtR6apZiX98YdHXSg1mvQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DJ2VoCKV4bLugnlAWgwuLfO+9b75Eqzo5U0x4Xeu+TI=;
 b=jPaELyJs+QC+8cTPI2kp0aV636sAtGBQfg1Glo/uIvtR4AGYZinVZL0MUGGmk+7Vd17EGtJiBQmGqpKb7t6uce1Mnq7wWvNJs4nYLFH79o+NRxJismEkJri3wKk9GIlntjNGjO0NXnhUuoy78qtsBTnnx3BkBEnp4/4raej1QQlPt9Z6YMFaif5Yx7Zh4JXw/Hh6V9r89jsu6j3cjsez6rBlDLdccDlPgJwnWpN3mlj1u7MLMtmdM8SDEC9VfBqmaRAMQHoR9plzN1x6S79Qv44NLdEaaMh3RU+y6KDBMvXu3qZlb4OaPpeVJRHX+nXAqlHmbI3V6xVaqTNU8PzmkA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5fcd3250-03a5-aa91-ec8b-9a891958134d@suse.com>
Date: Tue, 4 Jan 2022 08:53:23 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Ping: [PATCH] libxl/PCI: defer backend wait upon attaching to PV
 guest
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Wei Liu <wl@xen.org>, Anthony Perard <anthony.perard@citrix.com>
Cc: Juergen Gross <jgross@suse.com>, Paul Durrant <paul@xen.org>,
 Stefano Stabellini <stefano@stabellini.net>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <5114ae87-bc0e-3d58-e16e-6d9d2fee0801@suse.com>
In-Reply-To: <5114ae87-bc0e-3d58-e16e-6d9d2fee0801@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR07CA0011.eurprd07.prod.outlook.com
 (2603:10a6:20b:46c::18) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 68135f7b-c4f2-4652-eb9e-08d9cf5743fa
X-MS-TrafficTypeDiagnostic: VI1PR0402MB2702:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB27029052E8F1E3B2BA3430B3B34A9@VI1PR0402MB2702.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:
	V63VU4JuXgZIFxrh6sOLK4isqH8gTAxPDgmfII4ZSILhgmNGe6hfl7Qwp8NzaeUcEp2xzQoEFFQo60HagdoM51Tvo+1gHS04Qkg6Xro+is3c6ZVahBrq/QSE9gK+zSPoTke4UASbZfLjXq/w/bbHKtcoE+wcWKu7w6VVAmK5MA2G3J56MpxipNCLh+D8pI2YVIB4JEPiQl1/09cX1Rn+R+lJk77362NLr4uLFTB8F/M1ryNkRyKVQmvr2YBs2IqluAbbUtXXXq9A6LrmmfxGTa8GkXfqT5yenKHUsLEeplagqtley+7FoGA83PAKG24OgzF+O2/97mqnVJs6fvuu0l60EdldIgxMYU310MZRZecufwJlWwtucw0n6oxGuw6UeP7ZvRPSb+Gp+UrSo7XlmtOnijlk+Ip6RfBvN13Px9D5I/Spbo58mk2jvX8+LVCp0jwrQsXedqiABE4nOucAS0lXq/ybdtMNbv+9BHfA9sh7i4PSW5knsVhRCbGsdQpHiLY96o36Lmb34vl5Sj71gUEYLGFKuTw5LMnm6gzrLcHdbev5UbSqXZCBclArTOHR9nAE2BgHOEwFEnRyG/ZKVYCqL6F3hhgUQfc5S3zTkfBsJiJ6mXVs4Yc+SpZsQYckZYpZ958PHwIgx+k4u7ROd9Bkx3Op2R9wyVbsOKn/3Wsd7Xc1c94n0lWVn5Xq0Wg5rWLI7cFP+8I4v6gI1r44z/j+tRjPF1bCmvP2T/mlBn8=
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)(36756003)(316002)(31696002)(110136005)(6506007)(6666004)(186003)(508600001)(26005)(54906003)(53546011)(2616005)(6512007)(31686004)(6486002)(8676002)(66946007)(38100700002)(2906002)(83380400001)(8936002)(66556008)(5660300002)(66476007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZTNBaTEzak41TDA3eWdWcnJoTk90cnJrZExHZHVqb2RPSlJyckN5d1FLYzBM?=
 =?utf-8?B?eWJkdldUcDU2OUs1ckgxTU5HaW8vNW5RTE1ZdkFrY3FsZ2J4bHcreDFLSzF2?=
 =?utf-8?B?RkF0aU4weVFWRGFRQld0dmlSVjIwNEtZaUhQZ2tiT01BVE1BMXFrZytGeURi?=
 =?utf-8?B?MVdJbTJKNkdiNWc1L0ZiSVBkOTE1K1JUV1Vid3FZSzVmWjRwMUhEalhSRmw3?=
 =?utf-8?B?Z0U0dnh6Wmo1NlZZRUJaV1R2ZW9nRU84N05CZ0lLdHo1QlZlYmRLbUlhanhm?=
 =?utf-8?B?c2I1a1VtSE03aDZmVkt6RkswMk9XYktTL04vNXdieTJ0UmZwMnFDTFRxcGpQ?=
 =?utf-8?B?MDl2djZzeVB6cFFGd3RNY2NjZmlXek9kdzZ3ck9FZENWTXJ3bCtUT09ZVlda?=
 =?utf-8?B?TGRPTzFlSllZNXhleWRZbHladW83NFljdHBza0VvSURPK0ExM05IWms4SmFX?=
 =?utf-8?B?cS9RM2Qvd212UjVldngrUXVqTDFOSDBuU1NLdFAwbXFUWS9DcVVWL3oweEty?=
 =?utf-8?B?MWRuenZYNkE2UUIrblErTlVEQ0lKdUZGekdvTkxPOVB3d0N6azA1U1FKSVFO?=
 =?utf-8?B?bE1wZnh3dUdGRzdOaVliUWJzKzZWN29IaG10MGpCVkR6eVh1MGhLakgrdGRJ?=
 =?utf-8?B?b0dBSDRHVUtBOWdCR3VGWVY3UUI0Z0R2SVIzRllHRlpoWmUyWmQ5QTVia3Zm?=
 =?utf-8?B?OFFSbCt3U24rczVaSE42ZkVFVTJYVkljT2JraGpUUkdPSHpQQTFjNEIwM2VB?=
 =?utf-8?B?aHB1cWsyTGM3UkZvQUhoREVldEVkTGczME9icVkxQm5kaW03WnlhUU1pczZK?=
 =?utf-8?B?b3BaK0NESnJZSGVGOUtXZ2hKallYcnpXYXRKVDJGWWViQVFsR1Z2MEJMZ3d3?=
 =?utf-8?B?dEJRYzlDMTFRVFpWV05ES2FESDZrVnVYemZMMGlXT3Y2RDU1VGd6ZUJjU3Nm?=
 =?utf-8?B?b3duSUhrSXdpK3dxWmMyUWYvQlVpaTFIUTZHbk56NE1CTnBvKzZxSnJpUVFE?=
 =?utf-8?B?djFGeExwUXdwV3o5SXY4UXVUMGprNW9KVEhOSlZaVTU3eDlMQmFXelhqN3Zj?=
 =?utf-8?B?WnN5YWJ3a3pQWTVNbmRtN1ZPVGhzUUVQcnNib3pvK3lUQVhoN0ZwdE95bzI0?=
 =?utf-8?B?NHY1YTJETzhBekVqVDdteXllTE9NeXoyUTFPUkpDZkpHaG5GV1ZxcGhHa2Vs?=
 =?utf-8?B?SWtKSDZyVmN5eW5SVWI3U2dXRWdVQmpxdFlCVGZNUDY2bmhZSStYb1VEd2Vs?=
 =?utf-8?B?c0pDcGxubnZHbUNya1l1eFJ1d2hFZjR6V1JBYmRLNmd2STNrTGNsMFpIdHB0?=
 =?utf-8?B?dVJUWEcyN1Nsbmg5ZmdwcG5NWDJNMWUycko2UXg0M2lKVm5aVFo4anZGWmlI?=
 =?utf-8?B?a3NoYlJ6d29PclV4L3lFRE9QLzdVRVh1Ukpna1BET3A0VFFpR2xnVzJXM285?=
 =?utf-8?B?SFdhQzZIbEcyQ2xHNHhSY0JtYnNmL0lJZUJ0U29aOUsvMk9scFNVNy8vOHlU?=
 =?utf-8?B?TnozaHU0bEJhSW9FcXl0ckQ3U0EvdSt3eHg2aEMrQTFqcU1VdzN0RVlEaXc0?=
 =?utf-8?B?YVpRdlQvWkJzZ2czNE1ZNmRHQTdBTHh5TUQyNEErWHJ3VUZESkpVRE5MaGx1?=
 =?utf-8?B?c3NmTlB0YmlxYXpvaDhURFpFVW5qODRMN1ptQ1JjUlFVa0duWGJuNzEzUk1v?=
 =?utf-8?B?NjhOZ2tKemJaUzh0SkxEcnJtZko0djB6ZURkV1pBY2tHT1NSRnk5eExMTnM0?=
 =?utf-8?B?d3g4VDVQSDNMdWVkQWE1b2dtMENZcGJvVzBMdW5xdHB2azhjVjhMTUZldUxW?=
 =?utf-8?B?dno2bERtdDh0NGlwakNmWjF5QVlVdW96Z3lyQ0g0UWtKWjVVY2Fha1c3cE9z?=
 =?utf-8?B?WWFESkphSHMyZktvZm1GQXl0ZGlEbXM1aEh3UGFTK3dONUZTKzlpWVdiN0hl?=
 =?utf-8?B?STFtejJacDU5YWV6STJTSGhsSG9yeTlUaW93Z3FYUHF6bWZLUWFhUEVIU3JB?=
 =?utf-8?B?ZldjcVpFRmpWMnkzTlZzczlyL1h1b2FMYVM2U3M2QjRORGhiVTlYMlRFbkVw?=
 =?utf-8?B?YVg0TE5Ya2VQK2ozbkI4d0NjV2lDMDZ3Z2lhTTBKVkUrcFJWZDNSRGRkbEls?=
 =?utf-8?B?bWpQWWMvd294MEJHcVFBRld4WkdOQXlmVHEyb1hPdFltT2pKOGNUaU1NTnB0?=
 =?utf-8?Q?sf0wWgagEnypJkdAenIXO68=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 68135f7b-c4f2-4652-eb9e-08d9cf5743fa
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2022 07:53:16.2356
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jR2Vp/hNnYk8//0SU3Fy2K2lUmXB2U9SlI3lyO9OuFChdvYOigcKq6neVevp+x/znzlux6eUiarq+6OMiWVbTA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB2702

On 14.12.2021 08:49, Jan Beulich wrote:
> Attempting to wait when the backend hasn't been created yet can't work:
> the function will complain "Backend ... does not exist". Move the
> waiting past the creation of the backend (and that of other related
> nodes), hoping that there are no other dependencies that would now be
> broken.
> 
> Fixes: 0fdb48ffe7a1 ("libxl: Make sure devices added by pci-attach are reflected in the config")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> Just to make it explicit: I have no idea why the waiting is needed in
> the first place. It's been there from the very introduction of PCI
> passthrough support (commit b0a1af61678b). I therefore can't exclude
> that an even better fix would be to simply omit the 2nd hunk here.

Anyone, be it an ack or an alternative?

Jan

> --- a/tools/libs/light/libxl_pci.c
> +++ b/tools/libs/light/libxl_pci.c
> @@ -157,11 +157,6 @@ static int libxl__device_pci_add_xenstor
>      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)
> -            return ERROR_FAIL;
> -    }
> -
>      back = flexarray_make(gc, 16, 1);
>  
>      LOGD(DEBUG, domid, "Adding new pci device to xenstore");
> @@ -213,6 +208,9 @@ static int libxl__device_pci_add_xenstor
>          if (rc < 0) goto out;
>      }
>  
> +    if (!starting && domtype == LIBXL_DOMAIN_TYPE_PV)
> +        rc = libxl__wait_for_backend(gc, be_path, GCSPRINTF("%d", XenbusStateConnected));
> +
>  out:
>      libxl__xs_transaction_abort(gc, &t);
>      if (lock) libxl__unlock_file(lock);
> 
> 



From xen-devel-bounces@lists.xenproject.org Tue Jan 04 07:57:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 07:57:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253013.433967 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4egm-0001F9-HB; Tue, 04 Jan 2022 07:57:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253013.433967; Tue, 04 Jan 2022 07:57:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4egm-0001F2-EA; Tue, 04 Jan 2022 07:57:00 +0000
Received: by outflank-mailman (input) for mailman id 253013;
 Tue, 04 Jan 2022 07:56:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+k5u=RU=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n4egk-0001Ew-Sk
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 07:56:58 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e3070510-6d33-11ec-9ce5-af14b9085ebd;
 Tue, 04 Jan 2022 08:56:57 +0100 (CET)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2059.outbound.protection.outlook.com [104.47.14.59]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-32-0BDDwKrrMOm2trhkW-gozA-1; Tue, 04 Jan 2022 08:56:54 +0100
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.4844.15; Tue, 4 Jan
 2022 07:56:53 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.016; Tue, 4 Jan 2022
 07:56:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e3070510-6d33-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641283016;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=gBoCkLs6qT/O0mEpPW0e3+Vzozj5VqtrgYJqvQ18RvI=;
	b=MnB1TGFQKO76rRn2nyNK5xRnpkG+zh5YvtS854xifJ0f20V7By4eJh7t9DdDM57sPLEeyQ
	vyRNy1EZemED9ktbEcbFQwaollWA0KNRnhN66q53Ghd1KjGqQhjhyMWnw84w38xIN+zE/w
	qv04sIh1N4VMWUtpK5Fexde0023Blio=
X-MC-Unique: 0BDDwKrrMOm2trhkW-gozA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CUvJteDawxVvKZHJwzmH7u4LPMXYukLNCjzs/K3EATy+qnI3rBCMB7QmhoM9jWU7uFIqQFZrVHm4sD5cxMc42TErgwvorBwNrVshdZGOIOEOBgAdU/RnBJ7V9m7RtZA2eCbgO74wLEpLxjzZsaQGFSI3fdh7040tytLCQ880PZJyYTZTDzcehCXdarlM1oroEV5DOFY1kGdPLqE35GWh4pUkopBbWriquqzOHOvXALzMLYDFe4mWEKs1cHFRVh8QWRtwgljG3H40vQXeXvzyl2VwCQcDDKkaC9RiTR1oQY9gcjo35dblDcIEJLQmP9JlNeAkM1pMcZKDK5VitTZ8xg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gBoCkLs6qT/O0mEpPW0e3+Vzozj5VqtrgYJqvQ18RvI=;
 b=XM6qS4Qf0I/NXzpPInakyvjgKemOYbfjXLbfl2ukD/cmuHFc6ozWnEQJwpE9h6p/99HrCYgH/hZxZGDuRmSJt7dekM0B6+osJpOZ7LFTpntIegUmn07mDFtk9eKF8YGMyTSu7l8W8+hcm1sHnBDlNVue4ZT04gcL+GV3nC2MVqA2G1O4ru7c5d2rfar3w0d5H7aUuygE5GIk6lqHUqTJAV16GNyQt0dvpskVW+3oiUdIJNvMfF0d0aym9hUx/IOEesA3eDhVuY96qTFkzhYxVt1bnJ7gtcDv+e9T25gUdYCUVJXPu24LdEwotPlFa8QxwWewjF63t3CK5uHUxpppYA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e9e984f3-fc98-9179-1958-0330c828fbda@suse.com>
Date: Tue, 4 Jan 2022 08:57:01 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH] SUPPORT.md, MAINTAINERS: De-support qemu-xen-traditional
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org, Ian Jackson <iwj@xenproject.org>
References: <20211209142640.24437-1-iwj@xenproject.org>
 <4ed5073e-8083-ac72-6477-676eaf2e2eb8@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <4ed5073e-8083-ac72-6477-676eaf2e2eb8@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0286.eurprd06.prod.outlook.com
 (2603:10a6:20b:45a::32) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f0b0bbd4-74ab-46c9-e9f3-08d9cf57c5c4
X-MS-TrafficTypeDiagnostic: VI1PR04MB7039:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB7039DF19B39DA12B782E2087B34A9@VI1PR04MB7039.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:
	M31BrMxcgU8WYtrWDR+A7AkYKLNPu45px8TRfnOJluCHhrl7UaDdvBvxQNexfFqHk/X602ce3/Xjai89MR3jHWZR/b5HpDUJTGFZwwtywJJqPLVQFy7qQmFwVeD0wcHf3mmnlXVLti1tEPxgiVetjPHA+xOEUx7OHnKxj4RNiJJ4EgRhQmLx0YocszqK3uKEl0sceND6/4sdI3H1iBLyLUTIEYbRujCF4yr4vMk9EKwahFq3Xln1ZJYTYIDqRTeCH3/D9EwYBEhOmaJt0ghWzB/MzpXjDaOZHGV2TJg0DU1cWFDSmJP4OOqXE9ORKRlnqL2l0ZsTEPk9YO6OL4rA5DUGHp4Mo5hB4Gbgknoigj6CkSOGGLmCQS6C+OfGCQnr5JMK7K9KpsXEffeM1XKwdh8BDjgfnGN/JYpbCMe0OWPwpMr//T2r3SpWVE6eP1qm515UVf1hULBiQoHiU/ZzmcE3ZsjLnL3gICSdPAsH35V4OyPYQgK+Jt3IIq3E5eHq121z7jthVJK/JpZydjImrojo8MWu2fDY1YZ6LrmhP41wE8fuR4ExCNXTCSWxQSWjUHhX9naF4spn/tdQnm3sRP3voxVkhREzQVdooxOf0HrwPKdmWJSZEMpGfg2d/y7TFLa+t2Si6IpJr51H0+9KCG/RySLBUTEIzbdokVZOUUiKMPHRUroCkGgX6d1x3M5Tgkx0oTkCdalTLKK1LDNjCzzZrqWeP2POgZWIplZRHHUXeghz3IAJWxLsKOWX6gQ8cm7K8YFXLsgLjX1tGsW8recyChvI0BvbvyvW//VpPLB+6mS3It9nHbXgcjA5j98m3Z2aRdMdhldOk4AWbujwhw==
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)(966005)(36756003)(31696002)(2616005)(54906003)(316002)(186003)(6512007)(26005)(6666004)(66946007)(83380400001)(4326008)(508600001)(66476007)(6506007)(8936002)(38100700002)(6916009)(86362001)(5660300002)(8676002)(2906002)(6486002)(31686004)(53546011)(66556008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aUN0Si9YMENGT3RoS2xDbnNCZTdaKzBJKzhyOHFFdDdmM09Yd01GdlV4SzZx?=
 =?utf-8?B?M1ZhZURQU3lxZ0JGb0RIYkZDemdqanQyRk9PS0tDU1J3UWwzeTMxN1BPZ0Nl?=
 =?utf-8?B?NDBtZk1TYnZ1elFPYkU4N3JDVWpRRzVGU210MDk2QXpMRkpMTkIrZGdOVlp4?=
 =?utf-8?B?N2NuRnBNRFRBTEVCb0taOEV6TzVPWW1FZk85MTRhdnVOZlhBckMxbHVCUW9h?=
 =?utf-8?B?L0d3SmlSdGI3U3UyVzRHNHFLNU1ITVF1Q0VESEhIczdLNmVqYngxUVpwSHZa?=
 =?utf-8?B?YWx0SDFzYTdRTmdRczNyU3MxYXZpREJBOTBlZ3F1SHR4ZjM4QklMdmxDY2VY?=
 =?utf-8?B?THhQUWs3Vk00MWRub1FQV01MMkYvVk5ZaHFQZVhlclZrb0M3WDVVbkx5aWxX?=
 =?utf-8?B?ZEhuVEdGZ2dnaXVmWUwvdHlHWHRFek5NemhYT21FY2F3QlZZT1F4ZWNKVVUv?=
 =?utf-8?B?V1haUnd1WUtwQndLa05IaThORHJZdm5BYWNBaSs1eVdjQnZ1WEdMbGEvWGJO?=
 =?utf-8?B?QUZBTWU5SG45V1RlakhYV1YzajZUVWlVbUVaeVB4dlN3TlBDT0gxb2xxYytL?=
 =?utf-8?B?czlWNGpNcUNRTEdhY0pRTkxEeGI0cTA3YTNNWm1YVjJYbUlZNnlFaXY1MlY3?=
 =?utf-8?B?NlFXT1FEQXlOOU0ybHQxQ2ZOQVZ5RjRiQ1M3ckc1aC9RZEpOR0tuYUZpS2M3?=
 =?utf-8?B?bm1zR08rdEpycGx0eUdmTGJxRzdERVUzY2hmNk5senZ5OTIyYWJWakRsUHZh?=
 =?utf-8?B?bnFaanpOYW5wV1hYYklZSldoVmZBTzF0UVNIeXhCd1Y2K2FtVFcvSXJEOEIw?=
 =?utf-8?B?WHVKTWF2L3FMbUd0S1BkM043OFNVc1d5OStCanp4QlZNQXBMaFlGUytsSVZ6?=
 =?utf-8?B?aEJSNjdnL0RLS0M3aktLemVPYU1mLzYzZ1BSWC8xUHA4VEt1YStQNldXbkJ6?=
 =?utf-8?B?aEJTaWlERUtFTHRLWDRmNC9hUm5kTU1iVHMrdzcrdGRPVnVQZWUyMGZoZkRP?=
 =?utf-8?B?NmRLTWxwRnM1UnhPdGhUYUNGcDdRZldpK0w2VWhLQ3FGN0VoQTN3bjJQejFV?=
 =?utf-8?B?aDFEenN2aUhkOHdCM2U3aWxMdXBFbXUvNWl1anQvY3BWV2o3eEpKZkJsWWhi?=
 =?utf-8?B?RzJET1hHaHdHWHJZR2FxaHJDblpvMWlESElKUXhUK201QXhML29ycHcxUVFl?=
 =?utf-8?B?aUliYkZpRm13bXZRWWFpK2N1SU40bTJML25nZ3c0S2FxdDFVMUN4MnlNN00y?=
 =?utf-8?B?djQyNVFUNGdyVS9HWW5xd3k3MWs0YkdnMkFNaU9SV0ZDS2pTMWRpMHRYclRm?=
 =?utf-8?B?YzhERkpaaGZYOTMyRkVVdVp4cnNwYStVVlFCU3NDV05xaXJlMldBdk9XSFQ5?=
 =?utf-8?B?ZEF5cHZ5V3d6TjB0dzJPVzZpUHMxV2VTdzhNeHZWVGl3UHZDUHZEZEo0ZFQw?=
 =?utf-8?B?S3lqNSszaUdGTTZ0L2hCb1NBbHJDekQzdHVqMnJsQW5sVXhDTThOTnF6WlVj?=
 =?utf-8?B?WUEvZUE2blZ4UTVNMlVsWWQ2OHozdGlNZDQrV2h4alFzbkd4V2pMUS9CeHdw?=
 =?utf-8?B?RWJnYnRHa2htaXQzUUg0ZFR1QndsQUF0Yk1SQ1hkZTdxU3ZlTDlqU1dKRDE5?=
 =?utf-8?B?ZWtmekR1RG9SblJIaXZYVkN0Vy9IanIrTmVhZnBtZ0lHZ2xVL0dQNXVFOVRJ?=
 =?utf-8?B?WlhMNzVldGtzMXRVd0dzUmYvcGNhRG96WmlEa2F1TkFuc1VWTTlhcW1YSlA1?=
 =?utf-8?B?Z0Rsak9zSzlXNUIyQ2JvWVBjM05DdDVQT3B0dFZmc1pyK21PYWtCN3pxOUxO?=
 =?utf-8?B?L2NpYkZ1N084eHd5dEFQVTgrOStneklSUnJlUGZRQzdmTFR6bHRRb1lvcHVO?=
 =?utf-8?B?L0lyRSsxUzFzZENwT3ZmTmlNWG40b0pwcko0M055aXFFck1iVFF3aERxYzgr?=
 =?utf-8?B?YUdzSFNQcVVPemQxQnZzOEt4aHBRUlB3Njc4TVA5bzF0WDJ3M1ZCbHAzZ0kx?=
 =?utf-8?B?QzRERkFzbHF0VnprcFdvdzJyU1BJWWpvUDdHN1NqbEs5MnBiVjZOTkgzWkhN?=
 =?utf-8?B?UXJ2OHFGZ3dMUU1IeHpMRjZLL1ZqV3RGMkZ3OGhMeWVEcVg3YVhpUG02YUdN?=
 =?utf-8?B?TWZSRnIyeW1vcjBlbk5Bblg1QXFMWi9zWEtRaGZucUdQNUhsRi9vVElySldQ?=
 =?utf-8?Q?0qJqLdINIn4nWqJhFrLmoyk=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f0b0bbd4-74ab-46c9-e9f3-08d9cf57c5c4
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2022 07:56:53.8215
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wVdtrrjkIUPdFi13StsBlYkw6E51S9h8QiXqHTd+jvMx4SvhJ2gv+Sg9pDZrtHfWAFR/hc8h+O/frMArSCzmoQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7039

On 14.12.2021 20:19, Julien Grall wrote:
> On 09/12/2021 14:26, Ian Jackson wrote:
>> In 4.16 we changed to not build this by default.  I think it is now
>> time to explicitly desupport it, completely, in favour of Linux dm
>> stub domains.
>>
>> Signed-off-by: Ian Jackson <iwj@xenproject.org>
>> ---
>>   MAINTAINERS |  2 +-
>>   SUPPORT.md  | 18 +++++++++---------
>>   2 files changed, 10 insertions(+), 10 deletions(-)
>>
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index e43dc0edce..933579541f 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -455,7 +455,7 @@ S:	Supported
>>   F:	tools/python
>>   
>>   QEMU-DM
>> -S:	Supported
>> +S:	Obsolete
>>   T:	git https://xenbits.xenproject.org/git-http/qemu-xen-traditional.git
>>   
>>   QEMU UPSTREAM
>> diff --git a/SUPPORT.md b/SUPPORT.md
>> index 3a34933c89..b64ebee93b 100644
>> --- a/SUPPORT.md
>> +++ b/SUPPORT.md
>> @@ -802,17 +802,17 @@ See the section **Blkback** for image formats supported by QEMU.
>>   ### qemu-xen-traditional ###
>>   
>>   The Xen Project provides an old version of qemu with modifications
>> -which enable use as a device model stub domain.  The old version is
>> -normally selected by default only in a stub dm configuration, but it
>> -can be requested explicitly in other configurations, for example in
>> -`xl` with `device_model_version="QEMU_XEN_TRADITIONAL"`.
>> +which enable use as a device model stub domain.  This old version is
>> +not built by default.  Even if it is build, it is normally selected by
>> +default only in a stub dm configuration, but it can be requested
>> +explicitly in other configurations, for example in `xl` with
>> +`device_model_version="QEMU_XEN_TRADITIONAL"`.
>>   
>> -    Status, Device Model Stub Domains: Supported, with caveats
>> -    Status, as host process device model: No security support, not recommended
>> +When device model stub domains are desired for the additional
>> +security, we recommend using a device model stub domain consisting of
>> +a modern qemu and a Linux kernel.
> 
> Looking at SUPPORT.md, we have:
> 
> ### Linux device model stubdomains
> 
> Support for running qemu-xen device model in a linux stubdomain.
> 
>      Status: Tech Preview
> 
> Is it still accurate? If yes, I am not sure we can recommend user to 
> switch to Linux stubdomain until this is fully supported.

FWIW I agree that this needs updating at the same time or in a prereq
change. I guess it'll need to be someone other than Ian now to pick
up and progress this patch, though.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 04 08:18:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 08:18:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253026.433978 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4f1h-0004Br-Qd; Tue, 04 Jan 2022 08:18:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253026.433978; Tue, 04 Jan 2022 08: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 1n4f1h-0004Bk-Nf; Tue, 04 Jan 2022 08:18:37 +0000
Received: by outflank-mailman (input) for mailman id 253026;
 Tue, 04 Jan 2022 08:18:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BGw/=RU=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1n4f1g-0004Be-Kp
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 08:18:36 +0000
Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com
 [2a00:1450:4864:20::32c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e8de3217-6d36-11ec-9ce5-af14b9085ebd;
 Tue, 04 Jan 2022 09:18:35 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id o30so20179153wms.4
 for <xen-devel@lists.xenproject.org>; Tue, 04 Jan 2022 00:18:34 -0800 (PST)
Received: from [192.168.26.12] (54-240-197-234.amazon.com. [54.240.197.234])
 by smtp.gmail.com with ESMTPSA id m17sm41615338wms.25.2022.01.04.00.18.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 04 Jan 2022 00:18:33 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e8de3217-6d36-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=message-id:date:mime-version:user-agent:reply-to:subject
         :content-language:to:cc:references:from:in-reply-to
         :content-transfer-encoding;
        bh=lbXqZVNJvY5+kdPmrg3YYJtBkJnqT/DS0rv5v+un5OU=;
        b=iSzzEfXjnRxWfOz1EL4Ye/iW9Gg0emidMI9GL+af+FHIAC6GBtwgvkfkeQzGYgpgVX
         jpiy9LAkHRyo/X4gsNnc7pGwD3En6XxvgHRlkpdcVGcxpaKg4XBitB3lPjsc5Uv7LtaE
         NecQAdR8mxfkay5ScWRy60o+XyXdS6Z3vK5CwxjQjlYJyWcRlK1oqqsc6LGqn7Ax5gTK
         ZPSumm96FwwAcU3ntw73fxSouAQXA2Ihk/YmWOA14zBILVPe4lQTnWxyjyO0uI+CzJoX
         vVx9DeNZ3V+6uhw+gj/ffangdaA0tqtSliYHVYEF8DFI7osIRsxsJR96mj7b0IMQrUFK
         7QGw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:message-id:date:mime-version:user-agent:reply-to
         :subject:content-language:to:cc:references:from:in-reply-to
         :content-transfer-encoding;
        bh=lbXqZVNJvY5+kdPmrg3YYJtBkJnqT/DS0rv5v+un5OU=;
        b=2f3O2AnQatirRO4cIG2vGlHMkTabSQ9JIdfw8m7jl5ghgc2RO/JHBsGVEtkKbRIBBj
         zp4Cs7jmH6b2zTslJJ9lZod5CeTuRG7vBAf08lDH3vFkWQYMV1caXh9AILVaB2mxfAFi
         pLyMxpCitHZq/s742ReinrZKMW1Sfp5VNGLh4frk+rWTLZi1HDwQuWuCePDn8EgWFvpz
         kqB2hd27z8oGW5gjJOyZP1jiojrOL4TYa0hfsJ/9c2Okz4jJPNK3M60/yCthkn1e26F4
         CuHearQ+V95hbvHtbgau8/tm64z2p1m8tb9HOl/PHRoPyQupuqyuQILqsZ7pi5Ho5bA4
         j5PQ==
X-Gm-Message-State: AOAM5307EiLicTasq/lhMJpmHKOfNcSOBOdftQe3eB1DztnNLrkeQ2Kw
	04K5kJBbNflCoI/ttS9wR6Y=
X-Google-Smtp-Source: ABdhPJy5/c6Qoz7DWoPIiBm0B+s3BMmRhhgB2IGPEXe60XakRIQJaCYhjgFDANVsCPYUIEojQ80+rg==
X-Received: by 2002:a05:600c:384f:: with SMTP id s15mr42391165wmr.179.1641284314091;
        Tue, 04 Jan 2022 00:18:34 -0800 (PST)
Message-ID: <eac0e202-2567-548d-1574-b8f231990cae@gmail.com>
Date: Tue, 4 Jan 2022 08:18:32 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Reply-To: paul@xen.org
Subject: Re: Ping: [PATCH] libxl/PCI: defer backend wait upon attaching to PV
 guest
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>,
 Anthony Perard <anthony.perard@citrix.com>
Cc: Juergen Gross <jgross@suse.com>, Paul Durrant <paul@xen.org>,
 Stefano Stabellini <stefano@stabellini.net>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <5114ae87-bc0e-3d58-e16e-6d9d2fee0801@suse.com>
 <5fcd3250-03a5-aa91-ec8b-9a891958134d@suse.com>
From: "Durrant, Paul" <xadimgnik@gmail.com>
In-Reply-To: <5fcd3250-03a5-aa91-ec8b-9a891958134d@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 04/01/2022 07:53, Jan Beulich wrote:
> On 14.12.2021 08:49, Jan Beulich wrote:
>> Attempting to wait when the backend hasn't been created yet can't work:
>> the function will complain "Backend ... does not exist". Move the
>> waiting past the creation of the backend (and that of other related
>> nodes), hoping that there are no other dependencies that would now be
>> broken.
>>
>> Fixes: 0fdb48ffe7a1 ("libxl: Make sure devices added by pci-attach are reflected in the config")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> Just to make it explicit: I have no idea why the waiting is needed in
>> the first place. It's been there from the very introduction of PCI
>> passthrough support (commit b0a1af61678b). I therefore can't exclude
>> that an even better fix would be to simply omit the 2nd hunk here.
> 
> Anyone, be it an ack or an alternative?
> 

You can add my R-b FWIW, but of course I am not a maintainer.

   Paul

> Jan
> 
>> --- a/tools/libs/light/libxl_pci.c
>> +++ b/tools/libs/light/libxl_pci.c
>> @@ -157,11 +157,6 @@ static int libxl__device_pci_add_xenstor
>>       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)
>> -            return ERROR_FAIL;
>> -    }
>> -
>>       back = flexarray_make(gc, 16, 1);
>>   
>>       LOGD(DEBUG, domid, "Adding new pci device to xenstore");
>> @@ -213,6 +208,9 @@ static int libxl__device_pci_add_xenstor
>>           if (rc < 0) goto out;
>>       }
>>   
>> +    if (!starting && domtype == LIBXL_DOMAIN_TYPE_PV)
>> +        rc = libxl__wait_for_backend(gc, be_path, GCSPRINTF("%d", XenbusStateConnected));
>> +
>>   out:
>>       libxl__xs_transaction_abort(gc, &t);
>>       if (lock) libxl__unlock_file(lock);
>>
>>
> 



From xen-devel-bounces@lists.xenproject.org Tue Jan 04 08:32:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 08:32:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253031.433988 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4fEV-0006Q4-0c; Tue, 04 Jan 2022 08:31:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253031.433988; Tue, 04 Jan 2022 08: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 1n4fEU-0006Px-Tm; Tue, 04 Jan 2022 08:31:50 +0000
Received: by outflank-mailman (input) for mailman id 253031;
 Tue, 04 Jan 2022 08:31:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+k5u=RU=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n4fET-0006Pr-VG
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 08:31:49 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c21e746c-6d38-11ec-81c0-a30af7de8005;
 Tue, 04 Jan 2022 09:31:48 +0100 (CET)
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur02lp2051.outbound.protection.outlook.com [104.47.5.51]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-39-TEf8alQgM6ee0GIhZm1-Vw-1; Tue, 04 Jan 2022 09:31:47 +0100
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.4844.15; Tue, 4 Jan
 2022 08:31:45 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.016; Tue, 4 Jan 2022
 08:31:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c21e746c-6d38-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641285108;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=C2Hs7vGS8M62r1tacuWdnx0iqLb/qJoiJOWB9d0VRTo=;
	b=LAs9UOulBKF8fWgGPGn0abRlx8f7HS+cFulpYyyUUnzKSSsvq3Smm+kRBBT/VKUkCsLUa0
	VHN/Am7kmVYG6cttFaar8wPz3+AB4FOG54CrfFtfn1VG5udEzJpLCIkM4vKih4uW1RZoEI
	/hw57tiXQNC4kBdZulOI41LVn8HPikw=
X-MC-Unique: TEf8alQgM6ee0GIhZm1-Vw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Bndv9oHvzPondHhyACNy5gt7B1JdCiayip94jKNmdT8T/sn66of4XT1xu0FxyeugtRvhEm6VemsKGQxFaACGtnlAuVyy0UtEFyHgJG3dZZUWVArod7qtmhd89D8OM/i5JLV0ii2YCNC5+V14b0EWPOhOtnea+oDePV17KGScb1ww/+5jgBBawxzMSLmF/rOvXNtuVoz1a8/Tl22zxbesXyD98IVPyMTUq8JEb4rXPSQ7f6FBkqg/PkFrOiDEnSX1rdjUmoTR8DqFGXaXUrzIgDSpRQdy/+IYndCY8quHL2iJKTseJF3GCBjhm0BVAPNtzhgV0vOGvlFj7aeIqR/SEQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=C2Hs7vGS8M62r1tacuWdnx0iqLb/qJoiJOWB9d0VRTo=;
 b=gaY5vyCOBg3t2c+I2+QERYSicQC1bAdqRPVID+1MOEsgqFFNUnF1pbJNF9uyMbJUFd/ul+U2cl8HF3xmb2Ms3XGg2+PZB/w9nGTjvc7PbjzHn39DLy0zTSX9d254gZ+SU+otOQtV+FH98nUBpdPRf7GvugbquYYtW3Cjn+LmnEtrEMkYRoB71an9TWBe22YrKO4Mzj4pLqzkREVub0ktSbqvb0fNInFiabHHOUqTzZtWMdgQsSXSrDyczVwiryeRsItJt65RKOLp1j6ZRr010kKP5fu7nPq94lphbF+mbvio+/IMkx/CGJuQs8a29Yex4QwsXy+Q3Ivmdp89iNzRfw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <88222883-8e69-18be-0c88-7eccccccc191@suse.com>
Date: Tue, 4 Jan 2022 09:31:51 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH V4] xen/gnttab: Store frame GFN in struct page_info on Arm
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.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>, Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org,
 Oleksandr <olekstysh@gmail.com>
References: <1638563610-4419-1-git-send-email-olekstysh@gmail.com>
 <ebfaf88c-38a8-638c-298e-a92e5827baf1@suse.com>
 <6f4813ce-5d23-2192-fabc-e933241cf30e@gmail.com>
 <c1c043b1-bffd-f758-f7b0-fd08539550a5@suse.com>
 <f8ac8922-0695-7666-8585-92a089164e44@xen.org>
 <57616176-938b-2125-fe34-4fadf2b4f816@suse.com>
 <74a0ca4a-b091-77e6-ddb4-490d2a0a0f4b@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <74a0ca4a-b091-77e6-ddb4-490d2a0a0f4b@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR05CA0036.eurprd05.prod.outlook.com
 (2603:10a6:20b:489::20) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f1a12e4d-0848-45d9-b647-08d9cf5ca430
X-MS-TrafficTypeDiagnostic: VE1PR04MB6381:EE_
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB6381000F74451E90DBAB7247B34A9@VE1PR04MB6381.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:
	zu35MeT7Z6NT2aVAgbwZj818l/ghBCbnTjpiUU4yrfsR8nttrJkfTzZCAaUAsb3dlclPgNKpHVLbp6auptoFE4whsV1Y9xjFl5UdDT9GT/GAtFNyXtS5IYaodWcBWZg98GoFZ6ThWRh2fMQiw9qpD5s5RGkC71LlYC5huL46NI+6HzjebHKmXUElerUfBW11UWLupccAB/KQ1QKCwaKE7UkU5V77ndJMWKAIcdhiMKgeqjlFMqlY7qOI2FmHHViJlWMMWjGQy5de0chbSDqFFTmXjgV2prqM9bwZjYXZjv7ZN42z6npQovRg+Xd4Sbf+ry1gKP4G9GpMtLQg3fP6b78GrwSEiVBY6O82tOgcUyPmZo+mIqsz8bD0nHlEV9OS2dSAlLJ5gM0SlmOsIiAR2+JPvJJwRBkDlfdUCsXGFF90DRTj3eKa/GAmeKIy22BNbPqC7Ll8Oe04soOgnA00e1WfxgKPXgC4Bhdh7m8xskLtuqMbfq4ISYX/NLLMYt7wv+cpmM2qk2f8qF+5q/32BDHl1LHow5wzfPqg68dnOr1/CNkYWAhM8Mvv5oZ/6vURXNSAQsSDAUVsIkJdTAOY+dBesunX2RBCN3+EedApfDe1mSSfpeZKHaOeGirnUPfLk7h7OdGUzN3aNcolpDFaiGnpkpesTlB+8vtGl6XniM4136ajwpMmU6p5wiNURNmbmZKxeAbT+IQCXdAKU3fJSDRSyLwX2jugLyfyecx4yfM=
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)(36756003)(54906003)(53546011)(2616005)(6916009)(186003)(8676002)(6506007)(4326008)(38100700002)(66556008)(66476007)(66946007)(6486002)(6512007)(2906002)(31686004)(316002)(5660300002)(7416002)(508600001)(83380400001)(6666004)(86362001)(8936002)(31696002)(26005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NkFqME03eDI3dVlJNGhUcU10ZkJXR0cxYllTNVc5b0tNR3J6UWt4dTEwWUQ2?=
 =?utf-8?B?dXdNRnBLcGJ0TFdZZ3ZqM0tTWTY2UENWZ05zaTFBSnFzaWVrcUI5cDlLbG9Y?=
 =?utf-8?B?elVhdDFFVytCYzIwL1J4L3EzK2JMNzl0SGVaT0V3N2dkVm8vQ3FNVXZocTFt?=
 =?utf-8?B?SS9jZWZpT1h6RkdpLzVPZmlYSjlPRjdDVjZ6WHQxSXBFSXlCZmVyRzNqUlYw?=
 =?utf-8?B?MFdCc05PaHRXTnJSNW12aDVpSEZwSThEYjlDTUhOZXd0Mm8xb3BvaEJTRjQ1?=
 =?utf-8?B?LzFZbGhmTzQ2N0t6WEZMT2tDUHE1dktUMGJRMzFSUXV3YWhlMlEyeEVwcDJp?=
 =?utf-8?B?NGN1OW12QjUrRnZkdG1LdXJySHpKdTZvTEgvVXZMUmJEa0RCdmhOcENtTkpM?=
 =?utf-8?B?a1hRR28zTXVuc0JxMEFieGdEaU0rRE4zNGlpaitPSnNramtMRmg5MGtiL3hq?=
 =?utf-8?B?QWRWMmM3eDlyRjgxbzI3ajBQVDdGV1FieGZ3WEswWEtkdm1hSlVPb0IyRGhD?=
 =?utf-8?B?K29xaXJXYWpCTGlsN3MrS2V0aytuMkZDd0FtOHZmZWlQUDFodDNYU3Z1Y09Q?=
 =?utf-8?B?cUhFZ1UvTGdyb21rc1VyMGo5MmY1NUVaWmhaclBkRjMrNmRBOTNnTXphbmZD?=
 =?utf-8?B?Vjhqa0M2QzFNMlJpWHFZWk91dHBlTFpwZ2U0V1hqNFpXVHZsbGYrVGNYbFk4?=
 =?utf-8?B?WG1UMGV1eERpTHJFdjMvRk9KVTRDcGlidS92UjI1Yzc5cEt3akl2MUZzeXEr?=
 =?utf-8?B?Tm9lV0V2b2dQL2pycVlLK05tWWw0c1VOeVFsQU1JWTdMcEZZN0RHMzVxMmVl?=
 =?utf-8?B?RjBFbGpsMjJ5aWlWRmIzMVUzdFpES2lZYmQzNHY2UjVRdFdscVg0dWR4NFNV?=
 =?utf-8?B?MUNzZFFKUmlwNTNlV200cTh1SzRxd2MxakF3cnhrMG5BVnlXRmpPK3BVL3hZ?=
 =?utf-8?B?N0RXRitJaVd5OTM5QVJqTWhGQkt4K2lxSmU3dDEvNllVRS85SWtzNlRDWUN5?=
 =?utf-8?B?a3BCbnpndkRZMi9DSUcwNVJQNWVCdFZURms4bnNqcmhOdmdGcjQzSjU0VzdI?=
 =?utf-8?B?RTZPWGR5cTcxZXJnQysyenYyNFA4NUtrNmo3WkFtcjZ0L082cFlDNENzQXNO?=
 =?utf-8?B?WkJYOVlYUlBpcllnd0cxU2pCQVV2Yi9qL3h0ckVyOGZGUVVSWkp6Z3ZBZFR3?=
 =?utf-8?B?eTJkcHVZdzUwWURmOTJ2eUpLeFdMMzNMYTVVU0FKQkgrV1hBSlM3NUhKU3g1?=
 =?utf-8?B?SzZsYVhBdDBXd01xekliZU9rTDRLZVNUWUR5b043aURXRktyRTBUcXBENzF4?=
 =?utf-8?B?NmhSRWpXbGcxSkVCQlRPelNpRHE4R09CODVtTk5lc2Y3dldKQkIxS0hiRVI3?=
 =?utf-8?B?WG9oczZnU1FvN053Njl2SVNFQ1B4akExcVV1WTJpbDhGNHloQStQcE5HVEtX?=
 =?utf-8?B?cUFzOHVYenFQMFdUZ0V5OFBmNXExQlVEK3NldG1jZXV6aVpjRDRnbVViRHIx?=
 =?utf-8?B?Unp3TFQ4Z0hmK2lLTE9jWlpVTDB3NjB0Y215aGswNDlMcDB0V3BDUW0wZGNs?=
 =?utf-8?B?ZVgyWjUrTEE4eWU1OTQyMmdLQ0FzYnI1MFpzczRBUHJwaWNKMXVrWTltcmNN?=
 =?utf-8?B?MEhhd0VXd1FXbmVRcUJodWlYMHhnWkdEYktIMHF5bE1XVlZNQ20yakZkK1RN?=
 =?utf-8?B?bVhRZmIvUDNPaTcvU3JFZ0dFZmxERWZoLzFlcGhOY2ladk9oQVdzcDh5QkNJ?=
 =?utf-8?B?cGtOcVp2Wnd4anlrcEYxdnRocFZNb1B6TkxXYnI3WE9ZRUgwNlJVTGdrZ0E3?=
 =?utf-8?B?V01zOUxXbVZqT0JiOHJHVmVhOW92ZUNla3JTSWJiV1p6TVBiUVozU0FoK1Rh?=
 =?utf-8?B?bXBQMktUbHlWeVpZeU43aVJMWUFoT0VlWmtQTUVXYU9LWlltc09tc2VXdzRo?=
 =?utf-8?B?OFo2QlRYOU4yejZNKzVzb2RyRTVuemJyZ3hQalNuWDU0ZzNtQXpUQnpEVjhE?=
 =?utf-8?B?MzY2Z0VtWFRDbHZBeXJXdjJzT3dkV216TFcyUjV1M1Z5UUhnMUR6MW1Zd1Y1?=
 =?utf-8?B?bmxheGlSUENIVEhBbmdEbDVrQnBXcDVqSko1dG9ldklMc1JpNTdHTUNoUUxV?=
 =?utf-8?B?T3FVOEc3eUl0UXJ5T0J4S2hLUi8yRUcwWDZaZXJTSGFoNmJkUHFKRzBpTHl5?=
 =?utf-8?Q?Se3ZDIUj6VVzdC5m+ETJva4=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f1a12e4d-0848-45d9-b647-08d9cf5ca430
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2022 08:31:44.9241
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /N9CGrG+YswgdEZbH2NlIUf4eUtmDKcIspf6PLngSqn61eqbrg1LUB1HNyf8HsyRJKwKeVkA4uioMrbxpfLBgw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6381

On 22.12.2021 13:33, Julien Grall wrote:
> On 22/12/2021 13:05, Jan Beulich wrote:
>> On 22.12.2021 11:01, Julien Grall wrote:
>>> On 14/12/2021 17:45, Jan Beulich wrote:
>>>> On 14.12.2021 17:26, Oleksandr wrote:
>>>>> On 14.12.21 15:37, Jan Beulich wrote:
>>>>>> On 03.12.2021 21:33, Oleksandr Tyshchenko wrote:
>>>>>>> @@ -2177,14 +2181,22 @@ void *alloc_xenheap_pages(unsigned int order, unsigned int memflags)
>>>>>>>     
>>>>>>>     void free_xenheap_pages(void *v, unsigned int order)
>>>>>>>     {
>>>>>>> +    struct page_info *pg;
>>>>>>> +    unsigned int i;
>>>>>>> +
>>>>>>>         ASSERT(!in_irq());
>>>>>>>     
>>>>>>>         if ( v == NULL )
>>>>>>>             return;
>>>>>>>     
>>>>>>> +    pg = virt_to_page(v);
>>>>>>> +
>>>>>>>         memguard_guard_range(v, 1 << (order + PAGE_SHIFT));
>>>>>> ... this really want to (logically) move into the new arch hooks.
>>>>>> That'll effectively mean to simply drop the Arm stubs afaict (and I
>>>>>> notice there's some dead code there on x86, which I guess I'll make
>>>>>> a patch to clean up). But first of all this suggests that you want
>>>>>> to call the hooks with base page and order, putting the loops there.
>>>>>
>>>>> I see your point and agree ... However I see the on-list patches that
>>>>> remove common memguard_* invocations and x86 bits.
>>>>> So I assume, this request is not actual anymore, or I still need to pass
>>>>> an order to new arch hooks? Please clarify.
>>>>
>>>> Well, that patch (really just the Arm one) effectively takes care of
>>>> part of what I did say above. Irrespective I continue to think that
>>>> the hook should take a (page,order) tuple instead of getting invoked
>>>> once for every order-0 page. And the hook invocations should be placed
>>>> such that they could fulfill the (being removed) memguard function
>>>> (iirc that was already the case, at least mostly).
>>>
>>> IIUC your suggestion, with your approach, alloc_xenheap_pages() would
>>> look like:
>>>
>>>        for ( i = 0; i < (1u << order); i++ )
>>>            pg[i].count_info |= PGC_xen_heap;
>>>
>>>        arch_alloc_xenheap_pages(pg, 1U << order);
>>
>> Like Oleksandr said, the 2nd argument would be just "order".
>>
>>> The Arm implementation for arch_alloc_xenheap_pages() would also contain
>>> a loop.
>>>
>>> This could turn out to be quite expensive with large allocation (1GB
>>> allocation would require 16MB of cache) because the cache may not have
>>> enough space contain all the pages of that range. So you would have to
>>> pull twice the page_info in the cache.
>>
>> Hmm, that's a fair point. I assume you realize that a similar issue of
>> higher overhead would occur when using your approach, and when some
>> memguard-like thing was to reappear: Such mapping operations typically
>> are more efficient when done on a larger range.
> 
> Yes, I was aware of that when I wrote my message. However, they are not 
> necessary at the moment. So I think we can defer the discussion.
> 
>>  Since that's only a
>> hypothetical use at this point, I'm willing to accept your preference.
>> I'd like us to consider one more aspect though: All you need on Arm is
>> the setting of the exact same bits to the exact same pattern for every
>> struct page_info involved. Can't we simply have an arch hook returning
>> that pattern, for generic code to then OR it in alongside PGC_xen_heap?
> 
> arch_alloc_xenheap_pages() will modify inuse.type_info so we can't or 
> the value to PGC_xen_heap.

Oh, sure - I didn't mean it to be a single OR, but two next to each other
inside the one loop that's already there.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 04 08:36:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 08:36:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253036.434000 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4fJ5-00073H-K2; Tue, 04 Jan 2022 08:36:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253036.434000; Tue, 04 Jan 2022 08:36: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 1n4fJ5-00073A-Gu; Tue, 04 Jan 2022 08:36:35 +0000
Received: by outflank-mailman (input) for mailman id 253036;
 Tue, 04 Jan 2022 08:36:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+k5u=RU=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n4fJ4-000734-9g
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 08:36:34 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6bbd8e92-6d39-11ec-9ce5-af14b9085ebd;
 Tue, 04 Jan 2022 09:36:33 +0100 (CET)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2059.outbound.protection.outlook.com [104.47.9.59]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-16-w20wyXWQP42WbpX_o3O7OQ-1; Tue, 04 Jan 2022 09:36:31 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB6302.eurprd04.prod.outlook.com (2603:10a6:803:102::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4844.15; Tue, 4 Jan
 2022 08:36:30 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.016; Tue, 4 Jan 2022
 08:36:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6bbd8e92-6d39-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641285392;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=7e7uM53tQ66bDKQYofGS+EhYokhtuafYxIk1p3lls7M=;
	b=VInvZCMlwOvOKf20gBkw2GlvQqwI/NvJQAGDZCbXMB7PfI6h51INkli0noi9CGRRnBOltM
	abMbxwH7w6F3CEhCUcoIXNkOBS6j4sALxTX1eP6QLdXqP6n+ec4QfhLCaHpJ0iaD0Bkgkl
	js/ZvbIlZXnZSBJeQOOztjObVVwxdhs=
X-MC-Unique: w20wyXWQP42WbpX_o3O7OQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UF0xNiOly2iOCDF8u3a4X7VpK4TtfZMYa17QgltEwSDaMZfnK9OR3DUnbmbQH/j9Ryyn/GZ40/gRAB7qEBzqU/SnVysorQHAGzeZfDtNePmEralZY9XrvaSzOf2DekiXwTAz2rAWMeu/LXmrGYxo5ZIoCWbx0aCJNV7sd8iSvwlIMbHASAu7uKWso+h93qGD5rXt+RQai7YCVAKCBEWcLq3+68Pw1U6eFPEJ6TJjdFmBCMlVRpGGEYNPsAydBSi52KVrUaJlSbr2qqJilAEGrCQh+CX+bx1t1PBY1Rntty/0odEsurKs9XtWerGbJuj9/FXxvjPyRyTbBPhGkvlPdQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZpQsfbIUKNADYn4xQbFMP5g6k9UvD6FXJBy+vmou8tw=;
 b=M9qPOnRr+ytcJghIzv7eFBHuOuv7+wHOH5W3O4bSnVfyyD2A9dLnae+FskMgMhhj+c769NkxGOoVaWBh2FIEiU6XabwpVhcCAJqoJ8UkwuBnLquZDaVzI4hnPIbGa6yLgu0CI+DjCoTi3UJYgsUEHgvsG9kguQx07/f6gzyBHacedbTcWXQLLpTGTzAkiggYg2dhpNhsUe4dP1nuch4UOClv9BbZZKhmMXjZBgEPsC+GpbzHeUfpSVfTT/AmHQzvgynRjPDPoY9kVIOkt6yNW33C4n7R8WM575nkGuG/glqltDtStOyw3zr0a+bypuIqHRyEEib+4wp8kCI+qmucTA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4b4d9543-e7ba-5664-effd-03fc6336f898@suse.com>
Date: Tue, 4 Jan 2022 09:36:37 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH V4] xen/gnttab: Store frame GFN in struct page_info on Arm
Content-Language: en-US
To: Oleksandr <olekstysh@gmail.com>
CC: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.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>, Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org,
 Julien Grall <julien@xen.org>
References: <1638563610-4419-1-git-send-email-olekstysh@gmail.com>
 <ebfaf88c-38a8-638c-298e-a92e5827baf1@suse.com>
 <6f4813ce-5d23-2192-fabc-e933241cf30e@gmail.com>
 <c1c043b1-bffd-f758-f7b0-fd08539550a5@suse.com>
 <f8ac8922-0695-7666-8585-92a089164e44@xen.org>
 <57616176-938b-2125-fe34-4fadf2b4f816@suse.com>
 <74a0ca4a-b091-77e6-ddb4-490d2a0a0f4b@xen.org>
 <6548d378-aaca-2efd-2194-7725aaf0548d@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <6548d378-aaca-2efd-2194-7725aaf0548d@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS9PR06CA0404.eurprd06.prod.outlook.com
 (2603:10a6:20b:461::24) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 7c9dbc29-d9a3-4cbb-2f9e-08d9cf5d4e6c
X-MS-TrafficTypeDiagnostic: VI1PR04MB6302:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB6302A60921FD7E2FC9E7AF63B34A9@VI1PR04MB6302.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:
	jAzV9LJvg7Qfm/fmHaf21K802CLiIkEbgx8hU8f6v1KKMeWD8+anl8AbGvYyAjrgTcvuDJaCoZSJe2pFik6gr3b6X41zE+mn9sQkAcQH9R6XtrXEuFlq/YuFUlf1gOyemRuxht16F0nc81Us0tuoRX5dnUHwVYdTfimXhWRTrek1wN8hyvpacOQ/1TjFiQLTINhZgWbXm3P1pxGir//YMX5+2OhSPJjkjh7jqxGzeuRitF2mtDJ1T6jWlo0PWIpMLJioqAD4Y0t05jgwbCELynTj/BvWzc16ewHcZ4DRhkZfo3RP1VDg+q9yHcKeoA6vPztW6qz23AgQESmwE1vear/QJGyzl+6ZnOMp9QfKimY0DODEN41efYYaZrPs/MAlOl7wBA9knsEyBoeFmRoIr6N9ixP97AYoKYNVADuZ8LfVCbK8YgUevAOz4RLYNaxoms/MnKnJ+obI8kP05fnF4PqW387MP38WD95akZXW9z26HbVNaePJJqIdrSShRq8BEidXlyOIfj6eEp2GfN+yGRFSQSXIk3kawbI/qstMM+PvVw+92czi8PpohlOPYNY8SCt7oeXR4EyvofYdV6AkQtPM7BmlCXE78cle/pMS76CwqoeaTrAeJ+fcEIXRHDXt0J39lcBflurXbhD8dHai2GHhEpvPvhxyPw2Y6os0uCb3hXrJ+0yg6bJq2ogqxxk2R9CjNKiPTGinIru4JIRkYV8bnbe5SQNq1yKn+1Ep1ggdakVVO7TOIHo1KOVSNrkwDqAjuD9SZAY7ZUp2uXLxY391keU6TLMwTP8JyCAuxnIEDDqQyYooCw/tGAMwbDa7
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)(5660300002)(966005)(36756003)(6506007)(31686004)(4326008)(6486002)(31696002)(316002)(2616005)(7416002)(8676002)(83380400001)(54906003)(8936002)(53546011)(2906002)(38100700002)(186003)(66946007)(6916009)(508600001)(26005)(66476007)(66556008)(6512007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?HfRZjn+N5Lx2qf/4BQitR8N7XJ+5HQK9G4B4ukOL0Y8c2IL6HP7psfyDAT5W?=
 =?us-ascii?Q?waTPj8yrRqUMMsAQkQaaK8rjebmjj2BkezHK40kIIazJzJwWmnwZugEXHHBi?=
 =?us-ascii?Q?U8VmaPPkydpZsw4Wb51zYeVLo7Qo54wDNbpLUZVrlUmU0PzEgaoZEjducQJt?=
 =?us-ascii?Q?q3X6A1XTEMzPByJ32g02mFCtwwxePFbhv3HcEpH6RaQgL+pOqtsGKWcoBy4Q?=
 =?us-ascii?Q?itqwnrNe7C4BvWHskYaaMaZi7huoZ2QzTV27j5q7MdzHKEsE9a8hOBuNpdHo?=
 =?us-ascii?Q?GvT5ZGL/cZxPHjI00dwtuL2ToJ6BcU/8wtq62gT5tiwPtaxRTIyE8/e9qydZ?=
 =?us-ascii?Q?Bv6PNYui3iaQoycNelcdNQ4MRpay57eXWw9CO55d4rbEwO9zlX18dlo7Nsqw?=
 =?us-ascii?Q?djenm2+TzfyydyC9dvBrsq7NQinVKxdjdTqqawHWk3xWNOlJWwXLGyA8dhtg?=
 =?us-ascii?Q?+mxjnZaUK6yoA3rdhcSOso2cHHwEmxG5PwKsDue/tFNUT6oprmMq28zKkmvZ?=
 =?us-ascii?Q?WQrr+fwfhYvqiN6pov4mWq/YPrdKRB8WuAg0pyf6+GYV4rjkQZ/BDRrEAeM0?=
 =?us-ascii?Q?OXsRrLXnspuQu1ZkIVBgm+9V8IhU5FJGI8ew+rHQPkgzYaqStzc4qXyPim9v?=
 =?us-ascii?Q?YlZa4JGz6fTzNpGX3/W3trBKrGEWhdIGlIvSr/kZULwsnI28mw55Dyk7MHZA?=
 =?us-ascii?Q?5+0m03+V5E0D6owv0dgQqza81eWE8+wpzQDmfDO9++x/3G/yhJI+vj06kVpk?=
 =?us-ascii?Q?DviI95MueoUBXgVjl1pVTSlNAaFSNRbqaII9Ty+ee1iorE2AhH3ccFysnyp7?=
 =?us-ascii?Q?lHB4Gbwf6/FXQuINvNU7ukYEL3E0yLf05IMIdFYh1G+7EHnaNH4IVtNcKqtM?=
 =?us-ascii?Q?NgVHasCBMoKsrK8geiPWdLFolTLWDrj80Ftgw2UTYweWYirBkquqB01lY4U3?=
 =?us-ascii?Q?mUnGg5gHjrA52JmDq4gi8uAvj8ojp5XM15swqVRYUZ8GTDIOzYEQwdBtKfvG?=
 =?us-ascii?Q?kmfiYknGkIwXmk355PUojMZRMiymO8HlI3H9myJlfC42vbdC5qkUG63zO5Wu?=
 =?us-ascii?Q?79Lr2LbVgskYEictBudGRA+JxB445MSkfEnX8BejgNcCpGFd76uX1trgzJrY?=
 =?us-ascii?Q?21JW2ZmPm4w/gBQ9pOF62Z0Ca9LV2VzSZE4Db8ZyYAuxF+3Y2+6X9Q0Muw/C?=
 =?us-ascii?Q?79nEfWJu2PEjRAABIrqhI14IXfm1DiGc8LEXEbtBZ2yYodZxP3H26tWkp0UT?=
 =?us-ascii?Q?syrNZb+kHlM2+YUams1i5Tc0y/NeKSninMThUEowys7bljehLqjcV3ZDvDlT?=
 =?us-ascii?Q?mOv2EUqKLLSanXO9g7xLMM9C0SxG322Fhr2BCGiKXNUmZM1n8cX+aqB1yksM?=
 =?us-ascii?Q?DF0C4moLp0TtYyCJleFQOlg2HxO7aEtstv0xD2MND4uoZMI34kRmpEf5Rtsm?=
 =?us-ascii?Q?5G/S9Vg7hPL+2M3PHTPMzsunvbtRUFhBd/yU/Yj0SpFPMB9GuNIkvz6OUg5t?=
 =?us-ascii?Q?Yk31dab5j30MGhufdD6u52zAYEVdXpMRGVp1EvthJzkfAs4gJJL7YKosS0B2?=
 =?us-ascii?Q?i/3FuXdNPWlTh6qJF543FyidwfwiWlFvythQuwezJkkQ5wCJ0QH6AYvnu6+a?=
 =?us-ascii?Q?34dRp5SAfBKO/kC87J+CKi0=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7c9dbc29-d9a3-4cbb-2f9e-08d9cf5d4e6c
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2022 08:36:30.5426
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dI5h7zpfB9qqeTrAFENfExV9PwZ0Yrdtr75tMlpOWv4xPCY1z5ffolU6SUbtxEovTiqB1/Dmbq63ocdzgYdrbQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6302

On 22.12.2021 13:44, Oleksandr wrote:
>=20
> On 22.12.21 14:33, Julien Grall wrote:
>> Hi Jan,
>=20
>=20
> Hi Julien, Jan
>=20
>=20
>=20
>>
>> On 22/12/2021 13:05, Jan Beulich wrote:
>>> On 22.12.2021 11:01, Julien Grall wrote:
>>>> On 14/12/2021 17:45, Jan Beulich wrote:
>>>>> On 14.12.2021 17:26, Oleksandr wrote:
>>>>>> On 14.12.21 15:37, Jan Beulich wrote:
>>>>>>> On 03.12.2021 21:33, Oleksandr Tyshchenko wrote:
>>>>>>>> @@ -2177,14 +2181,22 @@ void *alloc_xenheap_pages(unsigned int=20
>>>>>>>> order, unsigned int memflags)
>>>>>>>> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 void free_xenheap_pages(void=
 *v, unsigned int order)
>>>>>>>> =C2=A0=C2=A0=C2=A0 {
>>>>>>>> +=C2=A0=C2=A0=C2=A0 struct page_info *pg;
>>>>>>>> +=C2=A0=C2=A0=C2=A0 unsigned int i;
>>>>>>>> +
>>>>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ASSERT(!in_irq());
>>>>>>>> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (=
 v =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=
 return;
>>>>>>>> =C2=A0=C2=A0=C2=A0 +=C2=A0=C2=A0=C2=A0 pg =3D virt_to_page(v);
>>>>>>>> +
>>>>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 memguard_guard_range(v,=
 1 << (order + PAGE_SHIFT));
>>>>>>> ... this really want to (logically) move into the new arch hooks.
>>>>>>> That'll effectively mean to simply drop the Arm stubs afaict (and I
>>>>>>> notice there's some dead code there on x86, which I guess I'll make
>>>>>>> a patch to clean up). But first of all this suggests that you want
>>>>>>> to call the hooks with base page and order, putting the loops there=
.
>>>>>>
>>>>>> I see your point and agree ... However I see the on-list patches tha=
t
>>>>>> remove common memguard_* invocations and x86 bits.
>>>>>> So I assume, this request is not actual anymore, or I still need=20
>>>>>> to pass
>>>>>> an order to new arch hooks? Please clarify.
>>>>>
>>>>> Well, that patch (really just the Arm one) effectively takes care of
>>>>> part of what I did say above. Irrespective I continue to think that
>>>>> the hook should take a (page,order) tuple instead of getting invoked
>>>>> once for every order-0 page. And the hook invocations should be place=
d
>>>>> such that they could fulfill the (being removed) memguard function
>>>>> (iirc that was already the case, at least mostly).
>>>>
>>>> IIUC your suggestion, with your approach, alloc_xenheap_pages() would
>>>> look like:
>>>>
>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 for ( i =3D 0; i < (1u << order);=
 i++ )
>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 pg[i].cou=
nt_info |=3D PGC_xen_heap;
>>>>
>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 arch_alloc_xenheap_pages(pg, 1U <=
< order);
>>>
>>> Like Oleksandr said, the 2nd argument would be just "order".
>>>
>>>> The Arm implementation for arch_alloc_xenheap_pages() would also=20
>>>> contain
>>>> a loop.
>>>>
>>>> This could turn out to be quite expensive with large allocation (1GB
>>>> allocation would require 16MB of cache) because the cache may not have
>>>> enough space contain all the pages of that range. So you would have to
>>>> pull twice the page_info in the cache.
>>>
>>> Hmm, that's a fair point. I assume you realize that a similar issue of
>>> higher overhead would occur when using your approach, and when some
>>> memguard-like thing was to reappear: Such mapping operations typically
>>> are more efficient when done on a larger range.
>>
>> Yes, I was aware of that when I wrote my message. However, they are=20
>> not necessary at the moment. So I think we can defer the discussion.
>>
>>> =C2=A0Since that's only a
>>> hypothetical use at this point, I'm willing to accept your preference.
>>> I'd like us to consider one more aspect though: All you need on Arm is
>>> the setting of the exact same bits to the exact same pattern for every
>>> struct page_info involved. Can't we simply have an arch hook returning
>>> that pattern, for generic code to then OR it in alongside PGC_xen_heap?
>>
>> arch_alloc_xenheap_pages() will modify inuse.type_info so we can't or=20
>> the value to PGC_xen_heap.
>=20
> I wonder, can we apply pattern here at alloc_heap_pages() when=20
> initializing type_info?
> https://xenbits.xen.org/gitweb/?p=3Dxen.git;f=3Dxen/common/page_alloc.c;h=
b=3Drefs/heads/master#l1027
> If yes, the next question would be what indicator to use here to make=20
> sure that page is really xenheap page.

Technically that would seem to be possible, by way of passing yet another
argument into alloc_heap_pages(). I'm not (yet) convinced, though, of this
being desirable.

> I also wonder, can we apply pattern for all type of pages here (without=20
> differentiating)?

I'm afraid I don't understand this part: How could we get along without
differentiating Xen heap and domain heap pages?

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 04 08:38:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 08:38:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253041.434011 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4fKn-0007iV-3K; Tue, 04 Jan 2022 08:38:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253041.434011; Tue, 04 Jan 2022 08:38:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4fKn-0007iO-0I; Tue, 04 Jan 2022 08:38:21 +0000
Received: by outflank-mailman (input) for mailman id 253041;
 Tue, 04 Jan 2022 08: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 1n4fKl-0007iC-KI; Tue, 04 Jan 2022 08: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 1n4fKl-00073p-HA; Tue, 04 Jan 2022 08:38: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 1n4fKl-0002nV-AD; Tue, 04 Jan 2022 08:38:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n4fKl-0005rr-9o; Tue, 04 Jan 2022 08:38:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=DxGiWsrXssoihlWwVQWvmpLltemwYnfnokHYrl/r9Bk=; b=ypOVcpreqOOZhzvP24Z4iEt4E8
	2/10HoYjYeN+fnMxnbsU4h1H3kBcCC8sV8e+c615Vdm9o5kRoPhemAi7+RPCLvt2l85JpjPUsj8Jz
	8iz0tqD01znVLCAvbtcMKRz+hOm4LzqmEvy2APy07LwmKULaT4/hw05mbuVygzO/XGwE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167598-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 167598: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=13d9e8ec98ee3f9f14a45471b38a22b9fd66d1ce
X-Osstest-Versions-That:
    ovmf=c095122d4b5f3152417cd97dabecfe31cc3b6508
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 04 Jan 2022 08:38:19 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 13d9e8ec98ee3f9f14a45471b38a22b9fd66d1ce
baseline version:
 ovmf                 c095122d4b5f3152417cd97dabecfe31cc3b6508

Last test of basis   167559  2021-12-29 14:11:40 Z    5 days
Testing same since   167598  2022-01-04 02:41:30 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ke, VincentX <vincentx.ke@intel.com>
  VincentX Ke <vincentx.ke@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
   c095122d4b..13d9e8ec98  13d9e8ec98ee3f9f14a45471b38a22b9fd66d1ce -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Jan 04 08:46:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 08:46:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253051.434021 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4fSG-0000iw-W2; Tue, 04 Jan 2022 08:46:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253051.434021; Tue, 04 Jan 2022 08: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 1n4fSG-0000ip-SV; Tue, 04 Jan 2022 08:46:04 +0000
Received: by outflank-mailman (input) for mailman id 253051;
 Tue, 04 Jan 2022 08:46:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+k5u=RU=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n4fSF-0000ij-Sh
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 08:46:03 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id be175145-6d3a-11ec-81c0-a30af7de8005;
 Tue, 04 Jan 2022 09:46:01 +0100 (CET)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2059.outbound.protection.outlook.com [104.47.2.59]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-24-t3HJhfBfOmKOvcbqBXHbAA-1; Tue, 04 Jan 2022 09:45:59 +0100
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.4844.15; Tue, 4 Jan
 2022 08:45:58 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.016; Tue, 4 Jan 2022
 08:45: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: be175145-6d3a-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641285960;
	h=from:from:reply-to:subject:subject: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=zig29lI0FBli9i07olSYzSOYhKOSKiw65K/bW14c/qA=;
	b=anVYUCHdkfISnLZZz9K/x5+MFSaGtFuITVffy9kwCy+wziJZzGuuwUpVSnLWVl7HmmwVVm
	X6TeGQcf7kEutCsbHLh76VX2FAdem5v6QvlzOhr4ypi+YzPnwawHl59WPx73JZZesEv7TD
	LUqa9fT0psj5xEEjOaoIh25T03QLD5w=
X-MC-Unique: t3HJhfBfOmKOvcbqBXHbAA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iItbHmjXrUL3FCXQ+Uow5VCtgmP0N8kaRb2bBh3bwXoxtOnAcDQIvc3ga/ev9oCoZ7eTjG56QNuocAmAOJAmTU5LpW6GjrimP8W4Dhf8tTLzaXi9y5ICdH+521jm9uhg5nl2uOr19agBQpcyeL6/6aYK7BCuQhAUJLxcwnYNP9yvrBJE48q4Poei9jC5NYYQLpEVoeozEpVu0h+nj/CPa0vqRuUd4Kaj03jxSERNt6q0zerskP7a4Lfny2bhKiR+d8hk67cSFrswaz1rDllT7StrxDebxIs40884ywDCCrK+xWnwmQlWoZv+Bpql0+zoiA2LSBtj/7YxisaqZcQmUQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zig29lI0FBli9i07olSYzSOYhKOSKiw65K/bW14c/qA=;
 b=DfzCodLg3azEFy6mavgpOHRojIX7B0m1PXsleSRpKI826tPzIvT6Jn8hUQaU47p04BEN7tTipW/v5zqCchWe01qHdFNui/or8L7i0WzW1xsGcTMZHvBFbinoOcb6XXvO+0lpPoLUG9eFQkD44pjrhwBJi09YM3MSMf14B4UYSUdSwCryzAZb7dwyeMi3qntJ/aOEGKh7Gy7RPtCozLcPsYE6pO7GewBuNgxdcGqPKzCbKVV9e14161kFgeFbeswKC0NAblDikcGdE7CXr6N7th0cGEO8GZqQLCqz9BN7V+zu3bV31X9g4UFo/TnllGaHPj67vFCjh4yVzZR7RUC1bQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a3df8bf3-d044-b7bb-3383-cd5239d6d4af@suse.com>
Date: Tue, 4 Jan 2022 09:46:06 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 lkml <linux-kernel@vger.kernel.org>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] xen/x86: obtain upper 32 bits of video frame buffer address
 for Dom0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0035.eurprd06.prod.outlook.com
 (2603:10a6:20b:463::11) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a21f6fc2-9f83-453f-47aa-08d9cf5ea0a7
X-MS-TrafficTypeDiagnostic: VI1PR04MB5741:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB57417F83F16D85A2DBD60C38B34A9@VI1PR04MB5741.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:
	UbB91Ybudgq3IZF1Y7uwEMa1bVnXc9K79ttsAzPcFxc6JZYw5u1T9a8plhvl8EgUZxVaZTLIShmGfQ3e2QK1heKs/lwXSn+Vw2ZeEYcOafi42vltpSaLTf7s5kq3eGmCytgfD7hie9l1/ZUH/lxlwV0oXMG5Iq1Bc/bJR09QQghzh7bznrqsgS6ZnCghfzSQu2euaDnGO71JmI3Pm5d0tmC1U5AiP8OnwuGSPAdhDDg0fwV3pSoDZx78CsuIPeJrtJwfYt03E/z8K7yK4fKcHXQ6fvZ6r576k0uqZV4dGtcJi8hn+BOHTwnixfyvFKOA0nvYop8c7FPfcB6ZOpjWQXfPeilTv1l8iyChoL5d4DlqnozsqbZfsWc/lHGGkXV7zBAb7gCzRe3saUMcZ6XD/aDcwdUIuGzweeImLJGoGU1460V4vgOrORBBLGcvfIzPX5yDNqnwNOBw3tkBvPvI9qaWvtr+TnzODnT6OBIKvBairq6z8fIT13F/CqXUVY2Zf59lPTZigpi1RKXbZ4cb3ClqMlJqSJMChZ8Jrr6LJz+uiWwHxNDq1i/VbrbKgFukc4jDG0D7iNu3VAQzat9fRddcgQ5h3BqakiBRNJwkZ/vGqEEE495OGGaSQatSh8l0FFLgRAJb3OvID3HYZ9QBj3aUbW8+IqPNOn0HXw1BHF0yF+XIdHikZGNFDSbS0bHo5RBZ5DkVJ4PuA48vWslwlpIZ+3K9jZDVYsOCT1dBjtw=
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)(8676002)(6512007)(6486002)(66476007)(38100700002)(66556008)(83380400001)(5660300002)(26005)(54906003)(86362001)(66946007)(110136005)(36756003)(31686004)(4326008)(186003)(2906002)(31696002)(8936002)(508600001)(316002)(6666004)(6506007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Ulh5WWZoeTFKRUJteHpFRVZQTWhrWk1PUUd0N094UEJwc1lldzBLZXpUZk5n?=
 =?utf-8?B?aFlxNnJMK1NvR0dJWXVrbUZYdzRKZWJmRVI4UE1sRXhrcE8rdGVHVVB1Y3Rv?=
 =?utf-8?B?M01qbDJ3NytRTERtZWNRZENaQ0JEYzIwTERja0RSc1R1M05IRHZrMEZyTGY1?=
 =?utf-8?B?M1JYWW04VVc4bnE3N1k3cTY0emdwR0pMMlMvUTJzV3R2RkxBQTZoTnJBelRL?=
 =?utf-8?B?OVl1K296eTdZenhOV2hmZW5JT1czMkNRTmttcjNKMzlUb2w3dVB5dlNkVmxt?=
 =?utf-8?B?UlR0RkhnU0pCS1JkOUNzRlhlSFZjZGM4NXZzUE9yL3pmNHJkdWJGdTcxTml2?=
 =?utf-8?B?b0luYk1NdVdMSUJmd0lFbUk0ZjNNNEp1UG5lN2NpM2xRVkJCTG8vQUF5SE9B?=
 =?utf-8?B?YmRQaE16MUdiWndML1lscWRsQmZlVmRWTUdCRnQvRVBOUEYvS0M1cmQzenJz?=
 =?utf-8?B?eng2MnRVMm5Kbyt0T0tLcXhjc0tIWXRSYWRLV2cxY2JpdTMvcDZ0TE0wQnNK?=
 =?utf-8?B?cGtJdFU3WlFld3hLV3pHUHNpTFhoYS9lM3J6YU1lVkxLWS95RHNEWUJ5SlVz?=
 =?utf-8?B?STZPc3RoV0JFbGNPcWxydUYrSjdVd0FuMFZKbFdDbkphUGVuN2JrcEJpcHAx?=
 =?utf-8?B?ci9zQUwybHgvbVY0Y1Y4ZHpnME1lTHJMbjRLQmo0aU93bGdrMkJDSW5tSjFK?=
 =?utf-8?B?b2JMZzlDcUFDUWUrNjZRTE9ZOG1KOHd4RnFkR1h3dmVnSUNrRzVEMTZ4VWtM?=
 =?utf-8?B?aGVwNytqelhUSWJOcE4wdi9sYzhaUGxOUXFhU2VGVi95VEpKcmtqenJKNmJB?=
 =?utf-8?B?a1JWVmR3d0J1anlmQmhyNDFIT3BLZEIzL0o3dFBzaXh1M201Y1ZjSVRpbTFR?=
 =?utf-8?B?NXJiT2RDaG4xcmRLRGtIcnpYQXhZYy9hSjk2Tzc0UUxDUEFEcDJtbThBV3R2?=
 =?utf-8?B?RFp4MGZlbkU4M0xuUEx5cU9xQmw4VXdYMFdydlhIc0ZyVmY0VmpPTlQ0dkhz?=
 =?utf-8?B?ZHZwTlNLR2V4V1BtRU0zRlAvNk1tQ0dmZldLOTRaSzJmSFN2R2hXRWdwOEl2?=
 =?utf-8?B?UTZDYmZpRzU4czFFVUpENEFrQTBBaUFMTmJVaEg2RmdNdmRacXY0MVFIMVlx?=
 =?utf-8?B?Mnl6YWpFeFJPdEZyb2tzOXpoMFNDN0h4Y090YlR6dkdTM0pvemswNzlUcVdQ?=
 =?utf-8?B?K0lFZTNtU3JjaVBSN1pwSTJrampzVUZXcGxMdXdiZStvS2ZVVFRQYlExd3ln?=
 =?utf-8?B?VGEyV1JRWlpMVThRV2dZRlNORDVjVm54SGJjNGNYZW5lcExKRGpYV2x3VnFB?=
 =?utf-8?B?SHlOVjB4Unk0QmE5enJjWDY2SUE2dytkMUNWTUlrTVJDR2tSSlBLUmpHeGEv?=
 =?utf-8?B?cjBzUWlYVDV1ejVqZ2dyUmV6UDVwSHRZTjB6MmhybDlnOXpBWml6Vm85Qzll?=
 =?utf-8?B?dk82eDdEemluUlE4V0NLalN5TWEreVBBTmJPN2ViNEcxb25sbklKdW53dHVL?=
 =?utf-8?B?YzNPNWxaMXlNVHZzMlFOOVVQemU2SkhLUS9oVDhzeElKOENzVERZMEM3N2JK?=
 =?utf-8?B?RFFmR3lpVXU4M2s1SklVRGtFelZUanFtQ3RweHBLQzhjUkpxZzNpcExTanJS?=
 =?utf-8?B?cjlzcTlrS3RzdGMrZmgwTUUyVEJyQUkvZVdrWWYvWlRjMmxkakgzWFdUTUp6?=
 =?utf-8?B?dWMxNXVMN0Vrb0xxNFRzdldKT0d5ZW9hUHdpQTZKa1FVZDdaMXRhNG9qdXZB?=
 =?utf-8?B?MlNVTlloaDR3SE5tMm5vRG1HZkY2TUVGN1VaQ05ValZXYlh2N1ZDbGxGaXdq?=
 =?utf-8?B?cTJJS2RYdjltOGU4Zk9VeDVTUU5tTUxSY2NzWTRTMlMrdjhRUitJbmdGVXpE?=
 =?utf-8?B?cHVwM2UxLzdWa2MxZmFNNW0rSFRYK3ZsU0txWEkxbTdZV1BlK05rSGZBb2Nu?=
 =?utf-8?B?aUpTSXBnVkZ3aXZNV0ltZFloT1V4eWZoOHptb2N6alh5aTdPNXhFMDl2NW1I?=
 =?utf-8?B?a1MrR095TUxaNjExaHdJczdwRzFyeWxNQ2N1eU54SWx6VGxHR0pWaWJoYXZW?=
 =?utf-8?B?OEV3ZnlrYTNpN3pIWi9JOUNOVTJvYkRjbWsxRnc4TytxR2w3UWRzK0NiWnkz?=
 =?utf-8?B?cU53K0hqay9pQVVzam0yVWdqbjNYSTE3V0M3SmZNdlgxamU2RVlkaFpnT2Y4?=
 =?utf-8?Q?W3LWpW1gsmg29owOOuoki+s=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a21f6fc2-9f83-453f-47aa-08d9cf5ea0a7
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2022 08:45:57.9908
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: natWC3ljDtGmHAP882L/X1rrI/qShyae1aL1wGYqhPn+xJ+qaJ1N3nnobIEFaTIlBEfErNC7EmpKVNdXJo4g0A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5741

The hypervisor has been supplying this information for a couple of major
releases. Make use of it. The need to set a flag in the capabilities
field also points out that the prior setting of that field from the
hypervisor interface's gbl_caps one was wrong, so that code gets deleted
(there's also no equivalent of this in native boot code).

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

--- a/arch/x86/xen/vga.c
+++ b/arch/x86/xen/vga.c
@@ -63,13 +63,17 @@ void __init xen_init_vga(const struct do
 		}
 
 		if (size >= offsetof(struct dom0_vga_console_info,
-				     u.vesa_lfb.gbl_caps)
-		    + sizeof(info->u.vesa_lfb.gbl_caps))
-			screen_info->capabilities = info->u.vesa_lfb.gbl_caps;
-		if (size >= offsetof(struct dom0_vga_console_info,
 				     u.vesa_lfb.mode_attrs)
 		    + sizeof(info->u.vesa_lfb.mode_attrs))
 			screen_info->vesa_attributes = info->u.vesa_lfb.mode_attrs;
+
+		if (size >= offsetof(struct dom0_vga_console_info,
+				     u.vesa_lfb.ext_lfb_base)
+		    + sizeof(info->u.vesa_lfb.ext_lfb_base)
+		    && info->u.vesa_lfb.ext_lfb_base) {
+			screen_info->ext_lfb_base = info->u.vesa_lfb.ext_lfb_base;
+			screen_info->capabilities |= VIDEO_CAPABILITY_64BIT_BASE;
+		}
 		break;
 	}
 }
--- a/include/xen/interface/xen.h
+++ b/include/xen/interface/xen.h
@@ -722,6 +722,9 @@ struct dom0_vga_console_info {
 			uint32_t gbl_caps;
 			/* Mode attributes (offset 0x0, VESA command 0x4f01). */
 			uint16_t mode_attrs;
+			uint16_t pad;
+			/* high 32 bits of lfb_base */
+			uint32_t ext_lfb_base;
 		} vesa_lfb;
 	} u;
 };



From xen-devel-bounces@lists.xenproject.org Tue Jan 04 08:50:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 08:50:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253056.434033 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4fW5-0001Qf-Gk; Tue, 04 Jan 2022 08:50:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253056.434033; Tue, 04 Jan 2022 08: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 1n4fW5-0001QA-DR; Tue, 04 Jan 2022 08:50:01 +0000
Received: by outflank-mailman (input) for mailman id 253056;
 Tue, 04 Jan 2022 08:50:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3I2F=RU=epam.com=prvs=3003e86fe1=oleksandr_andrushchenko@srs-se1.protection.inumbo.net>)
 id 1n4fW3-0001N4-NT
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 08:50:00 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4abafc4f-6d3b-11ec-81c0-a30af7de8005;
 Tue, 04 Jan 2022 09:49:58 +0100 (CET)
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 ESMTP id 2047uJ5i012634;
 Tue, 4 Jan 2022 08:49:39 GMT
Received: from eur04-db3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2055.outbound.protection.outlook.com [104.47.12.55])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3dchygg4vp-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 04 Jan 2022 08:49:39 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com (2603:10a6:20b:153::17)
 by AM0PR0302MB3425.eurprd03.prod.outlook.com (2603:10a6:208:3::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4844.15; Tue, 4 Jan
 2022 08:49:36 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::6027:42cb:ee75:1c39]) by AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::6027:42cb:ee75:1c39%4]) with mapi id 15.20.4844.016; Tue, 4 Jan 2022
 08:49:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4abafc4f-6d3b-11ec-81c0-a30af7de8005
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GX0Tx1imWDZfnZFXmPv6wuPQb4zh0hMFpaIdLIC4kbi7RZiF2O7M5f5j3UsClEzLIafCcRDtI0uFue0oX9oGH3sr9uBTS0FpPkDJLFkksAiQ9VGjJwJDT3qJAqLbUQm9KyIE14Uq3PUDcu6ZX12f4hfVE49zv+P/bNhi742605PoYmuSGxaT3LgJIYv3u67zErkR11p5kVmela8/ekk4/eTMYm9rdUl7xzl7BjaVp+KOYdrQR9g53Z8xtnYIshd18mHAAYAy/+TOgwd6HEEqCOWN73p3cZYpBQ+EiVQumYXycVBADBvhwFU3K1j/12+ZhTSD7Xe3fjpCWYt1MWr/og==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=K72TlnpBZerG+sGDNdzO6jMYCE2aDUWBtay64/afNyI=;
 b=h51qvoJ4/MkjwpOQ97538zFPTFVn2dchJoq8A6pH0MU/fZrtvC4wcGvCvyoRuRTTOaMPLVQ6MK6olYNCPUPkWsoOGWK4gl6TnmgepBFN6R8JliWVrfAPMe6QhrgyOBm97Uz87dmBFiegDH/sS/vIF0SDZY9RzWCMQ8EJzvvL7bPwLi/QsbSpit9GJcC/iJ8nSriyxo2DnnSO2D/KVDCj5q0hDJllFg/OitPNXXo4FoFbQuKgYv3paCEH1AEYOq8vGInhq7b8hOJm2w1j41EZrXylYnw7Hgjh/TBcTeGZfbntRbO8nnNuZQJ3r2uudT9LW1YppSqLK1nzLurS4sYtBA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=K72TlnpBZerG+sGDNdzO6jMYCE2aDUWBtay64/afNyI=;
 b=myOesXPIPyVzWZ4JvtpFFoehZ+b6KcZx2FcKar4pNuTQfEhNAAZoZSb+ucKAXzBC3gZQHMuLY2I00PMb5k5EFG2acVoT8uXCd2rISlHEtMvDdx1Qug6an8pajJ+mZ9qgdooE/S/idr9D1VByNeitAQX+2XfpM1fayA/sYLXBQf/8HjacjrSAqmDqb8HfrNX2/wMXAgU97datf7146rsTxw7YqoFaSCJycFCuor23GMAR6VTaUG1ptbbWnoQc9nU+ZGUjOVUQfq+KMTBd8NcxGxFerx8XmOx3/VFjWAnUitgcUVP4mBfGXyRuOTLkC0hDEhLkkiCwzMqWMv++cHJXIg==
From: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>, Wei Liu <wl@xen.org>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Christopher Clark <christopher.w.clark@gmail.com>,
        Dario Faggioli
	<dfaggioli@suse.com>, Jan Beulich <jbeulich@suse.com>,
        Andrew Cooper
	<andrew.cooper3@citrix.com>,
        =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>,
        George Dunlap <george.dunlap@citrix.com>,
        Julien
 Grall <julien@xen.org>,
        Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v4] is_system_domain: replace open-coded instances
Thread-Topic: [PATCH v4] is_system_domain: replace open-coded instances
Thread-Index: AQHYAUf/c8i/XyYIMUalffWjV6LCog==
Date: Tue, 4 Jan 2022 08:49:35 +0000
Message-ID: <c5b4687b-120f-d4d1-13eb-ca2e12285552@epam.com>
References: <20211221160444.30890-1-dpsmith@apertussolutions.com>
In-Reply-To: <20211221160444.30890-1-dpsmith@apertussolutions.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: c9cd694e-bbbe-4b5d-20e9-08d9cf5f22a9
x-ms-traffictypediagnostic: AM0PR0302MB3425:EE_
x-microsoft-antispam-prvs: 
 <AM0PR0302MB34251C6C3A072D156B5DFBA7E74A9@AM0PR0302MB3425.eurprd03.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:29;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 oL5AY+6/dWORF8urL2Sxnxy+HiiZL3qpJARbbp8r3RJ/RDuiAuFG7LZJQAZyzdmhmWPKtpz2i7n1TKrY1L27XPOBFMeF+iy98RLxJKzQh7TYfmnqU0qtQeKziAVxBRC2KJX0VGRviGT3lNkIdtBBVqKa7G8UWNssNKUA/mgH5dwc8ohJWYiUm2B86ZtEALTF+DJbtg+MWLijgYX4thkRB2wjLjmB92NVWWvJV3upVREbcQucaEBEI8/TK6jlsIU9PIIKKeO8ROrXL2F1j70e7d5/ZlxfLByNfUJaJYUfGkMDuR5LPcDIToi4DD02WeGtaPofPZ3rwxd+yTE7zJpuGCyrrBM2BERQCRoRPyuYjXVDeshFvbZ7DFfT562vpTWRih1Gx/3NbzQK8WU+aAtTqLXWEyuweEwOeQWGK/kHG/vyGzCFwZUYDOAmlViJWHHkd17B2XWaCwhYldD1+TIB+cf7IwT+G8+7oSGbESNuS+TgGkBf8rNsoo1FijCt0Jjbpmp3VBTCxDLPhcWV5JW4ir3U6ommD/5oDFtLJslPppP93c/1tV+gae6K27Mbe+n1514VMNlNX7RTLuwG2DIVAkafD9hiyZTx4jvwVFPDoR0A/3jTRZ8C4QFHFKhExSRo+PcoJ6d//vSjTZARqXUJzPlIRdP7QPQYF5t6uXiFQjYP80ojzUjn7/0FxzJVXpSqqgocT4pHV3aUQoFc+rhIV4Dt94ezI4dYlHAfNW5esOnMqV9kdAHXy56p85LYxaa3
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)(5660300002)(2906002)(86362001)(8936002)(6506007)(122000001)(53546011)(26005)(64756008)(66476007)(54906003)(31686004)(76116006)(110136005)(91956017)(8676002)(6486002)(66556008)(66446008)(66946007)(6512007)(7416002)(38100700002)(2616005)(36756003)(38070700005)(316002)(83380400001)(4326008)(508600001)(31696002)(71200400001)(186003)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?WmlxaVNJdWNtdDdXK3NLTXBXTzZwUTFoOFR2Mk5pekJPV2lTbkk1U0F0MVZp?=
 =?utf-8?B?RzJhSFRwbmRBRHo0bFRESzVuZFpaRVVoNDRpaXNXNHpRYUhiVjFzYW83QW05?=
 =?utf-8?B?aWpaQ0FuUmtPZ2VTT3d4Q3Q5UXMzQlhDbitCZEYxWTJKRVQxMEhvdUdIYkhX?=
 =?utf-8?B?dndORnNHNDk2dUNJajhnWVdOYnk4OEVuRjZZSi9hNGJPZjhuTVErbnRRNzVl?=
 =?utf-8?B?c1ZmMVBnaGltSW9tNzdQZHdpTVFMekNLYmJyc3IvYlBBRXMvRUJ4SUx6QURv?=
 =?utf-8?B?bjY3Z2VPMWZCOXB6VitoejN4eXc2S0ozWGxmcmRnWkdnM3NQMmhWUzhoL0Zm?=
 =?utf-8?B?enNrakFXYUIxcUJNV2gvZ0JHcXpLNVN6akRQbTlFd0Q0aEw2dFZHSFFscko1?=
 =?utf-8?B?WmJtaDdySXJlbmJCNFF2UE5yUm4xcVV2QVVLYXo5Nk5wSVJhbkU0aHByYXZt?=
 =?utf-8?B?YXNvUkxPVEpWWkd6YVQ0dmZ3UnR0S1FGT05qczhqa2ZPVC9uamUvR1BMVFRT?=
 =?utf-8?B?SXVXOGpTR3lsVE9TMVRGbm14Y1U2MjdNUnd1ZmpjSlN6b2lUbkl5VXJiNkQr?=
 =?utf-8?B?SmloNFFETklrcURWZjE3ZmJKenpLK2k3dWtjVm1XbVkySHU1NVBET0lvdEVv?=
 =?utf-8?B?azdTc2w5UGRWR25Lb3FUYU8yQm1VVlNJeTMzZVdNSmYrUGE5RTErcnRpZ0hp?=
 =?utf-8?B?U1B0ZG9NbjVXVndnZExsdlBqQWFyc3Y5azFJelFQWmhWN1lwNk9yQ3B6djR6?=
 =?utf-8?B?Wm54VFU5UGR6dDZMcGhBSzY4cFp3dHpIeXdaQUphOVl3Z0NWeDJWQW90NDFJ?=
 =?utf-8?B?dkw4VDZJQzZUaHFRZDBTNlRwQ0U5elJubHU0eXNFRTBpa01xajJpUTJBTERG?=
 =?utf-8?B?Qkl2RVQrTDZyd3h6OWtqNVZDUjJlNEY5emw0aEdobzN4WXhDZ0hCUG90Ymd1?=
 =?utf-8?B?SG5tdEtxcGxyVkdheUxjZGN4MWVCUnBhU0w5TVBPMWFSem8rd0R0QVBZT0M2?=
 =?utf-8?B?WDA1U09XU1grREtLbk1Mb3V3VGpiNk1tcXl2WjcxQ2R0dXBaU1VManNZUitO?=
 =?utf-8?B?aGtNdnZZeEd3YVhuZnIxTzlXNi9DN1lrb1lNRk81S2lmTUFxTVd2V2ZyY3Fj?=
 =?utf-8?B?YjJENDJOM2ZTUDltYnNPdWhyYUk3c3B4RzZ4dWtRS1hyQjJycDA5T3RIT3VB?=
 =?utf-8?B?M2xLNCtmRGo0TjUybW9HWEg0VkpYNTZ6VytoaUVMODRqeURXMzBsZTVwdllT?=
 =?utf-8?B?NDhTOWJoSGlmNDE4WXI4c21LYWlmUHAvcEozUnJ0U25PQ3dKV1c3VEh2TUk4?=
 =?utf-8?B?RHh0RHJZclRFNmZYRU5vM1UwMmZuV2NtYlpQelFkbWRYZmR6OERQcVd3dEhr?=
 =?utf-8?B?NnI1bHhEbnVLV3hza0J0ZkdkbEhkYjNvQ0ZYakdMTFQvM3FPUTZNbURjVFVF?=
 =?utf-8?B?VlVoQmwvUWxNTmZtU2JYaEZTeXNWem5ISDhHY0duUnhscTdUZVRnL1N2UlZh?=
 =?utf-8?B?ZjVtSFBQQjRJMUtGdUI3MldEQXlFTWZpMW1JQUh3RCtISUNhVnFwbnlOTFlB?=
 =?utf-8?B?RmJrU3lUa0FnVHVZaEErUUpocXNIeGVjUEgrc0RKbng2Q0xjT1g1OWJlc0Rv?=
 =?utf-8?B?NklOL0NhRUVaMXV5S3p3TTdPZlZDVWhCRFBLeVZNM21VaUZxNm1PeVRyajM1?=
 =?utf-8?B?d0JKdmRyTGtDcjNpSHRRR2NPMjFjY2MzanFZeXdtanZUVmJvL1VtZmRaT3Jj?=
 =?utf-8?B?dHpPYzFKemh0akJ0TEhFU1IwditEM2VGczljcnZtSHpFVHhRQTJlbzZudTNK?=
 =?utf-8?B?U0JXSGI0eTk5eWhEaWp0M0V3bmJlVzlpOE15am11QWgyUWZJa3NzbXBsdUNx?=
 =?utf-8?B?Nlc5R2VJRXVMOEEwOFFCSmVuRmJMVTNpMTRVTnBRY2lIUFVUNk11aUhlemdj?=
 =?utf-8?B?Z05wWWU1anJaeTBXUUdJNk1lRk1nYUhhVXZIcGN1WVZ6OEhvM093eG9hVFhJ?=
 =?utf-8?B?OSsvTWFpRzJVWlc4bjJkVG5qZHpyeFFxaWZDVUFvMUdJWXZ3Ny9oQzk0aEd5?=
 =?utf-8?B?V0pRUkFENDUyWklCdGU5dDVyZ0RGbmJDVUdaWXBMSm1FbTlzSzF6NGpsY1RR?=
 =?utf-8?B?Sm5kK09rSFFnZVpvSnBmajhsdWpvd1R0czFodFc1VDVONnkxV3lWeTNUbzNj?=
 =?utf-8?B?emU0Q3RBNFRoamMwWHY5clZyTVlOZ3NBaTREUEhTRUtIck43NTVHMkROY2J3?=
 =?utf-8?B?SHJDeEV2dnlpTFRBUGd4MGlwU3YzdGFLMWVpTHZoTFpyL1UwajMyajlGWmV2?=
 =?utf-8?B?NkxERkhpdTFpWkNrWlVlVGtPNzdra2ppTXhBL1REQTE3YVBxZWhBZz09?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <300C550DA1507A45AD38581146662839@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: c9cd694e-bbbe-4b5d-20e9-08d9cf5f22a9
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Jan 2022 08:49:35.8735
 (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: ODB2+Xmo6NxdYynlE0dQ2+ZLjkMOOh86jOgTGgtLxfhD//C0Z5ix9+Fl67A+eMeUNNj+XrG4udrh4Kxl4VSZzz3aJR2jIi+dv88dTzVpiRqdYVN9j/rvZCEq/uLRWEHR
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0302MB3425
X-Proofpoint-GUID: SlffHdB0_AvZ0BT5ZMi-_YWbYULTUmEN
X-Proofpoint-ORIG-GUID: SlffHdB0_AvZ0BT5ZMi-_YWbYULTUmEN
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.790,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-04_04,2022-01-04_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 mlxscore=0
 malwarescore=0 phishscore=0 clxscore=1011 mlxlogscore=999 spamscore=0
 lowpriorityscore=0 priorityscore=1501 bulkscore=0 impostorscore=0
 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2110150000 definitions=main-2201040057

SGksIERhbmllbCENCg0KT24gMjEuMTIuMjEgMTg6MDQsIERhbmllbCBQLiBTbWl0aCB3cm90ZToN
Cj4gRnJvbTogQ2hyaXN0b3BoZXIgQ2xhcmsgPGNocmlzdG9waGVyLncuY2xhcmtAZ21haWwuY29t
Pg0KPg0KPiBUaGlzIGlzIGEgc3BsaXQgb3V0IG9mIHRoZSBoeXBlcmxhdW5jaCBkb20wIHNlcmll
cy4NCj4NCj4gVGhlcmUgd2VyZSBzZXZlcmFsIGluc3RhbmNlcyBvZiBvcGVuLWNvZGVkIGRvbWlk
IHJhbmdlIGNoZWNraW5nLiBUaGlzIGNvbW1pdA0KPiByZXBsYWNlcyB0aG9zZSB3aXRoIHRoZSBp
c19zeXN0ZW1fZG9tYWluIG9yIGlzX3N5c3RlbV9kb21pZCBpbmxpbmUgZnVuY3Rpb24uDQo+DQo+
IFNpZ25lZC1vZmYtYnk6IENocmlzdG9waGVyIENsYXJrIDxjaHJpc3RvcGhlci53LmNsYXJrQGdt
YWlsLmNvbT4NCj4gU2lnbmVkLW9mZi1ieTogRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0
dXNzb2x1dGlvbnMuY29tPg0KPiBBY2tlZC1ieTogRGFyaW8gRmFnZ2lvbGkgPGRmYWdnaW9saUBz
dXNlLmNvbT4NClJldmlld2VkLWJ5OiBPbGVrc2FuZHIgQW5kcnVzaGNoZW5rbyA8b2xla3NhbmRy
X2FuZHJ1c2hjaGVua29AZXBhbS5jb20+DQo+IC0tLQ0KPiAgIHhlbi9hcmNoL3g4Ni9jcHUvbWNo
ZWNrL21jZS5jIHwgMiArLQ0KPiAgIHhlbi9hcmNoL3g4Ni9jcHUvdnBtdS5jICAgICAgIHwgMiAr
LQ0KPiAgIHhlbi9jb21tb24vZG9tYWluLmMgICAgICAgICAgIHwgMiArLQ0KPiAgIHhlbi9jb21t
b24vZG9tY3RsLmMgICAgICAgICAgIHwgNCArKy0tDQo+ICAgeGVuL2NvbW1vbi9zY2hlZC9jb3Jl
LmMgICAgICAgfCA0ICsrLS0NCj4gICB4ZW4vaW5jbHVkZS94ZW4vc2NoZWQuaCAgICAgICB8IDcg
KysrKysrLQ0KPiAgIDYgZmlsZXMgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlv
bnMoLSkNCj4NCj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9jcHUvbWNoZWNrL21jZS5jIGIv
eGVuL2FyY2gveDg2L2NwdS9tY2hlY2svbWNlLmMNCj4gaW5kZXggN2Y0MzMzNDNiYy4uNWMxZGYz
OTA3NSAxMDA2NDQNCj4gLS0tIGEveGVuL2FyY2gveDg2L2NwdS9tY2hlY2svbWNlLmMNCj4gKysr
IGIveGVuL2FyY2gveDg2L2NwdS9tY2hlY2svbWNlLmMNCj4gQEAgLTE1MTgsNyArMTUxOCw3IEBA
IGxvbmcgZG9fbWNhKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGVuX21jX3QpIHVfeGVuX21jKQ0K
PiAgICAgICAgICAgICAgIGQgPSByY3VfbG9ja19kb21haW5fYnlfYW55X2lkKG1jX21zcmluamVj
dC0+bWNpbmpfZG9taWQpOw0KPiAgICAgICAgICAgICAgIGlmICggZCA9PSBOVUxMICkNCj4gICAg
ICAgICAgICAgICB7DQo+IC0gICAgICAgICAgICAgICAgaWYgKCBtY19tc3JpbmplY3QtPm1jaW5q
X2RvbWlkID49IERPTUlEX0ZJUlNUX1JFU0VSVkVEICkNCj4gKyAgICAgICAgICAgICAgICBpZiAo
IGlzX3N5c3RlbV9kb21pZChtY19tc3JpbmplY3QtPm1jaW5qX2RvbWlkKSApDQo+ICAgICAgICAg
ICAgICAgICAgICAgICByZXR1cm4geDg2X21jZXJyKCJkb19tY2EgaW5qZWN0OiBpbmNvbXBhdGli
bGUgZmxhZyAiDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJNQ19N
U1JJTkpfRl9HUEFERFIgd2l0aCBkb21haW4gJWQiLA0KPiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAtRUlOVkFMLCBkb21pZCk7DQo+IGRpZmYgLS1naXQgYS94ZW4vYXJj
aC94ODYvY3B1L3ZwbXUuYyBiL3hlbi9hcmNoL3g4Ni9jcHUvdnBtdS5jDQo+IGluZGV4IDhlYzQ1
NDdiZWQuLmM2YmZhNWEwMGUgMTAwNjQ0DQo+IC0tLSBhL3hlbi9hcmNoL3g4Ni9jcHUvdnBtdS5j
DQo+ICsrKyBiL3hlbi9hcmNoL3g4Ni9jcHUvdnBtdS5jDQo+IEBAIC0xODgsNyArMTg4LDcgQEAg
dm9pZCB2cG11X2RvX2ludGVycnVwdChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykNCj4gICAg
ICAgICogaW4gWEVOUE1VX01PREVfQUxMLCBmb3IgZXZlcnlvbmUuDQo+ICAgICAgICAqLw0KPiAg
ICAgICBpZiAoICh2cG11X21vZGUgJiBYRU5QTVVfTU9ERV9BTEwpIHx8DQo+IC0gICAgICAgICAo
c2FtcGxlZC0+ZG9tYWluLT5kb21haW5faWQgPj0gRE9NSURfRklSU1RfUkVTRVJWRUQpICkNCj4g
KyAgICAgICAgIGlzX3N5c3RlbV9kb21haW4oc2FtcGxlZC0+ZG9tYWluKSApDQo+ICAgICAgIHsN
Cj4gICAgICAgICAgIHNhbXBsaW5nID0gY2hvb3NlX2h3ZG9tX3ZjcHUoKTsNCj4gICAgICAgICAg
IGlmICggIXNhbXBsaW5nICkNCj4gZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vZG9tYWluLmMgYi94
ZW4vY29tbW9uL2RvbWFpbi5jDQo+IGluZGV4IDA5M2JiNDQwM2YuLjM0N2NjMDczYWEgMTAwNjQ0
DQo+IC0tLSBhL3hlbi9jb21tb24vZG9tYWluLmMNCj4gKysrIGIveGVuL2NvbW1vbi9kb21haW4u
Yw0KPiBAQCAtNTgzLDcgKzU4Myw3IEBAIHN0cnVjdCBkb21haW4gKmRvbWFpbl9jcmVhdGUoZG9t
aWRfdCBkb21pZCwNCj4gICAgICAgLyogU29ydCBvdXQgb3VyIGlkZWEgb2YgaXNfaGFyZHdhcmVf
ZG9tYWluKCkuICovDQo+ICAgICAgIGlmICggZG9taWQgPT0gMCB8fCBkb21pZCA9PSBoYXJkd2Fy
ZV9kb21pZCApDQo+ICAgICAgIHsNCj4gLSAgICAgICAgaWYgKCBoYXJkd2FyZV9kb21pZCA8IDAg
fHwgaGFyZHdhcmVfZG9taWQgPj0gRE9NSURfRklSU1RfUkVTRVJWRUQgKQ0KPiArICAgICAgICBp
ZiAoIGhhcmR3YXJlX2RvbWlkIDwgMCB8fCBpc19zeXN0ZW1fZG9taWQoaGFyZHdhcmVfZG9taWQp
ICkNCj4gICAgICAgICAgICAgICBwYW5pYygiVGhlIHZhbHVlIG9mIGhhcmR3YXJlX2RvbSBtdXN0
IGJlIGEgdmFsaWQgZG9tYWluIElEXG4iKTsNCj4gICANCj4gICAgICAgICAgIG9sZF9od2RvbSA9
IGhhcmR3YXJlX2RvbWFpbjsNCj4gZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vZG9tY3RsLmMgYi94
ZW4vY29tbW9uL2RvbWN0bC5jDQo+IGluZGV4IDg3OWEyYWRjYmUuLmEzYWQxZjYyYjYgMTAwNjQ0
DQo+IC0tLSBhL3hlbi9jb21tb24vZG9tY3RsLmMNCj4gKysrIGIveGVuL2NvbW1vbi9kb21jdGwu
Yw0KPiBAQCAtNTIsNyArNTIsNyBAQCBzdGF0aWMgaW5saW5lIGludCBpc19mcmVlX2RvbWlkKGRv
bWlkX3QgZG9tKQ0KPiAgIHsNCj4gICAgICAgc3RydWN0IGRvbWFpbiAqZDsNCj4gICANCj4gLSAg
ICBpZiAoIGRvbSA+PSBET01JRF9GSVJTVF9SRVNFUlZFRCApDQo+ICsgICAgaWYgKCBpc19zeXN0
ZW1fZG9taWQoZG9tKSApDQo+ICAgICAgICAgICByZXR1cm4gMDsNCj4gICANCj4gICAgICAgaWYg
KCAoZCA9IHJjdV9sb2NrX2RvbWFpbl9ieV9pZChkb20pKSA9PSBOVUxMICkNCj4gQEAgLTUzNiw3
ICs1MzYsNyBAQCBsb25nIGRvX2RvbWN0bChYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhlbl9kb21j
dGxfdCkgdV9kb21jdGwpDQo+ICAgICAgICAgICBpZiAoICFkICkNCj4gICAgICAgICAgIHsNCj4g
ICAgICAgICAgICAgICByZXQgPSAtRUlOVkFMOw0KPiAtICAgICAgICAgICAgaWYgKCBvcC0+ZG9t
YWluID49IERPTUlEX0ZJUlNUX1JFU0VSVkVEICkNCj4gKyAgICAgICAgICAgIGlmICggaXNfc3lz
dGVtX2RvbWlkKG9wLT5kb21haW4pICkNCj4gICAgICAgICAgICAgICAgICAgYnJlYWs7DQo+ICAg
DQo+ICAgICAgICAgICAgICAgcmN1X3JlYWRfbG9jaygmZG9tbGlzdF9yZWFkX2xvY2spOw0KPiBk
aWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9zY2hlZC9jb3JlLmMgYi94ZW4vY29tbW9uL3NjaGVkL2Nv
cmUuYw0KPiBpbmRleCA4ZjRiMWNhMTBkLi42ZWE4YmNmNjJmIDEwMDY0NA0KPiAtLS0gYS94ZW4v
Y29tbW9uL3NjaGVkL2NvcmUuYw0KPiArKysgYi94ZW4vY29tbW9uL3NjaGVkL2NvcmUuYw0KPiBA
QCAtODIxLDcgKzgyMSw3IEBAIGludCBzY2hlZF9pbml0X2RvbWFpbihzdHJ1Y3QgZG9tYWluICpk
LCB1bnNpZ25lZCBpbnQgcG9vbGlkKQ0KPiAgICAgICBpbnQgcmV0Ow0KPiAgIA0KPiAgICAgICBB
U1NFUlQoZC0+Y3B1cG9vbCA9PSBOVUxMKTsNCj4gLSAgICBBU1NFUlQoZC0+ZG9tYWluX2lkIDwg
RE9NSURfRklSU1RfUkVTRVJWRUQpOw0KPiArICAgIEFTU0VSVCghaXNfc3lzdGVtX2RvbWFpbihk
KSk7DQo+ICAgDQo+ICAgICAgIGlmICggKHJldCA9IGNwdXBvb2xfYWRkX2RvbWFpbihkLCBwb29s
aWQpKSApDQo+ICAgICAgICAgICByZXR1cm4gcmV0Ow0KPiBAQCAtODQ1LDcgKzg0NSw3IEBAIGlu
dCBzY2hlZF9pbml0X2RvbWFpbihzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgcG9vbGlk
KQ0KPiAgIA0KPiAgIHZvaWQgc2NoZWRfZGVzdHJveV9kb21haW4oc3RydWN0IGRvbWFpbiAqZCkN
Cj4gICB7DQo+IC0gICAgQVNTRVJUKGQtPmRvbWFpbl9pZCA8IERPTUlEX0ZJUlNUX1JFU0VSVkVE
KTsNCj4gKyAgICBBU1NFUlQoIWlzX3N5c3RlbV9kb21haW4oZCkpOw0KPiAgIA0KPiAgICAgICBp
ZiAoIGQtPmNwdXBvb2wgKQ0KPiAgICAgICB7DQo+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94
ZW4vc2NoZWQuaCBiL3hlbi9pbmNsdWRlL3hlbi9zY2hlZC5oDQo+IGluZGV4IDI4MTQ2ZWU0MDQu
LmNkNTc1ZDAxY2YgMTAwNjQ0DQo+IC0tLSBhL3hlbi9pbmNsdWRlL3hlbi9zY2hlZC5oDQo+ICsr
KyBiL3hlbi9pbmNsdWRlL3hlbi9zY2hlZC5oDQo+IEBAIC02MTMsOSArNjEzLDE0IEBAIGV4dGVy
biBzdHJ1Y3QgdmNwdSAqaWRsZV92Y3B1W05SX0NQVVNdOw0KPiAgICNkZWZpbmUgaXNfaWRsZV9k
b21haW4oZCkgKChkKS0+ZG9tYWluX2lkID09IERPTUlEX0lETEUpDQo+ICAgI2RlZmluZSBpc19p
ZGxlX3ZjcHUodikgICAoaXNfaWRsZV9kb21haW4oKHYpLT5kb21haW4pKQ0KPiAgIA0KPiArc3Rh
dGljIGlubGluZSBib29sIGlzX3N5c3RlbV9kb21pZChkb21pZF90IGlkKQ0KPiArew0KPiArICAg
IHJldHVybiBpZCA+PSBET01JRF9GSVJTVF9SRVNFUlZFRDsNCj4gK30NCj4gKw0KPiAgIHN0YXRp
YyBpbmxpbmUgYm9vbCBpc19zeXN0ZW1fZG9tYWluKGNvbnN0IHN0cnVjdCBkb21haW4gKmQpDQo+
ICAgew0KPiAtICAgIHJldHVybiBkLT5kb21haW5faWQgPj0gRE9NSURfRklSU1RfUkVTRVJWRUQ7
DQo+ICsgICAgcmV0dXJuIGlzX3N5c3RlbV9kb21pZChkLT5kb21haW5faWQpOw0KPiAgIH0NCj4g
ICANCj4gICAjZGVmaW5lIERPTUFJTl9ERVNUUk9ZRUQgKDF1IDw8IDMxKSAvKiBhc3N1bWVzIGF0
b21pY190IGlzID49IDMyIGJpdHMgKi8NCg==


From xen-devel-bounces@lists.xenproject.org Tue Jan 04 08:58:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 08:58:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253062.434044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4fe5-0002qz-9u; Tue, 04 Jan 2022 08:58:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253062.434044; Tue, 04 Jan 2022 08: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 1n4fe5-0002qs-6o; Tue, 04 Jan 2022 08:58:17 +0000
Received: by outflank-mailman (input) for mailman id 253062;
 Tue, 04 Jan 2022 08:58:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JPIW=RU=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n4fe4-0002qm-1W
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 08:58:16 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7243106e-6d3c-11ec-9ce5-af14b9085ebd;
 Tue, 04 Jan 2022 09:58:13 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7243106e-6d3c-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1641286694;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=SOoWQ356EQU771MnuWqNAAehX7dlLboMtDNUuskMcV4=;
  b=F9JIkbt/7SaqqYV12X01Fg/eUqEqNSG7foEvZbzeswTJ6MtxERAKYneh
   Mt0qesfAvI69V4bcUIhPeJHwR7yAwAajYt1wWJBUqCTSXjH2vdlWegnrG
   QKSXQNocnE3WoPE9/5B3CPIwCx62i6O60Xc73aNOgwcrR11OAAX6vbCg3
   8=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: HKSW5DSVJVjKlU7FZdYR+RB007vYsBn2YtsvyjOgkl9wRymFKzjHIo62oYgfQ1qyppzwllcvDR
 MgaLdNV1ZSe+WT8ZhO3TX2+a1AxUIy5oLwRA2oYvSS/AovyqSiH4q5quNeWrGjcHQOZb73jU7d
 XcE0CzFPjqxs58kkLBE/ZoR/wV3BBxE0Jiu/3O2OtM59aojRg9DjvzDFVSZVyHCmpg8Njs7On1
 pkhxNR8+0Ow6cJXqA5kr86vtBw7ub4PfOM+taZxYa4p4pXBS1HZKICY/dCJROsKPYYjL3miGcB
 9Ibg5MGy/5ZW/eJL8ROjnhLb
X-SBRS: 5.1
X-MesageID: 61246014
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:HxvrH6w7xyoC+tNdFW96t+fowSrEfRIJ4+MujC+fZmUNrF6WrkVSx
 jQfWmmCb6qLYWLxKdl1aIW0p0kHu8TRz4M2SAo6qiAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnvopW1TYhSEUOZugH9IQM8aZfHAhLeNYYH1500g7wrZl2tcAbeWRWGthh
 /uj+6UzB3f9s9JEGjp8B3Wr8U4HUFza4Vv0j3RmDRx5lAa2e0o9VfrzEZqZPXrgKrS4K8bhL
 wr1IBNVyUuCl/slIovNfr8W6STmSJaKVeSFoiI+t6RPHnGuD8H9u0o2HKN0VKtZt9mGt44s9
 cRSqa63dTskBLLJgOEXFAhhEhgraMWq+JefSZS+mcmazkmAeHrw2fR+SkoxOOX0+M4uXzsIr
 6ZBbmlQMFbT3Ipaw5riIgVort4kI8TxepsWp1lrzC3DDOZgSpfGK0nPzYEBhmtu3pkSdRrYT
 +4JNDAocQryWQRgJXgtFbZl28zxmFCqJlW0r3rK/PFqsgA/1jdZyLHwNPLFd9rMQt9a9m6Ho
 krW8mK/BQsVXPSdwzeY9nOnhsfUgDj2HokVEdWQ5vNsxVGe2GEXIBkXTkeg5+m0jFakXNBSI
 FBS/TAhxZXe72TyEIO7BUfh5ifZ4FhMALK8DtHW9inTl5fF/BqrAVQ4QwRebcQjvognfD0Tg
 wrhc8zSORRjt7icSHS4/7iSrC+vNSV9EVLudRPoXiNevYC9/dhbYgbnC486TfXr1oGd9STYn
 mjikcQou1kEYSfnPY2f9EuPvT+jr4OhouUdtlSOBTLNAu+UieeYi22UBbrzsacowGWxFADpU
 J04dy+2trpmMH11vHbRKNjh5Znwjxp/DBXSgER0A74q/Cm39niocOh4uW8ifR0yb5teJWGyO
 Cc/XD+9A7cJZxOXgVJfOdrtW6zGM4C9fTgaahwkRoUXOcUgHON21CpveVSRzwjQfLsEyskC1
 WOgWZ/0Vx4yUP0/pBLvHrt1+eJ7l0gWmDKILbimnkvP7FZrTCPMIVvzGADVNb5RAWLtiFi9z
 uuzwOPWkUgCC7OnPXGMmWPRRHhTRUUG6VnNg5U/XsaIIxZ8GXFnDPnUwLg7fJdikbgTneDNl
 kxRkGcCoLYmrXGYewiMdF55b7bjAcR2oX4hZHR+Nle0wXkzJ42o6f5HJZcweLAm8s1lzOJ1E
 KZZK5nRXKwXR2SV4SkZYLn8sJdmKEahizWRMnf3ezM4ZZNhGVDEo4e2Ygv1+SASJSOrrs9i8
 aa43wbWTMNbFQRvBcrbcty1yFa1sSRPke5+RRKQcNJSZF/t4M5hLCmo1q07JMQFKBPiwDqG1
 lnJXUdE9LeV+4JsqYvHn6GJqYutAtBSJEsCEjmJ96uyOAnb4nGnnd1KXtGXcG2PT2jz4qijO
 7lYlqmuLP0dkV9WmINgCLI3n7km7t7iqrIGnARpGHLHMwaiBr96eyTU2MBOsutGx6NDuBvwU
 UWKo4EINbKMMcLjMVgQOAt6MbjTiaBKwmHfvaYvPUH3xC5r577WA0xdMi6FhDFZMLYoYpgux
 v0suZJO5gGy4vbw3g1qUsyAG7ywE0E9
IronPort-HdrOrdr: A9a23:QGPQzqxSXlufT/BONjMdKrPxtOskLtp133Aq2lEZdPULSKOlfp
 GV8MjziyWYtN9wYhAdcdDpAtjmfZr5z+8O3WB3B8beYOCGghrSEGgG1+XfKlLbak/DH4JmpM
 Jdmu1FeaHN5DtB/LfHCWuDYq8dKbC8mcjC74eurEuFDzsaE52Ihz0JdDpzeXcGIjWua6BJcK
 Z1saF81kWdkDksH4+GL0hAe9KGi8zAlZrgbxJDLxk76DOWhTftzLLhCRCX0joXTjsKmN4ZgC
 X4uj28wp/mn+Cwyxfa2WOWx5NKmOH5wt8GIMCXkMAaJhjllw7tToV8XL+puiwzvYiUmRwXue
 iJhy1lE9V46nvXcG3wiRzx2zP42DJr0HPmwU/wuwqUneXJABYBT+ZRj4NQdRXUr2A6ustn7a
 5N12WF87JKEBLphk3Glpb1fiAvsnDxjWspkOYVgXAae5AZcqVtoYsW+14QOIscHRj99JssHI
 BVfY7hDc5tABOnhk3izypSKITGZAVwIv7GeDlPhiWt6UkWoJgjpHFogfD2nR87heUAotd/lq
 D5259T5cJzp/ktHNZA7dc6MLuK41P2MGDx2UKpUB3a/fI8SjrwQ6Ce2sRB2AjtQu1O8KcP
X-IronPort-AV: E=Sophos;i="5.88,260,1635220800"; 
   d="scan'208";a="61246014"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cMDmDjOsqqEGCe1oy3paCei54BbmxUOmEdEPGjIWbziXsEGDRwS+cW/w9eV1INBtEV5eLaTOCERHclglVbdeY3koeLaf0nKHgHT7vLoCkNbaE2n4vLMh2FfSuHDFf+wtDC7XWaU+Pry+BorWCqyD/MowwqIzkuoFLowOhSCxGiDpTqqxEZ1chvb10F0MjJKis3pZJpTwl4pF01hpBMMStQ8i8ZP9kUBHavel/WFMfb/jRYng+2HYdpKhtHxO1Rmh+suvXK01T6vOH8reHw+zrmDaDpzobgNhpQ8//+ZpeFGTdOfzhwiKUrzyQjby2z8w4FLCioq/qVJyFKcAgltqDg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=s4PiulLQySHBEey5EYICd2Kk4uZhn81jQFy7AseADVU=;
 b=GzaTCdEFBCmbM0c2ciJeBI8tB9DtXA7vUDHbbBey8Aaq1hFBEh/YeCOH7ic1SXIoKlV8FhABGEpe5/RY/LhMHGDtrKH6t+lhN9PHBpfWnkGK9oglI4VYdtjWijzvKO9GWCnl4/Wj4jor4XfryLWsBl5Fz5hz+TRYtYWdygp9tvXh24u2RoHEEyVuaybIs0DZzhZdLMcCS7kYgrgkw5tTkDdIWbBq4Yt267ObSygps0wVPaX9orOxzJP7Ym2oe5MAxTMBtOhh9KB6oNk7O0oRttL2FhYlo7NpsFItlui8tQXIs1DqAueVLnmmUtONBXur6V/pky9W3YwgnMRC3558mQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=s4PiulLQySHBEey5EYICd2Kk4uZhn81jQFy7AseADVU=;
 b=BtOMgyGBQx38RFceSn3VCar8Vc+oHuzndBZUesWm1Mj7WnRP28h0hu+3U84nH4+QRB/j2HOXcJ1y6TtcR+jRo/CLJkNYgG+WGXts4jUfaAuDS7dqQuIjB85DNEp30azyt2SURW7YCIiRDioFK8yS20BUBXJ6FtACrgtPLwTKSuQ=
Date: Tue, 4 Jan 2022 09:57:50 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>, Wei Liu
	<wl@xen.org>
Subject: Re: [PATCH v2 16/18] x86: introduce helper for recording degree of
 contiguity in page tables
Message-ID: <YdQMDnfxQd3QforT@Air-de-Roger>
References: <957f067b-9fe1-2350-4266-51982f09d3a9@suse.com>
 <aab0b88b-7643-cc08-756b-0684f93be257@suse.com>
 <Ybn0LaRuFpUfcmoU@Air-de-Roger>
 <bbcbd938-170d-94dc-4fa3-49766fb2a9c3@suse.com>
 <YcCgV/o+1I0qry+q@Air-de-Roger>
 <d85733fe-2ab1-086e-15cc-e4ef68be4596@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <d85733fe-2ab1-086e-15cc-e4ef68be4596@suse.com>
X-ClientProxiedBy: MR1P264CA0101.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:50::16) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 51ee0ae0-c47c-4fcc-7bc8-08d9cf604cd4
X-MS-TrafficTypeDiagnostic: DM6PR03MB4603:EE_
X-Microsoft-Antispam-PRVS: <DM6PR03MB46033A3069D6F162CB9AA0F18F4A9@DM6PR03MB4603.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: F2b7GYRMm2s0NPBPbiwFM7uPRUDwh+gEzumxQpLZPypNTuE2jqZP4m8Lcck81wVQkjiWQYnbuqaQJQxziue9re6/f1VQzmaP6AV4svPqScGgMvIuyyQnfS6r6jGRiN2GtOuFv5cDPdagpGJb9Iw06Y3kUOc3pfUnO3Pdl2LyhWL+QsxsPfCU+O16mIPta4OmRbReetse4xAICYmiTFkGqnSShkzGDoP7Tnn4Ji1kNPbD5j3tvJYm2NODFay+iIdyYa6jtheYWpq7D59MXjP+wkfpjRzjetLP8t0y7vz8vN8R1pOFNuasMAO0H+xPFkN/fZ8ZBpEeTLlZcZO2rqiUpZOBIEizYGDUaUzMT7Q24xxzNmMfqU7CJpkPbpqDfOij/TEATy8gHlUJ54nTmHdI7IcDImU4bASqfEKCxno7bdEBPMO/SQ24UJmbo/6Lp/zQv2fmRlSbulc+oaGzea+IXKcOtb9DfP4lbc90KpyDQEMl11s4WJHUNwJoR/joKxGifALhDM/CqWeSS41TrQCxeR7eWWZqtTDGSg3SqCx4YKY812ul6kTMkMK1zzZXtPHVRGz7g3kvm1yoefYcTCQQX7mBFZmqcBcVTwOlJWgf1/1zM7orVu+5xF+a/y/gMODyNh69HR9XRg28VIvXh7F/8Q==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(4326008)(6916009)(5660300002)(2906002)(82960400001)(54906003)(38100700002)(66476007)(26005)(66946007)(4744005)(85182001)(66556008)(8676002)(6486002)(6506007)(86362001)(6512007)(186003)(316002)(9686003)(8936002)(6666004)(508600001)(33716001)(53546011)(83380400001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UloxQVRCNzdMWmdLbEU3U2F6QVZLeW9VNTFPVjFEL3poRUZ6dEQ0SUZaTlpK?=
 =?utf-8?B?WFQyUzkxMmh1dlhGcVlYczg3K25SUGNFL0hSQndDSG5VMWZXOFZBd0Nyek9X?=
 =?utf-8?B?VVhjenVwTXdxaWgxaXgrK25KazQ3eGJQcGV0VXRITVExc3dPOWphT0lINVFn?=
 =?utf-8?B?MlZHVHJGYnJHR2dRVC8ydjYyQ2ZmQ0xUc3BHOWR2cXVjS3NrL2NXRlQ3MzZQ?=
 =?utf-8?B?VDJnN2dIei9weWJZVFNISTN4MmJYMjYvT3NKRzdydE04Zy9sbjRPMzlTNVo5?=
 =?utf-8?B?OE9nTXBwTEtLUnBReVhwekRlQWZXUDVFWFdSK280amJkWUszazZaVVc5WUxK?=
 =?utf-8?B?VU1aVlZUem9vdjNkWXpsT1c3NUYvbFpwWjFsUCtZL0lrMHBMSGF1cVpvS0Y0?=
 =?utf-8?B?dGxqd1ZMdDMwMkwxaGVZM2xHOGNnMnVyTncxcnJTbWlZL1pTaUt1SGZuSlNX?=
 =?utf-8?B?TS8wWkJWemxVS2ZPNHEzWUN5Vkl3MEhCeHV1UFJheEdNODRYYW82TnVPWUNG?=
 =?utf-8?B?NzV5Y09YYUJFNE14ditsVHM1TnhlSFZtVDYzb0RVVjIzUjJ2TEkrdVhFandT?=
 =?utf-8?B?TUFscjhJY0RZNlJkNVVjdlptRmNpWm5QeGgvZmpSUU5zQXlsQkNEaWQ0N1Bv?=
 =?utf-8?B?eGMzanNGMzJRdEh6ZUFmUFk4NlZqT0gvandPVXpDUG9ocjJwZGw0dnF4STlr?=
 =?utf-8?B?Rko4cGZjMTFXdVpXTzNjSWNxT25pNStVYlplQXBRMlhvRDJOWTVITHJlWHVO?=
 =?utf-8?B?eGxTNElwNy9wU2ROc0tQMTZnckVZdjdWdEUvQ1kxWmZsQm84L0QrVUhHaEVj?=
 =?utf-8?B?NlhPd3dKSTZDWGpOazRQUlE5eFM2T29yUHZOaWhOeTFuN3hicGErZEJsYjVi?=
 =?utf-8?B?cnFiYjIrSjlWMUtLaWVGR0o3K0J5bFRKcXRRUVp5MGdaWmQ2QTdYVU9yazR2?=
 =?utf-8?B?YURhWlJiQ1VFbWVhbjUzUEtrYXkxM2JveVlQTXliRTBvc2JrNjB3VkFYejB3?=
 =?utf-8?B?QXFUMFBhOEdDU0lyV3hZdEFFL21FM3dLTUlGSFQ4WTFVNjVXTnZMSHhvNmw0?=
 =?utf-8?B?dGFCdTNTejJwVnVMek5ra2N1cTdncmwreHhvQUtPWDZJRUdsUGM3OHZmRW1o?=
 =?utf-8?B?cUJBWng1OHpaQU1yYkhod3NZUnRmT0ZFUXVsMzgxNE9JWUQ1dEVGdHRBTk5i?=
 =?utf-8?B?djE1dEl3NzJ0K1JOb2lGbmo5eXlkeXRsVnFYaFpxQmQ1WjlnNm50dUoybmJR?=
 =?utf-8?B?QnFJZnNwbkNiZHplZzBQV0ZNSGlGTTlkZFFUMzVGSDduUThtL2tHZEpLeWdD?=
 =?utf-8?B?dmo0bmsvYnkvT0NrajE3RGhUMlNhN09KTzhJemk2bStNNGtBU2I5QVlTSTI4?=
 =?utf-8?B?U0xwdGlNc2lYb0VxSXd6d21GaDRHM1ZSdTJzTmJJOG1qWkt6UmdBcnlJODdw?=
 =?utf-8?B?eW82em9xdDdGSGIwSnZjQ2VhT1VodXVUWjlORGRTdWx4bWk5T1ZZd3kzcnNV?=
 =?utf-8?B?VEV1bUttU0VORit2MG1CUVZKSUlEVi9mSkg2Wno3amRLN3J3d3ZrKzRvZ0RP?=
 =?utf-8?B?azRlOC9YemNWZGNIcE01WmJQZlNEeDZrNEV2WUZwZWhxYXpPbWdnbkNXd0c1?=
 =?utf-8?B?c2ZaYkQwQ2g4WGczaUo3MUM2TTczeXljYTE4ZWd5SGUyVmNCblQzQmdobDhP?=
 =?utf-8?B?eXNsSEgxMXRlbU42dGtlcnJEUWxldUVtcnFkQ004eEJ3ci9wWnd1TDAxaFhO?=
 =?utf-8?B?VTVDSFBXbUpPSXAybDNERUY2OHpxNlRrbUZGQWVHK2tKM1UzdEc0UFlORisy?=
 =?utf-8?B?ckxBRmMwcnB5U004V2VRdFRxc2tUdDg4NWVtcG9HVUdieWdYWTdoUG9RbjE2?=
 =?utf-8?B?S2Q0VWxwaDE0SEcxYjZNV3ZZYzhFQjlLbkNtNElCaTFTV0FMc01waUk4M3Bv?=
 =?utf-8?B?WmhCLzN4UEh5blB1dmxsdlhRV1BGa2NqWTM4TmV0OU8rQmIybWdvTkdramEw?=
 =?utf-8?B?WHZHcU1wTW9qWjJHV1J1bkxxMEFRMnRNSnlZRTFJbmtWRzZtUndNZDlIQ0pv?=
 =?utf-8?B?cFMrTll6RHFrTFYyenBYa3lXZ1FKKzJHY0g2ZGhUWEwxNkttS0ZMLzBvaEVM?=
 =?utf-8?B?UWZ6elhLdW1vUTVVOWF2bEJJWHZZWURGaHRwT1h5SEVaV2lNVDdZSnpVcERl?=
 =?utf-8?Q?cRDjAin02E0R+psQfcpH3YQ=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 51ee0ae0-c47c-4fcc-7bc8-08d9cf604cd4
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2022 08:57:56.6813
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Y8u48IFIh1cb97rjiaWYOZVag+VJzOlt1zRSj8ZEwS0wx0g3kajguTkq4fFPXAXRMPC+tIXYgLdqoVe5LsREXA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4603
X-OriginatorOrg: citrix.com

On Tue, Dec 21, 2021 at 09:09:45AM +0100, Jan Beulich wrote:
> On 20.12.2021 16:25, Roger Pau Monné wrote:
> > I think it might be interesting to add some kind of unit testing to
> > this code in tools/tests. It's a standalone piece of code that could
> > be easily tested for correct functionality. Not that you should do it
> > here, in fact it might be interesting for me to do so in order to
> > better understand the code.
> 
> Actually I developed this by first having a user space app where I could
> control insertions / removals from the command line. Only once I had it
> working that way was when I converted the helper function to what's now
> in this header. But that user space app wouldn't directly lend itself to
> become an element under tools/tests/, I'm afraid.

Also, I'm curious, did you develop the algorithm yourself, or is there
some prior literature about it? I wonder how other OSes deal with this
problem if they support coalescing contiguous pages.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jan 04 09:00:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 09:00:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253066.434055 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4fgE-0004DU-N1; Tue, 04 Jan 2022 09:00:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253066.434055; Tue, 04 Jan 2022 09:00:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4fgE-0004DN-Jz; Tue, 04 Jan 2022 09:00:30 +0000
Received: by outflank-mailman (input) for mailman id 253066;
 Tue, 04 Jan 2022 09:00:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+k5u=RU=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n4fgD-0004DD-0e
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 09:00:29 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c2dcbcd5-6d3c-11ec-9ce5-af14b9085ebd;
 Tue, 04 Jan 2022 10:00:27 +0100 (CET)
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur02lp2052.outbound.protection.outlook.com [104.47.5.52]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-37-b-IkWBMxOK-Lvx2SOXl7BA-1; Tue, 04 Jan 2022 10:00:26 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VE1PR04MB6672.eurprd04.prod.outlook.com (2603:10a6:803:127::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4844.15; Tue, 4 Jan
 2022 09:00:25 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.016; Tue, 4 Jan 2022
 09:00:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c2dcbcd5-6d3c-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641286827;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=fJML5ANT7+aee/b26jTKbaQrGRXVmoyOXhnIwmr1v7c=;
	b=Rfxm+MMzpkI+A/gcohBryiKcTQWeRBe7vpJlm/62WKuLgu1GeCQ39azzreNPyj8SYuTUpT
	ZO1ggEsmI8jy9iUt2amWmIMxvj6ZXKDEIOMr7wwZx5V5seLXwfxQqAgLCuBiZdVnVRdBDC
	lbvso0wOY/aftbWQN7pliuc0jDKU04Y=
X-MC-Unique: b-IkWBMxOK-Lvx2SOXl7BA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WNE2Le4g9z8Sk+LPym8MT7n3kJOhqi5MTtZPzA9acKFSS8Xmn1bMav2I1Q2zHG5cwxY6pt4EzlnuVfKaVeb09P3hFFXtTfEhHxwfokdYBHhq/CLAollZjHtQgsWUysO0OH1bisKIs17mQpJip9JYcWSI71K5mq5pR6CLrf8upE6bqmlKuzWQbCNa/7gSQ7RHnuiR3wImqVBUr2/flSnmK4NrE1478iBQISQaFwxeaeyali7IUNpXt6jmUyiPA3eHEfwin034PK9lQgsoFbriBSOfeYr2rusQhZDeKSG2dijAigYsCklByvZC8gXDl8IMVKsVJMccybd/D7pM8IMmgw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EEAqyrFzTe7CraWNa6ySIpD+D56Cbi1riRoV+vFlOs4=;
 b=M++KkhgCLcpbCIanlbzoKo0mQsVDYd9WDvLxWiEE+n+uL4qOrLERRIqSgoeYAE3VMrLdkmzgLFZE230QeBVJ+hFYELfmDLJ01mTS65jAzXhHlGCLwtfNyb13aWlDtLJeMJzbTwjRcVOqoSE/b3SLFU7cEZ8fsx6se0ap8hft5X8CNRg/U2eHzWj+lzQmjUpui5mdSRpejeAqiYyXE4kpY3n3Bs5B5yLskbXC3urnivaymolKw3Bwvfesss8Iyq0CnhfZe0xaRi9gWhUnKbwAdoovaqOshYuzLHBZxXZv3yI55iyc02yqc69pc6/s/RIaZ8YcTxZygJUOate/PoNkdQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <aecec46c-ac3c-3db9-640f-8e98c960a4f3@suse.com>
Date: Tue, 4 Jan 2022 10:00:33 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH v2 16/18] x86: introduce helper for recording degree of
 contiguity in page tables
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 Wei Liu <wl@xen.org>
References: <957f067b-9fe1-2350-4266-51982f09d3a9@suse.com>
 <aab0b88b-7643-cc08-756b-0684f93be257@suse.com>
 <Ybn0LaRuFpUfcmoU@Air-de-Roger>
 <bbcbd938-170d-94dc-4fa3-49766fb2a9c3@suse.com>
 <YcCgV/o+1I0qry+q@Air-de-Roger>
 <d85733fe-2ab1-086e-15cc-e4ef68be4596@suse.com>
 <YdQMDnfxQd3QforT@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YdQMDnfxQd3QforT@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM6P192CA0097.EURP192.PROD.OUTLOOK.COM
 (2603:10a6:209:8d::38) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b5afc5be-ca7e-40eb-646c-08d9cf60a576
X-MS-TrafficTypeDiagnostic: VE1PR04MB6672:EE_
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB6672F2A40CE81C81718F1987B34A9@VE1PR04MB6672.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:
	8UXGjsgQ14S2tqNOpH/HFeM2JcWmkmEhlCsXvgb2biNvOjTKy8Zg4mGk6A2My9yKG1GWAGYq8ZmKQi4Ga9RXtxCWv8DOLH/5HgfQ1eWxBXSHUPvupiY4602mmh/SWbDhYq9rMIp1cGPRgjO2HVoXUEJvph1+6hMK/ApAphGNLKXvR17Wuy/sFhiIr7Jw5ZOBY6tR0IU8d2Zbc1tkOl4GvCcvFnKOLsN2DIYocKfdw9pP2eZ07dlcEZlfSfma0+lwb111DoFH+/wLxzuPwR4G0tfvuVUiBGjYr0XQP4vRqXqPStSlvquoOxIM+2loPzXgbspqgTADNwokNTixK065gh+Vdv4JTLSO+gl+/1NYboAh2j+ezqKOrQyvuN1BOi49eO8A+rCqUoQTrYIXIXWOMPOD5wEUna8UQlsNYKgDTMXMKnQ7OR1QhCLQhf3Ft/SwGwZxpQ49U5m84uJgzVrXOuoc8pv3gymhjoA1o59EajFlbeGBSuoGwaxYPdEd60MvuNrV48wI5PJId74zHbG8m1meWEZ9LofBr5GaambmTQP4qcHrlc0cxzI6KO/3wOGCA3C+sl7zi36saBE3JSl+PprSjsC4AKIgkXj+mgihpU8K+DBgmxR7VLsDjuyx00sJUQnTIHM6Tf4PgoEnvLPJr+gJxCSjFx1F1xAk/uwCg7qEp2rL73Gz9zEtzPBpeU4EkEyGkOOclg4v5Mo23sz+Je8RxGlO4aY3UCxkTnod8X8=
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)(6512007)(6916009)(6666004)(316002)(66476007)(83380400001)(508600001)(53546011)(8936002)(66946007)(2616005)(2906002)(31696002)(36756003)(66556008)(26005)(86362001)(8676002)(6506007)(5660300002)(4326008)(6486002)(54906003)(186003)(31686004)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?mrw8yZE8ougiKbizEMBVtR58W9AJAss/fbFyYBtLS4akr2bzlcnCAjV7kOif?=
 =?us-ascii?Q?v6k9jkueVYF9K6/oHWpBMcbGUcurDSxIwr/NVPeWApNfD+/OsdZTUtyaNwk+?=
 =?us-ascii?Q?MisRqaTkUKgI6BxCB5wraAVgYb2qWe5fX6XBHiWIJt+EvV1daAI6i6wFcx37?=
 =?us-ascii?Q?YS8xhTrklJ2IBqpJChGbxT7hgydas9Vbxl4DNDsIXDQY10oiIQrCc74dJjcX?=
 =?us-ascii?Q?/5YXJujpM3p7w1NXRhBubTc4PzAWZUxlkt5FJRzrZIpiqt+r8/QM6vaMGBg+?=
 =?us-ascii?Q?yJu5lNW1XbRLzV7d38dormBvApJpjmwGM7gy1NCyozXxL9rtNxvJquAn9QYf?=
 =?us-ascii?Q?a9u41rpnytNuwiG5h/eZfIeNaAg2paIMIboBa5z9+0l49EJpfBMwe0ON5zG9?=
 =?us-ascii?Q?ox8Iu6+hY1SEkOfWxhQyCT0MCtcUnpttTrp1w4tf87tOrdEzdqgqKt8f9iBj?=
 =?us-ascii?Q?K31tT5B858uozZl7RR2X4Jfl4ZJtFTZBXz26e+0s1H3+IoJCVv/DwAuYpZAo?=
 =?us-ascii?Q?0oNQPXz196YHMX+4nJzH68Jeku7h5cO/S3iRZbLYJt4xW9oIipzUmBnwxbKB?=
 =?us-ascii?Q?S1DS4F4oBS3njC1aP+9RraTTmKlN+49shW7I33vZOZafRWhsbGTJHpjzVvCU?=
 =?us-ascii?Q?qvKzNpiZHuStP2f1cW1xmgUJUglMjfZUo4lfwvnbzGVGIELQFPs3I+ZcyFlq?=
 =?us-ascii?Q?Y5cthMroLVOldopbspsmOu6ASiwTYd7S5amARUZ/yd5keqk0XJwm4ePW8nV4?=
 =?us-ascii?Q?Yywb82QX58ALG30tfOEEcYjgOoj/S1c7zliCai9JzqHcNoI1nIHAStjl+dH4?=
 =?us-ascii?Q?ST4HKNmuIvP8SOYW2ZSQv7xhwIvuUr5vWuKwuUBW4bJZ53L+cEZGl5I2LsBS?=
 =?us-ascii?Q?ZUjocZVCAcYIpx05t7zyTCmSIhLeQ+b+yskSy4e0kabwuE0QFSOX6/3aDWxo?=
 =?us-ascii?Q?nDUjYJnu67mW78XTVbJvgluDPwaXapsObxASngNXfAbo8Soy0cwsOWIuPT9m?=
 =?us-ascii?Q?6GZCEWACkMvH5vR5XD2hc8uKaXup40DkG5NIPau9tbD/cMwXE44ZLGxwF9d3?=
 =?us-ascii?Q?HRcQAAwMzASHMwKc/jyiKD4PIomPZZkg4q45cYd+uA/ksfItJkhqLI7uAEft?=
 =?us-ascii?Q?E3ru8fdSH9zf401nuJZWx8ysrE1cFYc8oA4l5fyUZzSwKD4/d/rhTtBv/N2D?=
 =?us-ascii?Q?SkiY2DYNqAocx88GoU0CuMuCMzwZKpge5+xrhg3/eoJbGy8N0jFdxfuY6Tkr?=
 =?us-ascii?Q?6Ab4/Ly8GwIB1Z6aovHAPvAjl3xK/vGSnirlWuL5Rj8IiPeSxgQiW91wzo7F?=
 =?us-ascii?Q?jWkObL2HkBr0A2DEFLJhbb6q0+jAcnG+JlcVApR5VnB6hlRab2N1dKBkB9oC?=
 =?us-ascii?Q?SOzZKSQucOqIdMGfwkUwUrXzh4kFw4HLIDecRTnRBehGlm6L9nQq6pUewgbl?=
 =?us-ascii?Q?ll7iPy5g4kN9Z5hyQGEqA8ej0CesgGz8Cd6reMhT5y6mRZssKP1Cx9wdQd26?=
 =?us-ascii?Q?F2X85S3FEb77CWuRMCxuR5a2ZVVj+3jT6FFasmvT0qrd947EG8pAM+zP4Y5O?=
 =?us-ascii?Q?r2dBQ5m8/9M3X6oouC1uEV95OR6fnV5tbp3XCCpGjI0lkcgYGDy6+5Ojhmhg?=
 =?us-ascii?Q?F8fVksON8LYOaFfv0hEbM2w=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b5afc5be-ca7e-40eb-646c-08d9cf60a576
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2022 09:00:25.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: Ltbcq7uDwHpWLV7vZ/I7Yf3O04OAj50gaTKpUR+6/g+TPIfvo8DeYCzhrDQwfAVfNON+TmE8PKrEfpDm5Ytywg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6672

On 04.01.2022 09:57, Roger Pau Monn=C3=A9 wrote:
> On Tue, Dec 21, 2021 at 09:09:45AM +0100, Jan Beulich wrote:
>> On 20.12.2021 16:25, Roger Pau Monn=C3=A9 wrote:
>>> I think it might be interesting to add some kind of unit testing to
>>> this code in tools/tests. It's a standalone piece of code that could
>>> be easily tested for correct functionality. Not that you should do it
>>> here, in fact it might be interesting for me to do so in order to
>>> better understand the code.
>>
>> Actually I developed this by first having a user space app where I could
>> control insertions / removals from the command line. Only once I had it
>> working that way was when I converted the helper function to what's now
>> in this header. But that user space app wouldn't directly lend itself to
>> become an element under tools/tests/, I'm afraid.
>=20
> Also, I'm curious, did you develop the algorithm yourself, or is there
> some prior literature about it?

I would have added some form of reference if I had taken it from somewhere.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 04 09:34:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 09:34:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253081.434098 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4gCb-0007q7-N4; Tue, 04 Jan 2022 09:33:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253081.434098; Tue, 04 Jan 2022 09: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 1n4gCb-0007q0-Jx; Tue, 04 Jan 2022 09:33:57 +0000
Received: by outflank-mailman (input) for mailman id 253081;
 Tue, 04 Jan 2022 09:33: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 1n4gCa-0007pq-8O; Tue, 04 Jan 2022 09:33: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 1n4gCa-00082Q-4Q; Tue, 04 Jan 2022 09:33: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 1n4gCZ-00049L-Oz; Tue, 04 Jan 2022 09:33:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n4gCZ-0006G7-OX; Tue, 04 Jan 2022 09:33:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=YujUgpl3A6RoPyoij+7S07zqyFDv+MiBclWQQHYq3s8=; b=QoLLbD/UMfWfwI5O+yO9I7EoiO
	J+WEOv4syUpJbLQymo6vkQ30+V0ahdsbLpGSbvReuhamqbsepkrVSpd8Bjx/ivSVzkmhd+xefjrXg
	rlNNGwx383FxuYG06Avxb1X6jz47SRRSa6+Hl7wpt2MZfhhlt/dfr0ldZgvytytaBkJM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167597-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167597: 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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt: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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-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: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt: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: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-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-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=f1e268b9fd13647e1f69c8ce0ae7be401d319fc8
X-Osstest-Versions-That:
    xen=f1e268b9fd13647e1f69c8ce0ae7be401d319fc8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 04 Jan 2022 09:33:55 +0000

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

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

version targeted for testing:
 xen                  f1e268b9fd13647e1f69c8ce0ae7be401d319fc8
baseline version:
 xen                  f1e268b9fd13647e1f69c8ce0ae7be401d319fc8

Last test of basis   167597  2022-01-04 01:52:57 Z    0 days
Testing same since                          (not found)         0 attempts

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


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

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

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

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


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Tue Jan 04 09:39:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 09:39:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253091.434109 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4gI0-00008A-Iz; Tue, 04 Jan 2022 09:39:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253091.434109; Tue, 04 Jan 2022 09:39:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4gI0-000083-Fj; Tue, 04 Jan 2022 09:39:32 +0000
Received: by outflank-mailman (input) for mailman id 253091;
 Tue, 04 Jan 2022 09:39:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+k5u=RU=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n4gHz-00007x-8u
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 09:39:31 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 36f813f7-6d42-11ec-9ce5-af14b9085ebd;
 Tue, 04 Jan 2022 10:39:30 +0100 (CET)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2059.outbound.protection.outlook.com [104.47.6.59]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-16-bUchcg2_M42YC5go7lVvTQ-1; Tue, 04 Jan 2022 10:39:29 +0100
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.4844.16; Tue, 4 Jan
 2022 09:39:26 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.016; Tue, 4 Jan 2022
 09:39:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 36f813f7-6d42-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641289169;
	h=from:from:reply-to:subject:subject: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=35n8/KGZRboqH0+ctDvw2AuDGPL5TMNpoJaEjhXc4dc=;
	b=i/GtBIUXH4orlZlFjDn1eUv3mgm9b7eEX4Pm46g2Ohue8nZrIUvwwobDz5NDoGvTA90etj
	5QHQcY86WwZxd4Hnz4DYsA0ym6iSkEA0JH8I84mJ9O2Sxns8XQdzXROJQwpt2i9ArBkzz/
	aTTta01Put1f4KRMU26geSOYxBXTbN0=
X-MC-Unique: bUchcg2_M42YC5go7lVvTQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=be9I7tqXgjxhTe9Xx6kl1tKMsIrRZUg0wc41OckKt7MuXrtYBV9cYOCeHwFz+GQ3QyTZXiIitpOHK6gl59A4hqIUUN8ifJjYPHA7npHHuqS0kleJeNf7COfxD/5UiT5O+70gTUBakV6uAoOzTkb44pBBTDEZVcFP/0jV0ooaSr8032Lhnk8jE3s0GUq8bKyvVnvvu/weZxColOPw7Xx5FFPI8MVl68mICWJgNDDVWq7YCkrSHVE4/3ajzciJnS0ocrDM95FvBp6SZPMdLcrzy75hHNZHZkBiLfstRkUAPpeaErAFG0mQsohtR1TLOrrgJYZ5WvroX5PymDlpZPS4kQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=35n8/KGZRboqH0+ctDvw2AuDGPL5TMNpoJaEjhXc4dc=;
 b=OMDUGxMWgKNaHMRNnyN7PrLmWzs6Y6BG2UVvRgSF7ftcWnol9c668hobcAjKKhFGcNwJqt67jhRu2RsQV4W4CNx7Q1ax6i+kpJGbbcIEKOvBJmlKinZeeVIcrXBe/n0WoOtMQ/Suw6JjOFOadVtThBq+XgqUPtnaYJucc0DhNVZz4TM3RO5aYw1A9Lsdfe15c7hXRCpqAOC2faoWHOTyQTLnfkrhXLCeevCO3n3pqqworM86s5kCC4P3kdEpTDdy6MpdWGMjx70GcVH0ZKgvr1a7vZu89cQNYuAlx9bhGfuSE7T6oIfI3wByDYFDoTbypa4I+vnOfsBzZaNuqN62kQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6fe7b036-2bdb-b391-4e6c-1b5d7e05a119@suse.com>
Date: Tue, 4 Jan 2022 10:39:35 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v3 0/2] x86/mm: get/set PoD target related adjustments
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0020.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:14::7) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: dd891243-6b02-4815-8e8b-08d9cf661938
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3390:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB339027D45860D7FAF3475538B34A9@VI1PR0402MB3390.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:
	j4F4smhNLmRDC1xM1YB5Tkut189lW9qR/JIYd7mTLrtpMNOq+hysiFNp9RTVttPLY+fFM/XT1jiCgeWdCAOko5MlNT/5z0zaUyORoy9DMX/5g4BZGwh/NxWy6zNhe6W2a8IXDbvfopiicwgeyrT6kHh+00Dha0dRL0QCyVDf3j8uui/q+c6CtlgVtQz6UOu+lF2IM6jJBvluDEZdwiU5WwxFLzhjO6+VSAs8ME/MRXdMyPe4EvvgppvPHEe5Sr/IvDh83hkX9t+wi+NUmur0PeQR0SEuUcvyzjrmYaR9jBG4xuorOz1bowQjyHvS6mUtQn9s6NIOy4mFWY2bVyJb7PY3Ghqs89PoTuYtRD9HVgz0IUB7bNUHoFQHxNmfcjIw1zyV7zpk/Rzr36x1CZCC6wCR0EckenMZveIU0kalO66WJr96ENdSbtkUEV2a8khhL3NMbTuD9BqCGleQA2rgSfYfsKWOoR3QKjmrgFoIX2M8OWosNzExHg1lYBYLvlqvifldaLWFqxRwQbJkzQGEuZ3tVl4oSDE53dhJTq3chlMk2X0oQuMR1h6/DcMOSoo+d0ZKE00iIqVvhHs02IfeZuFFHQPEbsdGQTHtfkskhpLFmkIQMqCXejinAnA4YnYtcSwFdMyzMZcWFER772XgUhxH+/b6zPvwyOjLPeGQTc1Hc6bdD3FHXLFVOqy+lHCutb3YuLOvHi8Kg0uZy3XF9tz/a2f6q+A6t3oBoLGeq3s=
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)(36756003)(6666004)(31696002)(86362001)(66556008)(54906003)(38100700002)(8676002)(31686004)(26005)(6486002)(6916009)(66946007)(6512007)(4326008)(2906002)(316002)(508600001)(66476007)(6506007)(5660300002)(8936002)(558084003)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?M29JUTBpWmdMRjQ5Zi9ObHV3NE85YlhCSFVuQyszUSt1WFZMcmJYbXpuTEhE?=
 =?utf-8?B?RHBDSFp3bEpBY0pORzByK3UxdnU4d1VaYWg4SnhVeE1XNnlKekNxSnVzVVVx?=
 =?utf-8?B?S3hRR0Q2VkFzUVlIWWoxUlhRY2h4bTh0S0YwWENEbUk0VGduUFR0amhxT0l4?=
 =?utf-8?B?YUZCeWdjZFdPWXIrQmNZWXFWRW1EcUZpOFlFNkJRbVJYcGwycnlweWVOZVVs?=
 =?utf-8?B?eGRYWmRHYnJLR1d3UlhBTmlUOUVVS08wZ205R05zMldoME5pUE5oVmp6WXRF?=
 =?utf-8?B?TTJxMTAxc2U4UlU2ZDNXSDBibksvak5PdVZjZVBtcmhucytDKzVQbmRJTFVO?=
 =?utf-8?B?NGFPak14RS95b0ovNmxvRVdFRWFrRVppZTRuRzVseVNKWWtWM2JpVkVINmdL?=
 =?utf-8?B?b1VJdGlVZWhYajF6K2RsUnVSM0NDT082WFFWRnB2T1NKTDBodmNKTUdnNUlr?=
 =?utf-8?B?SkRsa012VUViWjFiL3VMZnlrUG8yb2VuUCtSRGVIQmdzNmdxWTBOL3hnamlH?=
 =?utf-8?B?Lys2TmRPTFk1U1lXSXYyWDg2ZE8rVjBYZzljb1JyV3VhL2FTdWQwWnY1clVP?=
 =?utf-8?B?cVlxc1lORG84YmpQTmhocm5iT3lVbm5tS0UzRVBVT3gyOFhlVW9kdm0xNnJy?=
 =?utf-8?B?ZEthUmcvLzU1RDBDQm4xSGx1cE1ra0psa2FVTVdoODNMcWdLM2FDSjl1SXdh?=
 =?utf-8?B?YXRBYjEvMG1lKzQxRUtkN2V5eTB0NmEzbVd0aXhTRFBzUXdISEhjeWRsVTJX?=
 =?utf-8?B?YWdFV3dhVnNNc09aOXJkNm9kbWNpNFBqVW5WRFZuSkgvOXRZalV0NHlESVFR?=
 =?utf-8?B?V0kyRGdtK3J2azQ5azNtNkpLQjJYOUpUZEMveVNPU3hQMHQ1bGRNVkNtTmJX?=
 =?utf-8?B?RDluMm1XbHJPZ3NEN3lhTGZIb3ZwTmtZZllKQVpyZ1JNaHZiTU1YaVdxWXhF?=
 =?utf-8?B?bG84aUlLclVTVUhCb2s2ZjduN3VvTjgzNTJjS2Zad1k0clRmTEh1aXg4K1lo?=
 =?utf-8?B?UU1vSklobVVkL2paSHdGZTZ3elNSaUptZVhTNVphc1V3WkFxUSt3NUpldEJX?=
 =?utf-8?B?Y1htc1A0MkNIMFBBZ2pzRVFLaEg5aXE3YWJ1Zm1UQnZvaVhoK1NpMlFQMnRn?=
 =?utf-8?B?WDZZdG5uU3Qrbm1CUnY0bGlOdHJOc25LZld6SFM3b3hOVzZXbEJxV1ZDdUNm?=
 =?utf-8?B?QW5aaWppK3lpUWtzaC9tYldYWFFBQ2VkZGs5VDhSQjdXaHVNSW9hak9zWjZo?=
 =?utf-8?B?WTVNY3pVTy8zYjZtVDUyMFZOUUQ0TjJIQkN3VTViN2dFRFVHRFlRUVNHcVhF?=
 =?utf-8?B?YmxreE1oeDB1Zlk0ZUd2Y0JSZFpJZy9UakpUQlhDNklVeXF6L3RvcEZ0WnRo?=
 =?utf-8?B?a0hJbHBQam9YTkEzY1ZRR3ZoSlVnWUxPM0tlMFU1QVI1MXJLdUFXNTdXMzk4?=
 =?utf-8?B?cENXWU9ERFJMbnZjKzNBWmx2ditBRVpjNy9SeWlZUmo5Yyt0SGpBYS9pdnQr?=
 =?utf-8?B?a1RZdmJkL0hrbFkvcUp1djJINXdEVHhsczYzNytJSEJjUWpNYllMVlRxQVd6?=
 =?utf-8?B?a1VLVjB1VGJGWlZUN2VxNjdXejJmUlpyUzlmajkwNGl3Sm1YUzg3UU1TUnpW?=
 =?utf-8?B?MDJEU3dmMzg5UVBJbDltL3RLQkZpZWNLZ2hnY3ByMGc0RTdlQmkvNzUvaVpF?=
 =?utf-8?B?aHVVcGxsQlJxbWg4QzRHSkZncFZLTzliOVNwUzdWRGwyL2lscUJHcUkvb0VL?=
 =?utf-8?B?UEcxbGxuSlY1dGFCeFEwT2JKUkxkOVUyamlIUXVZRmdWVGxrTXR3cVk4MGh3?=
 =?utf-8?B?WlhGNzNlRDJQcUlNb3o1RjRWV3ZnR094eTk3U1BiZUF2LzZZSURkd3Y1R3VV?=
 =?utf-8?B?blN5WC81OUt3Um5aQ0VCZXIyMkRsZlp4VmRmMUV2SmZOU3NoOEFCVmQ2N0da?=
 =?utf-8?B?a0pBc3VPcEllVHJ1WFNWL1VQcXRmeVNvdGVGQlpHUU00SUZwQlN6czVoZVRy?=
 =?utf-8?B?Tk1FaElEeGorc1JqVjF4dkJGWmJDcHYrSkV3dGwxVW9yTWp0bnI4b2wyRnlo?=
 =?utf-8?B?TFZJd2VSMUdxcnV1L1ZNZ0l5VXlSeEZQZ3Z1Q2xCNFNTNFR0c1c3bmJ3bjF6?=
 =?utf-8?B?MlF5OHBBc0xWeVRCYVNtU29YbEszalRYNFh4OW5ybDkwUkRNdExOZDJSWEFY?=
 =?utf-8?Q?5iwz73BL+ku3BnN5oARbPts=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dd891243-6b02-4815-8e8b-08d9cf661938
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2022 09:39:26.7695
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lksuDgDvhJbIcnTnCXqTIqbpZCnkOZhDTTLdwbTUuK8fTKXuaBD6x97m5dAc28YYPUt+mBZ1tipUUCH+ZU0Q5A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3390

1: IOMMU/x86: disallow device assignment to PoD guests
2: x86/mm: tidy XENMEM_{get,set}_pod_target handling

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 04 09:41:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 09:41:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253095.434120 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4gJt-0001SZ-VJ; Tue, 04 Jan 2022 09:41:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253095.434120; Tue, 04 Jan 2022 09:41:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4gJt-0001SS-Ry; Tue, 04 Jan 2022 09:41:29 +0000
Received: by outflank-mailman (input) for mailman id 253095;
 Tue, 04 Jan 2022 09:41:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+k5u=RU=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n4gJr-0001SI-Ot
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 09:41:27 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7c49bdb8-6d42-11ec-81c0-a30af7de8005;
 Tue, 04 Jan 2022 10:41:26 +0100 (CET)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2057.outbound.protection.outlook.com [104.47.6.57]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-35-t8tH_XaUN4mWVjzq58toQQ-1; Tue, 04 Jan 2022 10:41:25 +0100
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.4844.16; Tue, 4 Jan
 2022 09:41:24 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.016; Tue, 4 Jan 2022
 09:41:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7c49bdb8-6d42-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641289286;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=H5dgdFi5lZ4igKvqS/wOHJKgdrw1TKxZCXD4+d9UN1E=;
	b=QfN7ZhfCICs+EMEzc0xPdlNr76PSKADuoxJTqcH9LuoYTg5L2LG9vLRRuadWr+wqN6J0cw
	omVU03y6L++lqJA9QenKOdZ8sKNqUoijljIAyxYHPs2jKwPC1T1hKzIW92+1K3PuS3AVuL
	c5nFK/CBPjBq4AFKmNg0cz8B2IDDB5c=
X-MC-Unique: t8tH_XaUN4mWVjzq58toQQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GjpfgNZAFwClw8owTnLgK7jgRgMP/esKCbXMei3E0MVBP5zVSMPvtK8ws/7i/HtwoNJOgikkn9gZ5dGhMPtsbJWlTZFxzkgnEFSpz4HhQvof1tWv1VrzjFbscEvsjILWYwN05EDhwIWKxvFyQhepeL0ditApYmiQJGqSIhMUz8K9vR4OkM4XWx+dv51FcGj5KL9el5gq7QZg7h904sXP6kkU0VDeJZ6Fp2vq8+8YIuQO3+xqP1Un7YxRrc3D51UfDJWmND8tVbCBhmSChM9qX9ErnLzekxsvXzGhIv6bcopK+JoEjcfzobReirC7C10WQmUtgSHdDwFMdNmJC2cDiA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=H5dgdFi5lZ4igKvqS/wOHJKgdrw1TKxZCXD4+d9UN1E=;
 b=Jg7ap+jwMH5uEFrnN18oBPGfnUrvZC3dMdednX4zDo4nvzXkMHX1BMaxC7Fy9eztmIR0T7WY9sajmduBuL6+KVmUy8tDCtle21u594JoMTZLV1bkG+DlrRpm8bK/GBoAwPKQYnlskrVOheP0rErl9A08dFq6ruOH5ejUQUZ13ZUBwC/zddzYcV4anh6rED/bo+ADycgOG5WmJSIRlOOYcLDygCX42OK44OnphLXpSopyUGR4IBNzplJeGiCDMjpuHUGLLIwYesUSVYkXqUG6J64xPx9TxM7DtNGFCf9o0ffs3RONMQVaVPUJkYlTeiF3trr3/eUnKYSrbpGEa6JopA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b0a77526-17f2-a5ab-6f7f-1b3caeb4a59b@suse.com>
Date: Tue, 4 Jan 2022 10:41:32 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: [PATCH v3 1/2] IOMMU/x86: disallow device assignment to PoD guests
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Paul Durrant <paul@xen.org>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 Alexandru Isaila <aisaila@bitdefender.com>
References: <6fe7b036-2bdb-b391-4e6c-1b5d7e05a119@suse.com>
In-Reply-To: <6fe7b036-2bdb-b391-4e6c-1b5d7e05a119@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR04CA0039.eurprd04.prod.outlook.com
 (2603:10a6:20b:f0::16) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 142dd462-b5af-4479-ec31-08d9cf665f10
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3390:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB339093172DCF9A50D62CA25BB34A9@VI1PR0402MB3390.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:
	0QoZVl2disA7kuMUEAPf9u1fyzUzPrwF4cB8NaiD84pwXQAAMeuTI34uP3roK82RGj2dcUcx6lAKRZBCPbOOfiyeuNpvbNMC5Hk32+2aFYPMWHuT0G06tUuFfkG8r94EQeB7JnZ1iPihghbmvL9RHiJxEOLN+9N5Dbdpu8awSFli5ealj+EmDiWi8iLU6BWduEdyPch5bXNuDn0bOllWvbdsEmorRExNVbQEKG6cI9ozo8Ailb5V8dhFyaOViVXIaCzDlmhh8aED0zsFih6aVgkaEB1RmY4w9/AQdSWmtUmQATmaXyyoj8Fh4BFTRNgHrcIqoeGYpMS1nok6vd8KrCjHPMLawB1bXfhdHt2V5jSOz26qJw8dLTL81xjTbZb87Dt2WZLkqS31bTmATOQA63DaBaC1ZyOffucq7/XaIlI6rkW+x4nQLX8dDMPnNWs0gp5AUVf3EVqx9UMxT6KektywsBrkvUIWNDAoUBy4vPKiclg7kmiil+OiTtjflsPGtW/vLRABwt/w3FfcVNZ3wv+7Ur+mvfTWJ+vBFLwCHG/RAw+FUGk6dx6vjZZ9c+Q+4jKdaAGdd7uB/yqjuzyHZj6mTASlXfhUsS9I7HynVY02L7g28q6H7QtWn1w9RJEcy6OBsGvID8f1ZN9xDEOY1ebbuxPJkfAYCD97qWKSF5NSJQLJzY8N3+OHmNbqxa4CdfuHz5BfV47JR4ODXTsMvW9GvyXN9F6t79SXtnuYgP1WrEoootVBLbiotXZ5h+pD
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)(36756003)(6666004)(31696002)(86362001)(66556008)(54906003)(38100700002)(8676002)(31686004)(26005)(6486002)(6916009)(66946007)(6512007)(4326008)(2906002)(316002)(508600001)(66476007)(6506007)(5660300002)(8936002)(83380400001)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SGphMlJnT201bXZXak4vQmZuMGRnbWdXamFQL1MyZ0tNNjFObmZ5M0NrVG9I?=
 =?utf-8?B?blY2cXlrMGRpM2pGOHVSSnhkWTBJVnhSdEt6Q3dsMDNQUk1lTHJVQWJsYUhk?=
 =?utf-8?B?VmJPNTNLbml0OHUxSzcrbUgxQkRQL093aXJpWCs2VjZrMmlBa0NTRGJORXMr?=
 =?utf-8?B?TjBTQWk5N2VsMHdsNlhKdUw2K2IycjFDbi82ZHNNTmdob1cyaEx5ZUFuNm91?=
 =?utf-8?B?QXVkK0pVWEJEU3h3enJVeU93cXl3MmMxSHhsNUx3RHlRL0JHVjVYOXJkNlRi?=
 =?utf-8?B?SW5vaFhmSDFqSVh1OEh1M0FqdE0xcktKM29FWm9SWWhCNDM0Z2R6VkxiMndv?=
 =?utf-8?B?RW5TQUlwYllhZmJ2VHpSMmJPVGlmcVNlaE1OYnkyQTEvaC9IS282aCtqUVRq?=
 =?utf-8?B?Kzk2M09QZG1EQjBKUGdQZmRVWFlrL2doMll2TSswME1oY3lLZHN2SGEySlBC?=
 =?utf-8?B?Q0c0RGp6YlNwMHMvVi9zT0lQOUtnRDY1SXhJNTJRaHJoUXpwOEFwWEQ2bTFC?=
 =?utf-8?B?a0JqVHduOFdnQkZ2V2h2emowZDJxVzJmVW1VVTFCOGdzYiszNE8xb1lCWVFB?=
 =?utf-8?B?UU90UnYzOThEL3B3NS83bHhHMlNiUEplT2RwdExBZDhqKy9RaTNqamhkWTNE?=
 =?utf-8?B?NmZ6c21TMWhrRDVXRDNNNW9GVDdkQWh5K0l2aGNyRTFzWWorTjNvTUJCelFs?=
 =?utf-8?B?Q2d6Qmpya1ZReFJZYldUR1NyZjAybFM1cHZnNDRYeTFyVkN2MmI5OWxzUlNS?=
 =?utf-8?B?b0ZQSVh1dXRmYy9aa0lzemtaMTNUSllzb0lnWmNhNEt2N1MrdzJId1hlNzJQ?=
 =?utf-8?B?Ny9wWml5RU5FaXlKUEkwd2tFRkRBWnNIMlpROEExRjgwdkZ6VSs3MUwwaHhG?=
 =?utf-8?B?TTlWSTQ3RnVzdEUvYUVvY2RwdHVhSW1JSUE4UUdpbjRuQzJwSlBoeVdRSVZI?=
 =?utf-8?B?WjU0ZmRUbDY1MktiMThibE9QK3pua0hnRE8rS3NTd2pYeFltZGpQalRmcE9o?=
 =?utf-8?B?UnBDdGR3ZitJSDlYTW1XWm9nbkZtaENJK2srKzdiZko0ZFVnZUZJd3QyeVh4?=
 =?utf-8?B?NkJOaTR5TjY4ekg0OXlrdnpTV0YxcVpxdTdyb3ZaZC9mM3NtRDlLcmJiZURW?=
 =?utf-8?B?OVVXYWRPUzMvVHNsZkN5V1kvcHh4cm11eHN3U3ovTndacUY5NzR2emVmaTlC?=
 =?utf-8?B?bVVOenNERWw0RWpjK01kMWVEeHF0VTBXMDVGQmkwbXI0dEZSbWV5V3cwRnoy?=
 =?utf-8?B?RXh5TVRERUtNUC82ZTJtb3RVbTNtb2hnQ3FueHppNVVKbFliUVVQR0xoRW1B?=
 =?utf-8?B?R1FwekVIalIzSExxZzF2SER6T0JoME5pVGptS1hLeDRsTEtpRjBZL2d2YnFP?=
 =?utf-8?B?ZCtJZlNMNUY2YVZCZ1lMd3UvWGIrK2kzb0hkZkhPc3dERUJuVyt2MjQ3dEtp?=
 =?utf-8?B?U1hoVkhEckFWVDJuRE0yTGMzN0M3TGRFaEhrT3U4TWo3bWRiTG1KSVlvVktY?=
 =?utf-8?B?a1lXcVRmU2EyK2NHeDd0KytkQnE1eWZWblhKaVpjTVdiZmxmcUc1aWh4WmN6?=
 =?utf-8?B?T0R4SEQ5bE9jMHRET2lzN3ZQTks3RGJKM2FYa1V1YUJ1QjV4OHBKczl2eWFQ?=
 =?utf-8?B?SUxrNGhXd05sTHp6OTFESXhkem9SaVR6eUY4ZDdyZ3ZHN1lmWkVvT0dXUVZ2?=
 =?utf-8?B?azdKRmxwUktMdGVhT0M3YzFZNk1UeDA2SU1tWWN5TXFJOUNmZFhiUUo4UFpp?=
 =?utf-8?B?K0pLOGkzRTZxM2ZvRUFGMC8vbzRVTHJMUEFVN2hYMjRYdnlqNThucEdyck5y?=
 =?utf-8?B?S3J1eVZWVWRuclNNSXlqbnV3R0xuWlFrdTBOek9JbEljNGFHcWhKSjRtSkdE?=
 =?utf-8?B?Nnl2VkgyNFNXbWVodmdmVFFYc2ZqVzRqWTFmaFRGaTFGVkZTY0h3cllQWm96?=
 =?utf-8?B?UTlBc09oWjRJbmJYOGhFMmUwU3dPQkpWVTZjeWR1WVVPVFhtY0k1ZXd6bisr?=
 =?utf-8?B?TUpOdzJ5b0EwUnVNbzZraUFILzRIRFdqNENUTnNyVXNvbzVhcWZMbmYwY3FC?=
 =?utf-8?B?TUhiWmNyZmxlYkROeW40Qm5Wampway9pZDlRR05qNlF1SmNPSW1UL2czT20x?=
 =?utf-8?B?ZnpvMGxsa2M5Z3JXKzN3WXB3Wkh0VERXZHVkODVmU2pTTWtUcDhSeTdzakcx?=
 =?utf-8?Q?hkZ00uZyLWVcwBIKxr+yyhc=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 142dd462-b5af-4479-ec31-08d9cf665f10
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2022 09:41:23.9533
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: H4oTw1pe8E2YvKoD54CbEpx2XEAQJvtbuKyfobAtMhAdHzJBW/lnb91bm3v6AKthGvX3OSzeFN1Os5qxLyL+JA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3390

While it is okay for IOMMU page tables to get set up for guests starting
in PoD mode, actual device assignment may only occur once all PoD
entries have been removed from the P2M. So far this was enforced only
for boot-time assignment, and only in the tool stack.

Also use the new function to replace p2m_pod_entry_count(): Its unlocked
access to p2m->pod.entry_count wasn't really okay (irrespective of the
result being stale by the time the caller gets to see it).

To allow the tool stack to see a consistent snapshot of PoD state, move
the tail of XENMEM_{get,set}_pod_target handling into a function, adding
proper locking there.

In libxl take the liberty to use the new local variable r also for a
pre-existing call into libxc.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
If p2m->pod.entry_count == p2m->pod.count it is in principle possible to
permit device assignment by actively resolving all remaining PoD entries.

Initially I thought this was introduced by f89f555827a6 ("remove late
(on-demand) construction of IOMMU page tables"), but without
arch_iommu_use_permitted() checking for PoD I think the issue has been
there before that.
---
v3: In p2m_pod_set_mem_target() move check down.
v2: New.

--- a/tools/libs/light/libxl_pci.c
+++ b/tools/libs/light/libxl_pci.c
@@ -1619,8 +1619,13 @@ void libxl__device_pci_add(libxl__egc *e
     pas->callback = device_pci_add_stubdom_done;
 
     if (libxl__domain_type(gc, domid) == LIBXL_DOMAIN_TYPE_HVM) {
-        rc = xc_test_assign_device(ctx->xch, domid, pci_encode_bdf(pci));
-        if (rc) {
+        int r;
+        uint64_t cache, ents;
+
+        rc = ERROR_FAIL;
+
+        r = xc_test_assign_device(ctx->xch, domid, pci_encode_bdf(pci));
+        if (r) {
             LOGD(ERROR, domid,
                  "PCI device %04x:%02x:%02x.%u %s?",
                  pci->domain, pci->bus, pci->dev, pci->func,
@@ -1628,6 +1633,22 @@ void libxl__device_pci_add(libxl__egc *e
                  : "already assigned to a different guest");
             goto out;
         }
+
+        r = xc_domain_get_pod_target(ctx->xch, domid, NULL, &cache, &ents);
+        if (r) {
+            LOGED(ERROR, domid, "Cannot determine PoD status");
+            goto out;
+        }
+        /*
+         * In principle it is sufficient for the domain to have ballooned down
+         * enough such that ents <= cache.  But any remaining entries would
+         * need resolving first.  Until such time when this gets effected,
+         * refuse assignment as long as any entries are left.
+         */
+        if (ents /* > cache */) {
+            LOGD(ERROR, domid, "Cannot assign device with PoD still active");
+            goto out;
+        }
     }
 
     rc = libxl__device_pci_setdefault(gc, domid, pci, !starting);
--- a/xen/arch/x86/mm/p2m-pod.c
+++ b/xen/arch/x86/mm/p2m-pod.c
@@ -20,6 +20,7 @@
  */
 
 #include <xen/event.h>
+#include <xen/iocap.h>
 #include <xen/ioreq.h>
 #include <xen/mm.h>
 #include <xen/sched.h>
@@ -359,7 +360,10 @@ p2m_pod_set_mem_target(struct domain *d,
 
     ASSERT( pod_target >= p2m->pod.count );
 
-    ret = p2m_pod_set_cache_target(p2m, pod_target, 1/*preemptible*/);
+    if ( has_arch_pdevs(d) || cache_flush_permitted(d) )
+        ret = -ENOTEMPTY;
+    else
+        ret = p2m_pod_set_cache_target(p2m, pod_target, 1/*preemptible*/);
 
 out:
     pod_unlock(p2m);
@@ -367,6 +371,23 @@ out:
     return ret;
 }
 
+void p2m_pod_get_mem_target(const struct domain *d, xen_pod_target_t *target)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
+
+    ASSERT(is_hvm_domain(d));
+
+    pod_lock(p2m);
+    lock_page_alloc(p2m);
+
+    target->tot_pages       = domain_tot_pages(d);
+    target->pod_cache_pages = p2m->pod.count;
+    target->pod_entries     = p2m->pod.entry_count;
+
+    unlock_page_alloc(p2m);
+    pod_unlock(p2m);
+}
+
 int p2m_pod_empty_cache(struct domain *d)
 {
     struct p2m_domain *p2m = p2m_get_hostp2m(d);
@@ -1384,6 +1405,9 @@ guest_physmap_mark_populate_on_demand(st
     if ( !paging_mode_translate(d) )
         return -EINVAL;
 
+    if ( has_arch_pdevs(d) || cache_flush_permitted(d) )
+        return -ENOTEMPTY;
+
     do {
         rc = mark_populate_on_demand(d, gfn, chunk_order);
 
@@ -1405,3 +1429,20 @@ void p2m_pod_init(struct p2m_domain *p2m
     for ( i = 0; i < ARRAY_SIZE(p2m->pod.mrp.list); ++i )
         p2m->pod.mrp.list[i] = gfn_x(INVALID_GFN);
 }
+
+bool p2m_pod_active(const struct domain *d)
+{
+    struct p2m_domain *p2m;
+    bool res;
+
+    if ( !is_hvm_domain(d) )
+        return false;
+
+    p2m = p2m_get_hostp2m(d);
+
+    pod_lock(p2m);
+    res = p2m->pod.entry_count | p2m->pod.count;
+    pod_unlock(p2m);
+
+    return res;
+}
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -4778,7 +4778,6 @@ long arch_memory_op(unsigned long cmd, X
     {
         xen_pod_target_t target;
         struct domain *d;
-        struct p2m_domain *p2m;
 
         if ( copy_from_guest(&target, arg, 1) )
             return -EFAULT;
@@ -4787,7 +4786,9 @@ long arch_memory_op(unsigned long cmd, X
         if ( d == NULL )
             return -ESRCH;
 
-        if ( cmd == XENMEM_set_pod_target )
+        if ( !is_hvm_domain(d) )
+            rc = -EINVAL;
+        else if ( cmd == XENMEM_set_pod_target )
             rc = xsm_set_pod_target(XSM_PRIV, d);
         else
             rc = xsm_get_pod_target(XSM_PRIV, d);
@@ -4813,10 +4814,7 @@ long arch_memory_op(unsigned long cmd, X
         }
         else if ( rc >= 0 )
         {
-            p2m = p2m_get_hostp2m(d);
-            target.tot_pages       = domain_tot_pages(d);
-            target.pod_cache_pages = p2m->pod.count;
-            target.pod_entries     = p2m->pod.entry_count;
+            p2m_pod_get_mem_target(d, &target);
 
             if ( __copy_to_guest(arg, &target, 1) )
             {
--- a/xen/common/vm_event.c
+++ b/xen/common/vm_event.c
@@ -639,7 +639,7 @@ int vm_event_domctl(struct domain *d, st
 
             rc = -EXDEV;
             /* Disallow paging in a PoD guest */
-            if ( p2m_pod_entry_count(p2m_get_hostp2m(d)) )
+            if ( p2m_pod_active(d) )
                 break;
 
             /* domain_pause() not required here, see XSA-99 */
--- a/xen/drivers/passthrough/x86/iommu.c
+++ b/xen/drivers/passthrough/x86/iommu.c
@@ -454,11 +454,12 @@ bool arch_iommu_use_permitted(const stru
 {
     /*
      * Prevent device assign if mem paging, mem sharing or log-dirty
-     * have been enabled for this domain.
+     * have been enabled for this domain, or if PoD is still in active use.
      */
     return d == dom_io ||
            (likely(!mem_sharing_enabled(d)) &&
             likely(!mem_paging_enabled(d)) &&
+            likely(!p2m_pod_active(d)) &&
             likely(!p2m_get_hostp2m(d)->global_logdirty));
 }
 
--- a/xen/arch/x86/include/asm/p2m.h
+++ b/xen/arch/x86/include/asm/p2m.h
@@ -661,6 +661,12 @@ int p2m_pod_empty_cache(struct domain *d
  * domain matches target */
 int p2m_pod_set_mem_target(struct domain *d, unsigned long target);
 
+/* Obtain a consistent snapshot of PoD related domain state. */
+void p2m_pod_get_mem_target(const struct domain *d, xen_pod_target_t *target);
+
+/* Check whether PoD is (still) active in a domain. */
+bool p2m_pod_active(const struct domain *d);
+
 /* Scan pod cache when offline/broken page triggered */
 int
 p2m_pod_offline_or_broken_hit(struct page_info *p);
@@ -669,11 +675,6 @@ p2m_pod_offline_or_broken_hit(struct pag
 void
 p2m_pod_offline_or_broken_replace(struct page_info *p);
 
-static inline long p2m_pod_entry_count(const struct p2m_domain *p2m)
-{
-    return p2m->pod.entry_count;
-}
-
 void p2m_pod_init(struct p2m_domain *p2m);
 
 #else
@@ -689,6 +690,11 @@ static inline int p2m_pod_empty_cache(st
     return 0;
 }
 
+static inline bool p2m_pod_active(const struct domain *d)
+{
+    return false;
+}
+
 static inline int p2m_pod_offline_or_broken_hit(struct page_info *p)
 {
     return 0;
@@ -699,11 +705,6 @@ static inline void p2m_pod_offline_or_br
     ASSERT_UNREACHABLE();
 }
 
-static inline long p2m_pod_entry_count(const struct p2m_domain *p2m)
-{
-    return 0;
-}
-
 static inline void p2m_pod_init(struct p2m_domain *p2m) {}
 
 #endif



From xen-devel-bounces@lists.xenproject.org Tue Jan 04 09:41:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 09:41:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253097.434131 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4gKD-0001uc-85; Tue, 04 Jan 2022 09:41:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253097.434131; Tue, 04 Jan 2022 09: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 1n4gKD-0001uV-48; Tue, 04 Jan 2022 09:41:49 +0000
Received: by outflank-mailman (input) for mailman id 253097;
 Tue, 04 Jan 2022 09:41:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+k5u=RU=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n4gKC-0001SI-57
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 09:41:48 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 88dbecb3-6d42-11ec-81c0-a30af7de8005;
 Tue, 04 Jan 2022 10:41:47 +0100 (CET)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2055.outbound.protection.outlook.com [104.47.6.55]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-41-_8vXeKlTNFOA1ysRh5MaKw-1; Tue, 04 Jan 2022 10:41:46 +0100
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.4844.16; Tue, 4 Jan
 2022 09:41:45 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.016; Tue, 4 Jan 2022
 09: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>
X-Inumbo-ID: 88dbecb3-6d42-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641289307;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=aeDXmUgr7Jm5ejsZq/eCve7xIAm3hniBKsi3UcJSYpA=;
	b=PeOqVZaPWmZlHylDn+mlLmqr/U+iKJxNnCktl1M0khP44xPUM9DEVPvQvgo9aadwJmsNZc
	oxCkbO9U2JeZERttguBt4MVEFp1PE9GXcBgMa+u8SdMyacjhPzAduSEE0xYF5b0qN73Lic
	IeS/RfGdHqNKgJpCYCN8GT9QjMK3ppw=
X-MC-Unique: _8vXeKlTNFOA1ysRh5MaKw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DSpDjzDLCjEf94FDKhPgW7btVfwOp9yYGf3yvNu/GvjtSC4C/9CF4ZKMexPUnWBqwsrrBmjG+rWY1qgp/K62i4bmIL5BeKyzGe10WWUxLZwrmDvFN01wYB+In3dhUISoBaTJclssXGRHlqNzjJz7Px18LukWLQhv50Uld/V7Q/lAlQZFBKogVxt8N9AafZdBHvE2eE97ilySOmZx0gQgSxT4iLEfNDjPkrscl/kMao4pilGpISejL0YHrJAfh3nFCq2B5z6pmAg1tDGfEI8wWS3cPvGaaqwy6X9mwz36gKEJTdw/3xHoyZKqOuzkve894CGBdxURJbmSABqDzOXGYA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aeDXmUgr7Jm5ejsZq/eCve7xIAm3hniBKsi3UcJSYpA=;
 b=aX57rMtB6Q7tD9IZ+y1OcLzjroveQlY6gdAzcWgl05HAK72CM742ZzKGWGUeflfnXSFEDC0N3DoIlLxaSvLxLirYAnVSt0qJrHHUoVXgNsKAq2aafmgy3oomwtwgQAqRpcue/jFQ4Is5/edj/pfBS1JbuyqX8FGxEqHSroE28Poep3WSGoBDshtPaNmu2W34QARsK0B3JV/4TnTarh0ckAxk+lFC1L2KoKnbq1VkVixRbXGWpaA5P/SfgoWs+VdR5WhkD6NAn7CN4EnSOHGbS2XFh8TvS30gLmqN4nCOWLiDtPI+JQtLeM3gK7fCRnmnrVRwyuvc8noQNcWtHxlQ8Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8cba4cd0-d218-da1b-dcea-4cc3047c0946@suse.com>
Date: Tue, 4 Jan 2022 10:41:53 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: [PATCH v3 2/2] x86/mm: tidy XENMEM_{get,set}_pod_target handling
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>
References: <6fe7b036-2bdb-b391-4e6c-1b5d7e05a119@suse.com>
In-Reply-To: <6fe7b036-2bdb-b391-4e6c-1b5d7e05a119@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR04CA0041.eurprd04.prod.outlook.com
 (2603:10a6:20b:f0::18) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 389d091f-2e5f-45d2-a2da-08d9cf666bf0
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3390:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB3390554B171D43192F63E5CEB34A9@VI1PR0402MB3390.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:419;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nnvN0VuRCwtsIzMQdPJJXsdLfkJcQmWxsspB/VTu4n+rhQf5uTiSA0wh6lDAiWKvwGZGMT6jBBixGTJRlYuvuuSa5Gb10UAU0JQvgx4g1f492LvtApDnYZ9e59uAMlw59/WUzd9nLPNHvWgbPCIJmnzO3u6pBQEP0UufmZAOzan2igzpVPpNp4lYHYCDkBj1FNCOWfRm7L47macf8mwg2ojHOI4AB+qoj0SIea0vdMZ0Jjr6RQ+3mcTOUZSvNi7Q0/AXsVo7gpKMk8lwbFXYdNH2p7fUiFVBD9+DRJ6UTgKx6/MG/uR4F34uW7Z3N/gN3nM2o8kRJWhEhgguoBZEZAg55Q8TCB304NJUvILjDJ8UQsgqrK32btSLtbW7ffMuelokzSAYIVJjklaBoSMn7aN2QZBAOS3VtC2dLSgwjS+Y2HqRlWLQzvLKAXhnlcKt71yEX4WCCfPomsy+32yGjb0yhS8PbipgysHm/ansVYxuD8KRUR/Tfz8esmNGGN3VdgzsrVWUGBPVQkYDxr0FLmWbVMuiwyWhENXf4W+/kjawfIRio1CT5R66E+ob1uj9RTF1K61JAa4a8kXtI4Uo5sAUsGTs9C6ntSTTr1t5f1xl6r8mR0Stx8sS+xXHEW4+qxjOKwmtAA7lQAjHTbkMdicrNXjdCdx7mVeYOkYRNwE+30o3whb17C35X99HANK/IlrLbiNDthRNzGJ8JwPlhZSIL6jcxJFvD1wsqORFt+Y=
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)(36756003)(6666004)(31696002)(86362001)(66556008)(54906003)(38100700002)(8676002)(31686004)(26005)(6486002)(6916009)(66946007)(6512007)(4326008)(2906002)(316002)(508600001)(66476007)(6506007)(5660300002)(8936002)(83380400001)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZTdHdU9WT2hyS0lydUVOdHJQYTQ4R09Wd3ZkUHFnWnVNZVJnSVl4MklBSEtF?=
 =?utf-8?B?d1h4SkdVZmJ5Qm9BMTBtVW84cDI1ME9La0dKZzJaeVpFd2NzNFRLaEM5UXgw?=
 =?utf-8?B?YXl6dGc2WEsvZGFDVUhNRmZKbjlEVDMwUVdMM1FYZWRZUzBMdHlsK3hRdnVU?=
 =?utf-8?B?MXhqUnJGbGIvZ3h3ZDQxY0JESjBQYk11WFdoNTQxU3c1cDNvUE9Zb3R1QWhq?=
 =?utf-8?B?TVh1MHU0cE4vMForR2VuNkRiMjlUb2FKaXlHTVVoc2l4eDlDaktjUzk0VG9j?=
 =?utf-8?B?ejg2azE3MTliSUhjZU9GZTQwQ1pZODJRdm5mMThxbXFkRXVaQmY1ZjRZeGVV?=
 =?utf-8?B?cnFZbGVPV01oQkJsZGUwSVEyT3YwNlJkR2c1bU9YaCs0V1JLUFk2c01xNVFK?=
 =?utf-8?B?RHgxdWJuZjBaTWVXa0RhNTRLYWVLVXd0UDJuc0xNdWcwQ3ozUWZMWTJkeGRM?=
 =?utf-8?B?Z3UrdXdkalRJYTlyNGQ3WEUwRUpZdHAwUjkxbEZVd0tkeEVxR2xEZVhhSWE3?=
 =?utf-8?B?YmJFVWNYUzQ1LytEMWxUZ3RBZjRJckl5WWtvbXJlZUpXWVN5L1lNaktFVFoz?=
 =?utf-8?B?U0VEdkZrSDdRU2pWTUFzMVlPZ1dzU3g4OCtHcmpJemJkdkRlc3NRN2RYazZy?=
 =?utf-8?B?ZTFqMlk5cjNUbVlYRDhhZlpITVQ2Z09uNnZ5b2xLVXo3UENiemFqSzBieDhP?=
 =?utf-8?B?U2NCWWpNMUcwdzJ2bTE3U1pMT09YUU9MaUxvQ3BLbDhoNjJJRnFqMjBCUnNO?=
 =?utf-8?B?OEI5dDdPbXUwbEh4ZHpEa3E5clZlakZRTFlrcTdheWoxeXFWajhNVjNrWXdP?=
 =?utf-8?B?djR1UUQrQ3lvYWZaVXpuTThhaWJMYjlJdmNnTEVDU0N3Q0VheGkyUERRa3g1?=
 =?utf-8?B?dWdOL2NLaWwvL2RqZ08xTFArMUZJVnZKRitSeTRFbkdmMC8yRXRsVGpVTWlJ?=
 =?utf-8?B?bmRVSHdhMEQweGJDTnIrM0dQMWt1M1ROR3pIRGtlcEd2ZHFabmJwNnc2UURO?=
 =?utf-8?B?Q3FRMGJNTXZ5YU8xeHVDKzRGdnNiTzJKQkh5YnpHU1UyUy8wTWdTd05WdWRm?=
 =?utf-8?B?S241Z3lJaElGT3Jubll0USt1TUVVWmZoczRaVWUvVGMwNmtwNnZkVVAweEFw?=
 =?utf-8?B?SlN1UGYxbXlTUjJEdm9HRFVFYjhadzM1TWhuajVMZXhPM0xtMy92ZlRJMXhO?=
 =?utf-8?B?cExyNUVJbDJlVGMvcDU3L0FURGtmNnZpSzlGbVN0dzdEVkRHWXc4ZFlmQTZs?=
 =?utf-8?B?dExFOW9KRC9CWWJjcXRDelJpakZhQUpvNkxKZU45YlZwbzRTUGV4MCtyYllo?=
 =?utf-8?B?MmFoclhGMFZBQXhyRjBkWkRRbXdyaXRBZ2NVd3Z4S0MwWGdoclhuVXBETFBr?=
 =?utf-8?B?NlBUQjh2VS9saTY5aGhTNUowaFhIeGFQb2FNVVJxd0t5Q0hIYWU2cU1iK0Zo?=
 =?utf-8?B?RDNBSnlEeVJ2RGFBbld4bGZMaVU4ZXYzVHdKRnBPczJDTnVUSTkxdWkvR0No?=
 =?utf-8?B?dXlLWndnMlhSUVFTQnp4cThJcVNrcEQxdDJiVUp4eGtXVkxQcUQ2NTdtNnRI?=
 =?utf-8?B?bjk3Q2ZRMWlhbStOR2NZcW11YTMwZGhDVEJkSXE2M0lScVAxM1ROZThYekln?=
 =?utf-8?B?bnJHTlk5RlVOY0tzNkd5VEdRdWQ1Y1RTa21WdTVHWnZNWGFESGs5Z2lTd005?=
 =?utf-8?B?dXc5cDZmK3NjTDFjdEEvMHU3Kzh2ME1oYUhtREcrdVorcHV1QVlXTjFLN0Rs?=
 =?utf-8?B?aVdGODBOOVU2L21TRzRjM202M2liOWk3b2N2aWFGTFg2d3BnZFdHN0lrZTBY?=
 =?utf-8?B?TDB5NWtwb0M3ZmQvT0dRdUZ4WlVGUkpWek5zSE5nNDI2V2FKckZ1QXFTZ1dw?=
 =?utf-8?B?eEE5RmRROWFCR3RuSzA1cWtVTWloSThDbDNDWXlhdzVtUFcwZVUydWRhRHBC?=
 =?utf-8?B?cmJlM0t5eTZCV1k5eWpRc2lYaERpeko4ZHdRZ3o3QzladWpmYmRMaUVLT25V?=
 =?utf-8?B?WTZLNVFpWkZrOHJKMjhiSkJtdGJheUlzWWJBanVHanptY05qRjVYZWhzNGpL?=
 =?utf-8?B?VWpEUlhoTktqNlNMOTlOMTlWNEpGNER6RjZQV2dtbFZBNWFLSEZDdTBqWkty?=
 =?utf-8?B?Z0JZdG8ybWcyTDF0b1B6ZmI1c04vaDJad1MzUlgvT09Jd010UUFPb3NyWEZO?=
 =?utf-8?Q?bjpdtO7w3vX2eFemIUNk6AY=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 389d091f-2e5f-45d2-a2da-08d9cf666bf0
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2022 09:41:45.5091
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WiUoZNLA9etRgBCM0NAuIpVJldOQuu3uMZU3Mfzyy/y5Xms+h8V0YTOrfF4nV94BOI0ufk6GSsSuQweaiuxR/Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3390

Do away with the "pod_target_out_unlock" label. In particular by folding
if()-s, the logic can be expressed with less code (and no goto-s) this
way.

Limit scope of "p2m", constifying it at the same time.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Re-base over new earlier patch.

--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -4789,23 +4789,17 @@ long arch_memory_op(unsigned long cmd, X
         if ( !is_hvm_domain(d) )
             rc = -EINVAL;
         else if ( cmd == XENMEM_set_pod_target )
-            rc = xsm_set_pod_target(XSM_PRIV, d);
-        else
-            rc = xsm_get_pod_target(XSM_PRIV, d);
-
-        if ( rc != 0 )
-            goto pod_target_out_unlock;
-
-        if ( cmd == XENMEM_set_pod_target )
         {
-            if ( target.target_pages > d->max_pages )
-            {
+            rc = xsm_set_pod_target(XSM_PRIV, d);
+            if ( rc )
+                ASSERT(rc < 0);
+            else if ( target.target_pages > d->max_pages )
                 rc = -EINVAL;
-                goto pod_target_out_unlock;
-            }
-
-            rc = p2m_pod_set_mem_target(d, target.target_pages);
+            else
+                rc = p2m_pod_set_mem_target(d, target.target_pages);
         }
+        else
+            rc = xsm_get_pod_target(XSM_PRIV, d);
 
         if ( rc == -ERESTART )
         {
@@ -4817,13 +4811,9 @@ long arch_memory_op(unsigned long cmd, X
             p2m_pod_get_mem_target(d, &target);
 
             if ( __copy_to_guest(arg, &target, 1) )
-            {
-                rc= -EFAULT;
-                goto pod_target_out_unlock;
-            }
+                rc = -EFAULT;
         }
 
-    pod_target_out_unlock:
         rcu_unlock_domain(d);
         return rc;
     }



From xen-devel-bounces@lists.xenproject.org Tue Jan 04 09:47:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 09:47:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253107.434142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4gPO-0002ma-1s; Tue, 04 Jan 2022 09:47:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253107.434142; Tue, 04 Jan 2022 09:47:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4gPN-0002mT-Uz; Tue, 04 Jan 2022 09:47:09 +0000
Received: by outflank-mailman (input) for mailman id 253107;
 Tue, 04 Jan 2022 09:47:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+k5u=RU=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n4gPM-0002mN-Dd
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 09:47:08 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 475dda62-6d43-11ec-9ce5-af14b9085ebd;
 Tue, 04 Jan 2022 10:47:07 +0100 (CET)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2057.outbound.protection.outlook.com [104.47.13.57]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-40-9nc7WYgYP-yiWpCpA3GTKQ-1; Tue, 04 Jan 2022 10:47:05 +0100
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.4844.14; Tue, 4 Jan
 2022 09:47:03 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.016; Tue, 4 Jan 2022
 09:47: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: 475dda62-6d43-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641289626;
	h=from:from:reply-to:subject:subject: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=cX6lMD9pHA2JSVVDjpxBuhMrJzEehAY1ERVtima9FWM=;
	b=hIFKpwH1zQv1Y+98Nt4bqDW3XDNe3Pp90u1FNYoWd+E1vjpV8Cnj555SO3+W/7oJadu2Qd
	66eVVdnolGqntV3EIItaUko9wkbH8j4Wbm+ZfI4RbHNfJQpTY8OMR7NzZTswnK7pOi6K54
	Z05WHxwpHhsrr7wVLw+oJO4XuYqBZyI=
X-MC-Unique: 9nc7WYgYP-yiWpCpA3GTKQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Gx/UZ+TQNjKgcvhWNTpnBsjaUjt4j84RWS87ZRp64Hvpw3LVOaktRlCSbbqaV6qBfoReeyZYaHC1LjpmHTGSd6ObRGTEhpYISpybzur/7RbtVhW/365ZK+CTG8NoOFZEVoE6szbStCrGsDsQhsro5So0xpkgBn/0loJTpDhQCqy0HfX9nRh0vdujVa6V59aIb2iy6dmchmOo+9ZfjPBospWDi7JQLZUUdkib0ndyBJY9xNosZPVPO51EZpHSPQ9eOmqBRb/jQc7roH7uvv/OH0jU/xPdPLxbBBx+GusZFgpc7zCy6N8TK1jZjI+Kt1HnVp/VOa30Pca9l2iCPMVqbg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cX6lMD9pHA2JSVVDjpxBuhMrJzEehAY1ERVtima9FWM=;
 b=YnweM91hLnQ0bvP4JIgUCABDu+7Fbrm5Mpb7HSmVv+pUJLVwveR+Sc/Rr1yfrXOS4f317TjU61EPG/z1VFemx+mA8/A0Cli5V/DaXtj+IxLr9fm1zE+X4QGf5wKPMaHSXNeYySV9CoxUo+AjCISwFUXIedBsx95Vchdcx+LM8GHV/hdS5n9YiWLVVsbFQkJSyOq4WxnT7uvwq6+I29CAnd36gwXXUq0majot1su3HCh4xZKtxwAAb3fWHfP5j3f4GMnWHO+BzGMgOTpdMXFTQEq/cEJs6LUJkA78ucF/7hGTnZAGZ2cO+QL+7yUfLYoo6RjZBi7m3nR/IuFSIsqRsg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e9257e96-ede9-2809-9a77-fd4dc206badc@suse.com>
Date: Tue, 4 Jan 2022 10:47:11 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2 0/3] x86/mm: address observations made while working on
 XSA-388
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR0402CA0001.eurprd04.prod.outlook.com
 (2603:10a6:203:90::11) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8bade08d-8c37-4fbb-1546-08d9cf672973
X-MS-TrafficTypeDiagnostic: VI1PR04MB7037:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB703720FA614FD79BEC3993E1B34A9@VI1PR04MB7037.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:
	Z1r+i+S1il92jjBpCC0A9gM3JVKWzdAHm0nO03YrosHRR+aInp0YVRJ5GZ+vev432HcIOVM/4dAW3Gqs1bKPH969ys402GlKwqcly32+hI8RlsO+UN0yl82d8ziHjxUscJr+9UMrA4sQ1ttFkXu1v84FxQrKbPR850Go9yM35Xx/eUnE13yFDZQd6K8it2xI/nIILsh47bXkFJ4V4uVE2xXUp431twsZ9j7ZyhyMJwo8bjuKUSYFZuZNQOUzzUoLeCb0SGwe9zv6+A8iXPFymoIi2XSaeKarISANfRy5L0FFnt41mTeN0PQkSgEjgk6JG0JK6PAJoZ4wu3cg4KUKBqZugmT1E55lf42VVYIAxNSPAVOke3fyDKdMLKc0xwZHpajgEQaNjNj1SXeoIfdX9ijuJB/vzRlvMIi4AcJBIQeoTAEjhsqeP9wQX0J/NuQy+6+vHY3K3UX4AHUU4ryvygheICLi+2J0YUjTJn1B4/Upos/wmzXg0hgdmbyLcM8qVMWFaLw+P4zt8rLNBfDjVR4ZL/pM35JcLD0FAJq1I0RmcUfRlUAW7MXaBhykPYLBXkZ740yvp7ekdWJdAVWtuRmopvf9MZyS12Hn22QKBhdka8OZl5AkdVt5yvIzOTvJqKZGKfutlKg4KP3CDt00EKj/IM+E7M0wGee2uSYFBJ9qpsz433Epx3jxBCTfx9fO1YStLX0ntnAK5HWPu0AIYQlmQlClGUVw+uv3nnkKQcs=
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)(6506007)(6486002)(36756003)(31696002)(6916009)(83380400001)(8676002)(38100700002)(6666004)(8936002)(2906002)(31686004)(4326008)(66946007)(66476007)(54906003)(508600001)(66556008)(5660300002)(558084003)(2616005)(86362001)(186003)(6512007)(26005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?enluZ3JLNDNCVXc2a1Z6WVhGL3ZXM0tkNkg0QUpsK0pHOSt6WmhPY25DcHN6?=
 =?utf-8?B?Q1ZSMVNYZkhsa1NUNmkrRmZTNEpPenYvdjd0QnAyU05MSjNnK0JWTHVZT244?=
 =?utf-8?B?dDM3S1d4aHlDeDR2aGJCdDgvdjZNYnhxY2NGc2p4d0pGM3VhYjlHakw2K2ZF?=
 =?utf-8?B?Tk5obUJ4UVhtNTc3SXp5elM0OVhBZ05KNFJ0RkFIR3pQQXVrbnJ6ZFo3dDZp?=
 =?utf-8?B?YTZKK0JvalVvekE4MjhzbWdXbkszQ1JOVkorbUVSd2hxZlNFLzR2OERra1Zk?=
 =?utf-8?B?RE15eUs5NzNTQjNqUlJnOEs0UXZPWmlITkF4RDVDSmNvUEU5WVk1alZ5WnFB?=
 =?utf-8?B?WlBHRFJNOFBDeFpsanhTN3BFZC9DQjc2QkRtR0dHOHU0YmxjbkdOcFZLbDZL?=
 =?utf-8?B?RXNVTEpYOXJrWGtZeG9ZTzFLWjI2azlSaUZMWE9rWEdQL29HOUpHQ3VYSUJk?=
 =?utf-8?B?ZDZ6ZThJS2pqMldleEdqYVZWTEt6aElOejdoMlROaGxjTElnVG1FYnI2NzF4?=
 =?utf-8?B?QjZwbmpIZXNKUkRYSUp4NTFXaEdidXc4bzRqSVR0VkI0dHNHaDR2SklRb2V4?=
 =?utf-8?B?bE43azdQTnRFZHkvNkdjRmlQWnJEclhQZUxJeUJzR0RQbDhWdFJPUFRBblVI?=
 =?utf-8?B?OWNLWlFNdlhoa0xvMWpXR1RJM1lhTlUxNHNEc1Q5ektMVVhjOE1ndFdheTJ2?=
 =?utf-8?B?TS9mK1JYM1dURVdGRm12WjRCb29QT3NwUmw2VnA4b3dVcElROTRPN1NQUUhl?=
 =?utf-8?B?N1NlNk5VTkw5Q29vaGVnVkw1M2RLQ0tWaXVqbk5SVEZ6QU1taWJXMEdKRkpV?=
 =?utf-8?B?Y1RkTFZUMlVwb1NJaGJSMVhYaW5VdTh6WitiN0oyR0pxbkpPWWxDQmtsVUd6?=
 =?utf-8?B?T0lBdDlzMkdTNERubHRxQkZxMG0vLzRaZUFPUHd2QU90WG5CZ2EvVnlLRk5N?=
 =?utf-8?B?WDIyZE9Vd3p0TmtxMjB0RVBGTnM5YmVlQitNMi9TT054T3FGelV5UG5lVTE2?=
 =?utf-8?B?cFd1ejl1L0pVbDgxSUFJQk5Mc1N6SlJkYXRuc0Zac0dwdXF3U2tjUldsUndB?=
 =?utf-8?B?cmlTdEdxdWZhcU85am1ybytCbmFsaUY5UVVBb3ZYNTRIY2pWV01oZjc4djA2?=
 =?utf-8?B?enBIbU1FVWY5VHpoSTMzVUdzMTh1ZHFrQ1ZSei9uRlF6M0Nud0FhZ2xPZG9j?=
 =?utf-8?B?Y290c1ZyUDBEV3pKUXhNVTdFN2lSZFdKUWo2MGZIU0ZHd2N2WXJQbC9OV2d1?=
 =?utf-8?B?YTNKZVdwcDd2eXZyUTRiYmIxRWNTUzZqVENoemZVZkZwT0tzMUc4SFdKWGZz?=
 =?utf-8?B?QkxXajBlTFFDMVlTeDZLK1QySVNtSEN0VWhCT05WRm9iTjVHUDlrUTRleGNW?=
 =?utf-8?B?ekxXdHlRVHF5dlYxZldhU0h0Yi94eWhZUDhPNHE0L3RONzZjVkJHY2Uyd1dS?=
 =?utf-8?B?N0diYXluTFlSbFA4a3I4dVlFSm9qc3BuKzFyTUp2QjJPTnptVWJXMDFuQWww?=
 =?utf-8?B?d2d3UkdMMUtxQUwwSUVwZkpDVStZdVNVYlI5d2dzdndSdzYyb2xXRzRRdkZ1?=
 =?utf-8?B?UkVCcjc0MmhLQU1oMjh5cWdvUlRDS1BYbk5rU1Q4cXd6elVYbi80aExzZTdt?=
 =?utf-8?B?M2g1MGtKdzV0c3NXZ3pSY0dLelhlSzhEeHp4T1VLNEdXKzNZVWxqdGtGdFhR?=
 =?utf-8?B?dk1oZElzOVFLTzhEYTF1UDVrZ0srNERScHBPMjhRaURVNlFqOXhrK01LOTd5?=
 =?utf-8?B?c3pnZElZNFlsSEdKYUo0Q1FweHB0QVhlWjh3cW1mSkJ5S1ByNGFVVmpSRjRL?=
 =?utf-8?B?S0NNRkJxR0c0Q0pndythcGFSMURBQ3VKeEowQTRsRzVGTmpOQVp2N2t1VktU?=
 =?utf-8?B?NHA0ZXh3ZTFuT1oxTnkxektHMjVYQWVKbWozOGMvRStGazh2anBJSXY0c3I5?=
 =?utf-8?B?V01jUG9nU29ycEhSazJMUEszSzBRUzltUlFSQUYxV3loRnVLTmlNa3ZhVFUx?=
 =?utf-8?B?aVlneVp5MVZIRkEvMnBmRmZyZnVpZTNyZzZPRmFwT0syVFpGKzRQVk1SajEw?=
 =?utf-8?B?UElPZktkYmVoZ1QwUVg0WUJrRmV6RE54MkF4cENEUFl4enVnTHdybHVZQ2dj?=
 =?utf-8?B?eGNxZXhUUjBIYlZYRW9uMEVTWTZnWndCdEZYZkh2KytKMG4yNmRPcEJaRHhG?=
 =?utf-8?Q?AR+UrISOFBJpZE90He75Du8=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8bade08d-8c37-4fbb-1546-08d9cf672973
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2022 09:47:03.5213
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dP49cHJpdjI8DOwM4t+3Op0SBVcfr8w+4M10mCppRrCgGeRjYOpiqDm8MqOHCJBLogpUCTEQOcE5jsgYyUeIcw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7037

1: PoD: simplify / improve p2m_pod_cache_add()
2: altp2m: p2m_altp2m_get_or_propagate() should honor present page order
3: altp2m: p2m_altp2m_propagate_change() should honor present page order

The last one continues to be RFC, as there is an aspect I can't make sense
of. See there.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 04 09:48:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 09:48:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253110.434153 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4gQU-0003Jp-Cm; Tue, 04 Jan 2022 09:48:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253110.434153; Tue, 04 Jan 2022 09: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 1n4gQU-0003Jh-9A; Tue, 04 Jan 2022 09:48:18 +0000
Received: by outflank-mailman (input) for mailman id 253110;
 Tue, 04 Jan 2022 09:48:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+k5u=RU=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n4gQS-0003JT-VX
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 09:48:17 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6fcd318e-6d43-11ec-81c0-a30af7de8005;
 Tue, 04 Jan 2022 10:48:14 +0100 (CET)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2055.outbound.protection.outlook.com [104.47.13.55]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-16-glLD57jTMFqJ93DeBIDRbw-1; Tue, 04 Jan 2022 10:48:13 +0100
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.4844.14; Tue, 4 Jan
 2022 09:48:12 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.016; Tue, 4 Jan 2022
 09:48:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6fcd318e-6d43-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641289694;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=Is8eyqS5UXxKKaxllWqlmG+svyS0Sr+AMv6UtD6Pldg=;
	b=a9KlEQaKe//CBIIUR5vYUp5vTK1BBtIs3DxnS5fMRtR+YwiWag01NnSOguuokmC1tLQ4Nk
	afeVxLY1Ua+HU/iii10XXGzKDi9GgwLIb2n9oxDhyX7MbBzoTk1fxzShfmLtGYMcxQ/eDD
	FGo/BzvkMMp1xbXcr9VANfwHv7xvMUI=
X-MC-Unique: glLD57jTMFqJ93DeBIDRbw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lEPut8a+paEEfOYuA9cYcDBhViwxvnuXSlq/BlwdO/tb9hMAaouLu1eRGMjx6HnYQO5v+ciJQjPGK7iFHJ2MRIhHmPDw+BeuupeXswwvTUdYvwZcLKq9dDcvAiUlYLLSnWSoNZX8xrVIg5Uajhkk7XDhTVk5iQCd4b7dOslAWn52qSy6xCaSpuAgQx3ZSG3A6obLJLAGUoTXxsplQ1J4FSUVtiOaP/7nP04az4ryzaFabbQwpuZmyA692eeS/JomGNlpzNn2Aruu1VZ5OJ/e3KBVqf0m9I/kSCBHAEbbvx1h9rQi0Aren8i+bHLl3sHHZZqTZFG1KT4+tH622U/44w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Is8eyqS5UXxKKaxllWqlmG+svyS0Sr+AMv6UtD6Pldg=;
 b=I1CsEA1zr7vU+Zeys3Xe0SSLoGLH5s9TsHjpPSs2HMmulf93CgF7FTrIPU5EDo4Wc9011twjxfLobvLrvHK/J4ViGDir2v8AJdAQc7ep6whzFurgANLDeIUX9ry7HSvURmVHetTwPeV6VBZDFvyMNV3jNY8MMVZNIYWyufsiA2vJ1ux8Vh9s5W1VKjCzetUryriPKqYWpNvfmyToFlThD1vvcIkmuzoQ4J3Zkx56dxTVsfY0r20iTUKhguQcijtP+ZR1l5/HsPHGCwww1GkNSmFHBw8yWCHl34UKAdvxHz36wAJcZJXanAdUBiD/k5kUkCF3r3vbR/jV1O1ma1ro+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: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0c61e460-122c-6486-00b7-22a9a24ee1fc@suse.com>
Date: Tue, 4 Jan 2022 10:48:19 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: [PATCH v2 1/3] x86/PoD: simplify / improve p2m_pod_cache_add()
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>
References: <e9257e96-ede9-2809-9a77-fd4dc206badc@suse.com>
In-Reply-To: <e9257e96-ede9-2809-9a77-fd4dc206badc@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR08CA0034.eurprd08.prod.outlook.com
 (2603:10a6:20b:c0::22) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 54f4de68-8035-4ed6-ecff-08d9cf675273
X-MS-TrafficTypeDiagnostic: VI1PR04MB7037:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB70376EB435DFBA81626B10E8B34A9@VI1PR04MB7037.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:619;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qa40BG+guA9oAc4vcJdU5dCr1r5Os9Oiyy6SuxGtdezgwN3EDsJgFwHbVS2LLk1WSWTKERlN6TJ0EUKp7iaOEd42FYX7WSMgFBlXIDsZ+AIULKHcdnHgTmViHOqGnrn3ZwGMsH9CjSevduO3IEx6fyQ5SVJg66xrCCal3yhY3xLYfJ6UyI/OcBFPXgqEUZJVrrvFlZQHkcXTcy7Ps1Y6+3hGJzMDsudq53xGlXYRI5LpQLotDNW/sOx/S+N+aoej/u4MSp58f8HG05ZR3hWzDfakKrIb5cen66bXhS9oaa74JQr4pczSt6oc65/UD0ZtsyBVBSLnm1an7U6imbRCc7GgsBL2UsC7ykHky5CI1N+iSWj8/6bWGtBiMMIErV5JsbBsYibzP8yfDOLkSb2l0lFnZ1VbnH9FKmNOqlB+zB9sVEt52Bq8GZu8TUXNyMNuKM2i9pI3rWq5GLAuggxRkiAZZJNTCV8vhmUlz84oDSTI1dc1hZInW+fsUTmkYte3DIj2eOiJSsnOetQPd8G7o3YOZWaP+cvY9q3jFThfUFOz1hFJ41zM9GpjLxMTVfMihMFjJmi9DchtavNWm+aH+F7DdWgldBbS7jgZiZ3A3dFo6gpvW8FUGBL13BCYHIcxGRUFg0pj9PGro5kHVGipKZZTjtZosu/p575xn73XB92tF4EEQqUtaDDIeugYvBrNiUpNjJvyY/qTiGruqZWabu5aWVPJuXTRd4PvfR9qAOc=
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)(6506007)(6486002)(36756003)(31696002)(6916009)(83380400001)(8676002)(38100700002)(8936002)(2906002)(31686004)(4326008)(66946007)(66476007)(54906003)(508600001)(66556008)(5660300002)(2616005)(86362001)(186003)(6512007)(26005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YjZwNWVGaGMrVzE0K0F1bmlhV0VHZlR3WWZ2NlZDemd2YVNuQS9RNUxTeW05?=
 =?utf-8?B?TGRyKzlzWW9CYlc0aHRpam1LdDVJNUNZYWRRSTFtd0lCSWhsalJUQ0tuQVJh?=
 =?utf-8?B?cWdjWWg1VzlUWWVlYVVXNzBRM3pmbWxNcUMxZkM1ODZwVjRmSCtwTTErTWFL?=
 =?utf-8?B?OE1UYWY0QmdKcTY3MXRpWTJyZmFNS2MvSFlRbE1TVmtVOWlrZjFCNzA2U0Uw?=
 =?utf-8?B?dmxNdGF3Z0tZNWp2bEpDZyswLzNSR3U5Y0d2U1JBZk4vNElRbG1Ndm14S1o1?=
 =?utf-8?B?SktNMFVBTzJNOThrQ1NCRXRja2NvTy9od0xUeVpxWEgyamh3bnpna1N2M3N0?=
 =?utf-8?B?UFlOQWVSdDVLd1FkMWtnMmZnZjFmNE42Z0VZK1RrQnFOT2FlMkUyRXF3QTVC?=
 =?utf-8?B?QStnck5IVW1tWTJPRWVLdWUrKzJIUmE3NTRWTDJtdjZpNjFWMDJOYURVRjI4?=
 =?utf-8?B?MHpDS1VpRlEwbHhmd0lmaGZiRHFDSzlmL1lET1ZRRG9teUlHVG5PZWN0amZO?=
 =?utf-8?B?UFlnQkZ4ak5lVWE0OVFuSlB2WVFjVHRTem5SZXZmaGdILzgwVnhyTVZCbXdO?=
 =?utf-8?B?THhPaUQ2RGZXODN5UUoxaUluYklGLzlzNmxNcjYwNEo3UUVJa3NubUlnWlJr?=
 =?utf-8?B?WXFINlVSNjcyWEJhWjA1b0pybktJKzRMU28yYW5Od3c3S29NOTlhTnFmOXda?=
 =?utf-8?B?OTd2RXNGSU9FNkpOV3JrbVE1RzRtcFA0YVBJOWV0RlQrT3dZcE5VemxxR3Bj?=
 =?utf-8?B?WFlqTldZNE1ZZ1phbGhIcGNGZGRsWU9LYXpURzJ0bnhWWnNIKytad09hZU1y?=
 =?utf-8?B?ck5INGx6K2RhSUFUWmsrY1dpVEhpZnZ2SUJReGhIMTAzSllyR1ZVSENGdFdE?=
 =?utf-8?B?b2pFT3RPaTlSRHFkcS9hMWJnY0YvWkZTMm12NEF5VVBTdGV2WGNPZ2dlRGpv?=
 =?utf-8?B?S1BqeE9janpjVExEaTI0dFhFNWFhK2tIbnF1c1U3RTZBR21XN2FKK1VLaTQ3?=
 =?utf-8?B?QmhiY2NHLzhkTzhwdEovNUJrM0swOVpIZEFCdXdPM3lFYURySTUvMm0wRXds?=
 =?utf-8?B?MEo2YkpPakpXWW5NMFl0Y1l1WlA4NkFDb1ljVlhwdnlUb0xtSEROR3RQM0FV?=
 =?utf-8?B?ZXlQTGU4aXpleTdIN21BT3JPd2xySVJkSjJWV3JFZmVMUGxTSzRDcWRiY2NU?=
 =?utf-8?B?Tkg0eE8rQkdIdDR0MVRQNmg0T2ltK0VLSVBzUFNQWTV5TFAzSmdBSm1zcVpu?=
 =?utf-8?B?bWFxSlpsbHQ1bW1wYjh4OVBDaStIdFlDcHFUVXgvOVhNRngvRWlxdzl3U2NN?=
 =?utf-8?B?T0U5MWorUDFIMytFdElkUE41SklGcE9SYlMwZHNFS3hiaWt5d1JQMnJTbm9F?=
 =?utf-8?B?aHBxN2d2WDRFbzl3RU5lTmwzbEtkN2w2WktzZ2pFSTNWNFhFVUI0S2MzUFZa?=
 =?utf-8?B?eE0rT0FJVUFLZEp5TUxIYVpZVkVwL3pYQVg3Wnp5NGRBNmpzbkwyZU5wV0NX?=
 =?utf-8?B?RHNsM2RCRFh2UTI5TWJhTXdVSVppQnJKNEhKRGJxTkNweDlNNlpteXdwcUJR?=
 =?utf-8?B?Uk1mUWoxYUgxUXFNT3A4QVBvbWNka3JZTlp0OGZ2WEFpQ1g3NDd0a1VhSUNK?=
 =?utf-8?B?eW9zM3JEcGNPVkRBQkRkTFpFYmJqVGVld1FhRnpvaG84cWN4WjQzOUVOdURs?=
 =?utf-8?B?bjNBcmRSQmxNbjNHbVpESmNmZHBxa0UzM0d1UWVDMkg4L3lBZ2pHdVZEQ25T?=
 =?utf-8?B?REUvM1RRZ01ranlGSytFMWdsWUNGRzlBTVdHTjNvcVUrNlBpcWw1U2VpRGpr?=
 =?utf-8?B?bFNrcVhGeFZjZXphWXhUZFJTdU5WbkJrM2cxYytoQnc4NXdzNml0cTF0OG1t?=
 =?utf-8?B?ODRDL0VLOU5EZ3lhaHZXbU1PN1lENlM1WitydytVYkU0L1AvbHE0U0NCeE03?=
 =?utf-8?B?Risrbk1NSmJnNTBuYm9ndG1nOXlVU2lDeTlZOEp1RWxJYmF1WGIrODc4UDlq?=
 =?utf-8?B?a0RaYmdFNG4wRFRZQXFRRzJ0dUFoOVVFL0xiOE9xMk1GQkR2Wk0zMHE2eU9a?=
 =?utf-8?B?UVBtUm1TS3lYZkU3a0oxUTNJTXd0alpkakdUNFF2d3hrMnlrQ2lzaUxtc1I2?=
 =?utf-8?B?Y1ltOStCY0I0d1FNVmRhdjZIVnRlWjdQTTloT250K1ZNMFdiSWpFNktoeDA2?=
 =?utf-8?Q?PEfXltSGl4aXjaQ4oHcpk0Q=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 54f4de68-8035-4ed6-ecff-08d9cf675273
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2022 09:48:12.2435
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ROVJzJr5YsNU+DGuViDQEro/M4gjxez6eMyu0alP97jHkvtDgBuaj8CckR1a2Hm7NzOi1MmiM8I8Sssfdp2j2A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7037

Avoid recurring MFN -> page or page -> MFN translations. Drop the pretty
pointless local variable "p". Make sure the MFN logged in a debugging
error message is actually the offending one. Return negative errno
values rather than -1 (presently no caller really cares, but imo this
should change). Adjust style.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Return -errno. Drop exclamation mark from log message.

--- a/xen/arch/x86/mm/p2m-pod.c
+++ b/xen/arch/x86/mm/p2m-pod.c
@@ -58,34 +58,27 @@ p2m_pod_cache_add(struct p2m_domain *p2m
                   unsigned int order)
 {
     unsigned long i;
-    struct page_info *p;
     struct domain *d = p2m->domain;
+    mfn_t mfn = page_to_mfn(page);
 
 #ifndef NDEBUG
-    mfn_t mfn;
-
-    mfn = page_to_mfn(page);
-
     /* Check to make sure this is a contiguous region */
     if ( mfn_x(mfn) & ((1UL << order) - 1) )
     {
         printk("%s: mfn %lx not aligned order %u! (mask %lx)\n",
                __func__, mfn_x(mfn), order, ((1UL << order) - 1));
-        return -1;
+        return -EINVAL;
     }
 
-    for ( i = 0; i < 1UL << order ; i++)
+    for ( i = 0; i < (1UL << order); i++)
     {
-        struct domain * od;
+        const struct domain *od = page_get_owner(page + i);
 
-        p = mfn_to_page(mfn_add(mfn, i));
-        od = page_get_owner(p);
         if ( od != d )
         {
-            printk("%s: mfn %lx expected owner d%d, got owner d%d!\n",
-                   __func__, mfn_x(mfn), d->domain_id,
-                   od ? od->domain_id : -1);
-            return -1;
+            printk("%s: mfn %lx owner: expected %pd, got %pd\n",
+                   __func__, mfn_x(mfn) + i, d, od);
+            return -EACCES;
         }
     }
 #endif
@@ -98,16 +91,12 @@ p2m_pod_cache_add(struct p2m_domain *p2m
      * promise to provide zero pages. So we scrub pages before using.
      */
     for ( i = 0; i < (1UL << order); i++ )
-        clear_domain_page(mfn_add(page_to_mfn(page), i));
+        clear_domain_page(mfn_add(mfn, i));
 
     /* First, take all pages off the domain list */
     lock_page_alloc(p2m);
-    for ( i = 0; i < 1UL << order ; i++ )
-    {
-        p = page + i;
-        page_list_del(p, &d->page_list);
-    }
-
+    for ( i = 0; i < (1UL << order); i++ )
+        page_list_del(page + i, &d->page_list);
     unlock_page_alloc(p2m);
 
     /* Then add to the appropriate populate-on-demand list. */



From xen-devel-bounces@lists.xenproject.org Tue Jan 04 09:49:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 09:49:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253113.434164 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4gR0-0003sa-MU; Tue, 04 Jan 2022 09:48:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253113.434164; Tue, 04 Jan 2022 09: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 1n4gR0-0003sT-IH; Tue, 04 Jan 2022 09:48:50 +0000
Received: by outflank-mailman (input) for mailman id 253113;
 Tue, 04 Jan 2022 09:48:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+k5u=RU=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n4gQy-0003gL-JL
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 09:48:48 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8358c224-6d43-11ec-9ce5-af14b9085ebd;
 Tue, 04 Jan 2022 10:48:47 +0100 (CET)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2058.outbound.protection.outlook.com [104.47.13.58]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-23-BkuKODKcPv2OFf3F3W0sCg-1; Tue, 04 Jan 2022 10:48:46 +0100
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.4844.15; Tue, 4 Jan
 2022 09:48:44 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.016; Tue, 4 Jan 2022
 09:48:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8358c224-6d43-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641289727;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=hCkSWuMSwqATKZ5dxxY4oQpVb+g/5Cx++Q3cRs+RAlc=;
	b=jwzPwuOzZUFBqXgdqz8Ri52vWuYg+jv8wNwpsyKsknBwD/Mtw8r4SO1Adgf+Rp7CWmCy7S
	Ijgr5e09o8WpPvfvAfbSySJJPT2RdtlN5iNuGiuStVOlKR3tnXX+pP8C7E4MUZ0bqpT7U3
	PBlwP0ZAsX4tBGS9xKk4HRbVyz2gxKM=
X-MC-Unique: BkuKODKcPv2OFf3F3W0sCg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=P42KkC2a0QnMEAd2YleSb99539qSf7uyFgugtR0u7scqDhy9VZQ5KkeGWDWBCwMew2rAWH5nG6ZpiNGRa1/1DkfhIf/CN/0ZvzaLtwpcSmB/bQsfx1uYiz1K7/U2Wf5ir4+foltPTaHW4HK73ulEV2VGXFRuBP61foGzR3SUyJPrRUf3zxN4MESaiau2CZLKynRLofjf17vj64FJ8DUd4VeNLmHtzk/Bz5u5JYCuZP5fJEYxu8kwOlWEgsfVkY67VMVcUMcX23omXfXW4Hlj1nlP2WSK4US2bcLj0KK1Sx4yFuddUl/CeWrCi/sxbKMlLzjXuu1AKS/isi3E/cyoeg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hCkSWuMSwqATKZ5dxxY4oQpVb+g/5Cx++Q3cRs+RAlc=;
 b=NnEkS35xlxKGZ2TYI7zFEkgZzlS4wWCNHV7grtlTurnPRNJoupqaBtRNOrbby+mOhh4V023D2Wuh9Y039MeZ5nFhv8qZ4Pl4BZ7gNFHP744bvJ4dGRMv314KoRHWKadlYvOuxIhG0icIdn7/vowBebLvXgqV3PWH0+ajw/gu8BAoj6zc3e9jt8N5t5GRW9IlqhPO1z8yhzVH/CV3QSAjA8c+U8NeyJggip3p575CkPjANXwEJPSJgw6NmJ4zYKJagqsvR9hfxONqosyoTdCI1OBDDVzzJL7bgFGPFptHvdimbBkzFdSePorHNQ36TJVLmO+qA8F70Z/Vt4FJiSfBGw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2e5c460b-9123-bfc3-d5c8-0922f7b2e667@suse.com>
Date: Tue, 4 Jan 2022 10:48:52 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: [PATCH v2 2/3] x86/altp2m: p2m_altp2m_get_or_propagate() should honor
 present page order
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>
References: <e9257e96-ede9-2809-9a77-fd4dc206badc@suse.com>
In-Reply-To: <e9257e96-ede9-2809-9a77-fd4dc206badc@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR08CA0046.eurprd08.prod.outlook.com
 (2603:10a6:20b:c0::34) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: aede9649-5820-4c2d-205d-08d9cf676559
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2446:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB2446F3FC60A2AC50C7B24513B34A9@VI1PR0401MB2446.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:
	QHsmhDJPkDzcJZ5IwjoLFZMKVVDwezTG6oznQBDtIxV3fkF62KHHIQWMMOoHN03dVDLYO5PcvgfBC7lrSY7gLNoPxCbD8VKeNE0P7jOgj9TrhX3vP8s6WPjp5h41IHVY8Iu1fakBDu/Z51bR3Yjg74qCdANaN9CKr1l2KLLhhkGn+ULhkeJZ1r4ClhElUz1OSvw8Y4yh7XNwYxfZap6IiZwMjrVX+8QqgRKDaUYbaVfpqmVfE39jM6W7dp7JXkRDTubZSTKQPQuSwng6MMjN70PBgsTnBuURzm36ym4TNTQ3X8mqa+cDGjXr5HACoAFfRQoTZ/pDVhi8t8ilU/fedxJ9F7KInPtt1bpYrmX//2YANJeL+yAG2M343J5PTqacCbkQTGyzxkvOak0u7IrmYZ+Hk3M35nuCmOX/nGBYxjNocEKGFLHaIrRZrtJanSirGCv4LhPX4tBOZvM46KSDHx5Gk5HgGZsB/attzuUnKdRsNGDzZ9nDFkFjQ9UgP8Hhq022srTWTjSpG29VeVbdz6mefvzFOV690qBsNvecEm0ZtWBXuZc5JtWohosR0I2Uwlo47tzglcQ57x4J7Xz7bsNQhBOeynA0xricqFJNZ+PQ4eTPRLEwONAwBOOcclk4qnjWZx1p3h5vqVZuxqjvzRxVx5PpCRxZQNHYPtlO2bPT/5IoEmcVwT2kDUQgluDjtwbtEOnlzlTOC6e7tZebbPgtybUDqG64HbUubMZ0AfM=
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)(2906002)(31686004)(508600001)(38100700002)(36756003)(6916009)(5660300002)(8936002)(2616005)(6506007)(8676002)(4326008)(6666004)(86362001)(83380400001)(6486002)(66946007)(316002)(186003)(54906003)(31696002)(6512007)(26005)(66476007)(66556008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QkQxbzNYSEFEQ055WVRFSlpCZEw2ZkNXTVhqRVRlMjBRQlVJeUxvV3YxYlBM?=
 =?utf-8?B?cG9lV1oyYmVRTENvblVwck1XbjNIMGFpL3k0NDhNbUJPcFMvZzF3d3A1NnFS?=
 =?utf-8?B?SnVUSXM1TE00eWpyRnZ4QnhLbCtyb3FIdHUraG1XS00rR0tTZ0x6QnRPT3hN?=
 =?utf-8?B?bDI0YmZ1cHRoaHZZdnVJNjJkVHlEcUtKa2wwS04zZ1BhdXc1SzFGc21CME43?=
 =?utf-8?B?eFB6WnU2ajdkU1pUbDRnSko1UDVRMEhtbFh5U2Q3c0FydU1hKzh6T3FOaVpC?=
 =?utf-8?B?L203Y1RrOXpqcndQMmJHaFBQSC9GclRwSUVHeSthM2RTajlORWxoWHhXWHJS?=
 =?utf-8?B?aXZuTEFoQ3ZRaW1WYmFJY05LeDNJSmQ0MDE4YUhudXdna3MzVmJmNG1scERy?=
 =?utf-8?B?ZmlDc3N6eFVjS3NTZHRpS2d3ZHhjZGIyY3lrODREa1R4ek0yTThmcVZCRzhZ?=
 =?utf-8?B?R0VvZytSSGhZUHBwZTlZWkxYZWJNcXdhRXV1OUMwQ2FqSU9ra290aTRaZzZM?=
 =?utf-8?B?VDdYK2hoQzVGMjVoWFIwZkZ0UzN3REZnM2hPU09HU2paRGZIaTIzeGd5djdY?=
 =?utf-8?B?TGZ1VkhscVhRbDc2dHdERDZiQXRxUHovK3Q1S2U5eEFzWW13NHNZdGRWVUFP?=
 =?utf-8?B?L1VtOTU0cGxJTjErdklubU4vVG5RUkpxbkVuUERoMnAxN3NTcmgwT1dYcmoy?=
 =?utf-8?B?Z0N3blNyWGhGQmc1ZGwwZVd5MkZIeExNdWZMWlRhZXRiWklxRjU5elVFV1RQ?=
 =?utf-8?B?UDgzTCtpUkd4WU1YZWlDZ0hHTjdXN1g4aFhqeFJrQnF6Y2tMa21OMDVKTStQ?=
 =?utf-8?B?SXpFdHJObTRDVEVUKzlLL0pOamFMZzlwMUNpYms0WUtrL3k4WCt2dForUlQ5?=
 =?utf-8?B?QVQzckM1WFU5MmlCRUFlL1MrbE5ZczN1M1ZiWjlqUjFKejlYd3p2K25QUEVX?=
 =?utf-8?B?OXJuNWRVZVZuRnl3cXVzQ1UwUHJGbmEzRHpiWjMrZ2svMVdDM3l4V0JNRUQ5?=
 =?utf-8?B?Y1c2dzhyaG8xZEsrVkg2WGh3RXYxcWNjWU1IRFNxNHF6b0NOZ2RtSnB4RHVO?=
 =?utf-8?B?bWx1cUNBRG1PYmg5UndtbGtST1pKcDhDVTNBUExVcCtMZHphcEpmOXdZbnI3?=
 =?utf-8?B?Q2U0aWNmTzQ2YXE4ck5uRFMxRU4rUmQwY2hid0JKQ2J1TERRK3pNd0NHV3pU?=
 =?utf-8?B?R05FdjNCbGkxMjFJbVRKdmVNR1ROZmdRYmtpeENOS3B1VFliMjNrT05TeC93?=
 =?utf-8?B?cDhhb0J3N0dQZDhXNzUrVk5JTVhXVnBnT1F6LzdRSHhkcGlzblZOMXVUN3ll?=
 =?utf-8?B?aEVxT29ERFFPNVBDWmtoWDNGSllldjA5aG1TWllHZVNadjFFbUpRWVNmV2pK?=
 =?utf-8?B?VDdvMTBjU0pjSGpKTHpXNFpNRWFLODhZZWFrTmRhVm96dFp6QmlQVm44dUd4?=
 =?utf-8?B?Ky83WUcyZXI1VUhCL2NJMkpURUN3U1ExUng0eEZIR3IxRnFFSE1lTjgxNHdD?=
 =?utf-8?B?cmJGendyRFY2SmUvZk5GYmdYdTVOOW9mRmdYSWFwK1hLYlBHUTA5Ti9rcVhU?=
 =?utf-8?B?bEFqZXBCSjdUYTVSOUVoRXRGUk95MFRzQ3NTdVhxWnJlLzQwYjZ5dHl1WU9h?=
 =?utf-8?B?b1lQUENEM0Z4LzZzSStHYU1yOEhwTURscEdsU3FNdmp3YnlJVENybTJqQ0Vj?=
 =?utf-8?B?bVNVYi9hMHlmR2NEZ2RDMGFCcE5qU0ozOVZCR0dtb1pTT0NKNWZxVDlnUWVp?=
 =?utf-8?B?SGxJQXRiK1BiZnA5dnZEc1I1MUtkOHVpUlc3RzhGRGErTnlITjlZOWkybDU0?=
 =?utf-8?B?cHp5STVKMXdVNnJMeGlLN2I1bFRDTm9iaXo3eElqK2l0cGtxQmEwd2FRRUV6?=
 =?utf-8?B?ZlpsZ0tPRUJrU2RiU1BnOFp2aE8xS3BGSFlzdndZS0xQQnhKVE9SYU84OW5F?=
 =?utf-8?B?WERIeXlRZW1QdHFxajY1MXIzK2lzS2hlZHZmS2ZsL2g3azlrcjdldmdESkR4?=
 =?utf-8?B?d0VQWnFJRlhRcmIyWHJOUUhEcjhxMEFmRDh6dXpsVlFpTTFSU3kzVzN1MVV3?=
 =?utf-8?B?cmwrNGFkUGNqVHdxN0VuT0Q5ZEtrVnI1VnpVV1pNOE82RisvV2ZHNWVMSWlU?=
 =?utf-8?B?ZWdlQU5wZDU2MnErYmpaMmpGTFUwb3pPNGhvRngyS1Qyd2J6REk0NkpIREg1?=
 =?utf-8?Q?VCw6sZEbbhKHwuz+vO3n++g=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: aede9649-5820-4c2d-205d-08d9cf676559
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2022 09:48:43.9536
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mE7jqxDekhmwkeGwOBnV74rF3EFsSnWH86xLnY5dOWWn90JBYUyUzqu0G6EuOIOwuvQZb7VESzKruVGuMfrZRw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2446

Prior to XSA-304 the only caller merely happened to not use any further
the order value that it passes into the function. Already then this was
a latent issue: The function really should, in the "get" case, hand back
the order the underlying mapping actually uses (or actually the smaller
of the two), such that (going forward) there wouldn't be any action on
unrelated mappings (in particular ones which did already diverge from
the host P2M).

Similarly in the "propagate" case only the smaller of the two orders
should actually get used for creating the new entry, again to avoid
altering mappings which did already diverge from the host P2M.

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

--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -1832,7 +1832,7 @@ int hvm_hap_nested_page_fault(paddr_t gp
          * altp2m.
          */
         if ( p2m_altp2m_get_or_propagate(p2m, gfn, &mfn, &p2mt,
-                                         &p2ma, page_order) )
+                                         &p2ma, &page_order) )
         {
             /* Entry was copied from host -- retry fault */
             rc = 1;
--- a/xen/arch/x86/mm/p2m.c
+++ b/xen/arch/x86/mm/p2m.c
@@ -2198,10 +2198,11 @@ bool_t p2m_switch_vcpu_altp2m_by_id(stru
  */
 bool p2m_altp2m_get_or_propagate(struct p2m_domain *ap2m, unsigned long gfn_l,
                                  mfn_t *mfn, p2m_type_t *p2mt,
-                                 p2m_access_t *p2ma, unsigned int page_order)
+                                 p2m_access_t *p2ma, unsigned int *page_order)
 {
     p2m_type_t ap2mt;
     p2m_access_t ap2ma;
+    unsigned int cur_order;
     unsigned long mask;
     gfn_t gfn;
     mfn_t amfn;
@@ -2214,7 +2215,10 @@ bool p2m_altp2m_get_or_propagate(struct
      */
     p2m_lock(ap2m);
 
-    amfn = get_gfn_type_access(ap2m, gfn_l, &ap2mt, &ap2ma, 0, NULL);
+    amfn = get_gfn_type_access(ap2m, gfn_l, &ap2mt, &ap2ma, 0, &cur_order);
+
+    if ( cur_order > *page_order )
+        cur_order = *page_order;
 
     if ( !mfn_eq(amfn, INVALID_MFN) )
     {
@@ -2222,6 +2226,7 @@ bool p2m_altp2m_get_or_propagate(struct
         *mfn  = amfn;
         *p2mt = ap2mt;
         *p2ma = ap2ma;
+        *page_order = cur_order;
         return false;
     }
 
@@ -2229,6 +2234,7 @@ bool p2m_altp2m_get_or_propagate(struct
     if ( mfn_eq(*mfn, INVALID_MFN) )
     {
         p2m_unlock(ap2m);
+        *page_order = cur_order;
         return false;
     }
 
@@ -2237,11 +2243,11 @@ bool p2m_altp2m_get_or_propagate(struct
      * to the start of the superpage.  NB that we repupose `amfn`
      * here.
      */
-    mask = ~((1UL << page_order) - 1);
+    mask = ~((1UL << cur_order) - 1);
     amfn = _mfn(mfn_x(*mfn) & mask);
     gfn = _gfn(gfn_l & mask);
 
-    rc = p2m_set_entry(ap2m, gfn, amfn, page_order, *p2mt, *p2ma);
+    rc = p2m_set_entry(ap2m, gfn, amfn, cur_order, *p2mt, *p2ma);
     p2m_unlock(ap2m);
 
     if ( rc )
--- a/xen/arch/x86/include/asm/p2m.h
+++ b/xen/arch/x86/include/asm/p2m.h
@@ -852,7 +852,7 @@ void p2m_flush_altp2m(struct domain *d);
 /* Alternate p2m paging */
 bool p2m_altp2m_get_or_propagate(struct p2m_domain *ap2m, unsigned long gfn_l,
                                  mfn_t *mfn, p2m_type_t *p2mt,
-                                 p2m_access_t *p2ma, unsigned int page_order);
+                                 p2m_access_t *p2ma, unsigned int *page_order);
 
 /* Make a specific alternate p2m valid */
 int p2m_init_altp2m_by_id(struct domain *d, unsigned int idx);



From xen-devel-bounces@lists.xenproject.org Tue Jan 04 09:49:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 09:49:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253118.434175 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4gRi-0004Xv-56; Tue, 04 Jan 2022 09:49:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253118.434175; Tue, 04 Jan 2022 09:49:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4gRi-0004Xo-1I; Tue, 04 Jan 2022 09:49:34 +0000
Received: by outflank-mailman (input) for mailman id 253118;
 Tue, 04 Jan 2022 09:49:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+k5u=RU=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n4gRg-0003gL-T4
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 09:49:33 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9db13e11-6d43-11ec-9ce5-af14b9085ebd;
 Tue, 04 Jan 2022 10:49:32 +0100 (CET)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2106.outbound.protection.outlook.com [104.47.17.106]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-5-Ck4OqX7YOq6lAnU2hsquOA-1; Tue, 04 Jan 2022 10:49:30 +0100
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.4844.15; Tue, 4 Jan
 2022 09:49:28 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.016; Tue, 4 Jan 2022
 09:49:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9db13e11-6d43-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641289771;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=EubbiLSoJ7gBkAT814XkFnEd7VOT3g+5pVKJpSG0l1c=;
	b=LjD5fV7nVxal/vZMNpxu+3XzUrZxVzIQRALfkNCoUjS29hFCumUl+ll5qXKrD/7QNqk7+N
	W9gUojIaed6RCA4ECdMIxXyzBVhvaY+TEXex8AT9fMd7UXz4vjiaHAlpKZ0U9rRUEgVXap
	J3d3fwPyUE6VzU02FwFABPjKg2VDJq0=
X-MC-Unique: Ck4OqX7YOq6lAnU2hsquOA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KswNQ733G5AG0qTy7/Ks91J6+NIyOnIY0cyvVRRdGE7+F3OnDssVSEOH+X6vCNGC5FxwKBoRtctSC0sqJANRVTumXudNxZ79isUP3aSfQXtHcSuQUbGyhjf7f8pIFSmNa3/VP0c9jTZockfpkSKbj3R2wodWt5fqGQfKXiZ4F0cvt+BcZzTeZ9Q+e7vQKFS69gwHJaTGlZKKirqZyJEdyWn336c9INH9hF/O6yywtPnlcDC7NWVB417IsZqEU4UelSqDV9UY94dxyH/CLCPmD++ckOH2x9Th/aMYTRBV0efeOnGMai6KAWGEByqTYYpQOzCBuHN4GZ0CzSX6tr902Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EubbiLSoJ7gBkAT814XkFnEd7VOT3g+5pVKJpSG0l1c=;
 b=Sk/uAZpaHlWrsvY7yXbMbuNMeJdqKVZ2V1MlHhK+aM3T6aofESwMINZEvbxgCCpNkomW2O4MRIAe9HNF3twlaUIfbB8CbzE6jnmkTH31YqgkXnQiK3hJuWEC3LBsMhdIdHGX0DG38Wf7qEecsRuBYR+FvS/1goZs/2YPeAoDCYI/r2EIi+Gu0dx3YQa93bNBkEDFxdHXkraGG0uhsDBgQCajKrauki3DBK2GCpfDNvlhKLxmP4Os1Siwvfk0G78/7NVjwI7042UL5YhzYQmibFqSbwcHs2cNxxXnxCN/LMnuNbeWYrXQ1UZDiq7S/Y+eQ+4IPI40cU1l71fkPWo4+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: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d1b6aede-2c0a-df7a-7815-73ad4d795899@suse.com>
Date: Tue, 4 Jan 2022 10:49:36 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: [PATCH RFC v2 3/3] x86/altp2m: p2m_altp2m_propagate_change() should
 honor present page order
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>
References: <e9257e96-ede9-2809-9a77-fd4dc206badc@suse.com>
In-Reply-To: <e9257e96-ede9-2809-9a77-fd4dc206badc@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR04CA0128.eurprd04.prod.outlook.com
 (2603:10a6:20b:127::13) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2265aa29-24da-4215-521c-08d9cf677fc7
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2608:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB2608187F7A14A8F11C8DBC4EB34A9@VI1PR0401MB2608.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:
	CeMFi/pFQ8t27qxHfdIk3Vti9YdjqmN7QJQ9NHMVhiQpXBE2et9MLuLjCNW0OeY9TH0iEpMxT/IFcV8/1EL0dzrmssT0OoFrG/F4KOxUEt3TbTeOH1CQt/lmxccKP7r94Obh0o5+S+SDmOsMbJXMUs6ARApLAPi5zk3wnrYcuMUghlnysNjCN9YKxgmjWTphAUi6bMTp6dPxxKhBIwsPABF5/ak8DdOsjh8CL9BTJ5/x6b3E/q7huGNXuvj6eZwj99wbsQan7P3sHMEeU8h/1zh4EiLtJ2TeHlbTVwEQit54JylJdwo7Ca1Nrqff/8jrUr5Lfa2o0s/s8VXfqNnrEp6sew4QSCUT9PIH70Tso0EF6Zh8SDXbZPJM+64Cb4rXKKa+A97ncu8c89evgEIZTxjUVLTpT+7M4VnurnUHLYSt3e1iAdUj7ZfMrpZ7sxpQ3bRAy+H/5dZmCU52ndkwpsazxR+8sVJuomemGAlkhPD2V32pjXL9jrMvZWHT7N9N9YIt56cmYVFUW6TYmlJ2cTEmIfWG2qXC2NQojPtuiMYIzTAjqxvd2DFiSmuCaqDfkt4hzGdRgBy3fkiU6BtOfa2dNIpFwA5slqcUhNoyw/LyVFxv5xiAcrQXeOtw0M8qdUCH+ssBMawEABoaCGgOn5XxuXqldqEM4EkwV0gSjv75QJo+FML9+5mBFyqAbElWfCyntOiHJXP40Xqsk6gSbR15nPmpr1riix7Ko8YT7IMERmSUPxKO9KLy1nhDMyOS96D6R2GtXNwiEWrhr5Rmvw==
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)(316002)(6512007)(5660300002)(31696002)(6506007)(8936002)(86362001)(66476007)(8676002)(66946007)(4326008)(36756003)(66556008)(2616005)(186003)(31686004)(6916009)(38100700002)(54906003)(6486002)(83380400001)(6666004)(26005)(2906002)(21314003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YzdwQ0Z1ZnJyM05LUjh5UTNNdUt3QytqdVVTYTFJcTNXaFFtVlBTUDU5UTE0?=
 =?utf-8?B?bEJCUmg2V3JkNlhvbDVtdU9KeDM2bG9YQTVoZmR0ZnovNGxIbVpqbVJSNkxk?=
 =?utf-8?B?WjdScml2TzFvMkpXM2NET0h4Y3MxZTdKdndVMStrVnNsd1pjY2NmRGNGU2JC?=
 =?utf-8?B?ZElaNEpHdnZkQkhBMnJyWUZyMTl2aXByWlhVRVkveE90UjZYZ3UxUVZhSnc2?=
 =?utf-8?B?N1dDMW50dk5YeUduQ0VBUGZFZWZzTHdVVnBIUk5acllnME12dkFSRG9aK1Fo?=
 =?utf-8?B?dmRhbnhuV1lvOEd3YmxTdkpnMWhMZ2lMQjFlcG1BQ0JDaDNRQzZOU283Y20r?=
 =?utf-8?B?NUI1TFF6WU9idE9JdjVJbStmMzJsRjQvYXFoZzJvSTd6VjU4VzVyQ3FpYTZv?=
 =?utf-8?B?U1lCdENPcSsvUVhtNHkraVZKcGg4YllyQ0JlTm03WXhrTm0wM05zN2NTVVFI?=
 =?utf-8?B?SXFjNUZ3WEpvWFJNZnRRYTdhM0J6Y1N0ZGUyMktqYU9MS3hybDcyK2hsMTRh?=
 =?utf-8?B?a1RJWXhjYzdHUnhhaEZEZDAyRUlqN0RUZGZXTTlYMmlyUnRoYlkyQUJ0NlVh?=
 =?utf-8?B?STAzdi81K1dCSmhOUHA3eGl3cVlYamw0NHhFY0Z1dmVkMXhzNklSclg1TE9N?=
 =?utf-8?B?dTFSeGRPczJpRytYanRIbGVWM3A0d1hWOUpuZWZHMDJUS2ZXTW1uclRzcHcw?=
 =?utf-8?B?OWF6SGhlanNqcTc0YThGYlF4UXVSQkc0bnV3NzVLZTE5NDlzcFVvZEl2b0h2?=
 =?utf-8?B?bTVTOUMwNHlSeUVZMmhrajVjbnZmS0dkOWdCTmN5ckJaZzVNZU1EVkcyVURP?=
 =?utf-8?B?WjkvZ3VnRnJtLzU4OEh0ZjdDYy85dE5Bd241VW5mTDJFT1JuVlo0Mm1hd1hl?=
 =?utf-8?B?U3kwYWExNW56NW9Cd0NmT2xTS3hMWUtEWTFNRURsNDA2ZnU1YnBWeEV0K2tO?=
 =?utf-8?B?cXRETFE2TUpMc1M3U3A3blBYWmdtdVhJRTNrQlE2WjNDQlNNcGpSWWYvWjVB?=
 =?utf-8?B?SWtvRU5XUWhvbGhSTmZlbC92Y1BrODNqNTNsYVVyZzMxbjB0K0IxRFVJejMz?=
 =?utf-8?B?NVdWd1A0RWt0TXRzWHNxNGpsekxzWC8zQkVnNnJ6QmJaKzErcXR0Y0RWR1M2?=
 =?utf-8?B?cmZGRjlLNkhMYStST3FyejhHTmlYcWVkSkg0OXhaVnlsazlWQW1XL0hVRG94?=
 =?utf-8?B?OXdOcmgyMnUyVnQ5b2l3c1ZnMDNYbEh2UVFTN1pvQlBhdVVlTnVFY1NVTitM?=
 =?utf-8?B?WVkyNElYc09ac3A0SjNMUXN5Q2ZmUjBLbEhYVUQxdzFSaU5FVEloNHB1QXpk?=
 =?utf-8?B?djYwRHpBcWpNSlQ5NlJBVlk4bzQrQ1FxZEhVakhMV2x6bVYyZDlqd3BMRWJl?=
 =?utf-8?B?LzFjUlVEYjEzbkVCWVNKVHZmTlR4THBJcHFUYnM2RFlheTZ3N3o4YjZ4U2R0?=
 =?utf-8?B?NUV5ekpkWE5PRzlPV3BMWXFYK0N1VnJpKzN1KzlhQ0t2V3JxdkZ6ODBkUGNr?=
 =?utf-8?B?OW1ZVkI2bWlYSFJadlEyZFNjd0Jta2ZpZytYRi91enB1YitPWi9GU1RkUWhD?=
 =?utf-8?B?VVR2V1VKcVV0WThmSjlxOXZ3NitHcmhJY1JGODNTd2o4MnpCUVJGNmxOMjNJ?=
 =?utf-8?B?Z3lyblVaZThvanM3aVQ2Vlk3TUcxYnN4NklpOVJ0cVRoZE50UXJoUkppZHZ0?=
 =?utf-8?B?YzY1YXhwSEpuNDlaMG9mNlFDQlV5Zk40WXE3VE9YWnlLM3lMdXFtY0R2cVk5?=
 =?utf-8?B?ZWVKOWFMWElPT3VKTDVoOHBQMkUyYjlGVEZjNWhRTlV6M3ZSQ2hrVm9qa0c5?=
 =?utf-8?B?ekk0U1Z5cldhSHZvOVNDMUp0M2lsM3NNL25PZ2ZGYTlhSEx3YWVhdWpCZHRh?=
 =?utf-8?B?U05ENFVsWjJvcUNlenBvRG5HczJNMzEvdU9jSk1ITTNRQ25iZVhicnp0ODhD?=
 =?utf-8?B?Ums2QXB3ZHZXN0g5cW03NW4xenJlQzdCT2J3cDJHQ2RHK1BvRDhEbXRreUk3?=
 =?utf-8?B?NnNHTWdlN0tNN0hOR09DUGo1UmZqb1JFN2lGNjNiUVM0M3llL05aRmgvRUdT?=
 =?utf-8?B?dFpGU0VYZ3h4QVZYelJETnhROTg4N29FL0xuOWRFWkRkNzJZQVBkN1NKV3Ev?=
 =?utf-8?B?dlQ2YTc3cE5WZUFYRXRxeFpnUFVaeWhCOFNXbEF0eDBDYVZUR1FidmtjVTVj?=
 =?utf-8?Q?gBx/cRKS5E5ISGX26Nsx7nU=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2265aa29-24da-4215-521c-08d9cf677fc7
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2022 09:49:28.3235
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: RtxLhc/B1XDIWGKxhB4i9DKqDwKr2V1QPXZv2ma0upGBsWAfWDNGTijdnJF5WT/PieA3ErdvRGV0/q9uHtnXOA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2608

For higher order mappings the comparison against p2m->min_remapped_gfn
needs to take the upper bound of the covered GFN range into account, not
just the base GFN.

Otherwise, i.e. when dropping a mapping and not overlapping the remapped
range, XXX.

Note that there's no need to call get_gfn_type_access() ahead of the
check against the remapped range boundaries: None of its outputs are
needed earlier. Local variables get moved into the more narrow scope to
demonstrate this.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
I may be entirely wrong and hence that part of the change may also be
wrong, but I'm having trouble seeing why the original
"!mfn_eq(m, INVALID_MFN)" wasn't "mfn_eq(m, INVALID_MFN)". Isn't the
goal there to pre-fill entries that were previously invalid, instead of
undoing prior intentional divergence from the host P2M? (I have
intentionally not reflected this aspect in the description yet; I can't
really write a description of this without understanding what's going on
in case the original code was correct.)

When cur_order is below the passed in page_order, the p2m_set_entry() is
of course not covering the full range. This could be put in a loop, but
locking looks to be a little problematic: If a set of lower order pages
gets re-combined to a large one while already having progressed into the
range, we'd need to carefully back off. Alternatively the full incoming
GFN range could be held locked for the entire loop; this would likely
mean relying on gfn_lock() actually resolving to p2m_lock(). But perhaps
that's not a big problem, considering that core functions like
p2m_get_gfn_type_access() or __put_gfn() assume so, too (because of
not taking the order into account at all)?

--- a/xen/arch/x86/mm/p2m.c
+++ b/xen/arch/x86/mm/p2m.c
@@ -2532,9 +2532,6 @@ int p2m_altp2m_propagate_change(struct d
                                 p2m_type_t p2mt, p2m_access_t p2ma)
 {
     struct p2m_domain *p2m;
-    p2m_access_t a;
-    p2m_type_t t;
-    mfn_t m;
     unsigned int i;
     unsigned int reset_count = 0;
     unsigned int last_reset_idx = ~0;
@@ -2551,12 +2548,30 @@ int p2m_altp2m_propagate_change(struct d
             continue;
 
         p2m = d->arch.altp2m_p2m[i];
-        m = get_gfn_type_access(p2m, gfn_x(gfn), &t, &a, 0, NULL);
 
+        if ( !mfn_eq(mfn, INVALID_MFN) )
+        {
+            p2m_access_t a;
+            p2m_type_t t;
+            unsigned int cur_order;
+
+            if ( mfn_eq(get_gfn_type_access(p2m, gfn_x(gfn), &t, &a, 0,
+                                            &cur_order),
+                        INVALID_MFN) )
+            {
+                int rc = p2m_set_entry(p2m, gfn, mfn, min(cur_order, page_order),
+                                       p2mt, p2ma);
+
+                /* Best effort: Don't bail on error. */
+                if ( !ret )
+                    ret = rc;
+            }
+
+            __put_gfn(p2m, gfn_x(gfn));
+        }
         /* Check for a dropped page that may impact this altp2m */
-        if ( mfn_eq(mfn, INVALID_MFN) &&
-             gfn_x(gfn) >= p2m->min_remapped_gfn &&
-             gfn_x(gfn) <= p2m->max_remapped_gfn )
+        else if ( gfn_x(gfn) + (1UL << page_order) > p2m->min_remapped_gfn &&
+                  gfn_x(gfn) <= p2m->max_remapped_gfn )
         {
             if ( !reset_count++ )
             {
@@ -2566,8 +2581,6 @@ int p2m_altp2m_propagate_change(struct d
             else
             {
                 /* At least 2 altp2m's impacted, so reset everything */
-                __put_gfn(p2m, gfn_x(gfn));
-
                 for ( i = 0; i < MAX_ALTP2M; i++ )
                 {
                     if ( i == last_reset_idx ||
@@ -2581,16 +2594,6 @@ int p2m_altp2m_propagate_change(struct d
                 break;
             }
         }
-        else if ( !mfn_eq(m, INVALID_MFN) )
-        {
-            int rc = p2m_set_entry(p2m, gfn, mfn, page_order, p2mt, p2ma);
-
-            /* Best effort: Don't bail on error. */
-            if ( !ret )
-                ret = rc;
-        }
-
-        __put_gfn(p2m, gfn_x(gfn));
     }
 
     altp2m_list_unlock(d);



From xen-devel-bounces@lists.xenproject.org Tue Jan 04 09:53:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 09:53:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253128.434186 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4gUt-00060B-KW; Tue, 04 Jan 2022 09:52:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253128.434186; Tue, 04 Jan 2022 09: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 1n4gUt-000604-HL; Tue, 04 Jan 2022 09:52:51 +0000
Received: by outflank-mailman (input) for mailman id 253128;
 Tue, 04 Jan 2022 09:52:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+k5u=RU=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n4gUs-0005zy-2t
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 09:52:50 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1314c55d-6d44-11ec-9ce5-af14b9085ebd;
 Tue, 04 Jan 2022 10:52:49 +0100 (CET)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2053.outbound.protection.outlook.com [104.47.12.53]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-33-8R6WaNCyODazK5GLOTzUfQ-1; Tue, 04 Jan 2022 10:52:47 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0402MB3933.eurprd04.prod.outlook.com (2603:10a6:803:24::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4844.16; Tue, 4 Jan
 2022 09:52:46 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.016; Tue, 4 Jan 2022
 09:52: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: 1314c55d-6d44-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641289968;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=57bJ3dDNbUyOxeviYmSM+5AL7AXbY2dKPdH8ElXnINw=;
	b=QmuQ02m9yEHNstUYMLWj5WKsRSua0iUVXcjik18s/AB2uiwiibl8mmZ1Sg0qt3QFXFCZVX
	CQjhQrOn8mz3/2PKmj1CAlPBJmnz82loRbb3z7umgY4LjgB6EmuNncq66GRI7gFjBahHM/
	zEt5fRKa4oPyRoSsNc0e5NsZnofIi+I=
X-MC-Unique: 8R6WaNCyODazK5GLOTzUfQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZjZAUJXKL3SO0IKz6msVZGe6KX8Kqc4St5PsuIRt1sZcMxLZudNm/G+vG7v4N9/MHJKpSiWDvgIh7KYFit5fvfBAb4ueZWd3aczGEY28OyHqiOJlmfV9mfnws/hnVPgeG2PwQK5PYGmhQLygpHf0K/d+SJzqqZPXr/SjVOMz9xWbv9L18cC/Dx3/apxMoR0+8Upi6eNsW88I8AtgSv0JwbxbhqlbSWCVT2awuSR1ATjsvHElWlNAMgUDTD++SFOgbQ2dWgagqFDuS458ydvVs6dyIvDvHOqSjoTCLZf4fU0LbZqgK8PqboZ8nXVmzlgsbM+FbvlWGq6SYCUPopYK0g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=57bJ3dDNbUyOxeviYmSM+5AL7AXbY2dKPdH8ElXnINw=;
 b=HXb/AYDNowdfC9hyls29zHdCgCEInp9ywTnuqvENet2j3FMIYsw4XmIp3ezjVB07xt3fUdJ+HKB8nqF2ENXrVwPkeGnKjLWPPFA7rQlBJQDyqw76wcza0/lN8QqzWxQGq7Bxu63uFiD2r2eaGo+iPMLHEZYc+Yz5OeW6J5A5H3/mRkJSuVXwxFlNfzVJ3P26XHZ87Ivp9HZYLIeal3b+FlzGzvuIrvK7gsDpQAtrIyAr6TofjVEWLsRwh98Zcw5u2S0iPvNr0ZGO8Hf2vXVwQSXnK14JUeVAAoA9jaY1eMktyjGdTlCSzpqmxYQp5DBP9MnnN7t9cmsbFE+X11RYgw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4cd3264b-7c5a-250c-2a1a-3014c25e33e2@suse.com>
Date: Tue, 4 Jan 2022 10:52:54 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Ping: [PATCH] tools/xen-detect: avoid possible pitfall with cpuid()
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Wei Liu <wl@xen.org>, 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>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <94338540-4bcc-7ad7-9de1-944c0dc96709@suse.com>
In-Reply-To: <94338540-4bcc-7ad7-9de1-944c0dc96709@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM7PR03CA0024.eurprd03.prod.outlook.com
 (2603:10a6:20b:130::34) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: bae03471-bf86-4d68-e1c9-08d9cf67f597
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3933:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB39331906CC2C2A2CFF0B2E93B34A9@VI1PR0402MB3933.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:
	ru2D47AxBmEqSNLAsXtrlEcUztYrs1pf3qTqrU0q82L1I3+KBvM2tNlDBEF0hgxxndkDmV06KboZVeBpjnqAUPUReZ+uUFj1xbMz055tLyO6KcD5NTWIuuGoXTjfVDk+oVsIKtrjds63OddqOCs9GCrZiMp8oeW7bSHTthUcOmCOE3Z5DWwXValBiWCVA3u3LcktK0ecwYd9E4EOr1NaRqv38GI4TfwAGj+ILiumvXIl3c5e2moPAePTYYayD8G4RkBtVhIzMXgjPWa5P3LgJR7++y5uUdENhoXSYslYmWXElcohQu7I284WTbndxNfrDjxn7sfGOj3CLzXZfCDlCNZTovZ5Yv3VS1i7CA9j6WoA9FdmJ/zq9LN1bIZODdlTz8RfYKpp4QfN+z9UMECzuKi8JHKSwBOMtnJjtaoexuXkgtMsiLa/dUf2pcb4GhlF6YyMidO0lUk/sMgnjMCxudxI4pYyDDzatVI9r83x/tIwkjaTUdf9NGKiubeEHYAqZM+5FgaPrE/Tm7eq8PfioDxRHLEAeZVQwoq/inhqZ/b7HWu58gmK/G8NU60bLktncqqYcYnjFXcn1UnOAwjd9yLSGPLuXOq1Aq3ZChKzy5fA+Zz3ntev4HDe17UVFIpJOGh1+/2RIZPyir5f2NSKRo3iIiT1jVUu7nSLzyfwnlHGF3tEdXjGPJB+hbmvMtBNwp8+XRC+fgrocAGZ0lX9CvJV5k1qW1/dFifvchs0Ix8=
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)(508600001)(86362001)(6512007)(2616005)(36756003)(6486002)(53546011)(4326008)(66476007)(110136005)(316002)(5660300002)(186003)(66556008)(6506007)(54906003)(83380400001)(66946007)(8676002)(8936002)(26005)(38100700002)(2906002)(31686004)(6666004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WW1vMkdhTVlWbmduaUIvckpkZnV4Mk9Obi9nZG4ycGZ0cDFVZlpNTElqWDNn?=
 =?utf-8?B?S3NiVjQvU0JoZDRCWHMwN3pGQ0o5a2VrM2lYMDdFQkRKdTZzQmVVbFJFeXQz?=
 =?utf-8?B?MTYrZitFTDNEajVNbTZ0TTIvS3Z1M000b09ia2NCZU5sRHNoUGJiY01tOUNN?=
 =?utf-8?B?S0RuejkwMkxpeWlqTXJwbjdCZElLaDlCSFVjRkp5ZGp5ZzNkVG9UK0NlQmVu?=
 =?utf-8?B?U3Mra2dNNG5rZ3hESFFGclFJQndHdWZTWEVvaFl2YzQ1R05neFpxZGx1SGkx?=
 =?utf-8?B?ek1EK0REeGVJMkxJY2Z1VmRtcjNRcGZINGZzd2F4c2doakNsU0ZYSU1nYUJU?=
 =?utf-8?B?d2FySkZ2NWFRc3h5c3grSXFCbVByc0p4ZGV1SHM0Z0RRcjFuNG1ZTjFPdEg5?=
 =?utf-8?B?T1kyRUJLRVRlQWVCanZlMGtNVE5WQ2NjeEdCZnRIQktMdGpEVG5DbDBVOE5a?=
 =?utf-8?B?OGF2YmZVSUI5OGNmSzlmUXI0R3RicDhXbjZIaXFQQmNBSzlrbGw5d1ZaNy9o?=
 =?utf-8?B?K3NNMTFQV3JlRkF3bVZtczZiMjM5cWh3TGVPaWFqK0hydko1dWlrcU84THRG?=
 =?utf-8?B?OThqNlNJbE1sUVduZUZrWVBFaXpjTkxJRGovVllBcDI5aTZlUk55dDFDdm5N?=
 =?utf-8?B?RzI3dEErbjhOOHIrZGtGMXJCekpVWGMrOXBvRjhvOWVYSlZoazNha004emNL?=
 =?utf-8?B?cHV6VXU3dk1BNlNZZjNNMTNrYm9oUUpzbmJhWWpSWjM1RW5wVHowOStQUmJV?=
 =?utf-8?B?djhWQi9ObmJ1YXRxMVB4MHYvQnBTNUQ4SzhyK3VzbmVNa0RZblloV2RxWkJD?=
 =?utf-8?B?dFJ2OGpiSXhaMndSRkRKUVlMMCtOamhkRDFtNUdPYXd0d3RKL1F5Mi95TGZw?=
 =?utf-8?B?QlZISWRSQ1VJSnVwNGNFdWJQVHc2bGUrdVFlbzIzN2czUW55ZWEzWW1iWGZ5?=
 =?utf-8?B?MWVYTUZJWHBNOGtOWXdGQ1padllIVWpRejZSRTNYMlo3QnFMUnpzTVVJN3Q2?=
 =?utf-8?B?SHlhVFRKMVdreXZoQy9CRno2THZLYm40OXZGZEdGaVpiaWlVNW9mWnpkb09O?=
 =?utf-8?B?NGptNG9ncit3TmRicVJHczMrOWVETFhGb2xjYmJONjZzNTg0TmRMSXZrbW5M?=
 =?utf-8?B?QjBpQWsrMHNET21hbExPRU9CaElCU3AyMWJDU0NneGtNTW9ZWGFmYlJGWE9k?=
 =?utf-8?B?cHMxYlBPdUtCT0grcFFQQlhiSk8yNXczM3VqeVE1bDNFOTlyWlRnUjV1NnJm?=
 =?utf-8?B?U1VWZ2k3S1hSTENYRHNGU1FkZU5WS3NrQU9aTU5QVmtDeDFZUWFPZTlVRnJr?=
 =?utf-8?B?d1V4SjRNd3AwQit3VkdOR1ZkMmRMNDJQTEZyR3g0VDhTUmZqZTVDaUhiK0s4?=
 =?utf-8?B?UDQ3d0tvaktMa1YzbExMaWpURmcwSW1sejNKaFVrODdFVHlGY01PRDVrYkFt?=
 =?utf-8?B?TW1tbmdocVR4Qkl2U1dKZGF1UEEyTVRwY0RNVnBlNm9VeHRRQ1hzekxCNWlY?=
 =?utf-8?B?WHQ5R1E0Y0QxWTVJcExtWklmNWFOY2NQT2JxakFxNmIvaVRlTlN4SS9tdEFj?=
 =?utf-8?B?ZXhZSXlWblRodW0yc080SjhkV2paN1RDWFNZK0dvYWc3ejhJdXI4c29IcDAv?=
 =?utf-8?B?K3NZSEpjWVRrcVI4MS81Y1lCcmg3Sy9XWElkTU1qOWozdHJWOGlURkdic1do?=
 =?utf-8?B?d0JuSndYb2xWcGZEcEVaRzljaEg2Tk5QRVd2UWJKdXY4UkRJQUU2Zkc1cWNs?=
 =?utf-8?B?TjBiM09aSnY0SzVNaGwydXB5V2Fodk0xZHphQ0VCNHM3N2thL29NUWtsOTJy?=
 =?utf-8?B?Tkpodjd0VHZVSHEvclU3b1RaeW5tV2JJVHV0Z0FqOHQzd29mSW0yanVOTEIv?=
 =?utf-8?B?UngraWFuNWo3TWkrZlBuUnc5aElkdlhGV2xIVm45K0p3MHAzMFBLTWZFWlNv?=
 =?utf-8?B?THlYSVRhd01veHhWQjQ4UEIrOHpVcXJpem1lRC9LOFBxdUYzYmVZd0UvMTQ0?=
 =?utf-8?B?UG4vaXBSVm9HZE9HMXRTYVhFUm5SdkhuMVFFSXBhTVVDTklGM3FVU0hYajlu?=
 =?utf-8?B?TlZMZDhTQUo4Z0tydG1zeWl1QWNjYTJ6T0FFYm55MkRvN1BsM2grUnF2ZXUr?=
 =?utf-8?B?SXZtM0Y0UmtHSS9hWlZ0L2tKTDZVUWhjSC9XY2NidThmZUJiU2YrMFQ0SDZG?=
 =?utf-8?Q?VgB/l97VMgCpY0j446mWnTI=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bae03471-bf86-4d68-e1c9-08d9cf67f597
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2022 09:52:46.3455
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /u/Z6Aemort94jObjDifg+OanqeBSSElDgKNwiUaT3TRx95+hT9K3EhwsEvYVbgKTiSdxzezEeRu9pKFsvJ94Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3933

On 03.12.2021 13:09, Jan Beulich wrote:
> The 64-bit form forces %ecx to 0 while the 32-bit one so far didn't - it
> only ended up that way when "pv_context" is zero. While presently no
> leaf queried by callers has separate subleaves, let's avoid chancing it.
> 
> While there
> - replace references to operands by number,
> - relax constraints where possible,
> - limit PUSH/POP to just the registers not also used as input,
> all where applicable also for the 64-bit variant.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Any chance of getting an ack or otherwise here? (Anthony, I realize you've
not been on the Cc list originally, as the patch we sent before the
maintainership adjustment.)

Jan

> ---
> I'm pretty sure %edx also wouldn't need to be subject to PUSH/POP here,
> but I didn't want to go more "against" the comment than obviously
> justifiable by the input registers used. In fact I've observed gcc to
> pick %edx for putting "pv_context" in.
> 
> --- a/tools/misc/xen-detect.c
> +++ b/tools/misc/xen-detect.c
> @@ -52,17 +52,19 @@ static void cpuid(uint32_t idx, uint32_t
>  #ifdef __i386__
>      /* Use the stack to avoid reg constraint failures with some gcc flags */
>      asm volatile (
> -        "push %%eax; push %%ebx; push %%ecx; push %%edx\n\t"
> -        "test %1,%1 ; jz 1f ; ud2a ; .ascii \"xen\" ; 1: cpuid\n\t"
> -        "mov %%eax,(%2); mov %%ebx,4(%2)\n\t"
> -        "mov %%ecx,8(%2); mov %%edx,12(%2)\n\t"
> -        "pop %%edx; pop %%ecx; pop %%ebx; pop %%eax\n\t"
> -        : : "a" (idx), "c" (pv_context), "S" (regs) : "memory" );
> +        "push %%ebx; push %%edx\n\t"
> +        "test %[pv],%[pv] ; jz 1f ; ud2a ; .ascii \"xen\" ; 1: cpuid\n\t"
> +        "mov %%eax,(%[regs]); mov %%ebx,4(%[regs])\n\t"
> +        "mov %%ecx,8(%[regs]); mov %%edx,12(%[regs])\n\t"
> +        "pop %%edx; pop %%ebx\n\t"
> +        : "+a" (idx), "=c" (idx /* dummy */)
> +        : "c" (0), [pv] "r" (pv_context), [regs] "SD" (regs)
> +        : "memory" );
>  #else
>      asm volatile (
> -        "test %5,%5 ; jz 1f ; ud2a ; .ascii \"xen\" ; 1: cpuid\n\t"
> +        "test %[pv],%[pv] ; jz 1f ; ud2a ; .ascii \"xen\" ; 1: cpuid\n\t"
>          : "=a" (regs[0]), "=b" (regs[1]), "=c" (regs[2]), "=d" (regs[3])
> -        : "0" (idx), "1" (pv_context), "2" (0) );
> +        : "0" (idx), "2" (0), [pv] "r" (pv_context) );
>  #endif
>  }
>  
> 
> 



From xen-devel-bounces@lists.xenproject.org Tue Jan 04 09:55:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 09:55:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253132.434197 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4gXA-0006ad-1m; Tue, 04 Jan 2022 09:55:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253132.434197; Tue, 04 Jan 2022 09:55:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4gX9-0006aW-UZ; Tue, 04 Jan 2022 09:55:11 +0000
Received: by outflank-mailman (input) for mailman id 253132;
 Tue, 04 Jan 2022 09:55:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+k5u=RU=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n4gX8-0006aO-9t
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 09:55:10 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 66b6997f-6d44-11ec-9ce5-af14b9085ebd;
 Tue, 04 Jan 2022 10:55:09 +0100 (CET)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2051.outbound.protection.outlook.com [104.47.9.51]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-29-5pi5LyWoPsi4MAW4Ac9WiA-1; Tue, 04 Jan 2022 10:55:08 +0100
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.4844.15; Tue, 4 Jan
 2022 09:55:07 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.016; Tue, 4 Jan 2022
 09:55: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: 66b6997f-6d44-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641290108;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=mbv9fqnfaL5XXdMMolfrJCYvhU+NIIwr8vrBlPrcgLQ=;
	b=nnmcE0LYhjPpRJra9TZIuxO51hIy/UTOP7WWRc9h0Q+VY0A6xwXmDvXC9l6+7wWryxvmXQ
	+4vjersG44aKeXle+EdzIBZXZ+Ri0Ys5N7cG9ueEQ/EqqDKP4mOzNTF/P2BbOs4DJYQEzO
	hsFsLR/vuYK7vVseA4Q4VsZGe2/u1o8=
X-MC-Unique: 5pi5LyWoPsi4MAW4Ac9WiA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SIgFZkEGVQ73OMzYxAlVWN/IuZrP7fCq/w9bjTBYdeo6GNfEt4pNmzga563gvA+wowG3uvM5wgssmC1HrN8GjlE9vXg/eNR7yia+bdEoAvtaL3pDnPSCl36sZt231e1jE9jwt8NLDIHw0n8RtVSe3ZFjfW2K0fxdLJfvgtyVQhb73EEESYUYW/2mGwhWxEj943W27d5L+IZARd2J4bfKfF+BSq82n3gnAx9HMVtFRTDoqe6jQHPsTlhjMyf1Vt2suKvNXrrJsSYAnU1TUzH7rQzEVSv5stnG3WV+Dhcf9TGxG8/DSTSLdkfqrj7sa9B6K7E//ITGzZlu6gf73vuchA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mbv9fqnfaL5XXdMMolfrJCYvhU+NIIwr8vrBlPrcgLQ=;
 b=ApiICctH0ZDeoAhVAI7bDgfg2btasT0QeCxPMg4jIsXtlAGa+IGVTXUGX2XAN5K/wqDBtVycriMwCByrbk5r08u/FFy2eENiht0dcdKOMSzKHCc3Sm27ho0o41K/wvYRtctks9QLGU1UbArTRSQWOtB5amu1eO3PCSxuPphRdBg7WrcjyjdIMnFpo9UvtujgIO846kcCReCQ9l5mGHS+h7LG1cU52edH7tVSvlpLSPkINm51qK4MWLFlIGLjpJH2J2mIrXkPxtSWzueGFS07xj0uxd/afitVeUukQkRa1EB9xNQWZweIgZSbr14R6o0MDnvkj2kjTFlbr/c+rTdaLQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <de04d294-bf6e-2506-515e-0b388a6ee324@suse.com>
Date: Tue, 4 Jan 2022 10:55:15 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Ping: [PATCH v2 0/2] x86/paging: address observation made while
 working on XSA-387
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: Wei Liu <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <61c1d38c-65a6-e150-ed53-b565d30c18c9@suse.com>
In-Reply-To: <61c1d38c-65a6-e150-ed53-b565d30c18c9@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0043.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::15) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a7e6ca80-2068-4600-0420-08d9cf6849b8
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2608:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB2608A849FAE6AD9A7F39E171B34A9@VI1PR0401MB2608.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:199;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	kfZ8aAfz0nfbn42BwzSeOKbC2RcdcMAp6AB3TVtZucbf9azRfSI5bP5F/JxwL0vxRpgQJUvPdT5vOa+raJzhGrWeGE1ZMKZ8TzME41ygcYHHLSAS2+TLTEPrD6PM7i/4jNgNwnLvKMK6lL9vGhdbLz78KlDYw2krTRwFYxVWPBaspao3scSpg2sGNZOhS+qq6Ud724NOgJWKQxJ4GMo3caFj8BRxE6MQg7XMkZGJ5Fq5bns33+CLG9TWREvIMh68kFDu4ZjDEzkSzYlCe5PSrqdMHdFugXnHlGz/21IJVXj6GkXE86tHY2PX/DRTP9h7VPMof1GRRXEAqhA2/sT8486HGRvLI/JJt+NnNnSoYbFqqO6s/mxgyfMuaDrteuWviPVKJjlOBYHgjCL43fiR6lURYz8Ee7Y19E2UK5LU7i4a2gmUUP1Y+cDBq5cDyDWDoxdwa7v2mLc+750IcE+2BsxwSGglEPOQ8WVYBlgc12cKmGBMsG4saI2Tz27WNc+YpBcPa3Y4B1gnqO+xBFd/1majc1mMxy4kP2d6wt+YEvOoNls4uFnGvxqHBaVjqvehzy9qwKWdxnhnXR7lGpp9fzmRpCqM1EpwZApZsfDrO/9XHG3bukyDTAjB0cXRKs0BwYyv9Kkj4IMv6x0o5Oi9S1rB3quRLifXiHSo6PyhXqz8PAOR4W/qFt7vxElvasCd5pRIAwrUqWYmo1M/jP/nWGnrWsEUm8NLruuyWQwKpDg=
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)(558084003)(508600001)(316002)(53546011)(6512007)(5660300002)(31696002)(6506007)(8936002)(110136005)(86362001)(66476007)(8676002)(66946007)(4326008)(36756003)(66556008)(2616005)(186003)(31686004)(38100700002)(54906003)(6486002)(6666004)(26005)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OHpSQXR6dVZxcnNwUFBBYnRoOVhGaUl0elJvOEpHUlZJVFJxWTZJVVMxM0hx?=
 =?utf-8?B?VWxNSkZybnh2VDZYbGJGbERJQ2FDZ3VLR0VQc2FwSXJsTmgzdnpHRFNqTlhh?=
 =?utf-8?B?ZFd1eHFDallqaGxoL0t6akJ5NURRZTRaVzNmdHZoWSsybWNubHB3czVnK0dn?=
 =?utf-8?B?ajhCQTAxN2EySXgwTUZPSUF0S1o2NDVxZU5jb2ViUkpXcHhxZHpFYjcyUkdX?=
 =?utf-8?B?NjAvV0FhOWw5QW9JbE5YbGZpZlZ6UnRCTWo4aEVZVUM0K3J1Yk1xYVcwWk80?=
 =?utf-8?B?ZWwvNDRuY0VhOG9iQXFjRVJQOW95alk2aCt1dmFLeG5GaTNuOER3NmtYSkEz?=
 =?utf-8?B?VTN0emk2S2Zlck9LSnhpZ3JSdTdrRU1PQW5tTjNQOE83S0V6elNrN1FtOU5k?=
 =?utf-8?B?K1RvSDZKSWtzV1dlSStiNkhMZ1BudzRiZ2Q4blJCYytXV1pFOXp3VHJBR1Bl?=
 =?utf-8?B?MGJHL2VRb1J0bDZ6MTR5MnNsMnB1L0ZXdDhtUi92VURERndSakVaREhFV0Vv?=
 =?utf-8?B?NmdjNnVmbDBreGdMdDdmWXFLZDZJWVlNQnNhR0l6b1BucXZOazY1U25TQnl6?=
 =?utf-8?B?YzNpbFdwdXlJRkNlS3IrY3pQMncxZEZvcE1senRyWTBqR29aZWhEUDRFblFK?=
 =?utf-8?B?VllUMHM1ODZ4Z0h4WnI0SURnMFR0THJoRHU0ZTAzdEdHb0FEVEZlOWRtQWlD?=
 =?utf-8?B?NVNFZjNOZDVSWTRvM0lHODdkdDZ3aERQSHBLMWF2UUZVczNYekpLL2tsZFd2?=
 =?utf-8?B?NFJxMmJ1SkxhT0ZZR21yanNSb0JpeXRjRWVHN1oxeGx4eTB4cGZ6eEdjZUNv?=
 =?utf-8?B?Tk5leXFZL25GMDBMaWtBcDBRRko4NjVPd0ZoU2xGdGxubXpZaWZtMGVRQnlm?=
 =?utf-8?B?b0FGUzZjWk15b0I4aUdjZk05MW5OUU1ya2JvNUJiendCRUJwOWxBQ1creFI5?=
 =?utf-8?B?N3U5bjc5TDN6VG5saXpQclZEODZ6dzBKeTlrZWEwaCsvYi9VY3F1cFc4bFJY?=
 =?utf-8?B?UnhSYWkvUmM1eUJqOWNXZTc3Z3ZWUnh4ei9DUXJZL3psZHo2NkVUU09aY0I1?=
 =?utf-8?B?ZzR1WEQzaXdscEJodHNKcFY5dWl6emhkMVFWeEJ3dVlweURjbE5lYVV1aS93?=
 =?utf-8?B?bHZibGdremE0aGtaZ3VYZkZUYnJtOC9vT3I1RWNsMTQ4Q0t1cmlBcTlOeHVs?=
 =?utf-8?B?VExqVDZKNTZ4ZkVWSUNjTW03U0pxNnU0L0t2OEtENjc4NnJVSW02RklJeXNn?=
 =?utf-8?B?NnhBZ1dTWVp1anJMYzZ6Mi9lN0o0UGtVYWdhdk42c0hxZGpYaTczQ3BkWkxp?=
 =?utf-8?B?Y2lDOCtQbmJ6K21mOUl3MVB5azZINVl4QkExWEh3dGVVTVdWcWdPQ2xWSkdI?=
 =?utf-8?B?TlA3VVk4L3lDb1Vvc1Q5RzY0TW56L2ZqMklQbDhXZkhTS1RuKzR1VUkwQ1N1?=
 =?utf-8?B?TldSRFR2b211Szg2ZTg5c3ltTFkya3dqQk9GRzIvWENiTE9ZS3k2N3BrN2xn?=
 =?utf-8?B?UEZ0NGZ0ZnNaNWo0YzVJc2FGSDM1ZEJ2Z2NnZjFJSWFETm9MaFZtUUhtcjgv?=
 =?utf-8?B?aW4vUVo1NldjTlBMTDhBQkIxcEo2QlY2dmlzQ0RVVTJFRUJPbGRPSlJlTm03?=
 =?utf-8?B?LzZEMlhtTXZUdm5UL29PaGV3VFE0SjJsQU1qZ1N3OHJzK1Z1MDBsUnJKU0FX?=
 =?utf-8?B?Z3Uyd3hZNjNuMitORzBVOXZnR2s5RXZac2RvMnZ5VnFsWlMxVWNpbnhib3JQ?=
 =?utf-8?B?NUZ1N1pZMlFOSHA5MkZyVmczbnNNdll3eVpkc1loWjRqYS9udGpZcll0R3lY?=
 =?utf-8?B?NHJFbkRJN3dkWnZrTmlYSElObUcwUko5bExjRG5HUEN2VktBd1NwTXRBN3ZE?=
 =?utf-8?B?a0hQOTF6YUpCWWYxVlYrOFZSWlRFWExPbjRkTFB0b2RONXA4Mm8vYXNBVmNn?=
 =?utf-8?B?NTA2V0JyckpGQkN4aDEzV3ZHUGNkUWNGSEoxeXU5NlU3K1hWbDRma1FOaXFh?=
 =?utf-8?B?MkhmSmRiRkd2NXdtUzNFMXVDNDhvczFmekhnZlhGUldQcUNKbFBzNk9yUW9X?=
 =?utf-8?B?aWV4MzRTdnArWno4cEtCUW5Vd1FlMHVOa2FLeXp6ZFJLTTQxczg3K3FNWVYr?=
 =?utf-8?B?dVZ2U2tRbzF2TTFmSjdNTnpKcGdZNjJ2RUhpYlFjdTArYWhZdktHc3FYY09H?=
 =?utf-8?Q?9fQTyW6tYBt6kXTpG66vbMk=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a7e6ca80-2068-4600-0420-08d9cf6849b8
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2022 09:55:07.1499
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7zJ6k06pkeF5XXCIU6Bk9wFpe7+yGWpJZcHjYQjU/dDilAAYT0pc2n2JFokVWRIkaHQNRYsKtYTjcSb+q2wvjA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2608

On 06.12.2021 14:21, Jan Beulich wrote:
> 1: tidy paging_mfn_is_dirty()
> 2: replace most mfn_valid() in log-dirty handling

Any chance of getting an ack or otherwise here?

Thanks, Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 04 10:25:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 10:25:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253139.434208 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4h0S-0001U1-Dz; Tue, 04 Jan 2022 10:25:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253139.434208; Tue, 04 Jan 2022 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 1n4h0S-0001Tu-Ab; Tue, 04 Jan 2022 10:25:28 +0000
Received: by outflank-mailman (input) for mailman id 253139;
 Tue, 04 Jan 2022 10:25:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JPIW=RU=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n4h0R-0001To-5u
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 10:25:27 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9fc9e791-6d48-11ec-81c0-a30af7de8005;
 Tue, 04 Jan 2022 11:25:24 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9fc9e791-6d48-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1641291925;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=xStOGfvbfzC2fB02sEB6SIhAPglO6dXVq+UGMYOFy+E=;
  b=P8EwQ5srYwgLqYXrfv8ex2EjEhAuYWsbKeMbaBMhZRyfG2r4sJ7WAJcx
   jjaK/XayU6eJ2uU2XmrA5ADIgGHjl4G0pX6P87F9vqnXQZDyTRkMfS/X0
   Uh/ZYC3PHqORWstq8WzrvFG/CzCt+4XnQy30NjM31KZtSbxmg2eVmRpDw
   8=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: yfrtZWW73y/8JpfOKtAkrjTXDqdPBOAPyjuEzpVVkI4dQ82d6vmTdefJ3LPegBbg7X2eCiYQ1R
 U7Gar8QZTi6+8WI1NZGgOHqoCOB3uAW3DmXLtEwZZepvU7awFqWc/oGeOeinqRBZEA2G0m2rmW
 2/8iFduKk9qp7zKUtGFCDccvjjhotKWa6O3MmL8LsdE9XSzrNuKz1GzziE2711MLpOj3RQ6q19
 ygQetqCkRPIB1Fm0pZAaMHvAfnlzqpy7Kq6TFuvAM6aDb9t4SO2oZZRELJiYDka8z1XxmNX3Zn
 2mkT87sr1l1MDGVgWucUdIDX
X-SBRS: 5.1
X-MesageID: 60742754
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:Y82r+6O3naKXr0XvrR1vkMFynXyQoLVcMsEvi/4bfWQNrUp01TFWm
 GsfDWHSaf6MYWP9fo9zOoXjpB4DvZOExoRkHgto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdpJYz/uUGuCJQUNUjMlkfZKhTr6UUsxNbVU8En150Eo/w7dRbrNA2rBVPSvc4
 bsenOWHULOV82Yc3rU8sv/rRLtH5ZweiRtA1rAMTakjUGz2zhH5OKk3N6CpR0YUd6EPdgKMq
 0Qv+5nilo/R109F5tpICd8XeGVSKlLZFVDmZna7x8FOK/WNz8A/+v9TCRYSVatYoyegwulPy
 ud2iZGhRlogM4qLxMc/biANRkmSPYUekFPGCX22sMjVxEzaaXr8hf5pCSnaP6VBpLwxWzsXs
 6VFdnZdNXhvhMrvqF6/YvNrick5atHiIasUu216zCGfBvEjKXzGa/uSuoMCg2ps7ixINbH0e
 vcbYBZvVT7JWRdBJW1KE4w3tt790xETdBUH8QnI9MLb+VP73AF3lbTgLtfRUtiLXtlO2FaVo
 Hrc+Gb0CQ1cM8aQoRKL82ihg+LTkCThcJ8JGaejsOVtnUeYy2IUEhIbE122vZGEZlWWAowFb
 RZOo2x38PZ0pBfDosTBswOQslfZhyAeaeFsHvw1tQiA7e2IwCSkPz1RJtJeU+AOuMgzTD0s8
 1aGmdL1GDBi2IGopWKhGqS89m3rZ3VMRYMWTWpdFFZevYG/yG0mpk+XJuuPBpJZmTEc9dvY5
 zmR5BYziLwI5SLg//XqpAuX695AS3Wgc+LU2uk1dj70hu+aTNT8D2BN1bQ8xawaRLt1tnHb4
 BA5dzG2tYji962lmi2XW/kqF7q0/fuDOzC0qQcxQ8B7rGnwoSL9Jtg4DNRCyKBBaJ1sRNMUS
 BWL5VM5CGF7YRNGkpObk6ruUp93nMAM5PzuV+zOb8omX3SCXFTvwc2aXmbJhzqFuBF1yckXY
 M7HGe7xXSdyIfk2l1KeGrZCuYLHMwhjnAs/s7iglE/5uVdfDVbIIYo43KymMrpksfja+VqNq
 L6y9aKikn1ibQE3WQGOmaY7JlEWN3krQ5fwrs1cbOmYJQR6XmomDpfsLXkJIeSJRoxZybXF+
 G+TQEhdxAatjHHLM1zSOHtidKnuTdB0qndiZX4gOlOh2n4CZ4ez7fhAK8trLOd/rOEzn+RpS
 /QletmbBqgdQDrw5DlAP4L2q5ZvdUr3iFvWbTalejU2Y7VpWxfNpo3/ZgLq+SRXVni3uMIyr
 qeOzATeRZZfFQ1uANyPMKCkzk+rvGhbk+V3BhOaLt5WcUTq0Y5rNy2u0aNnf5BScU3On2LI2
 RyXDBEUofj2j7U0qNSZ17qZq4qJEvdlGhYIFWfs8rvrZzLR+XCuwNEcXb/QLyzdTm795I6re
 f5Rk6PnKPQCkVtH79h8HrJswf5s7tfjveYHnAFtHXGNZFW3ELJwZHKB2JAX5KFKw7ZYvyqwW
 16OpYYGaenYZpu9HQ5DPhchY8SCyeoQy2vb4vkCKUnn4DN6oeicWkJIMhjQ0CFQIdOZ6m/+L
 TvNbCLO1zGCtw==
IronPort-HdrOrdr: A9a23:g6ZeK6OxNZ7vr8BcT1n155DYdb4zR+YMi2TDiHofdfUFSKClfp
 6V8cjztSWUtN4QMEtQ/uxoHJPwO080kqQFnLX5XI3SJzUO3VHHEGgM1/qB/9SNIVyaygcZ79
 YdT0EcMqyAMbEZt7eC3ODQKb9Jq7PmgcOVbKXlvg9QpGlRGt9dBmxCe2Cm+yNNNW177c1TLu
 vi2iMLnUvqRV0nKuCAQlUVVenKoNPG0LrgfB49HhYirC2Dlymh5rLWGwWRmk52aUID/Z4StU
 z+1yDp7KSqtP+2jjfaym/o9pxT3P/s0MFKCsCggtUcbh/slgGrToJ8XKDqhkF+nMifrHIR1P
 XcqRYpOMp+r1vXY2GOuBPonzLt1T4/gkWSv2OwsD/Gm4jUVTg6A81OicZyaR3C8Xctu9l6ze
 Ziw3+Zn4A/N2KPoA3No/zzEz16nEu9pnQv1cQJiWZEbIcYYLhN6aQC4UJuFosaFi6S0vFpLA
 BXNrCd2B9qSyLYU5iA1VMfguBEH05DUitue3Jy+/B8iFNt7TVEJ0hx/r1pop5PzuN4d3B+3Z
 W2Dk1frsA7ciYnV9MMOA4/e7rENoXse2OEDIvAGyWuKEk4U0i93qIfpo9Fo92XRA==
X-IronPort-AV: E=Sophos;i="5.88,260,1635220800"; 
   d="scan'208";a="60742754"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aOk/BMJ+suUpgiC0G/Z/dadW/r0WYJ5l7CoJt35LacIuhK/xK9G6oj4Z3H4FDXRwAGXGNfQXqJZk94uIT/9k8bES7YdbGj0NFJ9wH66PFFiSWaEdA32WdSRZE8E2k6qD2ZjuQlmAz01Vny8icNSSQTjBwMTwxVQ3ltO+RIZU6hNe+th5UY7DK5FmnDRUYe5CPJWrKTODjicz5gayFl81f1DHtv5fmo7/hw2P3gffEKaKe9l7HjX4L60eMbgZJYo5VbAejY+3XT/MAfTWbXjKD2vRoXMCKnxNL5zSieHSrA1rNleR3WWxpQ+UkaCosaWk5ZX4Dfg78uv320+6MojjGg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2CoJ5Z+gCsz/TXYsj4JV1gOcEDecdibliOyT7JUOI8E=;
 b=fV0UjfmWeCT7o6RhXB+TX15c53u5tJW0dlhoXeXEvmEqtmQTaJhfcG4cmo9Lso73kmMwFgrSLH2mW0GBwG2BSmrFLjA6SwTExoQlgxAeqkZOmYH3KvbAyzdoqKGsqSMlKvfhXXibx7bpH13fMGqAuimlOs1KX1y7FvuySVekWwjs7sYE/Cj67F+Uur6TxAwXIGxSwpqyahEVGi/AjYziiR1jius4GUtvx6IMisCctAhNqdz04r93IFGFJU1gOlyiBtDpxav/DsCOR/aLJ2RgiuC2Op2DrRpc1/Z0eVWJxYHWUMDHjDBRsTF/5Lqy5wWhpzWSmcT9PSsnuWWbJSivOQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2CoJ5Z+gCsz/TXYsj4JV1gOcEDecdibliOyT7JUOI8E=;
 b=rYCCQicx/aOf9DyYq/mIhPaIAPi0FEU+hZMfnDCr7HuOWbmT8UpgDBl4/TmfE1RFCJJ7Vp9H9zrG8ZZqeuMpOOZO3494tjuOApCzxtRYB/Imn9mQgbSlUh0RholBuF+CkdWzJvw3kPI8fJIey4aTmUKKgmADstgq9+8S1gyWiT8=
Date: Tue, 4 Jan 2022 11:25:03 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: G.R. <firemeteor@users.sourceforge.net>
CC: <xen-devel@lists.xenproject.org>
Subject: Re: Possible bug? DOM-U network stopped working after fatal error
 reported in DOM0
Message-ID: <YdQgf2+E467kuTxK@Air-de-Roger>
References: <CAKhsbWarxwi_n3NAr81op_apyN69itUrv7f1k1ZJ6=gXuFXtGA@mail.gmail.com>
 <YcoOUw/u3SqTxWKm@Air-de-Roger>
 <CAKhsbWY5=vENgwgq3NV44KSZQgpOPY=33CMSZo=jweAcRDjBwg@mail.gmail.com>
 <YcwdJn/Y0yncuJ/e@Air-de-Roger>
 <CAKhsbWaKvMtN0v57kRuwSGnTECb8JnabhgXeO1VTyLiJa4yngg@mail.gmail.com>
 <Ycw4Jna5J2iQJyeM@Air-de-Roger> <Ycyx65BDakqWmEe+@Air-de-Roger>
 <CAKhsbWYU5_DGbGK2i_uhooXk4EzCLLO4SJGjDsvAkf2udQGsbg@mail.gmail.com>
 <Yc3/ytwCHFtR1BLi@Air-de-Roger>
 <CAKhsbWbRinNavBq4NnQ64nVrfWoOQWV0mM3Foao4VBYUWjoSnQ@mail.gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CAKhsbWbRinNavBq4NnQ64nVrfWoOQWV0mM3Foao4VBYUWjoSnQ@mail.gmail.com>
X-ClientProxiedBy: FR0P281CA0066.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::12) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 7487c276-2564-4499-2d96-08d9cf6c7b58
X-MS-TrafficTypeDiagnostic: DM6PR03MB3579:EE_
X-Microsoft-Antispam-PRVS: <DM6PR03MB3579D0FFC89C6E0411CAC76E8F4A9@DM6PR03MB3579.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: S1Bkv9l4x3h5wYF1M1zLTgf2swbQq2CnNJVBbdtn7UThOK6KxaHqzhhau8wrC1wRWK7+8h0T2F84G41z3d2pLkdockJzsWdeh0pCqln6VlGuvFkzKhA+kRygw30tKNtbb0XK+AT/w7VpW9bs4lYUaGK9X2W4PaUAuPrM3A81dLQXh0HNchNBG0bmhUMW/+RBms5LC/5IX2830hTa5zbjGK4+PKvlqxeAsw0C9DJwn6i+Q9a+uQKsMJeQMlgy9xn2ldgEB5vH2Ff+0rIZVea+CNWdSbbq41ssKx/PJNVqsPz4pDAQGfk/sImQNlZA5HR4jVSSZfHUV59JD2c/ImG5I/5C2axLdoAyoKnW5LCheZ59nPshLuv3ke4ApnukOksro5sJv9jb7iUDGg3SCKCzHOeqWljykIOBQtpjyUyNmQpLgWUFhPT7HzphA70JrH6c6vtad7tqJrQYSyUBk0xNrn8DuHuMbeRGWb38IxZF+Sz28kYmxD7yb1M9/zr1Gzd60Yvl7NXB8qry68PTNvnKFdql8KfPlKTY3Agkanw2HA2IqkAqlHUS3sRmKCIwpTlcH/qC8EtYXzhruRkrxTXpg7iCYgS2iQcpuzbuRh7A2raIRPYtB3eB1O6v/M4Cmj0DxedflnruUPZsPnWV/70Vv04sk5oeaw9zoFIZYhJAZFTPjvVIBIwQtIcz85N8Uudy
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(8936002)(38100700002)(86362001)(66556008)(5660300002)(83380400001)(316002)(2906002)(4326008)(66946007)(6512007)(9686003)(66476007)(33716001)(8676002)(82960400001)(6666004)(85182001)(53546011)(6506007)(26005)(6916009)(508600001)(186003)(6486002)(67856001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UHZzNUEwQVpxM0plQW81UU52bVkzazcvSVZoQThlQ2ZWQm1KM3pCVk5MS3VJ?=
 =?utf-8?B?WWdKaGtsVXM1ZUFoVllJUDREcUx1SHlIMVNkUzNiQXJrU1Rla0hybUJWMDBi?=
 =?utf-8?B?MDl6Uk5VY3NmeW12b3d5ZjBKTVc0UWxjanZFa1BxeHgvL284eFVLV3BHcll4?=
 =?utf-8?B?d3VPT0c5Um9JblpjZkhIb1pSMGJHWGpHdzZ3cGJxeFByVUxUV2tYdFRKMlRF?=
 =?utf-8?B?MVFSNlBRS2xzZWRMbVQvVGwwNDRIb3lXUUx4RkExWXd1dVpyeHlmY21vVmxM?=
 =?utf-8?B?cTFEcW5jS2FCb2dMWFlXR3NFVTZ1Ky9aK01DQlhLb3dka3hVemNBOW1CdExt?=
 =?utf-8?B?M1kzRkFoOHBndDJhZGc2eDVJWTdFdjBuZVdmNTZ4WjdqWitqaG1HYnBvYnFY?=
 =?utf-8?B?OGFVaHFxbk9QVC80ZThLbXF1TS9OTUpYdGJ2cW5EWEI0Q0pGRFFHRXYyVW1m?=
 =?utf-8?B?dkVnRklpdGtacVNpaHBQSVdMWG5zekhrWVdMZlYvTDJsc2hwVDUxN05vY0RT?=
 =?utf-8?B?bExzVitBSXFNYkllMG1NSHRnT1Jmb05PVkIrNU5jcExmZlNDUFJNSHE4aDFM?=
 =?utf-8?B?d0EyUzhYMXhHYzNFejNlaUdpdmtBQzBGUFJUcmlKY2xNZ3UyTzlrMUVvTE11?=
 =?utf-8?B?MnhSZnZSalN2N0NPZFdjWml4bnp1bEd3SmJxOGdxaGVBdEc4ZExuM1dQTXIr?=
 =?utf-8?B?VkgvaElaUERyY3hEVGdENDR3cUhwaG93cjRBYzQ0ZTk5d0dobjlWdGFSVENs?=
 =?utf-8?B?YWNTeERCUFJjVEFlUWhkSktkQVEyRGJicERVdGtQRy9vWW9SQUErQlBiYUZy?=
 =?utf-8?B?V2VnK0RxeDJnVWVBeklaTGIzaVNMQ0V6cklieURVM3FhL3B4SFFQbW9VeTJW?=
 =?utf-8?B?cUJLWWxaTVVTNVlaUmhZbkNobFlyOHVSUWkreGpSRHB2Y21xR3l4QmVvMFJ2?=
 =?utf-8?B?N0ZhZ2RKd3Q2OWZUVW5wWGRxNG1IQ0x0YVZHcURIUkNaOStMc3ZaVVQ3QzIx?=
 =?utf-8?B?d2NLQ3l0c2ZwSHNUT3RuTFNzaEp6R3dDVHpRKzJsb2ZBL3hkTmo0NGlzWDZj?=
 =?utf-8?B?SjNXampNeXk0WTFITG95aGZVelprL3ZFenhibHdOU05pTWV4b1VCSkM5NHRG?=
 =?utf-8?B?L294TGl5ZDFyRGYxcW14M0RrKzNqRkI2dFFkdmZRZ0VsdDJRdlVjdkJPa3NM?=
 =?utf-8?B?VVJuMTlxU1FzOEhzdTd3cmVRemxjYTNKSXM1dDQrTzE3SnlxcWl3VHRyZ3lu?=
 =?utf-8?B?ODVSZGFsdU1tT2pYQzF4YnlWOU0vMkg0aE4vMUNkMTJnbXVNbjZIcldzL0Rz?=
 =?utf-8?B?WGdnWXBudXBLNGVIUmhyM0hQZnVjWTdaYU1HNWZsN1BPZnNJOUdLdkhLRFR2?=
 =?utf-8?B?dTNJcGRsNWd2NDkzZE9saWp5dUo3eG40eHdNcmx6aU9ZUGRTVkFabXZpT3dZ?=
 =?utf-8?B?TllHUDJQYmFaZmVEcXBKNUliamRKZXVnSjhwSkVnQzBYRkpuZXdaSkJEaXZr?=
 =?utf-8?B?alQ3UmFhUFhma2NSUFd1dC9LUjJSTGo0OXNYRWRWZjM5YTNlcU14WkN0ZFRH?=
 =?utf-8?B?S1Awb2tHanAvYUlmZE5GUFZTWHdUY2VzdWZhVDZXMHR0cEVHTENzc1B2SnNi?=
 =?utf-8?B?SExZS3ZWMDZPc0RrODFWcjJDUEljYnpYczdIam9xNWRZZFVudkNPbHhuZ1pw?=
 =?utf-8?B?OWZERHlzbW5QYmlMU3N3NnV4Y1FDeUxzN1FiaFI4VS9OVTRMck5VQ0tEdEZm?=
 =?utf-8?B?Wm1sVC8xekduOVNDN3dWRlVQWng1N0tqWGhmUUlZTVB3MnI4bXBUNmlwQjdt?=
 =?utf-8?B?ZldwMEgvTmFlTHUrTWVWV1BuaTVaYldGbmFxSEJjbnA4Q1hDcVNJeitDbmow?=
 =?utf-8?B?RUJiWlViSis2SllIQ2poMkdSMEgwRnR4SzVoQTVFZVo0Mi9wUE9YUkJIbEFD?=
 =?utf-8?B?dk1tYzhNazQ3Q0tyWjRXTytnTUR6VS9naG5RRG15QUdpR3JPbWxSYnd6Syth?=
 =?utf-8?B?WEtDUVBEYkFPeGF5Y040YzFBVm14YXpUVG0yUGJ0UVJ1MEVhcE9rZklJWlpk?=
 =?utf-8?B?SjB1WkREWHg1eEZobDhhNll6cGFya01Fcm0rYXRQT2FhNHYreEZobUxoeWVz?=
 =?utf-8?B?U1NvbWp5Q011cGdodC9senU1bnFDL0UvZ0R2ZUdLMXBxdmFpSnlQODlaUlRF?=
 =?utf-8?Q?sTzwf/IKDSRj/Y+6pLBQobU=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 7487c276-2564-4499-2d96-08d9cf6c7b58
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2022 10:25:08.4461
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: bhmzXJpEm+t6JSys3Juzq3F5kdUjB277tYX5XogiqEtGwoRjyDkXhXkD0NLVaTaZY3Ol8lOSP8FdqwOuUbF1gw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB3579
X-OriginatorOrg: citrix.com

On Fri, Dec 31, 2021 at 10:47:57PM +0800, G.R. wrote:
> On Fri, Dec 31, 2021 at 2:52 AM Roger Pau Monné <roger.pau@citrix.com> wrote:
> >
> > On Thu, Dec 30, 2021 at 11:12:57PM +0800, G.R. wrote:
> > > On Thu, Dec 30, 2021 at 3:07 AM Roger Pau Monné <roger.pau@citrix.com> wrote:
> > > >
> > > > On Wed, Dec 29, 2021 at 11:27:50AM +0100, Roger Pau Monné wrote:
> > > > > On Wed, Dec 29, 2021 at 05:13:00PM +0800, G.R. wrote:
> > > > > > >
> > > > > > > I think this is hitting a KASSERT, could you paste the text printed as
> > > > > > > part of the panic (not just he backtrace)?
> > > > > > >
> > > > > > > Sorry this is taking a bit of time to solve.
> > > > > > >
> > > > > > > Thanks!
> > > > > > >
> > > > > > Sorry that I didn't make it clear in the first place.
> > > > > > It is the same cross boundary assertion.
> > > > >
> > > > > I see. After looking at the code it seems like sglist will coalesce
> > > > > contiguous physical ranges without taking page boundaries into
> > > > > account, which is not suitable for our purpose here. I guess I will
> > > > > either have to modify sglist, or switch to using bus_dma. The main
> > > > > problem with using bus_dma is that it will require bigger changes to
> > > > > netfront I think.
> > > >
> > > > I have a crappy patch to use bus_dma. It's not yet ready for upstream
> > > > but you might want to give it a try to see if it solves the cross page
> > > > boundary issues.
> > > >
> > > I think this version is better.
> >
> > Thanks for all the testing.
> >
> > > It fixed the mbuf cross boundary issue and allowed me to boot from one
> > > disk image successfully.
> >
> > It's good to know it seems to handle splitting mbufs fragments at page
> > boundaries correctly.
> >
> > > But seems like this patch is not stable enough yet and has its own
> > > issue -- memory is not properly released?
> >
> > I know. I've been working on improving it this morning and I'm
> > attaching an updated version below.
> >
> Good news.
> With this  new patch, the NAS domU can serve iSCSI disk without OOM
> panic, at least for a little while.
> I'm going to keep it up and running for a while to see if it's stable over time.

Thanks again for all the testing. Do you see any difference
performance wise?

> BTW, an irrelevant question:
> What's the current status of HVM domU on top of storage driver domain?
> About 7 years ago, one user on the list was able to get this setup up
> and running with your help (patch).[1]
> When I attempted to reproduce a similar setup two years later, I
> discovered that the patch was not submitted.
> And even with that patch the setup cannot be reproduced successfully.
> We spent some time debugging on the problem together[2], but didn't
> bottom out the root cause at that time.
> In case it's still broken and you still have the interest and time, I
> can launch a separate thread on this topic and provide required
> testing environment.

Yes, better as a new thread please.

FWIW, I haven't looked at this since a long time, but I recall some
fixes in order to be able to use driver domains with HVM guests, which
require attaching the disk to dom0 in order for the device model
(QEMU) to access it.

I would give it a try without using stubdomains and see what you get.
You will need to run `xl devd` inside of the driver domain, so you
will need to install xen-tools on the domU. There's an init script to
launch `xl devd` at boot, it's called 'xendriverdomain'.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jan 04 10:34:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 10:34:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253143.434218 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4h9E-0002vI-9V; Tue, 04 Jan 2022 10:34:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253143.434218; Tue, 04 Jan 2022 10: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 1n4h9E-0002vB-6c; Tue, 04 Jan 2022 10:34:32 +0000
Received: by outflank-mailman (input) for mailman id 253143;
 Tue, 04 Jan 2022 10:34: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 1n4h9D-0002v1-1g; Tue, 04 Jan 2022 10:34: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 1n4h9C-0000mF-Us; Tue, 04 Jan 2022 10: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 1n4h9C-0005dj-OO; Tue, 04 Jan 2022 10:34:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n4h9C-0004OX-O0; Tue, 04 Jan 2022 10:34:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=lxPSM4InMaKAIjkF5qP4tqEk2xf6kUtdslh0FMhrO/Q=; b=WQqy+cmM8N5IdD2BmjCOkuamiV
	tNm7Y3hrqIqFdY1ro3x0ZyhZiaIXWt+gqLstngDvZzm34b7TNowZuoKEI+54X5ijt2EAyjrcEvYxk
	gjSi+0otTSff2mYcWyBhdfZUEtVRk88571zX2er0oZHQTQhfEqu7A/BIy9EJgyMf4IQc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167601-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 167601: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=079a58276b98dc97ca363e3bc8b35cc7baa56d76
X-Osstest-Versions-That:
    ovmf=13d9e8ec98ee3f9f14a45471b38a22b9fd66d1ce
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 04 Jan 2022 10:34:30 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 079a58276b98dc97ca363e3bc8b35cc7baa56d76
baseline version:
 ovmf                 13d9e8ec98ee3f9f14a45471b38a22b9fd66d1ce

Last test of basis   167598  2022-01-04 02:41:30 Z    0 days
Testing same since   167601  2022-01-04 08:42:53 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jiewen Yao <Jiewen.Yao@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
   13d9e8ec98..079a58276b  079a58276b98dc97ca363e3bc8b35cc7baa56d76 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Jan 04 10:41:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 10:41:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253154.434230 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4hFe-0004L6-0z; Tue, 04 Jan 2022 10:41:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253154.434230; Tue, 04 Jan 2022 10:41:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4hFd-0004Kz-TI; Tue, 04 Jan 2022 10:41:09 +0000
Received: by outflank-mailman (input) for mailman id 253154;
 Tue, 04 Jan 2022 10:41:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FUAt=RU=chiark.greenend.org.uk=ijackson@srs-se1.protection.inumbo.net>)
 id 1n4hFc-0004Kt-N2
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 10:41:08 +0000
Received: from chiark.greenend.org.uk (v6.chiark.greenend.org.uk
 [2001:ba8:1e3::]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d03827cd-6d4a-11ec-81c0-a30af7de8005;
 Tue, 04 Jan 2022 11:41:06 +0100 (CET)
Received: by chiark.greenend.org.uk (Debian Exim 4.89 #1) with local
 (return-path ijackson@chiark.greenend.org.uk)
 id 1n4hFX-0003g0-AT; Tue, 04 Jan 2022 10:41:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d03827cd-6d4a-11ec-81c0-a30af7de8005
From: Ian Jackson <ijackson@chiark.greenend.org.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <25044.9279.250794.5712@chiark.greenend.org.uk>
Date: Tue, 4 Jan 2022 10:41:03 +0000
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>,
    Andrew Cooper <andrew.cooper3@citrix.com>,
    George Dunlap <george.dunlap@citrix.com>,
    Stefano Stabellini <sstabellini@kernel.org>,
    Wei Liu <wl@xen.org>,
    xen-devel@lists.xenproject.org,
    Ian Jackson <iwj@xenproject.org>
Subject: Re: [PATCH] SUPPORT.md, MAINTAINERS: De-support qemu-xen-traditional
In-Reply-To: <e9e984f3-fc98-9179-1958-0330c828fbda@suse.com>
References: <20211209142640.24437-1-iwj@xenproject.org>
	<4ed5073e-8083-ac72-6477-676eaf2e2eb8@xen.org>
	<e9e984f3-fc98-9179-1958-0330c828fbda@suse.com>
X-Mailer: VM 8.2.0b under 24.4.1 (i586-pc-linux-gnu)

Jan Beulich writes ("Re: [PATCH] SUPPORT.md, MAINTAINERS: De-support qemu-xen-traditional"):
> FWIW I agree that this needs updating at the same time or in a prereq
> change. I guess it'll need to be someone other than Ian now to pick
> up and progress this patch, though.

Yes, I'm afraid so.

Regards,
Ian.

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

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


From xen-devel-bounces@lists.xenproject.org Tue Jan 04 10:58:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 10:58:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253160.434241 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4hVe-0005tL-Ew; Tue, 04 Jan 2022 10:57:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253160.434241; Tue, 04 Jan 2022 10:57:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4hVe-0005tE-BZ; Tue, 04 Jan 2022 10:57:42 +0000
Received: by outflank-mailman (input) for mailman id 253160;
 Tue, 04 Jan 2022 10:57:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+k5u=RU=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n4hVc-0005t7-WC
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 10:57:41 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 21386a94-6d4d-11ec-81c0-a30af7de8005;
 Tue, 04 Jan 2022 11:57:38 +0100 (CET)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2170.outbound.protection.outlook.com [104.47.17.170]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-38-rDHezk7XNAqEe7Z6L0Q-zQ-1; Tue, 04 Jan 2022 11:57:37 +0100
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.4844.15; Tue, 4 Jan
 2022 10:57:35 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.016; Tue, 4 Jan 2022
 10:57:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 21386a94-6d4d-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641293858;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=LoA5SyaScT/msHw6SXGRTAvCTjtuPX45uUkGT+64aSA=;
	b=F9UOH/k6cnzMv5vk6zEpx0XfabP26+9NxocT7eKXc93oleqBg7/FVOqEhGFLNlOB7ywIVV
	kYfmaz2qK/abNaJSlgkbVBXi0qlolDVFL7paxhTOU7fnOmUwt3LlFkUZ+Ic863Ol/qzluj
	BBCyJVH6zgaVhf3oFUTiyOnduTgk+iA=
X-MC-Unique: rDHezk7XNAqEe7Z6L0Q-zQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=A5W8651EDRCskZmwfKbUyr7ApV2Txle+9qZhnp1iCS7mOnn+aI1eC2Nrh/rLDZ5+9kqzc4ug31SkdnCJf5LKkjveiyzofVa2BzmAB1USs0TtJVgeRM1l5WhlhC78cEMrtBOqSGm24qo4NuwrFeNHOs5swfu/+5fg9EUOS3cKjW7VjvGPSwDdFl5DJd82WIfGQ3rzTlPEXlfECIblxwRY8UKdOZYZ7y+oEWXbb2FGQL2lo9VETi2tH/xcx22qeh4wQltqDs9Ph3/eedmybVZhFl4oyvQaEM38LRUgU/45SzkUoPCOcv0WKdScIvQv6g0lVps2rXStL7dPPik9d5LZHg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LoA5SyaScT/msHw6SXGRTAvCTjtuPX45uUkGT+64aSA=;
 b=SqB6t8N9nehWU5jLXBTbkgao6dYC+b+zu7JTP5Vu1nqwP6TDthGjkSyXBag1xTcdJ+voGzhJaSLDHaQoxBxe5jjmcQ/T2OAHPYy7IG+PRIbxZQZZSUHt3P+2u9OfNpoIrJsEFytdnTkoeTXP1hz5QN0bWE/1728zPEIllLAFF4zQpyTNA1TIVwP5ec7FXyUUdOwuaVi8+cfUmj/uueHf4jAbB7xPbvvmrsvPrFAaWsus8VF/LaOyc3XCmHLXvwsaBKQEG6LVJDgKMqghGxUuL37D6T8nNBpe08jTkQt9VW/YULK9lwi2dHxboXRjcwlbEtT9gUNVJ8XnIowwFTn7jg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5b3f46f3-3c9f-57fb-00a5-94128f41e34a@suse.com>
Date: Tue, 4 Jan 2022 11:57:43 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2] x86/PoD: move increment of entry count
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>
References: <ac46f25b-e669-f309-b36e-c4760e10479e@suse.com>
Content-Language: en-US
In-Reply-To: <ac46f25b-e669-f309-b36e-c4760e10479e@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR04CA0188.eurprd04.prod.outlook.com
 (2603:10a6:20b:2f3::13) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: dc993f5d-d713-48b0-8eb0-08d9cf7103b3
X-MS-TrafficTypeDiagnostic: VI1PR04MB6176:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB61766DBEE57E0548EC6185EEB34A9@VI1PR04MB6176.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:
	8HkbE+8hR2XPwiiqDzedjVOvEUcjPnmpmyA38emaUKvcZzqAzjFor6I9hcJ5rc3F9bLOzX1qhddpvEzyb2RXQNQH2zQZXafpS0LAokYmsaExn0kTsZs6eTip4CZOPdAxtKAFZzKbcECpVgmmT88y3O6k7+/Df6hBYIBy3iaoYUGTy54WLReVLCh74xWW5HMgcnccjqRz1iH25NF8Kmt0MndcQDMi5ded9oA+8dU7L9hAgPMoIsx7tW7cu/89VVg+VtPVxIjIuxIgZbLlFxsGAiE4k4sjmH4SYc2FpzR/hd3U+ONmJ2nVAIAetNQ/kGj+zzjKbrUeC2v1kp9BxPYdtKPpSpZebIrpUz6BTsm2x6gdeQeSVWbisLfDyclqi4TV2fFYNTsOZhDAN4Lxmef6d+3cjdQb+tnkEe5nswTyqltIdXKa2+nphxtR3Wru8MHSDd1sbkhltrwaXTbKJfT/VDFf1z92zixc80AVPfsbin1X7/wbpGLR2O7XRUnXw4MHvoyeOD8a3p2nAMPl+3aSLspikOKgq9nQuNGnDDJqtkxQA70QtlY3Ik4BntHu40pnztjaUaWxDn39fsByFOOIXwAh52OhTXN98zhY/1mg9DKWD19Caj8RLLIChGoQ8iXhk0TkkAixWPH3Lw7sVVMXod5tUM15mSXBpaKd6fOrVCdUsiGD/J+gZ3xGFErqfb1hFksQAlgAsJi6mwcgLkqiDkoVYT9fFZ899wytJHSjvYU=
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)(26005)(186003)(54906003)(2616005)(38100700002)(508600001)(66476007)(4326008)(6506007)(316002)(6666004)(6512007)(66556008)(2906002)(31696002)(6486002)(8936002)(31686004)(5660300002)(6916009)(8676002)(83380400001)(66946007)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TmYrZm9nY01DMmk3MUNjUVl0Lzl2VzVJRmR2Q1ZMQ0d1S2dCeG9xSDh1U2pX?=
 =?utf-8?B?NXhYVURNMzhsZllUdmg3clJaYTVMMzU0TldHVS9iS1ZWcEl1RmdaeFNhLzNs?=
 =?utf-8?B?VU1WZnV4enhqK0xkWXRoUENKRXJyV2k1WXpEWDBJMzRtL1dtZW5zQUJrQ3lZ?=
 =?utf-8?B?SXo4WWxxTHZjaXRxdTBpcHhpcUp0cWZXNGFBRm94R1BMWFNhODZnSW5pdDZT?=
 =?utf-8?B?d3dDZFE3TkE4SHJYa0NEYnZIcEYyWEhiOWR5N1M1b250MHhhakVON3Joa1pJ?=
 =?utf-8?B?ekJhc2dhNXF1NnlrMDdINm1jQVlqYUUvemVobFkwNG42Rnl2UXA2Rk05WGFO?=
 =?utf-8?B?QnpKVng0bkxjblRvSGdqcEgvRFlWMkN1eWVQeFRGWS9EWkN1R0hWNzJoWTZX?=
 =?utf-8?B?Rmt1ejRMZ3h1anJ1S0RNME8xTFdqcDBmZm00Y3FNWkdhVUdLZ1VMUVk3NXR1?=
 =?utf-8?B?NHIzYXFyRWk4V1grMWV0SFlhdlFxZ1RyUXkxYW9jSXZocVh0MGM4S21jMENO?=
 =?utf-8?B?Y3Excm1lNlBGSkIzVTZNVkJtZ29hRXRVYUQxUnl5dFBsZHI2aXJZODB4VHJC?=
 =?utf-8?B?Y2s4d0pMc0NadXZMeVU3MGw3dG1PcjJTRmlvRlNyR3BKc0hmZFhJL0c1TTIy?=
 =?utf-8?B?RGlnRjdFSDVwcm4xeWw5NHhwandCU3pxQlVuR3oxUHJZQWRnRDFCWFd5ZHdq?=
 =?utf-8?B?NjZlSkdpTXA3TjkwL1pZV2xBNWRBVkN0b3ZlYmx4OHhFRTYwWmFoK1FNVDlv?=
 =?utf-8?B?NkZ2bWNVc3VqVDR6VmZsWmVMRG1uek9nT1dYcWtiUURvZG56c1BleVNEN1ll?=
 =?utf-8?B?MmJneFJWMFR6S2tnT29ISFNhNGlBdnpTWlJNZnR6N2diV2RMWUJPNDFRdnB2?=
 =?utf-8?B?bU8yS05iVXk5WVNqMmQ1NHRINjJEOVJUYlNtUnVrQnBBSWN5cEdTMjFkRXZw?=
 =?utf-8?B?SEFYV3JEa1FtaEdQRHpyUU9wNnZ1SUx1aGJQeGV4VEVPSGtsK0Nnd0YyeVpT?=
 =?utf-8?B?REJNS0ZmRU9hMW10VzRjdXJETENyUHFaWllFc015L0FCWll1M2NCMUJ6cndN?=
 =?utf-8?B?ZTJxYmNXYzNUVHh5ZHZGbWFRVnNqSnFkekJyaDlZMFVYakVOYjNEeU1CYWZI?=
 =?utf-8?B?bFdTdlBSZ09TZmp4bHJQNXBPUU1uN2NQUEdBdThId2dPNDMrVW1qQVhpOWE1?=
 =?utf-8?B?MjRMaXNQVkRVVnorcGdnM2FtTFk4UGNKRDR5T0c3Vnp5TzFtck9OZmNYRFY5?=
 =?utf-8?B?b3ZXS3dzdGoxeXE1UEV0bkkwd3Niemx6cmthQTRZemJiaUNKb3RFM0JOR2g2?=
 =?utf-8?B?a0htSGd5aWdzZ09MNWpZVFJDSkU4R0Y4WmdudTRhMWNXL1pwTEZYMm5iUG1M?=
 =?utf-8?B?MVpNcUhYcDhTV0RNamR2NGRuZ2MzbWIzZDN2eG9ramthUUpZNVRmYzk3dVpC?=
 =?utf-8?B?TnhmMzlWenVtSDlacFprU2RDZTJSdEJaemFuMkczUFlQRytUZTQrR1lvWURm?=
 =?utf-8?B?Wmozbk5kRzU0MEMwSTBpYUwzQ0hBbktvK2dtdmZDUjN4d2lGdGpMcFFOVitq?=
 =?utf-8?B?TFRkMlFITjZyKzNJRFR1cE1tbCt6T2J0ZkNaTDdacmZhcVJCTEtVN3p3SWg3?=
 =?utf-8?B?dk5nTEMyOTRDVDMwWkpjT3JaS0ZlSUpTdHBPZmFoOThpazdQVkdoYkpidGVY?=
 =?utf-8?B?OU1oNjlwSE44eGNGbkd4UTI1aTRtUDNJZ092T1ZmbFdiU0V6eGVnNnp2VVRm?=
 =?utf-8?B?SmZ3NDMyRVJhYWZPOTdrVWxmY3dnTU90OU96aFhaVm5BZTRENWI2eENibng4?=
 =?utf-8?B?K3FvTmoxRDFITmNUczhoZEdqR2I5TXI4Q3VXYitXNFVzRDNGN3BkQzhJTnJm?=
 =?utf-8?B?aDgxeU1xdk5NNEJ2M1JGYTd5R1EyNDZPK01UcWZ1U3g1eEtIRkprMzBlQ3c2?=
 =?utf-8?B?RFNVVmxiTlpaVEZOay9ta1lzYzEwWmIza2xXV3lzeWJ4MXQzclA2NDg2dXlm?=
 =?utf-8?B?UlR2c1Zacm5sLzNsR0RKektpelFFdGkyTDBaalZhb3hvS2FVTFpqK3BOUjBL?=
 =?utf-8?B?QnhkaElkWlQyRlBYSE85MGFQNkpuRW05NVVjY3hzbFowdjRjUUNpOWJkN1ZP?=
 =?utf-8?B?dmgrZU1oQ2M5OUM0MWtiTEJ3Z2xLYTFVZEREVllzeXFYeEo3UHcrdkFvZmtV?=
 =?utf-8?Q?6SSykMMaEOPNHaRUzrOhTck=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dc993f5d-d713-48b0-8eb0-08d9cf7103b3
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2022 10:57:35.2647
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: aQAYqaNnbSSV1zdmiCRP0IpguDboMZHxRqwpJRxV6Q1ytBOVI0dBzbVkgYH9dJBa5EAINy92MhXFkKAxcxCKmw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6176

When not holding the PoD lock across the entire region covering P2M
update and stats update, the entry count should indicate too large a
value in preference to a too small one, to avoid functions bailing early
when they find the count is zero. Hence increments should happen ahead
of P2M updates, while decrements should happen only after. Deal with the
one place where this hasn't been the case yet.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Add comments.
---
While it might be possible to hold the PoD lock over the entire
operation, I didn't want to chance introducing a lock order violation on
a perhaps rarely taken code path.

--- a/xen/arch/x86/mm/p2m-pod.c
+++ b/xen/arch/x86/mm/p2m-pod.c
@@ -1342,19 +1342,22 @@ mark_populate_on_demand(struct domain *d
         }
     }
 
+    /*
+     * Without holding the PoD lock across the entire operation, bump the
+     * entry count up front assuming success of p2m_set_entry(), undoing the
+     * bump as necessary upon failure.  Bumping only upon success would risk
+     * code elsewhere observing entry count being zero despite there actually
+     * still being PoD entries.
+     */
+    pod_lock(p2m);
+    p2m->pod.entry_count += (1UL << order) - pod_count;
+    pod_unlock(p2m);
+
     /* Now, actually do the two-way mapping */
     rc = p2m_set_entry(p2m, gfn, INVALID_MFN, order,
                        p2m_populate_on_demand, p2m->default_access);
     if ( rc == 0 )
-    {
-        pod_lock(p2m);
-        p2m->pod.entry_count += 1UL << order;
-        p2m->pod.entry_count -= pod_count;
-        BUG_ON(p2m->pod.entry_count < 0);
-        pod_unlock(p2m);
-
         ioreq_request_mapcache_invalidate(d);
-    }
     else if ( order )
     {
         /*
@@ -1366,6 +1369,14 @@ mark_populate_on_demand(struct domain *d
                d, gfn_l, order, rc);
         domain_crash(d);
     }
+    else if ( !pod_count )
+    {
+        /* Undo earlier increment; see comment above. */
+        pod_lock(p2m);
+        BUG_ON(!p2m->pod.entry_count);
+        --p2m->pod.entry_count;
+        pod_unlock(p2m);
+    }
 
 out:
     gfn_unlock(p2m, gfn, order);



From xen-devel-bounces@lists.xenproject.org Tue Jan 04 13:04:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 13:04:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253220.434288 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4jTx-0003Jz-M5; Tue, 04 Jan 2022 13:04:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253220.434288; Tue, 04 Jan 2022 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 1n4jTx-0003Js-Ie; Tue, 04 Jan 2022 13:04:05 +0000
Received: by outflank-mailman (input) for mailman id 253220;
 Tue, 04 Jan 2022 13:04: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 1n4jTw-0003Jh-8i; Tue, 04 Jan 2022 13:04: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 1n4jTw-0003N5-5z; Tue, 04 Jan 2022 13:04: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 1n4jTv-0000ba-T7; Tue, 04 Jan 2022 13:04:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n4jTv-0003yo-Sf; Tue, 04 Jan 2022 13: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=REI8WtOasvdB16FH+WJb4AFImScadBL4X+FQymlzeRU=; b=428CdeIRXWxfXSfB63jnaRTPd9
	JHurjf7EWDp/AgfodvkbyFm6M2ZUjBxzrTQc1a07KdtViGMoyVvSH9OsSRwy0hCqG2lHwnrHWGHOv
	qhHqEMhDSxNuq/DfaR3NfpHr3PSpFkjcooyWQfhWd2MA5M1BxOqXAoB6d3PLX0q0WjHU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167602-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 167602: 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=af0c5430a82c77432729d61c9b409dd32c477b20
X-Osstest-Versions-That:
    xen=f1e268b9fd13647e1f69c8ce0ae7be401d319fc8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 04 Jan 2022 13:04:03 +0000

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

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                  af0c5430a82c77432729d61c9b409dd32c477b20
baseline version:
 xen                  f1e268b9fd13647e1f69c8ce0ae7be401d319fc8

Last test of basis   167503  2021-12-21 10:01:43 Z   14 days
Testing same since   167602  2022-01-04 10:02:48 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          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
   f1e268b9fd..af0c5430a8  af0c5430a82c77432729d61c9b409dd32c477b20 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Jan 04 13:31:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 13:31:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253240.434317 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4juR-0007F4-4A; Tue, 04 Jan 2022 13:31:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253240.434317; Tue, 04 Jan 2022 13: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 1n4juR-0007Ex-0h; Tue, 04 Jan 2022 13:31:27 +0000
Received: by outflank-mailman (input) for mailman id 253240;
 Tue, 04 Jan 2022 13:31: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 1n4juP-0007DO-Ng
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 13:31: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 1n4juP-0003p5-B9; Tue, 04 Jan 2022 13:31:25 +0000
Received: from [54.239.6.184] (helo=[192.168.19.28])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1n4juP-0003kX-0L; Tue, 04 Jan 2022 13:31: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=In-Reply-To:From:Cc:To:References:Subject:MIME-Version:Date
	:Message-ID:Content-Type; bh=DpdtZM1NBY3Lomn9KNVjq5r29Npwlht4uXKJfpUhhGk=; b=
	dZ9ScpHkx2mSjyY9xtTzs3BsriYQNjAFF9xPtnIuUacpLdA3D1CgLytNX+4WDZnAUchFC+9LEpey6
	JdY7sUqQ/JPkP7L18FquOkRpvphnpbLLGACYJ9IdJWcI9ek8NKEVA4hePAOzv1IJznmykvsWJEdfH
	8rmzslldihw4kI3SM=;
Content-Type: multipart/mixed; boundary="------------29gWv1LCAZoh30GkwvVnWaT1"
Message-ID: <6b9e5cfb-c637-5050-7654-47f3cc74da6d@xen.org>
Date: Tue, 4 Jan 2022 13:31:23 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.4.1
Subject: Fwd: Updated invitation with note: Xen Community Call @ Tue Jan 11,
 2022 11am - 12pm (EST) (julien@xen.org)
References: <0000000000000dc59605d3479e02@google.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <jbeulich@suse.com>, Ashley Weltz
 <aweltz@linuxfoundation.org>, George Dunlap <george.dunlap@citrix.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <0000000000000dc59605d3479e02@google.com>
X-Forwarded-Message-Id: <0000000000000dc59605d3479e02@google.com>

This is a multi-part message in MIME format.
--------------29gWv1LCAZoh30GkwvVnWaT1
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi all,

Sending the e-mail to xen-devel as well. The community call has been 
moved to the 11th January, 4pm BST.

Best regards.

-------- Forwarded Message --------
Subject: 	Updated invitation with note: Xen Community Call @ Tue Jan 11, 
2022 11am - 12pm (EST) (julien@xen.org)
Date: 	Thu, 16 Dec 2021 18:30:31 +0000
From: 	aweltz@linuxfoundation.org
Reply-To: 	aweltz@linuxfoundation.org
To: 	julien@xen.org, stewart.hildebrand@dornerworks.com, 
scottwd@gmail.com, Mirela Simonović <mirela.simonovic@aggios.com>, 
kevin.pearson@ortmanconsulting.com, rahul.singh@arm.com, Corey Minyard 
<cminyard@mvista.com>, robin.randhawa@arm.com, rianquinn@gmail.com, 
oleksandr_andrushchenko@epam.com, intel-xen <intel-xen@intel.com>, 
bobby.eshleman@gmail.com, artem_mygaiev@epam.com, persaur@gmail.com, 
christopher.w.clark@gmail.com, ben@exotanium.io, piotr.krol@3mdeb.com, 
john.ji@intel.com, brendank310@gmail.com, ash.j.wilding@gmail.com, 
cardoe@cardoe.com, varadgautam@gmail.com, tamas.k.lengyel@gmail.com, 
volodymyr_babchuk@epam.com, jarvis.roach@dornerworks.com, 
matt.spencer@arm.com, olivier.lambert@vates.fr, 
oleksandr_tyshchenko@epam.com, ian.jackson@citrix.com, 
insurgo@riseup.net, rob.townley@gmail.com, julien.grall.oss@gmail.com, 
dwmw@amazon.co.uk, roger.pau@citrix.com, brian.woods@xilinx.com, 
amit@infradead.org, sergey.dyasli@citrix.com, deepthi.m@ltts.com, 
andrew.cooper3@citrix.com, wl@xen.org, jgross@suse.com, 
daniel.kiper@oracle.com, sstabellini@kernel.org, 
dpsmith@apertussolutions.com, pdurrant@amazon.com, 
edgar.iglesias@xilinx.com, jeff.kubascik@dornerworks.com, Durrant, Paul 
<pdurrant@amazon.co.uk>



         *This event has been changed with this note:*
         "Hi everyone, Many will not be back online until after January
         4th. We will plan to meet on January 11th, 2022. Until then, I
         hope you all enjoy a lovely holiday season. Cheers, Ashley"


       Xen Community Call

/When/
	
*Changed: *Tue Jan 11, 2022 11am – 12pm Eastern Time - New York
/Where/
	
https://meet.jit.si/XenProjectCommunityCall(map 
<https://www.google.com/url?q=https%3A%2F%2Fmeet.jit.si%2FXenProjectCommunityCall&sa=D&ust=1640111431121000&usg=AOvVaw2-TJ5Ag9-0LRV1RWz48SRL>)
/Calendar/
	
julien@xen.org
/Who/
	
•
	
aweltz@linuxfoundation.org- organizer
•
	
stewart.hildebrand@dornerworks.com
•
	
scottwd@gmail.com
•
	
Mirela Simonović
•
	
kevin.pearson@ortmanconsulting.com
•
	
rahul.singh@arm.com
•
	
Corey Minyard
•
	
robin.randhawa@arm.com
•
	
rianquinn@gmail.com
•
	
oleksandr_andrushchenko@epam.com
•
	
intel-xen
•
	
bobby.eshleman@gmail.com
•
	
artem_mygaiev@epam.com
•
	
persaur@gmail.com
•
	
christopher.w.clark@gmail.com
•
	
ben@exotanium.io
•
	
piotr.krol@3mdeb.com
•
	
john.ji@intel.com
•
	
brendank310@gmail.com
•
	
ash.j.wilding@gmail.com
•
	
cardoe@cardoe.com
•
	
varadgautam@gmail.com
•
	
tamas.k.lengyel@gmail.com
•
	
volodymyr_babchuk@epam.com
•
	
jarvis.roach@dornerworks.com
•
	
matt.spencer@arm.com
•
	
olivier.lambert@vates.fr
•
	
oleksandr_tyshchenko@epam.com
•
	
ian.jackson@citrix.com
•
	
insurgo@riseup.net
•
	
rob.townley@gmail.com
•
	
julien.grall.oss@gmail.com
•
	
dwmw@amazon.co.uk
•
	
roger.pau@citrix.com
•
	
julien@xen.org
•
	
brian.woods@xilinx.com
•
	
amit@infradead.org
•
	
sergey.dyasli@citrix.com
•
	
deepthi.m@ltts.com
•
	
andrew.cooper3@citrix.com
•
	
wl@xen.org
•
	
jgross@suse.com
•
	
daniel.kiper@oracle.com
•
	
sstabellini@kernel.org
•
	
dpsmith@apertussolutions.com
•
	
pdurrant@amazon.com
•
	
edgar.iglesias@xilinx.com
•
	
jeff.kubascik@dornerworks.com
•
	
Durrant, Paul

more details » 
<https://calendar.google.com/calendar/event?action=VIEW&eid=NHB0ZnBjYXZjMjZzbG1lMW9jbDRiN282MjBfMjAyMjAxMDRUMTYwMDAwWiBqdWxpZW5AeGVuLm9yZw&tok=MjYjYXdlbHR6QGxpbnV4Zm91bmRhdGlvbi5vcmc5ZDY2MjMyMWU5NjBkNTVjOTAzMzE2NDcyZDk0NzUyMTUxODBiNGI4&ctz=America%2FNew_York&hl=en&es=0>
== Dial-in Information ==
## Meeting time
16:00 - 17:00 UTC
Further International meeting times: 
https://www.timeanddate.com/wo__rldclock/meetingdetails.html?__year=2021&month=07&day=8&hour=__15&min=0&sec=0&p1=1234&p2=37&__p3=224&p4=179 
<https://www.google.com/url?q=https%3A%2F%2Fwww.timeanddate.com%2Fworldclock%2Fmeetingdetails.html%3Fyear%3D2021%26month%3D07%26day%3D8%26hour%3D15%26min%3D0%26sec%3D0%26p1%3D1234%26p2%3D37%26p3%3D224%26p4%3D179&sa=D&ust=1640111431119000&usg=AOvVaw3wSPVZ4ObckLc5Bgst1rDQ>


## Dial in details
Web: https://meet.jit.si/XenProject__CommunityCall 
<https://www.google.com/url?q=https%3A%2F%2Fmeet.jit.si%2FXenProjectCommunityCall&sa=D&ust=1640111431119000&usg=AOvVaw3JJX3bQofWDbsSYNzRlM7z>

Dial-in info and pin can be found here:

https://meet.jit.si/static/dia__lInInfo.html?room=XenProjectCo__mmunityCall 
<https://www.google.com/url?q=https%3A%2F%2Fmeet.jit.si%2Fstatic%2FdialInInfo.html%3Froom%3DXenProjectCommunityCall&sa=D&ust=1640111431120000&usg=AOvVaw0h_DpMuV8VSlDs2jeL6FcD>

Going (julien@xen.org)? *Yes 
<https://calendar.google.com/calendar/event?action=RESPOND&eid=NHB0ZnBjYXZjMjZzbG1lMW9jbDRiN282MjBfMjAyMjAxMDRUMTYwMDAwWiBqdWxpZW5AeGVuLm9yZw&rst=1&tok=MjYjYXdlbHR6QGxpbnV4Zm91bmRhdGlvbi5vcmc5ZDY2MjMyMWU5NjBkNTVjOTAzMzE2NDcyZDk0NzUyMTUxODBiNGI4&ctz=America%2FNew_York&hl=en&es=0>- 
Maybe 
<https://calendar.google.com/calendar/event?action=RESPOND&eid=NHB0ZnBjYXZjMjZzbG1lMW9jbDRiN282MjBfMjAyMjAxMDRUMTYwMDAwWiBqdWxpZW5AeGVuLm9yZw&rst=3&tok=MjYjYXdlbHR6QGxpbnV4Zm91bmRhdGlvbi5vcmc5ZDY2MjMyMWU5NjBkNTVjOTAzMzE2NDcyZDk0NzUyMTUxODBiNGI4&ctz=America%2FNew_York&hl=en&es=0>- 
No 
<https://calendar.google.com/calendar/event?action=RESPOND&eid=NHB0ZnBjYXZjMjZzbG1lMW9jbDRiN282MjBfMjAyMjAxMDRUMTYwMDAwWiBqdWxpZW5AeGVuLm9yZw&rst=2&tok=MjYjYXdlbHR6QGxpbnV4Zm91bmRhdGlvbi5vcmc5ZDY2MjMyMWU5NjBkNTVjOTAzMzE2NDcyZDk0NzUyMTUxODBiNGI4&ctz=America%2FNew_York&hl=en&es=0>* 
more options » 
<https://calendar.google.com/calendar/event?action=VIEW&eid=NHB0ZnBjYXZjMjZzbG1lMW9jbDRiN282MjBfMjAyMjAxMDRUMTYwMDAwWiBqdWxpZW5AeGVuLm9yZw&tok=MjYjYXdlbHR6QGxpbnV4Zm91bmRhdGlvbi5vcmc5ZDY2MjMyMWU5NjBkNTVjOTAzMzE2NDcyZDk0NzUyMTUxODBiNGI4&ctz=America%2FNew_York&hl=en&es=0>

Invitation from Google Calendar <https://calendar.google.com/calendar/>

You are receiving this courtesy email at the account julien@xen.org 
because you are an attendee of this event.

To stop receiving future updates for this event, decline this event. 
Alternatively you can sign up for a Google account at 
https://calendar.google.com/calendar/ and control your notification 
settings for your entire calendar.

Forwarding this invitation could allow any recipient to send a response 
to the organizer and be added to the guest list, or invite others 
regardless of their own invitation status, or to modify your RSVP. Learn 
More <https://support.google.com/calendar/answer/37135#forwarding>.

--------------29gWv1LCAZoh30GkwvVnWaT1
Content-Type: text/calendar; charset=UTF-8; name="Attached Message Part"
Content-Disposition: attachment; filename="Attached Message Part"
Content-Transfer-Encoding: base64

QkVHSU46VkNBTEVOREFSClBST0RJRDotLy9Hb29nbGUgSW5jLy9Hb29nbGUgQ2FsZW5kYXIg
NzAuOTA1NC8vRU4KVkVSU0lPTjoyLjAKQ0FMU0NBTEU6R1JFR09SSUFOCk1FVEhPRDpSRVFV
RVNUCkJFR0lOOlZUSU1FWk9ORQpUWklEOkFtZXJpY2EvTmV3X1lvcmsKWC1MSUMtTE9DQVRJ
T046QW1lcmljYS9OZXdfWW9yawpCRUdJTjpEQVlMSUdIVApUWk9GRlNFVEZST006LTA1MDAK
VFpPRkZTRVRUTzotMDQwMApUWk5BTUU6RURUCkRUU1RBUlQ6MTk3MDAzMDhUMDIwMDAwClJS
VUxFOkZSRVE9WUVBUkxZO0JZTU9OVEg9MztCWURBWT0yU1UKRU5EOkRBWUxJR0hUCkJFR0lO
OlNUQU5EQVJEClRaT0ZGU0VURlJPTTotMDQwMApUWk9GRlNFVFRPOi0wNTAwClRaTkFNRTpF
U1QKRFRTVEFSVDoxOTcwMTEwMVQwMjAwMDAKUlJVTEU6RlJFUT1ZRUFSTFk7QllNT05USD0x
MTtCWURBWT0xU1UKRU5EOlNUQU5EQVJECkVORDpWVElNRVpPTkUKQkVHSU46VkVWRU5UCkRU
U1RBUlQ7VFpJRD1BbWVyaWNhL05ld19Zb3JrOjIwMjIwMTExVDExMDAwMApEVEVORDtUWklE
PUFtZXJpY2EvTmV3X1lvcms6MjAyMjAxMTFUMTIwMDAwCkRUU1RBTVA6MjAyMTEyMTZUMTgz
MDMxWgpPUkdBTklaRVI7Q049YXdlbHR6QGxpbnV4Zm91bmRhdGlvbi5vcmc6bWFpbHRvOmF3
ZWx0ekBsaW51eGZvdW5kYXRpb24ub3JnClVJRDo0cHRmcGNhdmMyNnNsbWUxb2NsNGI3bzYy
MF9SMjAyMTExMDJUMTUwMDAwQGdvb2dsZS5jb20KQVRURU5ERUU7Q1VUWVBFPUlORElWSURV
QUw7Uk9MRT1SRVEtUEFSVElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JTVlA9CiBU
UlVFO0NOPXN0ZXdhcnQuaGlsZGVicmFuZEBkb3JuZXJ3b3Jrcy5jb207WC1OVU0tR1VFU1RT
PTA6bWFpbHRvOnN0ZXdhcnQuaGkKIGxkZWJyYW5kQGRvcm5lcndvcmtzLmNvbQpBVFRFTkRF
RTtDVVRZUEU9SU5ESVZJRFVBTDtST0xFPVJFUS1QQVJUSUNJUEFOVDtQQVJUU1RBVD1ORUVE
Uy1BQ1RJT047UlNWUD0KIFRSVUU7Q049c2NvdHR3ZEBnbWFpbC5jb207WC1OVU0tR1VFU1RT
PTA6bWFpbHRvOnNjb3R0d2RAZ21haWwuY29tCkFUVEVOREVFO0NVVFlQRT1JTkRJVklEVUFM
O1JPTEU9UkVRLVBBUlRJQ0lQQU5UO1BBUlRTVEFUPU5FRURTLUFDVElPTjtSU1ZQPQogVFJV
RTtYLU5VTS1HVUVTVFM9MDptYWlsdG86bWlyZWxhLnNpbW9ub3ZpY0BhZ2dpb3MuY29tCkFU
VEVOREVFO0NVVFlQRT1JTkRJVklEVUFMO1JPTEU9UkVRLVBBUlRJQ0lQQU5UO1BBUlRTVEFU
PUFDQ0VQVEVEO1JTVlA9VFJVRQogO0NOPWF3ZWx0ekBsaW51eGZvdW5kYXRpb24ub3JnO1gt
TlVNLUdVRVNUUz0wOm1haWx0bzphd2VsdHpAbGludXhmb3VuZGF0aW9uCiAub3JnCkFUVEVO
REVFO0NVVFlQRT1JTkRJVklEVUFMO1JPTEU9UkVRLVBBUlRJQ0lQQU5UO1BBUlRTVEFUPU5F
RURTLUFDVElPTjtSU1ZQPQogVFJVRTtDTj1rZXZpbi5wZWFyc29uQG9ydG1hbmNvbnN1bHRp
bmcuY29tO1gtTlVNLUdVRVNUUz0wOm1haWx0bzprZXZpbi5wZWFyCiBzb25Ab3J0bWFuY29u
c3VsdGluZy5jb20KQVRURU5ERUU7Q1VUWVBFPUlORElWSURVQUw7Uk9MRT1SRVEtUEFSVElD
SVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JTVlA9CiBUUlVFO0NOPXJhaHVsLnNpbmdo
QGFybS5jb207WC1OVU0tR1VFU1RTPTA6bWFpbHRvOnJhaHVsLnNpbmdoQGFybS5jb20KQVRU
RU5ERUU7Q1VUWVBFPUlORElWSURVQUw7Uk9MRT1SRVEtUEFSVElDSVBBTlQ7UEFSVFNUQVQ9
TkVFRFMtQUNUSU9OO1JTVlA9CiBUUlVFO0NOPUNvcmV5IE1pbnlhcmQ7WC1OVU0tR1VFU1RT
PTA6bWFpbHRvOmNtaW55YXJkQG12aXN0YS5jb20KQVRURU5ERUU7Q1VUWVBFPUlORElWSURV
QUw7Uk9MRT1SRVEtUEFSVElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JTVlA9CiBU
UlVFO0NOPXJvYmluLnJhbmRoYXdhQGFybS5jb207WC1OVU0tR1VFU1RTPTA6bWFpbHRvOnJv
YmluLnJhbmRoYXdhQGFybS5jb20KQVRURU5ERUU7Q1VUWVBFPUlORElWSURVQUw7Uk9MRT1S
RVEtUEFSVElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JTVlA9CiBUUlVFO0NOPXJp
YW5xdWlubkBnbWFpbC5jb207WC1OVU0tR1VFU1RTPTA6bWFpbHRvOnJpYW5xdWlubkBnbWFp
bC5jb20KQVRURU5ERUU7Q1VUWVBFPUlORElWSURVQUw7Uk9MRT1SRVEtUEFSVElDSVBBTlQ7
UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JTVlA9CiBUUlVFO0NOPW9sZWtzYW5kcl9hbmRydXNo
Y2hlbmtvQGVwYW0uY29tO1gtTlVNLUdVRVNUUz0wOm1haWx0bzpvbGVrc2FuZHJfYW4KIGRy
dXNoY2hlbmtvQGVwYW0uY29tCkFUVEVOREVFO0NVVFlQRT1JTkRJVklEVUFMO1JPTEU9UkVR
LVBBUlRJQ0lQQU5UO1BBUlRTVEFUPU5FRURTLUFDVElPTjtSU1ZQPQogVFJVRTtDTj1pbnRl
bC14ZW47WC1OVU0tR1VFU1RTPTA6bWFpbHRvOmludGVsLXhlbkBpbnRlbC5jb20KQVRURU5E
RUU7Q1VUWVBFPUlORElWSURVQUw7Uk9MRT1SRVEtUEFSVElDSVBBTlQ7UEFSVFNUQVQ9TkVF
RFMtQUNUSU9OO1JTVlA9CiBUUlVFO0NOPWJvYmJ5LmVzaGxlbWFuQGdtYWlsLmNvbTtYLU5V
TS1HVUVTVFM9MDptYWlsdG86Ym9iYnkuZXNobGVtYW5AZ21haWwKIC5jb20KQVRURU5ERUU7
Q1VUWVBFPUlORElWSURVQUw7Uk9MRT1SRVEtUEFSVElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMt
QUNUSU9OO1JTVlA9CiBUUlVFO0NOPWFydGVtX215Z2FpZXZAZXBhbS5jb207WC1OVU0tR1VF
U1RTPTA6bWFpbHRvOmFydGVtX215Z2FpZXZAZXBhbS5jb20KQVRURU5ERUU7Q1VUWVBFPUlO
RElWSURVQUw7Uk9MRT1SRVEtUEFSVElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JT
VlA9CiBUUlVFO0NOPXBlcnNhdXJAZ21haWwuY29tO1gtTlVNLUdVRVNUUz0wOm1haWx0bzpw
ZXJzYXVyQGdtYWlsLmNvbQpBVFRFTkRFRTtDVVRZUEU9SU5ESVZJRFVBTDtST0xFPVJFUS1Q
QVJUSUNJUEFOVDtQQVJUU1RBVD1ORUVEUy1BQ1RJT047UlNWUD0KIFRSVUU7Q049Y2hyaXN0
b3BoZXIudy5jbGFya0BnbWFpbC5jb207WC1OVU0tR1VFU1RTPTA6bWFpbHRvOmNocmlzdG9w
aGVyLncuYwogbGFya0BnbWFpbC5jb20KQVRURU5ERUU7Q1VUWVBFPUlORElWSURVQUw7Uk9M
RT1SRVEtUEFSVElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JTVlA9CiBUUlVFO0NO
PWJlbkBleG90YW5pdW0uaW87WC1OVU0tR1VFU1RTPTA6bWFpbHRvOmJlbkBleG90YW5pdW0u
aW8KQVRURU5ERUU7Q1VUWVBFPUlORElWSURVQUw7Uk9MRT1SRVEtUEFSVElDSVBBTlQ7UEFS
VFNUQVQ9TkVFRFMtQUNUSU9OO1JTVlA9CiBUUlVFO0NOPXBpb3RyLmtyb2xAM21kZWIuY29t
O1gtTlVNLUdVRVNUUz0wOm1haWx0bzpwaW90ci5rcm9sQDNtZGViLmNvbQpBVFRFTkRFRTtD
VVRZUEU9SU5ESVZJRFVBTDtST0xFPVJFUS1QQVJUSUNJUEFOVDtQQVJUU1RBVD1ORUVEUy1B
Q1RJT047UlNWUD0KIFRSVUU7Q049am9obi5qaUBpbnRlbC5jb207WC1OVU0tR1VFU1RTPTA6
bWFpbHRvOmpvaG4uamlAaW50ZWwuY29tCkFUVEVOREVFO0NVVFlQRT1JTkRJVklEVUFMO1JP
TEU9UkVRLVBBUlRJQ0lQQU5UO1BBUlRTVEFUPU5FRURTLUFDVElPTjtSU1ZQPQogVFJVRTtD
Tj1icmVuZGFuazMxMEBnbWFpbC5jb207WC1OVU0tR1VFU1RTPTA6bWFpbHRvOmJyZW5kYW5r
MzEwQGdtYWlsLmNvbQpBVFRFTkRFRTtDVVRZUEU9SU5ESVZJRFVBTDtST0xFPVJFUS1QQVJU
SUNJUEFOVDtQQVJUU1RBVD1ORUVEUy1BQ1RJT047UlNWUD0KIFRSVUU7Q049YXNoLmoud2ls
ZGluZ0BnbWFpbC5jb207WC1OVU0tR1VFU1RTPTA6bWFpbHRvOmFzaC5qLndpbGRpbmdAZ21h
aWwuYwogb20KQVRURU5ERUU7Q1VUWVBFPUlORElWSURVQUw7Uk9MRT1SRVEtUEFSVElDSVBB
TlQ7UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JTVlA9CiBUUlVFO0NOPWNhcmRvZUBjYXJkb2Uu
Y29tO1gtTlVNLUdVRVNUUz0wOm1haWx0bzpjYXJkb2VAY2FyZG9lLmNvbQpBVFRFTkRFRTtD
VVRZUEU9SU5ESVZJRFVBTDtST0xFPVJFUS1QQVJUSUNJUEFOVDtQQVJUU1RBVD1ORUVEUy1B
Q1RJT047UlNWUD0KIFRSVUU7Q049dmFyYWRnYXV0YW1AZ21haWwuY29tO1gtTlVNLUdVRVNU
Uz0wOm1haWx0bzp2YXJhZGdhdXRhbUBnbWFpbC5jb20KQVRURU5ERUU7Q1VUWVBFPUlORElW
SURVQUw7Uk9MRT1SRVEtUEFSVElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JTVlA9
CiBUUlVFO0NOPXRhbWFzLmsubGVuZ3llbEBnbWFpbC5jb207WC1OVU0tR1VFU1RTPTA6bWFp
bHRvOnRhbWFzLmsubGVuZ3llbEBnbWEKIGlsLmNvbQpBVFRFTkRFRTtDVVRZUEU9SU5ESVZJ
RFVBTDtST0xFPVJFUS1QQVJUSUNJUEFOVDtQQVJUU1RBVD1ORUVEUy1BQ1RJT047UlNWUD0K
IFRSVUU7Q049dm9sb2R5bXlyX2JhYmNodWtAZXBhbS5jb207WC1OVU0tR1VFU1RTPTA6bWFp
bHRvOnZvbG9keW15cl9iYWJjaHVrQAogZXBhbS5jb20KQVRURU5ERUU7Q1VUWVBFPUlORElW
SURVQUw7Uk9MRT1SRVEtUEFSVElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JTVlA9
CiBUUlVFO0NOPWphcnZpcy5yb2FjaEBkb3JuZXJ3b3Jrcy5jb207WC1OVU0tR1VFU1RTPTA6
bWFpbHRvOmphcnZpcy5yb2FjaEBkb3IKIG5lcndvcmtzLmNvbQpBVFRFTkRFRTtDVVRZUEU9
SU5ESVZJRFVBTDtST0xFPVJFUS1QQVJUSUNJUEFOVDtQQVJUU1RBVD1ORUVEUy1BQ1RJT047
UlNWUD0KIFRSVUU7Q049bWF0dC5zcGVuY2VyQGFybS5jb207WC1OVU0tR1VFU1RTPTA6bWFp
bHRvOm1hdHQuc3BlbmNlckBhcm0uY29tCkFUVEVOREVFO0NVVFlQRT1JTkRJVklEVUFMO1JP
TEU9UkVRLVBBUlRJQ0lQQU5UO1BBUlRTVEFUPU5FRURTLUFDVElPTjtSU1ZQPQogVFJVRTtD
Tj1vbGl2aWVyLmxhbWJlcnRAdmF0ZXMuZnI7WC1OVU0tR1VFU1RTPTA6bWFpbHRvOm9saXZp
ZXIubGFtYmVydEB2YXRlCiBzLmZyCkFUVEVOREVFO0NVVFlQRT1JTkRJVklEVUFMO1JPTEU9
UkVRLVBBUlRJQ0lQQU5UO1BBUlRTVEFUPU5FRURTLUFDVElPTjtSU1ZQPQogVFJVRTtDTj1v
bGVrc2FuZHJfdHlzaGNoZW5rb0BlcGFtLmNvbTtYLU5VTS1HVUVTVFM9MDptYWlsdG86b2xl
a3NhbmRyX3R5c2hjCiBoZW5rb0BlcGFtLmNvbQpBVFRFTkRFRTtDVVRZUEU9SU5ESVZJRFVB
TDtST0xFPVJFUS1QQVJUSUNJUEFOVDtQQVJUU1RBVD1ORUVEUy1BQ1RJT047UlNWUD0KIFRS
VUU7Q049aWFuLmphY2tzb25AY2l0cml4LmNvbTtYLU5VTS1HVUVTVFM9MDptYWlsdG86aWFu
LmphY2tzb25AY2l0cml4LmNvbQpBVFRFTkRFRTtDVVRZUEU9SU5ESVZJRFVBTDtST0xFPVJF
US1QQVJUSUNJUEFOVDtQQVJUU1RBVD1ORUVEUy1BQ1RJT047UlNWUD0KIFRSVUU7Q049aW5z
dXJnb0ByaXNldXAubmV0O1gtTlVNLUdVRVNUUz0wOm1haWx0bzppbnN1cmdvQHJpc2V1cC5u
ZXQKQVRURU5ERUU7Q1VUWVBFPUlORElWSURVQUw7Uk9MRT1SRVEtUEFSVElDSVBBTlQ7UEFS
VFNUQVQ9TkVFRFMtQUNUSU9OO1JTVlA9CiBUUlVFO0NOPXJvYi50b3dubGV5QGdtYWlsLmNv
bTtYLU5VTS1HVUVTVFM9MDptYWlsdG86cm9iLnRvd25sZXlAZ21haWwuY29tCkFUVEVOREVF
O0NVVFlQRT1JTkRJVklEVUFMO1JPTEU9UkVRLVBBUlRJQ0lQQU5UO1BBUlRTVEFUPU5FRURT
LUFDVElPTjtSU1ZQPQogVFJVRTtDTj1qdWxpZW4uZ3JhbGwub3NzQGdtYWlsLmNvbTtYLU5V
TS1HVUVTVFM9MDptYWlsdG86anVsaWVuLmdyYWxsLm9zc0BnCiBtYWlsLmNvbQpBVFRFTkRF
RTtDVVRZUEU9SU5ESVZJRFVBTDtST0xFPVJFUS1QQVJUSUNJUEFOVDtQQVJUU1RBVD1ORUVE
Uy1BQ1RJT047UlNWUD0KIFRSVUU7Q049ZHdtd0BhbWF6b24uY28udWs7WC1OVU0tR1VFU1RT
PTA6bWFpbHRvOmR3bXdAYW1hem9uLmNvLnVrCkFUVEVOREVFO0NVVFlQRT1JTkRJVklEVUFM
O1JPTEU9UkVRLVBBUlRJQ0lQQU5UO1BBUlRTVEFUPU5FRURTLUFDVElPTjtSU1ZQPQogVFJV
RTtDTj1yb2dlci5wYXVAY2l0cml4LmNvbTtYLU5VTS1HVUVTVFM9MDptYWlsdG86cm9nZXIu
cGF1QGNpdHJpeC5jb20KQVRURU5ERUU7Q1VUWVBFPUlORElWSURVQUw7Uk9MRT1SRVEtUEFS
VElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JTVlA9CiBUUlVFO0NOPWp1bGllbkB4
ZW4ub3JnO1gtTlVNLUdVRVNUUz0wOm1haWx0bzpqdWxpZW5AeGVuLm9yZwpBVFRFTkRFRTtD
VVRZUEU9SU5ESVZJRFVBTDtST0xFPVJFUS1QQVJUSUNJUEFOVDtQQVJUU1RBVD1ORUVEUy1B
Q1RJT047UlNWUD0KIFRSVUU7Q049YnJpYW4ud29vZHNAeGlsaW54LmNvbTtYLU5VTS1HVUVT
VFM9MDptYWlsdG86YnJpYW4ud29vZHNAeGlsaW54LmNvbQpBVFRFTkRFRTtDVVRZUEU9SU5E
SVZJRFVBTDtST0xFPVJFUS1QQVJUSUNJUEFOVDtQQVJUU1RBVD1ORUVEUy1BQ1RJT047UlNW
UD0KIFRSVUU7Q049YW1pdEBpbmZyYWRlYWQub3JnO1gtTlVNLUdVRVNUUz0wOm1haWx0bzph
bWl0QGluZnJhZGVhZC5vcmcKQVRURU5ERUU7Q1VUWVBFPUlORElWSURVQUw7Uk9MRT1SRVEt
UEFSVElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JTVlA9CiBUUlVFO0NOPXNlcmdl
eS5keWFzbGlAY2l0cml4LmNvbTtYLU5VTS1HVUVTVFM9MDptYWlsdG86c2VyZ2V5LmR5YXNs
aUBjaXRyaXgKIC5jb20KQVRURU5ERUU7Q1VUWVBFPUlORElWSURVQUw7Uk9MRT1SRVEtUEFS
VElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JTVlA9CiBUUlVFO0NOPWRlZXB0aGku
bUBsdHRzLmNvbTtYLU5VTS1HVUVTVFM9MDptYWlsdG86ZGVlcHRoaS5tQGx0dHMuY29tCkFU
VEVOREVFO0NVVFlQRT1JTkRJVklEVUFMO1JPTEU9UkVRLVBBUlRJQ0lQQU5UO1BBUlRTVEFU
PU5FRURTLUFDVElPTjtSU1ZQPQogVFJVRTtDTj1hbmRyZXcuY29vcGVyM0BjaXRyaXguY29t
O1gtTlVNLUdVRVNUUz0wOm1haWx0bzphbmRyZXcuY29vcGVyM0BjaXRyCiBpeC5jb20KQVRU
RU5ERUU7Q1VUWVBFPUlORElWSURVQUw7Uk9MRT1SRVEtUEFSVElDSVBBTlQ7UEFSVFNUQVQ9
TkVFRFMtQUNUSU9OO1JTVlA9CiBUUlVFO0NOPXdsQHhlbi5vcmc7WC1OVU0tR1VFU1RTPTA6
bWFpbHRvOndsQHhlbi5vcmcKQVRURU5ERUU7Q1VUWVBFPUlORElWSURVQUw7Uk9MRT1SRVEt
UEFSVElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JTVlA9CiBUUlVFO0NOPWpncm9z
c0BzdXNlLmNvbTtYLU5VTS1HVUVTVFM9MDptYWlsdG86amdyb3NzQHN1c2UuY29tCkFUVEVO
REVFO0NVVFlQRT1JTkRJVklEVUFMO1JPTEU9UkVRLVBBUlRJQ0lQQU5UO1BBUlRTVEFUPU5F
RURTLUFDVElPTjtSU1ZQPQogVFJVRTtDTj1kYW5pZWwua2lwZXJAb3JhY2xlLmNvbTtYLU5V
TS1HVUVTVFM9MDptYWlsdG86ZGFuaWVsLmtpcGVyQG9yYWNsZS5jCiBvbQpBVFRFTkRFRTtD
VVRZUEU9SU5ESVZJRFVBTDtST0xFPVJFUS1QQVJUSUNJUEFOVDtQQVJUU1RBVD1ORUVEUy1B
Q1RJT047UlNWUD0KIFRSVUU7Q049c3N0YWJlbGxpbmlAa2VybmVsLm9yZztYLU5VTS1HVUVT
VFM9MDptYWlsdG86c3N0YWJlbGxpbmlAa2VybmVsLm9yZwpBVFRFTkRFRTtDVVRZUEU9SU5E
SVZJRFVBTDtST0xFPVJFUS1QQVJUSUNJUEFOVDtQQVJUU1RBVD1ORUVEUy1BQ1RJT047UlNW
UD0KIFRSVUU7Q049ZHBzbWl0aEBhcGVydHVzc29sdXRpb25zLmNvbTtYLU5VTS1HVUVTVFM9
MDptYWlsdG86ZHBzbWl0aEBhcGVydHVzcwogb2x1dGlvbnMuY29tCkFUVEVOREVFO0NVVFlQ
RT1JTkRJVklEVUFMO1JPTEU9UkVRLVBBUlRJQ0lQQU5UO1BBUlRTVEFUPU5FRURTLUFDVElP
TjtSU1ZQPQogVFJVRTtDTj1wZHVycmFudEBhbWF6b24uY29tO1gtTlVNLUdVRVNUUz0wOm1h
aWx0bzpwZHVycmFudEBhbWF6b24uY29tCkFUVEVOREVFO0NVVFlQRT1JTkRJVklEVUFMO1JP
TEU9UkVRLVBBUlRJQ0lQQU5UO1BBUlRTVEFUPU5FRURTLUFDVElPTjtSU1ZQPQogVFJVRTtD
Tj1lZGdhci5pZ2xlc2lhc0B4aWxpbnguY29tO1gtTlVNLUdVRVNUUz0wOm1haWx0bzplZGdh
ci5pZ2xlc2lhc0B4aWxpCiBueC5jb20KQVRURU5ERUU7Q1VUWVBFPUlORElWSURVQUw7Uk9M
RT1SRVEtUEFSVElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JTVlA9CiBUUlVFO0NO
PWplZmYua3ViYXNjaWtAZG9ybmVyd29ya3MuY29tO1gtTlVNLUdVRVNUUz0wOm1haWx0bzpq
ZWZmLmt1YmFzY2lrQGQKIG9ybmVyd29ya3MuY29tCkFUVEVOREVFO0NVVFlQRT1JTkRJVklE
VUFMO1JPTEU9UkVRLVBBUlRJQ0lQQU5UO1BBUlRTVEFUPU5FRURTLUFDVElPTjtSU1ZQPQog
VFJVRTtDTj0iRHVycmFudCwgUGF1bCI7WC1OVU0tR1VFU1RTPTA6bWFpbHRvOnBkdXJyYW50
QGFtYXpvbi5jby51awpYLU1JQ1JPU09GVC1DRE8tT1dORVJBUFBUSUQ6LTE2OTIyOTkyODMK
UkVDVVJSRU5DRS1JRDtUWklEPUFtZXJpY2EvTmV3X1lvcms6MjAyMjAxMDRUMTEwMDAwCkNS
RUFURUQ6MjAyMTA3MzBUMTQwOTExWgpERVNDUklQVElPTjo9PSBEaWFsLWluIEluZm9ybWF0
aW9uID09PGJyPiMjIE1lZXRpbmcgdGltZTxicj4xNjowMCAtIDE3OjAwIFUKIFRDPGJyPkZ1
cnRoZXIgSW50ZXJuYXRpb25hbCBtZWV0aW5nIHRpbWVzOiZuYnNwXDs8YSBocmVmPSJodHRw
czovL3d3dy50aW1lYQogbmRkYXRlLmNvbS93b3JsZGNsb2NrL21lZXRpbmdkZXRhaWxzLmh0
bWw/eWVhcj0yMDIxJm1vbnRoPTA3JmRheT04JmhvdXI9MTUmCiBtaW49MCZzZWM9MCZwMT0x
MjM0JnAyPTM3JnAzPTIyNCZwND0xNzkiIGlkPSJvdzI2NjQiIF9faXNfb3duZXI9InRydWUi
Pmh0dHAKIHM6Ly93d3cudGltZWFuZGRhdGUuY29tL3dvPHU+PC91PnJsZGNsb2NrL21lZXRp
bmdkZXRhaWxzLmh0bWw/PHU+PC91PnllYXI9MgogMDIxJmFtcFw7bW9udGg9MDcmYW1wXDtk
YXk9OCZhbXBcO2hvdXI9PHU+PC91PjE1JmFtcFw7bWluPTAmYW1wXDtzZWM9MCZhbXBcCiA7
cDE9MTIzNCZhbXBcO3AyPTM3JmFtcFw7PHU+PC91PnAzPTIyNCZhbXBcO3A0PTE3OTwvYT48
YnI+PGJyPjxicj4jIyBEaWFsIGkKIG4gZGV0YWlsczxicj5XZWI6Jm5ic3BcOzxhIGhyZWY9
Imh0dHBzOi8vbWVldC5qaXQuc2kvWGVuUHJvamVjdENvbW11bml0eUNhbAogbCI+aHR0cHM6
Ly9tZWV0LmppdC5zaS9YZW5Qcm9qZWN0PHU+PC91PkNvbW11bml0eUNhbGw8L2E+PGJyPjxi
cj5EaWFsLWluIGluCiBmbyBhbmQgcGluIGNhbiBiZSBmb3VuZCBoZXJlOjxicj48YnI+PGEg
aHJlZj0iaHR0cHM6Ly9tZWV0LmppdC5zaS9zdGF0aWMvZGkKIGFsSW5JbmZvLmh0bWw/cm9v
bT1YZW5Qcm9qZWN0Q29tbXVuaXR5Q2FsbCI+aHR0cHM6Ly9tZWV0LmppdC5zaS9zdGF0aWMv
ZGlhPAogdT48L3U+bEluSW5mby5odG1sP3Jvb209WGVuUHJvamVjdENvPHU+PC91Pm1tdW5p
dHlDYWxsPC9hPlxuXG4tOjp+On46On46fjp+CiA6fjp+On46fjp+On46fjp+On46fjp+On46
fjp+On46fjp+On46fjp+On46fjp+On46fjp+On46fjp+On46fjp+On46On46fjo6LVwKIG5E
byBub3QgZWRpdCB0aGlzIHNlY3Rpb24gb2YgdGhlIGRlc2NyaXB0aW9uLlxuXG5WaWV3IHlv
dXIgZXZlbnQgYXQgaHR0cHM6LwogL2NhbGVuZGFyLmdvb2dsZS5jb20vY2FsZW5kYXIvZXZl
bnQ/YWN0aW9uPVZJRVcmZWlkPU5IQjBabkJqWVhaak1qWnpiRzFsTVc5CiBqYkRSaU4yODJN
akJmTWpBeU1qQXhNRFJVTVRZd01EQXdXaUJxZFd4cFpXNUFlR1Z1TG05eVp3JnRvaz1Nallq
WVhkbGJIUjZRR3gKIHBiblY0Wm05MWJtUmhkR2x2Ymk1dmNtYzVaRFkyTWpNeU1XVTVOakJr
TlRWak9UQXpNekUyTkRjeVpEazBOelV5TVRVeE9EQmlORwogSTQmY3R6PUFtZXJpY2ElMkZO
ZXdfWW9yayZobD1lbiZlcz0wLlxuLTo6fjp+Ojp+On46fjp+On46fjp+On46fjp+On46fjp+
On46CiB+On46fjp+On46fjp+On46fjp+On46fjp+On46fjp+On46fjp+On46fjp+Ojp+On46
Oi0KTEFTVC1NT0RJRklFRDoyMDIxMTIxNlQxODMwMjhaCkxPQ0FUSU9OOmh0dHBzOi8vbWVl
dC5qaXQuc2kvWGVuUHJvamVjdENvbW11bml0eUNhbGwKU0VRVUVOQ0U6MQpTVEFUVVM6Q09O
RklSTUVEClNVTU1BUlk6WGVuIENvbW11bml0eSBDYWxsClRSQU5TUDpPUEFRVUUKRU5EOlZF
VkVOVApFTkQ6VkNBTEVOREFSCgo=
--------------29gWv1LCAZoh30GkwvVnWaT1
Content-Type: application/ics; name="invite.ics"
Content-Disposition: attachment; filename="invite.ics"
Content-Transfer-Encoding: base64

QkVHSU46VkNBTEVOREFSDQpQUk9ESUQ6LS8vR29vZ2xlIEluYy8vR29vZ2xlIENhbGVuZGFy
IDcwLjkwNTQvL0VODQpWRVJTSU9OOjIuMA0KQ0FMU0NBTEU6R1JFR09SSUFODQpNRVRIT0Q6
UkVRVUVTVA0KQkVHSU46VlRJTUVaT05FDQpUWklEOkFtZXJpY2EvTmV3X1lvcmsNClgtTElD
LUxPQ0FUSU9OOkFtZXJpY2EvTmV3X1lvcmsNCkJFR0lOOkRBWUxJR0hUDQpUWk9GRlNFVEZS
T006LTA1MDANClRaT0ZGU0VUVE86LTA0MDANClRaTkFNRTpFRFQNCkRUU1RBUlQ6MTk3MDAz
MDhUMDIwMDAwDQpSUlVMRTpGUkVRPVlFQVJMWTtCWU1PTlRIPTM7QllEQVk9MlNVDQpFTkQ6
REFZTElHSFQNCkJFR0lOOlNUQU5EQVJEDQpUWk9GRlNFVEZST006LTA0MDANClRaT0ZGU0VU
VE86LTA1MDANClRaTkFNRTpFU1QNCkRUU1RBUlQ6MTk3MDExMDFUMDIwMDAwDQpSUlVMRTpG
UkVRPVlFQVJMWTtCWU1PTlRIPTExO0JZREFZPTFTVQ0KRU5EOlNUQU5EQVJEDQpFTkQ6VlRJ
TUVaT05FDQpCRUdJTjpWRVZFTlQNCkRUU1RBUlQ7VFpJRD1BbWVyaWNhL05ld19Zb3JrOjIw
MjIwMTExVDExMDAwMA0KRFRFTkQ7VFpJRD1BbWVyaWNhL05ld19Zb3JrOjIwMjIwMTExVDEy
MDAwMA0KRFRTVEFNUDoyMDIxMTIxNlQxODMwMzFaDQpPUkdBTklaRVI7Q049YXdlbHR6QGxp
bnV4Zm91bmRhdGlvbi5vcmc6bWFpbHRvOmF3ZWx0ekBsaW51eGZvdW5kYXRpb24ub3JnDQpV
SUQ6NHB0ZnBjYXZjMjZzbG1lMW9jbDRiN282MjBfUjIwMjExMTAyVDE1MDAwMEBnb29nbGUu
Y29tDQpBVFRFTkRFRTtDVVRZUEU9SU5ESVZJRFVBTDtST0xFPVJFUS1QQVJUSUNJUEFOVDtQ
QVJUU1RBVD1ORUVEUy1BQ1RJT047UlNWUD0NCiBUUlVFO0NOPXN0ZXdhcnQuaGlsZGVicmFu
ZEBkb3JuZXJ3b3Jrcy5jb207WC1OVU0tR1VFU1RTPTA6bWFpbHRvOnN0ZXdhcnQuaGkNCiBs
ZGVicmFuZEBkb3JuZXJ3b3Jrcy5jb20NCkFUVEVOREVFO0NVVFlQRT1JTkRJVklEVUFMO1JP
TEU9UkVRLVBBUlRJQ0lQQU5UO1BBUlRTVEFUPU5FRURTLUFDVElPTjtSU1ZQPQ0KIFRSVUU7
Q049c2NvdHR3ZEBnbWFpbC5jb207WC1OVU0tR1VFU1RTPTA6bWFpbHRvOnNjb3R0d2RAZ21h
aWwuY29tDQpBVFRFTkRFRTtDVVRZUEU9SU5ESVZJRFVBTDtST0xFPVJFUS1QQVJUSUNJUEFO
VDtQQVJUU1RBVD1ORUVEUy1BQ1RJT047UlNWUD0NCiBUUlVFO1gtTlVNLUdVRVNUUz0wOm1h
aWx0bzptaXJlbGEuc2ltb25vdmljQGFnZ2lvcy5jb20NCkFUVEVOREVFO0NVVFlQRT1JTkRJ
VklEVUFMO1JPTEU9UkVRLVBBUlRJQ0lQQU5UO1BBUlRTVEFUPUFDQ0VQVEVEO1JTVlA9VFJV
RQ0KIDtDTj1hd2VsdHpAbGludXhmb3VuZGF0aW9uLm9yZztYLU5VTS1HVUVTVFM9MDptYWls
dG86YXdlbHR6QGxpbnV4Zm91bmRhdGlvbg0KIC5vcmcNCkFUVEVOREVFO0NVVFlQRT1JTkRJ
VklEVUFMO1JPTEU9UkVRLVBBUlRJQ0lQQU5UO1BBUlRTVEFUPU5FRURTLUFDVElPTjtSU1ZQ
PQ0KIFRSVUU7Q049a2V2aW4ucGVhcnNvbkBvcnRtYW5jb25zdWx0aW5nLmNvbTtYLU5VTS1H
VUVTVFM9MDptYWlsdG86a2V2aW4ucGVhcg0KIHNvbkBvcnRtYW5jb25zdWx0aW5nLmNvbQ0K
QVRURU5ERUU7Q1VUWVBFPUlORElWSURVQUw7Uk9MRT1SRVEtUEFSVElDSVBBTlQ7UEFSVFNU
QVQ9TkVFRFMtQUNUSU9OO1JTVlA9DQogVFJVRTtDTj1yYWh1bC5zaW5naEBhcm0uY29tO1gt
TlVNLUdVRVNUUz0wOm1haWx0bzpyYWh1bC5zaW5naEBhcm0uY29tDQpBVFRFTkRFRTtDVVRZ
UEU9SU5ESVZJRFVBTDtST0xFPVJFUS1QQVJUSUNJUEFOVDtQQVJUU1RBVD1ORUVEUy1BQ1RJ
T047UlNWUD0NCiBUUlVFO0NOPUNvcmV5IE1pbnlhcmQ7WC1OVU0tR1VFU1RTPTA6bWFpbHRv
OmNtaW55YXJkQG12aXN0YS5jb20NCkFUVEVOREVFO0NVVFlQRT1JTkRJVklEVUFMO1JPTEU9
UkVRLVBBUlRJQ0lQQU5UO1BBUlRTVEFUPU5FRURTLUFDVElPTjtSU1ZQPQ0KIFRSVUU7Q049
cm9iaW4ucmFuZGhhd2FAYXJtLmNvbTtYLU5VTS1HVUVTVFM9MDptYWlsdG86cm9iaW4ucmFu
ZGhhd2FAYXJtLmNvbQ0KQVRURU5ERUU7Q1VUWVBFPUlORElWSURVQUw7Uk9MRT1SRVEtUEFS
VElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JTVlA9DQogVFJVRTtDTj1yaWFucXVp
bm5AZ21haWwuY29tO1gtTlVNLUdVRVNUUz0wOm1haWx0bzpyaWFucXVpbm5AZ21haWwuY29t
DQpBVFRFTkRFRTtDVVRZUEU9SU5ESVZJRFVBTDtST0xFPVJFUS1QQVJUSUNJUEFOVDtQQVJU
U1RBVD1ORUVEUy1BQ1RJT047UlNWUD0NCiBUUlVFO0NOPW9sZWtzYW5kcl9hbmRydXNoY2hl
bmtvQGVwYW0uY29tO1gtTlVNLUdVRVNUUz0wOm1haWx0bzpvbGVrc2FuZHJfYW4NCiBkcnVz
aGNoZW5rb0BlcGFtLmNvbQ0KQVRURU5ERUU7Q1VUWVBFPUlORElWSURVQUw7Uk9MRT1SRVEt
UEFSVElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JTVlA9DQogVFJVRTtDTj1pbnRl
bC14ZW47WC1OVU0tR1VFU1RTPTA6bWFpbHRvOmludGVsLXhlbkBpbnRlbC5jb20NCkFUVEVO
REVFO0NVVFlQRT1JTkRJVklEVUFMO1JPTEU9UkVRLVBBUlRJQ0lQQU5UO1BBUlRTVEFUPU5F
RURTLUFDVElPTjtSU1ZQPQ0KIFRSVUU7Q049Ym9iYnkuZXNobGVtYW5AZ21haWwuY29tO1gt
TlVNLUdVRVNUUz0wOm1haWx0bzpib2JieS5lc2hsZW1hbkBnbWFpbA0KIC5jb20NCkFUVEVO
REVFO0NVVFlQRT1JTkRJVklEVUFMO1JPTEU9UkVRLVBBUlRJQ0lQQU5UO1BBUlRTVEFUPU5F
RURTLUFDVElPTjtSU1ZQPQ0KIFRSVUU7Q049YXJ0ZW1fbXlnYWlldkBlcGFtLmNvbTtYLU5V
TS1HVUVTVFM9MDptYWlsdG86YXJ0ZW1fbXlnYWlldkBlcGFtLmNvbQ0KQVRURU5ERUU7Q1VU
WVBFPUlORElWSURVQUw7Uk9MRT1SRVEtUEFSVElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNU
SU9OO1JTVlA9DQogVFJVRTtDTj1wZXJzYXVyQGdtYWlsLmNvbTtYLU5VTS1HVUVTVFM9MDpt
YWlsdG86cGVyc2F1ckBnbWFpbC5jb20NCkFUVEVOREVFO0NVVFlQRT1JTkRJVklEVUFMO1JP
TEU9UkVRLVBBUlRJQ0lQQU5UO1BBUlRTVEFUPU5FRURTLUFDVElPTjtSU1ZQPQ0KIFRSVUU7
Q049Y2hyaXN0b3BoZXIudy5jbGFya0BnbWFpbC5jb207WC1OVU0tR1VFU1RTPTA6bWFpbHRv
OmNocmlzdG9waGVyLncuYw0KIGxhcmtAZ21haWwuY29tDQpBVFRFTkRFRTtDVVRZUEU9SU5E
SVZJRFVBTDtST0xFPVJFUS1QQVJUSUNJUEFOVDtQQVJUU1RBVD1ORUVEUy1BQ1RJT047UlNW
UD0NCiBUUlVFO0NOPWJlbkBleG90YW5pdW0uaW87WC1OVU0tR1VFU1RTPTA6bWFpbHRvOmJl
bkBleG90YW5pdW0uaW8NCkFUVEVOREVFO0NVVFlQRT1JTkRJVklEVUFMO1JPTEU9UkVRLVBB
UlRJQ0lQQU5UO1BBUlRTVEFUPU5FRURTLUFDVElPTjtSU1ZQPQ0KIFRSVUU7Q049cGlvdHIu
a3JvbEAzbWRlYi5jb207WC1OVU0tR1VFU1RTPTA6bWFpbHRvOnBpb3RyLmtyb2xAM21kZWIu
Y29tDQpBVFRFTkRFRTtDVVRZUEU9SU5ESVZJRFVBTDtST0xFPVJFUS1QQVJUSUNJUEFOVDtQ
QVJUU1RBVD1ORUVEUy1BQ1RJT047UlNWUD0NCiBUUlVFO0NOPWpvaG4uamlAaW50ZWwuY29t
O1gtTlVNLUdVRVNUUz0wOm1haWx0bzpqb2huLmppQGludGVsLmNvbQ0KQVRURU5ERUU7Q1VU
WVBFPUlORElWSURVQUw7Uk9MRT1SRVEtUEFSVElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNU
SU9OO1JTVlA9DQogVFJVRTtDTj1icmVuZGFuazMxMEBnbWFpbC5jb207WC1OVU0tR1VFU1RT
PTA6bWFpbHRvOmJyZW5kYW5rMzEwQGdtYWlsLmNvbQ0KQVRURU5ERUU7Q1VUWVBFPUlORElW
SURVQUw7Uk9MRT1SRVEtUEFSVElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JTVlA9
DQogVFJVRTtDTj1hc2guai53aWxkaW5nQGdtYWlsLmNvbTtYLU5VTS1HVUVTVFM9MDptYWls
dG86YXNoLmoud2lsZGluZ0BnbWFpbC5jDQogb20NCkFUVEVOREVFO0NVVFlQRT1JTkRJVklE
VUFMO1JPTEU9UkVRLVBBUlRJQ0lQQU5UO1BBUlRTVEFUPU5FRURTLUFDVElPTjtSU1ZQPQ0K
IFRSVUU7Q049Y2FyZG9lQGNhcmRvZS5jb207WC1OVU0tR1VFU1RTPTA6bWFpbHRvOmNhcmRv
ZUBjYXJkb2UuY29tDQpBVFRFTkRFRTtDVVRZUEU9SU5ESVZJRFVBTDtST0xFPVJFUS1QQVJU
SUNJUEFOVDtQQVJUU1RBVD1ORUVEUy1BQ1RJT047UlNWUD0NCiBUUlVFO0NOPXZhcmFkZ2F1
dGFtQGdtYWlsLmNvbTtYLU5VTS1HVUVTVFM9MDptYWlsdG86dmFyYWRnYXV0YW1AZ21haWwu
Y29tDQpBVFRFTkRFRTtDVVRZUEU9SU5ESVZJRFVBTDtST0xFPVJFUS1QQVJUSUNJUEFOVDtQ
QVJUU1RBVD1ORUVEUy1BQ1RJT047UlNWUD0NCiBUUlVFO0NOPXRhbWFzLmsubGVuZ3llbEBn
bWFpbC5jb207WC1OVU0tR1VFU1RTPTA6bWFpbHRvOnRhbWFzLmsubGVuZ3llbEBnbWENCiBp
bC5jb20NCkFUVEVOREVFO0NVVFlQRT1JTkRJVklEVUFMO1JPTEU9UkVRLVBBUlRJQ0lQQU5U
O1BBUlRTVEFUPU5FRURTLUFDVElPTjtSU1ZQPQ0KIFRSVUU7Q049dm9sb2R5bXlyX2JhYmNo
dWtAZXBhbS5jb207WC1OVU0tR1VFU1RTPTA6bWFpbHRvOnZvbG9keW15cl9iYWJjaHVrQA0K
IGVwYW0uY29tDQpBVFRFTkRFRTtDVVRZUEU9SU5ESVZJRFVBTDtST0xFPVJFUS1QQVJUSUNJ
UEFOVDtQQVJUU1RBVD1ORUVEUy1BQ1RJT047UlNWUD0NCiBUUlVFO0NOPWphcnZpcy5yb2Fj
aEBkb3JuZXJ3b3Jrcy5jb207WC1OVU0tR1VFU1RTPTA6bWFpbHRvOmphcnZpcy5yb2FjaEBk
b3INCiBuZXJ3b3Jrcy5jb20NCkFUVEVOREVFO0NVVFlQRT1JTkRJVklEVUFMO1JPTEU9UkVR
LVBBUlRJQ0lQQU5UO1BBUlRTVEFUPU5FRURTLUFDVElPTjtSU1ZQPQ0KIFRSVUU7Q049bWF0
dC5zcGVuY2VyQGFybS5jb207WC1OVU0tR1VFU1RTPTA6bWFpbHRvOm1hdHQuc3BlbmNlckBh
cm0uY29tDQpBVFRFTkRFRTtDVVRZUEU9SU5ESVZJRFVBTDtST0xFPVJFUS1QQVJUSUNJUEFO
VDtQQVJUU1RBVD1ORUVEUy1BQ1RJT047UlNWUD0NCiBUUlVFO0NOPW9saXZpZXIubGFtYmVy
dEB2YXRlcy5mcjtYLU5VTS1HVUVTVFM9MDptYWlsdG86b2xpdmllci5sYW1iZXJ0QHZhdGUN
CiBzLmZyDQpBVFRFTkRFRTtDVVRZUEU9SU5ESVZJRFVBTDtST0xFPVJFUS1QQVJUSUNJUEFO
VDtQQVJUU1RBVD1ORUVEUy1BQ1RJT047UlNWUD0NCiBUUlVFO0NOPW9sZWtzYW5kcl90eXNo
Y2hlbmtvQGVwYW0uY29tO1gtTlVNLUdVRVNUUz0wOm1haWx0bzpvbGVrc2FuZHJfdHlzaGMN
CiBoZW5rb0BlcGFtLmNvbQ0KQVRURU5ERUU7Q1VUWVBFPUlORElWSURVQUw7Uk9MRT1SRVEt
UEFSVElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JTVlA9DQogVFJVRTtDTj1pYW4u
amFja3NvbkBjaXRyaXguY29tO1gtTlVNLUdVRVNUUz0wOm1haWx0bzppYW4uamFja3NvbkBj
aXRyaXguY29tDQpBVFRFTkRFRTtDVVRZUEU9SU5ESVZJRFVBTDtST0xFPVJFUS1QQVJUSUNJ
UEFOVDtQQVJUU1RBVD1ORUVEUy1BQ1RJT047UlNWUD0NCiBUUlVFO0NOPWluc3VyZ29Acmlz
ZXVwLm5ldDtYLU5VTS1HVUVTVFM9MDptYWlsdG86aW5zdXJnb0ByaXNldXAubmV0DQpBVFRF
TkRFRTtDVVRZUEU9SU5ESVZJRFVBTDtST0xFPVJFUS1QQVJUSUNJUEFOVDtQQVJUU1RBVD1O
RUVEUy1BQ1RJT047UlNWUD0NCiBUUlVFO0NOPXJvYi50b3dubGV5QGdtYWlsLmNvbTtYLU5V
TS1HVUVTVFM9MDptYWlsdG86cm9iLnRvd25sZXlAZ21haWwuY29tDQpBVFRFTkRFRTtDVVRZ
UEU9SU5ESVZJRFVBTDtST0xFPVJFUS1QQVJUSUNJUEFOVDtQQVJUU1RBVD1ORUVEUy1BQ1RJ
T047UlNWUD0NCiBUUlVFO0NOPWp1bGllbi5ncmFsbC5vc3NAZ21haWwuY29tO1gtTlVNLUdV
RVNUUz0wOm1haWx0bzpqdWxpZW4uZ3JhbGwub3NzQGcNCiBtYWlsLmNvbQ0KQVRURU5ERUU7
Q1VUWVBFPUlORElWSURVQUw7Uk9MRT1SRVEtUEFSVElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMt
QUNUSU9OO1JTVlA9DQogVFJVRTtDTj1kd213QGFtYXpvbi5jby51aztYLU5VTS1HVUVTVFM9
MDptYWlsdG86ZHdtd0BhbWF6b24uY28udWsNCkFUVEVOREVFO0NVVFlQRT1JTkRJVklEVUFM
O1JPTEU9UkVRLVBBUlRJQ0lQQU5UO1BBUlRTVEFUPU5FRURTLUFDVElPTjtSU1ZQPQ0KIFRS
VUU7Q049cm9nZXIucGF1QGNpdHJpeC5jb207WC1OVU0tR1VFU1RTPTA6bWFpbHRvOnJvZ2Vy
LnBhdUBjaXRyaXguY29tDQpBVFRFTkRFRTtDVVRZUEU9SU5ESVZJRFVBTDtST0xFPVJFUS1Q
QVJUSUNJUEFOVDtQQVJUU1RBVD1ORUVEUy1BQ1RJT047UlNWUD0NCiBUUlVFO0NOPWp1bGll
bkB4ZW4ub3JnO1gtTlVNLUdVRVNUUz0wOm1haWx0bzpqdWxpZW5AeGVuLm9yZw0KQVRURU5E
RUU7Q1VUWVBFPUlORElWSURVQUw7Uk9MRT1SRVEtUEFSVElDSVBBTlQ7UEFSVFNUQVQ9TkVF
RFMtQUNUSU9OO1JTVlA9DQogVFJVRTtDTj1icmlhbi53b29kc0B4aWxpbnguY29tO1gtTlVN
LUdVRVNUUz0wOm1haWx0bzpicmlhbi53b29kc0B4aWxpbnguY29tDQpBVFRFTkRFRTtDVVRZ
UEU9SU5ESVZJRFVBTDtST0xFPVJFUS1QQVJUSUNJUEFOVDtQQVJUU1RBVD1ORUVEUy1BQ1RJ
T047UlNWUD0NCiBUUlVFO0NOPWFtaXRAaW5mcmFkZWFkLm9yZztYLU5VTS1HVUVTVFM9MDpt
YWlsdG86YW1pdEBpbmZyYWRlYWQub3JnDQpBVFRFTkRFRTtDVVRZUEU9SU5ESVZJRFVBTDtS
T0xFPVJFUS1QQVJUSUNJUEFOVDtQQVJUU1RBVD1ORUVEUy1BQ1RJT047UlNWUD0NCiBUUlVF
O0NOPXNlcmdleS5keWFzbGlAY2l0cml4LmNvbTtYLU5VTS1HVUVTVFM9MDptYWlsdG86c2Vy
Z2V5LmR5YXNsaUBjaXRyaXgNCiAuY29tDQpBVFRFTkRFRTtDVVRZUEU9SU5ESVZJRFVBTDtS
T0xFPVJFUS1QQVJUSUNJUEFOVDtQQVJUU1RBVD1ORUVEUy1BQ1RJT047UlNWUD0NCiBUUlVF
O0NOPWRlZXB0aGkubUBsdHRzLmNvbTtYLU5VTS1HVUVTVFM9MDptYWlsdG86ZGVlcHRoaS5t
QGx0dHMuY29tDQpBVFRFTkRFRTtDVVRZUEU9SU5ESVZJRFVBTDtST0xFPVJFUS1QQVJUSUNJ
UEFOVDtQQVJUU1RBVD1ORUVEUy1BQ1RJT047UlNWUD0NCiBUUlVFO0NOPWFuZHJldy5jb29w
ZXIzQGNpdHJpeC5jb207WC1OVU0tR1VFU1RTPTA6bWFpbHRvOmFuZHJldy5jb29wZXIzQGNp
dHINCiBpeC5jb20NCkFUVEVOREVFO0NVVFlQRT1JTkRJVklEVUFMO1JPTEU9UkVRLVBBUlRJ
Q0lQQU5UO1BBUlRTVEFUPU5FRURTLUFDVElPTjtSU1ZQPQ0KIFRSVUU7Q049d2xAeGVuLm9y
ZztYLU5VTS1HVUVTVFM9MDptYWlsdG86d2xAeGVuLm9yZw0KQVRURU5ERUU7Q1VUWVBFPUlO
RElWSURVQUw7Uk9MRT1SRVEtUEFSVElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JT
VlA9DQogVFJVRTtDTj1qZ3Jvc3NAc3VzZS5jb207WC1OVU0tR1VFU1RTPTA6bWFpbHRvOmpn
cm9zc0BzdXNlLmNvbQ0KQVRURU5ERUU7Q1VUWVBFPUlORElWSURVQUw7Uk9MRT1SRVEtUEFS
VElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JTVlA9DQogVFJVRTtDTj1kYW5pZWwu
a2lwZXJAb3JhY2xlLmNvbTtYLU5VTS1HVUVTVFM9MDptYWlsdG86ZGFuaWVsLmtpcGVyQG9y
YWNsZS5jDQogb20NCkFUVEVOREVFO0NVVFlQRT1JTkRJVklEVUFMO1JPTEU9UkVRLVBBUlRJ
Q0lQQU5UO1BBUlRTVEFUPU5FRURTLUFDVElPTjtSU1ZQPQ0KIFRSVUU7Q049c3N0YWJlbGxp
bmlAa2VybmVsLm9yZztYLU5VTS1HVUVTVFM9MDptYWlsdG86c3N0YWJlbGxpbmlAa2VybmVs
Lm9yZw0KQVRURU5ERUU7Q1VUWVBFPUlORElWSURVQUw7Uk9MRT1SRVEtUEFSVElDSVBBTlQ7
UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JTVlA9DQogVFJVRTtDTj1kcHNtaXRoQGFwZXJ0dXNz
b2x1dGlvbnMuY29tO1gtTlVNLUdVRVNUUz0wOm1haWx0bzpkcHNtaXRoQGFwZXJ0dXNzDQog
b2x1dGlvbnMuY29tDQpBVFRFTkRFRTtDVVRZUEU9SU5ESVZJRFVBTDtST0xFPVJFUS1QQVJU
SUNJUEFOVDtQQVJUU1RBVD1ORUVEUy1BQ1RJT047UlNWUD0NCiBUUlVFO0NOPXBkdXJyYW50
QGFtYXpvbi5jb207WC1OVU0tR1VFU1RTPTA6bWFpbHRvOnBkdXJyYW50QGFtYXpvbi5jb20N
CkFUVEVOREVFO0NVVFlQRT1JTkRJVklEVUFMO1JPTEU9UkVRLVBBUlRJQ0lQQU5UO1BBUlRT
VEFUPU5FRURTLUFDVElPTjtSU1ZQPQ0KIFRSVUU7Q049ZWRnYXIuaWdsZXNpYXNAeGlsaW54
LmNvbTtYLU5VTS1HVUVTVFM9MDptYWlsdG86ZWRnYXIuaWdsZXNpYXNAeGlsaQ0KIG54LmNv
bQ0KQVRURU5ERUU7Q1VUWVBFPUlORElWSURVQUw7Uk9MRT1SRVEtUEFSVElDSVBBTlQ7UEFS
VFNUQVQ9TkVFRFMtQUNUSU9OO1JTVlA9DQogVFJVRTtDTj1qZWZmLmt1YmFzY2lrQGRvcm5l
cndvcmtzLmNvbTtYLU5VTS1HVUVTVFM9MDptYWlsdG86amVmZi5rdWJhc2Npa0BkDQogb3Ju
ZXJ3b3Jrcy5jb20NCkFUVEVOREVFO0NVVFlQRT1JTkRJVklEVUFMO1JPTEU9UkVRLVBBUlRJ
Q0lQQU5UO1BBUlRTVEFUPU5FRURTLUFDVElPTjtSU1ZQPQ0KIFRSVUU7Q049IkR1cnJhbnQs
IFBhdWwiO1gtTlVNLUdVRVNUUz0wOm1haWx0bzpwZHVycmFudEBhbWF6b24uY28udWsNClgt
TUlDUk9TT0ZULUNETy1PV05FUkFQUFRJRDotMTY5MjI5OTI4Mw0KUkVDVVJSRU5DRS1JRDtU
WklEPUFtZXJpY2EvTmV3X1lvcms6MjAyMjAxMDRUMTEwMDAwDQpDUkVBVEVEOjIwMjEwNzMw
VDE0MDkxMVoNCkRFU0NSSVBUSU9OOj09IERpYWwtaW4gSW5mb3JtYXRpb24gPT08YnI+IyMg
TWVldGluZyB0aW1lPGJyPjE2OjAwIC0gMTc6MDAgVQ0KIFRDPGJyPkZ1cnRoZXIgSW50ZXJu
YXRpb25hbCBtZWV0aW5nIHRpbWVzOiZuYnNwXDs8YSBocmVmPSJodHRwczovL3d3dy50aW1l
YQ0KIG5kZGF0ZS5jb20vd29ybGRjbG9jay9tZWV0aW5nZGV0YWlscy5odG1sP3llYXI9MjAy
MSZtb250aD0wNyZkYXk9OCZob3VyPTE1Jg0KIG1pbj0wJnNlYz0wJnAxPTEyMzQmcDI9Mzcm
cDM9MjI0JnA0PTE3OSIgaWQ9Im93MjY2NCIgX19pc19vd25lcj0idHJ1ZSI+aHR0cA0KIHM6
Ly93d3cudGltZWFuZGRhdGUuY29tL3dvPHU+PC91PnJsZGNsb2NrL21lZXRpbmdkZXRhaWxz
Lmh0bWw/PHU+PC91PnllYXI9Mg0KIDAyMSZhbXBcO21vbnRoPTA3JmFtcFw7ZGF5PTgmYW1w
XDtob3VyPTx1PjwvdT4xNSZhbXBcO21pbj0wJmFtcFw7c2VjPTAmYW1wXA0KIDtwMT0xMjM0
JmFtcFw7cDI9MzcmYW1wXDs8dT48L3U+cDM9MjI0JmFtcFw7cDQ9MTc5PC9hPjxicj48YnI+
PGJyPiMjIERpYWwgaQ0KIG4gZGV0YWlsczxicj5XZWI6Jm5ic3BcOzxhIGhyZWY9Imh0dHBz
Oi8vbWVldC5qaXQuc2kvWGVuUHJvamVjdENvbW11bml0eUNhbA0KIGwiPmh0dHBzOi8vbWVl
dC5qaXQuc2kvWGVuUHJvamVjdDx1PjwvdT5Db21tdW5pdHlDYWxsPC9hPjxicj48YnI+RGlh
bC1pbiBpbg0KIGZvIGFuZCBwaW4gY2FuIGJlIGZvdW5kIGhlcmU6PGJyPjxicj48YSBocmVm
PSJodHRwczovL21lZXQuaml0LnNpL3N0YXRpYy9kaQ0KIGFsSW5JbmZvLmh0bWw/cm9vbT1Y
ZW5Qcm9qZWN0Q29tbXVuaXR5Q2FsbCI+aHR0cHM6Ly9tZWV0LmppdC5zaS9zdGF0aWMvZGlh
PA0KIHU+PC91PmxJbkluZm8uaHRtbD9yb29tPVhlblByb2plY3RDbzx1PjwvdT5tbXVuaXR5
Q2FsbDwvYT5cblxuLTo6fjp+Ojp+On46fg0KIDp+On46fjp+On46fjp+On46fjp+On46fjp+
On46fjp+On46fjp+On46fjp+On46fjp+On46fjp+On46fjp+On46fjo6fjp+OjotXA0KIG5E
byBub3QgZWRpdCB0aGlzIHNlY3Rpb24gb2YgdGhlIGRlc2NyaXB0aW9uLlxuXG5WaWV3IHlv
dXIgZXZlbnQgYXQgaHR0cHM6Lw0KIC9jYWxlbmRhci5nb29nbGUuY29tL2NhbGVuZGFyL2V2
ZW50P2FjdGlvbj1WSUVXJmVpZD1OSEIwWm5CallYWmpNalp6YkcxbE1XOQ0KIGpiRFJpTjI4
Mk1qQmZNakF5TWpBeE1EUlVNVFl3TURBd1dpQnFkV3hwWlc1QWVHVnVMbTl5WncmdG9rPU1q
WWpZWGRsYkhSNlFHeA0KIHBiblY0Wm05MWJtUmhkR2x2Ymk1dmNtYzVaRFkyTWpNeU1XVTVO
akJrTlRWak9UQXpNekUyTkRjeVpEazBOelV5TVRVeE9EQmlORw0KIEk0JmN0ej1BbWVyaWNh
JTJGTmV3X1lvcmsmaGw9ZW4mZXM9MC5cbi06On46fjo6fjp+On46fjp+On46fjp+On46fjp+
On46fjp+Og0KIH46fjp+On46fjp+On46fjp+On46fjp+On46fjp+On46fjp+On46fjp+On46
On46fjo6LQ0KTEFTVC1NT0RJRklFRDoyMDIxMTIxNlQxODMwMjhaDQpMT0NBVElPTjpodHRw
czovL21lZXQuaml0LnNpL1hlblByb2plY3RDb21tdW5pdHlDYWxsDQpTRVFVRU5DRToxDQpT
VEFUVVM6Q09ORklSTUVEDQpTVU1NQVJZOlhlbiBDb21tdW5pdHkgQ2FsbA0KVFJBTlNQOk9Q
QVFVRQ0KRU5EOlZFVkVOVA0KRU5EOlZDQUxFTkRBUg0K

--------------29gWv1LCAZoh30GkwvVnWaT1--


From xen-devel-bounces@lists.xenproject.org Tue Jan 04 13:36:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 13:36:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253259.434328 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4jyy-0008Fy-Px; Tue, 04 Jan 2022 13:36:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253259.434328; Tue, 04 Jan 2022 13:36:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4jyy-0008Fr-Mc; Tue, 04 Jan 2022 13:36:08 +0000
Received: by outflank-mailman (input) for mailman id 253259;
 Tue, 04 Jan 2022 13:36:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+k5u=RU=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n4jyx-0008Fl-BY
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 13:36:07 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 414cc93e-6d63-11ec-9ce5-af14b9085ebd;
 Tue, 04 Jan 2022 14:36:00 +0100 (CET)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2050.outbound.protection.outlook.com [104.47.0.50]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-7-2pbi_h5VP2aqkNJ7pEI8kw-2; Tue, 04 Jan 2022 14:35:59 +0100
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.4844.16; Tue, 4 Jan
 2022 13:35:57 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.016; Tue, 4 Jan 2022
 13:35: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: 414cc93e-6d63-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641303360;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=3EG6iLztMzCQAvn75LltMc4vHGKHiooMr3SJUqaNMj0=;
	b=Bi60tSsUseo5JomS3s0pUU1Ns5XWJtwlhI4HP2PecURfSF0Z2Yjq058UhPFrepdWobqfvW
	P9vHuqQjZJ8h+s9akJZcpzQ3Ca+MEY3VdmMdFtUKEtFas0HgzgJ0X9n4xoNb7GHeseQd6k
	6EWtAmXkzAsO4+xxWokPQzzwNeYs99I=
X-MC-Unique: 2pbi_h5VP2aqkNJ7pEI8kw-2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Pq9N9RpdBsp6UTKh+5C/063W+uVRy9B9gjtDkDQ2QRjPklVFXiofGQ+WhQxOO1Ok/siGtQoHPHE7kjYNUG32xG1YoHYUO/hmMfTvipexax1qNrFeafYABygTw3zZqUWQ2hNy2tms8sL1aufF0oYDqOrw22Dh3DcM2htE9EPGJtUSZxe/j2A4gYQj4Az4nHlhybDgOfV8p4oLgPubc/EuPrVcnJuABzgZS7OJ1wWNbdaMnnr/GAjuYMeE5GGzrErrPXGiTm+Nehc8Ph/WFZL//BFIycKM9kXWqIllCwaugqZcKcmZY9i6E3DxE5jtwa/+NaiPEGLs2FlcEFjZIyaspQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3EG6iLztMzCQAvn75LltMc4vHGKHiooMr3SJUqaNMj0=;
 b=WB237NiTASjoalyk8+2GNIJtlQ9Ykg7bWn4PRYZRq7HahLk4Y6Uty7duk+cOtolilvLjF0fTo7FwLgbZKJRlts29pYzZCv9r9105duN/P4SgRN9Ev03KzH2YZUopMfu8cpNf1k6i7VRN/K43v8Sy/S1Cgudz1CrxwYEaZv+XLrucW62zH6whNB1Z+uGdcCuaH2pjbOgg/5212IA9FZ5ojQdCf4mtr17SgBoL3Hs07TVbZ4Nq6cHn52MVAZIbYfWyL7mtxRFOHVw3ymQeHwluXr3s5hA3Ms6sXbOmOXsSlbPdmi14AsltmlhkVdJzDlW1xgSs1PLYbWgdWWYQsufYWg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ae71c131-ccc3-cb56-8b19-e1b26074a695@suse.com>
Date: Tue, 4 Jan 2022 14:35:55 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: Fwd: Updated invitation with note: Xen Community Call @ Tue Jan
 11, 2022 11am - 12pm (EST) (julien@xen.org)
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Ashley Weltz <aweltz@linuxfoundation.org>,
 George Dunlap <george.dunlap@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <0000000000000dc59605d3479e02@google.com>
 <6b9e5cfb-c637-5050-7654-47f3cc74da6d@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <6b9e5cfb-c637-5050-7654-47f3cc74da6d@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR04CA0159.eurprd04.prod.outlook.com
 (2603:10a6:20b:331::14) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 744c4142-3175-4006-3f35-08d9cf872397
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3936:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB393665DBC0C83C48109B8BDAB34A9@VI1PR0402MB3936.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:
	okyf/0BvP4STuEVTNSwf+owXBrfh6OBA/NLFyex7BWqHu81Jt00ShGPf5rRdh1xLia2gQ2KdRGEarbEqVQIRcOc+o0jqI8Q3rUyItVzBjeXMCZTExuknRRXHA9YU61UnPLPBk1z+d2EhlVTeB5sEYaIWOTlEc789Zxa0oCg5tggC+LWXKbKVorsIKnfHW8OBPS6bbqwBHLQDAFM6xXyvc7C5XP/6GE+Xir9joYoznLYt3sAM1Rr8yoTRe18EMfEaDz9Nm3R/1wIzR+vK0Xsm8CxHOhZAl3I7MteDw1krrkP4q21ndW2PXT1bYQ7QlHF38pyEqgq4+05I0t4TlG80ffcdarc5SrcsIRcXQ/vkhJ5nCG2oLxmLqKPqavwxTHaMTph0lnYWkrfwb1XDvU+lg8Wn1SRoTKSLEjlSF7ID/N1YowYBBduyPGUbivinjNzhgXlhAgOxNXMGn1SMwbgGJfssxnvnnYOYoBYWhCJ/P3TmSUua8WStG7vG17RrQnHtuSqcQUmSxEd4/5feynM0KHQHjsCZ0WJXOzMTOOcxJk8dwUSUg/5yIvinrxkub7/9Lkj8wzvlDpbkvf+DJN6T7ByixBTdvsUt5FcLkqG80PyasMa7Oir7v2XgEDGHoXBVWXKWKHrDEa5rA+Qj6IiguZzufaLyFOJLNJ/ctQCNNJKSopLrCvk9qF8ML0PPG2w29xC32mMX+kt5C7my+bLAxG8Y1/eXWWZ0rzySgx1bCnQ=
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)(2616005)(6506007)(6916009)(31686004)(26005)(2906002)(5660300002)(558084003)(86362001)(38100700002)(508600001)(66946007)(66556008)(6486002)(4326008)(8676002)(66476007)(31696002)(36756003)(316002)(8936002)(6512007)(54906003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dHRnRHEvSlBCKy8yWXM5VXpXNjliN21ha2NlVWNmM0pwTTQ1NVBpaU81MVJa?=
 =?utf-8?B?ZllncmVvUzE0VHl0T1Q5ZGl0Kzh3eVBSazQ2UjFLb21xWnZMeGtiVk1YWFU4?=
 =?utf-8?B?UFpiTVFLQkVTR1A2R2ZlL2E0b3dya2tUanpGakVaMEtPL0R6cTFBZzYyN3N1?=
 =?utf-8?B?di9KK1V1MnZPN21leEozQnhKbmFvbDVDMW1LOEVPcjRaSldNcC85ZFhYWmJX?=
 =?utf-8?B?aE8xcUdUbnVhaGlCNVU3VDhHOGFNQWtNejd2OW5DbHFmS1Y1azFGZkhTVEpN?=
 =?utf-8?B?UGdKcERvd1BlV1o0b3liZWpvSjgzTE1zMzZJcW9zQWlTOUR2WDdINlkzVFVk?=
 =?utf-8?B?TUZOakJlSGtHeW1Jcnkwa1NadklOc01KanEzQlI3Y0h3LzdyZ1ZEMkRoa1g1?=
 =?utf-8?B?QnNZc0MvU1BEWUtiR250ME43WTNCS3NTUmdlNmtJbCtaMkhzYWIyeE9KMGcr?=
 =?utf-8?B?S3hEOUdZMXllamVBbHZaR1k0dWNSMlp4MzU1Uk5STnRGQlluSnVSRFJPZzlD?=
 =?utf-8?B?MFdEVTQ5K0tSS2h3UTgrbW9IZ1VPSXdhczJ3bVlGZE43ZnhVSXhhdVVEVGxT?=
 =?utf-8?B?U0kvL2RFQUtFUmhGNEtaZHZHUjVxOE1XQzg2Y0RGTkJpSjRpT2ZGeU10VHhW?=
 =?utf-8?B?M2thTWt5QWZnQnk3VTFqSnBucmhycEhPczNjMmJDTHFJbllPdUd3T3B3dzZi?=
 =?utf-8?B?TFpVaE9PNW1wRlJHanFqWWR4UE10YkMrSlNENU8xanE0c2R5bm9RRmp4N2tE?=
 =?utf-8?B?b3o3bnF4OTRtcFZNR0RTUjdrRFhFdWxYR0FsN1EycjlTb2VWQUQrNTBmRGp5?=
 =?utf-8?B?eHFtcFozMDVHM21WdU11azJLOVRVM25jS2hxeThTNVc2TVBJbnFFQnJIZ1A1?=
 =?utf-8?B?YWI3dXFUZVNnbGJmMkR2NURIL0pxUUxHc0VGejQ4MVNRVEhOS0xuVGphRzRi?=
 =?utf-8?B?N0FGOUtHLzdMUmZoaVNlRXhocThla1U3MllRTmVDNWFubEdueWx5ZnB2Z1pa?=
 =?utf-8?B?L1lsUStNeWVhQTQrUC9rQlV6WmtNNXoxNzhFUENFZTFreHJPaEJLcDRBeml4?=
 =?utf-8?B?ZC9IbFdEZXZhaUdtS0Ezb2dnTlB0Sm0xY1Yzc3JvbDQzNWpzOGlaQXFnSWRG?=
 =?utf-8?B?dkJNWlcwVGp0dTBBOXNGSVBoaFJKcXlDbEg3UGNKaWZMa1liNTdkMUd2aTJx?=
 =?utf-8?B?R1liM01VaGx5NUlTbEwydU85OUhkOGhjU2hpM0UvTnoxR0FUU2NVVlJTQUdS?=
 =?utf-8?B?WVE4YVIxTDdXYjBodmNKbWowNU5ESW5Vbmt0czRudUgzYWlDWWs2NHZCa3Q3?=
 =?utf-8?B?UEhldkNXUGhNNGNVaTlUR3RKc2srdUFQZTRRZytPTmc3RS9SK25kNVNyTytn?=
 =?utf-8?B?eFZXSHpsLzh1OHJGNHI2QURnRW50akk3UmE1WEJIYS9GWUgyU1I1UFZRcmtz?=
 =?utf-8?B?dDB4aEFjc2FlSjg4V2d3S3BzYTQvbTlTRmpnOERvVUN4Z05kRllqa1pVK2gw?=
 =?utf-8?B?Zll6SHJaeUt0S2hGa1RKSWcwV0dVVktCeXVFTHRjQTl6YWp5Sks2MDdtMGRC?=
 =?utf-8?B?ZlVIS1dXemErRzdJYWhEK0N2VzFzQUJpR1BwMENtTnI0UVVIQ2Ntakk2b2xQ?=
 =?utf-8?B?VG9XTFlKd1JQeHkybzMwOHMzSHVnWE93dGxKeGZDcWUwbTdLSnBmejBXa0x4?=
 =?utf-8?B?ajlJMEl5MDdtMGROcDYvanZEQVdyU2hMTWwweEpYTkpQR25la05xeXZ1WmlS?=
 =?utf-8?B?SFAxQ2dWdUtoN0YwYTkzaFd2ZmQ2QjduRGxOV1doeVd3dUh4cG1rUENqTk1o?=
 =?utf-8?B?NDlSREZPSVpRWGFQOW1NSCtEQm4vcDE1bUVaWGV2LzZiUG9Ga0ZyU0t0SGts?=
 =?utf-8?B?QWdobnhpdkNKd2hmUyt4blRrdDVRSUIyL1VhcVhFeGlkdzdDRHdNeGdldTRX?=
 =?utf-8?B?WmgzZmlSWTZRNlZ0RlAvUU5GdUEyd3pPOWJSUmp0K1VLMjJJQnlZdklIM3BX?=
 =?utf-8?B?UWVnSmRTSHpvTGFWcDdQZnpxNy9ZYUg3L3VPeHNnTzkvVUZ3S243QWZZc2RT?=
 =?utf-8?B?cXNGQkhHVndORzVscjZheGRQSWM3bkw5KzByVVA0VkVYd29GZHN1Ui9PS2ZV?=
 =?utf-8?B?OTBBYUtvd3R6eFI0UWx6ZmpkdXlvck5KakFsWjh3ZTRLZDVoVndod09ZREhi?=
 =?utf-8?Q?Q05aoPlIcQfuwDbiL2takLY=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 744c4142-3175-4006-3f35-08d9cf872397
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2022 13:35:57.6983
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rJy9ftIEZAPvzhK88z23lE/Nl0jE17YvEzFa6L8oti8uVNVzPDxaJXB6hoUZNs/coEhvPGr42kRTjwZPADjwyA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3936

On 04.01.2022 14:31, Julien Grall wrote:
> Sending the e-mail to xen-devel as well. The community call has been 
> moved to the 11th January, 4pm BST.

FAOD I assume you mean GMT / UTC, not BST?

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 04 13:37:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 13:37:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253261.434339 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4jzp-0000ON-2z; Tue, 04 Jan 2022 13:37:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253261.434339; Tue, 04 Jan 2022 13:37:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4jzp-0000OG-02; Tue, 04 Jan 2022 13:37:01 +0000
Received: by outflank-mailman (input) for mailman id 253261;
 Tue, 04 Jan 2022 13:36: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 1n4jzn-0000O6-84
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 13:36: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 1n4jzl-0003ur-J7; Tue, 04 Jan 2022 13:36:57 +0000
Received: from [54.239.6.184] (helo=[192.168.19.28])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1n4jzl-0004Lj-D0; Tue, 04 Jan 2022 13:36:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=aPmthBGP8hYh0Xm1q5ASP8tYqYjpYpB2DqZfkxc+kaU=; b=g2j3ZKtR2DAHXzwblo9EvUdbQt
	CVbxt+bjQFizpwaWFpZGToT4mgUfnvHD/7PcncFW+bTJyk7qnsE3/hIiOYEEc+JP0yOeiUKhCSOJo
	Qdd/OYEK4FdFiAz7FhILCEuvmdJ44CtkSlVWfGj1e4moSz1+TMOZ7KbIrsSf0fqA+ZDE=;
Message-ID: <d372ec68-a660-6392-44f5-c1cb2367294a@xen.org>
Date: Tue, 4 Jan 2022 13:36:55 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.4.1
Subject: Re: Fwd: Updated invitation with note: Xen Community Call @ Tue Jan
 11, 2022 11am - 12pm (EST) (julien@xen.org)
To: Jan Beulich <jbeulich@suse.com>
Cc: Ashley Weltz <aweltz@linuxfoundation.org>,
 George Dunlap <george.dunlap@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <0000000000000dc59605d3479e02@google.com>
 <6b9e5cfb-c637-5050-7654-47f3cc74da6d@xen.org>
 <ae71c131-ccc3-cb56-8b19-e1b26074a695@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <ae71c131-ccc3-cb56-8b19-e1b26074a695@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 04/01/2022 13:35, Jan Beulich wrote:
> On 04.01.2022 14:31, Julien Grall wrote:
>> Sending the e-mail to xen-devel as well. The community call has been
>> moved to the 11th January, 4pm BST.
> 
> FAOD I assume you mean GMT / UTC, not BST?

Oops. Yes I meant GMT/UTC.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Jan 04 14:36:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 14:36:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253268.434350 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4kv4-0006KC-Cu; Tue, 04 Jan 2022 14:36:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253268.434350; Tue, 04 Jan 2022 14: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 1n4kv4-0006K5-9F; Tue, 04 Jan 2022 14:36:10 +0000
Received: by outflank-mailman (input) for mailman id 253268;
 Tue, 04 Jan 2022 14:36:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=c7/n=RU=yahoo.com=hack3rcon@srs-se1.protection.inumbo.net>)
 id 1n4kv3-0006Jz-Eb
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 14:36:09 +0000
Received: from sonic313-13.consmr.mail.bf2.yahoo.com
 (sonic313-13.consmr.mail.bf2.yahoo.com [74.6.133.123])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a401c351-6d6b-11ec-81c0-a30af7de8005;
 Tue, 04 Jan 2022 15:36:03 +0100 (CET)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic313.consmr.mail.bf2.yahoo.com with HTTP; Tue, 4 Jan 2022 14:36:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a401c351-6d6b-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1641306961; bh=ON018EcfDefggBNnDMrJDLszzjgc3CdG+sD6rTwlqTk=; h=Date:From:To:Subject:References:From:Subject:Reply-To; b=OfysqK+UQZpOoRg8wN8tqtPqqf861XYMSPPDVZSKm0w1LY/sbOd9H1N4Gz42dAHTVV9HRf1c+UldYuihELQxIuf3rW53qX5QFFsVZ2SOyUXTmGy4RU7gPbxSWt2CiePBc38+8e+WfWK9BjTZjhAMRt8am4D7br9r/R/kxKFpVGLGgZqr7mLewKIlwwh10tefnn5zKQNYEOPCdSP6KuG2R/31I/Wng3sFCK4qxaPxOvpIXzFdoSkwRwcCcbK7q3QVon7IZ6ED9t0Mr5tSdZ7GsmLn/ap+1vFE6K4TRCuhJ+1MQqIs9Pb2GprtIFAcnxbRed1Szl/lygOuVti3dVSKeA==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1641306961; bh=FLvrny/qxN3aMBUO41CQiUaKd0ZrJ7rzkOZJED0JBat=; h=X-Sonic-MF:Date:From:To:Subject:From:Subject; b=ZcFjIcL01z6jGaDKoW0c4FG4VUotk5kls5pPBSZ/NHx+slZi0xsZvZAozafdSZJzvIk8GSOXiiM1S3FjVtFu515kbceuaiWgDjyH/L8nh+YWlyC7pm+gPTL9cA6lsXIHTbYHcvOUaXBiE5RmwnmcDEZpVoLEEQWl5a4ctCmTZQpe6MJbkFKULQNZVb7EKFGqBGemd9btM5ECO7Yg91FiBaBe+Z5CSKkC5orVma6q1IyJFlZR+S1Qlxs1Q/kIMz9APx/LM2V2uXiwYNvk5hdum4eyahmxIr0yIR88GBE/2S2w+yKk9igwBSd1S62OD5f/XjJZ7yEf7DPjua+a8jLFbw==
X-YMail-OSG: ILDmGdoVM1lmwimEtzWwi72UdeqZnPq7mhEv3IaKleS51cMJJ_l8aM8UbpGFWQy
 rf3EvJT1E7ST0yH7gEiUwk7DyRZkmZ9P2GGZ2W76QCR0goIECuYRR6fyYRXA5b_7mc4R7FRV5gQV
 _PBNW0yAsropEOh6TPtzp.FeqAxDwUUTX5ikOshId.V5Kp6WWkdVxBxExQr4cQ6I.ogsv.c1CD7v
 w_NlKp9NIZINsb6qX99_0bUrkZBwb0ywtUprSeppQ5sWUE3tkRWKpejIubM2FNy_uuDmt8fD43DH
 7eoUEVflp2t.BdauAXpMFtdCAICifbddtLEcSDnt9tcCPVCVgqDOHeLuMUUER9d0xszpEol0.oxJ
 n5JGSsOxdqRyFBd7ZOIixP9qxsHrNWKj1YKfxNy0bRsRuvrM3j.uhKhtlVl.pkevODmqcnFnaKP1
 ly2IGw2DcN3BVS8jqg5kuFSShnk2Y9szYmK9d36WI3m5SCBR50jSLOxN.CsibYSavJqWgDIUj1qh
 UL.WguYSYffSZX_MPIyfZeMtG7v9D_7ls0h8Qzl1i3qChGC8wYwKd6IDJLNFTTMMW0KVnQxf2QJK
 0uylPGNAVmsgZn3yFg9NU5n8Zz7PrB67xy4IDIQgzqbAoF9vnsSoJ6IDkcUZUiJuoEf8Iu9ZK9AY
 CPyFgVIJxDYBDvYi7Oui.7Qfyz8AFqYZLymmmq91Rm__0EVogg9TJtfsH1vqLeQfB9zUvKnBXoc0
 mTatQNpYJuWnyE9NUsNDxERJb64cXuHrVMGHHmeEgzJEFm5XeaZvim2jO.m.Ydxc_ClSx8sgxGVM
 4iL.ksKEtcH5OtuaLu3d8IgC13Ruildbs1SPu5O2LGxmSRuw52Pozh3JPl2bkwe8eVHXdfaxBh5z
 wuGtzUejdmzX4.zQgoP4czzdRSbrXxuvLOMMnC_5BZBsbNBmyOwbqDw3.C6ijXASWo0yhtTYFZ9H
 crqDvEu9dFkmr8djD9iG5gw4OQJPYSnLgl8gp0xIJNOtJ1_AVmxDl83t4WVgaLdiBu3h3_W7f526
 YA7mzIcjzS4M7xLQm2AGjeW.4vUL.DBY_762l2qKy5Np7bCtB1ClMkNXeZ5vE_EF.yfmZFTE3Pnu
 ZGcN9IxCEjSpgQj8CuE8EXsxjjRbO655rTJh0hmSEd665jjind26kETx2vGLnr6.nuTfj.OWkgpz
 bGUIREJabXdoKJpDOimwgAAb7N608Gb3wn2r07.W0Cz8RgjiTj7eYu6kEN2uEJ4nISKHHcnc.HY6
 HprVvZH4LIAWRweeSiJIy8pwkSHoCWSxpFZvDjYt7pgBZh3gT3eosgpAz1VdFX8ynLgM0hEMRmH6
 ly1.Bdo__0d_C442O_Lw3evWDPbgrTjVHhr0Z2rUyZ7nCzxq5uQYWmGeebXBRdfeFZU1ZLAZNGRk
 fkTl.llRzBnHAfg4I2qk0vlZPNaI7AyMGg8o0Fjj2Az8WE5mbvMioAeQVJ5WJypCrSTlvT7d2ZEl
 75rNNjI6vImzuymhNDhvpsqbTHpwTnVrOCqeTXxCZ_SGttqxWENcnoPPjJEZADRKXVMbHiMqTv.9
 DOifdFFhaNcfudvVt4EU9017orD9uV.eWKzvTliryweMdBTFkAgKzB4L3YT8exL6gobJjjHuBOiN
 TGcHvHPySFzXKDhvMCh.Mr8yHC7yzvz6dGzoGw5SH7k4KhSmNTTWgnxlx64SS5H7gY2CYAkZRn3p
 3EkQhqFn86HA.8qrJb7cRCYp_9FbN35nlltLgc9GSoscT52dQjE7wL9dNevYDLuBOdYSl4aJvCvG
 G8YpcR0nSA76GXNfYb4E7ehn0k6JhvExFETB5lGE9gXojV3gkgr69j5bGCvNvHwf.9Hsa9eESU.t
 O7TpWL2dgyTslXE3BcBb8jGIkacAnbcTpwLCZZXJFSxBOSQpnUFmBaE9RkUiie7IZRoexxCWJAe4
 5mRDeMrSTL7dP22Kf8ukP3AEER86KtzQ2OdI_2dTQYfLx7Gj5rAw.oClnFIj2nr78Kkh.9hNCWaV
 1EnsASiK7kwlHWoBjZGAfmttwyC9NcG2cvq8l1NgvfQQ2.VfOYsK4w.80nuXSUWcV8OClweGONOs
 poENkqtyOeRaJUQp.kM.enxpeFsqqUC2ykMxSMSNjPYNAii2gHWShiHjwX0oA6Zm69PcVuQm5sY5
 a1nu_Y4zDKRJ6OrromGgHhTT.NcImC1KB8bKqAT8DaR9p_jgGmSdAynXtwLsMlSliXWwH9BkiLni
 YBQ--
X-Sonic-MF: <hack3rcon@yahoo.com>
Date: Tue, 4 Jan 2022 14:36:02 +0000 (UTC)
From: Jason Long <hack3rcon@yahoo.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Message-ID: <1012347862.912695.1641306962247@mail.yahoo.com>
Subject: Does the Xen hypervisor use the Rust-Lang?
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
References: <1012347862.912695.1641306962247.ref@mail.yahoo.com>
X-Mailer: WebService/1.1.19498 YMailNorrin
Content-Length: 93

Hello,
Does the Xen hypervisor use the Rust-Lang or will use it in the future?


Thank you.


From xen-devel-bounces@lists.xenproject.org Tue Jan 04 14:44:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 14:44:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253296.434379 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4l3E-0000Nv-JS; Tue, 04 Jan 2022 14:44:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253296.434379; Tue, 04 Jan 2022 14: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 1n4l3E-0000No-Fc; Tue, 04 Jan 2022 14:44:36 +0000
Received: by outflank-mailman (input) for mailman id 253296;
 Tue, 04 Jan 2022 14:44:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PsXe=RU=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1n4l3C-0000Ni-U7
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 14:44:34 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d35f7c37-6d6c-11ec-81c0-a30af7de8005;
 Tue, 04 Jan 2022 15:44:33 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d35f7c37-6d6c-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1641307473;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=6TBwiKkzEfQYQBwA/AThtloBxEvEa926wANDQyl1YRE=;
  b=NJBG37gF4n8RUN6LvwCteb4nnmV2xscvpi1jxDF2hF24MExSEsnXzsL3
   wBBNtahEnu1aLIQzhuO7T83DTW9iYyS0ssQEohZsaNqC1wQ2ITk3vLXkh
   DdInTy1HkJK2nMe2y9JJWpL2iYTMOvSwWKwkJUPByVagkAlq2RKsVjWlj
   o=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: IksqEozrCSg5jkxMsAw9Ng+tFZHDQRnNuFTU1EJVNJU8G0LlgSn0Kvb3HrDvhIc+VmcyK3sodQ
 /WAIywRKy9ARlcW7g17nCynK19f5nk6zI5lMjLE/8v/TKq10eJefx3EcQwc8jEdEmxuzBU2o95
 oKX8wh7YKWtyMMDNsEjj9w4hEeZjXu4vVDWH4/JqObdXc6l8XW+PR/9Mw6PKkfGtck/tSS9LbT
 TYKdkTTyf8RNeHKUEQzUSpwxT6mgYUbbosTznAgn3ZvbCEvs5wb6OqXPW++1IZR7r0UzAjGR0I
 OI00oZLBduJ++N4dOERFqN/V
X-SBRS: 5.1
X-MesageID: 61276048
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:+Wz1HK8Mdr07OXqEBfYgDrUDv3mTJUtcMsCJ2f8bNWPcYEJGY0x3y
 mdJXWyCOfzeZmCnftBwbNmz8kxQ65KBx9FqS1BlrXw8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7dh3tYy6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPhR9
 +djqd/hWzsGHajNwKcaDkFzGh5xaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguwKKsXxMZxZkXZn1TzDVt4tQIzZQrWM7thdtNs1rp4XR6mAP
 5ZJAdZpRBn/TwByAEYnNM8ZoqSZrXCmXBJZlk3A8MLb5ECMlVcsgdABKuH9ZdiiVchT2EGCq
 Qru3U70HxUbP9y30iee/zSngeqntTP2XsceGaO18tZugUaP3SoDBRsOT1y5rPKlzEmkVLpix
 1c8o3R06/JorQryE4e7D0bQTGO4UgA0e+ViPfF5uROx5YnR4l7aATVcZTd+Z4lz3CMpfgAC2
 liMltLvIDVgtryJVH6QnoupQSOO1Ts9djFbO3JdJecRy5y6+dxo0EqTJjp2OPPt5uAZDw0c1
 NxjQMIWo7wIxfAG2Kyglbwsq2L9/8OZJuLZC+i+Y45E0u+bTNL0D2BLwQKChRqlEGp+ZgPb1
 EXoY+DEsIgz4WilzURhutklErCz/OqiOzbBm1NpFJRJ323zpyf5Jt0Num0gfx8B3iM4ldjBO
 hS7hO+szMULYCvCgVFfPupd9PjGPYC/TI+4B5g4n/JFY4RrdR/vwc2dTRX44owZq2B1yftXE
 c7CKa6EVC9GYYw6nGveb7pMitcDm3FhrV4/sLimlnxLJ5LFPyXLIVrEWXPTBt0EAFSs/F+Ir
 o0BbpTSkH2ykoTWO0HqzGLaFnhSRVBTOHw8g5U/mjerLlU0FWc/JeXWxL99KYVpk74MzrXD/
 22nW18ew1363CWVJQKPY3FlSbXuQZcg8i5rYX1yZQ6liyo5fIKizKYDbJ9rL7Mpw/NukKxvR
 P4fdsTeXvkWEmbb+y4QZIXWpZB5cEj5nhqHOieoOWBtf5NpSwHT1MXjew/jqHsHAiat7JNsq
 Ly8zALLB5EEQl06XsrRbfuuyXK3vGQcx70uDxeZfIELdRy1ooZwKiH3gvsmGO02KE3OlmmAy
 gKbIRYEvu2R8YU7x8bE2PKfpICzHuogQkcDRzvH7ay7PDXx93a4xdMSS/6BeD3QWT+m+KimY
 ukJnfjwPOdewQRPuot4Vb1q0bg/953koLoDllZoG3DCblKKDLJ8IybZgZkT5/MVnrIJ6xGrX
 k+v+8VBPeTbMczoJ1cdOQ45Y7nRzvoTgDTTsaw4LUiSCPWbJ1ZbvZG+5yWxtRE=
IronPort-HdrOrdr: A9a23:soigNKER3fmr2WUopLqE5MeALOsnbusQ8zAXP0AYc3Jom6uj5q
 eTdZUgpHvJYVkqOE3I9ertBEDiewK4yXcW2/hzAV7KZmCP0wHEEGgL1/qF/9SKIUzDH4Bmup
 uIC5IOauHNMQ==
X-IronPort-AV: E=Sophos;i="5.88,261,1635220800"; 
   d="scan'208";a="61276048"
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: Fix default calculation of opt_srb_lock
Date: Tue, 4 Jan 2022 14:44:22 +0000
Message-ID: <20220104144422.29989-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

Since this logic was introduced, opt_tsx has become more complicated and
shouldn't be compared to 0 directly.  While there are no buggy logic paths,
the correct expression is !(opt_tsx & 1) but the rtm_disabled boolean is
easier and clearer to use.

Fixes: 8fe24090d940 ("x86/cpuid: Rework HLE and RTM handling")
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 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c
index a5569c7f2b3f..c18cc8aa493a 100644
--- a/xen/arch/x86/spec_ctrl.c
+++ b/xen/arch/x86/spec_ctrl.c
@@ -1245,7 +1245,7 @@ void __init init_speculation_mitigations(void)
          */
         if ( opt_srb_lock == -1 &&
              (caps & (ARCH_CAPS_MDS_NO|ARCH_CAPS_TAA_NO)) == ARCH_CAPS_MDS_NO &&
-             (!cpu_has_hle || ((caps & ARCH_CAPS_TSX_CTRL) && opt_tsx == 0)) )
+             (!cpu_has_hle || ((caps & ARCH_CAPS_TSX_CTRL) && rtm_disabled)) )
             opt_srb_lock = 0;
 
         val &= ~MCU_OPT_CTRL_RNGDS_MITG_DIS;
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Tue Jan 04 15:01:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 15:01:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253300.434390 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4lJX-0002j5-1k; Tue, 04 Jan 2022 15:01:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253300.434390; Tue, 04 Jan 2022 15: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 1n4lJW-0002iy-Tv; Tue, 04 Jan 2022 15:01:26 +0000
Received: by outflank-mailman (input) for mailman id 253300;
 Tue, 04 Jan 2022 15:01:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=P9eR=RU=tklengyel.com=tamas@srs-se1.protection.inumbo.net>)
 id 1n4lJV-0002is-CO
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 15:01:25 +0000
Received: from MTA-15-3.privateemail.com (mta-15-3.privateemail.com
 [198.54.122.111]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2e31a5be-6d6f-11ec-9ce5-af14b9085ebd;
 Tue, 04 Jan 2022 16:01:24 +0100 (CET)
Received: from mta-15.privateemail.com (localhost [127.0.0.1])
 by mta-15.privateemail.com (Postfix) with ESMTP id D2A3518000A3
 for <xen-devel@lists.xenproject.org>; Tue,  4 Jan 2022 10:01:21 -0500 (EST)
Received: from mail-yb1-f172.google.com (unknown [10.20.151.144])
 by mta-15.privateemail.com (Postfix) with ESMTPA id AC88218000A0
 for <xen-devel@lists.xenproject.org>; Tue,  4 Jan 2022 10:01:21 -0500 (EST)
Received: by mail-yb1-f172.google.com with SMTP id e202so66112380ybf.4
 for <xen-devel@lists.xenproject.org>; Tue, 04 Jan 2022 07:01:21 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2e31a5be-6d6f-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=tklengyel.com;
	s=default; t=1641308481;
	bh=oc+dNegjHOzXNIBBitdBFqVjgB2jDBF5K8yh7SppOkI=;
	h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
	b=UH/BAoEKKN1Kd18etBpw5mSUyIkzpSLuJAOaQPNLfIiTwcz6OrR404QNi4M2XQBu+
	 4rONHU3RHjQIyBlkrsPwkj5kO4uA67IrXMz+Xd51ChgJg2CRsqcKQVRAJCRQ1wRcRP
	 ub7vWbPjpW+24LqIJ7KERgjFaXB0iE1R2MiFvToMBQn6Mh92RcDxWiUvxR0R2MgRiQ
	 zDPHdzyKdi6hHm/4UEwmDNbsZMT5PeWp9W6tL2kzo145iUaQM1LyFW1rSNeXQayHqf
	 uJplPeAYevWoVYP6+DLLnIUANr+2a76rCX21pCYB+CeC5PrSq+avcmR3i9t+vWtSHY
	 XBmKwotJ+/RvQ==
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=tklengyel.com;
	s=default; t=1641308481;
	bh=oc+dNegjHOzXNIBBitdBFqVjgB2jDBF5K8yh7SppOkI=;
	h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
	b=UH/BAoEKKN1Kd18etBpw5mSUyIkzpSLuJAOaQPNLfIiTwcz6OrR404QNi4M2XQBu+
	 4rONHU3RHjQIyBlkrsPwkj5kO4uA67IrXMz+Xd51ChgJg2CRsqcKQVRAJCRQ1wRcRP
	 ub7vWbPjpW+24LqIJ7KERgjFaXB0iE1R2MiFvToMBQn6Mh92RcDxWiUvxR0R2MgRiQ
	 zDPHdzyKdi6hHm/4UEwmDNbsZMT5PeWp9W6tL2kzo145iUaQM1LyFW1rSNeXQayHqf
	 uJplPeAYevWoVYP6+DLLnIUANr+2a76rCX21pCYB+CeC5PrSq+avcmR3i9t+vWtSHY
	 XBmKwotJ+/RvQ==
X-Gm-Message-State: AOAM53314eEnbMMlywCmwrBUEtrzQdCeBUJuJrus4xXhYQEWXkY/yoqF
	YtHBNnVmsnr40hiWfbYvmzcJCMBkhOP12hS+zp0=
X-Google-Smtp-Source: ABdhPJxMIIP0Z9asmOBjjNcH0pKc2fzcPfVFuru8RojlN5sYmtNNsBa6v9chkcd0zvi3VkwEW4GeY3qG8uz/7/KqdoI=
X-Received: by 2002:a05:6902:1003:: with SMTP id w3mr40004894ybt.441.1641308480926;
 Tue, 04 Jan 2022 07:01:20 -0800 (PST)
MIME-Version: 1.0
References: <e9257e96-ede9-2809-9a77-fd4dc206badc@suse.com> <2e5c460b-9123-bfc3-d5c8-0922f7b2e667@suse.com>
In-Reply-To: <2e5c460b-9123-bfc3-d5c8-0922f7b2e667@suse.com>
From: Tamas K Lengyel <tamas@tklengyel.com>
Date: Tue, 4 Jan 2022 10:00:45 -0500
X-Gmail-Original-Message-ID: <CABfawhmo8Rrhu985cr2z2hEXrikD6c1CQSNvv+PbmFy+mUS_XQ@mail.gmail.com>
Message-ID: <CABfawhmo8Rrhu985cr2z2hEXrikD6c1CQSNvv+PbmFy+mUS_XQ@mail.gmail.com>
Subject: Re: [PATCH v2 2/3] x86/altp2m: p2m_altp2m_get_or_propagate() should
 honor present page order
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>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	George Dunlap <george.dunlap@citrix.com>, Alexandru Isaila <aisaila@bitdefender.com>, 
	Petre Pircalabu <ppircalabu@bitdefender.com>
Content-Type: text/plain; charset="UTF-8"
X-Virus-Scanned: ClamAV using ClamSMTP

On Tue, Jan 4, 2022 at 4:48 AM Jan Beulich <jbeulich@suse.com> wrote:
>
> Prior to XSA-304 the only caller merely happened to not use any further
> the order value that it passes into the function. Already then this was
> a latent issue: The function really should, in the "get" case, hand back
> the order the underlying mapping actually uses (or actually the smaller
> of the two), such that (going forward) there wouldn't be any action on
> unrelated mappings (in particular ones which did already diverge from
> the host P2M).
>
> Similarly in the "propagate" case only the smaller of the two orders
> should actually get used for creating the new entry, again to avoid
> altering mappings which did already diverge from the host P2M.

I don't really understand the reason why you want to return the
page_order from the altp2m here. The only check that uses the
page_order following is the super-page shattering check for XSA-304
but that's done on the hostp2m. So you would want to know what the
page_order is on the hosp2m, not the altp2m, no?

In either case, in all the setups we use altp2m we never use any
superpages, the recommendation is to boot with hap_1gb=0 hap_2mb=0. I
never trusted the complexity of superpage shattering and its
implementation in Xen as it is very hard to follow.

Tamas


From xen-devel-bounces@lists.xenproject.org Tue Jan 04 16:06:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 16:06:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253305.434400 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4mJu-0000ox-PD; Tue, 04 Jan 2022 16:05:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253305.434400; Tue, 04 Jan 2022 16: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 1n4mJu-0000oq-Ln; Tue, 04 Jan 2022 16:05:54 +0000
Received: by outflank-mailman (input) for mailman id 253305;
 Tue, 04 Jan 2022 16:05:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tRCu=RU=gmail.com=firemeteor.guo@srs-se1.protection.inumbo.net>)
 id 1n4mJu-0000ok-32
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 16:05:54 +0000
Received: from mail-io1-f48.google.com (mail-io1-f48.google.com
 [209.85.166.48]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3074d1b9-6d78-11ec-9ce5-af14b9085ebd;
 Tue, 04 Jan 2022 17:05:52 +0100 (CET)
Received: by mail-io1-f48.google.com with SMTP id 19so44196724ioz.4
 for <xen-devel@lists.xenproject.org>; Tue, 04 Jan 2022 08:05:52 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3074d1b9-6d78-11ec-9ce5-af14b9085ebd
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=NWa3gTZ7+l4mkwVh3q0xvfUGnwUonL23BTR02LfqFLs=;
        b=KZHQ1CpqaajlTKA4gRxHv3cDzpp/yYrfnjZeby5hGqJxjGK7KxW3uv+ZXIV12yUWem
         rMbRPYi31jPNFekrCZaHOd6WnVkhPAf0BREQSnWHTPw0VYkYTT4Y6tphw96KlksdOthr
         8BWnE3+/o3NssDtDJZ7Z4jYHQfDQ2LrJc2A1MC3HEweo/3sfiTpFeZ8Vp886bnAXA7kL
         Sn2YDqbyX9PsxecnNlolojiML4NnQ1GU+2O4i7FGunU/PZb0UQI5aFeUTIcruf4p7E6x
         87U5Us5YWByKOnDtTU/Fm32SJp4VYyW08SgUtojkTwm34qKhSWEiS4GzqglfwA5cpiJ8
         OHoA==
X-Gm-Message-State: AOAM533awQ0wPO9Qw4gMnCKqFyHVr/hs10+t+8z5z05o3oPwB26IcqXn
	yRSadSw6cvpjA6pBhoKRBZFjLQEdqHZAWVukpz19e6Pf1Pg=
X-Google-Smtp-Source: ABdhPJxFUEVm5njilJAf6FkFK6MRJkRpF042HvDq/J2YcZKcjYX4vEJq1bO7rb3r68hcmShhAPh7LO5quzDy3Slb7ik=
X-Received: by 2002:a05:6638:411c:: with SMTP id ay28mr24180219jab.183.1641312351433;
 Tue, 04 Jan 2022 08:05:51 -0800 (PST)
MIME-Version: 1.0
References: <CAKhsbWarxwi_n3NAr81op_apyN69itUrv7f1k1ZJ6=gXuFXtGA@mail.gmail.com>
 <YcoOUw/u3SqTxWKm@Air-de-Roger> <CAKhsbWY5=vENgwgq3NV44KSZQgpOPY=33CMSZo=jweAcRDjBwg@mail.gmail.com>
 <YcwdJn/Y0yncuJ/e@Air-de-Roger> <CAKhsbWaKvMtN0v57kRuwSGnTECb8JnabhgXeO1VTyLiJa4yngg@mail.gmail.com>
 <Ycw4Jna5J2iQJyeM@Air-de-Roger> <Ycyx65BDakqWmEe+@Air-de-Roger>
 <CAKhsbWYU5_DGbGK2i_uhooXk4EzCLLO4SJGjDsvAkf2udQGsbg@mail.gmail.com>
 <Yc3/ytwCHFtR1BLi@Air-de-Roger> <CAKhsbWbRinNavBq4NnQ64nVrfWoOQWV0mM3Foao4VBYUWjoSnQ@mail.gmail.com>
 <YdQgf2+E467kuTxK@Air-de-Roger>
In-Reply-To: <YdQgf2+E467kuTxK@Air-de-Roger>
From: "G.R." <firemeteor@users.sourceforge.net>
Date: Wed, 5 Jan 2022 00:05:39 +0800
Message-ID: <CAKhsbWbrvF6M-SAocACO5NvBaitUQ9mB5Qx+fMGtn_yVu0ZvEA@mail.gmail.com>
Subject: Re: Possible bug? DOM-U network stopped working after fatal error
 reported in DOM0
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"

> > > > But seems like this patch is not stable enough yet and has its own
> > > > issue -- memory is not properly released?
> > >
> > > I know. I've been working on improving it this morning and I'm
> > > attaching an updated version below.
> > >
> > Good news.
> > With this  new patch, the NAS domU can serve iSCSI disk without OOM
> > panic, at least for a little while.
> > I'm going to keep it up and running for a while to see if it's stable over time.
>
> Thanks again for all the testing. Do you see any difference
> performance wise?
I'm still on a *debug* kernel build to capture any potential panic --
none so far -- no performance testing yet.
Since I'm a home user with a relatively lightweight workload, so far I
didn't observe any difference in daily usage.

I did some quick iperf3 testing just now.
1. between nas domU <=> Linux dom0 running on an old i7-3770 based box.
The peak is roughly 12 Gbits/s when domU is the server.
But I do see regression down to ~8.5 Gbits/s when I repeat the test in
a short burst.
The regression can recover when I leave the system idle for a while.

When dom0 is the iperf3 server, the transfer rate is much lower, down
all the way to 1.x Gbits/s.
Sometimes, I can see the following kernel log repeats during the
testing, likely contributing to the slowdown.
             interrupt storm detected on "irq2328:"; throttling interrupt source
Another thing that looks alarming is the retransmission is high:
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   212 MBytes  1.78 Gbits/sec  110    231 KBytes
[  5]   1.00-2.00   sec   230 MBytes  1.92 Gbits/sec    1    439 KBytes
[  5]   2.00-3.00   sec   228 MBytes  1.92 Gbits/sec    3    335 KBytes
[  5]   3.00-4.00   sec   204 MBytes  1.71 Gbits/sec    1    486 KBytes
[  5]   4.00-5.00   sec   201 MBytes  1.69 Gbits/sec  812    258 KBytes
[  5]   5.00-6.00   sec   179 MBytes  1.51 Gbits/sec    1    372 KBytes
[  5]   6.00-7.00   sec  50.5 MBytes   423 Mbits/sec    2    154 KBytes
[  5]   7.00-8.00   sec   194 MBytes  1.63 Gbits/sec  339    172 KBytes
[  5]   8.00-9.00   sec   156 MBytes  1.30 Gbits/sec  854    215 KBytes
[  5]   9.00-10.00  sec   143 MBytes  1.20 Gbits/sec  997   93.8 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.76 GBytes  1.51 Gbits/sec  3120             sender
[  5]   0.00-10.45  sec  1.76 GBytes  1.44 Gbits/sec                  receiver

2. between a remote box <=> nas domU, through a 1Gbps ethernet cable.
Roughly saturate the link when domU is the server, without obvious perf drop
When domU running as a client, the achieved BW is ~30Mbps lower than the peak.
Retransmission sometimes also shows up in this scenario, more
seriously when domU is the client.

I cannot test with the stock kernel nor with your patch in release
mode immediately.
But according to the observed imbalance between inbounding and
outgoing path, non-trivial penalty applies I guess?

> > BTW, an irrelevant question:
> > What's the current status of HVM domU on top of storage driver domain?
> > About 7 years ago, one user on the list was able to get this setup up
> > and running with your help (patch).[1]
> > When I attempted to reproduce a similar setup two years later, I
> > discovered that the patch was not submitted.
> > And even with that patch the setup cannot be reproduced successfully.
> > We spent some time debugging on the problem together[2], but didn't
> > bottom out the root cause at that time.
> > In case it's still broken and you still have the interest and time, I
> > can launch a separate thread on this topic and provide required
> > testing environment.
>
> Yes, better as a new thread please.
>
> FWIW, I haven't looked at this since a long time, but I recall some
> fixes in order to be able to use driver domains with HVM guests, which
> require attaching the disk to dom0 in order for the device model
> (QEMU) to access it.
>
> I would give it a try without using stubdomains and see what you get.
> You will need to run `xl devd` inside of the driver domain, so you
> will need to install xen-tools on the domU. There's an init script to
> launch `xl devd` at boot, it's called 'xendriverdomain'.
Looks like I'm unlucky once again. Let's follow up in a separate thread.

> Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jan 04 16:15:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 16:15:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253309.434412 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4mSX-0002LU-R4; Tue, 04 Jan 2022 16:14:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253309.434412; Tue, 04 Jan 2022 16: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 1n4mSX-0002LN-Nn; Tue, 04 Jan 2022 16:14:49 +0000
Received: by outflank-mailman (input) for mailman id 253309;
 Tue, 04 Jan 2022 16:14:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+k5u=RU=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n4mSW-0002LH-1I
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 16:14:48 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6f10198e-6d79-11ec-9ce5-af14b9085ebd;
 Tue, 04 Jan 2022 17:14:46 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2113.outbound.protection.outlook.com [104.47.18.113]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-14-TojKpBgVMmqZS5yz9pl6nA-1; Tue, 04 Jan 2022 17:14:45 +0100
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.4844.15; Tue, 4 Jan
 2022 16:14:43 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.016; Tue, 4 Jan 2022
 16: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: 6f10198e-6d79-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641312886;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=gYjKGKCN6fMcSsHIdRt7BuOqFBEsa9p/5Y3LjtP7mvI=;
	b=R766OAx31Y2W34Vq8HZRRFzjOOy/J7+y45K3ICKOUfLbP6Ky4LCwFoftTxNYF+DEshcIOS
	EH69JiicMWVwK6/cNq8wV0k2WwNMows9excI3F5jHr5mX4BNFEC4ng6QX0iIVz7J9IPVKm
	MAiNVY0iZMa+XAAHCvT+k14jmwKvw88=
X-MC-Unique: TojKpBgVMmqZS5yz9pl6nA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=i/jhykKiY+BoIu0pjhE/1xmkgW/NHFU8cxox125o3kDAXXaIIm2hdUW4LS8fvtALnqXq9610jC3QBmmNrTfAhd+9iF92wTDtX364yBHEFB9DtJq+laf8z0SRwIe5E4rpXerx4vqRpi0s0SBaVGCBf8hNX7aO+6yA4Ovd9QkFbolusvFfLZoidERMAw0tsK8aVztEqa4t+lNMTYS7+0XMMybzaY4PtHCzNQ5Sf/YMxEPrQkFSRlnBreLD8XGOyhRDUDRFXfLzGfeUl6u2m2G/z/t8DesAjfZ8Ex/uvD5+cJPN+DGdMvAZqLp7yi3EdkF8Ldr6D4lD8Cwj2McgOJYZ4Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gYjKGKCN6fMcSsHIdRt7BuOqFBEsa9p/5Y3LjtP7mvI=;
 b=D91CW9F+BX/fF87YJXRSb0EA9WrRq+igyC/Z+5DTYp3nmP2Kn8XTi6JTEt92oXBDe06f56DmqXjKwoIjErQ291wvmyFKB2Yj7glIDuCcBU6om67iaOI1BbIlD+MG3xXydnaNMCB1Vj7FxsmARjeLJvGVu5hQlBMVWhWuh9c14vkQAFERXDMJLkKd0XJtzduT9hE/PDtVRKkfX8HmWCrOeCQfGBx2fHWaLwF+CEP5I8IIiPBgbHWlZtOnpzdNagBU0jpJY2yVSi4THnMKi99nH74E4jVLfx8tYFge6NV9oov+CgwhqfDcl1yrbx+VMHdhay6GfWdTL0a2ue7bn0BbwA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6a30f0ed-c431-89e6-b91f-0f4d3ac92309@suse.com>
Date: Tue, 4 Jan 2022 17:14:41 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH v2 2/3] x86/altp2m: p2m_altp2m_get_or_propagate() should
 honor present page order
Content-Language: en-US
To: Tamas K Lengyel <tamas@tklengyel.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>
References: <e9257e96-ede9-2809-9a77-fd4dc206badc@suse.com>
 <2e5c460b-9123-bfc3-d5c8-0922f7b2e667@suse.com>
 <CABfawhmo8Rrhu985cr2z2hEXrikD6c1CQSNvv+PbmFy+mUS_XQ@mail.gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <CABfawhmo8Rrhu985cr2z2hEXrikD6c1CQSNvv+PbmFy+mUS_XQ@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0083.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::18) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 82849ee1-4880-4d5e-03a9-08d9cf9d5162
X-MS-TrafficTypeDiagnostic: VI1PR04MB4608:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4608D9944968F8DB3ACCC294B34A9@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:
	lSzd9ikqa9NBdvcvElLAPFcTC9+hFclwjCM4D7j4MG3bCF2t4MoMfWTUk8N+xaWJg70twQizGkMZMSVHCqXU29Dbc9XyUOCxoVOkQ9pxE1CLDH5lyq2IRoKbqphxdqPEdL5COdx/7wDU3dmOREEQSA5fV1Itff3+L9Y6SaCyVN1OdbAYXeAeCuxJHJmzUr1EGlJ5I07NouUtY45IKgU/OWz6GWJZuePBkAqVWXzecN/pzAhXy27cYAcOc1tqzwXhZRxzG6A8+6DgNjT5zKmIMoLI30Zv7RipfNwb3N8BwM71zVL5OHeBS/YZzwhoWEFmjha0fp4lLoxzaGODXjJy2AO0oWxnXSDfnp0BZkXJFUPPHJBslzvykDr9R3HYqhviYUpnueqn2WUD3jrIERw0Ghev7i2yTixCHoDTKgB6dsZFsl/DeaO0q30nCdp8scl9wo4IOAK3NXuNG6/QS9usTKNhdqspHeXjN+pU5DRUFiJVyclmrGASHObKywunF3pK7AxtPYev0QJXseWgLyYi/oMJds6rJT3urjROAK9OaYKOBp6o9yyTsXAf/N96wwkQr75Lg7t6m/5iEXTIPmg6J14DqhlI6uu+XpNfON+BRs730yhvnjuBZLo2cUETEZ+N/n/r32guoX9BiWx3t/tsSzTJs+xLKbHpHXqpB3w67WpAB0UfVeG6s76FI/Y1sdjDf1xZZN/o/SEyLrUDi9ozMAWEQoQz30bhrPsk70LdqSM=
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)(6512007)(66946007)(36756003)(31686004)(66556008)(54906003)(4326008)(2906002)(2616005)(6486002)(8676002)(8936002)(31696002)(186003)(5660300002)(6916009)(83380400001)(316002)(86362001)(66476007)(508600001)(38100700002)(53546011)(26005)(6506007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QzQvSW4xZTFBZ0RKQnRBMHNRMVY5ZldwNWpkaEtpT29WU1ZYakw0SExTVk5n?=
 =?utf-8?B?aGVOSlFDeUZmaEdNSk1TSWIwOG9kRnFWMWpnWGYyL0NmbHhveVdHZDhHWGVj?=
 =?utf-8?B?bzN2bVdPWWc3TldCNlJXeWFOdzZBZ0g0YVBPSDVnZ0NNWkhqS3FNbm9EY2x6?=
 =?utf-8?B?RjdDTEJ2RkN6WFRTV3RtOGswcHRaQmYvdGZmTFc1RS8ybThWZlo1OE9TeHNJ?=
 =?utf-8?B?NHZqa2p0Lyt4Z1hINlFxVDF3di9Bcmc1ei8vdjc0RTJWRXJ5V1pPTmRXYi93?=
 =?utf-8?B?TUcyWUFLN3NrWkoxQUFvU1h2Zm50M0FjMTZXTDlGcXJZWEhYZlRvbU1paGRR?=
 =?utf-8?B?MENWRTBLVWtoZDAzNTk0NVVzWHFkeURrQk43WWE1NGY0SzhhVk1XNFpsU2Vy?=
 =?utf-8?B?TmRxbVppWE1LOURQdENYVlcwa0Qwc1BJK3hRWGo4cS81NXZicWpqMTkydTNO?=
 =?utf-8?B?bFg0TkZ5eTV3c2VweDNwb1V0RUNobjRWOWpucVN3VWJGZlgyTlJtUGsvWXh0?=
 =?utf-8?B?WUU0cEZRRHRIcjRhWXpLcFZaaDFYTVhKNnN4OUZZaktFTkVJalY3NFBVMFAv?=
 =?utf-8?B?d0tQeHl4cGtCclFHVGp5MXg0d01weDNOeDJ4eFV5ME8rTHJ2eW5xUjczYmls?=
 =?utf-8?B?NVNjeVJ2Q24yMUUvY2ZDbHFIejY5dlRGZTZndnN4TDh4WU44S3Zwb1RyOVZN?=
 =?utf-8?B?blprVGpFNnFmbzRyWW1kM1JVU0JlRnkwa0FyaW5qZ0J5Y2xaVGVDVmJ1NWJo?=
 =?utf-8?B?a1FsU2s5WVRRMDlLdzcwYk56T1RKVm5NdEFxMW9hRUJaeElCaU5ZTUl4cmdM?=
 =?utf-8?B?MDc2WGpvTkN6Z3pxOWUrT3RHN0NGQzVDckpmWm1ZREdsQTdSQ0h3VnRkMlEz?=
 =?utf-8?B?ejhLWFRtNnlDMDVHSjJ3TmpiaEZsb01LZXgzWEdhQitJVHo5VDk2RUd2TVZo?=
 =?utf-8?B?ZVhtVWZwMjhoK0JzbTBrWWlUb3o3MndSdndNNSsxQTU1bVpQRDBpT0xSTVZ0?=
 =?utf-8?B?VUNwLzBWRDhjWUQ4TTJHK0d4Z0kvNWRjWStjZkhScU1IN2h5UlRTZjZCWFZj?=
 =?utf-8?B?dENvTHNzeWFhYStrZGNnaXVCdUh0d0s1N1hJV2NVN1RaNFhMUXlKVE9wWHFj?=
 =?utf-8?B?cStNaDJqUFV0R2Z0eEFkYTYyOEdNTGt3UzZGbG5BM0tIdUhUaDFSSFpmc0ZP?=
 =?utf-8?B?cmwzVHFuMFpIWlhGM2pLcWRoL2hkaXd3QkozTDFZZlloWkprU2p5WVhrUnhP?=
 =?utf-8?B?U0J3VHpybWxhdnhnOFdWUXlBQlJwVVVxWGtYSW03L3lJdWRua0ZTTlh1eUR0?=
 =?utf-8?B?UHMzNDArVEhMVnFVSTN1OW43Zk9pY1N1SlB4ZXl0T09Ta3dqa0loSWlsZG9q?=
 =?utf-8?B?VUFBam9BSzlXZERmNzY4cnVNaGtGQi96ZkwxUTFDRVFVWGF2Rk5yZDF5ajFl?=
 =?utf-8?B?ZWM3b1lEQW5nQ3RUL2dCaXZoRVFHY0hiZGtXMTNtdEZ3WmlISjlTQXNvaHRW?=
 =?utf-8?B?RlU1MjMrSURTMmxYTTRXVW5PUGJ4SmdEL2ZBR1YwOXFSVzdRSVRkZVh2Ynp6?=
 =?utf-8?B?cmF5REczc01OanR5QmFPRjFpM2pwSElPenFPUGs4TC83NmZzVG5xZ2plVElP?=
 =?utf-8?B?QTVwa0pib2RvVk16ZTViaTMxYWFQdXRScmFPUkxUUlNmbG1tK05tc1BMU2Vx?=
 =?utf-8?B?cW9EbDBaQkk0UmZBQUtLNlpmb2hkZ0ZJOXk5ZkcwUEFla1ZmUUM1Q1dDZEwx?=
 =?utf-8?B?MFdUalRuRk1IQnhqUDNXSjN1aFNObzJHYWp2K2ZGQ2ZMYzhRck96YUNmeHFO?=
 =?utf-8?B?by9zeVJKU1I0UHNmclNROFdhZnAyeUZFcWRHUnZhV2RNd3c5Vi9nNXE0ZmZK?=
 =?utf-8?B?UlVGTzdacmVId1lzR3BoakZibjdsUW9EL3EzbjhsOFZOcmttUDR2TXBta0cz?=
 =?utf-8?B?cVBDZ2o5V3cxYitmeDdrL29kMHpQTlB0QVVTMVlRbGpBeERIalJyK0pxY3VM?=
 =?utf-8?B?empjLzVtWC9rYmNBNmFZUXU3Rnp5TTJVYWo2eUlQT0dnQ3B0b1gzNCs5L0tk?=
 =?utf-8?B?NWJSa0E2YUVadW4xN3hkNGlQVk1TUFJCMHhpTGgwS2dTWjNhcTU0RTBsWG9x?=
 =?utf-8?B?UllSUUVFU1dQd1RkK0kzbXhJMlYzT292eWMwdXkyVVJtTFFrUkN3R1lWdHVB?=
 =?utf-8?Q?1P+4/4EYm7Zfif7DbzUlalc=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 82849ee1-4880-4d5e-03a9-08d9cf9d5162
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2022 16:14:43.3218
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XMfRLXeOBE0bcg3v81dTgx55nfEK4RrsIvV6xy8qQy37fruwEGMPArDW3VfFCnG/QqQR0jy5L1aYz7xjBjzc+A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4608

On 04.01.2022 16:00, Tamas K Lengyel wrote:
> On Tue, Jan 4, 2022 at 4:48 AM Jan Beulich <jbeulich@suse.com> wrote:
>>
>> Prior to XSA-304 the only caller merely happened to not use any further
>> the order value that it passes into the function. Already then this was
>> a latent issue: The function really should, in the "get" case, hand back
>> the order the underlying mapping actually uses (or actually the smaller
>> of the two), such that (going forward) there wouldn't be any action on
>> unrelated mappings (in particular ones which did already diverge from
>> the host P2M).
>>
>> Similarly in the "propagate" case only the smaller of the two orders
>> should actually get used for creating the new entry, again to avoid
>> altering mappings which did already diverge from the host P2M.
> 
> I don't really understand the reason why you want to return the
> page_order from the altp2m here. The only check that uses the
> page_order following is the super-page shattering check for XSA-304
> but that's done on the hostp2m. So you would want to know what the
> page_order is on the hosp2m, not the altp2m, no?

>From what I see I would say the XSA-304 action is on the altp2m,
not the host one - the p2m_set_entry() invocation passes "p2m",
which gets set immediately prior to the call to
p2m_altp2m_get_or_propagate(). This is also what gets passed into
the function. It's the host p2m only when !altp2m_active(currd).

> In either case, in all the setups we use altp2m we never use any
> superpages, the recommendation is to boot with hap_1gb=0 hap_2mb=0. I
> never trusted the complexity of superpage shattering and its
> implementation in Xen as it is very hard to follow.

Hmm, interesting. If you're aware of bugs there, would you mind
letting us know the details? There shouldn't be a need to use
command line options to make altp2m actually work. If there's an
incompatibility, and if we can't get that fixed, perhaps use of
superpages would want suppressing when altp2m gets enabled for a
guest? Right now, without this being enforced (nor spelled out
anywhere in, say, a code comment), I don't think we should make
assumptions like this. Hence the patch.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 04 16:23:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 16:23:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253313.434423 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4maw-0003oV-MV; Tue, 04 Jan 2022 16:23:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253313.434423; Tue, 04 Jan 2022 16: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 1n4maw-0003oO-J0; Tue, 04 Jan 2022 16:23:30 +0000
Received: by outflank-mailman (input) for mailman id 253313;
 Tue, 04 Jan 2022 16:23:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+k5u=RU=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n4mau-0003oI-OX
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 16:23:28 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a534a9c0-6d7a-11ec-9ce5-af14b9085ebd;
 Tue, 04 Jan 2022 17:23:27 +0100 (CET)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2051.outbound.protection.outlook.com [104.47.9.51]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-11-E6ZTKsnCMvKvfonemslaiw-1; Tue, 04 Jan 2022 17:23:25 +0100
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.4844.15; Tue, 4 Jan
 2022 16:23:24 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.016; Tue, 4 Jan 2022
 16:23:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a534a9c0-6d7a-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641313406;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=dsmp+6aPx2HqhGU3fHFOvJ/4nWJw+MGDL4wD9ukdiTc=;
	b=AxFHjA2nZ5LkUqn8IGCNQc+CJsM5dMUzxOSXZmrKgIsQlWOswoiutoqYeM0bJMUC/Azxr5
	Rxtel7Qpw/SrVfgBEl7q4ILAbRvl510ONnonhDrMpfQ9+mWAPslg4GsLST1x1CjElmPjFy
	odYc+6bWh6L7iuRG1D/Cr3twFsoGCoA=
X-MC-Unique: E6ZTKsnCMvKvfonemslaiw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Z0mumByEHgVDLIMe8Yq4HlGdcT+N7O25OEEgZLarBjvaWXEbn/xjvLQy62q/Uvx7tQbTkcI5g5pZI8Y9xipTgJE4/Y5RipGY8qRJ2oNwvvDBwLnGM/Jju6PDF4S+/W4t+s3eMbhNR0VKSoriHlMQqWY7iUL9AN9tQIUUs8j6n5BXNW1chKj03iRUJWG/zAJsTzyj3ZEXkIN/G0a7uY3NkEpalPCRu0qXdaizf7OMYvBQFsi+VSdw2L0ENpQk4eS5BrWzuQg9VY3YyMxRWGGg2EAeXkHnl7qowBNt189WUhZSSFrUq4ttz82s175gLWWZH+SHOJmnN7MUPVqVoVnNzQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dsmp+6aPx2HqhGU3fHFOvJ/4nWJw+MGDL4wD9ukdiTc=;
 b=NHEaFbuR8HYIrf/Ouy5YNDpTBlpVL0N+JMDlkfPOhO15Mls9Ky/Bn0xSs3j6fUhRmwGmu86upKIjTaJA2YckZA7aPfVdy7pNW3CLwpxpw/+cAAZjZnTVfgtQ2W+Xrn9QKZcqJsUtT20qPkCrJ9YQiYJThQtlz0Vo8laYekY4l9o1Ag41GgZU8ic7pCpG22x3WdhdDaAwZexjqP1Usfnje4UkdHyJf88t5YtBKz8Ln4cAzPNMq544OfFNd7Rbgg3p1JLazdVyv1c1CocLzzvcQPOLWu4ISAH3ntoufiRk98yOvXb+o45FWsdGVZnl4iHh7b4EDSly9/EOXYYuSKKk6A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a22af5d4-292e-78b5-1a34-54db40b9b614@suse.com>
Date: Tue, 4 Jan 2022 17:23:22 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH] x86/spec-ctrl: Fix default calculation of opt_srb_lock
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220104144422.29989-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220104144422.29989-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR04CA0120.eurprd04.prod.outlook.com
 (2603:10a6:20b:31e::35) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ac3c837f-36fc-4b8c-801e-08d9cf9e87d7
X-MS-TrafficTypeDiagnostic: VE1PR04MB7360:EE_
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB7360713076E09F6264CE7652B34A9@VE1PR04MB7360.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:
	3IZarBIKO8WNVPu27bA8GgFJp0WQh7TRnDt3+OKmPq+PGL/y2XjTw7+MiOrsXbHeUkZqUvi0aaFF+2s1Ew38bw6FNKcp6LlNQcEiLY1x1tU2hnjdz9jOfpnMfzGfXJfXps2FBAn/bL5zrBRh9f46pWC1EKQ/70J4KivqWXtDyjcU1DOfl1gFSLOmqw9MgNxYCHd21RWEAJ6DvzOwYq506/JDCh3rOusdT85KrSiXt2XlanxEgKugLkKtInyJ01yL8Km/dR5WoS2ra9n0kxGTVHRLACIkye0Gt+tu+5+o22rBvREeUVwTU8eD+tcO1INYhBAmcx7vwUDg0gLH2vJ6kUMJ3hjjYewBsZJ9t37Ow3iw9vF8YfheJhJtL3nkFCYzPDSn6DK9Ugbwgpp6rYAE1P6JyPGrZWnPw89hgKTHAfqts/L7hCCHB11hpaC88O08rCzkroIE9dORF9WACCsMGIkop1vOlPIlPh0hfqQBLR6rpwi+cxLmxyIAOknbFHlCuq5oRW/G/oMPDR2cHh6magkDvV06/CSVq7siTpTnVmxGxoblMtoyoviGwfSfIZyGeu1ybo56ngyB8LgeRpzWk6VeI7DkIhl0/tiT8qCfo7YbJXliuxftEN0jWNW9dQ5p0pUP9upxxvRet0yt4TKFoebGuy1iCaR/M6TmUvGCVkO2A0O03ucl/E9NNbpD9ymOai0cwNnKs3qL2evEnFrb4Yt/4rye2xBtCEME72Ud5ieDdthtw9CwKvhBfaTAaPn3
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)(86362001)(31686004)(66476007)(66556008)(316002)(54906003)(36756003)(8936002)(66946007)(6916009)(4326008)(5660300002)(2906002)(53546011)(8676002)(4744005)(2616005)(38100700002)(6486002)(6512007)(186003)(31696002)(508600001)(6506007)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Vk94TzhKTFMvWi8wNDRrT3p4R3l4blRiZjZGUGJ0QXF1SENDbEJManJkMjA3?=
 =?utf-8?B?aGY1cUtjTklSWi94dkZSN3ptZkRYNTdlS0x1QWhNeittMjdEWUhFbksvNzE2?=
 =?utf-8?B?OGZVNzgvUmlSSy9xd05CZjJEenVzZTJocmlRcnQ1NGpxQVZ2Smpyb24zdW5T?=
 =?utf-8?B?b0d1cVVjNXJmU0M5UEc3NXc0ZzJvWHU0T0ZXRVhwN0xPb3pXeDROZk5DY2kw?=
 =?utf-8?B?d2lscVF4SHF5OTY4TTgrQThPS0l5S2VnZmZMY2hHOERlUVR3WmdlYnJhR05W?=
 =?utf-8?B?L2ttTmZ3L0VJN3RKaVVuL3Q0UHlyak0ycVR6alQyTHdWdkFxWHhUcnlVUnBl?=
 =?utf-8?B?RFVDQzhFZ3BTWDVRSllnejdHVlZoUnQ3SDF6NHRPcm5Nb0xuMkducEhvVzM3?=
 =?utf-8?B?ZHlJOW83K0IxT0xkWGVjRkpkVEdOQ3F2M3Y3ejR2NlBqNEVaUEg4elgwVXlS?=
 =?utf-8?B?OG1kR1ZCSG9xWkM1RE5vanJmNEpTbm9yVDNJUzRrbEZOLzVZSWV0amM0dStK?=
 =?utf-8?B?UU5iTi9QdGpqQ0lZb1RGeXg5THdGRGVOZGpCWU1rVHhZMnBtWCtIV1prYkQx?=
 =?utf-8?B?RzVqeFZIRHBqRDFsU21uUGIzcDZYZ1V5bHJpQ2pCTkVrdnpiRnFCYmhCTGZ0?=
 =?utf-8?B?NXFUVUNkUjBiU1VRVnlVY1Z2Z0U4QTZYYnB6RHFVQm9WTzJ3N2V2NlJEcllF?=
 =?utf-8?B?amxsWmE3ZGtmSWdzMDZ6N2UvN2ZSRHhXQXhQb3NPNmp6Mm8veE9LVEl3WTIz?=
 =?utf-8?B?OXZBQmwrMytNUjI1WU1nbmU0Z1lJN01sMFRZbGtuNXRLeWJXbWJKWExYWEFY?=
 =?utf-8?B?ZlVrYUdteDI3dWlkSENHekxXa3E2bGhPcTBVQ3l0SXJyOEwycCtZZy9vbUlU?=
 =?utf-8?B?QTNsYWlBanNNa3Q2SlRDSUxQNk1jdkErUkhMdU85MENZZnlLVVI4Nk5XT1J3?=
 =?utf-8?B?M2ZQZnMxU2ZnbWQ0UGU2QWhSWXNZa21kVnVaMWpSNDh4b3VwR0g1bGduNVpF?=
 =?utf-8?B?a3hsSUNWakhJUjBwSzBHK09JSmlPNXZ2RnNBekZhcDd5U0tzMkJZSVVleHB5?=
 =?utf-8?B?S0ZOeG9CU3plWjVHcnQxb0k4aXRIRXhOY09mcGlUeU5BWS9rSU5SNHliWGZ0?=
 =?utf-8?B?RzM5VDZUcmRmOEZVL1ZVNmJudVNvaXAvZG01SFlrNHoybm1TK3JKM09TVUFS?=
 =?utf-8?B?ZXppUWdMcjMrME9SSDlMV1FFTmFjNEhzVGV3ejcySGx1bUc4R1NrVDR3N1NO?=
 =?utf-8?B?UGIrQkQ5R1Z1RCt3N3dCTVlFSldxdlNLTW9zM2sxRWJ3RCtkR1hUb3NLNldk?=
 =?utf-8?B?ZWlGb09uOEd3SVBOTnUxdkZXa0tHYzNBa3VqRmlCZkN3Y3Q0UlhhK2laWmJo?=
 =?utf-8?B?YThoT3I4T3Z4aFRDTGg3bXNmT1hHcWJUWTBzemdrcXFUVlE0azdrZldJdDg4?=
 =?utf-8?B?cERyQkUrYy9sRzlMRU51ckMzNEx3WmxjZHUyK2Z1V1U5QlkxSSswNll3S0lS?=
 =?utf-8?B?ZGh5ZmpBdnRTM0dpSkZwd2lyWnBEUW1aaHh0Q0FFdFBVM0VkcHV0VFJaNDd4?=
 =?utf-8?B?dmFueEF5SU1kWUtrV21DeFdkdXRpQitLa3RtZm9nU21kUENGUThqeGF3Nmdn?=
 =?utf-8?B?RXRsQzgwdzZ1ZXVCVjNidW1HTXRvWWgrTkx4djREaUVNTXQ1WGY5aCtEY3Q0?=
 =?utf-8?B?blpvd1BUeDg5amN0MllBQ0RkZ1YzTFBEbm9TTWZFZngzcFFHa1FtTWRDcnpL?=
 =?utf-8?B?OERHdjYzdE93Zm8xUDRZM3RtQzZRU1dOKyswUG1VMjF5YUdJbU5RR0hndC8w?=
 =?utf-8?B?OXpVYTBIUlRTbVBqby84QTBvbEpsdmIyRWhNM2IzSGt4Q2VlRjE3aGYxQi9s?=
 =?utf-8?B?WmN0eEJkSjg0NWNBaU5LMTJ1STdacHdDR2Q2TlpBM2tITEdpb21QakxObDV3?=
 =?utf-8?B?TURtR0ZDbGNUOHRPRG8yeUpVT20vS3Z0aHMveDkrSSs1V21EQmNoNnloK0RQ?=
 =?utf-8?B?eXVURitCMU45MVJiWkFKUTVPK3crNHlzRDVGNDdGK1BLMkxTWEFQaThxQWg0?=
 =?utf-8?B?dmlTYzcxcllhREJsSnhZTkRjWHRLRjJkQU9UbFRYZHFlZVFpVkFxK0NUUjUw?=
 =?utf-8?B?UzlSajlrTnBERHlzeDdSWXJPMXdLR2RFK3JvcmFSRzBFUEpjc2RVWkVZTDZq?=
 =?utf-8?Q?4NYWgRRrP6ODApftFsXvi8U=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ac3c837f-36fc-4b8c-801e-08d9cf9e87d7
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2022 16:23:24.3143
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +28AvU3BfGJ7soWCcwRflu1+m6bk4onpk3YBFcLr7zWNxocf+fySx++Y12HOcognazvj4b28deMtMY0f2Yo2cw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7360

On 04.01.2022 15:44, Andrew Cooper wrote:
> Since this logic was introduced, opt_tsx has become more complicated and
> shouldn't be compared to 0 directly.  While there are no buggy logic paths,
> the correct expression is !(opt_tsx & 1) but the rtm_disabled boolean is
> easier and clearer to use.
> 
> Fixes: 8fe24090d940 ("x86/cpuid: Rework HLE and RTM handling")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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



From xen-devel-bounces@lists.xenproject.org Tue Jan 04 16:32:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 16:32:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253322.434452 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4mj8-0005uC-TC; Tue, 04 Jan 2022 16:31:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253322.434452; Tue, 04 Jan 2022 16: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 1n4mj8-0005u5-Q4; Tue, 04 Jan 2022 16:31:58 +0000
Received: by outflank-mailman (input) for mailman id 253322;
 Tue, 04 Jan 2022 16:31:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+k5u=RU=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n4mj7-0005G3-9y
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 16:31:57 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d4ea09d5-6d7b-11ec-9ce5-af14b9085ebd;
 Tue, 04 Jan 2022 17:31:56 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2109.outbound.protection.outlook.com [104.47.18.109]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-16-tIxvfTtYPdifw187KGhEJA-2; Tue, 04 Jan 2022 17:31:55 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4844.15; Tue, 4 Jan
 2022 16:31:53 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.016; Tue, 4 Jan 2022
 16:31: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: d4ea09d5-6d7b-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641313916;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=Med3+Sm3g/Zgr+O5Q7y815ZKSfccieFCKUMHBTwd8NQ=;
	b=Rp1ooGPXATufs35b978Fg1UU7NTWV/2zsWH+LB6IMnbrsAdeUzuxuDUJLwpM6KFcm2zpHw
	3GpKqTf5ECMSZazxvw1mpvA/rmK2zAYT0/+uRkav+Q4AQECYiNzv6S1M/9uydd0F99p3xJ
	bZo5zEh/lh8Ilkv7C5mejYG6Kbz6Lls=
X-MC-Unique: tIxvfTtYPdifw187KGhEJA-2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ji3MTU2K5SLEnvvhfxVnhGBkTG6zoX1BI8s5mGULvF8H++uWtaWhI94acj9YFPv4ISMJzZd9Bz84vdtBSfo9U2QiscJgpi21M/6mXcjKhhq99E++JD4JUqNC3HiSROZanVxtGfC2xev+L1vrDF+yPpTYwf3IcBpjPd+Kn9UDTe/mwREIjUrpAN7c+/nF0qIEHVhV/1DNDYtJ/Ucxhx3/S6W2CfnnirBd8INhbHQ6EsXlXHkvfMSCPW4yMETGYZYs5c6l52yahDrKTNKcjTqwJaWeYAeOrjvs7Y2qqYKA3rcjJAiwULyJL+bNzzXN02jBzYT6776/c5989HCyf6NBfQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Med3+Sm3g/Zgr+O5Q7y815ZKSfccieFCKUMHBTwd8NQ=;
 b=O2DC2wdP9+4byERHGIwpZOWExoxbpJZnusa3N3psAg71TpbsWPtFO/pi4rOuQZ7aa4ZXmu2teYF4G63tR1y11GKuVQxfVb2BPiXC/0dFq3fRmNl8oiy24MarMYGfcegjSPt7YURApsCJaYIqKo3031Dgjfo1a4oY3cG5vLtNaR2QiMAB3qst3BUP4frhZQKJ0vIPD0ytaWmnrbHr3A4i39dMbzZ2UJEXPUgXel6FpFQO7QQ6iqQyC29UZIUV+etQV4dhJO9DQWlk0L4ebvidiLFROefVI4OUsfXZ69plrcveOxOK/BSN/2tdeoiFBz07yZrm867G1jUjVZVnEPxwHA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <40236e0e-dbbf-145e-c08d-25419d9c231c@suse.com>
Date: Tue, 4 Jan 2022 17:31:51 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Ping: [PATCH 0/5] x86/mwait-idle: updates from Linux
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <e16ff1ad-b1c5-f4e0-9336-716eceb93a9f@suse.com>
In-Reply-To: <e16ff1ad-b1c5-f4e0-9336-716eceb93a9f@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8P250CA0018.EURP250.PROD.OUTLOOK.COM
 (2603:10a6:20b:330::23) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c96c9a73-9c69-4689-23bc-08d9cf9fb760
X-MS-TrafficTypeDiagnostic: VI1PR04MB5600:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB5600F91CF4D051E248DFE12DB34A9@VI1PR04MB5600.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:
	Jsx8PcQjLvDgev0T2bL6mbbC2EJdR5kgG5QgszYq9dldrWtfbM4Se2cp1/TjqxJAF1WnTdECHh8h8IEOqBgnmuE2NuVaKMuAYoDiXDKT2O6qlwoNd939Kp3T0D3nCL1XW7M4nPuegP7r5ApnPYvOrTxDtRIYrDTEww4RTv1ei0aRjzjvFU9TVYtmotmIZsbdAA3jRabhqlRA5nXA7+MknH2As1b/zCW9/ILf8nnVKg9aPPeNkUT7OtHcVlDgeLoHz9JY/wVkOBBx5aNRlGk3dbSAjxl0q2Kf8e3hPsiRTYEMSEVocmXZMJgnwhLNNw3voicn/ezdTenKNtQjv9FYuPrQ1Qqdit7Sy+RZZ87ZU7vMO5S88Ru86K3e5KerGaMaSMXatK0e3h5TMtoXiKm2fxMCsv3q2rq+DlbkhxQv/tq7kEe9GGZtOMaFDGDDNd4/O8D/4BmKDo/sQvU+EARPHgAFjRh2VHumg/uKWluLIpCln0HnmTP7FtjKr/WjnGkc4qVg+ME1M6KbmlIi3nnhcmCu12gQMpcgi719qa50JhZ3JUq8q93jP/6d0ZLEVhirsWyQrMpb9guW5PJrXn9QucEQ8r8BqPUFFwCb/1pFRVZkXgqJit5HPiq+9vaBF6436MlNwjtSz/k9vm3nr4t1VCyfhb/9NbnZjL21lzPPyn3HWZ9CBDi7+iVwdom7b0IaggzXbQ2Ifrl9subatnFsJkeQNXNZKfhWN42mBZCzLj2W+0Uewca9aWvsV6b/7+vz
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)(6512007)(186003)(83380400001)(53546011)(6486002)(31696002)(2616005)(4744005)(36756003)(5660300002)(6506007)(86362001)(15650500001)(2906002)(54906003)(8676002)(8936002)(66556008)(66946007)(316002)(110136005)(4326008)(31686004)(38100700002)(508600001)(66476007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?a2xpVktjRzQ4ZmVvTDVyR2JwYzJJNHA1U0RLZGV2N2RXTUFTWkpHNFBGV2Jm?=
 =?utf-8?B?TTl1Tm1ZTlRwNjcvdnpTN1lOTTZZd0R0SGwvODk3dWs4SDAxWFNOelY4eFRx?=
 =?utf-8?B?SXNyK25ObVlRblFrZlNMei9DUGlGSnRta3o3b042S3VxRXJXMzhUWGdjVFZN?=
 =?utf-8?B?MDJ6eDFUMHpOeDNNL0JrZVNDS0FTejBqNS82RCs1ZURmd01zbFJTYk04MllL?=
 =?utf-8?B?eVdmWVArVEFEendYSks5QkJ1MVdOZVgwc1pGS0tjdHhPWTlFbkg0MkoreTVv?=
 =?utf-8?B?eWUxSkVEaWUxeGpDQUM3bkhNVzVOU1FwY1JidnIxYmYwOW5Qb0hvSngyd00w?=
 =?utf-8?B?ZFdiTzdHM3g1a3FEZWxKUGdmZFgyV1BNV1BObXVhb3hBL1NFQ3M5RzFJTmJx?=
 =?utf-8?B?c1B4aEhueEZvbFpyUUtqZXBSeDR6YXhjQ3dFQVl2SEpzcitSZlB2S0UwMFRH?=
 =?utf-8?B?eWZLUFZIb012Q1hDVGRxSzBtTlZ1Q0RyczliWkNhckFtVmJlZ3RJeDRkZ25H?=
 =?utf-8?B?aTVvWG1JNzZNTDBUMVY3bXY0aEtQZzlSSzJmbFp6bEQ5N3Rza2MwNjdQT2VJ?=
 =?utf-8?B?emZRN21yMDVydkxGM2toRGRqZCsxQ05kSGkzcEczWFI1SThKeTVwRHE3YTg0?=
 =?utf-8?B?QVdtK2lLZ2VtRHkzVFBVL2xEbEgzd1JqdG9qTXdwRUdESjBUNS9kenVNNnEy?=
 =?utf-8?B?Q0JFbzdHZlFCcFJoKzJEOGEwSmxIREMvcGJmVXNCRW1zZmgreFZubks0M1N1?=
 =?utf-8?B?OWFhckplZVJXQ2FLbjZhUUlWK0t4NjdSMmx6K3VXSmRrZmcyQXgzYWx0cE8w?=
 =?utf-8?B?OGN2N3lmN3oyT2hrM1FOT3FKSTlld3ZKMVY1djYybDQvVnBzWHp5VE5JL2pT?=
 =?utf-8?B?U1hHcncveXdoTkNqdC8zSDR4YmJhUm1RTDJ4Y25GWU8yUzJ2TVpaeGJaQnJj?=
 =?utf-8?B?NThTV2hsMllHemNlWnZwZzNEU2RGN2x0Q1E1VHVlYm9BSkFHN2xvam10Yjh1?=
 =?utf-8?B?Smk5ZnlDd1JxbFBhUnhqR0pDZFdkRHUxNFBVZWdzdHBjdWVIWEpjdW56ZjdB?=
 =?utf-8?B?c2dLcEF2TERrMVpPdjAvNFVSVjRxRUJ3K1c5R0xxQnlVZ0d1K2hYZnhnbVcv?=
 =?utf-8?B?WjFWenZjQzNGN0VkTkg5TFVmYjZhNkNHbUVDWUNGc0Q4RXVxSXkvZjFiNCt3?=
 =?utf-8?B?Wnc2SHo1VXAreEE5djhyNmh0dDMvOXFVZlpWSW1wWXE0VkJCVC82amNmTFkx?=
 =?utf-8?B?ZGw0Wi9Zak9jWW5LQnFaMjd1UGJ4Tzk3TlpqQWFuMklEVXlNQ1lCZzZMUExO?=
 =?utf-8?B?VnhaaWtST0VpZ2ZZNTl4bHFyVXU0T2I0RUlHcTZ1SFNMT1VEcVJBazA0ZjVQ?=
 =?utf-8?B?a3lqTGt1SWJtQm1KenNEZU54QVNzeFdlbVdXUEpNMXB2c1ZvZnYxYWpNUHpp?=
 =?utf-8?B?TDVETk04REJrb1hjM1p5R0FOYVJQQm93dWRORXhvYUkrVWtVMGNNeHZnNVQ1?=
 =?utf-8?B?VkxQZGo2YU9kUGRCNVR6cVp5bFNkdzQ0VDg0TnFKcDJzaFdSUGFZTkRBbjZJ?=
 =?utf-8?B?dzNYVVR3aTRUNEZkYVkzdjBvSTU5bDFhTXExSkFxMWxIYmJWR1A5VlpIVk9T?=
 =?utf-8?B?RjhKQUpRV1dNby9ONHByMnFnb1VvTEhkOVZLZDc4c2VoSUhwdFgwN0FEM1I4?=
 =?utf-8?B?WDlEZkMyWVVsVzlHZm5vakU2b0RNTkRSK1FtTkgyck5TU2ZuTVB5SEtzZFk1?=
 =?utf-8?B?N0x2OTY0VTFWUk5TWWQ0eFBZcVlHRHZJQmY1bVpWSmxUeE1MdDVRR2czY0lv?=
 =?utf-8?B?YXNwamlaNWpQYkZzdVFtc2ZweVJNTG9GT0ZOdVFWTnBVckZ4MVhVVzU4YVZ6?=
 =?utf-8?B?ekJYVjZOek5IRXNHNFFGWDJtQkhPa2VCQzBvajlHaFkrVW82VTRDcEo4WG5Q?=
 =?utf-8?B?LzhiTFk0dkQvWFJrck1OQnE4VUdncWNpbmloZ0RabWpOdnlYV2VFQzNHdjF6?=
 =?utf-8?B?aGovZzhpa0J2NnpIR1NTTzhSSVpEaGE2Ri9Bb1JHRG9EdFVWbVVXUXh2UlNn?=
 =?utf-8?B?N2MwOXNoV3k1Qmp3SERzMTU1bVdrcmlWeVlUQjZFbC9ETmxqeVV6WGRYTlJG?=
 =?utf-8?B?bUIxanpDdUZnUFhQc2gwY29ZNkl2cFozMHIzM0ZLdjB5UE1LU3o5Sk9PZWxT?=
 =?utf-8?Q?lQiQeZkIn70iGAdHbfBHoCA=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c96c9a73-9c69-4689-23bc-08d9cf9fb760
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2022 16:31:53.6024
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: e6pRT+09v83JNxgDjD/jjbYMF2WZoFWiZDBuPMZ43UfpKTzu3WvC17SYQ4Ot16ygDqnpSl11P4EAPehYKaV2rQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5600

On 06.09.2021 14:58, Jan Beulich wrote:
> Before the code freeze I thought I'd check the original driver again,
> and indeed there were a few changes we want to inherit.
> 
> 1: mention assumption that WBINVD is not needed
> 2: add SnowRidge C-state table
> 3: update ICX C6 data
> 4: add Icelake-D support
> 5: adjust the SKX C6 parameters if PC6 is disabled

May I ask for an ack or otherwise? It's sad enough that this didn't
make 4.16.

Thanks, Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 04 16:51:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 16:51:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253340.434463 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4n19-0000LS-J7; Tue, 04 Jan 2022 16:50:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253340.434463; Tue, 04 Jan 2022 16:50:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4n19-0000LL-Fu; Tue, 04 Jan 2022 16:50:35 +0000
Received: by outflank-mailman (input) for mailman id 253340;
 Tue, 04 Jan 2022 16:50:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=K5Md=RU=oracle.com=boris.ostrovsky@srs-se1.protection.inumbo.net>)
 id 1n4n17-0000LF-Ra
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 16:50:34 +0000
Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com
 [205.220.177.32]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6cbee7ce-6d7e-11ec-9ce5-af14b9085ebd;
 Tue, 04 Jan 2022 17:50:31 +0100 (CET)
Received: from pps.filterd (m0246632.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 204GIi3K024995; 
 Tue, 4 Jan 2022 16:50:29 GMT
Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79])
 by mx0b-00069f02.pphosted.com with ESMTP id 3dc43gapmq-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Tue, 04 Jan 2022 16:50:29 +0000
Received: from pps.filterd (userp3020.oracle.com [127.0.0.1])
 by userp3020.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 204GjFXV121871;
 Tue, 4 Jan 2022 16:50:28 GMT
Received: from nam12-bn8-obe.outbound.protection.outlook.com
 (mail-bn8nam12lp2176.outbound.protection.outlook.com [104.47.55.176])
 by userp3020.oracle.com with ESMTP id 3dagdntpbx-3
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Tue, 04 Jan 2022 16:50:28 +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.4844.15; Tue, 4 Jan
 2022 16:50:26 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::8d84:1f40:881:7b12]) by BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::8d84:1f40:881:7b12%5]) with mapi id 15.20.4867.007; Tue, 4 Jan 2022
 16:50:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6cbee7ce-6d7e-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=message-id : date :
 subject : to : cc : references : from : in-reply-to : content-type :
 content-transfer-encoding : mime-version; s=corp-2021-07-09;
 bh=LSm8/DUPSG8upHzgbhLPCuOe8t9rjy9hqhLqxbvM8hE=;
 b=swbfuP9hCGKBkiCJ3CHqsRatYteYJJVvjjs6pxW6j7O2mhEq8U+wQLjeaCSFBeE9zD7H
 uaXc5xrr4Bm1hITKGWxqEx5ARhH8XANGUVoKPO7zo484u3YYICUifj0dWl9tMEnKk+IE
 lY2LGHeBXAcwPk1+9QuWOshM666SZdHoyX2yVZVlWHZjkPtNZtfjqfiVVPD+pudKvvvX
 he64PJI6IJlWl843NwrzPaWX7C9oee1z1J9Fh0P4YiUZScR1YLmm8XtqGXPuVoaMqBSS
 xo0iLiLu7LC0qKbJ9dI7NqyjlHnva6JMnJmGKeeMP5DGou6ux7QAkDiqoYjfkGHNpzst 5w== 
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C30dSZPZMeuLPPMW+DSY98kQVJ+Got8zA48PXEi/5ZDffalFmy7RVhbSj77BHv3ecdG4g6QBvEkgYph8LKGLgociTWDE5FyRWDEFMlXYnNu204BmNwFfmad82m582Ry1P8KDctovzyLRp1nZPlz3vKY3wHJsZpSX3+ZT4MaM+2PON57VUjfEVW6XW4iz6IdtbE7VVu24CYObAHmc3Mv+x99j8WCa8i1NQgKNicL0Gur7mEF2PkPp8k9OStdJeTTAnpTg7Fs4LeuuD/1TQtTv/CoylISovJ38pG+JD7Cl7Xi2aGH/uHoSvMO7VYI2PAk4j6lsEAPYeVuNQLMgabMuIw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LSm8/DUPSG8upHzgbhLPCuOe8t9rjy9hqhLqxbvM8hE=;
 b=VIMH7CnayEX9who4WX8IKm+Nv84hJc9v0P0vOM8umly6p4UthEvZJA/YWUKz6TwJo3rCRtoAq7i8eWA2V8jlEpfUIxtijWiILyoDkBaKl4hpvoEPAuqUCqthhqVj4gqrxPLY5ohAuZVKO2Bl1ypI2D4AdtF5xR+1imM98BoJZ0L3/WxtXaMaN8xErzZaAmHCnxEDylez6MI686nT72D0qIM/nCLiQcHkSGjYTVBqC1TL429Nxg0wBJUiroHpdcIB3h7kkDifbUiwNgUMl4/F2naQFWLS61FgTelQEFQPp+hZhjrpLoPcGB/XW+Ea0bw5o49cnUwUF9Fox2LJ1JN9yA==
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=LSm8/DUPSG8upHzgbhLPCuOe8t9rjy9hqhLqxbvM8hE=;
 b=nmud01DBSx3D/UHblOYLega0w8RLdl/qsLUcZKoiSh7j3Yl/Gikd8QSyFmyzttumeq1Bk+ae8/tGRiD2NcuWL6Z9OcsI5Bxk8S41bTmWzCs4Fojw6o6pMHEfteHbrzqjSFpTsVZspGOmVCxx0uX+HrZfxxufmpLnhOGv/fN9+lo=
Message-ID: <bfab8ff9-9762-f90d-3f25-b57362f05b0b@oracle.com>
Date: Tue, 4 Jan 2022 11:50:21 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.4.1
Subject: Re: [PATCH] xen/x86: obtain upper 32 bits of video frame buffer
 address for Dom0
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>, Juergen Gross <jgross@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        lkml <linux-kernel@vger.kernel.org>
References: <a3df8bf3-d044-b7bb-3383-cd5239d6d4af@suse.com>
From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
In-Reply-To: <a3df8bf3-d044-b7bb-3383-cd5239d6d4af@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: BY5PR17CA0006.namprd17.prod.outlook.com
 (2603:10b6:a03:1b8::19) To BLAPR10MB5009.namprd10.prod.outlook.com
 (2603:10b6:208:321::10)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6d027eec-2e90-467d-157b-08d9cfa24e9a
X-MS-TrafficTypeDiagnostic: BL3PR10MB5490:EE_
X-Microsoft-Antispam-PRVS: 
	<BL3PR10MB5490462617DB807F0069368E8A4A9@BL3PR10MB5490.namprd10.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:2512;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	kZBkwflI6/BAoD/qqaXrl50gqSx+elX7UPRSlfQXqabxCpFAjdSs+4BIHH5X0kIvoy+BVB3bed1j9wxGNFKZ0alLOtkdYBFVzJsjy66luYu98VcPj8HcYXxILts9pjOqFYMs9E5joEWK0jBuNDS+IkrBopLTBwdqa/RUbNHOwoyb+UPrvVc4pV7SmmY7ylgpio0aeLvdJ59663Fn3H2nEpRowH0TU6BCwF0ibJSZ5GkRPdPoPmDdVrnhRCmlNhI4a02bbznE26SMhtZ4+TJx42r6hNE90auYTCi//ZBVojLAGipQvILInEn/grX1XTu5kmuu37UHiz5Vmk1T5cARbWjG2hxatiwMMP+EGLN+RHWIKO4tGwW/3EUEBdIbMlLx/xBvm0sJ9uUarVZxw0p2vYNtEmqxiOU5HDlyF7kWK8skmKs/SZSUjI5Ykn1xlINNOeOXWrE3R/UAeuyELXNduRzzpoEk4SL3osIKLZNusA7pv2x0UT7JdGTuQ0KzPxzWiWzkVq9lr8GZrQwaUL3WPR/4UPq3Kdbg3XruFlcpye9HHM4g6WlO0lpF1ED5o50MNAxjRXa3UTc06Wl14DfCF+6tcco+JVz0Xa4ESSPIzvKIaAd2KpdEh7ALS7vsG5jcoo1L7Tg7noxORQ6mrEGnuv7k66f8rfgO585/lO6ItQjPagqGPUR+CJxEXoUcXQ1uWMn/t5FHZKuWDTqUgEneBOR8o+PB5OyaIwZzrt3acVQ=
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)(508600001)(54906003)(6506007)(4326008)(66476007)(6512007)(110136005)(66946007)(53546011)(6486002)(66556008)(6666004)(26005)(86362001)(316002)(2906002)(5660300002)(186003)(2616005)(44832011)(38100700002)(83380400001)(31696002)(36756003)(8936002)(31686004)(8676002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?utf-8?B?YjNhMkpjMExsY1hpOUgvMnhyZ1dyNHRtZklOWWVHQnp0cVM4aEhTV2ptdTVS?=
 =?utf-8?B?MVJ6MVBUMWhEbU5BU09XZUdrTkphSUNnS1RpcmwrSVNjT1QxbDNEUWh0dW13?=
 =?utf-8?B?dEpWajU1amxFanNUdFdJZzJ0RHprSm1KS1dadWlpaVgvNlRPUzhHRThRditN?=
 =?utf-8?B?dWx6Y2tzOUFrQUZPL2dGb2NBbEV0RlJEUldWUFdUaklBUGRnNmM0L1had3hB?=
 =?utf-8?B?NjJoMmVjLzhIdWo1dmNZUldZMkRYb21uUzlOSEY1Zm9PeXZLM3BvUzkzV09t?=
 =?utf-8?B?YXdFc085SjVtZmYwd1RIOE51aTVxbUZIeWZBWVVxNzRBOWlFY1hsVldJQ1lV?=
 =?utf-8?B?LzB2K1ZrTUdzT0lLeG9vd3VFUEM0SEZhUlN1S1FKczRneU5MNk9hUTV0aHRL?=
 =?utf-8?B?MkpoNFNsZmx3K25oZGhZMVZYWFRtbTRBN3hXWkh4NDd3VFBURnVRR1ZPVFlY?=
 =?utf-8?B?U3BTS090ZWszRk9tQkJyWjBibGtNbFVKRDBreEoyWWxidHE5K1B2RjRGWkJ3?=
 =?utf-8?B?UktBR2E1QUdibi84U3MrWDBVcEM5NGs4NlhENkdDMnN5cUZkN3dScnVnakRR?=
 =?utf-8?B?elNVeGpPUnNicTgwN01qaE56MVY4QVdtYllzZ1JIZ2RSdy9hU01jZzdnaG9W?=
 =?utf-8?B?SWpRd2xrU3FBU2Rlc0sraVU5NkgrejhQSVVwSXcwS0JvczhWV3BLQUJHZHdM?=
 =?utf-8?B?dXhESGRZei9VRW1qS2VveHZzWGRNOVhXK3AyYWlzQjdUT1gxbG9HVG5JM1Za?=
 =?utf-8?B?VlllQk90T2E0R21HNkI5bzBETXJ1VXNLU0Z5MndoUk1QVkl2UlZzS2FMNjB6?=
 =?utf-8?B?SzhzazBpdy93QXBRbXlzamZtY05QWlpCYUhuMXNXWXFRcGQwZ2VRc3Z6am1o?=
 =?utf-8?B?MnRoNENKWmNvOGlxcVprdlc5dVd0a2NOYWNXZTJYcy9RVk93emZFN3l5cE5I?=
 =?utf-8?B?WXFzYTlZOG5BSytvY0lseGdtV3U2UjRweDNnMXYrd1cvaVluOVJldzE1V1Y2?=
 =?utf-8?B?OGNDOWpLMGlOMVA5VHB3eTA2cWtaMjdsZWZmSDhEYmg1U2hERW82RHFFSjNi?=
 =?utf-8?B?c09WR256aDFXU1dvMW1zN1B6Rmx6eXJ0NStGOVJOWkJvYi9YMmluQkJtRmwv?=
 =?utf-8?B?TXpwN1l1c1lOclp3TCtxOUJ6a3lZeWV4aVY4QmtZNDgwK2IrcEoxMHZWeVo2?=
 =?utf-8?B?Sjl0NlJYc0Y5SW5UT2NmQ2wwK013SFRxdjcxWG9MRjcwZ1VpN21kdFBFTi9U?=
 =?utf-8?B?YzZNRFZCbDBtSU13a21IS1Juamc0LzlTRi9Edjh4enNDRVkvQW13R2VhS011?=
 =?utf-8?B?YjZtZGFiWUo3ai9CS0pMdGFCdUFRQk5mZ2lkNXBRelpiYlBYMjJYVHlPRHlE?=
 =?utf-8?B?aG1kV3Q4Zmk5YUtCVVpKWVZURmVNRFFoc0UyMllOVHgrNDFOc05DRFdmdUxX?=
 =?utf-8?B?S2lJWmN6SkM4ZHB2YTU4QlA0YTBmaDVJckRHbTVuajg1TDArdU9aZi94aDJv?=
 =?utf-8?B?eENZME82dDZaWUpTbHd6b1FuYmc0MExqN1dEYVlQWWNQMmFZTHpmcnpCWlp1?=
 =?utf-8?B?T0g0bnlYekN0NmltNGQ2MTBKSWU3SmhqV0c0MG9TYVlSc3lDMDhRVllraDBQ?=
 =?utf-8?B?Z21HSDV3U1BZWENnUkFxUzJoK1hxL0VNTHhmTGJoTGV0YVMwR2hVU2pvOEJ6?=
 =?utf-8?B?UDY3SkkrQ3VoZmtyVVhpOWNJdHo5bUZBeTBMdTFleTNEUTRvQzBadEg0bEEw?=
 =?utf-8?B?dmlWOElkajJYODlVVkwyRzJ3cmV2OFhQbG9zbWRTSlFkSzVsTnVrOTR3aEpP?=
 =?utf-8?B?WkswenV0Mm0zS0Y4aTJ0NWVtdVVuZXZnczhVc2dzdG96Q0t1VXdDMkl0Qm0z?=
 =?utf-8?B?VDhXOVN4NmFVTzV3L2hqa2hIMlZhTzZTRzFlTjFTTCtLVjJSMnNMODF6WlpU?=
 =?utf-8?B?YWRiRnlvVXlPMEllaTNad1FaM2U3aEdYVEJhSC93NHN6ZURpMUVzc1kxVDdC?=
 =?utf-8?B?ZExIMjI3Y0xLU25XY1hOMlQzYWJBZTV5NGZpejBmRzNla05DU3ptRXhZMTdV?=
 =?utf-8?B?UjZxcXZBUkp4V0VyYm5lZXhqQmRmb1h4RE0yZkdUc05aeTVTU2lGcUozYm9Q?=
 =?utf-8?B?MjQwZVVtR25Xb2tpM1lZZmtOUDR5Sy9JSzFzRGlHNjAyVlBrNW8zNVcvQ1RO?=
 =?utf-8?B?UTdjdlRmb3BtbFFMNFlLeldyRnZHUjBBeDBXbXdYK2U5OGVGLzZ1aFZVNzJs?=
 =?utf-8?B?UnR6VmNIak15TDJhVVA4TVdwWnl3PT0=?=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6d027eec-2e90-467d-157b-08d9cfa24e9a
X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5009.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2022 16:50:26.0635
 (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: +1FaVmXzCoYtW+g5RDBlNdsHBzdxoC4ZB/sC7RZzvfUeUgn+/mwb0i/+KOwcIOu9qr8H0517aJUwGjXVlPYqf+Qxgc/pGX5NR+JMkBZgWto=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR10MB5490
X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10216 signatures=668683
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 bulkscore=0 spamscore=0
 mlxscore=0 phishscore=0 adultscore=0 suspectscore=0 malwarescore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2110150000
 definitions=main-2201040112
X-Proofpoint-GUID: Bzxdp1i6hjReWpYNrkpE-MOAd0IZ6enC
X-Proofpoint-ORIG-GUID: Bzxdp1i6hjReWpYNrkpE-MOAd0IZ6enC


On 1/4/22 3:46 AM, Jan Beulich wrote:
> The hypervisor has been supplying this information for a couple of major
> releases. Make use of it. The need to set a flag in the capabilities
> field also points out that the prior setting of that field from the
> hypervisor interface's gbl_caps one was wrong, so that code gets deleted
> (there's also no equivalent of this in native boot code).
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>
> --- a/arch/x86/xen/vga.c
> +++ b/arch/x86/xen/vga.c
> @@ -63,13 +63,17 @@ void __init xen_init_vga(const struct do
>   		}
>   
>   		if (size >= offsetof(struct dom0_vga_console_info,
> -				     u.vesa_lfb.gbl_caps)
> -		    + sizeof(info->u.vesa_lfb.gbl_caps))
> -			screen_info->capabilities = info->u.vesa_lfb.gbl_caps;
> -		if (size >= offsetof(struct dom0_vga_console_info,
>   				     u.vesa_lfb.mode_attrs)
>   		    + sizeof(info->u.vesa_lfb.mode_attrs))


Do we still need this test? All 4.0+ hypervisors will have mode_attrs.


-boris



>   			screen_info->vesa_attributes = info->u.vesa_lfb.mode_attrs;
> +
> +		if (size >= offsetof(struct dom0_vga_console_info,
> +				     u.vesa_lfb.ext_lfb_base)
> +		    + sizeof(info->u.vesa_lfb.ext_lfb_base)
> +		    && info->u.vesa_lfb.ext_lfb_base) {
> +			screen_info->ext_lfb_base = info->u.vesa_lfb.ext_lfb_base;
> +			screen_info->capabilities |= VIDEO_CAPABILITY_64BIT_BASE;
> +		}
>   		break;
>   	}
>   }
> --- a/include/xen/interface/xen.h
> +++ b/include/xen/interface/xen.h
> @@ -722,6 +722,9 @@ struct dom0_vga_console_info {
>   			uint32_t gbl_caps;
>   			/* Mode attributes (offset 0x0, VESA command 0x4f01). */
>   			uint16_t mode_attrs;
> +			uint16_t pad;
> +			/* high 32 bits of lfb_base */
> +			uint32_t ext_lfb_base;
>   		} vesa_lfb;
>   	} u;
>   };
>


From xen-devel-bounces@lists.xenproject.org Tue Jan 04 16:55:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 16:55:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253344.434474 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4n5X-0000z2-57; Tue, 04 Jan 2022 16:55:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253344.434474; Tue, 04 Jan 2022 16:55:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4n5X-0000yv-1a; Tue, 04 Jan 2022 16:55:07 +0000
Received: by outflank-mailman (input) for mailman id 253344;
 Tue, 04 Jan 2022 16:55:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+k5u=RU=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n4n5V-0000yk-6b
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 16:55:05 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0ffcae44-6d7f-11ec-9ce5-af14b9085ebd;
 Tue, 04 Jan 2022 17:55:04 +0100 (CET)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2054.outbound.protection.outlook.com [104.47.12.54]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-39-v-69UXoFPQGQlMAsfmZF-w-1; Tue, 04 Jan 2022 17:55:02 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4606.eurprd04.prod.outlook.com (2603:10a6:803:70::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4844.14; Tue, 4 Jan
 2022 16:55:01 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.016; Tue, 4 Jan 2022
 16:55:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0ffcae44-6d7f-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641315303;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=dAvsUMNNCWnEhqbX63YX/eBu7PC5VYVcdJG+V7lkZAg=;
	b=YpMfIqex98wxawJYJl05hzmsHQ8XnOhzAq4pFo5emalZXbC89i+7HeTAP4CnTFUXLB9FSy
	vQp5VGKWQReZHD92RzRXYEmabtXDxVFts4425JiAiP0+UBNRgBr6viZSCsGj3ZcDZ/jarV
	heHElYgFbX1mG8SdMIH5/yVpVg1+CT8=
X-MC-Unique: v-69UXoFPQGQlMAsfmZF-w-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=K9QFFanFQoHMIPUEiCe6rZmFvugmh1u/+szyrsdhqvE/G+Yw9GrAAiVVhCBKVuIUMrsLWgjuSjp2+/g5WuJidDkKI3gCMoSVid5UCLmLaa7mQCz6p2GVACkS8vUKvTyiZi/hDY1RjYWh8vgwOH4rOfTM8UwDGZ+8mK52lDpM2kc1YqKVTB0zKcJVxD0IthydR/Zss+XvsQjxrLL7HfPV2NoH2nZAPL+kXuP7lAo6ZNPv9rPoS/72fUvcTsJu7zHOY8pVqgQ4/IPz0R5oSUp5N7csZGKb63uNiDSVK1vAu2MjSCGObBNWK4qQVuLTKZrQNnzbRso2bVyELUg399197A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dAvsUMNNCWnEhqbX63YX/eBu7PC5VYVcdJG+V7lkZAg=;
 b=ZvU1fPC+QHVLICyX8hAIQavcLUHOZzCrxX8HukLI5r5AuCxeTMGbOQXdLTyRxz0G8HHDxdWBhXXGc2PY2GfAC+vKqHNLhpT5fBlY8DuHZ+PSAOmgFlPdVo1zXoxd3IF/g5JARP2O/uk7jW8nwIQQxui2XQT52ODDOuIdEOAdSDCpam33SMmvnc3pI5Kc5osOp3ngMPhjBnDZv5TLNw5704Fq8ZU0R9ExCv/k2uBhkFGj1ADO7VBQVcKSUbIGqgTX7uweZ9g2UETND0ooBT9WjqtjKSduddkgUPN1+PG1FoIKxYFRn4koxufaTyuHWTFZyv+PP6jb6kHot5CfsY8UDg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <17df4307-ace8-8798-5bce-16f4843ed830@suse.com>
Date: Tue, 4 Jan 2022 17:54:59 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH] xen/x86: obtain upper 32 bits of video frame buffer
 address for Dom0
Content-Language: en-US
To: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 lkml <linux-kernel@vger.kernel.org>, Juergen Gross <jgross@suse.com>
References: <a3df8bf3-d044-b7bb-3383-cd5239d6d4af@suse.com>
 <bfab8ff9-9762-f90d-3f25-b57362f05b0b@oracle.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <bfab8ff9-9762-f90d-3f25-b57362f05b0b@oracle.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR04CA0041.eurprd04.prod.outlook.com
 (2603:10a6:20b:46a::30) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 05e2b724-e57e-47da-4786-08d9cfa2f27d
X-MS-TrafficTypeDiagnostic: VI1PR04MB4606:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4606E72FD712B1482636B595B34A9@VI1PR04MB4606.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:
	J61DEvhwLv/RljLMOlj/UD6AkLGp8ZXV55IM8i7auXxRXBLt3YwIPtRcL4aJkDuWgo496Ek3z/E9GxmOA0AT9lgM4r4UV7/78Pw+8fCKp0P/4hrM0qd6b68TeoYc06F/RioXKCxCut6I4Pb66H9STIlft5VAT+aBIhaGRJMVLqjiiM3vt2BGqAFUd7FV5AH7dmjFGi7APGalnNOqnTi6atmWZfgZTLrj93w9ORmJguE4mGV2UJkZAYUI1ujKrXv18mpJPr5qBygpG8f9VMlqTg9WYHQZtMoCSF+ZcfDw2OtK1n8hnYdJ0nKc8Lvj6wLsIKIeI1xy0Yb8Pqv3Y+9ZuV7Oevgm8ZVwYvJ19f06KEwDvxsYoeW1qSUMmsjUahSRDY69W+ckcxvax8Vx5Ku7RSq4oCTeuBeyxcLQnfQjSdf/P8x0D57E2poJGV76M19y9LRPKKJAXmcnbehcnEXekTKf+uoOrSqG12H0mExxjbYMxYQlgn0hlPV2Qmj0Pqxyu6gekqsHv7Y42WivTrhEctom0rbUDg6SzFiN5VYg0za/97ziecs71OQgnq+11moa3VBeKdqJUvF1PIUXfM5LDgfX6QY++bdLplqOvEcXpqrIjusOfpt1tRnkIam3hLuXWvo+KDPT51lohaKnHTC8KmQC1/VFPB3Qf4Zrw8dqTvfiKYhJ1TftodxXSbVKxuRrUBLx26BrfisnbCJ3qwI57T6jwslJN4sv43CJkfqkBhMXPpVIEer8FYhAFP67yHsz
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)(2616005)(31686004)(66946007)(8936002)(36756003)(31696002)(508600001)(2906002)(53546011)(6506007)(6486002)(4326008)(83380400001)(107886003)(54906003)(8676002)(66476007)(66556008)(26005)(5660300002)(6512007)(6916009)(38100700002)(316002)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eDIzNmhiRWJBTGZJSWF4WlRyZ29RakVoUVhWdnZVNmRkLzZLWTZMY0FPVzNu?=
 =?utf-8?B?R0dJbDkyMENwN3hSdjB0VlkvRS9NYXRHVGVYaFZHVWltRVY2YXlQSktGSVVW?=
 =?utf-8?B?RDhnZ3hxVWY5STZhZi8rTHY4Z1FzUWJxSml2dTd3Wjk2R1VTbDdJWmhid1g5?=
 =?utf-8?B?eEpRQXJCcW5ZL3AvVFNtb3BFUW5Jc1QrT0FzcTNKNDJuaVBva0wwRzJsS2c4?=
 =?utf-8?B?N3JJTURrK0ZHV1VXbmRiZkZXSWxMZ1BCQVBUay9zNmc2WjVLV1RaTWZwZkx0?=
 =?utf-8?B?SWtwVmw2MlhKd1lHdzhhQWpUeEFPZjFPaVpjejNGMHVsa3p1R3F5T3hpTGlo?=
 =?utf-8?B?Tk1rYkV5eUlRaS9lcjdRQ2lveUZUdThDT0Z4ZVhONUQ2YitYUjdUb1krK0U0?=
 =?utf-8?B?c1FTUXFjekFOYjZqNjluWGpEYWdJL05Xc0cwSnpuVGFPMWhKNm5kVlB4blBR?=
 =?utf-8?B?bnhaa1ZOeWJ6MWw4dHBORWZWOGV5ZXVSWmh0V2VYb1YxdUJXVzZBN0lJb3Jw?=
 =?utf-8?B?MG9PQ2J4V0U4elFCR0FRaG5PRkhRbVFzaGdZQzNNM2ZQUGdKbHorV0tnbjdt?=
 =?utf-8?B?Vk5iUTZGZlZZcmk5cDg0L0YycGtyMHk0dGhnWTVYQmRSOXZSVStiQTZTcEVi?=
 =?utf-8?B?M0toQjRqQUhzNnZBM2xpTUN6M2hvYk1jMmNFZlNjYWtRWWNSaGVSaFRXMzlM?=
 =?utf-8?B?ZVJlNjBTUyttcEcwTUtLNjkvS3B5amRoekEyWmR6NENlc2Fmb0hDOHBGbys4?=
 =?utf-8?B?Z1VVU3orMVkxSGZpTGhsQTRkazJKTnVPMVdFVTM1OUNsUlhZd0loMTRWRWZZ?=
 =?utf-8?B?SlZtcHJwb1lBNDlEbE5uQWpuNUtjNlRHK29WSFBEaXhTUTRIaHhOOUlDemVW?=
 =?utf-8?B?bUYrNnVtS1Jid1RXQ1dpNDFkK0VvREVoTTJPM2hVaTludFZkUVVMOW5HOUND?=
 =?utf-8?B?VXdSNlNQV1pSR0g5L2tURXVzZFVtYzIzVWJ3QzJLTDZYbTVKNDUzUE5ENmxw?=
 =?utf-8?B?cjZhbUVzckRtdVNLVDJDdHJUWlFoWFVxdjd2VmlxNXpJQ29NSXFpVmxtTjJX?=
 =?utf-8?B?aGZhQlRGdHVuSW8rM2NGblN3dE5hUm1vTUlxVTNDTytDUDZYUmpaVjZKR3Mx?=
 =?utf-8?B?NDQ1UndyN3hvbzh6Z0FMWmxzKzc3dFBlSVorQzgwckM1VEJhQ1RvWkNwUEpq?=
 =?utf-8?B?L2JDYTNjenRtMERzZnU2cWxZS0VBWDFVdVBWUlZmbHg5a0tsUkl3dDlFTXVP?=
 =?utf-8?B?Q1RxR3Q5MnJvTVZGb1FTbG9kYkt4MDQ3RFZQcHZBd3o4R25QTDhKR0JCeFpz?=
 =?utf-8?B?NjByTTVsaUxUQmN5NEVIRmlpTXhzb1BXb0FJTnNuT01IOElqZWhVTzkxRjRP?=
 =?utf-8?B?YXArYWEvTm1BUm8vcUFhL2drZlhjbWRacHNrL3FtcU8xeUhOY2VJQ2YyUzVT?=
 =?utf-8?B?N0dLMnRBMlZrbmZibThiRWZJM0FLV25QUlE2TUtud3B4MGE1ZTk2bklFTmQ1?=
 =?utf-8?B?OWV0eHUvaEpTQkYwMW5pS1haTlNNY1hSVGpUNHhvOFd0V2NaNmxUQXZtaEx4?=
 =?utf-8?B?ZldwY0pyeDdJbk0wamxmTWwrdnR6SnY0V2c3T0UwckdCMEFQQVRZZlhXbFY3?=
 =?utf-8?B?NStxblF4WHoxdGRRWm9UZUNaMm1UdDhQMlZmOUNValBGNEZhbFVoR2NqMnN5?=
 =?utf-8?B?UDZNL2NBK1lDODU4RkRuNGVWQWUxZXdHUDdjYi82WkRPaGxFelVjWDg5VWtz?=
 =?utf-8?B?ck9MR2tXaERqd3dHZWR2dVZ4dzQwVGJ6ZHNBRmtWRm1PcWp1MDArN25EZ2x5?=
 =?utf-8?B?bi9hQ3NSSlgwaG5NZGZ5aDEwSGxEZ2hoWWl6Q3Vndlp1R3FBdkhDelQxRmdS?=
 =?utf-8?B?dXU4S3FNcmVtRGgzcjlUMjBCRmFNQmMvanhpT3FhR0FYTmxqZC9wRFFTMG9s?=
 =?utf-8?B?aEgyUzEySXpoU09LVVlMV21wUVk3UXlidmpWbDBndG5NOWRUaTdrcHpOeVJD?=
 =?utf-8?B?Y3Z5dFJ4NEtsSndib1NzaWpjY0xPTmZsbmpZVkFNQ3J2ZFpVc1dmekQyTHhp?=
 =?utf-8?B?cjJXWFgvM1hJbmd3RlNpVUloRkV0emZFa1Z6dDhpd0ZzT1g1WjdVOTA0blZ4?=
 =?utf-8?B?eER3UHFkTWdmUEJHWms4Z3VjRkFocHA0ci9qNDFrakkvbXhycHQ4RlFFOFhu?=
 =?utf-8?Q?qhzZlfWyjOQX2uzPzrii59A=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 05e2b724-e57e-47da-4786-08d9cfa2f27d
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2022 16:55:01.1173
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CgFw01LakpVE1AOzBfL0MfCGBySdYU7IQTDtCVwura/7e8ECOCR4QLCfK2Qk0YtV6/9j+FB8tyvx8+CJiyXYQQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4606

On 04.01.2022 17:50, Boris Ostrovsky wrote:
> 
> On 1/4/22 3:46 AM, Jan Beulich wrote:
>> The hypervisor has been supplying this information for a couple of major
>> releases. Make use of it. The need to set a flag in the capabilities
>> field also points out that the prior setting of that field from the
>> hypervisor interface's gbl_caps one was wrong, so that code gets deleted
>> (there's also no equivalent of this in native boot code).
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> --- a/arch/x86/xen/vga.c
>> +++ b/arch/x86/xen/vga.c
>> @@ -63,13 +63,17 @@ void __init xen_init_vga(const struct do
>>   		}
>>   
>>   		if (size >= offsetof(struct dom0_vga_console_info,
>> -				     u.vesa_lfb.gbl_caps)
>> -		    + sizeof(info->u.vesa_lfb.gbl_caps))
>> -			screen_info->capabilities = info->u.vesa_lfb.gbl_caps;
>> -		if (size >= offsetof(struct dom0_vga_console_info,
>>   				     u.vesa_lfb.mode_attrs)
>>   		    + sizeof(info->u.vesa_lfb.mode_attrs))
> 
> 
> Do we still need this test? All 4.0+ hypervisors will have mode_attrs.

Perhaps this could also be dropped, but unlike the capabilities part
I'd view this as an unrelated change. Furthermore even a new hypervisor
would be free to omit the field, provided it also sets size low enough.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 04 17:04:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 17:04:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253368.434503 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4nEF-0003Xi-Df; Tue, 04 Jan 2022 17:04:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253368.434503; Tue, 04 Jan 2022 17: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 1n4nEF-0003Xb-9x; Tue, 04 Jan 2022 17:04:07 +0000
Received: by outflank-mailman (input) for mailman id 253368;
 Tue, 04 Jan 2022 17:04:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=K5Md=RU=oracle.com=boris.ostrovsky@srs-se1.protection.inumbo.net>)
 id 1n4nEE-0003XV-IX
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 17:04:06 +0000
Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com
 [205.220.165.32]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5190aaa0-6d80-11ec-81c0-a30af7de8005;
 Tue, 04 Jan 2022 18:04:04 +0100 (CET)
Received: from pps.filterd (m0246629.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 204GJB7G014889; 
 Tue, 4 Jan 2022 17:04:02 GMT
Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80])
 by mx0b-00069f02.pphosted.com with ESMTP id 3dc9d91wd9-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Tue, 04 Jan 2022 17:04:02 +0000
Received: from pps.filterd (userp3030.oracle.com [127.0.0.1])
 by userp3030.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 204H1koY180747;
 Tue, 4 Jan 2022 17:04:01 GMT
Received: from nam11-bn8-obe.outbound.protection.outlook.com
 (mail-bn8nam11lp2171.outbound.protection.outlook.com [104.47.58.171])
 by userp3030.oracle.com with ESMTP id 3dac2ww38k-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Tue, 04 Jan 2022 17:04:01 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com (2603:10b6:208:321::10)
 by MN2PR10MB4302.namprd10.prod.outlook.com (2603:10b6:208:199::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4844.15; Tue, 4 Jan
 2022 17:03:59 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::8d84:1f40:881:7b12]) by BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::8d84:1f40:881:7b12%5]) with mapi id 15.20.4867.007; Tue, 4 Jan 2022
 17:03: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: 5190aaa0-6d80-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=message-id : date :
 subject : to : cc : references : from : in-reply-to : content-type :
 content-transfer-encoding : mime-version; s=corp-2021-07-09;
 bh=UsfgvgSwoVgqW+6vAySJ7ebtOY1BLt5+PoIBsDBtvwg=;
 b=PtUkVQydiJ+TGE8ga3f8vCfsY3j8CmdJO0x03dmHzKiPdukdEHvTgsWYQ5AOWiDnCcic
 1AHoQyzX60tSmOP2TfTQ1+wSabQian8AOTnaFlaysRF4SZAPnbGRs1PSBgJXfAiUtouN
 GzenuOIrVTC/JCiHkoYEMXYyHgze4yQJXD8EB40w/5TSWou2Z9l4cn7+miTy07PUp+2Y
 49Stl2mwT9ze110uDycKE1KuVa9jxZzQxoRDkzh8rxKeRinT+OpgJd6eS2AaK49tPi7g
 f5QsEGXOJRneoWY8JfUvRGJ4hcfbwrwauMk5WJ6st6TZyOdULwKGdZAwPdWG9FscfKqr IQ== 
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=loyN5mYYCkvCaeIXRpaEbDxBWUa8CR4dsCp1VKhKJB6MYgR1PUiKePIlCPVZe6hgM+BoOzLmR+bm4fIapXANmiYNwtTwxsigOCfLBeXlH2ziBUKPIKIFitj7cCnc8QbrR+KUfIjtB94gG6+tMfaQ86G2Xo+ngRBGA7oEo07UWtsbF35Ir/exEMHcGV866I/PweAWk/Ad6g1y8hVjBLh6HVFS+B7VGZQRHUErDshQWSr1zpsm5SmUqimPxgLUsuc4SHwEsUUGBxRb75RZ34jpSSHAhNPTT691gN46j7BWlEV3yU9PUI6B376q9FbM2nXReAHigc6Y2OKYmPbpXgLtHw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UsfgvgSwoVgqW+6vAySJ7ebtOY1BLt5+PoIBsDBtvwg=;
 b=B2WsGjjmZOBIJauVBGo5xHUiG0jdPmXfOVHGfekq/WW1UQCoxqG6xTTg/1pzsIcj67GWVy9fjKezPnj2pRxkSrrhhbBLxGFWmr9lvOket7fmL5UfMWhz8ZLlMeZcdA/yuEiK1fYKHhsANHY8tbGrypshr6JQsM5CDu210nJxX4AuUOFga6mLX30X+aSde7DDkk1oGUfOqwzViQd7L2y5C3Mfdjny+vs+AIupsBWQTeIzt1RWzut6hdHhUUdCq3FXwghU85KX4q386OHCY82lK22NhwAlHam37wQ7dWLcEdPa27UVHdELGjW6UvFhnMlTbwWNcIiuNrsIJKy6FyQWDg==
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=UsfgvgSwoVgqW+6vAySJ7ebtOY1BLt5+PoIBsDBtvwg=;
 b=hyVSl+LOzZ++2imkbM1j7ObOhiDz4jBgj4gEZJfPJFZo/lkOYn0a5+aM60JZH3KVUn0G8h5/6xd8hdpWLEYkN7zYdg9SG0EdZ0P8duqvRVja41VJqxCm9IC80vhCohzYnxbSO/6CE6ARXXTS91bUpIMmqrBEgxrkaqIBhXyEXhE=
Message-ID: <16260904-c1ce-dc18-224b-03a131a92007@oracle.com>
Date: Tue, 4 Jan 2022 12:03:53 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.4.1
Subject: Re: [PATCH] xen/x86: obtain upper 32 bits of video frame buffer
 address for Dom0
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        lkml <linux-kernel@vger.kernel.org>, Juergen Gross <jgross@suse.com>
References: <a3df8bf3-d044-b7bb-3383-cd5239d6d4af@suse.com>
 <bfab8ff9-9762-f90d-3f25-b57362f05b0b@oracle.com>
 <17df4307-ace8-8798-5bce-16f4843ed830@suse.com>
From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
In-Reply-To: <17df4307-ace8-8798-5bce-16f4843ed830@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: SN7PR04CA0221.namprd04.prod.outlook.com
 (2603:10b6:806:127::16) To BLAPR10MB5009.namprd10.prod.outlook.com
 (2603:10b6:208:321::10)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 1bba41c0-7504-4f24-cfc2-08d9cfa43329
X-MS-TrafficTypeDiagnostic: MN2PR10MB4302:EE_
X-Microsoft-Antispam-PRVS: 
	<MN2PR10MB430262F81C212462D164453E8A4A9@MN2PR10MB4302.namprd10.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: 
	f4KPGjcvxUZQWT7we7IPxfg7ia8CAY2LT0Y+qXqZGznk0pX9mN59oh2Zd5O1Goia0V6bKj0qZYyUZ+74kf67OV6wGEH58ax6X1ThHmnn/XesycBy2Nd/M48c+49EysVLa1pcdpyHUdWszKOns4jBIihJCVX5DroMREme/doJPBMNakqMkk9yHFnj6ylSVv01I02Q/jQ9nqjHBwH9NGuojfgdUw/sJQr3k18pR6BGC5+jBmJpp9EPfS0aS/ICKzVvg4nejpw1n5urNbGHgDT+lnA/0wywwMo5SQzUzjNmalq1IeONgWzJBazDLIZXWVbB5PM7NTNojMquVzYwpIAjyEzW0cDBdJr1pytD+mg4LqZnbLiKk+y8hoYgXFRs3rxaV75o2i9QX9G50p01RRLkZJIDAzP39Glf845kOV8u0YffbccNCPtrgsefNjGcdvgrJuZk4OX4cZK9YxKPyZNd6u6GLzOG48wvcXehlbcbEC/XJPK6A4n+Z7h/Te0HwmbL0D1rDrtp9vWO0UxHLYvF2u+m1VL1gKsPm7xzU5+Ui623y08y6tJFA6TGt7BamS2d5nfBY5R7VSnDQYZOxUy3eq+tQUhIGbxugP1IhIrYLBl8HVAliyk3OfCPBsTC7teLVfuSD1S5IuNbdTe4pHhUE7aEjcrZfZKmf5a7zdrMSneEs3aSybykt7bTU/vt2uSJQanVkjPtAvAP0uM6jmlOo68vIiFZmzsttrwnyw3Ls2I=
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)(508600001)(66556008)(8936002)(31686004)(186003)(316002)(8676002)(6512007)(6506007)(4326008)(66946007)(66476007)(2616005)(53546011)(86362001)(36756003)(31696002)(38100700002)(2906002)(5660300002)(83380400001)(44832011)(54906003)(6916009)(26005)(6666004)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?utf-8?B?a0xxdDc1bTc0VjVDOER0dUpaeXNTY0NrTlJCOERRc3FScHdpdTZ4THp4VmJ2?=
 =?utf-8?B?K3RyTDNmUG5XelREajN2SndtOGEyUVVIaVE1TElHbnJOaVZ0VUNnbER0T3pM?=
 =?utf-8?B?ckRYVWl2bkVRUWNvQ1NZZEZQSHl5WVFxT2RrWWtOdlc2VXBEY2NlT3Y4amM4?=
 =?utf-8?B?TU8xYkNIOFI2SHhWZGptdFVXSWlXSnZCenowTzNnSmU4SmFUa3FCSEYraXZ5?=
 =?utf-8?B?VlYyTENFSzZXRnpSTDJ6QmJ2T3FRQWNwR1A3SWxHWHpmQ3ZPYk0yYnA3NkJ4?=
 =?utf-8?B?VnBKWkRoSUdONFhOeFQwbnpRWlRqYVlrRWsvd3lyMlpNWDFicnpqU0UyL25Q?=
 =?utf-8?B?QkRnQnZld0xKczErQjMxbUtta3lJRmRDZlNLWmdVenJNQzY1cmFuMFd1MDdU?=
 =?utf-8?B?NzNFWUdhbzhtWWpqRDJaZDVFN0dUU0cwbHp1clNMU3prZ3gzejBKaENQNnBU?=
 =?utf-8?B?Qk9vRXBya1cwbkdLUG5YbG53MTNTZnp3K3BlT2hmWC9LVjZlM1N2V0hxY2o0?=
 =?utf-8?B?MklBMHpLcWlGNGFDRmlQQktWazlQd3Z6RFUrclJLYjNEZjh0SUl5amVrNGZr?=
 =?utf-8?B?bUZwV1grUzJrK1B2R0FsMXVYelJRTER4R3B4d3gzem9DTFpJTmxvbmdTK3ht?=
 =?utf-8?B?Q0tvd2FFV3h6OWFTVmh6cU5RZFMvZVN6d1JSYWFVY2RRb0FwaGFTc1lvT2dY?=
 =?utf-8?B?VEpCdUE2Tk82dE1BMUNSYlVCOGh4WEdyeFA0WEdmT2RUcG5kK1JodFcrdk81?=
 =?utf-8?B?b0JoWTNDRUhyWS9YYm1HZzdUZnoyQWNWbCtDbW40cWkzYXphR0tWbTRwSGdC?=
 =?utf-8?B?YU8ydUdNUTRqbFRkT3BQcDFMOVllcGhMZHpXeWJnWjQ3WjBTcWVMcjRGbUNa?=
 =?utf-8?B?MkorM0kxb2R2dkdjTHRaUmJzSTNwNGE0VGR6M1VDQlJna0U2Z0s5RVZXR2RF?=
 =?utf-8?B?M2tqV2ZUUVFQNVBWT2JOVHlvQkVjY09RUnpHRnB2R1QxRmpjWnVpVWppYlpC?=
 =?utf-8?B?c09DSjJzYkc0YWFKUUZQa1MyL04wb2ZnVERMZVBkM0Jaak9xVklqWmpzcGVB?=
 =?utf-8?B?MzRTRWR5eDA4RWRZTHh5UHZBL2w0TE5yNmVxdEtVbjhGenhodUg0bkdBTUdJ?=
 =?utf-8?B?dHNzc0NRejZLOUdIeWdBVWp3aW00TnNQOWhDNG9IeG5scjVyMU53aDB1d0JN?=
 =?utf-8?B?WmhNcmI0dkJhRWhFNHFQRkhnR29pZnVycE1acEVXVGpJdXBlQWlKK0pIMENl?=
 =?utf-8?B?aDNYeEsxdWJ4ZkQ5aFU5UXBXT0d6VE8wODlMWjNuMzR5NjgzRDZjSCsycmxS?=
 =?utf-8?B?TXl0Q0ZDZC9sV1lKV3BHWE5MSmgwUlEzeWZNSXhoRThvOUE0TkFCcFYxSjRF?=
 =?utf-8?B?RFBKUUxVajVLcDF4ME54cHgvS2Iwa3puT2NZdlNndnFQSTV3SXl0ZjhCMWRx?=
 =?utf-8?B?M1h4VDlUNTVzYmtINkU1aXdTanlmaVRzYkJ2NlprUkgzR0h6a2ptRzJDdEF5?=
 =?utf-8?B?NENNM0VnS0hJSWRSWU1Pam43NFh0U3gveWV6L1h0RG51N1NsdEorV3N1eHls?=
 =?utf-8?B?RHBWOXFySmYvcm8rNWZWaUxFRVRiS0owTlZLOVpSeTZ6TEVBdnUrVHFzOU1P?=
 =?utf-8?B?MHhYcWduTVdZeWk1NTlhUHVEZnJFcndvS1RjZFdEZFRTeGFFc0x4bDhoQ05V?=
 =?utf-8?B?Nk1ETmIwcXpIRzB6UVFEaVN3eFZRUHZpbUNKYlBpeWh4UlFNQk10ZmZ4OWhD?=
 =?utf-8?B?RGE0eEtCeWRVQmw3aElUTE0xUXMzYW90RFgyUWtjcVRNQmc4UkhXTDZyWTcv?=
 =?utf-8?B?dzdIdkpZcHk2ajI3VkpTTWFqWXNWcmFuRlJEQkE2OFp4c3M4WHQyUlFHME94?=
 =?utf-8?B?OTNKMjR0TnZCUTJ1dDVCelBobjQ2WXV0SURHNTBrS3RnTEYxczZMRVNZdXpp?=
 =?utf-8?B?RGg2NkdXU2k1dzAzN3kxaGV5Q2FRdnp3NVovZEZLRk8yZkJrTEFUMThIdnpS?=
 =?utf-8?B?MTZHQnBqdzM3UUdTbUhPU2dzSG9jdWZZUnB5RVpRcmk1WEJLOThjdGNwclNT?=
 =?utf-8?B?Mmo4YSsxNTQ5aDBKZHI5MzFvM0dOL0RRVDR6UzVLd213RXVqbXNyWFBRWUVM?=
 =?utf-8?B?b3dFYVpILzV0eVhuY0NxRk1PZnFPQk9ob2lkdEFGOVVSY0Y3N1diYTNYdWZ4?=
 =?utf-8?B?VUo2Sk9NRE1mK3VzdVFpTG9FSlJEb2N0aXNLdjF6NG8yTXFYM1J1cEVPUnJM?=
 =?utf-8?B?UXdMT1VaeTZsVkZTU3FkUVY5YjRRPT0=?=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1bba41c0-7504-4f24-cfc2-08d9cfa43329
X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5009.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2022 17:03:59.1322
 (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: qMpFlOCZFgxmBNUNUM/s20J4j1+PqcenaZ1a3x97dFqqd45Ds53s77RiaWZqHJbCufvDK8fgtmw7XsP8hu9UO0H7PYUu/pecydIsxPRmmFc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR10MB4302
X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10216 signatures=668683
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 mlxlogscore=999 mlxscore=0
 suspectscore=0 spamscore=0 phishscore=0 malwarescore=0 bulkscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2110150000
 definitions=main-2201040114
X-Proofpoint-ORIG-GUID: t63ILhanXgBp-89bdCO9U-rVeHXLpeQJ
X-Proofpoint-GUID: t63ILhanXgBp-89bdCO9U-rVeHXLpeQJ


On 1/4/22 11:54 AM, Jan Beulich wrote:
> On 04.01.2022 17:50, Boris Ostrovsky wrote:
>> On 1/4/22 3:46 AM, Jan Beulich wrote:
>>> The hypervisor has been supplying this information for a couple of major
>>> releases. Make use of it. The need to set a flag in the capabilities
>>> field also points out that the prior setting of that field from the
>>> hypervisor interface's gbl_caps one was wrong, so that code gets deleted
>>> (there's also no equivalent of this in native boot code).
>>>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>
>>> --- a/arch/x86/xen/vga.c
>>> +++ b/arch/x86/xen/vga.c
>>> @@ -63,13 +63,17 @@ void __init xen_init_vga(const struct do
>>>    		}
>>>    
>>>    		if (size >= offsetof(struct dom0_vga_console_info,
>>> -				     u.vesa_lfb.gbl_caps)
>>> -		    + sizeof(info->u.vesa_lfb.gbl_caps))
>>> -			screen_info->capabilities = info->u.vesa_lfb.gbl_caps;
>>> -		if (size >= offsetof(struct dom0_vga_console_info,
>>>    				     u.vesa_lfb.mode_attrs)
>>>    		    + sizeof(info->u.vesa_lfb.mode_attrs))
>>
>> Do we still need this test? All 4.0+ hypervisors will have mode_attrs.
> Perhaps this could also be dropped, but unlike the capabilities part
> I'd view this as an unrelated change.


Right.


>   Furthermore even a new hypervisor
> would be free to omit the field, provided it also sets size low enough.


If this is allowed, how would we deal with hypervisor dropping some other random field here? Have we had a precedent of this happening?


I think it's safe to drop these checks. In fact, most of them in this function (except for the last one, obviously).



-boris



From xen-devel-bounces@lists.xenproject.org Tue Jan 04 17:31:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 17:31:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253374.434514 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4nef-00070L-Mz; Tue, 04 Jan 2022 17:31:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253374.434514; Tue, 04 Jan 2022 17: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 1n4nef-00070E-Jf; Tue, 04 Jan 2022 17:31:25 +0000
Received: by outflank-mailman (input) for mailman id 253374;
 Tue, 04 Jan 2022 17:31:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=P9eR=RU=tklengyel.com=tamas@srs-se1.protection.inumbo.net>)
 id 1n4nee-000708-BY
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 17:31:24 +0000
Received: from MTA-13-4.privateemail.com (mta-13-4.privateemail.com
 [198.54.127.109]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 21c8e589-6d84-11ec-9ce5-af14b9085ebd;
 Tue, 04 Jan 2022 18:31:22 +0100 (CET)
Received: from mta-13.privateemail.com (localhost [127.0.0.1])
 by mta-13.privateemail.com (Postfix) with ESMTP id 5A26D18000AC
 for <xen-devel@lists.xenproject.org>; Tue,  4 Jan 2022 12:31:20 -0500 (EST)
Received: from mail-yb1-f169.google.com (unknown [10.20.151.160])
 by mta-13.privateemail.com (Postfix) with ESMTPA id 32D1B18000A4
 for <xen-devel@lists.xenproject.org>; Tue,  4 Jan 2022 12:31:20 -0500 (EST)
Received: by mail-yb1-f169.google.com with SMTP id d1so89580393ybh.6
 for <xen-devel@lists.xenproject.org>; Tue, 04 Jan 2022 09:31:20 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 21c8e589-6d84-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=tklengyel.com;
	s=default; t=1641317480;
	bh=4whWPdijVv7TvEQER3Tm5YUZ5jjZx9Ah72SnrV6OAuY=;
	h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
	b=bgcwnqLlt1/We0YmMz3cKtdlcJGPctfTk1gMfSUh+EvBoTLJOuA3sDifoi3lXKD81
	 O1fnTXk4Tq3ppfA20xbZ7zckY0visBmS0mtQv8lRH6PM/9VhT+HWU/5cquMgLIaaGO
	 Aw2UHlKA9nLbptr/esiPv258A4y0oJ1LhMug9jR8XaObIaIQ+M1z8L5jVaaIlih952
	 UXmlLdTOITlEEl49kBpo5dNYysdCh4dtrTgBireA0VWRWP/iKAyHkFYIQVk1xIMuVs
	 ZJ3xa4fHS9/ka2SQ4KXFPCz5/x0B7NQF2l1M4TVvuSdE/HBvh9ePyaONSsOQAh0KD+
	 PvD5Ma5+Xt7qg==
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=tklengyel.com;
	s=default; t=1641317480;
	bh=4whWPdijVv7TvEQER3Tm5YUZ5jjZx9Ah72SnrV6OAuY=;
	h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
	b=bgcwnqLlt1/We0YmMz3cKtdlcJGPctfTk1gMfSUh+EvBoTLJOuA3sDifoi3lXKD81
	 O1fnTXk4Tq3ppfA20xbZ7zckY0visBmS0mtQv8lRH6PM/9VhT+HWU/5cquMgLIaaGO
	 Aw2UHlKA9nLbptr/esiPv258A4y0oJ1LhMug9jR8XaObIaIQ+M1z8L5jVaaIlih952
	 UXmlLdTOITlEEl49kBpo5dNYysdCh4dtrTgBireA0VWRWP/iKAyHkFYIQVk1xIMuVs
	 ZJ3xa4fHS9/ka2SQ4KXFPCz5/x0B7NQF2l1M4TVvuSdE/HBvh9ePyaONSsOQAh0KD+
	 PvD5Ma5+Xt7qg==
X-Gm-Message-State: AOAM531XvJZC1/akiEXr6LIK7QvCMnKB7HSnf49T5UJ88vnuf6g76Ifv
	WBLihACOPMsGyjndO+5eeDfzF+vCenNjSqGv+2k=
X-Google-Smtp-Source: ABdhPJy6KRp1h4ukPdLiasu4BqRQED7bO9tujymRktF1ewj5ppc1/9evcTQ3DSyOQ6FaYO2jTfKoSYBVlC+h+Z65wmw=
X-Received: by 2002:a25:7382:: with SMTP id o124mr47083364ybc.128.1641317479417;
 Tue, 04 Jan 2022 09:31:19 -0800 (PST)
MIME-Version: 1.0
References: <e9257e96-ede9-2809-9a77-fd4dc206badc@suse.com>
 <2e5c460b-9123-bfc3-d5c8-0922f7b2e667@suse.com> <CABfawhmo8Rrhu985cr2z2hEXrikD6c1CQSNvv+PbmFy+mUS_XQ@mail.gmail.com>
 <6a30f0ed-c431-89e6-b91f-0f4d3ac92309@suse.com>
In-Reply-To: <6a30f0ed-c431-89e6-b91f-0f4d3ac92309@suse.com>
From: Tamas K Lengyel <tamas@tklengyel.com>
Date: Tue, 4 Jan 2022 12:30:43 -0500
X-Gmail-Original-Message-ID: <CABfawh=hpdEeA47h7FA1EeDOa+zxYAo3Gu1RqzHoy17j-Kw0_w@mail.gmail.com>
Message-ID: <CABfawh=hpdEeA47h7FA1EeDOa+zxYAo3Gu1RqzHoy17j-Kw0_w@mail.gmail.com>
Subject: Re: [PATCH v2 2/3] x86/altp2m: p2m_altp2m_get_or_propagate() should
 honor present page order
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>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	George Dunlap <george.dunlap@citrix.com>, Alexandru Isaila <aisaila@bitdefender.com>, 
	Petre Pircalabu <ppircalabu@bitdefender.com>
Content-Type: text/plain; charset="UTF-8"
X-Virus-Scanned: ClamAV using ClamSMTP

On Tue, Jan 4, 2022 at 11:14 AM Jan Beulich <jbeulich@suse.com> wrote:
>
> On 04.01.2022 16:00, Tamas K Lengyel wrote:
> > On Tue, Jan 4, 2022 at 4:48 AM Jan Beulich <jbeulich@suse.com> wrote:
> >>
> >> Prior to XSA-304 the only caller merely happened to not use any further
> >> the order value that it passes into the function. Already then this was
> >> a latent issue: The function really should, in the "get" case, hand back
> >> the order the underlying mapping actually uses (or actually the smaller
> >> of the two), such that (going forward) there wouldn't be any action on
> >> unrelated mappings (in particular ones which did already diverge from
> >> the host P2M).
> >>
> >> Similarly in the "propagate" case only the smaller of the two orders
> >> should actually get used for creating the new entry, again to avoid
> >> altering mappings which did already diverge from the host P2M.
> >
> > I don't really understand the reason why you want to return the
> > page_order from the altp2m here. The only check that uses the
> > page_order following is the super-page shattering check for XSA-304
> > but that's done on the hostp2m. So you would want to know what the
> > page_order is on the hosp2m, not the altp2m, no?
>
> From what I see I would say the XSA-304 action is on the altp2m,
> not the host one - the p2m_set_entry() invocation passes "p2m",
> which gets set immediately prior to the call to
> p2m_altp2m_get_or_propagate(). This is also what gets passed into
> the function. It's the host p2m only when !altp2m_active(currd).

Oh, yea, I see. OK, makes sense.

Reviewed-by: Tamas K Lengyel <tamas@tklengyel.com>

>
> > In either case, in all the setups we use altp2m we never use any
> > superpages, the recommendation is to boot with hap_1gb=0 hap_2mb=0. I
> > never trusted the complexity of superpage shattering and its
> > implementation in Xen as it is very hard to follow.
>
> Hmm, interesting. If you're aware of bugs there, would you mind
> letting us know the details? There shouldn't be a need to use
> command line options to make altp2m actually work. If there's an
> incompatibility, and if we can't get that fixed, perhaps use of
> superpages would want suppressing when altp2m gets enabled for a
> guest? Right now, without this being enforced (nor spelled out
> anywhere in, say, a code comment), I don't think we should make
> assumptions like this. Hence the patch.

I don't know of any bugs, it's just the complexity of page-shattering
always had a "smell", thus I opted to recommend superpages being
always disabled. With the added complexity of altp2m it's even more so
the case.

Tamas


From xen-devel-bounces@lists.xenproject.org Tue Jan 04 17:49:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 17:49:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253378.434525 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4nvw-0000DK-A9; Tue, 04 Jan 2022 17:49:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253378.434525; Tue, 04 Jan 2022 17: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 1n4nvw-0000DB-5N; Tue, 04 Jan 2022 17:49:16 +0000
Received: by outflank-mailman (input) for mailman id 253378;
 Tue, 04 Jan 2022 17:49:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=P9eR=RU=tklengyel.com=tamas@srs-se1.protection.inumbo.net>)
 id 1n4nvv-0000D5-KH
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 17:49:15 +0000
Received: from MTA-09-3.privateemail.com (mta-09-3.privateemail.com
 [68.65.122.19]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a0cb8aa9-6d86-11ec-9ce5-af14b9085ebd;
 Tue, 04 Jan 2022 18:49:14 +0100 (CET)
Received: from mta-09.privateemail.com (localhost [127.0.0.1])
 by mta-09.privateemail.com (Postfix) with ESMTP id 6301B18000B3
 for <xen-devel@lists.xenproject.org>; Tue,  4 Jan 2022 12:49:12 -0500 (EST)
Received: from mail-yb1-f172.google.com (unknown [10.20.151.178])
 by mta-09.privateemail.com (Postfix) with ESMTPA id 3F68518000AD
 for <xen-devel@lists.xenproject.org>; Tue,  4 Jan 2022 12:49:12 -0500 (EST)
Received: by mail-yb1-f172.google.com with SMTP id w184so90420284ybg.5
 for <xen-devel@lists.xenproject.org>; Tue, 04 Jan 2022 09:49:12 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a0cb8aa9-6d86-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=tklengyel.com;
	s=default; t=1641318552;
	bh=8d5er3GnDxh58zzZS/5J62jxJpLw/y3t71mCWV1FLNQ=;
	h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
	b=SpKAl0/3vuPh4LoZAxzHcfCJHPxFe9uKnzt6UFQRDYuUsiOF5GlOufp2wvxNlxjYb
	 8UEWLCEooJ08I4szhS8l/I0zjAJvS2teLGPr6NhTSapes19NoXGDqdxOOV9OqmsgrE
	 Hs8cu1EcYowgq6sz9tdBiuN5Mc1EQGScCvaK4hiF0FvXYR2mBKS/+EgszQ06jdj0c3
	 Ddxvw8ySLrGHVq1GoCKwaXvz9vC3ItU+wf/U9HZxxtTevnehl9ngyklvfyXC9t4I+u
	 tDAQOhpCGUQVApkZnDKR9+GETOsKCIChdJuEszmXtSuryS0J6EqGjrax/ZGx4gcdSe
	 JftVyLrgnhQ2g==
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=tklengyel.com;
	s=default; t=1641318552;
	bh=8d5er3GnDxh58zzZS/5J62jxJpLw/y3t71mCWV1FLNQ=;
	h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
	b=SpKAl0/3vuPh4LoZAxzHcfCJHPxFe9uKnzt6UFQRDYuUsiOF5GlOufp2wvxNlxjYb
	 8UEWLCEooJ08I4szhS8l/I0zjAJvS2teLGPr6NhTSapes19NoXGDqdxOOV9OqmsgrE
	 Hs8cu1EcYowgq6sz9tdBiuN5Mc1EQGScCvaK4hiF0FvXYR2mBKS/+EgszQ06jdj0c3
	 Ddxvw8ySLrGHVq1GoCKwaXvz9vC3ItU+wf/U9HZxxtTevnehl9ngyklvfyXC9t4I+u
	 tDAQOhpCGUQVApkZnDKR9+GETOsKCIChdJuEszmXtSuryS0J6EqGjrax/ZGx4gcdSe
	 JftVyLrgnhQ2g==
X-Gm-Message-State: AOAM533jX5127UYR3rbofgY5MufgXTo6tVGmzHojUrpqjsoO7TcYDgBT
	nzN/cchgnhf9HLukQP9tE4jv+7dkLrJdebzBo/Q=
X-Google-Smtp-Source: ABdhPJzhm0ZtrInwx8+H2cgSW4bWoBw6laB9IJ8H/hHHNllwtn/7JRCtWj+Gn7RkkHAyFFK1S+CDUdv1+LZY0LHdIfk=
X-Received: by 2002:a5b:94b:: with SMTP id x11mr43831717ybq.344.1641318551532;
 Tue, 04 Jan 2022 09:49:11 -0800 (PST)
MIME-Version: 1.0
References: <e9257e96-ede9-2809-9a77-fd4dc206badc@suse.com> <d1b6aede-2c0a-df7a-7815-73ad4d795899@suse.com>
In-Reply-To: <d1b6aede-2c0a-df7a-7815-73ad4d795899@suse.com>
From: Tamas K Lengyel <tamas@tklengyel.com>
Date: Tue, 4 Jan 2022 12:48:35 -0500
X-Gmail-Original-Message-ID: <CABfawhmGxHBEC1M2=zo11K11Yr_TdWFkkVpDpVimy_uvD4nxyQ@mail.gmail.com>
Message-ID: <CABfawhmGxHBEC1M2=zo11K11Yr_TdWFkkVpDpVimy_uvD4nxyQ@mail.gmail.com>
Subject: Re: [PATCH RFC v2 3/3] x86/altp2m: p2m_altp2m_propagate_change()
 should honor present page order
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>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	George Dunlap <george.dunlap@citrix.com>, Alexandru Isaila <aisaila@bitdefender.com>, 
	Petre Pircalabu <ppircalabu@bitdefender.com>
Content-Type: text/plain; charset="UTF-8"
X-Virus-Scanned: ClamAV using ClamSMTP

> I may be entirely wrong and hence that part of the change may also be
> wrong, but I'm having trouble seeing why the original
> "!mfn_eq(m, INVALID_MFN)" wasn't "mfn_eq(m, INVALID_MFN)". Isn't the
> goal there to pre-fill entries that were previously invalid, instead of
> undoing prior intentional divergence from the host P2M? (I have
> intentionally not reflected this aspect in the description yet; I can't
> really write a description of this without understanding what's going on
> in case the original code was correct.)

This function only gets called from p2m-ept when the hostp2m gets an
update. In that case this check goes through all altp2m's to see if
any of them has an entry for what just got changed in the host, and
overwrites the altp2m with that from the host. If there is no entry in
the altp2m it doesn't pre-populate. That should only happen if the
altp2m actually needs it and runs into a pagefault. So it is correct
as-is, albeit being a subtle (and undocumented) behavior of the
hostp2m and its effect on the altp2m's. But that's why we never
actually make any changes on the hostp2m, we always create an altp2m
and apply changes (mem_access/remapping) there.

Tamas


From xen-devel-bounces@lists.xenproject.org Tue Jan 04 21:42:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 21:42:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253402.434541 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4rYz-0007G1-50; Tue, 04 Jan 2022 21:41:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253402.434541; Tue, 04 Jan 2022 21: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 1n4rYz-0007Fu-1s; Tue, 04 Jan 2022 21:41:49 +0000
Received: by outflank-mailman (input) for mailman id 253402;
 Tue, 04 Jan 2022 21:41:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ud3B=RU=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1n4rYx-0007Fo-Gs
 for xen-devel@lists.xenproject.org; Tue, 04 Jan 2022 21:41:47 +0000
Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com
 [2a00:1450:4864:20::434])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1cf09c1c-6da7-11ec-81c0-a30af7de8005;
 Tue, 04 Jan 2022 22:41:45 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id i22so78798381wrb.13
 for <xen-devel@lists.xenproject.org>; Tue, 04 Jan 2022 13:41:45 -0800 (PST)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id p11sm44710049wru.99.2022.01.04.13.41.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 04 Jan 2022 13:41:44 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1cf09c1c-6da7-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=8xWQ8o/+yLX+b4GmO17LP9TMt5AaOLPvSPN898Ye1Q4=;
        b=EGghD9kcmAayNbGhLOUSIJXTErkIlKsuNIOPbjWp20sDnlvLEuRzDctSgqLMgw4cEP
         WQQtLS5tw6mrbKUJw7/BjSYQj2fi8WNzmYoCbT+CFUeLmSGpVO4zX+39/KyVKoxu8sPg
         XCo6XzRu3EFs4v7OpBWkpm0YRrJqpW6g4M1E9TR0Z0jpy47Gqj2vPDWclVVlK7m6UXDu
         kjiocZ5g5ee8oJCAa96jRQXVRXBCXE4IYAh99M9aLRmiAzduX453QzoGxvL1z6qTAr7/
         L2rIToFmhtT7U+P0Agl9nxb8Ri701J/is9ZbNnk8NlCMULczIZyb4J5Q58GOCjlVsBjS
         OBIg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        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=8xWQ8o/+yLX+b4GmO17LP9TMt5AaOLPvSPN898Ye1Q4=;
        b=x9amqgJU4AyzPQgc6hV7QAEOozDUzkOgDmu9r5L+BJxVr2K99AnRMyCGETYuOVnGOp
         IcDs8tqbHUfkyE8TKqUNAwWxKvl0eO8CR3M0mGDhiLU8rdvKmyfl4cQnVER4+QvOAFEV
         h2gJ4YKOwZV0DToEn5UbhqfghoIZej6qISYrnTcM4G3OXNpIEPtto/2l7sP5iav3bJIR
         I8JSocLICg1yAEhzND1kZkZqO8bkA3BdqkVNDrEndJXjFlg08pSyuq+s5q8vZIpHJiZz
         Tb8JoATJxIEnnUk32N8VL+uADIB+XIDbSqQp7nXky4U0ocywWbfMpJGlgOsulGmoOwHE
         Oibg==
X-Gm-Message-State: AOAM532LgQ+FTLj5j963fIaqedYwDx94pPCShKAlylbFG9Bp1WHFtyQd
	6WzLGdfSxM463nXmIfijvSM=
X-Google-Smtp-Source: ABdhPJzBYzuswDs3E6f8lm23QrGACTX4a0Kf+tqeA3I2mEAfjf7Whg18r4ClGAA3TG0LMid1ZUNK4Q==
X-Received: by 2002:adf:f985:: with SMTP id f5mr44420104wrr.14.1641332505061;
        Tue, 04 Jan 2022 13:41:45 -0800 (PST)
Subject: Re: [PATCH V4] xen/gnttab: Store frame GFN in struct page_info on Arm
To: Jan Beulich <jbeulich@suse.com>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.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>, Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org,
 Julien Grall <julien@xen.org>
References: <1638563610-4419-1-git-send-email-olekstysh@gmail.com>
 <ebfaf88c-38a8-638c-298e-a92e5827baf1@suse.com>
 <6f4813ce-5d23-2192-fabc-e933241cf30e@gmail.com>
 <c1c043b1-bffd-f758-f7b0-fd08539550a5@suse.com>
 <f8ac8922-0695-7666-8585-92a089164e44@xen.org>
 <57616176-938b-2125-fe34-4fadf2b4f816@suse.com>
 <74a0ca4a-b091-77e6-ddb4-490d2a0a0f4b@xen.org>
 <6548d378-aaca-2efd-2194-7725aaf0548d@gmail.com>
 <4b4d9543-e7ba-5664-effd-03fc6336f898@suse.com>
From: Oleksandr <olekstysh@gmail.com>
Message-ID: <b4832284-9bfc-d600-14b1-1784f53e5d9f@gmail.com>
Date: Tue, 4 Jan 2022 23:41:43 +0200
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: <4b4d9543-e7ba-5664-effd-03fc6336f898@suse.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US


On 04.01.22 10:36, Jan Beulich wrote:

Hi Jan


> On 22.12.2021 13:44, Oleksandr wrote:
>> On 22.12.21 14:33, Julien Grall wrote:
>>> Hi Jan,
>>
>> Hi Julien, Jan
>>
>>
>>
>>> On 22/12/2021 13:05, Jan Beulich wrote:
>>>> On 22.12.2021 11:01, Julien Grall wrote:
>>>>> On 14/12/2021 17:45, Jan Beulich wrote:
>>>>>> On 14.12.2021 17:26, Oleksandr wrote:
>>>>>>> On 14.12.21 15:37, Jan Beulich wrote:
>>>>>>>> On 03.12.2021 21:33, Oleksandr Tyshchenko wrote:
>>>>>>>>> @@ -2177,14 +2181,22 @@ void *alloc_xenheap_pages(unsigned int
>>>>>>>>> order, unsigned int memflags)
>>>>>>>>>          void free_xenheap_pages(void *v, unsigned int order)
>>>>>>>>>      {
>>>>>>>>> +    struct page_info *pg;
>>>>>>>>> +    unsigned int i;
>>>>>>>>> +
>>>>>>>>>          ASSERT(!in_irq());
>>>>>>>>>              if ( v == NULL )
>>>>>>>>>              return;
>>>>>>>>>      +    pg = virt_to_page(v);
>>>>>>>>> +
>>>>>>>>>          memguard_guard_range(v, 1 << (order + PAGE_SHIFT));
>>>>>>>> ... this really want to (logically) move into the new arch hooks.
>>>>>>>> That'll effectively mean to simply drop the Arm stubs afaict (and I
>>>>>>>> notice there's some dead code there on x86, which I guess I'll make
>>>>>>>> a patch to clean up). But first of all this suggests that you want
>>>>>>>> to call the hooks with base page and order, putting the loops there.
>>>>>>> I see your point and agree ... However I see the on-list patches that
>>>>>>> remove common memguard_* invocations and x86 bits.
>>>>>>> So I assume, this request is not actual anymore, or I still need
>>>>>>> to pass
>>>>>>> an order to new arch hooks? Please clarify.
>>>>>> Well, that patch (really just the Arm one) effectively takes care of
>>>>>> part of what I did say above. Irrespective I continue to think that
>>>>>> the hook should take a (page,order) tuple instead of getting invoked
>>>>>> once for every order-0 page. And the hook invocations should be placed
>>>>>> such that they could fulfill the (being removed) memguard function
>>>>>> (iirc that was already the case, at least mostly).
>>>>> IIUC your suggestion, with your approach, alloc_xenheap_pages() would
>>>>> look like:
>>>>>
>>>>>         for ( i = 0; i < (1u << order); i++ )
>>>>>             pg[i].count_info |= PGC_xen_heap;
>>>>>
>>>>>         arch_alloc_xenheap_pages(pg, 1U << order);
>>>> Like Oleksandr said, the 2nd argument would be just "order".
>>>>
>>>>> The Arm implementation for arch_alloc_xenheap_pages() would also
>>>>> contain
>>>>> a loop.
>>>>>
>>>>> This could turn out to be quite expensive with large allocation (1GB
>>>>> allocation would require 16MB of cache) because the cache may not have
>>>>> enough space contain all the pages of that range. So you would have to
>>>>> pull twice the page_info in the cache.
>>>> Hmm, that's a fair point. I assume you realize that a similar issue of
>>>> higher overhead would occur when using your approach, and when some
>>>> memguard-like thing was to reappear: Such mapping operations typically
>>>> are more efficient when done on a larger range.
>>> Yes, I was aware of that when I wrote my message. However, they are
>>> not necessary at the moment. So I think we can defer the discussion.
>>>
>>>>   Since that's only a
>>>> hypothetical use at this point, I'm willing to accept your preference.
>>>> I'd like us to consider one more aspect though: All you need on Arm is
>>>> the setting of the exact same bits to the exact same pattern for every
>>>> struct page_info involved. Can't we simply have an arch hook returning
>>>> that pattern, for generic code to then OR it in alongside PGC_xen_heap?
>>> arch_alloc_xenheap_pages() will modify inuse.type_info so we can't or
>>> the value to PGC_xen_heap.
>> I wonder, can we apply pattern here at alloc_heap_pages() when
>> initializing type_info?
>> https://xenbits.xen.org/gitweb/?p=xen.git;f=xen/common/page_alloc.c;hb=refs/heads/master#l1027
>> If yes, the next question would be what indicator to use here to make
>> sure that page is really xenheap page.
> Technically that would seem to be possible, by way of passing yet another
> argument into alloc_heap_pages(). I'm not (yet) convinced, though, of this
> being desirable.

Yes, adding an extra argument would work, but I also don't like that 
idea much. I meant
to determine somehow from the existing arguments (zone_*, memflags) that 
a particular page is a xenheap page.


>
>> I also wonder, can we apply pattern for all type of pages here (without
>> differentiating)?
> I'm afraid I don't understand this part: How could we get along without
> differentiating Xen heap and domain heap pages?

I was thinking, what bad could happen if we would simply use the following:

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 50334a0..97cf0d8 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -1024,7 +1024,7 @@ static struct page_info *alloc_heap_pages(
                                  &tlbflush_timestamp);

          /* Initialise fields which have other uses for free pages. */
-        pg[i].u.inuse.type_info = 0;
+        pg[i].u.inuse.type_info = PGT_TYPE_INFO_INIT_PATTERN;
          page_set_owner(&pg[i], NULL);

      }


on Arm:
#define PGT_TYPE_INFO_INIT_PATTERN   PGT_gfn_mask
or
#define PGT_TYPE_INFO_INIT_PATTERN   gfn_x(PGT_INVALID_XENHEAP_GFN)

on x86:
#define PGT_TYPE_INFO_INIT_PATTERN   0


Yes, we apply this pattern to *all* pages, although the gfn portion is 
only used for xenheap pages.
I might mistake but I think this pattern (which doesn't set any bits 
outside of the gfn portion) is harmless for non-xenheap pages, albeit an 
extra action.

Well, if not appropriate I will follow the advise to OR the pattern in 
alloc_xenheap_pages(). For !CONFIG_SEPARATE_XENHEAP the loop is already 
there, but for CONFIG_SEPARATE_XENHEAP new loop is needed.


Thank you.


>
> Jan
>
-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Tue Jan 04 21:56:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 04 Jan 2022 21:56:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253414.434584 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4rnJ-0000m0-PB; Tue, 04 Jan 2022 21:56:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253414.434584; Tue, 04 Jan 2022 21:56: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 1n4rnJ-0000lt-MF; Tue, 04 Jan 2022 21:56:37 +0000
Received: by outflank-mailman (input) for mailman id 253414;
 Tue, 04 Jan 2022 21:56: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 1n4rnH-0000lj-Q8; Tue, 04 Jan 2022 21:56: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 1n4rnH-00055a-Nw; Tue, 04 Jan 2022 21:56: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 1n4rnH-0007Cg-F7; Tue, 04 Jan 2022 21:56:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n4rnH-0007VD-Ef; Tue, 04 Jan 2022 21:56:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=m4hpClZwVk5r0Q0jPhGw0oT21inAVZyVRatQE8F9jOg=; b=RS0F1wBQwFx5l9+2yLbr6/n5M6
	WGXs+ss0yjPcSxf8Cu+Tg7O70giCAtJdBiuV264TQg3bdhl7UYhg5yzEiZkBxYUpSmVP+ZZOlGKxZ
	TszZPVq/fULdaGhdMuD5dnRUcfTHj9JB9X+3oRmPFUWqvz4csf3ahwdv0TnLPOU1iwf8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167603-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167603: 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-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-qcow2:saverestore-support-check: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-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt: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: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-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-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=af0c5430a82c77432729d61c9b409dd32c477b20
X-Osstest-Versions-That:
    xen=f1e268b9fd13647e1f69c8ce0ae7be401d319fc8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 04 Jan 2022 21:56:35 +0000

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

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

version targeted for testing:
 xen                  af0c5430a82c77432729d61c9b409dd32c477b20
baseline version:
 xen                  f1e268b9fd13647e1f69c8ce0ae7be401d319fc8

Last test of basis   167597  2022-01-04 01:52:57 Z    0 days
Testing same since   167603  2022-01-04 13:06:54 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Jan Beulich <jbeulich@suse.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   f1e268b9fd..af0c5430a8  af0c5430a82c77432729d61c9b409dd32c477b20 -> master


From xen-devel-bounces@lists.xenproject.org Wed Jan 05 01:32:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Jan 2022 01:32:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253465.434631 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n4v9z-0001V4-Am; Wed, 05 Jan 2022 01:32:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253465.434631; Wed, 05 Jan 2022 01: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 1n4v9z-0001Ux-5X; Wed, 05 Jan 2022 01:32:15 +0000
Received: by outflank-mailman (input) for mailman id 253465;
 Wed, 05 Jan 2022 01:32:13 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n4v9x-0001Um-Lx; Wed, 05 Jan 2022 01:32: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 1n4v9x-0002ld-JR; Wed, 05 Jan 2022 01:32: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 1n4v9w-00055q-VR; Wed, 05 Jan 2022 01:32:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n4v9w-0006Se-Uy; Wed, 05 Jan 2022 01:32:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=JRdy1U/kLNzN9tvqHMjxKrfeIKlpI35s5aOtKd+1bAc=; b=UOgS4ixp3P1MyUiZRMR3xy73EP
	qImCRo2uOFOiDhe2wNFqRuGqj9iHxDultbrFdZ8co6PMVZW/qGs2nAy4m45i0uwRPWZH/VF2DMrdJ
	TQSQrwvtWoAJPmSibRTZG6VRrocqJ+YWkeferEJCqr182iKuipWAQVr1VO0fRL8Vw5go=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167604-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167604: 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-armhf-armhf-libvirt-qcow2: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-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: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-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-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-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-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=67e41fe0cfb62e6cdfa659f0155417d17e5274ea
X-Osstest-Versions-That:
    qemuu=b5a3d8bc9146ba22a25116cb748c97341bf99737
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 05 Jan 2022 01:32:12 +0000

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

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 167596
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167596
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167596
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167596
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167596
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167596
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167596
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167596
 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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-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-arm64-arm64-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-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                67e41fe0cfb62e6cdfa659f0155417d17e5274ea
baseline version:
 qemuu                b5a3d8bc9146ba22a25116cb748c97341bf99737

Last test of basis   167596  2022-01-03 21:38:20 Z    1 days
Testing same since   167604  2022-01-04 18:08:12 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Cédric Le Goater <clg@kaod.org>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Fabiano Rosas <farosas@linux.ibm.com>
  Matheus Ferst <matheus.ferst@eldorado.org.br>
  Richard Henderson <richard.henderson@linaro.org>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   b5a3d8bc91..67e41fe0cf  67e41fe0cfb62e6cdfa659f0155417d17e5274ea -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Wed Jan 05 07:31:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Jan 2022 07:31:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253495.434642 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n50lL-00033e-Do; Wed, 05 Jan 2022 07:31:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253495.434642; Wed, 05 Jan 2022 07: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 1n50lL-00033X-A3; Wed, 05 Jan 2022 07:31:11 +0000
Received: by outflank-mailman (input) for mailman id 253495;
 Wed, 05 Jan 2022 07:31:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=VMO2=RV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n50lJ-00033R-Bk
 for xen-devel@lists.xenproject.org; Wed, 05 Jan 2022 07:31:09 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6f21b76e-6df9-11ec-81c0-a30af7de8005;
 Wed, 05 Jan 2022 08:31:02 +0100 (CET)
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur03lp2059.outbound.protection.outlook.com [104.47.8.59]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-20-ufvvqxvHOwizCwFz2tLCuA-1; Wed, 05 Jan 2022 08:31:00 +0100
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.4844.15; Wed, 5 Jan
 2022 07:30:58 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.016; Wed, 5 Jan 2022
 07: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>
X-Inumbo-ID: 6f21b76e-6df9-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641367862;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=oZeurADfT+LtboVSVm4zvleaXS5CI4koH4YhLOvYJjk=;
	b=iyVUrKdCmZbvW/s1QVCu/Uc5TPcew7GjV0WJa87rz8FTfzQle9gexL3zJqhU8zp1a3FErK
	hPkhBbrVzBAInp6Dx11g9W4YQvDOLov9sGTuqyMlTFPQkl9BlM3mCXCIQiCBIhzAgQ99Pp
	S+BgApKweiISx9Mqbktyqzb+oTuP8Ls=
X-MC-Unique: ufvvqxvHOwizCwFz2tLCuA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=P/D8sSHj6wYo+szT5BrEh0OcwYbqrWa5tFmDNTp9ijwzfj+eQi9AQ0sC7b79Z56DMCsQ30wrxZK/wecMPx3tMG2zPIA3mO2Tw45pwbnyMMx0L+/ll/ay9/gfbNCBZ1dUkX+taF9+FtoNU2gcKqeDkbiZwoE3rUQLInBVF0Etf70DFxM/llNKbbV+Yt/p7cg3r9Sr2PBAOeSCjp/+X8/JFnNgnmXKtBHJVkVHpRgy7JL83KyXZ15Ii2HI1U3YhwMBCLvctB5pegFYEvSsmbjiwKNH4+9RqQNj46G5mpOX6hP5Lnf2B90yenjglHIfL3iJK78QUCq5OTSCMNN+iwodwQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7OWzSbjz7WWvMI1pLQNRfR4ujfIx1CWbjr4ISltF/CA=;
 b=kK9NDD2AgGVqppBQUg/hSSgvApae7jz3VCp4gIeD8rfWEVgejXD4POyQtrLyhuti+VT1Ai6uardZpqPj38SBFOpjwgFI6Zv8Ydr1hZbAPvajKwEgmn1ryqU0ACXwxiGlMI6XvXDM+uTd8qQgGr6HGtSdk+jbV9ys8IJpQcJpeOgC0NBw3bxrOWoMGYBgkfn+HMi/6/XI7p47LB49W5NlTti/S8b/RPYUcwwdpQPGEgRlYvQsxZ9gl4So19RVUGeuxSiVFCt3fNdejbU2TIHvx86UQF5eULhqfC8gQ5AzLs4Cs9iP65Dzich5rq5p7ytRHGu57jftsfl0Iti9YI3npw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <55f00c70-d1de-a523-a805-0b97b7f57b9a@suse.com>
Date: Wed, 5 Jan 2022 08:30:54 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH V4] xen/gnttab: Store frame GFN in struct page_info on Arm
Content-Language: en-US
To: Oleksandr <olekstysh@gmail.com>
CC: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.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>, Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org,
 Julien Grall <julien@xen.org>
References: <1638563610-4419-1-git-send-email-olekstysh@gmail.com>
 <ebfaf88c-38a8-638c-298e-a92e5827baf1@suse.com>
 <6f4813ce-5d23-2192-fabc-e933241cf30e@gmail.com>
 <c1c043b1-bffd-f758-f7b0-fd08539550a5@suse.com>
 <f8ac8922-0695-7666-8585-92a089164e44@xen.org>
 <57616176-938b-2125-fe34-4fadf2b4f816@suse.com>
 <74a0ca4a-b091-77e6-ddb4-490d2a0a0f4b@xen.org>
 <6548d378-aaca-2efd-2194-7725aaf0548d@gmail.com>
 <4b4d9543-e7ba-5664-effd-03fc6336f898@suse.com>
 <b4832284-9bfc-d600-14b1-1784f53e5d9f@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <b4832284-9bfc-d600-14b1-1784f53e5d9f@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS9PR06CA0061.eurprd06.prod.outlook.com
 (2603:10a6:20b:464::35) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2450f7d2-c513-4037-20aa-08d9d01d5061
X-MS-TrafficTypeDiagnostic: VI1PR04MB5325:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB5325AD23BA61565DDF1CED3AB34B9@VI1PR04MB5325.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:
	M5riwIMxOaf84wOy33Bf3jvY6fDEONG0yFFCbAqyw9wBLTbTM1bi67tenDMaNZNp+Tq9CGBMDb+4BxTjYfWxT3u4d4bl86KWUEq5FrHH77qWuyhFunDnSI7C80cTyrmgV6rbVVZLqR2X0224oMA+JC9L8kGR10WQT4DQzl4Mcg1o3IiNP2FRaEZ12XOZHS3xkPn2YHr7Sjob0QCclMTRnjWf8XwQjtj75ZTJXqdJizP7nPhd9EtKmnxYS9OCwEEf8+cLQwYq9JQ43ApeMzGZiBon0lYYDbPtKgs0Kfsq/kC4k6WOQ0+yc1ximhux6uut4X5Bj6A2gShhnWFs6Gz+uO2FGWGjNXBhxbkW/aa4NJ6Ru2B8me9NXJQNVUxI1O5xCXbwwM2k8XQtg0BlDtqsVYNjm8OnpvqGwqq5hlcCnbOVilzHQGy0Pitr5TSP0ejrQWaqRAO+Bpz+jb02ON9BIqkNQsOFdYxKo1unZ/OaGqsHC0kCJC15XUFr2+93IMXuHfFqPF7dl1ckjFp5EPVeBFqJBbvNqezB41MxWNSnIMHcntMqWSYRj6Jcielvft8UNvpEdxTSHainBq2D+qU+DsV3guZ4hhO3daj6JiNzhmwr9aSHcNHHNQ0NUqp1ID1sVKneeirronb5/iFWEUliZc99FvjVW9XzAbTyhRAvMjJsCiK7CzR6JQGVdY9ry/cllg3SinCc1UCIvNRCd9K1Zq5aNcgfCBSHOoZ78pmyciY=
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)(8676002)(66946007)(6512007)(2616005)(5660300002)(6486002)(186003)(8936002)(38100700002)(316002)(4326008)(86362001)(36756003)(54906003)(26005)(66556008)(31686004)(508600001)(7416002)(2906002)(53546011)(6506007)(31696002)(6916009)(6666004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?zgAzn4R3JwzyjrSSIn3ydgbEDMLdpF/udmjzEaeMmEQr736CBilbnidV94Ml?=
 =?us-ascii?Q?+XrI4HsNn3WMtUtFt8gTheph1cT+9IZmWt2jepFvpNFB4DkWeF9/ufBRZYxo?=
 =?us-ascii?Q?F+wgnkWTlzkPVtLDLNJB1XqWta95LpXETH12bl0YF+WeUfWCdCUCgXG0NpoK?=
 =?us-ascii?Q?pavIc/avnBPG5G8gAuS3RrgnoEjyF1YyOLbHkQceuQhRUKWx5n722D7+0iSc?=
 =?us-ascii?Q?sKdT0RxdQNcJQDPRYLIkrb6hAZeLSysYoNjWLGQ4KtL6jC87Y7yOkZ6BimR8?=
 =?us-ascii?Q?KdUCG3pbXjDuVloZWR6qqFZT5P9en0RxebQ8UWj0mCA7oVnYauHtFU4NdqIR?=
 =?us-ascii?Q?fQxI7VVceraKckLu703m9WUCyeQoiSXki7JOpfdDoW+YWM2i7B503ec/4xGU?=
 =?us-ascii?Q?E69U1xHnUmkSGfl/9VUCeELvJVNFNUQWY+8cD8cb3oXc6i65cHso+OYV+PtL?=
 =?us-ascii?Q?5N0uHurxkneZ8BfhJIGJOQzP3lch1sOY2UYDQH5+N5rlUYbBP1ABoMrUEn9j?=
 =?us-ascii?Q?dhp4rFJVQU42be8np6swYAoVVoi2yeN4NbgBBxwmnv8A9bWrLAFIllEnTk8M?=
 =?us-ascii?Q?5e2PKvlyYJeUMntyMo247KzuPKs8g6q6YU/jlyNVjU9jL5V4avm07JcA2zTE?=
 =?us-ascii?Q?bVfJ2KeCY+EGVQDTuNM3MtMrzyWTaR4MAP5qp/p30PaYoaBMcwy1P5ZMuSmn?=
 =?us-ascii?Q?8zBHk4VZpSXT/C3pti2JAWaY/wOvab1GqEe6Im693aXgsQzaEAgrXNpTGA6y?=
 =?us-ascii?Q?PZ/pZtsqy60G1qx5Yu22m6RGrsge93RC9lVvnQQ4w0wbW/NtNAsVzPKtsJnS?=
 =?us-ascii?Q?mTj3kpxnydkR92cTiHnf2jWW/bLmUpr59WRlOHdWJgVZGCSIzNIuuExwSIFZ?=
 =?us-ascii?Q?SRoUtEz6ibp3CX9IRXIWEVu8AFBlcyr3qejV0Kv6N1pEafS4OT5+EuXWjXhY?=
 =?us-ascii?Q?Mzckx62qNjdYfWelB/xnVGumr44G5h6Q4ucjePabuCSidzqJNCDuvDt8Fons?=
 =?us-ascii?Q?NRliEjkCYBe+zamLE6E5MJOf07oBulsjXjzKkK4tUlkYC8TjP0G+vYAat/jY?=
 =?us-ascii?Q?4m6Y6Qro+1aua2uBT/PqXgZ9MudMf2tU9sdQGtqLv8HqFPAMNYBBZHrG62qJ?=
 =?us-ascii?Q?66NRepZH17AI0xcHmIe7RZmqOINALyMNpzQjcsPDMpAhPVb5AoHKGENbd+QB?=
 =?us-ascii?Q?wr/iRZkkYUvvig6yl28oqDLSogPxoZNKqHzgF/qPCGTnr3HT8ItJ68o0VSIZ?=
 =?us-ascii?Q?g1Z5va5tvu8MjWjUHK1hnQvnNX2vw54ekqd6rPM5tdo4GEuFJQSc0+YYcsan?=
 =?us-ascii?Q?bP5SlspsY5pPVcsC1+9fPvYAEGdGhwlPpzGcZDyojX3MoptqClnZ6AkU9C0A?=
 =?us-ascii?Q?L3Lo96bm4PCINokzXygcC3vq76ovmGScOVhtunLp80rfnFYpQ1G8tYJuq3FF?=
 =?us-ascii?Q?AGoyvUCLXMDLCNFuZYVQkU++sjhbJTrzBi6Jpm6KDKJKFhaDqkQiWxCFq5ks?=
 =?us-ascii?Q?9yKpW7VOLi7iGmVY+YCTsiAGce9cORWOy6/OmgBKwsqv5f+2/wAu2m1lYBTb?=
 =?us-ascii?Q?A7NOf0xPSW9+eKVFSh0K3/XAxAxZCYuIfs9nAQWi3UtJC3lWUhIVmUB9NFiu?=
 =?us-ascii?Q?s3h5gfdjB4QFQbrvHv/X2JI=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2450f7d2-c513-4037-20aa-08d9d01d5061
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2022 07:30:57.2346
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: M3dqFGClUJo/udYS8tToeAbZ97Lu2d5T17I3ahP9Zy7TgEcyBvyMb7N3MuCsk2HmV0hCJuzuukDfjkEHrA3VXw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5325

On 04.01.2022 22:41, Oleksandr wrote:
> On 04.01.22 10:36, Jan Beulich wrote:
>> On 22.12.2021 13:44, Oleksandr wrote:
>>> I also wonder, can we apply pattern for all type of pages here (without
>>> differentiating)?
>> I'm afraid I don't understand this part: How could we get along without
>> differentiating Xen heap and domain heap pages?
>=20
> I was thinking, what bad could happen if we would simply use the followin=
g:
>=20
> diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
> index 50334a0..97cf0d8 100644
> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -1024,7 +1024,7 @@ static struct page_info *alloc_heap_pages(
>  =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &tlbflush_timestamp);
>=20
>  =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Initialise fields wh=
ich have other uses for free pages. */
> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 pg[i].u.inuse.type_info =3D 0=
;
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 pg[i].u.inuse.type_info =3D P=
GT_TYPE_INFO_INIT_PATTERN;
>  =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 page_set_owner(&pg[i], =
NULL);
>=20
>  =C2=A0=C2=A0=C2=A0=C2=A0 }
>=20
>=20
> on Arm:
> #define PGT_TYPE_INFO_INIT_PATTERN=C2=A0=C2=A0 PGT_gfn_mask
> or
> #define PGT_TYPE_INFO_INIT_PATTERN=C2=A0=C2=A0 gfn_x(PGT_INVALID_XENHEAP_=
GFN)
>=20
> on x86:
> #define PGT_TYPE_INFO_INIT_PATTERN=C2=A0=C2=A0 0
>=20
>=20
> Yes, we apply this pattern to *all* pages, although the gfn portion is=20
> only used for xenheap pages.
> I might mistake but I think this pattern (which doesn't set any bits=20
> outside of the gfn portion) is harmless for non-xenheap pages, albeit an=
=20
> extra action.

I wouldn't mind this, but it's largely to the Arm maintainers to be
happy with it, i.e. not foreseeing present or latent issues.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 05 07:42:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Jan 2022 07:42:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253501.434653 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n50wY-0004cR-Kf; Wed, 05 Jan 2022 07:42:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253501.434653; Wed, 05 Jan 2022 07:42:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n50wY-0004cK-HY; Wed, 05 Jan 2022 07:42:46 +0000
Received: by outflank-mailman (input) for mailman id 253501;
 Wed, 05 Jan 2022 07:42:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=VMO2=RV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n50wX-0004c8-MY
 for xen-devel@lists.xenproject.org; Wed, 05 Jan 2022 07:42:45 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 10e00ca7-6dfb-11ec-81c0-a30af7de8005;
 Wed, 05 Jan 2022 08:42:43 +0100 (CET)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2057.outbound.protection.outlook.com [104.47.6.57]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-14-Z-7P2VWbOQqIyOulViKLeA-1; Wed, 05 Jan 2022 08:42:42 +0100
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.4844.15; Wed, 5 Jan
 2022 07:42:40 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.016; Wed, 5 Jan 2022
 07:42:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 10e00ca7-6dfb-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641368563;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=cOyjxSgnVUtjw5WN6/ig+nJi25Soou3eD/E3ggt2ncU=;
	b=gd+QsR3Q0V5owsggpX4R0MwJT+ZJdWJWIg2E05bxdAA9yFoXmvlbR+c+5veHUNMLwoga4Y
	QzifDmhZKJRvOYjv5Uu5+d1e89oS7O/2egxBQTIjuO9b4BLnAtQxowKdtWZmxNDPd4Wnjf
	o/pEti2gB2WdHEK2t20w8jw73k4LFY0=
X-MC-Unique: Z-7P2VWbOQqIyOulViKLeA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GeIhgkFEr4Q/1bxIsi/nRVhAyzasZsW/OWnwFmufshv86WquAunVa+xyIuj6z9ZjxbC3hOrsJO0wPDHrVntjHJFuSMCKi3spRG8fS1MbCQWF0zGv0tQswt0m4k3zTk1YvpEPvxtDnkVkIl0loiY98PlfWR/eerTnku6WkcXjhIBltMle1AbZE+SB0OsdplzMgPWMJ8eNO9Z3Mi79i5860j9jLiNYlZnhTNWMMSGflLV+m0C4CiUn7aqTeEZXoFBpc4cIjGCLw0c6qAW8ldtixrfEntx+CnXFFCg8ndssM+wz0PX+Jyy0dzo5ISYTjTIrR4T4k7gScauXmBjifYaHTA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cOyjxSgnVUtjw5WN6/ig+nJi25Soou3eD/E3ggt2ncU=;
 b=Is09twgxqQMGAxauchZd9aEXolxPv6CV0Wv2uGK51rZBhN16jXlMhteiLNAmXGApqN4w++GSl8FZkC40rjBcMj78vQzjJkQ0CYRMCysLF4SI7+AR9PH2E5qQbhAKgY1nunMF7nfUnaLDCXAeKEImJoBipm6/r+sp7PdVaMsmZ4tL0uxwiHw0MPlz6Q9otz+nj5ThWczf///25hjSSbzFEO1gAqjKQ628ZyyiYS9dqqCv/lhH+/OPLFLVqG9Te8XFI/hWv+jy6eNV6H/qsol/KPfo8IwB1+i3aFGkAxN32hIvxfoNBRGm8Hcup14b/K7c8k1zXRz2CT7WOpKXBqjSbg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <24fe976e-080f-e6d3-8bee-d0d58119b902@suse.com>
Date: Wed, 5 Jan 2022 08:42:38 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Ping: [PATCH 0/9] gnttab: further work from XSA-380 / -382 context
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <eb7bbd51-1da3-9a7f-27c7-49dea1a41488@suse.com>
In-Reply-To: <eb7bbd51-1da3-9a7f-27c7-49dea1a41488@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR1001CA0069.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:206:15::46) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4f1b3924-7347-4604-3ca7-08d9d01ef3a2
X-MS-TrafficTypeDiagnostic: VE1PR04MB6381:EE_
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB638191E24D48D0EAA5C466A4B34B9@VE1PR04MB6381.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:
	EVk3ZIxIj/Ok5RnViSNX1jhFqvkcz+N+i1LQVAJruQg5AlN7F/aS+23y3cpiZh/DWk682iRhFtzIsrpii/kvbycRSrxxONmGqn+BnVzFceAP0ZyssPNaNQttH7gQW29zk8ori6eQEHG0ixYYSndt4BpIfILk47EIvubU+YqXWdS0wUp0hBmaPRQCH8wLe2ooNmMHJHz7vkzTmTMKOfsxUSiWpuP1GVU9wlLHo3C/6/033AEjcb92Je78LCxh5tZW5f6ptbu4hyryuxbiYcKQZdzXaRgj+o/lKw9sv1AP+05OAHU0ixJ2zAnafcLi00wJdPMiYG7aUjARbznd67uZcEcHFPlECWMTWKDDOWAV80k/+2Gr1LPFMDO0cNqAkTAV3SBnoLOLlwdkd7DGGA1CzAcJju9mZVlECM2b7c9KOfTScbISUqv//1gKOhXy2ICTN2K/xYHC0h29jS5SEV3uWe3Yyeqa7gKr6awidIFaoJr6AJyE9xsdEw608u9s/+ZRiSX+D/8Nipnv0/9wFCjBoWJ1fCX0mCXtm3U+4MCVIfd+nL9zz+A9Dh1+8Lm8umYwLkVDM4HARZRt5Af9UVldPNbeai8DfJuhKJEuwiEEQA3YM/wlCSOSq0+W4uANNNTOqryf6xRcE4O3FwgBgudCpiK9aD3IqWCrCYjuLpkeNGgMhapifowLW8Z2PThYUEMZk9cyp2m+DuUeRlNO1uzwHLLqHW2fN8mHrDF0o7GsqwkukOCU4/O2V+zoq9rHRISi
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)(508600001)(5660300002)(26005)(316002)(31696002)(86362001)(31686004)(8936002)(186003)(110136005)(53546011)(8676002)(38100700002)(4326008)(36756003)(6506007)(2616005)(2906002)(6512007)(66556008)(66476007)(6486002)(66946007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aFo0UjF3NGd6V2lEcUZwQi9aTmtEa3Q2WnpkdXlSN0RkNXhaN29yaXZBQ1Vw?=
 =?utf-8?B?QmwxSXRFM0pHdTlVdE51RzNYUEhuai9sWnpoWEt6QUFReDZGRVVtZG0vU3Nx?=
 =?utf-8?B?cFFHbG91aGQ3OXR5RGFxdXBvL0o3ZUFIUUNHdHptUmEvUzBUWEhGdnZEbGI5?=
 =?utf-8?B?MEFkMWJ0alZvaGcxVHdTdlRKMFVLNUhQdnFvdGZYTllKU3hrY213eVArNlhq?=
 =?utf-8?B?VnNMaGRIOEdCZXhvaTd0d3VWbGZXRUMyM25TZ0VyT282UERxSTFJU0FvMXMx?=
 =?utf-8?B?OG90RTlmZVh6Ykg1SW5RT3RLdy83K3A5eW9uU2ZmaGU2ZkRld2hpS3NhV2tO?=
 =?utf-8?B?aTRDQ1pYb2J6TjRYS1lxTXI4MXA3dFUydjZhdC9Wb0o5L3Nkbm85eHdZeDBv?=
 =?utf-8?B?VThiQ3NsbmdzaXRGVHFDMERVK3hXVFZrdTdreWVBRmltZVdDVjBxeUR1UkhI?=
 =?utf-8?B?R3M5ZDRPVUFoMHhkemJNZFprMWJHaC96cExJeFo1M3Y4eVlwbzhxL1ZJNk5p?=
 =?utf-8?B?WERKM3pZYno3RXk1U1piZmY2MzM2dGowYmxodDBLNGZub2F4eTUrai9rbGsx?=
 =?utf-8?B?Wlp0NkgzU2xxT0psRWxWRjhBMmJvSm5UZTlUaGIvdVJpcEp2TytLMFVDcEVL?=
 =?utf-8?B?cHljUk9RU05CL2prdGduTEhManhIdEhmaXRCelh1Yy9IWHFxbU5OTzlXYzJZ?=
 =?utf-8?B?bW93SGFYREIxVko1ZXZGbXVmSDNta3JGYnFqaXNqV1E3VDl1TjhNZEtpQW42?=
 =?utf-8?B?WVF3cnZ2c08xajFUZWV3Ym5nTThubDJFM24ycHNmczBqOGxtV0hVNWpRNVlN?=
 =?utf-8?B?Z1ZtUFRrOUgyUEJCSCtWK3U4TEdsN2V0dytTZFFueWNKWVVXamk3SmZXWE9k?=
 =?utf-8?B?cUJkenJqUHhUcjJ1NFdlY2NmUHY1dUFTMG9Ka0pCZjhQQTNSVkRSVjNIUVhv?=
 =?utf-8?B?c0N1ZHNCRVl0UEZneVc3Slp0cUZTa3VsU3R1blU5eUtHR0ErMEhrQmNNbXNX?=
 =?utf-8?B?aWdyNEIraEgyZWwrbEtnUjZMQjdNYkZWQmpEZ1IxU2FBRTNpWDMvWWJxY0Q3?=
 =?utf-8?B?Y0JJY3FrSEt3UmJYRGp3VUhJbklod0VZbVRQbDhCY2NDYTZMU0VyTHVxNzRs?=
 =?utf-8?B?aUJ6UDdvVE5teWJmTGlXeTE2R1B0QXNrQUVGVWhJL3FyTmNWbFZJVWZYQkli?=
 =?utf-8?B?dFlteDhGa3RuK1dEcUxKS1ZlL0lrUldrUDErV3hWOWxEWkkreCtPTkJMQ1dX?=
 =?utf-8?B?QThQVjBmSTE5L0Z6bGFkdTJaQkhjamhmTlQ5VGs5QjBpZGhUclRzbEJJU2lG?=
 =?utf-8?B?ZjZhTW9GVWdXd1ZFSUxDK2tPaGNhTHNwankwZFcrTTY5ZVJ5ZDl5c3ljWGc4?=
 =?utf-8?B?RXFIcTBCQ1Z0K3RoTm9pclQ5QWg0OE92TC9PRjJzdmQ2YURCMkd5SHprVGZJ?=
 =?utf-8?B?TGpZUWFDODA5V01JRUVWV0FLQ2hFN05hN0xuaGFrSjRwVUlvVlkwaWdGanJr?=
 =?utf-8?B?MjNSTXZ2aEhwSm1FVndiZXdNbEtnL2VxaUxLYnVVSTdYbTJVM0Fja3NKWExN?=
 =?utf-8?B?R2V4OVlrc0ZwYWlLRTh2UUt5VnZ4Syt5THEwTG1lblFrVjdoZXJZdjc4U3hF?=
 =?utf-8?B?dGFRQkV4bmZ6aTYydTlKMW9WemtMUFpwSGsxV01CeU9IRVBqSjhLYTJrbnB3?=
 =?utf-8?B?WW8vYXBmSzJWUFAvK0VPcHJDbHZvRUlYdFE2QTRzMlJENXpOTVFmR1Z3TU1M?=
 =?utf-8?B?R3J6T3RwdmZXdUd1WW1ST0FmZ1lDTklGc25hSHh6cFdFd1ArNm5ja29wMDc1?=
 =?utf-8?B?U1FmTkQrZThWVTJxR0VMUG91cHFaVW1BQk1PNHVBMU1DR2poaE1SdURocWE2?=
 =?utf-8?B?OTViOXlNV3ZCTGFXaWRhN1J5SW90YithajJMcitMUjA4NWFiN08zdjZ4dmFV?=
 =?utf-8?B?V3ZXN2Nob05IYkdhb1FWcEQwNS9sVDRXd3JmQ29zLzNmZHhZMnBxaExLb0FI?=
 =?utf-8?B?bUtNYVNLSUMrR0RnME5CcnZ1Y2NJTVBDY2toQS9MblJTdjNCclJPRTNGZFdh?=
 =?utf-8?B?RXpUc0JJMmlNQWdDbmZPcGllYjVUUy9uKzREZVZGRkdZdTlrZFBlZUxlSVoy?=
 =?utf-8?B?eXZvcHluK2hMYklWQ0dsMEpkVk5YU1ZiK1BqL3lRYy9KMW1Gd2pwS0ZSQmNN?=
 =?utf-8?Q?TQ0F1ZTb7iIlibGm9Od/l78=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4f1b3924-7347-4604-3ca7-08d9d01ef3a2
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2022 07:42:40.6476
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zTvFQZQM+yrk4eGtkR/W5QW2eQTVVD/PWY/8bPXxbVIrMHFIiszdGTwD6rVeglsZGzx7mzN0XFZtedQJN+GLAg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6381

On 26.08.2021 12:06, Jan Beulich wrote:
> 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

While some of the patches have gone in, and while I realize patches
1 and 5 are controversial (with no clear route towards resolution),
may I ask for acks or otherwise on patches 7, 8, and 9 please?

Thanks, Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 05 07:46:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Jan 2022 07:46:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253505.434664 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n510L-0005Ds-6D; Wed, 05 Jan 2022 07:46:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253505.434664; Wed, 05 Jan 2022 07: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 1n510L-0005Dl-29; Wed, 05 Jan 2022 07:46:41 +0000
Received: by outflank-mailman (input) for mailman id 253505;
 Wed, 05 Jan 2022 07:46:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=VMO2=RV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n510J-0005Df-Kl
 for xen-devel@lists.xenproject.org; Wed, 05 Jan 2022 07:46:39 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9d16233e-6dfb-11ec-81c0-a30af7de8005;
 Wed, 05 Jan 2022 08:46:38 +0100 (CET)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2053.outbound.protection.outlook.com [104.47.12.53]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-22-krmuFuTBNOaFbLekeYMkyA-2; Wed, 05 Jan 2022 08:46:37 +0100
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.4844.15; Wed, 5 Jan
 2022 07:46:36 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.016; Wed, 5 Jan 2022
 07:46:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9d16233e-6dfb-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641368798;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=5AipZhlbNpv1q5oPJuFbGtnXFJ/DxGZynzuV7+sNHZo=;
	b=IIMizXYs3HB2cE+utnJ5thWRiNDEaBLlaWzCVolZg0nPD7vLcBgWOMK41jjmdhgeT+/w95
	34nb80jDnsHtlB6gx8jNiSRnFxPtiYzxEtPCUEAnVpmOstsLCV5lpWy38i2r6Cwc/uEw0s
	aLqmqmKbL5bk12XUOJrIZTQkDKWxy6Y=
X-MC-Unique: krmuFuTBNOaFbLekeYMkyA-2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ehi8GZiqjAL1dlZ45j9yjD5ADZJM92M+ODANVOvd+5KCenY1yKagHRfnKS5Z5tqnY1/b5joPeN34jdZG9zu4beMEK4bB22em7K17fh0Qql2FCMvIfarApqYwtslf5nuaWAz/AR2pXV4rIerXxAjBXN78c1NiMl+ZEPpnCw+omKMNMRF72W/bEoDZfBfVZzWeOaw+Ut2Adsd9RAj1FO3IWLBPOWPFhqKKs6BiB4O1pzoYADZ7/E4frsL7HytmLTjWCIBqQP+OH1+7k1ABN1tSz50JoIFnuRc0eZdwaaCFcTon5Kxhc62u3JBz+j/tAiQLyDhTPy3Fd5igUVlvakoEIQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sVWqsPpJ0LQyS/S6ZwzactjtLCPSZCYQEZD/Knr37nE=;
 b=TouHyQON+V3E8yErNN9NlbWDizuf0qRoYROUfeZ4a3OLhnlqszgf3sJHg9Cu2OBgCByXLzIBlvTkKk9Ers763POEPeSkLax529/KX2EqNA61O+Edbkzi6d8TW5/N6dx1U4r93nvq84WhcXAOsE1smAFhxYU0HNC8RmM9xwXbuIXjyqDKl62yKiM6Fh/N2tOOTYNWcY2aO00JkdxHSOOvpwRvQXtTNIEFtk7jPtUJ2z108hWGccp+ZwipvWjAH34qZBlqN8y7IObusSP6yhIYPPeApjNivdb/FGCC0DMiq1sWALctzMZ1gfe5QbGyJ0NY3IYTRYa29jo+xSsYapyLmw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <74c658ec-cf69-5232-de66-929aea9f91f2@suse.com>
Date: Wed, 5 Jan 2022 08:46:34 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH] x86/viridian: EOI MSR should always happen in affected
 vCPU context
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org,
 Roger Pau Monne <roger.pau@citrix.com>, paul@xen.org
References: <20210401102252.95196-1-roger.pau@citrix.com>
 <5b4ec824-8cfa-8795-3a96-fb18527d3c18@xen.org>
 <910fcf36-a0c6-9f1e-a402-9afa6a5c4a1f@suse.com>
In-Reply-To: <910fcf36-a0c6-9f1e-a402-9afa6a5c4a1f@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS8P189CA0011.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:20b:31f::24) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c462e97f-5287-402e-a58a-08d9d01f8002
X-MS-TrafficTypeDiagnostic: VE1PR04MB6671:EE_
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB6671E3546585A10C8525763DB34B9@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:
	5YdIgzlwV6s0TgxS5Sd1xHe86Avw0dKuoG7FUBUCybLPY+j72DWyL7HOE/NfamxEf4c2sPWGBjawWzwS5ugIgRFQbnN59AyaHFKonqdMGuiruE0Bkzd4jgPbu8yc2S60c3d9fv9x7y8ZA48MA0Nywev4jAJB2+o1Qz0T1vKa+eKGr0aYOF0Aq/M6SkpZGFjIrIiDli2VNNoNg52vUZHQLw6iEs7ao3V7bDLa1Hk0IrUtfvU3YUXdsBmTX0x51vS779bZvRgREJ9OtGUxEYoNhlBMw7UXtdHuiuV774qjW5e7lGfLcC8d74xF3fa31+bCLX3rmVqTXcijUTKMTO1baikkT42LJr328aFUDQsgxCUvCHuEeSCTnjJoPdzwbHjnajxdq6d86buKlRgTBaGAnkO8qELYc0vJaoL+MFf/oWPsyvpFGZP8NV7g1nqCoVqh15CyPrhd1D3WrAsPk9HmXDlak1Pv+rogp/+U3dXdvZ9OGOGbSkuspx/V8XSYv6z0w5NrLxYvZ00hfuWyJtWEJA07dQsta4pxLhSs0DxB4aEFzuTPxFMFICJqyPdlw73OMXt69HRxIfli8hAQooWj8loNLPiDW1ALWpzuwi6+CRn39kSLId9sgMbl94BXSON3NYSRLZ0EO7EAoZj+tXHIp/wuz81LRe1n74cx79kxEVrrRqQilko1fv76vPVjUmoDJMNqcZ7QOTO4LWDSFZGZ/EDxEJWlgeQvvfI7dtuErGg=
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)(83380400001)(5660300002)(54906003)(2906002)(66946007)(36756003)(66556008)(6486002)(66476007)(8936002)(6512007)(6916009)(31686004)(31696002)(6506007)(26005)(8676002)(53546011)(4326008)(186003)(508600001)(4744005)(86362001)(316002)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?YT/WXFWv4x7KfzziqQB1KovN5dy+aSH7Yge0OiIA7hKISkNZW9qH3j/qoWCP?=
 =?us-ascii?Q?UUxcKQ2Kam9K7kq47HII2Io3MaaWySeCXC409QcW2DSn6Ui3r/1Gt9k9iIWA?=
 =?us-ascii?Q?lo3FEJD9WJPAd6TeXjgEMtTgWxZvhwVTTAQBTe3qOZA6rhsCS/JkO8Wx3ejG?=
 =?us-ascii?Q?GCEBN267yOa0EKbMgtPPgwiBcFvuZQR1V3gCe/0B3Q7i5XHu9JTY0xsT/ABI?=
 =?us-ascii?Q?JdACaZiiCl4GBpAq9RQnjQh9yAE/+zUV8u9TsctYmKOqcdOqwVzpnanWQUx6?=
 =?us-ascii?Q?VCoblKkcjueAhYAhUebUAppKZSEg7Uf9+xtKrg1q/3wEtUJh3pOkmE2O28YI?=
 =?us-ascii?Q?grvxZwOF9AUSxalEnSy1/9q0ENSe6UkyBpEBQKDC0mh1ETfuFUHwV7nnGjrJ?=
 =?us-ascii?Q?D6UuQ8ZD7LcuLZ2wgn3rjjTJoV49tdayO/mlmX5aJzDq5a8DYklQ/+2ECwC1?=
 =?us-ascii?Q?S3BS28PDc3GwBFVwoEKXTqnVZ4WN4jP6B8OTm8HoYqeRYyjPUsHDZq1Rdsau?=
 =?us-ascii?Q?ax5BNzMLrXUgU3FBs58jLgkRd4+qukSUhn5unjNoVcK2TKFD7aV5Umg+xOIG?=
 =?us-ascii?Q?BfsPw66V8I6au0Dbiuz9wHn9JYPNKaMiDQermodhuVin+V5PWZShLDW90AYT?=
 =?us-ascii?Q?1YpX1m0iKytTWltGdI8Qz+qSrUraqObWXDkk72XzJgwrJo5ccJjDl8icEtcU?=
 =?us-ascii?Q?19aTGaOTUOKfD/L6KOZy8a5krEQd1Qke6G6xA0QOGsVNnISuNHqztSw2wuDZ?=
 =?us-ascii?Q?ysIKe1F8S0jA29QPolnqx98hr+E7qMYFnvNHrGKFCh4ljZlFHQRNAv1BXyNd?=
 =?us-ascii?Q?ieF/v//JIEplZIWOZ8HVlAq90oUBNindNxlOd4nXT7iagpy3Djib4CIkM/2v?=
 =?us-ascii?Q?hrvtYisWZQy+XbjYIfdqluD8jH4C3UQXqUmN7ucOVnhGyghz32155klgKdY/?=
 =?us-ascii?Q?1276GqgD7PlR+GQDTAcckkq0ir7hdtPnH9VxvwQzRrbfk1qehyMYL49yvMQ3?=
 =?us-ascii?Q?jMtGue0BWoCwb1dnEAS3uWUV5rNg8gWzHVGnNNQsLJWa5JU6sJgfzhUBod/2?=
 =?us-ascii?Q?koRnp/QoixYlA1FR5wVr1BMzNQjt+Ej/y3sp28kVQwtF5DEQB9jfNC/M4vZ7?=
 =?us-ascii?Q?oIxwPkHWu83X2Oo6gWlXknGuiaG0QG/PzI28UVlhcPGYvD5L1iVDX2U9fkZH?=
 =?us-ascii?Q?PnDL6uuxW7CTXMwUppPY3eGh/A2BewwEQ1IvwOm22QFTyLDx8fdWBotODs1B?=
 =?us-ascii?Q?I0ctFvliK5IK2qSAAKzQKJeurvouZaBwHhBMNWn0Ac6REFIGuyfP4VCn18Z8?=
 =?us-ascii?Q?38ELx7hOJ7zdn8dmKVQ/6yQzp0dsAq1yt9VmD7nG94zoVQxTcAjkO/h3dpeK?=
 =?us-ascii?Q?W08AolZZmfgrqjYFiDfJ9fyBWtCCErZYl9eId6XzM6xEuxh5RaqJK6Sq/mko?=
 =?us-ascii?Q?3GwDkRN6hwlnjOIvyn/hvMJDbMjxmX2APEwb4mVvBtTamy6xgVyWmjnlrPDf?=
 =?us-ascii?Q?5QRqm3KqY3xBeTi97t7r3/M1RqGk76GTPdpWcXcq8kEagvvdhQxKeseUDo8z?=
 =?us-ascii?Q?MNwFFkwZ0HxzFa3nLg1turpGLb1wpvF0dvIOXYoWt7SstLGpznkyN5/plWqx?=
 =?us-ascii?Q?DVCQGOrSs0ijpN75gAPkdgo=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c462e97f-5287-402e-a58a-08d9d01f8002
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2022 07:46:36.1105
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7oxMHb9GW4zmROW/0it9Y5X7xo0vH+dyIMfmZx+Yy1iOpLzXczNQPkFWSauecP5p7MYez+SZdq/aQhOvd+JsjQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6671

On 15.04.2021 11:57, Jan Beulich wrote:
> On 01.04.2021 12:50, Paul Durrant wrote:
>> On 01/04/2021 11:22, Roger Pau Monne wrote:
>>> The HV_X64_MSR_EOI wrmsr should always happen with the target vCPU
>>> as current, as there's no support for EOI'ing interrupts on a remote
>>> vCPU.
>>>
>>> While there also turn the unconditional assert at the top of the
>>> function into an error on non-debug builds.
>>>
>>> No functional change intended.
>>>
>>> Requested-by: Jan Beulich <jbeulich@suse.com>
>>> Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
>>
>> Reviewed-by: Paul Durrant <paul@xen.org>
>=20
> Andrew,
>=20
> can you please clarify whether your concern was addressed and this can
> go in as-is, or (if not) reply to what Roger and I have said in response?

This continues to be pending. I guess I'll consider ongoing silence as an
indication of your concerns having been addressed, committing the patch
perhaps early next week.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 05 07:59:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Jan 2022 07:59:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253511.434674 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n51D0-0006mB-Ap; Wed, 05 Jan 2022 07:59:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253511.434674; Wed, 05 Jan 2022 07:59:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n51D0-0006m4-7h; Wed, 05 Jan 2022 07:59:46 +0000
Received: by outflank-mailman (input) for mailman id 253511;
 Wed, 05 Jan 2022 07:59:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=VMO2=RV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n51Cz-0006ly-41
 for xen-devel@lists.xenproject.org; Wed, 05 Jan 2022 07:59:45 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7079999f-6dfd-11ec-9ce5-af14b9085ebd;
 Wed, 05 Jan 2022 08:59:44 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2104.outbound.protection.outlook.com [104.47.18.104]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-15-J7PJzHd7PbGDgv7UUj02xQ-1; Wed, 05 Jan 2022 08:59:41 +0100
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.4867.7; Wed, 5 Jan
 2022 07:59:38 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.016; Wed, 5 Jan 2022
 07:59: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: 7079999f-6dfd-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641369582;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=4Qx3jjLUJOMh7D49d17gLVc/OBJCpcFwdFU7J6iKyac=;
	b=YoVoijKvB58U9g6AN4Js2pVqiWw4Rhl4X4fkDHobb1xNaeOI7iYUBGAaQOQRAbxy3tXA8c
	9aIIWbljHe3TXHekGOpGuujKr1xiDS6m8RsOQde+xYt9RWR4MUuwL5ah9s6JQJ9lTnjp58
	OFX5i0ODEpY/F1scFJ3LltlazSb2Z9w=
X-MC-Unique: J7PJzHd7PbGDgv7UUj02xQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GA10SBVIwU7/VOUGf1qlgNx5JWsW5KSWqVWLBYo6R3Drsk87XyS1/830lSAUlIzxLU5I6jWa2aIigOwx/9XTOGXI2yjS/ESltLXhr4cdR2PivIDwrdoVXmn7RNKfjdAjqP+0SJW0J633dU9j0tYnhF7+SqIzHbe0tGGzQl06h+vIcYN4tKiR94WmETRdNh10u0vMIgFqBgsNB58/gcF+pNFhsuHSr0cfdZlc2Ylo+UaxSvAUhP/L1/Zi4Xut7ndL9mqYMLnAUMeNQdcE2U58BdXsr0QwppJWqFCYwxCEDWCl3KqBW6A3yhw/Wz+O3vyjAFEzmPTdGyAn7q360wdazw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4Qx3jjLUJOMh7D49d17gLVc/OBJCpcFwdFU7J6iKyac=;
 b=KcK1lK8B/ciZz1g2kNnyWlNGasRY/waU88bGygaw6CUn8GO6jGU90ZQGt1ywDprhswghmEw6fvXqwjjsEMh7pg5hzaNbCT+n58JV3EUxwWl8k0xtkrR+4bKbmOEQue4+O7+0FWcsaZ/5HEOcOuzczTdgetxfVls2kM22lMqE0pOrdaobJ2h7GvfvYTCyZiIGUATnd737bt746irbXplOcY0czezsIAu5qF2dlHZGGH4aMUIu2P+Lr/4nMMH424jY1dXboPYYTrDBMPY4FlgpAyNEK7nm041wQh5e0QuyXYF3M9kNkVbKGyBAdkdd0OsTGCg1JhIU7PIUZ/aLyzeVyw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d0c84e65-642c-8990-49d6-c09d291922ea@suse.com>
Date: Wed, 5 Jan 2022 08:59:36 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH] xen/x86: obtain upper 32 bits of video frame buffer
 address for Dom0
Content-Language: en-US
To: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 lkml <linux-kernel@vger.kernel.org>, Juergen Gross <jgross@suse.com>
References: <a3df8bf3-d044-b7bb-3383-cd5239d6d4af@suse.com>
 <bfab8ff9-9762-f90d-3f25-b57362f05b0b@oracle.com>
 <17df4307-ace8-8798-5bce-16f4843ed830@suse.com>
 <16260904-c1ce-dc18-224b-03a131a92007@oracle.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <16260904-c1ce-dc18-224b-03a131a92007@oracle.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR05CA0030.eurprd05.prod.outlook.com
 (2603:10a6:20b:2e::43) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e7585276-6c85-4d44-42d9-08d9d0215232
X-MS-TrafficTypeDiagnostic: VI1PR04MB2957:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB2957482491CD70F65DC65A7BB34B9@VI1PR04MB2957.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:
	1FWPAuYM39Q2M7A1dG7a3b47qVVQO5sKDInkba002hVm+arV1v1ZR3xdR004Ox32TwS7/i9bS1H6PsR4d15gez3Z493TIhF7LHyBOzFg3MjBDTb5PQFTnMlIWCO7Y1Hovjamhp5QTtBP0lRTsp1Roc1lrngeVyLK0xP1Q9RWQTNdJH1y9H/rE4mcxAcSurgv4pXXfYcazYM5xzjsIWgfR1rjCj8LPwhtjLAIU3a9+pUpL+s09Uxb6OeweaRCsbcBbmbW1j/urDofUmASoEn7+lKqw0cEmU36ggIaMJPxNCH/dHdQjvbWXu6YUM8dHwneDZy/WBAqni7KvrFOJ7q5LPkJGT9lc2w93cAQoaBRQe4HrpnIhlHxBBy/RFCO6UvOG7SoA2MLIQb61cDbwozkK/oOfMekPNY7aw+KJ7uETGiEfFWH9dtIYRYhAE3JFUmEQqXCXvi3PfBrPMU/VlTsC0UvrAe3Y9/Ksg7L/OHgM/JTyqMcYaiLQPHwOiG1zAKwKV/pNdz81BG7IEy9dFi0tJTBGAMlQajcUb/+j2jXKb5S2S7zbHYzsa8OiZicAX/MIVfJgpzjZ5mHc7P9acR/mWngA3JTcT1QcJefG6cGHOcaAvbyDFwJWhd/J7osQGMhoM5Su3npRZB4S1pkRa/4Y1EmgHHBuba139+kWf0Xvat1F8/lptB47F38UdRZchpRWAsHdzcWwYbMnr2bDYS1ZAz7UFwfH06Np0Ump41KhYXkHcmhuVk71jZvs/QOaaHn
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)(53546011)(36756003)(31686004)(6506007)(31696002)(186003)(26005)(8936002)(8676002)(508600001)(2906002)(86362001)(54906003)(5660300002)(4326008)(83380400001)(66556008)(66476007)(107886003)(66946007)(2616005)(6512007)(6486002)(38100700002)(6916009)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cm9XMVJFNFc3ZmtCWi9wZU9SU3Frakhrd1ZKdlFoSkZUTW5uREtzNjBjNkN1?=
 =?utf-8?B?Y2xNdFc2NFRYWVdvdksxeDNzZTdTNnJHV0JqTjkwMERUWStSeFRBckhXRHFD?=
 =?utf-8?B?dllKZXM3Vm5qOGowTTRlUXpzNWM2S0o0a0EzaUMyVHFtQVU2TGFQamRZdkhl?=
 =?utf-8?B?TlRjN3NPWFgzQ0V5RDN3bmtlTlF0SWtoaE05U21naUhFM1BCSzZ0T0NYNUlj?=
 =?utf-8?B?N1N4RU53TCtUWEpvTDRwRElUOW9VQXljWnhuRDJjMzJJTXFPWjI1d1ZTV3c5?=
 =?utf-8?B?SHQ0cDJiOHpzdnI3MGZoQk9qYTNjeWVsSGx0SzUvWm1wMVJDQndYcFVXQ2NO?=
 =?utf-8?B?eFBLTjlvVmtod29tTmRXWUZxb2xKbE5sQ3Y0SUZLN2FQSi9vQzBtYm1iZ05J?=
 =?utf-8?B?ZE13azZlZjdpQms1dDhXSlpWNDI0OHNud1JuK25ZOWlsektSZkJrVkN5Rmg2?=
 =?utf-8?B?RGtNMm1uWmxWdW1RcW9RZkd5MUFoTC9Hanp6Q1djNjZWbXJRUWFvQk5tL3hx?=
 =?utf-8?B?ZGx0Yno5cmRCWDBnMUthcXpYRkdYSE51V0dWRDBKQVJ4S2dLTnhIYzVFc1Nt?=
 =?utf-8?B?SC9GU05rNnUyS2hTcUk5WmFRVEo5NzBXL1NBMmorSitMSHRpQ0V2WWdzcVli?=
 =?utf-8?B?VnBWNUFocnlXWDFxSGlKQzhIWlFWaER3ZlRyaTJOcjVGcTB6d3RCdzVBR0NI?=
 =?utf-8?B?Z20yNWVST1ZWVm9Uak9BNzVFTEhWUGc0ZjRIYU1tMmNQLy9qY3JiU0lINVYx?=
 =?utf-8?B?dVlXWlo4UUhJeEpsRSt0LzdTNCt0eHhHWUZNNXlZR2RNa1p5MUNCTjEwZVBN?=
 =?utf-8?B?S2tScUxrZGFPSTByd2Rha1pkWFQ3Q0QwTUNYRC9BUmNkT1ZnQ05OVGE3L0Ro?=
 =?utf-8?B?UU5vSnFUZWhjNXJoa010c1lRUW1jRDFrYktqOGZFSjZrSzBPS0Mwc2RySHhN?=
 =?utf-8?B?YmUvWWk0d3E1SnlLTlRzSmhNNUk2WnM4SUVQZ01WQXdhOUxwQll2UVZXZXd6?=
 =?utf-8?B?V2FZUTFsaHNLbDM1WjBSdFBOWTRpbklSb1dRUjc2OEpObTJuc1NyUnl2Z3pL?=
 =?utf-8?B?WE9XZVBxV3dQaHRETmM3aElTNjYrZnRMbGxpQS9zdExkRTJBcXQzZXJZYWd0?=
 =?utf-8?B?b2o0UmVFMG9ma2RZejNZUXgzU2wyT0VRZHptUjZVNU40N0VwZUJIVHNqc0Y3?=
 =?utf-8?B?bSt4eU4xQlMyeHhXWVU2SmQzbGYrWTc1dW9QQ0NtZ3o1blB4QXFabW5jR2pL?=
 =?utf-8?B?L0lTMGZzeDBzQ095SXhZTS8wR2RyTjUrdWNWQ1NRZDU0TkdDL0l6cXZEd1Yr?=
 =?utf-8?B?aUxheXhNUXZCU1M1eVhrZmZOZUFnRmVaTFRNRTU2K2c5b2ZTNi8yajlRQXZG?=
 =?utf-8?B?b0M5STBsbmZUdXYzeWJYTldoWHFiNVpyb0hlYnJWamdDSFZrL2Y5NWxGeVJ5?=
 =?utf-8?B?K2JWZ2ZOaVFPY3dtZXlvTjFXL0xIYUJOZ2YxUE9VdGxhZEVpd1NoL0EyNkZ6?=
 =?utf-8?B?RnR3cG9PLzQwdGFST3pWS3Ava29raEFYVUhBZGRJNVNJTi9QdG92ZEU5aXhU?=
 =?utf-8?B?MlU2bHlSb1Jpek1zeTZjU1R1L0tUWCt2TFdqQ2dNdmRlRDl1RzAwcnY0V2Mx?=
 =?utf-8?B?V29adkN5N0pnWTJiWWhwaHNuQ0ZOWlQ4dnVBQ1hHdjlwZjc4QzNINU8yaURC?=
 =?utf-8?B?Zm0velMyLzhBZWFXSGdoY2pjTXMzYTNHWk84ZUF0dG52ckhNQktzSTJkMndv?=
 =?utf-8?B?cXBCcHlyUmdBK3BBZnUyVWdGaUxweTB0OTBuTzArdlNETm9rQ0N3Vlc3blJt?=
 =?utf-8?B?d21WbHhVbEhjWG5lVGpLZVVTMUg2a3gyNmdTWWZEWGZKK1RPQSswSzV4Mm80?=
 =?utf-8?B?WFlpZ0Y3TFNhSnRqQjA5eFFwb2s5QzZpcnNUbThzRGE2eGtuWVpYVXQ5T0x0?=
 =?utf-8?B?Zk92cWs4a1VyVUpVRmVCL0RIWVp0eUlhVHB3aytQV1I0NzA0clYzWjZxQmF3?=
 =?utf-8?B?SEl1dEFYYnYzRDZkazlGWG5TTWFwaGRTR0VleGR4NUlIM0FNb2lUUnkrQlpu?=
 =?utf-8?B?QnF1MERjNDJrMWtMNHgzTnYwUGx1WnNzUnBxVjNPMmtOcC9hRTlvNlJDUDAx?=
 =?utf-8?B?OEs1NkZMenpveVFzMDF1MWdVQjZURVFzcmgwQTFYMG1yY1VxcjBTM3NVcGha?=
 =?utf-8?Q?1nbkWmjNNmN0VPHbK90Fies=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e7585276-6c85-4d44-42d9-08d9d0215232
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2022 07:59:38.2269
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dLuUmmUGqbe9/9USCvYytIQwgRNsOCuBYREBp63FrvKbQGI7/CSiRE6NhATQwhCLrpeTlcj5OeM5cQxsipcqEg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB2957

On 04.01.2022 18:03, Boris Ostrovsky wrote:
> 
> On 1/4/22 11:54 AM, Jan Beulich wrote:
>> On 04.01.2022 17:50, Boris Ostrovsky wrote:
>>> On 1/4/22 3:46 AM, Jan Beulich wrote:
>>>> The hypervisor has been supplying this information for a couple of major
>>>> releases. Make use of it. The need to set a flag in the capabilities
>>>> field also points out that the prior setting of that field from the
>>>> hypervisor interface's gbl_caps one was wrong, so that code gets deleted
>>>> (there's also no equivalent of this in native boot code).
>>>>
>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>>
>>>> --- a/arch/x86/xen/vga.c
>>>> +++ b/arch/x86/xen/vga.c
>>>> @@ -63,13 +63,17 @@ void __init xen_init_vga(const struct do
>>>>    		}
>>>>    
>>>>    		if (size >= offsetof(struct dom0_vga_console_info,
>>>> -				     u.vesa_lfb.gbl_caps)
>>>> -		    + sizeof(info->u.vesa_lfb.gbl_caps))
>>>> -			screen_info->capabilities = info->u.vesa_lfb.gbl_caps;
>>>> -		if (size >= offsetof(struct dom0_vga_console_info,
>>>>    				     u.vesa_lfb.mode_attrs)
>>>>    		    + sizeof(info->u.vesa_lfb.mode_attrs))
>>>
>>> Do we still need this test? All 4.0+ hypervisors will have mode_attrs.
>> Perhaps this could also be dropped, but unlike the capabilities part
>> I'd view this as an unrelated change.
> 
> 
> Right.
> 
> 
>>   Furthermore even a new hypervisor
>> would be free to omit the field, provided it also sets size low enough.
> 
> 
> If this is allowed, how would we deal with hypervisor dropping some other random field here?

Random fields can't be dropped, or very old Dom0 kernels might break.
It's only the "extensions" that have been added later which we can
expect consumers to properly deal with (by checking whether they're
covered by the supplied size).

> Have we had a precedent of this happening?

No. But doing so wouldn't violate the ABI.

Anyway - I'd appreciate if the patch at hand could be taken
independent of possible further adjustments here, as it addresses
an issue observed in the field.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 05 09:00:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Jan 2022 09:00:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253530.434686 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5296-0004qc-Ar; Wed, 05 Jan 2022 08:59:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253530.434686; Wed, 05 Jan 2022 08:59:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5296-0004qV-7g; Wed, 05 Jan 2022 08:59:48 +0000
Received: by outflank-mailman (input) for mailman id 253530;
 Wed, 05 Jan 2022 08:59:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=VMO2=RV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n5294-0004qP-Oe
 for xen-devel@lists.xenproject.org; Wed, 05 Jan 2022 08:59:46 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d30f02df-6e05-11ec-81c0-a30af7de8005;
 Wed, 05 Jan 2022 09:59:45 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2108.outbound.protection.outlook.com [104.47.18.108]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-30-5wbL_VxBNCKwP36U8tOgVw-1; Wed, 05 Jan 2022 09:59:42 +0100
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.4867.7; Wed, 5 Jan
 2022 08:59:41 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.016; Wed, 5 Jan 2022
 08:59:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d30f02df-6e05-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641373183;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=f4uOLk1yA8ftDIHqA7szN7tOuXuu/j2/qWBba+c54n8=;
	b=nUoXx5MZdXZKk17TGkxBtQYxm3SYVB2NbUEckUwzFw/USE+LvxjHIBR2175tjFLERLsGtT
	IOkK5OsyX39Z0PG5UTlKTzrztrvJ5vluRbNXL0Jh5xD+2LLXxu0PRT5art+3Om7sNqHgU8
	/ECMv5rsUMUjGea7TRp87YOfUV4DKJs=
X-MC-Unique: 5wbL_VxBNCKwP36U8tOgVw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LNk7Wg5M6tHbUzJ3eBt4OUF/L9QNEuoxp61gZTlv92PKrE8WRSvIewTsk552TeyL8G3n/ylDR2qcKfdKmM2+BtzgUZ+CZeOPz6qwh0EOKz55aBzUds+AFOuKXZuj6JzeXlUDup8CaVIENlZlpUWlRG97VrCdcK1TksscEVLyzXYDIzJ0pSIpWaAjgVTT8Yt/N9Ykr5uXttQsbsWPSBX46UP0HWqM4vqlBlQCFOyjifjoLAXihTGA1lD2lnn/Q9tICCpnLF8XFgoZQ2E36YGoYh3RMSZqeaE5mPwyg5/oLVkThs/Deh+8N2pW42rW/75NMHDwkYaRAUKJYx6zt1/8+A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=f4uOLk1yA8ftDIHqA7szN7tOuXuu/j2/qWBba+c54n8=;
 b=RXh43SsxrIfCRdFoI7qxDf2WyHgxY7yaI/xE5m6XJdkO5OBRfqVw0DmHv7Q6h47Xv/CRTL7Qi/vLnmIHPG/QqsTfK4O6EoKJMjP9LZoV9AquDoEfW7wR40Q8hlh+7GpEVw22TVZltAJzOCywUntWmR5TJmFLyjVTQMudM2U2+pd5zg3Ea6nmSHhwnvMhByIZkhlmj0u4KbAb9hd787vyAyJlH1tTd0/VMbf3MleXhLGBjYUzpAxqY6tmPE1k4CmuvALXtBqXKPt5iVO7Sw5AdtyWht0rdh1NWaiAHoIUpCTtXd8B1NNcvimpjsWe2TbrfF4U57Jg1os3e2o53rWzoQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f13f983f-9190-99d4-7a6d-c73be651896d@suse.com>
Date: Wed, 5 Jan 2022 09:59:39 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH RFC v2 3/3] x86/altp2m: p2m_altp2m_propagate_change()
 should honor present page order
Content-Language: en-US
To: Tamas K Lengyel <tamas@tklengyel.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>
References: <e9257e96-ede9-2809-9a77-fd4dc206badc@suse.com>
 <d1b6aede-2c0a-df7a-7815-73ad4d795899@suse.com>
 <CABfawhmGxHBEC1M2=zo11K11Yr_TdWFkkVpDpVimy_uvD4nxyQ@mail.gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <CABfawhmGxHBEC1M2=zo11K11Yr_TdWFkkVpDpVimy_uvD4nxyQ@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR04CA0049.eurprd04.prod.outlook.com
 (2603:10a6:20b:312::24) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: fd8e09c4-7fd7-4bd9-ae93-08d9d029b5ce
X-MS-TrafficTypeDiagnostic: VI1PR04MB7149:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB7149B0BC78F9E23017DAFF5BB34B9@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:
	wlysrlqMP7O69/WO7uDX/zcq+H8X8t0HYvY1ku8kAbO+KqDWQFv/C5dZJAML60ncPSI8/p7k1WS3brM3eynjLbcq3pAX9bjkz2cOsFeJOzmUoVOhFEZzTi2Eglj61p1RD8P5OWHFdYlV5goCMDfBQP6/VGJ/zfjnsf9MZgm2PMBIQ/ECahS4EzYgdGz27gosNAbwAUuf8YYzFctr9BGf9L0tSZ/XcatO20AXfC6MOLO9OEDKllvwBc57cjpuo4Fz818x/9M+abvYWpP1PTDXso8ClvWWS8sKnZFkV3XlGJJSm5S08imdly+7ajTUUn3tDQfGATtWh2t2dbnJEOC+MnQq16wckbkCsd2rSx+h81+VAoWIJ/ZTJbRMNjjxivh8jfhoBnkPYnQzEL/ohp9kH5T2kXkP34iyzyn9YHcPkj1IF2MbKhU0wmT6TqkNR4DOzQuBqnOgS2NhpOfRIFPU4ZPVn8fd42m9qvVyDuiSRKKRWzfpZjxF+6zQHH3XaES4SupwDIIIPOMqtomx43+gc1/b82amnOSk/tQyJaD8CEAMH6fOtA0l1lXQU+p6365vAy6wTQtK+vdlYd89CizeG1h072CRa1ajGORDMihRC/qHBYoZXnA6/6Yus1grwZnBDqUh/DI1RnkVYEIrWINsCY4WDyAu9ZUJKbGUgZzP+T+Cnn16XKrp7oZ+vORSuQs3qkqVCiFzvRblXSpEdg+B4rc0pcflnYATlKcEUkZfRqipP9vCqqoEj1TFaqKJd4Hq
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)(36756003)(38100700002)(316002)(4326008)(31686004)(6512007)(31696002)(66476007)(83380400001)(6486002)(26005)(66556008)(86362001)(2616005)(2906002)(5660300002)(6916009)(8676002)(508600001)(54906003)(186003)(53546011)(66946007)(6506007)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UE1FWnZ2NUhiTG1hdFNYNmhsbXRwZW9CamsxUVErckZtUmtDYjVmcm1SK3hF?=
 =?utf-8?B?VlFLeURZcXo3VGM1RE1DQnlYaU5TWDBKWTN5bVFobjRoS2o3b1gzTnhIWEt4?=
 =?utf-8?B?L3M4dWVVQXVheEI5Q3ZvKzYyMkZoMTA5bENZREpBOUdqd2RVNWw1VmdsdFpn?=
 =?utf-8?B?czBlc3F3VjRTTW9MVXY2ZFlWZnBpQ1Qwc3dzekxSSnFxZERERE1NT3RTd0J2?=
 =?utf-8?B?V0hLYXpXSHowZWdnTDFsSitGYUpGaUhFMWd4ckFZUzFQLzJnRWUvSXhmK2lX?=
 =?utf-8?B?V1JuYWdaTWZ1YmJnYmZDdnc5alpRUFZFSldZNDJDUS9rWVZuMjNGSTNjcDRQ?=
 =?utf-8?B?c2lQYTlwYXVYZXZGZmxYM3hDTE92THdJTFA4M0NkbUdaSzBVRWpiNXhnNkNP?=
 =?utf-8?B?R1pwSCtQc1NBZjhEaDBVMGx2WFptN1ZUSTYyd0h1K1ZSY0ZTbkRERW9vblRZ?=
 =?utf-8?B?VVRSOURmbnhwNGgyMDRaQVJFWkVqT25QOUNNcDlRY1lFekFZd2dlU2ZORG44?=
 =?utf-8?B?L0lPUHFSRlNtSVdOVHIzUE5aK3BvTXd2cTh3RHZpcTRjaVBXYlNkZ0x2aGdC?=
 =?utf-8?B?RzU5amNzZGxNaXdpTURlOXhQcW1yRXdpVnpLWVVBcFBIRGNaWmVRTlJXOHli?=
 =?utf-8?B?VnFJT1o3bUFwM0NhcDN5aHlGNmRzei95akVIVWFVN2wraGpNWjB1NjI5d1A1?=
 =?utf-8?B?QXgrU2FxdmFtVlh3dzVhanFtNVZTZkRkZDl4cHd2bzZhUGdURmFIT2E3bmVQ?=
 =?utf-8?B?ZGxWaUtkMnVxaWQ1MnlPYXkrb0xqeitDeWJtbGM0ajZTMGJ0VGVaZFhzT01z?=
 =?utf-8?B?RFY4V1JrOTVKcjhEV2FXYmpmZ0J1M2lFcnltYWpGTTBuOE8xTlhqNzh6bDI2?=
 =?utf-8?B?SmdDS2hRdFIvTGhOWitQN3p3T2drbWtVYW5YaFY0cDRRbWJtSWNBRnU3Q01Z?=
 =?utf-8?B?YSs3S0xzM3M2OFlUSXR0ZWVyc01aRlhtd3FKc1hCaStpWkdVd1pNVGttZFhh?=
 =?utf-8?B?NEpvdElJWkluMVlLZi9waXZWenlpV2JhVUc4bEF3RWpoQVFDNSt6dm1Db2pv?=
 =?utf-8?B?RG1qTmtrTnMzQndDQ0Vqb09XZGhKTy9GSVlXZEVIWG5OcmkxNmIzWWpOSG1P?=
 =?utf-8?B?V0RYZktBODhiVmMybUg2Yy9yRms2cmdFazg3N0NyWVhHVUtuTkM4aVd1ayth?=
 =?utf-8?B?OXY4Qlp6aWdKaW4wRnlZd1IrUC8yblVsa2VGSUFyRnhCLzJ0dXRZM3BSV3JD?=
 =?utf-8?B?Nk9YTXVFaEJ6K3RiWkFxb3h2SkZyYWJET2E4NVFzZ3FKK21Bd2ZxWWlPQmhK?=
 =?utf-8?B?Z2V2NTBuenRkTFI1eWV0NUxyQXAwMXlrcGtRMWlhNVlaT1JOOFVFY1JYUDJB?=
 =?utf-8?B?VU1xajN6b2Z2V3BNMnJLdndqalRpSUtxZCs3Q05tSk40NkczalFvaExxN3hr?=
 =?utf-8?B?ZDBKNlZWT3dSNUNvMUc5UUxodlJhMVVQQ1VOcWRaMzNwTzg3SXRINkd1Y201?=
 =?utf-8?B?czV5Q2Q3M2JvQmRjZElIak9pLzQ2M0FybzVOcHdhaWphcUQ2OVpxY3dzUDdi?=
 =?utf-8?B?RTdiZEJjRjZ6WEE2T1Vkd05CQmtYRmx1cG9ocTdsNzNWL3RUS0lqOU1scXRQ?=
 =?utf-8?B?UGtGc2ZmSWt6RVc4N29SSHI1NmVTR1pjb0hEbmhPMElEWS8vU3JuUm1GelE0?=
 =?utf-8?B?dVBpLzBiZGxEN084eUdsdFVidjFzM0UyR1ZUU0xpOGg1eGVNU1FzeEROeEJk?=
 =?utf-8?B?akg2ZWpPSGZkMTRHZDFESkVEWlY0aXA2OFJ6NG53VXFnMlJoNFlxdTRXU2pP?=
 =?utf-8?B?dWUzT1dObUF1eHk4eUhFZmQ2V3h5WGprREU0VHp1eFhibXBhanpNbUtadjdP?=
 =?utf-8?B?S1V2YjZSM21RdkpZTVZMd0ZKTCtaR2FJcVJESFFydkNWWUYrVmVQdi9vcHVt?=
 =?utf-8?B?d0s2V3lpSDJYVDY0b283L2tqUXp5OTNMSnJNb1NVeStGcjZqS09BQ1h2VEdG?=
 =?utf-8?B?UmlXdFZGeml3dWxLQkJObWNTbWhzaHlWM3BIQVVmQllHSFVHamlLYVFxK0RE?=
 =?utf-8?B?ak5VWVVsenlEQTNyK3kwMGNRV2kxcWdSazVQa2pBNXY2UlNXMGVTMVZlcW1j?=
 =?utf-8?B?MTFiS1p3MVpSS004UFZxQzkxR3psOE1lWmhnS0UvYnpwNzBXb3BHcWxCd0w4?=
 =?utf-8?Q?FF6m7f1KbJJ9uhGYYFDdK+c=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fd8e09c4-7fd7-4bd9-ae93-08d9d029b5ce
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2022 08:59:41.4702
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: JWIf2YsOYYFrfOIr4o/rEhiExk/PHUmSu2P7avnRlEbxO5PXw/BxzuIdfzsELJ1rBt3Wndm6Tj8MaFs5WOpw9w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7149

On 04.01.2022 18:48, Tamas K Lengyel wrote:
>> I may be entirely wrong and hence that part of the change may also be
>> wrong, but I'm having trouble seeing why the original
>> "!mfn_eq(m, INVALID_MFN)" wasn't "mfn_eq(m, INVALID_MFN)". Isn't the
>> goal there to pre-fill entries that were previously invalid, instead of
>> undoing prior intentional divergence from the host P2M? (I have
>> intentionally not reflected this aspect in the description yet; I can't
>> really write a description of this without understanding what's going on
>> in case the original code was correct.)
> 
> This function only gets called from p2m-ept when the hostp2m gets an
> update. In that case this check goes through all altp2m's to see if
> any of them has an entry for what just got changed in the host, and
> overwrites the altp2m with that from the host. If there is no entry in
> the altp2m it doesn't pre-populate. That should only happen if the
> altp2m actually needs it and runs into a pagefault. So it is correct
> as-is, albeit being a subtle (and undocumented) behavior of the
> hostp2m and its effect on the altp2m's. But that's why we never
> actually make any changes on the hostp2m, we always create an altp2m
> and apply changes (mem_access/remapping) there.

Thanks for the explanation. Effectively this means that the call to
get_gfn_type_access() can simply be get_gfn_query(). For the patch
this means that I shouldn't check its return value and also continue
to pass the new order rather than the minimum of the two (as was the
case before), as all we're after is the locking of the GFN. It would
be nice if you could confirm this before I submit a non-RFC v3.

What I still don't understand is why the function blindly replaces
any possible entry in the altp2m, i.e. any possible override
mapping, not even taking into account the original p2m_access_t.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 05 09:36:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Jan 2022 09:36:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253537.434697 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n52ii-0000Sd-7a; Wed, 05 Jan 2022 09:36:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253537.434697; Wed, 05 Jan 2022 09:36:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n52ii-0000SW-43; Wed, 05 Jan 2022 09:36:36 +0000
Received: by outflank-mailman (input) for mailman id 253537;
 Wed, 05 Jan 2022 09:36:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WMgQ=RV=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1n52ig-0000SQ-5I
 for xen-devel@lists.xenproject.org; Wed, 05 Jan 2022 09:36:34 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f6766351-6e0a-11ec-81c0-a30af7de8005;
 Wed, 05 Jan 2022 10:36:32 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f6766351-6e0a-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1641375392;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=TCZo8mto1tKnx4E7hcCkJsjhsktSVHA9oiz4KykoHRk=;
  b=b62SM+YAXkW9Rs0QoZKCUG8seCjkyqWA5gQkyGio9VmY5i2T/b5ji+z6
   pCk3koECMoXvwQCKq1ai9bmBnFoxXfRzDFbY1TuVa68Zx5aafrw6DyoUm
   htvM81EdeWfbjV4IeFUKPKeRahtz69axj5C0IoclwcIU6CayZCNuFIR6f
   c=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: IM0Ix+kE8cxTPn4xFUazzeKhtHFZkco0grOYgpIB9bc6Ilgb7UO7zPohS51OzZKK1NCLV5CIHr
 LgMn0TAUctPtTgazenOweMbonGrWVB6rbzN3RFYQOG0uaDJj3fj1c9a6Xh0oHKjRewSLQ2hDjJ
 V0iK0QY6LGqFFAsbywCCFZSPq+VISz84nFVtVdiEDmfI40qpfnoZxSxECYlwqwBHb8mi7Pdwf3
 CeJzESr1OYVuasOP6OVM2sygIUjaThKIMftds7Q1dONs3lPZt5bqluBnBBZawmlMrGLmuHaWRz
 ciqfhkQgf7t3XiGihUoPSGAb
X-SBRS: 5.1
X-MesageID: 61746116
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:yKOktqtqeMEU0Sbx+j/+i77UaOfnVGtZMUV32f8akzHdYApBsoF/q
 tZmKWuOP/jcN2P1fYwkad+x90sP6MWAztNkSws9rCE3FS8V+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZQP0VOZigHtIQMsadUsxKbVIiGHdJZS5LwbZj2NYx2YXhWmthh
 PupyyHhEA79s9JLGjp8B5Kr8HuDa9yr5Vv0FnRnDRx6lAe2e0s9VfrzFonoR5fMeaFGH/bSe
 gr25OrRElU1XfsaIojNfr7TKiXmS1NJVOSEoiI+t6OK2nCuqsGuu0qS2TV1hUp/0l20c95NJ
 Npl64OCSjYzNf33tKcSU0ZiExtZF4xk9+qSSZS/mZT7I0zudnLtx7NlDV0sPJ1e8eFyaY1M3
 aVGcnZXNEnF3r/ohuLgIgVvrp1LwM3DNYUDunZm3HfBAOwvW5zrSKTW/95Imjw3g6iiGN6AP
 pVFN2M2MnwsZTVxB1YaMMI5hduj3CT7XjRy72ONvKMOtj27IAtZj+G2bYu9lsaxbcdahEGDv
 Urd4n/0RBodMbS32TeDt36hmOLLtSf6Q54JUq218OZwh1+ezXBVDwcZPWZXutHg1BT4AYgGb
 RVJpGx+9sDe6XBHUPGjQC+7kWSP7iUwGNVQTNc60ian64jbtlPx6nc/chZNb9kvtckTTDMs1
 0OUk96BOQGDoIF5WlrGqO7K8Gra1Tw9aDZbOHRaFVdtD8zL/dlbs/7Zcjp0/EdZZPXRECq4/
 T2FpTNWa1473Z9SjPXTEbwqbluRSnn1ouwdulW/soGNtFoRiGuZi2qAsgazARFodtzxc7V5l
 CJY8/VyFchXZX13qASDQf8WAJai7OufPTvXjDZHRsd9rm/3oi76I9oMvlmSwXuF1O5fJ1cFh
 2eJ4mtsCGJ7ZiP2PcebnarsYyjV8UQQPYu8Da2FBja/SpNwaBWG7ElTib24hAjQfLwXufhnY
 /+zKJ/0ZV5DUPgP5GfmFo81jO5wrghjlDy7eHwO50n+uVZoTCXOEult3ZrnRr1R0Z5oVy2Jq
 YsCbJXTlE0EOAA8CwGOmbMuwZkxBSBTLfjLRwZ/LYZv+yJqRzMsDeH/27Qkd9A3lqhZjL6Qr
 Hq8RlVZ2Bz0gniecVeGbXVqabXOW5djrC1kYXxwbAjwg3VzM5yy6Ko/docseeV1/uJU0vMpH
 eIOfN+NA6oTR22fqSgdd5T0sKdraA+v2VCVJyOgbTVmJ8xgSgXF98XKZAzq8CVSXCO7udFn+
 ++r1x/BQIpFTANnVZ6EZPWqxlK3nH4chOMtABeYfogNIB3hqdE4JTbwg/k7J9A3BS/CnjbKh
 RyLBRo4pPXWp9Nn+tf+mq3Z/ZyiFPFzHxQGEjCDv6q2LyTT4kGq3ZREDLSTZTnYWW75pPeia
 OFSw62uOfELhg8X4Y91ErItxqMi/dr/4bRdy108TnnMal2qDJJmI2WHgpYT5vEcmOcBtFvkQ
 F+L9/lbJa6NaZHsH1MmLQY4aviOiKMPkT7I4PVpeEj36UebJlZcvZm+6/VUtBFgEQ==
IronPort-HdrOrdr: A9a23:uuizeKGTSbmPldRSpLqE6MeALOsnbusQ8zAXP0AYc3Jom+ij5q
 STdZUgpHrJYVkqNU3I9ertBEDEewK6yXcX2/hyAV7BZmnbUQKTRekIh7cKgQeQeBEWntQts5
 uIGJIeNDSfNzdHsfo=
X-IronPort-AV: E=Sophos;i="5.88,263,1635220800"; 
   d="scan'208";a="61746116"
Date: Wed, 5 Jan 2022 09:36:26 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Juergen Gross
	<jgross@suse.com>
Subject: Re: [PATCH] tools/libxc: Drop copy-in in xc_physinfo()
Message-ID: <YdVmmqK8f/h8/taU@perard>
References: <20211223162244.16198-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20211223162244.16198-1-andrew.cooper3@citrix.com>

On Thu, Dec 23, 2021 at 04:22:44PM +0000, Andrew Cooper wrote:
> The first thing XEN_SYSCTL_physinfo does is zero op->u.physinfo.
> 
> Do not copy-in.  It's pointless, and most callers don't initialise their
> xc_physinfo_t buffer to begin with.  Remove the pointless zeroing from the
> remaining callers.
> 
> Spotted by Coverity.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Jan 05 09:50:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Jan 2022 09:50:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253542.434708 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n52ve-00020L-Cp; Wed, 05 Jan 2022 09:49:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253542.434708; Wed, 05 Jan 2022 09:49:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n52ve-00020E-9Q; Wed, 05 Jan 2022 09:49:58 +0000
Received: by outflank-mailman (input) for mailman id 253542;
 Wed, 05 Jan 2022 09:49:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n52vd-000204-7g; Wed, 05 Jan 2022 09:49:57 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n52vd-0004jD-5x; Wed, 05 Jan 2022 09:49:57 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n52vc-00013V-SU; Wed, 05 Jan 2022 09:49:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n52vc-0000yt-Rz; Wed, 05 Jan 2022 09:49:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=hWlzgkSigfP88EGE/K3C266XlQyikaLtRT/jLfAqNeQ=; b=I0l3PacuU42LwH1KAs/pxHh2Oa
	XdfCGKlMNA9OKlF8h0HMM6asscP3TNlmViu6icQ5cl7ecmZbumQUD2Rpw2jjZEKiJAriFluGp3ey2
	mALj6c4VC03Ev6B/+WGVqCQfsnStLEBdsMEcm+sswYDH0MhYQPYPgo3dbye82dAgQU/E=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167608-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-coverity test] 167608: all pass - PUSHED
X-Osstest-Versions-This:
    xen=af0c5430a82c77432729d61c9b409dd32c477b20
X-Osstest-Versions-That:
    xen=f1e268b9fd13647e1f69c8ce0ae7be401d319fc8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 05 Jan 2022 09:49:56 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 xen                  af0c5430a82c77432729d61c9b409dd32c477b20
baseline version:
 xen                  f1e268b9fd13647e1f69c8ce0ae7be401d319fc8

Last test of basis   167517  2021-12-22 09:19:52 Z   14 days
Testing same since   167608  2022-01-05 09:19:45 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Jan Beulich <jbeulich@suse.com>

jobs:
 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
   f1e268b9fd..af0c5430a8  af0c5430a82c77432729d61c9b409dd32c477b20 -> coverity-tested/smoke


From xen-devel-bounces@lists.xenproject.org Wed Jan 05 10:10:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Jan 2022 10:10:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253551.434719 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n53F0-0004RE-4R; Wed, 05 Jan 2022 10:09:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253551.434719; Wed, 05 Jan 2022 10:09:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n53F0-0004R7-1K; Wed, 05 Jan 2022 10:09:58 +0000
Received: by outflank-mailman (input) for mailman id 253551;
 Wed, 05 Jan 2022 10:09:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WMgQ=RV=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1n53Ez-0004R1-61
 for xen-devel@lists.xenproject.org; Wed, 05 Jan 2022 10:09:57 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9f71a980-6e0f-11ec-81c0-a30af7de8005;
 Wed, 05 Jan 2022 11:09:54 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9f71a980-6e0f-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1641377394;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:content-transfer-encoding:in-reply-to;
  bh=eBEzcXKe+9NiNBHjwqKnGq6pRO1Ha3JWQJayodoM8bQ=;
  b=a02s6ogcuxvSGh6dV4OSM+bXHDDea8V5IawUbvurmE9eW8+wRcBKbnPf
   CXapFelN8Q9ShJv/QFWXkMHR9fNJUS7Ga5l5LiT3EzizteXal/xYPQIwv
   M+5aU2WPW6/5fhbmteJQtc4xjDUXf1Jeetq011YUNNyTRy5KG3GTMroPR
   Q=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: EYSsd1DylTSc2aP11lq0xMy6HJgAUEIBFqIOlrLdPX2OYyZaMGu9q/FZDazQ6vhqyvhYloLTCZ
 f4FnleWWaTTDTxnZtoCtG5Y+rlwjHTKykoU/zUKtqeLBvlg1r64aA3DJQ7oL0Jom+T+H67I/JW
 P2z/1cSeV499+NlLxxuNaVgttu+nVK5EAjojQGxPO3W+ZZnLw41LfwUuT3Hu4bBFOCQ6a01Hrs
 1MlkCmufEyuH5lEA0CT9c5VSWzseHg2gmrwQoXEKsuWz49nUHBDnBB10M+ZgKX2gyCL34VUdI/
 h0Jiw8gp70rHTLQB4OwEiVJj
X-SBRS: 5.1
X-MesageID: 61273475
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:FdsW9qNZoqetQ//vrR12kMFynXyQoLVcMsEvi/4bfWQNrUp31jdWm
 jEfCGGEO6reMWH1fd0nbYSzo01VuZ+DxtU3Gwto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdpJYz/uUGuCJQUNUjMlkfZKhTr6UUsxNbVU8En150Eo+w7dRbrNA2rBVPSvc4
 bsenOWHULOV82Yc3rU8sv/rRLtH5ZweiRtA1rAMTakjUGz2zhH5OKk3N6CpR0YUd6EPdgKMq
 0Qv+5nilo/R109F5tpICd8XeGVSKlLZFVDmZna7x8FOK/WNz8A/+v9TCRYSVatYoxWTvMkul
 oUdj7nzEiF0Ao7ut+oydQYNRkmSPYUekFPGCX22sMjVxEzaaXr8hf5pCSnaP6VBpLwxWzsXs
 6VFdnZdNXhvhMrvqF6/YuBqmsQkKtitJI4Fs2ts5TrYEewnUdbIRKCiCdpwgm5q2ZsSQqu2i
 8wxcgZwNU7daRh2B3xMWcohnv6o2kDnbGgNwL6SjfVuuDWCpOBr65DyNPLFd9rMQt9a9m6aq
 XjB5H/RGQwBOZqUzj/t2n+si+qMjS79cIdPDPuz8fsCqE2ewCkfBQMbUXO/oOKlkQiuVtRHM
 UsW9yEy668o+ySWosLVBkPi5iTe51hFBoQWQ7ZSBByxJrT8wxy6HzdaHm57TZ99kpIKZh4F2
 HCvgIa8bdBwi4G9RXWY/7aSiDq9PykJMGMPDRM5oRs5D8rL+99q0E+WJjp3OOvs14CuR2msq
 9yfhHVm74j/m/LnwElSEbrvpzu37qbEQQcujuk8djL0t1gpDGJJimHB1LQ60RqiBNrJJrVil
 CJd8yR70AzoJcrT/MBqaL9XdIxFH97fbFXhbadHRvHNDQiF9X+5Zpx36zpjPkpvOctsUWa3P
 BaI41oBvcEJYCXCgUpLj2SZUJpCIU/IT4+NaxwpRoAWPsgZmPGvoUmCmnJ8L0iyyRNxwMnTy
 L+QcNq2DGZyNEiU5GHeegvp6pdynnpW7TqKHfjTlk37uZLDNC/9YepUazOmM7FmhJ5oVS2Iq
 r6zwePRkE4BOAA/CwGKmbMuwacicSJmWMuo8pMPLYZu4GNOQQkcNhMY+pt5E6QNokifvr6gE
 qiVVhAKxVzhq2fALAnWOHlvZKm2BcR0rG4hPDxqNlGtgiBxbYGq5aYZVp02Ybh4q7Azka8qF
 6EIK5eaH/BCajXb4DBBP5Pzm5NvKUawjgWUMiv7PDVmJ8x8RxbE88PPdxf08HVcFTK+sMYz+
 uXy1g7STZcZaR5lCcLaNKCmw1+r5CBPk+NuRUrYZNJUfRy0ooRtLiXwiN4xIt0NdkqflmfLi
 V7ODE5B9+fXooIz/N3Yvoy+rt+kQ7lkA05XP2jH9rLqZyPUyXWunN1bW+GScDGDCG6toPe+Z
 f9Yxu3XOeEcmAoYqJJ1FrtmwP5s59broLMGnA1oEG+SMgauA7JkZHKHwdNOputGwboA4Vm6X
 UeG+997P7SVOZy6TA5NdVR9NunTh+sJnjTy7OguJBSo7SB6y7OLTEFOMkTekydaNrZ0bNsoz
 OpJVBT6MOBjZs7G6uq7sx0=
IronPort-HdrOrdr: A9a23:zi6elqHor382075qpLqE7seALOsnbusQ8zAXP0AYc3Jom+ij5q
 STdZMgpHjJYVcqKRQdcL+7VZVoLUmxyXcx2/h2AV7AZniFhILLFuFfBOLZqlWKcREWtNQttp
 uIG5IOceEYZmIasS+V2maFL+o=
X-IronPort-AV: E=Sophos;i="5.88,263,1635220800"; 
   d="scan'208";a="61273475"
Date: Wed, 5 Jan 2022 10:09:43 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Elliott Mitchell <ehem+xen@m5p.com>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, Juergen Gross
	<jgross@suse.com>
Subject: Re: [PATCH 1/5] tools/libxl: Mark pointer args of many functions
 constant
Message-ID: <YdVuZyvwrDUxn4O4@perard>
References: <cover.1640590794.git.ehem+xen@m5p.com>
 <80dd561339dbe54f1ed2c2302ace389e87d445fe.1640590794.git.ehem+xen@m5p.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <80dd561339dbe54f1ed2c2302ace389e87d445fe.1640590794.git.ehem+xen@m5p.com>

On Fri, Dec 18, 2020 at 01:37:44PM -0800, Elliott Mitchell wrote:
> Anything *_is_empty(), *_is_default(), or *_gen_json() is going to be
> examining the pointed to thing, not modifying it.  This potentially
> results in higher-performance output.  This also allows spreading
> constants further, allowing more checking and security.
> 
> Signed-off-by: Elliott Mitchell <ehem+xen@m5p.com>

This patch doesn't build.

    libxl_cpuid.c:510:17: error: conflicting types for ‘libxl_cpuid_policy_list_gen_json’
      510 | yajl_gen_status libxl_cpuid_policy_list_gen_json(yajl_gen hand,
          |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from libxl_internal.h:89,
                     from libxl_cpuid.c:15:
    /home/sheep/work/xen/tools/libs/light/../../../tools/include/libxl_json.h:30:17: note: previous declaration of ‘libxl_cpuid_policy_list_gen_json’ was here
       30 | yajl_gen_status libxl_cpuid_policy_list_gen_json(yajl_gen hand,
          |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Also we talked about this patch before, in
    https://lore.kernel.org/xen-devel/YImXfc4oaPgWzkeT@perard/

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Jan 05 10:17:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Jan 2022 10:17:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253556.434730 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n53MO-0005qx-Vn; Wed, 05 Jan 2022 10:17:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253556.434730; Wed, 05 Jan 2022 10:17:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n53MO-0005qq-SZ; Wed, 05 Jan 2022 10:17:36 +0000
Received: by outflank-mailman (input) for mailman id 253556;
 Wed, 05 Jan 2022 10:17:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n53MN-0005qg-Aw; Wed, 05 Jan 2022 10:17:35 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n53MN-0005Jh-72; Wed, 05 Jan 2022 10:17:35 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n53MM-000278-UM; Wed, 05 Jan 2022 10:17:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n53MM-00021i-Tt; Wed, 05 Jan 2022 10:17:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=AX/Mtp176dnJTKsT5f5Rqn8yFdySmVupSWcEKxtUXeI=; b=rMaA8sT8r1g1Ol40NBL16hiHpZ
	/g2MV+bQEsLQEmStnvVNkSaGQbbNNh2FGPcgxVVBcQ0RVVGTbo+Eer3TfubnTSlGAxD9JJmFeIJNS
	w+uvW6gLf3HDuQFFbChR9r7Khaz/m1QkT2nuvpsz7zj7j2uCJn9MNsoe0r1J71FUKsYs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167607-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 167607: 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-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=c4b3e26d67efa88f69a483857c6ce233fc4e4ac3
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 05 Jan 2022 10:17:34 +0000

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

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-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

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

Last test of basis   151777  2020-07-10 04:19:19 Z  544 days
Failing since        151818  2020-07-11 04:18:52 Z  543 days  525 attempts
Testing same since   167607  2022-01-05 04:19:00 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Ani Sinha <ani@anisinha.ca>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  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>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.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>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  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>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  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 Chevsky <nchevsky@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>
  Or Ozeri <oro@il.ibm.com>
  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>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  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>
  Stefan Hajnoczi <stefanha@redhat.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>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.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>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Дамјан Георгиевски <gdamjan@gmail.com>

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


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Wed Jan 05 11:32:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Jan 2022 11:32:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253566.434740 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n54Wu-00051y-JM; Wed, 05 Jan 2022 11:32:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253566.434740; Wed, 05 Jan 2022 11:32: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 1n54Wu-00051r-GK; Wed, 05 Jan 2022 11:32:32 +0000
Received: by outflank-mailman (input) for mailman id 253566;
 Wed, 05 Jan 2022 11:32: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 1n54Wt-00051h-2u; Wed, 05 Jan 2022 11:32: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 1n54Ws-0006aR-QJ; Wed, 05 Jan 2022 11:32: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 1n54Ws-0005MG-Gu; Wed, 05 Jan 2022 11:32:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n54Ws-0007yo-GV; Wed, 05 Jan 2022 11:32:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=FENc1g6r42Rbj6KTB7cSo1hFf8CZefQmOiJK5qq8baY=; b=y4q7DgD7anR97ljvEO1l5cj9Mg
	uttFW9eEwgGfDc8RJur8TZEiq6U0Uv40FbP776ygdLrwwPJ4k6oqets3trxQ/LpGGHx4j57Qc+rnO
	K3H4ZKaFx/EHKrufmvDzmHbj/TKTaRZkhcQlR3RiiPITq1MQrKmUo63SKwx0GePfaXiU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167605-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167605: 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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-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-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-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt: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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=af0c5430a82c77432729d61c9b409dd32c477b20
X-Osstest-Versions-That:
    xen=af0c5430a82c77432729d61c9b409dd32c477b20
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 05 Jan 2022 11:32:30 +0000

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

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

version targeted for testing:
 xen                  af0c5430a82c77432729d61c9b409dd32c477b20
baseline version:
 xen                  af0c5430a82c77432729d61c9b409dd32c477b20

Last test of basis   167605  2022-01-05 01:54:06 Z    0 days
Testing same since                          (not found)         0 attempts

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


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

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

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

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


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Wed Jan 05 13:11:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Jan 2022 13:11:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253587.434759 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n563j-0006Jt-C1; Wed, 05 Jan 2022 13:10:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253587.434759; Wed, 05 Jan 2022 13:10:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n563j-0006Jm-8w; Wed, 05 Jan 2022 13:10:31 +0000
Received: by outflank-mailman (input) for mailman id 253587;
 Wed, 05 Jan 2022 13:10:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nls+=RV=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1n563h-0006Jg-L1
 for xen-devel@lists.xenproject.org; Wed, 05 Jan 2022 13:10:30 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on061c.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::61c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d9943d09-6e28-11ec-81c0-a30af7de8005;
 Wed, 05 Jan 2022 14:10:27 +0100 (CET)
Received: from AM6P191CA0050.EURP191.PROD.OUTLOOK.COM (2603:10a6:209:7f::27)
 by DB9PR08MB7399.eurprd08.prod.outlook.com (2603:10a6:10:371::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.17; Wed, 5 Jan
 2022 13:10:19 +0000
Received: from AM5EUR03FT024.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:7f:cafe::4b) by AM6P191CA0050.outlook.office365.com
 (2603:10a6:209:7f::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.7 via Frontend
 Transport; Wed, 5 Jan 2022 13:10:19 +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.4844.14 via Frontend Transport; Wed, 5 Jan 2022 13:10:18 +0000
Received: ("Tessian outbound a33f292be81b:v110");
 Wed, 05 Jan 2022 13:10:18 +0000
Received: from 3aed54ce92f1.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 66D80BE7-4E39-433C-91DE-24F52F03AC0B.1; 
 Wed, 05 Jan 2022 13:10:11 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3aed54ce92f1.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 05 Jan 2022 13:10:11 +0000
Received: from HE1PR0801MB2123.eurprd08.prod.outlook.com (2603:10a6:3:7e::8)
 by HE1PR0801MB1899.eurprd08.prod.outlook.com (2603:10a6:3:4e::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4844.14; Wed, 5 Jan
 2022 13:10:07 +0000
Received: from HE1PR0801MB2123.eurprd08.prod.outlook.com
 ([fe80::6df0:a983:cb3f:deae]) by HE1PR0801MB2123.eurprd08.prod.outlook.com
 ([fe80::6df0:a983:cb3f:deae%5]) with mapi id 15.20.4844.016; Wed, 5 Jan 2022
 13: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>
X-Inumbo-ID: d9943d09-6e28-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cKkQUpGIt52IPiU2Xi1sfOjx+gYHusJi35XBTolNK0g=;
 b=wRfHTIhAgDa7d4wbq4ZqeKlrsxJePVFR9VkOfxt28+gifsHqLlERYj7LutKCl8E0d8j3eMvRi4bfVRd28ZaO2On7Y/rWrV2Y/otivol8g7f7kmNUBgrtf83ztTAdg1tOrMlEoZl+ebQOmqXY7iSpz2eZkM3Su7jae+pSYT71A5o=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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: 878bdd90749f3025
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bCbzBHD/er+Y4pS3hIsyVlnMo+xgnPiNFgE9pmFwRtpGpQj7+ndD/8QsEaJynKyCWLQi+EyYB/extegXRwumaPjfe+wIg/SmQGe1fM+T2rGQPduNG7VJZel6Z8t1qK+G5BaCTVGGICScx2iD4eI8emvHcoUZtAA6NBdm3jsK1U7R7LfVTyJKglfuLRfXh3t2bp2KlubijGvWCIEd/8N4Pi1DdiIf1cIiYPcwKUcKKiRhL6dYvrDoxrYwmv9fYxHXjGJGNW6kph39jlbf5uaPmnMXtxn7VBYvst9/zoFPiv6+jHWZOWayERXt+7F8o/VyCN7URjwYUxI22kQ1v5FTyQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cKkQUpGIt52IPiU2Xi1sfOjx+gYHusJi35XBTolNK0g=;
 b=N1EqYr3pGg8d1WQRziMolqszAN+8YZ4c9eaJBQiVNcGqzvArY93Ci8ETIDe+Eyl8+bm/15R36gEuwWen4CoJAcquMmlHtORUvh8l+l2PPUr2Z1SG72K26aJkAPyP2s9w+1O7bhNaxR+7yZZXCNbMAy4zfPJupOczwxDaLwiwv2E4j18MpHO+vYag58jsbbndFAzbqpKiGBUdM54S0qSfJXpGPzVAJeNMUdJCMjKXuGqtGl+XlUiKJq4pAtK7aw7VRFDKZ2Gmk7ltErzgeJ03F+Jxe8bWzOsTWm9003yDhLyN8izud/nK3ynrssoBtFz+OvHNzVGNEgikeIfh3RO6WA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cKkQUpGIt52IPiU2Xi1sfOjx+gYHusJi35XBTolNK0g=;
 b=wRfHTIhAgDa7d4wbq4ZqeKlrsxJePVFR9VkOfxt28+gifsHqLlERYj7LutKCl8E0d8j3eMvRi4bfVRd28ZaO2On7Y/rWrV2Y/otivol8g7f7kmNUBgrtf83ztTAdg1tOrMlEoZl+ebQOmqXY7iSpz2eZkM3Su7jae+pSYT71A5o=
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
Content-Type: text/plain;
	charset=utf-8
Subject: Re: [PATCH 1/5] tools/libxl: Mark pointer args of many functions
 constant
From: Luca Fancellu <luca.fancellu@arm.com>
In-Reply-To: <YdVuZyvwrDUxn4O4@perard>
Date: Wed, 5 Jan 2022 13:09:57 +0000
Cc: Elliott Mitchell <ehem+xen@m5p.com>,
 xen-devel@lists.xenproject.org,
 Wei Liu <wl@xen.org>,
 Juergen Gross <jgross@suse.com>
Content-Transfer-Encoding: quoted-printable
Message-Id: <AC735889-DA89-49E6-9214-31EFC8890AB9@arm.com>
References: <cover.1640590794.git.ehem+xen@m5p.com>
 <80dd561339dbe54f1ed2c2302ace389e87d445fe.1640590794.git.ehem+xen@m5p.com>
 <YdVuZyvwrDUxn4O4@perard>
To: Anthony PERARD <anthony.perard@citrix.com>
X-Mailer: Apple Mail (2.3693.20.0.1.32)
X-ClientProxiedBy: LO2P265CA0298.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a5::22) To HE1PR0801MB2123.eurprd08.prod.outlook.com
 (2603:10a6:3:7e::8)
MIME-Version: 1.0
X-MS-Office365-Filtering-Correlation-Id: 546bd9a3-680a-456d-3052-08d9d04cb8af
X-MS-TrafficTypeDiagnostic:
	HE1PR0801MB1899:EE_|AM5EUR03FT024:EE_|DB9PR08MB7399:EE_
X-Microsoft-Antispam-PRVS:
	<DB9PR08MB73996C6595A4B2D70EDCB720E44B9@DB9PR08MB7399.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:
 7K9xmfXOybsO+0BSZzL8VRmM6s887dI7fMNe5INssXFz4Nzd2TFa9/0KUFJVlUs95IVUpnl5+0gJNfsTY1viK/GLeDbcd811YE1lbsT7JTolkUD4/nybpw0lb72SYpk7EGmc4wGhTMx7x5PQ5+lGCxDl49NtrX01crQaFCsd3vJiidmyaXqWD87o5UvTanIQFCWODUn73KyPdpVTYHoGcUTpqG1dhO6SzowyTwvguAM8VMVIZ/C3iY8amV8kzLd1yniQjwo3PtIIkl6k6b63qEhU1YiT3Aql/ONCtDwSFe+HccqIVWaPi8sEjCxO9aXqdijGzEiHo8fRpd/Zp90+DgyGDcOj1w74M9ejHOZBYptTLuIJXDNL7RzW7dxFveBSXeOXXv4jYpJMix3zBCVnXbKBVC10ry6jdaU8F4dEVtoWNSDHizmrOhANeJqcDDQZIBW9WbmdfUw1vKKaaJGEDEp3aih2dQCi5SJ2qltb22aOQTVK+1F90qBYr+yF/U1kr9NjVMFl8Wg4YiZlhw+zNwonsGJDNcCOLJxzMSytFsVjm8AHk4D21QfOEAc1PEs4LeWB/Kvnhur6ZZLU5F8WaMOKMpey5giRCXxcdRY9g5YwGDIJaE3av0ZXvR7yyvLgT+yAIux3CE1JQAX2BdIvlE7cqF897V/Q68VaGOPJ2ogfpMOu7iipdL2z1/CwDPSKPVNARXjqV4cEnuCnLGeZJ13oJH9GT5idWI1Fio33fL1QuI1tWWpGRB3c/kD37PWJFbNhp7d66hBveD+DQEH4rb0IkJ3hzyJx0yvPENP3uXkkjhcLXUrMVhmsGNnbRcsm
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR0801MB2123.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(508600001)(26005)(186003)(6506007)(53546011)(316002)(54906003)(52116002)(36756003)(6666004)(4326008)(966005)(8936002)(2616005)(6486002)(86362001)(66476007)(83380400001)(2906002)(8676002)(66556008)(66946007)(6512007)(38100700002)(5660300002)(38350700002)(33656002)(6916009)(44832011)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1899
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT024.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	1fb30251-bc53-4383-dd8c-08d9d04cb0fd
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	KQXCwiEevgLiIQDU1/86zvAAY1NaSwEwHlVRapBVu1QnBQoibxq8xcwbxSf5aM05jsuvoHHzASB999C4LVpQPU0EJr93ldBE+7FNDPPgECcnuBud1rh6ejYz3uCnbx404YGP17k15SLrf7+6TpmlkiTD1VeNh6cUJx2vLXtZ1tKLO12U2FgRYtOXdg+uN70q8QxsgPD5sh42jeFbH85xJUrYuY/Sw4uN+QcNxwgii3ScNmWTmaH9Kha9RJC1KcD4DxmZqIl7AG+pJGNUjEkGFbBtdKG1T2gHiS6Pahyop6dpUwAybZ2XIbCkEtlzGd76fiaj7X5qJUFkn8QSk825lFhVfz83i8iLyeZLb+PUL2WiSvrlfnE1EK+AZoHO+8J9VddbMZMvPiZ+X/dF2kA9j1Vdj7pXFv2AcSyIZJ6aNPCWHjBp19TcFPAeLbURW43eXzqr1injVlLe6BPyBr6cqNv/KMP3lfCveYTCmg/E29tir7wqL2VfBEWoWXqPiHGsmPuDxvP2VLjHKGzH7+K/AEqWLn+3xfs2EhoXZIqRhgEqgrbOipjQcjU8ki3VtO9fFQZOnFHXnOmL5+oJOeKtr3LDR2bvimUMa4R4Uv+g5FGc6yz4iyY4cRYZy6cY4+7Z8IA27x8ZCsM7MJpvjUcq4HbrAtNl96vVo6B1L+ZBnSbKO5XmOELbqB3fDudJV6Cipw8rT6IpW7dWWijWujclk+g2FTnFpByPI9s3KPL0Arx3XeGyNv2qBaDg3PcvzaUTFKMqi+DyrMwVJZOL9eIqXLo+CrEQBnpRWFYdTEVhq084O4q5Z4Pi/eMu9lipF6ryRa7q+SqXt5HrWCM+3sYh6rL2fNuuZAO1U8ENu2qJRkk=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(40470700002)(36840700001)(46966006)(6666004)(508600001)(83380400001)(966005)(336012)(6512007)(53546011)(6506007)(5660300002)(316002)(8936002)(81166007)(4326008)(8676002)(2906002)(54906003)(107886003)(36756003)(82310400004)(6862004)(70206006)(6486002)(356005)(86362001)(26005)(40460700001)(2616005)(47076005)(70586007)(33656002)(36860700001)(186003)(44832011);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2022 13:10:18.3591
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 546bd9a3-680a-456d-3052-08d9d04cb8af
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: DB9PR08MB7399



> On 5 Jan 2022, at 10:09, Anthony PERARD <anthony.perard@citrix.com> wrote=
:
>=20
> On Fri, Dec 18, 2020 at 01:37:44PM -0800, Elliott Mitchell wrote:
>> Anything *_is_empty(), *_is_default(), or *_gen_json() is going to be
>> examining the pointed to thing, not modifying it.  This potentially
>> results in higher-performance output.  This also allows spreading
>> constants further, allowing more checking and security.
>>=20
>> Signed-off-by: Elliott Mitchell <ehem+xen@m5p.com>
>=20
> This patch doesn't build.
>=20
>    libxl_cpuid.c:510:17: error: conflicting types for =E2=80=98libxl_cpui=
d_policy_list_gen_json=E2=80=99
>      510 | yajl_gen_status libxl_cpuid_policy_list_gen_json(yajl_gen hand=
,
>          |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    In file included from libxl_internal.h:89,
>                     from libxl_cpuid.c:15:
>    /home/sheep/work/xen/tools/libs/light/../../../tools/include/libxl_jso=
n.h:30:17: note: previous declaration of =E2=80=98libxl_cpuid_policy_list_g=
en_json=E2=80=99 was here
>       30 | yajl_gen_status libxl_cpuid_policy_list_gen_json(yajl_gen hand=
,
>          |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>=20
> Also we talked about this patch before, in
>    https://lore.kernel.org/xen-devel/YImXfc4oaPgWzkeT@perard/
>=20
> Cheers,

Sorry about that, when I=E2=80=99ve put my R-by I thought it was building, =
I=E2=80=99ve checked again and it=E2=80=99s not building for x86_64, arm32 =
and arm64 looks fine so far.

Cheers,
Luca

>=20
> --=20
> Anthony PERARD
>=20



From xen-devel-bounces@lists.xenproject.org Wed Jan 05 13:47:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Jan 2022 13:47:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253592.434771 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n56dX-0001Ca-Bp; Wed, 05 Jan 2022 13:47:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253592.434771; Wed, 05 Jan 2022 13:47:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n56dX-0001CT-6u; Wed, 05 Jan 2022 13:47:31 +0000
Received: by outflank-mailman (input) for mailman id 253592;
 Wed, 05 Jan 2022 13:47: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 1n56dW-0001CJ-70; Wed, 05 Jan 2022 13:47: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 1n56dW-0000eF-2u; Wed, 05 Jan 2022 13:47: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 1n56dV-0002WW-N2; Wed, 05 Jan 2022 13:47:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n56dV-0004ga-LY; Wed, 05 Jan 2022 13:47:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Kf0iy1WI18ZHY7I++YTwtNkrWV/aPCubn+aivcbvQrA=; b=bc6fg8cG4aM5RTaCPwoKySiC/Y
	arcB2Kcoytg1l7+L2E6sLovS+MPvv2aRg48nrvspLcYn9zFrI2pk3cQ7os1YjbiPodAMHoEoX4TO1
	bweesuDuWvkmu1Kk4gt+TFQeyrtjxFioq66RK+mBj6T2TXhMa6eVtYthg7jKrIVOe22k=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167606-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167606: 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-armhf-armhf-libvirt-qcow2: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-amd64-i386-libvirt-xsm: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-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-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2: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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-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-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=58140d3964c7c545f0880d978f279ed7b4cb41b8
X-Osstest-Versions-That:
    qemuu=67e41fe0cfb62e6cdfa659f0155417d17e5274ea
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 05 Jan 2022 13:47:29 +0000

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

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

version targeted for testing:
 qemuu                58140d3964c7c545f0880d978f279ed7b4cb41b8
baseline version:
 qemuu                67e41fe0cfb62e6cdfa659f0155417d17e5274ea

Last test of basis   167604  2022-01-04 18:08:12 Z    0 days
Testing same since   167606  2022-01-05 03:10:16 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Laurent Vivier <laurent@vivier.eu>
  Philippe Mathieu-Daudé <f4bug@amsat.org>
  Richard Henderson <richard.henderson@linaro.org>
  Xiaoyao Li <xiaoyao.li@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-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   67e41fe0cf..58140d3964  58140d3964c7c545f0880d978f279ed7b4cb41b8 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Wed Jan 05 13:56:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Jan 2022 13:56:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253601.434782 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n56m5-0002iQ-Ck; Wed, 05 Jan 2022 13:56:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253601.434782; Wed, 05 Jan 2022 13:56:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n56m5-0002iJ-9G; Wed, 05 Jan 2022 13:56:21 +0000
Received: by outflank-mailman (input) for mailman id 253601;
 Wed, 05 Jan 2022 13:56:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=VMO2=RV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n56m4-0002iD-5y
 for xen-devel@lists.xenproject.org; Wed, 05 Jan 2022 13:56:20 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 41cf63b0-6e2f-11ec-81c0-a30af7de8005;
 Wed, 05 Jan 2022 14:56:19 +0100 (CET)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2175.outbound.protection.outlook.com [104.47.17.175]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-2-3s5RiCtFND2iEXTT76q6tA-2; Wed, 05 Jan 2022 14:56:17 +0100
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.4844.15; Wed, 5 Jan
 2022 13:56:16 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.016; Wed, 5 Jan 2022
 13:56:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 41cf63b0-6e2f-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641390978;
	h=from:from:reply-to:subject:subject: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=4Rr59kPVPy4nsWrChiIdD0KPU+/prAJ0TkOCBvrOS/c=;
	b=UV0xTbJt6BDpoIIu0FZJ9Co6g5pVFzHb34w1GxygNe+lgGrCEiBPehObjc8Tb2nJSyEuZu
	ZJpnBExBcFexHU9WmYhwPJqkqG5MBoAGL4QLFAhgrY5BiIRDzw5E3P1rKeggVpxYktdoCQ
	ycNj3Rcao1ImFzpEKEozBAE1wkvjuZE=
X-MC-Unique: 3s5RiCtFND2iEXTT76q6tA-2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gEmlBo+fx+Md/xmP2OQxmo1A0KyH2gwbkcD55RvjrV6e18Z6K045DARtdPxcAgoM+ASOZMvKOjoidNuRSECirw5LKiP1xGtano83o4D2cqrgZhXVaeT30BLS1v+p/EPOlUBpvgmF48NOt1UURKPGhLBjx/K60RDMQzbz4FnBX3k37T2mt8wvl4/2GMo9toSNFPB4xuGACYX8bqwqKBmCOBbtXHOGPV9r70xNp9wOI5e0Ooub7UI9Q6SYM8lXVyPOMH92ZnDE5KgLlfj2GlSlCXU/IC2+F1SSExmVPP/0aRxVTybFN2C/jdA5nRu2nLadI0kQm7+dnRmLXsJH9A07zg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4Rr59kPVPy4nsWrChiIdD0KPU+/prAJ0TkOCBvrOS/c=;
 b=hJm/b9SlyVKborvqMc5Svkg3Bctx+6kr6kRcjYrcmSbx2sdZskLRtLiAyTuBugdBdYoepNU2ZEq9jQZ9LgobjuSO9C0mpW1oFsX+icv2U7aY5+SQPKyfiaUm2AHvrKw/o928cL7GWVYw6zXUpyki8Q8YNg2ekDiWwyf2Yo56zddsxjCIuxk0jmyQVGQAQLcDwsIcOYJADVvLYC4QzBmVDafk/qXvvvp9gm6uao5uyzIAZsJru3HCJiSXx8BY3cOMAu7Gj+oAjFNBBNaDFmZ6x6U9RXaPVdwOBqdUQptsvY4dhMDGiE8VJvEf0Z1XkUPpzkATvO81UalYLNaJ03w/2Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ff461a77-93a0-5424-6565-2e947bec3912@suse.com>
Date: Wed, 5 Jan 2022 14:56:14 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2 0/3] x86/perfc: assorted adjustments
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5P194CA0022.EURP194.PROD.OUTLOOK.COM
 (2603:10a6:203:8f::32) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c8d60644-89ff-4b9f-690c-08d9d053248a
X-MS-TrafficTypeDiagnostic: VI1PR04MB4445:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4445592237333FD2F36509D5B34B9@VI1PR04MB4445.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:1728;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	85RlU5azzalA1bjRNQRR8QWnQeL5kD+n2DZe1Eed/4ot3mqvZVYEGBLaRHX4FCcjBpi7WFw+uM86Hqgp0Qtj5C43/SNCm/G25TnEaCrcESxv3MD3cngPv5EzFb289RhkhgcKSy+XYYLLphwwpkO4O8ktz14NFDgapZVLOGWPjt2oLqbqSgzMMJUUq5nIpT+RNwJdThoc4tasvkz2SERtVvLzVK8iUcZQMfEm24eUMlD1qzDWI6U8bc9saU8KclORtfAEw4D3Mftl/qITicR2Gmog/MiRau0Sjz0sQ4GtIppcZunqvwk9AGp33D9WZvTrL4h4e2LbzKJOoPTHXtMChMswpozBWqr9fkYxT5XIiRasLpaRTafED1Hz1Figcidm8JsvXY6GB80/0WQP8THaeZx1eGutrxqpr8ibfJJU/32wzUMCEyHDNcrJRMhT26PCCG5f/zd2b7qEJ0z3xJfP5zj9vf9jqOkddsnqcDqADhaPq1hKVF83AnP/8SMb3fWWmb7o6/+OioRGf8M3bDSEroqlnEcw2fofQxwPXGriRY7ohgMzQcT93+H2YZJDbxhMDDGbrbwlgsK5CBT69HOkyoZwD/Q6XJzqnt5eF/P9XLdzJWqJdZXrHfwVklwk/jBxat/mzag7BGS/f7t4P0ygyNjxfhnwZiCxfAT/e2ksL+8gWx26b0dhp2UJccefZUjY5kb2nnvHLRJCOm7m6Z+w88ytcgNNLdHjJgP1jTgEniU=
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)(38100700002)(86362001)(54906003)(6916009)(66476007)(31686004)(8676002)(26005)(2906002)(8936002)(186003)(6512007)(66946007)(4326008)(6506007)(5660300002)(31696002)(36756003)(558084003)(316002)(6486002)(508600001)(66556008)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RlVURXJnc2JQSGdFajRtenVPbTN3KzRubG9NVDlqb1JsZ0ZlRU94S2EyNGM5?=
 =?utf-8?B?aXZEOFl4VkZKaTVXUDJaVlNpMEh1Mi9tSDkyM0tkdzN4d0ZjbUtJYlFnZnVq?=
 =?utf-8?B?VWE3ZXMvblBCaVhvQUcvdDZKVGhlS01mbzArYWNPUFZpTmlNdFZEbjNBcVpD?=
 =?utf-8?B?VCttL0pxVGEwZGJBb2xMVGNSa0FsTHBpSXN0cE5oUDllTWRxNWpDQU4xTXZR?=
 =?utf-8?B?Wkdrc3pVNFg2UkxvY3k2bXB5SkNybGx4ZjA4MUxQTW5nTTR6aFVweS9sZ2Ir?=
 =?utf-8?B?ZnFjaG9yU3VrWmg5ZWZLTlVNQSs0Z29yNklEaXE1aWJQRCtoWldpcUxYUWFV?=
 =?utf-8?B?R2JNS3NVZE5QQlZWdnAvS3pYNW1ST0NXbGJVM3lsKzVtUDJMUWhBYTVRa21Y?=
 =?utf-8?B?b1A2MW1jWG42V1BjMlNwdXVLN3JmbTZieTlWNHE2Qm5paFVZbllFc3FDRzhJ?=
 =?utf-8?B?WDluQURjdi9NQm8rUTdnZm9vV0xZSzRPZ3pwaHpKaUU4SVkrN3I0V1BscElG?=
 =?utf-8?B?MzFaRWZMcmMyRkNSaG0rL0V0WWtxSlhVV1QzUElJeHM5SnUwU2E3bVBUaS9D?=
 =?utf-8?B?RjZ5aUhLQVFuQW10NkgxUTQvbUFIdkN3ZEFnSVZ0Zyt0K2xCV3NMRG0rMUp3?=
 =?utf-8?B?eW1WWC9BVTdPK1B2VUVxTk9sU2NReXJGZDJ2S2RGVy9rNU9kdUdVK2Z6bnAv?=
 =?utf-8?B?SUFEbSs1WEpoZFp4dU5BSkFJVTZwOTY2eVp1V0NtWXhVelp2dG1wQkNyVlhJ?=
 =?utf-8?B?cEliMnk1VjUxeXprRkN2U1hZWDBvbG53b0YxQy9jVXNuVmlCcGJ6bU5zdjZ2?=
 =?utf-8?B?ViswQlpPVmx2RXJGdzNoUGVlSnFVVk95cEFabjFubjBwRVVwTUNrTG1YUTFR?=
 =?utf-8?B?aFNvVzdGaWRyNEVFV3hXeFltejBCekVEbGtwMTQ2WDBqclJROC8zdE42V25Q?=
 =?utf-8?B?djdlS1lIRFF4ZVF1UTg1eHo3RFRXRFJTVlAydEZ3cEtkZnpmelVuSVFhSHc1?=
 =?utf-8?B?YStLQjFMNEVrOHB4akZ2TXl0OXZBeVYwRmtxUTArYUNNTTg1VngydEhPUmRY?=
 =?utf-8?B?V0tRR0ZIL3ZIc1FKWFNoM2UwSUpTS0JvOVpZcG9FbE40M0g0dEJZK2RYTjVv?=
 =?utf-8?B?ZjQrYzl1V3B4ZFQ0dzVXUjhNWGxHVWk0dG90dEhzbHY5Mm8xeVMvYmpMcUNo?=
 =?utf-8?B?bUxteUNGSEpiVDFla1ZSRlFCb2VQS1Z1TkZKeGtTbTEzbUZsNWJ0SThxdngw?=
 =?utf-8?B?TGZjdWNBRnlob3hhVExURmU4Z2dQdUtCN3RmTkNBdnNubHlneFJHYm9KVWxy?=
 =?utf-8?B?TWNKOUUvcisyZEpkaDY0T2FvdWliU3FvU2Jnem56elhZZUpDSXUrbWpwMXFU?=
 =?utf-8?B?TlhCRGRhMjBLUm4xa1B3SSt6Z3RCMGRUTmlheWlybFA2bHdWdHNPWVFMZ2l2?=
 =?utf-8?B?QkFOdkNBbUxhT205UE0vbHVXZFNMTmprZy81cWFFc1Ztdk9ZVmcwcG5STE1F?=
 =?utf-8?B?VXVRRVJJMjZmUndJQWtDN2JCdTJtd2JNY2dkOTBmVVdUMEtBWitGRW53LzVK?=
 =?utf-8?B?UVk2ZVRIbUZURFlPWmFkSVFNa3ZvdFNLRzlmcy9pTVVUM29Xenk0Tndqbzh5?=
 =?utf-8?B?eU5ZbnhCUFZYZVFnYkFQSmw1M09mb2VxMm0yS1Y1dXVYb0I3SC81VGVTSk9D?=
 =?utf-8?B?K1l6ZHhDSXJES0hFNit5VlZHN2tmMEVieDRLL2lxWENZSHFRdzdLQUhnL3Vv?=
 =?utf-8?B?QThYbndKQXFobWRrWFhPL28xZ0VRNXBFYk1SU1F2SlFkZmNWYzNlbGNxNFEz?=
 =?utf-8?B?cCtTQ2Y0ckFuSkhDeHl4QkRUaGwvbTkzQ0wzSEVXZ2pRZGVSbDlTbjgreUd5?=
 =?utf-8?B?ZEYzVjVHb3BTdko3TUdYR2x4enFkZUFtanZKLzVhbm15RlJnZmptazRGZTZn?=
 =?utf-8?B?SDJhR3ZGQXM2cjRRYWNNWFJhaHZIL1RpVFZoMWFkMStmdmRFY01DUi85N0p4?=
 =?utf-8?B?SmF3bnJHK3d6Yi9hdjlvamZ3Rm9sRjVKekVBYjNhemFPcWIzblNjajNqWVVE?=
 =?utf-8?B?NGpoR1Jmay90d2dJSEhqYjZiNUhQSFgyWEpVM3VQVUVLVHpmZzV2VXVyaXM3?=
 =?utf-8?B?clk2azBCLzJOZnl1U1JaVm5BOTZHWjJPRmtmR1ZFQWQrSTYxTE01MDlNWVNo?=
 =?utf-8?Q?NAdzfmbwC9IKKjUoFgcyBkM=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c8d60644-89ff-4b9f-690c-08d9d053248a
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2022 13:56:16.6038
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Gp7oNoWZ2WsOdFyXl2ZeIIeLdPtYWgWH6DhHAV1MAx4pQLechx541snv7M+4HHvKMUm7Hsj54gNh27lTY1cQOA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4445

Addressing some observations made while reviewing other patches.

1: VMX: sync VM-exit perf counters with known VM-exit reasons
2: SVM: sync VM-exit perf counters with known VM-exit reasons
3: x86/perfc: fold HVM's VM-exit counter arrays

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 05 13:57:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Jan 2022 13:57:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253604.434792 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n56nO-0003J0-Nb; Wed, 05 Jan 2022 13:57:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253604.434792; Wed, 05 Jan 2022 13:57:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n56nO-0003It-KG; Wed, 05 Jan 2022 13:57:42 +0000
Received: by outflank-mailman (input) for mailman id 253604;
 Wed, 05 Jan 2022 13:57:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=VMO2=RV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n56nN-0003Im-8H
 for xen-devel@lists.xenproject.org; Wed, 05 Jan 2022 13:57:41 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7218c0fe-6e2f-11ec-9ce5-af14b9085ebd;
 Wed, 05 Jan 2022 14:57:40 +0100 (CET)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2171.outbound.protection.outlook.com [104.47.17.171]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-35-oLMNv7RKMf2yc9KG15D2YA-1; Wed, 05 Jan 2022 14:57:38 +0100
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.4844.15; Wed, 5 Jan
 2022 13:57:38 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.016; Wed, 5 Jan 2022
 13:57: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: 7218c0fe-6e2f-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641391059;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=jfO6hMu+j+6AmU2LVFQtGR/ZVgz/9AB7/U+rI7fXn+I=;
	b=bwIjFz44/fCijYUI4xAonv3exYe9s0wnlJ3z+V0YRYxGfl5a/6Fk3gLmkkuru5DhZtHfLY
	w5n2q8Rl5zuKVa1dLt5gprLkT98DaVbuL+3Rhwb/Po2REkJqDe1bJ3ODmGONugqn4GmZno
	g9TjrpggdgZjHp7reHGWwCS/jdLW+i8=
X-MC-Unique: oLMNv7RKMf2yc9KG15D2YA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=W3SpFfead0SkPqEqOEk3nfjGwuiCdjyZ0IrXVAy/hMVXbns4OSDWCdbvOaKJq17Lj8xhITJEYaXRm/El+395sDrNKRUQFlUgRUjDG5SGntX9GKycgTg25u82tp3FgCy1QfzEc2Q0e8q45niYAdZx+W/2RQm1xR303mxU6jG+GsW7o77MhFWvNWw02n5jP3K2FsR4PkIpZ3Q6+6QI+IwiVhPkIAQLqIGn2MiMOOKcIoDyAAtSaO7gztOp4oXcphlIvfisODGTgPqZ0vJ1E2wYCQND5tf+OmMHbCXqBbSKFprOXimlqftK8hB/PH9zp45apQntNJHm3hKb0X8SD/YFew==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jfO6hMu+j+6AmU2LVFQtGR/ZVgz/9AB7/U+rI7fXn+I=;
 b=Pge43x3gUHvdCLY6ED7YWAthFDbY8SeAHSNpeqcYOSwuqVP3+Xe/CKaLso0h+jgoxS7EGKmXs3qM6dPN8RlUe02L66LytxZ8MGJGixfi5B4yeMJMAklXhnrnpMtAL81P41raDMV+HmipF+6jbI52/aiF4aSUjYrgJzip+eRpe9HcA5DRNyHl7EM2Y168/7DPZqjtiSznzyPYSmnLCE0dSFHXhH75pYhibp0LzfjeFS0YvOOygiJcz1qyOF44X0LDJkTnrhMU8d/A4MpdX8nEl5/LZnUPufII/9IqC2Ptj0UZBlS8ecaIJhWLXikVNIyOXHCAGQ9MbjK9qH+tU5jaXw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7955e956-c619-38ef-618f-344f16fe6517@suse.com>
Date: Wed, 5 Jan 2022 14:57:36 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: [PATCH v2 1/3] VMX: sync VM-exit perf counters with known VM-exit
 reasons
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Kevin Tian <kevin.tian@intel.com>, Jun Nakajima <jun.nakajima@intel.com>
References: <ff461a77-93a0-5424-6565-2e947bec3912@suse.com>
In-Reply-To: <ff461a77-93a0-5424-6565-2e947bec3912@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR07CA0028.eurprd07.prod.outlook.com
 (2603:10a6:20b:46c::30) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: bf4d4d8c-94dc-4d0c-c1ff-08d9d053550e
X-MS-TrafficTypeDiagnostic: VI1PR04MB4445:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB44459760F70292CD1415E219B34B9@VI1PR04MB4445.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:
	vr9ZHUd5M/uTn7Vuzzsw3lHQBn2iHltWdEYXi3PQoc2VVkj0P0JBrUWOkD6W5tIknIjDyCRTU6RZFpukH/HTkEB57ZHsL+92Q7yTO8kFPf8ZINzn882zI0elJpuCsmGxoJFmQq6cTdfoHOHDyGs3dfUj2pfaacBqnJT5PcrDRA9tCvgtxgX00ksP0vC8M/jWFnI9ZqCarQGz8cQlrwdI1emr9rUOeNT8hXnj0itVV2qewoHl6mg0ryX51A8bEBbzzDUesekzkUtTz6rdyi4TI+SKxq3E0p/tXnzivhrHAIlIOOV2Np4jdgn+Yj1gs5Lp6nFraXSKw4Eg8op1M92DY4iKMZ0K9d6g2tikkeIZalERfwUw+fPnNISs/yWvjKvweKxf565OoHp4cFNFE74/6D22YjALZf5PbLqpyG36FsvqfNMd7WnaZTf15QvzJiE3fKjG1WfCN5jdJWAgKOz1IiuC8+asA3iwqNIQavxlJWJ18NQQz2soltapOl4bRgUCAEubBZOmkO6Qqnfq9cIRKKgRb+OfqXAgvmzZAft+YQlE4bMjedmpOnKx8S5oFJe7Dnu3fMWVh6mPVfCH2a7ZTUJCh1wE/NzzS9+RvoSWiBh7ypYQTBw2npQmThij1nAJ6/uoVMl8fd8cxLndrcG3o9mMubLNCRu328DOkWnV4iXuqbnS2oUDct1u3DtQyaZed45+lq5Jmj5heboIlu1m2/nqlO+NAQ0UMqiNbSSTxCI=
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)(38100700002)(86362001)(54906003)(6916009)(66476007)(31686004)(8676002)(26005)(2906002)(8936002)(186003)(6512007)(66946007)(4326008)(6506007)(5660300002)(31696002)(36756003)(316002)(6486002)(83380400001)(508600001)(66556008)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b3UwSVB3c1R6YUplTlZoSVRPM1ZjbkJ3a0hkN3E1QTJOMTkxT3JwMCtUL2lO?=
 =?utf-8?B?c0V0QlVVODJ6Z3FKaU1XTm54ZHMwUU1ud0FEUnQzK0l4bnBxTlF4ZzU5Wmlq?=
 =?utf-8?B?RUxESXBKSlhZb2FyK2ZVaWMzR2lIS3BsMFNvbnFaV1ZPOUljelZaRmtqUm9p?=
 =?utf-8?B?bVlsUkgwZ01GcDJ3S1JZTmtmRzdFcktuZTN3MEVncFliam1SVnMrWmhmRTBN?=
 =?utf-8?B?UnlZUTZXejgvcXVWa0ltazlSdktWQ05FWUsvS2l6QnZFR0tQeEw1RGpZSklv?=
 =?utf-8?B?R2ZydFZxUjI2TUJDTEJFL1pvV3V5dFlwOXJrenRPSFBkQnhuOUduN3hwU0hP?=
 =?utf-8?B?M29WS2ppaC85bCtoVnlWdmNGdWhkRnd1cXhxZ2JDeWhjQlliTkxTVzR1dExJ?=
 =?utf-8?B?VHk0WElBOHR6R01RR0ZaVWZDWlZ2aHBad2ZhL3NIVmZITEhUQWlhOEZXMWNW?=
 =?utf-8?B?eGRpQ2JoS2JDTkxZR3lBaENVTGo5WDlSUysvY0dpOVlvNUxOM0NoQVAxZ3Jk?=
 =?utf-8?B?TEp0Y0FMVVNwMGExbnVyT1k0NVJ6bUs1bGthM2o3bzR1ZisxYWVkcDZ1bFBt?=
 =?utf-8?B?Unlad0Z0eFZQN2FaaUVEN0t0SVdrSmxEUzkxdC9lNmFjY3ZLOWNhOGVJMUhk?=
 =?utf-8?B?emF0WnFSNnYybC9tb1RGUGFpaVZTNnFYc21GV251ZTg5Y3BlbHN1RmwyR055?=
 =?utf-8?B?ekt4a3FmMHdQR25PS3F4TG5QRW8zWDg0c0FQWEM3V0ZUZ3I1bFhoZEVwRDBB?=
 =?utf-8?B?R081QnZZZW90eUNLeFovYU1zT041K2lTUXBRYXFQYlpLbzMxNGViK2Nrdm1V?=
 =?utf-8?B?T1kzMlB0TnVPaitGM3ZyTVIxTld5REt0VnFZWWd3R25MK1d3VEh2L2cwMkp2?=
 =?utf-8?B?NkgwQWoyVFozVE5aSlBRQmJxcitOV29qaEZHb1R6R2pKZnd3Z0ova2MrRWIv?=
 =?utf-8?B?ZXdyN2tTeGdKU1VxTWdmQ3cwVGtPaHNybDFQWG5Nd0wzanNUYjlENnpScG5W?=
 =?utf-8?B?eVZzNEF6Vnc5WHY2ZExGOEZMUUN4QkZSQy9CcFcwTlhVWXdwcmFFNnI5ZmhQ?=
 =?utf-8?B?U1gxOEE1VTh0dlg1cXdHZjRWTldud1ZldFZOUzMrYmFSK1dyVjZhWUNpcy9I?=
 =?utf-8?B?MmtXQnVjOEtacm9zVmFxSFJNWGhsSHhTOXVQMGtQaWpFRzZnem9kVndNLzdO?=
 =?utf-8?B?b1ZSQnJSZUU4VnFSbk95VGpWQmhIU0pVN0dBbWwrQjJ5eDJzZU0xenhhN0xV?=
 =?utf-8?B?dHZZd0podVBsZERqalk5dEsxaDdOWFJkeHdHbjNQenEzOEZQYmNYNWF0YzJQ?=
 =?utf-8?B?NVdvNWY3dWZETWdTS1hpQUE1bW9NRDZUWURYOG9heHhQdm0zTEgyOHg1amJ0?=
 =?utf-8?B?aGo1ZkI4VHVVNFZoeTFiQ0xyRnhsUEg4c0E1MkVvYjhZVTVWNXU0WVJXcXNv?=
 =?utf-8?B?aWNsODN6N3FDL3M2RGsrVUM0SThtSUVHdUZybW1iSFdKbjduTGNXVktwL2JC?=
 =?utf-8?B?cHlUSzZGeHd0eVV2SE9iR2hjMEkrNlkzV0RFYnZsOElrYnhkbjYxRXFFSWZa?=
 =?utf-8?B?YTFtSS85TG9Vdk1QVGVJR2p1Wm9zbG9QTGZYQlkzOFU0SFJBa0F4RllNOS9G?=
 =?utf-8?B?Rkh6dWtvbTNNVytwMDhKU3g3YjRqRTFqZnByL2RaVzVhNnFCSDBEdStlQ0l3?=
 =?utf-8?B?WFdQUFRzenRqYmxpRGIzTmZvVXNSRzk2dHVib2NHbzVnYzNSTnVNQVN0VHBx?=
 =?utf-8?B?aENYWXZPc0Rxa3NyME5JU1o0cm9yMW0vbGtqVGlkb3N1d2JmWHRPb3E0RkJu?=
 =?utf-8?B?WFk4R3BIZ2VGSDhZdVVDalFOZXpPbVNFWk5JNC9PblhlWU9QbU5VSDkrdnB2?=
 =?utf-8?B?K0hNMHF3Q3NJMXFQTE80bkFKdzBXc2lpclBGalpheW5EcW53VGIvVE03eGRq?=
 =?utf-8?B?WWNaL0l0Vlhza2JFNHZ1RG1iSTFYYmtBc09KalhGTGR0VkYxRFQwckp2K2Uz?=
 =?utf-8?B?WGVVdzJ4a3VSTnVxVUVCTW4rMWFxZHpNTHk2ckxJb0pNWXJ6bXhUVDNNVUhQ?=
 =?utf-8?B?SHRFWGZWT09nR0xSRUt3Z0QzTTAzMTUwU3pXb0lScllJUlBsVTQvNzhmQWVi?=
 =?utf-8?B?ZWxsSXpXUmsvQUtjUE43cTltTW1YbXAxUWhBd2diYUM2bmZ0Zks0NHI1aC9h?=
 =?utf-8?Q?3Be5OGdqCAWOjG6MXxxbIIA=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bf4d4d8c-94dc-4d0c-c1ff-08d9d053550e
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2022 13:57:37.9178
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +24NBXRupR94C3M2NQ5OIQyU++g0E6xSvCBVsYXI3YhQ6iWcx/vKXKtc6l742zUwVsfhTdFIgBZBdoDoyMProA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4445

This has gone out of sync over time. Introduce a simplistic mechanism to
hopefully keep things in sync going forward.

Also limit the array index to just the "basic exit reason" part, which is
what the pseudo-enumeration covers.

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

--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -3869,7 +3869,7 @@ void vmx_vmexit_handler(struct cpu_user_
     else
         HVMTRACE_ND(VMEXIT, 0, 1/*cycles*/, exit_reason, regs->eip);
 
-    perfc_incra(vmexits, exit_reason);
+    perfc_incra(vmexits, (uint16_t)exit_reason);
 
     /* Handle the interrupt we missed before allowing any more in. */
     switch ( (uint16_t)exit_reason )
--- a/xen/arch/x86/include/asm/hvm/vmx/vmx.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
@@ -219,6 +219,7 @@ static inline void pi_clear_sn(struct pi
 #define EXIT_REASON_PML_FULL            62
 #define EXIT_REASON_XSAVES              63
 #define EXIT_REASON_XRSTORS             64
+/* Remember to also update VMX_PERF_EXIT_REASON_SIZE! */
 
 /*
  * Interruption-information format
--- a/xen/arch/x86/include/asm/perfc_defn.h
+++ b/xen/arch/x86/include/asm/perfc_defn.h
@@ -6,7 +6,7 @@ PERFCOUNTER_ARRAY(exceptions,
 
 #ifdef CONFIG_HVM
 
-#define VMX_PERF_EXIT_REASON_SIZE 56
+#define VMX_PERF_EXIT_REASON_SIZE 65
 #define VMX_PERF_VECTOR_SIZE 0x20
 PERFCOUNTER_ARRAY(vmexits,              "vmexits", VMX_PERF_EXIT_REASON_SIZE)
 PERFCOUNTER_ARRAY(cause_vector,         "cause vector", VMX_PERF_VECTOR_SIZE)



From xen-devel-bounces@lists.xenproject.org Wed Jan 05 13:58:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Jan 2022 13:58:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253608.434803 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n56ny-0003qJ-0v; Wed, 05 Jan 2022 13:58:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253608.434803; Wed, 05 Jan 2022 13: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 1n56nx-0003qC-UD; Wed, 05 Jan 2022 13:58:17 +0000
Received: by outflank-mailman (input) for mailman id 253608;
 Wed, 05 Jan 2022 13:58:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=VMO2=RV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n56nw-0003oZ-Ih
 for xen-devel@lists.xenproject.org; Wed, 05 Jan 2022 13:58:16 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8782c489-6e2f-11ec-81c0-a30af7de8005;
 Wed, 05 Jan 2022 14:58:15 +0100 (CET)
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur03lp2055.outbound.protection.outlook.com [104.47.10.55]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-28--hAy7QPeNRWkXJ_HvB9LDA-1; Wed, 05 Jan 2022 14:58:14 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB6301.eurprd04.prod.outlook.com (2603:10a6:803:f1::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.7; Wed, 5 Jan
 2022 13:58:13 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.016; Wed, 5 Jan 2022
 13:58:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8782c489-6e2f-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641391095;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=SqkPX7FWlaMH1FnPGqWT6XCdFCtT6FzcXUuscARTGtE=;
	b=A3N8XfXceGB6oQcAgqNVhVvtr5N0bxiabfwaTe+exVMa7NmEoj8Ia4j5p2sb3ekR9ufNgO
	6ggcQFE0iPAhRYmj3DqrwdXbIPME/4kX/InCg1RlgLYCz7F/wTS2UuqtlqG0X/Yf5TT0nq
	JKxp+Aw/wBu5AJc+HURE7nh51jKN4vg=
X-MC-Unique: -hAy7QPeNRWkXJ_HvB9LDA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iEIB9rQEhl9p4nCS0lm6BaTvDaMfs+ZnD2IDakzAQRczWQh4kif0eerd/RipUXWQzMGGrD95cKsu3aQADPMPCLXhRohuiUg5EOy1DVPtAkES2gtegQ093W0kaVduGrQ+M/eMFOx9m7TR6un3Ryv+mpRMbayuAkjCRBZaTSkXWtqtMgJPO5PFAxL+f8JAy683U+aYPexVOptF8Ks2wm4kt1/e49sjeUshVAnHQjhVbDI7kfjfq9OB/xYD+hsw0IY8eSbHWr34ZWT65rccs8mzbnWRlxIo/0J57cOg3AD7w34SrfPawzHH408jaBPVrhYSHwx2eaq0CSMRU88nW7pNRg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SqkPX7FWlaMH1FnPGqWT6XCdFCtT6FzcXUuscARTGtE=;
 b=Nf2W0JjnrWDZPSop/fovTwHH0Kpsi/St3yVYju4H1CW1+DDllu2gJ4dtdgFsN+/v6sx7ZX4s015v89OMRQP46VOudvL/wytjR4nbNUB0Zig2OBt0ro9Mi18XrKYxAqj6iduEzk8zobAWN5u6nqv1cy0VUzip3fl/byN7UOFgB6p3NABU6tjMr7jT51VI21k05L2+6ye3X0FBW4LvYmwneZ6SvkSOgWZt1t2Mcydfw/KdfyclmE1jQ7Wq+uDbtu5GF0gNKEZD120+twiUnvFi5iZdiR9TOttY4G9EoTzh/9iDLv7lh8TMfnR8JxGlGCftBV7Cc9+yjCcSppmlNnu4KQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <00a9007c-62ef-8bad-5a92-67d0b880fda6@suse.com>
Date: Wed, 5 Jan 2022 14:58:11 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: [PATCH v2 2/3] SVM: sync VM-exit perf counters with known VM-exit
 reasons
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <ff461a77-93a0-5424-6565-2e947bec3912@suse.com>
In-Reply-To: <ff461a77-93a0-5424-6565-2e947bec3912@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR07CA0008.eurprd07.prod.outlook.com
 (2603:10a6:20b:46c::6) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 151456b1-bc22-417a-d8cf-08d9d0536a14
X-MS-TrafficTypeDiagnostic: VI1PR04MB6301:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB6301F1C9A6CEAC44670B0621B34B9@VI1PR04MB6301.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:
	xGFmIx09MhnwdSFoxiJC6ecOyU+dr+PkzltC8TR00D2SOHCj6Ajh++ynngNdr3berCeo5CDTIPW75G5vZ3gTCPw+gnXD6eTRpVvzMS8JAaBa+pwfsmzGTb1K1OxCeUOaVyt4S/LXNKzwXfB7rQUTBu2Z2gVrTNEBTfph205CaKYfegd0CqwyUJkocRlcXTE6sFdf6NIfx/AsEhN7ruf2EwvyYG+cyQi3U+V3GYV1Q8V9R/ZjYuVAI7MWNL4oRe/A3q4Rr7S/BB3uplo6P6maM/FAryaJVTblBPu7iaYMIIgngJ+kWlW8VtIiuW2xCZuOWoZAmuvtNXWQU6e88jHN73YrHSqE6UbSZtBCRhW2YanvMSy0W+RAsPk07pfeMJSdo/F/k4yyPnomuKdBtaG6h0a6Cs2hCMWf55/sTPvxzGCA2cjka6ybZrXbaWhmc1GS8enne+sc+wdD1509/bW81z+QjF5Rmx6tk2uKLadP7WO9NowWEibo9fi8D/8qsTrX6HNwOv6s1cukYIapnepPsDrHLjZP8LeucEWn3pPYcHqxhKfVXPNLDsDpYLW6yOLFsXghHQkVLYTLWImA5GdLkAK/56IN0VwSYztSr/J0K0O3YaSH0sBjzio39KMbND7KOz+fflZcsMMMy9D5NYjw+xQ4caDv6zk+LBeTsCDZaYgcuKx/MFPuekDzP9HBKY7k3gzUCWJPXEN1iPQLKzGtYdTksFJAJU5BY3T/TLlR1MCKOnsp9kWKxwDUow2lKZc/
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)(54906003)(66556008)(6916009)(8676002)(508600001)(6486002)(38100700002)(83380400001)(66476007)(316002)(66946007)(86362001)(2616005)(36756003)(6506007)(4326008)(5660300002)(31686004)(6512007)(2906002)(8936002)(26005)(186003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MXV0WlJSVTY4d1N6b1dyZkROeFplVGJ1anJubFAzK1Y5U21ocWlvbHh6UFJF?=
 =?utf-8?B?QnZjeGI4ZXA4TkdNOGt4SHJveXBIZzU0dnlGV0h0SGZONkQ1YjBxNmxGZ1Z4?=
 =?utf-8?B?bkZ6RGVER3lzR2lIeTJpMkJkVUM4VS9nL01iYTRCeFNHUzZBTThKdzEyNUtr?=
 =?utf-8?B?Q3NOa05GbkFLK3hsVTVxZWd5TXZ0Ymcra1pUMlNIMTZwQkFoM3F0T0djWlUw?=
 =?utf-8?B?SDEzUFEwekZvZisraWk2ODgrTkVnSkpyZStYRnFuSUJ5QUd4OTkzN0R5d3pJ?=
 =?utf-8?B?WGRiWFV5aldYNFdOVkp4eFRsWjNFalVkdUpwVE02M3VPWmhSWklQS2RTdEs5?=
 =?utf-8?B?QTJSMS94MDJrU0pnTTU2eE5TQm1nY0ZyNnp2bVY3QnMrZ2VZRzdBNm04S0Fi?=
 =?utf-8?B?Q0tiTnNaL3NmOEVWQzhEemFEbmRKVk5iLzFkbDBGbUpkTDZPc0NUb3NOcVhQ?=
 =?utf-8?B?L0hwTFNrZzNhQVFDcGxmeEpCWGIrL2VzQTNuRnBDN3I5aDVIam9NRlBYeTk5?=
 =?utf-8?B?NW1Jc0tINUZ3TzdnNnN3TE9ZTEhGbWVKZTc3WTZFNlB1YXNRUmIxb1FkcUJn?=
 =?utf-8?B?TGhpNzVTSm5kbGltbm5aamxxR0NYOEFGVTRFR3NaZ0t0Mlh4eHZNa1dmdzEw?=
 =?utf-8?B?aktQR3pwYmgyS1hjRmJzR2QxbXZpUndyQzc0UVdGRFJLM0M4Y014Skd2azBj?=
 =?utf-8?B?ekFXWXlEbDIxYkZaeUoxVFpabW9tWk55RFdqdmZrZXl1aU1GcDdxZ1NQdU8w?=
 =?utf-8?B?ZVhlaXRVck1IUEw1OWxrZWdsa2ZOMVJvcTdSWm42M0ZYaFNNMkJLcHhDVEk1?=
 =?utf-8?B?RG9PS2JCTzhpNFBxWWNiUXBuQmFTb1Bpb3gzR1BCZENPWUhNSW9ZU2NvdkVN?=
 =?utf-8?B?MTEwd2IwRFBKQUJNb0d1MmczSE8zMWV3UnNOMzFOQzBIZ1Z4cUJsQVdneVFr?=
 =?utf-8?B?bnhNTUh3NUJ1MWpINDAxOFhwSVo4dkE3M2ZKN1VpcitsSXNhenEzTEdaN3B1?=
 =?utf-8?B?bnVUOTV0QUYzc2lBWFBUL3lGckpYbXZWK1B2ekJCYzlKa1MvN0kvVWhRQkhi?=
 =?utf-8?B?TlRNa0RIeWpCTDE3cjNGK2o3VUxaTVRoL2EwU3dNbmN3RGZubUpHVHJkZXYw?=
 =?utf-8?B?Q3lkN2xxQ2lWSlVsclVjV3lQQkVwaFl3YUlDM1BGakhteEhUbG1ES2xYM2hS?=
 =?utf-8?B?VVRaVkh5MmpSU3U4RU1iSGJvOVpNMWRabElPOE9WOXFCdXh4dTZTV3RETGdN?=
 =?utf-8?B?VVZ4b1RMemN6bWpnUS8reEt0Q2hZcXZjQk5GeFptbGtGN09tOTBGUCs1Z2RQ?=
 =?utf-8?B?L1VNdlcxOTNyVjZMdG1qWnlPdU00WFZhTi9Ba1Uwc3BPSFN5Tmdyc2RqTUhQ?=
 =?utf-8?B?aWJIbXdsNEVnNGVyTWdtdUpOS0FUbHpyU2RXNlVhaWsweTFNR3dTVllkSnlQ?=
 =?utf-8?B?alNPUTBTZyswek1sUmhtSkdTOVNlRE9QVWxmYlFSVk5SZkpFdWNkN0FIYVRH?=
 =?utf-8?B?QWptMkR3akpFRlBVdE5jakpQRklwS0pQN1hNaUZFOFd3OHA3VHpjbWtRNisw?=
 =?utf-8?B?OTRaK3JhQmRnWHQ0T3VLOTJINlMyU2tncG5HdlZ2RHFVRkhhZHdnN3BxUVRq?=
 =?utf-8?B?ME9CUXR1OEQrWVRjNUhGZlJGOUlLZHBERUtOOFF2elA5Z3FyVlk1VWM1bHpG?=
 =?utf-8?B?VGN6b2JYWVRXTExkODAyNTYycG9hZm1LdGE2NjQ0OXhNb0VvZUFKQ2g4WlVG?=
 =?utf-8?B?d2Z5R2FSYnNWWG1iM1IzQlprQWQxVE1zNUNEMmJZQnprblptQ0thaE56cTBr?=
 =?utf-8?B?UnBvZFM3UE1wTHFHdGFsS0o1aGNjdFF3WjJZSksyQlhmTm1tUnZtOThMNHVw?=
 =?utf-8?B?WVFSZ2lrcWhzOEI3VlBES3R2NFRWQXFvcDBqNDlRYjJoZk9tMW9RYkp2dXRS?=
 =?utf-8?B?cFg2c3ZTK2NJbHJzN1VBTitXNjEyK1BwUE0xZWVsQ2djRXhYTGEyd0pUMTA3?=
 =?utf-8?B?QldGcnNDMzc1UEtaR3hQRzB5SEZ4MGk3enJOOURHelZIZWlpdlN1UHhDTEx5?=
 =?utf-8?B?b0ZMQ3h1N2ZMYlhaRDN2aldkWU1RTHM5MVp6Nk44aUtDRHk4UVVZZmllYWEz?=
 =?utf-8?B?UTFYdWl6d3NFRVRoYkJlcjArQmhCUURPV29tcjJlQkZpZ05FTmN4bkIyWDVL?=
 =?utf-8?Q?h3OkxETxffePnEixp2W4+G0=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 151456b1-bc22-417a-d8cf-08d9d0536a14
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2022 13:58:13.2158
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7MvkFt24JBFNTZakkjajOlLc4ujNxbC5phkD1Z/89rdEX6r0xx+pvtuvHHQPbyRkWwNbQo2LWTaYNDd3MgO8hg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6301

This has gone out of sync over time, resulting in NPF and XSETBV exits
incrementing the same counter. Introduce a simplistic mechanism to
hopefully keep things in better sync going forward.

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

--- a/xen/arch/x86/include/asm/hvm/svm/vmcb.h
+++ b/xen/arch/x86/include/asm/hvm/svm/vmcb.h
@@ -302,7 +302,9 @@ enum VMEXIT_EXITCODE
     VMEXIT_MWAIT_CONDITIONAL= 140, /* 0x8c */
     VMEXIT_XSETBV           = 141, /* 0x8d */
     VMEXIT_RDPRU            = 142, /* 0x8e */
+    /* Remember to also update VMEXIT_NPF_PERFC! */
     VMEXIT_NPF              = 1024, /* 0x400, nested paging fault */
+    /* Remember to also update SVM_PERF_EXIT_REASON_SIZE! */
     VMEXIT_INVALID          =  -1
 };
 
--- a/xen/arch/x86/include/asm/perfc_defn.h
+++ b/xen/arch/x86/include/asm/perfc_defn.h
@@ -11,8 +11,8 @@ PERFCOUNTER_ARRAY(exceptions,
 PERFCOUNTER_ARRAY(vmexits,              "vmexits", VMX_PERF_EXIT_REASON_SIZE)
 PERFCOUNTER_ARRAY(cause_vector,         "cause vector", VMX_PERF_VECTOR_SIZE)
 
-#define VMEXIT_NPF_PERFC 141
-#define SVM_PERF_EXIT_REASON_SIZE (1+141)
+#define VMEXIT_NPF_PERFC 143
+#define SVM_PERF_EXIT_REASON_SIZE (VMEXIT_NPF_PERFC + 1)
 PERFCOUNTER_ARRAY(svmexits,             "SVMexits", SVM_PERF_EXIT_REASON_SIZE)
 
 #endif /* CONFIG_HVM */



From xen-devel-bounces@lists.xenproject.org Wed Jan 05 13:59:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Jan 2022 13:59:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253612.434815 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n56on-0004Wo-Gx; Wed, 05 Jan 2022 13:59:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253612.434815; Wed, 05 Jan 2022 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 1n56on-0004Wh-De; Wed, 05 Jan 2022 13:59:09 +0000
Received: by outflank-mailman (input) for mailman id 253612;
 Wed, 05 Jan 2022 13:59:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=VMO2=RV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n56ol-0004VU-Vd
 for xen-devel@lists.xenproject.org; Wed, 05 Jan 2022 13:59:07 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a5f423d2-6e2f-11ec-9ce5-af14b9085ebd;
 Wed, 05 Jan 2022 14:59:07 +0100 (CET)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01lp2056.outbound.protection.outlook.com [104.47.1.56]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-9-LgKUMkULNFieCDNIM9IpXg-1; Wed, 05 Jan 2022 14:59:05 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB6301.eurprd04.prod.outlook.com (2603:10a6:803:f1::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.7; Wed, 5 Jan
 2022 13:59:05 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.016; Wed, 5 Jan 2022
 13:59: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: a5f423d2-6e2f-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641391146;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=oOtoJrYnwb+6pTq3iX76gcDNkqLaRj7Wk1Spp/mwh8I=;
	b=LgZ+CB2IfzMOEUEKVDZSS+tZoUF1VGIQZbt1dwhCv+s77/O1Rf4HKyHu8NQrlWYrfaNvyQ
	/VLuIWLYYVAAV8MWAqiKL8niMXShY6oQhRucKbozm6D78yfopBh9zoLsOfFYNN1w64AVBW
	C04JqWqLd/U9BH4LPYd01g0NxMzYe3Y=
X-MC-Unique: LgKUMkULNFieCDNIM9IpXg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WvmCoBWNuuSiestSOAgqxqBIzCySQ4gysDqAsNpNacQGFNQu/QFTDkXnx9EaWYJBS+9/Al0WiQQNMnaBDkS1S1ZP97+22PrJC/C7Vi+3eQEeBTMPcJK392NdFjuYCsg8BDZ1P38usqkBUB3wAlv1lOHHwlbV98z+iRm/Yf/5hZTm0VFmUhmHg8Fb1uhb3uFe502AOAZMz709X4vP6Izh5pwQwcuADmVPXnd5G/of5ykDczlaCjGtnQHxvR7unFhDFXKdkKQad5XiTGCPlnN5OO5bnDNvj+uC4gMsmFYXVXZjJyzgwr/lEMU10F/Bpb1JlDO+74T/qQn//0CdWJW7jw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oOtoJrYnwb+6pTq3iX76gcDNkqLaRj7Wk1Spp/mwh8I=;
 b=iekbL4HYjIXrxiVuYnR1xHRT8q09Ft+Pu8jGmG4T3ou52zOOMLldN7IXBzc/Doe0UaKIcF/t25i4qGDCTIsToLqWf4YP7v4ccqbDOTvgqpJlNvjjte9LOofZMlWi0ZpnNM9gXo5cAljyshAN8U1JmDIKwgb87/xONkVtCiCRdZb2J89jlXoPxdJkXLwNgpVCjgRKMuuvgxMWVn7VJZDCF8Wvw7Zo+p3WtW04mbXBOZpLBTTduSQtypWXa+2REFCD2DpVChenEVAd7HFLL/8CC0i2/26WQ1mvMRhH5M4jX08d+lDSk5EmEKakt7HIfHTBXP7o4E8+Q1ncbm7tqX4UFw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6a2a47af-4ae1-2fe9-1190-e15b6ce742e6@suse.com>
Date: Wed, 5 Jan 2022 14:59:03 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: [PATCH v2 3/3] x86/perfc: fold HVM's VM-exit counter arrays
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <ff461a77-93a0-5424-6565-2e947bec3912@suse.com>
In-Reply-To: <ff461a77-93a0-5424-6565-2e947bec3912@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR07CA0056.eurprd07.prod.outlook.com
 (2603:10a6:20b:459::25) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 44fe8601-47e1-4883-9189-08d9d05388f2
X-MS-TrafficTypeDiagnostic: VI1PR04MB6301:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB6301D8E5F4BCA20B88B5AA16B34B9@VI1PR04MB6301.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:
	PC2+5gDSiJZ8TJzmZs5NzS30mS6LQKLgi6+Lb1j/1t4zd0dA1hn4AElRwWLkJvzmHE4RoPgqIF+iqnN2+OS1uimk5ZsQ00OLF7ar5OC9zDSsWARm9zTEjVtui4jGU92R06LohxLm17DLt2O7mQoV/rDXfjoesWigeKy5fpcYlWX9l0WsPHKxVpY5f/kgbjoJvfslY7bBVDVxCpVDwvh+nPePuh8rE7y6cO58m2z5cSaSALGIOGwyDs28kA8evv1SkUs8DoNwCIFYCQlb4gpBDs/G7Yr540DLrmh0ZpgnPkOKRzDXQcuZpFgWbeUmhDhoUpV1tbFHETW/neauERVkwiWyc8Ga3PA+GMCluA2ZzM0u1H+BlshX/wGz+nEN8RkPqfMXOaGcCtziJnRoc1Emh/1eSHGYjBOqRtNTHMVIGPmKnr5Nrq13QNvVGlGibwaUt697w0a0PJv7vHQkjLzqzmJaIZnz3/h9YM5x4JQbXATAUZ2B6WmMbrZrXtOOmzVURG1+gmm+rMxZ25eDmsQUM3J7SeSucSlyRh7GgU9iv73jTwNEzSQj7YpkZgixrmOjDgiqzbBEaENgiY2tsz3YeMRMA/HCYghk3/ECQILHTGqMUHDfZ9qpFqk/iTQ/h+GTuJdxb4Oethytqhr5ywSglw/5nxe62CJLY3bbzjbXRccWTW97KhxUnd0fHoLRFz/A0UCCiyOwdkzR+bEiPZ2BMDh7yahur5ZnmA/CETLIPbbXF6JE+lxdnHfueMT2zDCh
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)(54906003)(66556008)(6916009)(8676002)(508600001)(6486002)(38100700002)(66476007)(316002)(66946007)(86362001)(2616005)(36756003)(6506007)(4326008)(5660300002)(31686004)(6512007)(2906002)(8936002)(26005)(186003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MnBXZXNiK2Zwd0VwdDJtTFRmVW44VSt0WUppd3ZyNGlZNmdFN3pXSjdqeE9C?=
 =?utf-8?B?NGZCVmtGK3VocHo4MVdEdWc2ak9FZDgrTFlzRDlvU2ZLSldqTEJhVTZuL3FH?=
 =?utf-8?B?ZnRJM1F2cHZXNUVsMGFvTGFqMCtYZUpiUnkxVWdrTy94VzZYdlBrMklQbVFx?=
 =?utf-8?B?TjVpaENMeVEyMi8vc2tmSG5ib1VzTDlscUsxd2VFRGFHV3R6Wmw0b05uQUxW?=
 =?utf-8?B?cnczRlpiSlFNQ29TVU9RS2NVQ1pkdmVWdWl4SkNudkNMTVAxbDhWMlpMSnF0?=
 =?utf-8?B?WHdseHNJd0tGdStYcTZycGFJZXQxdFQ1anEyemJFMk1Ld1Y0KzdPa3daNlFq?=
 =?utf-8?B?bnh1R291TDdCeUxEem5EbFJxdEtUTDdDd2xPZkVEQVUvNVU1NFBhVytGT0pL?=
 =?utf-8?B?VHc3MldseUpKcjZlRjRmSUpLQXVBQmpEMWpxZ24wY1g3aUFiT21LM2dkZXk0?=
 =?utf-8?B?akZoN0tmNm1BZHVPOHZOKzZHRzNnSmxlUkl6Tnd3aG5hdmZ1aEJKcytWOHRl?=
 =?utf-8?B?blRaM0FBeHBTdzhaeGtzRXhMTmwrMVNzUnFwc0J4YTBNby9vMU9idHZWOTMr?=
 =?utf-8?B?QUo3VnJuOGZZbVl0YmcyZW5qZERjY0JWdzVVUWs5NXNiUG1BQmR5TG9Rakor?=
 =?utf-8?B?OUlqRWFySU9XcFBDZ1c4QzJWdi9OQ29JVlZBRFMwbzlEaDRhVHZHQ1liMmlt?=
 =?utf-8?B?MjBVWUdwVk5DdFBHSU00ZEZyODBuWTArRXpQM0xTTC94OEVoSFRnTTliUmhv?=
 =?utf-8?B?WC9ZRzZWeVpLLzIwcC9ueUpBYTk1ZWZBU0JuY2ZnUlR3S2VOcFVUYXRCd0pE?=
 =?utf-8?B?MkdEY05MVTdGdDBhcnZSVllxRkFXOVFCamRQc3BDZnA2enZBekJwNTVjbVFy?=
 =?utf-8?B?OHlHamdUWklOWHo4MG9rcGM1OWhnV29uM0lsdnFUYS9vN0MydWI4eXJuNnVv?=
 =?utf-8?B?QWxvT2xsTlFFem8rc2JpZzg5MjZWM1FuUk53MEFRazNqM2NFSzFRRTNEZjA2?=
 =?utf-8?B?S1JKOGVOMDlqazFBY0pQWVVoQUtya1pnSitjOUJ4b3Z0UHVCem4yMFBySDZ5?=
 =?utf-8?B?eVhnRzdhZEF5b2xUU3JJcWdNSnNNcktER1VxT28xaXJhalBHS0hDVFpLUVhv?=
 =?utf-8?B?YmtUN3dacnRvTVczRTdPeGErV3VSTFl5UnN0VnBZTk5OOTFScWZWUFR0dzN5?=
 =?utf-8?B?T1VyeWVwOTNJcXc2YzZtSmNsYzVLRFF2OHVIZW1reitTRU5QVjlvUHRGTnN6?=
 =?utf-8?B?VUZQSGhrUHZXZ1F5RHI3dFNjeVdKZEJOKzRwSXZ6QmZKTWMxUzE3SytEbTRL?=
 =?utf-8?B?TnEyN3ZJOU9pb1h1Nzl0TDhTclNxRUNSaDFFWkxhUEVYVnVxdENLTFc2Q09H?=
 =?utf-8?B?SzdLOWVxRXo4K0tnYXF2TituelZQZy93U1hBdGg3bEQrU1Z1TDR6UHBZN1hi?=
 =?utf-8?B?UGpHT0IxZUVyUVRiTGdydldLelI1Wmo1aHhZMUxvemNTTFNCeHQ1VlFaMi92?=
 =?utf-8?B?QldMWE5MUUljdHNQVW9panVjNlVSMWxlQjFMY29mOS9TWXJSelo5VnB5MHJC?=
 =?utf-8?B?NmFVMWxQLzBJY0Z6a2ZUSkI3U2s1MkRGeWtFZGdqWGMzT3Bya3ZkcXpMdHVC?=
 =?utf-8?B?Tmx2RmhhWFBITENFczJsUWg1NFEwbmxteWRMQVZQV2xiUG5wQXNnNjJsblVo?=
 =?utf-8?B?a09QdUM1QU15T1NtTTBIenJPYUhNTXdpSS9ZQVJZNDZBU1M2UmgyTmQ2Z1Mx?=
 =?utf-8?B?dFcxMEdTcFl0cWxSdjN0NEQ0d29CS2VnZmxmbDdqaDJtVVA1VXdZWitsT2Vk?=
 =?utf-8?B?akZFSmxkUlpyWHI0THlsZWdrZnpIdTAyQUpLblZJaE5hTTJRRTVMMnBnVElG?=
 =?utf-8?B?d205UDZhMEhxYllZejJ4bjNEa2ZHTVZ1N1kySTU5Q21sbmplOWllODRsTzZF?=
 =?utf-8?B?ZmthaXk1M1YxZFdKTDBITHQ4LytPcVNaUGZtOTJSV053TDVRUjcrMkJacFpa?=
 =?utf-8?B?b1hkS1BwOHFmVWNFQ1ZhbzNDZDJ1Ykk2WHd2VGE3a05QaGpTZ3Q3ZkJzcU9l?=
 =?utf-8?B?N0k2LzVUbmdUR3RYRktCeUc4VldyTi9PeUcrbUFGYkRNakc5eUdncEh1NXZm?=
 =?utf-8?B?ckxIWU5FNGtLMzhQc2R2djRjK3NyVXl1Ynk3bHl6Mk10VUM5cjM4VjNzeUh5?=
 =?utf-8?Q?ryxrsMA2hmZJtZWYU8tRH64=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 44fe8601-47e1-4883-9189-08d9d05388f2
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2022 13:59:04.9246
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: sEe2xvOAqtGmFNZS1ZwRYMBvNM9DW+wJtaBniyQKT80hNL3+QthkLBYenTZWBNOBnmHMjhW+zKfogjHp1YqiHg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6301

Only one of them can be in use at a time, so make the whole set union-
like. While doing the rename in SVM code, combine the two perf_incra(),
generalizing the range upwards of VMEXIT_NPF.

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

--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -2644,7 +2644,10 @@ void svm_vmexit_handler(struct cpu_user_
         goto out;
     }
 
-    perfc_incra(svmexits, exit_reason);
+    perfc_incra(vmexits,
+                exit_reason < VMEXIT_NPF
+                ? exit_reason
+                : exit_reason - VMEXIT_NPF + VMEXIT_NPF_PERFC);
 
     hvm_maybe_deassert_evtchn_irq();
 
@@ -2973,7 +2976,6 @@ void svm_vmexit_handler(struct cpu_user_
         break;
 
     case VMEXIT_NPF:
-        perfc_incra(svmexits, VMEXIT_NPF_PERFC);
         if ( cpu_has_svm_decode )
             v->arch.hvm.svm.cached_insn_len = vmcb->guest_ins_len & 0xf;
         rc = vmcb->exitinfo1 & PFEC_page_present
--- a/xen/arch/x86/include/asm/perfc_defn.h
+++ b/xen/arch/x86/include/asm/perfc_defn.h
@@ -7,13 +7,13 @@ PERFCOUNTER_ARRAY(exceptions,
 #ifdef CONFIG_HVM
 
 #define VMX_PERF_EXIT_REASON_SIZE 65
-#define VMX_PERF_VECTOR_SIZE 0x20
-PERFCOUNTER_ARRAY(vmexits,              "vmexits", VMX_PERF_EXIT_REASON_SIZE)
-PERFCOUNTER_ARRAY(cause_vector,         "cause vector", VMX_PERF_VECTOR_SIZE)
-
 #define VMEXIT_NPF_PERFC 143
 #define SVM_PERF_EXIT_REASON_SIZE (VMEXIT_NPF_PERFC + 1)
-PERFCOUNTER_ARRAY(svmexits,             "SVMexits", SVM_PERF_EXIT_REASON_SIZE)
+PERFCOUNTER_ARRAY(vmexits,              "vmexits",
+                  MAX(VMX_PERF_EXIT_REASON_SIZE, SVM_PERF_EXIT_REASON_SIZE))
+
+#define VMX_PERF_VECTOR_SIZE 0x20
+PERFCOUNTER_ARRAY(cause_vector,         "cause vector", VMX_PERF_VECTOR_SIZE)
 
 #endif /* CONFIG_HVM */
 



From xen-devel-bounces@lists.xenproject.org Wed Jan 05 14:34:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Jan 2022 14:34:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253622.434825 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n57ML-0000Ee-6k; Wed, 05 Jan 2022 14:33:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253622.434825; Wed, 05 Jan 2022 14:33:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n57ML-0000EW-3d; Wed, 05 Jan 2022 14:33:49 +0000
Received: by outflank-mailman (input) for mailman id 253622;
 Wed, 05 Jan 2022 14:33:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fM50=RV=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n57MK-0000EQ-9v
 for xen-devel@lists.xenproject.org; Wed, 05 Jan 2022 14:33:48 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7b679e7c-6e34-11ec-9ce5-af14b9085ebd;
 Wed, 05 Jan 2022 15:33:45 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7b679e7c-6e34-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1641393225;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=tv2yhoGBehO1p+ehoOoDOBvQTOgenysxP0E5t45FReA=;
  b=enhtkp//CrmAIhaIYNzDz7raZi0ZOUWsi+BtcY/9wqfGHntWNqOsxWiI
   SJPDNxiifeGgtDqC8icQl4scwk01wXiupgZEbyDdoFUIK1sgq9hfPHmSR
   +0b/d0Tcuwzq1QpsBxf2bul6Tro9TSTtCqRGq5pnHn+gf6TT9Gz8UZnIh
   A=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: EFuKXv5+E1FLRzcxoMzd9ASmB9vHb2xd8+wRvFd+pdKCx6WWK5kFk+YvcZ4jnnHxIo7nhWZz4L
 9XyLweeHZeV3S4R4Cu9KGzo5V49aKPHewZmWtdw+k3NjNP2rr6qS5TYoHvY54aQ5sIxvFlNBE7
 7nHZH3/gv5xCS4SH7U66TO2ubKZdZnOOyzVDw3zWEQ3hVGsVSxoTpuH1hIMskoh9eZkpvuw3E4
 p0X5T9zEuP1bytgVq2XlxgP6mtqVLodn8Bo1EWELd0e8LehnFBXR9yANWE7dRFE5HfwZ3g8NOk
 RaFudPtga/biwRsmvZgio0a3
X-SBRS: 5.1
X-MesageID: 60849771
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:pskElqgncUPcrdKeL/QyZiiwX161vhcKZh0ujC45NGQN5FlHY01je
 htvDD/SMquIYzbxedtwb4Xlo04CuZ+AyoBnTgA/pS02RS8b9cadCdqndUqhZCn6wu8v7a5EA
 2fyTvGacajYm1eF/k/F3oAMKRCQ7InQLlbGILes1htZGEk0GE/NtTo5w7Rj2tcw3IDja++wk
 YiaT/P3aQfNNwFcagr424rbwP+4lK2v0N+wlgVWicFj5DcypVFMZH4sDfjZw0/DaptVBoaHq
 9Prl9lVyI97EyAFUbtJmp6jGqEDryW70QKm0hK6UID66vROS7BbPg/W+5PwZG8O4whlkeydx
 /1D8piXaURqJJT8kchaWSFgIzh/OoZ/reqvzXiX6aR/zmXDenrohf5vEFs3LcsT/eMf7WNmr
 KJCbmpXN1ba2rzwkOnTpupE36zPKOHxO4wSoDd4xCzxBvc6W5HTBa7N4Le02R9u3pASTKmBP
 qL1bxJOKxjsUjNCFW4VM7t5sP703WHxXD5x/Qf9Sa0fvDGIkV0ZPKLWGMrYfJmGSNtYmm6cp
 3na5CLpDxcCLtudxDGZtHW2iYfnkyLhVYcfCLC/7NZ3m1CJ3SoIDwAMXla1puO2hwi4Vs43F
 qAP0nNw9+5orhXtF4SjGU3jyJKZgvICc9QXF8oaq0KX85rdz0GTPlA0Vz9GQ+Vz4afaWgcW/
 lOOmtroAxlmv7uUVW+R+9+okN+iBcQGBTRcPHFZFGPp9/Gm+dhu1UyXEr6PBYbo1rXI9SfML
 ydmRcTUr5EaloY12qqy5jgraBr898GSHmbZCug6N19JDz+Vhqb5N+RECnCBtJ6sybp1qHHa4
 hDofODEtogz4WmlznDlfQn0NOjBCwy5GDPdm0VzOJIq6i6g/XWuFagJvm0nfx0wYp9aI2O3C
 KM2he+3zMQNVJdNRfUsC79d9uxwlfSwfTgbfq28giVyjmhZK1bcoXAGib+41GHxikk8+ZzTy
 r/AGftA+U0yUPw9pBLvHr91+eZymkgWmDOCLbimnk/P+efPOxaopUItbQLmghYRt/jf/m04M
 r93aqO39vmoeLGkP3SMr9dMdQtiwLpSLcmelvG7v9Wre2JOMGogF+XQ0fUmfYlklL5SjeDG4
 je2XUow9bY1rSGvxdyiZi8xZbXxc4x4qH5nbyUgMUzxgyooYJq17bdZfJwyJOF1+OtmxP9yb
 v8EZ8TfXagfFmWZo2wQPcvnsYhvVBW3ngbSbSCrVycyIsx7TAvT9966Iga2rHsSDjC6vNcVq
 qG70l+JWoIKQglvVZ6EaP+mw16rk2IaneZ+AxnBLtVJIR2++4l2MS3hyPQwJphUexnEwzKb0
 SeQAAsZ+raR89NkroGRiPnd/YmzEuZ4Ek5LJEXh7O67ZXvA426u4Y5cS+LULzrTY3z5pfe5b
 uJPwvCibPBexARWs5BxGqpAxL4l44e9vKdTywlpESmZb1mvDb88cHCK0dMW6/9Iz75d/wC3R
 liO6p9RPrDQYJHpF1sYJQwEaOWf1K5LxmmOvKpteEiqtjVq+LenUFlJO0jegSNQG7J5LYc5z
 Lpzo8UR8QG+1kInP9vuYvq4LIhQwqjsi5kai6w=
IronPort-HdrOrdr: A9a23:n+cJ+aGIS4aCFzYapLqFCpHXdLJyesId70hD6qkvc3Nom52j+/
 xGws536faVslcssHFJo6HmBEClewKnyXcV2/hrAV7GZmfbUQSTXeNfBOfZsljd8mjFh5NgPM
 RbAtZD4b/LfCFHZK/BiWHSebZQo+VvsprY/ds2p00dMj2CAJsQiTuRZDzrdnGfE2J9dOYE/d
 enl4J6jgvlXU5SQtWwB3EDUeSGj9rXlKj+aRpDIxI88gGBgR6h9ba/SnGjr10jegIK5Y1n3X
 nOkgT/6Knmm/anyiXE32uWy5hNgtPuxvZKGcTJoMkILTfHjBquee1aKva/lQFwhNvqxEchkd
 HKrRtlF8Nv60nJdmXwmhfp0xmI6kdY11bSjXujxVfzq83wQzw3T+Bbg5hCTxff4008+Plhza
 NixQuixtVqJCKFuB64y8nDVhlsmEbxi2Eli/Qvg3tWVpZbQKNNrLYY4FheHP47bW7HAbgcYa
 hT5fznlbZrmQvwVQGbgoAv+q3gYp0LJGbJfqBY0fblkQS/nxhCvj8lLYIk7zI9HakGOul5Dt
 L/Q9FVfYF1P74rhJ1GdZQ8qOuMexrwqEH3QSuvyWqOLtB0B5uKke+y3IkI
X-IronPort-AV: E=Sophos;i="5.88,264,1635220800"; 
   d="scan'208";a="60849771"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NY04HXZCviRRG3PcHUA32fQItJyOBon3n3GXpywkjGFwqM8Ns0GB5DYkxNH9wqYs4zBdwfDN6mHtzSvi/v/67DL5GgC/cTeWw6nRxQER21jSVYUOoRRQONqUR6l2iIHhVxOkThvsbrjKuqInnfnOB7/7IP5ju8SSGkg/XrteBCJHHdagnLcfkIse8Jr60+1YWg0Ea9DC5nCcOYeJUOzy/y/mLUfH1+Tj0lCgi4rOwhwhzT3o+Rsia+JQ08GvAoHFdb83GSFjnUD6t/bgTm/Tc9QVjt/YW2epRpCPTqjgVitvaAIvx4Cviu5pjQaL2Zph1OCEj+MQMZhoBdIJGwRyjQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zMjIHHZJFeTFDTmLnE2ZBy3TmKC0C/cAuXPQ26YKXIs=;
 b=YbaLidohSE32TrPpCbdUhkYFVL9kMnuiytHZ8Tmj031v46WKpadSFARX1Gy85RSrM1IM6KewcEuzaWhqG616XINPlvg/6IHALTBNWYTB59D41LXa3nRYtFrJ+0legpUDW+wL05d+WuF+inUdrkPVTNpxY6nBnXA8yoE7DuZB/9/XH3Vh1D0NzkeRIVsVBxHJx7gt6l2Hh7ZOsDiTZr2L2zkFORLdodEKX44PDj0KY90YP0Bsa1t6EdoPQ156RgMrH+20SI2p7rm3FQPI5V6oayOJAnr9RL5IC3fiXypuCRL4XV44iUvK4lZQTT5vdUgDwuqbdiAswOdZmRR/AvcwbQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zMjIHHZJFeTFDTmLnE2ZBy3TmKC0C/cAuXPQ26YKXIs=;
 b=u8ApqP7JWQPMHC7WJDK3PE1icCUv9nmanVyrSe/XoZhRqGcVBRbXOmQtVZnu49cwC2MX8CbBy8eLYrkA4Ass7P+t0dZaPmMnO/TCykvR20tnfKNQwWAPIIUdfIF01nTdm/cneCaRHkmuOGByHeuwfrzlcCcHyP6e/N0VoJK9o9Q=
Date: Wed, 5 Jan 2022 15:33:33 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: G.R. <firemeteor@users.sourceforge.net>
CC: <xen-devel@lists.xenproject.org>
Subject: Re: Possible bug? DOM-U network stopped working after fatal error
 reported in DOM0
Message-ID: <YdWsPWqALWBRGtqW@Air-de-Roger>
References: <CAKhsbWY5=vENgwgq3NV44KSZQgpOPY=33CMSZo=jweAcRDjBwg@mail.gmail.com>
 <YcwdJn/Y0yncuJ/e@Air-de-Roger>
 <CAKhsbWaKvMtN0v57kRuwSGnTECb8JnabhgXeO1VTyLiJa4yngg@mail.gmail.com>
 <Ycw4Jna5J2iQJyeM@Air-de-Roger> <Ycyx65BDakqWmEe+@Air-de-Roger>
 <CAKhsbWYU5_DGbGK2i_uhooXk4EzCLLO4SJGjDsvAkf2udQGsbg@mail.gmail.com>
 <Yc3/ytwCHFtR1BLi@Air-de-Roger>
 <CAKhsbWbRinNavBq4NnQ64nVrfWoOQWV0mM3Foao4VBYUWjoSnQ@mail.gmail.com>
 <YdQgf2+E467kuTxK@Air-de-Roger>
 <CAKhsbWbrvF6M-SAocACO5NvBaitUQ9mB5Qx+fMGtn_yVu0ZvEA@mail.gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <CAKhsbWbrvF6M-SAocACO5NvBaitUQ9mB5Qx+fMGtn_yVu0ZvEA@mail.gmail.com>
X-ClientProxiedBy: FR0P281CA0060.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::17) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d1841cb8-6195-4a8c-1fb6-08d9d0585c92
X-MS-TrafficTypeDiagnostic: DM6PR03MB4060:EE_
X-Microsoft-Antispam-PRVS: <DM6PR03MB4060F3AE9EDAF0428E4F5F4C8F4B9@DM6PR03MB4060.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: 2mAHyR3FmFmw4wsCEKft6mi0wHfBZYebdHQawJopU72lRj/zJ7Lql57+4T8iMcl2ZmY8C8eWLigD+2chp5RSdvKls/t7pv4zoJK0OH7lpH2BEKazZUghgGoTUKAef/JMTUF7N8XvFaNvJq96gtyO2iewOAO7c1zb7uSczMUD5ENMhww8Mp6c/gNpz8Z5icjU4VPXw1qV2dxSr1FRzmdqXYHDU6wZJ1gWW3l6O2wIj0bwFiAxQA6G1IMZy9abx4UnQreFsdNtWz79iwzuPL22WDFpZ11UIXCYKXgzN5FnSbXHrRG0EHLM1rFC1ApbjS4Ex5UB8CoVCBzkoya7y71jC2QCq5riLz5lgd1m1rm3QjYcsMCWEWwjB6Q1v/FPIO+nTH/deqr2HsE/Zpvh7+0DhxIhyUMnjDThwaSag7G+Y5jmmUk17xMurZefk/kCNoYyjeoGJa17v/VGXsUO1CHe9QA+YRaNXitwbHJibvXWc33u52W4snxB46gwS0xvadcGblZkmYrePjyzlIHC/oGHPBcbLDnnxPVinGUT0TKv6QV6j7O+FSTtEF00hhSAW0np92uvOrhE6tTzU4Ong5F0+aIm6EWrbG5TBbuUHsWYsxt9aSXGlU9EwD1mH8z0lSEEtLtHChCILk7IYz+gtyxq/w==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(6916009)(26005)(83380400001)(33716001)(4326008)(508600001)(66476007)(85182001)(6666004)(86362001)(38100700002)(6506007)(5660300002)(186003)(8676002)(8936002)(316002)(6512007)(82960400001)(9686003)(66946007)(6486002)(66556008)(2906002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?YkhXTkxleUs5emwrSDgrZi9SejU2T3dLcE9sTWxzV0lCTm43TWNpQ0hVeW9W?=
 =?utf-8?B?MFJGaW5ucFRoQkdhaXU0RmQ0RjRPZnR1MXVuMmFDQmZqUnI5dno4NWFhQktp?=
 =?utf-8?B?TW92TzM1c2kzRC92emJxck9YTHlCQjlrbkdZalZHaU42YVAyWUVEanZrVTR2?=
 =?utf-8?B?YzdNNHpod2hkaUNySUorcHZ4a0h1UjN5UnpRR01yYTM5TlBlNXZGUzl2SXR5?=
 =?utf-8?B?M3RGb2Q4MktyVFFNODVPSlE5SGdMTXFESSs0dXcvV2IyTmt6MGdSdDNtTXdr?=
 =?utf-8?B?K2IyWXB0aWpDb2JFRUhCWkV2VS9ReXYrc1JDOWV4K3NtdmdQVzlsK1lJMEJa?=
 =?utf-8?B?UWNTVjVXK0RVWjY2eWhPZE1NWERqTlJJSXh6YW1wdktXNHRuUWJSZWNnNXYv?=
 =?utf-8?B?aVhrOFNCeVp3UU5hZ0ZwVnhVN1N1Mm1PU0w3aXFubUpLSmtCN3JzZHBHaExD?=
 =?utf-8?B?a1JvbGtSdmwzQk9rSzN4Y0dLQloyS09OejIvWGR3MlRXeDBTQUxrRDBscVhZ?=
 =?utf-8?B?ckZiSG1EZkdyNFZycmdncVZkS3JpdWJhOC96U3NQYkpINStXYnJiNWZTOHlI?=
 =?utf-8?B?VXlXSFdqempzeVN1OFRtZEpPL2MwbUs5VlpOZ3BLY05KcWt2ZDduOFkvVDRT?=
 =?utf-8?B?M2hlU0RMd3Iwb1NUa3BrR09xdTdPaitiV3FpOFQ2dWNnaDZjZzV3Z2lIVlZR?=
 =?utf-8?B?N0haTGoxdTNvNU90c1hBMW43ODdoWDkrYkhSbHdLaU12WHdOTGM4V24rRVQ5?=
 =?utf-8?B?NXZBZk9sNkhpTlJhWHFBUGdMc0RxWHQ1OFVtY0x0R0hVREZCcWJGMWVXQ2JJ?=
 =?utf-8?B?cEgxOVNnNnpWVE5OcW43a3k3L25XWGlRdUtmZ3VCeHVab0NxN0dhSG9vOGxW?=
 =?utf-8?B?WnhxSU1uYjIzc0ZlZ0lITzd2QzcyY25kNWd0Q29jeVVDaGJRM21tVmhTZmtC?=
 =?utf-8?B?Uy80NnNvZjhaQmkwWHMvSUU4VWV3QTJMeVEwMXRiRFJTa09UdndZV0pBNkQ0?=
 =?utf-8?B?NVp1dC9nblZzNlRRRG1hMTZXRUNqV2JOZUNiTnRFcGdweStCOTRFdjc3UTdm?=
 =?utf-8?B?bVJvcXpHdTBlWk5pTEdXUDNHdHRwZlpnK0VHZnNQd3RNcUFpZjd2OXpidmRz?=
 =?utf-8?B?RmxLK01COUpKVEllMHVBN0Fwc3pGOUt0T0xIZUtEUVFyTHdwV21WZHd3VmpU?=
 =?utf-8?B?elZTTmdFOEtjRzNRNlUvdjZVdFZGQVlLdWVmendjcDVFSFRHU0lKekVHM1dx?=
 =?utf-8?B?TDd4RCtySVAzbFJxSGZTSHR5Vk5UVjB3UXFVd0ZVZVVtRTBTcG9PbjByWFVU?=
 =?utf-8?B?WlI4QVNJMDV5WENpbU5rWHJKZDZmdnpOL2pKVFFUR3RvdGM3MXdPUWUxbXFU?=
 =?utf-8?B?QU1yVjNvTWhqSUNDNVN4TFVXZENtQno2VTR4d1dqQnI2NFM0eXR6NHhFVzdi?=
 =?utf-8?B?QjMwUHlFaWZYSDVpOXVYclVpL1J2bjZobzcwanpOSFB2Vm9WQlArM3FmaHp3?=
 =?utf-8?B?STVIY3BWQ2JnMDZPU2d6VlpPaGdaTkhrQzBzT3pFTFhjeVlxM25TdCtqM2RL?=
 =?utf-8?B?T0hOWUc2MTZSRk1sR1JHa1lPbzcyTTFBRDR3KzZtZ1J5ZENjQkY0Z01ZOHpw?=
 =?utf-8?B?em55OWg3dFloUEVkajVFMkIrZlJyeUlKK2Yrb3pZUmZNcENIdkVKajdZTXNh?=
 =?utf-8?B?UmxGRVZZaXM5U1Rsakk2VHYxY3dYV0paRVFkQ1hZY2YrZ2VIQndSSTZjeTQ5?=
 =?utf-8?B?QW8xU1BLUzBIVVdZR2ZlWGFYaVY0ZXYyY3I5dW9pZ3VhQVR2SFNUNHZJMm1D?=
 =?utf-8?B?U005d2VyM3Vydi9Xc2hLUzhodGZzYUVBSVppSFYvVlltZHovelRidy9nNFh4?=
 =?utf-8?B?V1JiODZubWdvNmNaUXh0bWFLcFdqdHZqNlM1ZjMrdi94MlhGSVRVL0xjRUVu?=
 =?utf-8?B?T0lybUp3SUtmblM1ei9FczhBMTBCUVA0WG5mYVNFc0wybE1WUWxHRGhVRnph?=
 =?utf-8?B?R1c0bnUzamhqRkRkRTdrNWEzUjh6M1hmZE1sTTJldVRmS0F2Y2x4cWNRdEt4?=
 =?utf-8?B?MFBXTlVNNFE2Q2FRbjZia1hpTHNkaGNCd3BJam4vakZpZ09FUTY1Y3VLNi9z?=
 =?utf-8?B?RHcwSmJUT1MzeDdtRzZhSFZ0M3gybEF4Lzk4cDZaREpsazBHK3IzNTNLbE5x?=
 =?utf-8?Q?GZOhIDJqIEvoCY5SEVRliK8=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: d1841cb8-6195-4a8c-1fb6-08d9d0585c92
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2022 14:33:38.0915
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zzhdW/ADVjCRTCWjC1L1fAY3zCu+si9u3M5VJeDB7lSmcu4tr5MgFTPyNMV56mHKh7YkVzKKJn+RJYe930O/ng==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4060
X-OriginatorOrg: citrix.com

On Wed, Jan 05, 2022 at 12:05:39AM +0800, G.R. wrote:
> > > > > But seems like this patch is not stable enough yet and has its own
> > > > > issue -- memory is not properly released?
> > > >
> > > > I know. I've been working on improving it this morning and I'm
> > > > attaching an updated version below.
> > > >
> > > Good news.
> > > With this  new patch, the NAS domU can serve iSCSI disk without OOM
> > > panic, at least for a little while.
> > > I'm going to keep it up and running for a while to see if it's stable over time.
> >
> > Thanks again for all the testing. Do you see any difference
> > performance wise?
> I'm still on a *debug* kernel build to capture any potential panic --
> none so far -- no performance testing yet.
> Since I'm a home user with a relatively lightweight workload, so far I
> didn't observe any difference in daily usage.
> 
> I did some quick iperf3 testing just now.

Thanks for doing this.

> 1. between nas domU <=> Linux dom0 running on an old i7-3770 based box.
> The peak is roughly 12 Gbits/s when domU is the server.
> But I do see regression down to ~8.5 Gbits/s when I repeat the test in
> a short burst.
> The regression can recover when I leave the system idle for a while.
> 
> When dom0 is the iperf3 server, the transfer rate is much lower, down
> all the way to 1.x Gbits/s.
> Sometimes, I can see the following kernel log repeats during the
> testing, likely contributing to the slowdown.
>              interrupt storm detected on "irq2328:"; throttling interrupt source

I assume the message is in the domU, not the dom0?

> Another thing that looks alarming is the retransmission is high:
> [ ID] Interval           Transfer     Bitrate         Retr  Cwnd
> [  5]   0.00-1.00   sec   212 MBytes  1.78 Gbits/sec  110    231 KBytes
> [  5]   1.00-2.00   sec   230 MBytes  1.92 Gbits/sec    1    439 KBytes
> [  5]   2.00-3.00   sec   228 MBytes  1.92 Gbits/sec    3    335 KBytes
> [  5]   3.00-4.00   sec   204 MBytes  1.71 Gbits/sec    1    486 KBytes
> [  5]   4.00-5.00   sec   201 MBytes  1.69 Gbits/sec  812    258 KBytes
> [  5]   5.00-6.00   sec   179 MBytes  1.51 Gbits/sec    1    372 KBytes
> [  5]   6.00-7.00   sec  50.5 MBytes   423 Mbits/sec    2    154 KBytes
> [  5]   7.00-8.00   sec   194 MBytes  1.63 Gbits/sec  339    172 KBytes
> [  5]   8.00-9.00   sec   156 MBytes  1.30 Gbits/sec  854    215 KBytes
> [  5]   9.00-10.00  sec   143 MBytes  1.20 Gbits/sec  997   93.8 KBytes
> - - - - - - - - - - - - - - - - - - - - - - - - -
> [ ID] Interval           Transfer     Bitrate         Retr
> [  5]   0.00-10.00  sec  1.76 GBytes  1.51 Gbits/sec  3120             sender
> [  5]   0.00-10.45  sec  1.76 GBytes  1.44 Gbits/sec                  receiver

Do you see the same when running the same tests on a debug kernel
without my patch applied? (ie: a kernel build yourself from the same
baseline but just without my patch applied)

I'm mostly interested in knowing whether the patch itself causes any
regressions from the current state (which might not be great already).

> 
> 2. between a remote box <=> nas domU, through a 1Gbps ethernet cable.
> Roughly saturate the link when domU is the server, without obvious perf drop
> When domU running as a client, the achieved BW is ~30Mbps lower than the peak.
> Retransmission sometimes also shows up in this scenario, more
> seriously when domU is the client.
> 
> I cannot test with the stock kernel nor with your patch in release
> mode immediately.
> 
> But according to the observed imbalance between inbounding and
> outgoing path, non-trivial penalty applies I guess?

We should get a baseline using the same sources without my path
applied.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Jan 05 14:45:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Jan 2022 14:45:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253627.434837 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n57XG-0001iy-Au; Wed, 05 Jan 2022 14:45:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253627.434837; Wed, 05 Jan 2022 14:45:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n57XG-0001ir-5p; Wed, 05 Jan 2022 14:45:06 +0000
Received: by outflank-mailman (input) for mailman id 253627;
 Wed, 05 Jan 2022 14:45:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2VPG=RV=gmail.com=highlimner@srs-se1.protection.inumbo.net>)
 id 1n57XF-0001il-28
 for xen-devel@lists.xenproject.org; Wed, 05 Jan 2022 14:45:05 +0000
Received: from mail-ua1-x932.google.com (mail-ua1-x932.google.com
 [2607:f8b0:4864:20::932])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1100eaf0-6e36-11ec-81c0-a30af7de8005;
 Wed, 05 Jan 2022 15:45:04 +0100 (CET)
Received: by mail-ua1-x932.google.com with SMTP id p1so47344058uap.9
 for <xen-devel@lists.xenproject.org>; Wed, 05 Jan 2022 06:45:04 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1100eaf0-6e36-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:from:date:message-id:subject:to;
        bh=p61GO9GBcIUgdhTp+82hV3V4jgStybmIyxjj3jsN93s=;
        b=SppU30ivyM1Iv6A++cRoyP6lwYCTFRlYcsjpNIsZVdvJ9ItTGjb790KaRxvG0UbzK2
         VjkRfx2xV/CiHH1YeOLC9itN5JcbBBeSX1RJq8uBuDRDOKcpBvCWYcfWcrlFcxnqbmEU
         kdTFI8WJ+VE7T2imwYxwgAGohYEjL4vWZT7j/tFtK89rhuqz4XetKzUyUVxc02Y+Plsp
         RwMN8CU2ZCVJfpsEO3jmEDL0XqO73UYrA7/m27zpcNOL+kFzLQHYW2Drag7T6Jpwaowh
         BTDacJwfbBLYbL9nNlzzkDFp9peJ/P+2NULgUGKexUrLQDbRi+SyvRZUNcbLzFX0vpRm
         tdwA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:from:date:message-id:subject:to;
        bh=p61GO9GBcIUgdhTp+82hV3V4jgStybmIyxjj3jsN93s=;
        b=VOyTek/HpoCQSyhP1UJRdZazjBG0VpNkbbQT1pcUj9CPSvs0r+zZNC/l046MfPD3wp
         VTAPLIdJCpcUNKuIXmb7i+gXSB8f8fpEdSMqUoOJzpmzgvclIGWdMH5e+p3vub/lDw0L
         vQ9zJ9In8BNSjtp3uXBjLYzkOfKq8T5s4lczOxPPPd7qpYuMed+MHaLz/dl4IOIGRYbj
         cc1ETh/xgGvWTxQx0LQo5+BzQL31QM986RQKH9DWSUhMh35fqCkLoROe4w/BE6g5j2zy
         fF2ZJBNjH07ZbONybPsLB42Q5vZ2bwwUKl9btgRdqn3ZLg3QB5un4mQkzv69KXxyK89X
         h/og==
X-Gm-Message-State: AOAM532rBR0jab1k8TfXs8klRJE4jwSY2eqRFpUk76HMHUMiL4PcKkDa
	+4g6YmufPV2gjWPJhc2WuJvSwX4zPdQAmJ3/whIqz6LQuw/VTTJy
X-Google-Smtp-Source: ABdhPJzmVp0uORduuVyxx7DAUy0CJumWOJXXsbhpoaQ7Fq/0iEXnJi2kA7STEUcN2Ffc2ffDEb0gwbkN2ys86gxUyug=
X-Received: by 2002:a67:3085:: with SMTP id w127mr17357221vsw.72.1641393902717;
 Wed, 05 Jan 2022 06:45:02 -0800 (PST)
MIME-Version: 1.0
From: amir masoud noohi <highlimner@gmail.com>
Date: Wed, 5 Jan 2022 18:14:24 +0330
Message-ID: <CAN2gxUQmsa=ONQqj0-3PZ2oxp-QVMgsm0BQ+q=-LWwmWTqwMZg@mail.gmail.com>
Subject: scheduler credit capture
To: xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="000000000000820f5305d4d6cced"

--000000000000820f5305d4d6cced
Content-Type: text/plain; charset="UTF-8"

Hi Everyone,

Today I'm looking for capturing vCPU credit for both credit1 and credit2.
How can I do that?

-- 
*Regards*
*Noohi*
*noohi.org <https://noohi.org>*

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

<div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-family:trebuche=
t ms,sans-serif">Hi Everyone,</div><div class=3D"gmail_default" style=3D"fo=
nt-family:trebuchet ms,sans-serif"><br></div><div class=3D"gmail_default" s=
tyle=3D"font-family:trebuchet ms,sans-serif">Today I&#39;m looking for capt=
uring vCPU credit for both credit1 and credit2.=C2=A0</div><div class=3D"gm=
ail_default" style=3D"font-family:trebuchet ms,sans-serif">How can I do tha=
t?=C2=A0</div><div><br></div>-- <br><div dir=3D"ltr" class=3D"gmail_signatu=
re" data-smartmail=3D"gmail_signature"><div dir=3D"ltr"><div><div dir=3D"lt=
r"><div><div dir=3D"ltr"><div><div dir=3D"ltr"><div><div dir=3D"ltr"><div d=
ir=3D"ltr"><b><font color=3D"#999999">Regards</font></b></div><div dir=3D"l=
tr"><font color=3D"#999999"><b>Noohi</b></font></div><div dir=3D"ltr"><b><a=
 href=3D"https://noohi.org" target=3D"_blank"><font color=3D"#999999">noohi=
.org</font></a></b></div></div></div></div></div></div></div></div></div></=
div></div></div>

--000000000000820f5305d4d6cced--


From xen-devel-bounces@lists.xenproject.org Wed Jan 05 14:50:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Jan 2022 14:50:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253633.434848 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n57c6-0003BU-0X; Wed, 05 Jan 2022 14:50:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253633.434848; Wed, 05 Jan 2022 14: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 1n57c5-0003BN-SV; Wed, 05 Jan 2022 14:50:05 +0000
Received: by outflank-mailman (input) for mailman id 253633;
 Wed, 05 Jan 2022 14:50:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WMgQ=RV=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1n57c4-00032m-Se
 for xen-devel@lists.xenproject.org; Wed, 05 Jan 2022 14:50:04 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c2541cea-6e36-11ec-9ce5-af14b9085ebd;
 Wed, 05 Jan 2022 15:50:03 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c2541cea-6e36-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1641394203;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=H13BgpPPUV4SEDIc867h0PGp5ysovgEk4Za/lxtJCQk=;
  b=fQXESNALohB6uiCB44hp4B8jujXPUnUc7j6PGE0p+s9OvvhlIZzcEtW5
   qs2zdNVS76fvqQ7EWX40L6H2K+Efdw0fkCY6U3ns4DuAsJiHeP+vgqatw
   +xN3QGOuYtxGoDpg8GjvI9m2YOmA+AZnmJqJOAcVXNwAybZuzWOE+aiNI
   s=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: IuVcM1OLePDaAzlo/w5sTWb//RsMAtuxTUjtYXojXI2S9mStxcmiofAPS0jAD9ZTqqhBptGAU0
 Dhd/FPpwFYSEJyYX5qw4A5hwLIGyM0pqTuFZ9Tj7bAFaL4+4Cb++4el7Y7oXX10VDcYsuI5MAH
 BdGKa3dq8Hms+SDwBk8E5N/ZLObxcQhC25Y8UMX1EvaLvwS8KWQQGdX6N3/oTbDxSz+DHg/8aC
 YLSecFejbsWgK86u6Z705YmmqgVAHZmCAYp3R0heDsunwW//lherMrG7jfX3yLlKsQZCLqO0ey
 W3tWFsoGy+bpy/07mk0kCVi1
X-SBRS: 5.1
X-MesageID: 61290521
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:J9fsraBquIt81xVW//bkw5YqxClBgxIJ4kV8jS/XYbTApDwj1jECn
 GMdWjyPb62MNGShLo0gaIy19B4EvZeAx4RhQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMo/u1Si6FatANl1ElvU2zbue6WL6s1hxZH1c+En940U87wYbVv6Yz6TSHK1LV0
 T/Ni5W31G+Ng1aY5UpNtspvADs21BjDkGtwUm4WPJinj3eH/5UhN7oNJLnZEpfNatI88thW5
 Qr05OrREmvxp3/BAz4++1rxWhVirrX6ZWBihpfKMkQLb9crSiEai84G2PQghUh/jWmElPZJ1
 dF2paO6cCsyN5SQg9xDXEwNe81+FfUuFL7vJHG+tYqYzlHccmuqyPJrZK00FdRGoKAtWzgIr
 KFGbmBWBvyAr7veLLaTQ+9whsMlPY/zMZkWoH1IxjDFF/c2B5vERs0m4PcGhW1h3p0URJ4yY
 eIkcAFXRiryTyZuGXgPT7sug82OgGDwJmgwRFW9+vNsvjm7IBZK+LnyMvLFd9qSX8JXk02E4
 GXc8AzRHRUyJNGZjz2f/RqEhOXCgCf6U4I6D6Cj+7hhh1j77nweDlgaWEW2pdG9i1WiQJRPJ
 koM4C0soKMuskuxQbHAswaQ+SDe+ERGApwJTrN8uFrlJrfoDxixADQJRRh5ddgdpPA8fBAx3
 2bVhOu3Cmk62FGKck61+rCRpDK0HCEaK24eeCMJJTc4D8nfTJIb1UyWEIs6eEKhppisQGyrn
 WjWxMQrr+hL5fPnwZlX6rwub9iEgpHSBjA46QzMNo5OxlMoPdX1D2BEBLWy0BqhEGp7ZgXR1
 JTns5LHhAzrMX1rvHfTKAnqNOvzj8tpyBWG3TZS82AJrlxBAUKLc4FK+y1ZL0x0KMsCcjKBS
 BaN5VoKvsYDZSXwMfEfj2eN5yIClvaI+TPNDKu8UzazSsIpKF/vEN9GOCZ8IFwBYGBzyPpia
 P93gO6nDGoACLQP8dZFb7x17FPf/QhnnTm7bcmil3yPiOPCDFbIGeZtGAbfNYgRsfLbyDg5B
 v4CbqNmPT0EC7agCsQWmKZORW03wY8TWcqr9pcJL7HbeWKL2ggJUpfs/F/oQKQ994w9qwsC1
 i/VtpZwxAWtiHvZBx+Nb3w/OrrjUYwm9SAwPDA2PEbu0H8mON794KAafpoxXL8m6O08kqIkE
 6hbI52NUqZVVzDK2zUBdp2h/oZsQwum2FCVNC2/bTlhI5M5H17V+sXpdxfE/TUVCnblrtM3p
 rCtj1uJQZcKSwl4ItzRbfajkwG4sXQHwbogVErUONhDPk7r9dEyeSD2i/Y2JeAKKAnCmWTGh
 1rHX09AqLCU8YEv8dTPiaSVlKuTErNzThhAAm3WzbeqLi2GrGCt9pBNDbSTdjfHWWKqpKj7P
 bdJz+vxOeEslUpRt9YuCK5iyK8z6oe9p7JeyQg4TnzHY07yV+FlK3iCm8JOqrdM1vlSvg7vA
 hCD/dxTOLOoPsL5EQFOeFp5P7rbjfxEyCPP6fkVIVnh4H4l9bWKZkxeIh2QhXEPN7ByKo4kn
 b8stcN+B9ZTUfb23gJqVhxpylk=
IronPort-HdrOrdr: A9a23:3QOx7qAXF8w+9ZXlHemu55DYdb4zR+YMi2TC1yhKKCC9Vvbo8P
 xG/c5rsSMc5wx8ZJhNo7+90ey7MBXhHP1OkOws1NWZLWrbUQKTRekIh+bfKn/bak/DH4ZmpN
 5dmsNFaOEYY2IVsfrH
X-IronPort-AV: E=Sophos;i="5.88,264,1635220800"; 
   d="scan'208";a="61290521"
Date: Wed, 5 Jan 2022 14:49:56 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "Ian
 Jackson" <iwj@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] tools/xen-detect: avoid possible pitfall with cpuid()
Message-ID: <YdWwFKcp7ux6Tvxm@perard>
References: <94338540-4bcc-7ad7-9de1-944c0dc96709@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <94338540-4bcc-7ad7-9de1-944c0dc96709@suse.com>

On Fri, Dec 03, 2021 at 01:09:04PM +0100, Jan Beulich wrote:
> The 64-bit form forces %ecx to 0 while the 32-bit one so far didn't - it
> only ended up that way when "pv_context" is zero. While presently no
> leaf queried by callers has separate subleaves, let's avoid chancing it.
> 
> While there
> - replace references to operands by number,
> - relax constraints where possible,
> - limit PUSH/POP to just the registers not also used as input,
> all where applicable also for the 64-bit variant.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Jan 05 15:06:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Jan 2022 15:06:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253638.434859 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n57rG-0004jo-77; Wed, 05 Jan 2022 15:05:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253638.434859; Wed, 05 Jan 2022 15:05:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n57rG-0004jh-3q; Wed, 05 Jan 2022 15:05:46 +0000
Received: by outflank-mailman (input) for mailman id 253638;
 Wed, 05 Jan 2022 15:05:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WMgQ=RV=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1n57rF-0004jb-37
 for xen-devel@lists.xenproject.org; Wed, 05 Jan 2022 15:05:45 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f2f408df-6e38-11ec-9ce5-af14b9085ebd;
 Wed, 05 Jan 2022 16:05:43 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f2f408df-6e38-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1641395143;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=ZXTQLpjyIHdmxKEd8Bn+X0CVDVjZBRFuc2aqHrvJjSQ=;
  b=XILxVrTzjZwadjFNmEZecDPIRt+oYEuhop+4mTVSB1e0q2XZvK7wTiiW
   AdNjAHFK9vCA4c9QXiytqsiIPMEX6xGSaqPBUGsL5nq4KdJLIK6X7/PGQ
   RlRRd1atiPZ3vJ9YsIEFBzsynBTG+1iWgN+wphEf3F2FPsQE50iVotwi2
   A=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: IHr9hRoKqkhypN3YhTVEJDGgxEtXFZc/xrFVpV6/HIHATnAC8AjJ8Z3n3kAxnQ/gRvA53OjphR
 lCWHPMqNW/3YMzVQcrpVUAtScMYITaJVa34bU3Xmwj3JIe0gbE0VIT74jMKjZdlzn6SKnp/9oU
 v/Kx4cV8AspjyPqfdz+/jekD5EAQOseZMGpxCaUCDvVfemw7cBkCRy1aH7ZcwOVRbMmlK8w8+z
 1QkXYHQbP4nx6Cg3IYtpGYqhC9BRDAqCMs1/Lm+FUxS2jTJGQ24mnxgWX+vMKhNQokq9/TPewH
 SyCadOy1ptTnjS9H0qa05JLP
X-SBRS: 5.1
X-MesageID: 61292273
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:RVfx06lAkmjzxgNsgiWnUMLo5gxDIURdPkR7XQ2eYbSJt1+Wr1Gzt
 xIcCzqGbvbYMWr8c4txbo6//U9TsZLWytBiTgE6q39hFCMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BClVlxJVF/fngqoDUUYYoAQgsA180IMsdoUg7wbRh29Y12YLR7z6l4
 rseneWOYDdJ5BYsWo4kw/rrRMRH5amaVJsw5zTSVNgT1LPsvyB94KE3fMldG0DQUIhMdtNWc
 s6YpF2PEsE1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXee0v0XRYRQR4/ttmHozx+4
 I50nLivYwZyBPDnxu00egJIOA5aNKITrdcrIVDn2SCS50jPcn+qyPRyFkAme4Yf/46bA0kXq
 6ZecmpUKEne2aTmm9pXScE17ignBMDtIIMYvGAm1TzDBOwqaZvCX7/L9ZlT2zJYasVmQ6+EN
 pBDNmEHgBLoOgFIZ3AZU7cFv8z4o3jEa2BfuGK1qv9ii4TU5FMoi+W8WDbPQfSVQe1Fk0Deo
 XjJl0zpDxdfONGBxD6t9nO3mvSJjS79QJgVFrCz6rhtmlL77mETBRhVRVa9ifzkkgi1XNc3F
 qAP0nNw9+5orhXtF4SjGU3jyJKZgvICc4FpOsklwgDW8Pf/vQ+wL3MUZRFlYdNz4afaWgcW/
 lOOmtroAxlmv7uUVW+R+9+okN+iBcQGBTRcPHFZFGPp9/Gm+dhu1UyXEr6PBYbo1rXI9SfML
 ydmRcTUr5EaloY12qqy5jgraBr898GSHmbZCug6N19JDz+Vhqb5N+RECnCBtJ6sybp1qHHa4
 hDofODEtogz4WmlznDlfQn0NOjBCwy5GDPdm0VzOJIq6i6g/XWuFagJvm0nfx0wYp9aI2O3C
 KM2he+3zMQNVJdNRfUsC79d9uxwlfSwfTgbfq28giVyjmhZK1bcoXAGib+41GHxikk8+ZzTy
 r/AGftA+U0yUPw9pBLvHr91+eZymkgWmDOCLbimnk/P+efPOxaopUItbQLmghYRt/jf/m04M
 r93aqO39vmoeLGkP3SMr9dMdQtiwLpSLcmelvG7v9WremJOcFzNwdeImOtJl1VNk/sHm+HW0
 Gu6X0MEmlPziWeecVeBa2x5aaOpVpF69CppMSspNFeu+n4ifYfws/tPK8ppJeEqpL550Pp5b
 /gZYMHcUP5BfSvKpmYGZp7noY08KBny3VCSPzCoaSQUdoJ7Q1Cb4cftewbirXFcDie+ucYkj
 aen0wfXHcgKSwh4VZ6EY/Oz1VKh+3ManbsqDUfPJ9BSfmTq8ZRrdHOt3qNmfZlUJEyalDWA1
 guQDRMJnsX3otc4oIvTmKSJj4a1CO8iTEBUKHbWsOStPi7A82v9nYIZCLSUfSrQXX/f8bm5Y
 bkH1On1NfAKkQoYs4d4FLo3n6sy68G2+u1fxwVgWn7Kc06qGvVrJXzfhZtDsahEx7l4vwqqW
 x3QpokGaOvRYM61QkQMIAcFb/iY0aBGkzbf2v05PUHm6XIl57GAS0hTY0GBhSE1wGGZ62/5L
 TPNYPIr1jE=
IronPort-HdrOrdr: A9a23:8lWCU65eFGLycI67ywPXwMjXdLJyesId70hD6qhwISY6TiW9rb
 HLoB17726QtN9/YhwdcLy7VJVoBEmskqKdgrNhX4tKPjOHhILAFugLhuHfKn/bak7DH4ZmpM
 FdmsNFaeEYY2IUsfrH
X-IronPort-AV: E=Sophos;i="5.88,264,1635220800"; 
   d="scan'208";a="61292273"
Date: Wed, 5 Jan 2022 15:05:23 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Elliott Mitchell <ehem+xen@m5p.com>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH 5/5] tools/xl: Fix potential deallocation bug
Message-ID: <YdWzswCszMN1IE20@perard>
References: <cover.1640590794.git.ehem+xen@m5p.com>
 <2d1335a4056558d172d9aa3e59982eb761647418.1640590794.git.ehem+xen@m5p.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <2d1335a4056558d172d9aa3e59982eb761647418.1640590794.git.ehem+xen@m5p.com>

On Thu, Dec 10, 2020 at 03:09:06PM -0800, Elliott Mitchell wrote:
> There is potential for the info and info_free variable's purposes to
> diverge.  If info was overwritten with a distinct value, yet info_free
> still needed deallocation a bug would occur on this line.  Preemptively
> address this issue (making use of divergent info/info_free values is
> under consideration).
> 
> Signed-off-by: Elliott Mitchell <ehem+xen@m5p.com>
> ---
>  tools/xl/xl_info.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/xl/xl_info.c b/tools/xl/xl_info.c
> index 3647468420..938f06f1a8 100644
> --- a/tools/xl/xl_info.c
> +++ b/tools/xl/xl_info.c
> @@ -579,7 +579,7 @@ int main_list(int argc, char **argv)
>                       info, nb_domain);
>  
>      if (info_free)
> -        libxl_dominfo_list_free(info, nb_domain);
> +        libxl_dominfo_list_free(info_free, nb_domain);
>  
>      libxl_dominfo_dispose(&info_buf);
>  

I don't think this is the right thing to do with this patch.
libxl_dominfo_list_free() should use the same variable that is used by
libxl_list_domain(). What we want to free is the allocation made by
libxl_list_domain().

"info_free" in the function seems to be used as a boolean which tell
if "info" have been allocated or not. Actually, it probably say if
"info" is a list of "libxl_dominfo" or not.

So instead of just replacing "info" by "info_free" here, we should
instead store the result from libxl_list_domain() into a different
variable and free that, like it is done with "info_buf".

I hope that makes sense?

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Jan 05 16:19:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Jan 2022 16:19:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253643.434869 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n590K-0003j6-KD; Wed, 05 Jan 2022 16:19:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253643.434869; Wed, 05 Jan 2022 16: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 1n590K-0003iz-HF; Wed, 05 Jan 2022 16:19:12 +0000
Received: by outflank-mailman (input) for mailman id 253643;
 Wed, 05 Jan 2022 16:19:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=VMO2=RV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n590J-0003it-44
 for xen-devel@lists.xenproject.org; Wed, 05 Jan 2022 16:19:11 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 35b11b95-6e43-11ec-81c0-a30af7de8005;
 Wed, 05 Jan 2022 17:19:09 +0100 (CET)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2054.outbound.protection.outlook.com [104.47.12.54]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-30-YXoqPl2kPIGGj-jcQ1gzFA-1; Wed, 05 Jan 2022 17:19:07 +0100
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.4844.15; Wed, 5 Jan
 2022 16:19:06 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.016; Wed, 5 Jan 2022
 16:19:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 35b11b95-6e43-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641399548;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=4rQhLGp70ru/tHxpdlOmg012WlKRsogkAHdcqm6PA4o=;
	b=J1rZtWQ66YMfcU2nLJ0r0lFLChWiJ7fR2D43bcWytZRcKRuj454ojDSg2LAYGC3/yWOqjO
	kSY1UfNcOWVbVa7d5NH5r/JsYBM+XRobA16N8mCvFHF6QYQAMFhe4O9ELC9SpG7EgXV7nV
	tlgNiwdVpcGlXMGSU5ghlUA5NoXpPUQ=
X-MC-Unique: YXoqPl2kPIGGj-jcQ1gzFA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SCH3dyUrZMDpOFdKqvrF5wSMoZLx1W58mMiyzh5Pn6ALC7y7Gb75RL2bHn0Jb0Ns4s5srGL37r1TQPRp6RG8iIHwTfb0Ur9yRflkqcDbBhIqUM0IQ2cn/kVDHARkVz5Ygxaf0GDZsYVEmAZODOssisg36+bqJ6tHExOC3gJvPs3CBh3UopUPHhq95qxkJPnllGLY7HyqvrwYEjZPT8s+4yuFIyYKiTztDYtA3H/1V+F4KFjA3Dx/N5RNXZ5l1oL2KGANyqS6YLXe20fgAkQ4hngf0xuWiXdffNj99VK0qXQ9ZEKe50IX661a7NTVa9gpy1fRrr1VhXNIvTq++ZTCMw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4rQhLGp70ru/tHxpdlOmg012WlKRsogkAHdcqm6PA4o=;
 b=AxZPhcFUStXZDk8R1U1eUE8ivK6Kz7fYdvt5VX+PUAPXHZMMARy4td5z463lalN0GYdJZw9yA+sGEeDfodMpgfYz/iDLvtc/FAShUUxiTOGUmeCJWKA4A3IqQHcxVdRHsrUtPoQ0WjhbxRTQ2KKVlloKf7iGP7xRiRW1h7QcvwUNJ/QyH3E+0LLiMq/rJOaHZWXWIvmrKpho5jSkh5HznEnrwg4dYWW1i8P9C1SziKO+K74fNldi/Yezmh9EnqMc0fbTln2UOFpbYWFjJu1tbULMrK1Ahu7ugCpKUhwtPMSOYBSEOrE4iV8r5/1k1rKg5djHDQjBjEv2gmUFlhMBMg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <27266e85-672f-af5b-49f3-784ef262cc98@suse.com>
Date: Wed, 5 Jan 2022 17:19:02 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH] x86/spec-ctrl: Fix default calculation of opt_srb_lock
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220104144422.29989-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220104144422.29989-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0264.eurprd06.prod.outlook.com
 (2603:10a6:20b:45f::9) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 44e4a45e-0055-4722-55f2-08d9d0671825
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3774:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB3774242F2EC5BCB2AF1E126AB34B9@VI1PR0402MB3774.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:1850;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9yaHVABA1qbZKkcD2HOGaSqVohGPXKulva3xGokcDIf9l6fVJfM+1m0ZWGXGf742ibGHLjnNDfMdSYO+yMOwaiOjeaFIcKzGs7aX+bGL/f9oQ8+LT06pNHQOxa/Okm4v8SU1XL1BnjsM8t/DgyL6V/mFBeO8zNW0J9jCNBvCru7A4CDecCeHc+Ir8+7ir80vE6g3D1c+VvcN7j++6RTm71VzAeAh/J1IkU0qdQ/Z9kLMS/7PQMFtOlgoFGIP0C9zhtXHbnyQweldh/aegvZJO5Ylg/+gpo5bt4XHqsonDKld0wltt9FiEF9AnmFwhRODiHynIB+keYyJRYb1TSMrDGmARRyhPbyhyImlVqeTOOQl6X3lt/gkaS/Ui8XOYWqYFsFVXXlX7UY2eKV2FB5ZHhXly2yPM2IMCrMO/r6r+v4o4hmYMSTVQ2/z8hQ4AlcFCrbFPWFskEPZ2SCfDgtsqlmJ3rJsCbAY3QizenX0MFbSiVGJlTS1mH2KXYqBJGP6kWYN3JLwY59MhGc9x3Lfv6MfrLdJUwMte+0w66FBTMfQZ7muoG9WCh9wdy/28xutQflKjC2nKop+CdovOc2hJgLXOnJWZMS16JuiTr/bGYFFdjxRuDRvvPsBJhJJ0pIIvyGpxQJJuCJV2l58BYf+nGceq2CoShg6flmTXHBszF8+HQyrJd3HAU6zml/Lc0FrOxYzlQFRDP48dF9ovEl+vsDcACfcjzKazM6B94iaK/4=
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)(2906002)(31696002)(36756003)(66476007)(66556008)(186003)(316002)(2616005)(83380400001)(6916009)(508600001)(66946007)(4326008)(6486002)(5660300002)(4744005)(31686004)(26005)(6512007)(6506007)(6666004)(38100700002)(53546011)(54906003)(86362001)(8936002)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WjBIWVFyY1RnRGMzSzVyRVZXSE8zd2plSEVLT0FCMTZXSzd3MTl1QVBQR3Jq?=
 =?utf-8?B?cXNmQWV5TUpGNVBsTGwzdUt5MUtibGxNY0dXSStHSnk2WTZiRTBBY2NaQVFk?=
 =?utf-8?B?NzRFbDh1NEl2NjNSOCtlMFJrbDI5T3dBR0JVaXcyYzZQdHM4d0hDcXM4U09l?=
 =?utf-8?B?UTR4dDg1eEtpcXlKd1Z6UDV0YlpmRXZ3cEkzak82ME5ZNytreUViZThNSUdC?=
 =?utf-8?B?N0NoQlBkeTg0cVMzU3NHOWdxT2VIWHNaZjBtbi91N0Z3TG9MbndVU3lMZ01i?=
 =?utf-8?B?SFVSSnhtS0dLVFQ0LzhQZG5EdnE5S0tmNVpIOVUzNmk0eXBRN2x4b3oyVjRN?=
 =?utf-8?B?c3RGaTg3Z3h3SlB6V0xveE0vWWZNUnRDbGtiVGNJMU42OXFXQVlsaHVyWWJ6?=
 =?utf-8?B?RW93U21HK2NyTWI4YkhBNTFNMytxUFlxK1grQVFKbnFqbDh6bWhTUjdnbyt2?=
 =?utf-8?B?dUtDNmdjSE9MMFhMazM4NWhnaC9aZlE5T0FqeXJ4NzRIaWVRS0hHMzVqaU4r?=
 =?utf-8?B?VnQrNFNnUlR3U3lFMGpaU1hhZUdtcXBseisrNUdOYlI5OFA4cE5RU25ZVFgz?=
 =?utf-8?B?Q2FUSU56QllpbGpuanY0M0U4Y1lJWXJiVFczWHErSVpZT3FYaUFyTStVRWVo?=
 =?utf-8?B?WHF1V0JyTCtodHRnQlhxK3pkSWEyaWJ3aExhVjlBSkZ5MnZCTy9RUVlRdXRq?=
 =?utf-8?B?R093bTRnY0JNQVo5c2dmbWxoaWZ0RkRHNkJ1MjZUeVUxQXlLV3Q4OCtWUzND?=
 =?utf-8?B?Tm83eHV5elE1eHhqMHZIWVZaNWx6T2x3OWlYQXNWR3BlQVVHRzhSK2w0MHRs?=
 =?utf-8?B?VlB3SzVRYXFVSDllb25vbkNESjhNY0xpWDRtSSt4cVJ5bnVIV2ZYMUVTNU9j?=
 =?utf-8?B?dWdKYlk2Q2JPQWIyU21QWVV4N0FVdUJBVzd2Ym5UMkM4U1M2TzZ6R2N0VkVU?=
 =?utf-8?B?Skh3VG1DTlYxOCtnejkwTzVpTm1jdnBlYXJlZEVpUlVTMThTcGNUTzNQZzNC?=
 =?utf-8?B?bTNDQlo5c05XdjVrcXQ1WThZbDl2VUJZWmQ2bWVSak1lSUdtbHpLVW1UQ0JV?=
 =?utf-8?B?TjBoanI5Umg2ZytOVXF6eGZnVUJza1Y5eW1SZTMxYzlvc2VDUGE0MFovZCtp?=
 =?utf-8?B?WFlHRkdSKy9LOGJYNzJwcERoZ3VOUFFqa3o3Y1JqQ0trbStmL0dPcFA4LzRH?=
 =?utf-8?B?VWVZS0NQMTJRVzBNLzNsUDE5UmRhaitSM242RUFyZlFxalA0c2NqYWhwRDkr?=
 =?utf-8?B?OElpQUROcHRBbVFSMUxJdXAweDZjNHpIN1lEclFxM1NqRDhrQmtHOXdxTlll?=
 =?utf-8?B?RitEV0JjTWF2WjhCY1hpVjRrcXFmSkw1a0hpR1IwR2IxTUYyU2llSm9GZVBM?=
 =?utf-8?B?WXpmZC9wZk16RkgrM0F4TG1OWFpnbUFNN0NlSTZZOHozT3hpRUwzYytCcWdL?=
 =?utf-8?B?VmRKbHVmTDRkVUpheXJzTTlYNWpQWDFUUi9TcHUrTGJVYXhUTFoyRW9KMkM4?=
 =?utf-8?B?YlRDWkJyTmNwUTU3akc4aU1FVnNoVFp6cGljRW5GbjBmODVmQXJ6dW45K1Vu?=
 =?utf-8?B?MnBNNFYrZWlXeCtOTkswaUMrRWJ5U0VSQVJENndDbzR4TktPUlFWK2h6aUw5?=
 =?utf-8?B?SktDYmpDRG9zV2pDRERGTEJRcUg0UEFPV0UrN2M3YS9BZ2pwZUxDWVNPTWU3?=
 =?utf-8?B?MDhoL3JFejA4OTRPanU0R0RQZFQ3ZVV2TUxiN3RlVVBoMSt1OTlGZXFkeGNs?=
 =?utf-8?B?ZGVzcGlBblA4dGJuT2xqTkJVUTNKcFg2THdjd2R0SGhTVVQ0VHAzVGU4a0hE?=
 =?utf-8?B?eHhNbzlFbkFuaHp4MkZMNjNUQ0dxYjhDY0xGejhBdFRMZWZ0WHNiSTY5Z1lH?=
 =?utf-8?B?b0hsYllzd3djR0JIWHZEdGNpWmg4OWVVaFNwSUcwaXI1dU1iTCtmd3JvNTYv?=
 =?utf-8?B?NExkMzV1YTJWbGd4YTBhcHU4cHgxM2MxUE9WajY2TC9HdDZXUDJ6NE5xQXMv?=
 =?utf-8?B?UlhIRkVIM21ON0U5cG9VOVlOYzRUei9UVmlkTW1YWFlid0lFT1RsSUVZNVJN?=
 =?utf-8?B?UHRCWVc4ZkJudmxhb3ZMT1YwU1ArVTl4eno5K2wvbXR2cTV5ZmlPYXlWSXBX?=
 =?utf-8?B?eEJmRTI3eWNsazAvQWdYN0M1MEIrYUh1WVZDNmZFeHpqMzZoRDl3V3dBVjVj?=
 =?utf-8?Q?WTfwJODluLJGZfuUPzwpdyI=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 44e4a45e-0055-4722-55f2-08d9d0671825
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2022 16:19:05.7353
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rTSdNts8qLKdERrn/7VQXKfCI6s5qFDeWF5Z9I4ZbMH0aH/x72M7pETo3z7ZGlA8N5m4+Fz3eDK7bqYrF4BIaw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3774

On 04.01.2022 15:44, Andrew Cooper wrote:
> Since this logic was introduced, opt_tsx has become more complicated and
> shouldn't be compared to 0 directly.  While there are no buggy logic paths,
> the correct expression is !(opt_tsx & 1) but the rtm_disabled boolean is
> easier and clearer to use.
> 
> Fixes: 8fe24090d940 ("x86/cpuid: Rework HLE and RTM handling")

Is this accurate? Backporting the change to 4.13 locally, I notice that
commit (and hence the rtm_disabled global variable) is not present on
that branch, yet opt_tsx already has the "more complicated" behavior.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 05 16:26:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Jan 2022 16:26:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253648.434880 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5973-00056g-Bj; Wed, 05 Jan 2022 16:26:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253648.434880; Wed, 05 Jan 2022 16:26:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5973-00056Z-8i; Wed, 05 Jan 2022 16:26:09 +0000
Received: by outflank-mailman (input) for mailman id 253648;
 Wed, 05 Jan 2022 16:26:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=isy1=RV=tklengyel.com=tamas@srs-se1.protection.inumbo.net>)
 id 1n5972-00056T-CY
 for xen-devel@lists.xenproject.org; Wed, 05 Jan 2022 16:26:08 +0000
Received: from MTA-14-4.privateemail.com (mta-14-4.privateemail.com
 [198.54.118.206]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2d8969db-6e44-11ec-9ce5-af14b9085ebd;
 Wed, 05 Jan 2022 17:26:05 +0100 (CET)
Received: from mta-14.privateemail.com (localhost [127.0.0.1])
 by mta-14.privateemail.com (Postfix) with ESMTP id 88F9918000B0
 for <xen-devel@lists.xenproject.org>; Wed,  5 Jan 2022 11:26:03 -0500 (EST)
Received: from mail-yb1-f181.google.com (unknown [10.20.151.155])
 by mta-14.privateemail.com (Postfix) with ESMTPA id 6385A18000AC
 for <xen-devel@lists.xenproject.org>; Wed,  5 Jan 2022 11:26:03 -0500 (EST)
Received: by mail-yb1-f181.google.com with SMTP id p15so69196326ybk.10
 for <xen-devel@lists.xenproject.org>; Wed, 05 Jan 2022 08:26:03 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2d8969db-6e44-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=tklengyel.com;
	s=default; t=1641399963;
	bh=VnrkCxdns2SdauawwYGNFyjRjQfEe8mpFl9RwcDx9C4=;
	h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
	b=SoEtOFIVgnsEDzSNaUbGz8tqDvq1DIbwsIlQHCi9NWCDHtXF9gnrhVGZ2N5+mNyCm
	 /XOMA6DtZ0/iEfT6hl2FrvZgGWrt4ZCrdlTAPezQiqIrmoplgHrZVM78ADK6GBnStK
	 uqGpJbWT12MhDYbXdEv9wBE2J3AwZouR0z9brv0k9CrWTPCdQp2MNbfP9VUhGX8eF7
	 NuN25bZ0dbcB0Db3/0/iEIt7aAcG9Ank0qOBZiId7aHKu5zq/15t1FgtdZK8mDgs+D
	 1cIa/tKnu9wuSK4yPWWU/Ott2XgT+9ww7vuu/ZJHlcrHiS5FYQW6ZiTnPbcpeuQZO1
	 Q0JjrYjlrPZbQ==
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=tklengyel.com;
	s=default; t=1641399963;
	bh=VnrkCxdns2SdauawwYGNFyjRjQfEe8mpFl9RwcDx9C4=;
	h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
	b=SoEtOFIVgnsEDzSNaUbGz8tqDvq1DIbwsIlQHCi9NWCDHtXF9gnrhVGZ2N5+mNyCm
	 /XOMA6DtZ0/iEfT6hl2FrvZgGWrt4ZCrdlTAPezQiqIrmoplgHrZVM78ADK6GBnStK
	 uqGpJbWT12MhDYbXdEv9wBE2J3AwZouR0z9brv0k9CrWTPCdQp2MNbfP9VUhGX8eF7
	 NuN25bZ0dbcB0Db3/0/iEIt7aAcG9Ank0qOBZiId7aHKu5zq/15t1FgtdZK8mDgs+D
	 1cIa/tKnu9wuSK4yPWWU/Ott2XgT+9ww7vuu/ZJHlcrHiS5FYQW6ZiTnPbcpeuQZO1
	 Q0JjrYjlrPZbQ==
X-Gm-Message-State: AOAM530iW3PE+E8q0eESisFLjr5QHrli/YrG7qhW0Rx7JVslDmPgZrP8
	CL4YxxxeTe+WwuyJvgCP5OC6f8ah6ukAmsim0gY=
X-Google-Smtp-Source: ABdhPJycB0shTHADkwK932sCK7bZiX3TOot3uEgpGPo0SV99J2JoqHonsWdI12bU5iJJB0wy09Fbtw0GIL1wM7SsBC8=
X-Received: by 2002:a25:59d7:: with SMTP id n206mr58700428ybb.426.1641399962622;
 Wed, 05 Jan 2022 08:26:02 -0800 (PST)
MIME-Version: 1.0
References: <e9257e96-ede9-2809-9a77-fd4dc206badc@suse.com>
 <d1b6aede-2c0a-df7a-7815-73ad4d795899@suse.com> <CABfawhmGxHBEC1M2=zo11K11Yr_TdWFkkVpDpVimy_uvD4nxyQ@mail.gmail.com>
 <f13f983f-9190-99d4-7a6d-c73be651896d@suse.com>
In-Reply-To: <f13f983f-9190-99d4-7a6d-c73be651896d@suse.com>
From: Tamas K Lengyel <tamas@tklengyel.com>
Date: Wed, 5 Jan 2022 11:25:26 -0500
X-Gmail-Original-Message-ID: <CABfawhnNv+KpSm+ZGaRFvkNrooU0_E0TEijs0_WBNtrZ0-y1Jg@mail.gmail.com>
Message-ID: <CABfawhnNv+KpSm+ZGaRFvkNrooU0_E0TEijs0_WBNtrZ0-y1Jg@mail.gmail.com>
Subject: Re: [PATCH RFC v2 3/3] x86/altp2m: p2m_altp2m_propagate_change()
 should honor present page order
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>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	George Dunlap <george.dunlap@citrix.com>, Alexandru Isaila <aisaila@bitdefender.com>, 
	Petre Pircalabu <ppircalabu@bitdefender.com>
Content-Type: text/plain; charset="UTF-8"
X-Virus-Scanned: ClamAV using ClamSMTP

On Wed, Jan 5, 2022 at 3:59 AM Jan Beulich <jbeulich@suse.com> wrote:
>
> On 04.01.2022 18:48, Tamas K Lengyel wrote:
> >> I may be entirely wrong and hence that part of the change may also be
> >> wrong, but I'm having trouble seeing why the original
> >> "!mfn_eq(m, INVALID_MFN)" wasn't "mfn_eq(m, INVALID_MFN)". Isn't the
> >> goal there to pre-fill entries that were previously invalid, instead of
> >> undoing prior intentional divergence from the host P2M? (I have
> >> intentionally not reflected this aspect in the description yet; I can't
> >> really write a description of this without understanding what's going on
> >> in case the original code was correct.)
> >
> > This function only gets called from p2m-ept when the hostp2m gets an
> > update. In that case this check goes through all altp2m's to see if
> > any of them has an entry for what just got changed in the host, and
> > overwrites the altp2m with that from the host. If there is no entry in
> > the altp2m it doesn't pre-populate. That should only happen if the
> > altp2m actually needs it and runs into a pagefault. So it is correct
> > as-is, albeit being a subtle (and undocumented) behavior of the
> > hostp2m and its effect on the altp2m's. But that's why we never
> > actually make any changes on the hostp2m, we always create an altp2m
> > and apply changes (mem_access/remapping) there.
>
> Thanks for the explanation. Effectively this means that the call to
> get_gfn_type_access() can simply be get_gfn_query(). For the patch
> this means that I shouldn't check its return value and also continue
> to pass the new order rather than the minimum of the two (as was the
> case before), as all we're after is the locking of the GFN. It would
> be nice if you could confirm this before I submit a non-RFC v3.

I'm a little lost here.

>
> What I still don't understand is why the function blindly replaces
> any possible entry in the altp2m, i.e. any possible override
> mapping, not even taking into account the original p2m_access_t.

I think the idea was that any changes to the hostp2m will just get
reflected in the altp2m's as a short-cut. If you have many custom
settings in different altp2ms, simply setting the entry in the hostp2m
will ensure all altp2m's get synced to that same setting instead of
having to do a hypercall for each altp2m. I don't see much use of it
otherwise and if we wanted to switch it to leave the altp2m entries
as-is I wouldn't object.

Tamas


From xen-devel-bounces@lists.xenproject.org Wed Jan 05 16:28:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Jan 2022 16:28:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253653.434910 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5992-000693-4p; Wed, 05 Jan 2022 16:28:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253653.434910; Wed, 05 Jan 2022 16:28:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5992-00068w-0H; Wed, 05 Jan 2022 16:28:12 +0000
Received: by outflank-mailman (input) for mailman id 253653;
 Wed, 05 Jan 2022 16:28:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WMgQ=RV=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1n5990-0005iD-9l
 for xen-devel@lists.xenproject.org; Wed, 05 Jan 2022 16:28:10 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7518c4b4-6e44-11ec-81c0-a30af7de8005;
 Wed, 05 Jan 2022 17:28:08 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7518c4b4-6e44-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1641400088;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=Wos4K3N2PVVodYl3En9oL6XQ8hoxvEjkJHh4Begzc58=;
  b=M7IckGamLgG3H4RMjggwMnQfBEX6tPBln4NcefSzQtELiEn3j7aFJNwK
   CjJU7c0yWnUEYZK9KIuwubdU3mM5KYZo2YIe/LcK+FGMQ8MzWKYeC9xXP
   KuhZFYYH42O1Nh32Z+EzohJlMHsPYezoeF/kM5IZdh16gBHvd010fgRNK
   g=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: XHIPAuPwYyJwwg62wr6zuD4L/xiOk4kFZ7a9HZYqyISgkJAnXirC1s8wA8U/I/uGJmKXhQQ0oC
 KQlbEPFcTkyrWcb3bKmB9RENiZtNH33bKFcezxIacPPJvt/HG2ZtC8hYsUPJo3tbILU/cOsL5a
 nL+TnEu2BJeazfWXKXWoi1ML/od01h+KgFv2BwJ4xjbH/WiXcDB1h4qF9UEtf7W+2Q+sT5234A
 ClBtn4GEMzaaPEC9HRr3v5zaekFHDy6zgnWA4RkNwAlWhz1rajwvHRvPWWmSODb1OMcbxUvEm9
 8pKplmGoTpuIYnkSk+WCVVxg
X-SBRS: 5.1
X-MesageID: 63481991
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:qjIxy6r5bl+/VrtALrtrMOzmZvxeBmLsYhIvgKrLsJaIsI4StFCzt
 garIBmOOfnfZmLwftogPI7i/EwA78LSytdkHlZqqy9jFXsUpZuZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlZT4vE2xbuKU5NTsY0idfic5Dndx4f5fs7Rh2NQw2IDkW1nlV
 e7a+KUzBnf0g1aYDUpMg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJ8DO+iL
 9sv+Znilo/vE7XBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XnRfTAKtao2zhojx/9
 DlCnYyPcyYrGYjiovs2CQJXTHhjEqhn8YaSdBBTseTLp6HHW37lwvEoB0AqJ4wIvO1wBAmi9
 9RBdmpLNErawbvrnvTrEYGAhex6RCXvFIoZpnFnyyCfFfs8SIrPa67L+cVZzHE7gcUm8fP2O
 ZFFOWM+PU2ojxtnNQhNAp4kvM2R3GTtKG0Epgi2mqZo7D2GpOB2+Oe0a4eEEjCQfu1Fk0Ddq
 m/Y8mDRBhABKMfZ2TeD6mirhOLEgWX8Qo16PLGl8PpjmFK722kSAx1QWFemydG9i1WiQPpZJ
 lYY8DsopLQv7kHtQtSVdw21pjuZpRMGQPJUEvYm80edx6zM+QGbC2MYCDlbZ7QbWNQeHGJwk
 AXTxpWwWGIp4Ob9pW+hGqm8vQyIGCoyCEE4egReVgRausTMpaA6t0eaJjp8K5KdgtrwEDD25
 jmFqikimrke5fI2O7WHEUPv2Gz1+MWQJuIhzkCOBz/+sFslDGKwT9HwgWU3+8qsO2pworOpm
 HEf0/aT4+kVZX1mvHzcGb5ddF1FChvsDdE9vbKNN8Vxn9hO0yT6FWy13N2YDBw3WirjUWWzC
 HI/QSsLuPdu0IKCNMebmb6ZBcUw1rTHHt/4TP3SZdcmSsEvKFbcpng+PBDKgz6FfK0QfUcXY
 snznSGEVy1yNEia5GDuG7d1PUEDm0jSOl8/tbiklk/6gNJylVaeSKsfMUvmUwzKxPjsnekhy
 P4Gb5Hi40wGCIXWO3CLmaZOfQFiBSVqXvje9p0IHtNv1yI7QQnN/deKmuh/E2Gk9owI/tr1E
 oaVBhUFlQGh3CKfcm1nqBlLMdvSYHq2llpjVQREALpi8yJLjV+H4PhNep0pU6Mg8eA/n/d4Q
 +NcI5eLA+hVSySB8DMYNMGvoItnfRWtpASPIyv6P2RvI88+H1TEqo3+Yw/i1CgSFS7r58Ewl
 KKti1HASp0ZSgU8UMuPMKCzz0m8tGQ2kf5pWxeaOcFafUjhqdA4KyH4gvItDdsLLBHPmmmT2
 wqMWE9KrujRuY4lttLOgPnc/YuuFuJ/GGtcHnXasunqZXWLoDL7zNYZAuiSfD3bWGflw4mYZ
 L1Yn6PmLfkKvFdWqI4gQbxl+r0zuon0rLhAwwU6QHiSNwa3CqltK2Wt1NVUsvEf3adQvAa7V
 x7d+tRePrnVasrpHERIeVggZ+WHk/oVhiPT/bI+J0CjvH17+7+OUENzORiQiXMCcOspYd19m
 epx6tQL7wGfiwYxNofUhy9ZwG2AM3gcXvh1rZodGoLq1lImx1wqjUYw0cMqDEVjs+lxD3Q=
IronPort-HdrOrdr: A9a23:YjmmmqNm91zuJMBcTsGjsMiBIKoaSvp037Eqv3oedfVwSL39qy
 nOpoV/6faaslsssR0b9exofZPwJk80lqQFg7X5X43DYOCOggLBR+tfBMnZsl7d8kXFh4hgPM
 xbEpSWZueeMWRH
X-IronPort-AV: E=Sophos;i="5.88,264,1635220800"; 
   d="scan'208";a="63481991"
Date: Wed, 5 Jan 2022 16:27:56 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Christian Kujau <lists@nerdbynature.de>
CC: xen-users <xen-users@lists.xenproject.org>,
	<xen-devel@lists.xenproject.org>, George Dunlap <dunlapg@umich.edu>
Subject: Re: qemu-xen is unavailable
Message-ID: <YdXHDCUqpqV+E2hO@perard>
References: <8b68322f-1da7-962d-8f64-dea1e11525@trent.utfs.org>
 <f0877063-56ff-1c72-ae51-fa6ffea453ab@trent.utfs.org>
 <CAFLBxZZsCuqNrc=1dBVL_6V3rBv_iaN5btmbkcDxK4Bq1faRhg@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <CAFLBxZZsCuqNrc=1dBVL_6V3rBv_iaN5btmbkcDxK4Bq1faRhg@mail.gmail.com>

CC xen-devel

On Tue, Jan 04, 2022 at 11:52:21AM +0000, George Dunlap wrote:
> > On Sun, 19 Dec 2021, Christian Kujau wrote:
> > > # xl create -f /etc/xen/debian.cfg
> > > Parsing config from /etc/xen/debian.cfg
> > > libxl: info: libxl_create.c:121:libxl__domain_build_info_setdefault:
> > qemu-xen is unavailable, using qemu-xen-traditional instead: No such file
> > or directory

Looking at the original email, the domain config file has type="pvh", so
I don't think qemu is actually needed. And the domain is starting fine,
so this message isn't really needed and would be a bug I guess.

I think it comes from libxl trying to figure out which QEMU to use even
if it isn't going to be needed. And since there's no qemu to be found,
the message is printed, even when qemu isn't needed.

I guess you have this message because you didn't install a qemu package
(or qemu-xen), but you don't need the package as you are only starting a
PVH guest.

The bug here is that libxl shouldn't print this message for PVH guest
because it's confusing.

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Jan 05 16:30:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Jan 2022 16:30:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253676.434921 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n59BV-00084x-KJ; Wed, 05 Jan 2022 16:30:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253676.434921; Wed, 05 Jan 2022 16: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 1n59BV-00084q-HC; Wed, 05 Jan 2022 16:30:45 +0000
Received: by outflank-mailman (input) for mailman id 253676;
 Wed, 05 Jan 2022 16:30:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=t2Ot=RV=oracle.com=boris.ostrovsky@srs-se1.protection.inumbo.net>)
 id 1n59BT-00084W-MI
 for xen-devel@lists.xenproject.org; Wed, 05 Jan 2022 16:30:43 +0000
Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com
 [205.220.165.32]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d2195dfb-6e44-11ec-9ce5-af14b9085ebd;
 Wed, 05 Jan 2022 17:30:41 +0100 (CET)
Received: from pps.filterd (m0246617.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 205FYG4K016108; 
 Wed, 5 Jan 2022 16:30:39 GMT
Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79])
 by mx0b-00069f02.pphosted.com with ESMTP id 3dc8q7vmx8-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Wed, 05 Jan 2022 16:30:38 +0000
Received: from pps.filterd (userp3020.oracle.com [127.0.0.1])
 by userp3020.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 205GNIq4084614;
 Wed, 5 Jan 2022 16:30:37 GMT
Received: from nam10-bn7-obe.outbound.protection.outlook.com
 (mail-bn7nam10lp2104.outbound.protection.outlook.com [104.47.70.104])
 by userp3020.oracle.com with ESMTP id 3dagdqrsh3-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Wed, 05 Jan 2022 16:30:37 +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.4867.9; Wed, 5 Jan
 2022 16:30:35 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::8d84:1f40:881:7b12]) by BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::8d84:1f40:881:7b12%5]) with mapi id 15.20.4867.009; Wed, 5 Jan 2022
 16:30:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d2195dfb-6e44-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=message-id : date :
 subject : to : cc : references : from : in-reply-to : content-type :
 content-transfer-encoding : mime-version; s=corp-2021-07-09;
 bh=Covvm6FWkvxE1U1LYZ4F3QIib8ozhlzIbmldxDm7Q2U=;
 b=Mcaq7GjddjnLFTBzS7x5HyGfNsB4Ta0VF5bSXZiY4ku7k50WJ5vU9eSV2nOwy5DgquQ5
 QtJdv1IVf6wraVqJcM4QIayWin+7bV2Ouuz+SIygtkw15yctV8tC4wqM7LmxNSLjb2LI
 l4oZb6N9L5ypqesv47D36LAMOF19ar5HuU8HQr0oU0je7lfSVr8UQNA1Q6AMbADYp8N0
 Xou1p+f2vuZR/6i3MmDITlz1BTbW05o65ziQtAyXWq0Z3pVHa20nH0PVPJNJNG085ju+
 PjyzvB4GiZr7egtj7ESXmX9AC46WSCj50G0hQNr4y2TeJILWyNUPSAF8snmHVxxUjioM UA== 
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fA7HOSWgbcoMWmLESo1JQnfXMjdfIREd1/IGMaN1xNO9tuxQ/RQZ8LyjJVgDptN0C2VJZHqFps3Q2J4IgYsvG70eNW8tvEJcBROPbZefsjkEd7s3cbhyKgDi5F420p1pju33/H69CkQbPiQg49vBoRAYpbIJVpxw3Em1ZtsA/xP1Mce2Cc2ffFs2XMnZmszjHJ4SEX80YwTYR9dr8Je8LRowxwj27foqgXoxYSQpASfR/FJWc7jE4PB9H970woJS/qI8gmqfVKR5rla8Oap/HHFJ1XIYnD6Jk/ZtASCJS/LRMX/CYYIN5AUl86g0DXbLylxnUgD1ix9bE3ljMj8dFA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Covvm6FWkvxE1U1LYZ4F3QIib8ozhlzIbmldxDm7Q2U=;
 b=D9edJautNpYRwZ+IXpihJp7aCSVHIG3Z3wtXyrjAGNaJgCea6aWxsIZfGxIuY6GNnyJNDtyDY05m1u9Asc3VpShcGF+xr93hHMYvRRugGarthdPDbPo4e9JxalegPCT87mhcvwc+fSUNzCcoCu0rZC+FcYIJVwN8U863/9IwfZoQ0/XKFrpDW2XiOy1TKK2HnBgtl++KmTeC2y85rMG9dzL8Nrz/DNoEfvIH6CpCqlzOGub1/sdymhyKHRo7DvEfpk4espqzjuxntrZkAIfNTRIXy+f8iSZ9pfUk5TOB2sva+UisIFbW8rQKDyoqKova5qnf/YVel4nDJmCJjcGCqg==
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=Covvm6FWkvxE1U1LYZ4F3QIib8ozhlzIbmldxDm7Q2U=;
 b=On41Z6Q5HWy9wpW03gaEjMj0Ss0UdzqtiV1eQOKrOTdjkmHO3RPd7+sZ7e3mzyPuIG749xmCQ6qJ4/+yXHm25dbXv4rJsXJ3mo9WSBcZ+jVLnew3Aj3rJVA8WOBo1X1Oxr3ofVQhm8hdy3f3+0hKQnosKjd/5bZISCqf0Sk+FdI=
Message-ID: <075807b7-ea2e-07e7-2da3-6567c6429c71@oracle.com>
Date: Wed, 5 Jan 2022 11:30:30 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.4.1
Subject: Re: [PATCH] xen/x86: obtain upper 32 bits of video frame buffer
 address for Dom0
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        lkml <linux-kernel@vger.kernel.org>, Juergen Gross <jgross@suse.com>
References: <a3df8bf3-d044-b7bb-3383-cd5239d6d4af@suse.com>
 <bfab8ff9-9762-f90d-3f25-b57362f05b0b@oracle.com>
 <17df4307-ace8-8798-5bce-16f4843ed830@suse.com>
 <16260904-c1ce-dc18-224b-03a131a92007@oracle.com>
 <d0c84e65-642c-8990-49d6-c09d291922ea@suse.com>
From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
In-Reply-To: <d0c84e65-642c-8990-49d6-c09d291922ea@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: SN6PR08CA0005.namprd08.prod.outlook.com
 (2603:10b6:805:66::18) To BLAPR10MB5009.namprd10.prod.outlook.com
 (2603:10b6:208:321::10)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5fa0f39a-7f3b-4ebd-786d-08d9d068b31b
X-MS-TrafficTypeDiagnostic: MN2PR10MB4400:EE_
X-Microsoft-Antispam-PRVS: 
	<MN2PR10MB4400029B340E9DB5983E54578A4B9@MN2PR10MB4400.namprd10.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: 
	p2K53S79ZVvORRGlAwWAVIf5Kq5SdLeF3t9gyjPXxHi6on4U2ZljLFdUJoXT9QzEJR/alU3MKJ0q9YT/d9XGjBcZJQgLjPuG77jay31Pqehlk3l7rk0W0+1HIqbv4mw1sCTrff/xKFKEOOdSqTunRLI2c3bzKgjCRmL2nl8MTd1V/nA/jH+6+IK6r3+ZAPOLtnejihd1otNlSmcOJl9UjCQcY8mHTCZbAFQka8C7moZvR2xiixNN+ROkH77AlkWvRq6gU1d1ntdkT+moP6z3bSfZhVQjC/uFOusTBAV2alNqx/rH+9cVGWCmX7T8Uw0A9ZQ3PMn+JKL34IKi17ZXDKjwLsDTJSE01IZ3oTxu+WZxqz9WEOVzPPjbngot5aZq3Nhyug36v055K/XzVA0K+WaTpvKaI/7+/5MuN3StTv9eNxA4z5FQ9Cq4d/yc4/Sqj9muxwPeHJ+pUBdPKA2Jnzaln6HEIge5kMUGo+k8nmn6LfFzIHajLKCMctwaRdreDPuZDR7TO8fj7Y9us+8B5ltslrCLbxn3bqv+aWxqHe6HclBTzLjXXedXIQsENUUxP5AJIkK1oAarsYLehYfal4yFqddpa1i9xItlMisg/glOY26JrbjdMrlfBmkodSalfgQxg+ajFRn7nfWfSNdwz9aSadWTlAXOy8erF6UAj1HvH9pb8zVvdxmXdmYx4NHXVc09vyptdMaZzbzrahP4QxsdUjKHzh0dkuRHiidLccs=
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)(31696002)(31686004)(36756003)(508600001)(2906002)(6916009)(8676002)(6666004)(44832011)(66946007)(2616005)(8936002)(53546011)(558084003)(316002)(38100700002)(6512007)(6506007)(4326008)(66556008)(186003)(54906003)(5660300002)(6486002)(66476007)(26005)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?utf-8?B?Q0pVa25OSlArTkF6dTMybnlQcUtneXFucUxUYVhyQ2RKbXRqbXJIbkMzd0RG?=
 =?utf-8?B?NGozdkJKU1VVR2hmbGd2ZzBPaTB6K1JBcDdGay80T0lvN01wQlA5bDk3eEVS?=
 =?utf-8?B?VWNoQm1MQVBDSy9KQTRjbmdnbTJndENWdy8wbkpYUDlaWTJsTW8wUTZNc3lG?=
 =?utf-8?B?NzM4K21Db0phWlZvY1lYMndXYWpEM2p4RnFqczkrNm54RlFmRE0vdWV0bC82?=
 =?utf-8?B?VWJZRXllOFpUa2UwbGxUZ1UvRVVvbTM1emFtNS9aaFc4NWx0azhkcEtNM0M0?=
 =?utf-8?B?OVNNaDRndXdlSi8xM05nTzVLSlNaTXBRQ2ZYcWdwcGVvTmlqNG1kc0Y3TlQ5?=
 =?utf-8?B?d2VLbkUyUUx3QjExSVZIUFA4OUxXT1Njb1JqdWM0bDkwK3VpSFkzMFN6ZEta?=
 =?utf-8?B?aURFN0ZBMmI2K3kzTDRnNTdtdkcwUnR3MC9WMWpzanJ1YjM0d2hwcWswZkRN?=
 =?utf-8?B?VnlhclUwYWdNM2x6NDV2U2tTeG1NNGQ1VktzUkM2N01GOVZtZ3VlOWlRc25N?=
 =?utf-8?B?VVYwazhKVHJ5OHJQbnRJcXArcWZoVEhKRzluSnBwSGdQTEtCQ0phRUFvMEhk?=
 =?utf-8?B?SnlLSlo2YUJ6WnhSSTJsNnVxUHBERTlOM0o5Q0pMakpTLzZUci8rU3hSTWFk?=
 =?utf-8?B?UGNNMVI3SmhMd2l1M1lnTXB1UDlkS3RJUFNIVnBDTCs5YWd0L3IzcktnZi96?=
 =?utf-8?B?WXluRkkxcFg3QkNzR0pNUnZ4a3BKNnlHN0M0aEkxcUR4Yld0ZDB0aDRCWW5L?=
 =?utf-8?B?RnpEQ3Q1RjBTVllDRVBkYWp1UGRhWGNYTWVlYlFOQWppMW1VYzMyNjBjZGdv?=
 =?utf-8?B?bDh0V2pMaWYzTUhFOW9sQ1JkaCtVK1JEZkJkWUZFTENxdUJOSDNBcW1DNlVo?=
 =?utf-8?B?SVZXUUtPSm43bjJVVHFxbjltYkYrcjZBUDNvUENWV3BsbEhGcE1YTkhpbGtK?=
 =?utf-8?B?WU1DcUNsOFNqRERnZmV5VWdFQ2ZjaXF1M3pUM2tGWXhJZUwxMzNKeFdqYWll?=
 =?utf-8?B?OHdpRUw3empPaXpSbTdTOGh2K1B6cWI4N2RwdDNHbFNxN3pwZXhmWUljNTVY?=
 =?utf-8?B?RTRpN0c2OXEwMnB2QW52QnV3WVRLMGZYSzN0bzZYa281L3lBUkN4N093NThC?=
 =?utf-8?B?WGxwd3BTRFd2VG9WdHpQYllYbXV4VGlZVWExUDRVM09oRkhYd2hnY01ySWNI?=
 =?utf-8?B?UmI0VFp4Und2RmI5WlNHME5iSDR2SVJ5WGFsQmp3djM2dnl0RjMxbTlQWmYw?=
 =?utf-8?B?L2Nwa1JRYUNUQ21HbWJzbFNLb3ZvWE4rQk1NQmVFdG9GWTgzWExyL2NWdnhK?=
 =?utf-8?B?dVd1WDNwbzRybWkydWpnNUE5K0RqVm9Qa2k3VFlkcXR5VS96eFVzeHVZZ2F1?=
 =?utf-8?B?TDE5ZmdUbG9Tekk1YWVuU0dTY1lnc2FpSUFxdUpGMlhQTk1DZXVONzY1TjlL?=
 =?utf-8?B?NzNLUDlGTDVoQVV6YWRMbmY4Nlk0R3h5RnlrRUpKaE0xYVQ1RGRvZ0orL3ph?=
 =?utf-8?B?SHJLN3VZaEt3YkVramRESkF3djg3RVI1RkppaCs0SlUyQzhVVm5yYTN5YUVo?=
 =?utf-8?B?ZHhjT2xadnJmekVpcnlxeS9XTXloVjZRU1o0RWdwQmN6MUR0Nm1ML09EWThN?=
 =?utf-8?B?SzRlTEpwN1oxQmRwNXVEclJmQWxjK2FucnpFTEpjcmlrM2RXRGpvQkM2Z1hk?=
 =?utf-8?B?QzBnNWM1SkJ4bjdacFFBV2ljSkxzZXRtNGp3V1lQeEUwVW5TMVV5NXU4QzVj?=
 =?utf-8?B?aVlZc3ZHcGQxbndwZXBUOFFuZWVtZXJQdHNaZU9FRHI1aFVhRElvSkUxMDA4?=
 =?utf-8?B?QlNXSkZodVFhMHNwUFZtcmcwWCswYm5WSGtqWVRTYnpGOG0rR0U0YkV2Wk1U?=
 =?utf-8?B?UGFFYzc5QUloYTduMXZ5ZlN2VXRsaFlIWWcwMGIyTEpvZnllNWVpTUNVOGNB?=
 =?utf-8?B?S1FCQ0FvaHc3WFltMk0yM2VLUlhqOWlZOTM0QlhSTjRod1hhdXZzdU1Zejcz?=
 =?utf-8?B?RzE0aTVVZHVCTnFacFIzb1N1Rmlnd0hrdTl6WTNlamphbEErN1ZBSXZLd3Qy?=
 =?utf-8?B?UlQ3RU5lSEFNUjAzT2RIWWlJOVBEQjVsOTJVaTFNSFVCMjZZc2RsN0szd2Rr?=
 =?utf-8?B?VUlKekg0WWpCeU1PZDFtZ3p6aGwyODVCbXdIOGpRT3dVNXNmYUNKalB3K1ZF?=
 =?utf-8?B?eFdBTjI0cU1vYVhsSEhiSWd5YnpsQ1AyWS9NaHUvZnBBYkVpTXlZaTFBSy9k?=
 =?utf-8?B?U3RoRDVkdWFRNkZjWkpaUDBXakVnPT0=?=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5fa0f39a-7f3b-4ebd-786d-08d9d068b31b
X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5009.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2022 16:30:35.3806
 (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: smBBlHGPes4hcanpCUuCGNl3yMgSU9JGawSer9ZwHwJK/HtmwFRwpOveGRy8X2iEN7naly20SUll4IKxtd+V8EGBwm1Z7jRxddvGXBdUAPU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR10MB4400
X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10218 signatures=668683
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 bulkscore=0 spamscore=0
 mlxscore=0 phishscore=0 adultscore=0 suspectscore=0 malwarescore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2110150000
 definitions=main-2201050109
X-Proofpoint-GUID: 2pvz04knUZ28jswHi-2o-TCafAiu3C3l
X-Proofpoint-ORIG-GUID: 2pvz04knUZ28jswHi-2o-TCafAiu3C3l


On 1/5/22 2:59 AM, Jan Beulich wrote:
>
> Anyway - I'd appreciate if the patch at hand could be taken
> independent of possible further adjustments here, as it addresses
> an issue observed in the field.


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



From xen-devel-bounces@lists.xenproject.org Wed Jan 05 16:55:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Jan 2022 16:55:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253688.434932 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n59ZJ-0002Cd-H9; Wed, 05 Jan 2022 16:55:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253688.434932; Wed, 05 Jan 2022 16: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 1n59ZJ-0002CW-Dx; Wed, 05 Jan 2022 16:55:21 +0000
Received: by outflank-mailman (input) for mailman id 253688;
 Wed, 05 Jan 2022 16:55:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CctM=RV=xilinx.com=ayankuma@srs-se1.protection.inumbo.net>)
 id 1n59ZI-0002CQ-3L
 for xen-devel@lists.xenproject.org; Wed, 05 Jan 2022 16:55:20 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on2060e.outbound.protection.outlook.com
 [2a01:111:f400:7eae::60e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 42be244a-6e48-11ec-9ce5-af14b9085ebd;
 Wed, 05 Jan 2022 17:55:18 +0100 (CET)
Received: from SN7PR04CA0014.namprd04.prod.outlook.com (2603:10b6:806:f2::19)
 by PH0PR02MB7463.namprd02.prod.outlook.com (2603:10b6:510:15::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4844.14; Wed, 5 Jan
 2022 16:55:14 +0000
Received: from SN1NAM02FT0016.eop-nam02.prod.protection.outlook.com
 (2603:10b6:806:f2:cafe::e9) by SN7PR04CA0014.outlook.office365.com
 (2603:10b6:806:f2::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.7 via Frontend
 Transport; Wed, 5 Jan 2022 16:55:14 +0000
Received: from xir-pvapexch01.xlnx.xilinx.com (149.199.80.198) by
 SN1NAM02FT0016.mail.protection.outlook.com (10.97.4.82) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4867.7 via Frontend Transport; Wed, 5 Jan 2022 16:55:13 +0000
Received: from xir-pvapexch01.xlnx.xilinx.com (172.21.17.15) by
 xir-pvapexch01.xlnx.xilinx.com (172.21.17.15) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2176.14; Wed, 5 Jan 2022 16:55:12 +0000
Received: from smtp.xilinx.com (172.21.105.198) by
 xir-pvapexch01.xlnx.xilinx.com (172.21.17.15) with Microsoft SMTP Server id
 15.1.2176.14 via Frontend Transport; Wed, 5 Jan 2022 16:55:12 +0000
Received: from [10.71.116.201] (port=56661)
 by smtp.xilinx.com with esmtp (Exim 4.90)
 (envelope-from <ayan.kumar.halder@xilinx.com>)
 id 1n59ZA-0000x9-0V; Wed, 05 Jan 2022 16: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: 42be244a-6e48-11ec-9ce5-af14b9085ebd
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=d2874sKI8ja7t5JpVZKU72nNyqFch7gIncWrZ/LnuUZbAXpcSvzsZSZk7tiCHxZz/I6pXA8feUvIsH2aFGpB+Xq+N80YOchva0J39hDrMHoiFqwTY657UNzps91DwvOXOGyCQVUsgCVwaYJDrB1Olckof2FTzjxpFfjGMtoZOvkDXIoFoAEz2qLpsNRBOretZbZoPqPw84vjulb7Z6HGn7X1jlBBjSAFvfSp0eD859jewTRhGaKTc3282j+QTC9cgV5c02CHIW35Xrxgqx0MThl1zDB0NkfFJMymF8lT14wPz+Uta7Ru2gwOGivLsJGAWYOTzukkWbcybtptQJyOlw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iy3wP1PB1QiojTESkohQ67YE98m0ZWd/jMzKPXCfUBE=;
 b=YrNeQryJ+wam1cG6dBaxpH6O2aSjopr2WsI2TFpLnsTss/eHvVulzMJWlne/d54jUHkcUMgocuY2oii/pzUNVExwLXzT0np7hJi5GOyFqEXWHXVm/5UvuEOrOeP3Wlc7wM8xgg6AoWJm/54vqgtUuukmxMvgr1/JAspWG4FTBgCVM3XP3ZXJjTZRtC5D67Mr6jVoMNn4u0EDjiQCCUqUYsKc01P5q8fDxk/zSahx6U6N/bEgoinKrrWEcLHdVkHeXiAUKMvIn+58VMZhK+vggq88RJTN90pKITTXq9YxLRJoWv3f9DnMnp7zIVc0wjZALGMXZk9ka1TVRl3gRXSAoQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 149.199.80.198) smtp.rcpttodomain=arm.com smtp.mailfrom=xilinx.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=xilinx.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iy3wP1PB1QiojTESkohQ67YE98m0ZWd/jMzKPXCfUBE=;
 b=LrDM3Ppq8KOFcze3HYod6cAIMvv4HGwG39UZ2/BwqmSINs/BpsbwFa+5aparNktRCELazPr3lSpEAYhosOooJ5PfRXB5Nvq1KKS2AxnNXJFbqJEG8LK8ZlDpT6+Fb1ycqfSW3zXRWxRG6ZldNK6AGkmoiSbJhpx6KgaT96P8zlc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 149.199.80.198)
 smtp.mailfrom=xilinx.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=xilinx.com;
Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates
 149.199.80.198 as permitted sender) receiver=protection.outlook.com;
 client-ip=149.199.80.198; helo=xir-pvapexch01.xlnx.xilinx.com;
Message-ID: <0f6e058a-bc23-2a77-6797-39bfacb7db79@xilinx.com>
Date: Wed, 5 Jan 2022 16:55:11 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.4.1
Subject: Re: [XEN v2] xen/arm64: io: Decode 32-bit ldr/str post-indexing
 instructions
To: Andre Przywara <andre.przywara@arm.com>, Julien Grall <julien@xen.org>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Ayan Kumar Halder
	<ayan.kumar.halder@xilinx.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, "stefanos@xilinx.com" <stefanos@xilinx.com>,
	"Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>,
	"jbeulich@suse.com" <jbeulich@suse.com>
References: <20211129191638.19877-1-ayankuma@xilinx.com>
 <20211130094950.1bf368d6@donnerap.cambridge.arm.com>
 <a69d41f1-7b57-c127-ae73-2de5a581dddd@xilinx.com>
 <D8811539-65F2-4D40-BFEF-CE72EA8E902A@arm.com>
 <4315f3f8-4431-3257-dc95-a3089532237b@xen.org>
 <20211208120048.63fbf49b@donnerap.cambridge.arm.com>
From: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>
In-Reply-To: <20211208120048.63fbf49b@donnerap.cambridge.arm.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8592ab49-8395-4ff8-9530-08d9d06c2498
X-MS-TrafficTypeDiagnostic: PH0PR02MB7463:EE_
X-Microsoft-Antispam-PRVS:
	<PH0PR02MB7463CC6A85C830DC7391EFB9B24B9@PH0PR02MB7463.namprd02.prod.outlook.com>
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
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:
	V8XuLK0N7u6hXFXypRrP/7+jqnZteCEftD4wtRAem3OSlQ+sOw11Les8JtWs95uprR6yq1FtoDq941WR32mP0DLyEUlHPR2nU2HNZINn1WDKbqXla1GHx3JdFtuGcZT90zncBWIA9PbnLP5H7LSQWoBIKfOh/nU/ZrjnRK6s3oP/FiZnmpebfhuY4iMrVgCqBRsu+Y1iTqnG9MIx9kJMAhkKNvBC5iQhcWTTzaYTpLsW1HVOWHlkhrGilZKUKXSD+RqkcT+545l8pGxkPWxflUuxhxumWQIpQ5wD8xorXowA6gyVFb9ShC54cVMoS13xh3E8SF0cJ64S8cSgTTAMbnxQyRPIJ6O684NTYoe9wTcTlQcoBFUKCQ2vWgXdot09qqiSVAhi80U4JxKaLmEcIIrWzZoV60Djl8Ce8QflbEug5q6oWBdCWN3lnhvLzmaoNPh+8nnErMuulwzfgg5sp8MnDnMvaocmzLCA/n/nMkG8hECuemYSaFyVLCNXsgLSs61Vb4nBSssVZRKLOy0X+lLeaAweygZmUSrWzaVuFGSGKW9UihXGMsZMxB/PB38DFwRQhXC14QNF8c8tC9WMVRXxkfKYw4Rsf2/QSB2RGY2zG3Dmqd6M1M8EV2FHicEpjdQ9rKPquLT0ajgxghsR7uK8fPOQtyt7lbM4IwWr7u+XpG+Y/6x0JSh2vwlIPBSfV1Xs+2dxSO0X9B49E/USdaymdalLg47C67Dr4z5CxZeOgoeuZtFBx8qo/hp+F6gO37FvWI8RM3C3mr9e9rWu0I+TGY3qYka1vkMAa0STqxcvLotA7Ez2c6M9MP2aYP0skALl+0uEAqvFmrAPjQ9qPfnVFfJhBn6da/nw01XrHPg=
X-Forefront-Antispam-Report:
	CIP:149.199.80.198;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:xir-pvapexch01.xlnx.xilinx.com;PTR:unknown-80-198.xilinx.com;CAT:NONE;SFS:(4636009)(46966006)(36840700001)(83380400001)(8936002)(8676002)(110136005)(82310400004)(31696002)(70586007)(47076005)(5660300002)(316002)(54906003)(70206006)(9786002)(31686004)(4326008)(336012)(36756003)(186003)(426003)(966005)(2906002)(26005)(508600001)(2616005)(356005)(7636003)(36860700001)(53546011)(50156003)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: xilinx.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2022 16:55:13.6004
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8592ab49-8395-4ff8-9530-08d9d06c2498
X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c;Ip=[149.199.80.198];Helo=[xir-pvapexch01.xlnx.xilinx.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SN1NAM02FT0016.eop-nam02.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR02MB7463

Hi,

Thank you so much for your feedback.

I need a couple of clarifications before I can start with the v3 patch.

On 08/12/2021 12:00, Andre Przywara wrote:
> On Mon, 6 Dec 2021 19:31:06 +0000
> Julien Grall <julien@xen.org> wrote:
>
> Hi,
>
>> On 01/12/2021 08:41, Bertrand Marquis wrote:
>>> Hi Ayan,
>>>    
>>>> On 30 Nov 2021, at 19:13, Ayan Kumar Halder <ayan.kumar.halder@xilinx.com> wrote:
>>>>
>>>> Hi Andre,
>>>>
>>>> Thanks for your comments. They are useful.
>>>>
>>>> On 30/11/2021 09:49, Andre Przywara wrote:
>>>>> On Mon, 29 Nov 2021 19:16:38 +0000
>>>>> Ayan Kumar Halder <ayan.kumar.halder@xilinx.com> wrote:
>>>>> Hi,
>>>>>> At the moment, Xen is only handling data abort with valid syndrome (i.e.
>>>>>> ISV=0). Unfortunately, this doesn't cover all the instructions a domain
>>>>>> could use to access MMIO regions.
>>>>>>
>>>>>> For instance, Xilinx baremetal OS will use:
>>>>>>
>>>>>>           volatile u32 *LocalAddr = (volatile u32 *)Addr;
>>>>>>           *LocalAddr = Value;
>>>>>>
>>>>>> This leave the compiler to decide which store instructions to use.
>>>>> As mentioned in the other email, this is wrong, if this points to MMIO:
>>>>> don't let the compiler do MMIO accesses. If a stage 2 fault isn't in
>>>>> an MMIO area, you should not see traps that you cannot handle already.
>>>>> So I don't think it's a good idea to use that as an example. And since
>>>>> this patch only seems to address this use case, I would doubt its
>>>>> usefulness in general.
>>>> Yes, I should have fixed the comment.
>>>>
>>>> Currently, I am testing with baremetal app which uses inline assembly code with post indexing instructions, to access the MMIO.
>>>>
>>>> ATM, I am testing with 32 bit MMIO only.
>>>>
>>>> On the usefulness, I am kind of torn as it is legitimate for post indexing instructions to be used in an inline-assembly code for accessing MMIO. However, that may not be something commonly seen.
>>>>
>>>> @Stefano/Bertrand/Julien/Volodymyr :- As you are the Arm mantainers, can you comment if we should have decoding logic or not ?
>>> Andre gave you the official statement from Arm and there is nothing more I can say.
>> I think this would be handy for other hypervisor and OS developper to
>> know what they can expect when running in a virtualized environment. So
>> would it be possible to update the Arm Arm reflecting this statement?
> I don't think it's within the scope of the ARM ARM to say that. It just
> says that "there is no syndrome information", and your mileage may vary in
> working around that.
>
> Personally I would say that if you expect your software to work nicely
> under a hypervisor, then just avoid those instructions. The Linux kernel
> certainly did so.
>
> You can try to do instruction emulation, but doing this right can get
> tricky quickly: think about I$/D$ coherency, MMU on or off, etc.

I am trying to get all the restrictions that need to be checked. I have 
referred 
https://developer.arm.com/documentation/dui0802/a/A64-General-Instructions/Register-restrictions-for-A64-instructions?lang=en 
and "Arm A64 Instruction Set Architecture - DDI 0596" - LDR (immediate).

So far I only see the following restrictions:-

Rn -ne Rt

Rt -ne SP

You had mentioned the following cases :-

1. XZR vs SP - I see that both these refer to register no 31. Xen gets 
the register number (for Rn/Rt) only, so I am not sure what is to be 
done here.

2. MMU on or off - As I see in try_handle_mmio(), one gets the physical 
address in gpa. So I am not sure what is to be done here.

3. I/D coherency - I don't understand how this affects instruction decoding.

Please help me to understand further.

- Ayan

>
>>> I will leave this decision to Stefano and Julien.
>> I have had a chat on IRC with Stefano about this. I think the main
>> sticking point is the Arm Arm doesn't clearly state those instructions
>> should not be used by a virtualized OS on MMIO regions.
> I don't understand why the ARM ARM would need to say that. Certainly you
> realise that immediately when trying to use them, and apparently it was not
> a problem in the last 8ish years of Xen/ARM's existence.
>
> So it's your decision on having the emulation, I personally would only do
> it when there is a *good* use case.
> And please apply the demanded scrutiny on the review - including all the
> corner cases like Rn=Rt, XZR vs. SP (as Jan said) and possibly MMU status.
>
> Cheers,
> Andre
>
>> To me, this topic looks similar to the set/way instruction dilemma. They
>> are a pain to virtualize (and the Arm Arm clearly hint it) but we had to
>> do it because some OSes relied on them.
>>
>> I think the main difference is the Arm Arm doesn't hint they should not
>> be used (it only says a valid syndrome is not provided) and the
>> implementation should hopefully be smaller and self-contained.
>>
>> So I would be inclined to allow Xen to decode post-indexing instructions
>> (pending the review).
>>
>> Cheers,
>>


From xen-devel-bounces@lists.xenproject.org Wed Jan 05 17:15:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Jan 2022 17:15:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253693.434942 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n59sA-0004YY-4g; Wed, 05 Jan 2022 17:14:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253693.434942; Wed, 05 Jan 2022 17:14: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 1n59sA-0004YR-1J; Wed, 05 Jan 2022 17:14:50 +0000
Received: by outflank-mailman (input) for mailman id 253693;
 Wed, 05 Jan 2022 17:14: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 1n59s9-0004YH-Cs; Wed, 05 Jan 2022 17:14: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 1n59s9-0004sq-Ah; Wed, 05 Jan 2022 17:14: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 1n59s9-0004Sg-37; Wed, 05 Jan 2022 17:14:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n59s9-0000Lh-2g; Wed, 05 Jan 2022 17:14: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=sjnPk7551Gtkb1tknYWy3Muj0Q/xl7bq5nKZSYT6Nb8=; b=PPZh78onrspLUy1FmJrfkoZnTe
	K8rYKZqcMfqvvHMB/CqN/KxdDYk0g+Lnd9gjnkGj4175QFlEdNeOVgVdOJyPOcFq0nUSnxUbSYqeS
	bXIPdF8+eBRgYHZSDxV/PXiPeqOEhtDgrKM51fEVKLVnA9dSW5Pg0jl8R934oBzwytmg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167610-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 167610: 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=31f3bc97f4508687215e459a5e35676eecf1772b
X-Osstest-Versions-That:
    xen=af0c5430a82c77432729d61c9b409dd32c477b20
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 05 Jan 2022 17:14:49 +0000

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

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                  31f3bc97f4508687215e459a5e35676eecf1772b
baseline version:
 xen                  af0c5430a82c77432729d61c9b409dd32c477b20

Last test of basis   167602  2022-01-04 10:02:48 Z    1 days
Testing same since   167610  2022-01-05 13:01:38 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@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
   af0c5430a8..31f3bc97f4  31f3bc97f4508687215e459a5e35676eecf1772b -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Jan 05 19:54:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Jan 2022 19:54:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253730.434981 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5CMG-0003qK-GK; Wed, 05 Jan 2022 19:54:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253730.434981; Wed, 05 Jan 2022 19:54:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5CMG-0003pR-8a; Wed, 05 Jan 2022 19:54:04 +0000
Received: by outflank-mailman (input) for mailman id 253730;
 Wed, 05 Jan 2022 19:54:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aYRH=RV=nerdbynature.de=lists@srs-se1.protection.inumbo.net>)
 id 1n5CME-0003jo-Ai
 for xen-devel@lists.xenproject.org; Wed, 05 Jan 2022 19:54:02 +0000
Received: from trent.utfs.org (trent.utfs.org [94.185.90.103])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 37649cdb-6e61-11ec-9ce5-af14b9085ebd;
 Wed, 05 Jan 2022 20:53:58 +0100 (CET)
Received: from localhost (localhost [IPv6:::1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by trent.utfs.org (Postfix) with ESMTPS id 7A3E35F842;
 Wed,  5 Jan 2022 20:53:55 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 37649cdb-6e61-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed;
 d=nerdbynature.de; i=@nerdbynature.de; q=dns/txt; s=key1;
 t=1641412435; h=date : from : to : cc : subject : in-reply-to :
 message-id : references : mime-version : content-type : from;
 bh=NrfXCL70RMGr1WI4xzy3UpaaOm+6gYgZxADFi/RQYts=;
 b=CiCGJXyp2T8Nf3wzOtfdQOVPxX9oMh7ysw/YpVTms6zsH8YZi2okaxy9lu6RmZfK1abm6
 VGVuZG3ePzjAPxLBQ==
Authentication-Results: mail.nerdbynature.de; dmarc=fail (p=none dis=none) header.from=nerdbynature.de
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nerdbynature.de;
 i=@nerdbynature.de; q=dns/txt; s=key0; t=1641412435; h=date : from :
 to : cc : subject : in-reply-to : message-id : references :
 mime-version : content-type : from;
 bh=NrfXCL70RMGr1WI4xzy3UpaaOm+6gYgZxADFi/RQYts=;
 b=F9as2zUStnIRoooO8+VAewEiARrERAkXZurpuNdh5oiPBJhVCFXfY+8Br/00R/u3yP03a
 RIQisRzUuWks/APtX/+ztVOvGFJTV5/o0PsS8P44QoFr1cXNRtz4SmsbHRexzunTQN8cI29
 OTrfFpNTcWjpP+gjRnthBCKt9NzwkAiCO2moXep5Y0X043jT703dW92i80j0emv1xpxEVeh
 /M842Yyk81SEriEb3uO/z6sPTcqEMf/yP7c+sADLT56EUE1Sm6iu8zLzK3mgos8Fv7lV11M
 T5M3JRMt/X97Nsj7p18Bmce7hoGOqsPNsjUFckPWXOu49zWxUUUk9Vg1ZssA==
Date: Wed, 5 Jan 2022 20:53:55 +0100 (CET)
From: Christian Kujau <lists@nerdbynature.de>
To: Anthony PERARD <anthony.perard@citrix.com>
cc: xen-users <xen-users@lists.xenproject.org>, xen-devel@lists.xenproject.org, 
    George Dunlap <dunlapg@umich.edu>
Subject: Re: qemu-xen is unavailable
In-Reply-To: <YdXHDCUqpqV+E2hO@perard>
Message-ID: <c7950789-69cd-868c-3a34-f7fae209565a@nerdbynature.de>
References: <8b68322f-1da7-962d-8f64-dea1e11525@trent.utfs.org> <f0877063-56ff-1c72-ae51-fa6ffea453ab@trent.utfs.org> <CAFLBxZZsCuqNrc=1dBVL_6V3rBv_iaN5btmbkcDxK4Bq1faRhg@mail.gmail.com> <YdXHDCUqpqV+E2hO@perard>
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 5 Jan 2022, Anthony PERARD wrote:
> Looking at the original email, the domain config file has type="pvh", so
> I don't think qemu is actually needed. And the domain is starting fine,
> so this message isn't really needed and would be a bug I guess.

Thanks for responding. Indeed, the "qemu" package is not installed on this 
machine, and looking closer, the Alpine folks did something to their 
Xen/Qemu packagesp[0][1]. I can't check right now but I'll test if the 
warning goes away with the "qemu" package installed.

Thanks again,
Christian.

[0] https://git.alpinelinux.org/aports/commit/?id=9f064ced3
[1] https://git.alpinelinux.org/aports/commit/?id=55d655af7

> I think it comes from libxl trying to figure out which QEMU to use even
> if it isn't going to be needed. And since there's no qemu to be found,
> the message is printed, even when qemu isn't needed.
> 
> I guess you have this message because you didn't install a qemu package
> (or qemu-xen), but you don't need the package as you are only starting a
> PVH guest.
> 
> The bug here is that libxl shouldn't print this message for PVH guest
> because it's confusing.
-- 
BOFH excuse #244:

Your cat tried to eat the mouse.


From xen-devel-bounces@lists.xenproject.org Wed Jan 05 20:07:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Jan 2022 20:07:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253755.435001 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5CZ7-0006Pt-Jw; Wed, 05 Jan 2022 20:07:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253755.435001; Wed, 05 Jan 2022 20: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 1n5CZ7-0006Pm-GA; Wed, 05 Jan 2022 20:07:21 +0000
Received: by outflank-mailman (input) for mailman id 253755;
 Wed, 05 Jan 2022 20:07: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 1n5CZ5-0006Pb-Rp; Wed, 05 Jan 2022 20:07: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 1n5CZ5-0007wK-ES; Wed, 05 Jan 2022 20:07: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 1n5CZ5-0004J9-4v; Wed, 05 Jan 2022 20:07:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n5CZ5-0007UR-4M; Wed, 05 Jan 2022 20:07:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ha62gkG4Fb2N69xGl8DleDr/vHeXE/EfLeFbfC+/JQQ=; b=jzSTBGwx4zlFhFnluG0DhYgjFv
	N6FKvroBd+GKkfuXci28BNk0WG8DVt91qCqMXV77p/Evy2MWmRalqzKHYJOzX/2nl5NdDEa8KcHRp
	2695t0tvRHvt3v7sE878aJU1BXLM5Rg4GDzFuOe8ATu9bXul0TWQaePOMT4d8iESRMUQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167609-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 167609: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-5.4:test-arm64-arm64-libvirt-raw:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:guest-start.2: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-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-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-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm: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-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt: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-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-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-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    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=047dedaa38ce703d3c6a6b0fae180c85a5220cdb
X-Osstest-Versions-That:
    linux=4ca2eaf1d477ce4316989b22e765fb915652b86e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 05 Jan 2022 20:07:19 +0000

flight 167609 linux-5.4 real [real]
flight 167613 linux-5.4 real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/167609/
http://logs.test-lab.xenproject.org/osstest/logs/167613/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-libvirt-raw 17 guest-start/debian.repeat fail pass in 167613-retest

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw 18 guest-start.2       fail in 167613 like 167562
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167562
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167562
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167562
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167562
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167562
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167562
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167562
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167562
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167562
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167562
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167562
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167562
 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-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-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-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-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     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-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-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                047dedaa38ce703d3c6a6b0fae180c85a5220cdb
baseline version:
 linux                4ca2eaf1d477ce4316989b22e765fb915652b86e

Last test of basis   167562  2021-12-29 23:41:00 Z    6 days
Testing same since   167609  2022-01-05 11:41:52 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adrian Hunter <adrian.hunter@intel.com>
  Aleksander Jan Bajkowski <olek2@wp.pl>
  Alexey Makhalov <amakhalov@vmware.com>
  Arnaldo Carvalho de Melo <acme@redhat.com>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Chunfeng Yun <chunfeng.yun@mediatek.com>
  Coco Li <lixiaoyan@google.com>
  Dan Carpenter <dan.carpenter@oracle.com>
  David S. Miller <davem@davemloft.net>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Dmitry V. Levin <ldv@altlinux.org>
  Dmitry Vyukov <dvyukov@google.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Gal Pressman <gal@nvidia.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hans de Goede <hdegoede@redhat.com>
  Heiko Carstens <hca@linux.ibm.com>
  Jackie Liu <liuyun01@kylinos.cn>
  Jakub Kicinski <kuba@kernel.org>
  Jens Wiklander <jens.wiklander@linaro.org>
  Jianguo Wu <wujianguo@chinatelecom.cn>
  Jiasheng Jiang <jiasheng@iscas.ac.cn>
  Jiri Kosina <jkosina@suse.cz>
  Jon Hunter <jonathanh@nvidia.com>
  Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
  Leo L. Schwab <ewhac@ewhac.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Martin K. Petersen <martin.petersen@oracle.com>
  Mathias Nyman <mathias.nyman@linux.intel.com>
  Matthias-Christian Ott <ott@mirix.org>
  Miaoqian Lin <linmq006@gmail.com>
  Mike Rapoport <rppt@linux.ibm.com>
  Muchun Song <songmuchun@bytedance.com>
  Namhyung Kim <namhyung@kernel.org>
  Paul Moore <paul@paul-moore.com>
  Pavel Skripkin <paskripkin@gmail.com>
  Saeed Mahameed <saeedm@nvidia.com>
  Samuel Čavoj <samuel@cavoj.net>
  Sasha Levin <sashal@kernel.org>
  Shannon Nelson <snelson@pensando.io>
  Shuah Khan <skhan@linuxfoundation.org>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Takashi Iwai <tiwai@suse.de>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Todd Kjos <tkjos@google.com>
  Tom Rix <trix@redhat.com>
  Vincent Pelletier <plr.vincent@gmail.com>
  Wang Qing <wangqing@vivo.com>
  Wei Yongjun <weiyongjun1@huawei.com>
  Wolfram Sang <wsa@kernel.org>
  wujianguo <wujianguo@chinatelecom.cn>
  Xin Long <lucien.xin@gmail.com>

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


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

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

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

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


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   4ca2eaf1d477..047dedaa38ce  047dedaa38ce703d3c6a6b0fae180c85a5220cdb -> tested/linux-5.4


From xen-devel-bounces@lists.xenproject.org Wed Jan 05 21:38:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Jan 2022 21:38:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253765.435011 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5Dyz-0006gE-Cp; Wed, 05 Jan 2022 21:38:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253765.435011; Wed, 05 Jan 2022 21: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 1n5Dyz-0006g7-9f; Wed, 05 Jan 2022 21:38:09 +0000
Received: by outflank-mailman (input) for mailman id 253765;
 Wed, 05 Jan 2022 21:38: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 1n5Dyx-0006ft-95; Wed, 05 Jan 2022 21:38: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 1n5Dyx-00015q-5x; Wed, 05 Jan 2022 21:38: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 1n5Dyw-0000iE-Qr; Wed, 05 Jan 2022 21:38:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n5Dyw-000702-QP; Wed, 05 Jan 2022 21:38: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=PRPJ3l5Joxr65CbSY4K19m65oRA1P87u0BNxmqqmFzQ=; b=elouwYdPayilfPrQqck7+Wk0VA
	FjQarxiZFuDcqg9fCVesQMUfkEXGWmMnFNQTRt9Fr8zuDtq6TbGE58IEeaygf7+9AoEOz0T7q6gXZ
	FXrpoexMpYaPXuZjQRreK4KlIHP+046yOAkuoI2BecApd5IM3O/txdW/BWItU+u8eeAc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167611-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167611: 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-armhf-armhf-libvirt-qcow2: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-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2: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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-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-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-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=fb084237a3b78b20fd9d888dffd673b6656ea3be
X-Osstest-Versions-That:
    qemuu=58140d3964c7c545f0880d978f279ed7b4cb41b8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 05 Jan 2022 21:38:06 +0000

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

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

version targeted for testing:
 qemuu                fb084237a3b78b20fd9d888dffd673b6656ea3be
baseline version:
 qemuu                58140d3964c7c545f0880d978f279ed7b4cb41b8

Last test of basis   167606  2022-01-05 03:10:16 Z    0 days
Testing same since   167611  2022-01-05 14:09:38 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Richard Henderson <richard.henderson@linaro.org>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   58140d3964..fb084237a3  fb084237a3b78b20fd9d888dffd673b6656ea3be -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Wed Jan 05 23:01:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Jan 2022 23:01:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253775.435023 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5FH3-00072a-PX; Wed, 05 Jan 2022 23:00:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253775.435023; Wed, 05 Jan 2022 23: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 1n5FH3-00072T-MW; Wed, 05 Jan 2022 23:00:53 +0000
Received: by outflank-mailman (input) for mailman id 253775;
 Wed, 05 Jan 2022 23:00:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EwN/=RV=strugglers.net=andy@srs-se1.protection.inumbo.net>)
 id 1n5FH2-00072K-6t
 for xen-devel@lists.xenproject.org; Wed, 05 Jan 2022 23:00:52 +0000
Received: from mail.bitfolk.com (mail.bitfolk.com [2001:ba8:1f1:f019::25])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 51b658b1-6e7b-11ec-81c0-a30af7de8005;
 Thu, 06 Jan 2022 00:00:49 +0100 (CET)
Received: from andy by mail.bitfolk.com with local (Exim 4.89)
 (envelope-from <andy@strugglers.net>) id 1n5FGw-0004AB-Ov
 for xen-devel@lists.xenproject.org; Wed, 05 Jan 2022 23:00:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 51b658b1-6e7b-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=bitfolk.com
	; s=alpha; h=In-Reply-To:Content-Type:MIME-Version:References:Message-ID:
	Subject:To:From:Date:Sender:Reply-To:Cc:Content-Transfer-Encoding:Content-ID:
	Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
	:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe:
	List-Post:List-Owner:List-Archive;
	bh=UI0+crhMl9UEvPrUEUCWxxX/naCj/g/TKMb43aQZfEE=; b=CqKwgCzlQJHI4QkcGgQqCwiIUH
	YQiAVlDwjqL6BiD0n/8vqhaILM/0zLc8/fQE5aGJcwmQfqYymY9qKkoXoRs3wUUzMuEmOrlsjVPD7
	3h3KfxAN6+KPqs9pXUiCH10lFieFGFwOaI15r/ZKgQ4VNG7pS06EcNUNKez/6RTdkVjJxv/GpHwoL
	wE5lBTSgjjzvq+3akn/5+vS1Uj7Ps+6YV2ww3mnundxlh/OeraYVc4rmZBBy9TjK8AxFpiuNjHHrU
	buAhcWGLFedVErl5oqffJYY+D05EdEDFn2bqZmoBid7ubCG4LGDEpMfTR124cmVYtJRdhylX4zqwE
	g637/nhg==;
Date: Wed, 5 Jan 2022 23:00:46 +0000
From: Andy Smith <andy@strugglers.net>
To: xen-devel@lists.xenproject.org
Subject: Re: qemu-xen is unavailable
Message-ID: <20220105230046.xcmhjrsky6pumpzk@bitfolk.com>
References: <8b68322f-1da7-962d-8f64-dea1e11525@trent.utfs.org>
 <f0877063-56ff-1c72-ae51-fa6ffea453ab@trent.utfs.org>
 <CAFLBxZZsCuqNrc=1dBVL_6V3rBv_iaN5btmbkcDxK4Bq1faRhg@mail.gmail.com>
 <YdXHDCUqpqV+E2hO@perard>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <YdXHDCUqpqV+E2hO@perard>
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

Hello,

On Wed, Jan 05, 2022 at 04:27:56PM +0000, Anthony PERARD wrote:
> The bug here is that libxl shouldn't print this message for PVH guest
> because it's confusing.

It also does it for PV guests, again if no qemu is installed (or
needed). I squash it by adding:

device_model_version="qemu-xen"
device_model_override="/bin/true"

do the domU config files.

Cheers,
Andy


From xen-users-bounces@lists.xenproject.org Wed Jan 05 23:08:44 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Jan 2022 23:08:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253780.435034 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1n5FNv-0007ih-IX; Wed, 05 Jan 2022 23:07:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253780.435034; Wed, 05 Jan 2022 23: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-users-bounces@lists.xenproject.org>)
	id 1n5FNv-0007iZ-FK; Wed, 05 Jan 2022 23:07:59 +0000
Received: by outflank-mailman (input) for mailman id 253780;
 Wed, 05 Jan 2022 23:07:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EwN/=RV=strugglers.net=andy@srs-se1.protection.inumbo.net>)
 id 1n5FNu-0007iT-F1
 for xen-users@lists.xenproject.org; Wed, 05 Jan 2022 23:07:58 +0000
Received: from mail.bitfolk.com (mail.bitfolk.com [2001:ba8:1f1:f019::25])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5077bebd-6e7c-11ec-9ce5-af14b9085ebd;
 Thu, 06 Jan 2022 00:07:57 +0100 (CET)
Received: from andy by mail.bitfolk.com with local (Exim 4.89)
 (envelope-from <andy@strugglers.net>) id 1n5FNq-0004Sf-8F
 for xen-users@lists.xenproject.org; Wed, 05 Jan 2022 23:07:54 +0000
Resent-From: Andy Smith <andy@strugglers.net>
Resent-Date: Wed, 5 Jan 2022 23:07:54 +0000
Resent-Message-ID: <20220105230754.xelrdwkmdsugijqf@bitfolk.com>
Resent-To: xen-users@lists.xenproject.org
Received: from lists.xenproject.org ([192.237.175.120])
 by mail.bitfolk.com with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.89) (envelope-from <xen-devel-bounces@lists.xenproject.org>)
 id 1n5FID-0004D7-5P
 for andy@strugglers.net; Wed, 05 Jan 2022 23:02:05 +0000
Received: from list by lists.xenproject.org with
 outflank-mailman.253775.435023 (Exim 4.92)
 (envelope-from <xen-devel-bounces@lists.xenproject.org>)
 id 1n5FH3-00072a-PX; Wed, 05 Jan 2022 23:00:53 +0000
Received: by outflank-mailman (output) from mailman id 253775.435023;
 Wed, 05 Jan 2022 23: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 1n5FH3-00072T-MW; Wed, 05 Jan 2022 23:00:53 +0000
Received: by outflank-mailman (input) for mailman id 253775;
 Wed, 05 Jan 2022 23:00:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EwN/=RV=strugglers.net=andy@srs-se1.protection.inumbo.net>)
 id 1n5FH2-00072K-6t
 for xen-devel@lists.xenproject.org; Wed, 05 Jan 2022 23:00:52 +0000
Received: from mail.bitfolk.com (mail.bitfolk.com [2001:ba8:1f1:f019::25])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 51b658b1-6e7b-11ec-81c0-a30af7de8005;
 Thu, 06 Jan 2022 00:00:49 +0100 (CET)
Received: from andy by mail.bitfolk.com with local (Exim 4.89)
 (envelope-from <andy@strugglers.net>) id 1n5FGw-0004AB-Ov
 for xen-devel@lists.xenproject.org; Wed, 05 Jan 2022 23:00:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
X-Inumbo-ID: 5077bebd-6e7c-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=bitfolk.com
	; s=alpha; h=Subject:In-Reply-To:Content-Type:MIME-Version:References:
	Message-ID:To:From:Date:Sender:List-Subscribe:List-Help:List-Post:
	List-Unsubscribe:List-Id:Resent-To:Resent-Message-ID:Resent-Date:Resent-From:
	Reply-To:Cc:Content-Transfer-Encoding:Content-ID:Content-Description:
	Resent-Sender:Resent-Cc:List-Owner:List-Archive;
	bh=UI0+crhMl9UEvPrUEUCWxxX/naCj/g/TKMb43aQZfEE=; b=kG4zYRF9kOE4YwNyUkfxPs4NA4
	OVJKhFkwCapuDBLonuZPMMbNrI+R1fiK9nxzianzzjHUr1i7FvCBIAUQTESoYpyujkxwSL2G5kwQO
	KwmhehI1Tc9dqxLdtNRJIGycpTEByvemFV1yfm5YmN018ZYKhWJfOPlTgxKY3WHbK749tIaG4K0dt
	pckdEXbQH5m5ibXo02qYrNWGXlTmRE5ljqOVGqzg+3B8Y03kWWFoF+EZn+eZ5f9QszjgA3oLUM+TE
	P0F09F/GiXsZhB/MDCck3VnCNLAlHxPi+yLbO4LKCwb/8+yiMzEHrpy7/CycN1qGJPPCuvONqtuUA
	FcSm6AGg==;
X-Outflank-Mailman: Message body and most headers restored to incoming version
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 51b658b1-6e7b-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=bitfolk.com
	; s=alpha; h=In-Reply-To:Content-Type:MIME-Version:References:Message-ID:
	Subject:To:From:Date:Sender:Reply-To:Cc:Content-Transfer-Encoding:Content-ID:
	Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
	:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe:
	List-Post:List-Owner:List-Archive;
	bh=UI0+crhMl9UEvPrUEUCWxxX/naCj/g/TKMb43aQZfEE=; b=CqKwgCzlQJHI4QkcGgQqCwiIUH
	YQiAVlDwjqL6BiD0n/8vqhaILM/0zLc8/fQE5aGJcwmQfqYymY9qKkoXoRs3wUUzMuEmOrlsjVPD7
	3h3KfxAN6+KPqs9pXUiCH10lFieFGFwOaI15r/ZKgQ4VNG7pS06EcNUNKez/6RTdkVjJxv/GpHwoL
	wE5lBTSgjjzvq+3akn/5+vS1Uj7Ps+6YV2ww3mnundxlh/OeraYVc4rmZBBy9TjK8AxFpiuNjHHrU
	buAhcWGLFedVErl5oqffJYY+D05EdEDFn2bqZmoBid7ubCG4LGDEpMfTR124cmVYtJRdhylX4zqwE
	g637/nhg==;
Date: Wed, 5 Jan 2022 23:00:46 +0000
From: Andy Smith <andy@strugglers.net>
To: xen-devel@lists.xenproject.org
Message-ID: <20220105230046.xcmhjrsky6pumpzk@bitfolk.com>
References: <8b68322f-1da7-962d-8f64-dea1e11525@trent.utfs.org>
 <f0877063-56ff-1c72-ae51-fa6ffea453ab@trent.utfs.org>
 <CAFLBxZZsCuqNrc=1dBVL_6V3rBv_iaN5btmbkcDxK4Bq1faRhg@mail.gmail.com>
 <YdXHDCUqpqV+E2hO@perard>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <YdXHDCUqpqV+E2hO@perard>
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-Virus-Scanner: Scanned by ClamAV on mail.bitfolk.com at Wed, 05 Jan 2022 23:02:05 +0000
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on
	spamd1.lon.bitfolk.com
X-Spam-Level: *
X-Spam-ASN: AS19994 192.237.128.0/18
X-Spam-Status: No, score=1.7 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED,
	LOCAL_SPAMMY_ASN_RACKSPACE,MAILING_LIST_MULTI,SPF_HELO_PASS,SPF_PASS
	shortcircuit=no autolearn=disabled version=3.4.2
X-Spam-Report: 
	*  2.5 LOCAL_SPAMMY_ASN_RACKSPACE Too much spam from Rackspace
	*      (AS15395, AS19994, AS33070)
	* -0.0 SPF_HELO_PASS SPF: HELO matches SPF record
	* -0.0 SPF_PASS SPF: sender matches SPF record
	*  0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily
	*       valid
	*  0.1 DKIM_INVALID DKIM or DK signature exists, but is not valid
	* -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list
	*       manager
Subject: Re: qemu-xen is unavailable
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

Hello,

On Wed, Jan 05, 2022 at 04:27:56PM +0000, Anthony PERARD wrote:
> The bug here is that libxl shouldn't print this message for PVH guest
> because it's confusing.

It also does it for PV guests, again if no qemu is installed (or
needed). I squash it by adding:

device_model_version="qemu-xen"
device_model_override="/bin/true"

do the domU config files.

Cheers,
Andy




From xen-devel-bounces@lists.xenproject.org Wed Jan 05 23:11:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 05 Jan 2022 23:11:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253797.435051 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5FR7-000133-4e; Wed, 05 Jan 2022 23:11:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253797.435051; Wed, 05 Jan 2022 23: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 1n5FR7-00012w-1b; Wed, 05 Jan 2022 23:11:17 +0000
Received: by outflank-mailman (input) for mailman id 253797;
 Wed, 05 Jan 2022 23:11:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dEfz=RV=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1n5FR5-00012k-3f
 for xen-devel@lists.xenproject.org; Wed, 05 Jan 2022 23:11:15 +0000
Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com
 [2a00:1450:4864:20::430])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c692833d-6e7c-11ec-81c0-a30af7de8005;
 Thu, 06 Jan 2022 00:11:13 +0100 (CET)
Received: by mail-wr1-x430.google.com with SMTP id o3so1200532wrh.10
 for <xen-devel@lists.xenproject.org>; Wed, 05 Jan 2022 15:11:13 -0800 (PST)
Received: from otyshchenko.router ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id g6sm332859wri.67.2022.01.05.15.11.11
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Wed, 05 Jan 2022 15:11:11 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c692833d-6e7c-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=from:to:cc:subject:date:message-id;
        bh=Ae9ftYILNSlTI/fd71zBrPhkEGdReyryH0rCBU7WhKU=;
        b=JxA0ZYbfORxLGLz7Ws5MBJ9q9fZ/hCn0H/e9STFOUg6Bocb6CkcUeEAQqYHmSqbLm0
         +HylV3f9wmLsSkKLv8Hds4/vd2SfMMtZJJtI39hLbu8hc/0hpOgsS50Ga6JPKOam+ifr
         LJjeKrXOArUgLXRvZJsW/IC8TlBwFYjffR+3QYgU+ayAxAbV64FGZy5X1FCjBuXjdh55
         +lsJfoq9QASIOwByIp7cX/xliWlt6U7P2KfUJA4EJsBYlT8BljOPXgK4bblQnWvBUzKP
         eWBb3I4z/aayCd0pCE1qgklmtHIW1OQAcbTjFBYz0ToS6CSNzns26ZriLLN4hD5pDNhY
         J54Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id;
        bh=Ae9ftYILNSlTI/fd71zBrPhkEGdReyryH0rCBU7WhKU=;
        b=IWPDOzt3AYWGKla8F66Z2WVsdIuiBZr4/8/CpyCTloup8wwVjRkaXIdLhHXhOKvH8D
         FQyNcC0biwUgdV85stL9EpdWCMJBfyKBlC8TQ8h3WVirHO0j8LNxTtfmk/WeV5TyxrQ9
         +Dl2MZoru4cp8S2Bqgeb2a/CafBr2O6uLpx/tB1dB3owAXOnWbJVdVdijR6zKWh0oaFl
         9Ch6yUKSx8D4C26poVsfQthvV33TZ5fjtXV5+7ihpQa1/S5AKMsjCPKz2FDFS65Mcojn
         7S+cz12m+nj8gbmI86YB+BM1YZuvWofBZttIMG85LKgB+Pon8M0z1QuvlYYikeI2f3js
         McXA==
X-Gm-Message-State: AOAM530pn/Ltl/Euo2JqnYP1+tKlvWUU6EJVcscBP8hgA9C8E2cXC5uK
	Q2z3zdVVnY4svFNvgO8VaRCs/J45GT0=
X-Google-Smtp-Source: ABdhPJyU9sEzEhpF92CDLEo3BL1NcTzAOlqwnDxcUrqZFtVq25F5GShOwDuwEICZRr+IkHE+CN9Nbw==
X-Received: by 2002:a05:6000:180c:: with SMTP id m12mr2082592wrh.494.1641424272289;
        Wed, 05 Jan 2022 15:11:12 -0800 (PST)
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>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH V5] xen/gnttab: Store frame GFN in struct page_info on Arm
Date: Thu,  6 Jan 2022 01:11:08 +0200
Message-Id: <1641424268-12968-1-git-send-email-olekstysh@gmail.com>
X-Mailer: git-send-email 2.7.4

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

Rework Arm implementation to store grant table frame GFN
in struct page_info directly instead of keeping it in
standalone status/shared arrays. This patch is based on
the assumption that grant table page is the xenheap page.

To cover 64-bit/40-bit IPA on Arm64/Arm32 we need the space
to hold 52-bit/28-bit + extra bit value respectively. In order
to not grow the size of struct page_info borrow the required
amount of bits from type_info's count portion which current
context won't suffer (currently only 1 bit is used on Arm).
Please note, to minimize code changes and avoid introducing
an extra #ifdef-s to the header, we keep the same amount of
bits on both subarches, although the count portion on Arm64
could be wider, so we waste some bits here.

Introduce corresponding PGT_* constructs and access macros.
Update existing gnttab macros to deal with GFN value according
to new location. Also update the use of count portion on Arm
in share_xen_page_with_guest().

While at it, extend this simplified M2P-like approach for any
xenheap pages which are proccessed in xenmem_add_to_physmap_one()
except foreign ones. Update the code to set GFN portion after
establishing new mapping for the xenheap page in said function
and to clean GFN portion when putting a reference on that page
in p2m_put_l3_page().

And for everything to work correctly introduce arch-specific
initialization pattern PGT_TYPE_INFO_INIT_PATTERN to be ORed
with type_info field in alloc_xenheap_pages(). The pattern's
purpose on Arm is to clear the GFN portion before use, on x86
it is just a stub.

This patch is intended to fix the potential issue on Arm
which might happen when remapping grant-table frame.
A guest (or the toolstack) will unmap the grant-table frame
using XENMEM_remove_physmap. This is a generic hypercall,
so on x86, we are relying on the fact the M2P entry will
be cleared on removal. For architecture without the M2P,
the GFN would still be present in the grant frame/status
array. So on the next call to map the page, we will end up to
request the P2M to remove whatever mapping was the given GFN.
This could well be another mapping.

Besides that, this patch simplifies arch code on Arm by
removing arrays and corresponding management code and
as the result gnttab_init_arch/gnttab_destroy_arch helpers
and struct grant_table_arch become useless and can be
dropped globally.

Suggested-by: Julien Grall <jgrall@amazon.com>
Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
---
Dear @RISC-V maintainers, please note in current patch I drop arch
specific helpers gnttab_init(destroy)_arch helpers as unneeded for
both Arm and x86. Please let me know if you are going to reuse them
in the nearest future and I will retain them.

You can find the related discussions at:
https://lore.kernel.org/xen-devel/93d0df14-2c8a-c2e3-8c51-54412190171c@xen.org/
https://lore.kernel.org/xen-devel/1628890077-12545-1-git-send-email-olekstysh@gmail.com/
https://lore.kernel.org/xen-devel/1631652245-30746-1-git-send-email-olekstysh@gmail.com/
https://lore.kernel.org/xen-devel/1632425551-18910-1-git-send-email-olekstysh@gmail.com/
https://lore.kernel.org/xen-devel/1638563610-4419-1-git-send-email-olekstysh@gmail.com/

Changes RFC1 -> RFC2:
 - update patch description
 - add/update comments in code
 - clarify check in p2m_put_l3_page()
 - introduce arch_alloc_xenheap_page() and arch_free_xenheap_page()
   and drop page_arch_init()
 - add ASSERT to gnttab_shared_page() and gnttab_status_page()
 - rework changes to Arm's struct page_info: do not split type_info,
   allocate GFN portion by reducing count portion, create corresponding
   PGT_* construct, etc
 - update page_get_frame_gfn() and page_set_frame_gfn()
 - update the use of count portion on Arm
 - drop the leading underscore in the macro parameter names

Changes RFC2 -> RFC3:
 - update patch description
 - drop PGT_count_base and MASK_INSR() in share_xen_page_with_guest()
 - update alloc_xenheap_page() and free_xenheap_page() for SEPARATE_XENHEAP
   case (Arm32)
 - provide an extra bit for GFN portion, to get PGT_INVALID_FRAME_GFN
   one bit more than the maximum number of physical address bits on Arm32

Changes RFC3 -> V4:
 - rebase on Jan's "gnttab: remove guest_physmap_remove_page() call
   from gnttab_map_frame()"
 - finally resolve locking question by recent Julien's suggestion,
   so drop the RFC tag
 - update comments in Arm's mm.h/p2m.c to not mention grant table
 - convert page_set(get)_frame_gfn to static inline func and
   rename them to page_set(get)_xenheap_gfn()
 - rename PGT_INVALID_FRAME_GFN to PGT_INVALID_XENHEAP_GFN
 - add ASSERT(is_xen_heap_page(...)) in page_set(get)_frame_gfn
 - remove BUG_ON() in arch_free_xenheap_page
 - remove local type_info in share_xen_page_with_guest()
 - remove an extra argument p2m in p2m_put_l3_page()
 - remove #ifdef CONFIG_GRANT_TABLE in p2m_put_l3_page()
 - also cover real-only pages by using p2m_is_ram instead of a check
   against p2m_ram_rw in p2m_put_l3_page() and use "else if" construct
 - call arch_free_xenheap_page() before clearing the PGC_xen_heap in
   free_xenheap_pages()
 - remove ASSERT() in gnttab_shared(status)_page and use simpler
   virt_to_page
 - remove local pg_ in gnttab_shared(status)_gfn
 - update patch description to reflect recent changes

Changes V4 -> V5:
 - rebase on latest staging
 - update patch description
 - drop arch_alloc(free)_xenheap_page macro and use arch-specific
   initialization pattern to clear GFN portion before use
 - add const to struct page_info *p in page_get_xenheap_gfn
 - fix a breakage on Arm32
---
 xen/arch/arm/include/asm/grant_table.h | 58 ++++++++++------------------------
 xen/arch/arm/include/asm/mm.h          | 38 ++++++++++++++++++++--
 xen/arch/arm/mm.c                      | 24 ++++++++++++--
 xen/arch/arm/p2m.c                     |  7 ++--
 xen/arch/x86/include/asm/grant_table.h |  5 ---
 xen/arch/x86/include/asm/mm.h          |  3 ++
 xen/common/grant_table.c               |  9 ------
 xen/common/page_alloc.c                |  7 ++++
 8 files changed, 88 insertions(+), 63 deletions(-)

diff --git a/xen/arch/arm/include/asm/grant_table.h b/xen/arch/arm/include/asm/grant_table.h
index d31a4d6..d6fda31 100644
--- a/xen/arch/arm/include/asm/grant_table.h
+++ b/xen/arch/arm/include/asm/grant_table.h
@@ -11,11 +11,6 @@
 #define INITIAL_NR_GRANT_FRAMES 1U
 #define GNTTAB_MAX_VERSION 1
 
-struct grant_table_arch {
-    gfn_t *shared_gfn;
-    gfn_t *status_gfn;
-};
-
 static inline void gnttab_clear_flags(struct domain *d,
                                       unsigned int mask, uint16_t *addr)
 {
@@ -46,41 +41,12 @@ int replace_grant_host_mapping(unsigned long gpaddr, mfn_t mfn,
 #define gnttab_dom0_frames()                                             \
     min_t(unsigned int, opt_max_grant_frames, PFN_DOWN(_etext - _stext))
 
-#define gnttab_init_arch(gt)                                             \
-({                                                                       \
-    unsigned int ngf_ = (gt)->max_grant_frames;                          \
-    unsigned int nsf_ = grant_to_status_frames(ngf_);                    \
-                                                                         \
-    (gt)->arch.shared_gfn = xmalloc_array(gfn_t, ngf_);                  \
-    (gt)->arch.status_gfn = xmalloc_array(gfn_t, nsf_);                  \
-    if ( (gt)->arch.shared_gfn && (gt)->arch.status_gfn )                \
-    {                                                                    \
-        while ( ngf_-- )                                                 \
-            (gt)->arch.shared_gfn[ngf_] = INVALID_GFN;                   \
-        while ( nsf_-- )                                                 \
-            (gt)->arch.status_gfn[nsf_] = INVALID_GFN;                   \
-    }                                                                    \
-    else                                                                 \
-        gnttab_destroy_arch(gt);                                         \
-    (gt)->arch.shared_gfn ? 0 : -ENOMEM;                                 \
-})
-
-#define gnttab_destroy_arch(gt)                                          \
-    do {                                                                 \
-        XFREE((gt)->arch.shared_gfn);                                    \
-        XFREE((gt)->arch.status_gfn);                                    \
-    } while ( 0 )
-
 #define gnttab_set_frame_gfn(gt, st, idx, gfn, mfn)                      \
     ({                                                                   \
-        int rc_ = 0;                                                     \
         gfn_t ogfn = gnttab_get_frame_gfn(gt, st, idx);                  \
-        if ( gfn_eq(ogfn, INVALID_GFN) || gfn_eq(ogfn, gfn) ||           \
-             (rc_ = guest_physmap_remove_page((gt)->domain, ogfn, mfn,   \
-                                              0)) == 0 )                 \
-            ((st) ? (gt)->arch.status_gfn                                \
-                  : (gt)->arch.shared_gfn)[idx] = (gfn);                 \
-        rc_;                                                             \
+        (!gfn_eq(ogfn, INVALID_GFN) && !gfn_eq(ogfn, gfn))               \
+         ? guest_physmap_remove_page((gt)->domain, ogfn, mfn, 0)         \
+         : 0;                                                            \
     })
 
 #define gnttab_get_frame_gfn(gt, st, idx) ({                             \
@@ -88,11 +54,21 @@ int replace_grant_host_mapping(unsigned long gpaddr, mfn_t mfn,
         : gnttab_shared_gfn(NULL, gt, idx);                              \
 })
 
-#define gnttab_shared_gfn(d, t, i)                                       \
-    (((i) >= nr_grant_frames(t)) ? INVALID_GFN : (t)->arch.shared_gfn[i])
+#define gnttab_shared_page(t, i) ({                                      \
+    virt_to_page((t)->shared_raw[i]);                                    \
+})
+
+#define gnttab_status_page(t, i) ({                                      \
+    virt_to_page((t)->status[i]);                                        \
+})
 
-#define gnttab_status_gfn(d, t, i)                                       \
-    (((i) >= nr_status_frames(t)) ? INVALID_GFN : (t)->arch.status_gfn[i])
+#define gnttab_shared_gfn(d, t, i) ({                                    \
+    page_get_xenheap_gfn(gnttab_shared_page(t, i));                      \
+})
+
+#define gnttab_status_gfn(d, t, i) ({                                    \
+    page_get_xenheap_gfn(gnttab_status_page(t, i));                      \
+})
 
 #define gnttab_need_iommu_mapping(d)                    \
     (is_domain_direct_mapped(d) && is_iommu_enabled(d))
diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index 424aaf2..b99044c 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -98,9 +98,22 @@ struct page_info
 #define PGT_writable_page PG_mask(1, 1)  /* has writable mappings?         */
 #define PGT_type_mask     PG_mask(1, 1)  /* Bits 31 or 63.                 */
 
- /* Count of uses of this frame as its current type. */
-#define PGT_count_width   PG_shift(2)
-#define PGT_count_mask    ((1UL<<PGT_count_width)-1)
+ /* 2-bit count of uses of this frame as its current type. */
+#define PGT_count_mask    PG_mask(3, 3)
+
+/*
+ * Stored in bits [28:0] or [60:0] GFN if page is xenheap page.
+ */
+#define PGT_gfn_width     PG_shift(3)
+#define PGT_gfn_mask      ((1UL<<PGT_gfn_width)-1)
+
+#define PGT_INVALID_XENHEAP_GFN   _gfn(PGT_gfn_mask)
+
+/*
+ * An arch-specific initialization pattern is needed for the type_info field
+ * as it's GFN portion can contain the valid GFN if page is xenheap page.
+ */
+#define PGT_TYPE_INFO_INIT_PATTERN   gfn_x(PGT_INVALID_XENHEAP_GFN)
 
  /* Cleared when the owning guest 'frees' this page. */
 #define _PGC_allocated    PG_shift(1)
@@ -358,6 +371,25 @@ void clear_and_clean_page(struct page_info *page);
 
 unsigned int arch_get_dma_bitsize(void);
 
+static inline gfn_t page_get_xenheap_gfn(const struct page_info *p)
+{
+    gfn_t gfn_ = _gfn(p->u.inuse.type_info & PGT_gfn_mask);
+
+    ASSERT(is_xen_heap_page(p));
+
+    return gfn_eq(gfn_, PGT_INVALID_XENHEAP_GFN) ? INVALID_GFN : gfn_;
+}
+
+static inline void page_set_xenheap_gfn(struct page_info *p, gfn_t gfn)
+{
+    gfn_t gfn_ = gfn_eq(gfn, INVALID_GFN) ? PGT_INVALID_XENHEAP_GFN : gfn;
+
+    ASSERT(is_xen_heap_page(p));
+
+    p->u.inuse.type_info &= ~PGT_gfn_mask;
+    p->u.inuse.type_info |= gfn_x(gfn_);
+}
+
 #endif /*  __ARCH_ARM_MM__ */
 /*
  * Local variables:
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index eea926d..4f4cab3 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -1382,8 +1382,10 @@ void share_xen_page_with_guest(struct page_info *page, struct domain *d,
     spin_lock(&d->page_alloc_lock);
 
     /* The incremented type count pins as writable or read-only. */
-    page->u.inuse.type_info =
-        (flags == SHARE_ro ? PGT_none : PGT_writable_page) | 1;
+    page->u.inuse.type_info &= ~(PGT_type_mask | PGT_count_mask);
+    page->u.inuse.type_info |= (flags == SHARE_ro ? PGT_none
+                                                  : PGT_writable_page) |
+                                MASK_INSR(1, PGT_count_mask);
 
     page_set_owner(page, d);
     smp_wmb(); /* install valid domain ptr before updating refcnt. */
@@ -1487,7 +1489,23 @@ int xenmem_add_to_physmap_one(
     }
 
     /* Map at new location. */
-    rc = guest_physmap_add_entry(d, gfn, mfn, 0, t);
+    if ( !p2m_is_ram(t) || !is_xen_heap_mfn(mfn) )
+        rc = guest_physmap_add_entry(d, gfn, mfn, 0, t);
+    else
+    {
+        struct p2m_domain *p2m = p2m_get_hostp2m(d);
+
+        p2m_write_lock(p2m);
+        if ( gfn_eq(page_get_xenheap_gfn(mfn_to_page(mfn)), INVALID_GFN) )
+        {
+            rc = p2m_set_entry(p2m, gfn, 1, mfn, t, p2m->default_access);
+            if ( !rc )
+                page_set_xenheap_gfn(mfn_to_page(mfn), gfn);
+        }
+        else
+            rc = -EBUSY;
+        p2m_write_unlock(p2m);
+    }
 
     /*
      * For XENMAPSPACE_gmfn_foreign if we failed to add the mapping, we need
diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index 8b20b43..fd8aff9 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -720,6 +720,8 @@ static int p2m_mem_access_radix_set(struct p2m_domain *p2m, gfn_t gfn,
  */
 static void p2m_put_l3_page(const lpae_t pte)
 {
+    mfn_t mfn = lpae_get_mfn(pte);
+
     ASSERT(p2m_is_valid(pte));
 
     /*
@@ -731,11 +733,12 @@ 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));
     }
+    /* Detect the xenheap page and mark the stored GFN as invalid. */
+    else if ( p2m_is_ram(pte.p2m.type) && is_xen_heap_mfn(mfn) )
+        page_set_xenheap_gfn(mfn_to_page(mfn), INVALID_GFN);
 }
 
 /* Free lpae sub-tree behind an entry */
diff --git a/xen/arch/x86/include/asm/grant_table.h b/xen/arch/x86/include/asm/grant_table.h
index a8a2143..5c23cec 100644
--- a/xen/arch/x86/include/asm/grant_table.h
+++ b/xen/arch/x86/include/asm/grant_table.h
@@ -14,9 +14,6 @@
 
 #define INITIAL_NR_GRANT_FRAMES 1U
 
-struct grant_table_arch {
-};
-
 static inline int create_grant_host_mapping(uint64_t addr, mfn_t frame,
                                             unsigned int flags,
                                             unsigned int cache_flags)
@@ -35,8 +32,6 @@ static inline int replace_grant_host_mapping(uint64_t addr, mfn_t frame,
     return replace_grant_pv_mapping(addr, frame, new_addr, flags);
 }
 
-#define gnttab_init_arch(gt) 0
-#define gnttab_destroy_arch(gt) do {} while ( 0 )
 #define gnttab_set_frame_gfn(gt, st, idx, gfn, mfn)                      \
     (gfn_eq(gfn, INVALID_GFN)                                            \
      ? guest_physmap_remove_page((gt)->domain,                           \
diff --git a/xen/arch/x86/include/asm/mm.h b/xen/arch/x86/include/asm/mm.h
index 5dbcee8..b6b0dce 100644
--- a/xen/arch/x86/include/asm/mm.h
+++ b/xen/arch/x86/include/asm/mm.h
@@ -57,6 +57,9 @@
 #define PGT_count_width   PG_shift(8)
 #define PGT_count_mask    ((1UL<<PGT_count_width)-1)
 
+/* No arch-specific initialization pattern is needed for the type_info field. */
+#define PGT_TYPE_INFO_INIT_PATTERN   0
+
 /* Are the 'type mask' bits identical? */
 #define PGT_type_equal(x, y) (!(((x) ^ (y)) & PGT_type_mask))
 
diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c
index 0262f2c..01d7a29 100644
--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -94,8 +94,6 @@ struct grant_table {
 
     /* Domain to which this struct grant_table belongs. */
     struct domain *domain;
-
-    struct grant_table_arch arch;
 };
 
 unsigned int __read_mostly opt_max_grant_frames = 64;
@@ -1997,14 +1995,9 @@ int grant_table_init(struct domain *d, int max_grant_frames,
 
     grant_write_lock(gt);
 
-    ret = gnttab_init_arch(gt);
-    if ( ret )
-        goto unlock;
-
     /* gnttab_grow_table() allocates a min number of frames, so 0 is okay. */
     ret = gnttab_grow_table(d, 0);
 
- unlock:
     grant_write_unlock(gt);
 
  out:
@@ -3911,8 +3904,6 @@ grant_table_destroy(
     if ( t == NULL )
         return;
 
-    gnttab_destroy_arch(t);
-
     for ( i = 0; i < nr_grant_frames(t); i++ )
         free_xenheap_page(t->shared_raw[i]);
     xfree(t->shared_raw);
diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 38eea87..ec7d803 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -2159,6 +2159,7 @@ void init_xenheap_pages(paddr_t ps, paddr_t pe)
 void *alloc_xenheap_pages(unsigned int order, unsigned int memflags)
 {
     struct page_info *pg;
+    unsigned int i;
 
     ASSERT(!in_irq());
 
@@ -2167,6 +2168,9 @@ void *alloc_xenheap_pages(unsigned int order, unsigned int memflags)
     if ( unlikely(pg == NULL) )
         return NULL;
 
+    for ( i = 0; i < (1u << order); i++ )
+        pg[i].u.inuse.type_info |= PGT_TYPE_INFO_INIT_PATTERN;
+
     return page_to_virt(pg);
 }
 
@@ -2214,7 +2218,10 @@ void *alloc_xenheap_pages(unsigned int order, unsigned int memflags)
         return NULL;
 
     for ( i = 0; i < (1u << order); i++ )
+    {
         pg[i].count_info |= PGC_xen_heap;
+        pg[i].u.inuse.type_info |= PGT_TYPE_INFO_INIT_PATTERN;
+    }
 
     return page_to_virt(pg);
 }
-- 
2.7.4



From xen-devel-bounces@lists.xenproject.org Thu Jan 06 00:41:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 00:41:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253807.435074 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5Gpq-00027z-Eb; Thu, 06 Jan 2022 00:40:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253807.435074; Thu, 06 Jan 2022 00: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 1n5Gpq-00027s-B4; Thu, 06 Jan 2022 00:40:54 +0000
Received: by outflank-mailman (input) for mailman id 253807;
 Thu, 06 Jan 2022 00:40:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=AmKD=RW=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n5Gpp-0001p9-4g
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 00:40:53 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4ccd6018-6e89-11ec-81c0-a30af7de8005;
 Thu, 06 Jan 2022 01:40:52 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id AC03EB81E5A;
 Thu,  6 Jan 2022 00:40:51 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 17263C36AE9;
 Thu,  6 Jan 2022 00:40: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: 4ccd6018-6e89-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1641429650;
	bh=TJlmdCjdsyign0otVauoV0SOfyP1WtV8Z3hc7fqeDak=;
	h=Date:From:To:cc:Subject:From;
	b=duLBYh1cmMn+GKAtwzf/rqFAxcklkJCDYqtzcudHScbBnqzhkLjhhyUKB535FNmHS
	 uBOU8fVciFLu8GcuKAYtFA8BLRKzA2ofZ4+U751Z/mauZZb0ErUJgNxCwiX0OkJ/bi
	 pkQeEncKPUsa5BnWb7GrrgAdbIfHkSq5OLbAZ2DVFJKV8AqeH3if3NCrQQJGiUqZ9R
	 ELKEhALbyXYL6MtW5UNs5m+/ZKaD1Aoxz6xPLMkH1EKjpgaS8kPYQf9k1wqVXq9tU2
	 F5X2pDTIJDRYDEvr+u+CtV2Pnh66cNSvd+ZkUPPWu9EWxgRdA256u9DN6zRj+IeDNC
	 37t3Fxfu/mu5A==
Date: Wed, 5 Jan 2022 16:40:49 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: jgross@suse.com, boris.ostrovsky@oracle.com
cc: sstabellini@kernel.org, julien@xen.org, bertrand.marquis@arm.com, 
    Volodymyr_Babchuk@epam.com, xen-devel@lists.xenproject.org
Subject: request for feedback on a Xen/Linux compatibility issue
Message-ID: <alpine.DEB.2.22.394.2112131729100.3376@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Hi all,

Today Xen dom0less guests are not "Xen aware": the hypervisor node
(compatible = "xen,xen") is missing from dom0less domUs device trees and
as a consequence Linux initializes as if Xen is not present. The reason
is that interfaces like grant table and xenstore (xenbus in Linux) don't
work correctly in a dom0less environment at the moment.

The good news is that I have patches for Xen to implement PV drivers
support for dom0less guests. They also add the hypervisor node to device
tree for dom0less guests so that Linux can discover the presence of Xen
and related interfaces.

When the Linux kernel is booting as dom0less kernel, it needs to delay
the xenbus initialization until the interface becomes ready. Attempts to
initialize xenbus straight away lead to failure, which is fine because
xenbus has never worked in Linux when running as dom0less guest up until
now. It is reasonable that a user needs a newer Linux to take advantage
of dom0less with PV drivers. So:

- old Xen + old/new Linux -> Xen not detected in Linux
- new Xen + old Linux     -> xenbus fails to initialize in Linux
- new Xen + new Linux     -> dom0less PV drivers working in Linux


The problem is that Linux until recently couldn't deal with any errors
in xenbus initialization. Instead of returning error and continuing
without xenbus, Linux would crash at boot.

I upstreamed two patches for Linux xenbus_probe to be able to deal with
initialization errors. With those two fixes, Linux can boot as a
dom0less kernel with the hypervisor node in device tree. The two fixes
got applied to master and were already backported to all the supported
Linux stable trees, so as of today:

- dom0less with hypervisor node + Linux 5.16+           -> works
- dom0less with hypervisor node + stable Linux 5.10     -> works
- dom0less with hypervisor node + unpatched Linux 5.10  -> crashes


Is this good enough? Or for Xen/Linux compatibility we want to also be
able to boot vanilla unpatched Linux 5.10 as dom0less kernel? If so,
the simplest solution is to change compatible string for the hypervisor
node, so that old Linux wouldn't recognize Xen presence and wouldn't try
to initialize xenbus (so it wouldn't crash on failure). New Linux can of
course learn to recognize both the old and the new compatible strings.
(For instance it could be compatible = "xen,xen-v2".) I have prototyped
and tested this solution successfully but I am not convinced it is the
right way to go.

Do you have any suggestion or feedback?

The Linux crash on xenbus initialization failure is a Linux bug, not a
Xen issue. For this reason, I am tempted to say that we shouldn't change
compatible string to work-around a Linux bug, especially given that the
Linux stable trees are already all fixed.

Cheers,

Stefano


From xen-devel-bounces@lists.xenproject.org Thu Jan 06 00:41:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 00:41:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253806.435063 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5Gpg-0001pM-6V; Thu, 06 Jan 2022 00:40:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253806.435063; Thu, 06 Jan 2022 00: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 1n5Gpg-0001pF-3I; Thu, 06 Jan 2022 00:40:44 +0000
Received: by outflank-mailman (input) for mailman id 253806;
 Thu, 06 Jan 2022 00:40:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=AmKD=RW=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n5Gpe-0001p9-Op
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 00:40:42 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 44db545b-6e89-11ec-81c0-a30af7de8005;
 Thu, 06 Jan 2022 01:40:40 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 4803E6198A;
 Thu,  6 Jan 2022 00:40:38 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 41FC7C36AEB;
 Thu,  6 Jan 2022 00: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: 44db545b-6e89-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1641429637;
	bh=yhjlieHsS2F1nOEoEhFP+YOyRQ6e4+0F0JnKWl3r4ng=;
	h=Date:From:To:cc:Subject:From;
	b=ehblOepZmyIBTMA4mECJVK2UHnNK0qJzrNrWcXZ1+avfqDcvxzYdHka3/VMdv6p+V
	 UzjyyrhLPWdoK8h8N2djb0CwrEwVhyokqYselgm6kg550DNvjsuE4wVpTlMlOkWll0
	 2F/MjkwpwZNrwFiUfSQwk1Ro1U1QQxdAv32L7L/0SEGApYEOLfgty+ycXNAleGc71M
	 l/DA8VGjwIab1mimdHrvTFM2x/16wJiHdZw6RX5taGuzkYC8vi/AIpCWGYgUHs02DO
	 hScwXshBWI7bXKVlWS966FfYA0WPx51VFcDyzvQRhM5KAwEerqhsQ1nza0suAd3NUt
	 c+Utu1TXB6yaw==
Date: Wed, 5 Jan 2022 16:40:36 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: dfaggioli@suse.com, george.dunlap@citrix.com
cc: sstabellini@kernel.org, julien@xen.org, jbeulich@suse.com, 
    andrew.cooper3@citrix.com, roger.pau@citrix.com, bertrand.marquis@arm.com, 
    Volodymyr_Babchuk@epam.com, jgross@suse.com, 
    xen-devel@lists.xenproject.org
Subject: sched=null vwfi=native and call_rcu()
Message-ID: <alpine.DEB.2.22.394.2201051615060.2060010@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Hi all,

As you might remember, we have an outstanding issue with call_rcu() when
sched=null vwfi=native are used. That is because in that configuration
the CPU never goes idle so rcu_idle_enter() never gets called.

The issue was caught on the field and I managed to repro the problem
doing the following:

xl destroy test
xl create ./test.cfg

Resulting in the following error:

# Parsing config from ./test.cfg
# (XEN) IRQ 54 is already used by domain 1

The test domain has 3 interrupts remapped to it and they don't get
released before the new domain creation is requested.

Just FYI, the below hacky patch seems to reliably work-around the
problem in my environment.

Do you have any suggestions on what would be the right way to solve
this issue?

Cheers,

Stefano


diff --git a/xen/common/rcupdate.c b/xen/common/rcupdate.c
index a5a27af3de..841a5cb3c9 100644
--- a/xen/common/rcupdate.c
+++ b/xen/common/rcupdate.c
@@ -289,6 +289,9 @@ void call_rcu(struct rcu_head *head,
         force_quiescent_state(rdp, &rcu_ctrlblk);
     }
     local_irq_restore(flags);
+    /* make sure that the CPU has a chance to check RCUs */
+    set_timer(&rdp->idle_timer, NOW() + SECONDS(1));
+    rdp->idle_timer_active = true;
 }
 
 /*



From xen-devel-bounces@lists.xenproject.org Thu Jan 06 04:33:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 04:33:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253817.435085 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5KS6-0000cZ-BU; Thu, 06 Jan 2022 04:32:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253817.435085; Thu, 06 Jan 2022 04:32:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5KS6-0000cR-5C; Thu, 06 Jan 2022 04:32:38 +0000
Received: by outflank-mailman (input) for mailman id 253817;
 Thu, 06 Jan 2022 04:32:36 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n5KS4-0000cH-TW; Thu, 06 Jan 2022 04:32: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 1n5KS4-0002nm-Q6; Thu, 06 Jan 2022 04:32: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 1n5KS4-000476-DS; Thu, 06 Jan 2022 04:32:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n5KS4-0005vc-Cs; Thu, 06 Jan 2022 04:32:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ozW1/nbpP5N9LJoy00Tqmk299YKasO0UyJ61whm72x8=; b=xB+kKh3cfTOQ3BN9tpsW2JB+bU
	8Jj9vol75K7lQMnwOUMP6dGMW0oPfY2rER5xhlGxRDcLsVMX+aHou58pXI6ghs7U95091gHGiwT39
	OIG8MHLZjX9DhmP7OC4jRgDSFsbKLSbjos9uwpUSRUi1DYkEkHFQOPdKjF9XSppUMeRw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167612-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167612: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-pvhv2-intel:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    xen-unstable:test-amd64-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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-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-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-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt: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: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-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-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=31f3bc97f4508687215e459a5e35676eecf1772b
X-Osstest-Versions-That:
    xen=af0c5430a82c77432729d61c9b409dd32c477b20
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 06 Jan 2022 04:32:36 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-pvhv2-intel 22 guest-start/debian.repeat fail pass in 167616-retest
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 167616-retest

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

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

version targeted for testing:
 xen                  31f3bc97f4508687215e459a5e35676eecf1772b
baseline version:
 xen                  af0c5430a82c77432729d61c9b409dd32c477b20

Last test of basis   167605  2022-01-05 01:54:06 Z    1 days
Testing same since   167612  2022-01-05 17:38:09 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   af0c5430a8..31f3bc97f4  31f3bc97f4508687215e459a5e35676eecf1772b -> master


From xen-devel-bounces@lists.xenproject.org Thu Jan 06 07:13:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 07:13:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253829.435104 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5Mxr-0008GF-UJ; Thu, 06 Jan 2022 07:13:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253829.435104; Thu, 06 Jan 2022 07: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 1n5Mxr-0008G8-RJ; Thu, 06 Jan 2022 07:13:35 +0000
Received: by outflank-mailman (input) for mailman id 253829;
 Thu, 06 Jan 2022 07:13:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kr4l=RW=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n5Mxp-0008G2-I6
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 07:13:33 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2707dd58-6ec0-11ec-9ce5-af14b9085ebd;
 Thu, 06 Jan 2022 08:13:31 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 8DDE0210F8;
 Thu,  6 Jan 2022 07:13:30 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 4923413AF2;
 Thu,  6 Jan 2022 07:13:30 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Wh1zD5qW1mFTOAAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 06 Jan 2022 07:13:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2707dd58-6ec0-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641453210; 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=6/7J4YmIVh8QnRP9LZTy17g49XpNEPO2mq8LhZVMSDU=;
	b=VPe9Ki+NYhFGZsJnRpwwknxNKon/te1adB/DoeQvtdwvokbX8fIoLC93fQdtRAq2g8oXlG
	B3jTvU7KeAbgfI8zlQD88AUuzI1X4JRLdvpTNi6M04WS8ug/yvYjAGuy/c5IbjTfBDXZHy
	EAq6GA4g5DqOYinyTXBooHkvKUFs0iM=
Subject: Re: request for feedback on a Xen/Linux compatibility issue
To: Stefano Stabellini <sstabellini@kernel.org>, boris.ostrovsky@oracle.com
Cc: julien@xen.org, bertrand.marquis@arm.com, Volodymyr_Babchuk@epam.com,
 xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2112131729100.3376@ubuntu-linux-20-04-desktop>
From: Juergen Gross <jgross@suse.com>
Message-ID: <4ea34f61-e72e-76c3-5c20-879fefe4c7f7@suse.com>
Date: Thu, 6 Jan 2022 08:13:29 +0100
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: <alpine.DEB.2.22.394.2112131729100.3376@ubuntu-linux-20-04-desktop>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="MmbLZO1jJYTQuSjuy9YXSDmANcO7f1pTn"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--MmbLZO1jJYTQuSjuy9YXSDmANcO7f1pTn
Content-Type: multipart/mixed; boundary="DegpTjLogTqnplVc1lHbdJKg1K5UKPynM";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Stefano Stabellini <sstabellini@kernel.org>, boris.ostrovsky@oracle.com
Cc: julien@xen.org, bertrand.marquis@arm.com, Volodymyr_Babchuk@epam.com,
 xen-devel@lists.xenproject.org
Message-ID: <4ea34f61-e72e-76c3-5c20-879fefe4c7f7@suse.com>
Subject: Re: request for feedback on a Xen/Linux compatibility issue
References: <alpine.DEB.2.22.394.2112131729100.3376@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2112131729100.3376@ubuntu-linux-20-04-desktop>

--DegpTjLogTqnplVc1lHbdJKg1K5UKPynM
Content-Type: multipart/mixed;
 boundary="------------6D36CE6935C7D300B9D9E473"
Content-Language: en-US

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

On 06.01.22 01:40, Stefano Stabellini wrote:
> Hi all,
>=20
> Today Xen dom0less guests are not "Xen aware": the hypervisor node
> (compatible =3D "xen,xen") is missing from dom0less domUs device trees =
and
> as a consequence Linux initializes as if Xen is not present. The reason=

> is that interfaces like grant table and xenstore (xenbus in Linux) don'=
t
> work correctly in a dom0less environment at the moment.
>=20
> The good news is that I have patches for Xen to implement PV drivers
> support for dom0less guests. They also add the hypervisor node to devic=
e
> tree for dom0less guests so that Linux can discover the presence of Xen=

> and related interfaces.
>=20
> When the Linux kernel is booting as dom0less kernel, it needs to delay
> the xenbus initialization until the interface becomes ready. Attempts t=
o
> initialize xenbus straight away lead to failure, which is fine because
> xenbus has never worked in Linux when running as dom0less guest up unti=
l
> now. It is reasonable that a user needs a newer Linux to take advantage=

> of dom0less with PV drivers. So:
>=20
> - old Xen + old/new Linux -> Xen not detected in Linux
> - new Xen + old Linux     -> xenbus fails to initialize in Linux
> - new Xen + new Linux     -> dom0less PV drivers working in Linux
>=20
>=20
> The problem is that Linux until recently couldn't deal with any errors
> in xenbus initialization. Instead of returning error and continuing
> without xenbus, Linux would crash at boot.
>=20
> I upstreamed two patches for Linux xenbus_probe to be able to deal with=

> initialization errors. With those two fixes, Linux can boot as a
> dom0less kernel with the hypervisor node in device tree. The two fixes
> got applied to master and were already backported to all the supported
> Linux stable trees, so as of today:
>=20
> - dom0less with hypervisor node + Linux 5.16+           -> works
> - dom0less with hypervisor node + stable Linux 5.10     -> works
> - dom0less with hypervisor node + unpatched Linux 5.10  -> crashes
>=20
>=20
> Is this good enough? Or for Xen/Linux compatibility we want to also be
> able to boot vanilla unpatched Linux 5.10 as dom0less kernel? If so,
> the simplest solution is to change compatible string for the hypervisor=

> node, so that old Linux wouldn't recognize Xen presence and wouldn't tr=
y
> to initialize xenbus (so it wouldn't crash on failure). New Linux can o=
f
> course learn to recognize both the old and the new compatible strings.
> (For instance it could be compatible =3D "xen,xen-v2".) I have prototyp=
ed
> and tested this solution successfully but I am not convinced it is the
> right way to go.
>=20
> Do you have any suggestion or feedback?
>=20
> The Linux crash on xenbus initialization failure is a Linux bug, not a
> Xen issue. For this reason, I am tempted to say that we shouldn't chang=
e
> compatible string to work-around a Linux bug, especially given that the=

> Linux stable trees are already all fixed.

What about adding an option to your Xen patches to omit the hypervisor
node in the device tree? This would enable the user to have a mode
compatible to today's behavior.


Juergen

--------------6D36CE6935C7D300B9D9E473
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-----

--------------6D36CE6935C7D300B9D9E473--

--DegpTjLogTqnplVc1lHbdJKg1K5UKPynM--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHWlpkFAwAAAAAACgkQsN6d1ii/Ey8+
kwf/T6kNAt8UZqsErtGN9sjHE0C6iOVK4H9bW3m3Sp2taouPfmd8VukHSBYLUiiJL7n6+kOq61VU
tBLeHA2TzzIrhDmw2OScRrowF9jvmG8LY5em5xPKz5mQbT/HzM1y3yd0dp7J0fhw6ECE23QAEr2g
5DRLSqCotS3yRhHXepofeLU05LUromONc0LFupLotWMqxRxD3gbsqwpTGndKmNWFdlYB0c3RD6a+
de2XedGFjZnCHCc57ZrcCPkz7PWahcG9cps3oEVkTGv3OQNaAePw711I9BKjkR7QymSjnczAMWnv
sMV5g0fB0llFhDzyC/zkTKG1jrQgh5Wzfe/ZM22v+Q==
=KsxE
-----END PGP SIGNATURE-----

--MmbLZO1jJYTQuSjuy9YXSDmANcO7f1pTn--


From xen-devel-bounces@lists.xenproject.org Thu Jan 06 08:07:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 08:07:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253845.435114 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5NnZ-0005Tv-Fl; Thu, 06 Jan 2022 08:07:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253845.435114; Thu, 06 Jan 2022 08: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 1n5NnZ-0005To-Cu; Thu, 06 Jan 2022 08:07:01 +0000
Received: by outflank-mailman (input) for mailman id 253845;
 Thu, 06 Jan 2022 08:07:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kr4l=RW=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n5NnY-0005Ti-2q
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 08:07:00 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9e1e263f-6ec7-11ec-9ce5-af14b9085ebd;
 Thu, 06 Jan 2022 09:06:59 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 90AC4210E0;
 Thu,  6 Jan 2022 08:06: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 3757F1376E;
 Thu,  6 Jan 2022 08:06:56 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 1CW3CyCj1mHCSQAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 06 Jan 2022 08: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: 9e1e263f-6ec7-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641456416; 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=vdnLjQYIjUcKfecVaXOPWVeyFjng0GZi2EGIqD+0PNs=;
	b=nYi6hTVYlU7xiexKToyb1jar3k6LL/EtS6wa6R9ScBXsgakb50S/n118hsuqQH0vSh5iMk
	LQrCZUJSXF3v7O1+AG3tgDYSzPWB6d8pn66QjXallieQBeg6mzxz2pgi32CgnHjb6iJKwz
	GhVvcRs4la/6VR3faLPYix8cwI7Cryg=
Subject: Re: [PATCH V6 1/2] libxl: Add support for Virtio disk configuration
To: Anthony PERARD <anthony.perard@citrix.com>,
 Oleksandr <olekstysh@gmail.com>
Cc: xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>,
 Nick Rosbrook <rosbrookn@ainfosec.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <1638982784-14390-1-git-send-email-olekstysh@gmail.com>
 <1638982784-14390-2-git-send-email-olekstysh@gmail.com>
 <YbjANCjAUGe4BAar@perard> <bce10079-abd6-c033-6273-ac0ea9f51668@gmail.com>
 <4c89e55d-4bf1-506e-d620-4a0ff18ef308@suse.com>
 <dc1b70ac-079d-5de8-cb13-6be4944cef0a@gmail.com>
 <813684b0-df71-c18b-cf4c-106cc286c035@suse.com>
 <8348ef52-701b-e1f9-2d9b-226ac97e8e2f@gmail.com>
 <15b837ba-25cf-7e4c-4729-f82bffe02fed@suse.com>
 <44885d7e-c5a0-5b7c-144d-b9e6c7e54715@gmail.com> <YcIE5rv5vwxwSvKd@perard>
From: Juergen Gross <jgross@suse.com>
Message-ID: <e2a5b2e1-a0ce-6481-8789-4e380afbea0e@suse.com>
Date: Thu, 6 Jan 2022 09:06:55 +0100
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: <YcIE5rv5vwxwSvKd@perard>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="nh7P4vTlh7WBGmhTqJcS6lUcYdSUSh9MI"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--nh7P4vTlh7WBGmhTqJcS6lUcYdSUSh9MI
Content-Type: multipart/mixed; boundary="g2UkN9WRdPSKYkhyL6EFeorpfvidJ3Ith";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Anthony PERARD <anthony.perard@citrix.com>,
 Oleksandr <olekstysh@gmail.com>
Cc: xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>,
 Nick Rosbrook <rosbrookn@ainfosec.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
Message-ID: <e2a5b2e1-a0ce-6481-8789-4e380afbea0e@suse.com>
Subject: Re: [PATCH V6 1/2] libxl: Add support for Virtio disk configuration
References: <1638982784-14390-1-git-send-email-olekstysh@gmail.com>
 <1638982784-14390-2-git-send-email-olekstysh@gmail.com>
 <YbjANCjAUGe4BAar@perard> <bce10079-abd6-c033-6273-ac0ea9f51668@gmail.com>
 <4c89e55d-4bf1-506e-d620-4a0ff18ef308@suse.com>
 <dc1b70ac-079d-5de8-cb13-6be4944cef0a@gmail.com>
 <813684b0-df71-c18b-cf4c-106cc286c035@suse.com>
 <8348ef52-701b-e1f9-2d9b-226ac97e8e2f@gmail.com>
 <15b837ba-25cf-7e4c-4729-f82bffe02fed@suse.com>
 <44885d7e-c5a0-5b7c-144d-b9e6c7e54715@gmail.com> <YcIE5rv5vwxwSvKd@perard>
In-Reply-To: <YcIE5rv5vwxwSvKd@perard>

--g2UkN9WRdPSKYkhyL6EFeorpfvidJ3Ith
Content-Type: multipart/mixed;
 boundary="------------1299747EB8C200722FC16A43"
Content-Language: en-US

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

On 21.12.21 17:46, Anthony PERARD wrote:
> On Fri, Dec 17, 2021 at 06:50:02PM +0200, Oleksandr wrote:
>> On 17.12.21 17:26, Juergen Gross wrote:
>>> On 15.12.21 22:36, Oleksandr wrote:
>>>> On 15.12.21 17:58, Juergen Gross wrote:
>>>>> In practice we are having something like the "protocol" already tod=
ay:
>>>>> the disk device name is encoding that ("xvd*" is a Xen PV disk, whi=
le
>>>>> "sd*" is an emulated SCSI disk, which happens to be presented to th=
e
>>>>> guest as "xvd*", too). And this is an additional information not
>>>>> related to the backendtype.
>=20
> You mean in theory? ;-) In practice, xvd* is the same as hd* (or sd*?).=

> I tried once to have xvd* mean PV disk only, but the patch was rejected=
=2E
> So at the moment, we always get an emulated disk, we can't have PV disk=

> alone, at least on x86.

What?

Of course we can. Take any PV or PVH guest excluding dom0, and you'll
see that.


Juergen

--------------1299747EB8C200722FC16A43
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-----

--------------1299747EB8C200722FC16A43--

--g2UkN9WRdPSKYkhyL6EFeorpfvidJ3Ith--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHWox8FAwAAAAAACgkQsN6d1ii/Ey8Y
vwgAgoiE2T6kAhT/W8/8cCvaYiZ8EYi4hKaGxkUEsZheyBdrXVmyHA/8B7/9GEYB8X+2dWZNFXka
i9Sxt1Y1wguGjFc/uQchszZj7fIPWSoHQTqteFhoEP1Sj9xaeBRDWd+/f6Cpooqn2o5f8Zw6tZLx
ndnO7JYgpQYaII6n0mK4pHy6GqTOOHitBt+0o8KDl5hRhpfA/ScOAFHUR99Nun1r4xrcv92B5fqV
HYign/J5ErG6hxFo6ftR54cYnJJbmBxgxQURSdqNqLQ1luwNLqk6Lzrh8Z5L9VF1guOR+VwrAw1B
AYB5gz/gXOwefeXZ6ynim1+zXWElNO026sVJMaFLWA==
=50Gq
-----END PGP SIGNATURE-----

--nh7P4vTlh7WBGmhTqJcS6lUcYdSUSh9MI--


From xen-devel-bounces@lists.xenproject.org Thu Jan 06 09:06:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 09:06:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253852.435126 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5OiP-0002uk-VA; Thu, 06 Jan 2022 09:05:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253852.435126; Thu, 06 Jan 2022 09:05:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5OiP-0002ud-Rx; Thu, 06 Jan 2022 09:05:45 +0000
Received: by outflank-mailman (input) for mailman id 253852;
 Thu, 06 Jan 2022 09:05: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 1n5OiO-0002uT-9d; Thu, 06 Jan 2022 09:05: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 1n5OiO-0000AB-5d; Thu, 06 Jan 2022 09:05: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 1n5OiN-0000Tf-Qy; Thu, 06 Jan 2022 09:05:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n5OiN-0000Jc-QU; Thu, 06 Jan 2022 09:05: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=LmRxS7+MOJkfl7+gFZPtzC692G0nvh36QB7lpDRw6Co=; b=SYNHDpMoEZAgiuPNY7YAezUN/j
	GBNl4U/CAvTiWlVG7MrwiKL552vb+Yonk0yAN1NS/OvMKnJYtEhU0bUZ4IqJ6aEcwMB+h2zMHWoax
	CUW/f+kvCpizAdKqxONvv0pAXkgHPnvtkDJQ0Ic5+9bjMTEVPBwZkHJX8jEOas8xTBzQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167614-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167614: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-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-armhf-armhf-libvirt-qcow2: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-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-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl: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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=49ef78e59b0749814d79eed156dcfc175fbd2f74
X-Osstest-Versions-That:
    linux=c9e6606c7fe92b50a02ce51dda82586ebdf99b48
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 06 Jan 2022 09:05:43 +0000

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

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

version targeted for testing:
 linux                49ef78e59b0749814d79eed156dcfc175fbd2f74
baseline version:
 linux                c9e6606c7fe92b50a02ce51dda82586ebdf99b48

Last test of basis   167592  2022-01-02 23:39:19 Z    3 days
Testing same since   167614  2022-01-05 20:42:34 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Bartosz Golaszewski <brgl@bgdev.pl>
  Gregory Fong <gregory.0xf0@gmail.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Steven Lee <steven_lee@aspeedtech.com>

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


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

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

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

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


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
   c9e6606c7fe9..49ef78e59b07  49ef78e59b0749814d79eed156dcfc175fbd2f74 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Thu Jan 06 09:10:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 09:10:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253861.435137 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5On5-0004Jy-IZ; Thu, 06 Jan 2022 09:10:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253861.435137; Thu, 06 Jan 2022 09:10:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5On5-0004Jr-FF; Thu, 06 Jan 2022 09:10:35 +0000
Received: by outflank-mailman (input) for mailman id 253861;
 Thu, 06 Jan 2022 09:10:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z1FG=RW=amazon.de=prvs=9985bf3d0=mheyne@srs-se1.protection.inumbo.net>)
 id 1n5On4-0004Jl-1D
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 09:10:34 +0000
Received: from smtp-fw-6001.amazon.com (smtp-fw-6001.amazon.com [52.95.48.154])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7f775993-6ed0-11ec-9ce5-af14b9085ebd;
 Thu, 06 Jan 2022 10:10:32 +0100 (CET)
Received: from iad12-co-svc-p1-lb1-vlan3.amazon.com (HELO
 email-inbound-relay-pdx-2b-31df91b1.us-west-2.amazon.com) ([10.43.8.6])
 by smtp-border-fw-6001.iad6.amazon.com with ESMTP; 06 Jan 2022 09:10:20 +0000
Received: from EX13MTAUWB001.ant.amazon.com
 (pdx1-ws-svc-p6-lb9-vlan2.pdx.amazon.com [10.236.137.194])
 by email-inbound-relay-pdx-2b-31df91b1.us-west-2.amazon.com (Postfix) with
 ESMTPS id 8E3B243128; Thu,  6 Jan 2022 09:10:19 +0000 (UTC)
Received: from EX13d09UWA001.ant.amazon.com (10.43.160.247) by
 EX13MTAUWB001.ant.amazon.com (10.43.161.207) with Microsoft SMTP Server (TLS)
 id 15.0.1497.26; Thu, 6 Jan 2022 09:10:19 +0000
Received: from EX13MTAUWA001.ant.amazon.com (10.43.160.58) by
 EX13d09UWA001.ant.amazon.com (10.43.160.247) with Microsoft SMTP Server (TLS)
 id 15.0.1497.26; Thu, 6 Jan 2022 09:10:18 +0000
Received: from dev-dsk-mheyne-1b-c1524648.eu-west-1.amazon.com (10.15.60.66)
 by mail-relay.amazon.com (10.43.160.118) with Microsoft SMTP Server id
 15.0.1497.26 via Frontend Transport; Thu, 6 Jan 2022 09:10:19 +0000
Received: by dev-dsk-mheyne-1b-c1524648.eu-west-1.amazon.com (Postfix,
 from userid 5466572)
 id 838C241148; Thu,  6 Jan 2022 09:10:17 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7f775993-6ed0-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
  d=amazon.de; i=@amazon.de; q=dns/txt; s=amazon201209;
  t=1641460232; x=1672996232;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=8EjfkMBxgq9OGB9tI0dnsy+jf3uRZb0u3PYnJ6+biAQ=;
  b=sL+ht4LaY++7VNmWzieKmnXgmU+M000uj5aVcvdJ7kpyLZ8idiUs6TCI
   jnUVrCVr5/jhINFb105MVbU62v8lGngCSvtU0JdBE6jm0ybguFKz2ZOfc
   Uhc/hKHJwg5By+0Oe1cvbzAt8X9cPN7nhlzf3jCO+wiXcHf/AVFyg/esJ
   o=;
X-IronPort-AV: E=Sophos;i="5.88,266,1635206400"; 
   d="scan'208";a="168173182"
From: Maximilian Heyne <mheyne@amazon.de>
To: 
CC: Maximilian Heyne <mheyne@amazon.de>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Jens Axboe <axboe@kernel.dk>, Boris Ostrovsky
	<boris.ostrovsky@oracle.com>, Anthony Liguori <aliguori@amazon.com>,
	"SeongJae Park" <sjpark@amazon.de>, Juergen Gross <jgross@suse.com>,
	<xen-devel@lists.xenproject.org>, <linux-block@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>
Subject: [PATCH] xen, blkback: fix persistent grants negotiation
Date: Thu, 6 Jan 2022 09:10:13 +0000
Message-ID: <20220106091013.126076-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

Given dom0 supports persistent grants but the guest does not.
Then, when attaching a block device during runtime of the guest, dom0
will enable persistent grants for this newly attached block device:

  $ xenstore-ls -f | grep 20674 | grep persistent
  /local/domain/0/backend/vbd/20674/768/feature-persistent = "0"
  /local/domain/0/backend/vbd/20674/51792/feature-persistent = "1"

Here disk 768 was attached during guest creation while 51792 was
attached at runtime. If the guest would have advertised the persistent
grant feature, there would be a xenstore entry like:

  /local/domain/20674/device/vbd/51792/feature-persistent = "1"

Persistent grants are also used when the guest tries to access the disk
which can be seen when enabling log stats:

  $ echo 1 > /sys/module/xen_blkback/parameters/log_stats
  $ dmesg
  xen-blkback: (20674.xvdf-0): oo   0  |  rd    0  |  wr    0  |  f    0 |  ds    0 | pg:    1/1056

The "pg: 1/1056" shows that one persistent grant is used.

Before commit aac8a70db24b ("xen-blkback: add a parameter for disabling
of persistent grants") vbd->feature_gnt_persistent was set in
connect_ring. After the commit it was intended to be initialized in
xen_vbd_create and then set according to the guest feature availability
in connect_ring. However, with a running guest, connect_ring might be
called before xen_vbd_create and vbd->feature_gnt_persistent will be
incorrectly initialized. xen_vbd_create will overwrite it with the value
of feature_persistent regardless whether the guest actually supports
persistent grants.

With this commit, vbd->feature_gnt_persistent is set only in
connect_ring and this is the only use of the module parameter
feature_persistent. This avoids races when the module parameter changes
during the block attachment process.

Note that vbd->feature_gnt_persistent doesn't need to be initialized in
xen_vbd_create. It's next use is in connect which can only be called
once connect_ring has initialized the rings. xen_update_blkif_status is
checking for this.

Fixes: aac8a70db24b ("xen-blkback: add a parameter for disabling of persistent grants")
Signed-off-by: Maximilian Heyne <mheyne@amazon.de>
---
 drivers/block/xen-blkback/xenbus.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/block/xen-blkback/xenbus.c b/drivers/block/xen-blkback/xenbus.c
index 914587aabca0c..51b6ec0380ca4 100644
--- a/drivers/block/xen-blkback/xenbus.c
+++ b/drivers/block/xen-blkback/xenbus.c
@@ -522,8 +522,6 @@ static int xen_vbd_create(struct xen_blkif *blkif, blkif_vdev_t handle,
 	if (q && blk_queue_secure_erase(q))
 		vbd->discard_secure = true;
 
-	vbd->feature_gnt_persistent = feature_persistent;
-
 	pr_debug("Successful creation of handle=%04x (dom=%u)\n",
 		handle, blkif->domid);
 	return 0;
@@ -1090,10 +1088,9 @@ static int connect_ring(struct backend_info *be)
 		xenbus_dev_fatal(dev, err, "unknown fe protocol %s", protocol);
 		return -ENOSYS;
 	}
-	if (blkif->vbd.feature_gnt_persistent)
-		blkif->vbd.feature_gnt_persistent =
-			xenbus_read_unsigned(dev->otherend,
-					"feature-persistent", 0);
+
+	blkif->vbd.feature_gnt_persistent = feature_persistent &&
+		xenbus_read_unsigned(dev->otherend, "feature-persistent", 0);
 
 	blkif->vbd.overflow_max_grants = 0;
 
-- 
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 Jan 06 09:27:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 09:27:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253867.435148 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5P2s-0005w7-3v; Thu, 06 Jan 2022 09:26:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253867.435148; Thu, 06 Jan 2022 09:26: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 1n5P2s-0005w0-0l; Thu, 06 Jan 2022 09:26:54 +0000
Received: by outflank-mailman (input) for mailman id 253867;
 Thu, 06 Jan 2022 09:26:53 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1n5P2r-0005uG-2p
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 09:26:53 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1n5P2n-0000XC-Ia; Thu, 06 Jan 2022 09:26:49 +0000
Received: from home.octic.net ([81.187.162.82] helo=[10.0.1.193])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1n5P2n-0001Rx-C9; Thu, 06 Jan 2022 09:26:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=a8V8G+xtDAk/ftzefOk9aZexLlYBaMc9j4NMx5KPU3o=; b=01rWuOI4ANXlxRw5BjBKe5Ci4E
	GQYR9LzieW97ETf2s6CKikg9M6J02m+LhDgLGhYv7H9ZLRjXOfIsu0MBiALcUeBAZl5uaAM4CXlK/
	BaiWiVMvSUwpTN2+FM7m0u+RUB1y1KfcmKPWWJDeD1rzFNlzE07wyVrNfkFNI+izke0M=;
Message-ID: <20fbb361-b416-6965-614d-a6283a7e7550@xen.org>
Date: Thu, 6 Jan 2022 09:26:46 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.4.1
Subject: Re: sched=null vwfi=native and call_rcu()
To: Stefano Stabellini <sstabellini@kernel.org>, dfaggioli@suse.com,
 george.dunlap@citrix.com
Cc: jbeulich@suse.com, andrew.cooper3@citrix.com, roger.pau@citrix.com,
 bertrand.marquis@arm.com, Volodymyr_Babchuk@epam.com, jgross@suse.com,
 xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2201051615060.2060010@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2201051615060.2060010@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 06/01/2022 00:40, Stefano Stabellini wrote:
> Hi all,

Hi,

> As you might remember, we have an outstanding issue with call_rcu() when
> sched=null vwfi=native are used. That is because in that configuration
> the CPU never goes idle so rcu_idle_enter() never gets called.
> 
> The issue was caught on the field and I managed to repro the problem
> doing the following:
> 
> xl destroy test
> xl create ./test.cfg
> 
> Resulting in the following error:
> 
> # Parsing config from ./test.cfg
> # (XEN) IRQ 54 is already used by domain 1
> 
> The test domain has 3 interrupts remapped to it and they don't get
> released before the new domain creation is requested.
> 
> Just FYI, the below hacky patch seems to reliably work-around the
> problem in my environment.
> 
> Do you have any suggestions on what would be the right way to solve
> this issue?

This issue and solution were discussed numerous time on the ML. In 
short, we want to tell the RCU that CPU running in guest context are 
always quiesced. For more details, you can read the previous thread 
(which also contains a link to the one before):

https://lore.kernel.org/xen-devel/fe3dd9f0-b035-01fe-3e01-ddf065f182ab@codiax.se/

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Jan 06 09:59:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 09:59:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253873.435159 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5PYc-0000mc-Im; Thu, 06 Jan 2022 09:59:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253873.435159; Thu, 06 Jan 2022 09:59:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5PYc-0000mV-FL; Thu, 06 Jan 2022 09:59:42 +0000
Received: by outflank-mailman (input) for mailman id 253873;
 Thu, 06 Jan 2022 09:59: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 1n5PYb-0000mL-8R; Thu, 06 Jan 2022 09:59: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 1n5PYb-00015D-5y; Thu, 06 Jan 2022 09:59: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 1n5PYa-00034P-QQ; Thu, 06 Jan 2022 09:59:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n5PYa-0006wA-Px; Thu, 06 Jan 2022 09: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=iDpPiXlGKZdij7VubTaHpmnPgN5lI8SeFkpYBw3X2NM=; b=Ynq8huvkJ4Oy26SwnqlCGUToMG
	mW17vpwHjrZW5dHiXZpTDlZu/M9bAkH7NQ6OEPwwLlKFEInPSj9FWTrkhyMrvsV1vqtNa7R/K0HiT
	Iec0WOR7+fi+5sWCjpAtk+0uZt0TAw5fKVGWz64gwOl6/BJ0GnrOfO7ZExfsbsO3EXyE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167617-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 167617: 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-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=2a9264b8b25e5cd9e54196ebf06a11f6d8846823
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 06 Jan 2022 09:59:40 +0000

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

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-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

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

Last test of basis   151777  2020-07-10 04:19:19 Z  545 days
Failing since        151818  2020-07-11 04:18:52 Z  544 days  526 attempts
Testing same since   167617  2022-01-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>
  Ani Sinha <ani@anisinha.ca>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  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>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.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>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  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>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  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 Chevsky <nchevsky@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>
  Or Ozeri <oro@il.ibm.com>
  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>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  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>
  Stefan Hajnoczi <stefanha@redhat.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>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.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>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Дамјан Георгиевски <gdamjan@gmail.com>

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


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Thu Jan 06 10:17:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 10:17:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253882.435169 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5PpS-0003BK-6V; Thu, 06 Jan 2022 10:17:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253882.435169; Thu, 06 Jan 2022 10:17:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5PpS-0003BD-3I; Thu, 06 Jan 2022 10:17:06 +0000
Received: by outflank-mailman (input) for mailman id 253882;
 Thu, 06 Jan 2022 10:12:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2x37=RW=kernel.org=sj@srs-se1.protection.inumbo.net>)
 id 1n5Pki-00036k-Eq
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 10:12:12 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1ae8e8f7-6ed9-11ec-81c0-a30af7de8005;
 Thu, 06 Jan 2022 11:12:11 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id AF134B81FEA;
 Thu,  6 Jan 2022 10:12:07 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 902D9C36AE5;
 Thu,  6 Jan 2022 10:12:05 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1ae8e8f7-6ed9-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1641463926;
	bh=bXBGt8cu8ZIBsgJuNGhQMZB9C4N3I6uB9QRkqbs23Kw=;
	h=From:To:Cc:Subject:Date:In-Reply-To:From;
	b=MWXR9JrIaAhMnuFEPyru/cJYqBm+CCqeNemZK2Pz2vIyyCOBoT4oIEiqPlwK7fKA+
	 ipwcPYDu0qEu38h4jri77+5iEVHvkeAtX90peIqw8Ehx1TUeBy+2YujAP5j9tMeeg+
	 xPAUr300T9H7xa41fOMPhEWbiV+2Es0ZQmvH/ZJVEJQg7seYmlecQlSKr+M6d+V0hC
	 e2XDEHSw3MO9VY+JIjTDFLhZIEb0SxvPsQnSP/Gz38YWYhQtZY1+nx8r62d/rmBkab
	 yJKyRCP9cAMrGvqwrw8tuWhoThpY+Q96dOjVYNxPmRtWrls2hT2EnjW9tXmg1xFmrA
	 5ss1Wf6Nr2Gvw==
From: SeongJae Park <sj@kernel.org>
To: Maximilian Heyne <mheyne@amazon.de>
Cc: =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	"Jens Axboe" <axboe@kernel.dk>,
	"Boris Ostrovsky" <boris.ostrovsky@oracle.com>,
	"Anthony Liguori" <aliguori@amazon.com>,
	"SeongJae Park" <sjpark@amazon.de>,
	"Juergen Gross" <jgross@suse.com>,
	xen-devel@lists.xenproject.org,
	linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	stable@vger.kernel.org
Subject: Re: [PATCH] xen, blkback: fix persistent grants negotiation
Date: Thu,  6 Jan 2022 10:11:56 +0000
Message-Id: <20220106101156.16362-1-sj@kernel.org>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20220106091013.126076-1-mheyne@amazon.de>

From: SeongJae Park <sjpark@amazon.de>

On Thu, 6 Jan 2022 09:10:13 +0000 Maximilian Heyne <mheyne@amazon.de> wrote:

> Given dom0 supports persistent grants but the guest does not.
> Then, when attaching a block device during runtime of the guest, dom0
> will enable persistent grants for this newly attached block device:
> 
>   $ xenstore-ls -f | grep 20674 | grep persistent
>   /local/domain/0/backend/vbd/20674/768/feature-persistent = "0"
>   /local/domain/0/backend/vbd/20674/51792/feature-persistent = "1"
> 
> Here disk 768 was attached during guest creation while 51792 was
> attached at runtime. If the guest would have advertised the persistent
> grant feature, there would be a xenstore entry like:
> 
>   /local/domain/20674/device/vbd/51792/feature-persistent = "1"
> 
> Persistent grants are also used when the guest tries to access the disk
> which can be seen when enabling log stats:
> 
>   $ echo 1 > /sys/module/xen_blkback/parameters/log_stats
>   $ dmesg
>   xen-blkback: (20674.xvdf-0): oo   0  |  rd    0  |  wr    0  |  f    0 |  ds    0 | pg:    1/1056
> 
> The "pg: 1/1056" shows that one persistent grant is used.
> 
> Before commit aac8a70db24b ("xen-blkback: add a parameter for disabling
> of persistent grants") vbd->feature_gnt_persistent was set in
> connect_ring. After the commit it was intended to be initialized in
> xen_vbd_create and then set according to the guest feature availability
> in connect_ring. However, with a running guest, connect_ring might be
> called before xen_vbd_create and vbd->feature_gnt_persistent will be
> incorrectly initialized. xen_vbd_create will overwrite it with the value
> of feature_persistent regardless whether the guest actually supports
> persistent grants.
> 
> With this commit, vbd->feature_gnt_persistent is set only in
> connect_ring and this is the only use of the module parameter
> feature_persistent. This avoids races when the module parameter changes
> during the block attachment process.
> 
> Note that vbd->feature_gnt_persistent doesn't need to be initialized in
> xen_vbd_create. It's next use is in connect which can only be called
> once connect_ring has initialized the rings. xen_update_blkif_status is
> checking for this.
> 
> Fixes: aac8a70db24b ("xen-blkback: add a parameter for disabling of persistent grants")
> Signed-off-by: Maximilian Heyne <mheyne@amazon.de>

Thank you for this patch!

Reviewed-by: SeongJae Park <sjpark@amazon.de>

Also, I guess this tag is needed?

Cc: <stable@vger.kernel.org> # 5.10.x


Thanks,
SJ

> ---
>  drivers/block/xen-blkback/xenbus.c | 9 +++------
>  1 file changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/block/xen-blkback/xenbus.c b/drivers/block/xen-blkback/xenbus.c
> index 914587aabca0c..51b6ec0380ca4 100644
> --- a/drivers/block/xen-blkback/xenbus.c
> +++ b/drivers/block/xen-blkback/xenbus.c
> @@ -522,8 +522,6 @@ static int xen_vbd_create(struct xen_blkif *blkif, blkif_vdev_t handle,
>  	if (q && blk_queue_secure_erase(q))
>  		vbd->discard_secure = true;
>  
> -	vbd->feature_gnt_persistent = feature_persistent;
> -
>  	pr_debug("Successful creation of handle=%04x (dom=%u)\n",
>  		handle, blkif->domid);
>  	return 0;
> @@ -1090,10 +1088,9 @@ static int connect_ring(struct backend_info *be)
>  		xenbus_dev_fatal(dev, err, "unknown fe protocol %s", protocol);
>  		return -ENOSYS;
>  	}
> -	if (blkif->vbd.feature_gnt_persistent)
> -		blkif->vbd.feature_gnt_persistent =
> -			xenbus_read_unsigned(dev->otherend,
> -					"feature-persistent", 0);
> +
> +	blkif->vbd.feature_gnt_persistent = feature_persistent &&
> +		xenbus_read_unsigned(dev->otherend, "feature-persistent", 0);
>  
>  	blkif->vbd.overflow_max_grants = 0;
>  
> -- 
> 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 Jan 06 11:02:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 11:02:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253891.435186 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5QX9-0008CS-Or; Thu, 06 Jan 2022 11:02:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253891.435186; Thu, 06 Jan 2022 11: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 1n5QX9-0008CL-Lp; Thu, 06 Jan 2022 11:02:15 +0000
Received: by outflank-mailman (input) for mailman id 253891;
 Thu, 06 Jan 2022 11:02:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qsn0=RW=gmail.com=dunlapg@srs-se1.protection.inumbo.net>)
 id 1n5QX8-0008CF-DK
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 11:02:14 +0000
Received: from mail-yb1-xb30.google.com (mail-yb1-xb30.google.com
 [2607:f8b0:4864:20::b30])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1927279b-6ee0-11ec-9ce5-af14b9085ebd;
 Thu, 06 Jan 2022 12:02:12 +0100 (CET)
Received: by mail-yb1-xb30.google.com with SMTP id o185so6156167ybo.12
 for <xen-devel@lists.xenproject.org>; Thu, 06 Jan 2022 03:02:12 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1927279b-6ee0-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=umich.edu; s=google-2016-06-03;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=k9A9go9a2p//XCfC1lqlfiFDO5x8dgJoDuJqL8exbII=;
        b=M/ulQOZZLNR9GY/KH7dikHtVb7SZ/t6RJu9ZjcKnq+nvIuWr8fwzPsXSychEiAFj19
         vYS4FdCfecDrZaj5TETERu3LRzEiF+ZQbJcH21RLvETbBfD/An2aXf/h+s2PCr6pte/i
         Z0MsIL7H9dcdfPSTZ89Mv9txJuc8tdMcft8bsxxEtvsA5KGhTuhboKmadoJZ2jKMLaL0
         lJtJEbbHxak3XsuudXkJEM1+gRCMswMTLFG4K1HMOKgP91Ft5TLZIin9UPlDfOA6Kv34
         pQ2NhsTLP4eQUcTAalILVdFTcTu83zs8xrxtqSitP3brslijPHcOHs1n+2jo/xdJM6Dt
         AlVQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=k9A9go9a2p//XCfC1lqlfiFDO5x8dgJoDuJqL8exbII=;
        b=cceGhPzCnsxVy8EwYG38/dZ21C62w4rZqAc6dUBnvJksa35D79mh4+0hewN6p4EBPJ
         PCPbq36IPOuhPo40gYO7+Ia8vw2IZRK3yr0xdo1hIbQ3CureGE4JnDJZi2yyI2tmg665
         c2NFSjiw5mKJUytW8nFHfUMe7NvDDUMctqSXZteP+9eKceOXzhPuQ84K7LJaKOLOE+eH
         LeEs47Z25wJeRx45VL4wO/KjSJkTNdyoPx4u9TqanEH7akbJxNLN2joSGxqfdTaBZ/Je
         mq8QRgPeUrL02FRVXx5wgjJi6GIrTIdL8HLdrVIYFNYPV76JRQU/76hMe8DALtaRZKhb
         3Tgg==
X-Gm-Message-State: AOAM531MuRTEWyL1oLUdgwCyrRgc/rT8eIUAa6xLTSHprGTOsPp9QDEP
	JZ/ySqOej9DyZZOE6oY6dkPhrFUvUygP9bP5ZTU=
X-Google-Smtp-Source: ABdhPJyLzm1+tp8oP4Hz+lTjuB+jCGyhVwziiT1mEoNAz6vflZIS6dXTn2WOEzr2rAKNRKPhaP6sqy9pNzDTDb0ALYA=
X-Received: by 2002:a25:414d:: with SMTP id o74mr27466yba.158.1641466931081;
 Thu, 06 Jan 2022 03:02:11 -0800 (PST)
MIME-Version: 1.0
References: <CAN2gxUQmsa=ONQqj0-3PZ2oxp-QVMgsm0BQ+q=-LWwmWTqwMZg@mail.gmail.com>
In-Reply-To: <CAN2gxUQmsa=ONQqj0-3PZ2oxp-QVMgsm0BQ+q=-LWwmWTqwMZg@mail.gmail.com>
From: George Dunlap <dunlapg@umich.edu>
Date: Thu, 6 Jan 2022 11:02:00 +0000
Message-ID: <CAFLBxZazbQUF5bXw=yxM7+48KVVz_rJoi8UWrH83Ln-j40u9PA@mail.gmail.com>
Subject: Re: scheduler credit capture
To: amir masoud noohi <highlimner@gmail.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>
Content-Type: multipart/alternative; boundary="00000000000056753405d4e7cd12"

--00000000000056753405d4e7cd12
Content-Type: text/plain; charset="UTF-8"

On Wed, Jan 5, 2022 at 2:45 PM amir masoud noohi <highlimner@gmail.com>
wrote:

> Hi Everyone,
>
> Today I'm looking for capturing vCPU credit for both credit1 and credit2.
> How can I do that?
>

Can you explain what you mean by "capture vCPU credit"?  Do you mean you
want to log or sample changes to it?

 -George

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

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Wed, Jan 5, 2022 at 2:45 PM amir m=
asoud noohi &lt;<a href=3D"mailto:highlimner@gmail.com">highlimner@gmail.co=
m</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin=
:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"=
><div dir=3D"ltr"><div style=3D"font-family:trebuchet ms,sans-serif">Hi Eve=
ryone,</div><div style=3D"font-family:trebuchet ms,sans-serif"><br></div><d=
iv style=3D"font-family:trebuchet ms,sans-serif">Today I&#39;m looking for =
capturing vCPU credit for both credit1 and credit2.=C2=A0</div><div style=
=3D"font-family:trebuchet ms,sans-serif">How can I do that?=C2=A0</div></di=
v></blockquote><div><br></div><div>Can you explain what you mean by &quot;c=
apture vCPU credit&quot;?=C2=A0 Do you mean you want to log or sample chang=
es to it?<br></div><div><br></div><div>=C2=A0-George<br></div></div></div>

--00000000000056753405d4e7cd12--


From xen-devel-bounces@lists.xenproject.org Thu Jan 06 11:20:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 11:20:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253896.435198 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5Qns-0001Ot-DK; Thu, 06 Jan 2022 11:19:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253896.435198; Thu, 06 Jan 2022 11:19:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5Qns-0001Om-8g; Thu, 06 Jan 2022 11:19:32 +0000
Received: by outflank-mailman (input) for mailman id 253896;
 Thu, 06 Jan 2022 11:19: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 1n5Qnr-0001Oc-Al; Thu, 06 Jan 2022 11:19: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 1n5Qnq-0002Xv-Gd; Thu, 06 Jan 2022 11:19:30 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n5Qnp-00088u-QW; Thu, 06 Jan 2022 11:19:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n5Qnp-0006Vn-Pt; Thu, 06 Jan 2022 11:19:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=HrDw/P8kild18zmJPcohpvqEnTqdiHpKB7+WSUqEKMo=; b=MqawipUElkL/M8R9U+cblOp7Bw
	X72NOs5DWATzivYGYcJVj2WEuB/O1/PPjP0BdcyJnDoxtTpjsa+N0i/rwuG/DzXryeHg3YfamPjkD
	JHPMCWNHpY3+Q7N44DVuJs++JMYBvy9CUAxeUrFP0/8/NybF8NwHmWa+AjqkQaJkMMYQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167615-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167615: 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-armhf-armhf-libvirt-qcow2: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-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm: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-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2: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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-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-libvirt: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-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-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-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=7d4ae4d4978079d564d3b6354c90a949130409fe
X-Osstest-Versions-That:
    qemuu=fb084237a3b78b20fd9d888dffd673b6656ea3be
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 06 Jan 2022 11:19:29 +0000

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

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

version targeted for testing:
 qemuu                7d4ae4d4978079d564d3b6354c90a949130409fe
baseline version:
 qemuu                fb084237a3b78b20fd9d888dffd673b6656ea3be

Last test of basis   167611  2022-01-05 14:09:38 Z    0 days
Testing same since   167615  2022-01-05 22:08:20 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Cornelia Huck <cohuck@redhat.com>
  Cédric Le Goater <clg@kaod.org>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Michal Prívozník <mprivozn@redhat.com>
  Philippe Mathieu-Daudé <philmd@redhat.com>
  Richard Henderson <richard.henderson@linaro.org>
  Thomas Huth <thuth@redhat.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   fb084237a3..7d4ae4d497  7d4ae4d4978079d564d3b6354c90a949130409fe -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Thu Jan 06 11:58:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 11:58:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253912.435253 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5RP9-0006GL-3o; Thu, 06 Jan 2022 11:58:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253912.435253; Thu, 06 Jan 2022 11: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 1n5RP8-0006Di-Pa; Thu, 06 Jan 2022 11:58:02 +0000
Received: by outflank-mailman (input) for mailman id 253912;
 Thu, 06 Jan 2022 11:58:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kr4l=RW=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n5RP7-0005Uf-Hh
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 11:58:01 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e38d72f9-6ee7-11ec-9ce5-af14b9085ebd;
 Thu, 06 Jan 2022 12:57:57 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 65C0B212FE;
 Thu,  6 Jan 2022 11:57: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 3BE7213C0D;
 Thu,  6 Jan 2022 11:57:56 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id uGJfDUTZ1mHnJgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 06 Jan 2022 11:57: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: e38d72f9-6ee7-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641470276; h=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=bmVybJWUa0fFpI1LcBKz9xhn6xImelv7T4pQq8L9wmI=;
	b=Fs+UM/pWdDVvJXN8OAMiyiD3OkCUNAbWinIFWd/F0qaF9KZkPplY/ZsLiQrZC5bn42+yzU
	DXYYsyjqIiH0Rcz4eufKAnteQTq+nh0x3TnCxrLaV/ystB9ur0TWc/5DIhjbgmzk3M7jbW
	H9NWENjKQdu5+qgvy5/2JYb2t1p3E/s=
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 06/15] mini-os: eliminate blkfront union member in struct file
Date: Thu,  6 Jan 2022 12:57:32 +0100
Message-Id: <20220106115741.3219-7-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220106115741.3219-1-jgross@suse.com>
References: <20220106115741.3219-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Replace the blkfront specific union member in struct file with the
common dev pointer.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 blkfront.c    | 6 +++---
 include/lib.h | 3 ---
 lib/sys.c     | 2 +-
 3 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/blkfront.c b/blkfront.c
index 8137106..e3f42be 100644
--- a/blkfront.c
+++ b/blkfront.c
@@ -562,13 +562,13 @@ int blkfront_open(struct blkfront_dev *dev)
     }
     dev->fd = alloc_fd(FTYPE_BLK);
     printk("blk_open(%s) -> %d\n", dev->nodename, dev->fd);
-    files[dev->fd].blk.dev = dev;
+    files[dev->fd].dev = dev;
     return dev->fd;
 }
 
 int blkfront_posix_rwop(int fd, uint8_t* buf, size_t count, int write)
 {
-   struct blkfront_dev* dev = files[fd].blk.dev;
+   struct blkfront_dev* dev = files[fd].dev;
    off_t offset = files[fd].offset;
    struct blkfront_aiocb aiocb;
    unsigned long long disksize = dev->info.sectors * dev->info.sector_size;
@@ -718,7 +718,7 @@ int blkfront_posix_rwop(int fd, uint8_t* buf, size_t count, int write)
 
 int blkfront_posix_fstat(int fd, struct stat* buf)
 {
-   struct blkfront_dev* dev = files[fd].blk.dev;
+   struct blkfront_dev* dev = files[fd].dev;
 
    buf->st_mode = dev->info.mode;
    buf->st_uid = 0;
diff --git a/include/lib.h b/include/lib.h
index 60aaf1c..3a40634 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -196,9 +196,6 @@ struct file {
 	struct {
 	    struct netfront_dev *dev;
 	} tap;
-	struct {
-	    struct blkfront_dev *dev;
-	} blk;
 	struct {
 	    struct kbdfront_dev *dev;
 	} kbd;
diff --git a/lib/sys.c b/lib/sys.c
index 1da7401..f2fdbdf 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -456,7 +456,7 @@ int close(int fd)
 #endif
 #ifdef CONFIG_BLKFRONT
 	case FTYPE_BLK:
-            shutdown_blkfront(files[fd].blk.dev);
+            shutdown_blkfront(files[fd].dev);
 	    files[fd].type = FTYPE_NONE;
 	    return 0;
 #endif
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Thu Jan 06 11:58:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 11:58:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253914.435270 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5RPA-0006fi-GV; Thu, 06 Jan 2022 11:58:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253914.435270; Thu, 06 Jan 2022 11:58:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5RPA-0006eH-Af; Thu, 06 Jan 2022 11:58:04 +0000
Received: by outflank-mailman (input) for mailman id 253914;
 Thu, 06 Jan 2022 11:58:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kr4l=RW=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n5RP8-0005Uf-Hj
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 11:58:02 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e2aad614-6ee7-11ec-9ce5-af14b9085ebd;
 Thu, 06 Jan 2022 12:57:57 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 02273212CB;
 Thu,  6 Jan 2022 11:57: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 CB74C13C0D;
 Thu,  6 Jan 2022 11:57:55 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id qKd1MEPZ1mHnJgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 06 Jan 2022 11:57:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e2aad614-6ee7-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641470276; h=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=51rtfDlnCwvtylJO0A+QuSOibmO2F89Q2mcJem6Kck0=;
	b=IvjSX2gexxgKdcxmktE+tINJhUGi/QHxpWqsA/JpnM5W2NBqMGPuSUjvaFJVxQeA5wmZjW
	OT3La1KL4bWX7a/BiEaFOG1LvEHxW4lWZYOk7Fp5s/0sN6CaP2Px082/dvXYmca2T+VlTK
	7CGQ19MKJH7vWWNYzP8tE+dm9LJ5g4A=
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 04/15] mini-os: replace multiple fd elements in struct file by common one
Date: Thu,  6 Jan 2022 12:57:30 +0100
Message-Id: <20220106115741.3219-5-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220106115741.3219-1-jgross@suse.com>
References: <20220106115741.3219-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The type specific union in struct files contains two instances of
"int fd". Replace them by a common one.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 include/lib.h |  9 +--------
 lib/sys.c     | 28 ++++++++++++++--------------
 2 files changed, 15 insertions(+), 22 deletions(-)

diff --git a/include/lib.h b/include/lib.h
index 4d9b14b..dc56f52 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -187,14 +187,7 @@ struct file {
     bool read;	/* maybe available for read */
     off_t offset;
     union {
-	struct {
-            /* lwIP fd */
-	    int fd;
-	} socket;
-	struct {
-            /* FS import fd */
-	    int fd;
-	} file;
+        int fd; /* Any fd from an upper layer. */
 	struct {
 	    struct evtchn_port_list ports;
 	} evtchn;
diff --git a/lib/sys.c b/lib/sys.c
index e1cea70..1da7401 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -258,7 +258,7 @@ int read(int fd, void *buf, size_t nbytes)
         }
 #ifdef HAVE_LWIP
 	case FTYPE_SOCKET:
-	    return lwip_read(files[fd].socket.fd, buf, nbytes);
+	    return lwip_read(files[fd].fd, buf, nbytes);
 #endif
 #ifdef CONFIG_NETFRONT
 	case FTYPE_TAP: {
@@ -335,7 +335,7 @@ int write(int fd, const void *buf, size_t nbytes)
 	    return nbytes;
 #ifdef HAVE_LWIP
 	case FTYPE_SOCKET:
-	    return lwip_write(files[fd].socket.fd, (void*) buf, nbytes);
+	    return lwip_write(files[fd].fd, (void*) buf, nbytes);
 #endif
 #ifdef CONFIG_NETFRONT
 	case FTYPE_TAP:
@@ -428,7 +428,7 @@ int close(int fd)
 #endif
 #ifdef HAVE_LWIP
 	case FTYPE_SOCKET: {
-	    int res = lwip_close(files[fd].socket.fd);
+	    int res = lwip_close(files[fd].fd);
 	    files[fd].type = FTYPE_NONE;
 	    return res;
 	}
@@ -594,7 +594,7 @@ int fcntl(int fd, int cmd, ...)
 	    if (files[fd].type == FTYPE_SOCKET && !(arg & ~O_NONBLOCK)) {
 		/* Only flag supported: non-blocking mode */
 		uint32_t nblock = !!(arg & O_NONBLOCK);
-		return lwip_ioctl(files[fd].socket.fd, FIONBIO, &nblock);
+		return lwip_ioctl(files[fd].fd, FIONBIO, &nblock);
 	    }
 	    /* Fallthrough */
 #endif
@@ -732,15 +732,15 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
     for (i = 0; i < nfds; i++) {
 	if (files[i].type == FTYPE_SOCKET) {
 	    if (FD_ISSET(i, readfds)) {
-		FD_SET(files[i].socket.fd, &sock_readfds);
+		FD_SET(files[i].fd, &sock_readfds);
 		sock_nfds = i+1;
 	    }
 	    if (FD_ISSET(i, writefds)) {
-		FD_SET(files[i].socket.fd, &sock_writefds);
+		FD_SET(files[i].fd, &sock_writefds);
 		sock_nfds = i+1;
 	    }
 	    if (FD_ISSET(i, exceptfds)) {
-		FD_SET(files[i].socket.fd, &sock_exceptfds);
+		FD_SET(files[i].fd, &sock_exceptfds);
 		sock_nfds = i+1;
 	    }
 	}
@@ -803,19 +803,19 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
 	case FTYPE_SOCKET:
 	    if (FD_ISSET(i, readfds)) {
 	        /* Optimize no-network-packet case.  */
-		if (sock_n && FD_ISSET(files[i].socket.fd, &sock_readfds))
+		if (sock_n && FD_ISSET(files[i].fd, &sock_readfds))
 		    n++;
 		else
 		    FD_CLR(i, readfds);
 	    }
             if (FD_ISSET(i, writefds)) {
-		if (sock_n && FD_ISSET(files[i].socket.fd, &sock_writefds))
+		if (sock_n && FD_ISSET(files[i].fd, &sock_writefds))
 		    n++;
 		else
 		    FD_CLR(i, writefds);
             }
             if (FD_ISSET(i, exceptfds)) {
-		if (sock_n && FD_ISSET(files[i].socket.fd, &sock_exceptfds))
+		if (sock_n && FD_ISSET(files[i].fd, &sock_exceptfds))
 		    n++;
 		else
 		    FD_CLR(i, exceptfds);
@@ -1112,7 +1112,7 @@ int socket(int domain, int type, int protocol)
 	return -1;
     res = alloc_fd(FTYPE_SOCKET);
     printk("socket -> %d\n", res);
-    files[res].socket.fd = fd;
+    files[res].fd = fd;
     return res;
 }
 
@@ -1124,11 +1124,11 @@ int accept(int s, struct sockaddr *addr, socklen_t *addrlen)
 	errno = EBADF;
 	return -1;
     }
-    fd = lwip_accept(files[s].socket.fd, addr, addrlen);
+    fd = lwip_accept(files[s].fd, addr, addrlen);
     if (fd < 0)
 	return -1;
     res = alloc_fd(FTYPE_SOCKET);
-    files[res].socket.fd = fd;
+    files[res].fd = fd;
     printk("accepted on %d -> %d\n", s, res);
     return res;
 }
@@ -1141,7 +1141,7 @@ ret name proto \
 	errno = EBADF; \
 	return -1; \
     } \
-    s = files[s].socket.fd; \
+    s = files[s].fd; \
     return lwip_##name args; \
 }
 
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Thu Jan 06 11:58:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 11:58:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253906.435213 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5RP6-0005X3-Gz; Thu, 06 Jan 2022 11:58:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253906.435213; Thu, 06 Jan 2022 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 1n5RP6-0005Ww-Cq; Thu, 06 Jan 2022 11:58:00 +0000
Received: by outflank-mailman (input) for mailman id 253906;
 Thu, 06 Jan 2022 11:57:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kr4l=RW=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n5RP4-0005UX-TC
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 11:57:58 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e25b206b-6ee7-11ec-81c0-a30af7de8005;
 Thu, 06 Jan 2022 12:57:57 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 69607212C7;
 Thu,  6 Jan 2022 11:57:55 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 3FA9513C4A;
 Thu,  6 Jan 2022 11:57:55 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id GIlQDkPZ1mHnJgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 06 Jan 2022 11:57:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e25b206b-6ee7-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641470275; h=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=5R3ZzVCzkcurvfIiXoJfZKNipObEjTIYIL/twAPEHmg=;
	b=GYmLaoTdv9YvOlvBOvK4jAtMwhOJg02clrHMZYqdYH2gUP1tTILJ7o37Z7FQ5HO9wAmyrg
	El4HB+u1kC1aILpOQx/jAZ086aghL5uPyYeTLbrCTIPQZUnylW1T3F8KWm0rcei1XFxUvF
	l+oBSTjAAbERdNv+A6AlQQg+WbaIGrA=
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 01/15] mini-os: split struct file definition from its usage
Date: Thu,  6 Jan 2022 12:57:27 +0100
Message-Id: <20220106115741.3219-2-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220106115741.3219-1-jgross@suse.com>
References: <20220106115741.3219-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Make the struct file definition standalone and use it for the
declaration of the files array.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 include/lib.h | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/include/lib.h b/include/lib.h
index 39d6a18..a638bc9 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -181,7 +181,7 @@ struct evtchn_port_info {
         int bound;
 };
 
-extern struct file {
+struct file {
     enum fd_type type;
     union {
 	struct {
@@ -236,7 +236,9 @@ extern struct file {
 #endif
     };
     int read;	/* maybe available for read */
-} files[];
+};
+
+extern struct file files[];
 
 int alloc_fd(enum fd_type type);
 void close_all_files(void);
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Thu Jan 06 11:58:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 11:58:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253908.435223 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5RP7-0005Zh-0z; Thu, 06 Jan 2022 11:58:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253908.435223; Thu, 06 Jan 2022 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 1n5RP6-0005Z6-NR; Thu, 06 Jan 2022 11:58:00 +0000
Received: by outflank-mailman (input) for mailman id 253908;
 Thu, 06 Jan 2022 11:57:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kr4l=RW=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n5RP5-0005Uf-HV
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 11:57:59 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e33f3c66-6ee7-11ec-9ce5-af14b9085ebd;
 Thu, 06 Jan 2022 12:57:57 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id EDC5B1F3A7;
 Thu,  6 Jan 2022 11:57: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 C5E4E13C0D;
 Thu,  6 Jan 2022 11:57:56 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id KPwkL0TZ1mHnJgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 06 Jan 2022 11:57: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: e33f3c66-6ee7-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641470276; h=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=pmQsTeEAO2F2JehoSUAYba8Y3ffpdoax96zqkTw3H6w=;
	b=SIUb5DfRwcn7TS4qWmIGSdd7G6qhQ/XrhDETu7o7sN0SC7IQBPp4/22hBxBXw10PqAnY9h
	P28ZPsi+nfl6AnKztBteqgLZ1OlxkDu1UPeDHwIfmUXRKyVzq4DEpZSVD8r37fY872FJEg
	7ywrBQ4TCoVf91mYmkMlD3GkklXXA7M=
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 09/15] mini-os: eliminate kbdfront union member in struct file
Date: Thu,  6 Jan 2022 12:57:35 +0100
Message-Id: <20220106115741.3219-10-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220106115741.3219-1-jgross@suse.com>
References: <20220106115741.3219-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Replace the kbdfront specific union member in struct file with the
common dev pointer.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 fbfront.c     | 2 +-
 include/lib.h | 3 ---
 lib/sys.c     | 4 ++--
 3 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/fbfront.c b/fbfront.c
index c8410af..1e055fb 100644
--- a/fbfront.c
+++ b/fbfront.c
@@ -302,7 +302,7 @@ int kbdfront_open(struct kbdfront_dev *dev)
 {
     dev->fd = alloc_fd(FTYPE_KBD);
     printk("kbd_open(%s) -> %d\n", dev->nodename, dev->fd);
-    files[dev->fd].kbd.dev = dev;
+    files[dev->fd].dev = dev;
     return dev->fd;
 }
 #endif
diff --git a/include/lib.h b/include/lib.h
index 2a9a01c..5201ed7 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -196,9 +196,6 @@ struct file {
 	struct {
 	    struct netfront_dev *dev;
 	} tap;
-	struct {
-	    struct kbdfront_dev *dev;
-	} kbd;
 #ifdef CONFIG_TPMFRONT
 	struct {
 	   struct tpmfront_dev *dev;
diff --git a/lib/sys.c b/lib/sys.c
index 2d48657..8c7ea3c 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -275,7 +275,7 @@ int read(int fd, void *buf, size_t nbytes)
         case FTYPE_KBD: {
             int ret, n;
             n = nbytes / sizeof(union xenkbd_in_event);
-            ret = kbdfront_receive(files[fd].kbd.dev, buf, n);
+            ret = kbdfront_receive(files[fd].dev, buf, n);
 	    if (ret <= 0) {
 		errno = EAGAIN;
 		return -1;
@@ -474,7 +474,7 @@ int close(int fd)
 #endif
 #ifdef CONFIG_KBDFRONT
 	case FTYPE_KBD:
-            shutdown_kbdfront(files[fd].kbd.dev);
+            shutdown_kbdfront(files[fd].dev);
             files[fd].type = FTYPE_NONE;
             return 0;
 #endif
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Thu Jan 06 11:58:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 11:58:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253911.435246 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5RP8-000656-Cs; Thu, 06 Jan 2022 11:58:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253911.435246; Thu, 06 Jan 2022 11:58:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5RP8-00064G-7B; Thu, 06 Jan 2022 11:58:02 +0000
Received: by outflank-mailman (input) for mailman id 253911;
 Thu, 06 Jan 2022 11:58:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kr4l=RW=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n5RP6-0005UX-TZ
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 11:58:00 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e2cc6d54-6ee7-11ec-81c0-a30af7de8005;
 Thu, 06 Jan 2022 12:57:57 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 366F4212CC;
 Thu,  6 Jan 2022 11:57: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 0300413C4A;
 Thu,  6 Jan 2022 11:57:55 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id EOQ0O0PZ1mHnJgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 06 Jan 2022 11:57:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e2cc6d54-6ee7-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641470276; h=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=tru95lucHl6eXrRSEYruYf0s6MYSR/EyxinHg1pggO4=;
	b=fmz1LjyfMYD45R5dtM/5FppITveTaKMBnCxcp5u+H90M+u/rLZ2qgn5y/Q1sGv+gqgantT
	zDfi7S/BqLf1DvsOm6Hs7kDtIoet8QicZZBKW/TZVHUa23mV3cjYkcGOiK/JojiXXY0VMu
	MKhmsH0TsZytENYwJWvROX3ruUOcx5g=
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 05/15] mini-os: introduce a common dev pointer in struct file
Date: Thu,  6 Jan 2022 12:57:31 +0100
Message-Id: <20220106115741.3219-6-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220106115741.3219-1-jgross@suse.com>
References: <20220106115741.3219-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

There are many dev pointers in a union in struct file. Prepare to
switch to a single one by introducing a new common one.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 include/lib.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/include/lib.h b/include/lib.h
index dc56f52..60aaf1c 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -188,6 +188,7 @@ struct file {
     off_t offset;
     union {
         int fd; /* Any fd from an upper layer. */
+        void *dev;
 	struct {
 	    struct evtchn_port_list ports;
 	} evtchn;
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Thu Jan 06 11:58:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 11:58:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253915.435276 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5RPB-0006mP-40; Thu, 06 Jan 2022 11:58:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253915.435276; Thu, 06 Jan 2022 11: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 1n5RPA-0006lY-QZ; Thu, 06 Jan 2022 11:58:04 +0000
Received: by outflank-mailman (input) for mailman id 253915;
 Thu, 06 Jan 2022 11:58:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kr4l=RW=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n5RP8-0005UX-U5
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 11:58:02 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e3256124-6ee7-11ec-81c0-a30af7de8005;
 Thu, 06 Jan 2022 12:57:57 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id C0B481F3A6;
 Thu,  6 Jan 2022 11:57: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 9736213C0D;
 Thu,  6 Jan 2022 11:57:56 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id IMWmI0TZ1mHnJgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 06 Jan 2022 11:57: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: e3256124-6ee7-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641470276; h=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=xErc7oBdwTzw610yqw3gpLQCyn3qczdDyg0iihAjKQM=;
	b=IPtmfN6P3iEoVunr9mUcXaEj1i9fEgD3m65LtDMKgeHnVLAeEOiyoc4jqCH8r1Bd22Fs8L
	Id1HWyvbLUUr4Vpj8VUNJaAxMAN+p3bdGBePEoP2sjnWYsNTpDV1K4H/lChVa+MDcsSAki
	sLfOeG7xXhvmJIT/1PJGOH6yOstLcNU=
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 08/15] mini-os: eliminate fbfront union member in struct file
Date: Thu,  6 Jan 2022 12:57:34 +0100
Message-Id: <20220106115741.3219-9-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220106115741.3219-1-jgross@suse.com>
References: <20220106115741.3219-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Replace the fbfront specific union member in struct file with the
common dev pointer.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 fbfront.c     | 2 +-
 include/lib.h | 3 ---
 lib/sys.c     | 4 ++--
 3 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/fbfront.c b/fbfront.c
index 6725da1..c8410af 100644
--- a/fbfront.c
+++ b/fbfront.c
@@ -703,7 +703,7 @@ int fbfront_open(struct fbfront_dev *dev)
 {
     dev->fd = alloc_fd(FTYPE_FB);
     printk("fb_open(%s) -> %d\n", dev->nodename, dev->fd);
-    files[dev->fd].fb.dev = dev;
+    files[dev->fd].dev = dev;
     return dev->fd;
 }
 #endif
diff --git a/include/lib.h b/include/lib.h
index 0cedae6..2a9a01c 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -199,9 +199,6 @@ struct file {
 	struct {
 	    struct kbdfront_dev *dev;
 	} kbd;
-	struct {
-	    struct fbfront_dev *dev;
-	} fb;
 #ifdef CONFIG_TPMFRONT
 	struct {
 	   struct tpmfront_dev *dev;
diff --git a/lib/sys.c b/lib/sys.c
index 62c2020..2d48657 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -287,7 +287,7 @@ int read(int fd, void *buf, size_t nbytes)
         case FTYPE_FB: {
             int ret, n;
             n = nbytes / sizeof(union xenfb_in_event);
-            ret = fbfront_receive(files[fd].fb.dev, buf, n);
+            ret = fbfront_receive(files[fd].dev, buf, n);
 	    if (ret <= 0) {
 		errno = EAGAIN;
 		return -1;
@@ -480,7 +480,7 @@ int close(int fd)
 #endif
 #ifdef CONFIG_FBFRONT
 	case FTYPE_FB:
-            shutdown_fbfront(files[fd].fb.dev);
+            shutdown_fbfront(files[fd].dev);
             files[fd].type = FTYPE_NONE;
             return 0;
 #endif
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Thu Jan 06 11:58:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 11:58:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253918.435295 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5RPD-0007D2-1w; Thu, 06 Jan 2022 11:58:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253918.435295; Thu, 06 Jan 2022 11:58:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5RPC-0007CE-Rc; Thu, 06 Jan 2022 11:58:06 +0000
Received: by outflank-mailman (input) for mailman id 253918;
 Thu, 06 Jan 2022 11:58:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kr4l=RW=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n5RPA-0005Uf-Hx
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 11:58:04 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e3b29e51-6ee7-11ec-9ce5-af14b9085ebd;
 Thu, 06 Jan 2022 12:57:57 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 848E31F3A9;
 Thu,  6 Jan 2022 11:57:57 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 5D05713C0D;
 Thu,  6 Jan 2022 11:57:57 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id UFlkFUXZ1mHnJgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 06 Jan 2022 11:57:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e3b29e51-6ee7-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641470277; h=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=OlUsXgmJVXs1bcrolch8AFDDMEltM2NC+VAU9LgoD0k=;
	b=lfHgdbJ6+meI0zCgqlYs1d1O3JM3OxV6m/IJ98l7HCddq4gKMv95J04jw6VHtAscXrHoLX
	QomAKyIBBAHOEqFzYEsSUk9GU/Ju7rEZ9dWchvkvyCDOqvQ073CobaOV4aQlduMxHyduQG
	kc4m6V9oqCFAeQGXoSwjiejWAfD6c6U=
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 12/15] mini-os: eliminate tpmfront union member in struct file
Date: Thu,  6 Jan 2022 12:57:38 +0100
Message-Id: <20220106115741.3219-13-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220106115741.3219-1-jgross@suse.com>
References: <20220106115741.3219-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Replace the tpmfront specific union member in struct file with the
common dev pointer.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 include/lib.h | 5 -----
 lib/sys.c     | 2 +-
 tpmfront.c    | 8 ++++----
 3 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/include/lib.h b/include/lib.h
index d740065..2ddc076 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -193,11 +193,6 @@ struct file {
 	    struct evtchn_port_list ports;
 	} evtchn;
 	struct gntmap gntmap;
-#ifdef CONFIG_TPMFRONT
-	struct {
-	   struct tpmfront_dev *dev;
-	} tpmfront;
-#endif
 #ifdef CONFIG_TPM_TIS
 	struct {
 	   struct tpm_chip *dev;
diff --git a/lib/sys.c b/lib/sys.c
index b35e433..b042bf5 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -462,7 +462,7 @@ int close(int fd)
 #endif
 #ifdef CONFIG_TPMFRONT
 	case FTYPE_TPMFRONT:
-            shutdown_tpmfront(files[fd].tpmfront.dev);
+            shutdown_tpmfront(files[fd].dev);
 	    files[fd].type = FTYPE_NONE;
 	    return 0;
 #endif
diff --git a/tpmfront.c b/tpmfront.c
index be671c2..0a2fefc 100644
--- a/tpmfront.c
+++ b/tpmfront.c
@@ -538,7 +538,7 @@ int tpmfront_open(struct tpmfront_dev* dev)
 
    dev->fd = alloc_fd(FTYPE_TPMFRONT);
    printk("tpmfront_open(%s) -> %d\n", dev->nodename, dev->fd);
-   files[dev->fd].tpmfront.dev = dev;
+   files[dev->fd].dev = dev;
    dev->respgot = false;
    return dev->fd;
 }
@@ -547,7 +547,7 @@ int tpmfront_posix_write(int fd, const uint8_t* buf, size_t count)
 {
    int rc;
    struct tpmfront_dev* dev;
-   dev = files[fd].tpmfront.dev;
+   dev = files[fd].dev;
 
    if(count == 0) {
       return 0;
@@ -573,7 +573,7 @@ int tpmfront_posix_read(int fd, uint8_t* buf, size_t count)
    size_t dummysz;
    struct tpmfront_dev* dev;
 
-   dev = files[fd].tpmfront.dev;
+   dev = files[fd].dev;
 
    if(count == 0) {
       return 0;
@@ -606,7 +606,7 @@ int tpmfront_posix_fstat(int fd, struct stat* buf)
    uint8_t* dummybuf;
    size_t dummysz;
    int rc;
-   struct tpmfront_dev* dev = files[fd].tpmfront.dev;
+   struct tpmfront_dev* dev = files[fd].dev;
 
    /* If we have a response waiting, then read it now from the backend
     * so we can get its length*/
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Thu Jan 06 11:58:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 11:58:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253919.435303 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5RPD-0007Kw-SH; Thu, 06 Jan 2022 11:58:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253919.435303; Thu, 06 Jan 2022 11: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 1n5RPD-0007If-H4; Thu, 06 Jan 2022 11:58:07 +0000
Received: by outflank-mailman (input) for mailman id 253919;
 Thu, 06 Jan 2022 11:58:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kr4l=RW=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n5RPA-0005UX-U7
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 11:58:05 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e25b2073-6ee7-11ec-81c0-a30af7de8005;
 Thu, 06 Jan 2022 12:57:57 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 3B2E01F39A;
 Thu,  6 Jan 2022 11:57:55 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 0FF6913C0D;
 Thu,  6 Jan 2022 11:57:55 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 8I2WAkPZ1mHnJgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 06 Jan 2022 11:57:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e25b2073-6ee7-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641470275; h=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=xy0k3l1xwd14agj4JvTzTc/eAjXOd11zi0LH89vg72c=;
	b=nL2YWUlrAVrsTMR8+zPMRVVXeIakeDPzfRJNC2YZXyQCuDmauWD9pTn9blgxCUG4C/POqz
	uo7xm/yw1ORxfNbjEsLgjfxn7PFGFfAVOPG7/tZEkyS+OuD18HAWMSukIjTrxVAEv9jgVJ
	gGM3Me1nVO4ouW4cNltGqL4Afm6wRYo=
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 00/15] mini-os: remove struct file dependency from config
Date: Thu,  6 Jan 2022 12:57:26 +0100
Message-Id: <20220106115741.3219-1-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Today the layout of struct file is depending on the Mini-OS
configuration. This is especially bad as the layout is exported to
external users like the Xen libraries built for Mini-OS, and those
are being built only once for multiple stubdom configurations.

Today there is no direct problem resulting from this, as the main
difference between struct file layouts is a large union containing all
the device specific data for the different file types. The largest
union member is not configuration dependant, so the build is currently
not broken.

In order to avoid any future problems this patch series is eliminating
the configuration dependency by replacing most of the device specific
union members by a single pointer.

The two union members used by Xen libraries can't be replaced yet, as
those need to be switched to use the generic pointer first.

In order to hide the Mini-OS internal implementation of the files
array, the last patch is introducing a service function for obtaining
the pointer to struct file for a given file descriptor, which must be
used for that purpose by all Mini-OS external components.

Juergen Gross (15):
  mini-os: split struct file definition from its usage
  mini-os: makes file.read bool and move it ahead of device specific
    part
  mini-os: make offset a common struct file member for all types
  mini-os: replace multiple fd elements in struct file by common one
  mini-os: introduce a common dev pointer in struct file
  mini-os: eliminate blkfront union member in struct file
  mini-os: eliminate consfront union member in struct file
  mini-os: eliminate fbfront union member in struct file
  mini-os: eliminate kbdfront union member in struct file
  mini-os: eliminate netfront union member in struct file
  mini-os: move tpm respgot member of struct file to device specific
    data
  mini-os: eliminate tpmfront union member in struct file
  mini-os: eliminate tpmtis union member in struct file
  mini-os: eliminate xenbus union member in struct file
  mini-os: introduce get_file_from_fd()

 blkfront.c             |  15 +++---
 console/xencons_ring.c |   2 +-
 fbfront.c              |  16 +++----
 include/lib.h          |  59 ++++-------------------
 include/tpmfront.h     |   2 +
 lib/sys.c              | 103 ++++++++++++++++++++++-------------------
 lib/xs.c               |  13 +++---
 netfront.c             |   6 +--
 tpm_tis.c              |  23 ++++-----
 tpmfront.c             |  33 +++++++------
 10 files changed, 119 insertions(+), 153 deletions(-)

-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Thu Jan 06 11:58:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 11:58:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253923.435325 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5RPG-0007f8-6D; Thu, 06 Jan 2022 11:58:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253923.435325; Thu, 06 Jan 2022 11:58:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5RPF-0007b4-7N; Thu, 06 Jan 2022 11:58:09 +0000
Received: by outflank-mailman (input) for mailman id 253923;
 Thu, 06 Jan 2022 11:58:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kr4l=RW=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n5RPC-0005UX-UF
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 11:58:06 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e35b35a9-6ee7-11ec-81c0-a30af7de8005;
 Thu, 06 Jan 2022 12:57:57 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 282E51F3A8;
 Thu,  6 Jan 2022 11:57:57 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id F352113C0D;
 Thu,  6 Jan 2022 11:57:56 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id wIYpOkTZ1mHnJgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 06 Jan 2022 11:57: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: e35b35a9-6ee7-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641470277; h=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=yL3iNqERg5EulNmJK0ycoAwzGvfibMXTv4Vh1zCFUho=;
	b=G76wKbbFM05FStujvf/bF/czASQ6aHupL7jeNQeVnlWOFrqYUzFmSDKosGJMmltnA/LJJ1
	USaPHOqWwxFbc1FAgAlIiKlUdkyAmeCSIElV/7K0mSOEC9ssyWZDLzcz2jL3jI42sOvyY5
	C6hJQLbxXyqk3OonxIsIRRrHpEQI2/0=
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 10/15] mini-os: eliminate netfront union member in struct file
Date: Thu,  6 Jan 2022 12:57:36 +0100
Message-Id: <20220106115741.3219-11-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220106115741.3219-1-jgross@suse.com>
References: <20220106115741.3219-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Replace the netfront specific union member in struct file with the
common dev pointer.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 include/lib.h | 3 ---
 lib/sys.c     | 6 +++---
 netfront.c    | 2 +-
 3 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/include/lib.h b/include/lib.h
index 5201ed7..f2a124e 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -193,9 +193,6 @@ struct file {
 	    struct evtchn_port_list ports;
 	} evtchn;
 	struct gntmap gntmap;
-	struct {
-	    struct netfront_dev *dev;
-	} tap;
 #ifdef CONFIG_TPMFRONT
 	struct {
 	   struct tpmfront_dev *dev;
diff --git a/lib/sys.c b/lib/sys.c
index 8c7ea3c..b35e433 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -263,7 +263,7 @@ int read(int fd, void *buf, size_t nbytes)
 #ifdef CONFIG_NETFRONT
 	case FTYPE_TAP: {
 	    ssize_t ret;
-	    ret = netfront_receive(files[fd].tap.dev, buf, nbytes);
+	    ret = netfront_receive(files[fd].dev, buf, nbytes);
 	    if (ret <= 0) {
 		errno = EAGAIN;
 		return -1;
@@ -339,7 +339,7 @@ int write(int fd, const void *buf, size_t nbytes)
 #endif
 #ifdef CONFIG_NETFRONT
 	case FTYPE_TAP:
-	    netfront_xmit(files[fd].tap.dev, (void*) buf, nbytes);
+	    netfront_xmit(files[fd].dev, (void*) buf, nbytes);
 	    return nbytes;
 #endif
 #ifdef CONFIG_BLKFRONT
@@ -450,7 +450,7 @@ int close(int fd)
 #endif
 #ifdef CONFIG_NETFRONT
 	case FTYPE_TAP:
-	    shutdown_netfront(files[fd].tap.dev);
+	    shutdown_netfront(files[fd].dev);
 	    files[fd].type = FTYPE_NONE;
 	    return 0;
 #endif
diff --git a/netfront.c b/netfront.c
index a566e34..7696451 100644
--- a/netfront.c
+++ b/netfront.c
@@ -576,7 +576,7 @@ int netfront_tap_open(char *nodename) {
     }
     dev->fd = alloc_fd(FTYPE_TAP);
     printk("tap_open(%s) -> %d\n", nodename, dev->fd);
-    files[dev->fd].tap.dev = dev;
+    files[dev->fd].dev = dev;
     return dev->fd;
 }
 #endif
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Thu Jan 06 11:58:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 11:58:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253924.435337 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5RPI-00083M-2G; Thu, 06 Jan 2022 11:58:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253924.435337; Thu, 06 Jan 2022 11:58:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5RPH-000814-2T; Thu, 06 Jan 2022 11:58:11 +0000
Received: by outflank-mailman (input) for mailman id 253924;
 Thu, 06 Jan 2022 11:58:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kr4l=RW=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n5RPD-0005Uf-IO
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 11:58:07 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e3c8adc9-6ee7-11ec-9ce5-af14b9085ebd;
 Thu, 06 Jan 2022 12:57:58 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id E0A1B1F39A;
 Thu,  6 Jan 2022 11:57:57 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id B94E213C0D;
 Thu,  6 Jan 2022 11:57:57 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id uKQXLEXZ1mHnJgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 06 Jan 2022 11:57:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e3c8adc9-6ee7-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641470277; h=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=M5iLDQMfkH8htZ3wRFumo5FkHynp/HKlFIcfl/LfGDo=;
	b=gh+DQlcESakDUkPTEJ1soZommb+igB4NL6JjGl9BJvgGVNIBS+t0hGxmsZzXWl5ejXlCDa
	r/HKGE594MTOyVJUoJU6atziAFjureSrxGbYvQ70Dyx4n6W5/nCfPX321J0E3+pHaBU9Hc
	ptRTDos2qr4ZF4LHh4aXkS2m1+1I2Sc=
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 14/15] mini-os: eliminate xenbus union member in struct file
Date: Thu,  6 Jan 2022 12:57:40 +0100
Message-Id: <20220106115741.3219-15-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220106115741.3219-1-jgross@suse.com>
References: <20220106115741.3219-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Replace the xenbus specific union member in struct file with the
common dev pointer.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 include/lib.h |  7 -------
 lib/sys.c     |  2 +-
 lib/xs.c      | 13 +++++++------
 3 files changed, 8 insertions(+), 14 deletions(-)

diff --git a/include/lib.h b/include/lib.h
index d6a29ba..91364ba 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -193,13 +193,6 @@ struct file {
 	    struct evtchn_port_list ports;
 	} evtchn;
 	struct gntmap gntmap;
-#ifdef CONFIG_XENBUS
-        struct {
-            /* To each xenbus FD is associated a queue of watch events for this
-             * FD.  */
-            xenbus_event_queue events;
-        } xenbus;
-#endif
     };
 };
 
diff --git a/lib/sys.c b/lib/sys.c
index 96fc769..6f2b026 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -776,7 +776,7 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
 #ifdef CONFIG_XENBUS
 	case FTYPE_XENBUS:
 	    if (FD_ISSET(i, readfds)) {
-                if (files[i].xenbus.events)
+                if (files[i].dev)
 		    n++;
 		else
 		    FD_CLR(i, readfds);
diff --git a/lib/xs.c b/lib/xs.c
index 324bd05..0459f52 100644
--- a/lib/xs.c
+++ b/lib/xs.c
@@ -21,8 +21,8 @@ static inline int _xs_fileno(struct xs_handle *h) {
 struct xs_handle *xs_daemon_open()
 {
     int fd = alloc_fd(FTYPE_XENBUS);
-    files[fd].xenbus.events = NULL;
-    printk("xs_daemon_open -> %d, %p\n", fd, &files[fd].xenbus.events);
+    files[fd].dev = NULL;
+    printk("xs_daemon_open -> %d, %p\n", fd, &files[fd].dev);
     return (void*)(intptr_t) fd;
 }
 
@@ -30,7 +30,7 @@ void xs_daemon_close(struct xs_handle *h)
 {
     int fd = _xs_fileno(h);
     struct xenbus_event *event, *next;
-    for (event = files[fd].xenbus.events; event; event = next)
+    for (event = files[fd].dev; event; event = next)
     {
         next = event->next;
         free(event);
@@ -172,15 +172,16 @@ bool xs_watch(struct xs_handle *h, const char *path, const char *token)
 {
     int fd = _xs_fileno(h);
     printk("xs_watch(%s, %s)\n", path, token);
-    return xs_bool(xenbus_watch_path_token(XBT_NULL, path, token, &files[fd].xenbus.events));
+    return xs_bool(xenbus_watch_path_token(XBT_NULL, path, token,
+                   (xenbus_event_queue *)&files[fd].dev));
 }
 
 char **xs_read_watch(struct xs_handle *h, unsigned int *num)
 {
     int fd = _xs_fileno(h);
     struct xenbus_event *event;
-    event = files[fd].xenbus.events;
-    files[fd].xenbus.events = event->next;
+    event = files[fd].dev;
+    files[fd].dev = event->next;
     printk("xs_read_watch() -> %s %s\n", event->path, event->token);
     *num = 2;
     return (char **) &event->path;
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Thu Jan 06 11:59:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 11:59:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253928.435362 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5RQ8-0003RI-S2; Thu, 06 Jan 2022 11:59:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253928.435362; Thu, 06 Jan 2022 11: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 1n5RQ8-0003R7-On; Thu, 06 Jan 2022 11:59:04 +0000
Received: by outflank-mailman (input) for mailman id 253928;
 Thu, 06 Jan 2022 11:59:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kr4l=RW=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n5RPI-0005UX-V6
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 11:58:13 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e291ef39-6ee7-11ec-81c0-a30af7de8005;
 Thu, 06 Jan 2022 12:57:57 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id C6A48212CA;
 Thu,  6 Jan 2022 11:57:55 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 9D50413C0D;
 Thu,  6 Jan 2022 11:57:55 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id kEA3JUPZ1mHnJgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 06 Jan 2022 11:57:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e291ef39-6ee7-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641470275; h=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=x+0vw1I/hfTGOGb3eceoyxjODZK0aOUWRIC/lcz6R4A=;
	b=DnqYS+/rPg5//MChMz/HOdqP5Q1i1bqqVHyPWXD5pJruUm9Y4E6Nocyg5xuU88hFWGpuTe
	uO+ouVJC7JCpecOGRkZJRapyFPp4pzys7X1krV8/MHNO/Rqf7NL/wdzWh1RITCv84zdV1w
	UVYvnXlsqpLGYSIfOfgR5KDTAyewOJE=
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 03/15] mini-os: make offset a common struct file member for all types
Date: Thu,  6 Jan 2022 12:57:29 +0100
Message-Id: <20220106115741.3219-4-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220106115741.3219-1-jgross@suse.com>
References: <20220106115741.3219-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently 4 file types have an offset member in their private struct
file part. Make offset a common struct member shared by all file types.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 blkfront.c    |  5 ++---
 include/lib.h |  5 +----
 lib/sys.c     | 14 +++++---------
 tpm_tis.c     | 11 +++++------
 tpmfront.c    | 11 +++++------
 5 files changed, 18 insertions(+), 28 deletions(-)

diff --git a/blkfront.c b/blkfront.c
index 7c8eb74..8137106 100644
--- a/blkfront.c
+++ b/blkfront.c
@@ -563,14 +563,13 @@ int blkfront_open(struct blkfront_dev *dev)
     dev->fd = alloc_fd(FTYPE_BLK);
     printk("blk_open(%s) -> %d\n", dev->nodename, dev->fd);
     files[dev->fd].blk.dev = dev;
-    files[dev->fd].blk.offset = 0;
     return dev->fd;
 }
 
 int blkfront_posix_rwop(int fd, uint8_t* buf, size_t count, int write)
 {
    struct blkfront_dev* dev = files[fd].blk.dev;
-   off_t offset = files[fd].blk.offset;
+   off_t offset = files[fd].offset;
    struct blkfront_aiocb aiocb;
    unsigned long long disksize = dev->info.sectors * dev->info.sector_size;
    unsigned int blocksize = dev->info.sector_size;
@@ -712,7 +711,7 @@ int blkfront_posix_rwop(int fd, uint8_t* buf, size_t count, int write)
    }
 
    free(copybuf);
-   files[fd].blk.offset += rc;
+   files[fd].offset += rc;
    return rc;
 
 }
diff --git a/include/lib.h b/include/lib.h
index df2de9e..4d9b14b 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -185,6 +185,7 @@ struct evtchn_port_info {
 struct file {
     enum fd_type type;
     bool read;	/* maybe available for read */
+    off_t offset;
     union {
 	struct {
             /* lwIP fd */
@@ -193,7 +194,6 @@ struct file {
 	struct {
             /* FS import fd */
 	    int fd;
-	    off_t offset;
 	} file;
 	struct {
 	    struct evtchn_port_list ports;
@@ -204,7 +204,6 @@ struct file {
 	} tap;
 	struct {
 	    struct blkfront_dev *dev;
-            off_t offset;
 	} blk;
 	struct {
 	    struct kbdfront_dev *dev;
@@ -219,14 +218,12 @@ struct file {
 	struct {
 	   struct tpmfront_dev *dev;
 	   int respgot;
-	   off_t offset;
 	} tpmfront;
 #endif
 #ifdef CONFIG_TPM_TIS
 	struct {
 	   struct tpm_chip *dev;
 	   int respgot;
-	   off_t offset;
 	} tpm_tis;
 #endif
 #ifdef CONFIG_XENBUS
diff --git a/lib/sys.c b/lib/sys.c
index e8d5eb2..e1cea70 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -107,6 +107,7 @@ int alloc_fd(enum fd_type type)
     for (i=0; i<NOFILE; i++) {
 	if (files[i].type == FTYPE_NONE) {
 	    files[i].type = type;
+            files[i].offset = 0;
 	    pthread_mutex_unlock(&fd_lock);
 	    return i;
 	}
@@ -363,25 +364,20 @@ int write(int fd, const void *buf, size_t nbytes)
 
 off_t lseek(int fd, off_t offset, int whence)
 {
-    off_t* target = NULL;
     switch(files[fd].type) {
 #ifdef CONFIG_BLKFRONT
        case FTYPE_BLK:
-          target = &files[fd].blk.offset;
           break;
 #endif
 #ifdef CONFIG_TPMFRONT
        case FTYPE_TPMFRONT:
-          target = &files[fd].tpmfront.offset;
           break;
 #endif
 #ifdef CONFIG_TPM_TIS
        case FTYPE_TPM_TIS:
-          target = &files[fd].tpm_tis.offset;
           break;
 #endif
        case FTYPE_FILE:
-          target = &files[fd].file.offset;
           break;
        default:
           /* Not implemented for this filetype */
@@ -391,10 +387,10 @@ off_t lseek(int fd, off_t offset, int whence)
 
     switch (whence) {
        case SEEK_SET:
-          *target = offset;
+          files[fd].offset = offset;
           break;
        case SEEK_CUR:
-          *target += offset;
+          files[fd].offset += offset;
           break;
        case SEEK_END:
           {
@@ -403,14 +399,14 @@ off_t lseek(int fd, off_t offset, int whence)
              ret = fstat(fd, &st);
              if (ret)
                 return -1;
-             *target = st.st_size + offset;
+             files[fd].offset = st.st_size + offset;
              break;
           }
        default:
           errno = EINVAL;
           return -1;
     }
-    return *target;
+    return files[fd].offset;
 }
 
 int fsync(int fd) {
diff --git a/tpm_tis.c b/tpm_tis.c
index 4a51027..8a632b1 100644
--- a/tpm_tis.c
+++ b/tpm_tis.c
@@ -847,7 +847,7 @@ int tpm_tis_send(struct tpm_chip* tpm, uint8_t* buf, size_t len) {
    if(tpm->fd >= 0) {
       files[tpm->fd].read = false;
       files[tpm->fd].tpm_tis.respgot = 0;
-      files[tpm->fd].tpm_tis.offset = 0;
+      files[tpm->fd].offset = 0;
    }
 #endif
    return len;
@@ -1290,7 +1290,6 @@ int tpm_tis_open(struct tpm_chip* tpm)
    tpm->fd = alloc_fd(FTYPE_TPM_TIS);
    printk("tpm_tis_open() -> %d\n", tpm->fd);
    files[tpm->fd].tpm_tis.dev = tpm;
-   files[tpm->fd].tpm_tis.offset = 0;
    files[tpm->fd].tpm_tis.respgot = 0;
    return tpm->fd;
 }
@@ -1340,13 +1339,13 @@ int tpm_tis_posix_read(int fd, uint8_t* buf, size_t count)
 
 
    /* Handle EOF case */
-   if(files[fd].tpm_tis.offset >= tpm->data_len) {
+   if(files[fd].offset >= tpm->data_len) {
       rc = 0;
    } else {
-      rc = min(tpm->data_len - files[fd].tpm_tis.offset, count);
-      memcpy(buf, tpm->data_buffer + files[fd].tpm_tis.offset, rc);
+      rc = min(tpm->data_len - files[fd].offset, count);
+      memcpy(buf, tpm->data_buffer + files[fd].offset, rc);
    }
-   files[fd].tpm_tis.offset += rc;
+   files[fd].offset += rc;
    /* Reset the data pending flag */
    return rc;
 }
diff --git a/tpmfront.c b/tpmfront.c
index d825b49..8b2a910 100644
--- a/tpmfront.c
+++ b/tpmfront.c
@@ -440,7 +440,7 @@ int tpmfront_send(struct tpmfront_dev* dev, const uint8_t* msg, size_t length)
    if(dev->fd >= 0) {
       files[dev->fd].read = false;
       files[dev->fd].tpmfront.respgot = 0;
-      files[dev->fd].tpmfront.offset = 0;
+      files[dev->fd].offset = 0;
    }
 #endif
    wmb();
@@ -539,7 +539,6 @@ int tpmfront_open(struct tpmfront_dev* dev)
    dev->fd = alloc_fd(FTYPE_TPMFRONT);
    printk("tpmfront_open(%s) -> %d\n", dev->nodename, dev->fd);
    files[dev->fd].tpmfront.dev = dev;
-   files[dev->fd].tpmfront.offset = 0;
    files[dev->fd].tpmfront.respgot = 0;
    return dev->fd;
 }
@@ -589,14 +588,14 @@ int tpmfront_posix_read(int fd, uint8_t* buf, size_t count)
    }
 
    /* handle EOF case */
-   if(files[dev->fd].tpmfront.offset >= dev->resplen) {
+   if(files[dev->fd].offset >= dev->resplen) {
       return 0;
    }
 
    /* Compute the number of bytes and do the copy operation */
-   if((rc = min(count, dev->resplen - files[dev->fd].tpmfront.offset)) != 0) {
-      memcpy(buf, dev->respbuf + files[dev->fd].tpmfront.offset, rc);
-      files[dev->fd].tpmfront.offset += rc;
+   if((rc = min(count, dev->resplen - files[dev->fd].offset)) != 0) {
+      memcpy(buf, dev->respbuf + files[dev->fd].offset, rc);
+      files[dev->fd].offset += rc;
    }
 
    return rc;
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Thu Jan 06 11:59:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 11:59:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253948.435385 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5RQq-0004QY-D0; Thu, 06 Jan 2022 11:59:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253948.435385; Thu, 06 Jan 2022 11:59:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5RQq-0004QR-8c; Thu, 06 Jan 2022 11:59:48 +0000
Received: by outflank-mailman (input) for mailman id 253948;
 Thu, 06 Jan 2022 11:59:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kr4l=RW=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n5RPE-0005UX-Ua
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 11:58:09 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e27cd5ea-6ee7-11ec-81c0-a30af7de8005;
 Thu, 06 Jan 2022 12:57:57 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 97BA6212C9;
 Thu,  6 Jan 2022 11:57:55 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 6E1E113C0D;
 Thu,  6 Jan 2022 11:57:55 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 4EmeGUPZ1mHnJgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 06 Jan 2022 11:57:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e27cd5ea-6ee7-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641470275; h=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=l6pifbgOadZ0E6Wgy90T2ZIm93BZS6I+9qz60NhwbHg=;
	b=he6FNPlM2m97aBvtYpvwfEY0RsYBMXKDCpgoUo/1sc9lUS1Jw7v153yVQr67iV30WlYYwb
	TOWWwtkX7hmthBY/Niu1bCvj74zvAk3lH5igNigLiWvhPtLizCsIjUHaznFBukOVdS5m++
	NZc6V59v90ZABblqWZQdsO9TPuHm/Zc=
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 02/15] mini-os: makes file.read bool and move it ahead of device specific part
Date: Thu,  6 Jan 2022 12:57:28 +0100
Message-Id: <20220106115741.3219-3-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220106115741.3219-1-jgross@suse.com>
References: <20220106115741.3219-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The read member of struct file should be bool.

In order to have the device specific part at the end of the structure
move "read" ahead of that.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 blkfront.c             |  4 ++--
 console/xencons_ring.c |  2 +-
 fbfront.c              | 12 ++++++------
 include/lib.h          |  3 ++-
 netfront.c             |  4 ++--
 tpm_tis.c              |  2 +-
 tpmfront.c             |  6 +++---
 7 files changed, 17 insertions(+), 16 deletions(-)

diff --git a/blkfront.c b/blkfront.c
index 834a978..7c8eb74 100644
--- a/blkfront.c
+++ b/blkfront.c
@@ -62,7 +62,7 @@ void blkfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
     int fd = dev->fd;
 
     if (fd != -1)
-        files[fd].read = 1;
+        files[fd].read = true;
 #endif
     wake_up(&blkfront_queue);
 }
@@ -484,7 +484,7 @@ int blkfront_aio_poll(struct blkfront_dev *dev)
 moretodo:
 #ifdef HAVE_LIBC
     if (dev->fd != -1) {
-        files[dev->fd].read = 0;
+        files[dev->fd].read = false;
         mb(); /* Make sure to let the handler set read to 1 before we start looking at the ring */
     }
 #endif
diff --git a/console/xencons_ring.c b/console/xencons_ring.c
index b6db74e..c348f3c 100644
--- a/console/xencons_ring.c
+++ b/console/xencons_ring.c
@@ -102,7 +102,7 @@ void console_handle_input(evtchn_port_t port, struct pt_regs *regs, void *data)
         int fd = dev ? dev->fd : -1;
 
         if (fd != -1)
-            files[fd].read = 1;
+            files[fd].read = true;
 
         wake_up(&console_queue);
 #else
diff --git a/fbfront.c b/fbfront.c
index d3b3848..6725da1 100644
--- a/fbfront.c
+++ b/fbfront.c
@@ -45,7 +45,7 @@ void kbdfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
     int fd = dev->fd;
 
     if (fd != -1)
-        files[fd].read = 1;
+        files[fd].read = true;
 #endif
     wake_up(&kbdfront_queue);
 }
@@ -207,7 +207,7 @@ int kbdfront_receive(struct kbdfront_dev *dev, union xenkbd_in_event *buf, int n
 
 #ifdef HAVE_LIBC
     if (dev->fd != -1) {
-        files[dev->fd].read = 0;
+        files[dev->fd].read = false;
         mb(); /* Make sure to let the handler set read to 1 before we start looking at the ring */
     }
 #endif
@@ -229,7 +229,7 @@ int kbdfront_receive(struct kbdfront_dev *dev, union xenkbd_in_event *buf, int n
 #ifdef HAVE_LIBC
     if (cons != prod && dev->fd != -1)
         /* still some events to read */
-        files[dev->fd].read = 1;
+        files[dev->fd].read = true;
 #endif
 
     return i;
@@ -349,7 +349,7 @@ void fbfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
     int fd = dev->fd;
 
     if (fd != -1)
-        files[fd].read = 1;
+        files[fd].read = true;
 #endif
     wake_up(&fbfront_queue);
 }
@@ -376,7 +376,7 @@ int fbfront_receive(struct fbfront_dev *dev, union xenfb_in_event *buf, int n)
 
 #ifdef HAVE_LIBC
     if (dev->fd != -1) {
-        files[dev->fd].read = 0;
+        files[dev->fd].read = false;
         mb(); /* Make sure to let the handler set read to 1 before we start looking at the ring */
     }
 #endif
@@ -398,7 +398,7 @@ int fbfront_receive(struct fbfront_dev *dev, union xenfb_in_event *buf, int n)
 #ifdef HAVE_LIBC
     if (cons != prod && dev->fd != -1)
         /* still some events to read */
-        files[dev->fd].read = 1;
+        files[dev->fd].read = true;
 #endif
 
     return i;
diff --git a/include/lib.h b/include/lib.h
index a638bc9..df2de9e 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -49,6 +49,7 @@
 #define _LIB_H_
 
 #include <stdarg.h>
+#include <stdbool.h>
 #include <stddef.h>
 #include <xen/xen.h>
 #include <xen/event_channel.h>
@@ -183,6 +184,7 @@ struct evtchn_port_info {
 
 struct file {
     enum fd_type type;
+    bool read;	/* maybe available for read */
     union {
 	struct {
             /* lwIP fd */
@@ -235,7 +237,6 @@ struct file {
         } xenbus;
 #endif
     };
-    int read;	/* maybe available for read */
 };
 
 extern struct file files[];
diff --git a/netfront.c b/netfront.c
index dfe065b..a566e34 100644
--- a/netfront.c
+++ b/netfront.c
@@ -255,7 +255,7 @@ void netfront_select_handler(evtchn_port_t port, struct pt_regs *regs, void *dat
     local_irq_restore(flags);
 
     if (fd != -1)
-        files[fd].read = 1;
+        files[fd].read = true;
     wake_up(&netfront_queue);
 }
 #endif
@@ -783,7 +783,7 @@ ssize_t netfront_receive(struct netfront_dev *dev, unsigned char *data, size_t l
     network_rx(dev);
     if (!dev->rlen && fd != -1)
         /* No data for us, make select stop returning */
-        files[fd].read = 0;
+        files[fd].read = false;
     /* Before re-enabling the interrupts, in case a packet just arrived in the
      * meanwhile. */
     local_irq_restore(flags);
diff --git a/tpm_tis.c b/tpm_tis.c
index 475ac5d..4a51027 100644
--- a/tpm_tis.c
+++ b/tpm_tis.c
@@ -845,7 +845,7 @@ int tpm_tis_send(struct tpm_chip* tpm, uint8_t* buf, size_t len) {
    }
 #ifdef HAVE_LIBC
    if(tpm->fd >= 0) {
-      files[tpm->fd].read = 0;
+      files[tpm->fd].read = false;
       files[tpm->fd].tpm_tis.respgot = 0;
       files[tpm->fd].tpm_tis.offset = 0;
    }
diff --git a/tpmfront.c b/tpmfront.c
index 6049244..d825b49 100644
--- a/tpmfront.c
+++ b/tpmfront.c
@@ -66,7 +66,7 @@ void tpmfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data) {
    dev->waiting = 0;
 #ifdef HAVE_LIBC
    if(dev->fd >= 0) {
-      files[dev->fd].read = 1;
+      files[dev->fd].read = true;
    }
 #endif
    wake_up(&dev->waitq);
@@ -438,7 +438,7 @@ int tpmfront_send(struct tpmfront_dev* dev, const uint8_t* msg, size_t length)
    dev->resplen = 0;
 #ifdef HAVE_LIBC
    if(dev->fd >= 0) {
-      files[dev->fd].read = 0;
+      files[dev->fd].read = false;
       files[dev->fd].tpmfront.respgot = 0;
       files[dev->fd].tpmfront.offset = 0;
    }
@@ -611,7 +611,7 @@ int tpmfront_posix_fstat(int fd, struct stat* buf)
 
    /* If we have a response waiting, then read it now from the backend
     * so we can get its length*/
-   if(dev->waiting || (files[dev->fd].read == 1 && !files[dev->fd].tpmfront.respgot)) {
+   if(dev->waiting || (files[dev->fd].read && !files[dev->fd].tpmfront.respgot)) {
       if ((rc = tpmfront_recv(dev, &dummybuf, &dummysz)) != 0) {
 	 errno = EIO;
 	 return -1;
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Thu Jan 06 12:00:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 12:00:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253954.435400 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5RRC-0005r7-7M; Thu, 06 Jan 2022 12:00:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253954.435400; Thu, 06 Jan 2022 12:00: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 1n5RRC-0005qy-3C; Thu, 06 Jan 2022 12:00:10 +0000
Received: by outflank-mailman (input) for mailman id 253954;
 Thu, 06 Jan 2022 12:00:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kr4l=RW=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n5RPK-0005UX-VB
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 11:58:15 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e38fef9d-6ee7-11ec-81c0-a30af7de8005;
 Thu, 06 Jan 2022 12:57:57 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 56DD521637;
 Thu,  6 Jan 2022 11:57:57 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 2F50613C0D;
 Thu,  6 Jan 2022 11:57:57 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id gJgyCkXZ1mHnJgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 06 Jan 2022 11:57:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e38fef9d-6ee7-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641470277; h=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=zRc5gY/92MrOjMdEN5JMRpsapAMAJSL5mvFXRrg0SZ8=;
	b=EINi4iUrnmV02sZOkEQ0aY0MAvCbGsD2i1M+BL96gDxQk8ndjP1Ku7fAFaGucY5P7HstbD
	nGCSejiWKdhxXJAYAWY1ON+bV8q5+Xo6L7ThJLjeLIGtAE4z/tNkJTAzoO2pxzssh6mziG
	1ssRJAkF0pweesDReQlfRaTtpuPCXmE=
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 11/15] mini-os: move tpm respgot member of struct file to device specific data
Date: Thu,  6 Jan 2022 12:57:37 +0100
Message-Id: <20220106115741.3219-12-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220106115741.3219-1-jgross@suse.com>
References: <20220106115741.3219-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Tpmfront has a "respgot" flag in struct file, which can be moved to the
device specific data. While at it make it a bool.

The respgot flag of the tpm_tis member of struct file can be removed,
as it is never read.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 include/lib.h      |  2 --
 include/tpmfront.h |  2 ++
 tpm_tis.c          |  2 --
 tpmfront.c         | 10 +++++-----
 4 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/include/lib.h b/include/lib.h
index f2a124e..d740065 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -196,13 +196,11 @@ struct file {
 #ifdef CONFIG_TPMFRONT
 	struct {
 	   struct tpmfront_dev *dev;
-	   int respgot;
 	} tpmfront;
 #endif
 #ifdef CONFIG_TPM_TIS
 	struct {
 	   struct tpm_chip *dev;
-	   int respgot;
 	} tpm_tis;
 #endif
 #ifdef CONFIG_XENBUS
diff --git a/include/tpmfront.h b/include/tpmfront.h
index c489fae..b7da50e 100644
--- a/include/tpmfront.h
+++ b/include/tpmfront.h
@@ -25,6 +25,7 @@
 #ifndef TPMFRONT_H
 #define TPMFRONT_H
 
+#include <stdbool.h>
 #include <mini-os/types.h>
 #include <mini-os/os.h>
 #include <mini-os/events.h>
@@ -53,6 +54,7 @@ struct tpmfront_dev {
 
 #ifdef HAVE_LIBC
    int fd;
+   bool respgot;
 #endif
 
 };
diff --git a/tpm_tis.c b/tpm_tis.c
index 8a632b1..4127118 100644
--- a/tpm_tis.c
+++ b/tpm_tis.c
@@ -846,7 +846,6 @@ int tpm_tis_send(struct tpm_chip* tpm, uint8_t* buf, size_t len) {
 #ifdef HAVE_LIBC
    if(tpm->fd >= 0) {
       files[tpm->fd].read = false;
-      files[tpm->fd].tpm_tis.respgot = 0;
       files[tpm->fd].offset = 0;
    }
 #endif
@@ -1290,7 +1289,6 @@ int tpm_tis_open(struct tpm_chip* tpm)
    tpm->fd = alloc_fd(FTYPE_TPM_TIS);
    printk("tpm_tis_open() -> %d\n", tpm->fd);
    files[tpm->fd].tpm_tis.dev = tpm;
-   files[tpm->fd].tpm_tis.respgot = 0;
    return tpm->fd;
 }
 
diff --git a/tpmfront.c b/tpmfront.c
index 8b2a910..be671c2 100644
--- a/tpmfront.c
+++ b/tpmfront.c
@@ -439,8 +439,8 @@ int tpmfront_send(struct tpmfront_dev* dev, const uint8_t* msg, size_t length)
 #ifdef HAVE_LIBC
    if(dev->fd >= 0) {
       files[dev->fd].read = false;
-      files[dev->fd].tpmfront.respgot = 0;
       files[dev->fd].offset = 0;
+      dev->respgot = false;
    }
 #endif
    wmb();
@@ -499,7 +499,7 @@ int i;
 #endif
 #ifdef HAVE_LIBC
    if(dev->fd >= 0) {
-      files[dev->fd].tpmfront.respgot = 1;
+      dev->respgot = true;
    }
 #endif
 quit:
@@ -539,7 +539,7 @@ int tpmfront_open(struct tpmfront_dev* dev)
    dev->fd = alloc_fd(FTYPE_TPMFRONT);
    printk("tpmfront_open(%s) -> %d\n", dev->nodename, dev->fd);
    files[dev->fd].tpmfront.dev = dev;
-   files[dev->fd].tpmfront.respgot = 0;
+   dev->respgot = false;
    return dev->fd;
 }
 
@@ -580,7 +580,7 @@ int tpmfront_posix_read(int fd, uint8_t* buf, size_t count)
    }
 
    /* get the response if we haven't already */
-   if(files[dev->fd].tpmfront.respgot == 0) {
+   if (!dev->respgot) {
       if ((rc = tpmfront_recv(dev, &dummybuf, &dummysz)) != 0) {
 	 errno = EIO;
 	 return -1;
@@ -610,7 +610,7 @@ int tpmfront_posix_fstat(int fd, struct stat* buf)
 
    /* If we have a response waiting, then read it now from the backend
     * so we can get its length*/
-   if(dev->waiting || (files[dev->fd].read && !files[dev->fd].tpmfront.respgot)) {
+   if(dev->waiting || (files[dev->fd].read && !dev->respgot)) {
       if ((rc = tpmfront_recv(dev, &dummybuf, &dummysz)) != 0) {
 	 errno = EIO;
 	 return -1;
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Thu Jan 06 12:00:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 12:00:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253963.435419 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5RRc-0006mY-Ju; Thu, 06 Jan 2022 12:00:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253963.435419; Thu, 06 Jan 2022 12:00:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5RRc-0006mR-Gi; Thu, 06 Jan 2022 12:00:36 +0000
Received: by outflank-mailman (input) for mailman id 253963;
 Thu, 06 Jan 2022 12:00:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kr4l=RW=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n5RPO-0005UX-Vf
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 11:58:18 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e3e64e6f-6ee7-11ec-81c0-a30af7de8005;
 Thu, 06 Jan 2022 12:57:58 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 188541F3A2;
 Thu,  6 Jan 2022 11:57:58 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id E4F1D13C0D;
 Thu,  6 Jan 2022 11:57:57 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id OCy1NkXZ1mHnJgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 06 Jan 2022 11:57:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e3e64e6f-6ee7-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641470278; h=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=+GsFFIwit/Rt80w572ZQFBg1V74eYMuV1hjsub3Nyy0=;
	b=j/mDeu9UoOTfcQ/Pp6xXG3woMs+R3iP731Yk+OmKxmC5o4xgv83dcLoIqnL4xgZF/KUkzW
	9lsqeKRBzTMviC0ajrCi4mO4MNc7tXWd9ZTMAMT9Wf38zyCnpyKxYdTNxs/ipBsp+j4eWv
	gMX/kIuCenCimRfwWjVkagf1Wrk9yHo=
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 15/15] mini-os: introduce get_file_from_fd()
Date: Thu,  6 Jan 2022 12:57:41 +0100
Message-Id: <20220106115741.3219-16-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220106115741.3219-1-jgross@suse.com>
References: <20220106115741.3219-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Exporting the files[] array especially for components outside the
mini-os source tree is limiting the ability to change any file handling
in mini-os.

Introduce a new function get_file_from_fd() to return the struct file
pointer (or NULL) for a given file descriptor.

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

diff --git a/include/lib.h b/include/lib.h
index 91364ba..7a0546b 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -198,6 +198,7 @@ struct file {
 
 extern struct file files[];
 
+struct file *get_file_from_fd(int fd);
 int alloc_fd(enum fd_type type);
 void close_all_files(void);
 extern struct thread *main_thread;
diff --git a/lib/sys.c b/lib/sys.c
index 6f2b026..0e6fe5d 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -98,6 +98,14 @@ struct file files[NOFILE] = {
     { .type = FTYPE_CONSOLE }, /* stderr */
 };
 
+struct file *get_file_from_fd(int fd)
+{
+    if ( fd < 0 || fd >= NOFILE )
+        return NULL;
+
+    return (files[fd].type == FTYPE_NONE) ? NULL : files + fd;
+}
+
 DECLARE_WAIT_QUEUE_HEAD(event_queue);
 
 int alloc_fd(enum fd_type type)
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Thu Jan 06 12:00:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 12:00:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253965.435430 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5RRe-00073q-Si; Thu, 06 Jan 2022 12:00:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253965.435430; Thu, 06 Jan 2022 12:00: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 1n5RRe-00073h-PI; Thu, 06 Jan 2022 12:00:38 +0000
Received: by outflank-mailman (input) for mailman id 253965;
 Thu, 06 Jan 2022 12:00:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kr4l=RW=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n5RPF-0005UX-UT
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 11:58:10 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e30200bb-6ee7-11ec-81c0-a30af7de8005;
 Thu, 06 Jan 2022 12:57:57 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 911F11F3A2;
 Thu,  6 Jan 2022 11:57: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 6968F13C0D;
 Thu,  6 Jan 2022 11:57:56 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id UFCSGETZ1mHnJgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 06 Jan 2022 11:57: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: e30200bb-6ee7-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641470276; h=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=0ADnCSUrVKDoJvsP7J4SKuUjUEXMRkB3QXB4kfD1iQE=;
	b=nkoh468iPXJMcFqUDXHeV++B8pzmUUI5aC7nUnBdGH5ZszTQtPxyUKPq4OU8SHE1WDw+x5
	PiPO+hD1IZXECQLPBYmFWcjpe3ilx/KRS9lTA9BFicOUyuumLBMYFQHZBLRtIFj/C/qdSR
	PjsikQERyv4EHkwiKW4TT7G5ry6t9Vs=
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 07/15] mini-os: eliminate consfront union member in struct file
Date: Thu,  6 Jan 2022 12:57:33 +0100
Message-Id: <20220106115741.3219-8-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220106115741.3219-1-jgross@suse.com>
References: <20220106115741.3219-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Replace the consfront specific union member in struct file with the
common dev pointer.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 include/lib.h |  3 ---
 lib/sys.c     | 31 +++++++++++++++++--------------
 2 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/include/lib.h b/include/lib.h
index 3a40634..0cedae6 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -202,9 +202,6 @@ struct file {
 	struct {
 	    struct fbfront_dev *dev;
 	} fb;
-	struct {
-	    struct consfront_dev *dev;
-	} cons;
 #ifdef CONFIG_TPMFRONT
 	struct {
 	   struct tpmfront_dev *dev;
diff --git a/lib/sys.c b/lib/sys.c
index f2fdbdf..62c2020 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -179,7 +179,7 @@ int posix_openpt(int flags)
 
     dev = init_consfront(NULL);
     dev->fd = alloc_fd(FTYPE_CONSOLE);
-    files[dev->fd].cons.dev = dev;
+    files[dev->fd].dev = dev;
 
     printk("fd(%d) = posix_openpt\n", dev->fd);
     return(dev->fd);
@@ -194,7 +194,7 @@ int open_savefile(const char *path, int save)
 
     dev = init_consfront(nodename);
     dev->fd = alloc_fd(FTYPE_SAVEFILE);
-    files[dev->fd].cons.dev = dev;
+    files[dev->fd].dev = dev;
 
     printk("fd(%d) = open_savefile\n", dev->fd);
     return(dev->fd);
@@ -248,7 +248,7 @@ int read(int fd, void *buf, size_t nbytes)
             DEFINE_WAIT(w);
             while(1) {
                 add_waiter(w, console_queue);
-                ret = xencons_ring_recv(files[fd].cons.dev, buf, nbytes);
+                ret = xencons_ring_recv(files[fd].dev, buf, nbytes);
                 if (ret)
                     break;
                 schedule();
@@ -324,14 +324,14 @@ int write(int fd, const void *buf, size_t nbytes)
         case FTYPE_SAVEFILE: {
                 int ret = 0, tot = nbytes;
                 while (nbytes > 0) {
-                    ret = xencons_ring_send(files[fd].cons.dev, (char *)buf, nbytes);
+                    ret = xencons_ring_send(files[fd].dev, (char *)buf, nbytes);
                     nbytes -= ret;
                     buf = (char *)buf + ret;
                 }
                 return tot - nbytes;
             }
 	case FTYPE_CONSOLE:
-	    console_print(files[fd].cons.dev, (char *)buf, nbytes);
+	    console_print(files[fd].dev, (char *)buf, nbytes);
 	    return nbytes;
 #ifdef HAVE_LWIP
 	case FTYPE_SOCKET:
@@ -487,7 +487,7 @@ int close(int fd)
 #ifdef CONFIG_CONSFRONT
         case FTYPE_SAVEFILE:
         case FTYPE_CONSOLE:
-            fini_consfront(files[fd].cons.dev);
+            fini_consfront(files[fd].dev);
             files[fd].type = FTYPE_NONE;
             return 0;
 #endif
@@ -764,7 +764,7 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
 	    /* Fallthrough.  */
 	case FTYPE_CONSOLE:
 	    if (FD_ISSET(i, readfds)) {
-                if (xencons_ring_avail(files[i].cons.dev))
+                if (xencons_ring_avail(files[i].dev))
 		    n++;
 		else
 		    FD_CLR(i, readfds);
@@ -1447,6 +1447,8 @@ const struct termios default_termios = {0,             /* iflag */
 
 int tcsetattr(int fildes, int action, const struct termios *tios)
 {
+    struct consfront_dev *dev;
+
     if (fildes < 0 || fildes >= NOFILE) {
         errno = EBADF;
         return -1;
@@ -1472,21 +1474,21 @@ int tcsetattr(int fildes, int action, const struct termios *tios)
             return -1;
     }
 
-    if (files[fildes].cons.dev == NULL) {
+    dev = files[fildes].dev;
+    if (dev == NULL) {
         errno = ENOSYS;
         return -1;
     }
 
-    if (tios->c_oflag & OPOST)
-        files[fildes].cons.dev->is_raw = false;
-    else
-        files[fildes].cons.dev->is_raw = true;
+    dev->is_raw = !(tios->c_oflag & OPOST);
 
     return 0;
 }
 
 int tcgetattr(int fildes, struct termios *tios)
 {
+    struct consfront_dev *dev;
+
     if (fildes < 0 || fildes >= NOFILE) {
         errno = EBADF;
         return -1;
@@ -1497,7 +1499,8 @@ int tcgetattr(int fildes, struct termios *tios)
         return -1;
     }
 
-    if (files[fildes].cons.dev == NULL) {
+    dev = files[fildes].dev;
+    if (dev == NULL) {
         errno = ENOSYS;
         return 0;
     }
@@ -1509,7 +1512,7 @@ int tcgetattr(int fildes, struct termios *tios)
 
     memcpy(tios, &default_termios, sizeof(struct termios));
 
-    if (files[fildes].cons.dev->is_raw)
+    if (dev->is_raw)
         tios->c_oflag &= ~OPOST;
 
     return 0;
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Thu Jan 06 12:00:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 12:00:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.253975.435441 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5RRv-0007nX-4e; Thu, 06 Jan 2022 12:00:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 253975.435441; Thu, 06 Jan 2022 12:00:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5RRv-0007nQ-1F; Thu, 06 Jan 2022 12:00:55 +0000
Received: by outflank-mailman (input) for mailman id 253975;
 Thu, 06 Jan 2022 12:00:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kr4l=RW=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n5RPM-0005UX-VI
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 11:58:16 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e3acd308-6ee7-11ec-81c0-a30af7de8005;
 Thu, 06 Jan 2022 12:57:58 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id B0A17212C7;
 Thu,  6 Jan 2022 11:57:57 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 89F2113C0D;
 Thu,  6 Jan 2022 11:57:57 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 6MSCIEXZ1mHnJgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 06 Jan 2022 11:57:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e3acd308-6ee7-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641470277; h=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=479+ZsaQ/HR1Ri0lahF7rot1Udcg9gaoznCeT0QqN9I=;
	b=fP1cCOY+bPvVqpVlay1gDfX8O7NpxJ+V8buwFGlupD4VRta30a8gBxfuW2lXra6O/GVt+e
	pCzOXGwBw69b5smW/dAVi5M7tLZhZnqyLla5hcIvKtzGf+KKc8LR+RbsGKk0FY9xQfmcFe
	f4HEdxeC+uV07G6NiofcCCeYE3k5TIQ=
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 13/15] mini-os: eliminate tpmtis union member in struct file
Date: Thu,  6 Jan 2022 12:57:39 +0100
Message-Id: <20220106115741.3219-14-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220106115741.3219-1-jgross@suse.com>
References: <20220106115741.3219-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Replace the tpmtis specific union member in struct file with the
common dev pointer.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 include/lib.h | 5 -----
 lib/sys.c     | 2 +-
 tpm_tis.c     | 8 ++++----
 3 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/include/lib.h b/include/lib.h
index 2ddc076..d6a29ba 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -193,11 +193,6 @@ struct file {
 	    struct evtchn_port_list ports;
 	} evtchn;
 	struct gntmap gntmap;
-#ifdef CONFIG_TPM_TIS
-	struct {
-	   struct tpm_chip *dev;
-	} tpm_tis;
-#endif
 #ifdef CONFIG_XENBUS
         struct {
             /* To each xenbus FD is associated a queue of watch events for this
diff --git a/lib/sys.c b/lib/sys.c
index b042bf5..96fc769 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -468,7 +468,7 @@ int close(int fd)
 #endif
 #ifdef CONFIG_TPM_TIS
 	case FTYPE_TPM_TIS:
-            shutdown_tpm_tis(files[fd].tpm_tis.dev);
+            shutdown_tpm_tis(files[fd].dev);
 	    files[fd].type = FTYPE_NONE;
 	    return 0;
 #endif
diff --git a/tpm_tis.c b/tpm_tis.c
index 4127118..477f555 100644
--- a/tpm_tis.c
+++ b/tpm_tis.c
@@ -1288,14 +1288,14 @@ int tpm_tis_open(struct tpm_chip* tpm)
 
    tpm->fd = alloc_fd(FTYPE_TPM_TIS);
    printk("tpm_tis_open() -> %d\n", tpm->fd);
-   files[tpm->fd].tpm_tis.dev = tpm;
+   files[tpm->fd].dev = tpm;
    return tpm->fd;
 }
 
 int tpm_tis_posix_write(int fd, const uint8_t* buf, size_t count)
 {
    struct tpm_chip* tpm;
-   tpm = files[fd].tpm_tis.dev;
+   tpm = files[fd].dev;
 
    if(tpm->locality < 0) {
       printk("tpm_tis_posix_write() failed! locality not set!\n");
@@ -1323,7 +1323,7 @@ int tpm_tis_posix_read(int fd, uint8_t* buf, size_t count)
 {
    int rc;
    struct tpm_chip* tpm;
-   tpm = files[fd].tpm_tis.dev;
+   tpm = files[fd].dev;
 
    if(count == 0) {
       return 0;
@@ -1350,7 +1350,7 @@ int tpm_tis_posix_read(int fd, uint8_t* buf, size_t count)
 int tpm_tis_posix_fstat(int fd, struct stat* buf)
 {
    struct tpm_chip* tpm;
-   tpm = files[fd].tpm_tis.dev;
+   tpm = files[fd].dev;
 
    buf->st_mode = O_RDWR;
    buf->st_uid = 0;
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Thu Jan 06 13:51:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 13:51:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254014.435488 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5TA7-0002Ci-D8; Thu, 06 Jan 2022 13:50:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254014.435488; Thu, 06 Jan 2022 13:50:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5TA7-0002Cb-9l; Thu, 06 Jan 2022 13:50:39 +0000
Received: by outflank-mailman (input) for mailman id 254014;
 Thu, 06 Jan 2022 13:50:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=a8QS=RW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n5TA5-0002CV-VB
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 13:50:37 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9ff4f79c-6ef7-11ec-81c0-a30af7de8005;
 Thu, 06 Jan 2022 14:50:36 +0100 (CET)
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur02lp2050.outbound.protection.outlook.com [104.47.5.50]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-26-l-2SYUgAPqucI6HBnOH3vQ-1; Thu, 06 Jan 2022 14:50:34 +0100
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.4844.15; Thu, 6 Jan
 2022 13:50:33 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.017; Thu, 6 Jan 2022
 13:50:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9ff4f79c-6ef7-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641477036;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=Db0kgQfpWWuAlYXngeON3avL7XJQ6joT8eC3QnHYWiY=;
	b=nF5GlVkYPivgc/mRPLkPvJThF7ZSdWSt3XriuElGxhRLyGokJTLwNx0STfyc0ZIdS8snmv
	NQbep/yV06mc3tWxpKJw2h2zGvay9IuBpLCNGzNQbRmIRlFRyaRrFFmqRkaIkw4QB5JoBR
	EjZf/F+U2h0UkIxHvoOOatmKXDTc6ks=
X-MC-Unique: l-2SYUgAPqucI6HBnOH3vQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nfbxyrHprgUXTfS1HORKdAHU42eex8IV671x+B7QahMooYwEM/1VGnXRFUS8lvrxG0CDwLSWSOzQvlVC4TLcwKMpirTgs3CbhGPVAK/52hbx0GKgClCtMAd5oCOwabxpGYpZPxs/lKi3CBhbHozAUi9BC5+nmGNeRZcdnOxZS9mvKWWQotmSz57r/sHBTSrVwKAnzOloog0pZbvbBV6RmiBQIU+BjIhV4ixm0TnPx1rtJM6gnIGxvkGdzx/JG608QpJSUoYaXhlWk66XtqJj3jK/wXoZbYDx7kWo84OtIAPTmXZA3oNqZA6QVBMr6mjzsHQSttL8g9RNniB4Hu0qeA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Db0kgQfpWWuAlYXngeON3avL7XJQ6joT8eC3QnHYWiY=;
 b=TZrm+7eP7Uc4y9pwxwAjMhdg6aKZWpICdlhBHOX6bDJ/bZ3vfc5msNryRXw/LEW4mryKtLibY2fjXbkju/xmZjPLN9q/9t68q/C9NCdXomGXKdS8UjqWkgDCjwmsfo9v5b4zCAFe8RpVn3nul+vBtuTzvNkTDi9wSSt5heQ+8riPfcGtUhdlCrgM+2x8RO0pJAM6ujs6TzC5pD14ONRJSY6nCxVyg0m/n3dkDUEjcAa5VjcMWjtjjFJjYWYCLw+ro2JcjVnaVSxxSx3GuNxmWPUIdW6HHTTpq30Wtq6GJGPT64LCX2NbZZHBKIM6soN7Zuf5cx6Q4mhxGwSA0l9pqg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <35ed148d-c525-5fdb-ad83-d0a1c9432b11@suse.com>
Date: Thu, 6 Jan 2022 14:50:30 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH RFC v2 3/3] x86/altp2m: p2m_altp2m_propagate_change()
 should honor present page order
Content-Language: en-US
To: Tamas K Lengyel <tamas@tklengyel.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>
References: <e9257e96-ede9-2809-9a77-fd4dc206badc@suse.com>
 <d1b6aede-2c0a-df7a-7815-73ad4d795899@suse.com>
 <CABfawhmGxHBEC1M2=zo11K11Yr_TdWFkkVpDpVimy_uvD4nxyQ@mail.gmail.com>
 <f13f983f-9190-99d4-7a6d-c73be651896d@suse.com>
 <CABfawhnNv+KpSm+ZGaRFvkNrooU0_E0TEijs0_WBNtrZ0-y1Jg@mail.gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <CABfawhnNv+KpSm+ZGaRFvkNrooU0_E0TEijs0_WBNtrZ0-y1Jg@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0174.eurprd06.prod.outlook.com
 (2603:10a6:20b:45c::6) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ed6ac89c-2c10-4900-9079-08d9d11b8231
X-MS-TrafficTypeDiagnostic: VI1PR0402MB2702:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB27024651E4768611DBC34DF6B34C9@VI1PR0402MB2702.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:
	wPdTFb7Rd/ku5bAvMs64aeEYRi22s85S9pr8MYsp2g04zfyFi5YpR45YLEyRcTJNb4KZ86UWtEZqeeeG6LuNtzTh7otynNr2J2zPJdnVp7+hVQqOX7jaLDGQWvWk9I3ymlDbajv2g7sVEvJ5e6Z+lt4FZF5x+pE9h1Jr4WaY6U65zcxAKkfqRbvbHSoim6a0yieezwaWLap9ssB8gAEkSBGPcyNKfdFW3wF2N4sCHicGwomCqLxEToIh2LOz+LHVbt2RfqVrGxkuwhefHlOiH7vE32utD4AdLD/VhrAf1lucJO9zd29eFSI1pn906b/ODBKflTRPDGn8cDHeCVFY6LNpLuKKfj194fEnvIf4MoJpZ9bYn6h6s0JnMr6p3kHaZUEglt4SgU71sv1NxzRVCXRQ1LKqEM8D/T6Vndm/ntw5kCoA7pORffImKgrYO6W5WzAUzvEaEZG78r3HzsBhc+3F+UMbtlJhLWpYM5vOzJ4EUGBrrch7LNSFjE5WJ1D6h8M11U5Iv5RK1096VtmxCrw5F9jOjBfoKnpVSXYElrbu+3gEfTMc4slLhGrGJ9jQJHo84EWC4piYX/5AdJodM2Erd28PMQnyN/rnZQQky61PJijtyZ5PXVG4MRc2yLHtSPnF3b8RvGPk065fZoqFdiHKv+WVKxYPDRB7nXJetvUaZHtwHtMeVuNL8hDiDKUoVE5MBeagE8wCZSTVsK4s5Rh7W1ubLVzzvhUtkGoQ6cIxrOjV+5BkM18kd4VuBqH2
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)(53546011)(8936002)(2906002)(508600001)(186003)(6512007)(86362001)(54906003)(6506007)(4326008)(6916009)(5660300002)(83380400001)(31696002)(31686004)(8676002)(6486002)(36756003)(38100700002)(66476007)(66556008)(26005)(2616005)(66946007)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SzhTYlNySWdHaFhXczJ0TTBROS9LMjdRN0NxTzJZMHVTV1VCU09od2o5WHZM?=
 =?utf-8?B?THhMQUdORzNDYTBlS2thN1ZDNEgrUUllT21NMW83S25aSDFYNU5VTGVibExD?=
 =?utf-8?B?WUNFYnVyNXlhbzZHNVVzc0ZPWEJPTUo4SUpCeVZrVElEbWJaMWZmMEZtb0dN?=
 =?utf-8?B?VWR3bDltcENWWk15NHg0SFFISWJoVXZwVDJIRHdjL1UyTTJkZUZOVjIzVkF0?=
 =?utf-8?B?ZjNpUFdYdnQ2SCt2WWZOenlTaUZ4SnR6alpnMFYrWWJOUkpBRmtJQ3FEWVBR?=
 =?utf-8?B?MFpWM3YvU05OR2J0MFluVE9td093cU9ObXMydVZETmEySm80OTZ0cUd5S20x?=
 =?utf-8?B?Zmd0dDF5WisxTERBYXBZTEJZczF0eFdJMTFLOGQ0dEtvOS9UVThkNjhVRWIy?=
 =?utf-8?B?SmJsRlJXWjE3bTdEOWJqZzhaY3lBWnljbUNkOGMzWmI3WnM4dTZTc1JmdTQ2?=
 =?utf-8?B?a2NBU3JONG9VSUtGbmtQOXA5S214aE5odVhXbnA3bEVnd0h1djM2N1U1aFFo?=
 =?utf-8?B?UGFhbjViVlBObUxCUEZBVXNobk8vMW9CdkZqeUZJRG83emc1Q1FPZmt0bXM2?=
 =?utf-8?B?RHJtOCswMWFMTVpQUnA2Kzg3WDV2T2c5ZmhtOW13L3FzNFhGTFJEZ3ZaS2Vv?=
 =?utf-8?B?bkxxSVVRdVhLdWVOUy8rZUszbXl2YWtqQjljM0hUcm1OV2I5a2N6blZTVFk1?=
 =?utf-8?B?bDlMSlVXSDIrdVo2T2F1SmhRSUkzdVR5eUlvSUFMMHRPVlJVZEFuMXBnVlRY?=
 =?utf-8?B?YWk4RUZTZ29JYzhIeDhxc015RERFdGFxMmtZM0ZqeThEa0xMRWtDaGh5cmJw?=
 =?utf-8?B?TGV4NGM1ejZkNG14NzNFMk1LRjQzNmV4WVdGSkxjYlcxMDAxUmUxdFVINkJj?=
 =?utf-8?B?UDdZOFc4VFp2V2Q0OHlVaitsNDZTNnc1U0licWtZc1Z1ei9QbmhRVkZwbGZE?=
 =?utf-8?B?NEk3WkxSTzREdmswZGpFZzBQZ3YvbEZnbjlWdVVGR0xDMkIvV3BaTE1Kc2sr?=
 =?utf-8?B?R1JjSDhZVnRLMFB4RkJOaExWUGZyMC9IcUhNL3NXSkk5ZHFhM0RQSzFYdVlr?=
 =?utf-8?B?QUVmQU5zSEF2akRVaEFyS2o5QUczalE0U0FpRFkrSi9CT2s5TFJlaDRZcnE4?=
 =?utf-8?B?bGMrRVN2dDRMKzBzRkRLM2hjSG00R1BQVjdYczRxL3pMMjNlNlFGMXdOSlBq?=
 =?utf-8?B?Mnl5SFN5WHpBRFhPTmpYL0xGN1A0ejN1aGJ6UTBDbG9oTlk3T0cwZXFla2g3?=
 =?utf-8?B?MThPWGRjK1JhQjAyRXhBQzRsZ2pxSlNPRGVmZTI5QklRSHdVOG1ELzNLMUd0?=
 =?utf-8?B?YS9CN01aM1VidnBTY3p1dU9lalV5RjhVNXhLVFhwOGg2aWdjcndSdi9DY21t?=
 =?utf-8?B?aW84M2lxcFRJZ0M3WHpiYXlMK2ZTZEVxbzB5R1UxOHE2cG00RW1NN3EvRFA1?=
 =?utf-8?B?YTBpR3Rja1d4bU9qQ3ZzWGlrbjVWcTl4VTBBcnhtS0pEbU02S1lJKzVYcjJD?=
 =?utf-8?B?dnlwWFRxOGFvNFU2bzdPYVJFMGNHdnBYTHU1b213UklTRWVESCtMMEU3d2o2?=
 =?utf-8?B?b1IwVzBnUHBTdlVwMExsZXhqL3M4WHZ1bGVXOVhZLzBlTkRWNXhKUDREeWVw?=
 =?utf-8?B?aEs4eC91N0lGTktxR0k2bmJKMkxFd29GbWI2UE5JY3ZKMitWVzJHd2Nwcjc3?=
 =?utf-8?B?MysyYkxLbUhKRVE2cVNjaGU3czRKMUVXOG1kV2tCNCtldldtb3pvYklzS21O?=
 =?utf-8?B?U0ZLK3FRaDYvSDYwK29JZnlCSk4yMUExVTFrZEY2VUZtdWw3VmorRVo4cGNv?=
 =?utf-8?B?YTM1YlRUcWt0UFIrbWRMRU5ISmNaSHVQeFZnWnd4NkZoTTYwbGpocDI3aGl4?=
 =?utf-8?B?WDFUVXhkTWliQUVDYVdqTzV0L2VHZVppWE9pNWtPVlkxZ09QcEF2eWVmQS9t?=
 =?utf-8?B?TDBITFZFWDNSSGZPb2ZPck5sbDZkZlBZTk8rN1JTZ0lIM3JWcXFhTTZMdFAr?=
 =?utf-8?B?ZVZSd1ZxTjdMcjFlei96MTI0RktKcXNhSkIxNGtHU3pGekdxUVBLVUdBaHNK?=
 =?utf-8?B?YStkb0RCemErbWgyMnNoM05KbEFyMmgyVStlVmxRWDBvWno3ZmRFUUpJc0d3?=
 =?utf-8?B?M2JJajFSM0Q3SnJPQzN3UmhjR3VkNVppQzhzVHEvR3ZWUHVHbm9FR2g1aVlP?=
 =?utf-8?Q?c6zjt/GGiF1lPAD1MnyL7Sg=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ed6ac89c-2c10-4900-9079-08d9d11b8231
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jan 2022 13:50:32.9573
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DnhUFzXFfO0A0UhYlJbEXTSH/YvEAsswvzDxNxsAyrVk4jiJLg3l2xCbd4SLIPMxb2AWlLIl8Zsbe8RFKYSSlg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB2702

On 05.01.2022 17:25, Tamas K Lengyel wrote:
> On Wed, Jan 5, 2022 at 3:59 AM Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 04.01.2022 18:48, Tamas K Lengyel wrote:
>>>> I may be entirely wrong and hence that part of the change may also be
>>>> wrong, but I'm having trouble seeing why the original
>>>> "!mfn_eq(m, INVALID_MFN)" wasn't "mfn_eq(m, INVALID_MFN)". Isn't the
>>>> goal there to pre-fill entries that were previously invalid, instead of
>>>> undoing prior intentional divergence from the host P2M? (I have
>>>> intentionally not reflected this aspect in the description yet; I can't
>>>> really write a description of this without understanding what's going on
>>>> in case the original code was correct.)
>>>
>>> This function only gets called from p2m-ept when the hostp2m gets an
>>> update. In that case this check goes through all altp2m's to see if
>>> any of them has an entry for what just got changed in the host, and
>>> overwrites the altp2m with that from the host. If there is no entry in
>>> the altp2m it doesn't pre-populate. That should only happen if the
>>> altp2m actually needs it and runs into a pagefault. So it is correct
>>> as-is, albeit being a subtle (and undocumented) behavior of the
>>> hostp2m and its effect on the altp2m's. But that's why we never
>>> actually make any changes on the hostp2m, we always create an altp2m
>>> and apply changes (mem_access/remapping) there.
>>
>> Thanks for the explanation. Effectively this means that the call to
>> get_gfn_type_access() can simply be get_gfn_query(). For the patch
>> this means that I shouldn't check its return value and also continue
>> to pass the new order rather than the minimum of the two (as was the
>> case before), as all we're after is the locking of the GFN. It would
>> be nice if you could confirm this before I submit a non-RFC v3.
> 
> I'm a little lost here.

Let me start with simpler questions then:

What's the purpose of calling get_gfn_type_access()?

Independent of the answer to the previous question, why isn't it
get_gfn_query() that is called?

What's the purpose of the "a" local variable? (While "t" also is
otherwise unused, it can't be eliminated as even get_gfn_query()
requires its address to be taken.)

Why is p2m_set_entry() called only when the original entry didn't
resolve to INVALID_MFN?

>> What I still don't understand is why the function blindly replaces
>> any possible entry in the altp2m, i.e. any possible override
>> mapping, not even taking into account the original p2m_access_t.
> 
> I think the idea was that any changes to the hostp2m will just get
> reflected in the altp2m's as a short-cut. If you have many custom
> settings in different altp2ms, simply setting the entry in the hostp2m
> will ensure all altp2m's get synced to that same setting instead of
> having to do a hypercall for each altp2m. I don't see much use of it
> otherwise and if we wanted to switch it to leave the altp2m entries
> as-is I wouldn't object.

Hmm, I continue to be puzzled. Let's take the XSA-304 workaround as an
example. Suppose an introspection agent has removed X from a 4k page
in an altp2m of a guest. Suppose one of the vCPU-s of this guest runs
on the host p2m. If this vCPU hits the (presumably) 2M or 1G mapping
covering said 4k page for an insn fetch, the page will be shattered
and the removed X in one (or more) of the altp2m-s will, afaict, be
lost. This looks like a bug to me.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 06 13:53:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 13:53:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254018.435499 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5TDD-0002sk-0p; Thu, 06 Jan 2022 13:53:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254018.435499; Thu, 06 Jan 2022 13:53:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5TDC-0002sd-Tu; Thu, 06 Jan 2022 13:53:50 +0000
Received: by outflank-mailman (input) for mailman id 254018;
 Thu, 06 Jan 2022 13:53:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=k+KX=RW=epam.com=prvs=30058094e3=oleksii_moisieiev@srs-se1.protection.inumbo.net>)
 id 1n5TDC-0002sV-4d
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 13:53:50 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 11e7364a-6ef8-11ec-9ce5-af14b9085ebd;
 Thu, 06 Jan 2022 14:53:48 +0100 (CET)
Received: from pps.filterd (m0174678.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 206DmhrC023671;
 Thu, 6 Jan 2022 13:53:38 GMT
Received: from eur04-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2054.outbound.protection.outlook.com [104.47.14.54])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3ddse8h86q-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 06 Jan 2022 13:53:38 +0000
Received: from PA4PR03MB7136.eurprd03.prod.outlook.com (2603:10a6:102:ea::23)
 by PA4PR03MB7021.eurprd03.prod.outlook.com (2603:10a6:102:e1::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.7; Thu, 6 Jan
 2022 13:53:29 +0000
Received: from PA4PR03MB7136.eurprd03.prod.outlook.com
 ([fe80::85d2:c8aa:2196:21c6]) by PA4PR03MB7136.eurprd03.prod.outlook.com
 ([fe80::85d2:c8aa:2196:21c6%9]) with mapi id 15.20.4844.016; Thu, 6 Jan 2022
 13:53:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 11e7364a-6ef8-11ec-9ce5-af14b9085ebd
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SXrpjAXxKS4DNHhsFYKYBXSjxKVkyg62gojWHlbYq2BFjVK8WOgfZXBCOF9yvhkqFYrxQIwiDuY4tBrOgyoHiC105MrBbRdj7D4ioXt8jSyrXlPb6+2MDdG67EfbsKW6AiK9Bpq/OLbZowwKNLMsP2E/icY2kHc0HNJCiQfzjx314Do6laQfoSWvKE7lJaGwe5NTOmaJLvbJuUSMT8p8/qJOtFen4qY6HuvlS0D70jhk1CExvwmUfiqdrGBVudiSs6MhElvfLx/3RtaYkxygbX+7ywTj+6UNRXU4Pm1N5BD20dkRGQUQ5D6N4RID+Cli28ZbWPUeU5qMNGQ7tBNimA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=d3/EeVGGR9TVnkhJX98pVW672igX0DoBOOdHvgyMcvk=;
 b=GzSkwwqcwFKkAIBjs33Zrn7ClIn/CspoUDA04oiCgLt/ptthMpQqBrEQWEMzk6Ejcw7BR7qb4uDMbaWm62HHNu6VQPAPpr4HPZhieCIuI1HC0w9Bm2ZJy+n31LK1WvG0j4fwmQblahZ/xruOzJ0KRR1JGGtm/2gpB9GLZgilG1O4tdMfB2qvCEVP0PPzk50SmZWGu5cj3TK0BmNvbQM064fH3x+8CPvVcwIiROOCxnXeNMngHjlWBvzhQcEjRPbmdYaUI4zJPbicHus9bEXr+xqbLhJmBRw73tIiXyn+ywVRlUOqcXlYuDFWYOPEd/NO3tHbJcalVnptwydi08QO4Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=d3/EeVGGR9TVnkhJX98pVW672igX0DoBOOdHvgyMcvk=;
 b=Bnnr5GGye4oKGi932Wj7ckT3uLgymRVLbAqATKNhvUxshE4niAQ9Ok57PvYB5of+VCvSfFdgV11Lg4skAD8VGX3u69x7ZMskbPC8VY0r0CqD8wY2s7HS9duFbZ4xmHU5Zy/xuxdgNy/HVNtTngIgt5/2OpVP1qarMHz1j7kovqNrlYPG5pcRXQih3GUk7LqZQmBTSjXaQB4NitmDwTfp1KhIajdrhooDPepUUo8Yt6N5u2MMOTy533CoUG080fd6dHrlXvDTy4EcGz3mDGQMAXv1sEK15o2RkL5Xh+Trx54DvbIcOL/QoCZN53SCkigLdOUJZV6BorT0qDmePo336g==
From: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
To: Julien Grall <julien@xen.org>
CC: Oleksandr <olekstysh@gmail.com>,
        "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
Thread-Topic: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
Thread-Index: 
 AQHX8M3JF7Ng56/tV0+8/7pODiaWfKw2ks6AgAAeBwCAAAQPgIAABfaAgAAsl4CABKcNgIAGOOkAgAAnH4CAD3d9gIAEwfEA
Date: Thu, 6 Jan 2022 13:53:29 +0000
Message-ID: <20220106135328.GA1413532@EPUAKYIW015D>
References: 
 <e9dadd96aa5b64b9232e10a083ce393af620adde.1639472078.git.oleksii_moisieiev@epam.com>
 <51104b62-14a1-79b8-1184-4f4d8418a2f6@gmail.com>
 <20211217132304.GA4041869@EPUAKYIW015D>
 <04263b01-85a1-a6cf-9c36-a31629caef12@xen.org>
 <20211217135855.GA4072899@EPUAKYIW015D>
 <7924e699-5e70-6fdc-8633-6a15894d66db@xen.org>
 <20211220154127.GA1688861@EPUAKYIW015D>
 <7b0d3f0d-bdf1-ac59-0ef8-bb7ec2d802d8@xen.org>
 <20211224170243.GA1022822@EPUAKYIW015D>
 <045b2836-c95d-541b-462b-d276ae058b0d@xen.org>
In-Reply-To: <045b2836-c95d-541b-462b-d276ae058b0d@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: fa789d3b-5930-4b09-cd17-08d9d11beb6e
x-ms-traffictypediagnostic: PA4PR03MB7021:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <PA4PR03MB702185FD5E64F01DC1D3A3E2E34C9@PA4PR03MB7021.eurprd03.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: 
 fNmWLodguRcIvao546cE4fIiLwPSVLIicSzn4CtrIseJr9CEmyVoBWcSbYGSfea0OPvAhI6B+nOWufIZx/S8cmbxGmOU3UmKSVx0GI59iGea+Q3TM7dhmR1rko/Rzp0CmN43zH+V6RukqhnEugKwKAyQkbm/O3c66L8sCkQeH5ffEyudPQJ/23KAcI+Gi7HH7AEH5/zwduz1HS6S/H5b55jlkKo9RRWuenTEPtKtwOow2OT6ETBLvI9zau068+I/ZEvc1A+7Ix3p7xAmk3oSz33WL3p99cdpcCAhCnuXBKJyT4pw/aapQnL+prfFr68fLBxxiq9z16BKd6y69Q1avBbAOu5Qcft5Hn5e2kNgVDvu9w2ZCVRvXowpwZFuXbuQuIQ/9tqnNN1S7xHMrNFgG83k2ikLtbzPoH+FMM2pvENKoOkI+WHHR/pzXpVD5dz/71Ojmq/Qi7q0xhoy5a56jcNuVM1xgn9Yp41w3F3d7LFzYiK0bOCWjUNNfRqaBhK+r7JWG45BrmNihHCh2RZ8X6AOFlRl79t7o392cAY5KZNLjxX8OAyaYVlTnJnbKzy0VakqRw4aLp/7EvmDnlxJrqeGutAJ02sZcIc87qSpovhszB/981SRgkjswQLpAfkjiDJlPkLzlZ1AIZpC3UJNo5jlJ8RcSLdU2EkwbmXKtFCxNmuuA0KSxLMLG8L+eWWuEjUBU/tjwSj5K8XhcKKyBw==
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR03MB7136.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(64756008)(83380400001)(186003)(1076003)(316002)(86362001)(54906003)(66556008)(26005)(4326008)(8936002)(5660300002)(8676002)(38100700002)(33716001)(38070700005)(6512007)(9686003)(2906002)(71200400001)(122000001)(6916009)(91956017)(33656002)(76116006)(53546011)(66446008)(6506007)(66476007)(6486002)(66946007)(508600001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?us-ascii?Q?GNIeQNPay0ZEBcuiEucriz9CUj2M7lfRDFPU5gDsbkBdEOYLvru/nX0MYxgc?=
 =?us-ascii?Q?MikyVb+XE8yo2Ec8IfhKbT/xamipYM92+GZSYLQ8dKpd5UkvG9eIC7kuqWyu?=
 =?us-ascii?Q?ZbFvlL1iu/XdC/F+vaFBJeEpn+A5NW6mtliOsoTZsfTLv0qNzoajNEPgPGkZ?=
 =?us-ascii?Q?vyEFOVdTUc3ESeOScdqDhIVflXqh5IpQ5clol+3mjSJqts8ExEo4POguUBUb?=
 =?us-ascii?Q?PS8i1U7y7rqItmW+Bpv64a+hppf6ULbi4EtCVbI2QF4yehrnzZaGXRLwkA9W?=
 =?us-ascii?Q?HAfw43JbRSEIkNYqpAvSkf9glmBAY335RrA3yurgdtEWZJuTKJ2SrsmkLvCW?=
 =?us-ascii?Q?OmMQdiE9oCEaPI8dUNQy6ZZVPnHG9Fm4wPxiOv2578uY18vLJ9LZGEjAiPIt?=
 =?us-ascii?Q?TDc2dx+wnGsir4goUKgyHoicx3WsBERQvfySWgWVL8epCQ1EGuRba1yzpJ2F?=
 =?us-ascii?Q?EJJcJzXLKhNVeqT/5Dmlk0VuvokAAzTFyDev9cWBlNOsfdaU/S1QPPKGHdNP?=
 =?us-ascii?Q?YqZFjiYbo9MXKobnyj+tpCrnMDFrZmiDaHM9h4HjrPo0RZHGevf0eN5UvCyp?=
 =?us-ascii?Q?5KLdrM0ROABo1pKPIsUN8wExIrygZKKWmv95vN592SC+17p44fMvGuxUxgp8?=
 =?us-ascii?Q?n4VJtFbLYqKZQSrpSpVVvAZ+HUdDXYxAM6lfvfltoidQ+8pjf6JDaUocB9ts?=
 =?us-ascii?Q?E2vn7nDaEs8e565ALSlz8r62L/wFYPWl+39e5NhPnfpkhxOR8vH3i7d17o1y?=
 =?us-ascii?Q?nwkxUic2anwPfZRKSH28nfIREOBPZlnM8u35xhJZb8pdUZ3UeUQLzBtuvh/x?=
 =?us-ascii?Q?Y/5q4JNujrNLUiGKb4hvHqrQmbcXzm6o/tAtTFfkXXfPp+r+9cBlAbDjyRbi?=
 =?us-ascii?Q?nlSHz3nhxHmSLcJrYwOYK5F9SHr22xkG7Bq9VB+M6zh7iPje/6mqs90EWcLe?=
 =?us-ascii?Q?VlZa3TD/lGzhlPJZuv9H78DHlT4rPpqE8SN6sCF4coDHKtDGJvv5u+6VwY5+?=
 =?us-ascii?Q?eDcjRecRRbQAjpreeE8o8rdGpi6mPY1aEU2BvPRLepZgN61tVX8uDseLC1Ok?=
 =?us-ascii?Q?2qrHDmsBmE0UZ5QtBZkiKrYdcK6bAChwL6rWY1blvNtFIGBHnaPS+GXyBk5N?=
 =?us-ascii?Q?wEL8pvpsip8ihWHglBYMCuFBsJ34Y17TwBt5kqFn0yBealcNonmCfShBf35d?=
 =?us-ascii?Q?Hf/VL5KnF7/dR+zD7fwJvOe0Ii5Re1/iLd7giFkLeWC9GR7QQBddX0VxofkK?=
 =?us-ascii?Q?Kuua3SwBlQH87tUmzpjHBQb4LKljJvH1YN1bYvXM1STNJN1O0oYQ0JpB2u4v?=
 =?us-ascii?Q?kMm14WWilUUlJTAEMberA8HdBTysxBHbMru7ydR9KWHnKaTZrVc2ZZ9XcmSh?=
 =?us-ascii?Q?p4kkYVJPwAYThdXaiYU/Do1g8MhbA0HofZ5i06+Uz81zuheJfeZ1M3nB/VUA?=
 =?us-ascii?Q?NOV/LHYkPzQwJstGwS5DiDrsrihvf7tgeNUXDiJ8ZEdW+HASSCJQOGSf8l5R?=
 =?us-ascii?Q?RVawM3g4MdPSAcLz+PBDwKmLPeL2GIZ2+E8D96sM14UNGAzvVQMIr93oUPiU?=
 =?us-ascii?Q?g2PnnncousLhtg5bAQqnEcPwR885aERfKTKR16keb9IiknrEkX0neXFVMU03?=
 =?us-ascii?Q?9lZ2C4XC7wJAmgtZgmBTTRqy/otUcEPbjh3WAGT32DrKERyzy2dhUZXkEH3l?=
 =?us-ascii?Q?6G4SVQPhyjv90bzNSVPC7hgRsPU=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <4920F063D5FF21499ED18C8A869A724B@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PA4PR03MB7136.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fa789d3b-5930-4b09-cd17-08d9d11beb6e
X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Jan 2022 13:53:29.2772
 (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: OAzrODkqqM5SlSiRw9Hgo7NNegrwehGCriVV/BlVTZrsga5RocUdz1bznS4XrO2J9hYcYQZdzKOmyvnFEAEUNd4jM1o6+oiHlgPkFSbzRQE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR03MB7021
X-Proofpoint-ORIG-GUID: RqhrKRgkuUQU6qs-zMie3InSpTC5VC7R
X-Proofpoint-GUID: RqhrKRgkuUQU6qs-zMie3InSpTC5VC7R
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.790,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-06_05,2022-01-06_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 suspectscore=0
 impostorscore=0 bulkscore=0 phishscore=0 mlxscore=0 malwarescore=0
 spamscore=0 lowpriorityscore=0 mlxlogscore=999 clxscore=1015
 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2112160000 definitions=main-2201060098

Hi Julien,

On Mon, Jan 03, 2022 at 01:14:17PM +0000, Julien Grall wrote:
> Hi,
>=20
> On 24/12/2021 17:02, Oleksii Moisieiev wrote:
> > On Fri, Dec 24, 2021 at 03:42:42PM +0100, Julien Grall wrote:
> > > On 20/12/2021 16:41, Oleksii Moisieiev wrote:
> > > > >     2) What are the expected memory attribute for the regions?
> > > >=20
> > > > xen uses iommu_permit_access to pass agent page to the guest. So gu=
est can access the page directly.
> > >=20
> > > I think you misunderstood my comment. Memory can be mapped with vario=
us type
> > > (e.g. Device, Memory) and attribute (cacheable, non-cacheable...). Wh=
at will
> > > the firmware expect? What will the guest OS usually?
> > >=20
> > > The reason I am asking is the attributes have to matched to avoid any
> > > coherency issues. At the moment, if you use XEN_DOMCTL_memory_mapping=
, Xen
> > > will configure the stage-2 to use Device nGnRnE. As the result, the r=
esult
> > > memory access will be Device nGnRnE which is very strict.
> > >=20
> >=20
> > Let me share with you the configuration example:
> > scmi expects memory to be configured in the device-tree:
> >=20
> > cpu_scp_shm: scp-shmem@0xXXXXXXX {
> > 	compatible =3D "arm,scmi-shmem";
> > 	reg =3D <0x0 0xXXXXXX 0x0 0x1000>;
> > };
> >=20
> > where XXXXXX address I allocate in alloc_magic_pages function.
>=20
> The goal of alloc_magic_pages() is to allocate RAM. However, what you wan=
t
> is a guest physical address and then map a part of the shared page.

Do you mean that I can't use alloc_magic_pages to allocate shared
memory region for SCMI?

>=20
> I can see two options here:
>   1) Hardcode the SCMI region in the memory map
>   2) Create a new region in the memory map that can be used for reserving
> memory for mapping.

Could you please explain what do you mean under the "new region in the
memory map"?

>=20
> We still have plenty of space in the guest memory map. So the former is
> probably going to be fine for now.
>=20
> > Then I get paddr of the scmi channel for this domain and use
> > XEN_DOMCTL_memory_mapping to map scmi channel address to gfn.
> >  > Hope I wass able to answer your question.
>=20
> What you provided me is how the guest OS will locate the shared memory. T=
his
> still doesn't tell me which memory attribute will be used to map the page=
 in
> Stage-1 (guest page-tables).
>=20
> To find that out, you want to look at the driver and how the mapping is
> done. The Linux driver (drivers/firmware/arm_scmi) is using devm_ioremap(=
)
> (see smc_chan_setup()).
>=20
> Under the hood, the function devm_ioremap() is using PROT_DEVICE_nGnRE
> (arm64) which is one of the most restrictive memory attribute.
>=20
> This means the firmware should be able to deal with the most restrictive
> attribute and therefore using XEN_DOMCTL_memory_mapping to map the shared
> page in stage-2 should be fine.
>=20

I'm using vmap call to map channel memory (see smc_create_channel()).
vmap call sets PAGE_HYPERVISOR flag which sets MT_NORMAL (0x7) flag.
Considering that protocol is synchronous and only one agent per channel is
expected - this works fine for now.
But I agree that the same memory attributes should be used in xen and
kernel. I fill fix that in v2.

Best regards,
Oleksii.=


From xen-devel-bounces@lists.xenproject.org Thu Jan 06 14:02:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 14:02:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254024.435509 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5TLJ-0004Qd-SR; Thu, 06 Jan 2022 14:02:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254024.435509; Thu, 06 Jan 2022 14: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 1n5TLJ-0004QW-PU; Thu, 06 Jan 2022 14:02:13 +0000
Received: by outflank-mailman (input) for mailman id 254024;
 Thu, 06 Jan 2022 14:02: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 1n5TLI-0004QQ-Dz
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 14:02: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 1n5TLI-0005V0-4X; Thu, 06 Jan 2022 14:02:12 +0000
Received: from [54.239.6.184] (helo=[192.168.20.220])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1n5TLH-0003G6-Ti; Thu, 06 Jan 2022 14:02:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=ZqIlBuIzrcDjJ6IYLqyCoVz8t/JAPeQH4godfttFPDM=; b=z3e/lXlMLzE5xok1pY/Q+EKqCy
	L3U7Tw3Gx+Ttfk8z58WV18bSUmRLjB38s6O8TFVy2fZ91NrObz2mC5A2jQpz+5foNvg0wWFeQKCiJ
	9wYeJ8QWu9bWJksAHEJPFXhPRax31AAxWsa6k0LSBdaG9C8ZAcZz0KNdgYCUeWIiToKo=;
Message-ID: <55954632-e2c7-5455-6538-29c7990c8f62@xen.org>
Date: Thu, 6 Jan 2022 14:02:10 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.4.1
Subject: Re: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
To: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
Cc: Oleksandr <olekstysh@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <e9dadd96aa5b64b9232e10a083ce393af620adde.1639472078.git.oleksii_moisieiev@epam.com>
 <51104b62-14a1-79b8-1184-4f4d8418a2f6@gmail.com>
 <20211217132304.GA4041869@EPUAKYIW015D>
 <04263b01-85a1-a6cf-9c36-a31629caef12@xen.org>
 <20211217135855.GA4072899@EPUAKYIW015D>
 <7924e699-5e70-6fdc-8633-6a15894d66db@xen.org>
 <20211220154127.GA1688861@EPUAKYIW015D>
 <7b0d3f0d-bdf1-ac59-0ef8-bb7ec2d802d8@xen.org>
 <20211224170243.GA1022822@EPUAKYIW015D>
 <045b2836-c95d-541b-462b-d276ae058b0d@xen.org>
 <20220106135328.GA1413532@EPUAKYIW015D>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220106135328.GA1413532@EPUAKYIW015D>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 06/01/2022 13:53, Oleksii Moisieiev wrote:
> Hi Julien,

Hi,

> 
> On Mon, Jan 03, 2022 at 01:14:17PM +0000, Julien Grall wrote:
>> Hi,
>>
>> On 24/12/2021 17:02, Oleksii Moisieiev wrote:
>>> On Fri, Dec 24, 2021 at 03:42:42PM +0100, Julien Grall wrote:
>>>> On 20/12/2021 16:41, Oleksii Moisieiev wrote:
>>>>>>      2) What are the expected memory attribute for the regions?
>>>>>
>>>>> xen uses iommu_permit_access to pass agent page to the guest. So guest can access the page directly.
>>>>
>>>> I think you misunderstood my comment. Memory can be mapped with various type
>>>> (e.g. Device, Memory) and attribute (cacheable, non-cacheable...). What will
>>>> the firmware expect? What will the guest OS usually?
>>>>
>>>> The reason I am asking is the attributes have to matched to avoid any
>>>> coherency issues. At the moment, if you use XEN_DOMCTL_memory_mapping, Xen
>>>> will configure the stage-2 to use Device nGnRnE. As the result, the result
>>>> memory access will be Device nGnRnE which is very strict.
>>>>
>>>
>>> Let me share with you the configuration example:
>>> scmi expects memory to be configured in the device-tree:
>>>
>>> cpu_scp_shm: scp-shmem@0xXXXXXXX {
>>> 	compatible = "arm,scmi-shmem";
>>> 	reg = <0x0 0xXXXXXX 0x0 0x1000>;
>>> };
>>>
>>> where XXXXXX address I allocate in alloc_magic_pages function.
>>
>> The goal of alloc_magic_pages() is to allocate RAM. However, what you want
>> is a guest physical address and then map a part of the shared page.
> 
> Do you mean that I can't use alloc_magic_pages to allocate shared
> memory region for SCMI?
Correct. alloc_magic_pages() will allocate a RAM page and then assign to 
the guest. From your description, this is not what you want because you 
will call XEN_DOMCTL_memory_mapping (and therefore replace the mapping).

> 
>>
>> I can see two options here:
>>    1) Hardcode the SCMI region in the memory map
>>    2) Create a new region in the memory map that can be used for reserving
>> memory for mapping.
> 
> Could you please explain what do you mean under the "new region in the
> memory map"?

I mean reserving some guest physical address that could be used for map 
host physical address (e.g. SCMI region, GIC CPU interface...).

So rather than hardcoding the address, we have something more flexible.

> 
>>
>> We still have plenty of space in the guest memory map. So the former is
>> probably going to be fine for now.
>>
>>> Then I get paddr of the scmi channel for this domain and use
>>> XEN_DOMCTL_memory_mapping to map scmi channel address to gfn.
>>>   > Hope I wass able to answer your question.
>>
>> What you provided me is how the guest OS will locate the shared memory. This
>> still doesn't tell me which memory attribute will be used to map the page in
>> Stage-1 (guest page-tables).
>>
>> To find that out, you want to look at the driver and how the mapping is
>> done. The Linux driver (drivers/firmware/arm_scmi) is using devm_ioremap()
>> (see smc_chan_setup()).
>>
>> Under the hood, the function devm_ioremap() is using PROT_DEVICE_nGnRE
>> (arm64) which is one of the most restrictive memory attribute.
>>
>> This means the firmware should be able to deal with the most restrictive
>> attribute and therefore using XEN_DOMCTL_memory_mapping to map the shared
>> page in stage-2 should be fine.
>>
> 
> I'm using vmap call to map channel memory (see smc_create_channel()).
> vmap call sets PAGE_HYPERVISOR flag which sets MT_NORMAL (0x7) flag.

You want to use ioremap().

> Considering that protocol is synchronous and only one agent per channel is
> expected - this works fine for now.
> But I agree that the same memory attributes should be used in xen and
> kernel. I fill fix that in v2.

I am a bit confused. Are you mapping the full shared memory area in Xen? 
If yes, why do you need to map the memory that is going to be shared 
with a domain?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Jan 06 14:03:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 14:03:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254027.435521 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5TMP-0004yb-71; Thu, 06 Jan 2022 14:03:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254027.435521; Thu, 06 Jan 2022 14: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 1n5TMP-0004yU-3u; Thu, 06 Jan 2022 14:03:21 +0000
Received: by outflank-mailman (input) for mailman id 254027;
 Thu, 06 Jan 2022 14:03:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=a8QS=RW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n5TMN-0004yG-Id
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 14:03:19 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 66250c71-6ef9-11ec-81c0-a30af7de8005;
 Thu, 06 Jan 2022 15:03:18 +0100 (CET)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2050.outbound.protection.outlook.com [104.47.13.50]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-19-Gs2abGBrPomPGmVdji0m7Q-1; Thu, 06 Jan 2022 15:03:16 +0100
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.4867.9; Thu, 6 Jan
 2022 14:03:15 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.017; Thu, 6 Jan 2022
 14:03:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 66250c71-6ef9-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641477798;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=U9OG7Mt3nj1MTF+F5dsEJcvWLLMMpxGVlaMwAuuxSTw=;
	b=Pia70J/jDFFJ2YYdItFk3rXwIDRS9LA2mLDES7Ljs7557MfEImdAlxnEkULo/T4nIqSwNy
	3xExuuFPGRF+XOLLnMovjRNet9snD4xjnECZMNQb4I5ex1+EYd7Bbkzg5vAnkamIFsaCoI
	8St+nxibrfmH0ay1oJFFHWR7pbT/MfA=
X-MC-Unique: Gs2abGBrPomPGmVdji0m7Q-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CswebqODQSg3vUDicyndRidA6bjH8As1KR045LxaArDTPRDMFaDvpPrDdNiYYA50XGd9h10JhqJKxOhjhUrLHU4pY2KYeZh7ThZ8XOwHkNaS8bbujoiniY0fp4mWbx2UxECvCcR5Y0Zz9J0rNIBzaDBpgUuPpGfTKUjTYS5mW13XH7J4R9rEy39j8a5WHatnvlS6AzkYMII+E/q+IezX31vUV//YGMkjRIakuuWCQ/kWp09G0phJAZvkvSzd+HmZWQsO5K8Zt1LBpGMatOjSmkIDTz8sMMLYti3Y8LnhQIh4NBgeziqone4Q+VaqKIzDlJvRAn9QcusnElVQIzekNA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=U9OG7Mt3nj1MTF+F5dsEJcvWLLMMpxGVlaMwAuuxSTw=;
 b=kw1243sfZjA5nO/d7QqW02fmpwRM/AdzLl4XQ5CaNzS7A8pVh7zRU6R68KtbFGFhQkvf4Z3P2EHZ+kxntDT8D1OwbUJAC8t1aVW4BGpoXB3SqKPgmNcYbK/mOpAtW+YGomNpZj6IObFOyoBddHQoGdrHyd1fUy8whbpP2my5qMVjBxvEr0Mpf4m1Weau/e8k8fMuJ5/XImJUtxea6ZB84Mk9s1U2npcvuHGQnFpiQNi1LCaW32nCoqv0Ufhzr16WWISYXnXeCX5lnce6icvZc3RbjNYN+bDvf9Q6uws+jh5raSyNxivr9RI4+PbYqtajVZsgtG6BzJykBiG/4hDDCQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <09333371-92c0-5c90-4b4c-59b2ed9ac60d@suse.com>
Date: Thu, 6 Jan 2022 15:03:12 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: request for feedback on a Xen/Linux compatibility issue
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: julien@xen.org, bertrand.marquis@arm.com, Volodymyr_Babchuk@epam.com,
 xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>,
 boris.ostrovsky@oracle.com
References: <alpine.DEB.2.22.394.2112131729100.3376@ubuntu-linux-20-04-desktop>
 <4ea34f61-e72e-76c3-5c20-879fefe4c7f7@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <4ea34f61-e72e-76c3-5c20-879fefe4c7f7@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR0202CA0039.eurprd02.prod.outlook.com
 (2603:10a6:20b:3a::16) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: da96dbfa-831e-4771-7b89-08d9d11d4853
X-MS-TrafficTypeDiagnostic: VI1PR04MB6175:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB61752AB9C795A6E854253E12B34C9@VI1PR04MB6175.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:
	HonlUUzntaa1KR+cPLDCZ7/TqRF7UlvRYhUvhK4tQrM1oxXIV5am67DszGP8KCNde2sGWpAIvY1yBQ8jFwyRG0MKesQ16oC02gi0ubeqfJ92NqrQPOaSVi522YrD8iMEhqphfVNjV7O0/y0Hjhpdzy/WKsVPuSAhDO4iKwQ7pO6Pr+u0xrYKPYVLajYKtSksAb7r+rMZJbKy/uVa2/GmXbf72nFlkA2mI/L8d7Fi7cmUoxBmv3TLZEAkrOHVfmNUWjXIqKy+m8fcoWSxPHDtskmiqHxVMc7YVz9BIW/P/4cp+WE3po3t5E+2Q5+Ed09DEBx40aY1mahartbpkBvjs0zmjRDZH4m8jLhth37VUSz2eTPJLMMB7XZGOUUBcyBGWa6738C5SGwbIo9gQWSqbC1eWu/euSXxJxGhh7A5Yaf5ZTD8mcd23bkd/fHj9VjA6nMFN97BPpfCxamfFPYDIRKHODSrl3amkQsBG0tT8oCw2iVga9nYQGuKI1vCZa0d9jIz+Ja2qbQRnSIHOsXBXo10VhKZPEB7N0vNIP+z7ESTYPWgsmQ61nyfpL22WHj5WYfvU0HC8LRExsytD8XeSqtdpQMzD2bvGqjCFtJRqBB1T5kBa9rsBD1xDuPAthYPHbuOmSwbAhKlFEbi3s3f5Rj2ii8Dc/QgLcqiqMR0eENl7NDFAiPz/Kyua1WI5UtLKuWtWOqDtiCuvlleH3YpsI1p+Hz5TDRKrW6ITfk8OSU=
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)(53546011)(8676002)(6506007)(8936002)(6636002)(26005)(6512007)(2906002)(508600001)(2616005)(186003)(4326008)(6486002)(31696002)(66476007)(31686004)(66946007)(86362001)(6666004)(66556008)(316002)(5660300002)(83380400001)(36756003)(38100700002)(37006003)(6862004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T01yMHpVdUc5TllWL2J6MHBGYndIYUh4cXIxZExuTC9Ia2VtV1QrMWg4cTlp?=
 =?utf-8?B?VFVZbW1qcFlQaTc5U29wSXlYd2tKLzcrdmlPSnJRdXh4aHdLMDRQZy9xRzk3?=
 =?utf-8?B?bVA0RG1RMUNPMlA2WVp3bzZVbUovb08yY3BxUVJFT3pqQjJWV1VueFl0N2oz?=
 =?utf-8?B?ZDEvZTlveit0ckxnbVVBT0J5OUZvbUxIdWcweEFzYWxXS1k3cHgzb1JSWU1h?=
 =?utf-8?B?ZmJLSWhEZjBlUEE5MWhqcWJRRUNxUmRKMStZdVpsaHgwelF2a1ZGVHlyWXRz?=
 =?utf-8?B?RVRtN0duTHZ3eTlLNXR0WXNZdzliWEYrY3owU3VJbUZ5RDk0em4xNFd2cFBu?=
 =?utf-8?B?Qy91ZU9hdFkrU2xTNUU1N1VkWUdhZmxiSFlBL2s1MEYrd01KdysrYlFQUzJO?=
 =?utf-8?B?UW42elhBZkFkYUFMSGtsYzQwTjJZSEREbTBuQmdKR2o1YnFTaVg4eUoxc0xr?=
 =?utf-8?B?bmJkZm5sRUJqMXBydnNXQVJLT0wzTzJ2QXVaZFp4V3FBdGpWWDJlUE9NZmdw?=
 =?utf-8?B?bVhzTkh4dWNnM0Q0WGl6cExqeFBINDVXNmVUTmZRY25UVjJobG81bUZpQTR1?=
 =?utf-8?B?TDY1d3dpNDEwdDNyTGZTRU51MG9xN1Z3MHB5NDdualA4dkU0RStzNmdubjZR?=
 =?utf-8?B?RE5xTERTaHZuNlBoUW82NHo0SzFnWlU5VjhHS1lxN1E5VTMwNXJjVGRNK2x4?=
 =?utf-8?B?MSt2SXJzcFhPNmM3VjU4SFllUk1vb0lFSGYrLzFrc01yVkp5UW55UXBUc1BF?=
 =?utf-8?B?cjkrQ0diUllNZ0R4NFk5OWpoaHM1c0NSZGVzN2hva2FMcVo0MXJSZWpLTEx5?=
 =?utf-8?B?dXhpYVA0cjRpYXQva01JWWJoOHNORDdlSlM2NlFTNGFDUHV1WlpIeWhLSDdW?=
 =?utf-8?B?OHcxcHN3c05VZXVxUVZVSmh0cWhpZTgzMDF2WGdrMGVzeEVSNEIwNVlQanU0?=
 =?utf-8?B?RVZZZFF1dWxTajVoNGw0UVl6OUhreThFVVd3d1VyVlZkemxZZFU1cEw0V1NN?=
 =?utf-8?B?SUJnamNuWnRvbFVpMGtLbWRyRUorakt0cVFacjFYcitsMEllaVFNREtFY3k5?=
 =?utf-8?B?WERBdUFaWWE1QVhudk1WeEluaEgva2NyeUdTZVlycWdIVVZYaXZUYmhMMFNv?=
 =?utf-8?B?clQvc0QrQmJKZXcxeFVUNjZEQmJKMmJFWTBXL2gvNStsaEN4c2FYR3liU255?=
 =?utf-8?B?T3NVY1U3K1pwV21ZZnc2cEk2cnEwbjhBekF4SkNPYTdCaUl4bWhyY2tYVWFC?=
 =?utf-8?B?eXh1clVyeGFaNFgyOEJLMW1RSW9QV1gyaDdpTzNWb3JQcDhhZE1VTFJLVmpi?=
 =?utf-8?B?UHVuM2JuaGQrdFZZbWJaL2pHRmxwaXhqb0ZhdncyWHBCTjVDZUU3UFczOW5Q?=
 =?utf-8?B?NXFPSTEwaisyU2k5MHUrbmtvY012SlgweGVQU0hWMHNJT0lucmZrVlpkWlFM?=
 =?utf-8?B?SStDbG45dUhZTU9HOXVnNXNMZWk2bHQyV3RibGN4NEJTcFNlVXpZQ2dRSUls?=
 =?utf-8?B?STFSNFFNUW5MVmw1TzV4L3Q4M2VPWGJWZDBZb09QTW9QdjNHemp5UG15c2N4?=
 =?utf-8?B?L01nWklSNTMvcStEbTEyWngyaEFYZW10Y3l2SlZmdlFLbGk0em5mRWVYNmNZ?=
 =?utf-8?B?a2pJYVlidmRsZGFwRGtoZXJCdGIvck9ZSWJlTkZnRDlGV0M3N3dqZUxrdnBs?=
 =?utf-8?B?TXI1Q0oveUxGazJsdVVVUW5sU1dwNGZqTDh4c296S3J6cFdZeGM0YUxWaTM2?=
 =?utf-8?B?QXlLWXZpQTFJT3EraGJOYmZBY0JBdXA0SHFQeDFidkdPeFgzUTkrZ01Fcm1x?=
 =?utf-8?B?dXEvbnl1ZHlUY0prOWx1M3Z5VURwYUZrUXNBaStnRXpWc0lZSm03Q09hUlFv?=
 =?utf-8?B?VVQ0Zk1kWUN0RG14T1NYNEloQzFiQlhhZVl5WFBha2ZoZUw2cXZXeGpQYlFG?=
 =?utf-8?B?RGVRSUhMK2g1RlJJZW4vdGN3WDdudGxoYkVmbzIrZFIyQ2xPaENuNnNoS3ZJ?=
 =?utf-8?B?NTBPQmxnRjlKNFBpaVg3QWhhWWwwTnJ1YmJHZk1aUmFwMmRyNDJLZ2hacDY4?=
 =?utf-8?B?bjJ4am1yQXl1ZzRYZEZtVGU4RWR5eE5pNmZaekpmaThOdDVhQjM3SFgveG9m?=
 =?utf-8?B?ZFYyQnJOUHlodDJoa1VYVVlmTUU5RnAvdVJwTW9TSFMwdDBoSmo3RjBnVE12?=
 =?utf-8?Q?mND10tNHKbq9daizayk4cCM=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: da96dbfa-831e-4771-7b89-08d9d11d4853
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jan 2022 14:03:14.9002
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: R1Dx/JU8C+fZrd6wbqk5HWb35sSDfBz3ZTbLPAtwKUm7b8odGK9tVKu5obFQF/zepc6qFQLE69tjFtgHM5gvkA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6175

On 06.01.2022 08:13, Juergen Gross wrote:
> On 06.01.22 01:40, Stefano Stabellini wrote:
>> Hi all,
>>
>> Today Xen dom0less guests are not "Xen aware": the hypervisor node
>> (compatible = "xen,xen") is missing from dom0less domUs device trees and
>> as a consequence Linux initializes as if Xen is not present. The reason
>> is that interfaces like grant table and xenstore (xenbus in Linux) don't
>> work correctly in a dom0less environment at the moment.
>>
>> The good news is that I have patches for Xen to implement PV drivers
>> support for dom0less guests. They also add the hypervisor node to device
>> tree for dom0less guests so that Linux can discover the presence of Xen
>> and related interfaces.
>>
>> When the Linux kernel is booting as dom0less kernel, it needs to delay
>> the xenbus initialization until the interface becomes ready. Attempts to
>> initialize xenbus straight away lead to failure, which is fine because
>> xenbus has never worked in Linux when running as dom0less guest up until
>> now. It is reasonable that a user needs a newer Linux to take advantage
>> of dom0less with PV drivers. So:
>>
>> - old Xen + old/new Linux -> Xen not detected in Linux
>> - new Xen + old Linux     -> xenbus fails to initialize in Linux
>> - new Xen + new Linux     -> dom0less PV drivers working in Linux
>>
>>
>> The problem is that Linux until recently couldn't deal with any errors
>> in xenbus initialization. Instead of returning error and continuing
>> without xenbus, Linux would crash at boot.
>>
>> I upstreamed two patches for Linux xenbus_probe to be able to deal with
>> initialization errors. With those two fixes, Linux can boot as a
>> dom0less kernel with the hypervisor node in device tree. The two fixes
>> got applied to master and were already backported to all the supported
>> Linux stable trees, so as of today:
>>
>> - dom0less with hypervisor node + Linux 5.16+           -> works
>> - dom0less with hypervisor node + stable Linux 5.10     -> works
>> - dom0less with hypervisor node + unpatched Linux 5.10  -> crashes
>>
>>
>> Is this good enough? Or for Xen/Linux compatibility we want to also be
>> able to boot vanilla unpatched Linux 5.10 as dom0less kernel? If so,
>> the simplest solution is to change compatible string for the hypervisor
>> node, so that old Linux wouldn't recognize Xen presence and wouldn't try
>> to initialize xenbus (so it wouldn't crash on failure). New Linux can of
>> course learn to recognize both the old and the new compatible strings.
>> (For instance it could be compatible = "xen,xen-v2".) I have prototyped
>> and tested this solution successfully but I am not convinced it is the
>> right way to go.
>>
>> Do you have any suggestion or feedback?
>>
>> The Linux crash on xenbus initialization failure is a Linux bug, not a
>> Xen issue. For this reason, I am tempted to say that we shouldn't change
>> compatible string to work-around a Linux bug, especially given that the
>> Linux stable trees are already all fixed.
> 
> What about adding an option to your Xen patches to omit the hypervisor
> node in the device tree? This would enable the user to have a mode
> compatible to today's behavior.

While this sounds nice at the first glance, this would need to be a per-
domain setting. Which wouldn't be straightforward to express via command
line option (don't know how feasible it would be to express such via other
means).

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 06 14:21:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 14:21:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254063.435550 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5TdF-0000AP-Ke; Thu, 06 Jan 2022 14:20:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254063.435550; Thu, 06 Jan 2022 14:20:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5TdF-0000AI-HY; Thu, 06 Jan 2022 14:20:45 +0000
Received: by outflank-mailman (input) for mailman id 254063;
 Thu, 06 Jan 2022 14:20:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=a8QS=RW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n5TdE-0000AC-5i
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 14:20:44 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d4a96987-6efb-11ec-9ce5-af14b9085ebd;
 Thu, 06 Jan 2022 15:20:42 +0100 (CET)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2054.outbound.protection.outlook.com [104.47.9.54]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-30-ouMYoUT-MH-ewPEPu1IEjA-1; Thu, 06 Jan 2022 15:20:41 +0100
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.4867.7; Thu, 6 Jan
 2022 14:20:39 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.017; Thu, 6 Jan 2022
 14:20:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d4a96987-6efb-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641478842;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=kJi+gbWtHJK6xC800PpzqXcAs2bBczYHZAsw2J0Nu30=;
	b=Ay1d1+U4M15+/K4oMyEwGliSyKa4JeIgHnSzuku7XL7wOZaN+lGTpmhoTHx+5AduMaLbbW
	c0G2Z2SOyx7gsG07WWIRfxNH/ALiMNyB0h/1aw8UDSx1uIOFbHVQmXP1Wm5f8smQPW0dzv
	/uWiiNKUtBA70JDbG2LTdOPLecL26Ek=
X-MC-Unique: ouMYoUT-MH-ewPEPu1IEjA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gGfz9rcSw+BoNRJ2ZS4tD7LX0WTcSsxlai6Fmp4K+cJSWHm5UsxgLKaVWemPkdxmPbl7Sx6sPTi8cjCZeU8mrJ9tmrDMN2qUsPdJ+Kbn+eRsG1E5D0yN7UHlH72UBlDxY0Do0kXh9XSoMvQmN3jOxo8pBdlC4islXP2TgnhejSRdGiKfql2fNglPrd7KtTuXIVPBB5fGxoG7UbLP+Gm41yx8IO7eSFUu/1Q2Jgc2souY45fKb+cdc2bLlqtefFFaXRWDFrj9r59xgIaW9dIYarFau03QxaPdq3T+XRLCdjUOqrHCNUYeS/M2gFMNXoEcJgvTtdgRerppwPEcBc0Mdg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kJi+gbWtHJK6xC800PpzqXcAs2bBczYHZAsw2J0Nu30=;
 b=OBORfutVL+X4J84yvYo9Vad+eSsd+hSLueUfdIcOQ5vnp5XPU7P5+kNqjWDFUpjAEBqd04xU131bLry1Q8mpKWtADOoi9NfoYQ9epXRrzi/HbjReBNrGpX60cPpjacinhPYmSWVGwfT02Pposlt0X3SdGR/ax5L8giHYAC1ibm5PLMi8OxLWxtE/GnTvNL8PwRLrENMtZvjSZEylza21D1Tu67VXY67uT8BnIPuHzRd3C+tnNohwK8Derpxiin3tETLVGdK8/V7IQrWl6VnNQyQeV0G3a1Rw4nCQXPxodh75LqqntiaWHvW2w64tO2fK50phZXiu0RN3VIzxRwNmiQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a7a905fe-3feb-507a-7ce4-ed7dce78de86@suse.com>
Date: Thu, 6 Jan 2022 15:20:37 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH V5] xen/gnttab: Store frame GFN in struct page_info on Arm
Content-Language: en-US
To: Oleksandr Tyshchenko <olekstysh@gmail.com>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <1641424268-12968-1-git-send-email-olekstysh@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <1641424268-12968-1-git-send-email-olekstysh@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR08CA0030.eurprd08.prod.outlook.com
 (2603:10a6:20b:c0::18) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 0dcb1e2a-ad67-4d05-81ac-08d9d11fb6e7
X-MS-TrafficTypeDiagnostic: VI1PR04MB7149:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB714952D2AEE0B2FA0DF9308CB34C9@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:
	+/TOmvMtRZXLxXlKQEG6W1DCMym/3KxmqyXBy9vUfYZIKH+3tHpMNzAhXiTZYE+JpGHYBQnCvYrvkjZ+h3oHLNVFnnJeIPUMnlND2kuVGH04qy7swIiEDMi+2FLQJc97Qdhc776VaO9B7PVhhF1jqGo1/mQQFWDv5kXf4yPU+uWGd5On3iYfpdBJ6sDYj75H/LH9J2NI0V3dfFADpCA/vRQS7NkhU9VXzEsgK2W5XLAXySScL71ohkFgy6YKQr2mqjYPuisFZZ/CSwovsJS2v7xwiXlIFAzRz0gkTYVgumUXVaEGryC97wPQBTWDGRMqG35Ccv/vQZUDsHnJ2s/WZmjv4xSdI3T0kNwCAq6XYni0sKy4I6bJ9wuH1nXHrD4QnxKYd+3Y+XZAzamD+mfBcUIpQuaDaMsPPwEoT8cF3dlNiatWNO6oeiTxpN4FltWNohVLawrLhhnpOzhatm/TZfxw145byO3Tuacz/akap/uG/BFkwTP9TalV1DzDe9jIl3fDh7ER5rwqUOnnTCBGhLx0BAHa1Z3P4fihBh+15rn/zkuDYns96rruC3yPAgLZ7iH/Le2O0TxkwK2IbzmWNxyFNP1oqBbBHsUJqfgaJ+Td2tFMTlo+680xetXJQvr8LfI4RYnpgXRD8mv9IVKviyo/kE4di7yHg2P7Ihx7+6I33hNFM0jOYadOUcFMAgsOaFWsbjvSdzsLOdjuf5oaNvHO8iMTTJXPbwpqhLR4YcyHrdeeKZIdhG+f26strjfG
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)(5660300002)(2616005)(6916009)(2906002)(86362001)(4326008)(83380400001)(66556008)(26005)(186003)(8936002)(66946007)(66476007)(508600001)(54906003)(7416002)(8676002)(6506007)(53546011)(6486002)(36756003)(31696002)(6512007)(38100700002)(31686004)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RnZ3VlFDajJSc0hDWWFYa2l2L2s3RWpmdDFvZWJuc3BCa0Rja3puT1VmQkdF?=
 =?utf-8?B?UkdHQ3FtS2hiSGw3QWgrVUd2MnliTUsyN3NnM3llM1ZRdVJ6TjhJWUs5am9Z?=
 =?utf-8?B?NHJoZ1NJa2syalo2QXBkL1JRZXJSZkpTZ2hHYlhwbkFBcGRueUx1VjNIOE5D?=
 =?utf-8?B?aUI3RzNZUDV1bWltMTdDN1lkTjVzeURHdUFxeHZLK0RDMkFyY1BydnhjS1V0?=
 =?utf-8?B?UzVyVklRUVZLTnlzb3ZObi9GcFRBaEk0Z2xQd1h6NGZNVlNvMGlKU0V2UFBE?=
 =?utf-8?B?RGFpTC9KR01wRnNSd3RJa21QenZ1eTc1VndVd2F5VXZPclUrMmkzSGw4eExj?=
 =?utf-8?B?bVMyTHo0cEEraGJERXBRZmdRenVBM0gxSTJEZkRiaS9KVnR6bzNIc1dtOFJM?=
 =?utf-8?B?aloxK2x1UUpjMWJuQVlYODdWMXU2c2I0dEloRCt1S2RuTzdneVRmdzR4TVlL?=
 =?utf-8?B?cEJQN2kxL0dvUnFqWFhmYTl1TjNUbnZLQTN4Rk9uZGF5eFhjb1BZREhUUHhi?=
 =?utf-8?B?Y0pGakdxTkVtbHg4VS9JQ0F0cWNiR2RHQVVjb01DSmh1WXN3L2ZzNjhKNEg0?=
 =?utf-8?B?TXdHV2pCOCt1djZCbXFteFNySHBXZnFOT1BpUC82Y3ZMempNUjhuN1ZOS3o1?=
 =?utf-8?B?QmJRdmhKZGJaTW5abjl5VUU1MXZYR0pnR3hFeVZ6VXpJNC9RcElEWjdOb04v?=
 =?utf-8?B?QmpSbGRrMG5yRXkxVTZaL1c0bEJXSWYvMzRBWHlBTDBacHpIMktPUy93dUQw?=
 =?utf-8?B?bTJSQ0Q3QmtIN2ZGNUtQV04vTlp0MG5XcjM4THFNL0JiYTAwR0NPaXNQUXNL?=
 =?utf-8?B?RFpLRjhXQzNIQjVuaGZ4RFNkeHlaSG5qcmJvcHJOaUVrVXhjSjIzd3hUWHFH?=
 =?utf-8?B?WWx2NHZyMzdZU2hvVCtqb1B1YW1QVjlTYms3Z1pUd0ZHTTc2WVhJYnJRRmVq?=
 =?utf-8?B?OGJLWUxRTVpocnE2RzdkYlM2SzVsRThaeTlValdBUmgrenE5K2hGM295djVp?=
 =?utf-8?B?Y09yNUNVMEpaMFU3ZENCSXpEenJMMUJSTkwvclN5SXlYdXphK2NRa0h5VDdL?=
 =?utf-8?B?aHdGTFdhWmQxUjFJb015UFVDc3dNNSt3WmphcEoydHpYajZKQ1VGMFozYkF0?=
 =?utf-8?B?a0VwalBpQVB5ZzVSMFFjdFU2ZjBOejN6akxIemhDRE0rNXlZU2FBYUh1SFpN?=
 =?utf-8?B?c2ZDV01Bc2c1N1AvZFV3OXFSK1ExMXVRVUpURFhrMHV0TGkzUXFlZWs0QXl6?=
 =?utf-8?B?dUFvY25kV0pzZ1ZZK3dVdjBWYjBUVDNsYU1ZNnNVNWRpMWk1dno5QlZPWFdI?=
 =?utf-8?B?em5oWU5zOWdBK0ptbmhZMXJYUm1naEIza0g2dUtnbEs5cnhXSGtwUnczbjBM?=
 =?utf-8?B?SVh4WUJjQ3VXNEFkQXZDL09qTlpVdXFmSUhCWjZpL2luSGRsNGJCTG0xOTBV?=
 =?utf-8?B?Wit4VkNzKzh6MHpMN0poNUxRbjVZTDdJbmFva3NtTnZCM3NuNDZOdGRta0ZY?=
 =?utf-8?B?dGp1aHlLU3JXTVZwL1FCaWYwTWtKcnhRbm9MOFg5ME5qbVlQZkdHRlVSN3Zu?=
 =?utf-8?B?VTdRU2NFcU5ja0RVMXowK2JyT3IvV2FjUzVhRWdWZjdDMitPMUVQVXN3SWYw?=
 =?utf-8?B?WkpNTzR0SHNiaW5oTG9JbGJuOFh2MVZ5NmNZMXJLa09qTnRybVgvUjVjNy9K?=
 =?utf-8?B?bk1xNlpTN1NaelVNK1FpQjkzTkxuMVNFMkVVQWlRT3I0UzQvNWQzeHU2Z3pT?=
 =?utf-8?B?Q2hkaW1rVXlNdDg5RzZjem9PMUd2LzkxcjYycmtzNkhhQWZncEZ5UEVUQWcv?=
 =?utf-8?B?aHJnL0xYRE5mVnlvZGt2Y2pMYW5UTkcyVDJsbDlHYnNhL0phQ0JiMHptdmJu?=
 =?utf-8?B?OWR0WXpRNzFBODByM2VVQ0w0Nmc3eTdpRXRSVVFlczhvVlBQVzlPeDdZM1F0?=
 =?utf-8?B?Y1NYWWp2ckhhWmZsd1NLWldkTXJnY0JSVnI3L2ZqSjFOVEpFUG0ySDAzNHZ6?=
 =?utf-8?B?K3FOQ2t0bVVOanJkL0hMbFRpQWwxcDhzcnBKNkNYaEpCS01MS21PU1pYb0Nq?=
 =?utf-8?B?UWJRMXZCOGpIelJIMW1uOUcxdERRZERuMEFxYW9TWHFiWHpJeERZcHVDcGl3?=
 =?utf-8?B?WTIyY1lTMG9wM2d3bHJ3T3hpNlJPMlZRMU1KZ1hEbGdHL25yTTBpaFZuTGla?=
 =?utf-8?Q?GoaTb2jXhfmvOGpBASJAaBo=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0dcb1e2a-ad67-4d05-81ac-08d9d11fb6e7
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jan 2022 14:20:39.3821
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: D1o/4Bm5TMbsjBgMlkuyY8iEmx/CCSAK7lX7lOV/hheeVPaFsFWaAbBdzE3Fh/NsyvnF8IQiwBQxoTNxHj5Esw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7149

On 06.01.2022 00:11, Oleksandr Tyshchenko wrote:
> --- a/xen/arch/x86/include/asm/mm.h
> +++ b/xen/arch/x86/include/asm/mm.h
> @@ -57,6 +57,9 @@
>  #define PGT_count_width   PG_shift(8)
>  #define PGT_count_mask    ((1UL<<PGT_count_width)-1)
>  
> +/* No arch-specific initialization pattern is needed for the type_info field. */
> +#define PGT_TYPE_INFO_INIT_PATTERN   0

I think this should be inside an #ifndef in page_alloc.c.

Also the name suggests usage for all kinds of pages, as you did
outline on the v4 thread. Yet ...

> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -2159,6 +2159,7 @@ void init_xenheap_pages(paddr_t ps, paddr_t pe)
>  void *alloc_xenheap_pages(unsigned int order, unsigned int memflags)
>  {
>      struct page_info *pg;
> +    unsigned int i;
>  
>      ASSERT(!in_irq());
>  
> @@ -2167,6 +2168,9 @@ void *alloc_xenheap_pages(unsigned int order, unsigned int memflags)
>      if ( unlikely(pg == NULL) )
>          return NULL;
>  
> +    for ( i = 0; i < (1u << order); i++ )
> +        pg[i].u.inuse.type_info |= PGT_TYPE_INFO_INIT_PATTERN;
> +
>      return page_to_virt(pg);
>  }
>  
> @@ -2214,7 +2218,10 @@ void *alloc_xenheap_pages(unsigned int order, unsigned int memflags)
>          return NULL;
>  
>      for ( i = 0; i < (1u << order); i++ )
> +    {
>          pg[i].count_info |= PGC_xen_heap;
> +        pg[i].u.inuse.type_info |= PGT_TYPE_INFO_INIT_PATTERN;
> +    }
>  
>      return page_to_virt(pg);
>  }

... you now only use it in alloc_xenheap_pages().

Further, did you check that when the value is 0 the compiler would
fully eliminate the new code in both flavors of the function?

Finally, leaving aside the aspect of where the value should be used,
and also leaving aside the fact that the T in PGT is redundant with
TYPE_INFO, I think something like PGT_TYPE_INFO_INITIALIZER would be
better than having "pattern" in the name. But this may just be me ...

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 06 14:24:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 14:24:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254068.435560 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5Tgh-0000o9-4G; Thu, 06 Jan 2022 14:24:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254068.435560; Thu, 06 Jan 2022 14: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 1n5Tgh-0000o2-1N; Thu, 06 Jan 2022 14:24:19 +0000
Received: by outflank-mailman (input) for mailman id 254068;
 Thu, 06 Jan 2022 14:24: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 1n5Tgf-0000nw-PK
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 14:24: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 1n5Tgc-0005ul-Vk; Thu, 06 Jan 2022 14:24:14 +0000
Received: from [54.239.6.184] (helo=[192.168.20.220])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1n5Tgc-000530-Ou; Thu, 06 Jan 2022 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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=iQIybYdLOzucaWm56BYCzPsKno3lfye3M8qL0E7yI/w=; b=0gQf9iav/wJ2+u4fsBMKHjMiGY
	2nx+7Gwl3twUqt5qk21PjsA06JNmp+GW0zq5OuFCSVUQIvRLRkd8xq4Vgw8NwVeBmthnQbS6gSKw0
	LSmRARjgVC8/2Za8njTrnCDtJnj3H4V1O3O/Mk0wjinLRWa5XOqHjoOWj4v9F2X6AwmQ=;
Message-ID: <539a657a-dd79-b05b-1f4b-6d9a5a869d12@xen.org>
Date: Thu, 6 Jan 2022 14:24:12 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.4.1
Subject: Re: request for feedback on a Xen/Linux compatibility issue
To: Jan Beulich <jbeulich@suse.com>, Juergen Gross <jgross@suse.com>
Cc: bertrand.marquis@arm.com, Volodymyr_Babchuk@epam.com,
 xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>,
 boris.ostrovsky@oracle.com
References: <alpine.DEB.2.22.394.2112131729100.3376@ubuntu-linux-20-04-desktop>
 <4ea34f61-e72e-76c3-5c20-879fefe4c7f7@suse.com>
 <09333371-92c0-5c90-4b4c-59b2ed9ac60d@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <09333371-92c0-5c90-4b4c-59b2ed9ac60d@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 06/01/2022 14:03, Jan Beulich wrote:
> On 06.01.2022 08:13, Juergen Gross wrote:
>> On 06.01.22 01:40, Stefano Stabellini wrote:
>>> Hi all,
>>>
>>> Today Xen dom0less guests are not "Xen aware": the hypervisor node
>>> (compatible = "xen,xen") is missing from dom0less domUs device trees and
>>> as a consequence Linux initializes as if Xen is not present. The reason
>>> is that interfaces like grant table and xenstore (xenbus in Linux) don't
>>> work correctly in a dom0less environment at the moment.
>>>
>>> The good news is that I have patches for Xen to implement PV drivers
>>> support for dom0less guests. They also add the hypervisor node to device
>>> tree for dom0less guests so that Linux can discover the presence of Xen
>>> and related interfaces.
>>>
>>> When the Linux kernel is booting as dom0less kernel, it needs to delay
>>> the xenbus initialization until the interface becomes ready. Attempts to
>>> initialize xenbus straight away lead to failure, which is fine because
>>> xenbus has never worked in Linux when running as dom0less guest up until
>>> now. It is reasonable that a user needs a newer Linux to take advantage
>>> of dom0less with PV drivers. So:
>>>
>>> - old Xen + old/new Linux -> Xen not detected in Linux
>>> - new Xen + old Linux     -> xenbus fails to initialize in Linux
>>> - new Xen + new Linux     -> dom0less PV drivers working in Linux
>>>
>>>
>>> The problem is that Linux until recently couldn't deal with any errors
>>> in xenbus initialization. Instead of returning error and continuing
>>> without xenbus, Linux would crash at boot.
>>>
>>> I upstreamed two patches for Linux xenbus_probe to be able to deal with
>>> initialization errors. With those two fixes, Linux can boot as a
>>> dom0less kernel with the hypervisor node in device tree. The two fixes
>>> got applied to master and were already backported to all the supported
>>> Linux stable trees, so as of today:
>>>
>>> - dom0less with hypervisor node + Linux 5.16+           -> works
>>> - dom0less with hypervisor node + stable Linux 5.10     -> works
>>> - dom0less with hypervisor node + unpatched Linux 5.10  -> crashes
>>>
>>>
>>> Is this good enough? Or for Xen/Linux compatibility we want to also be
>>> able to boot vanilla unpatched Linux 5.10 as dom0less kernel? If so,
>>> the simplest solution is to change compatible string for the hypervisor
>>> node, so that old Linux wouldn't recognize Xen presence and wouldn't try
>>> to initialize xenbus (so it wouldn't crash on failure). New Linux can of
>>> course learn to recognize both the old and the new compatible strings.
>>> (For instance it could be compatible = "xen,xen-v2".) I have prototyped
>>> and tested this solution successfully but I am not convinced it is the
>>> right way to go.
>>>
>>> Do you have any suggestion or feedback?
>>>
>>> The Linux crash on xenbus initialization failure is a Linux bug, not a
>>> Xen issue. For this reason, I am tempted to say that we shouldn't change
>>> compatible string to work-around a Linux bug, especially given that the
>>> Linux stable trees are already all fixed.
>>
>> What about adding an option to your Xen patches to omit the hypervisor
>> node in the device tree? This would enable the user to have a mode
>> compatible to today's behavior.
> 
> While this sounds nice at the first glance, this would need to be a per-
> domain setting. Which wouldn't be straightforward to express via command
> line option (don't know how feasible it would be to express such via other
> means).

For dom0less, domains are described in the Device-Tree. We have one node 
per domain, so we could add a property to indicate whether the domain 
should be started in compat mode (or not).

That said, I am not sure every users will want Linux to use 
grant-table/xenstore (possibly, some users may want one but not the other).

So how about a more generic property "xen,enhanced" with an opional 
value indicating whether this is disabled, enabled or the list of 
interface (e.g. xenbus, grant-table) exposed?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Jan 06 14:34:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 14:34:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254073.435571 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5Tpx-0002H6-33; Thu, 06 Jan 2022 14:33:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254073.435571; Thu, 06 Jan 2022 14:33:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5Tpw-0002Gz-Vv; Thu, 06 Jan 2022 14:33:52 +0000
Received: by outflank-mailman (input) for mailman id 254073;
 Thu, 06 Jan 2022 14:33:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kr4l=RW=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n5Tpw-0002Gt-Cl
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 14:33:52 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id aa975d83-6efd-11ec-81c0-a30af7de8005;
 Thu, 06 Jan 2022 15:33:51 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id B73891F37F;
 Thu,  6 Jan 2022 14:33:50 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 81A4A13C56;
 Thu,  6 Jan 2022 14:33:50 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id ALJfHs791mGZYQAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 06 Jan 2022 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>
X-Inumbo-ID: aa975d83-6efd-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641479630; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type;
	bh=Xxys0UCoLrRXFPG+3jG/KrKNHVgAypxjyTeEgSC5H2M=;
	b=E29tJZwXxvXo/ab3cjrEKTrM5T/uRVeTYnnSxNJqcjTUxoAKD8JHSBHVUoMwFpqxRb34iA
	F6/dpL29PEBh6ClJTPbeoaBo2v02oIVYP9+nSng3zLT38QVnilxM1jCW0OCri2DW4hTUOy
	c0C6PVqVLSVW9jquXCHH0WcNnyQK244=
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
From: Juergen Gross <jgross@suse.com>
Cc: Julien Grall <julien@xen.org>, Jan Beulich <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <George.Dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Subject: Live update of Xenstore-stubdom
Message-ID: <a6ba7e89-f70b-3c51-5a65-06c62f5cd512@suse.com>
Date: Thu, 6 Jan 2022 15:33:49 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="hEsOIy1zpuGkzMOIl20R2tBBHyTYAipVy"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--hEsOIy1zpuGkzMOIl20R2tBBHyTYAipVy
Content-Type: multipart/mixed; boundary="tkKrEgi2FH26q2pkQ1FbuQS4vGYBGRBLv";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Julien Grall <julien@xen.org>, Jan Beulich <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <George.Dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Message-ID: <a6ba7e89-f70b-3c51-5a65-06c62f5cd512@suse.com>
Subject: Live update of Xenstore-stubdom

--tkKrEgi2FH26q2pkQ1FbuQS4vGYBGRBLv
Content-Type: multipart/mixed;
 boundary="------------222FB934320FFE052AC5442F"
Content-Language: en-US

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

I'm currently thinking how to implement live update of Xenstore-stubdom.

I should note that my plan is to support live update for a Xenstore PVH
stubdom only, as kexec functionality is much easier to implement for
that case.

The main problem is to transfer the Xenstore state to the new instance.

Originally my idea was to keep the state in memory and hand it over to
the new kernel as a module. This would probably work, but there is one
basic problem with that approach: the Xenstore domain might need quite
some additional memory to hold the module (roughly up to twice the
memory it has in use when starting the live update).

As a result the live update sequence would need to:

1. increase the maximum allowed memory of the Xenstore domain
2. allocate additional memory for the module
3. create the module
4. kexec to the new kernel
5. build the Xenstore from the module
6. free the module memory
7. decrease the max memory of the domain again

The first and last step would need to be done by xenstore-control in
dom0, while all the other steps would be done in the Xenstore-stubdom.

As an alternative I was thinking to add some basic file operations to
Xenstore-stubdom. This would have the additional benefit of having an
easy way to add Xenstore logging support to the stubdom without the risk
to lose logging data when using the console for that purpose.

A nice way to do that would be to use a 9pfs PV device, but this is
problematic across the kexec in the domain, as there is no Xenstore
available for any additional frontend-backend communication at that
time.

The 9pfs PV protocol as defined today needs at least 3 pages granted by
the frontend to the backend (the main parameter page, and at least 1
ring page for each direction of communication). For better performance
even more pages might be desirable (the 9pfs PV protocol allows for up
to 256 pages for each direction of communication, all file data is going
through those ring pages).

For using 9pfs I'd need to either extend the current PV protocol in
order to support reconfiguration of the PV device without needing
Xenstore (so no change of the frontend state required), or the 9pfs
configuration would need to be kept across kexec, including the PFNs of
the granted pages (this could be achieved e.g. via a fixed PFN range
like it is done for the PV console ring page today).

Another possibility would be to extend the current pvcalls interface
to support file operations. This would require "only" some additional
commands (read, write, stat, ...) and could work easily with a single
ring page (reads and writes would use grants, of course). OTOH this
would add basically a similar functionality as the 9pfs PV device.

This whole file access scheme could even be extended to other use
cases, like driver domains and other stubdoms, in order to have the
possibility to produce logs of all infrastructure domains at a central
place.

Per default I'd extend the console daemon to act as a backend (either
9pfs or pvcalls), but that should be configurable in order to allow e.g.
for a logging stubdom, too.

So what are the thoughts for the way to go with Xenstore-stubdom live
update? Should I use stubdom memory for the state, or should I go with a
file based approach (and if yes, 9pfs or pvcalls based)?


Juergen

--------------222FB934320FFE052AC5442F
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-----

--------------222FB934320FFE052AC5442F--

--tkKrEgi2FH26q2pkQ1FbuQS4vGYBGRBLv--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHW/c0FAwAAAAAACgkQsN6d1ii/Ey8K
4wgAgydgcAdRRCllV3HDXZTPk5bDysXX3i6hPhB8IRrBpIBkW97SLTGdZvFHU6cPIMoYzSZu3UBR
ri6S35jr6RlOggoN6wqI/8hWQ2oIEDwDh+VIPL8Tdzr2rSigPulSqPzjzWV7IguzDzJhp3WHpS5X
N7Fg+kMAlZ+iRrWEvMcQdg/8TDdlGIC3OG6WFhyKg2gDfFaDyipSYolrK9wXtS20Ffa5FlajgLeC
phdYMx7VCWKd1/TPzunraQmm8dMgtAFeu/uQ9Ptb+TQuBk7s6j+1QEHaVVKlI0wyHOwb2PE42QaZ
WXnu9JQUAD1UD/HJx7AgCRhRe7nd4NHPrR3409qs0w==
=55z+
-----END PGP SIGNATURE-----

--hEsOIy1zpuGkzMOIl20R2tBBHyTYAipVy--


From xen-devel-bounces@lists.xenproject.org Thu Jan 06 14:42:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 14:42:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254079.435582 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5TyI-0003nJ-1G; Thu, 06 Jan 2022 14:42:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254079.435582; Thu, 06 Jan 2022 14:42:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5TyH-0003nC-US; Thu, 06 Jan 2022 14:42:29 +0000
Received: by outflank-mailman (input) for mailman id 254079;
 Thu, 06 Jan 2022 14:42:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qsn0=RW=gmail.com=dunlapg@srs-se1.protection.inumbo.net>)
 id 1n5TyG-0003n6-CU
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 14:42:28 +0000
Received: from mail-yb1-xb34.google.com (mail-yb1-xb34.google.com
 [2607:f8b0:4864:20::b34])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dd5766e7-6efe-11ec-81c0-a30af7de8005;
 Thu, 06 Jan 2022 15:42:26 +0100 (CET)
Received: by mail-yb1-xb34.google.com with SMTP id k69so8030793ybf.1
 for <xen-devel@lists.xenproject.org>; Thu, 06 Jan 2022 06:42:26 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dd5766e7-6efe-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=umich.edu; s=google-2016-06-03;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=p6d71foSY8ZG72V2o+8sUcsCilnZIhZ7ZfgLPmZn9cg=;
        b=HTuSqrr7xiWK7BTUgOWw9TQmJYhe3o2sXgb8wvE2DxhNjKKGkBYJqiuDZBAvFE08JK
         B7kW4FoeQGF6dDn8ktWjbeJkOo/cP6KgWBUhNVp/rIN1bMzui7iig9Bz6aiiaAzxbpQK
         qxdj9jyf+SOWsfMWQ3c++qfUHaiGzqHbSa2lI5Z6CneQJGUwpIegHOd9Jc2chTWZZaH/
         0yC9YTPintbBPGer3qkR5pEzoE8AnvvPF9wwExm7a14Y37eWjeei7U5PQ0SRiwTYubfM
         L2pD02QguLzSIAJoD0pbkJVMO55kvcp72VRgbrFaumZFwVP6BXFS+4mv4Y3+RA0Xbr3N
         MgeA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=p6d71foSY8ZG72V2o+8sUcsCilnZIhZ7ZfgLPmZn9cg=;
        b=a0a/CUiGJYgvmS6FtmRVjZph2gw7RK+inFBfUaQ6OdOLdZxfeuTJJf1ka8GWfISTqv
         u4zCwpwXLDwUABHOyyA7R82h85W8ZS/iHBbgQXXC/NsXLfyoCMLJtnwCH2Mpt3/E2v0/
         lknjZ+sU80MJdZNhyZVsDWDLidUAOpEXlsSay69PENtWRqYmo8DcKXn5Nt0ueqRcsUnv
         /c4ub1RgTKCD/hJMVo08Ykp+h2vGbJAR60SvwIuNgT7IBgQFg1jf9BzJPq4DqPfuIk1T
         8kvZD+Q66S1ejeBY2ZmBxInE0Qh5DdET8vaZlSBRRacqe3T8snSebDjipHtNRtYDd2Jz
         WvDw==
X-Gm-Message-State: AOAM533J3hNvT3KY6q6sNFjeIPctwkmk1Zpx3vjAe6MR5Gv7P5UPtU9f
	9CyXqAsOkFhaHKO8zfgbepQbcTv0dz6uL+oekyY=
X-Google-Smtp-Source: ABdhPJwNiPlepERenxqMwq0Vg2TZnk6YpTdeiLjc16zFFgdVQRCsm4cC5DT1ensjeGrw7AvKa7/L5VuZkQtgmKHtSCk=
X-Received: by 2002:a25:b108:: with SMTP id g8mr23854237ybj.277.1641480145188;
 Thu, 06 Jan 2022 06:42:25 -0800 (PST)
MIME-Version: 1.0
References: <CAN2gxUQmsa=ONQqj0-3PZ2oxp-QVMgsm0BQ+q=-LWwmWTqwMZg@mail.gmail.com>
 <CAFLBxZazbQUF5bXw=yxM7+48KVVz_rJoi8UWrH83Ln-j40u9PA@mail.gmail.com> <CAN2gxUQ_h79Sy006NBcRkFzj9PDAjn8JA3UjQo4L81xo7ShgbA@mail.gmail.com>
In-Reply-To: <CAN2gxUQ_h79Sy006NBcRkFzj9PDAjn8JA3UjQo4L81xo7ShgbA@mail.gmail.com>
From: George Dunlap <dunlapg@umich.edu>
Date: Thu, 6 Jan 2022 14:42:14 +0000
Message-ID: <CAFLBxZZX9escoCP92dLMCqQGv1-CHaEOzX7NAzvHs_heXYxfhg@mail.gmail.com>
Subject: Re: scheduler credit capture
To: amir masoud noohi <highlimner@gmail.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>
Content-Type: multipart/alternative; boundary="000000000000f5ba6305d4eae067"

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

[Adding back in xen-devel to the cc' list]

On Thu, Jan 6, 2022 at 1:41 PM amir masoud noohi <highlimner@gmail.com>
wrote:

> yes exactly, I want to see the changes of a credit for each vCPU
>

(FYI we respond in-line on the Xen mailing lists rather than top posting.)

Your best bet is to look into xentrace & xenalyze, and the trace or TRACE
calls found in xen.git/xen/common/sched/credit[2].c.  It looks like you can
get the info you want for credit2, but not for credit1 unless you add some
trace points in.

You can find a video introduction to Xen tracing here:
https://vimeo.com/33655967

It's a bit old but that system hasn't changed much.

 -George


>
> On Thu, Jan 6, 2022 at 2:32 PM George Dunlap <dunlapg@umich.edu> wrote:
>
>>
>>
>> On Wed, Jan 5, 2022 at 2:45 PM amir masoud noohi <highlimner@gmail.com>
>> wrote:
>>
>>> Hi Everyone,
>>>
>>> Today I'm looking for capturing vCPU credit for both credit1 and
>>> credit2.
>>> How can I do that?
>>>
>>
>> Can you explain what you mean by "capture vCPU credit"?  Do you mean you
>> want to log or sample changes to it?
>>
>>  -George
>>
>
>
> --
> *Regards*
> *Noohi*
> *noohi.org <https://noohi.org>*
>

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

<div dir=3D"ltr"><div>[Adding back in xen-devel to the cc&#39; list]<br></d=
iv><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On =
Thu, Jan 6, 2022 at 1:41 PM amir masoud noohi &lt;<a href=3D"mailto:highlim=
ner@gmail.com">highlimner@gmail.com</a>&gt; wrote:<br></div><blockquote cla=
ss=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid =
rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div style=3D"font-fami=
ly:trebuchet ms,sans-serif">yes exactly, I want to see the changes of a cre=
dit for each vCPU</div></div></blockquote><div><br></div><div><div class=3D=
"gmail_quote"><div>(FYI we respond in-line on the Xen mailing lists rather =
than top posting.)<br></div><div><br></div>Your
 best bet is to look into xentrace &amp; xenalyze, and the trace or=20
TRACE calls found in xen.git/xen/common/sched/credit[2].c.=C2=A0 It looks=
=20
like you can get the info you want for credit2, but not for credit1=20
unless you add some trace points in.</div><div class=3D"gmail_quote"><br></=
div><div class=3D"gmail_quote">You can find a video introduction to Xen tra=
cing here: <a href=3D"https://vimeo.com/33655967">https://vimeo.com/3365596=
7</a></div><div class=3D"gmail_quote"><br></div><div class=3D"gmail_quote">=
It&#39;s a bit old but that system hasn&#39;t changed much.<br></div><div c=
lass=3D"gmail_quote"><br></div><div class=3D"gmail_quote">=C2=A0-George</di=
v></div><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:=
0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">=
<br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Thu=
, Jan 6, 2022 at 2:32 PM George Dunlap &lt;<a href=3D"mailto:dunlapg@umich.=
edu" target=3D"_blank">dunlapg@umich.edu</a>&gt; wrote:<br></div><blockquot=
e class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px s=
olid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div dir=3D"ltr"><=
br></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_att=
r">On Wed, Jan 5, 2022 at 2:45 PM amir masoud noohi &lt;<a href=3D"mailto:h=
ighlimner@gmail.com" target=3D"_blank">highlimner@gmail.com</a>&gt; wrote:<=
br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8e=
x;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"=
><div style=3D"font-family:&quot;trebuchet ms&quot;,sans-serif">Hi Everyone=
,</div><div style=3D"font-family:&quot;trebuchet ms&quot;,sans-serif"><br><=
/div><div style=3D"font-family:&quot;trebuchet ms&quot;,sans-serif">Today I=
&#39;m looking for capturing vCPU credit for both credit1 and credit2.=C2=
=A0</div><div style=3D"font-family:&quot;trebuchet ms&quot;,sans-serif">How=
 can I do that?=C2=A0</div></div></blockquote><div><br></div><div>Can you e=
xplain what you mean by &quot;capture vCPU credit&quot;?=C2=A0 Do you mean =
you want to log or sample changes to it?<br></div><div><br></div><div>=C2=
=A0-George<br></div></div></div>
</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"><div><div dir=
=3D"ltr"><div><div dir=3D"ltr"><div dir=3D"ltr"><b><font color=3D"#999999">=
Regards</font></b></div><div dir=3D"ltr"><font color=3D"#999999"><b>Noohi</=
b></font></div><div dir=3D"ltr"><b><a href=3D"https://noohi.org" target=3D"=
_blank"><font color=3D"#999999">noohi.org</font></a></b></div></div></div><=
/div></div></div></div></div></div></div></div>
</blockquote></div></div>

--000000000000f5ba6305d4eae067--


From xen-devel-bounces@lists.xenproject.org Thu Jan 06 14:49:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 14:49:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254084.435593 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5U4S-0004S4-ND; Thu, 06 Jan 2022 14:48:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254084.435593; Thu, 06 Jan 2022 14:48:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5U4S-0004Rx-KP; Thu, 06 Jan 2022 14:48:52 +0000
Received: by outflank-mailman (input) for mailman id 254084;
 Thu, 06 Jan 2022 14:48:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gOnR=RW=tklengyel.com=tamas@srs-se1.protection.inumbo.net>)
 id 1n5U4R-0004Rq-2c
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 14:48:51 +0000
Received: from MTA-15-3.privateemail.com (mta-15-3.privateemail.com
 [198.54.122.111]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c172c2dd-6eff-11ec-9ce5-af14b9085ebd;
 Thu, 06 Jan 2022 15:48:49 +0100 (CET)
Received: from mta-15.privateemail.com (localhost [127.0.0.1])
 by mta-15.privateemail.com (Postfix) with ESMTP id 94FCC18000A3
 for <xen-devel@lists.xenproject.org>; Thu,  6 Jan 2022 09:48:47 -0500 (EST)
Received: from mail-yb1-f177.google.com (unknown [10.20.151.191])
 by mta-15.privateemail.com (Postfix) with ESMTPA id 6FF8018000A2
 for <xen-devel@lists.xenproject.org>; Thu,  6 Jan 2022 09:48:47 -0500 (EST)
Received: by mail-yb1-f177.google.com with SMTP id j83so8111829ybg.2
 for <xen-devel@lists.xenproject.org>; Thu, 06 Jan 2022 06:48:47 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c172c2dd-6eff-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=tklengyel.com;
	s=default; t=1641480527;
	bh=1qsAsDI5cJUjBCdost7fvUykvkacmQpLkJpaiGVN2Io=;
	h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
	b=o5vERlokd4N2JNcVaaLR3D+smNURIu0+dkU3Fnmi3Bc3gL0q6/brJPUaSkFsP6yCW
	 7pc2Hju87Dp2i/p9Mcku5Nuqwnn10xkpdPYpWHAJzNzD3ZxJAXLaL5KuTR/tI1Wep1
	 b9xmnLm20TIagNKrmhrDyrSzyIiyjHzhZhk68eEpUxdU1ar00j78QIulT6QmYLrQI9
	 YOGS8BXwGvBKp70j0ldx5YqPOrA8Tz6aDUw9hCP0Y55lcb46GKL3rTe9WudkEXVT04
	 nO7XUUlpOknv6XUYr1YPRPcONUM2o4hrH20fZRpb/26sZH0G67Vm9EttpNgVBGB2bI
	 rpoY1y7JvOQog==
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=tklengyel.com;
	s=default; t=1641480527;
	bh=1qsAsDI5cJUjBCdost7fvUykvkacmQpLkJpaiGVN2Io=;
	h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
	b=o5vERlokd4N2JNcVaaLR3D+smNURIu0+dkU3Fnmi3Bc3gL0q6/brJPUaSkFsP6yCW
	 7pc2Hju87Dp2i/p9Mcku5Nuqwnn10xkpdPYpWHAJzNzD3ZxJAXLaL5KuTR/tI1Wep1
	 b9xmnLm20TIagNKrmhrDyrSzyIiyjHzhZhk68eEpUxdU1ar00j78QIulT6QmYLrQI9
	 YOGS8BXwGvBKp70j0ldx5YqPOrA8Tz6aDUw9hCP0Y55lcb46GKL3rTe9WudkEXVT04
	 nO7XUUlpOknv6XUYr1YPRPcONUM2o4hrH20fZRpb/26sZH0G67Vm9EttpNgVBGB2bI
	 rpoY1y7JvOQog==
X-Gm-Message-State: AOAM531NC2kF1b0H+pnlnES5Kd/F6T0zMdNYuNDfOSKmcAloRDURUitz
	l5xzP/Lzksr1T/gs1lwXIZPlrFFeVvhqoSCS08U=
X-Google-Smtp-Source: ABdhPJy6fv5mMO/noJLKzMzEB+tNcMWz24XsBBOWM2WSyq3xp0dXzgjkcY0xY3IXuiGPO/QjYkWnv2BRWkoBOo7tSg8=
X-Received: by 2002:a5b:94b:: with SMTP id x11mr55537938ybq.344.1641480522655;
 Thu, 06 Jan 2022 06:48:42 -0800 (PST)
MIME-Version: 1.0
References: <e9257e96-ede9-2809-9a77-fd4dc206badc@suse.com>
 <d1b6aede-2c0a-df7a-7815-73ad4d795899@suse.com> <CABfawhmGxHBEC1M2=zo11K11Yr_TdWFkkVpDpVimy_uvD4nxyQ@mail.gmail.com>
 <f13f983f-9190-99d4-7a6d-c73be651896d@suse.com> <CABfawhnNv+KpSm+ZGaRFvkNrooU0_E0TEijs0_WBNtrZ0-y1Jg@mail.gmail.com>
 <35ed148d-c525-5fdb-ad83-d0a1c9432b11@suse.com>
In-Reply-To: <35ed148d-c525-5fdb-ad83-d0a1c9432b11@suse.com>
From: Tamas K Lengyel <tamas@tklengyel.com>
Date: Thu, 6 Jan 2022 09:48:07 -0500
X-Gmail-Original-Message-ID: <CABfawhmf4WSxRHaE-hJdt+g-WCHJjD0y8t2JcVDHHdcpMhtsmw@mail.gmail.com>
Message-ID: <CABfawhmf4WSxRHaE-hJdt+g-WCHJjD0y8t2JcVDHHdcpMhtsmw@mail.gmail.com>
Subject: Re: [PATCH RFC v2 3/3] x86/altp2m: p2m_altp2m_propagate_change()
 should honor present page order
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>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	George Dunlap <george.dunlap@citrix.com>, Alexandru Isaila <aisaila@bitdefender.com>, 
	Petre Pircalabu <ppircalabu@bitdefender.com>
Content-Type: text/plain; charset="UTF-8"
X-Virus-Scanned: ClamAV using ClamSMTP

> Hmm, I continue to be puzzled. Let's take the XSA-304 workaround as an
> example. Suppose an introspection agent has removed X from a 4k page
> in an altp2m of a guest. Suppose one of the vCPU-s of this guest runs
> on the host p2m. If this vCPU hits the (presumably) 2M or 1G mapping
> covering said 4k page for an insn fetch, the page will be shattered
> and the removed X in one (or more) of the altp2m-s will, afaict, be
> lost. This looks like a bug to me.

Yeap, that can happen if you are using large pages and allow execution
on the hosp2m. We explicitly disable large pages when we use altp2m's
though so it's not an issue for us. Someone implementing an
introspection solution where they keep large pages would have to
pre-shatter all the large pages in the hostp2m and only then apply the
altp2m changes. Or have a separate altp2m view that's used only for
execution and the hostp2m is never used. So the way things are can
certainly be worked with and it's not a show-stopper, it's just
convoluted and you can certainly have bugs if you do it wrong that
would be hard to figure out.

As I said, I don't see much upside in why the current propagation
mechanism is in place and we don't use it, so if someone wants to
switch it because of preference or because it's less error-prone, I
wouldn't object.

Tamas


From xen-devel-bounces@lists.xenproject.org Thu Jan 06 14:55:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 14:55:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254090.435605 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5UAl-0005s4-FO; Thu, 06 Jan 2022 14:55:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254090.435605; Thu, 06 Jan 2022 14: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 1n5UAl-0005rx-BU; Thu, 06 Jan 2022 14:55:23 +0000
Received: by outflank-mailman (input) for mailman id 254090;
 Thu, 06 Jan 2022 14:55:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gOnR=RW=tklengyel.com=tamas@srs-se1.protection.inumbo.net>)
 id 1n5UAj-0005rr-Qo
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 14:55:21 +0000
Received: from MTA-09-3.privateemail.com (mta-09-3.privateemail.com
 [68.65.122.19]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a9d8ece2-6f00-11ec-81c0-a30af7de8005;
 Thu, 06 Jan 2022 15:55:19 +0100 (CET)
Received: from mta-09.privateemail.com (localhost [127.0.0.1])
 by mta-09.privateemail.com (Postfix) with ESMTP id 77B3B1800B12
 for <xen-devel@lists.xenproject.org>; Thu,  6 Jan 2022 09:55:17 -0500 (EST)
Received: from mail-yb1-f172.google.com (unknown [10.20.151.194])
 by mta-09.privateemail.com (Postfix) with ESMTPA id 5420C1800214
 for <xen-devel@lists.xenproject.org>; Thu,  6 Jan 2022 09:55:17 -0500 (EST)
Received: by mail-yb1-f172.google.com with SMTP id j83so8168029ybg.2
 for <xen-devel@lists.xenproject.org>; Thu, 06 Jan 2022 06:55:17 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a9d8ece2-6f00-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=tklengyel.com;
	s=default; t=1641480917;
	bh=nyaipcGS3y4xEPjqo5zcVc2ckg4R8mcQbe3P330518A=;
	h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
	b=yP886jAm87oH3TJWysP0aXQLb4hN/BK3FnqV28MlcYOj34J2Rfz5niioYju/cGI+q
	 XjwCbeIGDrC+w704HmdpWucGepTvRY6Qedu9tdGLPN2J3HyK8BHyEYfOlXww/qBt+o
	 O9rUFhNJx0+m4R9lKp0aQ/v3Mipi8xf3HrlIyAXgQp67nZ2BGU+ixJE8GtsLYYBlHg
	 s5Btq73XBMydGJLDuToochpgtSca+YMVFUl/gIBtXLzwgc8VFzN+nttOtvfSOcE6o3
	 Z8qqrFTh6RAMlLVjz80DGCvOS6c0eYea0NTOLiJCw8fmyHfhbxQb6lnQGWOPktbLMN
	 ZdZJBcaig4P6Q==
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=tklengyel.com;
	s=default; t=1641480917;
	bh=nyaipcGS3y4xEPjqo5zcVc2ckg4R8mcQbe3P330518A=;
	h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
	b=yP886jAm87oH3TJWysP0aXQLb4hN/BK3FnqV28MlcYOj34J2Rfz5niioYju/cGI+q
	 XjwCbeIGDrC+w704HmdpWucGepTvRY6Qedu9tdGLPN2J3HyK8BHyEYfOlXww/qBt+o
	 O9rUFhNJx0+m4R9lKp0aQ/v3Mipi8xf3HrlIyAXgQp67nZ2BGU+ixJE8GtsLYYBlHg
	 s5Btq73XBMydGJLDuToochpgtSca+YMVFUl/gIBtXLzwgc8VFzN+nttOtvfSOcE6o3
	 Z8qqrFTh6RAMlLVjz80DGCvOS6c0eYea0NTOLiJCw8fmyHfhbxQb6lnQGWOPktbLMN
	 ZdZJBcaig4P6Q==
X-Gm-Message-State: AOAM530+cuIqwb9cV/MfzNPmW5wAXmzXQh1bzUCzfnLnDlsPCshDocYY
	VCNT869G8ToO4qK9eAy3F/ZEa1yC3UMlQwNebHg=
X-Google-Smtp-Source: ABdhPJzGIxADnMOTsDEKfR/rali8/azFypsVtCcwXYXetsprgp659VY/roONfS7L8hOiDIbjWgpCGaEFPwxWGuuEuVY=
X-Received: by 2002:a25:770f:: with SMTP id s15mr59719566ybc.751.1641480916292;
 Thu, 06 Jan 2022 06:55:16 -0800 (PST)
MIME-Version: 1.0
References: <e9257e96-ede9-2809-9a77-fd4dc206badc@suse.com>
 <d1b6aede-2c0a-df7a-7815-73ad4d795899@suse.com> <CABfawhmGxHBEC1M2=zo11K11Yr_TdWFkkVpDpVimy_uvD4nxyQ@mail.gmail.com>
 <f13f983f-9190-99d4-7a6d-c73be651896d@suse.com> <CABfawhnNv+KpSm+ZGaRFvkNrooU0_E0TEijs0_WBNtrZ0-y1Jg@mail.gmail.com>
 <35ed148d-c525-5fdb-ad83-d0a1c9432b11@suse.com>
In-Reply-To: <35ed148d-c525-5fdb-ad83-d0a1c9432b11@suse.com>
From: Tamas K Lengyel <tamas@tklengyel.com>
Date: Thu, 6 Jan 2022 09:54:41 -0500
X-Gmail-Original-Message-ID: <CABfawhn-=z8Yd1CeqtyM9tWrxTp5XfgDvmVqSdKE+uL8aJ90Pg@mail.gmail.com>
Message-ID: <CABfawhn-=z8Yd1CeqtyM9tWrxTp5XfgDvmVqSdKE+uL8aJ90Pg@mail.gmail.com>
Subject: Re: [PATCH RFC v2 3/3] x86/altp2m: p2m_altp2m_propagate_change()
 should honor present page order
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>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	George Dunlap <george.dunlap@citrix.com>, Alexandru Isaila <aisaila@bitdefender.com>, 
	Petre Pircalabu <ppircalabu@bitdefender.com>
Content-Type: text/plain; charset="UTF-8"
X-Virus-Scanned: ClamAV using ClamSMTP

On Thu, Jan 6, 2022 at 8:50 AM Jan Beulich <jbeulich@suse.com> wrote:
>
> On 05.01.2022 17:25, Tamas K Lengyel wrote:
> > On Wed, Jan 5, 2022 at 3:59 AM Jan Beulich <jbeulich@suse.com> wrote:
> >>
> >> On 04.01.2022 18:48, Tamas K Lengyel wrote:
> >>>> I may be entirely wrong and hence that part of the change may also be
> >>>> wrong, but I'm having trouble seeing why the original
> >>>> "!mfn_eq(m, INVALID_MFN)" wasn't "mfn_eq(m, INVALID_MFN)". Isn't the
> >>>> goal there to pre-fill entries that were previously invalid, instead of
> >>>> undoing prior intentional divergence from the host P2M? (I have
> >>>> intentionally not reflected this aspect in the description yet; I can't
> >>>> really write a description of this without understanding what's going on
> >>>> in case the original code was correct.)
> >>>
> >>> This function only gets called from p2m-ept when the hostp2m gets an
> >>> update. In that case this check goes through all altp2m's to see if
> >>> any of them has an entry for what just got changed in the host, and
> >>> overwrites the altp2m with that from the host. If there is no entry in
> >>> the altp2m it doesn't pre-populate. That should only happen if the
> >>> altp2m actually needs it and runs into a pagefault. So it is correct
> >>> as-is, albeit being a subtle (and undocumented) behavior of the
> >>> hostp2m and its effect on the altp2m's. But that's why we never
> >>> actually make any changes on the hostp2m, we always create an altp2m
> >>> and apply changes (mem_access/remapping) there.
> >>
> >> Thanks for the explanation. Effectively this means that the call to
> >> get_gfn_type_access() can simply be get_gfn_query(). For the patch
> >> this means that I shouldn't check its return value and also continue
> >> to pass the new order rather than the minimum of the two (as was the
> >> case before), as all we're after is the locking of the GFN. It would
> >> be nice if you could confirm this before I submit a non-RFC v3.
> >
> > I'm a little lost here.
>
> Let me start with simpler questions then:
>
> What's the purpose of calling get_gfn_type_access()?

Only locking the gfn AFAICT.

> Independent of the answer to the previous question, why isn't it
> get_gfn_query() that is called?

The author of the code probably didn't see any difference between the
two. Or just didn't know there is another function.

> What's the purpose of the "a" local variable? (While "t" also is
> otherwise unused, it can't be eliminated as even get_gfn_query()
> requires its address to be taken.)

The a/t variables are ununsed.

>
> Why is p2m_set_entry() called only when the original entry didn't
> resolve to INVALID_MFN?

AFAICT there was never a clear design decision for why that's in
place. The only utility for it is fast propagation of settings across
all altp2m's that already have an entry in place. As per the other
part of the discussion it could be removed so existing entries in
altp2m's don't get overwritten. But we should most definitely NOT
pre-populate entries here for altp2ms.

Tamas


From xen-devel-bounces@lists.xenproject.org Thu Jan 06 15:08:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 15:08:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254095.435616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5UNE-0007QW-JQ; Thu, 06 Jan 2022 15:08:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254095.435616; Thu, 06 Jan 2022 15:08: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 1n5UNE-0007QP-GE; Thu, 06 Jan 2022 15:08:16 +0000
Received: by outflank-mailman (input) for mailman id 254095;
 Thu, 06 Jan 2022 15:08:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8ie2=RW=dingwall.me.uk=james@srs-se1.protection.inumbo.net>)
 id 1n5UND-0007QJ-Vq
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 15:08:16 +0000
Received: from smarthost01b.ixn.mail.zen.net.uk
 (smarthost01b.ixn.mail.zen.net.uk [212.23.1.21])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 76a957be-6f02-11ec-81c0-a30af7de8005;
 Thu, 06 Jan 2022 16:08:12 +0100 (CET)
Received: from [217.155.64.189] (helo=mail0.xen.dingwall.me.uk)
 by smarthost01b.ixn.mail.zen.net.uk with esmtpsa
 (TLS1.0:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1)
 (envelope-from <james@dingwall.me.uk>)
 id 1n5UN8-0000am-9g; Thu, 06 Jan 2022 15:08:10 +0000
Received: from localhost (localhost [IPv6:::1])
 by mail0.xen.dingwall.me.uk (Postfix) with ESMTP id D7B05259396;
 Thu,  6 Jan 2022 15:08:09 +0000 (GMT)
Received: from mail0.xen.dingwall.me.uk ([127.0.0.1])
 by localhost (mail0.xen.dingwall.me.uk [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id ww7j1znSggsh; Thu,  6 Jan 2022 15:08:09 +0000 (GMT)
Received: from ghoul.dingwall.me.uk (ghoul.dingwall.me.uk [192.168.1.200])
 by dingwall.me.uk (Postfix) with ESMTP id AE7AA259391;
 Thu,  6 Jan 2022 15:08:09 +0000 (GMT)
Received: by ghoul.dingwall.me.uk (Postfix, from userid 1000)
 id 9DC1B726; Thu,  6 Jan 2022 15:08:09 +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: 76a957be-6f02-11ec-81c0-a30af7de8005
X-Virus-Scanned: Debian amavisd-new at dingwall.me.uk
Date: Thu, 6 Jan 2022 15:08:09 +0000
From: James Dingwall <james-xen@dingwall.me.uk>
To: xen-devel@lists.xenproject.org
Cc: alexander.rossa@ncr.com, Jan Beulich <jbeulich@suse.com>
Subject: Re: xen 4.14.3 incorrect (~3x) cpu frequency reported
Message-ID: <20220106150809.GA856484@dingwall.me.uk>
References: <20210721092958.GA2502468@dingwall.me.uk>
 <c9c6778d-9823-4b07-fb48-604acef1f3de@suse.com>
 <20210726123332.GA3844057@dingwall.me.uk>
 <06be7360-0235-3773-b833-3e0d65512092@suse.com>
 <20211105152501.GA485838@dingwall.me.uk>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="T4sUOijqQbZv57TR"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20211105152501.GA485838@dingwall.me.uk>
X-Originating-smarthost01b-IP: [217.155.64.189]
Feedback-ID: 217.155.64.189


--T4sUOijqQbZv57TR
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Hi Jan,

> > On Wed, Jul 21, 2021 at 12:59:11PM +0200, Jan Beulich wrote:                                                                            
> >> On 21.07.2021 11:29, James Dingwall wrote:                                                                                             
> >>> We have a system which intermittently starts up and reports an incorrect cpu frequency:                                               
...
> > I'm sorry to ask, but have you got around to actually doing that? Or
> > else is resolving this no longer of interest?

We have experienced an occurence of this issue on 4.14.3 with 'loglvl=all'
present on the xen command line.  I have attached the 'xl dmesg' output for
the fast MHz boot, the diff from the normal case is small so I've not added
that log separately:

--- normal-mhz/xl-dmesg.txt     2022-01-06 14:13:47.231465234 +0000
+++ funny-mhz/xl-dmesg.txt      2022-01-06 13:45:43.825148510 +0000
@@ -211,7 +211,7 @@
 (XEN)  cap enforcement granularity: 10ms
 (XEN) load tracking window length 1073741824 ns
 (XEN) Platform timer is 24.000MHz HPET
-(XEN) Detected 2294.639 MHz processor.
+(XEN) Detected 7623.412 MHz processor.
 (XEN) EFI memory map:
 (XEN)  0000000000000-0000000007fff type=3 attr=000000000000000f
 (XEN)  0000000008000-000000003cfff type=7 attr=000000000000000f
@@ -616,6 +616,7 @@
 (XEN) PCI add device 0000:b7:00.1
 (XEN) PCI add device 0000:b7:00.2
 (XEN) PCI add device 0000:b7:00.3
+(XEN) Platform timer appears to have unexpectedly wrapped 10 or more times.
 (XEN) [VT-D]d0:PCIe: unmap 0000:65:00.2
 (XEN) [VT-D]d32753:PCIe: map 0000:65:00.2
 (XEN) [VT-D]d0:PCIe: unmap 0000:65:00.1

I also have the dom0 kernel dmesg available if that would be useful but I've
left it off initially because the log is quite large.  I don't see much in
the diff between boots except where speed/times are reported and where things
are initialised in a slightly different order.

Thanks,
James

--T4sUOijqQbZv57TR
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment; filename="xl-dmesg.txt"
Content-Transfer-Encoding: 8bit

(XEN) parameter "basevideo" unknown!
 Xen 4.14.3
(XEN) Xen version 4.14.3 (@) (gcc (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0) debug=n  Fri Dec 10 16:11:21 UTC 2021
(XEN) Latest ChangeSet: Fri Dec 10 16:10:15 2021 +0000 git:a598336409-dirty
(XEN) build-id: 7b441504c9977229a3c6779041ea6493
(XEN) Bootloader: EFI
(XEN) Command line: console=vga,com2 com2=115200,8n1 basevideo dom0_max_vcpus=4 dom0_mem=min:6144,max:65536m iommu=on,required,intpost,verbose,debug sched=credit2 flask=enforcing gnttab_max_frames=128 xpti=off smt=on loglvl=all
(XEN) Xen image load base address: 0x5d400000
(XEN) Video information:
(XEN)  VGA is graphics mode 1024x768, 32 bpp
(XEN) Disc information:
(XEN)  Found 0 MBR signatures
(XEN)  Found 2 EDD information structures
(XEN) CPU Vendor: Intel, Family 6 (0x6), Model 85 (0x55), Stepping 4 (raw 00050654)
(XEN) EFI RAM map:
(XEN)  [0000000000000000, 000000000009ffff] (usable)
(XEN)  [00000000000a0000, 00000000000fffff] (reserved)
(XEN)  [0000000000100000, 000000006965efff] (usable)
(XEN)  [000000006965f000, 000000006bee5fff] (reserved)
(XEN)  [000000006bee6000, 000000006c0a6fff] (usable)
(XEN)  [000000006c0a7000, 000000006ca43fff] (ACPI NVS)
(XEN)  [000000006ca44000, 000000006ed16fff] (reserved)
(XEN)  [000000006ed17000, 000000006fffffff] (usable)
(XEN)  [0000000070000000, 000000008fffffff] (reserved)
(XEN)  [00000000fd000000, 00000000fe7fffff] (reserved)
(XEN)  [00000000fed20000, 00000000fed44fff] (reserved)
(XEN)  [00000000ff000000, 00000000ffffffff] (reserved)
(XEN)  [0000000100000000, 000000207fffffff] (usable)
(XEN) ACPI: RSDP 6C0A7000, 0024 (r2 SUPERM)
(XEN) ACPI: XSDT 6C0A70C8, 0114 (r1 SUPERM   SUPERM  1072009 AMI     10013)
(XEN) ACPI: FACP 6C0E9D78, 0114 (r6 SUPERM SMCI--MB  1072009 INTL 20091013)
(XEN) ACPI: DSDT 6C0A7278, 42AFC (r2 SUPERM SMCI--MB  1072009 INTL 20091013)
(XEN) ACPI: FACS 6CA42080, 0040
(XEN) ACPI: FPDT 6C0E9E90, 0044 (r1                  1072009 AMI     10013)
(XEN) ACPI: FIDT 6C0E9ED8, 009C (r1 SUPERM SMCI--MB  1072009 AMI     10013)
(XEN) ACPI: SPMI 6C0E9F78, 0041 (r5 SUPERM SMCI--MB        0 AMI.        0)
(XEN) ACPI: UEFI 6C0E9FC0, 0048 (r1 SUPERM SMCI--MB  1072009       1000013)
(XEN) ACPI: UEFI 6C0EA008, 005C (r1  INTEL RstUefiV        0             0)
(XEN) ACPI: MCFG 6C0EA068, 003C (r1 SUPERM SMCI--MB  1072009 MSFT       97)
(XEN) ACPI: HPET 6C0EA0A8, 0038 (r1 SUPERM SMCI--MB        1 INTL 20091013)
(XEN) ACPI: APIC 6C0EA0E0, 071E (r3 SUPERM SMCI--MB        0 INTL 20091013)
(XEN) ACPI: MIGT 6C0EA800, 0040 (r1 SUPERM SMCI--MB        0 INTL 20091013)
(XEN) ACPI: MSCT 6C0EA840, 004E (r1 SUPERM SMCI--MB        1 INTL 20091013)
(XEN) ACPI: PCAT 6C0EA890, 0068 (r2 SUPERM SMCI--MB        2 INTL 20091013)
(XEN) ACPI: PCCT 6C0EA8F8, 006E (r1 SUPERM SMCI--MB        2 INTL 20091013)
(XEN) ACPI: RASF 6C0EA968, 0030 (r1 SUPERM SMCI--MB        1 INTL 20091013)
(XEN) ACPI: SLIT 6C0EA998, 002D (r1 SUPERM SMCI--MB        1 INTL 20091013)
(XEN) ACPI: SRAT 6C0EA9C8, 0A30 (r3 SUPERM SMCI--MB        2 INTL 20091013)
(XEN) ACPI: SVOS 6C0EB3F8, 0032 (r1 SUPERM SMCI--MB        0 INTL 20091013)
(XEN) ACPI: WDDT 6C0EB430, 0040 (r1 SUPERM SMCI--MB        0 INTL 20091013)
(XEN) ACPI: OEM4 6C0EB470, 28A0C (r2  INTEL CPU  CST     3000 INTL 20140828)
(XEN) ACPI: OEM1 6C113E80, A8CC (r2  INTEL CPU EIST     3000 INTL 20140828)
(XEN) ACPI: SSDT 6C11E750, CEB8 (r2  INTEL SSDT  PM     4000 INTL 20140828)
(XEN) ACPI: SSDT 6C12B608, 065B (r2 SUPERM SMCI--MB        0 INTL 20091013)
(XEN) ACPI: BGRT 6C12BC68, 0038 (r1 SUPERM SMCI--MB  1072009 AMI     10013)
(XEN) ACPI: SSDT 6C12BCA0, 1368 (r2  INTEL SpsNm           2 INTL 20140828)
(XEN) ACPI: DMAR 6C12D008, 0138 (r1 SUPERM SMCI--MB        1 INTL 20091013)
(XEN) ACPI: HEST 6C12D140, 00A8 (r1 SUPERM SMCI--MB        1 INTL        1)
(XEN) ACPI: BERT 6C12D1E8, 0030 (r1 SUPERM SMCI--MB        1 INTL        1)
(XEN) ACPI: ERST 6C12D218, 0230 (r1 SUPERM SMCI--MB        1 INTL        1)
(XEN) ACPI: EINJ 6C12D448, 0150 (r1 SUPERM SMCI--MB        1 INTL        1)
(XEN) ACPI: WSMT 6C12D598, 0028 (r1     n           1072009 AMI     10013)
(XEN) System RAM: 130730MB (133868196kB)
(XEN) SRAT: PXM 0 -> APIC 00000000 -> Node 0
(XEN) SRAT: PXM 0 -> APIC 00000002 -> Node 0
(XEN) SRAT: PXM 0 -> APIC 00000004 -> Node 0
(XEN) SRAT: PXM 0 -> APIC 00000006 -> Node 0
(XEN) SRAT: PXM 0 -> APIC 00000008 -> Node 0
(XEN) SRAT: PXM 0 -> APIC 0000000a -> Node 0
(XEN) SRAT: PXM 0 -> APIC 0000000c -> Node 0
(XEN) SRAT: PXM 0 -> APIC 0000000e -> Node 0
(XEN) SRAT: PXM 0 -> APIC 00000001 -> Node 0
(XEN) SRAT: PXM 0 -> APIC 00000003 -> Node 0
(XEN) SRAT: PXM 0 -> APIC 00000005 -> Node 0
(XEN) SRAT: PXM 0 -> APIC 00000007 -> Node 0
(XEN) SRAT: PXM 0 -> APIC 00000009 -> Node 0
(XEN) SRAT: PXM 0 -> APIC 0000000b -> Node 0
(XEN) SRAT: PXM 0 -> APIC 0000000d -> Node 0
(XEN) SRAT: PXM 0 -> APIC 0000000f -> Node 0
(XEN) SRAT: Node 0 PXM 0 0-80000000
(XEN) SRAT: Node 0 PXM 0 100000000-2080000000
(XEN) NUMA: Using 20 for the hash shift.
(XEN) Domain heap initialised
(XEN) vesafb: framebuffer at 0x00000000a9000000, mapped to 0xffff82c000201000, using 3072k, total 3072k
(XEN) vesafb: mode is 1024x768x32, linelength=4096, font 8x14
(XEN) vesafb: Truecolor: size=8:8:8:8, shift=24:16:8:0
(XEN) SMBIOS 3.1 present.
(XEN) x2APIC mode is already enabled by BIOS.
(XEN) Using APIC driver x2apic_cluster
(XEN) XSM Framework v1.0.0 initialized
(XEN) Policy len 0x33a8, start at ffff83207fffc000.
(XEN) Flask: 128 avtab hash slots, 454 rules.
(XEN) Flask: 128 avtab hash slots, 454 rules.
(XEN) Flask:  4 users, 3 roles, 45 types, 2 bools
(XEN) Flask:  13 classes, 454 rules
(XEN) Flask:  Starting in enforcing mode.
(XEN) ACPI: PM-Timer IO Port: 0x508 (24 bits)
(XEN) ACPI: v5 SLEEP INFO: control[0:0], status[0:0]
(XEN) ACPI: SLEEP INFO: pm1x_cnt[1:504,1:0], pm1x_evt[1:500,1:0]
(XEN) ACPI: 32/64X FACS address mismatch in FADT - 6ca42080/0000000000000000, using 32
(XEN) ACPI:             wakeup_vec[6ca4208c], vec_size[20]
(XEN) ACPI: Local APIC address 0xfee00000
(XEN) ACPI: X2APIC (apic_id[0x00] uid[0x00] enabled)
(XEN) ACPI: X2APIC (apic_id[0x02] uid[0x02] enabled)
(XEN) ACPI: X2APIC (apic_id[0x04] uid[0x04] enabled)
(XEN) ACPI: X2APIC (apic_id[0x06] uid[0x06] enabled)
(XEN) ACPI: X2APIC (apic_id[0x08] uid[0x08] enabled)
(XEN) ACPI: X2APIC (apic_id[0x0a] uid[0x0a] enabled)
(XEN) ACPI: X2APIC (apic_id[0x0c] uid[0x0c] enabled)
(XEN) ACPI: X2APIC (apic_id[0x0e] uid[0x0e] enabled)
(XEN) ACPI: X2APIC (apic_id[0x01] uid[0x01] enabled)
(XEN) ACPI: X2APIC (apic_id[0x03] uid[0x03] enabled)
(XEN) ACPI: X2APIC (apic_id[0x05] uid[0x05] enabled)
(XEN) ACPI: X2APIC (apic_id[0x07] uid[0x07] enabled)
(XEN) ACPI: X2APIC (apic_id[0x09] uid[0x09] enabled)
(XEN) ACPI: X2APIC (apic_id[0x0b] uid[0x0b] enabled)
(XEN) ACPI: X2APIC (apic_id[0x0d] uid[0x0d] enabled)
(XEN) ACPI: X2APIC (apic_id[0x0f] uid[0x0f] enabled)
(XEN) ACPI: LAPIC_NMI (acpi_id[0xff] high level lint[0x1])
(XEN) ACPI: X2APIC_NMI (uid[0xffffffff] high level lint[0x1])
(XEN) ACPI: IOAPIC (id[0x08] address[0xfec00000] gsi_base[0])
(XEN) IOAPIC[0]: apic_id 8, version 32, address 0xfec00000, GSI 0-23
(XEN) ACPI: IOAPIC (id[0x09] address[0xfec01000] gsi_base[24])
(XEN) IOAPIC[1]: apic_id 9, version 32, address 0xfec01000, GSI 24-31
(XEN) ACPI: IOAPIC (id[0x0a] address[0xfec08000] gsi_base[32])
(XEN) IOAPIC[2]: apic_id 10, version 32, address 0xfec08000, GSI 32-39
(XEN) ACPI: IOAPIC (id[0x0b] address[0xfec10000] gsi_base[40])
(XEN) IOAPIC[3]: apic_id 11, version 32, address 0xfec10000, GSI 40-47
(XEN) ACPI: IOAPIC (id[0x0c] address[0xfec18000] gsi_base[48])
(XEN) IOAPIC[4]: apic_id 12, version 32, address 0xfec18000, GSI 48-55
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
(XEN) ACPI: IRQ0 used by override.
(XEN) ACPI: IRQ2 used by override.
(XEN) ACPI: IRQ9 used by override.
(XEN) ACPI: HPET id: 0x8086a701 base: 0xfed00000
(XEN) PCI: MCFG configuration 0: base 80000000 segment 0000 buses 00 - ff
(XEN) PCI: MCFG area at 80000000 reserved in E820
(XEN) PCI: Using MCFG for segment 0000 bus 00-ff
(XEN) [VT-D]Host address width 46
(XEN) [VT-D]found ACPI_DMAR_DRHD:
(XEN) [VT-D]  dmaru->address = c5ffc000
(XEN) [VT-D]drhd->address = c5ffc000 iommu->reg = ffff82c00051e000
(XEN) [VT-D]cap = 8d2078c106f0466 ecap = f020df
(XEN) [VT-D] IOAPIC: 0000:16:05.4
(XEN) [VT-D]found ACPI_DMAR_DRHD:
(XEN) [VT-D]  dmaru->address = e0ffc000
(XEN) [VT-D]drhd->address = e0ffc000 iommu->reg = ffff82c000520000
(XEN) [VT-D]cap = 8d2078c106f0466 ecap = f020df
(XEN) [VT-D] IOAPIC: 0000:64:05.4
(XEN) [VT-D] bridge: 0000:64:03.0 start=64 sec=65 sub=65
(XEN) [VT-D]found ACPI_DMAR_DRHD:
(XEN) [VT-D]  dmaru->address = fbffc000
(XEN) [VT-D]drhd->address = fbffc000 iommu->reg = ffff82c000522000
(XEN) [VT-D]cap = 8d2078c106f0466 ecap = f020df
(XEN) [VT-D] IOAPIC: 0000:b2:05.4
(XEN) [VT-D] bridge: 0000:b2:00.0 start=b2 sec=b3 sub=b7
(XEN) [VT-D]found ACPI_DMAR_DRHD:
(XEN) [VT-D]  dmaru->address = aaffc000
(XEN) [VT-D]drhd->address = aaffc000 iommu->reg = ffff82c000524000
(XEN) [VT-D]cap = 8d2078c106f0466 ecap = f020df
(XEN) [VT-D] IOAPIC: 0000:f0:1f.0
(XEN) [VT-D] IOAPIC: 0000:00:05.4
(XEN) [VT-D] MSI HPET: 0000:00:1f.0
(XEN) [VT-D]  flags: INCLUDE_ALL
(XEN) [VT-D]found ACPI_DMAR_RMRR:
(XEN) [VT-D] endpoint: 0000:00:14.0
(XEN) [VT-D]found ACPI_DMAR_ATSR:
(XEN) [VT-D]  atsru->all_ports: 0
(XEN) [VT-D] bridge: 0000:64:03.0 start=64 sec=65 sub=65
(XEN) [VT-D] bridge: 0000:b2:00.0 start=b2 sec=b3 sub=b7
(XEN) [VT-D]found ACPI_DMAR_RHSA:
(XEN) [VT-D]  rhsau->address: aaffc000 rhsau->proximity_domain: 0
(XEN) [VT-D]found ACPI_DMAR_RHSA:
(XEN) [VT-D]  rhsau->address: c5ffc000 rhsau->proximity_domain: 0
(XEN) [VT-D]found ACPI_DMAR_RHSA:
(XEN) [VT-D]  rhsau->address: e0ffc000 rhsau->proximity_domain: 0
(XEN) [VT-D]found ACPI_DMAR_RHSA:
(XEN) [VT-D]  rhsau->address: fbffc000 rhsau->proximity_domain: 0
(XEN) Xen ERST support is initialized.
(XEN) HEST: Table parsing has been initialized
(XEN) ACPI: BGRT: invalidating v1 image at 0x6401e018
(XEN) Using ACPI (MADT) for SMP configuration information
(XEN) SMP: Allowing 72 CPUs (56 hotplug CPUs)
(XEN) IRQ limits: 56 GSI, 3272 MSI/MSI-X
(XEN) CPU0: TSC: ratio: 184 / 2
(XEN) CPU0: bus: 100 MHz base: 2300 MHz max: 3000 MHz
(XEN) CPU0: 1000 ... 2300 MHz
(XEN) xstate: size: 0xa88 and states: 0x2ff
(XEN) CMCI: threshold 0x2 too large for CPU0 bank 6, using 0x1
(XEN) CMCI: threshold 0x2 too large for CPU0 bank 9, using 0x1
(XEN) CMCI: threshold 0x2 too large for CPU0 bank 10, using 0x1
(XEN) CMCI: threshold 0x2 too large for CPU0 bank 11, using 0x1
(XEN) CPU0: Intel machine check reporting enabled
(XEN) Speculative mitigation facilities:
(XEN)   Hardware features: IBRS/IBPB STIBP L1D_FLUSH SSBD MD_CLEAR
(XEN)   Compiled-in support: INDIRECT_THUNK SHADOW_PAGING
(XEN)   Xen settings: BTI-Thunk JMP, SPEC_CTRL: IBRS+ SSBD-, Other: IBPB L1D_FLUSH VERW BRANCH_HARDEN
(XEN)   L1TF: believed vulnerable, maxphysaddr L1D 46, CPUID 46, Safe address 300000000000
(XEN)   Support for HVM VMs: MSR_SPEC_CTRL RSB EAGER_FPU MD_CLEAR
(XEN)   Support for PV VMs: MSR_SPEC_CTRL RSB EAGER_FPU MD_CLEAR
(XEN)   XPTI (64-bit PV only): Dom0 disabled, DomU disabled (with PCID)
(XEN)   PV L1TF shadowing: Dom0 disabled, DomU enabled
(XEN) Using scheduler: SMP Credit Scheduler rev2 (credit2)
(XEN) Initializing Credit2 scheduler
(XEN)  load_precision_shift: 18
(XEN)  load_window_shift: 30
(XEN)  underload_balance_tolerance: 0
(XEN)  overload_balance_tolerance: -3
(XEN)  runqueues arrangement: socket
(XEN)  cap enforcement granularity: 10ms
(XEN) load tracking window length 1073741824 ns
(XEN) Platform timer is 24.000MHz HPET
(XEN) Detected 7623.412 MHz processor.
(XEN) EFI memory map:
(XEN)  0000000000000-0000000007fff type=3 attr=000000000000000f
(XEN)  0000000008000-000000003cfff type=7 attr=000000000000000f
(XEN)  000000003d000-000000003efff type=2 attr=000000000000000f
(XEN)  000000003f000-000000003ffff type=4 attr=000000000000000f
(XEN)  0000000040000-000000009ffff type=3 attr=000000000000000f
(XEN)  0000000100000-00000574f5fff type=7 attr=000000000000000f
(XEN)  00000574f6000-000005b1cffff type=2 attr=000000000000000f
(XEN)  000005b1d0000-000005b2cffff type=4 attr=000000000000000f
(XEN)  000005b2d0000-000005c8e2fff type=7 attr=000000000000000f
(XEN)  000005c8e3000-000005d20afff type=2 attr=000000000000000f
(XEN)  000005d20b000-000005d20bfff type=7 attr=000000000000000f
(XEN)  000005d20c000-000005d20cfff type=2 attr=000000000000000f
(XEN)  000005d20d000-000005e40cfff type=1 attr=000000000000000f
(XEN)  000005e40d000-000006899bfff type=4 attr=000000000000000f
(XEN)  000006899c000-0000068c28fff type=7 attr=000000000000000f
(XEN)  0000068c29000-000006965efff type=3 attr=000000000000000f
(XEN)  000006965f000-000006bee5fff type=0 attr=000000000000000f
(XEN)  000006bee6000-000006c0a6fff type=7 attr=000000000000000f
(XEN)  000006c0a7000-000006ca43fff type=10 attr=000000000000000f
(XEN)  000006ca44000-000006eb6bfff type=6 attr=800000000000000f
(XEN)  000006eb6c000-000006ed16fff type=5 attr=800000000000000f
(XEN)  000006ed17000-000006ee98fff type=4 attr=000000000000000f
(XEN)  000006ee99000-000006eeb7fff type=3 attr=000000000000000f
(XEN)  000006eeb8000-000006eee7fff type=4 attr=000000000000000f
(XEN)  000006eee8000-000006eeedfff type=3 attr=000000000000000f
(XEN)  000006eeee000-000006f0f5fff type=4 attr=000000000000000f
(XEN)  000006f0f6000-000006f108fff type=3 attr=000000000000000f
(XEN)  000006f109000-000006f12cfff type=4 attr=000000000000000f
(XEN)  000006f12d000-000006f143fff type=3 attr=000000000000000f
(XEN)  000006f144000-000006f16bfff type=4 attr=000000000000000f
(XEN)  000006f16c000-000006f1a3fff type=3 attr=000000000000000f
(XEN)  000006f1a4000-000006f1cbfff type=4 attr=000000000000000f
(XEN)  000006f1cc000-000006fffffff type=7 attr=000000000000000f
(XEN)  0000100000000-000207fffffff type=7 attr=000000000000000f
(XEN)  00000000a0000-00000000fffff type=0 attr=0000000000000000
(XEN)  0000070000000-000007fffffff type=0 attr=0000000000000000
(XEN)  0000080000000-000008fffffff type=11 attr=8000000000000001
(XEN)  00000fd000000-00000fe7fffff type=11 attr=800000000000100d
(XEN)  00000fed20000-00000fed44fff type=11 attr=800000000000100d
(XEN)  00000ff000000-00000ffffffff type=11 attr=800000000000100d
(XEN) alt table ffff82d0406822b0 -> ffff82d04068d30e
(XEN) Intel VT-d iommu 2 supported page sizes: 4kB, 2MB, 1GB
(XEN) Intel VT-d iommu 1 supported page sizes: 4kB, 2MB, 1GB
(XEN) Intel VT-d iommu 0 supported page sizes: 4kB, 2MB, 1GB
(XEN) Intel VT-d iommu 3 supported page sizes: 4kB, 2MB, 1GB
(XEN) Intel VT-d Snoop Control enabled.
(XEN) Intel VT-d Dom0 DMA Passthrough not enabled.
(XEN) Intel VT-d Queued Invalidation enabled.
(XEN) Intel VT-d Interrupt Remapping enabled.
(XEN) Intel VT-d Posted Interrupt enabled.
(XEN) Intel VT-d Shared EPT tables enabled.
(XEN) I/O virtualisation enabled
(XEN)  - Dom0 mode: Relaxed
(XEN) Interrupt remapping enabled
(XEN) nr_sockets: 5
(XEN) Enabled directed EOI with ioapic_ack_old on!
(XEN) ENABLING IO-APIC IRQs
(XEN)  -> Using old ACK method
(XEN) ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1
(XEN) TSC deadline timer enabled
(XEN) Allocated console ring of 128 KiB.
(XEN) mwait-idle: MWAIT substates: 0x2020
(XEN) mwait-idle: v0.4.1 model 0x55
(XEN) mwait-idle: lapic_timer_reliable_states 0xffffffff
(XEN) VMX: Supported advanced features:
(XEN)  - APIC MMIO access virtualisation
(XEN)  - APIC TPR shadow
(XEN)  - Extended Page Tables (EPT)
(XEN)  - Virtual-Processor Identifiers (VPID)
(XEN)  - Virtual NMI
(XEN)  - MSR direct-access bitmap
(XEN)  - Unrestricted Guest
(XEN)  - APIC Register Virtualization
(XEN)  - Virtual Interrupt Delivery
(XEN)  - Posted Interrupt Processing
(XEN)  - VMCS shadowing
(XEN)  - VM Functions
(XEN)  - Virtualisation Exceptions
(XEN)  - Page Modification Logging
(XEN)  - TSC Scaling
(XEN) HVM: ASIDs enabled.
(XEN) VMX: Disabling executable EPT superpages due to CVE-2018-12207
(XEN) HVM: VMX enabled
(XEN) HVM: Hardware Assisted Paging (HAP) detected
(XEN) HVM: HAP page sizes: 4kB, 2MB, 1GB
(XEN) alt table ffff82d0406822b0 -> ffff82d04068d30e
(XEN) Brought up 16 CPUs
(XEN) Scheduling granularity: cpu, 1 CPU per sched-resource
(XEN) Adding cpu 0 to runqueue 0
(XEN)  First cpu on runqueue, activating
(XEN) Adding cpu 1 to runqueue 0
(XEN) Adding cpu 2 to runqueue 0
(XEN) Adding cpu 3 to runqueue 0
(XEN) Adding cpu 4 to runqueue 0
(XEN) Adding cpu 5 to runqueue 0
(XEN) Adding cpu 6 to runqueue 0
(XEN) Adding cpu 7 to runqueue 0
(XEN) Adding cpu 8 to runqueue 0
(XEN) Adding cpu 9 to runqueue 0
(XEN) Adding cpu 10 to runqueue 0
(XEN) Adding cpu 11 to runqueue 0
(XEN) Adding cpu 12 to runqueue 0
(XEN) Adding cpu 13 to runqueue 0
(XEN) Adding cpu 14 to runqueue 0
(XEN) Adding cpu 15 to runqueue 0
(XEN) mcheck_poll: Machine check polling timer started.
(XEN) NX (Execute Disable) protection active
(XEN) Dom0 has maximum 888 PIRQs
(XEN) *** Building a PV Dom0 ***
(XEN)  Xen  kernel: 64-bit, lsb, compat32
(XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x3600000
(XEN) PHYSICAL MEMORY ARRANGEMENT:
(XEN)  Dom0 alloc.:   000000201c000000->0000002020000000 (16745254 pages to be allocated)
(XEN)  Init. ramdisk: 000000207c322000->000000207fffba7a
(XEN) VIRTUAL MEMORY ARRANGEMENT:
(XEN)  Loaded kernel: ffffffff81000000->ffffffff83600000
(XEN)  Init. ramdisk: 0000000000000000->0000000000000000
(XEN)  Phys-Mach map: 0000008000000000->0000008008000000
(XEN)  Start info:    ffffffff83600000->ffffffff836004b8
(XEN)  Xenstore ring: 0000000000000000->0000000000000000
(XEN)  Console ring:  0000000000000000->0000000000000000
(XEN)  Page tables:   ffffffff83601000->ffffffff83620000
(XEN)  Boot stack:    ffffffff83620000->ffffffff83621000
(XEN)  TOTAL:         ffffffff80000000->ffffffff83800000
(XEN)  ENTRY ADDRESS: ffffffff8289f180
(XEN) Dom0 has maximum 4 VCPUs
(XEN) [VT-D]d0:Hostbridge: skip 0000:00:00.0 map
(XEN) [VT-D]d0:PCIe: map 0000:00:04.0
(XEN) [VT-D]d0:PCIe: map 0000:00:04.1
(XEN) [VT-D]d0:PCIe: map 0000:00:04.2
(XEN) [VT-D]d0:PCIe: map 0000:00:04.3
(XEN) [VT-D]d0:PCIe: map 0000:00:04.4
(XEN) [VT-D]d0:PCIe: map 0000:00:04.5
(XEN) [VT-D]d0:PCIe: map 0000:00:04.6
(XEN) [VT-D]d0:PCIe: map 0000:00:04.7
(XEN) [VT-D]d0:PCIe: map 0000:00:05.0
(XEN) [VT-D]d0:PCIe: map 0000:00:05.2
(XEN) [VT-D]d0:PCIe: map 0000:00:05.4
(XEN) [VT-D]d0:PCIe: map 0000:00:08.0
(XEN) [VT-D]d0:PCI: map 0000:00:08.1
(XEN) [VT-D]d0:PCIe: map 0000:00:08.2
(XEN) [VT-D]d0:PCI: map 0000:00:11.0
(XEN) [VT-D]d0:PCI: map 0000:00:11.1
(XEN) [VT-D]d0:PCI: map 0000:00:11.5
(XEN) [VT-D]d0:PCI: map 0000:00:14.0
(XEN) [VT-D]d0:PCI: map 0000:00:14.2
(XEN) [VT-D]d0:PCI: map 0000:00:16.0
(XEN) [VT-D]d0:PCI: map 0000:00:16.1
(XEN) [VT-D]d0:PCI: map 0000:00:16.4
(XEN) [VT-D]d0:PCI: map 0000:00:17.0
(XEN) [VT-D]d0:PCI: map 0000:00:1f.0
(XEN) [VT-D]d0:PCI: map 0000:00:1f.2
(XEN) [VT-D]d0:PCI: map 0000:00:1f.4
(XEN) [VT-D]d0:PCI: map 0000:00:1f.5
(XEN) [VT-D]d0:PCI: map 0000:03:00.0
(XEN) [VT-D]d0:PCIe: map 0000:16:05.0
(XEN) [VT-D]d0:PCIe: map 0000:16:05.2
(XEN) [VT-D]d0:PCIe: map 0000:16:05.4
(XEN) [VT-D]d0:PCI: map 0000:16:08.0
(XEN) [VT-D]d0:PCI: map 0000:16:08.1
(XEN) [VT-D]d0:PCI: map 0000:16:08.2
(XEN) [VT-D]d0:PCI: map 0000:16:08.3
(XEN) [VT-D]d0:PCI: map 0000:16:08.4
(XEN) [VT-D]d0:PCI: map 0000:16:08.5
(XEN) [VT-D]d0:PCI: map 0000:16:08.6
(XEN) [VT-D]d0:PCI: map 0000:16:08.7
(XEN) [VT-D]d0:PCI: map 0000:16:09.0
(XEN) [VT-D]d0:PCI: map 0000:16:09.1
(XEN) [VT-D]d0:PCI: map 0000:16:09.2
(XEN) [VT-D]d0:PCI: map 0000:16:09.3
(XEN) [VT-D]d0:PCI: map 0000:16:09.4
(XEN) [VT-D]d0:PCI: map 0000:16:09.5
(XEN) [VT-D]d0:PCI: map 0000:16:09.6
(XEN) [VT-D]d0:PCI: map 0000:16:09.7
(XEN) [VT-D]d0:PCI: map 0000:16:0a.0
(XEN) [VT-D]d0:PCI: map 0000:16:0a.1
(XEN) [VT-D]d0:PCI: map 0000:16:0e.0
(XEN) [VT-D]d0:PCI: map 0000:16:0e.1
(XEN) [VT-D]d0:PCI: map 0000:16:0e.2
(XEN) [VT-D]d0:PCI: map 0000:16:0e.3
(XEN) [VT-D]d0:PCI: map 0000:16:0e.4
(XEN) [VT-D]d0:PCI: map 0000:16:0e.5
(XEN) [VT-D]d0:PCI: map 0000:16:0e.6
(XEN) [VT-D]d0:PCI: map 0000:16:0e.7
(XEN) [VT-D]d0:PCI: map 0000:16:0f.0
(XEN) [VT-D]d0:PCI: map 0000:16:0f.1
(XEN) [VT-D]d0:PCI: map 0000:16:0f.2
(XEN) [VT-D]d0:PCI: map 0000:16:0f.3
(XEN) [VT-D]d0:PCI: map 0000:16:0f.4
(XEN) [VT-D]d0:PCI: map 0000:16:0f.5
(XEN) [VT-D]d0:PCI: map 0000:16:0f.6
(XEN) [VT-D]d0:PCI: map 0000:16:0f.7
(XEN) [VT-D]d0:PCI: map 0000:16:10.0
(XEN) [VT-D]d0:PCI: map 0000:16:10.1
(XEN) [VT-D]d0:PCI: map 0000:16:1d.0
(XEN) [VT-D]d0:PCI: map 0000:16:1d.1
(XEN) [VT-D]d0:PCI: map 0000:16:1d.2
(XEN) [VT-D]d0:PCI: map 0000:16:1d.3
(XEN) [VT-D]d0:PCI: map 0000:16:1e.0
(XEN) [VT-D]d0:PCI: map 0000:16:1e.1
(XEN) [VT-D]d0:PCI: map 0000:16:1e.2
(XEN) [VT-D]d0:PCI: map 0000:16:1e.3
(XEN) [VT-D]d0:PCI: map 0000:16:1e.4
(XEN) [VT-D]d0:PCI: map 0000:16:1e.5
(XEN) [VT-D]d0:PCI: map 0000:16:1e.6
(XEN) [VT-D]d0:PCIe: map 0000:64:05.0
(XEN) [VT-D]d0:PCIe: map 0000:64:05.2
(XEN) [VT-D]d0:PCIe: map 0000:64:05.4
(XEN) [VT-D]d0:PCIe: map 0000:64:08.0
(XEN) [VT-D]d0:PCIe: map 0000:64:09.0
(XEN) [VT-D]d0:PCIe: map 0000:64:0a.0
(XEN) [VT-D]d0:PCIe: map 0000:64:0a.1
(XEN) [VT-D]d0:PCIe: map 0000:64:0a.2
(XEN) [VT-D]d0:PCIe: map 0000:64:0a.3
(XEN) [VT-D]d0:PCIe: map 0000:64:0a.4
(XEN) [VT-D]d0:PCIe: map 0000:64:0a.5
(XEN) [VT-D]d0:PCIe: map 0000:64:0a.6
(XEN) [VT-D]d0:PCIe: map 0000:64:0a.7
(XEN) [VT-D]d0:PCIe: map 0000:64:0b.0
(XEN) [VT-D]d0:PCIe: map 0000:64:0b.1
(XEN) [VT-D]d0:PCIe: map 0000:64:0b.2
(XEN) [VT-D]d0:PCIe: map 0000:64:0b.3
(XEN) [VT-D]d0:PCIe: map 0000:64:0c.0
(XEN) [VT-D]d0:PCIe: map 0000:64:0c.1
(XEN) [VT-D]d0:PCIe: map 0000:64:0c.2
(XEN) [VT-D]d0:PCIe: map 0000:64:0c.3
(XEN) [VT-D]d0:PCIe: map 0000:64:0c.4
(XEN) [VT-D]d0:PCIe: map 0000:64:0c.5
(XEN) [VT-D]d0:PCIe: map 0000:64:0c.6
(XEN) [VT-D]d0:PCIe: map 0000:64:0c.7
(XEN) [VT-D]d0:PCIe: map 0000:64:0d.0
(XEN) [VT-D]d0:PCIe: map 0000:64:0d.1
(XEN) [VT-D]d0:PCIe: map 0000:64:0d.2
(XEN) [VT-D]d0:PCIe: map 0000:64:0d.3
(XEN) [VT-D]d0:PCIe: map 0000:65:00.0
(XEN) [VT-D]d0:PCIe: map 0000:65:00.1
(XEN) [VT-D]d0:PCIe: map 0000:65:00.2
(XEN) [VT-D]d0:PCIe: map 0000:65:00.3
(XEN) [VT-D]d0:PCIe: map 0000:b2:05.0
(XEN) [VT-D]d0:PCIe: map 0000:b2:05.2
(XEN) [VT-D]d0:PCIe: map 0000:b2:05.4
(XEN) [VT-D]d0:PCIe: map 0000:b2:12.0
(XEN) [VT-D]d0:PCI: map 0000:b2:12.1
(XEN) [VT-D]d0:PCI: map 0000:b2:12.2
(XEN) [VT-D]d0:PCI: map 0000:b2:15.0
(XEN) [VT-D]d0:PCI: map 0000:b2:16.0
(XEN) [VT-D]d0:PCI: map 0000:b2:16.4
(XEN) [VT-D]d0:PCI: map 0000:b2:17.0
(XEN) [VT-D]d0:PCIe: map 0000:b5:00.0
(XEN) [VT-D]d0:PCIe: map 0000:b6:00.0
(XEN) [VT-D]d0:PCIe: map 0000:b7:00.0
(XEN) [VT-D]d0:PCIe: map 0000:b7:00.1
(XEN) [VT-D]d0:PCIe: map 0000:b7:00.2
(XEN) [VT-D]d0:PCIe: map 0000:b7:00.3
(XEN) [VT-D]iommu_enable_translation: iommu->reg = ffff82c000522000
(XEN) [VT-D]iommu_enable_translation: iommu->reg = ffff82c000520000
(XEN) [VT-D]iommu_enable_translation: iommu->reg = ffff82c00051e000
(XEN) [VT-D]iommu_enable_translation: iommu->reg = ffff82c000524000
(XEN) Initial low memory virq threshold set at 0x4000 pages.
(XEN) Scrubbing Free RAM in background
(XEN) Std. Loglevel: All
(XEN) Guest Loglevel: Nothing (Rate-limited: Errors and warnings)
(XEN) Xen is relinquishing VGA console.
(XEN) *** Serial input to DOM0 (type 'CTRL-a' three times to switch input)
(XEN) Freed 2048kB init memory
(XEN) PCI add device 0000:00:00.0
(XEN) PCI add device 0000:00:04.0
(XEN) PCI add device 0000:00:04.1
(XEN) PCI add device 0000:00:04.2
(XEN) PCI add device 0000:00:04.3
(XEN) PCI add device 0000:00:04.4
(XEN) PCI add device 0000:00:04.5
(XEN) PCI add device 0000:00:04.6
(XEN) PCI add device 0000:00:04.7
(XEN) PCI add device 0000:00:05.0
(XEN) PCI add device 0000:00:05.2
(XEN) PCI add device 0000:00:05.4
(XEN) PCI add device 0000:00:08.0
(XEN) PCI add device 0000:00:08.1
(XEN) PCI add device 0000:00:08.2
(XEN) PCI add device 0000:00:11.0
(XEN) PCI add device 0000:00:11.1
(XEN) PCI add device 0000:00:11.5
(XEN) PCI add device 0000:00:14.0
(XEN) PCI add device 0000:00:14.2
(XEN) PCI add device 0000:00:16.0
(XEN) PCI add device 0000:00:16.1
(XEN) PCI add device 0000:00:16.4
(XEN) PCI add device 0000:00:17.0
(XEN) PCI add device 0000:00:1c.0
(XEN) PCI add device 0000:00:1c.4
(XEN) PCI add device 0000:00:1d.0
(XEN) PCI add device 0000:00:1f.0
(XEN) PCI add device 0000:00:1f.2
(XEN) PCI add device 0000:00:1f.4
(XEN) PCI add device 0000:00:1f.5
(XEN) PCI add device 0000:02:00.0
(XEN) PCI add device 0000:03:00.0
(XEN) PCI add device 0000:16:05.0
(XEN) PCI add device 0000:16:05.2
(XEN) PCI add device 0000:16:05.4
(XEN) PCI add device 0000:16:08.0
(XEN) PCI add device 0000:16:08.1
(XEN) PCI add device 0000:16:08.2
(XEN) PCI add device 0000:16:08.3
(XEN) PCI add device 0000:16:08.4
(XEN) PCI add device 0000:16:08.5
(XEN) PCI add device 0000:16:08.6
(XEN) PCI add device 0000:16:08.7
(XEN) PCI add device 0000:16:09.0
(XEN) PCI add device 0000:16:09.1
(XEN) PCI add device 0000:16:09.2
(XEN) PCI add device 0000:16:09.3
(XEN) PCI add device 0000:16:09.4
(XEN) PCI add device 0000:16:09.5
(XEN) PCI add device 0000:16:09.6
(XEN) PCI add device 0000:16:09.7
(XEN) PCI add device 0000:16:0a.0
(XEN) PCI add device 0000:16:0a.1
(XEN) PCI add device 0000:16:0e.0
(XEN) PCI add device 0000:16:0e.1
(XEN) PCI add device 0000:16:0e.2
(XEN) PCI add device 0000:16:0e.3
(XEN) PCI add device 0000:16:0e.4
(XEN) PCI add device 0000:16:0e.5
(XEN) PCI add device 0000:16:0e.6
(XEN) PCI add device 0000:16:0e.7
(XEN) PCI add device 0000:16:0f.0
(XEN) PCI add device 0000:16:0f.1
(XEN) PCI add device 0000:16:0f.2
(XEN) PCI add device 0000:16:0f.3
(XEN) PCI add device 0000:16:0f.4
(XEN) PCI add device 0000:16:0f.5
(XEN) PCI add device 0000:16:0f.6
(XEN) PCI add device 0000:16:0f.7
(XEN) PCI add device 0000:16:10.0
(XEN) PCI add device 0000:16:10.1
(XEN) PCI add device 0000:16:1d.0
(XEN) PCI add device 0000:16:1d.1
(XEN) PCI add device 0000:16:1d.2
(XEN) PCI add device 0000:16:1d.3
(XEN) PCI add device 0000:16:1e.0
(XEN) PCI add device 0000:16:1e.1
(XEN) PCI add device 0000:16:1e.2
(XEN) PCI add device 0000:16:1e.3
(XEN) PCI add device 0000:16:1e.4
(XEN) PCI add device 0000:16:1e.5
(XEN) PCI add device 0000:16:1e.6
(XEN) PCI add device 0000:64:03.0
(XEN) PCI add device 0000:64:05.0
(XEN) PCI add device 0000:64:05.2
(XEN) PCI add device 0000:64:05.4
(XEN) PCI add device 0000:64:08.0
(XEN) PCI add device 0000:64:09.0
(XEN) PCI add device 0000:64:0a.0
(XEN) PCI add device 0000:64:0a.1
(XEN) PCI add device 0000:64:0a.2
(XEN) PCI add device 0000:64:0a.3
(XEN) PCI add device 0000:64:0a.4
(XEN) PCI add device 0000:64:0a.5
(XEN) PCI add device 0000:64:0a.6
(XEN) PCI add device 0000:64:0a.7
(XEN) PCI add device 0000:64:0b.0
(XEN) PCI add device 0000:64:0b.1
(XEN) PCI add device 0000:64:0b.2
(XEN) PCI add device 0000:64:0b.3
(XEN) PCI add device 0000:64:0c.0
(XEN) PCI add device 0000:64:0c.1
(XEN) PCI add device 0000:64:0c.2
(XEN) PCI add device 0000:64:0c.3
(XEN) PCI add device 0000:64:0c.4
(XEN) PCI add device 0000:64:0c.5
(XEN) PCI add device 0000:64:0c.6
(XEN) PCI add device 0000:64:0c.7
(XEN) PCI add device 0000:64:0d.0
(XEN) PCI add device 0000:64:0d.1
(XEN) PCI add device 0000:64:0d.2
(XEN) PCI add device 0000:64:0d.3
(XEN) PCI add device 0000:65:00.0
(XEN) PCI add device 0000:65:00.1
(XEN) PCI add device 0000:65:00.2
(XEN) PCI add device 0000:65:00.3
(XEN) PCI add device 0000:b2:00.0
(XEN) PCI add device 0000:b2:05.0
(XEN) PCI add device 0000:b2:05.2
(XEN) PCI add device 0000:b2:05.4
(XEN) PCI add device 0000:b2:12.0
(XEN) PCI add device 0000:b2:12.1
(XEN) PCI add device 0000:b2:12.2
(XEN) PCI add device 0000:b2:15.0
(XEN) PCI add device 0000:b2:16.0
(XEN) PCI add device 0000:b2:16.4
(XEN) PCI add device 0000:b2:17.0
(XEN) PCI add device 0000:b3:00.0
(XEN) PCI add device 0000:b4:00.0
(XEN) PCI add device 0000:b4:02.0
(XEN) PCI add device 0000:b4:03.0
(XEN) PCI add device 0000:b5:00.0
(XEN) PCI add device 0000:b6:00.0
(XEN) PCI add device 0000:b7:00.0
(XEN) PCI add device 0000:b7:00.1
(XEN) PCI add device 0000:b7:00.2
(XEN) PCI add device 0000:b7:00.3
(XEN) Platform timer appears to have unexpectedly wrapped 10 or more times.
(XEN) [VT-D]d0:PCIe: unmap 0000:65:00.2
(XEN) [VT-D]d32753:PCIe: map 0000:65:00.2
(XEN) [VT-D]d0:PCIe: unmap 0000:65:00.1
(XEN) [VT-D]d32753:PCIe: map 0000:65:00.1
(XEN) [VT-D]d0:PCIe: unmap 0000:65:00.0
(XEN) [VT-D]d32753:PCIe: map 0000:65:00.0
(XEN) [VT-D]d32753:PCIe: unmap 0000:65:00.2
(XEN) [VT-D]d2:PCIe: map 0000:65:00.2
(XEN) [VT-D]d32753:PCIe: unmap 0000:65:00.1
(XEN) [VT-D]d2:PCIe: map 0000:65:00.1
(XEN) [VT-D]d32753:PCIe: unmap 0000:65:00.0
(XEN) [VT-D]d2:PCIe: map 0000:65:00.0

--T4sUOijqQbZv57TR--


From xen-devel-bounces@lists.xenproject.org Thu Jan 06 15:19:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 15:19:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254102.435627 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5UY9-0000ZB-QR; Thu, 06 Jan 2022 15:19:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254102.435627; Thu, 06 Jan 2022 15:19:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5UY9-0000Z4-N7; Thu, 06 Jan 2022 15:19:33 +0000
Received: by outflank-mailman (input) for mailman id 254102;
 Thu, 06 Jan 2022 15:19:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=k+KX=RW=epam.com=prvs=30058094e3=oleksii_moisieiev@srs-se1.protection.inumbo.net>)
 id 1n5UY8-0000Yy-Io
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 15:19:32 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0aa2cc9d-6f04-11ec-9ce5-af14b9085ebd;
 Thu, 06 Jan 2022 16:19:30 +0100 (CET)
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 ESMTP id 206DmPcG010268;
 Thu, 6 Jan 2022 15:19:26 GMT
Received: from eur05-db8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2111.outbound.protection.outlook.com [104.47.17.111])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3ddr8whhfh-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 06 Jan 2022 15:19:26 +0000
Received: from PA4PR03MB7136.eurprd03.prod.outlook.com (2603:10a6:102:ea::23)
 by PA4PR03MB6767.eurprd03.prod.outlook.com (2603:10a6:102:e2::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.7; Thu, 6 Jan
 2022 15:19:23 +0000
Received: from PA4PR03MB7136.eurprd03.prod.outlook.com
 ([fe80::85d2:c8aa:2196:21c6]) by PA4PR03MB7136.eurprd03.prod.outlook.com
 ([fe80::85d2:c8aa:2196:21c6%9]) with mapi id 15.20.4844.016; Thu, 6 Jan 2022
 15:19:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0aa2cc9d-6f04-11ec-9ce5-af14b9085ebd
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gyvuZnD5cCXvshdavPspi+JTu1Yahtc0FIH9fEU1vc7+41PLaUccyuXOkekRoTEPq1RA4fbUWIxplZ9HeV6NFG3sAcC9J7+6NGkmVNJYIH5IkXob1zzx/IvJ+whG1s0wFAcZDdnCTg/njGnhnqV31IYsTnPH5WmeMsu3cFIzHX3yCd0Lnbr6EhGHoQeNzPkJbS4nsM7pa71zBEZ+5BV9eJh6Okalzgwb4Gf5K5orud7niRCVmCrWL8Q4bgJbG86QFgfakPobqYKk/sWR0YiJ42JTk5KS/wlICptk8GfZ2XBzrMRtvWuybcifzGJKHECzKHGECuS8os1W4yx/mhIAEg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lUSeFxG9j2RjbRhyr/Mz2Hx+yawNICPVAj5uR9bde+U=;
 b=UICyxjk5o24J72gAAK1wAAR8qtxy0WjgKkmoyNdvVcPrnMjoSy7Qo1ZeLMQ6/DTreewRwwteAohK6C5Hz3797Un0Zxu4nxp4FmtHxwQuzMryY8f8jhP4WItFRo04dl8gOEuqubyaQ+4Np87yWMv5Lff+u9xBTIWWy3t1CmBGDlVr9Am72dubagOoLTxdeOnsE2rI9XuqJAsmqM/KBEiuJZf6z9ZZ96umvTGj9uhrPVpKKRtU5mUTC1B64iioMe6mb3q6xzjGNMnjjQYq1nnIqypIikjQZ2j4OtzoSsr5LQ8bLTBzqx9mC/ICub1myxb0EzL9DDWlHqD8P49i6huWAA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lUSeFxG9j2RjbRhyr/Mz2Hx+yawNICPVAj5uR9bde+U=;
 b=kv+Q16V/phsmh9upyCa9BhhQHfX/xqKYgeXestL3Dk38bqxfwOPDyS1Tq+hdFpwyblafMXHcSzvpOszwhBoeJiWFM3IPeHZYD2tHkqptRNv85CQODg9WqiPRZlJ1dbwfSVOCbCMicICXBhcuzaU3O5Wfho7qzQSdsVaQNEgsYrxZQSYREkJXNantdJyhbEQ0X6Cjstc6Fk8mafwyMB/Tj1RiVKpwfkxHs0bwj6FLcfB2NbPpHBze+RIfcPx2ZHvpt1Ch6oxaHuKCnutZzBbqIHc2tIdnBCu5nsV1cGvsQPbTCA3DL5EbyTkAKkWc7d+zqRXiNM/GYonmDOc2yGnNfQ==
From: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
To: Julien Grall <julien@xen.org>
CC: Stefano Stabellini <sstabellini@kernel.org>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>
Subject: Re: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
Thread-Topic: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
Thread-Index: 
 AQHX8M3JF7Ng56/tV0+8/7pODiaWfKw3iHyAgAQwJICAAG+xgIABQZuAgAAWSACAAOV/AIABANAAgAEYTICAAFamgIAA3WqAgAAIW4CAAAhUAIAAJymAgA+OgICABMa8gA==
Date: Thu, 6 Jan 2022 15:19:23 +0000
Message-ID: <20220106151921.GA1440956@EPUAKYIW015D>
References: 
 <alpine.DEB.2.22.394.2112211310000.2060010@ubuntu-linux-20-04-desktop>
 <20211222110414.GA2883815@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2112221627190.2060010@ubuntu-linux-20-04-desktop>
 <20211223190637.GA99855@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2112231610270.2060010@ubuntu-linux-20-04-desktop>
 <437596a2-b375-fc79-a865-186f7eaf10a8@xen.org>
 <20211224135819.GA945512@EPUAKYIW015D>
 <4bb8ee4f-8e8b-5e85-0801-ae3df93dbabc@xen.org>
 <20211224164905.GA1016129@EPUAKYIW015D>
 <d5e8a800-5a28-ce9e-cf2a-82894aae2149@xen.org>
In-Reply-To: <d5e8a800-5a28-ce9e-cf2a-82894aae2149@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 594f1de6-5b5f-486c-8439-08d9d127eb55
x-ms-traffictypediagnostic: PA4PR03MB6767:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <PA4PR03MB67676838D267193210482671E34C9@PA4PR03MB6767.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: 
 wGE7oy0BXWO1Og0FNnBGcNLBZX9erUIbm8bhge2ZqQZ03w4figmYwxD0yLDF7FhHnFKt/zxTZaIYzqHpsh5NMpaf/nOo1z5ZGwrEyJ4R8hCGLDxRjCo594BbYPx7Okcu7kImLCarlMiDbc1rYy2M/1Q28UhBP1/H7ej9GQq497s9fmkdehkvLQdus6ik13esxn6iVRk/D8hqB+ObeeDF7CfsZtyL6SlnmJ9fabINur6+Re8WHZ5Wb3JIjV5jHFmAQTt+Jx1QFvqeDt84rzrtH+jTYVPXokfCBwzmYpZfK38EtOneBEVc1jgmgH+4ap50P0y69NeIw0hnsmX/sBZPxQr9q35HK+4tmXOHZKqiSxr+12HviGNb2OtJa1ZggAt95VT2+x7siycjLhLjhRRvRv+fO0qidZOYEkRHKvGsaCGRrlH+cu7NHW/2KrY51dJ+TzDtkaSDFghEG1kABsTJqwYNzUJtfxMul5EE6qqvvY/eNnRPv+EWk6JoosVPd8vgYc0eCicVPbk6yRe68S2e1IaAx4AL8PCGPT8q++GHKDYO8zm1XH3wjtPjUwZlHOlDQSRk91ZANMBe8cOQhNPX8UeB5a2f0AZW+F5F/zXaMrkiOWySw7apCb0xgFznP0TxV6MlfZ22luEpfQRva4Mtaq4FCOhQsY9f7Q9RiLC3QEHxgcGSVSbJRiqmiiQNp8voWL8i282LDa1BqPaTlHfzZtpHaBgqERkxdzT73SJq+6k=
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR03MB7136.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(86362001)(4326008)(186003)(53546011)(6506007)(9686003)(71200400001)(6512007)(2906002)(38070700005)(66556008)(33656002)(316002)(6486002)(508600001)(33716001)(26005)(1076003)(54906003)(6916009)(8676002)(8936002)(66446008)(83380400001)(5660300002)(38100700002)(91956017)(76116006)(66946007)(64756008)(66476007)(122000001)(21314003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?us-ascii?Q?l4SRDyMwN8iJ/+iTXmD5FFk+xbkhzsYXQ4kSuJlk4pOyBTGtr53eiCXfSh6S?=
 =?us-ascii?Q?u0Y4RwMfebmAXrSemJED9jWhVR1NFFSKlSi+GVWlNvcbgfmD0udAAqx3cQYX?=
 =?us-ascii?Q?Nt5js8vGEYaFFM5+jeioT+DSSSNaYUPNwOeAGw9YyGzUu1dOg7H9D83IA0Hz?=
 =?us-ascii?Q?rupZIeH06PRJIc54fQLcRtZfiiAzJLzB6KCa13dO9h9L6NFJDUWY4WgbSwQh?=
 =?us-ascii?Q?PsUHDtT1iLj3MMxKzzm7V1tYioAz4DeDvLbj4QApJ6UJJbX8f5SNMfssf0vL?=
 =?us-ascii?Q?0fJJYrJda5FxYIG84aF3kMA2mnQqLaGooFXttTQEHHs+sJXEZHpH0g0FTE/d?=
 =?us-ascii?Q?QjuDCmbYZNaTLuAdcUhL1/YLdYPM5/XplYy2V8Q7cDIH9eQOZxgSCC/trmuc?=
 =?us-ascii?Q?xsLv3SNQ1H+PWezggRvKL/TyD41AOyTvUqhUM3I+ufdjhe9nuAhiOy4NwhcK?=
 =?us-ascii?Q?S25vLId5s3mpYvgWeJt4fV5npi4gLx8g7ZNTRaGIeipNM2UE5y9UrhFV+GJ0?=
 =?us-ascii?Q?wnc4qeb/yoqjT+Nonc9bUM/aeQFtQwlit1Ko5qBXSNsF+el65ACeEU4dUVk5?=
 =?us-ascii?Q?QHHyARozhxS3OO8pg7z+oP7lRCRk5w44bG67EBh6omXPC8jRlkZCw7WX8Qy6?=
 =?us-ascii?Q?nwEZ5z1BUvhrQfkPKlPV/oF3nCc5ZexhQnxSskUszy6VpAarTiI00mUz5hLZ?=
 =?us-ascii?Q?X/rDUkrzLmz+Xd5X+MO1lkPBgvMnC5zjjRlqu8SwoO73fM6NITb5CHOL98L9?=
 =?us-ascii?Q?zw6clN8XYHer4rB400RSSkjKlIEdBUjawMv4fp5chdfTXBem8qpyAstjcSv/?=
 =?us-ascii?Q?OqAFRaxu/GAu8njTmGUUZXMdVwoTfExSVVeEmRdwF5UKrPamBQHc5+27wKJB?=
 =?us-ascii?Q?kEghT7XaVNQDcO32EQcVNi8t2oXI4Z6yjST/V5vjUdfV2PAkYnn6RIVYukbz?=
 =?us-ascii?Q?vZ9+TXl+E9fjRkkVIwtOWNzsjEYQskqHsqSZsgqVACZLjYAifjMrmwYczElb?=
 =?us-ascii?Q?3GphQ8yujjJdl7qxV3NvnYo9m5cEWjFEDRQCqbaQi8oqfZNexmEdLGpdwHS2?=
 =?us-ascii?Q?eCaoPLmgNGZRvegR1Kvwacbsjge1WddVfbbnzQ6NOzbTtN/cJdfflex8W7CP?=
 =?us-ascii?Q?rPLQnP8JQe8cvedXidMGq9SCzg0NYGizxTxs8qSY/QhNSuY7scwK7cWslIBj?=
 =?us-ascii?Q?Ujhdt+X9ltPW+3SY3w9ML6RpWPyLUOOyysFoILUwiaqg79cwG6pLyQYFaduJ?=
 =?us-ascii?Q?E7mCP51GiIefmVA6HUnskGLZs3meCmu8+LWmqFqbmRFUUEXU60EDVn5HWcM0?=
 =?us-ascii?Q?IZkm3J5H8eymSP1IXXLMeT2T7jmF88TBp2kwTR2T51tYVZTGiv5UqlLUFaJr?=
 =?us-ascii?Q?iSrRoaLZywWdimLJJaaIZUNo3SzDXQoJmiMu8Eg7gbJL7VHclRRSwlW1ulc9?=
 =?us-ascii?Q?A/ryiLYXEdOwH1+gFBiiwsbi4g9AR15hLTWO6jgXOcbELygbaW2ZmFGzkMAP?=
 =?us-ascii?Q?8bai69gjACwROH9BseIht7bEJVAMFrgwrqmZbqkOxbzDn9Q/PFNseybsBl04?=
 =?us-ascii?Q?S7CShzDIYpiKlKLZkOzFH++MPJRgqzQscdw5RS1MViOOicHzonQxWtXgH3Kk?=
 =?us-ascii?Q?0UIk5PuLbimSbI309/zHgwo4XB6P6GNlZWOgONxg6FMmXAZoq14NDeYenCnF?=
 =?us-ascii?Q?uWCKBK/YBa5T3xXkvYd7KZ1sPGY=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <51D16B2E2472954E9B549450E80F8245@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PA4PR03MB7136.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 594f1de6-5b5f-486c-8439-08d9d127eb55
X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Jan 2022 15:19:23.0878
 (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: a74PaBrT0IfZxw9p+93G5I8ehc9saP/ADXp8kdLUmYWdTU6I7qHu9hGscbXYIKSC41b2bYgf4bLpLTrHIn4rYJ1wPcsnmsVEBfsraGYysow=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR03MB6767
X-Proofpoint-GUID: HBZWmCDOUudf1RNFHhf-8oSVZr5Um6kE
X-Proofpoint-ORIG-GUID: HBZWmCDOUudf1RNFHhf-8oSVZr5Um6kE
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.790,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-06_06,2022-01-06_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0
 priorityscore=1501 impostorscore=0 bulkscore=0 lowpriorityscore=0
 spamscore=0 mlxlogscore=883 phishscore=0 clxscore=1015 mlxscore=0
 adultscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx
 scancount=1 engine=8.12.0-2112160000 definitions=main-2201060107

On Mon, Jan 03, 2022 at 02:23:01PM +0000, Julien Grall wrote:
> Hi,
>=20
> On 24/12/2021 16:49, Oleksii Moisieiev wrote:
> > On Fri, Dec 24, 2021 at 03:28:56PM +0100, Julien Grall wrote:
> > > On 24/12/2021 14:59, Oleksii Moisieiev wrote:
> > > > Hi Julien,
> > >=20
> > > Hello,
> > >=20
> > > > On Fri, Dec 24, 2021 at 02:29:13PM +0100, Julien Grall wrote:
> > > > > Hi,
> > > > >=20
> > > > > On 24/12/2021 01:16, Stefano Stabellini wrote:
> > > > > > > One more question: As you probably seen - Jan had a complains=
 about SCI
> > > > > > > term. He said SCI is ambiguous with ACPI's System
> > > > > > > Control Interrupt.
> > > > > >=20
> > > > > > I see his point. As a term I see "SCMI" often and sometimes "SC=
PI" but
> > > > > > "SCI" is the first time I saw it with this patch series.
> > > > > >=20
> > > > > >=20
> > > > > > > I think of using SC (as System Control) instead. What do you =
think
> > > > > > > about it?
> > > > > >=20
> > > > > > Yeah, I am not great at naming things but maybe "ARM_SCI"?  "SC=
" alone
> > > > > > doesn't give me enough context to guess what it is.
> > > > >=20
> > > > > I might be missing some context. Why are naming everything SCI ra=
ther than
> > > > > SMCI?
> > > >=20
> > > > Because we're expecting other interfaces and transport to be
> > > > implemented, such as for example:
> > > > scmi_mailbox, scpi_smc, scpi_mailbox, ti_sci_smc etc.
> > >=20
> > > Oh, now that explain why there is a layer of indirection in Xen. It w=
asn't
> > > very clear from the cover letter why it was present.
> > >=20
> > Please see below.
> > > >=20
> > > > >=20
> > > > > >=20
> > > > > > Or we could broaden the scope and call it "firmware_interface"?
> > > > > How would this be used? Will it be a list of interface that will =
be exposed
> > > > > to the guest?
> > > > >=20
> > > >=20
> > > > The idea is to set mediator type for each Domain, so for example Xe=
n can
> > > > use scmi_mailbox to communicate with SCP, Dom0 and DomD are also us=
ing
> > > > scmi_mailbox, but DomU using scmi_smc mediator because we have only=
 3
> > > > mailboxes in system. This is not implemented yet, right now, we are
> > > > introducing only scmi_smc support. In future, multiple mediator sup=
port
> > > > can be added to Xen.
> > >=20
> > > Ok. So will there be only one interface at the time for a given domai=
n. Is
> > > that correct?
> > >=20
> > Correct. The idea is that we provice only one interface to the Domain,
> > so different domains can use different protocols and transport
>=20
> I think this is similar to TEE mediator. Specifying in the guest
> configuration the TEE protocol (e.g. OP-TEE) allows to sanity check what =
the
> guest wants match the host. However, I am not convinced there is a need t=
o
> expose different protocols for domains running on the same platform.
>=20

Yes. You're right, I based on TEE mediator during implementation.
Please see below my thoughts about different protocols and transports.
> > Those
> > interfaces can be different than the interface Xen uses to connect to S=
CP.
>=20
> I can understand how this looks appealing. However, it may not always be
> possible to convert the guest protocol to the host protocol. And even if =
it
> is possible, it is increasing the complexity and risk.
>=20
> > This allows us to vary the configuration.
> > So for example:
> > Let's take system, that support only 2 mailboxes and communication with
> > SCP can use only mailboxes as transport. We intent to use scmi protocol
> > to manage HW. In this case we use 2 mailboxes for Xen-> SCP
> > communication, and for Dom0 -> Xen.
> > Domu can be configured to use
> > scmi_smc, so the communication should be the following:
> > DomU --smc--> Xen -mailbox--> SCP Firmware.
> > Let's say we want to add DomainX with OS XXX, which using yyy protocol
> > with zzz transport. Then we can configure DomX wuth yyy_zzz mediator, s=
o
> > the communication will be the following:
> > DomX --yyy--> Xen -mailbox--> SCP Firmware
>=20
> I am a bit confused with your example here. From my understanding, I woul=
d
> say 'smc' is the transport. But in your example above, you suggest this i=
s
> the protocol. What did I miss?

Sorry, that's my fault. I merged 2 exapmles in 1, in which the first exampl=
e
shows different transports and the second one shows different protocols.

The first expample describes the use-case when we have firmware, using
mailboxes as transport, but the system we have has number of Domains >
than number of the mailboxes.
Let's say Firmware and all Domains are using scmi protocol.
In this case I see 2 possible configurations:

1) Firmware and some Domains are using mailbox as transport, other
Domains, when all mailboxes are occupied, are using smc as transport.
Xen will be responsible to receive smc message and send request to
Firmware using mailbox and vice versa.

2) Firmware using mailbox to communicate with Xen, all Domains are using
smc. In this case only one mailbox will be used.

Number 2 looks better from my standpoint. In that case we have scmi_smc
mediator, which exposes smc transport to domains and uses mailbox to
communicate with Firmware.

The second part is that we can change protocol when it's simple and
safe. But now I see that this is not a good Idea to make Xen responsible
for protocol converting.

>=20
> > Where Xen knows how to convert message from yyy protocol to scmi protoc=
ol
>=20
> As I wrote above, when possible, converting protocol could be complex and
> risky. So do you have a concrete use case for that?
>=20
> That said, changing the transport (e.g. smc <-> mailbox) would make more
> sense to me.
>=20

I think you're right.

> >=20
> > I considered the alternative way, when we can configure domain with
> > several mediators, so each Domain can be configured to use, for example=
,
> > scmi_smc for power-domains and scpi_smc for clocks and resets. But I
> > don't see real use-cases for this configuration.
>=20
> Do you mean a platform using both or exposing both to the guest?
>=20

Yes, that's the alternative way I see. Similar to linux kernel, where
you are allowed to use for example scmi for clocks and scpi for resets.
I don't see the real use-cases for this config, but Xen can follow Linux
kernel configuration approach and allow to register 2 mediators: one for
scmi_smc and one for scpi_smc.
In this case Domain configuration will look like this:
sci =3D [
    "scmi_smc",
    "scpi_smc",
    ];

So both scmi_smc and scpi_smc mediators are exposing protocols to the
domains and communicating with Firmware.
Current implementation supports only 1 mediator, but in future I think
we should consider the posibility of having several mediators.
Where each mediator has it's own channel (transport+protocol) to
Firmware and exposes transport+protocol to the guests.

> >=20
> > What do you think about that?
> So I am a bit unsure how "firmware_interface" would be specified. IMO, th=
e
> user should only specificy which interface the guest will use (e.g. SCMI =
via
> SMC) even if the host end up to use a different transport (e.g. SCMI via
> mailbox). IOW, the option would not tell how to convert it.
>=20
> Is it what you had in mind?
>=20

Yes. That's what I mean.
firmware_interface can be specified in xen Device-tree. Different SCI
mediators can be implemented and added to the device-tree. Each mediator ha=
s channel (protocol +
transports) to the Firmware and exposes protocol + transport to the guests.
Protocol to the Firmware should be the same as exposed protocol,
transport may differ and is implementation specific.


Best regards,
Oleksii.=


From xen-devel-bounces@lists.xenproject.org Thu Jan 06 15:33:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 15:33:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254109.435645 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5Ulk-0002u5-56; Thu, 06 Jan 2022 15:33:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254109.435645; Thu, 06 Jan 2022 15:33:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5Ulk-0002ty-26; Thu, 06 Jan 2022 15:33:36 +0000
Received: by outflank-mailman (input) for mailman id 254109;
 Thu, 06 Jan 2022 15:33:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4Ato=RW=arm.com=andre.przywara@srs-se1.protection.inumbo.net>)
 id 1n5Uli-0002ts-T5
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 15:33:35 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 00977ce3-6f06-11ec-81c0-a30af7de8005;
 Thu, 06 Jan 2022 16:33:31 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id C8C101042;
 Thu,  6 Jan 2022 07:33:30 -0800 (PST)
Received: from donnerap.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com
 [10.121.207.14])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id AB2C03F5A1;
 Thu,  6 Jan 2022 07:33:29 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 00977ce3-6f06-11ec-81c0-a30af7de8005
Date: Thu, 6 Jan 2022 15:33:27 +0000
From: Andre Przywara <andre.przywara@arm.com>
To: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>
Cc: Julien Grall <julien@xen.org>, Bertrand Marquis
 <Bertrand.Marquis@arm.com>, "xen-devel@lists.xenproject.org"
 <xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
 <sstabellini@kernel.org>, "stefanos@xilinx.com" <stefanos@xilinx.com>,
 "Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>,
 "jbeulich@suse.com" <jbeulich@suse.com>
Subject: Re: [XEN v2] xen/arm64: io: Decode 32-bit ldr/str post-indexing
 instructions
Message-ID: <20220106153327.6ebb2be1@donnerap.cambridge.arm.com>
In-Reply-To: <0f6e058a-bc23-2a77-6797-39bfacb7db79@xilinx.com>
References: <20211129191638.19877-1-ayankuma@xilinx.com>
	<20211130094950.1bf368d6@donnerap.cambridge.arm.com>
	<a69d41f1-7b57-c127-ae73-2de5a581dddd@xilinx.com>
	<D8811539-65F2-4D40-BFEF-CE72EA8E902A@arm.com>
	<4315f3f8-4431-3257-dc95-a3089532237b@xen.org>
	<20211208120048.63fbf49b@donnerap.cambridge.arm.com>
	<0f6e058a-bc23-2a77-6797-39bfacb7db79@xilinx.com>
Organization: ARM
X-Mailer: Claws Mail 3.17.5 (GTK+ 2.24.32; aarch64-unknown-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

On Wed, 5 Jan 2022 16:55:11 +0000
Ayan Kumar Halder <ayan.kumar.halder@xilinx.com> wrote:

Hi,

> Thank you so much for your feedback.
> 
> I need a couple of clarifications before I can start with the v3 patch.
> 
> On 08/12/2021 12:00, Andre Przywara wrote:
> > On Mon, 6 Dec 2021 19:31:06 +0000
> > Julien Grall <julien@xen.org> wrote:
> >
> > Hi,
> >  
> >> On 01/12/2021 08:41, Bertrand Marquis wrote:  
> >>> Hi Ayan,
> >>>      
> >>>> On 30 Nov 2021, at 19:13, Ayan Kumar Halder <ayan.kumar.halder@xilinx.com> wrote:
> >>>>
> >>>> Hi Andre,
> >>>>
> >>>> Thanks for your comments. They are useful.
> >>>>
> >>>> On 30/11/2021 09:49, Andre Przywara wrote:  
> >>>>> On Mon, 29 Nov 2021 19:16:38 +0000
> >>>>> Ayan Kumar Halder <ayan.kumar.halder@xilinx.com> wrote:
> >>>>> Hi,  
> >>>>>> At the moment, Xen is only handling data abort with valid syndrome (i.e.
> >>>>>> ISV=0). Unfortunately, this doesn't cover all the instructions a domain
> >>>>>> could use to access MMIO regions.
> >>>>>>
> >>>>>> For instance, Xilinx baremetal OS will use:
> >>>>>>
> >>>>>>           volatile u32 *LocalAddr = (volatile u32 *)Addr;
> >>>>>>           *LocalAddr = Value;
> >>>>>>
> >>>>>> This leave the compiler to decide which store instructions to use.  
> >>>>> As mentioned in the other email, this is wrong, if this points to MMIO:
> >>>>> don't let the compiler do MMIO accesses. If a stage 2 fault isn't in
> >>>>> an MMIO area, you should not see traps that you cannot handle already.
> >>>>> So I don't think it's a good idea to use that as an example. And since
> >>>>> this patch only seems to address this use case, I would doubt its
> >>>>> usefulness in general.  
> >>>> Yes, I should have fixed the comment.
> >>>>
> >>>> Currently, I am testing with baremetal app which uses inline assembly code with post indexing instructions, to access the MMIO.
> >>>>
> >>>> ATM, I am testing with 32 bit MMIO only.
> >>>>
> >>>> On the usefulness, I am kind of torn as it is legitimate for post indexing instructions to be used in an inline-assembly code for accessing MMIO. However, that may not be something commonly seen.
> >>>>
> >>>> @Stefano/Bertrand/Julien/Volodymyr :- As you are the Arm mantainers, can you comment if we should have decoding logic or not ?  
> >>> Andre gave you the official statement from Arm and there is nothing more I can say.  
> >> I think this would be handy for other hypervisor and OS developper to
> >> know what they can expect when running in a virtualized environment. So
> >> would it be possible to update the Arm Arm reflecting this statement?  
> > I don't think it's within the scope of the ARM ARM to say that. It just
> > says that "there is no syndrome information", and your mileage may vary in
> > working around that.
> >
> > Personally I would say that if you expect your software to work nicely
> > under a hypervisor, then just avoid those instructions. The Linux kernel
> > certainly did so.
> >
> > You can try to do instruction emulation, but doing this right can get
> > tricky quickly: think about I$/D$ coherency, MMU on or off, etc.  
> 
> I am trying to get all the restrictions that need to be checked. I have 
> referred 
> https://developer.arm.com/documentation/dui0802/a/A64-General-Instructions/Register-restrictions-for-A64-instructions?lang=en 
> and "Arm A64 Instruction Set Architecture - DDI 0596" - LDR (immediate).
> 
> So far I only see the following restrictions:-
> 
> Rn -ne Rt
> 
> Rt -ne SP
> 
> You had mentioned the following cases :-
> 
> 1. XZR vs SP - I see that both these refer to register no 31. Xen gets 
> the register number (for Rn/Rt) only, so I am not sure what is to be 
> done here.

But the emulation code in Xen needs to know whether number 31 refers to the
stack pointer or to the zero register. This depends on the context of the
instruction. It's nothing magical about it, you just need to figure out
which it is in your case and make sure that the code uses the right
value. In the LDR case n==31 means SP, but t==31 means XZR. The emulation
would need to consider this.

> 2. MMU on or off - As I see in try_handle_mmio(), one gets the physical 
> address in gpa. So I am not sure what is to be done here.

You *might* be fine, if Xen takes care of that, I don't know.
But it needs to explicitly consider those two cases - and also make
sure that caching effects are cared for.

> 3. I/D coherency - I don't understand how this affects instruction decoding.

In the ARM architecture the I cache and D cache are not necessarily
coherent. So whatever the CPU reads via the data bus does not need to be
the same data that the instruction fetcher read a while ago. And while
there is a well-known sequence to make the current data side visible to
the instruction side, there is nothing architectural for the other way
around.
For example the CPU fetches a bunch of instructions into the I cache, then
consumes it from there. Now some code changes those instruction words in
"memory". Without explicit D-cache-clean-to-the-PoU and
I-cache-invalidate+ISB the CPU might still execute the old instructions.
But if your emulation code tries to read the instruction from memory, it
fetches the data-visible side of it - which is not what the CPU executed,
so end up emulating the wrong thing.

Please also keep in mind that the architecture does not *guarantee*
coherency, but in reality it might actually be coherent - either because
of the particular silicon implementation, or because of side effects in
the system (data cache line being evicted, ISB executed). So seeing the
effects of coherency in your testing does not mean you are safe, it might
just happen by chance.

Cheers,
Andre

> Please help me to understand further.
> 
> - Ayan
> 
> >  
> >>> I will leave this decision to Stefano and Julien.  
> >> I have had a chat on IRC with Stefano about this. I think the main
> >> sticking point is the Arm Arm doesn't clearly state those instructions
> >> should not be used by a virtualized OS on MMIO regions.  
> > I don't understand why the ARM ARM would need to say that. Certainly you
> > realise that immediately when trying to use them, and apparently it was not
> > a problem in the last 8ish years of Xen/ARM's existence.
> >
> > So it's your decision on having the emulation, I personally would only do
> > it when there is a *good* use case.
> > And please apply the demanded scrutiny on the review - including all the
> > corner cases like Rn=Rt, XZR vs. SP (as Jan said) and possibly MMU status.
> >
> > Cheers,
> > Andre
> >  
> >> To me, this topic looks similar to the set/way instruction dilemma. They
> >> are a pain to virtualize (and the Arm Arm clearly hint it) but we had to
> >> do it because some OSes relied on them.
> >>
> >> I think the main difference is the Arm Arm doesn't hint they should not
> >> be used (it only says a valid syndrome is not provided) and the
> >> implementation should hopefully be smaller and self-contained.
> >>
> >> So I would be inclined to allow Xen to decode post-indexing instructions
> >> (pending the review).
> >>
> >> Cheers,
> >>  



From xen-devel-bounces@lists.xenproject.org Thu Jan 06 15:42:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 15:42:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254114.435657 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5UuN-0004Ml-2r; Thu, 06 Jan 2022 15:42:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254114.435657; Thu, 06 Jan 2022 15:42:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5UuM-0004Me-Uj; Thu, 06 Jan 2022 15:42:30 +0000
Received: by outflank-mailman (input) for mailman id 254114;
 Thu, 06 Jan 2022 15:42: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 1n5UuL-0004MU-3A; Thu, 06 Jan 2022 15:42: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 1n5UuL-0007Fu-0W; Thu, 06 Jan 2022 15:42: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 1n5UuK-0002Ed-NP; Thu, 06 Jan 2022 15:42:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n5UuK-0002yV-Mw; Thu, 06 Jan 2022 15:42:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Z7bU94LP5ErjaIL7nC/E1EEEOqlyN1rkaTJ3/4lmBuE=; b=XJx73+CZF4J0y5XNi7ZU2zi5rm
	jIRjM6luXsfSS3m+iHLmF8+t5o76VVqR7zriCdaRqtuDFyfjpszsJpwG8BKKQgAFz/psSjZ3YzNKu
	jpDQOzDTpqzCGzFnvHEF/U02nxhiW6jOTdJtjmq6Ac44A5d8PUFMGh8m6DMlaw49zlQ4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167618-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167618: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-pvhv2-intel:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-arm64-arm64-xl-credit1:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-amd64-libvirt-vhd:guest-saverestore.2:fail:heisenbug
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-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-qcow2:saverestore-support-check: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-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-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-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt: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: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-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-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=31f3bc97f4508687215e459a5e35676eecf1772b
X-Osstest-Versions-That:
    xen=31f3bc97f4508687215e459a5e35676eecf1772b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 06 Jan 2022 15:42:28 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-pvhv2-intel 22 guest-start/debian.repeat fail in 167612 pass in 167618
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 167612 pass in 167618
 test-arm64-arm64-xl-credit1   8 xen-boot                   fail pass in 167612
 test-amd64-amd64-libvirt-vhd 17 guest-saverestore.2        fail pass in 167612

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

version targeted for testing:
 xen                  31f3bc97f4508687215e459a5e35676eecf1772b
baseline version:
 xen                  31f3bc97f4508687215e459a5e35676eecf1772b

Last test of basis   167618  2022-01-06 04:36: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-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


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

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

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

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


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Thu Jan 06 15:43:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 15:43:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254122.435668 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5Uvf-00050K-JH; Thu, 06 Jan 2022 15:43:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254122.435668; Thu, 06 Jan 2022 15:43:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5Uvf-00050D-Fd; Thu, 06 Jan 2022 15:43:51 +0000
Received: by outflank-mailman (input) for mailman id 254122;
 Thu, 06 Jan 2022 15:43:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=k+KX=RW=epam.com=prvs=30058094e3=oleksii_moisieiev@srs-se1.protection.inumbo.net>)
 id 1n5Uve-000504-Mm
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 15:43:50 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 705a2d1c-6f07-11ec-81c0-a30af7de8005;
 Thu, 06 Jan 2022 16:43:49 +0100 (CET)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 206Fhhp8021208;
 Thu, 6 Jan 2022 15:43:45 GMT
Received: from eur04-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2051.outbound.protection.outlook.com [104.47.14.51])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3ddt5mhdub-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 06 Jan 2022 15:43:44 +0000
Received: from PA4PR03MB7136.eurprd03.prod.outlook.com (2603:10a6:102:ea::23)
 by PR2PR03MB5210.eurprd03.prod.outlook.com (2603:10a6:101:24::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.7; Thu, 6 Jan
 2022 15:43:39 +0000
Received: from PA4PR03MB7136.eurprd03.prod.outlook.com
 ([fe80::85d2:c8aa:2196:21c6]) by PA4PR03MB7136.eurprd03.prod.outlook.com
 ([fe80::85d2:c8aa:2196:21c6%9]) with mapi id 15.20.4844.016; Thu, 6 Jan 2022
 15:43:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 705a2d1c-6f07-11ec-81c0-a30af7de8005
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YwudkKmYfSs0mTUSGxfk6D91SAii0tWIT4WWb4ASYqbRUZX/FbC+a+dEZ/Z+6TM/Wnh6rZVy/mIlh58I+RGJTNsluaC9C25sEOmPAe6g7BLX5q1zNheMyY+9chpBTe453p6OSnU00eHlA7lR+ZXxsNR+DtYpfEfBo8pCBAqQhia9kGZRs9AVHBjPPSUntV+ujAxVwxNiUOMMLA0gvnr4Aa0ELnicQWl7hcy7ffASTsbF1lN7zenyJkFPz2qxbCVNASC1gp68PIolvQo+6NqPqvlarMtlqClTznVcc0IR1dljZ2Ysfk8K/AUxI8r+EaKe6Fib5qnM2EYXNcPu+lXH3Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sAlntnNhoFpYfvvabp6Qniskt45Dh4DKpT7RlcdZV00=;
 b=THJ+XhHWPyssz3rIu1oNELukwo2GyZJTn111d/MrqadWg1F9/+iUAIcP518wB7dBMK9HM0eRmebwMF16UGOoQCE2HHu1cjFashXX7LsWa8y0G2BZNLTg0XGC9u/qZ4KBuk3wEQHlrzCj7eZNDN7kSXTZFqDLmvHbIeBeeWkxoaifwUz8kFtiUgoDPtAtbeTc7zxtssTfpfNx/G6BqlMHIOYNfJvV921GipOHq6PmUriFdmfqGTS1X7hp4psTvDy9p6WhO44qtYaDMi9UDXsnettM3fpOqykaIZxPri4E1z3mLH06+diWIg43SiLFV78Kpnrik73TApEiE29Cl9Ftrg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sAlntnNhoFpYfvvabp6Qniskt45Dh4DKpT7RlcdZV00=;
 b=jhNiS3FvKEsKG1d6qQB8Robv0Eqf+apegDKzgymlMu0F1s0y26RcvPpVlRheWVz+1md2U4vbKzR4ULcgFQFx3PtazNTRWsg1HFF1KM3ctxri4VCROLEmWZpLMitL0a0Yx8Jq1VT4GGwYuoEhDqHlbIBK9v/P+SIbNgHuYRolb0xSDLpS4uOFHrvrhlCtBMLP49/mm0HEo9TWj6ttIDLijCGZVSH7UHypZzzJhye82X36/bR9i/CrXiOhrNBhSEmqeSuWmXw2veXIbTvXBy0bUFldzy5dLb/ES9+4OdKR8aSGix5ot1iWScSoxre8SoshAR/o4na6oWcSTHZWWTJSqw==
From: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
To: Julien Grall <julien@xen.org>
CC: Oleksandr <olekstysh@gmail.com>,
        "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
Thread-Topic: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
Thread-Index: 
 AQHX8M3JF7Ng56/tV0+8/7pODiaWfKw2ks6AgAAeBwCAAAQPgIAABfaAgAAsl4CABKcNgIAGOOkAgAAnH4CAD3d9gIAEwfEAgAACbgCAABxaAA==
Date: Thu, 6 Jan 2022 15:43:38 +0000
Message-ID: <20220106154338.GA1460271@EPUAKYIW015D>
References: <20211217132304.GA4041869@EPUAKYIW015D>
 <04263b01-85a1-a6cf-9c36-a31629caef12@xen.org>
 <20211217135855.GA4072899@EPUAKYIW015D>
 <7924e699-5e70-6fdc-8633-6a15894d66db@xen.org>
 <20211220154127.GA1688861@EPUAKYIW015D>
 <7b0d3f0d-bdf1-ac59-0ef8-bb7ec2d802d8@xen.org>
 <20211224170243.GA1022822@EPUAKYIW015D>
 <045b2836-c95d-541b-462b-d276ae058b0d@xen.org>
 <20220106135328.GA1413532@EPUAKYIW015D>
 <55954632-e2c7-5455-6538-29c7990c8f62@xen.org>
In-Reply-To: <55954632-e2c7-5455-6538-29c7990c8f62@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 3322df6a-d398-4017-67f6-08d9d12b4f11
x-ms-traffictypediagnostic: PR2PR03MB5210:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <PR2PR03MB521038DF562C8804554033C4E34C9@PR2PR03MB5210.eurprd03.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: 
 rS4UpzGgykrG5phR1RZZYT5INTF5bv9T0Dtibz5cYjwANhEPpfWO7eTy7nnEemIoFL8WsrCX2/gevCHDD8sRk4U/q5AlHj47R77KiLITD/GEpoYyWMf7xiqMGKIncHXGANBYi1IEHL4A5f69i4JulmYCshz/C8q3bMOJzpf6v1wQ5BZnJkfgEJpCSyiBn9YZK+ZaAdm6TjZdfn0cukP6AbaY4xl5JXyVsS3SZIPeMmOz8IqYPDO6R4q7GIX2PQr+V/2aVS21RC8QPYWU5hmjj/PFnoP0xrgyWJChw6jlLji5uFjaQfdfilq4zedeN5NflEzISnL7OkB1Swgt7yjYhe0GM33t8yYW4e5bwT5ULthNJBaJnEm+5BoxC2PKZbNQveZddod/IYxlVMcTPUFDKJ0VopE5JsQv4z//sx9s4PbYy/hOTmRdscJvj5AKDqo31OhnakXDf6Bv24rg5zhCGTDHTNku7jtfvAW6GrMlINDoGfoNecskv3x1xK+WRYzuLv6FtLmNXPAttylriQjGsZJ1dnhwRuOSaC6Y0xMngM/Mfifc6jOuR9GJlQ0alJ4i23mQ0yIQK9r/X7RVZfK5frxjNaGalXE43PXzPdSWn1klcq/8i1IWAmBuGYl3QjIje5J55mscR0XDXS7qVhqGI/yYeJ2/npW2moU46j41rPC/kZV2IwF4KcS9zPPT3RrQh6OZ6xwc2xnW4H4ej+bbqA==
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR03MB7136.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(508600001)(76116006)(33656002)(71200400001)(4326008)(6916009)(6506007)(122000001)(66476007)(66556008)(8676002)(5660300002)(6486002)(6512007)(9686003)(91956017)(186003)(83380400001)(53546011)(1076003)(26005)(33716001)(38070700005)(2906002)(86362001)(66946007)(66446008)(64756008)(8936002)(316002)(54906003)(38100700002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?us-ascii?Q?3OepuhOgh3r3yWXjsWFTzdPKc8IssR2rRoL7Sdi1CimRx3AkZWEi3M8mtyV/?=
 =?us-ascii?Q?/a4Tn729fzQvss7J1Wt31s2WhRyBR1qChUHcOVV0eGcgD9OluE1089syVv/W?=
 =?us-ascii?Q?hITCi9Yw+tP7CtRo6lSBIpTU93NwmhnbMtmCacW4ijJBFS7BYE8uFGrtKIF1?=
 =?us-ascii?Q?4RAJ2TJzJayrViLkn72QbDijX7WwfaygeByKhDuq6bkyA+4UI91KSaNd9jq6?=
 =?us-ascii?Q?vFk1CwdfiEHjxZqjWMPO+jKzoWAERdm0w9+xqhrNM0exmBSkCYMrYp4cZ+XB?=
 =?us-ascii?Q?3SLkIUIBhAYXPlClcfCE2ErdtJtlmMH2Jb2WXMHutQi9Wvn7ZXwc1MpNmcxv?=
 =?us-ascii?Q?nuUHjas0UD8ohM9Ax4UpZ553V4z3smXUhWjNzS1ynr34THn7WyyXUSM4EeHT?=
 =?us-ascii?Q?rcORtATYTepnE5jTSIu8DN1iISjx5dbc53SJ585oxf1dlF5I1DFJ66FXdxKR?=
 =?us-ascii?Q?s+GPaIlPYIRZTv3Pp9JLhXkYbGW2EnqdK/BA3rouONege5ZJcfuZ0umsHVhf?=
 =?us-ascii?Q?FR3bbAA3PI8IE8tGFR8lIf8b8IdO/+g/jrzhoi0vqw9Qgt6OcuxT++MuzrS/?=
 =?us-ascii?Q?Y+nYV7DncKKHQO3juCeKEHmIwbWG6usS4xl4kAoQ0q5VEBdY+ZXnrIfnXlIO?=
 =?us-ascii?Q?bHIZkOZDOwJD8vTkECXhrBW2o8Q2f/iq0Mtk4gEANG3oLHrRC6qqJpa0FlN/?=
 =?us-ascii?Q?jTum2xbcnu3s9bQMOPlUI5f2Xt9rqtIx2ghT1mZjSBlfwdw4ECeh5GFhNNuc?=
 =?us-ascii?Q?iAj3vNNp29pskWjIvxyM3V4M+MLS6skYUwd8kRIM+nkGcphvvh2k2FrSKkqH?=
 =?us-ascii?Q?mtYhamI5igQ8StGAfmkpIjd5Z5EV359e7VpIcIoSzyyG2uStpnQbbQ4pa4F8?=
 =?us-ascii?Q?j+BY+4/Z23qzIvZmJKeiCCEt6B/Jr28SBtQdd2M3hbcJK3AemWO+1lHjQGae?=
 =?us-ascii?Q?yHP5hII0r68pM2S8z+/5XySUNSTsv33bpczDaVbnXO9aK8u7Td7BYW98IT0w?=
 =?us-ascii?Q?p9bxX8L4yMFYvgtLtD9k+NJcnY5tNv61TOI54w5iVGvJkw2inYooX8Gb73I3?=
 =?us-ascii?Q?QZcUf99LvJIUvQkDxZlu+RQR0xLjQXJ08uXhrGfR2ZZeaHwiMomPm34dxj++?=
 =?us-ascii?Q?0AwFpyQFmDeRhnOFutwy3Tx6c1YVDem1/pT10XfL2FRJdI00BOTZ/sy1zPQN?=
 =?us-ascii?Q?cySRB07+EyQdKqAFQIQkmPeCD45nVW0DjuHLRhcgBkkg8ydO5Q2VQ61ynCOR?=
 =?us-ascii?Q?3eFTzCH8BIxr+Cpa9kQiyzSRgWEbbrC5Evw4owdgm70BKJt2E/en1GQe5FZq?=
 =?us-ascii?Q?ACC0vQizYeWRAT4FdL2kXR6ee4kLp6jwm0k+If5IElt3lnyF9Y8UfWZZEDnl?=
 =?us-ascii?Q?T3M91Tztg2kCXYmgXIn7D2vEjq6xKqYlw4FNDx8Q0OAj3qX4h6Y8Z6sSuI3A?=
 =?us-ascii?Q?A8VqmXvQuTHxF/I4NitORfqXEr/di/Ei18NQ6i2dyG3canQzNEhOgrYldOI0?=
 =?us-ascii?Q?tXIFRetfpOGCypOI8xtOTyI9QB65kW9tUr4hZveH1QlqvoPN/0L3NiU1WHJC?=
 =?us-ascii?Q?W5LOReg3JsmPwmS8wS1bEHrVuUNRS0dDB/1cHlIVKyBV5+3vxN5RsPr81Ml4?=
 =?us-ascii?Q?sSb6xeSyNOzdI0rwwMxzPxwn4IAa1QmcDXUbmYA7FNctF5p8MZsX9bLcQ06w?=
 =?us-ascii?Q?TqJyAPljYHJeiuaWraWHmT1kmHs=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <4F0CA44642A0F943A562F3A67BA1BAF6@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PA4PR03MB7136.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3322df6a-d398-4017-67f6-08d9d12b4f11
X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Jan 2022 15:43:38.8881
 (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: U6XTcuDoYOoxWrOoS26cla0vLHChDztzjIKFVPGoeofZhM7oo49LPg2sGBiMmOPiHGJ/rblgFA1EGjvloHmuPJIp5qiFAnS2wnQuyT8WXMY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR2PR03MB5210
X-Proofpoint-GUID: PE8t8Kr1ttUMEW14HbpweyRVnuaAEeeo
X-Proofpoint-ORIG-GUID: PE8t8Kr1ttUMEW14HbpweyRVnuaAEeeo
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.790,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-06_06,2022-01-06_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015
 priorityscore=1501 phishscore=0 mlxscore=0 lowpriorityscore=0 adultscore=0
 impostorscore=0 suspectscore=0 bulkscore=0 malwarescore=0 spamscore=0
 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2112160000 definitions=main-2201060110

On Thu, Jan 06, 2022 at 02:02:10PM +0000, Julien Grall wrote:
>=20
>=20
> On 06/01/2022 13:53, Oleksii Moisieiev wrote:
> > Hi Julien,
>=20
> Hi,
>=20
> >=20
> > On Mon, Jan 03, 2022 at 01:14:17PM +0000, Julien Grall wrote:
> > > Hi,
> > >=20
> > > On 24/12/2021 17:02, Oleksii Moisieiev wrote:
> > > > On Fri, Dec 24, 2021 at 03:42:42PM +0100, Julien Grall wrote:
> > > > > On 20/12/2021 16:41, Oleksii Moisieiev wrote:
> > > > > > >      2) What are the expected memory attribute for the region=
s?
> > > > > >=20
> > > > > > xen uses iommu_permit_access to pass agent page to the guest. S=
o guest can access the page directly.
> > > > >=20
> > > > > I think you misunderstood my comment. Memory can be mapped with v=
arious type
> > > > > (e.g. Device, Memory) and attribute (cacheable, non-cacheable...)=
. What will
> > > > > the firmware expect? What will the guest OS usually?
> > > > >=20
> > > > > The reason I am asking is the attributes have to matched to avoid=
 any
> > > > > coherency issues. At the moment, if you use XEN_DOMCTL_memory_map=
ping, Xen
> > > > > will configure the stage-2 to use Device nGnRnE. As the result, t=
he result
> > > > > memory access will be Device nGnRnE which is very strict.
> > > > >=20
> > > >=20
> > > > Let me share with you the configuration example:
> > > > scmi expects memory to be configured in the device-tree:
> > > >=20
> > > > cpu_scp_shm: scp-shmem@0xXXXXXXX {
> > > > 	compatible =3D "arm,scmi-shmem";
> > > > 	reg =3D <0x0 0xXXXXXX 0x0 0x1000>;
> > > > };
> > > >=20
> > > > where XXXXXX address I allocate in alloc_magic_pages function.
> > >=20
> > > The goal of alloc_magic_pages() is to allocate RAM. However, what you=
 want
> > > is a guest physical address and then map a part of the shared page.
> >=20
> > Do you mean that I can't use alloc_magic_pages to allocate shared
> > memory region for SCMI?
> Correct. alloc_magic_pages() will allocate a RAM page and then assign to =
the
> guest. From your description, this is not what you want because you will
> call XEN_DOMCTL_memory_mapping (and therefore replace the mapping).
>=20

Ok thanks, I will refactor this part in v2.

> >=20
> > >=20
> > > I can see two options here:
> > >    1) Hardcode the SCMI region in the memory map
> > >    2) Create a new region in the memory map that can be used for rese=
rving
> > > memory for mapping.
> >=20
> > Could you please explain what do you mean under the "new region in the
> > memory map"?
>=20
> I mean reserving some guest physical address that could be used for map h=
ost
> physical address (e.g. SCMI region, GIC CPU interface...).
>=20
> So rather than hardcoding the address, we have something more flexible.
>=20

Ok, I will fix that in v2.

> >=20
> > >=20
> > > We still have plenty of space in the guest memory map. So the former =
is
> > > probably going to be fine for now.
> > >=20
> > > > Then I get paddr of the scmi channel for this domain and use
> > > > XEN_DOMCTL_memory_mapping to map scmi channel address to gfn.
> > > >   > Hope I wass able to answer your question.
> > >=20
> > > What you provided me is how the guest OS will locate the shared memor=
y. This
> > > still doesn't tell me which memory attribute will be used to map the =
page in
> > > Stage-1 (guest page-tables).
> > >=20
> > > To find that out, you want to look at the driver and how the mapping =
is
> > > done. The Linux driver (drivers/firmware/arm_scmi) is using devm_iore=
map()
> > > (see smc_chan_setup()).
> > >=20
> > > Under the hood, the function devm_ioremap() is using PROT_DEVICE_nGnR=
E
> > > (arm64) which is one of the most restrictive memory attribute.
> > >=20
> > > This means the firmware should be able to deal with the most restrict=
ive
> > > attribute and therefore using XEN_DOMCTL_memory_mapping to map the sh=
ared
> > > page in stage-2 should be fine.
> > >=20
> >=20
> > I'm using vmap call to map channel memory (see smc_create_channel()).
> > vmap call sets PAGE_HYPERVISOR flag which sets MT_NORMAL (0x7) flag.
>=20
> You want to use ioremap().
>=20

I've used ioremap originally, but changed it to vmap because ioremap
doesn't support memcpy.
What if I use __vmap with MT_DEVICE_nGnRE flag?

> > Considering that protocol is synchronous and only one agent per channel=
 is
> > expected - this works fine for now.
> > But I agree that the same memory attributes should be used in xen and
> > kernel. I fill fix that in v2.
>=20
> I am a bit confused. Are you mapping the full shared memory area in Xen? =
If
> yes, why do you need to map the memory that is going to be shared with a
> domain?
>=20

Xen should have an access to all agent channels because it should send
SCMI_BASE_DISCOVER_AGENT to each channel and receive agent_id during
scmi_probe call.


Best regards,

Oleksii=


From xen-devel-bounces@lists.xenproject.org Thu Jan 06 15:54:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 15:54:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254129.435678 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5V69-0006Vs-Kw; Thu, 06 Jan 2022 15:54:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254129.435678; Thu, 06 Jan 2022 15: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 1n5V69-0006Vl-Hc; Thu, 06 Jan 2022 15:54:41 +0000
Received: by outflank-mailman (input) for mailman id 254129;
 Thu, 06 Jan 2022 15:54:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZpKN=RW=gmail.com=d.vrabel.98@srs-se1.protection.inumbo.net>)
 id 1n5V68-0006Vf-8c
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 15:54:40 +0000
Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com
 [2a00:1450:4864:20::432])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f3f5650e-6f08-11ec-9ce5-af14b9085ebd;
 Thu, 06 Jan 2022 16:54:38 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id a5so1685335wrh.5
 for <xen-devel@lists.xenproject.org>; Thu, 06 Jan 2022 07:54:38 -0800 (PST)
Received: from banana.davidvrabel.org.uk (banana.davidvrabel.org.uk.
 [82.70.146.42])
 by smtp.googlemail.com with ESMTPSA id m10sm2083608wms.25.2022.01.06.07.54.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 06 Jan 2022 07:54:37 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: f3f5650e-6f08-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=sender:from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=AffgayRFGxfGG5c5Zpyu4eMtV7zqoLa5C0p4l3Kktzw=;
        b=TFulrUcHuiwlbTJGamVzss6Z7Q+Fo8f1FyEi0WEA/fA4T/dQZIzbYi4rMRhzkE2HnL
         WojIcaQUTKhpVxtfV9CZPUPeB4fTRfJ7wUN7VWHYvW1NnJjNZt7bvoTOiK6MQnpdTyH2
         MzajXkdCMsZI8IQh8J3JXXKBxSAxqPZPyjVuO2bx+JH1zKT+nYtJQHvaz4ErY/Iohw2z
         EUihaBPweHGtv6XJjGrsOja2zCZ6rIOQXqP0UsCpxWPb9xpWs2Jz0ayoJ5O4cEogkMfK
         3b5vLHknrSO9rYbhJRNEbUn4npnVxgz2hBCAhcggKmfXTJdLuqA4EkZtLTybViNok0CR
         vBcw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:sender:from:to:cc:subject:date:message-id
         :mime-version:content-transfer-encoding;
        bh=AffgayRFGxfGG5c5Zpyu4eMtV7zqoLa5C0p4l3Kktzw=;
        b=mFlE//UAUoCKe5OJbXsukOiiN9aTltsUC5HMv6CY7pktzNVpYBMBaFTAsAAloneH1f
         CRWBf0/Ainakvv8wSB7VxCW74TDA0yBRqx0LsoMzIn1DnIVGkVNaVBOeTS/QS3uuIqNb
         z1N/HdD/g9CI0o0own3Rz0iyrhoC3a6U46MZSHixglbmrPpmONk2CnFChbk4Et0/L/C7
         aMU6K632/dtfTyt3Wca9uCvzMg2Z4yroNUJePPoTcOC1rf41TyHskY5gO67ef92HDNtx
         NC6RVZVgNJaxSKMWa/MVxtVK8YKuuYSCEHluUk4XSJI4UNAevQqBlZH/ezAzH/2hlLp0
         ztVw==
X-Gm-Message-State: AOAM532rn5bBtXj+nZnkqlXbj2w54mGplmQZw9oui5qOfDsizYYwRmjv
	5bnScOYHjd5AZxRwEgMmrGhctYd7IE7HGQ==
X-Google-Smtp-Source: ABdhPJywC4KH/+j/gJvn2kUt5bOO8i1b8n1oTe2CUGBT6RCry/lQQ/CLz/M0rgWGaMyu7vwEaE0Udg==
X-Received: by 2002:a5d:64aa:: with SMTP id m10mr52981257wrp.500.1641484478315;
        Thu, 06 Jan 2022 07:54:38 -0800 (PST)
Sender: David Vrabel <d.vrabel.98@gmail.com>
From: David Vrabel <dvrabel@cantab.net>
X-Google-Original-From: David Vrabel <dvrabel@amazon.co.uk>
To: xen-devel@lists.xenproject.org
Cc: David Vrabel <dvrabel@amazon.co.uk>
Subject: [PATCH] x86/hvm: add more callback/upcall info to 'I' debug key
Date: Thu,  6 Jan 2022 15:46:47 +0000
Message-Id: <20220106154647.159625-1-dvrabel@amazon.co.uk>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Include the type of the callback via and the per-VCPU upcall vector.

Signed-off-by: David Vrabel <dvrabel@amazon.co.uk>
---
 xen/arch/x86/hvm/irq.c | 31 +++++++++++++++++++++++++++----
 1 file changed, 27 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/hvm/irq.c b/xen/arch/x86/hvm/irq.c
index 52aae4565f..6a1edb99f2 100644
--- a/xen/arch/x86/hvm/irq.c
+++ b/xen/arch/x86/hvm/irq.c
@@ -598,7 +598,9 @@ int hvm_local_events_need_delivery(struct vcpu *v)
 static void irq_dump(struct domain *d)
 {
     struct hvm_irq *hvm_irq = hvm_domain_irq(d);
-    int i; 
+    int i;
+    struct vcpu *v;
+
     printk("Domain %d:\n", d->domain_id);
     printk("PCI 0x%16.16"PRIx64"%16.16"PRIx64
            " ISA 0x%8.8"PRIx32" ROUTE %u %u %u %u\n",
@@ -630,9 +632,30 @@ static void irq_dump(struct domain *d)
            hvm_irq->pci_link_assert_count[1],
            hvm_irq->pci_link_assert_count[2],
            hvm_irq->pci_link_assert_count[3]);
-    printk("Callback via %i:%#"PRIx32",%s asserted\n",
-           hvm_irq->callback_via_type, hvm_irq->callback_via.gsi, 
-           hvm_irq->callback_via_asserted ? "" : " not");
+    for_each_vcpu( d, v )
+    {
+        if ( v->arch.hvm.evtchn_upcall_vector )
+            printk("%pv: upcall vector: %u\n",
+                   v, v->arch.hvm.evtchn_upcall_vector);
+    }
+    switch( hvm_irq->callback_via_type )
+    {
+    case HVMIRQ_callback_none:
+        printk("Callback via none\n");
+        break;
+    case HVMIRQ_callback_gsi:
+        printk("Callback via GSI %u\n", hvm_irq->callback_via.gsi);
+        break;
+    case HVMIRQ_callback_pci_intx:
+        printk("Callback via PCI dev %u INTx %u\n",
+               hvm_irq->callback_via.pci.dev,
+               hvm_irq->callback_via.pci.intx);
+        break;
+    case HVMIRQ_callback_vector:
+        printk("Callback via vector %u\n", hvm_irq->callback_via.vector);
+        break;
+    }
+    printk("  %s asserted\n", hvm_irq->callback_via_asserted ? "" : " not");
 }
 
 static void dump_irq_info(unsigned char key)
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Thu Jan 06 15:55:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 15:55:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254130.435689 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5V6O-0006sw-Sf; Thu, 06 Jan 2022 15:54:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254130.435689; Thu, 06 Jan 2022 15:54:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5V6O-0006sp-Pm; Thu, 06 Jan 2022 15:54:56 +0000
Received: by outflank-mailman (input) for mailman id 254130;
 Thu, 06 Jan 2022 15:54:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZpKN=RW=gmail.com=d.vrabel.98@srs-se1.protection.inumbo.net>)
 id 1n5V6N-0006pY-N8
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 15:54:55 +0000
Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com
 [2a00:1450:4864:20::42a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fd2b9a6a-6f08-11ec-81c0-a30af7de8005;
 Thu, 06 Jan 2022 16:54:54 +0100 (CET)
Received: by mail-wr1-x42a.google.com with SMTP id s1so5647303wra.6
 for <xen-devel@lists.xenproject.org>; Thu, 06 Jan 2022 07:54:54 -0800 (PST)
Received: from banana.davidvrabel.org.uk (banana.davidvrabel.org.uk.
 [82.70.146.42])
 by smtp.googlemail.com with ESMTPSA id v1sm2774524wru.45.2022.01.06.07.54.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 06 Jan 2022 07:54:53 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: fd2b9a6a-6f08-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=sender:from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=y1AW0BkZyzFhqk7ZQ0mbG8t/G0BRb4GlhbFQWQ0tl5w=;
        b=cqcKsDPBgXFnYf1kDMAsmJa7bD7RWidSMLCUCHO2+EvKOih+qt+XxLBXyBjfqYy34h
         5rMYwp6PLrZ3sT9vzBgRBM6RAukjJ+IsqRNm2Vu1d+EKkMzbdFhxzP7tr84zp4bRlsAu
         DvtwQW9TUPM7Ie2k+VOOiStR56kvZgOkNziBLQhhQHCY0plbKIuSg447dyXZhrvgIh9Y
         j67GTVGCagKp9rFWeJw1+utN2a9+RGWyiPgTzMZ9te7Rx3dj4Rlf9aCDYsgj+Yojl+Jo
         Ob6JHYawZdD2b2XLfOZIWg3FQqjzGu/YK5h27oEJwhDzcRU8qGIuCoAFoP5O6JJyxoXM
         oblw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:sender:from:to:cc:subject:date:message-id
         :mime-version:content-transfer-encoding;
        bh=y1AW0BkZyzFhqk7ZQ0mbG8t/G0BRb4GlhbFQWQ0tl5w=;
        b=lfzhxhaK28IGnd/N/Oqq13aQ6UQmcxMPKIDspXqC9vaTYqqSiZDiC7KNHizI8KmNej
         +BtLC5453S2fR4+mUit1TjME+vk4EylVa6f/u/yPDOwcViWFZelKqUZPKuBY2p8BJY0Q
         NORXX+YFexXf84sRhwMz5x7nR87gjIbJ7yCE3ZaXWyJg5YOa8+zKe25vwslW9qAZ4vhr
         N0fTLQ1NPQqcO2GJ400TS/f9dDIhSySdKNyAmUOfjis958VPm3rwsyfUzlno0MZEaoHb
         VRa2WRcqVdXk+YhQkS7jy1G89Ugz4Z/QlAD9IqWCYjv1VfvnSyPyyT/aYf2hixCI9Iwh
         EDrw==
X-Gm-Message-State: AOAM530tFQN2nSqtVkIixzRegBQQMHcZ1XWbE2tRFyewDhJHurQ58qWo
	iZUEfFy7OCGUI/etSG8v4+6meKeyKfGyCA==
X-Google-Smtp-Source: ABdhPJyUkplSOvtSJcQtPcVLuZMvW2US/LY03x54luf3G8JxzeScmUp2AVbO8pVnsQVHBy8tBs4VuA==
X-Received: by 2002:a5d:4690:: with SMTP id u16mr53266077wrq.321.1641484493683;
        Thu, 06 Jan 2022 07:54:53 -0800 (PST)
Sender: David Vrabel <d.vrabel.98@gmail.com>
From: David Vrabel <dvrabel@cantab.net>
X-Google-Original-From: David Vrabel <dvrabel@amazon.co.uk>
To: xen-devel@lists.xenproject.org
Cc: David Vrabel <dvrabel@amazon.co.uk>
Subject: [PATCH] x86/hvm: save/restore per-VCPU event channel upcall vector
Date: Thu,  6 Jan 2022 15:54:42 +0000
Message-Id: <20220106155442.160258-1-dvrabel@amazon.co.uk>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The Windows XENBUS driver sets the per-VCPU LAPIC vector for event
channel interrupts using the HVMOP_set_evtchn_upcall_vector hypercall
(rather than using a vector-type callback in the CALLBACK_IRQ HVM
parameter since the vectors might be different for different VCPUs).

This state needs to be saved/restored or a restored guest may not be
able to get an event channel interrupts.

Note that the Windows XENBUS driver workarounds this by reissuing the
hypercall when resuming after a migration, but this workaround would
not be possible in an guest transparent live migration or a live
update.

Signed-off-by: David Vrabel <dvrabel@amazon.co.uk>
---
 xen/arch/x86/hvm/hvm.c                 | 50 ++++++++++++++++++++++++--
 xen/include/public/arch-x86/hvm/save.h | 12 ++++++-
 2 files changed, 58 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 350dc396e3..be2e676c4a 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -4071,6 +4071,52 @@ static int hvmop_flush_tlb_all(void)
     return paging_flush_tlb(NULL) ? 0 : -ERESTART;
 }
 
+static void hvm_set_evtchn_upcall_vector(struct vcpu *v, uint8_t vector)
+{
+    printk(XENLOG_G_INFO "%pv: upcall vector %02x\n", v, vector);
+
+    v->arch.hvm.evtchn_upcall_vector = vector;
+    hvm_assert_evtchn_irq(v);
+}
+
+static int hvm_save_evtchn_upcall_vector(
+    struct vcpu *v, hvm_domain_context_t *h)
+{
+    struct hvm_evtchn_upcall_vector upcall;
+
+    /* Skip record if VCPU is down or the upcall vector is not used. */
+    if ( test_bit(_VPF_down, &v->pause_flags) )
+        return 0;
+    if ( v->arch.hvm.evtchn_upcall_vector == 0 )
+        return 0;
+
+    upcall.vector = v->arch.hvm.evtchn_upcall_vector;
+
+    return hvm_save_entry(EVTCHN_UPCALL_VECTOR, v->vcpu_id, h, &upcall);
+}
+
+static int hvm_load_evtchn_upcall_vector(
+    struct domain *d, hvm_domain_context_t *h)
+{
+    unsigned int vcpuid;
+    struct vcpu *v;
+    struct hvm_evtchn_upcall_vector upcall;
+
+    vcpuid = hvm_load_instance(h);
+    if ( (v = domain_vcpu(d, vcpuid)) == NULL )
+        return -EINVAL;
+
+    if ( hvm_load_entry(EVTCHN_UPCALL_VECTOR, h, &upcall) != 0 )
+        return -EINVAL;
+
+    hvm_set_evtchn_upcall_vector(v, upcall.vector);
+
+    return 0;
+}
+
+HVM_REGISTER_SAVE_RESTORE(EVTCHN_UPCALL_VECTOR, hvm_save_evtchn_upcall_vector,
+                          hvm_load_evtchn_upcall_vector, 1, HVMSR_PER_VCPU);
+
 static int hvmop_set_evtchn_upcall_vector(
     XEN_GUEST_HANDLE_PARAM(xen_hvm_evtchn_upcall_vector_t) uop)
 {
@@ -4090,10 +4136,8 @@ static int hvmop_set_evtchn_upcall_vector(
     if ( (v = domain_vcpu(d, op.vcpu)) == NULL )
         return -ENOENT;
 
-    printk(XENLOG_G_INFO "%pv: upcall vector %02x\n", v, op.vector);
+    hvm_set_evtchn_upcall_vector(v, op.vector);
 
-    v->arch.hvm.evtchn_upcall_vector = op.vector;
-    hvm_assert_evtchn_irq(v);
     return 0;
 }
 
diff --git a/xen/include/public/arch-x86/hvm/save.h b/xen/include/public/arch-x86/hvm/save.h
index 773a380bc2..177cb09150 100644
--- a/xen/include/public/arch-x86/hvm/save.h
+++ b/xen/include/public/arch-x86/hvm/save.h
@@ -641,12 +641,22 @@ struct hvm_msr {
 
 #define CPU_MSR_CODE  20
 
+/**
+ * Per-VCPU event channel upcall vector as set by
+ * HVMOP_set_evtchn_upcall_vector hypercall.
+ */
+struct hvm_evtchn_upcall_vector {
+    uint8_t vector;
+};
+
+DECLARE_HVM_SAVE_TYPE(EVTCHN_UPCALL_VECTOR, 21, struct hvm_evtchn_upcall_vector);
+
 /* Range 22 - 34 (inclusive) reserved for Amazon */
 
 /*
  * Largest type-code in use
  */
-#define HVM_SAVE_CODE_MAX 20
+#define HVM_SAVE_CODE_MAX 21
 
 #endif /* __XEN_PUBLIC_HVM_SAVE_X86_H__ */
 
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Thu Jan 06 16:01:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 16:01:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254140.435701 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5VCM-0000d2-Js; Thu, 06 Jan 2022 16:01:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254140.435701; Thu, 06 Jan 2022 16:01:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5VCM-0000cv-Gc; Thu, 06 Jan 2022 16:01:06 +0000
Received: by outflank-mailman (input) for mailman id 254140;
 Thu, 06 Jan 2022 16:01:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=a8QS=RW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n5VCL-0000cp-Vb
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 16:01:05 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d9c8117c-6f09-11ec-81c0-a30af7de8005;
 Thu, 06 Jan 2022 17:01:04 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2104.outbound.protection.outlook.com [104.47.18.104]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-10-elB51hxaMmubEzz77i6TPw-1; Thu, 06 Jan 2022 17:01:03 +0100
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.4867.7; Thu, 6 Jan
 2022 16:01:01 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.017; Thu, 6 Jan 2022
 16:01:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d9c8117c-6f09-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641484864;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=tKhCCh0AFmvjkEUf+eM5tBqk8NLrqZ5CSvwor2o6/rM=;
	b=OKmyaoXvczIc4gGqcXaad3ZaozUtwvWTQazOd3O56KiWLq59WfI+zN0opI2ZN8d2nqntsI
	9KFRCiLK7zAGLe2PTtOE+S07zLw7xNdEZK/9a0V+gQqGOas+esGqzT/JTmbBBplWw6qbuE
	g8TCkQnol6wAcpBeOZMJLPomYY/2RJo=
X-MC-Unique: elB51hxaMmubEzz77i6TPw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nvCpeCf3WqcgGm/38I+rtN+5WL+adhEy68QM/nFytRJ1wDFcxnfWUaP+bObguTxX6i2BDOIC7+ITsyTVjBbH1VCrbOvLctcMbLAo5JXW66HNO0de0dbyuVGCsam4J9/PmUBGYHkztcB6+DiXiiv4FOA/ByX1T3ysQmOVatA1YJh0CMZ61k2W5gOZ9LU/UFGkH44sRKoWJMjw4oo6mu2BWzIXHK078feEbGgiPEcvaizt8J1xEtZF2GCxCHtf1zEvSlBYhx63/qmWEqY5XHnHhN9ec/VtFVYL0298QwN7S3LFlUPnTgQc+hFzzu4/HaHISLpEHoQZEy8rdjNhSougyw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tKhCCh0AFmvjkEUf+eM5tBqk8NLrqZ5CSvwor2o6/rM=;
 b=mwUkxQiZhwmBLScAA0iJ6EkP3LECeYGoSt23o/iKS4YRve15jD7WLiewrjE2/3ecXCgx8/5okqKe4dK+NMLnFBaHVAVh5i46S2iGrzGNivmXgh9qGL8xLzDzOHclcyadvGHlWx2reonkz6EBfUOiLLpRXCNBIVYZC8I2Pd+zVvekAs5FoovE8Y/OkhoOWEE13UxzvL008Lh91vT7tjMdwXHMW+3L1Uz/uBV/T0mOyVOCKzu0u/eRPIUcFkgg17RgiPtjc19wIPGJLs5D4VKk+HZcuwJEZyeXzPBBzySKsYiWuE6O6a4m3sBQtg9v1eOE3ZY3uMrghfGbtDAMHvsebw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <76c0e41b-f0a0-60e5-f2b4-d19724ee2db2@suse.com>
Date: Thu, 6 Jan 2022 17:00:59 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: xen 4.14.3 incorrect (~3x) cpu frequency reported
Content-Language: en-US
To: James Dingwall <james-xen@dingwall.me.uk>
Cc: alexander.rossa@ncr.com, xen-devel@lists.xenproject.org
References: <20210721092958.GA2502468@dingwall.me.uk>
 <c9c6778d-9823-4b07-fb48-604acef1f3de@suse.com>
 <20210726123332.GA3844057@dingwall.me.uk>
 <06be7360-0235-3773-b833-3e0d65512092@suse.com>
 <20211105152501.GA485838@dingwall.me.uk>
 <20220106150809.GA856484@dingwall.me.uk>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220106150809.GA856484@dingwall.me.uk>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0363.eurprd06.prod.outlook.com
 (2603:10a6:20b:460::23) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b20c7463-0e72-457b-0116-08d9d12dbc3c
X-MS-TrafficTypeDiagnostic: VI1PR04MB4190:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB41905DBB16D5574704AA541DB34C9@VI1PR04MB4190.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:
	kxI1zioqHC1mx/bqPCXjX/4HxDjc0xjUXQuguPO2ezNVfU7D0/enXMQ29PHYc/OgK1hfYeKz76zzZdxkPC2+cDqmoEcf9l6b4ff9FENxrzp+m7idLwj522J4KRT+YR8fL6lE5UltE6DzsWYBry1s8d8vN/Rwg50FHboz3GWepvJozQ4hDF6sc92931ED/dWI7jbdZS25+hogOnNG/El0fl/iXaQXLSMgL8YM63yTsU6uasAxOB99El1+PgELP/xtsWIaqRb+F1qOEVTu27ladq66OphDhJLRDMj4fAYTUX8QSvD89/pRUvuauOqEFJ6kVeBJN79yQeNMtmFt+IMFzkuCm7mD3V3uUJ+v5xFc62b6smrSRleOBJmwN+zCEmFekpDfuVUPilJ5PyIrdR466ZbDzMnZEc0j2PdaL5glVJsY+mVEd2/jLkx/BFdkoUbnCYQbU/+Fph7Aq1ZVfZ1OfHbl4px7Amih51Jfg1VlELJh0UIEfkryvxUIC+UFMNMLT5O9F8diBdllOF1VrmmVVOMeFChFQjC3ssk6KkVSkTZdFXjFOJTZMt/1LoG5BZ+rgkiaF7ekxDRlbQgXFIF158r/Mh73WNYGVcPzLIrpCmowvgC8yiAe8VQffl8KgVbh3DM+HSBK4pRJLCJaqBfmQ1qMxP+qGQ6Im4w9JsddvLCnYP6Y6pd3lGtWaBPJIWi15YbtHiu3xR8SASwT+syXhn7jHsRPxMkzYJMqopkXA3e33dqMsviQQhsVhu/So+lA
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)(6506007)(5660300002)(6916009)(31696002)(186003)(316002)(83380400001)(6512007)(53546011)(31686004)(6486002)(2906002)(8676002)(86362001)(38100700002)(8936002)(26005)(4326008)(66556008)(66476007)(36756003)(2616005)(66946007)(508600001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dFJNSlF5a0pDRXpSK1BrTThMUUl6R1ZOclY4ZlBZbnY5RjFROWFwd2srUkpU?=
 =?utf-8?B?a1F3VjZCSkxNdExhaHZnaEEyRlQvOWxNNm5xcDJDdFh6ZGVmOTJySENwMGYz?=
 =?utf-8?B?alk1am0wSU0ramUwSGJaK1U1bjBubHF0WE4yMHFjZzdFOThLOTdTcTlCZXp2?=
 =?utf-8?B?bU1QNXZHamhWbTRSZXE3Q1M0MXRiTkxHZmpzK0l3SHBJZ1pVaW5yTXVFVUVj?=
 =?utf-8?B?NXoyNlJTcTY2aHVPZUorOUQwTE5GUXQzUkhYWlBrU01RdEY4R3MwQ0xiaklP?=
 =?utf-8?B?WjFRbXhnRlBEbG5yTGNTaHpVTFRWL0U2Y212Mm9vcCtwMWpMWEJPYUpjRUNP?=
 =?utf-8?B?Z3V1VWRoQ1ZRcjdNNlhieWZlMW84N1VQaHdzWEw4aTZsZjU1YkRwc1pacm1O?=
 =?utf-8?B?ZHM5YlRPZUpFZmVsVTVvcnZjS0U4RFkxamIwYnl4QkdpUENyczZuK0thSnk1?=
 =?utf-8?B?MWdJY1dnZFdLejN4RVM0M2Q4eTQ3QWxaRkZKd0dsQUJxWjgwRDdRREVWSGN5?=
 =?utf-8?B?WEluMXlrNnp4OHJwNUtqYmQ5aWptR3FSa0RHTjlhWDlzZGY4STlTWG0vK2pF?=
 =?utf-8?B?UHZrOWRYWWhGUklpMUxxR3RiUXRWUzM5VWhsajlLRHdPUlh1L2hYdGVYcjNG?=
 =?utf-8?B?R3k5ZkkrUFVvcGh1a3cvTDYwM2RqMWVTa0R1Y0ZqYXMxelNGUklaTTV2TlZ6?=
 =?utf-8?B?QWNKZ2syM1hiYnNsczlUY3M3Z01yelZQTWNqMFpoanFONE41RTlaa0JSR2Rs?=
 =?utf-8?B?WEJMQTB6bzN2dEFudHVzd2VWSXBIQmJ6N0lHSzhBSy9UbXoveHBRbkthRS9x?=
 =?utf-8?B?ZXlFVWlSZXhaRGhKZERQNXVsbTU3UDk5OW5ia2wrL0QydTlOMjNZdDU4TlRt?=
 =?utf-8?B?anYwQW5WZW45bXNIcUp6WndpdmVyTGhHSFp2ajVDYUdWWTlqSkVER29VUHdo?=
 =?utf-8?B?cWF5M0x5UmdkajFURkJkeTQ0UkZBbWticTZSQW8vZVY3SjNRREdHL3JzaWhp?=
 =?utf-8?B?M2ZkN1l1dzYwbXRicFJyS3AxZ1pBZUhSZ3hGOTA4dk5yV0Nwb1ZyM3V3L3ZN?=
 =?utf-8?B?cE83TVUwM3FGWkxzWXlLTmZsZ3JnSnc1YWV4OXNyc0V6WE5jeWphZmhZaGYx?=
 =?utf-8?B?RzhsbG93SEFLaVVwNDl0ZDZaNkkvaUI1Q3FJa2VQMUpxR3ZCVHVJTDVORGlB?=
 =?utf-8?B?UWJxYlFmZE1mTXlPUlRaRmk1T3RvVWNpVWJKcnUveGNwQnBJdzF0THNvNUI3?=
 =?utf-8?B?N3RNSGtQZ2NuUTJoQTM3SnFQbTZsbTR3a3J2Y0ZEbUZEdUJYZ2ZocVBVTURL?=
 =?utf-8?B?UGc2ZkthcmNiNDBVU1hlSncvV3hyMnZiOHVMSER6ZzZzZ1NXSzdIcFB4bm15?=
 =?utf-8?B?ZUdLaUcwMDdQNUJyY1ZpZnc4Wno4Rk9UbHc2dzVQZG1UWFBjMk45VGp5YU5T?=
 =?utf-8?B?QS9rc2NZUi9SbGN4YVZibjB0ZGUrQ3ZnOHd0ZkcxVmNwdkJqbVFTc2x4T1V6?=
 =?utf-8?B?OUltTS8xYnErL0tGUmU1dUJFbWU1L3JobHdLV0FiNnFKb25MTDd1MEdIWUxz?=
 =?utf-8?B?QzFMU1ZlTmRrZXZ3R3RnS2h2OXQ1clRDdVIrT2hKNC80S213aU44bTNablY4?=
 =?utf-8?B?Nyt1UHo4ZXlFV2s2WWsvODJOTDNsenFDN2FxcHJFNVUwN2Jmb1JYT1ZjL2xS?=
 =?utf-8?B?aDdJWHI3Q2xrbXhna0ROV3ZwYUtOSmt3ZTBkVDBMbExEbTNvOFVuOEEyaHgw?=
 =?utf-8?B?dW51MCtxUlZXZWtJVk54QVcyUE5Ed01uSkNJRnpqSzdyb2pjVVBlV0NQU2pG?=
 =?utf-8?B?Z09MVW5QKzVHdTFuK0lkK21NR3BTUjErenNqUVpicU9DVjBSaTI4MVY0eElQ?=
 =?utf-8?B?K0l3VjNBM3hZYWI4WHJNemdUalFpQi9kNFl4UXpiaUhiL2kyakFUdjRzRlZw?=
 =?utf-8?B?YnB1SldKQkZSdEZiK1ZJa0FUSU5RS0l3TXFWSmhoVkVnUDFma3Rwell2c2pi?=
 =?utf-8?B?cHNXYS8wYThLTk9kNXBjbTRtQUo3TjFlZUhtMDlqRFpGaURzY243S2pneVdy?=
 =?utf-8?B?VkVHcUx3dnFVR2ZNWlBpNEczTmNtdk41Y0JIZnZuRWY2N3h0cGpMNkhTeGtV?=
 =?utf-8?B?R2tIcUVDSm9LenVrNHFQa3lEbzRFRmh6dXRoL2VONmlqM3d3QkdGS2JudVd2?=
 =?utf-8?Q?zQKnzwtVCZgW7PsDqvZYacg=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b20c7463-0e72-457b-0116-08d9d12dbc3c
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jan 2022 16:01:01.3047
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: htWmOWuwVU3HRMt/EmvUpiML/TSGrKetzDsoNG9Wp+JpMDkr9xbTprGpOyw2UOIXh38odIddl6IhSAcG6j8zpw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4190

On 06.01.2022 16:08, James Dingwall wrote:
>>> On Wed, Jul 21, 2021 at 12:59:11PM +0200, Jan Beulich wrote:                                                                            
>>>> On 21.07.2021 11:29, James Dingwall wrote:                                                                                             
>>>>> We have a system which intermittently starts up and reports an incorrect cpu frequency:                                               
> ...
>>> I'm sorry to ask, but have you got around to actually doing that? Or
>>> else is resolving this no longer of interest?
> 
> We have experienced an occurence of this issue on 4.14.3 with 'loglvl=all'
> present on the xen command line.  I have attached the 'xl dmesg' output for
> the fast MHz boot, the diff from the normal case is small so I've not added
> that log separately:
> 
> --- normal-mhz/xl-dmesg.txt     2022-01-06 14:13:47.231465234 +0000
> +++ funny-mhz/xl-dmesg.txt      2022-01-06 13:45:43.825148510 +0000
> @@ -211,7 +211,7 @@
>  (XEN)  cap enforcement granularity: 10ms
>  (XEN) load tracking window length 1073741824 ns
>  (XEN) Platform timer is 24.000MHz HPET
> -(XEN) Detected 2294.639 MHz processor.
> +(XEN) Detected 7623.412 MHz processor.
>  (XEN) EFI memory map:
>  (XEN)  0000000000000-0000000007fff type=3 attr=000000000000000f
>  (XEN)  0000000008000-000000003cfff type=7 attr=000000000000000f
> @@ -616,6 +616,7 @@
>  (XEN) PCI add device 0000:b7:00.1
>  (XEN) PCI add device 0000:b7:00.2
>  (XEN) PCI add device 0000:b7:00.3
> +(XEN) Platform timer appears to have unexpectedly wrapped 10 or more times.
>  (XEN) [VT-D]d0:PCIe: unmap 0000:65:00.2
>  (XEN) [VT-D]d32753:PCIe: map 0000:65:00.2
>  (XEN) [VT-D]d0:PCIe: unmap 0000:65:00.1

Thanks. In an earlier mail the reported value was 6895.384 MHz, but I
guess that was on a different system (with a base freq of 2200 MHz).
I wonder how stable the too high value is ...

For the moment I have only one possibly explanation: A SMI hitting in
the middle of the tail of init_hpet() (or init_pmtimer()), taking long
enough to cause the function to return way too large a number. With a
50ms calibration period that would be about 166ms. I vaguely recall
having heard of SMI potentially taking this long.

While I can see ways to reduce the likelihood of hitting the issue,
for now I lack a good idea how to avoid the problem altogether. I'll
try to get around to at least put together a debugging patch to
hopefully confirm the vague theory.

Jan

> I also have the dom0 kernel dmesg available if that would be useful but I've
> left it off initially because the log is quite large.  I don't see much in
> the diff between boots except where speed/times are reported and where things
> are initialised in a slightly different order.
> 
> Thanks,
> James



From xen-devel-bounces@lists.xenproject.org Thu Jan 06 16:04:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 16:04:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254146.435711 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5VFm-0001K9-7x; Thu, 06 Jan 2022 16:04:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254146.435711; Thu, 06 Jan 2022 16:04:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5VFm-0001K2-4s; Thu, 06 Jan 2022 16:04:38 +0000
Received: by outflank-mailman (input) for mailman id 254146;
 Thu, 06 Jan 2022 16:04:37 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1n5VFl-0001Jt-0k
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 16:04:37 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1n5VFk-0008BU-NI; Thu, 06 Jan 2022 16:04:36 +0000
Received: from [54.239.6.184] (helo=[192.168.20.220])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1n5VFk-000434-HI; Thu, 06 Jan 2022 16:04:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=g2pHpBzIchBGy91Y6oUrUXByn3LRPeRyYuN4azWyzio=; b=Kk01lNo/jVyPNi7Kr6U4dSXibY
	zUqnufwDmmm5du6M4PSVfwpEHJKlnyvS9nAOiu3cj1og/NMDWWt1oOxFoik7OJz8RKxZfuV4RMO+j
	uSnMthXSYZKX2GndyFmuJMMej+RFNietB2n0YFS6SX+JPMnIp0cr2OE9d6j+6zXkpFN0=;
Message-ID: <548d4954-96bf-6522-6cfc-98b4a0e02b51@xen.org>
Date: Thu, 6 Jan 2022 16:04:34 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.4.1
Subject: Re: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
To: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
Cc: Oleksandr <olekstysh@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <20211217132304.GA4041869@EPUAKYIW015D>
 <04263b01-85a1-a6cf-9c36-a31629caef12@xen.org>
 <20211217135855.GA4072899@EPUAKYIW015D>
 <7924e699-5e70-6fdc-8633-6a15894d66db@xen.org>
 <20211220154127.GA1688861@EPUAKYIW015D>
 <7b0d3f0d-bdf1-ac59-0ef8-bb7ec2d802d8@xen.org>
 <20211224170243.GA1022822@EPUAKYIW015D>
 <045b2836-c95d-541b-462b-d276ae058b0d@xen.org>
 <20220106135328.GA1413532@EPUAKYIW015D>
 <55954632-e2c7-5455-6538-29c7990c8f62@xen.org>
 <20220106154338.GA1460271@EPUAKYIW015D>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220106154338.GA1460271@EPUAKYIW015D>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 06/01/2022 15:43, Oleksii Moisieiev wrote:
> On Thu, Jan 06, 2022 at 02:02:10PM +0000, Julien Grall wrote:
>>
>>
>> On 06/01/2022 13:53, Oleksii Moisieiev wrote:
>>> Hi Julien,
>>
>> Hi,
>>
>>>
>>> On Mon, Jan 03, 2022 at 01:14:17PM +0000, Julien Grall wrote:
>>>> Hi,
>>>>
>>>> On 24/12/2021 17:02, Oleksii Moisieiev wrote:
>>>>> On Fri, Dec 24, 2021 at 03:42:42PM +0100, Julien Grall wrote:
>>>>>> On 20/12/2021 16:41, Oleksii Moisieiev wrote:
>>>>>>>>       2) What are the expected memory attribute for the regions?
>>>>>>>
>>>>>>> xen uses iommu_permit_access to pass agent page to the guest. So guest can access the page directly.
>>>>>>
>>>>>> I think you misunderstood my comment. Memory can be mapped with various type
>>>>>> (e.g. Device, Memory) and attribute (cacheable, non-cacheable...). What will
>>>>>> the firmware expect? What will the guest OS usually?
>>>>>>
>>>>>> The reason I am asking is the attributes have to matched to avoid any
>>>>>> coherency issues. At the moment, if you use XEN_DOMCTL_memory_mapping, Xen
>>>>>> will configure the stage-2 to use Device nGnRnE. As the result, the result
>>>>>> memory access will be Device nGnRnE which is very strict.
>>>>>>
>>>>>
>>>>> Let me share with you the configuration example:
>>>>> scmi expects memory to be configured in the device-tree:
>>>>>
>>>>> cpu_scp_shm: scp-shmem@0xXXXXXXX {
>>>>> 	compatible = "arm,scmi-shmem";
>>>>> 	reg = <0x0 0xXXXXXX 0x0 0x1000>;
>>>>> };
>>>>>
>>>>> where XXXXXX address I allocate in alloc_magic_pages function.
>>>>
>>>> The goal of alloc_magic_pages() is to allocate RAM. However, what you want
>>>> is a guest physical address and then map a part of the shared page.
>>>
>>> Do you mean that I can't use alloc_magic_pages to allocate shared
>>> memory region for SCMI?
>> Correct. alloc_magic_pages() will allocate a RAM page and then assign to the
>> guest. From your description, this is not what you want because you will
>> call XEN_DOMCTL_memory_mapping (and therefore replace the mapping).
>>
> 
> Ok thanks, I will refactor this part in v2.
> 
>>>
>>>>
>>>> I can see two options here:
>>>>     1) Hardcode the SCMI region in the memory map
>>>>     2) Create a new region in the memory map that can be used for reserving
>>>> memory for mapping.
>>>
>>> Could you please explain what do you mean under the "new region in the
>>> memory map"?
>>
>> I mean reserving some guest physical address that could be used for map host
>> physical address (e.g. SCMI region, GIC CPU interface...).
>>
>> So rather than hardcoding the address, we have something more flexible.
>>
> 
> Ok, I will fix that in v2.

Just for avoidance of doubt. I was clarify option 2 and not requesting 
to implement. That said, if you want to implement option 2 I would be 
happy to review it.

> 
>>>
>>>>
>>>> We still have plenty of space in the guest memory map. So the former is
>>>> probably going to be fine for now.
>>>>
>>>>> Then I get paddr of the scmi channel for this domain and use
>>>>> XEN_DOMCTL_memory_mapping to map scmi channel address to gfn.
>>>>>    > Hope I wass able to answer your question.
>>>>
>>>> What you provided me is how the guest OS will locate the shared memory. This
>>>> still doesn't tell me which memory attribute will be used to map the page in
>>>> Stage-1 (guest page-tables).
>>>>
>>>> To find that out, you want to look at the driver and how the mapping is
>>>> done. The Linux driver (drivers/firmware/arm_scmi) is using devm_ioremap()
>>>> (see smc_chan_setup()).
>>>>
>>>> Under the hood, the function devm_ioremap() is using PROT_DEVICE_nGnRE
>>>> (arm64) which is one of the most restrictive memory attribute.
>>>>
>>>> This means the firmware should be able to deal with the most restrictive
>>>> attribute and therefore using XEN_DOMCTL_memory_mapping to map the shared
>>>> page in stage-2 should be fine.
>>>>
>>>
>>> I'm using vmap call to map channel memory (see smc_create_channel()).
>>> vmap call sets PAGE_HYPERVISOR flag which sets MT_NORMAL (0x7) flag.
>>
>> You want to use ioremap().
>>
> 
> I've used ioremap originally, but changed it to vmap because ioremap
> doesn't support memcpy.
> What if I use __vmap with MT_DEVICE_nGnRE flag?

That's not going to help. Our implementation of memcpy() is using 
unaligned access (which is forbidden on Device memory).

You will need something similar to memcpy_toio() in Linux. I don't think 
we have one today in Xen, so I would suggest to import the 
implementation from Linux.

> 
>>> Considering that protocol is synchronous and only one agent per channel is
>>> expected - this works fine for now.
>>> But I agree that the same memory attributes should be used in xen and
>>> kernel. I fill fix that in v2.
>>
>> I am a bit confused. Are you mapping the full shared memory area in Xen? If
>> yes, why do you need to map the memory that is going to be shared with a
>> domain?
>>
> 
> Xen should have an access to all agent channels because it should send
> SCMI_BASE_DISCOVER_AGENT to each channel and receive agent_id during
> scmi_probe call.

Hmmm... Just to confirm, this will only happen during Xen boot? IOW, Xen 
will never write to the channel when a domain is running?

If yes, then I think it would be best to unmap the channel once they are 
used. This would prevent all sort of issues (e.g. Xen mistakenly written 
in them).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Jan 06 16:27:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 16:27:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254152.435723 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5VbC-0003gH-1i; Thu, 06 Jan 2022 16:26:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254152.435723; Thu, 06 Jan 2022 16:26:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5VbB-0003gA-Ut; Thu, 06 Jan 2022 16:26:45 +0000
Received: by outflank-mailman (input) for mailman id 254152;
 Thu, 06 Jan 2022 16:26:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=a8QS=RW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n5VbA-0003g4-EK
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 16:26:44 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6ee5e2cd-6f0d-11ec-9ce5-af14b9085ebd;
 Thu, 06 Jan 2022 17:26:43 +0100 (CET)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2054.outbound.protection.outlook.com [104.47.14.54]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-15-Biyb27MkNXCYhWWRi51gtQ-1; Thu, 06 Jan 2022 17:26:41 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4606.eurprd04.prod.outlook.com (2603:10a6:803:70::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.9; Thu, 6 Jan
 2022 16:26:40 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.017; Thu, 6 Jan 2022
 16:26:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6ee5e2cd-6f0d-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641486402;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=9Swk76muHQKM4C14x8IWxeU9P9ERecA7pBQN5GbjnAI=;
	b=kRnbmGGvN6wbImeiotJrQQlc9ybr81weA5Jkazrag+dpVgCvqZ4gh5x96Z6IYuFNnp0v8x
	zzbQJBCwjOKPQmeIUcH+7xR6twClddE+YY8Q/Qiu+7Nvnw7ljMvxRr7jW77Lx/yu5KtXR8
	/7zNDA4ttoU7WqmmVbQA0LMgOd+96Ts=
X-MC-Unique: Biyb27MkNXCYhWWRi51gtQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EeKQD8K4jVU7/Q4KM9qT7CKrtzZCz7DHQbhfVMXh2XnX1GFa7MmE4bbj9N8J+szJrcviIWe383uHYr17QcPgIeKugMnJ+eFDTZ2xMpfUrnUK4GqTfbUXa4Z3ylLANRtTYX45XKDfp3P0ej627rRtolotgUvGQLODWOHbJCvn02bpH3jFYx/P24KL/zUxjb4+AWzjTamgWiptPszV94m1Ng8NTByofUQgeruUAHLM2qo8bVcUtWLhtplHYP4Cru/jtm8y/fTKOMxOjKY0M67+z5hN2hIz0ZTnE8f3GuUudabbEwjGpPxaNe+leJ4A9UEYc8FeGDT4N+EYwbcnvYMXOQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9Swk76muHQKM4C14x8IWxeU9P9ERecA7pBQN5GbjnAI=;
 b=JISniLaOoAskb4UZ8jSpfUdVgtmYKKlxUFQxH8brSGpr8HlDBtKa93HA3vlT+4PMm5fh6NpIHTqrIyq/STqWR9hMPIRspL4A7Dy799Y2IvivkGChqCwBDalZ8/0fPML4CZslGkGe1yzkQgAaWZ3qoIwELqKgyKox2I6j1EXD6x6psb6YCiDnzm8CPDwkwzNdvLDEU7bsIOzGjFri50j/wgoavUwP0Y38zFfZ9OerOpeiMeb8YKpmZ74KirhVz1JHF6NJFqNZv2nYWQ9MyTjKMxpUfcZAW/9z8nGoKGa/8RoF/mMMcRnnKirkPkTrbqCS2uHWJ3ZLl6d5cWF7ifcu9Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <52c12a24-fd34-c971-eca7-b6b60f08b0b3@suse.com>
Date: Thu, 6 Jan 2022 17:26:37 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH] x86/hvm: add more callback/upcall info to 'I' debug key
Content-Language: en-US
To: David Vrabel <dvrabel@cantab.net>
Cc: David Vrabel <dvrabel@amazon.co.uk>, xen-devel@lists.xenproject.org
References: <20220106154647.159625-1-dvrabel@amazon.co.uk>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220106154647.159625-1-dvrabel@amazon.co.uk>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM7PR04CA0022.eurprd04.prod.outlook.com
 (2603:10a6:20b:110::32) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 81a4f3c5-d226-4859-3bd9-08d9d13151d9
X-MS-TrafficTypeDiagnostic: VI1PR04MB4606:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4606EFC18948C6577BA15538B34C9@VI1PR04MB4606.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:416;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ujF8AYEvUxcYZzfhgDjsKAMdERFlVJxY0OelyP/QpIqlOSsIabRqXfCRImF9dieG6HZCNozt2kIcwWCnpD/V2fe1gvYYHqAjGHWZCVODvqvdMBrTcMGLfA5wDKxmnhGdHIEsV2G+K9jgEhHkX8S1qeULJa+qwh5mzwApZEYJeI1ajwDtBxJlVgf7Xh/ulVAS1Wbads3HVU3hviBB5sTTfhlpEBZC+94DdKPEYwvllXDvoFZttAlBKkze3KUPOiVjKN3x1lhjjBa7jPkzjno0paJG95xWNDP65b6Ud5sI22LZlxTRXajyk+jeffBb1v5QqisakF6xK+ieOCeJRm36JENrmZ9xyoZ7Pk7b4TBCUnrYY1EUCDnFtvt7FcocxijrfrXricW4q6QkMdDChUQGzlZ7TR3PagFOqv/GDbDEfz+tXamQYIk1QWlKZT4z+RfeE6XT3ILKOlATP7pTvFvq+yPzipvxSn66w8ZV9TNprVcWUEqWigAyHjt1jMeV7SrE8TwFhYRrVFlrvgKw2Hp+XX9qoXOXZQwYbJc7YulHhXHHpV6itXJJXAPNt6HOMS8sySJ8NDHx5oEjXE0xh71s9FST0WgcKE6uliu3vUrhES1o8MWzTzo28ZUUmuY5J4kC3Y6ZS5J7sfaMBVY0x0CiHaY2dRg705xXtm6xKi4pLsWGrAriDuzlUAwwRnDnlald2T04gaqBl1xbdhQURQWgjOWHJEUBHxReCogQCbToOnA=
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)(66476007)(6666004)(66556008)(6486002)(6916009)(53546011)(2906002)(508600001)(186003)(38100700002)(8936002)(6512007)(6506007)(316002)(5660300002)(4326008)(8676002)(31686004)(86362001)(83380400001)(31696002)(36756003)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WXhaOEg3ZVF2RDlvWGtxVXczVmV1aFBmQUx5c2hZYnVsbTJFYXpRNGl5Y3Y2?=
 =?utf-8?B?endIaXdmbmt6RGswd0xyQTVoOEhwOFU0aWI1WVZ6WksxbWlsRXVVT0kzWkdj?=
 =?utf-8?B?MEZGQ3c3LzZmc0RMaWZpOU1WdVA1ckE0RmpGQm5IeHVvZE5JczJMMlhBNXdN?=
 =?utf-8?B?TkJOQ2FMTnV3WVVYVWtMN1R6Wk1DRWhQUjI2SGo5ZldUNDdQVElpT3BFTFAr?=
 =?utf-8?B?WERZWW9JaHZhMXRlekdQczN4dzZkbXFkeEtRNkQ4UkdHYUlQZ05Dbktiak04?=
 =?utf-8?B?cGt0MmJObm8xYWlBNnJPTDJqbGM4OVdCKzRWR1h1NmFvT21aYnozMzllOVdh?=
 =?utf-8?B?eUQvUXJVY0pkU1ExUFdTYXJ0VzFqWEt5WVlTUjhEcCt0RzNQY0lwL2RGY1E2?=
 =?utf-8?B?d0NWVUdrQnMxY0lEUmt3RU9COVgzaDhXSzJyVVdYZ2IxbCt4OFdTS1g1cjZL?=
 =?utf-8?B?bkV3OEo1dmRMNzhtWDVVbDViZEhYcVJoMmc1UGpVY09ydHl2UnlzTi9rYUhL?=
 =?utf-8?B?ejVtY252anlsbVROUytuMmNSSjE1dkZmR1EyQUZvZmE5N01ySm5TTjgwSk1z?=
 =?utf-8?B?SXc0RCtpUEFXUVFmUDluNTFuTndpTGpXTlhUUUtkUFg5UFJxanA0azM0NTVm?=
 =?utf-8?B?bThJcUQzN1JtdG5yZUVBb2dVa05md01rV0E1ODFNZW4zemJkK2d4S3J1ekZi?=
 =?utf-8?B?UVc0RWVpNzQ5OWxKMVcyNVZTMC9kZ1ZuQ1hQYkVndktYM25EOFQ3Mk1Fbmll?=
 =?utf-8?B?Y2h4Y3ArbmdmeS8wZW1iQXRxOUFPVVVuRHNQUXhlZXNlWWJTWVU0RHJXaHk5?=
 =?utf-8?B?cVJCQmpKelFvT05YRmZPZ2I1RjNSZUx2ZEdwOHNWamJBSFpNdWNrY3FodDh1?=
 =?utf-8?B?bWYxelVxNEluNmk1cnFDcDlaZVllYjgvVEhzRHVwd1F4dHNxeTZ3S0k0V0Qx?=
 =?utf-8?B?eERGdTg3cnllOWRTOEZJMExzcVg5VlRVN0o3TjY2NnpBTy9NOW9scitiUTZ1?=
 =?utf-8?B?MlBmS2k3eXlSdEdyRzlydzBybWk5RDJjWDFiVTAzQWZ3L0RWendLcEdNYmNw?=
 =?utf-8?B?dlV4NmRobDZhM3dKNmxaOWtOUS9BUDlOUTBibjlkZlJXdlpSbUJFaUNVbVlI?=
 =?utf-8?B?TkFwS0Fia0hsYzQ5alFCeXdXTXFjN2VMNjRXVk5mMlFpaXB3SmVjOG9NUHEv?=
 =?utf-8?B?U1U3bXZTWjNtY3BZbDlST1NOeGl0YXZhMHkrdXJOZUZYWTBTN3ZHZ2VxTDIy?=
 =?utf-8?B?VUxHRHpTTjMwTHdMT1dDdHl0MjhFcFp6WGpWUnQ5bVJXSkFoZ3RsK0N5bEVy?=
 =?utf-8?B?SWlYTTQ0cVFyeGZueFBPdHhMWjZDa0JxeEZ2UGhpREVKRWVrWENTSUpVM0R6?=
 =?utf-8?B?ajVSNlpsK3hJMUtpaHorWUIvQitsdmpUTkN6TWJlU1FXWFVzNmpMeE1NdFVK?=
 =?utf-8?B?a2NoT2daQXNtckhONk9FaHhUam83ZVU4c0IyN1ZPOWFHNnZpNTRVbzBzQUdo?=
 =?utf-8?B?QmhmcFRHWTBEQTQ1QUIwS0NPcyt1NjZpRk91SEhxZDAvR0JTNUZnYU0wSGt1?=
 =?utf-8?B?aWlGMklRcTZKNlBUQkFUcmZvbzRIV0MrUlhObnRsVWduSzl2b1dvRzdkZ24z?=
 =?utf-8?B?RnFra2pXRmhZbWJBTWN4bnVHOXlNb2g2N0p4eTQ0RHRxQ3lJQmVwVDVUTjdo?=
 =?utf-8?B?bFkrZlJWVlJKRTdpd1FLMHBXa3ZHQU1ENUpxa0FQeW1EbEgwUTFJYXhRYXN6?=
 =?utf-8?B?cXRJTWxPZVlwL1ErekVFcW0wU29UQTV1MjlDc0g3M0tQUWovM3hGZUxTV29q?=
 =?utf-8?B?emRHajZJWnhuNUZXeTNrYit0dHJUcnFEdnhQbFpPTVBJZkk3bGNoNEJyN3BI?=
 =?utf-8?B?VmpndHRIUUgrUWdxY1dIVnhjdmVVSnZvNnAyWkxNcG4vRzEwRzRsY0poYm5U?=
 =?utf-8?B?R0RtczFNMUYxa09pV1EvS3NscVBOT3Y4Nm12L3BQNVBzTldQVXhUZll2eVUr?=
 =?utf-8?B?eVc1bGJXcGFKUHRuaW1MMWFpYWxVWW1HTW90cmJleWlaRm5leG1jTFdDRFRa?=
 =?utf-8?B?Zyt4bGZua05rRVF5R1ovSE12elA4Nm9TVDlHQjVDVlZEa09tWjJ4a1ZiTytO?=
 =?utf-8?B?dko0WlFVN2JaOWpiUDFuOCs1MnJYWWVINmE3Z3V0VThPbkdpSERVcXRVV3lW?=
 =?utf-8?Q?VYxzX5NYuuKJiEudmujuosE=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 81a4f3c5-d226-4859-3bd9-08d9d13151d9
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jan 2022 16:26:40.7688
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jt5NQ3fumb3qL3hH0NoUMS72aTVo+nnw/UhgeE1zrzqGghQqchIUVaK4NwgH4QRmiacVVCENysCBicV6qJfWCQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4606

On 06.01.2022 16:46, David Vrabel wrote:
> Include the type of the callback via and the per-VCPU upcall vector.
> 
> Signed-off-by: David Vrabel <dvrabel@amazon.co.uk>

Welcome back!

A couple of stylistic / cosmetic remarks:

> --- a/xen/arch/x86/hvm/irq.c
> +++ b/xen/arch/x86/hvm/irq.c
> @@ -598,7 +598,9 @@ int hvm_local_events_need_delivery(struct vcpu *v)
>  static void irq_dump(struct domain *d)
>  {
>      struct hvm_irq *hvm_irq = hvm_domain_irq(d);
> -    int i; 
> +    int i;

Since you touch this line anyway, would you mind switching to
"unsigned int"?

> +    struct vcpu *v;

const?

> @@ -630,9 +632,30 @@ static void irq_dump(struct domain *d)
>             hvm_irq->pci_link_assert_count[1],
>             hvm_irq->pci_link_assert_count[2],
>             hvm_irq->pci_link_assert_count[3]);
> -    printk("Callback via %i:%#"PRIx32",%s asserted\n",
> -           hvm_irq->callback_via_type, hvm_irq->callback_via.gsi, 
> -           hvm_irq->callback_via_asserted ? "" : " not");
> +    for_each_vcpu( d, v )

Depending on whether you consider for_each_vcpu a pseudo-keyword,
there's a blank missing here (like for "switch" below), or there
are two excess ones.

> +    {
> +        if ( v->arch.hvm.evtchn_upcall_vector )
> +            printk("%pv: upcall vector: %u\n",
> +                   v, v->arch.hvm.evtchn_upcall_vector);

I'm not convinced of (but also not outright opposed to) the
resulting redundancy here from using %pv: The domain already got
printed once at the top of the function.

> +    }
> +    switch( hvm_irq->callback_via_type )

Missing blank ahead of opening parenthesis.

> +    {
> +    case HVMIRQ_callback_none:
> +        printk("Callback via none\n");
> +        break;
> +    case HVMIRQ_callback_gsi:
> +        printk("Callback via GSI %u\n", hvm_irq->callback_via.gsi);
> +        break;
> +    case HVMIRQ_callback_pci_intx:
> +        printk("Callback via PCI dev %u INTx %u\n",
> +               hvm_irq->callback_via.pci.dev,
> +               hvm_irq->callback_via.pci.intx);
> +        break;
> +    case HVMIRQ_callback_vector:
> +        printk("Callback via vector %u\n", hvm_irq->callback_via.vector);
> +        break;
> +    }

We try to put blank lines between non-fall-through case blocks within
a switch().

> +    printk("  %s asserted\n", hvm_irq->callback_via_asserted ? "" : " not");

I'm a little puzzled by the blank preceding "not"; how about

    printk("  %sasserted\n", hvm_irq->callback_via_asserted ? "" : "not ");

?

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 06 16:28:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 16:28:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254155.435733 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5Vcs-0004HY-DF; Thu, 06 Jan 2022 16:28:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254155.435733; Thu, 06 Jan 2022 16:28: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 1n5Vcs-0004HR-A1; Thu, 06 Jan 2022 16:28:30 +0000
Received: by outflank-mailman (input) for mailman id 254155;
 Thu, 06 Jan 2022 16:28:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=k+KX=RW=epam.com=prvs=30058094e3=oleksii_moisieiev@srs-se1.protection.inumbo.net>)
 id 1n5Vcq-0004HJ-El
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 16:28:28 +0000
Received: from mx0b-0039f301.pphosted.com (mx0b-0039f301.pphosted.com
 [148.163.137.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ac51adf2-6f0d-11ec-81c0-a30af7de8005;
 Thu, 06 Jan 2022 17:28:26 +0100 (CET)
Received: from pps.filterd (m0174680.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 206FhTvb027660;
 Thu, 6 Jan 2022 16:28:16 GMT
Received: from eur03-ve1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2053.outbound.protection.outlook.com [104.47.9.53])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3ddt839j8j-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 06 Jan 2022 16:28:16 +0000
Received: from PA4PR03MB7136.eurprd03.prod.outlook.com (2603:10a6:102:ea::23)
 by PR2PR03MB5242.eurprd03.prod.outlook.com (2603:10a6:101:25::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4844.15; Thu, 6 Jan
 2022 16:28:13 +0000
Received: from PA4PR03MB7136.eurprd03.prod.outlook.com
 ([fe80::85d2:c8aa:2196:21c6]) by PA4PR03MB7136.eurprd03.prod.outlook.com
 ([fe80::85d2:c8aa:2196:21c6%9]) with mapi id 15.20.4844.016; Thu, 6 Jan 2022
 16: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: ac51adf2-6f0d-11ec-81c0-a30af7de8005
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SFy4oNjbuI7dUDWKuhrfYxGjogPuCSskiOoZNhZzGzgDHsjP4LiC9WKA/4WFKYhq5vTyj91Ufyfn+yL69q5CyL3qKdmkqrl8jjIl1dbjSN8eYZfZWMJb3wWfyE/Mpu1yfp07U77jLMHfrGosUULtxfB2kh6ja21KipA+gUN4XFJpnzpAobePm4yoI9zheN8cpvgx7fwsyIntacJ8z/H4a0QDtySu6Qz32NXhIseqPsNHw1wmIWmlA8YZ/aGjQ/kvQC9rbKK2fDy9FnVjrxQVnxCXGkUwnFkrzUlou8eiASWag9bZMJMiiclbyPfK8p+tP/bNhvl5z94n+N39wj7c/w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gfbQzZuort7WCJ6SRAV42POqlrp7bFCeYMElOAYp55k=;
 b=L2vNU51bbA6k2UakIlPNYre18aKhvfR3yI+uGjk0D5gofQoM+rAETdhjVRPCAAO1fafspE8Q1ocJSgllAO/SCmJPqOcVzSJ9vp/aCV50Ka4PbTNHoEZBwm8SVkTPApa3DQxboHjLPZirrJcOJVHzqZ2qXv35x9/eU3HeSjBeyi06kLWNqg/QIW297ZWnymn4Hp60LrEkLjmOuHgqUhSXzx8oF01c80QISkomnV5N2725cDF6jos1zG1dU+vIX2Wcc4POuu+4wX4tBDZ96Zy41Qb4qBVtmi6KKMJZ+7Z8VZIj4Gq54cwBUx0hqY/MZT1w30TKxaE7mVG3V1K8LJGOgg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gfbQzZuort7WCJ6SRAV42POqlrp7bFCeYMElOAYp55k=;
 b=ni9JlX73qU8zyq3KfALCzSUq4v7oVvdCZn2gcWxevS+y1YzmcDfxEr60/R9ecu4R1U7LDMeTjPa8EZZEZw7RHavrnkyfdLM8zFiREKsSHLWHjE1Otvm5QR+M/RS5nF+xlLk9qILz1LY22VJn+TXTKAPOQqeWi2TNhpYCCn/deZmAevFOIxYPG+b7f0ONiHiWpGTuYnudZjE0p9L8pgAs/10tUv9HpzjsnHyg5zF2F2H/Od85HbCpDY/l5pqLIBfDO40UYWgm+3o29AaoMS2tVOwOh6bGiKH37ppHxy/Ug2DfVsJbXiBpIDm5ahotaAXUgMs0YZqml3aMHTf2iStJlw==
From: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
To: Julien Grall <julien@xen.org>
CC: Oleksandr <olekstysh@gmail.com>,
        "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
Thread-Topic: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
Thread-Index: 
 AQHX8M3JF7Ng56/tV0+8/7pODiaWfKw2ks6AgAAeBwCAAAQPgIAABfaAgAAsl4CABKcNgIAGOOkAgAAnH4CAD3d9gIAEwfEAgAACbgCAABxaAIAABdkAgAAGmwA=
Date: Thu, 6 Jan 2022 16:28:12 +0000
Message-ID: <20220106162812.GA1473861@EPUAKYIW015D>
References: <20211217135855.GA4072899@EPUAKYIW015D>
 <7924e699-5e70-6fdc-8633-6a15894d66db@xen.org>
 <20211220154127.GA1688861@EPUAKYIW015D>
 <7b0d3f0d-bdf1-ac59-0ef8-bb7ec2d802d8@xen.org>
 <20211224170243.GA1022822@EPUAKYIW015D>
 <045b2836-c95d-541b-462b-d276ae058b0d@xen.org>
 <20220106135328.GA1413532@EPUAKYIW015D>
 <55954632-e2c7-5455-6538-29c7990c8f62@xen.org>
 <20220106154338.GA1460271@EPUAKYIW015D>
 <548d4954-96bf-6522-6cfc-98b4a0e02b51@xen.org>
In-Reply-To: <548d4954-96bf-6522-6cfc-98b4a0e02b51@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: b3846e56-c589-4395-726d-08d9d13188f7
x-ms-traffictypediagnostic: PR2PR03MB5242:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <PR2PR03MB52426D4C643BB2DD9BDAEB46E34C9@PR2PR03MB5242.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: 
 s23wmAtLmW9Zd7gBpD8cKonAoMrFpvzs4S6yG4MTNCOVOUZX0XEukjTSDcjqTxzHkDxTdeDdule5oWT42rsiYz1VO4sQ0EEtcSy22WrFUnKhPNlGVM8MdFjzdwwmbm1KiJcvWMyZcIVBmpa7b5mgWSso6lrajs0lrFW6pJnD9HULfNoR84+dR2TnacIbm28OFotdinY0SAAQ6MT3hr62k0CnPOUjf89hIxVq1hLKofLAfYrfmPXhr7MyZbq0gXCQDn7RmXpnP/lc7JdUNrqc/Dxanyk9aPeFSVfCHDY4AYsx2EjB1MjC1Hk8YTqaAj/ZhfS+msLahP12z6zhYYCAOW/JSXn/+55eL51+1JLeUJZa8aZaJNQfbscIhHSUdpl/iSjZuPtcRAADwr5BgOEI+7yYB9KBEErPeKxbdNBCZFt6459zZkw/vf87/4TcGKD1ppcHxaYjRzXekZ7pCGoh7rEH2qvl8Osj+XlUIowsCMQhziDiIaYksuw4zH/VmzwFRto2W+Md2bY+iUA5y/q3h8cJhuPohPkQ3oo44vflV2J9fw/7Yg+Keskc0U186QM9UHV8dZTOFo2x3szuGr2/l+AYYQncfB66VjQe/F1d3Y6vyyAxCLPwazr+nSH0rzi+uSuZerwgBkfNksvFwcY9Ae2vicVMX6MYB/28xrJmBL/Dg6/g+4UQ6YayW8lbAMjDEJW4/6JRsYAUSsX0bMs0TQ==
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR03MB7136.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(6512007)(26005)(66476007)(66946007)(6486002)(71200400001)(83380400001)(33656002)(33716001)(38070700005)(6916009)(8936002)(8676002)(38100700002)(53546011)(64756008)(316002)(66446008)(122000001)(186003)(66556008)(91956017)(76116006)(2906002)(5660300002)(86362001)(6506007)(54906003)(508600001)(1076003)(9686003)(4326008);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?us-ascii?Q?WzkNh60QO8gEjxJMRJT6IudUK/BXftR6x4sTbgE+Ehh8unpT4icIRXLEzKO/?=
 =?us-ascii?Q?oZyLC7vlnIYpA5VjO7tHodOynRTgjKW63+BNecUEYmp2EyW8ISLlS6QrLBFd?=
 =?us-ascii?Q?8MrVzXHvQYRVp88ILDYyxbg6NNmSxL63YBJjsabjRaEtE4145o7xJDkW4WlX?=
 =?us-ascii?Q?1qqH1zL6kbLnahm3Lxylam6I+57z9PvpVRSp2drP/LAUaj5FubPs9YDpf1A5?=
 =?us-ascii?Q?zMYbEPemiD5Ukgi2Q89kRRjfA4Q/FvEBdkcDbS9fbu9DrUurG+nQQ5BuguUn?=
 =?us-ascii?Q?8NoLxKfLic0t0Mc+da+/5nDNOGGdO8C2cDmki0PfFqAZR3E1wLp5cqVxEnXu?=
 =?us-ascii?Q?CtKFegy7SySqFDU51HqyteFXTYEQgNlBSfDUXV6ndK/8kEHKtVe+4Jjd2A/l?=
 =?us-ascii?Q?t1uhOL/IRXP1saoR8tC5OUovMOGHarA0OB5YpQjtVKbMrQw/liAPiEWnjnnO?=
 =?us-ascii?Q?7HYEVwhiHVAblk0zzFtoGvcFW/6ZeWHwy9NN1RB/UuEbTYJkcgqkl56VvG3f?=
 =?us-ascii?Q?7rLUZW/IoPjI39xQ71yfiG5U/C6LDHc2ZtOZnmce3Zblk4GP09Wzdu7Bn8DV?=
 =?us-ascii?Q?IZe+iFKH4tzLk9e3yuTfPbmobfAb9fDICz2n/0pqnhlc7dDIFF3Cs6KWNk14?=
 =?us-ascii?Q?FHDsKNHyGcWbqao4F2f0POqt/IS5jrHGdYUh2tF6aQTKfWpZM93XMeYq7pen?=
 =?us-ascii?Q?IyokOOzwG9G/A3PUSm0hegWP04oKcXhcfWoQBh+PTS6ucY0ditkahn+v5yG5?=
 =?us-ascii?Q?Nl4vOXus+Ky1RkAxMPERcCoHeC4NkZhThp4HOvAWZVF7tsL/lWmdrrV3pMCg?=
 =?us-ascii?Q?0e3cv+7+PqQu1aU2xUdMy+50rR5pqZnmYvC3Q0oFy4tBZOApxGt4irXqedLz?=
 =?us-ascii?Q?4BUdo6IA9CjAO0Nzj9Xyjr21bA4CNVx2WBRmyt4uj2GqGU1ffGMvrCypdh0w?=
 =?us-ascii?Q?iIZml9iiFPzrdhyqYjaGkZhTV5yRk21fynS/36bQT2rJTuCp3Nc6RVsndSnT?=
 =?us-ascii?Q?FlKpouzkG4pQoskyBk1HBAQ3KWGCpFgcTOYoxr9E29oTc2z4gLUhVri5Jh7Z?=
 =?us-ascii?Q?jyRbPcplr54n4yNo11dIP6YgM5IqRWyXyJi7tOI6Ka0NIcRfBlD8bXrWZ8b6?=
 =?us-ascii?Q?zColzYdo9dyTbgPZbT5K751WjwldwpuiED2vMG/0vdPz3tZU0ibabiwIqFaX?=
 =?us-ascii?Q?TiK7DNbu0mxTdKZsWX5IJYJDsVQgHpHmtrbHsxWbt8SbQ+9Z/dthGb/+CWMO?=
 =?us-ascii?Q?czHQ7001wi1siCGeIP47eb42WzHj2ZhKcRNLRO6L1OT2QplZZWM8QIB29u61?=
 =?us-ascii?Q?N3iv01uAx71o7kvwb+uvcaO9EysicmRj81gXssGwdBNHuIwSH/g7J0YU+WED?=
 =?us-ascii?Q?7JnXBNFEgkNWJMv04wkKYmsjeeeJwponLHeotR5J6MzBwh0pb/PKzrMgHwDw?=
 =?us-ascii?Q?+0ZTYMs4zx6ed2WLtIEmNK6N6LeTYCuLjgRqVWq+0jxm5WorzRaUPX/C7Lgb?=
 =?us-ascii?Q?qBlatsbPkcWbvQdekeZV2L9axYg5kEFnLrH5ldpPP/aCtxId/hKy3YbPKZBp?=
 =?us-ascii?Q?nWZF5EkE2WGZ+oY1ZhRRzesRHgrbVAgV0mDD8GzMm2Bea3dTpXqaEXtFVwI5?=
 =?us-ascii?Q?L/3j5IlnIGLnOHbolh0jnt0Pe7xBFgoWUEL5uB9Cd9JbXdp+QD0w36lGwBRb?=
 =?us-ascii?Q?BSh0cNI2y2jDO+eVC36u+ScUj9M=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <1B8A1B3F807B6641BEF11A10956D15FB@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PA4PR03MB7136.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b3846e56-c589-4395-726d-08d9d13188f7
X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Jan 2022 16:28:13.0062
 (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: WmIuCFsaeSf1LF/jByQRiXb7Rx5h+DqbYFqRovkY2B0NbLAlfGeLbLJQqaUcgjYQZenHOJHxzvrHnSo783Ata4watm8zOM9wHe0E+g/WCG8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR2PR03MB5242
X-Proofpoint-ORIG-GUID: 3Hw26HD-739c6s-vnDetNEzrP_aofp5E
X-Proofpoint-GUID: 3Hw26HD-739c6s-vnDetNEzrP_aofp5E
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.790,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-06_06,2022-01-06_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 mlxlogscore=999
 impostorscore=0 adultscore=0 spamscore=0 suspectscore=0 priorityscore=1501
 clxscore=1015 lowpriorityscore=0 phishscore=0 malwarescore=0 mlxscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2112160000
 definitions=main-2201060114

Hi Julien,

On Thu, Jan 06, 2022 at 04:04:34PM +0000, Julien Grall wrote:
> Hi,
>=20
> On 06/01/2022 15:43, Oleksii Moisieiev wrote:
> > On Thu, Jan 06, 2022 at 02:02:10PM +0000, Julien Grall wrote:
> > >=20
> > >=20
> > > On 06/01/2022 13:53, Oleksii Moisieiev wrote:
> > > > Hi Julien,
> > >=20
> > > Hi,
> > >=20
> > > >=20
> > > > On Mon, Jan 03, 2022 at 01:14:17PM +0000, Julien Grall wrote:
> > > > > Hi,
> > > > >=20
> > > > > On 24/12/2021 17:02, Oleksii Moisieiev wrote:
> > > > > > On Fri, Dec 24, 2021 at 03:42:42PM +0100, Julien Grall wrote:
> > > > > > > On 20/12/2021 16:41, Oleksii Moisieiev wrote:
> > > > > > > > >       2) What are the expected memory attribute for the r=
egions?
> > > > > > > >=20
> > > > > > > > xen uses iommu_permit_access to pass agent page to the gues=
t. So guest can access the page directly.
> > > > > > >=20
> > > > > > > I think you misunderstood my comment. Memory can be mapped wi=
th various type
> > > > > > > (e.g. Device, Memory) and attribute (cacheable, non-cacheable=
...). What will
> > > > > > > the firmware expect? What will the guest OS usually?
> > > > > > >=20
> > > > > > > The reason I am asking is the attributes have to matched to a=
void any
> > > > > > > coherency issues. At the moment, if you use XEN_DOMCTL_memory=
_mapping, Xen
> > > > > > > will configure the stage-2 to use Device nGnRnE. As the resul=
t, the result
> > > > > > > memory access will be Device nGnRnE which is very strict.
> > > > > > >=20
> > > > > >=20
> > > > > > Let me share with you the configuration example:
> > > > > > scmi expects memory to be configured in the device-tree:
> > > > > >=20
> > > > > > cpu_scp_shm: scp-shmem@0xXXXXXXX {
> > > > > > 	compatible =3D "arm,scmi-shmem";
> > > > > > 	reg =3D <0x0 0xXXXXXX 0x0 0x1000>;
> > > > > > };
> > > > > >=20
> > > > > > where XXXXXX address I allocate in alloc_magic_pages function.
> > > > >=20
> > > > > The goal of alloc_magic_pages() is to allocate RAM. However, what=
 you want
> > > > > is a guest physical address and then map a part of the shared pag=
e.
> > > >=20
> > > > Do you mean that I can't use alloc_magic_pages to allocate shared
> > > > memory region for SCMI?
> > > Correct. alloc_magic_pages() will allocate a RAM page and then assign=
 to the
> > > guest. From your description, this is not what you want because you w=
ill
> > > call XEN_DOMCTL_memory_mapping (and therefore replace the mapping).
> > >=20
> >=20
> > Ok thanks, I will refactor this part in v2.
> >=20
> > > >=20
> > > > >=20
> > > > > I can see two options here:
> > > > >     1) Hardcode the SCMI region in the memory map
> > > > >     2) Create a new region in the memory map that can be used for=
 reserving
> > > > > memory for mapping.
> > > >=20
> > > > Could you please explain what do you mean under the "new region in =
the
> > > > memory map"?
> > >=20
> > > I mean reserving some guest physical address that could be used for m=
ap host
> > > physical address (e.g. SCMI region, GIC CPU interface...).
> > >=20
> > > So rather than hardcoding the address, we have something more flexibl=
e.
> > >=20
> >=20
> > Ok, I will fix that in v2.
>=20
> Just for avoidance of doubt. I was clarify option 2 and not requesting to
> implement. That said, if you want to implement option 2 I would be happy =
to
> review it.
>=20

I think it's time for me to start working on v2. I think option 2 can be
implemented. If not - I will look for an alternative way.

> >=20
> > > >=20
> > > > >=20
> > > > > We still have plenty of space in the guest memory map. So the for=
mer is
> > > > > probably going to be fine for now.
> > > > >=20
> > > > > > Then I get paddr of the scmi channel for this domain and use
> > > > > > XEN_DOMCTL_memory_mapping to map scmi channel address to gfn.
> > > > > >    > Hope I wass able to answer your question.
> > > > >=20
> > > > > What you provided me is how the guest OS will locate the shared m=
emory. This
> > > > > still doesn't tell me which memory attribute will be used to map =
the page in
> > > > > Stage-1 (guest page-tables).
> > > > >=20
> > > > > To find that out, you want to look at the driver and how the mapp=
ing is
> > > > > done. The Linux driver (drivers/firmware/arm_scmi) is using devm_=
ioremap()
> > > > > (see smc_chan_setup()).
> > > > >=20
> > > > > Under the hood, the function devm_ioremap() is using PROT_DEVICE_=
nGnRE
> > > > > (arm64) which is one of the most restrictive memory attribute.
> > > > >=20
> > > > > This means the firmware should be able to deal with the most rest=
rictive
> > > > > attribute and therefore using XEN_DOMCTL_memory_mapping to map th=
e shared
> > > > > page in stage-2 should be fine.
> > > > >=20
> > > >=20
> > > > I'm using vmap call to map channel memory (see smc_create_channel()=
).
> > > > vmap call sets PAGE_HYPERVISOR flag which sets MT_NORMAL (0x7) flag=
.
> > >=20
> > > You want to use ioremap().
> > >=20
> >=20
> > I've used ioremap originally, but changed it to vmap because ioremap
> > doesn't support memcpy.
> > What if I use __vmap with MT_DEVICE_nGnRE flag?
>=20
> That's not going to help. Our implementation of memcpy() is using unalign=
ed
> access (which is forbidden on Device memory).
>=20
> You will need something similar to memcpy_toio() in Linux. I don't think =
we
> have one today in Xen, so I would suggest to import the implementation fr=
om
> Linux.
>=20

Ok. Then I'll import memcpy_toio from Linux kernel.

> >=20
> > > > Considering that protocol is synchronous and only one agent per cha=
nnel is
> > > > expected - this works fine for now.
> > > > But I agree that the same memory attributes should be used in xen a=
nd
> > > > kernel. I fill fix that in v2.
> > >=20
> > > I am a bit confused. Are you mapping the full shared memory area in X=
en? If
> > > yes, why do you need to map the memory that is going to be shared wit=
h a
> > > domain?
> > >=20
> >=20
> > Xen should have an access to all agent channels because it should send
> > SCMI_BASE_DISCOVER_AGENT to each channel and receive agent_id during
> > scmi_probe call.
>=20
> Hmmm... Just to confirm, this will only happen during Xen boot? IOW, Xen
> will never write to the channel when a domain is running?
>=20

Yes. Only during Xen boot.

> If yes, then I think it would be best to unmap the channel once they are
> used. This would prevent all sort of issues (e.g. Xen mistakenly written =
in
> them).
>=20

That's a good advise. Thank you.

Best regards,

Oleksii.=


From xen-devel-bounces@lists.xenproject.org Thu Jan 06 16:30:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 16:30:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254161.435745 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5VeQ-0005i1-Th; Thu, 06 Jan 2022 16:30:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254161.435745; Thu, 06 Jan 2022 16:30: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 1n5VeQ-0005hs-QS; Thu, 06 Jan 2022 16:30:06 +0000
Received: by outflank-mailman (input) for mailman id 254161;
 Thu, 06 Jan 2022 16:30:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xiBy=RW=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1n5VeP-0005c2-Jb
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 16:30:05 +0000
Received: from mail-lf1-x12c.google.com (mail-lf1-x12c.google.com
 [2a00:1450:4864:20::12c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e6d667ca-6f0d-11ec-81c0-a30af7de8005;
 Thu, 06 Jan 2022 17:30:04 +0100 (CET)
Received: by mail-lf1-x12c.google.com with SMTP id o12so6155035lfk.1
 for <xen-devel@lists.xenproject.org>; Thu, 06 Jan 2022 08:30:04 -0800 (PST)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id q125sm224862ljq.77.2022.01.06.08.30.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Jan 2022 08:30:03 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e6d667ca-6f0d-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=UllSuNJvEOMxJSNUISXI/xT9nV9RGkc86WUay+pnuRQ=;
        b=cEebJXWvxAYn6G0qcJ8aQAJdmLgYtEfERm8xXDlig00u/jj4KutatyXW1dtomqiZLX
         gxl3jjw5HSrxRTuiyD0ohyRKHTtxyUy7kOpm9DbARwgt95dWH8aenH4i+yhwlNAiBRGJ
         2ngA3Is3MNNi5wt90dgzdiNmX8KlsC67x5Q9O7weHSURZ+TcpuXj3KBXQ1mEb80ZYTY4
         ByalnZ+8IdRgC6kG81e+xMom6tCkD2p9NkkbD/Nly0hMaZrkIhp/hKimRGwjGiLg6lgO
         +vjp5AZKjbcDHJJck1DBI6NJPCByCPPCVtR/O0yRxxUt2hHlyhnLVb+avMSLb4NOqjPs
         8k5Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        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=UllSuNJvEOMxJSNUISXI/xT9nV9RGkc86WUay+pnuRQ=;
        b=n2cFiBkOa04fC0c7WPmh2eGv7A1vmDQ7n3WPyy6k2u0HFgIu9qXu7VtESyN2uQEqek
         +QHFKva+wZWwZ6fDeAySgWvGzM97bk2zZadsEVP8DKiIEX8At2F7vGfNzek/MKhheBoh
         Dzv68brZXjTGZTtmR8dXe1X3g4sb8haOACmwtvZnFg8u/eN2YxNc1TTkfTc/lEd7HPyN
         43g9vx01bPHJhIz4l8ixOINI1kecxyclpTv4qf4nCJ48iEuVJA836/x9P6+iLAkh4v3N
         2A0cBTb0e5a/W3E9L+7wfmxhRj1I1iZVXSDcI8PsWHqsdL2mBSXSx196KmKIYtt43gF9
         e7wg==
X-Gm-Message-State: AOAM531h7nUPYxyZVGEunYecEYSUPPAIwwoOtXrQsBzlEhiI6O0Qcgbu
	a3SS+xdG3rYgoxFJWWGBmNC58lXPOEs=
X-Google-Smtp-Source: ABdhPJxbpMYC5YYfKVsfiiLvBIIedqZenlgThI9Up7VXciwOJ7ipFIrFKqfQgbnuQZSw6pWWEIFH8g==
X-Received: by 2002:a05:6512:220b:: with SMTP id h11mr52762003lfu.427.1641486603320;
        Thu, 06 Jan 2022 08:30:03 -0800 (PST)
Subject: Re: [PATCH V5] xen/gnttab: Store frame GFN in struct page_info on Arm
To: Jan Beulich <jbeulich@suse.com>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <1641424268-12968-1-git-send-email-olekstysh@gmail.com>
 <a7a905fe-3feb-507a-7ce4-ed7dce78de86@suse.com>
From: Oleksandr <olekstysh@gmail.com>
Message-ID: <aeba1af9-8386-3bca-dfbd-1c9110ae09de@gmail.com>
Date: Thu, 6 Jan 2022 18:30:02 +0200
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: <a7a905fe-3feb-507a-7ce4-ed7dce78de86@suse.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Content-Language: en-US


On 06.01.22 16:20, Jan Beulich wrote:


Hi Jan

> On 06.01.2022 00:11, Oleksandr Tyshchenko wrote:
>> --- a/xen/arch/x86/include/asm/mm.h
>> +++ b/xen/arch/x86/include/asm/mm.h
>> @@ -57,6 +57,9 @@
>>   #define PGT_count_width   PG_shift(8)
>>   #define PGT_count_mask    ((1UL<<PGT_count_width)-1)
>>   
>> +/* No arch-specific initialization pattern is needed for the type_info field. */
>> +#define PGT_TYPE_INFO_INIT_PATTERN   0
> I think this should be inside an #ifndef in page_alloc.c.


ok, will do.

I hope you meant the following:

#ifndef PGT_TYPE_INFO_INIT_PATTERN
#define PGT_TYPE_INFO_INIT_PATTERN 0
#endif


>
> Also the name suggests usage for all kinds of pages, as you did
> outline on the v4 thread. Yet ...
>
>> --- a/xen/common/page_alloc.c
>> +++ b/xen/common/page_alloc.c
>> @@ -2159,6 +2159,7 @@ void init_xenheap_pages(paddr_t ps, paddr_t pe)
>>   void *alloc_xenheap_pages(unsigned int order, unsigned int memflags)
>>   {
>>       struct page_info *pg;
>> +    unsigned int i;
>>   
>>       ASSERT(!in_irq());
>>   
>> @@ -2167,6 +2168,9 @@ void *alloc_xenheap_pages(unsigned int order, unsigned int memflags)
>>       if ( unlikely(pg == NULL) )
>>           return NULL;
>>   
>> +    for ( i = 0; i < (1u << order); i++ )
>> +        pg[i].u.inuse.type_info |= PGT_TYPE_INFO_INIT_PATTERN;
>> +
>>       return page_to_virt(pg);
>>   }
>>   
>> @@ -2214,7 +2218,10 @@ void *alloc_xenheap_pages(unsigned int order, unsigned int memflags)
>>           return NULL;
>>   
>>       for ( i = 0; i < (1u << order); i++ )
>> +    {
>>           pg[i].count_info |= PGC_xen_heap;
>> +        pg[i].u.inuse.type_info |= PGT_TYPE_INFO_INIT_PATTERN;
>> +    }
>>   
>>       return page_to_virt(pg);
>>   }
> ... you now only use it in alloc_xenheap_pages().

Yes, I decided to go with your initial suggestion to OR the pattern here.


>
> Further, did you check that when the value is 0 the compiler would
> fully eliminate the new code in both flavors of the function?


No, I didn't. But I have just rechecked on Arm64 
(!CONFIG_SEPARATE_XENHEAP) and Arm32 (CONFIG_SEPARATE_XENHEAP).
If I remove PGT_TYPE_INFO_INIT_PATTERN definition from Arm's header I 
don't see any assembler output generated for following expression in 
both cases:
pg[i].u.inuse.type_info |= PGT_TYPE_INFO_INIT_PATTERN;
where PGT_TYPE_INFO_INIT_PATTERN is 0


>
> Finally, leaving aside the aspect of where the value should be used,
> and also leaving aside the fact that the T in PGT is redundant with
> TYPE_INFO, I think something like PGT_TYPE_INFO_INITIALIZER would be
> better than having "pattern" in the name. But this may just be me ...

I am perfectly fine with new name.


In case you don't have any other objections shall I re-push v5.1 with 
proposed adjustments now?


Thank you.


>
> Jan
>
-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Thu Jan 06 16:48:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 16:48:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254168.435756 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5VwF-0007Jj-GL; Thu, 06 Jan 2022 16:48:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254168.435756; Thu, 06 Jan 2022 16: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 1n5VwF-0007Jc-DE; Thu, 06 Jan 2022 16:48:31 +0000
Received: by outflank-mailman (input) for mailman id 254168;
 Thu, 06 Jan 2022 16:48:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=a8QS=RW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n5VwE-0007JW-9n
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 16:48:30 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 790ee1fa-6f10-11ec-9ce5-af14b9085ebd;
 Thu, 06 Jan 2022 17:48:28 +0100 (CET)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2058.outbound.protection.outlook.com [104.47.6.58]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-5-PWNUk4mCNSqt3yaK7VkTsA-1; Thu, 06 Jan 2022 17:48:27 +0100
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.4844.15; Thu, 6 Jan
 2022 16:48:26 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.017; Thu, 6 Jan 2022
 16:48:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 790ee1fa-6f10-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641487708;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=ULdw1I5WCA1dyFXWU7GIPOBk5CGSg8kyJ/kSdYP4sBY=;
	b=X5ZG20I6fHhkLQgdh1PEMEL1cnqK16uzAvG1qjSyw3ZV0p2CAv3Tqz6Ip9deNJ4rGZ9lWE
	qp+fLw8Kq3NhJo5dBg0GpNKgVh5ZtDcDgZYvYzxYhCgeI7c/QuTIElAZu6pqfq0eqOjXGH
	04S3gBjMAT/GqEU0Oz7Ev3hKlr6yB0c=
X-MC-Unique: PWNUk4mCNSqt3yaK7VkTsA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ebAXuaLmkUCb8WvfTU5NHiYSXD6K4AeexrPCuM2n+6UzoOMEr9Iu0XIpGEjB+8pN0lZLGcNgaZdxB1cssZLG4md+Re89UzloXZXoH7ut2E5yFY/gm8RFD0/OD+Je4+j4WBmK3/qgfv6Ho443PkJXwGEh2F6WItfUX+PD2/B8ZBKzHFZ6UHveFG80oFWU/9ONEviWA6kR3NsFwhYnsFMrOoL1r2/aHv7POE4nrW3oD0ojf4Zdwx4b5pVJmAw6EaeuzTT2O3+YkkbldiyaCfFu5A5bXAbktP9R9Pk77oRmCUlZvU7Q6gFkOrxb062xxrSRZy999oJ7gyFhNYBItb7cSg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ULdw1I5WCA1dyFXWU7GIPOBk5CGSg8kyJ/kSdYP4sBY=;
 b=hUnYaRXou2VfTFW5DbPzoVGFEtu8J8qX5GNX4usvk1Ee+u7HcSX5/1b/dFgnT2dKPGpgatr7obDLTybiKn42NAm+Lh/oNZHiUq06oIpRPHESgIUT5PiQFVg4itjXRwJCo4AGYFCZAM3HM5Mx8Gt+aK3izLMgQXyucFEN1YGIChs6SOQvTKT+qlNWjotC/IyR8bqq6IWSO5Gdcgw9d1Dhbs1Y9pQpp1n7GzKSke447Q41qy5DFFCleq0BvzixFygYh9JXVgdhLdQhHp6qaVIypUUNJXAgDyuxmWDC+LJ0umu499uHLC4EWX6eeNLnfVeVpSpbz1A0NzV3taI12TRWBQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a67bf5fe-ed29-0767-f8ff-eea4a07db1d6@suse.com>
Date: Thu, 6 Jan 2022 17:48:24 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH] x86/hvm: save/restore per-VCPU event channel upcall
 vector
Content-Language: en-US
To: David Vrabel <dvrabel@cantab.net>
Cc: David Vrabel <dvrabel@amazon.co.uk>, xen-devel@lists.xenproject.org
References: <20220106155442.160258-1-dvrabel@amazon.co.uk>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220106155442.160258-1-dvrabel@amazon.co.uk>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P192CA0100.EURP192.PROD.OUTLOOK.COM
 (2603:10a6:209:8d::41) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5db0b5c4-4124-43ac-1d57-08d9d1345c06
X-MS-TrafficTypeDiagnostic: VI1PR04MB3295:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB3295236A00EA56D9F0C61976B34C9@VI1PR04MB3295.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:
	B/IhY5Bv+WxwW4h9A3hyHiSiScKPuioqDes7KKShX6TuOgj+5zn0kDAJHaHR+Mh8UGUIg5pVjCGUNgzdaFf+px2LdRolc8PTRUoRgour20htcvQsD4Q169sEROW/hTmdENQqu18vSLmRBHf/+VQvF57ID6TS+VrZgN5YQTeWOhd0I9wpvEheQdIOrBUwf1CiMfvxwG+p/Eke6KvqZ5pkD5rnvsozpsH8XndGFDIdXPPSygYzwCPTr/smcyRvBH5r+WMX2ElqlXJ3VTxVebb2MvYceVIsUD3XHRg6tWiIhXVtDgwcmBA9DI+L/PIWguDFTb9f2P6LZJviTMk1SkgCHWS+dDLw5uSvV0E1ihHNI5n/C2R8vn1JT13hSI6SJcZXmiT7GxtMGUgWCUeh7b6SG2+qRGV+5cc6/obY56grWLuZ2XvBxub2psgihWlylij+WH7H6QE8HskOVlM0LFTh/4NAAv3z7PmbFiBkfXRf5fqPWxf5Sh9YWKnuMv4m9B18vVhCQvBSIBUxKjsfTbljm/58hdyK/Gw9ppPjsQ8Z35KUgcq9HfQg7hEpTueWmxhhVFFbVkijDQ87EGfUqFz4+wWVKIPK0GPPcsxT98iKnf0CiLe9w9XzYS8yaBHynJ73ERMn89kypxltacTedIkr350gB5NKXprYPKUn8LwhwouMw9Lk1Ytn6WVtI8DkJ9Y8nEEF0keIPGOOKmyjekEP71FeUwtIpIbtSaRs7f0W5CvOChz7fX6CQj5IR0s1zC9gs6cidUFlnfiVyDAYHFm/uw==
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)(31686004)(8936002)(186003)(6486002)(66556008)(66476007)(2906002)(66946007)(38100700002)(508600001)(2616005)(36756003)(53546011)(6506007)(8676002)(6512007)(86362001)(31696002)(4326008)(6916009)(5660300002)(316002)(26005)(60793003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bmlPamFUdzNoemdhOWh3bXN0ZkRRNHRYTC9zaUJaMjFxRnhVZVgyZEtWZHB1?=
 =?utf-8?B?bTBKcVVXT3R5OU9VMjJ2QVg1cFoyUlZGUjVPMUFuZnlBa01uL3dqNkNDSGlw?=
 =?utf-8?B?Y3NWaWZncC9hQlREV28xNnBjdzRqdnhTazdPemlCZnBYM1U2b3NZT1V2S1ll?=
 =?utf-8?B?K0JKaEVxOEVsUnFnZEVmQXVqTFJRQlZPMXRFR0NwR1NPYUlWYVNpV01wMWIz?=
 =?utf-8?B?MnVQWk93UExsVmZYRE11SHkrSENxR3J1U0NldDZhTEovZm1tUWpEelhhN21V?=
 =?utf-8?B?TkxDZ0YzSVlNb1Z3QU9HNjRheDRJUUFGOUxlQTErdWtuUS9zNGFUT3lNQkUv?=
 =?utf-8?B?d0xreHo4UmhwemYzYjR6Ym1scksycWVrNUlUelhLWlJwTDVQVHpTdmpZUVY0?=
 =?utf-8?B?VlFEZkZRbllkKytUa29ITEtwT3dTZExCK0d1dFhHUEJFRFB2WjhtaWtNOXlJ?=
 =?utf-8?B?ZFdzb21UWkNsYk9IWlBpNUlMYm5NdWw0S0ZsZTdEK09nQ2RscUpBR2hxNFVv?=
 =?utf-8?B?UnhHWHlzTE4zajRRaVVmWGJHSUQrLzF6V2xpN0RJZHV5eHNMbHhlamJPZ3Nh?=
 =?utf-8?B?YWZMY2V5RGwvb0dnVXBIMmdibDFnQXU0cTdVZHZBSlFReE4zbVZuSTJWNDlM?=
 =?utf-8?B?dWw2OVB1VG10S2lEcWNza1FaV00weUJQczVwNTk5NDNZQmVOdWdZMW5iUEZN?=
 =?utf-8?B?N01DckxJVXNFQUN0R0p2bDlDTnEwUWF4aGZ0Yk1DVy9MUnhza0QrKytSK1JZ?=
 =?utf-8?B?VzBReWgzaTRiUS9TeFZzZXI5TmFiWGFtRytXWDZzUElyb0k3TDFQbHRxUnE3?=
 =?utf-8?B?NDhMb2NPUnlRQ0VBT2hxUE1selpIZTVuZjFzRkNHdmlSTnRueUg1b2ZTWTZG?=
 =?utf-8?B?V1FxZnUra3R5UnRic0lDTmFaQktWYTRlZERJVnRYVWxxb29aaW1XOUNDY2tU?=
 =?utf-8?B?c0FaMDFSaE9KalR4V1pnZXlGY1JibG1BbXZ2SXR0aERiSUdOTVBoZmVFZjR3?=
 =?utf-8?B?OTJhWWh3MDlndTZkMFFkWWZrN1FwTDVIbTgyeUEvTkJlMVhiOUV2aEpaV3p3?=
 =?utf-8?B?cDlqUERmeTBhbnJXbnppeGo4blVXQ2lJQWFKeTUzYTBpVXRRVEMvSi9rczhJ?=
 =?utf-8?B?ZHhCMWgwbWp1U1R6ZVhzdm45V1BuVUFZMEkrK1RPZHI3Zkw4VmU1YjNZTnJU?=
 =?utf-8?B?UFJRTGt3RjNscmkrV2J3b2JTdWpHZlh1eFVTUloxUTN0QTJ3cnhkZ3pkU0gy?=
 =?utf-8?B?NldmS1RkZUZaK2tRT3dvTWR0bWxYdFpGNUY5YWRmWnBEcXhIeXVOQUVpTFBq?=
 =?utf-8?B?Qi9QZWhLOEdQL1hzZ3FTRTM2ZUpNZHIvTlhhZUhzS1dtSkd3Yzl2MVlvVEJW?=
 =?utf-8?B?Ym5XdUpDZ0xQVzJuZ0toYWV0RDBSU3Z6Zk4yK3M3dCtESm1UN1k1cDhVbE9p?=
 =?utf-8?B?TjdsZ1JOTHdGcGc3L042L0JnVDIxL25xRDJvamVuT2ZaMVk5UGMxS2s5LzFG?=
 =?utf-8?B?d3FrbGtoaFRqWmZUWWVQZlhLMXhTZ0lCNGdtWDJYYnZEUGJkb0duM3BLY0Rp?=
 =?utf-8?B?aXZGYWR4WVVQNDhZVVNCV0JqMmlRaEdCRmYzemh4eWVrTG1xai9kRUtwOEwz?=
 =?utf-8?B?SWJKbWcrc3VpYVJ3M1ZjN2owcjlXSlNJWk1iaEExMlhkcWhBREMxR2c0Ymhm?=
 =?utf-8?B?c1hZQlBiMktnWlEweE45b3M2ZkpNeVBOVUg1REFEeS9IYjhDMEpiRE5YdTU0?=
 =?utf-8?B?YVpmWDZLaUsrbFk5U01ldHllcy9NcDZHNnBoTTBlVTB0ZXlUQTh3VHRkYTNK?=
 =?utf-8?B?SS9rZlZEdnNSRUc0cDBRWmRLZmlaWnNaWmdFOW5LSitPV21HWWFHTGhobU1U?=
 =?utf-8?B?UEllR0lPWkdKVE40M2MwaGM3VjlvSE1MSEpHc3VkU3RqUTFXZUxKVUtoSEVi?=
 =?utf-8?B?YWhBVEtKcjk0T3J3RUk4b25NOE1VUmhmWjBhYm92Zm42eDR4SlF4dDV0eTg0?=
 =?utf-8?B?azA2dFhVYlRSdWJNczZWc1dqaXpWTm9ZRW9ibGk1c0tudnh6MDA4OENCb3Vl?=
 =?utf-8?B?d0oxU2Q2WENoc0hvMElSSW5oT0VZazRheEJOeG0rM1dWSTdvdHREQVppVUEw?=
 =?utf-8?B?M2pINUtpbU1qTElyb1JBTHR3aldkS1V4blBBMWtVM1F2WHNwRnd0ZzM2bzhO?=
 =?utf-8?Q?jUjMpr4HdeiFAADliDisYMA=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5db0b5c4-4124-43ac-1d57-08d9d1345c06
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jan 2022 16:48:26.3254
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: U9G8II3YdtX1xsAz0PeLZL5MH1swUEqaYNOD/aH8qNOzfnF11IyvZghz7Y2n5OZPee+6MIH435fkjACwwnYh/w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3295

On 06.01.2022 16:54, David Vrabel wrote:
> The Windows XENBUS driver sets the per-VCPU LAPIC vector for event
> channel interrupts using the HVMOP_set_evtchn_upcall_vector hypercall
> (rather than using a vector-type callback in the CALLBACK_IRQ HVM
> parameter since the vectors might be different for different VCPUs).
> 
> This state needs to be saved/restored or a restored guest may not be
> able to get an event channel interrupts.
> 
> Note that the Windows XENBUS driver workarounds this by reissuing the
> hypercall when resuming after a migration, but this workaround would
> not be possible in an guest transparent live migration or a live
> update.

Why would this be needed only for this one form of "via"? And how do
you guarantee no observable change in behavior for existing guests?
It would seem to me that this information is something to be saved /
restored _only_ during transparent migration, as aware guests may
deliberately defer re-registration.

> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -4071,6 +4071,52 @@ static int hvmop_flush_tlb_all(void)
>      return paging_flush_tlb(NULL) ? 0 : -ERESTART;
>  }
>  
> +static void hvm_set_evtchn_upcall_vector(struct vcpu *v, uint8_t vector)
> +{
> +    printk(XENLOG_G_INFO "%pv: upcall vector %02x\n", v, vector);
> +
> +    v->arch.hvm.evtchn_upcall_vector = vector;
> +    hvm_assert_evtchn_irq(v);

While asserting is needed during guest initiated registration, is
this really correct also when registering "behind the back" of the
guest?

> +}
> +
> +static int hvm_save_evtchn_upcall_vector(
> +    struct vcpu *v, hvm_domain_context_t *h)
> +{
> +    struct hvm_evtchn_upcall_vector upcall;
> +
> +    /* Skip record if VCPU is down or the upcall vector is not used. */
> +    if ( test_bit(_VPF_down, &v->pause_flags) )
> +        return 0;
> +    if ( v->arch.hvm.evtchn_upcall_vector == 0 )
> +        return 0;

Aren't you assigning meaning here to vector 0 which hasn't been
assigned so far? Shouldn't you check callback_via_type instead?

> +    upcall.vector = v->arch.hvm.evtchn_upcall_vector;
> +
> +    return hvm_save_entry(EVTCHN_UPCALL_VECTOR, v->vcpu_id, h, &upcall);
> +}
> +
> +static int hvm_load_evtchn_upcall_vector(
> +    struct domain *d, hvm_domain_context_t *h)
> +{
> +    unsigned int vcpuid;
> +    struct vcpu *v;
> +    struct hvm_evtchn_upcall_vector upcall;
> +
> +    vcpuid = hvm_load_instance(h);
> +    if ( (v = domain_vcpu(d, vcpuid)) == NULL )
> +        return -EINVAL;
> +
> +    if ( hvm_load_entry(EVTCHN_UPCALL_VECTOR, h, &upcall) != 0 )
> +        return -EINVAL;
> +
> +    hvm_set_evtchn_upcall_vector(v, upcall.vector);
> +
> +    return 0;
> +}

Don't you need to also set callback_via_type accordingly?

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 06 16:50:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 16:50:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254172.435767 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5VyA-0000Dk-Sc; Thu, 06 Jan 2022 16:50:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254172.435767; Thu, 06 Jan 2022 16:50:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5VyA-0000Dd-PB; Thu, 06 Jan 2022 16:50:30 +0000
Received: by outflank-mailman (input) for mailman id 254172;
 Thu, 06 Jan 2022 16:50:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=a8QS=RW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n5Vy9-0000DV-Mk
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 16:50:29 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c0bfe587-6f10-11ec-9ce5-af14b9085ebd;
 Thu, 06 Jan 2022 17:50:28 +0100 (CET)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2109.outbound.protection.outlook.com [104.47.17.109]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-39-N0_bLPAAMPGcLTEYNnDA9Q-1; Thu, 06 Jan 2022 17:50:27 +0100
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.4844.15; Thu, 6 Jan
 2022 16:50:25 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.017; Thu, 6 Jan 2022
 16:50:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c0bfe587-6f10-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641487828;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=UCkfXug9mVVv1+WFamCC8vcrgs01qrHN/SF9rFvG7cc=;
	b=jB6yNjdL9UhwIX8um4e8+jDHb3U6iaTQMQ8c5B+iN0l1JO/HKsT4SkMH9HBSq73TJzYJzH
	Kh9lD6OZkFcn8LcD3ZYkHjl2D3Jx87YmrRqFyi8ska2nOvcVSwLvqGbptawjmoiXdhXRFH
	rMpvn4lpXpXgbQI3qPxx1C3NPDGB8ts=
X-MC-Unique: N0_bLPAAMPGcLTEYNnDA9Q-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hxSlj0HcjZDGhG4C3eDmdSBIDyZ7QDMjuOR/5spoeCd/yL3aW558Q/nVsRV8z+rU/Sn24iIP16xlJl3hTwmFZREreeOLnEr0g+Hd/hZoBRs8OoQAH54Qx2of/1VGCEHyUc4w2Gdr9Tr4CiG8tMUhTd67xuMZpUfn2GJmqbTcHXpVRsOHMJ8DG6Vv4Qyr7GG0mr56gIXGUTP6nlxn7W2sB5KSey3kHvp2Rf7W7awgiilGPrSCuzMqp0uvrSwMyQenLHS0hHgnYafT0P3Wg38nHpKwy+UyfZdPiCIe7eum8hXBI9XHOQ5c2h3sbqrN7WpxoxYn1apyeGrwM/evpt1O6A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UCkfXug9mVVv1+WFamCC8vcrgs01qrHN/SF9rFvG7cc=;
 b=J+OIKD8LIRsriekkVHFfK6WsA8bh8z/pEn6VZdD+KVMNa7pmFjsvvNe2MI6+x4VQZiKwQzcyZ1A6CTjNShP4e1/6jJ7gyyGtya1pzVIL38XC33N5fLMsvdbFjv1Ybd3XiYgv51lDewH/AYCnQTLEM3f7vgyX2F0+4AIDZkbxEkbv6GycS1kyJ6Ao56BCCuoypIE8XISgmwGuYXHxNCOvoha5kibqNBeWzoMMiSCJRwJbm+tBwgMnxCUclOLPCP3Pw7d6WMN4+Q2qcxV9K1JsZgli5j3TeIjfZY+5VMO6H94sj/TE5vLdJUq6hWYGvRHwu2USn/2nK87FU4Dh8YB3Zw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <acfd7034-367c-4654-1e9c-49bd1f0da475@suse.com>
Date: Thu, 6 Jan 2022 17:50:22 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH V5] xen/gnttab: Store frame GFN in struct page_info on Arm
Content-Language: en-US
To: Oleksandr <olekstysh@gmail.com>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <1641424268-12968-1-git-send-email-olekstysh@gmail.com>
 <a7a905fe-3feb-507a-7ce4-ed7dce78de86@suse.com>
 <aeba1af9-8386-3bca-dfbd-1c9110ae09de@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <aeba1af9-8386-3bca-dfbd-1c9110ae09de@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR04CA0011.eurprd04.prod.outlook.com
 (2603:10a6:20b:92::24) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 82d12b0d-5355-4e2b-7d65-08d9d134a302
X-MS-TrafficTypeDiagnostic: VI1PR04MB3295:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB3295D0E2890599977302D390B34C9@VI1PR04MB3295.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:3513;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	cdhrnTcgZx6O+YAT8xKfsH+oUMN+VrQDgVplaUDdqTz/0E14Of5/ZdsxeIO0mTE/in50QxXzTZnP63co4tdRuZGP8VKcI8xsCdDfXvjSMGC4dd3mo6GeJKN8LmG+Ath/zGMKg0veAnqERgTejizKopGBJZyxtNvtiuWf+FX61aTfnHIEtRfVKTgnzpsMOGRo8ei/20CRvuDqU3umVsrNwbI1uPnh+MsmAlm3/PluTyENYLlt5MYF3EpeCmB9IOR3H6XJ+wn4/PR/R+Ldtelq5608zGL8otOLgpJYEZvJ9VZ7gufF/U9RQTxDGeCDe8/8fO7KOOQ5NRrgbh+WGLUQq4W+Iq1a1iVhKPKPR5FXTxCMGivLOhRrYYXaoOta8PSm+a7QH+KCxFT/HOVootzu3jcyaplRdSH7Wq+bCOYuh1wL/kv0Gl5x9I7+aDxe6C9Vk5zEn68bewhVBti49VP5aubnHqjQ86Md+cqaKZWLf70UjF6hLMxPyyV7ybJlU5q09Sb3NLdiL0wn69qURG3TfMvFkhJdNzglbmdhEL0PdXXze3bdRHjuQEcgjBIc9VstUZs240kPNUaGOHxLRUjIcLWlLV+Zs6GOj5DnxChhxyKN1ruxm3U7eQE+37KzlSZxVULE/Ie7sfForvWE+ixiC0nSnNSsX3Nij2ZtmQj926/ISBLOJDAH+eEyoSQKXos4ObrJ/Wlna7PSZidBBtRaYHBkGOxR3rVTRMWsSAz4BZu8E59cict8rK5aURf5VBz1
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)(8936002)(186003)(6486002)(66556008)(66476007)(54906003)(2906002)(558084003)(66946007)(38100700002)(508600001)(2616005)(36756003)(53546011)(6506007)(6666004)(8676002)(6512007)(86362001)(31696002)(4326008)(6916009)(7416002)(5660300002)(316002)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Q0RHZnJoQkFuU2REKzlJa2ZGQmYxd05ZbXE4UE5rR0JQdnB1cXRwMWEvd25B?=
 =?utf-8?B?VFZRbFRCSnB1NGJHM2Y5R2psbVF0UlAxaUozbGxMMlAvMWNYbGk1c3dPdU1a?=
 =?utf-8?B?aytBWXI2VEdKcXJ1L2phS0R4d2FPdjhOaXRIWHJveW5tUi9wRFV3UnZtODMr?=
 =?utf-8?B?T0xUSFhvcG5Ec3VGdHB6c0trdFFiRzh1S1RjRFJJOFU4SWtpZzZ5TWZ0T0hu?=
 =?utf-8?B?T2RhUmhTUEFtU0JXc2RPMS9JaUZWUmlsdlhSOUVHVkgrUGEyN1h4V3lqSDEz?=
 =?utf-8?B?SkorMlJSNW1yNXdRM0x2NDNKMitIVGZmVDhXV3JRalBpMk5SNWhOR09OMVk5?=
 =?utf-8?B?SlVEd1A2VHZqRkl6WERKNUJlV281NWZ5TXFmd1RZSVJ3ekd5ZFJla3JuMDZ1?=
 =?utf-8?B?bkF5N05oOVIvZ0NZVUxZT1dNMXZDTis1bWdncUJkQW1PMGJkR3RqeXUwNHBa?=
 =?utf-8?B?TmVXMXNZemZOSHAybDdzU1lqenQ5MW9INzl0MDl4YmVrOVlYeXNOVFQvQlNk?=
 =?utf-8?B?Y2dmRWF4TGpia016clhBUW5yK1lrTEtoVUVKcTQ3WjJxdDBqTWVhS05UR0My?=
 =?utf-8?B?cWYvQlVNY1FqTTBpNHNoN3UwUUtLZGZwN25YcTFxZk9HWUsvMlh6RDBMd05K?=
 =?utf-8?B?R3dPcEtDNDRFMkZDNmxQanpvekdiRkMzdFZxTWthd25rdWc5ZkkrMHZvS3FZ?=
 =?utf-8?B?RXpCcGNTVDA0TGVYNkZiR2haVTdLMEtUWlZBQmcwL2dKUmFRbzNMbTJVVGUy?=
 =?utf-8?B?aXhKdU84eGRlN09hSmF3VnpPVWkyc3ZtaFJKMHhMZFFwQi9Vc01xNHROQ0Vv?=
 =?utf-8?B?bzlaV0dLRmV1YVN2Ry9haUlzb2tSY2FKRVlLL1p3c29jY0JmVjdxY2xaMzVM?=
 =?utf-8?B?c1B1azh3MzZsVU5xZ2EvWUNIakpKL05TTXBlcE5OUWxxSDRaM3dPTlU1YUtq?=
 =?utf-8?B?VFArY1VqVkRJSDRaYm1XUTBCT1BCTmpDMjdZSnZ2djBFYVJWZW1UOHpOT1Zq?=
 =?utf-8?B?S0dBRlVrbjJVYzNhaTZEbHpsWGZnWGFreHM3Zk1FRVVqQitpSlNadFZnWmx5?=
 =?utf-8?B?OVN1b2ltWC9qUitLV0M5NG4rdHo2RjlpakNoKzFmSDcyNEtqSUx5eklRYy8z?=
 =?utf-8?B?b29zZUhhYUZFcWkwUGw5N0lRajRZbjdlb2VPR2ttcS9pcEtpVnROVWdtanRm?=
 =?utf-8?B?TjZhc1RQMHMybVI5MHhIZjF6RjNPMXluazJRNDE5ZDJ1M3FQSVVEMEJWSDJG?=
 =?utf-8?B?N0ExalU1RWc4MVMzcUc2NkdJL3FPalpoZExzYVVOaDVncDhpeW44bHZ5YWNk?=
 =?utf-8?B?dXJ2eWJPN3luamxMVWZSV1ZGZGZ3TC8yNDJTei94ZjFwNW9Ta0NlRDIwQnFr?=
 =?utf-8?B?bUpiMmpzRXcxa1hocElHT2hvcnIwNU9zUkY3d3V5dVFFTGxBT2NOdjdtYlMv?=
 =?utf-8?B?Y2NWS0VIbFhZY1BSWUxYbndzMUlpeWRzUnc1SVZQc1hlOUNFbC8rZ2k0UDV5?=
 =?utf-8?B?UE5JVnJnVlU5aTJLNkNsUnRXZzEyZG5obkozRlNvY3JPK25jWTVmKzMrNU1x?=
 =?utf-8?B?azJiTmhUb1FrS3dFWnFsNXNiTGZwYktuMDR5RUNTUTNFUkZ0VGE0bXFzQi9j?=
 =?utf-8?B?Wm43c2ZoQlVsbm9lSU1jUDgrVzllaWdtejg5STRLc0UyNnorYXpBVjZqOWlM?=
 =?utf-8?B?OUNUSmxZaEM5OFBGNDc3dWpqTUZjSVQxV0dEWmhYUFFhOWgvMmFCV1JnSHBJ?=
 =?utf-8?B?RGRlWGgzK3phM2Z3R3pVTjk3bWlrWVZOWml6UGdlTjRVbWFuUEo3Qmk3cHp6?=
 =?utf-8?B?a01NaUJiYWEyL3duQXNRZUFKUXZlQldLTzRsSXdiVHBHYmVlK1RWQXVSbWkw?=
 =?utf-8?B?cE9aTGVBTnYzRE4vNEhwTUxseXNyM1BZa2Y2WG5QbCtibHhOS1pHaGVPeUNm?=
 =?utf-8?B?d2U3eG4vZThXREdhc1JxZW5IY291QS9NRlVKdzVaSEZQWWFza0ZRSHduYUhR?=
 =?utf-8?B?K0RSazJLQytBU05ad2pLY25nS2xZS0NFNVRWQ3FmREw3UUhJQnRSSkpRTHZk?=
 =?utf-8?B?clhaUXdoVXluNkdkcUQ5SzJCZVIvNWhSc3ByaFRDdE5KaGt4eXh0cGFici82?=
 =?utf-8?B?emlqTG9XeENKVEdmQjBtdzB3a3o0ZmZMMENUNkdxcjFhMmFOaDBid1ZhYnZF?=
 =?utf-8?Q?D7LyaIuZbgRf4HzbBkmitds=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 82d12b0d-5355-4e2b-7d65-08d9d134a302
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jan 2022 16:50:25.4279
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ASNKFqGZeSn1jM/UsG5t8Ed2K/xsKvzCAsXjnXmbGKy2sMjW6+AHX+RJ4xu9z1PPtF2Xn/kzg+ezzWcxeOsSnQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3295

On 06.01.2022 17:30, Oleksandr wrote:
> In case you don't have any other objections shall I re-push v5.1 with 
> proposed adjustments now?

I'd suggest you wait for feedback by others. After all there may also
be opposition to what I have said (in which case you'd go back and
forth).

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 06 16:59:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 16:59:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254179.435778 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5W6f-00011y-TP; Thu, 06 Jan 2022 16:59:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254179.435778; Thu, 06 Jan 2022 16:59:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5W6f-00011r-Q7; Thu, 06 Jan 2022 16:59:17 +0000
Received: by outflank-mailman (input) for mailman id 254179;
 Thu, 06 Jan 2022 16:59:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=a426=RW=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1n5W6d-00011h-EE
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 16:59:15 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f74ce459-6f11-11ec-9ce5-af14b9085ebd;
 Thu, 06 Jan 2022 17:59:12 +0100 (CET)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id CF91A3203661;
 Thu,  6 Jan 2022 11:59:07 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute3.internal (MEProxy); Thu, 06 Jan 2022 11:59:08 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 6 Jan 2022 11:59:05 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f74ce459-6f11-11ec-9ce5-af14b9085ebd
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=fm1; bh=0vGvuv
	juDyt65yvtD1GJB2V8OzoYjUroXY3LcTsJRBA=; b=AJU/XMZPfjlQwqtfnQH9Kp
	9iQBSyqhKuVR6g1HxAKZtdQ/2GZIRuKEXQaGlTF6BWlbFaxQBylyzF+4C7wGX//H
	AAyg9C/fNCAdcFHdA9P97dzVWZKGVsqeYc2n3wUERI4QAslmGwZ4eOqpLelYowWN
	7GUUPJ6IFu9fbwRDaknxmBAmv3oF87aOBcmD4qwjZUVjzqfKRpWE0sFxuetYgYaU
	G0C56fBvjYxjMhCGzyBYqEgKL4i2DRGESPJeKnYAESfI6G7oDWr9MkDdehGyoj1K
	jSueILlbmoSc9mO0pa0hqFh8rOPWnWKUVpbdDnc4dgKmKZcE7S/ghu+unRiC+UaQ
	==
X-ME-Sender: <xms:2x_XYaLbFwehld-mPPno9AT51iE59R2AHuNbZbt_2LeApryDwm4Nsw>
    <xme:2x_XYSIsyrFvGPJhXYI4KR3W5Ze-TdtOwkgXozvacYPoUAeko2ftynq7adpIttyv5
    Lvd2qKC5D5Xzg>
X-ME-Received: <xmr:2x_XYauuc3lC4_7BLg2-fdq0-DDjC0PhdIXSaNg0QoG9DH3oxeKIfU5THG3L05tKMvS8HerZsLhathEeVIBIHg5I3rJSBb3G>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvuddrudefledgleegucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvffukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeforghrvghk
    ucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesihhnvh
    hishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeetveff
    iefghfekhffggeeffffhgeevieektedthfehveeiheeiiedtudegfeetffenucevlhhush
    htvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhes
    ihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:2x_XYfZstjlZ1xfkGd8v9mGQUhOnnGdvAhXZ1SHEYSquHLepH967vg>
    <xmx:2x_XYRYtnXsKV3kN14uNVcb6I1STkD783yCCeXC-mogyzpER6jHH1Q>
    <xmx:2x_XYbCSnP3mJOlSjA5nKZbYcJMzAZ0lbS5jDlrzLfrHpMQlsumK0A>
    <xmx:2x_XYWNtm-1qHMWvzYzzCndRCEo8yRErfttxFoftHkHzKTqgHItgnw>
Date: Thu, 6 Jan 2022 17:59:03 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Juergen Gross <jgross@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Julien Grall <julien@xen.org>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <George.Dunlap@citrix.com>,
	Ian Jackson <iwj@xenproject.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Subject: Re: Live update of Xenstore-stubdom
Message-ID: <Ydcf17CezyPpQS8E@mail-itl>
References: <a6ba7e89-f70b-3c51-5a65-06c62f5cd512@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="a0uNv+m80abC6JxE"
Content-Disposition: inline
In-Reply-To: <a6ba7e89-f70b-3c51-5a65-06c62f5cd512@suse.com>


--a0uNv+m80abC6JxE
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 6 Jan 2022 17:59:03 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Juergen Gross <jgross@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Julien Grall <julien@xen.org>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <George.Dunlap@citrix.com>,
	Ian Jackson <iwj@xenproject.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Subject: Re: Live update of Xenstore-stubdom

On Thu, Jan 06, 2022 at 03:33:49PM +0100, Juergen Gross wrote:
> I'm currently thinking how to implement live update of Xenstore-stubdom.
>=20
> I should note that my plan is to support live update for a Xenstore PVH
> stubdom only, as kexec functionality is much easier to implement for
> that case.
>=20
> The main problem is to transfer the Xenstore state to the new instance.
>=20
> Originally my idea was to keep the state in memory and hand it over to
> the new kernel as a module. This would probably work, but there is one
> basic problem with that approach: the Xenstore domain might need quite
> some additional memory to hold the module (roughly up to twice the
> memory it has in use when starting the live update).
>=20
> As a result the live update sequence would need to:
>=20
> 1. increase the maximum allowed memory of the Xenstore domain
> 2. allocate additional memory for the module
> 3. create the module
> 4. kexec to the new kernel
> 5. build the Xenstore from the module
> 6. free the module memory
> 7. decrease the max memory of the domain again
>=20
> The first and last step would need to be done by xenstore-control in
> dom0, while all the other steps would be done in the Xenstore-stubdom.
>=20
> As an alternative I was thinking to add some basic file operations to
> Xenstore-stubdom. This would have the additional benefit of having an
> easy way to add Xenstore logging support to the stubdom without the risk
> to lose logging data when using the console for that purpose.

What specifically is wrong about using console for logging? Rate limits?

> So what are the thoughts for the way to go with Xenstore-stubdom live
> update? Should I use stubdom memory for the state, or should I go with a
> file based approach (and if yes, 9pfs or pvcalls based)?

Personally, I'd go with memory, as IMHO it the cleanest design from
disaggregation point of view (what was in stubomain, remains in
stubdomain, no extra external interface necessary).

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

--a0uNv+m80abC6JxE
Content-Type: application/pgp-signature; name="signature.asc"

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmHXH9YACgkQ24/THMrX
1yxBqQf/R+xOKA4SAt7+X07JsFPxrGMFMHQw7jqaU99Swx8+Ul8+2UT5meQPg71H
jq8japwTOBeAB/l74qJM3OvGRUxERdF7JbDCSuZDEqrmSyww0Uydg23GusqNez5I
J5NNSllOSJH3Ojjxtnq19YhOPoBEyDdpyQ+Aozlz1ysmMcbNjdXUN25lgOUB8ZTY
AW3+Jm0oG2vjtI8r8a+7sF99GRuHwZjRcfH5p3Ysi19zEYKoK7FWeQ93vPfT6305
DfTSqn/1Fc07vBAoJgPnYJ+zZ7Xtewd98xC0jxTSMKVnHlN25LeyLo6+J30t7kTU
35LOKhCVw4I7AK9rRS7JZ5/VcrxetA==
=/5IL
-----END PGP SIGNATURE-----

--a0uNv+m80abC6JxE--


From xen-devel-bounces@lists.xenproject.org Thu Jan 06 17:28:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 17:28:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254185.435789 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5WYB-0004G0-Av; Thu, 06 Jan 2022 17:27:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254185.435789; Thu, 06 Jan 2022 17:27:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5WYB-0004Ft-72; Thu, 06 Jan 2022 17:27:43 +0000
Received: by outflank-mailman (input) for mailman id 254185;
 Thu, 06 Jan 2022 17:27:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xiBy=RW=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1n5WY9-0004Fn-UO
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 17:27:41 +0000
Received: from mail-lf1-x133.google.com (mail-lf1-x133.google.com
 [2a00:1450:4864:20::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f333c908-6f15-11ec-81c0-a30af7de8005;
 Thu, 06 Jan 2022 18:27:40 +0100 (CET)
Received: by mail-lf1-x133.google.com with SMTP id j11so6459567lfg.3
 for <xen-devel@lists.xenproject.org>; Thu, 06 Jan 2022 09:27:40 -0800 (PST)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id bx39sm247241ljb.21.2022.01.06.09.27.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 06 Jan 2022 09:27:39 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f333c908-6f15-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=6fQtBFlelzNvP94J1wnQ15C4wf9pReQr7LeXBGFOy/8=;
        b=eR3inorkUkhf/YIs7UEXunWXQ+3qt/3nfnsz6tW6Dl56JDuWUSjCiPTDmekeM5Msi3
         gzy+O9fF4wkBq3L6+uiSP5FHif8DXKY2OFW5Ixx9TDXJ/BlbKpA8PLQW1OSezJQ412wU
         JGu3qL0NaoBQZWP2Ti8DklDHQhY7RYtJybicXaawMepKcxIx7IGI68GUR69Sr7MQegjt
         h8KzFfO20RPN2OJI13D8Awd5B9kHtXIK8ZUrTfJZAhxbTU3DBLYH9ULckM4KjpEM8x2a
         84FHc2HoYv+D0ShwGkyc/OnzrH1f0V19VdOxbS1H6ae5o/8bTdQEyUWCIJIfjX9rtUCD
         qGog==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        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=6fQtBFlelzNvP94J1wnQ15C4wf9pReQr7LeXBGFOy/8=;
        b=I1h8cfzSuNub/7Laqma7xKmR+jis0chFY8Z7O6/uEnNCfyPy1OZGIii2UlL72EYSE1
         oVn3FtQ1vgpj2znBj3z8U0fzjBmXCDGcLSfv6GagWaCzTAbqP3oMFi1DUOfxsxoixZo6
         G8hsTCQjVBtdA0Zn8Fb3/wktLMn3iWo3GdJ1938ZJi74GViOg2qXUSS4Dxz7CR2N3u0a
         9AzV+dvZRORyWpPfKJi6TTHDpra6IRgrc+2wPJJPK+eXkp4TvGmKYyC5wvHeWD+39HYX
         24hvdDSyU7DCEIz17dNCR1udM5tH0qN58upQIS7mYt872mJYHomMea0FcwPDOGHUgFwm
         0ufQ==
X-Gm-Message-State: AOAM532X/7HoMd1KX+RBiBz8yvOnQE2PyHk2ekM1qDA5nDH7/Sb/7xAD
	d2G1a6Wa1tzwOHFVIaBGz2l4aTiAZ/4=
X-Google-Smtp-Source: ABdhPJywQyUN/DCSw+n1KQLNH9yTTt2fDpRVa5pkeN6hT3b2R5/S60vqJ4hYyuYeBF9hPxc8C/J/Uw==
X-Received: by 2002:a19:7b1d:: with SMTP id w29mr52372115lfc.674.1641490060205;
        Thu, 06 Jan 2022 09:27:40 -0800 (PST)
Subject: Re: [PATCH V5] xen/gnttab: Store frame GFN in struct page_info on Arm
To: Jan Beulich <jbeulich@suse.com>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <1641424268-12968-1-git-send-email-olekstysh@gmail.com>
 <a7a905fe-3feb-507a-7ce4-ed7dce78de86@suse.com>
 <aeba1af9-8386-3bca-dfbd-1c9110ae09de@gmail.com>
 <acfd7034-367c-4654-1e9c-49bd1f0da475@suse.com>
From: Oleksandr <olekstysh@gmail.com>
Message-ID: <7bf0ec95-21f6-e19d-836c-cdf010fba872@gmail.com>
Date: Thu, 6 Jan 2022 19:27:38 +0200
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: <acfd7034-367c-4654-1e9c-49bd1f0da475@suse.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Content-Language: en-US


On 06.01.22 18:50, Jan Beulich wrote:

Hi Jan

> On 06.01.2022 17:30, Oleksandr wrote:
>> In case you don't have any other objections shall I re-push v5.1 with
>> proposed adjustments now?
> I'd suggest you wait for feedback by others. After all there may also
> be opposition to what I have said (in which case you'd go back and
> forth).

You are right.


>
> Jan
>
-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Thu Jan 06 19:27:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 19:27:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254192.435800 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5YPf-0007Gt-9S; Thu, 06 Jan 2022 19:27:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254192.435800; Thu, 06 Jan 2022 19: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 1n5YPf-0007Gm-6S; Thu, 06 Jan 2022 19:27:03 +0000
Received: by outflank-mailman (input) for mailman id 254192;
 Thu, 06 Jan 2022 19:27: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 1n5YPd-0007Gc-MJ; Thu, 06 Jan 2022 19:27: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 1n5YPd-0003Jm-Jt; Thu, 06 Jan 2022 19:27: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 1n5YPd-0004zV-9c; Thu, 06 Jan 2022 19:27:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n5YPd-0005uW-9D; Thu, 06 Jan 2022 19:27: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=WK64G3Vp85kx1Njgsj7WJG+ZpCJ/sx2aeZzr4Gr9Y38=; b=CLHABwnqJBs46WW0zZAtqq/AaX
	wWuTZl9MsTc8Akii/1Kg6O8Z47Gh5LapHyZm8WllwmbLXchV1kFWObFVxzqUGSu6kqFdnzj6ftqV9
	o/ZUEEowuDVlRZk+EJ0zZTin+XjbS1RfKCsKZzW5+A03yJu9GJhUQtrdiHDq/evgc7UQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167621-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 167621: 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=ced5685208f4525edc3aa86f41eeaee5ccc9fe31
X-Osstest-Versions-That:
    xen=31f3bc97f4508687215e459a5e35676eecf1772b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 06 Jan 2022 19:27:01 +0000

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

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                  ced5685208f4525edc3aa86f41eeaee5ccc9fe31
baseline version:
 xen                  31f3bc97f4508687215e459a5e35676eecf1772b

Last test of basis   167610  2022-01-05 13:01:38 Z    1 days
Testing same since   167621  2022-01-06 16:01:38 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          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
   31f3bc97f4..ced5685208  ced5685208f4525edc3aa86f41eeaee5ccc9fe31 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Jan 06 21:05:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 21:05:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254202.435811 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5Zwd-0008QE-KD; Thu, 06 Jan 2022 21:05:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254202.435811; Thu, 06 Jan 2022 21:05:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5Zwd-0008Q7-HG; Thu, 06 Jan 2022 21:05:11 +0000
Received: by outflank-mailman (input) for mailman id 254202;
 Thu, 06 Jan 2022 21:05:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=J4l4=RW=gmail.com=highlimner@srs-se1.protection.inumbo.net>)
 id 1n5Zwc-0008Q1-5d
 for xen-devel@lists.xenproject.org; Thu, 06 Jan 2022 21:05:10 +0000
Received: from mail-ua1-x933.google.com (mail-ua1-x933.google.com
 [2607:f8b0:4864:20::933])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 53fc74db-6f34-11ec-9ce5-af14b9085ebd;
 Thu, 06 Jan 2022 22:05:08 +0100 (CET)
Received: by mail-ua1-x933.google.com with SMTP id v12so6727764uar.7
 for <xen-devel@lists.xenproject.org>; Thu, 06 Jan 2022 13:05:08 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 53fc74db-6f34-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=xj/++dpfvQtxhLef1zLyrPPbbMaJ1KQQqACCUa6jBV0=;
        b=SWOuoczxDPpq5IpyQElGXmpT3eK2AcFUBIrLN6vWU1K6VZSABChG5PXuwe7t2AfIar
         AsMIcoVVASdhtKz0M01UcaK80FGhbhqqcWAY+vPt1CQXCn4p9DhrVyHpe/y9jKkZS0yC
         YxVdX/sum650rZipVHxt1FLBxQaQELZBHD0IgYF5HFDlmhxblajj8UQp8exYm6xK0r0Q
         vh/wIIXOrJlUrN/vyLHFcdgGSedbwdRamD7iPJmbenzdeYCIGj5L/pbrjonJ4lISYQum
         zpIXLrQgoah4s7KIY6ddmQiXFyDd5VA/0O++3b3XeYJsv321NK6Sw7ygs2y1OarSaeFf
         mDGg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=xj/++dpfvQtxhLef1zLyrPPbbMaJ1KQQqACCUa6jBV0=;
        b=CNclu1wfnE68IcYbph/LYG7CheT9sFTMSkdGRFaM0lbMOcmIV606xhXK+Ri3btqcP2
         zXQHj7LBxMoMeoFlVaJpf+MKW/XA2nqK4dPybFchl4/iZfOxmJfM3MMyn4Y31B6OAlrl
         troJY+1j+bd5ZUi60kyPO/XqxM4DGKKuD0lKYkO3Fn9cG22MTmRIgB1cuf7MulTePT3k
         d6kQY6tFSl7mSsrHwr6/LhVeBsfONoC+B0tGZ+vIIo2C3RXM1zXs2hJ6mkS/2mlyOoud
         v7e18uKLkXHi8ZvFDN81HOKjhh3v/yDZGaCKrXg6sB5yRNYfQq6Eiprrf3B4u2KvZkD7
         wLKw==
X-Gm-Message-State: AOAM532AY8tVMrTsCiEQxx8Cpj7Nc8iqBFx0EuE/zawJ8miVJEcAbDIT
	Gq8QbBlIta4myeMuh/sehUJpcU0yOzuIsph0haQmuiPMdBx6ddgsmVU=
X-Google-Smtp-Source: ABdhPJyc6JAMDVApwzAKn6Lue5Le0Uu+Y1F+VwuJzpVzN0wqmd/JmfWqfUkk85m1EYSXMoa6CHi+0zaNFFkoExngECo=
X-Received: by 2002:a05:6102:3ed2:: with SMTP id n18mr38590vsv.72.1641503107379;
 Thu, 06 Jan 2022 13:05:07 -0800 (PST)
MIME-Version: 1.0
References: <CAN2gxUQmsa=ONQqj0-3PZ2oxp-QVMgsm0BQ+q=-LWwmWTqwMZg@mail.gmail.com>
 <CAFLBxZazbQUF5bXw=yxM7+48KVVz_rJoi8UWrH83Ln-j40u9PA@mail.gmail.com>
 <CAN2gxUQ_h79Sy006NBcRkFzj9PDAjn8JA3UjQo4L81xo7ShgbA@mail.gmail.com> <CAFLBxZZX9escoCP92dLMCqQGv1-CHaEOzX7NAzvHs_heXYxfhg@mail.gmail.com>
In-Reply-To: <CAFLBxZZX9escoCP92dLMCqQGv1-CHaEOzX7NAzvHs_heXYxfhg@mail.gmail.com>
From: amir masoud noohi <highlimner@gmail.com>
Date: Fri, 7 Jan 2022 00:34:29 +0330
Message-ID: <CAN2gxUSL8f=osqSn89CGfMgdwcoosj9Cwk=rQjycOt_z95S_Mg@mail.gmail.com>
Subject: Re: scheduler credit capture
To: George Dunlap <dunlapg@umich.edu>
Cc: xen-devel <xen-devel@lists.xenproject.org>
Content-Type: multipart/alternative; boundary="0000000000009cf61305d4f03903"

--0000000000009cf61305d4f03903
Content-Type: text/plain; charset="UTF-8"

>
> It looks like you can get the info you want for credit2


How?

On Thu, Jan 6, 2022 at 6:12 PM George Dunlap <dunlapg@umich.edu> wrote:

> [Adding back in xen-devel to the cc' list]
>
> On Thu, Jan 6, 2022 at 1:41 PM amir masoud noohi <highlimner@gmail.com>
> wrote:
>
>> yes exactly, I want to see the changes of a credit for each vCPU
>>
>
> (FYI we respond in-line on the Xen mailing lists rather than top posting.)
>
> Your best bet is to look into xentrace & xenalyze, and the trace or TRACE
> calls found in xen.git/xen/common/sched/credit[2].c.  It looks like you can
> get the info you want for credit2, but not for credit1 unless you add some
> trace points in.
>
> You can find a video introduction to Xen tracing here:
> https://vimeo.com/33655967
>
> It's a bit old but that system hasn't changed much.
>
>  -George
>
>
>>
>> On Thu, Jan 6, 2022 at 2:32 PM George Dunlap <dunlapg@umich.edu> wrote:
>>
>>>
>>>
>>> On Wed, Jan 5, 2022 at 2:45 PM amir masoud noohi <highlimner@gmail.com>
>>> wrote:
>>>
>>>> Hi Everyone,
>>>>
>>>> Today I'm looking for capturing vCPU credit for both credit1 and
>>>> credit2.
>>>> How can I do that?
>>>>
>>>
>>> Can you explain what you mean by "capture vCPU credit"?  Do you mean you
>>> want to log or sample changes to it?
>>>
>>>  -George
>>>
>>
>>
>> --
>> *Regards*
>> *Noohi*
>> *noohi.org <https://noohi.org>*
>>
>

-- 
*Regards*
*Noohi*
*noohi.org <https://noohi.org>*

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

<div dir=3D"ltr"><blockquote style=3D"margin:0px 0px 0px 0.8ex;border-left:=
1px solid rgb(204,204,204);padding-left:1ex" class=3D"gmail_quote"><span st=
yle=3D"color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:12px;back=
ground-color:rgb(233,234,234)">It looks like you can get the info you want =
for credit2</span></blockquote><div><br></div><div class=3D"gmail_default" =
style=3D"font-family:&quot;trebuchet ms&quot;,sans-serif">How?</div></div><=
br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Thu,=
 Jan 6, 2022 at 6:12 PM George Dunlap &lt;<a href=3D"mailto:dunlapg@umich.e=
du">dunlapg@umich.edu</a>&gt; wrote:<br></div><blockquote class=3D"gmail_qu=
ote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,20=
4);padding-left:1ex"><div dir=3D"ltr"><div>[Adding back in xen-devel to the=
 cc&#39; list]<br></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" cla=
ss=3D"gmail_attr">On Thu, Jan 6, 2022 at 1:41 PM amir masoud noohi &lt;<a h=
ref=3D"mailto:highlimner@gmail.com" target=3D"_blank">highlimner@gmail.com<=
/a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0=
px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><=
div dir=3D"ltr"><div style=3D"font-family:&quot;trebuchet ms&quot;,sans-ser=
if">yes exactly, I want to see the changes of a credit for each vCPU</div><=
/div></blockquote><div><br></div><div><div class=3D"gmail_quote"><div>(FYI =
we respond in-line on the Xen mailing lists rather than top posting.)<br></=
div><div><br></div>Your
 best bet is to look into xentrace &amp; xenalyze, and the trace or=20
TRACE calls found in xen.git/xen/common/sched/credit[2].c.=C2=A0 It looks=
=20
like you can get the info you want for credit2, but not for credit1=20
unless you add some trace points in.</div><div class=3D"gmail_quote"><br></=
div><div class=3D"gmail_quote">You can find a video introduction to Xen tra=
cing here: <a href=3D"https://vimeo.com/33655967" target=3D"_blank">https:/=
/vimeo.com/33655967</a></div><div class=3D"gmail_quote"><br></div><div clas=
s=3D"gmail_quote">It&#39;s a bit old but that system hasn&#39;t changed muc=
h.<br></div><div class=3D"gmail_quote"><br></div><div class=3D"gmail_quote"=
>=C2=A0-George</div></div><div>=C2=A0</div><blockquote class=3D"gmail_quote=
" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);=
padding-left:1ex"><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"=
gmail_attr">On Thu, Jan 6, 2022 at 2:32 PM George Dunlap &lt;<a href=3D"mai=
lto:dunlapg@umich.edu" target=3D"_blank">dunlapg@umich.edu</a>&gt; wrote:<b=
r></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex=
;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr">=
<div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" =
class=3D"gmail_attr">On Wed, Jan 5, 2022 at 2:45 PM amir masoud noohi &lt;<=
a href=3D"mailto:highlimner@gmail.com" target=3D"_blank">highlimner@gmail.c=
om</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margi=
n:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex=
"><div dir=3D"ltr"><div style=3D"font-family:&quot;trebuchet ms&quot;,sans-=
serif">Hi Everyone,</div><div style=3D"font-family:&quot;trebuchet ms&quot;=
,sans-serif"><br></div><div style=3D"font-family:&quot;trebuchet ms&quot;,s=
ans-serif">Today I&#39;m looking for capturing vCPU credit for both credit1=
 and credit2.=C2=A0</div><div style=3D"font-family:&quot;trebuchet ms&quot;=
,sans-serif">How can I do that?=C2=A0</div></div></blockquote><div><br></di=
v><div>Can you explain what you mean by &quot;capture vCPU credit&quot;?=C2=
=A0 Do you mean you want to log or sample changes to it?<br></div><div><br>=
</div><div>=C2=A0-George<br></div></div></div>
</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"><div><div dir=
=3D"ltr"><div><div dir=3D"ltr"><div dir=3D"ltr"><b><font color=3D"#999999">=
Regards</font></b></div><div dir=3D"ltr"><font color=3D"#999999"><b>Noohi</=
b></font></div><div dir=3D"ltr"><b><a href=3D"https://noohi.org" target=3D"=
_blank"><font color=3D"#999999">noohi.org</font></a></b></div></div></div><=
/div></div></div></div></div></div></div></div>
</blockquote></div></div>
</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 dir=3D"ltr"><=
b><font color=3D"#999999">Regards</font></b></div><div dir=3D"ltr"><font co=
lor=3D"#999999"><b>Noohi</b></font></div><div dir=3D"ltr"><b><a href=3D"htt=
ps://noohi.org" target=3D"_blank"><font color=3D"#999999">noohi.org</font><=
/a></b></div></div></div></div></div></div></div></div></div></div></div>

--0000000000009cf61305d4f03903--


From xen-devel-bounces@lists.xenproject.org Thu Jan 06 21:16:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 06 Jan 2022 21:16:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254207.435821 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5a6z-0001TM-LH; Thu, 06 Jan 2022 21:15:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254207.435821; Thu, 06 Jan 2022 21:15:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5a6z-0001TF-IL; Thu, 06 Jan 2022 21:15:53 +0000
Received: by outflank-mailman (input) for mailman id 254207;
 Thu, 06 Jan 2022 21:15:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n5a6y-0001T2-9s; Thu, 06 Jan 2022 21:15:52 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n5a6y-0005Nf-6v; Thu, 06 Jan 2022 21:15:52 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n5a6x-0000EP-Qp; Thu, 06 Jan 2022 21:15:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n5a6x-0007jb-QL; Thu, 06 Jan 2022 21:15: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=cdlcvIC+ZP1jh7fC6ovXRMjvZ5twQd8Rt5qJ0T8c3m8=; b=Fj7z43gCzI0ecF4tbKUGAZ7D62
	oJU+vwk33N9+0uN4lrjrEuXhYpbOrjIXIrCexx+VU/QHbnw8KrDPUkMF+VRg+57OO4VsMepvgQ8Ns
	6AAq+8bJzYGCkDx4/YeSeRCx+tGY2oBIPgRsSR37VGjTsA75wG628r+L7IjCR3RaPQY8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167619-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167619: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-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-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt: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-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl: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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=75acfdb6fd922598a408a0d864486aeb167c1a97
X-Osstest-Versions-That:
    linux=49ef78e59b0749814d79eed156dcfc175fbd2f74
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 06 Jan 2022 21:15:51 +0000

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

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 167614
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167614
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167614
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167614
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167614
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167614
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167614
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167614
 test-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-arm64-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-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-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

version targeted for testing:
 linux                75acfdb6fd922598a408a0d864486aeb167c1a97
baseline version:
 linux                49ef78e59b0749814d79eed156dcfc175fbd2f74

Last test of basis   167614  2022-01-05 20:42:34 Z    1 days
Testing same since   167619  2022-01-06 09:10:01 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Aaron Ma <aaron.ma@canonical.com>
  Alexander Aring <aahringo@redhat.com>
  Andrew Lunn <andrew@lunn.ch>
  Arthur Kiyanovski <akiyano@amazon.com>
  Ashwin Vijayavel <ashwin.vijayavel@intel.com>
  Christoph Hellwig <hch@lst.de>
  Colin Ian King <colin.i.king@gmail.com>
  Daniel Borkmann <daniel@iogearbox.net>
  David Ahern <dsahern@kernel.org>
  David S. Miller <davem@davemloft.net>
  Di Zhu <zhudi2@huawei.com>
  Eric Dumazet <edumazet@google.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Gagan Kumar <gagan1kumar.cs@gmail.com>
  Grzegorz Szczurek <grzegorzx.szczurek@intel.com>
  Gurucharan G <gurucharanx.g@intel.com>
  Haimin Zhang <tcs_kernel@tencent.com>
  Jakub Kicinski <kuba@kernel.org>
  Jedrzej Jagielski <jedrzej.jagielski@intel.com>
  Jianguo Wu <wujianguo@chinatelecom.cn>
  Johannes Berg <johannes.berg@intel.com>
  Jon Maloy <jmaloy@redhat.com>
  Karen Sornek <karen.sornek@intel.com>
  Konrad Jankowski <konrad0.jankowski@intel.com>
  Linus Lüssing <linus.luessing@c0d3.blue>
  Linus Torvalds <torvalds@linux-foundation.org>
  Lukasz Cieplicki <lukaszx.cieplicki@intel.com>
  Magnus Karlsson <magnus.karlsson@intel.com>
  Markus Koch <markus@notsyncing.net>
  Martin Habets <habetsm.xilinx@gmail.com>
  Mateusz Palczewski <mateusz.palczewski@intel.com>
  Nicolas Dichtel <nicolas.dichtel@6wind.com>
  Pavel Skripkin <paskripkin@gmail.com>
  Rui Zhang <zhangrui182@huawei.com>
  Shay Agroskin <shayagr@amazon.com>
  Simon Wunderlich <sw@simonwunderlich.de>
  Stefan Schmidt <stefan@datenfreihafen.org>
  Sven Eckelmann <sven@narfation.org>
  Taehee Yoo <ap420073@gmail.com>
  Thomas Toye <thomas@toye.io>
  Tom Rix <trix@redhat.com>
  Tony Brelinski <tony.brelinski@intel.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Xin Long <lucien.xin@gmail.com>

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


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

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

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

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


Pushing revision :

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


From xen-devel-bounces@lists.xenproject.org Fri Jan 07 00:02:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 00:02:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254220.435832 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5chz-0001Eu-0F; Fri, 07 Jan 2022 00:02:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254220.435832; Fri, 07 Jan 2022 00: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 1n5chy-0001En-TR; Fri, 07 Jan 2022 00:02:14 +0000
Received: by outflank-mailman (input) for mailman id 254220;
 Fri, 07 Jan 2022 00:02:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mMuU=RX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n5chx-0001Eh-60
 for xen-devel@lists.xenproject.org; Fri, 07 Jan 2022 00:02:13 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0e18a517-6f4d-11ec-9ce5-af14b9085ebd;
 Fri, 07 Jan 2022 01:02:10 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id AAFA461E77;
 Fri,  7 Jan 2022 00:02:07 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C2A34C36AE3;
 Fri,  7 Jan 2022 00:02: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: 0e18a517-6f4d-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1641513727;
	bh=3AaSomMTHlrRAUD0UkQp8s/NSWSsuywf3hzFfZMxXQ8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=AlVFPoMvEVLQxLkL2ibZqupe7QfuYehgzX5ob5EAxBVTN9HijyRLFvMrycpzfwS5E
	 aTSVl0A4hXuJeZyR0udKK6PjuVMRr7IgOxWrVq2fdrfZEFrtcjzFcv0LeNYf62nWWE
	 cZnNHatS4uzAHQjwM/sVtQwyFLGkJ0cwzS3yAsDDGS9uM1kkztiyXTfOq8vL4q95pw
	 Ha1Pxvkoa6YgIoLlV04Co58ZUPJ0aLBeX1xfAKxTZcbHaYYwLbcAOysWg/3Hmzfbt0
	 ZEvJr3/pCQgJG3A/hmIzqGw8EA+pfs4S80gb89jp4LCWKb8Bnr4YPmBbGG4QPVJoaO
	 jfLn5Ec0L5JeA==
Date: Thu, 6 Jan 2022 16:02:06 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Jan Beulich <jbeulich@suse.com>, Juergen Gross <jgross@suse.com>, 
    bertrand.marquis@arm.com, Volodymyr_Babchuk@epam.com, 
    xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, boris.ostrovsky@oracle.com
Subject: Re: request for feedback on a Xen/Linux compatibility issue
In-Reply-To: <539a657a-dd79-b05b-1f4b-6d9a5a869d12@xen.org>
Message-ID: <alpine.DEB.2.22.394.2201061544100.2060010@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2112131729100.3376@ubuntu-linux-20-04-desktop> <4ea34f61-e72e-76c3-5c20-879fefe4c7f7@suse.com> <09333371-92c0-5c90-4b4c-59b2ed9ac60d@suse.com> <539a657a-dd79-b05b-1f4b-6d9a5a869d12@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 6 Jan 2022, Julien Grall wrote:
> On 06/01/2022 14:03, Jan Beulich wrote:
> > On 06.01.2022 08:13, Juergen Gross wrote:
> > > On 06.01.22 01:40, Stefano Stabellini wrote:
> > > > Hi all,
> > > > 
> > > > Today Xen dom0less guests are not "Xen aware": the hypervisor node
> > > > (compatible = "xen,xen") is missing from dom0less domUs device trees and
> > > > as a consequence Linux initializes as if Xen is not present. The reason
> > > > is that interfaces like grant table and xenstore (xenbus in Linux) don't
> > > > work correctly in a dom0less environment at the moment.
> > > > 
> > > > The good news is that I have patches for Xen to implement PV drivers
> > > > support for dom0less guests. They also add the hypervisor node to device
> > > > tree for dom0less guests so that Linux can discover the presence of Xen
> > > > and related interfaces.
> > > > 
> > > > When the Linux kernel is booting as dom0less kernel, it needs to delay
> > > > the xenbus initialization until the interface becomes ready. Attempts to
> > > > initialize xenbus straight away lead to failure, which is fine because
> > > > xenbus has never worked in Linux when running as dom0less guest up until
> > > > now. It is reasonable that a user needs a newer Linux to take advantage
> > > > of dom0less with PV drivers. So:
> > > > 
> > > > - old Xen + old/new Linux -> Xen not detected in Linux
> > > > - new Xen + old Linux     -> xenbus fails to initialize in Linux
> > > > - new Xen + new Linux     -> dom0less PV drivers working in Linux
> > > > 
> > > > 
> > > > The problem is that Linux until recently couldn't deal with any errors
> > > > in xenbus initialization. Instead of returning error and continuing
> > > > without xenbus, Linux would crash at boot.
> > > > 
> > > > I upstreamed two patches for Linux xenbus_probe to be able to deal with
> > > > initialization errors. With those two fixes, Linux can boot as a
> > > > dom0less kernel with the hypervisor node in device tree. The two fixes
> > > > got applied to master and were already backported to all the supported
> > > > Linux stable trees, so as of today:
> > > > 
> > > > - dom0less with hypervisor node + Linux 5.16+           -> works
> > > > - dom0less with hypervisor node + stable Linux 5.10     -> works
> > > > - dom0less with hypervisor node + unpatched Linux 5.10  -> crashes
> > > > 
> > > > 
> > > > Is this good enough? Or for Xen/Linux compatibility we want to also be
> > > > able to boot vanilla unpatched Linux 5.10 as dom0less kernel? If so,
> > > > the simplest solution is to change compatible string for the hypervisor
> > > > node, so that old Linux wouldn't recognize Xen presence and wouldn't try
> > > > to initialize xenbus (so it wouldn't crash on failure). New Linux can of
> > > > course learn to recognize both the old and the new compatible strings.
> > > > (For instance it could be compatible = "xen,xen-v2".) I have prototyped
> > > > and tested this solution successfully but I am not convinced it is the
> > > > right way to go.
> > > > 
> > > > Do you have any suggestion or feedback?
> > > > 
> > > > The Linux crash on xenbus initialization failure is a Linux bug, not a
> > > > Xen issue. For this reason, I am tempted to say that we shouldn't change
> > > > compatible string to work-around a Linux bug, especially given that the
> > > > Linux stable trees are already all fixed.
> > > 
> > > What about adding an option to your Xen patches to omit the hypervisor
> > > node in the device tree? This would enable the user to have a mode
> > > compatible to today's behavior.
> > 
> > While this sounds nice at the first glance, this would need to be a per-
> > domain setting. Which wouldn't be straightforward to express via command
> > line option (don't know how feasible it would be to express such via other
> > means).
> 
> For dom0less, domains are described in the Device-Tree. We have one node per
> domain, so we could add a property to indicate whether the domain should be
> started in compat mode (or not).
> 
> That said, I am not sure every users will want Linux to use
> grant-table/xenstore (possibly, some users may want one but not the other).
> 
> So how about a more generic property "xen,enhanced" with an opional value
> indicating whether this is disabled, enabled or the list of interface (e.g.
> xenbus, grant-table) exposed?

Yeah, I like this idea. It would allow for maximum flexibility while not
requiring any changes to the existing Xen/Linux interface; even the
compatible string would remain unmodified.

I also find the ability to select individual features interesting,
although I don't have a concrete use-case for it yet. I should say that
I do have a concrete use-case for enabling only event-channels but they
are actually already enabled for dom0less guests because they are just
hypercalls. (Nothing disables them at present for dom0less guests so
they get them "by default".)

Let's say we go down this path, which seems nice. The remaining question
is what do we want as default when the new "xen,enhanced" option is
missing. I think it makes sense for the default to be "enabled" because
I expect most people to want the enhacements and they are generally
harmless if you don't use them (except for old unpatched Linux kernels,
which is the main reason why we need the option).

In any case thanks for the suggestions, I like this!


From xen-devel-bounces@lists.xenproject.org Fri Jan 07 00:51:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 00:51:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254226.435844 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5dT6-0006BJ-Rn; Fri, 07 Jan 2022 00:50:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254226.435844; Fri, 07 Jan 2022 00:50:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5dT6-0006BC-O2; Fri, 07 Jan 2022 00:50:56 +0000
Received: by outflank-mailman (input) for mailman id 254226;
 Fri, 07 Jan 2022 00:50: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 1n5dT5-0006B2-7G; Fri, 07 Jan 2022 00:50: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 1n5dT5-00018v-1h; Fri, 07 Jan 2022 00:50: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 1n5dT4-0002i1-AZ; Fri, 07 Jan 2022 00:50:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n5dT4-00051t-A4; Fri, 07 Jan 2022 00:50: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=uGAGCRB2RHsEmX4znrN3vRMiivAx03+YCmizeB6PaH8=; b=XkaQQJXa2EQ/YFfD9CJxmDnddO
	9GyeSOVFvAN6Y9lW8ik5CESSlakhkhb1DNkfms5l94CnkSogp3nNvQKViKed2NRL7fsFbd1SmoKhQ
	OlYfKn+sFlyM2EuhrDaJ/nDAFwXYmoPwS+pndzygbWSM5dgAtL4Kn0ljWhenP7wcc+jw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167620-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 167620: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=243026a2c5ad64c05281dc8ed2f1f57c0ee5988c
X-Osstest-Versions-That:
    xen=d0d0af67eede560faab58f161d9608a69c779d41
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 07 Jan 2022 00:50:54 +0000

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

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

version targeted for testing:
 xen                  243026a2c5ad64c05281dc8ed2f1f57c0ee5988c
baseline version:
 xen                  d0d0af67eede560faab58f161d9608a69c779d41

Last test of basis   167401  2021-12-13 22:07:59 Z   24 days
Testing same since   167620  2022-01-06 13:39:16 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Paul Durrant <paul@xen.org>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   d0d0af67ee..243026a2c5  243026a2c5ad64c05281dc8ed2f1f57c0ee5988c -> stable-4.16


From xen-devel-bounces@lists.xenproject.org Fri Jan 07 01:52:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 01:52:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254245.435891 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5eQM-000668-VL; Fri, 07 Jan 2022 01:52:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254245.435891; Fri, 07 Jan 2022 01:52:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5eQM-000660-PY; Fri, 07 Jan 2022 01:52:10 +0000
Received: by outflank-mailman (input) for mailman id 254245;
 Fri, 07 Jan 2022 01:52:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mMuU=RX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n5eQL-00065u-Ux
 for xen-devel@lists.xenproject.org; Fri, 07 Jan 2022 01:52:10 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6a743d19-6f5c-11ec-81c0-a30af7de8005;
 Fri, 07 Jan 2022 02:52:06 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 1D86D61D99;
 Fri,  7 Jan 2022 01:52:05 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 16D43C36AE3;
 Fri,  7 Jan 2022 01: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: 6a743d19-6f5c-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1641520324;
	bh=27+o6G7a5Lbj12AVYtnZ71RZKFgzm1rSlRLgJR/jQwA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=YXHO/G/KrrEoqwbB8jykZ6WG18rmOD0TSpWEby0rtHypAKOZJvYo2xOlJEvpr/jBM
	 xoJa6UBGlh4rR5z49HXcuybRgxnptOF61bEUla0QZwvalNsMlaRe0QPCvyIIfYM7Ff
	 8Jy9IjlZhY2xUtAuq8VsXUWY9dfk//nh0GPOPM57exZUwbOY22kqgLckmYVBfTWLNi
	 N+n95WuJEMfV84MQZCKFOWl6JsfKEnp91E6O0jXPevNxomySgHKAPhJ14NQxA1vDA0
	 +YbvhP+gacDsMgN44ykXozBuPC8zLFwSZoO12/H5Jxpp1i8og6ttIB/Sa0x0Ly1GjF
	 kABebIZ4nG1tQ==
Date: Thu, 6 Jan 2022 17:52:03 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>, dfaggioli@suse.com
cc: Stefano Stabellini <sstabellini@kernel.org>, george.dunlap@citrix.com, 
    jbeulich@suse.com, andrew.cooper3@citrix.com, roger.pau@citrix.com, 
    bertrand.marquis@arm.com, Volodymyr_Babchuk@epam.com, jgross@suse.com, 
    xen-devel@lists.xenproject.org
Subject: Re: sched=null vwfi=native and call_rcu()
In-Reply-To: <20fbb361-b416-6965-614d-a6283a7e7550@xen.org>
Message-ID: <alpine.DEB.2.22.394.2201061747140.2060010@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201051615060.2060010@ubuntu-linux-20-04-desktop> <20fbb361-b416-6965-614d-a6283a7e7550@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-1513994428-1641520226=:2060010"
Content-ID: <alpine.DEB.2.22.394.2201061750280.2060010@ubuntu-linux-20-04-desktop>

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-1513994428-1641520226=:2060010
Content-Type: text/plain; CHARSET=US-ASCII
Content-ID: <alpine.DEB.2.22.394.2201061750281.2060010@ubuntu-linux-20-04-desktop>

On Thu, 6 Jan 2022, Julien Grall wrote:
> On 06/01/2022 00:40, Stefano Stabellini wrote:
> > As you might remember, we have an outstanding issue with call_rcu() when
> > sched=null vwfi=native are used. That is because in that configuration
> > the CPU never goes idle so rcu_idle_enter() never gets called.
> > 
> > The issue was caught on the field and I managed to repro the problem
> > doing the following:
> > 
> > xl destroy test
> > xl create ./test.cfg
> > 
> > Resulting in the following error:
> > 
> > # Parsing config from ./test.cfg
> > # (XEN) IRQ 54 is already used by domain 1
> > 
> > The test domain has 3 interrupts remapped to it and they don't get
> > released before the new domain creation is requested.
> > 
> > Just FYI, the below hacky patch seems to reliably work-around the
> > problem in my environment.
> > 
> > Do you have any suggestions on what would be the right way to solve
> > this issue?
> 
> This issue and solution were discussed numerous time on the ML. In short, we
> want to tell the RCU that CPU running in guest context are always quiesced.
> For more details, you can read the previous thread (which also contains a link
> to the one before):
> 
> https://lore.kernel.org/xen-devel/fe3dd9f0-b035-01fe-3e01-ddf065f182ab@codiax.se/

Thanks Julien for the pointer!

Dario, I forward-ported your three patches to staging:
https://gitlab.com/xen-project/people/sstabellini/xen/-/tree/rcu-quiet

I can confirm that they fix the bug. Note that I had to add a small
change on top to remove the ASSERT at the beginning of rcu_quiet_enter:
https://gitlab.com/xen-project/people/sstabellini/xen/-/commit/6fc02b90814d3fe630715e353d16f397a5b280f9

Would you be up for submitting them for upstreaming? I would prefer if
you send out the patches because I cannot claim to understand them
completely (except for the one doing renaming :-P )

I am also attaching the four patches for your convenience.
--8323329-1513994428-1641520226=:2060010
Content-Type: text/x-diff; NAME=0001-xen-RCU-bootparam-to-force-quiescence-at-every-call.patch
Content-Transfer-Encoding: BASE64
Content-ID: <alpine.DEB.2.22.394.2201061750260.2060010@ubuntu-linux-20-04-desktop>
Content-Description: 
Content-Disposition: ATTACHMENT; FILENAME=0001-xen-RCU-bootparam-to-force-quiescence-at-every-call.patch

RnJvbSAzMGFjNDgzZTNjM2ZmYTYzYjllOTI1OTZmYTI1MTE4ZTI1MTE2NDM4
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KRnJvbTogRGFyaW8gRmFnZ2lv
bGkgPGRmYWdnaW9saUBzdXNlLmNvbT4NCkRhdGU6IFRodSwgNiBKYW4gMjAy
MiAxNjo1NDoxOCAtMDgwMA0KU3ViamVjdDogW1BBVENIIDEvNF0geGVuOiBS
Q1U6IGJvb3RwYXJhbSB0byBmb3JjZSBxdWllc2NlbmNlIGF0IGV2ZXJ5IGNh
bGwuDQoNClNpZ25lZC1vZmYtYnk6IERhcmlvIEZhZ2dpb2xpIDxkZmFnZ2lv
bGlAc3VzZS5jb20+DQotLS0NCiB4ZW4vYXJjaC9hcm0vdHJhcHMuYyAgICAg
ICB8ICAzICsrKw0KIHhlbi9jb21tb24vcmN1cGRhdGUuYyAgICAgIHwgMTAg
KysrKysrKysrKw0KIHhlbi9pbmNsdWRlL3hlbi9yY3VwZGF0ZS5oIHwgIDIg
KysNCiAzIGZpbGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKykNCg0KZGlm
ZiAtLWdpdCBhL3hlbi9hcmNoL2FybS90cmFwcy5jIGIveGVuL2FyY2gvYXJt
L3RyYXBzLmMNCmluZGV4IDkzMzlkMTJmNTguLmUyODQyYmE0ZGIgMTAwNjQ0
DQotLS0gYS94ZW4vYXJjaC9hcm0vdHJhcHMuYw0KKysrIGIveGVuL2FyY2gv
YXJtL3RyYXBzLmMNCkBAIC04Nyw3ICs4NywxMCBAQCBzdGF0aWMgZW51bSB7
DQogc3RhdGljIGludCBfX2luaXQgcGFyc2VfdndmaShjb25zdCBjaGFyICpz
KQ0KIHsNCiAJaWYgKCAhc3RyY21wKHMsICJuYXRpdmUiKSApDQorCXsNCisJ
CXJjdV9hbHdheXNfcXVpZXNjID0gdHJ1ZTsNCiAJCXZ3ZmkgPSBOQVRJVkU7
DQorCX0NCiAJZWxzZQ0KIAkJdndmaSA9IFRSQVA7DQogDQpkaWZmIC0tZ2l0
IGEveGVuL2NvbW1vbi9yY3VwZGF0ZS5jIGIveGVuL2NvbW1vbi9yY3VwZGF0
ZS5jDQppbmRleCBhNWEyN2FmM2RlLi43MzE2MjcxZGE1IDEwMDY0NA0KLS0t
IGEveGVuL2NvbW1vbi9yY3VwZGF0ZS5jDQorKysgYi94ZW4vY29tbW9uL3Jj
dXBkYXRlLmMNCkBAIC05NSw2ICs5NSw5IEBAIHN0cnVjdCByY3VfZGF0YSB7
DQogICAgIGJvb2wgICAgICAgICAgICBiYXJyaWVyX2FjdGl2ZTsNCiB9Ow0K
IA0KK2Jvb2wgcmN1X2Fsd2F5c19xdWllc2MgPSBmYWxzZTsNCitib29sZWFu
X3BhcmFtKCJyY3VfZm9yY2VfcXVpZXNjIiwgcmN1X2Fsd2F5c19xdWllc2Mp
Ow0KKw0KIC8qDQogICogSWYgYSBDUFUgd2l0aCBSQ1UgY2FsbGJhY2tzIHF1
ZXVlZCBnb2VzIGlkbGUsIHdoZW4gdGhlIGdyYWNlIHBlcmlvZCBpcw0KICAq
IG5vdCBmaW5pc2hlZCB5ZXQsIGhvdyBjYW4gd2UgbWFrZSBzdXJlIHRoYXQg
dGhlIGNhbGxiYWNrcyB3aWxsIGV2ZW50dWFsbHkNCkBAIC02MzcsNiArNjQw
LDEzIEBAIHN0YXRpYyB2b2lkIHJjdV9pbml0X3BlcmNwdV9kYXRhKGludCBj
cHUsIHN0cnVjdCByY3VfY3RybGJsayAqcmNwLA0KICAgICByZHAtPnF1aWVz
Y2JhdGNoID0gcmNwLT5jb21wbGV0ZWQ7DQogICAgIHJkcC0+cXNfcGVuZGlu
ZyA9IDA7DQogICAgIHJkcC0+Y3B1ID0gY3B1Ow0KKyAgICBpZiAoIHJjdV9h
bHdheXNfcXVpZXNjICkNCisgICAgew0KKyAgICAgICAgYmxpbWl0ID0gSU5U
X01BWDsNCisgICAgICAgIHFoaW1hcmsgPSAwOw0KKyAgICAgICAgcWxvd21h
cmsgPSAwOw0KKyAgICAgICAgLy9yc2ludGVydmFsID0gMDsNCisgICAgfQ0K
ICAgICByZHAtPmJsaW1pdCA9IGJsaW1pdDsNCiAgICAgaW5pdF90aW1lcigm
cmRwLT5pZGxlX3RpbWVyLCByY3VfaWRsZV90aW1lcl9oYW5kbGVyLCByZHAs
IGNwdSk7DQogfQ0KZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9yY3Vw
ZGF0ZS5oIGIveGVuL2luY2x1ZGUveGVuL3JjdXBkYXRlLmgNCmluZGV4IDZm
MjU4NzA1OGUuLmQyNzllMzkwMjIgMTAwNjQ0DQotLS0gYS94ZW4vaW5jbHVk
ZS94ZW4vcmN1cGRhdGUuaA0KKysrIGIveGVuL2luY2x1ZGUveGVuL3JjdXBk
YXRlLmgNCkBAIC03OCw2ICs3OCw4IEBAIHN0cnVjdCByY3VfaGVhZCB7DQog
fSB3aGlsZSAoMCkNCiANCiANCitleHRlcm4gYm9vbCByY3VfYWx3YXlzX3F1
aWVzYzsNCisNCiBpbnQgcmN1X3BlbmRpbmcoaW50IGNwdSk7DQogaW50IHJj
dV9uZWVkc19jcHUoaW50IGNwdSk7DQogDQotLSANCjIuMjUuMQ0KDQo=

--8323329-1513994428-1641520226=:2060010
Content-Type: text/x-diff; NAME=0002-xen-rename-RCU-idle-timer-and-cpumask.patch
Content-Transfer-Encoding: BASE64
Content-ID: <alpine.DEB.2.22.394.2201061750261.2060010@ubuntu-linux-20-04-desktop>
Content-Description: 
Content-Disposition: ATTACHMENT; FILENAME=0002-xen-rename-RCU-idle-timer-and-cpumask.patch

RnJvbSBiYzA0NjMwMTcxMDZiYjFjNzBhNDk2MDlhZGFjYTVjYjZiODM1N2Fi
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KRnJvbTogRGFyaW8gRmFnZ2lv
bGkgPGRmYWdnaW9saUBzdXNlLmNvbT4NCkRhdGU6IFRodSwgNiBKYW4gMjAy
MiAxNzoxNzo1NCAtMDgwMA0KU3ViamVjdDogW1BBVENIIDIvNF0geGVuOiBy
ZW5hbWUgUkNVIGlkbGUgdGltZXIgYW5kIGNwdW1hc2sNCg0KQm90aCB0aGUg
Y3B1bWFzayBhbmQgdGhlIHRpbWVyIHdpbGwgYmUgdXNlZCBpbiBtb3JlIGdl
bmVyaWMNCmNpcmN1bW5zdGFuY2VzLCBub3Qgb25seSBmb3IgQ1BVcyB0aGF0
IGdvIGlkbGUuIENoYW5nZSB0aGVpciBuYW1lcyB0bw0KcmVmbGVjdCB0aGF0
Lg0KDQpObyBmdW5jdGlvbmFsIGNoYW5nZS4NCg0KU2lnbmVkLW9mZi1ieTog
RGFyaW8gRmFnZ2lvbGkgPGRmYWdnaW9saUBzdXNlLmNvbT4NCi0tLQ0KIHhl
bi9jb21tb24vcmN1cGRhdGUuYyAgICAgICAgfCAxMDggKysrKysrKysrKysr
KysrKysrKystLS0tLS0tLS0tLS0tLS0NCiB4ZW4vaW5jbHVkZS94ZW4vcGVy
ZmNfZGVmbi5oIHwgICAyICstDQogMiBmaWxlcyBjaGFuZ2VkLCA2MiBpbnNl
cnRpb25zKCspLCA0OCBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL3hl
bi9jb21tb24vcmN1cGRhdGUuYyBiL3hlbi9jb21tb24vcmN1cGRhdGUuYw0K
aW5kZXggNzMxNjI3MWRhNS4uOTZlOGNhMDFjMCAxMDA2NDQNCi0tLSBhL3hl
bi9jb21tb24vcmN1cGRhdGUuYw0KKysrIGIveGVuL2NvbW1vbi9yY3VwZGF0
ZS5jDQpAQCAtNTYsNyArNTYsNyBAQCBzdGF0aWMgc3RydWN0IHJjdV9jdHJs
YmxrIHsNCiANCiAgICAgc3BpbmxvY2tfdCAgbG9jayBfX2NhY2hlbGluZV9h
bGlnbmVkOw0KICAgICBjcHVtYXNrX3QgICBjcHVtYXNrOyAvKiBDUFVzIHRo
YXQgbmVlZCB0byBzd2l0Y2ggaW4gb3JkZXIgLi4uICovDQotICAgIGNwdW1h
c2tfdCAgIGlkbGVfY3B1bWFzazsgLyogLi4uIHVubGVzcyB0aGV5IGFyZSBh
bHJlYWR5IGlkbGUgKi8NCisgICAgY3B1bWFza190ICAgaWdub3JlX2NwdW1h
c2s7IC8qIC4uLiB1bmxlc3MgdGhleSBhcmUgYWxyZWFkeSBpZGxlICovDQog
ICAgIC8qIGZvciBjdXJyZW50IGJhdGNoIHRvIHByb2NlZWQuICAgICAgICAq
Lw0KIH0gX19jYWNoZWxpbmVfYWxpZ25lZCByY3VfY3RybGJsayA9IHsNCiAg
ICAgLmN1ciA9IC0zMDAsDQpAQCAtODgsOCArODgsOCBAQCBzdHJ1Y3QgcmN1
X2RhdGEgew0KICAgICBsb25nICAgICAgICAgICAgbGFzdF9yc19xbGVuOyAg
ICAgLyogcWxlbiBkdXJpbmcgdGhlIGxhc3QgcmVzY2hlZCAqLw0KIA0KICAg
ICAvKiAzKSBpZGxlIENQVXMgaGFuZGxpbmcgKi8NCi0gICAgc3RydWN0IHRp
bWVyIGlkbGVfdGltZXI7DQotICAgIGJvb2wgaWRsZV90aW1lcl9hY3RpdmU7
DQorICAgIHN0cnVjdCB0aW1lciBjYl90aW1lcjsNCisgICAgYm9vbCBjYl90
aW1lcl9hY3RpdmU7DQogDQogICAgIGJvb2wgICAgICAgICAgICBwcm9jZXNz
X2NhbGxiYWNrczsNCiAgICAgYm9vbCAgICAgICAgICAgIGJhcnJpZXJfYWN0
aXZlOw0KQEAgLTEyNCwyMiArMTI0LDIyIEBAIGJvb2xlYW5fcGFyYW0oInJj
dV9mb3JjZV9xdWllc2MiLCByY3VfYWx3YXlzX3F1aWVzYyk7DQogICogQ1BV
IHRoYXQgaXMgZ29pbmcgaWRsZS4gVGhlIHVzZXIgY2FuIGNoYW5nZSB0aGlz
LCB2aWEgYSBib290IHRpbWUNCiAgKiBwYXJhbWV0ZXIsIGJ1dCBvbmx5IHVw
IHRvIDEwMG1zLg0KICAqLw0KLSNkZWZpbmUgSURMRV9USU1FUl9QRVJJT0Rf
TUFYICAgICBNSUxMSVNFQ1MoMTAwKQ0KLSNkZWZpbmUgSURMRV9USU1FUl9Q
RVJJT0RfREVGQVVMVCBNSUxMSVNFQ1MoMTApDQotI2RlZmluZSBJRExFX1RJ
TUVSX1BFUklPRF9NSU4gICAgIE1JQ1JPU0VDUygxMDApDQorI2RlZmluZSBD
Ql9USU1FUl9QRVJJT0RfTUFYICAgICBNSUxMSVNFQ1MoMTAwKQ0KKyNkZWZp
bmUgQ0JfVElNRVJfUEVSSU9EX0RFRkFVTFQgTUlMTElTRUNTKDEwKQ0KKyNk
ZWZpbmUgQ0JfVElNRVJfUEVSSU9EX01JTiAgICAgTUlDUk9TRUNTKDEwMCkN
CiANCi1zdGF0aWMgc190aW1lX3QgX19yZWFkX21vc3RseSBpZGxlX3RpbWVy
X3BlcmlvZDsNCitzdGF0aWMgc190aW1lX3QgX19yZWFkX21vc3RseSBjYl90
aW1lcl9wZXJpb2Q7DQogDQogLyoNCiAgKiBJbmNyZW1lbnQgYW5kIGRlY3Jl
bWVudCB2YWx1ZXMgZm9yIHRoZSBpZGxlIHRpbWVyIGhhbmRsZXIuIFRoZSBh
bGdvcml0aG0NCiAgKiB3b3JrcyBhcyBmb2xsb3dzOg0KICAqIC0gaWYgdGhl
IHRpbWVyIGFjdHVhbGx5IGZpcmVzLCBhbmQgaXQgZmluZHMgb3V0IHRoYXQg
dGhlIGdyYWNlIHBlcmlvZCBpc24ndA0KLSAqICAgb3ZlciB5ZXQsIHdlIGFk
ZCBJRExFX1RJTUVSX1BFUklPRF9JTkNSIHRvIHRoZSB0aW1lcidzIHBlcmlv
ZDsNCisgKiAgIG92ZXIgeWV0LCB3ZSBhZGQgQ0JfVElNRVJfUEVSSU9EX0lO
Q1IgdG8gdGhlIHRpbWVyJ3MgcGVyaW9kOw0KICAqIC0gaWYgdGhlIHRpbWVy
IGFjdHVhbGx5IGZpcmVzIGFuZCBpdCBmaW5kcyB0aGUgZ3JhY2UgcGVyaW9k
IG92ZXIsIHdlDQotICogICBzdWJ0cmFjdCBJRExFX1RJTUVSX1BFUklPRF9E
RUNSIGZyb20gdGhlIHRpbWVyJ3MgcGVyaW9kLg0KKyAqICAgc3VidHJhY3Qg
Q0JfVElNRVJfUEVSSU9EX0RFQ1IgZnJvbSB0aGUgdGltZXIncyBwZXJpb2Qu
DQogICovDQotI2RlZmluZSBJRExFX1RJTUVSX1BFUklPRF9JTkNSICAgIE1J
TExJU0VDUygxMCkNCi0jZGVmaW5lIElETEVfVElNRVJfUEVSSU9EX0RFQ1Ig
ICAgTUlDUk9TRUNTKDEwMCkNCisjZGVmaW5lIENCX1RJTUVSX1BFUklPRF9J
TkNSICAgIE1JTExJU0VDUygxMCkNCisjZGVmaW5lIENCX1RJTUVSX1BFUklP
RF9ERUNSICAgIE1JQ1JPU0VDUygxMDApDQogDQogc3RhdGljIERFRklORV9Q
RVJfQ1BVKHN0cnVjdCByY3VfZGF0YSwgcmN1X2RhdGEpOw0KIA0KQEAgLTM2
Nyw3ICszNjcsNyBAQCBzdGF0aWMgdm9pZCByY3Vfc3RhcnRfYmF0Y2goc3Ry
dWN0IHJjdV9jdHJsYmxrICpyY3ApDQogICAgICAgICAqIFRoaXMgYmFycmll
ciBpcyBwYWlyZWQgd2l0aCB0aGUgb25lIGluIHJjdV9pZGxlX2VudGVyKCku
DQogICAgICAgICAqLw0KICAgICAgICAgc21wX21iKCk7DQotICAgICAgICBj
cHVtYXNrX2FuZG5vdCgmcmNwLT5jcHVtYXNrLCAmY3B1X29ubGluZV9tYXAs
ICZyY3AtPmlkbGVfY3B1bWFzayk7DQorICAgICAgICBjcHVtYXNrX2FuZG5v
dCgmcmNwLT5jcHVtYXNrLCAmY3B1X29ubGluZV9tYXAsICZyY3AtPmlnbm9y
ZV9jcHVtYXNrKTsNCiAgICAgfQ0KIH0NCiANCkBAIC01MjYsNyArNTI2LDcg
QEAgaW50IHJjdV9uZWVkc19jcHUoaW50IGNwdSkNCiB7DQogICAgIHN0cnVj
dCByY3VfZGF0YSAqcmRwID0gJnBlcl9jcHUocmN1X2RhdGEsIGNwdSk7DQog
DQotICAgIHJldHVybiAocmRwLT5jdXJsaXN0ICYmICFyZHAtPmlkbGVfdGlt
ZXJfYWN0aXZlKSB8fCByY3VfcGVuZGluZyhjcHUpOw0KKyAgICByZXR1cm4g
KHJkcC0+Y3VybGlzdCAmJiAhcmRwLT5jYl90aW1lcl9hY3RpdmUpIHx8IHJj
dV9wZW5kaW5nKGNwdSk7DQogfQ0KIA0KIC8qDQpAQCAtNTM0LDcgKzUzNCw3
IEBAIGludCByY3VfbmVlZHNfY3B1KGludCBjcHUpDQogICogcGVyaW9kaWNh
bGx5IHBva2UgcmN1X3BlZG5pbmcoKSwgc28gdGhhdCBpdCB3aWxsIGludm9r
ZSB0aGUgY2FsbGJhY2sNCiAgKiBub3QgdG9vIGxhdGUgYWZ0ZXIgdGhlIGVu
ZCBvZiB0aGUgZ3JhY2UgcGVyaW9kLg0KICAqLw0KLXN0YXRpYyB2b2lkIHJj
dV9pZGxlX3RpbWVyX3N0YXJ0KHZvaWQpDQorc3RhdGljIHZvaWQgY2JfdGlt
ZXJfc3RhcnQodm9pZCkNCiB7DQogICAgIHN0cnVjdCByY3VfZGF0YSAqcmRw
ID0gJnRoaXNfY3B1KHJjdV9kYXRhKTsNCiANCkBAIC01NDYsNDggKzU0Niw0
OCBAQCBzdGF0aWMgdm9pZCByY3VfaWRsZV90aW1lcl9zdGFydCh2b2lkKQ0K
ICAgICBpZiAobGlrZWx5KCFyZHAtPmN1cmxpc3QpKQ0KICAgICAgICAgcmV0
dXJuOw0KIA0KLSAgICBzZXRfdGltZXIoJnJkcC0+aWRsZV90aW1lciwgTk9X
KCkgKyBpZGxlX3RpbWVyX3BlcmlvZCk7DQotICAgIHJkcC0+aWRsZV90aW1l
cl9hY3RpdmUgPSB0cnVlOw0KKyAgICBzZXRfdGltZXIoJnJkcC0+Y2JfdGlt
ZXIsIE5PVygpICsgY2JfdGltZXJfcGVyaW9kKTsNCisgICAgcmRwLT5jYl90
aW1lcl9hY3RpdmUgPSB0cnVlOw0KIH0NCiANCi1zdGF0aWMgdm9pZCByY3Vf
aWRsZV90aW1lcl9zdG9wKHZvaWQpDQorc3RhdGljIHZvaWQgY2JfdGltZXJf
c3RvcCh2b2lkKQ0KIHsNCiAgICAgc3RydWN0IHJjdV9kYXRhICpyZHAgPSAm
dGhpc19jcHUocmN1X2RhdGEpOw0KIA0KLSAgICBpZiAobGlrZWx5KCFyZHAt
PmlkbGVfdGltZXJfYWN0aXZlKSkNCisgICAgaWYgKGxpa2VseSghcmRwLT5j
Yl90aW1lcl9hY3RpdmUpKQ0KICAgICAgICAgcmV0dXJuOw0KIA0KLSAgICBy
ZHAtPmlkbGVfdGltZXJfYWN0aXZlID0gZmFsc2U7DQorICAgIHJkcC0+Y2Jf
dGltZXJfYWN0aXZlID0gZmFsc2U7DQogDQogICAgIC8qDQogICAgICAqIElu
IGdlbmVyYWwsIGFzIHRoZSBDUFUgaXMgYmVjb21pbmcgYWN0aXZlIGFnYWlu
LCB3ZSBkb24ndCBuZWVkIHRoZQ0KICAgICAgKiBpZGxlIHRpbWVyLCBhbmQg
c28gd2Ugd2FudCB0byBzdG9wIGl0Lg0KICAgICAgKg0KLSAgICAgKiBIb3dl
dmVyLCBpbiBjYXNlIHdlIGFyZSBoZXJlIGJlY2F1c2UgaWRsZV90aW1lciBo
YXMgKGp1c3QpIGZpcmVkIGFuZA0KKyAgICAgKiBIb3dldmVyLCBpbiBjYXNl
IHdlIGFyZSBoZXJlIGJlY2F1c2UgY2JfdGltZXIgaGFzIChqdXN0KSBmaXJl
ZCBhbmQNCiAgICAgICogaGFzIHdva2VuIHVwIHRoZSBDUFUsIHdlIHNraXAg
c3RvcF90aW1lcigpIG5vdy4gSW4gZmFjdCwgd2hlbiBhIENQVQ0KICAgICAg
KiB3YWtlcyB1cCBmcm9tIGlkbGUsIHRoaXMgY29kZSBhbHdheXMgcnVucyBi
ZWZvcmUgZG9fc29mdGlycSgpIGhhcyB0aGUNCiAgICAgICogY2hhbmNlIHRv
IGNoZWNrIGFuZCBkZWFsIHdpdGggVElNRVJfU09GVElSUS4gQW5kIGlmIHdl
IHN0b3AgdGhlIHRpbWVyDQogICAgICAqIG5vdywgdGhlIFRJTUVSX1NPRlRJ
UlEgaGFuZGxlciB3aWxsIHNlZSBpdCBhcyBpbmFjdGl2ZSwgYW5kIHdpbGwg
bm90DQotICAgICAqIGNhbGwgcmN1X2lkbGVfdGltZXJfaGFuZGxlcigpLg0K
KyAgICAgKiBjYWxsIGNiX3RpbWVyX2hhbmRsZXIoKS4NCiAgICAgICoNCiAg
ICAgICogVGhlcmVmb3JlLCBpZiB3ZSBzZWUgdGhhdCB0aGUgdGltZXIgaXMg
ZXhwaXJlZCBhbHJlYWR5LCB3ZSBsZWF2ZSBpdA0KICAgICAgKiBhbG9uZS4g
VGhlIFRJTUVSX1NPRlRJUlEgaGFuZGxlciB3aWxsIHRoZW4gcnVuIHRoZSB0
aW1lciByb3V0aW5lLCBhbmQNCiAgICAgICogZGVhY3RpdmF0ZSBpdC4NCiAg
ICAgICovDQotICAgIGlmICggIXRpbWVyX2lzX2V4cGlyZWQoJnJkcC0+aWRs
ZV90aW1lcikgKQ0KLSAgICAgICAgc3RvcF90aW1lcigmcmRwLT5pZGxlX3Rp
bWVyKTsNCisgICAgaWYgKCAhdGltZXJfaXNfZXhwaXJlZCgmcmRwLT5jYl90
aW1lcikgKQ0KKyAgICAgICAgc3RvcF90aW1lcigmcmRwLT5jYl90aW1lcik7
DQogfQ0KIA0KLXN0YXRpYyB2b2lkIHJjdV9pZGxlX3RpbWVyX2hhbmRsZXIo
dm9pZCogZGF0YSkNCitzdGF0aWMgdm9pZCBjYl90aW1lcl9oYW5kbGVyKHZv
aWQqIGRhdGEpDQogew0KLSAgICBwZXJmY19pbmNyKHJjdV9pZGxlX3RpbWVy
KTsNCisgICAgcGVyZmNfaW5jcihyY3VfY2FsbGJhY2tfdGltZXIpOw0KIA0K
ICAgICBpZiAoICFjcHVtYXNrX2VtcHR5KCZyY3VfY3RybGJsay5jcHVtYXNr
KSApDQotICAgICAgICBpZGxlX3RpbWVyX3BlcmlvZCA9IG1pbihpZGxlX3Rp
bWVyX3BlcmlvZCArIElETEVfVElNRVJfUEVSSU9EX0lOQ1IsDQotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBJRExFX1RJTUVSX1BFUklPRF9N
QVgpOw0KKyAgICAgICAgY2JfdGltZXJfcGVyaW9kID0gbWluKGNiX3RpbWVy
X3BlcmlvZCArIENCX1RJTUVSX1BFUklPRF9JTkNSLA0KKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgQ0JfVElNRVJfUEVSSU9EX01BWCk7DQog
ICAgIGVsc2UNCi0gICAgICAgIGlkbGVfdGltZXJfcGVyaW9kID0gbWF4KGlk
bGVfdGltZXJfcGVyaW9kIC0gSURMRV9USU1FUl9QRVJJT0RfREVDUiwNCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElETEVfVElNRVJfUEVS
SU9EX01JTik7DQorICAgICAgICBjYl90aW1lcl9wZXJpb2QgPSBtYXgoY2Jf
dGltZXJfcGVyaW9kIC0gQ0JfVElNRVJfUEVSSU9EX0RFQ1IsDQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBDQl9USU1FUl9QRVJJT0RfTUlO
KTsNCiB9DQogDQogdm9pZCByY3VfY2hlY2tfY2FsbGJhY2tzKGludCBjcHUp
DQpAQCAtNjExLDcgKzYxMSw3IEBAIHN0YXRpYyB2b2lkIHJjdV9tb3ZlX2Jh
dGNoKHN0cnVjdCByY3VfZGF0YSAqdGhpc19yZHAsIHN0cnVjdCByY3VfaGVh
ZCAqbGlzdCwNCiBzdGF0aWMgdm9pZCByY3Vfb2ZmbGluZV9jcHUoc3RydWN0
IHJjdV9kYXRhICp0aGlzX3JkcCwNCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc3RydWN0IHJjdV9jdHJsYmxrICpyY3AsIHN0cnVjdCByY3VfZGF0
YSAqcmRwKQ0KIHsNCi0gICAga2lsbF90aW1lcigmcmRwLT5pZGxlX3RpbWVy
KTsNCisgICAga2lsbF90aW1lcigmcmRwLT5jYl90aW1lcik7DQogDQogICAg
IC8qIElmIHRoZSBjcHUgZ29pbmcgb2ZmbGluZSBvd25zIHRoZSBncmFjZSBw
ZXJpb2Qgd2UgY2FuIGJsb2NrDQogICAgICAqIGluZGVmaW5pdGVseSB3YWl0
aW5nIGZvciBpdCwgc28gZmx1c2ggaXQgaGVyZS4NCkBAIC02NDgsNyArNjQ4
LDcgQEAgc3RhdGljIHZvaWQgcmN1X2luaXRfcGVyY3B1X2RhdGEoaW50IGNw
dSwgc3RydWN0IHJjdV9jdHJsYmxrICpyY3AsDQogICAgICAgICAvL3JzaW50
ZXJ2YWwgPSAwOw0KICAgICB9DQogICAgIHJkcC0+YmxpbWl0ID0gYmxpbWl0
Ow0KLSAgICBpbml0X3RpbWVyKCZyZHAtPmlkbGVfdGltZXIsIHJjdV9pZGxl
X3RpbWVyX2hhbmRsZXIsIHJkcCwgY3B1KTsNCisgICAgaW5pdF90aW1lcigm
cmRwLT5jYl90aW1lciwgY2JfdGltZXJfaGFuZGxlciwgcmRwLCBjcHUpOw0K
IH0NCiANCiBzdGF0aWMgaW50IGNwdV9jYWxsYmFjaygNCkBAIC02NzcsMjUg
KzY3NywzOSBAQCBzdGF0aWMgc3RydWN0IG5vdGlmaWVyX2Jsb2NrIGNwdV9u
ZmIgPSB7DQogICAgIC5ub3RpZmllcl9jYWxsID0gY3B1X2NhbGxiYWNrDQog
fTsNCiANCisvKg0KKyAqIFdlJ3JlIGNoYW5naW5nIHRoZSBuYW1lIG9mIHRo
ZSBwYXJhbWV0ZXIsIHRvIGJldHRlciByZWZsZWN0IHRoZSBmYWN0IHRoYXQN
CisgKiB0aGUgdGltZXIgaXMgdXNlZCBmb3IgY2FsbGJhY2tzIGluIGdlbmVy
YWwsIHdoZW4gdGhlIENQVSBpcyBlaXRoZXIgaWRsZQ0KKyAqIG9yIGV4ZWN1
dGluZyBndWVzdCBjb2RlLiBXZSBzdGlsbCBhY2NlcHQgdGhlIG9sZCBwYXJh
bWV0ZXIgYnV0LCBpZiBib3RoDQorICogYXJlIHNwZWNpZmllZCwgdGhlIG5l
dyBvbmUgKCJyY3UtY2FsbGJhY2stdGltZXItcGVyaW9kLW1zIikgaGFzIHBy
aW9yaXR5Lg0KKyAqLw0KKyNkZWZpbmUgQ0JfVElNRVJfUEVSSU9EX0RFRkFV
TFRfTVMgKCBDQl9USU1FUl9QRVJJT0RfREVGQVVMVCAvIE1JTExJU0VDUygx
KSApDQorc3RhdGljIHVuc2lnbmVkIGludCBfX2luaXRkYXRhIGNiX3RpbWVy
X3BlcmlvZF9tcyA9IENCX1RJTUVSX1BFUklPRF9ERUZBVUxUX01TOw0KK2lu
dGVnZXJfcGFyYW0oInJjdS1jYWxsYmFjay10aW1lci1wZXJpb2QtbXMiLCBj
Yl90aW1lcl9wZXJpb2RfbXMpOw0KKw0KK3N0YXRpYyB1bnNpZ25lZCBpbnQg
X19pbml0ZGF0YSBpZGxlX3RpbWVyX3BlcmlvZF9tcyA9IENCX1RJTUVSX1BF
UklPRF9ERUZBVUxUX01TOw0KK2ludGVnZXJfcGFyYW0oInJjdS1pZGxlLXRp
bWVyLXBlcmlvZC1tcyIsIGlkbGVfdGltZXJfcGVyaW9kX21zKTsNCisNCiB2
b2lkIF9faW5pdCByY3VfaW5pdCh2b2lkKQ0KIHsNCiAgICAgdm9pZCAqY3B1
ID0gKHZvaWQgKikobG9uZylzbXBfcHJvY2Vzc29yX2lkKCk7DQotICAgIHN0
YXRpYyB1bnNpZ25lZCBpbnQgX19pbml0ZGF0YSBpZGxlX3RpbWVyX3Blcmlv
ZF9tcyA9DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
SURMRV9USU1FUl9QRVJJT0RfREVGQVVMVCAvIE1JTExJU0VDUygxKTsNCi0g
ICAgaW50ZWdlcl9wYXJhbSgicmN1LWlkbGUtdGltZXItcGVyaW9kLW1zIiwg
aWRsZV90aW1lcl9wZXJpb2RfbXMpOw0KIA0KLSAgICAvKiBXZSBkb24ndCBh
bGxvdyAwLCBvciBhbnl0aGluZyBoaWdoZXIgdGhhbiBJRExFX1RJTUVSX1BF
UklPRF9NQVggKi8NCi0gICAgaWYgKCBpZGxlX3RpbWVyX3BlcmlvZF9tcyA9
PSAwIHx8DQotICAgICAgICAgaWRsZV90aW1lcl9wZXJpb2RfbXMgPiBJRExF
X1RJTUVSX1BFUklPRF9NQVggLyBNSUxMSVNFQ1MoMSkgKQ0KKyAgICBpZiAo
aWRsZV90aW1lcl9wZXJpb2RfbXMgIT0gQ0JfVElNRVJfUEVSSU9EX0RFRkFV
TFRfTVMgJiYNCisgICAgICAgIGNiX3RpbWVyX3BlcmlvZF9tcyA9PSBDQl9U
SU1FUl9QRVJJT0RfREVGQVVMVF9NUykNCisgICAgICAgIGNiX3RpbWVyX3Bl
cmlvZF9tcyA9IGlkbGVfdGltZXJfcGVyaW9kX21zOw0KKyANCisgICAgLyog
V2UgZG9uJ3QgYWxsb3cgMCwgb3IgYW55dGhpbmcgaGlnaGVyIHRoYW4gQ0Jf
VElNRVJfUEVSSU9EX01BWCAqLw0KKyAgICBpZiAoIGNiX3RpbWVyX3Blcmlv
ZF9tcyA9PSAwIHx8DQorICAgICAgICAgY2JfdGltZXJfcGVyaW9kX21zID4g
Q0JfVElNRVJfUEVSSU9EX01BWCAvIE1JTExJU0VDUygxKSApDQogICAgIHsN
Ci0gICAgICAgIGlkbGVfdGltZXJfcGVyaW9kX21zID0gSURMRV9USU1FUl9Q
RVJJT0RfREVGQVVMVCAvIE1JTExJU0VDUygxKTsNCisgICAgICAgIGNiX3Rp
bWVyX3BlcmlvZF9tcyA9IENCX1RJTUVSX1BFUklPRF9ERUZBVUxUIC8gTUlM
TElTRUNTKDEpOw0KICAgICAgICAgcHJpbnRrKCJXQVJOSU5HOiByY3UtaWRs
ZS10aW1lci1wZXJpb2QtbXMgb3V0c2lkZSBvZiAiDQogICAgICAgICAgICAg
ICAgIigwLCUiUFJJX3N0aW1lIl0uIFJlc2V0dGluZyBpdCB0byAldS5cbiIs
DQotICAgICAgICAgICAgICAgSURMRV9USU1FUl9QRVJJT0RfTUFYIC8gTUlM
TElTRUNTKDEpLCBpZGxlX3RpbWVyX3BlcmlvZF9tcyk7DQorICAgICAgICAg
ICAgICAgQ0JfVElNRVJfUEVSSU9EX01BWCAvIE1JTExJU0VDUygxKSwgY2Jf
dGltZXJfcGVyaW9kX21zKTsNCiAgICAgfQ0KLSAgICBpZGxlX3RpbWVyX3Bl
cmlvZCA9IE1JTExJU0VDUyhpZGxlX3RpbWVyX3BlcmlvZF9tcyk7DQorICAg
IGNiX3RpbWVyX3BlcmlvZCA9IE1JTExJU0VDUyhjYl90aW1lcl9wZXJpb2Rf
bXMpOw0KIA0KLSAgICBjcHVtYXNrX2NsZWFyKCZyY3VfY3RybGJsay5pZGxl
X2NwdW1hc2spOw0KKyAgICBjcHVtYXNrX2NsZWFyKCZyY3VfY3RybGJsay5p
Z25vcmVfY3B1bWFzayk7DQogICAgIGNwdV9jYWxsYmFjaygmY3B1X25mYiwg
Q1BVX1VQX1BSRVBBUkUsIGNwdSk7DQogICAgIHJlZ2lzdGVyX2NwdV9ub3Rp
ZmllcigmY3B1X25mYik7DQogICAgIG9wZW5fc29mdGlycShSQ1VfU09GVElS
USwgcmN1X3Byb2Nlc3NfY2FsbGJhY2tzKTsNCkBAIC03MDcsOCArNzIxLDgg
QEAgdm9pZCBfX2luaXQgcmN1X2luaXQodm9pZCkNCiAgKi8NCiB2b2lkIHJj
dV9pZGxlX2VudGVyKHVuc2lnbmVkIGludCBjcHUpDQogew0KLSAgICBBU1NF
UlQoIWNwdW1hc2tfdGVzdF9jcHUoY3B1LCAmcmN1X2N0cmxibGsuaWRsZV9j
cHVtYXNrKSk7DQotICAgIGNwdW1hc2tfc2V0X2NwdShjcHUsICZyY3VfY3Ry
bGJsay5pZGxlX2NwdW1hc2spOw0KKyAgICBBU1NFUlQoIWNwdW1hc2tfdGVz
dF9jcHUoY3B1LCAmcmN1X2N0cmxibGsuaWdub3JlX2NwdW1hc2spKTsNCisg
ICAgY3B1bWFza19zZXRfY3B1KGNwdSwgJnJjdV9jdHJsYmxrLmlnbm9yZV9j
cHVtYXNrKTsNCiAgICAgLyoNCiAgICAgICogSWYgc29tZSBvdGhlciBDUFUg
aXMgc3RhcnRpbmcgYSBuZXcgZ3JhY2UgcGVyaW9kLCB3ZSdsbCBub3RpY2Ug
dGhhdA0KICAgICAgKiBieSBzZWVpbmcgYSBuZXcgdmFsdWUgaW4gcmNwLT5j
dXIgKGRpZmZlcmVudCB0aGFuIG91ciBxdWllc2NiYXRjaCkuDQpAQCAtNzE5
LDEyICs3MzMsMTIgQEAgdm9pZCByY3VfaWRsZV9lbnRlcih1bnNpZ25lZCBp
bnQgY3B1KQ0KICAgICAgKi8NCiAgICAgc21wX21iKCk7DQogDQotICAgIHJj
dV9pZGxlX3RpbWVyX3N0YXJ0KCk7DQorICAgIGNiX3RpbWVyX3N0YXJ0KCk7
DQogfQ0KIA0KIHZvaWQgcmN1X2lkbGVfZXhpdCh1bnNpZ25lZCBpbnQgY3B1
KQ0KIHsNCi0gICAgcmN1X2lkbGVfdGltZXJfc3RvcCgpOw0KLSAgICBBU1NF
UlQoY3B1bWFza190ZXN0X2NwdShjcHUsICZyY3VfY3RybGJsay5pZGxlX2Nw
dW1hc2spKTsNCi0gICAgY3B1bWFza19jbGVhcl9jcHUoY3B1LCAmcmN1X2N0
cmxibGsuaWRsZV9jcHVtYXNrKTsNCisgICAgY2JfdGltZXJfc3RvcCgpOw0K
KyAgICBBU1NFUlQoY3B1bWFza190ZXN0X2NwdShjcHUsICZyY3VfY3RybGJs
ay5pZ25vcmVfY3B1bWFzaykpOw0KKyAgICBjcHVtYXNrX2NsZWFyX2NwdShj
cHUsICZyY3VfY3RybGJsay5pZ25vcmVfY3B1bWFzayk7DQogfQ0KZGlmZiAt
LWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9wZXJmY19kZWZuLmggYi94ZW4vaW5j
bHVkZS94ZW4vcGVyZmNfZGVmbi5oDQppbmRleCAwMDI3ZDk1YTYwLi44OWY1
NmFmNTNmIDEwMDY0NA0KLS0tIGEveGVuL2luY2x1ZGUveGVuL3BlcmZjX2Rl
Zm4uaA0KKysrIGIveGVuL2luY2x1ZGUveGVuL3BlcmZjX2RlZm4uaA0KQEAg
LTExLDcgKzExLDcgQEAgUEVSRkNPVU5URVIoY2FsbHNfZnJvbV9tdWx0aWNh
bGwsICAgICAgICJjYWxscyBmcm9tIG11bHRpY2FsbCIpDQogUEVSRkNPVU5U
RVIoaXJxcywgICAgICAgICAgICAgICAgICAgIiNpbnRlcnJ1cHRzIikNCiBQ
RVJGQ09VTlRFUihpcGlzLCAgICAgICAgICAgICAgICAgICAiI0lQSXMiKQ0K
IA0KLVBFUkZDT1VOVEVSKHJjdV9pZGxlX3RpbWVyLCAgICAgICAgICJSQ1U6
IGlkbGVfdGltZXIiKQ0KK1BFUkZDT1VOVEVSKHJjdV9jYWxsYmFja190aW1l
ciwgICAgICJSQ1U6IGNhbGxiYWNrX3RpbWVyIikNCiANCiAvKiBHZW5lcmlj
IHNjaGVkdWxlciBjb3VudGVycyAoYXBwbGljYWJsZSB0byBhbGwgc2NoZWR1
bGVycykgKi8NCiBQRVJGQ09VTlRFUihzY2hlZF9pcnEsICAgICAgICAgICAg
ICAic2NoZWQ6IHRpbWVyIikNCi0tIA0KMi4yNS4xDQoNCg==

--8323329-1513994428-1641520226=:2060010
Content-Type: text/x-diff; NAME=0003-xen-deal-with-vCPUs-that-do-not-yield-when-idle.patch
Content-Transfer-Encoding: BASE64
Content-ID: <alpine.DEB.2.22.394.2201061750262.2060010@ubuntu-linux-20-04-desktop>
Content-Description: 
Content-Disposition: ATTACHMENT; FILENAME=0003-xen-deal-with-vCPUs-that-do-not-yield-when-idle.patch

RnJvbSAxNjg1ZGMyYTJmODExZWI3MDljYjYyYmZmZDhlNTgwMjBmZjc5NDE5
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KRnJvbTogRGFyaW8gRmFnZ2lv
bGkgPGRmYWdnaW9saUBzdXNlLmNvbT4NCkRhdGU6IFRodSwgNiBKYW4gMjAy
MiAxNzoyNjo0OCAtMDgwMA0KU3ViamVjdDogW1BBVENIIDMvNF0geGVuOiBk
ZWFsIHdpdGggdkNQVXMgdGhhdCBkbyBub3QgeWllbGQgd2hlbiBpZGxlDQoN
Ck91ciBSQ1UgaW1wbGVtZW50YXRpb24gbmVlZHMgdGhhdCBhIENQVSBnb2Vz
IHRocm91Z2ggWGVuLCBmcm9tIHRpbWUgdG8NCnRpbWUsIGUuZy4sIGZvciBh
IGNvbnRleHQgc3dpdGNoLCB0byBwcm9wZXJseSBtYXJrIHRoZSBlbmQgb2Yg
Z3JhY2UNCnBlcmlvZC4gVGhpcyB1c3VhbGx5IGhhcHBlbiBvZnRlbiBlbm91
Z2gsIGFuZCBDUFVzIHRoYXQgZ28gaWRsZSBhbmQgc3RheQ0KbGlrZSB0aGF0
IGZvciBhIHdoaWxlIGFyZSBoYW5kbGVkIHNwZWNpYWxseSAoc28gdGhhdCB0
aGV5IGFyZSByZWNvcmRlZA0KYXMgcXVpZXNjZW50IGFuZCAibGVhdmUiIHRo
ZSBncmFjZSBwZXJpb2QgYmVmb3JlIHN0YXJ0aW5nIGlkbGluZykuDQoNCklu
IHByaW5jaXBsZSwgZXZlbiBhIENQVSB0aGF0IHN0YXJ0cyBleGVjdXRpbmcg
Z3Vlc3QgY29kZSBtYXkvc2hvdWxkIGJlDQptYXJrZWQgYXMgcXVpZXNjZW50
IChpdCBjZXJ0YWlubHkgY2FuJ3QgYmUgaW4gdGhlIG1pZGRsZSBvZiBhIHJl
YWQgc2lkZQ0KUkNVIGNyaXRpY2FsIHNlY3Rpb24gaWYgaXQncyBsZWF2aW5n
IFhlbiBhbmQgZW50ZXJpbmcgdGhlIGd1ZXN0ISkuIFRoaXMNCmlzbid0IGRv
bmUgYW5kIGluIGdlbmVyYWwgZG9lcyBub3QgY2F1c2UgcHJvYmxlbXMuIEhv
d2V2ZXIsIGlmIHRoZSBOVUxMDQpzY2hlZHVsZXIgaXMgdXNlZCBhbmQgdGhl
IGd1ZXN0IGlzIGNvbmZpZ3VyZWQgdG8gbm90IGdvIGJhY2sgaW4gWGVuIHdo
ZW4NCml0cyB2Q1BVcyBiZWNvbWUgaWRsZSAoZS5nLiwgd2l0aCAidndmaT1u
YXRpdmUiIG9uIEFSTSkgZ3JhY2UgcGVyaW9kcw0KbWF5IGV4dGVuZCBmb3Ig
dmVyeSBsb25nIHRpbWUgYW5kIFJDVSBjYWxsYmFjayBkZWxheWVkIHRvIGEg
cG9pbnQgdGhhdCwNCmZvciBpbnN0YW5jZSwgYSBkb21haW4gaXMgbm90IHBy
b3Blcmx5IGRlc3Ryb3llZC4NCg0KVG8gZml4IHRoYXQsIHdlIG11c3Qgc3Rh
cnQgbWFya2luZyBhIENQVSBhcyBxdWllc2NlbnQgYXMgc29vbiBhcyBpdA0K
ZW50ZXIgdGhlIGd1ZXN0IChhbmQsIHZpY2UgdmVyc2EsIHJlZ2lzdGVyIGl0
IGJhY2sgdG8gdGhlIGN1cnJlbnQgZ3JhY2UNCnBlcmlvZCB3aGVuIGl0IGVu
dGVycyBYZW4pLiBJbiBvcmRlciB0byBkbyB0aGF0LCBzb21lIGNoYW5nZXMg
dG8gdGhlIEFQSQ0Kb2YgcmN1X2lkbGVfZW50ZXIvZXhpdCB3ZXJlIG5lY2Vz
c2FyeSAoYW5kIHRoZSBmdW5jdGlvbnMgd2VyZSByZW5hbWVkDQp0b28pLg0K
DQpOb3RlIHRoYXQsIGV4YWN0bHkgbGlrZSBpbiB0aGUgY2FzZSB3aGVyZSB0
aGUgQ1BVIGdvZXMgaWRsZSwgd2UgbmVlZCB0aGUNCmFybSB0aGUgY2FsbGJh
Y2sgdGltZXIgd2hlbiB3ZSBlbnRlciBndWVzdCBjb250ZXh0LiBJbiBmYWN0
LCBpZiBhIENQVQ0KZW50ZXIgYSBndWVzdCB3aXRoIGFuIFJDVSBjYWxsYmFj
ayBxdWV1ZWQgYW5kIHRoZW4gc3RheXMgaW4gdGhhdCBjb250ZXh0DQpmb3Ig
bG9uZyBlbm91Z2gsIHdlIHN0aWxsIHJpc2sgdG8gbm90IGV4ZWN1dGUgdGhl
IGNhbGxiYWNrIGl0c2VsZiBmb3INCmxvbmcgZW5vdWdoIHRvIGhhdmUgcHJv
YmxlbXMuDQoNClhYWCBBUk0gb25seSBmb3Igbm93Lg0KDQpTaWduZWQtb2Zm
LWJ5OiBEYXJpbyBGYWdnaW9saSA8ZGZhZ2dpb2xpQHN1c2UuY29tPg0KLS0t
DQogeGVuL2FyY2gvYXJtL2RvbWFpbi5jICAgICAgICAgfCAgNCArKy0tDQog
eGVuL2FyY2gvYXJtL3RyYXBzLmMgICAgICAgICAgfCAgMyArKysNCiB4ZW4v
YXJjaC94ODYvYWNwaS9jcHVfaWRsZS5jICB8ICA4ICsrKy0tLS0NCiB4ZW4v
YXJjaC94ODYvY3B1L213YWl0LWlkbGUuYyB8ICA4ICsrKy0tLS0NCiB4ZW4v
Y29tbW9uL3JjdXBkYXRlLmMgICAgICAgICB8IDQxICsrKysrKysrKysrKysr
KysrKysrKysrLS0tLS0tLS0tLS0tDQogeGVuL2luY2x1ZGUveGVuL3JjdXBk
YXRlLmggICAgfCAgNCArKy0tDQogNiBmaWxlcyBjaGFuZ2VkLCA0MiBpbnNl
cnRpb25zKCspLCAyNiBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL3hl
bi9hcmNoL2FybS9kb21haW4uYyBiL3hlbi9hcmNoL2FybS9kb21haW4uYw0K
aW5kZXggOTJhNmM1MDllNS4uZTQ3MTY4ZTgwZCAxMDA2NDQNCi0tLSBhL3hl
bi9hcmNoL2FybS9kb21haW4uYw0KKysrIGIveGVuL2FyY2gvYXJtL2RvbWFp
bi5jDQpAQCAtNDgsNyArNDgsNyBAQCBzdGF0aWMgdm9pZCBkb19pZGxlKHZv
aWQpDQogew0KICAgICB1bnNpZ25lZCBpbnQgY3B1ID0gc21wX3Byb2Nlc3Nv
cl9pZCgpOw0KIA0KLSAgICByY3VfaWRsZV9lbnRlcihjcHUpOw0KKyAgICBy
Y3VfcXVpZXRfZW50ZXIoKTsNCiAgICAgLyogcmN1X2lkbGVfZW50ZXIoKSBj
YW4gcmFpc2UgVElNRVJfU09GVElSUS4gUHJvY2VzcyBpdCBub3cuICovDQog
ICAgIHByb2Nlc3NfcGVuZGluZ19zb2Z0aXJxcygpOw0KIA0KQEAgLTYwLDcg
KzYwLDcgQEAgc3RhdGljIHZvaWQgZG9faWRsZSh2b2lkKQ0KICAgICB9DQog
ICAgIGxvY2FsX2lycV9lbmFibGUoKTsNCiANCi0gICAgcmN1X2lkbGVfZXhp
dChjcHUpOw0KKyAgICByY3VfcXVpZXRfZXhpdCgpOw0KIH0NCiANCiB2b2lk
IGlkbGVfbG9vcCh2b2lkKQ0KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS90
cmFwcy5jIGIveGVuL2FyY2gvYXJtL3RyYXBzLmMNCmluZGV4IGUyODQyYmE0
ZGIuLjZiY2ViNWI1MzYgMTAwNjQ0DQotLS0gYS94ZW4vYXJjaC9hcm0vdHJh
cHMuYw0KKysrIGIveGVuL2FyY2gvYXJtL3RyYXBzLmMNCkBAIC0yMDQ3LDYg
KzIwNDcsOCBAQCB2b2lkIGVudGVyX2h5cGVydmlzb3JfZnJvbV9ndWVzdCh2
b2lkKQ0KIHsNCiAgICAgc3RydWN0IHZjcHUgKnYgPSBjdXJyZW50Ow0KIA0K
KyAgICByY3VfcXVpZXRfZXhpdCgpOw0KKw0KICAgICAvKg0KICAgICAgKiBJ
ZiB3ZSBwZW5kZWQgYSB2aXJ0dWFsIGFib3J0LCBwcmVzZXJ2ZSBpdCB1bnRp
bCBpdCBnZXRzIGNsZWFyZWQuDQogICAgICAqIFNlZSBBUk0gQVJNIERESSAw
NDg3QS5qIEQxLjE0LjMgKFZpcnR1YWwgSW50ZXJydXB0cykgZm9yIGRldGFp
bHMsDQpAQCAtMjMzNyw2ICsyMzM5LDcgQEAgc3RhdGljIGJvb2wgY2hlY2tf
Zm9yX3ZjcHVfd29yayh2b2lkKQ0KICAqLw0KIHZvaWQgbGVhdmVfaHlwZXJ2
aXNvcl90b19ndWVzdCh2b2lkKQ0KIHsNCisgICAgcmN1X3F1aWV0X2VudGVy
KCk7DQogICAgIGxvY2FsX2lycV9kaXNhYmxlKCk7DQogDQogICAgIC8qDQpk
aWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2FjcGkvY3B1X2lkbGUuYyBiL3hl
bi9hcmNoL3g4Ni9hY3BpL2NwdV9pZGxlLmMNCmluZGV4IGQ3ODhjOGJmZmMu
LmUzYTVlNjdjNjggMTAwNjQ0DQotLS0gYS94ZW4vYXJjaC94ODYvYWNwaS9j
cHVfaWRsZS5jDQorKysgYi94ZW4vYXJjaC94ODYvYWNwaS9jcHVfaWRsZS5j
DQpAQCAtNzE2LDcgKzcxNiw3IEBAIHN0YXRpYyB2b2lkIGFjcGlfcHJvY2Vz
c29yX2lkbGUodm9pZCkNCiANCiAgICAgY3B1ZnJlcV9kYnNfdGltZXJfc3Vz
cGVuZCgpOw0KIA0KLSAgICByY3VfaWRsZV9lbnRlcihjcHUpOw0KKyAgICBy
Y3VfcXVpZXRfZW50ZXIoKTsNCiAgICAgLyogcmN1X2lkbGVfZW50ZXIoKSBj
YW4gcmFpc2UgVElNRVJfU09GVElSUS4gUHJvY2VzcyBpdCBub3cuICovDQog
ICAgIHByb2Nlc3NfcGVuZGluZ19zb2Z0aXJxcygpOw0KIA0KQEAgLTcyOSw3
ICs3MjksNyBAQCBzdGF0aWMgdm9pZCBhY3BpX3Byb2Nlc3Nvcl9pZGxlKHZv
aWQpDQogICAgIGlmICggIWNwdV9pc19oYWx0YWJsZShjcHUpICkNCiAgICAg
ew0KICAgICAgICAgbG9jYWxfaXJxX2VuYWJsZSgpOw0KLSAgICAgICAgcmN1
X2lkbGVfZXhpdChjcHUpOw0KKyAgICAgICAgcmN1X3F1aWV0X2V4aXQoKTsN
CiAgICAgICAgIGNwdWZyZXFfZGJzX3RpbWVyX3Jlc3VtZSgpOw0KICAgICAg
ICAgcmV0dXJuOw0KICAgICB9DQpAQCAtODU0LDcgKzg1NCw3IEBAIHN0YXRp
YyB2b2lkIGFjcGlfcHJvY2Vzc29yX2lkbGUodm9pZCkNCiAgICAgICAgIC8q
IE5vdyBpbiBDMCAqLw0KICAgICAgICAgcG93ZXItPmxhc3Rfc3RhdGUgPSAm
cG93ZXItPnN0YXRlc1swXTsNCiAgICAgICAgIGxvY2FsX2lycV9lbmFibGUo
KTsNCi0gICAgICAgIHJjdV9pZGxlX2V4aXQoY3B1KTsNCisgICAgICAgIHJj
dV9xdWlldF9leGl0KCk7DQogICAgICAgICBjcHVmcmVxX2Ric190aW1lcl9y
ZXN1bWUoKTsNCiAgICAgICAgIHJldHVybjsNCiAgICAgfQ0KQEAgLTg2Miw3
ICs4NjIsNyBAQCBzdGF0aWMgdm9pZCBhY3BpX3Byb2Nlc3Nvcl9pZGxlKHZv
aWQpDQogICAgIC8qIE5vdyBpbiBDMCAqLw0KICAgICBwb3dlci0+bGFzdF9z
dGF0ZSA9ICZwb3dlci0+c3RhdGVzWzBdOw0KIA0KLSAgICByY3VfaWRsZV9l
eGl0KGNwdSk7DQorICAgIHJjdV9xdWlldF9leGl0KCk7DQogICAgIGNwdWZy
ZXFfZGJzX3RpbWVyX3Jlc3VtZSgpOw0KIA0KICAgICBpZiAoIGNwdWlkbGVf
Y3VycmVudF9nb3Zlcm5vci0+cmVmbGVjdCApDQpkaWZmIC0tZ2l0IGEveGVu
L2FyY2gveDg2L2NwdS9td2FpdC1pZGxlLmMgYi94ZW4vYXJjaC94ODYvY3B1
L213YWl0LWlkbGUuYw0KaW5kZXggZDE3MzlmNmZjMy4uNzM5ZjIwZTFmZSAx
MDA2NDQNCi0tLSBhL3hlbi9hcmNoL3g4Ni9jcHUvbXdhaXQtaWRsZS5jDQor
KysgYi94ZW4vYXJjaC94ODYvY3B1L213YWl0LWlkbGUuYw0KQEAgLTc3OCw4
ICs3NzgsOCBAQCBzdGF0aWMgdm9pZCBtd2FpdF9pZGxlKHZvaWQpDQogDQog
CWNwdWZyZXFfZGJzX3RpbWVyX3N1c3BlbmQoKTsNCiANCi0JcmN1X2lkbGVf
ZW50ZXIoY3B1KTsNCi0JLyogcmN1X2lkbGVfZW50ZXIoKSBjYW4gcmFpc2Ug
VElNRVJfU09GVElSUS4gUHJvY2VzcyBpdCBub3cuICovDQorCXJjdV9xdWll
dF9lbnRlcigpOw0KKwkvKiByY3VfcXVpZXRfZW50ZXIoKSBjYW4gcmFpc2Ug
VElNRVJfU09GVElSUS4gUHJvY2VzcyBpdCBub3cuICovDQogCXByb2Nlc3Nf
cGVuZGluZ19zb2Z0aXJxcygpOw0KIA0KIAkvKiBJbnRlcnJ1cHRzIG11c3Qg
YmUgZGlzYWJsZWQgZm9yIEMyIGFuZCBoaWdoZXIgdHJhbnNpdGlvbnMuICov
DQpAQCAtNzg3LDcgKzc4Nyw3IEBAIHN0YXRpYyB2b2lkIG13YWl0X2lkbGUo
dm9pZCkNCiANCiAJaWYgKCFjcHVfaXNfaGFsdGFibGUoY3B1KSkgew0KIAkJ
bG9jYWxfaXJxX2VuYWJsZSgpOw0KLQkJcmN1X2lkbGVfZXhpdChjcHUpOw0K
KwkJcmN1X3F1aWV0X2V4aXQoKTsNCiAJCWNwdWZyZXFfZGJzX3RpbWVyX3Jl
c3VtZSgpOw0KIAkJcmV0dXJuOw0KIAl9DQpAQCAtODI5LDcgKzgyOSw3IEBA
IHN0YXRpYyB2b2lkIG13YWl0X2lkbGUodm9pZCkNCiAJaWYgKCEobGFwaWNf
dGltZXJfcmVsaWFibGVfc3RhdGVzICYgKDEgPDwgY3gtPnR5cGUpKSkNCiAJ
CWxhcGljX3RpbWVyX29uKCk7DQogDQotCXJjdV9pZGxlX2V4aXQoY3B1KTsN
CisJcmN1X3F1aWV0X2V4aXQoKTsNCiAJY3B1ZnJlcV9kYnNfdGltZXJfcmVz
dW1lKCk7DQogDQogCWlmICggY3B1aWRsZV9jdXJyZW50X2dvdmVybm9yLT5y
ZWZsZWN0ICkNCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL3JjdXBkYXRlLmMg
Yi94ZW4vY29tbW9uL3JjdXBkYXRlLmMNCmluZGV4IDk2ZThjYTAxYzAuLmNm
Y2M4YmJjOTcgMTAwNjQ0DQotLS0gYS94ZW4vY29tbW9uL3JjdXBkYXRlLmMN
CisrKyBiL3hlbi9jb21tb24vcmN1cGRhdGUuYw0KQEAgLTg3LDcgKzg3LDcg
QEAgc3RydWN0IHJjdV9kYXRhIHsNCiAgICAgaW50IGNwdTsNCiAgICAgbG9u
ZyAgICAgICAgICAgIGxhc3RfcnNfcWxlbjsgICAgIC8qIHFsZW4gZHVyaW5n
IHRoZSBsYXN0IHJlc2NoZWQgKi8NCiANCi0gICAgLyogMykgaWRsZSBDUFVz
IGhhbmRsaW5nICovDQorICAgIC8qIDMpIGlkbGUgKG9yIGluIGd1ZXN0IG1v
ZGUpIENQVXMgaGFuZGxpbmcgKi8NCiAgICAgc3RydWN0IHRpbWVyIGNiX3Rp
bWVyOw0KICAgICBib29sIGNiX3RpbWVyX2FjdGl2ZTsNCiANCkBAIC0xMTUs
NiArMTE1LDEyIEBAIGJvb2xlYW5fcGFyYW0oInJjdV9mb3JjZV9xdWllc2Mi
LCByY3VfYWx3YXlzX3F1aWVzYyk7DQogICogMykgaXQgaXMgc3RvcHBlZCBp
bW1lZGlhdGVseSwgaWYgdGhlIENQVSB3YWtlcyB1cCBmcm9tIGlkbGUgYW5k
DQogICogICAgcmVzdW1lcyAnbm9ybWFsJyBleGVjdXRpb24uDQogICoNCisg
KiBOb3RlIGFsc28gdGhhdCB0aGUgc2FtZSBoYXBwZW5zIGlmIGEgQ1BVIHN0
YXJ0cyBleGVjdXRpbmcgYSBndWVzdCB0aGF0DQorICogKGFsbW9zdCkgbmV2
ZXIgY29tZXMgYmFjayBpbnRvIHRoZSBoeXBlcnZpc29yLiBUaGlzIG1heSBi
ZSB0aGUgY2FzZSBpZg0KKyAqIHRoZSBndWVzdCB1c2VzICJpZGxlPXBvbGwi
IC8gInZ3Zmk9bmF0aXZlIi4gVGhlcmVmb3JlLCB3ZSBuZWVkIHRvIGhhbmRs
ZQ0KKyAqIGd1ZXN0IGVudHJ5IGV2ZW50cyBpbiB0aGUgc2FtZSB3YXkgYXMg
dGhlIENQVSBnb2luZyBpZGxlLCBpLmUuLCBjb25zaWRlcg0KKyAqIGl0IHF1
aWVzY2VkIGFuZCBhcm0gdGhlIHRpbWVyLg0KKyAqDQogICogQWJvdXQgaG93
IGZhciBpbiB0aGUgZnV0dXJlIHRoZSB0aW1lciBzaG91bGQgYmUgcHJvZ3Jh
bW1lZCBlYWNoIHRpbWUsDQogICogaXQncyBoYXJkIHRvIHRlbGwgKGd1ZXNz
ISEpLiBTaW5jZSB0aGlzIG1pbWljcyBMaW51eCdzIHBlcmlvZGljIHRpbWVy
DQogICogdGljaywgdGFrZSB2YWx1ZXMgdXNlZCB0aGVyZSBhcyBhbiBpbmRp
Y2F0aW9uLiBJbiBMaW51eCAyLjYuMjEsIHRpY2sNCkBAIC0zNjIsOSArMzY4
LDEwIEBAIHN0YXRpYyB2b2lkIHJjdV9zdGFydF9iYXRjaChzdHJ1Y3QgcmN1
X2N0cmxibGsgKnJjcCkNCiAgICAgICAgICogTWFrZSBzdXJlIHRoZSBpbmNy
ZW1lbnQgb2YgcmNwLT5jdXIgaXMgdmlzaWJsZSBzbywgZXZlbiBpZiBhDQog
ICAgICAgICAqIENQVSB0aGF0IGlzIGFib3V0IHRvIGdvIGlkbGUsIGlzIGNh
cHR1cmVkIGluc2lkZSByY3AtPmNwdW1hc2ssDQogICAgICAgICAqIHJjdV9w
ZW5kaW5nKCkgd2lsbCByZXR1cm4gZmFsc2UsIHdoaWNoIHRoZW4gbWVhbnMg
Y3B1X3F1aWV0KCkNCi0gICAgICAgICogd2lsbCBiZSBpbnZva2VkLCBiZWZv
cmUgdGhlIENQVSB3b3VsZCBhY3R1YWxseSBlbnRlciBpZGxlLg0KKyAgICAg
ICAgKiB3aWxsIGJlIGludm9rZWQsIGJlZm9yZSB0aGUgQ1BVIHdvdWxkIGFj
dHVhbGx5IGVudGVyIGlkbGUgKG9yDQorICAgICAgICAqIGVudGVyIGEgZ3Vl
c3QpLg0KICAgICAgICAgKg0KLSAgICAgICAgKiBUaGlzIGJhcnJpZXIgaXMg
cGFpcmVkIHdpdGggdGhlIG9uZSBpbiByY3VfaWRsZV9lbnRlcigpLg0KKyAg
ICAgICAgKiBUaGlzIGJhcnJpZXIgaXMgcGFpcmVkIHdpdGggdGhlIG9uZSBp
biByY3VfcXVpdF9lbnRlcigpLg0KICAgICAgICAgKi8NCiAgICAgICAgIHNt
cF9tYigpOw0KICAgICAgICAgY3B1bWFza19hbmRub3QoJnJjcC0+Y3B1bWFz
aywgJmNwdV9vbmxpbmVfbWFwLCAmcmNwLT5pZ25vcmVfY3B1bWFzayk7DQpA
QCAtNTM0LDE0ICs1NDEsMTUgQEAgaW50IHJjdV9uZWVkc19jcHUoaW50IGNw
dSkNCiAgKiBwZXJpb2RpY2FsbHkgcG9rZSByY3VfcGVkbmluZygpLCBzbyB0
aGF0IGl0IHdpbGwgaW52b2tlIHRoZSBjYWxsYmFjaw0KICAqIG5vdCB0b28g
bGF0ZSBhZnRlciB0aGUgZW5kIG9mIHRoZSBncmFjZSBwZXJpb2QuDQogICov
DQotc3RhdGljIHZvaWQgY2JfdGltZXJfc3RhcnQodm9pZCkNCitzdGF0aWMg
dm9pZCBjYl90aW1lcl9zdGFydCh1bnNpZ25lZCBpbnQgY3B1KQ0KIHsNCi0g
ICAgc3RydWN0IHJjdV9kYXRhICpyZHAgPSAmdGhpc19jcHUocmN1X2RhdGEp
Ow0KKyAgICBzdHJ1Y3QgcmN1X2RhdGEgKnJkcCA9ICZwZXJfY3B1KHJjdV9k
YXRhLCBjcHUpOw0KIA0KICAgICAvKg0KICAgICAgKiBOb3RlIHRoYXQgd2Ug
ZG9uJ3QgY2hlY2sgcmN1X3BlbmRpbmcoKSBoZXJlLiBJbiBmYWN0LCB3ZSBk
b24ndCB3YW50DQogICAgICAqIHRoZSB0aW1lciBhcm1lZCBvbiBDUFVzIHRo
YXQgYXJlIGluIHRoZSBwcm9jZXNzIG9mIHF1aWVzY2luZyB3aGlsZQ0KLSAg
ICAgKiBnb2luZyBpZGxlLCB1bmxlc3MgdGhleSByZWFsbHkgYXJlIHRoZSBv
bmVzIHdpdGggYSBxdWV1ZWQgY2FsbGJhY2suDQorICAgICAqIGdvaW5nIGlk
bGUgb3IgZW50ZXJpbmcgZ3Vlc3QgbW9kZSwgdW5sZXNzIHRoZXkgcmVhbGx5
IGhhdmUgcXVldWVkDQorICAgICAqIGNhbGxiYWNrcy4NCiAgICAgICovDQog
ICAgIGlmIChsaWtlbHkoIXJkcC0+Y3VybGlzdCkpDQogICAgICAgICByZXR1
cm47DQpAQCAtNTUwLDkgKzU1OCw5IEBAIHN0YXRpYyB2b2lkIGNiX3RpbWVy
X3N0YXJ0KHZvaWQpDQogICAgIHJkcC0+Y2JfdGltZXJfYWN0aXZlID0gdHJ1
ZTsNCiB9DQogDQotc3RhdGljIHZvaWQgY2JfdGltZXJfc3RvcCh2b2lkKQ0K
K3N0YXRpYyB2b2lkIGNiX3RpbWVyX3N0b3AodW5zaWduZWQgaW50IGNwdSkN
CiB7DQotICAgIHN0cnVjdCByY3VfZGF0YSAqcmRwID0gJnRoaXNfY3B1KHJj
dV9kYXRhKTsNCisgICAgc3RydWN0IHJjdV9kYXRhICpyZHAgPSAmcGVyX2Nw
dShyY3VfZGF0YSwgY3B1KTsNCiANCiAgICAgaWYgKGxpa2VseSghcmRwLT5j
Yl90aW1lcl9hY3RpdmUpKQ0KICAgICAgICAgcmV0dXJuOw0KQEAgLTcxNiwx
MSArNzI0LDE0IEBAIHZvaWQgX19pbml0IHJjdV9pbml0KHZvaWQpDQogfQ0K
IA0KIC8qDQotICogVGhlIENQVSBpcyBiZWNvbWluZyBpZGxlLCBzbyBubyBt
b3JlIHJlYWQgc2lkZSBjcml0aWNhbA0KLSAqIHNlY3Rpb25zLCBhbmQgb25l
IG1vcmUgc3RlcCB0b3dhcmQgZ3JhY2UgcGVyaW9kLg0KKyAqIFRoZSBDUFUg
aXMgYmVjb21pbmcgYWJvdXQgdG8gZWl0aGVyIGlkbGUgb3IgZW50ZXIgdGhl
IGd1ZXN0LiBJbiBhbnkgb2YNCisgKiB0aGVzZSBjYXNlcywgaXQgY2FuJ3Qg
aGF2ZSBhbnkgb3V0c3RhbmRpbmcgcmVhZCBzaWRlIGNyaXRpY2FsIHNlY3Rp
b25zDQorICogc28gdGhpcyBpcyBvbmUgc3RlcCB0b3dhcmQgdGhlIGVuZCBv
ZiB0aGUgZ3JhY2UgcGVyaW9kLg0KICAqLw0KLXZvaWQgcmN1X2lkbGVfZW50
ZXIodW5zaWduZWQgaW50IGNwdSkNCit2b2lkIHJjdV9xdWlldF9lbnRlcih2
b2lkKQ0KIHsNCisgICAgdW5zaWduZWQgaW50IGNwdSA9IHNtcF9wcm9jZXNz
b3JfaWQoKTsNCisNCiAgICAgQVNTRVJUKCFjcHVtYXNrX3Rlc3RfY3B1KGNw
dSwgJnJjdV9jdHJsYmxrLmlnbm9yZV9jcHVtYXNrKSk7DQogICAgIGNwdW1h
c2tfc2V0X2NwdShjcHUsICZyY3VfY3RybGJsay5pZ25vcmVfY3B1bWFzayk7
DQogICAgIC8qDQpAQCAtNzMzLDEyICs3NDQsMTQgQEAgdm9pZCByY3VfaWRs
ZV9lbnRlcih1bnNpZ25lZCBpbnQgY3B1KQ0KICAgICAgKi8NCiAgICAgc21w
X21iKCk7DQogDQotICAgIGNiX3RpbWVyX3N0YXJ0KCk7DQorICAgIGNiX3Rp
bWVyX3N0YXJ0KGNwdSk7DQogfQ0KIA0KLXZvaWQgcmN1X2lkbGVfZXhpdCh1
bnNpZ25lZCBpbnQgY3B1KQ0KK3ZvaWQgcmN1X3F1aWV0X2V4aXQodm9pZCkN
CiB7DQotICAgIGNiX3RpbWVyX3N0b3AoKTsNCisgICAgdW5zaWduZWQgaW50
IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsNCisNCisgICAgY2JfdGltZXJf
c3RvcChjcHUpOw0KICAgICBBU1NFUlQoY3B1bWFza190ZXN0X2NwdShjcHUs
ICZyY3VfY3RybGJsay5pZ25vcmVfY3B1bWFzaykpOw0KICAgICBjcHVtYXNr
X2NsZWFyX2NwdShjcHUsICZyY3VfY3RybGJsay5pZ25vcmVfY3B1bWFzayk7
DQogfQ0KZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9yY3VwZGF0ZS5o
IGIveGVuL2luY2x1ZGUveGVuL3JjdXBkYXRlLmgNCmluZGV4IGQyNzllMzkw
MjIuLjdkZDBiMmQ3NGIgMTAwNjQ0DQotLS0gYS94ZW4vaW5jbHVkZS94ZW4v
cmN1cGRhdGUuaA0KKysrIGIveGVuL2luY2x1ZGUveGVuL3JjdXBkYXRlLmgN
CkBAIC0xNzksNyArMTc5LDcgQEAgdm9pZCBjYWxsX3JjdShzdHJ1Y3QgcmN1
X2hlYWQgKmhlYWQsDQogDQogdm9pZCByY3VfYmFycmllcih2b2lkKTsNCiAN
Ci12b2lkIHJjdV9pZGxlX2VudGVyKHVuc2lnbmVkIGludCBjcHUpOw0KLXZv
aWQgcmN1X2lkbGVfZXhpdCh1bnNpZ25lZCBpbnQgY3B1KTsNCit2b2lkIHJj
dV9xdWlldF9lbnRlcih2b2lkKTsNCit2b2lkIHJjdV9xdWlldF9leGl0KHZv
aWQpOw0KIA0KICNlbmRpZiAvKiBfX1hFTl9SQ1VQREFURV9IICovDQotLSAN
CjIuMjUuMQ0KDQo=

--8323329-1513994428-1641520226=:2060010
Content-Type: text/x-diff; NAME=0004-xen-remove-ASSERT-in-rcu_quiet_enter.patch
Content-Transfer-Encoding: BASE64
Content-ID: <alpine.DEB.2.22.394.2201061750263.2060010@ubuntu-linux-20-04-desktop>
Content-Description: 
Content-Disposition: ATTACHMENT; FILENAME=0004-xen-remove-ASSERT-in-rcu_quiet_enter.patch

RnJvbSA2ZmMwMmI5MDgxNGQzZmU2MzA3MTVlMzUzZDE2ZjM5N2E1YjI4MGY5
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KRnJvbTogU3RlZmFubyBTdGFi
ZWxsaW5pIDxzdGVmYW5vLnN0YWJlbGxpbmlAeGlsaW54LmNvbT4NCkRhdGU6
IFRodSwgNiBKYW4gMjAyMiAxNzo0MTowOCAtMDgwMA0KU3ViamVjdDogW1BB
VENIIDQvNF0geGVuOiByZW1vdmUgQVNTRVJUIGluIHJjdV9xdWlldF9lbnRl
cg0KDQpBZnRlciB0aGUgcmVjZW50IGNoYW5nZXMgdG8gdGhlIFJDVSBzdWJz
eXN0ZW0gYW5kIHJjdV9xdWlldF9lbnRlciwgdGhlDQpBU1NFUlQgYXQgdGhl
IGJlZ2lubmluZyBvZiByY3VfcXVpZXRfZW50ZXIgdHJpZ2dlcnMuIEl0IGlz
IGhhcm1sZXNzLCBzbw0KcmVtb3ZlIGl0Lg0KDQpTaWduZWQtb2ZmLWJ5OiBT
dGVmYW5vIFN0YWJlbGxpbmkgPHN0ZWZhbm8uc3RhYmVsbGluaUB4aWxpbngu
Y29tPg0KLS0tDQogeGVuL2NvbW1vbi9yY3VwZGF0ZS5jIHwgMyArKy0NCiAx
IGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0p
DQoNCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL3JjdXBkYXRlLmMgYi94ZW4v
Y29tbW9uL3JjdXBkYXRlLmMNCmluZGV4IGNmY2M4YmJjOTcuLjdiOWU0YmRm
MTUgMTAwNjQ0DQotLS0gYS94ZW4vY29tbW9uL3JjdXBkYXRlLmMNCisrKyBi
L3hlbi9jb21tb24vcmN1cGRhdGUuYw0KQEAgLTczMiw3ICs3MzIsOCBAQCB2
b2lkIHJjdV9xdWlldF9lbnRlcih2b2lkKQ0KIHsNCiAgICAgdW5zaWduZWQg
aW50IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsNCiANCi0gICAgQVNTRVJU
KCFjcHVtYXNrX3Rlc3RfY3B1KGNwdSwgJnJjdV9jdHJsYmxrLmlnbm9yZV9j
cHVtYXNrKSk7DQorICAgIGlmIChjcHVtYXNrX3Rlc3RfY3B1KGNwdSwgJnJj
dV9jdHJsYmxrLmlnbm9yZV9jcHVtYXNrKSkNCisgICAgICAgIHJldHVybjsN
CiAgICAgY3B1bWFza19zZXRfY3B1KGNwdSwgJnJjdV9jdHJsYmxrLmlnbm9y
ZV9jcHVtYXNrKTsNCiAgICAgLyoNCiAgICAgICogSWYgc29tZSBvdGhlciBD
UFUgaXMgc3RhcnRpbmcgYSBuZXcgZ3JhY2UgcGVyaW9kLCB3ZSdsbCBub3Rp
Y2UgdGhhdA0KLS0gDQoyLjI1LjENCg0K

--8323329-1513994428-1641520226=:2060010--


From xen-devel-bounces@lists.xenproject.org Fri Jan 07 02:39:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 02:39:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254251.435901 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5fAE-0002LO-LF; Fri, 07 Jan 2022 02:39:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254251.435901; Fri, 07 Jan 2022 02:39:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5fAE-0002LH-II; Fri, 07 Jan 2022 02:39:34 +0000
Received: by outflank-mailman (input) for mailman id 254251;
 Fri, 07 Jan 2022 02:39:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yHxo=RX=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n5fAD-0002L6-Ag
 for xen-devel@lists.xenproject.org; Fri, 07 Jan 2022 02:39:33 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [2a0c:e300::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 098cce22-6f63-11ec-9ce5-af14b9085ebd;
 Fri, 07 Jan 2022 03:39:31 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id AFCA1FF;
 Fri,  7 Jan 2022 03:39:28 +0100 (CET)
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 17FGiXXIGYMX; Fri,  7 Jan 2022 03:39:27 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 5F7E0295;
 Fri,  7 Jan 2022 03:39:27 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n5fA5-001Sjd-QV;
 Fri, 07 Jan 2022 03:39:25 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 098cce22-6f63-11ec-9ce5-af14b9085ebd
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Fri, 7 Jan 2022 03:39:25 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH 00/15] mini-os: remove struct file dependency from config
Message-ID: <20220107023925.535yyongimla2umw@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: <20220106115741.3219-1-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220106115741.3219-1-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: AFCA1FF
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Hello,

I had a glimpse at the changes, this looks good to me!

Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
on the whole series.

I'll see when I'll be able to find time to review the changes, unless
somebody beats me to it :)

Samuel

Juergen Gross, le jeu. 06 janv. 2022 12:57:26 +0100, a ecrit:
> Today the layout of struct file is depending on the Mini-OS
> configuration. This is especially bad as the layout is exported to
> external users like the Xen libraries built for Mini-OS, and those
> are being built only once for multiple stubdom configurations.
> 
> Today there is no direct problem resulting from this, as the main
> difference between struct file layouts is a large union containing all
> the device specific data for the different file types. The largest
> union member is not configuration dependant, so the build is currently
> not broken.
> 
> In order to avoid any future problems this patch series is eliminating
> the configuration dependency by replacing most of the device specific
> union members by a single pointer.
> 
> The two union members used by Xen libraries can't be replaced yet, as
> those need to be switched to use the generic pointer first.
> 
> In order to hide the Mini-OS internal implementation of the files
> array, the last patch is introducing a service function for obtaining
> the pointer to struct file for a given file descriptor, which must be
> used for that purpose by all Mini-OS external components.
> 
> Juergen Gross (15):
>   mini-os: split struct file definition from its usage
>   mini-os: makes file.read bool and move it ahead of device specific
>     part
>   mini-os: make offset a common struct file member for all types
>   mini-os: replace multiple fd elements in struct file by common one
>   mini-os: introduce a common dev pointer in struct file
>   mini-os: eliminate blkfront union member in struct file
>   mini-os: eliminate consfront union member in struct file
>   mini-os: eliminate fbfront union member in struct file
>   mini-os: eliminate kbdfront union member in struct file
>   mini-os: eliminate netfront union member in struct file
>   mini-os: move tpm respgot member of struct file to device specific
>     data
>   mini-os: eliminate tpmfront union member in struct file
>   mini-os: eliminate tpmtis union member in struct file
>   mini-os: eliminate xenbus union member in struct file
>   mini-os: introduce get_file_from_fd()
> 
>  blkfront.c             |  15 +++---
>  console/xencons_ring.c |   2 +-
>  fbfront.c              |  16 +++----
>  include/lib.h          |  59 ++++-------------------
>  include/tpmfront.h     |   2 +
>  lib/sys.c              | 103 ++++++++++++++++++++++-------------------
>  lib/xs.c               |  13 +++---
>  netfront.c             |   6 +--
>  tpm_tis.c              |  23 ++++-----
>  tpmfront.c             |  33 +++++++------
>  10 files changed, 119 insertions(+), 153 deletions(-)
> 
> -- 
> 2.26.2


From xen-devel-bounces@lists.xenproject.org Fri Jan 07 05:50:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 05:50:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254257.435917 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5i8H-0003Qn-SL; Fri, 07 Jan 2022 05:49:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254257.435917; Fri, 07 Jan 2022 05:49:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5i8H-0003Qg-OV; Fri, 07 Jan 2022 05:49:45 +0000
Received: by outflank-mailman (input) for mailman id 254257;
 Fri, 07 Jan 2022 05:49:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kqIQ=RX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n5i8G-0003Qa-2C
 for xen-devel@lists.xenproject.org; Fri, 07 Jan 2022 05:49:44 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9b699e13-6f7d-11ec-81c0-a30af7de8005;
 Fri, 07 Jan 2022 06:49:41 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id B1FA0212BD;
 Fri,  7 Jan 2022 05:49:40 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 54CCB13C9D;
 Fri,  7 Jan 2022 05:49:40 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id My3YEnTU12F0BgAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 07 Jan 2022 05: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>
X-Inumbo-ID: 9b699e13-6f7d-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641534580; 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=I9OsKwIe2BRbYWi+LNzbjnxjUUHx+WWyL2ZjNrxUguw=;
	b=dMbv68YciOCbaZjKLCbaa3kjzLIuLWdk7KcjvlR5W4ByMqR0h7tiJF/xJyuuuIzgZbycD7
	KrtsKUOEjJFWCo215gSX+PTswQeLY17qMm1g7S3vdtDKstrIatUsWmYXLjvfdYbP4aKQqf
	wN0aWkIX77CWJfA2N05oSvlX6tcTpLc=
Subject: Re: Live update of Xenstore-stubdom
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Julien Grall <julien@xen.org>, Jan Beulich <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <George.Dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <a6ba7e89-f70b-3c51-5a65-06c62f5cd512@suse.com>
 <Ydcf17CezyPpQS8E@mail-itl>
From: Juergen Gross <jgross@suse.com>
Message-ID: <1d6e5f46-f143-5f7a-9311-7aa8eea96d06@suse.com>
Date: Fri, 7 Jan 2022 06:49:39 +0100
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: <Ydcf17CezyPpQS8E@mail-itl>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="xDO9G0gtwQX5P8Of6Dol00el1Zgomhjmb"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--xDO9G0gtwQX5P8Of6Dol00el1Zgomhjmb
Content-Type: multipart/mixed; boundary="zS52iajJIqwKTPmZOZvcY9UaGaJMcphya";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Julien Grall <julien@xen.org>, Jan Beulich <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <George.Dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Message-ID: <1d6e5f46-f143-5f7a-9311-7aa8eea96d06@suse.com>
Subject: Re: Live update of Xenstore-stubdom
References: <a6ba7e89-f70b-3c51-5a65-06c62f5cd512@suse.com>
 <Ydcf17CezyPpQS8E@mail-itl>
In-Reply-To: <Ydcf17CezyPpQS8E@mail-itl>

--zS52iajJIqwKTPmZOZvcY9UaGaJMcphya
Content-Type: multipart/mixed;
 boundary="------------31E51530CE6113CFCEF73688"
Content-Language: en-US

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

On 06.01.22 17:59, Marek Marczykowski-G=C3=B3recki wrote:
> On Thu, Jan 06, 2022 at 03:33:49PM +0100, Juergen Gross wrote:
>> I'm currently thinking how to implement live update of Xenstore-stubdo=
m.
>>
>> I should note that my plan is to support live update for a Xenstore PV=
H
>> stubdom only, as kexec functionality is much easier to implement for
>> that case.
>>
>> The main problem is to transfer the Xenstore state to the new instance=
=2E
>>
>> Originally my idea was to keep the state in memory and hand it over to=

>> the new kernel as a module. This would probably work, but there is one=

>> basic problem with that approach: the Xenstore domain might need quite=

>> some additional memory to hold the module (roughly up to twice the
>> memory it has in use when starting the live update).
>>
>> As a result the live update sequence would need to:
>>
>> 1. increase the maximum allowed memory of the Xenstore domain
>> 2. allocate additional memory for the module
>> 3. create the module
>> 4. kexec to the new kernel
>> 5. build the Xenstore from the module
>> 6. free the module memory
>> 7. decrease the max memory of the domain again
>>
>> The first and last step would need to be done by xenstore-control in
>> dom0, while all the other steps would be done in the Xenstore-stubdom.=

>>
>> As an alternative I was thinking to add some basic file operations to
>> Xenstore-stubdom. This would have the additional benefit of having an
>> easy way to add Xenstore logging support to the stubdom without the ri=
sk
>> to lose logging data when using the console for that purpose.
>=20
> What specifically is wrong about using console for logging? Rate limits=
?

Today there are two problems related to that:

1. The Mini-OS console driver is not waiting for the backend to drain
    the ring buffer, so any messages sent with a full buffer are just
    discarded. This can be changed, of course.

2. The console backend has an "all or nothing" logging functionality,
    i.e. it is not possible to control logging of specific domains
    only.

>=20
>> So what are the thoughts for the way to go with Xenstore-stubdom live
>> update? Should I use stubdom memory for the state, or should I go with=
 a
>> file based approach (and if yes, 9pfs or pvcalls based)?
>=20
> Personally, I'd go with memory, as IMHO it the cleanest design from
> disaggregation point of view (what was in stubomain, remains in
> stubdomain, no extra external interface necessary).

Thanks, noted.


Juergen

--------------31E51530CE6113CFCEF73688
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-----

--------------31E51530CE6113CFCEF73688--

--zS52iajJIqwKTPmZOZvcY9UaGaJMcphya--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHX1HMFAwAAAAAACgkQsN6d1ii/Ey+Z
ewf+Kp/ksQeKYMCiWzJ5oycmwpivL0jxKCYbBbqzc6lgXXdVwIy7KYXbg3lVg7tXMZza/DsykZat
jfOTNIBJaRWVqgKf/L5FKRmlHsDFYT9BDC2dDnYcoEUPO2Kd9Ekcwt5f46RjWrfBDmQN/g/QKQvQ
eOEJ1W4SIyKYcnfbXLj1egXb+rsronPMkM3g3EORbsa/FI5zgj1p3KLF/ORlcoXCLMHfAXr7JbH+
zfZpXJ5szEup+irusARlS4CBnMZxnIHVrxGPAJzngnF053XEFDvg4o/nUpd2rL9SSd4k/xijIYsj
OBILrj8iBEzMPTdKWiA9kbLJOtNM7dua1ZE3Lj3bpg==
=fJQM
-----END PGP SIGNATURE-----

--xDO9G0gtwQX5P8Of6Dol00el1Zgomhjmb--


From xen-devel-bounces@lists.xenproject.org Fri Jan 07 08:04:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 08:04:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254288.436003 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5kE3-00011Q-C6; Fri, 07 Jan 2022 08:03:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254288.436003; Fri, 07 Jan 2022 08: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 1n5kE3-00011J-94; Fri, 07 Jan 2022 08:03:51 +0000
Received: by outflank-mailman (input) for mailman id 254288;
 Fri, 07 Jan 2022 08:03:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=X4Ee=RX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n5kE1-00011B-HX
 for xen-devel@lists.xenproject.org; Fri, 07 Jan 2022 08:03:49 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 57204b1d-6f90-11ec-81c0-a30af7de8005;
 Fri, 07 Jan 2022 09:03:47 +0100 (CET)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2106.outbound.protection.outlook.com [104.47.17.106]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-5-8HbDtbaTPKqVIkNuKL6mdQ-1; Fri, 07 Jan 2022 09:03:45 +0100
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.4867.9; Fri, 7 Jan
 2022 08:03:43 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.017; Fri, 7 Jan 2022
 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: 57204b1d-6f90-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641542626;
	h=from:from:reply-to:subject:subject: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=TZhAEF5VWNhsBYfTKOt6FlTVN6/6icT0gn003uYZOMM=;
	b=D7ISBHBvtm/vqlJBsrLwkcgrw4HVT4MIVaBtRa55pZOF0xjXt9/OLg5CZfkQJ6w3IaEEfg
	DTLurjlp9ZcOUvyXEG/PrEPwc0GSYRl1egoDda0hkis8b1Jb0XTBN+wqZjas4TLNQYx6XG
	FfXeVao3y/yZLH3/p/P0gsnS5irKtRI=
X-MC-Unique: 8HbDtbaTPKqVIkNuKL6mdQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LtHbKYb+ATkwRzpxMU1L6k7R/S5xFtlMaKS5MJpTrF7BdSSgHRoqx199Xu6sf4JzN2GIoQFuhdXPW5fV8sMJlXvpJxZrvE+xsOJLdcFw3ApsJWSikJngHoapuSNR2CX25cNwmRwAT6OTS6a5mKTibYn5Yn0WZ1xH7/zLPoTpnBMl5d9Cgn26dfbUErs0LIVpvQv+QRSlhIXxkJ1fVAGlkumlb0/A7SRxs2NY/KMgq2NSN6EFLOQPDO80BNDRTbmzoyZJDbfAuMKEA06x8fEgBqIl9UKz7jpWSpeiHMiHm1dO34BmzN/FdAs9pa1aZMujdjJVjnTOjHVegMk3iNg+jQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TZhAEF5VWNhsBYfTKOt6FlTVN6/6icT0gn003uYZOMM=;
 b=UDd52+52hsdp3KbNXScjqXLy0+PZXLQjL1h7+uL7WXcHDpIoEiQA9TjJVguROmwXOBQS6jToQ5z9+ROs5IrXHR/ohd8KOMcjst8WeI6YXSrfs/lkKOecVnxJ9bHcSTkAQ83tyu5q8Bky9sNzX9ON5q8pAPoU0EJN2NzkSbM0gFoj6cwCuLPF8e8aso8ahKXqwvhUddL7k074qIHULUeP9+qLtUFvdWekB2RpSehn1cHYYXno7VqZ2MBghQZUoXJ9KjQve43Oy+HNIfP305a+OSNup0TcCPSTrcFNK3pR9h7pdnAIWRURgdoYhUj1pLMT3g5M3Y9pTYn95fZgzFIGXg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d78054ce-f579-c0cb-8e0a-1c3ecc36e819@suse.com>
Date: Fri, 7 Jan 2022 09:03:40 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
From: Jan Beulich <jbeulich@suse.com>
Subject: preparations for 4.15.2 and 4.14.4
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Anthony Perard <anthony.perard@citrix.com>, Julien Grall <julien@xen.org>
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8P250CA0015.EURP250.PROD.OUTLOOK.COM
 (2603:10a6:20b:330::20) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 1bf9e642-2d11-4b40-f8ba-08d9d1b438dc
X-MS-TrafficTypeDiagnostic: VI1PR04MB5901:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB59019738EB62C2F79B6AA7EFB34D9@VI1PR04MB5901.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:
	n2RlMeFTaGcSJfronrioik1KaYY819e4MCVCy048gMtkPuPywkkeqCt5H0Sg9k6iPp5QM3VuOn7IRw+kPIwh59ih2Ri6RwFmomFLX47UDB5cO+vD0DGW+wLzQZJedNyd24j78w1O/SHSPNFeAxzwdWmPWpsgNJmVf9evJhH3gYvqudftX83FOrwGNCcSWMEP2QJbfekaBOqvOIyg/Sb3oLpPtEPq+Fx6Tzf6jY4do0czeRHm6KtL1WP+9GMpUGgiF2XEksW3IESojTCxQDsLrOyMSd7k+vM2g+4lFrpEzH97its/itleedzIQ5vcdNRoilbWw5nFoZ1IuLnf27uvwU1OTOHRQyJcR7jkiQ6KJeBz9i3+PEPTv1q/zgk1Fa709kVSvvk5zd+zAPpir+kDkJsuG1RDoIbYt58IlzRk664Ql6uM+Vpo4QKtJSVlXatBPguc0iTBQwvf4hDCba4QDYan+tw0IchTVVkV0rwXfGycYk9rd1zZxVzPz8bNlUuQjQ0fzBJLAXu6hRLtEfLqaED05UPSN2wd1tzaZSx+Y9RVd4Y74tgNfqBpcwaAMraqVz4TlzA+HtHRrZ4c/5xo0CC4ZlXHYkhF56A1fhS8TgDe0D7dSg81fyEc2ZGwW/+/fuzlXUwGltoBZmBQAcJ2YZsweR8ucl004eoDM5Al3MO1HYUlKs8O6s+1J3mpNu3SnuwpQgbSvtMu8ly1X9LFJ2guFZ9SSfdmUPViYlrn6JGs52hlevOHbKBw6daNY3kH
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)(83380400001)(86362001)(2906002)(66946007)(6916009)(31696002)(66556008)(66476007)(316002)(36756003)(31686004)(2616005)(8676002)(4326008)(54906003)(6486002)(4744005)(38100700002)(8936002)(5660300002)(6512007)(26005)(186003)(6506007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bG1QVEZscGZvU2FpcDFhOVJJUWEwdUxHMTY4dFBiNCs1TVJYME1ZbldzcFZr?=
 =?utf-8?B?UUp2eENMOU4vbFdyaExZamlsYVE4aEhPYk0vV2RxaGZoMkVLdGU5cGpmL0F4?=
 =?utf-8?B?OXNBU2NPcGJXbkhhWjJxSXJzK2Vpb21zeTBLUzl0ZVQraHNhUWIyMXhBUVBH?=
 =?utf-8?B?U2FmOXFlWW1WV240TWxqbmhvQkNBaHZQQTBxd1JSbUszRFIzMW04TzcxSVUr?=
 =?utf-8?B?NjZpSkU2V2FOMWc0ak9WaFdQYUVaOUF0aUlvektwT241UGhVM2czTkFiT3lv?=
 =?utf-8?B?SzFzczVsOUpZeEhMQk5UQ0xjS2NnVTBBQm1YS0lYVEwybkVKOGhGSHpUK1N1?=
 =?utf-8?B?YmdpcHBNVFdRSjFqNWZlWE8xMDdqUWVKRm1LaS95ODRDMXlvQy9Ta0ZCY1BI?=
 =?utf-8?B?TW0xdm1nNXNMekdnRU4vVUJ0TmFWVENjbDVlU1VDS3Z4WS85RUFWWm02N01q?=
 =?utf-8?B?cC9jQWhGUkZjLzM3QWxrOHl2UUNML0g4NGxUcnJVVjFmYnl1Zm5abzFjR2dJ?=
 =?utf-8?B?Uk5tS0MrTjNMTzhleVNQUHRkVFZVSnJrZ3V4RCtKQ2RlMTNHOGp6R2Y5ZGtv?=
 =?utf-8?B?ZStLdGpyWjJQNzhVZXRJR2NLNkE0Q0x5U3NFMXQ3OUl0WVgvQ2I0SWhnRFdJ?=
 =?utf-8?B?N290YlV1UlBieUJGVzNhL2ZCc1lJZHdjR0dNOFpEU3JPTzZvSlFvV2ZIT2FU?=
 =?utf-8?B?VVVkK0t6U1owZ25tdXhmNFIvQnd5TktzNXcvSG8rTnJUV1lTamVoL2ZhYXlq?=
 =?utf-8?B?RG5STkN2R2UzaDNLTnhLN2xIY1dQUVFLRnNseUJacmc3amlwUERXc0FRTEFN?=
 =?utf-8?B?VUYvWGZQUXlqRlVpNmRGS1pST2ZLTzdIakdLc3dvMmpSRngzUmIwQzQ1bXlC?=
 =?utf-8?B?b3JEcmxVMlB6alhZbnJnS2pWZTRnSGFGSWpmenNLM1lWRTNEcVNXUXpreC9z?=
 =?utf-8?B?bHNOZlUxNHozTHRlTWFkeHNnY3pROXV2QmhDMEk4di9kbGlWeTdqKzNzNXZl?=
 =?utf-8?B?bEl3WlJEeW14ZTBTKzZlanAyMDU1V3ZmaGlQQnFrRUtuOVl4Z20rRFU2Tllz?=
 =?utf-8?B?Ung5ZHJtQ1BiVjROV3ROaG5IVDZKbkpjWlBRcDMwM25GQ1dLanBuWXU5dXlG?=
 =?utf-8?B?ZENhaEx6bDd6SEFRTUxCMVhpOWZuSEJnTUU2NlNOTERrN1ZVNnNQWnNlR0dK?=
 =?utf-8?B?cFV2UUlSZkx2YjNWbHdZSnh1dWV5LzNMbUc2VWZnS0RWTUQ2U3hSQnorZWQ2?=
 =?utf-8?B?OWxqaHlnM3ZkL1NyaVVOR0E4bkRDMm5EYk8zT096RG9tNzhuUnErVURsb1dD?=
 =?utf-8?B?R2IyN29IZ2Y2Q2VsMHllQjM4bFU4Y1dZRTF6bUNpckFtbXRhbHhXdDEwRFIw?=
 =?utf-8?B?V2pvcHBwaURsY1ZPRkliS295VkR5MjJaQzk2UmExNnRJNitlTVk5blA4M2FH?=
 =?utf-8?B?YmhNVGFRdmZWMGc2L2FYZUM5aDRpWGF3VUVBQmZtZjN1U3NtdmVscWx3dHNK?=
 =?utf-8?B?S05WOXFEMG5aOGRxcklrYnJueXg0VzRycHlIWi92alZxSmxtRHFqZUNNeVFC?=
 =?utf-8?B?dDhiT0tjRTFpYmtFTkJHWW8yak8vM1JYVFNGb3BiSmhQNmRUcGZRVUlscEYy?=
 =?utf-8?B?THE2KzBxYUljRE9JemNESFZkeEJ1K2Z1bjNNRGRWZTl5VndockxRNkRoaGRG?=
 =?utf-8?B?S1pxaWRnNUFuTkV3S2RaVjRCZkVPSHdOTW1IcDA4d2txdlltdzNLMlFSWFVo?=
 =?utf-8?B?SzlsRGZDejR0bjVVc0s1SDkrZjBLeDBoYXQxaXoxZUx6bEhOZHR5ekwvbnQ5?=
 =?utf-8?B?Qnc3N2o3UG0yd2oxRyt0dkQ3UHJiVS9VQWNENWxOcEhsbGd1Z2FjMTJFa3dE?=
 =?utf-8?B?VEtVVlJvQ0I2VS9heEorWklZOG1mbVlHYlVaZjVxZkJhQS9OeHJ1RnRKV1NT?=
 =?utf-8?B?YjdlZ283dGQyeHhzWHNNa1ZTQ3FTNW9zWTM2dC90dG1GTU5WNlpNQXZxd25o?=
 =?utf-8?B?Y3Y4ZDRhWGg3RTd4SlRqaktkQkxsWXFlbytyWjJTWmxiY3c4WnQwdEh5dGpx?=
 =?utf-8?B?d0lRRGt3cjg5Y0hOTFRQWHZ5VHRUbHNydDdQVUtPaFhaRU4xaEQvcFRMbG4y?=
 =?utf-8?B?eHB6TGdBQktCelBNalBGZ2FheitmTWpEQVFNYVdnczJOSkc5VURlRy9HeGsz?=
 =?utf-8?Q?Bbl6XRpNTJgXyuO2UOIzshY=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1bf9e642-2d11-4b40-f8ba-08d9d1b438dc
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jan 2022 08:03:42.9649
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lOI1+qRefqDVaZzrQWIl/hM+bKZITrm3mQsAHxd4or7NkTCLlS+Sr+8HrA6zEGQXEPKS4ry0IT02FzDgV/gFkA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5901

All,

the releases are about due. Since 4.14's general support period ends
later in January, I intend to delay the release by about two weeks to
cover the full time range. Since it's a little easier to "batch"
releases, I also intend to keep 4.15.2 aligned with 4.14.4.

Please point out backports you find missing from the respective staging
branch, but which you consider relevant. With Ian's departure, tool
stack backports (if any) will need some extra care. I'll try to deal
with requests, but I may seek assistance in certain cases.

Jan



From xen-devel-bounces@lists.xenproject.org Fri Jan 07 08:06:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 08:06:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254292.436015 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5kGr-0001bz-RH; Fri, 07 Jan 2022 08:06:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254292.436015; Fri, 07 Jan 2022 08: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 1n5kGr-0001bs-Nk; Fri, 07 Jan 2022 08:06:45 +0000
Received: by outflank-mailman (input) for mailman id 254292;
 Fri, 07 Jan 2022 08:06:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=X4Ee=RX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n5kGq-0001bk-Tn
 for xen-devel@lists.xenproject.org; Fri, 07 Jan 2022 08:06:44 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c08caa63-6f90-11ec-81c0-a30af7de8005;
 Fri, 07 Jan 2022 09:06:44 +0100 (CET)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2110.outbound.protection.outlook.com [104.47.17.110]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-25-zt_bKHsrP0e4t1LnmdB_wA-1; Fri, 07 Jan 2022 09:06:42 +0100
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.4867.9; Fri, 7 Jan
 2022 08:06:41 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.017; Fri, 7 Jan 2022
 08:06:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c08caa63-6f90-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641542803;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=g1vhAduh4y5UlrlpT84yeVpiOvSj5pIwKWT4EKhf9AI=;
	b=mgR+xqjYJxKOuJ3YbqaU9MzrOEwE2WKpKtPRn55W1uXuoaAfgQLEgmsAdpFOEbKenu7Dfm
	XvCWKTK0jtFu92prrCJFOsZOJoMV92HuWSGmdYrHJG6PUanSKU4aUT8WRCiOmjGncEejI+
	gDB7b8dYRh0Zh9mgOE0YUGY1HD+A37k=
X-MC-Unique: zt_bKHsrP0e4t1LnmdB_wA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gpN/QeVf3BjZisizaDN2hzBD/9m+FrQoDIG7koyAFHVeCgrzCTldx3UBfNWzL5PQUnK9q2yLdqM3yP6QLPm9vakb2Nb/fKwIQ5CCg2yEuIw0VdTTXzQffufnxdCkvEsHHORWNPOBTpzktA8ix1eokmAMFR6REXMEli2Z7/0W1Hb8kS0lUoQ/n21RFul8sHnFOK5ZeQeWYSWGaIKtW0VCxqKEbSf7Y/4vgWc7uMslbTkuzvFNWl98lYm8dNtCJpKInKDzn1Kg9Y8iht11K9tf76fC+i1emro28Q6Jc5aC2diO0iE9Ng1CQL/6YQp76aVBnYDBIQ1LAdCeDP+6o7yibA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=g1vhAduh4y5UlrlpT84yeVpiOvSj5pIwKWT4EKhf9AI=;
 b=iQoC+s7Upt8UTKYQbb45hwEavZKA56jvvT0OTzNrLOvnBsGdKtSZONUEXnccrJuq5qrFmaRLfntAd7zSkDpuKs+8SF/9BEE5SZGv8EDWw6bKHpYMGFgcxyPv/gH3WwGbRd9DxmeTgUbZHCVxwJ1j5wCO0n1t+1ZpU9mJQMEAf2y6YtXKM09FbY7gX4bvJv4I92Y5JG0X0R96P+f8tzXxFy2kU+b6X7tqXR0v459lhzOgLdy1G4RWpwZ+5QM85wq4w4kGYNU3ysOLu1z2q78oHyM9Si+dsn9rQK/pUt7BGrVmiGHhl1KJppE1hCrn3oCoXJ56yhul16rIX1RDiULBKA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <77c8a25b-b98d-6244-ca86-01487449aca8@suse.com>
Date: Fri, 7 Jan 2022 09:06:39 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: preparations for 4.15.2 and 4.14.4
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Anthony Perard <anthony.perard@citrix.com>, Wei Liu <wl@xen.org>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <d78054ce-f579-c0cb-8e0a-1c3ecc36e819@suse.com>
In-Reply-To: <d78054ce-f579-c0cb-8e0a-1c3ecc36e819@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR05CA0043.eurprd05.prod.outlook.com
 (2603:10a6:20b:489::27) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 28a6ae81-2c1f-4c62-da66-08d9d1b4a313
X-MS-TrafficTypeDiagnostic: VI1PR04MB5901:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB590155805F62096173672F44B34D9@VI1PR04MB5901.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:
	pOGg3+COLQBxa5je9O5MeMreuxY1lDPoMJJXBevcaj3IwoqocPz3n93uwHpBdT29EAyrsmghJDNp6U7ZPKhqecjWaRrG4iHS3EqkhGr4kS3poq/FDSkzrKpv6q7/cXfiw07N5KtNrfspsSKC2hGqB12HWyydLYYNMzaU/dxhmlJJle5CAKkPiNzFqw8gygEPOR5nD6MIX7ipp0c/HBv32wa7XWbCQ/X0Uen4MIuK3L33UFL0kDKE2P0GrCROxOwUEPlk3zEnmQQBmRfPS+hLVHyGQn2hPQohUgDjLrwDZtdRqoVFcYMr7LAGBZAl55mYEnZ0wG3MeYsH1fADs6ybZ5PRLXsCHwEEDpN/Is+gz0KYNoJB6MPmSncxtZxNeTUBz7rY7yyCjfB2ApdF2Nmao+VXNSQ+ktgUmB1LosHWL3vIGA+mTsuz8KXY5hqGaOqjS9HNoff2gYwPe/B+Uo8gNgS/hASWK3EcuejkIMo/WTchfVVCyWFp/GvB+vApadMAh3gx7WnvF2xhzx7x0W/VwJTZAgG06eCXQCjW/VtXb3IdNJZ6H4pTQIEVBumRziB3HSLMzuK7P9U1taqvIGC8Z+U1AqK1WPX7AwTC7GWXilByu306fVZk546MhKmkfvnt3kLylODubxtrov4qR2ugffVdw4YtRAX5zNTngjXmfe3M1+k5jX8Drct1AqGt9wvqh8hS+ugiEslUGoCLocLX88Eni9DiG37qMv1ShBsIFYRF6Y4qQB1dalw33UHYZuQ/
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)(83380400001)(86362001)(2906002)(66946007)(31696002)(66556008)(66476007)(316002)(36756003)(31686004)(2616005)(8676002)(4326008)(54906003)(6486002)(4744005)(38100700002)(110136005)(8936002)(5660300002)(6512007)(26005)(53546011)(186003)(6506007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YlhOZjdEbzdzejZtbHBRNkl4MXBPSFNEWXVnN2haWmVOY1A0V1VtOHVmOFRw?=
 =?utf-8?B?MkFwNkJPZDVVeDRHQnlsVnk2STZsUGxyOUYzREo2V21ISXVJU2NCcEplUDVJ?=
 =?utf-8?B?REk0QVRYYjVOK3paWHBrZjU3VnBySFBKeHZUcjNXa0paMFkrdjloUWNhODBL?=
 =?utf-8?B?cVlVdWs4UnZUTGZZU2FIWDhzN2RjWnR2bFR3SDZCKzBMZ0ZsL1JIbE9BeHp6?=
 =?utf-8?B?cFhDOU5JUmVSb0ZyWVpNYjNCMzF2aHY1amtNM3lkUUFvYWxVWGoySjNWa3Ft?=
 =?utf-8?B?RmcrUFF0Q01jSWs3RHlxaEsxazhQRSt1c3NlcXNFcTdIdUJUcnVCaDJxUzcy?=
 =?utf-8?B?MnJ5KzBxckhPZVZNTHliWm84aWxFbldlMXJzRUxlSEt1UGk1SmxCZiswY3Jw?=
 =?utf-8?B?Z2FRVElFMTZwYzk1OW1zeDdETUV4VXQ3N2xZRDBMK1JjNnJUdU5ocWpSR2M0?=
 =?utf-8?B?Y0p0d1BiMDBHRnlrQ3NvYWpmRWozeEsyR1h4UDdoUmFuTHFQRDkrb05UMytz?=
 =?utf-8?B?cG5ML2JCQTVKdEsveVV1bFJDeVFkQkFCdU5RWG5ZeVlYaTVoOWVmMjdJbUFL?=
 =?utf-8?B?eG85MXdnY1B5aE00OXZyVy9MZkh6Mmk5MGxIVDJyaWtoam45bVZqTXFsZ004?=
 =?utf-8?B?TURWeXV5bnl5cERmQzRpcWd5MDdBWUNTR245OG53VCsyRVEraEoyRVFoMzlY?=
 =?utf-8?B?TmlkeVY0blo2L1N5Y25OUEFkaGVpVzRKYTZ1Z1JSd3JiY2tpZGNwZXFoU2tx?=
 =?utf-8?B?UkU4VUdnRm9BMC81aGMyY3dQU1gzOHR2N0w3c1NlRDBwSU9tOEZhbThWVE1h?=
 =?utf-8?B?d2tjN1lwcW8xWVBuelRUZEt2czBkK2crV2NMV1BnSms4dmt5R0Fab29MUGFw?=
 =?utf-8?B?ZW9ENGlIdFdiTzdUVXFoR1daeU41bTVoakdTU3BuUDBMUjNNOG9GWXdPSCt4?=
 =?utf-8?B?azFUTG5xUGY3RG9oUngvbHh2QzhRaDRoV1UweFBOOVIwM05JQUs0RFRXT3pI?=
 =?utf-8?B?ZzRHZGp0cElGbVFxa0RhMWZIZ2VsekdqVVFuMHFBYXd6cmZkVFA5cUZYdzF2?=
 =?utf-8?B?Y3o0dWxaUXNGZE4rUkFuYjdzdTBhbVRKSzR5UTFSaHFuMUZYQVp3V0MrZndL?=
 =?utf-8?B?ZVl1U09WcnQ1RzBxYi8wZUhyMSswUGdFY016OWQwNUZZekxHQTcvcEp1OE1H?=
 =?utf-8?B?czkrNFJiL3RqNTh3a1RDYWtKMHFaSStOajNqcEFOZHVZa3pNeisxSnk4VXlw?=
 =?utf-8?B?elRmYTgrODlsblk4N1JkcjZBTjlNcEdsSERobGx4L01OZEV6WnUwcWtjRnZs?=
 =?utf-8?B?UWxWVVgvTnhmSDRkMmpZbVFEL3pGb21IdnBtNUpSdUw0UW5Kb2RxRzNxVjB5?=
 =?utf-8?B?T0hFZmx4KzBPYWFyYXNZOHBCQjFqU21SUXE5bm5Cc2w0V3dySTVXT1kwWXpO?=
 =?utf-8?B?eXNCUDFnZ0Q4TnJuNGpLOGJXMGJ6cEpFUEd4b3djcGVXQnlEVHNhYUpOTU9S?=
 =?utf-8?B?NyszN3EyM0FHWS9tZ0s3bWY0Y2tqZklsOTlLbGwybmFqamt0YTVhMlA4ejVw?=
 =?utf-8?B?VTZEeE5odnRYa3dhMVhuVWlVSVFJRTllbzVVdWRJNXJBa08vUnM3dVVMWStK?=
 =?utf-8?B?amt6MEZjZERYY3lEYnJHV1pWbHZRZk1ZRGpObVMzb3I5RVIyZlY0eHBnOS9M?=
 =?utf-8?B?cHlzQUNMVTdiajJjNTYvL1BsVkNLbXFMeVBveUdwNzk4T3g4aFVBVTFlY29j?=
 =?utf-8?B?SWtKRDJJMmU2bEpURFpvSmltejBCRUZ6dHN4eWlUQ0w2WGE4N1BXTS93YlVj?=
 =?utf-8?B?RFltcGYrTC9EcUI1c2pqYU1CT3NGUHI1RklaWXduenljVjA2azRvNENsMnR3?=
 =?utf-8?B?NGozRENnWEQxTUwrSnRXV3lFNkNvS3d3RHRnSWlUMGNKcGZBVUV0RVg4c3Q4?=
 =?utf-8?B?QS9NTkVVWSsrOFZ1Qmw2d3RuazJDM01lRmtkOTJWTStlUVdzUDhsQktNM3h0?=
 =?utf-8?B?T3RJS1Flc0dTcHdidW8xOXJLRnlrTkE5V3hIQXcybWpkaUk4dlhCS0FYNFNR?=
 =?utf-8?B?UGQyV0dWSkxZSVZBaDhuVWhsNG9nMTFZYTFBcUViVmV4b3pxOEZJMnovOU9S?=
 =?utf-8?B?YVJXWVdDVFNhTUQyc2ZYOHhMT1N4ZUNWYnQ1RER6TEVVYjdSK3VEZGNmY2VI?=
 =?utf-8?Q?Jf27UJIHUWYGktcEPkOx9Ms=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 28a6ae81-2c1f-4c62-da66-08d9d1b4a313
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jan 2022 08:06:41.2180
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ijd/MW+aBbSxbWwu22m1LSI56MXMjmvRQHQLF+OPjnd7U4hfd7sim6rDB8VpbhPklRcSPh5uXiarzlHiSACFdw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5901

On 07.01.2022 09:03, Jan Beulich wrote:
> Please point out backports you find missing from the respective staging
> branch, but which you consider relevant. With Ian's departure, tool
> stack backports (if any) will need some extra care. I'll try to deal
> with requests, but I may seek assistance in certain cases.

There is actually a change I'd like to see backported, but it first needs
to land in staging: "libxl/PCI: defer backend wait upon attaching to PV
guest". This now has Paul's R-b, so I'd like to re-raise my request for
a maintainer ack (or otherwise).

Thanks, Jan



From xen-devel-bounces@lists.xenproject.org Fri Jan 07 08:08:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 08:08:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254298.436026 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5kIY-0002I0-AC; Fri, 07 Jan 2022 08:08:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254298.436026; Fri, 07 Jan 2022 08: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 1n5kIY-0002Ht-74; Fri, 07 Jan 2022 08:08:30 +0000
Received: by outflank-mailman (input) for mailman id 254298;
 Fri, 07 Jan 2022 08:08: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 1n5kIW-0002Hh-LD; Fri, 07 Jan 2022 08:08:28 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n5kIW-0003lH-Ii; Fri, 07 Jan 2022 08:08:28 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n5kIW-00061V-83; Fri, 07 Jan 2022 08:08:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n5kIW-0005mk-7c; Fri, 07 Jan 2022 08:08:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=G18ikDm7rdIGaeWmSjmhTNSqaWLhrLV/lanTxfyPFHU=; b=sPGjltu/WfdJQlvmmUwDI85Ey6
	10c4GNjmM+xV1hYtqzpY+rlCx7ouqgYX0UOY/kMGTKgkQ5G4o0+2zJMj+EGMS+qL/wI2jq3Lo/gns
	YBNjOiH9FH5t8NN8Mf++P2/GwVM28uu0Cap5HR8brOss0VPEpVISVP5Sr09KreK31JvQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167622-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167622: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt-qcow2:guest-start:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2: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-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-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-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-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt: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: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-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-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=ced5685208f4525edc3aa86f41eeaee5ccc9fe31
X-Osstest-Versions-That:
    xen=31f3bc97f4508687215e459a5e35676eecf1772b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 07 Jan 2022 08:08:28 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt-qcow2 13 guest-start       fail pass in 167626-retest

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

version targeted for testing:
 xen                  ced5685208f4525edc3aa86f41eeaee5ccc9fe31
baseline version:
 xen                  31f3bc97f4508687215e459a5e35676eecf1772b

Last test of basis   167618  2022-01-06 04:36:08 Z    1 days
Testing same since   167622  2022-01-06 19:39:01 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   31f3bc97f4..ced5685208  ced5685208f4525edc3aa86f41eeaee5ccc9fe31 -> master


From xen-devel-bounces@lists.xenproject.org Fri Jan 07 08:16:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 08:16:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254311.436045 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5kQd-0003qk-8H; Fri, 07 Jan 2022 08:16:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254311.436045; Fri, 07 Jan 2022 08:16:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5kQd-0003qd-4o; Fri, 07 Jan 2022 08:16:51 +0000
Received: by outflank-mailman (input) for mailman id 254311;
 Fri, 07 Jan 2022 08:16: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 1n5kQb-0003qT-BO; Fri, 07 Jan 2022 08:16: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 1n5kQb-0003uM-AM; Fri, 07 Jan 2022 08: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 1n5kQb-0006Fr-3M; Fri, 07 Jan 2022 08:16:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n5kQb-0003fD-2y; Fri, 07 Jan 2022 08: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=MLGE8EcuO4HyQFQTHuMvPYiX4PCpi+GxWU1stdP3n9w=; b=DJFjSe3uQYtgvghgyr1/4qfnlW
	qDYwFRDidd5fn5vIlIoLkzblR5oEty7e/gYoLnzHYnFloQ1HBDtULr5oj13Cklkc9nhCb9oXKVHdg
	i9+C/a5cz7qGD/WdXNWxPdqzf+psFK4MfJPGG/K2dMcvw2op7BxXh5ZhSwM7NbgCB2mg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167627-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 167627: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=9dd14fc91c174eae87fd122c7ac70073a363527f
X-Osstest-Versions-That:
    ovmf=079a58276b98dc97ca363e3bc8b35cc7baa56d76
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 07 Jan 2022 08:16:49 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 9dd14fc91c174eae87fd122c7ac70073a363527f
baseline version:
 ovmf                 079a58276b98dc97ca363e3bc8b35cc7baa56d76

Last test of basis   167601  2022-01-04 08:42:53 Z    2 days
Testing same since   167627  2022-01-07 06:40:23 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Maggie Chu <maggie.chu@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
   079a58276b..9dd14fc91c  9dd14fc91c174eae87fd122c7ac70073a363527f -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Jan 07 09:12:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 09:12:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254320.436056 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5lI2-0001Oq-AC; Fri, 07 Jan 2022 09:12:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254320.436056; Fri, 07 Jan 2022 09:12: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 1n5lI2-0001Oj-72; Fri, 07 Jan 2022 09:12:02 +0000
Received: by outflank-mailman (input) for mailman id 254320;
 Fri, 07 Jan 2022 09:12:00 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n5lI0-0001OZ-PX; Fri, 07 Jan 2022 09:12:00 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n5lI0-0004tZ-Kl; Fri, 07 Jan 2022 09:12:00 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n5lI0-0008Aj-8z; Fri, 07 Jan 2022 09:12:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n5lI0-0000m4-8W; Fri, 07 Jan 2022 09: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Lbn6mkvtQswmZAOXOQRPf5GgiJKpmqYMoHPx5jBVPBE=; b=hOrOh6nMCp6AqSPXS6E2gyCn0t
	4td4qRI4tqPcC0Wei0lYtkx5dbe/kb1C7TqfjY/OinvbhrdRVNTjbiX55JMWWg9LEMRny/1vKlYhZ
	wAi+80JEKQ7Y+AlCi090+ac8tqbuv581hbl9u6PE6UnG8NioHK3WMzM4H5ZSWWwv0qnQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167623-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167623: 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-qcow2:saverestore-support-check: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-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-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm: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-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2: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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-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-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2: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
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=41fb4c14ee500125dc0ce6fb573cf84b8db29ed0
X-Osstest-Versions-That:
    qemuu=7d4ae4d4978079d564d3b6354c90a949130409fe
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 07 Jan 2022 09:12:00 +0000

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

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

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

version targeted for testing:
 qemuu                41fb4c14ee500125dc0ce6fb573cf84b8db29ed0
baseline version:
 qemuu                7d4ae4d4978079d564d3b6354c90a949130409fe

Last test of basis   167615  2022-01-05 22:08:20 Z    1 days
Testing same since   167623  2022-01-06 21:39:31 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ahmed Abouzied <email@aabouzied.com>
  Alex Bennée <alex.bennee@linaro.org>
  Andrey Kazmin <a.kazmin@partner.samsung.com>
  Laurent Vivier <laurent@vivier.eu>
  Martin Wilck <mwilck@suse.com>
  Matthias Schiffer <mschiffer@universe-factory.net>
  Philippe Mathieu-Daudé <f4bug@amsat.org>
  Richard Henderson <richard.henderson@linaro.org>
  Song Gao <gaosong@loongson.cn>
  Taylor Simpson <tsimpson@quicinc.com>
  Tonis Tiigi <tonistiigi@gmail.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   7d4ae4d497..41fb4c14ee  41fb4c14ee500125dc0ce6fb573cf84b8db29ed0 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Fri Jan 07 09:54:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 09:54:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254330.436066 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5lx1-0005bG-Ev; Fri, 07 Jan 2022 09:54:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254330.436066; Fri, 07 Jan 2022 09: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 1n5lx1-0005b9-C1; Fri, 07 Jan 2022 09:54:23 +0000
Received: by outflank-mailman (input) for mailman id 254330;
 Fri, 07 Jan 2022 09: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 1n5lwz-0005b3-JG
 for xen-devel@lists.xenproject.org; Fri, 07 Jan 2022 09: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 1n5lwv-0005dW-WF; Fri, 07 Jan 2022 09:54:18 +0000
Received: from [54.239.6.185] (helo=[192.168.10.54])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1n5lwv-0000Qn-Ps; Fri, 07 Jan 2022 09: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=VW8CAVssjdMCq3bxN8FQiLi5p7lOnhkc3LbjoqTUS5U=; b=X+6BYIeOvIpk9qA1R819vIqTXy
	DG9ZQZ0LRIEZuqmUqMFKph7NIKMa4JBXMX735uUHQMBvm0e+sYZalqXNEsl0VZzAA7tQnengsHGBy
	qj19bijxPKDUucgpQG69MEqY2L4/GpqV2zVlUfwBqdH8Mrmoj39gvd3HrzNkLBCq4IfQ=;
Message-ID: <5978ec78-37f6-3ff1-84a4-2c39db3d3dd6@xen.org>
Date: Fri, 7 Jan 2022 09:54:15 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.4.1
Subject: Re: request for feedback on a Xen/Linux compatibility issue
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Jan Beulich <jbeulich@suse.com>, Juergen Gross <jgross@suse.com>,
 bertrand.marquis@arm.com, Volodymyr_Babchuk@epam.com,
 xen-devel@lists.xenproject.org, boris.ostrovsky@oracle.com
References: <alpine.DEB.2.22.394.2112131729100.3376@ubuntu-linux-20-04-desktop>
 <4ea34f61-e72e-76c3-5c20-879fefe4c7f7@suse.com>
 <09333371-92c0-5c90-4b4c-59b2ed9ac60d@suse.com>
 <539a657a-dd79-b05b-1f4b-6d9a5a869d12@xen.org>
 <alpine.DEB.2.22.394.2201061544100.2060010@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2201061544100.2060010@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 07/01/2022 00:02, Stefano Stabellini wrote:
> On Thu, 6 Jan 2022, Julien Grall wrote:
>> On 06/01/2022 14:03, Jan Beulich wrote:
>>> On 06.01.2022 08:13, Juergen Gross wrote:
>>>> On 06.01.22 01:40, Stefano Stabellini wrote:
>>>>> Hi all,
>>>>>
>>>>> Today Xen dom0less guests are not "Xen aware": the hypervisor node
>>>>> (compatible = "xen,xen") is missing from dom0less domUs device trees and
>>>>> as a consequence Linux initializes as if Xen is not present. The reason
>>>>> is that interfaces like grant table and xenstore (xenbus in Linux) don't
>>>>> work correctly in a dom0less environment at the moment.
>>>>>
>>>>> The good news is that I have patches for Xen to implement PV drivers
>>>>> support for dom0less guests. They also add the hypervisor node to device
>>>>> tree for dom0less guests so that Linux can discover the presence of Xen
>>>>> and related interfaces.
>>>>>
>>>>> When the Linux kernel is booting as dom0less kernel, it needs to delay
>>>>> the xenbus initialization until the interface becomes ready. Attempts to
>>>>> initialize xenbus straight away lead to failure, which is fine because
>>>>> xenbus has never worked in Linux when running as dom0less guest up until
>>>>> now. It is reasonable that a user needs a newer Linux to take advantage
>>>>> of dom0less with PV drivers. So:
>>>>>
>>>>> - old Xen + old/new Linux -> Xen not detected in Linux
>>>>> - new Xen + old Linux     -> xenbus fails to initialize in Linux
>>>>> - new Xen + new Linux     -> dom0less PV drivers working in Linux
>>>>>
>>>>>
>>>>> The problem is that Linux until recently couldn't deal with any errors
>>>>> in xenbus initialization. Instead of returning error and continuing
>>>>> without xenbus, Linux would crash at boot.
>>>>>
>>>>> I upstreamed two patches for Linux xenbus_probe to be able to deal with
>>>>> initialization errors. With those two fixes, Linux can boot as a
>>>>> dom0less kernel with the hypervisor node in device tree. The two fixes
>>>>> got applied to master and were already backported to all the supported
>>>>> Linux stable trees, so as of today:
>>>>>
>>>>> - dom0less with hypervisor node + Linux 5.16+           -> works
>>>>> - dom0less with hypervisor node + stable Linux 5.10     -> works
>>>>> - dom0less with hypervisor node + unpatched Linux 5.10  -> crashes
>>>>>
>>>>>
>>>>> Is this good enough? Or for Xen/Linux compatibility we want to also be
>>>>> able to boot vanilla unpatched Linux 5.10 as dom0less kernel? If so,
>>>>> the simplest solution is to change compatible string for the hypervisor
>>>>> node, so that old Linux wouldn't recognize Xen presence and wouldn't try
>>>>> to initialize xenbus (so it wouldn't crash on failure). New Linux can of
>>>>> course learn to recognize both the old and the new compatible strings.
>>>>> (For instance it could be compatible = "xen,xen-v2".) I have prototyped
>>>>> and tested this solution successfully but I am not convinced it is the
>>>>> right way to go.
>>>>>
>>>>> Do you have any suggestion or feedback?
>>>>>
>>>>> The Linux crash on xenbus initialization failure is a Linux bug, not a
>>>>> Xen issue. For this reason, I am tempted to say that we shouldn't change
>>>>> compatible string to work-around a Linux bug, especially given that the
>>>>> Linux stable trees are already all fixed.
>>>>
>>>> What about adding an option to your Xen patches to omit the hypervisor
>>>> node in the device tree? This would enable the user to have a mode
>>>> compatible to today's behavior.
>>>
>>> While this sounds nice at the first glance, this would need to be a per-
>>> domain setting. Which wouldn't be straightforward to express via command
>>> line option (don't know how feasible it would be to express such via other
>>> means).
>>
>> For dom0less, domains are described in the Device-Tree. We have one node per
>> domain, so we could add a property to indicate whether the domain should be
>> started in compat mode (or not).
>>
>> That said, I am not sure every users will want Linux to use
>> grant-table/xenstore (possibly, some users may want one but not the other).
>>
>> So how about a more generic property "xen,enhanced" with an opional value
>> indicating whether this is disabled, enabled or the list of interface (e.g.
>> xenbus, grant-table) exposed?
> 
> Yeah, I like this idea. It would allow for maximum flexibility while not
> requiring any changes to the existing Xen/Linux interface; even the
> compatible string would remain unmodified.
> 
> I also find the ability to select individual features interesting,
> although I don't have a concrete use-case for it yet. I should say that
> I do have a concrete use-case for enabling only event-channels but they
> are actually already enabled for dom0less guests because they are just
> hypercalls.

I thought about mentioning the hypercalls yesterday. However, I think it 
would be better to use XSM as it would be a lot more flexible than a 
Device-Tree based approach for the hypercalls.

> (Nothing disables them at present for dom0less guests so
> they get them "by default".)
> 
> Let's say we go down this path, which seems nice. The remaining question
> is what do we want as default when the new "xen,enhanced" option is
> missing. I think it makes sense for the default to be "enabled" because
> I expect most people to want the enhacements and they are generally
> harmless if you don't use them (except for old unpatched Linux kernels,
> which is the main reason why we need the option).

You are probably right about the future use. However, we also need to 
make sure that the upgrade from a Xen without this feature is painless 
(I view dom0less bindings as stable). Therefore, I think this should be 
disabled by default so there are no surprise.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Jan 07 10:36:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 10:36:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254339.436094 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5mbA-0001hL-T9; Fri, 07 Jan 2022 10:35:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254339.436094; Fri, 07 Jan 2022 10:35:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5mbA-0001gw-NV; Fri, 07 Jan 2022 10:35:52 +0000
Received: by outflank-mailman (input) for mailman id 254339;
 Fri, 07 Jan 2022 10:35:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kqIQ=RX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n5mb8-0001Nl-LL
 for xen-devel@lists.xenproject.org; Fri, 07 Jan 2022 10:35:50 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 930e4eac-6fa5-11ec-9ce5-af14b9085ebd;
 Fri, 07 Jan 2022 11:35:49 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id C7BFF212BF;
 Fri,  7 Jan 2022 10:35:46 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id A30D713CCC;
 Fri,  7 Jan 2022 10:35:46 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id oJN9JoIX2GHvCwAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 07 Jan 2022 10:35:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 930e4eac-6fa5-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641551746; h=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=lHlV4wb/lgozNAQh5gy+WKHFMhvi6Np0GE6SfuW92Mo=;
	b=ajHF2Ze6X00ejXJSWelo5qwfDu63E8ECKVY4fGFe8RlhMnlkXxAIm5TJ3ShMUDQ6qamXaE
	vsHNlD2QWvbEoAKj2+MBjpQA5Qz0QMPbDMw8/SyTggyqDwmflpTYI33QAsJ0WRaW41DBb6
	V8EmhZBt/i5JkXAw1x9G+PKadvAi8EE=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 2/2] tools/libs/gnttab: decouple more from mini-os
Date: Fri,  7 Jan 2022 11:35:44 +0100
Message-Id: <20220107103544.9271-3-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220107103544.9271-1-jgross@suse.com>
References: <20220107103544.9271-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

libgnttab is using implementation details of Mini-OS. Change that by
letting libgnttab use the new get_file_from_fd() function and the
generic dev pointer of struct file from Mini-OS.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/libs/gnttab/minios.c | 48 ++++++++++++++++++++++++++------------
 1 file changed, 33 insertions(+), 15 deletions(-)

diff --git a/tools/libs/gnttab/minios.c b/tools/libs/gnttab/minios.c
index f78caadd30..64601db085 100644
--- a/tools/libs/gnttab/minios.c
+++ b/tools/libs/gnttab/minios.c
@@ -28,6 +28,7 @@
 #include <sys/mman.h>
 
 #include <errno.h>
+#include <malloc.h>
 #include <unistd.h>
 
 #include "private.h"
@@ -36,10 +37,25 @@ void minios_gnttab_close_fd(int fd);
 
 int osdep_gnttab_open(xengnttab_handle *xgt)
 {
-    int fd = alloc_fd(FTYPE_GNTMAP);
-    if ( fd == -1 )
+    int fd;
+    struct file *file;
+    struct gntmap *gntmap;
+
+    gntmap = malloc(sizeof(*gntmap));
+    if ( !gntmap )
         return -1;
-    gntmap_init(&files[fd].gntmap);
+
+    fd = alloc_fd(FTYPE_GNTMAP);
+    file = get_file_from_fd(fd);
+
+    if ( !file )
+    {
+        free(gntmap);
+        return -1;
+    }
+
+    file->dev = gntmap;
+    gntmap_init(gntmap);
     xgt->fd = fd;
     return 0;
 }
@@ -54,8 +70,11 @@ int osdep_gnttab_close(xengnttab_handle *xgt)
 
 void minios_gnttab_close_fd(int fd)
 {
-    gntmap_fini(&files[fd].gntmap);
-    files[fd].type = FTYPE_NONE;
+    struct file *file = get_file_from_fd(fd);
+
+    gntmap_fini(file->dev);
+    free(file->dev);
+    file->type = FTYPE_NONE;
 }
 
 void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
@@ -64,16 +83,16 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
                              uint32_t notify_offset,
                              evtchn_port_t notify_port)
 {
-    int fd = xgt->fd;
+    struct file *file = get_file_from_fd(xgt->fd);
     int stride = 1;
+
     if (flags & XENGNTTAB_GRANT_MAP_SINGLE_DOMAIN)
         stride = 0;
     if (notify_offset != -1 || notify_port != -1) {
         errno = ENOSYS;
         return NULL;
     }
-    return gntmap_map_grant_refs(&files[fd].gntmap,
-                                 count, domids, stride,
+    return gntmap_map_grant_refs(file->dev, count, domids, stride,
                                  refs, prot & PROT_WRITE);
 }
 
@@ -81,11 +100,10 @@ int osdep_gnttab_unmap(xengnttab_handle *xgt,
                        void *start_address,
                        uint32_t count)
 {
-    int fd = xgt->fd;
+    struct file *file = get_file_from_fd(xgt->fd);
     int ret;
-    ret = gntmap_munmap(&files[fd].gntmap,
-                        (unsigned long) start_address,
-                        count);
+
+    ret = gntmap_munmap(file->dev, (unsigned long) start_address, count);
     if (ret < 0) {
         errno = -ret;
         return -1;
@@ -95,10 +113,10 @@ int osdep_gnttab_unmap(xengnttab_handle *xgt,
 
 int osdep_gnttab_set_max_grants(xengnttab_handle *xgt, uint32_t count)
 {
-    int fd = xgt->fd;
+    struct file *file = get_file_from_fd(xgt->fd);
     int ret;
-    ret = gntmap_set_max_grants(&files[fd].gntmap,
-                                count);
+
+    ret = gntmap_set_max_grants(file->dev, count);
     if (ret < 0) {
         errno = -ret;
         return -1;
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Fri Jan 07 10:36:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 10:36:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254338.436089 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5mbA-0001dk-I4; Fri, 07 Jan 2022 10:35:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254338.436089; Fri, 07 Jan 2022 10:35:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5mbA-0001dd-E1; Fri, 07 Jan 2022 10:35:52 +0000
Received: by outflank-mailman (input) for mailman id 254338;
 Fri, 07 Jan 2022 10:35:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kqIQ=RX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n5mb8-0001Nm-CP
 for xen-devel@lists.xenproject.org; Fri, 07 Jan 2022 10:35:50 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9303a079-6fa5-11ec-81c0-a30af7de8005;
 Fri, 07 Jan 2022 11:35:48 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 9BE7D212BE;
 Fri,  7 Jan 2022 10:35:46 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 75F8913CCC;
 Fri,  7 Jan 2022 10:35:46 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id WLmRG4IX2GHvCwAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 07 Jan 2022 10:35:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9303a079-6fa5-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641551746; h=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=ExUV76bDon3vF2lqMKSHAUkh14TbcK4d/8FVqDba5Ig=;
	b=M3jeiL0CMrEcA3+HQepc8xZ3F50RdCcNW+HzdyaL/v6JKr9/XVHPXlbnrGedRNlIDZa2Mz
	qyxcZVbzcfdqXoGkHgznpsjBfSXcR0rsauxGazPCqqOuef7lYnzPQb7t3W+k06BGrnU3up
	a+onKW/qNa8X5ke77fW17yxHb6kvsdc=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 1/2] tools/libs/evtchn: decouple more from mini-os
Date: Fri,  7 Jan 2022 11:35:43 +0100
Message-Id: <20220107103544.9271-2-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220107103544.9271-1-jgross@suse.com>
References: <20220107103544.9271-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Mini-OS and libevtchn are using implementation details of each other.
Change that by letting libevtchn use the new get_file_from_fd()
function and the generic dev pointer of struct file from Mini-OS.

By using private struct declarations Mini-OS will be able to drop the
libevtchn specific definitions of struct evtchn_port_info and
evtchn_port_list in future.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/libs/evtchn/minios.c | 82 +++++++++++++++++++++++++++-----------
 1 file changed, 58 insertions(+), 24 deletions(-)

diff --git a/tools/libs/evtchn/minios.c b/tools/libs/evtchn/minios.c
index e5dfdc5ef5..3305102f22 100644
--- a/tools/libs/evtchn/minios.c
+++ b/tools/libs/evtchn/minios.c
@@ -38,16 +38,27 @@
 
 #include "private.h"
 
+LIST_HEAD(port_list, port_info);
+
+struct port_info {
+    LIST_ENTRY(port_info) list;
+    evtchn_port_t port;
+    unsigned long pending;
+    int bound;
+};
+
 extern void minios_evtchn_close_fd(int fd);
 
 extern struct wait_queue_head event_queue;
 
 /* XXX Note: This is not threadsafe */
-static struct evtchn_port_info *port_alloc(int fd)
+static struct port_info *port_alloc(int fd)
 {
-    struct evtchn_port_info *port_info;
+    struct port_info *port_info;
+    struct file *file = get_file_from_fd(fd);
+    struct port_list *port_list = file->dev;
 
-    port_info = malloc(sizeof(struct evtchn_port_info));
+    port_info = malloc(sizeof(struct port_info));
     if ( port_info == NULL )
         return NULL;
 
@@ -55,12 +66,12 @@ static struct evtchn_port_info *port_alloc(int fd)
     port_info->port = -1;
     port_info->bound = 0;
 
-    LIST_INSERT_HEAD(&files[fd].evtchn.ports, port_info, list);
+    LIST_INSERT_HEAD(port_list, port_info, list);
 
     return port_info;
 }
 
-static void port_dealloc(struct evtchn_port_info *port_info)
+static void port_dealloc(struct port_info *port_info)
 {
     if ( port_info->bound )
         unbind_evtchn(port_info->port);
@@ -75,12 +86,25 @@ static void port_dealloc(struct evtchn_port_info *port_info)
  */
 int osdep_evtchn_open(xenevtchn_handle *xce, unsigned int flags)
 {
-    int fd = alloc_fd(FTYPE_EVTCHN);
+    int fd;
+    struct file *file;
+    struct port_list *list;
+
+    list = malloc(sizeof(*list));
+    if ( !list )
+        return -1;
+
+    fd = alloc_fd(FTYPE_EVTCHN);
+    file = get_file_from_fd(fd);
 
-    if ( fd == -1 )
+    if ( !file )
+    {
+        free(list);
         return -1;
+    }
 
-    LIST_INIT(&files[fd].evtchn.ports);
+    file->dev = list;
+    LIST_INIT(list);
     xce->fd = fd;
     printf("evtchn_open() -> %d\n", fd);
 
@@ -104,12 +128,15 @@ int osdep_evtchn_restrict(xenevtchn_handle *xce, domid_t domid)
 
 void minios_evtchn_close_fd(int fd)
 {
-    struct evtchn_port_info *port_info, *tmp;
+    struct port_info *port_info, *tmp;
+    struct file *file = get_file_from_fd(fd);
+    struct port_list *port_list = file->dev;
 
-    LIST_FOREACH_SAFE(port_info, &files[fd].evtchn.ports, list, tmp)
+    LIST_FOREACH_SAFE(port_info, port_list, list, tmp)
         port_dealloc(port_info);
+    free(port_list);
 
-    files[fd].type = FTYPE_NONE;
+    file->type = FTYPE_NONE;
 }
 
 int xenevtchn_fd(xenevtchn_handle *xce)
@@ -135,11 +162,14 @@ int xenevtchn_notify(xenevtchn_handle *xce, evtchn_port_t port)
 static void evtchn_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
 {
     int fd = (int)(intptr_t)data;
-    struct evtchn_port_info *port_info;
+    struct file *file = get_file_from_fd(fd);
+    struct port_info *port_info;
+    struct port_list *port_list;
 
-    assert(files[fd].type == FTYPE_EVTCHN);
+    assert(file && file->type == FTYPE_EVTCHN);
+    port_list = file->dev;
     mask_evtchn(port);
-    LIST_FOREACH(port_info, &files[fd].evtchn.ports, list)
+    LIST_FOREACH(port_info, port_list, list)
     {
         if ( port_info->port == port )
             goto found;
@@ -150,7 +180,7 @@ static void evtchn_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
 
  found:
     port_info->pending = 1;
-    files[fd].read = 1;
+    file->read = 1;
     wake_up(&event_queue);
 }
 
@@ -158,7 +188,7 @@ xenevtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle *xce,
                                                       uint32_t domid)
 {
     int fd = xce->fd;
-    struct evtchn_port_info *port_info;
+    struct port_info *port_info;
     int ret;
     evtchn_port_t port;
 
@@ -191,7 +221,7 @@ xenevtchn_port_or_error_t xenevtchn_bind_interdomain(xenevtchn_handle *xce,
                                                      evtchn_port_t remote_port)
 {
     int fd = xce->fd;
-    struct evtchn_port_info *port_info;
+    struct port_info *port_info;
     evtchn_port_t local_port;
     int ret;
 
@@ -222,9 +252,11 @@ xenevtchn_port_or_error_t xenevtchn_bind_interdomain(xenevtchn_handle *xce,
 int xenevtchn_unbind(xenevtchn_handle *xce, evtchn_port_t port)
 {
     int fd = xce->fd;
-    struct evtchn_port_info *port_info;
+    struct file *file = get_file_from_fd(fd);
+    struct port_info *port_info;
+    struct port_list *port_list = file->dev;
 
-    LIST_FOREACH(port_info, &files[fd].evtchn.ports, list)
+    LIST_FOREACH(port_info, port_list, list)
     {
         if ( port_info->port == port )
         {
@@ -244,7 +276,7 @@ xenevtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce,
                                               unsigned int virq)
 {
     int fd = xce->fd;
-    struct evtchn_port_info *port_info;
+    struct port_info *port_info;
     evtchn_port_t port;
 
     assert(get_current() == main_thread);
@@ -273,15 +305,17 @@ xenevtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce,
 xenevtchn_port_or_error_t xenevtchn_pending(xenevtchn_handle *xce)
 {
     int fd = xce->fd;
-    struct evtchn_port_info *port_info;
+    struct file *file = get_file_from_fd(fd);
+    struct port_info *port_info;
+    struct port_list *port_list = file->dev;
     unsigned long flags;
     evtchn_port_t ret = -1;
 
     local_irq_save(flags);
 
-    files[fd].read = 0;
+    file->read = 0;
 
-    LIST_FOREACH(port_info, &files[fd].evtchn.ports, list)
+    LIST_FOREACH(port_info, port_list, list)
     {
         if ( port_info->port != -1 && port_info->pending )
         {
@@ -292,7 +326,7 @@ xenevtchn_port_or_error_t xenevtchn_pending(xenevtchn_handle *xce)
             }
             else
             {
-                files[fd].read = 1;
+                file->read = 1;
                 break;
             }
         }
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Fri Jan 07 10:36:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 10:36:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254337.436078 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5mb9-0001O9-9e; Fri, 07 Jan 2022 10:35:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254337.436078; Fri, 07 Jan 2022 10: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 1n5mb9-0001O2-6M; Fri, 07 Jan 2022 10:35:51 +0000
Received: by outflank-mailman (input) for mailman id 254337;
 Fri, 07 Jan 2022 10:35:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kqIQ=RX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n5mb8-0001Nl-3b
 for xen-devel@lists.xenproject.org; Fri, 07 Jan 2022 10:35:50 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 93020f0e-6fa5-11ec-9ce5-af14b9085ebd;
 Fri, 07 Jan 2022 11:35:49 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 6FD3C21126;
 Fri,  7 Jan 2022 10:35:46 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 4AC8713CCC;
 Fri,  7 Jan 2022 10:35:46 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id iv/vEIIX2GHvCwAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 07 Jan 2022 10:35:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 93020f0e-6fa5-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641551746; h=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=whWas9y32BNfS/qd76E6KV1KI5cIaJWycHQDwpknfXA=;
	b=NATGd/cjLzYIY/sgSbNQEmxG64KHHvhs0q9h4XMghY0LgpbS2YSxOckyFmYbCrwk46zoMY
	c1wCUAwDju9XQccioTCeCovWc4Bj2q+IWu/dNhaWBi4SGm74IudEnKtfnpPc192uN/UwNF
	bf/gb2EaD3z8ZtI2Q8YLjbtFy5+0KdA=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 0/2] tools/libs: decouple more from mini-os
Date: Fri,  7 Jan 2022 11:35:42 +0100
Message-Id: <20220107103544.9271-1-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This small series removes some hard coupling of the Xen build with some
Mini-OS internals, especially the struct file layout and the internal
organization of the file handling.

This series depends on the Mini-OS series posted recently:

https://lists.xen.org/archives/html/xen-devel/2022-01/threads.html#00110

The main idea is to no longer have Xen library specific structures
inside struct file, or to let struct file layout depend on the
configuration of Mini-OS.

All Xen libraries needing a hook in struct file should use the now
available generic dev pointer and allocate the needed data dynamically.

Additionally Xen libraries should get the pointer of struct file via
the new get_file_from_fd() function instead of accessing directly the
files[] array, which might go away in future (e.g. in order to support
dynamic allocation of struct file as needed).

Juergen Gross (2):
  tools/libs/evtchn: decouple more from mini-os
  tools/libs/gnttab: decouple more from mini-os

 tools/libs/evtchn/minios.c | 82 +++++++++++++++++++++++++++-----------
 tools/libs/gnttab/minios.c | 48 +++++++++++++++-------
 2 files changed, 91 insertions(+), 39 deletions(-)

-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Fri Jan 07 10:47:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 10:47:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254353.436115 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5mm8-00046Z-7J; Fri, 07 Jan 2022 10:47:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254353.436115; Fri, 07 Jan 2022 10:47:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5mm8-000461-3e; Fri, 07 Jan 2022 10:47:12 +0000
Received: by outflank-mailman (input) for mailman id 254353;
 Fri, 07 Jan 2022 10:47:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kqIQ=RX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n5mm6-00042l-D6
 for xen-devel@lists.xenproject.org; Fri, 07 Jan 2022 10:47:10 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2983f7cb-6fa7-11ec-81c0-a30af7de8005;
 Fri, 07 Jan 2022 11:47:09 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 8F2BE1F39C;
 Fri,  7 Jan 2022 10:47:08 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 67E3613CCC;
 Fri,  7 Jan 2022 10:47:08 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id S1EFGCwa2GHoEQAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 07 Jan 2022 10:47:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2983f7cb-6fa7-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641552428; h=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=yauxqOoJpXr2IEhNqv7BHVtNMqveFThpzv2/vAab4VQ=;
	b=LkEoP6u6oD3a3F4VjQ6bC7bhvC8snDCYNBoiqgVF54jARxwz+kXxXd5UeiQyodY6qzrWPl
	HFDEEbefcc2eaS/NzIIaTbL2jjdIXgQwNFRtJM4brlRlIrIc7hU0T+fj5z3oxdHWT5gywt
	M2Jttss/whvfjsh7pp+HXNY2XzhnGVY=
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: remove device specific struct file members
Date: Fri,  7 Jan 2022 11:47:04 +0100
Message-Id: <20220107104706.9859-1-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This small series is a followup to the series sent recently:

https://lists.xen.org/archives/html/xen-devel/2022-01/threads.html#00110

It contains the last cleanups related to struct file and can only be
applied after the Xen libraries have stopped using the related union
members.

Juergen Gross (2):
  mini-os: remove event channel specific struct file member
  mini-os: remove gnttab specific member from struct file

 include/lib.h | 13 -------------
 1 file changed, 13 deletions(-)

-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Fri Jan 07 10:47:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 10:47:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254357.436145 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5mmA-0004dt-3T; Fri, 07 Jan 2022 10:47:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254357.436145; Fri, 07 Jan 2022 10:47:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5mm9-0004dU-UV; Fri, 07 Jan 2022 10:47:13 +0000
Received: by outflank-mailman (input) for mailman id 254357;
 Fri, 07 Jan 2022 10:47:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kqIQ=RX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n5mm8-00042k-TJ
 for xen-devel@lists.xenproject.org; Fri, 07 Jan 2022 10:47:12 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 298be421-6fa7-11ec-9ce5-af14b9085ebd;
 Fri, 07 Jan 2022 11:47:09 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id BFC3C1F3A2;
 Fri,  7 Jan 2022 10:47:08 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id A158C13CCC;
 Fri,  7 Jan 2022 10:47:08 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id mMMUJiwa2GHoEQAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 07 Jan 2022 10:47:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 298be421-6fa7-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641552428; h=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=Ns8EtRIR8x+IBI1Vuf5hHJfipnvDwTbW/7UbeMCK/V8=;
	b=eGpk+uGBBnD7UU57u0eCAaUYJMzN2y1rhbO5dCWDn9WdxJXdLs5LGhyL+Van6k5jOnj11t
	iNGQB65hdlhZOkAPKrXDHmeDbQWYeG2P7Bu642yWX1kfO1ZNQdMpDwl6tnbASB2jmuBoi8
	vyTpFcXov0As1rHT2UkjW0vHvQudEYc=
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: remove event channel specific struct file member
Date: Fri,  7 Jan 2022 11:47:05 +0100
Message-Id: <20220107104706.9859-2-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220107104706.9859-1-jgross@suse.com>
References: <20220107104706.9859-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The event channel specific union member in struct file is no longer
needed, so remove it together with the associated structure
definitions.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 include/lib.h | 12 ------------
 1 file changed, 12 deletions(-)

diff --git a/include/lib.h b/include/lib.h
index 7a0546b..cbfeea3 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -173,15 +173,6 @@ enum fd_type {
     FTYPE_TPM_TIS,
 };
 
-LIST_HEAD(evtchn_port_list, evtchn_port_info);
-
-struct evtchn_port_info {
-        LIST_ENTRY(evtchn_port_info) list;
-        evtchn_port_t port;
-        unsigned long pending;
-        int bound;
-};
-
 struct file {
     enum fd_type type;
     bool read;	/* maybe available for read */
@@ -189,9 +180,6 @@ struct file {
     union {
         int fd; /* Any fd from an upper layer. */
         void *dev;
-	struct {
-	    struct evtchn_port_list ports;
-	} evtchn;
 	struct gntmap gntmap;
     };
 };
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Fri Jan 07 10:47:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 10:47:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254352.436111 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5mm7-00043D-VB; Fri, 07 Jan 2022 10:47:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254352.436111; Fri, 07 Jan 2022 10:47: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 1n5mm7-000436-Rn; Fri, 07 Jan 2022 10:47:11 +0000
Received: by outflank-mailman (input) for mailman id 254352;
 Fri, 07 Jan 2022 10:47:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kqIQ=RX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n5mm6-00042k-7v
 for xen-devel@lists.xenproject.org; Fri, 07 Jan 2022 10:47:10 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 29afe614-6fa7-11ec-9ce5-af14b9085ebd;
 Fri, 07 Jan 2022 11:47:09 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 073491F3A3;
 Fri,  7 Jan 2022 10:47:09 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id D17BF13CCC;
 Fri,  7 Jan 2022 10:47:08 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 6IbNMSwa2GHoEQAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 07 Jan 2022 10:47:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 29afe614-6fa7-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641552429; h=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=aVrF+mPt/o/ahS4KD167P7tbO6r4eTb2AEM/MasOfew=;
	b=gqsoslElQKb2VGUq/K9P0iDX6INAIdMJieCxzDfDZafvdqXoabn5eAQw3ubxlgJh9ZDh4L
	aJCKqX0sggK1RKvVmNS1q79SSwHTyIrN5xBOg9AztNYBMwQrUyemJI1P/p7c0CMYn70mr5
	PoI3Sop03pMrVCQ9Elbibxvw8Xegjvs=
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: remove gnttab specific member from struct file
Date: Fri,  7 Jan 2022 11:47:06 +0100
Message-Id: <20220107104706.9859-3-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220107104706.9859-1-jgross@suse.com>
References: <20220107104706.9859-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The event channel specific union member in struct file is no longer
needed, so remove it

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 include/lib.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/include/lib.h b/include/lib.h
index cbfeea3..b82e285 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -180,7 +180,6 @@ struct file {
     union {
         int fd; /* Any fd from an upper layer. */
         void *dev;
-	struct gntmap gntmap;
     };
 };
 
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Fri Jan 07 11:31:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 11:31:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254371.436167 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5nSR-0002IX-R7; Fri, 07 Jan 2022 11:30:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254371.436167; Fri, 07 Jan 2022 11: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 1n5nSR-0002IO-NU; Fri, 07 Jan 2022 11:30:55 +0000
Received: by outflank-mailman (input) for mailman id 254371;
 Fri, 07 Jan 2022 11:30:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=VgWa=RX=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n5nSQ-00020S-HU
 for xen-devel@lists.xenproject.org; Fri, 07 Jan 2022 11:30:54 +0000
Received: from ppsw-33.csi.cam.ac.uk (ppsw-33.csi.cam.ac.uk [131.111.8.133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 441da359-6fad-11ec-9ce5-af14b9085ebd;
 Fri, 07 Jan 2022 12:30:51 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:46746)
 by ppsw-33.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.137]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n5nSM-000tnC-gP (Exim 4.95) (return-path <amc96@srcf.net>);
 Fri, 07 Jan 2022 11:30:50 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id DB11C1FA57;
 Fri,  7 Jan 2022 11:30:49 +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: 441da359-6fad-11ec-9ce5-af14b9085ebd
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <f1579294-4cc7-a685-0326-967444b69b86@srcf.net>
Date: Fri, 7 Jan 2022 11:30:49 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Subject: Re: [PATCH 0/2] mini-os: remove device specific struct file members
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20220107104706.9859-1-jgross@suse.com>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <20220107104706.9859-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 07/01/2022 10:47, Juergen Gross wrote:
> This small series is a followup to the series sent recently:
>
> https://lists.xen.org/archives/html/xen-devel/2022-01/threads.html#00110
>
> It contains the last cleanups related to struct file and can only be
> applied after the Xen libraries have stopped using the related union
> members.
>
> Juergen Gross (2):
>   mini-os: remove event channel specific struct file member
>   mini-os: remove gnttab specific member from struct file
>
>  include/lib.h | 13 -------------
>  1 file changed, 13 deletions(-)
>

This all looks fine.  Even if we don't want to hide struct file,
shouldn't we at least make the files[] array private to the MiniOS
core?  It's another implementation detail which external users mustn't
rely on.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Jan 07 11:31:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 11:31:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254369.436155 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5nSK-00020f-IT; Fri, 07 Jan 2022 11:30:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254369.436155; Fri, 07 Jan 2022 11: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 1n5nSK-00020Y-FU; Fri, 07 Jan 2022 11:30:48 +0000
Received: by outflank-mailman (input) for mailman id 254369;
 Fri, 07 Jan 2022 11:30:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kqIQ=RX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n5nSJ-00020S-Cr
 for xen-devel@lists.xenproject.org; Fri, 07 Jan 2022 11:30:47 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 41599b60-6fad-11ec-9ce5-af14b9085ebd;
 Fri, 07 Jan 2022 12:30:46 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 9B9231F39C;
 Fri,  7 Jan 2022 11:30:45 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 7630013CCC;
 Fri,  7 Jan 2022 11:30:45 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id wphSG2Uk2GGfJAAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 07 Jan 2022 11:30:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 41599b60-6fad-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641555045; 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=vJhik6LFSJicwsxIlirfCl9thREw5gsr+9bfWtUz9go=;
	b=nrYSBz1j0jKy2VhsPPyoJH6CkG1DaEJo9QIYY0UYRx87xzTcM90pai+2vHEEbYQoajtoNs
	LezpLxGkF4mHbX8H/HOGHSE7xc5zouxOtWqMKSU1juWKr9Gxmb6WKqqAhT0ZZGiWqco03c
	+AZVX8dSV93lyOelPs5L1VStTbVL6cg=
Subject: Re: [PATCH] xen/x86: obtain upper 32 bits of video frame buffer
 address for Dom0
To: Jan Beulich <jbeulich@suse.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 lkml <linux-kernel@vger.kernel.org>
References: <a3df8bf3-d044-b7bb-3383-cd5239d6d4af@suse.com>
From: Juergen Gross <jgross@suse.com>
Message-ID: <8a908346-4cae-3c28-dcae-770f1f0e6113@suse.com>
Date: Fri, 7 Jan 2022 12:30:39 +0100
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: <a3df8bf3-d044-b7bb-3383-cd5239d6d4af@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="iSA2hBdq8cBvlqR3jSheE2MhvEbZLm90x"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--iSA2hBdq8cBvlqR3jSheE2MhvEbZLm90x
Content-Type: multipart/mixed; boundary="NAWW3BGB6dHLfaBlRfgkpbsoqemyNXU41";
 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>,
 lkml <linux-kernel@vger.kernel.org>
Message-ID: <8a908346-4cae-3c28-dcae-770f1f0e6113@suse.com>
Subject: Re: [PATCH] xen/x86: obtain upper 32 bits of video frame buffer
 address for Dom0
References: <a3df8bf3-d044-b7bb-3383-cd5239d6d4af@suse.com>
In-Reply-To: <a3df8bf3-d044-b7bb-3383-cd5239d6d4af@suse.com>

--NAWW3BGB6dHLfaBlRfgkpbsoqemyNXU41
Content-Type: multipart/mixed;
 boundary="------------29768CACBD4D28279FAA3CEC"
Content-Language: en-US

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

On 04.01.22 09:46, Jan Beulich wrote:
> The hypervisor has been supplying this information for a couple of majo=
r
> releases. Make use of it. The need to set a flag in the capabilities
> field also points out that the prior setting of that field from the
> hypervisor interface's gbl_caps one was wrong, so that code gets delete=
d
> (there's also no equivalent of this in native boot code).
>=20
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Pushed to xen/tip.git for-linus-5.17


Juergen

--------------29768CACBD4D28279FAA3CEC
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-----

--------------29768CACBD4D28279FAA3CEC--

--NAWW3BGB6dHLfaBlRfgkpbsoqemyNXU41--

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

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

wsB4BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHYJF8FAwAAAAAACgkQsN6d1ii/Ey8Z
WQf4qYFkCw4CQ6pkNF+2vf++do/f6+yo6vvwRsRhmXTlHoeuEu6Uh53RVgRKsbPX/0qjRH52ywf5
vJzbnJTuK+IGv3uHc0PLiBMpROPi7UalfT5Jhyl7vjnbgxXuLXy+45EWHhXEoC1tG+kh8RQqEYXd
uis/BVDUS6wKSZepB+8VfkvQfLkmQS87n1XiIccwhY1wnEGDQDgSQmHBcyj0weYQBZUN5e7nXoZ+
wMBaqATdECZlt3E8jOvjlucNJCSfyQlH8xTu4FFVhneRK1uvLrDRLwPq4Q35aQnyYNcfZDXfUK2b
BmcxRPoruUxJZ8IpZbn8ffyjc1Vj/YnWXeSTO1u+
=NU3i
-----END PGP SIGNATURE-----

--iSA2hBdq8cBvlqR3jSheE2MhvEbZLm90x--


From xen-devel-bounces@lists.xenproject.org Fri Jan 07 11:31:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 11:31:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254378.436178 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5nT4-000328-5c; Fri, 07 Jan 2022 11:31:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254378.436178; Fri, 07 Jan 2022 11:31:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5nT4-000321-2a; Fri, 07 Jan 2022 11:31:34 +0000
Received: by outflank-mailman (input) for mailman id 254378;
 Fri, 07 Jan 2022 11:31:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kqIQ=RX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n5nT2-00020S-C5
 for xen-devel@lists.xenproject.org; Fri, 07 Jan 2022 11:31:32 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5c8c8ea8-6fad-11ec-9ce5-af14b9085ebd;
 Fri, 07 Jan 2022 12:31:31 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 5A132210E7;
 Fri,  7 Jan 2022 11:31: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 CA4AF13CCC;
 Fri,  7 Jan 2022 11:31:30 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id nFSoL5Ik2GH4JAAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 07 Jan 2022 11: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: 5c8c8ea8-6fad-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641555091; 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=6ZjHiAsPPaO++z4L8pxYEGbs90oQXthjx6sCL5hyEBU=;
	b=b2wMNFDsMFnPwCDeJRTXZL7riiTGsB41hyCGyThb+AuKE8jzQGLN60JL00WYQxCWqninc5
	g5Z4q/VYuHQo06q3vf8Awm392uzUhai4hOHD8k7EOonAk9pXx5R8bRBljPME7xaGSEATDW
	o7v/R7X0q0x3H3hIIsMLwAWeRIZ5/yI=
Subject: Re: [PATCH V4 0/6] xen: Add support of extended regions (safe ranges)
 on Arm
To: Oleksandr Tyshchenko <olekstysh@gmail.com>,
 xen-devel@lists.xenproject.org, linux-arm-kernel@lists.infradead.org,
 linux-kernel@vger.kernel.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Russell King <linux@armlinux.org.uk>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
 Henry Wang <Henry.Wang@arm.com>, Kaly Xin <Kaly.Xin@arm.com>,
 Jiamei Xie <Jiamei.Xie@arm.com>
References: <1639080336-26573-1-git-send-email-olekstysh@gmail.com>
From: Juergen Gross <jgross@suse.com>
Message-ID: <d594a183-c7be-5fff-da7a-e4c1e707b83c@suse.com>
Date: Fri, 7 Jan 2022 12:31:30 +0100
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: <1639080336-26573-1-git-send-email-olekstysh@gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="zxl7OBpx57u7dBEPjP24KfQ9qSnYGWYGc"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--zxl7OBpx57u7dBEPjP24KfQ9qSnYGWYGc
Content-Type: multipart/mixed; boundary="bYQWwZXVskXxny1ZB8gcdtLP4a0dOoygv";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Oleksandr Tyshchenko <olekstysh@gmail.com>,
 xen-devel@lists.xenproject.org, linux-arm-kernel@lists.infradead.org,
 linux-kernel@vger.kernel.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Russell King <linux@armlinux.org.uk>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
 Henry Wang <Henry.Wang@arm.com>, Kaly Xin <Kaly.Xin@arm.com>,
 Jiamei Xie <Jiamei.Xie@arm.com>
Message-ID: <d594a183-c7be-5fff-da7a-e4c1e707b83c@suse.com>
Subject: Re: [PATCH V4 0/6] xen: Add support of extended regions (safe ranges)
 on Arm
References: <1639080336-26573-1-git-send-email-olekstysh@gmail.com>
In-Reply-To: <1639080336-26573-1-git-send-email-olekstysh@gmail.com>

--bYQWwZXVskXxny1ZB8gcdtLP4a0dOoygv
Content-Type: multipart/mixed;
 boundary="------------FE9D85ECD2D104C4DCB635EC"
Content-Language: en-US

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

On 09.12.21 21:05, Oleksandr Tyshchenko wrote:
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>=20
> Hello all.
>=20
> You can find the RFC-V3 patch series at [1],[2] and [3].
>=20
> The corresponding Xen support (for both Dom0 and DomU) is already commi=
tted and
> is available in mainline Xen since the following commit:
> 57f87857dc2de452a796d6bad4f476510efd2aba libxl/arm: Add handling of ext=
ended regions for DomU
>=20
> The extended region (safe range) is a region of guest physical address =
space
> which is unused and could be safely used to create grant/foreign mappin=
gs instead
> of ballooning out real RAM pages to obtain a physical address space for=
 creating
> these mappings (which simply results in wasting domain memory and shatt=
ering super
> pages in P2M table).
>=20
> The problem is that we cannot follow Linux advise which memory ranges a=
re unused
> on Arm as there might be some identity mappings in P2M table (stage 2) =
the guest is not
> aware of or not all device I/O regions might be known (registered) by t=
he time the guest
> starts creating grant/foreign mappings. This is why we need some hints =
from the hypervisor
> which knows all details in advance to be able to choose extended region=
s (which won't
> clash with other resources).
>=20
> The extended regions are chosen at the domain creation time and adverti=
sed to it via
> "reg" property under hypervisor node in the guest device-tree [4]. As r=
egion 0 is reserved
> for grant table space (always present), the indexes for extended region=
s are 1...N.
> No device tree bindings update is needed, guest infers the presence of =
extended regions
> from the number of regions in "reg" property.
>=20
> Please note the following:
> - The ACPI case is not covered for now
> - patch series was created in a way to retain existing behavior on x86
>=20
> The patch series is based on v5.16-rc3 and also available at [5], it wa=
s fully
> tested on Arm64 and only compile tested on x86.
>=20
> [1] https://lore.kernel.org/all/1627490656-1267-1-git-send-email-olekst=
ysh@gmail.com/
>      https://lore.kernel.org/all/1627490656-1267-2-git-send-email-oleks=
tysh@gmail.com/
> [2] https://lore.kernel.org/all/1635264312-3796-1-git-send-email-olekst=
ysh@gmail.com/
> [3] https://lore.kernel.org/all/1637787223-21129-1-git-send-email-oleks=
tysh@gmail.com/
> [4] https://xenbits.xen.org/gitweb/?p=3Dxen.git;a=3Dblob_plain;f=3Ddocs=
/misc/arm/device-tree/guest.txt;hb=3Drefs/heads/master
> [5] https://github.com/otyshchenko1/linux/commits/map_opt_ml7
>=20
> Oleksandr Tyshchenko (6):
>    xen/unpopulated-alloc: Drop check for virt_addr_valid() in fill_list=
()
>    arm/xen: Switch to use gnttab_setup_auto_xlat_frames() for DT
>    xen/balloon: Bring alloc(free)_xenballooned_pages helpers back
>    xen/unpopulated-alloc: Add mechanism to use Xen resource
>    arm/xen: Read extended regions from DT and init Xen resource
>    dt-bindings: xen: Clarify "reg" purpose
>=20
>   Documentation/devicetree/bindings/arm/xen.txt |  14 +--
>   arch/arm/xen/enlighten.c                      | 132 +++++++++++++++++=
+++++++--
>   drivers/xen/Kconfig                           |   2 +-
>   drivers/xen/balloon.c                         |  20 ++--
>   drivers/xen/unpopulated-alloc.c               |  87 ++++++++++++++++-=

>   include/xen/balloon.h                         |   3 +
>   include/xen/xen.h                             |  16 ++++
>   7 files changed, 245 insertions(+), 29 deletions(-)
>=20

Series pushed to xen/tip.git for-linus-5.17


Juergen

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

--------------FE9D85ECD2D104C4DCB635EC--

--bYQWwZXVskXxny1ZB8gcdtLP4a0dOoygv--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHYJJIFAwAAAAAACgkQsN6d1ii/Ey/B
fggAguLLO4r4bqWIPJQiFCMQLiM8URWp6RPvi7mzKA5PhOFxx7xnRJT9ocXuoUt+p/PS200k6HuH
OZFN+KDehNmtXK8PtJE+P3/fmCe72Lfl65WOmDtw47JfCgjkUmp4v2aiFL6J0dGxSA8m4NiJkPRt
In/e1ziRq0R318pQm+xzR9S+MLt+Pv749iKSK6ZGS/arXiqFlQ1+iDzcxT2WWS9pwt9aGiHebej1
c2Ybn6RyScqC8ObSU5JotE2llvexMQIm5EmABVskoIj/gT8KQNrhIlQxGqOXtOomi2dn4gyPUjdL
fRBjD83ay8OW+7b6cNtAN2T+jb9w3S0tcCPNkeTs1A==
=OH9o
-----END PGP SIGNATURE-----

--zxl7OBpx57u7dBEPjP24KfQ9qSnYGWYGc--


From xen-devel-bounces@lists.xenproject.org Fri Jan 07 11:34:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 11:34:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254387.436193 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5nVT-0003u9-Qt; Fri, 07 Jan 2022 11:34:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254387.436193; Fri, 07 Jan 2022 11:34:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5nVT-0003u2-Np; Fri, 07 Jan 2022 11:34:03 +0000
Received: by outflank-mailman (input) for mailman id 254387;
 Fri, 07 Jan 2022 11:34:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kqIQ=RX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n5nVR-0003rv-IY
 for xen-devel@lists.xenproject.org; Fri, 07 Jan 2022 11:34:01 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b4e3f78c-6fad-11ec-9ce5-af14b9085ebd;
 Fri, 07 Jan 2022 12:33:59 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 91833210E7;
 Fri,  7 Jan 2022 11:33:59 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 6072913350;
 Fri,  7 Jan 2022 11:33:59 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id F2ThFCcl2GHhJQAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 07 Jan 2022 11:33:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b4e3f78c-6fad-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641555239; 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=BrbFkh1H8DHh7FDlFrfzhtDMyAhtAlvzZh0lP0nE4xg=;
	b=nIeQF6Fsk9r+u15dhoqlzgZEfStwX6rj4s/IaqlnmyG686ln+tGcYU5nFvjM3MLkiZG3XC
	M553vMPIHkreLOCEPbhRhQ9MDxVfKzDbiKNeLGjC3Ix/aOvXGfv31mmnk4mXzIOthv/Wnl
	eNgCCBz84XVEvqQrX/w3hWZBJ7rGo8o=
Subject: Re: [PATCH 0/2] mini-os: remove device specific struct file members
To: Andrew Cooper <amc96@srcf.net>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20220107104706.9859-1-jgross@suse.com>
 <f1579294-4cc7-a685-0326-967444b69b86@srcf.net>
From: Juergen Gross <jgross@suse.com>
Message-ID: <e28981dd-239a-1213-dd2d-e4cfd7ad2a29@suse.com>
Date: Fri, 7 Jan 2022 12:33:58 +0100
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: <f1579294-4cc7-a685-0326-967444b69b86@srcf.net>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="9dYvUsw6tZypt2UwYJ8xv8xbgTRutNLjs"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--9dYvUsw6tZypt2UwYJ8xv8xbgTRutNLjs
Content-Type: multipart/mixed; boundary="gA28VGGQ8NzkrjvVxtrVSrwNlUkQmuhOQ";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <amc96@srcf.net>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
Message-ID: <e28981dd-239a-1213-dd2d-e4cfd7ad2a29@suse.com>
Subject: Re: [PATCH 0/2] mini-os: remove device specific struct file members
References: <20220107104706.9859-1-jgross@suse.com>
 <f1579294-4cc7-a685-0326-967444b69b86@srcf.net>
In-Reply-To: <f1579294-4cc7-a685-0326-967444b69b86@srcf.net>

--gA28VGGQ8NzkrjvVxtrVSrwNlUkQmuhOQ
Content-Type: multipart/mixed;
 boundary="------------AFF4EF5B9E1792DE884A90B3"
Content-Language: en-US

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

On 07.01.22 12:30, Andrew Cooper wrote:
> On 07/01/2022 10:47, Juergen Gross wrote:
>> This small series is a followup to the series sent recently:
>>
>> https://lists.xen.org/archives/html/xen-devel/2022-01/threads.html#001=
10
>>
>> It contains the last cleanups related to struct file and can only be
>> applied after the Xen libraries have stopped using the related union
>> members.
>>
>> Juergen Gross (2):
>>    mini-os: remove event channel specific struct file member
>>    mini-os: remove gnttab specific member from struct file
>>
>>   include/lib.h | 13 -------------
>>   1 file changed, 13 deletions(-)
>>
>=20
> This all looks fine.=C2=A0 Even if we don't want to hide struct file,
> shouldn't we at least make the files[] array private to the MiniOS
> core?=C2=A0 It's another implementation detail which external users mus=
tn't
> rely on.

In theory yes.

This will need some more work either by splitting headers or by
using get_file_from_fd() everywhere in Mini-OS.


Juergen

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

--------------AFF4EF5B9E1792DE884A90B3--

--gA28VGGQ8NzkrjvVxtrVSrwNlUkQmuhOQ--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHYJSYFAwAAAAAACgkQsN6d1ii/Ey/U
AQf/Qzqroj+LwcLr2Jut24qe8VvDl041f6sGYTsmDtF+kFu3h8X5EACMDx4qyvCPbZE5hba21dIB
9O3rN/l+PwCmjRW7wy+zwBN3ejsiv7FKieYqF1JqBL/iTV+PpHpkr9ztz08cdfDXZrWaK7q1EhI2
VBk60onJzTUCLpNUQwxP4kbPQi4FUG39k44qdDDvlWtKi0AJGHjdIfVFBep8v6q/nxrnAnjB/9i+
anx2pgJ1xcTmzEOSo6mp4bwdfDcj/iSgLWC76s5FCGIvHB973JgSDtW2MrXAQ3DuI6vEwVHDp1t8
OROHZsXLVnPtU0NDu9apAk1Bzc7r5LnNMVMiDjMKVA==
=m0FI
-----END PGP SIGNATURE-----

--9dYvUsw6tZypt2UwYJ8xv8xbgTRutNLjs--


From xen-devel-bounces@lists.xenproject.org Fri Jan 07 11:39:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 11:39:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254394.436204 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5naT-0004cE-GG; Fri, 07 Jan 2022 11:39:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254394.436204; Fri, 07 Jan 2022 11:39:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5naT-0004c7-Cd; Fri, 07 Jan 2022 11:39:13 +0000
Received: by outflank-mailman (input) for mailman id 254394;
 Fri, 07 Jan 2022 11:39:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=X4Ee=RX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n5naS-0004c1-0h
 for xen-devel@lists.xenproject.org; Fri, 07 Jan 2022 11:39:12 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6dbaf948-6fae-11ec-9ce5-af14b9085ebd;
 Fri, 07 Jan 2022 12:39:10 +0100 (CET)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2058.outbound.protection.outlook.com [104.47.14.58]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-34-ZDGaYLUxM5aDaVBMJRwLHQ-1; Fri, 07 Jan 2022 12:39:08 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VE1PR04MB6479.eurprd04.prod.outlook.com (2603:10a6:803:11c::33)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.7; Fri, 7 Jan
 2022 11:39:08 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.017; Fri, 7 Jan 2022
 11:39:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6dbaf948-6fae-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641555549;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=M1zjI04GaNM4Mrwch5EF57OuPazFIFaAQ0/DuVxq9p8=;
	b=BaFimHSDuGjTIpXeeXXaOYZwjrf/+XRZZQgMflIYmsNnJSAX1B4sDMiVua/vlcBbzn9eoW
	YEY69ZGuf2gcppBW5BcKoqhI17k4rQhqP748iFVXCikxM7ISLaDHQh1uVVjAA0eTdTsqA3
	lb4D8V62tXu/MWUoS08KJ4Lf51QBaws=
X-MC-Unique: ZDGaYLUxM5aDaVBMJRwLHQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EF0lzXNugcM4ZRROG8bToeEfSS7TlQ7CToCxK6rfOhXJQe1Cep+I7bJmYFl6ojS1466utE+GzS64PsmJJ3NWIkIxX+Ftax+C6Z+2zd16b06IRsJ9XLjac+S1XPV4feZFdoUCk+gY3oY8sDwxGcj1gF8hONcPg7dRboC4+wIEVJPZ19ydic8WfoPIXCqB/JmbZHmwptiCPokXLnNRuNaN+KIEoP6z6rAzJhg62L1MdPJFV3uXXGR2hHfMfGPRxekPPmm7T+gXidCbuTo/mqriCs5JAchWCSMpqUoU3wWYTuUD6DBTRV4IlPaN54hkTQsHLcgoPbUydR47QMSl6njM4w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xH358gyXzX8lozl4zMBj0IKdgwO2qbrmtnYPx4puQX0=;
 b=ggZsdx9XH3lOUNYHnm8VIYG8NfVhZc14ohbKX6fPQ9IuyqdVsMNRuQ+Oq6uqdQmCaBnIaFsJM2hWBcnWwsZrURXbeHHUNNyHcfNiLc10YrpVvqZcGGAOqYNgms4B7HruxKIt4qBobUtAdN/ozEFSABcuWbLjEPqduowC6KNOC0+zvGnVCd1oGbI5S6nlikYuuvBOgQ0XWPfg4/iYitOmx7/1Dx/aTnu7Yay/UhtQmqqiT5dY8u4Nrd3L5Vyl7VwebmrQXACHmdzsVgfppqlEte4Eq5ZKZ6cQ43Mr6LPSBjTcJzR4CbtKgTrqFuxfgyvPRXghpexhkAe73SgOu/hP4A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <78540c18-c54e-07e8-c099-d7bfd29bea91@suse.com>
Date: Fri, 7 Jan 2022 12:39:04 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: xen 4.14.3 incorrect (~3x) cpu frequency reported
Content-Language: en-US
To: James Dingwall <james-xen@dingwall.me.uk>
CC: alexander.rossa@ncr.com, xen-devel@lists.xenproject.org
References: <20210721092958.GA2502468@dingwall.me.uk>
 <c9c6778d-9823-4b07-fb48-604acef1f3de@suse.com>
 <20210726123332.GA3844057@dingwall.me.uk>
 <06be7360-0235-3773-b833-3e0d65512092@suse.com>
 <20211105152501.GA485838@dingwall.me.uk>
 <20220106150809.GA856484@dingwall.me.uk>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220106150809.GA856484@dingwall.me.uk>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM6PR08CA0021.eurprd08.prod.outlook.com
 (2603:10a6:20b:b2::33) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c60fd961-4956-4609-c3f7-08d9d1d2508c
X-MS-TrafficTypeDiagnostic: VE1PR04MB6479:EE_
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB64795E43984CB769295C4135B34D9@VE1PR04MB6479.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:
	fES68r+mzOlF21JtdAnjsaAEaXR9xZWO+txBVVIGeR3j68Yz3ffL/ki4SoYskOvmouU0vP8ob3OZg6HMS/N8cQkAfYCFG3mZajN1Scg4+TZIyp5fgmeMI4/kKwq/4xDaVWi+4dlbB2wSFzH+pfZBZRUljC/YArof4vJGP6Xd1eG+d/MZesnEvodAnxNPhmC96yTzgyh9XIVMzPPwA0OtYiDit/GvhWuqL8v3CAGEVtpmbL3wtoW//TZVGAa2dKBvc0wrKIwDXtu02YPEsPV2iPLKSm+/Iw7MK78y274lsijxWMFcXP2j+L0UxMSwTbmtFhb6q8d6AG5RM0s38YFKcA14P2EqDT20/6rQ5XbP3br0KUD0zRHS+hOZLorOMz/FJYbfudXuGeoLD2msZ356kC+a0+YdV90vpfrhHwt2+S4rjKq8DuyOQLKcgUB5rpNUGDtd/q4cr18zQWCwkKpWlsUx1SZcqZI5CByFVo4UmkOFD9knC+aftwzJ3+2EMpMW8EL3rEk2K4od8cq+KSuc1aTm9NGasUJ6SQjv4kipZbCYfiDpRu0ABPHCxKvxWSzfiq1MNXVLxjhEw3kB6LTrVR7mZJNWP/prdVc6JtIq3Q/thAphZn0T0Garurt9jZNRkjPVRamIVb/kqJlOHyDxlQGaIu2L0oUDpY5dkpyxQ6yx6J3+R6zmEWEcaZ/XC5dYtUh8s2JBemQvx6tceWlqVcdKpuyC0lI1Qp0ehod2fFI=
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)(6506007)(2906002)(6486002)(66946007)(66556008)(53546011)(66476007)(31696002)(508600001)(86362001)(31686004)(36756003)(6916009)(83380400001)(38100700002)(6666004)(316002)(4326008)(2616005)(6512007)(186003)(26005)(8676002)(5660300002)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?VSGZaUhbvMl06qHfWrqsBpp98RSXJSh8QIKImem+OEipB+rF7tioAYkeiKEe?=
 =?us-ascii?Q?bW6RXMji2rLAENr0odTGiULhvND84hmsQ8N5KzxdbjOm4cqb2E93+CB8rwTj?=
 =?us-ascii?Q?yhIY5aXmf8UZSmBPntCNs84SlO4lYcjyCbcjv86yokseuYv/WqmO+en+OAsR?=
 =?us-ascii?Q?wDpAdsJWBBJTtJXgRl5OFPLyt1TfVHAu81w9wXCHkmidBmKdVUHfA9g2D5sC?=
 =?us-ascii?Q?vjbUryPS7t2aDnyv1xcjwCAZb4yMITr1yyyKqsWFWqQuWTeD3f20W8oXJoGD?=
 =?us-ascii?Q?2s7iHZO21I03zVXUMofVNXtICSw3taOamK2MKcMCsJQTry28AgcAjGw13+kU?=
 =?us-ascii?Q?lDiD6+AVyugHUcSfC04ZOmbK9GCK7yNf+ovFwgtzifYldXMHFWngjlx9y6rT?=
 =?us-ascii?Q?Qp+DmfeUPcZKNxR0DxTAHU8dqMgbrKlfu28pmPk0CZTyF2r/WbjK/8TxvEfd?=
 =?us-ascii?Q?0Ti1/8d8UAkoxJ/L2ZrNHw6c4ZFroDPGfdVWCAds6GQCAtAKMzPXCoI0SO7k?=
 =?us-ascii?Q?VbjJYdxU3U+Ib4SKSr6TU9e3Hc36FHMbCy0ZXqwdCTZQ6+V5cutETnyqyZRN?=
 =?us-ascii?Q?tdeB9qDGcn3IIPHQDqPNMoaeAxSwsQPx4GDtDRNI7BL4wljP+BgIZDTfGQUp?=
 =?us-ascii?Q?1NLTZUzOPJxW35/8mYY9gmF1cOceoZcR22yDN+dYLI15gGMRKg05eZous/+0?=
 =?us-ascii?Q?sLUDVLoqkqdkkcb1wzD3hklQRYYjl1fdE/rgNkPM7KMlDbvPLMIiIAwf03Tu?=
 =?us-ascii?Q?Kzazxc4PyO+jh1LmfZIUUy78zKGm9R5OPfw3F2lIaYzTE1AgHjKwbptXpOdc?=
 =?us-ascii?Q?JiCjH+iVbYeB2U682zxGHlEiPJf92z1XdADA8rn94D7Oac1yUB+YloZ1r0Ex?=
 =?us-ascii?Q?ARWZheqVI/Tq+UyN3ZJCMCOHuhoXlcAQGrFQkxkkGLynCu1W/CagKqfIR/tg?=
 =?us-ascii?Q?7N3Hd0mak+e5MNCCGNPQUMDwVn3AkO/BbWgOuSleJO/k+J3GxSC3XQI7rG/o?=
 =?us-ascii?Q?Pr1xf3YF8SyPjk95piOWOsU/2ojagd/9PL1fI+BsKu3aaO4x7sidl1TnkisT?=
 =?us-ascii?Q?0D605HyUrD9e1FLwBExqfUaBa2QZ5x+MEtn4Myt6Ytwvx/ceOWRJP4vuzigV?=
 =?us-ascii?Q?TKVIT66I2vi7gBV8i2EF1wyC3EogwRpq9JTmlvGfV1d/Ht8Kkb7zhIW+yCSu?=
 =?us-ascii?Q?rc1cRyDFW2HCaFwfQHxnx2CB2Gn889TX+TdBaQzz2PaANrZvPT+Le4ojO8GE?=
 =?us-ascii?Q?JHDBBJDvPl+pfrOR/Snjz82h6oLwQO/bb1JVyaBTX8bZiTwpcukMSJJwr7DL?=
 =?us-ascii?Q?Gxlh0cqrewxhVSjyO23t+BV80WeiEqbIE6R0KJO9D66PO3ja+p/oS3xSPaV1?=
 =?us-ascii?Q?Pw7/zc115PShP4QXk/yNNIeOi1+7Yx2r11+f8mx1l4AnbwdgUQWKIXxQFUMy?=
 =?us-ascii?Q?ASnbP4HH5LYK2BJMkldM38jM6PeoYwATqZi5Qw8S370ZJD3Zzm3DmHzQ0mdv?=
 =?us-ascii?Q?tDQ6T+S1maUMTcOUCmoj4rCdrkWBW8l6XuevJ+CvMxBtuwZZrvCxKMeNRfjS?=
 =?us-ascii?Q?OsBrtp8VOvx1oFZGKhJ8c2AUJ4+1Ol1PC7gawmgJsj77kg/h3K9rrjKXfZyz?=
 =?us-ascii?Q?c/Bp5LE9ELDKet8oQQIpwm4=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c60fd961-4956-4609-c3f7-08d9d1d2508c
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jan 2022 11:39:07.6764
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Gy5xTqXXnIO/w0HyzyP3gAhMe/lVMNgN/bxIgcuhBdkttLe8O2f4TDKJii//1TMGDDYNuuoHqQOhvmvTXpS4vg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6479

On 06.01.2022 16:08, James Dingwall wrote:
>>> On Wed, Jul 21, 2021 at 12:59:11PM +0200, Jan Beulich wrote:           =
                                                                =20
>>>> On 21.07.2021 11:29, James Dingwall wrote:                            =
                                                                =20
>>>>> We have a system which intermittently starts up and reports an incorr=
ect cpu frequency:                                              =20
> ...
>>> I'm sorry to ask, but have you got around to actually doing that? Or
>>> else is resolving this no longer of interest?
>=20
> We have experienced an occurence of this issue on 4.14.3 with 'loglvl=3Da=
ll'
> present on the xen command line.  I have attached the 'xl dmesg' output f=
or
> the fast MHz boot, the diff from the normal case is small so I've not add=
ed
> that log separately:
>=20
> --- normal-mhz/xl-dmesg.txt     2022-01-06 14:13:47.231465234 +0000
> +++ funny-mhz/xl-dmesg.txt      2022-01-06 13:45:43.825148510 +0000
> @@ -211,7 +211,7 @@
>  (XEN)  cap enforcement granularity: 10ms
>  (XEN) load tracking window length 1073741824 ns
>  (XEN) Platform timer is 24.000MHz HPET
> -(XEN) Detected 2294.639 MHz processor.
> +(XEN) Detected 7623.412 MHz processor.
>  (XEN) EFI memory map:
>  (XEN)  0000000000000-0000000007fff type=3D3 attr=3D000000000000000f
>  (XEN)  0000000008000-000000003cfff type=3D7 attr=3D000000000000000f

Below is a patch (suitably adjusted for 4.14.3) which I would hope can
take care of the issue (assuming my vague guess on the reasons wasn't
entirely off). It has some debugging code intentionally left in, and
it's also not complete yet (other timer code needing similar
adjustment). Given the improvements I've observed independent of your
issue, I may not wait with submission until getting feedback from you,
since - aiui - it may take some time for you to actually run into a
case where the change would actually make an observable difference.

Jan

x86: improve TSC / CPU freq calibration accuracy

While the problem report was for extreme errors, even smaller ones would
better be avoided: The calculated period to run calibration loops over
can (and usually will) be shorter than the actual time elapsed between
first and last platform timer and TSC reads. Adjust values returned from
the init functions accordingly.

On a Skylake system I've tested this on accuracy (using HPET) went from
detecting in some cases more than 220kHz too high a value to about
=C2=B11kHz. On other systems the original error range was much smaller, wit=
h
less (in some cases only very little) improvement.

Reported-by: James Dingwall <james-xen@dingwall.me.uk>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
TBD: Do we think we need to guard against the bizarre case of
     "target + count" overflowing (i.e. wrapping)?
TBD: Accuracy could be slightly further improved by using a (to be
     introduced) rounding variant of muldiv64().
TBD: I'm not entirely sure how useful the conditionals are - there
     shouldn't be any inaccuracies from the division when count equals
     target (upon entry to the conditionals), as then the divisor is
     what the original value was just multiplied by.

--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -378,8 +378,9 @@ static u64 read_hpet_count(void)
=20
 static int64_t __init init_hpet(struct platform_timesource *pts)
 {
-    uint64_t hpet_rate, start;
+    uint64_t hpet_rate, start, expired;
     uint32_t count, target;
+unsigned int i;//temp
=20
     if ( hpet_address && strcmp(opt_clocksource, pts->id) &&
          cpuidle_using_deep_cstate() )
@@ -415,16 +416,35 @@ static int64_t __init init_hpet(struct p
=20
     pts->frequency =3D hpet_rate;
=20
+for(i =3D 0; i < 16; ++i) {//temp
     count =3D hpet_read32(HPET_COUNTER);
     start =3D rdtsc_ordered();
     target =3D count + CALIBRATE_VALUE(hpet_rate);
     if ( target < count )
         while ( hpet_read32(HPET_COUNTER) >=3D count )
             continue;
-    while ( hpet_read32(HPET_COUNTER) < target )
+    while ( (count =3D hpet_read32(HPET_COUNTER)) < target )
         continue;
=20
-    return (rdtsc_ordered() - start) * CALIBRATE_FRAC;
+    expired =3D rdtsc_ordered() - start;
+
+    if ( likely(count > target) )
+    {
+        /*
+         * A (perhaps significant) delay before the last HPET read above (=
e.g.
+         * due to a SMI or NMI) can lead to (perhaps severe) inaccuracy if=
 not
+         * accounting for the time expired past the originally calculated =
end
+         * of the calibration period.
+         */
+printk("%lu -> ", expired * CALIBRATE_FRAC);//temp
+        count -=3D target;
+        target =3D CALIBRATE_VALUE(hpet_rate);
+        expired =3D muldiv64(expired, target, target + count);
+printk("%lu (%3u,%u)\n", expired * CALIBRATE_FRAC, count, target);//temp
+    }
+}
+
+    return expired * CALIBRATE_FRAC;
 }
=20
 static void resume_hpet(struct platform_timesource *pts)



From xen-devel-bounces@lists.xenproject.org Fri Jan 07 11:52:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 11:52:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254399.436214 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5nmc-0006rg-KI; Fri, 07 Jan 2022 11:51:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254399.436214; Fri, 07 Jan 2022 11: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 1n5nmc-0006rZ-HV; Fri, 07 Jan 2022 11:51:46 +0000
Received: by outflank-mailman (input) for mailman id 254399;
 Fri, 07 Jan 2022 11:51:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=VgWa=RX=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n5nmb-0006rT-4v
 for xen-devel@lists.xenproject.org; Fri, 07 Jan 2022 11:51:45 +0000
Received: from ppsw-42.csi.cam.ac.uk (ppsw-42.csi.cam.ac.uk [131.111.8.142])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2ea913f4-6fb0-11ec-9ce5-af14b9085ebd;
 Fri, 07 Jan 2022 12:51:44 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:46210)
 by ppsw-42.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.138]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n5nmV-000L8C-9c (Exim 4.95) (return-path <amc96@srcf.net>);
 Fri, 07 Jan 2022 11:51:40 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 502A21FA57;
 Fri,  7 Jan 2022 11:51:39 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2ea913f4-6fb0-11ec-9ce5-af14b9085ebd
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <9295e128-fd61-0fa2-70f0-c0132cd0f2db@srcf.net>
Date: Fri, 7 Jan 2022 11:51:38 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>, James Dingwall <james-xen@dingwall.me.uk>
Cc: alexander.rossa@ncr.com, xen-devel@lists.xenproject.org
References: <20210721092958.GA2502468@dingwall.me.uk>
 <c9c6778d-9823-4b07-fb48-604acef1f3de@suse.com>
 <20210726123332.GA3844057@dingwall.me.uk>
 <06be7360-0235-3773-b833-3e0d65512092@suse.com>
 <20211105152501.GA485838@dingwall.me.uk>
 <20220106150809.GA856484@dingwall.me.uk>
 <76c0e41b-f0a0-60e5-f2b4-d19724ee2db2@suse.com>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: xen 4.14.3 incorrect (~3x) cpu frequency reported
In-Reply-To: <76c0e41b-f0a0-60e5-f2b4-d19724ee2db2@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06/01/2022 16:00, Jan Beulich wrote:
> On 06.01.2022 16:08, James Dingwall wrote:
>>>> On Wed, Jul 21, 2021 at 12:59:11PM +0200, Jan Beulich wrote:                                                                            
>>>>> On 21.07.2021 11:29, James Dingwall wrote:                                                                                             
>>>>>> We have a system which intermittently starts up and reports an incorrect cpu frequency:                                               
>> ...
>>>> I'm sorry to ask, but have you got around to actually doing that? Or
>>>> else is resolving this no longer of interest?
>> We have experienced an occurence of this issue on 4.14.3 with 'loglvl=all'
>> present on the xen command line.  I have attached the 'xl dmesg' output for
>> the fast MHz boot, the diff from the normal case is small so I've not added
>> that log separately:
>>
>> --- normal-mhz/xl-dmesg.txt     2022-01-06 14:13:47.231465234 +0000
>> +++ funny-mhz/xl-dmesg.txt      2022-01-06 13:45:43.825148510 +0000
>> @@ -211,7 +211,7 @@
>>  (XEN)  cap enforcement granularity: 10ms
>>  (XEN) load tracking window length 1073741824 ns
>>  (XEN) Platform timer is 24.000MHz HPET
>> -(XEN) Detected 2294.639 MHz processor.
>> +(XEN) Detected 7623.412 MHz processor.
>>  (XEN) EFI memory map:
>>  (XEN)  0000000000000-0000000007fff type=3 attr=000000000000000f
>>  (XEN)  0000000008000-000000003cfff type=7 attr=000000000000000f
>> @@ -616,6 +616,7 @@
>>  (XEN) PCI add device 0000:b7:00.1
>>  (XEN) PCI add device 0000:b7:00.2
>>  (XEN) PCI add device 0000:b7:00.3
>> +(XEN) Platform timer appears to have unexpectedly wrapped 10 or more times.
>>  (XEN) [VT-D]d0:PCIe: unmap 0000:65:00.2
>>  (XEN) [VT-D]d32753:PCIe: map 0000:65:00.2
>>  (XEN) [VT-D]d0:PCIe: unmap 0000:65:00.1
> Thanks. In an earlier mail the reported value was 6895.384 MHz, but I
> guess that was on a different system (with a base freq of 2200 MHz).
> I wonder how stable the too high value is ...
>
> For the moment I have only one possibly explanation: A SMI hitting in
> the middle of the tail of init_hpet() (or init_pmtimer()), taking long
> enough to cause the function to return way too large a number. With a
> 50ms calibration period that would be about 166ms. I vaguely recall
> having heard of SMI potentially taking this long.

SMI's are stupidly long.  To avoid leaking secrets via speculation, SMIs
have to rendezvous at least the sibling threads, and SMM entry/exit
undergoes every flushing action which has been slowing down software
since 2018.

You can confirm SMIs using MSR_SMI_COUNT (0x34).  It's
non-architectural, but is present in Nehalem and later.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Jan 07 11:52:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 11:52:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254402.436226 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5nnT-0007QJ-Uh; Fri, 07 Jan 2022 11:52:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254402.436226; Fri, 07 Jan 2022 11:52: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 1n5nnT-0007QC-R6; Fri, 07 Jan 2022 11:52:39 +0000
Received: by outflank-mailman (input) for mailman id 254402;
 Fri, 07 Jan 2022 11:52:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n5nnS-0007Pi-26; Fri, 07 Jan 2022 11:52:38 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n5nnR-0007sr-UN; Fri, 07 Jan 2022 11:52: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 1n5nnR-0007nA-Jq; Fri, 07 Jan 2022 11:52:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n5nnR-0000RF-JL; Fri, 07 Jan 2022 11:52:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=s0tz2ppsIHbHLmBKIOAR/RGPR1lL9X6o1cq/VpbVNBg=; b=F3jrDHCVK4wZVLCD81F/eRA9xQ
	hSXPgtPsnx9yGOytHpS6TqoHaWy3T3fS/p8Ym8PpGqJdmxkKBzzYw7pYSIuE1jBCCdACdv7wjv+sd
	/clSo6YnEoffsMYSI5fvLtwRKt7CJKd/IgHBMPEHonUkasDIc5f5q1Q+mzaLl3c4nIwY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167624-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167624: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-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-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt: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-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl: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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=b2b436ec0205abde78ef8fd438758125ffbb0fec
X-Osstest-Versions-That:
    linux=75acfdb6fd922598a408a0d864486aeb167c1a97
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 07 Jan 2022 11:52:37 +0000

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

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 167619
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167619
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167619
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167619
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167619
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167619
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167619
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167619
 test-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-arm64-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-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-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

version targeted for testing:
 linux                b2b436ec0205abde78ef8fd438758125ffbb0fec
baseline version:
 linux                75acfdb6fd922598a408a0d864486aeb167c1a97

Last test of basis   167619  2022-01-06 09:10:01 Z    1 days
Testing same since   167624  2022-01-07 00:11:03 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jiri Olsa <jolsa@kernel.org>
  Jiri Olsa <jolsa@redhat.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
  Steven Rostedt <rostedt@goodmis.org>

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


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

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

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

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


Pushing revision :

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


From xen-devel-bounces@lists.xenproject.org Fri Jan 07 12:56:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 12:56:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254426.436237 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5omY-00059a-OC; Fri, 07 Jan 2022 12:55:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254426.436237; Fri, 07 Jan 2022 12:55:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5omY-00059T-LJ; Fri, 07 Jan 2022 12:55:46 +0000
Received: by outflank-mailman (input) for mailman id 254426;
 Fri, 07 Jan 2022 12:55:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=R3Uf=RX=gmail.com=d.vrabel.98@srs-se1.protection.inumbo.net>)
 id 1n5omX-00059N-11
 for xen-devel@lists.xenproject.org; Fri, 07 Jan 2022 12:55:45 +0000
Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com
 [2a00:1450:4864:20::42b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 19a75b28-6fb9-11ec-9ce5-af14b9085ebd;
 Fri, 07 Jan 2022 13:55:33 +0100 (CET)
Received: by mail-wr1-x42b.google.com with SMTP id w20so10884080wra.9
 for <xen-devel@lists.xenproject.org>; Fri, 07 Jan 2022 04:55:33 -0800 (PST)
Received: from banana.davidvrabel.org.uk (banana.davidvrabel.org.uk.
 [82.70.146.42])
 by smtp.googlemail.com with ESMTPSA id y8sm5957696wma.19.2022.01.07.04.55.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 07 Jan 2022 04:55:32 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: 19a75b28-6fb9-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=sender:from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=AlKlD2YZURaiGcrFu6SNQ5g/dSZ4FFEr33mGfLaxRu8=;
        b=ioxM9UN615oauk5tn/RVN6f4mfDSdiJHFlF3LBNMHp32sWoEdU2QqwFlEG7hy+nuJk
         Fieo1OAdROf1tDKVEm0WbZ9Al9XM/VqjRVueakExGksPBJVBoSaJiNDu9ngGpJWAZBTi
         4MhMfQdDwyDZyRj1tdDXrLGL2e7gUcKGFGyW/oLVYOm0uEfeULqTefOQTrJ5ts1z4HZb
         QOG3GEYBTDnk7HDd5utor6nBOFDXmzEDlLhcgU/9zB1OmJxe/AXdgnIIXhgt0JJMJRa3
         jAQXsF9+klZmkkwaJ6F9nWlvlAUPmkxcNKq2cvZ8H8kdEzVmlox+4qJXEI67n1oZHjFM
         //7A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:sender:from:to:cc:subject:date:message-id
         :mime-version:content-transfer-encoding;
        bh=AlKlD2YZURaiGcrFu6SNQ5g/dSZ4FFEr33mGfLaxRu8=;
        b=h/BTnkyOG2FUxtMqCQlkPB1aemWBARpZ75YFR+1C6O8eCfaViXGGQs0UPTZjq16tvY
         ExktxNV9a+vIXcTd52ExbYNJw0VJnRkPUM+dGYdj4fpECMNdBBifFJ9S4hPZqB9fw4zJ
         DbH+YZyrjO3sOcV9XpNMEldRrSc4YNcKMNQ3WeITRhqHwk1npiadQ9W30kUTGk9QQZ/b
         qANLGk0Ac2eqfUO2pEsQxG3r1UTSLKTUZPDS4Z6+6mpy5sp5KfTPVtW5Nkb6KMhSkR2N
         esGlmyVgj0XBIkztdirXF7MiMtisk5gd7IbEBIvBXxDYrGt859PZ/wEnrQ9Kj7NZmW/y
         TcFA==
X-Gm-Message-State: AOAM532McMIEdmDkVJPUCJcaqaqKwOToda4Du+YM/Zmp0RHn7h9wFSDd
	0Q4ZefYBXjVenv3KzOBDXfb3B+5kaqYRBA==
X-Google-Smtp-Source: ABdhPJxrU1RHn4wohiCOfHS42vVbfNgpDWbv5GVB/j9SIWcjoygY5HaFE9s5+pTAIWM3QMOpamZfRw==
X-Received: by 2002:a5d:6da9:: with SMTP id u9mr54958569wrs.425.1641560132932;
        Fri, 07 Jan 2022 04:55:32 -0800 (PST)
Sender: David Vrabel <d.vrabel.98@gmail.com>
From: David Vrabel <dvrabel@cantab.net>
X-Google-Original-From: David Vrabel <dvrabel@amazon.co.uk>
To: xen-devel@lists.xenproject.org
Cc: David Vrabel <dvrabel@amazon.co.uk>
Subject: [PATCHv2] x86/hvm: add more callback/upcall info to 'I' debug key
Date: Fri,  7 Jan 2022 12:55:23 +0000
Message-Id: <20220107125523.212649-1-dvrabel@amazon.co.uk>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Include the type of the callback via and the per-VCPU upcall vector.

Signed-off-by: David Vrabel <dvrabel@amazon.co.uk>
---
v2:
- fix style
- make upcall vector output distinguishable from logs prior to this patch
- use fewer lines for callback via.
---
 xen/arch/x86/hvm/irq.c | 49 ++++++++++++++++++++++++++++++++++++++----
 1 file changed, 45 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/hvm/irq.c b/xen/arch/x86/hvm/irq.c
index 52aae4565f..8b1bb79127 100644
--- a/xen/arch/x86/hvm/irq.c
+++ b/xen/arch/x86/hvm/irq.c
@@ -598,7 +598,11 @@ int hvm_local_events_need_delivery(struct vcpu *v)
 static void irq_dump(struct domain *d)
 {
     struct hvm_irq *hvm_irq = hvm_domain_irq(d);
-    int i; 
+    unsigned int i;
+    const struct vcpu *v;
+    bool have_upcall_vector = false;
+    const char *via_asserted;
+
     printk("Domain %d:\n", d->domain_id);
     printk("PCI 0x%16.16"PRIx64"%16.16"PRIx64
            " ISA 0x%8.8"PRIx32" ROUTE %u %u %u %u\n",
@@ -630,9 +634,46 @@ static void irq_dump(struct domain *d)
            hvm_irq->pci_link_assert_count[1],
            hvm_irq->pci_link_assert_count[2],
            hvm_irq->pci_link_assert_count[3]);
-    printk("Callback via %i:%#"PRIx32",%s asserted\n",
-           hvm_irq->callback_via_type, hvm_irq->callback_via.gsi, 
-           hvm_irq->callback_via_asserted ? "" : " not");
+
+    printk("Per-VCPU upcall vector:\n");
+    for_each_vcpu ( d, v )
+    {
+        if ( v->arch.hvm.evtchn_upcall_vector )
+        {
+            printk("  v%u: %u\n",
+                   v->vcpu_id, v->arch.hvm.evtchn_upcall_vector);
+            have_upcall_vector = true;
+        }
+    }
+    if ( !have_upcall_vector )
+        printk("  none\n");
+
+    via_asserted = hvm_irq->callback_via_asserted ? " (asserted)" : "";
+    switch( hvm_irq->callback_via_type )
+    {
+    case HVMIRQ_callback_none:
+        printk("Callback via none\n");
+        break;
+
+    case HVMIRQ_callback_gsi:
+        printk("Callback via GSI %u%s\n",
+               hvm_irq->callback_via.gsi,
+               via_asserted);
+        break;
+
+    case HVMIRQ_callback_pci_intx:
+        printk("Callback via PCI dev %u INTx %u%s\n",
+               hvm_irq->callback_via.pci.dev,
+               hvm_irq->callback_via.pci.intx,
+               via_asserted);
+        break;
+
+    case HVMIRQ_callback_vector:
+        printk("Callback via vector %u%s\n",
+               hvm_irq->callback_via.vector,
+               via_asserted);
+        break;
+    }
 }
 
 static void dump_irq_info(unsigned char key)
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Jan 07 12:56:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 12:56:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254427.436248 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5omq-0005V1-0N; Fri, 07 Jan 2022 12:56:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254427.436248; Fri, 07 Jan 2022 12: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 1n5omp-0005Uu-TS; Fri, 07 Jan 2022 12:56:03 +0000
Received: by outflank-mailman (input) for mailman id 254427;
 Fri, 07 Jan 2022 12:56:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=R3Uf=RX=gmail.com=d.vrabel.98@srs-se1.protection.inumbo.net>)
 id 1n5omp-0005TO-GQ
 for xen-devel@lists.xenproject.org; Fri, 07 Jan 2022 12:56:03 +0000
Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com
 [2a00:1450:4864:20::335])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 05f98a5d-6fb9-11ec-81c0-a30af7de8005;
 Fri, 07 Jan 2022 13:55:00 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 az31-20020a05600c601f00b003475c3c3d03so919940wmb.0
 for <xen-devel@lists.xenproject.org>; Fri, 07 Jan 2022 04:55:51 -0800 (PST)
Received: from banana.davidvrabel.org.uk (banana.davidvrabel.org.uk.
 [82.70.146.42])
 by smtp.googlemail.com with ESMTPSA id c11sm9287264wmq.48.2022.01.07.04.55.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 07 Jan 2022 04:55:50 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: 05f98a5d-6fb9-11ec-81c0-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=sender:from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=DO2WVkGVgOC/LALR+U5f0JmohdQdLYsVuU45cS69bnQ=;
        b=ATDsX/hwyy28kcpq+CZTqMgCt+f/Rl9HW1TDz3o/lNjemK0kkcjeyF4ucBs9WHn4Eb
         IxAEewHusd3cYwIHtQ2XuMBl10DjDSdcBMWzXXCXY3sStnZsSZDxxeWaOgwfhXBe8d+u
         QTD5Rksto8FhU7JETvM6tjPBIREOjR/aFj8OEEfxrcmusTCmjMviVk7464cxO1THyGVK
         FGhPR1kPKAoMwrVUxIMgNECaZJQEr2jBMDCWCAOJGgxJbHQSf2Nb7/E/eNMmK26me9zn
         96aKB7OyJB2P25nht43E+4WSpaGKuEyBYmPuJxe1es8cpr42Hunt+/7jgVJ1WKJquh09
         y5cg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:sender:from:to:cc:subject:date:message-id
         :mime-version:content-transfer-encoding;
        bh=DO2WVkGVgOC/LALR+U5f0JmohdQdLYsVuU45cS69bnQ=;
        b=m+avo1fN0CoUC6oLlsJIy/S/yP/j1dIB7PmGY3N/zxqI5gF7PZblUa/l0HV6VXk9sk
         XpeaWXRRsxe2b6jHmHDY2U2NzI9Uf7AoiVXxkPYh7q7TKVkjv5wwvIKSqaJCkRBr/11h
         LzhQwTfaz6taFwuZgdyUwKxxYxkVSpeuXh81H3qs3Kp/XcQnGkadKXAjWK2sNgSg+Dgk
         DuRzZwZLEgVzpAvmQQpdMljo6LP87cqiy1HfYp9m9jYlkEHxMhDsvKPElZ4p9iU2Iq97
         Rmux4t85/NkcINok2trplUAQQ0ocDT/gCPMbl5X1FSjXAhZqKmvt7hilNPsSafvPup+y
         Y46A==
X-Gm-Message-State: AOAM5303dd7Lu07d5fCcisoNSjGYSpaiX9cRmsgO8oZaolYUjtWzlQbO
	w4nZ989sQ7BES+ukvHxx2qPldg0dx+qLlw==
X-Google-Smtp-Source: ABdhPJxW8AgVGnOkEOu3yFTNFQXu+nE9gdCzlkl/I/89snuU5KEBNw0gTXoQmo5EqknHJH92g9rvFQ==
X-Received: by 2002:a7b:c745:: with SMTP id w5mr11110961wmk.96.1641560150514;
        Fri, 07 Jan 2022 04:55:50 -0800 (PST)
Sender: David Vrabel <d.vrabel.98@gmail.com>
From: David Vrabel <dvrabel@cantab.net>
X-Google-Original-From: David Vrabel <dvrabel@amazon.co.uk>
To: xen-devel@lists.xenproject.org
Cc: David Vrabel <dvrabel@amazon.co.uk>
Subject: [PATCH] x86/hvm: reserve another HVM context save record ID for Amazon
Date: Fri,  7 Jan 2022 12:55:42 +0000
Message-Id: <20220107125542.212725-1-dvrabel@amazon.co.uk>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Amazon's guest transparent live migration work needs another save
record (for event channel upcall vectors). Reserve another HVM context
save record ID for this.

Signed-off-by: David Vrabel <dvrabel@amazon.co.uk>
---
I've added it to the end, keeping the unused ID at 21.
---
 xen/include/public/arch-x86/hvm/save.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/public/arch-x86/hvm/save.h b/xen/include/public/arch-x86/hvm/save.h
index 773a380bc2..2de3dfd9bb 100644
--- a/xen/include/public/arch-x86/hvm/save.h
+++ b/xen/include/public/arch-x86/hvm/save.h
@@ -641,7 +641,7 @@ struct hvm_msr {
 
 #define CPU_MSR_CODE  20
 
-/* Range 22 - 34 (inclusive) reserved for Amazon */
+/* Range 22 - 35 (inclusive) reserved for Amazon */
 
 /*
  * Largest type-code in use
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Jan 07 13:03:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 13:03:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254436.436259 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5ou6-0007DL-RA; Fri, 07 Jan 2022 13:03:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254436.436259; Fri, 07 Jan 2022 13:03:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5ou6-0007DE-Nw; Fri, 07 Jan 2022 13:03:34 +0000
Received: by outflank-mailman (input) for mailman id 254436;
 Fri, 07 Jan 2022 13:03: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 1n5ou5-0007D4-Hz; Fri, 07 Jan 2022 13:03: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 1n5ou5-0000kZ-C0; Fri, 07 Jan 2022 13:03: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 1n5ou5-0002aD-35; Fri, 07 Jan 2022 13:03:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n5ou5-0002Wo-2d; Fri, 07 Jan 2022 13:03: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=LhTF65HyUI75DdaUZLT07IeucnspyrrlL62cMr68WDM=; b=oUDhn0ArLFnhIxyeo/PIlV6eNa
	f/3h8aC/J1bfn7LG4dRdOjYs6Ho9pbVy9/C/XfRCUpj3KMr1moIBGfV74UZaHNpJFMXATGXOhBSiz
	QV/TRC1omsZ8gQxbafXHdVrasHDMR5+BSy0iM4i/OR0e5tbE+4iW0wLYvjH7DoFFYmco=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167625-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 167625: 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-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=dfb5574df6ee086f10fc31a16d2bb569fdab19d7
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 07 Jan 2022 13:03:33 +0000

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

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-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

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

Last test of basis   151777  2020-07-10 04:19:19 Z  546 days
Failing since        151818  2020-07-11 04:18:52 Z  545 days  527 attempts
Testing same since   167625  2022-01-07 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>
  Ani Sinha <ani@anisinha.ca>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  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>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.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>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  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>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  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 Chevsky <nchevsky@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>
  Or Ozeri <oro@il.ibm.com>
  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>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott 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>
  Stefan Hajnoczi <stefanha@redhat.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>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Дамјан Георгиевски <gdamjan@gmail.com>

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


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Fri Jan 07 13:04:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 13:04:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254443.436269 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5ov2-0007la-5Y; Fri, 07 Jan 2022 13:04:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254443.436269; Fri, 07 Jan 2022 13:04:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5ov2-0007lT-2Y; Fri, 07 Jan 2022 13:04:32 +0000
Received: by outflank-mailman (input) for mailman id 254443;
 Fri, 07 Jan 2022 13:04:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wJVr=RX=cantab.net=dvrabel@srs-se1.protection.inumbo.net>)
 id 1n5ov0-0007jy-JS
 for xen-devel@lists.xenproject.org; Fri, 07 Jan 2022 13:04:30 +0000
Received: from smarthost01a.sbp.mail.zen.net.uk
 (smarthost01a.sbp.mail.zen.net.uk [212.23.1.1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 52e74e83-6fba-11ec-9ce5-af14b9085ebd;
 Fri, 07 Jan 2022 14:04:20 +0100 (CET)
Received: from [82.70.146.41] (helo=pear.davidvrabel.org.uk)
 by smarthost01a.sbp.mail.zen.net.uk with esmtps
 (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1)
 (envelope-from <dvrabel@cantab.net>) id 1n5ouo-0005wL-BT
 for xen-devel@lists.xenproject.org; Fri, 07 Jan 2022 13:04:18 +0000
Received: from apple.davidvrabel.org.uk ([82.70.146.43])
 by pear.davidvrabel.org.uk with esmtp (Exim 4.92)
 (envelope-from <dvrabel@cantab.net>)
 id 1n5ouf-0003kI-BL; Fri, 07 Jan 2022 13:04: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: 52e74e83-6fba-11ec-9ce5-af14b9085ebd
Message-ID: <96e1610b-96a2-b1d7-6c77-b6edaecac4d6@cantab.net>
Date: Fri, 7 Jan 2022 13:04:09 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: David Vrabel <dvrabel@amazon.co.uk>, xen-devel@lists.xenproject.org
References: <20220106155442.160258-1-dvrabel@amazon.co.uk>
 <a67bf5fe-ed29-0767-f8ff-eea4a07db1d6@suse.com>
From: David Vrabel <dvrabel@cantab.net>
In-Reply-To: <a67bf5fe-ed29-0767-f8ff-eea4a07db1d6@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-SA-Exim-Connect-IP: 82.70.146.43
X-SA-Exim-Mail-From: dvrabel@cantab.net
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on
	pear.davidvrabel.org.uk
X-Spam-Level: 
X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,SPF_NEUTRAL
	autolearn=no autolearn_force=no version=3.4.2
Subject: Re: [PATCH] x86/hvm: save/restore per-VCPU event channel upcall
 vector
X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000)
X-SA-Exim-Scanned: Yes (on pear.davidvrabel.org.uk)
X-Originating-smarthost01a-IP: [82.70.146.41]
Feedback-ID: 82.70.146.41

On 06/01/2022 16:48, Jan Beulich wrote:
> On 06.01.2022 16:54, David Vrabel wrote:
>> The Windows XENBUS driver sets the per-VCPU LAPIC vector for event
>> channel interrupts using the HVMOP_set_evtchn_upcall_vector hypercall
>> (rather than using a vector-type callback in the CALLBACK_IRQ HVM
>> parameter since the vectors might be different for different VCPUs).
>>
>> This state needs to be saved/restored or a restored guest may not be
>> able to get an event channel interrupts.
>>
>> Note that the Windows XENBUS driver workarounds this by reissuing the
>> hypercall when resuming after a migration, but this workaround would
>> not be possible in an guest transparent live migration or a live
>> update.
> 
> Why would this be needed only for this one form of "via"? And how do
> you guarantee no observable change in behavior for existing guests?
> It would seem to me that this information is something to be saved /
> restored _only_ during transparent migration, as aware guests may
> deliberately defer re-registration.

I was under the impression that the HVM parameters (including 
CALLBACK_IRQ) were saved/restored so the intent here was to save/restore 
all event channel delivery mechanism state consistently but it seems I 
was confused by some internal work that's not upstream yet.

So, I agree, this patch on it's own doesn't make sense.

I've sent a patch reserving another save record ID instead.

>> +static int hvm_load_evtchn_upcall_vector(
>> +    struct domain *d, hvm_domain_context_t *h)
>> +{
>> +    unsigned int vcpuid;
>> +    struct vcpu *v;
>> +    struct hvm_evtchn_upcall_vector upcall;
>> +
>> +    vcpuid = hvm_load_instance(h);
>> +    if ( (v = domain_vcpu(d, vcpuid)) == NULL )
>> +        return -EINVAL;
>> +
>> +    if ( hvm_load_entry(EVTCHN_UPCALL_VECTOR, h, &upcall) != 0 )
>> +        return -EINVAL;
>> +
>> +    hvm_set_evtchn_upcall_vector(v, upcall.vector);
>> +
>> +    return 0;
>> +}
> 
> Don't you need to also set callback_via_type accordingly?

The callback_via_type is ignored if a per-vcpu upcall vector is set.

You can use a mix of a CALLBACK_IRQ defined upcalls on some VCPUs, and a 
HVMOP_set_evtchn_upcall_vector defined one on others, so setting the 
per-domain type wouldn't work.

I'm not sure why you would do this, but the ABI (as implemented, if not 
intentionally) allows it...

David


From xen-devel-bounces@lists.xenproject.org Fri Jan 07 13:23:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 13:23:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254451.436281 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5pDV-0001nf-Sq; Fri, 07 Jan 2022 13:23:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254451.436281; Fri, 07 Jan 2022 13:23: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 1n5pDV-0001nY-OA; Fri, 07 Jan 2022 13:23:37 +0000
Received: by outflank-mailman (input) for mailman id 254451;
 Fri, 07 Jan 2022 13:23:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=X4Ee=RX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n5pDU-0001nS-4l
 for xen-devel@lists.xenproject.org; Fri, 07 Jan 2022 13:23:36 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 03bd35e3-6fbd-11ec-9ce5-af14b9085ebd;
 Fri, 07 Jan 2022 14:23:34 +0100 (CET)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2173.outbound.protection.outlook.com [104.47.17.173]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-38-8vW29QKuM8u2B6MI-FE9Yg-1; Fri, 07 Jan 2022 14:23:33 +0100
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.4844.15; Fri, 7 Jan
 2022 13:23:32 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.017; Fri, 7 Jan 2022
 13:23:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 03bd35e3-6fbd-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641561814;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=fe+K2huaZqxFN9B3DC+LKdeDIJEAzSAn/eqgIgVBUeg=;
	b=BDIZ3YfQWl+VaWFGDefYjc2N6rWpbdahJS7nog/RIdjEawpZDQcl39Ir0CXtOxYoB5L7HH
	a/fNG9f/PNHZxqSpCs4Dp/hKYLLzEcHy0HlApSQx9yr2UW+spibVesfo5qQO2WMoBnYUVK
	UhZBImeILYbe2qMQXX3udT7cTnC82YU=
X-MC-Unique: 8vW29QKuM8u2B6MI-FE9Yg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hqSJrkJTVApNVN4hgMGpAYfoEHYbNC1dxddXGxOARpuBJ4QIZfNybyTHq7KhNtXDjmy77H273w2V5sB42SqPUkZaSP/9d94USEXakmA4cRFFG7b1W3cTeYrszoz+geCazf1ah1Q5TrhmSXV4karfCSv2oirEm7SfTIwcrDZQsqF94gta4yII+TnpUcPcHeUU+LkhyzaVpH+KDR/FDl5+SHdgafkZF+DRMf2GM0ufNg+5bEpJO0CWYJxx/toVDN0LX2Yud2hJCbAhUu/uU4gcoZbDrVQlVT3uRvs7x36rbeqt9wTk5aWDcWwPhdZd0ZRnsg6HMOnvS+D1IITuYkXUWQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fe+K2huaZqxFN9B3DC+LKdeDIJEAzSAn/eqgIgVBUeg=;
 b=IyMK+XplUHMOwH1/rS5HztU4dIv3IZU/ACGuTV1lhrJ4HbcEL66qhxx/1OhZQAocnT3S92aK24cLABSC8M3lj4YaOKJ9vq0VKGKc+K/GgeQi7YeSugUTYqsJ7RVNbsWo73yYX2YJjHHAlWTFcrZtiQ6Qg+LPLZuOHW0DB3tep9n7fL+5RjibHfnoIJ5pYtnY9ycdInCITQtwUlz+p5d3SgCl69srkLbvVuIUwaZcuPGQnTKWlK4USd1B72sAqnQZb3OiB0RE0TZenyChlDloomwkXnSeD3lLfMTimy9taNQrMoMXV+WNWp5i6MyQBjIc1MfoMEjAUuhRZS3ihL1/zw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2f97f4d7-0e94-5bdd-546e-574b8b3db5ac@suse.com>
Date: Fri, 7 Jan 2022 14:23:29 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCHv2] x86/hvm: add more callback/upcall info to 'I' debug key
Content-Language: en-US
To: David Vrabel <dvrabel@cantab.net>
Cc: David Vrabel <dvrabel@amazon.co.uk>, xen-devel@lists.xenproject.org
References: <20220107125523.212649-1-dvrabel@amazon.co.uk>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220107125523.212649-1-dvrabel@amazon.co.uk>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5P194CA0017.EURP194.PROD.OUTLOOK.COM
 (2603:10a6:203:8f::27) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b057305e-4ac2-4e9f-fd20-08d9d1e0e667
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2608:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB260804633CBDD6EA16773CABB34D9@VI1PR0401MB2608.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:1060;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LfaAB9JGcZQrYyN3MoG1ldTFP19dmkYVbA8EhN0BzJvhR41zMD72QGwMv8GgF1CdS3uVwp3Poeq+uNcbK+5WzrdQDAL81IwQMwg5V0JJDWOEVGD1HWgOE2xdgCgV/aHHHwIh7FunA8XUrBg+EJd59GyHycfzKNQT8vBnEgT1pG7tAFzrbRz7UEKEf7arxjOxTAveiQKsDZ1iC1t90gAQXscsz/FUMhRI75Ha9YXS803U7CjSvN6aTXE7ll54XRwtDbSs03MVPd6CeW92lArEIN+Z3CMK+O5EWw1OQ4PN/C7uMhyUtoyALLRQMOZkqLge3iLx3ouFu3dN8QigTKh/vUSpfCnQ6ryCmuJbyCjva8gq7laW9KXD1+PFJ81DKVdVjqHgm0lO22BKWrUeOvLNK9xY6Oae/SElXhAV7Nln5h9eRRhWqkwzPkNCljRULiGc+VHgYLVxVnDBIldjvbq/JdWW9jtpdGFSiZJg96TQMvS7huXMmwtb0SNm7U6JSgTKBSqsa2H1Ur1AMjZuaO+R3HTemaS8sGlrz+9yuf84QdmXWNeIn4ogkhbKtA4/Pc53gRSrcbFtpopZa/zO1+ZgkI+4p6xnWsSk6c9tgoxpxgfKcEJxtWdyh1yQZFyPP2PAhwRznQrVmxxDRRfH4ffQG9hp3KzjoK7JBhapw4MX/uVBpkTyTPf/tmUDvOCeTNunIOB1k00Q+5QGCCaY5vgwIUN5xRCknGGIvc8DuXry5f8=
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)(36756003)(26005)(53546011)(8936002)(6916009)(5660300002)(86362001)(6666004)(6506007)(2616005)(4326008)(31686004)(558084003)(2906002)(66946007)(6512007)(6486002)(66476007)(316002)(38100700002)(66556008)(31696002)(508600001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZVYxL0h4ZFRIR3BGZElQNDNFM25LbFZENlhJZzVZREJMRncwakYwNlkrZTlG?=
 =?utf-8?B?ZVVwL3FtQnBQTS8zTUZuK2M5MDhUbmZFWFFSTU9NSGROay9rWEV4MW9qVEI2?=
 =?utf-8?B?bTI4cno4cGxldlhiYjBlSzMvTEFBTS9jS3NsQ0dPcENxRGZwUkYxcEtLK0Rw?=
 =?utf-8?B?ZVpoT0gvMnQyUk1ydHBFdDJhK2NJbzhEdG1WTGtIVG1JSXMvL2V2RjZsVzZP?=
 =?utf-8?B?Z0ZNM1QvVmY0ZitmNitsYStHNGplb1NoUUdTVHU3ZE5sL25FNGl4NTdZUFhv?=
 =?utf-8?B?eXdJZnlpa2lYcjh4WnBFbEZHRyt6SzB3Nkx4WXBIVSswOUlOOWNuYWFyLzh4?=
 =?utf-8?B?RC9CdndCSnhpd1NCOXRyWkFWUXlzMzNnbTRFelMrb3ladUpyQWY3TlBCNk13?=
 =?utf-8?B?dFdYTnMwTTlaV1UvU1gwaDA5d2MrZEorNnE5NitnTEJzVlBQekhzb1RZMGhS?=
 =?utf-8?B?b3BVTUpuc2NkZnVqK3IxaXpqSWFmQlc4TkNXYU9TTVpJaXkvcEthZ05EcWo0?=
 =?utf-8?B?RVQrL3ZIVG5vcXllVkdZZ0I4WHQveEpUcHlYdGxwcVUyaVRtbStPWERLUWNs?=
 =?utf-8?B?MGZLdnJPYWo5ekgycmF5a08yV25nN1lsNjBBVVJJQ1UvWnd5RWRKTlBrMDR1?=
 =?utf-8?B?ZEV0Mjl6dkl5TmltLzM5ZzNlUjN0VlRtS1F5dFptVVJWY1poWFFqcmJVYWhS?=
 =?utf-8?B?YlUwWXQ2L0pqajdQTTVOVDRRQmYyT2o3cG1HWFN3QmVxaFdjN21NTWU2NnE2?=
 =?utf-8?B?Ty9sVU5LRTFmbDl4dmFUYUxjMUt2NUNBdnkwYmlUSkJBN2ZoUDVKanRHclRv?=
 =?utf-8?B?ajA2L0xsbmJobHJxWHozdVFCc3E1cThaK2d2RDNiOGFQbHQ0dExLMDVvck5l?=
 =?utf-8?B?TmFON1FJeGFzUWdiYW9pb0JQa01LUGZTeFI4RkJHQWYxeVgwUGtVb3IzSllz?=
 =?utf-8?B?cXhUK28xcW1YSS9XRXkyNjgvODZNSjM5bUdmTVovUENGN1Q4ZWQ4YWYzeDhr?=
 =?utf-8?B?bVBHTUhueit4aXYxWmlpSEd4MEM5TUVoemIxWDlBOGNwVEFPZFZNQWlyNHpL?=
 =?utf-8?B?bmdONWFubTFPWS96eTBVOE16NVI3c2FNRUF3WEdNNk5sVVA1dWZlY3dhZ3JP?=
 =?utf-8?B?N0JFQzhNTW4xWSt5dUVlcU1oZ1h6YzRlQ0JaVWtxRWdhVjNSaVFaUWpqM2Yr?=
 =?utf-8?B?VDBUdW9LYTNtYlpramZCWGltU1NYMGhBWUloU3BxWVA0ekFLQmNnb3dZU1Vu?=
 =?utf-8?B?a3NCWWpvcEFtZFI1c05nY2ZJMkVqOG5JZzV1K1ZBRWd5a3NIbEpFZkVDcDlC?=
 =?utf-8?B?OHhBL05IUzRsc04vRnBpQUovOHdRZUZKdW8rclEwQTlKR1dZNjJpL3Flbll6?=
 =?utf-8?B?T1hlMjBmenppZ05XMDlNaXhGdFJxTDB2MXljY2o5WWpHYXRES2VvMEhUbUxW?=
 =?utf-8?B?WmUzWmxjSDd4ZG1LL1VzL1JTTmh3U3YvMm1KZloxc1o3cDNVVTBrc2NGbGh6?=
 =?utf-8?B?Z1dVM0dQVGlZeXVWVjZDR0hKZGRTOGVQRTNHdTkremdlS3NTOEtQTEVqc3BF?=
 =?utf-8?B?RENRTGdHZURydEZQUXBHSWM2NDVjS1h5YnEvL2JpTVhZN0lNYjBBOHhRdnRO?=
 =?utf-8?B?R2t5UGZiZmpabmhsaE12Tk80RitFWGNnSUgvSzlneWczQWVZQ2I5dXFpNko3?=
 =?utf-8?B?NGk1QUwwUjBjQjRtTHVhVkhReDk1akJYNERHdHF1dVJLTTUxN2w1RklZQmdY?=
 =?utf-8?B?a1J2cE1RRjZzWWxlMDJieEozdnFzbVVVTk1XdXhzT0FWQ0ZGdGhnMzl2ZXls?=
 =?utf-8?B?MFZrR2NXQUUzaDdXa01FSVZFTmI4eWtMWDE0MXNxNVZuSmVTSmtNYUtjdE8r?=
 =?utf-8?B?Y0FhUCsrUSt6ak9qWTRvRCs0T0RVLzYwTEFMZzNMQ2Y1Z0JiRkFWT0hvTmZz?=
 =?utf-8?B?VjdZNFpTOHc3bTc3WmZDcDBtcytnenRRb0hNR3FWVTVSSUNVVnpHcXdTL1R1?=
 =?utf-8?B?UHB6ejFnNmZQVDExbWI4TUlFYlprZEFDdkFOc3ZxK0taQ1pkSStXdlgrSS9E?=
 =?utf-8?B?aUpqWkVjZnVmWUM4YWt5Y0hhL09VRDFZT3R0YlRheUhYZGVza1pVYW40M0VF?=
 =?utf-8?B?L01HcTNoWG1BTDZKdW1xRTVBaE1yS3owcExxVGQ0dmhHWEJTemxreGI5MGRT?=
 =?utf-8?Q?rbMXkNFMwUacbMd33Od92xM=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b057305e-4ac2-4e9f-fd20-08d9d1e0e667
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jan 2022 13:23:32.0448
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: gIvZ1srAH3QbNunwv30FCjCaM2nc4SDU+VYzkSJNJO80IQ/uIyiHZOhk+Gpzmrqf272P9RIvkCYV1zEChiu/8A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2608

On 07.01.2022 13:55, David Vrabel wrote:
> Include the type of the callback via and the per-VCPU upcall vector.
> 
> Signed-off-by: David Vrabel <dvrabel@amazon.co.uk>

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



From xen-devel-bounces@lists.xenproject.org Fri Jan 07 13:45:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 13:45:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254456.436292 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5pYf-00049h-Md; Fri, 07 Jan 2022 13:45:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254456.436292; Fri, 07 Jan 2022 13:45:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5pYf-00049a-I8; Fri, 07 Jan 2022 13:45:29 +0000
Received: by outflank-mailman (input) for mailman id 254456;
 Fri, 07 Jan 2022 13:45:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=VgWa=RX=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n5pYe-00049U-GC
 for xen-devel@lists.xenproject.org; Fri, 07 Jan 2022 13:45:28 +0000
Received: from ppsw-43.csi.cam.ac.uk (ppsw-43.csi.cam.ac.uk [131.111.8.143])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1183bbca-6fc0-11ec-9ce5-af14b9085ebd;
 Fri, 07 Jan 2022 14:45:27 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:49928)
 by ppsw-43.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.139]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n5pYa-0000X9-mf (Exim 4.95) (return-path <amc96@srcf.net>);
 Fri, 07 Jan 2022 13:45:24 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id DDBAC1FA96;
 Fri,  7 Jan 2022 13:45:23 +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: 1183bbca-6fc0-11ec-9ce5-af14b9085ebd
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <a599bd4f-99a4-1e41-dee7-fb2d01609ad7@srcf.net>
Date: Fri, 7 Jan 2022 13:45:23 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Content-Language: en-GB
To: David Vrabel <dvrabel@cantab.net>, xen-devel@lists.xenproject.org
Cc: David Vrabel <dvrabel@amazon.co.uk>
References: <20220107125523.212649-1-dvrabel@amazon.co.uk>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: [PATCHv2] x86/hvm: add more callback/upcall info to 'I' debug key
In-Reply-To: <20220107125523.212649-1-dvrabel@amazon.co.uk>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 07/01/2022 12:55, David Vrabel wrote:
> @@ -630,9 +634,46 @@ static void irq_dump(struct domain *d)
>             hvm_irq->pci_link_assert_count[1],
>             hvm_irq->pci_link_assert_count[2],
>             hvm_irq->pci_link_assert_count[3]);
> -    printk("Callback via %i:%#"PRIx32",%s asserted\n",
> -           hvm_irq->callback_via_type, hvm_irq->callback_via.gsi, 
> -           hvm_irq->callback_via_asserted ? "" : " not");
> +
> +    printk("Per-VCPU upcall vector:\n");
> +    for_each_vcpu ( d, v )
> +    {
> +        if ( v->arch.hvm.evtchn_upcall_vector )
> +        {
> +            printk("  v%u: %u\n",
> +                   v->vcpu_id, v->arch.hvm.evtchn_upcall_vector);

Here, and...

> +            have_upcall_vector = true;
> +        }
> +    }
> +    if ( !have_upcall_vector )
> +        printk("  none\n");
> +
> +    via_asserted = hvm_irq->callback_via_asserted ? " (asserted)" : "";
> +    switch( hvm_irq->callback_via_type )
> +    {
> +    case HVMIRQ_callback_none:
> +        printk("Callback via none\n");
> +        break;
> +
> +    case HVMIRQ_callback_gsi:
> +        printk("Callback via GSI %u%s\n",
> +               hvm_irq->callback_via.gsi,
> +               via_asserted);
> +        break;
> +
> +    case HVMIRQ_callback_pci_intx:
> +        printk("Callback via PCI dev %u INTx %u%s\n",

PCI 00:%02x.0  ?

Also, how about INT%c with 'A' + intx as a parameter?

> +               hvm_irq->callback_via.pci.dev,
> +               hvm_irq->callback_via.pci.intx,
> +               via_asserted);
> +        break;
> +
> +    case HVMIRQ_callback_vector:
> +        printk("Callback via vector %u%s\n",
> +               hvm_irq->callback_via.vector,
> +               via_asserted);

... here, vectors ought to be 0x%02x.  Amongst other things, it makes
the priority class instantly readable.


I realise this is all a complete mess, but is via_asserted correct for
HVMIRQ_callback_vector?  It's mismatched between the two, and the best
metric that exists is "is pending in IRR".  Also, looking at struct
hvm_irq, all the callback information is in the wrong structure, because
it absolutely shouldn't be duplicated for each GSI.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Jan 07 13:51:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 13:51:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254462.436303 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5ped-0005Z8-BQ; Fri, 07 Jan 2022 13:51:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254462.436303; Fri, 07 Jan 2022 13:51:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5ped-0005Z1-7z; Fri, 07 Jan 2022 13:51:39 +0000
Received: by outflank-mailman (input) for mailman id 254462;
 Fri, 07 Jan 2022 13:51:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=VgWa=RX=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n5pec-0005Yr-H3
 for xen-devel@lists.xenproject.org; Fri, 07 Jan 2022 13:51:38 +0000
Received: from ppsw-43.csi.cam.ac.uk (ppsw-43.csi.cam.ac.uk [131.111.8.143])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 80041a54-6fc0-11ec-81c1-a30af7de8005;
 Fri, 07 Jan 2022 14:48:33 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:49930)
 by ppsw-43.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.139]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n5peX-0001l3-oU (Exim 4.95) (return-path <amc96@srcf.net>);
 Fri, 07 Jan 2022 13:51:33 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 48DA51FA57;
 Fri,  7 Jan 2022 13:51:33 +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: 80041a54-6fc0-11ec-81c1-a30af7de8005
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <f2a74651-4a10-0bda-85c5-dee0dafcc919@srcf.net>
Date: Fri, 7 Jan 2022 13:51:33 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Subject: Re: [PATCHv2] x86/hvm: add more callback/upcall info to 'I' debug key
Content-Language: en-GB
From: Andrew Cooper <amc96@srcf.net>
To: David Vrabel <dvrabel@cantab.net>, xen-devel@lists.xenproject.org
Cc: David Vrabel <dvrabel@amazon.co.uk>
References: <20220107125523.212649-1-dvrabel@amazon.co.uk>
 <a599bd4f-99a4-1e41-dee7-fb2d01609ad7@srcf.net>
In-Reply-To: <a599bd4f-99a4-1e41-dee7-fb2d01609ad7@srcf.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 07/01/2022 13:45, Andrew Cooper wrote:
> I realise this is all a complete mess, but is via_asserted correct for
> HVMIRQ_callback_vector?  It's mismatched between the two, and the best
> metric that exists is "is pending in IRR".

Urgh.  HVMIRQ_callback_vector is the one that is utterly broken, and
doesn't conform to the Local APIC spec, and must not end up in IRR.

We still need to figure out how to prevent a domain using
HVMIRQ_callback_vector when hardware APIC acceleration is in use, but
that's definitely getting off topic for this patch.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Jan 07 14:14:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 14:14:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254467.436314 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5q0m-00081l-6U; Fri, 07 Jan 2022 14:14:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254467.436314; Fri, 07 Jan 2022 14:14:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5q0m-00081e-3R; Fri, 07 Jan 2022 14:14:32 +0000
Received: by outflank-mailman (input) for mailman id 254467;
 Fri, 07 Jan 2022 14:14:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=X4Ee=RX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n5q0k-00081Y-HW
 for xen-devel@lists.xenproject.org; Fri, 07 Jan 2022 14:14:30 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b20cf91a-6fc3-11ec-81c1-a30af7de8005;
 Fri, 07 Jan 2022 15:11:24 +0100 (CET)
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur02lp2053.outbound.protection.outlook.com [104.47.4.53]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-10-hcXfqIb7O2-DuA9ScJXDMQ-1; Fri, 07 Jan 2022 15:14:27 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4349.eurprd04.prod.outlook.com (2603:10a6:803:40::27)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4844.15; Fri, 7 Jan
 2022 14:14:25 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.017; Fri, 7 Jan 2022
 14:14:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b20cf91a-6fc3-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641564867;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=i5WuuNgJhEFKyF6HTH6N7TYfyfm6w/0abFEOFDDCIjk=;
	b=S5v/D5wu6UG+FA90pakJCfnKR0G6oBsvZ9lY0nlN7JXy2Fri5kqSuEDBfaYHbiKvCDuHLq
	39Wcv0vdwrCU6p5zpQ/VY7S9S6leNHmCDYhY1Rt9/nmO6eN+MscIQ/L2OFJk8GcmO+6ot0
	FYdc56pja1ORZDI3Gg+jmt3XSqb2G18=
X-MC-Unique: hcXfqIb7O2-DuA9ScJXDMQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QnyPuEa2iV9TuC4OPsz0MNz4Gru6W+ruvOjKhZ7tyQQgTlSA5EKXIMZDeJUuM2OBsfS/pdzoSI3tpZWetwtTCEd+fE1JEecS/ZaEPWlXA5rhornIhSQIjc6aN+tVXyANv6oajttkHHy+OkbD55ybnVo444G8O3E/qke3ubVg8ibXR4PYkxpYX4iE53PxHbhG10n9WinXhEbl6U5T5MPz+wwTzVGZoguPKRFTtlljDzsyxJyyWZGYkgt8x3fhigaRC2Mdu6OSgj0rwzOdQ9tt3z5Qk6CaHK5DlcYpWHaDI0XzQN4rKOQ6pUKDLdERiGClSE1xIbMdjaqzToVJtGLuAA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=i5WuuNgJhEFKyF6HTH6N7TYfyfm6w/0abFEOFDDCIjk=;
 b=W2mrT4lGCOt39f5Fe3/dSvpwYkJa/wd4uJ8NWo4ObWley55XDOy5ODtDaASwHG94cvnrIbF9/vkMiVeWVINLiJolSL/yGMno0+oTwFLOzbpG1JydpMt+p582vntFz89psCEB5PkQKFhZ6mBGjjJqLk1uX/QDr5r/zPeWxANXB3cRGvSzeP33Uqsq5R/DdlzVEEq8dIaw6FHoAx5FDfc+0AUj+dAbEuWrzR7tuakiISZIpGyN7BVz+RN2TZcB1tTHuu9t0htw8f/K2gvELUJXxKH61w2zEXnQnYS8ObpDTvO0TjZnhqyW4y6TXbjOL0aLrvaJk0irA2NvfeWgvb8bwA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <33b0cd75-4ef1-3d46-2952-64cd4e15b4b3@suse.com>
Date: Fri, 7 Jan 2022 15:14:24 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH v4 01/11] xen: introduce internal CDF_xxx flags for domain
 creation
Content-Language: en-US
To: Penny Zheng <penny.zheng@arm.com>
Cc: Bertrand.Marquis@arm.com, Wei.Chen@arm.com,
 xen-devel@lists.xenproject.org, sstabellini@kernel.org, julien@xen.org
References: <20211220052123.969876-1-penny.zheng@arm.com>
 <20211220052123.969876-2-penny.zheng@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20211220052123.969876-2-penny.zheng@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR04CA0055.eurprd04.prod.outlook.com
 (2603:10a6:20b:f0::32) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8b9077a2-3989-49ec-fad1-08d9d1e802ab
X-MS-TrafficTypeDiagnostic: VI1PR04MB4349:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4349BCEA3B5155FD6BA139E3B34D9@VI1PR04MB4349.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:1728;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2xegTNkt+qK9pgf1ZvttB5BQ/2wnNdMIXIJoR3qN3iSaxk1tI6atXxfOOfoYo6R9fD9T6SsrXEaQLrSgY9DIvnY8/+JoSpeZYIEASz9ajuttIq8FxLNJSAyg3o97P/XIwDXg5zU1m/rOCPuaVw+KQsuHaFOxftaHaqJ8VMYShNDnyFt5q+U9q4yDqSbOTWZkKD4TWyS8VYnCZScqQj4YX3JYBDMPObrZjTo1g5LNLqQifkui15Hl83ZBzBhgtPT2LSbs3lmSGPiZuOQsWLieF0kyR5aymowS8kblKpCx09z7MbgIz50CuRKUrWcJONU6RPjnmPZ6sT00E0oukcrbCOdY9ufm6WdTfOOkmeEgE5AW/1r/SB52vUfwVZZ6R0elMxXnx5vRvHyrfW2YCEUp/wW2X0GpsoZ/LuqtjJ+5Y/dqhbmEXI0TGh8ho3GXbNGX3B0fUmmX3D9chagpy0q03FlDpjk56ydmGaxYNwU52FU9BfDegPSc/dHuDIMm2sJe+1Dt5qg+Om7BSmYFQQ1sWa5zpBqxYOQpAVGwnRUoPFJJkG2b5CaNN/0wC+2tmohr/szPAi153D8xG1s+jZhu91w0ILUTWG1Yh7PeBtR7iC4XRl0CNMJVgmVXiGdcGjgOLb1jG5l3/mt6nDdjXTXo8XRZ3hP1+4cFKeVCJWsM8DPBjOLeNVIyHJRaPDRwQCb2gdroJxZHGQGJffP4u/DmLrep7nhOh/eMSIR6PeER79+AM6ZN27pdOGuo0b0stMAgOCJ0l85wgbCwVRtftRILfQ==
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)(5660300002)(31696002)(66476007)(66556008)(66946007)(316002)(6512007)(4326008)(6486002)(38100700002)(26005)(53546011)(6506007)(186003)(2616005)(86362001)(36756003)(2906002)(8676002)(8936002)(6916009)(508600001)(31686004)(21314003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TXBxcTd5NTBxbHo4RitXYnY0d2VVU1A1SlJBTmlxTm1QbWRDTWgxWFF6QkJZ?=
 =?utf-8?B?dXB2R1ExRTFQVllIV2dTS2U5bUFxTnE2UGxZOVZadnhqc1d1QjNQRHRWZVJK?=
 =?utf-8?B?OU9vVDVWUFpBTFNpVFpkdlBTVGhZdHRrd1hhL1dHRkNUQU1TWVFoVDYwNmIz?=
 =?utf-8?B?MDBCb0Q4dkJxM2ZFR25CdTZTMnBvRkVibzdKci9lM2VacXRuWEhNR2Rhd3gx?=
 =?utf-8?B?aE1DVEtkTnFEUXRXZTBXdFE5cHRpcjhkYkRHa3M5cnRON01LSjVRWi9iOUlG?=
 =?utf-8?B?amRmdUV0MytlQVlCWThuUTV6MVY0Yk82YWJ2Rll5cGM1MjY3Z2crNUhvQ1ZE?=
 =?utf-8?B?aVgweVhQakdnT2IwSXBLSFlKNnNtaFZVU3QvUjhTb3NTN3ppbkVGN255N0FX?=
 =?utf-8?B?MnV0Y2FtaUd5R1dDM3RRYWpITU1MLzJhMnlHQlhsZHhLaE03VmY4cXNJYTlz?=
 =?utf-8?B?eVNNalRxeUhQQXE5cDhuRG02UUcyOFgydmhWQkR2cUFQa3dvQWdWMGs3WUJD?=
 =?utf-8?B?ZmdKSWY1UXBEbExJZldoTXFIakZNTUwzOVdZV3Rrd3dRZmJLeWJJY2Vnd0Ru?=
 =?utf-8?B?WjAwdTBJcElwZEkzdGgzOVR0OGlNcDhpRU1mV1VyL2hNY0l6NEw0NUhMbmtM?=
 =?utf-8?B?NS8yNEtEcUNYRTJsS1pRQ0hSb1pOWmVLYW1kWGtQM1NDV3MwUUorL0dnWXpo?=
 =?utf-8?B?RHJVQmEwaXRMQjRKU0pWMWh6cS9pcUlocFlyY0FyUUxGSm9TSHEycVIxSC9a?=
 =?utf-8?B?RGYyaVRaaElMSW51WDNhdHgxOFJxWVBkcmMrb0lGQW5zbTR4Qk9ZdGd5bktH?=
 =?utf-8?B?RkFWZktvUGo0U252dXNGNkVPWlZSdHhpN0FFaDNmOFYvdEI3TEgzRXFLTExh?=
 =?utf-8?B?cVFZa1Y2UW9TTmxiN2xEWHJJTlkzbnYyKzFhT0kyOTErbndRVmh5bG5LSXB5?=
 =?utf-8?B?NXV3Wmh4V1hzaDRQTkVtSnloeVRUWDMydnRKSU5wQ2ZoSEdqNVNGSVhrdFE2?=
 =?utf-8?B?bUVhNjFFTkNrd2NsZ05TekM5d0JCblBsbVM4SUtyTWdJSUwxZFYzTDVUSjV3?=
 =?utf-8?B?Tmtmb0tMbzRYYzBIS2F5c0RsSnV6T1hBVFRma1V5bXZjbThLSGlHdmxjNGxV?=
 =?utf-8?B?Sm9HWjhQTlVQMW9TZGl2dTgvbm5QTXIyVnlRSGZMaWRoNHNpOGQwcFU2KzY2?=
 =?utf-8?B?SStLa0tIQ1dOdHBDUkUvL3UvaUpOakZlbDc0Qyt0b3M4N1RNV1p4aUdOOE5o?=
 =?utf-8?B?QlVOY2xlb0NQRGk1TnRlUG1YNy80S0xERmFtaGZVVVE1NzNRTUdST1ZJRjJ3?=
 =?utf-8?B?elgraXMyUnFScUNtWkJWWkF1amc1N2x4WGhjMERpTkplaDFQREtPVmhFM3ds?=
 =?utf-8?B?VnNoRy9MQXRNZlRrM0x0M1U2VXJWVmZKY0ZnYlFLMnlKYU4xRmxkZGtiSDgx?=
 =?utf-8?B?VjRXc3ZQakhGRlRQWHBOQ1RPbjU3WnM2QURXTmY5MWc3R21LWXhwaXh4RFo5?=
 =?utf-8?B?cGgyU1RjbkEzZE1Ob2twWjdGWDBTWEp5RVlCV1l4RGM5QWFVNXNTc1piM3Vn?=
 =?utf-8?B?SHVTSkxHeVJjMlFJbkwvWUhTTXc4dHZ3VS91UmlKY1NUL3JiV2ljMDZieVlv?=
 =?utf-8?B?Z2F3WW1yUUFBbjdyL1lUemg0UjRpUnU4Vi9lNENVelNXOFJyUDJoMTZuODFm?=
 =?utf-8?B?Rk5YaVo2b2FkSXlrenN3algwTTBaclBRczFHaDF2YTkrYVNCeFVTazcyYXZ3?=
 =?utf-8?B?RTEyTFZ2SE12VEJvd0MrS1psV2d3WkUwS2pPby9PT3hKM09MUmRvMk9vSjZh?=
 =?utf-8?B?ZDhJY3pFVVVXYlo2aWR6VnBnRTdGTGFWZ1hVZHEvNXFqRXd1SHBoWWRtU0FD?=
 =?utf-8?B?THZldHhhVElhRVhScUo4dVdqVUhQUk5jNGVwQ2wvUmUyaE05M1V5UVFWdmFv?=
 =?utf-8?B?ZVQ0d3krNy9MSUhScmxHTjBCUXJhUnJBN3hOSHBVcnFJOHhWVUJLdy9oUmNz?=
 =?utf-8?B?bHdkN2NCOHF6TWkwTlNWcGNEK3RlYXVwTmExaGRzc3labzFTWXBhL0k1U1ll?=
 =?utf-8?B?TDR1MlYwMDY1aWdLRFZKMWtwT0x5VU9tVThrdkk2QTVRd2wrR0lmZW9nVVkz?=
 =?utf-8?B?QzJ5MkwxZk9mR09tUE1heUZnZzJYaDI1WnlEWURJNVBaSzJvSDgvYXdjaTdP?=
 =?utf-8?Q?sM7ttAAdFFFmrgPHeOj4F5Y=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8b9077a2-3989-49ec-fad1-08d9d1e802ab
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jan 2022 14:14:25.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: geFcLR4TFyDM9J05mGTto8qZH/bGWvEaWJCXkhF216bzWVMuMY0noCOXrT+tHtqv4fObkfZuc6kLd4Z+L3l9tA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4349

On 20.12.2021 06:21, Penny Zheng wrote:
> From: Stefano Stabellini <stefano.stabellini@xilinx.com>
> 
> We are passing an internal-only boolean flag at domain creation to
> specify whether we want the domain to be privileged (i.e. dom0) or
> not. Another flag will be introduced later in this series.
> 
> This commit extends original "boolean" to an "unsigned int" covering both
> the existing "is_priv" and our new "directmap", which will be introduced later.
> 
> To make visible the relationship, we name the respective constants CDF_xxx
> (with no XEN_DOMCTL_ prefix) to represent the difference with the public
> constants XEN_DOMCTL_CDF_xxx.
> 
> Allocate bit 0 as CDF_privileged: whether a domain is privileged or not.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>

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

> --- a/xen/common/domain.c
> +++ b/xen/common/domain.c
> @@ -552,7 +552,7 @@ static int sanitise_domain_config(struct xen_domctl_createdomain *config)
>  
>  struct domain *domain_create(domid_t domid,
>                               struct xen_domctl_createdomain *config,
> -                             bool is_priv)
> +                             const unsigned int flags)

We don't normally use const like this, so I'd suggest to drop it here
and ...

> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -665,7 +665,7 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config);
>   */
>  struct domain *domain_create(domid_t domid,
>                               struct xen_domctl_createdomain *config,
> -                             bool is_priv);
> +                             const unsigned int flags);

... here.

Jan



From xen-devel-bounces@lists.xenproject.org Fri Jan 07 14:22:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 14:22:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254472.436325 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5q8M-000141-W5; Fri, 07 Jan 2022 14:22:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254472.436325; Fri, 07 Jan 2022 14: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 1n5q8M-00013u-T5; Fri, 07 Jan 2022 14:22:22 +0000
Received: by outflank-mailman (input) for mailman id 254472;
 Fri, 07 Jan 2022 14:22:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=X4Ee=RX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n5q8L-00013o-OB
 for xen-devel@lists.xenproject.org; Fri, 07 Jan 2022 14:22:21 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 39386fab-6fc5-11ec-9ce5-af14b9085ebd;
 Fri, 07 Jan 2022 15:22:20 +0100 (CET)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2110.outbound.protection.outlook.com [104.47.17.110]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-32-1wbnhbRHNHaKQgZr5RdbGQ-1; Fri, 07 Jan 2022 15:22:18 +0100
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.4867.10; Fri, 7 Jan
 2022 14:22:17 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.017; Fri, 7 Jan 2022
 14:22: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: 39386fab-6fc5-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641565340;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=W0aR9RyLcm2HgSb0SEQ4dUaDAcdv7xx4z6fzykrqqvc=;
	b=DsOLROE7RsBOP/l/AOzzZbqP8eUmEgwELMeVR/qtFS/CjtrDo90407YWw9Ga7GUKxr1h6k
	IHOQMHDkILbGi9oysrFD/VBdXYppvJe/4agY1yrJBS8VDEZKyEJzZLvpDrr7zqE3qnX7Un
	9yPQWTNaili0mS0HZkqjTkVBz8YicfA=
X-MC-Unique: 1wbnhbRHNHaKQgZr5RdbGQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=W2mm27whvtyte3fzv642DmHH5vrHygsGu49L6jVT1uZAqmsiAmrwYmcylLYSFhl//4QsIeztiHkrv4BCqKW/0bWCYHpx8z1OvnCDR5RYCkiA9wHhG/q09/So7Hzgbkiqmfxo/GzG09GYcshZ1qN/QKH55s6XNT44NEJuo74VwgaOyIAHDX8elN21ntdBlNtzgPjtU8jDDqpu1ahwvkID+tL/hQ73iqSTjVj97yzGLWDndE45vQEdzTkkyQRjxZSqzTlxvYEhyf6AFg9vXYJN+Y4ETHLzrsTKK2bOUVnu2+xRa/GlG6w9qBTAoXFp5x49ETCCYr5SvWVkHohv9oTOHw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=W0aR9RyLcm2HgSb0SEQ4dUaDAcdv7xx4z6fzykrqqvc=;
 b=SSrvf76vTBE7+EZUJVjoHOp7hTOc05FbWZ8x+8m1PSoQqzJBvL1dh8nP62OyfMbgo8E42vVwXlzPimPfLBuTuzBNiCbDIUslP9uw875p4RpP64WerPD1vNl0yUFT9khajVa4hJG0DcXApS2wUl5hSD/+LCODccC8Q6gd665ucsWZt5068ivLzDuCa0doLE5gxhMrafSHyQb3cFczA8UHp+FxchJMtDGGXgOXLGzJi9sIyuo2ILU1T0Pr+hMgbTlZNhCOlE3Y4YxvYwDFB9ybVgmghEbFZ+9Hk4/+C1HG5Udsp9cVA3k2YLFzhHrg3Igw5Y2LkQKfvSuNI7i0WfrMxQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e13c5289-f32b-dea8-f9c2-a0a6a98413a4@suse.com>
Date: Fri, 7 Jan 2022 15:22:15 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH v4 02/11] xen: introduce CDF_directmap
Content-Language: en-US
To: Penny Zheng <penny.zheng@arm.com>
Cc: Bertrand.Marquis@arm.com, Wei.Chen@arm.com,
 xen-devel@lists.xenproject.org, sstabellini@kernel.org, julien@xen.org
References: <20211220052123.969876-1-penny.zheng@arm.com>
 <20211220052123.969876-3-penny.zheng@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20211220052123.969876-3-penny.zheng@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR10CA0078.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:209:8c::19) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8aa6d1e1-a7b9-4c2e-3a93-08d9d1e91bde
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3774:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB37740828F5D457425CA7BC78B34D9@VI1PR0402MB3774.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:
	xFgffru9hYNJxXxYNV7G2UkWhwZ9JJBEEh4iwrzcVy5XAysRoT28JXfyRCijslEc71UuQcN5oAuJoWTiflXO88bm8z9zPhDOctqV73stThOR3vSktLZzmmhuuiE+KhPxCjVn7D2LnZlzvoiMGuroI/VWUYT1iPO0PsKZllxceFI5IKtiLrWSwyBOboOLLJ4qIVwIO+dbXic3c3NJ3/NN/17Eyj9bz+0Ch/YPTi8r3QZWwXn9DKiPticU+otHMUNSL8Ux4RsJlkeIodf5O0J8u31lpp/AEMIGuyJUx65Lvd1PsOsHOAW54CLzd0bZ4zQF7nwlzuXF3Mt/i8itElJ4Avg3C+zqIG7PoRgRzZTBCFr2qxOBKbaQl9FcunXUJvEG+5CPdGBmMwHFXA8gc/cR/3hh/WYHZAYf3tXMXPi5JJJtJShVNtNiGnqP/LKcWP5N9QgQPofCEo9XbT05QDe1vIv97zkKg1W8zznibpxEg1bh8yUUNcpgNXyOTmusklMMCzUXEBDzNzz6o2jnmpM1FovIoCGEEkWefITHUI1kpw/PfymEhzWVRG0KsqUVuSG5S2kyQvCb9vR0c+WAbBFNi76ELyyDVklQEUVf8/IgEZ4t+wUs0FILpEPGdtFxouzzkT9j9XGZzRats3YCc1x1u39HLTJHlbtOw/Hur3X8AVxPcm7nfX+2NHFebfpl5+P9StKaCr3XP4sWyZVWNZoGx0Ig4m5Q/nWZdOvVNlMN0ZnNwsC0bq6mjCaKkBhEwhJ5
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)(38100700002)(4326008)(2906002)(31696002)(6512007)(508600001)(186003)(8936002)(26005)(53546011)(6916009)(6486002)(31686004)(66476007)(2616005)(66556008)(66946007)(5660300002)(36756003)(86362001)(8676002)(6506007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NVg0OHFsS01PWk5Wd2c4aHBFdHNDUjZQbUV4bEI3bnN2VGtUc0tvQ21SVHBP?=
 =?utf-8?B?alpIeXhEYy9VdWEvRitRQmN3WW1rVCtDNGRSWmpJNDVYYmpIcWRrOUVkOHNx?=
 =?utf-8?B?V21LM2tDd0lmYjVkUU5NSHhNNEJUSlEyS2NHdWIxNFR4ZGM1OXZoRFE5SW5h?=
 =?utf-8?B?czRZOHlYNkdSRkhwQzkyZXFFd0lJaTJoQi9WbDhGUFVFOWhSVGRhZ01oTHJ1?=
 =?utf-8?B?S2tFQ3FWTkFVd2V3UzR3b2RJR3MyZXZrZkZjUG9lV0NQdXdPN29ET2FZMkRo?=
 =?utf-8?B?M0w5K0NEU0JoRUhSVEljTkpYQVJvb2IrOHZRZVJvQlc2ZTNvQVJTbVNkaXY3?=
 =?utf-8?B?QWVHSm01Mmc5S2ZIckNLcFVnVHBaTmxqQmtaUDFsS0l0SXVCK3dZS01nNmdH?=
 =?utf-8?B?TnNWbzB6bUJpS1Y3d0toMGk0TFBZYy82UTMyUWQ2R1RLUVVTam9vbWRoL2tu?=
 =?utf-8?B?YVNwTGhkMG1oaVdHb3hkUDhmcXJMU2VuVC9COEZLaFFGK0VzdW1OaURET21Q?=
 =?utf-8?B?eFplRTB5ejVkYkFuOXF0a2RlVFVIZnFCOThnVkZUVGd5aWhuMm5tellMOU85?=
 =?utf-8?B?RllSaGtScXdBSWUwczF0RWc3aWFqREJHeEgxcXpPOXVVSDhaZnd6aGprRVRP?=
 =?utf-8?B?OEtVdnIvOFhSdFcrcndzWldpZmlraDI2djdiZW02dkwxK2xCbUExK3EwdzdV?=
 =?utf-8?B?cW54SVZWbytsa2NEa3dKODR1T0hCRzdlZU10WXA5aWdxcE9UQ1BKZWlhTnNh?=
 =?utf-8?B?YzIzMnNDc2JwaUJyMWhUR1hxZUJPM1M4bDNJU0IvQit4Q1JtMVFOdVdHOXht?=
 =?utf-8?B?QnpSRFd1WVJESzcrTVRobS9mazd5eXpJamJlQUFIdHg5MzZCem5UdlM4M29B?=
 =?utf-8?B?ZExoZ0hKYWRtQ0kxazJkNzdGT3ZKeHk3YXllR3BEZEMybm00M1hhSnp4L2Qv?=
 =?utf-8?B?amVJZlgrU0tVeUVrZ256MzU3Z0RlOUYrSXV4aS9SS0lmZ0k2L0xXdzZtY1E3?=
 =?utf-8?B?TGpDRkdId2lQTjlFUGdKSVMzOTBLWm1SaG5KN0FrQ3BsMStPNnJvK2NtUnVv?=
 =?utf-8?B?WVR6OEhFaUgwL0tsb0FzK2ZubFBRQlREenl5eFdyVk9yelVBbGNJQnkxNU5K?=
 =?utf-8?B?U3dxMy8ySkR2SytPMHc5dUFpWTBkNWszdEJqcTVxSW1HOWNRbFNoOWUwangy?=
 =?utf-8?B?VG44UW1jVUhPVVIxNVFwb1o0NVVCNGV4VTdWUVVXbmhaZDNLaWVaM0x5V1cx?=
 =?utf-8?B?SzhSSXZNaFJGRVcxWUFFOTc3ZittWXNYRXllQzZwK1BuSWFsL0p5NFJRSWgw?=
 =?utf-8?B?OEJYaXZkd2twNWVhUndGUnMxc3pVSUhiQ2ZPUGljTVVrTmE2bjVqVys2Tnkz?=
 =?utf-8?B?b3lqUlVLMit2KzZsbTA0NTJRc3B1NXhwR3lXSElGV2xmeHVYWEo0VXdnOVV1?=
 =?utf-8?B?QzJQKy9BK3ZPL2lqWERuZ1lBNmpFa0dBY284WExnOVZiM29rd05DSjNPTWhM?=
 =?utf-8?B?bmhCbnlDM1I3ZW1yeUFidzJ4aVc5VWpYelAwWFBMQmU5Z3A1RlpVUFY1ZTZ6?=
 =?utf-8?B?Njg0ME45bnFtMEw4eWhTU0s5SngrUmNrakFtS2c2cFFiOG5LN3hHRmt4SDMw?=
 =?utf-8?B?cGFFOW5UQ2Mrdko4bXI1WFdQMG9hSkNLUzRuaTdhd0JqUG1PR3RIZVIxY1Fj?=
 =?utf-8?B?L3JoVjhUQ3Z6NzQ2MlJxNk5ycUM0a01OQjJVZitRZnpFZmV5a20ycEhITkFk?=
 =?utf-8?B?eGtscG5XUG9FbUQ4RkN4bzQ2YWxpVmtWY0ZmaFRJNGRESGVLMmE1cDAwZ29P?=
 =?utf-8?B?VHkvSHQ0WURDOFJDWVpOMU9jNGViTUw0RmFuUVRsZmZBN1h6TEg3UmQzWE9x?=
 =?utf-8?B?MzZBY2RNVzZ5WnpiQ1h1YTFuME9zeU1sL1FPQkFkTlE2OGpuNHU2bmtyMDVx?=
 =?utf-8?B?ZjBkTVBqV1FaQ01JVmdxRmQ0VjdpcU43ZUphQWZyZWtkZ0xWaTU4bVk2eGVi?=
 =?utf-8?B?aWpsQURwUk9WWnJoNGVNV2VZOXFRd3VrTVIyUEdXemRuMDZJelRVb0szMjZJ?=
 =?utf-8?B?MjlRUlBKOTBydHpZRzA1VWRRVHNmVFdxNlFHNGhvN21MNDRzc2tFTU5RSVBk?=
 =?utf-8?B?MGdXN0Q5dnp6Q0lxVUZkTmtKVDZ2c2dzVWNtd0JaNC91dzFoUkpLVUtGeW82?=
 =?utf-8?Q?pR+LGJ7mTE9nInUHSHFcXlM=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8aa6d1e1-a7b9-4c2e-3a93-08d9d1e91bde
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jan 2022 14:22:17.6438
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: qaIUarcEUz5iiailK753J4TLv118v47+hTMa4j15GUDjVMlBMPp3GzVkXJy+Fg54Zd8oVtqf4GfJx2vffNb0MQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3774

On 20.12.2021 06:21, Penny Zheng wrote:
> From: Stefano Stabellini <stefano.stabellini@xilinx.com>
> 
> This commit introduces a new arm-specific flag CDF_directmap to specify
> that a domain should have its memory direct-map(guest physical address
> == physical address) at domain creation.
> 
> Also, add a directmap flag under struct arch_domain and use it to
> reimplement is_domain_direct_mapped.
> 
> For now, direct-map is only available when statically allocated memory is
> used for the domain, that is, "xen,static-mem" must be also defined in the
> domain configuration.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>

Non-Arm parts
Acked-by: Jan Beulich <jbeulich@suse.com>
However, ...

> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -3029,10 +3029,20 @@ void __init create_domUs(void)
>              .max_maptrack_frames = -1,
>              .grant_opts = XEN_DOMCTL_GRANT_version(opt_gnttab_max_version),
>          };
> +        unsigned int flags = 0U;

Nit: No real need for a U suffix here.

>          if ( !dt_device_is_compatible(node, "xen,domain") )
>              continue;
>  
> +        if ( dt_property_read_bool(node, "direct-map") )
> +        {
> +            if ( !IS_ENABLED(CONFIG_STATIC_MEMORY) )

Isn't this too lax a check? I didn't find any other check of this
property, so the use of static memory must be keyed to something
else. Hence it's not sufficient that static memory support is
enabled in the build.

> @@ -65,7 +67,8 @@ int map_vcpu_info(struct vcpu *v, unsigned long gfn, unsigned offset);
>  void unmap_vcpu_info(struct vcpu *v);
>  
>  int arch_domain_create(struct domain *d,
> -                       struct xen_domctl_createdomain *config);
> +                       struct xen_domctl_createdomain *config,
> +                       const unsigned int flags);

Same comment as for the earlier patch regarding the const here.

Jan



From xen-devel-bounces@lists.xenproject.org Fri Jan 07 15:21:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 15:21:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254478.436336 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5r3I-00073E-KL; Fri, 07 Jan 2022 15:21:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254478.436336; Fri, 07 Jan 2022 15: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 1n5r3I-000737-Gn; Fri, 07 Jan 2022 15:21:12 +0000
Received: by outflank-mailman (input) for mailman id 254478;
 Fri, 07 Jan 2022 15:21:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=AuXA=RX=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1n5r3H-000731-Fw
 for xen-devel@lists.xenproject.org; Fri, 07 Jan 2022 15:21:11 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6d10c61e-6fcd-11ec-9ce5-af14b9085ebd;
 Fri, 07 Jan 2022 16:21:05 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6d10c61e-6fcd-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1641568865;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=o36T0wcnM+HiJPViT2i5aKqbFL2oovc7zM+AbasLxi8=;
  b=LkRjKh9xzhMkxtCFQOXpIP35KIo/o0TMMuu06IIySpGmr4ji4eHe7OfK
   75fAlTWLRQRy1Y+EDPI5v22LkNIs+5h3ksM6HUkW1d8NsksHc97FGqH83
   VfZaRTcBfNGJ+DnRNmYGzHBPlBS6XqYDiwZdbJMEhVJbeTLHzQxOinb5T
   w=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: isXv0f1SLxNnKvekwcZag8JoK6zACcvcuafRtgpmuR4af5TfXCByHR1SNJjySI6xpYKIJGDm0H
 0rwvfd3ZQFtdrg4ZALg2PEDEURegTnEbbPtA/9M1Kcevp/YTYIBc+PVCGE2j5qosmfYWI20OiE
 tv4c00in8kG6Kmi/y9xANBJEbbyFxgOLQSg3wlcIq7rYE9vy7pZebmM+eVlHX9ADJ2/4Q3h3ps
 0ph8d1sWOA9SFwa/bhorD4ypSVeY4DeR+HBP145Lklh6T9tod0kcFHVFlTykzKayQH6jx1uGLb
 JOJLbhtZxa3iGxzCuU0PfQTy
X-SBRS: 5.1
X-MesageID: 61527020
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:BqWfh6rhOZyzlTNXJ2GMi/nXn1NeBmKMYhIvgKrLsJaIsI4StFCzt
 garIBmFPv+CamLzKNB+Ptu280wBvcLQytVkHAA6qi88H35Do5uZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlZT4vE2xbuKU5NTsY0idfic5Dndx4f5fs7Rh2NQw2IDmW1nlV
 e7a+KUzBnf0g1aYDUpMg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJ8DO+iL
 9sv+Znilo/vE7XBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XnRfTAKtao2zhojx/9
 DlCncOVUicuArTXorgMcitgUBt/Bq5Y5KCSdBBTseTLp6HHW37lwvEoB0AqJ4wIvO1wBAmi9
 9RBdmpLNErawbvrnvTrEYGAhex6RCXvFIoZpnFnyyCfFfs8SIrPa67L+cVZzHE7gcUm8fP2O
 ZNEM2U3NkyojxtnNlMWAowlheSRg3T9VixIsViEl7AU2j2GpOB2+Oe0a4eEEjCQfu1XkVyfv
 Xnu5HniD1cRM9n34SKM73aEluLJ2yThV+o6D6G1+Pdsh3WI2mUZBRkSVF265/+0liaWRNZ3O
 0ESvC00osAa9kamU938VB2Qu2Ofs1gXXN84O+8z7g2X27fXywmcD2kACDVGbbQOpMIwADAny
 FKNt9foHiB09q2YT2qH8bWZpi/0PjIaRVLufgddE1FDuYO65thu0FSfFb6PDZJZkPWqPCrQx
 AyTtxJilpQhtY0x1p6440zY1mfESofyciY54QDeX2SA5wx/ZZK4a4HA1WU3/cqsP67CEADf4
 SFsd9y2qblXUMrTzHDlrPAlQenB2hqTDNHLbbeD9bEF/i/lxXOsdJs4DNpWdBYwaZZsldMEj
 SbuVeJtCH17YCrCgUxfOdvZ5yEWIU7IToiNuhf8NIYmX3SJXFXblByCnGbJt4wXrGAikLskJ
 bCQetu2AHARBMxPlWTqHrtMjeFwl3Flmgs/oKwXKTz8jdJyg1bPFN843KamNLhlvMtoXi2Im
 zqgCyd640oGC7CvCsUm2YUSMUoLPRAG6WPe8KRqmhq4ClM+QgkJUqaJqZt4ItANt/kFx4/go
 yDmMmcFmQWXuJEyAVjTApyVQOi0BsgXQLNSFXFEAGtELFB/O9vyt/lGKMNsFVTlncQ6pcNJo
 zA+U53oKpxypv7voVzxtLHx895vcgqFnwWLM3b3aTQzZcc4FQfI5sXlbk3k8yxXVni7ss43o
 ruB0ALHQMVcG1Q+XZiOMP//nUmsuXU9mf5pWxeaKNdkZ0ixopNhLDb8j6FrLphUewnD3DaTy
 y2fHQwc+bvWu4Yw/dSQ3fKEoo6lHvFQBE1fG2WHv7+6OTODpjiowJNaUfbOdjfYDTum9KKnb
 ORT7vf9LPxYwwoa79siS+5mlPts6cHuqrlWyhVfME/KN1n7WKl9JnSm3NVUsvEfzLFupgbrC
 FmE/cNXOOvVNZq9QkIRPgcscs+KyeoQxmvJ9f0wLUj3uH138b6AXRkANhWAknUAfr58MYdjy
 uY9os8GrQe4j0NyYNqBiylV8UWKL2ABDPp75s1LXtezh1p50ExGbLzdFjTyscOGZNh7O0U3J
 iOZ2fjZjLNGy0ueK3c+GBAhBwaGaUjibPyS8GI/Gg==
IronPort-HdrOrdr: A9a23:HGAqLqxrjQoVw0FVIN3bKrPwKL1zdoMgy1knxilNoHtuA6ulfq
 GV7ZAmPHrP4wr5N0tNpTntAsa9qBDnlaKdg7N+AV7KZmCP0gaVxepZjLfK8nnNHDD/6/4Y9Y
 oISdkaNDQoNykYsS8t2njbL+od
X-IronPort-AV: E=Sophos;i="5.88,270,1635220800"; 
   d="scan'208";a="61527020"
Date: Fri, 7 Jan 2022 15:20:57 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Jason Andryuk <jandryuk@gmail.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, Juergen Gross
	<jgross@suse.com>, Paul Durrant <paul@xen.org>, Stefano Stabellini
	<stefano@stabellini.net>
Subject: Re: [PATCH] libxl/PCI: defer backend wait upon attaching to PV guest
Message-ID: <YdhaWaxFaC9rZTF5@perard>
References: <5114ae87-bc0e-3d58-e16e-6d9d2fee0801@suse.com>
 <CAKf6xpt6+ZkXK5uXyp15UyA1J2AhtZWipW04M1xD1Yx4nx3jOw@mail.gmail.com>
 <18a2487b-f754-d971-2e89-93e54b7b951b@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <18a2487b-f754-d971-2e89-93e54b7b951b@suse.com>

On Tue, Dec 14, 2021 at 02:52:43PM +0100, Jan Beulich wrote:
> On 14.12.2021 14:34, Jason Andryuk wrote:
> > On Tue, Dec 14, 2021 at 2:50 AM Jan Beulich <jbeulich@suse.com> wrote:
> >>
> >> Attempting to wait when the backend hasn't been created yet can't work:
> >> the function will complain "Backend ... does not exist". Move the
> >> waiting past the creation of the backend (and that of other related
> >> nodes), hoping that there are no other dependencies that would now be
> >> broken.
> >>
> >> Fixes: 0fdb48ffe7a1 ("libxl: Make sure devices added by pci-attach are reflected in the config")
> >> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> >> ---
> >> Just to make it explicit: I have no idea why the waiting is needed in
> >> the first place. It's been there from the very introduction of PCI
> >> passthrough support (commit b0a1af61678b). I therefore can't exclude
> >> that an even better fix would be to simply omit the 2nd hunk here.
> > 
> > The first time a device is attached, the backend does not exist, and
> > the wait is not needed.  However, when a second device is attached,
> > the backend does exist.  Since pciback goes through Reconfiguring and
> > Reconfigured, I believe the wait exists to let the frontend/backend
> > settle back to Connected before modifying the xenstore entries to add
> > the additional device.  I could be wrong, but that is my best answer
> > for why someone went to the trouble of adding a wait in the first
> > place.
> 
> If things are as you describe them, then the change here is wrong: The
> waiting gets moved from before the creation of the new device's nodes
> to immediately after. Yet then I also can't see how else I should
> address the issue at hand, so I'd have to defer to someone else; this
> may involve undoing / redoing some of what the commit referenced by
> the Fixes: tag did.
> 
> However, since all new nodes get added in a single transaction, I
> can't see why waiting for the completion of a prior reconfigure would
> be necessary: That'll either notice (and process) the new nodes, or
> it won't. If it does, the next reconfigure would simply be a no-op.

Well, the current code is checking that the backend is in a known state:
"Connected". Without this, the backend could be in any state like
"Closing" or other error, not just reconfiguring. We probably want to
keep checking that the backend can expect more devices.

Looking at Linux PCI PV backend implementation, I think linux reads
"num_devs", takes time to do configuration of new devs, then set "state"
to "reconfigured". So if libxl set's "num_devs" and "states" while
Linux takes time to config new devs, Linux will never check "num_devs"
again and ignore new added devices. So I guess it doesn't matter if we
wait before or after to read "state"=="connected".

There is no real documentation on this PV PCI passthrough, so it is hard
to tell what libxl can do. The pci backend xenstore path isn't even in
"xenstore-paths.pandoc".

But overall, maybe Jason's proposed change would be better, that is to
wait on the backend before adding a new device but only when there's
already a device which mean the backend would exist. (It would be better
to me as it doesn't change when the waiting is done.)

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Jan 07 15:27:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 15:27:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254483.436347 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5r9F-0007k6-8b; Fri, 07 Jan 2022 15:27:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254483.436347; Fri, 07 Jan 2022 15: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 1n5r9F-0007jz-5d; Fri, 07 Jan 2022 15:27:21 +0000
Received: by outflank-mailman (input) for mailman id 254483;
 Fri, 07 Jan 2022 15:27:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wJVr=RX=cantab.net=dvrabel@srs-se1.protection.inumbo.net>)
 id 1n5r9E-0007jt-DT
 for xen-devel@lists.xenproject.org; Fri, 07 Jan 2022 15:27:20 +0000
Received: from smarthost01a.sbp.mail.zen.net.uk
 (smarthost01a.sbp.mail.zen.net.uk [212.23.1.1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4cee5964-6fce-11ec-81c1-a30af7de8005;
 Fri, 07 Jan 2022 16:27:19 +0100 (CET)
Received: from [82.70.146.41] (helo=pear.davidvrabel.org.UK)
 by smarthost01a.sbp.mail.zen.net.uk with esmtps
 (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1)
 (envelope-from <dvrabel@cantab.net>)
 id 1n5r9C-0003UY-9F; Fri, 07 Jan 2022 15:27:18 +0000
Received: from apple.davidvrabel.org.uk ([82.70.146.43])
 by pear.davidvrabel.org.uk with esmtp (Exim 4.92)
 (envelope-from <dvrabel@cantab.net>)
 id 1n5r9B-0004B1-Ei; Fri, 07 Jan 2022 15:27:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4cee5964-6fce-11ec-81c1-a30af7de8005
Message-ID: <95a76d1e-dec4-528a-59fc-3d7183917bd0@cantab.net>
Date: Fri, 7 Jan 2022 15:27:18 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Content-Language: en-GB
To: Andrew Cooper <amc96@srcf.net>, xen-devel@lists.xenproject.org
Cc: David Vrabel <dvrabel@amazon.co.uk>
References: <20220107125523.212649-1-dvrabel@amazon.co.uk>
 <a599bd4f-99a4-1e41-dee7-fb2d01609ad7@srcf.net>
From: David Vrabel <dvrabel@cantab.net>
In-Reply-To: <a599bd4f-99a4-1e41-dee7-fb2d01609ad7@srcf.net>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-SA-Exim-Connect-IP: 82.70.146.43
X-SA-Exim-Mail-From: dvrabel@cantab.net
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on
	pear.davidvrabel.org.uk
X-Spam-Level: 
X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,SPF_NEUTRAL
	autolearn=no autolearn_force=no version=3.4.2
Subject: Re: [PATCHv2] x86/hvm: add more callback/upcall info to 'I' debug key
X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000)
X-SA-Exim-Scanned: Yes (on pear.davidvrabel.org.uk)
X-Originating-smarthost01a-IP: [82.70.146.41]
Feedback-ID: 82.70.146.41



On 07/01/2022 13:45, Andrew Cooper wrote:
>      printk("Callback via PCI dev %u INTx %u%s\n",
> 
> PCI 00:%02x.0  ?

Is this correct? If I remember right, the INTx lines are associated with 
a PCI device, with the function then reporting which line it uses.

So Xen neither knows (nor cares) what the function is, so it would be 
misleading to report it.

>> +               hvm_irq->callback_via.pci.dev,
>> +               hvm_irq->callback_via.pci.intx,
>> +               via_asserted);
>> +        break;
>> +
>> +    case HVMIRQ_callback_vector:
>> +        printk("Callback via vector %u%s\n",
>> +               hvm_irq->callback_via.vector,
>> +               via_asserted);
> 
> ... here, vectors ought to be 0x%02x.  Amongst other things, it makes
> the priority class instantly readable.
> 
> I realise this is all a complete mess, but is via_asserted correct for
> HVMIRQ_callback_vector?  It's mismatched between the two, and the best
> metric that exists is "is pending in IRR".  Also, looking at struct
> hvm_irq, all the callback information is in the wrong structure, because
> it absolutely shouldn't be duplicated for each GSI.

I'm not sure what changes to this patch you want here..

David


From xen-devel-bounces@lists.xenproject.org Fri Jan 07 16:37:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 16:37:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254488.436358 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5sFB-0006xb-I0; Fri, 07 Jan 2022 16:37:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254488.436358; Fri, 07 Jan 2022 16:37:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5sFB-0006xU-DO; Fri, 07 Jan 2022 16:37:33 +0000
Received: by outflank-mailman (input) for mailman id 254488;
 Fri, 07 Jan 2022 16:37:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=S+jj=RX=dingwall.me.uk=james@srs-se1.protection.inumbo.net>)
 id 1n5sF9-0006xM-Q2
 for xen-devel@lists.xenproject.org; Fri, 07 Jan 2022 16:37:31 +0000
Received: from smarthost01b.ixn.mail.zen.net.uk
 (smarthost01b.ixn.mail.zen.net.uk [212.23.1.21])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1998debd-6fd8-11ec-9ce5-af14b9085ebd;
 Fri, 07 Jan 2022 17:37:28 +0100 (CET)
Received: from [217.155.64.189] (helo=mail0.xen.dingwall.me.uk)
 by smarthost01b.ixn.mail.zen.net.uk with esmtpsa
 (TLS1.0:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1)
 (envelope-from <james@dingwall.me.uk>)
 id 1n5sF4-0002kg-8f; Fri, 07 Jan 2022 16:37:26 +0000
Received: from localhost (localhost [IPv6:::1])
 by mail0.xen.dingwall.me.uk (Postfix) with ESMTP id 7C17325A99A;
 Fri,  7 Jan 2022 16:37:25 +0000 (GMT)
Received: from mail0.xen.dingwall.me.uk ([127.0.0.1])
 by localhost (mail0.xen.dingwall.me.uk [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id Y7eTJkVi_Ckg; Fri,  7 Jan 2022 16:37:25 +0000 (GMT)
Received: from ghoul.dingwall.me.uk (ghoul.dingwall.me.uk [192.168.1.200])
 by dingwall.me.uk (Postfix) with ESMTP id 653CD25A997;
 Fri,  7 Jan 2022 16:37:25 +0000 (GMT)
Received: by ghoul.dingwall.me.uk (Postfix, from userid 1000)
 id 48084A80; Fri,  7 Jan 2022 16:37:25 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1998debd-6fd8-11ec-9ce5-af14b9085ebd
X-Virus-Scanned: Debian amavisd-new at dingwall.me.uk
Date: Fri, 7 Jan 2022 16:37:25 +0000
From: James Dingwall <james-xen@dingwall.me.uk>
To: Jan Beulich <jbeulich@suse.com>
Cc: James Dingwall <james-xen@dingwall.me.uk>, alexander.rossa@ncr.com,
	xen-devel@lists.xenproject.org
Subject: Re: xen 4.14.3 incorrect (~3x) cpu frequency reported
Message-ID: <20220107163725.GA2575646@dingwall.me.uk>
References: <20210721092958.GA2502468@dingwall.me.uk>
 <c9c6778d-9823-4b07-fb48-604acef1f3de@suse.com>
 <20210726123332.GA3844057@dingwall.me.uk>
 <06be7360-0235-3773-b833-3e0d65512092@suse.com>
 <20211105152501.GA485838@dingwall.me.uk>
 <20220106150809.GA856484@dingwall.me.uk>
 <78540c18-c54e-07e8-c099-d7bfd29bea91@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <78540c18-c54e-07e8-c099-d7bfd29bea91@suse.com>
X-Originating-smarthost01b-IP: [217.155.64.189]
Feedback-ID: 217.155.64.189


On Fri, Jan 07, 2022 at 12:39:04PM +0100, Jan Beulich wrote:
> On 06.01.2022 16:08, James Dingwall wrote:
> >>> On Wed, Jul 21, 2021 at 12:59:11PM +0200, Jan Beulich wrote:                                                                            
> >>>> On 21.07.2021 11:29, James Dingwall wrote:                                                                                             
> >>>>> We have a system which intermittently starts up and reports an incorrect cpu frequency:                                               
> > ...
> >>> I'm sorry to ask, but have you got around to actually doing that? Or
> >>> else is resolving this no longer of interest?
> > 
> > We have experienced an occurence of this issue on 4.14.3 with 'loglvl=all'
> > present on the xen command line.  I have attached the 'xl dmesg' output for
> > the fast MHz boot, the diff from the normal case is small so I've not added
> > that log separately:
> > 
> > --- normal-mhz/xl-dmesg.txt     2022-01-06 14:13:47.231465234 +0000
> > +++ funny-mhz/xl-dmesg.txt      2022-01-06 13:45:43.825148510 +0000
> > @@ -211,7 +211,7 @@
> >  (XEN)  cap enforcement granularity: 10ms
> >  (XEN) load tracking window length 1073741824 ns
> >  (XEN) Platform timer is 24.000MHz HPET
> > -(XEN) Detected 2294.639 MHz processor.
> > +(XEN) Detected 7623.412 MHz processor.
> >  (XEN) EFI memory map:
> >  (XEN)  0000000000000-0000000007fff type=3 attr=000000000000000f
> >  (XEN)  0000000008000-000000003cfff type=7 attr=000000000000000f
> 
> Below is a patch (suitably adjusted for 4.14.3) which I would hope can
> take care of the issue (assuming my vague guess on the reasons wasn't
> entirely off). It has some debugging code intentionally left in, and
> it's also not complete yet (other timer code needing similar
> adjustment). Given the improvements I've observed independent of your
> issue, I may not wait with submission until getting feedback from you,
> since - aiui - it may take some time for you to actually run into a
> case where the change would actually make an observable difference.

I'll get it added to our build and see what we find...

Thanks,
James

> 
> Jan
> 
> x86: improve TSC / CPU freq calibration accuracy
> 
> While the problem report was for extreme errors, even smaller ones would
> better be avoided: The calculated period to run calibration loops over
> can (and usually will) be shorter than the actual time elapsed between
> first and last platform timer and TSC reads. Adjust values returned from
> the init functions accordingly.
> 
> On a Skylake system I've tested this on accuracy (using HPET) went from
> detecting in some cases more than 220kHz too high a value to about
> 1kHz. On other systems the original error range was much smaller, with
> less (in some cases only very little) improvement.
> 
> Reported-by: James Dingwall <james-xen@dingwall.me.uk>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> TBD: Do we think we need to guard against the bizarre case of
>      "target + count" overflowing (i.e. wrapping)?
> TBD: Accuracy could be slightly further improved by using a (to be
>      introduced) rounding variant of muldiv64().
> TBD: I'm not entirely sure how useful the conditionals are - there
>      shouldn't be any inaccuracies from the division when count equals
>      target (upon entry to the conditionals), as then the divisor is
>      what the original value was just multiplied by.
> 
> --- a/xen/arch/x86/time.c
> +++ b/xen/arch/x86/time.c
> @@ -378,8 +378,9 @@ static u64 read_hpet_count(void)
>  
>  static int64_t __init init_hpet(struct platform_timesource *pts)
>  {
> -    uint64_t hpet_rate, start;
> +    uint64_t hpet_rate, start, expired;
>      uint32_t count, target;
> +unsigned int i;//temp
>  
>      if ( hpet_address && strcmp(opt_clocksource, pts->id) &&
>           cpuidle_using_deep_cstate() )
> @@ -415,16 +416,35 @@ static int64_t __init init_hpet(struct p
>  
>      pts->frequency = hpet_rate;
>  
> +for(i = 0; i < 16; ++i) {//temp
>      count = hpet_read32(HPET_COUNTER);
>      start = rdtsc_ordered();
>      target = count + CALIBRATE_VALUE(hpet_rate);
>      if ( target < count )
>          while ( hpet_read32(HPET_COUNTER) >= count )
>              continue;
> -    while ( hpet_read32(HPET_COUNTER) < target )
> +    while ( (count = hpet_read32(HPET_COUNTER)) < target )
>          continue;
>  
> -    return (rdtsc_ordered() - start) * CALIBRATE_FRAC;
> +    expired = rdtsc_ordered() - start;
> +
> +    if ( likely(count > target) )
> +    {
> +        /*
> +         * A (perhaps significant) delay before the last HPET read above (e.g.
> +         * due to a SMI or NMI) can lead to (perhaps severe) inaccuracy if not
> +         * accounting for the time expired past the originally calculated end
> +         * of the calibration period.
> +         */
> +printk("%lu -> ", expired * CALIBRATE_FRAC);//temp
> +        count -= target;
> +        target = CALIBRATE_VALUE(hpet_rate);
> +        expired = muldiv64(expired, target, target + count);
> +printk("%lu (%3u,%u)\n", expired * CALIBRATE_FRAC, count, target);//temp
> +    }
> +}
> +
> +    return expired * CALIBRATE_FRAC;
>  }
>  
>  static void resume_hpet(struct platform_timesource *pts)
> 

-- 
------------------------------------------------------------------------
James Dingwall
e: james@dingwall.me.uk
w: http://www.dingwall.me.uk/
------------------------------------------------------------------------


From xen-devel-bounces@lists.xenproject.org Fri Jan 07 17:14:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 17:14:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254493.436369 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5sp9-0002pi-Bg; Fri, 07 Jan 2022 17:14:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254493.436369; Fri, 07 Jan 2022 17:14:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5sp9-0002pb-8b; Fri, 07 Jan 2022 17:14:43 +0000
Received: by outflank-mailman (input) for mailman id 254493;
 Fri, 07 Jan 2022 17:14:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DHRd=RX=gmail.com=firemeteor.guo@srs-se1.protection.inumbo.net>)
 id 1n5sp7-0002pD-Ia
 for xen-devel@lists.xenproject.org; Fri, 07 Jan 2022 17:14:41 +0000
Received: from mail-il1-f179.google.com (mail-il1-f179.google.com
 [209.85.166.179]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4b848184-6fdd-11ec-81c1-a30af7de8005;
 Fri, 07 Jan 2022 18:14:39 +0100 (CET)
Received: by mail-il1-f179.google.com with SMTP id m4so5142525ilf.0
 for <xen-devel@lists.xenproject.org>; Fri, 07 Jan 2022 09:14:39 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4b848184-6fdd-11ec-81c1-a30af7de8005
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc:content-transfer-encoding;
        bh=BxvLpEvumeq7N81DVwFgSL9ID6LbwkYK+hL/nppM7TI=;
        b=3d6PhRZeDWCPKqnR3E6hX2MVj7SsZOY2jmWq3YKso2yGqYJoE6IZVyoNWWGDCYrjoT
         a0rCKaLEQdfyKlKC0u/r8PyoF9dFD+qUKVD0zJEAqCWjSYfQJowovKSuzcyTyCucln9O
         dGQbMsaC12Vy9pya3XMgLIJIlWlkpLc9IuXHM0C0Smu5huxCkrgKUwOV6jKr52U3la1l
         Da45aXzM4eH/Ew7LOPV0YFd3XiBPT53mmcgi8BdTpfg1EicDGnPzxS69LFBGWeD9kEvQ
         3nXbAFGB/BfIEN372fkGpogfcPqQeyrx8RPyPgCOkOrsGrzJFPfVUfgEvoO/yK8HO6QD
         jpYw==
X-Gm-Message-State: AOAM533cVtNbMuqyNS8PIOeDF6BjSBvP5+ExM6kYT2a/sKaS4xgVlSuj
	dGkdQx1inVpyPhVIxMpwtdtbFCrN8ut1xBoIOWp0V+yR7POwSQ==
X-Google-Smtp-Source: ABdhPJy04ryzrHMwkvBAHG4I+xq8jxpk9AjK3MD0yIU4MJqMNQPxluAA92iNgG144aWuqSbnWu1wHa8gaIe1Rftf7R4=
X-Received: by 2002:a92:c10e:: with SMTP id p14mr30000694ile.24.1641575678128;
 Fri, 07 Jan 2022 09:14:38 -0800 (PST)
MIME-Version: 1.0
References: <CAKhsbWY5=vENgwgq3NV44KSZQgpOPY=33CMSZo=jweAcRDjBwg@mail.gmail.com>
 <YcwdJn/Y0yncuJ/e@Air-de-Roger> <CAKhsbWaKvMtN0v57kRuwSGnTECb8JnabhgXeO1VTyLiJa4yngg@mail.gmail.com>
 <Ycw4Jna5J2iQJyeM@Air-de-Roger> <Ycyx65BDakqWmEe+@Air-de-Roger>
 <CAKhsbWYU5_DGbGK2i_uhooXk4EzCLLO4SJGjDsvAkf2udQGsbg@mail.gmail.com>
 <Yc3/ytwCHFtR1BLi@Air-de-Roger> <CAKhsbWbRinNavBq4NnQ64nVrfWoOQWV0mM3Foao4VBYUWjoSnQ@mail.gmail.com>
 <YdQgf2+E467kuTxK@Air-de-Roger> <CAKhsbWbrvF6M-SAocACO5NvBaitUQ9mB5Qx+fMGtn_yVu0ZvEA@mail.gmail.com>
 <YdWsPWqALWBRGtqW@Air-de-Roger>
In-Reply-To: <YdWsPWqALWBRGtqW@Air-de-Roger>
From: "G.R." <firemeteor@users.sourceforge.net>
Date: Sat, 8 Jan 2022 01:14:26 +0800
Message-ID: <CAKhsbWbvjEcA220TTHGB3PPbfLmdS_MuK5Mn3Xvrr+JL=dHK7w@mail.gmail.com>
Subject: Re: Possible bug? DOM-U network stopped working after fatal error
 reported in DOM0
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Jan 5, 2022 at 10:33 PM Roger Pau Monn=C3=A9 <roger.pau@citrix.com>=
 wrote:
>
> On Wed, Jan 05, 2022 at 12:05:39AM +0800, G.R. wrote:
> > > > > > But seems like this patch is not stable enough yet and has its =
own
> > > > > > issue -- memory is not properly released?
> > > > >
> > > > > I know. I've been working on improving it this morning and I'm
> > > > > attaching an updated version below.
> > > > >
> > > > Good news.
> > > > With this  new patch, the NAS domU can serve iSCSI disk without OOM
> > > > panic, at least for a little while.
> > > > I'm going to keep it up and running for a while to see if it's stab=
le over time.
> > >
> > > Thanks again for all the testing. Do you see any difference
> > > performance wise?
> > I'm still on a *debug* kernel build to capture any potential panic --
> > none so far -- no performance testing yet.
> > Since I'm a home user with a relatively lightweight workload, so far I
> > didn't observe any difference in daily usage.
> >
> > I did some quick iperf3 testing just now.
>
> Thanks for doing this.
>
> > 1. between nas domU <=3D> Linux dom0 running on an old i7-3770 based bo=
x.
> > The peak is roughly 12 Gbits/s when domU is the server.
> > But I do see regression down to ~8.5 Gbits/s when I repeat the test in
> > a short burst.
> > The regression can recover when I leave the system idle for a while.
> >
> > When dom0 is the iperf3 server, the transfer rate is much lower, down
> > all the way to 1.x Gbits/s.
> > Sometimes, I can see the following kernel log repeats during the
> > testing, likely contributing to the slowdown.
> >              interrupt storm detected on "irq2328:"; throttling interru=
pt source
>
> I assume the message is in the domU, not the dom0?
Yes, in the TrueNAS domU.
BTW, I rebooted back to the stock kernel and the message is no longer obser=
ved.

With the stock kernel, the transfer rate from dom0 to nas domU can be
as high as 30Gbps.
The variation is still observed, sometimes down to ~19Gbps. There is
no retransmission in this direction.

For the reverse direction, the observed low transfer rate still exists.
It's still within the range of 1.x Gbps, but should still be better
than the previous test.
The huge number of re-transmission is still observed.
The same behavior can be observed on a stock FreeBSD 12.2 image, so
this is not specific to TrueNAS.

According to the packet capture, the re-transmission appears to be
caused by packet reorder.
Here is one example incident:
1. dom0 sees a sequence jump in the incoming stream and begins to send out =
SACKs
2. When SACK shows up at domU, it begins to re-transmit lost frames
   (the re-transmit looks weird since it show up as a mixed stream of
1448 bytes and 12 bytes packets, instead of always 1448 bytes)
3. Suddenly the packets that are believed to have lost show up, dom0
accept them as if they are re-transmission
4. The actual re-transmission finally shows up in dom0...
Should we expect packet reorder on a direct virtual link? Sounds fishy to m=
e.
Any chance we can get this re-transmission fixed?

So looks like at least the imbalance between two directions are not
related to your patch.
Likely the debug build is a bigger contributor to the perf difference
in both directions.

I also tried your patch on a release build, and didn't observe any
major difference in iperf3 numbers.
Roughly match the 30Gbps and 1.xGbps number on the stock release kernel.

>
> > Another thing that looks alarming is the retransmission is high:
> > [ ID] Interval           Transfer     Bitrate         Retr  Cwnd
> > [  5]   0.00-1.00   sec   212 MBytes  1.78 Gbits/sec  110    231 KBytes
> > [  5]   1.00-2.00   sec   230 MBytes  1.92 Gbits/sec    1    439 KBytes
> > [  5]   2.00-3.00   sec   228 MBytes  1.92 Gbits/sec    3    335 KBytes
> > [  5]   3.00-4.00   sec   204 MBytes  1.71 Gbits/sec    1    486 KBytes
> > [  5]   4.00-5.00   sec   201 MBytes  1.69 Gbits/sec  812    258 KBytes
> > [  5]   5.00-6.00   sec   179 MBytes  1.51 Gbits/sec    1    372 KBytes
> > [  5]   6.00-7.00   sec  50.5 MBytes   423 Mbits/sec    2    154 KBytes
> > [  5]   7.00-8.00   sec   194 MBytes  1.63 Gbits/sec  339    172 KBytes
> > [  5]   8.00-9.00   sec   156 MBytes  1.30 Gbits/sec  854    215 KBytes
> > [  5]   9.00-10.00  sec   143 MBytes  1.20 Gbits/sec  997   93.8 KBytes
> > - - - - - - - - - - - - - - - - - - - - - - - - -
> > [ ID] Interval           Transfer     Bitrate         Retr
> > [  5]   0.00-10.00  sec  1.76 GBytes  1.51 Gbits/sec  3120             =
sender
> > [  5]   0.00-10.45  sec  1.76 GBytes  1.44 Gbits/sec                  r=
eceiver
>
> Do you see the same when running the same tests on a debug kernel
> without my patch applied? (ie: a kernel build yourself from the same
> baseline but just without my patch applied)
>
> I'm mostly interested in knowing whether the patch itself causes any
> regressions from the current state (which might not be great already).
>
> >
> > 2. between a remote box <=3D> nas domU, through a 1Gbps ethernet cable.
> > Roughly saturate the link when domU is the server, without obvious perf=
 drop
> > When domU running as a client, the achieved BW is ~30Mbps lower than th=
e peak.
> > Retransmission sometimes also shows up in this scenario, more
> > seriously when domU is the client.
> >
> > I cannot test with the stock kernel nor with your patch in release
> > mode immediately.
> >
> > But according to the observed imbalance between inbounding and
> > outgoing path, non-trivial penalty applies I guess?
>
> We should get a baseline using the same sources without my path
> applied.
>
> Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Jan 07 17:24:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 17:24:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254509.436420 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5syV-0004nB-NZ; Fri, 07 Jan 2022 17:24:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254509.436420; Fri, 07 Jan 2022 17: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 1n5syV-0004n4-Jn; Fri, 07 Jan 2022 17:24:23 +0000
Received: by outflank-mailman (input) for mailman id 254509;
 Fri, 07 Jan 2022 17:24: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 1n5syU-0004mq-3I; Fri, 07 Jan 2022 17:24: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 1n5syU-0005oY-0x; Fri, 07 Jan 2022 17:24:22 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n5syT-0001CH-NT; Fri, 07 Jan 2022 17:24:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n5syT-00025z-N1; Fri, 07 Jan 2022 17:24: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=pzHJl3LWm1I53H/5Rl8Olunr3EaA/BKwdPb9pv9DP/E=; b=viBqspw3TJCdShIpPWGXjMFE5m
	xSVta7HmpNRwk8f8S3PVzsEUsTJreNiLekzPITU1owmUQg2H6bgBbYua4VcPCG+9GQbxokbX+RNLl
	uQG+YvVpA+uw/Ckt05BmVSydVk5gUL6860ybXFXoanX3s7Xi8zN6+E6OakECSVLO3BbA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167628-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.15-testing test] 167628: tolerable FAIL - PUSHED
X-Osstest-Failures:
    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-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-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:migrate-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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-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-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-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-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-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-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-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-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-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-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-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-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=a763f8f158e81158bdf2470dbc3d98353f2322e2
X-Osstest-Versions-That:
    xen=aba22c67efe4404a2a84e378bfd98def5ec8e647
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 07 Jan 2022 17:24:21 +0000

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

Failures :-/ but no regressions.

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

Last test of basis   167416  2021-12-14 21:09:04 Z   23 days
Testing same since   167628  2022-01-07 07:36:33 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Ian Jackson <iwj@xenproject.org>
  Jan Beulich <jbeulich@suse.com>
  Paul Durrant <paul@xen.org>
  Roger Pau Monné <roger.pau@citrix.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   aba22c67ef..a763f8f158  a763f8f158e81158bdf2470dbc3d98353f2322e2 -> stable-4.15


From xen-devel-bounces@lists.xenproject.org Fri Jan 07 21:37:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 07 Jan 2022 21:37:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254553.436485 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5wuJ-00052F-F9; Fri, 07 Jan 2022 21:36:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254553.436485; Fri, 07 Jan 2022 21:36:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5wuJ-000528-Bx; Fri, 07 Jan 2022 21:36:19 +0000
Received: by outflank-mailman (input) for mailman id 254553;
 Fri, 07 Jan 2022 21:36: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 1n5wuI-00051y-Vm; Fri, 07 Jan 2022 21:36: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 1n5wuI-000217-TW; Fri, 07 Jan 2022 21:36: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 1n5wuI-0006kR-IW; Fri, 07 Jan 2022 21:36:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n5wuI-0004yJ-I5; Fri, 07 Jan 2022 21:36:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=WeqgX3jyFjY4eGv8kCORNgEDBYdkhSvWBVfzqwBSo5g=; b=VfqgSZsFacd/xEvr17/cAeaBf5
	wKcL7bBdwaBYwf3Db+uDV470sZgBaAYmilQkmwu/vS4eTPyt0CZdfL2TKJ39q4fH3g5Y9GGbaB7AF
	UspRMl+3LI7B4db4g+G1aOTkKzBCeEosyatywm0F80GMA3PwKnfmeca0+6yHN55i6goU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167629-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.14-testing test] 167629: tolerable FAIL - PUSHED
X-Osstest-Failures:
    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:windows-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-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-armhf-armhf-libvirt-qcow2:saverestore-support-check: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-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-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-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-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-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-thunderx:saverestore-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-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-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-amd64-libvirt-vhd: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-credit2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-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-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl: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-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:migrate-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=45299b3cc83d3d19c24d74f7e28dcc83e8fa0c2e
X-Osstest-Versions-That:
    xen=cbadf67bcab4e29c883410db393f4f5ef34df04a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 07 Jan 2022 21:36:18 +0000

flight 167629 xen-4.14-testing real [real]
flight 167632 xen-4.14-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/167629/
http://logs.test-lab.xenproject.org/osstest/logs/167632/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 167632-retest
 test-amd64-i386-xl-qemuu-win7-amd64 12 windows-install fail pass in 167632-retest

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

version targeted for testing:
 xen                  45299b3cc83d3d19c24d74f7e28dcc83e8fa0c2e
baseline version:
 xen                  cbadf67bcab4e29c883410db393f4f5ef34df04a

Last test of basis   167415  2021-12-14 21:09:04 Z   24 days
Testing same since   167629  2022-01-07 08:11:06 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Ian Jackson <iwj@xenproject.org>
  Jan Beulich <jbeulich@suse.com>
  Paul Durrant <paul@xen.org>
  Roger Pau Monné <roger.pau@citrix.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   cbadf67bca..45299b3cc8  45299b3cc83d3d19c24d74f7e28dcc83e8fa0c2e -> stable-4.14


From xen-devel-bounces@lists.xenproject.org Sat Jan 08 00:49:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Jan 2022 00:49:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254709.436496 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5zuw-0006ZQ-9k; Sat, 08 Jan 2022 00:49:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254709.436496; Sat, 08 Jan 2022 00: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 1n5zuw-0006ZJ-6G; Sat, 08 Jan 2022 00:49:10 +0000
Received: by outflank-mailman (input) for mailman id 254709;
 Sat, 08 Jan 2022 00:49:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CE0l=RY=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n5zuu-0006ZD-QO
 for xen-devel@lists.xenproject.org; Sat, 08 Jan 2022 00:49:08 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c74e7795-701c-11ec-9ce5-af14b9085ebd;
 Sat, 08 Jan 2022 01:49:05 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 4947262035;
 Sat,  8 Jan 2022 00:49:04 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 76011C36AEB;
 Sat,  8 Jan 2022 00:49: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: c74e7795-701c-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1641602943;
	bh=0nfcP9rd1+zo3Qm1EBIRLkwJFG/pMOtOzXskbseM/IQ=;
	h=Date:From:To:cc:Subject:From;
	b=Uxh6yvKmwvdKAeT/a0LyLFlZpHWgpQG6x+t1L54AcxiToXCzaBg4RRahHqqfX6DXj
	 zKtEvVXlth1YJZkYz/n4YpS/qpZBYGp3ILiV6SuZi46KHcFAVMQgW9bwz82UpQyUV7
	 0mTpU/ESUeA/VqbDXFEZlcPbiVzQ+E+l5Qg4l9ZRW3tcKNSrF7RpA/r5pzhKEFKpk/
	 G3cuWKe8ugZDqOxC0O/53gF7FIpxO8j+2VNwM4SzsK+6Uw8VopsOje6Jxrrt2h5fVj
	 E32vaw1EhKPp5w8hShE/RgpT1J6S7t1ANEIP+gdoFX2dAmpkKJWb5VVTPg5uA98a6m
	 +4+RvA7M+61Lw==
Date: Fri, 7 Jan 2022 16:49:03 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: xen-devel@lists.xenproject.org
cc: sstabellini@kernel.org, jgross@suse.com, Bertrand.Marquis@arm.com, 
    julien@xen.org, Volodymyr_Babchuk@epam.com
Subject: [XEN PATCH 0/7] dom0less PV drivers
Message-ID: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Hi all,

Currently dom0less guests cannot use PV drivers because they don't have
access to xenstore. Also, the hypervisor node in device tree is missing
so they don't detect that they are running on Xen (thus, they don't try
to enable PV interfaces.)

This patch series enables dom0less guests (on ARM) to use PV drivers.

Instead of initializing xenstore immediately at boot, dom0less guests
get access to xenstore later. They delay the initialization until they
receive a notification via the xenstore event channel (which is
available at boot.)

An example workflow is as follows:
- all domains start in parallel, dom0less guests are immediately running
- when dom0 is up and running, the init-dom0less application is called
- dom0less guests receive the notification and initialize xenstore
- now xl network-attach/disk-attach works as expected for dom0less domUs

In terms of interfaces, the patch series introduces:
- a new feature flag XENFEAT_xenstore_late_init to signal that xenstore
  is going to be available later
- a new dom0less device tree option "xen,enhanced" (in the Xen device
  tree) to specify whether PV interfaces should be enabled/disabled for
  the dom0less guest

Cheers,

Stefano

Luca Miccio (6):
      xen: introduce XENFEAT_xenstore_late_init
      xen: introduce _evtchn_alloc_unbound
      tools: add a late_init argument to xs_introduce_domain
      xen/arm: configure dom0less domain for enabling xenstore after boot
      xenstored: do_introduce: handle the late_init case
      tools: add example application to initialize dom0less PV drivers

Stefano Stabellini (1):
      xen: introduce xen,enhanced dom0less property

 docs/misc/arm/device-tree/booting.txt |  18 +++
 tools/helpers/Makefile                |  13 ++
 tools/helpers/init-dom0less.c         | 263 ++++++++++++++++++++++++++++++++++
 tools/include/xenstore.h              |   3 +-
 tools/libs/light/libxl_dom.c          |   3 +-
 tools/libs/store/xs.c                 |   8 +-
 tools/python/xen/lowlevel/xs/xs.c     |   2 +-
 tools/xenstore/xenstored_domain.c     |  15 +-
 xen/arch/arm/domain_build.c           |  39 +++++
 xen/arch/arm/include/asm/domain.h     |   2 +
 xen/arch/arm/include/asm/kernel.h     |   3 +
 xen/common/event_channel.c            |  49 ++++---
 xen/common/kernel.c                   |   2 +
 xen/include/public/features.h         |   6 +
 xen/include/xen/event.h               |   3 +
 15 files changed, 403 insertions(+), 26 deletions(-)
 create mode 100644 tools/helpers/init-dom0less.c


From xen-devel-bounces@lists.xenproject.org Sat Jan 08 00:49:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Jan 2022 00:49:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254710.436507 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5zv4-0006rC-H9; Sat, 08 Jan 2022 00:49:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254710.436507; Sat, 08 Jan 2022 00:49:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5zv4-0006r5-E7; Sat, 08 Jan 2022 00:49:18 +0000
Received: by outflank-mailman (input) for mailman id 254710;
 Sat, 08 Jan 2022 00:49:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CE0l=RY=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n5zv2-0006ZD-Uu
 for xen-devel@lists.xenproject.org; Sat, 08 Jan 2022 00:49:17 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cd98067b-701c-11ec-9ce5-af14b9085ebd;
 Sat, 08 Jan 2022 01:49:16 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id E47EC62044;
 Sat,  8 Jan 2022 00:49:14 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id DA0A2C36AED;
 Sat,  8 Jan 2022 00:49: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: cd98067b-701c-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1641602954;
	bh=m/xs8jzbYy0KnjGA4YEq7wqnz5M74arMWbE5OnRY2a8=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=IqjZ2jB++HvGbybnwDVSteXiREAUHykf8HcStkfcW61SIEzZFfhY+l8iloW2hHbK8
	 6JlN6lRLPTiY7kjMpXf00cHWAah97cBU7SrZIp9b5ExEwXvlUf5ln4CRQ4XkQ7KEgY
	 Jl0ZnKG5jLUUQAxHMwtv9YGTjeCnhbOJFj73nJ0Fv9y30UlHC7xnZXhBZYFCyX2O5+
	 jvJl+7dJaVXNKCJwTAVkoMoumCcyJZRTzchP8Fqx0v4e1bwqK7xYRzdBa7gAl+L8To
	 vDNvDydccEbcVXlIv17pelZKuQpkgz3DbN0RisiIx235g1vmIB/HWRcBnfNnrt7rbP
	 d8/KnZceh1+fA==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	julien@xen.org,
	Bertrand.Marquis@arm.com,
	Luca Miccio <lucmiccio@gmail.com>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 1/7] xen: introduce XENFEAT_xenstore_late_init
Date: Fri,  7 Jan 2022 16:49:06 -0800
Message-Id: <20220108004912.3820176-1-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Luca Miccio <lucmiccio@gmail.com>

Introduce a new feature flag to signal that xenstore will not be
immediately available at boot time. Instead, xenstore will become
available later, and a notification of xenstore readiness will be
signalled to the guest using the xenstore event channel.

Signed-off-by: Luca Miccio <lucmiccio@gmail.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Jan Beulich <jbeulich@suse.com>
CC: George Dunlap <george.dunlap@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 xen/arch/arm/include/asm/domain.h | 2 ++
 xen/common/kernel.c               | 2 ++
 xen/include/public/features.h     | 6 ++++++
 3 files changed, 10 insertions(+)

diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
index 9b3647587a..e5ae57cd09 100644
--- a/xen/arch/arm/include/asm/domain.h
+++ b/xen/arch/arm/include/asm/domain.h
@@ -89,6 +89,8 @@ struct arch_domain
 #ifdef CONFIG_TEE
     void *tee;
 #endif
+    /* Is this guest a dom0less domain? */
+    bool is_dom0less;
 }  __cacheline_aligned;
 
 struct arch_vcpu
diff --git a/xen/common/kernel.c b/xen/common/kernel.c
index e119e5401f..c00ea67e5f 100644
--- a/xen/common/kernel.c
+++ b/xen/common/kernel.c
@@ -550,6 +550,8 @@ DO(xen_version)(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
             if ( is_hardware_domain(d) )
                 fi.submap |= 1U << XENFEAT_dom0;
 #ifdef CONFIG_ARM
+            if ( d->arch.is_dom0less )
+                fi.submap |= (1U << XENFEAT_xenstore_late_init);
             fi.submap |= (1U << XENFEAT_ARM_SMCCC_supported);
 #endif
 #ifdef CONFIG_X86
diff --git a/xen/include/public/features.h b/xen/include/public/features.h
index 9ee2f760ef..18f32b1a98 100644
--- a/xen/include/public/features.h
+++ b/xen/include/public/features.h
@@ -128,6 +128,12 @@
 #define XENFEAT_not_direct_mapped         16
 #define XENFEAT_direct_mapped             17
 
+/*
+ * The xenstore interface should be initialized only after receiving a
+ * xenstore event channel notification.
+ */
+#define XENFEAT_xenstore_late_init 18
+
 #define XENFEAT_NR_SUBMAPS 1
 
 #endif /* __XEN_PUBLIC_FEATURES_H__ */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sat Jan 08 00:49:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Jan 2022 00:49:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254711.436518 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5zv6-00079E-Th; Sat, 08 Jan 2022 00:49:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254711.436518; Sat, 08 Jan 2022 00: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 1n5zv6-000795-QQ; Sat, 08 Jan 2022 00:49:20 +0000
Received: by outflank-mailman (input) for mailman id 254711;
 Sat, 08 Jan 2022 00:49:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CE0l=RY=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n5zv4-0006ZD-Mm
 for xen-devel@lists.xenproject.org; Sat, 08 Jan 2022 00:49:18 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cea63d42-701c-11ec-9ce5-af14b9085ebd;
 Sat, 08 Jan 2022 01:49:17 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id BBC23B827C3;
 Sat,  8 Jan 2022 00:49:16 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 260ABC36AF2;
 Sat,  8 Jan 2022 00:49: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: cea63d42-701c-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1641602955;
	bh=CDrrsjp15mArIctwhofaLq+GzkkGMG31l1XpyQakdzM=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=s74qh4wvO/RR5LKh2IfvYR0fI8rZcLCQBUPotG3Wn3UDmMsFW0QCH5MHCj429aRAh
	 aIhbDeAwPiR6i5MQ1ZDd+alEHNMTgPj99tsWXRKY+cl+IHOMwlbBVPu4DmgALRqhiP
	 DalkoftRyp5urKCOIXjdbcYtFyu0KQqf5fows7xgQj5L0DIHfm/gi+vj5OzSL1T++I
	 QLe2N9bV+VFuUdwtWngQndeKQqXV1/OcSrfxNAwAUMATToEOO6NtBUbKil5Qaxq9uI
	 wPdqgmIof2B4iM03YbxZBjt5Ad4f/dfOXDum/h/zVGa/5psoz74oOvFoY7Ek8UPbde
	 Gi1USrNk+/U3A==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	julien@xen.org,
	Bertrand.Marquis@arm.com,
	Luca Miccio <lucmiccio@gmail.com>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	wl@xen.org,
	anthony.perard@citrix.com,
	jgross@suse.com,
	marmarek@invisiblethingslab.com
Subject: [XEN PATCH 3/7] tools: add a late_init argument to xs_introduce_domain
Date: Fri,  7 Jan 2022 16:49:08 -0800
Message-Id: <20220108004912.3820176-3-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Luca Miccio <lucmiccio@gmail.com>

Add a late_init argument to xs_introduce_domain to handle dom0less
guests whose xenstore interfaces are initialized after boot.

This patch mechanically adds the new parameter; it doesn't change
behaviors.

Signed-off-by: Luca Miccio <lucmiccio@gmail.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
CC: wl@xen.org
CC: anthony.perard@citrix.com
CC: jgross@suse.com
CC: marmarek@invisiblethingslab.com
---
 tools/include/xenstore.h          | 3 ++-
 tools/libs/light/libxl_dom.c      | 3 ++-
 tools/libs/store/xs.c             | 8 ++++++--
 tools/python/xen/lowlevel/xs/xs.c | 2 +-
 4 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/tools/include/xenstore.h b/tools/include/xenstore.h
index 2b3f69fb61..1a302b5ff9 100644
--- a/tools/include/xenstore.h
+++ b/tools/include/xenstore.h
@@ -226,7 +226,8 @@ bool xs_transaction_end(struct xs_handle *h, xs_transaction_t t,
 bool xs_introduce_domain(struct xs_handle *h,
 			 unsigned int domid,
 			 unsigned long mfn,
-                         unsigned int eventchn); 
+			 unsigned int eventchn,
+			 bool late_init);
 
 /* Set the target of a domain
  * This tells the store daemon that a domain is targetting another one, so
diff --git a/tools/libs/light/libxl_dom.c b/tools/libs/light/libxl_dom.c
index 2abaab439c..bacfdfa9df 100644
--- a/tools/libs/light/libxl_dom.c
+++ b/tools/libs/light/libxl_dom.c
@@ -497,7 +497,8 @@ retry_transaction:
     if (!xs_transaction_end(ctx->xsh, t, 0))
         if (errno == EAGAIN)
             goto retry_transaction;
-    xs_introduce_domain(ctx->xsh, domid, state->store_mfn, state->store_port);
+    xs_introduce_domain(ctx->xsh, domid, state->store_mfn, state->store_port,
+                        false);
     free(vm_path);
     return 0;
 }
diff --git a/tools/libs/store/xs.c b/tools/libs/store/xs.c
index 7a9a8b1656..dd47d607fd 100644
--- a/tools/libs/store/xs.c
+++ b/tools/libs/store/xs.c
@@ -1089,16 +1089,18 @@ bool xs_transaction_end(struct xs_handle *h, xs_transaction_t t,
  */
 bool xs_introduce_domain(struct xs_handle *h,
 			 unsigned int domid, unsigned long mfn,
-			 unsigned int eventchn)
+			 unsigned int eventchn, bool late_init)
 {
 	char domid_str[MAX_STRLEN(domid)];
 	char mfn_str[MAX_STRLEN(mfn)];
 	char eventchn_str[MAX_STRLEN(eventchn)];
-	struct iovec iov[3];
+	char late_init_str[MAX_STRLEN(late_init)];
+	struct iovec iov[4];
 
 	snprintf(domid_str, sizeof(domid_str), "%u", domid);
 	snprintf(mfn_str, sizeof(mfn_str), "%lu", mfn);
 	snprintf(eventchn_str, sizeof(eventchn_str), "%u", eventchn);
+	snprintf(late_init_str, sizeof(late_init_str), "%u", late_init);
 
 	iov[0].iov_base = domid_str;
 	iov[0].iov_len = strlen(domid_str) + 1;
@@ -1106,6 +1108,8 @@ bool xs_introduce_domain(struct xs_handle *h,
 	iov[1].iov_len = strlen(mfn_str) + 1;
 	iov[2].iov_base = eventchn_str;
 	iov[2].iov_len = strlen(eventchn_str) + 1;
+	iov[3].iov_base = late_init_str;
+	iov[3].iov_len = strlen(late_init_str) + 1;
 
 	return xs_bool(xs_talkv(h, XBT_NULL, XS_INTRODUCE, iov,
 				ARRAY_SIZE(iov), NULL));
diff --git a/tools/python/xen/lowlevel/xs/xs.c b/tools/python/xen/lowlevel/xs/xs.c
index 0dad7fa5f2..dc667fb231 100644
--- a/tools/python/xen/lowlevel/xs/xs.c
+++ b/tools/python/xen/lowlevel/xs/xs.c
@@ -678,7 +678,7 @@ static PyObject *xspy_introduce_domain(XsHandle *self, PyObject *args)
         return NULL;
 
     Py_BEGIN_ALLOW_THREADS
-    result = xs_introduce_domain(xh, dom, page, port);
+    result = xs_introduce_domain(xh, dom, page, port, false);
     Py_END_ALLOW_THREADS
 
     return none(result);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sat Jan 08 00:49:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Jan 2022 00:49:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254714.436535 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5zv8-0007SO-AW; Sat, 08 Jan 2022 00:49:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254714.436535; Sat, 08 Jan 2022 00:49:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5zv7-0007Nl-UE; Sat, 08 Jan 2022 00:49:21 +0000
Received: by outflank-mailman (input) for mailman id 254714;
 Sat, 08 Jan 2022 00:49:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CE0l=RY=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n5zv6-000706-1v
 for xen-devel@lists.xenproject.org; Sat, 08 Jan 2022 00:49:20 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ce8f032a-701c-11ec-81c1-a30af7de8005;
 Sat, 08 Jan 2022 01:49:17 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 3C23DB827C0;
 Sat,  8 Jan 2022 00:49:16 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 82219C36AEF;
 Sat,  8 Jan 2022 00:49: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: ce8f032a-701c-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1641602955;
	bh=5gqnkAJOfXnqVGXZ1qlNwhP+taPqzRbwoAe4Pxn2FBM=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=OyHNvkvda/IppfmN5ffOApPiggGKdA6fHkKcxGtbEGfmCurNqL9cCKuEdWr40fJDA
	 4oC9SKxj8Ik2xh0JVoU3jItm0cwkfAtmPxE94JyN5/hR0INnezaoHoSj44UoDiCxBa
	 ilacuOy5whBIAbd1PbBP6MByN/c+Bvg92LcxBKpwsYxfDoHmi8TUgrKar2wKndw+Mm
	 eaI2MT5baBcnxq/rxkOJhS60EZMOs1kK4sHnwdWzOZ6CQw+HXjnXmAYfwYPTQle30n
	 bU8I4dUnMqpKdqLfhIckxGT4nfCCw6HZTiZK0TomvlNBzq7MgsZjCG1nLLFIU1oZNa
	 wxR6k7hYry/Vw==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	julien@xen.org,
	Bertrand.Marquis@arm.com,
	Luca Miccio <lucmiccio@gmail.com>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 2/7] xen: introduce _evtchn_alloc_unbound
Date: Fri,  7 Jan 2022 16:49:07 -0800
Message-Id: <20220108004912.3820176-2-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Luca Miccio <lucmiccio@gmail.com>

The xenstore event channel will be allocated for dom0less domains. It is
necessary to have access to the evtchn_alloc_unbound function to do
that.

Factor out the part that actually allocates the event channel from
evtchn_alloc_unbound and introduce this new function as
_evtchn_alloc_unbound. (xsm_evtchn_unbound wouldn't work for a call
originated from Xen.)

Signed-off-by: Luca Miccio <lucmiccio@gmail.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: George Dunlap <george.dunlap@citrix.com>
CC: Jan Beulich <jbeulich@suse.com>
CC: Wei Liu <wl@xen.org>
---
 xen/common/event_channel.c | 49 +++++++++++++++++++++++++-------------
 xen/include/xen/event.h    |  3 +++
 2 files changed, 36 insertions(+), 16 deletions(-)

diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
index da88ad141a..8a19bbf7ae 100644
--- a/xen/common/event_channel.c
+++ b/xen/common/event_channel.c
@@ -18,6 +18,7 @@
 
 #include <xen/init.h>
 #include <xen/lib.h>
+#include <xen/err.h>
 #include <xen/errno.h>
 #include <xen/sched.h>
 #include <xen/irq.h>
@@ -284,11 +285,32 @@ void evtchn_free(struct domain *d, struct evtchn *chn)
     xsm_evtchn_close_post(chn);
 }
 
-static int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
+struct evtchn *_evtchn_alloc_unbound(struct domain *d, domid_t remote_dom)
 {
     struct evtchn *chn;
+    int port;
+
+    if ( (port = get_free_port(d)) < 0 )
+        return ERR_PTR(port);
+    chn = evtchn_from_port(d, port);
+
+    evtchn_write_lock(chn);
+
+    chn->state = ECS_UNBOUND;
+    if ( (chn->u.unbound.remote_domid = remote_dom) == DOMID_SELF )
+        chn->u.unbound.remote_domid = current->domain->domain_id;
+    evtchn_port_init(d, chn);
+
+    evtchn_write_unlock(chn);
+
+    return chn;
+}
+
+static int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
+{
+    struct evtchn *chn = NULL;
     struct domain *d;
-    int            port, rc;
+    int            rc;
     domid_t        dom = alloc->dom;
 
     d = rcu_lock_domain_by_any_id(dom);
@@ -297,27 +319,22 @@ static int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
 
     spin_lock(&d->event_lock);
 
-    if ( (port = get_free_port(d)) < 0 )
-        ERROR_EXIT_DOM(port, d);
-    chn = evtchn_from_port(d, port);
+    chn = _evtchn_alloc_unbound(d, alloc->remote_dom);
+    if ( IS_ERR(chn) )
+    {
+        rc = PTR_ERR(chn);
+        ERROR_EXIT_DOM(rc, d);
+    }
 
     rc = xsm_evtchn_unbound(XSM_TARGET, d, chn, alloc->remote_dom);
     if ( rc )
         goto out;
 
-    evtchn_write_lock(chn);
-
-    chn->state = ECS_UNBOUND;
-    if ( (chn->u.unbound.remote_domid = alloc->remote_dom) == DOMID_SELF )
-        chn->u.unbound.remote_domid = current->domain->domain_id;
-    evtchn_port_init(d, chn);
-
-    evtchn_write_unlock(chn);
-
-    alloc->port = port;
+    alloc->port = chn->port;
 
  out:
-    check_free_port(d, port);
+    if ( chn != NULL )
+        check_free_port(d, chn->port);
     spin_unlock(&d->event_lock);
     rcu_unlock_domain(d);
 
diff --git a/xen/include/xen/event.h b/xen/include/xen/event.h
index 21c95e14fd..6aedbccbf1 100644
--- a/xen/include/xen/event.h
+++ b/xen/include/xen/event.h
@@ -68,6 +68,9 @@ int evtchn_close(struct domain *d1, int port1, bool guest);
 /* Free an event channel. */
 void evtchn_free(struct domain *d, struct evtchn *chn);
 
+/* Create a new event channel port */
+struct evtchn *_evtchn_alloc_unbound(struct domain *d, domid_t remote_dom);
+
 /* Allocate a specific event channel port. */
 int evtchn_allocate_port(struct domain *d, unsigned int port);
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sat Jan 08 00:49:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Jan 2022 00:49:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254713.436531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5zv7-0007IK-S3; Sat, 08 Jan 2022 00:49:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254713.436531; Sat, 08 Jan 2022 00:49:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5zv7-0007GB-Fs; Sat, 08 Jan 2022 00:49:21 +0000
Received: by outflank-mailman (input) for mailman id 254713;
 Sat, 08 Jan 2022 00:49:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CE0l=RY=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n5zv5-0006ZD-VP
 for xen-devel@lists.xenproject.org; Sat, 08 Jan 2022 00:49:20 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cee73143-701c-11ec-9ce5-af14b9085ebd;
 Sat, 08 Jan 2022 01:49:18 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 160E96204B;
 Sat,  8 Jan 2022 00:49:17 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 90EA5C36AEB;
 Sat,  8 Jan 2022 00:49: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: cee73143-701c-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1641602956;
	bh=1DYdXK2tClbqaET4zfKHxmO/dU14+PSWtdLzPmYufVc=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=gLY7s9g3064cPYrRE0vNzRVXgTryktVR3QLtM4kE3r5euXcsNZ+6hrMLMK3HKx6ZG
	 s32FqQpLcoOFboQTzsT4d90prWOHQmyiFCpz44a+v2N2cztLwc5P20cGSie7sIwH1d
	 o2UQcGFaZ4G1llkvyRymE9gmjmE7w4QiJrTxXTSjYbjfjSqmCGFcl9orQnJ58v1QxF
	 q4s2K4b5RZYwkCdxR2rE4hhYubafK/qe//k3LHBTcTxRJlFFp/Xo8kD53Ri9iBERRc
	 e18UByRzR/lfAFIMS7AC/+/GvEh/SygHmg+g1FViVxIT9kMNSZ9nbSG7kg5KoxXAyU
	 tSH0sDepqMCJA==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	julien@xen.org,
	Bertrand.Marquis@arm.com,
	Luca Miccio <lucmiccio@gmail.com>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	wl@xen.org,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [XEN PATCH 6/7] xenstored: do_introduce: handle the late_init case
Date: Fri,  7 Jan 2022 16:49:11 -0800
Message-Id: <20220108004912.3820176-6-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Luca Miccio <lucmiccio@gmail.com>

If the function is called with late_init set then also notify the domain
using the xenstore event channel.

Signed-off-by: Luca Miccio <lucmiccio@gmail.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
CC: wl@xen.org
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Juergen Gross <jgross@suse.com>
CC: julien@xen.org
---
 tools/xenstore/xenstored_domain.c | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index d03c7d93a9..17b8021ca8 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -429,7 +429,7 @@ static void domain_conn_reset(struct domain *domain)
 
 static struct domain *introduce_domain(const void *ctx,
 				       unsigned int domid,
-				       evtchn_port_t port, bool restore)
+				       evtchn_port_t port, bool restore, bool late_init)
 {
 	struct domain *domain;
 	int rc;
@@ -461,6 +461,9 @@ static struct domain *introduce_domain(const void *ctx,
 		/* Now domain belongs to its connection. */
 		talloc_steal(domain->conn, domain);
 
+		if (late_init)
+			xenevtchn_notify(xce_handle, domain->port);
+
 		if (!is_master_domain && !restore)
 			fire_watches(NULL, ctx, "@introduceDomain", NULL,
 				     false, NULL);
@@ -479,9 +482,10 @@ static struct domain *introduce_domain(const void *ctx,
 int do_introduce(struct connection *conn, struct buffered_data *in)
 {
 	struct domain *domain;
-	char *vec[3];
+	char *vec[4];
 	unsigned int domid;
 	evtchn_port_t port;
+	bool late_init;
 
 	if (get_strings(in, vec, ARRAY_SIZE(vec)) < ARRAY_SIZE(vec))
 		return EINVAL;
@@ -489,12 +493,13 @@ int do_introduce(struct connection *conn, struct buffered_data *in)
 	domid = atoi(vec[0]);
 	/* Ignore the gfn, we don't need it. */
 	port = atoi(vec[2]);
+	late_init = atoi(vec[3]);
 
 	/* Sanity check args. */
 	if (port <= 0)
 		return EINVAL;
 
-	domain = introduce_domain(in, domid, port, false);
+	domain = introduce_domain(in, domid, port, false, late_init);
 	if (!domain)
 		return errno;
 
@@ -723,7 +728,7 @@ void dom0_init(void)
 	if (port == -1)
 		barf_perror("Failed to initialize dom0 port");
 
-	dom0 = introduce_domain(NULL, xenbus_master_domid(), port, false);
+	dom0 = introduce_domain(NULL, xenbus_master_domid(), port, false, false);
 	if (!dom0)
 		barf_perror("Failed to initialize dom0");
 
@@ -1292,7 +1297,7 @@ void read_state_connection(const void *ctx, const void *state)
 #endif
 	} else {
 		domain = introduce_domain(ctx, sc->spec.ring.domid,
-					  sc->spec.ring.evtchn, true);
+					  sc->spec.ring.evtchn, true, false);
 		if (!domain)
 			barf("domain allocation error");
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sat Jan 08 00:49:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Jan 2022 00:49:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254712.436522 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5zv7-0007Bp-7u; Sat, 08 Jan 2022 00:49:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254712.436522; Sat, 08 Jan 2022 00:49:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5zv7-0007Ap-1r; Sat, 08 Jan 2022 00:49:21 +0000
Received: by outflank-mailman (input) for mailman id 254712;
 Sat, 08 Jan 2022 00:49:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CE0l=RY=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n5zv5-0006ZD-8T
 for xen-devel@lists.xenproject.org; Sat, 08 Jan 2022 00:49:19 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ce942e4f-701c-11ec-9ce5-af14b9085ebd;
 Sat, 08 Jan 2022 01:49:17 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 952C362051;
 Sat,  8 Jan 2022 00:49:16 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 21B41C36AE5;
 Sat,  8 Jan 2022 00:49: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: ce942e4f-701c-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1641602956;
	bh=EGPEVLXhWQH12aVdIUkqLBGXZpzA81egp2OEZ8dJ6zc=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=HxHAQ4ErTsDgZTJVOsdvzFyply9bIp/SE/doo34v6kN8UKl56zqHxHibiShim1DCc
	 eBQpyhrRJuJm/gUm9SMcDbT/A3js3eECbvhVfFRyrBwm5OV6VEqH6U7XDuCP5Qo2kT
	 wBua1BMGnNrlpJPtWqlRm1IzynYf2bC0S7Zkx+VxVvgi3DRzO2iozqOoLgq/hqRceA
	 zgA4XAQ1R0Vs++rCzsX5KEj34miWSUbjdZGdqLVGvjNSQibghoVj9Sf7Z1/U77Z8Pa
	 29ZcCso8tfkE1QFCrRxpQpYHHc25J1bsnR+30DiIvnIodDTESBNRkQMlgEXqP55qyE
	 F3huguX6N8eKA==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	julien@xen.org,
	Bertrand.Marquis@arm.com,
	Luca Miccio <lucmiccio@gmail.com>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>
Subject: [XEN PATCH 5/7] xen/arm: configure dom0less domain for enabling xenstore after boot
Date: Fri,  7 Jan 2022 16:49:10 -0800
Message-Id: <20220108004912.3820176-5-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Luca Miccio <lucmiccio@gmail.com>

If "xen,enhanced" is enabled, then add to dom0less domains:

- the hypervisor node in device tree
- the xenstore event channel

The xenstore event channel is also used for the first notification to
let the guest know that xenstore has become available.

Signed-off-by: Luca Miccio <lucmiccio@gmail.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
---
 xen/arch/arm/domain_build.c | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 96a94fa434..fafa921aa8 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -27,6 +27,7 @@
 #include <asm/setup.h>
 #include <asm/cpufeature.h>
 #include <asm/domain_build.h>
+#include <xen/event.h>
 
 #include <xen/irq.h>
 #include <xen/grant_table.h>
@@ -2619,6 +2620,8 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
     int ret;
 
     kinfo->phandle_gic = GUEST_PHANDLE_GIC;
+    kinfo->gnttab_start = GUEST_GNTTAB_BASE;
+    kinfo->gnttab_size = GUEST_GNTTAB_SIZE;
 
     addrcells = GUEST_ROOT_ADDRESS_CELLS;
     sizecells = GUEST_ROOT_SIZE_CELLS;
@@ -2693,6 +2696,13 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
             goto err;
     }
 
+    if ( kinfo->enhanced )
+    {
+        ret = make_hypervisor_node(d, kinfo, addrcells, sizecells);
+        if ( ret )
+            goto err;
+    }
+
     ret = fdt_end_node(kinfo->fdt);
     if ( ret < 0 )
         goto err;
@@ -2959,6 +2969,22 @@ static int __init construct_domain(struct domain *d, struct kernel_info *kinfo)
     return 0;
 }
 
+static int alloc_xenstore_evtchn(struct domain *d)
+{
+    struct evtchn *chn;
+
+    chn = _evtchn_alloc_unbound(d, hardware_domain->domain_id);
+    if ( !chn )
+    {
+        printk("Failed allocating event channel for domain\n");
+        return -ENOMEM;
+    }
+
+    d->arch.hvm.params[HVM_PARAM_STORE_EVTCHN] = chn->port;
+
+    return 0;
+}
+
 static int __init construct_domU(struct domain *d,
                                  const struct dt_device_node *node)
 {
@@ -3012,7 +3038,14 @@ static int __init construct_domU(struct domain *d,
         return rc;
 
     if ( kinfo.vpl011 )
+    {
         rc = domain_vpl011_init(d, NULL);
+        if ( rc < 0 )
+            return rc;
+    }
+
+    if ( kinfo.enhanced )
+        rc = alloc_xenstore_evtchn(d);
 
     return rc;
 }
@@ -3068,6 +3101,7 @@ void __init create_domUs(void)
             panic("Error creating domain %s\n", dt_node_name(node));
 
         d->is_console = true;
+        d->arch.is_dom0less = true;
 
         if ( construct_domU(d, node) != 0 )
             panic("Could not set up domain %s\n", dt_node_name(node));
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sat Jan 08 00:49:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Jan 2022 00:49:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254715.436542 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5zv8-0007Zm-N1; Sat, 08 Jan 2022 00:49:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254715.436542; Sat, 08 Jan 2022 00:49:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5zv8-0007XC-F8; Sat, 08 Jan 2022 00:49:22 +0000
Received: by outflank-mailman (input) for mailman id 254715;
 Sat, 08 Jan 2022 00:49:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CE0l=RY=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n5zv6-000706-JD
 for xen-devel@lists.xenproject.org; Sat, 08 Jan 2022 00:49:20 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cf1291ff-701c-11ec-81c1-a30af7de8005;
 Sat, 08 Jan 2022 01:49:17 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 3C82AB827C2;
 Sat,  8 Jan 2022 00:49:17 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A5CBBC36AF3;
 Sat,  8 Jan 2022 00:49: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: cf1291ff-701c-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1641602956;
	bh=+olmyE0Lg6XuJ73hfq8gcQj3c7BupLFwwV9RL76Bu44=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=nNV/gTQeGRQ8f5t89xOrXNtWlbNj9U75IkmCH/6RY5redkMDGlNG1vLgZiNEgMhP/
	 gyXfWgw2jNDAv3J8EqyZR5R9otT9s2PgRUjwUcZomzEjhH1yWYgkCmZd2Ctr0ftZ68
	 l1gvlZ+XC+0UNlLjoykroFfwSOmpLOPADceBNwLG4o4/jI4CILn08OPk8sO69w4MxD
	 IUYmSn830YlpzxRUFGyjmcsHm23P+14kYDxS53zUfEL4u9rNADpgGwGz5ClLY7ZTzc
	 23XMy1ze1Il58U4eG0bBgbXJ/iEP3zJ5Ys5C5eJdAwHPx3dcf8Z1i3ZGSM/ABfq4kD
	 4Ov1JhRy++DaA==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	julien@xen.org,
	Bertrand.Marquis@arm.com,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>
Subject: [XEN PATCH 4/7] xen: introduce xen,enhanced dom0less property
Date: Fri,  7 Jan 2022 16:49:09 -0800
Message-Id: <20220108004912.3820176-4-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

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

Introduce a new "xen,enhanced" dom0less property to enable/disable PV
driver interfaces for dom0less guests. Currently only "enabled" and
"disabled" are supported property values (and empty). Leave the option
open to implement further possible values in the future (e.g.
"xenstore" to enable only xenstore.)

This patch only parses the property. Next patches will make use of it.

Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
---
 docs/misc/arm/device-tree/booting.txt | 18 ++++++++++++++++++
 xen/arch/arm/domain_build.c           |  5 +++++
 xen/arch/arm/include/asm/kernel.h     |  3 +++
 3 files changed, 26 insertions(+)

diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
index 71895663a4..38c29fb3d8 100644
--- a/docs/misc/arm/device-tree/booting.txt
+++ b/docs/misc/arm/device-tree/booting.txt
@@ -169,6 +169,24 @@ with the following properties:
     Please note that the SPI used for the virtual pl011 could clash with the
     physical SPI of a physical device assigned to the guest.
 
+- xen,enhanced
+
+    A string property. Possible property values are:
+
+    - "enabled" (or missing property value)
+    Xen PV interfaces, including grant-table and xenstore, will be
+    enabled for the VM.
+
+    - "disabled"
+    Xen PV interfaces are disabled.
+
+    If the xen,enhanced property is present with no value, it defaults
+    to "enabled". If the xen,enhanced property is not present, PV
+    interfaces are disabled.
+
+    In the future other possible property values might be added to
+    enable only selected interfaces.
+
 - nr_spis
 
     Optional. A 32-bit integer specifying the number of SPIs (Shared
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 6931c022a2..96a94fa434 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2963,6 +2963,7 @@ static int __init construct_domU(struct domain *d,
                                  const struct dt_device_node *node)
 {
     struct kernel_info kinfo = {};
+    const char *enhanced;
     int rc;
     u64 mem;
 
@@ -2978,6 +2979,10 @@ static int __init construct_domU(struct domain *d,
 
     kinfo.vpl011 = dt_property_read_bool(node, "vpl011");
 
+    rc = dt_property_read_string(node, "xen,enhanced", &enhanced);
+    if ( rc == -EILSEQ || (rc == 0 && !strcmp(enhanced, "enabled")) )
+        kinfo.enhanced = true;
+
     if ( vcpu_create(d, 0) == NULL )
         return -ENOMEM;
 
diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
index 874aa108a7..3275f7fbca 100644
--- a/xen/arch/arm/include/asm/kernel.h
+++ b/xen/arch/arm/include/asm/kernel.h
@@ -36,6 +36,9 @@ struct kernel_info {
     /* Enable pl011 emulation */
     bool vpl011;
 
+    /* Enable PV drivers */
+    bool enhanced;
+
     /* GIC phandle */
     uint32_t phandle_gic;
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sat Jan 08 00:49:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Jan 2022 00:49:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254716.436558 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5zvA-00081q-3n; Sat, 08 Jan 2022 00:49:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254716.436558; Sat, 08 Jan 2022 00:49:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5zv9-0007wT-PX; Sat, 08 Jan 2022 00:49:23 +0000
Received: by outflank-mailman (input) for mailman id 254716;
 Sat, 08 Jan 2022 00:49:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CE0l=RY=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n5zv6-0006ZD-VQ
 for xen-devel@lists.xenproject.org; Sat, 08 Jan 2022 00:49:21 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cfc511d6-701c-11ec-9ce5-af14b9085ebd;
 Sat, 08 Jan 2022 01:49:19 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 99764B827C6;
 Sat,  8 Jan 2022 00:49:18 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1298BC36AED;
 Sat,  8 Jan 2022 00:49:17 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cfc511d6-701c-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1641602957;
	bh=cJpLwwW8OdmngDb+C/1eNjUgTbMHWokoFmWCQuobrSg=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=aVG/KhWGND1i1gzbk6AiU107+9n35oPsX0ZRvROVtGumYsmRnTm3otXT+/CPIqH47
	 QEn3oYaUQ4h6faVPMobaG9BRudubJHy8Z5QDpOb84HI0a4UMOkQV7iLzACJdlXUAgh
	 m9ig+UBtFc5UdDIkuFSXXmSo5ZHFvhDko102evBq+MDg8JvZekyYi+VxiekTLaCjTO
	 kn/KJ6TuaIZWxRB6RSyeId+BlhTxw36nVgz04uxA+n5aHeir96m5H9MnF1diARmDlr
	 OtFGbOM53qu+OJRDzp+yhEMYUI3SXqebnYB5Y1cR+uXloOcP40RNlRU+JFR5PPXW0L
	 J8h7GkdXYyVlQ==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	julien@xen.org,
	Bertrand.Marquis@arm.com,
	Luca Miccio <lucmiccio@gmail.com>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [XEN PATCH 7/7] tools: add example application to initialize dom0less PV drivers
Date: Fri,  7 Jan 2022 16:49:12 -0800
Message-Id: <20220108004912.3820176-7-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Luca Miccio <lucmiccio@gmail.com>

Add an example application that can be run in dom0 to complete the
dom0less domains initialization so that they can get access to xenstore
and use PV drivers.

Signed-off-by: Luca Miccio <lucmiccio@gmail.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
CC: Wei Liu <wl@xen.org>
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Juergen Gross <jgross@suse.com>
---
 tools/helpers/Makefile        |  13 ++
 tools/helpers/init-dom0less.c | 263 ++++++++++++++++++++++++++++++++++
 2 files changed, 276 insertions(+)
 create mode 100644 tools/helpers/init-dom0less.c

diff --git a/tools/helpers/Makefile b/tools/helpers/Makefile
index 7f6c422440..8e42997052 100644
--- a/tools/helpers/Makefile
+++ b/tools/helpers/Makefile
@@ -10,6 +10,9 @@ ifeq ($(CONFIG_Linux),y)
 ifeq ($(CONFIG_X86),y)
 PROGS += init-xenstore-domain
 endif
+ifeq ($(CONFIG_ARM),y)
+PROGS += init-dom0less
+endif
 endif
 
 XEN_INIT_DOM0_OBJS = xen-init-dom0.o init-dom-json.o
@@ -26,6 +29,13 @@ $(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS += $(CFLAGS_libxenstore)
 $(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS += $(CFLAGS_libxenlight)
 $(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS += -include $(XEN_ROOT)/tools/config.h
 
+INIT_DOM0LESS_OBJS = init-dom0less.o init-dom-json.o
+$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxentoollog)
+$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenstore)
+$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenlight)
+$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenctrl)
+$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenevtchn)
+
 .PHONY: all
 all: $(PROGS)
 
@@ -35,6 +45,9 @@ xen-init-dom0: $(XEN_INIT_DOM0_OBJS)
 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)
 
+init-dom0less: $(INIT_DOM0LESS_OBJS)
+	$(CC) $(LDFLAGS) -o $@ $(INIT_DOM0LESS_OBJS) $(LDLIBS_libxenctrl) $(LDLIBS_libxenevtchn) $(LDLIBS_libxentoollog) $(LDLIBS_libxenstore) $(LDLIBS_libxenlight) $(LDLIBS_libxenguest)  $(APPEND_LDFLAGS)
+
 .PHONY: install
 install: all
 	$(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
diff --git a/tools/helpers/init-dom0less.c b/tools/helpers/init-dom0less.c
new file mode 100644
index 0000000000..055bf76cf5
--- /dev/null
+++ b/tools/helpers/init-dom0less.c
@@ -0,0 +1,263 @@
+#include <stdbool.h>
+#include <syslog.h>
+#include <stdio.h>
+#include <err.h>
+#include <stdlib.h>
+#include <xenstore.h>
+#include <xenctrl.h>
+#include <xenguest.h>
+#include <libxl.h>
+#include <xenevtchn.h>
+
+#include "init-dom-json.h"
+
+#define NR_MAGIC_PAGES 4
+#define CONSOLE_PFN_OFFSET 0
+#define XENSTORE_PFN_OFFSET 1
+#define STR_MAX_LENGTH 64
+
+static int alloc_magic_pages(struct xc_dom_image *dom)
+{
+    int rc, i;
+    const xen_pfn_t base = GUEST_MAGIC_BASE >> XC_PAGE_SHIFT;
+    xen_pfn_t p2m[NR_MAGIC_PAGES];
+
+    for (i = 0; i < NR_MAGIC_PAGES; i++)
+        p2m[i] = base + i;
+
+    rc = xc_domain_populate_physmap_exact(dom->xch, dom->guest_domid,
+                                          NR_MAGIC_PAGES, 0, 0, p2m);
+    if (rc < 0)
+        return rc;
+
+    dom->xenstore_pfn = base + XENSTORE_PFN_OFFSET;
+
+    xc_clear_domain_page(dom->xch, dom->guest_domid, dom->xenstore_pfn);
+
+    xc_hvm_param_set(dom->xch, dom->guest_domid, HVM_PARAM_STORE_PFN,
+                     dom->xenstore_pfn);
+    xc_hvm_param_set(dom->xch, dom->guest_domid, HVM_PARAM_STORE_EVTCHN,
+                     dom->xenstore_evtchn);
+    return 0;
+}
+
+static void do_xs_write(struct xs_handle *xsh, xs_transaction_t t,
+                        char *path, char *val)
+{
+    if (!xs_write(xsh, t, path, val, strlen(val)))
+        fprintf(stderr, "writing %s to xenstore failed.\n", path);
+}
+
+static void do_xs_write_dom(struct xs_handle *xsh, xs_transaction_t t,
+                            domid_t domid, char *path, char *val)
+{
+    char full_path[STR_MAX_LENGTH];
+
+    snprintf(full_path, STR_MAX_LENGTH,
+             "/local/domain/%d/%s", domid, path);
+    do_xs_write(xsh, t, full_path, val);
+}
+
+static void do_xs_write_libxl(struct xs_handle *xsh, xs_transaction_t t,
+                              domid_t domid, char *path, char *val)
+{
+    char full_path[STR_MAX_LENGTH];
+
+    snprintf(full_path, STR_MAX_LENGTH,
+             "/libxl/%d/%s", domid, path);
+    do_xs_write(xsh, t, full_path, val);
+}
+
+static void do_xs_write_vm(struct xs_handle *xsh, xs_transaction_t t,
+                           libxl_uuid uuid, char *path, char *val)
+{
+    char full_path[STR_MAX_LENGTH];
+
+    snprintf(full_path, STR_MAX_LENGTH,
+             "/vm/" LIBXL_UUID_FMT "/%s", LIBXL_UUID_BYTES(uuid), path);
+    do_xs_write(xsh, t, full_path, val);
+}
+
+static int restore_xenstore(struct xs_handle *xsh,
+                            libxl_dominfo *info, libxl_uuid uuid,
+                            evtchn_port_t xenstore_port)
+{
+    domid_t domid;
+    int i;
+    char uuid_str[STR_MAX_LENGTH];
+    char dom_name_str[STR_MAX_LENGTH];
+    char vm_val_str[STR_MAX_LENGTH];
+    char id_str[STR_MAX_LENGTH];
+    char max_memkb_str[STR_MAX_LENGTH];
+    char cpu_str[STR_MAX_LENGTH];
+    char xenstore_port_str[STR_MAX_LENGTH];
+    char ring_ref_str[STR_MAX_LENGTH];
+    xs_transaction_t t;
+
+    domid = info->domid;
+    snprintf(id_str, STR_MAX_LENGTH, "%d", domid);
+    snprintf(dom_name_str, STR_MAX_LENGTH, "dom0less-%d", domid);
+    snprintf(uuid_str, STR_MAX_LENGTH, LIBXL_UUID_FMT, LIBXL_UUID_BYTES(uuid));
+    snprintf(vm_val_str, STR_MAX_LENGTH,
+             "vm/" LIBXL_UUID_FMT, LIBXL_UUID_BYTES(uuid));
+    snprintf(max_memkb_str, STR_MAX_LENGTH, "%lu", info->max_memkb);
+    snprintf(ring_ref_str, STR_MAX_LENGTH, "%lld",
+             (GUEST_MAGIC_BASE >> XC_PAGE_SHIFT) + XENSTORE_PFN_OFFSET);
+    snprintf(xenstore_port_str, STR_MAX_LENGTH, "%d", xenstore_port);
+
+retry_transaction:
+    t = xs_transaction_start(xsh);
+    if (t == XBT_NULL)
+        return errno;
+
+    /* /vm */
+    do_xs_write_vm(xsh, t, uuid, "name", dom_name_str);
+    do_xs_write_vm(xsh, t, uuid, "uuid", uuid_str);
+    do_xs_write_vm(xsh, t, uuid, "start_time", "0");
+
+    /* /domain */
+    do_xs_write_dom(xsh, t, domid, "vm", vm_val_str);
+    do_xs_write_dom(xsh, t, domid, "name", dom_name_str);
+    do_xs_write_dom(xsh, t, domid, "cpu", "");
+    for (i = 0; i < info->vcpu_max_id; i++) {
+        snprintf(cpu_str, STR_MAX_LENGTH, "cpu/%d/availability/", i);
+        do_xs_write_dom(xsh, t, domid, cpu_str,
+                        (info->cpupool & (1 << i)) ? "online" : "offline");
+    }
+    do_xs_write_dom(xsh, t, domid, "cpu/0", "");
+    do_xs_write_dom(xsh, t, domid, "cpu/availability", "online");
+
+    do_xs_write_dom(xsh, t, domid, "memory", "");
+    do_xs_write_dom(xsh, t, domid, "memory/static-max", max_memkb_str);
+    do_xs_write_dom(xsh, t, domid, "memory/videoram", "-1");
+
+    do_xs_write_dom(xsh, t, domid, "device", "");
+    do_xs_write_dom(xsh, t, domid, "device/suspend", "");
+    do_xs_write_dom(xsh, t, domid, "device/suspend/event-channel", "");
+
+    do_xs_write_dom(xsh, t, domid, "control", "");
+    do_xs_write_dom(xsh, t, domid, "control/shutdown", "");
+    do_xs_write_dom(xsh, t, domid, "control/feature-poweroff", "1");
+    do_xs_write_dom(xsh, t, domid, "control/feature-reboot", "1");
+    do_xs_write_dom(xsh, t, domid, "control/feature-suspend", "");
+    do_xs_write_dom(xsh, t, domid, "control/sysrq", "");
+    do_xs_write_dom(xsh, t, domid, "control/platform-feature-multiprocessor-suspend", "1");
+    do_xs_write_dom(xsh, t, domid, "control", "platform-feature-xs_reset_watches");
+
+    do_xs_write_dom(xsh, t, domid, "domid", id_str);
+    do_xs_write_dom(xsh, t, domid, "data", "");
+    do_xs_write_dom(xsh, t, domid, "drivers", "");
+    do_xs_write_dom(xsh, t, domid, "feature", "");
+    do_xs_write_dom(xsh, t, domid, "attr", "");
+
+    do_xs_write_dom(xsh, t, domid, "store/port", xenstore_port_str);
+    do_xs_write_dom(xsh, t, domid, "store/ring-ref", ring_ref_str);
+
+    do_xs_write_libxl(xsh, t, domid, "type", "pvh");
+    do_xs_write_libxl(xsh, t, domid, "dm-version", "qemu_xen");
+
+    if (!xs_transaction_end(xsh, t, false))
+        if (errno == EAGAIN)
+            goto retry_transaction;
+
+    return 0;
+}
+
+static int init_domain(struct xs_handle *xsh, libxl_dominfo *info)
+{
+    struct xc_dom_image dom;
+    libxl_uuid uuid;
+    uint64_t v;
+    int rc;
+
+    printf("#### Init dom0less domain: %d ####\n", info->domid);
+    dom.guest_domid = info->domid;
+    dom.xenstore_domid = 0;
+    dom.xch = xc_interface_open(0, 0, 0);
+
+    rc = xc_hvm_param_get(dom.xch, info->domid, HVM_PARAM_STORE_EVTCHN, &v);
+    if (rc != 0) {
+        printf("Failed to get HVM_PARAM_STORE_EVTCHN\n");
+        return 1;
+    }
+    dom.xenstore_evtchn = v;
+
+    /* Console won't be initialized but set its data for completeness */
+    dom.console_domid = 0;
+
+    /* Alloc magic pages */
+    printf("Allocating magic pages\n");
+    if (alloc_magic_pages(&dom) != 0) {
+        printf("Error on alloc magic pages\n");
+        return 1;
+    }
+
+    printf("Setup Grant Tables\n");
+    xc_dom_gnttab_init(&dom);
+
+    printf("Setup UUID\n");
+    libxl_uuid_generate(&uuid);
+    xc_domain_sethandle(dom.xch, info->domid, libxl_uuid_bytearray(&uuid));
+
+    printf("Creating JSON\n");
+    rc = gen_stub_json_config(info->domid, &uuid);
+    if (rc)
+        err(1, "gen_stub_json_config");
+
+    printf("Restoring Xenstore values\n");
+    restore_xenstore(xsh, info, uuid, dom.xenstore_evtchn);
+
+    printf("Introducing domain\n");
+    xs_introduce_domain(xsh, info->domid,
+            (GUEST_MAGIC_BASE >> XC_PAGE_SHIFT) + XENSTORE_PFN_OFFSET,
+            dom.xenstore_evtchn, true);
+    return 0;
+}
+
+/* Check if domain has been configured in XS */
+static bool domain_exists(struct xs_handle *xsh, int domid)
+{
+    return xs_is_domain_introduced(xsh, domid);
+}
+
+int main(int argc, char **argv)
+{
+    libxl_dominfo *info;
+    libxl_ctx *ctx;
+    int nb_vm, i;
+    struct xs_handle *xsh;
+
+    xsh = xs_daemon_open();
+    if (xsh == NULL) {
+        fprintf(stderr, "Could not contact XenStore");
+        exit(1);
+    }
+
+    if (libxl_ctx_alloc(&ctx, LIBXL_VERSION, 0, NULL)) {
+        fprintf(stderr, "cannot init xl context\n");
+        exit(1);
+    }
+
+    info = libxl_list_domain(ctx, &nb_vm);
+    if (!info) {
+        fprintf(stderr, "libxl_list_vm failed.\n");
+        exit(EXIT_FAILURE);
+    }
+
+    for (i = 0; i < nb_vm; i++) {
+        domid_t domid = info[i].domid;
+
+        /* Don't need to check for Dom0 */
+        if (!domid)
+            continue;
+
+        printf("Checking domid: %u\n", domid);
+        if (!domain_exists(xsh, domid))
+            init_domain(xsh, &info[i]);
+        else
+            printf("Domain %d has already been initialized\n", domid);
+    }
+    libxl_dominfo_list_free(info, nb_vm);
+    xs_close(xsh);
+    return 0;
+}
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sat Jan 08 00:51:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Jan 2022 00:51:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254733.436584 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5zww-0003UO-Nx; Sat, 08 Jan 2022 00:51:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254733.436584; Sat, 08 Jan 2022 00:51:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5zww-0003UH-Jz; Sat, 08 Jan 2022 00:51:14 +0000
Received: by outflank-mailman (input) for mailman id 254733;
 Sat, 08 Jan 2022 00:51:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CE0l=RY=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n5zww-0003U9-41
 for xen-devel@lists.xenproject.org; Sat, 08 Jan 2022 00:51:14 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 13e8c7f6-701d-11ec-9ce5-af14b9085ebd;
 Sat, 08 Jan 2022 01:51:13 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id D1800B827BF;
 Sat,  8 Jan 2022 00:51:12 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5FA3FC36AE5;
 Sat,  8 Jan 2022 00:51:11 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 13e8c7f6-701d-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1641603071;
	bh=C8sjb17Wc1qCNaH9KupLHmSf3Lf+MJE+h+ailP5YhSU=;
	h=Date:From:To:cc:Subject:From;
	b=POiaOcHFb40Lv0PkoYz9wkw03HmHgJPLDDemLF6mqCtgwxdjInENI7Om3YArrwBfu
	 nZJ5MGGkxMdj9QSCyKQ/ghO8lYHnCrsQCN0NRQtOmk2vor5hRgaE/RMd/8HraXyAbY
	 LtMC7c+3HSGBwDJp9SSiUl1wHIFQHuFDo19YOaS7NMDiD1obxxkUxa1p7pgszteNCK
	 D/uEJ5QgLkd28OgdozCHMGlsdNfLDxzWng63pmoN6LYInrDIduZ9BwTOSEjlXMsu0O
	 DnXKWJirZ8UYNibEfLQ4plt9HsniVqlMYOj5xnsgvkKtp6tGDC+GKcMmz+Bs5KFXve
	 SJrHiOOraR5cw==
Date: Fri, 7 Jan 2022 16:51:11 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: jgross@suse.com
cc: sstabellini@kernel.org, boris.ostrovsky@oracle.com, 
    xen-devel@lists.xenproject.org
Subject: [LINUX PATCH 0/2] XENFEAT_xenstore_late_init
Message-ID: <alpine.DEB.2.22.394.2201071621100.2060010@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Hi all,

This small patch series for Linux implements support for the new feature
flag XENFEAT_xenstore_late_init. See "[XEN PATCH 0/7] dom0less PV
drivers" for the Xen side.

With this small patch series applied, it is possible to use PV drivers
in Linux when Linux is booted as dom0less kernel.

Cheers,

Stefano

Luca Miccio (2):
      xen: introduce XENFEAT_xenstore_late_init
      xen: add support for XENFEAT_xenstore_late_init

 drivers/xen/xenbus/xenbus_probe.c | 78 +++++++++++++++++++++++++++++++++++----
 include/xen/interface/features.h  |  5 +++
 2 files changed, 76 insertions(+), 7 deletions(-)


From xen-devel-bounces@lists.xenproject.org Sat Jan 08 00:51:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Jan 2022 00:51:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254735.436594 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5zx7-0003r1-Ub; Sat, 08 Jan 2022 00:51:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254735.436594; Sat, 08 Jan 2022 00: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 1n5zx7-0003qu-RR; Sat, 08 Jan 2022 00:51:25 +0000
Received: by outflank-mailman (input) for mailman id 254735;
 Sat, 08 Jan 2022 00:51:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CE0l=RY=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n5zx6-0003o0-FP
 for xen-devel@lists.xenproject.org; Sat, 08 Jan 2022 00:51:24 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 195d5f2d-701d-11ec-81c1-a30af7de8005;
 Sat, 08 Jan 2022 01:51:23 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 0C34461F20;
 Sat,  8 Jan 2022 00:51:22 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 358F3C36AEB;
 Sat,  8 Jan 2022 00:51: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: 195d5f2d-701d-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1641603081;
	bh=Evoa4GFz1qTowYJne3oUn6qfMxpVbs6Xo5ayW1kl7h4=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=vOsLVvbpkAZ7i2npsV+5gqf+gRfFetMK++NyRJJGyZ7nGBm7bqiXez4VEAmd5RFxo
	 culRQ1eMpDrzSPjiWuQI6NIZES7j1Bhq+bmpygf1CuYt1yxAH1btgf6PfeWUb+lolk
	 ZHsTJWE1df5l0EkGRWMLnEhgs3TQ5Kxf98Cc882VwHF/Fcqikt+o555k9LBtMm4WaT
	 qLoqtmBNPudBbRe936mNuwxATMXkiQjwkpDRyEZD2orVe1f/2igPykiZ+bqt4NAHul
	 y3cvYO5Jl/2qnudfzRD9Qa/8wdz9NLmyoYXrngVqXRxtt0KjaFqFStlwb6RgC+ygcO
	 kFmGllZw/9J/w==
From: Stefano Stabellini <sstabellini@kernel.org>
To: jgross@suse.com
Cc: boris.ostrovsky@oracle.com,
	xen-devel@lists.xenproject.org,
	sstabellini@kernel.org,
	Luca Miccio <lucmiccio@gmail.com>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>
Subject: [LINUX PATCH 1/2] xen: introduce XENFEAT_xenstore_late_init
Date: Fri,  7 Jan 2022 16:51:18 -0800
Message-Id: <20220108005119.3820799-1-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2201071621100.2060010@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201071621100.2060010@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Luca Miccio <lucmiccio@gmail.com>

Add the new XENFEAT_xenstore_late_init flag to the features header file.

Signed-off-by: Luca Miccio <lucmiccio@gmail.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
---
 include/xen/interface/features.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/include/xen/interface/features.h b/include/xen/interface/features.h
index 53f760378e39..2b121b53394f 100644
--- a/include/xen/interface/features.h
+++ b/include/xen/interface/features.h
@@ -97,6 +97,11 @@
 #define XENFEAT_not_direct_mapped         16
 #define XENFEAT_direct_mapped             17
 
+/*
+ * The xenstore interface should be initialized only after receiving a
+ * xenstore event channel notification.
+ */
+#define XENFEAT_xenstore_late_init 18
 #define XENFEAT_NR_SUBMAPS 1
 
 #endif /* __XEN_PUBLIC_FEATURES_H__ */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sat Jan 08 00:51:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Jan 2022 00:51:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254736.436598 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5zx8-0003u9-7e; Sat, 08 Jan 2022 00:51:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254736.436598; Sat, 08 Jan 2022 00:51:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5zx8-0003ss-33; Sat, 08 Jan 2022 00:51:26 +0000
Received: by outflank-mailman (input) for mailman id 254736;
 Sat, 08 Jan 2022 00:51:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CE0l=RY=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n5zx6-0003U9-Fm
 for xen-devel@lists.xenproject.org; Sat, 08 Jan 2022 00:51:24 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 19929110-701d-11ec-9ce5-af14b9085ebd;
 Sat, 08 Jan 2022 01:51:23 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 6D36362033;
 Sat,  8 Jan 2022 00:51:22 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A0B6AC36AEF;
 Sat,  8 Jan 2022 00:51: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: 19929110-701d-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1641603081;
	bh=Jru6tGMavNUeuCFUXUd/nBaH97FS3SVNSYf32+ByzXE=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=HApksTU2rBHZBr+HoBqka+9zxnzSJuPolt2ZWa6jxuykcjrdlrX0Fu2aR9Vm3OHD7
	 HYDvXWHkomHaIcLBZ3c7Vqe2ZrIAL2+1uMiqn5TPvEj5Bnfw93J7M28PPBRSNQSqlH
	 ViH8QOmb7/P/PsaAVolfMY+6dVj5fcWQ3tmVYc0CdONbPNhs+g6Y9+2FjCLTWVXaBv
	 /9U9TOXuywIY1GLX9P57FlyJe+4wq1CvTayvVeI9BmxJIq5Q/6ELl/yFMxA3sgydoj
	 vjAos/HzXTmSGwd8dU0rnj3t1YfRmIQobBnX1Xs2+O02E6Jbk/dOYTZUrPJaLYdf36
	 ZlJ2Wsh6a0Rpw==
From: Stefano Stabellini <sstabellini@kernel.org>
To: jgross@suse.com
Cc: boris.ostrovsky@oracle.com,
	xen-devel@lists.xenproject.org,
	sstabellini@kernel.org,
	Luca Miccio <lucmiccio@gmail.com>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>
Subject: [LINUX PATCH 2/2] xen: add support for XENFEAT_xenstore_late_init
Date: Fri,  7 Jan 2022 16:51:19 -0800
Message-Id: <20220108005119.3820799-2-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2201071621100.2060010@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201071621100.2060010@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Luca Miccio <lucmiccio@gmail.com>

XENFEAT_xenstore_late_init requires xenstore to be initialized later,
after receiving an event channel notification on the xenstore event
channel (which is available since boot).

This patch adds support for delaying the Xenstore initialization as
required when XENFEAT_xenstore_late_init is set.

Signed-off-by: Luca Miccio <lucmiccio@gmail.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
---
 drivers/xen/xenbus/xenbus_probe.c | 78 ++++++++++++++++++++++++++++---
 1 file changed, 71 insertions(+), 7 deletions(-)

diff --git a/drivers/xen/xenbus/xenbus_probe.c b/drivers/xen/xenbus/xenbus_probe.c
index fe360c33ce71..d4a982a883b7 100644
--- a/drivers/xen/xenbus/xenbus_probe.c
+++ b/drivers/xen/xenbus/xenbus_probe.c
@@ -65,6 +65,7 @@
 #include "xenbus.h"
 
 
+static int late_init_irq;
 int xen_store_evtchn;
 EXPORT_SYMBOL_GPL(xen_store_evtchn);
 
@@ -750,6 +751,17 @@ static void xenbus_probe(void)
 {
 	xenstored_ready = 1;
 
+	if (xen_feature(XENFEAT_xenstore_late_init)) {
+		xen_store_interface = xen_remap(xen_store_gfn << XEN_PAGE_SHIFT,
+						XEN_PAGE_SIZE);
+		/*
+		 * Now it is safe to free the IRQ used for xenstore late
+		 * initialization. No need to unbind: it is about to be
+		 * bound again.
+		 */
+		free_irq(late_init_irq, &xb_waitq);
+	}
+
 	/*
 	 * In the HVM case, xenbus_init() deferred its call to
 	 * xs_init() in case callbacks were not operational yet.
@@ -798,20 +810,23 @@ static int __init xenbus_probe_initcall(void)
 {
 	/*
 	 * Probe XenBus here in the XS_PV case, and also XS_HVM unless we
-	 * need to wait for the platform PCI device to come up.
+	 * need to wait for the platform PCI device to come up or
+	 * XENFEAT_xenstore_late_init is set.
 	 */
 	if (xen_store_domain_type == XS_PV ||
 	    (xen_store_domain_type == XS_HVM &&
-	     !xs_hvm_defer_init_for_callback()))
+	     !xs_hvm_defer_init_for_callback() &&
+	     !xen_feature(XENFEAT_xenstore_late_init)))
 		xenbus_probe();
 
 	/*
-	 * For XS_LOCAL, spawn a thread which will wait for xenstored
-	 * or a xenstore-stubdom to be started, then probe. It will be
-	 * triggered when communication starts happening, by waiting
-	 * on xb_waitq.
+	 * For XS_LOCAL or domains with XENFEAT_xenstore_late_init, spawn a
+	 * thread which will wait for xenstored or a xenstore-stubdom to be
+	 * started, then probe.  It will be triggered when communication
+	 * starts happening, by waiting on xb_waitq.
 	 */
-	if (xen_store_domain_type == XS_LOCAL) {
+	if (xen_store_domain_type == XS_LOCAL ||
+		xen_feature(XENFEAT_xenstore_late_init) ) {
 		struct task_struct *probe_task;
 
 		probe_task = kthread_run(xenbus_probe_thread, NULL,
@@ -907,6 +922,24 @@ static struct notifier_block xenbus_resume_nb = {
 	.notifier_call = xenbus_resume_cb,
 };
 
+static irqreturn_t xenbus_late_init(int irq, void *unused)
+{
+	int err = 0;
+	uint64_t v = 0;
+
+	err = hvm_get_parameter(HVM_PARAM_STORE_EVTCHN, &v);
+	if (err)
+		return IRQ_HANDLED;
+	xen_store_evtchn = (int)v;
+	err = hvm_get_parameter(HVM_PARAM_STORE_PFN, &v);
+	if (err || !v || !~v)
+		return IRQ_HANDLED;
+	xen_store_gfn = (unsigned long)v;
+
+	wake_up(&xb_waitq);
+	return IRQ_HANDLED;
+}
+
 static int __init xenbus_init(void)
 {
 	int err;
@@ -929,6 +962,36 @@ static int __init xenbus_init(void)
 	if (xen_pv_domain() && xen_start_info->store_evtchn)
 		xenstored_ready = 1;
 
+	/*
+	 * If a domain has been configured to initialize xenstore later
+	 * (e.g. dom0less domains), wait until the xenstore event channel is
+	 * triggered for the first time. The IRQ handler will take care for
+	 * initializing xenstore common variabiles that, in a standard
+	 * scenario, are configured here.
+	 */
+	if (xen_feature(XENFEAT_xenstore_late_init)) {
+		if (xen_store_domain_type != XS_HVM || xen_feature(XENFEAT_dom0)) {
+			pr_err("xenstore_late_init not supported this domain\n");
+			return -EINVAL;
+		}
+
+		err = hvm_get_parameter(HVM_PARAM_STORE_EVTCHN, &v);
+		if (err < 0) {
+			pr_err("xenstore_late_init err=%d\n", err);
+			return err;
+		}
+
+		err = bind_evtchn_to_irqhandler(v, xenbus_late_init,
+						0, "xenstore_late_init", &xb_waitq);
+		if (err < 0) {
+			pr_err("xenstore_late_init couldn't bind irq err=%d\n", err);
+			return err;
+		}
+
+		late_init_irq = err;
+		goto out_late_init;
+	}
+
 	switch (xen_store_domain_type) {
 	case XS_LOCAL:
 		err = xenstored_local_init();
@@ -995,6 +1058,7 @@ static int __init xenbus_init(void)
 		}
 	}
 
+out_late_init:
 	if ((xen_store_domain_type != XS_LOCAL) &&
 	    (xen_store_domain_type != XS_UNKNOWN))
 		xen_resume_notifier_register(&xenbus_resume_nb);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sat Jan 08 00:52:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Jan 2022 00:52:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254753.436617 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5zyR-0005OW-Hi; Sat, 08 Jan 2022 00:52:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254753.436617; Sat, 08 Jan 2022 00:52:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n5zyR-0005OP-EI; Sat, 08 Jan 2022 00:52:47 +0000
Received: by outflank-mailman (input) for mailman id 254753;
 Sat, 08 Jan 2022 00:52:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n5zyP-0005O2-Es; Sat, 08 Jan 2022 00:52:45 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n5zyP-000643-Bu; Sat, 08 Jan 2022 00:52:45 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n5zyP-0007PM-1u; Sat, 08 Jan 2022 00:52:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n5zyP-0006Vh-1Q; Sat, 08 Jan 2022 00:52:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=TE64BNfMroEjnQZfDJ1ZrAHjKOJm8IZA2gDfIv82cZM=; b=AOka9JmIuTLd4BVWlXKtzUuWRk
	6yFSMC2JZTXFpdV8vgG842Z02TYP1kKe9KXjEYJXHjmDIex45xK4lGieUoUhb+YwXNJ0+V8kA5qnl
	DCTEZQ8aYxeOPxjslypA2FPF6m7fBHT2OkR8OOywSXCPs5LOLedvXSwNQAEnH+SLQjYI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167630-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167630: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt-qcow2:guest-start:fail:heisenbug
    xen-unstable:test-amd64-amd64-dom0pvh-xl-intel:guest-localmigrate/x10:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-rtds:guest-stop:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt-qcow2: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-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-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-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-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt: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: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-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-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=ced5685208f4525edc3aa86f41eeaee5ccc9fe31
X-Osstest-Versions-That:
    xen=ced5685208f4525edc3aa86f41eeaee5ccc9fe31
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 08 Jan 2022 00:52:45 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt-qcow2 13 guest-start    fail in 167622 pass in 167630
 test-amd64-amd64-dom0pvh-xl-intel 20 guest-localmigrate/x10 fail pass in 167622
 test-armhf-armhf-xl-rtds     17 guest-stop                 fail pass in 167622

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

version targeted for testing:
 xen                  ced5685208f4525edc3aa86f41eeaee5ccc9fe31
baseline version:
 xen                  ced5685208f4525edc3aa86f41eeaee5ccc9fe31

Last test of basis   167630  2022-01-07 08:11: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                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


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

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

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

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


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Sat Jan 08 02:35:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Jan 2022 02:35:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254770.436628 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n61Zn-0000ei-DF; Sat, 08 Jan 2022 02:35:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254770.436628; Sat, 08 Jan 2022 02:35:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n61Zn-0000ea-6x; Sat, 08 Jan 2022 02:35:27 +0000
Received: by outflank-mailman (input) for mailman id 254770;
 Sat, 08 Jan 2022 02:35:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=T8k6=RY=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1n61Zm-0000eU-Eg
 for xen-devel@lists.xenproject.org; Sat, 08 Jan 2022 02:35:26 +0000
Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com
 [66.111.4.27]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a0b0a79a-702b-11ec-9ce5-af14b9085ebd;
 Sat, 08 Jan 2022 03:35:24 +0100 (CET)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.46])
 by mailout.nyi.internal (Postfix) with ESMTP id 06A4D5C00A7;
 Fri,  7 Jan 2022 21:35:22 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute6.internal (MEProxy); Fri, 07 Jan 2022 21:35:22 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 7 Jan 2022 21:35:20 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a0b0a79a-702b-11ec-9ce5-af14b9085ebd
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=fm1; bh=XMWhE2
	GZGidldO9ve0DK55y1h39zSLSSL7411+KkR/Q=; b=lI/x4ESdxJwT8izwSH3pAE
	t2zvavKGWBsVfoqXnwD5uu3DxfinDnyKpwLTDjA5ZrMP/PeCh+1vmSq2FyevuHXr
	+mhsP4xyp88Su78dJ5AoJCZHXQSvaMOU0ZpD6IGP7SPh0InEhZBkWhSzjpFzGmjC
	tCYrZuDD0lzeNnwEd7QJHGN8WCOeuwj9JA6m6rLKcgL/VBDCFhMYEWENdnd+9vs0
	P0HfrNsmclGQ5VwxWtRj+iMFv2mOZhCJ3/2H6BqYPYyttQjcYwK+0RrCoQXWPh0o
	WoOUtY7hL180IvKoN516hvQTxeXtuB+K3LBOyfcKbcTn5hPGmsKmVdsIrW4y1RXg
	==
X-ME-Sender: <xms:afjYYSuyfCVrON4TCh9c2IvvwxgcVlrBnalS3EHsLVdZwIK-7twcIA>
    <xme:afjYYXeaxM9AeA3GUTwHjKpjtimtKfmZIn5OiNbgkBWYVy0XuBKKxtQko-HHqR6N2
    Za4q1KhyN0kTQ>
X-ME-Received: <xmr:afjYYdwGkajeKL_MdJB7YH53YvonkOo7fo4gPaSND-PPTi3zlhHAwP8l6KcmhTH-z_QYDl29Y9uDvCy60JkeFw6d4iLwV8d5>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvuddrudegfedggeekucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvffukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeforghrvghk
    ucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesihhnvh
    hishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeetveff
    iefghfekhffggeeffffhgeevieektedthfehveeiheeiiedtudegfeetffenucevlhhush
    htvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhes
    ihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:afjYYdP_nHGXY7Y8fdiJcjCv8XLwWMc6B8RoQo1RkUIBjTEukfHBtg>
    <xmx:afjYYS9DeHoyIIikTPuoNxCcesu2cUFEianxwcNyOB1T-mKAAd_JSQ>
    <xmx:afjYYVVxy2Piqa0KFlS4mHEyfGE9uAzWgfOsD-Jai9IwNNzGe2Us9w>
    <xmx:avjYYSz49gQBVaAL8fDtnt7D4p5_MlYNlMH05rNZHoGTQvfei_YerQ>
Date: Sat, 8 Jan 2022 03:35:16 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, julien@xen.org,
	Bertrand.Marquis@arm.com, Luca Miccio <lucmiccio@gmail.com>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>, wl@xen.org,
	anthony.perard@citrix.com, jgross@suse.com
Subject: Re: [XEN PATCH 3/7] tools: add a late_init argument to
 xs_introduce_domain
Message-ID: <Ydj4ZFQUBjTWfvyZ@mail-itl>
References: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop>
 <20220108004912.3820176-3-sstabellini@kernel.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="dkBDSkloyk+hHRDK"
Content-Disposition: inline
In-Reply-To: <20220108004912.3820176-3-sstabellini@kernel.org>


--dkBDSkloyk+hHRDK
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Sat, 8 Jan 2022 03:35:16 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, julien@xen.org,
	Bertrand.Marquis@arm.com, Luca Miccio <lucmiccio@gmail.com>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>, wl@xen.org,
	anthony.perard@citrix.com, jgross@suse.com
Subject: Re: [XEN PATCH 3/7] tools: add a late_init argument to
 xs_introduce_domain

On Fri, Jan 07, 2022 at 04:49:08PM -0800, Stefano Stabellini wrote:
> From: Luca Miccio <lucmiccio@gmail.com>
>=20
> Add a late_init argument to xs_introduce_domain to handle dom0less
> guests whose xenstore interfaces are initialized after boot.
>=20
> This patch mechanically adds the new parameter; it doesn't change
> behaviors.
>=20
> Signed-off-by: Luca Miccio <lucmiccio@gmail.com>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>

I realize there is not much sense in making the parameter usable in the
Python API, since it's only useful for xenstored. So, for the Python part:

Acked-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>

> CC: wl@xen.org
> CC: anthony.perard@citrix.com
> CC: jgross@suse.com
> CC: marmarek@invisiblethingslab.com
> ---
>  tools/include/xenstore.h          | 3 ++-
>  tools/libs/light/libxl_dom.c      | 3 ++-
>  tools/libs/store/xs.c             | 8 ++++++--
>  tools/python/xen/lowlevel/xs/xs.c | 2 +-
>  4 files changed, 11 insertions(+), 5 deletions(-)
>=20
> diff --git a/tools/include/xenstore.h b/tools/include/xenstore.h
> index 2b3f69fb61..1a302b5ff9 100644
> --- a/tools/include/xenstore.h
> +++ b/tools/include/xenstore.h
> @@ -226,7 +226,8 @@ bool xs_transaction_end(struct xs_handle *h, xs_trans=
action_t t,
>  bool xs_introduce_domain(struct xs_handle *h,
>  			 unsigned int domid,
>  			 unsigned long mfn,
> -                         unsigned int eventchn);=20
> +			 unsigned int eventchn,
> +			 bool late_init);
> =20
>  /* Set the target of a domain
>   * This tells the store daemon that a domain is targetting another one, =
so
> diff --git a/tools/libs/light/libxl_dom.c b/tools/libs/light/libxl_dom.c
> index 2abaab439c..bacfdfa9df 100644
> --- a/tools/libs/light/libxl_dom.c
> +++ b/tools/libs/light/libxl_dom.c
> @@ -497,7 +497,8 @@ retry_transaction:
>      if (!xs_transaction_end(ctx->xsh, t, 0))
>          if (errno =3D=3D EAGAIN)
>              goto retry_transaction;
> -    xs_introduce_domain(ctx->xsh, domid, state->store_mfn, state->store_=
port);
> +    xs_introduce_domain(ctx->xsh, domid, state->store_mfn, state->store_=
port,
> +                        false);
>      free(vm_path);
>      return 0;
>  }
> diff --git a/tools/libs/store/xs.c b/tools/libs/store/xs.c
> index 7a9a8b1656..dd47d607fd 100644
> --- a/tools/libs/store/xs.c
> +++ b/tools/libs/store/xs.c
> @@ -1089,16 +1089,18 @@ bool xs_transaction_end(struct xs_handle *h, xs_t=
ransaction_t t,
>   */
>  bool xs_introduce_domain(struct xs_handle *h,
>  			 unsigned int domid, unsigned long mfn,
> -			 unsigned int eventchn)
> +			 unsigned int eventchn, bool late_init)
>  {
>  	char domid_str[MAX_STRLEN(domid)];
>  	char mfn_str[MAX_STRLEN(mfn)];
>  	char eventchn_str[MAX_STRLEN(eventchn)];
> -	struct iovec iov[3];
> +	char late_init_str[MAX_STRLEN(late_init)];
> +	struct iovec iov[4];
> =20
>  	snprintf(domid_str, sizeof(domid_str), "%u", domid);
>  	snprintf(mfn_str, sizeof(mfn_str), "%lu", mfn);
>  	snprintf(eventchn_str, sizeof(eventchn_str), "%u", eventchn);
> +	snprintf(late_init_str, sizeof(late_init_str), "%u", late_init);
> =20
>  	iov[0].iov_base =3D domid_str;
>  	iov[0].iov_len =3D strlen(domid_str) + 1;
> @@ -1106,6 +1108,8 @@ bool xs_introduce_domain(struct xs_handle *h,
>  	iov[1].iov_len =3D strlen(mfn_str) + 1;
>  	iov[2].iov_base =3D eventchn_str;
>  	iov[2].iov_len =3D strlen(eventchn_str) + 1;
> +	iov[3].iov_base =3D late_init_str;
> +	iov[3].iov_len =3D strlen(late_init_str) + 1;
> =20
>  	return xs_bool(xs_talkv(h, XBT_NULL, XS_INTRODUCE, iov,
>  				ARRAY_SIZE(iov), NULL));
> diff --git a/tools/python/xen/lowlevel/xs/xs.c b/tools/python/xen/lowleve=
l/xs/xs.c
> index 0dad7fa5f2..dc667fb231 100644
> --- a/tools/python/xen/lowlevel/xs/xs.c
> +++ b/tools/python/xen/lowlevel/xs/xs.c
> @@ -678,7 +678,7 @@ static PyObject *xspy_introduce_domain(XsHandle *self=
, PyObject *args)
>          return NULL;
> =20
>      Py_BEGIN_ALLOW_THREADS
> -    result =3D xs_introduce_domain(xh, dom, page, port);
> +    result =3D xs_introduce_domain(xh, dom, page, port, false);
>      Py_END_ALLOW_THREADS
> =20
>      return none(result);
> --=20
> 2.25.1
>=20

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

--dkBDSkloyk+hHRDK
Content-Type: application/pgp-signature; name="signature.asc"

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmHY+GQACgkQ24/THMrX
1ywmQAgAkO6R+/RYeMXOPAVaoUNUk7fclkRoqOJne5re3wXXI7Ny46sQB4cBTIjM
VG0a/cBkPWqY7SZPU2oU2W8ITEiHEEdLvrQOKb8iW7b1ht2Tbhb/xQYO3lV4RwUh
y+G8Er7i+YcKMzOAwQZHspYhcxs4a2e4w25NmsjTssuADT4Vk15x5rF/bG0OQkOf
unHl0AcnKuUni5cPT/pA46rpNJ/Hu35pgBFUQVipMyqoo5R//8+CpKOiecmqv864
WFBRqdlANU7cod/XbIEPWqyLEDklPT11QylrYLa8vDmEN6td+ETfX8oMWkxHCmjY
PSECOvoTJb3esDMNBonrojSzS8lUhw==
=Va0y
-----END PGP SIGNATURE-----

--dkBDSkloyk+hHRDK--


From xen-devel-bounces@lists.xenproject.org Sat Jan 08 02:39:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Jan 2022 02:39:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254774.436639 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n61dh-0001K5-Qr; Sat, 08 Jan 2022 02:39:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254774.436639; Sat, 08 Jan 2022 02:39:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n61dh-0001Jy-Nm; Sat, 08 Jan 2022 02:39:29 +0000
Received: by outflank-mailman (input) for mailman id 254774;
 Sat, 08 Jan 2022 02:39:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=T8k6=RY=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1n61dg-0001Js-In
 for xen-devel@lists.xenproject.org; Sat, 08 Jan 2022 02:39:28 +0000
Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com
 [66.111.4.27]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 328a97e9-702c-11ec-9ce5-af14b9085ebd;
 Sat, 08 Jan 2022 03:39:27 +0100 (CET)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.nyi.internal (Postfix) with ESMTP id DB8A95C0124;
 Fri,  7 Jan 2022 21:39:26 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute4.internal (MEProxy); Fri, 07 Jan 2022 21:39:26 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 7 Jan 2022 21:39:25 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 328a97e9-702c-11ec-9ce5-af14b9085ebd
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=fm1; bh=NQvTSs
	3/vd63uTiwrJonZmwh12Z28cMqQwsuOKLz/WU=; b=RyWkCpipBMuxm4Q3sydUaj
	Juuvi8tj9VpgDgUs/nUz9DCNTs/qJf0O3rAK2sJtMvkcGCtwQZlaJ+0o/qbwOOpg
	qbD+gC3JRdARsfJxNXDfSNZHFWLjGvLSaOLvpoiAgnnbHrCRtgoF1LwIJXxAuPCj
	nx6pUa+G35vmFBtnaBfT24T5wA14uR87tJVjLlBo9iYkvXVv81rP0OGAWkk9PJFM
	jxdRzeD/aJQz6HYRaXdq4O+/8EPqWfeLDBdqNwwdXyvq94P1Dl8Sef816XVLj6Oe
	0aWzQm5T8Okxjmx+wl2eCupC0uv3KuzTyxc3RrhbjH1YAji2S5+RYyuGcU11F0Mg
	==
X-ME-Sender: <xms:XvnYYelCSDkxZwYz4h3VA6Lel9PLJ-Ghi1ppTMBx_fULL_FbiUk3eQ>
    <xme:XvnYYV3vo1Quo7xgduUsOqk2PCEF9BBmbf8L97GbKiWYiKAW9AxG5DzohB0xeK-t7
    GvsONhpV-vNpg>
X-ME-Received: <xmr:XvnYYcrQ9pm_P9KqbbTSzq7tFCtT-AUB7151VnDtStpRs-05H1Q8P4MlNrFUkjqIE64KujSvc1DI1Bf_iTsPhbIYDcS1twwT>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvuddrudegfedggeelucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvffukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeforghrvghk
    ucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesihhnvh
    hishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeetveff
    iefghfekhffggeeffffhgeevieektedthfehveeiheeiiedtudegfeetffenucevlhhush
    htvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhes
    ihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:XvnYYSnOxzgMzIqYFyinRm75AxPNYyc5s0zdErNIWLzYCUeKKVaPVQ>
    <xmx:XvnYYc1hW4gLTeriiS4CokoEEot2UGbvHC-6fVTrjGGqqbr4HY_kug>
    <xmx:XvnYYZtuqZjM1aMDV6RDOatIkkgoC9FfAwsKNRlH_77WrTPg4eTocg>
    <xmx:XvnYYWo04HhSFSWDIcOnb-i6cBebS5NrfenZSsYjpXAf-4_YViTtdQ>
Date: Sat, 8 Jan 2022 03:39:21 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, julien@xen.org,
	Bertrand.Marquis@arm.com, Luca Miccio <lucmiccio@gmail.com>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>, wl@xen.org,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: Re: [XEN PATCH 6/7] xenstored: do_introduce: handle the late_init
 case
Message-ID: <Ydj5WW6bBp6hMTOL@mail-itl>
References: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop>
 <20220108004912.3820176-6-sstabellini@kernel.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="BfLtsGd9IOVKQ1Fe"
Content-Disposition: inline
In-Reply-To: <20220108004912.3820176-6-sstabellini@kernel.org>


--BfLtsGd9IOVKQ1Fe
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Sat, 8 Jan 2022 03:39:21 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, julien@xen.org,
	Bertrand.Marquis@arm.com, Luca Miccio <lucmiccio@gmail.com>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>, wl@xen.org,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: Re: [XEN PATCH 6/7] xenstored: do_introduce: handle the late_init
 case

On Fri, Jan 07, 2022 at 04:49:11PM -0800, Stefano Stabellini wrote:
> From: Luca Miccio <lucmiccio@gmail.com>
>=20
> If the function is called with late_init set then also notify the domain
> using the xenstore event channel.
>=20
> Signed-off-by: Luca Miccio <lucmiccio@gmail.com>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
> CC: wl@xen.org
> CC: Anthony PERARD <anthony.perard@citrix.com>
> CC: Juergen Gross <jgross@suse.com>
> CC: julien@xen.org
> ---
>  tools/xenstore/xenstored_domain.c | 15 ++++++++++-----

Isn't the same necessary in oxenstored too? Otherwise, I think it needs
some explicit documentation, that late PV with dom0less requires
cxenstored.

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

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

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmHY+VoACgkQ24/THMrX
1ywU7Af/Y2pD/TELodChRmqiUpd2e3uWzmJmuxCzLVU3DnXs/sj/OHoSlbrVkuUb
BNX4X+eGjFC7RR5BGZ5wWihqgp+0C5Q1RBFxkIAReTR3rFDZEDORCrXy+MolPSSa
/u+g4tCy9hifRRTXfqc0SVLCjK+hmnM/iS78DSaVoc7B7f0gTMUnmgt9bav17dK1
uiJyS+9Hen2ZDLnlp1YJPFC6fY8tMOsMJjrzj16+V9Qfu1ss+pX85UvfepzacXzT
ysD61QAXnLnmA0YR34pkoxDCX+a4pEQbsUNiLLToeJtW2mQjj0o1ltJZnhPtoD7U
d0CMg5kVDLJRNFNL7GTksQacOAzfbw==
=S7J7
-----END PGP SIGNATURE-----

--BfLtsGd9IOVKQ1Fe--


From xen-devel-bounces@lists.xenproject.org Sat Jan 08 02:49:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Jan 2022 02:49:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254779.436649 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n61nM-0002oN-PT; Sat, 08 Jan 2022 02:49:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254779.436649; Sat, 08 Jan 2022 02:49:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n61nM-0002oG-MM; Sat, 08 Jan 2022 02:49:28 +0000
Received: by outflank-mailman (input) for mailman id 254779;
 Sat, 08 Jan 2022 02: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 1n61nL-0002o6-DW; Sat, 08 Jan 2022 02: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 1n61nL-0001e1-9B; Sat, 08 Jan 2022 02: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 1n61nK-0004a8-VF; Sat, 08 Jan 2022 02:49:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n61nK-0000Kp-Up; Sat, 08 Jan 2022 02: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=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=QcDjuB0aaGFTEs2a594EaVGt1S6l+s0nYI3cOUayWMc=; b=htAA6Wr4LuFir4Ts5Qq+mryaJq
	etzZw8SBuqNAQJTkuoQ6DuF8WQCAV1h5Yhc3Tn83UY0Nyb/sAw+bMu5RJ+pFhhgP0KILLsSIYcwDg
	MWgbRzanp4R+WzzLnCvU5GyBVHFJ8Bc9hsPe45PNL48+WRf04CR0hTQVbLakOPt0YOLM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167631-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167631: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-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-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt: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-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl: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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=ddec8ed2d4905d0967ce2ec432e440e582aa52c6
X-Osstest-Versions-That:
    linux=b2b436ec0205abde78ef8fd438758125ffbb0fec
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 08 Jan 2022 02:49:26 +0000

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

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

version targeted for testing:
 linux                ddec8ed2d4905d0967ce2ec432e440e582aa52c6
baseline version:
 linux                b2b436ec0205abde78ef8fd438758125ffbb0fec

Last test of basis   167624  2022-01-07 00:11:03 Z    1 days
Testing same since   167631  2022-01-07 11:56:48 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jason Gunthorpe <jgg@nvidia.com>
  Jiasheng Jiang <jiasheng@iscas.ac.cn>
  Leon Romanovsky <leonro@nvidia.com>
  Li Zhijian <lizhijian@cn.fujitsu.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Maor Gottlieb <maorg@nvidia.com>
  Zhu Yanjun <zyjzyj2000@gmail.com>

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


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

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

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

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


Pushing revision :

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


From xen-devel-bounces@lists.xenproject.org Sat Jan 08 03:42:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Jan 2022 03:42:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254788.436660 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n62c9-0000ED-Px; Sat, 08 Jan 2022 03:41:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254788.436660; Sat, 08 Jan 2022 03: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 1n62c9-0000E6-N1; Sat, 08 Jan 2022 03:41:57 +0000
Received: by outflank-mailman (input) for mailman id 254788;
 Sat, 08 Jan 2022 03:41: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 1n62c7-0000Ds-Qo
 for xen-devel@lists.xenproject.org; Sat, 08 Jan 2022 03:41: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 1n62c6-0002Wy-7O; Sat, 08 Jan 2022 03:41:54 +0000
Received: from [5.195.40.20] (helo=[10.235.48.67])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1n62c5-0004HA-Tm; Sat, 08 Jan 2022 03:41:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=uGUzn1dJHB1rmyS3yE1UNNt1WyiZNs1IrflKdcku34M=; b=zXIcMo7Q1Km9M4qX6jz7A3MFPT
	Ckivg9qdg8/VSeteKJf5CDzloEZAzraoe2k1cb+cAohTMXxJHgoRS/+ijdoJmoCzIqDe7V7hU9Lxl
	jeQTZ/PDJcyFD2MHrLUzUTnduwmBqRisl1yZajoKQtqclAyDlud5j/3V8WIoMe35j7sQ=;
Message-ID: <580a888e-24c4-5d16-8c70-f3d7b34ac2c9@xen.org>
Date: Sat, 8 Jan 2022 07:41:49 +0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.4.1
Subject: Re: [XEN PATCH 1/7] xen: introduce XENFEAT_xenstore_late_init
To: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
Cc: Bertrand.Marquis@arm.com, Luca Miccio <lucmiccio@gmail.com>,
 Stefano Stabellini <stefano.stabellini@xilinx.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Juergen Gross <jgross@suse.com>
References: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop>
 <20220108004912.3820176-1-sstabellini@kernel.org>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220108004912.3820176-1-sstabellini@kernel.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 08/01/2022 00:49, Stefano Stabellini wrote:
> From: Luca Miccio <lucmiccio@gmail.com>
> 
> Introduce a new feature flag to signal that xenstore will not be
> immediately available at boot time. Instead, xenstore will become
> available later, and a notification of xenstore readiness will be
> signalled to the guest using the xenstore event channel.

Hmmm... On the thread [1], you semmed to imply that new Linux version (I 
am assuming master) are ready to be used in dom0less with the node xen. 
So I am bit confused why this is necessary?

> 
> Signed-off-by: Luca Miccio <lucmiccio@gmail.com>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
> CC: Julien Grall <julien@xen.org>
> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> CC: Bertrand Marquis <bertrand.marquis@arm.com>
> CC: Andrew Cooper <andrew.cooper3@citrix.com>
> CC: Jan Beulich <jbeulich@suse.com>
> CC: George Dunlap <george.dunlap@citrix.com>
> CC: Wei Liu <wl@xen.org>
> ---
>   xen/arch/arm/include/asm/domain.h | 2 ++
>   xen/common/kernel.c               | 2 ++
>   xen/include/public/features.h     | 6 ++++++
>   3 files changed, 10 insertions(+)
> 
> diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
> index 9b3647587a..e5ae57cd09 100644
> --- a/xen/arch/arm/include/asm/domain.h
> +++ b/xen/arch/arm/include/asm/domain.h
> @@ -89,6 +89,8 @@ struct arch_domain
>   #ifdef CONFIG_TEE
>       void *tee;
>   #endif
> +    /* Is this guest a dom0less domain? */
> +    bool is_dom0less;
>   }  __cacheline_aligned;
>   
>   struct arch_vcpu
> diff --git a/xen/common/kernel.c b/xen/common/kernel.c
> index e119e5401f..c00ea67e5f 100644
> --- a/xen/common/kernel.c
> +++ b/xen/common/kernel.c
> @@ -550,6 +550,8 @@ DO(xen_version)(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>               if ( is_hardware_domain(d) )
>                   fi.submap |= 1U << XENFEAT_dom0;
>   #ifdef CONFIG_ARM
> +            if ( d->arch.is_dom0less )
> +                fi.submap |= (1U << XENFEAT_xenstore_late_init);
>               fi.submap |= (1U << XENFEAT_ARM_SMCCC_supported);
>   #endif
>   #ifdef CONFIG_X86
> diff --git a/xen/include/public/features.h b/xen/include/public/features.h
> index 9ee2f760ef..18f32b1a98 100644
> --- a/xen/include/public/features.h
> +++ b/xen/include/public/features.h
> @@ -128,6 +128,12 @@
>   #define XENFEAT_not_direct_mapped         16
>   #define XENFEAT_direct_mapped             17
>   
> +/*
> + * The xenstore interface should be initialized only after receiving a
> + * xenstore event channel notification.
> + */
> +#define XENFEAT_xenstore_late_init 18

You are assuming that there will be no event until Xenstored has 
discovered the domain. If I am not mistaken, this works because when you 
allocate an unbound port, we will not raise the event.

But I am not sure this is a guarantee for the event channel ABI. For 
instance, when using bind interdomain an event will be raised on the 
local port.

Looking at the Xenstore interface, there are a field connection. Could 
we use it (maybe a flag) to tell when the connection was fully initiated?

> +
>   #define XENFEAT_NR_SUBMAPS 1
>   
>   #endif /* __XEN_PUBLIC_FEATURES_H__ */

Cheers,

[1] <alpine.DEB.2.22.394.2112131729100.3376@ubuntu-linux-20-04-desktop>

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Jan 08 03:46:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Jan 2022 03:46:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254793.436672 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n62gR-0000qc-BL; Sat, 08 Jan 2022 03:46:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254793.436672; Sat, 08 Jan 2022 03:46:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n62gR-0000qV-88; Sat, 08 Jan 2022 03:46:23 +0000
Received: by outflank-mailman (input) for mailman id 254793;
 Sat, 08 Jan 2022 03:46: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 1n62gQ-0000qP-Nx
 for xen-devel@lists.xenproject.org; Sat, 08 Jan 2022 03:46: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 1n62gP-0002c3-M8; Sat, 08 Jan 2022 03:46:21 +0000
Received: from [5.195.40.20] (helo=[10.235.48.67])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1n62gP-0004nH-Ab; Sat, 08 Jan 2022 03:46:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=xpcea/bKwdi2Vy7dwXdyPwuczXG0hAgS1diSuvFYf18=; b=sjfPd1FtB7KsqHTDCdp6Jgy5tQ
	J/5ANLmscY0YZjNMiz8niFJgD3277UC78tDfOO0++cT5WXbBdbnm6Xg+zzdqHwtR0n8e00I8fKm1B
	epN7KwS2D6nhT4TfKNXLzSt/J7VfD2Bt2dK6uoIIkLYJG/Owv+dV0RthWPVKWbf4ANRI=;
Message-ID: <553d0fcb-98d0-78b2-81ea-350e9f530e6b@xen.org>
Date: Sat, 8 Jan 2022 07:46:17 +0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.4.1
Subject: Re: [XEN PATCH 3/7] tools: add a late_init argument to
 xs_introduce_domain
To: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
Cc: Bertrand.Marquis@arm.com, Luca Miccio <lucmiccio@gmail.com>,
 Stefano Stabellini <stefano.stabellini@xilinx.com>, wl@xen.org,
 anthony.perard@citrix.com, jgross@suse.com, marmarek@invisiblethingslab.com
References: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop>
 <20220108004912.3820176-3-sstabellini@kernel.org>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220108004912.3820176-3-sstabellini@kernel.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 08/01/2022 00:49, Stefano Stabellini wrote:
> From: Luca Miccio <lucmiccio@gmail.com>
> 
> Add a late_init argument to xs_introduce_domain to handle dom0less
> guests whose xenstore interfaces are initialized after boot.
> 
> This patch mechanically adds the new parameter; it doesn't change
> behaviors.
> 
> Signed-off-by: Luca Miccio <lucmiccio@gmail.com>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
> CC: wl@xen.org
> CC: anthony.perard@citrix.com
> CC: jgross@suse.com
> CC: marmarek@invisiblethingslab.com
> ---
>   tools/include/xenstore.h          | 3 ++-
>   tools/libs/light/libxl_dom.c      | 3 ++-
>   tools/libs/store/xs.c             | 8 ++++++--
>   tools/python/xen/lowlevel/xs/xs.c | 2 +-
>   4 files changed, 11 insertions(+), 5 deletions(-)
> 
> diff --git a/tools/include/xenstore.h b/tools/include/xenstore.h
> index 2b3f69fb61..1a302b5ff9 100644
> --- a/tools/include/xenstore.h
> +++ b/tools/include/xenstore.h
> @@ -226,7 +226,8 @@ bool xs_transaction_end(struct xs_handle *h, xs_transaction_t t,
>   bool xs_introduce_domain(struct xs_handle *h,
>   			 unsigned int domid,
>   			 unsigned long mfn,
> -                         unsigned int eventchn);
> +			 unsigned int eventchn,
> +			 bool late_init);
>   
>   /* Set the target of a domain
>    * This tells the store daemon that a domain is targetting another one, so
> diff --git a/tools/libs/light/libxl_dom.c b/tools/libs/light/libxl_dom.c
> index 2abaab439c..bacfdfa9df 100644
> --- a/tools/libs/light/libxl_dom.c
> +++ b/tools/libs/light/libxl_dom.c
> @@ -497,7 +497,8 @@ retry_transaction:
>       if (!xs_transaction_end(ctx->xsh, t, 0))
>           if (errno == EAGAIN)
>               goto retry_transaction;
> -    xs_introduce_domain(ctx->xsh, domid, state->store_mfn, state->store_port);
> +    xs_introduce_domain(ctx->xsh, domid, state->store_mfn, state->store_port,
> +                        false);
>       free(vm_path);
>       return 0;
>   }
> diff --git a/tools/libs/store/xs.c b/tools/libs/store/xs.c
> index 7a9a8b1656..dd47d607fd 100644
> --- a/tools/libs/store/xs.c
> +++ b/tools/libs/store/xs.c
> @@ -1089,16 +1089,18 @@ bool xs_transaction_end(struct xs_handle *h, xs_transaction_t t,
>    */
>   bool xs_introduce_domain(struct xs_handle *h,
>   			 unsigned int domid, unsigned long mfn,
> -			 unsigned int eventchn)
> +			 unsigned int eventchn, bool late_init)

The interface of libstore is meant to be stable/versioned. So I don't 
think you can change xs_introduce_domain().

>   {
>   	char domid_str[MAX_STRLEN(domid)];
>   	char mfn_str[MAX_STRLEN(mfn)];
>   	char eventchn_str[MAX_STRLEN(eventchn)];
> -	struct iovec iov[3];
> +	char late_init_str[MAX_STRLEN(late_init)];
> +	struct iovec iov[4];
>   
>   	snprintf(domid_str, sizeof(domid_str), "%u", domid);
>   	snprintf(mfn_str, sizeof(mfn_str), "%lu", mfn);
>   	snprintf(eventchn_str, sizeof(eventchn_str), "%u", eventchn);
> +	snprintf(late_init_str, sizeof(late_init_str), "%u", late_init);
>   
>   	iov[0].iov_base = domid_str;
>   	iov[0].iov_len = strlen(domid_str) + 1;
> @@ -1106,6 +1108,8 @@ bool xs_introduce_domain(struct xs_handle *h,
>   	iov[1].iov_len = strlen(mfn_str) + 1;
>   	iov[2].iov_base = eventchn_str;
>   	iov[2].iov_len = strlen(eventchn_str) + 1;
> +	iov[3].iov_base = late_init_str;
> +	iov[3].iov_len = strlen(late_init_str) + 1;
>   
>   	return xs_bool(xs_talkv(h, XBT_NULL, XS_INTRODUCE, iov,
>   				ARRAY_SIZE(iov), NULL));
> diff --git a/tools/python/xen/lowlevel/xs/xs.c b/tools/python/xen/lowlevel/xs/xs.c
> index 0dad7fa5f2..dc667fb231 100644
> --- a/tools/python/xen/lowlevel/xs/xs.c
> +++ b/tools/python/xen/lowlevel/xs/xs.c
> @@ -678,7 +678,7 @@ static PyObject *xspy_introduce_domain(XsHandle *self, PyObject *args)
>           return NULL;
>   
>       Py_BEGIN_ALLOW_THREADS
> -    result = xs_introduce_domain(xh, dom, page, port);
> +    result = xs_introduce_domain(xh, dom, page, port, false);
>       Py_END_ALLOW_THREADS
>   
>       return none(result);

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Jan 08 03:55:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Jan 2022 03:55:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254797.436683 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n62or-0002Jp-8Z; Sat, 08 Jan 2022 03:55:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254797.436683; Sat, 08 Jan 2022 03:55: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 1n62or-0002Ji-3x; Sat, 08 Jan 2022 03:55:05 +0000
Received: by outflank-mailman (input) for mailman id 254797;
 Sat, 08 Jan 2022 03:55: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 1n62op-0002Jc-WB
 for xen-devel@lists.xenproject.org; Sat, 08 Jan 2022 03:55: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 1n62oo-0002nF-P5; Sat, 08 Jan 2022 03:55:02 +0000
Received: from [5.195.40.20] (helo=[10.235.48.67])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1n62oo-0005GP-Fd; Sat, 08 Jan 2022 03:55:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=FYRfsdaCx2Q43gUUko8QJbLa85UbwnZLgGISak8Tq8I=; b=vUGSlvm2ZPx+Uqt/CfyLuAAEmB
	JfNWWlSGcJsNGziQfN07iKYRMjH0aAmKaj4wm0bTgR+MAJsNpxNSjgssG0ZdMDSLaPrJ8bdiAwWN7
	r5V2HNlyODawaQIaqq1IFTwNAQptSijC8RHFDq0A+oOzuJyzVndjg8e+clWNWwSXSNwo=;
Message-ID: <3c2bb1e9-16d7-0329-9396-db7705f84ae6@xen.org>
Date: Sat, 8 Jan 2022 07:54:58 +0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.4.1
Subject: Re: [XEN PATCH 6/7] xenstored: do_introduce: handle the late_init
 case
To: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
Cc: Bertrand.Marquis@arm.com, Luca Miccio <lucmiccio@gmail.com>,
 Stefano Stabellini <stefano.stabellini@xilinx.com>, wl@xen.org,
 Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
References: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop>
 <20220108004912.3820176-6-sstabellini@kernel.org>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220108004912.3820176-6-sstabellini@kernel.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 08/01/2022 00:49, Stefano Stabellini wrote:
> From: Luca Miccio <lucmiccio@gmail.com>
> 
> If the function is called with late_init set then also notify the domain
> using the xenstore event channel.
> 
> Signed-off-by: Luca Miccio <lucmiccio@gmail.com>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
> CC: wl@xen.org
> CC: Anthony PERARD <anthony.perard@citrix.com>
> CC: Juergen Gross <jgross@suse.com>
> CC: julien@xen.org
> ---
>   tools/xenstore/xenstored_domain.c | 15 ++++++++++-----

All the changes to the protocol should be reflected in 
docs/misc/xenstore.txt. However...

>   1 file changed, 10 insertions(+), 5 deletions(-)
> 
> diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
> index d03c7d93a9..17b8021ca8 100644
> --- a/tools/xenstore/xenstored_domain.c
> +++ b/tools/xenstore/xenstored_domain.c
> @@ -429,7 +429,7 @@ static void domain_conn_reset(struct domain *domain)
>   
>   static struct domain *introduce_domain(const void *ctx,
>   				       unsigned int domid,
> -				       evtchn_port_t port, bool restore)
> +				       evtchn_port_t port, bool restore, bool late_init)
>   {
>   	struct domain *domain;
>   	int rc;
> @@ -461,6 +461,9 @@ static struct domain *introduce_domain(const void *ctx,
>   		/* Now domain belongs to its connection. */
>   		talloc_steal(domain->conn, domain);
>   
> +		if (late_init)
> +			xenevtchn_notify(xce_handle, domain->port);

... I am not convinced the parameter late_init is necessary. I believe 
it would be safe to always raise an event channel because a domain 
should be resilient (event channel are just to say "Please check the 
status", there are no data carried).

If you really need late_init, then it should be made optional to avoid 
breaking existing user of Xenstore (IHMO the protocol is stable and 
should be backward compatible).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Jan 08 04:02:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Jan 2022 04:02:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254803.436693 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n62wF-0003qd-0I; Sat, 08 Jan 2022 04:02:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254803.436693; Sat, 08 Jan 2022 04: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 1n62wE-0003qW-T7; Sat, 08 Jan 2022 04:02:42 +0000
Received: by outflank-mailman (input) for mailman id 254803;
 Sat, 08 Jan 2022 04:02: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 1n62wD-0003qQ-Tj
 for xen-devel@lists.xenproject.org; Sat, 08 Jan 2022 04:02: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 1n62wC-000320-P0; Sat, 08 Jan 2022 04:02:40 +0000
Received: from [5.195.40.20] (helo=[10.235.48.67])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1n62wC-00067n-C4; Sat, 08 Jan 2022 04: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=NkXqpWc2NU0k6G1sSWXUyM8nVSowUpkdUp7aalfeor8=; b=j3ENTKbnMS19k5FzRqOaHhL/Or
	A9PQsfX+lf1UN9Rna4+nyNw9SWrNwGw1gULxdlIkOI+S0Ebsxj0LBY7P37hny8IxzZOMVjqrLNNz3
	50aA7ZJf0syWlQNhjt6Pj0hbo/O9n2olcZIDkCjLfYrXIULZgGJHBPIYJxJ4+BRdnVDw=;
Message-ID: <47834af4-6c87-afd5-f8a0-c4086a938fb4@xen.org>
Date: Sat, 8 Jan 2022 08:02:35 +0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.4.1
Subject: Re: [XEN PATCH 7/7] tools: add example application to initialize
 dom0less PV drivers
To: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
Cc: Bertrand.Marquis@arm.com, Luca Miccio <lucmiccio@gmail.com>,
 Stefano Stabellini <stefano.stabellini@xilinx.com>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
References: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop>
 <20220108004912.3820176-7-sstabellini@kernel.org>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220108004912.3820176-7-sstabellini@kernel.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 08/01/2022 00:49, Stefano Stabellini wrote:
> From: Luca Miccio <lucmiccio@gmail.com>
> 
> Add an example application that can be run in dom0 to complete the
> dom0less domains initialization so that they can get access to xenstore
> and use PV drivers.
> 
> Signed-off-by: Luca Miccio <lucmiccio@gmail.com>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
> CC: Wei Liu <wl@xen.org>
> CC: Anthony PERARD <anthony.perard@citrix.com>
> CC: Juergen Gross <jgross@suse.com>
> ---
>   tools/helpers/Makefile        |  13 ++
>   tools/helpers/init-dom0less.c | 263 ++++++++++++++++++++++++++++++++++
>   2 files changed, 276 insertions(+)
>   create mode 100644 tools/helpers/init-dom0less.c
> 
> diff --git a/tools/helpers/Makefile b/tools/helpers/Makefile
> index 7f6c422440..8e42997052 100644
> --- a/tools/helpers/Makefile
> +++ b/tools/helpers/Makefile
> @@ -10,6 +10,9 @@ ifeq ($(CONFIG_Linux),y)
>   ifeq ($(CONFIG_X86),y)
>   PROGS += init-xenstore-domain
>   endif
> +ifeq ($(CONFIG_ARM),y)
> +PROGS += init-dom0less
> +endif
>   endif
>   
>   XEN_INIT_DOM0_OBJS = xen-init-dom0.o init-dom-json.o
> @@ -26,6 +29,13 @@ $(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS += $(CFLAGS_libxenstore)
>   $(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS += $(CFLAGS_libxenlight)
>   $(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS += -include $(XEN_ROOT)/tools/config.h
>   
> +INIT_DOM0LESS_OBJS = init-dom0less.o init-dom-json.o
> +$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxentoollog)
> +$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenstore)
> +$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenlight)
> +$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenctrl)
> +$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenevtchn)
> +
>   .PHONY: all
>   all: $(PROGS)
>   
> @@ -35,6 +45,9 @@ xen-init-dom0: $(XEN_INIT_DOM0_OBJS)
>   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)
>   
> +init-dom0less: $(INIT_DOM0LESS_OBJS)
> +	$(CC) $(LDFLAGS) -o $@ $(INIT_DOM0LESS_OBJS) $(LDLIBS_libxenctrl) $(LDLIBS_libxenevtchn) $(LDLIBS_libxentoollog) $(LDLIBS_libxenstore) $(LDLIBS_libxenlight) $(LDLIBS_libxenguest)  $(APPEND_LDFLAGS)
> +
>   .PHONY: install
>   install: all
>   	$(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
> diff --git a/tools/helpers/init-dom0less.c b/tools/helpers/init-dom0less.c
> new file mode 100644
> index 0000000000..055bf76cf5
> --- /dev/null
> +++ b/tools/helpers/init-dom0less.c
> @@ -0,0 +1,263 @@
> +#include <stdbool.h>
> +#include <syslog.h>
> +#include <stdio.h>
> +#include <err.h>
> +#include <stdlib.h>
> +#include <xenstore.h>
> +#include <xenctrl.h>
> +#include <xenguest.h>
> +#include <libxl.h>
> +#include <xenevtchn.h>
> +
> +#include "init-dom-json.h"
> +
> +#define NR_MAGIC_PAGES 4
> +#define CONSOLE_PFN_OFFSET 0
> +#define XENSTORE_PFN_OFFSET 1
> +#define STR_MAX_LENGTH 64
> +
> +static int alloc_magic_pages(struct xc_dom_image *dom)
> +{
> +    int rc, i;
> +    const xen_pfn_t base = GUEST_MAGIC_BASE >> XC_PAGE_SHIFT;
> +    xen_pfn_t p2m[NR_MAGIC_PAGES];
> +
> +    for (i = 0; i < NR_MAGIC_PAGES; i++)
> +        p2m[i] = base + i;
> +
> +    rc = xc_domain_populate_physmap_exact(dom->xch, dom->guest_domid,
> +                                          NR_MAGIC_PAGES, 0, 0, p2m);
> +    if (rc < 0)
> +        return rc;
> +
> +    dom->xenstore_pfn = base + XENSTORE_PFN_OFFSET;
> +
> +    xc_clear_domain_page(dom->xch, dom->guest_domid, dom->xenstore_pfn);
> +
> +    xc_hvm_param_set(dom->xch, dom->guest_domid, HVM_PARAM_STORE_PFN,
> +                     dom->xenstore_pfn);

I think it would be best if the page is initialized in Xen. This would 
allow to use the fields in the interface to propage the connection state 
(see my comment in patch #1).

> +    xc_hvm_param_set(dom->xch, dom->guest_domid, HVM_PARAM_STORE_EVTCHN,
> +                     dom->xenstore_evtchn);

On patch #1, you wrote the domain will have to wait on the event 
channel. So shouldn't the event channel be initialized before the domain 
is created? Otherwise, how would the domain knows when it is set?

> +    return 0;
> +}
> +
> +static void do_xs_write(struct xs_handle *xsh, xs_transaction_t t,
> +                        char *path, char *val)
> +{
> +    if (!xs_write(xsh, t, path, val, strlen(val)))
> +        fprintf(stderr, "writing %s to xenstore failed.\n", path);
> +}
> +
> +static void do_xs_write_dom(struct xs_handle *xsh, xs_transaction_t t,
> +                            domid_t domid, char *path, char *val)
> +{
> +    char full_path[STR_MAX_LENGTH];
> +
> +    snprintf(full_path, STR_MAX_LENGTH,
> +             "/local/domain/%d/%s", domid, path);
> +    do_xs_write(xsh, t, full_path, val);
> +}
> +
> +static void do_xs_write_libxl(struct xs_handle *xsh, xs_transaction_t t,
> +                              domid_t domid, char *path, char *val)
> +{
> +    char full_path[STR_MAX_LENGTH];
> +
> +    snprintf(full_path, STR_MAX_LENGTH,
> +             "/libxl/%d/%s", domid, path);
> +    do_xs_write(xsh, t, full_path, val);
> +}
> +
> +static void do_xs_write_vm(struct xs_handle *xsh, xs_transaction_t t,
> +                           libxl_uuid uuid, char *path, char *val)
> +{
> +    char full_path[STR_MAX_LENGTH];
> +
> +    snprintf(full_path, STR_MAX_LENGTH,
> +             "/vm/" LIBXL_UUID_FMT "/%s", LIBXL_UUID_BYTES(uuid), path);
> +    do_xs_write(xsh, t, full_path, val);
> +}
> +
> +static int restore_xenstore(struct xs_handle *xsh,

I think "restore" is misleading because the domain was never in 
Xenstore. So how about "create"?

> +                            libxl_dominfo *info, libxl_uuid uuid,
> +                            evtchn_port_t xenstore_port)
> +{
> +    domid_t domid;
> +    int i;
> +    char uuid_str[STR_MAX_LENGTH];
> +    char dom_name_str[STR_MAX_LENGTH];
> +    char vm_val_str[STR_MAX_LENGTH];
> +    char id_str[STR_MAX_LENGTH];
> +    char max_memkb_str[STR_MAX_LENGTH];
> +    char cpu_str[STR_MAX_LENGTH];
> +    char xenstore_port_str[STR_MAX_LENGTH];
> +    char ring_ref_str[STR_MAX_LENGTH];
> +    xs_transaction_t t;
> +
> +    domid = info->domid;
> +    snprintf(id_str, STR_MAX_LENGTH, "%d", domid);
> +    snprintf(dom_name_str, STR_MAX_LENGTH, "dom0less-%d", domid);
> +    snprintf(uuid_str, STR_MAX_LENGTH, LIBXL_UUID_FMT, LIBXL_UUID_BYTES(uuid));
> +    snprintf(vm_val_str, STR_MAX_LENGTH,
> +             "vm/" LIBXL_UUID_FMT, LIBXL_UUID_BYTES(uuid));
> +    snprintf(max_memkb_str, STR_MAX_LENGTH, "%lu", info->max_memkb);
> +    snprintf(ring_ref_str, STR_MAX_LENGTH, "%lld",
> +             (GUEST_MAGIC_BASE >> XC_PAGE_SHIFT) + XENSTORE_PFN_OFFSET);
> +    snprintf(xenstore_port_str, STR_MAX_LENGTH, "%d", xenstore_port);
> +
> +retry_transaction:
> +    t = xs_transaction_start(xsh);
> +    if (t == XBT_NULL)
> +        return errno;
> +
> +    /* /vm */
> +    do_xs_write_vm(xsh, t, uuid, "name", dom_name_str);
> +    do_xs_write_vm(xsh, t, uuid, "uuid", uuid_str);
> +    do_xs_write_vm(xsh, t, uuid, "start_time", "0");
> +
> +    /* /domain */
> +    do_xs_write_dom(xsh, t, domid, "vm", vm_val_str);
> +    do_xs_write_dom(xsh, t, domid, "name", dom_name_str);
> +    do_xs_write_dom(xsh, t, domid, "cpu", "");
> +    for (i = 0; i < info->vcpu_max_id; i++) {
> +        snprintf(cpu_str, STR_MAX_LENGTH, "cpu/%d/availability/", i);
> +        do_xs_write_dom(xsh, t, domid, cpu_str,
> +                        (info->cpupool & (1 << i)) ? "online" : "offline");
> +    }
> +    do_xs_write_dom(xsh, t, domid, "cpu/0", "");
> +    do_xs_write_dom(xsh, t, domid, "cpu/availability", "online");
> +
> +    do_xs_write_dom(xsh, t, domid, "memory", "");
> +    do_xs_write_dom(xsh, t, domid, "memory/static-max", max_memkb_str);
> +    do_xs_write_dom(xsh, t, domid, "memory/videoram", "-1");
> +
> +    do_xs_write_dom(xsh, t, domid, "device", "");
> +    do_xs_write_dom(xsh, t, domid, "device/suspend", "");
> +    do_xs_write_dom(xsh, t, domid, "device/suspend/event-channel", "");
> +
> +    do_xs_write_dom(xsh, t, domid, "control", "");
> +    do_xs_write_dom(xsh, t, domid, "control/shutdown", "");
> +    do_xs_write_dom(xsh, t, domid, "control/feature-poweroff", "1");
> +    do_xs_write_dom(xsh, t, domid, "control/feature-reboot", "1");
> +    do_xs_write_dom(xsh, t, domid, "control/feature-suspend", "");
> +    do_xs_write_dom(xsh, t, domid, "control/sysrq", "");
> +    do_xs_write_dom(xsh, t, domid, "control/platform-feature-multiprocessor-suspend", "1");
> +    do_xs_write_dom(xsh, t, domid, "control", "platform-feature-xs_reset_watches");
> +
> +    do_xs_write_dom(xsh, t, domid, "domid", id_str);
> +    do_xs_write_dom(xsh, t, domid, "data", "");
> +    do_xs_write_dom(xsh, t, domid, "drivers", "");
> +    do_xs_write_dom(xsh, t, domid, "feature", "");
> +    do_xs_write_dom(xsh, t, domid, "attr", "");
> +
> +    do_xs_write_dom(xsh, t, domid, "store/port", xenstore_port_str);
> +    do_xs_write_dom(xsh, t, domid, "store/ring-ref", ring_ref_str);
> +
> +    do_xs_write_libxl(xsh, t, domid, "type", "pvh");
> +    do_xs_write_libxl(xsh, t, domid, "dm-version", "qemu_xen");

Can you outline how you decided which nodes need to be created?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Jan 08 05:27:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Jan 2022 05:27:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254808.436705 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n64GC-0003cO-7E; Sat, 08 Jan 2022 05:27:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254808.436705; Sat, 08 Jan 2022 05:27:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n64GC-0003cH-3J; Sat, 08 Jan 2022 05:27:24 +0000
Received: by outflank-mailman (input) for mailman id 254808;
 Sat, 08 Jan 2022 05:27: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 1n64GA-0003c7-Ts; Sat, 08 Jan 2022 05:27: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 1n64GA-0004rj-Qb; Sat, 08 Jan 2022 05:27: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 1n64GA-000243-Fg; Sat, 08 Jan 2022 05:27:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n64GA-00028x-FE; Sat, 08 Jan 2022 05:27: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=s3ZyB+lI2OaaSTBJk4kg7czZNgujmj0RGDt0BhQGZ0s=; b=bMwf2Tly0d3aA8Xm7q2f0cBJrl
	LudjAoNhLmfpp/tT0/IcJHap6LpAXZa4Vjfcv7oOUY1mOOMV3/TyDN70fOAzbtkcO5m9iZ9aQVWmU
	n1CHW44T9zoXu1ZeC78JTh0YXc+1WNH8JTuxgl1zCtIFwjRR8xMwKMJ1aeXlbjypa+5Q=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167633-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167633: 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-qcow2:saverestore-support-check: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-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm: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-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2: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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-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-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-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2: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
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=c87507a8cfb5b11bf1773c0214ee76ba9382179c
X-Osstest-Versions-That:
    qemuu=41fb4c14ee500125dc0ce6fb573cf84b8db29ed0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 08 Jan 2022 05:27:22 +0000

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

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

version targeted for testing:
 qemuu                c87507a8cfb5b11bf1773c0214ee76ba9382179c
baseline version:
 qemuu                41fb4c14ee500125dc0ce6fb573cf84b8db29ed0

Last test of basis   167623  2022-01-06 21:39:31 Z    1 days
Testing same since   167633  2022-01-07 21:39:29 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chris Rauer <crauer@google.com>
  Idan Horowitz <idan.horowitz@gmail.com>
  Patrick Venture <venture@google.com>
  Peter Maydell <peter.maydell@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Shengtan Mao <stmao@google.com>
  Troy Lee <troy_lee@aspeedtech.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   41fb4c14ee..c87507a8cf  c87507a8cfb5b11bf1773c0214ee76ba9382179c -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Sat Jan 08 11:02:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Jan 2022 11:02:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254826.436715 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n69UJ-0005T2-NA; Sat, 08 Jan 2022 11:02:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254826.436715; Sat, 08 Jan 2022 11:02:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n69UJ-0005Sv-Jv; Sat, 08 Jan 2022 11:02:19 +0000
Received: by outflank-mailman (input) for mailman id 254826;
 Sat, 08 Jan 2022 11:02:18 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n69UH-0005Sf-WC; Sat, 08 Jan 2022 11:02:18 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n69UH-00030Y-Tf; Sat, 08 Jan 2022 11:02: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 1n69UH-0003yg-K0; Sat, 08 Jan 2022 11:02:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n69UH-0001kt-JW; Sat, 08 Jan 2022 11:02:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=rRU87UQnNsLbTJhGZT1CwaCRPrWcwFIzKDtXUOfuPnU=; b=aBWLVyedkLjt+0kPeVnI2s06/Q
	PgcZfgPv5Wu3RBI5BLD+jrk66kFK6NPYkCncrESNQwX64bLAG4h8u73MaUKuMecOPdCWMszCneqHP
	zTbfvOJvwSuBW0ywc8IxSSToPPvZWEuO+souNrI1LBq/ceJyjpJYQId6YhNZxbMAJFvE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167637-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 167637: 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-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=82d514084abbcfd45e5d04a0f9ccc519356b8f61
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 08 Jan 2022 11:02:17 +0000

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

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-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              82d514084abbcfd45e5d04a0f9ccc519356b8f61
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  547 days
Failing since        151818  2020-07-11 04:18:52 Z  546 days  528 attempts
Testing same since   167637  2022-01-08 04:18:53 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>
  Ani Sinha <ani@anisinha.ca>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  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>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.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>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  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>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  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 Chevsky <nchevsky@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>
  Or Ozeri <oro@il.ibm.com>
  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>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott 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>
  Stefan Hajnoczi <stefanha@redhat.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>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Дамјан Георгиевски <gdamjan@gmail.com>

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


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sat Jan 08 11:14:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Jan 2022 11:14:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254835.436727 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n69gK-0006xB-RZ; Sat, 08 Jan 2022 11:14:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254835.436727; Sat, 08 Jan 2022 11:14:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n69gK-0006x4-NK; Sat, 08 Jan 2022 11:14:44 +0000
Received: by outflank-mailman (input) for mailman id 254835;
 Sat, 08 Jan 2022 11:14: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 1n69gK-0006wu-0Y; Sat, 08 Jan 2022 11:14: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 1n69gJ-0003F2-TA; Sat, 08 Jan 2022 11:14:43 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n69gJ-0004Yd-Lr; Sat, 08 Jan 2022 11:14:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n69gJ-000643-LQ; Sat, 08 Jan 2022 11: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Vaw2VBVL3jw0vITXhiO7mzstfF5OlIWlrRPH56UV54Y=; b=mUxswYMWulYTCOYplXc8ykH1v4
	nkjkzbLAgrnPvxC/oUQ8zbbDFDPlHMDXmiQRtwRL/8vfePg5Oh3iEWO3JdqDhUWo4TE64dBVk+jb0
	n6MHKQEmW22jQejNCxixEdEN9UCXy9ztMnpdwrliPv44OAdXFBd6Rms2i1GIRlTjiRlo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167636-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 167636: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=14a731096d388aa20c0afa9fe5af55c998082efb
X-Osstest-Versions-That:
    ovmf=9dd14fc91c174eae87fd122c7ac70073a363527f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 08 Jan 2022 11:14:43 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 14a731096d388aa20c0afa9fe5af55c998082efb
baseline version:
 ovmf                 9dd14fc91c174eae87fd122c7ac70073a363527f

Last test of basis   167627  2022-01-07 06:40:23 Z    1 days
Testing same since   167636  2022-01-08 04:11:46 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Kun Qin <kuqin12@gmail.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   9dd14fc91c..14a731096d  14a731096d388aa20c0afa9fe5af55c998082efb -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Jan 08 12:15:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Jan 2022 12:15:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254882.436756 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6AcK-0005n2-2U; Sat, 08 Jan 2022 12:14:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254882.436756; Sat, 08 Jan 2022 12:14: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 1n6AcJ-0005mv-Va; Sat, 08 Jan 2022 12:14:39 +0000
Received: by outflank-mailman (input) for mailman id 254882;
 Sat, 08 Jan 2022 12:14: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 1n6AcH-0005mi-SI; Sat, 08 Jan 2022 12:14: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 1n6AcH-0004Ew-KJ; Sat, 08 Jan 2022 12:14: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 1n6AcH-0006ov-BD; Sat, 08 Jan 2022 12:14:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n6AcH-0003vm-Ah; Sat, 08 Jan 2022 12:14:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=smWBsg20ED8j/PyzTlFHO5y7VFy66OLEZlbFdYQ4F0w=; b=W/s+iwa7t0n39xl3A3me7bF6Us
	EgD6lDbESk2lG+Vug32BbzpxHh/Di9lxuVHUGyBqcWY+kWZbCl60zT3ZVVftRb3I897SJZVnvGOKy
	m1dGUm59ohA2ECkQAxIYpBBwXWtgav8zX1sDsNBVuTdonXCbH0V8bkUzMFa1V1uyddTk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167634-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167634: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-dom0pvh-xl-intel:guest-localmigrate/x10:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-rtds:guest-stop:fail:heisenbug
    xen-unstable:test-arm64-arm64-xl-vhd:debian-di-install:fail:heisenbug
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-qcow2:saverestore-support-check: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-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-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-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt: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: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-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-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=ced5685208f4525edc3aa86f41eeaee5ccc9fe31
X-Osstest-Versions-That:
    xen=ced5685208f4525edc3aa86f41eeaee5ccc9fe31
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 08 Jan 2022 12:14:37 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-dom0pvh-xl-intel 20 guest-localmigrate/x10 fail in 167630 pass in 167634
 test-armhf-armhf-xl-rtds     17 guest-stop       fail in 167630 pass in 167634
 test-arm64-arm64-xl-vhd      12 debian-di-install          fail pass in 167630

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

version targeted for testing:
 xen                  ced5685208f4525edc3aa86f41eeaee5ccc9fe31
baseline version:
 xen                  ced5685208f4525edc3aa86f41eeaee5ccc9fe31

Last test of basis   167634  2022-01-08 01:54:24 Z    0 days
Testing same since                          (not found)         0 attempts

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


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

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

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

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


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Sat Jan 08 12:48:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Jan 2022 12:48:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254891.436767 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6B9G-0000eF-Nd; Sat, 08 Jan 2022 12:48:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254891.436767; Sat, 08 Jan 2022 12:48:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6B9G-0000e8-KI; Sat, 08 Jan 2022 12:48:42 +0000
Received: by outflank-mailman (input) for mailman id 254891;
 Sat, 08 Jan 2022 12:48:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bjy5=RY=durham.ac.uk=m.a.young@srs-se1.protection.inumbo.net>)
 id 1n6B9F-0000e2-Bv
 for xen-devel@lists.xenproject.org; Sat, 08 Jan 2022 12:48:41 +0000
Received: from GBR01-CWL-obe.outbound.protection.outlook.com
 (mail-cwlgbr01on0729.outbound.protection.outlook.com
 [2a01:111:f400:fe14::729])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4c72ae8d-7081-11ec-81c1-a30af7de8005;
 Sat, 08 Jan 2022 13:48:38 +0100 (CET)
Received: from LO4P265MB3790.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:1d1::5)
 by LO2P265MB4120.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:1ed::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.9; Sat, 8 Jan
 2022 12:48:36 +0000
Received: from LO4P265MB3790.GBRP265.PROD.OUTLOOK.COM
 ([fe80::fc6e:45e9:37f5:71a8]) by LO4P265MB3790.GBRP265.PROD.OUTLOOK.COM
 ([fe80::fc6e:45e9:37f5:71a8%4]) with mapi id 15.20.4867.011; Sat, 8 Jan 2022
 12:48: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: 4c72ae8d-7081-11ec-81c1-a30af7de8005
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HtEycXUp2PBamoLfAA5gghTYHprGdZWJFgMsMaUBsC7E+shbE9AQO3uFBXX5trA8UudyNcLo8aVAfPJ3MxSBf6pSzUPoWmu7SnwTJYJUfSgpBWHolDuB0D/25T5ELO8f2gtH/IZVCqjgHDKEHBawstxqCvmZ8oH0E1zO3bvEh8i/AFH5dTra/rKx+45gZ6VKsewlaz2esa+8GHgTTcju/GyMvUWQ7gIztZcuC8l0t9IEumpolKxk946ibAHPN6i5D+fcu2vCRgrNRfuLjzXI691g0QJgnDDa2NUwdiTGZkOosFUwnlboxuvavX2E3pNA31L+cixn3Fr0ZrKrnp5/hA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=q958oM6Jo2p1RLwZttT9K1OzYrJ5oE2vlck489M8j38=;
 b=I4piwqzozFhEb1A2r+j5t+oh9bxp5wUZWK5FxOLG2tZiKBnlPQ01l8BYJUqZwmRtWw+NpVdauKA5riKy/1NsUNW/i+48t3lpfCirwQFmN2r6xGPZ0O1ZIVBRlXZJPXQoUnvSVxksVpBbWZl9N8+cWVtvwxnvD2sE/f0Z8eiSttitBEBJHu4UVpb/MdWa7IzHTxG4Vl07IDpJg0G3lcFURCZ5DoMSJtiQqX0TlwlAHFm3wnX9QZSMMseJU2SELeOPS2vTppYpIah5oLq2IeaQ+c0HwugaVaelEVuKyZtiSXrW5H4kPHwjd4Wv4kMqXszODSv5Rf61y087zu+UsTpwIg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=durham.ac.uk; dmarc=pass action=none header.from=durham.ac.uk;
 dkim=pass header.d=durham.ac.uk; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=durhamuniversity.onmicrosoft.com;
 s=selector2-durhamuniversity-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=q958oM6Jo2p1RLwZttT9K1OzYrJ5oE2vlck489M8j38=;
 b=RaXWFV4kn62yTrl1vmRNPPDYwB+9TY2+pBGJzw9JrMhYCZyQQx63exCrbxNSkgnMUAbG19KFilxIniAHhQC3tp3ddTdYvRhvaBOG4dOiwXOovnoz2WCTTckjNo7c8pIjJocnGrk5kSaa+JA6NS7974vq2pyKJP+397u32bGp7ok=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=durham.ac.uk;
Date: Sat, 8 Jan 2022 12:48:35 +0000 (GMT)
From: Michael Young <m.a.young@durham.ac.uk>
To: xen-devel@lists.xenproject.org
Subject: HVM failing on 4.16.0 without qemu-xen-traditional
Message-ID: <e5ef58a7-3615-2e47-bda7-fa90a7593969@austen5.home>
Content-Type: multipart/mixed; boundary="-1463771647-32740398-1641645246=:3731"
Content-ID: <3ea4e94-8630-112c-1421-b2b3b97e24d@austen5.home>
X-ClientProxiedBy: LO4P123CA0327.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18c::8) To LO4P265MB3790.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:1d1::5)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 43e82b83-87b2-4574-c11e-08d9d2a52fd6
X-MS-TrafficTypeDiagnostic: LO2P265MB4120:EE_
X-Microsoft-Antispam-PRVS:
	<LO2P265MB4120F859A7F13CCB453B229B874E9@LO2P265MB4120.GBRP265.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:
	MHWABiie/ytLa/0JJWu1ZkZsI4qMvvot0J7SByhsnGq4kd0hqdYeFO2iAbpxdp2i4KJla2CLG3hxbd+u91jxmB347Z6BdbEQlGsT5awbV25esy145buJoD3oVMDxVi9z/o3dM470itfmg+JNBeXxF6NEpCMrTqaLFr/T6XhTob+ABnFO5JJskCBgLM/nFkagASqgRp1X/fuNsVjtSGuF5YcaTZPswfs/wzhsBgHBioEndxWKliwLav1kRpjj1a33jfTreS+UOwuzbv9lKGeSsshIWthTySIfoL3ut+q5addWoz3mKwl3F+jwOFuFe/ooZV4Nc0ABeLqq1oOt4uxAv5MgMSNhcu8hd4W0ug/M1nNPiMqPIVLpbwLbT+KGbBbzYxnRUG6VhLyz7PXtok3DMx4HHp4tYRmYdKXFITkrTW97FlcyU9Xxly6fo7QHAD5To+wnqYpJn5nN0149e98dcUxQoccyrk2u98nf6EqLkDtXUh864TqPJDu9ME/E0G9SQUK86C+g27zOZ60Y7J3qWmESw/nVYicTDEG29rUrplQySpOyf86mHcKjBvLXAcJmHuyWSkGdZhS3tXfMrrVqeXe2sBGW2PF1osADl5DmdxBIMN8ihVilipotB2NiSTGHFZiikwMx3GX9/28wUdpbFg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LO4P265MB3790.GBRP265.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(4636009)(366004)(31696002)(5660300002)(36756003)(6506007)(6916009)(66476007)(66556008)(9686003)(66946007)(8676002)(186003)(508600001)(2906002)(86362001)(8936002)(31686004)(6512007)(6486002)(316002)(786003)(38100700002)(235185007);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?m9vATkIhDqzkX7bMQpniUgULhnYx6I/UqxUOYcIwxCmyht10h90jEM0/9WSG?=
 =?us-ascii?Q?PovZsfmawEbJKHFhUPn10k8vRBL4bOowc6drIP6fkAfSnuc+V2rh5BoaqB7o?=
 =?us-ascii?Q?5NAQkzRoA+ULFI5AxK4cXQ6FkRN3wvJMrov4SEQWysPDO3Lg4a98EXWKSMYk?=
 =?us-ascii?Q?PZlN06eAUONATYJeTccXdHGef+TgBlmjDg8wEGEN5araiDRyNQKtOtVhKXYy?=
 =?us-ascii?Q?v199fvXx5fmawkmPCSxS8junHzisFuxuNn6n+U5Q1OsklOfm07H9B0mP6NWX?=
 =?us-ascii?Q?CQCSYHdI0tjEWaEQWfHKXnAZOEGXM/uK2EmfM7YexbnDouQ9Y+vuOOZwOhmB?=
 =?us-ascii?Q?GMriikXoDES7eXxtQgP0AiLgRc489w+AeCtvM3EtRUh0NlO5OTey+Jl+bnjV?=
 =?us-ascii?Q?cxWI7BWXHudwcAVamk2YFDdVxdl0IHoBHV12Pjveb/ppGBt11jYC3SIRNZEu?=
 =?us-ascii?Q?XPpL/cRvgQq1bh915edexdZzr5SVDZFt1mM6n8J/JpqlXyI+oHQp2hmRNsFm?=
 =?us-ascii?Q?PHTW9N1qsRpqDAhsCzZqeXz7Da9hDhBjG0kcIeMnBDkSFfKC6Kh467lCarSD?=
 =?us-ascii?Q?jpiRDaQVsboAEk4cEzoN2x85N9AzAVArcZyQIXVkPLWxcXqXj4taiWw0OmuD?=
 =?us-ascii?Q?mL8ijl38ZnndExQw8q6BsOPmYrXodGHzSVdoxueWxxf8M1kcWQkHUMTcmt+O?=
 =?us-ascii?Q?HrCouIDwP2Rkx3aeegjd3maQwPWPOUqA/kUWJx4hI1fo7/w5yzHgzynTeRm1?=
 =?us-ascii?Q?1WS//tGhR6IWuYSYUYiVlfqb2SeGEAton9MkHSHTRdYNCUoyPTH/mBoo/NkW?=
 =?us-ascii?Q?G90h48zmxFGORWTaI9u92/HzbqWEnmnm5ljebH0JESa0WmG5yiAaKZuGZVUO?=
 =?us-ascii?Q?MxsKw/+p1Gza77WWCGs9eChyg04Pl3Z/Ye/lOe6QHkYUwc95DtWW+nt8Ntne?=
 =?us-ascii?Q?4kll+UQXmey0a9CKck/16TbH3QCVgLc4KRQiTiuloNaZFmXnuJgZigvG3IP/?=
 =?us-ascii?Q?k6wHuN+Xr4CpMgqj5gQSkU7/LKxRu6Ht9q/WlWrVoHMmoYHIreD2BoryA0W4?=
 =?us-ascii?Q?1wARUGbnz3seqXmR2J0Q+7rsWN7iK4FxQuQp0U+5qasvapmuz33rpUo+jQeQ?=
 =?us-ascii?Q?vojbvXF3yqAOKbdte/hej48s3pxL5a/w6mWSXxq1OXGlDDDcXSkJfdrc37st?=
 =?us-ascii?Q?tFKBPvleX6gmaWq2YSDF/SyQtkqkwFWkaxB+kjXpLMMR6IdJfeTByx04q8W+?=
 =?us-ascii?Q?1eCTUr9wOf12VC1EQZMxk4af6xzjVTfxXcJOZ+amwNEVFywRIUnt62IpSghF?=
 =?us-ascii?Q?h3tsmUQ2RAFSck6+p0fZHBOtUHTQiF3upS/RDm1N3utDyeLtbXjdJu7QLOOB?=
 =?us-ascii?Q?CR9pgXOpwtxGEMdhl46mvRaih6abEqI/7BZtCx41b8Or9DA6UZhNA3bEXUy+?=
 =?us-ascii?Q?WarQfN96Kx/kr1dk3c8bPaeV0PNM5/Lpf5Oj76zJPda2jiqMH0XhM7eHLPBB?=
 =?us-ascii?Q?YVX5TesrfD+0ZSdHwZkrOE7+agciNk+WWuxl3AYEcvT3lC3KVJjwEg/N/N6s?=
 =?us-ascii?Q?0LtLn9sDXPDNOGbNKdtvsz7WlqxZeVa250Pwn1DI52n6JbC2py68T5Xc+6GM?=
 =?us-ascii?Q?S+wtlUk37aVQkEntQeisRWvsrD6EK66yxQSpwopp56bxGz2dLTO2Y57ZUNg+?=
 =?us-ascii?Q?y0+J3nLxpHs6xjoKRf6SWM36pJo=3D?=
X-OriginatorOrg: durham.ac.uk
X-MS-Exchange-CrossTenant-Network-Message-Id: 43e82b83-87b2-4574-c11e-08d9d2a52fd6
X-MS-Exchange-CrossTenant-AuthSource: LO4P265MB3790.GBRP265.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jan 2022 12:48:36.4925
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7250d88b-4b68-4529-be44-d59a2d8a6f94
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3wMZfmfcH15q+Kt4ufFiENBmfUHdKOo1f97nMouRLFSOA5GQ5rATtnzH+EbRFuz5bGh7bcyZNsGzb7+6bx3QtA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LO2P265MB4120

---1463771647-32740398-1641645246=:3731
Content-Type: text/plain; charset=US-ASCII; format=flowed
Content-ID: <2f3f3987-b33a-e6e-f83c-23471232ce50@austen5.home>

I have been trying to build xen 4.16.0 on Fedora without 
qemu-xen-traditional, but it is failing to start HVM guests. xl dmesg 
gives the

(XEN) MMIO emulation failed (1): d1v0 32bit @ 0008:ffff11ec ->
(XEN) d1v0 Triple fault - invoking HVM shutdown action 1
(XEN) *** Dumping Dom1 vcpu#0 state: ***
(XEN) ----[ Xen-4.16.0  x86_64  debug=n  Not tainted ]----
(XEN) CPU:    1
(XEN) RIP:    0008:[<00000000ffff11ec>]
(XEN) RFLAGS: 0000000000010046   CONTEXT: hvm guest (d1v0)
(XEN) rax: 0000000000000000   rbx: 0000000000000000   rcx: 00000000ffff11ec
(XEN) rdx: 0000000000000059   rsi: 0000000000000000   rdi: 0000000000000000
(XEN) rbp: 0000000000000000   rsp: 0000000000006fe0   r8:  0000000000000000
(XEN) r9:  0000000000000000   r10: 0000000000000000   r11: 0000000000000000
(XEN) r12: 0000000000000000   r13: 0000000000000000   r14: 0000000000000000
(XEN) r15: 0000000000000000   cr0: 0000000000000011   cr4: 0000000000000000
(XEN) cr3: 0000000000000000   cr2: 0000000000000000
(XEN) fsb: 0000000000000000   gsb: 0000000000000000   gss: 0000000000000000
(XEN) ds: 0010   es: 0010   fs: 0010   gs: 0010   ss: 0010   cs: 0008

The full output is atttached. The same guest will boot if I build xen with 
qemu-xen-traditional re-enabled. The builds have --with-system-seabios= 
set but if I boot the guest with bios_path_override= pointing to the same 
file then it does boot. Is this a known issue and is there anything I can 
do to help debug it?

 	Michael Young
---1463771647-32740398-1641645246=:3731
Content-Type: text/plain; name=xl-dmesg.txt
Content-Transfer-Encoding: BASE64
Content-ID: <a6e31085-9f97-cc4e-94b1-3dec5873187@austen5.home>
Content-Description: full xl dmesg output
Content-Disposition: attachment; filename=xl-dmesg.txt

IFhlbiA0LjE2LjANCihYRU4pIFhlbiB2ZXJzaW9uIDQuMTYuMCAobW9ja2J1aWxkQFt1bmtub3du
XSkgKGdjYyAoR0NDKSAxMS4yLjEgMjAyMTEyMDMgKFJlZCBIYXQgMTEuMi4xLTcpKSBkZWJ1Zz1u
IFNhdCBKYW4gIDEgMjA6NDQ6MDMgVVRDIDIwMjINCihYRU4pIExhdGVzdCBDaGFuZ2VTZXQ6IA0K
KFhFTikgYnVpbGQtaWQ6IDFiNTFhNTlmYzU2MmU0ZThlZGYxYzFmMjA3MDg3YWM3YjBmMmY1MjEN
CihYRU4pIEJvb3Rsb2FkZXI6IEdSVUIgMi4wNg0KKFhFTikgQ29tbWFuZCBsaW5lOiBwbGFjZWhv
bGRlciBsb2dsdmw9YWxsIGd1ZXN0X2xvZ2x2bD1hbGwNCihYRU4pIFhlbiBpbWFnZSBsb2FkIGJh
c2UgYWRkcmVzczogMHhkNTIwMDAwMA0KKFhFTikgVmlkZW8gaW5mb3JtYXRpb246DQooWEVOKSAg
VkdBIGlzIHRleHQgbW9kZSA4MHg1MCwgZm9udCA4eDE2DQooWEVOKSBEaXNjIGluZm9ybWF0aW9u
Og0KKFhFTikgIEZvdW5kIDAgTUJSIHNpZ25hdHVyZXMNCihYRU4pICBGb3VuZCAxIEVERCBpbmZv
cm1hdGlvbiBzdHJ1Y3R1cmVzDQooWEVOKSBDUFUgVmVuZG9yOiBJbnRlbCwgRmFtaWx5IDYgKDB4
NiksIE1vZGVsIDU4ICgweDNhKSwgU3RlcHBpbmcgOSAocmF3IDAwMDMwNmE5KQ0KKFhFTikgRUZJ
IFJBTSBtYXA6DQooWEVOKSAgWzAwMDAwMDAwMDAwMDAwMDAsIDAwMDAwMDAwMDAwOWVmZmZdICh1
c2FibGUpDQooWEVOKSAgWzAwMDAwMDAwMDAwOWYwMDAsIDAwMDAwMDAwMDAwOWZmZmZdIChyZXNl
cnZlZCkNCihYRU4pICBbMDAwMDAwMDAwMDEwMDAwMCwgMDAwMDAwMDAxZmZmZmZmZl0gKHVzYWJs
ZSkNCihYRU4pICBbMDAwMDAwMDAyMDAwMDAwMCwgMDAwMDAwMDAyMDFmZmZmZl0gKHJlc2VydmVk
KQ0KKFhFTikgIFswMDAwMDAwMDIwMjAwMDAwLCAwMDAwMDAwMDQwMDAzZmZmXSAodXNhYmxlKQ0K
KFhFTikgIFswMDAwMDAwMDQwMDA0MDAwLCAwMDAwMDAwMDQwMDA0ZmZmXSAocmVzZXJ2ZWQpDQoo
WEVOKSAgWzAwMDAwMDAwNDAwMDUwMDAsIDAwMDAwMDAwZDViNDRmZmZdICh1c2FibGUpDQooWEVO
KSAgWzAwMDAwMDAwZDViNDUwMDAsIDAwMDAwMDAwZDYyNDJmZmZdIChyZXNlcnZlZCkNCihYRU4p
ICBbMDAwMDAwMDBkNjI0MzAwMCwgMDAwMDAwMDBkNjI1MmZmZl0gKEFDUEkgZGF0YSkNCihYRU4p
ICBbMDAwMDAwMDBkNjI1MzAwMCwgMDAwMDAwMDBkNjM3MmZmZl0gKEFDUEkgTlZTKQ0KKFhFTikg
IFswMDAwMDAwMGQ2MzczMDAwLCAwMDAwMDAwMGQ2NjgwZmZmXSAocmVzZXJ2ZWQpDQooWEVOKSAg
WzAwMDAwMDAwZDY2ODEwMDAsIDAwMDAwMDAwZDY2ODFmZmZdICh1c2FibGUpDQooWEVOKSAgWzAw
MDAwMDAwZDY2ODIwMDAsIDAwMDAwMDAwZDY2YzRmZmZdIChBQ1BJIE5WUykNCihYRU4pICBbMDAw
MDAwMDBkNjZjNTAwMCwgMDAwMDAwMDBkNmZmZmZmZl0gKHVzYWJsZSkNCihYRU4pICBbMDAwMDAw
MDBkNzgwMDAwMCwgMDAwMDAwMDBkZjlmZmZmZl0gKHJlc2VydmVkKQ0KKFhFTikgIFswMDAwMDAw
MGY4MDAwMDAwLCAwMDAwMDAwMGZiZmZmZmZmXSAocmVzZXJ2ZWQpDQooWEVOKSAgWzAwMDAwMDAw
ZmVjMDAwMDAsIDAwMDAwMDAwZmVjMDBmZmZdIChyZXNlcnZlZCkNCihYRU4pICBbMDAwMDAwMDBm
ZWQwMDAwMCwgMDAwMDAwMDBmZWQwM2ZmZl0gKHJlc2VydmVkKQ0KKFhFTikgIFswMDAwMDAwMGZl
ZDFjMDAwLCAwMDAwMDAwMGZlZDFmZmZmXSAocmVzZXJ2ZWQpDQooWEVOKSAgWzAwMDAwMDAwZmVl
MDAwMDAsIDAwMDAwMDAwZmVlMDBmZmZdIChyZXNlcnZlZCkNCihYRU4pICBbMDAwMDAwMDBmZjAw
MDAwMCwgMDAwMDAwMDBmZmZmZmZmZl0gKHJlc2VydmVkKQ0KKFhFTikgIFswMDAwMDAwMTAwMDAw
MDAwLCAwMDAwMDAwMzFlNWZmZmZmXSAodXNhYmxlKQ0KKFhFTikgQUNQSTogUlNEUCBENjI0NzAw
MCwgMDAyNCAocjIgIElOVEVMKQ0KKFhFTikgQUNQSTogWFNEVCBENjI0NzA4MCwgMDA4NCAocjEg
VmlnbGVuIENvbXB1dGVyICAgICAgIDM2IEFNSSAgICAgMTAwMTMpDQooWEVOKSBBQ1BJOiBGQUNQ
IEQ2MjUxMUU4LCAwMTBDIChyNSBWaWdsZW4gQ29tcHV0ZXIgICAgICAgMzYgQU1JICAgICAxMDAx
MykNCihYRU4pIEFDUEk6IERTRFQgRDYyNDcxOTgsIEEwNEYgKHIyIFZpZ2xlbiBDb21wdXRlciAg
ICAgICAzNiBJTlRMIDIwMDUxMTE3KQ0KKFhFTikgQUNQSTogRkFDUyBENjM3MTA4MCwgMDA0MA0K
KFhFTikgQUNQSTogQVBJQyBENjI1MTJGOCwgMDA3MiAocjMgVmlnbGVuIENvbXB1dGVyICAgICAg
IDM2IEFNSSAgICAgMTAwMTMpDQooWEVOKSBBQ1BJOiBGUERUIEQ2MjUxMzcwLCAwMDQ0IChyMSBW
aWdsZW4gQ29tcHV0ZXIgICAgICAgMzYgQU1JICAgICAxMDAxMykNCihYRU4pIEFDUEk6IFRDUEEg
RDYyNTEzQjgsIDAwMzIgKHIyIFZpZ2xlbiBDb21wdXRlciAgICAgICAzNiBNU0ZUICAxMDAwMDEz
KQ0KKFhFTikgQUNQSTogTUNGRyBENjI1MTNGMCwgMDAzQyAocjEgVmlnbGVuIENvbXB1dGVyICAg
ICAgIDM2IE1TRlQgICAgICAgOTcpDQooWEVOKSBBQ1BJOiBIUEVUIEQ2MjUxNDMwLCAwMDM4IChy
MSBWaWdsZW4gQ29tcHV0ZXIgICAgICAgMzYgQU1JLiAgICAgICAgNSkNCihYRU4pIEFDUEk6IFNT
RFQgRDYyNTE0NjgsIDAzNkQgKHIxIFZpZ2xlbiBDb21wdXRlciAgICAgICAzNiBJTlRMIDIwMDkx
MTEyKQ0KKFhFTikgQUNQSTogU1NEVCBENjI1MTdEOCwgMDlBQSAocjEgVmlnbGVuIENvbXB1dGVy
ICAgICAgIDM2IElOVEwgMjAwNTExMTcpDQooWEVOKSBBQ1BJOiBTU0RUIEQ2MjUyMTg4LCAwQTky
IChyMSBWaWdsZW4gQ29tcHV0ZXIgICAgICAgMzYgSU5UTCAyMDA1MTExNykNCihYRU4pIEFDUEk6
IERNQVIgRDYyNTJDMjAsIDAwQjggKHIxIFZpZ2xlbiBDb21wdXRlciAgICAgICAzNiBJTlRMICAg
ICAgICAxKQ0KKFhFTikgQUNQSTogQVNGISBENjI1MkNEOCwgMDBBNSAocjMyIFZpZ2xlbiBDb21w
dXRlciAgICAgICAzNiBURlNNICAgIEY0MjQwKQ0KKFhFTikgQUNQSTogU0xJQyBENjI1MkQ4MCwg
MDE3NiAocjEgVmlnbGVuIENvbXB1dGVyICAgICAgIDM2IEFNSSAgICAgMTAwMTMpDQooWEVOKSBT
eXN0ZW0gUkFNOiAxMjEwNE1CICgxMjM5NDYyMGtCKQ0KKFhFTikgTm8gTlVNQSBjb25maWd1cmF0
aW9uIGZvdW5kDQooWEVOKSBGYWtpbmcgYSBub2RlIGF0IDAwMDAwMDAwMDAwMDAwMDAtMDAwMDAw
MDMxZTYwMDAwMA0KKFhFTikgRG9tYWluIGhlYXAgaW5pdGlhbGlzZWQNCihYRU4pIFNNQklPUyAy
LjcgcHJlc2VudC4NCihYRU4pIERNSSAyLjcgcHJlc2VudC4NCihYRU4pIFVzaW5nIEFQSUMgZHJp
dmVyIGRlZmF1bHQNCihYRU4pIEFDUEk6IFBNLVRpbWVyIElPIFBvcnQ6IDB4NDA4ICgyNCBiaXRz
KQ0KKFhFTikgQUNQSTogdjUgU0xFRVAgSU5GTzogY29udHJvbFswOjBdLCBzdGF0dXNbMDowXQ0K
KFhFTikgQUNQSTogU0xFRVAgSU5GTzogcG0xeF9jbnRbMTo0MDQsMTowXSwgcG0xeF9ldnRbMTo0
MDAsMTowXQ0KKFhFTikgQUNQSTogMzIvNjRYIEZBQ1MgYWRkcmVzcyBtaXNtYXRjaCBpbiBGQURU
IC0gZDYzNzEwODAvMDAwMDAwMDAwMDAwMDAwMCwgdXNpbmcgMzINCihYRU4pIEFDUEk6ICAgICAg
ICAgICAgIHdha2V1cF92ZWNbZDYzNzEwOGNdLCB2ZWNfc2l6ZVsyMF0NCihYRU4pIEFDUEk6IExv
Y2FsIEFQSUMgYWRkcmVzcyAweGZlZTAwMDAwDQooWEVOKSBBQ1BJOiBJT0FQSUMgKGlkWzB4MDJd
IGFkZHJlc3NbMHhmZWMwMDAwMF0gZ3NpX2Jhc2VbMF0pDQooWEVOKSBJT0FQSUNbMF06IGFwaWNf
aWQgMiwgdmVyc2lvbiAzMiwgYWRkcmVzcyAweGZlYzAwMDAwLCBHU0kgMC0yMw0KKFhFTikgQUNQ
STogSU5UX1NSQ19PVlIgKGJ1cyAwIGJ1c19pcnEgMCBnbG9iYWxfaXJxIDIgZGZsIGRmbCkNCihY
RU4pIEFDUEk6IElOVF9TUkNfT1ZSIChidXMgMCBidXNfaXJxIDkgZ2xvYmFsX2lycSA5IGhpZ2gg
bGV2ZWwpDQooWEVOKSBBQ1BJOiBJUlEwIHVzZWQgYnkgb3ZlcnJpZGUuDQooWEVOKSBBQ1BJOiBJ
UlEyIHVzZWQgYnkgb3ZlcnJpZGUuDQooWEVOKSBBQ1BJOiBJUlE5IHVzZWQgYnkgb3ZlcnJpZGUu
DQooWEVOKSBFbmFibGluZyBBUElDIG1vZGU6ICBGbGF0LiAgVXNpbmcgMSBJL08gQVBJQ3MNCihY
RU4pIEFDUEk6IEhQRVQgaWQ6IDB4ODA4NmE3MDEgYmFzZTogMHhmZWQwMDAwMA0KKFhFTikgUENJ
OiBNQ0ZHIGNvbmZpZ3VyYXRpb24gMDogYmFzZSBmODAwMDAwMCBzZWdtZW50IDAwMDAgYnVzZXMg
MDAgLSAzZg0KKFhFTikgUENJOiBNQ0ZHIGFyZWEgYXQgZjgwMDAwMDAgcmVzZXJ2ZWQgaW4gRTgy
MA0KKFhFTikgUENJOiBVc2luZyBNQ0ZHIGZvciBzZWdtZW50IDAwMDAgYnVzIDAwLTNmDQooWEVO
KSBVc2luZyBBQ1BJIChNQURUKSBmb3IgU01QIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24NCihY
RU4pIFNNUDogQWxsb3dpbmcgNCBDUFVzICgwIGhvdHBsdWcgQ1BVcykNCihYRU4pIElSUSBsaW1p
dHM6IDI0IEdTSSwgODA4IE1TSS9NU0ktWA0KKFhFTikgU3dpdGNoZWQgdG8gQVBJQyBkcml2ZXIg
eDJhcGljX2NsdXN0ZXINCihYRU4pIENQVTA6IDE2MDAgLi4uIDMyMDAgTUh6DQooWEVOKSB4c3Rh
dGU6IHNpemU6IDB4MzQwIGFuZCBzdGF0ZXM6IDB4Nw0KKFhFTikgQ1BVMDogSW50ZWwgbWFjaGlu
ZSBjaGVjayByZXBvcnRpbmcgZW5hYmxlZA0KKFhFTikgU3BlY3VsYXRpdmUgbWl0aWdhdGlvbiBm
YWNpbGl0aWVzOg0KKFhFTikgICBIYXJkd2FyZSBoaW50czoNCihYRU4pICAgSGFyZHdhcmUgZmVh
dHVyZXM6DQooWEVOKSAgIENvbXBpbGVkLWluIHN1cHBvcnQ6IElORElSRUNUX1RIVU5LIFNIQURP
V19QQUdJTkcNCihYRU4pICAgWGVuIHNldHRpbmdzOiBCVEktVGh1bmsgUkVUUE9MSU5FLCBTUEVD
X0NUUkw6IE5vLCBPdGhlcjogQlJBTkNIX0hBUkRFTg0KKFhFTikgICBMMVRGOiBiZWxpZXZlZCB2
dWxuZXJhYmxlLCBtYXhwaHlzYWRkciBMMUQgNDYsIENQVUlEIDM2LCBTYWZlIGFkZHJlc3MgMTAw
MDAwMDAwMA0KKFhFTikgICBTdXBwb3J0IGZvciBIVk0gVk1zOiBSU0IgRUFHRVJfRlBVDQooWEVO
KSAgIFN1cHBvcnQgZm9yIFBWIFZNczogUlNCIEVBR0VSX0ZQVQ0KKFhFTikgICBYUFRJICg2NC1i
aXQgUFYgb25seSk6IERvbTAgZW5hYmxlZCwgRG9tVSBlbmFibGVkICh3aXRob3V0IFBDSUQpDQoo
WEVOKSAgIFBWIEwxVEYgc2hhZG93aW5nOiBEb20wIGRpc2FibGVkLCBEb21VIGVuYWJsZWQNCihY
RU4pIFVzaW5nIHNjaGVkdWxlcjogU01QIENyZWRpdCBTY2hlZHVsZXIgcmV2MiAoY3JlZGl0MikN
CihYRU4pIEluaXRpYWxpemluZyBDcmVkaXQyIHNjaGVkdWxlcg0KKFhFTikgIGxvYWRfcHJlY2lz
aW9uX3NoaWZ0OiAxOA0KKFhFTikgIGxvYWRfd2luZG93X3NoaWZ0OiAzMA0KKFhFTikgIHVuZGVy
bG9hZF9iYWxhbmNlX3RvbGVyYW5jZTogMA0KKFhFTikgIG92ZXJsb2FkX2JhbGFuY2VfdG9sZXJh
bmNlOiAtMw0KKFhFTikgIHJ1bnF1ZXVlcyBhcnJhbmdlbWVudDogc29ja2V0DQooWEVOKSAgY2Fw
IGVuZm9yY2VtZW50IGdyYW51bGFyaXR5OiAxMG1zDQooWEVOKSBsb2FkIHRyYWNraW5nIHdpbmRv
dyBsZW5ndGggMTA3Mzc0MTgyNCBucw0KKFhFTikgUGxhdGZvcm0gdGltZXIgaXMgMTQuMzE4TUh6
IEhQRVQNCihYRU4pIERldGVjdGVkIDMxOTIuNzUxIE1IeiBwcm9jZXNzb3IuDQooWEVOKSBGcmVl
ZCAxMDE2a0IgdW51c2VkIEJTUyBtZW1vcnkNCihYRU4pIEVGSSBtZW1vcnkgbWFwOg0KKFhFTikg
IDAwMDAwMDAwMDAwMDAtMDAwMDAwMDAwN2ZmZiB0eXBlPTMgYXR0cj0wMDAwMDAwMDAwMDAwMDBm
DQooWEVOKSAgMDAwMDAwMDAwODAwMC0wMDAwMDAwMDBiZmZmIHR5cGU9MiBhdHRyPTAwMDAwMDAw
MDAwMDAwMGYNCihYRU4pICAwMDAwMDAwMDBjMDAwLTAwMDAwMDAwNGVmZmYgdHlwZT03IGF0dHI9
MDAwMDAwMDAwMDAwMDAwZg0KKFhFTikgIDAwMDAwMDAwNGYwMDAtMDAwMDAwMDA1ZWZmZiB0eXBl
PTIgYXR0cj0wMDAwMDAwMDAwMDAwMDBmDQooWEVOKSAgMDAwMDAwMDA1ZjAwMC0wMDAwMDAwMDVm
ZmZmIHR5cGU9NCBhdHRyPTAwMDAwMDAwMDAwMDAwMGYNCihYRU4pICAwMDAwMDAwMDYwMDAwLTAw
MDAwMDAwOWVmZmYgdHlwZT0zIGF0dHI9MDAwMDAwMDAwMDAwMDAwZg0KKFhFTikgIDAwMDAwMDAw
OWYwMDAtMDAwMDAwMDA5ZmZmZiB0eXBlPTYgYXR0cj04MDAwMDAwMDAwMDAwMDBmDQooWEVOKSAg
MDAwMDAwMDEwMDAwMC0wMDAwMDAwYmEyZmZmIHR5cGU9MiBhdHRyPTAwMDAwMDAwMDAwMDAwMGYN
CihYRU4pICAwMDAwMDAwYmEzMDAwLTAwMDAwMDBmZmZmZmYgdHlwZT03IGF0dHI9MDAwMDAwMDAw
MDAwMDAwZg0KKFhFTikgIDAwMDAwMDEwMDAwMDAtMDAwMDAwMzNhMGZmZiB0eXBlPTIgYXR0cj0w
MDAwMDAwMDAwMDAwMDBmDQooWEVOKSAgMDAwMDAwMzNhMTAwMC0wMDAwMDFmZmZmZmZmIHR5cGU9
NyBhdHRyPTAwMDAwMDAwMDAwMDAwMGYNCihYRU4pICAwMDAwMDIwMDAwMDAwLTAwMDAwMjAxZmZm
ZmYgdHlwZT0wIGF0dHI9MDAwMDAwMDAwMDAwMDAwZg0KKFhFTikgIDAwMDAwMjAyMDAwMDAtMDAw
MDA0MDAwM2ZmZiB0eXBlPTcgYXR0cj0wMDAwMDAwMDAwMDAwMDBmDQooWEVOKSAgMDAwMDA0MDAw
NDAwMC0wMDAwMDQwMDA0ZmZmIHR5cGU9MCBhdHRyPTAwMDAwMDAwMDAwMDAwMGYNCihYRU4pICAw
MDAwMDQwMDA1MDAwLTAwMDAwNjAwZmZmZmYgdHlwZT03IGF0dHI9MDAwMDAwMDAwMDAwMDAwZg0K
KFhFTikgIDAwMDAwNjAxMDAwMDAtMDAwMDA3ZmZmZWZmZiB0eXBlPTEgYXR0cj0wMDAwMDAwMDAw
MDAwMDBmDQooWEVOKSAgMDAwMDA3ZmZmZjAwMC0wMDAwMGM2MmFlZmZmIHR5cGU9NyBhdHRyPTAw
MDAwMDAwMDAwMDAwMGYNCihYRU4pICAwMDAwMGM2MmFmMDAwLTAwMDAwYzY1MjlmZmYgdHlwZT0x
IGF0dHI9MDAwMDAwMDAwMDAwMDAwZg0KKFhFTikgIDAwMDAwYzY1MmEwMDAtMDAwMDBjNjdhNWZm
ZiB0eXBlPTIgYXR0cj0wMDAwMDAwMDAwMDAwMDBmDQooWEVOKSAgMDAwMDBjNjdhNjAwMC0wMDAw
MGM2N2E2ZmZmIHR5cGU9NyBhdHRyPTAwMDAwMDAwMDAwMDAwMGYNCihYRU4pICAwMDAwMGM2N2E3
MDAwLTAwMDAwYzY3YWJmZmYgdHlwZT0yIGF0dHI9MDAwMDAwMDAwMDAwMDAwZg0KKFhFTikgIDAw
MDAwYzY3YWMwMDAtMDAwMDBjNjg3OWZmZiB0eXBlPTEgYXR0cj0wMDAwMDAwMDAwMDAwMDBmDQoo
WEVOKSAgMDAwMDBjNjg3YTAwMC0wMDAwMGNhNGZjZmZmIHR5cGU9NyBhdHRyPTAwMDAwMDAwMDAw
MDAwMGYNCihYRU4pICAwMDAwMGNhNGZkMDAwLTAwMDAwY2E0ZmRmZmYgdHlwZT00IGF0dHI9MDAw
MDAwMDAwMDAwMDAwZg0KKFhFTikgIDAwMDAwY2E0ZmUwMDAtMDAwMDBjYTUwYWZmZiB0eXBlPTcg
YXR0cj0wMDAwMDAwMDAwMDAwMDBmDQooWEVOKSAgMDAwMDBjYTUwYjAwMC0wMDAwMGNhNTExZmZm
IHR5cGU9NCBhdHRyPTAwMDAwMDAwMDAwMDAwMGYNCihYRU4pICAwMDAwMGNhNTEyMDAwLTAwMDAw
Y2E1MTJmZmYgdHlwZT03IGF0dHI9MDAwMDAwMDAwMDAwMDAwZg0KKFhFTikgIDAwMDAwY2E1MTMw
MDAtMDAwMDBjYTUxM2ZmZiB0eXBlPTQgYXR0cj0wMDAwMDAwMDAwMDAwMDBmDQooWEVOKSAgMDAw
MDBjYTUxNDAwMC0wMDAwMGNhNTFiZmZmIHR5cGU9NyBhdHRyPTAwMDAwMDAwMDAwMDAwMGYNCihY
RU4pICAwMDAwMGNhNTFjMDAwLTAwMDAwY2E1MWNmZmYgdHlwZT00IGF0dHI9MDAwMDAwMDAwMDAw
MDAwZg0KKFhFTikgIDAwMDAwY2E1MWQwMDAtMDAwMDBjYTUyYmZmZiB0eXBlPTcgYXR0cj0wMDAw
MDAwMDAwMDAwMDBmDQooWEVOKSAgMDAwMDBjYTUyYzAwMC0wMDAwMGNhNTJjZmZmIHR5cGU9NCBh
dHRyPTAwMDAwMDAwMDAwMDAwMGYNCihYRU4pICAwMDAwMGNhNTJkMDAwLTAwMDAwY2E1NjlmZmYg
dHlwZT03IGF0dHI9MDAwMDAwMDAwMDAwMDAwZg0KKFhFTikgIDAwMDAwY2E1NmEwMDAtMDAwMDBj
YTVhMWZmZiB0eXBlPTQgYXR0cj0wMDAwMDAwMDAwMDAwMDBmDQooWEVOKSAgMDAwMDBjYTVhMjAw
MC0wMDAwMGNhNWEyZmZmIHR5cGU9NyBhdHRyPTAwMDAwMDAwMDAwMDAwMGYNCihYRU4pICAwMDAw
MGNhNWEzMDAwLTAwMDAwY2E2OWFmZmYgdHlwZT00IGF0dHI9MDAwMDAwMDAwMDAwMDAwZg0KKFhF
TikgIDAwMDAwY2E2OWIwMDAtMDAwMDBjYTZhZGZmZiB0eXBlPTcgYXR0cj0wMDAwMDAwMDAwMDAw
MDBmDQooWEVOKSAgMDAwMDBjYTZhZTAwMC0wMDAwMGNhNmVjZmZmIHR5cGU9NCBhdHRyPTAwMDAw
MDAwMDAwMDAwMGYNCihYRU4pICAwMDAwMGNhNmVkMDAwLTAwMDAwY2E3MGNmZmYgdHlwZT03IGF0
dHI9MDAwMDAwMDAwMDAwMDAwZg0KKFhFTikgIDAwMDAwY2E3MGQwMDAtMDAwMDBjYTcwZmZmZiB0
eXBlPTQgYXR0cj0wMDAwMDAwMDAwMDAwMDBmDQooWEVOKSAgMDAwMDBjYTcxMDAwMC0wMDAwMGNh
NzEwZmZmIHR5cGU9NyBhdHRyPTAwMDAwMDAwMDAwMDAwMGYNCihYRU4pICAwMDAwMGNhNzExMDAw
LTAwMDAwY2E4N2NmZmYgdHlwZT00IGF0dHI9MDAwMDAwMDAwMDAwMDAwZg0KKFhFTikgIDAwMDAw
Y2E4N2QwMDAtMDAwMDBjYTg4M2ZmZiB0eXBlPTcgYXR0cj0wMDAwMDAwMDAwMDAwMDBmDQooWEVO
KSAgMDAwMDBjYTg4NDAwMC0wMDAwMGNhODg0ZmZmIHR5cGU9NCBhdHRyPTAwMDAwMDAwMDAwMDAw
MGYNCihYRU4pICAwMDAwMGNhODg1MDAwLTAwMDAwY2E4ODlmZmYgdHlwZT03IGF0dHI9MDAwMDAw
MDAwMDAwMDAwZg0KKFhFTikgIDAwMDAwY2E4OGEwMDAtMDAwMDBjYTg4ZmZmZiB0eXBlPTQgYXR0
cj0wMDAwMDAwMDAwMDAwMDBmDQooWEVOKSAgMDAwMDBjYTg5MDAwMC0wMDAwMGNhODkwZmZmIHR5
cGU9NyBhdHRyPTAwMDAwMDAwMDAwMDAwMGYNCihYRU4pICAwMDAwMGNhODkxMDAwLTAwMDAwY2E4
OTFmZmYgdHlwZT00IGF0dHI9MDAwMDAwMDAwMDAwMDAwZg0KKFhFTikgIDAwMDAwY2E4OTIwMDAt
MDAwMDBjYTg5MmZmZiB0eXBlPTcgYXR0cj0wMDAwMDAwMDAwMDAwMDBmDQooWEVOKSAgMDAwMDBj
YTg5MzAwMC0wMDAwMGNhODk0ZmZmIHR5cGU9NCBhdHRyPTAwMDAwMDAwMDAwMDAwMGYNCihYRU4p
ICAwMDAwMGNhODk1MDAwLTAwMDAwY2E4OWFmZmYgdHlwZT03IGF0dHI9MDAwMDAwMDAwMDAwMDAw
Zg0KKFhFTikgIDAwMDAwY2E4OWIwMDAtMDAwMDBjYTg5Y2ZmZiB0eXBlPTQgYXR0cj0wMDAwMDAw
MDAwMDAwMDBmDQooWEVOKSAgMDAwMDBjYTg5ZDAwMC0wMDAwMGNhOGExZmZmIHR5cGU9NyBhdHRy
PTAwMDAwMDAwMDAwMDAwMGYNCihYRU4pICAwMDAwMGNhOGEyMDAwLTAwMDAwY2E4YWNmZmYgdHlw
ZT00IGF0dHI9MDAwMDAwMDAwMDAwMDAwZg0KKFhFTikgIDAwMDAwY2E4YWQwMDAtMDAwMDBjYThi
NGZmZiB0eXBlPTcgYXR0cj0wMDAwMDAwMDAwMDAwMDBmDQooWEVOKSAgMDAwMDBjYThiNTAwMC0w
MDAwMGNhOGYyZmZmIHR5cGU9NCBhdHRyPTAwMDAwMDAwMDAwMDAwMGYNCihYRU4pICAwMDAwMGNh
OGYzMDAwLTAwMDAwY2E4ZjNmZmYgdHlwZT03IGF0dHI9MDAwMDAwMDAwMDAwMDAwZg0KKFhFTikg
IDAwMDAwY2E4ZjQwMDAtMDAwMDBjYTk1MmZmZiB0eXBlPTQgYXR0cj0wMDAwMDAwMDAwMDAwMDBm
DQooWEVOKSAgMDAwMDBjYTk1MzAwMC0wMDAwMGNhOTVjZmZmIHR5cGU9NyBhdHRyPTAwMDAwMDAw
MDAwMDAwMGYNCihYRU4pICAwMDAwMGNhOTVkMDAwLTAwMDAwY2E5NzNmZmYgdHlwZT00IGF0dHI9
MDAwMDAwMDAwMDAwMDAwZg0KKFhFTikgIDAwMDAwY2E5NzQwMDAtMDAwMDBjYTk3NWZmZiB0eXBl
PTcgYXR0cj0wMDAwMDAwMDAwMDAwMDBmDQooWEVOKSAgMDAwMDBjYTk3NjAwMC0wMDAwMGNhYTU2
ZmZmIHR5cGU9NCBhdHRyPTAwMDAwMDAwMDAwMDAwMGYNCihYRU4pICAwMDAwMGNhYTU3MDAwLTAw
MDAwY2FhNTdmZmYgdHlwZT03IGF0dHI9MDAwMDAwMDAwMDAwMDAwZg0KKFhFTikgIDAwMDAwY2Fh
NTgwMDAtMDAwMDBkNDEyYWZmZiB0eXBlPTQgYXR0cj0wMDAwMDAwMDAwMDAwMDBmDQooWEVOKSAg
MDAwMDBkNDEyYjAwMC0wMDAwMGQ0MTJkZmZmIHR5cGU9NyBhdHRyPTAwMDAwMDAwMDAwMDAwMGYN
CihYRU4pICAwMDAwMGQ0MTJlMDAwLTAwMDAwZDQyM2VmZmYgdHlwZT00IGF0dHI9MDAwMDAwMDAw
MDAwMDAwZg0KKFhFTikgIDAwMDAwZDQyM2YwMDAtMDAwMDBkNDIzZmZmZiB0eXBlPTcgYXR0cj0w
MDAwMDAwMDAwMDAwMDBmDQooWEVOKSAgMDAwMDBkNDI0MDAwMC0wMDAwMGQ1M2Q2ZmZmIHR5cGU9
NCBhdHRyPTAwMDAwMDAwMDAwMDAwMGYNCihYRU4pICAwMDAwMGQ1M2Q3MDAwLTAwMDAwZDUzZmZm
ZmYgdHlwZT03IGF0dHI9MDAwMDAwMDAwMDAwMDAwZg0KKFhFTikgIDAwMDAwZDU0MDAwMDAtMDAw
MDBkNTdhY2ZmZiB0eXBlPTIgYXR0cj0wMDAwMDAwMDAwMDAwMDBmDQooWEVOKSAgMDAwMDBkNTdh
ZDAwMC0wMDAwMGQ1ODU5ZmZmIHR5cGU9NyBhdHRyPTAwMDAwMDAwMDAwMDAwMGYNCihYRU4pICAw
MDAwMGQ1ODVhMDAwLTAwMDAwZDViNDRmZmYgdHlwZT0zIGF0dHI9MDAwMDAwMDAwMDAwMDAwZg0K
KFhFTikgIDAwMDAwZDViNDUwMDAtMDAwMDBkNjBhYWZmZiB0eXBlPTAgYXR0cj0wMDAwMDAwMDAw
MDAwMDBmDQooWEVOKSAgMDAwMDBkNjBhYjAwMC0wMDAwMGQ2MjQyZmZmIHR5cGU9MCBhdHRyPTAw
MDAwMDAwMDAwMDAwMGYNCihYRU4pICAwMDAwMGQ2MjQzMDAwLTAwMDAwZDYyNDZmZmYgdHlwZT05
IGF0dHI9MDAwMDAwMDAwMDAwMDAwZg0KKFhFTikgIDAwMDAwZDYyNDcwMDAtMDAwMDBkNjI1MmZm
ZiB0eXBlPTkgYXR0cj0wMDAwMDAwMDAwMDAwMDBmDQooWEVOKSAgMDAwMDBkNjI1MzAwMC0wMDAw
MGQ2MmNlZmZmIHR5cGU9MTAgYXR0cj0wMDAwMDAwMDAwMDAwMDBmDQooWEVOKSAgMDAwMDBkNjJj
ZjAwMC0wMDAwMGQ2MzcyZmZmIHR5cGU9MTAgYXR0cj0wMDAwMDAwMDAwMDAwMDBmDQooWEVOKSAg
MDAwMDBkNjM3MzAwMC0wMDAwMGQ2M2YwZmZmIHR5cGU9NiBhdHRyPTgwMDAwMDAwMDAwMDAwMGYN
CihYRU4pICAwMDAwMGQ2M2YxMDAwLTAwMDAwZDY1NGVmZmYgdHlwZT02IGF0dHI9ODAwMDAwMDAw
MDAwMDAwZg0KKFhFTikgIDAwMDAwZDY1NGYwMDAtMDAwMDBkNjU1MGZmZiB0eXBlPTYgYXR0cj04
MDAwMDAwMDAwMDAwMDBmDQooWEVOKSAgMDAwMDBkNjU1MTAwMC0wMDAwMGQ2NWVlZmZmIHR5cGU9
NiBhdHRyPTgwMDAwMDAwMDAwMDAwMGYNCihYRU4pICAwMDAwMGQ2NWVmMDAwLTAwMDAwZDY2MGJm
ZmYgdHlwZT01IGF0dHI9ODAwMDAwMDAwMDAwMDAwZg0KKFhFTikgIDAwMDAwZDY2MGMwMDAtMDAw
MDBkNjY4MGZmZiB0eXBlPTUgYXR0cj04MDAwMDAwMDAwMDAwMDBmDQooWEVOKSAgMDAwMDBkNjY4
MTAwMC0wMDAwMGQ2NjgxZmZmIHR5cGU9NCBhdHRyPTAwMDAwMDAwMDAwMDAwMGYNCihYRU4pICAw
MDAwMGQ2NjgyMDAwLTAwMDAwZDY2YzRmZmYgdHlwZT0xMCBhdHRyPTAwMDAwMDAwMDAwMDAwMGYN
CihYRU4pICAwMDAwMGQ2NmM1MDAwLTAwMDAwZDZkMTZmZmYgdHlwZT00IGF0dHI9MDAwMDAwMDAw
MDAwMDAwZg0KKFhFTikgIDAwMDAwZDZkMTcwMDAtMDAwMDBkNmZiYWZmZiB0eXBlPTMgYXR0cj0w
MDAwMDAwMDAwMDAwMDBmDQooWEVOKSAgMDAwMDBkNmZiYjAwMC0wMDAwMGQ2ZmJlZmZmIHR5cGU9
NCBhdHRyPTAwMDAwMDAwMDAwMDAwMGYNCihYRU4pICAwMDAwMGQ2ZmJmMDAwLTAwMDAwZDZmYzJm
ZmYgdHlwZT0zIGF0dHI9MDAwMDAwMDAwMDAwMDAwZg0KKFhFTikgIDAwMDAwZDZmYzMwMDAtMDAw
MDBkNmZjNGZmZiB0eXBlPTQgYXR0cj0wMDAwMDAwMDAwMDAwMDBmDQooWEVOKSAgMDAwMDBkNmZj
NTAwMC0wMDAwMGQ2ZmM4ZmZmIHR5cGU9MyBhdHRyPTAwMDAwMDAwMDAwMDAwMGYNCihYRU4pICAw
MDAwMGQ2ZmM5MDAwLTAwMDAwZDZmZDVmZmYgdHlwZT00IGF0dHI9MDAwMDAwMDAwMDAwMDAwZg0K
KFhFTikgIDAwMDAwZDZmZDYwMDAtMDAwMDBkNmZlN2ZmZiB0eXBlPTMgYXR0cj0wMDAwMDAwMDAw
MDAwMDBmDQooWEVOKSAgMDAwMDBkNmZlODAwMC0wMDAwMGQ2ZmVmZmZmIHR5cGU9NCBhdHRyPTAw
MDAwMDAwMDAwMDAwMGYNCihYRU4pICAwMDAwMGQ2ZmYwMDAwLTAwMDAwZDZmZjFmZmYgdHlwZT0z
IGF0dHI9MDAwMDAwMDAwMDAwMDAwZg0KKFhFTikgIDAwMDAwZDZmZjIwMDAtMDAwMDBkNmZmZmZm
ZiB0eXBlPTQgYXR0cj0wMDAwMDAwMDAwMDAwMDBmDQooWEVOKSAgMDAwMDEwMDAwMDAwMC0wMDAw
MzFlNWZmZmZmIHR5cGU9NyBhdHRyPTAwMDAwMDAwMDAwMDAwMGYNCihYRU4pICAwMDAwMGQ3ODAw
MDAwLTAwMDAwZGY5ZmZmZmYgdHlwZT0wIGF0dHI9ODAwMDAwMDAwMDAwMDAwMA0KKFhFTikgVW5r
bm93biBjYWNoYWJpbGl0eSBmb3IgTUZOcyAweGQ3ODAwLTB4ZGY5ZmYNCihYRU4pICAwMDAwMGY4
MDAwMDAwLTAwMDAwZmJmZmZmZmYgdHlwZT0xMSBhdHRyPTgwMDAwMDAwMDAwMDAwMDENCihYRU4p
ICAwMDAwMGZlYzAwMDAwLTAwMDAwZmVjMDBmZmYgdHlwZT0xMSBhdHRyPTgwMDAwMDAwMDAwMDAw
MDENCihYRU4pICAwMDAwMGZlZDAwMDAwLTAwMDAwZmVkMDNmZmYgdHlwZT0xMSBhdHRyPTgwMDAw
MDAwMDAwMDAwMDENCihYRU4pICAwMDAwMGZlZDFjMDAwLTAwMDAwZmVkMWZmZmYgdHlwZT0xMSBh
dHRyPTgwMDAwMDAwMDAwMDAwMDENCihYRU4pICAwMDAwMGZlZTAwMDAwLTAwMDAwZmVlMDBmZmYg
dHlwZT0xMSBhdHRyPTgwMDAwMDAwMDAwMDAwMDENCihYRU4pICAwMDAwMGZmMDAwMDAwLTAwMDAw
ZmZmZmZmZmYgdHlwZT0xMSBhdHRyPTgwMDAwMDAwMDAwMDAwMDENCihYRU4pIGFsdCB0YWJsZSBm
ZmZmODJkMDQwNDQ2NTcwIC0+IGZmZmY4MmQwNDA0NTMxMGENCihYRU4pIEludGVsIFZULWQgaW9t
bXUgMCBzdXBwb3J0ZWQgcGFnZSBzaXplczogNGtCDQooWEVOKSBJbnRlbCBWVC1kIGlvbW11IDEg
c3VwcG9ydGVkIHBhZ2Ugc2l6ZXM6IDRrQg0KKFhFTikgSW50ZWwgVlQtZCBTbm9vcCBDb250cm9s
IG5vdCBlbmFibGVkLg0KKFhFTikgSW50ZWwgVlQtZCBEb20wIERNQSBQYXNzdGhyb3VnaCBub3Qg
ZW5hYmxlZC4NCihYRU4pIEludGVsIFZULWQgUXVldWVkIEludmFsaWRhdGlvbiBlbmFibGVkLg0K
KFhFTikgSW50ZWwgVlQtZCBJbnRlcnJ1cHQgUmVtYXBwaW5nIGVuYWJsZWQuDQooWEVOKSBJbnRl
bCBWVC1kIFBvc3RlZCBJbnRlcnJ1cHQgbm90IGVuYWJsZWQuDQooWEVOKSBJbnRlbCBWVC1kIFNo
YXJlZCBFUFQgdGFibGVzIG5vdCBlbmFibGVkLg0KKFhFTikgSS9PIHZpcnR1YWxpc2F0aW9uIGVu
YWJsZWQNCihYRU4pICAtIERvbTAgbW9kZTogUmVsYXhlZA0KKFhFTikgSW50ZXJydXB0IHJlbWFw
cGluZyBlbmFibGVkDQooWEVOKSBucl9zb2NrZXRzOiAxDQooWEVOKSBFbmFibGVkIGRpcmVjdGVk
IEVPSSB3aXRoIGlvYXBpY19hY2tfb2xkIG9uIQ0KKFhFTikgRU5BQkxJTkcgSU8tQVBJQyBJUlFz
DQooWEVOKSAgLT4gVXNpbmcgb2xkIEFDSyBtZXRob2QNCihYRU4pIC4uVElNRVI6IHZlY3Rvcj0w
eEYwIGFwaWMxPTAgcGluMT0yIGFwaWMyPS0xIHBpbjI9LTENCihYRU4pIFRTQyBkZWFkbGluZSB0
aW1lciBlbmFibGVkDQooWEVOKSBBbGxvY2F0ZWQgY29uc29sZSByaW5nIG9mIDMyIEtpQi4NCihY
RU4pIG13YWl0LWlkbGU6IE1XQUlUIHN1YnN0YXRlczogMHgxMTIwDQooWEVOKSBtd2FpdC1pZGxl
OiB2MC40LjEgbW9kZWwgMHgzYQ0KKFhFTikgbXdhaXQtaWRsZTogbGFwaWNfdGltZXJfcmVsaWFi
bGVfc3RhdGVzIDB4ZmZmZmZmZmYNCihYRU4pIFZNWDogU3VwcG9ydGVkIGFkdmFuY2VkIGZlYXR1
cmVzOg0KKFhFTikgIC0gQVBJQyBNTUlPIGFjY2VzcyB2aXJ0dWFsaXNhdGlvbg0KKFhFTikgIC0g
QVBJQyBUUFIgc2hhZG93DQooWEVOKSAgLSBFeHRlbmRlZCBQYWdlIFRhYmxlcyAoRVBUKQ0KKFhF
TikgIC0gVmlydHVhbC1Qcm9jZXNzb3IgSWRlbnRpZmllcnMgKFZQSUQpDQooWEVOKSAgLSBWaXJ0
dWFsIE5NSQ0KKFhFTikgIC0gTVNSIGRpcmVjdC1hY2Nlc3MgYml0bWFwDQooWEVOKSAgLSBVbnJl
c3RyaWN0ZWQgR3Vlc3QNCihYRU4pIEhWTTogQVNJRHMgZW5hYmxlZC4NCihYRU4pIFZNWDogRGlz
YWJsaW5nIGV4ZWN1dGFibGUgRVBUIHN1cGVycGFnZXMgZHVlIHRvIENWRS0yMDE4LTEyMjA3DQoo
WEVOKSBIVk06IFZNWCBlbmFibGVkDQooWEVOKSBIVk06IEhhcmR3YXJlIEFzc2lzdGVkIFBhZ2lu
ZyAoSEFQKSBkZXRlY3RlZA0KKFhFTikgSFZNOiBIQVAgcGFnZSBzaXplczogNGtCLCAyTUINCihY
RU4pIGFsdCB0YWJsZSBmZmZmODJkMDQwNDQ2NTcwIC0+IGZmZmY4MmQwNDA0NTMxMGENCihYRU4p
IEJyb3VnaHQgdXAgNCBDUFVzDQooWEVOKSBTY2hlZHVsaW5nIGdyYW51bGFyaXR5OiBjcHUsIDEg
Q1BVIHBlciBzY2hlZC1yZXNvdXJjZQ0KKFhFTikgQWRkaW5nIGNwdSAwIHRvIHJ1bnF1ZXVlIDAN
CihYRU4pICBGaXJzdCBjcHUgb24gcnVucXVldWUsIGFjdGl2YXRpbmcNCihYRU4pIEFkZGluZyBj
cHUgMSB0byBydW5xdWV1ZSAwDQooWEVOKSBBZGRpbmcgY3B1IDIgdG8gcnVucXVldWUgMQ0KKFhF
TikgIEZpcnN0IGNwdSBvbiBydW5xdWV1ZSwgYWN0aXZhdGluZw0KKFhFTikgQWRkaW5nIGNwdSAz
IHRvIHJ1bnF1ZXVlIDENCihYRU4pIG1jaGVja19wb2xsOiBNYWNoaW5lIGNoZWNrIHBvbGxpbmcg
dGltZXIgc3RhcnRlZC4NCihYRU4pIE5YIChFeGVjdXRlIERpc2FibGUpIHByb3RlY3Rpb24gYWN0
aXZlDQooWEVOKSBEb20wIGhhcyBtYXhpbXVtIDY0OCBQSVJRcw0KKFhFTikgKioqIEJ1aWxkaW5n
IGEgUFYgRG9tMCAqKioNCihYRU4pICBYZW4gIGtlcm5lbDogNjQtYml0LCBsc2IsIGNvbXBhdDMy
DQooWEVOKSAgRG9tMCBrZXJuZWw6IDY0LWJpdCwgUEFFLCBsc2IsIHBhZGRyIDB4MTAwMDAwMCAt
PiAweDQ0MDAwMDANCihYRU4pIFBIWVNJQ0FMIE1FTU9SWSBBUlJBTkdFTUVOVDoNCihYRU4pICBE
b20wIGFsbG9jLjogICAwMDAwMDAwMzAwMDAwMDAwLT4wMDAwMDAwMzA4MDAwMDAwICgyOTgxNDYz
IHBhZ2VzIHRvIGJlIGFsbG9jYXRlZCkNCihYRU4pICBJbml0LiByYW1kaXNrOiAwMDAwMDAwMzFj
MzVmMDAwLT4wMDAwMDAwMzFlNWZmZjAzDQooWEVOKSBWSVJUVUFMIE1FTU9SWSBBUlJBTkdFTUVO
VDoNCihYRU4pICBMb2FkZWQga2VybmVsOiBmZmZmZmZmZjgxMDAwMDAwLT5mZmZmZmZmZjg0NDAw
MDAwDQooWEVOKSAgUGh5cy1NYWNoIG1hcDogMDAwMDAwODAwMDAwMDAwMC0+MDAwMDAwODAwMTcx
MDdjMA0KKFhFTikgIFN0YXJ0IGluZm86ICAgIGZmZmZmZmZmODQ0MDAwMDAtPmZmZmZmZmZmODQ0
MDA0YjgNCihYRU4pICBQYWdlIHRhYmxlczogICBmZmZmZmZmZjg0NDAxMDAwLT5mZmZmZmZmZjg0
NDI4MDAwDQooWEVOKSAgQm9vdCBzdGFjazogICAgZmZmZmZmZmY4NDQyODAwMC0+ZmZmZmZmZmY4
NDQyOTAwMA0KKFhFTikgIFRPVEFMOiAgICAgICAgIGZmZmZmZmZmODAwMDAwMDAtPmZmZmZmZmZm
ODQ4MDAwMDANCihYRU4pICBFTlRSWSBBRERSRVNTOiBmZmZmZmZmZjgzNmEzMWMwDQooWEVOKSBE
b20wIGhhcyBtYXhpbXVtIDQgVkNQVXMNCihYRU4pIEJvZ3VzIERNSUJBUiAweGZlZDE4MDAxIG9u
IDAwMDA6MDA6MDAuMA0KKFhFTikgSW5pdGlhbCBsb3cgbWVtb3J5IHZpcnEgdGhyZXNob2xkIHNl
dCBhdCAweDQwMDAgcGFnZXMuDQooWEVOKSBTY3J1YmJpbmcgRnJlZSBSQU0gaW4gYmFja2dyb3Vu
ZA0KKFhFTikgU3RkLiBMb2dsZXZlbDogQWxsDQooWEVOKSBHdWVzdCBMb2dsZXZlbDogQWxsDQoo
WEVOKSBYZW4gaXMgcmVsaW5xdWlzaGluZyBWR0EgY29uc29sZS4NCihYRU4pICoqKiBTZXJpYWwg
aW5wdXQgdG8gRE9NMCAodHlwZSAnQ1RSTC1hJyB0aHJlZSB0aW1lcyB0byBzd2l0Y2ggaW5wdXQp
DQooWEVOKSBGcmVlZCA2MDRrQiBpbml0IG1lbW9yeQ0KKFhFTikgQm9ndXMgRE1JQkFSIDB4ZmVk
MTgwMDEgb24gMDAwMDowMDowMC4wDQooWEVOKSBQQ0kgYWRkIGRldmljZSAwMDAwOjAwOjAwLjAN
CihYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MDIuMA0KKFhFTikgUENJIGFkZCBkZXZpY2Ug
MDAwMDowMDoxNC4wDQooWEVOKSBQQ0kgYWRkIGRldmljZSAwMDAwOjAwOjE2LjANCihYRU4pIFBD
SSBhZGQgZGV2aWNlIDAwMDA6MDA6MTYuMw0KKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDox
OS4wDQooWEVOKSBQQ0kgYWRkIGRldmljZSAwMDAwOjAwOjFhLjANCihYRU4pIFBDSSBhZGQgZGV2
aWNlIDAwMDA6MDA6MWIuMA0KKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxYy4wDQooWEVO
KSBQQ0kgYWRkIGRldmljZSAwMDAwOjAwOjFjLjYNCihYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6
MDA6MWQuMA0KKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxZS4wDQooWEVOKSBQQ0kgYWRk
IGRldmljZSAwMDAwOjAwOjFmLjANCihYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MWYuMg0K
KFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxZi4zDQooWEVOKSBQQ0kgYWRkIGRldmljZSAw
MDAwOjAyOjAwLjANCihYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDM6MDMuMA0KKFhFTikgSFZN
IGQxdjAgc2F2ZTogQ1BVDQooWEVOKSBIVk0gZDEgc2F2ZTogUElDDQooWEVOKSBIVk0gZDEgc2F2
ZTogSU9BUElDDQooWEVOKSBIVk0gZDF2MCBzYXZlOiBMQVBJQw0KKFhFTikgSFZNIGQxdjAgc2F2
ZTogTEFQSUNfUkVHUw0KKFhFTikgSFZNIGQxIHNhdmU6IFBDSV9JUlENCihYRU4pIEhWTSBkMSBz
YXZlOiBJU0FfSVJRDQooWEVOKSBIVk0gZDEgc2F2ZTogUENJX0xJTksNCihYRU4pIEhWTSBkMSBz
YXZlOiBQSVQNCihYRU4pIEhWTSBkMSBzYXZlOiBSVEMNCihYRU4pIEhWTSBkMSBzYXZlOiBIUEVU
DQooWEVOKSBIVk0gZDEgc2F2ZTogUE1USU1FUg0KKFhFTikgSFZNIGQxdjAgc2F2ZTogTVRSUg0K
KFhFTikgSFZNIGQxIHNhdmU6IFZJUklESUFOX0RPTUFJTg0KKFhFTikgSFZNIGQxdjAgc2F2ZTog
Q1BVX1hTQVZFDQooWEVOKSBIVk0gZDF2MCBzYXZlOiBWSVJJRElBTl9WQ1BVDQooWEVOKSBIVk0g
ZDF2MCBzYXZlOiBWTUNFX1ZDUFUNCihYRU4pIEhWTSBkMXYwIHNhdmU6IFRTQ19BREpVU1QNCihY
RU4pIEhWTSBkMXYwIHNhdmU6IENQVV9NU1INCihYRU4pIEhWTTEgcmVzdG9yZTogQ1BVIDANCihk
MSkgSFZNIExvYWRlcg0KKGQxKSBEZXRlY3RlZCBYZW4gdjQuMTYuMA0KKGQxKSBYZW5idXMgcmlu
Z3MgQDB4ZmVmZmMwMDAsIGV2ZW50IGNoYW5uZWwgMQ0KKGQxKSBTeXN0ZW0gcmVxdWVzdGVkIFNl
YUJJT1MNCihkMSkgQ1BVIHNwZWVkIGlzIDMxOTMgTUh6DQooZDEpIFJlbG9jYXRpbmcgZ3Vlc3Qg
bWVtb3J5IGZvciBsb3dtZW0gTU1JTyBzcGFjZSBkaXNhYmxlZA0KKGQxKSBQQ0ktSVNBIGxpbmsg
MCByb3V0ZWQgdG8gSVJRNQ0KKGQxKSBQQ0ktSVNBIGxpbmsgMSByb3V0ZWQgdG8gSVJRMTANCihk
MSkgUENJLUlTQSBsaW5rIDIgcm91dGVkIHRvIElSUTExDQooZDEpIFBDSS1JU0EgbGluayAzIHJv
dXRlZCB0byBJUlE1DQooZDEpIHBjaSBkZXYgMDE6MyBJTlRBLT5JUlExMA0KKGQxKSBwY2kgZGV2
IDAyOjAgSU5UQS0+SVJRMTENCihkMSkgcGNpIGRldiAwNDowIElOVEEtPklSUTUNCihkMSkgUkFN
IGluIGhpZ2ggbWVtb3J5OyBzZXR0aW5nIGhpZ2hfbWVtIHJlc291cmNlIGJhc2UgdG8gMTBmODAw
MDAwDQooZDEpIHBjaSBkZXYgMDM6MCBiYXIgMTAgc2l6ZSAwMDIwMDAwMDA6IDBmMDAwMDAwOA0K
KGQxKSBwY2kgZGV2IDAyOjAgYmFyIDE0IHNpemUgMDAxMDAwMDAwOiAwZjIwMDAwMDgNCihkMSkg
cGNpIGRldiAwNDowIGJhciAzMCBzaXplIDAwMDA0MDAwMDogMGYzMDAwMDAwDQooZDEpIHBjaSBk
ZXYgMDM6MCBiYXIgMzAgc2l6ZSAwMDAwMTAwMDA6IDBmMzA0MDAwMA0KKGQxKSBwY2kgZGV2IDAz
OjAgYmFyIDE0IHNpemUgMDAwMDAxMDAwOiAwZjMwNTAwMDANCihkMSkgcGNpIGRldiAwMjowIGJh
ciAxMCBzaXplIDAwMDAwMDEwMDogMDAwMDBjMDAxDQooZDEpIHBjaSBkZXYgMDQ6MCBiYXIgMTAg
c2l6ZSAwMDAwMDAxMDA6IDAwMDAwYzEwMQ0KKGQxKSBwY2kgZGV2IDA0OjAgYmFyIDE0IHNpemUg
MDAwMDAwMTAwOiAwZjMwNTEwMDANCihkMSkgcGNpIGRldiAwMToxIGJhciAyMCBzaXplIDAwMDAw
MDAxMDogMDAwMDBjMjAxDQooZDEpIE11bHRpcHJvY2Vzc29yIGluaXRpYWxpc2F0aW9uOg0KKGQx
KSAgLSBDUFUwIC4uLiAzNi1iaXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBNVFJScyBb
MS84XSAuLi4gZG9uZS4NCihkMSkgV3JpdGluZyBTTUJJT1MgdGFibGVzIC4uLg0KKGQxKSBMb2Fk
aW5nIFNlYUJJT1MgLi4uDQooZDEpIENyZWF0aW5nIE1QIHRhYmxlcyAuLi4NCihkMSkgTG9hZGlu
ZyBBQ1BJIC4uLg0KKGQxKSB2bTg2IFRTUyBhdCBmYzEwMDI4MA0KKGQxKSBCSU9TIG1hcDoNCihk
MSkgIDEwMDAwLTEwMGUzOiBTY3JhdGNoIHNwYWNlDQooZDEpICBlMDAwMC1mZmZmZjogTWFpbiBC
SU9TDQooZDEpIEU4MjAgdGFibGU6DQooZDEpICBbMDBdOiAwMDAwMDAwMDowMDAwMDAwMCAtIDAw
MDAwMDAwOjAwMGEwMDAwOiBSQU0NCihkMSkgIEhPTEU6IDAwMDAwMDAwOjAwMGEwMDAwIC0gMDAw
MDAwMDA6MDAwZTAwMDANCihkMSkgIFswMV06IDAwMDAwMDAwOjAwMGUwMDAwIC0gMDAwMDAwMDA6
MDAxMDAwMDA6IFJFU0VSVkVEDQooZDEpICBbMDJdOiAwMDAwMDAwMDowMDEwMDAwMCAtIDAwMDAw
MDAwOmYwMDAwMDAwOiBSQU0NCihkMSkgIEhPTEU6IDAwMDAwMDAwOmYwMDAwMDAwIC0gMDAwMDAw
MDA6ZmMwMDAwMDANCihkMSkgIFswM106IDAwMDAwMDAwOmZjMDAwMDAwIC0gMDAwMDAwMDA6ZmMw
MGIwMDA6IE5WUw0KKGQxKSAgWzA0XTogMDAwMDAwMDA6ZmMwMGIwMDAgLSAwMDAwMDAwMTowMDAw
MDAwMDogUkVTRVJWRUQNCihkMSkgIFswNV06IDAwMDAwMDAxOjAwMDAwMDAwIC0gMDAwMDAwMDE6
MGY4MDAwMDA6IFJBTQ0KKGQxKSBJbnZva2luZyBTZWFCSU9TIC4uLg0KKFhFTikgTU1JTyBlbXVs
YXRpb24gZmFpbGVkICgxKTogZDF2MCAzMmJpdCBAIDAwMDg6ZmZmZjExZWMgLT4gDQooWEVOKSBk
MXYwIFRyaXBsZSBmYXVsdCAtIGludm9raW5nIEhWTSBzaHV0ZG93biBhY3Rpb24gMQ0KKFhFTikg
KioqIER1bXBpbmcgRG9tMSB2Y3B1IzAgc3RhdGU6ICoqKg0KKFhFTikgLS0tLVsgWGVuLTQuMTYu
MCAgeDg2XzY0ICBkZWJ1Zz1uICBOb3QgdGFpbnRlZCBdLS0tLQ0KKFhFTikgQ1BVOiAgICAxDQoo
WEVOKSBSSVA6ICAgIDAwMDg6WzwwMDAwMDAwMGZmZmYxMWVjPl0NCihYRU4pIFJGTEFHUzogMDAw
MDAwMDAwMDAxMDA0NiAgIENPTlRFWFQ6IGh2bSBndWVzdCAoZDF2MCkNCihYRU4pIHJheDogMDAw
MDAwMDAwMDAwMDAwMCAgIHJieDogMDAwMDAwMDAwMDAwMDAwMCAgIHJjeDogMDAwMDAwMDBmZmZm
MTFlYw0KKFhFTikgcmR4OiAwMDAwMDAwMDAwMDAwMDU5ICAgcnNpOiAwMDAwMDAwMDAwMDAwMDAw
ICAgcmRpOiAwMDAwMDAwMDAwMDAwMDAwDQooWEVOKSByYnA6IDAwMDAwMDAwMDAwMDAwMDAgICBy
c3A6IDAwMDAwMDAwMDAwMDZmZTAgICByODogIDAwMDAwMDAwMDAwMDAwMDANCihYRU4pIHI5OiAg
MDAwMDAwMDAwMDAwMDAwMCAgIHIxMDogMDAwMDAwMDAwMDAwMDAwMCAgIHIxMTogMDAwMDAwMDAw
MDAwMDAwMA0KKFhFTikgcjEyOiAwMDAwMDAwMDAwMDAwMDAwICAgcjEzOiAwMDAwMDAwMDAwMDAw
MDAwICAgcjE0OiAwMDAwMDAwMDAwMDAwMDAwDQooWEVOKSByMTU6IDAwMDAwMDAwMDAwMDAwMDAg
ICBjcjA6IDAwMDAwMDAwMDAwMDAwMTEgICBjcjQ6IDAwMDAwMDAwMDAwMDAwMDANCihYRU4pIGNy
MzogMDAwMDAwMDAwMDAwMDAwMCAgIGNyMjogMDAwMDAwMDAwMDAwMDAwMA0KKFhFTikgZnNiOiAw
MDAwMDAwMDAwMDAwMDAwICAgZ3NiOiAwMDAwMDAwMDAwMDAwMDAwICAgZ3NzOiAwMDAwMDAwMDAw
MDAwMDAwDQooWEVOKSBkczogMDAxMCAgIGVzOiAwMDEwICAgZnM6IDAwMTAgICBnczogMDAxMCAg
IHNzOiAwMDEwICAgY3M6IDAwMDgNCg==

---1463771647-32740398-1641645246=:3731--


From xen-devel-bounces@lists.xenproject.org Sat Jan 08 13:55:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Jan 2022 13:55:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254898.436777 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6CB3-0007aQ-V1; Sat, 08 Jan 2022 13:54:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254898.436777; Sat, 08 Jan 2022 13:54:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6CB3-0007aJ-Rs; Sat, 08 Jan 2022 13:54:37 +0000
Received: by outflank-mailman (input) for mailman id 254898;
 Sat, 08 Jan 2022 13:54: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 1n6CB2-0007a9-8Z; Sat, 08 Jan 2022 13:54: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 1n6CB2-0005vP-5D; Sat, 08 Jan 2022 13:54: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 1n6CB1-0003Qy-TB; Sat, 08 Jan 2022 13:54:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n6CB1-0007X4-Sk; Sat, 08 Jan 2022 13:54: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=HtEhXB71Orq7dAAtJpDkJFeyw6cV1csTrxydrJ21ZME=; b=BJUfws6TG88BT0AeM4DicJ+90Y
	zsIdNnpoHYDyiZD1XFOkM7i3IXcFBdOw6a9oqcOOHffM2ZuJFYQjAcVsE4HO9gszmwgIp2/nMVESB
	VVaU2AdNetmPpCI4MjCKFmvHoQjLzMzfF+rnT+kHGgDq3dJrUJvROjGp9rtnu7i8uyaA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167635-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167635: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-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-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt: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-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl: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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=d1587f7bfe9a0f97a75d42ac1489aeda551106bc
X-Osstest-Versions-That:
    linux=ddec8ed2d4905d0967ce2ec432e440e582aa52c6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 08 Jan 2022 13:54:35 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 167639-retest
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 167639-retest

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

version targeted for testing:
 linux                d1587f7bfe9a0f97a75d42ac1489aeda551106bc
baseline version:
 linux                ddec8ed2d4905d0967ce2ec432e440e582aa52c6

Last test of basis   167631  2022-01-07 11:56:48 Z    1 days
Testing same since   167635  2022-01-08 02:52:08 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex Deucher <alexander.deucher@amd.com>
  Dave Airlie <airlied@redhat.com>
  Evan Quan <evan.quan@amd.com>
  Jens Axboe <axboe@kernel.dk>
  Jinrong Liang <cloudliang@tencent.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Michal Koutný <mkoutny@suse.com>
  Nikunj A Dadhania <nikunj@amd.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Qiuxu Zhuo <qiuxu.zhuo@intel.com>
  Song Liu <song@kernel.org>
  Tejun Heo <tj@kernel.org>
  Tony Luck <tony.luck@intel.com>
  Vasant Hegde <vasant.hegde@amd.com>
  Wanpeng Li <wanpengli@tencent.com>

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


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

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

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

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


Pushing revision :

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


From xen-devel-bounces@lists.xenproject.org Sat Jan 08 17:25:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Jan 2022 17:25:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254911.436789 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6FSl-000294-F4; Sat, 08 Jan 2022 17:25:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254911.436789; Sat, 08 Jan 2022 17:25:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6FSl-00028x-Be; Sat, 08 Jan 2022 17:25:07 +0000
Received: by outflank-mailman (input) for mailman id 254911;
 Sat, 08 Jan 2022 17:25:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n6FSk-00028h-PK; Sat, 08 Jan 2022 17:25:06 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n6FSk-0001sF-MV; Sat, 08 Jan 2022 17:25:06 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n6FSk-0000rv-Dh; Sat, 08 Jan 2022 17:25:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n6FSk-0005Vu-DG; Sat, 08 Jan 2022 17: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=6d8fgGTxQ1g8EtmN7OIPj8Yld4QuANT7gjnhZz7F/Bg=; b=YpSchAQvcMH7oZEyeImuTztg+0
	PSoq6V8O9ExC5PauuLUobNDPp1C7/+3C1xqvOBiTB1KycjwL8y7nZB3kDod1luXdXnJRX62h81h0F
	LTeRvtYzchmMMz6sLLkZroWctf9eabDeYU7LzkT4o+WSpykcRwRoPkm/anNmH9znpgrA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167638-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167638: 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-qcow2:saverestore-support-check: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-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm: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-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2: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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-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-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2: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
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=d70075373af51b6aa1d637962c962120e201fc98
X-Osstest-Versions-That:
    qemuu=c87507a8cfb5b11bf1773c0214ee76ba9382179c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 08 Jan 2022 17:25:06 +0000

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

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

version targeted for testing:
 qemuu                d70075373af51b6aa1d637962c962120e201fc98
baseline version:
 qemuu                c87507a8cfb5b11bf1773c0214ee76ba9382179c

Last test of basis   167633  2022-01-07 21:39:29 Z    0 days
Testing same since   167638  2022-01-08 05:30:43 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexander Tsoy <alexander@tsoy.me>
  Andy Pei <andy.pei@intel.com>
  Ani Sinha <ani@anisinha.ca>
  Cindy Lu <lulu@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Daniil Tatianin <d-tatianin@yandex-team.ru>
  David Hildenbrand <david@redhat.com>
  Denis Lisov <dennis.lissov@gmail.com>
  Eduardo Habkost <ehabkost@redhat.com>
  Frederic Barrat <fbarrat@linux.ibm.com>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  Laurent Vivier <lvivier@redhat.com>
  Markus Armbruster <armbru@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Raphael Norwitz <raphael.norwitz@nutanix.com>
  Richard Henderson <richard.henderson@linaro.org>
  Roman Kagan <rvkagan@yandex-team.ru>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Hajnoczi <stefanha@redhat.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-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   c87507a8cf..d70075373a  d70075373af51b6aa1d637962c962120e201fc98 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Sat Jan 08 21:01:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Jan 2022 21:01:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254924.436800 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6IpW-0005Wd-R9; Sat, 08 Jan 2022 21:00:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254924.436800; Sat, 08 Jan 2022 21: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 1n6IpW-0005WW-O5; Sat, 08 Jan 2022 21:00:50 +0000
Received: by outflank-mailman (input) for mailman id 254924;
 Sat, 08 Jan 2022 21:00:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bjy5=RY=durham.ac.uk=m.a.young@srs-se1.protection.inumbo.net>)
 id 1n6IpV-0005WQ-18
 for xen-devel@lists.xenproject.org; Sat, 08 Jan 2022 21:00:49 +0000
Received: from GBR01-CWL-obe.outbound.protection.outlook.com
 (mail-cwlgbr01on0710.outbound.protection.outlook.com
 [2a01:111:f400:fe14::710])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0bbef6a6-70c6-11ec-9ce5-af14b9085ebd;
 Sat, 08 Jan 2022 22:00:46 +0100 (CET)
Received: from LO4P265MB3790.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:1d1::5)
 by LO0P265MB3227.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:15c::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.11; Sat, 8 Jan
 2022 21:00:43 +0000
Received: from LO4P265MB3790.GBRP265.PROD.OUTLOOK.COM
 ([fe80::fc6e:45e9:37f5:71a8]) by LO4P265MB3790.GBRP265.PROD.OUTLOOK.COM
 ([fe80::fc6e:45e9:37f5:71a8%4]) with mapi id 15.20.4867.011; Sat, 8 Jan 2022
 21: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: 0bbef6a6-70c6-11ec-9ce5-af14b9085ebd
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IE7jo5NG24eJjnOnZZ3qADB+DYOaAe3oiJBQ3s4JmrDWXaXrXWvXReVEc7Q36SYyrbebzfdlz6UCjlRubIkttbc7dfeiKOQ1koTQ8RXc20AqlzoJq3ziEmuY2yvc5Wkx4GVf64iOVevJS8+qQ7+PchPZd2EZrTsR4gtFHAMu+kvil203N7uVCLdYpQCWEYrrdPpyaRxtT76Qy9V6wvDFGytVkEIvMxndIz1085XYYP/TK7vLsev9XKXO0PVhU9Zv7bzftIEzENXN9+IUnL8fqPxB1117gndt6AmxlX7NSBNo78j+NOba7aZ2vR7JJ8qMZB9nTAt5zvK0P8RFwL+o6A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HLSILlpHb90Vh7CPi2j82QQnnUTRjVOzMVHjsmrIF8c=;
 b=FaSmbOvW40H7NNCUL3wyFjl+ACgXIlp/FMGsK0srxHtV3YLdjEgNb1QNklEvLCW6GoSAmdGGIyCc8PGD/gYROFHorx9JvVaeR69XIgQ2T1+wAoxI6KHMjptjiRmPXYrhWebBbMS5WrKUxgMLIj6adZgQ8EXUiSGmfqlwlvyHI+10DmoPQKXglmmCHGzTOzLresOcqMCli8NosV8uKYoC7robPfnA5o2wdVnDaGJWy2VqrP4UMvmA2dzCSs8kOxmiX42HZpnlTiLM0OUY1BBcN3y7YvRDW78cTS4i9yXGR8vEkrNzQSUOFb0wI8X5C4fT6DaqbVSoiE2Sk+Zz94joLg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=durham.ac.uk; dmarc=pass action=none header.from=durham.ac.uk;
 dkim=pass header.d=durham.ac.uk; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=durhamuniversity.onmicrosoft.com;
 s=selector2-durhamuniversity-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HLSILlpHb90Vh7CPi2j82QQnnUTRjVOzMVHjsmrIF8c=;
 b=bZgOIHU8oMizttnPtmDT7/dawX6o7Tw3KlmzDFb47RbGjL7/0R17MPDK7HuyjVzXOKLUnRf9lDH4IZ0x2GaAr9r84BSE2xALzobU98TPU+t7UoHgucsJjKQy432e3cXRvcOCjxJiEZSHk8RFXMP4CxdFj78gbQ3EcDhBpU4GiFs=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=durham.ac.uk;
Date: Sat, 8 Jan 2022 21:00:42 +0000 (GMT)
From: Michael Young <m.a.young@durham.ac.uk>
To: xen-devel@lists.xenproject.org
Subject: Re: HVM failing on 4.16.0 without qemu-xen-traditional
In-Reply-To: <e5ef58a7-3615-2e47-bda7-fa90a7593969@austen5.home>
Message-ID: <7c7d1b39-967-752b-21a-cd32aa746792@austen5.home>
References: <e5ef58a7-3615-2e47-bda7-fa90a7593969@austen5.home>
Content-Type: text/plain; charset=US-ASCII; format=flowed
X-ClientProxiedBy: LO4P123CA0478.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a8::15) To LO4P265MB3790.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:1d1::5)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 16323e90-b054-4f4b-79e0-08d9d2e9eeec
X-MS-TrafficTypeDiagnostic: LO0P265MB3227:EE_
X-Microsoft-Antispam-PRVS:
	<LO0P265MB3227684D301CD8CE19B77B58874E9@LO0P265MB3227.GBRP265.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:
	1VQ6bagYVhqxjIAezI9z7sbBnx3WD9o3A3cV5FKlfizfibsR84a4aG1YTmC2/8vrjH4YBjA8NO9w/VhzgDR9AUsFaKlB69kfvPmdexPi8EJqzeGtrJg7WqsQydeeAq3CgqCQpZIukwhM4xJuz9+VkgPrSM+FTil7fkC3kY7Q4WenR5Re0LjEdVayFh2YqdcAB7nPs8VnIiTyPX0LHfQ4BhoCzml2Mg6TWRLVrlSLgkicoyqNTeDPmH5fxaoGLWF/kkB4Y80p1r/dhoI5T+b4so4FfoSJXx0nz335P6nQrEPnK7FyDOz/Wt/Khz1m8BL8QTVtASbmVWdeG9VWDCQ5KhAw6+FOVNVf9ORx85p0e0262niL3nw7e8RFAccP6yJvt8+sG8kboq+r6UO6olmxhxkAw3yG67G1UjgE6vsitHUOAYGKy+1oU6o8N4Sj+wwvy5QOgO2DrZMMk3F0/XNxo7IrtWRKXZPp9wxjCqyUYw1h/WX0T5dIAtNZKoEJooM+144c31Prbc/BDPoEDSehcyCf8k9RSw5Ys5BAmjcg+5HupHJPrkMtHxU6X59mUB1UzKxUChuGnUzeMaDCvC6DtCEgYSrl/KIJ3n4AdVgOjWELUnbpDWpQ7OoC+yrwNfxsrDBX+1YChngS/sB2NjVs+g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LO4P265MB3790.GBRP265.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(4636009)(366004)(6486002)(508600001)(2906002)(9686003)(36756003)(186003)(6512007)(86362001)(66556008)(66476007)(6506007)(6916009)(38100700002)(66946007)(786003)(316002)(5660300002)(8936002)(4744005)(8676002);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?6mlkZVGFwhOc4L5w9pDnIHS1YyUE/i6MENkUXn0HWhzvfNdJ0Tq4Cyv+pzKQ?=
 =?us-ascii?Q?zVvBc/iAhTDrVHyigRGBi6hgmu14/9xgHhUNqigTdBkhOGZSg3Ugw+RSmKW1?=
 =?us-ascii?Q?QZoWqRDi7xXYgtWmnfjVhOYIciAOZFFZDRzrcZL7NF6EckOfChCTwn2lIhCy?=
 =?us-ascii?Q?A2cSvtX4rt298PJ4FncaNO/sPDn/mR5U81AV5l2OPTReeUhmCslJVDJjjctN?=
 =?us-ascii?Q?ALvl4gUkR8BllKiXdrFi4uWjeCO3iMG2bkw4EhwOr9XKrfpzIXJp6+nxQcYR?=
 =?us-ascii?Q?7igi54SiFaSTcMul45XhxsR1rjcAIcCngzm9FFGra4hnFyIxUNbfZUsN1O1u?=
 =?us-ascii?Q?9ju8GXQlGJ3cJijQU+QoLTTW6eXJ0PTbant8/xFIjE3kju4RiD3khR3pqOY3?=
 =?us-ascii?Q?R4B6QejyvIl8+sk2SNdw/4pnvHqFHRvtqwxPpxdk6Q2/hap53WGBO+s0wGqw?=
 =?us-ascii?Q?ZkKWHs/FgmQU+3FmjcGIggUvnZARhEO76354Qh/LHrLlkpqoOpkO7KTKXHVN?=
 =?us-ascii?Q?K69Mqb3tsxDcupseflZXXe1dXuNIuZi4e8hVo7c9epQax8DH0qs8Jfr7+K6S?=
 =?us-ascii?Q?vmQysdm5PLy2Z4SOrUivcfcOl8gI7jXt3eaM+vhA/mqXMQOO5CR8bJCDHfOx?=
 =?us-ascii?Q?qYB/dAfTKj8uhtZvWrRxrvKHqwI5/N76LN7brmxTyr3s4pzx1SBsxVbPCytl?=
 =?us-ascii?Q?XVN6B/WCu0dDBhvcbjW5sm/FKd2LnyA+TwD9ROZ48yyGOnWmwtb6CXsB2lPc?=
 =?us-ascii?Q?udM/TF89up8jsl+xxU8eeaNqh7l8Ul0OUTiFUhFYZjNDT322M+ycS3xh2t2x?=
 =?us-ascii?Q?VI4BVFYHBAivXWowQ+yZZwtqQQixo6gxFNwThnej7utALFSPdhxFpGisfq7V?=
 =?us-ascii?Q?Hs2DCfcUKTFpfG7Izid/TggnNTqe698PvalTptivFMNSwAfHYxJBao2/6mSV?=
 =?us-ascii?Q?I+76ie/P0vOIMB410GKAOxgSJR1nBUocBXskFktYKWDsHiKqbx+Z6Mb0p8DD?=
 =?us-ascii?Q?sDvkEhdJY7KYgpGmLMzDq8q4OaemX1HiyvKjt9uLG6+1Zyk9jjjdinb4KUsd?=
 =?us-ascii?Q?8JpR56L8jP1vaWEhdhbSp7Hct84MSST7wIuF/iPVVcXJ8PuuHsi0VniwDe11?=
 =?us-ascii?Q?J+nP7SO6jA9e1ExgR/UAnzi6LwVOTS/SgI7OjMQZlCsk+sl8xKTccWH/MD+y?=
 =?us-ascii?Q?4YVaBX+M4c0nwCVHvnOGqx8J3JyQDQzoC1rf8nnW4rNCnU451mv48YBmQQ+Q?=
 =?us-ascii?Q?eeRn4FXIuvotRizLqMKHcv5Eejv6jLn0TgC6/Ck1YBdxCrJ9t4GKSHsmPUSN?=
 =?us-ascii?Q?wilAgE4VY5GNb1r/JOadLu2Cnw+as7JehSid6nrkrxJzFrpVBmgAZYcuICSB?=
 =?us-ascii?Q?/URqRxG0O3EMw/3NSU5piAGracLaxhAX6NGVqol7MznVjwNxBriDT8Gqo2br?=
 =?us-ascii?Q?hJ5XEMECExsrc9fCkgWxU1DM/l3q4y7yn+8kBcdkirYnoq3qixuaKqk/MvsS?=
 =?us-ascii?Q?kckpqd9Qr5XBXwiLjbG4vmwvXUWB45kBn0YDevbJYY6KdETj7xr/Q52bmeuF?=
 =?us-ascii?Q?UrL87XsAcS/xpLigilzbjIAj4U7SSbxfwwx9nmi0ZxWbm9qiQ1v3egZ/q3+R?=
 =?us-ascii?Q?GV4cIADUmtesmm306Ol4HXdKk0ha6v58UoEzTvZJxrfOkbKGBpkwpxWOycTK?=
 =?us-ascii?Q?A1gw4y3aZpdwYTEqHFL1Sy5sQDI=3D?=
X-OriginatorOrg: durham.ac.uk
X-MS-Exchange-CrossTenant-Network-Message-Id: 16323e90-b054-4f4b-79e0-08d9d2e9eeec
X-MS-Exchange-CrossTenant-AuthSource: LO4P265MB3790.GBRP265.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jan 2022 21:00:42.9041
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7250d88b-4b68-4529-be44-d59a2d8a6f94
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DTi7IthayNSwfk5BMh6ut/bT2Qu462O5JLjY2nBCAd3YgxMGq2L6l+uFs29bpaNJ2uyyfH3MTf2beI2aayYLSg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LO0P265MB3227

On Sat, 8 Jan 2022, Michael Young wrote:

> I have been trying to build xen 4.16.0 on Fedora without 
> qemu-xen-traditional, but it is failing to start HVM guests.
...

Ignore this. The problem is in my rpm spec file which hasn't been properly 
modified for the no qemu-xen-traditional state.

 	Michael Young


From xen-devel-bounces@lists.xenproject.org Sat Jan 08 23:36:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 08 Jan 2022 23:36:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254934.436810 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6LFJ-0002cI-Km; Sat, 08 Jan 2022 23:35:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254934.436810; Sat, 08 Jan 2022 23:35:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6LFJ-0002cB-Ho; Sat, 08 Jan 2022 23:35:37 +0000
Received: by outflank-mailman (input) for mailman id 254934;
 Sat, 08 Jan 2022 23:35:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zN0Z=RY=rere.qmqm.pl=mirq-linux@srs-se1.protection.inumbo.net>)
 id 1n6LFH-0002c5-Cq
 for xen-devel@lists.xenproject.org; Sat, 08 Jan 2022 23:35:36 +0000
Received: from rere.qmqm.pl (rere.qmqm.pl [91.227.64.183])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id abfbd283-70db-11ec-81c1-a30af7de8005;
 Sun, 09 Jan 2022 00:35:33 +0100 (CET)
Received: from remote.user (localhost [127.0.0.1])
 by rere.qmqm.pl (Postfix) with ESMTPSA id 4JWbzn6Bf4z9c;
 Sun,  9 Jan 2022 00:35:17 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: abfbd283-70db-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=rere.qmqm.pl; s=1;
	t=1641684931; bh=PlUOfTOJmz/Ue3/EDBlVUxJ2DxqecfDU18/1xQbQtoA=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=FscL30pAUhiOa20r1Aci5nnOyAPPM7+JoY4I/TdvClRTh0U4D6S+wg1hl5DP6lTxY
	 uXsR1x49ZX58OBDSXL5QGeKh44OE5Qx3HX+fhAHnzzl6d2Bb3RMolFLW/CZs7ANyT9
	 2B2bqDVSaDvrnFLV9W4laov2KVjSpYZyXNNSx0uhvIf6/Ty/Jc6im2Ya6WtOK+mKnU
	 8tBa912YBdNEWU6kN5XGlGndW+KwbfYMSoJHIv4OJWOXoW7NdW+vFlXd5iG2C0Sl5t
	 yLjrrdYJpGeB9xfuugFJFXVZkd4+VRh97hWFY+LEwPEsT5kUEeN00fOMl2F0IbFH2g
	 x9nJQfgC6GmfA==
X-Virus-Status: Clean
X-Virus-Scanned: clamav-milter 0.103.4 at mail
Date: Sun, 9 Jan 2022 00:35:15 +0100
From: =?iso-8859-2?Q?Micha=B3_Miros=B3aw?= <mirq-linux@rere.qmqm.pl>
To: Dmitry Osipenko <digetx@gmail.com>
Cc: Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Russell King <linux@armlinux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>, Guo Ren <guoren@kernel.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Greg Ungerer <gerg@linux-m68k.org>,
	Joshua Thompson <funaho@jurai.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Sebastian Reichel <sre@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	"James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
	Helge Deller <deller@gmx.de>, Michael Ellerman <mpe@ellerman.id.au>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>, Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>, Pavel Machek <pavel@ucw.cz>,
	Lee Jones <lee.jones@linaro.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Ulf Hansson <ulf.hansson@linaro.org>, alankao@andestech.com,
	"K . C . Kuen-Chern Lin" <kclin@andestech.com>,
	linux-kernel@vger.kernel.org, linux-csky@vger.kernel.org,
	linux-ia64@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org,
	linux-sh@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org, linux-pm@vger.kernel.org,
	linux-tegra@vger.kernel.org
Subject: Re: [PATCH v5 04/21] kernel: Add combined power-off+restart handler
 call chain API
Message-ID: <Ydofs2CIfA+r5KAz@qmqm.qmqm.pl>
References: <20211212210309.9851-1-digetx@gmail.com>
 <20211212210309.9851-5-digetx@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-2
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20211212210309.9851-5-digetx@gmail.com>

On Mon, Dec 13, 2021 at 12:02:52AM +0300, Dmitry Osipenko wrote:
[...]
> +/**
> + * struct power_off_data - Power-off callback argument
> + *
> + * @cb_data: Callback data.
> + */
> +struct power_off_data {
> +	void *cb_data;
> +};
> +
> +/**
> + * struct power_off_prep_data - Power-off preparation callback argument
> + *
> + * @cb_data: Callback data.
> + */
> +struct power_off_prep_data {
> +	void *cb_data;
> +};

Why two exactly same structures? Why only a single pointer instead? If
it just to enable type-checking callbacks, then thouse could be opaque
or zero-sized structs that would be embedded or casted away in
respective callbacks.

> +
> +/**
> + * struct restart_data - Restart callback argument
> + *
> + * @cb_data: Callback data.
> + * @cmd: Restart command string.
> + * @stop_chain: Further lower priority callbacks won't be executed if set to
> + *		true. Can be changed within callback. Default is false.
> + * @mode: Reboot mode ID.
> + */
> +struct restart_data {
> +	void *cb_data;
> +	const char *cmd;
> +	bool stop_chain;
> +	enum reboot_mode mode;
> +};
> +
> +/**
> + * struct reboot_prep_data - Reboot and shutdown preparation callback argument
> + *
> + * @cb_data: Callback data.
> + * @cmd: Restart command string.
> + * @stop_chain: Further lower priority callbacks won't be executed if set to
> + *		true. Can be changed within callback. Default is false.

Why would we want to stop power-off or erboot chain? If the callback
succeded, then further calls won't be made. If it doesn't succeed, but
possibly breaks the system somehow, it shouldn't return. Then the only
case left would be to just try the next method of shutting down.

> + * @mode: Preparation mode ID.
> + */
> +struct reboot_prep_data {
> +	void *cb_data;
> +	const char *cmd;
> +	bool stop_chain;
> +	enum reboot_prepare_mode mode;
> +};
> +
> +struct sys_off_handler_private_data {
> +	struct notifier_block power_off_nb;
> +	struct notifier_block restart_nb;
> +	struct notifier_block reboot_nb;

What's the difference between restart and reboot?

> +	void (*platform_power_off_cb)(void);
> +	void (*simple_power_off_cb)(void *data);
> +	void *simple_power_off_cb_data;
> +	bool registered;
> +};

BTW, I couldn't find a right description of my idea of unifying the
chains before, so let me sketch it now.

The idea is to have a single system-off chain in which the callback
gets a mode ({QUERY_*, PREP_*, DO_*} for each of {*_REBOOT, *_POWEROFF, ...?).
The QUERY_* calls would be made in can_kernel_reboot/poweroff(): all
would be called, and if at least one returned true, then the shutdown
mode would continue. All of PREP_* would be called then. After that
all DO_* would be tried until one doesn't return (succeeded or broke
the system hard). Classic for(;;); could be a final fallback for the
case where arch/machine (lowest priority) call would return instead
of halting the system in machine-dependent way. The QUERY and PREP
stages could be combined, but I haven't thought about it enough to
see what conditions would need to be imposed on the callbacks in
that case (maybe it's not worth the trouble, since it isn't a fast
path anyway?). The goal here is to have less (duplicated) code in
kernel, but otherwise it seems equivalent to your API proposal.

Best Regards
Micha Mirosaw


From xen-devel-bounces@lists.xenproject.org Sun Jan 09 01:15:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 09 Jan 2022 01:15:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254940.436825 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6Mnq-0006F3-HF; Sun, 09 Jan 2022 01:15:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254940.436825; Sun, 09 Jan 2022 01:15:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6Mnq-0006Eo-CB; Sun, 09 Jan 2022 01:15:22 +0000
Received: by outflank-mailman (input) for mailman id 254940;
 Sun, 09 Jan 2022 01:15:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4WZq=RZ=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n6Mnp-0006ER-Qj
 for xen-devel@lists.xenproject.org; Sun, 09 Jan 2022 01:15:21 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9b758187-70e9-11ec-81c1-a30af7de8005;
 Sun, 09 Jan 2022 02:15:20 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 6EF153A7;
 Sun,  9 Jan 2022 02:15:17 +0100 (CET)
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 HVlYJJq80gBA; Sun,  9 Jan 2022 02:15:16 +0100 (CET)
Received: from begin.home (unknown
 [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 79BE1331;
 Sun,  9 Jan 2022 02:15:16 +0100 (CET)
Received: from samy by begin.home with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n6Mnj-006i1Q-2N;
 Sun, 09 Jan 2022 02:15:15 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9b758187-70e9-11ec-81c1-a30af7de8005
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 9 Jan 2022 02:15:15 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH 1/2] mini-os: remove event channel specific struct file
 member
Message-ID: <20220109011515.sx2qynqslxhllred@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: <20220107104706.9859-1-jgross@suse.com>
 <20220107104706.9859-2-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220107104706.9859-2-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 6EF153A7
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le ven. 07 janv. 2022 11:47:05 +0100, a ecrit:
> The event channel specific union member in struct file is no longer
> needed,

Doesn't xen/tools/libs/evtchn/minios.c use it?

> so remove it together with the associated structure
> definitions.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>  include/lib.h | 12 ------------
>  1 file changed, 12 deletions(-)
> 
> diff --git a/include/lib.h b/include/lib.h
> index 7a0546b..cbfeea3 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -173,15 +173,6 @@ enum fd_type {
>      FTYPE_TPM_TIS,
>  };
>  
> -LIST_HEAD(evtchn_port_list, evtchn_port_info);
> -
> -struct evtchn_port_info {
> -        LIST_ENTRY(evtchn_port_info) list;
> -        evtchn_port_t port;
> -        unsigned long pending;
> -        int bound;
> -};
> -
>  struct file {
>      enum fd_type type;
>      bool read;	/* maybe available for read */
> @@ -189,9 +180,6 @@ struct file {
>      union {
>          int fd; /* Any fd from an upper layer. */
>          void *dev;
> -	struct {
> -	    struct evtchn_port_list ports;
> -	} evtchn;
>  	struct gntmap gntmap;
>      };
>  };
> -- 
> 2.26.2


From xen-devel-bounces@lists.xenproject.org Sun Jan 09 01:16:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 09 Jan 2022 01:16:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254943.436841 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6Moa-0006qc-VQ; Sun, 09 Jan 2022 01:16:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254943.436841; Sun, 09 Jan 2022 01:16:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6Moa-0006pH-PL; Sun, 09 Jan 2022 01:16:08 +0000
Received: by outflank-mailman (input) for mailman id 254943;
 Sun, 09 Jan 2022 01:16:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4WZq=RZ=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n6Moa-0006oT-3p
 for xen-devel@lists.xenproject.org; Sun, 09 Jan 2022 01:16:08 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b76355ff-70e9-11ec-9ce5-af14b9085ebd;
 Sun, 09 Jan 2022 02:16:06 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id AAF073A7;
 Sun,  9 Jan 2022 02:16:04 +0100 (CET)
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 zF027k-HoJ6H; Sun,  9 Jan 2022 02:16:04 +0100 (CET)
Received: from begin.home (unknown
 [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 3585464;
 Sun,  9 Jan 2022 02:16:04 +0100 (CET)
Received: from samy by begin.home with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n6MoV-006i4L-OX;
 Sun, 09 Jan 2022 02:16:03 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b76355ff-70e9-11ec-9ce5-af14b9085ebd
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 9 Jan 2022 02:16:03 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH 0/2] mini-os: remove device specific struct file members
Message-ID: <20220109011603.bymferaebanvvmud@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: <20220107104706.9859-1-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220107104706.9859-1-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: AAF073A7
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le ven. 07 janv. 2022 11:47:04 +0100, a ecrit:
> can only be applied after the Xen libraries have stopped using the
> related union members.

Ah, ok :) Was that submitted somewhere?

Samuel


From xen-devel-bounces@lists.xenproject.org Sun Jan 09 01:17:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 09 Jan 2022 01:17:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254946.436852 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6Mpf-0007X1-8N; Sun, 09 Jan 2022 01:17:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254946.436852; Sun, 09 Jan 2022 01:17:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6Mpf-0007Wu-4l; Sun, 09 Jan 2022 01:17:15 +0000
Received: by outflank-mailman (input) for mailman id 254946;
 Sun, 09 Jan 2022 01:17:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4WZq=RZ=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n6Mpd-0007Wc-TT
 for xen-devel@lists.xenproject.org; Sun, 09 Jan 2022 01:17:13 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dfdf7bbc-70e9-11ec-9ce5-af14b9085ebd;
 Sun, 09 Jan 2022 02:17:13 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 8CD36331;
 Sun,  9 Jan 2022 02:17:12 +0100 (CET)
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 TK7gXm34arO3; Sun,  9 Jan 2022 02:17:12 +0100 (CET)
Received: from begin.home (unknown
 [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id C094564;
 Sun,  9 Jan 2022 02:17:11 +0100 (CET)
Received: from samy by begin.home with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n6Mpb-006i5T-2w;
 Sun, 09 Jan 2022 02:17:11 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dfdf7bbc-70e9-11ec-9ce5-af14b9085ebd
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 9 Jan 2022 02:17:11 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH 01/15] mini-os: split struct file definition from its
 usage
Message-ID: <20220109011711.ft5xxxahzeixwxjm@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: <20220106115741.3219-1-jgross@suse.com>
 <20220106115741.3219-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: <20220106115741.3219-2-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 8CD36331
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le jeu. 06 janv. 2022 12:57:27 +0100, a ecrit:
> Make the struct file definition standalone and use it for the
> declaration of the files array.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
>  include/lib.h | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/include/lib.h b/include/lib.h
> index 39d6a18..a638bc9 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -181,7 +181,7 @@ struct evtchn_port_info {
>          int bound;
>  };
>  
> -extern struct file {
> +struct file {
>      enum fd_type type;
>      union {
>  	struct {
> @@ -236,7 +236,9 @@ extern struct file {
>  #endif
>      };
>      int read;	/* maybe available for read */
> -} files[];
> +};
> +
> +extern struct file files[];
>  
>  int alloc_fd(enum fd_type type);
>  void close_all_files(void);
> -- 
> 2.26.2
> 

-- 
Samuel
> C'est vrai. FreeBSD pourrait être bien s'il avait une licence
> correcte.
Oh, mon troll-ô-meter vient d'exploser...
-+- OR in Guide du linuxien pervers - "Bien regler son troll-ô-meter"


From xen-devel-bounces@lists.xenproject.org Sun Jan 09 01:18:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 09 Jan 2022 01:18:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254954.436867 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6MrB-0008Eb-Km; Sun, 09 Jan 2022 01:18:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254954.436867; Sun, 09 Jan 2022 01: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 1n6MrB-0008EU-HE; Sun, 09 Jan 2022 01:18:49 +0000
Received: by outflank-mailman (input) for mailman id 254954;
 Sun, 09 Jan 2022 01:18:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4WZq=RZ=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n6MrA-0008EH-0P
 for xen-devel@lists.xenproject.org; Sun, 09 Jan 2022 01:18:48 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 17beb424-70ea-11ec-9ce5-af14b9085ebd;
 Sun, 09 Jan 2022 02:18:46 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 4B7283A7;
 Sun,  9 Jan 2022 02:18:46 +0100 (CET)
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 FeCwvJhCkT26; Sun,  9 Jan 2022 02:18:45 +0100 (CET)
Received: from begin.home (unknown
 [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 2B3B664;
 Sun,  9 Jan 2022 02:18:45 +0100 (CET)
Received: from samy by begin.home with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n6Mr6-006i91-Ft;
 Sun, 09 Jan 2022 02:18:44 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 17beb424-70ea-11ec-9ce5-af14b9085ebd
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 9 Jan 2022 02:18:44 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH 02/15] mini-os: makes file.read bool and move it ahead of
 device specific part
Message-ID: <20220109011844.ztd7uwre6kb3dzwv@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: <20220106115741.3219-1-jgross@suse.com>
 <20220106115741.3219-3-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220106115741.3219-3-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 4B7283A7
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le jeu. 06 janv. 2022 12:57:28 +0100, a ecrit:
> The read member of struct file should be bool.
> 
> In order to have the device specific part at the end of the structure
> move "read" ahead of that.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
>  blkfront.c             |  4 ++--
>  console/xencons_ring.c |  2 +-
>  fbfront.c              | 12 ++++++------
>  include/lib.h          |  3 ++-
>  netfront.c             |  4 ++--
>  tpm_tis.c              |  2 +-
>  tpmfront.c             |  6 +++---
>  7 files changed, 17 insertions(+), 16 deletions(-)
> 
> diff --git a/blkfront.c b/blkfront.c
> index 834a978..7c8eb74 100644
> --- a/blkfront.c
> +++ b/blkfront.c
> @@ -62,7 +62,7 @@ void blkfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
>      int fd = dev->fd;
>  
>      if (fd != -1)
> -        files[fd].read = 1;
> +        files[fd].read = true;
>  #endif
>      wake_up(&blkfront_queue);
>  }
> @@ -484,7 +484,7 @@ int blkfront_aio_poll(struct blkfront_dev *dev)
>  moretodo:
>  #ifdef HAVE_LIBC
>      if (dev->fd != -1) {
> -        files[dev->fd].read = 0;
> +        files[dev->fd].read = false;
>          mb(); /* Make sure to let the handler set read to 1 before we start looking at the ring */
>      }
>  #endif
> diff --git a/console/xencons_ring.c b/console/xencons_ring.c
> index b6db74e..c348f3c 100644
> --- a/console/xencons_ring.c
> +++ b/console/xencons_ring.c
> @@ -102,7 +102,7 @@ void console_handle_input(evtchn_port_t port, struct pt_regs *regs, void *data)
>          int fd = dev ? dev->fd : -1;
>  
>          if (fd != -1)
> -            files[fd].read = 1;
> +            files[fd].read = true;
>  
>          wake_up(&console_queue);
>  #else
> diff --git a/fbfront.c b/fbfront.c
> index d3b3848..6725da1 100644
> --- a/fbfront.c
> +++ b/fbfront.c
> @@ -45,7 +45,7 @@ void kbdfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
>      int fd = dev->fd;
>  
>      if (fd != -1)
> -        files[fd].read = 1;
> +        files[fd].read = true;
>  #endif
>      wake_up(&kbdfront_queue);
>  }
> @@ -207,7 +207,7 @@ int kbdfront_receive(struct kbdfront_dev *dev, union xenkbd_in_event *buf, int n
>  
>  #ifdef HAVE_LIBC
>      if (dev->fd != -1) {
> -        files[dev->fd].read = 0;
> +        files[dev->fd].read = false;
>          mb(); /* Make sure to let the handler set read to 1 before we start looking at the ring */
>      }
>  #endif
> @@ -229,7 +229,7 @@ int kbdfront_receive(struct kbdfront_dev *dev, union xenkbd_in_event *buf, int n
>  #ifdef HAVE_LIBC
>      if (cons != prod && dev->fd != -1)
>          /* still some events to read */
> -        files[dev->fd].read = 1;
> +        files[dev->fd].read = true;
>  #endif
>  
>      return i;
> @@ -349,7 +349,7 @@ void fbfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
>      int fd = dev->fd;
>  
>      if (fd != -1)
> -        files[fd].read = 1;
> +        files[fd].read = true;
>  #endif
>      wake_up(&fbfront_queue);
>  }
> @@ -376,7 +376,7 @@ int fbfront_receive(struct fbfront_dev *dev, union xenfb_in_event *buf, int n)
>  
>  #ifdef HAVE_LIBC
>      if (dev->fd != -1) {
> -        files[dev->fd].read = 0;
> +        files[dev->fd].read = false;
>          mb(); /* Make sure to let the handler set read to 1 before we start looking at the ring */
>      }
>  #endif
> @@ -398,7 +398,7 @@ int fbfront_receive(struct fbfront_dev *dev, union xenfb_in_event *buf, int n)
>  #ifdef HAVE_LIBC
>      if (cons != prod && dev->fd != -1)
>          /* still some events to read */
> -        files[dev->fd].read = 1;
> +        files[dev->fd].read = true;
>  #endif
>  
>      return i;
> diff --git a/include/lib.h b/include/lib.h
> index a638bc9..df2de9e 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -49,6 +49,7 @@
>  #define _LIB_H_
>  
>  #include <stdarg.h>
> +#include <stdbool.h>
>  #include <stddef.h>
>  #include <xen/xen.h>
>  #include <xen/event_channel.h>
> @@ -183,6 +184,7 @@ struct evtchn_port_info {
>  
>  struct file {
>      enum fd_type type;
> +    bool read;	/* maybe available for read */
>      union {
>  	struct {
>              /* lwIP fd */
> @@ -235,7 +237,6 @@ struct file {
>          } xenbus;
>  #endif
>      };
> -    int read;	/* maybe available for read */
>  };
>  
>  extern struct file files[];
> diff --git a/netfront.c b/netfront.c
> index dfe065b..a566e34 100644
> --- a/netfront.c
> +++ b/netfront.c
> @@ -255,7 +255,7 @@ void netfront_select_handler(evtchn_port_t port, struct pt_regs *regs, void *dat
>      local_irq_restore(flags);
>  
>      if (fd != -1)
> -        files[fd].read = 1;
> +        files[fd].read = true;
>      wake_up(&netfront_queue);
>  }
>  #endif
> @@ -783,7 +783,7 @@ ssize_t netfront_receive(struct netfront_dev *dev, unsigned char *data, size_t l
>      network_rx(dev);
>      if (!dev->rlen && fd != -1)
>          /* No data for us, make select stop returning */
> -        files[fd].read = 0;
> +        files[fd].read = false;
>      /* Before re-enabling the interrupts, in case a packet just arrived in the
>       * meanwhile. */
>      local_irq_restore(flags);
> diff --git a/tpm_tis.c b/tpm_tis.c
> index 475ac5d..4a51027 100644
> --- a/tpm_tis.c
> +++ b/tpm_tis.c
> @@ -845,7 +845,7 @@ int tpm_tis_send(struct tpm_chip* tpm, uint8_t* buf, size_t len) {
>     }
>  #ifdef HAVE_LIBC
>     if(tpm->fd >= 0) {
> -      files[tpm->fd].read = 0;
> +      files[tpm->fd].read = false;
>        files[tpm->fd].tpm_tis.respgot = 0;
>        files[tpm->fd].tpm_tis.offset = 0;
>     }
> diff --git a/tpmfront.c b/tpmfront.c
> index 6049244..d825b49 100644
> --- a/tpmfront.c
> +++ b/tpmfront.c
> @@ -66,7 +66,7 @@ void tpmfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data) {
>     dev->waiting = 0;
>  #ifdef HAVE_LIBC
>     if(dev->fd >= 0) {
> -      files[dev->fd].read = 1;
> +      files[dev->fd].read = true;
>     }
>  #endif
>     wake_up(&dev->waitq);
> @@ -438,7 +438,7 @@ int tpmfront_send(struct tpmfront_dev* dev, const uint8_t* msg, size_t length)
>     dev->resplen = 0;
>  #ifdef HAVE_LIBC
>     if(dev->fd >= 0) {
> -      files[dev->fd].read = 0;
> +      files[dev->fd].read = false;
>        files[dev->fd].tpmfront.respgot = 0;
>        files[dev->fd].tpmfront.offset = 0;
>     }
> @@ -611,7 +611,7 @@ int tpmfront_posix_fstat(int fd, struct stat* buf)
>  
>     /* If we have a response waiting, then read it now from the backend
>      * so we can get its length*/
> -   if(dev->waiting || (files[dev->fd].read == 1 && !files[dev->fd].tpmfront.respgot)) {
> +   if(dev->waiting || (files[dev->fd].read && !files[dev->fd].tpmfront.respgot)) {
>        if ((rc = tpmfront_recv(dev, &dummybuf, &dummysz)) != 0) {
>  	 errno = EIO;
>  	 return -1;
> -- 
> 2.26.2
> 

-- 
Samuel
> No manual is ever necessary.
May I politely interject here: BULLSHIT.  That's the biggest Apple lie of all!
(Discussion in comp.os.linux.misc on the intuitiveness of interfaces.)


From xen-devel-bounces@lists.xenproject.org Sun Jan 09 01:21:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 09 Jan 2022 01:21:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254962.436886 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6MtQ-0001Lg-8r; Sun, 09 Jan 2022 01:21:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254962.436886; Sun, 09 Jan 2022 01: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 1n6MtQ-0001LZ-5m; Sun, 09 Jan 2022 01:21:08 +0000
Received: by outflank-mailman (input) for mailman id 254962;
 Sun, 09 Jan 2022 01:21:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4WZq=RZ=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n6MtO-0001JH-LL
 for xen-devel@lists.xenproject.org; Sun, 09 Jan 2022 01:21:06 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [2a0c:e300::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 69460c7f-70ea-11ec-81c1-a30af7de8005;
 Sun, 09 Jan 2022 02:21:04 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id B4FCE3A7;
 Sun,  9 Jan 2022 02:21:02 +0100 (CET)
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 P1x4HL83GeeH; Sun,  9 Jan 2022 02:21:01 +0100 (CET)
Received: from begin.home (unknown
 [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 47ECA64;
 Sun,  9 Jan 2022 02:21:01 +0100 (CET)
Received: from samy by begin.home with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n6MtI-006iHK-8I;
 Sun, 09 Jan 2022 02:21:00 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 69460c7f-70ea-11ec-81c1-a30af7de8005
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 9 Jan 2022 02:21:00 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
Subject: Re: [PATCH 02/15] mini-os: makes file.read bool and move it ahead of
 device specific part
Message-ID: <20220109012100.tpv42y3efylqgrhr@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: <20220106115741.3219-1-jgross@suse.com>
 <20220106115741.3219-3-jgross@suse.com>
 <20220109011844.ztd7uwre6kb3dzwv@begin>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220109011844.ztd7uwre6kb3dzwv@begin>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: B4FCE3A7
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Samuel Thibault, le dim. 09 janv. 2022 02:18:44 +0100, a ecrit:
> Juergen Gross, le jeu. 06 janv. 2022 12:57:28 +0100, a ecrit:
> > The read member of struct file should be bool.
> > 
> > In order to have the device specific part at the end of the structure
> > move "read" ahead of that.
> > 
> > Signed-off-by: Juergen Gross <jgross@suse.com>
> 
> Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

Mmm, but tools/libs/evtchn/minios.c needs updating, doesn't it?

> > ---
> >  blkfront.c             |  4 ++--
> >  console/xencons_ring.c |  2 +-
> >  fbfront.c              | 12 ++++++------
> >  include/lib.h          |  3 ++-
> >  netfront.c             |  4 ++--
> >  tpm_tis.c              |  2 +-
> >  tpmfront.c             |  6 +++---
> >  7 files changed, 17 insertions(+), 16 deletions(-)
> > 
> > diff --git a/blkfront.c b/blkfront.c
> > index 834a978..7c8eb74 100644
> > --- a/blkfront.c
> > +++ b/blkfront.c
> > @@ -62,7 +62,7 @@ void blkfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
> >      int fd = dev->fd;
> >  
> >      if (fd != -1)
> > -        files[fd].read = 1;
> > +        files[fd].read = true;
> >  #endif
> >      wake_up(&blkfront_queue);
> >  }
> > @@ -484,7 +484,7 @@ int blkfront_aio_poll(struct blkfront_dev *dev)
> >  moretodo:
> >  #ifdef HAVE_LIBC
> >      if (dev->fd != -1) {
> > -        files[dev->fd].read = 0;
> > +        files[dev->fd].read = false;
> >          mb(); /* Make sure to let the handler set read to 1 before we start looking at the ring */
> >      }
> >  #endif
> > diff --git a/console/xencons_ring.c b/console/xencons_ring.c
> > index b6db74e..c348f3c 100644
> > --- a/console/xencons_ring.c
> > +++ b/console/xencons_ring.c
> > @@ -102,7 +102,7 @@ void console_handle_input(evtchn_port_t port, struct pt_regs *regs, void *data)
> >          int fd = dev ? dev->fd : -1;
> >  
> >          if (fd != -1)
> > -            files[fd].read = 1;
> > +            files[fd].read = true;
> >  
> >          wake_up(&console_queue);
> >  #else
> > diff --git a/fbfront.c b/fbfront.c
> > index d3b3848..6725da1 100644
> > --- a/fbfront.c
> > +++ b/fbfront.c
> > @@ -45,7 +45,7 @@ void kbdfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
> >      int fd = dev->fd;
> >  
> >      if (fd != -1)
> > -        files[fd].read = 1;
> > +        files[fd].read = true;
> >  #endif
> >      wake_up(&kbdfront_queue);
> >  }
> > @@ -207,7 +207,7 @@ int kbdfront_receive(struct kbdfront_dev *dev, union xenkbd_in_event *buf, int n
> >  
> >  #ifdef HAVE_LIBC
> >      if (dev->fd != -1) {
> > -        files[dev->fd].read = 0;
> > +        files[dev->fd].read = false;
> >          mb(); /* Make sure to let the handler set read to 1 before we start looking at the ring */
> >      }
> >  #endif
> > @@ -229,7 +229,7 @@ int kbdfront_receive(struct kbdfront_dev *dev, union xenkbd_in_event *buf, int n
> >  #ifdef HAVE_LIBC
> >      if (cons != prod && dev->fd != -1)
> >          /* still some events to read */
> > -        files[dev->fd].read = 1;
> > +        files[dev->fd].read = true;
> >  #endif
> >  
> >      return i;
> > @@ -349,7 +349,7 @@ void fbfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
> >      int fd = dev->fd;
> >  
> >      if (fd != -1)
> > -        files[fd].read = 1;
> > +        files[fd].read = true;
> >  #endif
> >      wake_up(&fbfront_queue);
> >  }
> > @@ -376,7 +376,7 @@ int fbfront_receive(struct fbfront_dev *dev, union xenfb_in_event *buf, int n)
> >  
> >  #ifdef HAVE_LIBC
> >      if (dev->fd != -1) {
> > -        files[dev->fd].read = 0;
> > +        files[dev->fd].read = false;
> >          mb(); /* Make sure to let the handler set read to 1 before we start looking at the ring */
> >      }
> >  #endif
> > @@ -398,7 +398,7 @@ int fbfront_receive(struct fbfront_dev *dev, union xenfb_in_event *buf, int n)
> >  #ifdef HAVE_LIBC
> >      if (cons != prod && dev->fd != -1)
> >          /* still some events to read */
> > -        files[dev->fd].read = 1;
> > +        files[dev->fd].read = true;
> >  #endif
> >  
> >      return i;
> > diff --git a/include/lib.h b/include/lib.h
> > index a638bc9..df2de9e 100644
> > --- a/include/lib.h
> > +++ b/include/lib.h
> > @@ -49,6 +49,7 @@
> >  #define _LIB_H_
> >  
> >  #include <stdarg.h>
> > +#include <stdbool.h>
> >  #include <stddef.h>
> >  #include <xen/xen.h>
> >  #include <xen/event_channel.h>
> > @@ -183,6 +184,7 @@ struct evtchn_port_info {
> >  
> >  struct file {
> >      enum fd_type type;
> > +    bool read;	/* maybe available for read */
> >      union {
> >  	struct {
> >              /* lwIP fd */
> > @@ -235,7 +237,6 @@ struct file {
> >          } xenbus;
> >  #endif
> >      };
> > -    int read;	/* maybe available for read */
> >  };
> >  
> >  extern struct file files[];
> > diff --git a/netfront.c b/netfront.c
> > index dfe065b..a566e34 100644
> > --- a/netfront.c
> > +++ b/netfront.c
> > @@ -255,7 +255,7 @@ void netfront_select_handler(evtchn_port_t port, struct pt_regs *regs, void *dat
> >      local_irq_restore(flags);
> >  
> >      if (fd != -1)
> > -        files[fd].read = 1;
> > +        files[fd].read = true;
> >      wake_up(&netfront_queue);
> >  }
> >  #endif
> > @@ -783,7 +783,7 @@ ssize_t netfront_receive(struct netfront_dev *dev, unsigned char *data, size_t l
> >      network_rx(dev);
> >      if (!dev->rlen && fd != -1)
> >          /* No data for us, make select stop returning */
> > -        files[fd].read = 0;
> > +        files[fd].read = false;
> >      /* Before re-enabling the interrupts, in case a packet just arrived in the
> >       * meanwhile. */
> >      local_irq_restore(flags);
> > diff --git a/tpm_tis.c b/tpm_tis.c
> > index 475ac5d..4a51027 100644
> > --- a/tpm_tis.c
> > +++ b/tpm_tis.c
> > @@ -845,7 +845,7 @@ int tpm_tis_send(struct tpm_chip* tpm, uint8_t* buf, size_t len) {
> >     }
> >  #ifdef HAVE_LIBC
> >     if(tpm->fd >= 0) {
> > -      files[tpm->fd].read = 0;
> > +      files[tpm->fd].read = false;
> >        files[tpm->fd].tpm_tis.respgot = 0;
> >        files[tpm->fd].tpm_tis.offset = 0;
> >     }
> > diff --git a/tpmfront.c b/tpmfront.c
> > index 6049244..d825b49 100644
> > --- a/tpmfront.c
> > +++ b/tpmfront.c
> > @@ -66,7 +66,7 @@ void tpmfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data) {
> >     dev->waiting = 0;
> >  #ifdef HAVE_LIBC
> >     if(dev->fd >= 0) {
> > -      files[dev->fd].read = 1;
> > +      files[dev->fd].read = true;
> >     }
> >  #endif
> >     wake_up(&dev->waitq);
> > @@ -438,7 +438,7 @@ int tpmfront_send(struct tpmfront_dev* dev, const uint8_t* msg, size_t length)
> >     dev->resplen = 0;
> >  #ifdef HAVE_LIBC
> >     if(dev->fd >= 0) {
> > -      files[dev->fd].read = 0;
> > +      files[dev->fd].read = false;
> >        files[dev->fd].tpmfront.respgot = 0;
> >        files[dev->fd].tpmfront.offset = 0;
> >     }
> > @@ -611,7 +611,7 @@ int tpmfront_posix_fstat(int fd, struct stat* buf)
> >  
> >     /* If we have a response waiting, then read it now from the backend
> >      * so we can get its length*/
> > -   if(dev->waiting || (files[dev->fd].read == 1 && !files[dev->fd].tpmfront.respgot)) {
> > +   if(dev->waiting || (files[dev->fd].read && !files[dev->fd].tpmfront.respgot)) {
> >        if ((rc = tpmfront_recv(dev, &dummybuf, &dummysz)) != 0) {
> >  	 errno = EIO;
> >  	 return -1;
> > -- 
> > 2.26.2
> > 
> 
> -- 
> Samuel
> > No manual is ever necessary.
> May I politely interject here: BULLSHIT.  That's the biggest Apple lie of all!
> (Discussion in comp.os.linux.misc on the intuitiveness of interfaces.)

-- 
Samuel
<c> xlnt comme sujet de stage je peux essayer de donner une description formelle de automake
 -+- #ens-mim -+-


From xen-devel-bounces@lists.xenproject.org Sun Jan 09 01:23:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 09 Jan 2022 01:23:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254967.436897 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6MvU-00020w-MT; Sun, 09 Jan 2022 01:23:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254967.436897; Sun, 09 Jan 2022 01:23: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 1n6MvU-00020p-JL; Sun, 09 Jan 2022 01:23:16 +0000
Received: by outflank-mailman (input) for mailman id 254967;
 Sun, 09 Jan 2022 01:23:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4WZq=RZ=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n6MvT-00020e-8L
 for xen-devel@lists.xenproject.org; Sun, 09 Jan 2022 01:23:15 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [2a0c:e300::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b711d1c4-70ea-11ec-9ce5-af14b9085ebd;
 Sun, 09 Jan 2022 02:23:14 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 851FA3A7;
 Sun,  9 Jan 2022 02:23:13 +0100 (CET)
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 Pqr1WHjmhjWY; Sun,  9 Jan 2022 02:23:12 +0100 (CET)
Received: from begin.home (unknown
 [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 4090E331;
 Sun,  9 Jan 2022 02:23:12 +0100 (CET)
Received: from samy by begin.home with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n6MvP-006iIv-Eq;
 Sun, 09 Jan 2022 02:23:11 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b711d1c4-70ea-11ec-9ce5-af14b9085ebd
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 9 Jan 2022 02:23:11 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH 03/15] mini-os: make offset a common struct file member
 for all types
Message-ID: <20220109012311.hzqr2pganyngte5b@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: <20220106115741.3219-1-jgross@suse.com>
 <20220106115741.3219-4-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220106115741.3219-4-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 851FA3A7
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le jeu. 06 janv. 2022 12:57:29 +0100, a ecrit:
> Currently 4 file types have an offset member in their private struct
> file part. Make offset a common struct member shared by all file types.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
>  blkfront.c    |  5 ++---
>  include/lib.h |  5 +----
>  lib/sys.c     | 14 +++++---------
>  tpm_tis.c     | 11 +++++------
>  tpmfront.c    | 11 +++++------
>  5 files changed, 18 insertions(+), 28 deletions(-)
> 
> diff --git a/blkfront.c b/blkfront.c
> index 7c8eb74..8137106 100644
> --- a/blkfront.c
> +++ b/blkfront.c
> @@ -563,14 +563,13 @@ int blkfront_open(struct blkfront_dev *dev)
>      dev->fd = alloc_fd(FTYPE_BLK);
>      printk("blk_open(%s) -> %d\n", dev->nodename, dev->fd);
>      files[dev->fd].blk.dev = dev;
> -    files[dev->fd].blk.offset = 0;
>      return dev->fd;
>  }
>  
>  int blkfront_posix_rwop(int fd, uint8_t* buf, size_t count, int write)
>  {
>     struct blkfront_dev* dev = files[fd].blk.dev;
> -   off_t offset = files[fd].blk.offset;
> +   off_t offset = files[fd].offset;
>     struct blkfront_aiocb aiocb;
>     unsigned long long disksize = dev->info.sectors * dev->info.sector_size;
>     unsigned int blocksize = dev->info.sector_size;
> @@ -712,7 +711,7 @@ int blkfront_posix_rwop(int fd, uint8_t* buf, size_t count, int write)
>     }
>  
>     free(copybuf);
> -   files[fd].blk.offset += rc;
> +   files[fd].offset += rc;
>     return rc;
>  
>  }
> diff --git a/include/lib.h b/include/lib.h
> index df2de9e..4d9b14b 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -185,6 +185,7 @@ struct evtchn_port_info {
>  struct file {
>      enum fd_type type;
>      bool read;	/* maybe available for read */
> +    off_t offset;
>      union {
>  	struct {
>              /* lwIP fd */
> @@ -193,7 +194,6 @@ struct file {
>  	struct {
>              /* FS import fd */
>  	    int fd;
> -	    off_t offset;
>  	} file;
>  	struct {
>  	    struct evtchn_port_list ports;
> @@ -204,7 +204,6 @@ struct file {
>  	} tap;
>  	struct {
>  	    struct blkfront_dev *dev;
> -            off_t offset;
>  	} blk;
>  	struct {
>  	    struct kbdfront_dev *dev;
> @@ -219,14 +218,12 @@ struct file {
>  	struct {
>  	   struct tpmfront_dev *dev;
>  	   int respgot;
> -	   off_t offset;
>  	} tpmfront;
>  #endif
>  #ifdef CONFIG_TPM_TIS
>  	struct {
>  	   struct tpm_chip *dev;
>  	   int respgot;
> -	   off_t offset;
>  	} tpm_tis;
>  #endif
>  #ifdef CONFIG_XENBUS
> diff --git a/lib/sys.c b/lib/sys.c
> index e8d5eb2..e1cea70 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -107,6 +107,7 @@ int alloc_fd(enum fd_type type)
>      for (i=0; i<NOFILE; i++) {
>  	if (files[i].type == FTYPE_NONE) {
>  	    files[i].type = type;
> +            files[i].offset = 0;
>  	    pthread_mutex_unlock(&fd_lock);
>  	    return i;
>  	}
> @@ -363,25 +364,20 @@ int write(int fd, const void *buf, size_t nbytes)
>  
>  off_t lseek(int fd, off_t offset, int whence)
>  {
> -    off_t* target = NULL;
>      switch(files[fd].type) {
>  #ifdef CONFIG_BLKFRONT
>         case FTYPE_BLK:
> -          target = &files[fd].blk.offset;
>            break;
>  #endif
>  #ifdef CONFIG_TPMFRONT
>         case FTYPE_TPMFRONT:
> -          target = &files[fd].tpmfront.offset;
>            break;
>  #endif
>  #ifdef CONFIG_TPM_TIS
>         case FTYPE_TPM_TIS:
> -          target = &files[fd].tpm_tis.offset;
>            break;
>  #endif
>         case FTYPE_FILE:
> -          target = &files[fd].file.offset;
>            break;
>         default:
>            /* Not implemented for this filetype */
> @@ -391,10 +387,10 @@ off_t lseek(int fd, off_t offset, int whence)
>  
>      switch (whence) {
>         case SEEK_SET:
> -          *target = offset;
> +          files[fd].offset = offset;
>            break;
>         case SEEK_CUR:
> -          *target += offset;
> +          files[fd].offset += offset;
>            break;
>         case SEEK_END:
>            {
> @@ -403,14 +399,14 @@ off_t lseek(int fd, off_t offset, int whence)
>               ret = fstat(fd, &st);
>               if (ret)
>                  return -1;
> -             *target = st.st_size + offset;
> +             files[fd].offset = st.st_size + offset;
>               break;
>            }
>         default:
>            errno = EINVAL;
>            return -1;
>      }
> -    return *target;
> +    return files[fd].offset;
>  }
>  
>  int fsync(int fd) {
> diff --git a/tpm_tis.c b/tpm_tis.c
> index 4a51027..8a632b1 100644
> --- a/tpm_tis.c
> +++ b/tpm_tis.c
> @@ -847,7 +847,7 @@ int tpm_tis_send(struct tpm_chip* tpm, uint8_t* buf, size_t len) {
>     if(tpm->fd >= 0) {
>        files[tpm->fd].read = false;
>        files[tpm->fd].tpm_tis.respgot = 0;
> -      files[tpm->fd].tpm_tis.offset = 0;
> +      files[tpm->fd].offset = 0;
>     }
>  #endif
>     return len;
> @@ -1290,7 +1290,6 @@ int tpm_tis_open(struct tpm_chip* tpm)
>     tpm->fd = alloc_fd(FTYPE_TPM_TIS);
>     printk("tpm_tis_open() -> %d\n", tpm->fd);
>     files[tpm->fd].tpm_tis.dev = tpm;
> -   files[tpm->fd].tpm_tis.offset = 0;
>     files[tpm->fd].tpm_tis.respgot = 0;
>     return tpm->fd;
>  }
> @@ -1340,13 +1339,13 @@ int tpm_tis_posix_read(int fd, uint8_t* buf, size_t count)
>  
>  
>     /* Handle EOF case */
> -   if(files[fd].tpm_tis.offset >= tpm->data_len) {
> +   if(files[fd].offset >= tpm->data_len) {
>        rc = 0;
>     } else {
> -      rc = min(tpm->data_len - files[fd].tpm_tis.offset, count);
> -      memcpy(buf, tpm->data_buffer + files[fd].tpm_tis.offset, rc);
> +      rc = min(tpm->data_len - files[fd].offset, count);
> +      memcpy(buf, tpm->data_buffer + files[fd].offset, rc);
>     }
> -   files[fd].tpm_tis.offset += rc;
> +   files[fd].offset += rc;
>     /* Reset the data pending flag */
>     return rc;
>  }
> diff --git a/tpmfront.c b/tpmfront.c
> index d825b49..8b2a910 100644
> --- a/tpmfront.c
> +++ b/tpmfront.c
> @@ -440,7 +440,7 @@ int tpmfront_send(struct tpmfront_dev* dev, const uint8_t* msg, size_t length)
>     if(dev->fd >= 0) {
>        files[dev->fd].read = false;
>        files[dev->fd].tpmfront.respgot = 0;
> -      files[dev->fd].tpmfront.offset = 0;
> +      files[dev->fd].offset = 0;
>     }
>  #endif
>     wmb();
> @@ -539,7 +539,6 @@ int tpmfront_open(struct tpmfront_dev* dev)
>     dev->fd = alloc_fd(FTYPE_TPMFRONT);
>     printk("tpmfront_open(%s) -> %d\n", dev->nodename, dev->fd);
>     files[dev->fd].tpmfront.dev = dev;
> -   files[dev->fd].tpmfront.offset = 0;
>     files[dev->fd].tpmfront.respgot = 0;
>     return dev->fd;
>  }
> @@ -589,14 +588,14 @@ int tpmfront_posix_read(int fd, uint8_t* buf, size_t count)
>     }
>  
>     /* handle EOF case */
> -   if(files[dev->fd].tpmfront.offset >= dev->resplen) {
> +   if(files[dev->fd].offset >= dev->resplen) {
>        return 0;
>     }
>  
>     /* Compute the number of bytes and do the copy operation */
> -   if((rc = min(count, dev->resplen - files[dev->fd].tpmfront.offset)) != 0) {
> -      memcpy(buf, dev->respbuf + files[dev->fd].tpmfront.offset, rc);
> -      files[dev->fd].tpmfront.offset += rc;
> +   if((rc = min(count, dev->resplen - files[dev->fd].offset)) != 0) {
> +      memcpy(buf, dev->respbuf + files[dev->fd].offset, rc);
> +      files[dev->fd].offset += rc;
>     }
>  
>     return rc;
> -- 
> 2.26.2
> 

-- 
Samuel
`When you say "I wrote a program that crashed Windows", people just stare at
you blankly and say "Hey, I got those with the system, *for free*".'
(By Linus Torvalds)


From xen-devel-bounces@lists.xenproject.org Sun Jan 09 01:25:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 09 Jan 2022 01:25:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254972.436911 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6Mxm-0002gD-4M; Sun, 09 Jan 2022 01:25:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254972.436911; Sun, 09 Jan 2022 01:25:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6Mxm-0002g6-1L; Sun, 09 Jan 2022 01:25:38 +0000
Received: by outflank-mailman (input) for mailman id 254972;
 Sun, 09 Jan 2022 01:25:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4WZq=RZ=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n6Mxk-0002fv-IK
 for xen-devel@lists.xenproject.org; Sun, 09 Jan 2022 01:25:36 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0b59b941-70eb-11ec-81c1-a30af7de8005;
 Sun, 09 Jan 2022 02:25:35 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id EAC5B346;
 Sun,  9 Jan 2022 02:25:34 +0100 (CET)
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 bE8UVSb-c4mp; Sun,  9 Jan 2022 02:25:33 +0100 (CET)
Received: from begin.home (unknown
 [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 66036331;
 Sun,  9 Jan 2022 02:25:33 +0100 (CET)
Received: from samy by begin.home with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n6Mxg-006iNc-FY;
 Sun, 09 Jan 2022 02:25:32 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0b59b941-70eb-11ec-81c1-a30af7de8005
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 9 Jan 2022 02:25:32 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH 04/15] mini-os: replace multiple fd elements in struct
 file by common one
Message-ID: <20220109012532.3xggmswcyfgs2xiq@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: <20220106115741.3219-1-jgross@suse.com>
 <20220106115741.3219-5-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220106115741.3219-5-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: EAC5B346
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le jeu. 06 janv. 2022 12:57:30 +0100, a ecrit:
> The type specific union in struct files contains two instances of
> "int fd". Replace them by a common one.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
>  include/lib.h |  9 +--------
>  lib/sys.c     | 28 ++++++++++++++--------------
>  2 files changed, 15 insertions(+), 22 deletions(-)
> 
> diff --git a/include/lib.h b/include/lib.h
> index 4d9b14b..dc56f52 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -187,14 +187,7 @@ struct file {
>      bool read;	/* maybe available for read */
>      off_t offset;
>      union {
> -	struct {
> -            /* lwIP fd */
> -	    int fd;
> -	} socket;
> -	struct {
> -            /* FS import fd */
> -	    int fd;
> -	} file;
> +        int fd; /* Any fd from an upper layer. */
>  	struct {
>  	    struct evtchn_port_list ports;
>  	} evtchn;
> diff --git a/lib/sys.c b/lib/sys.c
> index e1cea70..1da7401 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -258,7 +258,7 @@ int read(int fd, void *buf, size_t nbytes)
>          }
>  #ifdef HAVE_LWIP
>  	case FTYPE_SOCKET:
> -	    return lwip_read(files[fd].socket.fd, buf, nbytes);
> +	    return lwip_read(files[fd].fd, buf, nbytes);
>  #endif
>  #ifdef CONFIG_NETFRONT
>  	case FTYPE_TAP: {
> @@ -335,7 +335,7 @@ int write(int fd, const void *buf, size_t nbytes)
>  	    return nbytes;
>  #ifdef HAVE_LWIP
>  	case FTYPE_SOCKET:
> -	    return lwip_write(files[fd].socket.fd, (void*) buf, nbytes);
> +	    return lwip_write(files[fd].fd, (void*) buf, nbytes);
>  #endif
>  #ifdef CONFIG_NETFRONT
>  	case FTYPE_TAP:
> @@ -428,7 +428,7 @@ int close(int fd)
>  #endif
>  #ifdef HAVE_LWIP
>  	case FTYPE_SOCKET: {
> -	    int res = lwip_close(files[fd].socket.fd);
> +	    int res = lwip_close(files[fd].fd);
>  	    files[fd].type = FTYPE_NONE;
>  	    return res;
>  	}
> @@ -594,7 +594,7 @@ int fcntl(int fd, int cmd, ...)
>  	    if (files[fd].type == FTYPE_SOCKET && !(arg & ~O_NONBLOCK)) {
>  		/* Only flag supported: non-blocking mode */
>  		uint32_t nblock = !!(arg & O_NONBLOCK);
> -		return lwip_ioctl(files[fd].socket.fd, FIONBIO, &nblock);
> +		return lwip_ioctl(files[fd].fd, FIONBIO, &nblock);
>  	    }
>  	    /* Fallthrough */
>  #endif
> @@ -732,15 +732,15 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
>      for (i = 0; i < nfds; i++) {
>  	if (files[i].type == FTYPE_SOCKET) {
>  	    if (FD_ISSET(i, readfds)) {
> -		FD_SET(files[i].socket.fd, &sock_readfds);
> +		FD_SET(files[i].fd, &sock_readfds);
>  		sock_nfds = i+1;
>  	    }
>  	    if (FD_ISSET(i, writefds)) {
> -		FD_SET(files[i].socket.fd, &sock_writefds);
> +		FD_SET(files[i].fd, &sock_writefds);
>  		sock_nfds = i+1;
>  	    }
>  	    if (FD_ISSET(i, exceptfds)) {
> -		FD_SET(files[i].socket.fd, &sock_exceptfds);
> +		FD_SET(files[i].fd, &sock_exceptfds);
>  		sock_nfds = i+1;
>  	    }
>  	}
> @@ -803,19 +803,19 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
>  	case FTYPE_SOCKET:
>  	    if (FD_ISSET(i, readfds)) {
>  	        /* Optimize no-network-packet case.  */
> -		if (sock_n && FD_ISSET(files[i].socket.fd, &sock_readfds))
> +		if (sock_n && FD_ISSET(files[i].fd, &sock_readfds))
>  		    n++;
>  		else
>  		    FD_CLR(i, readfds);
>  	    }
>              if (FD_ISSET(i, writefds)) {
> -		if (sock_n && FD_ISSET(files[i].socket.fd, &sock_writefds))
> +		if (sock_n && FD_ISSET(files[i].fd, &sock_writefds))
>  		    n++;
>  		else
>  		    FD_CLR(i, writefds);
>              }
>              if (FD_ISSET(i, exceptfds)) {
> -		if (sock_n && FD_ISSET(files[i].socket.fd, &sock_exceptfds))
> +		if (sock_n && FD_ISSET(files[i].fd, &sock_exceptfds))
>  		    n++;
>  		else
>  		    FD_CLR(i, exceptfds);
> @@ -1112,7 +1112,7 @@ int socket(int domain, int type, int protocol)
>  	return -1;
>      res = alloc_fd(FTYPE_SOCKET);
>      printk("socket -> %d\n", res);
> -    files[res].socket.fd = fd;
> +    files[res].fd = fd;
>      return res;
>  }
>  
> @@ -1124,11 +1124,11 @@ int accept(int s, struct sockaddr *addr, socklen_t *addrlen)
>  	errno = EBADF;
>  	return -1;
>      }
> -    fd = lwip_accept(files[s].socket.fd, addr, addrlen);
> +    fd = lwip_accept(files[s].fd, addr, addrlen);
>      if (fd < 0)
>  	return -1;
>      res = alloc_fd(FTYPE_SOCKET);
> -    files[res].socket.fd = fd;
> +    files[res].fd = fd;
>      printk("accepted on %d -> %d\n", s, res);
>      return res;
>  }
> @@ -1141,7 +1141,7 @@ ret name proto \
>  	errno = EBADF; \
>  	return -1; \
>      } \
> -    s = files[s].socket.fd; \
> +    s = files[s].fd; \
>      return lwip_##name args; \
>  }
>  
> -- 
> 2.26.2
> 

-- 
Samuel
<c> xlnt comme sujet de stage je peux essayer de donner une description formelle de automake
 -+- #ens-mim -+-


From xen-devel-bounces@lists.xenproject.org Sun Jan 09 01:26:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 09 Jan 2022 01:26:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254974.436927 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6Mxy-00035M-Ij; Sun, 09 Jan 2022 01:25:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254974.436927; Sun, 09 Jan 2022 01: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 1n6Mxy-00035F-Ca; Sun, 09 Jan 2022 01:25:50 +0000
Received: by outflank-mailman (input) for mailman id 254974;
 Sun, 09 Jan 2022 01:25:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4WZq=RZ=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n6Mxw-00033A-Ra
 for xen-devel@lists.xenproject.org; Sun, 09 Jan 2022 01:25:48 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 12c83944-70eb-11ec-9ce5-af14b9085ebd;
 Sun, 09 Jan 2022 02:25:47 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 74BB4346;
 Sun,  9 Jan 2022 02:25:47 +0100 (CET)
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 aohzlgKPsW72; Sun,  9 Jan 2022 02:25:46 +0100 (CET)
Received: from begin.home (unknown
 [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id BE9EF64;
 Sun,  9 Jan 2022 02:25:46 +0100 (CET)
Received: from samy by begin.home with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n6Mxu-006iNr-B7;
 Sun, 09 Jan 2022 02:25:46 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 12c83944-70eb-11ec-9ce5-af14b9085ebd
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 9 Jan 2022 02:25:46 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH 05/15] mini-os: introduce a common dev pointer in struct
 file
Message-ID: <20220109012546.m3ibst5odqcpyzxl@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: <20220106115741.3219-1-jgross@suse.com>
 <20220106115741.3219-6-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220106115741.3219-6-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 74BB4346
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le jeu. 06 janv. 2022 12:57:31 +0100, a ecrit:
> There are many dev pointers in a union in struct file. Prepare to
> switch to a single one by introducing a new common one.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
>  include/lib.h | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/include/lib.h b/include/lib.h
> index dc56f52..60aaf1c 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -188,6 +188,7 @@ struct file {
>      off_t offset;
>      union {
>          int fd; /* Any fd from an upper layer. */
> +        void *dev;
>  	struct {
>  	    struct evtchn_port_list ports;
>  	} evtchn;
> -- 
> 2.26.2
> 

-- 
Samuel
Now I know someone out there is going to claim, "Well then, UNIX is intuitive,
because you only need to learn 5000 commands, and then everything else follows
from that! Har har har!"
(Andy Bates in comp.os.linux.misc, on "intuitive interfaces", slightly
defending Macs.)


From xen-devel-bounces@lists.xenproject.org Sun Jan 09 01:26:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 09 Jan 2022 01:26:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254980.436947 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6Myc-00040H-5D; Sun, 09 Jan 2022 01:26:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254980.436947; Sun, 09 Jan 2022 01: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 1n6Myb-000400-Vm; Sun, 09 Jan 2022 01:26:29 +0000
Received: by outflank-mailman (input) for mailman id 254980;
 Sun, 09 Jan 2022 01:26:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4WZq=RZ=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n6Mya-0002fv-Jn
 for xen-devel@lists.xenproject.org; Sun, 09 Jan 2022 01:26:28 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 29fec98f-70eb-11ec-81c1-a30af7de8005;
 Sun, 09 Jan 2022 02:26:26 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 378A5346;
 Sun,  9 Jan 2022 02:26:26 +0100 (CET)
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 sv4vUZ5LBzCD; Sun,  9 Jan 2022 02:26:25 +0100 (CET)
Received: from begin.home (unknown
 [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 8DE4964;
 Sun,  9 Jan 2022 02:26:25 +0100 (CET)
Received: from samy by begin.home with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n6MyW-006iP0-S2;
 Sun, 09 Jan 2022 02: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>
X-Inumbo-ID: 29fec98f-70eb-11ec-81c1-a30af7de8005
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 9 Jan 2022 02:26:24 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH 06/15] mini-os: eliminate blkfront union member in struct
 file
Message-ID: <20220109012624.zsd2agf7hhmcyd2r@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: <20220106115741.3219-1-jgross@suse.com>
 <20220106115741.3219-7-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20220106115741.3219-7-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 378A5346
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le jeu. 06 janv. 2022 12:57:32 +0100, a ecrit:
> Replace the blkfront specific union member in struct file with the
> common dev pointer.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
>  blkfront.c    | 6 +++---
>  include/lib.h | 3 ---
>  lib/sys.c     | 2 +-
>  3 files changed, 4 insertions(+), 7 deletions(-)
> 
> diff --git a/blkfront.c b/blkfront.c
> index 8137106..e3f42be 100644
> --- a/blkfront.c
> +++ b/blkfront.c
> @@ -562,13 +562,13 @@ int blkfront_open(struct blkfront_dev *dev)
>      }
>      dev->fd = alloc_fd(FTYPE_BLK);
>      printk("blk_open(%s) -> %d\n", dev->nodename, dev->fd);
> -    files[dev->fd].blk.dev = dev;
> +    files[dev->fd].dev = dev;
>      return dev->fd;
>  }
>  
>  int blkfront_posix_rwop(int fd, uint8_t* buf, size_t count, int write)
>  {
> -   struct blkfront_dev* dev = files[fd].blk.dev;
> +   struct blkfront_dev* dev = files[fd].dev;
>     off_t offset = files[fd].offset;
>     struct blkfront_aiocb aiocb;
>     unsigned long long disksize = dev->info.sectors * dev->info.sector_size;
> @@ -718,7 +718,7 @@ int blkfront_posix_rwop(int fd, uint8_t* buf, size_t count, int write)
>  
>  int blkfront_posix_fstat(int fd, struct stat* buf)
>  {
> -   struct blkfront_dev* dev = files[fd].blk.dev;
> +   struct blkfront_dev* dev = files[fd].dev;
>  
>     buf->st_mode = dev->info.mode;
>     buf->st_uid = 0;
> diff --git a/include/lib.h b/include/lib.h
> index 60aaf1c..3a40634 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -196,9 +196,6 @@ struct file {
>  	struct {
>  	    struct netfront_dev *dev;
>  	} tap;
> -	struct {
> -	    struct blkfront_dev *dev;
> -	} blk;
>  	struct {
>  	    struct kbdfront_dev *dev;
>  	} kbd;
> diff --git a/lib/sys.c b/lib/sys.c
> index 1da7401..f2fdbdf 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -456,7 +456,7 @@ int close(int fd)
>  #endif
>  #ifdef CONFIG_BLKFRONT
>  	case FTYPE_BLK:
> -            shutdown_blkfront(files[fd].blk.dev);
> +            shutdown_blkfront(files[fd].dev);
>  	    files[fd].type = FTYPE_NONE;
>  	    return 0;
>  #endif
> -- 
> 2.26.2
> 

-- 
Samuel
Accroche-toi au terminal, j'enlève le shell...
 -+- nojhan -+-


From xen-devel-bounces@lists.xenproject.org Sun Jan 09 01:27:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 09 Jan 2022 01:27:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254987.436961 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6Mzf-0004ks-IK; Sun, 09 Jan 2022 01:27:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254987.436961; Sun, 09 Jan 2022 01: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 1n6Mzf-0004kl-D1; Sun, 09 Jan 2022 01:27:35 +0000
Received: by outflank-mailman (input) for mailman id 254987;
 Sun, 09 Jan 2022 01:27:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4WZq=RZ=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n6Mzd-0004i1-OY
 for xen-devel@lists.xenproject.org; Sun, 09 Jan 2022 01:27:33 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 50c76975-70eb-11ec-81c1-a30af7de8005;
 Sun, 09 Jan 2022 02:27:31 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 7BC69331;
 Sun,  9 Jan 2022 02:27:31 +0100 (CET)
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 v3emtEJI6slJ; Sun,  9 Jan 2022 02:27:30 +0100 (CET)
Received: from begin.home (unknown
 [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 3587D64;
 Sun,  9 Jan 2022 02:27:30 +0100 (CET)
Received: from samy by begin.home with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n6MzZ-006iPj-HL;
 Sun, 09 Jan 2022 02:27:29 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 50c76975-70eb-11ec-81c1-a30af7de8005
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 9 Jan 2022 02:27:29 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH 07/15] mini-os: eliminate consfront union member in
 struct file
Message-ID: <20220109012729.kyt3ksnyq3wu6edb@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: <20220106115741.3219-1-jgross@suse.com>
 <20220106115741.3219-8-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220106115741.3219-8-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 7BC69331
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le jeu. 06 janv. 2022 12:57:33 +0100, a ecrit:
> Replace the consfront specific union member in struct file with the
> common dev pointer.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
>  include/lib.h |  3 ---
>  lib/sys.c     | 31 +++++++++++++++++--------------
>  2 files changed, 17 insertions(+), 17 deletions(-)
> 
> diff --git a/include/lib.h b/include/lib.h
> index 3a40634..0cedae6 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -202,9 +202,6 @@ struct file {
>  	struct {
>  	    struct fbfront_dev *dev;
>  	} fb;
> -	struct {
> -	    struct consfront_dev *dev;
> -	} cons;
>  #ifdef CONFIG_TPMFRONT
>  	struct {
>  	   struct tpmfront_dev *dev;
> diff --git a/lib/sys.c b/lib/sys.c
> index f2fdbdf..62c2020 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -179,7 +179,7 @@ int posix_openpt(int flags)
>  
>      dev = init_consfront(NULL);
>      dev->fd = alloc_fd(FTYPE_CONSOLE);
> -    files[dev->fd].cons.dev = dev;
> +    files[dev->fd].dev = dev;
>  
>      printk("fd(%d) = posix_openpt\n", dev->fd);
>      return(dev->fd);
> @@ -194,7 +194,7 @@ int open_savefile(const char *path, int save)
>  
>      dev = init_consfront(nodename);
>      dev->fd = alloc_fd(FTYPE_SAVEFILE);
> -    files[dev->fd].cons.dev = dev;
> +    files[dev->fd].dev = dev;
>  
>      printk("fd(%d) = open_savefile\n", dev->fd);
>      return(dev->fd);
> @@ -248,7 +248,7 @@ int read(int fd, void *buf, size_t nbytes)
>              DEFINE_WAIT(w);
>              while(1) {
>                  add_waiter(w, console_queue);
> -                ret = xencons_ring_recv(files[fd].cons.dev, buf, nbytes);
> +                ret = xencons_ring_recv(files[fd].dev, buf, nbytes);
>                  if (ret)
>                      break;
>                  schedule();
> @@ -324,14 +324,14 @@ int write(int fd, const void *buf, size_t nbytes)
>          case FTYPE_SAVEFILE: {
>                  int ret = 0, tot = nbytes;
>                  while (nbytes > 0) {
> -                    ret = xencons_ring_send(files[fd].cons.dev, (char *)buf, nbytes);
> +                    ret = xencons_ring_send(files[fd].dev, (char *)buf, nbytes);
>                      nbytes -= ret;
>                      buf = (char *)buf + ret;
>                  }
>                  return tot - nbytes;
>              }
>  	case FTYPE_CONSOLE:
> -	    console_print(files[fd].cons.dev, (char *)buf, nbytes);
> +	    console_print(files[fd].dev, (char *)buf, nbytes);
>  	    return nbytes;
>  #ifdef HAVE_LWIP
>  	case FTYPE_SOCKET:
> @@ -487,7 +487,7 @@ int close(int fd)
>  #ifdef CONFIG_CONSFRONT
>          case FTYPE_SAVEFILE:
>          case FTYPE_CONSOLE:
> -            fini_consfront(files[fd].cons.dev);
> +            fini_consfront(files[fd].dev);
>              files[fd].type = FTYPE_NONE;
>              return 0;
>  #endif
> @@ -764,7 +764,7 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
>  	    /* Fallthrough.  */
>  	case FTYPE_CONSOLE:
>  	    if (FD_ISSET(i, readfds)) {
> -                if (xencons_ring_avail(files[i].cons.dev))
> +                if (xencons_ring_avail(files[i].dev))
>  		    n++;
>  		else
>  		    FD_CLR(i, readfds);
> @@ -1447,6 +1447,8 @@ const struct termios default_termios = {0,             /* iflag */
>  
>  int tcsetattr(int fildes, int action, const struct termios *tios)
>  {
> +    struct consfront_dev *dev;
> +
>      if (fildes < 0 || fildes >= NOFILE) {
>          errno = EBADF;
>          return -1;
> @@ -1472,21 +1474,21 @@ int tcsetattr(int fildes, int action, const struct termios *tios)
>              return -1;
>      }
>  
> -    if (files[fildes].cons.dev == NULL) {
> +    dev = files[fildes].dev;
> +    if (dev == NULL) {
>          errno = ENOSYS;
>          return -1;
>      }
>  
> -    if (tios->c_oflag & OPOST)
> -        files[fildes].cons.dev->is_raw = false;
> -    else
> -        files[fildes].cons.dev->is_raw = true;
> +    dev->is_raw = !(tios->c_oflag & OPOST);
>  
>      return 0;
>  }
>  
>  int tcgetattr(int fildes, struct termios *tios)
>  {
> +    struct consfront_dev *dev;
> +
>      if (fildes < 0 || fildes >= NOFILE) {
>          errno = EBADF;
>          return -1;
> @@ -1497,7 +1499,8 @@ int tcgetattr(int fildes, struct termios *tios)
>          return -1;
>      }
>  
> -    if (files[fildes].cons.dev == NULL) {
> +    dev = files[fildes].dev;
> +    if (dev == NULL) {
>          errno = ENOSYS;
>          return 0;
>      }
> @@ -1509,7 +1512,7 @@ int tcgetattr(int fildes, struct termios *tios)
>  
>      memcpy(tios, &default_termios, sizeof(struct termios));
>  
> -    if (files[fildes].cons.dev->is_raw)
> +    if (dev->is_raw)
>          tios->c_oflag &= ~OPOST;
>  
>      return 0;
> -- 
> 2.26.2
> 

-- 
Samuel
<s> on se croirait en cool : Some browsers close comments on the first ">" character, so to hide script content from such browsers, you can transpose operands for relational and shift operators (e.g., use "y < x" rather than "x > y") or use scripting language-dependent escapes for ">".
 -+- #ens-mim -+-


From xen-devel-bounces@lists.xenproject.org Sun Jan 09 01:28:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 09 Jan 2022 01:28:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254991.436976 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6N03-0005L7-QU; Sun, 09 Jan 2022 01:27:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254991.436976; Sun, 09 Jan 2022 01:27:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6N03-0005Ky-NA; Sun, 09 Jan 2022 01:27:59 +0000
Received: by outflank-mailman (input) for mailman id 254991;
 Sun, 09 Jan 2022 01:27:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4WZq=RZ=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n6N02-0005IG-8B
 for xen-devel@lists.xenproject.org; Sun, 09 Jan 2022 01:27:58 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5f6cafa4-70eb-11ec-9ce5-af14b9085ebd;
 Sun, 09 Jan 2022 02:27:56 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 11CCC346;
 Sun,  9 Jan 2022 02:27:56 +0100 (CET)
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 XVGfLPZ5rbkE; Sun,  9 Jan 2022 02:27:55 +0100 (CET)
Received: from begin.home (unknown
 [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 8E0F0331;
 Sun,  9 Jan 2022 02:27:55 +0100 (CET)
Received: from samy by begin.home with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n6Mzz-006iQU-57;
 Sun, 09 Jan 2022 02:27: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>
X-Inumbo-ID: 5f6cafa4-70eb-11ec-9ce5-af14b9085ebd
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 9 Jan 2022 02:27:55 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH 08/15] mini-os: eliminate fbfront union member in struct
 file
Message-ID: <20220109012755.cboatcoozf3ntwkt@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: <20220106115741.3219-1-jgross@suse.com>
 <20220106115741.3219-9-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20220106115741.3219-9-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 11CCC346
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le jeu. 06 janv. 2022 12:57:34 +0100, a ecrit:
> Replace the fbfront specific union member in struct file with the
> common dev pointer.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
>  fbfront.c     | 2 +-
>  include/lib.h | 3 ---
>  lib/sys.c     | 4 ++--
>  3 files changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/fbfront.c b/fbfront.c
> index 6725da1..c8410af 100644
> --- a/fbfront.c
> +++ b/fbfront.c
> @@ -703,7 +703,7 @@ int fbfront_open(struct fbfront_dev *dev)
>  {
>      dev->fd = alloc_fd(FTYPE_FB);
>      printk("fb_open(%s) -> %d\n", dev->nodename, dev->fd);
> -    files[dev->fd].fb.dev = dev;
> +    files[dev->fd].dev = dev;
>      return dev->fd;
>  }
>  #endif
> diff --git a/include/lib.h b/include/lib.h
> index 0cedae6..2a9a01c 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -199,9 +199,6 @@ struct file {
>  	struct {
>  	    struct kbdfront_dev *dev;
>  	} kbd;
> -	struct {
> -	    struct fbfront_dev *dev;
> -	} fb;
>  #ifdef CONFIG_TPMFRONT
>  	struct {
>  	   struct tpmfront_dev *dev;
> diff --git a/lib/sys.c b/lib/sys.c
> index 62c2020..2d48657 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -287,7 +287,7 @@ int read(int fd, void *buf, size_t nbytes)
>          case FTYPE_FB: {
>              int ret, n;
>              n = nbytes / sizeof(union xenfb_in_event);
> -            ret = fbfront_receive(files[fd].fb.dev, buf, n);
> +            ret = fbfront_receive(files[fd].dev, buf, n);
>  	    if (ret <= 0) {
>  		errno = EAGAIN;
>  		return -1;
> @@ -480,7 +480,7 @@ int close(int fd)
>  #endif
>  #ifdef CONFIG_FBFRONT
>  	case FTYPE_FB:
> -            shutdown_fbfront(files[fd].fb.dev);
> +            shutdown_fbfront(files[fd].dev);
>              files[fd].type = FTYPE_NONE;
>              return 0;
>  #endif
> -- 
> 2.26.2
> 

-- 
Samuel
       La  fonction  memfrob() crypte les n premiers octets de la
       zone de mémoire  s  en  effectuant  un  OU-exclusif  entre
       chaque  octet  et le nombre 42.
(extrait de la page de man de memfrob -- Manuel du programmeur Linux)


From xen-devel-bounces@lists.xenproject.org Sun Jan 09 01:28:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 09 Jan 2022 01:28:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254996.436991 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6N0Q-0005yz-51; Sun, 09 Jan 2022 01:28:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254996.436991; Sun, 09 Jan 2022 01: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 1n6N0Q-0005ys-1N; Sun, 09 Jan 2022 01:28:22 +0000
Received: by outflank-mailman (input) for mailman id 254996;
 Sun, 09 Jan 2022 01:28:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4WZq=RZ=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n6N0P-0005IG-Gb
 for xen-devel@lists.xenproject.org; Sun, 09 Jan 2022 01:28:21 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [2a0c:e300::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6d4f76c0-70eb-11ec-9ce5-af14b9085ebd;
 Sun, 09 Jan 2022 02:28:19 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 5997D346;
 Sun,  9 Jan 2022 02:28:19 +0100 (CET)
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 W77v-MeaXf17; Sun,  9 Jan 2022 02:28:18 +0100 (CET)
Received: from begin.home (unknown
 [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id C3EE0331;
 Sun,  9 Jan 2022 02:28:18 +0100 (CET)
Received: from samy by begin.home with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n6N0M-006iRA-Bp;
 Sun, 09 Jan 2022 02:28:18 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6d4f76c0-70eb-11ec-9ce5-af14b9085ebd
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 9 Jan 2022 02:28:18 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH 09/15] mini-os: eliminate kbdfront union member in struct
 file
Message-ID: <20220109012818.fvdt6mjv65itsocw@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: <20220106115741.3219-1-jgross@suse.com>
 <20220106115741.3219-10-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220106115741.3219-10-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 5997D346
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le jeu. 06 janv. 2022 12:57:35 +0100, a ecrit:
> Replace the kbdfront specific union member in struct file with the
> common dev pointer.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
>  fbfront.c     | 2 +-
>  include/lib.h | 3 ---
>  lib/sys.c     | 4 ++--
>  3 files changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/fbfront.c b/fbfront.c
> index c8410af..1e055fb 100644
> --- a/fbfront.c
> +++ b/fbfront.c
> @@ -302,7 +302,7 @@ int kbdfront_open(struct kbdfront_dev *dev)
>  {
>      dev->fd = alloc_fd(FTYPE_KBD);
>      printk("kbd_open(%s) -> %d\n", dev->nodename, dev->fd);
> -    files[dev->fd].kbd.dev = dev;
> +    files[dev->fd].dev = dev;
>      return dev->fd;
>  }
>  #endif
> diff --git a/include/lib.h b/include/lib.h
> index 2a9a01c..5201ed7 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -196,9 +196,6 @@ struct file {
>  	struct {
>  	    struct netfront_dev *dev;
>  	} tap;
> -	struct {
> -	    struct kbdfront_dev *dev;
> -	} kbd;
>  #ifdef CONFIG_TPMFRONT
>  	struct {
>  	   struct tpmfront_dev *dev;
> diff --git a/lib/sys.c b/lib/sys.c
> index 2d48657..8c7ea3c 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -275,7 +275,7 @@ int read(int fd, void *buf, size_t nbytes)
>          case FTYPE_KBD: {
>              int ret, n;
>              n = nbytes / sizeof(union xenkbd_in_event);
> -            ret = kbdfront_receive(files[fd].kbd.dev, buf, n);
> +            ret = kbdfront_receive(files[fd].dev, buf, n);
>  	    if (ret <= 0) {
>  		errno = EAGAIN;
>  		return -1;
> @@ -474,7 +474,7 @@ int close(int fd)
>  #endif
>  #ifdef CONFIG_KBDFRONT
>  	case FTYPE_KBD:
> -            shutdown_kbdfront(files[fd].kbd.dev);
> +            shutdown_kbdfront(files[fd].dev);
>              files[fd].type = FTYPE_NONE;
>              return 0;
>  #endif
> -- 
> 2.26.2
> 

-- 
Samuel
X-Favorit-Cartoon: Calvin and Hobbes
 -+- Mail header of Wim van Dorst -+-


From xen-devel-bounces@lists.xenproject.org Sun Jan 09 01:28:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 09 Jan 2022 01:28:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.254997.437002 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6N0p-0006ci-FY; Sun, 09 Jan 2022 01:28:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 254997.437002; Sun, 09 Jan 2022 01: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 1n6N0p-0006cb-Av; Sun, 09 Jan 2022 01:28:47 +0000
Received: by outflank-mailman (input) for mailman id 254997;
 Sun, 09 Jan 2022 01:28:46 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4WZq=RZ=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n6N0o-0005IG-4z
 for xen-devel@lists.xenproject.org; Sun, 09 Jan 2022 01:28:46 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7c58fb31-70eb-11ec-9ce5-af14b9085ebd;
 Sun, 09 Jan 2022 02:28:45 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 910C2346;
 Sun,  9 Jan 2022 02:28:44 +0100 (CET)
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 3G50eid9-Hwv; Sun,  9 Jan 2022 02:28:43 +0100 (CET)
Received: from begin.home (unknown
 [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 7235964;
 Sun,  9 Jan 2022 02:28:43 +0100 (CET)
Received: from samy by begin.home with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n6N0k-006iRq-QN;
 Sun, 09 Jan 2022 02:28: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>
X-Inumbo-ID: 7c58fb31-70eb-11ec-9ce5-af14b9085ebd
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 9 Jan 2022 02:28:42 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH 10/15] mini-os: eliminate netfront union member in struct
 file
Message-ID: <20220109012842.6zdw7z6jbh52kd7a@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: <20220106115741.3219-1-jgross@suse.com>
 <20220106115741.3219-11-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20220106115741.3219-11-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 910C2346
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le jeu. 06 janv. 2022 12:57:36 +0100, a ecrit:
> Replace the netfront specific union member in struct file with the
> common dev pointer.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
>  include/lib.h | 3 ---
>  lib/sys.c     | 6 +++---
>  netfront.c    | 2 +-
>  3 files changed, 4 insertions(+), 7 deletions(-)
> 
> diff --git a/include/lib.h b/include/lib.h
> index 5201ed7..f2a124e 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -193,9 +193,6 @@ struct file {
>  	    struct evtchn_port_list ports;
>  	} evtchn;
>  	struct gntmap gntmap;
> -	struct {
> -	    struct netfront_dev *dev;
> -	} tap;
>  #ifdef CONFIG_TPMFRONT
>  	struct {
>  	   struct tpmfront_dev *dev;
> diff --git a/lib/sys.c b/lib/sys.c
> index 8c7ea3c..b35e433 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -263,7 +263,7 @@ int read(int fd, void *buf, size_t nbytes)
>  #ifdef CONFIG_NETFRONT
>  	case FTYPE_TAP: {
>  	    ssize_t ret;
> -	    ret = netfront_receive(files[fd].tap.dev, buf, nbytes);
> +	    ret = netfront_receive(files[fd].dev, buf, nbytes);
>  	    if (ret <= 0) {
>  		errno = EAGAIN;
>  		return -1;
> @@ -339,7 +339,7 @@ int write(int fd, const void *buf, size_t nbytes)
>  #endif
>  #ifdef CONFIG_NETFRONT
>  	case FTYPE_TAP:
> -	    netfront_xmit(files[fd].tap.dev, (void*) buf, nbytes);
> +	    netfront_xmit(files[fd].dev, (void*) buf, nbytes);
>  	    return nbytes;
>  #endif
>  #ifdef CONFIG_BLKFRONT
> @@ -450,7 +450,7 @@ int close(int fd)
>  #endif
>  #ifdef CONFIG_NETFRONT
>  	case FTYPE_TAP:
> -	    shutdown_netfront(files[fd].tap.dev);
> +	    shutdown_netfront(files[fd].dev);
>  	    files[fd].type = FTYPE_NONE;
>  	    return 0;
>  #endif
> diff --git a/netfront.c b/netfront.c
> index a566e34..7696451 100644
> --- a/netfront.c
> +++ b/netfront.c
> @@ -576,7 +576,7 @@ int netfront_tap_open(char *nodename) {
>      }
>      dev->fd = alloc_fd(FTYPE_TAP);
>      printk("tap_open(%s) -> %d\n", nodename, dev->fd);
> -    files[dev->fd].tap.dev = dev;
> +    files[dev->fd].dev = dev;
>      return dev->fd;
>  }
>  #endif
> -- 
> 2.26.2
> 

-- 
Samuel
<c> tiens, je suis déçu
<c> quand on clique sur le bouton random de http://xkcd.com/221/ on ne tombe pas (toujours) sur http://xkcd.com/4/
<c> bon, j'envoie un bug-report à l'auteur


From xen-devel-bounces@lists.xenproject.org Sun Jan 09 01:30:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 09 Jan 2022 01:30:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255009.437020 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6N28-0008Fn-1H; Sun, 09 Jan 2022 01:30:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255009.437020; Sun, 09 Jan 2022 01:30:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6N27-0008Fg-UM; Sun, 09 Jan 2022 01:30:07 +0000
Received: by outflank-mailman (input) for mailman id 255009;
 Sun, 09 Jan 2022 01:30:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4WZq=RZ=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n6N25-0007T5-SC
 for xen-devel@lists.xenproject.org; Sun, 09 Jan 2022 01:30:05 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ab6f19c2-70eb-11ec-81c1-a30af7de8005;
 Sun, 09 Jan 2022 02:30:04 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 910F1346;
 Sun,  9 Jan 2022 02:30:03 +0100 (CET)
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 DQj1Z03I4Q9A; Sun,  9 Jan 2022 02:30:03 +0100 (CET)
Received: from begin.home (unknown
 [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 8D423331;
 Sun,  9 Jan 2022 02:30:02 +0100 (CET)
Received: from samy by begin.home with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n6N21-006iSb-TU;
 Sun, 09 Jan 2022 02:30:01 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ab6f19c2-70eb-11ec-81c1-a30af7de8005
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 9 Jan 2022 02:30:01 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH 11/15] mini-os: move tpm respgot member of struct file to
 device specific data
Message-ID: <20220109013001.ba7i73tay366ipxg@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: <20220106115741.3219-1-jgross@suse.com>
 <20220106115741.3219-12-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220106115741.3219-12-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 910F1346
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le jeu. 06 janv. 2022 12:57:37 +0100, a ecrit:
> Tpmfront has a "respgot" flag in struct file, which can be moved to the
> device specific data. While at it make it a bool.
> 
> The respgot flag of the tpm_tis member of struct file can be removed,
> as it is never read.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
>  include/lib.h      |  2 --
>  include/tpmfront.h |  2 ++
>  tpm_tis.c          |  2 --
>  tpmfront.c         | 10 +++++-----
>  4 files changed, 7 insertions(+), 9 deletions(-)
> 
> diff --git a/include/lib.h b/include/lib.h
> index f2a124e..d740065 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -196,13 +196,11 @@ struct file {
>  #ifdef CONFIG_TPMFRONT
>  	struct {
>  	   struct tpmfront_dev *dev;
> -	   int respgot;
>  	} tpmfront;
>  #endif
>  #ifdef CONFIG_TPM_TIS
>  	struct {
>  	   struct tpm_chip *dev;
> -	   int respgot;
>  	} tpm_tis;
>  #endif
>  #ifdef CONFIG_XENBUS
> diff --git a/include/tpmfront.h b/include/tpmfront.h
> index c489fae..b7da50e 100644
> --- a/include/tpmfront.h
> +++ b/include/tpmfront.h
> @@ -25,6 +25,7 @@
>  #ifndef TPMFRONT_H
>  #define TPMFRONT_H
>  
> +#include <stdbool.h>
>  #include <mini-os/types.h>
>  #include <mini-os/os.h>
>  #include <mini-os/events.h>
> @@ -53,6 +54,7 @@ struct tpmfront_dev {
>  
>  #ifdef HAVE_LIBC
>     int fd;
> +   bool respgot;
>  #endif
>  
>  };
> diff --git a/tpm_tis.c b/tpm_tis.c
> index 8a632b1..4127118 100644
> --- a/tpm_tis.c
> +++ b/tpm_tis.c
> @@ -846,7 +846,6 @@ int tpm_tis_send(struct tpm_chip* tpm, uint8_t* buf, size_t len) {
>  #ifdef HAVE_LIBC
>     if(tpm->fd >= 0) {
>        files[tpm->fd].read = false;
> -      files[tpm->fd].tpm_tis.respgot = 0;
>        files[tpm->fd].offset = 0;
>     }
>  #endif
> @@ -1290,7 +1289,6 @@ int tpm_tis_open(struct tpm_chip* tpm)
>     tpm->fd = alloc_fd(FTYPE_TPM_TIS);
>     printk("tpm_tis_open() -> %d\n", tpm->fd);
>     files[tpm->fd].tpm_tis.dev = tpm;
> -   files[tpm->fd].tpm_tis.respgot = 0;
>     return tpm->fd;
>  }
>  
> diff --git a/tpmfront.c b/tpmfront.c
> index 8b2a910..be671c2 100644
> --- a/tpmfront.c
> +++ b/tpmfront.c
> @@ -439,8 +439,8 @@ int tpmfront_send(struct tpmfront_dev* dev, const uint8_t* msg, size_t length)
>  #ifdef HAVE_LIBC
>     if(dev->fd >= 0) {
>        files[dev->fd].read = false;
> -      files[dev->fd].tpmfront.respgot = 0;
>        files[dev->fd].offset = 0;
> +      dev->respgot = false;
>     }
>  #endif
>     wmb();
> @@ -499,7 +499,7 @@ int i;
>  #endif
>  #ifdef HAVE_LIBC
>     if(dev->fd >= 0) {
> -      files[dev->fd].tpmfront.respgot = 1;
> +      dev->respgot = true;
>     }
>  #endif
>  quit:
> @@ -539,7 +539,7 @@ int tpmfront_open(struct tpmfront_dev* dev)
>     dev->fd = alloc_fd(FTYPE_TPMFRONT);
>     printk("tpmfront_open(%s) -> %d\n", dev->nodename, dev->fd);
>     files[dev->fd].tpmfront.dev = dev;
> -   files[dev->fd].tpmfront.respgot = 0;
> +   dev->respgot = false;
>     return dev->fd;
>  }
>  
> @@ -580,7 +580,7 @@ int tpmfront_posix_read(int fd, uint8_t* buf, size_t count)
>     }
>  
>     /* get the response if we haven't already */
> -   if(files[dev->fd].tpmfront.respgot == 0) {
> +   if (!dev->respgot) {
>        if ((rc = tpmfront_recv(dev, &dummybuf, &dummysz)) != 0) {
>  	 errno = EIO;
>  	 return -1;
> @@ -610,7 +610,7 @@ int tpmfront_posix_fstat(int fd, struct stat* buf)
>  
>     /* If we have a response waiting, then read it now from the backend
>      * so we can get its length*/
> -   if(dev->waiting || (files[dev->fd].read && !files[dev->fd].tpmfront.respgot)) {
> +   if(dev->waiting || (files[dev->fd].read && !dev->respgot)) {
>        if ((rc = tpmfront_recv(dev, &dummybuf, &dummysz)) != 0) {
>  	 errno = EIO;
>  	 return -1;
> -- 
> 2.26.2
> 

-- 
Samuel
I am the "ILOVEGNU" signature virus. Just copy me to your signature.
This email was infected under the terms of the GNU General Public License.


From xen-devel-bounces@lists.xenproject.org Sun Jan 09 01:30:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 09 Jan 2022 01:30:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255015.437035 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6N2i-0000RD-Ds; Sun, 09 Jan 2022 01:30:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255015.437035; Sun, 09 Jan 2022 01:30:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6N2i-0000R6-Ag; Sun, 09 Jan 2022 01:30:44 +0000
Received: by outflank-mailman (input) for mailman id 255015;
 Sun, 09 Jan 2022 01:30:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4WZq=RZ=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n6N2h-000094-Jc
 for xen-devel@lists.xenproject.org; Sun, 09 Jan 2022 01:30:43 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [2a0c:e300::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c1e083d3-70eb-11ec-9ce5-af14b9085ebd;
 Sun, 09 Jan 2022 02:30:41 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 3E5DD346;
 Sun,  9 Jan 2022 02:30:41 +0100 (CET)
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 JPv3Ogv4G6aF; Sun,  9 Jan 2022 02:30:40 +0100 (CET)
Received: from begin.home (unknown
 [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id C59D064;
 Sun,  9 Jan 2022 02:30:40 +0100 (CET)
Received: from samy by begin.home with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n6N2e-006iTC-3h;
 Sun, 09 Jan 2022 02:30:40 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c1e083d3-70eb-11ec-9ce5-af14b9085ebd
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 9 Jan 2022 02:30:40 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH 12/15] mini-os: eliminate tpmfront union member in struct
 file
Message-ID: <20220109013040.rhljjzid44opt2fn@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: <20220106115741.3219-1-jgross@suse.com>
 <20220106115741.3219-13-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220106115741.3219-13-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 3E5DD346
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le jeu. 06 janv. 2022 12:57:38 +0100, a ecrit:
> Replace the tpmfront specific union member in struct file with the
> common dev pointer.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
>  include/lib.h | 5 -----
>  lib/sys.c     | 2 +-
>  tpmfront.c    | 8 ++++----
>  3 files changed, 5 insertions(+), 10 deletions(-)
> 
> diff --git a/include/lib.h b/include/lib.h
> index d740065..2ddc076 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -193,11 +193,6 @@ struct file {
>  	    struct evtchn_port_list ports;
>  	} evtchn;
>  	struct gntmap gntmap;
> -#ifdef CONFIG_TPMFRONT
> -	struct {
> -	   struct tpmfront_dev *dev;
> -	} tpmfront;
> -#endif
>  #ifdef CONFIG_TPM_TIS
>  	struct {
>  	   struct tpm_chip *dev;
> diff --git a/lib/sys.c b/lib/sys.c
> index b35e433..b042bf5 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -462,7 +462,7 @@ int close(int fd)
>  #endif
>  #ifdef CONFIG_TPMFRONT
>  	case FTYPE_TPMFRONT:
> -            shutdown_tpmfront(files[fd].tpmfront.dev);
> +            shutdown_tpmfront(files[fd].dev);
>  	    files[fd].type = FTYPE_NONE;
>  	    return 0;
>  #endif
> diff --git a/tpmfront.c b/tpmfront.c
> index be671c2..0a2fefc 100644
> --- a/tpmfront.c
> +++ b/tpmfront.c
> @@ -538,7 +538,7 @@ int tpmfront_open(struct tpmfront_dev* dev)
>  
>     dev->fd = alloc_fd(FTYPE_TPMFRONT);
>     printk("tpmfront_open(%s) -> %d\n", dev->nodename, dev->fd);
> -   files[dev->fd].tpmfront.dev = dev;
> +   files[dev->fd].dev = dev;
>     dev->respgot = false;
>     return dev->fd;
>  }
> @@ -547,7 +547,7 @@ int tpmfront_posix_write(int fd, const uint8_t* buf, size_t count)
>  {
>     int rc;
>     struct tpmfront_dev* dev;
> -   dev = files[fd].tpmfront.dev;
> +   dev = files[fd].dev;
>  
>     if(count == 0) {
>        return 0;
> @@ -573,7 +573,7 @@ int tpmfront_posix_read(int fd, uint8_t* buf, size_t count)
>     size_t dummysz;
>     struct tpmfront_dev* dev;
>  
> -   dev = files[fd].tpmfront.dev;
> +   dev = files[fd].dev;
>  
>     if(count == 0) {
>        return 0;
> @@ -606,7 +606,7 @@ int tpmfront_posix_fstat(int fd, struct stat* buf)
>     uint8_t* dummybuf;
>     size_t dummysz;
>     int rc;
> -   struct tpmfront_dev* dev = files[fd].tpmfront.dev;
> +   struct tpmfront_dev* dev = files[fd].dev;
>  
>     /* If we have a response waiting, then read it now from the backend
>      * so we can get its length*/
> -- 
> 2.26.2
> 

-- 
Samuel
/* Halley */

	(Halley's comment.)


From xen-devel-bounces@lists.xenproject.org Sun Jan 09 01:31:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 09 Jan 2022 01:31:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255018.437051 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6N35-00014E-SZ; Sun, 09 Jan 2022 01:31:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255018.437051; Sun, 09 Jan 2022 01: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 1n6N35-000147-Mx; Sun, 09 Jan 2022 01:31:07 +0000
Received: by outflank-mailman (input) for mailman id 255018;
 Sun, 09 Jan 2022 01:31:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4WZq=RZ=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n6N34-0007T5-N2
 for xen-devel@lists.xenproject.org; Sun, 09 Jan 2022 01:31:06 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [2a0c:e300::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cfc4a04f-70eb-11ec-81c1-a30af7de8005;
 Sun, 09 Jan 2022 02:31:05 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 8F725346;
 Sun,  9 Jan 2022 02:31:04 +0100 (CET)
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 2cH_o0_ByF5S; Sun,  9 Jan 2022 02:31:04 +0100 (CET)
Received: from begin.home (unknown
 [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id B03C564;
 Sun,  9 Jan 2022 02:31:03 +0100 (CET)
Received: from samy by begin.home with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n6N31-006iTg-8O;
 Sun, 09 Jan 2022 02:31:03 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cfc4a04f-70eb-11ec-81c1-a30af7de8005
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 9 Jan 2022 02:31:03 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH 13/15] mini-os: eliminate tpmtis union member in struct
 file
Message-ID: <20220109013103.gapt7g7jw353c4md@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: <20220106115741.3219-1-jgross@suse.com>
 <20220106115741.3219-14-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220106115741.3219-14-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 8F725346
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le jeu. 06 janv. 2022 12:57:39 +0100, a ecrit:
> Replace the tpmtis specific union member in struct file with the
> common dev pointer.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
>  include/lib.h | 5 -----
>  lib/sys.c     | 2 +-
>  tpm_tis.c     | 8 ++++----
>  3 files changed, 5 insertions(+), 10 deletions(-)
> 
> diff --git a/include/lib.h b/include/lib.h
> index 2ddc076..d6a29ba 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -193,11 +193,6 @@ struct file {
>  	    struct evtchn_port_list ports;
>  	} evtchn;
>  	struct gntmap gntmap;
> -#ifdef CONFIG_TPM_TIS
> -	struct {
> -	   struct tpm_chip *dev;
> -	} tpm_tis;
> -#endif
>  #ifdef CONFIG_XENBUS
>          struct {
>              /* To each xenbus FD is associated a queue of watch events for this
> diff --git a/lib/sys.c b/lib/sys.c
> index b042bf5..96fc769 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -468,7 +468,7 @@ int close(int fd)
>  #endif
>  #ifdef CONFIG_TPM_TIS
>  	case FTYPE_TPM_TIS:
> -            shutdown_tpm_tis(files[fd].tpm_tis.dev);
> +            shutdown_tpm_tis(files[fd].dev);
>  	    files[fd].type = FTYPE_NONE;
>  	    return 0;
>  #endif
> diff --git a/tpm_tis.c b/tpm_tis.c
> index 4127118..477f555 100644
> --- a/tpm_tis.c
> +++ b/tpm_tis.c
> @@ -1288,14 +1288,14 @@ int tpm_tis_open(struct tpm_chip* tpm)
>  
>     tpm->fd = alloc_fd(FTYPE_TPM_TIS);
>     printk("tpm_tis_open() -> %d\n", tpm->fd);
> -   files[tpm->fd].tpm_tis.dev = tpm;
> +   files[tpm->fd].dev = tpm;
>     return tpm->fd;
>  }
>  
>  int tpm_tis_posix_write(int fd, const uint8_t* buf, size_t count)
>  {
>     struct tpm_chip* tpm;
> -   tpm = files[fd].tpm_tis.dev;
> +   tpm = files[fd].dev;
>  
>     if(tpm->locality < 0) {
>        printk("tpm_tis_posix_write() failed! locality not set!\n");
> @@ -1323,7 +1323,7 @@ int tpm_tis_posix_read(int fd, uint8_t* buf, size_t count)
>  {
>     int rc;
>     struct tpm_chip* tpm;
> -   tpm = files[fd].tpm_tis.dev;
> +   tpm = files[fd].dev;
>  
>     if(count == 0) {
>        return 0;
> @@ -1350,7 +1350,7 @@ int tpm_tis_posix_read(int fd, uint8_t* buf, size_t count)
>  int tpm_tis_posix_fstat(int fd, struct stat* buf)
>  {
>     struct tpm_chip* tpm;
> -   tpm = files[fd].tpm_tis.dev;
> +   tpm = files[fd].dev;
>  
>     buf->st_mode = O_RDWR;
>     buf->st_uid = 0;
> -- 
> 2.26.2
> 

-- 
Samuel
<r> make
<r> oops
<m> make clean


From xen-devel-bounces@lists.xenproject.org Sun Jan 09 01:32:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 09 Jan 2022 01:32:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255026.437067 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6N4Q-0001pQ-Aj; Sun, 09 Jan 2022 01:32:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255026.437067; Sun, 09 Jan 2022 01: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 1n6N4Q-0001pI-3V; Sun, 09 Jan 2022 01:32:30 +0000
Received: by outflank-mailman (input) for mailman id 255026;
 Sun, 09 Jan 2022 01:32:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4WZq=RZ=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n6N4O-0001mv-M8
 for xen-devel@lists.xenproject.org; Sun, 09 Jan 2022 01:32:28 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [2a0c:e300::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 009b7c19-70ec-11ec-81c1-a30af7de8005;
 Sun, 09 Jan 2022 02:32:26 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 391E4368;
 Sun,  9 Jan 2022 02:32:26 +0100 (CET)
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 w3vO7bERRuhm; Sun,  9 Jan 2022 02:32:25 +0100 (CET)
Received: from begin.home (unknown
 [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 538DA283;
 Sun,  9 Jan 2022 02:32:25 +0100 (CET)
Received: from samy by begin.home with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n6N4K-006iUf-LB;
 Sun, 09 Jan 2022 02:32: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>
X-Inumbo-ID: 009b7c19-70ec-11ec-81c1-a30af7de8005
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 9 Jan 2022 02:32:24 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH 14/15] mini-os: eliminate xenbus union member in struct
 file
Message-ID: <20220109013224.c4nv77dayhlg3z5o@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: <20220106115741.3219-1-jgross@suse.com>
 <20220106115741.3219-15-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220106115741.3219-15-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 391E4368
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le jeu. 06 janv. 2022 12:57:40 +0100, a ecrit:
> Replace the xenbus specific union member in struct file with the
> common dev pointer.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
>  include/lib.h |  7 -------
>  lib/sys.c     |  2 +-
>  lib/xs.c      | 13 +++++++------
>  3 files changed, 8 insertions(+), 14 deletions(-)
> 
> diff --git a/include/lib.h b/include/lib.h
> index d6a29ba..91364ba 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -193,13 +193,6 @@ struct file {
>  	    struct evtchn_port_list ports;
>  	} evtchn;
>  	struct gntmap gntmap;
> -#ifdef CONFIG_XENBUS
> -        struct {
> -            /* To each xenbus FD is associated a queue of watch events for this
> -             * FD.  */
> -            xenbus_event_queue events;
> -        } xenbus;
> -#endif
>      };
>  };
>  
> diff --git a/lib/sys.c b/lib/sys.c
> index 96fc769..6f2b026 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -776,7 +776,7 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
>  #ifdef CONFIG_XENBUS
>  	case FTYPE_XENBUS:
>  	    if (FD_ISSET(i, readfds)) {
> -                if (files[i].xenbus.events)
> +                if (files[i].dev)
>  		    n++;
>  		else
>  		    FD_CLR(i, readfds);
> diff --git a/lib/xs.c b/lib/xs.c
> index 324bd05..0459f52 100644
> --- a/lib/xs.c
> +++ b/lib/xs.c
> @@ -21,8 +21,8 @@ static inline int _xs_fileno(struct xs_handle *h) {
>  struct xs_handle *xs_daemon_open()
>  {
>      int fd = alloc_fd(FTYPE_XENBUS);
> -    files[fd].xenbus.events = NULL;
> -    printk("xs_daemon_open -> %d, %p\n", fd, &files[fd].xenbus.events);
> +    files[fd].dev = NULL;
> +    printk("xs_daemon_open -> %d, %p\n", fd, &files[fd].dev);
>      return (void*)(intptr_t) fd;
>  }
>  
> @@ -30,7 +30,7 @@ void xs_daemon_close(struct xs_handle *h)
>  {
>      int fd = _xs_fileno(h);
>      struct xenbus_event *event, *next;
> -    for (event = files[fd].xenbus.events; event; event = next)
> +    for (event = files[fd].dev; event; event = next)
>      {
>          next = event->next;
>          free(event);
> @@ -172,15 +172,16 @@ bool xs_watch(struct xs_handle *h, const char *path, const char *token)
>  {
>      int fd = _xs_fileno(h);
>      printk("xs_watch(%s, %s)\n", path, token);
> -    return xs_bool(xenbus_watch_path_token(XBT_NULL, path, token, &files[fd].xenbus.events));
> +    return xs_bool(xenbus_watch_path_token(XBT_NULL, path, token,
> +                   (xenbus_event_queue *)&files[fd].dev));
>  }
>  
>  char **xs_read_watch(struct xs_handle *h, unsigned int *num)
>  {
>      int fd = _xs_fileno(h);
>      struct xenbus_event *event;
> -    event = files[fd].xenbus.events;
> -    files[fd].xenbus.events = event->next;
> +    event = files[fd].dev;
> +    files[fd].dev = event->next;
>      printk("xs_read_watch() -> %s %s\n", event->path, event->token);
>      *num = 2;
>      return (char **) &event->path;
> -- 
> 2.26.2
> 

-- 
Samuel
"I don't know why, but first C programs tend to look a lot worse than
first programs in any other language (maybe except for fortran, but then
I suspect all fortran programs look like `firsts')"
(By Olaf Kirch)


From xen-devel-bounces@lists.xenproject.org Sun Jan 09 01:33:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 09 Jan 2022 01:33:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255031.437077 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6N5b-0002RY-IG; Sun, 09 Jan 2022 01:33:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255031.437077; Sun, 09 Jan 2022 01:33:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6N5b-0002RR-El; Sun, 09 Jan 2022 01:33:43 +0000
Received: by outflank-mailman (input) for mailman id 255031;
 Sun, 09 Jan 2022 01:33:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4WZq=RZ=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n6N5a-0002Qy-6y
 for xen-devel@lists.xenproject.org; Sun, 09 Jan 2022 01:33:42 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2ced7483-70ec-11ec-9ce5-af14b9085ebd;
 Sun, 09 Jan 2022 02:33:41 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id D1330368;
 Sun,  9 Jan 2022 02:33:40 +0100 (CET)
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 HGccZaLAxH5G; Sun,  9 Jan 2022 02:33:40 +0100 (CET)
Received: from begin.home (unknown
 [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 07374283;
 Sun,  9 Jan 2022 02:33:40 +0100 (CET)
Received: from samy by begin.home with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n6N5X-006iV8-BD;
 Sun, 09 Jan 2022 02:33:39 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2ced7483-70ec-11ec-9ce5-af14b9085ebd
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 9 Jan 2022 02:33:39 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH 15/15] mini-os: introduce get_file_from_fd()
Message-ID: <20220109013339.bilc3u2xc3t72irf@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: <20220106115741.3219-1-jgross@suse.com>
 <20220106115741.3219-16-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220106115741.3219-16-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: D1330368
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le jeu. 06 janv. 2022 12:57:41 +0100, a ecrit:
> Exporting the files[] array especially for components outside the
> mini-os source tree is limiting the ability to change any file handling
> in mini-os.
> 
> Introduce a new function get_file_from_fd() to return the struct file
> pointer (or NULL) for a given file descriptor.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
>  include/lib.h | 1 +
>  lib/sys.c     | 8 ++++++++
>  2 files changed, 9 insertions(+)
> 
> diff --git a/include/lib.h b/include/lib.h
> index 91364ba..7a0546b 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -198,6 +198,7 @@ struct file {
>  
>  extern struct file files[];
>  
> +struct file *get_file_from_fd(int fd);
>  int alloc_fd(enum fd_type type);
>  void close_all_files(void);
>  extern struct thread *main_thread;
> diff --git a/lib/sys.c b/lib/sys.c
> index 6f2b026..0e6fe5d 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -98,6 +98,14 @@ struct file files[NOFILE] = {
>      { .type = FTYPE_CONSOLE }, /* stderr */
>  };
>  
> +struct file *get_file_from_fd(int fd)
> +{
> +    if ( fd < 0 || fd >= NOFILE )
> +        return NULL;
> +
> +    return (files[fd].type == FTYPE_NONE) ? NULL : files + fd;
> +}
> +
>  DECLARE_WAIT_QUEUE_HEAD(event_queue);
>  
>  int alloc_fd(enum fd_type type)
> -- 
> 2.26.2
> 

-- 
Samuel
The nice thing about Windows is - It does not just crash, it displays a
dialog box and lets you press 'OK' first.
(Arno Schaefer's .sig)


From xen-devel-bounces@lists.xenproject.org Sun Jan 09 01:54:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 09 Jan 2022 01:54:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255041.437092 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6NPZ-0004t5-5I; Sun, 09 Jan 2022 01:54:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255041.437092; Sun, 09 Jan 2022 01: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 1n6NPZ-0004sy-1Z; Sun, 09 Jan 2022 01:54:21 +0000
Received: by outflank-mailman (input) for mailman id 255041;
 Sun, 09 Jan 2022 01: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 1n6NPX-0004so-5V; Sun, 09 Jan 2022 01: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 1n6NPX-0004X1-2x; Sun, 09 Jan 2022 01: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 1n6NPW-0004Gr-Mm; Sun, 09 Jan 2022 01:54:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n6NPW-0004j2-Kj; Sun, 09 Jan 2022 01:54:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7YB58LVyrUM8IGKHOsyuQI3nIoQ5k/LiWHzDUKLw51s=; b=5Nb7uREHxEzMw7voYdlA1VAQ85
	nKUyVYVmfp9KenFN64SIibEs6ERCzI/CAVXx5hYxpFRVcG8sziPMh/Xbjgm+/wvyJFLJ8gvVb8zVP
	aLRTF+Xp0gOGZ99DO+XYWUTu79aHKqMFOA6ucD6HmKQ0rOM8SgXAJglYUpxT3r2pLf7w=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167640-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167640: trouble: broken/fail/pass
X-Osstest-Failures:
    qemu-mainline:test-armhf-armhf-xl:<job status>:broken:regression
    qemu-mainline:test-armhf-armhf-xl:host-install(5):broken: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-qcow2:saverestore-support-check: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-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm: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-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2: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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-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-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2: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=afe33262585565b64df706c62b4b0f6e0ad30c71
X-Osstest-Versions-That:
    qemuu=d70075373af51b6aa1d637962c962120e201fc98
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 09 Jan 2022 01:54:18 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl             <job status>                 broken
 test-armhf-armhf-xl           5 host-install(5)        broken REGR. vs. 167638

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

version targeted for testing:
 qemuu                afe33262585565b64df706c62b4b0f6e0ad30c71
baseline version:
 qemuu                d70075373af51b6aa1d637962c962120e201fc98

Last test of basis   167638  2022-01-08 05:30:43 Z    0 days
Testing same since   167640  2022-01-08 18:09:26 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alistair Francis <alistair.francis@wdc.com>
  Bin Meng <bmeng.cn@gmail.com>
  Frank Chang <frank.chang@sifive.com>
  Frédéric Pétrot <frederic.petrot@univ-grenoble-alpes.fr>
  Jim Shu <jim.shu@sifive.com>
  Nikita Shubin <n.shubin@yadro.com>
  Philipp Tomsich <philipp.tomsich@vrull.eu>
  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                                          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-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


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

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

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

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

broken-job test-armhf-armhf-xl broken
broken-step test-armhf-armhf-xl host-install(5)

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Jan 09 03:04:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 09 Jan 2022 03:04:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255050.437102 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6OVA-0003ik-Ku; Sun, 09 Jan 2022 03:04:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255050.437102; Sun, 09 Jan 2022 03:04:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6OVA-0003id-Hx; Sun, 09 Jan 2022 03:04:12 +0000
Received: by outflank-mailman (input) for mailman id 255050;
 Sun, 09 Jan 2022 03:04:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n6OV9-0003iT-PN; Sun, 09 Jan 2022 03:04:11 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n6OV9-0006BT-Mm; Sun, 09 Jan 2022 03:04:11 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n6OV9-0006Vl-Bh; Sun, 09 Jan 2022 03:04:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n6OV9-0004yv-BE; Sun, 09 Jan 2022 03:04:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=AMzTN/MNmES32BIuKn8Tjhw9deQENFZWKb7ucpC5cKY=; b=R+ixLE3CyZv/eafj2dG2aowRxi
	1SWaqSbXwo3Oe4HoeZI5Wl0qJWEUKDL2bfOCQ0FmKK6+d74JYxrVtDogDsjgxGTqNQPCHe7IqZ9Ll
	2axnf8fk1uOemDXecHPx2b0zEVw93PGMABFPymtwA9VNn+CIQ2+bovzEQnHM0LW/Fx/4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167641-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167641: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-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-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt: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-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl: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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=21f35d2ca83e64603b9f543b537491d333b69c51
X-Osstest-Versions-That:
    linux=d1587f7bfe9a0f97a75d42ac1489aeda551106bc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 09 Jan 2022 03:04:11 +0000

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

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 167635
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167635
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167635
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167635
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167635
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167635
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167635
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167635
 test-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-arm64-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-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-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

version targeted for testing:
 linux                21f35d2ca83e64603b9f543b537491d333b69c51
baseline version:
 linux                d1587f7bfe9a0f97a75d42ac1489aeda551106bc

Last test of basis   167635  2022-01-08 02:52:08 Z    1 days
Testing same since   167641  2022-01-08 20:41:43 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Tareque Md.Hanif" <tarequemd.hanif@yahoo.com>
  Chris Packham <chris.packham@alliedtelesis.co.nz>
  Darrick J. Wong <darrick.wong@oracle.com>
  Darrick J. Wong <djwong@kernel.org>
  Konstantin Kharlamov <hi-angel@yandex.ru>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Nathan Chancellor <nathan@kernel.org>
  Sebastian Reichel <sebastian.reichel@collabora.com>
  Wolfram Sang <wsa@kernel.org>
  Yauhen Kharuzhy <jekhor@gmail.com>

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


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

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

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

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


Pushing revision :

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


From xen-devel-bounces@lists.xenproject.org Sun Jan 09 06:13:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 09 Jan 2022 06:13:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255059.437113 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6RRX-0004pu-2o; Sun, 09 Jan 2022 06:12:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255059.437113; Sun, 09 Jan 2022 06:12:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6RRW-0004pn-W7; Sun, 09 Jan 2022 06:12:38 +0000
Received: by outflank-mailman (input) for mailman id 255059;
 Sun, 09 Jan 2022 06:12:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uXRL=RZ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n6RRV-0004pc-5J
 for xen-devel@lists.xenproject.org; Sun, 09 Jan 2022 06:12:37 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 224ccd7d-7113-11ec-81c1-a30af7de8005;
 Sun, 09 Jan 2022 07:12:33 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id A57DB210F5;
 Sun,  9 Jan 2022 06:12:33 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 827FA1323E;
 Sun,  9 Jan 2022 06:12:33 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id w6x5HtF82mHCAgAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 09 Jan 2022 06: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: 224ccd7d-7113-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641708753; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=2NEZWzPh5lRyG3jS2xnF4imOt3KxOxtziXli0WcVzAQ=;
	b=YANISiT/wi2/S9CofJGi+QX/rRiATlxD3+jnRoGpbTiy1OLYrXdTcUWw2h8YkIE7lzdZ8e
	fJwiZk8gQEmInbJwOHXQw1MkQlCm2QjTT/MdhayLUOoRzZafad7u9r12nCiv8GMY8fiUfz
	6DPUsBbPn2HkWp/dx1Bf05xA9aS3b6w=
Subject: Re: [PATCH 02/15] mini-os: makes file.read bool and move it ahead of
 device specific part
To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
 minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org, wl@xen.org
References: <20220106115741.3219-1-jgross@suse.com>
 <20220106115741.3219-3-jgross@suse.com>
 <20220109011844.ztd7uwre6kb3dzwv@begin>
 <20220109012100.tpv42y3efylqgrhr@begin>
From: Juergen Gross <jgross@suse.com>
Message-ID: <4b989643-9a9f-7bba-d729-d3248db49499@suse.com>
Date: Sun, 9 Jan 2022 07:12:32 +0100
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: <20220109012100.tpv42y3efylqgrhr@begin>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="8DA3GSwe4AyWz92cpZ4rQCYNdfNu2Hbm3"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--8DA3GSwe4AyWz92cpZ4rQCYNdfNu2Hbm3
Content-Type: multipart/mixed; boundary="Z602Mw8QTB5loTPygdsDUDC35Z5JxK0fW";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
 minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org, wl@xen.org
Message-ID: <4b989643-9a9f-7bba-d729-d3248db49499@suse.com>
Subject: Re: [PATCH 02/15] mini-os: makes file.read bool and move it ahead of
 device specific part
References: <20220106115741.3219-1-jgross@suse.com>
 <20220106115741.3219-3-jgross@suse.com>
 <20220109011844.ztd7uwre6kb3dzwv@begin>
 <20220109012100.tpv42y3efylqgrhr@begin>
In-Reply-To: <20220109012100.tpv42y3efylqgrhr@begin>

--Z602Mw8QTB5loTPygdsDUDC35Z5JxK0fW
Content-Type: multipart/mixed;
 boundary="------------A8BC179E04DBA680FFE9E233"
Content-Language: en-US

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

On 09.01.22 02:21, Samuel Thibault wrote:
> Samuel Thibault, le dim. 09 janv. 2022 02:18:44 +0100, a ecrit:
>> Juergen Gross, le jeu. 06 janv. 2022 12:57:28 +0100, a ecrit:
>>> The read member of struct file should be bool.
>>>
>>> In order to have the device specific part at the end of the structure=

>>> move "read" ahead of that.
>>>
>>> Signed-off-by: Juergen Gross <jgross@suse.com>
>>
>> Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
>=20
> Mmm, but tools/libs/evtchn/minios.c needs updating, doesn't it?

It will be, but assigning 1 to a bool is just fine.


Juergen

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

--------------A8BC179E04DBA680FFE9E233--

--Z602Mw8QTB5loTPygdsDUDC35Z5JxK0fW--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHafNAFAwAAAAAACgkQsN6d1ii/Ey8A
4Qf/ahmMqH+bFa9eRLYPf5dFGBg+ZXPcUIuQTgPFgJ0TcndIyaqLWoXvk6VS7jFk0Vme1a8j2RYM
/X8JwuusFTRp3pIm2vaml06SkTIJiFVAP1M9AV7+XyzKqPsK/c6dtPS368hc1a8VwuC5SBuRxYKl
hw41ikhNM4eGUs9zgIkk8bsoCYTVorpXZwWERwwJdsJh8d/+ENv1LIQPo0nFHuOOa+sCj/p9A2cq
zefD8dvrT0VdXB8xH2CETk4ZAAQRCoRIJfDdAdWWJKGfg0EaFQJGdRSULSRt6s0Ev2P8X3Op7RpP
IHSqtMryqgo/QQAo8ajH2M2f/kwXteBXGXmWS30ylg==
=pWYc
-----END PGP SIGNATURE-----

--8DA3GSwe4AyWz92cpZ4rQCYNdfNu2Hbm3--


From xen-devel-bounces@lists.xenproject.org Sun Jan 09 06:17:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 09 Jan 2022 06:17:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255066.437133 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6RW9-0005a7-Po; Sun, 09 Jan 2022 06:17:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255066.437133; Sun, 09 Jan 2022 06:17: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 1n6RW9-0005a0-MC; Sun, 09 Jan 2022 06:17:25 +0000
Received: by outflank-mailman (input) for mailman id 255066;
 Sun, 09 Jan 2022 06:17:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uXRL=RZ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n6RW7-0005Xi-SN
 for xen-devel@lists.xenproject.org; Sun, 09 Jan 2022 06:17:23 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cdc8962a-7113-11ec-9ce5-af14b9085ebd;
 Sun, 09 Jan 2022 07:17:21 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 1F9E31F382;
 Sun,  9 Jan 2022 06:17:21 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id E361E1323E;
 Sun,  9 Jan 2022 06:17:20 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id BjjTNfB92mH4AwAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 09 Jan 2022 06:17:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cdc8962a-7113-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641709041; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=JQvgevWvobT9sZOfI/2lM7ceVgGrP0PQ53Ah8wWQ+Gs=;
	b=HEh4J70Kh2sX7Qtc9b1Ao0xx/JE3PzelXsoI8fAZ6o0QV+cr0Br0pQYOuTk2mYnZc3rdbi
	SY1YjropN2pnWhO7Bo/y3KXPbDQBz/kJ4EwDjNn7G8a9hJL+Ai83xpIwb0vzd9ImSbrlRn
	B0Xsx2L03lN8yD13yJjYq0bLfezuh0g=
Subject: Re: [PATCH 0/2] mini-os: remove device specific struct file members
To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
 minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org, wl@xen.org
References: <20220107104706.9859-1-jgross@suse.com>
 <20220109011603.bymferaebanvvmud@begin>
From: Juergen Gross <jgross@suse.com>
Message-ID: <b1341eb8-cd80-db17-d69c-ed0781a8ea74@suse.com>
Date: Sun, 9 Jan 2022 07:17:20 +0100
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: <20220109011603.bymferaebanvvmud@begin>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="EorJ2WnWwLhDno7OhVFNeyKsTYJRBykzc"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--EorJ2WnWwLhDno7OhVFNeyKsTYJRBykzc
Content-Type: multipart/mixed; boundary="Psy6U8Xi5KhEHr6AJK7WJkxElTf8Q9ZeN";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
 minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org, wl@xen.org
Message-ID: <b1341eb8-cd80-db17-d69c-ed0781a8ea74@suse.com>
Subject: Re: [PATCH 0/2] mini-os: remove device specific struct file members
References: <20220107104706.9859-1-jgross@suse.com>
 <20220109011603.bymferaebanvvmud@begin>
In-Reply-To: <20220109011603.bymferaebanvvmud@begin>

--Psy6U8Xi5KhEHr6AJK7WJkxElTf8Q9ZeN
Content-Type: multipart/mixed;
 boundary="------------82B1C12707A7F8D2FE966FE2"
Content-Language: en-US

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

On 09.01.22 02:16, Samuel Thibault wrote:
> Juergen Gross, le ven. 07 janv. 2022 11:47:04 +0100, a ecrit:
>> can only be applied after the Xen libraries have stopped using the
>> related union members.
>=20
> Ah, ok :) Was that submitted somewhere?

I've sent the patches, but they can be applied only after the first
Mini-OS series has been applied and the Xen build is using the
updated Mini-OS tree.

Meanwhile I've found a way to decouple Mini-OS and the Xen libs even
further. So this series and the Xen one will be updated.

In the end the libs will use dynamic hooks and Mini-OS will no longer
need to have a config knob for supporting the libs (other than having
libc enabled).


Juergen

--------------82B1C12707A7F8D2FE966FE2
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-----

--------------82B1C12707A7F8D2FE966FE2--

--Psy6U8Xi5KhEHr6AJK7WJkxElTf8Q9ZeN--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHaffAFAwAAAAAACgkQsN6d1ii/Ey84
Pgf/e6yKopYElSi/OHj5OhdNshjGSD2f97ea4yjdyPKtvi4kv+xLxB1s59vVJbhStMkDXCi1zpW/
Toa1wPFtEKlpIcMjI/0Qvop8RNRdhPQbsI+bMUCvlj91cs25oU+fgwdakDHzFvIH1aVWLaARDpad
chv3eTL4lJiIh9mrswopQ0JTh7I3nQV86JCLQMqHUBZhHBcdU/Wk+3FYtN4dW0e7voxlDkxfI26E
s2IPt38sf7qOlCc5U/rhg2TV5robDN4fhm8bhmkXdHYIihah1w6SUD0RBB/89/OmQHK4w12zeak2
sVG4bsotPH0ob6eCbx0IP0caljfym4Q5v5/Wy6BpjA==
=tQu8
-----END PGP SIGNATURE-----

--EorJ2WnWwLhDno7OhVFNeyKsTYJRBykzc--


From xen-devel-bounces@lists.xenproject.org Sun Jan 09 06:18:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 09 Jan 2022 06:18:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255071.437148 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6RWy-0006HT-9O; Sun, 09 Jan 2022 06:18:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255071.437148; Sun, 09 Jan 2022 06: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 1n6RWy-0006HK-5d; Sun, 09 Jan 2022 06:18:16 +0000
Received: by outflank-mailman (input) for mailman id 255071;
 Sun, 09 Jan 2022 06:18:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uXRL=RZ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n6RWw-0006Es-Rj
 for xen-devel@lists.xenproject.org; Sun, 09 Jan 2022 06:18:14 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ec6acd21-7113-11ec-81c1-a30af7de8005;
 Sun, 09 Jan 2022 07:18:12 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id AD050210F5;
 Sun,  9 Jan 2022 06:18:12 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 877F41323E;
 Sun,  9 Jan 2022 06:18:12 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 2nauHyR+2mExBAAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 09 Jan 2022 06:18: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: ec6acd21-7113-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641709092; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=wMqyVMz5DLJ/dsfqXM7of5hL28ZIUcfqqjLAZZsN2BQ=;
	b=JjEA5lq+BP8oR9lCMe2xHeixGkKlEZmJyHdJ4/mYhU4YdBF4s8cmX5ZYKB4F99HMZwDDcs
	1ZdiP2tS8udmtk9RCxqcHprRZ1kgPsSEBgJ/TdYVsc+1XADkXCIztQ6UgimB499RDW8gTV
	968wv2e2dUosH/q3JKxXGTefGoE/kvA=
Subject: Re: [PATCH 1/2] mini-os: remove event channel specific struct file
 member
To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
 minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org, wl@xen.org
References: <20220107104706.9859-1-jgross@suse.com>
 <20220107104706.9859-2-jgross@suse.com>
 <20220109011515.sx2qynqslxhllred@begin>
From: Juergen Gross <jgross@suse.com>
Message-ID: <f7bca511-3fa7-cbc6-5a10-5b6edb7a8bd1@suse.com>
Date: Sun, 9 Jan 2022 07:18:12 +0100
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: <20220109011515.sx2qynqslxhllred@begin>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="DmKJmeQPuzGX4YVULogHvEG45qroerTks"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--DmKJmeQPuzGX4YVULogHvEG45qroerTks
Content-Type: multipart/mixed; boundary="aqzsLJLSYlM4nmru4NfrACfzwZxiXIvex";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
 minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org, wl@xen.org
Message-ID: <f7bca511-3fa7-cbc6-5a10-5b6edb7a8bd1@suse.com>
Subject: Re: [PATCH 1/2] mini-os: remove event channel specific struct file
 member
References: <20220107104706.9859-1-jgross@suse.com>
 <20220107104706.9859-2-jgross@suse.com>
 <20220109011515.sx2qynqslxhllred@begin>
In-Reply-To: <20220109011515.sx2qynqslxhllred@begin>

--aqzsLJLSYlM4nmru4NfrACfzwZxiXIvex
Content-Type: multipart/mixed;
 boundary="------------D1CCBDDA8EF4517C57A65864"
Content-Language: en-US

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

On 09.01.22 02:15, Samuel Thibault wrote:
> Juergen Gross, le ven. 07 janv. 2022 11:47:05 +0100, a ecrit:
>> The event channel specific union member in struct file is no longer
>> needed,
>=20
> Doesn't xen/tools/libs/evtchn/minios.c use it?

Not after the Xen patches have been applied.


Juergen

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

--------------D1CCBDDA8EF4517C57A65864--

--aqzsLJLSYlM4nmru4NfrACfzwZxiXIvex--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHafiQFAwAAAAAACgkQsN6d1ii/Ey8K
9Qf/UC/85CU3A/FVDzqiv3yd1YA6MihUg6BpTJUBRn5e/4J+mWKFE4ygonenw74okL3ZYZOMCR5B
wkxjh+4oPpKwQG6UxunrpYyFE7Bl+XFWE8OODuA/h/qdKCee/OnirVCmXmSaU0M19iAudsMSAEb4
nigoTi2ZiY/QusvCACHHZuOSuL5dyL5qOOZc6DCi1p3euuUhZRck1l8X43DpyEKS3x1LrGwAWYr+
yIrRR2cyBZMSnVF6gVq8rLezCmUuvNi9by0+R5yCNBMuLKUJJqJtvVKg7oM+123vvH/L8T4e0DEP
hTTkD+wHcnRRwO1qs3nEUxCGk05XnzGgFvGVuGXC+w==
=jIyN
-----END PGP SIGNATURE-----

--DmKJmeQPuzGX4YVULogHvEG45qroerTks--


From xen-devel-bounces@lists.xenproject.org Sun Jan 09 08:34:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 09 Jan 2022 08:34:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255089.437159 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6Ten-0002vF-EP; Sun, 09 Jan 2022 08:34:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255089.437159; Sun, 09 Jan 2022 08:34:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6Ten-0002v8-BR; Sun, 09 Jan 2022 08:34:29 +0000
Received: by outflank-mailman (input) for mailman id 255089;
 Sun, 09 Jan 2022 08:34: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 1n6Tel-0002uy-Vg; Sun, 09 Jan 2022 08:34: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 1n6Tel-0004fT-SN; Sun, 09 Jan 2022 08:34: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 1n6Tel-0005d0-LC; Sun, 09 Jan 2022 08:34:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n6Tel-0006Ro-Kl; Sun, 09 Jan 2022 08:34:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=LoCdyrIjY8zNZICynPEbGDLpv73631lQl6bFRvEAaOo=; b=fRKcf6vLyfGkXG/0lie8zhEjjc
	maAX8Anj0e+S1MTxRz6wqFlIZMynE2VszpyM/rtohKBl8EJ1cYtNhjJX3rY0RV/1ZuDm7bnNaNatP
	6aV8wmwuXk2gunEBPyyeYg6InuQOAu+z0yy8FDN8PyS965ybNAKlJczLzvzypVVN0CkQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167645-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 167645: 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-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=82d514084abbcfd45e5d04a0f9ccc519356b8f61
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 09 Jan 2022 08:34:27 +0000

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

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-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              82d514084abbcfd45e5d04a0f9ccc519356b8f61
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  548 days
Failing since        151818  2020-07-11 04:18:52 Z  547 days  529 attempts
Testing same since   167637  2022-01-08 04:18:53 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>
  Ani Sinha <ani@anisinha.ca>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  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>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.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>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  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>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  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 Chevsky <nchevsky@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>
  Or Ozeri <oro@il.ibm.com>
  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>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott 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>
  Stefan Hajnoczi <stefanha@redhat.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>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Дамјан Георгиевски <gdamjan@gmail.com>

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


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Jan 09 09:51:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 09 Jan 2022 09:51:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255099.437170 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6Uqw-00027k-3S; Sun, 09 Jan 2022 09:51:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255099.437170; Sun, 09 Jan 2022 09: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 1n6Uqv-00027d-W8; Sun, 09 Jan 2022 09:51:05 +0000
Received: by outflank-mailman (input) for mailman id 255099;
 Sun, 09 Jan 2022 09:51: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 1n6Uqu-00027T-5H; Sun, 09 Jan 2022 09:51:04 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n6Uqu-0005xs-2c; Sun, 09 Jan 2022 09:51:04 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n6Uqt-0001lk-QL; Sun, 09 Jan 2022 09:51:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n6Uqt-0002Xe-Pu; Sun, 09 Jan 2022 09:51: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=6zQyD3mSnwGt8j7/7cZCi2CeTlQ7P9qdLhxsKgtODdM=; b=cHBuKErX9YgK4RWGiJd4Sn30D/
	rpLcdY+6ouCB6hqu1XJFTqftYZv8k5ZmDi3CC3xtVncixFx0Q6faG5WRjQ7VA7m1VwbJ3WBBL8KNH
	HxtHyhcjtRZwhwCrPbOfrqz/EHx1zeWd2YYbk18e3Afc6B0U50oD2FIJp978N4xy0GEc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167646-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-coverity test] 167646: all pass - PUSHED
X-Osstest-Versions-This:
    xen=ced5685208f4525edc3aa86f41eeaee5ccc9fe31
X-Osstest-Versions-That:
    xen=af0c5430a82c77432729d61c9b409dd32c477b20
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 09 Jan 2022 09:51:03 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 xen                  ced5685208f4525edc3aa86f41eeaee5ccc9fe31
baseline version:
 xen                  af0c5430a82c77432729d61c9b409dd32c477b20

Last test of basis   167608  2022-01-05 09:19:45 Z    4 days
Testing same since   167646  2022-01-09 09:20:50 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Jan Beulich <jbeulich@suse.com>

jobs:
 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
   af0c5430a8..ced5685208  ced5685208f4525edc3aa86f41eeaee5ccc9fe31 -> coverity-tested/smoke


From xen-devel-bounces@lists.xenproject.org Sun Jan 09 10:01:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 09 Jan 2022 10:01:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255108.437181 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6V18-0003gC-3r; Sun, 09 Jan 2022 10:01:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255108.437181; Sun, 09 Jan 2022 10: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 1n6V18-0003g5-0d; Sun, 09 Jan 2022 10:01:38 +0000
Received: by outflank-mailman (input) for mailman id 255108;
 Sun, 09 Jan 2022 10:01:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uXRL=RZ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n6V17-0003fz-I9
 for xen-devel@lists.xenproject.org; Sun, 09 Jan 2022 10:01:37 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 218934d0-7133-11ec-81c1-a30af7de8005;
 Sun, 09 Jan 2022 11:01:36 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id E2E5921108;
 Sun,  9 Jan 2022 10:01:35 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id B417F1323E;
 Sun,  9 Jan 2022 10:01:35 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 9ow2Kn+y2mGrNwAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 09 Jan 2022 10: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: 218934d0-7133-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641722495; h=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=3kV9UhfBQoub1twskolZ28UNaWHA/0B8jagVlPVjjrs=;
	b=IUhJe61BYKWSYLitLmz2Z2ujma/nGrrQ7SfLmyD8w+NhMi3RMg7EnNx7ZEZsM96YZrOZOk
	oQPPsbgYDpz1YJUq2ICFoquZCHj7d967lIo9IPodCXouvyPZn+V3+tX464+YqBfO96JRtm
	pEMBM5sNDTUWTWriudj/UPscTdqtlqA=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Elena Ufimtseva <elena.ufimtseva@oracle.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH] build: fix make distclean
Date: Sun,  9 Jan 2022 11:01:33 +0100
Message-Id: <20220109100133.19731-1-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

"make distclean" will complain that "-c" is no supported flag for make.

Fix that by using "-C".

The error has been present for a long time, but it was uncovered only
recently.

Fixes: 2400a9a365c5619 ("tools/debugger: Allow make to recurse into debugger/")
Fixes: f9c9b127753e9ed ("tools: fix make distclean")
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/debugger/gdbsx/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/debugger/gdbsx/Makefile b/tools/debugger/gdbsx/Makefile
index 8d7cd94a31..5571450a89 100644
--- a/tools/debugger/gdbsx/Makefile
+++ b/tools/debugger/gdbsx/Makefile
@@ -14,7 +14,7 @@ clean:
 
 .PHONY: distclean
 distclean: clean
-	set -e; for d in xg gx; do $(MAKE) -c $$d distclean; done
+	set -e; for d in xg gx; do $(MAKE) -C $$d distclean; done
 
 .PHONY: install
 install: all
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Sun Jan 09 10:20:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 09 Jan 2022 10:20:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255112.437192 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6VJZ-000651-U4; Sun, 09 Jan 2022 10:20:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255112.437192; Sun, 09 Jan 2022 10: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 1n6VJZ-00064u-RA; Sun, 09 Jan 2022 10:20:41 +0000
Received: by outflank-mailman (input) for mailman id 255112;
 Sun, 09 Jan 2022 10:20:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4WZq=RZ=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n6VJY-00064j-M9
 for xen-devel@lists.xenproject.org; Sun, 09 Jan 2022 10:20:40 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ca41a26d-7135-11ec-9ce5-af14b9085ebd;
 Sun, 09 Jan 2022 11:20:38 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 752C217D;
 Sun,  9 Jan 2022 11:20:37 +0100 (CET)
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 nJSn2jWH_SWF; Sun,  9 Jan 2022 11:20:36 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 13A5A174;
 Sun,  9 Jan 2022 11:20:36 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n6VJT-005iAR-1F;
 Sun, 09 Jan 2022 11:20:35 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ca41a26d-7135-11ec-9ce5-af14b9085ebd
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 9 Jan 2022 11:20:35 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH 02/15] mini-os: makes file.read bool and move it ahead of
 device specific part
Message-ID: <20220109102035.36bhefgq3y2xhdto@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: <20220106115741.3219-1-jgross@suse.com>
 <20220106115741.3219-3-jgross@suse.com>
 <20220109011844.ztd7uwre6kb3dzwv@begin>
 <20220109012100.tpv42y3efylqgrhr@begin>
 <4b989643-9a9f-7bba-d729-d3248db49499@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <4b989643-9a9f-7bba-d729-d3248db49499@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 752C217D
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le dim. 09 janv. 2022 07:12:32 +0100, a ecrit:
> On 09.01.22 02:21, Samuel Thibault wrote:
> > Samuel Thibault, le dim. 09 janv. 2022 02:18:44 +0100, a ecrit:
> > > Juergen Gross, le jeu. 06 janv. 2022 12:57:28 +0100, a ecrit:
> > > > The read member of struct file should be bool.
> > > > 
> > > > In order to have the device specific part at the end of the structure
> > > > move "read" ahead of that.
> > > > 
> > > > Signed-off-by: Juergen Gross <jgross@suse.com>
> > > 
> > > Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
> > 
> > Mmm, but tools/libs/evtchn/minios.c needs updating, doesn't it?
> 
> It will be, but assigning 1 to a bool is just fine.

Yes but it's moved in the structure.

Samuel


From xen-devel-bounces@lists.xenproject.org Sun Jan 09 10:29:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 09 Jan 2022 10:29:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255119.437211 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6VRf-0006tF-Sk; Sun, 09 Jan 2022 10:29:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255119.437211; Sun, 09 Jan 2022 10:29: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 1n6VRf-0006t8-P1; Sun, 09 Jan 2022 10:29:03 +0000
Received: by outflank-mailman (input) for mailman id 255119;
 Sun, 09 Jan 2022 10:29:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uXRL=RZ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n6VRd-0006pb-Mt
 for xen-devel@lists.xenproject.org; Sun, 09 Jan 2022 10:29:01 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f52cacd0-7136-11ec-81c1-a30af7de8005;
 Sun, 09 Jan 2022 11:29:00 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 84FD421109;
 Sun,  9 Jan 2022 10:28:59 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 5C4ED1342A;
 Sun,  9 Jan 2022 10:28:59 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id b3zIFOu42mHSPQAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 09 Jan 2022 10: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>
X-Inumbo-ID: f52cacd0-7136-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641724139; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=J3VgMteoioKXsiP19aWt+aBAbb1/ZOOWK4ny/y/hNBw=;
	b=ssKLJgQfs5YEZAznsI8L3IoaIC1DEV7XmOE82Gv9Zp/pcIvgWGK3IuZQPVFrjq6RzGT44r
	fqIc2y/77kCbGezcdvznh2Mihu5H7QhQRRFMgfmmVlqL01sKPgVNKguhr+ad3uWclIfbkG
	rJuFBhqRSZ64jFt86YUnEhvMfko5X7M=
Subject: Re: [PATCH 02/15] mini-os: makes file.read bool and move it ahead of
 device specific part
To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
 minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org, wl@xen.org
References: <20220106115741.3219-1-jgross@suse.com>
 <20220106115741.3219-3-jgross@suse.com>
 <20220109011844.ztd7uwre6kb3dzwv@begin>
 <20220109012100.tpv42y3efylqgrhr@begin>
 <4b989643-9a9f-7bba-d729-d3248db49499@suse.com>
 <20220109102035.36bhefgq3y2xhdto@begin>
From: Juergen Gross <jgross@suse.com>
Message-ID: <f5c0fb67-fefe-ac64-84a6-a8013ba0c041@suse.com>
Date: Sun, 9 Jan 2022 11:28:58 +0100
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: <20220109102035.36bhefgq3y2xhdto@begin>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="ZV1lwR9v6xLvym9tYPIr0pqWWHtUFNgIK"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--ZV1lwR9v6xLvym9tYPIr0pqWWHtUFNgIK
Content-Type: multipart/mixed; boundary="NMlOVhwKyQwqbuhjGJGgwAA1xuayIQkDb";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
 minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org, wl@xen.org
Message-ID: <f5c0fb67-fefe-ac64-84a6-a8013ba0c041@suse.com>
Subject: Re: [PATCH 02/15] mini-os: makes file.read bool and move it ahead of
 device specific part
References: <20220106115741.3219-1-jgross@suse.com>
 <20220106115741.3219-3-jgross@suse.com>
 <20220109011844.ztd7uwre6kb3dzwv@begin>
 <20220109012100.tpv42y3efylqgrhr@begin>
 <4b989643-9a9f-7bba-d729-d3248db49499@suse.com>
 <20220109102035.36bhefgq3y2xhdto@begin>
In-Reply-To: <20220109102035.36bhefgq3y2xhdto@begin>

--NMlOVhwKyQwqbuhjGJGgwAA1xuayIQkDb
Content-Type: multipart/mixed;
 boundary="------------A3D3AC09BDEDFC19C696E33F"
Content-Language: en-US

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

On 09.01.22 11:20, Samuel Thibault wrote:
> Juergen Gross, le dim. 09 janv. 2022 07:12:32 +0100, a ecrit:
>> On 09.01.22 02:21, Samuel Thibault wrote:
>>> Samuel Thibault, le dim. 09 janv. 2022 02:18:44 +0100, a ecrit:
>>>> Juergen Gross, le jeu. 06 janv. 2022 12:57:28 +0100, a ecrit:
>>>>> The read member of struct file should be bool.
>>>>>
>>>>> In order to have the device specific part at the end of the structu=
re
>>>>> move "read" ahead of that.
>>>>>
>>>>> Signed-off-by: Juergen Gross <jgross@suse.com>
>>>>
>>>> Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
>>>
>>> Mmm, but tools/libs/evtchn/minios.c needs updating, doesn't it?
>>
>> It will be, but assigning 1 to a bool is just fine.
>=20
> Yes but it's moved in the structure.

It needs recompiling, but no change. Its still file->read.


Juergen

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

--------------A3D3AC09BDEDFC19C696E33F--

--NMlOVhwKyQwqbuhjGJGgwAA1xuayIQkDb--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHauOoFAwAAAAAACgkQsN6d1ii/Ey/w
Ugf/Vzs55gFZiekuJN4uTx+SEB0SeBlCZrjZOp/7ub+gwjpDmP1ZbsYgSzpwnkZmCbXH0hlUm/rk
mKGHR+SQjpUbRyNkhca9+mTdNlkKHF8xK06ahruVDKeXeg7D7y8f0uwAdQ9DbphehxAbxcekLW2R
fIuX2UHhhCKEks7mmO8s9MwmZfCiUlwPdiOhCqgTI77irGlZISOiHdGuplNZKv/OuLLooDGHyT3Q
lhPmR5d4NvIIRwmWoVFCSX1ijtOG1QMbibTIh7PQE2ALa6HXWPsb4onjtzci73pMH+HfHKD4cczW
oAXTkJilHTjj0lJE8j/m0x4+OA8XDFL0PZ54d1XDew==
=BYwv
-----END PGP SIGNATURE-----

--ZV1lwR9v6xLvym9tYPIr0pqWWHtUFNgIK--


From xen-devel-bounces@lists.xenproject.org Sun Jan 09 10:33:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 09 Jan 2022 10:33:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255124.437221 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6VWF-0008Ii-Er; Sun, 09 Jan 2022 10:33:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255124.437221; Sun, 09 Jan 2022 10: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 1n6VWF-0008Ib-Bs; Sun, 09 Jan 2022 10:33:47 +0000
Received: by outflank-mailman (input) for mailman id 255124;
 Sun, 09 Jan 2022 10:33:46 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4WZq=RZ=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n6VWE-0008IQ-0e
 for xen-devel@lists.xenproject.org; Sun, 09 Jan 2022 10:33:46 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [2a0c:e300::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9e90a409-7137-11ec-9ce5-af14b9085ebd;
 Sun, 09 Jan 2022 11:33:44 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 6C2F317D;
 Sun,  9 Jan 2022 11:33:43 +0100 (CET)
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 XXzIjj3Tt45f; Sun,  9 Jan 2022 11:33:42 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 6A9A5174;
 Sun,  9 Jan 2022 11:33:42 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n6VW9-006FSd-Gi;
 Sun, 09 Jan 2022 11:33: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>
X-Inumbo-ID: 9e90a409-7137-11ec-9ce5-af14b9085ebd
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 9 Jan 2022 11:33:41 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH 02/15] mini-os: makes file.read bool and move it ahead of
 device specific part
Message-ID: <20220109103341.nmjyrkg2tiz3g4j2@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: <20220106115741.3219-1-jgross@suse.com>
 <20220106115741.3219-3-jgross@suse.com>
 <20220109011844.ztd7uwre6kb3dzwv@begin>
 <20220109012100.tpv42y3efylqgrhr@begin>
 <4b989643-9a9f-7bba-d729-d3248db49499@suse.com>
 <20220109102035.36bhefgq3y2xhdto@begin>
 <f5c0fb67-fefe-ac64-84a6-a8013ba0c041@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <f5c0fb67-fefe-ac64-84a6-a8013ba0c041@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 6C2F317D
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le dim. 09 janv. 2022 11:28:58 +0100, a ecrit:
> On 09.01.22 11:20, Samuel Thibault wrote:
> > Juergen Gross, le dim. 09 janv. 2022 07:12:32 +0100, a ecrit:
> > > On 09.01.22 02:21, Samuel Thibault wrote:
> > > > Samuel Thibault, le dim. 09 janv. 2022 02:18:44 +0100, a ecrit:
> > > > > Juergen Gross, le jeu. 06 janv. 2022 12:57:28 +0100, a ecrit:
> > > > > > The read member of struct file should be bool.
> > > > > > 
> > > > > > In order to have the device specific part at the end of the structure
> > > > > > move "read" ahead of that.
> > > > > > 
> > > > > > Signed-off-by: Juergen Gross <jgross@suse.com>
> > > > > 
> > > > > Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
> > > > 
> > > > Mmm, but tools/libs/evtchn/minios.c needs updating, doesn't it?
> > > 
> > > It will be, but assigning 1 to a bool is just fine.
> > 
> > Yes but it's moved in the structure.
> 
> It needs recompiling, but no change. Its still file->read.

Ah, right, I was thinking about other fields such as gntmap,
evtchn.ports which will need updating.

Samuel


From xen-devel-bounces@lists.xenproject.org Sun Jan 09 10:46:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 09 Jan 2022 10:46:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255130.437237 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6Vie-0001QM-Ly; Sun, 09 Jan 2022 10:46:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255130.437237; Sun, 09 Jan 2022 10:46:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6Vie-0001QF-Ia; Sun, 09 Jan 2022 10:46:36 +0000
Received: by outflank-mailman (input) for mailman id 255130;
 Sun, 09 Jan 2022 10:46:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n6Vid-0001Q5-NZ; Sun, 09 Jan 2022 10:46:35 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n6Vid-000708-Im; Sun, 09 Jan 2022 10:46:35 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n6Vid-0004Yv-9y; Sun, 09 Jan 2022 10:46:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n6Vid-0003Ei-9T; Sun, 09 Jan 2022 10: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=QtRXJM6fIqrhJJ3srBL+MJH8E4zBhNrx9iMf5x7YKvo=; b=3lvGQtu96Lk9owQL03HkU1O04u
	+1x/ZJn/u2yhx5/RQrbPbJ1BM+pfIfsnM+B6IbC7ZVeBStFZRMuBvTFQ5aMceCHFmkm7jSA5x83fq
	b47aqs+VxiBzRl391/3GdLlq8JDaXRHm3hhxnUcicf6OMbe3ejBULAGEpW4X+zUbR5mQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167642-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167642: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-arm64-arm64-xl-vhd:debian-di-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-rtds:guest-localmigrate/x10: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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-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-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-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=ced5685208f4525edc3aa86f41eeaee5ccc9fe31
X-Osstest-Versions-That:
    xen=ced5685208f4525edc3aa86f41eeaee5ccc9fe31
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 09 Jan 2022 10:46:35 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl-vhd     12 debian-di-install fail in 167634 pass in 167642
 test-amd64-amd64-xl-rtds     20 guest-localmigrate/x10     fail pass in 167634

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

version targeted for testing:
 xen                  ced5685208f4525edc3aa86f41eeaee5ccc9fe31
baseline version:
 xen                  ced5685208f4525edc3aa86f41eeaee5ccc9fe31

Last test of basis   167642  2022-01-09 01:56: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-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


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

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

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

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


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Sun Jan 09 14:25:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 09 Jan 2022 14:25:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255144.437248 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6Z7V-0004hB-Bv; Sun, 09 Jan 2022 14:24:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255144.437248; Sun, 09 Jan 2022 14:24:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6Z7V-0004h4-8z; Sun, 09 Jan 2022 14:24:29 +0000
Received: by outflank-mailman (input) for mailman id 255144;
 Sun, 09 Jan 2022 14:24: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 1n6Z7T-0004gu-MQ; Sun, 09 Jan 2022 14:24: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 1n6Z7T-0002Mi-Gx; Sun, 09 Jan 2022 14:24: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 1n6Z7T-0004qJ-6G; Sun, 09 Jan 2022 14:24:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n6Z7T-00025e-5r; Sun, 09 Jan 2022 14:24:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=SK6uJfs7Ud0l3r48U+6hbDDDavEs7CaixJzY6QgOjLU=; b=aIbp+OJibVXO7FG54pqSeM6O2x
	/t9YTClZVQAe1zKz3uzKL5SkmBJaL0bO+/IPflVTLnCtq4QIJqtO+gWwBo8uvSJ8Tayvyo0m+TjBJ
	3y5Y+3zL6gAzlM6HtgF6NRopgMDxayjskWB/qRElhfNGv1dOeF9gJ3kWKbyuKiFnPpGg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167643-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167643: 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-qcow2:saverestore-support-check: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-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl: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-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm: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-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2: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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-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-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2: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
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=df722e33d5da26ea8604500ca8f509245a0ea524
X-Osstest-Versions-That:
    qemuu=d70075373af51b6aa1d637962c962120e201fc98
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 09 Jan 2022 14:24:27 +0000

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

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

version targeted for testing:
 qemuu                df722e33d5da26ea8604500ca8f509245a0ea524
baseline version:
 qemuu                d70075373af51b6aa1d637962c962120e201fc98

Last test of basis   167638  2022-01-08 05:30:43 Z    1 days
Failing since        167640  2022-01-08 18:09:26 Z    0 days    2 attempts
Testing same since   167643  2022-01-09 01:57:24 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alistair Francis <alistair.francis@wdc.com>
  Bin Meng <bmeng.cn@gmail.com>
  Frank Chang <frank.chang@sifive.com>
  Frédéric Pétrot <frederic.petrot@univ-grenoble-alpes.fr>
  Jim Shu <jim.shu@sifive.com>
  Kyle Evans <kevans@FreeBSD.org>
  Mikaël Urankar <mikael.urankar@gmail.com>
  Nikita Shubin <n.shubin@yadro.com>
  Olivier Houchard <cognet@ci0.org>
  Philipp Tomsich <philipp.tomsich@vrull.eu>
  Richard Henderson <richard.henderson@linaro.org>
  Sean Bruno <sbruno@FreeBSD.org>
  Stacey Son <sson@FreeBSD.org>
  Warner Losh <imp@bsdimp.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   d70075373a..df722e33d5  df722e33d5da26ea8604500ca8f509245a0ea524 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Sun Jan 09 15:21:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 09 Jan 2022 15:21:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255153.437259 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6a0B-00026b-QN; Sun, 09 Jan 2022 15:20:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255153.437259; Sun, 09 Jan 2022 15:20:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6a0B-00026U-Ma; Sun, 09 Jan 2022 15:20:59 +0000
Received: by outflank-mailman (input) for mailman id 255153;
 Sun, 09 Jan 2022 15:20: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 1n6a0A-00026K-2x; Sun, 09 Jan 2022 15:20: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 1n6a09-0003Jt-S5; Sun, 09 Jan 2022 15:20: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 1n6a09-00067O-Ee; Sun, 09 Jan 2022 15:20:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n6a09-0004kG-ED; Sun, 09 Jan 2022 15:20:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=6wRaWpQ1bGF+O55Kh+lrBQdWTZ4Es1DIthnaFDxGm5s=; b=CM5jfQmkuvHc4Moi3w63wWkGDi
	sySuhNbayHVadfvncj9KYkYWCNplVxBXKw56yZPLA7JWS5AOaLqxNhgKc8gTufJ9PIo2dPBqNmERc
	tJKk1PoYm6y5/ajDDHMT6mamlrXbAuCAkIS/xV/ikFLS+AnymjsTLt6/KKeAhTnCqw2Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167644-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167644: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-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-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt: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-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl: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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=4634129ad9fdc89d10b597fc6f8f4336fb61e105
X-Osstest-Versions-That:
    linux=21f35d2ca83e64603b9f543b537491d333b69c51
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 09 Jan 2022 15:20:57 +0000

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

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

version targeted for testing:
 linux                4634129ad9fdc89d10b597fc6f8f4336fb61e105
baseline version:
 linux                21f35d2ca83e64603b9f543b537491d333b69c51

Last test of basis   167641  2022-01-08 20:41:43 Z    0 days
Testing same since   167644  2022-01-09 03:09:09 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Dinh Nguyen <dinguyen@kernel.org>
  Heiner Kallweit <hkallweit1@gmail.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Olof Johansson <olof@lixom.net>
  Philipp Zabel <p.zabel@pengutronix.de>
  Pratyush Yadav <p.yadav@ti.com>

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


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

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

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

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


Pushing revision :

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


From xen-devel-bounces@lists.xenproject.org Sun Jan 09 18:05:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 09 Jan 2022 18:05:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255170.437270 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6cYf-0000iB-WE; Sun, 09 Jan 2022 18:04:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255170.437270; Sun, 09 Jan 2022 18:04:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6cYf-0000i4-TF; Sun, 09 Jan 2022 18:04:45 +0000
Received: by outflank-mailman (input) for mailman id 255170;
 Sun, 09 Jan 2022 18:04:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/oUG=RZ=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1n6cYf-0000hy-7Z
 for xen-devel@lists.xenproject.org; Sun, 09 Jan 2022 18:04:45 +0000
Received: from mail-qv1-xf32.google.com (mail-qv1-xf32.google.com
 [2607:f8b0:4864:20::f32])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9f6671ba-7176-11ec-9ce5-af14b9085ebd;
 Sun, 09 Jan 2022 19:04:44 +0100 (CET)
Received: by mail-qv1-xf32.google.com with SMTP id kc16so12154831qvb.3
 for <xen-devel@lists.xenproject.org>; Sun, 09 Jan 2022 10:04:44 -0800 (PST)
Received: from shine.lan ([2001:470:8:67e:f1cf:3fc:7c72:5d])
 by smtp.gmail.com with ESMTPSA id l203sm2950171qke.44.2022.01.09.10.04.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 09 Jan 2022 10:04:41 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9f6671ba-7176-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=k+eEj6jZ9SwYT86CY9jQdLefEzfnqb021ofP7z26oIk=;
        b=QKk9sBLhDmK2s/13XBuNthm2Z6zF0jkCTx2Qdb/CAatIQRayfFADLVQ72uk9nDa2Ca
         qLZByTzcKDG3LRwre39aLDZ4kaVeUsbxqfldXRUb/RoH59jNY2z7V7w1XwiyLH8C1ylT
         +aBY2FWA6rXVSkXg10F0JoIGTdmc9eJTWRMFX628ws4tUSzqEQ5eZKySvqqgOG4AUOf9
         SQkZzQEwfOXZPg11hUO2SAzX3HMmQG0rtXZo9Dw8gWAVcJd9UL8kFYpoXhL6FVtCr/UU
         wnsPf5xT8UV7VL/daswUHK5eaXi01VEXw7NI4UCE+3C+Bprgx7LX6oUIXygnTnm1jMwE
         mhVA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=k+eEj6jZ9SwYT86CY9jQdLefEzfnqb021ofP7z26oIk=;
        b=KCOAPHAMsyvILVjBuuwyt1GLaRT9G6dL3bfS8PyFZLEnWrSOkpIaaF6/PIBTgSX3iH
         CnBIl/oHkH3KeEDoqvBYPRUlTE2z6rFTUUrJ3iV5ig06AB6wdG/c+mPC7sNBYjAua/3Z
         atUP2qwLMWZ28/ymOvu2Fc0qATNEj13FmCp6oeXbyv4RKP5ZgS/MBMMO/gfW5sHVywZT
         CCuakdAqBVRd3I5EX+JpIVKfi1k9gqbaa7GhAHNKa3Bg+8DE8wMVctQsEJ5qeodz2W7J
         R8AN/KGAAxj24B4AShpW+doe3Y/aQaPpRAzs5UvwfbyxvgTwu+Q2evGvSQLMuFx9N9Ff
         19fQ==
X-Gm-Message-State: AOAM530za7iX+dNIc/Mdf6nVscHrOk3R2CLOO+aGBlG3Z2n7j+eoriid
	r8UVZcS7kcIcHmvansOHm3GH2M3iSis=
X-Google-Smtp-Source: ABdhPJz/yDUN+Hj8KFSilR976nsAtQbiYuip7ChB/oFEZWUdle3OVO4XM+4ET6Sw86rYUiLJ051wrw==
X-Received: by 2002:a05:6214:da6:: with SMTP id h6mr3391131qvh.100.1641751482808;
        Sun, 09 Jan 2022 10:04:42 -0800 (PST)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Jason Andryuk <jandryuk@gmail.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3] libxl/PCI: Fix PV hotplug & stubdom coldplug
Date: Sun,  9 Jan 2022 13:04:36 -0500
Message-Id: <20220109180436.4112-1-jandryuk@gmail.com>
X-Mailer: git-send-email 2.32.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

commit 0fdb48ffe7a1 "libxl: Make sure devices added by pci-attach are
reflected in the config" broken PCI hotplug (xl pci-attach) for PV
domains when it moved libxl__create_pci_backend() later in the function.

This also broke HVM + stubdom PCI passthrough coldplug.  For that, the
PCI devices are hotplugged to a running PV stubdom, and then the QEMU
QMP device_add commands are made to QEMU inside the stubdom.

Are running PV domain calls libxl__wait_for_backend().  With the current
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 or changing to some other state like closing. If we are
creating the backend, then we don't have to worry about the state since
it is being created.

Fixes: 0fdb48ffe7a1 ("libxl: Make sure devices added by pci-attach are
reflected in the config")

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
---
Alternative to Jan's patch:
https://lore.kernel.org/xen-devel/5114ae87-bc0e-3d58-e16e-6d9d2fee0801@suse.com/

v3:
Change title & commit message

v2:
https://lore.kernel.org/xen-devel/20210812005700.3159-1-jandryuk@gmail.com/
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 4c2d7aeefb..e8fd3bd937 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.32.0



From xen-devel-bounces@lists.xenproject.org Sun Jan 09 18:10:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 09 Jan 2022 18:10:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255175.437280 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6ce6-00027r-LE; Sun, 09 Jan 2022 18:10:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255175.437280; Sun, 09 Jan 2022 18:10:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6ce6-00027k-I4; Sun, 09 Jan 2022 18:10:22 +0000
Received: by outflank-mailman (input) for mailman id 255175;
 Sun, 09 Jan 2022 18:10:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/oUG=RZ=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1n6ce5-00027e-JJ
 for xen-devel@lists.xenproject.org; Sun, 09 Jan 2022 18:10:21 +0000
Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com
 [2a00:1450:4864:20::134])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 67d0aab2-7177-11ec-81c1-a30af7de8005;
 Sun, 09 Jan 2022 19:10:20 +0100 (CET)
Received: by mail-lf1-x134.google.com with SMTP id x7so36418727lfu.8
 for <xen-devel@lists.xenproject.org>; Sun, 09 Jan 2022 10:10:19 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 67d0aab2-7177-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=TdLe/UsDeoWDHkHlHG077RHOXF/Je0GzlO1+IuEc6hA=;
        b=i3X1mn5eACmEucbBIooNBn6bjAXnvpf0ybqDNLTLTZuWEOxbDW1GzF/7DXFgjNILEJ
         P0kICo2aecz/aPq86cUAms2zrxXBj/20lxg2UMSYQ2fbzMi0XDhUFeUNQmzzk0fDQ7H1
         3hY0VPSRLlz9Qr21aa/wbL+/0jUF545/2QhvsDMbL+YmjYbFWXIcfinikxgt9y++n0Yx
         HIz1hqnCe98mxq8BuiAiinu0TgLpn9zQhamQ9Kfq3tU9OVstXhS4YN4t3oRjfDgKLQR0
         yOS26lfrR1dNpOFpDD/yQgnb+CufJn1eMS4hjfLY4vDHBgPn+BcKDWlISS1qz8oMcfPb
         3XKQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=TdLe/UsDeoWDHkHlHG077RHOXF/Je0GzlO1+IuEc6hA=;
        b=t/67VSqtiCt1F4+T5gY/ikaqQCOIOoyWC00laZGMwjrk0lucTjZeQEsB6QVcNju+5v
         i9k+wlZncG/V4BixHzsRQ93R5LwQ2GqFxuPAjwIGhhar3p4kiY4RxQ3f754BXyAxJhVz
         5aJOLidy0VRXhl93/9Ii4QdURqKgzruh3NqRSysDzWpPW9ATdx8LpDbG6pMRmgnzFHIn
         70GqCjExu08aAkPR9QVq7gApiFhvggMWLzIFJM04eM/wvmx+wp9le/jWy+StJb3yns+m
         7Nf8KopdYTg+12s3W4cUrahpkPFkr423LjBP2XSztzVd8F10q1sQge/Suh6nxis2Y7Bi
         NWMA==
X-Gm-Message-State: AOAM530WoNiyw1w4mAKIGBuJl/py8E5dSmyQWwYJmmm5DJuKcjZucC7u
	5YKZtoWGi1Qq60Eyk9KkLAj1jbna5xY8EhNtmT4=
X-Google-Smtp-Source: ABdhPJyn/lbtuFmdmluHsk9x6hIuIzqF5yzKd7hNO8qBuLdBjk6p90RJ9Mru/6b6tqTNuwCaGYNeF86PpV7TdpFnHUM=
X-Received: by 2002:a05:6512:3054:: with SMTP id b20mr62514152lfb.359.1641751819176;
 Sun, 09 Jan 2022 10:10:19 -0800 (PST)
MIME-Version: 1.0
References: <20220109100133.19731-1-jgross@suse.com>
In-Reply-To: <20220109100133.19731-1-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Sun, 9 Jan 2022 13:10:07 -0500
Message-ID: <CAKf6xpt3gfxFzwZgZfAseMHTg+X5xJ_CZNsOrYvEPtpMndFJ2Q@mail.gmail.com>
Subject: Re: [PATCH] build: fix make distclean
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>, 
	Elena Ufimtseva <elena.ufimtseva@oracle.com>, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"

On Sun, Jan 9, 2022 at 5:02 AM Juergen Gross <jgross@suse.com> wrote:
>
> "make distclean" will complain that "-c" is no supported flag for make.
>
> Fix that by using "-C".
>
> The error has been present for a long time, but it was uncovered only
> recently.
>
> Fixes: 2400a9a365c5619 ("tools/debugger: Allow make to recurse into debugger/")
> Fixes: f9c9b127753e9ed ("tools: fix make distclean")
> Signed-off-by: Juergen Gross <jgross@suse.com>

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

I just hit this.  Thanks.

-Jason


From xen-devel-bounces@lists.xenproject.org Mon Jan 10 01:23:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 01:23:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255190.437292 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6jOP-00018Q-EO; Mon, 10 Jan 2022 01:22:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255190.437292; Mon, 10 Jan 2022 01: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 1n6jOP-00018J-Ad; Mon, 10 Jan 2022 01:22:37 +0000
Received: by outflank-mailman (input) for mailman id 255190;
 Mon, 10 Jan 2022 01:22:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n6jON-000189-N4; Mon, 10 Jan 2022 01:22:35 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n6jON-00082S-Gq; Mon, 10 Jan 2022 01:22:35 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n6jON-0006Jp-4l; Mon, 10 Jan 2022 01:22:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n6jON-0003X4-4K; Mon, 10 Jan 2022 01:22: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=JdoV1eNkujJ4iBA+vspyNSUAedaOawsQRt+8LGwOvMo=; b=PbgPJNriAEDe1YbX9AGp+u2J88
	9a9Ar/xRHu18CM3Srak4EGVr+fRHWECDwbgB4M425Eyx9EK9UphHwmhy8a8ysn3Wtc4KJbOEPqZeu
	/fBaorTpUVoQ0W7RfiAWO76i0g2wGAN1CVJd/s+K+LnxMzuSv9aE5si2+wm3FyZRdjBo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167647-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167647: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-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-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt: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-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx: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-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=e900deb2482002a9c10b77c750f63fba928fe142
X-Osstest-Versions-That:
    linux=4634129ad9fdc89d10b597fc6f8f4336fb61e105
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 10 Jan 2022 01:22:35 +0000

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

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 167644
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167644
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167644
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167644
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167644
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167644
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167644
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167644
 test-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-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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

version targeted for testing:
 linux                e900deb2482002a9c10b77c750f63fba928fe142
baseline version:
 linux                4634129ad9fdc89d10b597fc6f8f4336fb61e105

Last test of basis   167644  2022-01-09 03:09:09 Z    0 days
Testing same since   167647  2022-01-09 19:42:18 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Arnaldo Carvalho de Melo <acme@redhat.com>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Jiri Olsa <jolsa@kernel.org>
  Jiri Olsa <jolsa@redhat.com>
  Len Brown <len.brown@intel.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Nikita Travkin <nikita@trvn.ru>
  Olof Johansson <olof@lixom.net>
  Phil Elwell <phil@raspberrypi.com>

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


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

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

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

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


Pushing revision :

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


From xen-devel-bounces@lists.xenproject.org Mon Jan 10 07:53:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 07:53:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255205.437302 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6pUE-0003rE-DK; Mon, 10 Jan 2022 07:53:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255205.437302; Mon, 10 Jan 2022 07: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 1n6pUE-0003r7-AL; Mon, 10 Jan 2022 07:53:02 +0000
Received: by outflank-mailman (input) for mailman id 255205;
 Mon, 10 Jan 2022 07:53:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6pUC-0003r1-LZ
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 07:53:00 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 536e7b4f-71ea-11ec-81c1-a30af7de8005;
 Mon, 10 Jan 2022 08:52:58 +0100 (CET)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2171.outbound.protection.outlook.com [104.47.17.171]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-29-xDJSBpFHOte-GK_6evwHXA-1; Mon, 10 Jan 2022 08:52:56 +0100
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.4867.11; Mon, 10 Jan
 2022 07:52:55 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 07:52:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 536e7b4f-71ea-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641801177;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=zVxBFdh4/+pAhvi37FyS/Afmf7oZKerIuZhj4V0JYuk=;
	b=X2bILDwpIpbjGFyVgo37ZdG5KejtTbN3oNIbRzRdcIwhGA9F5L4GEhXIXV0X82xRwtnpLG
	rFWjCurgBoV+quVTCwJ2g5hmNSgvJo4EoAOF99OIB5VUwRkHZkO69KJ3ixGq95zkWHokjr
	kYdkplQnSgJ7fNttmDgEHina/VZ+KP4=
X-MC-Unique: xDJSBpFHOte-GK_6evwHXA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dDkfvWj7tJ0HRjWJjL7uR5YFutQcHqS3Jxp1MR3EoL3y54as3E22tcF6UCc9QJxJDSZf9n6QWkHgxtr9GcFZjdsx6KVL9BdBJr4ITEv7dOzYDJ0JttV6NecmrsKOC9NQnYWCMFDCARTj+9aWurmuEkCbAupzXgYUfr6aRDXGTl0afHBIki+Wo43UsmPEVz8B3Qo+1hq56DrzMnajr1vT2Nt+kZNF/0EYw9d+7HTG5LYADTldW2AfDksR8FdklvKbDEXgQLE4dNweIFzCMoHZQ1sHx3m091N3cImuK+gtiu5V9632qEE9ydRLsonshURTFT3wYZS6gfL3atUsh7yV0A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zVxBFdh4/+pAhvi37FyS/Afmf7oZKerIuZhj4V0JYuk=;
 b=cnXZx5dOXoq2aSCyWKgNdiGa7x2PBUqEYeZY9+YGUG7Of3Au0C/bWYMl4YQa8OsN63bq1wyUXiue5mKd/MPf+DRdDpozeMyZX7GhOykvYrMpOwIQblhHppF2t274bF0+b2oNjHhfA5x6580TKPaimvYRnPlbJuiIp8Pr6nH4ClhhzMG8sMNJGkqnpVk0uAAdwiimot9llbXxJRj6NIZdHuHH4eAIIhvR2+tcprI/D6KMtFL0RvjilrIvJsVmMWuADE52/ySHjEKcQSLoy/EBGDHQfGAQl7pFbk4iPaqCWdaBVwwMKoSrC6yya4dRX+vPiOBvkX5gielT97vldSYDdA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c3b5ada4-a396-719d-79e9-6cae44b949e0@suse.com>
Date: Mon, 10 Jan 2022 08:52:55 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: xen 4.14.3 incorrect (~3x) cpu frequency reported
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: James Dingwall <james-xen@dingwall.me.uk>
Cc: alexander.rossa@ncr.com, xen-devel@lists.xenproject.org,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <20210721092958.GA2502468@dingwall.me.uk>
 <c9c6778d-9823-4b07-fb48-604acef1f3de@suse.com>
 <20210726123332.GA3844057@dingwall.me.uk>
 <06be7360-0235-3773-b833-3e0d65512092@suse.com>
 <20211105152501.GA485838@dingwall.me.uk>
 <20220106150809.GA856484@dingwall.me.uk>
 <78540c18-c54e-07e8-c099-d7bfd29bea91@suse.com>
In-Reply-To: <78540c18-c54e-07e8-c099-d7bfd29bea91@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR04CA0005.eurprd04.prod.outlook.com
 (2603:10a6:20b:310::10) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 927aeac0-5cc3-44f5-9250-08d9d40e35fa
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2445:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB24454BBDCEE7649B0AA5D253B3509@VI1PR0401MB2445.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:
	35XNOUilchfGwIMuq+W1UaH/w7JseMbXrKx3WLZw259rv0tE5/+MuV8V09XmaJkDVFyk9p6/MwbztXYE6ywMx7PzoP/X973Uh0UjW6vtePbp8GY30KaU6g53qFq4OSmAORaLZmxpKwJ5Nji18i2l4k2e4XJEYNUi4LTTY3AmPNqFTAWmeGxxJ8L6tG0j3VrHKDzPBnr8ZJRoMEKEsbeoE5j0JD4WKvKd1MuhKY2Ubh++VS9RXUOvH2FKIpY/P8PiI7GWpMSCAQFPPHgAwvRiQQ9MOGkiaAtPHasC00xQXPkUUmeATUMpT9exvP2WW3MKdQGeMOFJHnG5L19vD/VnMUE77mW1INpXayFbLLhNZoJgFBxiKbD3mDiaAyFZjt17TGCtVTKB3jq7ba0m8ElP1PfC8X8FusHhOXCHpkSRk/iB0kzbIYmbDRVy7I2FVzGffuuLrpZUbrH6sdbCb9mIhXazzH721RaFumXOnnpCNC+fEM4hC3yjBbt/x0vp/AFsKX3Eqn3tWOxeOUJ6QJwkXdUVwAqyR/Bqc/gn+jHvVSBaRhjWBePom3MwekhO7RlVBSATc3UiLwFbi96uChqyLW/35jU67FIVd/EJotMkgx2DHrHXSLp8TkZOnATdEkjj08Df2AxMl4yxgmJvddYwhiUO74b3KSp6gEXnWoc8k/ihvrA39Ba5eD3kJAJBlJq81912LHqb4+cBJGKHFCeCw+IXJ0xlV/ttsxp70Hc3Qu0=
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)(5660300002)(8936002)(36756003)(6512007)(6506007)(53546011)(2906002)(66556008)(66946007)(66476007)(31686004)(31696002)(4326008)(38100700002)(8676002)(2616005)(508600001)(6916009)(26005)(83380400001)(6486002)(86362001)(54906003)(186003)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RGcyYXhxL0FjKzVxSTcrVFNLOEE3cmJHeEt2Zk5DSVhGcUlZMHVIR3dLQzN4?=
 =?utf-8?B?VmtIbXg3MDdoTk1aWG03SWRDaURCb3dUY01pMCtDYmx1Q05KOUNZdjNLTGxL?=
 =?utf-8?B?eGRENjlPcDc1UDE2UllJdUs1SUo0VDA0cGdCN3FRb0srcWdUSjBXQm9xVGRT?=
 =?utf-8?B?WHNCa0g0QmpaQkxOdyt6OFRvdG9OdWhJV3V2NjJRb0FiS1QxZzIyb3IrdzdC?=
 =?utf-8?B?QnJibXlJaUZsZWkwNVZKaGJOTlNMOGdvTTdrbXNxOTdHbFh1S1k2SktqTUQr?=
 =?utf-8?B?Ums3Z3A0ZERYRzZDNnE5bStaM2ZhS0dxTFJBcDRadUxUSHpoWHBpYUNBTmw3?=
 =?utf-8?B?QWlKUERXZHVwV3NzN0l0cUR1N09JL0htcm9aekl6alZSalhoeXlxcmNnQTk1?=
 =?utf-8?B?R3hpYytEcFlKMjBvU0RYZFhqNHVtVFdhTDZqVXloTUlQbm5GSk9NZlkxU2ps?=
 =?utf-8?B?c29jSTQyWHZFMkYzejVtbnJQVklKb1JZNlo0MzlZZWpVQll0eWlCN2NHRitU?=
 =?utf-8?B?WEVsOGlZWG9tOTFEVVVmKzk0RXlkamVkZUFHdkRReTFDUXRQSkVRY1k5Wngy?=
 =?utf-8?B?cFZzTVozMGhCTHhsaW9meCthMGlVdnA2UmJxanlNOWNoUXFOS283Q0lBa2dh?=
 =?utf-8?B?dXZyRXY1VzlKOVlCdXRyNG4wTXgzZXBqRkJBY3dYYVc3amx3bTZ2U1RLcjhU?=
 =?utf-8?B?aDRYSHJia2VaUjJmVWpkeXgwTUcveCtReitEdHZtVnozczBHMnBIQnRQdXRn?=
 =?utf-8?B?RXppL05xNmJKOEMzVXgwbzNaQTVEeUx0b3RMMW5hcHFZRmJhN1pQM3l5dGxa?=
 =?utf-8?B?S203cUZwTFExL0tqSHBvTGlhVDc4dW9KODZqb2JKSU9BL0JkT0ZXdjBzaTdi?=
 =?utf-8?B?WktUVnJQRStBajdPQ2dabkhrL2VFYWdBVEdnODRxRGQvTmtTQkdtV1JrQjU5?=
 =?utf-8?B?RVQyUUpwRnZuWS85bXZHc1ZIMytoc2RFWW1JOVcwQ2RXVGZtVFM4UzR1Ui9R?=
 =?utf-8?B?bkpBbGZ3aVBTbjJuUGdBMWpGUWVmUkRNdkJIZXIvb3k2S3BNQzc2VmVodlhI?=
 =?utf-8?B?aWtTWStySlVmeVdQUksvNzNoa3JkemNWbFN2VEFsMEEvemdTMk8rd3plYy9p?=
 =?utf-8?B?d3dyZHlPRytydmJUTmcwUEZya2pVYzZlYmpjNFJSSGVGSDQ1VVVMOFphdHFC?=
 =?utf-8?B?Kzk3U21LVmM5U01NRGNURFNRTTliYm5Dc01rUW1MbW5kakE0VXRvT2VHY0Nu?=
 =?utf-8?B?cThQakh0MWM5dFNkTnp6aW5LU3NRMVpEVUkyNEJwdnY3ZXhGZnhUUzBKRmZk?=
 =?utf-8?B?YjVrQmlvTE1DUUhiSUZ6TitnZmg1WW45N0k3T1N4K3BrQysrOCtxN2pBRzRI?=
 =?utf-8?B?VjQzOWhFVGthNktzVHJUcjl0Ymo4UlBEanIwUWIvdldlQm95SXlZNGRHMFpP?=
 =?utf-8?B?T2xJdGlkWFZjODdqTk1PMHFqWHdCa0RoOXVuVi85bFFxcHJBaHJRaFRYRWZV?=
 =?utf-8?B?WUtlNjFlcndDcmw1VUE5UkI0YnRuRmdzTmxIdHNnTWp1UEFKT3dSMWhqN2VV?=
 =?utf-8?B?QkFlZGdGdHhRNmY0TGFzRkZRYzN6bUQvRFFjb3d1cnU2eEU4OXBrRGw5L2FY?=
 =?utf-8?B?Zm5BRUovWWUvaVJsQWZMcWpUZFpVb2JsUHJlV29jL3lkOENCNmx4bVA5cXN1?=
 =?utf-8?B?ekxKdGxKVXNUamN5VXRiNjdqQ1VPcHhGTzNkLzBYeFBVWWtQc0xldjVLL2x0?=
 =?utf-8?B?ajBEVnFILzF2ZDhLRGhRcjBXNEpYR3F1VUljYXlvT1MzWmhZeWpnZkFCWENL?=
 =?utf-8?B?ZXVCTU9TNlBkN1FWQWIxZUx4d2JnNm8vajdDOXQyMElPMTVpSExsYTI2a2pS?=
 =?utf-8?B?VDJNWnVaTitId21rQm52REowTjROQlBpZEQ2alk1K1ZxSFk1bEcwWXBLTzQz?=
 =?utf-8?B?NWZHbFVlc1NBMGRWSm1KcEtGYTR5cktmNHE4RGRoRFpOM3JNRlFoTHErcmtq?=
 =?utf-8?B?bEQ3VFpJU284aW43bitIUXR0eG5VREV1UGNlcjZmSXgrVmliYkUyZWxlS3VQ?=
 =?utf-8?B?R2ozVXhSSk5tNGNaTG05bEM2eWZ0eW1TS0Z1TE80U3hzRmpaUklaQWJHQlNE?=
 =?utf-8?B?bXl4SnR6cHNLNjA3WUsrSGJrWTMzcEdOUnpGbEFUTENpeHRKa054dWN0VXU0?=
 =?utf-8?Q?Ooui36x/3bmcyDDKAhm2+q4=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 927aeac0-5cc3-44f5-9250-08d9d40e35fa
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 07:52:55.0939
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: hOaMtG4dTOa2ZSCT1p65nqz+T1qzq/kYiRxN79TTGTZwifqeH4vwzEp+60oTsuwgtAO5DbudLpaizNcEWi6DzA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2445

On 07.01.2022 12:39, Jan Beulich wrote:
> --- a/xen/arch/x86/time.c
> +++ b/xen/arch/x86/time.c
> @@ -378,8 +378,9 @@ static u64 read_hpet_count(void)
>  
>  static int64_t __init init_hpet(struct platform_timesource *pts)
>  {
> -    uint64_t hpet_rate, start;
> +    uint64_t hpet_rate, start, expired;
>      uint32_t count, target;
> +unsigned int i;//temp
>  
>      if ( hpet_address && strcmp(opt_clocksource, pts->id) &&
>           cpuidle_using_deep_cstate() )
> @@ -415,16 +416,35 @@ static int64_t __init init_hpet(struct p
>  
>      pts->frequency = hpet_rate;
>  
> +for(i = 0; i < 16; ++i) {//temp
>      count = hpet_read32(HPET_COUNTER);
>      start = rdtsc_ordered();
>      target = count + CALIBRATE_VALUE(hpet_rate);
>      if ( target < count )
>          while ( hpet_read32(HPET_COUNTER) >= count )
>              continue;
> -    while ( hpet_read32(HPET_COUNTER) < target )
> +    while ( (count = hpet_read32(HPET_COUNTER)) < target )
>          continue;

Unlike I first thought but matching my earlier reply, this only reduces
the likelihood of encountering an issue. In particular, a long-duration
event ahead of the final HPET read above would be covered, but ...

> -    return (rdtsc_ordered() - start) * CALIBRATE_FRAC;
> +    expired = rdtsc_ordered() - start;

... such an event occurring between the final HPET read and the TSC
read would still be an issue. So far I've only been able to think of an
ugly way to further reduce likelihood for this window, but besides that
neither being neat nor excluding the possibility altogether, I have to
point out that we have the same issue in a number of other places:
Back-to-back reads of platform timer and TSC are assumed to happen
close together elsewhere as well.

Cc-ing other x86 maintainers to see whether they have any helpful
thoughts ...

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 10 08:28:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 08:28:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255219.437314 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6q2V-0007lV-DU; Mon, 10 Jan 2022 08:28:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255219.437314; Mon, 10 Jan 2022 08: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 1n6q2V-0007lO-AD; Mon, 10 Jan 2022 08:28:27 +0000
Received: by outflank-mailman (input) for mailman id 255219;
 Mon, 10 Jan 2022 08:28:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6q2U-0007lH-4x
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 08:28:26 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4609a73a-71ef-11ec-9ce5-af14b9085ebd;
 Mon, 10 Jan 2022 09:28:24 +0100 (CET)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2055.outbound.protection.outlook.com [104.47.12.55]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-15-Uw9iOWfXMuqb4TIyYB5O0Q-2; Mon, 10 Jan 2022 09:28:21 +0100
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.4867.11; Mon, 10 Jan
 2022 08:28:17 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 08:28: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: 4609a73a-71ef-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641803302;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=ALUSQ3JNQ/dzMFaU+G2/NxXu5zdAAVOMVL4X3ryPfGM=;
	b=DyTxMXBE4+t08AZx92dRCCkv8NhHym2F8t7sWhx1OaYJjrkWnr3kG5ISKh2PhSWfuV5nEU
	oYYERzhTCVsJohyhx4OTIrNq7gN7s6Bic+2BL7CC1zOU1hySpcvqw4URNYxH6aDUk27Pa/
	eE5+1PLlFZ0yeNulVA9K5F1n5iW3cso=
X-MC-Unique: Uw9iOWfXMuqb4TIyYB5O0Q-2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jkewRIstEdZq3mofxEN86rnynW/jKU1FSLIzC1087kyJ0b1lwlfB5b64USNEPKlvi2CPp6ARUBbwdiCmiT0C2nQiN5WJYHNway3iJGpuD9S3FJm7MpKIE1/03wKdqCOUouVTelHJjCkHh7e4EVdrcFnB+ynJXeR94TSjsmQW5Z0rFG2Ni3xBBhk2glKBBkVmhQkqXqyjmQivI76do4QVR8h/6z3tXHcXzyqRUa9mIv9Y2w6Q3uCYm0fFWk/jcGaeZjPjK0jofyRLbowxn8YXskrqnDu0v8hSWEnDcOWiaX8LFQv/CX3TJvDrjvjximzeti/Nm1A75509HEynvwvoJw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ALUSQ3JNQ/dzMFaU+G2/NxXu5zdAAVOMVL4X3ryPfGM=;
 b=AGoe0Xh4+M5K6LvmWXXR+mCsQGrF4jELuSOunSziLAvAglQQAdPTJcSH3lMBUIJr0WiVmaCyBTrQH7Wuvx9znJspqZLG67nMh97BYhk/2Z8tRsT7yJzu+UJ+Y5noi+nSmiQPEU0xmOWq0zrvfUvh8UfB1LAYK0EvCRx6X6o1NW/AClZ5Pw9cGBZG6760F4F4+eHuIsmV2fMU28DlDhPpCbwuSp/F86ocUTHzay1krBvJuoGlS5BMxa+r+8ZRjjEXDFPLKmwkjk9Y64rHvtttQHQR+ncXOltgaZ2d4HEtNQq1M2V8nHRsG80b7SovrDVreHyceHS7DlUoINyC+nR5/A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4303dc16-6804-5cad-67e1-56d06a3b7d30@suse.com>
Date: Mon, 10 Jan 2022 09:28:17 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH] libxl/PCI: defer backend wait upon attaching to PV guest
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>,
 Jason Andryuk <jandryuk@gmail.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>,
 Paul Durrant <paul@xen.org>, Stefano Stabellini <stefano@stabellini.net>
References: <5114ae87-bc0e-3d58-e16e-6d9d2fee0801@suse.com>
 <CAKf6xpt6+ZkXK5uXyp15UyA1J2AhtZWipW04M1xD1Yx4nx3jOw@mail.gmail.com>
 <18a2487b-f754-d971-2e89-93e54b7b951b@suse.com> <YdhaWaxFaC9rZTF5@perard>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YdhaWaxFaC9rZTF5@perard>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0024.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::15) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 79787276-4505-4c07-325b-08d9d4132691
X-MS-TrafficTypeDiagnostic: VI1PR04MB3117:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB3117A83F2AE1EB44298C9DA7B3509@VI1PR04MB3117.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:
	FgHdeFKS2ElJNUFInLNLL6ULbjIXxeT/v3xp/s53dfPnQGvF5Ul8pO5yaUV/AgrD2VkV2JqtNZ5kdwZgfC7zjDQPdJLJ+FROOmiu/jZZNnjWuS8/QFr4ka9nPDAhG6VTZDnfm4iRC/S2cvzImezPVLTg5ODHfxos1n/pN77JWNdTiUDsKLzbXR1Ky4Xc5BHJHVYRaQeBKW5J9FIJttujdNttjbIvCszm9tAbufhDISIcwskov2bAB+fYqzqc/EoIEB9ft9UUPS9GaJ+19PTjAmrcjd0VNqouu4KILh5dbbWsDbkhKs5H02bbn1/cP0rWPoipnVbi6CtrrIEC3a1is5Z2XsIvO83X1AGTMHoYI1+nDrc2+IZazZyAR3spXYvDRQbR/uhW1RHpHFrDHr39BCo8evsmuXoSLY3wsu9XxEZlxNxLBupO3YorEIqF6umyhHOr3cdvBDfxh7g3YSG7UnE+3QQEgg565qeZuXXAiPK+qCp2sEESQ33n9609Sj8f2PJzOiDCvg4pDSDQlHzauiXs02MmOI7ALWRnkhk1an2NMU/HZu4oWDInDvjy4x2Gw9NIvuV2ZZ6N5vfyIrbIrjCJs31L+3PgaKcGAa/TQym7L17ddKhuHfc1U6mimd0vYRTF7b2TOi64DEHSVo/GHIAPwQiq0eHj44hvb9/uX0V8kUBsFzZN9IyTN69kucTvMynMrfybg99tBci4zCYIDcmshDcO3QKUIEBdFX/mXqY=
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)(4326008)(86362001)(54906003)(66556008)(66476007)(6506007)(66946007)(316002)(53546011)(186003)(6486002)(26005)(2616005)(2906002)(8676002)(31696002)(6512007)(110136005)(38100700002)(36756003)(31686004)(83380400001)(508600001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eDhWMVBzT1YzOVAxdnZNVWJCT2FTRCtTbnZXL29tVytBa3B2NCt5V2x2TU9i?=
 =?utf-8?B?eSt5NFNRaWErdU9WWlFLUFVXUHBpclp1Q2h5YnE5TXhGelhSV1NFSFd1OTdQ?=
 =?utf-8?B?SjVpQ205Z1dhNzU4d1Q2d3BKWkJkQ0V5VzhqZFJObWVtS01zTFgzQ2h2NlM5?=
 =?utf-8?B?QlluN0VnNmV3eXFkNSs2SWZra2o3L0k5am4wclJXM3c2WHYxRk5mZk9BTnp1?=
 =?utf-8?B?aXdTTXNidjZVeERzN2dlUHJpUktBZ0ZCRnhacTlIQ1d0d3dwOUZuSnRxUmls?=
 =?utf-8?B?eXRTd0xaS1hHcC8weDVKMmpHcUhzdkxoLzhNWS9oYlFmdVlHVEhaSGVMdHd0?=
 =?utf-8?B?MkVOTFJta3Z3WkZlUkdtdENWQ25aQi9BdVBGQmc2SUxmeGp3N3dFNWg3VDFy?=
 =?utf-8?B?YUpqWHlRM0FybWtaRjk2Z1lLRjl2dGdqUkJBUGdtbUNJUVFlcWhuTllZZHR1?=
 =?utf-8?B?cjRkczFzejk4TzNIY1Nta0JpcEZKRUZTZDNyRzI4bEtLSXY3cmkvNElmNERB?=
 =?utf-8?B?TDE4UnUvWXEvMitKUXVxWU00NlVrREpzajdLNHlvZ2dBZEtNcVFUdUpoNHp5?=
 =?utf-8?B?MkhtNE5iS0Z2T1pnRkRmY0hlV3V3TS9CcGtCcHArU21Sd0NEOWZiTk80QWFj?=
 =?utf-8?B?b3l0MUtZZjJqODd6UUVUclVUd0ZDdldGMzBoWE00aHEzbHNMaVVTcG9TTTE4?=
 =?utf-8?B?NHlFK3BMNmQ1UnN4RjVSMmI4RTc5Q2U3TEpES3FjZllRTzRYRzZaU1hJUkY1?=
 =?utf-8?B?RCtLZmNuVEh4OER4UG5Fc2tjV2lQUE1OQXR4blNMbnkrTVlVRlZQZ3N1ajRx?=
 =?utf-8?B?TEdMeThtMTc5VVRVQ1NERlRzWmNaZVZUYWxYeTB2YlUyWWp6emZhNE1wOFM3?=
 =?utf-8?B?N1JuVHZYbFBhMk80N2sxQnRTaVNHYjdxQkxqWWVlUlJlVmZlT0Y1dmVWRGUv?=
 =?utf-8?B?VTFCczRIVDFCRkFyTWdWYVFlZVpadnpTQmRsS0NKK3ZGaEovWkZFNGJKejdB?=
 =?utf-8?B?UHg0Q1ptODBXVEFZR1FraGFiRUwyNXBrYUdxbldVemUyQThuYUh2UWdIa24r?=
 =?utf-8?B?dHdibjdGdTNqb3hRdENyV3lVdXNXRHF6NDcwUXRDREEzT1haSVdCTFBpTSth?=
 =?utf-8?B?L3h1WUF4NjRnY0hFVlgzRWZCWjM5Q2pyV0Z3dDBMblFQeWdUYm15Y0JMYUx4?=
 =?utf-8?B?a1NUTDEzbk5YNDdjRUdaN05OalVCWDJkSGZBS1BINm9uWERZb2F1ZFRWeWJv?=
 =?utf-8?B?Uk1nWmQyUmhBZlFuSW4zSkxnRnZYMy9lMHBtMCtxL2g5bDRHQkpBSUdmYUVK?=
 =?utf-8?B?OWhlU3ZTejBrWnNIWWlieFBjZ3pheFNTeWRkYlZPNkNHYWhkZjBmblpHSGRT?=
 =?utf-8?B?Y2UxV3ZnemFsR0lQMkpzY3dvalVOUXBuOTI4cWhldkxUTHpFOE93WlMzaWRC?=
 =?utf-8?B?Mk5JTUV0SWVRUkY2dmVuNG5wWUM1azJRV2xvanVtZ3VUdVlrS2VwclJ3NkdB?=
 =?utf-8?B?dVFRWFV0c3RieVBOZ1M0ZXZRU0N2ZWlkVktjdHZ1aXNMakVUbG5oNjJNZk5z?=
 =?utf-8?B?dXRzK3hLdGZDeUVFSkRNZDdhM2g1Qzc1Vk9Jek5wR1E0SXZ3RVRacHo4dG9Z?=
 =?utf-8?B?ME1DcG5RdG9KdVJCWU1lS2NoRjBwT0xYeFdOamJmNmQ4c1ViZzlqaHZERmhF?=
 =?utf-8?B?U0gyQmNOV0lKSHYzb210UVJ6YVBKb1FtTW9CemlxTnRFbTNMYnVUTmRHVVIr?=
 =?utf-8?B?dHduUStWNmdnWmdjMlRrOGVHaHQwNkdCWUQzMVhmcFgyaVdzdHlJUWJzeFd2?=
 =?utf-8?B?bEhOeFlpNC9rTHhQTitBcGlacE53OEx1N0JtTU1KMCtTM0d2UUZQVlVlNlE0?=
 =?utf-8?B?SUFjRGhKcmxRSlk1ZGFYdko4Nk42MXlnNWJrMm90NVBoekVtSzRBUkFzU0hn?=
 =?utf-8?B?NVlMS2dUZUtRSEdzMU82NzJaTmlSa0VXL2FGSmRqSDREL3dOUlQxeiszd1ZF?=
 =?utf-8?B?SkhORWlOZmdQQjdVUW15SEVmUWgxTitTTUFmei9sYlF6cnZ5NUJkUzZabUYr?=
 =?utf-8?B?MTBuMEhiME9yVEZWa3VxbEVEUFplOWdTTm5HWU1HVVVseERxaUY5WCtPQ08r?=
 =?utf-8?B?YUhTcGUzZGlJMFFKZmduRGxBajdiMTJtbmZmcm83bmVxRld2WE9sWTdtUnlY?=
 =?utf-8?Q?o9Ehw1Vk5QShFvSCZ34OdTI=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 79787276-4505-4c07-325b-08d9d4132691
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 08:28:16.7352
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: VFRDd92TDdEXQA26lkhZ9axiL7/aOhv5HcZnJQNbM/l0j0j4FAiCOvxnGpno/aWyONnQKDN7LhRd/IkGlYQ3Mw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3117

On 07.01.2022 16:20, Anthony PERARD wrote:
> On Tue, Dec 14, 2021 at 02:52:43PM +0100, Jan Beulich wrote:
>> On 14.12.2021 14:34, Jason Andryuk wrote:
>>> On Tue, Dec 14, 2021 at 2:50 AM Jan Beulich <jbeulich@suse.com> wrote:
>>>>
>>>> Attempting to wait when the backend hasn't been created yet can't work:
>>>> the function will complain "Backend ... does not exist". Move the
>>>> waiting past the creation of the backend (and that of other related
>>>> nodes), hoping that there are no other dependencies that would now be
>>>> broken.
>>>>
>>>> Fixes: 0fdb48ffe7a1 ("libxl: Make sure devices added by pci-attach are reflected in the config")
>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>> ---
>>>> Just to make it explicit: I have no idea why the waiting is needed in
>>>> the first place. It's been there from the very introduction of PCI
>>>> passthrough support (commit b0a1af61678b). I therefore can't exclude
>>>> that an even better fix would be to simply omit the 2nd hunk here.
>>>
>>> The first time a device is attached, the backend does not exist, and
>>> the wait is not needed.  However, when a second device is attached,
>>> the backend does exist.  Since pciback goes through Reconfiguring and
>>> Reconfigured, I believe the wait exists to let the frontend/backend
>>> settle back to Connected before modifying the xenstore entries to add
>>> the additional device.  I could be wrong, but that is my best answer
>>> for why someone went to the trouble of adding a wait in the first
>>> place.
>>
>> If things are as you describe them, then the change here is wrong: The
>> waiting gets moved from before the creation of the new device's nodes
>> to immediately after. Yet then I also can't see how else I should
>> address the issue at hand, so I'd have to defer to someone else; this
>> may involve undoing / redoing some of what the commit referenced by
>> the Fixes: tag did.
>>
>> However, since all new nodes get added in a single transaction, I
>> can't see why waiting for the completion of a prior reconfigure would
>> be necessary: That'll either notice (and process) the new nodes, or
>> it won't. If it does, the next reconfigure would simply be a no-op.
> 
> Well, the current code is checking that the backend is in a known state:
> "Connected". Without this, the backend could be in any state like
> "Closing" or other error, not just reconfiguring. We probably want to
> keep checking that the backend can expect more devices.

Perhaps; I wonder though whether that's enough. The backend may also not
expect (or successfully deal with) new devices for other reasons. IOW
some kind of check of the success of the "addition" would seem to be
needed anyway.

> Looking at Linux PCI PV backend implementation, I think linux reads
> "num_devs", takes time to do configuration of new devs, then set "state"
> to "reconfigured". So if libxl set's "num_devs" and "states" while
> Linux takes time to config new devs, Linux will never check "num_devs"
> again and ignore new added devices. So I guess it doesn't matter if we
> wait before or after to read "state"=="connected".
> 
> There is no real documentation on this PV PCI passthrough, so it is hard
> to tell what libxl can do. The pci backend xenstore path isn't even in
> "xenstore-paths.pandoc".
> 
> But overall, maybe Jason's proposed change would be better, that is to
> wait on the backend before adding a new device but only when there's
> already a device which mean the backend would exist. (It would be better
> to me as it doesn't change when the waiting is done.)

It's hard for me to tell without having seen Jason's full patch. I also
understand it has been submitted earlier than mine, so I wonder what its
status is.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 10 08:37:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 08:37:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255224.437324 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6qAe-0000mC-84; Mon, 10 Jan 2022 08:36:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255224.437324; Mon, 10 Jan 2022 08: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 1n6qAe-0000m5-52; Mon, 10 Jan 2022 08:36:52 +0000
Received: by outflank-mailman (input) for mailman id 255224;
 Mon, 10 Jan 2022 08:36: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 1n6qAd-0000lv-3v; Mon, 10 Jan 2022 08:36: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 1n6qAd-0000dU-0A; Mon, 10 Jan 2022 08:36: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 1n6qAc-0000Nj-M3; Mon, 10 Jan 2022 08:36:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n6qAc-0004jt-Lc; Mon, 10 Jan 2022 08:36:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=NTi325Vs0e4D+ELsazkuwoRLbSj0QlHR+MhSoCrsSx8=; b=G31vTw1hFDaNdm2XQiS+/pL36S
	G86F8Q0qSm/PT8uK3nVdsAs6Ab7WCu4rtwv4uTrzLduCt7IOBezY0PhlQwsZv4HjIjp9eeWuC2SvM
	RQopeVXQpYsriM8LEosRs3Bx1eGG6oHeVdTac/2NC5kz5EJbihPhWfGoYfCRUVV+0ywk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167648-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167648: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-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-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt: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-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx: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-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=df0cc57e057f18e44dac8e6c18aba47ab53202f9
X-Osstest-Versions-That:
    linux=e900deb2482002a9c10b77c750f63fba928fe142
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 10 Jan 2022 08:36:50 +0000

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

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 167647
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167647
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167647
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167647
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167647
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167647
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167647
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167647
 test-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-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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

version targeted for testing:
 linux                df0cc57e057f18e44dac8e6c18aba47ab53202f9
baseline version:
 linux                e900deb2482002a9c10b77c750f63fba928fe142

Last test of basis   167647  2022-01-09 19:42:18 Z    0 days
Testing same since   167648  2022-01-10 01:42:02 Z    0 days    1 attempts

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

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


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

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

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

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


Pushing revision :

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


From xen-devel-bounces@lists.xenproject.org Mon Jan 10 08:43:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 08:43:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255234.437336 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6qGX-0002HO-24; Mon, 10 Jan 2022 08:42:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255234.437336; Mon, 10 Jan 2022 08:42:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6qGW-0002HH-Um; Mon, 10 Jan 2022 08:42:56 +0000
Received: by outflank-mailman (input) for mailman id 255234;
 Mon, 10 Jan 2022 08:42:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6qGV-0002HB-KB
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 08:42:55 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4b07e218-71f1-11ec-81c1-a30af7de8005;
 Mon, 10 Jan 2022 09:42:50 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2109.outbound.protection.outlook.com [104.47.18.109]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-11-1YJNaNrqNvKyjBJWSNeH0Q-2; Mon, 10 Jan 2022 09:42:53 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB6302.eurprd04.prod.outlook.com (2603:10a6:803:102::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.7; Mon, 10 Jan
 2022 08:42:48 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 08:42: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: 4b07e218-71f1-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641804174;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=ZtUsklSb+M1LdlTEkS/ih+4NH1LQS8z1Xrr+PfO3BCQ=;
	b=WMSZT++bdk7ypQ01GhB/ot53YCXnVG+MKKySpHb7eeZVYWDjRVIVcSu/OHs7YAyO2Z7NnX
	JDVaKdnIBW5lTgDXOyCYvdiRq4/8Ujl/PbzBEFD3wmEzB8x+ouPq49hm046sQDPOvMXvs4
	ZI+H7E7E1i/ywqZgBSF3EdY05tqaWj4=
X-MC-Unique: 1YJNaNrqNvKyjBJWSNeH0Q-2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bgSkjCLxI/D0n6ZCKECVThzWEc66I4r8TbLGiJjjkxBRKFLaikcoqpbBBnmpPHaWIBJ676e7QLHHVsVQf60tlmHflCrBNp/6C82HpQQTmdR0f9/j71t3opevN00kL+VnDyLsAKGo91iiadGFiw601VJa+lQCsthcwKBhn1J42B5/H4EmMx+QcdGHNh3vYi34WcEvwH9CVwwtO7rxxHRACYi2qm4hEynXJMZgHE/C+7rIcySmsllsDMeYv+kL8H6VrLHS/z7zxYRhvOAHKEmdd91J9K8WNvuXqFq7EIN5FOqSGVUCDrrihINufgHWWnHFsTinAtMI7UtF1XA2wdm7cQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZtUsklSb+M1LdlTEkS/ih+4NH1LQS8z1Xrr+PfO3BCQ=;
 b=AJJDNe+hbXLntsDey5yhmUEle1DqCgv7pxVqExd05Tc6nHWeHli1Qz7kmb9dAjk67s6bLX/3rdQd3BmzrrBhPEOIvR9b8QUQQNqAIRr9bpjF3Mmo/6KCv4KXb+6B2b8viZtsZEEvnNrnEi0l8Pw5QbK7k0+emaXORw+6vXQ9bmFos/c4nX/NnGTtjvKMqZaqcWGfTHeyEWo4y3rT1DxyyiKxficNriD0F3bRbr7o9dM1hXMWaJcjZayI8tchIlyV8NYrgfrA8wO8uM7mFfjjUuT1UdfqB7HgrXNBr4xHDGRTPfKrytU5YFu+g6C/MZWVnqyRgMkl3P2v/QTb3iq+5Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1e5fb9e5-8334-9888-4bae-97564caa90bd@suse.com>
Date: Mon, 10 Jan 2022 09:42:48 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH] build: fix make distclean
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Elena Ufimtseva <elena.ufimtseva@oracle.com>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20220109100133.19731-1-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220109100133.19731-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR1001CA0046.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:206:15::23) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 21cb3a70-8afb-4466-66b7-08d9d4152df3
X-MS-TrafficTypeDiagnostic: VI1PR04MB6302:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB6302683BD47ED5F9E1D746D6B3509@VI1PR04MB6302.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:
	9MRX6513oivKdlCKYap58tF6F0B1Lf1jKXb2+Cc9Arv2EYVILJqeouAIn0N4zyvNy91dEPnAFHNco5B3H4J9OACgWWiKfSm/9Cu/lM+RsOZFHwJNaNfLw4MzrMYPaGBFQQDb4JPOhn+lUjDcZIOLmCr59uaqbvu8sERYfUSdVorCrIssPm8DPOYmOOHKl8zA3F9g5lJ2sISsqq40FRtsCZZU5TWdWeujK60aKN2R7FR2HxNEDNHZFDbCBY8/+6DGMNWTo7r75riFHlUakDXSfTzqvbq56JkoSDCREtA3dgOYt4oQ0bOkdXWxXIdRaD5L71QV+00jQdGNK7pcXWA+C5c/5Kb2HoBtX6ojdHbY6+7ldmL6lrvK4T1hIg/gw3TrGjdDYKDGGTk3GkKPfzSQxK7/zKp+oxK+bMb/wolSTcKYKACwL4QU9FtqEGwuNxC0XoiwYMsT1MLSrztTTjtl92SlEp8THxIkoNlmaJ8YHU//ilwGqNkmxBEeLmCfQ5lM/iLsIuFo3vUcvJBDTgmg2G5O2Awgn/tyRyobPtQ5Iq/3Il0V2lTgUDbsMcbfdV7eWpE0bPyahih8uP0uWfVUYwc0CMDmwnrZ6VIksFO0yRcjEn8XYXGiO8L+MwUnGOWkalONnZ+2ybKkH2LbqiENMFCB5PHl6xdWlIqCHmPDzrD4pCjCZN9Q1r1NWm9TId6vBB8ZDhuBqJN93zX+8aDEwMYDIlRa5vJh/y1LKIObm1E=
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)(6636002)(8936002)(37006003)(6512007)(36756003)(54906003)(38100700002)(5660300002)(6862004)(66946007)(66556008)(2616005)(66476007)(83380400001)(186003)(26005)(6506007)(508600001)(53546011)(31686004)(31696002)(2906002)(8676002)(316002)(4326008)(6486002)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UmUxV3ZJRXVQdHI3U1c0ZE9JRmhSdjdVaUV3NmZLcmpyT2N6Ukt5QUFFOGtJ?=
 =?utf-8?B?bStmaHJVeU5iWU9aR3NERytNZy9QSFl2VlpiRWFSRHByZy9JeU1sR3gvNWVK?=
 =?utf-8?B?UWdEVGg0Y2hmbzhzenFuajNLWHRLTlhDRkxLNTdOT3Vsd0pVUzlObVNWdUhz?=
 =?utf-8?B?L2tPcXI5RFAzMWNuMjZzZE1ZOWxFcDg2YWk4YkY0Rzk5enZ4WHJOOEVqL25O?=
 =?utf-8?B?SW8yTHZYN0E2WWRCMlRpbFFrakpFaGpCODZkZTBkMzVRdEdNUTc5NDBXcnNW?=
 =?utf-8?B?dE5qZk9XR2J5Mk1iWHVVZVl5M3RGZ00rWnJNeFBIaHU4NkU3MVZKUEttT1Iz?=
 =?utf-8?B?RlliSGdabTZSdVpnN1ZPcVBPbGM0S0FqTVA4Vkg5NXNzSFNBVkZBbmMwMnc4?=
 =?utf-8?B?ZXVucUI0ZDBUaVQ1WDRCYU9QcEdpdWdtb0dFTlJCb2ZJNXNNZ1pOdzhFeWhO?=
 =?utf-8?B?OWg1ZFdLNFJFTWl2b3pRNjRtelVLR3hDUXVYUGI2WDhCbVRSbDhZVFc0bW1P?=
 =?utf-8?B?NEowcFU0RWErUEJqM09pT21zVitOQUhTZS9GRkZlNUJKZzBZSXk4ZDhyM2F1?=
 =?utf-8?B?Ym5FMHpxN1lUc3BZQWdlNTlkbGhSbUFzZnZ6QjN0VVN4a3FDRFNSTng0cmpZ?=
 =?utf-8?B?bUlZU0RQZEkwVXhNa2RPVERBcUNYWHE0amVLL1YwdkQ3RXNzTENwQ29TQTd2?=
 =?utf-8?B?ZmpMZGF0RTZWa3NNMkNncEQybC9UMElMZ3FXZGlWMjZIcURGUG1tc2VEL3l0?=
 =?utf-8?B?UW1sbFVYNDN1eGloWGFTNTUrYWNKRGN0K1NxQUhtUlkybzlxNnpDdEhRV2dv?=
 =?utf-8?B?NmJ5SzFudDJLK3NGTFJ4eVZobDNqVFJEQmZxc3hSZDE1SjNFOGVZY255VHJx?=
 =?utf-8?B?d0U0b0J1OUtZQmtqWVNFeXZnSXNEeHZHK3NKVmZDOEVnRXJKTEl2Y20wOGRZ?=
 =?utf-8?B?N3JxbVVHSXhNNFlPUS8xdzVhZ3lCMkJ0QzBrcjVzZFduMEg4OXVlbmd1RHRV?=
 =?utf-8?B?WTVnbEhHa2V0dXA1c0lORTFaUTkrM2ZsSmRNZVdxLzg5UVAwUUI5S0UzaGNT?=
 =?utf-8?B?dEErQ3I3ZjZUWlYwMXZoMjlkOWljYU01Vll3M2VkS1ZHcmRxdHd4Y25PTERK?=
 =?utf-8?B?OU9sQW5RaFZLLzRTTk92WHZDaVFFUWdDd0hFV1YzNy9vYVpxMjI2R1dXRGtm?=
 =?utf-8?B?UTdKcFQ5VGpBTkNtZUJQZkkzTmdBUkxUVkpXZzRnaWtUZEVwazMyZVlMb3M4?=
 =?utf-8?B?TXEwcnR5cXhYclRQWWNrZVZ1dzhiUXUvcmFDZ2NMRWFxRFMrcGdPMXg3ZFln?=
 =?utf-8?B?ZlI3aytRZFdZUVZkMzExUXJSbWVURlFiOHNXYVZrSGM4c29YUWFDeFArWHZt?=
 =?utf-8?B?dCtJdmQ0RXpwNGp0akx4M0RCaXNlcXlBUERoMjhCcjlVbXJPd2U3U2F5Y0Y0?=
 =?utf-8?B?RFJ4ZUhJMmdJVStHV293VVRaZnVVNHpDSEl4YmwxeTR0aDRRY2tJWk1wS0FY?=
 =?utf-8?B?ajFXcnI1RldvM0NxeXFDMUgvZkdZemgzY2phQzFGNGtSaGR3UUJQazIzaXlB?=
 =?utf-8?B?aS9ObFBuNE9mdnNTYWhNZ0VuRmJ0Y25pOVBxRHRjN0krQ1BHM3BYTHl3YnlH?=
 =?utf-8?B?a1NoUG9qY1YyV0Zidys2UWNEZzhSS1NXa0lZZERFVEx0Uy95dmVhUlV4dE5P?=
 =?utf-8?B?dHlrWExrQURGWStoRnhyQXJGbElKTVFNQWtScFl5NGpqVzMyZ2I3YTQ0aWpZ?=
 =?utf-8?B?M2l3a29uWDNzNDloQ2hpZFlpUytDczcrbGF1cVFvRmI2anFRcmZEZzJQZDIv?=
 =?utf-8?B?UTcwU0dpM1NiT2R2ZWtjRVJ2RjJpRVhGNnBBVkozUWUyWDFNWTR1RFpZL3FU?=
 =?utf-8?B?RXExT0huN2NFeG9pRWZzaGIxK1VsbWMxK2VpeStESEVNOHBYd05PNVp4UW9Z?=
 =?utf-8?B?Zm5Fb1dCWHRqbWxIUkwwK3k3OUt1S0VWckxWQUdkV0ZjZmF4bHgvdUR3NG9P?=
 =?utf-8?B?d1ErNXdobjdrdzB5eEpIOEdHUk1CbVVmbWp5NHJrTEJZbFZMSTk4QXlUR3Bx?=
 =?utf-8?B?Y0Z6TnhJTjRrV0VVdGZleGV0akRtTzNXa2RvK0tuaXJ5RFZ1QmlCSlhwK0w5?=
 =?utf-8?B?TGMyWUlqWnFsK3RhaUY3WmhBanhJa3hMbFk1eW9xVDBHMG5HUGJpb3JEQXIx?=
 =?utf-8?Q?1OUr9G+Xq1q0WVDNvejFq4w=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 21cb3a70-8afb-4466-66b7-08d9d4152df3
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 08:42:48.1802
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zsoOVrn++eUFNwn7CHjrRyGynZx+1IvKHLowVC4aKMjOS9CsrNu/q2gvU4Bv+269bH0vS5K0c4Bu9HpZ53VoCA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6302

On 09.01.2022 11:01, Juergen Gross wrote:
> "make distclean" will complain that "-c" is no supported flag for make.
> 
> Fix that by using "-C".
> 
> The error has been present for a long time, but it was uncovered only
> recently.

And that's because the rule simply was unreachable before? Or it was
reachable, but only via special (non-default) $(MAKE) invocations?

> Fixes: 2400a9a365c5619 ("tools/debugger: Allow make to recurse into debugger/")
> Fixes: f9c9b127753e9ed ("tools: fix make distclean")

To distinguish from this commit's title and to also identify the affected
component, how about having "gdbsx" somewhere in the subject? (To be
honest, with this title I wouldn't even have expected the issue is in the
tool stack part of the tree.)

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

Preferably with the above taken care of (which could be done while
committing, provided suitable adjustment suggestions),
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan

> --- a/tools/debugger/gdbsx/Makefile
> +++ b/tools/debugger/gdbsx/Makefile
> @@ -14,7 +14,7 @@ clean:
>  
>  .PHONY: distclean
>  distclean: clean
> -	set -e; for d in xg gx; do $(MAKE) -c $$d distclean; done
> +	set -e; for d in xg gx; do $(MAKE) -C $$d distclean; done
>  
>  .PHONY: install
>  install: all



From xen-devel-bounces@lists.xenproject.org Mon Jan 10 09:05:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 09:05:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255240.437347 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6qbr-0004fC-TW; Mon, 10 Jan 2022 09:04:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255240.437347; Mon, 10 Jan 2022 09:04:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6qbr-0004f5-QP; Mon, 10 Jan 2022 09:04:59 +0000
Received: by outflank-mailman (input) for mailman id 255240;
 Mon, 10 Jan 2022 09:04:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=MsG/=R2=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n6qbr-0004ez-34
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 09:04:59 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 621dbac4-71f4-11ec-9ce5-af14b9085ebd;
 Mon, 10 Jan 2022 10:04:57 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 085541F3AB;
 Mon, 10 Jan 2022 09:04:57 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id C61E713A98;
 Mon, 10 Jan 2022 09:04:56 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 0/YMLrj222GoIQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 10 Jan 2022 09: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: 621dbac4-71f4-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641805497; 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=9nTcgjcMgSCYkGwBL+YZd1sKtKPFda2Eb08eVSIdzfU=;
	b=mSiVI/0DS0WoK/oFzej3FUMTBgEuaH6w0HGZxUHpwEg2NhnowwAFfG7UI/ldCHLpdxaGX5
	u0nM7c9KTUej7r9OYYMdNMyPxc0W+7oq4mi2qD/RFqxA/GC+UnlWPq50DYfFqmgrvyamEW
	YDRov/9df44zdbw/kAxF5QxS3Y0FIR4=
To: Jan Beulich <jbeulich@suse.com>
Cc: Elena Ufimtseva <elena.ufimtseva@oracle.com>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20220109100133.19731-1-jgross@suse.com>
 <1e5fb9e5-8334-9888-4bae-97564caa90bd@suse.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH] build: fix make distclean
Message-ID: <c445ec6f-a484-fa03-acf6-21687833ed2c@suse.com>
Date: Mon, 10 Jan 2022 10:04:56 +0100
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: <1e5fb9e5-8334-9888-4bae-97564caa90bd@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="PNicul23iYnHE6j96mHOd8qKxP3Nq2LUy"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--PNicul23iYnHE6j96mHOd8qKxP3Nq2LUy
Content-Type: multipart/mixed; boundary="VR5z5Ew72madZQZZpo6b5eg6jtViP3riC";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Elena Ufimtseva <elena.ufimtseva@oracle.com>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
Message-ID: <c445ec6f-a484-fa03-acf6-21687833ed2c@suse.com>
Subject: Re: [PATCH] build: fix make distclean
References: <20220109100133.19731-1-jgross@suse.com>
 <1e5fb9e5-8334-9888-4bae-97564caa90bd@suse.com>
In-Reply-To: <1e5fb9e5-8334-9888-4bae-97564caa90bd@suse.com>

--VR5z5Ew72madZQZZpo6b5eg6jtViP3riC
Content-Type: multipart/mixed;
 boundary="------------BD31594763EA478F4459526B"
Content-Language: en-US

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

On 10.01.22 09:42, Jan Beulich wrote:
> On 09.01.2022 11:01, Juergen Gross wrote:
>> "make distclean" will complain that "-c" is no supported flag for make=
=2E
>>
>> Fix that by using "-C".
>>
>> The error has been present for a long time, but it was uncovered only
>> recently.
>=20
> And that's because the rule simply was unreachable before? Or it was
> reachable, but only via special (non-default) $(MAKE) invocations?

I just hit the bug during a top level "make distclean" and looked which
commit introduced it. As it was really old, I looked for a more recent
commit which could trigger the bug and found the rather recent one,
making me believe that the wrong rule was never reached (other than by
a "make" in the local directory of that rule).

I didn't spend more time on digging out whether the problem could have
happened in other cases, too.

>> Fixes: 2400a9a365c5619 ("tools/debugger: Allow make to recurse into de=
bugger/")
>> Fixes: f9c9b127753e9ed ("tools: fix make distclean")
>=20
> To distinguish from this commit's title and to also identify the affect=
ed
> component, how about having "gdbsx" somewhere in the subject? (To be
> honest, with this title I wouldn't even have expected the issue is in t=
he
> tool stack part of the tree.)

Hmm, yes, the prefix could be changed to "tools/debugger".

>=20
>> Signed-off-by: Juergen Gross <jgross@suse.com>
>=20
> Preferably with the above taken care of (which could be done while
> committing, provided suitable adjustment suggestions),
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks,

Juergen

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

--------------BD31594763EA478F4459526B--

--VR5z5Ew72madZQZZpo6b5eg6jtViP3riC--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHb9rgFAwAAAAAACgkQsN6d1ii/Ey+N
UAf/XpY/6/1rVaeybkcd/NpjUcODMLk1X9Il/slnMK5u6X7Na6j48HEd+w4o10Dn0J13PTlDGyRO
DfQNrVqMB9b0aAVhZ3tiV+gVKk6VgtGl31DGCj2Pi0B/Rp0hXXwUOYD4OGDUePi+bCVTu/71TFhF
qUPd0DW/a+rJjPTNC4AqbY9RGnO0fz7XG+4RyW/1pv1g+37jXn2hS+CkMI/ajW/73KBHl6CV3s5x
Wx+CJ1P0bB6wmrkNhXxiclczBJ/dmEiSskYwtyKNaPueLBSOIfjeSciX4WPLMMDkdhc8DN8l+45n
7V8mh8vsIdNvlRKBryqAP0ttM2DngbIE3RNIhQYlbA==
=fvJJ
-----END PGP SIGNATURE-----

--PNicul23iYnHE6j96mHOd8qKxP3Nq2LUy--


From xen-devel-bounces@lists.xenproject.org Mon Jan 10 09:09:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 09:09:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255245.437358 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6qgY-0005KD-HT; Mon, 10 Jan 2022 09:09:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255245.437358; Mon, 10 Jan 2022 09:09:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6qgY-0005K6-E1; Mon, 10 Jan 2022 09:09:50 +0000
Received: by outflank-mailman (input) for mailman id 255245;
 Mon, 10 Jan 2022 09:09:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6qgW-0005K0-RN
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 09:09:48 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0eee73c4-71f5-11ec-9ce5-af14b9085ebd;
 Mon, 10 Jan 2022 10:09:47 +0100 (CET)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2050.outbound.protection.outlook.com [104.47.12.50]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-26-nCNvJ7NGP_S16_VHR2JQ7Q-2; Mon, 10 Jan 2022 10:09:46 +0100
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.4867.11; Mon, 10 Jan
 2022 09:09:43 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 09: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: 0eee73c4-71f5-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641805787;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=rZM+z2n28HazBA8+1o/v25/WfixGopx/O7PGY9uY2+U=;
	b=dPohYc+o1a616Sg02DKRyAT+L/NQpd+wpAFpuFNz/yf5CMX6Gt2iNSs0X5RYUYY7ufLm87
	VhlMQMVm6SS4KF7VfGx7uuJm/wuWywc5MYqrirGpRpBj3mqXycj/81eQqJKbCxljo8DOsF
	BznABLMzJFkAvfGAK7TZxGKERlJwxzY=
X-MC-Unique: nCNvJ7NGP_S16_VHR2JQ7Q-2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NdGtzeCOA2xhJDWF98pteO+cs4o+hIkBbRje007t8YSB7lmFI8ZE7bOTv0uf0ETUQjLHsWa0oKUh6QHD2MqucOe89cGef1KhvtDACqviFBohdS9ipS6GsvjWy53/R3aPkt+XxQBd+Hh1ud9A4mWsa9EvvtXMriwE4I1GMuuf3xXeHHEXOU7AKiCpyjAJekfgenISxLTXHK6+xkNCLblCjBtW2IC+kj4SZy50AumnJOiES9MFPAEv9uxDbFqnL45pJb87eiPnfkbDR+OCwhN5uZB+dRkNpNp9gjSK+ruRkYS9OTZzZfXQPowJsgs2afItsvN9iKpl4x8TLCvllIRSDw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rZM+z2n28HazBA8+1o/v25/WfixGopx/O7PGY9uY2+U=;
 b=GHNBCy6bngIhWFdKRsc1uMSUa1WpHFITnrhFlmpaQdnnuD8qaivjR2xDeioGCtjzArYUIw/Ho30Yu1VeY+FVJZRYSV471OC+vpdF+ty2oEaSQR0Ub9Zfxi6ZGMwAPnzkvmtQZaJXHy2H3hVcYHxDBEJlGMTzI809N7TbknqkBggEZ9cWVNpkzrSywKfQA387L2MYXDXlpWy4v/pC/G5Nm0a3JzDxWqCGSD1pdFz8U30thsLU5y2cVGuvO1eIYbXypZvlOt10EUz2ExkC9S7E7icPdhZaJ4cN3ZikOMsahgWyXzppdnddc+P8/L1N6pmUW+BJKzqjXSIBi4Gt4W0oog==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e6176548-2d32-05c5-1132-6a658c9e313a@suse.com>
Date: Mon, 10 Jan 2022 10:09:44 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH v3] libxl/PCI: Fix PV hotplug & stubdom coldplug
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org,
 Paul Durrant <paul@xen.org>
References: <20220109180436.4112-1-jandryuk@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220109180436.4112-1-jandryuk@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR04CA0045.eurprd04.prod.outlook.com
 (2603:10a6:20b:312::20) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 304963a3-feec-49ec-361d-08d9d418f0fc
X-MS-TrafficTypeDiagnostic: VI1PR04MB4384:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4384E5AFC8D7F4F2025A1736B3509@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:
	IHRDdKh4ONSEFo6d8Q8fXI/D0s6DirMUWA9t4Bpira2ZmDSnIJhYda8IG4eOgBPj5GTN5a3T5D1JqHP35bXmuL8sfu8qv32Avl0wyeionFPCCmMaB46Di/KVNjsUmcxCyfi1aCF7D083itp8BcwGQJVwn0MxzpJGdSytN6QgwvKMxitr/Por4JG9XHnddBN/TWNEkhnujcckzULU+mQh0ZwwKa+FtNp+aLdL4b9LKvgbaQrGB3UhHGLARVLT9u1ZJAu+bRVU+O2RM2iJ7H2ODN9SJ0c5fnhgMETHRUIlRNBPDmlCOG+XiWxRKsPmViBbYK99hWSob5wl84uqVidY1w0NCfWrVyAOFM1sOqRt0r7uUPTytAqr5KnJxlJ/kKrSMcHNr6GDihGgzaTwNEnj8TZUONnKQFxVqeq1MQlQMseevVeILDsBLWtW7yEpZQ32G9IVI+KlffO8f04HZuJaNU/T/j21ERRLHLnKCHg0wJNDpjfRmkOQBu+hVrEaRU3wSKjC5BL1HLhZRr0OpZDir6sxPObmTn3MnT/e05hMqaVzn+LUE5u6bXJgYr8J4V10dNamakYeDfpb600jNT/c2UdM5kvX6FdFnuV3GBFJGWjmsUTHdBFGxPADFm59XpHmEFsiPhY2CDvQtUClCepK07uGtQL3zShY6uy0nxvFmzCqVSmCzfNqMiB+BRIhZkutecWq5/ytdj6Kd/LNP+9HA7XLYn2/m5SGgcmGBak+T5fy9fE0/EdthrDe3qEANzDPP1pAlkEaWfvg4770ow112Vsuhug22BS/ab3O6Vk7+w0YS/mYtt0bLvirRqa+Iz6o
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)(4326008)(2616005)(966005)(31696002)(8676002)(6486002)(66556008)(66476007)(86362001)(53546011)(316002)(508600001)(5660300002)(6506007)(26005)(8936002)(6512007)(6916009)(54906003)(2906002)(66946007)(31686004)(38100700002)(36756003)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZkRmTzdRRzBvL1dINDhkbFRVMTlSWEp2S3Y5MXBMUlBQUTNQc3g5K2xPNDdU?=
 =?utf-8?B?L24wTkxnWUttVEZYbkpwN1NIZ2lLNkYyK29mbGZ2NlBKNGQ1Y1RhYlI0aWo0?=
 =?utf-8?B?NzdTV1FreklYRWhGaDNkbEhCRVRpWmRzcVJzU3RZdlFseFNmTHBwSE85cEpP?=
 =?utf-8?B?NmxxSVBNaUcvSDRQQzFsVDJXSDFQWHYwWVNmekk4U1Zha1lBbnVlR3RQTTQ3?=
 =?utf-8?B?bk1BTW1vOTJpbGNjdEIvcXhEajR6WTQ3REZ5UGxXTDFRKzZzOExJSFcrcWZm?=
 =?utf-8?B?ekVKUjhlbDNjUFZHZ2Q3UW1rbm1FSVpkTFlTWXNHMFl6UXkvQTZFV2t3WGU1?=
 =?utf-8?B?ei9aRGdPWWprL2daYlYyZzkxNW9sQlgxaHBIQSt3ditKVFA4R3NHdVRaZ3ZN?=
 =?utf-8?B?cm5lN2svZ1FGcHh3ZGdFVmNJRDgxeUJPV0VvMVRaa0VOYmwyc2dmZWVYdEtn?=
 =?utf-8?B?bFJyc0xMUDlKeFJMWUIyT1RYWHovTnZpYXFlcmhPMlVINEQ0d3RWQjYyY0Nl?=
 =?utf-8?B?SGc4M3BDQSthbUNEVmtDdFNNUDArYVVMZnE4NFdMSWNqaUt3SWI0MWQxNGdo?=
 =?utf-8?B?ZFlzcHpvc2VZYURWeVFKQ292TlhzWllVQUlmRHQxbGhHTWV6UEMwMzZjUlE0?=
 =?utf-8?B?ekllUnppS1MzZHBzdjlheHNMdG1uUk9SbUQ5NnMxdmR3QzRscWZYNzZtS201?=
 =?utf-8?B?NG04WnRmNVd4VWJtdVA3NlNObnlEaFhZZlk1N2tkVUt4OXBONG55TXhtNlVu?=
 =?utf-8?B?alN3T284Ynd1aGEzaCt5VE90TUNkR1ZJaDFBNXZleGNsVUhlUEkraEhOWW5D?=
 =?utf-8?B?dm5SQmd6cXRxRWdpcXN4TG5sVGs3UUwxWXFkUkdKeGxyUUdPUWdFbldCTW16?=
 =?utf-8?B?RW9IR0dyMVpJVnVtck1LS1dlejVubk5WYmRWd0VIWTFEdUNlS3IzY1Jrd3RT?=
 =?utf-8?B?bjVoU0VVd1NhZWFHTDh1c3hjV2hhcUZHbHMvYVBSRE40VkpSb1BNeU1DWUVX?=
 =?utf-8?B?V0dBcmZrQVlmWmlKNGtIV1R1dmdud1BDUHZYejMrVkJEeVE5SnBVbVlwbUVR?=
 =?utf-8?B?YjlIelRaSUJKY0lPa3Z1MXE5MzUvVHpEUG1tOE9tenJNVzZhejFpc2xFeHlr?=
 =?utf-8?B?ajI2T1hRMzg1a0F3TWdvMGFNK2xZY3UyRkVhQjJxUHZwUUlpMlJLK3daancw?=
 =?utf-8?B?Vy8yazc4RFY2aVVyQXRDV3ExNHRISFd2UzlTQ2Y1RnpDdHgvSXAyTUNaSEJJ?=
 =?utf-8?B?RDJNYWtYMGdkZEdCWGxOL1NZNjlBNGRGNHdsUFcvSjNwTi9WTjc0OEFXNitJ?=
 =?utf-8?B?RkljWjFkTmkzOG92N2FRNWNTS2R6QkFEMkdTVUVUWU42UGFJbnhzbk5LRkNW?=
 =?utf-8?B?QXd2RWZlbjI2RUkxRWhLVnFlMjB3QXd2cThNd0gxajRUWTdRUHk2d1NaWlVD?=
 =?utf-8?B?SFBQbDhRNmcxZExZMWhKdlZCM2M4ZVBkd2JHWEhxWVArMVBHMlJOcURTK01u?=
 =?utf-8?B?V1NOQS9ZTWJqbnFESjdRM1BkMWF4MjNxUERNaGV2b1RDcFVWaVd4aFBRWTZS?=
 =?utf-8?B?SXV1aGE2d2ptYUxPb3RtZmE4M1hZTTMwMmwrb3lEV0kyQURNclAyWjV0bEN0?=
 =?utf-8?B?Q0dXSk1ydHZWSFA4d1JIZmROSi9sOFBnUisvMzNtVmNKTm5kN1dlTUNZRGlj?=
 =?utf-8?B?SGllWVZNQ3hCcVNxSzB6TEZOaFNEaFBheVg1TEF4SFdUcVJIMjhRTk1vRVNx?=
 =?utf-8?B?eFRNeVNuWU1CYk5Mc2lKa2dlRmdpOGdvUmlrNkJVK1RGN2JOVU9jaWJ1SGoz?=
 =?utf-8?B?cEJGS0lObXY3RjUwY3BNTGdPRFdUcVYyS0xTQ0xOTldWRzJVOXcxZGVCcDF1?=
 =?utf-8?B?eGJXSmVhNnZ0bk8yd0lCSEZzVWgvS3lhckN0YXJNV09OYzNidS9BQ01wekxT?=
 =?utf-8?B?elZPWW1rK3pCNlpUQUx1UklHZTlKejZGUHh1OEdYaEVUSHpnMWE1MkMyeGhQ?=
 =?utf-8?B?M25nbDlSSGl4elJzN0VrSTkxc3JmZStiQmJza0tHVmhTczhzMWZWdDJRUW9y?=
 =?utf-8?B?VWZyYmp2QXlPa3pEQnBMTjA3V1BEUzNOMjJQMVdnMGE2TGxvT0JqelYvYU0y?=
 =?utf-8?B?aURUeU1yUVJMeDJncEV5Rm43NWRRN2wvVlRQMzhPeW9ySXJlaCttTXNMdVRM?=
 =?utf-8?Q?/FucyqxWv6Xo4FKP7pMcKHA=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 304963a3-feec-49ec-361d-08d9d418f0fc
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 09:09:43.8029
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: D1wN9XNwgH0pzuSIC6W2fruwl5Ws3+N5zIX7wEo1pjkqNuQ6ghIjUBdJIC8FmM34wCq0f+/D2yRqrcieeAPm/A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4384

(also Cc-ing Paul)

On 09.01.2022 19:04, Jason Andryuk wrote:
> commit 0fdb48ffe7a1 "libxl: Make sure devices added by pci-attach are
> reflected in the config" broken PCI hotplug (xl pci-attach) for PV
> domains when it moved libxl__create_pci_backend() later in the function.
> 
> This also broke HVM + stubdom PCI passthrough coldplug.  For that, the
> PCI devices are hotplugged to a running PV stubdom, and then the QEMU
> QMP device_add commands are made to QEMU inside the stubdom.
> 
> Are running PV domain calls libxl__wait_for_backend().

I could only make sense of this when replacing "Are" by "A", but then
I'm not sure that's what you've meant.

>  With the current
> 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 or changing to some other state like closing. If we are
> creating the backend, then we don't have to worry about the state since
> it is being created.

While I follow all of this, what I'm missing here is some form of proof
why the wait is _not_ needed for a newly created backend. Isn't it
necessary for the backend to reach Connected also when putting in place
the first device, in order for the guest to be able to actually use the
device? Is it perhaps assumed that the frontend driver would wait for
the backend reaching Connected (emphasizing the difference to HVM,
where no frontend driver exists)? Whatever the answer, it may be
worthwhile to also add that (in suitably abbreviated form) to the newly
added code comment.

> Fixes: 0fdb48ffe7a1 ("libxl: Make sure devices added by pci-attach are
> reflected in the config")
> 
> Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
> ---
> Alternative to Jan's patch:
> https://lore.kernel.org/xen-devel/5114ae87-bc0e-3d58-e16e-6d9d2fee0801@suse.com/

This answers the question raised in reply to Anthony's comment on my
patch.

> --- 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;
>      }
>  

In how far is the !starting part of the condition then still needed? I
have to admit that I've been wondering about the applicability of this
condition anyway, and your patch description actually seems to further
support my suspicion about this not being quite right (which is
connected to the fact that devices get added one by one instead of all
in one go, which would avoid the need for the backend to reconfigure
at all during domain creation).

Two nits:

With tools/libs/light/CODING_STYLE not saying anything about comment
style, imo ./CODING_STYLE applies, which demands comments to start with
a capital letter.

Plus, while I'm not sure what the conventions in libxl are, touching this
code would seem like a great opportunity to me to fold the two if()-s.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 10 09:46:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 09:46:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255250.437369 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6rG4-0002vE-53; Mon, 10 Jan 2022 09:46:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255250.437369; Mon, 10 Jan 2022 09: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 1n6rG3-0002un-Uk; Mon, 10 Jan 2022 09:46:31 +0000
Received: by outflank-mailman (input) for mailman id 255250;
 Mon, 10 Jan 2022 09:46:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6rG2-0002uh-57
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 09:46:30 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2e7f7c0e-71fa-11ec-81c1-a30af7de8005;
 Mon, 10 Jan 2022 10:46:28 +0100 (CET)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2056.outbound.protection.outlook.com [104.47.12.56]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-25-bWz2iLnbN0WWWsdFY68HMA-1; Mon, 10 Jan 2022 10:46:26 +0100
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.4867.7; Mon, 10 Jan
 2022 09:46:24 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 09:46:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2e7f7c0e-71fa-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641807987;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=SgXwhu07CnDAEXh/Zv3hpsftmmfGtNpclCZwbyVF8Jc=;
	b=kl0QL0EuB8wJxlcberki5TERb3achIAizaHqsEm9ibN0UKsCddHqlT/alN4gVo/bbzJKsi
	rKB6MUU1FmFxYI12mTWo501pt/QjqvlF2QE9IOD6vrnVbjqbwjjmEOQY+wvCy8IQ7vdg8L
	n6UZ66HgveAykZHqwq+64XA5ZgCGNR0=
X-MC-Unique: bWz2iLnbN0WWWsdFY68HMA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VpPROOWR5fJ4ZYZkA8PUvJr51rFBAPp0vCSoRuFPkHAloguiQDcsg9qJB9iOpzH6WlgJ6Uvv+KA0Rdub/m2xXr+sPCqbRlMRECbyE9B5NJx7t5OgulPMs4He9hbUUwrR0CMPMGN2n23cUAjUsLov+eekxs1MXuhuPh5YBk3st04r5ehx+Vqdy/wJ5LkyF87HDVM1lMXDHbcmcRcxbEh/rbZsySsNobzLs0Wb3Cu0GpXGLm6iaI5qL5elL9F6xb+tyfauP5wc60c3Rzy4UKPEHLDC3rzJ9dYscsn1hciFucnD57Vjzc2pNmUU2T4uQQHnKR/8Pmy0B+Cja8thSuRd4w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SgXwhu07CnDAEXh/Zv3hpsftmmfGtNpclCZwbyVF8Jc=;
 b=EEjIgD48F+yOMtRXlz1Vy9uOl7dNqBC6xGyTlwfu1CsZCzs6Xn+QWk4l4xHWCahvzuSZzaP0afruFqfA9PwSbTADYZk26JMyELDH9lQGshftLbfqX/pHuxKSLjvWX7Z6LiJkZjGgd0NOOtB/AsSjLe6bH7M2KqvFn2nCPGJYUnBo3N2EQJo5DgVnyal5y83xKnXcqGpf3I8hsmFYg8cIv+f09ctREk8Tbhab/vt8YNsifhyCIlg2FBPbifh24gpP9gTViWa/3vbI1o/ZstdlBP33RQk1+WO1KHg5p5BDss+iqr9hweevvnF29YFTp5sq7p/p7xYqfneu0A3cslU+CQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f3baac82-0eff-f885-f03a-ba987c8e12b6@suse.com>
Date: Mon, 10 Jan 2022 10:46:21 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [XEN PATCH 1/7] xen: introduce XENFEAT_xenstore_late_init
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: julien@xen.org, Bertrand.Marquis@arm.com,
 Luca Miccio <lucmiccio@gmail.com>,
 Stefano Stabellini <stefano.stabellini@xilinx.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop>
 <20220108004912.3820176-1-sstabellini@kernel.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220108004912.3820176-1-sstabellini@kernel.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR04CA0012.eurprd04.prod.outlook.com
 (2603:10a6:20b:92::25) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6da0db27-2db8-4ca2-7064-08d9d41e10b6
X-MS-TrafficTypeDiagnostic: VI1PR04MB5472:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB54725386CFD72BD358B3AA36B3509@VI1PR04MB5472.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:
	BjR2p0M/d/0eOD6wnNiNvyIZ/AejSya0GyQcGBZEJthnk5MC0Zsv7V1URCpcsqVGIugvu0pkpNU08sWNiPAY/jY08AqZzAFdtUQeF93KYUYsT+Ze0ox6VotbtUMPl7syYVzoC5BnFlA48zPDmk4lHggOp0peZApajafnpwWGTyTdInCCQ1LIgxG/R2Cn0oE2iQ/HtnTMN00QgDGT/JZda0QCp+8Brplle6WNNa3hrS/VjhiQqcN1aGXsnJ0cA+ig1gMvgTYnM1rNzdMXlX8wWVfnFRsXTV4/dmBzogQboLouE+bFWHB6OmhzKqbuu3SAT+hSMDe052HYOyOH5zRJsR9JH0BPHui173IeKG9hJglIGu9tIwIf7CuH58/gwHAE/fU4djxHUbkH5RKrkKw4R+YJV9V0cwdzz2Fwl2Yy71oxTBaCD7ezFGNFy9I6oL1whYXlkeSn8DSDQV7t7VlrJhtqC/RCm9nCzkZHHTnpmmLzCKTneJd0dL76gGDnFZmYq0eZ91cF8/xl+ZyhotCp2jLl9lnU1vyHr60zG2t2sNcZyYLDp0FZafBhQFl1Wj7B3h7xpKznl3+k2eLoVVsvuuE1gFxzbsecV5oFJ4G8FeEroUbJLSKfK+5bb5/lagpXoj1BgEQ+ttA1aqrvDBFuSzRT63D2Xav6B8fpKEcuhimGQyOM8SBSbS+f6PrHDPksFagrEhojUhbIbABg5oryVWHo0tMC8LzmDi1rqFWC5R4=
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)(66476007)(26005)(186003)(7416002)(6506007)(53546011)(6512007)(83380400001)(6666004)(66946007)(66556008)(31686004)(86362001)(2906002)(6916009)(31696002)(316002)(4326008)(508600001)(36756003)(6486002)(8936002)(54906003)(8676002)(38100700002)(5660300002)(4744005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z1VCWFZrMkJ4Z2ZYaGxoeHE0alJmaUpBQWFDYVM1YmJOYW5iSXA1K0UvYW9B?=
 =?utf-8?B?REUzZnNUa2JQU0MvZjdaMndQd1d5V04xU0FRMGpiYWJxdUZWbFdlNE9xcFkv?=
 =?utf-8?B?QmpqZ0xJQ3dQdDBzTnQ5L1dta0tUUm1qMEgzdkhxOUYvc3FBQXRFcnZJdlRj?=
 =?utf-8?B?TU5KUktjSUhES2VGSEVJeWpEOWxWK09GZzVZK1I0Q2d0NzhYK0QvU0tYMTg3?=
 =?utf-8?B?RXBHMjlPR1ZDTVF1WUZpeEJOcFh2M1Y1OHQrWTBtdTdPNm1uTTV0N2tseFhK?=
 =?utf-8?B?SmJ2OU5wVG90SFlmUFRDVk5uY085SGIrV1p1dThwMHR6MUFmb2FvWG1BWVh5?=
 =?utf-8?B?ZWVuR1kzcmM2WkFsV1VFV0thSUt5blBzQmpTellGN0xWTE1VMGRXcjd1bWt6?=
 =?utf-8?B?VzRUWlBTd3ZvRmdEZFMwbFJ5cjk5T0F0dnk4bDdRNnVnMXhGS2ZqTWZOVkE2?=
 =?utf-8?B?OFlmZEEvWDczSmhCSVFUYjNDaGMyZi9teTVlLzJpVzlXK2FWY2ZheWNIazE0?=
 =?utf-8?B?aGtvSm80NmxUS2xLRVN2NktoTWI5RDlxU01uZU0vVHp5NmhUc2c0cDd5WmlL?=
 =?utf-8?B?K0R1Tm9YSXdMb0pGUjdLZW5hWVZDV1NGbXIrRDRtNlZENXY0STNydFp2UVdN?=
 =?utf-8?B?ZjNpWHJkN1VLZnlVTkYzbEVhOVM0UDJIZmFReEovR1Jnd21mWDFRa2ZabzZD?=
 =?utf-8?B?M3g0NU52YnNGVEJ3aHZaQ2dMTWZMZ253YUQwaDJBbVhpM0ZmaGprYWZoVXNY?=
 =?utf-8?B?WDI2bm0wQm1INWhweTRSYzh2L3BkUXVwelJLL1c5am5zVk9DT2FLL2hMUmJX?=
 =?utf-8?B?MUhUQ2VsRFdtVFhKYTR4QWVjVkxnOVBDK3hFNDlHNkZIbTJCSkJ0WWQyWk9n?=
 =?utf-8?B?R2wzMlRHdm0yU2Z6cGhWR1N4YkN5WWtaQWtLbFlnTXc3NFN5ZzlXMjRxeVlW?=
 =?utf-8?B?bGltRW8rMzJ2ODFTdzgxZHQ0OCtvcXA3aG1VMllqSnh1QnNJYzlRczFXV0ti?=
 =?utf-8?B?eVNXVmRIK0NadDhCaW5aTlBUcjYwek0yQlpTTWR5QmZON1FhSHVrbktiM0Iy?=
 =?utf-8?B?WUFWSzJadEpMdkJsUzRUWDJhaDIxdjRyOUhQL29QNnZ2SGwwWUtKd3F1Ylcr?=
 =?utf-8?B?WUdUbHIxcTBjc3YxenhkdW9ObGxSajgvRlI5aVpaMU1SMXozeHV2QWIyQVJW?=
 =?utf-8?B?bWNCTkhYQTQ0enMzZ29BUlRCZGtUNUJEVmRvalhiMDY2MTBMOExQMEpEVmFM?=
 =?utf-8?B?b0tsTDNuTEIwSjAwRk5nYTh0RjE3YzR1ck9ocThKRGNZM201R0lmSWp0UnpC?=
 =?utf-8?B?OHppQzVhOE4xSzFHU2JuLzh4d3AzUnJqWjNjNTB2Zk5pcVJFekIrUVRzWTZa?=
 =?utf-8?B?YkxMMmxtYjZFTE9xblhUUHJ2UXpOb1hzZ0pqdTlRQ1J2QzJrd3U0QjVLYnFr?=
 =?utf-8?B?VklXMDFialA3dE5yTXhPelp0eUVaQytocGcvTzZ0YXpGUW4zSEtnZVBCcWtj?=
 =?utf-8?B?SHBZU2pRS3I4K2FBdytMdUdSc21sTTk1aTVzbWhnUnRhUE5salNLZzZYMmg1?=
 =?utf-8?B?WmNXZUJTem9lWjdMS2V5OVdFUDNjMHE3TjdCcEdEK0J1bHRpVHZodHBGQVp1?=
 =?utf-8?B?Z0RwREJkSGFKdEZsL2ljOHJOMGRQQWdzNnJTN3lMZDlSVnRkNWhKeWY5Vkh2?=
 =?utf-8?B?MSt5a3kyWmlHMTEvOHFsblFzZDJpUTI5ZEhKRFpKZnVvZS9Ubjh2L1ZsQmRE?=
 =?utf-8?B?ZFYzb3plRTVvNittV2o5a3ZzOVd0aWUzZnUyamdIZHBQVE5Sb2FDbzArVnZu?=
 =?utf-8?B?WG94RWNUbUJGS0R6eFFzWHlTa1c2QU5IU1BpejRLbU0xbGJjeTdRUzlZZnZw?=
 =?utf-8?B?bW9BUDhHN0c4V25XQzhScEVnMllYTWIvQnMrK0NWMFp6c2lDMmRMVk1CREVw?=
 =?utf-8?B?M3ROL21SRndHYUlHZ1o2ejB5WG1CeE5SZVZ5VVRFT3h6RVhZQVpVYkc3U2hN?=
 =?utf-8?B?cXY2cnIvTFFhb2hONDNLYmtINXJ5QVlWSUtnTk9YYTdrVmtlMFNZc081K2RJ?=
 =?utf-8?B?MEpQVGExOUp0SUFHMmp3dkRyMkNYTU56ak1ja1dTcGs2Q2RQb0pSNW1PYVpG?=
 =?utf-8?B?MlB5cytZemt4b0dHenkxYithUkJsME9hYkpLNVpTN0o2MnhlelVVazJvMGI0?=
 =?utf-8?Q?I/KR8t4BJv5YngUF6bhynm4=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6da0db27-2db8-4ca2-7064-08d9d41e10b6
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 09:46:24.5394
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: aDC/egeC+O8kCqpqy4e7DQnq8q6Z6yogZ9PSkOspZLMCXz876LjonCa/rk4ZuseOvOYXv5DpxQib/Rep5v123w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5472

On 08.01.2022 01:49, Stefano Stabellini wrote:
> Introduce a new feature flag to signal that xenstore will not be
> immediately available at boot time. Instead, xenstore will become
> available later, and a notification of xenstore readiness will be
> signalled to the guest using the xenstore event channel.

In addition to what Julien has said, I'd like to point out that Linux'es
xenbus driver already has means to deal with xenstored not being around
right away (perhaps because of living in a stubdom which starts in
parallel). I therefore wonder whether what you want can't be achieved
entirely inside that driver, without any new feature flag.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 10 09:57:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 09:57:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255255.437380 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6rQp-0004RH-2n; Mon, 10 Jan 2022 09:57:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255255.437380; Mon, 10 Jan 2022 09: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 1n6rQo-0004RA-VK; Mon, 10 Jan 2022 09:57:38 +0000
Received: by outflank-mailman (input) for mailman id 255255;
 Mon, 10 Jan 2022 09:57: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 1n6rQo-0004R0-0P; Mon, 10 Jan 2022 09:57: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 1n6rQn-0000zz-TL; Mon, 10 Jan 2022 09:57: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 1n6rQn-0002oT-JS; Mon, 10 Jan 2022 09:57:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n6rQn-0003Mk-Ix; Mon, 10 Jan 2022 09:57: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=ec20NNekrUspC22nbMxs8XsnM0OCXd/2vAqVL3Piib8=; b=xJHXocdEC4RJMjrt+PTuCgypIR
	mptnxF5DD4rVymm+QjpyozSOx4rOVlQvbozzH0YkktbqsAIIwd4OuiPDrZa/FuoIUh99itSgE+0ev
	zAPI/O3cXsfose8IpgGl9XTBjVUFAHlAAKjm8HAnitmfKSvMb6kTPqsOabYIo+AYlqlw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167651-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 167651: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=6062002bd5a394fef46243dd866860c3480d918e
X-Osstest-Versions-That:
    ovmf=14a731096d388aa20c0afa9fe5af55c998082efb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 10 Jan 2022 09:57:37 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 6062002bd5a394fef46243dd866860c3480d918e
baseline version:
 ovmf                 14a731096d388aa20c0afa9fe5af55c998082efb

Last test of basis   167636  2022-01-08 04:11:46 Z    2 days
Testing same since   167651  2022-01-10 07:41:44 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Craig Edwards <craig.edwards@dell.com>
  Edwards, Craig <Craig.Edwards@dell.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
   14a731096d..6062002bd5  6062002bd5a394fef46243dd866860c3480d918e -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Jan 10 10:00:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 10:00:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255264.437392 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6rTU-0005rw-Kd; Mon, 10 Jan 2022 10:00:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255264.437392; Mon, 10 Jan 2022 10:00:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6rTU-0005rp-Es; Mon, 10 Jan 2022 10:00:24 +0000
Received: by outflank-mailman (input) for mailman id 255264;
 Mon, 10 Jan 2022 10:00: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 1n6rTT-0005rc-76; Mon, 10 Jan 2022 10:00: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 1n6rTT-00018D-5V; Mon, 10 Jan 2022 10:00:23 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n6rTS-0002wt-U9; Mon, 10 Jan 2022 10:00:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n6rTS-0003ue-Th; Mon, 10 Jan 2022 10:00: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=8Q/e+JXYC4S23b57RVbMyh24s+/WdGIuD0FeZ3ModKY=; b=jnn3ORjccRaVCCC5vA8Nm9P+3V
	tCFgfYQhEg096EI2hj2SNZvqoRWXcxmz6e0q1LtbAKKzzxdPQxp8+wSyc8XzBhZ8riNwtyQ+iWlju
	ADx9s82zfzdCvUYwr4eBFYzs6bHbHkQoxtYxsQANH2+4LrNOWpIoUYLV9hCknuxqK2yk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167650-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 167650: 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-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=82d514084abbcfd45e5d04a0f9ccc519356b8f61
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 10 Jan 2022 10:00:22 +0000

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

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-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              82d514084abbcfd45e5d04a0f9ccc519356b8f61
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  549 days
Failing since        151818  2020-07-11 04:18:52 Z  548 days  530 attempts
Testing same since   167637  2022-01-08 04:18:53 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>
  Ani Sinha <ani@anisinha.ca>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  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>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.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>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  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>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  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 Chevsky <nchevsky@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>
  Or Ozeri <oro@il.ibm.com>
  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>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott 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>
  Stefan Hajnoczi <stefanha@redhat.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>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Дамјан Георгиевски <gdamjan@gmail.com>

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


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Jan 10 10:25:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 10:25:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255274.437402 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6rre-0008NL-PR; Mon, 10 Jan 2022 10:25:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255274.437402; Mon, 10 Jan 2022 10:25:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6rre-0008NE-Lp; Mon, 10 Jan 2022 10:25:22 +0000
Received: by outflank-mailman (input) for mailman id 255274;
 Mon, 10 Jan 2022 10:25:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6rrd-0008N8-57
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 10:25:21 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9c694716-71ff-11ec-81c1-a30af7de8005;
 Mon, 10 Jan 2022 11:25:19 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2111.outbound.protection.outlook.com [104.47.18.111]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-15-DWDhvNWCPSiwpVZ8q_w_qw-1; Mon, 10 Jan 2022 11:25:18 +0100
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.4867.11; Mon, 10 Jan
 2022 10:25:17 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 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: 9c694716-71ff-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641810319;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=dwYTt9qcNNqqBSANypvUW0ZJ33wnXzkJ+DTmv63V1KQ=;
	b=CeaJDs3nrhSsVr8ewVK58RzAnaex+2slmtktcDkyykxIOa0srP2wCbD5G6y9l8355aehLi
	t1Fe1M1OEy7+DFvJXh9B1/gyRahR9bjbNGiaXq605lAQ1mmAe6jZNf5M/VL9aOoWAzgshZ
	8FaeICH4CIutKNu9i6Mieak/20dvDkc=
X-MC-Unique: DWDhvNWCPSiwpVZ8q_w_qw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EQxrnutYhJ1cVjLYB5T9IrCSfSxTu1pifLi0pd/rYjax8gnOsW3rR0f18dtAgqVBTdPGefCkIJA6PPP1+hMyh8YoOlX+3eUjse35scU3wvaOopRxBbrmyzs/9eboOQ0e4BwJDLiWcIxENgmKdLNF2nhOprY5gHY3Up/Knx/m7BmYU59iysIjuNrotabNmnzilmY3nYXDwPwT5gHoHyxYMFleqF5alp6dE7fcaCyRPIckHxb15IQzX7KsacCcG7NDkAyfptpMSV9mXx2JE8xMgd4sXU5VVB9IHaPvOFK6SIT8QgN25g4DlhqxOFl9iU1fvGmheaGUMqVFndcMhcoh0w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dwYTt9qcNNqqBSANypvUW0ZJ33wnXzkJ+DTmv63V1KQ=;
 b=YOSDWmauvoPCNOJSSJ+zCwSG2Z0G5lLqc2eTeLQwxStF6glJkvoinuTXSpgoBJzBEwJXqCsoiW74DfPWB5+lLRjpUJ5Vj/onL4Hh1ej0MmCIO1mwUnl2OajIOY1lgYjx2n236vWY7U/DfmuzwwCf8uO2tX1hYo1m9kdGRo3VygQ2cIwvWntWsGVsGAnFvJOwJQtcfDpHLcRsIbze5WDrEwSrzTfYhBFNot2ReuYAzDJWVohzKlVYf19k+ECvAtaxtlS9L2vBLSrqIYaBjhqN28r4oLs+2s1mt9uMbkss6Y7+9muzF+tmK8aLnCgGjSDto7C1HmCQEVm8VXmV0D9xWA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <93887812-b9c1-af41-85ef-208cc114a1fc@suse.com>
Date: Mon, 10 Jan 2022 11:25:14 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [XEN PATCH 2/7] xen: introduce _evtchn_alloc_unbound
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>,
 Luca Miccio <lucmiccio@gmail.com>
Cc: julien@xen.org, Bertrand.Marquis@arm.com,
 Stefano Stabellini <stefano.stabellini@xilinx.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop>
 <20220108004912.3820176-2-sstabellini@kernel.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220108004912.3820176-2-sstabellini@kernel.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM7PR02CA0024.eurprd02.prod.outlook.com
 (2603:10a6:20b:100::34) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ee5de5bb-222e-4880-74d1-08d9d4237ed9
X-MS-TrafficTypeDiagnostic: VI1PR04MB5902:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB590201D2A0C6058BE359E942B3509@VI1PR04MB5902.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:
	2UsR8KaeBRqfyWUlns8R52M/jXgl3V8C6ePSToqUvxDgZ1hKM4phLcQ7vyOMamEPrMLfJ4VgLehfs5RZf/rYIhYuz1Rc0P3jPUtSXYxx02MrubCzpPWcfGU8i9pV7eOnEIh6m1zioKWih8QKJu7Y2h6/5tiiNjh+VYrTmGfOS1elypE7UWBtoGVNjuofRifrFesmFSvxDvToMT73iayn5zstU28hnVfegGe19pK0MUh93WPla3et3tK9NIKnn25Czwp+yXSQrPCOp3cfWT7osamAl5/AK7vnx1hSiaZ3pvuUrFwF19+qCCR5BgxeNgyuzlOAw3bvZ+Nr0ukA3G+/FxLxQs6rfAaQtAwWTi4WK/Gxdfc0suGFJrQbT+ScqAls27OtIqwn0tnHcY02ACc9hLAOuKzSj7vAY3lt9BsuSUOvXZwrUh8WZ18D3arUXOHn0349R37AiMnA9dtFhv7KXNZnHMM1CUQn+FFmKqpw6yGqk6V/2r64J/KQVfslgiTMasVG03RvThZThuQTk03EN6nM3IdBN+9iVRMr7i1KUxSN2wRyVkDPKm7Xagd++Ydjoe7THuXrKYB8E1d5LAd4XdjvCk6ezT2jevPOvtN72UcrzCsEAf38biSaU4yNBA2O7G9IVVhDLddWaXxDiyP3fGPs0JysCZOq1XlqbIOuNwvpJCka9IyOSBCRlsmyXk35+tNxuCf1q7M6lG5GYtVFAWFRq52CGv7TQTzm08Oay7k=
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)(186003)(8936002)(508600001)(316002)(110136005)(6512007)(31686004)(2906002)(5660300002)(54906003)(26005)(8676002)(4326008)(6486002)(86362001)(38100700002)(53546011)(6506007)(66946007)(66556008)(31696002)(36756003)(7416002)(66476007)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aFQrZFYyQVFVOEg2dllWa2l6ZHFGTzRPRG4vS3IvUGN2bWk0Y2xsdGNXamlE?=
 =?utf-8?B?bDltakZndEdvYU4xc2RXOHdMb0JFa3hqSDZBOUpYQVMyRm9SdGhyM2FNa0Ro?=
 =?utf-8?B?Q1Z2NnVYOCtrRUhjV3VPRHVSSlNPVVZxaVpBYmxaNTNodFpyN01GMnk4REt5?=
 =?utf-8?B?T3FkanFoeU1ZUjNqK2FxUUhzc1UycEorZTJ2UERycVYvNGwyNnJwRG1uOHhJ?=
 =?utf-8?B?djRORlZQaW56K0t1dmVWN0J5dGV6d2x5c3FSaUx1aXFkK2VUem5QYkp6M21M?=
 =?utf-8?B?U0x2VkU4ZE9YbFpEVGtXUVRlbUE2NUUwMDdtUm1oTFkwSXJhdzdTMFNpVEUv?=
 =?utf-8?B?Q0RPUjEzNjFCTWpOTytmVTVKZ1RFQ2tGQ0hZYmlCTWhlTHlabCthMEdlRXRB?=
 =?utf-8?B?Sk5RaDhkUHdKVVlvelJSSExNd1VJWU16SUlVOEw1dTlDUDlEZ1RMdXhaMlRV?=
 =?utf-8?B?Y2JyQWlaaUxGR3k5R0NmNzNUdWxETXZZc0NTZHM1VVQzdDF4dFowV2N6M0x3?=
 =?utf-8?B?czBOOEVlYytqeUZDY1ZtZnFoR3VkcndhcHl3S2JTbFByOThKNTJkYkVacld0?=
 =?utf-8?B?SlNMU3F4Z01RSjJFbjZDNHQ2bnd2U1NwYmNvUVpTWVNFZzR3TmhRZjFRNnN0?=
 =?utf-8?B?L010eFJqaDdKQ2lUWC8rVU5pM1haQzVPaHUrT3VOREsra3lDOG1BbU1VbTZ5?=
 =?utf-8?B?Qk5OUFBTdnNqU0FCcmVsVFhtTnVYQ2lPdTVMYk9vYjlLWFF3dVhTRHpOaU15?=
 =?utf-8?B?bmNLTFMyRXZvMW0vUFNVdUt2K3pjMGljaFNWbW5YWUJqV21icTVUSXhCMFU5?=
 =?utf-8?B?ckdydUF5b1RXZmgvZWhiWWF2WTgyelR4UGJqMWFJemdlOGllZEVzVnZPU1NC?=
 =?utf-8?B?cWh4c284NVBsWU1rd2lsaWVVT2NQY0o5WVB2bVMvWUJxcEZCTVBiY1V5aXpa?=
 =?utf-8?B?THppVkJSYkJwZG9BZllTbEg1VnBhbjJoSERFbFVpV0NhdUJCSlEzZEEvejU3?=
 =?utf-8?B?QmVLNmpNeU9ReVMrQUJHcU5oT05WNFJrTXhhMkJNeGJXZXNQb3pEaldxYzlq?=
 =?utf-8?B?V3puMlB2UFEwVVBZUEZOUXFlTGxPYlJmS2lubW5FL004ZGZYY0s2RlY5cVRM?=
 =?utf-8?B?ckptNHVxaXI2cWV4akRIZHh2S05HZkhwdXRKTkRhWTkza0kxMjY4QVM4RW5W?=
 =?utf-8?B?dVRKNXBLRjVWeGJMT09nQld6L1RSUnVIWEVOTnJCTDE0WVRLb0JGM0tWcG5L?=
 =?utf-8?B?SnJBNGJDa2JCUFRJcUJVNUpJYUpGU0F1SzVoYTd4M0t5d3R4NDlEYy80WGlT?=
 =?utf-8?B?emM5QjVZOVM3UGpxT1hCVlRDYXN6akwzRzNpUUY3WTZabmJwMU5hc0Jocitw?=
 =?utf-8?B?eXZiejlzMGd5QnpIZlFWUHoyVFdGVTlRZnNXK1NqaVdySVFPZTJnMS8zQ0Nv?=
 =?utf-8?B?NVNtTFUwMWZtdWRnNGt5RUcxOFliVC9wU1YrelA4eXc3bEMxcnV6ZE9oUXBo?=
 =?utf-8?B?Q1F5Q0ZjN1pWVWkvUHZJcHFoUCtpN3Arakt2bG1ma0VtL2JhbllpVjZib2JT?=
 =?utf-8?B?cWVUYkRDaUV3eWRnVXZDMTZkRnFCdUxLc05TWDFXc0k5bm5QeUN1N2U0a0FL?=
 =?utf-8?B?bXIxUnl3VE9DbjY1OXNzd1cxYXpIN2svbVFuQkhNK1NQbk00VGt5dFpxTzQ0?=
 =?utf-8?B?TjBVVDFGRGs4cnc3K1A4OVdoYmFNc0djc3RFdUtRNDlKdlRPSDJpWUNTT1Br?=
 =?utf-8?B?TDV6STZlMC85WEZlOWtwR1VwVTlzeXpMVEx2cjdXaGJYVkdDVWluZ2FaL1Ar?=
 =?utf-8?B?YmNJN2xiYzNzYnZOQTVFMHpPWVNZSTlHdFV2WWNnQU51YWpLNDlaRk8xUkNC?=
 =?utf-8?B?aUhmMWNMSzIrOE9vOVhGSzFBWEhUZWU1cFAvclFQOFpTaGpGSFFGN0drQStE?=
 =?utf-8?B?dmxSZ0tsYXZqcWV3dGNFUXVFdmtKUlg4Rm9SS3BwcktxRUFLcFNaNlNFRlBs?=
 =?utf-8?B?aVp5V0lhN1dMQ1ZWRkVleVZoak1PQ1FyL1g3cHZhaXZIY3ZWVW02ZUxGZkxU?=
 =?utf-8?B?MDd4U3JyWE0xUk8zOTZjRVJPemEzekd5NzVXZkxyMkNjSTNxdHJnbVN1ZnVu?=
 =?utf-8?B?UTk5NER0dDRQbFFrbHlhR0xWeGZ2QlBDSkwxRmRvWWNDNWFBZFhaY3RSODg1?=
 =?utf-8?Q?Br3fRoTswqZerZVexVjPIzw=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ee5de5bb-222e-4880-74d1-08d9d4237ed9
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 10:25:16.7909
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: M/XNgAJ+umGdz7CrmluhleuC/Od2dTa7M4wvh+Dz9bGrJeZ4UZdMAJsFqW1+70jimqDZ5CQYNpxfdLEPQGgphA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5902

On 08.01.2022 01:49, Stefano Stabellini wrote:
> @@ -284,11 +285,32 @@ void evtchn_free(struct domain *d, struct evtchn *chn)
>      xsm_evtchn_close_post(chn);
>  }
>  
> -static int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
> +struct evtchn *_evtchn_alloc_unbound(struct domain *d, domid_t remote_dom)

Function names want to be the other way around, to be in line with
naming rules of the C spec: The static function may be underscore-
prefixed, while the non-static one may not.

>  {
>      struct evtchn *chn;
> +    int port;
> +
> +    if ( (port = get_free_port(d)) < 0 )
> +        return ERR_PTR(port);
> +    chn = evtchn_from_port(d, port);
> +
> +    evtchn_write_lock(chn);
> +
> +    chn->state = ECS_UNBOUND;
> +    if ( (chn->u.unbound.remote_domid = remote_dom) == DOMID_SELF )
> +        chn->u.unbound.remote_domid = current->domain->domain_id;

I think the resolving of DOMID_SELF should remain in the caller, as I'm
pretty sure your planned new user(s) can't sensibly pass that value.

> +    evtchn_port_init(d, chn);
> +
> +    evtchn_write_unlock(chn);
> +
> +    return chn;
> +}
> +
> +static int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
> +{
> +    struct evtchn *chn = NULL;

I don't think the initializer is needed.

> @@ -297,27 +319,22 @@ static int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
>  
>      spin_lock(&d->event_lock);
>  
> -    if ( (port = get_free_port(d)) < 0 )
> -        ERROR_EXIT_DOM(port, d);
> -    chn = evtchn_from_port(d, port);
> +    chn = _evtchn_alloc_unbound(d, alloc->remote_dom);
> +    if ( IS_ERR(chn) )
> +    {
> +        rc = PTR_ERR(chn);
> +        ERROR_EXIT_DOM(rc, d);
> +    }
>  
>      rc = xsm_evtchn_unbound(XSM_TARGET, d, chn, alloc->remote_dom);
>      if ( rc )
>          goto out;
>  
> -    evtchn_write_lock(chn);
> -
> -    chn->state = ECS_UNBOUND;

This cannot be pulled ahead of the XSM check (or in general anything
potentially resulting in an error), as check_free_port() relies on
->state remaining ECS_FREE until it is known that the calling function
can't fail anymore.

> -    if ( (chn->u.unbound.remote_domid = alloc->remote_dom) == DOMID_SELF )
> -        chn->u.unbound.remote_domid = current->domain->domain_id;
> -    evtchn_port_init(d, chn);
> -
> -    evtchn_write_unlock(chn);
> -
> -    alloc->port = port;
> +    alloc->port = chn->port;
>  
>   out:
> -    check_free_port(d, port);
> +    if ( chn != NULL )
> +        check_free_port(d, chn->port);

Without the initializer above it'll then be more obvious that the
condition here needs to be !IS_ERR(chn).

Also (nit) please prefer the shorter "if ( chn )".

Overall I wonder in how far it would be possible to instead re-use PV
shim's "backdoor" into port allocation: evtchn_allocate_port() was
specifically made available for it, iirc.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 10 10:38:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 10:38:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255279.437413 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6s4K-0001Ue-Um; Mon, 10 Jan 2022 10:38:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255279.437413; Mon, 10 Jan 2022 10: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 1n6s4K-0001UX-Rp; Mon, 10 Jan 2022 10:38:28 +0000
Received: by outflank-mailman (input) for mailman id 255279;
 Mon, 10 Jan 2022 10:38:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=nMJ8=R2=gmail.com=dunlapg@srs-se1.protection.inumbo.net>)
 id 1n6s4I-0001UP-KN
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 10:38:26 +0000
Received: from mail-yb1-xb33.google.com (mail-yb1-xb33.google.com
 [2607:f8b0:4864:20::b33])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6ff67d63-7201-11ec-9ce5-af14b9085ebd;
 Mon, 10 Jan 2022 11:38:24 +0100 (CET)
Received: by mail-yb1-xb33.google.com with SMTP id 127so20469736ybb.4
 for <xen-devel@lists.xenproject.org>; Mon, 10 Jan 2022 02:38:24 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6ff67d63-7201-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=umich.edu; s=google-2016-06-03;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=/dcXMmeVHAB1ihFPo/vRXg+VHbRUEYPCk1gHE6WtCIU=;
        b=VZ40y05+OZTSjgeqthAF/ACZWFONlT3eGFwtxctoUriGGYJcCrUIyulQMobRLbsxfG
         beIzu8XhP+zyijtqReLoxkDcBp5CtDpj/VFs3M5YZE7XboQSFvf8dhpxCFGLFCs9lYze
         7eAhvIxVIibm2pRopVawQs5UzyZBipQID151YJ0nteuY8wc6rLViQoe0ETzfQfGOEE2n
         hJzUTKw38jAEn/LJWZc9iwWrc2uT5p+kXVRoi+5g6brh8B2KPsT9RfOrXwCXgtTegVHW
         g7VvoN8bZQ443XNdXUNCi9e32DOC5veMoQ91v0k/yUl7mjqfPee8SaVLMRowKTGAcbQe
         9nHQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=/dcXMmeVHAB1ihFPo/vRXg+VHbRUEYPCk1gHE6WtCIU=;
        b=Oa0RbHtIVgTJNuo4xhhk7eVs9WyvwzSfJef9buhDD/vQJ2qfeyKnM6gkJpzBoljCLd
         JrYdETMRHKBZRISvJWQ4nPUD3gEBzW66kty1jli6tpHfuzv5MmP50tsh0Z4fOBzpaCJe
         yadHNg08EKk+aw0O5EjMU+A4CRlCpEyHZIbBWMQIvpyC5EvfYvKweBBlLbfJDBVVu+xN
         oBq0YYJUaUVfMvILt8IqXrTqszJk3m5d1H4lafPv7DprgeEaMHv5oZ5shxQrzzjCT6tK
         CBcO+s1ofdWe37YblzC1u7vYpBn5JSJU8xyPQcwVAx528y88WaZ3KyktHwNLq3ANJSEp
         iW/w==
X-Gm-Message-State: AOAM532tRP6zcbdX4fpShLS1pTzFbBIElrsyUo5txsuD2GHguQY28Yll
	NUNu6o3cRky/8uF6JDy//2ksKVjc949yeNjV4as=
X-Google-Smtp-Source: ABdhPJwUHJk/qOzsu4GOuriRdyHf2T3CS/FPBh9tiq6xL1am4XXRmPdy6GlONH/IshRMeA7Y+EhZPZDR3EW9C4wgKyQ=
X-Received: by 2002:a25:42:: with SMTP id 63mr80389295yba.110.1641811103669;
 Mon, 10 Jan 2022 02:38:23 -0800 (PST)
MIME-Version: 1.0
References: <CAN2gxUQmsa=ONQqj0-3PZ2oxp-QVMgsm0BQ+q=-LWwmWTqwMZg@mail.gmail.com>
 <CAFLBxZazbQUF5bXw=yxM7+48KVVz_rJoi8UWrH83Ln-j40u9PA@mail.gmail.com>
 <CAN2gxUQ_h79Sy006NBcRkFzj9PDAjn8JA3UjQo4L81xo7ShgbA@mail.gmail.com>
 <CAFLBxZZX9escoCP92dLMCqQGv1-CHaEOzX7NAzvHs_heXYxfhg@mail.gmail.com> <CAN2gxUSL8f=osqSn89CGfMgdwcoosj9Cwk=rQjycOt_z95S_Mg@mail.gmail.com>
In-Reply-To: <CAN2gxUSL8f=osqSn89CGfMgdwcoosj9Cwk=rQjycOt_z95S_Mg@mail.gmail.com>
From: George Dunlap <dunlapg@umich.edu>
Date: Mon, 10 Jan 2022 10:38:12 +0000
Message-ID: <CAFLBxZboC7jL31gObjRtpCL9ESX2n8nUx_BP0eZKRzBvNY2YLg@mail.gmail.com>
Subject: Re: scheduler credit capture
To: amir masoud noohi <highlimner@gmail.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>
Content-Type: multipart/alternative; boundary="0000000000009f636b05d537ef11"

--0000000000009f636b05d537ef11
Content-Type: text/plain; charset="UTF-8"

On Thu, Jan 6, 2022 at 9:05 PM amir masoud noohi <highlimner@gmail.com>
wrote:

> It looks like you can get the info you want for credit2
>
>
> How?
>

We're happy to help point you in the right direction, but I'm afraid you
will have to actually do some work on your own.  Did you google
"xentrace"?  Did you try running it on your system, and then running
xenalyze to see what it spat out?  Did you look at the TRACE calls in
credit2.c?

 -George

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

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Thu, Jan 6, 2022 at 9:05 PM amir m=
asoud noohi &lt;<a href=3D"mailto:highlimner@gmail.com">highlimner@gmail.co=
m</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin=
:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"=
><div dir=3D"ltr"><blockquote style=3D"margin:0px 0px 0px 0.8ex;border-left=
:1px solid rgb(204,204,204);padding-left:1ex" class=3D"gmail_quote"><span s=
tyle=3D"color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:12px;bac=
kground-color:rgb(233,234,234)">It looks like you can get the info you want=
 for credit2</span></blockquote><div><br></div><div style=3D"font-family:&q=
uot;trebuchet ms&quot;,sans-serif">How?</div></div></blockquote><div><br></=
div><div>We&#39;re happy to help point you in the right direction, but I&#3=
9;m afraid you will have to actually do some work on your own.=C2=A0 Did yo=
u google &quot;xentrace&quot;?=C2=A0 Did you try running it on your system,=
 and then running xenalyze to see what it spat out?=C2=A0 Did you look at t=
he TRACE calls in credit2.c?<br></div><div><br></div><div>=C2=A0-George<br>=
</div><div>=C2=A0</div></div></div>

--0000000000009f636b05d537ef11--


From xen-devel-bounces@lists.xenproject.org Mon Jan 10 11:20:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 11:20:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255286.437424 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6siP-0005e6-Ti; Mon, 10 Jan 2022 11:19:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255286.437424; Mon, 10 Jan 2022 11:19:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6siP-0005dz-Q1; Mon, 10 Jan 2022 11:19:53 +0000
Received: by outflank-mailman (input) for mailman id 255286;
 Mon, 10 Jan 2022 11:19:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6siP-0005dd-1d
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 11:19:53 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 39b2b7b0-7207-11ec-9ce5-af14b9085ebd;
 Mon, 10 Jan 2022 12:19:50 +0100 (CET)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2058.outbound.protection.outlook.com [104.47.14.58]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-16-IfK7Gq-cNOiqe49fwLu2FQ-1; Mon, 10 Jan 2022 12:19:49 +0100
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.4867.11; Mon, 10 Jan
 2022 11:19:47 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 11:19:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 39b2b7b0-7207-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641813590;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=fag3kek63Obol2rI4msvwP0r/JLboDNoNKG8axtarDs=;
	b=U2MjfyiFt/2AczLC5rcERgJTtviTzIY9229gCI11dCk5yt9shxsXYynkPd3RGIzfsYf6wt
	NFFa+w7+ycmaVanboiascterXiPY+H2hA7MoGOZTmRvhXP2hC5Ppi1OCVR1dcHY2ARF/yx
	h6kKkwHMzRsCuBX1MimWVoV52uD0YSw=
X-MC-Unique: IfK7Gq-cNOiqe49fwLu2FQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=V6qSgYZJKZ/VNpXGvQ1+rsi2nh+EQV6N/Hqb4lhufsm30WiW9pgqpgK+5N7HVRAOv6kDGnRm1DMDC5wPK1L437ql+aNvR6aNUurrgqY0cATABcc0rHlPHDigtcMtT+0KTNpmqnN6JdQN8Sp34AxPWWug87CP2FpTa/hqJ06B+S1ZwoFlkSUCLIzqlxg7Kr1GG1glQy4F1ZTNDS982mky4fVXnsoeqO1FdVmBt7Rfb+z8wdR0tZSqNrpiaYBKjV+LyC62T8JcwFD+PD8i6E/P60Gpt5e3dQdSUsAtk2KImLJ8RgEn5olnoFooj3DXjoR3Lmf64cyqAwXnCgwKJD1g6A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fag3kek63Obol2rI4msvwP0r/JLboDNoNKG8axtarDs=;
 b=DLLOefHtLiw3k/yArTfbwCXoWmVS/aOCJ1Hdy7eTlKDSO9Bsof0mWoOEbJgX9xLhNyI2Gu8O2RLnORcSot6pPcDllom8fYj1t788VVS144+UX5pF+5ldwiyHVet3YD3QX5xySGRz2o82gRhVDTemOLvg0FcryE5D67YK9dZ7ETFqhc0cr2S6xk63Hz/55wclQTdZvJvbpt7WiiAJt25gVP1iFSYkFw93qWtGmx8z9jkKuCIIwWD7wQW96ui0uNQwodQcmxpEiuV/D8OLHWy9xEWxKtTA5Hhq5bFmvZJ7Xuy3zCjgVoULiD7XQRlT+sdqrlO44hC3sidn9Fehtr6wwA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b70fee5c-f58a-435f-cb77-6600f699aaae@suse.com>
Date: Mon, 10 Jan 2022 12:19:44 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [XEN PATCH v8 00/47] xen: Build system improvements, now with
 out-of-tree build!
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Alexandru Isaila <aisaila@bitdefender.com>, Wei Liu <wl@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Alistair Francis <alistair.francis@wdc.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 Kevin Tian <kevin.tian@intel.com>, Connor Davis <connojdavis@gmail.com>,
 Doug Goldstein <cardoe@cardoe.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>, Paul Durrant <paul@xen.org>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org
References: <20211125134006.1076646-1-anthony.perard@citrix.com>
 <f8cde73b-0e5f-1b3d-c51a-9fef6092dabf@suse.com>
In-Reply-To: <f8cde73b-0e5f-1b3d-c51a-9fef6092dabf@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR0701CA0055.eurprd07.prod.outlook.com
 (2603:10a6:203:2::17) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 91e3ab85-b5bd-46fb-b657-08d9d42b1c35
X-MS-TrafficTypeDiagnostic: VI1PR04MB5166:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB516650978D7E8FB917F4F00AB3509@VI1PR04MB5166.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:
	HlvIAemmYMpHCRB2LslJvMA8aEZlk1lQXW66BE3BVV3fJEf+1aU8ftbAokpPomMh8+oulJHHMQFdQvoF56L0ACLppLjDmAwcKp7aMbOWyjcyqgZfM7s9Xe9kd569BcDlsbHpROaIssSMiy0nvWLWRJ9G03qwQKjDYZmwxlMPLEwW2HWKkTmwkJnom8sF7lYFdnftqeLehRZhB4Z6OirWUpaGd+SFwNhX8dZzBMa3/lsILSTooQozaVwD7OR7tKr23QCWzl3QfUZQJbkFcstNuB6Zk2USnyhEjcecLRtMCzTC/H/KoeanVLd2uQwRsr6wan8Ffjlz9L8mn3q5C7/38n+bCag4czCmvQx53rXKhyjoOHRGH6s6KOcLmeEQoGfSv8Zc2wBSTMZVe7rZyHxaLjXCvCLObbDzn6M6vmv9czvO7YoxhKBPxJIYdNMUb36SXjom7ooWh5vPXgxx3MnsMvgbKhgRSdCwhgamJO5vgekJGbLESxheu9K8czqfJTnut+BT/h0qoZQAgJATi3GkCWGHfWzlw8Q3Wij3DrC13XbL3wSLpp/F1wkifzOp4NmvwGZirT5uFXrDTTCy+wFRQEiojsDVPLM44AxtaMzLI2BujkeXJRR/3LK8snHd0PDLTQovRZxSkvkU3gLnk0ZY9nyvuNArmY5173K1JD/y1pY9HOl/Fr3w9BWJLci17+amFDAukTPjeILXPRu8ZItBCkpJhGgFTSnWBt4ITPFN/HJGHA5oQ3BW2RgPOZvXgUxGb5lDdOVfmLtrG1EFyDUy6x/MlnPwm+cSXCSqvLNwteT7s8Gi1wX+LdSBQ7e2gpDcnSPjdcSILvKcrxp+LEOUyQ==
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)(6506007)(53546011)(5660300002)(7416002)(36756003)(6916009)(66476007)(83380400001)(8936002)(31686004)(8676002)(6666004)(26005)(316002)(6486002)(86362001)(4326008)(966005)(508600001)(2616005)(66946007)(186003)(54906003)(2906002)(38100700002)(31696002)(66556008)(6512007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QiszRlNHdUpmSEdHNE5VOHRrWmNTR281NHNxSjRmM2xGL3FINjVGdVBrUFJU?=
 =?utf-8?B?aXlkZXB6YTRPMVlCaHN3aUZxZEEvV1RrZFo5Tk8vZnlodTJ6MFlnU3RvZTNm?=
 =?utf-8?B?ZFpXeWZvOVN0eE5oTDFhajlHSGM5cEZ2ZVkwVnRRQVJSQ0p5RkJpemVoalJ3?=
 =?utf-8?B?RW5BTXlpTC9nNHpiOGpYUGJXbEl4U2g4QjVXSXVWdHRBaHRPcHIzWWNUNUQw?=
 =?utf-8?B?WE5kblBBdUV0aysxUHkzN3dGekJ1b2ZHMmJzQW1vYkJoMmUydDQ3Q1hha3Vh?=
 =?utf-8?B?RU9xSXlLVTNZUm9mZllRTVNPLy94ZzRWOWc1cGNMWi81ZmlRSndSOXl1WWRv?=
 =?utf-8?B?M1Jkc2ZlTXViSDF6T3I4N3RHREY5K3lwM1dvR1d4TGVUOUhQMCtnRUhRWjFv?=
 =?utf-8?B?S2hsSmk1MFJFeFpRejdoa1pYNDJPZDlNanptc0hzSFYvNkRORk96d04vL1Bu?=
 =?utf-8?B?UHhRNHNqRmRXT1dBQ3BTQWgwZlBtMllzek1kcjIwanNCYmlzdGFOZU9xUTFC?=
 =?utf-8?B?UzdZSU9OMmxlMkhOZVNUdmo5eDBlYmVPMHpxbGZqZzhsaThEckpCUFY0b1RE?=
 =?utf-8?B?aFJBeEFaTWROdUdIbUdrVE5Lek44MzF4Nk1hVVBMblZXdFNmYXF3MklCRVpr?=
 =?utf-8?B?Q3owb1pQUFQxQzl0NVpUK1IwOWp0YWt1cVBvOFFoekVCT0EyRk5NWU5pdUJJ?=
 =?utf-8?B?dmFwL2pWczlWWG5mYXB0Q2h3b1EzSzFwZmUxWDNxSWM2T3FwQWIya2hXUG5L?=
 =?utf-8?B?dGRNbFh6RjF0VXJiK2pOUnRNL1lDekJpOEJqemt4WjNxN0VJQyswTUFuU3hr?=
 =?utf-8?B?aGc4bElvbHl2eWZUYlNXRHJGUEV5SDkvWW44Sll5SDFtWDBMTW1kRldCQnlX?=
 =?utf-8?B?bjRYU2ZGdE9RbEFUcFR5aFNrbkFkdFFXYkpzSm9nK3U2Q1hib2FuUkVjN2w1?=
 =?utf-8?B?M1pxSGttT2NuUmpQeGJPS1hydUpnSnpET1U1dTExcEZERUJQamJ1dVFQUSs0?=
 =?utf-8?B?Q1orZStETGNwVlE2dU9iRzFBZWtseHgrRG1ReWpJL0lkU3JzRWt1UG1xaDR2?=
 =?utf-8?B?amVRbXp1eEZyKzM5d2YzdmhoN1BpMTFyNzhtWjJoU2RJZFArUXVGbTVORURu?=
 =?utf-8?B?VnNiZFV3RElMeDBkL1FhYkhRTm9tNzdnSUdzc1AvdTUxZUZhbFBQQzMvczJw?=
 =?utf-8?B?djZDK08yT0Nkb29rcGlVRVYreHpGOXBid1J2WStZUHF3Z25DYm11QlZYVjVY?=
 =?utf-8?B?eXVIT2FWVmZLU3B0OERkc3RQUFdCZG5rY3RoSWJRcGZpaWpLODZtNlF3ZVho?=
 =?utf-8?B?UnF6YXV6N1k1ZGtvclJWMml1Yy9rdjRYanVXMUptRjBuQnF6QWVkVk5mLzVW?=
 =?utf-8?B?dVllcEw4K2hINWVoM01GTDNYZklOUTRETWg5bVlyQ1FDNG1TenJJeDlIQVho?=
 =?utf-8?B?WW9KZWUydW9IbGpQZjcrMUxKTDlNeXExdy9sTWZEN25zZ2lvYnZvNk9WOEF0?=
 =?utf-8?B?MlpadDd3Mk9NNUtNV2l1dzMrK3FySHVBVFN1R3JDSkFPSXBXRWJ2RVV5Mzht?=
 =?utf-8?B?SmtxWGo0WTU1cVZydExDdDREV1dyWnhzRzZNcmEwUHNMd1pCa3hyZkplYlJ0?=
 =?utf-8?B?YXMvRSt1eldNOE85N3d3QW1nRnlkalJoQ2w1NGdGUVlRSWNyTXpGSFNCTnk3?=
 =?utf-8?B?cHRHNVU2TjVFL3NQVzFqNHBUN1M0cmNyOHRNalRXQk4xLzV5cFVQWWhSWW5h?=
 =?utf-8?B?UmQ5Q2pvNGJ0S0JYMEhkRFFjNEdDRmF4aVNQNmR6YlVPY2JpR0xXTmxUcDlL?=
 =?utf-8?B?N0ljdEJRVnh0QjdkUXBLRjFDbVhLeDVSTjJPc1o4VlRDL3ZEdTgvem94RG51?=
 =?utf-8?B?bU8zQU9PZ2VsUGtWOThyd00wTkxKNFNVaGZVUUtZaGh0b1FhaHZaeVRpaWFz?=
 =?utf-8?B?cUJROEVJaEUrZWZ4dkpPQkc5clFuLzlOZEN0WWorWWRkU3k3aHlIb2t5M0pk?=
 =?utf-8?B?eC9yMzRsRDVNT2c3NjhodU9iWEpNNml5aVFQZlY5N3JQUDdyQzl3dmJrb1F3?=
 =?utf-8?B?eU0vdzRiMVRTWWhRM2cvcW9pbUhzY014TUN4Z2tUbzZmZ1dLRE5HU0NaSUMx?=
 =?utf-8?B?NW9Qa2FPWHpIRkdVRHFBMzNHdnRWZUlqckhDS0NITXN5d3VmNXNlVlpFYy9U?=
 =?utf-8?Q?m30POHfjyClFNLjtP7Wuu2k=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 91e3ab85-b5bd-46fb-b657-08d9d42b1c35
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 11:19:47.3339
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rKH7cLFPG1dCZTKTqv8UG+gE51FL/ceo5v3R0+glgsd5VAP4qs2X9o4YVXvU7tr/WGoOpTKIn1oSqsWn7wtyag==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5166

On 21.12.2021 16:26, Jan Beulich wrote:
> On 25.11.2021 14:39, Anthony PERARD wrote:
>> Patch series available in this git branch:
>> https://xenbits.xen.org/git-http/people/aperard/xen-unstable.git br.build-system-xen-v8
>>
>> v8:
>>     Mostly rework of v7. With many patch already applied.
>>     Some detail changes that are spread through many patches:
>>     - `make cloc` recipe should now work throughout the series, update of it is
>>       done in 3 patches.
>>     - new patch "build: fix enforce unique symbols for recent clang version"
>>       to fix an issue with clang.
>>     - introducing $(srctree) and $(objtree) earlier
>>     - introducing $(srcdir) as shortcut for $(srctree)/$(src)
>>     - introduce usage of -iquote instead of -I in some cases
>>     More detail change log can be found in patches notes.
>>
>>     Also this v8 present a work-in-progress of the ability to do out-of-tree
>>     build without setting VPATH. This is presented as an alternative to force
>>     use of out-of-tree build. As the last patch show, it allows to build the
>>     xen-shim without the linkfarm and we don't need to make any other changes
>>     to any thing that build xen (osstest, distribution packages, xen.git, ...,
>>     and developers finger macros). The patches are only there as WIP / RFC as
>>     they were some concern about the usefulness and extra changes needed.
>>     We can decide whether those changes are good or if this is too much and we
>>     should force out-of-tree build for the hypervisor.
> 
> I'm afraid I'm of two minds here. I don't think we want to force people to
> do out-of-tree builds, but I also dislike the idea of mixing in-tree and
> out-of-tree builds. Yet reading the above I understand that the shim build
> would conflict with an in-tree build because certain files would be picked
> (the shim build being an out-of-tree one) from the (dirtied) source tree,
> rather than the shim's build tree. Perhaps the extra path prefixes that I
> commented upon in an individual patch are then indeed the least bad route
> to take.

Having looked at the RFC patches near the end of the series, I find the
need to convert from '#include "..."' to '#include <...>' particularly
problematic: Using "" for "local" files is common practice, and hence
even if you take care of the existing cases I'm afraid we'll be at
constant risk of re-introducing such an issue somewhere. And someone
hitting this issue may have a hard time figuring that it's simply the
wrong file which gets included somewhere. IOW I guess I'm now favoring
the "require clean source tree for out-of-tree builds" model.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 10 11:26:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 11:26:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255292.437435 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6sol-00075f-M4; Mon, 10 Jan 2022 11:26:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255292.437435; Mon, 10 Jan 2022 11: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 1n6sol-00075Y-IJ; Mon, 10 Jan 2022 11:26:27 +0000
Received: by outflank-mailman (input) for mailman id 255292;
 Mon, 10 Jan 2022 11:26:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6sok-00075S-AE
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 11:26:26 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 24d984ab-7208-11ec-81c1-a30af7de8005;
 Mon, 10 Jan 2022 12:26:25 +0100 (CET)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2055.outbound.protection.outlook.com [104.47.13.55]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-36-e02qItsEOQ6eseEpVMVfXw-1; Mon, 10 Jan 2022 12:26:23 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0402MB2703.eurprd04.prod.outlook.com (2603:10a6:800:ae::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.9; Mon, 10 Jan
 2022 11:26:21 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 11:26: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: 24d984ab-7208-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641813984;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=kYCmrdfK+1iZylEjGJpnNWWT/J2aHUSqAgAp72HNKNw=;
	b=ZPFV3B1RzM9lSHrqgapfPYVhreKshQAOFfArL/MnG9UFd5KREjBPYRRcdBofsoRUiK9sLK
	0AAlLhzuz5jsxevZWnHGHaA1b6IWF4Xwy1zuF2UWo/f5p6hLEVcXId+vrrO7GAerY/pbNp
	R75P1yvyi9KNWVEW4Beyk3d8Xv6TsUA=
X-MC-Unique: e02qItsEOQ6eseEpVMVfXw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lQH1kaZxxyaQSst5B0swGMCWEf/c+ws/BULBaK15dfqTS8KRVfbpaPdYMwy9iGvHNmCZM+UAJE+yPc3XxzwzlSwVIYTGf6UiFp7hwgxICs6Ec8gEKBqvEO5DSOW3oypPXe+S2+0f4p7me/2Ag+H27QrPZkSLGFdyZRZK3Cp4Tfekv7CyDdFRM/XQMGVbL1GPBmfN0taCH+bRF0P8X+QuLVlD1kI8hV1yNZw5TY+JdR+x1m50Y1G0lHGuvEWDRK17J4+Nu+xf8h4WujkhDXwOaXGKXB7lrIbl92sTy37YoL/Le++QD4Cr1CnwqoI4rK/igGvv1HqLirJRmeeJcuVopg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kYCmrdfK+1iZylEjGJpnNWWT/J2aHUSqAgAp72HNKNw=;
 b=B7Y1VdDE3/vSzdsTUO2nA09fDxj4x+Q7RWY8Vz1lI4RJXidHt4fg5wxwvRlsXreFmxWoCJkxKOdLsg1EoanpD98UX0Y09ynWQSXXWVkdlTjwU/RZxQywEoOSd24363kTpUzske8yhR2iS6NhGvq3S4x0D5FweKJjP9LMp+cu1IY54RWqqql3KhbwZ0nelAwJ1MabvinyUnr5W3xY/5ZLB0R+T4mP4eqnVR+9ANC+tQof7gVGNT10vld5A3ptIyVfiCM8Pqa1vQV1XhYJnb6x/qqxhBg9iFQwJeAVGpcqr5GpGvdR9P7P2usxP3BrcAgapbi3mY9u0VzCXWFw0Eb1UQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d4d02eb8-98b9-1cd3-dca4-5230817c92a1@suse.com>
Date: Mon, 10 Jan 2022 12:26:18 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [XEN PATCH v8 33/47] build: adding out-of-tree support to the xen
 build
Content-Language: en-US
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>, =?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>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
References: <20211125134006.1076646-1-anthony.perard@citrix.com>
 <20211125134006.1076646-34-anthony.perard@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20211125134006.1076646-34-anthony.perard@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR0301CA0036.eurprd03.prod.outlook.com
 (2603:10a6:20b:469::14) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2e629b61-d75a-4027-73ba-08d9d42c06ec
X-MS-TrafficTypeDiagnostic: VI1PR0402MB2703:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB270305CC4A45D4863ED60699B3509@VI1PR0402MB2703.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:
	og0+r0jXRwm2N7ry+XuJBCZ7REtIxrlnehtcSyyQR8KS82p6HL5nHZwYTjGxbjiSpurhbe8cTC271kQ+nvdbXqvsm8iiJnZzDM0nUGt20kBJ1uwfS+svEsq5vfncrvy77Qa1OhAoBfqmyt3gc5VNmjp1iUIPbxZ1AFhXkqBAL63gAs2lFyJ+m450sc36/Ljxwi5PhgCfEyl7Oz3gjZn4uZMPJjfWfvDQl5KRNL+tvzePaSyAjrJMv5cn80ZQOhpsJghSHBGbVGf87wHuazs00TaMMUZjCgIalr1CblVFSrWE324J52HLlXmyfylfguE8sXtdgYb2qgN7+nLPkSS7ea2BiV9peQKEEbQRjrbyPBgBJ5U0QlMrIu9ZAV0WGqxM5o1hAizK5ygfABKFdd9ORam04S1/Kkc/4+M2IjW0FOUXCL6OEtNzHRB6HOYwHai1IeAj7XmnCPfXG0jL5NOJdj6KarSV279hA/gn2qnjsbV2dKWLzit81F+Strk6I6Y3yfBy5+RPtEtBK0dpgLUGOW/D5/rtVI9GYIzQn5AcvY1gRW+0snThuZQEvRM3xRTcKUdtvKZwuMDXTlNklPxa957QwXAwSHtP8wA4kjAatu7at4vqyVs4InI2z1vB9IgDzXBQbu5HJe+xmV5nQQNL62n90tv2cGAaO0Hiyc0Su16U2l0l0b9mMksVcPVq3u9VfzeK7t55lDJQzMk+zunGwlFpEwnQ27JHJFvHhhLQWILxNootFzx13kdW0criKw5O
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)(508600001)(6486002)(38100700002)(6666004)(6506007)(6512007)(5660300002)(31696002)(8936002)(66946007)(66556008)(66476007)(2616005)(316002)(86362001)(6916009)(2906002)(54906003)(7416002)(186003)(53546011)(36756003)(4744005)(26005)(31686004)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b3FmZndrMmFmekZiWnE3YUw0aWI0SEJLQ0YyVm1reDg2dENQQVR6a1FEMHpS?=
 =?utf-8?B?NTlrUWI0Si9IeHRRSkxKc0ppc1Jnd2tYK2tjUHFOT00zTDVxK1MwM3JVMi9T?=
 =?utf-8?B?VVpGRjhmZ2dmdldBOEhYUXR0LzBxYWp5SmFhaXFYblhoYW9CZVpYa09BNnhv?=
 =?utf-8?B?aHZTL1VYTklKTFV5eEZITXN5UHRhaHpjU2xHYmhwR3pFNTVFMFJpanY5RFJM?=
 =?utf-8?B?UnFaeElyMTQzbk5XaERYeGw2Qy9vU1VnZU53d2E3WGxTa2RvL05mZENaTk5O?=
 =?utf-8?B?dG5FbHNWUVNEaFlhZXpPZktRNDNuWVpmbkNLWloyTHpzVWRQQVFkWGpSYUh4?=
 =?utf-8?B?TGYxdWpPc0tYWUF6ckMwQjQ5Qkk1bGZOZ0pad2J6ZUh0R3lJTklaZ3hmanhy?=
 =?utf-8?B?NGtCdFE1VERleG5xKzlkNzFaVGxDcHZjajJJYUZndW9QbTZpRStzUU14ZTkx?=
 =?utf-8?B?ZEM5SW9YNFpKNXdwNHp1eE9icCs1QjBsYnVFdldiV2N1cnVSdFJqTFV4UUNz?=
 =?utf-8?B?TEV1U1hic0Z5bkJSMndQeG9MRFE2RWZhTWRORy9hUVc1aDZwejhSSFA1K1pH?=
 =?utf-8?B?U2pZUjJad1VFT3V2cU83YW0rd2YzUTU5Um9FMlZDWVlMR3g2MTdReHg0MDZE?=
 =?utf-8?B?NDZUem9pMEhLWkQ1ODcvWmlxckJITEwvbGpva2ZuL3BCcEtzK2Q0aTBjNCsx?=
 =?utf-8?B?ZjJ3YTRKMHBXcDRUem9xWUlYTXpaRUJsdWxSYUtKODQ4VmxjTTdJWjBzY2p3?=
 =?utf-8?B?ZTVnZlY0TlRuQ1NoTmdhamFkdGpEdjVFVmU2T3AvT3BVUlNRYmQ4T2F3YXV0?=
 =?utf-8?B?QVc0TGZ1T1kxSUlSSDNRYzZKZGdvQUNPUUZCekZ0WVU4MEpUQ1VoNHhFL3dp?=
 =?utf-8?B?VFNuYkgzR3NlelVYa1ZYNDEwaEFzUXN0TzlSRFR0bVI2WXM0Qkp3S3NxYkMy?=
 =?utf-8?B?cTkwbXc5ZlBPc1h3NSt5N3BjeE9vbytFTWhmUURGUVpURUEwK3ZQZmUvTUhI?=
 =?utf-8?B?N2FVajV2T0hrNEU1dWQ4NWJDVHpwaXI2b2EraitZcDdwVDg3ZFJwMlBqY1Fk?=
 =?utf-8?B?ZXdJOVF5YktaT283dExQVUJ5Q1oyeENGbHJWb2RTZTMzSjRwcy9FMDBXUUN6?=
 =?utf-8?B?eUJZT2huM1BwQW5xcHFFOTBCYjVGcFg4OFRDU0pNWjd3MklxUEs3aGdHSW5j?=
 =?utf-8?B?cGdRbUFWb05CTmFIMlI3cU8vYjhzQ1h3NEZSL0ZyVlRDL0pTZitYY2pYU0JR?=
 =?utf-8?B?YVRYZ3ZJRVlLNmk5ZU5Xd3BFSk14MzZzVi9xaTZlT3puYnZFd3JTWVlMTGFn?=
 =?utf-8?B?RVR4RURyRDJXdEN5RzRaYk5oUXNpWjBDWDhTcjVSaGw1bjRacW9yWFJJRzZU?=
 =?utf-8?B?U0lyRzhXK1dLRVJ0K0NrK2tCdnJqdkU3djVBaE9qeUZVQlZsTWp3NHRnekYx?=
 =?utf-8?B?T2V0TEhSWFpSeG9QVGI0b0V5TU1pR0wxOTF6emlkalluRWhkbGQ2VDl6Nytl?=
 =?utf-8?B?cm50ZG5rTm9PV0N4RVBjdDIxSVQvMkp3NlJpMnlEMTQwZ2NyOERvdGJwckVE?=
 =?utf-8?B?ejZmY0JPaWpNS3o5clZuVCt0cjhyYjcxYk5obEtSWU13cVBWc3ZTSmRXZzJq?=
 =?utf-8?B?L054UUx2TG5YZ0s3QVUzVkJ3MU5Hd0EvKzFxYnVucytHRGVxZk1KenIyeDF2?=
 =?utf-8?B?Z3RHaUYvb0dpb0ZMQkQ3eWxaa3NKdzVKZnN5bFM3T1pITDlDTG92VURkaHNP?=
 =?utf-8?B?VkpZVTdsQjRMNDl0cWphWW9YZmV4am9iUkcxanpmTnhVcUJlNFg5ZUJJWGt1?=
 =?utf-8?B?eGlpQzV4RkRFMVllT1hrTTVRYjRqUTd2NG82WDg3dnZaVlZIQ3Q5dVRsa1Ju?=
 =?utf-8?B?eExOSEhQSHV2Z2xiY0MzamNiTHYyRzBIRG1RSC83VUlqL3QyZmdiR1V5bTZj?=
 =?utf-8?B?VU9hQWY2bWpIa1laTTRFKzVWbjVqNlpjbnErdFVWQ2pLU2x1OEo2dHFZSW5i?=
 =?utf-8?B?bjFHSE9PS3RyZVJjelRHRXM4aFRnTFRUS1haa0lkbTZIYytvNlhLV21jOTBB?=
 =?utf-8?B?QXFUdzExVUd2cWF1aDFuMURwZHJ1Ry9KZ1NwYTVGMjZQZFFhZzNoY2Nka0dp?=
 =?utf-8?B?UlRZSFVoR2wxZC83NWZBdFkvR25TVnoxUk9uckNPMk51WVgrVG4zSDlHMXRh?=
 =?utf-8?Q?2PkKXCGt2OFmTKS9WxHPV60=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2e629b61-d75a-4027-73ba-08d9d42c06ec
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 11:26:21.0424
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6R9jJC2ERBkbXuVLM8a3m55KXyUX75Oe2y0xQWQGhLcp7QU5/2afQ+efELedkq0yJU2a6UzSXutx95iqm1dRQA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB2703

On 25.11.2021 14:39, Anthony PERARD wrote:
> 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>

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



From xen-devel-bounces@lists.xenproject.org Mon Jan 10 11:35:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 11:35:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255298.437446 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6sxM-00006h-J9; Mon, 10 Jan 2022 11:35:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255298.437446; Mon, 10 Jan 2022 11: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 1n6sxM-00006a-Ep; Mon, 10 Jan 2022 11:35:20 +0000
Received: by outflank-mailman (input) for mailman id 255298;
 Mon, 10 Jan 2022 11:35:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=RiBW=R2=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n6sxK-00006K-W9
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 11:35:19 +0000
Received: from ppsw-43.csi.cam.ac.uk (ppsw-43.csi.cam.ac.uk [131.111.8.143])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6145abf4-7209-11ec-81c1-a30af7de8005;
 Mon, 10 Jan 2022 12:35:16 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:50276)
 by ppsw-43.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.139]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n6sxG-000Iau-pO (Exim 4.95) (return-path <amc96@srcf.net>);
 Mon, 10 Jan 2022 11:35:14 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 80DD81FBEE;
 Mon, 10 Jan 2022 11:35:14 +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: 6145abf4-7209-11ec-81c1-a30af7de8005
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <25899482-4b0c-5fb4-5b02-226f75d1e5a6@srcf.net>
Date: Mon, 10 Jan 2022 11:35:14 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Subject: Re: [PATCH 0/2] mini-os: remove device specific struct file members
Content-Language: en-GB
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: <20220107104706.9859-1-jgross@suse.com>
 <20220109011603.bymferaebanvvmud@begin>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <20220109011603.bymferaebanvvmud@begin>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 09/01/2022 01:16, Samuel Thibault wrote:
> Juergen Gross, le ven. 07 janv. 2022 11:47:04 +0100, a ecrit:
>> can only be applied after the Xen libraries have stopped using the
>> related union members.
> Ah, ok :) Was that submitted somewhere?

https://lore.kernel.org/xen-devel/20220107103544.9271-1-jgross@suse.com/T/#u

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Jan 10 11:42:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 11:42:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255305.437461 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6t3k-0001cL-B0; Mon, 10 Jan 2022 11:41:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255305.437461; Mon, 10 Jan 2022 11:41: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 1n6t3k-0001cE-7b; Mon, 10 Jan 2022 11:41:56 +0000
Received: by outflank-mailman (input) for mailman id 255305;
 Mon, 10 Jan 2022 11:41:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HJuU=R2=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n6t3i-0001Zs-Su
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 11:41:54 +0000
Received: from mail3-relais-sop.national.inria.fr
 (mail3-relais-sop.national.inria.fr [192.134.164.104])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3f34282e-720a-11ec-9ce5-af14b9085ebd;
 Mon, 10 Jan 2022 12:41:29 +0100 (CET)
Received: from nat-inria-interne-52-gw-01-bso.bordeaux.inria.fr (HELO begin)
 ([194.199.1.52])
 by mail3-relais-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;
 10 Jan 2022 12:41:27 +0100
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n6t3G-00BIjn-Eo;
 Mon, 10 Jan 2022 12:41: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>
X-Inumbo-ID: 3f34282e-720a-11ec-9ce5-af14b9085ebd
IronPort-Data: =?us-ascii?q?A9a23=3A2uCFRqvZWTTDfXocWzxRkc6OQefnVMFcMUV32f8?=
 =?us-ascii?q?akzHdYEJGY0x3mGRLCGCPMv+JN2Kgc9FyPN7l8k0CuZHXzNZgG1ds+HtgHilAw?=
 =?us-ascii?q?SbnLYTAfx2oZ0t+DeWaERk5t51GAjX4wXFdokb0/n9BCZC86yksvU20buCkUrS?=
 =?us-ascii?q?cY3kpHVYMpBoJ0nqPpcZo2+aEvvDpW2thifuqyyHuEAfNNwxcagr42IrfwP9bh?=
 =?us-ascii?q?8kejRtD1rAIiV+ni3eF/5UdJMp3yahctBIUSKEMdgKxb76rIL1UYgrkExkR5tO?=
 =?us-ascii?q?Nyt4Xc2UAT7HTO2BiiFIPCvTk20kT4HV0j/xT2Pk0MC+7jx2SltVsxdELqZyxQ?=
 =?us-ascii?q?w40OrHkleIGFh1JFCc4OrdJkFPCCSLl7JTLkBOun3zEhq8G4FsNFYQd8bcpKXp?=
 =?us-ascii?q?U/vJeLj0RBjiBiPix26mTUfR3i4IoK8yDFIYevHBn1nTVAOgrRbjHQr7W/plI0?=
 =?us-ascii?q?TEonMdMEP3CIc0DZlJHfBnGJhFCJFoTIJY/h/uzwGnydSVCr1CYrrZx5HLcpCR?=
 =?us-ascii?q?u1JD9PdyTfcaFLfi5NG7wSnnu+W3lRxAcLt2WjDuD7n+2gOKKwHm+V51XTOT9/?=
 =?us-ascii?q?OVtxleU3GAeAQAGE1q9u/iwzECkM++z4nc8okIGxZXePmTyJjUlYyCFnQ=3D?=
 =?us-ascii?q?=3D?=
IronPort-HdrOrdr: =?us-ascii?q?A9a23=3AMYSUza3Vzqv+SOCQX0oOawqjBKMkLtp133Aq?=
 =?us-ascii?q?2lEZdPU1SKGlfq+V8sjzuSWftN9VYgBCpTn/AtjjfZqsz/JICOAqVN/IYOClgg?=
 =?us-ascii?q?qVxepZgrcKrQeBJ8SHzJ856Ztd?=
X-IronPort-AV: E=Sophos;i="5.88,276,1635199200"; 
   d="scan'208";a="2250076"
Date: Mon, 10 Jan 2022 12:41:26 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Andrew Cooper <amc96@srcf.net>
Cc: Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
Subject: Re: [PATCH 0/2] mini-os: remove device specific struct file members
Message-ID: <20220110114126.liis6f2pv5vfajqj@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Andrew Cooper <amc96@srcf.net>, Juergen Gross <jgross@suse.com>,
	minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
References: <20220107104706.9859-1-jgross@suse.com>
 <20220109011603.bymferaebanvvmud@begin>
 <25899482-4b0c-5fb4-5b02-226f75d1e5a6@srcf.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <25899482-4b0c-5fb4-5b02-226f75d1e5a6@srcf.net>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Andrew Cooper, le lun. 10 janv. 2022 11:35:14 +0000, a ecrit:
> On 09/01/2022 01:16, Samuel Thibault wrote:
> > Juergen Gross, le ven. 07 janv. 2022 11:47:04 +0100, a ecrit:
> >> can only be applied after the Xen libraries have stopped using the
> >> related union members.
> > Ah, ok :) Was that submitted somewhere?
> 
> https://lore.kernel.org/xen-devel/20220107103544.9271-1-jgross@suse.com/T/#u

Ok!

Samuel


From xen-devel-bounces@lists.xenproject.org Mon Jan 10 12:25:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 12:25:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255313.437472 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6tjY-0005t6-Po; Mon, 10 Jan 2022 12:25:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255313.437472; Mon, 10 Jan 2022 12:25:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6tjY-0005sz-M5; Mon, 10 Jan 2022 12:25:08 +0000
Received: by outflank-mailman (input) for mailman id 255313;
 Mon, 10 Jan 2022 12:25:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=RiBW=R2=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n6tjY-0005st-2t
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 12:25:08 +0000
Received: from ppsw-33.csi.cam.ac.uk (ppsw-33.csi.cam.ac.uk [131.111.8.133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5732d162-7210-11ec-81c1-a30af7de8005;
 Mon, 10 Jan 2022 13:25:06 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:47154)
 by ppsw-33.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.137]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n6tjU-000OhJ-hg (Exim 4.95) (return-path <amc96@srcf.net>);
 Mon, 10 Jan 2022 12:25:04 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 577C71FDB0;
 Mon, 10 Jan 2022 12:25:04 +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: 5732d162-7210-11ec-81c1-a30af7de8005
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <06bcb18f-5e85-0fc1-86e8-857cb296645f@srcf.net>
Date: Mon, 10 Jan 2022 12:25:04 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20220107103544.9271-1-jgross@suse.com>
 <20220107103544.9271-2-jgross@suse.com>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: [PATCH 1/2] tools/libs/evtchn: decouple more from mini-os
In-Reply-To: <20220107103544.9271-2-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 07/01/2022 10:35, Juergen Gross wrote:
> diff --git a/tools/libs/evtchn/minios.c b/tools/libs/evtchn/minios.c
> index e5dfdc5ef5..3305102f22 100644
> --- a/tools/libs/evtchn/minios.c
> +++ b/tools/libs/evtchn/minios.c
> @@ -38,16 +38,27 @@
>  
>  #include "private.h"
>  
> +LIST_HEAD(port_list, port_info);
> +
> +struct port_info {
> +    LIST_ENTRY(port_info) list;
> +    evtchn_port_t port;
> +    unsigned long pending;
> +    int bound;

Now this is private, it's even more clear that pending and bound are bool's.

Making this adjustment drops 16 bytes from the structure.

> +};
> +
>  extern void minios_evtchn_close_fd(int fd);
>  
>  extern struct wait_queue_head event_queue;
>  
>  /* XXX Note: This is not threadsafe */
> -static struct evtchn_port_info *port_alloc(int fd)
> +static struct port_info *port_alloc(int fd)
>  {
> -    struct evtchn_port_info *port_info;
> +    struct port_info *port_info;
> +    struct file *file = get_file_from_fd(fd);
> +    struct port_list *port_list = file->dev;

This would be rather more obviously correct if port_alloc() took xce
rather than fd.

It is reasonable to assume that xce->fd is good, and that
get_file_from_fd(xce->fd) will be non-null, but the current logic makes
this very opaque.

> @@ -75,12 +86,25 @@ static void port_dealloc(struct evtchn_port_info *port_info)
>   */
>  int osdep_evtchn_open(xenevtchn_handle *xce, unsigned int flags)
>  {
> -    int fd = alloc_fd(FTYPE_EVTCHN);
> +    int fd;
> +    struct file *file;
> +    struct port_list *list;
> +
> +    list = malloc(sizeof(*list));
> +    if ( !list )
> +        return -1;
> +
> +    fd = alloc_fd(FTYPE_EVTCHN);
> +    file = get_file_from_fd(fd);
>  
> -    if ( fd == -1 )
> +    if ( !file )
> +    {
> +        free(list);
>          return -1;
> +    }

This wants rearranging to keep alloc_fd() ahead of malloc().  With that,
there is no need for free(list) in this error path.

>  
> -    LIST_INIT(&files[fd].evtchn.ports);
> +    file->dev = list;
> +    LIST_INIT(list);
>      xce->fd = fd;
>      printf("evtchn_open() -> %d\n", fd);
>  
> @@ -104,12 +128,15 @@ int osdep_evtchn_restrict(xenevtchn_handle *xce, domid_t domid)
>  
>  void minios_evtchn_close_fd(int fd)

Something very broken is going on here.  The top of evtchn.c declares:

extern void minios_evtchn_close_fd(int fd);

I'm surprised that the compiler doesn't object to instantiating a
function which has previously been declared extern.


Furthermore, in minios itself.

lib/sys.c:91:extern void minios_evtchn_close_fd(int fd);
lib/sys.c:447:      minios_evtchn_close_fd(fd);

So lib/sys.c locally extern's this function too.  It needs to be in the
public API if it is used like this, but surely the better thing is to
wire up xenevtchn_close() properly.

>  {
> -    struct evtchn_port_info *port_info, *tmp;
> +    struct port_info *port_info, *tmp;
> +    struct file *file = get_file_from_fd(fd);
> +    struct port_list *port_list = file->dev;

Is it safe to assume that fd is good here?

> @@ -273,15 +305,17 @@ xenevtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce,
>  xenevtchn_port_or_error_t xenevtchn_pending(xenevtchn_handle *xce)
>  {
>      int fd = xce->fd;
> -    struct evtchn_port_info *port_info;
> +    struct file *file = get_file_from_fd(fd);

You've dropped all uses of 'fd' from this function, so why not drop the
local variable and use xce->fd here?

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Jan 10 12:37:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 12:37:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255324.437483 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6tvC-0007Qv-Sd; Mon, 10 Jan 2022 12:37:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255324.437483; Mon, 10 Jan 2022 12:37: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 1n6tvC-0007Qo-PU; Mon, 10 Jan 2022 12:37:10 +0000
Received: by outflank-mailman (input) for mailman id 255324;
 Mon, 10 Jan 2022 12:37:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QKLk=R2=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1n6tvB-0007Qi-PZ
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 12:37:09 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 05385c4f-7212-11ec-81c1-a30af7de8005;
 Mon, 10 Jan 2022 13:37:08 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 05385c4f-7212-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1641818227;
  h=from:to:cc:subject:date:message-id:mime-version;
  bh=QiSDjj7+GI3Fxbxh1Um918wvQhmdrNs4LAFfcFV+RBk=;
  b=HlRQQWQP9YPYqi5M4AWHjsulHsh8SYQEQe7qmY7AZojfnps4v8KUEvKq
   X95hFsdDgesukERz3kQc6yaChWNsvw09X05wJjA9S27diaV3HDGGZxOS+
   Uakq00L7Aq2xj/QXLWD4P+z0NpnLBrvSGeSrFIoX1d3r+Vb73wMR6m4D0
   c=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: 09cfJS3tF7aH7y7geQvXgHbxwnep3Y8Iu/OC9zBig6SZIDnoiV5An/SMHQKNufiOpQijFBa8gD
 FrpySETOCSEpQYqchOr5G16hdKRsrhdqXHoYYYSr98nGD7NtRaOWeDElR7m9+uIva+0KbbJa4Q
 WNBKBN74SP6g455G3SV5fn5fld5Z1qAhDXUT+bAniy/zLBOE5ClwE5l8PN7UabOMSrLdjWQsw8
 Aonuyjiwhshss6Ne6zEo2gdeW4eF94C0HjJFcfYoJ6yn5K8lbTjOPtHxZpNiAL+eCYdlH2hnsc
 yH2UXzCbtWxFypxwCrogFfcR
X-SBRS: 5.2
X-MesageID: 61642118
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:aQe7Ga4ge6HOYj0aeB42CAxRtP7AchMFZxGqfqrLsTDasY5as4F+v
 jRMW2GFb/uDNmD9eN50aoTnoEtSusXTmN9rS1A9pXoyHi5G8cbLO4+Ufxz6V8+wwmwvb67FA
 +E2MISowBUcFyeEzvuV3zyIQUBUjclkfJKlYAL/En03FV8MpBsJ00o5wbZg29Yw27BVPivW0
 T/Mi5yHULOa82Yc3lI8s8pvfzs24ZweEBtB1rAPTagjUG32zhH5P7pGTU2FFFPqQ5E8IwKPb
 72rIIdVXI/u10xF5tuNyt4Xe6CRK1LYFVDmZnF+A8BOjvXez8CbP2lS2Pc0MC9qZzu1c99Zy
 PJml6GpRx8QMJLGpuhFbwd1PCRABPgTkFPHCSDXXc27ykTHdz3nwul0DVFwNoodkgp1KTgQr
 7pCcmlLN03dwbLtqF64YrAEasALBc/nJo4A/FpnyinUF60OSpHfWaTao9Rf2V/cg+gQRKiCP
 ZNAOVKDajzQe01gNAonCKthkem030DtSyJ58FS88P9fD2/7k1UqjemF3MDuUt6FX8JOhW6Du
 3nLuW/+B3kyJNGZjDaI7H+oruvOhj/gHpIfEqWi8fxni0HVwXYcYCD6TnPi/6P/0BTnHYsCd
 QpEoULCsJTe6mSrafLfYgS2uEeKgRQiV4JsDcAV7T+0n/+8DxmiOkAISTtIadoDvcAwRCA32
 lLho+4FFQCDo5XOFyvDq+78QSeafHFMcDRcPXNsoR4tvoG7yLzfmC4jWTqK/ESdqtTuUQ/9z
 DmRxMTVr+VC1JVbv0lXEL2uvt5NmnQrZlNvjuk0djj8hu+cWGJDT9fxgbQ8xawQRLt1tnHb4
 BA5dzG2tYji962lmi2XW/kqF7q0/fuDOzC0qQcxQ8B+qm/woCPzLNo4DNRCyKFBaZ9sldjBO
 h67hO+szMULYCvCgVFfPupd9PjGPYC/TI+4B5g4n/JFY4RrdR/vwc2dTRX44owZq2B1yftXE
 c7CKa6EVC9GYYw6kmbeb7pDgNcDm3BvrUuOFMuT50n2jtKjiIu9FO1t3K2mNL5ptctpYWz9r
 r5iCid9404OD72lPHiGqN57wJJjBSFTOK0aYvd/LoarSjeK0kl7YxMI6b9+KYFjgYpPkeLEo
 iO0VkNCkQKtjnzbMwSaLHtkbeq3D5p4qHs6Ow0qPEqphCd/Mdr+sv9HestlZ6Qj+cxi0eVwE
 6sPdfKfD6kdUT/A4TkcM8Xw9dQwaBSxiAuSFCO5ezxjLYV4TgnE94a8LAvi/SUDFAStss46r
 +Hy3w/XW8NbFQ9jENzXeLSkyFbo5SoRn+d7Xk3pJNhPeRqzrNg2enKp1vJuepMCMxTOwDeex
 j26OxZAqLmfuZIx/fnImbuA89WjHdxhExcIBGLc97u3a3XXpzLx3Y9aXe+UVjnBT2eoqr66b
 OBYwvygYv0KmFFG79h1H7pxlP9s4tLuo/lRzxh+HWWNZFOuU+syLn6D1MhJl6tM2r4G5lfmB
 hPRooFXaeeTJcfoMF8NPw50PO2M2MYdliTW8flocl7x4zV6/ebfXEhfV/VWZPex8Feh3FsZ/
 Noc
IronPort-HdrOrdr: A9a23:vQcH9KHRG35AbqwmpLqE/seALOsnbusQ8zAXP0AYc3Jom62j5q
 eTdZsgtSMc5Ax8ZJhCo6HlBEDjewK+yXcd2+B4Vt3OYOCPghrMEGgI1+rfKlPbdBEWjtQtt5
 tdTw==
X-IronPort-AV: E=Sophos;i="5.88,277,1635220800"; 
   d="scan'208";a="61642118"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
Subject: [PATCH] tools/libs/evtchn: Deduplicate xenevtchn_fd()
Date: Mon, 10 Jan 2022 12:36:54 +0000
Message-ID: <20220110123654.31423-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain

struct xenevtchn_handle is common in private.h, meaning that xenevtchn_fd()
has exactly one correct implementation.

Implement it in core.c, rather than identically for each OS.  This matches all
other libraries (call, gnttab, gntshr) which implement an fd getter.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Juergen Gross <jgross@suse.com>
---
 tools/libs/evtchn/core.c    | 5 +++++
 tools/libs/evtchn/freebsd.c | 5 -----
 tools/libs/evtchn/linux.c   | 5 -----
 tools/libs/evtchn/minios.c  | 5 -----
 tools/libs/evtchn/netbsd.c  | 5 -----
 tools/libs/evtchn/solaris.c | 5 -----
 6 files changed, 5 insertions(+), 25 deletions(-)

diff --git a/tools/libs/evtchn/core.c b/tools/libs/evtchn/core.c
index c402d9393b65..de925fc9630c 100644
--- a/tools/libs/evtchn/core.c
+++ b/tools/libs/evtchn/core.c
@@ -120,6 +120,11 @@ int xenevtchn_close(xenevtchn_handle *xce)
     return rc;
 }
 
+int xenevtchn_fd(xenevtchn_handle *xce)
+{
+    return xce->fd;
+}
+
 int xenevtchn_restrict(xenevtchn_handle *xce, domid_t domid)
 {
     return osdep_evtchn_restrict(xce, domid);
diff --git a/tools/libs/evtchn/freebsd.c b/tools/libs/evtchn/freebsd.c
index 7427ab240860..c4d075350b5e 100644
--- a/tools/libs/evtchn/freebsd.c
+++ b/tools/libs/evtchn/freebsd.c
@@ -63,11 +63,6 @@ int osdep_evtchn_restrict(xenevtchn_handle *xce, domid_t domid)
     return -1;
 }
 
-int xenevtchn_fd(xenevtchn_handle *xce)
-{
-    return xce->fd;
-}
-
 int xenevtchn_notify(xenevtchn_handle *xce, evtchn_port_t port)
 {
     int fd = xce->fd;
diff --git a/tools/libs/evtchn/linux.c b/tools/libs/evtchn/linux.c
index f27b6def39ef..e61b77ca618a 100644
--- a/tools/libs/evtchn/linux.c
+++ b/tools/libs/evtchn/linux.c
@@ -66,11 +66,6 @@ int osdep_evtchn_restrict(xenevtchn_handle *xce, domid_t domid)
     return ioctl(xce->fd, IOCTL_EVTCHN_RESTRICT_DOMID, &restrict_domid);
 }
 
-int xenevtchn_fd(xenevtchn_handle *xce)
-{
-    return xce->fd;
-}
-
 int xenevtchn_notify(xenevtchn_handle *xce, evtchn_port_t port)
 {
     int fd = xce->fd;
diff --git a/tools/libs/evtchn/minios.c b/tools/libs/evtchn/minios.c
index e5dfdc5ef52e..8f84048b11f0 100644
--- a/tools/libs/evtchn/minios.c
+++ b/tools/libs/evtchn/minios.c
@@ -112,11 +112,6 @@ void minios_evtchn_close_fd(int fd)
     files[fd].type = FTYPE_NONE;
 }
 
-int xenevtchn_fd(xenevtchn_handle *xce)
-{
-    return xce->fd;
-}
-
 int xenevtchn_notify(xenevtchn_handle *xce, evtchn_port_t port)
 {
     int ret;
diff --git a/tools/libs/evtchn/netbsd.c b/tools/libs/evtchn/netbsd.c
index 1cebc21ffce0..0b223c4beb26 100644
--- a/tools/libs/evtchn/netbsd.c
+++ b/tools/libs/evtchn/netbsd.c
@@ -58,11 +58,6 @@ int osdep_evtchn_restrict(xenevtchn_handle *xce, domid_t domid)
     return -1;
 }
 
-int xenevtchn_fd(xenevtchn_handle *xce)
-{
-    return xce->fd;
-}
-
 int xenevtchn_notify(xenevtchn_handle *xce, evtchn_port_t port)
 {
     int fd = xce->fd;
diff --git a/tools/libs/evtchn/solaris.c b/tools/libs/evtchn/solaris.c
index df9579df1778..7fef88a73e79 100644
--- a/tools/libs/evtchn/solaris.c
+++ b/tools/libs/evtchn/solaris.c
@@ -57,11 +57,6 @@ int osdep_evtchn_restrict(xenevtchn_handle *xce, domid_t domid)
     return -1;
 }
 
-int xenevtchn_fd(xenevtchn_handle *xce)
-{
-    return xce->fd;
-}
-
 int xenevtchn_notify(xenevtchn_handle *xce, evtchn_port_t port)
 {
     int fd = xce->fd;
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Mon Jan 10 12:37:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 12:37:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255326.437494 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6tvV-0007ql-4q; Mon, 10 Jan 2022 12:37:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255326.437494; Mon, 10 Jan 2022 12: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 1n6tvV-0007qd-1H; Mon, 10 Jan 2022 12:37:29 +0000
Received: by outflank-mailman (input) for mailman id 255326;
 Mon, 10 Jan 2022 12:37:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/mw0=R2=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n6tvT-0007Qi-7K
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 12:37:27 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0f2bb321-7212-11ec-81c1-a30af7de8005;
 Mon, 10 Jan 2022 13:37:25 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0f2bb321-7212-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1641818245;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=RveZWm/ih9ie9MFMoMkWxz8wdmo9arCliZt0D8lycW4=;
  b=bl2RaHKNNuWMwNZY892vHAKJmdWCNNJ1Bp5/2Lash0eoFdWiphw9zsOp
   AqpMn7h0HXfbvvAzVGZZZYUVamP8Xw+QgGpOk28iGkGl7Ai5KEieghO57
   SdP5vUmjak2QW2vRU2CWJjIr0GDeB3mCya6bQ3YUv6FHKWj9rj9PrxutY
   M=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: 4a0kuLaA8bK1vC0VvN6JMCop2KY3wfZzlxsPtIYYIi8bwo6qkXa/G1TuEQvG90ycRSX05a48tt
 bLCADmUgOBA1QDgaUEGde3IZL82HdQlxKsb1PnwA93EkS4awYlaUx/cSg6IBG8lkKSIrzNsDy5
 xZIbyXiltBd90xgX05FS4zj1g9hdMTs8lMJs7DQYapociFDt5Be5rqyieO/ZZ3LuhgvUFu9vUO
 XeFZD/Q2YkBFF9w7nevlkQ/g+W0IEuIg2KG24OQWLHiQTB8YgU7rog5li4Ne+oYSXPrgYnDCTI
 dnbwlHMsB4TdWgrJ98Vunt1Z
X-SBRS: 5.2
X-MesageID: 63763237
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:7x+0BKnycPpLyLiA0njjAqLo5gwOIURdPkR7XQ2eYbSJt1+Wr1Gzt
 xIfDWiEOqrYYWH1ftsiYImw/EsCusTWy4A1SVdv+3g1FiMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BClVlxJVF/fngqoDUUYYoAQgsA180IMsdoUg7wbRh29cw2YLR7z6l4
 rseneWOYDdJ5BYsWo4kw/rrRMRH5amaVJsw5zTSVNgT1LPsvyB94KE3fMldG0DQUIhMdtNWc
 s6YpF2PEsE1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXee0v0XRYRQR4/ttmHozx+4
 IRXi5eIcToYB7LnuPs4f0dWHgYiJ6ITrdcrIVDn2SCS50jPcn+qyPRyFkAme4Yf/46bA0kXq
 6ZecmpUKEne2aTmm9pXScE17ignBNPsM44F/Glp0BnSDOo8QICFSKLPjTNd9Glr2Z4VR62BD
 yYfQRxGaRGQWV4QAXQSEYAijtWstECnIhQN/Tp5ooJoujOOnWSdyoPFOd7YatWMSchP2Fyfv
 XnP12LyGFcRM9n34SqI9Degi/HCmQv/WZkOD/uo+/hymlqRy2cPThoMWjOTo/O0l0q/UNJ3M
 FEP92wlqq1a3E6iS9TmGg21plaIvxgTRNNUF6s/5UeQycLpDx2xXzZeCGQbMZp/6ZFwFWdCO
 kK1c83BVCZRu4WtdEOk6Zy0shaeZyYYCjMYanpRJeca2OXLrIY2hxPJa99sFq+pk9H4cQ3NL
 yC2QDsW3OtK05NSv0mv1RWe2m/3+MCVJuIgzliPBgqYAhVFiJlJjmBCwXzS9r5+IYmQVTFtV
 1BUypHFvIji4Xxg/RFhodnh/pn0vZ5p0xWG2DaD+qXNERz2ohZPmqgKsFlDyL9BaJpsRNMQS
 Ba7VfltzJFSJmC2SqR8fpi8Dc8npYC5S4i8Ca2PM4ETMskrHONiwM2ITRXJt4wKuBJ9+ZzTx
 L/BKZr8ZZrkIfkPIMWKqxc1juZwm3FWKZL7TpHn1RW3uYdyl1bOIYrpxGCmN7hjhIvd+V292
 48Ga6OilksDOMWjPHi/2dNDfDgicClgbbir+pM/SwJ2Clc8cI3XI6WPkepJlk0Mt/k9q9okC
 VnmCxAIkwSu1CSXQehIA1g6AI7SsV9EhStTFQQnPEqy2mhlZoCq7awFcIAwc6Vh/+tmpcOYh
 dFcEylZKvgQGDnB5RoHapzx8N5reBix3FrcNCu5ejkvOZVnQlWRqNPjewLu8ggIDza26pRi8
 +HxiFuDTMpRXRlmAebXdOmrkwG7s08Clb8gREDPONRSJhnhqdA4Nyzrg/YrCMgQMhGflCCC3
 gObDE5A9+nAqoM46vfTgqWAo9v7GudyBBMCTWLa8ay3JW/R+W/6md1MV+OBfDb8UmLo+fr9O
 bUJnq+kaPBexQREqYtxFbpv3JkS3dq3qu8I1BlgEVXKc0+vVuFqLE6Z0JQdraZK3LJY51e7A
 xrd5tlANLyVE8r5C1pNdhE9Z+GO2PxIyDnf6fM5fBfz6CNtpefVVExTO1+HiTBHLaszO4Qgm
 L9ztMkT4g25qxwrLtfZ0XwEqzXSdiQNA/c9q5UXII73kQ56mFhNbKvVBjLy/JzSOc5HNVMnI
 2PMiafP71iGKpEur5bn+aDx4Ndg
IronPort-HdrOrdr: A9a23:2t8/5qoQYgQP9Sb5b4Ok8NsaV5o9eYIsimQD101hICG8cqSj+f
 xG/c5rsiMc5wxwZJhNo7y90cq7MBfhHPxOkOos1N6ZNWGM0gaVxelZnO7fKlbbehEWmNQz6U
 4ZSdkdNOHN
X-IronPort-AV: E=Sophos;i="5.88,277,1635220800"; 
   d="scan'208";a="63763237"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=b5e4xOl45cCTqThyWWbaSQu0kYfFQFn3MSHn4uLoVRqq81M4bAZUT5Y9S5aWtav8cXXburc+DGawONaZkWSa5RSMOLXI/bnjnw/usnRgofGFTydX55j1EKx5IyJlcrASiiH605CHgDjt3INHJ2raXKvBuOeNixCBYrS5sY9gbf2D9xh6ivJ7eA5PnlDdZTmlJy+xwxW/uVSX4fXX2ZFv9MlxC60Gm3sJq5vbr8hbkd/yiC/jHc1qNGbomhVStC4jJFqJTNP6BOTxzml84BwerZiR4YzDHJPbgX0aDrHzZ+nXIGvrTXPTNkv7FnAnpXJsPqS7EtOOu7wzM0PRHuqqkA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LTQ0SJcaijGjmXCKZShy1mI/QvewbPnvLZHrHZ+oB3Q=;
 b=BLQ37xm3McVAJP/Jb+8TRd8EVRQetu20BgeiaVXOwaX9MPPWzZ0/ZHhS8wU4gHbvuh+b6f4EGWDkPPasKSvmWMkesXpGRwaCo45cCGx2S3WruPeBZ7t+8WCL3JKS68AkyAslQjIg+UT9BVJUrFTRvX9GTb91iToXuyTLPedrPKseMVOOhA9gy1Oj5bmjw0LHWV4z8XMQNlVN+BUAGDLRgJ/LH304Nq9J3ratLtA2CXvAc5F+HEJkfE6Ch+5krMdkTtxSxfouMgix3rtFQv9DUia5Ry8juCbcPwsgwmt8vtpY77t6tAFs7dM0GbVRfYIuMee5G0Sx73xKvwfg2Oex7A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LTQ0SJcaijGjmXCKZShy1mI/QvewbPnvLZHrHZ+oB3Q=;
 b=wnUkumbFg3/Ea32CQwqNe7tJnOb2uzzidVrgVrgf3GKL9oQHSvVvGaaj5RF/+Q+szqsuhfl6sU92goCXwGp/sqvLxvc/Aiwlt1+zglKMmOxPZ0amYrruMN3Kk34j8ZtxD8R9NtUjOzUz1SivBS6TZfQV2hKKfZxO/14P1w8kY50=
Date: Mon, 10 Jan 2022 13:37:11 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: James Dingwall <james-xen@dingwall.me.uk>, <alexander.rossa@ncr.com>,
	<xen-devel@lists.xenproject.org>
Subject: Re: xen 4.14.3 incorrect (~3x) cpu frequency reported
Message-ID: <YdwodzmyvNwGJaSM@Air-de-Roger>
References: <20210721092958.GA2502468@dingwall.me.uk>
 <c9c6778d-9823-4b07-fb48-604acef1f3de@suse.com>
 <20210726123332.GA3844057@dingwall.me.uk>
 <06be7360-0235-3773-b833-3e0d65512092@suse.com>
 <20211105152501.GA485838@dingwall.me.uk>
 <20220106150809.GA856484@dingwall.me.uk>
 <78540c18-c54e-07e8-c099-d7bfd29bea91@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <78540c18-c54e-07e8-c099-d7bfd29bea91@suse.com>
X-ClientProxiedBy: MR2P264CA0108.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:33::24) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2ea0c0aa-591a-4ff7-1e14-08d9d435f0c7
X-MS-TrafficTypeDiagnostic: DM6PR03MB4059:EE_
X-Microsoft-Antispam-PRVS: <DM6PR03MB4059AF60980C7DA316F8F4DD8F509@DM6PR03MB4059.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: Mj00hSqP/Z+uTQgUsgQJGOr2xuZCCCMrjTB9E5e63EFd179XkMzempeUHw9JphsVWf2qVpGuTvCttFCFlyyZlmnaUsfYrMr630/N1mpR4+SHS3HGTVAog7vgqTGJgdqg48R7HqK28e6n65ddzEAxWTVE+l9h7Kfpdq6ju673MBFgAZIgP73kCHWWMcBWsRaf2VUhHTcbYjLVVPyPhSF9wQQYEw+p9WBuM9cRqNz64aMPuhYr7fKnnqsKePYgwMDu41C0J30eDaQw8OL+dSWjkNFHw6+s0jaAvOArkF4M8lTHCUiJakQO4u3i6N00ghwcpAE+a6atYLlQuwhbE23dT0Ny1cyEtbIsjJ6BjXzgrPpdsa9AAtsPXqXQ6oGVJQ5nF1CpQtby8yKV7EijS9rJ0HgrTRAUh+Lb99f+wxdzlKvQ9mTPfuZ7Yo+DISBCbAOsm9xtPoXAEeCURGaVgFR8MHXbuwGXG13jNy0d5SXTKKKAv4/4IN59Jy8mabY3dC0cQ1F8ncnCQ/5QlLAREy5R1XIE/AMhdoTaO0LGy1cwHpkIVKhjylo4Owwn0mA5hmpEtsqtEG4IJxNyKgu/bI+FXPDnBCyvb9ZnqHuygqy+RzMQQfqBacv+XPUkbFQz9sDfGtnjKsjMkg1lEIaNbMmgPQ==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(85182001)(186003)(8936002)(2906002)(6916009)(9686003)(86362001)(33716001)(508600001)(4326008)(6666004)(6512007)(8676002)(66556008)(66946007)(66476007)(53546011)(6506007)(5660300002)(38100700002)(26005)(316002)(6486002)(83380400001)(82960400001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Rzg0Qmp4UFByYzR1TTJBaUxOOHdLMDN2MU9NY3ZUYUJqRXp5RzF4MTJFeGhI?=
 =?utf-8?B?V0hIelovRnhxWUZVczBmOUtORUExb0p0UXpqTm9TUkx6THF2WTZpZ2NQTDNi?=
 =?utf-8?B?SFA4eUl1c09mVnU0ODFjajh2TGdKdW5ydjFhTDVESk1Ja0FETGQ1RzExRTZ2?=
 =?utf-8?B?OExyTTVlZ2tOREpVZ0ticmllM0dReWVtSHZJclpZTUZUSHQzN0huYjRTWEZM?=
 =?utf-8?B?SXdXcC9tazhCTFFtZm9teDc2Qk1yNlI3aHFvb0t4Wk13N2tzZ3pzd2VZRXZQ?=
 =?utf-8?B?bkt6QXJ6ckpENHFVcVRRMTRyRkFhbmZHeWlVSXdBaFJwWHlneVN3NlFPQW5W?=
 =?utf-8?B?WTRSRnpycUtqTC9rdnJ0MjhFVHpRak1vQ01PSFRyVE40SXc4NmhtRFplTVd6?=
 =?utf-8?B?eTNDb21INmgvb1VLVUNKZjJEdkMreHlCZ0RSV1RFSy9aS0pZZ0wxUWZxRUVr?=
 =?utf-8?B?c2RYeHlRdStvNk1hVUFxSmgvN0dyQk1ub3d3YjU1T3RCYllzbDV5eTFhWkcy?=
 =?utf-8?B?WCtINkQranBTNmEvME94Y2htRzdRVm5DeFh4MEQ5dEpOaUNCNG9GaVNTQlRa?=
 =?utf-8?B?eHk3Zm0wSXF2ODltd1lISlBTWVo0MUNvSFVzcEl1Y0ZCTWNSbjR1YURWcEdV?=
 =?utf-8?B?TXV5MFZrOG0wd3BuNTJISkNIUEpVOTVZUVNGZ3IremI4V0g4Y2hxZUdSMzRh?=
 =?utf-8?B?cldqekVlaTFMMjFqd3RkbExoaldMZGVCcDNCNmx0ZzVKQ3VqdWxBT2lPMGxP?=
 =?utf-8?B?ZnZOK0VjdzNhdlJUN0ovRVZYQnlFRHVyUGJQb0I3ZlgyTm42eDFwclVweHEr?=
 =?utf-8?B?QXlranowMGtRZGZBUUJDTjRKdXIzQ2RodGVJbXVBblhRN0ZMS25wdkFNZWhR?=
 =?utf-8?B?Q25QRGVmQU8xaUV4cjY2cFROVjU3Mk9veFhzRy9iYm82QVVNUjZKMk1VeExH?=
 =?utf-8?B?ZGJLeXhqTmVQeDJPaUFkbUdEZ0QvcmFmaStRTDExWU5qRko1VnAyWHlCS25F?=
 =?utf-8?B?UTVOaGlpTHhDSTBLQ3FHT2xSV3FHcDlOZTliRGowQjF3YlAvUWgvYVJuN2lm?=
 =?utf-8?B?ejFPRCt4eVFSSk9NYVRSS2dlVjEwQU5XYm1GQ3NKNUFndVBTdWQ3MGUzQWk0?=
 =?utf-8?B?bWhVZDYxRmZOUXh5RE1COHV5U0xKd1RJdWc0Y3NpSm9NMjNaNlZ5dkI3NzB3?=
 =?utf-8?B?bVdLZVZUREdlQTZaMytKTm9SS0YzaGtJTEVYTkI4LzdYTXVOYmVKV1d2aEVy?=
 =?utf-8?B?Y3UwRmQrRy81VWhGRWdLOE4wVHMxcjJYQXRlU2l5SjBwUnhsU2pMY0dNWE5I?=
 =?utf-8?B?OWtEZFNkSlhOWHVVUi9rVS83TStZRVcxQzZIbXkxcndkanlRck5ORWxVQTc3?=
 =?utf-8?B?bzJ1aitGc0dxSUQ3dWtPWVlqTXBDMnE5NEcrZzQyQ2NyZlI3SW5pYzJVeHdV?=
 =?utf-8?B?TE9ybmM0UCtwTXhLWk9zZW5tU3pqa210anJzMDY5YllmdEd2dTlrdlVNOEFO?=
 =?utf-8?B?OERQeVROQXd1SVJXNForM1p4aXBtU04xV05ERkRGTDVRUHh1UUMyb0dxc0JQ?=
 =?utf-8?B?K3N4Ri9vQWw0TGR1RHREeVl4ckVoREhveVhYKzloNlNwZElUdWphSVZGcTlM?=
 =?utf-8?B?aEZacFowZXNyQlptU21UbGhjWlY3Y05naWpxK05sUS9YRFltRkR0Zkt0UjBl?=
 =?utf-8?B?U3JpRUxHeXlGNWpDOXJTeHhCdFhidWcwemVZUHR4QXpTNHZGejlHZkV2cmVi?=
 =?utf-8?B?VUlHRnFTa2Y1dkpZT2tYcWxBMWhzQlBvSURhbmR2cmVPY2orS3NScmlNNDgy?=
 =?utf-8?B?SVU4YzdIRFdhOWlIb1Yza3lmUWVtY2w2cDJDL1JuU0MzOUk5UWRqWThlZGQ0?=
 =?utf-8?B?blh3Y011TVhsTEFiaWxlZ0JQZ205MU9kTHc4YTA3cFhlMmd1SE14bGdSWFR3?=
 =?utf-8?B?WUVVMHk1TWpLang0T3ZkMjRQWEVUTlJnTzR0R0tqdk1Hbm5zYzVYdTNvWko4?=
 =?utf-8?B?S1lTTmZGQWQ4dmRZUXhsWGNjTHAzczMzQ0FBUU8yemNESlJpQlhsRGROZENX?=
 =?utf-8?B?dnloMVVKc1lNK1NXVEg2RXNBSkJsR2xPbTR6czlVRWJJWmJ4Wkd0NjlzT1Zn?=
 =?utf-8?B?bWdrZ00xMFgxV1drUy8vZUQya1hTVlM5YXI3TGdHWmpWWUE2bkE3RkhtVnBZ?=
 =?utf-8?Q?bxiHDWIlun11rR8Wy7OVo+4=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 2ea0c0aa-591a-4ff7-1e14-08d9d435f0c7
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 12:37:19.1321
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2bna+PEi60meDVg1ncDWxZkSGnPwJ2jeztWg+I93WzeI+HMmyPJ8GVx6cKH3WOO3ad9U9liiOHvlR6haCvVnBg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4059
X-OriginatorOrg: citrix.com

On Fri, Jan 07, 2022 at 12:39:04PM +0100, Jan Beulich wrote:
> On 06.01.2022 16:08, James Dingwall wrote:
> >>> On Wed, Jul 21, 2021 at 12:59:11PM +0200, Jan Beulich wrote:                                                                            
> >>>> On 21.07.2021 11:29, James Dingwall wrote:                                                                                             
> >>>>> We have a system which intermittently starts up and reports an incorrect cpu frequency:                                               
> > ...
> >>> I'm sorry to ask, but have you got around to actually doing that? Or
> >>> else is resolving this no longer of interest?
> > 
> > We have experienced an occurence of this issue on 4.14.3 with 'loglvl=all'
> > present on the xen command line.  I have attached the 'xl dmesg' output for
> > the fast MHz boot, the diff from the normal case is small so I've not added
> > that log separately:
> > 
> > --- normal-mhz/xl-dmesg.txt     2022-01-06 14:13:47.231465234 +0000
> > +++ funny-mhz/xl-dmesg.txt      2022-01-06 13:45:43.825148510 +0000
> > @@ -211,7 +211,7 @@
> >  (XEN)  cap enforcement granularity: 10ms
> >  (XEN) load tracking window length 1073741824 ns
> >  (XEN) Platform timer is 24.000MHz HPET
> > -(XEN) Detected 2294.639 MHz processor.
> > +(XEN) Detected 7623.412 MHz processor.
> >  (XEN) EFI memory map:
> >  (XEN)  0000000000000-0000000007fff type=3 attr=000000000000000f
> >  (XEN)  0000000008000-000000003cfff type=7 attr=000000000000000f
> 
> Below is a patch (suitably adjusted for 4.14.3) which I would hope can
> take care of the issue (assuming my vague guess on the reasons wasn't
> entirely off). It has some debugging code intentionally left in, and
> it's also not complete yet (other timer code needing similar
> adjustment). Given the improvements I've observed independent of your
> issue, I may not wait with submission until getting feedback from you,
> since - aiui - it may take some time for you to actually run into a
> case where the change would actually make an observable difference.
> 
> Jan
> 
> x86: improve TSC / CPU freq calibration accuracy
> 
> While the problem report was for extreme errors, even smaller ones would
> better be avoided: The calculated period to run calibration loops over
> can (and usually will) be shorter than the actual time elapsed between
> first and last platform timer and TSC reads. Adjust values returned from
> the init functions accordingly.
> 
> On a Skylake system I've tested this on accuracy (using HPET) went from
> detecting in some cases more than 220kHz too high a value to about
> ±1kHz. On other systems the original error range was much smaller, with
> less (in some cases only very little) improvement.
> 
> Reported-by: James Dingwall <james-xen@dingwall.me.uk>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> TBD: Do we think we need to guard against the bizarre case of
>      "target + count" overflowing (i.e. wrapping)?

I also wonder whether a value of target close enough to the wrapping
point could cause the loop to stuck indefinitely, as count would
overflow and thus the condition won't be meet.

> TBD: Accuracy could be slightly further improved by using a (to be
>      introduced) rounding variant of muldiv64().
> TBD: I'm not entirely sure how useful the conditionals are - there
>      shouldn't be any inaccuracies from the division when count equals
>      target (upon entry to the conditionals), as then the divisor is
>      what the original value was just multiplied by.
> 
> --- a/xen/arch/x86/time.c
> +++ b/xen/arch/x86/time.c
> @@ -378,8 +378,9 @@ static u64 read_hpet_count(void)
>  
>  static int64_t __init init_hpet(struct platform_timesource *pts)
>  {
> -    uint64_t hpet_rate, start;
> +    uint64_t hpet_rate, start, expired;

Might be better named elapsed rather than expired?

It doesn't store the end of loop TSC value, but the delta between
start and end.

>      uint32_t count, target;
> +unsigned int i;//temp
>  
>      if ( hpet_address && strcmp(opt_clocksource, pts->id) &&
>           cpuidle_using_deep_cstate() )
> @@ -415,16 +416,35 @@ static int64_t __init init_hpet(struct p
>  
>      pts->frequency = hpet_rate;
>  
> +for(i = 0; i < 16; ++i) {//temp
>      count = hpet_read32(HPET_COUNTER);
>      start = rdtsc_ordered();
>      target = count + CALIBRATE_VALUE(hpet_rate);
>      if ( target < count )
>          while ( hpet_read32(HPET_COUNTER) >= count )
>              continue;
> -    while ( hpet_read32(HPET_COUNTER) < target )
> +    while ( (count = hpet_read32(HPET_COUNTER)) < target )
>          continue;
>  
> -    return (rdtsc_ordered() - start) * CALIBRATE_FRAC;
> +    expired = rdtsc_ordered() - start;

There's also a window between the HPET read and the TSC read where an
SMI/NMI could cause a wrong frequency detection.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Jan 10 12:42:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 12:42:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255335.437505 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6tzg-00010l-Sb; Mon, 10 Jan 2022 12:41:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255335.437505; Mon, 10 Jan 2022 12:41:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6tzg-00010e-PZ; Mon, 10 Jan 2022 12:41:48 +0000
Received: by outflank-mailman (input) for mailman id 255335;
 Mon, 10 Jan 2022 12:41: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 1n6tzf-00010T-4D; Mon, 10 Jan 2022 12:41: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 1n6tzf-0003wF-0P; Mon, 10 Jan 2022 12:41: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 1n6tze-0008C9-LE; Mon, 10 Jan 2022 12:41:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n6tze-0007Qy-Kk; Mon, 10 Jan 2022 12:41:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=G1AYG9m+yaOm6kHo1JShCQ11lOpj1NYcjEk2MFJEDQ4=; b=X/wnUdmI0euNZUlJ5X5fkOJ4UR
	lu454RK4AkY8b0h9uikM6bpWhZ9aaS70ceVSEsp9IH6ECMdOqjr+1m7SlfMH+KpFWjpyE6Tbn6hC7
	YClVJzKk/F5KR+LG0sMVcmD9fMFkHHP+cbLQiTXvg1iS9OQNB+O1XvV30zprPLSi+KmM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167649-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167649: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-arm64-arm64-xl-vhd:debian-di-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-rtds:guest-localmigrate/x10: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:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-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-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-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-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=ced5685208f4525edc3aa86f41eeaee5ccc9fe31
X-Osstest-Versions-That:
    xen=ced5685208f4525edc3aa86f41eeaee5ccc9fe31
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 10 Jan 2022 12:41:46 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl-vhd     12 debian-di-install fail in 167634 pass in 167649
 test-amd64-amd64-xl-rtds 20 guest-localmigrate/x10 fail in 167642 pass in 167634
 test-amd64-amd64-xl-rtds     18 guest-localmigrate         fail pass in 167642

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

version targeted for testing:
 xen                  ced5685208f4525edc3aa86f41eeaee5ccc9fe31
baseline version:
 xen                  ced5685208f4525edc3aa86f41eeaee5ccc9fe31

Last test of basis   167649  2022-01-10 01:51:53 Z    0 days
Testing same since                          (not found)         0 attempts

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


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

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

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

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


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Mon Jan 10 12:49:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 12:49:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255344.437515 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6u74-0001jq-MX; Mon, 10 Jan 2022 12:49:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255344.437515; Mon, 10 Jan 2022 12:49:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6u74-0001jj-Jf; Mon, 10 Jan 2022 12:49:26 +0000
Received: by outflank-mailman (input) for mailman id 255344;
 Mon, 10 Jan 2022 12:49:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=MsG/=R2=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n6u73-0001jd-C1
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 12:49:25 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bc988592-7213-11ec-9ce5-af14b9085ebd;
 Mon, 10 Jan 2022 13:49:23 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id ACF3B2113D;
 Mon, 10 Jan 2022 12:49:23 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 8D9CE13B04;
 Mon, 10 Jan 2022 12:49:23 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id PGhMIVMr3GEaIQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 10 Jan 2022 12:49:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bc988592-7213-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641818963; 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=+D3bRxWIH0WMv/xyHMAqfxBxtSYLVoFKUI5ox4GXMTM=;
	b=SVF7CNUJCvUjKG3tpURXDnnqxt8wA+FPQL1RwU4xWsRSXU5ssmHZthbxxOSVsg7OlkYWZJ
	iFXVhZ59i0PiYK7teBna0yTVjsPq1yyqgceCr9J2tQNc0THb6F1lJpsPuWi4u3Ikdyq9dd
	Iod8U32HyfvRz+lVkkZhynPtmMd4vB4=
Subject: Re: [PATCH 1/2] tools/libs/evtchn: decouple more from mini-os
To: Andrew Cooper <amc96@srcf.net>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20220107103544.9271-1-jgross@suse.com>
 <20220107103544.9271-2-jgross@suse.com>
 <06bcb18f-5e85-0fc1-86e8-857cb296645f@srcf.net>
From: Juergen Gross <jgross@suse.com>
Message-ID: <afa9ce9e-e85d-3886-98db-1e99203c9c89@suse.com>
Date: Mon, 10 Jan 2022 13:49:23 +0100
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: <06bcb18f-5e85-0fc1-86e8-857cb296645f@srcf.net>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="ItYcMFRolmfGULAmheMFTp4uyap4hF4In"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--ItYcMFRolmfGULAmheMFTp4uyap4hF4In
Content-Type: multipart/mixed; boundary="XqERSVA1it8JaBH873i7ksSFGgalrI6GZ";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <amc96@srcf.net>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <afa9ce9e-e85d-3886-98db-1e99203c9c89@suse.com>
Subject: Re: [PATCH 1/2] tools/libs/evtchn: decouple more from mini-os
References: <20220107103544.9271-1-jgross@suse.com>
 <20220107103544.9271-2-jgross@suse.com>
 <06bcb18f-5e85-0fc1-86e8-857cb296645f@srcf.net>
In-Reply-To: <06bcb18f-5e85-0fc1-86e8-857cb296645f@srcf.net>

--XqERSVA1it8JaBH873i7ksSFGgalrI6GZ
Content-Type: multipart/mixed;
 boundary="------------1B17F3FB4840E231B01CF670"
Content-Language: en-US

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

On 10.01.22 13:25, Andrew Cooper wrote:
> On 07/01/2022 10:35, Juergen Gross wrote:
>> diff --git a/tools/libs/evtchn/minios.c b/tools/libs/evtchn/minios.c
>> index e5dfdc5ef5..3305102f22 100644
>> --- a/tools/libs/evtchn/minios.c
>> +++ b/tools/libs/evtchn/minios.c
>> @@ -38,16 +38,27 @@
>>  =20
>>   #include "private.h"
>>  =20
>> +LIST_HEAD(port_list, port_info);
>> +
>> +struct port_info {
>> +    LIST_ENTRY(port_info) list;
>> +    evtchn_port_t port;
>> +    unsigned long pending;
>> +    int bound;
>=20
> Now this is private, it's even more clear that pending and bound are bo=
ol's.
>=20
> Making this adjustment drops 16 bytes from the structure.

Already done in V2. :-)

>=20
>> +};
>> +
>>   extern void minios_evtchn_close_fd(int fd);
>>  =20
>>   extern struct wait_queue_head event_queue;
>>  =20
>>   /* XXX Note: This is not threadsafe */
>> -static struct evtchn_port_info *port_alloc(int fd)
>> +static struct port_info *port_alloc(int fd)
>>   {
>> -    struct evtchn_port_info *port_info;
>> +    struct port_info *port_info;
>> +    struct file *file =3D get_file_from_fd(fd);
>> +    struct port_list *port_list =3D file->dev;
>=20
> This would be rather more obviously correct if port_alloc() took xce
> rather than fd.
>=20
> It is reasonable to assume that xce->fd is good, and that
> get_file_from_fd(xce->fd) will be non-null, but the current logic makes=

> this very opaque.

Good point. Will change.

>=20
>> @@ -75,12 +86,25 @@ static void port_dealloc(struct evtchn_port_info *=
port_info)
>>    */
>>   int osdep_evtchn_open(xenevtchn_handle *xce, unsigned int flags)
>>   {
>> -    int fd =3D alloc_fd(FTYPE_EVTCHN);
>> +    int fd;
>> +    struct file *file;
>> +    struct port_list *list;
>> +
>> +    list =3D malloc(sizeof(*list));
>> +    if ( !list )
>> +        return -1;
>> +
>> +    fd =3D alloc_fd(FTYPE_EVTCHN);
>> +    file =3D get_file_from_fd(fd);
>>  =20
>> -    if ( fd =3D=3D -1 )
>> +    if ( !file )
>> +    {
>> +        free(list);
>>           return -1;
>> +    }
>=20
> This wants rearranging to keep alloc_fd() ahead of malloc().=C2=A0 With=
 that,
> there is no need for free(list) in this error path.

Yeah, but the error path of malloc() having failed is quite nasty then.

>> -    LIST_INIT(&files[fd].evtchn.ports);
>> +    file->dev =3D list;
>> +    LIST_INIT(list);
>>       xce->fd =3D fd;
>>       printf("evtchn_open() -> %d\n", fd);
>>  =20
>> @@ -104,12 +128,15 @@ int osdep_evtchn_restrict(xenevtchn_handle *xce,=
 domid_t domid)
>>  =20
>>   void minios_evtchn_close_fd(int fd)
>=20
> Something very broken is going on here.=C2=A0 The top of evtchn.c decla=
res:
>=20
> extern void minios_evtchn_close_fd(int fd);
>=20
> I'm surprised that the compiler doesn't object to instantiating a
> function which has previously been declared extern.

Will be gone in V2, by making it static.

> Furthermore, in minios itself.
>=20
> lib/sys.c:91:extern void minios_evtchn_close_fd(int fd);
> lib/sys.c:447:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 minios_evtchn_close_fd(fd)=
;
>=20
> So lib/sys.c locally extern's this function too.=C2=A0 It needs to be i=
n the
> public API if it is used like this, but surely the better thing is to
> wire up xenevtchn_close() properly.
>=20
>>   {
>> -    struct evtchn_port_info *port_info, *tmp;
>> +    struct port_info *port_info, *tmp;
>> +    struct file *file =3D get_file_from_fd(fd);
>> +    struct port_list *port_list =3D file->dev;
>=20
> Is it safe to assume that fd is good here?

Yes.

>=20
>> @@ -273,15 +305,17 @@ xenevtchn_port_or_error_t xenevtchn_bind_virq(xe=
nevtchn_handle *xce,
>>   xenevtchn_port_or_error_t xenevtchn_pending(xenevtchn_handle *xce)
>>   {
>>       int fd =3D xce->fd;
>> -    struct evtchn_port_info *port_info;
>> +    struct file *file =3D get_file_from_fd(fd);
>=20
> You've dropped all uses of 'fd' from this function, so why not drop the=

> local variable and use xce->fd here?

Yes.


Juergen


--------------1B17F3FB4840E231B01CF670
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-----

--------------1B17F3FB4840E231B01CF670--

--XqERSVA1it8JaBH873i7ksSFGgalrI6GZ--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHcK1MFAwAAAAAACgkQsN6d1ii/Ey/o
qgf7BRQfgIqQZXy0xpB1IzXh2oHr6m5SHibpx7CHlqiGwbtb7Z/HKV02q5SbTAN7teoe9FLQm2gZ
Yqy49lOr8oDqkv4h1jf1WZg9WmTDKXS0SXSrjX6vLL6BEdD3245bGf5yIhMnPVowe3PpY9XDkOxF
PKZymZnB5DBSYhJWYqLlocejX0/jj8KDOTDo7Hoza1pAN5Bs0IGGs3Qvk17WfvDxQd+xVw9wNzyS
Qi047qe1iomhmj2EGhAO93x7OOYjWLb9IcQQMk0VsJVR/rkbSTJZyDCRXcmjdC1GBAhYZw+5Cq7t
ylNMppJwsEG0qo7BxiZYJXmiopWshKZOG0vFZ53AMw==
=ULFU
-----END PGP SIGNATURE-----

--ItYcMFRolmfGULAmheMFTp4uyap4hF4In--


From xen-devel-bounces@lists.xenproject.org Mon Jan 10 12:50:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 12:50:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255348.437527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6u8T-00036g-6S; Mon, 10 Jan 2022 12:50:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255348.437527; Mon, 10 Jan 2022 12:50:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6u8T-00036Z-2q; Mon, 10 Jan 2022 12:50:53 +0000
Received: by outflank-mailman (input) for mailman id 255348;
 Mon, 10 Jan 2022 12:50:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=MsG/=R2=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n6u8S-00036R-8s
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 12:50:52 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f0a3d5bd-7213-11ec-9ce5-af14b9085ebd;
 Mon, 10 Jan 2022 13:50:51 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 2E0372113D;
 Mon, 10 Jan 2022 12:50:51 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 125FE13B04;
 Mon, 10 Jan 2022 12:50:50 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id nzjXOqor3GHRIQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 10 Jan 2022 12:50:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f0a3d5bd-7213-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641819051; 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=jQIa1U4J3prLjGYCY9VQJ9JD4GNAhK3V7gXaphH6fSs=;
	b=GgYXS2Ohn1M7NB6pBQ0+OsUukdL7IfZf1qk26OJ8rSd1wZRhovz7JLyrck8DJMCPpqMu+g
	X/5lAMXQlvDywhXCz5rG4gaaNIt4nEOfwfBwkDz3Pm6CJ/07cPS4+llSAYEssr6kwSz2Tl
	6K8TMqInhKgAC/AOH7b9r1YbSmgb5ZE=
Subject: Re: [PATCH] tools/libs/evtchn: Deduplicate xenevtchn_fd()
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@citrix.com>
References: <20220110123654.31423-1-andrew.cooper3@citrix.com>
From: Juergen Gross <jgross@suse.com>
Message-ID: <e7ebafd0-49ec-7fb7-3b7a-0ff3d31353fe@suse.com>
Date: Mon, 10 Jan 2022 13:50:50 +0100
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: <20220110123654.31423-1-andrew.cooper3@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="FWxykAj4tX1zh45cIWBwC146z8vtPmFPa"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--FWxykAj4tX1zh45cIWBwC146z8vtPmFPa
Content-Type: multipart/mixed; boundary="aKMCBktd91i75oo944sLwA18vWHakccz5";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <e7ebafd0-49ec-7fb7-3b7a-0ff3d31353fe@suse.com>
Subject: Re: [PATCH] tools/libs/evtchn: Deduplicate xenevtchn_fd()
References: <20220110123654.31423-1-andrew.cooper3@citrix.com>
In-Reply-To: <20220110123654.31423-1-andrew.cooper3@citrix.com>

--aKMCBktd91i75oo944sLwA18vWHakccz5
Content-Type: multipart/mixed;
 boundary="------------1B9AE0814ACB35DF4581A23F"
Content-Language: en-US

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

On 10.01.22 13:36, Andrew Cooper wrote:
> struct xenevtchn_handle is common in private.h, meaning that xenevtchn_=
fd()
> has exactly one correct implementation.
>=20
> Implement it in core.c, rather than identically for each OS.  This matc=
hes all
> other libraries (call, gnttab, gntshr) which implement an fd getter.
>=20
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Oh, indeed.

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


Juergen

--------------1B9AE0814ACB35DF4581A23F
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-----

--------------1B9AE0814ACB35DF4581A23F--

--aKMCBktd91i75oo944sLwA18vWHakccz5--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHcK6oFAwAAAAAACgkQsN6d1ii/Ey/8
Iwf7Bm+NvawA1h4kt3taDGsB+mSIqFLHPfPn3givWXYqSOLGpEmB5z875ofBjRm5xIH67R1pT+ch
fdpT6wxSDkegz0gPNfSMN8gglzxo7VyxOnlhCMQC1XrOh+aVGYm7QsunevZVMkxNHNB/lWGHcdV+
inSB/jM9zEkuspila4fXyRB97ibemeJyVuzN17Fl+IOjlKu8FcE80Q9U3PwkejW6zIXjTWW7tnOv
ns9uJLdW/l2rgBvxAaDC4ueSpSetsKlTdSU0wDxBRma4LBGFJH5TJBAG6V1Zs1oznWmcSYrBQW9Z
mrk0d1HerF7MiLO+dgeW5AouwviFe3Y8n+Doia5pOA==
=9b56
-----END PGP SIGNATURE-----

--FWxykAj4tX1zh45cIWBwC146z8vtPmFPa--


From xen-devel-bounces@lists.xenproject.org Mon Jan 10 13:11:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 13:11:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255355.437538 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6uSa-0005Vr-UB; Mon, 10 Jan 2022 13:11:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255355.437538; Mon, 10 Jan 2022 13: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 1n6uSa-0005Vk-R2; Mon, 10 Jan 2022 13:11:40 +0000
Received: by outflank-mailman (input) for mailman id 255355;
 Mon, 10 Jan 2022 13:11:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6uSZ-0005Vb-6g
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 13:11:39 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d7b6ae71-7216-11ec-9ce5-af14b9085ebd;
 Mon, 10 Jan 2022 14:11:37 +0100 (CET)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2055.outbound.protection.outlook.com [104.47.14.55]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-6-wzYVxXxcPSOsP_JjxyztDw-1; Mon, 10 Jan 2022 14:11:36 +0100
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.4867.7; Mon, 10 Jan
 2022 13:11:35 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 13:11: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: d7b6ae71-7216-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641820297;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=08DXWdVE3KliSo4u1Fp9Kw2rw19cO5U6NuHEpxecJJI=;
	b=LqgM6iKB4FHwmot9Vvm8rKFlDGTeXAMKf2YD3zDO1TCSJgquPDfBWHDuoMTDvszy9ax8gR
	LDAdTcTmSQGvG/QkUk1+YwT5PT2tih4nC5l9VhWjK44vsgKbWJtSWFoeUKbdFX52j5gev0
	/vv0LNAONP+2JocmoCfeg+MHZnjuUsE=
X-MC-Unique: wzYVxXxcPSOsP_JjxyztDw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=K8lmXhjzShA9hoy7QpV7RGrT++07IO/F2iIZuir66N0qSDfbpsm5/yRpy2p1cpxBAPcB6VFg6o5oiXvTZEq/suwcrTPSAn22dIYq7cw1ufSsDIvrDzCXHfty1uG5xTkxDRshAczO++BpflkeWqDUrG9n/PIy283Tq2dA0bqfCPd3B6SSolG71cL2xe36s0qF1fIgsTnYr8SScMVWeilGzICdjsE0qKsmGoNDZ/oaJJuUphbmA2FuGmRUiQJ/iL/mEpXBDeOwVtFpSCpldkn1Zwh+ld3WdwFLSHtfkO2NVG8CyFG+QoC9sY4FX3G+YWd1VySQMmfmgQH3AuXw2u3T0Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7PMjNK2nW0KVCPWSS3zDDezwRSJ8z00zQCp6CWEwZuc=;
 b=BihCpKTNAk5UyjebVCT+5eUDtzWxSHzkxYKup5Q4tDkKbVbb5+hBJcrjjejI7bM93DKFIa+uviqilqirzBJZ8TG3aPRPTmY1WmAaN+QX8jFBun2T9D82CJU8IIxRnmMU3FWDNDUe2UEBEUTyrAIKIXA2KdlY04PhUnjz0W/ifnr/yfbrj/Nqgc8ctmDtvuvRY0unyJGRiiiaUMSFTdhMegpTYIynNfV3HeYprI5pP4jnrynJxul4i8AA4bXzVznpsGdIE9Bzn4fngVrLWJ4AUR+28iBLcewPlHWfZWAuc+yh7LP5hLGbPmI4Pxw2il1QCXc11HFg/1zt4WaEYR6ZyQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <539e31bc-3e68-9e9d-3bb3-2d0f1b2834fc@suse.com>
Date: Mon, 10 Jan 2022 14:11:33 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: xen 4.14.3 incorrect (~3x) cpu frequency reported
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
CC: James Dingwall <james-xen@dingwall.me.uk>, alexander.rossa@ncr.com,
 xen-devel@lists.xenproject.org
References: <20210721092958.GA2502468@dingwall.me.uk>
 <c9c6778d-9823-4b07-fb48-604acef1f3de@suse.com>
 <20210726123332.GA3844057@dingwall.me.uk>
 <06be7360-0235-3773-b833-3e0d65512092@suse.com>
 <20211105152501.GA485838@dingwall.me.uk>
 <20220106150809.GA856484@dingwall.me.uk>
 <78540c18-c54e-07e8-c099-d7bfd29bea91@suse.com>
 <YdwodzmyvNwGJaSM@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YdwodzmyvNwGJaSM@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS8PR07CA0007.eurprd07.prod.outlook.com
 (2603:10a6:20b:451::6) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6addd351-7787-4e5d-c648-08d9d43aba5f
X-MS-TrafficTypeDiagnostic: VE1PR04MB6478:EE_
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB6478AE0F273B96BA4764BB0DB3509@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:
	Xb2vebHsh35bvZzJrWh61zxe8BL/HWeNo8oCG0cBcYx1FCfFCIFkpfPzeypl6MAS9CzqW/nvp4u488aWwMQz/QmZNdFxB5qt++Gi0HhlPyCH1oAHVwNykF6V6L4/Ya5DOFH4pQplctJbIXNuY3IAtXoDkzj2gomKEBAsM9rQqacpfJRAanvPLRvVGFtBbDCGRnLf33KWXQC5F/gWyWrSglgR5TL4x4Poow0BpCQizwo5cs2w7wddf5ngj/YTiTi54v1aUjmwHKRHXciMUXyqpb579H8eq8XyuzQZ+lc+aRFRv4I2lsak0hjDFw7yfkNC5QbOf3A3AtwQxfDayS4A4s/YR9AuanRN3kfVAThYFmbuB8k0qeaNoM0JBXRzlTnqXRne6DZ0v/yD/d3m90UNmfA6SnSallfN++/9gAbtYOzmOAbPDB6ag4A/inKTGzPDtXzU+hhvdB8EWwZa3EcZYl9OgVephmJQQxPyiW2+XFXf5KR18fwndRw0feM5wCKp1Ro3aum4o9IljDhfIDK5yP9sFEDpFXvwncIIwDQ5H7vUJC3h2fjg+Gpx/+Lr3pF+RZy8uraYNGvZGly64hs+xTpZkUIId1x+AFifGP/eHK8bTsH8enT8FMg+kt0F3l1AsmDUXMngspde/GAXB7Oyo2/v3ZtVLn0kb6dtpFPJJTrwzz8JkO4q/6YMOdcFZi17WgSJBH2yrOe2Kdt4yCxU+VyeEyNk2C/xjD3wu6ivTAY=
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)(31696002)(66946007)(31686004)(86362001)(8676002)(6512007)(66476007)(36756003)(4326008)(6486002)(66556008)(2616005)(2906002)(53546011)(186003)(508600001)(6506007)(5660300002)(26005)(6916009)(83380400001)(38100700002)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?mhUk4j+jS0SAtB0Q7G5oYhpO4j/zUS3KQapHbqTRAXrYEBG4PvxCG9TUi7g6?=
 =?us-ascii?Q?/s0K4HkeT4s0CNZ9LqkS8FATQWixmDQmRQ8Yy+iv7RwVVVgmiSbK4uG9T6R9?=
 =?us-ascii?Q?WgMDpP+MjHgwemgY53k5i1T8vlRAeuPuh92gS6C3eJJSkUPDWSzfbkSFhD+E?=
 =?us-ascii?Q?4rQMa0aWEwzpEWU0OT/9a9tppgVr3uN5UNbZGUuyWkLGprMhQ6MxQnKh2pzg?=
 =?us-ascii?Q?u7fcrLzuASUfItAzKcqOyvTQ7mEGU8KI0Urbeo3WuGbxHBGwQfvFJhDe2U2o?=
 =?us-ascii?Q?28NEKeWSCCboIthrXPkX326EgOuxE2MRS1LDsD+o1D1DJhODQE4RmdEh52Jg?=
 =?us-ascii?Q?xNnVyP25rZPkvJBli3X9NOzrlUoA6ZsKd/YSMo2Qx7oXr+5OzPbKBan9Qd5l?=
 =?us-ascii?Q?spcKms62x6wD9ptS5VlOYHUg9flRPP2ER/CXUTN3k7thD2pfJH2U3fRRrtXN?=
 =?us-ascii?Q?BxdecsD5eLC0AHlwudGQZxvbxMbqhZlwQH9s3FXtglHoPQ5bhat1Kc7F2hkp?=
 =?us-ascii?Q?+ND2aBWdNuQVyl4vwmyZ/2hgjwRCVhu33/6UVRhpkbNjwwGCcCWLcTuGPz8B?=
 =?us-ascii?Q?O0rQ8pFTcCCjtyun4txnX5oZ9wN7C5rJtFHReRTXTgpmj5YrSpcpwYD5/GiO?=
 =?us-ascii?Q?RWlWiSpQePKpNzD5Zf1EJwRL77tBO34dns5Lg0WFD+I5iNekYuI20D3vogE0?=
 =?us-ascii?Q?kSO9RQM4nYzyj7t3Q99HOstqEcDp+X7xi8njOaqW+Krvf7ehmq9eUx3bpw+C?=
 =?us-ascii?Q?znCOl/ymoCl/0wt48B2R4kNHkWpSiYhzQP5uhwAOGdfd8/gm70ech52duFqj?=
 =?us-ascii?Q?dOesLj//S/PqWkkJg/IcF3TeH0hGQNLvaTamrJEX1wAzGQehLZtC+k235gX+?=
 =?us-ascii?Q?bheEbuIucwihvkVgq1X3gVQFFIfK4WDKgsl8gOcaJwmzCRv2QhSGirSN+Iya?=
 =?us-ascii?Q?1IhpQi0gPMEW/dtkmN+8ru45JFG9Q6WcdNJfJx2myef/wjNgdrMWhnPjSQ1e?=
 =?us-ascii?Q?iyxwdEhYNkFGAzmYubxwSYfmohw82oYDAtGptPg61RRZEedeFb9vUmvJ6XW+?=
 =?us-ascii?Q?3ttBAcLmLdt0MSdqU3hWKHB8krO3GMmYKeI2Pc2bC/203EpRgzU6+3QyM3Ar?=
 =?us-ascii?Q?WlYy/sNFpy8xj1nEISTuUfFydv70cTJXgtKdJVqZSFiLdS8Ltn3V6U6X2Ode?=
 =?us-ascii?Q?bwuWJxhYnjWmvzB0FuRV0lQN3cAEfsTQ2vTPWMIfEV4dWNeKuR403f2kC9SF?=
 =?us-ascii?Q?IrbVV8+UkBON6bixrDpESQFZlfkgMGJrEtsjkO+UmMMVC/3SY1lGCO66aRtt?=
 =?us-ascii?Q?jc+J8zC6PohoGqScUHrr/DzSM9+9r+pavlqSRUtJbS9uATcZ0zQtvv7ZRedf?=
 =?us-ascii?Q?TfeVJqFcQdQtYOt93gNKvnFHBnxraJQF0ZhADHmX+St2D1DtkFJj/3ntn/y0?=
 =?us-ascii?Q?n9Fa5r7qGsN+LJhAGfogcsMocvqPmtYZiL4PvebxxZE6ArS48cQa5gCUy1Q4?=
 =?us-ascii?Q?5BlGJAyob87S66cfrplbVBhnjUkSr5RHSgdMInc+vWIQjCJPpj8OACTSv37u?=
 =?us-ascii?Q?KSQCx5ylv2FVnEEwwSjyDlmVSALNw9gv+PI7lMo13FaBC1p66p6TDY/nmPN0?=
 =?us-ascii?Q?XHBFjqRxBXavQqojk6yGjag=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6addd351-7787-4e5d-c648-08d9d43aba5f
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 13:11:35.4503
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: m8XOBasH1T9SrVUBn8GGA1IoDFxieEk1+mX/b+Qn2otYnuzqQ25vtyu8r78wuJw/Exsn10Kn32kkQh4CcLWyTg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6478

On 10.01.2022 13:37, Roger Pau Monn=C3=A9 wrote:
> On Fri, Jan 07, 2022 at 12:39:04PM +0100, Jan Beulich wrote:
>> x86: improve TSC / CPU freq calibration accuracy
>>
>> While the problem report was for extreme errors, even smaller ones would
>> better be avoided: The calculated period to run calibration loops over
>> can (and usually will) be shorter than the actual time elapsed between
>> first and last platform timer and TSC reads. Adjust values returned from
>> the init functions accordingly.
>>
>> On a Skylake system I've tested this on accuracy (using HPET) went from
>> detecting in some cases more than 220kHz too high a value to about
>> =C2=B11kHz. On other systems the original error range was much smaller, =
with
>> less (in some cases only very little) improvement.
>>
>> Reported-by: James Dingwall <james-xen@dingwall.me.uk>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> TBD: Do we think we need to guard against the bizarre case of
>>      "target + count" overflowing (i.e. wrapping)?
>=20
> I also wonder whether a value of target close enough to the wrapping
> point could cause the loop to stuck indefinitely, as count would
> overflow and thus the condition won't be meet.

Oh, good point. I guess I'll make another patch to deal with that;
you mentioning leaves me surprised we so far had no reports of such.

>> --- a/xen/arch/x86/time.c
>> +++ b/xen/arch/x86/time.c
>> @@ -378,8 +378,9 @@ static u64 read_hpet_count(void)
>> =20
>>  static int64_t __init init_hpet(struct platform_timesource *pts)
>>  {
>> -    uint64_t hpet_rate, start;
>> +    uint64_t hpet_rate, start, expired;
>=20
> Might be better named elapsed rather than expired?
>=20
> It doesn't store the end of loop TSC value, but the delta between
> start and end.

I don't mind; I've renamed it, as the difference between the two in
this context isn't very clear to me anyway.

>> @@ -415,16 +416,35 @@ static int64_t __init init_hpet(struct p
>> =20
>>      pts->frequency =3D hpet_rate;
>> =20
>> +for(i =3D 0; i < 16; ++i) {//temp
>>      count =3D hpet_read32(HPET_COUNTER);
>>      start =3D rdtsc_ordered();
>>      target =3D count + CALIBRATE_VALUE(hpet_rate);
>>      if ( target < count )
>>          while ( hpet_read32(HPET_COUNTER) >=3D count )
>>              continue;
>> -    while ( hpet_read32(HPET_COUNTER) < target )
>> +    while ( (count =3D hpet_read32(HPET_COUNTER)) < target )
>>          continue;
>> =20
>> -    return (rdtsc_ordered() - start) * CALIBRATE_FRAC;
>> +    expired =3D rdtsc_ordered() - start;
>=20
> There's also a window between the HPET read and the TSC read where an
> SMI/NMI could cause a wrong frequency detection.

Right, as said in an earlier reply I did notice this myself (actually
on the way home on Friday). As also said there, for now I can't see
any real (i.e. complete) solution to this and the similar instances
of the issue elsewhere.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 10 14:33:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 14:33:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255362.437549 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6vjf-0004vM-3N; Mon, 10 Jan 2022 14:33:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255362.437549; Mon, 10 Jan 2022 14: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 1n6vjf-0004vD-06; Mon, 10 Jan 2022 14:33:23 +0000
Received: by outflank-mailman (input) for mailman id 255362;
 Mon, 10 Jan 2022 14:33:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dcx9=R2=xilinx.com=ayankuma@srs-se1.protection.inumbo.net>)
 id 1n6vjd-0004v3-TV
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 14:33:22 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20624.outbound.protection.outlook.com
 [2a01:111:f400:fe59::624])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4024eafb-7222-11ec-9ce5-af14b9085ebd;
 Mon, 10 Jan 2022 15:33:18 +0100 (CET)
Received: from BN9PR03CA0892.namprd03.prod.outlook.com (2603:10b6:408:13c::27)
 by PH0PR02MB7239.namprd02.prod.outlook.com (2603:10b6:510:1d::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.10; Mon, 10 Jan
 2022 14:33:15 +0000
Received: from BN1NAM02FT056.eop-nam02.prod.protection.outlook.com
 (2603:10b6:408:13c:cafe::f2) by BN9PR03CA0892.outlook.office365.com
 (2603:10b6:408:13c::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.11 via Frontend
 Transport; Mon, 10 Jan 2022 14:33:15 +0000
Received: from xir-pvapexch01.xlnx.xilinx.com (149.199.80.198) by
 BN1NAM02FT056.mail.protection.outlook.com (10.13.2.164) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4867.7 via Frontend Transport; Mon, 10 Jan 2022 14:33:14 +0000
Received: from xir-pvapexch01.xlnx.xilinx.com (172.21.17.15) by
 xir-pvapexch01.xlnx.xilinx.com (172.21.17.15) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2176.14; Mon, 10 Jan 2022 14:33:13 +0000
Received: from smtp.xilinx.com (172.21.105.197) by
 xir-pvapexch01.xlnx.xilinx.com (172.21.17.15) with Microsoft SMTP Server id
 15.1.2176.14 via Frontend Transport; Mon, 10 Jan 2022 14:33:13 +0000
Received: from [10.71.118.97] (port=59945)
 by smtp.xilinx.com with esmtp (Exim 4.90)
 (envelope-from <ayan.kumar.halder@xilinx.com>)
 id 1n6vjU-0002Tp-7D; Mon, 10 Jan 2022 14:33: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: 4024eafb-7222-11ec-9ce5-af14b9085ebd
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GHEFESl4F+f8qyYFQXMuBbZxrIdDepEok/nkeahSZfFEYzyCmCW4rCI/vZ79JlnxI/RKQii8Ke57qdO1G95ZDd6BJthIXRp499JtwrFdWgFfNHmS9nZOJ4EDufn6OKaDAP5wLV79xukYPBh9wMUbspq23KNHCwe+EIu5yKPK0+INUOdO8uywvK0XzBTBg+3iEbNnewNAsDRepQC8VeabcMT4OLXBPesKIrWFswUvTHzya1W1Uc0gDA4ZEPBNAJ80VEHX24ymjVKHbqkovqPmMXJS7NQbZLNTJTm7Fr93qEWUhzmp58rESpGo+fUGSSkyKyYwTF2G1th77SpaWSaP5w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6CumRueFBVoaazG2t53D450FpQPhJXZ9h/MAdjpmxH0=;
 b=UD/a7HxdfHHDzJn33mC5UG8OzmAiVKo6NnJ4NTMNjQyv8yax2KQCU6/kNwBC5px+GjVyFl6HGSnay+yz8PrdFCHrBX08e1BDAyq7LcNhgF9ZjC20FYirYnAXzl5ibyDmwmDaro0HFzMnRHbc5PwwwwEEjHQZwXiHRuGXSPjIhJreTon8zZYobYWrem3LTGuww6XLhiG0UmB6fPXpmD4vVZR/n9sWIRi85pklc56bEvUe0QVb12ORcFa/p/zx9FlYJAgWb+OPHApUO3j2eseMZCMFv+2TLIoVd1R+9It8lFOlzwmYIi6PkXuZEKPdGyPayX0rYRot9SoVFZPYF+GDFA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 149.199.80.198) smtp.rcpttodomain=arm.com smtp.mailfrom=xilinx.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=xilinx.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6CumRueFBVoaazG2t53D450FpQPhJXZ9h/MAdjpmxH0=;
 b=EcoUoN55DJRzlcrgciG/qLXn4bJ6kppyEQmUlKuti2RXasTWni1F9LqH3CdAEsfxHrQHX45gw3UKBfn1Jnan0v9iWZoaVrDhXJ4ZvJRN5ASihtyHcn2K1ymIAvLr5EqWrF6KnNhciUwmuZFjdmT54qhXnyxG0WO0kiv29FdB4UM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 149.199.80.198)
 smtp.mailfrom=xilinx.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=xilinx.com;
Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates
 149.199.80.198 as permitted sender) receiver=protection.outlook.com;
 client-ip=149.199.80.198; helo=xir-pvapexch01.xlnx.xilinx.com;
Content-Type: multipart/alternative;
	boundary="------------RzZKkUvWUsRk4nlUrV9fuYR6"
Message-ID: <2978437f-c7ad-e874-5355-5bdfa2185f1c@xilinx.com>
Date: Mon, 10 Jan 2022 14:33:11 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.4.1
Subject: Re: [XEN v2] xen/arm64: io: Decode 32-bit ldr/str post-indexing
 instructions
To: Andre Przywara <andre.przywara@arm.com>, Ayan Kumar Halder
	<ayan.kumar.halder@xilinx.com>
CC: Julien Grall <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, "stefanos@xilinx.com" <stefanos@xilinx.com>,
	"Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>,
	"jbeulich@suse.com" <jbeulich@suse.com>, <beata.michalska@linaro.org>,
	<richard.henderson@linaro.org>
References: <20211129191638.19877-1-ayankuma@xilinx.com>
 <20211130094950.1bf368d6@donnerap.cambridge.arm.com>
 <a69d41f1-7b57-c127-ae73-2de5a581dddd@xilinx.com>
 <D8811539-65F2-4D40-BFEF-CE72EA8E902A@arm.com>
 <4315f3f8-4431-3257-dc95-a3089532237b@xen.org>
 <20211208120048.63fbf49b@donnerap.cambridge.arm.com>
 <0f6e058a-bc23-2a77-6797-39bfacb7db79@xilinx.com>
 <20220106153327.6ebb2be1@donnerap.cambridge.arm.com>
From: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>
In-Reply-To: <20220106153327.6ebb2be1@donnerap.cambridge.arm.com>
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 238c87b8-234b-44d0-49e5-08d9d44622e8
X-MS-TrafficTypeDiagnostic: PH0PR02MB7239:EE_
X-Microsoft-Antispam-PRVS:
	<PH0PR02MB7239962DA21BCEE2441C0D80B2509@PH0PR02MB7239.namprd02.prod.outlook.com>
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
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:
	x1MDQ26pjcW8uBqcBTJJf4o0bdDZrjvO+xJroJrRxjLsK7X5v9XEwdVVmVXSoqgLVXVer14orWV7ylzk+SMxvaaiZLOr7lplGJTHCKSFs3/++VeIdRA++8ELGKOP3keGZPa96hBYlLjObSJwkEbbOk62ZCBNV2j/WCwviyOooeIUg5txd3FABQaU1opnXtqTtUWsx/ZnSuxVPKJ5KEY9T1mBavisncf5bHZ46CnIhZ782hznHGisBWawBpZHA8UbANVAL5QnPer13ng8KVvtSmPAVyFZu2k4aAtQy+teAzo+BAHkN7CWCMK+WlVNNQkM2KfpXMLR7c63x/J95hGAEkE4apGCDz9ojHLW8UICwP8uFINOaZrjTeQm9xbtTkwUcjWzTiJX9lLCyX1gAIbiLjKCOK3kgdyFY5LpiYgBNhl6zIyluRDiCM2dFGCQo0Uzn4i3xgfa8il8og/bM+gxe2VPNBuDQoDnVU17ixrSxdjKnTgwrtYHIUli/WvDFV1qGM+abzNy1Ry/nGja2LYFQ670kf2p+J/F4V8yIAzmJiu/MOrxCMxX7fmmAw2199CnIm0i1gwWOaAA8mIdHYOw21smmDDUr1MDQxya79jLjPkGmRCDeYL6Y8do5xM3oWdrLNqijLSINEwDmwDIMj+86gbQRIIfvp5GUp3zMIkXGmIfLVtzQAW1CyLvrwUSztLxRCID7g0hlgLzKQJl+RYMCLhp4IiQGsMpTrie7DBKQd7dC55fg1ggvmhctg2ywATP//by99q+t6hSvLXJw4u1RNNE95n37Ik4DKNl6ossd/grM147lWdhIXikj21+1h3dRy9bpQ+jvmdHfhGxuW43Fktgu5lpNsjBEoAtyJ9QZfPZWNStSaPKwhpGIR3rwQGe
X-Forefront-Antispam-Report:
	CIP:149.199.80.198;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:xir-pvapexch01.xlnx.xilinx.com;PTR:unknown-80-198.xilinx.com;CAT:NONE;SFS:(4636009)(36840700001)(46966006)(166002)(8676002)(70206006)(8936002)(82310400004)(26005)(30864003)(966005)(36756003)(53546011)(31686004)(4326008)(5660300002)(33964004)(36860700001)(508600001)(54906003)(110136005)(316002)(426003)(9786002)(47076005)(83380400001)(70586007)(2616005)(186003)(356005)(7636003)(2906002)(31696002)(336012)(50156003)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: xilinx.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 14:33:14.6365
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 238c87b8-234b-44d0-49e5-08d9d44622e8
X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c;Ip=[149.199.80.198];Helo=[xir-pvapexch01.xlnx.xilinx.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1NAM02FT056.eop-nam02.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR02MB7239

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

Hi Andre,

Many thanks for your inputs. It is making better sense now. Much 
appreciated.

A few questions/clarifications :-

On 06/01/2022 15:33, Andre Przywara wrote:
> On Wed, 5 Jan 2022 16:55:11 +0000
> Ayan Kumar Halder<ayan.kumar.halder@xilinx.com>  wrote:
>
> Hi,
>
>> Thank you so much for your feedback.
>>
>> I need a couple of clarifications before I can start with the v3 patch.
>>
>> On 08/12/2021 12:00, Andre Przywara wrote:
>>> On Mon, 6 Dec 2021 19:31:06 +0000
>>> Julien Grall<julien@xen.org>  wrote:
>>>
>>> Hi,
>>>   
>>>> On 01/12/2021 08:41, Bertrand Marquis wrote:
>>>>> Hi Ayan,
>>>>>       
>>>>>> On 30 Nov 2021, at 19:13, Ayan Kumar Halder<ayan.kumar.halder@xilinx.com>  wrote:
>>>>>>
>>>>>> Hi Andre,
>>>>>>
>>>>>> Thanks for your comments. They are useful.
>>>>>>
>>>>>> On 30/11/2021 09:49, Andre Przywara wrote:
>>>>>>> On Mon, 29 Nov 2021 19:16:38 +0000
>>>>>>> Ayan Kumar Halder<ayan.kumar.halder@xilinx.com>  wrote:
>>>>>>> Hi,
>>>>>>>> At the moment, Xen is only handling data abort with valid syndrome (i.e.
>>>>>>>> ISV=0). Unfortunately, this doesn't cover all the instructions a domain
>>>>>>>> could use to access MMIO regions.
>>>>>>>>
>>>>>>>> For instance, Xilinx baremetal OS will use:
>>>>>>>>
>>>>>>>>            volatile u32 *LocalAddr = (volatile u32 *)Addr;
>>>>>>>>            *LocalAddr = Value;
>>>>>>>>
>>>>>>>> This leave the compiler to decide which store instructions to use.
>>>>>>> As mentioned in the other email, this is wrong, if this points to MMIO:
>>>>>>> don't let the compiler do MMIO accesses. If a stage 2 fault isn't in
>>>>>>> an MMIO area, you should not see traps that you cannot handle already.
>>>>>>> So I don't think it's a good idea to use that as an example. And since
>>>>>>> this patch only seems to address this use case, I would doubt its
>>>>>>> usefulness in general.
>>>>>> Yes, I should have fixed the comment.
>>>>>>
>>>>>> Currently, I am testing with baremetal app which uses inline assembly code with post indexing instructions, to access the MMIO.
>>>>>>
>>>>>> ATM, I am testing with 32 bit MMIO only.
>>>>>>
>>>>>> On the usefulness, I am kind of torn as it is legitimate for post indexing instructions to be used in an inline-assembly code for accessing MMIO. However, that may not be something commonly seen.
>>>>>>
>>>>>> @Stefano/Bertrand/Julien/Volodymyr :- As you are the Arm mantainers, can you comment if we should have decoding logic or not ?
>>>>> Andre gave you the official statement from Arm and there is nothing more I can say.
>>>> I think this would be handy for other hypervisor and OS developper to
>>>> know what they can expect when running in a virtualized environment. So
>>>> would it be possible to update the Arm Arm reflecting this statement?
>>> I don't think it's within the scope of the ARM ARM to say that. It just
>>> says that "there is no syndrome information", and your mileage may vary in
>>> working around that.
>>>
>>> Personally I would say that if you expect your software to work nicely
>>> under a hypervisor, then just avoid those instructions. The Linux kernel
>>> certainly did so.
>>>
>>> You can try to do instruction emulation, but doing this right can get
>>> tricky quickly: think about I$/D$ coherency, MMU on or off, etc.
>> I am trying to get all the restrictions that need to be checked. I have
>> referred
>> https://developer.arm.com/documentation/dui0802/a/A64-General-Instructions/Register-restrictions-for-A64-instructions?lang=en  
>> and "Arm A64 Instruction Set Architecture - DDI 0596" - LDR (immediate).
>>
>> So far I only see the following restrictions:-
>>
>> Rn -ne Rt
>>
>> Rt -ne SP
>>
>> You had mentioned the following cases :-
>>
>> 1. XZR vs SP - I see that both these refer to register no 31. Xen gets
>> the register number (for Rn/Rt) only, so I am not sure what is to be
>> done here.
> But the emulation code in Xen needs to know whether number 31 refers to the
> stack pointer or to the zero register. This depends on the context of the
> instruction. It's nothing magical about it, you just need to figure out
> which it is in your case and make sure that the code uses the right
> value. In the LDR case n==31 means SP, but t==31 means XZR. The emulation
> would need to consider this.

I see what you mean. I had a look at 
xen/tools/qemu-xen-dir-remote/target/arm/cpu.h, CPUARMState {}. I don't 
see anywhere we need to refer register by its name. IIUC, the 
instruction decoding logic needs to know the register number only.

In fact, Xen would only read CPUARMState->xregs[31] for SP/XZR in 
Aarch64 context. Let me know what I might be missing here.

Beata/Richard - I see you have committed most recently on the file. 
Please feel free to add your inputs.

>
>> 2. MMU on or off - As I see in try_handle_mmio(), one gets the physical
>> address in gpa. So I am not sure what is to be done here.
> You *might* be fine, if Xen takes care of that, I don't know.
> But it needs to explicitly consider those two cases - and also make
> sure that caching effects are cared for.
>
>> 3. I/D coherency - I don't understand how this affects instruction decoding.
> In the ARM architecture the I cache and D cache are not necessarily
> coherent. So whatever the CPU reads via the data bus does not need to be
> the same data that the instruction fetcher read a while ago. And while
> there is a well-known sequence to make the current data side visible to
> the instruction side, there is nothing architectural for the other way
> around.
> For example the CPU fetches a bunch of instructions into the I cache, then
> consumes it from there. Now some code changes those instruction words in
> "memory". Without explicit D-cache-clean-to-the-PoU and
> I-cache-invalidate+ISB the CPU might still execute the old instructions.

This makes sense. Referring 
https://developer.arm.com/documentation/den0024/a/Caches/Cache-maintenance, 
I assume that the following instructions need to be executed before the 
instruction is decoded.

Xn <--- contains the address of the instruction to be decoded.

STR Wt, [Xn] DC CVAU, Xn // Clean datacache by VA to point of 
unification (PoU) DSB ISH // Ensure visibility of the datacleaned from 
cache IC IVAU, Xn // Invalidate instruction cache by VA to PoU DSB ISH 
// Ensure completion of the invalidations ISB // Synchronize the fetched 
instruction stream

> But if your emulation code tries to read the instruction from memory, it
> fetches the data-visible side of it - which is not what the CPU executed,
> so end up emulating the wrong thing.

I am guessing that this should not be a very unusual case. Isn't this 
similar to a host processor loading and modifying a firmware in the 
memory. The firmware can then be executed by a different 
micro-controller or some programmable engine. I mean the data pipeline 
or instruction pipeline should read the same contents from memory.

>
> Please also keep in mind that the architecture does not *guarantee*
> coherency, but in reality it might actually be coherent - either because
> of the particular silicon implementation, or because of side effects in
> the system (data cache line being evicted, ISB executed). So seeing the
> effects of coherency in your testing does not mean you are safe, it might
> just happen by chance.

Is there some good way to test this to ensure the best possible 
reliability ?

- Ayan

>
> Cheers,
> Andre
>
>> Please help me to understand further.
>>
>> - Ayan
>>
>>>   
>>>>> I will leave this decision to Stefano and Julien.
>>>> I have had a chat on IRC with Stefano about this. I think the main
>>>> sticking point is the Arm Arm doesn't clearly state those instructions
>>>> should not be used by a virtualized OS on MMIO regions.
>>> I don't understand why the ARM ARM would need to say that. Certainly you
>>> realise that immediately when trying to use them, and apparently it was not
>>> a problem in the last 8ish years of Xen/ARM's existence.
>>>
>>> So it's your decision on having the emulation, I personally would only do
>>> it when there is a *good* use case.
>>> And please apply the demanded scrutiny on the review - including all the
>>> corner cases like Rn=Rt, XZR vs. SP (as Jan said) and possibly MMU status.
>>>
>>> Cheers,
>>> Andre
>>>   
>>>> To me, this topic looks similar to the set/way instruction dilemma. They
>>>> are a pain to virtualize (and the Arm Arm clearly hint it) but we had to
>>>> do it because some OSes relied on them.
>>>>
>>>> I think the main difference is the Arm Arm doesn't hint they should not
>>>> be used (it only says a valid syndrome is not provided) and the
>>>> implementation should hopefully be smaller and self-contained.
>>>>
>>>> So I would be inclined to allow Xen to decode post-indexing instructions
>>>> (pending the review).
>>>>
>>>> Cheers,
>>>>   
--------------RzZKkUvWUsRk4nlUrV9fuYR6
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<html>
  <head>
    <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DUTF=
-8">
  </head>
  <body>
    <p>Hi Andre,</p>
    <p>Many thanks for your inputs. It is making better sense now. Much
      appreciated.</p>
    <p>A few questions/clarifications :-<br>
    </p>
    <div class=3D"moz-cite-prefix">On 06/01/2022 15:33, Andre Przywara
      wrote:<br>
    </div>
    <blockquote type=3D"cite"
      cite=3D"mid:20220106153327.6ebb2be1@donnerap.cambridge.arm.com">
      <pre class=3D"moz-quote-pre" wrap=3D"">On Wed, 5 Jan 2022 16:55:11 =
+0000
Ayan Kumar Halder <a class=3D"moz-txt-link-rfc2396E" href=3D"mailto:ayan.=
kumar.halder@xilinx.com">&lt;ayan.kumar.halder@xilinx.com&gt;</a> wrote:

Hi,

</pre>
      <blockquote type=3D"cite">
        <pre class=3D"moz-quote-pre" wrap=3D"">Thank you so much for your=
 feedback.

I need a couple of clarifications before I can start with the v3 patch.

On 08/12/2021 12:00, Andre Przywara wrote:
</pre>
        <blockquote type=3D"cite">
          <pre class=3D"moz-quote-pre" wrap=3D"">On Mon, 6 Dec 2021 19:31=
:06 +0000
Julien Grall <a class=3D"moz-txt-link-rfc2396E" href=3D"mailto:julien@xen=
=2Eorg">&lt;julien@xen.org&gt;</a> wrote:

Hi,
=20
</pre>
          <blockquote type=3D"cite">
            <pre class=3D"moz-quote-pre" wrap=3D"">On 01/12/2021 08:41, B=
ertrand Marquis wrote: =20
</pre>
            <blockquote type=3D"cite">
              <pre class=3D"moz-quote-pre" wrap=3D"">Hi Ayan,
    =20
</pre>
              <blockquote type=3D"cite">
                <pre class=3D"moz-quote-pre" wrap=3D"">On 30 Nov 2021, at=
 19:13, Ayan Kumar Halder <a class=3D"moz-txt-link-rfc2396E" href=3D"mail=
to:ayan.kumar.halder@xilinx.com">&lt;ayan.kumar.halder@xilinx.com&gt;</a>=
 wrote:

Hi Andre,

Thanks for your comments. They are useful.

On 30/11/2021 09:49, Andre Przywara wrote: =20
</pre>
                <blockquote type=3D"cite">
                  <pre class=3D"moz-quote-pre" wrap=3D"">On Mon, 29 Nov 2=
021 19:16:38 +0000
Ayan Kumar Halder <a class=3D"moz-txt-link-rfc2396E" href=3D"mailto:ayan.=
kumar.halder@xilinx.com">&lt;ayan.kumar.halder@xilinx.com&gt;</a> wrote:
Hi, =20
</pre>
                  <blockquote type=3D"cite">
                    <pre class=3D"moz-quote-pre" wrap=3D"">At the moment,=
 Xen is only handling data abort with valid syndrome (i.e.
ISV=3D0). Unfortunately, this doesn't cover all the instructions a domain=

could use to access MMIO regions.

For instance, Xilinx baremetal OS will use:

          volatile u32 *LocalAddr =3D (volatile u32 *)Addr;
          *LocalAddr =3D Value;

This leave the compiler to decide which store instructions to use. =20
</pre>
                  </blockquote>
                  <pre class=3D"moz-quote-pre" wrap=3D"">As mentioned in =
the other email, this is wrong, if this points to MMIO:
don't let the compiler do MMIO accesses. If a stage 2 fault isn't in
an MMIO area, you should not see traps that you cannot handle already.
So I don't think it's a good idea to use that as an example. And since
this patch only seems to address this use case, I would doubt its
usefulness in general. =20
</pre>
                </blockquote>
                <pre class=3D"moz-quote-pre" wrap=3D"">Yes, I should have=
 fixed the comment.

Currently, I am testing with baremetal app which uses inline assembly cod=
e with post indexing instructions, to access the MMIO.

ATM, I am testing with 32 bit MMIO only.

On the usefulness, I am kind of torn as it is legitimate for post indexin=
g instructions to be used in an inline-assembly code for accessing MMIO. =
However, that may not be something commonly seen.

@Stefano/Bertrand/Julien/Volodymyr :- As you are the Arm mantainers, can =
you comment if we should have decoding logic or not ? =20
</pre>
              </blockquote>
              <pre class=3D"moz-quote-pre" wrap=3D"">Andre gave you the o=
fficial statement from Arm and there is nothing more I can say. =20
</pre>
            </blockquote>
            <pre class=3D"moz-quote-pre" wrap=3D"">I think this would be =
handy for other hypervisor and OS developper to
know what they can expect when running in a virtualized environment. So
would it be possible to update the Arm Arm reflecting this statement? =20
</pre>
          </blockquote>
          <pre class=3D"moz-quote-pre" wrap=3D"">I don't think it's withi=
n the scope of the ARM ARM to say that. It just
says that "there is no syndrome information", and your mileage may vary i=
n
working around that.

Personally I would say that if you expect your software to work nicely
under a hypervisor, then just avoid those instructions. The Linux kernel
certainly did so.

You can try to do instruction emulation, but doing this right can get
tricky quickly: think about I$/D$ coherency, MMU on or off, etc. =20
</pre>
        </blockquote>
        <pre class=3D"moz-quote-pre" wrap=3D"">
I am trying to get all the restrictions that need to be checked. I have=20
referred=20
<a class=3D"moz-txt-link-freetext" href=3D"https://developer.arm.com/docu=
mentation/dui0802/a/A64-General-Instructions/Register-restrictions-for-A6=
4-instructions?lang=3Den">https://developer.arm.com/documentation/dui0802=
/a/A64-General-Instructions/Register-restrictions-for-A64-instructions?la=
ng=3Den</a>=20
and "Arm A64 Instruction Set Architecture - DDI 0596" - LDR (immediate).

So far I only see the following restrictions:-

Rn -ne Rt

Rt -ne SP

You had mentioned the following cases :-

1. XZR vs SP - I see that both these refer to register no 31. Xen gets=20
the register number (for Rn/Rt) only, so I am not sure what is to be=20
done here.
</pre>
      </blockquote>
      <pre class=3D"moz-quote-pre" wrap=3D"">
But the emulation code in Xen needs to know whether number 31 refers to t=
he
stack pointer or to the zero register. This depends on the context of the=

instruction. It's nothing magical about it, you just need to figure out
which it is in your case and make sure that the code uses the right
value. In the LDR case n=3D=3D31 means SP, but t=3D=3D31 means XZR. The e=
mulation
would need to consider this.</pre>
    </blockquote>
    <p>I see what you mean. I had a look at
      xen/tools/qemu-xen-dir-remote/target/arm/cpu.h, CPUARMState {}. I
      don't see anywhere we need to refer register by its name. IIUC,
      the instruction decoding logic needs to know the register number
      only. <br>
    </p>
    <p>In fact, Xen would only read CPUARMState-&gt;xregs[31] for SP/XZR
      in Aarch64 context. Let me know what I might be missing here.<br>
    </p>
    <p>Beata/Richard - I see you have committed most recently on the
      file. Please feel free to add your inputs.<br>
    </p>
    <blockquote type=3D"cite"
      cite=3D"mid:20220106153327.6ebb2be1@donnerap.cambridge.arm.com">
      <pre class=3D"moz-quote-pre" wrap=3D"">

</pre>
      <blockquote type=3D"cite">
        <pre class=3D"moz-quote-pre" wrap=3D"">2. MMU on or off - As I se=
e in try_handle_mmio(), one gets the physical=20
address in gpa. So I am not sure what is to be done here.
</pre>
      </blockquote>
      <pre class=3D"moz-quote-pre" wrap=3D"">
You *might* be fine, if Xen takes care of that, I don't know.
But it needs to explicitly consider those two cases - and also make
sure that caching effects are cared for.

</pre>
      <blockquote type=3D"cite">
        <pre class=3D"moz-quote-pre" wrap=3D"">3. I/D coherency - I don't=
 understand how this affects instruction decoding.
</pre>
      </blockquote>
      <pre class=3D"moz-quote-pre" wrap=3D"">
In the ARM architecture the I cache and D cache are not necessarily
coherent. So whatever the CPU reads via the data bus does not need to be
the same data that the instruction fetcher read a while ago. And while
there is a well-known sequence to make the current data side visible to
the instruction side, there is nothing architectural for the other way
around.
For example the CPU fetches a bunch of instructions into the I cache, the=
n
consumes it from there. Now some code changes those instruction words in
"memory". Without explicit D-cache-clean-to-the-PoU and
I-cache-invalidate+ISB the CPU might still execute the old instructions.<=
/pre>
    </blockquote>
    <p>This makes sense. Referring
<a class=3D"moz-txt-link-freetext" href=3D"https://developer.arm.com/docu=
mentation/den0024/a/Caches/Cache-maintenance">https://developer.arm.com/d=
ocumentation/den0024/a/Caches/Cache-maintenance</a>,
      I assume that the following instructions need to be executed
      before the instruction is decoded.</p>
    <p>Xn &lt;--- contains the address of the instruction to be decoded.<=
br>
    </p>
    <p><span class=3D"hljs-keyword" style=3D"box-sizing: border-box; marg=
in: 0px; padding: 0px; -webkit-font-smoothing: antialiased; text-shadow: =
rgba(0, 0, 0, 0.004) 1px 1px 1px; color: rgb(99, 73, 139); font-family: C=
ourier, monospace; font-size: 16px; font-style: normal; font-variant-caps=
: normal; font-weight: normal; letter-spacing: normal; orphans: auto; tex=
t-align: start; text-indent: 0px; text-transform: none; white-space: pre-=
wrap; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -w=
ebkit-text-stroke-width: 0px; background-color: rgb(247, 247, 247); text-=
decoration: none;"><span class=3D"hljs-keyword" style=3D"box-sizing: bord=
er-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; t=
ext-shadow: rgba(0, 0, 0, 0.004) 1px 1px 1px; color: rgb(99, 73, 139);"> =
 STR </span></span><span style=3D"caret-color: rgb(51, 62, 72); color: rg=
b(51, 62, 72); font-family: Courier, monospace; font-size: 16px; font-sty=
le: normal; font-variant-caps: normal; font-weight: normal; letter-spacin=
g: normal; orphans: auto; text-align: start; text-indent: 0px; text-trans=
form: none; white-space: pre-wrap; widows: auto; word-spacing: 0px; -webk=
it-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-col=
or: rgb(247, 247, 247); text-decoration: none; display: inline !important=
; float: none;">Wt, [Xn]
  DC CVAU, Xn     // Clean </span><span class=3D"hljs-meta" style=3D"box-=
sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoothing: an=
tialiased; text-shadow: rgba(0, 0, 0, 0.004) 1px 1px 1px; color: rgb(173,=
 72, 0); font-family: Courier, monospace; font-size: 16px; font-style: no=
rmal; font-variant-caps: normal; font-weight: normal; letter-spacing: nor=
mal; orphans: auto; text-align: start; text-indent: 0px; text-transform: =
none; white-space: pre-wrap; widows: auto; word-spacing: 0px; -webkit-tex=
t-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rg=
b(247, 247, 247); text-decoration: none;"><span class=3D"hljs-meta" style=
=3D"box-sizing: border-box; margin: 0px; padding: 0px; -webkit-font-smoot=
hing: antialiased; text-shadow: rgba(0, 0, 0, 0.004) 1px 1px 1px; color: =
rgb(173, 72, 0);">data</span></span><span style=3D"caret-color: rgb(51, 6=
2, 72); color: rgb(51, 62, 72); font-family: Courier, monospace; font-siz=
e: 16px; font-style: normal; font-variant-caps: normal; font-weight: norm=
al; letter-spacing: normal; orphans: auto; text-align: start; text-indent=
: 0px; text-transform: none; white-space: pre-wrap; widows: auto; word-sp=
acing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0p=
x; background-color: rgb(247, 247, 247); text-decoration: none; display: =
inline !important; float: none;"> cache </span><span class=3D"hljs-keywor=
d" style=3D"box-sizing: border-box; margin: 0px; padding: 0px; -webkit-fo=
nt-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.004) 1px 1px 1px;=
 color: rgb(99, 73, 139); font-family: Courier, monospace; font-size: 16p=
x; font-style: normal; font-variant-caps: normal; font-weight: normal; le=
tter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px;=
 text-transform: none; white-space: pre-wrap; widows: auto; word-spacing:=
 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; bac=
kground-color: rgb(247, 247, 247); text-decoration: none;"><span class=3D=
"hljs-keyword" style=3D"box-sizing: border-box; margin: 0px; padding: 0px=
; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.004) =
1px 1px 1px; color: rgb(99, 73, 139);">by </span></span><span style=3D"ca=
ret-color: rgb(51, 62, 72); color: rgb(51, 62, 72); font-family: Courier,=
 monospace; font-size: 16px; font-style: normal; font-variant-caps: norma=
l; font-weight: normal; letter-spacing: normal; orphans: auto; text-align=
: start; text-indent: 0px; text-transform: none; white-space: pre-wrap; w=
idows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-t=
ext-stroke-width: 0px; background-color: rgb(247, 247, 247); text-decorat=
ion: none; display: inline !important; float: none;">VA to point of unifi=
cation (PoU)
  </span><span class=3D"hljs-keyword" style=3D"box-sizing: border-box; ma=
rgin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; text-shadow=
: rgba(0, 0, 0, 0.004) 1px 1px 1px; color: rgb(99, 73, 139); font-family:=
 Courier, monospace; font-size: 16px; font-style: normal; font-variant-ca=
ps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; t=
ext-align: start; text-indent: 0px; text-transform: none; white-space: pr=
e-wrap; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; =
-webkit-text-stroke-width: 0px; background-color: rgb(247, 247, 247); tex=
t-decoration: none;"><span class=3D"hljs-keyword" style=3D"box-sizing: bo=
rder-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased;=
 text-shadow: rgba(0, 0, 0, 0.004) 1px 1px 1px; color: rgb(99, 73, 139);"=
>DSB </span></span><span style=3D"caret-color: rgb(51, 62, 72); color: rg=
b(51, 62, 72); font-family: Courier, monospace; font-size: 16px; font-sty=
le: normal; font-variant-caps: normal; font-weight: normal; letter-spacin=
g: normal; orphans: auto; text-align: start; text-indent: 0px; text-trans=
form: none; white-space: pre-wrap; widows: auto; word-spacing: 0px; -webk=
it-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-col=
or: rgb(247, 247, 247); text-decoration: none; display: inline !important=
; float: none;">ISH         // Ensure visibility of the </span><span clas=
s=3D"hljs-meta" style=3D"box-sizing: border-box; margin: 0px; padding: 0p=
x; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.004)=
 1px 1px 1px; color: rgb(173, 72, 0); font-family: Courier, monospace; fo=
nt-size: 16px; font-style: normal; font-variant-caps: normal; font-weight=
: normal; letter-spacing: normal; orphans: auto; text-align: start; text-=
indent: 0px; text-transform: none; white-space: pre-wrap; widows: auto; w=
ord-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-wid=
th: 0px; background-color: rgb(247, 247, 247); text-decoration: none;"><s=
pan class=3D"hljs-meta" style=3D"box-sizing: border-box; margin: 0px; pad=
ding: 0px; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0=
, 0.004) 1px 1px 1px; color: rgb(173, 72, 0);">data</span></span><span st=
yle=3D"caret-color: rgb(51, 62, 72); color: rgb(51, 62, 72); font-family:=
 Courier, monospace; font-size: 16px; font-style: normal; font-variant-ca=
ps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; t=
ext-align: start; text-indent: 0px; text-transform: none; white-space: pr=
e-wrap; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; =
-webkit-text-stroke-width: 0px; background-color: rgb(247, 247, 247); tex=
t-decoration: none; display: inline !important; float: none;"> cleaned fr=
om cache
  IC IVAU, Xn     // Invalidate instruction cache </span><span class=3D"h=
ljs-keyword" style=3D"box-sizing: border-box; margin: 0px; padding: 0px; =
-webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.004) 1p=
x 1px 1px; color: rgb(99, 73, 139); font-family: Courier, monospace; font=
-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; orphans: auto; text-align: start; text-in=
dent: 0px; text-transform: none; white-space: pre-wrap; widows: auto; wor=
d-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width=
: 0px; background-color: rgb(247, 247, 247); text-decoration: none;"><spa=
n class=3D"hljs-keyword" style=3D"box-sizing: border-box; margin: 0px; pa=
dding: 0px; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, =
0, 0.004) 1px 1px 1px; color: rgb(99, 73, 139);">by </span></span><span s=
tyle=3D"caret-color: rgb(51, 62, 72); color: rgb(51, 62, 72); font-family=
: Courier, monospace; font-size: 16px; font-style: normal; font-variant-c=
aps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; =
text-align: start; text-indent: 0px; text-transform: none; white-space: p=
re-wrap; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto;=
 -webkit-text-stroke-width: 0px; background-color: rgb(247, 247, 247); te=
xt-decoration: none; display: inline !important; float: none;">VA to PoU
  </span><span class=3D"hljs-keyword" style=3D"box-sizing: border-box; ma=
rgin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; text-shadow=
: rgba(0, 0, 0, 0.004) 1px 1px 1px; color: rgb(99, 73, 139); font-family:=
 Courier, monospace; font-size: 16px; font-style: normal; font-variant-ca=
ps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; t=
ext-align: start; text-indent: 0px; text-transform: none; white-space: pr=
e-wrap; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; =
-webkit-text-stroke-width: 0px; background-color: rgb(247, 247, 247); tex=
t-decoration: none;"><span class=3D"hljs-keyword" style=3D"box-sizing: bo=
rder-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased;=
 text-shadow: rgba(0, 0, 0, 0.004) 1px 1px 1px; color: rgb(99, 73, 139);"=
>DSB </span></span><span style=3D"caret-color: rgb(51, 62, 72); color: rg=
b(51, 62, 72); font-family: Courier, monospace; font-size: 16px; font-sty=
le: normal; font-variant-caps: normal; font-weight: normal; letter-spacin=
g: normal; orphans: auto; text-align: start; text-indent: 0px; text-trans=
form: none; white-space: pre-wrap; widows: auto; word-spacing: 0px; -webk=
it-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-col=
or: rgb(247, 247, 247); text-decoration: none; display: inline !important=
; float: none;">ISH         // Ensure completion of the invalidations
  </span><span class=3D"hljs-keyword" style=3D"box-sizing: border-box; ma=
rgin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; text-shadow=
: rgba(0, 0, 0, 0.004) 1px 1px 1px; color: rgb(99, 73, 139); font-family:=
 Courier, monospace; font-size: 16px; font-style: normal; font-variant-ca=
ps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; t=
ext-align: start; text-indent: 0px; text-transform: none; white-space: pr=
e-wrap; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; =
-webkit-text-stroke-width: 0px; background-color: rgb(247, 247, 247); tex=
t-decoration: none;"><span class=3D"hljs-keyword" style=3D"box-sizing: bo=
rder-box; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased;=
 text-shadow: rgba(0, 0, 0, 0.004) 1px 1px 1px; color: rgb(99, 73, 139);"=
>ISB </span></span><span style=3D"caret-color: rgb(51, 62, 72); color: rg=
b(51, 62, 72); font-family: Courier, monospace; font-size: 16px; font-sty=
le: normal; font-variant-caps: normal; font-weight: normal; letter-spacin=
g: normal; orphans: auto; text-align: start; text-indent: 0px; text-trans=
form: none; white-space: pre-wrap; widows: auto; word-spacing: 0px; -webk=
it-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-col=
or: rgb(247, 247, 247); text-decoration: none; display: inline !important=
; float: none;">            // Synchronize the fetched instruction </span=
><span class=3D"hljs-keyword" style=3D"box-sizing: border-box; margin: 0p=
x; padding: 0px; -webkit-font-smoothing: antialiased; text-shadow: rgba(0=
, 0, 0, 0.004) 1px 1px 1px; color: rgb(99, 73, 139); font-family: Courier=
, monospace; font-size: 16px; font-style: normal; font-variant-caps: norm=
al; font-weight: normal; letter-spacing: normal; orphans: auto; text-alig=
n: start; text-indent: 0px; text-transform: none; white-space: pre-wrap; =
widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-=
text-stroke-width: 0px; background-color: rgb(247, 247, 247); text-decora=
tion: none;"><span class=3D"hljs-keyword" style=3D"box-sizing: border-box=
; margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; text-sh=
adow: rgba(0, 0, 0, 0.004) 1px 1px 1px; color: rgb(99, 73, 139);">stream<=
/span></span></p>
    <blockquote type=3D"cite"
      cite=3D"mid:20220106153327.6ebb2be1@donnerap.cambridge.arm.com">
      <pre class=3D"moz-quote-pre" wrap=3D"">
But if your emulation code tries to read the instruction from memory, it
fetches the data-visible side of it - which is not what the CPU executed,=

so end up emulating the wrong thing.</pre>
    </blockquote>
    <p>I am guessing that this should not be a very unusual case. Isn't
      this similar to a host processor loading and modifying a firmware
      in the memory. The firmware can then be executed by a different
      micro-controller or some programmable engine. I mean the data
      pipeline or instruction pipeline should read the same contents
      from memory. <br>
    </p>
    <blockquote type=3D"cite"
      cite=3D"mid:20220106153327.6ebb2be1@donnerap.cambridge.arm.com">
      <pre class=3D"moz-quote-pre" wrap=3D"">

Please also keep in mind that the architecture does not *guarantee*
coherency, but in reality it might actually be coherent - either because
of the particular silicon implementation, or because of side effects in
the system (data cache line being evicted, ISB executed). So seeing the
effects of coherency in your testing does not mean you are safe, it might=

just happen by chance.</pre>
    </blockquote>
    <p>Is there some good way to test this to ensure the best possible
      reliability ?</p>
    <p>- Ayan<br>
    </p>
    <blockquote type=3D"cite"
      cite=3D"mid:20220106153327.6ebb2be1@donnerap.cambridge.arm.com">
      <pre class=3D"moz-quote-pre" wrap=3D"">

Cheers,
Andre

</pre>
      <blockquote type=3D"cite">
        <pre class=3D"moz-quote-pre" wrap=3D"">Please help me to understa=
nd further.

- Ayan

</pre>
        <blockquote type=3D"cite">
          <pre class=3D"moz-quote-pre" wrap=3D"">=20
</pre>
          <blockquote type=3D"cite">
            <blockquote type=3D"cite">
              <pre class=3D"moz-quote-pre" wrap=3D"">I will leave this de=
cision to Stefano and Julien. =20
</pre>
            </blockquote>
            <pre class=3D"moz-quote-pre" wrap=3D"">I have had a chat on I=
RC with Stefano about this. I think the main
sticking point is the Arm Arm doesn't clearly state those instructions
should not be used by a virtualized OS on MMIO regions. =20
</pre>
          </blockquote>
          <pre class=3D"moz-quote-pre" wrap=3D"">I don't understand why t=
he ARM ARM would need to say that. Certainly you
realise that immediately when trying to use them, and apparently it was n=
ot
a problem in the last 8ish years of Xen/ARM's existence.

So it's your decision on having the emulation, I personally would only do=

it when there is a *good* use case.
And please apply the demanded scrutiny on the review - including all the
corner cases like Rn=3DRt, XZR vs. SP (as Jan said) and possibly MMU stat=
us.

Cheers,
Andre
=20
</pre>
          <blockquote type=3D"cite">
            <pre class=3D"moz-quote-pre" wrap=3D"">To me, this topic look=
s similar to the set/way instruction dilemma. They
are a pain to virtualize (and the Arm Arm clearly hint it) but we had to
do it because some OSes relied on them.

I think the main difference is the Arm Arm doesn't hint they should not
be used (it only says a valid syndrome is not provided) and the
implementation should hopefully be smaller and self-contained.

So I would be inclined to allow Xen to decode post-indexing instructions
(pending the review).

Cheers,
=20
</pre>
          </blockquote>
        </blockquote>
      </blockquote>
      <pre class=3D"moz-quote-pre" wrap=3D"">
</pre>
    </blockquote>
  </body>
</html>

--------------RzZKkUvWUsRk4nlUrV9fuYR6--


From xen-devel-bounces@lists.xenproject.org Mon Jan 10 14:49:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 14:49:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255368.437560 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6vz4-0006Yl-IE; Mon, 10 Jan 2022 14:49:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255368.437560; Mon, 10 Jan 2022 14:49:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6vz4-0006Ye-FF; Mon, 10 Jan 2022 14:49:18 +0000
Received: by outflank-mailman (input) for mailman id 255368;
 Mon, 10 Jan 2022 14:49:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/mw0=R2=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n6vz3-0006YY-4E
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 14:49:17 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 795e51c0-7224-11ec-9ce5-af14b9085ebd;
 Mon, 10 Jan 2022 15:49:14 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 795e51c0-7224-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1641826154;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=K8e4XgOsC0KJH4cEqRKPO9CiH9y2Ex0kVzGMciqfwlk=;
  b=dhrlAjaSpPaaMSvHeBA5VC2PvfSr+BZJXKWy6iYoNkJNen9MUWwwV/wQ
   ntjXKbl7We3AUMsKadNH+y+byI4lRyeYqASkQXm4NeU/F79K8d1YojZge
   m33yU0Mkh+rb+HeOnONz1A3NakOv6X1nZDyFqEhK+2cBhcTxY0K4eYACm
   c=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: ZjF7PJMPwyZj75V6o2pxyMLidfMXbwsGnXfbir0IPinh9FOsXq7errm7VTj79BnHTtnGiUqVdf
 v/sKFUFxpTXtRPTCaUO6rkYpd6uOX1TaO5gx+BUn43XIou7BbjEeHroqmFNJiDxs5PWCxAu3CX
 87STZYPN3QrPPuiWF53jEmbGt+40Uy8YVNziG9OZs8FqBQ1p0lgGVXT5RujL2Qj2RKurKoatyq
 xqCjI52yzwIWwzkyieagWE09bHMNruetyjoJ7/xi9jaUvij3hQtHoNR8/6so6Tfvf11LDoZhdI
 6qSA/oi8NLjDLXt4SpiHol2g
X-SBRS: 5.2
X-MesageID: 61580950
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:NvHINKqZqqbypnRrAtGhBKFkgqleBmKXYhIvgKrLsJaIsI4StFCzt
 garIBmCOfffamf3ct50aInjphgP6MDdytNmQQs+/ilgQyoRo5uZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlZT4vE2xbuKU5NTsY0idfic5Dndx4f5fs7Rh2NQw2IHhW1nlV
 e7a+KUzBnf0g1aYDUpMg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJ8DO+iL
 9sv+Znilo/vE7XBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XnRfTAKtao2zhojx/9
 DlCnb+wQB9xFa6QpNUyYhQGPX9DIvRD6oaSdBBTseTLp6HHW37lwvEoB0AqJ4wIvO1wBAmi9
 9RBdmpLNErawbvrnvTrEYGAhex6RCXvFJkYtXx6iynQEN4tQIzZQrWM7thdtNs1rp4XQKaGN
 pdBAdZpRDbhTiceAVo8NM59s/yt1yf0TiN9invA8MLb5ECMlVcsgdABKuH9c9iHVcxTkkuC4
 HjB5H/wKhcRLpqUzj/t2mKhgKrDkD32XKoWFaak7bh6jVuL3GsRBRYKE1yhrpGRiESzRtZeI
 Ew84Tc1oO4580nDZtv0WhCj5W6JuDYQWtxfDOQ+7EeIx+zJ4G6k6nMsF2AbLoZ87YlvGGJsh
 gThc87V6SJHk72cUSq29euonByDNHY7c1IdPCoWdF5QizX8m70bghXKR9dlNae6iNzpBD39q
 wy3QDgCa6Y71pBSifjilbzTq3f1/8WSEFZpjunCdj/9tmtEiJiZi5tEALQxxdJJN86nQ1aIp
 xDocODOvblVXflheMFgKdjh/Y1FBd7YalUwYnY1RvHNEghBHVb4JOi8BxkkdC9U3j4sI2OBX
 aMqkVo5CGVvFHWrd7RrRIm6Ft4ny6Ptffy8CKyNMYcVP8MsJF7dlM2LWaJ29zu0+KTLuftuU
 ap3jO72VSpKYUiZ5GfeqxghPU8DmXllmDK7qWHTxBW7y7uODEN5up9eWGZimtsRtfveyC2Mq
 o43H5LTl313DbOiCgGKr997BQ1afBATWMGtw+QKJ7HrH+aTMDx7YxMn6el/K9UNcmU8vrqgw
 0xRrWcDmQWv3iOWeFzaAp2hAZu2NatCQbsAFXVEFX6j2mQ5YJbp66EadpAteqIg+vAlxvlxJ
 8Tpse3ZahiWYjiYqTkbc7fnq4luKEaiiQ6UZnL3azkjZZ9wAQfO/4a8LAfo8SAPCAuxtNc//
 OL8hl+KH8JbSlQwFtvSZdKu00i14SoXltVtUhaaOdJUYkjtrtRncnSjkv8tLsgQAhzf3T/Gh
 R2OCBIVqLCV8Y84+dXEn46eqIKtH7csF0ZWBTCDv723KTPb7iyoxooZCLSEejXUVWXV/qS+Z
 LoKk6GgYaNfxFsT6thyCbdmy6469uDDnb4Cw1Q2BmjPYnSqFqhkfiuM0/5Qu/Af3bReowa3B
 B6Co4EIJbWTNcr5O1cNPw55PP+b3PQZlzSOv/Q4JEL2uH1+8LadCBgAOhCNjGpWLadvMZNjy
 uAk4ZZE5wu6gxssE9CHkiELqDjcci1eC/0q5sMAHYvmqgs30VUTM5XTBxj/7IyLd9gRYFIhJ
 SWZhfaairlRrqYYn6HfyZQZMTJhuKkz
IronPort-HdrOrdr: A9a23:Koqglq2x3+EniEJGSxo8WwqjBVByeYIsimQD101hICG9Lfb2qy
 n+ppgmPEHP5Qr5OEtApTiBUJPwJk800aQFm7X5XI3SJzUO3VHHEGgM1/qB/9SNIVyaygcZ79
 YcT0EcMqyPMbEZt7eC3ODQKb9Jq7PmgcOVbKXlvg9QpGlRGt5dBmxCe2Cm+yNNNW177c1TLu
 vh2iMLnUvpRV0nKuCAQlUVVenKoNPG0LrgfB49HhYirC2Dlymh5rLWGwWRmk52aUIE/Z4StU
 z+1yDp7KSqtP+2jjfaym/o9pxT3P/s0MFKCsCggtUcbh/slgGrToJ8XKDqhkF/nMifrHIR1P
 XcqRYpOMp+r1vXY2GOuBPonzLt1T4/gkWSvmOwsD/Gm4jUVTg6A81OicZyaR3C8Xctu9l6ze
 Ziw3+Zn4A/N2KOoA3No/zzEz16nEu9pnQv1cQJiWZEbIcYYLhN6aQC4UJuFosaFi6S0vFqLA
 BXNrCc2B9qSyLbU5iA1VMfg+BEH05DUytue3Jy9PB8iFNt7TJEJ0hx/r1qop5PzuN5d3B+3Z
 W1Dk1frsA6ciYnV9MNOA4/e7rFNoXse2O7DIvAGyWvKEk4U0i92aIfpo9FoN2XRA==
X-IronPort-AV: E=Sophos;i="5.88,277,1635220800"; 
   d="scan'208";a="61580950"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ignES6sGSkX1nBBzRN80OHPdB6yJ5IUCCGvXn7tUOk39UG1MlPbJm0gOZXsVbRoG9M6IM8ugqKtXGQWcAc0uwU/3sc6QO1KK5bt/8uabAcyKWpfYsKnqv9ysGhvP3Z2ppZXKZzq8e2kXMFgnf5mY92fWt3NGQKnmRnVy44HWLsfKSpe6zwrSkGWEtCaLAZwaf/NVl2XGUOE7qBJHRgaDLjPfTNtYeLs3yq4gIcLeTgKpWHqI7FEDa3fJzDfRVkj2OLdvhHrbwRvsV9YUByQsqKxNp01p+0i/iUT+tJxXnZUVK7HaCvyxQUu6HqYpXDPJW8Yp8xbhxAZ8FbE4smsJrQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9/rOWBZkCHOf6m+suA2xJZXcPVQDCubqcGBRn1yALfc=;
 b=PN3ec06BkPv/0/fyPVe9BrInJrpG/+HX2rrZjjPrPjK7EoUSKDLPBCcVP2MUBMNYYqxB6tEJWOyB9q+hkNhr7OJVBBeSKjFwad1Wmb5ONrwEHhLb6A1342wj8JgmZj2GgOOvV4nhdlYotSjBr6iOUV+p0IhpGjXz8xuU+BWxt2Gdw7wblkXPo3LsdObHTAj5RpIBRHKcZONUvSie5v2a6Nc8BCqsBidRg4d0NFroBg3/DfKZ31n06KFIx9lb4SbEgDzhoyyfDpMbdUXTwvOYM0kP97x6F14I1CvtHisuxRDh0/VD18AJhQ61qLx8weqUIh3AKtUqAwvAaJkih4VG7w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9/rOWBZkCHOf6m+suA2xJZXcPVQDCubqcGBRn1yALfc=;
 b=E+16K//CD9iCf6gTSUP/Yg0yHA1snJkqM8/gK+PcaWPbTDZxqCPic9U8n+7JfoccnFyXLD3/sLubm6F6mpBtHn8XR+YdU1DQQhImqvBWPLVSAQN4smHPGV/9Mj/29KleZXkIVPrVBl5YTVBXMs/LLDo79ed5mfyBTsiL9ksMi40=
Date: Mon, 10 Jan 2022 15:49:02 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: James Dingwall <james-xen@dingwall.me.uk>, <alexander.rossa@ncr.com>,
	<xen-devel@lists.xenproject.org>, Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: xen 4.14.3 incorrect (~3x) cpu frequency reported
Message-ID: <YdxHXqVUpUE+AAsx@Air-de-Roger>
References: <20210721092958.GA2502468@dingwall.me.uk>
 <c9c6778d-9823-4b07-fb48-604acef1f3de@suse.com>
 <20210726123332.GA3844057@dingwall.me.uk>
 <06be7360-0235-3773-b833-3e0d65512092@suse.com>
 <20211105152501.GA485838@dingwall.me.uk>
 <20220106150809.GA856484@dingwall.me.uk>
 <78540c18-c54e-07e8-c099-d7bfd29bea91@suse.com>
 <c3b5ada4-a396-719d-79e9-6cae44b949e0@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <c3b5ada4-a396-719d-79e9-6cae44b949e0@suse.com>
X-ClientProxiedBy: MR1P264CA0074.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:3f::29) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 966a0d2e-299b-4916-eae7-08d9d4485bb8
X-MS-TrafficTypeDiagnostic: DM5PR03MB3068:EE_
X-Microsoft-Antispam-PRVS: <DM5PR03MB306897184245D6DF1EC1884C8F509@DM5PR03MB3068.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: aQy+e90+/IJdkIlossL5kzPYDO+45n7aCNOK4Ig0tD7t2iXwA5ZJBrBavE8hT7rD7yLL7cqk6iX9gRmOVB7RVofx0EJM5PSvGib4ARcr3YyqXM/GQnKaubeEvge+Jja5T+JC+xqpyHGf9uP/x36bTo7cu2YAEByKInADv+AVi+p0EllCIaYriNoBVfKgcmMfBZxf6YXkOpdT9LD2ZirtDN4Da3VwEiGHW+q9GxOZqHXN9Lr0pC2B7NqwJXY2Z1L7DCLmANyj67JRjTpdlnh90M94+Y+B8Om/wlIPXEM3mayPTe8mhJ3KXcXydSNf09EY6uxcRXeUsDerozcz/MQ28e+KdngzQlw8R4YafreDnuYA7PMhz6ARkJuc0RhjCuxszmfi+yhp6rvA0u9zLBColdDmysHtvHGw+qB+kg3UYX35ToYU3SkISJGYzcZnHUhfshEZLEOfaoZNeXfNpkv/wUu9jB5LW13ez4p7jV9y5JGQeiOK69o0wlNsvqyBIKhwuXe2IMFuAks70ygkMAYwWxjbjTkxz1bqsWO1Q7QecIru+OsRWQHJm1y2DRQupUpb4H2o0h6HIvUHgHsr+1dD57Ychty10rkt4P0l2YhvC8YjzIyCTh8SyBZ4XViey9bpL4KUms3fjNbgECd4lM0Ptow5L4R3JMNwa9B220rwX/cmiscnry1kbHhWVGjGpDZDxHQlsDmVo694yEo5zBfo2A==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(54906003)(66946007)(83380400001)(2906002)(6666004)(107886003)(6512007)(9686003)(508600001)(33716001)(8676002)(66556008)(316002)(5660300002)(82960400001)(6916009)(4326008)(6506007)(53546011)(66476007)(8936002)(85182001)(186003)(38100700002)(26005)(6486002)(86362001)(67856001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?QWR4U3dSNUlNbEVkNUl5azBMcTU1UWJwTDd5NzNEMXp5RWxIdlVHZDVTYUZX?=
 =?utf-8?B?US9iUG9UQms0T25kTXUzZUlqT2xsemtQNk9GQ0IxeVJuVk1VQWdtRnFTaXlJ?=
 =?utf-8?B?b016SnBmbGhYZkpCa1dzZVYzRjJNalp3NVRWZmNydjBmb0twZmNQS2I1YllG?=
 =?utf-8?B?ZFJ0bmZzVUpScTk0ZjlvVjZjQzhpNmtiVllmQlZUMW9EZGN6dUp6MlpjMkRN?=
 =?utf-8?B?T1B3RlBqdjdVTVE3SVQ2anJ5ejN5ZGNHVUJlNGhiakJ6cFpJSzRleFh6VzJE?=
 =?utf-8?B?Nk1JcEVDZnFZWUx0RFAxYWFMenM5UUxLZHp1RldrN2p3ZVUxL2JRZ2J3Kysx?=
 =?utf-8?B?aWhFcUJKWDM5cmZ6bGZZb1hETkpFbUJxaHUrN2drWHZTaVY5M0laNVU3Q01x?=
 =?utf-8?B?ZVlLSzUrQTBVUHBPN2R5QStiZE85V2N2aCtBRmZvRXkrcEFpeUxHNEN0Qkxk?=
 =?utf-8?B?VXpKRjZrWEdNN1NLUzJrazhuNEpIWlVZN1EyUURMbHBYQU4rNVRuUEFRMjBs?=
 =?utf-8?B?SVU4WkNWQitkdU9tMS9oVVhsMThJNWEwVHdXamdZSFgrUUpVbEc3QTZQbytZ?=
 =?utf-8?B?SWRTcjFaemh6cnc4dE1sd1UxdmhDL1NibXNwK0s4Mzhma05hMHJYUlhETXBp?=
 =?utf-8?B?UWx2WlN2eERVZDdKUFI0ckVQbEg2cVhOMDc3amt4bDNlNGN0akp2YmJFeWFy?=
 =?utf-8?B?bzR4TnJWQTRGOUoyaVFMZ2pTMlFCK1QwamQ0V3I3YXJKZVVlZm90MG5WelJ1?=
 =?utf-8?B?a0NrM3ZVeXV6SEJWVEF3eGVVZ1BSUUZESElQM0lFckdlMjRjNjQ5UDhIcUlL?=
 =?utf-8?B?cVR4ckNzdkhWS1p0TFRCRHY3RCtWRXd1SFZyMzhXdnc2dlIwSCsyTGgrWHJ2?=
 =?utf-8?B?UVlDb3MrOW9Rc2dPNU5BYVByK0FGMWhGWjl3SmtrMlEyNjlIRGFFWFBtWFpV?=
 =?utf-8?B?N0JhZFB4RnNoQmJvSXlINlFrNElocTNJTm5mQnZiR3FDWldjbGVFdzRFdGpx?=
 =?utf-8?B?OFpFYkFVVFY0NEdWNis3VEVyOTRLMEtlcGd6eHcxR1o1bGNJVzZpOXdGbDN3?=
 =?utf-8?B?V08yby91cFdUL2kwRmZNTUl4OFVTMm1XMmJXNUp3dVBEUkd4RllST3U5aXFR?=
 =?utf-8?B?b1QxcjFFMTFLdzRTc2c2Y1dkNEhkVHl1YVY2RGFYVjdUeC9uTG12d2dmR0Y0?=
 =?utf-8?B?Z2FVK1cwMHVKVlBoNHlzZkJPczBYU3VRa3A0NkNMN3pDcXhnL3lDdktMVFU1?=
 =?utf-8?B?Z1pRVGlUNjVOMDh5aDlNaG9uV1ZvVFFqbkRsKzd6aHdCY29GcVlFNGZNOEtH?=
 =?utf-8?B?cy9IK1hTMVBWeC9DNGF2TTFZVGhaRUNaRDBsSkVVcnJrbWhjYzVSRlk5SnlZ?=
 =?utf-8?B?d2o5dkNGajcxSlVHL3EzVmJJeXNsbldNcnhKZFRrSFlncWhsbjhPVG9qRWtO?=
 =?utf-8?B?YlozNGZGR0RhSkZhZ0s3RHRyKzl4TWdqRFBaTWxDemFWWGdhSGYzWXc0Yjhz?=
 =?utf-8?B?WDNGQ3Uybmt0OWh5YUtWdXVSOGp4cXBHNVAwWVVaK2htOXgzV3hiTXVYV0No?=
 =?utf-8?B?Wm9KS1F6TUxxUjhINVNjNU1pRWlOaFhNWEg5Ym0vNDgrOTZ5OXVINGF6RkUw?=
 =?utf-8?B?bUQ2aVI1Y0pyTkI0Q2pIcmtJSjBqN2REcXVPVWlYMk93T202RUtZL0pxbDhv?=
 =?utf-8?B?ZlRDaHdxQmNNSEVraWV0ejQ5M3NtYlFDZGxzZHRxZXFPaUxOSTVxampvOGFM?=
 =?utf-8?B?S0RCeXlXYXFPdFJqQk5GVHpPOUtzTFpQTVhrRTlHYjJLaktVMVowSFVsYS9E?=
 =?utf-8?B?dUtPWWoybzBNbnNKQzFGOHJGTjFIS3dtbzEwK1BGNktJT2x4MzVlM1JuUTZz?=
 =?utf-8?B?T3g3RnkxRGhURU85L0ZoeWFIdm1jUk5EQ205dzVWVTg4bDFPcHM1ZHRCSXVi?=
 =?utf-8?B?ZCtQYTRsQWcwcER4ZERYM3ozbTNtaEpreFF3NEpQMTljUkFJTTI3THNpZngw?=
 =?utf-8?B?dzlMVm9xWXkyclZvOHpKUW9uSkNvV042NUwxSVlQUU55YStZckFBL3N1aGVH?=
 =?utf-8?B?dEdVYmtUcUk1TlMzcEk5NVlYMStBbHJJc1pFbXJVdTVVbnJpZGExUkJtUHdr?=
 =?utf-8?B?WGNydFpxZlA5SHpzOS9rM01kaHk1blA5ZzkvSy85c2tyU2U3TFZ2RHlaZFNt?=
 =?utf-8?Q?kXzKMO8jBlqD4d01O7J8Jrs=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 966a0d2e-299b-4916-eae7-08d9d4485bb8
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 14:49:09.5901
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2XLiMyug+ZF6qTjF4I5iVmxRJTnbKktsu6Fh2eN+m7fkHFOejcBxAwBCGpp/vqqB/vtQNGsKNlaW62QcZANVDg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR03MB3068
X-OriginatorOrg: citrix.com

On Mon, Jan 10, 2022 at 08:52:55AM +0100, Jan Beulich wrote:
> On 07.01.2022 12:39, Jan Beulich wrote:
> > --- a/xen/arch/x86/time.c
> > +++ b/xen/arch/x86/time.c
> > @@ -378,8 +378,9 @@ static u64 read_hpet_count(void)
> >  
> >  static int64_t __init init_hpet(struct platform_timesource *pts)
> >  {
> > -    uint64_t hpet_rate, start;
> > +    uint64_t hpet_rate, start, expired;
> >      uint32_t count, target;
> > +unsigned int i;//temp
> >  
> >      if ( hpet_address && strcmp(opt_clocksource, pts->id) &&
> >           cpuidle_using_deep_cstate() )
> > @@ -415,16 +416,35 @@ static int64_t __init init_hpet(struct p
> >  
> >      pts->frequency = hpet_rate;
> >  
> > +for(i = 0; i < 16; ++i) {//temp
> >      count = hpet_read32(HPET_COUNTER);
> >      start = rdtsc_ordered();
> >      target = count + CALIBRATE_VALUE(hpet_rate);
> >      if ( target < count )
> >          while ( hpet_read32(HPET_COUNTER) >= count )
> >              continue;
> > -    while ( hpet_read32(HPET_COUNTER) < target )
> > +    while ( (count = hpet_read32(HPET_COUNTER)) < target )
> >          continue;
> 
> Unlike I first thought but matching my earlier reply, this only reduces
> the likelihood of encountering an issue. In particular, a long-duration
> event ahead of the final HPET read above would be covered, but ...
> 
> > -    return (rdtsc_ordered() - start) * CALIBRATE_FRAC;
> > +    expired = rdtsc_ordered() - start;
> 
> ... such an event occurring between the final HPET read and the TSC
> read would still be an issue. So far I've only been able to think of an
> ugly way to further reduce likelihood for this window, but besides that
> neither being neat nor excluding the possibility altogether, I have to
> point out that we have the same issue in a number of other places:
> Back-to-back reads of platform timer and TSC are assumed to happen
> close together elsewhere as well.

Right, sorry replied to the patch first without reading this.

> Cc-ing other x86 maintainers to see whether they have any helpful
> thoughts ...

I'm not sure there's much we can do, we could maybe count NMIs and
retry if we detect an NMI has happened during calibration, but we
can't do this for SMIs, as I don't think there's a way to get this
information on all hardware we support. The MSR_SMI_COUNT (0x34) is
Intel-only and requires Nehalem or later.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Jan 10 14:53:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 14:53:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255373.437572 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6w3Q-0007vY-6p; Mon, 10 Jan 2022 14:53:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255373.437572; Mon, 10 Jan 2022 14:53:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6w3Q-0007vR-1R; Mon, 10 Jan 2022 14:53:48 +0000
Received: by outflank-mailman (input) for mailman id 255373;
 Mon, 10 Jan 2022 14:53:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/mw0=R2=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n6w3O-0007vL-9o
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 14:53:46 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1ab8868f-7225-11ec-81c1-a30af7de8005;
 Mon, 10 Jan 2022 15:53:44 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1ab8868f-7225-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1641826424;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=PgISbWiNS8M0/AaSR4kJSbbLwHoGGaSKVO6BiF1ABkw=;
  b=Z3Q5ojcawdNMJpIbfddNa9LSEiE7S3Z0g7gG9kD7l/K+GL6aVRjZjedj
   Zi7tVBi1PeUy4HRQVqzknvqWJ7O3DqbkFKloxTnkhSNeCvuxee59aKA+I
   FDoTZMq0WNFxvR3GKuCCFHEQyyPWbf98u55la+v8XkaytMfRc8by+NjYm
   U=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: PCshai0VNNXma0YrQ7EUfzpFe4Zl+claa/iWpLQiPuG+qtOzMUWMTDKzFA4LqsCnkTGhNxvCjf
 Cf+j8cH0h8n+UcbRpP5uIY4Ajpo9UE9/ihc1oEI2NpCfCj8JhidnoHynw6ZG9Rdg3TxGE4TkB8
 byCjLDFbgPAtcj1vXu6mQCl5ngMJNQOJZ1Qo0lZahfSONheA+9XQ4aV99Cn4k/CPUnuOCGhS7e
 N+eU0bYVnbhtATiZ/7IlrexvovJ0QNYobHpAXKFzsceKT+l8m0Ux8XRmveWcceMnuaemvpGEA5
 GvzxW5V9Kk7FMN8fvDaSYnlL
X-SBRS: 5.2
X-MesageID: 63774601
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:PD/vDqmHcRdGFdFyASq7gy3o5gxiIURdPkR7XQ2eYbSJt1+Wr1Gzt
 xIXXj/UaK2OYmr3KdkjYIzgpkJUvcPXmIVmGgdq/yExHiMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BClVlxJVF/fngqoDUUYYoAQgsA180IMsdoUg7wbRh29cw2YLR7z6l4
 rseneWOYDdJ5BYsWo4kw/rrRMRH5amaVJsw5zTSVNgT1LPsvyB94KE3fMldG0DQUIhMdtNWc
 s6YpF2PEsE1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXee0v0XRYRQR4/ttmHozx+4
 OhulbyvYyQrBIPJhtRHSjd0FR5sYpQTrdcrIVDn2SCS50jPcn+qyPRyFkAme4Yf/46bA0kXq
 6ZecmpUKEne2aTmm9pXScE17ignBNPsM44F/Glp0BnSDOo8QICFSKLPjTNd9Glr2Z8SQ66HD
 yYfQQRzVxTFThx9AFsKKKgenLaPr1zyYjIN/Tp5ooJoujOOnWSdyoPFINfTP9CHW8hRtkKZv
 X7duXT0BAkAM96SwibD9Wij7sfBnDn2XY8OGbqi3uNxjUeIgHcUFQcdWFW8u/a0zEizR7pix
 1c8o3R06/JorQryE4e7D0bQTGO4UgA0ZvlwM/IQywO35K/K01yAKEQCcSweUYlz3CMpfgAC2
 liMltLvIDVgtryJVH6QnoupQSOO1Ts9djFbO3JdJecRy5y6+dxo0EqTJjp2OPPt1rXI9SfML
 ydmRcTUr5EaloY12qqy5jgraBr898GSHmbZCug6N19JDz+Vhqb4PeRECnCBtJ6sybp1qHHa5
 RDofODEvIgz4WmlznDlfQn0NOjBCwy5GDPdm0VzOJIq6i6g/XWuFagJvm0nexoyb51ZKW6zC
 KM2he+3zMQKVJdNRfUmC79d9uxwlfSwfTgbfq28giVyjmhZK1bcoXAGib+41GHxikk8+ZzTy
 r/AGftA+U0yUPw9pBLvHr91+eZymkgWmD2PLbimkUXP+efONRa9FOZeWHPTP79R0U9xiFiPm
 zqpH5HUm0w3vSyXSnS/zLP/2nhRfCdrXs6n+pUHHgNBSyI/cFwc5zbq6epJU6RunrhPl/eO+
 Xe4W0RCz0H4i2GBIgKPAk2Popu2NXqmhX5kbyEqI3iy3H0vPdSm4KsFLsNldrg77u1zi/VzS
 qBdKcmHB/1OTBXB+igcMsah/NAzKkzziFLcJTehbRg+Y4VkG17D9Oj7c1a97yIJFCe265cz+
 uXyygPBTJMfbA1+F8KKOum3xla8sCFFyuJ/VkfFOPdJf0Do/NQ4IiD9lKZvccoNNQ/C1n2R0
 APPWUUUouzEookU9tjVhP/b89f1QrUmRkcDRjvV97e7MyXe71GP+44YXbbaZy3ZWUP15L6mO
 bdfwcbjPaBVh11NqYd9TepmlPps+9v1qrZG5Q14B3GXPU+zA7ZtL3Taj8lCsqpBmu1QtQesA
 x/d/9BbPfOCOd//EU5XLw0gN7zR2fYRkzjUzPI0PESlu3MnoOvZCR1fb0uWlShQDLppK4d0k
 +4utfkf5xG7lhd3YM2NiTpZ9jjUI3ENO0n9Wkr23GM/ZtIX92x/
IronPort-HdrOrdr: A9a23:Hm2Ft6vXM/l1fA5GC//N/RT77skC7IMji2hC6mlwRA09TyXGra
 6TdaUguiMc1gx8ZJhBo7C90KnpewK7yXdQ2/htAV7EZnibhILIFvAZ0WKG+Vzd8kLFh4tgPM
 tbAsxD4ZjLfCdHZKXBkXmF+rQbsaG6GcmT7I+0pRodLnAJV0gj1XYDNu/yKDwGeOAsP+tBKH
 Pz3Lshm9L2Ek5nEPhTS0N1FdTrlpnurtbLcBQGDxko5E2nii6p0qfzF1y90g0FWz1C7L8++S
 yd+jaJqpmLgrWe8FvxxmXT55NZlJ/IzcZCPtWFjowwJi/3ggilSYx9U/mpvSwzosuo9FE2+e
 O87isIDoBW0Tf8b2u1qRzi103J1ysv0WbrzRuijX7qsaXCNXsHIvsEobgcXgrS6kImst05+r
 lMxXilu51eCg6FtDjh5vDTPisa13ackD4Hq6o+nnZfWYwRZPt6tooE5n5YF58GAWbT9J0nKu
 9zF8vRjcwmP29yV0qp/VWH/ebcHEjaRny9Mw0/U42uondrdUlCvgslLJd1pAZFyHo/I6M0kd
 gsfJ4Y042mdfVmH56VMt1xNvdfOla9Mi4kD1jiVGgPNJt3c04l+KSHq4nc2omRCeg1Jd0J6d
 L8bG8=
X-IronPort-AV: E=Sophos;i="5.88,277,1635220800"; 
   d="scan'208";a="63774601"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kvC8uw9K/Jc+7AbpoV/IZhWS+HvLTmz9kF6h1YgwxW9WqtCQdbfWEm0cTU7cS/cuyX1l0X4sU7cuficK6F3JjwvflDvhFHmPZjnfMpTJE9872Xh+zcqV1DkxnI5anqXCPHuSE62ck3KtzlgWJ6ZrBu7exM4ZOGmNVwJTUEN9O/3LI1U63vqpw/rABUm7sTJM7JZF42I3ShVB/uu/f+Zxkkcs/EAp+zfNfKx+onqNwfpSrqb3Dhu43Jan47la6NTgvJeKYzZ0OkwzIRGRFOOOda7K6Mwk7tqVh5Xql0mc+TSwq64Ex7t8qna8ZdSowGCKgpls24qUxlRu9k5tINafgQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lvAYzWc+IjyBTaIe18RY2tsPcxFALWaome1TknGHqFo=;
 b=ER/s+CDnoHo2mvQxMO11JcwtTRHuu1yNF/fDEdrD4gnzE9NwnUHydjf+7Gm+RbP4PFROybcYxcrHq3VjbealDYyiVP7z98DwH7Tc5codPATbTfzpZE3JJp0daFXJfWrhFZ+iugwQAslb+rbDcpDBLch5HOG1IYG8GUhSBWF173wzG3pPXdwPusTlimnin0f3gIZc0kFc3Jt5vsS+ZsXsFrfRZ0SSTD/tJMCpYQHE31u4xcpljitRsASmfoaMjL4lpjuUZKV/x+nHbmqvJ2+Dc0vGYzYzZt5LUwspJENb9WWiWGgCoMa1K5hORQAWp+M1NbqUkItUfiPvmzGbZuhFTA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lvAYzWc+IjyBTaIe18RY2tsPcxFALWaome1TknGHqFo=;
 b=dpyKAtq4B37g51nzjYnyev5hdY3zvcxQFr/P+ACPzCqBNYlH/U4gdK4c2W66cfisIAolca0PLs+OpAC7p70PQeG9XJ4a5t2XP9V8qH4DHndbMiNeh70z5Prpy49GHofLdWqQdb5n/6M/NbigqdaS1d0VZwGN4FWykr6l5QWIZxk=
Date: Mon, 10 Jan 2022 15:53:32 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: G.R. <firemeteor@users.sourceforge.net>
CC: <xen-devel@lists.xenproject.org>
Subject: Re: Possible bug? DOM-U network stopped working after fatal error
 reported in DOM0
Message-ID: <YdxIbLYRYh4hvVGj@Air-de-Roger>
References: <CAKhsbWaKvMtN0v57kRuwSGnTECb8JnabhgXeO1VTyLiJa4yngg@mail.gmail.com>
 <Ycw4Jna5J2iQJyeM@Air-de-Roger> <Ycyx65BDakqWmEe+@Air-de-Roger>
 <CAKhsbWYU5_DGbGK2i_uhooXk4EzCLLO4SJGjDsvAkf2udQGsbg@mail.gmail.com>
 <Yc3/ytwCHFtR1BLi@Air-de-Roger>
 <CAKhsbWbRinNavBq4NnQ64nVrfWoOQWV0mM3Foao4VBYUWjoSnQ@mail.gmail.com>
 <YdQgf2+E467kuTxK@Air-de-Roger>
 <CAKhsbWbrvF6M-SAocACO5NvBaitUQ9mB5Qx+fMGtn_yVu0ZvEA@mail.gmail.com>
 <YdWsPWqALWBRGtqW@Air-de-Roger>
 <CAKhsbWbvjEcA220TTHGB3PPbfLmdS_MuK5Mn3Xvrr+JL=dHK7w@mail.gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CAKhsbWbvjEcA220TTHGB3PPbfLmdS_MuK5Mn3Xvrr+JL=dHK7w@mail.gmail.com>
X-ClientProxiedBy: MRXP264CA0022.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:15::34) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c7736831-5db5-4f83-f973-08d9d448fbf1
X-MS-TrafficTypeDiagnostic: DS7PR03MB5608:EE_
X-Microsoft-Antispam-PRVS: <DS7PR03MB5608A6FD24C8E3E3ED0BA8C08F509@DS7PR03MB5608.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: Ey99BkANKJ+dzwwNWyBLdzdSNcQN4RURH6NC1CI8XvKP6jjJCeJkLpCCkyCpNZ2xX1y+Gi5bKeM7N9Ffnqxbzb45Ajx+qkKLBZcbiRQkY1wq2DuhkBdoMNM/Ew4uDp4sd7/UxLNhPh0rK1EFJmQ5zDdhW0wGAzWIVqZCYYVN4nsb6kknz3kE702mc8H1AkiuN+uYmDEMrTyTzmLVMqagrMGZQVq4Xo9UWjW0FTFhIeQPPHJr6Zeni/Cj+DyVyf3V+RVTB6690b56k2PzHCb2VU+NXREsAshb0hSBdszZu2eLHQPmNSzTQ0So1xDgRMCtLvQMmoTwa6z8u6pdsbljMcRALpPHFVpeHfTIA9aep+mqXXUdaigvR5IOQJ+h4e+fb5RuO1mmgqV0qjKZF73HykfP+rKMyb74oZjYV5GCSfHa2vzpB3QGi+De0TxtRmM0srUCv13hOvPUW3ylCsgO2bydvXWPQCZPQY2sWH873Yxmelf6653bM3iLtCIUmJMepwCMrOnhu0ucDYXftacj5+MB8MTK/63LmBBxz5L6j+tjVF5LgupNwyUdnMF/zd/+/wHBUOlGkBmvcv1zoOaz3uBl9wh+dEpf74IseJ7Xx6M3tdBxHdOrQ0ACzA6cjh3yaoxs657GjIMtJCximjpOmw==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(83380400001)(6666004)(4326008)(6916009)(8936002)(86362001)(6506007)(53546011)(66946007)(8676002)(66556008)(6486002)(66476007)(9686003)(2906002)(6512007)(5660300002)(85182001)(33716001)(38100700002)(316002)(82960400001)(508600001)(186003)(26005);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MFBFbUwwUVdCWCtJNmJYdEFKa1FoaHFMdnpGeG1ISEFKRXI4VVZiNmUwNU5i?=
 =?utf-8?B?OXJManYzbzVTdnVoVGJUUEdRNUZvSjgraDR3WDhMc3Z3c21tRnBiTkQ5eS9m?=
 =?utf-8?B?SHJ4YklNeWNpNlpIZ1pTTGljaXRWRis0TXhUbWhJOGFHUjIrNzVOTEZlV0NK?=
 =?utf-8?B?OW4yei84TFU0aDNtRGlsV0dVWG14UlNSRlVXM3VDOHhWaU9UMlRpNnlBOVRz?=
 =?utf-8?B?RGUyZGp6QnJVTVQwbmdpTDBmZEtqNVdtTllnNmhmMGRseGhkYk5GbjlzSWtY?=
 =?utf-8?B?NGRveG9YdGdvcVNaL3p6dkxRYVMzM09LanNSRlIxQ0R4WVpIek9uOTZubEto?=
 =?utf-8?B?c0k2UlBWb3JrVlFQQjF0aUx0K21iSUxwY0RUYzdrY2ZjWStiQmRKVUIzRHh2?=
 =?utf-8?B?WVVDUXhWN1hWNnY5VHA3c3A0SUlHcXJWSzRhR0U5eS96OVZka3RFMG1aNTNu?=
 =?utf-8?B?VFNHazRsaHJiVS82dE5BdmhJdUN1enRRM0FWNkFPelZmVHhTNngydlFQUURa?=
 =?utf-8?B?SjQ0czVXUDNhVmNNZ1J2UGFIOUhWZ0hZamxMdkM3amdZMjlUZktjNnNhZkw1?=
 =?utf-8?B?SnJ4NmtUb0p3eHNoWXJqdHdSYkRHeFRLYWQzUnhzeFFTdURQODVndTJNUmtX?=
 =?utf-8?B?Q0JIRVRobnVxNFZkSjJPVUtQMklEaCs1bGtiVjZuMTdMQzhXOXpncUZmOGlP?=
 =?utf-8?B?cXpGNjFGdVNRdU8rMDdPMGd2ZWJjWnkrK3Nwb1VZQ2pYWlJucWV3ZGpPSklM?=
 =?utf-8?B?ZkFUUHlhcXppV0tBUG4vRWJDLzBnMW11RlozR0EwSWJHYVFpTmZueHczaGxp?=
 =?utf-8?B?cDJ6YTNDYjRjR0gxVUlVQmYwUEpvVzlKVFJnYmxGWE5YLys4Zm5CZkZKWHBz?=
 =?utf-8?B?VzJ0L2JZdkFZaEtBcysrdkhqZW1lVE96NnUyRTRYNE1qcGc1elJSWGQ5VTJL?=
 =?utf-8?B?dGJpUnVPcW5XbEozUjE1eks0YjFOYlp0MDVDY0VlVmdnSjdVY3FydzRYaFk4?=
 =?utf-8?B?dzliMEhLVVc5QU81cENuaE13RGg1bUJiNTBGRjY2ZWNwSU9UamdzM0ZHaGZa?=
 =?utf-8?B?eS9VcUJ1MWtuZCtYN1JRK1pBTGVFMlBua2RUSFJJM0c2RFFPWjNxa1MzQWZG?=
 =?utf-8?B?T24wRk9WYXIraEtVOUFDOTBtYW9BVmxMYytkTmp5b2pybFFhVTFPazdmaFhM?=
 =?utf-8?B?bHpCQlorODk4WlBRMERyYzdiQXo0SEp5SFhkOCtrd09acHpkRDFnK2FmM29D?=
 =?utf-8?B?b0RUbkRVK01OTXpOWWhrWUhsYmUwM0hlQVhWS0ExSERobXpCSXV3cWw5L0RT?=
 =?utf-8?B?VVVmSEdwdlZ5alJKOXJTemNMdjlLL0hxRU0rSm1ydm02alp4RzhmcnBnNVJp?=
 =?utf-8?B?YUNtODd1K1kzcjdmeW9GWDhFUCtOc3hrRHprSTBqRFlVVFRidTV1Wmp3djh4?=
 =?utf-8?B?NFVqQ05lZG1NaEU3Qzhkd2NvQ1pJYkdITVM1SFVzeGVLWXdydnZGdUxCNkY0?=
 =?utf-8?B?ZDJjVktBK1c0SC91UnRWVDloOUVYUlN5TEpvL0Njbjl4aEdvYS9YaUttSDJa?=
 =?utf-8?B?eXB5RmZQcVVyVGsvSGtaTnlRRUNTYVlvUlgrYnFwaDdRUjNsbW50L2ZYbG1m?=
 =?utf-8?B?WGZTWnZwbE5nN2hZSkh1akV0QWo4SlMwY3NTS1crYnFDRDdxdjhKSmYzdnpT?=
 =?utf-8?B?TDJHcFBYUysxMENvbDhQWk12NjZKcjFIb3hoSGFibG5YTy9ORWVSYVZMaElR?=
 =?utf-8?B?QWQza2t3Y2x2VFdPakVEYzJMa3NZcGpoK3lBOTZ0R3ZOQkw2ZmVmNzIxeUNh?=
 =?utf-8?B?SmZYUkdFaWRxU3RnbFJVQTh2T0V1RFZBVm1pUldQaGQ2QVEyRXpBaUNBcjBF?=
 =?utf-8?B?YUNLUCtlMVl3TnJNTGJsSk9JYW8wVFAxTHhhVjVKYk00UDErbGsybFNKRFpp?=
 =?utf-8?B?eWJWOHduUXBHWnV0eHNIUDlMQzdGNGxzc2dSUXRNZUEyWWE5QzhyVkRSdFgx?=
 =?utf-8?B?cGJ1aWFCaDU2TGt2Z2VuL2RiS2xHNnA0bUR0ZVdTWE5iTTlua2xDam84WnBP?=
 =?utf-8?B?WHI4U2JSeWxoNUlLT0J3ZkVMVy9BQmtOQmJ0U0RGY2pIcGZ4dlpjK3YrYlRv?=
 =?utf-8?B?ZE1ZWTZmQW02dFJRSWxkcTBVbHFrZDlqVGNqa0lKbXowNXZDZFFnSVhMbmtu?=
 =?utf-8?Q?tFZMjHDqe8g6efoU17wrJ5Q=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: c7736831-5db5-4f83-f973-08d9d448fbf1
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 14:53:38.0870
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: VFDhlGBh4LUSxdVvnTIm3LTVrse5hoYg2afWjDFpnj4AVllVs1lipBf4ujQ5J2XczncYeKRHNHe8oKeh6HNnqg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5608
X-OriginatorOrg: citrix.com

On Sat, Jan 08, 2022 at 01:14:26AM +0800, G.R. wrote:
> On Wed, Jan 5, 2022 at 10:33 PM Roger Pau Monné <roger.pau@citrix.com> wrote:
> >
> > On Wed, Jan 05, 2022 at 12:05:39AM +0800, G.R. wrote:
> > > > > > > But seems like this patch is not stable enough yet and has its own
> > > > > > > issue -- memory is not properly released?
> > > > > >
> > > > > > I know. I've been working on improving it this morning and I'm
> > > > > > attaching an updated version below.
> > > > > >
> > > > > Good news.
> > > > > With this  new patch, the NAS domU can serve iSCSI disk without OOM
> > > > > panic, at least for a little while.
> > > > > I'm going to keep it up and running for a while to see if it's stable over time.
> > > >
> > > > Thanks again for all the testing. Do you see any difference
> > > > performance wise?
> > > I'm still on a *debug* kernel build to capture any potential panic --
> > > none so far -- no performance testing yet.
> > > Since I'm a home user with a relatively lightweight workload, so far I
> > > didn't observe any difference in daily usage.
> > >
> > > I did some quick iperf3 testing just now.
> >
> > Thanks for doing this.
> >
> > > 1. between nas domU <=> Linux dom0 running on an old i7-3770 based box.
> > > The peak is roughly 12 Gbits/s when domU is the server.
> > > But I do see regression down to ~8.5 Gbits/s when I repeat the test in
> > > a short burst.
> > > The regression can recover when I leave the system idle for a while.
> > >
> > > When dom0 is the iperf3 server, the transfer rate is much lower, down
> > > all the way to 1.x Gbits/s.
> > > Sometimes, I can see the following kernel log repeats during the
> > > testing, likely contributing to the slowdown.
> > >              interrupt storm detected on "irq2328:"; throttling interrupt source
> >
> > I assume the message is in the domU, not the dom0?
> Yes, in the TrueNAS domU.
> BTW, I rebooted back to the stock kernel and the message is no longer observed.
> 
> With the stock kernel, the transfer rate from dom0 to nas domU can be
> as high as 30Gbps.
> The variation is still observed, sometimes down to ~19Gbps. There is
> no retransmission in this direction.
> 
> For the reverse direction, the observed low transfer rate still exists.
> It's still within the range of 1.x Gbps, but should still be better
> than the previous test.
> The huge number of re-transmission is still observed.
> The same behavior can be observed on a stock FreeBSD 12.2 image, so
> this is not specific to TrueNAS.

So that's domU sending the data, and dom0 receiving it.

> 
> According to the packet capture, the re-transmission appears to be
> caused by packet reorder.
> Here is one example incident:
> 1. dom0 sees a sequence jump in the incoming stream and begins to send out SACKs
> 2. When SACK shows up at domU, it begins to re-transmit lost frames
>    (the re-transmit looks weird since it show up as a mixed stream of
> 1448 bytes and 12 bytes packets, instead of always 1448 bytes)
> 3. Suddenly the packets that are believed to have lost show up, dom0
> accept them as if they are re-transmission

Hm, so there seems to be some kind of issue with ordering I would say.

> 4. The actual re-transmission finally shows up in dom0...
> Should we expect packet reorder on a direct virtual link? Sounds fishy to me.
> Any chance we can get this re-transmission fixed?

Does this still happen with all the extra features disabled? (-rxcsum
-txcsum -lro -tso)

> So looks like at least the imbalance between two directions are not
> related to your patch.
> Likely the debug build is a bigger contributor to the perf difference
> in both directions.
> 
> I also tried your patch on a release build, and didn't observe any
> major difference in iperf3 numbers.
> Roughly match the 30Gbps and 1.xGbps number on the stock release kernel.

Thanks a lot, will try to get this upstream then.

Roger.


From xen-devel-bounces@lists.xenproject.org Mon Jan 10 15:04:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 15:04:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255379.437582 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6wDY-000152-7n; Mon, 10 Jan 2022 15:04:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255379.437582; Mon, 10 Jan 2022 15:04:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6wDY-00014v-4E; Mon, 10 Jan 2022 15:04:16 +0000
Received: by outflank-mailman (input) for mailman id 255379;
 Mon, 10 Jan 2022 15:04:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6wDW-00014p-MS
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 15:04:14 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9247a8d0-7226-11ec-81c1-a30af7de8005;
 Mon, 10 Jan 2022 16:04:13 +0100 (CET)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2051.outbound.protection.outlook.com [104.47.9.51]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-4-RWsbwLO9OxWAR1wFFEsJTA-1; Mon, 10 Jan 2022 16:04:11 +0100
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.4867.7; Mon, 10 Jan
 2022 15:04:10 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 15:04: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: 9247a8d0-7226-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641827052;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=2pwJW5A2PA5/e8Is8ONQea3sOsE6GtuT+V0L6fhvDhw=;
	b=k0yZ/XkMr0+4nzCvPX76LEB456hjzspGLMlGXU1uoylM2hiIvDV9vbld1ISiJZkBl51Wv1
	u8yStLRJm60ZdLtDYBMTkjGpan3kgksodc4dPYfrxrMGFNn5jU7QkSMGQkvu757KDxAjMy
	+gZaX6PEHln2FT8t6CQNJYHJq18DfK4=
X-MC-Unique: RWsbwLO9OxWAR1wFFEsJTA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VZHH63PGfL2vv36zcpXfKYhQqW/OQvtOqzVCAkK2DG6FIL+cP3W3LtHQNV4Ygo6f/Kr4c2ZRgiwVnr5NGLYjd9aL0gFPLD2SwnFGdr6lYARTk+hMtTGRzjzY8XHI7VTodhtaRUa/ziPaMCLxROc9QRpTViI4TAVaGu7HoSq0fvdAeWUeemhDmpCNBU2FvD8ldSnWctZymYbAFbix2CU5nkLSIJOlXmfRHRbA/Fw0UOFuUe6LF1nfWgb+GGanL1MW+naevyIs0ZG+Z7MfUFEQQGSIAJCm+duXQTjmbYyZx/3K4XkQp862he0PzDF/U0mYCGxibpQ9plOPIcgTBhs5sw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WRvEJKiEpbzRxj6z+eZ4Dd4iXqVr1P9vFd67L4GQnYM=;
 b=grDCboWQcMgwguuLYa7Nkxxmn/4MflKe/hlVHUFJATdl1TGNt0jeDgnZXRYi2uFNmflu6uwiddNyFoOuEdo8KBRuVQYYl+t/C6QAQefvWAmVWmLK23npwz4sE/w0RPHBBpawRvAJnISwDkbLm7HlO+bcNetxVq5AAebviXXR0iFs2jmmklR2SJFNvwZ0Sg/tlkciL9p2Vw8J7D7MC/X4RQ6hVagjAsFtyKQAs/bd32Uktm+wvhxVCYDye56qcHHRT5REAxINJYn4zsIlfNvQ1hKOrx+HoOsiZFwq9YFyXBH8pRWeW2R39CrHyvEHkK2ucHtDtmZtpP6kikMeFUKigg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2a6581a1-eb9f-adc8-479e-0389ecda00fe@suse.com>
Date: Mon, 10 Jan 2022 16:04:07 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: xen 4.14.3 incorrect (~3x) cpu frequency reported
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
CC: James Dingwall <james-xen@dingwall.me.uk>, alexander.rossa@ncr.com,
 xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>
References: <20210721092958.GA2502468@dingwall.me.uk>
 <c9c6778d-9823-4b07-fb48-604acef1f3de@suse.com>
 <20210726123332.GA3844057@dingwall.me.uk>
 <06be7360-0235-3773-b833-3e0d65512092@suse.com>
 <20211105152501.GA485838@dingwall.me.uk>
 <20220106150809.GA856484@dingwall.me.uk>
 <78540c18-c54e-07e8-c099-d7bfd29bea91@suse.com>
 <c3b5ada4-a396-719d-79e9-6cae44b949e0@suse.com>
 <YdxHXqVUpUE+AAsx@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YdxHXqVUpUE+AAsx@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM5P194CA0008.EURP194.PROD.OUTLOOK.COM
 (2603:10a6:203:8f::18) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 40887d39-57c5-4ad0-cba0-08d9d44a747f
X-MS-TrafficTypeDiagnostic: VI1PR04MB5470:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB5470DF2468A56B08AE6CEF34B3509@VI1PR04MB5470.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:
	h+o68PYVVZSkjHGanCqiEr3pTWpKeqBCiUHlxFdywLiAnbJGWPUS8NSwBT15aeO1e0WwiPC5dKMjWxNiDPr9gFkfP2gik2wnDjDsaXl8euTtm/Dl14rqWHizdKv4w3CXAon/V+Z8am95PtGNUNixF+Xsfj1Pqk6866CqepMxe+k54Xf55bZOBo4c7pwad9tXYns+BC3D4Q/aYVXJ4eL3UXNkqZoNti32mlKoUFvc84SbuvJjXurtQx/Dy5OHwyvENwBjnMSX6CSv4KbNh4imgIa7nD63oQL/tOya727uMscGOnj/2fC9ozFK36OUpxILFcx7tDtTdp7wRxpZSWwl10ClO1hy1109KgpbyP+bzOSF/+Jqt6xmNtkedOKu2HTWtMZl2s20LCbcs842AyxW1lEgz98bKbl4ogj/Oe0KsyCp0LHXcnYrQfhQDRXsYhYI9d1V1r0D0wYROZipxNVw/yGAM0wb8U+YKo/AZud3Igf3WeIHJyG1LOMdxNaP2QlrBIMuE3FmiGKqPTsfTPlr/kCC2FImXBCi18A6IdlizCOEWLn971VsrTJL/Qc2+9bS70YtwVcl0EcaSoTmyiQUPAf5D6lITtFcLEd3McOCmNjibLmyr7vlMnQTDJ23x0fU9EQx89FTcQnPw3zSr6S4y5A0WNppa4CuMOQegI9/1jTJvTLxr6IxejzSLUm+iS62z70HErKf04N+6SNdsQSKlE60EhdY4V2xYg37lJa4tPw=
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)(2906002)(6506007)(66556008)(53546011)(66476007)(31696002)(6916009)(316002)(8676002)(186003)(26005)(2616005)(5660300002)(54906003)(31686004)(6666004)(4326008)(66946007)(38100700002)(36756003)(8936002)(83380400001)(6512007)(508600001)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?h08TVPJd3mc3J1vdgyocL3mNBWyckj+VwdjGs9sh//vh2rKex6RIX7CkJNCJ?=
 =?us-ascii?Q?N28v/itEOTym/LKNMhp7As36tMsF/KCOWzM6e0no/K6WTEGi/7B+78kqAsrs?=
 =?us-ascii?Q?19CI5OJ7Q+saxv4Ms7J9bCCoET8jEbnCBBFRG9TnNuM/hkV9oMRvgdDdHvPL?=
 =?us-ascii?Q?Vzku9PTY0k8/3JzUbgldFuw4aqgWnIGQsjFkWOkF3xTuOQgBW9C3BdskdBi3?=
 =?us-ascii?Q?4Ys7tJ/2kD/cgfUIFxCnPexc27GGIAb9mk2HnnCEPqr6VIIxKKBHgpSQa3sd?=
 =?us-ascii?Q?Te16DnLR3Gsk6gX7haEF6QqSofDhN0q6Ox+XIbp57Y+F3PqFP2z+VxBmVxID?=
 =?us-ascii?Q?chNe6Yi8Ei8ayYSL/s84P0Kc1jV0TPMca+Xg+DN1Z+bAM7wttk4LYEB1ewHK?=
 =?us-ascii?Q?YZ1V3uTaTlF350On/rDWxDXVFNNtmVfo6ohsCFZj8dEhfGXwgq8q5R/u5Uch?=
 =?us-ascii?Q?Nnr66X/aQTGOIooZwupl5UMGjJvoeFvGwljJ1mYty5DYHSbm50gDIDl/iNEL?=
 =?us-ascii?Q?bx4mU9vOiMYCWpdMtJKCbqR0l6YH3jqO8ouuQ6KbyvIU0dQLMWCV++O+8Zcg?=
 =?us-ascii?Q?MUcqFwE5KEZLu5ZOpUIuMM6TSpHsttjDB48/NPZhbzEYKC1U3GSxaIb1lgkK?=
 =?us-ascii?Q?IwESUVZu/pQN1U8xZwNlpA9uzUq5ZgBQs6ISOBXf0g7cYObz2QDkSH8tYVVg?=
 =?us-ascii?Q?TbNQeE/oNO9TgHKoPraKON/Pr3Pn6DqLFnbLeIZuop1kd/e8hm/bxmGEdl1A?=
 =?us-ascii?Q?dTE1VcNOQ9WyN3mvZ60FrETGvXM22cJ5XOWk0ELSXlkjHhbai3sheAzyzYA+?=
 =?us-ascii?Q?b3RpveVX/YoqptsxSDlKFPZd9vdY5EjStq2gXZseJ5gkXC9t8R28RtgIC/zH?=
 =?us-ascii?Q?UMtzsH4AFyjW5v83ad6l9tBkNMrdkSRg+/GLJeYX7w5jiTyhU4hf+JcWQS7h?=
 =?us-ascii?Q?Z1Aamo8h606dQSTyUgsHbGPn1XgcRvhDUQ4QRCzePmVOZumHG7OsqsNsZ1rr?=
 =?us-ascii?Q?2/9uabMbM/TbYsCry+ANClLRlgypIRo166YFkivbL2j7X79wr9d2kpB5qq01?=
 =?us-ascii?Q?V/9CUhCM0pztt8oGs1JjqBWZpren9TyXNs/Itfz16nQ6OCeI3wjl231FgeoN?=
 =?us-ascii?Q?C1wmXpUEd8wVIbXW3bJDFnZ2f05BEd3l6WHV4I2R7OIZMdvqJTcreMoCAze5?=
 =?us-ascii?Q?ItUng4DxNR0fQqgVm7UiXDlkr+nxGt+PNn6rVr4EmKGMC+kHeGShqpjJ2/Zy?=
 =?us-ascii?Q?zdJB7GkrNaAT0KxAGPINflrQ3ehmYR2DJzJphSlnRSFjFWkulcE2Lyxe7578?=
 =?us-ascii?Q?i1KE4g8EnCkU6ZarreJi9t6xIaSpLFsB3CtpgQ1zEc0Sqn68KK/Mn3lEAjiY?=
 =?us-ascii?Q?l71bmGPbiZxzH7C6XS33G9nTIDzeE16flDrmXtbWl6EdK4xJ/J0tz2VJgdPS?=
 =?us-ascii?Q?1v8FiVKRg699qgvMhAGSM8mxwaqyvYwwdBvaj5AVFWh6KyUL3p7ZHE49te2+?=
 =?us-ascii?Q?vwWM1W5RxRlEE4OJ89XsiTIufX4gF5eO0sRCFjavEw62pNJtS/4dhhLQMjVV?=
 =?us-ascii?Q?lEhBitoQ3yTEik/8IkNKAQoNWmz9Vkx/F7S6XepEI2pvD+JfJuu66YkT8Doc?=
 =?us-ascii?Q?OQrkbaLFgwmenJpwi6qRuZM=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 40887d39-57c5-4ad0-cba0-08d9d44a747f
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 15:04:09.9255
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: JvFJQ7G1dR+KhGxOmzlAjDFW75Its8t0JwgJ+F2QxZGnZbV9pqMSJD7vG5NNfuJ2IpgvNF7cYzgGmzYa/j4TQA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5470

On 10.01.2022 15:49, Roger Pau Monn=C3=A9 wrote:
> On Mon, Jan 10, 2022 at 08:52:55AM +0100, Jan Beulich wrote:
>> On 07.01.2022 12:39, Jan Beulich wrote:
>>> --- a/xen/arch/x86/time.c
>>> +++ b/xen/arch/x86/time.c
>>> @@ -378,8 +378,9 @@ static u64 read_hpet_count(void)
>>> =20
>>>  static int64_t __init init_hpet(struct platform_timesource *pts)
>>>  {
>>> -    uint64_t hpet_rate, start;
>>> +    uint64_t hpet_rate, start, expired;
>>>      uint32_t count, target;
>>> +unsigned int i;//temp
>>> =20
>>>      if ( hpet_address && strcmp(opt_clocksource, pts->id) &&
>>>           cpuidle_using_deep_cstate() )
>>> @@ -415,16 +416,35 @@ static int64_t __init init_hpet(struct p
>>> =20
>>>      pts->frequency =3D hpet_rate;
>>> =20
>>> +for(i =3D 0; i < 16; ++i) {//temp
>>>      count =3D hpet_read32(HPET_COUNTER);
>>>      start =3D rdtsc_ordered();
>>>      target =3D count + CALIBRATE_VALUE(hpet_rate);
>>>      if ( target < count )
>>>          while ( hpet_read32(HPET_COUNTER) >=3D count )
>>>              continue;
>>> -    while ( hpet_read32(HPET_COUNTER) < target )
>>> +    while ( (count =3D hpet_read32(HPET_COUNTER)) < target )
>>>          continue;
>>
>> Unlike I first thought but matching my earlier reply, this only reduces
>> the likelihood of encountering an issue. In particular, a long-duration
>> event ahead of the final HPET read above would be covered, but ...
>>
>>> -    return (rdtsc_ordered() - start) * CALIBRATE_FRAC;
>>> +    expired =3D rdtsc_ordered() - start;
>>
>> ... such an event occurring between the final HPET read and the TSC
>> read would still be an issue. So far I've only been able to think of an
>> ugly way to further reduce likelihood for this window, but besides that
>> neither being neat nor excluding the possibility altogether, I have to
>> point out that we have the same issue in a number of other places:
>> Back-to-back reads of platform timer and TSC are assumed to happen
>> close together elsewhere as well.
>=20
> Right, sorry replied to the patch first without reading this.

No problem at all.

>> Cc-ing other x86 maintainers to see whether they have any helpful
>> thoughts ...
>=20
> I'm not sure there's much we can do, we could maybe count NMIs and
> retry if we detect an NMI has happened during calibration, but we
> can't do this for SMIs, as I don't think there's a way to get this
> information on all hardware we support. The MSR_SMI_COUNT (0x34) is
> Intel-only and requires Nehalem or later.

Yeah, no, I wouldn't want to make ourselves depend on such counting
anyway. There can always be yet another reason for long enough a
delay. The rough plan I have for further reducing the likelihood is
building on the assumption that there hopefully wouldn't be many
such events in close succession. I would read both counters perhaps
3 times, calculating (from the TSC alone) and recording the shortest
of the sequences. Then I'd continue reading both counters for as
long as the duration further shrinks (which will necessarily be a
finite process). For calculation I'd then use the tuple from the
fastest of the (4 or more) read sequences.

Thinking about it, maybe I should make this a separate patch rather
than folding that extra complexity into here (the patch intended
for staging now looks quite different anyway, partly thanks to the
fix for the issue you did point out).

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 10 15:44:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 15:44:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255384.437592 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6wq3-0005Hc-9a; Mon, 10 Jan 2022 15:44:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255384.437592; Mon, 10 Jan 2022 15:44: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 1n6wq3-0005HV-6h; Mon, 10 Jan 2022 15:44:03 +0000
Received: by outflank-mailman (input) for mailman id 255384;
 Mon, 10 Jan 2022 15:44:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=RiBW=R2=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n6wq2-0005HP-3k
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 15:44:02 +0000
Received: from ppsw-32.csi.cam.ac.uk (ppsw-32.csi.cam.ac.uk [131.111.8.132])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1f598a00-722c-11ec-81c1-a30af7de8005;
 Mon, 10 Jan 2022 16:43:58 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:47784)
 by ppsw-32.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.136]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n6wpv-000nlQ-2Z (Exim 4.95) (return-path <amc96@srcf.net>);
 Mon, 10 Jan 2022 15:43:55 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 89AB01FE75;
 Mon, 10 Jan 2022 15:43:55 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1f598a00-722c-11ec-81c1-a30af7de8005
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <0b2d6240-5780-b8ea-8828-ece44047cd63@srcf.net>
Date: Mon, 10 Jan 2022 15:43:55 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>
Cc: James Dingwall <james-xen@dingwall.me.uk>, alexander.rossa@ncr.com,
 xen-devel@lists.xenproject.org
References: <20210721092958.GA2502468@dingwall.me.uk>
 <c9c6778d-9823-4b07-fb48-604acef1f3de@suse.com>
 <20210726123332.GA3844057@dingwall.me.uk>
 <06be7360-0235-3773-b833-3e0d65512092@suse.com>
 <20211105152501.GA485838@dingwall.me.uk>
 <20220106150809.GA856484@dingwall.me.uk>
 <78540c18-c54e-07e8-c099-d7bfd29bea91@suse.com>
 <YdwodzmyvNwGJaSM@Air-de-Roger>
 <539e31bc-3e68-9e9d-3bb3-2d0f1b2834fc@suse.com>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: xen 4.14.3 incorrect (~3x) cpu frequency reported
In-Reply-To: <539e31bc-3e68-9e9d-3bb3-2d0f1b2834fc@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10/01/2022 13:11, Jan Beulich wrote:
> On 10.01.2022 13:37, Roger Pau Monné wrote:
>> On Fri, Jan 07, 2022 at 12:39:04PM +0100, Jan Beulich wrote:
>>> @@ -415,16 +416,35 @@ static int64_t __init init_hpet(struct p
>>>  
>>>      pts->frequency = hpet_rate;
>>>  
>>> +for(i = 0; i < 16; ++i) {//temp
>>>      count = hpet_read32(HPET_COUNTER);
>>>      start = rdtsc_ordered();
>>>      target = count + CALIBRATE_VALUE(hpet_rate);
>>>      if ( target < count )
>>>          while ( hpet_read32(HPET_COUNTER) >= count )
>>>              continue;
>>> -    while ( hpet_read32(HPET_COUNTER) < target )
>>> +    while ( (count = hpet_read32(HPET_COUNTER)) < target )
>>>          continue;
>>>  
>>> -    return (rdtsc_ordered() - start) * CALIBRATE_FRAC;
>>> +    expired = rdtsc_ordered() - start;
>> There's also a window between the HPET read and the TSC read where an
>> SMI/NMI could cause a wrong frequency detection.
> Right, as said in an earlier reply I did notice this myself (actually
> on the way home on Friday). As also said there, for now I can't see
> any real (i.e. complete) solution to this and the similar instances
> of the issue elsewhere.

Calibration loops like this cannot be made robust.  This is specifically
why frequency information is being made available via architectural
means, and is available via non-architectural means in other cases.

There's a whole bunch of situations (#STOPCLK, TERM and PSMI off the top
of my head, but I bet HDC will screw with things too) which will mess
with any calibration loop, even if you could disable SMIs.  While,
mechanically, we can disable SMIs on AMD with CLGI, we absolutely
shouldn't run a calibration loop like this with SMIs disabled.


Much as I hate to suggest it, we should parse the frequency out of the
long CPUID string, and compare it to the calibration time.  (This
technique is mandated in the Intel BWG during very early setup.)

If it is different by a large margin, rerun the calibration, and if it
is still different, complain loudly into the logs.  This will fix a
one-off-spurious event, whereas if e.g. the system is thermally
throttling due to a bad heat sync, there is nothing software can do to
recover the system.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Jan 10 16:20:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 16:20:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255389.437604 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xOp-0000or-3L; Mon, 10 Jan 2022 16:19:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255389.437604; Mon, 10 Jan 2022 16: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 1n6xOp-0000ok-01; Mon, 10 Jan 2022 16:19:59 +0000
Received: by outflank-mailman (input) for mailman id 255389;
 Mon, 10 Jan 2022 16:19:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6xOn-0000oe-Gh
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 16:19:57 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 25dae899-7231-11ec-9ce5-af14b9085ebd;
 Mon, 10 Jan 2022 17:19:56 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2104.outbound.protection.outlook.com [104.47.18.104]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-18-YPco_MN_Of-z3FOQjKjLfw-1; Mon, 10 Jan 2022 17:19:54 +0100
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.4867.9; Mon, 10 Jan
 2022 16:19:52 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 16:19:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 25dae899-7231-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641831595;
	h=from:from:reply-to:subject:subject: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=uXqL4z2vmtXyHjuZxSZQPMHxyvP5YuKzdyRVnLM3RlU=;
	b=Z2ob6iemcpoq0nnV/zPVUGRk1YYF7nc+znDDdhlf/QSgLDMZiGXSBUc1hWlOnFZXEPsPF7
	bM4wfvpnY5hdXNjtt3SK+AsocOxVIxaIQV3fE6jw59WdX3vzldQFJw6AyOw/ZkG1tH3+Zs
	8lxDXX7ckReE0DLgCX/+Q5ZCoIct2no=
X-MC-Unique: YPco_MN_Of-z3FOQjKjLfw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=B2UOweWxfR7e/gPEqodITxYaChrngbYN3gFcvjImRw0FCrmXReX9d0D1+x1HEOLUjsXzrzeiwsSKgJ8UKptaNogo/IruKATpzbUcI8uqu5xq5XWFNBK8mNWYV/KlKzKfAj4Y3CwpO+3vd1gSkHHFnPq+FtXrT4qf0rCaWOQLs7tdEaYSRNS4x3kVc8Sh89od/1V/oq/Bz6vIOfwsigGhUOxbksU0VmSCd4GHtjnSq/o3RI8IwELX0HGrghi0zQRqbnZJ8Vy/CNCNrXL2Pcl6LK9wnIrBoj+NzZmKsvESNBDGiclPmEkkOurjPf1jga8AvoXYbQbDyDKKQemahcLduA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uXqL4z2vmtXyHjuZxSZQPMHxyvP5YuKzdyRVnLM3RlU=;
 b=C95F0HIby1ZeF/8/t2q7T0myLKXqscaBq6Rl9iqu7z8qpHhTcZYk5J461J+72XAZ3JF4WbfWWmNvnICXFQcrd9m5pCl9zwxD2vghpXXrG78Ve7lph5esBsr66Yq2SZmDdzoMu5olPR9yjQuY+SucVOG2AWGiNLTc5ezTRWRt6VrsVakV83HaaKEhJzym65PAyNpvn21E2QsWUGbZ5lFUt+dgap5iNmiVN1oRUDw/Wb21Vuz9qHCUHnoetN/+iYPwgoum6L6h1EqIWIMCdCu6fOeiLB3JEcBrMI8XBpHSt+41BhfDzkB47BqPd39qXGVIzWnvpIQQnDM3/1HiFM4EZQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
Date: Mon, 10 Jan 2022 17:19:50 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v3 00/23] IOMMU: superpage support when not sharing pagetables
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9P194CA0003.EURP194.PROD.OUTLOOK.COM
 (2603:10a6:20b:46d::12) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ce5260ca-c89f-4ece-4a88-08d9d45507fd
X-MS-TrafficTypeDiagnostic: VE1PR04MB6477:EE_
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB64775CE5F5300D33D03735ADB3509@VE1PR04MB6477.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:
	LsivWbc8/5RIe8RPeWjFZqZY1+Of8APkBCuZNfg3oaVni0S4gQbpeZxdLrVyqCyFd+yGdTuz85Z4YQTPB9EuLKWNbkcCW31hjeJ4H0nwADhR6SC8C35/TdCUxgHkcvyPO0zgQFdHPIdcWdMioIVwyDKTBz/2IY9BrP71Jp0tqWBfXg80X0lGZLefDiQ89DdNyKaOzywWhFb8jd2BhEAsh+tPJm1L1+5RKvz1BjPL3byhor4hSmrl819WAknB1TvWdfiEeL4DmRT/gU3eSN6JJA7tC5ohzT1pHtpoWP/7b6DZ1qcVSzJFYF1b3Xog6oKnNbr+/On9RmFXF7fyObYQAAUBlGagbAv7404jLFKJoP59odryArspKh/TBAIiwbDndcAOlHX6xFQEnY7sBujMM78yT7io4Qp3ahvhdynDyazSovCepAV4RwbnDP+eeVN/+daWR1+Euh/QpLVhp4AuioqzKjK6setYB+4+/2Brn/OLKoDMgv5oIi1CaBSyjnAUl9dd+SWUzXvNMGk/fumF4+qu8g8aDXaLmNWnj0n3jFsa8gc9+05Fbt1nl6kDd2T6iA4Ly8Q6rpytIkwkr/AR/hMGU+l9jGkHlLPighbSVdH5w9OruLvUiEMP+WM83W72QLTdLE9O2nI3TqmDH+L+9r1iOVxYyTnHSSuTl2as+Ii1DsJBkpR6uQplHJGLX4rJSSjfl7U5Er6cvJ1dTKYxMJSUY/GIsEzfdv2sUFZpk2q8k84yPe17m1ktHi67Ctp0pHm7YJogFH5gGNrUZV8Hyn0R+e/BEjvAHZym1hDpwqPf4LwyQBFDDZos9L8fy+dt
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)(6506007)(66556008)(66476007)(2906002)(66946007)(4326008)(38100700002)(5660300002)(54906003)(316002)(83380400001)(31696002)(508600001)(6486002)(966005)(6916009)(8936002)(36756003)(8676002)(86362001)(6512007)(31686004)(186003)(26005)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VnpKczZxTkZmbHpvVkRRYVVTOHJHZzZRZVZaMG0ybjB1RWZlNVZMNHB1ZmhR?=
 =?utf-8?B?bVkzUDBNdUZyQWlnSGVuYnVPUnU4bXlqQ3dGZ3VTdHl1ak83MVR0STdueFBu?=
 =?utf-8?B?RDhzeGs4WlZYYmxJRGhGVGx3OGp0ay91RTBjZWJoYlhMdzVVTXJFcHBhdDZM?=
 =?utf-8?B?WjZKM2lzMGFEU1N0cXBXNHZpamcyU2c2a01zeFJOVkxJV0U3VUkvL0o0YnZH?=
 =?utf-8?B?VnJPUXVWcitCdmo3L1FuRnZPWEpQM2greFhKeUxjQlB4WENOcDhXTFQ2NjYw?=
 =?utf-8?B?S0hzUDhKOStNZmpqTVU4NncvSkdkeHV5MVVXN2M3VDRLM3NtNDgwVGVDaUgx?=
 =?utf-8?B?amJadGU5WW00dHMxZDVWSDU0aW0vNVB4MGxqZ3BWNUFuZEJFMndzWVI0TGdZ?=
 =?utf-8?B?eTVZQ1hWRGNWc3Fha25LMk9PUXNraWNyV0JtYmZ2cExHYm9zN0FyN2J2MS9O?=
 =?utf-8?B?a3Q0cVovYU16SndYa29qV2c0RmxvYlVNcDcrRjBsZ3oxdlg1ZzdLeFg0WUVa?=
 =?utf-8?B?M2RGc0FwVUxwZ0dzak1YK0pMVjZiQ1MvOHpSN0lLcUhvWkphU2tsbWZQc2dR?=
 =?utf-8?B?ZGVPWEduUWc2Tk11ZXhOYjdaR2hRMzAzOVc3REd2ZUpYc0VtRkcwSHI1dTV0?=
 =?utf-8?B?cktWdkE4NGRxMXlGSTFYeHJUS044UFVzTGNQTWQ3OTltN0hLcVRWb0plM2tD?=
 =?utf-8?B?ZDNnM0Z2OXZscU9GWS9zaTBhTVZrbFJ3d1c0MFUwSVlWNzdCTEZKTFY1UkhF?=
 =?utf-8?B?MU53S0lpRk1iTHM2eExNNExGRExEa2cyYzczMWFXYUZUNUNTK0wycjV3T0hF?=
 =?utf-8?B?MFFkVWVQaXpYRGhmRHFTYWoraXd2K01Ha3lpc3Jmc0NWaUFpRHh5VmI0WWw4?=
 =?utf-8?B?SDhydFBRKzE1akUxc3NHemJrVDU3Z2w0d3ByelpmeVIvZFA4UjZWaUxPNjNS?=
 =?utf-8?B?ZE1jZGV5bStNQk5lcTBQUWNpNnRwRjhEWDhTZ3pWck5TaGd0TFYxVVRTMlZ2?=
 =?utf-8?B?dW50L281VUxNV0RkYVI2KzB6SVZsaUsvRzFJU3dXaFZ4Skg1eGZnbVFsOWFO?=
 =?utf-8?B?TGRJVFlQUS9sUFg2ZEJsbUpPTmlNZ0FWNGNkZnlVVzdKUHZML0NrS053czNT?=
 =?utf-8?B?Kys2MlJMeFo3V25BdzN3VWluNTBLMHNSVUg5K2xBcGcwdFlFTHZuY2dxcXRB?=
 =?utf-8?B?cS9CZjVwbklEdUxib01ZUm5zQ2piQzRON3ZGaTVKOVM3ZGVIUS85dlNNcWll?=
 =?utf-8?B?YjUzdkZIS21JWmpPTVdGdnBIdEx3U1pNcnFWVmxkVE1rUlR6Q0dWZVdBQUJ4?=
 =?utf-8?B?YzZrVzNpN0Rjdm1MZWN1bXV1L0F2M0JQSFlGRExQcG54a3M2VXVZRGY2Wi9u?=
 =?utf-8?B?UVVVaUpmSHZkZlp4dkp1ZWxFSXpxS1JxY0VkMFkvVUY5V01BZlFWdU9aY254?=
 =?utf-8?B?K1JvYjI3NHhPdGxtRG5YNzczc1JGUjZGU0hGbytFZXZIQnhkMldHcmNIdzFw?=
 =?utf-8?B?NmYrYnF3ampTT0hFY3UvUHpGVjJiRWJOQ0pOQWt5Ny9SR0NlSmQ2YWlySG1p?=
 =?utf-8?B?eGFtYXBYVTVZL2VKMU1kS1VuUThVcXcyQWs0aHVuZ1k0akdQcTNDZVZiLzl3?=
 =?utf-8?B?blFlT0xnekxBK0JDaENkMWlid0NnaC9YcWtpK3A0aEFJYUhkRm9UVlhrZjl0?=
 =?utf-8?B?dk11SWhnaS9DMnZsMzdyUmo1RE0yL25SRlhrTVNLaWRiQ2pYOWFXc0gzZFoz?=
 =?utf-8?B?bmxiTE9SVnhBcTRJN1k2WEtxcUVQbjhVc1d1cXUxQS9XSldzNUFNNnZMV1V1?=
 =?utf-8?B?bzVXUi8vS3laZ25VZGtjcHlIVHh5WnU3dmpJOTRrRzZwLzVvOUJQbU9vdnRm?=
 =?utf-8?B?Z0dNR3Z4SWQvT1ErOEZFY2hZTmpHY3hZU01VcUJ5WXhzZUlKOU5kRkhmS3ov?=
 =?utf-8?B?M29mVGRiVGl2MlUwQnB4d0I3bWtuUWlpRWl6NEkweVdyditPaUhvYkJ2Zmgr?=
 =?utf-8?B?cklSL3lUYWNvSHkyOWxBRnpzRDQydmJpRy81WVJZQ3M5aXFMZTBvM0NNTHU0?=
 =?utf-8?B?TEhFLzRMaHlPYmpLN0hlKzVOQ3hFVmZCSlQ1aTAvNGRNOGdpU09vOGJ5NGFS?=
 =?utf-8?B?T1JwNk96RkFGaWRRakRpZEEvcEVGMWFtbFlpVmNrMnV0aGpUUGNsQkxiM1dC?=
 =?utf-8?Q?DCundOosKZGBpWB2gb4kQwk=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ce5260ca-c89f-4ece-4a88-08d9d45507fd
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 16:19:52.2014
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: tBI1gekFiLnkkIu4GW0yAT1oSTxMs0ybUHn0QtE5C0yXxzqliXyrgBrBTngP3gJYWBPa7iGGaW2OpX9Of7A8DA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6477

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

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 a few 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.

v3, besides addressing review feedback, now also implements unshattering
of large pages. There are also a few other new small patches. See
individual patches for details.

01: AMD/IOMMU: have callers specify the target level for page table walks
02: VT-d: have callers specify the target level for page table walks
03: VT-d: limit page table population in domain_pgd_maddr()
04: IOMMU: have vendor code announce supported page sizes
05: IOMMU: simplify unmap-on-error in iommu_map()
06: IOMMU: add order parameter to ->{,un}map_page() hooks
07: IOMMU: have iommu_{,un}map() split requests into largest possible chunks
08: IOMMU/x86: restrict IO-APIC mappings for PV Dom0
09: IOMMU/x86: perform PV Dom0 mappings in batches
10: IOMMU/x86: support freeing of pagetables
11: AMD/IOMMU: drop stray TLB flush
12: AMD/IOMMU: walk trees upon page fault
13: AMD/IOMMU: return old PTE from {set,clear}_iommu_pte_present()
14: AMD/IOMMU: allow use of superpage mappings
15: VT-d: allow use of superpage mappings
16: IOMMU: fold flush-all hook into "flush one"
17: IOMMU/x86: prefill newly allocate page tables
18: x86: introduce helper for recording degree of contiguity in page tables
19: AMD/IOMMU: free all-empty page tables
20: VT-d: free all-empty page tables
21: AMD/IOMMU: replace all-contiguous page tables by superpage mappings
22: VT-d: replace all-contiguous page tables by superpage mappings
23: IOMMU/x86: add perf counters for page table splitting / coalescing

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 Mon Jan 10 16:22:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 16:22:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255395.437615 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xRE-0002Ef-JK; Mon, 10 Jan 2022 16:22:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255395.437615; Mon, 10 Jan 2022 16: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 1n6xRE-0002EY-G4; Mon, 10 Jan 2022 16:22:28 +0000
Received: by outflank-mailman (input) for mailman id 255395;
 Mon, 10 Jan 2022 16:22:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6xRD-0002ES-1N
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 16:22:27 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7f70637a-7231-11ec-9ce5-af14b9085ebd;
 Mon, 10 Jan 2022 17:22:26 +0100 (CET)
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur02lp2056.outbound.protection.outlook.com [104.47.5.56]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-36-6a20aE6DNdKfSkQdQ4nROw-1; Mon, 10 Jan 2022 17:22:24 +0100
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.4867.7; Mon, 10 Jan
 2022 16:22:22 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 16:22: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: 7f70637a-7231-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641831745;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=GQ7PQdEZXmFipDNsOtGtorQ//VDHYKsNcKkXsapIQCc=;
	b=Y1J7Oy4FseY/5jMSfGr9O+NA/A0zc3YpB5z9X2RUgpVIdLIEL4dJgdBzR6LBE2W4/qRWMg
	IVDAX5I0GEKCGwk687OEWCprkPu6wpqFAYrcTeRdmnizp/SyjRTpEbkyG1QTIXk8TALO+z
	t+pF1+Xc2tpARr+9fBSgH5C/OAADxKo=
X-MC-Unique: 6a20aE6DNdKfSkQdQ4nROw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=app5qRmJp7e3xMCo18xDPUzDaF50E51VAJtFXL8io7dECuxyeZReQA8mJixWkp5F39p+ksFbZPye1y5TAc87BzT8UFHUfBIu7VQlUErsTLLZNvYRRdMqbG+KjxZwu5w4q1rqpfJuPA40omx+7RF+Sl4SyAbOykT8Abb12TOxTQ0aGjj2g3drZue2GMSGiMlNUFUGaptUVOiiR7vj+RWpda+YvFLaE5FQudc9Rj4BSX2ziqC6Emq7J2n3Po+Ql7TlJ7uFAke93mj0hf83D+5EnG/vB4qz7ofFtf0h3m3kJdt8dd0+dMAGrQcRZIjjEmdr94JLPIYVAoMO92Tm0uMcHA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EyEoSTasEfJmkFA13BmX2SyysSWYqAygZWIVBmrrlgs=;
 b=Ysql0tOieTPkEbJ28UGQPIjfi+UfvLcdMYziHF4wdHCUo3eXdsEsxW4UcQCnp80yWQgr1T6Ze4xFm05XsL0yzBUW5JC0Ge2CCAw8jpOWpUjkZK+wxyR/bJJSEO7PyStWn4/QuMX8NQsc0VmJvtveSIuw5fIZ3Qo6KzJ0+BulbgZQAko6oaobdz0y4kmBdQ2czp/7BAj1PN5pUjXtHhQZq7ZrZ+mLQz83OoJerw1luAsS3pq9pvVVaXB2mrKmWFx93jDCPGSrPDsE9RYKMdCdohXav2cKi6vh7RyEXeqVL/dQHIb7NaAH5RJOTW8nSQXbpxJazyuQCb+TbulCcDPRRA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6549b60b-323a-fede-4944-cfd5f7b7e64c@suse.com>
Date: Mon, 10 Jan 2022 17:22:21 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: [PATCH v3 01/23] AMD/IOMMU: have callers specify the target level for
 page table walks
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
In-Reply-To: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS8PR07CA0031.eurprd07.prod.outlook.com
 (2603:10a6:20b:459::24) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5c0b4bc3-48f1-4bf4-db8f-08d9d45561b7
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2446:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB244629BFC03F71719563FF60B3509@VI1PR0401MB2446.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:
	I/EdxZ4t23whpX06CUuQYMfOzPJWTfCJVRlZnjos/TtGgS10z/0Ol9sNJCKoNIcCz6IgzdbwKWfvGrdHXmG03GDByYakiui836A4rfwAZgZwsQqpgb/2BZWkuOW8ehuG5Ii9DNXPfOEjxaR5aGNqAEQZSteouDhQ4ATLQHOVWbn90bPyLSyAMfmfmpbH9qU6IqykJSj6bp6AKNQKlWWUg2ktSdEDYU2OdTYnDFNxCCTLvqhBCOTmNiP5lRBLgSTKo0Jo2N/irRJBqq83oJOaJz8vHofcheBuV8DGq7ZlMD3iIKKpMRfPlREiT533wDfREj4489ectL0VO2QJgXnZ8esyl6tzx/J0yWqRssxiDgCqf52zE/c+upvjWPihS60JMCzK4n9oB65AZSWQloO1RxLeFWYWppp8J3NUWq0116tWvfeLKqi/24gML1B0ES7XS90gViIvYbyDVNdht1P7OZ4HVOhdtFyUQ+qwnJj9y3f/+VqnSpXrMc8f2davbtoXM1DfZlMRVbwbtwIOaxZNc17PY+2rYGGNYRyYPwQy8pIV7z1/WppQqPU48+GZf0kiaxUOSW++VLQSSD/7RITAD6yBV3Axx9pvyc944U3H2fAY2k1gSyfHHwiChAJJeLz3FQMlh2IOlNKVlRxVs4zzj3D/+6vyigEDUOLJ2KREOibx2DWOvVy9YcSO/JqjvyOmdodXDARimF0YYXGKDSitZ4BwcRyXgmYUDupem4Ucw7OWanKtUHp34iMZnlYAERb2
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)(54906003)(508600001)(26005)(31696002)(6512007)(8676002)(5660300002)(36756003)(83380400001)(4326008)(2616005)(86362001)(66946007)(316002)(66476007)(2906002)(6486002)(6916009)(66556008)(38100700002)(6506007)(8936002)(186003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?lQIQG5Z4pF0ZDJkrTWQrPSpG6jg/1pj3KBEQU55YpK1YumQSEBWZiK4qMuPO?=
 =?us-ascii?Q?Zta+bFNlgfLhukPYKz1ZDESJQEnzRj/PFAYtRdTgt2QcVI94lD4BSB4cpiYf?=
 =?us-ascii?Q?XqBWN3+QIkJsI/Fx0kSBk5uA8qzAmwTMFan9yXfl4Jtp9zm4fGnp+v4CF8F4?=
 =?us-ascii?Q?6jxNjyzKY4HtkK3QO3CcP3zYLjO7igRsQXkXgcQ/l21fgtBwewQasIPdsPPP?=
 =?us-ascii?Q?KussLLgIZCNZ7u5cdkYzwxaosPFNGWoKcWC+prEMx1aNsmmZWQbRiuRv6cl9?=
 =?us-ascii?Q?SAhysThYcPjFLmnYxn/SOQzO1rqhAMMsZGGA/VOofbXbkG5Y8SZvuZTdPxZr?=
 =?us-ascii?Q?rxtG9EWRuNO03tEIthxnubUh+qwegOg94dKG6utdSC1yNYlNFoZEFrb5wP/F?=
 =?us-ascii?Q?N9jEfjkFfHsi/75TtEOLgZTvty740D6qJYhxvtNJL+Gry6UFEK3MsfMyx3Dq?=
 =?us-ascii?Q?panmxnvSnrmRR2SAeqFHZmlHkjexzj+xrkuGV3g8kBkHxgM0FoAha8AndnDP?=
 =?us-ascii?Q?eNoGD+juqbHHFskkj+lZm2uAuW16+GxdyvVCPwuZhz1dY2T9P5F3OxpPpvhL?=
 =?us-ascii?Q?kv7xLD513aK1BH8tTWT+WmDkq0NnIeX9hfJIEInRHyRS0VTzC4Oa6V5RcBbY?=
 =?us-ascii?Q?mKVOshaFPu5o4RU9oAedsn5i4PclLUTCME9sD9x6w390RD7L+H93RS/Y+/Wb?=
 =?us-ascii?Q?dK4jG/DAn1Zsckw8DUM4bfL8g+VhBz5QxfZ7GmjyW2EEYNWTj8g6K5ZHQTLq?=
 =?us-ascii?Q?0NrsDD+7uGgk76RdKF08a9GsHTYxaWE/wILVVzhIIlb7DRnsZlai4qeM8RXB?=
 =?us-ascii?Q?C/B+Uwe8Y8JUbqgQF6FhfJnyxC2B3PZCgKMYPn4ed9RrxTAg3zhzTX0lY1vh?=
 =?us-ascii?Q?Tf36StL0JG1kecaAatE8haVGNvUPKoEVFg6ZJJ1V6ywpHES8B7VMFUkUB+pt?=
 =?us-ascii?Q?rRsMVjohrPxKu8wgWkpvk85AqOm8OagIsLS4xcSH8qDqcuLyj4Z11qh1GBXC?=
 =?us-ascii?Q?6eayoWzQGvgL+5w4+qRH/qRufbc4k1pN2mvoFMXiXYSzgdqhBRb3VHyN6EGH?=
 =?us-ascii?Q?pxqIsMHM6vXBYT8tqZYhDxvUe0fu2qK/0cvUfvlrTTn2JuESnIN/FiaEfWvc?=
 =?us-ascii?Q?h9qdEdeKK1kpbKBU+p/aJumtLh5aErqHs5lus9e5ci1CKOyonZm6KDSOjfwp?=
 =?us-ascii?Q?BXBxH+ONIy5rtuD1t71Bln680QR6yMImir3pkqWot8nJ1HxI+/HBzVMsDWva?=
 =?us-ascii?Q?7RhaMzXldKvg1iyLNiwUz5Xvvp9K5qdpKjUiyyEjIcAH5Khoc4pbEFPCENn0?=
 =?us-ascii?Q?eJR3jjP1IfQLP8cXwyLZAT1hIkCzysXWwwCTQfdl6h2iIxGRSeH/5jFvtRL+?=
 =?us-ascii?Q?mAQ8eujltxKlEVdeVMPbVSgN67u686qMrOIh6Dw58/FdIhjqPaf23psLqhLA?=
 =?us-ascii?Q?HR4AKQD7X5qy2a+lONeTNJzwwZ7canK5rjVEdve4d0kfqv6LLOVuZ4nQZE3j?=
 =?us-ascii?Q?yns9IBD7v5zEEQ0mBOtsAA9+N+kXrvSCvyhwjkTK61QIF4GEsANkg79MNbV6?=
 =?us-ascii?Q?abECMV+x1hEDzXHgSFpY0AiEjYTxpNo3Ouux5AZ0tPFgBILJsR/Ek02WoUUv?=
 =?us-ascii?Q?rmHb841AMAkUyRH9EEUKW24=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5c0b4bc3-48f1-4bf4-db8f-08d9d45561b7
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 16:22:22.7243
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: gHhIztEb0toe+3V/PaJr1QwjPEwTi9ESjz2LNUM1sWlp5RTv5t+UgWvi2tgE/HhC0lwtY7iLf5Uyyenu6SkGQQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2446

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.
Leave an assertion though for spotting issues early in debug builds.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
---
v3: Add ASSERT_UNREACHABLE(). Adjust a comment.

--- 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,11 @@ static int iommu_pde_from_dfn(struct dom
     table =3D hd->arch.amd.root_table;
     level =3D hd->arch.amd.paging_mode;
=20
-    BUG_ON( table =3D=3D NULL || level < 1 || level > 6 );
+    if ( !table || target < 1 || level < target || level > 6 )
+    {
+        ASSERT_UNREACHABLE();
+        return 1;
+    }
=20
     /*
      * A frame number past what the current page tables can represent can'=
t
@@ -200,7 +205,7 @@ static int iommu_pde_from_dfn(struct dom
=20
     next_table_mfn =3D mfn_x(page_to_mfn(table));
=20
-    while ( level > 1 )
+    while ( level > target )
     {
         unsigned int next_level =3D level - 1;
=20
@@ -271,7 +276,7 @@ static int iommu_pde_from_dfn(struct dom
         level--;
     }
=20
-    /* mfn of level 1 page table */
+    /* mfn of target level page table */
     *pt_mfn =3D next_table_mfn;
     return 0;
 }
@@ -307,7 +312,7 @@ int amd_iommu_map_page(struct domain *d,
         return rc;
     }
=20
-    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_ERROR("invalid IO pagetable entry dfn =3D %"PRI_dfn"\n",
@@ -340,7 +345,7 @@ int amd_iommu_unmap_page(struct domain *
         return 0;
     }
=20
-    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_ERROR("invalid IO pagetable entry dfn =3D %"PRI_dfn"\n",



From xen-devel-bounces@lists.xenproject.org Mon Jan 10 16:23:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 16:23:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255398.437626 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xRm-0002kY-T5; Mon, 10 Jan 2022 16:23:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255398.437626; Mon, 10 Jan 2022 16: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 1n6xRm-0002jp-PK; Mon, 10 Jan 2022 16:23:02 +0000
Received: by outflank-mailman (input) for mailman id 255398;
 Mon, 10 Jan 2022 16:23:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6xRl-0002jc-Gr
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 16:23:01 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 93da5b12-7231-11ec-81c1-a30af7de8005;
 Mon, 10 Jan 2022 17:23:00 +0100 (CET)
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur02lp2051.outbound.protection.outlook.com [104.47.5.51]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-23-oevbNLcfNSClFExGJMpDug-1; Mon, 10 Jan 2022 17:22:58 +0100
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.4867.7; Mon, 10 Jan
 2022 16:22:53 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 16: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: 93da5b12-7231-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641831780;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=JfXG07vrt481Wpu05jJkO/De1cKPglNTB2enOwwMPZg=;
	b=cpC2Uf4BzPpH5jDon7JPC7753LrLLuAv0PvBo4XvsgvFQ1Yh04tHkkoi+DEdihNqXFJRvA
	TDtJYQ0jf9utrj056dlL9l8C6o0oFsuPiUUoctf/glSVRO9kPOcfBzH5NTri7uSTLa5STQ
	Cmq0s+d6TaaG9MCD9ufEYtskFulsd1s=
X-MC-Unique: oevbNLcfNSClFExGJMpDug-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GUeLs/T18jsWZIr7lp/1FLB2eVg2ZktDCCHatpM0oSbCu+d+uDkbzRjks6IM8xVgbN3NV91sriLrJbxXIMeoe/Wubo+mSGk0NvLaQgLGnTyt9lCu+ylbZRN7JlWmtxA5JN9+UVIOUbBht1EHbKdwhaCKue7gNM7inNI6FGzdiO926TImQzqHI7qiaZ7KabuqE0YJt5+VRKgYdb6zD9tzJ3tKS02q0I7ZS2Kprf6F+N7+rs1DvlFB1K549sSfhDmDYfcvy5i684YU1ewBHMsN8NIquibSqSjftKb1FPrqWVq5JvI8JURK8ReXKeAdUYEtIbH5UXjxlzCvrR8SZHnTKA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JfXG07vrt481Wpu05jJkO/De1cKPglNTB2enOwwMPZg=;
 b=XYOvXFRLSr4sCABI85JX2SUUQqA3Kbba83/jKmVq1cj74VK8l/NGdlJqrUvH9pHTImyOrVqgofDD1BoWgAILQ+LfQGnaG0jtlR7frhKvMByEdb8o5DPHewsJuucMCmQtAAVjgsZ4rKBZfSf30sxS/E1GV4f0Viys1JHNmiIbflHieEQYhc5yP4jO1Rb22PtQdnKhr3qbZSX3LmmutkWPXvWNkdtoHVnNTB3KSe+scSLQUgo45rYcUrJcfHEv+a+HFoLvGo2hy1zPOGQ80OwYXhIZ3d45vyZG9u9S9z8UpQLQ2jOCD9KDFyQ1x4VM4n2OW4ZLhAwKMn0kh8VBXzz7mg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5bfc3618-12ff-f673-e880-6ea13bcf8fa3@suse.com>
Date: Mon, 10 Jan 2022 17:22:51 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: [PATCH v3 02/23] VT-d: have callers specify the target level for page
 table walks
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Kevin Tian <kevin.tian@intel.com>
References: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
In-Reply-To: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR07CA0034.eurprd07.prod.outlook.com
 (2603:10a6:20b:459::19) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4a1c8f0e-354d-403e-5a79-08d9d455740a
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2446:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB244627C930DCB3E5F8567D53B3509@VI1PR0401MB2446.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:
	5Cz2cNjnif+1WS93d8MP1vODFqWE2mHAl+j+uBfd/GdkUQVYkGg8NgoFUulqYzlgFARYDwqZtAR0UyMujQwnLZU88SHo8cW0YKD9MbqZsw5goz0TURpLvg/N71MBKCDAXqE3QzQA/IjO2BzAGgbFz8PQJxCFCp30lslLzitIfRvS468bgkR+m3LT5f7A71c/Fm39s5sIwDhbQXMD2kSPf4AxkQEurU2QAhA6WVhkVsqlje8xzm7GatGqnwhM34441kzkbIloEDEQcg4GyKYs0fZd+kWkiYIsIjj4gZHnimss1G9rfSAXHKWm6SIe2swJYZxwEYVilbu+o1LV5OM5QfgW7Kq3hB1AcS7BbjFAFcjnKT4I9PWddA51o8oy1vTl0VeAGpycJ6B2kUtandukNHj9nqJ+rHbwnjW8lZ0SoB6Tbon+5JW6ZaDMDnHf0PaDliKqw1823tkabtRIKdCRdtxWCeiLW70X2JLknmFywlxp80BXfJdsRfm4CuyHBbRRWq7UgLjEVP4yiLxZWyMYxECizY2I38+e/47vOgkpRoPVFTNA5s/HTBMwYvAKmzm+iUTf37v8WyyRi95IVWc6plV/H62gG/+8IA5XQiY+LgsunJrLb8y1nrird1xJ8UZOitYt8fD6fZZk35vi6CszACsmHbNw+nZrdvq4NgKBFhL0F4TxZj/BSwDEygewDHn4LIb8SJzCWbVNhE4WHg5UbcLaqJa8HR+bcKwN/ohf8EhEpU8XqqbufqBxm11/RtQZ
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)(54906003)(508600001)(26005)(31696002)(6512007)(8676002)(5660300002)(36756003)(83380400001)(4326008)(2616005)(86362001)(66946007)(316002)(66476007)(2906002)(6486002)(6916009)(66556008)(38100700002)(6506007)(8936002)(186003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VWZFOGdNN2RYNXFNNk5pNXBsLzhwQVVzcDRjK1VsaEczSWRTNGZOenczcG5C?=
 =?utf-8?B?MnFMNDZvUnMxQ3owS3llTDZkenQ2M0dZMHlFRDVKM2dqYi9vaG95V3JIQWFV?=
 =?utf-8?B?ZXBjZjVZQnh4anVjOERXb0MzRWVTaWlKMXQwSm1qSnVvdWZnc2s3aDFLeUht?=
 =?utf-8?B?REVsQ0N3ZmNoOGRLSTB1M1ZESGtFK3hSakVqMDAvVThSWVZDNDBzSjFTR21C?=
 =?utf-8?B?QlhJNTZ3U2lOTGtPR3k3YkdsTzh0Z0VwajhKNnFabWZqd1dYYk8xRFFqaC8y?=
 =?utf-8?B?NFVZYzZkSzdPQ3BMdVVlcmtOVExNQk5WaEFjd0dqRWhodWZ4MnVoSnJmOFFr?=
 =?utf-8?B?ZEh3aHlicW9LcGQzSnVlcjZSSGtJOVRtVjJWb2tMNEM2a054YzNUNEYyU3BM?=
 =?utf-8?B?ZWRpVFJrcEFwUGpucU55T2FjVlh4aStDRm5QdEpQKzZBUWpUQXF4NjJPVGx4?=
 =?utf-8?B?djJzZ0ZoeUI3bEcrZEhmaXZxcEEzZmNPRGZpOE5nbEUrQjkzSTlWVVdqemFq?=
 =?utf-8?B?Zlh2OVYvNTJxV3hzZUJ6RTVSMHZaa3lWR2xtNXVJTEhWbm84UkFCdlpIaDVD?=
 =?utf-8?B?ZStGc21tT0duQ3RKZUw1MU9UWmQ3bnhHNXQ2ZWZkNVFpVnRycmR3bzZQL2Uy?=
 =?utf-8?B?WjRjSTlEVExubm50MFVvaEd4cWd0cTBIa1lMbDhQUm5ZT1UyeGdMdFFJZXBi?=
 =?utf-8?B?Rk9pdmdrZjluZ2hONVRBOWVib3hxNEpSenREQ0c4T0YvK0Z3YVdmSUJnRnFv?=
 =?utf-8?B?VWdmeW1Idkp1RmYrMFh5VUxiYWN5bC81dTRHVVkwRXpvVkxXYitFL3FBcFl2?=
 =?utf-8?B?MlJFNzlnU1VsY0MyVGFIN0Q5ZXpCVXRHZWpGTjV5dlpOZUc0b0RDZnFaOTA1?=
 =?utf-8?B?d3lITUZBUGRPN2VGQUtHTGJ3Z3BGeEVObkFtOFR2RjFpVDhqMWU3S2lSRytj?=
 =?utf-8?B?YVRyenB0czB1bDNjdFJEMDFVQmFTd3QySTlSYzVYSmhaZzM0cVd5eWtaZ1dQ?=
 =?utf-8?B?N3hGL2VtVjZtcTEvUklkcmRnQkFpZGZCTUp5WVYzaW0wM1NKU1ZwTXUyZnVl?=
 =?utf-8?B?SlJoTWhsUFAwYWE0U1F2NUxzNjNQWXlTNExZQUNDZWd2aE01T1lpcXNQZHVK?=
 =?utf-8?B?alVWamlYRnVNcWg4N3UvME9NTHQyNDFVM3VabjMvM28wekFIMHhISi92RDFq?=
 =?utf-8?B?NTdLc2NZRmJYMjRpenltdzZmSFlBYk5sN3hOWEEydUN1azhiNk1td1ZPVkVI?=
 =?utf-8?B?VEtxL1JiNkZhYlhKbjhBaHBzQ0o0N24zTFhvZkRiaEZtQStOS3ZpZVpzWW1T?=
 =?utf-8?B?VDRyWm5hWTIyREpldS9oTDUrMnpqV0lWV1VOM1htQjZFUisrTDF5SThFK1Jp?=
 =?utf-8?B?ZVN2eTlmZng2cmFnb1Z5ZXFOQjlWNFUrb0RkS3gwV2cxNGlEOTJCOWJocTBZ?=
 =?utf-8?B?VTNIODBkbC9FVmI5amZNa3B5ZmhXc1loSDVxeVBGVUxrVFFwdGJEK2Via2Zk?=
 =?utf-8?B?V2x0TG5pY2lycUovNE9tb3pWNWFkTzA0MmxIekxXREtKRWNWYTBLbGxIcWFW?=
 =?utf-8?B?bXNUZnJrT3VHR0ZqVzVnZVpacWNKc2FpSnlWVTM5cDloTGVwT0YwdHdjT2FF?=
 =?utf-8?B?WHo0cG1NN1AwNjBkcC8rL04wRkJSd0QraDlRMFNpUk5HcjBVZGpNNFpJMzZU?=
 =?utf-8?B?UjlIaWVONGJxcG13YVVuYmxyYnp5aG9iMStHNG81NkdmdVdXWFNPYVUxWXVX?=
 =?utf-8?B?UzdFSFVydlRZRFdGNEo0MjlhbGRTV3dkNHVrSVp6UFczNkdabkpzQ1NMUFNu?=
 =?utf-8?B?WkJQeTVqUTFaanZVZ1pwL3JmZEthZWljTG43RStqMVFBbGNhQ21oSzJaU2to?=
 =?utf-8?B?dnJQYmtiMTJOM012dXZmYWFUZ0lvVG5rc21FVHFUWGZqWXYvMEcwaE9uUDBy?=
 =?utf-8?B?MVlLdUxiR1Z1N1lPMWZZc2RXOEhnYjgxd3YxdURlRGZDM0d1OHhjeEtTbGZi?=
 =?utf-8?B?Yzl2TEwwUHgrUjhTUXdhNVlVVVJML1Bmb0grK2pnVU8ydW02MUNUNTN6c3hj?=
 =?utf-8?B?dThlQU5OYlVtWUhKMGY3Z3dXSWdJbEpoMmJjVE44T2s3NVg4WWVzVEtreGRt?=
 =?utf-8?B?UHZiSzBYSlNJRXVzTjdVSkR5VzlNam5aL042TXlMV2xsM0xzOENCdDNLZi9Y?=
 =?utf-8?Q?WdzY3CYzEqKrLj36mqXc3SM=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4a1c8f0e-354d-403e-5a79-08d9d455740a
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 16:22:53.4769
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2LrsU0bzYd/IRH/NtgHy5VCtUTfWP5E9B+RGg3ARiyAbRUyIrXjqCr55nbScVvdoDw+GprccZGCW2J2mSEqW5Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2446

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 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().
---
v2: Fix build.

--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -347,63 +347,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 physical 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);
@@ -430,7 +483,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;
@@ -770,8 +823,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;
@@ -779,11 +833,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);
@@ -793,7 +847,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);
@@ -803,6 +857,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)
@@ -1914,8 +1970,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;
@@ -1965,17 +2022,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), 0, 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
@@ -1987,25 +2041,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 Mon Jan 10 16:23:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 16:23:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255401.437637 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xSD-0003KY-9G; Mon, 10 Jan 2022 16:23:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255401.437637; Mon, 10 Jan 2022 16:23:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xSD-0003KR-6F; Mon, 10 Jan 2022 16:23:29 +0000
Received: by outflank-mailman (input) for mailman id 255401;
 Mon, 10 Jan 2022 16:23:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6xSC-0002ES-0B
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 16:23:28 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a3eca8b6-7231-11ec-9ce5-af14b9085ebd;
 Mon, 10 Jan 2022 17:23:27 +0100 (CET)
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur02lp2052.outbound.protection.outlook.com [104.47.5.52]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-12-M_W2aI7xOxC72dgOclvvpA-1; Mon, 10 Jan 2022 17:23:25 +0100
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.4867.7; Mon, 10 Jan
 2022 16:23:24 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 16:23:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a3eca8b6-7231-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641831807;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=XbTDn+4UMa6dRTZFvW2eulMSRTVqS5JomnC2oSl1l9Q=;
	b=AF3WmaDEF3adRAZLnhBdcgMSbM0vCyBjtHiDji/Z6t5/xAms6WDTxw69kQ1vjnI1ES4qCM
	QlhlCBqWHtBFjBBSJ0iEys8zldJGR+3Mrf613baU/qPSKyTYRWa1zIm56CHysoyf8DU9oE
	N//lmj192OIqIivfQa7kUXOwT7BHoZ0=
X-MC-Unique: M_W2aI7xOxC72dgOclvvpA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=B4E/CxPk3hp20gDSvpBXWvzQtI5wH/bxQ85CO1rquwN5E8mMvW1P435RWw/HX6jEW/8gYc21d+H/B2wGoZZk/AoCDu8XTf/Ud1dRtAVCcf+63H5XwHaFrIvN26/XMPN9oHNCAxB0l2FuWpu2paw7MrE6qa3f2lnDFRtzaRsJoqyA6RaoRMX/18EKlpr7sibDk8Etpwh5A8vAleweA8sT7eiUeGD60aH3Sa3Fmk8e1gZ0/UsP24oHTzFuPHIaTkbGlc6fwtofu7jtIlx5PNmsyj445dMdLKXbvPpPeyByn2+gMA5GclYLI1eDD7AzJN233HO7Fn0pt8CucB1oYoIfpQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XbTDn+4UMa6dRTZFvW2eulMSRTVqS5JomnC2oSl1l9Q=;
 b=Dl3MSBXHOdyULwK3qt+jE/CGfJlTf3QTrkBBB2yIQUN/4jyMMw1SZGCM+iiGR35G6G/KCfNw8UjUz61e80XQLL+/R4BKUaDo9/cGsZ8jb763MXF0mEqiYr75C+TuwMdgWBsfP4hEmNX8hoAboX4keTr8YWjkkBOqiwLtk6H15kFHX0cpXwYFBnMkNHW4baKvrlgK3jfabfsHkIyKya4m/wPb0oscSj0hjVOnyqLINAoKagCyobfnJfz3MTKmQU7JKCAZh6HI24EBko72kxMzz2NlaMRDfMZQjwkvE436AAkoKFj4RdePQJzGKds73qZX/gltJ4gyaZfsW2GF1njubQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <10d6b416-1a20-4b1b-d39a-1bf17b2e174a@suse.com>
Date: Mon, 10 Jan 2022 17:23:22 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: [PATCH v3 03/23] VT-d: limit page table population in
 domain_pgd_maddr()
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Kevin Tian <kevin.tian@intel.com>
References: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
In-Reply-To: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P193CA0045.EURP193.PROD.OUTLOOK.COM
 (2603:10a6:209:8e::22) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2403a243-4d22-4831-2c10-08d9d4558698
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2446:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB24466BA4E87B6937CE6CA4B3B3509@VI1PR0401MB2446.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:
	dvdxYmLMmDAhm18XNAuttSzsDN6XrI6nnC5hnQi8TPfw5UwkYwP0EBz4P/6SLLjXBmvd+Aa9+wbJGKofcdjsCYjo814Vn2abWUvGpLUFQUL/cRY3DyNFq6GBujI32Aal9vZn+8r5YIEQHnzM536eXtbIJU52ZjllkllSNdEoayUIF6pQdPfu25VfvynE3VNQtgOHtGxXCXO7hc+Vo66ubKQVz3cZ6+7XeOISO9TCif0trCwWE0tCSmo0bZfS1BUJfoQDwEHjlsPEkdSOaqj4E+Onxf04rce+swfDa0c+Y/0DIcrFvpw5sv2C6G7ZPBgx/6JdHENOC6Ca004r50k5bw2F6IFfknd7TVGqdWyO9lYqDv8Aj9qy0TZcc09yyWnu2o6VQAc8fwqMttoNiJhFnoqFpZKMQokkkxlTS55ij040L+Sn35Gkr9EHAqsvEIudg9re7q/g1+LyWQbxENj2KjhEY33SWjXwOqvCkBHNXohckeD4F0QU9L0eeT97G6EZ0hCQ0MCawr6lANl/IrQws1N4hDPs8hdGyEm9MP2SkB0wbITWssuQ/NE1OpDVAFReaHMiRaIGsTF5DLb1hdV5klPYSwsjDloPnToJB0+4CLLe1AcjHR3Qsjlc5q6Av25HxO/qXgKSkAsvhQ5lKyUK1aYahdMKJxHDiTsA9SpOpSS3DZc34jExNYftbKEpJWYn7GKWH+ybJdH5nBsvgYnxwvqpxQuN/ICJuc/DGQIxXOrxCRi7/+uywQj91KfKdyNF
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)(54906003)(508600001)(26005)(31696002)(6512007)(8676002)(5660300002)(36756003)(4326008)(2616005)(86362001)(66946007)(316002)(66476007)(2906002)(6486002)(6916009)(66556008)(38100700002)(6506007)(8936002)(186003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S3ZVNFRDeFAwVUZKMmxQWHMwRHBHd2lVbWcrZWsvSktaMWdKMHJHWklZdHBC?=
 =?utf-8?B?YU91dStpUFJSeHRRRW1VVWFCUlZwMHlYOU4vTFA1TkR2emxQNWxOT2dackFh?=
 =?utf-8?B?WUM5NXJGN2lCTkhqY3V4NFRDZkVwUFB5bUZwSlZHdnl3ZnRhWC9UTXZFcm9B?=
 =?utf-8?B?WjdBNFNxNHJIZkNsbUxoK08xaUVQQXNUSVM2V25DQkd2a3M1VzNWdGF1blNE?=
 =?utf-8?B?Slp2QzV4eC8wM0RJYzlaVzdieVpSQS9ocEovZjNFMXVWMXJmM0hzTUNUTGF5?=
 =?utf-8?B?K0NRSHhTbCtQWUF0NGpNWnVLR2d4clJYY29VUzlqTVNQTUVlV2g4UVlMZ2NM?=
 =?utf-8?B?N3R1Z3ladWR5cEFBRDY0ZlhkbDA5Tmw2VncvYThCRGRYYXhOV0ZEazNIcCsr?=
 =?utf-8?B?L3hvT2NFN2M0UUNvMHFKSmVoSWRmV1JqeXBnejFVZFN3M3BjNFdEWmFDcm1X?=
 =?utf-8?B?TUpsSU95K2RYdW5uZytsbWtSTldJZ0xRTUhVUmdlT2hhNFI0d3NKV1pZUnBs?=
 =?utf-8?B?SStxeTliWThxWW4yMDNlM3VFeWN5UFFETyt0bktBWFo1SnhIRUJIUWhWajZN?=
 =?utf-8?B?Nm5qdElmYVBSeURxNGp3N25sN2t2VmhCTkFMb2lWSmozUlRiajA3WGhsUmRT?=
 =?utf-8?B?aENGdXY5UDJBaE1IeWQxQmo0OHBCeFA3WG91TU9NUXVHWU5zLzlyLytyclh0?=
 =?utf-8?B?elRGWi9SbzNNdFFGSldiWWV5cEhqMERoWGwrMzlzTldTUm94VWpQY0hlZEJx?=
 =?utf-8?B?SzRRNnZyODlTbTZqNmtRZWJFcWUxTE9yS0xNR0pZSngvVUdXeWY1ZnZNRXE4?=
 =?utf-8?B?MU9qMFlkR0NBU25xNzJBakxiV3NyV2thdUR5VzQ1Mk1MWEtVS3ZYMEsvY1JD?=
 =?utf-8?B?cHYxbTlxTzZISHI4akdlVlJ2MXRqc0JCWG9nOFRuVW56dmZXSFZjN1J1VzBm?=
 =?utf-8?B?WWNOeUxIWmF6ZktaL2c5b3RvbUNzb3A4KzZDNWUrK2RLbDNKbEJlOEdTTXhG?=
 =?utf-8?B?MFI2VWJPU2ZaVytQeStsbzdxTHU4ZHcxcktYUXdMK3N5R0FBcDEwbkZpeWFH?=
 =?utf-8?B?cnJLZExiQnNsMXkrK21rRkRGQVViYnkvcElVZ1NtNU93QWZTM3hoQkdRRDMy?=
 =?utf-8?B?MHQ4R0RsNVdqUU5JdUdmeDRTbUVMaUMyR25CVDRoWmNWbW1ZWkJwZmZZVW9G?=
 =?utf-8?B?ZUdGYmJGK1NKQWlXUGIzTzNpekVDYVI2REp3OWREZS9zbjhOTHhwbDhJNjdn?=
 =?utf-8?B?b25qd2h0ZXAxN1JXdEJBUWZyM0tRZU5FR040eWJobE1pWmlpNG9FOHg5bWJR?=
 =?utf-8?B?eDkrOGU0a3FkWnhBa3Q1OHRjSlc5NEVtQ1pWa0Q1T0pQbGZ5VkxKVGExekp1?=
 =?utf-8?B?emthU21xKy9aeTV4bWRWUzhlTWY1TEMwVy9adGhZcVFQQjNKY1ZqVDNqRGxF?=
 =?utf-8?B?bFpLbmlIZG9yQ0dmaE11TUNYd01Qa043Q1ZPbVNqdEUzcnI2QVRPVkpkZzZt?=
 =?utf-8?B?YTFES3JDRFFqZlVwbXh5dDJydm1ndkZyT0dQMnl4c2t2Sk0vMVNsZ2t5akhV?=
 =?utf-8?B?RDFEZlZKUFRPbHd5dWljczVzTTJrQjdSWThmTDBoTzlEc3ZvQkdPdXNzNWlX?=
 =?utf-8?B?UzVpN2t0NUdScEM2aVQ0SHlOTEN6ZXBJdXFXSGx1c2R3Qjl4TkxBakhmVVI5?=
 =?utf-8?B?ckNpWmdyL25UT2ZTT09WTVEwaENacWVOanhnNXNvKy9EYVBNeUNZT3pLVGZk?=
 =?utf-8?B?eHhFK3ZiYkFMSHUzOWJnYTROZWo4ZmhKMkhtS1o1SlZ2OHU4UDYxUXBUcEJE?=
 =?utf-8?B?bHBjTThsRlUrQWRmUm1BQnI5ZTkzVDVWOVUraEVxeHY2MjF2cWo1VU5YZGs4?=
 =?utf-8?B?ck4yWHU1a0Q1WWJvQm9qYXVEaVl0bVI3NEFHKzJtemNwMVJRTisxclJ5VEZy?=
 =?utf-8?B?SXdRY0MwazZrT09lV0crZHFHZ05ab1pvaXBtTTZqUFZMQVhWcmxXaHJMZmNh?=
 =?utf-8?B?VVJEM2JwVGlkd3pQWmpWOU84MytabjZtU1VybXdvRmpobTZ6RjVYRTd5UHVn?=
 =?utf-8?B?WWZQZ25FM3RXQ2w1VEFTMDBzb3NQQmE1SjNJWEJuaU52bDJyQU84K2sraXBs?=
 =?utf-8?B?TyszTXhKZmxoNEJGSncvU0x5TGtOWHJ6cXM2QkxpK1oxS282RXBLZ3dZUTk0?=
 =?utf-8?Q?cSqX8JroOmDnTfXMcPPQ5VY=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2403a243-4d22-4831-2c10-08d9d4558698
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 16:23:24.5953
 (UTC)
X-MS-Exchange-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+VVG09bPfhdb/5dF7G/GDk26XD8RlS2cKFTdgsjH3SSeF5AN7tE42zon8aYEVcF7WemUy8FEJYebyQpBUG9bQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2446

I have to admit that I never understood why domain_pgd_maddr() wants to
populate all page table levels for DFN 0. I can only assume that despite
the comment there what is needed is population just down to the smallest
possible nr_pt_levels that the loop later in the function may need to
run to. Hence what is needed is the minimum of all possible
iommu->nr_pt_levels, to then be passed into addr_to_dma_page_maddr()
instead of literal 1.

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

--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -55,6 +55,7 @@ bool __read_mostly iommu_snoop = true;
 #endif
 
 static unsigned int __read_mostly nr_iommus;
+static unsigned int __read_mostly min_pt_levels = UINT_MAX;
 
 static struct iommu_ops vtd_ops;
 static struct tasklet vtd_fault_tasklet;
@@ -482,8 +483,11 @@ 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, NULL, true);
+            /*
+             * Ensure we have pagetables allocated down to the smallest
+             * level the loop below may need to run to.
+             */
+            addr_to_dma_page_maddr(d, 0, min_pt_levels, NULL, true);
 
             if ( !hd->arch.vtd.pgd_maddr )
                 return 0;
@@ -1381,6 +1385,8 @@ int __init iommu_alloc(struct acpi_drhd_
         return -ENODEV;
     }
     iommu->nr_pt_levels = agaw_to_level(agaw);
+    if ( min_pt_levels > iommu->nr_pt_levels )
+        min_pt_levels = iommu->nr_pt_levels;
 
     if ( !ecap_coherent(iommu->ecap) )
         vtd_ops.sync_cache = sync_cache;



From xen-devel-bounces@lists.xenproject.org Mon Jan 10 16:25:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 16:25:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255411.437648 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xUE-00044H-Mq; Mon, 10 Jan 2022 16:25:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255411.437648; Mon, 10 Jan 2022 16: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 1n6xUE-00044A-Jj; Mon, 10 Jan 2022 16:25:34 +0000
Received: by outflank-mailman (input) for mailman id 255411;
 Mon, 10 Jan 2022 16:25:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6xUD-000444-B0
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 16:25:33 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ee7772dc-7231-11ec-81c1-a30af7de8005;
 Mon, 10 Jan 2022 17:25:32 +0100 (CET)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01lp2057.outbound.protection.outlook.com [104.47.1.57]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-22-D_kf8NK-OCqp2lTDk0p0Yg-1; Mon, 10 Jan 2022 17:25:31 +0100
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.4867.7; Mon, 10 Jan
 2022 16:25:29 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 16:25: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: ee7772dc-7231-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641831932;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=bZDLkEqTer3O17aBOCHdhQ8xeDX9ptV5RIek8aDqpCI=;
	b=IrFiJhyTHGoKOz6P75OelATBvo2Ev5Of+7mwYlgBc0ofBLwh48Qj2716gQeMvQshV+K3GH
	L/HoMWQGdk0cDiBuTx6vpakwlaoGsYc3M/bDKjEv9HtCBfOWdslx1JbnwctmQfq3WcwmIY
	/uU0drBQ6ROkX2GVX769hpQGz39GidE=
X-MC-Unique: D_kf8NK-OCqp2lTDk0p0Yg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OsKngWXwq3HlJ+nCuXgfco1HTxiIWz1hu9Yt2npknBvZb14w0pFELvozv1sZZyq9fhFHccVXDFIxdWCF+EkRYRC5PbF8kSeifA6ZGsJZ+lcCtDzCsJ6T/JJLwEuT1CAZUlc9Qv8X0mOXftBcCNa7O674ZH621u8EV5KUPWyh4wEsaPdICbK5lX/NdJSjHDskgJR0mYc0rVQQnBI6su3W8bX3/XyXnJyZvhzJP4VrXvFOS+lfPPE9NlMetzQmV0CN39wr4+s6MCYfGtf8v4oFu5eBuGbfwkfNJ3THRKlRIhD9Exf3KuXnDMUWbZLwxwt7YGWOerRhXUQmMyYhyPaNvw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LWxKtl2bnXWnDaf7ZhGSGx4BTSmBYb3ptYMsyNa3h1o=;
 b=C/JTkjBwIZI72zQF0CnxWBMsgeR3vCpyrfeynsFdpf9ndjEnpVq2T/DmOU+iUgdfBrpWui7+ihgm1JU/FdG+fU9HLdf/qqhSU5/dLFb0OgzN+kZFgtjSehNSWbemfVEY8mT+sPeIXCxSCqndkuU79EIm22S/QuWdTkaicGvzZozcCfkRzGJk0WdwW1dAEbXc3Npt3S1OTbQ5Hxasz6Puy4uD5721AZdiT+4B4SLcDaD7R5F2EAmmIWX6zzrQr7Q9ZXJGW8w8fkIysTWdowJOg9WQysPy6x5ugoQXbl6mh/zuk1rQwO6Bw8GvO00fNRqwnxXQDm+7XuWiyjuySRu+jA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <cb46d2c9-d735-4be8-cce0-ae37bd59cfa0@suse.com>
Date: Mon, 10 Jan 2022 17:25:27 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: [PATCH v3 04/23] IOMMU: have vendor code announce supported page
 sizes
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Rahul Singh <Rahul.Singh@arm.com>,
 Kevin Tian <kevin.tian@intel.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>
References: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
In-Reply-To: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM5PR0301CA0032.eurprd03.prod.outlook.com
 (2603:10a6:206:14::45) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d2faa2da-e1b6-4ecf-78f0-08d9d455d0bb
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3392:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB3392CD17A72348748DFA0F37B3509@VI1PR0402MB3392.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:
	aZrei+NG9oS0T1oIG9HOCh0ND7jgu6oGoYjkLCpslztiN4368e/G9Clo1sVtvRM7z9pXbHWWvCctoOhyESnCg8ZPgvqAkDsDB/x7OAOds4TyOsNpG5HozA28iXBhjNelIO1b1h0zY0XRaeY+szsAu+VBsowoQ6dztOdAj8c4VkKrtzIqK/dAV55m6om21zakhvEf/n764p+JGF0e70+nxNEyaD2dWIwwzyOJgv6QUZb9ZOHCpMLSLG9zsyyGM0ooH7S+EImil1GAq//6ngG6+lOA1+2cbzg/YM+En5gEFVIpBHx2AbPAy8J+Vi/m0QTXWxV7LFeEnuFnG+waYJRtfZX5fPZzBeT56M3YhUvoMyD3451hgWRTbCgakG9H9I4nFad3TUGeaIf2oAHJyBYsA12A5cZnikx2kthfVHNddUDXPr77193R5JOZv37ClrDoLHrvpYFCRiXscn+zYeb5x+CHvo2Nc2qEVLC9Xzut+GtYRYc4SZfT4I7upXxl3Qm7/4xRFaOBNYdeXEmj4BKfhpIkn57Hv1CyFWivAW7otKFuUzODCMNpwgj52G/tSuWJBCF4ClHDSAvY67QQUmu5rrpKyJ4hiqIIGMGhLlu6uyrBvrMeNoTOWKzo46NiZNQ6zK9lUKjmYbQgbTkNXgnKHubH5UTrS7ec5f0VSY2IOdNGRse9xm2nD7TPl5E/aeZOcD4Inv4uiR4GqInFF4HDqKqXtuW+gdXWnRhn+s4eCTf2tSy6H0STtcCbs5k8WwAZ
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)(6512007)(66476007)(66556008)(66946007)(86362001)(8936002)(2616005)(316002)(5660300002)(508600001)(31686004)(26005)(31696002)(186003)(6916009)(38100700002)(36756003)(6506007)(8676002)(6486002)(2906002)(4326008)(54906003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?E4Jtw7WFATYM6tldy9SEdGACQDl7iXn7y7sMa9/CO9aZakeZd86Nu5XQrkFs?=
 =?us-ascii?Q?9hrX7pNIUQztMOiXSM53XScLJ96dCbZC1P7oFKnn47IEz6C615BBuf77OOvH?=
 =?us-ascii?Q?Uj9NSUsQkKYxyFx+iFEdl3WHK4v09uGaEQpmBRo2mZEmE2X9u0fidciBDkGe?=
 =?us-ascii?Q?6QLjXHJCGme1oiozn+/wfUZLH2q2qN7Y/3v7gYAOS38NsEzPPSbxh0Tks2jP?=
 =?us-ascii?Q?c6P1OK0ShwE516NoLIKUIYQGbXeELPgX9uH0D9qs+vS9Rrhw9TCe3daQPFcX?=
 =?us-ascii?Q?ClxLdF2GAPp/JukpQms5d2WJP66VZdqTDbAbLK6UCTZJKIjPvYEMbJnjBeTJ?=
 =?us-ascii?Q?ztalA9D+H8ohtt2an0dXB+2Jd31MPIEiWHruUyMHpqaO7N/e+DVUO13OlDb6?=
 =?us-ascii?Q?BnkdspqyKwqoiRherpEvyVm2UFL8ctbgg7b6gPYNw16HTTiCx0w4bv8PJzGy?=
 =?us-ascii?Q?WgRSmCsbMSrlCdSwEI35V+rF0ufBnChwkZfpmPGhdmiuL/tZlKs9Hvn5pOfL?=
 =?us-ascii?Q?+nPQMMxB3uRoYjzScUi+VhI2htvl13KiO+njAnM9Q7gpAmBhpeE77WqgHW61?=
 =?us-ascii?Q?eW6Sp9zFKIOdMBXczMfZts1ywTcLQC244Gsj7AdKdtt1OUOQeO9lVlVALmWj?=
 =?us-ascii?Q?IwGJv02IgWAdrNuSIXkx8WQuWgAolU0FWpkLL36PbKUZKFxFu+0CtqO4iWuP?=
 =?us-ascii?Q?9TkaT3sdJIQvxVMGWw0ZH36OMo31/Pt2i1TNrcoy5KptFiSzpe10pOlP/XKa?=
 =?us-ascii?Q?OP1VjQD0IHxmubVSWpOazQcEcnfDxbsHDNDcBmtE13CB5ggIw1tLqXk9zzAG?=
 =?us-ascii?Q?ttB6SNbwj+sNyBGu5QI5rw3YaBYYhL/lcSNKXLXiKWh4bZGPfjQATwTA/LUG?=
 =?us-ascii?Q?bF97dzr4FllJiPkLCr4w883OdonG7YNx1nSArnnboD5cNFgd6E/3rq3pi5J2?=
 =?us-ascii?Q?EIvOQMGZxXW6KgCBa4/DZAgyCqd6+0HViLU/tRsimt5QV/qZgRckLAN7V1vU?=
 =?us-ascii?Q?tBfKhQPJPCvlVhjqt8kBYEvCbHcXai0o0vNQOf9Y2KJVtjFTCezxa5hOlevQ?=
 =?us-ascii?Q?B611+mVaYChytwOInR5ngX/Q+7w3avjJpvIO+zuCH8wbCBXvcQTHUVQyTj2w?=
 =?us-ascii?Q?8zwSgClM8LM8dL/V4vHtdjIriFdQixId53T5Z0ZE8yIyNYWU9p5d3eLw8rTt?=
 =?us-ascii?Q?S+OGh7G69f3N10IaXNJGYBteL/o/WLmj/DBnOcLGR3Tfldlw9TPw7RW+G1R0?=
 =?us-ascii?Q?63XT9FW33cCJIh6v4xpS3h2YplCm2y+VxCOTMDygVAC9C9LjYXnf7p/2+tJL?=
 =?us-ascii?Q?rq/3qT0sba0eg5KO4fwSAfLEg0Mml2ljOAbXzZ/SovMBZnybTgUOQBAwlUyC?=
 =?us-ascii?Q?wwQgSQjru+jNdCTTLDymqlnlQ66LMcIBH4cDRFSLSAOqYQ5u1VM6Uo/Z6YzU?=
 =?us-ascii?Q?p8BL7lCsI8+Wuv8cCp5y4auRsjkyRxIecihxVCYItwmtJjvRiGVamSiyQstt?=
 =?us-ascii?Q?7l3x9w5qUw5DJgw6pG41YmP+COfK6sMI7ENm+ufBPs+m917lLSIqbGDvd3Ix?=
 =?us-ascii?Q?nmZvjiSLkWVhdVOhJoej5vXzrx4xkNryiidv0mo4dRg2HgDEMyrxhM3nvbj8?=
 =?us-ascii?Q?cDWUPo42PY6z5f9CYZg3cHo=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d2faa2da-e1b6-4ecf-78f0-08d9d455d0bb
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 16:25:28.9971
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: H/Uihs4ccGLLIl65xuPt3a+ZejilkpHNKkm4XvGrbOPY8xFr5NqY6ce0V0dhFFT049P3d5EEsQAubCcn6WMY/Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3392

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>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Reviewed-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
Acked-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Rahul Singh <rahul.singh@arm.com>

--- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
+++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
@@ -629,6 +629,7 @@ static void amd_dump_page_tables(struct
 }
=20
 static const struct iommu_ops __initconstrel _iommu_ops =3D {
+    .page_sizes =3D PAGE_SIZE_4K,
     .init =3D amd_iommu_domain_init,
     .hwdom_init =3D amd_iommu_hwdom_init,
     .quarantine_init =3D 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(
=20
 static const struct iommu_ops ipmmu_iommu_ops =3D
 {
+    .page_sizes      =3D PAGE_SIZE_4K,
     .init            =3D ipmmu_iommu_domain_init,
     .hwdom_init      =3D ipmmu_iommu_hwdom_init,
     .teardown        =3D 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
 }
=20
 static const struct iommu_ops arm_smmu_iommu_ops =3D {
+    .page_sizes =3D PAGE_SIZE_4K,
     .init =3D arm_smmu_iommu_domain_init,
     .hwdom_init =3D arm_smmu_iommu_hwdom_init,
     .add_device =3D 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
 }
=20
 static const struct iommu_ops arm_smmu_iommu_ops =3D {
-	.init		=3D arm_smmu_iommu_xen_domain_init,
+	.page_sizes		=3D PAGE_SIZE_4K,
+	.init			=3D arm_smmu_iommu_xen_domain_init,
 	.hwdom_init		=3D arm_smmu_iommu_hwdom_init,
 	.teardown		=3D arm_smmu_iommu_xen_domain_teardown,
 	.iotlb_flush		=3D 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)
=20
     if ( iommu_enable )
     {
+        const struct iommu_ops *ops =3D NULL;
+
         rc =3D iommu_hardware_setup();
+        if ( !rc )
+            ops =3D iommu_get_ops();
+        if ( ops && (ops->page_sizes & -ops->page_sizes) !=3D PAGE_SIZE )
+        {
+            printk(XENLOG_ERR "IOMMU: page size mask %lx unsupported\n",
+                   ops->page_sizes);
+            rc =3D ops->page_sizes ? -EPERM : -ENODATA;
+        }
         iommu_enabled =3D (rc =3D=3D 0);
     }
=20
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -2891,6 +2891,7 @@ static int __init intel_iommu_quarantine
 }
=20
 static struct iommu_ops __initdata vtd_ops =3D {
+    .page_sizes =3D PAGE_SIZE_4K,
     .init =3D intel_iommu_domain_init,
     .hwdom_init =3D intel_iommu_hwdom_init,
     .quarantine_init =3D 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 *ct=
xt);
=20
 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 Mon Jan 10 16:26:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 16:26:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255413.437659 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xUm-0004aW-0Z; Mon, 10 Jan 2022 16:26:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255413.437659; Mon, 10 Jan 2022 16:26:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xUl-0004aP-Tb; Mon, 10 Jan 2022 16:26:07 +0000
Received: by outflank-mailman (input) for mailman id 255413;
 Mon, 10 Jan 2022 16:26:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6xUk-0004aH-V0
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 16:26:06 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 028aa980-7232-11ec-9ce5-af14b9085ebd;
 Mon, 10 Jan 2022 17:26:06 +0100 (CET)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01lp2051.outbound.protection.outlook.com [104.47.1.51]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-12-mkJHBeTsOu-3PtrBbiQ_Ew-1; Mon, 10 Jan 2022 17:26:04 +0100
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.4867.7; Mon, 10 Jan
 2022 16:26:02 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 16: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: 028aa980-7232-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641831965;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=26g4ivn1MRCUqbsewHobzs7UcdJkFPDivX5/i4ZveLM=;
	b=cC3YNE9n4F1Cj3CaKf+BjaE8e5NjkpAnocrFlFkEQjDjheGeEskqltWoOBiSUztkb9H6EP
	wx4fh1tYYLyvIHmeq3s/kcXLf8dQvutzmD/dUi84JE8yLjyTNqEImAxeyzDHugNc3EeUg7
	WEkbF5UAxyKraboIUZBLhMFSOJo4rNQ=
X-MC-Unique: mkJHBeTsOu-3PtrBbiQ_Ew-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iCPZlyyjBlpGx6kn3tWwHgKZXlIgWbfseuAthvGSPetQ6M6bUM2PZHm8ojGqSoHOaiyt6VJcbYqPqI5Pd3+800fc+U6U11k+/PeK/qWs3tyk04zInm4zQzcJjYXR4Jfios67Lj/ul8AH9uOCR16WuvEDO5EIOfEiQojLBHKfyQXgV5fxYUGK8XLiD5fHrG+/2bGF+GPTfV1R0DiLNGFAMZNZmgz4AKuTXddUY5yWrMA29hFD62Ta0OUlB4tDCkqIFQ812GFV0UHcikAkwvzrJYt1QBFG1v91ViCpGHwRjPdeuozTvpSbvNTY3PokGAxOANvMCMVAqO48fMV7oicmPA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wTdXIg9P0QuVubgLqaqmEja0RWzTevUYMxmQK3d9wRo=;
 b=lBF5m6QUVRhF+6eX+O57SNhwYbe4dmTDOBRlldX+fZ3Bj5jL3yzzMLPcaIvmLHFQ6fdWdGIEt/EE19UdteEU96JX1wPUKqS3bR2a2EsOLrq6trV+L7HlLI+G/3A0W30BxLc0OlnfYUZarOD4PXiT4VQlFXVNLFRDInbbhzvWU6aElIsda+hmKZkuMsyY2DgdTdVMIKWCN/U/UI8Ctzg9ToT+VERQ5077MGsisq1KyuYBHqeElLo2TY5twJsD0UPcmqxIhvTj0m+xhBptkjYUHEQl2Bh0DDqHS6qsLSk7wJTp3JQr+4m4xm5kMjIOw8XeN3+8Wgk78xFT7AgLSsbXzw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e36382e4-195a-d9f3-95bd-88e225fc8c62@suse.com>
Date: Mon, 10 Jan 2022 17:25:58 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: [PATCH v3 05/23] IOMMU: simplify unmap-on-error in iommu_map()
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
In-Reply-To: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM5PR0301CA0012.eurprd03.prod.outlook.com
 (2603:10a6:206:14::25) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a9a01eba-bf58-4f0f-7184-08d9d455e48c
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3392:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB3392DC9BF15B46CC4310DE23B3509@VI1PR0402MB3392.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:265;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	t9AYGJ/OF+zJvKuVEoxxyAvLMs1JuL6OAFO1KWi3DXeXw3SvmUSmDCAfXiQ7jb+BLtOlPe+O04TThEexu9HITKwwhgg8TOJgl0/p1earIpAB8JzWd1Nvrc/ZCDyCcLrdNpCTlC7Fo8/PisJjSMiyOPiqnVJuU79lTh779k7l+KGJD6T0qop2XuDvIHQGRDj1GFk9v4N8tHb5T7lTTw/3jJ5emqUKD9PsWiJIBGeTbrKmi5HmRjKgraJgr6pzk7PFz7D3yhc0s7efOWHsCXC1h/uPKaHldSLn+OjPzEk/DS7yUG+maTg2SnRtXr6+jPjCzJgjBO1Nqb/kN49gdW644KsITZqoC7w+xQu5fb9pUhPFLnwrmvGecDqf0RTG8b6BajwOMNLBTqwinOlY13udujDg60YcCKCCz0ojoguQDypz1t9cQF085gAVeHRPUmnQy13wKHp3EAZJ81W0k4n3CkvnQuy052MDc7GeCKzh4Fm3lJbBAakrvGa5x9SiD83wlCmqrXK4771sPX0WPVrbDvd7bmIn+2Qw5+6soU6FDcDzMIVbuoGxrmPw0/nfZ+qFOUSkg5o5zMq/UVr8JqH7ALsQrFIxPboLQYWxvjYVxwafkFNy1hn2IoYom358bLLod7IYRxnT5E5aHhh4npYQ+rZBzK4rqPW1WHk4biArA3PO86i14bX8R2Wex7R8phkVWSoAB74CztKSjiIb0tK+ZiU0oGuXwM34egCtiTQxU2656BgnjmH3dOOy2fJqafl4
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)(6512007)(66476007)(66556008)(66946007)(86362001)(8936002)(2616005)(316002)(5660300002)(508600001)(31686004)(26005)(31696002)(186003)(6916009)(4744005)(38100700002)(36756003)(6506007)(8676002)(6486002)(2906002)(6666004)(4326008)(54906003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?1jU+M6f2xwHoS+rTtezggcIkBYL+V1AqFELNEI/5ZviJWXlTLxpu/RfhqhQ3?=
 =?us-ascii?Q?Q1/vjrFu49Ze0TNyJ2uu95l44IEPTaehU4421j3KYzqYm2FTYvp00U3HFYFf?=
 =?us-ascii?Q?qsmudaInzha98G4f1IoX9BSK8xUvren2D74n0DzbJ29T8aS3A81ROhu1K7rc?=
 =?us-ascii?Q?veXikNfaUpaUsvke735WkDDClT4MqvSdaiumSkJgDNtEVPdTuZKzghDACVKQ?=
 =?us-ascii?Q?l6DCtyBJA9q/ZlY0Ih/Ie2i1E5IG952LLpTLQDLj0QWr81GAdyZS+BBaRwxC?=
 =?us-ascii?Q?1Eqsj5CUZ1rvzyDxDAGHRz7+cMdW+oRSGvau1XkrgAfNqCSPm4URVSwL/ogr?=
 =?us-ascii?Q?Z43C7XW/b7Ql2MQcdRbP1jxtXTaGX0eGWKsXgeBKezoJKgSf0RnYovCRxxaw?=
 =?us-ascii?Q?HjWYovi2T8ghCNF9ON58Vy6TWaM7wy4G4uEKwBcNwjcOdX9r1JYi3pbDqVzU?=
 =?us-ascii?Q?xfihO4HZFv86sOS6nlTP8MrTJqkwxwt2gvNU9KWZcG7VsKaiTpxGHo2lKN9P?=
 =?us-ascii?Q?FALjiyhi+dAJfvvi9SHDOdjufBAm7hcmggu7GktYxzpSrQNEfBDWDUPnDkL9?=
 =?us-ascii?Q?9D+nSeMMw10Fk9EznYCobn9PzESDx1rQZm13bEhHXcUkI9mFPcWhvBnbz/EZ?=
 =?us-ascii?Q?hQR7xFBMP8dIAvcXO35HIVh82ewfwHNB5dyjTWARQBJ+XEO+n5J1aO1fEPCs?=
 =?us-ascii?Q?tFZ3DuA6pzdh81prPXEFdu+Gd715TGwGZOgGSY2WktmVDFJjakvDzzug2E81?=
 =?us-ascii?Q?u3QIDFD+i7iH/g0EtZzfoW88jaVS5eU8aWqeEuqwhKI+QgqEq7Zd/XPNNqoE?=
 =?us-ascii?Q?5jIeEzFuyGMHq2FFYv2sJqXFORKyQHTNrzjmF4/BZTfJtrVNRb4mxJSDjc+/?=
 =?us-ascii?Q?poVYxPTzATicZ/zSvB1LQoTKmjlVh/1KbAq+addq8PB/ZoP2I0oSW+WMxIvx?=
 =?us-ascii?Q?+N2NouHV6FVB109jrq75IdDO3mL0EXIsekPX6cARx0gNTto386ksLoOak0p1?=
 =?us-ascii?Q?OQTP22j0006rFAgr6CvxZ2Uvf4SDsqXVtcdPOFssUJXsBfleCyKokg7h2zJd?=
 =?us-ascii?Q?SWdl/1Uon+QUtVUfC5zW7JJ8fbyFAP8gbppeTBO5inhVfRA9SBGindy6l+A2?=
 =?us-ascii?Q?aERCEh4Q+WNwPA+Y+n87DuDb0iu/kXmo70WBjRM9GQ5D0uUJZia9jfurkL4D?=
 =?us-ascii?Q?cNm1tLrFSnf/CJTsu+IxLOgfmFktXcXYER43zzS5Fkqh3HDoc65DfUxtAEiI?=
 =?us-ascii?Q?xkGSU0cLpOfeUKRNQ70ek+szA0sGQ9sCKwmA1aqDD76GaUzpvz/vgntQ9GTN?=
 =?us-ascii?Q?gFGhW3TnzRnZn5B3SUQim/WRMZuPs01nZEj9pr6CdVqx1Ujf86e4ii3bQvY0?=
 =?us-ascii?Q?14nppQFZsIChr6ebwjA5xFvq2Sl9r9zmlx4OISJZJgqa6y9/OiUa4RUmF6PN?=
 =?us-ascii?Q?9/QUCQEDLhpIYC9N+LmJHmsJGSwwoMiWX2jEm/LVNVMvxa5jVk5GDHPXNzZr?=
 =?us-ascii?Q?8AYX0qKxuFILEss/7ZOgl1nyRiuDOag89a+yElBsZhvn49SL2BMCElIkF3f1?=
 =?us-ascii?Q?917kkMHAsjC62DTXTSx7cGfp/fYiG61kJeL77XtZLADEhx+cgqlH1OdMnkrY?=
 =?us-ascii?Q?0PyGORXSe/zS5+loLAeoIoY=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a9a01eba-bf58-4f0f-7184-08d9d455e48c
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 16:26:02.2173
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mreh7tWg3+IatIpfGJ9AsMcmdUeofQdTNaVvWoOm6rGMVSY+HdFRMnJG0R6ISbfaNh5vJGxcF7WuAbEjOXEDQw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3392

As of 68a8aa5d7264 ("iommu: make map and unmap take a page count,
similar to flush") there's no need anymore to have a loop here.

Suggested-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v3: New.

--- a/xen/drivers/passthrough/iommu.c
+++ b/xen/drivers/passthrough/iommu.c
@@ -285,11 +285,9 @@ int iommu_map(struct domain *d, dfn_t df
                    d->domain_id, dfn_x(dfn_add(dfn, i)),
                    mfn_x(mfn_add(mfn, i)), rc);
=20
-        while ( i-- )
-            /* if statement to satisfy __must_check */
-            if ( iommu_call(hd->platform_ops, unmap_page, d, dfn_add(dfn, =
i),
-                            flush_flags) )
-                continue;
+        /* while statement to satisfy __must_check */
+        while ( iommu_unmap(d, dfn, i, flush_flags) )
+            break;
=20
         if ( !is_hardware_domain(d) )
             domain_crash(d);



From xen-devel-bounces@lists.xenproject.org Mon Jan 10 16:27:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 16:27:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255416.437670 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xVr-0005Ln-FQ; Mon, 10 Jan 2022 16:27:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255416.437670; Mon, 10 Jan 2022 16:27:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xVr-0005Lg-CN; Mon, 10 Jan 2022 16:27:15 +0000
Received: by outflank-mailman (input) for mailman id 255416;
 Mon, 10 Jan 2022 16:27:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6xVq-0005LN-F3
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 16:27:14 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2aab90ab-7232-11ec-81c1-a30af7de8005;
 Mon, 10 Jan 2022 17:27:13 +0100 (CET)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2109.outbound.protection.outlook.com [104.47.17.109]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-11-KsipVrdYN5OnIj23Hu017w-1; Mon, 10 Jan 2022 17:27:12 +0100
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.4867.7; Mon, 10 Jan
 2022 16:27:10 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 16: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: 2aab90ab-7232-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641832033;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=JwetSJ0M7Wio+bMzCuujR1FuZNxp0KLup95F+RGEi+c=;
	b=l3PqmKiAjKrf5b4f/Nt/e5V+ihHBqU/MUaHcsXaM/RNwtwReciJNpF4Ggj3uj+moJArCrV
	s+0Z7j28oskE5XnnHlOX/P6d128eWUEchbi2ta8U7Nx6+jySTW7D2zccNOcHylwqFPPgSj
	FvWNRgAtBPsT5089mcgEnZUi00bqFxU=
X-MC-Unique: KsipVrdYN5OnIj23Hu017w-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZHkxe4raQQHYNkkbP6mpKAF6Y6WxkxMoaAAUwM/ecqdwSYKxY49GWPO+bWPTB817c9QQ28/uG6C1X1JdWO07wmKIPXuhr5DshmGDP7RACNqgjBayWkGv9cz7H8J/JQNr44xidNA/vWNcCZBv6nw8jYXqPwfRRgsrSwR6RmE4CC2qJ0BvabYGDmTKihUeNOjLR1TBXvIurkPZ8jpqmDbMNAtfwkEmK5c2yGZ7vP64Nhz4N3tAhif/Gbb+cJE/YJFdBCTUSLuLSmtAsbuAG+vL79vWHSuPmbc52dl7+DjBmCcsjz3+rCN1NkH9wzK+gSvFtorHRH2aHB0thHJAL6r0yA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UAjov/cXqo60hlOx+eo/Ja7avwnbn58K8duw+tDk3co=;
 b=oVUipnc4o0f+wJgRgy7UQGpIY7YHgshObXQBnLHyb8tg+oDlLHe+QHJRAkQSB4oMsCwDSHDNizURdJ87S7d2br44jDijLDz/3lv7+IC9PfhBlXV6waZ34VWUhIRgbX2DS9HHP08tx17pv1iQWygt+f588W+VBFn3+/AxQOYjln+z1uJGKluFsnz6/6ooZ/iK6pAkKMOKMk+jdv1Wn9MzozcHquysMBroKbzdcQoKWaSIUHeN4Sfbe4Y81UQzDCGOtvhCt3kXTr8yXuGEXcwo+KoAbQwVLsH/x3SwmaLr9ea9pUWKKHKooXDoaB1tZ+xcq+TzhcXxC6oKOa6iq/+B6A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f31e2963-b795-b65e-3401-22c1fd88a4b8@suse.com>
Date: Mon, 10 Jan 2022 17:27:08 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: [PATCH v3 06/23] IOMMU: add order parameter to ->{,un}map_page()
 hooks
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Kevin Tian <kevin.tian@intel.com>
References: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
In-Reply-To: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM5PR0301CA0020.eurprd03.prod.outlook.com
 (2603:10a6:206:14::33) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 1b018de0-b4a3-492f-495f-08d9d4560d25
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3392:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB3392FC7FAA6FDFA37389AE96B3509@VI1PR0402MB3392.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:
	3jyaBEu72/Ct2G5LBSPiF+wZdcHIrrT6XxeNHhYGanDpcVgnGZ5xTo/01j2QJjNsCgxdi6RndWW6IFTpyquKOO4SdL5SkHUpZlSA4Rp8P2uQ1eO6TUFMEV6EIp1xsmOu7NkMr/sCCYKy+yrsGNQFxiBcPif5ATSs1YLIvoEG/1UWtKAnUI3KDGM1KlTlSplrtKKWmuyVwcdhkpLpKf/NaI8BbMWBbOZCtfMiV0dtnw0IMubyw1ir3pEgzFnIfmVBnu7m1vYlwAdJSYOZIVvc0WDFFZcuiPqHT+OS88X8Q7cHGKmEPc/kuVV88WUsXXTFm8NU4S0pxPhNlkgYK323H1I7qWwb2OsLAdYtZ20GBVvcesNAS5o1faQWjimUgpULIzSYI9066njOVoNYl0E8weC7JTD7+kF0eeAe+wyAN8JungcLwX70xdhMQUVrz+9ifg2U7T87S7wiYbaEBiW9s/iwT6UEhP/2PF0Ss1ilJjQGAN5u4Pq6QbcBv4xQ172u9uV8aDVYfEg0ISr0S24frLkx8HvXrZsf8UOuH4j4ABrsXHKaysg5ULMAQuAIJE3WUvlO2Xvdi2j3IkEcFHaRhDpbL4lNek8tJI5w+RBBFD8W4yFgvdIlHFJOFo+pLj1D/f00rNMEMrltts1BEymEE1XsQEWh4Inm7+xAVQfq7nLiAo1rGIjKa9Uw9eRVZ+D6/RnI0NidtLVTVPlIc5aYiSOr6LtumS5D816Uj8x+WlJNuJ08B2uqdCL9GzFNA+r6
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)(6512007)(66476007)(66556008)(66946007)(86362001)(8936002)(2616005)(316002)(5660300002)(508600001)(31686004)(26005)(31696002)(186003)(6916009)(38100700002)(36756003)(6506007)(8676002)(6486002)(2906002)(4326008)(54906003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?fw6k4MO6Hjk9xgpUVW/TPpsR0oFv5NkQglml6N4I1ODikudejXLYLiz4fe/x?=
 =?us-ascii?Q?JO7aUZwfmWc4tg2oX3710a3ccdszECpKVkLDGDrLxxU6IZUtx/3B3FVI5Hy+?=
 =?us-ascii?Q?hHIZLl2f6HSyqVrGTZOludsUNm0sbIPRHthnQVjoWiK4LfXDL2KSshx5JSEj?=
 =?us-ascii?Q?qpyqCN2W98JZMdzQbfcUwp9MQIWiX6GjIW8dI+aVXPpUNjgR9fmqklJ51jtB?=
 =?us-ascii?Q?8PVVFmHDsMD9NQ0u/+DBRxhp1ZXCr3/P3R2S6pmZb/WE3ZjGlzmue8xeJm/I?=
 =?us-ascii?Q?XQsgJNFJpH86Mw4/Ay/O7S7EAufPZSIHoy0rVqvu9e0/GKx7AxuPEvqWvpvm?=
 =?us-ascii?Q?z7DoANk/zgBvEMYjtEdyR3jr6rXgle/XGAp7IbwZnL+kbIm0fSzhNny2N8Qh?=
 =?us-ascii?Q?LQFdAl+jU3OTKEjJUyWdTqzPvdNodIQ8cFxPgl7SvtYxio/AxQOhBfOV7s5J?=
 =?us-ascii?Q?iKbHf7Fg+Axx9Zkl7pUQ4KSCPw0tv6w/KLwPhUWcoxlS62sn2Rx/c9odNREq?=
 =?us-ascii?Q?CWbi+KTkCA3fPJqeAcS4PEq63hDMC8ntdjQr8zt9Hazjg4rx8oaVxvgawiNP?=
 =?us-ascii?Q?jyiHC2HjTEKBxQuXkowLyPH2ljz0VfJjpps0UXOItFcgG8YhtA4KirK6I1F4?=
 =?us-ascii?Q?cJWkx5Cfzk4rBDDhSOe55nCKiUIdR/GSjb4aKepUZohCZIFjLL++G+6xpGsO?=
 =?us-ascii?Q?rcV0yiVxrHxcITnlHNPLgHyxPwBD9kwDhRYFd7crD7eGn9yb5BqGG2w3+w0k?=
 =?us-ascii?Q?JFO2tKWQQb/GxuTq9HSaDDmqdjwYSkgjgt4Mgj6Zl3zbKwM66H6/wzGnJOyr?=
 =?us-ascii?Q?D7RiAu4eB8Bg0FlrGB055xDoxjVDiTIzOYOudGofiTwKCQskWHnEm7QUqhGu?=
 =?us-ascii?Q?l2bJwRwPcNdLXhM+pjsvYQfJi0duI/myMCXl+9anK4Msa/wVGeOMWTn1PbQ6?=
 =?us-ascii?Q?NYFjBZcr732fEG68GGfBX0qh6JJAsRFC/T62fla7gJzUuZ+oR6k2aS9Bxmja?=
 =?us-ascii?Q?DlwuLBl5eyLVHQw4ApsiKxeULuN/uyM8nknVcIKsCH+eCcrIAcYNNYIywVNE?=
 =?us-ascii?Q?GOsZJmMT13KstmO533jT8MC8PsBvW7gy0RE34419NVmDIkrPt1bzwyKIGWOh?=
 =?us-ascii?Q?zCvOk9TB2K70Z2oWFUBOoRdFo7ug43urTT/AmzfL1NdERxGNT3YhMdMtscZT?=
 =?us-ascii?Q?CrTLqdoO572uVWvmRB2yESsX4mWtx9FHAZEZutXgAPqe1t+nOll8wa+IBt4Q?=
 =?us-ascii?Q?j3D81CAzJNCO2IMoZnkt6VHzlQl70gt2KYyn1BPeCnTMFhJ6gJv5I1aZ+mYd?=
 =?us-ascii?Q?WSHiQTyQG795Sdfu4ss+w6wWLJBGP5M1vKiqo7uWTP9wwLFw1qTQ0cNS5vHh?=
 =?us-ascii?Q?YN8N/NB1b+aMqk/YEZeQXSK4V6ZXRZTIeR2HdBXFDhl1c2QuUbGu5DEBmMua?=
 =?us-ascii?Q?lE9rOZSWCgd/Pvk1WjQIpwDMYFr6Nllnw9a0Y5r15tKMxzW1MKr5awIRvgyL?=
 =?us-ascii?Q?zT9Nmyp4UFByHd2CgF8pTssQvWPo7FatnCHYDpYZa1eMryWht2FcqClXc1Q6?=
 =?us-ascii?Q?wbId/cMQMPVLDDBdnuIz1efrbNwfaE1u7UvrDx1NFsCI+HAr//5Z0tpwPied?=
 =?us-ascii?Q?Sk2XCAXL5oJ+wQwOdcO62/8=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1b018de0-b4a3-492f-495f-08d9d4560d25
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 16:27:10.3498
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jCJsEQ1jUyCLAncFRl88etKY3INtNwyvyFpn41MmRNvbVwQipKM8LdDtiSqfIAbTkEJKh8SMHZ1nOXFmXIXnFw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3392

Or really, in the case of ->map_page(), accommodate it in the existing
"flags" parameter. All call sites will pass 0 for now.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Reviewed-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
[Arm]
Acked-by: Julien Grall <jgrall@amazon.com>
---
v3: Re-base over new earlier patch.
v2: Re-base over change earlier in the series.

--- a/xen/drivers/passthrough/amd/iommu.h
+++ b/xen/drivers/passthrough/amd/iommu.h
@@ -243,6 +243,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
@@ -331,7 +331,7 @@ int amd_iommu_map_page(struct domain *d,
     return 0;
 }
=20
-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 =3D 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);
 }
=20
 /* Should only be used if P2M Table is shared between the CPU and the IOMM=
U. */
 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;
=20
-    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);
 }
=20
 /*
--- 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;
=20
+    ASSERT(!IOMMUF_order(flags));
+
     for ( i =3D 0; i < page_count; i++ )
     {
         rc =3D iommu_call(hd->platform_ops, map_page, d, dfn_add(dfn, i),
@@ -331,7 +333,7 @@ int iommu_unmap(struct domain *d, dfn_t
     for ( i =3D 0; i < page_count; i++ )
     {
         int err =3D iommu_call(hd->platform_ops, unmap_page, d, dfn_add(df=
n, i),
-                             flush_flags);
+                             0, flush_flags);
=20
         if ( likely(!err) )
             continue;
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -2018,6 +2018,7 @@ static int __must_check intel_iommu_map_
 }
=20
 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 */
@@ -2028,7 +2029,7 @@ static int __must_check intel_iommu_unma
     if ( iommu_hwdom_passthrough && is_hardware_domain(d) )
         return 0;
=20
-    return dma_pte_clear_one(d, dfn_to_daddr(dfn), 0, flush_flags);
+    return dma_pte_clear_one(d, dfn_to_daddr(dfn), order, flush_flags);
 }
=20
 static int intel_iommu_lookup_page(struct domain *d, dfn_t dfn, mfn_t *mfn=
,
--- a/xen/arch/arm/include/asm/iommu.h
+++ b/xen/arch/arm/include/asm/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);
=20
 #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)
=20
 /*
@@ -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 *mf=
n,
                                     unsigned int *flags);



From xen-devel-bounces@lists.xenproject.org Mon Jan 10 16:27:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 16:27:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255419.437681 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xWK-0005r3-OQ; Mon, 10 Jan 2022 16:27:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255419.437681; Mon, 10 Jan 2022 16:27:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xWK-0005qw-LE; Mon, 10 Jan 2022 16:27:44 +0000
Received: by outflank-mailman (input) for mailman id 255419;
 Mon, 10 Jan 2022 16:27:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6xWJ-0005LN-MX
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 16:27:43 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3c4f73cd-7232-11ec-81c1-a30af7de8005;
 Mon, 10 Jan 2022 17:27:42 +0100 (CET)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2108.outbound.protection.outlook.com [104.47.17.108]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-20-b74EuAIoNwSR-9eoBflEuQ-1; Mon, 10 Jan 2022 17:27:41 +0100
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.4867.7; Mon, 10 Jan
 2022 16:27:40 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 16: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: 3c4f73cd-7232-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641832062;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=4Ci6FYr5vgpsddeQQwvwG0AliVo/oTZ9JlrqAuexlIw=;
	b=SZF/aNXqj6NJBdSZ4qh80TpE0i0lJ1RQf/fDSsuanWnCVohSGDZktJytRmzXrfcIBLqR/x
	D7uWt1XTCaSwCGVwusMZsB3mM48GuMz/iCwfX7WD8HSdmInK1OGiG2fU7CgP+jXokbQzD5
	u1E63MDV9MPDXKKeRIkxvO2BYOJzj/A=
X-MC-Unique: b74EuAIoNwSR-9eoBflEuQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oXe3FErESdwWK/tVqWDUYncUiGknfHvuriFH0ty0fpW4RZnNwhcCFtACO/qcQylUXmKFonbiVZ6RGSBiJLMSWYhWnncZ87gl/Lxmtr/o8U4u8hFeBnLn9FPxYMjyYZebl3KmtlmT1DccFdcq7/BzwqSxGQVtd2wzcH1D8h/n0kZX/zcA89krCm8k14VDInjg49nSkr4gOPxHyFK+suO3t4DMqw903/hcOwFC+LNXNkVg0Vxi/Cf7833A7LYIs9jykhg4xfRA+SbO60i/4MGfFcxbY7lf7zaHazSxKGxFzSUliICYr4ZWj98BIRLXeXSBEc2pxqwWd/R/ZvSpSQ+ePg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4Ci6FYr5vgpsddeQQwvwG0AliVo/oTZ9JlrqAuexlIw=;
 b=N1GZOzsz9A9oPgAYorYKQuEeGisKYaZdQCRQOj3zDZ6C9dtyv4pbgCBGDjVL3abD+fQDzO0aSq1X8N17E9wmf7XlPLcuGfHUBdOxgEEDywum+rDY3Z790zcDubGPwyz4rPPXAf4E9BhM5C17SeyjQ5BvQlKEmxt6m+ChhZeLrTiG/8DgP4NfXvm3kYNpvhiZvGhSTPB3eNAgVHFy1iYXQRBpngwLTgRkYV+5nH56rqPbrJgLrH1kRzyWuTxOyWD5nz0H9Lx1uUmCprsu0hd1N1h+yeDVjaR6xCzH1j84JKMpw+wbDC2tK97ZFE3liPU2/vrqDN/YZ69UAcVDoMI6BQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ca78dac2-98d8-0fcb-4aea-31aac8e94309@suse.com>
Date: Mon, 10 Jan 2022 17:27:38 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: [PATCH v3 07/23] IOMMU: have iommu_{,un}map() split requests into
 largest possible chunks
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
In-Reply-To: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR0301CA0030.eurprd03.prod.outlook.com
 (2603:10a6:206:14::43) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 76fa2955-1683-4df7-8fef-08d9d4561efc
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3392:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB339201B31758DE0CCC9CB578B3509@VI1PR0402MB3392.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:
	raB7xktxxd0Gs1P9zrH+PqCt4PoNG39gAcJ21lW15J/BPfr4ThcLvUYmmUFfdjdWk/wuuVxrcLQKa2IqClWaK18FVR5zIG0nhkLzEhdxMs3I13sd4ptiOLKchXoRRWJE/kjUoz9PaQZpG7y+jgBFcG1PlhJFu9u9BV6Dt9CfTNztHbfeXqM1C//U7PEE+/4K8W3Fz5wVrpjq4TOfpjG0khbsivZn615RrE26vpC0azPSXweabAxOVIxpGmfYLlfG9yarC19KpopkL2y3v9Uddh9H0FJm6jcWSCRBWeyJmDYqjv4H+S1qHN+oE+DL88yeie/IG20zsSHMAaGYj38/iRl59JgO0WiFs1gSmFgLvJdpcI46/I54UDYxcKHOPvL7IYkrIWgJnfz4PTjYA4cWUZpD/R1brt5ZRRzlRnKqGrQUi93CvfwdFXRWSZwgB7UjmYP+v2UkMct90ALeG3tDWsEHov7/aHiIdojsIs4Zm259SdbJwhwhTvEEkdp8UGyorr7xZ3abKkrXum9+431PhjHdolgKfj0fZUrPWxbhJYyloZxJd/FcZWn1ir9VV3EHs68rxwwYfwLrR6uCv1BntxALaGPFSaUOo0rJhuxVjEjNgYSkdjM3zClLywtDAr1N28iqA2TRZE7IlHhfMlM4I/0PN6f/OLzWehmFdsB8yucC0O5LuB9yuxHrvOuoZCyF1f1iuk8rSgPYOsTeLd16F33Ue1ocdlq6ed+xOc0c1tU=
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)(6512007)(66476007)(66556008)(66946007)(86362001)(8936002)(2616005)(316002)(5660300002)(508600001)(31686004)(26005)(31696002)(186003)(6916009)(38100700002)(36756003)(6506007)(8676002)(6486002)(2906002)(4326008)(54906003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cHdVVmV1eEkyMXhSaG84NjJZdEJ2TGNQTTFYOE84MmZTRVc5bG1xbVQxaUNp?=
 =?utf-8?B?S1lrZEFKRmhXKytkWEdYelFROUNqSWVpZUJLRCt6RXNQcW9qTEFmVjFjUGRm?=
 =?utf-8?B?WTRzcUZnVDA5THlIMEcrbEh2ZHlJYnZQRkNyanVGUnpmcHZLczcxZ1JsMHRF?=
 =?utf-8?B?TDUxQi9nc05Tai9neHVQZENZU3BNcVJnYUEybnNMdG9leUxMbUFVNW9hTmdw?=
 =?utf-8?B?TGRaU2paL3dkY1NhNTZyTmwzbkRTQ1NWRVY1aXBDZncxSjU1Q2lzeWVHZW5C?=
 =?utf-8?B?OXZrelg1SWo0SWg2a1hqaDVuZ3BvUnlGQkVJOTZaaW1WMmJ3WjRqQmE4am05?=
 =?utf-8?B?WE42YXpMK3hZSXJBZ0VEb3JsNVVtUm9TbXQwNy9JalM3bU40U0VqSllkMzNw?=
 =?utf-8?B?eUFHN1k0WFJoQWFCbE5uUTk3eTVmbGRkWSt2SU9wdzZzUWJ3a3lUTEwrZE1K?=
 =?utf-8?B?VzJmMzVmckU2TTM0RmhuOHpXc2VvZmUrNk94ZE95cjlseG5YOEJoNCtXcFZP?=
 =?utf-8?B?WVYxVldHZWxUOXowb2ZFZEhBWlM4bSt3OFl1UytZQ2VPL2Z0cTJQOU50eHpy?=
 =?utf-8?B?c1A3UDcvOGd1TU0yTmxIZXhzSTNrTDdNSjY5N3NabGdoZ3ZTWWR0NW9UVlI3?=
 =?utf-8?B?N2Iwdm94V1RUK2FGbkh4WUpSc2RoMlYvM3FaYTN6RjlXNC9iOUlpV2tneVJF?=
 =?utf-8?B?T0k0UDJtS2VzSWFPcmJpck82UkNVc1RPU3pJZW0vSDh4T0FjNGxGQkVITDdD?=
 =?utf-8?B?VDJhN0tIS0dpRTFUNVVWY2JqMHZ4bWdhTU1hMjVhK1ovR2JyRDZIRFRTRkdF?=
 =?utf-8?B?M1hVUHQrRVZFL2lQczVWNzY2QTNnZi9jUVo2U0dtL2orNnZtZTEwNzFIOUxm?=
 =?utf-8?B?OVY5eFJEZUNvT1FRbU82L01vNytVU2VhZTIxUjU4VmY4RFVPZHRsdGVNNFlq?=
 =?utf-8?B?dU1yQ1hqYmhNY3IzU3huVHV3WVdOSi9ZQThlNVp0SGQyajMwbm5JMFU5dXRm?=
 =?utf-8?B?ZkNTTGlWbUZlTVZsdWVIQnFHQVIydS8xNmpwc1ZRMTFJdjhCck0rb1lCQndh?=
 =?utf-8?B?YlpFUlM4YW41YlJqVWxtMm4vVGhwOGFwcHBpQ21ZajBlUEVpYTY4dnlUcXJj?=
 =?utf-8?B?Zk5MVFl4ZTVtZzB1dEVNNll1cWtTNXJXL3lrdVlnYVV1a0Z4blZhN2JpTFEv?=
 =?utf-8?B?YTZMNmFsMUZhbEk0NGNkM2pKUE9pRlBMNUxEWFE1Wit5WW9nZmNOakxYUXVR?=
 =?utf-8?B?dVpoRWUyOGJKVTJDT3RUQnhCdmNWY3VxMVE3MzEwaDhnNWRNQ3FCTk9rNDQ0?=
 =?utf-8?B?VHZwMVVaWTlOaEpicVYzMkhiRlJta3F4VDVxQncvbGZaZktGekE4bERmUGdI?=
 =?utf-8?B?UWpteDhOVXlndnZPUmpYWWg5a21KUTlmSjZLQy9vMm1OYmsyQlBWUEI2a2No?=
 =?utf-8?B?aGozUXF3c2pNQnJaREYwdUJ2MmVJb3N3ZFQ1UWlGMGs1M3Q5dDN4VkRhRmJr?=
 =?utf-8?B?WEhVTlFqOVdiOERXNnJ3NTkyTXkvQktIYzNpUGM5YnFKTG5uK1NmUEt3dmRm?=
 =?utf-8?B?Nm5FU1BrZ1BWbG9yUGZ0RjhobkVQTC9LMU10eFJlUHhlWllEVHlxdDk5UnBP?=
 =?utf-8?B?KzRJRFlHYnNlL1dLMkNxRk5melZuQ2cwY1kwQVhxd0VEMWtMT1BYUHFEd2FL?=
 =?utf-8?B?YlhKQWxSTU5tNk1Vb2FZTzlXZXJyemFzSUZ1Y01PSlV6YXVrNytLSncvYW9T?=
 =?utf-8?B?dGloMENGUjBucEVUbzVxbkRjMzBkQnpSQVVFcGVzUUI5V0VxK29nbDYvYVI4?=
 =?utf-8?B?QjJjVmNwVlFNTFNPY2k2REJyV2VONGk1TjBaWGVQdFNnNEMwYllReWZTM2M5?=
 =?utf-8?B?OTZkM3FMRW5LeHFIbWxjTTBEY24xQnJ4VlB4SzFzclZWbzVGN1dFNHRueHdu?=
 =?utf-8?B?VDlVVENTSGVweVRKbllseTVtUVdlVW1nSlluak8zT0xWbXB0ZHdjWWxZOFZj?=
 =?utf-8?B?QXBmdnBhU2w1eGdHN3NtMkk3LzE5cTNmUmtDNGh3OUdVdXJYejVXZk1PUjBB?=
 =?utf-8?B?RU1BOTFJK25qQitza3BLUSsxUFpVb0ZjaGg5cnluRW0rNFJKVGl4ckFwUWNm?=
 =?utf-8?B?clpzWnkxekxaa1paeUFjeURCZjJUSW05TGZCbHBidm5od3d0OXhta2tNWVVz?=
 =?utf-8?Q?ktixdKHK9Y6hAWSh8voM1G8=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 76fa2955-1683-4df7-8fef-08d9d4561efc
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 16:27:40.2619
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: niSfhnqbCFklJOUP9DIxn+G055ylzYnAqBQm5Su01XOvqnDsEvxx1cfD4tj2qj7WIQ1pOw2Uc9j4+PwzeNuzAA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3392

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>
---
v3: Re-base over new earlier patch.

--- 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,15 @@ 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);
+
+        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,11 +315,10 @@ 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);
 
         /* while statement to satisfy __must_check */
-        while ( iommu_unmap(d, dfn, i, flush_flags) )
+        while ( iommu_unmap(d, dfn0, i, flush_flags) )
             break;
 
         if ( !is_hardware_domain(d) )
@@ -320,20 +350,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;
@@ -341,7 +376,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 Mon Jan 10 16:28:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 16:28:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255426.437692 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xWs-0006Sl-1R; Mon, 10 Jan 2022 16:28:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255426.437692; Mon, 10 Jan 2022 16: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 1n6xWr-0006Se-Um; Mon, 10 Jan 2022 16:28:17 +0000
Received: by outflank-mailman (input) for mailman id 255426;
 Mon, 10 Jan 2022 16:28:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6xWq-0005qR-JR
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 16:28:16 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4fd8d5e3-7232-11ec-9ce5-af14b9085ebd;
 Mon, 10 Jan 2022 17:28:15 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2109.outbound.protection.outlook.com [104.47.18.109]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-10-73I9e9TXPbOAhgOZrlGPRA-1; Mon, 10 Jan 2022 17:28:14 +0100
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.4867.7; Mon, 10 Jan
 2022 16:28:13 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 16: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: 4fd8d5e3-7232-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641832095;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=qB6MbDDkCONYgo9EX6LU19rDEi9Bdn4h06LKMktQeMs=;
	b=IYp9+8y4/cTbUcv9tH2JKXvkVrZqBTbCSZOlzQNd9RrlgqWLSZkJFBb6rv9aNYd8xvBD44
	AqlkVfhycXMaHnZYWLkV4rBqAVAuglWQrfwyyznrVyeM6XaB9GkQdqzZawWzNJmCYsUuml
	5opeS12Iwf19sgbBkryETND9L+hwMeA=
X-MC-Unique: 73I9e9TXPbOAhgOZrlGPRA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ip72PSS7ZW8/RG1+ea1+8VRHcBpuTZzhb56K3AM0OMptOAGhMvnx3KpdOKpHMhk20hf+C4HymV4I+yWvZ5yBmQvUemG0kRumruwVMC3DasZq5NeZxOXlpn52Uyh3f1A7VzG29yTIi+0cLRUM7Z7AFQPPiORbACvaK6ojpkZB9ODTq3m4+rb3JrgADwiaW5zqk7CBExSHikZWjPm/jVYkwVO/NqI0C6dhhYdRsBApPQ5FOgy8DyOYYeI5YES6VZW/WcKxoZCXNQc7YU0LjhVe/4aGuABFAzyeCIAFHAazZb4WEKRBzmtj7zwHrjTdKTXMGJuJ+ZAtDdtNsBCYuza9Yw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qB6MbDDkCONYgo9EX6LU19rDEi9Bdn4h06LKMktQeMs=;
 b=FNwHQbQIZ4ikLLERbTqCOH1CtQWpg8bd9oJjaUF24qoobhlmK7p/zmEkZrnMCBCdRcKe9fvF76Wc/SgSpMosUf/mdmB+jfE/Tbendri2frWnuHTy3VidBnUnV1tCkHSqwuGbq7CEHpOhBwbWNz4Lu0mc+e0eGNFUBbOKZy/SyBCn8MjnWw6txPOBqleScnJ8uDI4Mj2cV5n2HwkI+8zATb2KjnWZf59Sk11x0ZEFt8ShcO+CYml/T/Nn/U2/kopLS3Lox7w2thRnbGAfo/boxVRjMHBFhzPffSos2vPRPX+aBqxWYl938mmzjK/qQSk8x+/aaZyKZ5ozviUim6xNSA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <813a9e33-943d-a3d2-7aa6-a01b3611c095@suse.com>
Date: Mon, 10 Jan 2022 17:28:11 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: [PATCH v3 08/23] IOMMU/x86: restrict IO-APIC mappings for PV Dom0
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
In-Reply-To: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR10CA0105.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:209:8c::46) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: fa4524b2-0f8e-4569-1d24-08d9d45632c0
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2446:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB244675AE149785CE889898E1B3509@VI1PR0401MB2446.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:
	SsLuFbklBcN+pIfs5se/jVHQSiYZO1ymxyQQlbeMCmCaS76lHcoUFqd6I7T4EwojLpN48rjTRWwjjHZgYnPqfoFG83F06UEmggf/kEJIAkrsuanGI2aKrgG/dsQduCl/Ez8LMc0S4rMkSOanHz5Q49Ohzd1+4AZlp8DdE7eZ9UjUkFNN9wozZRi5gDxyztx0aKx+6sEoOxF2ewOVp4d4KodTvFpSuoDtf6QC34ZUScAPXoK01pn8/opqO8MeVO9xhYauo7rMhrHFo/SffGZMJg2byB2apgPZiN7dnrEv4Y66AOYqutZgK5vBqoSNk//5hXjsFZfJ2mSo6GbA0vqIbZmMVOZjS8frTD5D7ZWVoCi7NO5yDpPMgZJLGnZszsQ3LS+trhZuHoR1hXNmVM2IXmGqKqFegLxDxMGp8UdFcRTEBw9QVqvkzU27VtTlMa9VA9bSh2dKpxIpuGZucctWeWq2rTJ+0ta/bw4UvBe0XsxRxqVWeXOSVygtuoWrAntsw3ja6P4LVeNwm73dQMQ3PhALIdTIdkD12JFZoxV3ZsApzcD1/ZsrQMabCILeOU/TCSKxmYn+G20cedxm5arHrF0GyS2Di6cgMy97gpbD8XdCcY62kkbKwRJLehNZfcMonNqwdcfo9e/lc6Dr2aa2fzIDTLtUWAZUBxu5DZUrHFnNH0nV5xyOt06aoc1EcfQoLaza+PtEolxcVbKJ4gojG/C4DQz+59PKN/GxYke+eao=
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)(2906002)(66556008)(6916009)(66476007)(66946007)(316002)(6506007)(8936002)(186003)(38100700002)(31696002)(6512007)(26005)(31686004)(54906003)(508600001)(4326008)(2616005)(83380400001)(86362001)(5660300002)(8676002)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?alpnMjRRZjVDRzAwOWo1dHBwSFlCTDJHdVFLM1JMb2VHMFBIM0RRUTREUzNG?=
 =?utf-8?B?UnRGM0tHU1ZVUEQzWlYxTnZ2SitFV0RmOTEwRldCNC9FZUVCS3QxN1QyT0o3?=
 =?utf-8?B?b29saWhqaUJSUllyR3RQNFFOdVVhY3lNUFhPT3crdXB4MmdXQzRxclYzNWl3?=
 =?utf-8?B?dkh6dm1LYllRQlU4SnlsbUZJTTBoODhGNDA3LzRsSmt4aUV6RXpYKytTbjlS?=
 =?utf-8?B?WkR2cWdON05JSzdnRmlXOGRaK1FnN3ZyZUJEamVUcjF3YlU2bklpeUdSY2cz?=
 =?utf-8?B?R21Qcy9aRUJtdnRNQVUzUFRHVkxwK1p6NTgvVnk0NnBrWHVyNWdJWVNNSmdP?=
 =?utf-8?B?L3ljeWtuakg4cnQ0NG5kMU5xaXVVb3FjWWJYWHRsclBBVFJzRDNHaWNTajlF?=
 =?utf-8?B?ZHZ2cnZ6QUEvUTNOMng2WWN3T2xWWCtsaUlEQ0x6ZHpORGYyQjkxTmNodG92?=
 =?utf-8?B?UTdXRUUzNFE2eFVaeElrMUwvZExXaHlidWNmZHlrTWJsZTBxNFE1clY1cEFk?=
 =?utf-8?B?UWpRMHVKTE1ERVliTitvVlhKUk9mV2Jjby9Qemh1enFrWVdvc2JmMHZ4V3c1?=
 =?utf-8?B?amRUeDViWlc3U1lkeU9kMmFkc1Vrby9Vems1WFZCejluWU9kdEZTeE5mallF?=
 =?utf-8?B?UjJWK1ljYUw2dU9pN0tTaDAyUXFnaEtQN1paeHFySTRuaTdTbnlyT1pCeGxZ?=
 =?utf-8?B?WW9yQ1Zibm41aDBCRUxRNThkRlFHNERIL2txRVIxejVQODl1Y0orbG5sMjdB?=
 =?utf-8?B?TDZ3T29TSm1sbWFwZzdyYmNMV29uSWZPNi9TQW53QmZ5cVhCMGJUK2NYblR6?=
 =?utf-8?B?MzZxK1ZadFZkclVpanpyZXRrRDg4RWJRVEdhNjVWcmtkU2ExbnQ3bmZQNVVh?=
 =?utf-8?B?R202SnRyaTd4M2JQbW9RMThFYTNmUDFkT2JlenppSWdzRHUxMmE4aXBZZW93?=
 =?utf-8?B?ZmVuM1ZuUjVqamp5VCtGbksxbWY1NzUzeXNGQlBsSzE1eUF3T2tabjF5Rk9t?=
 =?utf-8?B?Q2tKZDgyd2NhaXVTV3JMcjZrSU8vY0lJdmZCZDdDNlRVK0tLVXl5OEdmNFBL?=
 =?utf-8?B?YW5UVUx3UEtTRnp1bHBmVGxGeGtpQlFTSWlYakoxWlJyZk52MUo3TkxmNnVv?=
 =?utf-8?B?SE5COUdkdnNSbVNBMS9ObndQQU5OMzkwSUlYcGIyMWErVVovUzd4NEhuODRR?=
 =?utf-8?B?SWZRdGx3clN0d1pDeXV0SWYvYlZWdEgzZjZmWFpNVVJIaUNESkExQ21UOGd6?=
 =?utf-8?B?dU1WL0R1ckdTUzdaeGVTUlJEckd1Q2w5blNoN1NTZk56T0ZDODdPQTJWUk85?=
 =?utf-8?B?Y3VWUFRYOVZVeXBnZzluVDhQTEx2dVdCMlNRbW9zYWw3dWpWRDB0ZFJNSGkv?=
 =?utf-8?B?Z3pqU0ErYW1HTktxcVRvQjVhVXFydUl4UnBqaldBelVzaVZFTWFpN3RXREJQ?=
 =?utf-8?B?dUx4R0pyb2crcGxVMmRaN1Q5d3FDSUcrL2ppV2J0aGpqMjMvV0pseWFNQStB?=
 =?utf-8?B?Q1hMYzk0Tzk4dmZ4NjlmbzA2QTNjVC8xc0NYbWZXY2ZlazIyelNSa2FMa09J?=
 =?utf-8?B?aEE4UzJJeEVxZjh5UjgzVmpneEJOZnhsanlOZkFMMHdXOGZ4VXBkb0tBMUN5?=
 =?utf-8?B?SytySGxwOGJKWXhmVTRUcERwQ2owUS9lQnBnR2ozMlRXV0VWR0xyZEM3L1la?=
 =?utf-8?B?RmJRdU8wdHZBVXZhc1B1bk5Td2I5VVRnZ0YyT2tWVWVjQTJCN1hZMkNjR1pC?=
 =?utf-8?B?L244b3hpZnpJU1BVVm9IRStCbXBoNVdvdkNTekhtYU9WeFFLMWVzTkpvVEhv?=
 =?utf-8?B?YXE4UmJxQnJsWUJhbk9mMms0ai82VHpmWmNpckR5Y1g2VytvWitUcjRveWhM?=
 =?utf-8?B?N2FWMDZ2bERoejNRUGpMcXhIcFpzRGZvOUluL2w5MkE2eUFZNnpNTUlJbTNp?=
 =?utf-8?B?ZUNUb0crQ0dJTXV6aGV0M3BEcEIydEdpWGQrcjZGdFJiU3JvVDVuTkFFNFNt?=
 =?utf-8?B?aW5wRVZKMGpVUXRxaitYNVRjU21xS0FGUEY0RkRJL0VBcWpLbGZhRDg0eGh0?=
 =?utf-8?B?MXp3NjZKVER5SjZsbGozdHJhYTVRKy9IN2tmVGpQK2x2YUpkOTRyZ3BTeXp1?=
 =?utf-8?B?RE8wQVR4L2J3Uk1CVThvTUp1aTlKbjd6dGxucWJteTRVVno2RG5iQXFEOG9S?=
 =?utf-8?Q?EZ5EPoX2e3l6RV5/KohyCjk=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fa4524b2-0f8e-4569-1d24-08d9d45632c0
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 16:28:13.5471
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: GRNcBs78n58PU4utrIGhhihMo15iVCiYJf2LSaXHEM5Dqk2kzQWwLWR6Stjf44lZlvE/FBv0Tadz4uhS94o6fw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2446

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
@@ -274,12 +274,12 @@ void iommu_identity_map_teardown(struct
     }
 }
 
-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
@@ -288,44 +288,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)
@@ -367,15 +383,19 @@ void __hwdom_init arch_iommu_hwdom_init(
     for ( ; 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 Mon Jan 10 16:28:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 16:28:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255430.437703 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xXM-00075m-Eh; Mon, 10 Jan 2022 16:28:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255430.437703; Mon, 10 Jan 2022 16: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 1n6xXM-00075f-Bb; Mon, 10 Jan 2022 16:28:48 +0000
Received: by outflank-mailman (input) for mailman id 255430;
 Mon, 10 Jan 2022 16:28:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6xXL-0005qR-0j
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 16:28:47 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 61c9a03a-7232-11ec-9ce5-af14b9085ebd;
 Mon, 10 Jan 2022 17:28:45 +0100 (CET)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2053.outbound.protection.outlook.com [104.47.2.53]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-36-kDUnx-HLM6OBvod1bb-_mg-1; Mon, 10 Jan 2022 17:28:44 +0100
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.4867.11; Mon, 10 Jan
 2022 16:28:42 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 16: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: 61c9a03a-7232-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641832125;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=5hi6MW7tZB8RG4/CY0mA+kY6id7QquTQlMhD0Ew0kzk=;
	b=QFmT3Ct0CKPFsUVYnbNoXiecmcJLS9H2xscI36XjPUrbLPUE6wTHY/aDq19GZB6J9L906B
	431Wd5XLZgVSBw/U8CqaZfKXG2EGQsD2DSB2gmXkdwQFey1/O14ckInUeMHs6O8/snJBqt
	LcBIDDYDM+RejcGUdRO6QrhKmIaFOWU=
X-MC-Unique: kDUnx-HLM6OBvod1bb-_mg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DZmBUi07ej4AOCk6jRuhzsWplw2QS1Wea1xIoRtJdiklUgUJLFZqlHaAQ+ynsjoRNm0ScJ6ZO12eHbGxRLIDmldQT2A3Oqf61ilwPFe1myl3V+MDDaRPeig5oId21tQmdVgx9XBGGnnZjdo5mAUBkjGHf4CbEddxY4oVELO9CRuDHFJg/DlBGHUtEju9NtLVlNtU452C+R0pvCATovjYJRxp7LwY0S5H0C9LjqyFkFc9oJccRfpX6Em+MhZY3UJ0JJhQLN5jSmlP6MBOu7NOPKu+00Kr/rRWIzm/ZtBW6/dkAd2NAb3Yxg81JSNbMKf1AXQLa7hE2BV8aFPbEaGQdg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5hi6MW7tZB8RG4/CY0mA+kY6id7QquTQlMhD0Ew0kzk=;
 b=Ddw9s9H3NwKkPgxjoPTTL+O+VVHLXnANuU5JD2ODt00b0KeiwrL6gzDvUTk1DVFz0ImmQqV7v/yKNtXviDY/M8qExg9civCTINjDncnALCh4OS4j/hZTUm6mpn7KYQiTkQ5+U/1x9QLbKiK/OXBT2DhVjeMTrROTFsuNzJpko1tyVmLg9oSCSLNMkEJGcSlDdW6R4mhsqx7VmfAOxm6hRXAhPDWzGVzjAwJEzLsqVeufG2kh1p7LEx6eGuqvpnmqizjYA3jk7sNm6GnGal0msLdEAdWVejQZE/vEAy57eUXDE16GKds6yFflAH+H9Hig6+/Mxnne0fPwyd/wX7pFcg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f62ece15-6f69-4533-e86a-28596ffc9f4d@suse.com>
Date: Mon, 10 Jan 2022 17:28:40 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: [PATCH v3 09/23] IOMMU/x86: perform PV Dom0 mappings in batches
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
In-Reply-To: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR10CA0030.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:209:89::43) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 338889dc-5e56-4720-9338-08d9d45643dc
X-MS-TrafficTypeDiagnostic: VI1PR04MB5165:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB516523B25B94B4209B3ABBCAB3509@VI1PR04MB5165.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:416;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	q4/9iMfqICe61nIegs/HSp3ra0tkIN0ttyf8tp7QZqG6dK9PmbNQulVr+HVO74usekonuJAPmeBlaJNlaBPDun44dwiQNvlClNORNQotzUvOdp0b6DYiGWGkr1TbaQkxVrgPsS32JfFitFSkkuCMMBZoDTKTg+EnblnwrVbEseQ+r6qswzYW46ge0pf2RSP+7iaBO0m9iV/ISQbsO/cTWIIga7gxbBTttc1evO3hBmugehzmJ9BabAONb4zJxeiv2cFkiloaAbAzIqfiBDmNVEcGasoI0omTw/pEnMnE8hGM0LMTnoiwP621kZV0j/LS2nLHmKX8ZzKIKHRZbHh2JoyWFHT1WEhs/94etZqx0AI+DnHQQAQkMYdjsQpbTSxZyzaSAMaa/mLXjjZXjTjfzFZOomUXXTfKjZciwFK8FWR9xSqo5heR7vNZWNrvvTsr6QzpHqPXNnVcDRYOsUHmahxgKBJrCtTarrG7bgQFmecpHFoF57SjvR6qAdTBebMlo4R+OPdxDJMyRlEK+28HkfcdrQlAXELSY6n6QXbFMBXb/3atA7qvbLpIaJAjD973O9nteU0lhxVjQTzSoi83lf4lRE1Bkax55Os9oTEOZ5+dI0mSOMraFwtQYwFMVnbEv6wQCDL5o0G1nJcAynWFW6/GcUy3Y+YDzifOdoo8IjEf3lPjZkpWvR76WOVkT0Zef9SdMJsdznu2DYUnurMU6AXf7KBSBepMWy3cZifiFbBTm4YFRK8oAs5D2wqrMAll
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)(508600001)(6506007)(26005)(5660300002)(8676002)(83380400001)(38100700002)(2906002)(8936002)(6916009)(66476007)(30864003)(2616005)(186003)(66946007)(54906003)(86362001)(6486002)(31696002)(36756003)(66556008)(31686004)(4326008)(6512007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YkxKWWhqbkVCSnFaVk1SREcrL3Y1YjcwdktWTzRJWGpEeitzTXA0b0gvRXVM?=
 =?utf-8?B?OC9TbDBQZTNQSDUrL2xNbU9RTFRjT0xpcTE5L2R5dUlBdGs2MWN1aGUwdFhS?=
 =?utf-8?B?U0tka0tSckNYWjZFRCtKY0tmWWJsWTVoZGl3dWgwZTVWNG5peFhIazV3TGl1?=
 =?utf-8?B?Nm1sV2ZBZmg2TjV5bGVaMFp6WjJJdjFyOEd3RzVCSStJSklnY3R1VUJwUHJx?=
 =?utf-8?B?ak14MCtDUGlsRXVPaTVweVh4a1JTT0xLUzVJekJDaDFRUFVLQ2VHYnArbGtX?=
 =?utf-8?B?d3RQVGE2OGJBelVQalFMcWoxT3E0V2JBL1Z0WlFIbTZJdlYwU2FyRVlUOFlQ?=
 =?utf-8?B?RC9LL2xGcHF0c2xZN2plbHFWditIdmpZeVQ5Z053blBQWEJXYWlnam9BeXM1?=
 =?utf-8?B?QWcxUjZURSsrZnZHUlVCdjkzbzFmUHFlNUE4SGR0bVRkK205b1lodk5WUFhX?=
 =?utf-8?B?d0lza0t5QUJRWXc5MDFtNE5RM1Y2QkFEVng0NVdVa29WbmlJUUcxQkJycWxp?=
 =?utf-8?B?bCtDSkRCQ0kzaU1ZTlNwTUFrOXBtWFFvTzN3MGc2M21Pa3dYSUh6N1JlTHVu?=
 =?utf-8?B?ekpZMlNuOTRFUzNWZzZCTnd0RWg2bkpXQVZUYlpsSjVjd1lITG9SMGttL28x?=
 =?utf-8?B?dGZPcnNIZ3pzaGFlVENmd2tpZmtTaUs5SDNpMHlGelVZRTZlcnhsU1pjNmZY?=
 =?utf-8?B?bHNHTDNrM01qSkw1NW5ha2JTSkVxcGpBZGcwbjZya09HWUVudXVQQ1VMWEVz?=
 =?utf-8?B?UUxCUDkyVEdCa2RvQ3Y1YUhSSTBHKytocDlkTlFxazg4dU1Cd1FaK0o4WWJR?=
 =?utf-8?B?eDRONTNEQ3dhdWZYZlVBeVUvVHFqaVhUVHh0dVdlUUlIYzBKb0tET0ZGOWhE?=
 =?utf-8?B?Zm9kZmtUckp2cktuUnVHWENZM2FIN0RHRy9laW5OVUV3UHN6NEtyTElCVXVo?=
 =?utf-8?B?b0ZHaER6cWRRQmJHWWFNb20xQmtMejZFbnV4YVVHRWpGSkNwWWNwb0dNKytq?=
 =?utf-8?B?RGd2TmR1bzFpdjVrSjdBempib0Z3cXhIZzc4V2VOQVZaZ3l6RS85VzFqUWRi?=
 =?utf-8?B?cTlEQmpKN1J0akFxcXNHMDc2U0M3NHlzTDJkcjBkVUQxZ2RDZWFhdzMzQzU0?=
 =?utf-8?B?N3hBSkQxODduRTRQZEtnbTNMQ01DaTFCZkdHUXRjM3p0SE1mc25UbS9tYk1L?=
 =?utf-8?B?SXZaaXJRRnJDemxkRTVDYU5QMU85YytrOHNSTm1iTTViTlhQSGcrbHRhbUE2?=
 =?utf-8?B?WUt6YjZuWVo4RUVWU2FHMldwdFpXejBjK0VrbVUxbXprY0ZhQm9FK2tGSU8w?=
 =?utf-8?B?SGI3TmVqL3JPNEJsU3N3SHQxeUZYdWJQd1BGN0RWbDdCWkw0cmhnQjZmYVFO?=
 =?utf-8?B?Z0FjQVUzNmxVMEhnaGpSKzNNRTN2N0YzQVgwUm96WEs0UWQwUWMyVytjN0pa?=
 =?utf-8?B?UjYrLzRGWGRqa1lKcWQyZld5dWtzOC93YlQ2WUFtcmNIZ2ZIRjVZS3JubndO?=
 =?utf-8?B?b0Z3aWZKMGVHMEZ5SXVtWjN0UExyWkIzZlZNd1ZZdXIrV01tbG9zc0YwckMw?=
 =?utf-8?B?blcvOGMzTUVSWnQ4ckthbFFWTUNFL3gzeWhBZmMyZ0h6OUxUYjJoWTMxOENu?=
 =?utf-8?B?eVRhSXRvdTVLTldSSGlQTkszVXA3andBRDJVdUM0dGV6dC9hZU9sUXZYTmFj?=
 =?utf-8?B?TElOTlNQQVV0cFhWcmFxSFptTmpsNG9QUWNrTW1ZQlROTGZLdTI5emJ0d1pr?=
 =?utf-8?B?RTVSdW9VeXRrcXljK3NtN2F1cFFwd3plYys3SDFrNk9UMUo0VW00d3IxMWtm?=
 =?utf-8?B?dE9LRUxsNEVKMjRTdjZyN25UOTNncEk1bktJeHJKZ200Y3E4cy90bHdEYURZ?=
 =?utf-8?B?TTZRQXJZSitiOERWRzdEWjlteVArS3cxZ1A3aVBUek53OHFlMS9uejhYVCtU?=
 =?utf-8?B?YllLYzhoMk12cHE2VGZndTRwNzJxOUo2Z1AvYnVkTGtyK0ZyMW9FYUNFVFBx?=
 =?utf-8?B?cWRycnM1c09CQ0wya3hLd0pPMFppcllpdWJSMUJnM3M3bDZFWXVwN2tRUG9Z?=
 =?utf-8?B?NnRhUEFkWjB1NFduOXhiN29md3k0ektlR3pOVk9JeHRFakJaSGtleXdYaGdk?=
 =?utf-8?B?by9zTGFtQ3lsaEhWUVJONkkyS2h1djJITlFCeW5DaUR5Um5US0tkYUpMbjZY?=
 =?utf-8?Q?848DFpq1A8x+xFl367ow/iA=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 338889dc-5e56-4720-9338-08d9d45643dc
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 16:28:42.1270
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Pu24Dy7HunUixMNH26tQhFVLyPNkYBvcRGab7X0AwVGiXmRjSb9XSvEGD2jLHm5h/vzJiYUPe+XMQ1lZ8E8BuQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5165

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 set_identity_p2m_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. Consequently an open question is
whether iommu_memory_setup() should set the pages to PGT_writable_page
independent of need_iommu_pt_sync().

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(), favoring to put 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.

Note also that strictly speaking the iommu_iotlb_flush_all() here (as
well as the pre-existing one in arch_iommu_hwdom_init()) shouldn't be
needed: Actual hooking up (AMD) or enabling of translation (VT-d)
occurs only afterwards anyway, so nothing can have made it into TLBs
just yet.
---
v3: Fold iommu_map() into (the now renamed) iommu_memory_setup(). Move
    iommu_unmap() into mark_pv_pt_pages_rdonly(). Adjust (split) log
    message in arch_iommu_hwdom_init().

--- a/xen/arch/x86/pv/dom0_build.c
+++ b/xen/arch/x86/pv/dom0_build.c
@@ -46,7 +46,8 @@ void __init dom0_update_physmap(bool com
 static __init void mark_pv_pt_pages_rdonly(struct domain *d,
                                            l4_pgentry_t *l4start,
                                            unsigned long vpt_start,
-                                           unsigned long nr_pt_pages)
+                                           unsigned long nr_pt_pages,
+                                           unsigned int *flush_flags)
 {
     unsigned long count;
     struct page_info *page;
@@ -71,6 +72,14 @@ static __init void mark_pv_pt_pages_rdon
         ASSERT((page->u.inuse.type_info & PGT_type_mask) <= PGT_root_page_table);
         ASSERT(!(page->u.inuse.type_info & ~(PGT_type_mask | PGT_pae_xen_l2)));
 
+        /*
+         * Page table pages need to be removed from the IOMMU again in case
+         * iommu_memory_setup() ended up mapping them.
+         */
+        if ( need_iommu_pt_sync(d) &&
+             iommu_unmap(d, _dfn(mfn_x(page_to_mfn(page))), 1, flush_flags) )
+            BUG();
+
         /* Read-only mapping + PGC_allocated + page-table page. */
         page->count_info         = PGC_allocated | 3;
         page->u.inuse.type_info |= PGT_validated | 1;
@@ -107,11 +116,43 @@ static __init void mark_pv_pt_pages_rdon
     unmap_domain_page(pl3e);
 }
 
+static void __init iommu_memory_setup(struct domain *d, const char *what,
+                                      struct page_info *page, unsigned long nr,
+                                      unsigned int *flush_flags)
+{
+    int rc;
+    mfn_t mfn = page_to_mfn(page);
+
+    if ( !need_iommu_pt_sync(d) )
+        return;
+
+    rc = iommu_map(d, _dfn(mfn_x(mfn)), mfn, nr,
+                   IOMMUF_readable | IOMMUF_writable, flush_flags);
+    if ( rc )
+    {
+        printk(XENLOG_ERR "pre-mapping %s MFN [%lx,%lx) into IOMMU failed: %d\n",
+               what, mfn_x(mfn), mfn_x(mfn) + nr, rc);
+        return;
+    }
+
+    /*
+     * For successfully established IOMMU mappings the type of the page(s)
+     * needs to match (for _get_page_type() to unmap upon type change). Set
+     * the page(s) to writable with no type ref.
+     */
+    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));
@@ -177,6 +218,10 @@ static __init void setup_pv_physmap(stru
                                              L3_PAGETABLE_SHIFT - PAGE_SHIFT,
                                              MEMF_no_scrub)) != NULL )
             {
+                iommu_memory_setup(d, "P2M 1G", page,
+                                   SUPERPAGE_PAGES * SUPERPAGE_PAGES,
+                                   flush_flags);
+
                 *pl3e = l3e_from_page(page, L1_PROT|_PAGE_DIRTY|_PAGE_PSE);
                 vphysmap_start += 1UL << L3_PAGETABLE_SHIFT;
                 continue;
@@ -203,6 +248,9 @@ static __init void setup_pv_physmap(stru
                                              L2_PAGETABLE_SHIFT - PAGE_SHIFT,
                                              MEMF_no_scrub)) != NULL )
             {
+                iommu_memory_setup(d, "P2M 2M", page, SUPERPAGE_PAGES,
+                                   flush_flags);
+
                 *pl2e = l2e_from_page(page, L1_PROT|_PAGE_DIRTY|_PAGE_PSE);
                 vphysmap_start += 1UL << L2_PAGETABLE_SHIFT;
                 continue;
@@ -311,6 +359,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);
@@ -573,6 +622,9 @@ int __init dom0_construct_pv(struct doma
                     BUG();
         }
         initrd->mod_end = 0;
+
+        iommu_memory_setup(d, "initrd", mfn_to_page(_mfn(initrd_mfn)),
+                           PFN_UP(initrd_len), &flush_flags);
     }
 
     printk("PHYSICAL MEMORY ARRANGEMENT:\n"
@@ -606,6 +658,13 @@ int __init dom0_construct_pv(struct doma
 
     process_pending_softirqs();
 
+    /*
+     * Map the full range here and then punch holes for page tables
+     * alongside marking them as such in mark_pv_pt_pages_rdonly().
+     */
+    iommu_memory_setup(d, "init-alloc", mfn_to_page(_mfn(alloc_spfn)),
+                       alloc_epfn - alloc_spfn, &flush_flags);
+
     mpt_alloc = (vpt_start - v_start) + pfn_to_paddr(alloc_spfn);
     if ( vinitrd_start )
         mpt_alloc -= PAGE_ALIGN(initrd_len);
@@ -690,7 +749,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();
     }
@@ -719,7 +779,7 @@ 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);
+    mark_pv_pt_pages_rdonly(d, l4start, vpt_start, nr_pt_pages, &flush_flags);
 
     /* Mask all upcalls... */
     for ( i = 0; i < XEN_LEGACY_MAX_VCPUS; i++ )
@@ -794,7 +854,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 +885,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,8 +903,12 @@ 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");
+
+        iommu_memory_setup(d, "chunk", page, domain_tot_pages(d) - count,
+                           &flush_flags);
         while ( pfn < domain_tot_pages(d) )
         {
             mfn = mfn_x(page_to_mfn(page));
@@ -857,6 +923,10 @@ int __init dom0_construct_pv(struct doma
         }
     }
 
+    /* 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
@@ -346,8 +346,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));
 
@@ -378,9 +378,9 @@ void __hwdom_init arch_iommu_hwdom_init(
      * 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;
+    start = paging_mode_translate(d) ? PFN_DOWN(MB(1)) : 0;
 
-    for ( ; i < top; i++ )
+    for ( i = start, count = 0; i < top; )
     {
         unsigned long pfn = pdx_to_pfn(i);
         unsigned int perms = hwdom_iommu_map(d, pfn, max_pfn);
@@ -389,20 +389,41 @@ void __hwdom_init arch_iommu_hwdom_init(
         if ( !perms )
             rc = 0;
         else if ( paging_mode_translate(d) )
+        {
             rc = set_identity_p2m_entry(d, pfn,
                                         perms & IOMMUF_writable ? p2m_access_rw
                                                                 : p2m_access_r,
                                         0);
+            if ( rc )
+                printk(XENLOG_WARNING
+                       "%pd: identity mapping of %lx failed: %d\n",
+                       d, pfn, rc);
+        }
+        else if ( pfn != start + count || perms != start_perms )
+        {
+        commit:
+            rc = iommu_map(d, _dfn(start), _mfn(start), count, start_perms,
+                           &flush_flags);
+            if ( rc )
+                printk(XENLOG_WARNING
+                       "%pd: IOMMU identity mapping of [%lx,%lx) failed: %d\n",
+                       d, pfn, pfn + count, rc);
+            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 Mon Jan 10 16:29:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 16:29:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255437.437713 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xXx-0007hr-NZ; Mon, 10 Jan 2022 16:29:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255437.437713; Mon, 10 Jan 2022 16: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 1n6xXx-0007hk-KT; Mon, 10 Jan 2022 16:29:25 +0000
Received: by outflank-mailman (input) for mailman id 255437;
 Mon, 10 Jan 2022 16:29:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6xXv-0007Vn-Hg
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 16:29:23 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 77c6679a-7232-11ec-81c1-a30af7de8005;
 Mon, 10 Jan 2022 17:29:22 +0100 (CET)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2057.outbound.protection.outlook.com [104.47.2.57]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-7-xvkBGpQSOV2P-mvOG--_0A-1; Mon, 10 Jan 2022 17:29:21 +0100
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.4867.11; Mon, 10 Jan
 2022 16:29:20 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 16:29: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: 77c6679a-7232-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641832162;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=GVu1EpoAiIfYG6a5LNRcVAhOOz5L/xyuYRwwEDTGZIQ=;
	b=JM0JuOcKceWGGh605DTFLQEG/miMn4Pw73gL28c9H97nS+GbJE6SACkN+zzbA6LBk1hP2C
	6OM/zKvgWOpONWPzEJjb7g5v4DCidA3+PfComMcvzOlkDmBfNOHE3RNLc3NmuqqJYomVm1
	lPE+RWI7pIxoSWvCHZRI8wAJiqAKtSM=
X-MC-Unique: xvkBGpQSOV2P-mvOG--_0A-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NwlQGnMQF5G0/7vW1AaQIFFC2zbmkkGhDi4CCSgdL0ygWSrEJW1gD5VdzyCrQlsuc2bqWJPCj+xtf0kYRn/J0kIrzAFiHDhoKinWjuiKLKAVWI9nQN+g97rD3AXBrzqNqb/N1AO1SL7Iy8kvTw8WKCn7G889studJPTNfVrHo4cFdkYpkU9Vn22f/jqNS2u4TiQQ5H2imus7tcNVD27XOgQrE5ZZwsILHPXuJY/m9eF34MfFsR3cwrVcwNEpHqATZ/N+PGiRC3Lc7XCTYgbtlTTUhwFpLi7LNHnriHSHlGAGR0G+GyWBurlZJv3bVplONadBbX/31qppDT7YJGz7UQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GVu1EpoAiIfYG6a5LNRcVAhOOz5L/xyuYRwwEDTGZIQ=;
 b=NUoaxZRuX81VuadzV5iT+n3ZRbx1UQ+O5kySjoZqbvSJ5KDZsNKXPspvGj+xXkJJU82+PV2K0sFB5upBf+LcCK2ReAP5x6K5gKrRDwx2zieuz705h5PQ7SfLploAvgqNUlAOvc5p4w3TYMXjj0rQf9JLSd3lCD87sMMUmhUlYRZViRnSahgkTax9ygh7fYpR4+Q/stcvSBSkrnzCyE7xP/YL7THfHTGVx+QRQaHFLLmuw6z7i2wAMi3vtZiVLMkiZ31mnGwKf+lNTrPiGXCO8p5vb/0TryDIfiILaHdHhQexa3JmPbtqZu6A9aT/uoddvjtwOk1swZV/0yLWZRgmQQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ed570e4a-2ccc-bbf1-ceac-819e13ad5f8f@suse.com>
Date: Mon, 10 Jan 2022 17:29:18 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: [PATCH v3 10/23] IOMMU/x86: support freeing of pagetables
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
In-Reply-To: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P192CA0104.EURP192.PROD.OUTLOOK.COM
 (2603:10a6:209:8d::45) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a138e73c-25bc-40c0-0a44-08d9d4565a64
X-MS-TrafficTypeDiagnostic: VI1PR04MB5165:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB51653FFE9964093D9BF7F6DDB3509@VI1PR04MB5165.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:
	QS7EHsMMXXgE4tr8D5zGH5pQ2cTprwqHb/5jroBYdrpg2xLNBbNgBBlR/KO8eYgnLHMkA/KjbwcM+8iI6oLtJNZACll3ov4ubvDPdOLTTcZEsyV4Yw6i9+/HRVUKwROOqZiAWL9zJavkMpXTnKFz7F+ru2L6B+hPxsk3kFFdMMsx82YPHWEVA+2tV14HcRER2WG7k/c4fA1PkS1ec2q4gotutYVZYo3s6AOLu1MX+JrjaBNnBSYCPyXcQRkN5IXErCmmCgkmLH4B8AsGeTQskqJigLeqVlfrO2BoJCDNY5Q/sVBeRbu+CCUVEnVQR+C+74gsQVk1yjeZCiA3tnLLHwU5d3O6IqbRazi2GZXr4LBYrHkeZy7HWaH/BwQx7n7asoh7EuyYMvUpW4QUbDObyhJ1Bre7n6GFNxTY062AVR592MtwCJ6L1o4C5wAVPa72XL5E1P3AjlNAEb//VLcqUFxTJI9DqY8qt9OdVsdNA7Ilc1FoYYcthOM9ewkk+HcT2Ta8e7+C3wO/90tGpG4hW7CHHZ7qSD2xjUn3yN4fNXlSdsEzkg6APmp/gemRYwZhgHS/eyJZW6Qgprog9m08OQe4WRwUBewcilL2lBqu5PFUBJw03GFpFRhEJ7b+EMqBUIDhWim661yyCX4w9CNnxN4u8katNQdnbdhnlmg7Db89SdygV36jV8PebX4/mSZwNfixywHwtXiN0ERGIORCWgJOwfwuZseD1mJ6ZdR6qmswcmTD50hFaC0nXoDlwNcjU7EpizdNl2yBpKdpbVYwxnKiDUsmn8QhUAqCkvU4BvO70GSS6Q7LbAbCA/3oAvgi
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)(508600001)(6506007)(26005)(5660300002)(8676002)(83380400001)(38100700002)(2906002)(8936002)(6916009)(66476007)(2616005)(186003)(66946007)(54906003)(86362001)(6486002)(31696002)(36756003)(66556008)(31686004)(4326008)(6512007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dW5MazNrV2FkRW1mdmNxQjVoWWg2V2pjdmxZTVRrdkdOQ2tvTk84TzV4VDNk?=
 =?utf-8?B?WFRENGtlVVY4RklYYUNsRHI1WWtxT00xSTJlUGF4azZCUmVTSkFsbTdWZ3Rn?=
 =?utf-8?B?WVZ4RVI1bVYwNVhlUmkyUkRjdHBJNjFSTUpsdG03TnU3UVNxc3hTZEs2TnhB?=
 =?utf-8?B?T00ycU1USWF5SmxZOVJRY3I1S3pHNmlGdm9zczNKSTFPRXAvcVVxSFUvMVNj?=
 =?utf-8?B?REc4RzBNQk15VDdnbFRiSUc5QkRyRThLMXRtSFVpQjRYUjF4TEowb3QyQzRa?=
 =?utf-8?B?dUVGS0c2S3lHQjNKVmhaVFVMT2lmZ1hFMXNQUlNrTVlPZVBsUFFlQ1VlSEs0?=
 =?utf-8?B?QWtKYzJDSVdlSWplZVhvWnQycXNHTERLa200aU96U3g2eEcxWU53NXAxZUpU?=
 =?utf-8?B?QTd2UzRZeVNKYms1U1FiR3ZMVHl6THZNbTNOUUV3ZXVIRVhiVEZhdW9YZU42?=
 =?utf-8?B?cnhSSVk0NW8rd0wwVEU1cWxFSTlFN291Nkh2SUhkN2M1Q0phWjAzQUZoRGdl?=
 =?utf-8?B?dnh4UkZCME82eDYrd0l2c254ckhqRnhMR3p0ZWFWTmFzOTgzQnkva2JIcmF3?=
 =?utf-8?B?U1VGUjdqNTlTUFRtaUNNam9jbUdHOFdwNEZRS00xRUJDNGQ2ei9hMGhNcjRT?=
 =?utf-8?B?czlKYlZRclVBeDJQN0l5VmQxMWNJWkI4QWxURFcxM3YzVHhOdEpjZXk2N0FF?=
 =?utf-8?B?ZFBSWDhqa0hRa1M1bWdLbitRWXozcVNSTjJiUjd0ak1qL05ENEc3MHk0TXdk?=
 =?utf-8?B?VEhmY2svTUJMMlhrQXBWOGhiTkFkeVRZZWYvaURCcGtFeGpuRkZoaHJrUzlq?=
 =?utf-8?B?MnIyaUtaamQ1VUNIOUFXc0RYWmpmT2UzdEFYR3NzK0VFZkRPd3VhUUZDbFNh?=
 =?utf-8?B?NXl1R3k0ZjBPQTVVMmN1eWF2WlRqZVgzUVl2RzBHYnp4d0hGREZzbnRMTGlW?=
 =?utf-8?B?N2NOS2xGQSs1MC84U2NNOFBWTEtKUFRKaEVucnZBQWRzZEh0TXk0cTdFZXBH?=
 =?utf-8?B?N1NUem5xM09iMnBybkQvSWl2bXY1SjRBVExNOUJxTVIreUVzbjdjU0lFdDRO?=
 =?utf-8?B?UGQrdWFiS1BhTXRnbEtSOU9qSC9ERDB6YjhrQmxDL25PU1FEUmxBSVh2M2xH?=
 =?utf-8?B?WEp6bGJCMStNODdaMlVPd1lJSlBXaTFOZC9iSis5VzlXRFRjQzFWd3p4RlFs?=
 =?utf-8?B?SlhGd0NOZlVvVWpBclZaY0dQV0wwZklqdVNiNGlBeVp0eHJuUGx0aTdkcHJE?=
 =?utf-8?B?SzlBdTIwc0pmQ2NmeExUSEZnb0VoY1VpNStIVXdCaTlxdlVRb2JNY0NlWUlh?=
 =?utf-8?B?UU9HdGQ1VnJTZG93elJwRUc5RHlRNVFiQ0xXNzBYS3ZMRlh3WjBBSFZTL1lh?=
 =?utf-8?B?M2lxYWtSTm5zRjBRNjVGY1I5bEVIbVZZaTlicHZaKzdQOTFldU9XYTUrRyt3?=
 =?utf-8?B?MWN3amE0dWUyQjVOMzF3VEs1eFJTZjJCd2ZxTGV3Y0VMenJUeVNsTXV3R1ow?=
 =?utf-8?B?TWVjaHp6S3lNaUtxclpHMjlRcmtrMytXdERRRXJsZTdEOGpLVjJEb0tqU0xK?=
 =?utf-8?B?cVR6SmJKRGt6NWJXckdSdmdxcHVnU2FWMUR4VExUbFZNVDhySWZSMFBDVXB5?=
 =?utf-8?B?aHF2b1ZHTUNXVTlQVVF4UGl3RTh4c3Z6SnBTcjVCVEUvbHNuVDV0NDBPdnNl?=
 =?utf-8?B?c2d5TDJEbTZKYzQzczl0a2FUT2Zld0hiRlYreTRqR0lpVVpON0JNN2I3QklZ?=
 =?utf-8?B?WWlUdURXeHdnN1dGZlZBVGY2bktHK0NHdjlhcktUdWwybkVhNjYwb1YzVTRZ?=
 =?utf-8?B?TndtWjE1U0FrUVhFeTBub0tzSmVGUUkrRGpnNHZHT2xuRFc0MU44cUw0YzRH?=
 =?utf-8?B?TTl4Z21VcG9mV2k3R2NQMG9LNGFUNzgrRFV5MXRaZFNMTlFjZVVOdFI3NnFN?=
 =?utf-8?B?SjI3Vm96aVRPRTVoendYRytIV0t6K3p1RUFJa0RPTGdrTVJRamp2TlRza1VZ?=
 =?utf-8?B?ZXB6c1ZqVVpPTklNaHZvWDI3bDVZWkNyeWpvYXJoS1dzelE4eFlpTVBwQkR6?=
 =?utf-8?B?VXQrcmsrUXVNbUszcjR6RzF3bHp3MWFPdTBvazNHS3NtcTZiTEZjS2NrdkFj?=
 =?utf-8?B?TXIyUTltbG9QYVFWQTczMGx5bTB5anc1bzRsdWdpRXlvNERKVFVEOWJocDFy?=
 =?utf-8?Q?zrHZejAEpOWPCvaEdJsmwEI=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a138e73c-25bc-40c0-0a44-08d9d4565a64
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 16:29:19.9446
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: i+7i+WR+4yNcmGlLAz0VyyBWi00NegzxtqpmMPr81AHZSB7Y538SxeEbS6OqXomntndDJqc0YqjTDGXjZggRIw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5165

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-tasklet 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.
---
v3: Call process_pending_softirqs() from free_queued_pgtables().

--- 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>
@@ -491,6 +492,92 @@ 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;
+    unsigned int done = 0;
+
+    while ( (pg = page_list_remove_head(list)) )
+    {
+        free_domheap_page(pg);
+
+        /* Granularity of checking somewhat arbitrary. */
+        if ( !(++done & 0x1ff) )
+             process_pending_softirqs();
+    }
+}
+
+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/arch/x86/include/asm/iommu.h
+++ b/xen/arch/x86/include/asm/iommu.h
@@ -143,6 +143,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 Mon Jan 10 16:30:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 16:30:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255443.437725 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xYh-0000hG-6z; Mon, 10 Jan 2022 16:30:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255443.437725; Mon, 10 Jan 2022 16:30:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xYh-0000h9-2w; Mon, 10 Jan 2022 16:30:11 +0000
Received: by outflank-mailman (input) for mailman id 255443;
 Mon, 10 Jan 2022 16:30:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6xYg-0000gz-FK
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 16:30:10 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 93b9553a-7232-11ec-81c1-a30af7de8005;
 Mon, 10 Jan 2022 17:30:09 +0100 (CET)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2059.outbound.protection.outlook.com [104.47.2.59]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-14-fRNFiHicOfyotxGEjgqibA-1; Mon, 10 Jan 2022 17:30:08 +0100
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.4867.11; Mon, 10 Jan
 2022 16:30:07 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 16:30: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: 93b9553a-7232-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641832209;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=aWZytcZDWfGnKVWQLLwDmhgUoNVgN4mE4a8/dnot4SM=;
	b=WYUrYvVMK00GwKNJfyPrh+c+DKFRkKl2mMiAhOXP22nIbeo4Z97CcnfaJbS4/pbUv46Kyq
	kQLu8L4gg+B8mcb+azAFiLBgUhwdSvBIslGpOUTfwiVczIuPdhIoGJL/veeEwoYVjdAx4+
	e0BuRMq0kRPYBZIeUrnTtqF/hLLY8mU=
X-MC-Unique: fRNFiHicOfyotxGEjgqibA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aokyAHPeiwfIMOhfIhtAYHfjmpm8eNFjb2hnIY87KEjJPn63TAvPoSfNe4WgEP8EusDTGROVcKtSUl5jI2oLA2SUndArmX6AObBH2k+YN7AFFnmR1VNrkbIET0FkwECEsEr/eT133NmsG8Q6+Kw6aBdoPccr/E7B9+H0wWhXLflBFRJyUSFGIjgoOp2q0COl2VuEvnr6pG7qiXqIzXb2WfJ/gcq1BRrly7k2DWIZ0wS5B4isRGuBb6T8uWB7oiff3AprXjDvOXFftY1di/d36p5UKcN4erdHyzlmiw3STHdlAy3h4+g0vEM2YLncXsSofIhGKV86XVRhNq4gcBIE7A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JdTgtNdqoNeidLKu50UftFdDVt7PjdHN4/4c5+JQ4Cs=;
 b=C5b07U+O78UwGB5BZi4E2GPyT61QcORmcPpRPWfnGQS43EGgqJgvUt1sMhA2lAFn+fTrV0qf3oTzaPeIHcpE8/h9rm0fpYXLtA5m/9wteYRu884+P3peTLEdHPgHKJh0JOkvclQCM2QrWxG7qVIiq1+iaopQ6ibdvAKDKRCK21y6l5NVmqDKwHZumJwLxeZ36sdtqLQIlJePbIqhPTBiPTADMnpJnYS0PWbCmEImbICQQ1b8TOi7UJCCV/nGR7NkNMwfiles3yQHcd56iNtEGv0w3WEDLM2/4CfruORtFy79lXd9ntfjN5mqQnkSZkMcpD36QkQZdK5aCkhzTWjk/A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <124022ba-1aa8-7503-ef4f-efbc158e7357@suse.com>
Date: Mon, 10 Jan 2022 17:29:59 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: [PATCH v3 11/23] AMD/IOMMU: drop stray TLB flush
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
In-Reply-To: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS8PR04CA0071.eurprd04.prod.outlook.com
 (2603:10a6:20b:313::16) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: fe31e83a-bed3-45de-a2e9-08d9d45672f9
X-MS-TrafficTypeDiagnostic: VI1PR04MB5165:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB5165E919EA9AD3CB9E7BFAD9B3509@VI1PR04MB5165.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:
	2U6w9W56QpBL+IqhB4TQXykDv+CLg7MlPAib/TcGhQEuZ/aIkvvQgWbtQ0tqYmbNRE2cM82w6gx10tp8b2JdAE3CqPFHNFRGJ444czDQ8xWX2lfT6ZjMfTTN+mIjgxlvhYapr2tcqLYGfXxuaKWStqndCavi2g0rQ6AiXIviunn9HlsdWy+TCnB4fxM6TdhBjUgNU1yRfAeVCuLaYYj3WIdzRN2uvLV+reKo7tjk/Lua9G2NXqmrjC8otf2LO31md3JLSCct4lD+970d8hR9YAVNXQ+YJ8yYALbjGf7ErgFit1BoiA2dqIgdHFPyZ014VpkaKJrY9Xhi9xQ1gmQCCg1dr3osGYH7+ltYVxNzPkUDLMmY4Vk5mtHJ0VZWSm+Ri2C4blrA1VZHYvctcAGFrwymq4EoItvaltuVXPAR70M7+ZkMghoT7IttSyZyhnfPnKf9aZUEsjN75G9TbJ4K7lzq29BSogI2vtYujGWpKdILq2DN2nYqktV2qKlONamwuNSBoFMM3+TrRuuUQSOwZVIsP7wlRTQLJZuC4/uPeI7i4bcgVXMzUn8wffTuXAbAYm0Lk8Yecf3fv5+cE7ULvzPcXC68ATCfpu757XbgCtrutzXOilte3OB+3eEQtvi+DsF8tJH7vQVavcntV0UoA5fmmq0y6z8pc7EFGLgRg5sgtbWXm261bAKuqZO/OojGvLOh/oDRDilrFZTsmRk995VElpQY8WayP1qzPsdC0Hqj6HqSgYJMQ6p8T7x08Emq
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)(508600001)(6506007)(26005)(5660300002)(8676002)(83380400001)(38100700002)(2906002)(8936002)(6916009)(66476007)(2616005)(186003)(66946007)(54906003)(86362001)(6486002)(31696002)(36756003)(66556008)(31686004)(4326008)(6512007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?MVA1w8z1c1vQO+ViueGRwFi6djbJO7AfF4+WgLdj70jCIe+rZWzUCWVKuthL?=
 =?us-ascii?Q?6fmwBi5vKm5ZjPqFPentTr4TmOpF/NcI8a0n2b8Vm8NTCeMbiLT8KVlk51fN?=
 =?us-ascii?Q?Nbpla87ZCeRtQlCraIlPJ4hGcvdTcUaVf3xjuMChNBb6Y+i0S/9Q7wDeHehh?=
 =?us-ascii?Q?+X7TAfYI7IGDUtkGSJBDcuZArBuobvcwpBlNELn7n3iEQ0hd01HnHP67mk/x?=
 =?us-ascii?Q?hvcOxfJp0BFCGGR5glmo6vbsb4korl24ALBor5sfTSD7B7N7Y7IouSPJw354?=
 =?us-ascii?Q?PEIRFBDFvceZIoOjXIxSkaHL91M6k7BSxD8mN+SKOBWlzgXVpkfm6AEvCT2o?=
 =?us-ascii?Q?VkWf7+NHGFiAQU5Ezl+pPGEpNsVCNp2R8/uxOuVQCUz9rha1kBcylourf/Ot?=
 =?us-ascii?Q?PtflYN6nHLQOt4tsX9f/JWw3aQcARfqzv4+WJwtj6+DofZnmsGbKQxQEKUOD?=
 =?us-ascii?Q?oyiC6eRvEO5+gH4NaQOMHrH8f35qAjbFc36s4eXyDUuGrXvyoHKCViJFMpW8?=
 =?us-ascii?Q?Vlr54AbNmHvrbGTXkDKQYMcj1EXN/9H0JQ+iLZHbJ1nipmc8GDT5mWqKT9Vq?=
 =?us-ascii?Q?mJ4ZH4cmZUpa/bzC8lMF19bSQjdDXjO0SUtRKtyHEnkOciPbMCKse/a3pO7G?=
 =?us-ascii?Q?7vZB4l7qlL7CD7zbCGtEv0BtJBgZtnmN6g/c0Z2TZpHcbuvYA4ZBk1c1RTy+?=
 =?us-ascii?Q?61SOJQbuZokdFAj++rVptRvPT/Ez645AabxuSugvyX+Ss62j+019Wg6MoqjI?=
 =?us-ascii?Q?+VaCOeIHi/PMlZG47fL0z8/NGAuJF2zs30EPOoEQPlJ2o1XbsW9Q0KeCK3Uz?=
 =?us-ascii?Q?R0kTHXIkSCmUzKSQqiuGl050ZSRZWrHPrgSxtj95C7nYum3Jp1Kn4c+ZdcQL?=
 =?us-ascii?Q?jR6fAL4fzyR3bgIfzR+OTZ4zW4K6gxCqj5Eu7gFtXnIaXbdARgIYCT2Q+fcu?=
 =?us-ascii?Q?5+vLbp+olRhgUaOWA4IZLJ9ohOrMRhsXHqhM20gNQVcSckdh18bXV2fehOQ/?=
 =?us-ascii?Q?+v+ulfptPnMaqz5OlJ2eLRP/O+PcyjTnRBcsY/pXfKG5rC/SMHicBw14IgqF?=
 =?us-ascii?Q?gIxV1Axo6zmKbgwjXDvbrj8IBGObpt48sOPs6WMuxsKN4QF/98VF/D0O4jRA?=
 =?us-ascii?Q?G5Qp6wAopasn5/qTvjgEWogwj29t8zm85d9S86934++NOuokwjoO8eqimvST?=
 =?us-ascii?Q?5KV1pE9KKQ1SRnQwO4bMbtPTi48pc5wcLBUHrR8evUrFTVPWlbLDGaHhuhiH?=
 =?us-ascii?Q?LH6v87FajTDwAnx/GOG1lPCBFOKw55EXFmcDtk+TzPLTbxGPR4onzGTo4acy?=
 =?us-ascii?Q?2oA2cFkoQdpWB4tO+63bTGDQswDGbfe65LHsPE766DSnebfADoGEsKdLmbmZ?=
 =?us-ascii?Q?YnRQ18R8hJdiYsiKq1YRtYaCmeaaIhveBw01sR4X5pPfKDdOWulQH/oGGXzr?=
 =?us-ascii?Q?8FJaZKgO9d0kDOrcPICqPuDdGB+wB4WNzcAjh8Sid4RxcA0wvM9cYg3M25WV?=
 =?us-ascii?Q?Ls34DowbOkgymEWwQefd0+ZWalqJfQ9wSCB9xVA6rp1AFkQCPc/ZwpZmgEhW?=
 =?us-ascii?Q?JX8Txpv2ZkUmAPDYpV+uFADDwHoJqI2REWKc9REnSFgNfMB9eDo8V9luHxSG?=
 =?us-ascii?Q?vbEagvZ0aq07h0uU6z4S1N4=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fe31e83a-bed3-45de-a2e9-08d9d45672f9
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 16:30:01.1774
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CvJFyER8m203IofB3FB8A+5SPz7MiDI2ma6GutOMs7GqCdd+m6kp2gOpO2hmSiXgYoxXvQ5lK99qYCnnqhq8sw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5165

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>
Reviewed-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.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;
@@ -240,7 +240,7 @@ static int iommu_pde_from_dfn(struct dom
             set_iommu_pde_present(pde, next_table_mfn, next_level, true,
                                   true);
=20
-            amd_iommu_flush_all_pages(d);
+            *flush_flags |=3D IOMMU_FLUSHF_modified;
         }
=20
         /* Install lower level page table for non-present entries */
@@ -312,7 +312,8 @@ int amd_iommu_map_page(struct domain *d,
         return rc;
     }
=20
-    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_ERROR("invalid IO pagetable entry dfn =3D %"PRI_dfn"\n",
@@ -345,7 +346,7 @@ int amd_iommu_unmap_page(struct domain *
         return 0;
     }
=20
-    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_ERROR("invalid IO pagetable entry dfn =3D %"PRI_dfn"\n",



From xen-devel-bounces@lists.xenproject.org Mon Jan 10 16:30:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 16:30:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255447.437736 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xYy-0001BN-Es; Mon, 10 Jan 2022 16:30:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255447.437736; Mon, 10 Jan 2022 16:30:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xYy-0001BG-B0; Mon, 10 Jan 2022 16:30:28 +0000
Received: by outflank-mailman (input) for mailman id 255447;
 Mon, 10 Jan 2022 16:30:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6xYx-0008Dm-46
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 16:30:27 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9dabca33-7232-11ec-9ce5-af14b9085ebd;
 Mon, 10 Jan 2022 17:30:26 +0100 (CET)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2055.outbound.protection.outlook.com [104.47.2.55]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-12-i6yPQOavNqav6Pdw3MeVtw-1; Mon, 10 Jan 2022 17:30:24 +0100
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.4867.11; Mon, 10 Jan
 2022 16:30:23 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 16:30:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9dabca33-7232-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641832226;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=f62ybvfoCSlLVGVKNs9Y8SU0VwhX09U4IvfLUd/XaZ8=;
	b=e1kdVX9mt3v7czLTgMs2mnzvvONhY7Syr0XvL7qFCAudfad8mAYwB7Qw+60JiStzhnR2rm
	G/UduMY18mXFQxfv2Qr73fXR2Ha04kVpeRFx5429wcpGqEfovTPjqK17ZGauQyHsHNJgxl
	Vq96Z2ZKT6/AWMo3CoBdy5b/pa2DQFY=
X-MC-Unique: i6yPQOavNqav6Pdw3MeVtw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Jbs9/1cMPapTX20HMqbcEPlXZJUnydF+u7rI0Sc3yTQNh6lgr63Xfj2rDvAnpj7FxnID+Teep5nd6fSrmf4U8dXUw6gnM9wvtyGhPBcHTbCq474GUM2XzxPFFEGu6kYx4KZQ0EsvjAwdlnTwEz/MlO7clvFB5w1RQWJ9ZmhZlaY9MMACysGADNU1OGMTjOUgKjkFj7s9Wp7yFpsirZ3p6A87M45WJligh3x1UMxGeoLDCSoM9CMcz3dvzVvC1gdQ2atqYqjFjWxxVSrRZvjljNPIGz89HK/lsX0jr5KFDsqPjhlNAMzd+M4/fZCLeWsqfqrxb5R165tQb7+06bl2Jg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=f62ybvfoCSlLVGVKNs9Y8SU0VwhX09U4IvfLUd/XaZ8=;
 b=UJ0r7sEYpQ/spo137DIXxx3J27HLaVJ1UzGxg2QRSKX64P1R9yBXQ8Zie/JvlVGNnifo6j/Y9vA7K0rZe6BEch7B6xXnFRknjvM4YasindixFA88PBLJl4KxMIrvlt9SzI7+SnZ0KOuE9B8e4o7k5ZH/k4wsW6s0f1VPwKBxB689aB/g0vai3t4iz7I/ZVoOO5xD6rSWVs0tK2P3ICkZHH8WNIyS6FWgghL5tQMjbH2NT5SKckV2r9Bxkgrn3tcZJIiquMsdsIHD7N6+/QNRcvWPtsTypA9uEZ28dmColskVDEVUjeh7oun9JYBmGgtVSIx6Jo3oHkM/NLSfamHpZQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <67cb5693-3c52-ff7b-81d0-5dbd2231d940@suse.com>
Date: Mon, 10 Jan 2022 17:30:21 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: [PATCH v3 12/23] AMD/IOMMU: walk trees upon page fault
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
In-Reply-To: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P195CA0047.EURP195.PROD.OUTLOOK.COM
 (2603:10a6:209:87::24) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4625fa8c-4675-4e60-6b49-08d9d456805d
X-MS-TrafficTypeDiagnostic: VI1PR04MB5165:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB516567A0ECC94C2EFC6D6AADB3509@VI1PR04MB5165.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:3631;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xlJBf/1pCVcWXTUxQIiVqr0owe0/7i1HAUItyIKEzrfx+yCWfTSE1uhc/NxOXn3qXsRKRwkZO2QG7TyqCledGRAq4lG6GIf660fIq02f7U6n0lLy/PeFpbErfmy/vzyhNjaEsnOb0ANkllSa1Nie2BSq4tvr6FJRUGwxbxfqGAiqUOzW9ctTu9UxcTcah15y1AC2c/Lg+ESbZeaDI0OiazAFiJEXh+rccCrBd3YNiO8mcDuMwmt1jvPEGiWJ4dfv932arD2AFVLT+0Wngk5czYPYZRdB+fv3mEJvFqLa8pNxj5nst2vCKykTrtctHQHaOja4Jafjhy4TTJQsp9dx4Zxj5LKD+7rsqmrDU86LvyNy+29k9w0iWcCXT+VWc6qbXE0wEkNR/CIjLjH54SqkDnpr+PfAJKWdQp7kxe/Cb0OwQFHRQxD/9eUip4x1FNb3chqIRHVAatPKasj7t6dYFdx33lXp7nBR+aN5IPgeH6Mjz3BtuWLHEdh2fQnHyHoCSblesi+Vw0Rl7JLt8jPhGxKz7YIn1nzYH4597+gjQb7jb1E9aWYsz0t659cjhfWc22JYKNjy4ZWJGHHJq7Q67TGqK9/W1NA1WoLY4XTDtZ5nSX5Oemdnl6bp+0TQW1enti2AdT/ez2mX7kRMbazML+LVM+oxfNwzsBCvxgzDIXGU7JZTJPZUOxxw6uqOercJVZtaF5PNWqV5pMoZruvw0NXD7KYGl+SIrwetONfgeEM=
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)(508600001)(6506007)(26005)(5660300002)(8676002)(83380400001)(38100700002)(2906002)(8936002)(6916009)(66476007)(2616005)(186003)(66946007)(54906003)(86362001)(6486002)(31696002)(36756003)(66556008)(31686004)(4326008)(6512007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R3QwcWNEc3VFWWlTRGtnUm9XNTJrd0dtTmt0SjBLbk1GZ1l2cjFubVpjNzhY?=
 =?utf-8?B?bDNSUjZKTjFveUZUUzJZbkF6SnBTMEIwc1hqQk9PenU0cmpxaFpISFErUXRR?=
 =?utf-8?B?aFU3ajZ0NEs4emlCWDYwNnNrRk5naEVhSlphbW1IdGdFSWtKcU53dEl2bGZo?=
 =?utf-8?B?ZTlZb1RZWDZod05EdjBncEhXYkVuLzl0ajBlSGtESzVHNnRmcTZSb2REemlp?=
 =?utf-8?B?UTdwemN2KytRZ0ZEcnBKUmpWek93ano3azZ2UG5PN1p5Z2M4VWNhbENhWjRU?=
 =?utf-8?B?RDRseWR3eWRnT05tT3lmaWE1YWh3REVMTFZkUWlWcEsxalZ4V2VBSHpWVVJm?=
 =?utf-8?B?NEV6dUg0Y3o2RU1seVppNGpYekc2WkFJYjFZTDZuRVloN013cUYwV1hmcktv?=
 =?utf-8?B?c2FxaUF1d2FUUzhFb2c4T0NCZXBDQmw4dXhFM0R5N1d4N25HM1Npd0ZZOU5q?=
 =?utf-8?B?QmVXMkpvdElqaGtsK0N1dXZqdkhsWi9VbVVNamEvY1gybyt3NktSUmJva2w3?=
 =?utf-8?B?OVBHdzdaNnhlNFIza3lEQ2JPcFd5NTJacFVPT0JVUzVYNEFUUzhQelVsdyti?=
 =?utf-8?B?YmpSNlNGUVVtT2pvY1JvQkVKdWtub3haMzhrQmxNNm54M2kwMVpnS0pObXNz?=
 =?utf-8?B?U0dESUxCa0Jmck8wWGdFSXpVbVpBVUs1eTE4aDY0UjBtMHFpN2ZsWitTREhQ?=
 =?utf-8?B?SDBTTi82TGRIRlNzSDd0dDV0c1h2bjlsOWlwOUR6eFJaYmQzQkpVb0J1bmgy?=
 =?utf-8?B?cGJhMU9tMnhRUi9xOVF1VUNpT2wzTHh6cEo5K3VkVHdNSUp6L2tFR2NHM3V6?=
 =?utf-8?B?TDVSWTh3MWRTZ0pQV2JaTGtGaU1XSThiclpWdE54Z0VMUUcwTWJ4ZHh0NE10?=
 =?utf-8?B?eDhDdjZuM3ByQUF5NHYzN2dITDBzQVpwYXNrOHB5MlJNUlpzRWlCR2hhdHdC?=
 =?utf-8?B?UHcyMWpDL0dGRTdzV3NPWG5YVWphdkl3MEdYcDBpU3hHNGt3dXZzSC9HQVJB?=
 =?utf-8?B?T2RRaVFhWlJseGUvU2pBakdoRXZHK2hYUFNaNzE5V3JIcGEvREhITk9Xd0Fq?=
 =?utf-8?B?R2I0MFR1UUI5WWNJUUdCR0Y2V2FCenhFTDdXSXcvQU1ONWJkbks2ejM5ZlFu?=
 =?utf-8?B?cXFrakx6UmdybTJBd3JWNmhmaFEwQWlpMWxQd0dHVDBMazc4M0YxUVRSTm5Y?=
 =?utf-8?B?aURBREZSWExaMTdXSnh4cy9xTGNPb0NicnV5ZFNXcmxvNkVxa0toR3ZyWkkz?=
 =?utf-8?B?UXh1cVJzK3hZQmJ5ZWpKODFtVWJGZ2F1WmhLOUlMWXR1Q1FzL1hkR3lUdUha?=
 =?utf-8?B?dlBMZ1dQeEVaSTBNamlJaW9CRG5aVFpmOUpTdjdVZC9Rb1R5R2p3bWF0cVlq?=
 =?utf-8?B?L1NEZzZ5UEpmYXlKcjkzU29NSktZb2ZZR0hqY0ZqZjNVVk1pdTFudVB5NjYy?=
 =?utf-8?B?MitTRFF0NGNJZFM5VXJTcXBPRWlzV3hQeWxCWHhBdUpUNW0zU3VHWjdubXhp?=
 =?utf-8?B?NHRaMStLd1huclV2VkJCYnBmVnc2bDVUTUlsR1lLZ1BUSVFQNmU4TXB5Q0tE?=
 =?utf-8?B?dEhGU1NuLzZ2eDBjV0dBZUt6OU92VENxWGIxVit4a054bWh0YnVkZU5XS3Jy?=
 =?utf-8?B?MDFXUnRBaSs1ZHVXaFhPRHc3ZURiTFMrMmRxdUtHcXRnSnJOUGVrVkhBRnQw?=
 =?utf-8?B?a1JWWUp5elRBK3AvRlcyZDRWcG45NXJPZHU0N3pveU9jWUhWY1Bqemhub0xU?=
 =?utf-8?B?SUxUblJSc3BrQkQzVzBzSWFUYWVuUTMwd2RlazRxOEJLeGJZdGNyRjI5UWtF?=
 =?utf-8?B?YkFWaE1haXpWM0F3dVoxUTNmUXBJTjZRMjZxYUprblpaVEtUVisyTnNVQXA2?=
 =?utf-8?B?WkRvT0ppV0V2cURKY0tFSHQ3RTNnYW5tQVZ4N0lVUnVtUU1ITnVkbHByNCtq?=
 =?utf-8?B?WEJIaEZTbnBFa2d2NG9ZSzJsTEdDaHVpbTBpZlZxdndxTDRYUkJhdHNpYnZz?=
 =?utf-8?B?VWpaS2tBZnlQT3FJcDMwWGREdWZpZlZ2Ui9UeGljM2ptZE9wckNOUlRZUktR?=
 =?utf-8?B?WEpYN2hGeG1kdEFtcklkUkZIK0s0dk5TMWp2dHRoTENjakhuTjZqbVhIdVh2?=
 =?utf-8?B?Mk02UXNEWkZaVGVtdURXZlVEWC9HdGNXTnE4ZURYSElKRWM0dVUvTURwQnlK?=
 =?utf-8?Q?hM6ErKkzzyAs75SbGMDfE+k=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4625fa8c-4675-4e60-6b49-08d9d456805d
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 16:30:23.6407
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: tnWe6SqG3Es5eHMj/Q6iJ0Q1H8NgnT4OTosjRN3qBdnqg/RaGiHni/TV6rRhKjRHxvHBlXTaKN95/sGcgce0Pg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5165

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>
---
Note: "largely matches VT-d's behavior" includes the lack of any locking
      here. Adding suitable locking may not be that easy, as we'd need
      to determine which domain's mapping lock to acquire in addition to
      the necessary IOMMU lock (for the device table access), and
      whether that domain actually still exists. The latter is because
      if we really want to play safe here, imo we also need to account
      for the device table to be potentially corrupted / stale.

--- a/xen/drivers/passthrough/amd/iommu.h
+++ b/xen/drivers/passthrough/amd/iommu.h
@@ -256,6 +256,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
@@ -574,6 +574,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
@@ -366,6 +366,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
@@ -607,10 +607,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 Mon Jan 10 16:31:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 16:31:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255452.437748 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xZa-0001oj-Pq; Mon, 10 Jan 2022 16:31:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255452.437748; Mon, 10 Jan 2022 16:31:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xZa-0001oc-KA; Mon, 10 Jan 2022 16:31:06 +0000
Received: by outflank-mailman (input) for mailman id 255452;
 Mon, 10 Jan 2022 16:31:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6xZZ-0008Dm-2I
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 16:31:05 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b4407c00-7232-11ec-9ce5-af14b9085ebd;
 Mon, 10 Jan 2022 17:31:04 +0100 (CET)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2056.outbound.protection.outlook.com [104.47.2.56]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-14-LJluqCRsMjaoXdSCAp7t0w-1; Mon, 10 Jan 2022 17:31:02 +0100
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.4867.11; Mon, 10 Jan
 2022 16:31:01 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 16:31: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: b4407c00-7232-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641832263;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=KRmpD2qMXm2Vm6fNIy0ebgLcqYPHnHwAuw/VY8R+szI=;
	b=NB5WmeZsH+Cs7rDE8u5cVjspIEYa/KfJanWS8GCNTnlMkFon13vpD3AekDu+g6y4JiyXyf
	eT3JOU4z8K/uuaf4+hZLxQgv5oo+1cvxENOrFYlQg2j62SsNY3raOaPJ8P0JYisKLQrw0Z
	JrgZBN5TDBGEczt37ZemEQCMtdgxu/M=
X-MC-Unique: LJluqCRsMjaoXdSCAp7t0w-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nldOnZ48C8C16ERsSMvQJqICf9zIhDzQDzVEOMcRvGHW/hUpFLFh0VMMfmPsCJjJjAdcuvgI3Q5FglTPehsqkxiDR5BjR0kYR5UYaKJxnOELaa1Gws71BXd+17tdLVxrsUMnqFuUYwI2XsheiS+FXU8PPiD53MqspkO+2x7HyK74XrsS9zsGqxGJpLqnGsmgB+qbRkJLVmvT194xn9/uhUvjv2CdZx0Fb4OF+zrc/SGkgI3tyhkJ6uLyGq6uiWpNkbmdxqPP5+64AkXJ9ETaU/wwgcl8GWkUC3DFJWO+jyMXdRmU6fzDCtxQr1yXqze/5hVI+2YgbllwoejM8xvEbQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=E2uuY7rIe2glCx5ujVXcsUed4WYFvdRg35p5JtkioGI=;
 b=IY1oP6p5fa+hWW7Pk7gznLQs4TEumsQ15BmoYtgU6Lla1bcLwF+EMf7H+42BThsXwb8FNah+AcheJJV4RSgukeQ+K/axq3Wm+XAmYPNNI5+yxcah4lHByh5yPVPd8MyMzMcKk9mxou45GLqxSTHaXyECG/KiHXskrWnHno73sdAViVHIQfYWmpWylbCAJ9XZYjDjUnQ7e+oMrKFGvzdVPfFcPT3qMQLok68WMZLcnS48w42nsWzJNGmXFZosXmyuwRXmhbRMQ16YdfmtYEDweJlNiaawb3KM09VALzF9EolydlfB4NXk6mCeV5r5YqcsyH7OzDk4IJkuKHq5V+77fA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <75e21708-5d39-0af1-2f88-e77643ff4231@suse.com>
Date: Mon, 10 Jan 2022 17:30:59 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: [PATCH v3 13/23] AMD/IOMMU: return old PTE from
 {set,clear}_iommu_pte_present()
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
In-Reply-To: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS9PR04CA0073.eurprd04.prod.outlook.com
 (2603:10a6:20b:48b::27) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 875d9c51-72bb-4363-f4d6-08d9d45696d3
X-MS-TrafficTypeDiagnostic: VI1PR04MB5165:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB51656AFAC202D39BE60320B2B3509@VI1PR04MB5165.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:
	TcHupoMoSLnwLQ/0olIDxDYJrRumWp2zjNjixfDFVoW25pHuWgpFJZAx48BSeu9OyDQP4BGLfqHoNim3hzeXDmWWBXrQllXdVnPFMxsNg1zpgzMj8lI4tDhT0zWU3jLs4xc+ttYHuggM4pDtA6CMKDxqBFAsWToZaxoG7I4gqs4qkG2GNL8ZGZqc+08ubQMxkRMmFRQi2tYC4xdJWOmoQy3+p0w2KZKVIqJc2cznrLxZ7dth87FtWIGqX7NcTJCVIXAcNNEjYw/47w+STTVSRPgpTZGvTSyYgOFhale/Wpdaep1690zWPLT3RadNaSo1pxGhNuAxPKpSRdQiley/7ZyyMy2O+qbjQBt1JjC8VzkKqAEewODF5tWAeL0U6SPAhJgzjmxs/5F4YqoQDV55CufVWq9MN8Fb9Zo2oF3pCP7Cxt857MqsGQLAfPrfyE4OCKuwfX+y/Mh/iBqEw4jhW1m3pzLv0d5Sfr4a7vKLmvzcQsjJD/Yj3p2wf7+hy1JPNlJHtQ4rweFIQ92Bwuo8M3W1c4QbOYxg8P+itKGpxjRUZIotCOY5v6ZwwFTyJgEio1TFDES9YtCS3Sb0dnry5+vuF/NFPuywZ6xJUZRVDFHTDU6oRZvWLdqKb31s0prR1EDpX0HHcv/3z40uPRBxyAOQYpurixVdGPeb7Sv6hzAPuUa+F8agsB6YCtzGgDDErQ81fsWIAYYbcbMZA4+ptdhoVtAQAej/04HgTuBTzaTOWXPJZW9XsC/7L9wWcs+F
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)(508600001)(6506007)(26005)(5660300002)(8676002)(83380400001)(38100700002)(2906002)(8936002)(6916009)(66476007)(2616005)(186003)(66946007)(54906003)(86362001)(6486002)(31696002)(36756003)(66556008)(31686004)(4326008)(6512007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?aBgK08q4GfRecZxtRtdeOmxoaDyz9yUNNKomFQhD1J6fP3MWHYngdvusdwTF?=
 =?us-ascii?Q?gHt2FBLXX7Hy1WAn0Yj+ZdOaFKa+gxWQOwZgRDbyPkc4AGkdDCF4NP1pzZ96?=
 =?us-ascii?Q?OujsICe/4M7oQ5m9t4D8b0Xr4LVEoH3jKBmRJkXji+3ksYoVJeIr0FMoWH4O?=
 =?us-ascii?Q?E5PhtFz1JuLTxEgcxMRj2irZYKvJI5lO+as1AI0ZmnCWWdwCkAw7O8wEvMG8?=
 =?us-ascii?Q?Z+Ryh6hbQUk55iVDlQadb/Z6u807vVb2EOkiixT43dqoPWWVupyJLQttumpk?=
 =?us-ascii?Q?ggd+ZnyoHrXNJOILtMxj6fW4O0SabZudP4bp8QTzxFnfgg8iNbTU+Z6/WCC6?=
 =?us-ascii?Q?sk9SsvfeWtiu8DuNeECLAOzr1WcoUXWoyolAOg7BkpJ/UZ1kH2S17mjHNKZZ?=
 =?us-ascii?Q?+hY5tRdcuAIlUcQh4cqoV3VoIAWmsp8tYSpVs9YBC7/+zTl4tpE/BTkEa4cN?=
 =?us-ascii?Q?C3ZQr6sHFHacusPP3jVnXyMQrySIdXq+AD8kPtEHlaooaGSU/qj+648a1YOO?=
 =?us-ascii?Q?RWpk3m1ATOdnbUIcbBtSMpmqKRhG2DVLlzkpaBMECd9re0y6QTep1+BrtZru?=
 =?us-ascii?Q?pwxvj3A4EmwkIDTNe1CkHGkvE1QTTJkaIle+97hmGsAqh1TKtgWXHzFUP+yL?=
 =?us-ascii?Q?DEneyh6J49694tNjPDXiQryuAVKg8/GYhXorsXZq2v3woKbf1wMbTf5Jyw+M?=
 =?us-ascii?Q?4cSwVqM8JL358PU+GBDri/I0vlsuGXBZVQVn5V7DDzFHxrxY90Fo3noRf+jW?=
 =?us-ascii?Q?ihbMgnXiL7w8+hriJW2ynDJNZP7ICw6EYRwfwB/bnoGj/+gnk4ZbgCXj0Kzh?=
 =?us-ascii?Q?TjeSlEnFoLHrJFDyxtNkIlgIZ4sjsCs538u7QQEJ0gk1D3//+8w6xoQUsWn3?=
 =?us-ascii?Q?g1+DQVAdxZaEcSoG/GZFg8ZTx+BpdBP6ayhwvJhkklJOkp+AlIKxT5e1INSn?=
 =?us-ascii?Q?yc2DUwQr8cfk3Xj9fXmOaBq/Vt7QDPeIrJy6fF6qCVlIEJa/EBcqFeKXTPlv?=
 =?us-ascii?Q?7eQsU+Oss/cd8fbxV/WQm7qg3ilbqodRNJDzu10weKPstTGLtXH1taahk+YB?=
 =?us-ascii?Q?kKzWgpycyBA04CSf4YUxt/LR6LWYMtGFpeaepYZESlR/KeuB2p3L66k1wmBt?=
 =?us-ascii?Q?zPT69UdDhn8qGxMGbqANAkW4N9kOA8ksQR9+N2RWgFW0Y/tfj6IBbDWnu6Cn?=
 =?us-ascii?Q?/ncLM9HeinZpj79io4/C37CvGOag/7Q4QYrTkby6hTolJsfPkUMlOf5wSG/D?=
 =?us-ascii?Q?uTpLwQaFzWYRLsF2jNlrzRtlu9HGSidsizAN6PyGf2JHy1ffF5E9LlPsrsLF?=
 =?us-ascii?Q?JqTIw6/y4O+dA9cYVNLy9LBcRQzXcdKW6PRX++Nbft93ZtZBawQIoqSWVDvY?=
 =?us-ascii?Q?sjuAeQQzoBTxyjsKOm5uyIcZDmf3QXQ8wWBqtvILTl2w2ngSDZqRgN+uXhlH?=
 =?us-ascii?Q?z9+/ZqxwZzKfdWpYrAZC4t9e+UWryqgDAZVlTCi9PEnyaa54c/UZ9OsMvyo8?=
 =?us-ascii?Q?qEXiVJwYUONoZaXRtBLIKmuqJMvMc2K73m9ww4J2LvNRjy81u+ikLjvlcmAm?=
 =?us-ascii?Q?g3z4CMvaG7+GTwHFxfZ4sGl+ME2vx4ogIpmcwCIuOH+USWtgiRtLnwxfNMwB?=
 =?us-ascii?Q?T1lUJlTmJprZjbcFFcI6IWQ=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 875d9c51-72bb-4363-f4d6-08d9d45696d3
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 16:31:01.3334
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: np39MjGZ0s7OJOYodZ7ba1SapIHYYKGt2YAZ6YBF3STR7eKZE528vNOYbQ8cmn0oj730P11IFRFwMNgl4xu/Ew==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5165

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.

Note that for subsequent changes returning merely a boolean (old.pr) is
not going to be sufficient; the next_level field will also be required.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.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;
 }
=20
-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;
=20
     table =3D map_domain_page(_mfn(l1_mfn));
     pte =3D &table[pfn_to_pde_idx(dfn, 1)];
+    old =3D *pte;
=20
-    flush_flags =3D pte->pr ? IOMMU_FLUSHF_modified : 0;
     write_atomic(&pte->raw, 0);
=20
     unmap_domain_page(table);
=20
-    return flush_flags;
+    return old;
 }
=20
-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 =3D {}, old;
-    unsigned int flush_flags =3D IOMMU_FLUSHF_added;
+    union amd_iommu_pte new =3D {};
=20
     /*
      * 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 =3D next_level;
     new.pr =3D true;
=20
-    old.raw =3D read_atomic(&pte->raw);
-    old.ign0 =3D 0;
-    old.ign1 =3D 0;
-    old.ign2 =3D 0;
+    write_atomic(&pte->raw, new.raw);
+}
=20
-    if ( old.pr && old.raw !=3D new.raw )
-        flush_flags |=3D 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;
=20
-    write_atomic(&pte->raw, new.raw);
+    table =3D map_domain_page(_mfn(pt_mfn));
+    pde =3D &table[pfn_to_pde_idx(dfn, level)];
+
+    old =3D *pde;
+    if ( !old.pr || old.next_level ||
+         old.mfn !=3D next_mfn ||
+         old.iw !=3D iw || old.ir !=3D ir )
+        set_iommu_pde_present(pde, next_mfn, 0, iw, ir);
+    else
+        old.pr =3D false; /* signal "no change" to the caller */
=20
-    return flush_flags;
+    unmap_domain_page(table);
+
+    return old;
 }
=20
-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 =3D 0;
+    unsigned int page_sz;
=20
     table =3D map_domain_page(_mfn(pt_mfn));
     pde =3D &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;
     }
=20
     while ( nr_ptes-- )
     {
-        flush_flags |=3D set_iommu_pde_present(pde, next_mfn, 0, iw, ir);
+        set_iommu_pde_present(pde, next_mfn, 0, iw, ir);
=20
         ++pde;
         next_mfn +=3D page_sz;
     }
=20
     unmap_domain_page(table);
-
-    return flush_flags;
 }
=20
 void amd_iommu_set_root_page_table(struct amd_iommu_dte *dte,
@@ -287,6 +297,7 @@ int amd_iommu_map_page(struct domain *d,
     struct domain_iommu *hd =3D dom_iommu(d);
     int rc;
     unsigned long pt_mfn =3D 0;
+    union amd_iommu_pte old;
=20
     spin_lock(&hd->arch.mapping_lock);
=20
@@ -323,12 +334,16 @@ int amd_iommu_map_page(struct domain *d,
     }
=20
     /* Install 4k mapping */
-    *flush_flags |=3D set_iommu_ptes_present(pt_mfn, dfn_x(dfn), mfn_x(mfn=
),
-                                           1, 1, (flags & IOMMUF_writable)=
,
-                                           (flags & IOMMUF_readable));
+    old =3D set_iommu_pte_present(pt_mfn, dfn_x(dfn), mfn_x(mfn), 1,
+                                (flags & IOMMUF_writable),
+                                (flags & IOMMUF_readable));
=20
     spin_unlock(&hd->arch.mapping_lock);
=20
+    *flush_flags |=3D IOMMU_FLUSHF_added;
+    if ( old.pr )
+        *flush_flags |=3D IOMMU_FLUSHF_modified;
+
     return 0;
 }
=20
@@ -337,6 +352,7 @@ int amd_iommu_unmap_page(struct domain *
 {
     unsigned long pt_mfn =3D 0;
     struct domain_iommu *hd =3D dom_iommu(d);
+    union amd_iommu_pte old =3D {};
=20
     spin_lock(&hd->arch.mapping_lock);
=20
@@ -358,11 +374,14 @@ int amd_iommu_unmap_page(struct domain *
     if ( pt_mfn )
     {
         /* Mark PTE as 'page not present'. */
-        *flush_flags |=3D clear_iommu_pte_present(pt_mfn, dfn_x(dfn));
+        old =3D clear_iommu_pte_present(pt_mfn, dfn_x(dfn));
     }
=20
     spin_unlock(&hd->arch.mapping_lock);
=20
+    if ( old.pr )
+        *flush_flags |=3D IOMMU_FLUSHF_modified;
+
     return 0;
 }
=20



From xen-devel-bounces@lists.xenproject.org Mon Jan 10 16:31:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 16:31:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255457.437758 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xa7-0002T8-53; Mon, 10 Jan 2022 16:31:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255457.437758; Mon, 10 Jan 2022 16: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 1n6xa7-0002T1-1l; Mon, 10 Jan 2022 16:31:39 +0000
Received: by outflank-mailman (input) for mailman id 255457;
 Mon, 10 Jan 2022 16:31:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6xa5-0008Dm-VP
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 16:31:38 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c7a375f8-7232-11ec-9ce5-af14b9085ebd;
 Mon, 10 Jan 2022 17:31:36 +0100 (CET)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2052.outbound.protection.outlook.com [104.47.2.52]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-10-0gdKTTpoNE6LuvJHd8qH3g-2; Mon, 10 Jan 2022 17:31:34 +0100
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.4867.11; Mon, 10 Jan
 2022 16:31:32 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 16:31:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c7a375f8-7232-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641832296;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=3QICCLTVAYCokU58Fu1KW8azrW2zPznMQ8q1onO/ez0=;
	b=lvP0IRTUiIyBXrHcrMcF8EZrbIEd6MfvUZjR23no6tayerYDxcjCl8P1eUEk43xr/oerZu
	GEG+yZCLfXW69W3jR/yZWadEct/cvUvav+2ZKEk6aQemvEy4jk9MJVqxEd5QsrD0tcPxR/
	HV3rrSIxKq/+zrHPDMWsPvVO2Ht71OM=
X-MC-Unique: 0gdKTTpoNE6LuvJHd8qH3g-2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jI2ixXW72K8/7bOweVw35+7DaN5NYe9bM8SyPBn4wEaOMAFMqnkhAlST8tJgO0FwpuJoKogZ4vHZODRJIA0iLT8iCHbxG/6Vzl4gSVl1UPPeaisTG5ran35vo3dgrJZDkYMtk6kilfwLtB28KhrsBdYslQNkQEk6so3RdmpA1PKtRCVQyL4SWNOXft5KPkQpJYr/HtT8g0Uqg2RFDZrM8/62Ll+0HkkcqVlXjn2S9IkRKOJ/KZbcJyS8DZSGTCKB7neAgmTycWK4ls1rKjUiqo8jWxh3vd0w8KPXPaz0xCz5NiY4FpzGtQ3LHqd4SBa2svRLdrJogNLEPmpZGdQDeg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3QICCLTVAYCokU58Fu1KW8azrW2zPznMQ8q1onO/ez0=;
 b=EgPgYmzxQ8PvxaicwC1CsW2Uz6IyeKfKpRYDpGTdFqbUJdEKGws7tDfUb3Ac7wQoRrVa/cu863Mw9GFPmp4OJaVfXnwswl1qhzjzGSGIpmxBqMebceu1gsn04W1BrtYaCf9xS+rvXu14MR9kUMoaSDqQMen3wtdAL6NMbHx3KQNHbCaI+pqEPYfI4RIpJnmxPQ2NJXpa7AFAKRSg5KYgSakrYH+OwV5zaW/ALs1RX5/nf9UUHGAwNPxlSW7NPhVOWYKWfejBxFRlU0TDiUlC29YbRJ5qEEw4BlO8SkY6fObgFUM+C4OX6HQIY6TuWBz31+BhyQ13mACN+EJCazQAgA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3815d3ce-69e7-6fd0-8052-e396af567bd7@suse.com>
Date: Mon, 10 Jan 2022 17:31:28 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: [PATCH v3 14/23] AMD/IOMMU: allow use of superpage mappings
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Paul Durrant <paul@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
In-Reply-To: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR01CA0039.eurprd01.prod.exchangelabs.com
 (2603:10a6:20b:e0::16) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4a1aac83-c9bb-434d-02f8-08d9d456a92d
X-MS-TrafficTypeDiagnostic: VI1PR04MB5165:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB51657094554FE2BD53730DF0B3509@VI1PR04MB5165.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:
	+ackIdt8+kvYJbJilcDXHHroQQYVB/VQNg+P3m2q/4xcBiqSwe3pESc+/itxTLQ8mp/gbi30f2Y3njROejZl3fnHKSpIRpzpInkGS8fHq9x3tl95VebTbcV9vEaUwFo8pr6EkG5UATK0lF3trWgLgz7kfUp3mrrr7lhG4ieDOjSDwI5xF1wNKKLe7xChA1vJDwWaSn0Mdf0xIcblrgNyLNClhwnUV7LsiZcppq25kVeKgQ/MotcgjvKGWnBTH8e/DaQfO4xW0OOZJiBHDMzu/D0C051HDuJvuTaBhLJiP346grh1rEoIOJKqhdKiAAbVQBeOYMjxrboeNzDxxK/TzvvknWz0K51j8DD5jIOlyAAl8i0ovu9aqgFEeouempFLEuEpkO+cxyW8+xUj07eQ1Pg9Qlq9/UKgNrCi3+mPH7vL8vov0GRH5uMlcV+7fK4o7oNb//orNzhkSG3FUhDQMS4adSbYS4ccjWRKVikD+ilrMsrKMCgC9a3DeO8r4jiA3bdPAXzKDXZoejN8fHFFboxwv/wwJUaVIhmvy8HNdxwT22YDkjn8eeYsCt1zcK9jZLvkLK5g1r/uyh1tyxOwY7wjmqb1uYaP8Rl06hUPV3CT3yNbDDD0nlY8SWftGvo5gROEg2vD9Xw6W+EwtL7eMGflcDX7eYQC6ulTqAPnL81W2jGnon/6yjosaQ+NSsaKQTcAQcIOpkiqt5h2E2uePwgX61Gjma27IaE9bb13n+w=
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)(508600001)(6506007)(26005)(5660300002)(8676002)(83380400001)(38100700002)(2906002)(8936002)(6916009)(66476007)(2616005)(186003)(66946007)(54906003)(86362001)(6486002)(31696002)(36756003)(66556008)(31686004)(4326008)(6512007)(6666004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RmxaV2hNdVZwTkZESXQrMWdPRmFsSE9JTUJiRUFKZVJROVAvSk9VNmc2OGtE?=
 =?utf-8?B?bDdVbUlHM2tyVkcyays5YkRlakxSYngyTWQ1b3hzMHRPaERKb3hPYWl4dWhP?=
 =?utf-8?B?MGlKVGYzd3RFdDhYcGZORExTbnpTSWhGTjRQMVBoV2xaZzYxQ2tUcTBRblhU?=
 =?utf-8?B?VTluQTV3ditIR0VuclhycitpZHZNcFpDL05zS0hmVzN6Mm52L2xPVWNVTVky?=
 =?utf-8?B?T1VLQmJwTFFETkN1K3E0akdCaVUrMnl4Rzd2eXM4aWN4THpWWHEyZ01BK0lp?=
 =?utf-8?B?bEY0VW9KYzl1RzFrcmpjb0UvNkhPT0dWc0Vob09HREZGOG9BejY4Um1NUEpQ?=
 =?utf-8?B?SGJ6Wm10OWVrNFpNZHhYZDc3blFFSlRES0JvRmNtc2I2RmkxMEwyeU1nSWd1?=
 =?utf-8?B?SVpJNE5NejRId3o2R3RJVGppQmxxNjJyZFY5Kzd0TURGbUVIQjBOcThjc2pU?=
 =?utf-8?B?bjl2QkRqMFl6UzJRaGN1bmU3eGNiUlFicE9FTjZxMWkwWnJmc1diOEhyd0ZN?=
 =?utf-8?B?eWtKNDl4M2ZKRTZyTVl1U1gxN3hwWmIzbFNGUm0zNGNoWWV1MndmSXg4bjI2?=
 =?utf-8?B?SGZkaUxMUjc1dlZXOWRUV1hWYSthOEtzcyt1eHhGNEJyODVHQ1o2eVE0b1JI?=
 =?utf-8?B?SFBIMFFLMmVVcnNoZVE0RDJsK1p2SHVaSFBmbWhrckJQTWhqMStIRjZydFRZ?=
 =?utf-8?B?N0I2U3lpMEI4eFNYU1pJSE83akdIT2djUjRTWnB4RUZPV2plODl5N1dEMlVu?=
 =?utf-8?B?VG9RbzlIbWgrOTZsYk85bXk4RXprVG9NNkhrR1pEL1lyYWFUWmdTTTB4NHBo?=
 =?utf-8?B?dTJBYjk3U2NkS0hvVGJyd1NjZDhYQjQxOXlhbjV1bTJ4T2hMTUUwLzljSUtr?=
 =?utf-8?B?STBZTmt2V2VzOHhsbjAyYzF4dDBEOXh2OTlDWXJpZ3ZaYlhMdWc3WFF4aDlV?=
 =?utf-8?B?SHRZaFFKUE53bEdpeUZncklHNTNGVmRDM3ZuakNzanBWOHNMRHQwSnFNZUlt?=
 =?utf-8?B?QitEdjZtMDB2dmU0TU1xRDkwckZ2dDNxTHdIWW9QYXdxYSt5S2Zjemc0MWg0?=
 =?utf-8?B?RUxJNm8zKzhPRFFBRWEzYnRjT1hVaDFlZ3crTDZaK3JOckhtWGJKdnUwbTZ0?=
 =?utf-8?B?Wm5aSjlpYTB5L045YVZLbUlGakw0U1JTUGhDS3NXQ2hnKzZJZHVrU2lZeVFq?=
 =?utf-8?B?NEo5TXAzdkgrQXdXVVVVektieEhaZUFOVU9EU3VBWUtyZG42UGswR2g3U2lu?=
 =?utf-8?B?NzNYeEJCYnRvV2VxalFmWG5LNkxrdVQ2dHlBWDEvTi9SK1VEUml1TC9tZ1lM?=
 =?utf-8?B?MUxiVVFIb29PVEh0MTNNbVNLRjYvT2NQcldjQmdHc2h0WElxdDQ4MHFjNHpV?=
 =?utf-8?B?Z1U4dFJXM1NVZE9pcXpCQ21ZYVFVN0taUjFyRDdPNFlxQzVmckdnOWxlVFhG?=
 =?utf-8?B?cVVCUVhGeXZrUjhadjJpemlEUmQ4cDd1TlNpM1Rud1hGbHhkRlVuL0JtaHRy?=
 =?utf-8?B?Q1ZLZzJUa21VNHhMQU15NTQ4Z0JranF4bjhzbmtoeEQyNFVZcW93TTIzYWgv?=
 =?utf-8?B?Ykk2UUNjbVEwWisyMGJ4UmtOVWNwTHpjbjdzeUNqSE4rd3dpakJCMU44NEZJ?=
 =?utf-8?B?SkZvSUxxK2xiYTZRM1N4a2ZnRXErckNWMTJEaXpDYXA3alJuOW43Q0VEMHpp?=
 =?utf-8?B?OWZmVGs2L2tRa21sRXl4Vmh6eWYzbGZZZzlwcm9qYnRyaGlGcmRlZ2dPU2Y4?=
 =?utf-8?B?T29DbERtdmVVT2sxSE5SWm5PQSttVUU0YUVCYzVOQmErMFRFbUhpSlVhTW9y?=
 =?utf-8?B?Ym9mK2JXc3hrd1VXS0oraXc3WlV6WjdYbERxemNKc0VsclFYUnRpbk1ualdF?=
 =?utf-8?B?S21oR0pabTVKWXl6V1BkQXcxWVA1alNwNi8xaStpanY0ampYRU5QcmtlMkhz?=
 =?utf-8?B?OW1MaDc1dnhZSW01dWc0K3FnQXRRejRUTEFvdVY4YlRXNTZseHdoWk9IaTVI?=
 =?utf-8?B?eFVVZEdHT1N3eTMyemhXNUVsMEZNUlRIajVGaUpleTBxZTZUVVlOTTFjZkdw?=
 =?utf-8?B?cjlvY3BkZW9GV2J5UmdQOEpoL20xK1dJRGVvUHN2WVFUM0F1aU9JdHNlN2lK?=
 =?utf-8?B?c2ZuOVVmeFFBWDlrVm01Vy9GdEVhdTFZWjY1cGd4aTBuZHE5VFVWZFNlSnpP?=
 =?utf-8?Q?MYJpdiaDUNvOHgpmCgPgArw=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4a1aac83-c9bb-434d-02f8-08d9d456a92d
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 16:31:32.1150
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7ncVdYPrI5L3V6bsfRt5w70ePAN4YvU14kDYXw1IjLlV9/kgymMYuBNUiecMQbjUj2D8HBcnddFlpUu45LzORw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5165

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 would take quite a while when
replacing a tree of 4k mappings by a single 512G one. Yet then again
there's no present code path via which 512G chunks of memory could be
allocated (and hence mapped) anyway, so this would only benefit huge
systems where 512 1G mappings could be re-coalesced (once suitable code
is in place) into a single L4 entry. And re-coalescing wouldn't result
in scheduling-for-freeing of full trees of lower level pagetables.
---
v3: Rename queue_free_pt()'s last parameter. Replace "level > 1" checks
    where possible.

--- 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);
@@ -291,10 +292,31 @@ static int iommu_pde_from_dfn(struct dom
     return 0;
 }
 
+static void queue_free_pt(struct domain *d, mfn_t mfn, unsigned int level)
+{
+    if ( 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 < 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;
@@ -323,7 +345,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);
@@ -333,8 +355,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));
 
@@ -342,8 +364,13 @@ int amd_iommu_map_page(struct domain *d,
 
     *flush_flags |= IOMMU_FLUSHF_added;
     if ( old.pr )
+    {
         *flush_flags |= IOMMU_FLUSHF_modified;
 
+        if ( IOMMUF_order(flags) && old.next_level )
+            queue_free_pt(d, _mfn(old.mfn), old.next_level);
+    }
+
     return 0;
 }
 
@@ -352,6 +379,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);
@@ -362,7 +390,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_ERROR("invalid IO pagetable entry dfn = %"PRI_dfn"\n",
@@ -374,14 +402,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 ( order && 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
@@ -630,7 +630,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 Mon Jan 10 16:32:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 16:32:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255464.437768 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xal-00036P-Dt; Mon, 10 Jan 2022 16:32:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255464.437768; Mon, 10 Jan 2022 16:32: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 1n6xal-00036I-Au; Mon, 10 Jan 2022 16:32:19 +0000
Received: by outflank-mailman (input) for mailman id 255464;
 Mon, 10 Jan 2022 16:32:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6xak-00032f-2U
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 16:32:18 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dfcc7140-7232-11ec-81c1-a30af7de8005;
 Mon, 10 Jan 2022 17:32:17 +0100 (CET)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2057.outbound.protection.outlook.com [104.47.2.57]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-20-8x_ztHkUOqSlAf4NmA_hAQ-1; Mon, 10 Jan 2022 17:32:15 +0100
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.4867.11; Mon, 10 Jan
 2022 16:32:14 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 16:32:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dfcc7140-7232-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641832336;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=xbArZ4QUDoHrMtCaHYzaTxZfqcSN3GycWksPRq/4q2c=;
	b=cxNfXqWk2ucprU3UKp40Uhne2PJrEwAo2MR9KezEMfXEjMlaqO9WeUZ2eefMInqXHi/3ny
	wqFMlboSs0yDOHoZZtrmlMftgsJT/XFg0oX+fZdZkMbB+1F9jEXrsEB/PDnhsQLIJg73/Q
	Qw4KmYbYjRSAdJntZcuJqbKCJVplZuQ=
X-MC-Unique: 8x_ztHkUOqSlAf4NmA_hAQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CgK6vIRP+B/pYSgXtXyBYLxqYkkPqV/oB7Km37qnuVqwVOFFfqzOHK51sAtkTzPB/CiXzuK8cG4tyUU+wB8rYHCNSHdABxrpHUgTVX9TthHQap1uYWQMnRTcRBwoeS++NfSTCDxVtft+Yjlds8pJqzW5XarUCXrPRf/aRDNNY+ndn3RA9KpCoko58zh85zkBXOuGhydfvnTPvvVqQ57nzXDyGjiFS/qDw4SZ1rkgrKGaeDKOYwpY9NB+t76B/zEODJ+1KgHdxHQqPstobvqYEa89CA/zp4yl0awzdryfVw4jeah9CMMZy/wDYdxjSujJzJqf599wRpDZ2rc9BU380g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xbArZ4QUDoHrMtCaHYzaTxZfqcSN3GycWksPRq/4q2c=;
 b=Rm+TdryXIAeflmX67vblXyNAKXGQdyARtyQUPZEcq+WOz2tDTl4cmB6eItyxDquBEZFthkbFzXEALpELLYJSLptHiMW3wnmTgTEj92xJ/MBjZMs4qbhIIGoZryuKEliZhhhHaGBGlQDziCNolgbdXqt96hf8o06Rgq6KqPMsZsXU2WLKN5gSltuzlOc4hRulfqs2sSdn2G7ev6DaWowxK6dsTrIO+mDLpAfyou7KiNr5irmXHngyzgKzE/FjEPlGoYRzqPCMPfEU/M8c1bzIJIC4RIKdtOapMs9w+m1bvlODiUysjGOg/biRonRDBJbkZbuVPvpdrFbmsYaj2+tjVA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <19531402-6392-c730-08a0-20e2a4ba71f4@suse.com>
Date: Mon, 10 Jan 2022 17:32:12 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: [PATCH v3 15/23] VT-d: allow use of superpage mappings
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Kevin Tian <kevin.tian@intel.com>
References: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
In-Reply-To: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR04CA0035.eurprd04.prod.outlook.com
 (2603:10a6:206:1::48) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 08097f97-93f1-48fa-2544-08d9d456c24e
X-MS-TrafficTypeDiagnostic: VI1PR04MB5165:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB516541A4264861B302D56F38B3509@VI1PR04MB5165.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:
	mBTmlrxtnrkStIZcffnNLEMdU5W9kJXvVDMkCamJGGoK+YyIaWQA+ByQpeiznVS+Cx9TUjRPpeZQuhzMxz7+Uk1L8LQ4tk1gPfD5k2EBnbZj1fVvOJPrF7/InPjeKzI6eR1cvqDQ0T2JkAR9QRtH9htW6VebWNBfChQfgn7KqF8qTbBCm3FxtWoWwqHV3DGPeimxN9clKrR8dryEZ7ScY3DJideqp0FFmczBbPwIRKMZGuUNwFjnYmo/mnN0WcGAbF8hcbTQnD0RCAE5/V2zbVrheDHh1juXSNdKISsHbybaiBxtlfVPeiNTcMhQmkdDwbwE0sL8nljanxSUXRwA1XVOxEmgdWU1Nv2POzzhmbiu8JO/yqsUTJfvs7L0+brzZAC8p1u6ysMLXbAPq2ol3zYu+Ku5n5acElGlKdU9mAEtmGiscnzrqxOuwn6nGQojdJn9+cRKNiU5UQaXESYptdk/AwUBMIBre3IYq/u6Ndd9tqzKAdqulftcn1djEiGdGhK524XpLJsAJi7ufim9xl0rPvmsLmUWG4Bb9pSpkGQWf0KwP0Q8mGD0glTr6vyppo22bIlR9B03cugiSuIeP3c72CpLpfbmEdWXIqKHUbD5+BstlZyNPEXA+ro5WNdjag0Cp1tNfjKDK1d9VZkk6GKhbX358b1haguSg4DVtcPSQAWEQOXJJ/0EVm9zNSdbn3Lj0mG/kp/RamwThmPV0oSnypXsMyDB868gYcqb1ea95RPBG1o9/N6r8QCbEUXg
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)(508600001)(6506007)(26005)(5660300002)(8676002)(83380400001)(38100700002)(2906002)(8936002)(6916009)(66476007)(2616005)(186003)(66946007)(54906003)(86362001)(6486002)(31696002)(36756003)(66556008)(31686004)(4326008)(6512007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d2dnYzdkQm9FRzdCR21BUzRvdkdrSVcraGlONFVYb0kwVk5ENC9WYmJHSWlQ?=
 =?utf-8?B?eXJTZ0t3MHl0VS9kZDlLWU5XSDV6eVFqSmUxN3VMMGFBczR4Y1ByMnVnOVFX?=
 =?utf-8?B?SGU5U0Nhbk9YRUpmTlNFQVh5eFJpL3BGbkFKVGszRzloREVIVTJ5N3dIa2hV?=
 =?utf-8?B?cUlnVEFpd1JRT0dVT3VrUitSeUVLSlBXM25ENmhiS0g4Z2JuTnNIS1ZObHlw?=
 =?utf-8?B?STJ4MVFlcDYrUTYwaTZnS2hXQkpUbWgwRnNMdjhzd0VMUWh1VVRYODk2bG1K?=
 =?utf-8?B?ZWZjUWZrbSs5S3QzalU2clYrTGhwWWljRUtkcGZraW5lV0F3SE1uSU1TYWxZ?=
 =?utf-8?B?aFVzR2syQjB2RXJ1Unp3RUFzcVV1a1FZV042OUFvUzN0YURrc04xQkFZMlBi?=
 =?utf-8?B?R1pzR1pLaCtzRW92N3VjK1hTVWc0eG9TZk5qeHQrN1NYNld5ODV5UzZKMXNo?=
 =?utf-8?B?MGJlRXNlSjk4SktPN2pkYktiWkUrTnk1eUhhVm5KWmwxRkxzQmdaeE5ReUFD?=
 =?utf-8?B?bVcyODA4QzNiL2xBQlJZMG1rUzNQWGpGZmdZZE40cHZqN2xZd1NXaE1JVHBz?=
 =?utf-8?B?RzEzOWxCdTFCRWsybUZHUm5ENnBRWkdmeTFYV0dGOG53M1cvWlRVbVlrclBY?=
 =?utf-8?B?SGxlTFFlNVlQMW53d0ZZZ0JZRUFKbGpTL0dLRldvV1pwc2tNbklYa0h1elI5?=
 =?utf-8?B?Z3FFUnAwNnd1N2RaNnVRcU8yVEozRUxvSC9UdVZmMG1qbk0rV21HUVBScUp4?=
 =?utf-8?B?N2VTSS9JamdsR01sRkMzRi9Edm56TytmT0NoUS9zNmlMRzFIeVVqL1hESndi?=
 =?utf-8?B?UzhlbFQyb2l3QUw5QlA5dk12YUFPRmZYTTl0YjQ5RGlEOWVxaFNqNDVVaWdB?=
 =?utf-8?B?Ull5S29PZ1VqUjFBNXpjbWFkcEhZUmp3cXZhU0k0aVdrSWlhN2tvTktnSGVy?=
 =?utf-8?B?U0Z4SU9IVzltMGhFQ3YwSzNKZ1lPeFpsQWlMdjlZNC9HTEdkZHBvUnFjc2hJ?=
 =?utf-8?B?eDNveDZIS2VWMU1NVUU2NFdFZGlTeEVaZ0l3SWZoMHJnSjN2SHg5UUtiRDVh?=
 =?utf-8?B?ZDVnQ1RmeTBLS1hOdkRpRnl3czZqTHhTUHdNa2FCQ1QrdS81cWVqNFBId2R2?=
 =?utf-8?B?QS9Mc3FDZ3oxWUZTVG4xcTNMRkxLQTRNTm5MaGZjanVNNllBTytTZktPM0hQ?=
 =?utf-8?B?V29mY2VnUFN3Y0MxdzBnSi9lekRGZHI3cE4rZVV6MTdnOG84d2JtRzhxNFhB?=
 =?utf-8?B?Y2ZEVGh0dFZjT3FPUHVacGo3eUNXcTYxL0dhSnZDK2YvMjBNSVZZcXBUNnBy?=
 =?utf-8?B?anNPcGpKdUE0cU9HRjhvdnMxZTZncTl4MG5VRkUvbTZrY3J5bUpNVVRsZm5m?=
 =?utf-8?B?NU54OEpEd1pPR3NqdDBWbXYrKzZvN3E5SEk2elNlRU90N0ZBQXFHQTU3SzF6?=
 =?utf-8?B?WTBjMWFJVWFwZVM2bXhPL3Yra003MU5BenRyUzZjRUF4aUVldnZhMThkdXFn?=
 =?utf-8?B?TTYxOUNjNVk0TDRUSmpZMGQ3Q3M5UnFPcnFwei9XejArNnlXdXg5ODBRSVc5?=
 =?utf-8?B?MG9xWEJ4d1IwVDZGQmJNNTlnS2o2Slc2SGNPMXkzS0Y5NS9qa3FEajVwa2Fm?=
 =?utf-8?B?L0xMU1RIU1l0WWtLaVU3blNGUWFkelg4MVVtWnpXenZIbXFhZ2xmTFZNTWRW?=
 =?utf-8?B?aFlnNnBHS0hRMk9kZEpWQ2R6NytmbnVTdWkwZDFnamRpa0ZuUWJHenE4L05P?=
 =?utf-8?B?Tng2NDNWSUl3R2liR3lVSVgxMWpObmlaek1qak8vMjVpaFdxbWd0UFR4NVNO?=
 =?utf-8?B?VFhzVTRGVDBBRldienlWRGl6WTNlYmRQeXBXOUpKdVZKN0ZkWlRERVNpQ0lG?=
 =?utf-8?B?S3U2bytuVnpSdFZSaXJ3ZzNJcm5oNmFaUzZRSDBtV0xJTUEvTm9DNHRVUzlP?=
 =?utf-8?B?N0VYa3lsT2FJUnFEamd1QzMxK0hBbU5LSG9WMC8rcWJ3N2JLNWx4emVhWTk5?=
 =?utf-8?B?OXBUdm1lVFUra0YxcGh3VE5WMkVSTDByc1dkb2FEVlBpK2RJd3l4WEY5L3BE?=
 =?utf-8?B?TDRxRlFPQkVhNEgyaFpodnAvUDQ5Sk9UY3hkQ2tlM0FsMnplQmdpeFVVSVYx?=
 =?utf-8?B?TXB4bldFVldCdzFEYWF0OTNBTjd2TUdBc2hGNHYwUFpFNGJoUjZaT0pOVWh6?=
 =?utf-8?Q?xQrK8fGSLWr6CjisAP31Bik=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 08097f97-93f1-48fa-2544-08d9d456c24e
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 16:32:14.2742
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7zJ3jpHadKtD+kUZYl0OrB0HbZl2XnndDEQBXYavsHOfo8ARCAX0BoOEL/02ABxmUV6inZOkWw0hJU3IBXUtMw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5165

... 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>
---
v3: Rename queue_free_pt()'s last parameter. Replace "level > 1" checks
    where possible. Tighten assertion.

--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -826,18 +826,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 level)
+{
+    if ( 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])),
+                              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);
@@ -845,7 +864,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) )
     {
@@ -854,14 +873,20 @@ 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 ( order && !dma_pte_superpage(old) )
+        queue_free_pt(domain, maddr_to_mfn(dma_pte_addr(old)),
+                      order / LEVEL_STRIDE);
+
     return 0;
 }
 
@@ -1952,6 +1977,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 */
@@ -1976,7 +2002,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 )
     {
@@ -1985,13 +2011,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 )
@@ -2012,8 +2040,14 @@ static int __must_check intel_iommu_map_
 
     *flush_flags |= IOMMU_FLUSHF_added;
     if ( dma_pte_present(old) )
+    {
         *flush_flags |= IOMMU_FLUSHF_modified;
 
+        if ( IOMMUF_order(flags) && !dma_pte_superpage(old) )
+            queue_free_pt(d, maddr_to_mfn(dma_pte_addr(old)),
+                          IOMMUF_order(flags) / LEVEL_STRIDE);
+    }
+
     return rc;
 }
 
@@ -2370,6 +2404,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;
 
@@ -2412,6 +2447,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;
@@ -2483,6 +2523,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;
@@ -2797,7 +2840,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 Mon Jan 10 16:33:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 16:33:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255472.437779 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xc4-0003oK-SH; Mon, 10 Jan 2022 16:33:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255472.437779; Mon, 10 Jan 2022 16:33:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xc4-0003oD-PL; Mon, 10 Jan 2022 16:33:40 +0000
Received: by outflank-mailman (input) for mailman id 255472;
 Mon, 10 Jan 2022 16:33:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6xc3-0003o2-1b
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 16:33:39 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0fbf5461-7233-11ec-9ce5-af14b9085ebd;
 Mon, 10 Jan 2022 17:33:37 +0100 (CET)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2054.outbound.protection.outlook.com [104.47.6.54]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-40-IWMMMqD9PSWei6ryMI8xMA-1; Mon, 10 Jan 2022 17:33:36 +0100
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.4867.11; Mon, 10 Jan
 2022 16:33:35 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 16:33: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: 0fbf5461-7233-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641832417;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=TMcCsqYvPaJph7KL+A038l2t3+7JxYhFMgkn6iz2Gsg=;
	b=i1uK67vx7TRt/xY0Ec9jxNzHH2ooXEABMmdrtwbK0ao62SctfyvrPbeHUU3GKvY8kUUsO5
	5opKgbLUEq+CWKBTjREpxpta0mX1siHMLWXycgcy/nto7FK85yeoIKvtGpjuGEnEmyF2UF
	Mvl3mFVWPKk8gwjpdtnQecREfRPmjLo=
X-MC-Unique: IWMMMqD9PSWei6ryMI8xMA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kHAItKU3tBpn4gqgL8M2uQGfqWW8sC1o5o90+NaBGj0sKrpmhNWqUodT8NoJhqpKf4lDhmqmS3OSkUSf9NvhBA2E4IlreaT/mIni150GM1pN5c3LK+1YsyxVeC8VlO5cZvNAeyxW78VJDWDuDiuULH8S76GqI1sCXmcAshI3WWad553gk7ho9lChRjO4BYA1LiyLrwee/ZyGYcLPzFgrGpeOovzsXfGKYkdqTVNMQ3fPaneCarZF38UppJf/lFA0t20xXYHrcyLPWPl8JTFAomosWbc1JrNV1/SuYIPHA09RURJCDhEvXp7WicaZSdBXe7tH82hIansp0PB3Q9sZRg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/tpBpL55vIqk8+z9SUDwNGDspJB0Y68PF3yq89xNj5Q=;
 b=DWqW+nJSzVoUdTPFuyDsJCzNUZIcjL1PbS9vDX8sTXNaFersMC6k/msxceiY22zcBauqNUndfxRL6/FABaFArEfkkuAreNeGkVsXJOwKkm/O0+EaoIwWMuIe95O0zmQV9zubicnzWi84AHJL5em8Fn6NJtJ8sAxD8oGZ2w/RpF6AXRj2lHWqHFqKp4yXMhe2pifocn9eRUB+VfmCdYG8k1GaZ3kfXeCjdXq3UHAcKDihaFVjVxyh8uTYPK4+Gr6khNWjyLNAbLaonRyI78ztAKidHHryIPsPx1jm0CcwLYM6O/eqpe4Tpgi8jRf5W8UQiVcZduwIFktpqsjD+bGIbg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3576e89e-4297-aad9-9523-58d4a48f6ab8@suse.com>
Date: Mon, 10 Jan 2022 17:33:33 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: [PATCH v3 16/23] IOMMU: fold flush-all hook into "flush one"
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Kevin Tian <kevin.tian@intel.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Rahul Singh <Rahul.Singh@arm.com>
References: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
In-Reply-To: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS9PR06CA0094.eurprd06.prod.outlook.com
 (2603:10a6:20b:465::7) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3e7d1817-15c2-44cd-01b0-08d9d456f26a
X-MS-TrafficTypeDiagnostic: VI1PR04MB5165:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB5165792004888AC29ABA06B0B3509@VI1PR04MB5165.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:
	2k8rwGpbBRRXiaoEFSAYf++zQgAILePKY5dfNIcr6uufaYXxRV0c1yh1sko9d9aNAVMN38l135xWPN70rNTyUpgphkTSjAKeXfZplmCCCMoknhuSjldmllmhVtkrAI2vtUvhZQIUX46+G8O26Ju36RxjTDKpw2eSqu6jsd9PJTnplYwn5CP2neHc6IIKY4ChbqUNl6ELmeaPB6HYn3wCAHbQrGuUbiY87LlWQaVuoweVnSXj0qy7H2KOW1Vc313U3L9Ocu6LVEb8XvSMYE6rQh3M2dsreEKe2iEmqsj+KvzxYhYdPyNjG/+VFhKYUFDvQMIvH9DBINdsSRH82jMvWJ5j3Wrpns5VkCwGAN3++LV2S2YUM421Zn/u7LI27KYX5DJqpMtIpun6LsP9WH7Vj+1FLJsl/0nd/4fks2a5cEo/w/cuTe9NLgmL04AsnoUWRpJzgVs10EoeAdyJpD4XDNU3yP762Pc6UcVucFByXvb2/II0pWUs0PlnBREkPY2zw062DS8bULoersLzENJVUB6oMjlJmY9jIORD94dJbkKdB80qSyDbGneO/jQvzoggnfmtFnSb1YNAyLmcKkTA+rsAHnMTNUY2qZCKJxnyj/PHu3berN3Wyiv2TBKgd8naeg1MeZCJgA8ajYA2L38CiBtzp9G44y6e5bDZQXitlyjfrEP+9ocuK2VT68EQMrq8WCjavdtD4yIhqBIPSuwsGPztH7JUBORt3CT0R5YUCBquKzh4gsrcAClBnAo06lcy
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)(66946007)(2616005)(8936002)(54906003)(6916009)(66476007)(6512007)(4326008)(66556008)(31686004)(6486002)(86362001)(31696002)(36756003)(6506007)(508600001)(26005)(5660300002)(7416002)(316002)(38100700002)(2906002)(83380400001)(8676002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?8LaOaKbMscJqRbRd8phauuY54qK50cp32jnNfIi9x2f7W+ilm5+94sOqW3tn?=
 =?us-ascii?Q?QISqeD3ZzfwRs1TT9CBnE/G4RBhQchBNgVSXPlpjHGsKISSviijK//pEiBmE?=
 =?us-ascii?Q?l1yqxwWTPa/G+b9pRRU2znSVasm54HAx4dom/FueSF7E8I22wzz7Cicbg7X5?=
 =?us-ascii?Q?dkR1KJ/T5Tfa57bM2Tr+a1nynkDZwkewW1GA/bJxgJ2V8nIyraEe8aSwFIDR?=
 =?us-ascii?Q?pu0XJnyJhsfqRX5TbreaJJ7xXDjytmajbcrW8BZMfFWr7c1uyHAIdVBc59Y5?=
 =?us-ascii?Q?JWiBb+0vUrIWxeRXJNRgJ4vyiDViMdm678bZLs/wBQyE/PJbFKo4EYcoamqg?=
 =?us-ascii?Q?IkPj4cR6HkjGA/M6I6kyF/37SdsiotoO4ZSuruDYSbhpKTIthtl5m6myoqqu?=
 =?us-ascii?Q?/5NNEhZizTCC1+aZcsVI+vYzWkwkKPY/1KcpbwQqWr6vbDXVFRduhrWBT5p3?=
 =?us-ascii?Q?WQOsBNaWJeJ+LyHVzlefuA42kwNM10LwN/oLd/HiH7uvU850K3GW0XqFF011?=
 =?us-ascii?Q?RelyZ9l64+aPh7mnwuRqkSpDlHGdjId0R21Ex1fDT3TWOFxUJxgkXkioTJ+N?=
 =?us-ascii?Q?Tkast3uU3EffVP0e7YpKt2MNfX6mJMsSze6vlqTsaX057drlH+wUT+K1T5dx?=
 =?us-ascii?Q?u9HhqyMbBb9Kgc1TzN/KcfLGH+aDR7DQy0tdWZAqdz6xw0ExX64ObTIMzXZp?=
 =?us-ascii?Q?rwIjpRCuDrpXLTXaeVhbq+FovwSBASNHTBV4TJELtmLh1FZBjvFZYgSYKdAS?=
 =?us-ascii?Q?0YkgMjDKOsdZedU8ScT8HsXr+S1XPocIsi/LGDymZrrvgCyy1uroJcilREAJ?=
 =?us-ascii?Q?TXP3OejI4BGd+FMYEeB6mrmXjG6SRWI2fo/bkK2owr8NmNPxzEDOtEO4urBy?=
 =?us-ascii?Q?jV+0jj5SEDXIxe5vHs1X4YISYY3FqPbGKr6P/DADgDFMS5vGnwWoBRVDzOvV?=
 =?us-ascii?Q?Qq581VFd5gMzrQWX/RSl++FP0PBWvGpS/RbTn9U8CTH0VrNbubqUVTyVWZQw?=
 =?us-ascii?Q?U7rBc8fu4jUxIQk6sq0RlY2KfB5C93sUz8uiZnitc3iNxbjEgm4gsLOzc7om?=
 =?us-ascii?Q?EbO5Eq5JjcDsLSP+n1kz80UAy0HXwCWPzKzSsOQYXPvcjF4G+AjkkaaHHXXw?=
 =?us-ascii?Q?HK2KlybDJrkuRz+9sP6PA0KLmPwLwGMgNAIwIH/QSeBS6CKWKgrbis29sOKH?=
 =?us-ascii?Q?aKv2eKCm2NXYFE+JZR4Pr7wimTnCuYc8N2BH5+4++27Jlcm8y9eAvfA9Xf3u?=
 =?us-ascii?Q?WZ5sWr4Jk0zaDF4YTawevy9FV7qGLS9XLjC8Tkj4eRrG/harfdu7M4oEvkDP?=
 =?us-ascii?Q?BwQdPXpC/ApeJppIOfJtd/kQtAocoUVJgxkZt18pGej76CmJz7d+BYpWIeuW?=
 =?us-ascii?Q?cxFoaPRCPMfFxcXwySc50CHrSFazAOODQPBmx/4gMVS11RtpmSZSXNOPRuOj?=
 =?us-ascii?Q?D6wiEe2um4GEwsJdVmiCl6z3cldKGkEs0qwHlkEPArRw3S3CQcXs9vvK/6P4?=
 =?us-ascii?Q?/N/03/8Vcz4YZGJaEth7OLF158Ply5jwGTGYlRJUTWzCyjryfz9jjbIfnzh/?=
 =?us-ascii?Q?Ol6xceORlcjK/O6E9graNh1+vVeIE28c6w4BVZwTggCq7iouozaZ/cbv9qpU?=
 =?us-ascii?Q?YbbjSnw5/F55Ti6Ful4KDf4=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3e7d1817-15c2-44cd-01b0-08d9d456f26a
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 16:33:35.0064
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Af7th0oCJsafAWZR1CRqJlpWkPL4fvQ+9M50SZ31WM0hBjlEgJiTg+5PgJoLDQT2gNmoAO80OYx8xvyf6U2gRQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5165

Having a separate flush-all hook has always been puzzling me some. We
will want to be able to force a full flush via accumulated flush flags
from the map/unmap functions. Introduce a respective new flag and fold
all flush handling to use the single remaining hook.

Note that because of the respective comments in SMMU and IPMMU-VMSA
code, I've folded the two prior hook functions into one. For SMMU-v3,
which lacks a comment towards incapable hardware, I've left both
functions in place on the assumption that selective and full flushes
will eventually want separating.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
[IPMMU-VMSA and SMMU-V2]
Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
[SMMUv3]
Reviewed-by: Rahul Singh <rahul.singh@arm.com>
[Arm]
Acked-by: Julien Grall <jgrall@amazon.com>
---
TBD: What we really are going to need is for the map/unmap functions to
     specify that a wider region needs flushing than just the one
     covered by the present set of (un)maps. This may still be less than
     a full flush, but at least as a first step it seemed better to me
     to keep things simple and go the flush-all route.
---
v3: Re-base over changes earlier in the series.
v2: New.

--- a/xen/drivers/passthrough/amd/iommu.h
+++ b/xen/drivers/passthrough/amd/iommu.h
@@ -255,7 +255,6 @@ int amd_iommu_get_reserved_device_memory
 int __must_check amd_iommu_flush_iotlb_pages(struct domain *d, dfn_t dfn,
                                              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 d=
ev_id,
                              dfn_t dfn);
=20
--- a/xen/drivers/passthrough/amd/iommu_map.c
+++ b/xen/drivers/passthrough/amd/iommu_map.c
@@ -478,15 +478,18 @@ int amd_iommu_flush_iotlb_pages(struct d
 {
     unsigned long dfn_l =3D dfn_x(dfn);
=20
-    ASSERT(page_count && !dfn_eq(dfn, INVALID_DFN));
-    ASSERT(flush_flags);
+    if ( !(flush_flags & IOMMU_FLUSHF_all) )
+    {
+        ASSERT(page_count && !dfn_eq(dfn, INVALID_DFN));
+        ASSERT(flush_flags);
+    }
=20
     /* Unless a PTE was modified, no flush is required */
     if ( !(flush_flags & IOMMU_FLUSHF_modified) )
         return 0;
=20
-    /* If the range wraps then just flush everything */
-    if ( dfn_l + page_count < dfn_l )
+    /* If so requested or if the range wraps then just flush everything. *=
/
+    if ( (flush_flags & IOMMU_FLUSHF_all) || dfn_l + page_count < dfn_l )
     {
         amd_iommu_flush_all_pages(d);
         return 0;
@@ -511,13 +514,6 @@ int amd_iommu_flush_iotlb_pages(struct d
=20
     return 0;
 }
-
-int amd_iommu_flush_iotlb_all(struct domain *d)
-{
-    amd_iommu_flush_all_pages(d);
-
-    return 0;
-}
=20
 int amd_iommu_reserve_domain_unity_map(struct domain *d,
                                        const struct ivrs_unity_map *map,
--- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
+++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
@@ -642,7 +642,6 @@ static const struct iommu_ops __initcons
     .map_page =3D amd_iommu_map_page,
     .unmap_page =3D amd_iommu_unmap_page,
     .iotlb_flush =3D amd_iommu_flush_iotlb_pages,
-    .iotlb_flush_all =3D amd_iommu_flush_iotlb_all,
     .reassign_device =3D reassign_device,
     .get_device_group_id =3D amd_iommu_group_id,
     .enable_x2apic =3D iov_enable_xt,
--- a/xen/drivers/passthrough/arm/ipmmu-vmsa.c
+++ b/xen/drivers/passthrough/arm/ipmmu-vmsa.c
@@ -930,13 +930,19 @@ out:
 }
=20
 /* Xen IOMMU ops */
-static int __must_check ipmmu_iotlb_flush_all(struct domain *d)
+static int __must_check ipmmu_iotlb_flush(struct domain *d, dfn_t dfn,
+                                          unsigned long page_count,
+                                          unsigned int flush_flags)
 {
     struct ipmmu_vmsa_xen_domain *xen_domain =3D dom_iommu(d)->arch.priv;
=20
+    ASSERT(flush_flags);
+
     if ( !xen_domain || !xen_domain->root_domain )
         return 0;
=20
+    /* The hardware doesn't support selective TLB flush. */
+
     spin_lock(&xen_domain->lock);
     ipmmu_tlb_invalidate(xen_domain->root_domain);
     spin_unlock(&xen_domain->lock);
@@ -944,16 +950,6 @@ static int __must_check ipmmu_iotlb_flus
     return 0;
 }
=20
-static int __must_check ipmmu_iotlb_flush(struct domain *d, dfn_t dfn,
-                                          unsigned long page_count,
-                                          unsigned int flush_flags)
-{
-    ASSERT(flush_flags);
-
-    /* The hardware doesn't support selective TLB flush. */
-    return ipmmu_iotlb_flush_all(d);
-}
-
 static struct ipmmu_vmsa_domain *ipmmu_get_cache_domain(struct domain *d,
                                                         struct device *dev=
)
 {
@@ -1303,7 +1299,6 @@ static const struct iommu_ops ipmmu_iomm
     .hwdom_init      =3D ipmmu_iommu_hwdom_init,
     .teardown        =3D ipmmu_iommu_domain_teardown,
     .iotlb_flush     =3D ipmmu_iotlb_flush,
-    .iotlb_flush_all =3D ipmmu_iotlb_flush_all,
     .assign_device   =3D ipmmu_assign_device,
     .reassign_device =3D ipmmu_reassign_device,
     .map_page        =3D arm_iommu_map_page,
--- a/xen/drivers/passthrough/arm/smmu.c
+++ b/xen/drivers/passthrough/arm/smmu.c
@@ -2649,11 +2649,17 @@ static int force_stage =3D 2;
  */
 static u32 platform_features =3D ARM_SMMU_FEAT_COHERENT_WALK;
=20
-static int __must_check arm_smmu_iotlb_flush_all(struct domain *d)
+static int __must_check arm_smmu_iotlb_flush(struct domain *d, dfn_t dfn,
+					     unsigned long page_count,
+					     unsigned int flush_flags)
 {
 	struct arm_smmu_xen_domain *smmu_domain =3D dom_iommu(d)->arch.priv;
 	struct iommu_domain *cfg;
=20
+	ASSERT(flush_flags);
+
+	/* ARM SMMU v1 doesn't have flush by VMA and VMID */
+
 	spin_lock(&smmu_domain->lock);
 	list_for_each_entry(cfg, &smmu_domain->contexts, list) {
 		/*
@@ -2670,16 +2676,6 @@ static int __must_check arm_smmu_iotlb_f
 	return 0;
 }
=20
-static int __must_check arm_smmu_iotlb_flush(struct domain *d, dfn_t dfn,
-					     unsigned long page_count,
-					     unsigned int flush_flags)
-{
-	ASSERT(flush_flags);
-
-	/* ARM SMMU v1 doesn't have flush by VMA and VMID */
-	return arm_smmu_iotlb_flush_all(d);
-}
-
 static struct iommu_domain *arm_smmu_get_domain(struct domain *d,
 						struct device *dev)
 {
@@ -2879,7 +2875,6 @@ static const struct iommu_ops arm_smmu_i
     .add_device =3D arm_smmu_dt_add_device_generic,
     .teardown =3D arm_smmu_iommu_domain_teardown,
     .iotlb_flush =3D arm_smmu_iotlb_flush,
-    .iotlb_flush_all =3D arm_smmu_iotlb_flush_all,
     .assign_device =3D arm_smmu_assign_dev,
     .reassign_device =3D arm_smmu_reassign_dev,
     .map_page =3D arm_iommu_map_page,
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -3431,7 +3431,6 @@ static const struct iommu_ops arm_smmu_i
 	.hwdom_init		=3D arm_smmu_iommu_hwdom_init,
 	.teardown		=3D arm_smmu_iommu_xen_domain_teardown,
 	.iotlb_flush		=3D arm_smmu_iotlb_flush,
-	.iotlb_flush_all	=3D arm_smmu_iotlb_flush_all,
 	.assign_device		=3D arm_smmu_assign_dev,
 	.reassign_device	=3D arm_smmu_reassign_dev,
 	.map_page		=3D arm_iommu_map_page,
--- a/xen/drivers/passthrough/iommu.c
+++ b/xen/drivers/passthrough/iommu.c
@@ -455,15 +455,12 @@ int iommu_iotlb_flush_all(struct domain
     const struct domain_iommu *hd =3D dom_iommu(d);
     int rc;
=20
-    if ( !is_iommu_enabled(d) || !hd->platform_ops->iotlb_flush_all ||
+    if ( !is_iommu_enabled(d) || !hd->platform_ops->iotlb_flush ||
          !flush_flags )
         return 0;
=20
-    /*
-     * The operation does a full flush so we don't need to pass the
-     * flush_flags in.
-     */
-    rc =3D iommu_call(hd->platform_ops, iotlb_flush_all, d);
+    rc =3D iommu_call(hd->platform_ops, iotlb_flush, d, INVALID_DFN, 0,
+                    flush_flags | IOMMU_FLUSHF_all);
     if ( unlikely(rc) )
     {
         if ( !d->is_shutting_down && printk_ratelimit() )
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -814,18 +814,21 @@ static int __must_check iommu_flush_iotl
                                                 unsigned long page_count,
                                                 unsigned int flush_flags)
 {
-    ASSERT(page_count && !dfn_eq(dfn, INVALID_DFN));
-    ASSERT(flush_flags);
+    if ( flush_flags & IOMMU_FLUSHF_all )
+    {
+        dfn =3D INVALID_DFN;
+        page_count =3D 0;
+    }
+    else
+    {
+        ASSERT(page_count && !dfn_eq(dfn, INVALID_DFN));
+        ASSERT(flush_flags);
+    }
=20
     return iommu_flush_iotlb(d, dfn, flush_flags & IOMMU_FLUSHF_modified,
                              page_count);
 }
=20
-static int __must_check iommu_flush_iotlb_all(struct domain *d)
-{
-    return iommu_flush_iotlb(d, INVALID_DFN, 0, 0);
-}
-
 static void queue_free_pt(struct domain *d, mfn_t mfn, unsigned int level)
 {
     if ( level > 1 )
@@ -2928,7 +2931,7 @@ static int __init intel_iommu_quarantine
     spin_unlock(&hd->arch.mapping_lock);
=20
     if ( !rc )
-        rc =3D iommu_flush_iotlb_all(d);
+        rc =3D iommu_flush_iotlb(d, INVALID_DFN, 0, 0);
=20
     /* Pages may be leaked in failure case */
     return rc;
@@ -2961,7 +2964,6 @@ static struct iommu_ops __initdata vtd_o
     .resume =3D vtd_resume,
     .crash_shutdown =3D vtd_crash_shutdown,
     .iotlb_flush =3D iommu_flush_iotlb_pages,
-    .iotlb_flush_all =3D iommu_flush_iotlb_all,
     .get_reserved_device_memory =3D intel_iommu_get_reserved_device_memory=
,
     .dump_page_tables =3D vtd_dump_page_tables,
 };
--- a/xen/include/xen/iommu.h
+++ b/xen/include/xen/iommu.h
@@ -147,9 +147,11 @@ enum
 {
     _IOMMU_FLUSHF_added,
     _IOMMU_FLUSHF_modified,
+    _IOMMU_FLUSHF_all,
 };
 #define IOMMU_FLUSHF_added (1u << _IOMMU_FLUSHF_added)
 #define IOMMU_FLUSHF_modified (1u << _IOMMU_FLUSHF_modified)
+#define IOMMU_FLUSHF_all (1u << _IOMMU_FLUSHF_all)
=20
 int __must_check iommu_map(struct domain *d, dfn_t dfn, mfn_t mfn,
                            unsigned long page_count, unsigned int flags,
@@ -282,7 +284,6 @@ struct iommu_ops {
     int __must_check (*iotlb_flush)(struct domain *d, dfn_t dfn,
                                     unsigned long page_count,
                                     unsigned int flush_flags);
-    int __must_check (*iotlb_flush_all)(struct domain *d);
     int (*get_reserved_device_memory)(iommu_grdm_t *, void *);
     void (*dump_page_tables)(struct domain *d);
=20



From xen-devel-bounces@lists.xenproject.org Mon Jan 10 16:35:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 16:35:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255476.437791 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xdQ-0004PN-7Z; Mon, 10 Jan 2022 16:35:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255476.437791; Mon, 10 Jan 2022 16:35:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xdQ-0004PG-47; Mon, 10 Jan 2022 16:35:04 +0000
Received: by outflank-mailman (input) for mailman id 255476;
 Mon, 10 Jan 2022 16:35:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6xdO-0004P6-Qo
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 16:35:02 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 41c4b10f-7233-11ec-81c1-a30af7de8005;
 Mon, 10 Jan 2022 17:35:01 +0100 (CET)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2177.outbound.protection.outlook.com [104.47.17.177]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-28-G_RGMA0_PiKPtrtePztdFg-1; Mon, 10 Jan 2022 17:35:00 +0100
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.4867.9; Mon, 10 Jan
 2022 16:34:58 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 16:34:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 41c4b10f-7233-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641832501;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=YBCzwC2eZDK7d/zI6qt9LH0Bqw+U19RhaUIYaoWX8qk=;
	b=jxJFinby71aoj1f5pdHDtRC4Dre8WNwFno1pJ8BNA0VqOfLd/xoPAck6HI7FISltZmHJtD
	wZe17kunZtbYe6HwC0ozF6Xcxv5mPunQKD7eCW8Eu5U/b/Fba57oFFdKpMY6xLwkCCLlXV
	VJJDKtPp0NiGVzQmC3GdRfv3gNyJy/E=
X-MC-Unique: G_RGMA0_PiKPtrtePztdFg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=i8ycSrsWKX3BlW8E+kD13GxI0mjfQM6h1NHwk8v3U66/CfGUn9+jWKdpBaQRz2gYvzDIw0xc3jSaIVXkRAoFMBVN/qtA/AFbHvo3ufri9AXqlvOMFIZVTa9qf2zXqkPWwW7viDhi4lcdc+YG9zUZy5TItXAE1rlxwJ0aXmgm3P4t3c3Y0y/UcucCE6TLlzum1jMkLG+oCuxbUyZtQRm+He7izqbksfDY7foXsIkDI0LNnNW1bnUbheIqm+/zhUXBmHKCmwntM3SZ2r7UjGONHXq1K0wNvl6Z5SIikU7qNCFID5KuJjMEAWwdLxSXml3eDH5N/cRGwFmskKsXk5XYTA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YBCzwC2eZDK7d/zI6qt9LH0Bqw+U19RhaUIYaoWX8qk=;
 b=BMaLjOsEYu0/lCGPZaOQLGCGQTsCW22RuONWK8S9OqsNBcqQuMkM4HP+XOQimN3/y66kILqCgY5yqdIgBGGQMvXPmNqTQRU6qWw/089g0+hw6Ds6baanOHk1Ag4q0DnjAljJahL8zriCQh8hDSSHrbS0keKnmAlzGnINmEj9xxqPPqQnK24JUWzKIS68N6EKR8SzV7qSjDax7FsCle5DLdROCcoVPCbY0Rsx53AvHmWd+ChQ5Dz1u9Jj7nz0QuOn6QoDvxzhnLf5QJauXsLq5lC6mCeTiawUBZYg59iZRF4sFrs4eUHYf/TbgjPkZSjmuwgNKYlO6kYkXVzCq84Twg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b985d619-05ea-73c1-1919-b0343e5a9b8e@suse.com>
Date: Mon, 10 Jan 2022 17:34:50 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: [PATCH v3 17/23] IOMMU/x86: prefill newly allocate page tables
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Kevin Tian <kevin.tian@intel.com>
References: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
In-Reply-To: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR08CA0024.eurprd08.prod.outlook.com
 (2603:10a6:20b:b2::36) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9259f210-4d08-462a-435a-08d9d4572057
X-MS-TrafficTypeDiagnostic: VE1PR04MB6477:EE_
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB64774BE660AB58F4695A39A2B3509@VE1PR04MB6477.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:1265;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TVt8a1zlweRMZhjj0VmNsC8Ua5aRXA8iQbmLOtyQSDVY80u83VcaUiVnGmWYFxhlaLzFocKTGNEv/QWnIwGm6gKWRj8gT1QF4edKYKhPyT4wHGX+vGXbqZ8KP1BjZIYCgrYZMD8Hk/yisnnHcTdyPpFZ/yaqqYEnKlCJD0+vtwiq3YaClcaNrIe8dCpFjaK5x93gch/pgixJgYmq9JQNkEq+z5Nj/hv0pvZ2WVPCAJvjP7R4KUgi7vQ85/KAxcvDbK2ZQqv2ci02WF8iflHYcpPLR0TEpj4SINfC37yBbUlZGTUTN5Bn6EPlAxQYGEE/4FzMMkE6Kb5ma+OWMgL+SCCd1pF50m+a3+fm3WDWxmlXs9SjI0iQNBtQkQRsA4kRp2vS1gH+HCSCjB8sYhLml7ohfbkyG8eu+jAbb6G/+uJrEY9ziYRv3ToS5LOtwXwijyleryK27VoNEdKK75xHXCoM8N1vcmDvJAum11wrsRl5xTz7pv9j7zDFdodrJtBr+4+Iyat8saMnwXvXzRKpvzSkwlOOE/Ma1S6PC8P5GlW3dKJR4AXUbrvpOFRlKEkLn14mZaKuELIDFX+d9SmNPdLhceKmN9o9C7N/TFqwNZkfXyXXFEe9JoMGY1QgLoogmqyWVwcOdVvTNFwQLJhS1VgzFJiD4MpaDY31JryJQRSj35ofFgMTk1OFN1oF5JNcyOecd5eIiRGwhv4Y/gZZi0F92I79fPqKb19R9NBcrieSrkF5S1T3nzGY7TBSeUHo
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)(6916009)(86362001)(36756003)(8676002)(508600001)(6486002)(31686004)(186003)(26005)(2616005)(6512007)(66556008)(6506007)(66476007)(2906002)(66946007)(4326008)(31696002)(83380400001)(38100700002)(54906003)(5660300002)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OFkrcUJ1YUZTeE1UVGwrdXd5Yk1pY0NPWm9KdEJtWHZpVXRtQmZiazVqbzVG?=
 =?utf-8?B?VmFCcFhJaE5jK1JiTG5sQmNxOFFZWkJKMGlBbWZmMDRIRkpTOTlWMVJxcnQr?=
 =?utf-8?B?ZUdWRlpoU2JTVExhQXNHWHFSSUVTWDZzek0wa1NRT3hJRjVBOWZVU1F1OEZX?=
 =?utf-8?B?elMzSnBlb3BLY2lrRG5nd013WWFSZGlIZWZIaFk3WGkzeWdOcE53ZC9CY3F1?=
 =?utf-8?B?bmtlTDQyNnN0V05xbi9QMDJFWlBNY1NoV0ZTeWQxUUNPeHhKcUg3Mkt3S3Zp?=
 =?utf-8?B?MlNzN0lVczYwRG8vcUZ0VFdaY2ROK0twMmVhTFlOK3RmUFhYMXg1MWhxTVYy?=
 =?utf-8?B?bWVReVBoUXYrSEYvN2tvWnVlZVVuWXBzMlFzT3VwQm9qWnFQNkdyZmdUeU13?=
 =?utf-8?B?UG90SVJKUjhqa05qTDNhTmVDbiszRzRoZytYUVRlQlptZHNJcW1OdndNV1N4?=
 =?utf-8?B?VnJvU2wxbzlRdHpUbFJVOVk2RVJlVmNwTmI1cWpNYkNCZGRQaHl3TU9aS2pi?=
 =?utf-8?B?WDk2MUdpbSthZlFRK1RmZEJRQ2NWSG5WWFRCdXEzYTRBSXBzUzcwN2FWaC9P?=
 =?utf-8?B?QzljczYxZjlZTTZXUUF2Ym5qcG5kVHJHQ2ttV0FHaC9uVWIrdmZNaHJyaHNi?=
 =?utf-8?B?TFd2ZXpFWEJqeVJMMTBGenJlQ0x0Vkd3MEFmZWpUQnBFNHkrVTVBV1phVlFC?=
 =?utf-8?B?dGZ2M0VMY3pMZlMyMmErb0V3M0VITkM3N1NpY25IbXBKemwvRmRMRGhTZGl0?=
 =?utf-8?B?K2R4R0ZQN3JRWktsY2tFVElPN0d1MmRaMUhvUWhKUXNWdFluL0FGdFBtemxC?=
 =?utf-8?B?UGVSZnA3UU1wS25CeU9xandmVVNudnBrQWJjTnhRWkVteGZoNzE4d3RRNTl6?=
 =?utf-8?B?VGE3L2p0L0NiWHN4aVNJU0FvR01mc2Z0S3l4MUxETGpIeW8zZDJyL0pKYndY?=
 =?utf-8?B?M2RjRUxPVWlqVnlQenR4Vjh2eU9LaDlDb2dyVnhBTURLVEdjTFVWQVRrQzRP?=
 =?utf-8?B?WUtoVTNnTHZYcHUwSjVIeUdKZ0FPZHVkNmorVlZMamVUeDUyQmMvTmhnQXk0?=
 =?utf-8?B?ZVYxejNvbjVGQWJXK0JDUzFlMVZoUTVYOFBIUzFWR20vdnl0ZVd2bFFFUXpM?=
 =?utf-8?B?KzdOdWh2MDhLak1SQVN4dXdPdU1BWGs5eitFdnNpc2V1T2hrR1RDMGh0MzVs?=
 =?utf-8?B?VE1QOUMxd1B4MHRJVXhpQ28xclVXaDc1ODIyRTlBdDdlaGRLUzMwM3ptaFJn?=
 =?utf-8?B?NWZQak9nb295QkhnalFwOHVOY09kMm41VkdlMDZRYlFSbTdFSVl2dWJUYXYx?=
 =?utf-8?B?bFppVUJUTlh3eU5hOGRRYzY2cnlrbkZweHlPMGlCTEJ5aXpHNnZqSWc4TVhO?=
 =?utf-8?B?b2pPSXVsWWdkMllGbXRNREtCbWkrNXAyM1BKOE5BV3NPaTZ5dXZxL0RPMS9h?=
 =?utf-8?B?QUs3d0ZMSnJheEdCNlBCUE8vNE5uQ3phTTd2SEg4bkQ1NzljSmVkQzUvcVdP?=
 =?utf-8?B?VmRpcWlHSkpnUWpKbU5oU21CM1BUaU00QmZGOXRCTXdCdDFkV1FVZ0NyNzlk?=
 =?utf-8?B?ajF2ZnZrTDdYVU9BSkZmd3NhUTJ0UE1KZTBFTDk5WXRNMWp1aWF2RjQ4dE1N?=
 =?utf-8?B?MjFDTTY5WWcyUWZrVEZJbzhvcTdvMW44K1BjN2orbWdTeVNwcStIdXpHaGk4?=
 =?utf-8?B?aHpHOXFZaHY5d3RCU1ZaNVNTMHNJUHA4NTdQL2xqdEpiSGNudS9qVXY5UWh3?=
 =?utf-8?B?b05zWVZJa1Rna2JySmNSUUVxNE0zWDRvb1Ixek1sM3owdTY3OE10eERYUVp4?=
 =?utf-8?B?SXBWTU42bmJEYzZYbDhYYzNVVUJVZDQxbmptQXBNZk1mbndKcTliWVZxdkli?=
 =?utf-8?B?d1Y1dWdIN1N1QmtCTWVVTnJSTXRSTk9TZjYxVzE1WUdCRk55OG92Sk5LS283?=
 =?utf-8?B?U0ttLzFPR2V2NUVwZWpTa2JFVXVweWVuWHdzQnZPcDJHcjlMRnJJemQxZFZv?=
 =?utf-8?B?VGtOOTJsZTB0SUt0Z1U4OStxZThJRHdZQ0phUFgyQklKYWVQTkFUQVErUzNV?=
 =?utf-8?B?dVVzY2pxNy9FcGw4SUt2KzB1QW5Qb3JzRWVJNEIwVHF3YkN6R0NaUVJmSEw3?=
 =?utf-8?B?enFXMGgyeUxEa3VDdW9qMStKK1lmcHJZVXdueEt1NTErS3pmT0plYmM0aWEy?=
 =?utf-8?Q?YNAqWicFtGF+sJXE/yQqt8A=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9259f210-4d08-462a-435a-08d9d4572057
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 16:34:52.0298
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3Z6I0VuEagU+MDx25fxEXc5NZvGFTwN0YLqCzdzNmP6HMsaDOv/M3Qoa04vmDrP0iqldtU1quPoysuL1EpsWJA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6477

Page tables are used for two purposes after allocation: They either
start out all empty, or they get filled to replace a superpage.
Subsequently, to replace all empty or fully contiguous page tables,
contiguous sub-regions will be recorded within individual page tables.
Install the initial set of markers immediately after allocation. Make
sure to retain these markers when further populating a page table in
preparation for it to replace a superpage.

The markers are simply 4-bit fields holding the order value of
contiguous entries. To demonstrate this, if a page table had just 16
entries, this would be the initial (fully contiguous) set of markers:

index  0 1 2 3 4 5 6 7 8 9 A B C D E F
marker 4 0 1 0 2 0 1 0 3 0 1 0 2 0 1 0

"Contiguous" here means not only present entries with successively
increasing MFNs, each one suitably aligned for its slot, but also a
respective number of all non-present entries.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
An alternative to the ASSERT()s added to set_iommu_ptes_present() would
be to make the function less general-purpose; it's used in a single
place only after all (i.e. it might as well be folded into its only
caller).

While in VT-d's comment ahead of struct dma_pte I'm adjusting the
description of the high bits, I'd like to note that the description of
some of the lower bits isn't correct either. Yet I don't think adjusting
that belongs here.
---
v3: Add comments. Re-base.
v2: New.

--- a/xen/drivers/passthrough/amd/iommu-defs.h
+++ b/xen/drivers/passthrough/amd/iommu-defs.h
@@ -445,11 +445,13 @@ union amd_iommu_x2apic_control {
 #define IOMMU_PAGE_TABLE_U32_PER_ENTRY	(IOMMU_PAGE_TABLE_ENTRY_SIZE / 4)
 #define IOMMU_PAGE_TABLE_ALIGNMENT	4096
 
+#define IOMMU_PTE_CONTIG_MASK           0x1e /* The ign0 field below. */
+
 union amd_iommu_pte {
     uint64_t raw;
     struct {
         bool pr:1;
-        unsigned int ign0:4;
+        unsigned int ign0:4; /* Covered by IOMMU_PTE_CONTIG_MASK. */
         bool a:1;
         bool d:1;
         unsigned int ign1:2;
--- a/xen/drivers/passthrough/amd/iommu_map.c
+++ b/xen/drivers/passthrough/amd/iommu_map.c
@@ -116,7 +116,19 @@ static void set_iommu_ptes_present(unsig
 
     while ( nr_ptes-- )
     {
-        set_iommu_pde_present(pde, next_mfn, 0, iw, ir);
+        ASSERT(!pde->next_level);
+        ASSERT(!pde->u);
+
+        if ( pde > table )
+            ASSERT(pde->ign0 == find_first_set_bit(pde - table));
+        else
+            ASSERT(pde->ign0 == PAGE_SHIFT - 3);
+
+        pde->iw = iw;
+        pde->ir = ir;
+        pde->fc = true; /* See set_iommu_pde_present(). */
+        pde->mfn = next_mfn;
+        pde->pr = true;
 
         ++pde;
         next_mfn += page_sz;
@@ -235,7 +247,7 @@ static int iommu_pde_from_dfn(struct dom
             mfn = next_table_mfn;
 
             /* allocate lower level page table */
-            table = iommu_alloc_pgtable(d);
+            table = iommu_alloc_pgtable(d, IOMMU_PTE_CONTIG_MASK);
             if ( table == NULL )
             {
                 AMD_IOMMU_ERROR("cannot allocate I/O page table\n");
@@ -265,7 +277,7 @@ static int iommu_pde_from_dfn(struct dom
 
             if ( next_table_mfn == 0 )
             {
-                table = iommu_alloc_pgtable(d);
+                table = iommu_alloc_pgtable(d, IOMMU_PTE_CONTIG_MASK);
                 if ( table == NULL )
                 {
                     AMD_IOMMU_ERROR("cannot allocate I/O page table\n");
@@ -651,7 +663,7 @@ int __init amd_iommu_quarantine_init(str
 
     spin_lock(&hd->arch.mapping_lock);
 
-    hd->arch.amd.root_table = iommu_alloc_pgtable(d);
+    hd->arch.amd.root_table = iommu_alloc_pgtable(d, 0);
     if ( !hd->arch.amd.root_table )
         goto out;
 
@@ -666,7 +678,7 @@ int __init amd_iommu_quarantine_init(str
          * page table pages, and the resulting allocations are always
          * zeroed.
          */
-        pg = iommu_alloc_pgtable(d);
+        pg = iommu_alloc_pgtable(d, 0);
         if ( !pg )
             break;
 
--- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
+++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
@@ -242,7 +242,7 @@ int amd_iommu_alloc_root(struct domain *
 
     if ( unlikely(!hd->arch.amd.root_table) )
     {
-        hd->arch.amd.root_table = iommu_alloc_pgtable(d);
+        hd->arch.amd.root_table = iommu_alloc_pgtable(d, 0);
         if ( !hd->arch.amd.root_table )
             return -ENOMEM;
     }
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -381,7 +381,7 @@ static uint64_t addr_to_dma_page_maddr(s
             goto out;
 
         pte_maddr = level;
-        if ( !(pg = iommu_alloc_pgtable(domain)) )
+        if ( !(pg = iommu_alloc_pgtable(domain, 0)) )
             goto out;
 
         hd->arch.vtd.pgd_maddr = page_to_maddr(pg);
@@ -423,7 +423,7 @@ static uint64_t addr_to_dma_page_maddr(s
             }
 
             pte_maddr = level - 1;
-            pg = iommu_alloc_pgtable(domain);
+            pg = iommu_alloc_pgtable(domain, DMA_PTE_CONTIG_MASK);
             if ( !pg )
                 break;
 
@@ -435,12 +435,13 @@ static uint64_t addr_to_dma_page_maddr(s
                 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;
+                split[0].val |= pte->val & ~DMA_PTE_CONTIG_MASK;
                 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;
+                    split[offset].val |=
+                        (split[offset - 1].val & ~DMA_PTE_CONTIG_MASK) + inc;
 
                 iommu_sync_cache(split, PAGE_SIZE);
                 unmap_vtd_domain_page(split);
@@ -2028,7 +2029,7 @@ static int __must_check intel_iommu_map_
     if ( iommu_snoop )
         dma_set_pte_snp(new);
 
-    if ( old.val == new.val )
+    if ( !((old.val ^ new.val) & ~DMA_PTE_CONTIG_MASK) )
     {
         spin_unlock(&hd->arch.mapping_lock);
         unmap_vtd_domain_page(page);
@@ -2885,7 +2886,7 @@ static int __init intel_iommu_quarantine
         goto out;
     }
 
-    pg = iommu_alloc_pgtable(d);
+    pg = iommu_alloc_pgtable(d, 0);
 
     rc = -ENOMEM;
     if ( !pg )
@@ -2904,7 +2905,7 @@ static int __init intel_iommu_quarantine
          * page table pages, and the resulting allocations are always
          * zeroed.
          */
-        pg = iommu_alloc_pgtable(d);
+        pg = iommu_alloc_pgtable(d, 0);
 
         if ( !pg )
             goto out;
--- a/xen/drivers/passthrough/vtd/iommu.h
+++ b/xen/drivers/passthrough/vtd/iommu.h
@@ -250,7 +250,10 @@ struct context_entry {
  * 2-6: reserved
  * 7: super page
  * 8-11: available
- * 12-63: Host physcial address
+ * 12-51: Host physcial address
+ * 52-61: available (52-55 used for DMA_PTE_CONTIG_MASK)
+ * 62: reserved
+ * 63: available
  */
 struct dma_pte {
     u64 val;
@@ -260,6 +263,7 @@ struct dma_pte {
 #define DMA_PTE_PROT (DMA_PTE_READ | DMA_PTE_WRITE)
 #define DMA_PTE_SP   (1 << 7)
 #define DMA_PTE_SNP  (1 << 11)
+#define DMA_PTE_CONTIG_MASK  (0xfull << PADDR_BITS)
 #define dma_clear_pte(p)    do {(p).val = 0;} while(0)
 #define dma_set_pte_readable(p) do {(p).val |= DMA_PTE_READ;} while(0)
 #define dma_set_pte_writable(p) do {(p).val |= DMA_PTE_WRITE;} while(0)
@@ -273,7 +277,7 @@ struct dma_pte {
 #define dma_pte_write(p) (dma_pte_prot(p) & DMA_PTE_WRITE)
 #define dma_pte_addr(p) ((p).val & PADDR_MASK & PAGE_MASK_4K)
 #define dma_set_pte_addr(p, addr) do {\
-            (p).val |= ((addr) & PAGE_MASK_4K); } while (0)
+            (p).val |= ((addr) & PADDR_MASK & PAGE_MASK_4K); } while (0)
 #define dma_pte_present(p) (((p).val & DMA_PTE_PROT) != 0)
 #define dma_pte_superpage(p) (((p).val & DMA_PTE_SP) != 0)
 
--- a/xen/drivers/passthrough/x86/iommu.c
+++ b/xen/drivers/passthrough/x86/iommu.c
@@ -461,12 +461,12 @@ int iommu_free_pgtables(struct domain *d
     return 0;
 }
 
-struct page_info *iommu_alloc_pgtable(struct domain *d)
+struct page_info *iommu_alloc_pgtable(struct domain *d, uint64_t contig_mask)
 {
     struct domain_iommu *hd = dom_iommu(d);
     unsigned int memflags = 0;
     struct page_info *pg;
-    void *p;
+    uint64_t *p;
 
 #ifdef CONFIG_NUMA
     if ( hd->node != NUMA_NO_NODE )
@@ -478,7 +478,28 @@ struct page_info *iommu_alloc_pgtable(st
         return NULL;
 
     p = __map_domain_page(pg);
-    clear_page(p);
+
+    if ( contig_mask )
+    {
+        unsigned int i, shift = find_first_set_bit(contig_mask);
+
+        ASSERT(((PAGE_SHIFT - 3) & (contig_mask >> shift)) == PAGE_SHIFT - 3);
+
+        p[0] = (PAGE_SHIFT - 3ull) << shift;
+        p[1] = 0;
+        p[2] = 1ull << shift;
+        p[3] = 0;
+
+        for ( i = 4; i < PAGE_SIZE / 8; i += 4 )
+        {
+            p[i + 0] = (find_first_set_bit(i) + 0ull) << shift;
+            p[i + 1] = 0;
+            p[i + 2] = 1ull << shift;
+            p[i + 3] = 0;
+        }
+    }
+    else
+        clear_page(p);
 
     if ( hd->platform_ops->sync_cache )
         iommu_vcall(hd->platform_ops, sync_cache, p, PAGE_SIZE);
--- a/xen/arch/x86/include/asm/iommu.h
+++ b/xen/arch/x86/include/asm/iommu.h
@@ -142,7 +142,8 @@ 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);
+struct page_info *__must_check iommu_alloc_pgtable(struct domain *d,
+                                                   uint64_t contig_mask);
 void iommu_queue_free_pgtable(struct domain *d, struct page_info *pg);
 
 #endif /* !__ARCH_X86_IOMMU_H__ */



From xen-devel-bounces@lists.xenproject.org Mon Jan 10 16:35:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 16:35:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255479.437802 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xdw-0004z9-Kw; Mon, 10 Jan 2022 16:35:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255479.437802; Mon, 10 Jan 2022 16:35: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 1n6xdw-0004z2-Ht; Mon, 10 Jan 2022 16:35:36 +0000
Received: by outflank-mailman (input) for mailman id 255479;
 Mon, 10 Jan 2022 16:35:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6xdv-0004yp-8c
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 16:35:35 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 553dfe1d-7233-11ec-81c1-a30af7de8005;
 Mon, 10 Jan 2022 17:35:34 +0100 (CET)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2168.outbound.protection.outlook.com [104.47.17.168]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-16-3WZDW2p_PE6K3Ic3v7hpsQ-1; Mon, 10 Jan 2022 17:35:33 +0100
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.4867.9; Mon, 10 Jan
 2022 16:35:32 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 16:35:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 553dfe1d-7233-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641832534;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=R8DiCPGmZfdIitLCnmZ7S3mCQH5fBWGDgn8DzVJxrZM=;
	b=YpGjlxzZz+b6lbOVZlZ1QemRVaHbroYw/pGlCFdBLzNc9nYg7Q3Y8xR+r8lcfkcVuTnQNe
	40Gtj6ykOtymaqi7i/clUfrBe1ElnPHx3wW/9TRaQ6laRJOcL6F7c1+ATenX92JMn+uurQ
	ltxD5nGp4beRC/13LOw5vzsXIeXkXRA=
X-MC-Unique: 3WZDW2p_PE6K3Ic3v7hpsQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dtgH5oisWfDJDDNrzURF/R6FlGlO9Irl8OYbZLCORSNbf+tgYP5xeIzLWnq/e7A1s0UZDqmZxOefVsHslomfLylJA7IotN+kbpqohSwX5C5OVs9z34HJG3TSfUg0X7FIkL3zCEMBSMsh/wyXLUXC8yw0MZKYWQfTabVO0t5PtM95CehQwsoMi3/LB7NLIAR1EJUcfibirSvnJrJI5RohZ+exGTVsib45bMJCBJgwH45qbBsCgyOrAJx1fI34wjyY+pNA28SpdZvO+vcNVzDPtKiCJVyxm9zuV4bgQG216ZmxQq9wamK461a84MR7Pk33Px0Fp1gE8UUVSQCND4fRLw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=R8DiCPGmZfdIitLCnmZ7S3mCQH5fBWGDgn8DzVJxrZM=;
 b=FbGiYi6bm5eCAAzq783mMT+HVIEdn3Jprf+bUlD+lm9BPShzFtpSzWPVH+U0b8am/uQ9H7czFJjz/tLHPJqxH7rqAsZ9qBSauy3NCMrZ/bw+rKLgYp/uf7lgG9cSEKcUxwLC4mHfjXVM1flAQ/0kGm7q8itvlwbqKt85ZXvbeb9804XKwtnXrNJKegJL1aChfLIB6/OiuMbBx9Fwoa2e3+RxTuoTz4KCy6EMCYNA6T6RYIAQfvuipkL8mMSyhAg/AnvAG36FNE4cK5bnswx10P/uEuyNT1/ySCLnB8zBmkGxfvGc+E2S4uEkQQ+jG0AnhCZO+FVIRuUORRwym3RbTw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1f88ec2a-ebb6-2974-c451-4c2635d17d9b@suse.com>
Date: Mon, 10 Jan 2022 17:35:30 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: [PATCH v3 18/23] x86: introduce helper for recording degree of
 contiguity in page tables
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
In-Reply-To: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR08CA0004.eurprd08.prod.outlook.com
 (2603:10a6:20b:b2::16) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2b11c059-47d8-45ba-f4b4-08d9d4573820
X-MS-TrafficTypeDiagnostic: VE1PR04MB6477:EE_
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB6477C0EC8E2FA4DF0041FEC5B3509@VE1PR04MB6477.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:
	VSLCCamdg3GR6l7xbHlFyFjoM1IcjPzZB7mWr/TKnuxPbBzwqZ2gGR5yPDme6w3/4yBgobBROgRulC4pwCIpKurlS0ao+xncV20oKr34LlasWidbYhSK40AZv//l8B6xBtSNOhKnE32DiQzRxRvGNcS9UxGtk4+fs7XJ02xi2WE3KN85vgzN6QRAHk+TqtW8k8M80UyxFAdWWkks84Rzy8dfkSBq+npeesRuWEQC/eH2kTI9ljIaUNRIM+A1s1Z09XG2kzrLFkYUrq0fwczapd7mi1DQRY8VOPXrsus8BGQ00J/2gzO0zrx+4WbVgimrXJ8KbDJWjFlPWzPPWs8fuOwGK7W+VpibGxB+1zjiGeQsUQ6lCRlCqJjk+wbdgVvwJX7l6hjrHe+6gLCMvwWHge57LuDgt+R+nTO9R5CA7Jmn4naF7HznrM9c9CVNzitia4Bvy/GtpK8bHYxcJ7AV/1/WsxC6tLXaEcjOnJHWx4shAJkeg3rQ2qhooxt+sWyZO/eSCmnD4I/47Xbmjl7ZdrhK5UNeKPG0c7kYjPsvcNUzIkNQgLnm4WMWdLZHGiWdDj2aAbxk7x5XTuYcEYOwHADC+HMx8O/oFEVvqXCJPwBpsfHI1vU83/L+7wv+KhnJ5draqG0mzA8ppFwUVq/mQsILSBL4oh4PBHnawN/CobBihnh3xDeu26DD0dJESoayAcNiryNRC96I3DUPn7x2baeDFJttbnRFcgZZNhTMADE=
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)(6916009)(86362001)(36756003)(8676002)(508600001)(6486002)(31686004)(186003)(26005)(2616005)(6512007)(66556008)(6506007)(66476007)(2906002)(66946007)(4326008)(31696002)(83380400001)(38100700002)(54906003)(5660300002)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TjV3blVES3dKcDE5ZVY4MEorTmlxQjV4ZitBTzRqOUlUc1pLaEw5UVk2MU5i?=
 =?utf-8?B?cVFXcGhNdThVV1kyRjZBTlhWc0dua095U2MzaFhFaUVreTd2dEY0djVMaEdy?=
 =?utf-8?B?UkJ5OUE3b1pNWm9YdFBTRzREZnVjbTRoK2Q2OW5FS1MvcFdleWMyTWgvazZk?=
 =?utf-8?B?SGh3SlJqUWc1REtqZW95RlBkWE9DcU1EQjVvQUVZc0hUNXdUbWttYzZpa1VJ?=
 =?utf-8?B?VkZSNUVoRTVzT090VFYrZjZrVnQ1WGtQNEQ0WVA0UjRyaW5xbERPajIvZy9S?=
 =?utf-8?B?ZlI1N1JyWWplaVdWTkp2d05XOHJzR0hyUzY5Nk00b3Q0a3hIZG1HRktsZVkx?=
 =?utf-8?B?U2E2ekdPUlN0VW1JMFFvdEp1aTdjTzBmUzZwNThmWWV5VEhjeldjMmR2NmxX?=
 =?utf-8?B?azY0eGpzSDdVMjlCejFXek85VUFycFNYTXJobzUwWFI3eURGV3dGWmM1N1h4?=
 =?utf-8?B?UWpDelFsM29TbVBIdXlaMnZsRFcvd0dTeVkxNEdxTmFtUXdqa0JNRFJKVFRy?=
 =?utf-8?B?c2QrSDNFNUtMemczSjhnS1J6RlFzV2I2UWFmdXNRT3FuNnBNc3d2TWVzYXpx?=
 =?utf-8?B?YXZJMlkwOFZyV1dKeTRTemQwMkJJTHZOYnNUR2FYVkFPUTVJQXcySmhrK0lE?=
 =?utf-8?B?Vy9RMFJaZVl5TWowN2FIc09KemNFYVNHVVZFZmpCRlBhWmtxYTBOWVpoSEc1?=
 =?utf-8?B?SExKTXkzU09xZlZ5R2RoOFZ4Y01ZcnAwajBlOTVPZEtxSjJsSkVjeE1nbGZy?=
 =?utf-8?B?blRRZXJSY1lCMnVrd2cvclRoT0NOMEFDR0kzVDVhbnlVVmV0Yi9UQ0hkN2Iz?=
 =?utf-8?B?N1BxSzI5UUVMQlNZT0J4R3BlTUozb1ltY244TWRqa3p3bG84QVE3WHNQNFFC?=
 =?utf-8?B?OWdLOFZsbjhNSThrOWU3QU5YWGZLTmt0K3owbENsVGp0eUxmbjZ3bjZBMmow?=
 =?utf-8?B?QlJhTVBjU2JLTlBHN2U1Q2pMaVFlWWxtT0Z0eUt5RW9YOVNVcksxNjhEeGg2?=
 =?utf-8?B?QS9BQ3p0WElpSTZLRHAxMWN4ejY5a2puQ0tWYXI3RmhtbzQvSFMvZzlUTjJZ?=
 =?utf-8?B?QkhsaFlZaFhwSUlHSE1vOVE2VVpqZmxCL3dGVzg5QmxlSlNnMVYrK2ZTZlhL?=
 =?utf-8?B?TkZ3ZElHVjRYMWlQZXM2alJiMlZRMzVKelo1aGJvYXhXMmVjQUlWNGFpZy8x?=
 =?utf-8?B?RHdoT2c5aTREUkdxeTVURmRUVWJnWXFHTGlYcncwNVE4L2N4cVp3NmZLZ3Vw?=
 =?utf-8?B?OHlMR2NGNlQzYU1MUmNZRmJZS256RElFNkE3dFA4V1dINlQyaHExdFNkWW9p?=
 =?utf-8?B?ZTFDd1huY2xKWWdOVkgzZWxZdnRDNVpWNTdMSmN2Z1JtR0dKbFhWRVQ1TnBP?=
 =?utf-8?B?VjlNci8wZWtqRUdrUmN2M0Yrd1p4WElobUlZU3hBVUFTUjBVbExqMGZLNVFQ?=
 =?utf-8?B?QUd3VDRxcW1Fd1dLRHB0SU5XQlVnZ2hLcGFaaEUwaXM3UUQycDB4bTdMZy9K?=
 =?utf-8?B?elBUWlc0YmJuQklSL2phU1MyNThqNVRJbzU0UE96SitHaDVTb2ZOZHcxSDg4?=
 =?utf-8?B?azZrSGkrTkFFdHVxN0VwWm1xWDA2MzZJbldiNWlTSG9LWnR5dExaOWk1aTVi?=
 =?utf-8?B?aEFaUDBGWklCU2J6UStmQkh5VUZDQnBKSGUvZjlwR0ZQb3Q3VHNlVlo3NVF3?=
 =?utf-8?B?bVppbngwdFJnRC9xSG5DQ3BmeDh2bWVHdUhIVlROcWYzZXpwTmlZMGJEbWgz?=
 =?utf-8?B?a2JKWWRJQ0FYMFJGTUNjWjdrTm9GWnRsd3FlVWlrbFdIZ2lrQktWMFE2QXEv?=
 =?utf-8?B?QTdOS2ZxNzZycHp5Yzl5U2l3ZGVaMmFOdVBNTEV3OWF5anJuVklmU3NnTGox?=
 =?utf-8?B?RGNxNnN1RDBFMGtQbHlYa1pFbE1pOW5KVkZtYVlGeDJBUEpTRnJZZkZXSkQ4?=
 =?utf-8?B?SVoxRENDeDdHbTN1ZlpzaEZIeFE5eldGc0FNenloNVFsd3dxN29Tb2pSWncx?=
 =?utf-8?B?ZHh5Nno4dCttVkdGSmRBa2h1T2UzK2dqSm1oYXp0dFFDeWdsMzBMS1RuN2R1?=
 =?utf-8?B?V01JUDV1d0FQNW9Gc2psa2lBa21jL1BzWG04N1oyaTBFK084QTQvdVdUNHE2?=
 =?utf-8?B?aG9nL2JXTmszUGtrYUlsTGFRR0NJWnU4SVVpWlJMRmNOVHhlYi9jeXFsOTZS?=
 =?utf-8?Q?yifM0lKuRJSDb08z7ks4msA=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2b11c059-47d8-45ba-f4b4-08d9d4573820
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 16:35:31.9362
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HDA3MQYoh85Z2Vr9g74mPyLsz6Ap0OLjSHHttD8vZOI7ji5JWddgKlenDDwzrbnQuJb1QQoSrtJXddvzZDPytw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6477

This is a re-usable helper (kind of a template) which gets introduced
without users so that the individual subsequent patches introducing such
users can get committed independently of one another.

See the comment at the top of the new file. To demonstrate the effect,
if a page table had just 16 entries, this would be the set of markers
for a page table with fully contiguous mappings:

index  0 1 2 3 4 5 6 7 8 9 A B C D E F
marker 4 0 1 0 2 0 1 0 3 0 1 0 2 0 1 0

"Contiguous" here means not only present entries with successively
increasing MFNs, each one suitably aligned for its slot, but also a
respective number of all non-present entries.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v3: Rename function and header. Introduce IS_CONTIG().
v2: New.

--- /dev/null
+++ b/xen/arch/x86/include/asm/pt-contig-markers.h
@@ -0,0 +1,105 @@
+#ifndef __ASM_X86_PT_CONTIG_MARKERS_H
+#define __ASM_X86_PT_CONTIG_MARKERS_H
+
+/*
+ * Short of having function templates in C, the function defined below is
+ * intended to be used by multiple parties interested in recording the
+ * degree of contiguity in mappings by a single page table.
+ *
+ * Scheme: Every entry records the order of contiguous successive entries,
+ * up to the maximum order covered by that entry (which is the number of
+ * clear low bits in its index, with entry 0 being the exception using
+ * the base-2 logarithm of the number of entries in a single page table).
+ * While a few entries need touching upon update, knowing whether the
+ * table is fully contiguous (and can hence be replaced by a higher level
+ * leaf entry) is then possible by simply looking at entry 0's marker.
+ *
+ * Prereqs:
+ * - CONTIG_MASK needs to be #define-d, to a value having at least 4
+ *   contiguous bits (ignored by hardware), before including this file,
+ * - page tables to be passed here need to be initialized with correct
+ *   markers.
+ */
+
+#include <xen/bitops.h>
+#include <xen/lib.h>
+#include <xen/page-size.h>
+
+/* This is the same for all anticipated users, so doesn't need passing in. */
+#define CONTIG_LEVEL_SHIFT 9
+#define CONTIG_NR          (1 << CONTIG_LEVEL_SHIFT)
+
+#define GET_MARKER(e) MASK_EXTR(e, CONTIG_MASK)
+#define SET_MARKER(e, m) \
+    ((void)((e) = ((e) & ~CONTIG_MASK) | MASK_INSR(m, CONTIG_MASK)))
+
+#define IS_CONTIG(kind, pt, i, idx, shift, b) \
+    ((kind) == PTE_kind_leaf \
+     ? (((pt)[i] ^ (pt)[idx]) & ~CONTIG_MASK) == (1ULL << ((b) + (shift))) \
+     : !((pt)[i] & ~CONTIG_MASK))
+
+enum PTE_kind {
+    PTE_kind_null,
+    PTE_kind_leaf,
+    PTE_kind_table,
+};
+
+static bool pt_update_contig_markers(uint64_t *pt, unsigned int idx,
+                                     unsigned int level, enum PTE_kind kind)
+{
+    unsigned int b, i = idx;
+    unsigned int shift = (level - 1) * CONTIG_LEVEL_SHIFT + PAGE_SHIFT;
+
+    ASSERT(idx < CONTIG_NR);
+    ASSERT(!(pt[idx] & CONTIG_MASK));
+
+    /* Step 1: Reduce markers in lower numbered entries. */
+    while ( i )
+    {
+        b = find_first_set_bit(i);
+        i &= ~(1U << b);
+        if ( GET_MARKER(pt[i]) > b )
+            SET_MARKER(pt[i], b);
+    }
+
+    /* An intermediate table is never contiguous with anything. */
+    if ( kind == PTE_kind_table )
+        return false;
+
+    /*
+     * Present entries need in-sync index and address to be a candidate
+     * for being contiguous: What we're after is whether ultimately the
+     * intermediate table can be replaced by a superpage.
+     */
+    if ( kind != PTE_kind_null &&
+         idx != ((pt[idx] >> shift) & (CONTIG_NR - 1)) )
+        return false;
+
+    /* Step 2: Check higher numbered entries for contiguity. */
+    for ( b = 0; b < CONTIG_LEVEL_SHIFT && !(idx & (1U << b)); ++b )
+    {
+        i = idx | (1U << b);
+        if ( !IS_CONTIG(kind, pt, i, idx, shift, b) || GET_MARKER(pt[i]) != b )
+            break;
+    }
+
+    /* Step 3: Update markers in this and lower numbered entries. */
+    for ( ; SET_MARKER(pt[idx], b), b < CONTIG_LEVEL_SHIFT; ++b )
+    {
+        i = idx ^ (1U << b);
+        if ( !IS_CONTIG(kind, pt, i, idx, shift, b) || GET_MARKER(pt[i]) != b )
+            break;
+        idx &= ~(1U << b);
+    }
+
+    return b == CONTIG_LEVEL_SHIFT;
+}
+
+#undef IS_CONTIG
+#undef SET_MARKER
+#undef GET_MARKER
+#undef CONTIG_NR
+#undef CONTIG_LEVEL_SHIFT
+#undef CONTIG_MASK
+
+#endif /* __ASM_X86_PT_CONTIG_MARKERS_H */



From xen-devel-bounces@lists.xenproject.org Mon Jan 10 16:36:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 16:36:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255481.437813 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xeK-0005Va-Ub; Mon, 10 Jan 2022 16:36:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255481.437813; Mon, 10 Jan 2022 16:36:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xeK-0005VT-R1; Mon, 10 Jan 2022 16:36:00 +0000
Received: by outflank-mailman (input) for mailman id 255481;
 Mon, 10 Jan 2022 16:35:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6xeJ-0005T2-IO
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 16:35:59 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 63d36c49-7233-11ec-9ce5-af14b9085ebd;
 Mon, 10 Jan 2022 17:35:58 +0100 (CET)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2171.outbound.protection.outlook.com [104.47.17.171]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-38-oph9Qp4wPkeRr__U9TiIBg-1; Mon, 10 Jan 2022 17:35:57 +0100
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.4867.9; Mon, 10 Jan
 2022 16:35:56 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 16:35:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 63d36c49-7233-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641832558;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=1vVPJBcYTbo9ytg1J0+W0phlaHU+E+B/oL/8qhHj56U=;
	b=Cs+pb2vYbXxm23zJ7E/q9kREBYZiuonH3kalnD8IMebiSj/kdPwE3ne9+KoL9rlxf5cGNu
	oQ8USHdjxk+MO5iPKhJsQOaI9nGbOH+anwkamiVCvF0XGdAhKC1vx1IWgf+/YKTTvOtvrT
	rYkxeoCADMvgTZ/5MzCKwtVELENLkxM=
X-MC-Unique: oph9Qp4wPkeRr__U9TiIBg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hQ4Yhzg2y8CiasMH6H0bgHBjfyaQfUV8le8ZyEpKSgNAMM4UnwEdeY3ScRPNrtw7ltgyU/7K1xdrSO/yxJ8eqFOr68GLDmljHoQpcMfjFElX1bILDHHbNi4ZExjvBWs1IVSOqKCLZDppgVNUcHv91A00c01jd5e3SEkiB/A5jrvdmRwHoM3OViXjNq/KI/HX7zWx+DIZ70Ujx6AD6LosnroohEM7CZNfHRL9T7Ts5CcEoZiGmnWIGYyqvRlVSMh6U9QsK2mjocqMPR8UnNtr2PJA8nwYEwynpUAgSXcAALKygqIRobeucm4rupBHVwNp2nOiz13ZA4acsIeY/au8XQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1vVPJBcYTbo9ytg1J0+W0phlaHU+E+B/oL/8qhHj56U=;
 b=jJEiyiq9sUWvJO3j9Kwr4d5AsICdKwcUdVDI+hqs6Mcd0fRe0AROHqjQl3jsc6cvL4gCcNNC6w5KHizDoTbCa0RfR3ACD5yBPeamaP59sfZ3kPpWdT5XmlA5xq5pWcZfuNUCU7vNY/jgAgAk5qbt47Lx/VqZFfX3DBshhv8WNmol3h4lf6SyqyBsDl9WeWmtb8TAOnkd5OXC/umOR+tlsnveROPpxsDL5mRK4Pu/NgqQbIcQnXudAldynr4dTyNXEhN8Ac5iF0aaMbQNd8nTfHUyNBAcbbxQ9CP0Qqt8M+M5cemmy3XC+++LjI/Df0xtr6t53WmyCRFsP5IMO7vQQw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9b522c22-cae1-c5e1-0df9-eca37de54ab3@suse.com>
Date: Mon, 10 Jan 2022 17:35:54 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: [PATCH v3 19/23] AMD/IOMMU: free all-empty page tables
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
In-Reply-To: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0053.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::17) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 0f5014f1-420b-4f50-faa1-08d9d4574665
X-MS-TrafficTypeDiagnostic: VE1PR04MB6477:EE_
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB6477FA0A0FF466221F84635AB3509@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:
	1q1aKq3FXT593upbQRBMaJ0+q1BuZtYXn3emf3EKP2YFBgcvqNwGc1l8f8X+On0Q68NKeMnBeQBtBGdBAbUWNy/lYmf3OikRDD/rRT+fsag8I+vKb315e9ha+Axgff/zBOdaRuchkOTLmGI7b+MW9+8NhWfwaJsNKPOWAUbfp8oiA+kl4IWWnbzFpDZ96tv9OJA2ZERFE+5VRLnHZUdJwQaa/XQV5E+39100YAkgbB7Bx2lX7dNqVxm9yEuqOZsS4tzqWn0NGViFcpSYaZyqaFCI+h14uG/nlLztfp0lrG/jIMfQ5ff1Z0AQ9WSfRDitFZ8IBzknv23GFVfGFAIZaCpM+hxKRCfSn7t0wVVNS2BgPx5nRZqMI7pLrmW4AkqeSCz1E0gumsjI2m4PiT8c6b+x+2m1qkaCFzPr11QhBR9E4WVfuSgN0mjXfxi4Kz5zyAutg9hFD13nXvzkRuE1e+9INejne3BXkRofSO/KJcaZghqzuJhpFJZH1gkLAJ7UHIXY7vJu9Ia0jRoaQiNCNcRZYgCg1YfpA3XnvUpQa+Dy9c3Pjy/NsPvjfysInX6+A1iSY8otvb0zTUxWMKu2PLTRCz9FO0zv0AmvXegKeFXAFhSj1aY6kGAjA9cFFxIv1sxm6yxDGsGyZPqSMbwYUXUz1Z2BuV/cnkmLJB/xsFLNY5PzOObnR3/8t7sPdIBOC6qFSioC4QA2Hgoe4QTTxUD9varUYA9r97jX9in5uzU=
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)(6916009)(86362001)(36756003)(8676002)(508600001)(6486002)(31686004)(186003)(26005)(2616005)(6512007)(66556008)(6506007)(66476007)(2906002)(66946007)(4326008)(31696002)(83380400001)(38100700002)(54906003)(5660300002)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YklWUktEeFlBdXdCWXBnY0ZUQ1FZOVlWWFJhOVU2Mi82bXdSeENsV0E5akgv?=
 =?utf-8?B?bDk2Y0NaR0hLOFBRZCtVbUpub0lrQ1N2eGJRUktjNFUrWlNiMVNjS3ZRR05O?=
 =?utf-8?B?all1MnNaUmhVb0ZEZm5SNmR0bHZhQ3RUNjR6OTRFeEd1ZzI0YVg3cVAyV0xC?=
 =?utf-8?B?Y1ZZTUtOQkE0UWl2RlY1RzF1aEVyUnk4RDRYSFd2VDQ5dTBiblIwdThPNk92?=
 =?utf-8?B?VzNvQ2IycWt1aXk3SmdkQTFDNFcvK0xRcnBVM094cFE5V1E4dHY0OGlpZzBZ?=
 =?utf-8?B?aWpUNHlLNFd6SllOZThnNFpUbk5UMTJpMnBzQ2F0ME1LZ2VPMEcrNjdVZk5h?=
 =?utf-8?B?WlhSTVA2MDUvUHFOUXgrQ0d4aDNDOWdHT3M0M01ubUx2Ny9sYTlOS1YxTEFk?=
 =?utf-8?B?VGNxdGY0M3dBTzRUVjQwdVA3M1RKVnFhZzR6eklzSFRFS3dmWFI5b0NDSzhS?=
 =?utf-8?B?OFUzazQ5bDBuakk0R0R0T1BPVzB5YWxXc0IycUEwRllKc205U3JWZkxObXRk?=
 =?utf-8?B?TkZQQXVua0RIVFZ2TG85a1RkeTdsWUhocEgzVnNJN0Z6c0I1VGsydHNma3k4?=
 =?utf-8?B?ODN2dHUzdVQvdlBtS25WV0l0aUMvdjJwdUcrZHVqdGdGWmcrdW03Q2dLVWZL?=
 =?utf-8?B?bmpLYUxiSU5aNlpKK1RHNTduL0I2WGk3L2pRY3FRbU5qem9ZOTdiYnN0dzBN?=
 =?utf-8?B?ZVphZjIraWhHNGVCb3MydkNJOFdQYlAyV1VxNThiYkxySy96RmQ2ZmsraUxh?=
 =?utf-8?B?SFlSR3pRSEVTcjlOdytwVSttTnRkZzdHb1c1WGFzVHZqK2M3ZWd3L1ZZM2Er?=
 =?utf-8?B?akNJdVNVQUpTbjdpMFlVc1dDK2pyWi9saFRIQmNwcU5tQTk5TXlrd1F6ZDR0?=
 =?utf-8?B?OUZPR2hzTUNwWEhET2FnQnJweWxMMGdWODFzVlZJYjRpdFVlWE5pS1ZFQU9F?=
 =?utf-8?B?OW5aQW9wY3U5b3hDbWltWVh6b3pvLzVlTjRnUXdpamJQeEFWQXduYmhUWWgr?=
 =?utf-8?B?VWNNMTJZZXlkVmppQlpXUFZyVU5wbEFlNUcrT0dDR3g1ckhhbnBQekc2aDFt?=
 =?utf-8?B?TjdVeDcyenAzeExmMTNCTXJLTnhSQnlIMFhiUzhVWmpyak1XRlJMQ3BTbHFX?=
 =?utf-8?B?QktYYjZnRlBPOE9RZFRvOU1Pa1NhMGd1WXZBZXZJSkdGMFRDVUpaTFZGN2Rs?=
 =?utf-8?B?OGk4anZhVmhjVmMzdlNJY2pCem1nYm5XUUljTEhPcmQ0SU5GOVVuckNrQXBs?=
 =?utf-8?B?Nk05ZjJsNmxwb2RWMC8xa09HTlhhZjJqZkxza0h6TFhDQ2N2NXRTY09SRDJZ?=
 =?utf-8?B?NG1jZlEyQjFxNTQyL2p4alVWRnVucldnV1RCakx5b0FEQUlUTG5SVG9rbU16?=
 =?utf-8?B?bWpuMU8wdTN6MG9xZnFaUlJIOWJNU3JIMlBGSXErb08vd2JjUkxJQjVGbzNu?=
 =?utf-8?B?OUZFZDR3MzZLQndxVTZaeStmZFRFdDU1aXo3TzFpcUVLMzdBNi9qZDROeC90?=
 =?utf-8?B?MEliSDRBb0kzN0xYcGxKOXRITmZ1UklNcUxYeHpxSjNEcHB0VFJ1T1RKbk9P?=
 =?utf-8?B?MzRodUhyN1BocXdVdXV0OEZ5QzU3QmtQYkluNHhnUEsyVFNiUCtyeDhKdmIw?=
 =?utf-8?B?QzQrK0I3bWtSeWkrYzF2dTh5aE9VU3hPMk1ZRXZndHZJYlRpamJHWUJPWGRJ?=
 =?utf-8?B?dGxHY1hjSUVpOGdYZlBIZnRFOTBhdVJpVTkrZHAyN3RCNnFOcUtjVXBEdzFI?=
 =?utf-8?B?V0IzVFBBamxudHhUT1g0MVhyTlZRcEVBU3ZFd294K3B5K3k0SHc1K3BUUG9B?=
 =?utf-8?B?a0JsUm0rVXoyYWR5elJwenl1dlV1M2kxM3FnK3Q3b0VQNEx2R2NDUmcxcDZa?=
 =?utf-8?B?ZTVJZzNRY1BTVmZaR1A3VmNWTWZIcnNiUkk1c2UrVFN2bmNsdXdhWjRWVjB1?=
 =?utf-8?B?eEJwK0F4dERCTGF1dmQzbXJxQU9pQjVJSGo4M0g3V3RabzE1TWYyeFMwNjRj?=
 =?utf-8?B?eDd0VjNmYVdhU2l0SnJ3SWwxQ01OeDczeHo5amxlbzhIVTloalA3VDVLT1JI?=
 =?utf-8?B?MlZDR0JyQmFQRytMMVNjMWNoYS91d2t0S0pxQ3dIaWhuZ2VNVTNOeFRpZFZq?=
 =?utf-8?B?RzBwbjNUU3VYN08zbGtRcjlUZ0ZLNlU3Q0hjOGtSNDM3RW0vZzNpUTF2MnVt?=
 =?utf-8?Q?HbpV6rHgj2oi5BHplhTvnHw=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0f5014f1-420b-4f50-faa1-08d9d4574665
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 16:35:56.2834
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Wye6FQNvm1bUwwNd7HjVA+KZtXrfDbLsYdyE5DMTRGpIQLs70OdhwUHQ61MMxc5gzz61Ci/yNKXZdVpE7ZEorw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6477

When a page table ends up with no present entries left, it can be
replaced by a non-present entry at the next higher level. The page table
itself can then be scheduled for freeing.

Note that while its output isn't used there yet,
pt_update_contig_markers() right away needs to be called in all places
where entries get updated, not just the one where entries get cleared.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v3: Re-base over changes earlier in the series.
v2: New.

--- a/xen/drivers/passthrough/amd/iommu_map.c
+++ b/xen/drivers/passthrough/amd/iommu_map.c
@@ -21,6 +21,9 @@
 
 #include "iommu.h"
 
+#define CONTIG_MASK IOMMU_PTE_CONTIG_MASK
+#include <asm/pt-contig-markers.h>
+
 /* Given pfn and page table level, return pde index */
 static unsigned int pfn_to_pde_idx(unsigned long pfn, unsigned int level)
 {
@@ -33,16 +36,20 @@ 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 int level)
+                                                   unsigned int level,
+                                                   bool *free)
 {
     union amd_iommu_pte *table, *pte, old;
+    unsigned int idx = pfn_to_pde_idx(dfn, level);
 
     table = map_domain_page(_mfn(l1_mfn));
-    pte = &table[pfn_to_pde_idx(dfn, level)];
+    pte = &table[idx];
     old = *pte;
 
     write_atomic(&pte->raw, 0);
 
+    *free = pt_update_contig_markers(&table->raw, idx, level, PTE_kind_null);
+
     unmap_domain_page(table);
 
     return old;
@@ -85,7 +92,11 @@ static union amd_iommu_pte set_iommu_pte
     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);
+        pt_update_contig_markers(&table->raw, pfn_to_pde_idx(dfn, level),
+                                 level, PTE_kind_leaf);
+    }
     else
         old.pr = false; /* signal "no change" to the caller */
 
@@ -262,6 +273,9 @@ static int iommu_pde_from_dfn(struct dom
             smp_wmb();
             set_iommu_pde_present(pde, next_table_mfn, next_level, true,
                                   true);
+            pt_update_contig_markers(&next_table_vaddr->raw,
+                                     pfn_to_pde_idx(dfn, level),
+                                     level, PTE_kind_table);
 
             *flush_flags |= IOMMU_FLUSHF_modified;
         }
@@ -287,6 +301,9 @@ static int iommu_pde_from_dfn(struct dom
                 next_table_mfn = mfn_x(page_to_mfn(table));
                 set_iommu_pde_present(pde, next_table_mfn, next_level, true,
                                       true);
+                pt_update_contig_markers(&next_table_vaddr->raw,
+                                         pfn_to_pde_idx(dfn, level),
+                                         level, PTE_kind_table);
             }
             else /* should never reach here */
             {
@@ -413,8 +430,24 @@ int amd_iommu_unmap_page(struct domain *
 
     if ( pt_mfn )
     {
+        bool free;
+
         /* Mark PTE as 'page not present'. */
-        old = clear_iommu_pte_present(pt_mfn, dfn_x(dfn), level);
+        old = clear_iommu_pte_present(pt_mfn, dfn_x(dfn), level, &free);
+
+        while ( unlikely(free) && ++level < hd->arch.amd.paging_mode )
+        {
+            struct page_info *pg = mfn_to_page(_mfn(pt_mfn));
+
+            if ( iommu_pde_from_dfn(d, dfn_x(dfn), level, &pt_mfn,
+                                    flush_flags, false) )
+                BUG();
+            BUG_ON(!pt_mfn);
+
+            clear_iommu_pte_present(pt_mfn, dfn_x(dfn), level, &free);
+            *flush_flags |= IOMMU_FLUSHF_all;
+            iommu_queue_free_pgtable(d, pg);
+        }
     }
 
     spin_unlock(&hd->arch.mapping_lock);



From xen-devel-bounces@lists.xenproject.org Mon Jan 10 16:36:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 16:36:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255485.437824 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xen-00067w-7P; Mon, 10 Jan 2022 16:36:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255485.437824; Mon, 10 Jan 2022 16:36:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xen-00067p-41; Mon, 10 Jan 2022 16:36:29 +0000
Received: by outflank-mailman (input) for mailman id 255485;
 Mon, 10 Jan 2022 16:36:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6xel-0004yp-BB
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 16:36:27 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 746e844d-7233-11ec-81c1-a30af7de8005;
 Mon, 10 Jan 2022 17:36:26 +0100 (CET)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2170.outbound.protection.outlook.com [104.47.17.170]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-16-x9AfBvtDNsu14kHz6D9I_w-2; Mon, 10 Jan 2022 17:36:24 +0100
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.4867.9; Mon, 10 Jan
 2022 16:36:23 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 16:36:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 746e844d-7233-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641832586;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=7JJks6iLXnqZbdVJXHnHne9F/os9YAY04CAdOZJgakY=;
	b=RuV+ANhIwcNhbL2dX9vsllUqL4+2K6WhPQ6uEn4g4Kzns7tAId4R6HCygEvPd9/uRamWeU
	li2P0QvQpfVSQ9MyP/3w4o2KMGE7WURYX3yD9UvuUsJ5o/WX6zfnRMxzZndch9VSrUMsx3
	TheFKYV4XUGMVt1mX7jwTUKqQ988vPY=
X-MC-Unique: x9AfBvtDNsu14kHz6D9I_w-2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iHTRMtmmEE2hLOLG23RwPscowjFBQuH5dS2hfHm1QYgtBPTdtTPBImxZ1gceNzOv5oQrgZ22b3FwLVtOmcKqnwCTN/kSzwv2z8NEmk/Wh5etLv9G5HxEaeuwpTmrgVaij9dwG7zkedHAV9CuQG9N4Ae4mN+G4pKKAGFhJLIUC4AoAZd6b+wW21kEzJxcw4NfHSqy1jnBJ0MLA43VVZVnW+isTnTZuVhxkE+Q63Lu4aRjP7/8c4GuEvrds46yRjWdXi+2It3ApYXV9kKa4zmPWxEwPFtwYRdCEi7zOdZ99zH+YxIzvcY/hfKpsoyX9ArGSLGu/Y5N1ufjYZns2ONDnQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7JJks6iLXnqZbdVJXHnHne9F/os9YAY04CAdOZJgakY=;
 b=BRvapkZ/kMBNywaVBV17H5cMnXaz9vDnqiwMe9vVfwChD+sPE5d/f5qOnkRcDnM+alAsijXvLf5vVqDxgLx6pj5VSTLgyVfSmrpkh9OKRiJBW6lgwMxDzg1mDQhVGyAdP/p2enFRpf7LbWaTsBkmiS6OnBXOKE1PLXGuOIoBo2UolBxY2umJL2HOovOPyH2WJcDzAUNQLeXihUm+jFhr9vSf5jPoyby0W8bUxZolzrgE4byT72YO5B8lrpcWafOvpg2/qKcJaxIzMeL/uWVz8ECHOzCr8IwKAG4vmQc+3uIEtDkFnSq7gDdY8LzHPboaXKAmh4po5SDgwS+hoG4KZg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <807a48fe-3829-d976-75dc-1767d32fb0f4@suse.com>
Date: Mon, 10 Jan 2022 17:36:22 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: [PATCH v3 20/23] VT-d: free all-empty page tables
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Kevin Tian <kevin.tian@intel.com>
References: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
In-Reply-To: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0064.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::8) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 79597edb-0028-4dd3-1446-08d9d4575705
X-MS-TrafficTypeDiagnostic: VE1PR04MB6477:EE_
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB64772413233FAA06690435E2B3509@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:
	8Uzz8Z54+phrzr25gIj42tCtUg1AEJcT+uHpkUKEMgh3eW/aUOLr4XSgz6QyS+d62XUWJob3/eXOFZvuu0VEMk4oZZDX0w/zDaPMINX0773C2/1vSaQgTgy26dS4QxKWv+9YsdVBZWhYS20lPzBZu8+REA6O4r9lsvIJNzDTA9TAM+1p50/AFaPmT0OqI0Khn3UM1qf2B5U6zE3fRpvstwvyrsdkcWqHtWX2DVKLgLw18GRTVBeVrGxfjjz0+Mt1l9Xn9ctc25RcZvWekCjHq2yWT4J/6RXA4Ys7EWEfTg05fGuhj9QGWVH2d0L531yBst4P/9tE6f7BaQVL3W7HV/afLEvnT7yY5IIRocIOV1miAiKhN1rytsLWR6EiPrsCHjfugZBGgLzksfrrYmKEJVrkTpI4IwgANcC3tua9yYG3DEhObeeSJ2JBJK64TUQZQLs8DNSYnSvWAdUXfzCm69yfUst0GWThwXx6X64DVJMZMZxngqE/GEz/HYw0NrUjhIp2HYzh3QEUlq8YkqFYZHPGO/DKe5GwOadbeauyJzPjkC7k5+wGvTNBkRyKGW1TzczuW2ZTfsiWFT63Lo/+tTF3LNwS4m7AFh2j1ROiDI5ohdvUH7/vbmuLp4zykZ995IXOBT3nKENbs/6jrDweXdwQJxZZHuofbj/6Qj8Xu6mXZdjwLoqyCTgg+/yqb7uISx/H0Gi1AV674J4WhtLahsM5G/QZQqwj4xYPhad6o4A=
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)(6916009)(86362001)(36756003)(8676002)(508600001)(6486002)(31686004)(186003)(26005)(2616005)(6512007)(66556008)(6506007)(66476007)(2906002)(66946007)(4326008)(31696002)(83380400001)(38100700002)(54906003)(5660300002)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dXVHV0h3dE9rL3ZpaEl6ZndYVEVoZ2YyTVp4dlYxTmFua0RjMElPZUpaUW81?=
 =?utf-8?B?SHhlb2NNMnVCcXZ2UjJxT0xXVzNPaHAwV0ZPWjFNNERXcUpxK0F4dHRTb2Qy?=
 =?utf-8?B?c21qcUZKalQvT1QyOE8rU1l3Q2VkR0dsME9RVnAyaUxvVDhzdDRUR2U5eEQw?=
 =?utf-8?B?STlpbzlhcVUybWl0ZGRHVzdkSFBkM0txU3V0Um1QUWtZZHM3aXRxQlkvUUQv?=
 =?utf-8?B?RWRnNWt1aUx3TWlVOTRDWDlua1NSTktvQUZuM0tFbG05OUMraTR5TXNBTnEz?=
 =?utf-8?B?RzE1bUVDOTNWVFg1OE1yc2hZTVJyekdFczc3Tld4Y3NoUUxvTHRUY29MQmp4?=
 =?utf-8?B?QXo1UGU3cUlReDdEeVFiUlZ0L2lPUFlWVEE3dnBEeFpCTzBLeHl5Nm5LeHVq?=
 =?utf-8?B?dDJFOTlrczFvRFNtMThFTW1RaUdSdGFHYmkzTjV5YjJTcEVhc3hVa29sNWFS?=
 =?utf-8?B?YTJsRlpHbHErN21JUFI0TmJSQUtYMytRN3FOeDlpRHFoWmhYb1RzeVpBRTY5?=
 =?utf-8?B?cG9YU3k4NmY1czI0cjZvOTI1ZTJid3pHQmN6MXV5Z2JnTW1lbWZnb1FZOWd3?=
 =?utf-8?B?a0hpV3dycWdGWGl5Z2p4VDVMTHpsZjFSWXRXZjlpYndKK2ZrcytpeklGLzhS?=
 =?utf-8?B?VXdzeDFIS2lRNEwvMkJwOHlPRUhjSHlUVTJpU0hjL3ZyRFllNzlSd3hxTFU5?=
 =?utf-8?B?bk8zK24xZFBPMG5IY0N4OFhXZlUvNStVQndYMFc4YVEreFBqUWV3K0I1bHFy?=
 =?utf-8?B?M2FDYzdmYmNPaDR6UHgveFJhOUdlR0owNXZvS1VwUzZsTVZUdlZ1TWpEUSto?=
 =?utf-8?B?b2ZlK2lEQnpKbXB0K2VaSkNBMlc4d1VyRzE4eVlwaTBSTWQ4TFZCZmlHaUF6?=
 =?utf-8?B?STNrcHpRbnVjK3V0UUE1MHNsZU1kcGhCWGFFVUVUZkpSb3c2aEdiaWZKbm9i?=
 =?utf-8?B?OVFiZmQ3L1plTFI1S1UxRXZBR0xnR2VVTjlLRXp3WGVNZ1FzN2lsVjFFcFZ3?=
 =?utf-8?B?alM5TjRTaXg2QmdnVDBjL3JyenZiVk9sdEtxNE8yaG9GYU85NnlYT3V5bXpw?=
 =?utf-8?B?elc5ZThkcTlxMG44aDFZbUlUOHpSQWJlVzdMdCt0YnBmdDhIVUtFakREOGNm?=
 =?utf-8?B?UTM0cXNBcjZGQ25ycHphclhwNFA1dndROTR1dld1N1lMbXphMVhLUWc3RHVO?=
 =?utf-8?B?d3djMWwyK1NxM2JPYytacTRpc2FsNHovRVVXa2Q0d2ZDYUhWMElLQXgvRmdB?=
 =?utf-8?B?bE4raXpWSDhPUkhpVG5Ub3lQY0hDdm5IVXdSZDVER2swZ29Sci93cG5seUFt?=
 =?utf-8?B?R1NkTEVXcHFpTitZaThyKy94RWlxMGpneVRkNFBHVHdLTWsrcXNhdGNnSUJN?=
 =?utf-8?B?UVlZdGZuRVNDWjhaUjRRcGdMZllTNUFRRFczYjRHSGdwVjNjY2tzSnAyaE5Z?=
 =?utf-8?B?bFVSa293Slo4cFhkeW1tT0h4Ry9ZTXVWSlV4eGl6OTJRL3F2TXdMclVTQmhT?=
 =?utf-8?B?di9PVWRSTGJUQ29pVWM5YVZOeUlhWlZwb2VtTDlTZUIzRWxwNnB1b1JCZzFW?=
 =?utf-8?B?TUlFMkNyUCtncXhKRkRZWDllS1ZjNzBOdlFWWUJvcjdQd0lBT2ZkaXA3UCtw?=
 =?utf-8?B?K2R3WlhFOG0yVjN1TlRiVmU2aG94OThncDl2STRJblpNeXV1NFBoNFVCWGlM?=
 =?utf-8?B?bks5MXoxT1YwM2dEK3VTaS8yYWExbWx2K0p0SGhGek9TTkdPVzk4Q0d4YlIz?=
 =?utf-8?B?YmJxZklDdEs2cThtMmhHRWNkRnZ6S3BHS3FTZU82UFEvZ29hMzRqcmNiTkdp?=
 =?utf-8?B?V1I5NStkdzFvN3lUb2hPck9heU0rZDhzRXY4L0MwUTEvMUVvRTh1bnROazg0?=
 =?utf-8?B?NGZLYWgrcEgvU2tid29wOUQzYisrZGE4ZFR0d3JiOCtkcGVsU251SFNRS2tY?=
 =?utf-8?B?M1NMOXk1SHNTL09pUWMxMkdsMjR5U2ZleFdnN3ZJOHRGUzkyd09acWtBYzY2?=
 =?utf-8?B?M0xnMGNUanEvZXRTRmlYalY3cnlnNHdiK09IMS9FYm45bnVaVXE5cEJpWVdS?=
 =?utf-8?B?YkFiVDEvMVNWeTVjNHRNRFJxTzhqVkJnZEYwdzc2NUZGYjRQSk1ycG5vR3Nq?=
 =?utf-8?B?YlNhSWdZV2FPa0JGaENBZUUrRHN3Q0pacm00QmVzc0lFU2J6ZkI4TkdQcjJK?=
 =?utf-8?Q?Z3yvV480LHKQNt/0v6W2nwQ=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 79597edb-0028-4dd3-1446-08d9d4575705
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 16:36:23.7529
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9RtBamhs2V1al6wFByJPRBYTUuBH5OWDHW8G5RiM8MV8708RCPu4hnE6zJTCoGB5mKlCo/0EeiBZQMPrmwLUfQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6477

When a page table ends up with no present entries left, it can be
replaced by a non-present entry at the next higher level. The page table
itself can then be scheduled for freeing.

Note that while its output isn't used there yet,
pt_update_contig_markers() right away needs to be called in all places
where entries get updated, not just the one where entries get cleared.

Note further that while pt_update_contig_markers() updates perhaps
several PTEs within the table, since these are changes to "avail" bits
only I do not think that cache flushing would be needed afterwards. Such
cache flushing (of entire pages, unless adding yet more logic to me more
selective) would be quite noticable performance-wise (very prominent
during Dom0 boot).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v3: Properly bound loop. Re-base over changes earlier in the series.
v2: New.
---
The hang during boot on my Latitude E6410 (see the respective code
comment) was pretty close after iommu_enable_translation(). No errors,
no watchdog would kick in, just sometimes the first few pixel lines of
the next log message's (XEN) prefix would have made it out to the screen
(and there's no serial there). It's been a lot of experimenting until I
figured the workaround (which I consider ugly, but halfway acceptable).
I've been trying hard to make sure the workaround wouldn't be masking a
real issue, yet I'm still wary of it possibly doing so ... My best guess
at this point is that on these old IOMMUs the ignored bits 52...61
aren't really ignored for present entries, but also aren't "reserved"
enough to trigger faults. This guess is from having tried to set other
bits in this range (unconditionally, and with the workaround here in
place), which yielded the same behavior.

--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -42,6 +42,9 @@
 #include "vtd.h"
 #include "../ats.h"
 
+#define CONTIG_MASK DMA_PTE_CONTIG_MASK
+#include <asm/pt-contig-markers.h>
+
 /* dom_io is used as a sentinel for quarantined devices */
 #define QUARANTINE_SKIP(d) ((d) == dom_io && !dom_iommu(d)->arch.vtd.pgd_maddr)
 
@@ -452,6 +455,9 @@ static uint64_t addr_to_dma_page_maddr(s
 
             write_atomic(&pte->val, new_pte.val);
             iommu_sync_cache(pte, sizeof(struct dma_pte));
+            pt_update_contig_markers(&parent->val,
+                                     address_level_offset(addr, level),
+                                     level, PTE_kind_table);
         }
 
         if ( --level == target )
@@ -879,9 +885,31 @@ static int dma_pte_clear_one(struct doma
 
     old = *pte;
     dma_clear_pte(*pte);
+    iommu_sync_cache(pte, sizeof(*pte));
+
+    while ( pt_update_contig_markers(&page->val,
+                                     address_level_offset(addr, level),
+                                     level, PTE_kind_null) &&
+            ++level < min_pt_levels )
+    {
+        struct page_info *pg = maddr_to_page(pg_maddr);
+
+        unmap_vtd_domain_page(page);
+
+        pg_maddr = addr_to_dma_page_maddr(domain, addr, level, flush_flags,
+                                          false);
+        BUG_ON(pg_maddr < PAGE_SIZE);
+
+        page = map_vtd_domain_page(pg_maddr);
+        pte = &page[address_level_offset(addr, level)];
+        dma_clear_pte(*pte);
+        iommu_sync_cache(pte, sizeof(*pte));
+
+        *flush_flags |= IOMMU_FLUSHF_all;
+        iommu_queue_free_pgtable(domain, pg);
+    }
 
     spin_unlock(&hd->arch.mapping_lock);
-    iommu_sync_cache(pte, sizeof(struct dma_pte));
 
     unmap_vtd_domain_page(page);
 
@@ -2037,8 +2065,21 @@ static int __must_check intel_iommu_map_
     }
 
     *pte = new;
-
     iommu_sync_cache(pte, sizeof(struct dma_pte));
+
+    /*
+     * While the (ab)use of PTE_kind_table here allows to save some work in
+     * the function, the main motivation for it is that it avoids a so far
+     * unexplained hang during boot (while preparing Dom0) on a Westmere
+     * based laptop.
+     */
+    pt_update_contig_markers(&page->val,
+                             address_level_offset(dfn_to_daddr(dfn), level),
+                             level,
+                             (hd->platform_ops->page_sizes &
+                              (1UL << level_to_offset_bits(level + 1))
+                              ? PTE_kind_leaf : PTE_kind_table));
+
     spin_unlock(&hd->arch.mapping_lock);
     unmap_vtd_domain_page(page);
 



From xen-devel-bounces@lists.xenproject.org Mon Jan 10 16:37:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 16:37:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255496.437834 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xfy-0006zt-L0; Mon, 10 Jan 2022 16:37:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255496.437834; Mon, 10 Jan 2022 16:37:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xfy-0006zm-Ht; Mon, 10 Jan 2022 16:37:42 +0000
Received: by outflank-mailman (input) for mailman id 255496;
 Mon, 10 Jan 2022 16:37:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6xfw-0006zU-Mx
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 16:37:40 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9ff9cc41-7233-11ec-9ce5-af14b9085ebd;
 Mon, 10 Jan 2022 17:37:39 +0100 (CET)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01lp2052.outbound.protection.outlook.com [104.47.1.52]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-26-3ZpniPXYOzujl-9Hbyo1zg-1; Mon, 10 Jan 2022 17:37:38 +0100
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.4867.9; Mon, 10 Jan
 2022 16:37:37 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 16: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: 9ff9cc41-7233-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641832659;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=q21k2QRVQ9OpX2KFqNv7CXJl+zA4mrlUPekTbpVEMuw=;
	b=Bln4Rt7afxpe6WydBNFa6QgY9Ablc0xsRQxrxjSYtnFw9fxikqfaDOvqR+JYRtb6/EEpvE
	G8OLS+MRFpu3ekse8wH7jYCDdkHXmiXL48liGOawQetKsAH97rMkfsGYLgahdc/jHncqvA
	6WK8m3a8fA7SGC4gLLmH5yLwpF2N8mA=
X-MC-Unique: 3ZpniPXYOzujl-9Hbyo1zg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HNTYsTqPl0MOLUG5oL5WKuSnPzPUsOcULY9y25cUKFqwkL2uDZudg8NkI4NDcR6d0nlcsAlOjCN26KCkfkb5HF5X330Ix0hERhq6WZGNjK/uvTmibh85+0v6XWKQ8hIOpg9fljo4bKqMKXqssnqsjq+FqVNoMWypOw5O20x45zn15bRSiPPJhxR8ZsYkl0utAtrCvlWTflhIe01Rrer9gK5K+VH5iHbwHHJaKcg9bvdlI7JfZM9NZevImLlb0Vx/anBJSkZ/VoSjewkNrelZr2SmEKL+yHPhmtSlHthO+4yv50BJ0zTgfS6Q9IfOqncd3SBTBDgUTeeYGP2BK7WfMg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=q21k2QRVQ9OpX2KFqNv7CXJl+zA4mrlUPekTbpVEMuw=;
 b=SJ1M0RER6D2D7JwcvFnzeexCvnh7pb7sWf1QxShwk5tuBjW/MSaHPrHnd2rkQSdWd48oJc+q29+5fNMGq84JqLhqtc1sO1wUllzBBggdB4iILEoa5sd8eXoMmPb2n2lzISy01QcFvsEo+ss/hlNM43g+O4Z9bwJLJZUJIhorvJCy7E2AkDPe7EyeV+uw1KkY1eJXvusl0SyPv/k3Su9g4byuVV4gvOXdNGiU9CStV8WWF57TW3Fjwz85BXEjxLYb+CUXk4ybdpoxNczrBgJfwAckJYnLW02bsvptkh8P12rViF+M5xMpXC3dWQGJxsRL6BWXLejbE3+k42wmHqem7A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ceb001c8-9696-29fb-955d-c6244e3586a2@suse.com>
Date: Mon, 10 Jan 2022 17:37:35 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: [PATCH v3 21/23] AMD/IOMMU: replace all-contiguous page tables by
 superpage mappings
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
In-Reply-To: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0089.eurprd06.prod.outlook.com
 (2603:10a6:20b:464::14) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 1c0b61b5-8b6b-4158-a9ab-08d9d45782cb
X-MS-TrafficTypeDiagnostic: VE1PR04MB6477:EE_
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB64779B4F8174DCE55AA2785EB3509@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:
	ULK2tQT0F42XYCQytHt2FTR0K+s4OkIT5ChYnCZAP7wUtKLOBNu/tugbMi7FXlFvkzgp7Hj5NFBSv/p+21BpYjUiXHiNU25UNvwiMZ5LCLZxVSAgc46mZ1SgsiEN1PGl0LxiIXtzWLNTlziZ+Cyvx1eMGLFm19yLZDQXpJ0CipTEMk580nnEp+BIVnEo1fhMT4FLm6LpLCwpn/kBI8WmB1WI4FaP9t0XVZnfwEZyCalP7hqLSvUxg7JW1vL+SRtcFcA1U62Jo8e9pteQ7AgX3lVXgCu3yemO+xLcMJ3nmxcQ276GCw9yEDNmF7p+YSgRkkhBDdyBTOdZIvC+oJKQHOZudRDWX8zBZLdpG4uBP9DoUB6W4TKpCOGV7/bvodeYwjPVdWOfX/m5UseRRgHelr5nTcRRBEA5987s8HnjP3NAh5BFk7cVTO/ILbO62vtgFy6kyzBTMb1hrFabBL9lJwW6JAl+rT9VYPtJWJGaU3HimWDwh7gZFlh62LbbZTUn5lAZefLMrMYdcxrL9ZwSU/gt05JVustqqC9ov2ZRtLU8kxI7f1vSSnde7IfYNWeqpZ+vpH+sk9toxPU2GrUcrrO8vxVLjVfLYOwAG5tsEX6yoZnfXMTCUJmbP8AArjkp1BOXHKtXfGBW0Ern0+XrBI0JoKxBCqC/vu4TYMXIOiBPRBWl7fboJDjL4eHueDsIgsKQ7BlM/vJtYV5Qzq4x2tNGOMSYxc5LwjPeRBIPfF14NlbUKQdcNd9VBjdJ31Oy
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)(6506007)(66556008)(66476007)(2906002)(66946007)(4326008)(38100700002)(54906003)(5660300002)(316002)(83380400001)(31696002)(508600001)(6486002)(6916009)(8936002)(86362001)(36756003)(8676002)(6512007)(31686004)(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?RnRFSldvZjVnZkNtclFGL2dKU1ZHYytwWjlXV2M5T0FaalRuUytUamJDNnBi?=
 =?utf-8?B?TmpTRUdoTWhqdnNDdkhkUFllSExvdGQ1Tzd0OTFhNng3NmI3NXpSbC9CQ3Nh?=
 =?utf-8?B?ck1HTmpySklxREdldXo3RlpQaFVsTnVMdXhJWnhBd3RNTkppRXdsa3VVcWFy?=
 =?utf-8?B?SVNBQ2toejNNNXJXdDU1TUZvUmhYTTU5eXJkRldyTmVkS0xTd2ZTSjdqWDMr?=
 =?utf-8?B?LzhwV1UzTGFwOFE1eU1ZeUlKbXZGcUdpWFNsM243amhHeEtKeVR3ZzhnanV6?=
 =?utf-8?B?M3FmYlRTdUlWNnlpTENOU2dFeER0cjRKTnlCZ3BSdmNGNHNGRkxtdkxQUlRL?=
 =?utf-8?B?OUtZN1FmL2ZRYTVTQXZpOFYwQVZFMllNTVRLKzZqdExRQ0JNdVMvTGRkZm5T?=
 =?utf-8?B?SU5ja2RlcFRQbWNyaWx0aVZUQTY1YUlIRzhKaFNFZWRGN1VHcW5iU3cvYVlG?=
 =?utf-8?B?NFlZK1BnZnVJdXFUL2VJV1oyTElXMUlHVEZKVTZCZFJGVXdEZ3lBbUdCd0NF?=
 =?utf-8?B?aTArVEdPSGxIU2FCc0RlcGJPWStQUklObjE4SFkrRVJ2bWI2UmhQZlV2MjBB?=
 =?utf-8?B?VzJ1SnRkZXMvNndHTTJnTU1iUHIrWE1YSk1TRVIzR1VzUmxveElxMGxRU2pH?=
 =?utf-8?B?cVFubWRiVVVFcGVRajJoY01TUDRoeTVpL3NrNG02UXpmb0hNdkppVTFQYlJp?=
 =?utf-8?B?QWQwSVBwNG5qR2FHaXY5K3JHbkl0anF5ekxCQjBvdVN0MjMwQ0hmSTRZaFRh?=
 =?utf-8?B?NC9VN1dRNmF2Z0NPMUlZTG91dUZreFFaSnM5ZDJ1aCs0ZUNHdENpOTBiWG43?=
 =?utf-8?B?UU9jTXhjL1JnYk1MRTFIaWtvRnRNaExMbHBnWUwwNkZ2MVVqcExqVGZCSjk2?=
 =?utf-8?B?Z0hkMU9kVGVGR0k4cVQrdS84cDFzVTFpMkI1OFZHOFFpS0pFNXlvTzc4M2xF?=
 =?utf-8?B?Sm02UHg1dFFRQUlkc2IvSWFxNlNXVk5iRFEwb3BlcXg2aVlvZWcveTZ4QmpD?=
 =?utf-8?B?c1dUU1NFMm9teUNhNFgyNlBidVgzKzBFaHpXT0NhdTJDMEtHOGp6bmFxdmVG?=
 =?utf-8?B?NzJNYmlSQ1QzTEk4cmR4ejcwRjZoTlpOOUxaMlErRmpGVWJaMVhxSkVnMlRa?=
 =?utf-8?B?WUZ4U3BnNVhrVDhTOTNvQncwR3VSdTc2dFd6YlRVNVliU0gwS0ZlRlpiNkNa?=
 =?utf-8?B?L0V5UTg4WHBYYmdMWE1DYUMxdUhma2p4eS9kRnR6ZXJNTVNOd0pGNklGTTVj?=
 =?utf-8?B?aEwveE5jdGRDSHhCZDcxQVZ4M1A4dXgycHJyZVFRK0dMcjFvd1N3enE3K1RQ?=
 =?utf-8?B?dnpDNEFidTBKc2F3Q3BvWHZMR3FBcHpjU21SeFgvU3dyREc0MHdURHBuNVJQ?=
 =?utf-8?B?YklFWFZ4b3gwUUo2QmVNNTNUalFoamVWcnBxNStZY0tvbWthZzdEMy9LU0xU?=
 =?utf-8?B?cnZkM0FlK3VBOEliMzFRSU83TWx6S1UyRmV0cW0wRnNpNEM3MjJsR2EzN1E5?=
 =?utf-8?B?L2dmakFYSXI3K2F1TkU5M25iR1l1WTVPSENnOFNIeVVMSXpaekFiQll4aEVz?=
 =?utf-8?B?UVRLZTNvTk1VWHVXVkZJL041R3UyUWxUY0U2cEVaMk1KbW1DNDJraVRQekZz?=
 =?utf-8?B?cUNzM3V4cUw5aC9tMi85MVJWTnVOckdMWmpIWHdjNFh1OU1uSDEzYzVhUi8r?=
 =?utf-8?B?MGp3YlpOMDRieElUZklMZGhKRUVuYWhmaTl5TG5MRHBacUhRalhkNW5GckF4?=
 =?utf-8?B?YjBWaVNkUUV1bzhDUDI3a3VPUUk0OXN4a21IUkpGNVZrcy9ML2JnTXpTQkNE?=
 =?utf-8?B?ZXczcUJnL2ZMaFp4R1hqUlVtZXQvUllYcENEMFZUSUJvek1QTWVWTjRKZDQ4?=
 =?utf-8?B?bG5KdzQvNkRPcElFL1V3WEZ5OTdOczZpZDNvU0xDOTVXeVFnMEliSGVoczlk?=
 =?utf-8?B?WENCV3UvUHU5cFY2Z04yZnhqNkZxbDZpZ1pucGI1OEdOUk55TyttbHl4L1Zm?=
 =?utf-8?B?Q1J6RFpWUTZnTzJIK0R2cG94L2xWMzJnTGlObW5Vek14bkhqWlorMmRHeW00?=
 =?utf-8?B?ZXRjQkoxWlU2a29nVFFibWVsalVTL2xKSlZlVVF2TE1ELzY2UU9YbTRKMm9k?=
 =?utf-8?B?WW14RmxGUG9WRENCTjBWaWphZmVkaXNtV1lzYkUzd09kVTl0QndCQm1EZFJG?=
 =?utf-8?Q?lFYNPzyKk4Ka7PEaT1tQAnI=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1c0b61b5-8b6b-4158-a9ab-08d9d45782cb
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 16:37:37.2113
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OBNud9C9YDTRhJgPf5FueomI4cVVDLwIt5KxVRgBCMFyBc5G6sFRR3T1exHsO/bRUpHExcNPHTLco7IaX1NJoQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6477

When a page table ends up with all contiguous entries (including all
identical attributes), it can be replaced by a superpage entry at the
next higher level. The page table itself can then be scheduled for
freeing.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Unlike the freeing of all-empty page tables, this causes quite a bit of
back and forth for PV domains, due to their mapping/unmapping of pages
when they get converted to/from being page tables. It may therefore be
worth considering to delay re-coalescing a little, to avoid doing so
when the superpage would otherwise get split again pretty soon. But I
think this would better be the subject of a separate change anyway.

Of course this could also be helped by more "aware" kernel side
behavior: They could avoid immediately mapping freed page tables
writable again, in anticipation of re-using that same page for another
page table elsewhere.
---
v3: New.

--- a/xen/drivers/passthrough/amd/iommu_map.c
+++ b/xen/drivers/passthrough/amd/iommu_map.c
@@ -81,7 +81,8 @@ static union amd_iommu_pte set_iommu_pte
                                                  unsigned long dfn,
                                                  unsigned long next_mfn,
                                                  unsigned int level,
-                                                 bool iw, bool ir)
+                                                 bool iw, bool ir,
+                                                 bool *contig)
 {
     union amd_iommu_pte *table, *pde, old;
 
@@ -94,11 +95,15 @@ static union amd_iommu_pte set_iommu_pte
          old.iw != iw || old.ir != ir )
     {
         set_iommu_pde_present(pde, next_mfn, 0, iw, ir);
-        pt_update_contig_markers(&table->raw, pfn_to_pde_idx(dfn, level),
-                                 level, PTE_kind_leaf);
+        *contig = pt_update_contig_markers(&table->raw,
+                                           pfn_to_pde_idx(dfn, level),
+                                           level, PTE_kind_leaf);
     }
     else
+    {
         old.pr = false; /* signal "no change" to the caller */
+        *contig = false;
+    }
 
     unmap_domain_page(table);
 
@@ -346,6 +351,7 @@ int amd_iommu_map_page(struct domain *d,
 {
     struct domain_iommu *hd = dom_iommu(d);
     unsigned int level = (IOMMUF_order(flags) / PTE_PER_TABLE_SHIFT) + 1;
+    bool contig;
     int rc;
     unsigned long pt_mfn = 0;
     union amd_iommu_pte old;
@@ -386,8 +392,26 @@ int amd_iommu_map_page(struct domain *d,
 
     /* Install mapping */
     old = set_iommu_pte_present(pt_mfn, dfn_x(dfn), mfn_x(mfn), level,
-                                (flags & IOMMUF_writable),
-                                (flags & IOMMUF_readable));
+                                flags & IOMMUF_writable,
+                                flags & IOMMUF_readable, &contig);
+
+    while ( unlikely(contig) && ++level < hd->arch.amd.paging_mode )
+    {
+        struct page_info *pg = mfn_to_page(_mfn(pt_mfn));
+        unsigned long next_mfn;
+
+        if ( iommu_pde_from_dfn(d, dfn_x(dfn), level, &pt_mfn, flush_flags,
+                                false) )
+            BUG();
+        BUG_ON(!pt_mfn);
+
+        next_mfn = mfn_x(mfn) & (~0UL << (PTE_PER_TABLE_SHIFT * (level - 1)));
+        set_iommu_pte_present(pt_mfn, dfn_x(dfn), next_mfn, level,
+                              flags & IOMMUF_writable,
+                              flags & IOMMUF_readable, &contig);
+        *flush_flags |= IOMMU_FLUSHF_modified | IOMMU_FLUSHF_all;
+        iommu_queue_free_pgtable(d, pg);
+    }
 
     spin_unlock(&hd->arch.mapping_lock);
 



From xen-devel-bounces@lists.xenproject.org Mon Jan 10 16:38:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 16:38:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255500.437846 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xgS-0007V6-0e; Mon, 10 Jan 2022 16:38:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255500.437846; Mon, 10 Jan 2022 16:38:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xgR-0007Uz-S0; Mon, 10 Jan 2022 16:38:11 +0000
Received: by outflank-mailman (input) for mailman id 255500;
 Mon, 10 Jan 2022 16:38:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6xgQ-0007SV-Az
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 16:38:10 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b1dc0a9f-7233-11ec-81c1-a30af7de8005;
 Mon, 10 Jan 2022 17:38:09 +0100 (CET)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01lp2052.outbound.protection.outlook.com [104.47.1.52]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-17-4_F9siGPOn-M_PM5_YDU_A-1; Mon, 10 Jan 2022 17:38:08 +0100
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.4867.9; Mon, 10 Jan
 2022 16:38:07 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 16:38: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: b1dc0a9f-7233-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641832689;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=tiK4Py7T+iWHZozg71IXWaPgjEgLZSxpxNyWGT8sGvA=;
	b=mNPofTockME7AvQUKBAVb/nyrTnpTACf81eRu1fSPNfGOBLDXPcvEd+TfKyUjRBP9nP74w
	e4fyXmldVoyqxS7a/S4+uNadrhkDjlk90MjuP1VHoqxdmqlwP/mrV0gDAnOmXPNFySfS5O
	KRJZSRrZ8wA7zpdXKhe3fnEKF1QPrv0=
X-MC-Unique: 4_F9siGPOn-M_PM5_YDU_A-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kOui2ndF3KBUf9/TkXp6ob02hXF+LCN8R4DilXupRSz0AXjBgPo/T2mmuSaLKeE4x22tudJi4MFKFglVh/nRR8WLFSpmE8H4A/8h+GPICaubQESR9sC8/Vikt5ErTFAlOfH6bl2V0g4umhw/EafCDxkX0zzdhCVqrDt+sHKq7UKsI+AYYiqI2Aw0MeuAfCcJUj6wVjIRQfbjGX4g7WgD0LLakunIW6oUkdNLJ+GxT3N5eEl+I4JIQt+y/4Y9DwJB8ldvlI8Uxzml4+5B85GTsJ8C2q5woAGage/7QmhmyN9l+lIHQh4tC/CVbS3+EUjEBFQz8F9i9xBMDmtTlvw4vw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tiK4Py7T+iWHZozg71IXWaPgjEgLZSxpxNyWGT8sGvA=;
 b=TBal6CY2RW/v1FhhLKzJjHqf5adAhDC+CRfHqkwQCOuntr6f9LS6gpNIjLacttMXYvF6KhgYBv2xQPEECiZ1H5KGKpo03JgvxA0is6iA2o8ZcI3SYDGBDVTcbJqoV1zihxS0++ZegcY1pMzbNqucEHhqdC4cwDrmL9zg+X7JGV1gJZJwaVWzWkeRhi5YOoTfXe7uXcLugYkTtgSsf505xkME5O44LSDN9XiA222pywCL8uWlw3RO519BVWIF3GXLX0kjM1cWW9Zb1Ua17gbu8IFZuRVS2AcW559hSYbN+CtPkxbSfcWIvRXlL2x1NQmk1gl2+n4sz14aOcAcudJ0lg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <58e8871c-0d5e-ec32-74ac-9137e8f2ce41@suse.com>
Date: Mon, 10 Jan 2022 17:38:05 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: [PATCH v3 22/23] VT-d: replace all-contiguous page tables by
 superpage mappings
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Kevin Tian <kevin.tian@intel.com>
References: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
In-Reply-To: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0084.eurprd06.prod.outlook.com
 (2603:10a6:20b:464::6) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c2451232-f7f0-47a2-4c3b-08d9d457948b
X-MS-TrafficTypeDiagnostic: VE1PR04MB6477:EE_
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB64775E32B598F9037834D70FB3509@VE1PR04MB6477.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:
	gkFnOfMOgRwLP7RFCv7pa7SLHbnEwq50pi3c5R0M+YrdMTYFsTRaOOu7iEp8uBx9FbJ0mceWo9mmGIhOVN8Lftp/ko8KNpP7gvO2LJcK87MU2Pj8ktSFXf1DFXHGkp5h880rG5Pp8LkB0QQW6wvfmR0u77/USY9iAWpH1mgC4JAiJwLX4qRCZmT1KaoH8x/0ZRqu2sLdA165lll65ZCKJhNgW6fc7pc224K1eC578AEFkg21grdJB1tOv0YCNRR8oP6lBQJoip+o3S+TQ8RFeSbPLXKh2CPwRIFPB8r71EL9gin1mrzkXHpYkTEhRvTs0JE5hgQPCQ6Z9Bo7lpFlxZuZA6Jvx0IKte2WihjkyTSb7pW5Sb2uUoIR2MX2v7hj3olFY1NkOsYHV+CyyE975mPuzCtt03x5tLd7aF9JgQNuST5hRA3JJTCp4LK9uF34mgLwHumRCU6+rviEPUJpMdzShPYsGO+NoFsBlWXXJtaR9ud22oIMYH5P/uejBK+GTKfsVgS9rU21yB9Li08T61rPZJLMcS0oP+I4YaUXPA5OmcXy6e+1uTwabZAKtq/i1LjCqGWi2VP8kFxH8itK6wYLKmk6BfnkOjbNtZz5lQOAAmCd6XHQmNVCNWass+1uWXM6ssPijws0gLoUFGzOxdLTVE7SQt32lls+kuvklnJUbuM9rjLIdLGzWNSICaf+XEH6kEpYFfCdrhW3gXji2ecD4HsEsWInH6HR54CzqYw=
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)(6506007)(66556008)(66476007)(2906002)(66946007)(4326008)(38100700002)(54906003)(5660300002)(316002)(83380400001)(31696002)(508600001)(6486002)(6916009)(8936002)(86362001)(36756003)(8676002)(6512007)(31686004)(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?SmRBeCs3aEYzR0hsVzJjT2FLTUZvK3c2ZkFsL2ttcCs3d1kyWS9kWWtDS0sw?=
 =?utf-8?B?ckl1dVE0OEgrazI0bnYydE5OY09MS0owcTZLUmwxVkR0aU9DUDBXODlBc041?=
 =?utf-8?B?WGZ6V0tBTHEwS3F6MEEzOHA5QUt2aHlqNURZbUtydHY3VkViekVOQjJ5UnFr?=
 =?utf-8?B?S3NzcWpkb2ljOVJycmdxeWNmcnJnZ1RVU1cvRXpneUJ0NDl3TkJPeFN4SEMr?=
 =?utf-8?B?MnFUSFltS2lJY29PMVlNc3VkaWs4TTVJQ0lFTFlNcGNHU1ZDODNhcDlad3h4?=
 =?utf-8?B?cm9mZjMrK21PMmI5UU9YUnZPbktnc1RqY1k3UU9TSjhrdlFoY3Eway91WlBP?=
 =?utf-8?B?S3RLdDJQKy8zQXBiZTJFcXBWUncrNXp0RE9mazdMRW4wVERCZXRNTVFJNGJO?=
 =?utf-8?B?ZGpUSytFV20zZGY2RGZVbWovTnVDc01MK2xjQnMyMHF6UzRVV0hhcithZWt1?=
 =?utf-8?B?aUtZMk5rVlUxU1g4OFhHeWFUdUZtaVlGQ000dXBkUy94YkMwdjJSRlRvK0Rp?=
 =?utf-8?B?dExLUHJXQXEva28zQ0tLSkFkblM1Z1gyUCtWbXdsYkx6SEtyWkdNRWttWUt1?=
 =?utf-8?B?cU91Z014NXRZbFZJTnpGZm1xeWJ2WHJzQmNpeTVKbkZHWmg1aGxNV3NFc3Zy?=
 =?utf-8?B?Tkh0ZzFVZTRQb2FPTFVRb04xbHFtZlU0Slh3R2xibnVPcjc3Vm9kb2YySEVw?=
 =?utf-8?B?VFl5cGt4ZkZZV0QwTVM1N0JOZFdBSDk0RCtxMXorVEhYbE9OOHZoeUpJNjNa?=
 =?utf-8?B?ZUJiN3B5bnJpQ0c3VGI5d1lkaS9WaXRwVFh1WkV4cjNpSE0zZ00yc25MRjBK?=
 =?utf-8?B?R2tJS1V5TzBKLzJPUDJjMXdzVVV0SzlXOGhZYzZvN3dJVko2dnBOWjh1am5Z?=
 =?utf-8?B?RzYxZjRVaGU5am1yVjhxT3YzNnpLb2FEZEtnZCtwVFd1Y1hyQmRVeXIxZG1Z?=
 =?utf-8?B?OW5qcFJQeXEwMHVGZWhCZTFEems5MlEzQTFrQlJRZXFzUnIrb1JLZHlBVUVv?=
 =?utf-8?B?V3ZUbFBDdzV1MUtKV2VOSk1NN3FCS0dWSndFTW9LZitSZ3JvSTR2V3g4bzYr?=
 =?utf-8?B?ZDkwVjRvbWsvQmlHaEJvMzYvQVJwRnVRNnRqQ1d5YzB4WlV5V3lyVEY4MTBT?=
 =?utf-8?B?NExlb3RGeEViQS9UampoN3hxeW9uTDZHZEV4TGhoRjdYZnF0cGQ4RklIQThu?=
 =?utf-8?B?V1BUeVUrdHVoUHlPYXdzOVVmRGxhbmVsdC83NVVKbDRpcDA5eWkxOHZTbSsr?=
 =?utf-8?B?Z0hoUkV3RC9HSzc1OXVwZnNHN2ZjaURhOW13SU5laXpmZDczM3prcFE0OFd2?=
 =?utf-8?B?U1hja3JZOVhjYVdkS09hNEo2TC83ZS9FOWdMNGlmVGJya2JDVGVVNkRUODlh?=
 =?utf-8?B?N0g4bEJlT3h0ZXlQeXgwUnRzTFFHd3RZZmU2dUl0MUNFTnlKQWUxOVBQa1Fi?=
 =?utf-8?B?VG1nYkkvVStvTUFQUldLNHBqQ1NSbkNNWTdSWnp1bmtXOXZsMmQ1SzFIelFB?=
 =?utf-8?B?M09BQzFrR01Hb3YvczJjNFFBUEcrUFV2T0pKMU8xaTFZQktuQUlCa1gydjZa?=
 =?utf-8?B?OXRYWTg0RU1wckJ1d2FZbTRGM3FHRFhwNllCMkN6UHgxVHRuYTdnQVpML25n?=
 =?utf-8?B?THFHcnFhM3JXUi92UWQ0ZURWTHVJZzZVUVlUL1k3TEVmR08yc0RVdGtvWVM0?=
 =?utf-8?B?aG5UazREODFMTFJaK2lmL3FoOGx5SUZhWlV3T1lOdk5mTG81UnZnMjdjcGJr?=
 =?utf-8?B?MXZWcWs4TDJMcU9JaDdpUWVWQW1FejJFazZGekt2V3d2TUdwbm85M3E5b3c4?=
 =?utf-8?B?V0lXWEt2a0pkUmxacmMvQ1Q0UFRvSXM3dE5UQzZ4aUVsd1E0WE9nMStVVVlD?=
 =?utf-8?B?c0RzQVpsREV3dTJ2c2RZUzVEemREQytsY01qSDJsL3cvbldVeWdSQ3l3cjhP?=
 =?utf-8?B?SzdHUzBFcitNNS96Ym51NC9OL2dySmJVR255WURPUnlaUit6aXVqMWxhMk4r?=
 =?utf-8?B?Sjl2OHpha2hNdmgrRzU2UmtTM01meUppSXJlWGNxVHN5QVAyMkRHUjd3QUNo?=
 =?utf-8?B?NFFXRmdRNklNODVwMEJlQjZORTRiVzdveEM1eDhOMzVRSk9pT0F0S0pDSFBL?=
 =?utf-8?B?eEl4clpLVFd0QW1ZTC9KS3U2djFMQnMxeVdYMlA1aWhnQjI4Mm5uUnAra25V?=
 =?utf-8?Q?ZUgE760ewtwMSH/zQJ7Q5y0=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c2451232-f7f0-47a2-4c3b-08d9d457948b
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 16:38:06.9995
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: S+uoNsBG71bn5ZxG0iJs55QAO/5yJhn8q8HYLQQgdji5npFZGLbgTX7MpKctrF+SC2VHO0vozm6PiPEYx7pVsg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6477

When a page table ends up with all contiguous entries (including all
identical attributes), it can be replaced by a superpage entry at the
next higher level. The page table itself can then be scheduled for
freeing.

The adjustment to LEVEL_MASK is merely to avoid leaving a latent trap
for whenever we (and obviously hardware) start supporting 512G mappings.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Unlike the freeing of all-empty page tables, this causes quite a bit of
back and forth for PV domains, due to their mapping/unmapping of pages
when they get converted to/from being page tables. It may therefore be
worth considering to delay re-coalescing a little, to avoid doing so
when the superpage would otherwise get split again pretty soon. But I
think this would better be the subject of a separate change anyway.

Of course this could also be helped by more "aware" kernel side
behavior: They could avoid immediately mapping freed page tables
writable again, in anticipation of re-using that same page for another
page table elsewhere.
---
v3: New.

--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -2071,14 +2071,35 @@ static int __must_check intel_iommu_map_
      * While the (ab)use of PTE_kind_table here allows to save some work in
      * the function, the main motivation for it is that it avoids a so far
      * unexplained hang during boot (while preparing Dom0) on a Westmere
-     * based laptop.
+     * based laptop.  This also has the intended effect of terminating the
+     * loop when super pages aren't supported anymore at the next level.
      */
-    pt_update_contig_markers(&page->val,
-                             address_level_offset(dfn_to_daddr(dfn), level),
-                             level,
-                             (hd->platform_ops->page_sizes &
-                              (1UL << level_to_offset_bits(level + 1))
-                              ? PTE_kind_leaf : PTE_kind_table));
+    while ( pt_update_contig_markers(&page->val,
+                                     address_level_offset(dfn_to_daddr(dfn), level),
+                                     level,
+                                     (hd->platform_ops->page_sizes &
+                                      (1UL << level_to_offset_bits(level + 1))
+                                       ? PTE_kind_leaf : PTE_kind_table)) )
+    {
+        struct page_info *pg = maddr_to_page(pg_maddr);
+
+        unmap_vtd_domain_page(page);
+
+        new.val &= ~(LEVEL_MASK << level_to_offset_bits(level));
+        dma_set_pte_superpage(new);
+
+        pg_maddr = addr_to_dma_page_maddr(d, dfn_to_daddr(dfn), ++level,
+                                          flush_flags, false);
+        BUG_ON(pg_maddr < PAGE_SIZE);
+
+        page = map_vtd_domain_page(pg_maddr);
+        pte = &page[address_level_offset(dfn_to_daddr(dfn), level)];
+        *pte = new;
+        iommu_sync_cache(pte, sizeof(*pte));
+
+        *flush_flags |= IOMMU_FLUSHF_modified | IOMMU_FLUSHF_all;
+        iommu_queue_free_pgtable(d, pg);
+    }
 
     spin_unlock(&hd->arch.mapping_lock);
     unmap_vtd_domain_page(page);
--- a/xen/drivers/passthrough/vtd/iommu.h
+++ b/xen/drivers/passthrough/vtd/iommu.h
@@ -229,7 +229,7 @@ struct context_entry {
 
 /* page table handling */
 #define LEVEL_STRIDE       (9)
-#define LEVEL_MASK         ((1 << LEVEL_STRIDE) - 1)
+#define LEVEL_MASK         (PTE_NUM - 1UL)
 #define PTE_NUM            (1 << LEVEL_STRIDE)
 #define level_to_agaw(val) ((val) - 2)
 #define agaw_to_level(val) ((val) + 2)



From xen-devel-bounces@lists.xenproject.org Mon Jan 10 16:38:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 16:38:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255503.437857 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xgt-00085r-8m; Mon, 10 Jan 2022 16:38:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255503.437857; Mon, 10 Jan 2022 16:38:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6xgt-00085k-5M; Mon, 10 Jan 2022 16:38:39 +0000
Received: by outflank-mailman (input) for mailman id 255503;
 Mon, 10 Jan 2022 16:38:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6xgr-00081m-L3
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 16:38:37 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c21ae3c9-7233-11ec-9ce5-af14b9085ebd;
 Mon, 10 Jan 2022 17:38:36 +0100 (CET)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2170.outbound.protection.outlook.com [104.47.17.170]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-20-gCby2cU-MuSOeORWtzizcA-1; Mon, 10 Jan 2022 17:38:35 +0100
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.4867.9; Mon, 10 Jan
 2022 16:38:33 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 16: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>
X-Inumbo-ID: c21ae3c9-7233-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641832716;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=97KazUwFBsNkQrAya4NCXyO8j9M+QQa3dDJrEHqAexY=;
	b=MKH/w1aKZMa0UqPWlOkdULDxInifHJSWM0Ojq+tIwMv+htpyg+48ySVwjdY8yGLLzwrvpR
	5nsTVjuYbep277m2fIDEp5Si0C1ajQBKNcBZrpRLOCezXZIRwflILpj600nmTAMtb2Zore
	nY37CtdhztSxwIBNdjNf4sAyI2ymBY8=
X-MC-Unique: gCby2cU-MuSOeORWtzizcA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=K267DTvJe8m8dWOmIX0c7eBXKE3CmyYZ545KLDeLXzsmnWF4sykc2dilqv3rP/pHIBz/VTLrvCFkSM0RZGq3OWmDH6rBcpZBdeLdTRc8J3FcAqQhu9oYPk05CZMt5zsC0sGg0KWwBy1bjIjTP+KTNx/wc4hTykp5qAkJmtHkJJPpmNZ7EkGpCpu0hdWWn2YH5UT5I30OhwDnqAeZYNK4XJNKUwHqwsxg7qdr6W9pObyLvW1f+ZljJa0LEMbmaa5ffItUvKFT+RxCdPhyad64UoO1vnA3PCEt+MTifocsBTCzg9D4ShSb76BxCf7tHDr8TDLdyaJILD7P+TqIQUho/A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=97KazUwFBsNkQrAya4NCXyO8j9M+QQa3dDJrEHqAexY=;
 b=cHfol603NA8IMzoZuUAp+nZ0I3NV50r5bZkxwBunL13ThGrCqN1dTODJ45cGvnoQngNMEddsxzQN+2Li1q0A8Plnl+NvJiIjensiN0XMw/3F64AQ5uvtKcLBCzxS5YOZ3d8sPhpVmwzICxoSt9FqUTaEww6QHZhfDkMJW0HVywqTIan9A4T04um9QRFtgoXP3NQz4V4LDC/iOtBrXqAWOXwXn4V7qLz8yu/i1IoK6R44qj04sGjAnYLxy8eMjkwOfklWos8YO9ebpU/oBAPsGalbZi5lio6hR8IIf41vQ1sg/BeiM0sWCdqDuno8SCnkExAbEAwce/SEg7wg7dEbIQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b5d5d7b1-7b53-5c74-1988-3baec74a9f45@suse.com>
Date: Mon, 10 Jan 2022 17:38:31 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: [PATCH v3 23/23] IOMMU/x86: add perf counters for page table
 splitting / coalescing
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Kevin Tian <kevin.tian@intel.com>
References: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
In-Reply-To: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR0602CA0020.eurprd06.prod.outlook.com
 (2603:10a6:203:a3::30) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9b9832db-e6cc-4391-03de-08d9d457a459
X-MS-TrafficTypeDiagnostic: VI1PR04MB5168:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB5168354D49B07535C6A25B67B3509@VI1PR04MB5168.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:
	D3Zv0S7mKEZg9PIiNTQvM2GgtRLbIemWYsxZk7kNh1qpc+yqyto+c4aTxx07O0JmYhpUaSz2ShFzchaRUEHpUhyi2Dh90JrV3oAXCxCGNWjbbZQQQQFoPnWK1enM29B+Oc9zPjAp5O+tSetUvUhN+9Utre7h66qcrrJWLWYyl8JxzrN8ysnEWwE90wijxKfsBYLQfWDPZeq3/4yZ5QlcGe5vpwe0onBLkAiuhbCQX1qh5fMDxHkaDawjnBkXyr80oXrUFCyIHXO0uGWWSTZvC22kutE14CYCPFIM+GCmM4K0EjIh4+S7phSz6dYnK/gScunq4HjWbp0BSgI8lGuxAvgqiEFmuMHlmP3rktrkEKW7Zuezdf1yINo60F1wXJYh7HCIga3+i2x63lL+tNYqonakm8ZbMotZ0ph5qRCubNXUWivobHl2yWBYk2JgiBGpwqBMTCwUWe6WpKS5V3ZytxnQN//qS4N9c25iCUWBLwhyPN5dsWUYXXkc1efQ2BX7dZll71ze0K8s2HID/10fGNUhMN6oWLL1ICynIEUfy4l2KLEZJcoZaZC00di291DvhLwBz78oCzFyB2wb4Cnn9UtOlNAyB5fVsE9/zazfhv1uWuKvt0fbqXu1fv/dXQjuNnnVattH5mWnPIXCtJJv2uXrHGGd9p+YPvyPHI5VlByv3HkJBUnYmgW4E1N/Xj7Cpqh2o1kjFJAlaZCo5/2lii12kdpnTpd7zXLqGFsJeMw=
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)(36756003)(38100700002)(2616005)(2906002)(5660300002)(26005)(4326008)(8676002)(54906003)(508600001)(83380400001)(6506007)(6486002)(66476007)(66946007)(66556008)(31686004)(86362001)(316002)(6512007)(186003)(8936002)(6916009)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZVdoZldOSWFscGNVdG9OdUhRNGFiTUkrek9FK0xYaUpyUDNhVSt6Y3k5K1JZ?=
 =?utf-8?B?aTZuN3JCMkozNjJVaSt5VDNSeUNqYjRVSDZGU0ZENjA4YUlPZlI2QjA2TFl6?=
 =?utf-8?B?NzY4RVFpbnNyQmZFbFV3YTJveDdpdm93dFFBa0hic2NuZzNZWlc4TDViSzEy?=
 =?utf-8?B?UVgveTZBRzdYaDJNeERIT241aW8yV0Rqc01MNkFYc3FrM1UrUTFsVExwRXNW?=
 =?utf-8?B?NkU1dEpFdkprYjFMNWJNMzBWemNKL21INllhREpxOUZ1ak5aeVh0VGE5YzFE?=
 =?utf-8?B?T01IellDcWo2aHgvRW54bTJOVmVZVmhNVkVzTEhuMTVWS0M1OEIvREFJUnAz?=
 =?utf-8?B?TlpFWlFrenRXRzRYZDArT3IvdWZIQXhrRzU5WWUvc0VlZFhoUHdBWHdXd291?=
 =?utf-8?B?NGhMSzg1R0pBalV4ckJ4UUkzL3Rzc05ka2tFWG92YkE3YmpkUUVYblBYVDVG?=
 =?utf-8?B?WklVVVg4VmtmUlI4Z3AxYUhWTllmeU9OSW4vSXgydlkxdW1yNEhQUmpnWkJu?=
 =?utf-8?B?NnBPTm5Qa0EweklzOGJJZWt0ZUpwTnpCeWtxUGw0MmMzcEd2SE5MZTErMDlE?=
 =?utf-8?B?eWdreW42aUZDOE5jaThCWEVkQXh4U1pJaFZVSkxmQW92aU5IclZROERaYktJ?=
 =?utf-8?B?V3F4OU9UVXA1SDB0Z0VpanF0ZHl3MlZiZmU0cmtVSlhQYTA2MXpSd0wrTzhj?=
 =?utf-8?B?TlpOSlQ4YlJZV3VxRnBuZG5sY2NTdHhGRURUbUg4K1VETUlQSy84dEhwcjBD?=
 =?utf-8?B?ZDNKTmlIdTB2NVJ3c1YzY25wd0RwbjVLWU9waHJ0UjIxZFVvZ0RjSlZmYUlr?=
 =?utf-8?B?ZUVqU1hTSFJqTUNCNTlQcDE3dGdwd1prczhXcXNqaDErVlVRV01oVGgwa0gr?=
 =?utf-8?B?TEQ1eVQrYkZmYlNDU3EyOVU1OVVqYXdtSXpxcTMxN2Z5b3hpRTdBdW5LdGtR?=
 =?utf-8?B?U3BpNmJVRXgvSHJzSXpFMEVLOHRHMjdzQlhkN2p0Z0wxek4rN3AxYWhmNDRY?=
 =?utf-8?B?NENZQmVFaUNTdmFiSE1SVnIwdktXSERwa3FUWXRiOGJoUTk1WHQ0cWNaS3R5?=
 =?utf-8?B?SlFJOGV1eVNxeXBUV0RRdWpyYXEvRGU4cmw2clVEdzFDNkVhVC9XY004aHdO?=
 =?utf-8?B?WXpLVUFPakpSM2NSbHFCQ0R3ZHdiaEM4WlgrWjdMNklwZUVvZnVRRmREMGFH?=
 =?utf-8?B?SWRSVWpEZmExR2pYWU9MUDJFU1dobXJ0MU1kdnlPVFZWaEtNcHR0aHlQNWhK?=
 =?utf-8?B?MkVFbklQMDYwaHB0MEU1YVpuSmtuOUZTRk0zRHdwcmtSeTBXNVQ4QUkzVXpB?=
 =?utf-8?B?U1RWRHIzZ2ZjSVV0M21SZjZwNXoyeWFQanpEcmkwRmRoM1NNK01pODFTeStF?=
 =?utf-8?B?NGk3SS9YeWRXMEdkaEF5UFdPNytFM29jNWl6Z3Rrd09BUURaOGpXZVdTWVF1?=
 =?utf-8?B?TlJ3SHJpcVVzNTRGYjlDeFI5Y3JienZndzJhek56UTkvcHJSWTlORjZjYWhV?=
 =?utf-8?B?M1dpZ1o4NGFWVzBqNnljZVJKWHVrUTI5TDF3VmQ1U0RMZElibWJ3VTZ3QjBv?=
 =?utf-8?B?cG9FaTdFVTFWWjN6WXBWRGFEazMxMm5uc3BTU0czMkQxRUZzT1dad2tCZUgw?=
 =?utf-8?B?elNaVE1qRnlVWEIwODVhRUlhZmtsY0tFWWwvL3FnOWJTYTVXNFFRSWhseDlw?=
 =?utf-8?B?cmdLSThnZ3pUa04wRTlSdi92K2FtWEJsK0R3R0Ntd2tra0hVN0t2eGtVdkpX?=
 =?utf-8?B?L2xPMU1BcmxLN2dCdmRTcnBFOXY2QTROYWtEOFlveituY3BRQkZ1NXFUU2Vr?=
 =?utf-8?B?UTBxUUdFanUvRDVZV2dtUTRGS3doU3cwMExjeEZhTGdoTnJtV0xBb3E0dzQz?=
 =?utf-8?B?NmR1Z3hqY0s0WFBYZHJreTZiVXBmNTJzLzRhTE1aNSs3VHZPZU5PNVQzcm1s?=
 =?utf-8?B?K3FOT3FUWnRNOTMveWROT2xOLzBkaWc5SnNqV1dkWUlucGRLTzlDbUVvbHNJ?=
 =?utf-8?B?NGlaTFZvTzY1TzNPNStpQWNZS09NV0V3Z3FhWmVveEd6RElqV09DaXpsZFZw?=
 =?utf-8?B?bFNMK1dkSjRSVE1Mc1FKeGJBUlhYQ3loN21MVERaZVcwREZ5eDFCODk1dDNL?=
 =?utf-8?B?SjhrZ2s3MHBHRWdtM25wWTZObFBEUVFIWU5BWjJ6cTdWVE1RZWRPSkpmYm0v?=
 =?utf-8?Q?7PH7l0Wz9kdx1xkwAZbWmZ8=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9b9832db-e6cc-4391-03de-08d9d457a459
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 16:38:33.5155
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: MsNWg9I0/Z4ZZzeFY12tBFtgIW6/jdu0QZqvjm0efa4A7HuLFYuwoMjp62HrQpjJU8slOjF+ILst9ehfuNU7iw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5168

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

--- a/xen/drivers/passthrough/amd/iommu_map.c
+++ b/xen/drivers/passthrough/amd/iommu_map.c
@@ -283,6 +283,8 @@ static int iommu_pde_from_dfn(struct dom
                                      level, PTE_kind_table);
 
             *flush_flags |= IOMMU_FLUSHF_modified;
+
+            perfc_incr(iommu_pt_shatters);
         }
 
         /* Install lower level page table for non-present entries */
@@ -411,6 +413,7 @@ int amd_iommu_map_page(struct domain *d,
                               flags & IOMMUF_readable, &contig);
         *flush_flags |= IOMMU_FLUSHF_modified | IOMMU_FLUSHF_all;
         iommu_queue_free_pgtable(d, pg);
+        perfc_incr(iommu_pt_coalesces);
     }
 
     spin_unlock(&hd->arch.mapping_lock);
@@ -471,6 +474,7 @@ int amd_iommu_unmap_page(struct domain *
             clear_iommu_pte_present(pt_mfn, dfn_x(dfn), level, &free);
             *flush_flags |= IOMMU_FLUSHF_all;
             iommu_queue_free_pgtable(d, pg);
+            perfc_incr(iommu_pt_coalesces);
         }
     }
 
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -451,6 +451,8 @@ static uint64_t addr_to_dma_page_maddr(s
 
                 if ( flush_flags )
                     *flush_flags |= IOMMU_FLUSHF_modified;
+
+                perfc_incr(iommu_pt_shatters);
             }
 
             write_atomic(&pte->val, new_pte.val);
@@ -907,6 +909,7 @@ static int dma_pte_clear_one(struct doma
 
         *flush_flags |= IOMMU_FLUSHF_all;
         iommu_queue_free_pgtable(domain, pg);
+        perfc_incr(iommu_pt_coalesces);
     }
 
     spin_unlock(&hd->arch.mapping_lock);
@@ -2099,6 +2102,7 @@ static int __must_check intel_iommu_map_
 
         *flush_flags |= IOMMU_FLUSHF_modified | IOMMU_FLUSHF_all;
         iommu_queue_free_pgtable(d, pg);
+        perfc_incr(iommu_pt_coalesces);
     }
 
     spin_unlock(&hd->arch.mapping_lock);
--- a/xen/arch/x86/include/asm/perfc_defn.h
+++ b/xen/arch/x86/include/asm/perfc_defn.h
@@ -125,4 +125,7 @@ PERFCOUNTER(realmode_exits,      "vmexit
 
 PERFCOUNTER(pauseloop_exits, "vmexits from Pause-Loop Detection")
 
+PERFCOUNTER(iommu_pt_shatters,    "IOMMU page table shatters")
+PERFCOUNTER(iommu_pt_coalesces,   "IOMMU page table coalesces")
+
 /*#endif*/ /* __XEN_PERFC_DEFN_H__ */



From xen-devel-bounces@lists.xenproject.org Mon Jan 10 17:04:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 17:04:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255514.437868 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6y5n-00037H-Ed; Mon, 10 Jan 2022 17:04:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255514.437868; Mon, 10 Jan 2022 17:04:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6y5n-00037A-BX; Mon, 10 Jan 2022 17:04:23 +0000
Received: by outflank-mailman (input) for mailman id 255514;
 Mon, 10 Jan 2022 17:04:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/GSA=R2=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n6y5l-000374-LH
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 17:04:21 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 596235f9-7237-11ec-81c1-a30af7de8005;
 Mon, 10 Jan 2022 18:04:19 +0100 (CET)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01lp2052.outbound.protection.outlook.com [104.47.1.52]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-36-BDnKyrL_OXmGXfE2yoqDIQ-1; Mon, 10 Jan 2022 18:04:17 +0100
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.4867.11; Mon, 10 Jan
 2022 17:04:16 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.011; Mon, 10 Jan 2022
 17:04: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: 596235f9-7237-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641834258;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=b2nEafEhS60r2s+a3eB8VJcSMVaDd3MdoS5flB9lIHg=;
	b=FTU9g3AdrL+kWmkCg4ecUedgyN/o4unfN3sUD0wbWYxRAaLowVQ+Nh6vWIZOAaVTrPEY98
	IJ4uo4Vya98/b/V9DGCTQuiQUtuO9RTmLvblL7fcPptH/h16ZaXf6Hw8/7MVWyT4LqZTaf
	5BFm+th0zmE1DA7X5QCSRkPrcuJyTu8=
X-MC-Unique: BDnKyrL_OXmGXfE2yoqDIQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GWGVVDqap70XiDQxTW4nEKMDnr8kL4ZtqYNGiw8kUB9oqUA8qI0p66abnkSKipWt8fZT63GpLUkM3prF8Hr7kBDp/4dSG0OYUGj+hQlq4hCY00fKbP+mjsuLtt8NNPZPEF4b9jSUXiNCNge3h+f+xbl7TU/AGIdo8RALII+6Kn/9HjBEdSl0UCfESylx0SOGdKhG76Q6pgnFCXV5BhazqIT/niFZhnaI/21AmmHKLIPTosjhMOdr6uwJm2LE8wV5NKVUrYDCi/bxuUdKYWkUZXvosgiR65RnSs7GaeEf4qYa47ecNHXvGsGsGJQvkT9tEvHHuPh3BV7wgb6CqQ/HnA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=D/qz+VDnnOiM+8CL3hmDweRilidN9IzU+w4L9mzC25k=;
 b=OvvM+jSw5spAZ9OsKXR4df95sj2qmXc5gCnruIP+BufvXmGi7ZT4c2f/+IxMEUM5ijvbI8eX+znrOzTrUmWuE39Xsq0ESF3D7vA78dE3sZ2EYdNbsEMWi1k8udniLkjEvta35ki2hQjt8xAmrUdbfaPUFlm8LwYHy218k657I40m8n8fxrE5TZNnei2NIManSd0GP041/cIG8ir6MM1A5amNL7Pyc6Qp3sW37jglT0JsU8SX4r1RO706evRkR2H2+ZuA29sj5A+1L6gw3yXXm1sIkZwQSdlYlSQwT+wfBUE6T8K5LsMSCM0k+r8FfPJJXKZNttjcz7RipHLJVqlwYw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d887e3c2-8d89-8855-887c-943ebac6494d@suse.com>
Date: Mon, 10 Jan 2022 18:04:13 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: xen 4.14.3 incorrect (~3x) cpu frequency reported
Content-Language: en-US
To: Andrew Cooper <amc96@srcf.net>
CC: James Dingwall <james-xen@dingwall.me.uk>, alexander.rossa@ncr.com,
 xen-devel@lists.xenproject.org, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>
References: <20210721092958.GA2502468@dingwall.me.uk>
 <c9c6778d-9823-4b07-fb48-604acef1f3de@suse.com>
 <20210726123332.GA3844057@dingwall.me.uk>
 <06be7360-0235-3773-b833-3e0d65512092@suse.com>
 <20211105152501.GA485838@dingwall.me.uk>
 <20220106150809.GA856484@dingwall.me.uk>
 <78540c18-c54e-07e8-c099-d7bfd29bea91@suse.com>
 <YdwodzmyvNwGJaSM@Air-de-Roger>
 <539e31bc-3e68-9e9d-3bb3-2d0f1b2834fc@suse.com>
 <0b2d6240-5780-b8ea-8828-ece44047cd63@srcf.net>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <0b2d6240-5780-b8ea-8828-ece44047cd63@srcf.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS9PR06CA0304.eurprd06.prod.outlook.com
 (2603:10a6:20b:45b::30) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 58ebb3d4-c94b-4733-ad43-08d9d45b3ba1
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2447:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB24476DFAA579FACFEFFD5B4BB3509@VI1PR0401MB2447.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:
	kHigwHDil1vX5jMz7/zuvj7XRQAz/ARTzZzC72QRVSCVRJbkE1s3mcXjtnbOeiT4n3RQUu/FYi10ChGAV/TX76BH4eH9K+iTm78RVBLXXLqhKjHey9kCmXPo/xqegZ4qjr/YbYyQRWKsySCD/Hfm4HsyOeZrZNTvtAVsZZk1XQeCjsA80tdN6bzeNUVNQ6YJXRAOqCyuKYaGLEdr1F96C3JLMpxitAmHmr2kq9i+18kUkk1jPz2NlJxdYE0LezsGv4oeGq5JfOc5bTkvhsbJqu6XwIfST7uqOLTbhE3suI42u2mxH6kPMjxGwCe/3bplJGNNaaW4aiRpXDgnZiSmj7B/drcrnNyIywVoF6bu1qTI3Oe9WwkhUqvRBoydjl13Sw4YAjlKIIX6b1bVFFDx8HUp5eb7FTqziFvXiWT3beEsyKaJanBRY5pvowU5NQsgV0h4NO7iMZnQ/GhIQ7S64QTeiSOo8pczxhIB0CT/nFuLBX5gJK7Mh/c6VySIulDhiM0TYXSvVavPv7ayNoow1xyX9dBydyFa6dBC271j35xdujlsuj58mVt/gZnhhL1+6uxIzFcJpHEF5o56L8MrCny470vsazwBzczRscj89/WMRvoaILjO0cNSic7DSKDjW4fD2evCTHPU5gVdY1ZkB04UhPqCWNe007ibvqHGF0XujwybcFGg8XVbQJiXR9n1uWHlfhi7rjEU2PMNDm49JTmLgeVO8Jlw7f8y84OKgdo=
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)(508600001)(186003)(26005)(54906003)(66556008)(38100700002)(66476007)(6506007)(2906002)(53546011)(66946007)(6916009)(86362001)(8676002)(8936002)(4326008)(316002)(83380400001)(2616005)(6666004)(31696002)(36756003)(6512007)(5660300002)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?aie9+ScwcFYXXKKAmpp4QkNmak7i+IV5HWJh/fLpK9Lks3eUDuUxO14dvwiZ?=
 =?us-ascii?Q?58EDIpzrWPjNQpq51MKCRXnCGllpThR8EVlv7/PNlM1KogSMHEYSmhYnBQfI?=
 =?us-ascii?Q?YzKTJobuG9hqa9lt6yqp/zUJ3V3JBW9Vdb+ybrV5UvPrFdbePhxaRVnLv1fv?=
 =?us-ascii?Q?U9Sv525ZS+BGaspQFIsxt2SA3OmPksfEYTsJ0C37K9xJsSnDMpHvovey2wnn?=
 =?us-ascii?Q?H9QczMD0TKnk/Y4LXVJNB5sK6DzFrs6x5ZC3e9fB32yrXQwmjJESudt08MOf?=
 =?us-ascii?Q?u9IUPpPr/WwAajI5uISM7c7/di2hPzIs2qL6IzTJMuQ6F8IAXxR0ZJ5WZdjW?=
 =?us-ascii?Q?PM0wMQa35mPZSc7vomr6nSC3pu9to9lOtG+h0TANLifPQaFQgZBSxTSimkIY?=
 =?us-ascii?Q?ylAAt2Zqsq/CyE4dy8SjJKfkWNpTQK/peqQIsqJwg0r/LJje+ZFN61hsz6q/?=
 =?us-ascii?Q?R1EQxIBFhInpPx8E/YSeSi8deZYZQQ2R1gE8JBblYpyvmzYSIsV2CJpjO/OW?=
 =?us-ascii?Q?QRU2PvpE31opkHRD+WOfTOhqyYbjovtFuXTSSfyUB/M2bxNMVO6t5ccWucv9?=
 =?us-ascii?Q?HF+cLO/5JR7rtEEhmacU+d0/3jxH8OTcu97wOXIqZDlThFgK3ZhfNqLUwg2+?=
 =?us-ascii?Q?dL9XV3sm/EdA6S1Ar96TRREO6F+tkkpp6iggJo5qKRiWNoYokVMZM0GHBf6u?=
 =?us-ascii?Q?jx554CdwdZGjX+mxCmxym2gi0B5Tik9fwGs93hpYwafOkrRzy8LH4dJ0Ykru?=
 =?us-ascii?Q?cHBzfojytmcXN3g4xmnKUbHc+FMs0AkhL5cJCQjbxn+aFyOGfdCQh+quuw6i?=
 =?us-ascii?Q?29ntj9lBtvPcCGVFRKUXb52d6hJKed2WYVsO8TD+bb4YRJ3uYDj80dnFXrkG?=
 =?us-ascii?Q?N94q8ICOKiHM0XNbAXgft+hQTnQBh/SjE0ZJ1+b9U68KXcm0cCz4TMx9PNVe?=
 =?us-ascii?Q?HHyRMmnAJImiQzVdVQqp8lnXrdYjdcXbRnqloUx9vib2U1LXF3TsQ5dzYu0P?=
 =?us-ascii?Q?sfaE1M5Q1kZCj71QpM+3o151rfloME3DnMAdQ7xEl0lm7T5B1MT6AVGVyHFW?=
 =?us-ascii?Q?zTsfeQLr0aF+DBIVt3HwW8Q2ixfmi/Q2ze5oDwT6PW7MnpyXSV5ctGdGKtsW?=
 =?us-ascii?Q?dltXd6JbnqvVKhlTAlc2W+Z0Kb34VW7Wk5tShIQLU/o7vw0no43M0/8IM+b7?=
 =?us-ascii?Q?NE2EjvamZMXJNNTdBNL+8se7DPOWG3ExJHb77iJhFLyRGJWtHNFAzR2eDdXq?=
 =?us-ascii?Q?Ri4k51XvuU40jc4ALVxJA+xurr0FT4/jITN9GYx0FnXOalitjdnwqSa10vLc?=
 =?us-ascii?Q?efqEL3/X5/QvPjSdWkEKs2nWU8UT1OGaglUt1+rr5jlvN6y8SoLmf+Ky3U3E?=
 =?us-ascii?Q?BoyPiL3p05gDCMthd8D2oizNFWIDFmDPs0RgZs00aYhZVXRBNKDujHhBgRSv?=
 =?us-ascii?Q?T6K3pE4C6USLMvjrQJCiaLtroV/hiHUIU59ib+tJoA+Bp2MO4bp5pCY+QLjk?=
 =?us-ascii?Q?8MaR6HZ7eOhD2bjIOwhV0CvKSOExMWi/C5yEWdEhpxMAvuTxrUeCNG6rlHLD?=
 =?us-ascii?Q?sbTBWiJQPTpAD0BlQ6CAUra4OP72tupCZ38PajE0q+p8gKqcjhEHyNYNB975?=
 =?us-ascii?Q?gMhSIJ117a2rmxXu3l3qTqU=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 58ebb3d4-c94b-4733-ad43-08d9d45b3ba1
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2022 17:04:15.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: TyBXXKcq6QN1IdYwLrtoJkW5TF4WYtoDhYxjJhyR2fKn9CidLbHYJB5MNjlajmRVKrM9KMYoiKdH+CQUfo2LVQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2447

On 10.01.2022 16:43, Andrew Cooper wrote:
> On 10/01/2022 13:11, Jan Beulich wrote:
>> On 10.01.2022 13:37, Roger Pau Monn=C3=A9 wrote:
>>> On Fri, Jan 07, 2022 at 12:39:04PM +0100, Jan Beulich wrote:
>>>> @@ -415,16 +416,35 @@ static int64_t __init init_hpet(struct p
>>>> =20
>>>>      pts->frequency =3D hpet_rate;
>>>> =20
>>>> +for(i =3D 0; i < 16; ++i) {//temp
>>>>      count =3D hpet_read32(HPET_COUNTER);
>>>>      start =3D rdtsc_ordered();
>>>>      target =3D count + CALIBRATE_VALUE(hpet_rate);
>>>>      if ( target < count )
>>>>          while ( hpet_read32(HPET_COUNTER) >=3D count )
>>>>              continue;
>>>> -    while ( hpet_read32(HPET_COUNTER) < target )
>>>> +    while ( (count =3D hpet_read32(HPET_COUNTER)) < target )
>>>>          continue;
>>>> =20
>>>> -    return (rdtsc_ordered() - start) * CALIBRATE_FRAC;
>>>> +    expired =3D rdtsc_ordered() - start;
>>> There's also a window between the HPET read and the TSC read where an
>>> SMI/NMI could cause a wrong frequency detection.
>> Right, as said in an earlier reply I did notice this myself (actually
>> on the way home on Friday). As also said there, for now I can't see
>> any real (i.e. complete) solution to this and the similar instances
>> of the issue elsewhere.
>=20
> Calibration loops like this cannot be made robust.=C2=A0 This is specific=
ally
> why frequency information is being made available via architectural
> means, and is available via non-architectural means in other cases.
>=20
> There's a whole bunch of situations (#STOPCLK, TERM and PSMI off the top
> of my head, but I bet HDC will screw with things too) which will mess
> with any calibration loop, even if you could disable SMIs.=C2=A0 While,
> mechanically, we can disable SMIs on AMD with CLGI, we absolutely
> shouldn't run a calibration loop like this with SMIs disabled.
>=20
>=20
> Much as I hate to suggest it, we should parse the frequency out of the
> long CPUID string, and compare it to the calibration time.=C2=A0 (This
> technique is mandated in the Intel BWG during very early setup.)

This, according to some initial checking, might work for Intel CPUs,
but apparently won't work for AMD ones (and I don't dare to think of
what might happen if we run under, say, qemu). Imo we'd need to deal
gracefully with the case that we can't parse the frequency out of
that string, with "gracefully" including that our calibration still
won't be too far off.

Also I wonder if we wouldn't better prefer CPUID leaf 0x15 / 0x16
data over parsing extended leaf.

> If it is different by a large margin, rerun the calibration, and if it
> is still different, complain loudly into the logs.=C2=A0 This will fix a
> one-off-spurious event, whereas if e.g. the system is thermally
> throttling due to a bad heat sync, there is nothing software can do to
> recover the system.

I was already considering to use reference data like that from CPUID
leaves 0x15 / 0x16, but I couldn't really settle on what "large
margin" would really want to be. Imo we should try to correct not-
just-as-large errors as well, if we can.

For the moment I continue to consider my plan (outlined in another
reply on this thread) superior to what you suggest, but I'll be
looking forward to further replies from you or others.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 10 18:13:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 18:13:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255523.437882 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6zA6-0001n3-L7; Mon, 10 Jan 2022 18:12:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255523.437882; Mon, 10 Jan 2022 18:12: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 1n6zA6-0001mw-H8; Mon, 10 Jan 2022 18:12:54 +0000
Received: by outflank-mailman (input) for mailman id 255523;
 Mon, 10 Jan 2022 18:12:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yNae=R2=linutronix.de=tglx@srs-se1.protection.inumbo.net>)
 id 1n6zA4-0001mq-RY
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 18:12:53 +0000
Received: from galois.linutronix.de (galois.linutronix.de [193.142.43.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ea4d805d-7240-11ec-81c1-a30af7de8005;
 Mon, 10 Jan 2022 19:12:50 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ea4d805d-7240-11ec-81c1-a30af7de8005
From: Thomas Gleixner <tglx@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020; t=1641838366;
	h=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=2zo1GoaegfwLq8ByWLgrCdt6kQL15RfNmR27qdFkCXs=;
	b=wg+0jYPkfyXBANMF9DrbB1VZY/A2H3NxCDNL0PdKZaQjveELygI6vChYjpmK8mezF1B8JM
	3Q6Fgd45hThR6NFyrAztLFQW0Du/St5l9y9ZtElwgFl9NDDq0PXVzJtEVKov8EaNRDZ81L
	eVdqnmysikOkVjpjAg882Gsjz6yZ54Uctmk12wQHCofZiwWVPnCbHkpvv4tDyYO3vZLG9w
	e64U20W7FggbG9+ID3eENSFzucC7Eorc5fEgfrJ4OKYz0CE6hPEZM+Xgk2ce8kuvb0VAsa
	X3V2Ri9KCwv0+VUgAxjPNl/CVqXJXoiumYuNcRD9koqxMMscv8p75zWFHCgf8Q==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020e; t=1641838366;
	h=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=2zo1GoaegfwLq8ByWLgrCdt6kQL15RfNmR27qdFkCXs=;
	b=1JyyFqm//sjHNxcOA43/6zXwebeoZM76NF5Ms6lFcm7i8cDw3SAOwzaBpYafr8eAGkMdhU
	XC6nlPN+OSbMq8AQ==
To: LKML <linux-kernel@vger.kernel.org>
Cc: Bjorn Helgaas <helgaas@kernel.org>, Marc Zygnier <maz@kernel.org>, Alex
 Williamson <alex.williamson@redhat.com>, Kevin Tian
 <kevin.tian@intel.com>, Jason Gunthorpe <jgg@nvidia.com>, Megha Dey
 <megha.dey@intel.com>, Ashok Raj <ashok.raj@intel.com>,
 linux-pci@vger.kernel.org, Cedric Le Goater <clg@kaod.org>,
 xen-devel@lists.xenproject.org, Juergen Gross <jgross@suse.com>, Greg
 Kroah-Hartman <gregkh@linuxfoundation.org>, Niklas Schnelle
 <schnelle@linux.ibm.com>, linux-s390@vger.kernel.org, Heiko Carstens
 <hca@linux.ibm.com>, Christian Borntraeger <borntraeger@de.ibm.com>, Logan
 Gunthorpe <logang@deltatee.com>, Jon Mason <jdmason@kudzu.us>, Dave Jiang
 <dave.jiang@intel.com>, Allen Hubbe <allenbh@gmail.com>,
 linux-ntb@googlegroups.com
Subject: [patch] genirq/msi: Populate sysfs entry only once
In-Reply-To: <20211206210749.224917330@linutronix.de>
References: <20211206210600.123171746@linutronix.de>
 <20211206210749.224917330@linutronix.de>
Date: Mon, 10 Jan 2022 19:12:45 +0100
Message-ID: <87leznqx2a.ffs@tglx>
MIME-Version: 1.0
Content-Type: text/plain

The MSI entries for multi-MSI are populated en bloc for the MSI descriptor,
but the current code invokes the population inside the per interrupt loop
which triggers a warning in the sysfs code and causes the interrupt
allocation to fail.

Move it outside of the loop so it works correctly for single and multi-MSI.

Fixes: bf5e758f02fc ("genirq/msi: Simplify sysfs handling")
Reported-by: Borislav Petkov <bp@alien8.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 kernel/irq/msi.c |   11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

--- a/kernel/irq/msi.c
+++ b/kernel/irq/msi.c
@@ -887,12 +887,11 @@ int __msi_domain_alloc_irqs(struct irq_d
 			ret = msi_init_virq(domain, virq + i, vflags);
 			if (ret)
 				return ret;
-
-			if (info->flags & MSI_FLAG_DEV_SYSFS) {
-				ret = msi_sysfs_populate_desc(dev, desc);
-				if (ret)
-					return ret;
-			}
+		}
+		if (info->flags & MSI_FLAG_DEV_SYSFS) {
+			ret = msi_sysfs_populate_desc(dev, desc);
+			if (ret)
+				return ret;
 		}
 		allocated++;
 	}


From xen-devel-bounces@lists.xenproject.org Mon Jan 10 18:15:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 18:15:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255527.437893 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6zCS-0002NW-0i; Mon, 10 Jan 2022 18:15:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255527.437893; Mon, 10 Jan 2022 18: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 1n6zCR-0002NP-Tr; Mon, 10 Jan 2022 18:15:19 +0000
Received: by outflank-mailman (input) for mailman id 255527;
 Mon, 10 Jan 2022 18:15:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=g7Nb=R2=alien8.de=bp@srs-se1.protection.inumbo.net>)
 id 1n6zCG-0002N9-FP
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 18:15:18 +0000
Received: from mail.skyhub.de (mail.skyhub.de [5.9.137.197])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3c9dd3dd-7241-11ec-9ce5-af14b9085ebd;
 Mon, 10 Jan 2022 19:15:06 +0100 (CET)
Received: from zn.tnic (dslb-088-067-202-008.088.067.pools.vodafone-ip.de
 [88.67.202.8])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id C94C31EC0588;
 Mon, 10 Jan 2022 19:15:00 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3c9dd3dd-7241-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=dkim;
	t=1641838501;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:in-reply-to:in-reply-to:  references:references;
	bh=yJijyw2InAbx08UK5J76GgYEEJY5KfsyCm4JE5m3fms=;
	b=XNy8DlnSFy5+pvHFn1Uae4lUG0DSZMGU0faYz8w+Fv7gpg6JAo9zXBqKieOd8I7vD58WvZ
	Mx4VozLANk7ONAXZcUc6pDwdBR8Ge12nIcRlXQHzQAsDV8Ir7IWhmVTLfOCEzMRx6QGAIl
	SSSYTY/xkGLIfNjTCjZvCI60KIoezZE=
Date: Mon, 10 Jan 2022 19:15:03 +0100
From: Borislav Petkov <bp@alien8.de>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: LKML <linux-kernel@vger.kernel.org>, Bjorn Helgaas <helgaas@kernel.org>,
	Marc Zygnier <maz@kernel.org>,
	Alex Williamson <alex.williamson@redhat.com>,
	Kevin Tian <kevin.tian@intel.com>, Jason Gunthorpe <jgg@nvidia.com>,
	Megha Dey <megha.dey@intel.com>, Ashok Raj <ashok.raj@intel.com>,
	linux-pci@vger.kernel.org, Cedric Le Goater <clg@kaod.org>,
	xen-devel@lists.xenproject.org, Juergen Gross <jgross@suse.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	linux-s390@vger.kernel.org, Heiko Carstens <hca@linux.ibm.com>,
	Christian Borntraeger <borntraeger@de.ibm.com>,
	Logan Gunthorpe <logang@deltatee.com>, Jon Mason <jdmason@kudzu.us>,
	Dave Jiang <dave.jiang@intel.com>, Allen Hubbe <allenbh@gmail.com>,
	linux-ntb@googlegroups.com
Subject: Re: [patch] genirq/msi: Populate sysfs entry only once
Message-ID: <Ydx3p35NW6Y9tDvO@zn.tnic>
References: <20211206210600.123171746@linutronix.de>
 <20211206210749.224917330@linutronix.de>
 <87leznqx2a.ffs@tglx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <87leznqx2a.ffs@tglx>

On Mon, Jan 10, 2022 at 07:12:45PM +0100, Thomas Gleixner wrote:
> The MSI entries for multi-MSI are populated en bloc for the MSI descriptor,
> but the current code invokes the population inside the per interrupt loop
> which triggers a warning in the sysfs code and causes the interrupt
> allocation to fail.
> 
> Move it outside of the loop so it works correctly for single and multi-MSI.
> 
> Fixes: bf5e758f02fc ("genirq/msi: Simplify sysfs handling")
> Reported-by: Borislav Petkov <bp@alien8.de>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> ---
>  kernel/irq/msi.c |   11 +++++------
>  1 file changed, 5 insertions(+), 6 deletions(-)
> 
> --- a/kernel/irq/msi.c
> +++ b/kernel/irq/msi.c
> @@ -887,12 +887,11 @@ int __msi_domain_alloc_irqs(struct irq_d
>  			ret = msi_init_virq(domain, virq + i, vflags);
>  			if (ret)
>  				return ret;
> -
> -			if (info->flags & MSI_FLAG_DEV_SYSFS) {
> -				ret = msi_sysfs_populate_desc(dev, desc);
> -				if (ret)
> -					return ret;
> -			}
> +		}
> +		if (info->flags & MSI_FLAG_DEV_SYSFS) {
> +			ret = msi_sysfs_populate_desc(dev, desc);
> +			if (ret)
> +				return ret;
>  		}
>  		allocated++;
>  	}

Yap, works.

Tested-by: Borislav Petkov <bp@suse.de>

-- 
Regards/Gruss,
    Boris.

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


From xen-devel-bounces@lists.xenproject.org Mon Jan 10 18:51:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 18:51:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255535.437904 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6zlC-0006b3-KR; Mon, 10 Jan 2022 18:51:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255535.437904; Mon, 10 Jan 2022 18:51:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6zlC-0006aw-HF; Mon, 10 Jan 2022 18:51:14 +0000
Received: by outflank-mailman (input) for mailman id 255535;
 Mon, 10 Jan 2022 18:51:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=RiBW=R2=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n6zlB-0006aq-6q
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 18:51:13 +0000
Received: from ppsw-43.csi.cam.ac.uk (ppsw-43.csi.cam.ac.uk [131.111.8.143])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 47120db5-7246-11ec-81c1-a30af7de8005;
 Mon, 10 Jan 2022 19:51:11 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:50462)
 by ppsw-43.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.139]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n6zl8-000kzx-nm (Exim 4.95) (return-path <amc96@srcf.net>);
 Mon, 10 Jan 2022 18:51:10 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 3E9D81FBFC;
 Mon, 10 Jan 2022 18:51:10 +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: 47120db5-7246-11ec-81c1-a30af7de8005
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <6df1ee3f-c14c-8016-397e-0ed12b9e3a82@srcf.net>
Date: Mon, 10 Jan 2022 18:51:09 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20220107103544.9271-1-jgross@suse.com>
 <20220107103544.9271-2-jgross@suse.com>
 <06bcb18f-5e85-0fc1-86e8-857cb296645f@srcf.net>
 <afa9ce9e-e85d-3886-98db-1e99203c9c89@suse.com>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: [PATCH 1/2] tools/libs/evtchn: decouple more from mini-os
In-Reply-To: <afa9ce9e-e85d-3886-98db-1e99203c9c89@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10/01/2022 12:49, Juergen Gross wrote:
> On 10.01.22 13:25, Andrew Cooper wrote:
>> On 07/01/2022 10:35, Juergen Gross wrote:
>>> @@ -75,12 +86,25 @@ static void port_dealloc(struct evtchn_port_info
>>> *port_info)
>>>    */
>>>   int osdep_evtchn_open(xenevtchn_handle *xce, unsigned int flags)
>>>   {
>>> -    int fd = alloc_fd(FTYPE_EVTCHN);
>>> +    int fd;
>>> +    struct file *file;
>>> +    struct port_list *list;
>>> +
>>> +    list = malloc(sizeof(*list));
>>> +    if ( !list )
>>> +        return -1;
>>> +
>>> +    fd = alloc_fd(FTYPE_EVTCHN);
>>> +    file = get_file_from_fd(fd);
>>>   -    if ( fd == -1 )
>>> +    if ( !file )
>>> +    {
>>> +        free(list);
>>>           return -1;
>>> +    }
>>
>> This wants rearranging to keep alloc_fd() ahead of malloc().  With that,
>> there is no need for free(list) in this error path.
>
> Yeah, but the error path of malloc() having failed is quite nasty then.

Oh yeah.  This is ugly, but I guess it is better this way around.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Jan 10 18:56:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 18:56:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255539.437914 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n6zpx-0007Ex-6Q; Mon, 10 Jan 2022 18:56:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255539.437914; Mon, 10 Jan 2022 18: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 1n6zpx-0007Eq-3Z; Mon, 10 Jan 2022 18:56:09 +0000
Received: by outflank-mailman (input) for mailman id 255539;
 Mon, 10 Jan 2022 18:56:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=RiBW=R2=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n6zpv-0007Ek-CJ
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 18:56:07 +0000
Received: from ppsw-42.csi.cam.ac.uk (ppsw-42.csi.cam.ac.uk [131.111.8.142])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f5ca4eb9-7246-11ec-9ce5-af14b9085ebd;
 Mon, 10 Jan 2022 19:56:05 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:46776)
 by ppsw-42.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.138]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n6zpr-000fvH-8G (Exim 4.95) (return-path <amc96@srcf.net>);
 Mon, 10 Jan 2022 18:56:03 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 5E1601FB76;
 Mon, 10 Jan 2022 18:56:03 +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: f5ca4eb9-7246-11ec-9ce5-af14b9085ebd
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <b7534fde-b132-9822-fc3d-b3dfc28f9b04@srcf.net>
Date: Mon, 10 Jan 2022 18:56:03 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20220107103544.9271-1-jgross@suse.com>
 <20220107103544.9271-3-jgross@suse.com>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: [PATCH 2/2] tools/libs/gnttab: decouple more from mini-os
In-Reply-To: <20220107103544.9271-3-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 07/01/2022 10:35, Juergen Gross wrote:
> @@ -54,8 +70,11 @@ int osdep_gnttab_close(xengnttab_handle *xgt)
>  
>  void minios_gnttab_close_fd(int fd)
>  {
> -    gntmap_fini(&files[fd].gntmap);
> -    files[fd].type = FTYPE_NONE;
> +    struct file *file = get_file_from_fd(fd);
> +
> +    gntmap_fini(file->dev);
> +    free(file->dev);

file->dev = NULL ?

Particularly as this is a pointer in a global files[] array.

Otherwise, LGTM.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Jan 10 20:02:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 20:02:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255543.437925 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n70sH-0005t1-Uk; Mon, 10 Jan 2022 20:02:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255543.437925; Mon, 10 Jan 2022 20: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 1n70sH-0005su-Rc; Mon, 10 Jan 2022 20:02:37 +0000
Received: by outflank-mailman (input) for mailman id 255543;
 Mon, 10 Jan 2022 20:02:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=A8Yb=R2=linuxfoundation.org=aweltz@srs-se1.protection.inumbo.net>)
 id 1n70sG-0005so-HQ
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 20:02:36 +0000
Received: from mail-pj1-x1030.google.com (mail-pj1-x1030.google.com
 [2607:f8b0:4864:20::1030])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3fc275c5-7250-11ec-9ce5-af14b9085ebd;
 Mon, 10 Jan 2022 21:02:35 +0100 (CET)
Received: by mail-pj1-x1030.google.com with SMTP id
 rj2-20020a17090b3e8200b001b1944bad25so1594216pjb.5
 for <xen-devel@lists.xenproject.org>; Mon, 10 Jan 2022 12:02:35 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3fc275c5-7250-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linuxfoundation.org; s=google;
        h=mime-version:from:date:message-id:subject:to:cc;
        bh=ef68FBAzAo6XfTycvc4YICmAVZyLVbPPKdcgVXIOcws=;
        b=Z3ou1Tzz90u6YexjN/wqhj7ll0Jo9LhJcfpZR6pbVu3iW3gcxkzgwqI0OmoEotPODS
         w7QIT+chJIlVUTxC+xrWNLYmy3AL9chrrKNpRqDNOdY0QIdC3y+87eRxL15uZ9wtyoa7
         MEtOgmn1+jNbZcU8paGxctblWu3ZkZkpQhqzM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc;
        bh=ef68FBAzAo6XfTycvc4YICmAVZyLVbPPKdcgVXIOcws=;
        b=YY/A+vsR0uJgdzqTCW1iNmFBIdevQhS+vu0j6TT/Pt0eDBXrsaC/ux10TlU42IINya
         BEhnFCvC6xN1JKfQ1yHbMe83KybJIbMzuT6QL9SkphzdMtHEXm2edUtQI9cusWeekGDB
         U/laHu/lTB7jEmVZfXf57umiF55y1jgN0OLOgn4GhMHvBgrky9YWhDgtGzuxkpGv+gBL
         Ae9TnaN8jEhtd4pndicfbGdoglGlaTAWbNKUwhmaQHhEhmXav7fpFx3D73Fq7VX3nF6I
         xkIGjffJnGo6YmhCl3sD9YasFuNb31cV55bTn8Y9BP4ZLJUkIrhnyUPC+NbrhSsu0rE7
         yY8w==
X-Gm-Message-State: AOAM532I4J/drguq+nFcXzZx4BR2BN7Einbzsa0yVKPJlqK4lMl3k0LL
	Ul2JioQCv3g+t2Td1QkFmgnjN6as6EuCtFHKxCQ/iw==
X-Google-Smtp-Source: ABdhPJwLlqPh6TANWBz9U01jExNdA/mkEVBySEldiCbvaRILW0ikUCrSavz/5NQenz/aUEFZO2t3ET6hPQ9/jN0MmMc=
X-Received: by 2002:a17:903:2341:b0:14a:5184:3ea7 with SMTP id
 c1-20020a170903234100b0014a51843ea7mr477599plh.107.1641844952731; Mon, 10 Jan
 2022 12:02:32 -0800 (PST)
MIME-Version: 1.0
From: Ashley Weltz <aweltz@linuxfoundation.org>
Date: Mon, 10 Jan 2022 15:02:17 -0500
Message-ID: <CADT4067imrLqdrO=mS8KrcdDRhtxHS3+ytgS=c8MO3WApYSaaQ@mail.gmail.com>
Subject: Call for agenda items for January 11 Community Call
To: amit@infradead.org, andrew.cooper3@citrix.com, Artem_Mygaiev@epam.com, 
	ash.j.wilding@gmail.com, ben@exotanium.io, bobby.eshleman@gmail.com, 
	brendank310@gmail.com, brian.woods@xilinx.com, cardoe@cardoe.com, 
	christopher.w.clark@gmail.com, Corey Minyard <cminyard@mvista.com>, 
	daniel.kiper@oracle.com, deepthi.m@ltts.com, dpsmith@apertussolutions.com, 
	dwmw@amazon.co.uk, edgar.iglesias@xilinx.com, Ian.Jackson@citrix.com, 
	insurgo@riseup.net, intel-xen@intel.com, Jarvis.Roach@dornerworks.com, 
	Jeff.Kubascik@dornerworks.com, jgross@suse.com, john.ji@intel.com, 
	julien@xen.org, kevin.pearson@ortmanconsulting.com, Matt.Spencer@arm.com, 
	mirela.simonovic@aggios.com, oleksandr_andrushchenko@epam.com, 
	oleksandr_tyshchenko@epam.com, olivier.lambert@vates.fr, pdurrant@amazon.com, 
	persaur@gmail.com, piotr.krol@3mdeb.com, Rahul.Singh@arm.com, 
	rianquinn@gmail.com, rob.townley@gmail.com, robin.randhawa@arm.com, 
	roger.pau@citrix.com, scottwd@gmail.com, sergey.dyasli@citrix.com, 
	sstabellini@kernel.org, Stewart.Hildebrand@dornerworks.com, 
	tamas.k.lengyel@gmail.com, varadgautam@gmail.com, volodymyr_babchuk@epam.com, 
	wl@xen.org
Cc: xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="0000000000002f331005d53fd149"

--0000000000002f331005d53fd149
Content-Type: text/plain; charset="UTF-8"

Hi everyone,

Happy New Year! I hope you all enjoyed a lovely holiday.

Our next meeting is tomorrow, January 11th at 4pm UTC.

The proposed agenda is in
https://cryptpad.fr/pad/#/2/pad/edit/xoyB4pnwFfULo6K+O7mi0c10/ Please add
or edit any items to this agenda. Alternatively, please feel free to email
me directly with agenda items.

Please put your name beside any 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

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

<div dir=3D"ltr">Hi everyone,<div><br></div><div>Happy New Year! I hope you=
 all enjoyed a lovely holiday.=C2=A0<br><div><br></div><div><div>Our next m=
eeting is tomorrow, January 11th at 4pm UTC.=C2=A0</div><div><br></div><div=
>The proposed agenda is in=C2=A0<a href=3D"https://cryptpad.fr/pad/#/2/pad/=
edit/xoyB4pnwFfULo6K+O7mi0c10/">https://cryptpad.fr/pad/#/2/pad/edit/xoyB4p=
nwFfULo6K+O7mi0c10/</a> Please add or edit any items to this agenda. Altern=
atively, please feel free to email me directly with agenda items.=C2=A0</di=
v><div><br>Please put your name beside any 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>--=
 <br><div dir=3D"ltr" class=3D"gmail_signature" data-smartmail=3D"gmail_sig=
nature"><div dir=3D"ltr">Ashley Weltz, Project Coordinator=C2=A0<div>The Li=
nux Foundation</div><div><a href=3D"mailto:aweltz@linuxfoundation.org" targ=
et=3D"_blank">aweltz@linuxfoundation.org</a></div></div></div></div></div>

--0000000000002f331005d53fd149--


From xen-devel-bounces@lists.xenproject.org Mon Jan 10 22:48:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 22:48:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255560.437945 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n73SV-0004iV-6C; Mon, 10 Jan 2022 22:48:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255560.437945; Mon, 10 Jan 2022 22:48:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n73SV-0004iO-2G; Mon, 10 Jan 2022 22:48:11 +0000
Received: by outflank-mailman (input) for mailman id 255560;
 Mon, 10 Jan 2022 22:48:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=O59d=R2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n73ST-0004iI-5m
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 22:48:09 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5fb11bf7-7267-11ec-81c1-a30af7de8005;
 Mon, 10 Jan 2022 23:48:06 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 36D6D6143D;
 Mon, 10 Jan 2022 22:48:05 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3A3EFC36AE9;
 Mon, 10 Jan 2022 22:48: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: 5fb11bf7-7267-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1641854884;
	bh=8Zg+lf1qfqSTVk4gnxv28YH0Na43cYYknZnFeZjNVdE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=QLeCIZRwsej/RVZgMOqEDUaRdl7YRRkVp6yjkvnq8VeRWhB4VQUJWwY9yTV7mHu5e
	 zjbHaQs8BWMpQIhSg8ceXyeOAxNywlIyCImHaz6l/hMR/9r4zWTg8S9Qe5PQmbxXQb
	 Q1AO3wfjVe8jzyq2nbxGz4QeAcMZJJ8/skbhLjFOpOX6mxYl1UJjFs0GQWarYQOQDs
	 37kt+WLwj70OMpq9jcz3ojSo7Rs/DquKs+vXIf71Xt0YxD+82Dfp1pf0/Kf3aMGjpI
	 TvBxDrLy/E6Fi8wi4MFl+hYg2epZ5neo9oKEBiLwUK6vYc2TUYhxU8b4vhS6RK70qd
	 uDiGrNfxPC2XQ==
Date: Mon, 10 Jan 2022 14:48:02 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, Bertrand.Marquis@arm.com, 
    Luca Miccio <lucmiccio@gmail.com>, 
    Stefano Stabellini <stefano.stabellini@xilinx.com>, wl@xen.org, 
    Anthony PERARD <anthony.perard@citrix.com>, 
    Juergen Gross <jgross@suse.com>
Subject: Re: [XEN PATCH 6/7] xenstored: do_introduce: handle the late_init
 case
In-Reply-To: <3c2bb1e9-16d7-0329-9396-db7705f84ae6@xen.org>
Message-ID: <alpine.DEB.2.22.394.2201101444250.2060010@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop> <20220108004912.3820176-6-sstabellini@kernel.org> <3c2bb1e9-16d7-0329-9396-db7705f84ae6@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Sat, 8 Jan 2022, Julien Grall wrote:
> Hi Stefano,
> 
> On 08/01/2022 00:49, Stefano Stabellini wrote:
> > From: Luca Miccio <lucmiccio@gmail.com>
> > 
> > If the function is called with late_init set then also notify the domain
> > using the xenstore event channel.
> > 
> > Signed-off-by: Luca Miccio <lucmiccio@gmail.com>
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
> > CC: wl@xen.org
> > CC: Anthony PERARD <anthony.perard@citrix.com>
> > CC: Juergen Gross <jgross@suse.com>
> > CC: julien@xen.org
> > ---
> >   tools/xenstore/xenstored_domain.c | 15 ++++++++++-----
> 
> All the changes to the protocol should be reflected in docs/misc/xenstore.txt.
> However...
> 
> >   1 file changed, 10 insertions(+), 5 deletions(-)
> > 
> > diff --git a/tools/xenstore/xenstored_domain.c
> > b/tools/xenstore/xenstored_domain.c
> > index d03c7d93a9..17b8021ca8 100644
> > --- a/tools/xenstore/xenstored_domain.c
> > +++ b/tools/xenstore/xenstored_domain.c
> > @@ -429,7 +429,7 @@ static void domain_conn_reset(struct domain *domain)
> >     static struct domain *introduce_domain(const void *ctx,
> >   				       unsigned int domid,
> > -				       evtchn_port_t port, bool restore)
> > +				       evtchn_port_t port, bool restore, bool
> > late_init)
> >   {
> >   	struct domain *domain;
> >   	int rc;
> > @@ -461,6 +461,9 @@ static struct domain *introduce_domain(const void *ctx,
> >   		/* Now domain belongs to its connection. */
> >   		talloc_steal(domain->conn, domain);
> >   +		if (late_init)
> > +			xenevtchn_notify(xce_handle, domain->port);
> 
> ... I am not convinced the parameter late_init is necessary. I believe it
> would be safe to always raise an event channel because a domain should be
> resilient (event channel are just to say "Please check the status", there are
> no data carried).

This is a fantastic idea. I gave it a quick try and it seems to work
fine. If everything checks out I'll make the change in the next version
and drop late_init (the new parameter to xs_introduce_domain) completely.


> If you really need late_init, then it should be made optional to avoid
> breaking existing user of Xenstore (IHMO the protocol is stable and should be
> backward compatible).


From xen-devel-bounces@lists.xenproject.org Mon Jan 10 22:55:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 22:55:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255564.437955 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n73ZH-00066c-Se; Mon, 10 Jan 2022 22:55:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255564.437955; Mon, 10 Jan 2022 22: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 1n73ZH-00066V-PX; Mon, 10 Jan 2022 22:55:11 +0000
Received: by outflank-mailman (input) for mailman id 255564;
 Mon, 10 Jan 2022 22:55:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=O59d=R2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n73ZG-00066P-ES
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 22:55:10 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5af3b620-7268-11ec-81c1-a30af7de8005;
 Mon, 10 Jan 2022 23:55:08 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id B40B46143D;
 Mon, 10 Jan 2022 22:55:06 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A307BC36AE3;
 Mon, 10 Jan 2022 22:55:05 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5af3b620-7268-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1641855306;
	bh=l1n8nwkRZfhik3lbiAeTIkqrZ7dDGs2+s1kQRrZaaJo=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=tZK9nqcEUBA+sRRu6qBSGPy6tAn858zHJ5Jl9N/0cO0npd0S69QYs9gQaisG1M12h
	 507bHIpVaX+/sd3mnOvN4tcVAgGxEnsDeZ2rs21uQBG7FZjJwzR+afgsFMFSpeoukU
	 Y73IXEgT+jQTCvC+0IS6NCy9h+AaDxvOHRGRmtlx97eIA/H251Ic3zsc7g0QtSMPpO
	 7PIn21iT77CbY69BMCjgYUk507kU9dImwG9qWjo4V5Xm8CLJCqkrUD0npVnq4+5gWD
	 a2m9bFc+FVylM3pFQjQXPByTvZxnci/hxD1VvXRRSZXy4VvcyEZzHssW06lo75mpvf
	 e+hADtBWeruQg==
Date: Mon, 10 Jan 2022 14:55:04 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, Bertrand.Marquis@arm.com, 
    Luca Miccio <lucmiccio@gmail.com>, 
    Stefano Stabellini <stefano.stabellini@xilinx.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, 
    Juergen Gross <jgross@suse.com>
Subject: Re: [XEN PATCH 1/7] xen: introduce XENFEAT_xenstore_late_init
In-Reply-To: <580a888e-24c4-5d16-8c70-f3d7b34ac2c9@xen.org>
Message-ID: <alpine.DEB.2.22.394.2201101340550.2060010@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop> <20220108004912.3820176-1-sstabellini@kernel.org> <580a888e-24c4-5d16-8c70-f3d7b34ac2c9@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Sat, 8 Jan 2022, Julien Grall wrote:
> On 08/01/2022 00:49, Stefano Stabellini wrote:
> > From: Luca Miccio <lucmiccio@gmail.com>
> > 
> > Introduce a new feature flag to signal that xenstore will not be
> > immediately available at boot time. Instead, xenstore will become
> > available later, and a notification of xenstore readiness will be
> > signalled to the guest using the xenstore event channel.
> 
> Hmmm... On the thread [1], you semmed to imply that new Linux version (I am
> assuming master) are ready to be used in dom0less with the node xen. So I am
> bit confused why this is necessary?

Today Linux/master can boot on Xen with this patch series applied and
with the hypervisor node in device tree. Linux boots fine but it is not
able to make use of the PV interfaces. During xenstore initialization,
Linux sees that HVM_PARAM_STORE_PFN has an invalid value, so it returns
error and continues without xenstore.

I have a patch for Linux that if XENFEAT_xenstore_late_init is present
makes Linux wait for an event notification before initializing xenstore:
https://marc.info/?l=xen-devel&m=164160299315589

So with v1 of the Xen and Linux patches series:
- Xen allocates the event channel at domain creation
- Linux boots, sees XENFEAT_xenstore_late_init and wait for an event
- init-dom0less later allocates the xenstore page
- init-dom0less triggers the xenstore event channel
- Linux receives the event and finishes the initialization, including
  mapping the xenstore page

With the Xen patches applies but no Linux patches, Linux would:
- try to initialize xenstore
- see an invalid HVM_PARAM_STORE_PFN and return error
- continue without xenstore



> > diff --git a/xen/include/public/features.h b/xen/include/public/features.h
> > index 9ee2f760ef..18f32b1a98 100644
> > --- a/xen/include/public/features.h
> > +++ b/xen/include/public/features.h
> > @@ -128,6 +128,12 @@
> >   #define XENFEAT_not_direct_mapped         16
> >   #define XENFEAT_direct_mapped             17
> >   +/*
> > + * The xenstore interface should be initialized only after receiving a
> > + * xenstore event channel notification.
> > + */
> > +#define XENFEAT_xenstore_late_init 18
> 
> You are assuming that there will be no event until Xenstored has discovered
> the domain. If I am not mistaken, this works because when you allocate an
> unbound port, we will not raise the event.
> 
> But I am not sure this is a guarantee for the event channel ABI. For instance,
> when using bind interdomain an event will be raised on the local port.
> 
> Looking at the Xenstore interface, there are a field connection. Could we use
> it (maybe a flag) to tell when the connection was fully initiated?

If we allocate HVM_PARAM_STORE_PFN directly from Xen, that would work
but the Linux xenbus driver will try to initialize the xenstore
interface immediately and it will get stuck in xenbus_thread. In my
tests wait_event_interruptible is the last thing that is called before
Linux getting stuck. Also note that functions like xb_init_comms looks
like they expect xenstored to be already up and running; xb_init_comms
is called unconditionally if the xenstore page and evtchn are
initialized successfully.

I liked your suggestion of adding a flag to struct
xenstore_domain_interface and I prototyped it. For instance, I added:

+#define XENSTORE_NOTREADY  2 /* xenstored not ready */

intf->connection is set to 2 by Xen at domain creation and later it is
set to 0 by init-dom0less.c to signal that the interface is now ready to
use. I think that would work fine but unfortunately it would break Linux
compatibility, because Linux/master of today doesn't know that it needs
to check for intf->connection to be 0 before continuing. It would get
stuck again because instead of waiting it would proceed with the
initialization.

Thus, I think we need to keep the allocation of HVM_PARAM_STORE_PFN
in init-dom0less.c not to break compatibility.

But we could get rid of XENFEAT_xenstore_late_init. The invalid value of
HVM_PARAM_STORE_PFN could be enough to tell Linux that it needs to
wait before it can continue with the initialization. There is no need
for XENFEAT_xenstore_late_init if we check that HVM_PARAM_STORE_EVTCHN
is valid but HVM_PARAM_STORE_PFN is zero.

If we do that, Linux/master keeps working (without PV drivers) because it
considers HVM_PARAM_STORE_PFN == 0 an error.

Linux with a new TBD patch would wait for an event notification and
check again HVM_PARAM_STORE_PFN when it receives the notification.

It is similar to what you suggested but instead of using a flag on the
Xenstore interface we would use the xen_param HVM_PARAM_STORE_PFN for
the same purpose. (FYI note that I'd be fine with using a flag on the
Xenstore shared interface page as well, but I cannot see how to make it
work without breaking compatibility with Linux/master.)


From xen-devel-bounces@lists.xenproject.org Mon Jan 10 22:58:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 22:58:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255568.437967 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n73bj-0006nK-9s; Mon, 10 Jan 2022 22:57:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255568.437967; Mon, 10 Jan 2022 22:57:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n73bj-0006nD-6J; Mon, 10 Jan 2022 22:57:43 +0000
Received: by outflank-mailman (input) for mailman id 255568;
 Mon, 10 Jan 2022 22:57:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=O59d=R2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n73bi-0006n7-4M
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 22:57:42 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b6699116-7268-11ec-81c1-a30af7de8005;
 Mon, 10 Jan 2022 23:57:40 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id F1710B8180A;
 Mon, 10 Jan 2022 22:57:39 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 53826C36AEF;
 Mon, 10 Jan 2022 22:57: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: b6699116-7268-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1641855458;
	bh=xeL0D1NhL5MwEtZUMtPD/5zCPQ3wnkWLiqX9E3hH1Bk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=lnRJ57xqFLKW1ymeJNRZPb8IlI7dvV+HW66nL5s0JHDzgu4rvJZJ6uPwZihpYHo4/
	 G/u8tTqmZngMCzdodgkzGtx+hjZ4WbyU6GYYDoUNL+LojCpe9Uo8BBdQyRrPp5jTfq
	 KObD05dONK6c4m1Z8SrgA2Iz6zZTj2SFvgW0a8/UYOpIAaaFCrE02Alslv3R89+0NO
	 VofPbT4jklCB7mAINvCtAlSBWV5H3x4BOfzHX17qeDrmsU3h4zDOH9mUfmSONHpwB9
	 Unse9mNNNMMzLxhI7Teh48mfz13M83A+eQgjMCzVrWTs1am0CJW6s1vttA8kU5H71w
	 a2a7lfJOdNlUg==
Date: Mon, 10 Jan 2022 14:57:36 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, Bertrand.Marquis@arm.com, 
    Luca Miccio <lucmiccio@gmail.com>, 
    Stefano Stabellini <stefano.stabellini@xilinx.com>, Wei Liu <wl@xen.org>, 
    Anthony PERARD <anthony.perard@citrix.com>, 
    Juergen Gross <jgross@suse.com>
Subject: Re: [XEN PATCH 7/7] tools: add example application to initialize
 dom0less PV drivers
In-Reply-To: <47834af4-6c87-afd5-f8a0-c4086a938fb4@xen.org>
Message-ID: <alpine.DEB.2.22.394.2201101455090.2060010@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop> <20220108004912.3820176-7-sstabellini@kernel.org> <47834af4-6c87-afd5-f8a0-c4086a938fb4@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Sat, 8 Jan 2022, Julien Grall wrote:
> On 08/01/2022 00:49, Stefano Stabellini wrote:
> > From: Luca Miccio <lucmiccio@gmail.com>
> > 
> > Add an example application that can be run in dom0 to complete the
> > dom0less domains initialization so that they can get access to xenstore
> > and use PV drivers.
> > 
> > Signed-off-by: Luca Miccio <lucmiccio@gmail.com>
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
> > CC: Wei Liu <wl@xen.org>
> > CC: Anthony PERARD <anthony.perard@citrix.com>
> > CC: Juergen Gross <jgross@suse.com>
> > ---
> >   tools/helpers/Makefile        |  13 ++
> >   tools/helpers/init-dom0less.c | 263 ++++++++++++++++++++++++++++++++++
> >   2 files changed, 276 insertions(+)
> >   create mode 100644 tools/helpers/init-dom0less.c
> > 
> > diff --git a/tools/helpers/Makefile b/tools/helpers/Makefile
> > index 7f6c422440..8e42997052 100644
> > --- a/tools/helpers/Makefile
> > +++ b/tools/helpers/Makefile
> > @@ -10,6 +10,9 @@ ifeq ($(CONFIG_Linux),y)
> >   ifeq ($(CONFIG_X86),y)
> >   PROGS += init-xenstore-domain
> >   endif
> > +ifeq ($(CONFIG_ARM),y)
> > +PROGS += init-dom0less
> > +endif
> >   endif
> >     XEN_INIT_DOM0_OBJS = xen-init-dom0.o init-dom-json.o
> > @@ -26,6 +29,13 @@ $(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS +=
> > $(CFLAGS_libxenstore)
> >   $(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS += $(CFLAGS_libxenlight)
> >   $(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS += -include
> > $(XEN_ROOT)/tools/config.h
> >   +INIT_DOM0LESS_OBJS = init-dom0less.o init-dom-json.o
> > +$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxentoollog)
> > +$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenstore)
> > +$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenlight)
> > +$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenctrl)
> > +$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenevtchn)
> > +
> >   .PHONY: all
> >   all: $(PROGS)
> >   @@ -35,6 +45,9 @@ xen-init-dom0: $(XEN_INIT_DOM0_OBJS)
> >   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)
> >   +init-dom0less: $(INIT_DOM0LESS_OBJS)
> > +	$(CC) $(LDFLAGS) -o $@ $(INIT_DOM0LESS_OBJS) $(LDLIBS_libxenctrl)
> > $(LDLIBS_libxenevtchn) $(LDLIBS_libxentoollog) $(LDLIBS_libxenstore)
> > $(LDLIBS_libxenlight) $(LDLIBS_libxenguest)  $(APPEND_LDFLAGS)
> > +
> >   .PHONY: install
> >   install: all
> >   	$(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
> > diff --git a/tools/helpers/init-dom0less.c b/tools/helpers/init-dom0less.c
> > new file mode 100644
> > index 0000000000..055bf76cf5
> > --- /dev/null
> > +++ b/tools/helpers/init-dom0less.c
> > @@ -0,0 +1,263 @@
> > +#include <stdbool.h>
> > +#include <syslog.h>
> > +#include <stdio.h>
> > +#include <err.h>
> > +#include <stdlib.h>
> > +#include <xenstore.h>
> > +#include <xenctrl.h>
> > +#include <xenguest.h>
> > +#include <libxl.h>
> > +#include <xenevtchn.h>
> > +
> > +#include "init-dom-json.h"
> > +
> > +#define NR_MAGIC_PAGES 4
> > +#define CONSOLE_PFN_OFFSET 0
> > +#define XENSTORE_PFN_OFFSET 1
> > +#define STR_MAX_LENGTH 64
> > +
> > +static int alloc_magic_pages(struct xc_dom_image *dom)
> > +{
> > +    int rc, i;
> > +    const xen_pfn_t base = GUEST_MAGIC_BASE >> XC_PAGE_SHIFT;
> > +    xen_pfn_t p2m[NR_MAGIC_PAGES];
> > +
> > +    for (i = 0; i < NR_MAGIC_PAGES; i++)
> > +        p2m[i] = base + i;
> > +
> > +    rc = xc_domain_populate_physmap_exact(dom->xch, dom->guest_domid,
> > +                                          NR_MAGIC_PAGES, 0, 0, p2m);
> > +    if (rc < 0)
> > +        return rc;
> > +
> > +    dom->xenstore_pfn = base + XENSTORE_PFN_OFFSET;
> > +
> > +    xc_clear_domain_page(dom->xch, dom->guest_domid, dom->xenstore_pfn);
> > +
> > +    xc_hvm_param_set(dom->xch, dom->guest_domid, HVM_PARAM_STORE_PFN,
> > +                     dom->xenstore_pfn);
> 
> I think it would be best if the page is initialized in Xen. This would allow
> to use the fields in the interface to propage the connection state (see my
> comment in patch #1).

Technically, it would work fine from a Xen point of view, but it would
cause problems to existing Linux kernels (see longer reply to patch #1.)


> > +    xc_hvm_param_set(dom->xch, dom->guest_domid, HVM_PARAM_STORE_EVTCHN,
> > +                     dom->xenstore_evtchn);
> 
> On patch #1, you wrote the domain will have to wait on the event channel. So
> shouldn't the event channel be initialized before the domain is created?
> Otherwise, how would the domain knows when it is set?

Yeah this is a mistake. HVM_PARAM_STORE_EVTCHN is already set by Xen at
domain creation (as you wrote) and there is no need to set it again here.


> > +    return 0;
> > +}
> > +
> > +static void do_xs_write(struct xs_handle *xsh, xs_transaction_t t,
> > +                        char *path, char *val)
> > +{
> > +    if (!xs_write(xsh, t, path, val, strlen(val)))
> > +        fprintf(stderr, "writing %s to xenstore failed.\n", path);
> > +}
> > +
> > +static void do_xs_write_dom(struct xs_handle *xsh, xs_transaction_t t,
> > +                            domid_t domid, char *path, char *val)
> > +{
> > +    char full_path[STR_MAX_LENGTH];
> > +
> > +    snprintf(full_path, STR_MAX_LENGTH,
> > +             "/local/domain/%d/%s", domid, path);
> > +    do_xs_write(xsh, t, full_path, val);
> > +}
> > +
> > +static void do_xs_write_libxl(struct xs_handle *xsh, xs_transaction_t t,
> > +                              domid_t domid, char *path, char *val)
> > +{
> > +    char full_path[STR_MAX_LENGTH];
> > +
> > +    snprintf(full_path, STR_MAX_LENGTH,
> > +             "/libxl/%d/%s", domid, path);
> > +    do_xs_write(xsh, t, full_path, val);
> > +}
> > +
> > +static void do_xs_write_vm(struct xs_handle *xsh, xs_transaction_t t,
> > +                           libxl_uuid uuid, char *path, char *val)
> > +{
> > +    char full_path[STR_MAX_LENGTH];
> > +
> > +    snprintf(full_path, STR_MAX_LENGTH,
> > +             "/vm/" LIBXL_UUID_FMT "/%s", LIBXL_UUID_BYTES(uuid), path);
> > +    do_xs_write(xsh, t, full_path, val);
> > +}
> > +
> > +static int restore_xenstore(struct xs_handle *xsh,
> 
> I think "restore" is misleading because the domain was never in Xenstore. So
> how about "create"?

Makes sense


> > +                            libxl_dominfo *info, libxl_uuid uuid,
> > +                            evtchn_port_t xenstore_port)
> > +{
> > +    domid_t domid;
> > +    int i;
> > +    char uuid_str[STR_MAX_LENGTH];
> > +    char dom_name_str[STR_MAX_LENGTH];
> > +    char vm_val_str[STR_MAX_LENGTH];
> > +    char id_str[STR_MAX_LENGTH];
> > +    char max_memkb_str[STR_MAX_LENGTH];
> > +    char cpu_str[STR_MAX_LENGTH];
> > +    char xenstore_port_str[STR_MAX_LENGTH];
> > +    char ring_ref_str[STR_MAX_LENGTH];
> > +    xs_transaction_t t;
> > +
> > +    domid = info->domid;
> > +    snprintf(id_str, STR_MAX_LENGTH, "%d", domid);
> > +    snprintf(dom_name_str, STR_MAX_LENGTH, "dom0less-%d", domid);
> > +    snprintf(uuid_str, STR_MAX_LENGTH, LIBXL_UUID_FMT,
> > LIBXL_UUID_BYTES(uuid));
> > +    snprintf(vm_val_str, STR_MAX_LENGTH,
> > +             "vm/" LIBXL_UUID_FMT, LIBXL_UUID_BYTES(uuid));
> > +    snprintf(max_memkb_str, STR_MAX_LENGTH, "%lu", info->max_memkb);
> > +    snprintf(ring_ref_str, STR_MAX_LENGTH, "%lld",
> > +             (GUEST_MAGIC_BASE >> XC_PAGE_SHIFT) + XENSTORE_PFN_OFFSET);
> > +    snprintf(xenstore_port_str, STR_MAX_LENGTH, "%d", xenstore_port);
> > +
> > +retry_transaction:
> > +    t = xs_transaction_start(xsh);
> > +    if (t == XBT_NULL)
> > +        return errno;
> > +
> > +    /* /vm */
> > +    do_xs_write_vm(xsh, t, uuid, "name", dom_name_str);
> > +    do_xs_write_vm(xsh, t, uuid, "uuid", uuid_str);
> > +    do_xs_write_vm(xsh, t, uuid, "start_time", "0");
> > +
> > +    /* /domain */
> > +    do_xs_write_dom(xsh, t, domid, "vm", vm_val_str);
> > +    do_xs_write_dom(xsh, t, domid, "name", dom_name_str);
> > +    do_xs_write_dom(xsh, t, domid, "cpu", "");
> > +    for (i = 0; i < info->vcpu_max_id; i++) {
> > +        snprintf(cpu_str, STR_MAX_LENGTH, "cpu/%d/availability/", i);
> > +        do_xs_write_dom(xsh, t, domid, cpu_str,
> > +                        (info->cpupool & (1 << i)) ? "online" : "offline");
> > +    }
> > +    do_xs_write_dom(xsh, t, domid, "cpu/0", "");
> > +    do_xs_write_dom(xsh, t, domid, "cpu/availability", "online");
> > +
> > +    do_xs_write_dom(xsh, t, domid, "memory", "");
> > +    do_xs_write_dom(xsh, t, domid, "memory/static-max", max_memkb_str);
> > +    do_xs_write_dom(xsh, t, domid, "memory/videoram", "-1");
> > +
> > +    do_xs_write_dom(xsh, t, domid, "device", "");
> > +    do_xs_write_dom(xsh, t, domid, "device/suspend", "");
> > +    do_xs_write_dom(xsh, t, domid, "device/suspend/event-channel", "");
> > +
> > +    do_xs_write_dom(xsh, t, domid, "control", "");
> > +    do_xs_write_dom(xsh, t, domid, "control/shutdown", "");
> > +    do_xs_write_dom(xsh, t, domid, "control/feature-poweroff", "1");
> > +    do_xs_write_dom(xsh, t, domid, "control/feature-reboot", "1");
> > +    do_xs_write_dom(xsh, t, domid, "control/feature-suspend", "");
> > +    do_xs_write_dom(xsh, t, domid, "control/sysrq", "");
> > +    do_xs_write_dom(xsh, t, domid,
> > "control/platform-feature-multiprocessor-suspend", "1");
> > +    do_xs_write_dom(xsh, t, domid, "control",
> > "platform-feature-xs_reset_watches");
> > +
> > +    do_xs_write_dom(xsh, t, domid, "domid", id_str);
> > +    do_xs_write_dom(xsh, t, domid, "data", "");
> > +    do_xs_write_dom(xsh, t, domid, "drivers", "");
> > +    do_xs_write_dom(xsh, t, domid, "feature", "");
> > +    do_xs_write_dom(xsh, t, domid, "attr", "");
> > +
> > +    do_xs_write_dom(xsh, t, domid, "store/port", xenstore_port_str);
> > +    do_xs_write_dom(xsh, t, domid, "store/ring-ref", ring_ref_str);
> > +
> > +    do_xs_write_libxl(xsh, t, domid, "type", "pvh");
> > +    do_xs_write_libxl(xsh, t, domid, "dm-version", "qemu_xen");
> 
> Can you outline how you decided which nodes need to be created?
 
We looked at all the parameters written by libxl/xl and attempted to
populate them here.


From xen-devel-bounces@lists.xenproject.org Mon Jan 10 23:09:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 10 Jan 2022 23:09:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255571.437978 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n73mY-0008Kf-A9; Mon, 10 Jan 2022 23:08:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255571.437978; Mon, 10 Jan 2022 23:08:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n73mY-0008KY-6z; Mon, 10 Jan 2022 23:08:54 +0000
Received: by outflank-mailman (input) for mailman id 255571;
 Mon, 10 Jan 2022 23:08:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=O59d=R2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n73mW-0008KS-H7
 for xen-devel@lists.xenproject.org; Mon, 10 Jan 2022 23:08:52 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 462c6af4-726a-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 00:08:51 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id CCF4FB8180F;
 Mon, 10 Jan 2022 23:08:50 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3AD7DC36AE9;
 Mon, 10 Jan 2022 23:08: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: 462c6af4-726a-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1641856129;
	bh=J+uHqL/3GVypszrOXBTSHfj7KMFXMdTgutDTOMSr8PI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=hZReYH6rvXjdrcLoBCxX4CC2xYSZhELVOJ7T/0Fd/V0LHybYlAU1ADdBqzW/4GGuW
	 Bp11+co0bnydQSUgR4tWOi8uPTw6it8rfWnjvJV6MocXPMZaopuSYD47Vn6vUVtPj6
	 gnGMd6DPlecDGiPIfgxnzPESpclkEiYIackqjr3PvPlMTZaEXLYIUkJgvY//NV2orq
	 W6HwT0n/xzue7XCBYC6mGRfO836cu4q55vB7v485mvaEoBN9oK/c8tQIwbdL0DUv0K
	 ytpoq9+ZuUGkkxR90dnGwaozFnD+KXtmjcOo7fdipiqnoqzR7/iFNK9o2VgK972b3i
	 9N6XIMHHfD8XQ==
Date: Mon, 10 Jan 2022 15:08:47 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, julien@xen.org, 
    Bertrand.Marquis@arm.com, Luca Miccio <lucmiccio@gmail.com>, 
    Stefano Stabellini <stefano.stabellini@xilinx.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, 
    xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 1/7] xen: introduce XENFEAT_xenstore_late_init
In-Reply-To: <f3baac82-0eff-f885-f03a-ba987c8e12b6@suse.com>
Message-ID: <alpine.DEB.2.22.394.2201101458520.2060010@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop> <20220108004912.3820176-1-sstabellini@kernel.org> <f3baac82-0eff-f885-f03a-ba987c8e12b6@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 10 Jan 2022, Jan Beulich wrote:
> On 08.01.2022 01:49, Stefano Stabellini wrote:
> > Introduce a new feature flag to signal that xenstore will not be
> > immediately available at boot time. Instead, xenstore will become
> > available later, and a notification of xenstore readiness will be
> > signalled to the guest using the xenstore event channel.
> 
> In addition to what Julien has said, I'd like to point out that Linux'es
> xenbus driver already has means to deal with xenstored not being around
> right away (perhaps because of living in a stubdom which starts in
> parallel). I therefore wonder whether what you want can't be achieved
> entirely inside that driver, without any new feature flag.

The fewer changes to Linux the better but we couldn't find a way to make
it work with zero changes.

In a way, the patch for Linux is re-using the existing infrastructure to
delay initialization, e.g. xenbus_probe_thread to call xenbus_probe
later.

However, today there is nothing stopping Linux/HVM to continue
initialization immediately except for xs_hvm_defer_init_for_callback
which is not applicable in this case. So we introduced
XENFEAT_xenstore_late_init.

As I wrote in another reply, I think we could do without
XENFEAT_xenstore_late_init if we instead rely on checking for
HVM_PARAM_STORE_EVTCHN being valid and HVM_PARAM_STORE_PFN being zero.

But either way as far as I can tell we need to add a new check to delay
xenstore initialization in Linux/HVM.


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 00:44:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 00:44:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255575.437989 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n75Gt-0001o5-KY; Tue, 11 Jan 2022 00:44:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255575.437989; Tue, 11 Jan 2022 00: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 1n75Gt-0001ny-HY; Tue, 11 Jan 2022 00:44:19 +0000
Received: by outflank-mailman (input) for mailman id 255575;
 Tue, 11 Jan 2022 00:44: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 1n75Gs-0001no-H5; Tue, 11 Jan 2022 00:44: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 1n75Gs-0001Lt-Dq; Tue, 11 Jan 2022 00:44: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 1n75Gs-0007uT-2i; Tue, 11 Jan 2022 00:44:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n75Gs-0006oI-2K; Tue, 11 Jan 2022 00:44: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=LTDDegDyj1NvNfljpdlAQCCzzkzSDtqFy/iclz8HXWY=; b=jT00479zVQJlWQ8iyvBc6aAyh0
	yvXAliev6AIbVai1/BkSeKlCvKwZMY6oXWTHOah5gn5a1xnwyAKLfr3woqheGjxOzPfj61FvL948n
	0S6escoPC3jEZ7jdZu732OdoqkaIHFJLajbCfgaUiDszf04kQMMLqteHNCedJUIimwFI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167652-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167652: 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-qcow2:saverestore-support-check: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-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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm: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-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2: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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-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-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2: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
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=de3f5223fa4cf8bfc5e3fe1fd495ddf468edcdf7
X-Osstest-Versions-That:
    qemuu=df722e33d5da26ea8604500ca8f509245a0ea524
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 11 Jan 2022 00:44:18 +0000

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

Failures :-/ but no regressions.

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

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

version targeted for testing:
 qemuu                de3f5223fa4cf8bfc5e3fe1fd495ddf468edcdf7
baseline version:
 qemuu                df722e33d5da26ea8604500ca8f509245a0ea524

Last test of basis   167643  2022-01-09 01:57:24 Z    1 days
Testing same since   167652  2022-01-10 16:09:32 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Laurent Vivier <laurent@vivier.eu>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  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-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   df722e33d5..de3f5223fa  de3f5223fa4cf8bfc5e3fe1fd495ddf468edcdf7 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 03:32:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 03:32:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255587.438000 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n77t5-0003VZ-V0; Tue, 11 Jan 2022 03:31:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255587.438000; Tue, 11 Jan 2022 03: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 1n77t5-0003VR-Nq; Tue, 11 Jan 2022 03:31:55 +0000
Received: by outflank-mailman (input) for mailman id 255587;
 Tue, 11 Jan 2022 03:31:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lVH1=R3=epam.com=prvs=3010f02d57=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1n77t4-0003VL-QG
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 03:31:54 +0000
Received: from mx0b-0039f301.pphosted.com (mx0b-0039f301.pphosted.com
 [148.163.137.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 04167d2b-728f-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 04:31:52 +0100 (CET)
Received: from pps.filterd (m0174683.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20ALPM7P025029;
 Tue, 11 Jan 2022 03:31:41 GMT
Received: from eur04-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2053.outbound.protection.outlook.com [104.47.14.53])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3dgth0gudq-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 11 Jan 2022 03:31:41 +0000
Received: from PAXPR03MB7594.eurprd03.prod.outlook.com (2603:10a6:102:201::14)
 by PAXPR03MB7822.eurprd03.prod.outlook.com (2603:10a6:102:206::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.7; Tue, 11 Jan
 2022 03:31:35 +0000
Received: from PAXPR03MB7594.eurprd03.prod.outlook.com
 ([fe80::157a:fb23:aa6c:f0f6]) by PAXPR03MB7594.eurprd03.prod.outlook.com
 ([fe80::157a:fb23:aa6c:f0f6%4]) with mapi id 15.20.4888.009; Tue, 11 Jan 2022
 03: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: 04167d2b-728f-11ec-9ce5-af14b9085ebd
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=d6SLmN9n48jr96DenMu2GU0w4JGSacYijuUCyS/sYHNd3e7dF1KajbBmWrvW7i0wQ5iNEwU/sr9G4Ftu3uxr+XboShNcE9bYfl5HIveJXtajN3VQ2dT8TfBM9Qpvdb4yXwNHQz5xH5/q7Yd3zZvYLwe8Zd+S0CcLOJDUQ+hGPI8gCsckq3roh7S2BfMbtQNqGhVtaBRm/2y7E9mewait5/Q+tC4vOQBEhxHtvbcHmCWCnuej6fZL7p8gASEj6Ad/qDqpqR/3et/yACuaJnqGImy4NBykKsFiRySRO7RYV4dT4M9IrVzTAa01FVVl5ItPsJvBlGKcvV6iUVI0WLyyCQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=T2pP5wSmWXEMUMe2pEoj+gAD8gBmkdlW+dejDRYAZhM=;
 b=BFuuPlQKpMKpb4Ie+RCc+3TTRxlSCeZXT69fa597+VUNPy9xbXlM3S8s+H7jQCyyyG2i0CCWv4H9cmx1bOAlZXD76k43dTscqM5STDD7me7di5f+xd/CTvotnKcAbkgl56Sl3mc1FPOplDj8uHfaqZspXSL1qSbyEjzVzSKujtyfQUxrQLBXeTdahpeuVZrnlOMeItrORZMGq0T1W1vwL5gYoldnPzB8lv5ZcNFi+qeAJdZfGT0gtbWKlS5ghK+ycumbO3GDbnetgLjYxIoQvfcLrEbUQaQFUYXG2LNN7df/BDSgUDN0qzAxh+AmWB1j6gKsqCuEnC/5nw6jIoZy2Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=T2pP5wSmWXEMUMe2pEoj+gAD8gBmkdlW+dejDRYAZhM=;
 b=m7+zXS3BV7uMNtd98yx+54CPJbADtMycf5wtBGGSe515yQwjpd/2JZ2ZsKvgfqY5OYABCMPVAvkYzVxPPF73KZzDT118t53dJJkpZdilQeg7WEq8ZqHUfVa1esxacuemb7IV35SwGVohwWtKYIq+n43ZyIOU39dWDSGnJJdBIzmCY9Z/nIaIt04flt0PObntICAmCVRvMnIbDeO5l0WZKd0WSfz5UtL/xZhhmlVHDdk6BOt0IBrNNJadD/psc25tTU7wZpknyH/ybYI59uuPW/RY+x14TNUQobLF0U2VXw1oXpLJDPoxWXHepRuIQfKS4McdWH9IPnLVNILR19B6mA==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        "julien@xen.org" <julien@xen.org>,
        Stefano Stabellini
	<stefano.stabellini@xilinx.com>,
        Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [XEN PATCH 4/7] xen: introduce xen,enhanced dom0less property
Thread-Topic: [XEN PATCH 4/7] xen: introduce xen,enhanced dom0less property
Thread-Index: AQHYBCmUZq6uCSINmk+9hkbXe5MJhaxdLiWA
Date: Tue, 11 Jan 2022 03:31:35 +0000
Message-ID: <87o84jx81g.fsf@epam.com>
References: 
 <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop>
 <20220108004912.3820176-4-sstabellini@kernel.org>
In-Reply-To: <20220108004912.3820176-4-sstabellini@kernel.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.6.5; emacs 27.2
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 279849ff-1b28-415b-f5e6-08d9d4b2decd
x-ms-traffictypediagnostic: PAXPR03MB7822:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <PAXPR03MB78226FB5A76CE210216CB449E6519@PAXPR03MB7822.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: 
 /f7FZvvXUEFLEpx43LT0pLUv9vRgo0cxevkCpTZ/Wmey9tMT0YZe1oh2ctkiAZrxENOyx0gDl6QXc3RmoB8GR0lYOXzD0lolBeqRDS6aJS6Wie2fOUKNKUBZJms2IyrY0zU7mpj9+FgnnyzTUrcSMCRiCldo90OqEzhxC1srb//ZeIVaJCIAt8sDZ0X6aYdYVchkpqcLN7mwLC0hopWvzj7QeAWCbyn7Q2M00jGiO/huSgJnZe33iDApZgNozMOUvJmsPYQ+wvSbuNgIXXQtWUyr6znMkDuwaMyViYvlMnQ3C7EdcRWvVPSyhFfzNv4wpGq/lqkoSBf2SLbkyxeSSgkzqOMV4YB6SgAQmhOzyp02rGADnUONfEC14mpwOginjUkr8oYsVUc/u48ZO4Nnxav61NXRQVZcxgSN8C8MXFPBOMyCeewqhLw/MJpfXmjuVJ4SqCFTcbL0R4xwY2Pw2X9jd2aXkpijTGXlOzNSPnNSaO/NO0ZQ03P4shduhBJToNTRb0XTaHDTRiEw/Wm9BkVv08JQOiqBF5a7q9hTdbAZfwFIzSEgI3wwCChrwG/VpXgkppdQaY4auDrDplmdOg4uA0plVVXAuMpVAPc7V4zmVXGGAk9maGcbWviDsUHLIFv/uPTSowbmNFdIxCE6RCHfqhM7xEU/R2nTwMGOViS4DZvlNQVqbZCI6vfC74OTlreJw4L5a/rl3UGyiZ5eEi7alGwuVyPVVW7AIMYKy6A=
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR03MB7594.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(2616005)(54906003)(186003)(6486002)(8676002)(64756008)(66556008)(66476007)(6506007)(5660300002)(86362001)(8936002)(316002)(66946007)(83380400001)(36756003)(66446008)(91956017)(26005)(76116006)(6512007)(55236004)(38070700005)(2906002)(6916009)(508600001)(122000001)(38100700002)(71200400001)(4326008)(32563001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?ax5KFGgoLtam7hLMbRRQReIlB6SPuOzjbFn/anzrbz4zQxGxkYcua1K3Fk?=
 =?iso-8859-1?Q?nKBjCtJUki8sIpv2UkXd9rl2mljCsZnYk+z0ooFmS6YUkAv2imM1UjxoIu?=
 =?iso-8859-1?Q?xTgiomk6Ndec/0NWA8w8oQ7+QFp32Bq6nejq/5sx2LniNSipaOFQO1Zn1n?=
 =?iso-8859-1?Q?8wNqoL7+LMnzlM1bhLIOTwI7DjTXzhQb+y1FjRNqkPam538qkmQ9/jiN0n?=
 =?iso-8859-1?Q?fNjjUiamdMUsLgwY2wowY+nvrExvf9WcUzXDJXwFTzG/f3zNGYmW/dgPJP?=
 =?iso-8859-1?Q?9LLJo4uP56NdGQBvZEDpIZpl9FALWK8XoyIOG298j2lGp7pZmZsS5O4n0Z?=
 =?iso-8859-1?Q?ZufPPQnQM9Fbo8qjDyJyz1zmRt3v+DD1PHsjIrd1tLwQrBkMr1lSqZQTXp?=
 =?iso-8859-1?Q?5ub0II1wutZTzDkb7h/rowt2ExJFjnP+Ul/2vI00IgAmwgmoS6p91g6m5g?=
 =?iso-8859-1?Q?Z0K9/AkDAw5LHUuCA30YdLZalK+J8yRK7sNXQQ2EJ5ky/CziHVoHyZzHnP?=
 =?iso-8859-1?Q?HLoL4tTlaoeVU61sz2831+d2lxGW34IzWTNt393ylL3kuXabtkjodMhOJW?=
 =?iso-8859-1?Q?MCx+DWvyb/0BUM2yfgFuyOnGMl5C5BB7hfqeCFqW2XwIEBsTKDIGt608aQ?=
 =?iso-8859-1?Q?GAJu8XZgV811R0Um++c4YtHjAUCX2ld1SDFy4I/MJ8MI8pAAJtrOtexg8u?=
 =?iso-8859-1?Q?MjBXBGQ2eslyuXwXvnQdHNPRz3I9NSMEjMQJSVIox/kYyMIKr1wSutHd+n?=
 =?iso-8859-1?Q?BrJQID6G1FRiVhr3m2MN5c1Ipr79Gi62jjeneBuax7L3Ds9hYO6m7PwFJq?=
 =?iso-8859-1?Q?srvCtNqc/OAhj5XK4+XdiamV1OdfOcyQtqau1fxwLtsHJBa3/Eu6uAEloz?=
 =?iso-8859-1?Q?hTfiiG1dZLqs2WoVeQPUjO+PbqVau23PAqFXdKYIQ7U1FFZQ/iKAAtpi02?=
 =?iso-8859-1?Q?guuVtsvPXBNZqOGoJXtnKV3DV+XEKFmkeaOuwJ8/giR1L47v4JLxqZD4yi?=
 =?iso-8859-1?Q?S2vTXTJU5dV1wueTnk6j0wxFzF5qreeJKNxe8YkZ86TXEeMXS/cTE1EsyF?=
 =?iso-8859-1?Q?CpdRmXkW+pvSvMeF/rWij+AZ7wU8CzyYgzqPpAZzuBgkVjU/Mc8iIJqnfK?=
 =?iso-8859-1?Q?6XoPfL55i8lWn1DKmhV0ni018Pr51KnJeoLugbkX4RhT+FYo6B9287eFTX?=
 =?iso-8859-1?Q?S5zb5cgXTqkjO+1lgR3TRhd7kNiaKvLM57rU5laZ6h1b0whnhcXBWhjgkc?=
 =?iso-8859-1?Q?/qxlPr1536RvK/L8MKgG2LvUmkpeqTN/znJ2EPM9t2fA0zBObi4aVQAdBL?=
 =?iso-8859-1?Q?RNojqMUBeVREm9/EiZf3HRh36byhmTzgRKs2UE9/OlAxmolfwOJNPJ9LBb?=
 =?iso-8859-1?Q?h5icBUMykmVnU7TWvC8Ac2vNRUIyw2ycMv4bXhzM4dGdegUsICc2+px64M?=
 =?iso-8859-1?Q?wHZJx/IklHTGqltoa8RFcxSB18Ef7eDEnsCP6PjbRKb/3F7Y48lCjCo0FP?=
 =?iso-8859-1?Q?ZHPy/iX8N250Zj7qHvEp8XCE5z2oiydyH8DpPPjF9Q0gbp+i5u84jZiLbM?=
 =?iso-8859-1?Q?u2X7hkuCGJZg6epuHLREcogoJdZ5gZgrNTQ7gPt4CT8IIlj8lXhSZzIQqG?=
 =?iso-8859-1?Q?jPqv+lvCC4bmQQYE8mjzqxaAKzQ89dtgQH3BPDMMvr/7uEk5MiaqfcXpTD?=
 =?iso-8859-1?Q?bvcrR8TDak3B6AJk5zN8wFgukwK9b3b1cHatocW8yhCIRlpypn77N5Jgb2?=
 =?iso-8859-1?Q?IKfFT6643IH8IEvliJy9KpMLs=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: PAXPR03MB7594.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 279849ff-1b28-415b-f5e6-08d9d4b2decd
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Jan 2022 03:31:35.4911
 (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: TSyBPegF+UuPVYck8WBt96x92A4lKLNw4Ab5NaROymlyMjg6CXb5TcNM6/4P4BIHyyD3XJQGurBRUdKEti6pxjhnqyia/fHTdb+dWiT0u70=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7822
X-Proofpoint-GUID: 7FyjwIfyRD81zcIRn37yUCQnpxY3JbkH
X-Proofpoint-ORIG-GUID: 7FyjwIfyRD81zcIRn37yUCQnpxY3JbkH
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.790,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-11_01,2022-01-10_02,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 adultscore=0
 malwarescore=0 spamscore=0 suspectscore=0 mlxscore=0 impostorscore=0
 priorityscore=1501 bulkscore=0 lowpriorityscore=0 clxscore=1011
 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2110150000 definitions=main-2201110011


Hi Stefano,

Stefano Stabellini <sstabellini@kernel.org> writes:

> From: Stefano Stabellini <stefano.stabellini@xilinx.com>
>
> Introduce a new "xen,enhanced" dom0less property to enable/disable PV
> driver interfaces for dom0less guests. Currently only "enabled" and
> "disabled" are supported property values (and empty). Leave the option
> open to implement further possible values in the future (e.g.
> "xenstore" to enable only xenstore.)
>
> This patch only parses the property. Next patches will make use of it.
>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
> CC: Julien Grall <julien@xen.org>
> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> CC: Bertrand Marquis <bertrand.marquis@arm.com>
> ---
>  docs/misc/arm/device-tree/booting.txt | 18 ++++++++++++++++++
>  xen/arch/arm/domain_build.c           |  5 +++++
>  xen/arch/arm/include/asm/kernel.h     |  3 +++
>  3 files changed, 26 insertions(+)
>
> diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device=
-tree/booting.txt
> index 71895663a4..38c29fb3d8 100644
> --- a/docs/misc/arm/device-tree/booting.txt
> +++ b/docs/misc/arm/device-tree/booting.txt
> @@ -169,6 +169,24 @@ with the following properties:
>      Please note that the SPI used for the virtual pl011 could clash with=
 the
>      physical SPI of a physical device assigned to the guest.
> =20
> +- xen,enhanced
> +
> +    A string property. Possible property values are:
> +
> +    - "enabled" (or missing property value)
> +    Xen PV interfaces, including grant-table and xenstore, will be
> +    enabled for the VM.
> +
> +    - "disabled"
> +    Xen PV interfaces are disabled.
> +
> +    If the xen,enhanced property is present with no value, it defaults
> +    to "enabled". If the xen,enhanced property is not present, PV
> +    interfaces are disabled.
> +
> +    In the future other possible property values might be added to
> +    enable only selected interfaces.
> +
>  - nr_spis
> =20
>      Optional. A 32-bit integer specifying the number of SPIs (Shared
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 6931c022a2..96a94fa434 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -2963,6 +2963,7 @@ static int __init construct_domU(struct domain *d,
>                                   const struct dt_device_node *node)
>  {
>      struct kernel_info kinfo =3D {};
> +    const char *enhanced;
>      int rc;
>      u64 mem;
> =20
> @@ -2978,6 +2979,10 @@ static int __init construct_domU(struct domain *d,
> =20
>      kinfo.vpl011 =3D dt_property_read_bool(node, "vpl011");
> =20
> +    rc =3D dt_property_read_string(node, "xen,enhanced", &enhanced);
> +    if ( rc =3D=3D -EILSEQ || (rc =3D=3D 0 && !strcmp(enhanced, "enabled=
")) )

Are you sure you need to check for -EILSEQ?

>From documentation for dt_property_read_string:

 * Returns 0 on
 * success, -EINVAL if the property does not exist, -ENODATA if property
 * doest not have value, and -EILSEQ if the string is not
 * null-terminated with the length of the property data.


So, for me it looks like you need to check for -ENODATA.

> +        kinfo.enhanced =3D true;
> +
>      if ( vcpu_create(d, 0) =3D=3D NULL )
>          return -ENOMEM;
> =20
> diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm=
/kernel.h
> index 874aa108a7..3275f7fbca 100644
> --- a/xen/arch/arm/include/asm/kernel.h
> +++ b/xen/arch/arm/include/asm/kernel.h
> @@ -36,6 +36,9 @@ struct kernel_info {
>      /* Enable pl011 emulation */
>      bool vpl011;
> =20
> +    /* Enable PV drivers */
> +    bool enhanced;

Maybe dom0less_enhanced will be better name?
Or what about dom0? Should it have this option enabled?

> +
>      /* GIC phandle */
>      uint32_t phandle_gic;


--=20
Volodymyr Babchuk at EPAM=


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 03:43:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 03:43:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255592.438011 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n783t-00055M-27; Tue, 11 Jan 2022 03:43:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255592.438011; Tue, 11 Jan 2022 03:43:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n783s-00055F-Tq; Tue, 11 Jan 2022 03:43:04 +0000
Received: by outflank-mailman (input) for mailman id 255592;
 Tue, 11 Jan 2022 03:43:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n783r-00054l-Nc; Tue, 11 Jan 2022 03:43:03 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n783r-0006Tr-KS; Tue, 11 Jan 2022 03:43:03 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n783r-0004ph-CB; Tue, 11 Jan 2022 03:43:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n783r-0007cP-Bj; Tue, 11 Jan 2022 03:43: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=whVyPirR4L8qQUh70GaaNQR3Wyfr/xNnJeDYshNa3ys=; b=ov++5R22qwlyLtiytGbgmwF22Y
	9ReMGuDjRXdZ9jBJiOvqLr3MI9iKUyK1xVIBO7uGc6PkXQj1oYyCUkPIE4OZuZlHCBh7phN3Udb3a
	nMv52rtzqA0Utx1RzkWyOy7wtXvwH0UsMwT8Pj/50TMbqBeioWG57pOEVbeCbqO+GW7E=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167653-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167653: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-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-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt: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-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx: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-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=133d9c53c9dcbb1b8f317e402e79c44d9eb725c9
X-Osstest-Versions-That:
    linux=df0cc57e057f18e44dac8e6c18aba47ab53202f9
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 11 Jan 2022 03:43:03 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 18 guest-localmigrate/x10 fail pass in 167655-retest

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

version targeted for testing:
 linux                133d9c53c9dcbb1b8f317e402e79c44d9eb725c9
baseline version:
 linux                df0cc57e057f18e44dac8e6c18aba47ab53202f9

Last test of basis   167648  2022-01-10 01:42:02 Z    1 days
Testing same since   167653  2022-01-10 18:41:16 Z    0 days    1 attempts

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

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


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

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

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

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


Pushing revision :

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


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 05:33:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 05:33:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255600.438021 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n79mE-0007tU-J6; Tue, 11 Jan 2022 05:32:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255600.438021; Tue, 11 Jan 2022 05:32:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n79mE-0007tN-G5; Tue, 11 Jan 2022 05:32:58 +0000
Received: by outflank-mailman (input) for mailman id 255600;
 Tue, 11 Jan 2022 05:32:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n79mD-0007tH-3a
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 05:32:57 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ed37ea4d-729f-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 06:32:55 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 4B5FA1F383;
 Tue, 11 Jan 2022 05:32:54 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 0999A13A42;
 Tue, 11 Jan 2022 05:32:53 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Y11qOoUW3WHwTQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 05:32:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ed37ea4d-729f-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641879174; 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=j3DUv0V5byu4UTorL2QDYg64UAgard7q89jYQ4PgLCM=;
	b=CTUWzWGQ70uL7sGNJv1bCC+exrGlaYeXgKb4Ik4eFAsJjh37Y3wunICfN7lxRknxLzgo6E
	FgAnHOJGX4YRM6L4ZkqtJGIlYYKm7rfBhCB6J/CY+6Ix+gssGmGM0zM+IRVFsQpJAK+vX5
	/UgLeLZIyKpn6mR8EPvmthn8NB0L7Dc=
Subject: Re: xen 4.14.3 incorrect (~3x) cpu frequency reported
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <amc96@srcf.net>
Cc: James Dingwall <james-xen@dingwall.me.uk>, alexander.rossa@ncr.com,
 xen-devel@lists.xenproject.org, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>
References: <20210721092958.GA2502468@dingwall.me.uk>
 <c9c6778d-9823-4b07-fb48-604acef1f3de@suse.com>
 <20210726123332.GA3844057@dingwall.me.uk>
 <06be7360-0235-3773-b833-3e0d65512092@suse.com>
 <20211105152501.GA485838@dingwall.me.uk>
 <20220106150809.GA856484@dingwall.me.uk>
 <78540c18-c54e-07e8-c099-d7bfd29bea91@suse.com>
 <YdwodzmyvNwGJaSM@Air-de-Roger>
 <539e31bc-3e68-9e9d-3bb3-2d0f1b2834fc@suse.com>
 <0b2d6240-5780-b8ea-8828-ece44047cd63@srcf.net>
 <d887e3c2-8d89-8855-887c-943ebac6494d@suse.com>
From: Juergen Gross <jgross@suse.com>
Message-ID: <42287336-2d9c-c4d1-9253-ed3e9fbedbf3@suse.com>
Date: Tue, 11 Jan 2022 06:32:53 +0100
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: <d887e3c2-8d89-8855-887c-943ebac6494d@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="McxQlypiyRxNhcRBgnsDwmp3tfZXBECYz"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--McxQlypiyRxNhcRBgnsDwmp3tfZXBECYz
Content-Type: multipart/mixed; boundary="b5CzcQCJ9pSrJ0090MclyK5lbTK2qsLFc";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <amc96@srcf.net>
Cc: James Dingwall <james-xen@dingwall.me.uk>, alexander.rossa@ncr.com,
 xen-devel@lists.xenproject.org, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>
Message-ID: <42287336-2d9c-c4d1-9253-ed3e9fbedbf3@suse.com>
Subject: Re: xen 4.14.3 incorrect (~3x) cpu frequency reported
References: <20210721092958.GA2502468@dingwall.me.uk>
 <c9c6778d-9823-4b07-fb48-604acef1f3de@suse.com>
 <20210726123332.GA3844057@dingwall.me.uk>
 <06be7360-0235-3773-b833-3e0d65512092@suse.com>
 <20211105152501.GA485838@dingwall.me.uk>
 <20220106150809.GA856484@dingwall.me.uk>
 <78540c18-c54e-07e8-c099-d7bfd29bea91@suse.com>
 <YdwodzmyvNwGJaSM@Air-de-Roger>
 <539e31bc-3e68-9e9d-3bb3-2d0f1b2834fc@suse.com>
 <0b2d6240-5780-b8ea-8828-ece44047cd63@srcf.net>
 <d887e3c2-8d89-8855-887c-943ebac6494d@suse.com>
In-Reply-To: <d887e3c2-8d89-8855-887c-943ebac6494d@suse.com>

--b5CzcQCJ9pSrJ0090MclyK5lbTK2qsLFc
Content-Type: multipart/mixed;
 boundary="------------67AEAA8ACFAEA8468A990565"
Content-Language: en-US

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

On 10.01.22 18:04, Jan Beulich wrote:
> On 10.01.2022 16:43, Andrew Cooper wrote:
>> On 10/01/2022 13:11, Jan Beulich wrote:
>>> On 10.01.2022 13:37, Roger Pau Monn=C3=A9 wrote:
>>>> On Fri, Jan 07, 2022 at 12:39:04PM +0100, Jan Beulich wrote:
>>>>> @@ -415,16 +416,35 @@ static int64_t __init init_hpet(struct p
>>>>>  =20
>>>>>       pts->frequency =3D hpet_rate;
>>>>>  =20
>>>>> +for(i =3D 0; i < 16; ++i) {//temp
>>>>>       count =3D hpet_read32(HPET_COUNTER);
>>>>>       start =3D rdtsc_ordered();
>>>>>       target =3D count + CALIBRATE_VALUE(hpet_rate);
>>>>>       if ( target < count )
>>>>>           while ( hpet_read32(HPET_COUNTER) >=3D count )
>>>>>               continue;
>>>>> -    while ( hpet_read32(HPET_COUNTER) < target )
>>>>> +    while ( (count =3D hpet_read32(HPET_COUNTER)) < target )
>>>>>           continue;
>>>>>  =20
>>>>> -    return (rdtsc_ordered() - start) * CALIBRATE_FRAC;
>>>>> +    expired =3D rdtsc_ordered() - start;
>>>> There's also a window between the HPET read and the TSC read where a=
n
>>>> SMI/NMI could cause a wrong frequency detection.
>>> Right, as said in an earlier reply I did notice this myself (actually=

>>> on the way home on Friday). As also said there, for now I can't see
>>> any real (i.e. complete) solution to this and the similar instances
>>> of the issue elsewhere.
>>
>> Calibration loops like this cannot be made robust.=C2=A0 This is speci=
fically
>> why frequency information is being made available via architectural
>> means, and is available via non-architectural means in other cases.
>>
>> There's a whole bunch of situations (#STOPCLK, TERM and PSMI off the t=
op
>> of my head, but I bet HDC will screw with things too) which will mess
>> with any calibration loop, even if you could disable SMIs.=C2=A0 While=
,
>> mechanically, we can disable SMIs on AMD with CLGI, we absolutely
>> shouldn't run a calibration loop like this with SMIs disabled.
>>
>>
>> Much as I hate to suggest it, we should parse the frequency out of the=

>> long CPUID string, and compare it to the calibration time.=C2=A0 (This=

>> technique is mandated in the Intel BWG during very early setup.)
>=20
> This, according to some initial checking, might work for Intel CPUs,
> but apparently won't work for AMD ones (and I don't dare to think of
> what might happen if we run under, say, qemu). Imo we'd need to deal
> gracefully with the case that we can't parse the frequency out of
> that string, with "gracefully" including that our calibration still
> won't be too far off.
>=20
> Also I wonder if we wouldn't better prefer CPUID leaf 0x15 / 0x16
> data over parsing extended leaf.
>=20
>> If it is different by a large margin, rerun the calibration, and if it=

>> is still different, complain loudly into the logs.=C2=A0 This will fix=
 a
>> one-off-spurious event, whereas if e.g. the system is thermally
>> throttling due to a bad heat sync, there is nothing software can do to=

>> recover the system.
>=20
> I was already considering to use reference data like that from CPUID
> leaves 0x15 / 0x16, but I couldn't really settle on what "large
> margin" would really want to be. Imo we should try to correct not-
> just-as-large errors as well, if we can.
>=20
> For the moment I continue to consider my plan (outlined in another
> reply on this thread) superior to what you suggest, but I'll be
> looking forward to further replies from you or others.

Didn't Andrew mention that SMIs can be detected to have happened via
an SMI counter?

I'd save the SMI counter (and possibly MCE and NMI counters, too)
before calibration and check them not to have changed afterwards.

In case one of the counters did change, redo the calibration.

In the qemu (or nested virt) case the frequency might just be wrong,
but this is no regression compared to today.


Juergen

--------------67AEAA8ACFAEA8468A990565
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-----

--------------67AEAA8ACFAEA8468A990565--

--b5CzcQCJ9pSrJ0090MclyK5lbTK2qsLFc--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHdFoUFAwAAAAAACgkQsN6d1ii/Ey8N
rggAk1FFGP+HFq3W0lS0t1wqAm7sdlcY5SQEeafChx05+SISRwK6QJBJ0La12l+gBf6RpddflP9f
GiTcnZ7JK4whJLcpKhErxGZZbKmNa+3jQF/WFcB98EkTbPA/fjqXwLyX5ckaIwUglsJJY90oBC71
W2iYPKxY2L5zhrhRdhQXG4OvxE4X3vYwBMDIZNVl5f9BZRC1gtgrbwjwnZcmpxJwwQ7NER8a6gDq
WChNjrtg6tmHzizCneiqDxcH7c0QJXyhVlFoTDw2vDpeBO2WxwErFd8npBcBe88rjIE77fFH10KY
LrF1L5D8NToK1jXlXg+a7N5r7zOHSRN8QMfViXGJrQ==
=Q2aU
-----END PGP SIGNATURE-----

--McxQlypiyRxNhcRBgnsDwmp3tfZXBECYz--


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 06:09:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 06:09:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255605.438033 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7ALI-00037G-HO; Tue, 11 Jan 2022 06:09:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255605.438033; Tue, 11 Jan 2022 06: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 1n7ALI-000379-Dr; Tue, 11 Jan 2022 06:09:12 +0000
Received: by outflank-mailman (input) for mailman id 255605;
 Tue, 11 Jan 2022 06:09:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7ALH-000373-VG
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 06:09:11 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fde9932a-72a4-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 07:09:10 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id DAFC421119;
 Tue, 11 Jan 2022 06:09:09 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id B804313A42;
 Tue, 11 Jan 2022 06:09:09 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id bP96KwUf3WFxWgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 06:09:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fde9932a-72a4-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641881349; 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=2v6txgZcVQz/rHaqrvBny9JYlM1CC7PomD7hUvKuLnI=;
	b=a1kjwjYA6MVZRT0UDAkh9aVfhhkZGnjHUpl5pbiyZKw+1uVr93Qjl/uw2LHCquqLDCyxj7
	CYzpzmr9XyXLn5QtOL49L2p5xHs4GZQbFCwSX9O2IH1w1vnlG9TjTA572j4xiRv8Lw4HCe
	wZejFxBDiJj7Cfehq1l/xZyRaBz4Zuo=
To: Andrew Cooper <amc96@srcf.net>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20220107103544.9271-1-jgross@suse.com>
 <20220107103544.9271-2-jgross@suse.com>
 <06bcb18f-5e85-0fc1-86e8-857cb296645f@srcf.net>
 <afa9ce9e-e85d-3886-98db-1e99203c9c89@suse.com>
 <6df1ee3f-c14c-8016-397e-0ed12b9e3a82@srcf.net>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH 1/2] tools/libs/evtchn: decouple more from mini-os
Message-ID: <b07c6b84-53c8-0556-413c-dba3a8d3941b@suse.com>
Date: Tue, 11 Jan 2022 07:09:09 +0100
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: <6df1ee3f-c14c-8016-397e-0ed12b9e3a82@srcf.net>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="nh1buaIk0zd5H3RkViUvCMD6LCazJZfFk"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--nh1buaIk0zd5H3RkViUvCMD6LCazJZfFk
Content-Type: multipart/mixed; boundary="dT1hx8HK6jUmkpIelu6l4sp5y4BsDeHWL";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <amc96@srcf.net>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <b07c6b84-53c8-0556-413c-dba3a8d3941b@suse.com>
Subject: Re: [PATCH 1/2] tools/libs/evtchn: decouple more from mini-os
References: <20220107103544.9271-1-jgross@suse.com>
 <20220107103544.9271-2-jgross@suse.com>
 <06bcb18f-5e85-0fc1-86e8-857cb296645f@srcf.net>
 <afa9ce9e-e85d-3886-98db-1e99203c9c89@suse.com>
 <6df1ee3f-c14c-8016-397e-0ed12b9e3a82@srcf.net>
In-Reply-To: <6df1ee3f-c14c-8016-397e-0ed12b9e3a82@srcf.net>

--dT1hx8HK6jUmkpIelu6l4sp5y4BsDeHWL
Content-Type: multipart/mixed;
 boundary="------------08844A3C5D0BA4E4CF648DE4"
Content-Language: en-US

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

On 10.01.22 19:51, Andrew Cooper wrote:
> On 10/01/2022 12:49, Juergen Gross wrote:
>> On 10.01.22 13:25, Andrew Cooper wrote:
>>> On 07/01/2022 10:35, Juergen Gross wrote:
>>>> @@ -75,12 +86,25 @@ static void port_dealloc(struct evtchn_port_info=

>>>> *port_info)
>>>>  =C2=A0=C2=A0 */
>>>>  =C2=A0 int osdep_evtchn_open(xenevtchn_handle *xce, unsigned int fl=
ags)
>>>>  =C2=A0 {
>>>> -=C2=A0=C2=A0=C2=A0 int fd =3D alloc_fd(FTYPE_EVTCHN);
>>>> +=C2=A0=C2=A0=C2=A0 int fd;
>>>> +=C2=A0=C2=A0=C2=A0 struct file *file;
>>>> +=C2=A0=C2=A0=C2=A0 struct port_list *list;
>>>> +
>>>> +=C2=A0=C2=A0=C2=A0 list =3D malloc(sizeof(*list));
>>>> +=C2=A0=C2=A0=C2=A0 if ( !list )
>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return -1;
>>>> +
>>>> +=C2=A0=C2=A0=C2=A0 fd =3D alloc_fd(FTYPE_EVTCHN);
>>>> +=C2=A0=C2=A0=C2=A0 file =3D get_file_from_fd(fd);
>>>>  =C2=A0 -=C2=A0=C2=A0=C2=A0 if ( fd =3D=3D -1 )
>>>> +=C2=A0=C2=A0=C2=A0 if ( !file )
>>>> +=C2=A0=C2=A0=C2=A0 {
>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 free(list);
>>>>  =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 }
>>>
>>> This wants rearranging to keep alloc_fd() ahead of malloc().=C2=A0 Wi=
th that,
>>> there is no need for free(list) in this error path.
>>
>> Yeah, but the error path of malloc() having failed is quite nasty then=
=2E
>=20
> Oh yeah.=C2=A0 This is ugly, but I guess it is better this way around.

Please define "this way around". Do you mean like it is in my patch, or
with the malloc() after alloc_fd()?

With your suggestion I'm basically having an error path with close() in
it, while with my variant I'm having one with free() in it. I'd rather
have a local handling doing free(), than to use another external call to
close() for a half opened file.


Juergen

--------------08844A3C5D0BA4E4CF648DE4
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-----

--------------08844A3C5D0BA4E4CF648DE4--

--dT1hx8HK6jUmkpIelu6l4sp5y4BsDeHWL--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHdHwUFAwAAAAAACgkQsN6d1ii/Ey//
nQf/Sk/DsNdF5DRJ2iu+OIAGVwW6s0G7ccqzfbxg/HM8sDftYqUkqRuhargU5nMXwiJDy78WNFu3
OqVGo9pOE9aBVZ1X3t05feZpzLuW5ME2a6CZxkJa9NBy+p2vhr/3bmPEtCuFGvwySDUvKQyp0URP
ny7dLMW4GdXWgTqlSXVpOPbJmxC3mlDGa/QriPArAjxUG0BD2VvSVdMxj8wb1QPHEkP+nuJ/ujoq
61FrbK6ApNr4iXVJw/3wi7rhlXWlUfLzBHm99czOqidwYnKTWmQ8kAeRNb63WVGuLKb1BKhSEY8C
Gwoffh+dtgbhoSyCyfNn74bG5DOrYdNV3A+CixPESw==
=F828
-----END PGP SIGNATURE-----

--nh1buaIk0zd5H3RkViUvCMD6LCazJZfFk--


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 06:10:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 06:10:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255608.438044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7AMB-0004No-RL; Tue, 11 Jan 2022 06:10:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255608.438044; Tue, 11 Jan 2022 06: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 1n7AMB-0004Nh-OO; Tue, 11 Jan 2022 06:10:07 +0000
Received: by outflank-mailman (input) for mailman id 255608;
 Tue, 11 Jan 2022 06:10:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7AMA-000373-7u
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 06:10:06 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1eca4842-72a5-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 07:10:05 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 462CE1F3B1;
 Tue, 11 Jan 2022 06:10:05 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 24E7713A42;
 Tue, 11 Jan 2022 06:10:05 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id amrLBz0f3WHDWgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 06:10: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: 1eca4842-72a5-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641881405; 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=/7h/fQbr+GKJlJJFoAvSc7WkULnEg8B2Wq1FuO0pu3k=;
	b=VVWP8Otr7yqrt3mLLQY5LJiAqy3Zm1ogtDNsoWsukidMlgMYQiLXbWwLsJONe7T8ULi8Vc
	mrt6FW3IwZzA0tLYtyvduGusRlcNz7Cl5elMSwpsYX1xlu2QRzc0hUQjFd7cyaoz39Demw
	T8kI+fQyJWTmR1bE+bNfiGi7Yf/L+Ws=
Subject: Re: [PATCH 2/2] tools/libs/gnttab: decouple more from mini-os
To: Andrew Cooper <amc96@srcf.net>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20220107103544.9271-1-jgross@suse.com>
 <20220107103544.9271-3-jgross@suse.com>
 <b7534fde-b132-9822-fc3d-b3dfc28f9b04@srcf.net>
From: Juergen Gross <jgross@suse.com>
Message-ID: <e7c51c71-fcd3-eaef-a692-08cb6c06b293@suse.com>
Date: Tue, 11 Jan 2022 07:10:04 +0100
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: <b7534fde-b132-9822-fc3d-b3dfc28f9b04@srcf.net>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="VFYEUJoqbO3XEfiwa9JDtSSHBOa1UUZUh"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--VFYEUJoqbO3XEfiwa9JDtSSHBOa1UUZUh
Content-Type: multipart/mixed; boundary="Vdz5P8yzjAWhYM3w0AFbajcenr2JpXk9T";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <amc96@srcf.net>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <e7c51c71-fcd3-eaef-a692-08cb6c06b293@suse.com>
Subject: Re: [PATCH 2/2] tools/libs/gnttab: decouple more from mini-os
References: <20220107103544.9271-1-jgross@suse.com>
 <20220107103544.9271-3-jgross@suse.com>
 <b7534fde-b132-9822-fc3d-b3dfc28f9b04@srcf.net>
In-Reply-To: <b7534fde-b132-9822-fc3d-b3dfc28f9b04@srcf.net>

--Vdz5P8yzjAWhYM3w0AFbajcenr2JpXk9T
Content-Type: multipart/mixed;
 boundary="------------45467B4A18930CA20B4A52E3"
Content-Language: en-US

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

On 10.01.22 19:56, Andrew Cooper wrote:
> On 07/01/2022 10:35, Juergen Gross wrote:
>> @@ -54,8 +70,11 @@ int osdep_gnttab_close(xengnttab_handle *xgt)
>>  =20
>>   void minios_gnttab_close_fd(int fd)
>>   {
>> -    gntmap_fini(&files[fd].gntmap);
>> -    files[fd].type =3D FTYPE_NONE;
>> +    struct file *file =3D get_file_from_fd(fd);
>> +
>> +    gntmap_fini(file->dev);
>> +    free(file->dev);
>=20
> file->dev =3D NULL ?
>=20
> Particularly as this is a pointer in a global files[] array.

I'll reset all the struct file contents in close() for all file types.


Juergen

--------------45467B4A18930CA20B4A52E3
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-----

--------------45467B4A18930CA20B4A52E3--

--Vdz5P8yzjAWhYM3w0AFbajcenr2JpXk9T--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHdHzwFAwAAAAAACgkQsN6d1ii/Ey9y
2Qf+MHuosn889wxvKtJZXfNXI4BeoOw8APVqQl+HrTg5KRHaukHeivsa5Ngxln8RyKuoLGecfIAX
ZtNs0g/c7etKWEC5rXhNzE4dnDOa6EORhjV1QQhou4UjNQ5L3SqtXJ34a4pnBtfm69SxBeMtwxLa
GoA/VDsXrYGRgKSm5RZx2z40tG+PtFflcyMOdQAAlDy8MPjVBnsvU2kZ4+XVsdaqvUJjn/msSVAr
rlrZhr77sbLeRNew6TZl/OdM988KttXQg1ouC2qjeZFBJ3J+V+u+b88gcQcg8vrxzkQSJ/HIdfzT
Iv3t/7JokH3bF3XX9jLE98ODuKBy7Bsa0pd9yJkRug==
=IHfn
-----END PGP SIGNATURE-----

--VFYEUJoqbO3XEfiwa9JDtSSHBOa1UUZUh--


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 07:10:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 07:10:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255613.438055 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7BIA-0001gn-Fp; Tue, 11 Jan 2022 07:10:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255613.438055; Tue, 11 Jan 2022 07:10:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7BIA-0001g8-Ab; Tue, 11 Jan 2022 07:10:02 +0000
Received: by outflank-mailman (input) for mailman id 255613;
 Tue, 11 Jan 2022 07:10:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zW4/=R3=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n7BI9-0001Zw-2m
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 07:10:01 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7c72fdbb-72ad-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 08:09:59 +0100 (CET)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2057.outbound.protection.outlook.com [104.47.2.57]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-38-DLGt0T33MDi9JlOCWPIMqw-1; Tue, 11 Jan 2022 08:09:57 +0100
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.4867.9; Tue, 11 Jan
 2022 07:09:56 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Tue, 11 Jan 2022
 07:09: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: 7c72fdbb-72ad-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641884998;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=jtUQoS6bl1zAfjQkrt2xEIAfoqxDEyoUBxOFfjsbyuE=;
	b=cT9lGEyLFj/+WqYpnIGFolVYKv+Um/HEaPt+DQk5/hI/IKwiPjTjg8mWLHwFtWbqjDfDdi
	XjSLLhnvmMaMKuaw3cxwo3rSkDWYEsgP+dQpyRsT6RhxG6iOAqxVEyfSXugovJo87Nz8fk
	6a/0S9XE5bG3g2RX1LiHlQFZ1SLpI/M=
X-MC-Unique: DLGt0T33MDi9JlOCWPIMqw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hYS8RRQvJHXzVPr6N55WjxIGO/QSfVg/qmX26Ml4zUsN2ksaKNIARl/9h7SluGlJgJw0nWCIqNZPlefBLhN0K8l5IzSh5M2SB+7sV7zv5FWOcPshee86O59yO74C42Bf2c/Cnliv2a++ce678yyqlKelUArJiIRpjFFUEVrGGZxawjI8ZdGoIFrve/WarRy0qKzUGLsvNigo/oCMu22VTgTSeTDTjgVIm6S3c44q+ZNyBRsndlFxoxRGxyuLawV9dt6TU5eOiZqYL4sUSTh1AegkBZfYp1RbFIpvAwJ/ZGB7lnH6+i4oEGObUGV4oTs5rNFDipLoJSd1IlifOu3uHw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+Rg5aORLBy2VyxCSBoNlGxFi+WpuKQMtr44s6uJCrDc=;
 b=ZmYf5NiRz6Z8PAbQMHMMoapk8fg3aMuTaAS2rHPgqe9EAmkFuns14bXrhMtO6Cw8VxQnGPnO7wknmEFb7euiTSIV1+ToU01aoOeq7osDcdQmxZ+Zy0tHTaXxvk921QtBxgBF9JpZ39BzrIS311jDHeibb6MRNfG3t9FJV/wffxb9tsnAB9D4507B2mfYDjQi9OpIfiPXH3vh0nyCZkue6pylLB0syD/RWdYVo0lor2Ghmm1C5sZH90hHu840U1fI3pFRXw0LGrU6WXGfS5weOh3RvYyA0wMhL7W+pIv17whmGZY5AykV8kdzsr6pTfTkaYPy4znFwB/CFWaqMW6v0g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6e019850-5d9a-f5bd-3aef-cff45d2ccb53@suse.com>
Date: Tue, 11 Jan 2022 08:09:53 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: xen 4.14.3 incorrect (~3x) cpu frequency reported
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
CC: James Dingwall <james-xen@dingwall.me.uk>, alexander.rossa@ncr.com,
 xen-devel@lists.xenproject.org, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Andrew Cooper <amc96@srcf.net>
References: <20210721092958.GA2502468@dingwall.me.uk>
 <c9c6778d-9823-4b07-fb48-604acef1f3de@suse.com>
 <20210726123332.GA3844057@dingwall.me.uk>
 <06be7360-0235-3773-b833-3e0d65512092@suse.com>
 <20211105152501.GA485838@dingwall.me.uk>
 <20220106150809.GA856484@dingwall.me.uk>
 <78540c18-c54e-07e8-c099-d7bfd29bea91@suse.com>
 <YdwodzmyvNwGJaSM@Air-de-Roger>
 <539e31bc-3e68-9e9d-3bb3-2d0f1b2834fc@suse.com>
 <0b2d6240-5780-b8ea-8828-ece44047cd63@srcf.net>
 <d887e3c2-8d89-8855-887c-943ebac6494d@suse.com>
 <42287336-2d9c-c4d1-9253-ed3e9fbedbf3@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <42287336-2d9c-c4d1-9253-ed3e9fbedbf3@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM6P193CA0136.EURP193.PROD.OUTLOOK.COM
 (2603:10a6:209:85::41) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 546bcef2-c11e-4287-fffc-08d9d4d15ee2
X-MS-TrafficTypeDiagnostic: VI1PR04MB6863:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB686355114B4E8EFDB46426B9B3519@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:
	Rd9pSsnPNEzH/Z34q68F2j5xZdCmoIxL5zHQCNPI3LdrMY+wfJhbqqtm6XmE3cCdVj7FqeeXs9l+LxIY6afkF0fgvQhu2fM8tfM4GHQHr0tcL+mSynxU8x3eahsqCFeLmzvqumeVKmCtVaVCs67sVoPCrajbX1klc+5RpKHdQi1kIxbfoni1/cES0ItwuI5NqBvhTVmLhU67x+JGcYPsW+ONboyYqW9LW0ero6ZmbtmMb55SyV+PUqvcFBtcyIJ30xT9H/fa02cAUs7ab/bMg4T90ps8fRpAvruZjLRFFk/qgYn+cMkOB1fjm+D1qSLZKJRJ/+VGzB46DJNZd8W7PSXHic/2eadZ0E5fdd691pOtWwRQQZ71oUZ7Cp/hbTPj9UtMWFHF+4IFVFcWxWL+p48RBuNsUJbBPDhAL6y3YcOImeQNPt+oiCjkcj7nh7BYvyRcMsiunNlit6ZsKCTWUMovmZzgFp8cmzrLkUT2ruCZhWDdtvBiMPPzCj/YsXy2vRSYyKEQ1nBZ/CXZqnh0lBKRwoJ2OkscOIgfdDRZntC3j4iTPoAOkQ/cOrFIKkFO6IPhbBOVrmqWWUyB70OMV6Px1+xbv1UttWGqFrfGvJju7D2qkIJWf4SY6fmXpspJPstV4XpEsNPtftSH8/d2YjkDO/WUmFIU+fDQhq/Pn3k5wDuYOKBPBuvUjeWff2rmDEAasivQsvF6oH7NOUKkbY0MNujv8X1jewyBDcYfUS0=
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)(8676002)(6636002)(37006003)(31696002)(8936002)(316002)(54906003)(2906002)(36756003)(31686004)(86362001)(66476007)(66946007)(4326008)(186003)(53546011)(5660300002)(6862004)(26005)(38100700002)(2616005)(508600001)(83380400001)(6512007)(6486002)(6506007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?fBjXKPf8U4+Utc7NRm5VZzTSqW2SwoDR4OuPB4+5VcAsi4zZmR+b7SkgXwbn?=
 =?us-ascii?Q?gh+KGTf2Spm5rN6n2/m2V6q56IW8NS1/MrwhmPedHR0HtPQp65Cqbrxct/J+?=
 =?us-ascii?Q?WtArmW4XbOplXTSsbK06V2KooDbkWMH4RuqABKFC/xw15uYe1geiKwZ/w9AU?=
 =?us-ascii?Q?snf9Ny+iyLH1NUvZkyCccuCNK6D9YntgOfc62UANn2GeO26ekhnnH5o/6IOU?=
 =?us-ascii?Q?tw6P9BImiQxflws8QKdx9pMlEc378qJ08EKnQ8VxS4M/ndjvQ3wZCKpc9URn?=
 =?us-ascii?Q?JxDSkrnTeKpQZUOmVGs6I86Ab2vq8dDjmv0VqysdCsjkW8fakabR1FxnOhl2?=
 =?us-ascii?Q?LKr3etQ34KXzE01LYDVSqEo+VfuZR4BSVIc2i1kPfBBbHBJ9pjZGSzd7rESD?=
 =?us-ascii?Q?D1Taetx0NYi/3SB+a0rXE90KaT8iJZt9gbq1gTTWD3y8vJeieSPT69+mJNxT?=
 =?us-ascii?Q?8L8EmI22ICHWCEzoE22G/qjWfDtdX0kbbbEwTqO/AjO1B4botQGAV5EA1OqV?=
 =?us-ascii?Q?vrg/a3Mw6ZeU5n2D233zrF3Rh20AsBuDD1pTXLrEy+wPR7AH/KLyst+amtNR?=
 =?us-ascii?Q?1NMOPFSgnQ5hP8Zo/MJE54FA1+MzXS3r+W4D4K0cQLnmIrqMWsjyDuODNxSF?=
 =?us-ascii?Q?yJ5g/fwbOXhl55GsSDysy/roQl01+7sWehYXmN5ett1Nak3rXOQzUR4f7M9U?=
 =?us-ascii?Q?6vM7QES+wprtaZIs8snUdmZXvkrkf6qL6EuKvxUfPvT5/0dGrcq5N3JduO7t?=
 =?us-ascii?Q?EWXFiL6yNbvbovho6fn//ld4TVN/xyBW5tXkgOsoR2vM0AwH+zyiX/mLAZ05?=
 =?us-ascii?Q?z/ZxcDh6PO7Pdq1mDnyuqgE8MhK6IdyHsQsq0YFkGJq34ING/+a7OANkeM/V?=
 =?us-ascii?Q?N+p3LFtCu6FpIBWs8GigmaG0sq4fu88OFkb/E6tlRdh/aJN7WjEwOig36nLH?=
 =?us-ascii?Q?/dAxKHUdU0GnzJAODFqxAwmD4WfDKMQypOxaXqN0PmQNlz0q3tp2RCtTEKlG?=
 =?us-ascii?Q?RhnvLjQXLW+qRDCQZeJhIN2l2qw6Z8HWqfbsaeqVAdK5/E8yMx2O2XE2KvIb?=
 =?us-ascii?Q?/C4tfJhb7ZDlACV8vFn46wGq+7+W5sHTYwEaCIhDkFgtfDeJbX3a3gDDPp9b?=
 =?us-ascii?Q?u9o+VHNWO8QllzQzwdBr9d6vwPfhB7kUEEqFQa6kx9GOpxVuLGqlgWx92EmR?=
 =?us-ascii?Q?dzhS880j6Vahc8CFeIlRxPkb8wsULANj5unODQ6Vl0RyT51e930upzN8rDyz?=
 =?us-ascii?Q?dkjcsoqPpshOKVFfjFbH9+K14rYMOGlt3SeAPHXQFlugaF9E5djGSD83B+wE?=
 =?us-ascii?Q?IQGc1gcIo7D51KqxcCI17LEOk5TJloHMEFijMMgB+tZFJ5V4D4X7LeUbQa2N?=
 =?us-ascii?Q?O/oKgfh+SHAn8hvuQNF8FWjeOuglbpMX/OZqa7ySqVgZ9IW6Jslh+kYvoE6E?=
 =?us-ascii?Q?d+lyXaAZ3WVnVafCvIzaBqd9eTVfGQ2sChQR0sbXoBCFE/zaHFFvVtFSNh7r?=
 =?us-ascii?Q?DZCDocQ6s27xVxdOhTL3AUbHC8OM3iGm5pI3cyfZCtTvm50EwnpHvd2jo6Hx?=
 =?us-ascii?Q?n1ldMKa27HyEYgohLEtBqLCkj0F6UXtF+67/XGPoMXQD+8MRu/lu4zA8N6rI?=
 =?us-ascii?Q?gF+KUsDVtmttDOq7QSUw4Wg=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 546bcef2-c11e-4287-fffc-08d9d4d15ee2
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2022 07:09:55.7242
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7J2tXbxtDjyCaxna/pLg0+P899Bjx2ph89/0tja3EcZWXXdXdwTcVWHUuHMyxg18mOqyEFH4HYeu9t8fIDVrlg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6863

On 11.01.2022 06:32, Juergen Gross wrote:
> On 10.01.22 18:04, Jan Beulich wrote:
>> On 10.01.2022 16:43, Andrew Cooper wrote:
>>> On 10/01/2022 13:11, Jan Beulich wrote:
>>>> On 10.01.2022 13:37, Roger Pau Monn=C3=A9 wrote:
>>>>> On Fri, Jan 07, 2022 at 12:39:04PM +0100, Jan Beulich wrote:
>>>>>> @@ -415,16 +416,35 @@ static int64_t __init init_hpet(struct p
>>>>>>  =20
>>>>>>       pts->frequency =3D hpet_rate;
>>>>>>  =20
>>>>>> +for(i =3D 0; i < 16; ++i) {//temp
>>>>>>       count =3D hpet_read32(HPET_COUNTER);
>>>>>>       start =3D rdtsc_ordered();
>>>>>>       target =3D count + CALIBRATE_VALUE(hpet_rate);
>>>>>>       if ( target < count )
>>>>>>           while ( hpet_read32(HPET_COUNTER) >=3D count )
>>>>>>               continue;
>>>>>> -    while ( hpet_read32(HPET_COUNTER) < target )
>>>>>> +    while ( (count =3D hpet_read32(HPET_COUNTER)) < target )
>>>>>>           continue;
>>>>>>  =20
>>>>>> -    return (rdtsc_ordered() - start) * CALIBRATE_FRAC;
>>>>>> +    expired =3D rdtsc_ordered() - start;
>>>>> There's also a window between the HPET read and the TSC read where an
>>>>> SMI/NMI could cause a wrong frequency detection.
>>>> Right, as said in an earlier reply I did notice this myself (actually
>>>> on the way home on Friday). As also said there, for now I can't see
>>>> any real (i.e. complete) solution to this and the similar instances
>>>> of the issue elsewhere.
>>>
>>> Calibration loops like this cannot be made robust.=C2=A0 This is specif=
ically
>>> why frequency information is being made available via architectural
>>> means, and is available via non-architectural means in other cases.
>>>
>>> There's a whole bunch of situations (#STOPCLK, TERM and PSMI off the to=
p
>>> of my head, but I bet HDC will screw with things too) which will mess
>>> with any calibration loop, even if you could disable SMIs.=C2=A0 While,
>>> mechanically, we can disable SMIs on AMD with CLGI, we absolutely
>>> shouldn't run a calibration loop like this with SMIs disabled.
>>>
>>>
>>> Much as I hate to suggest it, we should parse the frequency out of the
>>> long CPUID string, and compare it to the calibration time.=C2=A0 (This
>>> technique is mandated in the Intel BWG during very early setup.)
>>
>> This, according to some initial checking, might work for Intel CPUs,
>> but apparently won't work for AMD ones (and I don't dare to think of
>> what might happen if we run under, say, qemu). Imo we'd need to deal
>> gracefully with the case that we can't parse the frequency out of
>> that string, with "gracefully" including that our calibration still
>> won't be too far off.
>>
>> Also I wonder if we wouldn't better prefer CPUID leaf 0x15 / 0x16
>> data over parsing extended leaf.
>>
>>> If it is different by a large margin, rerun the calibration, and if it
>>> is still different, complain loudly into the logs.=C2=A0 This will fix =
a
>>> one-off-spurious event, whereas if e.g. the system is thermally
>>> throttling due to a bad heat sync, there is nothing software can do to
>>> recover the system.
>>
>> I was already considering to use reference data like that from CPUID
>> leaves 0x15 / 0x16, but I couldn't really settle on what "large
>> margin" would really want to be. Imo we should try to correct not-
>> just-as-large errors as well, if we can.
>>
>> For the moment I continue to consider my plan (outlined in another
>> reply on this thread) superior to what you suggest, but I'll be
>> looking forward to further replies from you or others.
>=20
> Didn't Andrew mention that SMIs can be detected to have happened via
> an SMI counter?

Yes, but that's again an Intel-only thing. Plus, as said elsewhere,
I don't think it can be considered sufficient to account for SMI and
NMI alone - there can be any number of other things causing delays.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 07:14:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 07:14:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255618.438065 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7BMe-00031a-3Q; Tue, 11 Jan 2022 07:14:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255618.438065; Tue, 11 Jan 2022 07:14: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 1n7BMe-00031T-0A; Tue, 11 Jan 2022 07:14:40 +0000
Received: by outflank-mailman (input) for mailman id 255618;
 Tue, 11 Jan 2022 07:14:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zW4/=R3=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n7BMc-00031N-Pl
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 07:14:38 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 218de39a-72ae-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 08:14:35 +0100 (CET)
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur02lp2051.outbound.protection.outlook.com [104.47.5.51]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-12-Br6b7TnYPcKwEWXcymG8Fg-1; Tue, 11 Jan 2022 08:14:34 +0100
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.4867.7; Tue, 11 Jan
 2022 07:14:32 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Tue, 11 Jan 2022
 07:14:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 218de39a-72ae-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641885275;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=RA8OEqcZNMHPSENVQPo9047qeVa8zMHzMn+l7773h6k=;
	b=F8e32V9L7w1zZSVlnrKLB2Sq+N1Xz/qNIYLUaK5Vy/8tJKhKGkf1j9KFUBT232QH7oGmhL
	mLkfO1h/MxWNRkJ8/Xy8qz4qp5kbfn5YVWIXxCgxcEzrYhaKfXUcau/Zytv3WimOEG9e5q
	I3IdhbAXcIY1aB1mHm7yeQsiCxTsVZo=
X-MC-Unique: Br6b7TnYPcKwEWXcymG8Fg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aXg5/mepHG7flNSMQU0GGFIj4DgOFeLz92jreGOiTPPQ0TKJu9VyYf14tIvEX1JYpfJaXajJyghHbCVBIFHlk3jSANC5P6XOtaXBlY2vfM9TP6A5nIWEtjAtgbh6B6GxxLQOr1jth7tCq3cVJlvoV6oMqHaiTNjmhrJB1Hqdk29TZgRlZgq4xvU44ESsFYvQuPXTWl4af0uoj8coN4+DAgtUwTLoF9Ab5+xI12s0RtAjQor/mt7A/QSHnrlKVS0EvBEr0/iXaMT6TsILNKCrpcgSB5tFtL/qp1oKf7ftiVssfj+6Q8LBJ8XPnjkbFRe6nbvGhvblugrp5u65wFIjpg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RA8OEqcZNMHPSENVQPo9047qeVa8zMHzMn+l7773h6k=;
 b=F9jbEaC44uKqaSHgXOfdxqQNtfg6gpcbFGXR0JiQhw2hWBuE9P7JeuP9xZpFVjLEw6nin3hu46pb38M9anHLUzp44BDZAC4ftSXO+hLreq4gB5KVhsp1CHnQuAUq3Xu9N8AMqzv2MkFbcU8ni/xfXbTHTxb6kDZaBMzwxx4OAf+6/GSRVhbbAhfE1oiVgGdCzwiYyJz7+7MfMg6kjuNK9rZ4DTluPtxmno0IRUBhkHATlny8zddaI0MaZmkvBs2WHocqBMvjao+aFytpIQ8UcliM9er3ocN96mRYd/bESO8ySO58K3DpTIc1WV4og20qXWEMcw2hJxigDJZZGAkQyg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <627242da-78e2-913f-33a4-4ae7fb94664a@suse.com>
Date: Tue, 11 Jan 2022 08:14:29 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [XEN PATCH 1/7] xen: introduce XENFEAT_xenstore_late_init
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: julien@xen.org, Bertrand.Marquis@arm.com,
 Luca Miccio <lucmiccio@gmail.com>,
 Stefano Stabellini <stefano.stabellini@xilinx.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop>
 <20220108004912.3820176-1-sstabellini@kernel.org>
 <f3baac82-0eff-f885-f03a-ba987c8e12b6@suse.com>
 <alpine.DEB.2.22.394.2201101458520.2060010@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2201101458520.2060010@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0129.eurprd06.prod.outlook.com
 (2603:10a6:20b:467::7) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ac43e015-dd8c-48b0-f193-08d9d4d203d7
X-MS-TrafficTypeDiagnostic: VI1PR04MB5742:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB57427BB09D2F322F8CE2B04FB3519@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:
	zoIFhDb0oQPhLYUIuxlb9+w1/5AEaLcmCfn9WAp290zqCe4r4aXSsHQ1lR+jEe2FXT4bP64jNiq9HLq/krzcXLwb/7Hfr1cDuvrrLcCFU9df73jq/p/OvZxGauuNidylTV4XUc//ksKvCxt9LiB0m9tRBF6ethFFySqtuNUyqHuN8H89aGChLJ4aVtdGCHbWEDY1mce+/z8mlgU6i/iidUSeRFlZFkx9GRdmnOZs6x7n6Kw+UBII7pecZw/rVi/IwdyjxcbPfhXsdNTi3egF0z2VH9cFIb1rJ65Do0Vqw+CkRsXYy3kYuSWyCxoshxm/BxMfrk8wse8SpJPAUABFucCrSuH1/7heW7afqaD2MyQVFI+0kwsaW9Ctx3f+MsgYj5M42F9wndNILbRsuFOVHlTV0Exax5gFJURKIUUcDzZfQJd4VtknrrSyUlStsa2pYTPoObtVsCJ3dF88vNe/TFD82ZLaXfP6wd0nTUI2IaiC6JHMDvpvnuRGMKH7RN6PZlNEoGF3NHb9R+E70SfIIUKbtpgcZqiKjnu693541WdTcCDL9ukbeI6rtLMKCo6Ux/PsmGSCXULBaImiSka5SesOMb54FW9xasd1NeZ14+cTPM0oapJEmqAi7pzni19fWsIPuuBh6byq2DHFIgYXUIi8FG2JduzSnWDHUkoUxAvQbBqbEedsiBsrAJZOJnOZBGftOIXsvRnEccqWkIojUoGPzVUFSpoxuMLyuARzz/EjeCoLJQSb8kzEGdXeFT+R
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)(7416002)(26005)(54906003)(508600001)(31686004)(6512007)(31696002)(8676002)(5660300002)(83380400001)(36756003)(4326008)(2616005)(86362001)(66476007)(186003)(66946007)(8936002)(38100700002)(66556008)(6486002)(6666004)(6916009)(2906002)(53546011)(316002)(6506007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SUN6b2oxYWROTzNScncyZjdZSFQ5dGhYcThwdEFzK0pLME1JQ0JtOUIvdnRD?=
 =?utf-8?B?ZXQzdVBWQ25WWUphb241dFdXSmtoQjZhN1FrQnorbXNoMTBFZlcwNHlJNlBp?=
 =?utf-8?B?RWs1b2ZETlBkTEdYbHA4aVlDZGtUY2FHWUxPd3hFMWo2V1NTbEpoRHdmRjhZ?=
 =?utf-8?B?Rm0xSENFVlc3UGlMNGVQblk0NGFvenpuUVkvSU1GRHdxdXZGdkJ1NGRINlA2?=
 =?utf-8?B?S21uM0dPRzhJb25PeHU4ZjRhaWh1dXpuOWdDWjZSaUc1ZjRxVnZKUXFDa3dG?=
 =?utf-8?B?cnpVOVJGMHp2TGhyckFNaVNDbUo5eks4SkY1MExrZ09FRzlMUS90ZDRVdXdI?=
 =?utf-8?B?QWsvSE9CNmFWRjdGZEhLeHFXZktFVWIzZk1RUm1EOWd0cDY4V3ZIU2t2NnVS?=
 =?utf-8?B?OEdDWC9wWGlmUjdXSkpoYlNENmt2VUt4aXl6RFB1TUNXL1UwYUNyQW9JQnVZ?=
 =?utf-8?B?QUZ5VU51SEpkMldZaks3R2JURVREVE9SamFla1k5VVdFQXFtakttQjEzVGdi?=
 =?utf-8?B?dUk0aCswZUxBN04vRGZxd0Qwa29UOFMzWGx3MVl5Z2tHK1NYb21sVERSY3Jk?=
 =?utf-8?B?TnlFaTZwYlpTdFNXck9wSW5pV0szTEZwNUhLazUvNGRLWmFJMTlqL0xIZmNz?=
 =?utf-8?B?SDVJMGVicDRmbUpKcDVkTWg0ODU2Qmt4elhPK2JtaTYwbUMzbFk5Y2ZRTTNF?=
 =?utf-8?B?V0M0ZU1PcGVXcFQ5MGpDbTZGWGRONmZaTWZPTmFGVnhiRFZnckpZazl1b1dx?=
 =?utf-8?B?VkhwUkdyV2pQeWFsS3ZkOHZacG1nMXA5TW9zSldwdzcyQW5OQnQrb0w1NjhU?=
 =?utf-8?B?MmhzVFpqNzN4TUc0cDNUUzNITjQ4ZFZwU2dPTm80V0dGTnJYNkRWZTRRUHdJ?=
 =?utf-8?B?UGNvK3h0RFk4aDg2c1piMmYzRHBkOVhoV2cvMzYwei8xeHFid2tubi9RdHlO?=
 =?utf-8?B?eHg1SGtLQUhnajNrMVQrN3orVEtkaDFxTVkvNEN3dU9PMFJLZVMrOUtyN0hL?=
 =?utf-8?B?Zk1LL0JGR2c2SnVvL2w0eEp1Y2txeFNPdXBEMGY3clBtRkljTEJHbk1LMUJS?=
 =?utf-8?B?Ty9CVEc2UzN6ZjRXNEVObGtqL3lHMEJvOU1NdGRQSXZGcnBxMVNIUzY3b0pJ?=
 =?utf-8?B?VWw1MFhheGg1cmo1TVlsTzZWejR1T2VrVndid0huYVVMb3RNWjFEWWVWRmo5?=
 =?utf-8?B?eDNPT3VBUlJJdnprSUdEOTI5VysyaHZLRjIxcXprbUM3b0lqUnlGVjdxSElw?=
 =?utf-8?B?S3NQOGRFcmhpTjBsNlJ0aXZWdU5nTXFTS3paVHpYcnpEclZmcHNoaDZ4cEt5?=
 =?utf-8?B?bHJ1ZEt4NS9tbEMvUTFoa2hsR08xeTRyeitpMS9BMWdUQTVHbk1WbGdKTk1p?=
 =?utf-8?B?Y1dWNUlHcGY5SnVyU2J3Um1mU2ZuakNiZU5Xd1Q5bnQ5SXFCS1V5WDVVbjhP?=
 =?utf-8?B?Ui9KaUlWU2ljdjJRT0lzQXE3NVVkSWdsNmJVMjk1OVJhYkpxaVFraWZUZ2tB?=
 =?utf-8?B?bXJFTy9LNklWU0o3ZTVSRVRCKzhtN0RIemNyUlhkYnloWlhXTWp3bkdETFFW?=
 =?utf-8?B?OFNBVDlSQ21ubzVFaTNoczBRN2JkNCtYbnVMUjZOQXVzamkzSDRENThkNHFD?=
 =?utf-8?B?M3hoUEMxRnVmbHYraG9ScDVQMTN2dXlnVFc3YXFkcEtvM05jQWsxbUJoZWs1?=
 =?utf-8?B?S2pkZUJoSktwNGI0bGpHUUxRK09SMWVrVE1NZTNhdldad0F5ekVwdWVQTW03?=
 =?utf-8?B?ZGkyVWhRQ2U3ZDczQ3B4Y0phdlV1ako4bCtKWmxOWGoxNFBMOHNFWmI2MHV3?=
 =?utf-8?B?T3lnWm5pVTRpdzlQZXI5OTZWR0tRM0pMRmlHMERqNTdFOFNnS25heHp0OVJz?=
 =?utf-8?B?WDUyZW5FUzYyK1VEbjIvdlluQnZQSzYwQStnZ2tuMGxiU2w3V3p5VVV0Ylk2?=
 =?utf-8?B?Kzd0K2s0Q3JIWUNyRzhQK25JbDl2eUxsc1VKUEQ5RlV5eDFwY1JQamhqKzdk?=
 =?utf-8?B?RlpnLytQdUs4YzN3MzZOZkVLOFFGTStPcWJneXBXS2xPazlEd21OQWhTbTUr?=
 =?utf-8?B?eGJmQVY4bXhNVUVzVk1lalRGTlAyWEhtaTBKQTljTndxVjZiMVJuenBDeUw4?=
 =?utf-8?B?LzJ2OUo3bSt4elpWalhWMnkvYndUQ2ZheDBuYm5sangzQWt6NytvY3A1Tmhq?=
 =?utf-8?Q?5a61aTw7ozUi1dIKIDn2UDw=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ac43e015-dd8c-48b0-f193-08d9d4d203d7
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2022 07:14:32.3719
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lN1ulMGxE1UYTkQbYIbsXskKJrPL5AaCGVwa6RrXdfI3fZ2RYMbX2YRWzNzRcowe6iR7XXL+o7dmNtDxrHiWDg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5742

On 11.01.2022 00:08, Stefano Stabellini wrote:
> On Mon, 10 Jan 2022, Jan Beulich wrote:
>> On 08.01.2022 01:49, Stefano Stabellini wrote:
>>> Introduce a new feature flag to signal that xenstore will not be
>>> immediately available at boot time. Instead, xenstore will become
>>> available later, and a notification of xenstore readiness will be
>>> signalled to the guest using the xenstore event channel.
>>
>> In addition to what Julien has said, I'd like to point out that Linux'es
>> xenbus driver already has means to deal with xenstored not being around
>> right away (perhaps because of living in a stubdom which starts in
>> parallel). I therefore wonder whether what you want can't be achieved
>> entirely inside that driver, without any new feature flag.
> 
> The fewer changes to Linux the better but we couldn't find a way to make
> it work with zero changes.
> 
> In a way, the patch for Linux is re-using the existing infrastructure to
> delay initialization, e.g. xenbus_probe_thread to call xenbus_probe
> later.
> 
> However, today there is nothing stopping Linux/HVM to continue
> initialization immediately except for xs_hvm_defer_init_for_callback
> which is not applicable in this case. So we introduced
> XENFEAT_xenstore_late_init.
> 
> As I wrote in another reply, I think we could do without
> XENFEAT_xenstore_late_init if we instead rely on checking for
> HVM_PARAM_STORE_EVTCHN being valid and HVM_PARAM_STORE_PFN being zero.

Just as an aside - as discussed in some other context not so long ago,
HVM_PARAM_*_PFN being zero isn't the best way of expressing "not yet
initialized", and hence you would also want to check against ~0.

> But either way as far as I can tell we need to add a new check to delay
> xenstore initialization in Linux/HVM.

Yes, I can see that a Linux side change might be needed. But isolating
the change to there will be much better than needing to also have a
Xen side change in place.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 07:23:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 07:23:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255622.438076 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7BUw-0004XI-T4; Tue, 11 Jan 2022 07:23:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255622.438076; Tue, 11 Jan 2022 07:23: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 1n7BUw-0004XB-Pm; Tue, 11 Jan 2022 07:23:14 +0000
Received: by outflank-mailman (input) for mailman id 255622;
 Tue, 11 Jan 2022 07:23:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zW4/=R3=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n7BUw-0004X5-8g
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 07:23:14 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5558a614-72af-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 08:23:12 +0100 (CET)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2104.outbound.protection.outlook.com [104.47.17.104]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-31-qWWo8nZ1PzaQkg3bFVkdGw-1; Tue, 11 Jan 2022 08:23:11 +0100
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.4867.9; Tue, 11 Jan
 2022 07:23:09 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Tue, 11 Jan 2022
 07:23:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5558a614-72af-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641885792;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=tj7+CMO9M+aDoUTXHl7GkGsI2dJVaO4HlSkCmY7AjJU=;
	b=APVf0Bo2QNzTO1BbHJgppjfqZzrINlDEv+h2VPwpvhy2lmh5QN9KD1FHiwimDWZK+pOZVV
	9MgKSb7uMK4SuIdHnLMNbmFo8FVuFwyPtnO/ajJBHY8Sw2NuU3WWN4eUoj7sQuwf+GM0X3
	l6BVFYkZxvbP5zFiHfv2SLqFNxVzhp0=
X-MC-Unique: qWWo8nZ1PzaQkg3bFVkdGw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LMesgHUXhrp4aFA43HTlE/HbLsnQYsfTBDpjIrHjwNZQPKUlIVKXmoLrGedd/CxmgPCGLR6tYT/jz3t0MaAHxkS+Ozl56yS+bPpu9nVrnJtORDe6pklhznxocpkPv512GnaVFW7lRshJYaSFyFkEW7TCfXE/A2FGQKQxCRgTvjNOCsyo3qim/YhlJ0jQ+dV2sF9pYzU5MLSlwTcBTWJwRYb+5svafHhYBjm1GYVGOnmKwzU7QlvcH1ihxmvUa7SdSsXzDi+O4fldsT/Oc9sCjS9frrzRcDHIXdm9CQ1o+3pvdlV/MNHR3FIxJQr2rm4TdCWnDY+/uh3Vf2U3I0Yp7A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3SoqZ929RoASKrPF0SeSVT3ZKWBIKwZpe6N3NV2aFAA=;
 b=I9AkgR9zQJ9d/T4ZuGadZeDTJCrEWuqObp9n0qwD98RnR+y9XZ1T8/CrO8qJD/0D7Cde0zcWhDFbQXd58z+VCyBz9tJH5BYXdxylBTWXOyVitz0eRoJEeXQNuxFxJmhmtoy4UKQYRxl65BdxBGnLeJmDycdJ6qGlOYp9hZR/Q0dqDRCBYQtaTApXyY4NDKOPabNVNnYzdCXcbvQn07XfARxgV2/cWoVuUOmK2+rtAr3dAkxdVk4R+upBycD3eFRJ6k2IXuxqfCi/EOogjBY7CutN2qyiYQ719pnY7jW00eBGVhlMzzAMXD6/Id8tXu1AKW5j2C8hn3ZFkzanYuDeDA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1014b99a-783b-0923-03ff-7a358b21d791@suse.com>
Date: Tue, 11 Jan 2022 08:23:07 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: xen 4.14.3 incorrect (~3x) cpu frequency reported
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Andrew Cooper <amc96@srcf.net>
CC: James Dingwall <james-xen@dingwall.me.uk>, alexander.rossa@ncr.com,
 xen-devel@lists.xenproject.org, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>
References: <20210721092958.GA2502468@dingwall.me.uk>
 <c9c6778d-9823-4b07-fb48-604acef1f3de@suse.com>
 <20210726123332.GA3844057@dingwall.me.uk>
 <06be7360-0235-3773-b833-3e0d65512092@suse.com>
 <20211105152501.GA485838@dingwall.me.uk>
 <20220106150809.GA856484@dingwall.me.uk>
 <78540c18-c54e-07e8-c099-d7bfd29bea91@suse.com>
 <YdwodzmyvNwGJaSM@Air-de-Roger>
 <539e31bc-3e68-9e9d-3bb3-2d0f1b2834fc@suse.com>
 <0b2d6240-5780-b8ea-8828-ece44047cd63@srcf.net>
 <d887e3c2-8d89-8855-887c-943ebac6494d@suse.com>
In-Reply-To: <d887e3c2-8d89-8855-887c-943ebac6494d@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS8PR05CA0008.eurprd05.prod.outlook.com
 (2603:10a6:20b:311::13) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 1cbb29db-15f4-476e-5ae8-08d9d4d337dd
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3773:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB3773505E519D3490DBB5BFF8B3519@VI1PR0402MB3773.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:
	R0i0PamwB88D6ERQBf9x2bkyKNCq4Pv9qYq/hygfSYkiCf5erTDwUt0f6eWyDymq53QmDXdeQi1CIuuH58eqJn0PxTolIpQVRj4RMfLT1xaUurNcYaw8callycpBfn+NfkQjjND72PESCvCR1ykHbyc08jQ5FN6BQTyMJQyItus61iholmZk81ttRjTMqad3ouSAVv0KxZEOq6ADkwqpiByaoDlHFV8yHRj0s1lXOJrJl95vkOTfrXP6B2Xg/HYC9LC+0K7QkA/gUCd8EQeYEXBpE8+h6OBP+aTEFzbr3uIJl0zZVByc28cGlTpoVvAkU7FZw3o8jPkv+SQGnDJgeFnMtdNyFv6fxU75Robqwg7OvH5tDzTI55GT0eymGxCAsZIArc+QOnXGCM9cRWovUwT8Ohowuq/zkik26nuBWbp8/5/tAnvFSzGjzDTi6sIsHNIjWSMLPxmlZ6tUNgGNoGAF4WouWIhSUt4vzMYEvqNsFz5WK2qy/6y420lAfSN6G3HqtanyttzSUaLO8lD0ggiIapSd4XJz3BPwEh4ju30PbDkw9YvhEr1USpSfSojmqcIHD80h9g1ITg3yK2lPLrLxPjZx8y3h558Mtd7DLh5JsiVrHxmHmspZuvs0CdO76E0j17+LufVuTqnApO10nmqy0huVLpF3N9K/5ez0Q0c77qpUonlzdC0CQ8akj9pzYnVW+oNxNjxf6vBLfm69f44l5aas0QYEJthqcN+n4xwiQW5a/hvvLSk2DC72F9+J
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)(53546011)(6916009)(8676002)(6506007)(6512007)(31686004)(2906002)(54906003)(186003)(508600001)(36756003)(66476007)(4326008)(66556008)(66946007)(2616005)(5660300002)(8936002)(26005)(83380400001)(31696002)(6486002)(86362001)(316002)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?PcycUCM5QkMDYxYrdrJtLxsBP/PvmxnCJze9CFd3h3JZ7Bl5wrKc2UnFDawG?=
 =?us-ascii?Q?6l5v5B9T2kw7Y/E9Rb/YSfRKcnbU8DSTzmdIWuP8lSuZkfbQMrraNZcQADZg?=
 =?us-ascii?Q?ronW/XVnUc5UcD0cdGdv0ieSW0J6ObLYnNIGi0zjEK7ZwzhhBCQ6jVZc8i87?=
 =?us-ascii?Q?8ZEUoFhEqXQ4dQgP8tiwLzN5an4pLHVL7SCOKkFsMHCpCZi2Fg8SkVITjIRg?=
 =?us-ascii?Q?zFwFyN2XZWN6+u8B23WCz+YMU8DMsBnW1PPDuNsMDNvD91SwsCOWeE+++IeY?=
 =?us-ascii?Q?TO9TTHi03cGAJRGtbp3sYLeUj0nHOAzHKNiCuz2P8283+Su/wjHxwSgDe+FF?=
 =?us-ascii?Q?+5CMNOlfQL7eLqykZLnLujaKXOTj5xVG1vqgGJH2rDOsgmZAR3xn3h67EhfT?=
 =?us-ascii?Q?2fRMgBFYyJk7J4cRQ6L0TmfhSigJWqFbAT5sB+dBaAeODGOqyX1TfrSO3Arn?=
 =?us-ascii?Q?hkIaINYBuvVdwifDPSFoJcZdnvRV5J98FIWw8mKP4qCV4HdQWQlNRo0AglBX?=
 =?us-ascii?Q?j74gjmbihlXCtocrPtEhMBzRH9cjpWMdltF3Vyg4UL2Ub89wK/BZhry0Rk56?=
 =?us-ascii?Q?tj6A3uwebx3GqeYXBFJ/Pkj9Qj7hII6vC/k6HNo19ym++Fz8TzU4RcMCobUR?=
 =?us-ascii?Q?O5SEIU3f+In1gFcrP/cbt9kS3BleyTZh8SwiuAoHCMOviO3w5YmDzNhYdLrA?=
 =?us-ascii?Q?L0hXVmaZzG5siNGOIUMZjwE1NlWojDlnpyUqOPfs7SFOALDs1WZwjP3bCegL?=
 =?us-ascii?Q?xwHK53xkeJHcOlPL4Oupgw3KOBK5Yq/y6QCRSlN6UCK1tfAF068lcZTVxRS6?=
 =?us-ascii?Q?3U1VrXnUpes7XZLfLnSoTVAm35CLDevDl7TAgpLEXseMeB/q36JPRdUTVhBP?=
 =?us-ascii?Q?1vvUWyxeNtW6G/3JVmna3KJxpzt0iDRvg0qpp6EV03EUjdVrlJ9LT0qT+dmy?=
 =?us-ascii?Q?YtLNjhYWLlZeWecBzfahKcGkxNAwYgyRjcC5vvaD6cD3j0K3e1JBXEyLJu1y?=
 =?us-ascii?Q?bdXQVaPFF2wjkjaGajeavhj2uykHH6OXZLIxlaCx54slEGintvhguTagMu1e?=
 =?us-ascii?Q?CiAHHMtrnocMkxiFFBj+ta9aLtoR9lw0EpMxm/2vD3NjSlQfNy8sG3jFoggD?=
 =?us-ascii?Q?fQWDu0zXEjY4tQEdGa2Wq4fYfODhf/bN0PzGkMSlLR2pcGvF+snwiPxsZ5+B?=
 =?us-ascii?Q?1MEs4RPyEIsW3S+GSaoYOBeDZ90PNrN1V45B8fovsASdHQrg15nZsxjtEPDf?=
 =?us-ascii?Q?M4M8HxMa2bFZzwuskCS9hl9sDmOYn7v0IXnhocXnE0rjQp4LQvua7BXogBnF?=
 =?us-ascii?Q?G2W3akT/Z4DO2lNZg0EBgeXyUAYuOL5hNMWemK9bXXRkvyLIZDKz477OzmSp?=
 =?us-ascii?Q?+0dv5LRzZd0Twn3tMdA2IeajbNI/KGL6OJ2R9eA5uwpau7dkXpVK+y0NsXPJ?=
 =?us-ascii?Q?3DKTDQ8/OcXHuMFi3Pngc0nfUasK8k3eI1b8WvcEy5MTYGS8ZX+n9uAOPbja?=
 =?us-ascii?Q?nGyCS+LQZHinixJY3KU/8UCZlTeIhiac3gBeAkbBgQem+iUpvT2+BMlk1cxr?=
 =?us-ascii?Q?BGO6kEY5viwHZPB+RgokW/V0ICV/rQVd5icfb1bu7JDvIuhE8V9bETMPcVl0?=
 =?us-ascii?Q?c3d+BfFYGsw5CfomQLhEdJY=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1cbb29db-15f4-476e-5ae8-08d9d4d337dd
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2022 07:23:09.2086
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OB5tqTdpKr9ZdQ052lUtBePq/4o/UAZxzvtfGeq8j7QEMQyIGhGq71u3bawP2FIvfXiGaLgOooYdEqDiyQg5Tg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3773

On 10.01.2022 18:04, Jan Beulich wrote:
> On 10.01.2022 16:43, Andrew Cooper wrote:
>> On 10/01/2022 13:11, Jan Beulich wrote:
>>> On 10.01.2022 13:37, Roger Pau Monn=C3=A9 wrote:
>>>> On Fri, Jan 07, 2022 at 12:39:04PM +0100, Jan Beulich wrote:
>>>>> @@ -415,16 +416,35 @@ static int64_t __init init_hpet(struct p
>>>>> =20
>>>>>      pts->frequency =3D hpet_rate;
>>>>> =20
>>>>> +for(i =3D 0; i < 16; ++i) {//temp
>>>>>      count =3D hpet_read32(HPET_COUNTER);
>>>>>      start =3D rdtsc_ordered();
>>>>>      target =3D count + CALIBRATE_VALUE(hpet_rate);
>>>>>      if ( target < count )
>>>>>          while ( hpet_read32(HPET_COUNTER) >=3D count )
>>>>>              continue;
>>>>> -    while ( hpet_read32(HPET_COUNTER) < target )
>>>>> +    while ( (count =3D hpet_read32(HPET_COUNTER)) < target )
>>>>>          continue;
>>>>> =20
>>>>> -    return (rdtsc_ordered() - start) * CALIBRATE_FRAC;
>>>>> +    expired =3D rdtsc_ordered() - start;
>>>> There's also a window between the HPET read and the TSC read where an
>>>> SMI/NMI could cause a wrong frequency detection.
>>> Right, as said in an earlier reply I did notice this myself (actually
>>> on the way home on Friday). As also said there, for now I can't see
>>> any real (i.e. complete) solution to this and the similar instances
>>> of the issue elsewhere.
>>
>> Calibration loops like this cannot be made robust.=C2=A0 This is specifi=
cally
>> why frequency information is being made available via architectural
>> means, and is available via non-architectural means in other cases.
>>
>> There's a whole bunch of situations (#STOPCLK, TERM and PSMI off the top
>> of my head, but I bet HDC will screw with things too) which will mess
>> with any calibration loop, even if you could disable SMIs.=C2=A0 While,
>> mechanically, we can disable SMIs on AMD with CLGI, we absolutely
>> shouldn't run a calibration loop like this with SMIs disabled.
>>
>>
>> Much as I hate to suggest it, we should parse the frequency out of the
>> long CPUID string, and compare it to the calibration time.=C2=A0 (This
>> technique is mandated in the Intel BWG during very early setup.)
>=20
> This, according to some initial checking, might work for Intel CPUs,
> but apparently won't work for AMD ones (and I don't dare to think of
> what might happen if we run under, say, qemu). Imo we'd need to deal
> gracefully with the case that we can't parse the frequency out of
> that string, with "gracefully" including that our calibration still
> won't be too far off.

May I further (re-)emphasize the fact that the issue exists not only
in the calibration loops. There we wouldn't have a result that could
(in principle) be compared against some parsed value. Whereas my
proposed model can be adopted for use there as well (I think; I
didn't actually try it out yet, as I was hoping I was overlooking
some other, fully reliable approach).

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 07:57:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 07:57:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255626.438087 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7C1w-00088J-HR; Tue, 11 Jan 2022 07:57:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255626.438087; Tue, 11 Jan 2022 07:57:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7C1w-00088C-EQ; Tue, 11 Jan 2022 07:57:20 +0000
Received: by outflank-mailman (input) for mailman id 255626;
 Tue, 11 Jan 2022 07:57:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jbsk=R3=gmail.com=digetx@srs-se1.protection.inumbo.net>)
 id 1n7C1u-000884-Vy
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 07:57:19 +0000
Received: from mail-lf1-x136.google.com (mail-lf1-x136.google.com
 [2a00:1450:4864:20::136])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 188fb527-72b4-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 08:57:17 +0100 (CET)
Received: by mail-lf1-x136.google.com with SMTP id o15so191172lfo.11
 for <xen-devel@lists.xenproject.org>; Mon, 10 Jan 2022 23:57:17 -0800 (PST)
Received: from ?IPv6:2a00:1370:810c:714f:a10:76ff:fe69:21b6?
 ([2a00:1370:810c:714f:a10:76ff:fe69:21b6])
 by smtp.googlemail.com with ESMTPSA id x14sm1206180ljd.76.2022.01.10.23.57.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 10 Jan 2022 23:57:16 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 188fb527-72b4-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=LWyZT2KfS7vn2dLo/4rK0hRIU1bTIB9BhSt1xTZyjfs=;
        b=o816YNn0CIDbCy7uwUkg0QIssuplfNYZWg1E7+kMoiU09fEhi1ExzqEDKdXYCKWai9
         qL9GIVzs3SGnxKwGJEOsSM3dx9RhiXQOO+ArNyWLk+C6CEkyik9J0oiqnGoR0d0pIAj9
         53smI6i/pfdhdE0TtmtHvyvhbPCgckL8+ELBFQn7KfvHLFewJSBKJEg5/OYThOUaKs30
         YfS/REggk0oGjchlK3DJSLwWFv3g0lGM/Rxm4G3MobhsE5sy8EV2tAxeU17tchxilpyJ
         Cm1nk2GkD8C8mwFhmX8oxyCwbcyhBHAvQH1mhnlt/pBPXM0S0279pLMAkDnMH4r8aI8U
         4vGQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        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=LWyZT2KfS7vn2dLo/4rK0hRIU1bTIB9BhSt1xTZyjfs=;
        b=67FDJHrmpamjc9EA8VeFskGdVQC5qSfwIUU68d+c5wJs0BKliLlXRySoEayrZvxN0m
         cS9w0ve5ux2BR3qEcCISvYclmJX4Sw+voBCrXjx/L9XfQs7S7nA8eeRrrDEChJptF57n
         QuenOj2eRSdB46WNaFGHNFrn66u0LmI7Bxyzwh1APBSJ62bKyIXEdjK/USIOhZxXhQaJ
         yC3D4SYuyZiVvc/4Q2/1spf9pSr1yJ0F+kyT41Jh+boM0HBoVyyajuALxCT4U+fMgx4B
         fn0jkprsAU/RCxK1c2EwGqOkBuktQyiI42dDZKk1bopGZv7rieLi1rxASgPwfqhW6D+v
         IeCA==
X-Gm-Message-State: AOAM531sKMbuW95vmLZz84zaZ+sW5s7P2SEZyj5PA+os9uIHd3y7IVfG
	64EaAa0l6xG4FBhVwDvANfU=
X-Google-Smtp-Source: ABdhPJwj4SWIivJF19fC8reHgAOesHmr0N4ouSyiTwjUsKFxuFFgsPk/HMJ5T5WGAATZ9pKSch9NEg==
X-Received: by 2002:a05:651c:49a:: with SMTP id s26mr2063487ljc.109.1641887836867;
        Mon, 10 Jan 2022 23:57:16 -0800 (PST)
Subject: Re: [PATCH v5 04/21] kernel: Add combined power-off+restart handler
 call chain API
To: =?UTF-8?B?TWljaGHFgiBNaXJvc8WCYXc=?= <mirq-linux@rere.qmqm.pl>
Cc: Thierry Reding <thierry.reding@gmail.com>,
 Jonathan Hunter <jonathanh@nvidia.com>, Russell King
 <linux@armlinux.org.uk>, Catalin Marinas <catalin.marinas@arm.com>,
 Will Deacon <will@kernel.org>, Guo Ren <guoren@kernel.org>,
 Geert Uytterhoeven <geert@linux-m68k.org>, Greg Ungerer
 <gerg@linux-m68k.org>, Joshua Thompson <funaho@jurai.org>,
 Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
 Sebastian Reichel <sre@kernel.org>, Linus Walleij
 <linus.walleij@linaro.org>, Philipp Zabel <p.zabel@pengutronix.de>,
 Greentime Hu <green.hu@gmail.com>, Vincent Chen <deanbo422@gmail.com>,
 "James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
 Helge Deller <deller@gmx.de>, Michael Ellerman <mpe@ellerman.id.au>,
 Benjamin Herrenschmidt <benh@kernel.crashing.org>,
 Paul Mackerras <paulus@samba.org>, Paul Walmsley <paul.walmsley@sifive.com>,
 Palmer Dabbelt <palmer@dabbelt.com>, Albert Ou <aou@eecs.berkeley.edu>,
 Yoshinori Sato <ysato@users.sourceforge.jp>, Rich Felker <dalias@libc.org>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Juergen Gross
 <jgross@suse.com>, Stefano Stabellini <sstabellini@kernel.org>,
 "Rafael J. Wysocki" <rafael@kernel.org>, Len Brown <lenb@kernel.org>,
 Santosh Shilimkar <ssantosh@kernel.org>,
 Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
 Liam Girdwood <lgirdwood@gmail.com>, Mark Brown <broonie@kernel.org>,
 Pavel Machek <pavel@ucw.cz>, Lee Jones <lee.jones@linaro.org>,
 Andrew Morton <akpm@linux-foundation.org>, Guenter Roeck
 <linux@roeck-us.net>, Daniel Lezcano <daniel.lezcano@linaro.org>,
 Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
 Ulf Hansson <ulf.hansson@linaro.org>, alankao@andestech.com,
 "K . C . Kuen-Chern Lin" <kclin@andestech.com>,
 linux-kernel@vger.kernel.org, linux-csky@vger.kernel.org,
 linux-ia64@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
 linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
 linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org,
 linux-sh@vger.kernel.org, xen-devel@lists.xenproject.org,
 linux-acpi@vger.kernel.org, linux-pm@vger.kernel.org,
 linux-tegra@vger.kernel.org
References: <20211212210309.9851-1-digetx@gmail.com>
 <20211212210309.9851-5-digetx@gmail.com> <Ydofs2CIfA+r5KAz@qmqm.qmqm.pl>
From: Dmitry Osipenko <digetx@gmail.com>
Message-ID: <80f5a739-0850-a8db-7493-e8c387109ce0@gmail.com>
Date: Tue, 11 Jan 2022 10:57:13 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.14.0
MIME-Version: 1.0
In-Reply-To: <Ydofs2CIfA+r5KAz@qmqm.qmqm.pl>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 8bit

09.01.2022 02:35, Michał Mirosław пишет:
> On Mon, Dec 13, 2021 at 12:02:52AM +0300, Dmitry Osipenko wrote:
> [...]
>> +/**
>> + * struct power_off_data - Power-off callback argument
>> + *
>> + * @cb_data: Callback data.
>> + */
>> +struct power_off_data {
>> +	void *cb_data;
>> +};
>> +
>> +/**
>> + * struct power_off_prep_data - Power-off preparation callback argument
>> + *
>> + * @cb_data: Callback data.
>> + */
>> +struct power_off_prep_data {
>> +	void *cb_data;
>> +};
> 
> Why two exactly same structures? Why only a single pointer instead? If
> it just to enable type-checking callbacks, then thouse could be opaque
> or zero-sized structs that would be embedded or casted away in
> respective callbacks.

Preparation and final execution are two different operations, it's much
cleaner from a user's perspective to have same separated, IMO. In the
future we may would want to extend one of the structs, and not the
other. Type-checking is another benefit, of course.

The single callback pointer is what is utilized by all current kernel
users. This may change in the future and then it won't be a problem to
extend the power-off API without disrupting whole kernel.

>> +
>> +/**
>> + * struct restart_data - Restart callback argument
>> + *
>> + * @cb_data: Callback data.
>> + * @cmd: Restart command string.
>> + * @stop_chain: Further lower priority callbacks won't be executed if set to
>> + *		true. Can be changed within callback. Default is false.
>> + * @mode: Reboot mode ID.
>> + */
>> +struct restart_data {
>> +	void *cb_data;
>> +	const char *cmd;
>> +	bool stop_chain;
>> +	enum reboot_mode mode;
>> +};
>> +
>> +/**
>> + * struct reboot_prep_data - Reboot and shutdown preparation callback argument
>> + *
>> + * @cb_data: Callback data.
>> + * @cmd: Restart command string.
>> + * @stop_chain: Further lower priority callbacks won't be executed if set to
>> + *		true. Can be changed within callback. Default is false.
> 
> Why would we want to stop power-off or erboot chain? If the callback
> succeded, then further calls won't be made. If it doesn't succeed, but
> possibly breaks the system somehow, it shouldn't return. Then the only
> case left would be to just try the next method of shutting down.

This is what some of the API users were doing for years. I don't know
for sure why they want to stop the chain, it indeed looks like an
incorrect behaviour, but that's up to developers to decide. I only
retained the old behaviour for those users.

>> + * @mode: Preparation mode ID.
>> + */
>> +struct reboot_prep_data {
>> +	void *cb_data;
>> +	const char *cmd;
>> +	bool stop_chain;
>> +	enum reboot_prepare_mode mode;
>> +};
>> +
>> +struct sys_off_handler_private_data {
>> +	struct notifier_block power_off_nb;
>> +	struct notifier_block restart_nb;
>> +	struct notifier_block reboot_nb;
> 
> What's the difference between restart and reboot?

Reboot is always executed before restart and power-off callbacks. This
is explained in the doc-comment of the struct sys_off_handler.

+ * @reboot_prepare_cb: Reboot/shutdown preparation callback. All reboot
+ * preparation callbacks are invoked before @restart_cb or @power_off_cb,
+ * depending on the mode. It's registered with register_reboot_notifier().
+ * The point is to remove boilerplate code from drivers which use this
+ * callback in conjunction with the restart/power-off callbacks.
+ *

This reboot callback usually performs early preparations that are need
to be done before machine is placed into reset state, please see [1] for
the examples.

[1] https://elixir.bootlin.com/linux/v5.16/A/ident/register_reboot_notifier

I agree that "reboot" sounds like a misnomer. This name was coined long
time ago, perhaps not worth to rename it at this point. I'm also not
sure what could be a better name.

>> +	void (*platform_power_off_cb)(void);
>> +	void (*simple_power_off_cb)(void *data);
>> +	void *simple_power_off_cb_data;
>> +	bool registered;
>> +};
> 
> BTW, I couldn't find a right description of my idea of unifying the
> chains before, so let me sketch it now.
> 
> The idea is to have a single system-off chain in which the callback
> gets a mode ({QUERY_*, PREP_*, DO_*} for each of {*_REBOOT, *_POWEROFF, ...?).
> The QUERY_* calls would be made in can_kernel_reboot/poweroff(): all
> would be called, and if at least one returned true, then the shutdown
> mode would continue. All of PREP_* would be called then. After that
> all DO_* would be tried until one doesn't return (succeeded or broke
> the system hard). Classic for(;;); could be a final fallback for the
> case where arch/machine (lowest priority) call would return instead
> of halting the system in machine-dependent way. The QUERY and PREP
> stages could be combined, but I haven't thought about it enough to
> see what conditions would need to be imposed on the callbacks in
> that case (maybe it's not worth the trouble, since it isn't a fast
> path anyway?). The goal here is to have less (duplicated) code in
> kernel, but otherwise it seems equivalent to your API proposal.

Michał, thank you for the review and suggestions! I'll take another look
at yours proposal during this merge window, in a preparation to v6.


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 08:38:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 08:38:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255638.438098 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7CfP-0004dR-4o; Tue, 11 Jan 2022 08:38:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255638.438098; Tue, 11 Jan 2022 08:38:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7CfP-0004dK-1e; Tue, 11 Jan 2022 08:38:07 +0000
Received: by outflank-mailman (input) for mailman id 255638;
 Tue, 11 Jan 2022 08:38:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zW4/=R3=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n7CfN-0004dB-Hh
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 08:38:05 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c9035880-72b9-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 09:38:03 +0100 (CET)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2058.outbound.protection.outlook.com [104.47.6.58]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-41-0pBGvN1kPamR2VgFmaPhZA-1; Tue, 11 Jan 2022 09:37:59 +0100
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.4867.7; Tue, 11 Jan
 2022 08:37:58 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Tue, 11 Jan 2022
 08:37: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: c9035880-72b9-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641890280;
	h=from:from:reply-to:subject:subject: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=3JxQ7xHtibEWYVfhQxoTJKXvjnn3riVfbXUViZoRUMU=;
	b=N0dLJL8lve537H60ql6wtH0K6OzZf/rZE8mt6/o7ucMAk/tGbm5lvsMwdPdOVy4ILmAVjc
	sM+iwVbg2p8ufwHv0nv0FWfZMAADPTXFtg8g6UrrYxamXdh7oqVFhNfpxd142bUzN4Br8q
	8G1iSD9I9SvILTevPJu/x33tRD2OZBE=
X-MC-Unique: 0pBGvN1kPamR2VgFmaPhZA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=B6UB9ZH+MCinRsX5HmM6vjx6f9XllsB/DiKPAShlzQ0Fh8lSuwg1gdGTIJ1/L5iOdZg1vqquCzQCzYjsO6TWfRLKml6xYIkynmj6CuBbd0SRjWeEGgyu2M3xoegnjASkzkhe+sHYYE9YEsrYyBa+DhHb9mNU1/S5nmyFVic/HZjBa9fGvZir1PDkt0WL4Rffs7dGBZzhxMUXRZffQ/ZwDMSU1G+5eAENYPKTcIaFuYFwFezwy5NN/3PvE/bMIjf7L+czY6ecBYQCDNaPFwuPl59RSPm0Ec9Y1YwLojsFSfYwe+wz3yJcOhqlBpvU4ueIVZ/3thJ6R9An+C18P6p8JQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3JxQ7xHtibEWYVfhQxoTJKXvjnn3riVfbXUViZoRUMU=;
 b=IqVylHoReqMYSMjYdQDbA4oSR/c3mVEf7ffEM6yWHxkhYhYzKcfgpR9Von4Agsk6lOiQH/8gl5FyeK9n5DEIkOCCgBKa/RLnmbr7iCbWYQatA1OjOuTH8bwLeMUpF0CvtOzHxxj0BqOkO248PLTKcnW1BQwbziSsFtAnpVgdaiL5f2I5gX9E4lFaW1jA3wZ2lvQWb1xGviZMJHc8nttAYk5d2o4AtkXnD5/i7c6cDiSvLcR9BNG5HQVXFfMEmHdgzzleh6wQaq+mD/TzCT1IcII1vjukaoUCImyvyPPyBXYyo4Il/GBiM7fEqOmdSv/DiTjRcoLhT9C4zR0XcLEQ7g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a072e1f9-3667-e0fd-038f-3492113729c6@suse.com>
Date: Tue, 11 Jan 2022 09:37:56 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Content-Language: en-US
To: Wei Liu <wl@xen.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
From: Jan Beulich <jbeulich@suse.com>
Subject: SeaBIOS 1.15.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0183.eurprd06.prod.outlook.com
 (2603:10a6:20b:45d::17) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: aff11f85-12d4-4874-b18d-08d9d4ddab89
X-MS-TrafficTypeDiagnostic: VE1PR04MB6480:EE_
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB64807D2B4229F38292A7A024B3519@VE1PR04MB6480.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:
	JPJfknvtDUqVBjv3lvdi6evohdwNfEE8m5VkC7XsgHfvyn4mTbkVD3nmanYaqnqU7UQTK3A7ha1D+WIxeen4r8k3H+GRP91ygwPAL47fmqNekLlVsj1onAPgD/KotmGVYavphDKs6roEYVpSwn2SW8uhp+M9LXJdwUMlr/UVQBZCeyiJgIKzn44Wit5aFjT3u1GD7XP4/TXeFB9eWT/KmRz/WM6XWYdr9hA6NVuasLkTI5NbXmyuo6FhnkX55V0tsCKgsgAPjGXSOc1HRL46mWMZtvCNtwCpZZy2R3gjoDN1/BLW3qDK9iw6r3p6xx5SOPcOYPKCVQs+YbywdnaEHY+/BGz2fg7Rat1Old1aUpL4DJ5pYq+bzAMDtiO4pzvb+57cNUj4E2UVFxYVY/eqOCiiukr4KKunCHKJOv0Q2ZH96BlKyotcWFCeZFt1tJocIKaOhypyEfbLSdgJ2dczlIfQKiuv/WLcHp9XiY5QePiUp5Py9HGcL5Rcb9XTsm/9/gzRhkSI4YbOc49iMCjb386Xakfhd6UZdzBl3Fhg6C3QXZbbi0jC85pJjTFaZ0m7vjQqPyroJO6Ii5si56d6xSa7EvSdVGVzGutk2Pvh0ZhaM7AvbMFI8b1IFmbH+9CO02rtZvBWsPmi/diQ7LNm3TnMQcwAcNzFcR0mn3sMvYvuxZnQhPV6V7ccgGs5P0hEEUNv/wnTsv6Fv4qmMPJj8r1dDS3A8HK4Nfi/wRDpwGmgOoyD6+fcSnWIW7UxsITG
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)(6506007)(8676002)(36756003)(26005)(2616005)(83380400001)(316002)(508600001)(31696002)(186003)(5660300002)(6486002)(38100700002)(66476007)(6512007)(4326008)(86362001)(2906002)(31686004)(558084003)(6916009)(66946007)(66556008)(7116003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VnpUZmVRSVUxdGRabGk4dVhjYjNweDZBMHZwdnpRT3ZKOEo4cllXaUNLUS93?=
 =?utf-8?B?Rk9pRVJQNUIvZlV4enk4ZndPOHdIRlQvZXlrZllaQkJnZmJVR1pFSjNkTjV2?=
 =?utf-8?B?MnhHRUppRzMyYXozL2Mwa1Q3bGJCTkFGanBvKzlwTWkydGo3VEFVRWx0SWRU?=
 =?utf-8?B?Nk5OeUwxTStNMzlRYzJtbW5XU1ZoM0hGM09qdlVDNXBGNWZPcEpvbXZyN1Qy?=
 =?utf-8?B?d1NnQUk5RVJsRjZYaHAxS1lDdnNTMGwvbHd2NEdzNzVuaHVJVW16UWVVZWUz?=
 =?utf-8?B?dmpIcCtrUVhOWFdjSlRlOWVDY1R4WG5mZTAvQnRrb01vZnY5YWNNa0k4dU11?=
 =?utf-8?B?YSsyRk1pRTJUbVlYdW5ldG44UDhVdjd5MDg4Z2NYUlRuZ2JhbEtRZGN5VklI?=
 =?utf-8?B?T2pGZ0lYSDBRR3Y2aXlWU3dvMXlUNHRFYndHZ3d1WVUzTG8vblplK20vczNH?=
 =?utf-8?B?aVczTmI2UWx6Yys4TUF3V2RBZXFJLzJhM2ZoN0cxSXdFWUdZNUk3b2pWK0tN?=
 =?utf-8?B?cy9NRWdLWXIvNUZzL2x0djJsdkE0TmRKSlMzWEtUblhJOGZGV0tzcDl3R1Zh?=
 =?utf-8?B?dGliRERjWXlibEFOZ3g2UGViYTdMbHYxYmpyNjBsQkdPa1BncGtHVE9TWlJE?=
 =?utf-8?B?MTRjNEo0aFM1SUMzTDdPeXBTUXJPam9lZDJyZmlYaGh1N1RweEcxYUtpdkM3?=
 =?utf-8?B?d255Y05xU1NHMmFWRVpwZ3ZSblhJQS9OVGF4YVJob2hBNjRreGhrN0pzcXZ3?=
 =?utf-8?B?anZyUDBIdVRickNKTFRjakVteDEwRlhzYWJDbTY1VVIvSi9NY09VOHlTNnJr?=
 =?utf-8?B?eERnZmdneHJnYzkrZ0hwNWV6WUF4bFpKaFVsb0d0MldSUDlXUHNxQThYVkFI?=
 =?utf-8?B?c2hUOE9Xd2Z4YWZSbENJQ3g0d2t6ZXRSL1M4WnV0RXVNWjNrd1BHVDI5VGtH?=
 =?utf-8?B?S3JhRm5nWjB4RHJnQVFvV2hyM1F6ZVR5d0hrQjFzcmhuWEloTTZBOFJoWlJi?=
 =?utf-8?B?RkVNYlMwVmdSN2lIdTlsNHV6dnRPSHJLa05XaTZUNHdGS2JsS0lxS0ZMUFNn?=
 =?utf-8?B?bjhxWTlqMTVmSkRGT2dRTlUxU0VjWWpleTMrZi82T2o4S0cxT2paNUR0TllH?=
 =?utf-8?B?bGZpcVVJVzhyeTVPUXFYbk50dzk3UTZXYzVuNXNpMmZHdStxaFhET1NBaXhy?=
 =?utf-8?B?N1A5Y2ZvSlpLQjJRQ3lOejdROE5TcThRd1VmRmowYUtKRkllVmtZT3UzSmFW?=
 =?utf-8?B?NlZ3aXpOTlU5dnhySUpydmhKU0o1L29OYUdGTUhteXpuR0tRRDl5dThicCtO?=
 =?utf-8?B?Z2J3SE1DZ29XNEhuWGpqV09Xc1ZPK0Ewck9QQSs0b3BWbGx3YmlSVHBlUnFh?=
 =?utf-8?B?Q2o2RVUwQ05JTUhHUExpS2Z0TWR0QWZMNTVUZnRmcXRralQ0eDM3SXFmNC9h?=
 =?utf-8?B?dUgwNjZjVS9SSllkYjBnTCtkQnpMbk04V2JRQ1dUS2VLRzE3N3pmMHZPdGdR?=
 =?utf-8?B?MmZoRDBBM0UwbnVnYWF0U3ZFaklHVlNleEZWYXVjNWlmSWIwWGdZSWQ1RlNJ?=
 =?utf-8?B?SEFVajVDVzBDL2hWd2owd3hYUTZBaTJMNHFFVlRZRGNWN093Q3hSWGMwbXJM?=
 =?utf-8?B?WXhsREh1cXFOc0JpeDUvdkh6eHVHcnJ4bHRDRS9tN2lLaDhyRDVieEF6SDRS?=
 =?utf-8?B?TDVlbmlzQ3RkY1hHWTZqY0NMdmRTNnAvbEtyNWhGeEVLckxvVWw1dTlsMEEr?=
 =?utf-8?B?SldneUk3RjJHcmhQVTgwakRBcDl0WW52S2hwT0VrS0Fva2paTzk5OSt2Unlt?=
 =?utf-8?B?dXNTT25uUWJoYzJ3RVNEL0RrMDhMazdBSTJodmlwcmpEODdGYktBbXFwcVFW?=
 =?utf-8?B?eFVxTDFDRW5jSTZ4ZVZUM1NsL1dTNldsVTRJd1l2SG0yYktGYnA1QWo0TGls?=
 =?utf-8?B?cWNtVnV0Z2xka0QvQlFiVXBOa00zVnFGcHMvVjhsSmdmamQ5ek41Q3NmOGRQ?=
 =?utf-8?B?c01nbUJoMWxaNE1NT3dUelJKTTcvSDcvUUlPcm1IQXVtTkZNMEZFTXlwQlZz?=
 =?utf-8?B?ZHo4bHkxMlJjQmo2M1pNN29uRlBMMWt4T2EwV0RXci9HNmZmcmdLZFNaVVg3?=
 =?utf-8?B?TjYxWUwva1RWYXFsSXpRYjFWNkkxRkNUd3JsYW9HYXdqMWVsc3FjSi9lTmtU?=
 =?utf-8?Q?vpPfodfXx/w7Cb0R8+g5vOg=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: aff11f85-12d4-4874-b18d-08d9d4ddab89
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2022 08:37:58.2223
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: E04tfPr6sDHHVMsAniS2Tb0t8Rp7dBgpvpCOgm+9164fJO11Id0EUIC8xfaR9W+0GXAtnVSv0ld7dQ/9ybUJ9w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6480

Wei,

iirc it was you who has been looking after our SeaBIOS use. Seeing that
1.15.0 was tagged, should we update the version we use by default? (I
would have asked on irc, but I didn't see you there.)

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 08:57:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 08:57:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255642.438110 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Cxy-00073K-Pa; Tue, 11 Jan 2022 08:57:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255642.438110; Tue, 11 Jan 2022 08:57:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Cxy-00073D-M6; Tue, 11 Jan 2022 08:57:18 +0000
Received: by outflank-mailman (input) for mailman id 255642;
 Tue, 11 Jan 2022 08:57:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0MQM=R3=linuxfoundation.org=gregkh@srs-se1.protection.inumbo.net>)
 id 1n7Cxx-000737-TE
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 08:57:18 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 785fbb1b-72bc-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 09:57:15 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by sin.source.kernel.org (Postfix) with ESMTPS id 0D8D4CE0B9A;
 Tue, 11 Jan 2022 08:57:13 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 01CF8C36AE9;
 Tue, 11 Jan 2022 08: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: 785fbb1b-72bc-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org;
	s=korg; t=1641891431;
	bh=NdxodxWZzbwf/ggHaYd5sNJGA5eNob24Z1IUAg07QCw=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=iqf1MXWMDx5bH13jjIOAjklovdMj8eHdh2yjJ9sI6CIPbsTZ1HDFHYiOxxhGg4lFf
	 r/YSSUY+h33izj2tH2lWc2MpP6jlI4gx2RkJiwtH7SCOwjWlBExjRtQAwJS6lU+cEK
	 orMkCoJgFyb0Iu6/5Lyj5ncCu7ThKgpUGn6nfkWc=
Date: Tue, 11 Jan 2022 09:57:08 +0100
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: LKML <linux-kernel@vger.kernel.org>, Bjorn Helgaas <helgaas@kernel.org>,
	Marc Zygnier <maz@kernel.org>,
	Alex Williamson <alex.williamson@redhat.com>,
	Kevin Tian <kevin.tian@intel.com>, Jason Gunthorpe <jgg@nvidia.com>,
	Megha Dey <megha.dey@intel.com>, Ashok Raj <ashok.raj@intel.com>,
	linux-pci@vger.kernel.org, Cedric Le Goater <clg@kaod.org>,
	xen-devel@lists.xenproject.org, Juergen Gross <jgross@suse.com>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	linux-s390@vger.kernel.org, Heiko Carstens <hca@linux.ibm.com>,
	Christian Borntraeger <borntraeger@de.ibm.com>,
	Logan Gunthorpe <logang@deltatee.com>, Jon Mason <jdmason@kudzu.us>,
	Dave Jiang <dave.jiang@intel.com>, Allen Hubbe <allenbh@gmail.com>,
	linux-ntb@googlegroups.com
Subject: Re: [patch] genirq/msi: Populate sysfs entry only once
Message-ID: <Yd1GZMvstSNTc80B@kroah.com>
References: <20211206210600.123171746@linutronix.de>
 <20211206210749.224917330@linutronix.de>
 <87leznqx2a.ffs@tglx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <87leznqx2a.ffs@tglx>

On Mon, Jan 10, 2022 at 07:12:45PM +0100, Thomas Gleixner wrote:
> The MSI entries for multi-MSI are populated en bloc for the MSI descriptor,
> but the current code invokes the population inside the per interrupt loop
> which triggers a warning in the sysfs code and causes the interrupt
> allocation to fail.
> 
> Move it outside of the loop so it works correctly for single and multi-MSI.
> 
> Fixes: bf5e758f02fc ("genirq/msi: Simplify sysfs handling")
> Reported-by: Borislav Petkov <bp@alien8.de>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> ---
>  kernel/irq/msi.c |   11 +++++------
>  1 file changed, 5 insertions(+), 6 deletions(-)

Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 09:02:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 09:02:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255646.438120 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7D2l-0008SH-CZ; Tue, 11 Jan 2022 09:02:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255646.438120; Tue, 11 Jan 2022 09: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 1n7D2l-0008SA-9Y; Tue, 11 Jan 2022 09:02:15 +0000
Received: by outflank-mailman (input) for mailman id 255646;
 Tue, 11 Jan 2022 09:02:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=tm+C=R3=kaod.org=clg@srs-se1.protection.inumbo.net>)
 id 1n7D2k-0008S4-G4
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 09:02:14 +0000
Received: from 5.mo552.mail-out.ovh.net (5.mo552.mail-out.ovh.net
 [188.165.45.220]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2a5a6453-72bd-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 10:02:13 +0100 (CET)
Received: from mxplan5.mail.ovh.net (unknown [10.108.4.36])
 by mo552.mail-out.ovh.net (Postfix) with ESMTPS id D4DDE2252A;
 Tue, 11 Jan 2022 09:02:10 +0000 (UTC)
Received: from kaod.org (37.59.142.95) by DAG4EX1.mxp5.local (172.16.2.31)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.17; Tue, 11 Jan
 2022 10:02:01 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2a5a6453-72bd-11ec-9ce5-af14b9085ebd
Authentication-Results: garm.ovh; auth=pass (GARM-95G001713f3599-f95f-45bc-8458-3cc8394211bc,
                    5383433EA887FCAE918FFCB03530F9AACAE8953B) smtp.auth=clg@kaod.org
X-OVh-ClientIp: 82.64.250.170
Message-ID: <83cac5d2-b5f2-836c-1f4f-bfe054a8bedb@kaod.org>
Date: Tue, 11 Jan 2022 10:02:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.3.0
Subject: Re: [patch] genirq/msi: Populate sysfs entry only once
Content-Language: en-US
To: Thomas Gleixner <tglx@linutronix.de>, LKML <linux-kernel@vger.kernel.org>
CC: Bjorn Helgaas <helgaas@kernel.org>, Marc Zygnier <maz@kernel.org>, Alex
 Williamson <alex.williamson@redhat.com>, Kevin Tian <kevin.tian@intel.com>,
	Jason Gunthorpe <jgg@nvidia.com>, Megha Dey <megha.dey@intel.com>, Ashok Raj
	<ashok.raj@intel.com>, <linux-pci@vger.kernel.org>,
	<xen-devel@lists.xenproject.org>, Juergen Gross <jgross@suse.com>, Greg
 Kroah-Hartman <gregkh@linuxfoundation.org>, Niklas Schnelle
	<schnelle@linux.ibm.com>, <linux-s390@vger.kernel.org>, Heiko Carstens
	<hca@linux.ibm.com>, Christian Borntraeger <borntraeger@de.ibm.com>, Logan
 Gunthorpe <logang@deltatee.com>, Jon Mason <jdmason@kudzu.us>, Dave Jiang
	<dave.jiang@intel.com>, Allen Hubbe <allenbh@gmail.com>,
	<linux-ntb@googlegroups.com>
References: <20211206210600.123171746@linutronix.de>
 <20211206210749.224917330@linutronix.de> <87leznqx2a.ffs@tglx>
From: =?UTF-8?Q?C=c3=a9dric_Le_Goater?= <clg@kaod.org>
In-Reply-To: <87leznqx2a.ffs@tglx>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
X-Originating-IP: [37.59.142.95]
X-ClientProxiedBy: DAG6EX1.mxp5.local (172.16.2.51) To DAG4EX1.mxp5.local
 (172.16.2.31)
X-Ovh-Tracer-GUID: 62e82270-dbcc-463c-8f53-caaee6d6cca0
X-Ovh-Tracer-Id: 5157184527403223894
X-VR-SPAMSTATE: OK
X-VR-SPAMSCORE: -100
X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvuddrudehvddguddvjecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfqggfjpdevjffgvefmvefgnecuuegrihhlohhuthemucehtddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefkffggfgfuvfhfhfgjtgfgihesthekredttdefjeenucfhrhhomhepveorughrihgtpgfnvggpifhorghtvghruceotghlgheskhgrohgurdhorhhgqeenucggtffrrghtthgvrhhnpeeigedvffekgeeftedutddttdevudeihfegudffkeeitdekkeetkefhffelveelleenucfkpheptddrtddrtddrtddpfeejrdehledrudegvddrleehnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmohguvgepshhmthhpohhuthdphhgvlhhopehmgihplhgrnhehrdhmrghilhdrohhvhhdrnhgvthdpihhnvghtpedtrddtrddtrddtpdhmrghilhhfrhhomheptghlgheskhgrohgurdhorhhgpdhrtghpthhtoheplhhinhhugidqnhhtsgesghhoohhglhgvghhrohhuphhsrdgtohhm

On 1/10/22 19:12, Thomas Gleixner wrote:
> The MSI entries for multi-MSI are populated en bloc for the MSI descriptor,
> but the current code invokes the population inside the per interrupt loop
> which triggers a warning in the sysfs code and causes the interrupt
> allocation to fail.
> 
> Move it outside of the loop so it works correctly for single and multi-MSI.
> 
> Fixes: bf5e758f02fc ("genirq/msi: Simplify sysfs handling")
> Reported-by: Borislav Petkov <bp@alien8.de>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Reviewed-by: Cédric Le Goater <clg@kaod.org>

Thanks,

C.

> ---
>   kernel/irq/msi.c |   11 +++++------
>   1 file changed, 5 insertions(+), 6 deletions(-)
> 
> --- a/kernel/irq/msi.c
> +++ b/kernel/irq/msi.c
> @@ -887,12 +887,11 @@ int __msi_domain_alloc_irqs(struct irq_d
>   			ret = msi_init_virq(domain, virq + i, vflags);
>   			if (ret)
>   				return ret;
> -
> -			if (info->flags & MSI_FLAG_DEV_SYSFS) {
> -				ret = msi_sysfs_populate_desc(dev, desc);
> -				if (ret)
> -					return ret;
> -			}
> +		}
> +		if (info->flags & MSI_FLAG_DEV_SYSFS) {
> +			ret = msi_sysfs_populate_desc(dev, desc);
> +			if (ret)
> +				return ret;
>   		}
>   		allocated++;
>   	}
> 



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 10:09:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 10:09:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255651.438132 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7E5N-0006Fn-76; Tue, 11 Jan 2022 10:09:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255651.438132; Tue, 11 Jan 2022 10: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 1n7E5N-0006Fg-3F; Tue, 11 Jan 2022 10:09:01 +0000
Received: by outflank-mailman (input) for mailman id 255651;
 Tue, 11 Jan 2022 10:08:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zW4/=R3=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n7E5L-0006FP-It
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 10:08:59 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7d1b8ae5-72c6-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 11:08:57 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2105.outbound.protection.outlook.com [104.47.18.105]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-2-ARemIwnhMVqs8SZr4KguSg-2; Tue, 11 Jan 2022 11:08:55 +0100
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.4867.9; Tue, 11 Jan
 2022 10:08:54 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Tue, 11 Jan 2022
 10:08: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: 7d1b8ae5-72c6-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641895736;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=94EU8NaxpQdREIFACinzY1TXPA4OZZMse2NBkpNmH4U=;
	b=Yt2I3h7fbidCx1bCGNcjWS51gQJytvi2yHzvja+Vp5/R1rPsIaC5VjyMWcxPn1Wxt+TpuX
	ghVAAbzsEkrzeew8BoBuaLNui9FrhoWB+E55ys35YuPvbu/PYU+oskTwVgkra9cflL8VSP
	LLh37yrPH+0/QiewZkNH79u55eYiLdw=
X-MC-Unique: ARemIwnhMVqs8SZr4KguSg-2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LhYOIW9WgToQ6cSliSJMZEYnliC4XNS57OKN0GE4ny2NWbIn/uLrklSVDTKB1WeXhTtroCXWBX772JDM9yn7Omdo76zfKh+fseFyXl0jT31/xbcJoG9t4AtNstPHtVUSGUwJNGZEGacqlssryzaWWUuid9iDcguTcNutK2yo/kCyMncvBKxsgRDqufziNk4GtIQGe/dH8Tm90XQehj69g9Wv8SsZUBCYzwmxPjeYQ3uptGwMJZ4b8dILaymXdeYdQjdpw1yiFkuenNkcDsFaY5Jc+Zj/b49I3NDTCvM5ZM3OUqxKbYsBJ0yryAAgXEAv2JRO71U7DXc70oMH/8rqIA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sg6ZJz3EwiS/ErXJXNgrX9w7L3rFFVG2WlJfpbWcJn0=;
 b=KHxKKHzMuCGW4+x1KdJo+/L3k7hmD7BwHMZjNeMbA+sWa40GNIDC1KpCEH4SIb+CFYtnmW1nNWSIg2ZQ5tbeBAsCaqziMBfp070+FuwaXE73QE98zlk223FChwwJ99vhJnabuIUG6lHy5jgvPkHTxfrWeaTLERV8M1Y5pJ5bhwHeHVGgcL7eFQ9cB/ZyNAUKHOYB1EHJ7nPRg2+wcQwfcwymMDmDEQntTh0QMGqgGkX7IFR4Y9zCfhKxt1b1XBePipwrTCjjYHQBI+jymaWa29XmiFjNtvwt0AzLK04xLOELs+ug+TXqFtq5+msanF0/GQLl3Uy3+c/H90yLHIEAjg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <66616751-24a8-7678-774b-35f6da4ad0b3@suse.com>
Date: Tue, 11 Jan 2022 11:08:51 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Ping: [PATCH] x86: enable interrupts around dump_execstate()
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Andrew Cooper <amc96@srcf.net>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <e717897f-980d-ad44-31d9-39f5e7e1c45e@suse.com>
 <ff12f0df-a2c4-ae9b-b956-a602cc0bb844@srcf.net>
 <f0ca952c-1d44-56ab-6b81-6bba3fe1c016@suse.com>
In-Reply-To: <f0ca952c-1d44-56ab-6b81-6bba3fe1c016@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM6PR10CA0086.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:209:8c::27) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c30546ab-ab99-4f9b-6da4-08d9d4ea5f5b
X-MS-TrafficTypeDiagnostic: VI1PR04MB6304:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB6304D47BA94F77D794D72CA8B3519@VI1PR04MB6304.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:
	YgFMSBTXurVGEfhOgALRnS7OWVpvwcZJWWHn59XO1QXbZGSj/pD1jtmpeKrGVgokNK2QubezlwIYs1ftZNVRgXOz3etYQy0GAUOElVXiWkSs2ZkPRFqZXG8kB262L9lmAQd99cpLiJEqMpejFrAaAis4daFMYKIByTn7Dxe9OkD1XM+tv7lf9naB6eXk0sb0/7zrS1gUEh99r3P1pfVL2KK2v5z4WKsL+l+10GCobU+21+e7UemP3akSeZxOEXWTMEB2RvNZ33N9qRjs5unMkNqb+o51NCr3GTVgImgknIu3fh5KeO6K1va/d16jWqWQHDamMg3DDP8vwX/ps9ffi/bm4qbDyGOggkWHkY3XoRu5Oy+KxGqD4WLfCK8/uQW1O0lmWbDwTly+ucAD0SPyHQIdqvi6iUILJYeCIE5fRLUfJqMDCyfXA10bPZg5ExtkWHaBH0Y7m44lV5ebYMZ/4q/rjuQxzrsGVSuMYXBsJv7c2vL06RoLoRpzjnPVwouKaIenXu2Z/DlTIQYDdUaxUqHsCSinaYruPsjUom7MkYzB6ChRNvu8ZqdB9RaSIo/1/h8pWGWIm/xRR4eV5vjYLzomOzc3rj9FP7OrjSlz8PQdwE9NvjsQi3/6HuVei97jdPFdeYzWjE6wg7joM/4x95PGR7wWx2h4K3TIt/rm0nxOPlDbRwWGpln0xX4165r/vRuLI/nxKYIj8w6Jd6iehm0wU/2pFP5qR6d+hifoF3w=
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)(2616005)(6512007)(316002)(86362001)(31686004)(2906002)(38100700002)(6486002)(4326008)(54906003)(36756003)(26005)(5660300002)(8676002)(508600001)(8936002)(66946007)(6666004)(66476007)(66556008)(83380400001)(6506007)(53546011)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?qe3bBlx8H5nJqiyJFFrNyOOXHqz9QjfBJEjftJjI7dTq5dECfimkoHOtkAzP?=
 =?us-ascii?Q?PPS0oeXqESUzDblk0Ia2VUzyk2dUm8r/kBaVEYnS/sjyBC6ij/Uv55qHhStG?=
 =?us-ascii?Q?2s+tFNFPDqXtalRDKjTmnw43Z18wbM6lsbo0mtbNuhnrRXqdMrW0OW3gfyzj?=
 =?us-ascii?Q?hPWWWiH3O4NtV5W7GGcEMWg/mhofiy9RgJWlzCr4Bl5Y3uQRASwQUKrSBpsJ?=
 =?us-ascii?Q?Lf5uGNkJROJ8brwDvIfJYxigEJiYjcQIE5qym/lutg7Amu0yhTVUIP9bav23?=
 =?us-ascii?Q?eGeOSSBvReCl+K6PEk4FGQwOIp49MyuZLitmHrliedLklQZrfPjHEta/Tsw1?=
 =?us-ascii?Q?HEoYDdRtL8+qtY1Dw12Zmhg7uJzeOYdxT0cAgzZtQLkLDnVX+pdRogFV5AEM?=
 =?us-ascii?Q?eC5eU1eYqon2jSbv0Kvo7HX+2x9ZCVCScFndQd8TZvCIKPzVMwUvW/E3WLzf?=
 =?us-ascii?Q?5MHx+JvVJ529w0W0vSJS83hh9drSoCP/dEwtLqKmBEC0fADidw9Wk0jN0uST?=
 =?us-ascii?Q?toVef3g0VGxCLaNcIAMArX+J8PDLC7yf8NCAGJaRqJNY+hylevTJpZdK+4Jo?=
 =?us-ascii?Q?wYzmevehQI/zIJxXJ8ttPivGYyrEixuAmsaYL3/olIvSZWoOL/uvOBIijPe2?=
 =?us-ascii?Q?h6HDSfq2ulIGqxF/V7amQZgqTSXctFiszw1TzkeUnt5ucwAzHkyI4v+B1QEg?=
 =?us-ascii?Q?oM0vmvTitJ9/u04PcBmeeCXXqwJcsEkyI71VuxfJDq94sVIM2dgQVocRIJ6f?=
 =?us-ascii?Q?+Rx2pIggEQmG5Ni/3SmdIFhHcODG0iMyF/VbghBw7pSTOg7piHAOJHoXx020?=
 =?us-ascii?Q?Cu4XxoqTaL6cltt1xItLblowK09t9uAPnHieQjYYTnDkglzFj74AOVZe/UOq?=
 =?us-ascii?Q?5epRWkMU+pzuCMebsy/JpHInx609JHXKhQ23qiqEKwwE4Pk4TFCYqi382oFZ?=
 =?us-ascii?Q?ZSjRN8RjqyA5U84RomxqGMPmPjUGiogjhsjplgwQMhCiSycvJTcdX+a1T2XZ?=
 =?us-ascii?Q?tWw9gbkdL/rlejyvWEUyYpYxikX2/pnnulrbS2MsYI/XHkcAjNuht40VLp8y?=
 =?us-ascii?Q?VbaYOgaAivYPSqb9SrJhkF0m9+xzbxgWkxywKpd3BzM35ZA78LjozC/NnuGx?=
 =?us-ascii?Q?hGJ+mQu4xUe7MhLdexM/gTU1n5LpSV7mj6EJuuUFv1WcSzm5UpNXenrCkdsp?=
 =?us-ascii?Q?K9s4FrxZgufnAiVjGuLrfQnWGJrThCZuKfBN9fq7XmKc4viKuZykuzrQ3x/V?=
 =?us-ascii?Q?8Kd+fhYMkoET4ANquz5ow4Vkaf1Tb3bUA3K/XskFah0DXqjHOzeY/hV9tP79?=
 =?us-ascii?Q?YeErEbCkB+jDb1v2WJcX8br5E7UNZS2t0MWvBxyArw9Hw1hSlfDMLpeSu9iV?=
 =?us-ascii?Q?HbMk9ffFSUWCxcBAkkZU9bSd6SHtlnts8z7/lOqU+mQQzGQCR+8YKpnhGkW3?=
 =?us-ascii?Q?aWhC3Sv0tRPNPM4+sS0SL74eOCeClBQxwjPTRfjglBI9fICNjjm5EMQylwEU?=
 =?us-ascii?Q?5W2Mjf7lsTZ1exUpQLsa0lVKl9P6vbOJUBtzgCM6ovJXAVMLmiDhO29wrkkb?=
 =?us-ascii?Q?JfWCIcCqZYAdvQd7tHulMRbInTzXCiGSD4uUKd9Fr/+kpG6KJDCB72NS1viZ?=
 =?us-ascii?Q?p9eWWIQ+UTl7uCmeNshtm8I=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c30546ab-ab99-4f9b-6da4-08d9d4ea5f5b
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2022 10:08:53.9717
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: f6xBmm0sZ9NuOP6ancxg1MDzn/+XgeczQ3/uzozgEBVntdXAobJGMRq6t4q40wc64BD3As3/limC0uccJf4K6w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6304

On 16.12.2021 14:33, Jan Beulich wrote:
> On 16.12.2021 12:54, Andrew Cooper wrote:
>> On 13/12/2021 15:12, Jan Beulich wrote:
>>> show_hvm_stack() requires interrupts to be enabled to avoids triggering
>>> the consistency check in check_lock() for the p2m lock. To do so in
>>> spurious_interrupt() requires adding reentrancy protection / handling
>>> there.
>>>
>>> Fixes: adb715db698b ("x86/HVM: also dump stacks from show_execution_sta=
te()")
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>

There's a bug here which we need to deal with one way or another.
May I please ask for a response to the issues pointed out with
what you said in your earlier reply?

Thanks, Jan

>>> ---
>>> The obvious (but imo undesirable) alternative is to suppress the call t=
o
>>> show_hvm_stack() when interrupts are disabled.
>>
>> show_execution_state() need to work in any context including the #DF
>> handler,
>=20
> Why? There's no show_execution_state() on that path.
>=20
>> and
>>
>> =C2=A0=C2=A0=C2=A0 /*
>> =C2=A0=C2=A0=C2=A0=C2=A0 * Stop interleaving prevention: The necessary P=
2M lookups
>> =C2=A0=C2=A0=C2=A0=C2=A0 * involve locking, which has to occur with IRQs=
 enabled.
>> =C2=A0=C2=A0=C2=A0=C2=A0 */
>> =C2=A0=C2=A0=C2=A0 console_unlock_recursive_irqrestore(flags);
>> =C2=A0=C2=A0 =C2=A0
>> =C2=A0=C2=A0=C2=A0 show_hvm_stack(curr, regs);
>>
>> is looking distinctly dodgy...
>=20
> Well, yes, it does. If you have any better idea ...
>=20
>> For these kinds of purposes, it ought to be entirely fine to do a
>> lockless pagewalk of the p2m, because we have to maintain atomicity of
>> updates vs the hardware pagewalk anyway.=C2=A0 We do not care about any =
side
>> effects if the target isn't a RAM page.
>>
>> That ought to remove any IRQ problems from the equation.
>=20
> First - how do you suggest to signal to the page walk logic that there
> should be no lock acquired? And then I don't think there's a direct
> relationship here with what we need to guarantee correct hardware page
> walk behavior. Unless you mean to suggest that here we want to rely on
> either locking or interrupts being off (the latter guaranteeing that
> flush IPIs wouldn't complete while we're still doing software walking
> here).
>=20
> Jan
>=20
>=20



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 10:12:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 10:12:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255657.438143 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7E8L-0007iW-Qg; Tue, 11 Jan 2022 10:12:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255657.438143; Tue, 11 Jan 2022 10: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 1n7E8L-0007iP-NV; Tue, 11 Jan 2022 10:12:05 +0000
Received: by outflank-mailman (input) for mailman id 255657;
 Tue, 11 Jan 2022 10:12: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 1n7E8J-0007iE-RI; Tue, 11 Jan 2022 10:12: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 1n7E8J-00065W-Ob; Tue, 11 Jan 2022 10:12: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 1n7E8J-00078X-Ca; Tue, 11 Jan 2022 10:12:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n7E8J-0004dG-C9; Tue, 11 Jan 2022 10:12:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=3tdaqn66/2RUATNDDCI/7bQ6dW4ZHzPigqLcFV0aQ3M=; b=tMUonjkS9SFdDIU3JT65lsrmTK
	QfYhxCYGmPaCo+Bf3KzWLv8aE5jaPs83ywVNVwJw/kaW9jariGhth0Xv1cRDGyRH+5UnLic2xGOCr
	U4MlowbNFeNkjKQBFoKDfS/hpjyZ3xezL0LInW2wbi7Pkl31+6WD//PIhyfAeqr6I6wc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167657-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 167657: 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-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=4902dc68e555ccf28af3427f75661c54a2fffc0f
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 11 Jan 2022 10:12:03 +0000

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

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-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              4902dc68e555ccf28af3427f75661c54a2fffc0f
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  550 days
Failing since        151818  2020-07-11 04:18:52 Z  549 days  531 attempts
Testing same since   167657  2022-01-11 04:18:54 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>
  Ani Sinha <ani@anisinha.ca>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  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>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.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>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  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>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  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 Chevsky <nchevsky@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>
  Or Ozeri <oro@il.ibm.com>
  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>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott 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>
  Stefan Hajnoczi <stefanha@redhat.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>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Дамјан Георгиевски <gdamjan@gmail.com>

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


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 10:31:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 10:31:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255670.438154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7ERA-0001eb-NQ; Tue, 11 Jan 2022 10:31:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255670.438154; Tue, 11 Jan 2022 10:31:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7ERA-0001eU-JU; Tue, 11 Jan 2022 10:31:32 +0000
Received: by outflank-mailman (input) for mailman id 255670;
 Tue, 11 Jan 2022 10:31:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n7ERA-0001eK-3A; Tue, 11 Jan 2022 10:31:32 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n7ERA-0006Qz-02; Tue, 11 Jan 2022 10:31:32 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n7ER9-0007bu-NR; Tue, 11 Jan 2022 10:31:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n7ER9-0001JM-Mx; Tue, 11 Jan 2022 10:31:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=L1VU4+8fThB8r5qv3YENg61qyYG8dwwy+zru6n1LqZo=; b=cQNJdns+oa2MVe7kc5S3tZ3YuZ
	KocPHkgfmSO727sudw++EAm7Xzz51jaUElVQbkOWMp52GA6FC3paJ3BUPNKvwGUFK4APGkKR4A/Tu
	q4VSFqhagcdtT8Isz01vVWhcxA5FbvlMboBVaG4MVSnEidFQawKkf5Y1MGUO1bUhK3S0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167654-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167654: 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-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-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-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-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-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=ced5685208f4525edc3aa86f41eeaee5ccc9fe31
X-Osstest-Versions-That:
    xen=ced5685208f4525edc3aa86f41eeaee5ccc9fe31
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 11 Jan 2022 10:31:31 +0000

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

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

version targeted for testing:
 xen                  ced5685208f4525edc3aa86f41eeaee5ccc9fe31
baseline version:
 xen                  ced5685208f4525edc3aa86f41eeaee5ccc9fe31

Last test of basis   167654  2022-01-11 01:54:07 Z    0 days
Testing same since                          (not found)         0 attempts

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


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

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

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

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


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 11:02:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 11:02:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255682.438173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Eun-00055v-9r; Tue, 11 Jan 2022 11:02:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255682.438173; Tue, 11 Jan 2022 11:02:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Eun-00055o-6X; Tue, 11 Jan 2022 11:02:09 +0000
Received: by outflank-mailman (input) for mailman id 255682;
 Tue, 11 Jan 2022 11:02:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7Oth=R3=cantab.net=dvrabel@srs-se1.protection.inumbo.net>)
 id 1n7Eul-00055i-RF
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 11:02:07 +0000
Received: from smarthost01c.sbp.mail.zen.net.uk
 (smarthost01c.sbp.mail.zen.net.uk [212.23.1.5])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e9ea95a9-72cd-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 12:02:06 +0100 (CET)
Received: from [82.70.146.41] (helo=pear.davidvrabel.org.UK)
 by smarthost01c.sbp.mail.zen.net.uk with esmtps
 (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1)
 (envelope-from <dvrabel@cantab.net>)
 id 1n7Euj-0005Al-C4; Tue, 11 Jan 2022 11:02:05 +0000
Received: from apple.davidvrabel.org.uk ([82.70.146.43])
 by pear.davidvrabel.org.uk with esmtp (Exim 4.92)
 (envelope-from <dvrabel@cantab.net>)
 id 1n7Eua-0001xq-VD; Tue, 11 Jan 2022 11: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: e9ea95a9-72cd-11ec-9ce5-af14b9085ebd
Message-ID: <e54f914d-a683-1855-1eeb-635df86f0d94@cantab.net>
Date: Tue, 11 Jan 2022 11:01:55 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, Bertrand.Marquis@arm.com,
 Luca Miccio <lucmiccio@gmail.com>,
 Stefano Stabellini <stefano.stabellini@xilinx.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Juergen Gross <jgross@suse.com>
References: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop>
 <20220108004912.3820176-1-sstabellini@kernel.org>
 <580a888e-24c4-5d16-8c70-f3d7b34ac2c9@xen.org>
 <alpine.DEB.2.22.394.2201101340550.2060010@ubuntu-linux-20-04-desktop>
From: David Vrabel <dvrabel@cantab.net>
In-Reply-To: <alpine.DEB.2.22.394.2201101340550.2060010@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-SA-Exim-Connect-IP: 82.70.146.43
X-SA-Exim-Mail-From: dvrabel@cantab.net
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on
	pear.davidvrabel.org.uk
X-Spam-Level: 
X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,SPF_NEUTRAL,
	URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2
Subject: Re: [XEN PATCH 1/7] xen: introduce XENFEAT_xenstore_late_init
X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000)
X-SA-Exim-Scanned: Yes (on pear.davidvrabel.org.uk)
X-Originating-smarthost01c-IP: [82.70.146.41]
Feedback-ID: 82.70.146.41



On 10/01/2022 22:55, Stefano Stabellini wrote:
> 
> I have a patch for Linux that if XENFEAT_xenstore_late_init is present
> makes Linux wait for an event notification before initializing xenstore:
> https://marc.info/?l=xen-devel&m=164160299315589
> 
> So with v1 of the Xen and Linux patches series:
> - Xen allocates the event channel at domain creation
> - Linux boots, sees XENFEAT_xenstore_late_init and wait for an event
> - init-dom0less later allocates the xenstore page
> - init-dom0less triggers the xenstore event channel
> - Linux receives the event and finishes the initialization, including
>    mapping the xenstore page

You can get this behaviour without the new feature.

- Xen allocates the event channel at domain creation
- Linux boots, sees HVM_PARAM_STORE_PFN is invalid and there's a 
xenstore event channel and waits for an event
- init-dom0less later allocates the xenstore page
- init-dom0less triggers the xenstore event channel
- Linux receives the event and finishes the initialization, including
    mapping the xenstore page-

David


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 11:11:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 11:11:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255686.438184 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7F3v-0006XN-7s; Tue, 11 Jan 2022 11:11:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255686.438184; Tue, 11 Jan 2022 11:11:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7F3v-0006XG-3x; Tue, 11 Jan 2022 11:11:35 +0000
Received: by outflank-mailman (input) for mailman id 255686;
 Tue, 11 Jan 2022 11:11:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1Jw/=R3=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n7F3u-0006XA-0z
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 11:11:34 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 397fd4ff-72cf-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 12:11:30 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 397fd4ff-72cf-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1641899490;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=+FoSMuDBKeH6aEXUH+JLFA1KOxwJzJTpMqM/2dl5nIE=;
  b=QIRi9CW4BvvOUE6Za27f3C/IzJB0wiUZJv1k2WrkfmDJnrVz8+mfMt49
   Qz3QdH1wrLxw4zsNXBQQzMzWNacw6831vVGA/onCxQE+wwG8z3beM6bxL
   27uGvCGlGj+mpEhzQtXCk1Be6739uKRkI8cFLx5QAKNlurZeNt1JccMHV
   w=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: +LNhzxgyQIwGFZ5VV6qDOzBvNMLcq5gBJ6Qly+qzJynxF/aJZ8v2GSXyhhTU1Qe/XUzsCWs9ZG
 zndvA2sFmWxFp/cdUOnSlAFe8dTD/Mf3c0uz/HvLaImKGJhuSGarQm6IjfZcBJ+gmA3j2jcOzG
 b4t3pmzFrSBoNCZwA4RVbkukkIWutLJw+BoYXWH/QZr40gryeOjqieLlAuzPt8hJ83lIF7nNCY
 2FpP3TLXoE7KuPoI+dWwD3xmKs7PlgCOkJADSAkw17s7DrPgaM3dgpITfAoA/cijtipM9Lh/vJ
 MbcsE9njnUW6KClRkHINz1jF
X-SBRS: 5.2
X-MesageID: 61727851
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:zlVqz6p1B8lhTSNjk34AyjEBx0peBmJrYxIvgKrLsJaIsI4StFCzt
 garIBnQOvmJNGL3c90lPd7goBwDvpCHyNFjQQdo/iA9Hy0b9puZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlZT4vE2xbuKU5NTsY0idfic5Dndx4f5fs7Rh2NQw2IHgW1rlV
 e7a+KUzBnf0g1aYDUpMg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJ8DO+iL
 9sv+Znilo/vE7XBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XnRfTAKtao2zhojx/9
 DlCnbHuViVuGYv2ouYyUCRJIxNDI6JsoZaSdBBTseTLp6HHW37lwvEoB0AqJ4wIvO1wBAmi9
 9RBdmpLNErawbvrnvTrEYGAhex6RCXvFJkYtXx6iynQEN4tQIzZQrWM7thdtNs1rp4XQqyBN
 5dAAdZpRFfdbzoSE1YqNL8Vob2q1l/CfSxW913A8MLb5ECMlVcsgdABKuH9atGMAMlYgEucj
 mbH5HjiRAEXMsSFzjiI+W7qgfXA9Qv5V5gVD6aQ7eNxjRuYwWl7IBkXU0ar5Pq0kEizX/pBJ
 EEOvCkjt64/8AqsVNaVdxm5pmOU+xQYXNFTO/M15RvLyafO5QudQG8eQVZpc94+vdU1bTUv3
 02OmZXlCFRHua2fTn+19bqOqz62fyQWRUcHZSIVSwYt6tzqsoY1yB7CJv5qFK+6k9rvGBn5x
 jmYqy54jLIW5eYB0L+65hbAmC62oYbSTR8d4R/eVWaoqAh+YeaYi5eAsAaBq6wadcDAEwfH7
 CNsd9WiAP4mIM+StmuqZt83Hp6q2ue1AgDCjnQ2Nsx0n9iywEKLcYdV6TB4AU5mNMcYZDPkC
 HPuVRNtCIx7ZyXzM/IuC26lI4FzlPW7S4y5PhzBRocWOvBMmBm7EDaCjKJ690TkiwASnK42I
 v93mu78XC9BWcyLINdbLtrxMIPHJAhjnQs/prihlnxLNIZyglbPEt/p13PUP4gEAFus+lm9z
 jqmH5LiJ+9jeOP/eDLL1oUYMEoHK3M2bbiv9ZAOJrLbe1s+Qzx5YxM0/V/HU9Y+90iyvr2Zl
 kxRp2cCkAav7ZE5AVjiho9fhEPHAs8k8CNT0d0ENle0wXkzCbtDH49EH6bbiYIPrbQ5pdYtF
 qFtU5zZXpxnF2qbkxxAM8iVhNEyJXyD2FPVVwL4MWdXQnKVb1GTkjMSVlGxpHBm4+venZZWn
 oBMISuAEMVTHFozXZ+GAB9tpnvo1UUgdCtJdxKgCvFYeVn28ZgsLCr0j/QtJNoLJwmFzTyfv
 zt6yz9BzQUUi4NqotTPm46eqIKlT7l3EkZARjGJ5reqLyjKuGGkxNYYAuqPeDncUkLy+bmjO
 roJn62tbqVfkQYYqZd4HpZq0bk6u4nlqYhFw1k2B37MdVmqVO9teyHUwclVu6RR7bZFog/qC
 FmX89xXNOzRasPoGVIcPiQ/aeGH2a1GkzXe961tck77+DV27PyMVkALZ0uAjylULb1UNoI5w
 Lh+5J5KulLn0hdza4SIlCFZ8WiIP0csaaR/u8FIGpLvhyoq1kpGPc7WBBjp7czdcN5LKEQrf
 GOZ3fKQm7RGy0PeWHMvDnyRj/FFjJEDtR0Wnl8PI1OFxojMivMthUAD9D02SkJezwld0vI1M
 W9ubhUnKaKL9jZupc5CQ2HzRF0RWEzHohT8mwkTiWnUb0i0TWicfmQyNNGE8F0d728BLCNQ+
 6uVyTq9XDvnFC0rMvDehaKxRyTfcOFM
IronPort-HdrOrdr: A9a23:ankYLaziIgMQgF2FMda3KrPwIr1zdoMgy1knxilNoH1uHvBw8v
 rEoB1173DJYVoqNk3I++rhBEDwexLhHPdOiOF6UItKNzOW21dAQrsSiLfK8nnNHDD/6/4Y9Y
 oISdkbNDQoNykZsfrH
X-IronPort-AV: E=Sophos;i="5.88,279,1635220800"; 
   d="scan'208";a="61727851"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MtZlmloa5NjDpfBJQTxhye7c7JuLPtDAkvx1Q6hQ7VOdvm+PpSU2xvfbuYYAZIdIyo+hb+zndZOd/iMLaNHHdwBj09WhOIYQrsYXWux/d+n7E/sNhrKn1M8Rg3hfLOrGrDc4NrYfuNP0yHJFrJ/ctJNXgg9L/fPyasCT+1PYDfkaV28QVRzNlWMnWHdqljyeeB+8oxtkklauJT4ygpxvFOb13mXCAcoap/mEeLn5oUrxXsqynyj80tdYZ7dTt3MdfqVDT1OtFQua9cIt0EulN9rJj5CSeAO2WLRt6lGf9jIUp2DtgsPvqkrLwzd/VnPwr+XoSXIrv4rheQtf/DdAzA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4vbVjBIbKzztlAe9vCcCRtVaFrKaWxxjBst7/u1OVq4=;
 b=FijY9vWbTiWmmKqfl5e/6IYr+Hl5trJs/tCkF7he/+aqmDTJSD68SwBxUEarjmgZRSVSw2R6k4YXAgugCDF9Yp/+JGqF46M8wzTET9u8VIyl8HKI6oky2jrsyUV/cPLe1dIV/Mbx6qqWXGxCmOzQUYvg72I6Y9R4icjzbuwdFzGwkbeOYYEY32toPRLAkuSIzyirEklzM7nrkRyj/e9tQvUc36l3/kHaVad3a/HBGbiftinbhDbOufIx3HJHC1S8fH6rxgA7e+5Nxh8kh7/cEBw2jRrRUlX+2unVUlFymuL+MVcRIwx+o1stdH5BuNuu4pvbw6BMtYDoenCOXwlgew==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4vbVjBIbKzztlAe9vCcCRtVaFrKaWxxjBst7/u1OVq4=;
 b=V2h5QEMyn+h1fHP6YxkjXyUF1ZToXayYCZ98Dv0F9OshjQb48GHzr8OH7rUFU5AOi+jh6MpxDp9VXK+g6qicChyA21YpW//UoxWAlAXlc1BEOOYHydiYigIPGVz1v1OUb0RPp2vpxfOScC2TVx/xWHcRpCHMhMy2Pn9AKnMhrs8=
Date: Tue, 11 Jan 2022 12:11:15 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Maximilian Heyne <mheyne@amazon.de>
CC: Jens Axboe <axboe@kernel.dk>, Boris Ostrovsky
	<boris.ostrovsky@oracle.com>, Anthony Liguori <aliguori@amazon.com>, SeongJae
 Park <sjpark@amazon.de>, Juergen Gross <jgross@suse.com>,
	<xen-devel@lists.xenproject.org>, <linux-block@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] xen, blkback: fix persistent grants negotiation
Message-ID: <Yd1l01jTPwx5oBuo@Air-de-Roger>
References: <20220106091013.126076-1-mheyne@amazon.de>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20220106091013.126076-1-mheyne@amazon.de>
X-ClientProxiedBy: MRXP264CA0014.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:15::26) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: bc51d806-8853-454a-0c36-08d9d4f3182d
X-MS-TrafficTypeDiagnostic: DM6PR03MB3579:EE_
X-Microsoft-Antispam-PRVS: <DM6PR03MB3579241225EF1DF9195BDD188F519@DM6PR03MB3579.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: bG9W7xQbLt+Fz/Bw5ozsPnIiTsbvl1uiENCeEeeyeXzjsNnypH5eSBvhnN8XwnJ6T0U7kHsT56bxhuBUy+0/0OcYIvUxIjH+SX8k4DqpkW5fKO+ceLMQm9FlxOI3oWBJK3tou+J/dgEIJzF+43g9r13idBA8gCqmZt58rjtqfw8iO26p6IHjneKk1VSKnYA4JMNPNwRLn6Atmlv/dJHb3xnUnFLPWGOSIIuxsALnoZS8BTH910UtgpR0+xQnAzEdGNd3JTba6SBYseEBAsegJDarpOmGv99eQAR6d8qAVoC3EC29QecUaxdXRbGDGI6Mi7+0csh3hi6P60r6hu4leKYFo6Sl7rRvDOwk69dtHywofaXRVUimzzGjLWka/FWM3UivEAVuP/7VRneH7MFv/Wjei/WVhv7M6d2hhy/ZHLdIQ4PLTxUSlL98bYqxqXp1nrqxLTtqlyjDY/uVfsa871dYP1g6jCr5m6C7hYR6NGA6FuPnu/Kr60yCzRLv0Nfh/lzXgsB1Y+UvnidQOJwBUetXC39XUNYQ9Ju7TIgztx57WN3PN7jyOjxcJnWC1OJBhBu/aP+zekaIBvtQtTu7KpiGJEcz6nBaj/26Vj1Xp/ZH3/VAHxVuM2x8IYt1AiNVtPkbZzdmwTJFNE34ha22+w==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(82960400001)(4326008)(9686003)(38100700002)(83380400001)(6486002)(6512007)(5660300002)(6916009)(66946007)(54906003)(66476007)(66556008)(508600001)(85182001)(8676002)(2906002)(186003)(316002)(26005)(6506007)(6666004)(8936002)(33716001)(86362001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MjRBUVYzcmVyWnZtYUlkZS83ckQ0T2hvemxFUXNvQSsrRVY1aGdPM1NsWklY?=
 =?utf-8?B?U1BrQUk5bXArbElrc3g0c294SEJ6OEZtRnhQdjVxU3Uva0N6OWs4d05NZ2VT?=
 =?utf-8?B?RVZFSjQvZVhTZmJOdWttdXpzT1ZkdVR6ZWRaZjNMTmRNb2NuaXR2cUlOVFBo?=
 =?utf-8?B?U3ZydWZPMjQyeU5PWG1hMXAwOUJUeEZPdjVCOGpDNjFxQnYxQ3RacTNTNS9n?=
 =?utf-8?B?bFpQdmJQbVhzeS9ZTW8wVUpza2VIYVNRZGxBZThiVFNjSnU2VHVjNUhJMkpR?=
 =?utf-8?B?V2R6TXVmVThiWUl1WGJ3Z1dnNlozT2pqWDFsNmJSVFhQVkMrL2ZRY0JLUVdB?=
 =?utf-8?B?NmxHVjQrRUpGbVVqOE5vVXdqTlZFZGllaDJBN1dHUEVYUEtBMU5zL0U2NXRT?=
 =?utf-8?B?YUdjdnNhN0k5RTg0SGtobFNXelN0aUJtQkNUeGpWTGdiYkFwSTNSYkVTN2NX?=
 =?utf-8?B?OGJ0aU1wUUNPUmpqOEw2dWxuWTFzZDFScWdwZUVGdG43L3JkWDVVYmp5d0JS?=
 =?utf-8?B?bGl6Z0JiM2xtQUs2dGtMZnFGREZWZzZzd1NRVVpkbFdDd0hkOGE4R0xQbmFo?=
 =?utf-8?B?U04xZWlPQjdCRmsvVXhKWGhSZ3hQVmpXak9XNHdGaGpTRUQzV2J3eUNMM3dQ?=
 =?utf-8?B?ZThQd3paa3BVNE4wMzRkUE5OS1A3Z2JlbU1LcXZzS1haZEFtZ29nb0xpRWhi?=
 =?utf-8?B?OFNYV0ZmdStTdUx4QVo1azVXNFFXOGk1ZjdtZnFIOVNsN1VlSFBaS2R6TnEz?=
 =?utf-8?B?WFZzZngvYkRLRVo1YURqcjJ1b0JOVUJ4czBrVGVQYXd1TnlNekdCSDk4cmU2?=
 =?utf-8?B?NndmRElkay9JSWJMRWZRUlFmVy9uZllnbllRTG9nalpidnNsYWJxTnRxY2pO?=
 =?utf-8?B?YTdsaExITXZnZmZOVmNjN0tsd0N0b2lFZzhWWmNmanZIdCt5WUFqcmVUWDQx?=
 =?utf-8?B?KzIvTVdmb2VhZ01VRFo3R3RtdGE1YzA1MUhHYXJvUUFPMk9VenFPdFJkbXJy?=
 =?utf-8?B?S1paSVRzQWpaMytnc1R4VHM2eXQxcEZZbncyREhJYjNUUVdsVTk2QzF2OFJL?=
 =?utf-8?B?UFpTLytxenJsVHk3alo2cHVKRXlUZkh0T09JQlgrRGZXZ2Q3VjVkL1k0WlpU?=
 =?utf-8?B?N3dWU2NXY2pZSitvMkpoaUhvZ0lzNDBUQTdLU0VsTnpkdC95MHp1K3UzS0Vt?=
 =?utf-8?B?TWIreXFnajVwdjJvNDFES2hhQnVpRDl4L1lRVTlaQUpscnJydHpINUVubGVw?=
 =?utf-8?B?ZDlXeUhJM01ZNVdOMEFMN0crVWZvQ3UzUSt5Nnk3VEcxRGVEVEcvZXVweFNN?=
 =?utf-8?B?VXU3Uy9RRG9ZVlhHcXN4M25sZFc0dkVpczlrR0pjdU1uWEcrRHFsdGlWcUVS?=
 =?utf-8?B?QnVETENrUytsNmJSbHRydHVVS1BkTTdhTEo5dHllVWttZFJKS0FsZ0Y5TTho?=
 =?utf-8?B?ZVY3bThDZ1hwNC96NUJlSjdSRnhjdXZzR1ZpL2RudnIyVXBCbUVkNXBQTmhZ?=
 =?utf-8?B?RjJDeVVTdnpUM0p0Zy9YNWRyZHdjWTQyMjFYdUp0dHV2TmJPMExOanEzektx?=
 =?utf-8?B?elRkUjIzOHQrYmk5eFpyMDAycTV2eUl6cU51WTRpM1M5Z3lKdTgyUEkxL0lF?=
 =?utf-8?B?TkxMRnltcjhMT1l0NzZZd0hRK2pDc3Q0YUQyRDA2SWhsOFJrN1JrT3NWSHox?=
 =?utf-8?B?N1l5TEpwRlR2T0pjMkdZeVpSbG5GU2J5KzJpa3ZyMXltUXVlN2xiM1FCRmpQ?=
 =?utf-8?B?VDlJbmF4RlVldmpTeWxQaUkvUkw2VDlHeHFHb3JtRWRZdnROQTg1cld5QlZ6?=
 =?utf-8?B?aHcwSyszTVBYL2hYYTRPNWo2QzYrcVhLUndkOHhFZWo1UmRKcUsrTmc3VUhZ?=
 =?utf-8?B?dWhHWlhuVmlBaGVpQ3ZIWXduUHQwSHFjZG1SaEkzbkx4TzZrU29kLzhXN1c4?=
 =?utf-8?B?QXlpUmcxcUw5S3Y2U0RXam55VllLK3VYU1JhdmdGYkg2ekxUMThzd1NhUWZZ?=
 =?utf-8?B?UTVwUTZXNS9pYXRud3phZTZvVll5SXN5cE90Sk9HY3pyLzhkbC9NbzdWeHdu?=
 =?utf-8?B?WklEL1o5bFZWY1JWMThEN2hIek5rNDFZc1VBVE55WlhjWXpaREFMU2l4ZkVH?=
 =?utf-8?B?VmZydUFMd2pqVXpUbTk0bDc3QklQY0FOUkdqZWJwUVYyRHliVkFZd1lHb0sx?=
 =?utf-8?Q?n+PpDa+MF45QWgnnhYfCo2k=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: bc51d806-8853-454a-0c36-08d9d4f3182d
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2022 11:11:19.9101
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vIumD4dZ8uZG4TnqleOgL4NRm58z8s/Ng23DGrTQdpgU8RWIXqlO+dsEp589sTzYXNFRX/Xr6QcsIXGtBxH5YA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB3579
X-OriginatorOrg: citrix.com

On Thu, Jan 06, 2022 at 09:10:13AM +0000, Maximilian Heyne wrote:
> Given dom0 supports persistent grants but the guest does not.
> Then, when attaching a block device during runtime of the guest, dom0
> will enable persistent grants for this newly attached block device:
> 
>   $ xenstore-ls -f | grep 20674 | grep persistent
>   /local/domain/0/backend/vbd/20674/768/feature-persistent = "0"
>   /local/domain/0/backend/vbd/20674/51792/feature-persistent = "1"

The mechanism that we use to advertise persistent grants support is
wrong. 'feature-persistent' should always be set if the backend
supports persistent grant (like it's done for other features in
xen_blkbk_probe). The usage of the feature depends on whether both
parties support persistent grants, and the xenstore entry printed by
blkback shouldn't reflect whether persistent grants are in use, but
rather whether blkback supports the feature.

> 
> Here disk 768 was attached during guest creation while 51792 was
> attached at runtime. If the guest would have advertised the persistent
> grant feature, there would be a xenstore entry like:
> 
>   /local/domain/20674/device/vbd/51792/feature-persistent = "1"
> 
> Persistent grants are also used when the guest tries to access the disk
> which can be seen when enabling log stats:
> 
>   $ echo 1 > /sys/module/xen_blkback/parameters/log_stats
>   $ dmesg
>   xen-blkback: (20674.xvdf-0): oo   0  |  rd    0  |  wr    0  |  f    0 |  ds    0 | pg:    1/1056
> 
> The "pg: 1/1056" shows that one persistent grant is used.
> 
> Before commit aac8a70db24b ("xen-blkback: add a parameter for disabling
> of persistent grants") vbd->feature_gnt_persistent was set in
> connect_ring. After the commit it was intended to be initialized in
> xen_vbd_create and then set according to the guest feature availability
> in connect_ring. However, with a running guest, connect_ring might be
> called before xen_vbd_create and vbd->feature_gnt_persistent will be
> incorrectly initialized. xen_vbd_create will overwrite it with the value
> of feature_persistent regardless whether the guest actually supports
> persistent grants.
> 
> With this commit, vbd->feature_gnt_persistent is set only in
> connect_ring and this is the only use of the module parameter
> feature_persistent. This avoids races when the module parameter changes
> during the block attachment process.
> 
> Note that vbd->feature_gnt_persistent doesn't need to be initialized in
> xen_vbd_create. It's next use is in connect which can only be called
> once connect_ring has initialized the rings. xen_update_blkif_status is
> checking for this.
> 
> Fixes: aac8a70db24b ("xen-blkback: add a parameter for disabling of persistent grants")
> Signed-off-by: Maximilian Heyne <mheyne@amazon.de>
> ---
>  drivers/block/xen-blkback/xenbus.c | 9 +++------
>  1 file changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/block/xen-blkback/xenbus.c b/drivers/block/xen-blkback/xenbus.c
> index 914587aabca0c..51b6ec0380ca4 100644
> --- a/drivers/block/xen-blkback/xenbus.c
> +++ b/drivers/block/xen-blkback/xenbus.c
> @@ -522,8 +522,6 @@ static int xen_vbd_create(struct xen_blkif *blkif, blkif_vdev_t handle,
>  	if (q && blk_queue_secure_erase(q))
>  		vbd->discard_secure = true;
>  
> -	vbd->feature_gnt_persistent = feature_persistent;
> -
>  	pr_debug("Successful creation of handle=%04x (dom=%u)\n",
>  		handle, blkif->domid);
>  	return 0;
> @@ -1090,10 +1088,9 @@ static int connect_ring(struct backend_info *be)
>  		xenbus_dev_fatal(dev, err, "unknown fe protocol %s", protocol);
>  		return -ENOSYS;
>  	}
> -	if (blkif->vbd.feature_gnt_persistent)
> -		blkif->vbd.feature_gnt_persistent =
> -			xenbus_read_unsigned(dev->otherend,
> -					"feature-persistent", 0);
> +
> +	blkif->vbd.feature_gnt_persistent = feature_persistent &&
> +		xenbus_read_unsigned(dev->otherend, "feature-persistent", 0);

I'm not sure it's correct to potentially read feature_persistent
multiple times like it's done here.

A device can be disconnected and re-attached multiple times, and that
implies multiple calls to connect_ring which could make the state of
feature_gnt_persistent change across reconnections if the value of
feature_persistent is changed. I think that would be unexpected.

There are also similar issues with
xenblk_max_queues/xen_blkif_max_ring_order changing after
xen_blkbk_probe has been executed. We likely need to stash all those
parameters so what's on xenbus is consistent with the limits enforced
in blkback.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 11:26:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 11:26:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255690.438206 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7FIV-0008M0-RT; Tue, 11 Jan 2022 11:26:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255690.438206; Tue, 11 Jan 2022 11:26:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7FIV-0008Lt-Mx; Tue, 11 Jan 2022 11:26:39 +0000
Received: by outflank-mailman (input) for mailman id 255690;
 Tue, 11 Jan 2022 11:26:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1Jw/=R3=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n7FIU-0008LC-1q
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 11:26:38 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 553e8741-72d1-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 12:26:36 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 553e8741-72d1-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1641900396;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=wWmMK5pKCuBzrh9EFFG+WEKgvITauNQ+qymED1UrlFo=;
  b=WrKPQ7WTdJgaTHJfRsfdzsrFGMvL8G4aSNGKDIi0zSm2Rxz/WkorKItT
   A3+wRZY+3PXZS2J5jA+8QjZSwytE+Pg2ahKInizaqvAhvTDznSBNXYN5E
   /5Neu+aKSxCORvWewl+XsdRIVAXgsTiFq+vnR0TiQmSKNuPOFSv52jTef
   8=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: VlJ/eW+4RAHsByqYae5WlYo7pj4tLT24hatPzg+gyqL0Yh585lW1Nkg82Hpx1/j8tcsuFMpKUN
 Ioh28oUfW/7N9C53k1+IcUXWTzIZW1sED86I5CI22m0ejUZEEmpdlFeJt+g2R+Vpj4knDoR6wu
 QrsbQq6uVA/BCRJnl9eHfOo0kL+jB3kpVbW+e7yJyg3OgfotdB7AgEHXazbX5MPVFyKW8QpXNL
 KNKFF/TxITNtcg8DCJC/kL6LLF2ao37tiZgGwzEVPLl6AuwE4Oo4dtIoEcYA47yQLxTN15D4rL
 6zrvUByMJAC1E0gW2eUktrr/
X-SBRS: 5.2
X-MesageID: 63847831
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:O8PU/KBOmkhHlhVW/7Tkw5YqxClBgxIJ4kV8jS/XYbTApGkr0DIAy
 mceDG3SbPmON2L8fI9+O46yphhTvcXUnddgQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMo/u1Si6FatANl1ElvU2zbue6WL6s1hxZH1c+En940Es7wobVv6Yz6TSHK1LV0
 T/Ni5W31G+Ng1aY5UpNtspvADs21BjDkGtwUm4WPJinj3eH/5UhN7oNJLnZEpfNatI88thW5
 Qr05OrREmvxp3/BAz4++1rxWhVirrX6ZWBihpfKMkQLb9crSiEai84G2PQghUh/pDWjv88t9
 O90u8aeSSs3ArbQpf0yekwNe81+FfUuFL7vJHG+tYqYzlHccmuqyPJrZK00FdRGoKAtWzgIr
 KFGbmBWBvyAr7veLLaTUO5ji95lNMD2FIgepmth3XfSCvNOrZXrHf6auYAIh25YasZmWuSBX
 ccTbCFVSU6YQDZoHlMYVqo1g7L97pX4W2IB8w/EzUYt2EDS0w5ZwLXrKMDSeNGBWYNShEnwj
 n3C13T0BFcdLtP34TiP/2+oh+TPtTjmQ49UH7q9ntZjhVbCmEQIEhYYE122vZGRiEGkXMlEA
 1cJ4Sdopq83nGS7Q9+4UxCmrXqsuh8HR8EWA+A88BuKyKff/0CeHGdsc9JaQIV47olsH2Vsj
 wLX2YOybdByjFGLYV2d3JeL8Q+IACZPA28uexMfUTYczPC29enfkSnzZtpkFae0iPj8Fjfx3
 y2GoUACulkDsSIY//7lpA6a2lpAsrCMF1dovVuPAgpJ+yskPNbNWmC+1bTMAR+sxq69R0LJg
 nULktP2AAsmXcDUz3zlrAng8diUCxe53N/03AYH83oJrW3FF5ufkWZ4umoWyKBBaJdsRNMRS
 BWP0T69HbcKVJdQUYd5YpiqF+MhxrX6GNLuW5j8N4QSO8gtLFbWpHozPSZ8OlwBdmB2ysnT3
 r/BIK6R4YsyU/w7nFJauc9AuVPU+szO7TyKHs2qp/hW+bGfeGSUWd843KimNYgEAFe/iFyNq
 b53bpLSoz0GCbGWSnSJreY7cA5bRVBmVcGeg5EGLYarf1s5cFzN/teMm9vNjaQ/wfQM/goJl
 1ngMnJlJK3X3iyYeV7UOyE6ONsCn/9X9BoGAMDlBn7xs1ALaoez9qYPMZwxeLgs7ut4yvBoC
 fICfq297j5nE1wrIhwRMsvwqpJMbhOuiV7cNiapemFnLZVhWxbI6pnveQ62rHsCCS++tM0fp
 by811yEHcpfFlo6VMuGOuiyy16RvGQGnL4gVUX/PdQOKl7n95JnKnKtg6Zvcd0MMxjK2hCTy
 x2SXUUDveDIroJsqIvJiKmIop2HCex7GkYGTWDX4azvbXvR/3a5wJ8GW+GNJGiPWGTx8aSkR
 ONU0/Cjb6FXwAcU69JxSu85w7g/6t3jo65h4j5lRHibPU62Dr5AI2Wd2ZUdvKN62bIE6xC9X
 ViC+4cGNOzRat/lClMYOCEscv+HiaMPgjDX4Pk4fBf66Stw8ObVWEleJUDR2ilULb8zO4I52
 +Yx/sUR7lXn2BYtN9+HiAFS9niNcSNcA/l26MlCDd+5kBcvx3FDfYfYW33/75y4YtlRNlUnf
 22Pj63YirUAnkfPfhLfz5QWMTaxUXjWhC138Q==
IronPort-HdrOrdr: A9a23:DUhy7am8VnMWq8Le9Dj88V4Af03pDfO0imdD5ihNYBxZY6Wkfp
 +V88jzhCWZtN9OYhwdcLC7WZVpQRvnhPlICK0qTM2ftW7dyRaVxeBZnPDfKljbdREWmdQtt5
 uIH5IObeEYSGIK8foSgzPIYurIouP3iZxA7N22pxwGLXAIV0gj1XYANu/yKDwJeOAsP+teKH
 Pz3Lsim9L2Ek5nEfhTS0N1FNTrlpnurtbLcBQGDxko5E2nii6p0qfzF1y90g0FWz1C7L8++S
 yd+jaJq5mLgrWe8FvxxmXT55NZlJ/IzcZCPtWFjowwJi/3ggilSYx9U/mpvSwzosuo9FE2+e
 O86SsIDoBW0Tf8b2u1qRzi103J1ysv0WbrzRuijX7qsaXCNUQHIvsEobgcXgrS6kImst05+r
 lMxXilu51eCg6FtDjh5vDTPisa2HackD4Hq6o+nnZfWYwRZPt6tooE5n5YF58GAWbT9J0nKu
 9zF8vRjcwmPm9yV0qp/lWH/ebcHUjaRny9Mwo/U42uonRrdUlCvgolLJd1pAZEyHo/I6M0kN
 gsfJ4Y0I2mdfVmHp6VMt1xNfdfOla9MS4kD1jiU2gPNJt3ck4l+KSHqInc2omRCek1Jd0J6d
 P8bG8=
X-IronPort-AV: E=Sophos;i="5.88,279,1635220800"; 
   d="scan'208";a="63847831"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AemvOUCZnDcGQJiYgdphgxLLUu0JZt+cC47+MIiUoWwWhx19Lw3tvFhJtEl/KODZPRnQ962Nkl+Sy3+U/OSrnDdtriGCaGlXup9IdeIPQf1T2fl0uqJTJsFonCO/twop1GQ3OqCSoE0JJ9AWkmpUGg0EMR6iym89uAGbsqRcgWj2otnHTj1EDrrhXs1/SB3Nb4J/r0CoaqLQEe11yQqDe/Mi1qi2BMWXKGCdIu0sYSv3dyVqZnUviCnZF5Abfmaxx5XvYF14Z+zuDJUjwbBNrgO2sj0WXZ3IWza1vgvVjBzTsTROQDHVLN91I5QcNSNKj56MnDDiCinu/osR3V9WKQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ULfAFvYIo4kefH6stSr6XVisjycs3F2wp0Q1rb6HjZ8=;
 b=l6KUYXBeH9Ag5saj7gE7lnDsIKzygUWLez3qFiVkryRslkvRnIZEWn216nb+dLSSmF46WgWm8xJzH4pu5s1eUBEAePYGCaa6527WU5ax3WjXewpQaYsZpUBsYNZD9lCJZAMJuOXSj2rvCFAyRWljf6OpbhBLOqXlySsvV9RZrOuDBRad3cTDSnuHiizkiCQml9/CWmqRFl+2QJ47p8RxCBxJafHuy97wc4bs6ddyeqhLl9rHs7vt7sauDsqQkmqEqgRM2tGqmm1bcyN7agKvdSYnDIVOP+3cRDbwSOwYHDiEIMagtbU21gmqTNRHjL0N25eWSP4Xz8VOuYINQFMZiA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ULfAFvYIo4kefH6stSr6XVisjycs3F2wp0Q1rb6HjZ8=;
 b=Fsbwshz8xAf+kBt+oGGhf5v/T+RWjDBWima6tvYKWo09ihjfUGHW8rHW+6xb2DbmUdHTT4/rJf1EFHwUDqQWkuNNln2jK2HefzyLX3xDtj2EnZRLp/hxFepBXKWoU7H6Op5N6E6mxtskumMIuaSSPb/HXOdZlQOfsBZHFkMPMkc=
Date: Tue, 11 Jan 2022 12:26:24 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <amc96@srcf.net>
CC: Juergen Gross <jgross@suse.com>, <xen-devel@lists.xenproject.org>, Ian
 Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Jan Beulich <jbeulich@suse.com>
Subject: Re: [PATCH] tools/libs/light: set video_mem for PVH guests
Message-ID: <Yd1pYC5kQA1t/j74@Air-de-Roger>
References: <20211203073058.10980-1-jgross@suse.com>
 <4176f64e-fdb1-8d23-d226-bde5e473883b@srcf.net>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <4176f64e-fdb1-8d23-d226-bde5e473883b@srcf.net>
X-ClientProxiedBy: MR2P264CA0057.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:31::21) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 0298e616-28e5-4c04-06db-08d9d4f53728
X-MS-TrafficTypeDiagnostic: DM6PR03MB4393:EE_
X-Microsoft-Antispam-PRVS: <DM6PR03MB43937D0DBE510FCA8FFC8BC98F519@DM6PR03MB4393.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: 1SU8Ih7DKeKBE7XwF1G3BxYpgaNLdSDIAVN6ESOfjVdPPa4kUQG+VjhblaLPbYbTCpBfRUbYl6QMVgvPdme0OJVPR6G7lVlWWTC3K7WqoVL3qUvcUcAYjwcnLg1zVpNlg4QzwzFWJ+lEdLKRqRqidoPLvBjfRDtlyzGqSgTVzakFUJ5JwzcMTR7IaL5W++9vQCKRUp37A8oRG3jTOB22Z4PE0jAfVM76kivBJhJ2EroZN0uKXby33psUVwvqXdvBScMZXG2YxKW95GfUXKlANJJTOFVNC4BsWqIFOT514oTqDUy64kK9GMIHvjkit8E+CPbLQ4UJlHgOIX1T4vDn+tao7U9nzD5R9kFpYeW8iosklBOwUgXijBk3FWghzyK4JeAtWL9ef/FLPOOyb0ZIjAGWq1Ekm+Vj7lXyuGSAtf/YaRWq2VPugcUWXjtx0Y7Y+RMngtrWjVkcNPc1cWy/VC9SxXO6BRW7o6ZyVeJgjHeGFnyb0Iw58sGNAfXl2gh/gLl9ocCM8VCyF0LaXOHmzoNUHGSJevxEHnynWncTCzufOc5nNWEn3dFjVD66RQhg/DptnVZ4FaiTWItHltS3YGjs5Joxqg7wGaYCfUWQKfN16RBjHFY/HSWJQorDNuhb7ZcSfrQX0/NJHUL+rTkLfg==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(6486002)(66476007)(186003)(66556008)(86362001)(2906002)(66946007)(9686003)(26005)(82960400001)(85182001)(6512007)(5660300002)(6506007)(53546011)(54906003)(316002)(8676002)(6916009)(83380400001)(33716001)(8936002)(6666004)(508600001)(38100700002)(4326008);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?YkZ1YWY0UHBSckllNjNYdEw1clBUUnUveFphOEZhUFhmNWtZc3h6cm42MGNW?=
 =?utf-8?B?Vkg1NU9wazVVeXdPN1MwdnYyZVFVR1FpaUhlVHJpSkUraG9TeEVldU9jZExx?=
 =?utf-8?B?NEQvM2hNeCtkMS9QUzFzdVNJaWUyMUpFR0dkT1R0TGgxbjJ4cVVWWkNQa2JJ?=
 =?utf-8?B?a2E2UGZMNmZ0SGZHM3pYdmpIWDk5cWttV3dGRVZCOVQwTmFLd2VzODZPN21F?=
 =?utf-8?B?eS9KZS90c3ZxK3VEZ3BTcHZFaGx3QWczMklZTFdkbTYrbVFrYlV1WklSVHo3?=
 =?utf-8?B?T2ZXYzg2Y1hldUNTNGlMZGUrcVV4SnUyWFE2RmFNN3gvcU80Zlo1V0hJQjdj?=
 =?utf-8?B?aFV4RDRZeU00ZFRadEVlcGxZNWZwQXlvQ3pqVUxOYUQ0clpURXdVb3FMY3h3?=
 =?utf-8?B?MDRvNFpDbjJERlk0cVJ2ZkZ6Wmxtbmw4YUR6ZWozTWZBZFkyR1RIbEwzbHcr?=
 =?utf-8?B?eUwrMHpzL2xPSGQrSExuSU1tK3poRGRjajdZcTFwV3ZpbHlXY0M4MzM5SE4z?=
 =?utf-8?B?VnZhNGVkNHo3akYxZXJ4cTgxVUNFcHkyR0lXRDhHL1NGYW4vN2tmTExJR0xX?=
 =?utf-8?B?UkVtL01JMkdhWFVxYUl1b3RDU21OTS93VjZqU3RLNkdTTVFiRnVtRldYelB0?=
 =?utf-8?B?YllwbldFWE1XS1laY1lWUDc3MDRVbUE3aG9lUUxJVGJyem14aHI4aVBoY1F1?=
 =?utf-8?B?VDVnSXdpek1VcHF5WEZvSFhPNzlDZ1ZxY1ppaDFCTXNUaVU2MVo3eVpqa3hz?=
 =?utf-8?B?c1kxRmhsbUQ3T21XUm9JZVRCeWYvMjlwbFpjRG5PNXhWdHdiOE5hZE5CbGhw?=
 =?utf-8?B?alZzcmU3cElzNmVRazVWNzlQVTU5d0dGRUZFcVkrenBqTFFoNkIvRzNIMDNN?=
 =?utf-8?B?YjJkSDdkRFcwU3RLSUt5MWNUc2tNK2VMSkxUQ0Z1Vy9BNFpMTVkvaGJGL0VU?=
 =?utf-8?B?MnVpTk9EdUNxbW1hSWZ3SnBpaXFha280aFdsYjRBZ2l4MEg0WlBOWDF5RFZm?=
 =?utf-8?B?eUc5TXZSZkYxU1I5di9Ec0RtSUZRcnJYMkQwV3ZhT1dwaHNNbldVQU1JVDVS?=
 =?utf-8?B?eHJXRGJFcEs2VVo2TUNwTTB6STZuYS9WOTF2R0ZlVElXNUxqOE9XVEhDdjQ1?=
 =?utf-8?B?UDNZR3Z5YW5jYzdlM1BkdUZBSEVXWkc2MG4zQXV1a0ZXSVBXeFIveDd2eTRh?=
 =?utf-8?B?enlnZ0dzdnNKVG9SZ0lQdFlUOFFIb0cxWno3WWpvQzlpV1IvM21sMWNLbGFy?=
 =?utf-8?B?TEJxSXlaL2xTU2piSVJ6STV4anZuTGlRQWtWOHdlU0J4OTJoc1BnUFRJS3F2?=
 =?utf-8?B?S3F1c0Z1RXhZUE1CaEJrMzlNZk5xUXprZUoyR0VDTkJYNEJHUU1LdTA4ZEVN?=
 =?utf-8?B?SnlGZ1FhcDRpSnlkZWNySEJIYzBJWlVlZGovVUlEWEF2dnkyL0l4ODJDcjI1?=
 =?utf-8?B?dTN5NWRiaHFQd2phMmFqWGJwMngwZDhwdlZpS1Z6aFlPZ1YrL29XYXUxcUFz?=
 =?utf-8?B?UW9ROUJtVi96SUthdU1jSllLNzdEenhCQjhyK2Q1U0dZNGNsWlk2T2d3SlNY?=
 =?utf-8?B?ZHFWbVVCclpmMHVKajl1MHdJQ0xWYUdaR1NxN0puTUI5SXBKVFFjL2JPS0kv?=
 =?utf-8?B?YTZleHlUQjNiVXBjMkhnUXhKZ0x0dWNLemFKbC9zUVpHNHFjY3VPcVlvOGxT?=
 =?utf-8?B?ZVJxS0NZZ0J3eDZ5eFNLQ09abkdISW9wd3FBczhQZVRqdTNGOHBuWlhycDZO?=
 =?utf-8?B?SXBhRndiejJtakhtT0dUVE9iOFRoYnlteHBoUjMySmZseDJwTjJSUmVYV0pk?=
 =?utf-8?B?bzFZWWtreWN0dXRVM2V1QjFOemNrbG5ycEt2NEs3Wmd5K3JkRFRjeTZxRHZX?=
 =?utf-8?B?NXIzQlNMYUxaSE9WRmwyWEZpNlpKM0N6MTMwVmJ3OW0zK0Z2NzgwOVFxa2Ex?=
 =?utf-8?B?V2lTMERtaXE4a3hqcE9kZnVUbUlDMjFXWUhaUGdqeWdZWkJ0UXQzK0lZL1Bq?=
 =?utf-8?B?aXV4ODd4UDFPb3hMWkdHeFFyVWlZVUx3Y3AzZFVBMndqaGpmdGR0blBLN01a?=
 =?utf-8?B?WXJhRCt5b1I2Vnp0VEhQUlFXNUFkTWRDWFlncWtQQmN2YlpEUDRaS2lTWkRq?=
 =?utf-8?B?Q29NREp6UHZHZkdzUmpFMmY0K29SaXdzTEVVT05NZGk3NnNCMEpHMDl1UEF2?=
 =?utf-8?Q?it7WkyYKiRj9EyaPX7J2w8Q=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 0298e616-28e5-4c04-06db-08d9d4f53728
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2022 11:26:30.9269
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: nbrhlCty/KLAqhLcjbEgzZa9MO6SZ/3H6Rc9KsrzvAi8EqVMLO7JBRWqNdbAKh3/6OnBRy+WwXcPc+USIDRPIQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4393
X-OriginatorOrg: citrix.com

On Wed, Dec 08, 2021 at 02:00:48PM +0000, Andrew Cooper wrote:
> On 03/12/2021 07:30, Juergen Gross wrote:
> > The size of the video memory of PVH guests should be set to 0 in case
> > no value has been specified.
> >
> > Doing not so will leave it to be -1, resulting in an additional 1 kB
> > of RAM being advertised in the memory map (here the output of a PVH
> > Mini-OS boot with 16 MB of RAM assigned):
> >
> > Memory map:
> > 000000000000-0000010003ff: RAM
> > 0000feff8000-0000feffffff: Reserved
> > 0000fc008000-0000fc00803f: ACPI
> > 0000fc000000-0000fc000fff: ACPI
> > 0000fc001000-0000fc007fff: ACPI
> 
> The patch itself is fine, but some further observations based on the
> memory map alone.
> 
> It is rude to provide an unsorted memory map.
> 
> The LAPIC range is required to be reserved by the ACPI spec, missing
> here.  Conversely, it's unclear what the reserved region is trying to
> describe.

IIRC those are the special pages used by Xen console, store, identity
page tables, ioreq...

> Of the 3 ACPI ranges, one is RSDP (the first 64 bytes), one is the info
> block (4k), and one is the ACPI tables themselves.
> 
> RSDP really ought to be merged into the same block as the rest of the
> ACPI tables.
> 
> The info block must not be marked ACPI reclaimable RAM, because it is
> referenced by AML inside the DSDT/etc.  This is a very serious issue if
> the OS actually exercises its right to reclaim those regions and use
> them as RAM.

There's no DSDT on PVH, but I'm unsure whether it's also marked as
reclaimable RAM on HVM which does have a DSDT. Last two blocks should
likely be ACPI NVS I assume.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 11:26:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 11:26:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255689.438195 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7FIJ-00082q-In; Tue, 11 Jan 2022 11:26:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255689.438195; Tue, 11 Jan 2022 11: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 1n7FIJ-00082j-Ex; Tue, 11 Jan 2022 11:26:27 +0000
Received: by outflank-mailman (input) for mailman id 255689;
 Tue, 11 Jan 2022 11:26:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZWkq=R3=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1n7FII-00082d-AB
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 11:26:26 +0000
Received: from pb-smtp20.pobox.com (pb-smtp20.pobox.com [173.228.157.52])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4c9b9ffb-72d1-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 12:26:23 +0100 (CET)
Received: from pb-smtp20.pobox.com (unknown [127.0.0.1])
 by pb-smtp20.pobox.com (Postfix) with ESMTP id 4EA38182890;
 Tue, 11 Jan 2022 06:26:19 -0500 (EST)
 (envelope-from sakib@darkstar.site)
Received: from pb-smtp20.sea.icgroup.com (unknown [127.0.0.1])
 by pb-smtp20.pobox.com (Postfix) with ESMTP id 46EAF18288F;
 Tue, 11 Jan 2022 06:26:19 -0500 (EST)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [95.67.114.216])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by pb-smtp20.pobox.com (Postfix) with ESMTPSA id B5BC018288E;
 Tue, 11 Jan 2022 06:26:16 -0500 (EST)
 (envelope-from sakib@darkstar.site)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4c9b9ffb-72d1-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=pobox.com; h=from:to:cc
	:subject:date:message-id:mime-version:content-transfer-encoding;
	 s=sasl; bh=C2gvrDaIP/qIIMWdeVG2fXwCMoogfeMZMUj8caL6/l8=; b=pjEl
	bL8/+TTOrtN6Z/BNTTAXrVoMJ2SHbD+3yy6vPTqn3V7EobzOGPaT7Q2UlvGUxb6p
	z5cIfStOZdcLKDZd/QXw/v/7/KkksghjeRv3BNH0SU2JxDU9ksgHBUeZussX+tgy
	8uPeYsHVC+v1sbVs3vJnaUrENeEb/N04xeb22Lw=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Andrii Anisov <Andrii_Anisov@epam.com>
Subject: [XEN PATCH v3] xen/arm: introduce dummy iommu node for dom0
Date: Tue, 11 Jan 2022 11:26:11 +0000
Message-Id: <20220111112611.90508-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
X-Pobox-Relay-ID:
 4AA3904A-72D1-11EC-ADAA-C85A9F429DF0-90055647!pb-smtp20.pobox.com
Content-Transfer-Encoding: quoted-printable

Currently no IOMMU properties are exposed to dom0, thus kernel by default
assumes no protection and enables swiotlb-xen, which leads to costly and
unnecessary buffers bouncing.

To let kernel know which device is behing IOMMU and hence needs no swiotl=
b
services we introduce dummy xen-iommu node in FDT and link protected devi=
ce
nodes to it, using here device tree iommu bindings.

Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Julien Grall <julien@xen.org>
Cc: Oleksandr Tyshchenko <olekstysh@gmail.com>
Cc: Andrii Anisov <Andrii_Anisov@epam.com>


Changelog:

v3: rebased over staging & remove redundand phandle_iommu attribute, disc=
ussion:
	https://lists.xenproject.org/archives/html/xen-devel/2021-12/msg01753.ht=
ml

v2: re-use common iommu dt bindings to let guests know which devices are =
protected:
	https://lists.xenproject.org/archives/html/xen-devel/2021-10/msg00073.ht=
ml

 xen/arch/arm/domain_build.c           | 42 +++++++++++++++++++++++++++
 xen/include/public/device_tree_defs.h |  1 +
 2 files changed, 43 insertions(+)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 6931c022a2..b82ba72fac 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -845,6 +845,12 @@ static int __init write_properties(struct domain *d,=
 struct kernel_info *kinfo,
         }
     }
=20
+    if ( iommu_node && is_iommu_enabled(d) && dt_device_is_protected(nod=
e) )
+    {
+        res =3D fdt_property_cell(kinfo->fdt, "iommus", GUEST_PHANDLE_IO=
MMU);
+        if ( res )
+            return res;
+    }
     return 0;
 }
=20
@@ -1479,6 +1485,38 @@ static int __init make_cpus_node(const struct doma=
in *d, void *fdt)
     return res;
 }
=20
+static int __init make_iommu_node(const struct domain *d,
+                                  const struct kernel_info *kinfo)
+{
+    const char compat[] =3D "xen,iommu-el2-v1";
+    int res;
+
+    if ( !is_iommu_enabled(d) )
+        return 0;
+
+    dt_dprintk("Create iommu node\n");
+
+    res =3D fdt_begin_node(kinfo->fdt, "xen-iommu");
+    if ( res )
+        return res;
+
+    res =3D fdt_property(kinfo->fdt, "compatible", compat, sizeof(compat=
));
+    if ( res )
+        return res;
+
+    res =3D fdt_property_cell(kinfo->fdt, "#iommu-cells", 0);
+    if ( res )
+        return res;
+
+    res =3D fdt_property_cell(kinfo->fdt, "phandle", GUEST_PHANDLE_IOMMU=
);
+
+    res =3D fdt_end_node(kinfo->fdt);
+    if ( res )
+        return res;
+
+    return res;
+}
+
 static int __init make_gic_node(const struct domain *d, void *fdt,
                                 const struct dt_device_node *node)
 {
@@ -2127,6 +2165,10 @@ static int __init handle_node(struct domain *d, st=
ruct kernel_info *kinfo,
         if ( res )
             return res;
=20
+        res =3D make_iommu_node(d, kinfo);
+        if ( res )
+            return res;
+
         res =3D make_memory_node(d, kinfo->fdt, addrcells, sizecells, &k=
info->mem);
         if ( res )
             return res;
diff --git a/xen/include/public/device_tree_defs.h b/xen/include/public/d=
evice_tree_defs.h
index 209d43de3f..df58944bd0 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_IOMMU (GUEST_PHANDLE_GIC + 1)
=20
 #define GUEST_ROOT_ADDRESS_CELLS 2
 #define GUEST_ROOT_SIZE_CELLS 2
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 11:41:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 11:41:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255697.438217 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7FWo-0002W5-A4; Tue, 11 Jan 2022 11:41:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255697.438217; Tue, 11 Jan 2022 11:41:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7FWo-0002Vy-5C; Tue, 11 Jan 2022 11:41:26 +0000
Received: by outflank-mailman (input) for mailman id 255697;
 Tue, 11 Jan 2022 11:41:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1Jw/=R3=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n7FWm-0002Vs-H9
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 11:41:24 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 633b11f1-72d3-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 12:41:18 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 633b11f1-72d3-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1641901281;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=HBAeyB6pBf2zzgmjH4/b19PdHZ7UWw5tkWqitFhy9CI=;
  b=RuMQ44LMkSNine/Y70BD+vQdyG/Uc3uzMqwKD8e6JIcCDB286lTNZJxN
   ChtUr2TaMajVeNfq5ZK+ev3fv+N3O+ZEoG+zi5Mayn9t9oBwxxqlbHQlx
   oqEH2QQgjhHNypfLsV19daxpFLn7NJerTUsC2uGhLooz6NSf2sbcukyGY
   8=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: huc5QjMXPplabH5vi8Noa7x2WYChMmG8Hk52vF+pLXKC4yzun3f2OFUZekowkb/KP6OlNeBep3
 NThlLmOgGXt85utF8Jo9R++MhDqyOIOefYSAzlmRzqwREa5G5gGXnP/vIGLNU+NWUGSELzUmi8
 gz20TTjUqHbiMRY9SBm+7sqkzlbf8RjMv3m9Z7D2PYI41h450RAkSwPRsvOLyDHfociqVB2s89
 onDxSvJbY97KgaVn3TUyhF/qwMnRnC1XEQmE5LFn5j+WyT+eVoSv/0WiNCk74t+eBaQ2hPkmxJ
 pcVpDCw5Rr05Bg0Znnh6OXXl
X-SBRS: 5.2
X-MesageID: 63848580
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:+4N3FKq31LJYyTdfonj+qQ1/20BeBmLqYhIvgKrLsJaIsI4StFCzt
 garIBmCP//eYjD9fN8kOoni8hwCuJeDytA2HFRp/309EClA9JuZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlZT4vE2xbuKU5NTsY0idfic5Dndx4f5fs7Rh2NQw2IHgW1rlV
 e7a+KUzBnf0g1aYDUpMg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJ8DO+iL
 9sv+Znilo/vE7XBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XnRfTAKtao2zhojx/9
 DlCnZC1SV0gBZbQpL4ibUNcGAFzAohe4ZaSdBBTseTLp6HHW37lwvEoB0AqJ4wIvO1wBAmi9
 9RBdmpLNErawbvrnvTrEYGAhex6RCXvFJkYtXx6iynQEN4tQIzZQrWM7thdtNs1rp4VTaqOO
 ppBAdZpRDbETQZyEAoPMYsdoOGnoVjRXQJFtHvA8MLb5ECMlVcsgdABKuH9e8OIbdVYmF6Co
 WDL9Hi/BQsVXPSPxDzA/n+yi+vnmSLgRJlUBLC+7uRtglCY2ioUEhJ+fVmxrOS9i0W+c8lCM
 EFS8S0rxYAt8GS7Q9+7WAe3yENopTZFBYAWSbdjrljQlOyEuG51G1ToUBZNbdx8vfQNWQBw6
 WHTm9jJCANKqKS8HCf1GqivkRu+Pi0cLGknbCACTBcY79SLnLzfni4jXf44Tvfr04Sd9SXYh
 mnT8XNg3+l7Ydsjiv3jlW0rlQ5AsXQgouQdwgzMFlyo4QpiDGJOT9z5sAOLhRqswWvwc7Vgg
 JTms5XGhAztJcvU/MBofAnrNOvyjxpiGGeN6WOD57F7q1yQF4eLJOi8Gg1WKkZzKdojcjT0e
 kLVsg45zMYNYCL6MfcuMtrqVpxCIU3c+TLNDKu8gj1mOMkZSeN61Hs2OR74M57FzSDAbp3Ty
 b/EKJ3xXB72+IxszSasRvd17FPY7ntW+I8nfriil07P+ePHPBa9EO5ZWHPTMLxRxP7a8W39r
 oYOX+PXmk43eLCvPUHqHXs7cApiwY4TX86m8qS6t4erf2JbJY3WI6SAnuN6Jd00xvQ9eyWh1
 ijVZ3K0AWHX3BXvAQ6LdmpiePXoW5N+pmg8JisiIRCj3H1LXGplxP13m0IfceZ1+ep94+RzS
 vVZKcyMDu4WEmbM+igHbIm7p4tnLUz5iQWLNiujQT4+Y58/GFCZpo66JlPipHsUEy66lcoiu
 Ln8hAnVdoUOGlZ5B8HMZfPxk17o5SoBmPh/VlfjK8VIfBm+65BjLiH816dlI8wFJRjZ6CGd0
 gKaXUURqeXX+tdn+9jVn6GU6YyuFrImTEZdGmDa65ewNDXboTX/kdMRDr7QcGmEBm3u+aika
 eFE9N3GMaUKzARQro5xM7d31qZitdHhkKBXk1Z/F3LRYlX1Vr45eiua3dNCv7Fmz6NCvVfkQ
 VqG/9RXNOnbOM7hF1JNdgMpYv7aiKMRkzjWq/80PF/79Gl8+7/eCRdeOByFiSp8KrppMdx6n
 bd96ZBOswHv2AA3NtumjzxP8zXeJ3MNZKwrq5UGDdK5kQEs0FxDPcTRByKeDEtjsDmQ3p3G+
 gOpuZc=
IronPort-HdrOrdr: A9a23:OraXE6wZDKVN+DIzLjexKrPw1r1zdoMgy1knxilNoHxuH/BwWf
 rPoB17726RtN91YhsdcL+7V5VoLUmzyXcX2/h1AV7BZniEhILAFugLgbcKqweKJ8SUzJ8+6U
 4PSclD4N2bNykGsS75ijPIb+rJFrO8gd+VbeS19QYScelzAZsQiDuQkmygYzZLrA8tP+teKL
 OsovBpihCHYnotYsGyFhA+LpL+T42iruOeXfYebSRXkDWzsQ==
X-IronPort-AV: E=Sophos;i="5.88,279,1635220800"; 
   d="scan'208";a="63848580"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HiA98JMe2igvD92OX9r+7TIeecBTX5MdnfUIK35VHRTUa4HqVeeqTG9sjS2WaKSlgviw4LWwfXefLWlg58INnByOIHaO7vT46kpOejk/T68tEdIVszOQKGlQ2MFkZkht5SI67qQroZhdgsquWZQLG/z89R+V2xVx9K+PvQCjpIYXao7siIiwkVKS7s97JVysS/+JxYW7UlLHLgZG/1np0Ib/EUwgR3o/XEb+JLX5HHriaWQfmX40pcj1AUEowE92kWf7DPwtFlD19LcLnjJkirHNCAH/BebbfXtXdLVLxjLWrgIoZ5F9m0VwNIU5xXFbUF5aaFsi0qUNnr+1ztOz0Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MKifjQwupusyRFhelBISVhrtOo/r3bJGYOlLYLiNANs=;
 b=oDw2Q1dUcQuPmxFkROAhwmGUIXOWLslTb2FK8PxCsKKxrk9ND4HcByqY8ZmadUzP3rW31to/WeeWehaPeo/w3O49N/t2nwTvmpdh6f+ETKCkClbbGNGZOSUVS7vqFmwCpbXOOI6eCQg1MRA2RQbQcophERDp3RKIDiJniKLv0xDtCD/mAvcXoXPmKN7AOESPoMLdUSjzA3VN31XXFx36T3VzYLD5F22VCXCA/TdpP+Zsnoy6uNnTnD6pn+AhF9BoN6GoljvkNLcM3emJiq5AkT4L6Lql4mAGk1jv6pLgmE7x16HuqfhJoHeLIu7hKOZWCl6R8LUX1V296cv9J7vwXA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MKifjQwupusyRFhelBISVhrtOo/r3bJGYOlLYLiNANs=;
 b=WX5kHLPMUCW3sPvhCW4vVjLhxoT+gjeMfpyMmei1u71nJ30T24iGL7orhmz81OFlsw+Hqk3SLWabBwvQXT3wfWmtF4p/zpkzSZGUOmNPrvabQ/slUZKqR6CislLubBQbpeg5gVhDuKs6YQ2zBc3G1lfn4LYADieyC/uzkLsqFCI=
Date: Tue, 11 Jan 2022 12:41:10 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>, Ian
 Jackson <iwj@xenproject.org>, <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v5 04/12] libx86: introduce helper to fetch msr entry
Message-ID: <Yd1s1p1DNN0doPIs@Air-de-Roger>
References: <20211129153355.60338-1-roger.pau@citrix.com>
 <20211129153355.60338-5-roger.pau@citrix.com>
 <545f5185-9cd0-63cb-3519-470d587e12ea@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <545f5185-9cd0-63cb-3519-470d587e12ea@suse.com>
X-ClientProxiedBy: MR1P264CA0048.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:3e::17) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e3a8edd7-b0bd-4fc0-530b-08d9d4f74701
X-MS-TrafficTypeDiagnostic: DM5PR03MB3371:EE_
X-Microsoft-Antispam-PRVS: <DM5PR03MB3371930C424BD2433A96A77E8F519@DM5PR03MB3371.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:2331;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: AbeRoAPybdO0r5UcpHojd9kFTlZ6nIgbrcQQH52jxw6Zgh329DIDKL1ZpgMw4eTi59iV99YsbdIfmQl3cmjelTQU99CJldqaikF6i8CIZDY/AiinchEmIgzQWw9RcrXCwuBqgUMZfUHqwVczeMkGQZuSa+njXjkw+XfETS9uQkYl+XlXnJqvewKKqc3f0hUgsWrlXOrWHYBnlYMrkS8tRqmHkUzvtA78idWXEtPPkGDy1Gi2HMikuPfq7DulGFp0ZAubz3ZnHgYSkTL45Q3C30t3N5SvFqZdYEM2CKgXNHD5WjAkVvxb9Ltq3tGxjIz9rPQzn8kW0ZMAZPbbzhMHvezFFbm4h/++jeMVuPKFma7lx8jqwhfuvVMaiTOwbxFUde/1X3AZ7heTL4uu8WGcr0Sd6qGvES3e5482vUxzIyqs7DaWEMrtmBDLGORbvATpO0Qpeq8BJrw4IXNTYXK+hxwWc1CIQzwYL+LW7Oc4KKowLMnE/AiJdYiRMkZX1IvcHQeNVCl4t9GMT2aa1SapwgpdNOJyJC7fXq0euvHjS96Fnj8TFjxywwQ1wkvNYC5dxiCJkAxKa5GYJzLw3QT8NA0eUxmlzZDnxSJr1TzNUwA0B7j4dbKNYyIJsczpqWMxAu3eRZRy5ZNyNcXyQzbfow==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(316002)(66946007)(6512007)(53546011)(6506007)(66476007)(9686003)(5660300002)(6916009)(6486002)(66556008)(8936002)(54906003)(186003)(26005)(508600001)(4326008)(83380400001)(8676002)(86362001)(85182001)(82960400001)(38100700002)(2906002)(33716001)(6666004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dDNMWktEQndMVHhDNS94Y29oUThibUtSYSsxVk1saGp5LzFGS2t6QjlzMk1Q?=
 =?utf-8?B?dEhCYlRRTmM5T1g0eHU1UXdkdzNOaDFqb01VcnRxMkliYXoxWGV5djVERC85?=
 =?utf-8?B?UURpYStHa1l6SG1jME5VRkM0N3FmSjNKQjdUTlZsYVZNNFZjd3pQUVE4bi9m?=
 =?utf-8?B?WC9QQWVCSjFpVUZPYzA0aXJFcHczVjJZQ2xuUDRzUncwWmtWaE1xSUtZaWhm?=
 =?utf-8?B?Sm5Bc0hyZXVNMGlrcEdvOVlTQ3J4S2creXB6TkhSdnhENWY4UzBYK3JtWkc3?=
 =?utf-8?B?VGtpem1WTE9rWUxzS0p0bVV6UUNrcUpRTWFDRjJrY2lSTzFlSFB0L1RETGgx?=
 =?utf-8?B?Sk9lWlVhQTI5NTJGODZRVlY1NDEyQlgyTE9nNEt6dEFqRDM4VDk0MnBCMVhN?=
 =?utf-8?B?QmxsME1HZktlQkU2alpoQnpPYU45U215ZWFvNkNXS09hSjdGZDh2L1BXNFdh?=
 =?utf-8?B?SUd6QnFjRjFjd2x2WVhkY1B3eEliZWtlaXhtL3hqemhKcy9UR3ErdHM0VVI1?=
 =?utf-8?B?RDhjSGJ2Wkt2bXEyZW9TeXNZUzA0NTlCMEl6OVREdVJ4RVFWdHJpU0djbW9o?=
 =?utf-8?B?WU1qYnZMVjl3bGxwVHlhNUdXMjU3UFBEQjQvaFZocWNiYUR0MzdGSitrQWc5?=
 =?utf-8?B?WGxXSVAvdUNyOXFPZjI3Z1M1SFRPVmlnRGM2ZVp4NUxPWEJFTDRxby9DT2E4?=
 =?utf-8?B?cHIvQ1RDRUZPQUsrbGdCZ01Rcy83OXZ1SkQ5N0ZwUjczVFhVY1JpeWEyMTFC?=
 =?utf-8?B?ajllZXpGc0s4aTBIRHNhakExajhVSGJmVnNVdWFSckx1ZWoxQ21lRUhFNW9w?=
 =?utf-8?B?M3IrTWVhRU9YeSthQU91MUdOeFBVMlZsYklCZkg2ZXZJOGNhRTlCdFBQS2R6?=
 =?utf-8?B?cVkwY0FrckRrbDFROEpzOHBCcklPZVhFVy9HemcwazExQVBIdVpJb1RJU3Z1?=
 =?utf-8?B?LzI1cUtIUkpyYWFYNmd3cWdva1FjOVcrc3NleHJJenpnNXV2dUEzTVBNek5V?=
 =?utf-8?B?THV0clRlcmY4UTk2dFhpWUlhQjV6UU1zczVwRkxLdTB5bHZvNlBBVm5UallL?=
 =?utf-8?B?TWFGS0wvanprd21HYVBKbXpMUVYzTVdoL01EM0VZaEgzaVBBRk5Nd2syVm9a?=
 =?utf-8?B?WUtQeVJhaVk3RHdqZEpZSlludU83K0NrblJjL0Fnam16QlVJK01JU1U1cmd4?=
 =?utf-8?B?eEhoYUN0a1dLSitJWnBmWE9iNURwMVF0eFdVdzdKK3JOa0w1cThLNm1kU1d4?=
 =?utf-8?B?Q1RlM2JzZmVOWUNiVWxhb0gyNzF1aU1FTksvWWpZWDhKMHhIS1ZER3YrdjNk?=
 =?utf-8?B?SG9nWWYra29DRWpkTXpVbFdPRWVHWU0wQ2hyRE14TVk4dDFNTWVzc3NSc1Ni?=
 =?utf-8?B?b0xuUWR0bUVnVGRmUGxUOWxkQVFjSktCQ05SemNZTHQwM3U0QWhrYzBxbVhN?=
 =?utf-8?B?dGpDYkFjVFhzbFFmRWpnVlc4KzNCQWU2MTUyMmd0VU95b05qYTM2U2Zuekkz?=
 =?utf-8?B?ZkhiTkd1VnB5WmxHRDBwcUtkdC8weHZ1UHZKR2xhVFd1dUJldEs3aEMxc0J4?=
 =?utf-8?B?QjZEVDh4MFdBek16eWNONjB1K2ZDZkRveFBlMEhzUzRJQlpMTWhLY1JTbk5t?=
 =?utf-8?B?aDFDU08wUmFZZGZKbGd6ZHBRVlBWWm1OWTRxSVZWTVd3K0I1eE9ORkZ3RzFj?=
 =?utf-8?B?TWFjMzVTdHpSNzEwU3c5Y0lUWTFxK2g0YW9ZdXdUa2szelZVVWU4WXFFMGwx?=
 =?utf-8?B?K05pVjVWaXF6bmtlUTdETXdHWHo1QzlNallZQjVhTUFHVW1hSmp3bFZiTmtm?=
 =?utf-8?B?akJ6NG5TMS9nQTAxUWdCa0VJeHV0R0UzN2FiSnZuaEJMM0IraXhISGlNbDhL?=
 =?utf-8?B?aVVjTEE2emFBZ2ovSFZmUmFFTWliSXNaVzBFYkIrdWJ4SlZBSGhYbXdROGdv?=
 =?utf-8?B?amRxNFNwMzdQT05WRkVIVVZqeUMwTXpMbFV2Zk40MnMrbnowT3ptUVdndmto?=
 =?utf-8?B?OGI5VXd5aDNySDNybVN6ZUdjRE9wdURGd0hNV0I5VTZBTlgwR3FISUhwMlNN?=
 =?utf-8?B?Zzc5L0t4Tk5oWkNqdU03R2pFRkdUZFdSOWYyMVFmZm5SYmdpeHhNTVU2NHJQ?=
 =?utf-8?B?OGFGSndYVUNDdVB6L2cvOERhVDhDZVNZbVRFaCtJM0E2c3VYRjczaXVSSHNw?=
 =?utf-8?Q?M6Matv0sKkr68uak/oP92uw=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: e3a8edd7-b0bd-4fc0-530b-08d9d4f74701
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2022 11:41:16.5258
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: TtDnBz0RwEcLoUEBb87SjGzHQ2w+R8o6v40NRrTo8wkmRpDQFrOTQsqpTj8I3iLSngmvdHc4s7hiyM845agwDQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR03MB3371
X-OriginatorOrg: citrix.com

On Mon, Dec 06, 2021 at 03:34:18PM +0100, Jan Beulich wrote:
> On 29.11.2021 16:33, Roger Pau Monne wrote:
> > --- a/tools/tests/cpu-policy/test-cpu-policy.c
> > +++ b/tools/tests/cpu-policy/test-cpu-policy.c
> > @@ -386,16 +386,6 @@ static void test_msr_deserialise_failure(void)
> >              .msr = { .idx = 0xce, .flags = 1 },
> >              .rc = -EINVAL,
> >          },
> > -        {
> > -            .name = "truncated val",
> > -            .msr = { .idx = 0xce, .val = ~0ull },
> > -            .rc = -EOVERFLOW,
> > -        },
> > -        {
> > -            .name = "truncated val",
> > -            .msr = { .idx = 0x10a, .val = ~0ull },
> > -            .rc = -EOVERFLOW,
> > -        },
> >      };
> 
> Why is this removal necessary? I don't think any of the additions further
> down actually replaces these.

There are no longer overflow errors, since the field in msr_policy for
both MSRs is now 64bits after this change. I've tried to explain this
in the commit message:

"Note this requires making the raw fields uint64_t so that it can
accommodate the maximum size of MSRs values, and in turn removing the
truncation tests."

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 11:44:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 11:44:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255701.438227 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7FZS-00038k-Mg; Tue, 11 Jan 2022 11:44:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255701.438227; Tue, 11 Jan 2022 11: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 1n7FZS-00038d-JW; Tue, 11 Jan 2022 11:44:10 +0000
Received: by outflank-mailman (input) for mailman id 255701;
 Tue, 11 Jan 2022 11:44:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1Jw/=R3=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n7FZS-00038H-0L
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 11:44:10 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c83903a6-72d3-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 12:44:07 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c83903a6-72d3-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1641901448;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=swTiBcew5f1ZQCIe2OMHSkt97flWlMQ40y4znYp0LCo=;
  b=BTnngSTk1lxNC8OCT3pbZC0R5r0rGxSRigaaX3vZBbfjls0C/Lo9a9YI
   z+FAoIDPSg2lnI3fgbcc0LHQLwVAXH2jRbXe3MeQK5VPL2Lh/Roz4bYY4
   27dofnyIdDSjHrdEB5AuG/S79Nz75Ij2R9o1fIXD/adhirjNHPNFs/BGc
   k=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: X45VAQLh80GIkcZqHvJEx6ALdKDu2Uh1jg1S+ek1tY/XtXvabXUN7hG6hntAScw7fQokfUypKO
 xzQMwpcXoOsbm4Aqr+wZfj/GNv5JFkm3iI7vWjtzdp+J1DkygktX+jE6d7e4q28XqM0BXnimJD
 gFQecBnUZ9WGm7B4bq+HnWIeV4yhMvXQ8Tp5zt9QnWtMXZYA3mZVUsYwojCR0UQMMkKI4CQk9J
 i3dTIwY+b0ey+6Boj5T1kuQ0GdIsVnmhc9PhNuBDG+btDQcBVZQ/faI7BjbBJrNRgRbH+roZ1s
 4R2t8ehgorErR0pxBESTTwJy
X-SBRS: 5.2
X-MesageID: 63848711
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:820zeau8jLumMRGizQWGzFb5HefnVNtZMUV32f8akzHdYApBsoF/q
 tZmKTrXOK7YajShedAnPYq+9hhQuJSGzII1QAJk+yo8EH4X+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZQP0VOZigHtIQMsadUsxKbVIiGHdJZS5LwbZj2NYx2IHhWmthh
 PupyyHhEA79s9JLGjp8B5Kr8HuDa9yr5Vv0FnRnDRx6lAe2e0s9VfrzFonoR5fMeaFGH/bSe
 gr25OrRElU1XfsaIojNfr7TKiXmS1NJVOSEoiI+t6OK2nCuqsGuu0qS2TV1hUp/0l20c95NJ
 NpliJWMVh8AZff3t/UMTRVoC3whN41bweqSSZS/mZT7I0zudnLtx7NlDV0sPJ1e8eFyaY1M3
 aVGcnZXNEnF3r/ohuLgIgVvrp1LwM3DJoQQt2sm1TjEJf0nXYrCU+PB4towMDIY2JseQaaBP
 pNxhTxHaj+fcj4MMG8sB8w6s8aRmGmjQyADtwfAzUYwyzeKl1EguFT3C/LXdcaNXt59hVuDq
 yTN+GGRKgEXMpmTxCSI9lqoh/TThmXrVYQKDrq6+/V2xlqJyQQ7Fxk+RVa95/6jhSaWWdhSN
 kgV8SoGtrUp+QqgSdyVdxynolaUsxgEQd1SHuYmrgaXxcLpDx2xXzZeCGQbMZp/6ZFwFWdCO
 kK1c83BODVTr6W8Eiim2aaFsz+CIXVKJ08fXHpRJeca2OXLrIY2hxPJa99sFq+pk9H4cQ3NL
 yC2QDsW3OtK05NSv0mv1RWe2m/3+MCVJuIgzliPBgqYAhVFiJlJjmBCwXzS9r5+IYmQVTFtV
 1BUypHFvIji4Xxg/RFhodnh/pn0v55p0xWG2DaD+qXNERz3oBZPmqgKsVlDyL9BaJpsRNMQS
 Ba7VfltzJFSJmC2SqR8fpi8Dc8npYC5S4i8BqyMN4sWOcUpHONiwM2ITRTLt4wKuBJ9+ZzTx
 L/BKZr8ZZrkIfkPIMWKqxc1juZwm3FWKZL7TpHn1RW3uYdyl1bOIYrpxGCmN7hjhIvd+V292
 48Ga6OilksDOMWjPHi/2dNDfDgicClgbbir+pM/SwJ2Clc8cI3XI6WPkepJlk0Mt/k9q9okC
 VnmCxAIkwSu1CSXQehIA1g6AI7SsV9EhStTFQQnPEqy2mhlZoCq7awFcIAwc6Vh/+tmpcOYh
 dFfEylZKvgQGDnB5RoHapzx8N5reBix3FrcNCu5ejkvOZVnQlWRqNPjewLu8ggIDza26pRi8
 +HxiFuDTMpRXRlmAebXdOmrkwG7s08Clb8gREDPONRSJhnhqdA4Nyzrg/YrCMgQMhGflCCC3
 gObDE5A9+nAqoM46vfTgqWAo9v7GudyBBMCTWLa8ay3JW/R+W/6md1MV+OBfDb8UmLo+fr9O
 bUJnq+kaPBexQREqYtxFbpv3JkS3dq3qu8I1BlgEVXKc0+vVuFqLE6Z0JQdraZK3LJY51e7A
 xrd5tlANLyVE8r5C1pNdhE9Z+GO2PxIyDnf6fM5fBfz6CNtpefVVExTO1+HiTBHLaszO4Qgm
 L9ztMkT4g25qxwrLtfZ0XwEqzXSdiQNA/c9q5UXII73kQ56mFhNbKvVBjLy/JzSOc5HNVMnI
 2PMiafP71iGKpEur5bn+aDx4Ndg
IronPort-HdrOrdr: A9a23:Wqmcoar7+zmFsNCYkvIXR1EaV5vJL9V00zEX/kB9WHVpm5Oj+P
 xGzc526farslsssREb+OxpOMG7MBThHLpOkPMs1NaZLXLbUQ6TQr2KgrGSoQEIdxeOk9K1kJ
 0QDpSWa+eAc2SS7/yKmTVQeuxIqLLskNHKuQ6d9QYUcegDUdAe0+4TMHf8LqQZfngjOXJvf6
 Dsmvav6gDQMUg/X4CePD0oTuLDr9rEmNbPZgMHPQcu7E2rgSmz4LD3PhCE1lNGOgk/i4sKwC
 zgqUjU96+ju/a0xlv10HLS1Y1fnJ/ExsFYDMKBp8AJInHHixquZq5mR7qe1QpF692H2RIPqp
 3hsh0gN8N85zf4eXy0mwLk303a3DMn+xbZuCilqEqmhfa8aCMxCsJHi44cWADe8VAcsNZ117
 8O936FtrJMZCmw0xjV1pztbVVHh0C0qX0tnao4lHpES7YTb7dXsMg24F5VKpEdByj3gbpXXN
 WGNPuspcq+TGnqL0ww5gJUsZ+RtzUIb1q7q3E5y4KoO2M8pgE686MarPZv6kvouqhNDqWs3N
 60QpiAoos+O/P+XZgNddvpfvHHeVAlYSi8Rl56cm6XXZ3uBRr22uzKCfMOlaWXRKA=
X-IronPort-AV: E=Sophos;i="5.88,279,1635220800"; 
   d="scan'208";a="63848711"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=F+V1C1QNOruarva65dsAMe7cSGwzO/XG5CaXNIyZMrrdHH0tIXAA+MUM9T5bwzmKv/9tbbeYIaEmQu/MpTwdi7hTValQbUi8C1tNjJJD9fKMZ+U7gAYTWUFLqJCpcWgG+4CaWFRm/KeGoZQJd0FLd27ZwoJR+EBY3/I57N8TnOFyc698l4zBDBY28P8lgADA5jtxby8STC8BMO1OvPHgATQPfdf8UiklSROTDxmacWxifHyRjjVXlUji5KIqVNhjhfg0T3o4x6hxGfHwnj0Xbi5QXU7lksA+IP2xdkUJHcK+2yhhtNwsjXEFDlTAkpvoK9q7dpnUgaxn9sVJLEQ0Gw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yp4jrTsCCvkgGLA8Y52FbPggkwNCfXkkJ/HXFoFzxSs=;
 b=lVx441YJWi2Pvr7abeeTXKF8MdCp5vjsbosWRIgb5IPHcEcY5uKj3JN1YWek6s9s96fCwBoN98Eweik8NbFObCKtI1hwt+fdkWUFqrfM3hcYkpL0J5eSEUae/8IlRrbCD6n2FeuBpm/zBxxFdl3lh+yocO7l314qTVsgpQGfgUZo/y24Vgsu9cP27jNnd/4Clu+p4UzxV32ec0tCsCFavzfBmlNyOOL3kbgG53eftavykuVGANvpV/LKoqpsDzWXCyjPbMt0WQ+bvcgkChPJtP9MImjPZmC3jPI/AlZHv14yYLARLhEdse8Z/ozODnD6mxIaETO6Kt4dPOUq/r00Ug==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yp4jrTsCCvkgGLA8Y52FbPggkwNCfXkkJ/HXFoFzxSs=;
 b=XCfU+799PlzPUJM269ktrlHf9C0ljZoGXXnvPYcXGX8YlCYAPYMTtDg6bsYoYs/Yv4TuiUXXaGDOd92P0+/pisKdVHas2VveiOSmugtDmS86OeKrlkVoNlvYz+YvdQmg1SmzCP96vCTy8L49NwUGqtxgwgTYooUOPSnaUMGI830=
Date: Tue, 11 Jan 2022 12:43:56 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>, Juergen Gross
	<jgross@suse.com>, <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v5 03/12] libs/guest: allow fetching a specific CPUID
 leaf from a cpu policy
Message-ID: <Yd1tfEpCAzeNAF5Q@Air-de-Roger>
References: <20211129153355.60338-1-roger.pau@citrix.com>
 <20211129153355.60338-4-roger.pau@citrix.com>
 <3a7c19ab-5454-fa04-f167-f94d56398b14@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <3a7c19ab-5454-fa04-f167-f94d56398b14@suse.com>
X-ClientProxiedBy: MR2P264CA0087.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:32::27) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 702d47b1-451d-4574-0c90-08d9d4f7a9ba
X-MS-TrafficTypeDiagnostic: DM6PR03MB4476:EE_
X-Microsoft-Antispam-PRVS: <DM6PR03MB4476961FAA8EACEF3D53A5748F519@DM6PR03MB4476.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: MGffHINqMAGyQiaZeJhC3VgR7VNHcnMx2iCmvjaYGLCin+oefTX59g6+Dnqzqk6vYeH+BJp4V3aJXIw9sDWZGg+PN5m+vnqz8GJYJc3ISaorE/PuN35eppJJt90NHu+aYrxUgBxHpZrfDEmOOVHJXH2QXP0oFJfIK0PfOyMMZoP5a3wXl+ex46gR4+PUHYFTV7IuDC9l4QzB/SXLOZxn/U9pvrCQkGz1oR9a/3i743BTU+dRupGW7TJ1KCcmP6BgX676gOadEr0b99OC7ZFC+gQ96a0L32a9FzD0ml7DmkDtK0yyFZszNN3G8xrMCuqm7LXlSWTVVcBjnRDmsudHa2CPfj2cVN2ShFonMLBEfa1WmJ81EEjgFxqzGE+RTNNlyCeh/LtA+IOBQrda5jFlYB7WWjIltWmDjntTZaSZbbvvgWnbisCOFZoiiPNAvHbsjtGlemOaasDBty5aUOBTY+sZGqjCNnAphiejiXgDpoF9irfLqabusNc5CR3fx1PqTXaud5cBT7VO9N/pZ3b9lYxw/wWoDdY9xeKl0Orfg18dCEgC9UHHaNZKBuY3iCrDNxQ68WRlseTTIGHnSO7KxY2G6G6pzyLj0+rlnOzAUJmMh4MdVYq7632XicbPKIuuqpXBc0uBXSFSSPJm+QXV7w==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(6916009)(85182001)(83380400001)(38100700002)(82960400001)(86362001)(33716001)(508600001)(66946007)(6506007)(54906003)(8676002)(5660300002)(53546011)(66556008)(66476007)(26005)(316002)(6512007)(4326008)(9686003)(186003)(6666004)(6486002)(2906002)(8936002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZjJnaXJ3eGhuelRvZCtuN2JBUm4vc0Z0VXN4NVU4OUxMbzhHU1dRcFJEVm00?=
 =?utf-8?B?eExrRnBxdE1hUVJ2aERpVGpIek5ZMEJGeStySmUrMDZuSlF2TFloa0lzWVV6?=
 =?utf-8?B?RXdJVHpGY0p3VTVEYkdSRnVlc3JFT0FpSUppUDFMSy9sREQwTHZxKzN2emg3?=
 =?utf-8?B?WUhzaVcxMC9GMHlpLy9DZ0JHK3RTanFVbU91T3g1V2gvVmJrcFRhVGVPNlBm?=
 =?utf-8?B?dHZZdEFNZEViQWxxUjZoWjBVQnMvWUpsZHFGUmVJWkVYbXJCbHRCWlhHYnBL?=
 =?utf-8?B?SVlnYlhtQ3d1MHplWnlPaXJZWHJVNkJWQ3RCQmRzTnc2SXZqNm9wdGlqc1dB?=
 =?utf-8?B?MlJaTGcrVTB6OS9xU1h0bUNWTGFEdzJBQlhwZnJyT0xUdDhremVJY0cvUTRp?=
 =?utf-8?B?Qm1LYzNOWlRZZy81Sjg2OEdXOVhpNlVudTNkQWMwMCtNVmQwalJSNEFYVUpE?=
 =?utf-8?B?TDNUTWxvS1lXSkU5ZU5zR2llMFVXVWFVN0FaZHRHOTNid0NULzRaR2FTTjZs?=
 =?utf-8?B?Wmx4ak9FZ3F4RmloQU5KSFFDbHhUTGFsU2ZXNGF5TTl4am9BRXNLbmd6ZndU?=
 =?utf-8?B?TzFBSVg0MElOOEtRLzgrZXczd2JKeUI3dDY5SVJlOU8yNTdVb0dnUG5pTGVU?=
 =?utf-8?B?NjVTMDVwc1JFZnVUSG5CVTlwNFh1VHBZSTBWZTNYZmZtOW9VdmVkRExHRHdw?=
 =?utf-8?B?UktEVUhGNnl5UVpYMHlMaXh6OUI5RmVMbjNiZWZyWXdNeno3czJDRFBoc3FF?=
 =?utf-8?B?eHpwUDN4QXora0xVS0FHRTN4ZS9zdTJZdnNmYWhaRDI5NENsRklraFFCdE8z?=
 =?utf-8?B?cUJUNmxFblUxYU9Lb0NUSjlTVGNuOHFMa1ZxZUZqVDNmei9aakxOaFNudE94?=
 =?utf-8?B?UlN1c0t2clQxZUluTHlZMGkzQlh2ZU41Qm5wYVNWTGc4NzBlYkF4cjNYOU5Y?=
 =?utf-8?B?MWZzZWdjc2pUaDRRNnNnSHJ6M3gyRVlZSDNKUFNUVVFNdUtBVTlNYllrSGVO?=
 =?utf-8?B?MWVycHJOa01Bc1M1QkFUd3RrNHRKYWJhTmRNUk02RUdFbDNGUENPaDJCUndU?=
 =?utf-8?B?b2NwMDFYVGhBbG5NaVR3anYvR0J6YXgwZ0ZUaVpTdGhNRDN1alp4cjZtYW4x?=
 =?utf-8?B?WEEyK0R1T0pYWFFCT3M1bEVEbUN4WWVlUTFNeXV1SGlFWVlUS3lzRS85ajJV?=
 =?utf-8?B?UVJjb1BJOVJmYWc2amFsZFhPZzF1QmMvQU9aRmlQMVBzSVJTUEVrQldLditB?=
 =?utf-8?B?Ri9vbDZWOGRTcWNwcVBHcGFpMER6Z3hIVmZVUGZoRE96TlE5N2JYaFd3ZWgr?=
 =?utf-8?B?K294b2Vud3VSa0NnQzB1dkFBQTJEakxXNnJnNEw3a0MwckhWdzJtcHVJSmRT?=
 =?utf-8?B?SHlKdEZzY01SV2hCL3MwSzRVTDlZTnVWaW16OVZPbEtPV3pVRkgzbDRNaXM5?=
 =?utf-8?B?MEQyZWxrcDdDMXlBODYxc2pDeVR1cHgxYzV6RXRDbVZtVVFGcUJRU3pHbDdW?=
 =?utf-8?B?cjQ0T0tROGtWOC9YLzhxN24ybTVYWloxL25EWVdwWFF6N3Fpd202d29jZmVt?=
 =?utf-8?B?THF6bGl6Mm1OZlRFYXhML04xVUVMR1Qya1Bxa3lVQXQ4RVlqRE05M0pWTEZG?=
 =?utf-8?B?eERWMWdQVnZxaXg2TW11ZmZneHY2K3Z2d0RxY205d3d1d2pXV2VsSDZvYjN6?=
 =?utf-8?B?TFJtUjNYaHRVdmE0SlZjSjk2YnJVck4wakVPcTZ2V3RPaHJ3NFdJdlFoRk1S?=
 =?utf-8?B?UUZuWmtrUjBYVE8rTkp0cUkzZXFkQjhwdksyRFRFUzM1VURCQjlRblNkUmFB?=
 =?utf-8?B?OWQ3NEkvMENSaVpmODRYRTQ2VDJGOFRRZ0hUWEVNbDZyMVpnU2VEMGY3ZFBw?=
 =?utf-8?B?azhiUVNzcUFaRWFtS0xxUmNVdDNhSG4ydnlhVG5LM2NtYldQMkFnVHVLb2ZT?=
 =?utf-8?B?aGNLRUVpeHUydmtmMTZ6VmtCVXJabzlLNldVWG04UnJxeEUwUWZKM0Q2Wmha?=
 =?utf-8?B?Tkt6YVJiVlhGaUx0TE1Wb0JRdytyOFo4M1M4cW5PK2ZTUlB3NllFUzcyU2Jo?=
 =?utf-8?B?NlJ2dEJ6Zmk2OVpVUUJKbzRtV0F1OVBBMlVmSVRlL3lSRVVQRGFrRkJnaHhW?=
 =?utf-8?B?dXF6TjFVWEhGajBqcVlyYThub3lkSUhCVVlreXIvNkwzMDRuWXAwVTFaU05H?=
 =?utf-8?Q?DKxdJ8iEZnTFQ1mLAZwHW2w=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 702d47b1-451d-4574-0c90-08d9d4f7a9ba
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2022 11:44:02.1219
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: nn6fFc0atpV7ebNlpN8FOu1dO1L9sxz0OUVQTh1IQlocj6u9Z2R0Lew0dz8EXEZnvk3Z5MzoYilxZ+IOaPGmBw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4476
X-OriginatorOrg: citrix.com

On Mon, Dec 06, 2021 at 04:25:36PM +0100, Jan Beulich wrote:
> On 29.11.2021 16:33, Roger Pau Monne wrote:
> > Introduce an interface that returns a specific leaf/subleaf from a cpu
> > policy in xen_cpuid_leaf_t format.
> > 
> > This is useful to callers can peek data from the opaque
> > xc_cpu_policy_t type.
> > 
> > No caller of the interface introduced on this patch.
> > 
> > Note that callers of find_leaf need to be slightly adjusted to use the
> > new helper parameters.
> 
> Is this sentence a leftover from an earlier version? I can't associate
> it with anything.

Yes, looks like. Will remove it.

> > --- a/tools/libs/guest/xg_cpuid_x86.c
> > +++ b/tools/libs/guest/xg_cpuid_x86.c
> > @@ -855,6 +855,29 @@ int xc_cpu_policy_update_msrs(xc_interface *xch, xc_cpu_policy_t *policy,
> >      return rc;
> >  }
> >  
> > +int xc_cpu_policy_get_cpuid(xc_interface *xch, const xc_cpu_policy_t *policy,
> > +                            uint32_t leaf, uint32_t subleaf,
> > +                            xen_cpuid_leaf_t *out)
> 
> Is it common practice in libxc / libxg to have xch parameters even if
> they're unused?

I think it's good practice, as if we ever need to add to use ERROR or
similar from those functions we would require xch, and it's better to
avoid having to change the interface later.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 11:46:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 11:46:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255705.438239 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7FbE-0003it-37; Tue, 11 Jan 2022 11:46:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255705.438239; Tue, 11 Jan 2022 11:46:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7FbD-0003im-W6; Tue, 11 Jan 2022 11:45:59 +0000
Received: by outflank-mailman (input) for mailman id 255705;
 Tue, 11 Jan 2022 11:45:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1Jw/=R3=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n7FbD-0003ie-7Z
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 11:45:59 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0840d934-72d4-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 12:45:55 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0840d934-72d4-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1641901557;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=zQLombefq8WBuZusJs270nFXQ9dXIg9hibuZtnbfBtY=;
  b=aBr5kOXP8jFNPST77tqxyvzj0mIv5jywn9pYJZTcwLCd7FydIWY1jKBs
   7uRL/OGO0AqyPZm3iQH78FwDQcM501ONvAJHfFCxWQrJTARyP8V5Yzrte
   664OEK4H8K+mGBQxSwu/kmqdICYUur7PFLm+jlUD/W0rpzytW/qE7IHXq
   8=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: rNc5iZC2jVIIVwxiVIeteXI3+OnS49YBt4d8o9+3YKGSnz6bN8DMKijv17DvMlJbGrvX2aBfff
 Azbr3CmGqJgXS6q4G9ssuMNjGMTyzyL4r1wIbTsJKOV2sMkfn/jESu1QzMomAUdjPBTa0ZE16l
 dPpeyXmL+l9yxPFB8CiQaF0P88gmjdvVzi4mTBRjHYNh6cE00xlPnozsFP+WHnI8LdozzSolto
 ekASvlfziu+p5wFTXvwJSsHCWATiW7cY++ZXATfX01EyPrKgyvGk8u/8APi2yVXC2nN/bSBKiE
 bLIgLtK/dqUbDDB14G+cSsmx
X-SBRS: 5.2
X-MesageID: 61729341
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:eUfU6qNp4b+6hynvrR0okMFynXyQoLVcMsEvi/4bfWQNrUok0WMGz
 mEfX2rQbquPNDT9co9+YNiw801Q6sOEmNc3SAto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdpJYz/uUGuCJQUNUjMlkfZKhTr6UUsxNbVU8En150Es6w7RRbrNA2rBVPSvc4
 bsenOWHULOV82Yc3rU8sv/rRLtH5ZweiRtA1rAMTakjUGz2zhH5OKk3N6CpR0YUd6EPdgKMq
 0Qv+5nilo/R109F5tpICd8XeGVSKlLZFVDmZna7x8FOK/WNz8A/+v9TCRYSVatYo2qGrcB62
 MRCjqHzCg4ABaOQhsAsaRYNRkmSPYUekFPGCX22sMjVxEzaaXr8hf5pCSnaP6VBpLwxWzsXs
 6VFdnZdNXhvhMrvqF6/YvNrick5atHiIasUu216zCGfBvEjKXzGa/uTuoUJh2tp7ixINa7yY
 pE6Th5LVkvdfUxPOnpLVYwdgPj90xETdBUH8QnI9MLb+VP7zgNr16P2GMHIYdHMTsJQ9m6Iq
 2SD82nnDxUyMN2E1SHD4n+qnvXIny7wRMQVDrLQ3uFuqE2ewCoUEhJ+fVmxrOS9i0W+c8lCM
 EFS8S0rxYAz606DXtT7Rwe/onOPolgbQdU4LgEhwFjTkOyOuV/fXzVaCG4aADA7iCMobWMl5
 E+Cj8LmPgEs87S8cnzB6JOllzznbED5MlQ+TSMDSAIE5fzqr4cykg/DQ75fLUKlsjHmMWqum
 m7X9UDSk51W1JdWjPvjoTgrlhrx/sChc+Ij2unAsotJBCtdbZXtWYGn4EOzAR1ofNfAFQnpU
 JTpdqGjAAEy4XOlyXTlrAYlRujBCxO53Nv02wUH834JrWXFxpJbVdoMiAyS3W8wWir+RRfnY
 VXIpSRa74JJMX2hYMdfOtztUpR2lfGxTY+4Dpg4i+aihLArL2drGwk0NCatM53FyhBwwcnTx
 7/GGSpTMZrqIfs+l2fnLwvs+bQq2jo/1QvuqWPTlHyaPU6lTCfNE98taQLWBshgtf/siFiLr
 753apXboz0CALyWSnSGquY7cAFVRUXX8Lir8aS7gMbZfFo/cIzgYteMqY4cl3tNxPUKxryWr
 yDkCie1CjPX3BX6FOlDUVg6AJvHVpdjt3MreysqOFejwX84ZoizqqwYcvMKkXMPrYSPFNZ4E
 KsIfduuGPNKRmiV8jgRd8Cl/odjaA6qlUSFOC/8OGozeJtpRgro/N74f1SwqHlSX3Tv7cZu8
 ae90g77QIYYQ1gwBsjhd//ynUi6umIQmbwuUhKQcMVTYkjl7KNjNzf10q0sO8gJJBianmma2
 g+aDA02v+7Ip4NpotDFibrd99WiEvdkH1ocFG7etO7kOS7f92ul4IlBTOfXImyNCDKqoP2vP
 LwHwev9PfsLmEdxn7B9S7s7n7gj49bPpqNBylg2Fnv8cFn2WKhrJWOL3JcTu/QVlKNZowa/R
 mmG5sJeZeeSIMrgHVMceFglY+CE2a1GkzXe961ockDz5Ssx97ubS0RCeRKLjXUFfrdyNYokx
 8YnudIXtFPj2kZ7bI7eg3AG7XmII1wBT74j58MTD4LcgwY2zk1PPM7HASjs7ZDTM9hBPyHG+
 NNPaHYuU1iE+nf/Tg==
IronPort-HdrOrdr: A9a23:hDZCbKNeuCM2xsBcTyP155DYdb4zR+YMi2TDiHofdfUFSKClfp
 6V8cjztSWUtN4QMEtQ/uxoHJPwO080lKQFmrX5WI3NYOCIghrLEGgP1/qG/9SkIVyCygc/79
 YfT0EdMqyIMbESt6+Ti2PZYrUdKZu8gdiVbI/lvghQpGpRGsddBmlCe2Km+hocfng7OXN1Lu
 vV2uN34x6bPVgHZMWyAXcIG8DFut3wjZrjJToLHQQu5gWihS6hrOeSKWnT4j4uFxd0hZsy+2
 nMlAL0oo2lrvGA0xfZk0ve9Y5fltfNwsZKQOaMls8WADPxjRvAXvUrZ5Sy+BQO5M2/4lcjl9
 fB5z8mIsRI8nvUOlq4pBP8sjOQpwoG2jvH8xu1kHHjqcv2SHYREMxan79UdRPf9g4JoMx8+L
 gj5RPXi7NnSTf72Ajt7dnBUB9n0mCup2A5rOIVh3tDFaMDdb5qq5AF9k89KuZNIMvD0vFnLA
 BSNrCd2B4PGmnqLEwx/1MfjeBEZ05DUCtvGSM5y46oOzs/pgEM86JX/r1bop46zuNMd3Bz3Z
 WwDk1ZrsA+ciYoV9MPOA4ge7rANoWfe2OEDIqtSW6XZp3vfUi976LK3A==
X-IronPort-AV: E=Sophos;i="5.88,279,1635220800"; 
   d="scan'208";a="61729341"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Da7tNfpN3Oc44pyyIOe3/36RscLsTcRPcF0vUgAem9W5vCf/l3ZV8CyeBKtlHBYoDfBClSk+AleJuAEFqUGXMj6kPRhzyo+uWTcFTdkc4Ujsw3GE6/x6HTaa68VWGJe9gFVl34kSscyUgv/oa+B/qUeERkqYIaIxVLxRX7W6znYD4lXT6zMsXxMYXXHgRASVdXAXZ1nvfs09V7z1bs9nq9zbbVbrw4KgEDiMKh7cjxtfZuSGjA3bL5wITkVH6Tf49Ym3d5OIeGO9wQF8ey/jCDzxlEp3aq7Ht9kTTa1kPwUHWBkCKc6/Nl20ehI/6YOw10+OQqpc1j2IfWCagAfTxA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=P6P822Vxo5HdzqJSK86yHAzW8bg9tOrpVCq1Cd8R/f4=;
 b=GiN9vksrasRlP3cjGulluBofMqRnGntQgdjKFDXGJBxkQTZ2r5X7HlwW5M6blgJlR9pAT1a/4WgkaUYhdachgNneZhP4Dha5fdYJru8Qeljwwdv+OpycjDhEzedcTn6syg8vDLDQnO5WOiaFEl9G+/+K/o0+2mQooKRi1MLQwS6c8hH1rcDPM7eKw3JbQYywwSWcVQyPRxq/hL/19nurrLcR/47YLMaiKkVq2Skq/wCFJZ9kxnR4PoeE8P2kan0lWYNBiz0dtqPJ13V6YESs5GSj3t8xKxAv1bTJgA1R9rVc+l0xYXD0lkWQEKMSXTtjxDkdp8naJQNygEeNPOxeIQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=P6P822Vxo5HdzqJSK86yHAzW8bg9tOrpVCq1Cd8R/f4=;
 b=XuTZld+BcMj+XiSZiWVQIS8o+nCTdOc2peUb83XPv9apImcvPuhMetAt8xjIHzDC8zl7vI/EXwV56opNoPtmS1fZLdcZm4jgF3UoxBBrGhOWlX3nBQxp8IOniRZHplI4gx8PyGVwR8RYmV/02IzSgeBJYWNbXn1MuIJudDVUWps=
Date: Tue, 11 Jan 2022 12:45:49 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>, Juergen Gross
	<jgross@suse.com>, <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v5 05/12] libs/guest: allow fetching a specific MSR entry
 from a cpu policy
Message-ID: <Yd1t7Uhem/233ckk@Air-de-Roger>
References: <20211129153355.60338-1-roger.pau@citrix.com>
 <20211129153355.60338-6-roger.pau@citrix.com>
 <f7c427b9-2564-dc0a-d03d-411df83ba9c8@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <f7c427b9-2564-dc0a-d03d-411df83ba9c8@suse.com>
X-ClientProxiedBy: MR2P264CA0189.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501::28)
 To DS7PR03MB5608.namprd03.prod.outlook.com (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 917f5000-b73f-4b62-d3f3-08d9d4f7ec5c
X-MS-TrafficTypeDiagnostic: DM6PR03MB4476:EE_
X-Microsoft-Antispam-PRVS: <DM6PR03MB44769DC26FDA5010E99C5A1D8F519@DM6PR03MB4476.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: q0cNLLBkU+aEQXiAsxomUiBknbh97qHaIX4zQ2DEFxnXubMdNlExhlQfm7KZZhUB2FVPMlOyLnNTqeJbU9nMhd6zOPnl+vIUmUSGc0LKGaPr0eHYbaDn9J3audKstz9e21QaleVaZ7pMsyK96Z+sGEUV2yymsjgc9yAwJ1NdIWW6N4oPfqfTzE0CQhB4URwXrsKbT4Dzl9pMPaYMJxkkBdGfNYevyB71yMSPl/KFqzjz833uZUA11BX0a2flKTXH8YDocubqlPgsh+LYzFubbV1/Y4MhtfNJiLZn5EOr2u+EMZCkCx3jpVevzSEKX38QZW1ooL2EoYJUDEuRdb0RhoJ7YzqPVVlUgHXmN09vWILqSt9/BTGNa7tpOD0p9QcgoEeF3BZ7dGBkHIeN5N/NpiZZ5fOe0ygX3abFrPQfnU+WMZeDuQ/ik79l6ECptw22ZOTY2ahKX59E4DBhCZ4ZChKo5WrzmmW/zGiyW+zBfE6ah7LnmB9EMAYFCjTl6U4obQLrxw4VI5og4OmgIfqCS9q5qdtSZ65alsHeGnJcdxkW58FPueaJPY1GgaGjDklk9fhkR29ae0tupfZUZQVCUW4cmoNxFJMakZxBih7a17lJrEvksXE3KGaerl8IaIfcVwIg//paID1LooPtQANGBg==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(6916009)(85182001)(38100700002)(82960400001)(86362001)(33716001)(508600001)(66946007)(6506007)(54906003)(8676002)(5660300002)(53546011)(66556008)(4744005)(66476007)(26005)(316002)(6512007)(4326008)(9686003)(186003)(6666004)(6486002)(2906002)(8936002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?b0JmMFVKYTU5QzFETnkyaEpDRWJOVFlNc1hQRFM2WWdCOUZ4Qmk2ODAwM1Bl?=
 =?utf-8?B?RlZCOWY0Q05PNjczUHlvRFJnZEp0a0VCZzNOTzVhZWtWbzg1aHpOVFh3S2hC?=
 =?utf-8?B?SDFvRDh0T28vZFVyZ1h6dDBXRzZ6anNUa1dkakorM2pLcWlWQ25CSmJKcG81?=
 =?utf-8?B?R3BCcGV4ZS9TSCtnblAzUDhVUEs0cVVkMkRKU05PWTVWUzlqMmx1NFZWWFdR?=
 =?utf-8?B?MlRRUHcrZ09FemxLTW5LOFRtVzNQVjFRQlpvSEkxVE1RMjhRNEYzSCtPSkgw?=
 =?utf-8?B?a1FOTDZnaEo2ZU9jQjRncURqT1NGMTRtWG56QndUTWJ2dURFb2lyNjAySURi?=
 =?utf-8?B?WUNwOG9JekJuUzNYODhMK0FWbUNwb0xQUDUyMDM3c1RWS01BczFLM1ZKTkta?=
 =?utf-8?B?RkNRVjJKZnBOTVpXVGxYRWhXd1dwYS9OcldyR3kxdnVJNWhUUitKdC9PL0Fj?=
 =?utf-8?B?cFQwYUhUVHdTYnFmNkFXcEZESzR1cjgzWUJWYW5uZzd1S3hIaU4yUXNncWFE?=
 =?utf-8?B?aWNVT3NFYnBEcGk0dUhYZm9QbW9tdU40V2lCRm9wVDIrTDhPRFYvWEowL2Yr?=
 =?utf-8?B?OTByRlo1VjZ2QzZ4SHdvdFp1RTFrenVCWERVanNMNVlrd0dNTXpuemk5K0xD?=
 =?utf-8?B?L3JCd2VqR3U3M3pJWi9mK3lEaWV1Z1VRSDBGK1FOTnlja2R4UEpjTCswbzA5?=
 =?utf-8?B?SGNmMTVaa3ZVY2Y3bTVETHpvSnRjN01xVEljTHZUUTNHNStpTXMxZjE1NVRW?=
 =?utf-8?B?b1cyRE5aZ1d5bDhzQllaOU82TldYVDhZSVI2VWFMUW5rWm9zVGdHZlRLRCtx?=
 =?utf-8?B?N3BmWlI5UXdyZVcyQW1VRHNzeDVNU0NyYkVlRngzTElMaEl1eW5YNE1jc3gx?=
 =?utf-8?B?bFpDUDBXUlprQ1h6Q3NPYlp3cjJjdDJJV3JMeUNEUkN0MytiYlJVRnpWQkY5?=
 =?utf-8?B?d3pXQ3FETXlBNGJrZko2QUtTT0s2Ryt6UjFCOU4yWWlnQThxZEhpdFlTVG9G?=
 =?utf-8?B?bXhMUi9yd1RIb000OThoKzFUcXR3dDB6YnI4U0l3b2VybC8xVHlDT2dIY1dI?=
 =?utf-8?B?Z092Z0l5LzRhanExVzhmYy8ydmpsQnhDTm5USlpJKzJwT0NrTmQveGlQZDR0?=
 =?utf-8?B?a3UrdTJZRW1IcVZ0WWt4VWprdWNJV0JVQUE4QnBoV0F1SzNXaUxHTEQ3NG9V?=
 =?utf-8?B?b0twUUllQU1KUUFHOEhiSTQzQlpFS0I4ZUZxSGFBbUFkNjBmWVNCdXpMdkdF?=
 =?utf-8?B?RVZmOHFqUUZRejNXNGphRjcxT2J2M29WUTREYjV0ZXZOdURNQnN0Q3BNZEdC?=
 =?utf-8?B?OERTQ29hdno1dVhmTlMzOTFuRnMvRlc2Z01IOUtUejRIcERTNkhzQzBuVVZq?=
 =?utf-8?B?bHdyeHFZdzJNQTJpaFVCVTRjWVdGN3hlVXZuOGVjcmRJWlFaM1NtTXlJWVc1?=
 =?utf-8?B?VVA5TU8za1pMS0VWU2F4YzFkNFNTN2dXdWQ3VFpDVWthVlpNMFVDN0RYUHE2?=
 =?utf-8?B?bHVrQTc3czRsczlWNGQwaGJVNm5BQnM4M01LejlKSE1BV1MyZDRsbi9TNkhz?=
 =?utf-8?B?b1VOWmxvREozMyt2dUZDWEc4bUh6MFhBRnQyL3dLQWNsSGN6bjMyYVRERlBB?=
 =?utf-8?B?bzdlVzhJVlZ0ZXRoZWwxWmZ4M0JhQnJyL3VkaEpxc0NXZi8rT3F3cnhaWnpw?=
 =?utf-8?B?NWttd0EweG9nVGZsdjR6Ym1yR04rNkJuZkdQQ2hqc1VGMVRpd01pVmlMZjg3?=
 =?utf-8?B?d0NnQ2gvdlNtQk1lZmR5a2J6WjM5NjJyMGdxWUhtbUZmWWJqbmdRNTdna1FT?=
 =?utf-8?B?RzZmUFJyN1IxUW1zczlNbGg3bjRMR1RzSjJQMm9MbzArdGtkV3hpKy8rK2pH?=
 =?utf-8?B?eXJjcVlGZXFYdW1DTVE3Z1R5TFJFa2lTSlVwUE5ROW9jRXlVOUh6Y3RaVDA1?=
 =?utf-8?B?VHhCTjJ3eEpYWmp0TjFOS2VJYm9GdUtpaTdsV1U0bUlUd1JEaE5ReW5LNE4r?=
 =?utf-8?B?NkVQUzVIcjZUWlhmY3ZXNU80WE5aSXY5OHpYUThUOGtRYnZ5alhwSklmWVlX?=
 =?utf-8?B?RElVMlR6MHc2QU5xSnhZQkFpN1p1YWxaY1FuSmFWS25ja0dzMUprcHJ4Wm41?=
 =?utf-8?B?WHNpQ2VQVU5yYkNVMUkzRWMzS0ZUWnhYeHhlaFNhZ0tNOENuclczTjg5dlF0?=
 =?utf-8?Q?OcgjM+rGfKgCq2G4o4e0rjU=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 917f5000-b73f-4b62-d3f3-08d9d4f7ec5c
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2022 11:45:53.8090
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: pgik42k4XgfDAIp/ZodLirll1AeLnpQRUWyjcjjb187/1R+QV+rUeO+yEMF50MSkPpAK3OFhoGVmTsZlHsuOwg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4476
X-OriginatorOrg: citrix.com

On Mon, Dec 06, 2021 at 04:27:25PM +0100, Jan Beulich wrote:
> On 29.11.2021 16:33, Roger Pau Monne wrote:
> > --- a/tools/libs/guest/xg_cpuid_x86.c
> > +++ b/tools/libs/guest/xg_cpuid_x86.c
> > @@ -878,6 +878,26 @@ int xc_cpu_policy_get_cpuid(xc_interface *xch, const xc_cpu_policy_t *policy,
> >      return 0;
> >  }
> >  
> > +int xc_cpu_policy_get_msr(xc_interface *xch, const xc_cpu_policy_t *policy,
> > +                          uint32_t msr, xen_msr_entry_t *out)
> > +{
> > +    const uint64_t *val;
> > +
> > +    *out = (xen_msr_entry_t){};
> 
> Unless there's a specific reason for the divergence, this just-in-
> case initialization should imo be consistently there (or absent)
> in both the MSR and the CPUID function.

Right - will add the initialization to the CPUID function.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 11:50:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 11:50:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255710.438250 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Ffg-0005BB-OK; Tue, 11 Jan 2022 11:50:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255710.438250; Tue, 11 Jan 2022 11: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 1n7Ffg-0005B4-L3; Tue, 11 Jan 2022 11:50:36 +0000
Received: by outflank-mailman (input) for mailman id 255710;
 Tue, 11 Jan 2022 11:50:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Wgp4=R3=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1n7Fff-0005Ay-2g
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 11:50:35 +0000
Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com
 [2a00:1450:4864:20::32c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id aee92124-72d4-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 12:50:33 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 p1-20020a1c7401000000b00345c2d068bdso1255510wmc.3
 for <xen-devel@lists.xenproject.org>; Tue, 11 Jan 2022 03:50:33 -0800 (PST)
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 v5sm7510208wrq.80.2022.01.11.03.50.32
 for <xen-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 11 Jan 2022 03:50:33 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aee92124-72d4-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=message-id:date:mime-version:user-agent:reply-to:subject
         :content-language:to:references:from:in-reply-to
         :content-transfer-encoding;
        bh=3mjT8uOUaXwZAM7qHYhSjQcF0WApQ0VfQpUdQMCTHNY=;
        b=PUuH9JUfrtKJPZovJfBszrTCuqXEqKzhgcNcSMeOh8MhjiK1abWBj3EzDwxWvIpFXT
         jdqcfICz1GEW1x0AKS1Rp0jnsSLln3IYuUMAnnwdsUUnZxd+d0SUNe4bhMBXPOOfb7C5
         4hMrhV7sC27kqoDkfECHoKU9sX/r/j/O+34H2+rFFBLrxDMDJHl1uN0fhvqTCuN6lTRA
         NisA8EuRazVCqKtMnwXeyVTXCNCClg1dloNmcCh0/jNjKsP8wBA2gEwj43MytFifj2P/
         sn1KuIOiH81+3X/uKi/hYkOmYBmQ+10j9waAaVhspMpnsQxnq2G1xn0hsaa8Bv56TLKa
         Hx2g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:message-id:date:mime-version:user-agent:reply-to
         :subject:content-language:to:references:from:in-reply-to
         :content-transfer-encoding;
        bh=3mjT8uOUaXwZAM7qHYhSjQcF0WApQ0VfQpUdQMCTHNY=;
        b=H7F6qaGhbyxBYfa4XCNmr+xL+Ckbu/WobznKKvX22A75otP5Sgb4And8U44ObW6Hqs
         i5jXPMKb+7UAZGFiXAGn/se6T6pdJLNpmaBnqsCg2kV4XvFs5YgzwWfzbtvHPWFqVT5R
         pgTT84HvHsQvgYy2tz2hVlTw3FAxW6k3/QaTKtyZC6xrnC09eX8wj3W6zZLk5ebJVW2O
         ACuSi8hD9HIPQR9j9qyIRjwiYCUruzE5lUymLxATUrA4PODSxlgNmu19P94DycxKyMWd
         87nfsHMO2RcrSQqXAQ9KrxrmM8vgflMzDDGMjsQElFZveno3ayrsshVzUHIhInFLBUqd
         ut0Q==
X-Gm-Message-State: AOAM530ayjEN+Abz6JmADpQVmQKOtKzFWeAhTQFCKJoEDdz2SZTxgHwz
	izSY/Ze5ddeVbaroFdTOCleqWuikq0o=
X-Google-Smtp-Source: ABdhPJyD/2zeNgJt0jUfqazXg0GzaHvKCe28hFdg85vdGdSuE+F64C/13sPRq66uGMpKfUmKhtWQYw==
X-Received: by 2002:a1c:6a05:: with SMTP id f5mr2162571wmc.178.1641901833442;
        Tue, 11 Jan 2022 03:50:33 -0800 (PST)
Message-ID: <74977663-c229-60c7-fae3-d13ff4a8d558@gmail.com>
Date: Tue, 11 Jan 2022 11:50:32 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Reply-To: paul@xen.org
Subject: Re: [PATCH] xen, blkback: fix persistent grants negotiation
Content-Language: en-US
To: xen-devel@lists.xenproject.org
References: <20220106091013.126076-1-mheyne@amazon.de>
 <Yd1l01jTPwx5oBuo@Air-de-Roger>
From: "Durrant, Paul" <xadimgnik@gmail.com>
In-Reply-To: <Yd1l01jTPwx5oBuo@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 11/01/2022 11:11, Roger Pau Monné wrote:
> On Thu, Jan 06, 2022 at 09:10:13AM +0000, Maximilian Heyne wrote:
>> Given dom0 supports persistent grants but the guest does not.
>> Then, when attaching a block device during runtime of the guest, dom0
>> will enable persistent grants for this newly attached block device:
>>
>>    $ xenstore-ls -f | grep 20674 | grep persistent
>>    /local/domain/0/backend/vbd/20674/768/feature-persistent = "0"
>>    /local/domain/0/backend/vbd/20674/51792/feature-persistent = "1"
> 
> The mechanism that we use to advertise persistent grants support is
> wrong. 'feature-persistent' should always be set if the backend
> supports persistent grant (like it's done for other features in
> xen_blkbk_probe). The usage of the feature depends on whether both
> parties support persistent grants, and the xenstore entry printed by
> blkback shouldn't reflect whether persistent grants are in use, but
> rather whether blkback supports the feature.
> 
>>
>> Here disk 768 was attached during guest creation while 51792 was
>> attached at runtime. If the guest would have advertised the persistent
>> grant feature, there would be a xenstore entry like:
>>
>>    /local/domain/20674/device/vbd/51792/feature-persistent = "1"
>>
>> Persistent grants are also used when the guest tries to access the disk
>> which can be seen when enabling log stats:
>>
>>    $ echo 1 > /sys/module/xen_blkback/parameters/log_stats
>>    $ dmesg
>>    xen-blkback: (20674.xvdf-0): oo   0  |  rd    0  |  wr    0  |  f    0 |  ds    0 | pg:    1/1056
>>
>> The "pg: 1/1056" shows that one persistent grant is used.
>>
>> Before commit aac8a70db24b ("xen-blkback: add a parameter for disabling
>> of persistent grants") vbd->feature_gnt_persistent was set in
>> connect_ring. After the commit it was intended to be initialized in
>> xen_vbd_create and then set according to the guest feature availability
>> in connect_ring. However, with a running guest, connect_ring might be
>> called before xen_vbd_create and vbd->feature_gnt_persistent will be
>> incorrectly initialized. xen_vbd_create will overwrite it with the value
>> of feature_persistent regardless whether the guest actually supports
>> persistent grants.
>>
>> With this commit, vbd->feature_gnt_persistent is set only in
>> connect_ring and this is the only use of the module parameter
>> feature_persistent. This avoids races when the module parameter changes
>> during the block attachment process.
>>
>> Note that vbd->feature_gnt_persistent doesn't need to be initialized in
>> xen_vbd_create. It's next use is in connect which can only be called
>> once connect_ring has initialized the rings. xen_update_blkif_status is
>> checking for this.
>>
>> Fixes: aac8a70db24b ("xen-blkback: add a parameter for disabling of persistent grants")
>> Signed-off-by: Maximilian Heyne <mheyne@amazon.de>
>> ---
>>   drivers/block/xen-blkback/xenbus.c | 9 +++------
>>   1 file changed, 3 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/block/xen-blkback/xenbus.c b/drivers/block/xen-blkback/xenbus.c
>> index 914587aabca0c..51b6ec0380ca4 100644
>> --- a/drivers/block/xen-blkback/xenbus.c
>> +++ b/drivers/block/xen-blkback/xenbus.c
>> @@ -522,8 +522,6 @@ static int xen_vbd_create(struct xen_blkif *blkif, blkif_vdev_t handle,
>>   	if (q && blk_queue_secure_erase(q))
>>   		vbd->discard_secure = true;
>>   
>> -	vbd->feature_gnt_persistent = feature_persistent;
>> -
>>   	pr_debug("Successful creation of handle=%04x (dom=%u)\n",
>>   		handle, blkif->domid);
>>   	return 0;
>> @@ -1090,10 +1088,9 @@ static int connect_ring(struct backend_info *be)
>>   		xenbus_dev_fatal(dev, err, "unknown fe protocol %s", protocol);
>>   		return -ENOSYS;
>>   	}
>> -	if (blkif->vbd.feature_gnt_persistent)
>> -		blkif->vbd.feature_gnt_persistent =
>> -			xenbus_read_unsigned(dev->otherend,
>> -					"feature-persistent", 0);
>> +
>> +	blkif->vbd.feature_gnt_persistent = feature_persistent &&
>> +		xenbus_read_unsigned(dev->otherend, "feature-persistent", 0);
> 
> I'm not sure it's correct to potentially read feature_persistent
> multiple times like it's done here.
> 
> A device can be disconnected and re-attached multiple times, and that
> implies multiple calls to connect_ring which could make the state of
> feature_gnt_persistent change across reconnections if the value of
> feature_persistent is changed. I think that would be unexpected.
> 

Would that not be legitimate though? What happens if blkfront is 
upgraded (or downgraded)? Each connection should be 'groundhog day' for 
the backend IMO.

   Paul

> There are also similar issues with
> xenblk_max_queues/xen_blkif_max_ring_order changing after
> xen_blkbk_probe has been executed. We likely need to stash all those
> parameters so what's on xenbus is consistent with the limits enforced
> in blkback.
> 
> Thanks, Roger.
> 



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 11:55:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 11:55:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255713.438261 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Fk0-0005or-Ay; Tue, 11 Jan 2022 11:55:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255713.438261; Tue, 11 Jan 2022 11:55:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Fk0-0005ok-6B; Tue, 11 Jan 2022 11:55:04 +0000
Received: by outflank-mailman (input) for mailman id 255713;
 Tue, 11 Jan 2022 11:55:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1Jw/=R3=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n7Fjy-0005oc-CC
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 11:55:02 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4ccfcfed-72d5-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 12:55:00 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4ccfcfed-72d5-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1641902100;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=U0hbscrPaGr91yvLJWfEfZZhO2yYxbmVyt3J4grZuNA=;
  b=BdQKY69PpOiRBkCuot9N++HoE32a6yg4dT5oMuuwpTGWeMeN7h3dKTtE
   hb+gUOTQeAiLjXSQHaEqcAntDsG6cELQKFNKkqOg5gdSacPfDOC0mU5T3
   7YIB8PShungusJmGxvnQtion07lO6eHkVTJgOLR71zQ1VPMt4QHlASfnC
   Y=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: 5etvdTkrEgQG4yk4DFN8gvPJy08tiNvAEDMfEsLnIoZJe+f3W8Pla3QCqqlzD8IDzcKUgKGofz
 0xSxBEQA9XiPPA9wa5H1BajBE9XzxQU2rmPieD4x3B2Dznjw94MJqPkOUW9zolfeXcJMPC8rz0
 0Ri6srSdWWwVB7bedxEljbsAH+hjX3lbw8K8uobaZk+OzxuI06W5GOHVo7ECmnLdEcJHNed6th
 QXaCIFmJtRscdOztIbMru5WAmPI0fMHjU8TEn/nvUIkpHtOXLRrwrgE56ZlaovVbgLdKf0jxn/
 F+Lse3XHFw9YMvnYEJi2omii
X-SBRS: 5.2
X-MesageID: 61651203
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:zKXm36lDaMt48MBjlwvA8pPo5gwMIURdPkR7XQ2eYbSJt1+Wr1Gzt
 xJNXzqAP//bZjfxKNt2bo2z/UgCucPXzNdjSwFu/i9nFyMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BClVlxJVF/fngqoDUUYYoAQgsA180IMsdoUg7wbRh29cx2YLR7z6l4
 rseneWOYDdJ5BYsWo4kw/rrRMRH5amaVJsw5zTSVNgT1LPsvyB94KE3fMldG0DQUIhMdtNWc
 s6YpF2PEsE1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXee0v0XRYRQR4/ttmHozx+4
 Phm5aKhSzUkArPjhuoBaCYbTihMGpQTrdcrIVDn2SCS50jPcn+qyPRyFkAme4Yf/46bA0kXq
 6ZecmpUKEne2aTmm9pXScE17ignBNPsM44F/Glp0BnSDOo8QICFSKLPjTNd9Glp2J0XR66FD
 yYfQQdCMi2QbEMXAV5UOLNisNqFh3jVcgQN/Tp5ooJoujOOnWSdyoPFMtXPfceRbd5IhUver
 WXDl0zpDxdfONGBxD6t9nO3mvSJjS79QJgVFrCz6rhtmlL77nMXIA0bUx28u/bRoky0Vs9bK
 kcU0jEztqV0/0uuJvH8QB+QsHOCpgQbWddbD6s98g7l90bPy1/HXC5eFGcHMYF48p9tLdA36
 rOXt/7CVQJ+so+YdWyy6LmIlgzxZCEnClZXMEfoUjA5y9XkpYgyiDfGQdBiDLO5g7XJJN3g/
 9yZhHNg3utO1Kbnw43+pAma2Gz0+vAlWyZovl2/Y46z0u9uiGdJjaSM4EOT0/tPJZ3xorKp7
 CldwJj2AAzj4PiweM2xrAclQenBCxWtamS0bbtT838JrW/FF5mLJ9E43d2GDB01WvvogBewC
 KMphStf5YVIIFyhZrJtboS6BqwClPa8TIS5DqmFNoETOvCdkTNrGgk0PiZ8OEi3wSARfVwXY
 8/HIa5A815HYUiY8NZGb7hEiuJ6rszP7WjSWYr633yaPUm2PxaopUM+GALWNIgRtfrcyC2Mq
 oo3H5bUl313DbOvCgGKod97BQ1bdhATWMGpw/G7g8beeGKK7kl7Va+IqV7gEqQ495loehDgp
 SDiChQGmQum1RUq62yiMxheVV8mZr4mxVoTNi0wJ1e4nX8lZIek9qAEcJUrO7Ig8YReITRcF
 JHpou2MXaZCTCrp4TMYYcWvpYBubk3z1wmPIzCkcH40eJs5H17F/drtfw3O8igSD3Xo6Zti8
 uP4jg6LE4AeQwlCDdrNbK79xV2GonVAyvl5WFHFI4cPdRy0opRqMSH4ktQ+P9oIdUfY3jKf2
 gvPWUUYqODBrpUb6t7MgazY/Y6lH/EnRhhRHnXB7KbwPi7fpzLxzYhFWeeOXDbcSGKrp/nyO
 bQLl6nxaaRVkkxLvoxwF6dQ4Zg/v9a/9aVHyglEHWnQawj5AL1XPXTbj9JEsbdAx+EFtFLuC
 F6P4NRTJZ6AJNjhTAwKPAMgY+mOiaMUlz3V4ahnKUn2/nYqrr+OUEEUNBiQki1NarByNdp9k
 +smvccX7S25iwYrbYna3nwFqTzUIyxSSbgju7EbHJTv21gixVx1aJDBDjP7vcOUYNJWP0h2e
 jKZicIuXViHKpYup5brKUXw4A==
IronPort-HdrOrdr: A9a23:zNYmqqtR8rhCy1ICQxqpXGND7skCkoMji2hC6mlwRA09TyXGra
 6TdaUguiMc1gx8ZJhBo7C90KnpewK7yXdQ2/htAV7CZnidhILMFuBfBOTZsljd8kHFh4pgPO
 JbAtRD4b7LfClHZKTBkXGF+r8bqbHtms3Y5pa9854ud3AQV0gJ1XYGNu/xKDwOeOApP+tfKH
 LKjfA32AZINE5nJfiTNz0gZazuttfLnJXpbVovAAMm0hCHiXeN5KThGxaV8x8CW3cXqI1SvF
 Ttokjc3OGOovu7whjT2yv66IlXosLozp9mCNaXgsYYBz3wgkKDZZhnWZeFoDcpydvfomoCoZ
 3pmVMNLs5z43TeciWcpgbs4RDp1HIU53rr2Taj8A3eiP28YAh/J9tKhIpffBecwVEnpstA3K
 VC2H/cn4ZLDDvb9R6NqeTgZlVPrA6ZsHAimekcgzh0So0FcoJcqoQZ4Qd8DIoAJiTn84oqed
 MeQ/003MwmMW9yUkqp/VWGmLeXLzYO91a9MwQ/U/WuonlrdCsT9Tpc+CQd9k1wg67VBaM0o9
 gsCZ4Y542mePVmGZ6VNN1xMfdfNVa9My4kEFjiaGgPR5t3c04klfbMkcAIDaeRCds18Kc=
X-IronPort-AV: E=Sophos;i="5.88,279,1635220800"; 
   d="scan'208";a="61651203"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=N+sEabg0ie+/ehbdkUp2MkQEieZOPoSL7qiGJjajctkwx8PwgfCg99F+gNYcvcmu0z8xM9TCNXNVM8uYeorOiygK7sisy5gARawrWY+D29+UrCqHAqRWx8WKRJigMpzssP8B1STjYXaV69M3xWUOxYn1rOuJLztTedLKvz8Y5W27KJvsG6QNzX0DTpxAvH1sIVLhJu0ryADnTfueBCT4TBGAica60ZT4RCj0CaI4wrsFKUCHyVvR6DhXWw7VZwDm+kEVad8Hs8Gf0pYDf61Z91PvUVH5DQ0keDvr8QPcbKFFVMWMpteGWgIY9amkBw1+iBFOlmhxQv3hgDLXvArLZQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CZ0Cbvz926NTgRTrvdLHHHZ+5J7ACoMO4n/b9B0ZPp4=;
 b=dDW40jvJpnJOxaBo9wmnS3GOtBRM9k0WpAmwSBRlPQa/DfG1YFfbvz07CwhxFS+t+qxfUTEi95ffrUMS2uD2cOT/Ri0piRGdIZ8cda4cJ5PpAa8cTpGW9ltSpO9f9DV+XCZWfbti37aYZn3ltWPg9RrpkoScRRPw1ahVI5/6KoDI3UJ1w7F3g5YtXC3EeGbflTSrTcm5BMxIV54ctmIXQ6BYstMp51Wby7s45J1I6z+hQN+o8zQgK72LzGwWEyjQDyG2wrA79wEl08gHnUVQmItnpDDVH6YdNf3qDeFFH0ehI0eprc032Y9y7MVBxBP2aapwRcZfLNquwy272Rykew==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CZ0Cbvz926NTgRTrvdLHHHZ+5J7ACoMO4n/b9B0ZPp4=;
 b=i86908GdAdsTEIjELKuQpH+xg90uUqbiZNhI6KrXZ4VAXmHe41iG847qCSkc7t98IdgAqHwSZ8m7CjcRfQCDh8QY/MWIJWNDpuPoAYIeTwnYz7fbvQvgzH5HgYPDZSs4j+wjOj33tWaPBjkVQJouPXvOXfbX31GJa1Lt+zOdpHQ=
Date: Tue, 11 Jan 2022 12:54:48 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>, Juergen Gross
	<jgross@suse.com>, <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v5 07/12] libs/guest: introduce helper set cpu topology
 in cpu policy
Message-ID: <Yd1wCLIthiFIaOR8@Air-de-Roger>
References: <20211129153355.60338-1-roger.pau@citrix.com>
 <20211129153355.60338-8-roger.pau@citrix.com>
 <205f13b4-6f2e-7937-7fc9-f1ce7082ae3f@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <205f13b4-6f2e-7937-7fc9-f1ce7082ae3f@suse.com>
X-ClientProxiedBy: MR1P264CA0080.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:3f::26) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d4ce8753-730c-4f60-c9c6-08d9d4f92e32
X-MS-TrafficTypeDiagnostic: DM6PR03MB4299:EE_
X-Microsoft-Antispam-PRVS: <DM6PR03MB4299787CF56D54FDF519F2A48F519@DM6PR03MB4299.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:2803;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 9xVBIdWgwJaDc3/blGSxyuhlXIl/3Hp/TSKvHKHCOQd5oLG6AdOO4BDzZsyg/D8ZvyJoRNj2vjYIYXvqGqtd9aSUw7sz9hLwwOp+2Xll7ZJSs+zs7W5cCFTSz2vCi3u5aHacG2kf9LSTd6rwDnMr3We3gZQkpBbc9Q49jTLxltqf1SyaQTeKMgotK/CgGqNg2HfVZh02x/f3SUwlbRYyjaq7jPFurB33bi3gvg2+/iuOv1gV61BY/WTAKGGAsb3zT2Pk0XKWB7Wo22jw1F2eFya83J86cjt7XCxX/GmFl9ZVj4hwhMUJ0xjLO1gf+nydqndJoer3D+P52bBkFKSELU/A7dhDOaxAx6z/0pcA7+rGEVs2QFAuORsMHFMS1JJYcCTsKNiq6rl7y8r0S08t/njNwji+j4EqUb5e3pPxGc4nsCyO5eiR0T2//SFodvIRISOqjibx39mQ1mpGSA8g/mqdZXHW1d0KwkAZWZ5RG8K4H0HNn3/hwndupIVO3QFnT1x04q9ZSrr6ujKyIum5NwnAO6JqktxofYb90z0q4OLaAYzsOHwfg1FBj06c8UyrIi3l0CypoGNtXB26Vt2gccnGISml6u6sB7SN4nuDkL5kcqjieK8VCnSSQ6xoVz/wEg53OJWbIPezGnrwv0MrXg==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(82960400001)(8676002)(86362001)(5660300002)(38100700002)(8936002)(186003)(316002)(26005)(33716001)(54906003)(4326008)(508600001)(53546011)(6506007)(66476007)(66946007)(83380400001)(2906002)(6916009)(6512007)(85182001)(6666004)(66556008)(9686003)(6486002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SXBma0VrZkhNeVV0NEc5LytWZnJYaDZ5N0hCRXRoZzJPSzYrcXpZZmJxNm5j?=
 =?utf-8?B?RFhMYUhKenpYeE9uaXpweGVjRy92cE1PQVM2RE1pc1pRWTNsSTI4c0NDVXBS?=
 =?utf-8?B?NnRUaUFlMk5HdUpJYnpUVVBFSmdOU2VqZEhUY0dBT0wzRy9rZTI1eW1jdG9X?=
 =?utf-8?B?cGs1ZjNGS2lDcHo1RmpvSm1BeDFjbDJJdjBHeFpqOGR5NkV2dzROSEtiVkFB?=
 =?utf-8?B?clZST1dHL0VrQU9SVmRtMERPdjBXVGJiSmpxU1FHV2hUQkFnV2FVcE93Vlhz?=
 =?utf-8?B?UVFqT1RiOC9PN3ROV1lLbFh1ZkxDK0F3ZVV5VUYzTTkvaHg4RHR6ZVU5MTZM?=
 =?utf-8?B?MTVRbEZjbXhMM2d6WnR5bXg3Y0RVSGpXS2tmMk0wZERGcnZ5T1pLUkFLdTZT?=
 =?utf-8?B?WkRZN2hRTUxrNnVVMG5JcDcvSHFzck5sMys2L2NFdVN3bVBWK2hBWkdlRW1N?=
 =?utf-8?B?WVo3VmVoR1BleGRFU1N6TU1JSzNiV2Z3T0ZRaTB6enRFL2JMcGt4ekIzczBW?=
 =?utf-8?B?NG9SYk1qbXkrRzN4SWZMN09mMTV5YlVyWE11Z2MvWlNtUlUxWTQvWWI5Vk5a?=
 =?utf-8?B?eHhjWVBxeStkeHMxTms4SGFXWVhISG5UZ0JFNEZsUmZLZHJJNkF4THVaT2tz?=
 =?utf-8?B?T2xnZGEvaGdSM0dIYk5takFNUmVGbUIwbmFkeFpNbmpDVEhQU3U5Z2xxSUZp?=
 =?utf-8?B?dGVVZ3FoaHlFVUh2V3FXTlp5cG4wMVE2dWZPa0RibFpPczBucis4TE5Lc3pI?=
 =?utf-8?B?NElPN0ZjODZ1VEdNeUoxLzlYN29lWnhqSTdjSFVjSExKRDM2UDEyYWJ5VDdP?=
 =?utf-8?B?K2pjSmhQYkdua3RydjA2b1BMalRFcWlrbWh2MzcvM2wwZy92bmFGaUZlNWMv?=
 =?utf-8?B?akxOdzVQQTJnamIxL3dwT1F3b1l0YVU0TlcwSDMyVC9mc3pseDVxZ2lMMnVT?=
 =?utf-8?B?TFh1T2ErQjUwaHN2aEF6ckhkTk1xWU8vUzRPNElST3RkQkFaVXhxNzVhWjBP?=
 =?utf-8?B?aHJ1T05GcnMrQ3JVSERIdUI0c20xM245R0ZFeDZrbVVGU2FkbUkvQldpZmM5?=
 =?utf-8?B?bmc4Vjk5R3pVbmNPWWVPSjdGT09nYUxIZnFOMVBQWVA0VUhYbGZ3YlZXb01o?=
 =?utf-8?B?MEZFdzFSeTRPUFVPQkw3bTNtS2tiZnF2VlB4YTBoaC9pbFJJKzhhbzY2QnFh?=
 =?utf-8?B?NTRtai9SNTIyK3R6dVY5a2hLOUdMRjZCVWdVZEFoRGxYRzQ1eSsxSlZDU21M?=
 =?utf-8?B?NVJSNXUyWGlrUU5md24rQzVGaUpqaVEvanIrSll0VkNBTmZhSVFpQ2QwZW8r?=
 =?utf-8?B?S3dQaXRpTkRueHN1eEl5MW5qNjU0SlFrenJEeUNudnFTdmdVYU1oS2FoYWl4?=
 =?utf-8?B?dVY0bTRkTnBGb2ZsMytaUllmMm9OMkJtVjhZeXBTRlBxbW5oZHRIcXhqRzdr?=
 =?utf-8?B?WjlXT2xUdWVvSFp6SU8rblpTQ0VWODM2WW9IRGVLYWtCZWg0Tm9XRzc0TjJ3?=
 =?utf-8?B?RFpCSEJiRlpVMG8rMHQzTmdwZ2FzVWJXSXcyTThoSVo4MWYxVjd2WVpVUzBw?=
 =?utf-8?B?ZnNIeHFmejFyUUI2RDYxK0hlUGVJNzY5U1hqT1VNL2dzYk9DbGN6dUxaanBB?=
 =?utf-8?B?anB1bTloQjdlRnRNdVZVWU1DOG53bUg5MjNUQnhZaGxrQUIyZHFQWkRidHI0?=
 =?utf-8?B?dHh0SlhqY3JVSEZ3SE5CTWJXY1dhUjlReFUyb1V5VnFqVEFwMzNVb3JYcGxT?=
 =?utf-8?B?YVhoQ2NQY25aa2lURlV5K3JVN3Bqek5FZVliRmJVRUllSFUrOXYrQjRhakNX?=
 =?utf-8?B?TjBTOWYwMzBoSzRTWTF1SGZsSXVrSmM3VENHUnhpOVpWcjVrblppRHNlYkFQ?=
 =?utf-8?B?OEJlSzVQanJiWWN5c2FEOHdybktkTFlRaW9nbzZBb1ludnRhM3FuRjFOdDV0?=
 =?utf-8?B?NzMyckNsYmxqZHAwTlpxSHA2QTRmZnhjTTJiN1JaallkVkVIZjdPOXQ1Y2Zx?=
 =?utf-8?B?bzFlNHgrcDBaZU1wemMzRXBOKzUwcWlzem1heEQxNXRyaEFOeFQ5S0F0ZDBL?=
 =?utf-8?B?eTBEcm1xcTBGcnVUZDU5UXBRMVQwUHdEcyt0ZFQ5OHNZcGliSXhPeS9QbzRT?=
 =?utf-8?B?dWl4Y3VCUWJnWVJzUjdmTTNTSG5rdzF4SHNZVUtRSk9XT2xUaUZOanF1b25N?=
 =?utf-8?Q?igjdbke3XsbJ+pF6TdG0kpI=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: d4ce8753-730c-4f60-c9c6-08d9d4f92e32
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2022 11:54:53.8536
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: py/qEwmHQNbSxlQli3jDK9Ao9r0+GgCxXGKlCptDss8BrLPLuI3OrcqxySeMcysZK7SNg0YVgiI/kpovYpH2ow==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4299
X-OriginatorOrg: citrix.com

On Mon, Dec 06, 2021 at 05:09:42PM +0100, Jan Beulich wrote:
> On 29.11.2021 16:33, Roger Pau Monne wrote:
> > @@ -458,22 +456,6 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
> >           (p = calloc(1, sizeof(*p))) == NULL )
> >          goto out;
> >  
> > -    /* Get the host policy. */
> > -    rc = xc_get_cpu_featureset(xch, XEN_SYSCTL_cpu_featureset_host,
> > -                               &len, host_featureset);
> 
> You go from retrieving the host featureset to ...
> 
> > @@ -944,3 +865,98 @@ int xc_cpu_policy_make_compat_4_12(xc_interface *xch, xc_cpu_policy_t *policy,
> >      xc_cpu_policy_destroy(host);
> >      return rc;
> >  }
> > +
> > +int xc_cpu_policy_legacy_topology(xc_interface *xch, xc_cpu_policy_t *policy,
> > +                                  bool hvm)
> > +{
> > +    if ( !hvm )
> > +    {
> > +        xc_cpu_policy_t *host;
> > +        int rc;
> > +
> > +        host = xc_cpu_policy_init();
> > +        if ( !host )
> > +        {
> > +            errno = ENOMEM;
> > +            return -1;
> > +        }
> > +
> > +        rc = xc_cpu_policy_get_system(xch, XEN_SYSCTL_cpu_policy_host, host);
> 
> ... retrieving the host policy, which afaict is a larger blob of data.
> Is there a particular reason for doing so?

I did that so I could assign from one CPUID policy to another, but
will revert back to using a featureset since it's indeed smaller.

> > +        if ( rc )
> > +        {
> > +            ERROR("Failed to get host policy");
> > +            xc_cpu_policy_destroy(host);
> > +            return rc;
> > +        }
> > +
> > +
> > +        /*
> > +         * On hardware without CPUID Faulting, PV guests see real topology.
> > +         * As a consequence, they also need to see the host htt/cmp fields.
> > +         */
> > +        policy->cpuid.basic.htt = host->cpuid.basic.htt;
> > +        policy->cpuid.extd.cmp_legacy = host->cpuid.extd.cmp_legacy;
> > +    }
> > +    else
> > +    {
> > +        unsigned int i;
> > +
> > +        /*
> > +         * Topology for HVM guests is entirely controlled by Xen.  For now, we
> > +         * hardcode APIC_ID = vcpu_id * 2 to give the illusion of no SMT.
> > +         */
> > +        policy->cpuid.basic.htt = true;
> > +        policy->cpuid.extd.cmp_legacy = false;
> > +
> > +        /*
> > +         * Leaf 1 EBX[23:16] is Maximum Logical Processors Per Package.
> > +         * Update to reflect vLAPIC_ID = vCPU_ID * 2, but make sure to avoid
> > +         * overflow.
> > +         */
> > +        if ( !policy->cpuid.basic.lppp )
> > +            policy->cpuid.basic.lppp = 2;
> > +        else if ( !(policy->cpuid.basic.lppp & 0x80) )
> > +            policy->cpuid.basic.lppp *= 2;
> > +
> > +        switch ( policy->cpuid.x86_vendor )
> > +        {
> > +        case X86_VENDOR_INTEL:
> > +            for ( i = 0; (policy->cpuid.cache.subleaf[i].type &&
> > +                          i < ARRAY_SIZE(policy->cpuid.cache.raw)); ++i )
> > +            {
> > +                policy->cpuid.cache.subleaf[i].cores_per_package =
> > +                  (policy->cpuid.cache.subleaf[i].cores_per_package << 1) | 1;
> > +                policy->cpuid.cache.subleaf[i].threads_per_cache = 0;
> > +            }
> > +            break;
> > +
> > +        case X86_VENDOR_AMD:
> > +        case X86_VENDOR_HYGON:
> > +            /*
> > +             * Leaf 0x80000008 ECX[15:12] is ApicIdCoreSize.
> > +             * Leaf 0x80000008 ECX[7:0] is NumberOfCores (minus one).
> > +             * Update to reflect vLAPIC_ID = vCPU_ID * 2.  But avoid
> > +             * - overflow,
> > +             * - going out of sync with leaf 1 EBX[23:16],
> > +             * - incrementing ApicIdCoreSize when it's zero (which changes the
> > +             *   meaning of bits 7:0).
> > +             *
> > +             * UPDATE: I addition to avoiding overflow, some
> 
> Nit: Would you mind switching "I" to "In" at this occasion?

Will do.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 12:14:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 12:14:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255717.438271 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7G2Q-0008FD-TZ; Tue, 11 Jan 2022 12:14:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255717.438271; Tue, 11 Jan 2022 12:14:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7G2Q-0008F6-QF; Tue, 11 Jan 2022 12:14:06 +0000
Received: by outflank-mailman (input) for mailman id 255717;
 Tue, 11 Jan 2022 12:14:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uAIS=R3=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1n7G2P-0008F0-CP
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 12:14:05 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f65daf29-72d7-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 13:14:03 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f65daf29-72d7-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1641903243;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=PH2MYi6bnECWgRXJnJOLCYEdVOwCs4G77IDB6Uw3O6g=;
  b=H3WnGeVw70PR1qr7qmbIzQ8VS2gZRAMYnG/r8IOJh7Aa70zy26dLv5WZ
   +ngpGbRPi8rwUHRhrE769uCf/RroaZYUO5zkfpg/Une1i87DUAucCPfM4
   1QLWeFUG/9rYUcHkLSxhtpki0PLOyJQAzJZss6rKouuwE7U/WcOFJ0K1C
   Q=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: bKMYToewx4VAiXwE8PqSSM/xlGftohC0a9viNtG9SiOZWToSZUAVKSqOlzno5TPAESP8YF4dmH
 2lyHSJxSSHbYhc5xDc2sshCM8H2gyK42P6ml+DwWMQF2zYosO3b5TZtcLUpwrZHlXjn0rYeKC2
 FrQ7FWV38s1grUaJOb6AvH9gD2GV3l2M1J781lBYrwq5STapSCOAyeNhCcQ2/m9cU9V1x5/L7z
 SFbE66AubAoNHmt5UdSNObFMRopgNjyUn+34T/gzIMUK0izFrVPv6q+YKO3KrmPe8B4GFDetUO
 N6uXJ/h3Ro/5PEwhBvy/eJKd
X-SBRS: 5.2
X-MesageID: 62133951
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:n+A+aq5ewkTKCs+XQ7cRSQxRtMPAchMFZxGqfqrLsTDasY5as4F+v
 mFJXD2AOfmNZmPweI91adjn8BkGvpaByoc1SQJu+3pmHi5G8cbLO4+Ufxz6V8+wwmwvb67FA
 +E2MISowBUcFyeEzvuV3zyIQUBUjclkfJKlYAL/En03FV8MpBsJ00o5wbZg29cw27BVPivW0
 T/Mi5yHULOa82Yc3lI8s8pvfzs24ZweEBtB1rAPTagjUG32zhH5P7pGTU2FFFPqQ5E8IwKPb
 72rIIdVXI/u10xF5tuNyt4Xe6CRK1LYFVDmZnF+A8BOjvXez8CbP2lS2Pc0MC9qZzu1c99Z7
 u1cnrPzRiASeYLWxskSUDZyTh1MMvgTkFPHCSDXXc27ykTHdz3nwul0DVFwNoodkgp1KTgQr
 7pCcmlLN03dwbLtqF64YrAEasALJc/3PIQZqzd4wCvQF/oOSpHfWaTao9Rf2V/cg+gQR6+FP
 JtEMFKDajyDcSRUJGkPD6kkp9auoXrFQyRC+Ve88P9fD2/7k1UqjemF3MDuUsOObdVYmACfv
 G2u13T0BFQWOcKSzRKB82mwnanfkCXjQoUQGbaksPlwjzW7y2geDhRQSFW6pOWih1C3c9VFI
 kcQ92wlqq1a3E6kVN7mRDWjvWWJ+BUbXrJ4Eec39QWMwar8+BuCCy4PSTspVTA9nJZoH3pwj
 AbPxo63Q2w02FGIdZ6D3pGsvBideicyFigtf3EpQggqyYTfko5m23ojUe1fOKKyi9T0HxT5z
 DaLsDUyit0vsCIb60mo1QuZ2mzx//AlWiZwv1yKBTz9smuVcab4P9TA1LTN0RpXwG91pHGlt
 WNMpcWR5ftm4XqlxH3UG7Vl8F1ECp+43NzgbbxHQsFJG9eFoSfLkWVsDNdWfhwB3iEsI26BX
 aMrkVkNjKK/xVPzBUONX6q/Ct4x0Y/rHsn/W/bfY7JmO8YtLV/bpHg/PRXNhwgBdXTAd4llY
 v93lu72XB4n5VlPlmLqF4/xL5d2rszB+Y8jbc+ilEn2uVZvTHWUVa0EIDOzghMRt8u5TPHu2
 48HbaOikkwHOMWnO3W/2dNNcTgicCZqbbir+50/XrPSeWJORTB+Y8I9NJt8IeSJaYwPyLeRl
 px8M2cFoGfCaYrvclTVOis9OeK2Df6SbxsTZEQRALph4FB7Ca7H0UvVX8JfkWAP+LMxwPhqY
 eMCfsncUP1DRi6eo2YWbIXnrZwkfxOu3FrcMy2gaTk5XphhWw2WpYO0IlqxrHEDXnitqM8zg
 7y8zQeHE5ANcBtvUZTNY/W1wlLv4XVEwLBuX1HFK8V4cVn39NQ4MDT4i/I6epleKRjKyjaA+
 RyRBBMU+bvEr4MvqYGbjqGYtYa5VeB5GxMCTWXc6L+3Mwjc/3aintAcALrZI2iFWTqtqqu4Z
 OhTw/XtC9E9nQ5H49hmDrJm7aMi/N+z9bVU+RtpQSfQZFOxB7I+fnTfhZtTtrdAz6NysBetX
 h7d4cFTPLiENZ+3EFMVIwZ5PO2P2etNx2vX5PUxZk77+DV27PyMVkALZ0uAjylULb1UNoI5w
 Lh+5J5KulLn0hd6YMybii109niXKi1SWqoqgZgWHYv3h1d50VpFe5HdVnf77Zznhw+g6aX2z
 ut4XJb/uok=
IronPort-HdrOrdr: A9a23:86dEZapRvZSFgnLYNDqQvpAaV5oUeYIsimQD101hICG9Kvbo8/
 xG785rsiMc6QxhI03I9urwWpVoLUmzyXcX2/hqAV7BZniChILAFugLhuGPrAEIcBeSygcp79
 YCT0EIMr3N5DZB7PoSqzPIderIiOP3iZxAq92ut0tQcQ==
X-IronPort-AV: E=Sophos;i="5.88,279,1635220800"; 
   d="scan'208";a="62133951"
Date: Tue, 11 Jan 2022 12:13:56 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Juergen Gross <jgross@suse.com>
CC: Jan Beulich <jbeulich@suse.com>, Elena Ufimtseva
	<elena.ufimtseva@oracle.com>, Wei Liu <wl@xen.org>,
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] build: fix make distclean
Message-ID: <Yd10hFujiVdg8DwV@perard>
References: <20220109100133.19731-1-jgross@suse.com>
 <1e5fb9e5-8334-9888-4bae-97564caa90bd@suse.com>
 <c445ec6f-a484-fa03-acf6-21687833ed2c@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <c445ec6f-a484-fa03-acf6-21687833ed2c@suse.com>

On Mon, Jan 10, 2022 at 10:04:56AM +0100, Juergen Gross wrote:
> On 10.01.22 09:42, Jan Beulich wrote:
> > On 09.01.2022 11:01, Juergen Gross wrote:
> > > "make distclean" will complain that "-c" is no supported flag for make.
> > > 
> > > Fix that by using "-C".
> > > 
> > > The error has been present for a long time, but it was uncovered only
> > > recently.
> > 
> > And that's because the rule simply was unreachable before? Or it was
> > reachable, but only via special (non-default) $(MAKE) invocations?
> 
> I just hit the bug during a top level "make distclean" and looked which
> commit introduced it. As it was really old, I looked for a more recent
> commit which could trigger the bug and found the rather recent one,
> making me believe that the wrong rule was never reached (other than by
> a "make" in the local directory of that rule).
> 
> I didn't spend more time on digging out whether the problem could have
> happened in other cases, too.
> 
> > > Fixes: 2400a9a365c5619 ("tools/debugger: Allow make to recurse into debugger/")
> > > Fixes: f9c9b127753e9ed ("tools: fix make distclean")
> > 
> > To distinguish from this commit's title and to also identify the affected
> > component, how about having "gdbsx" somewhere in the subject? (To be
> > honest, with this title I wouldn't even have expected the issue is in the
> > tool stack part of the tree.)
> 
> Hmm, yes, the prefix could be changed to "tools/debugger".

With that:
Acked-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 12:27:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 12:27:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255721.438283 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7GF1-0001Ji-2t; Tue, 11 Jan 2022 12:27:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255721.438283; Tue, 11 Jan 2022 12:27: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 1n7GF0-0001Jb-Vh; Tue, 11 Jan 2022 12:27:06 +0000
Received: by outflank-mailman (input) for mailman id 255721;
 Tue, 11 Jan 2022 12:27:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1Jw/=R3=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n7GEz-0001JV-C9
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 12:27:05 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c7017025-72d9-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 13:27:03 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c7017025-72d9-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1641904023;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=eNYI7UsabAjupoFjASJk0S/FKfhBzUI4MrAu1Q/JR6E=;
  b=J5uzNcfoc1409P5azSEfAiLbxIfczgPJX5bdIZsyu3ybGX6U2dgSuhgj
   70kW18kWoMTyx2lqAIg0c7cYzVm55ZDnygAV5AqW0a+C7j+iJfkiPK72Z
   MUl4LXbrhVK+xEHqhqhPyJzK9E+TXqTiBvjMd6sdALOduUZV4VBrwM/zp
   4=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: 8VfBJGKwy/edTJfchJ6LKB/ydzmDKUowSGiIfX1dbiWbWwfu8V8HWOhP7fnE4ogGi8KRMwsPCm
 480YFkKND8U0RDuqs6M9+o5N9rQZV9H5E3C8vwo0B/X8c+2BUUahxe2p5Nn4e/pMCDGCklbjmO
 pCZzMIoB3Z/of/neU8FmlL4SCDw9xigBb+biZ5/xbJ6wU8hOIK1Qcm0rtM6uhXrLYEF4e1hfPz
 teSIBi/FP1CiQffjltgN2W49Z6TStEvd/JMoB+Xbodqk9F8XFIiMOdpZTB4y2kNmvD/hA+nT/U
 utlJmn/uruSxgDccr3eAv/1a
X-SBRS: 5.2
X-MesageID: 61728089
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:dB0/daLSaDlsOYuoFE+RBpIlxSXFcZb7ZxGr2PjKsXjdYENS12YDm
 zEeUTuBM62JNmWkLtx+Otvk8h8FvZbVyd43T1RlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokcxIn5BC5C5xZVG/fjgqoHUVaiUakideSc+EH170Us6wrZj6mJVqYPR7z2l6
 IuaT/L3YDdJ6xYsWo7Dw/vewP/HlK2aVAIw5jTSV9gS1LPtvyB94KYkDbOwNxPFrrx8RYZWc
 QphIIaRpQs19z91Yj+sfy2SnkciGtY+NiDW4pZatjTLbrGvaUXe345iXMfwZ3u7hB2FpdUpx
 IUX5KWgWBxub4vUlcM2UxNxRnQW0a1uoNcrIFC6uM2XiUbHb2Ht07NlC0Re0Y8wo7gtRzsUr
 LpBdW5LPkvra+GemdpXTsF2gcsuNo/zNZ43sXB81zDJS/0hRPgvRo2UvIACjG9g16iiG97+Q
 pELQGNvUi3DZh9wag4cAZwnsbeB0yyXnzpw9wvO+PtfD3Lo5Bx81v3hPcTYfvSORN5JhQCIq
 2Te5WP7DxoGctuFxlKt6nuxgsffkCW9X5gdfIBU7dYz3gfVnDZKTkRLCx3r+pFVl3JSRfpTE
 UlM9np0/JEi5VfsH//lUjqToHSt60t0t8VrL8U27wSEy6zx6gmfB3QZQjMpVOHKpPPaVhRxi
 AbXwoqB6ShH9eTMFCnDruv8QSaaZHBNRVLucxPoWufsDzPLhIgoxizCQd94eEJepo2kQGqgq
 9xmQcVXulnysSLp//jjlbwkq2j1znQscuLTzl+MNo5CxlkoDLNJn6TytTDmAQ9ode51tGWps
 nkegNS55+sTF5yLnyHlaLxTQOj5u67cYWWH3AYH83wdG9KFoSXLkWd4umAWGauUGpxcJW+Bj
 LH75Gu9G6O/zFP1NPQqMupd+uwhzLT6FMSNaxwnRoEmX3SFTyfepHsGTRfJhwjFyRFw+YliZ
 8vzWZvyXB4yVPQ2pBLrFrx1+eJ6mUgDKZb7GMqTI+KPi+TOPRZ4iN4tbTOzUwzOxPjV/1WOr
 YcObpviJtc2eLSWXxQ7OLU7dDgiBXM6GYr3u4pQcOuCKRBhA2YvF7naxrZJRmCvt/49ej7g8
 i7vV0lG5kD4gHGbewyGZmo6MOHkXIplrGJ9NispZA76138maIepzaEea5poIuV3qL09laZ5H
 6sfZsGNIvVTUTCbqT4TWobw8d55fxOxiAPQYyf8OGojf4RtThDi88P/ele97zEHCye67JNso
 7Cp2g7Bb4AEQgBuUJTfZP61lgvjtnkBguNiGUDPJ4ALKknr9YFrLQ33j+M2fJ5QeUmSmGPC2
 l/PUxkCpOTLr4sky/XzhPiJ/9WzDu9zPktGBG2Hv7y4AjbXozi4yohaXefWIT2EDDHo+L+vb
 Pl+xu3nNKFVh05DtodxHuo5za864Nez9bZWwh49QSfOZlWvTLhhPmOHzY9EsagUnu1Vvg6/W
 0Su/NhGOOrWZJO5QQBJfAd1PP6e0fw0myXJ6aVnKUr30yZ74b6bXBgAJBKLkiFccON4PY5NL
 T3NYyLKB9hTUiYXD+s=
IronPort-HdrOrdr: A9a23:xWE15aHmbx5OBqaspLqFcpHXdLJyesId70hD6qkvc3Jom52j+P
 xGws526faVslYssHFJo6HnBEClewKgyXcT2/hsAV7CZnidhILMFuBfBOTZsljd8kHFh4pgPO
 JbAtdD4b7LfChHZKTBkXGF+r8bqbHtms3Y5pa9854ud3AQV0gJ1XYJNu/xKDwOeOApP+tfKH
 LKjfA32QZINE5nJPiTNz0gZazuttfLnJXpbVovAAMm0hCHiXeN5KThGxaV8x8CW3cXqI1SvV
 Ttokjc3OGOovu7whjT2yv66IlXosLozp9mCNaXgsYYBz3wgkKDZZhnWZeFoDcpydvfpWoCoZ
 3pmVMNLs5z43TeciWcpgbs4RDp1HIU53rr2Taj8DLeiP28YAh/J9tKhIpffBecwVEnpstA3K
 VC2H/cn4ZLDDvb9R6NpuTgZlVPrA6ZsHAimekcgzh0So0FcoJcqoQZ4Qd8DIoAJiTn84oqed
 MeQv003MwmMm9yUkqp/FWGmLeXLzEO91a9Mwc/U/WuonhrdCsT9Tpd+CQd9k1wgq7VBaM0oN
 gsCZ4Y5o2mePVmGp6VNN1xMvdfNVa9NC4kEFjiaWgPR5t3cE4klfbMkcEIDaeRCdo18Kc=
X-IronPort-AV: E=Sophos;i="5.88,279,1635220800"; 
   d="scan'208";a="61728089"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=g2nnm2Fws0hrPO5BaJeK8I8EGYwl64seTRut7iRiBpYZzKM9k/HvBWN0vbfaGyeMdMNAJ0eifn6srICe8Ok5P+6CJD2EYSImCjm1eca1MZ29h5c6RdMdaUbphk+kK5XJ4s9mizLGBQaQKyEX8/QzAAB85LZyQA+uXzpnpDrS1afSBOGPiR48wOsCs8Ap6OuWke9NMl7eSjqW0iXqBYo2Riga/7n2f1FFQemD8F2YAjB3lH1/W+TKrnrdm9vWTgyu3rnhsaeTS7nX4swo406TqcEp9CiXL6uN6Ukuc1OoP7syjnlQkmCuwAdtaf1xdtFtYU3z0wC0XuXYBmArXloSBQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XNZgnwuptzBzEGMvcSYkniLYjs09275LUt0a3j2y5AU=;
 b=b27X1bLbu7FpFbQOcogh7Xc9kzSRPWsS7sRUleo2pOz2P+h0xRnxSGKDQ9rGrrtxI3j7eGNKHFkjLLsZbd34QS+1NUr/JUK7BkwEgUCbWYNRFGGRqHzASPBr5ePzkSAvm3ePXtm4yVIYyuy4wunKLqaJ5GXOvz7OuYIcCg1guPnk4l2o8N4ykdgotZusBIARMAQ5vs3dvgAtapuy/JJq2bUdIA6+Qzog5eDT9qgKSaBXsHnT53KZMnw8yI8cBAVtH6/V5yvHMOlzZvDX5GzRATLB1+FmQg565rQhcXoH7UXNHeBvH6RUi13kzxm08GNsIjhL9Z/kpb+wCb9I+RNSEw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XNZgnwuptzBzEGMvcSYkniLYjs09275LUt0a3j2y5AU=;
 b=cSiidyjnpVkj7XlxVdUFkx1aYRrnIIUu627bGM27W2Q9QhemhyR/aEHJ3ucUh/HGHzLs4F4f1hDi3zi+LWz9/YVqza/FZ1Js8sz6+pyCR8Q0QBQIdHNRfjWThhtOszRf0YW+ca6AbBjx9I1mzTm8Ta+pKsgxjJ3SnwTvcOEspkQ=
Date: Tue, 11 Jan 2022 13:26:50 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: <paul@xen.org>
CC: <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] xen, blkback: fix persistent grants negotiation
Message-ID: <Yd13iklHYgCxrLQw@Air-de-Roger>
References: <20220106091013.126076-1-mheyne@amazon.de>
 <Yd1l01jTPwx5oBuo@Air-de-Roger>
 <74977663-c229-60c7-fae3-d13ff4a8d558@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <74977663-c229-60c7-fae3-d13ff4a8d558@gmail.com>
X-ClientProxiedBy: MRXP264CA0005.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:15::17) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 791c5074-4ce4-49c7-92c6-08d9d4fda777
X-MS-TrafficTypeDiagnostic: DM6PR03MB4602:EE_
X-Microsoft-Antispam-PRVS: <DM6PR03MB460291CCBF64C9471E37A1168F519@DM6PR03MB4602.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: nd0zh5M4czuYckYp38iz07TYpEoKNr+XxI4Hzr7YdVkb/hPw1zfkR4t6vDgxxRcj7ARjP6xsuOevMGDF8UMuFSXZ8+a+fLlzi9a36LB0FTiQ4DI3eqXsarhL7wfT1FI6BDaGPdaniJ9QVY7LOSvNjTYHPrniSyizZKiyVBTqQ1aDv6nQPeUOx+At5UrEtsLs7dzbS6gcFaGaaBgBQiTaYcWBFTG+pXtIUx/T08PjK4QdJsmdl8smH7QRi3IXX3c15tgk6tzPYilEF02MbyfcQwhkhdEMQWA5rROG8uxVnMP+zJiVNXvhNP1OWnFfXv5zr9aUGxVTPD2TRg2mRksOBDBftNDGD5I9g97U6fwd7j6SVrOc3eJ/jY7C6tiJO/CsU1gmR9qi3MkXUt5Nk5NweWeWC1yDIJcRsczWjVTBvWUyzNnNWkQHHjrJKMmXKJzZ5YlZLVNrWWuPg+SzMCS9w1uOs0E38dcMm7ZMpoHCZ1HMsNfe/52sO1aNe0w75w4T0CrTF+H6UmGWqjwHKyR60pwtu4LUdibrlg5YhDcxrQNQgEL9Xct+SbAe52BHper15oWpkZSqpfEqHk+ELD31wpM4cjAAhNOb7ZSqm6ojZkzh0mM690xXkedKrJykNnHQuVDLATf9w6bLB3j2Di2jJA==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(4326008)(6916009)(86362001)(85182001)(6666004)(186003)(316002)(83380400001)(26005)(53546011)(5660300002)(82960400001)(6506007)(8676002)(33716001)(8936002)(2906002)(66556008)(6512007)(508600001)(66476007)(38100700002)(6486002)(66946007)(9686003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NHRMSS9TRUdRZjloTndBc1ZONUxnaUtIWDZXOUNtR3dQR0ZyNnZwamVtOW13?=
 =?utf-8?B?dm9tSWdHc1U4bkh3Nm5SVUtlY0hUWHd5dXBnajJ5Qk9MM1doTjlnOEp3V1lF?=
 =?utf-8?B?RGd6TnpnQVhkMXFoZmRlNkNWQWh2UHg0YS9ldzhGeU95QmNZQzZ0R3pGbkZC?=
 =?utf-8?B?UDlZN3J4UEpDRWJCNmF4LzNQREI2NzEyOXhvTVVHejdzbCtXWEhKblVMbkg4?=
 =?utf-8?B?WEJvczA1eGZYL1FBVjRpLzVYT2dMZWFValBFWmo3c0RQSXc3ZjRiaElzdEJ6?=
 =?utf-8?B?U3lHbEkrelo3Vk83M1FkeWo3RThJbTFHeW5rQTJheHVkMkNab2ZGRUFTR3hv?=
 =?utf-8?B?SURFZW9weE05YXJmd2FQK2lSNU40M2VpZTVZOUMvRTFNTXVKWTA2SC9iNFJI?=
 =?utf-8?B?eTVHWW1Eei9oT2tlRTE0SGdMTFprQTQ4L1MzekJOeGplZ3hNWmI4YzdtWFVJ?=
 =?utf-8?B?WDNVbjJFOFpjSTFpS2gySGlmZHZNRUk0Q0xPT2k0SVdjQzRpWXNhNklzcUZ3?=
 =?utf-8?B?RkhYOUFMY0JwcW1QenlXb3Ric04xTENoVm5TY1h1cERxWVZobUFEVnpOYlRq?=
 =?utf-8?B?aDR5RmptcXhSSk04dlZka1lwSVhwc0N2MTFFek40eHdvR01taENVSHpVUHM4?=
 =?utf-8?B?QTRaY01CS0pmVVMzLzE2T0wrdmZTUk8wdjlsOXR6OUFRUGtsd1p4R2lxZFZG?=
 =?utf-8?B?b2JUSWZsOWxPZ2E0YlV3cFAwSVNiRXI2cGR0OWZWRXhoMmhqQWhOMmRmTHAr?=
 =?utf-8?B?M0VtUlJNZUU0bUNrd2djT2FqdEwrUVpIbHBlUzI2K04xVi9VVmxnZzJPSUlS?=
 =?utf-8?B?NFczd285Yi9XUjgzRFQzbEtCTzkzZ01BeDBzdXFlcFBIQXFaaFBrdHVPdXNt?=
 =?utf-8?B?dit2aHF2MTlTYnRGLzNBVzY5dTB3UFBMWFlzdU15L0JISGp5UzRTZWR5SDVF?=
 =?utf-8?B?RWxwcU92VVVCbmI4K1FWUjF1WldQMEc3dHlHN0ZxdUdHS0dmYW1qZVlpKzV6?=
 =?utf-8?B?R09sWnFEb0c5M1l4NzdNclNzSTVweEhYZ1h1LzFtNlg1bngzajhldU4xTVJO?=
 =?utf-8?B?bVl6MXlWeXU0Zm16UVZRcEZNcjJIanRnOTVpM05ObHFmKzZVMTgvMUFwTW1t?=
 =?utf-8?B?aTM5cmk5N3U0Q2lsVy9KYTRNdVJzUG9CNXdXZDU2UkVPM3l5V0dSdFQ2Q2ps?=
 =?utf-8?B?VWZBb3dGYU96RTRwQmZacllJaS9VNWlNeGl1TnorMnVDODlvZ1o5elVSalVE?=
 =?utf-8?B?bnFTd1BQQjVpV3hMVklGZ2RiVVFDNnhXSVlqY3pWQlliRklLWExydFh0enl1?=
 =?utf-8?B?Qk9GSlF5L05VQzRDYVROMUpxM2UvWVpSNzZ2bEZQQ1d5cDlqdkQxenZnOXAx?=
 =?utf-8?B?OUJUTlAvdkFBRlJWcXoyMHNHNElwTjBHcEpWdGhtL2lreHlQTlI2UEFzandN?=
 =?utf-8?B?R2RFcERxSzBhSTZOb3d3M2dDc3FvM1FvV1Z2OEJvK0I3eVRkRmd1am00M3ZV?=
 =?utf-8?B?eTNpMnJGaTdSRk04ejdxVXQvM1B6N0I1bnlLZ1psa1R6M09VeUtzVHhEbmRT?=
 =?utf-8?B?NWh1aTNxSDdjUlVEamdVZmZEWVRjUjd2MnBQenRnaEtjeXluOTNGdGEwdno4?=
 =?utf-8?B?T1NEdUtIMlVSVmNIb3BmNlNENFV5RWl4Z3pJVjFRcmxuVTVrWjJrVndaQWx4?=
 =?utf-8?B?YXVrOVVyajVZdU1tdzIvdVE3YmcySUtzQWw3R2d5Y0NmY2R6eU1oejlVVTQy?=
 =?utf-8?B?U09zZVZLNXgxUnh6UWhTcnpxQ1NsOUJOb3VRdkhkSjJmK3pnTWpLVERScVZV?=
 =?utf-8?B?dFB1Y1ArRDYrd09qbEZsbm5TTWZLUnJJQlZTU0g5L1Q5eWVlZWNpZjBOOFJK?=
 =?utf-8?B?WWNrNWxEVjhQaUEvN1BVWTkrVmhVMStYS0RROU5DaU5QL3B3bDU5TkwyNFlQ?=
 =?utf-8?B?V3creUNqZVNpNXNscVovWE1vWHlodVpjVDE1RlUxcGVEOTNZRlVWVjdidFlD?=
 =?utf-8?B?bFIzVmtIM2NpRzQ2cko0Y0g5SlAyOUNhNlhndmNOTGxwT28ybDhKM05uSHFs?=
 =?utf-8?B?T0ptcDdQV2FoTndPcms5dGpaT1RwY3pESzJxb0M4aExXajl2Sy9JcDRLWGFV?=
 =?utf-8?B?TGRHMVIxcnJzU2Z4Q1hnbXdsaVVvTStyT0JqVFhrUHRpNWpMVGNNRzJXU1hR?=
 =?utf-8?Q?7OBYOhTcIuIzODkK5UP4v+A=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 791c5074-4ce4-49c7-92c6-08d9d4fda777
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2022 12:26:55.2643
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wFsr1g7Z+oToIMzJVP66YJ4WO6Qd+w9XVgASW4JZvcCvWBx/I2rPx2E3ygtVVBaELZF3Ov3wggLg1LKfje0TEg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4602
X-OriginatorOrg: citrix.com

On Tue, Jan 11, 2022 at 11:50:32AM +0000, Durrant, Paul wrote:
> On 11/01/2022 11:11, Roger Pau Monné wrote:
> > On Thu, Jan 06, 2022 at 09:10:13AM +0000, Maximilian Heyne wrote:
> > > Given dom0 supports persistent grants but the guest does not.
> > > Then, when attaching a block device during runtime of the guest, dom0
> > > will enable persistent grants for this newly attached block device:
> > > 
> > >    $ xenstore-ls -f | grep 20674 | grep persistent
> > >    /local/domain/0/backend/vbd/20674/768/feature-persistent = "0"
> > >    /local/domain/0/backend/vbd/20674/51792/feature-persistent = "1"
> > 
> > The mechanism that we use to advertise persistent grants support is
> > wrong. 'feature-persistent' should always be set if the backend
> > supports persistent grant (like it's done for other features in
> > xen_blkbk_probe). The usage of the feature depends on whether both
> > parties support persistent grants, and the xenstore entry printed by
> > blkback shouldn't reflect whether persistent grants are in use, but
> > rather whether blkback supports the feature.
> > 
> > > 
> > > Here disk 768 was attached during guest creation while 51792 was
> > > attached at runtime. If the guest would have advertised the persistent
> > > grant feature, there would be a xenstore entry like:
> > > 
> > >    /local/domain/20674/device/vbd/51792/feature-persistent = "1"
> > > 
> > > Persistent grants are also used when the guest tries to access the disk
> > > which can be seen when enabling log stats:
> > > 
> > >    $ echo 1 > /sys/module/xen_blkback/parameters/log_stats
> > >    $ dmesg
> > >    xen-blkback: (20674.xvdf-0): oo   0  |  rd    0  |  wr    0  |  f    0 |  ds    0 | pg:    1/1056
> > > 
> > > The "pg: 1/1056" shows that one persistent grant is used.
> > > 
> > > Before commit aac8a70db24b ("xen-blkback: add a parameter for disabling
> > > of persistent grants") vbd->feature_gnt_persistent was set in
> > > connect_ring. After the commit it was intended to be initialized in
> > > xen_vbd_create and then set according to the guest feature availability
> > > in connect_ring. However, with a running guest, connect_ring might be
> > > called before xen_vbd_create and vbd->feature_gnt_persistent will be
> > > incorrectly initialized. xen_vbd_create will overwrite it with the value
> > > of feature_persistent regardless whether the guest actually supports
> > > persistent grants.
> > > 
> > > With this commit, vbd->feature_gnt_persistent is set only in
> > > connect_ring and this is the only use of the module parameter
> > > feature_persistent. This avoids races when the module parameter changes
> > > during the block attachment process.
> > > 
> > > Note that vbd->feature_gnt_persistent doesn't need to be initialized in
> > > xen_vbd_create. It's next use is in connect which can only be called
> > > once connect_ring has initialized the rings. xen_update_blkif_status is
> > > checking for this.
> > > 
> > > Fixes: aac8a70db24b ("xen-blkback: add a parameter for disabling of persistent grants")
> > > Signed-off-by: Maximilian Heyne <mheyne@amazon.de>
> > > ---
> > >   drivers/block/xen-blkback/xenbus.c | 9 +++------
> > >   1 file changed, 3 insertions(+), 6 deletions(-)
> > > 
> > > diff --git a/drivers/block/xen-blkback/xenbus.c b/drivers/block/xen-blkback/xenbus.c
> > > index 914587aabca0c..51b6ec0380ca4 100644
> > > --- a/drivers/block/xen-blkback/xenbus.c
> > > +++ b/drivers/block/xen-blkback/xenbus.c
> > > @@ -522,8 +522,6 @@ static int xen_vbd_create(struct xen_blkif *blkif, blkif_vdev_t handle,
> > >   	if (q && blk_queue_secure_erase(q))
> > >   		vbd->discard_secure = true;
> > > -	vbd->feature_gnt_persistent = feature_persistent;
> > > -
> > >   	pr_debug("Successful creation of handle=%04x (dom=%u)\n",
> > >   		handle, blkif->domid);
> > >   	return 0;
> > > @@ -1090,10 +1088,9 @@ static int connect_ring(struct backend_info *be)
> > >   		xenbus_dev_fatal(dev, err, "unknown fe protocol %s", protocol);
> > >   		return -ENOSYS;
> > >   	}
> > > -	if (blkif->vbd.feature_gnt_persistent)
> > > -		blkif->vbd.feature_gnt_persistent =
> > > -			xenbus_read_unsigned(dev->otherend,
> > > -					"feature-persistent", 0);
> > > +
> > > +	blkif->vbd.feature_gnt_persistent = feature_persistent &&
> > > +		xenbus_read_unsigned(dev->otherend, "feature-persistent", 0);
> > 
> > I'm not sure it's correct to potentially read feature_persistent
> > multiple times like it's done here.
> > 
> > A device can be disconnected and re-attached multiple times, and that
> > implies multiple calls to connect_ring which could make the state of
> > feature_gnt_persistent change across reconnections if the value of
> > feature_persistent is changed. I think that would be unexpected.
> > 
> 
> Would that not be legitimate though? What happens if blkfront is upgraded
> (or downgraded)? Each connection should be 'groundhog day' for the backend
> IMO.

Previous implementation cached the value of feature_persistent for the
lifetime of the backend, and I assume this was the intended behavior.
Ie: so that an admin could create a set of backends with persistent
grants not enabled and then switch it on afterwards and expect only
newly created backends to use the new value.

If the intention is indeed to read the value of feature_persistent on
each reconnection it should be noted in the commit message, as it's a
behavior change.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 12:52:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 12:52:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255725.438294 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Gdb-0004QD-5J; Tue, 11 Jan 2022 12:52:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255725.438294; Tue, 11 Jan 2022 12: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 1n7Gdb-0004Q6-1p; Tue, 11 Jan 2022 12:52:31 +0000
Received: by outflank-mailman (input) for mailman id 255725;
 Tue, 11 Jan 2022 12:52:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kSBO=R3=arm.com=andre.przywara@srs-se1.protection.inumbo.net>)
 id 1n7GdZ-0004Q0-T1
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 12:52:29 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 5456d94a-72dd-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 13:52:28 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 9469D1FB;
 Tue, 11 Jan 2022 04:52:26 -0800 (PST)
Received: from donnerap.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com
 [10.121.207.14])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 416873F774;
 Tue, 11 Jan 2022 04:52:25 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5456d94a-72dd-11ec-9ce5-af14b9085ebd
Date: Tue, 11 Jan 2022 12:52:22 +0000
From: Andre Przywara <andre.przywara@arm.com>
To: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>
Cc: Julien Grall <julien@xen.org>, Bertrand Marquis
 <Bertrand.Marquis@arm.com>, "xen-devel@lists.xenproject.org"
 <xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
 <sstabellini@kernel.org>, "stefanos@xilinx.com" <stefanos@xilinx.com>,
 "Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>,
 "jbeulich@suse.com" <jbeulich@suse.com>, <beata.michalska@linaro.org>,
 <richard.henderson@linaro.org>
Subject: Re: [XEN v2] xen/arm64: io: Decode 32-bit ldr/str post-indexing
 instructions
Message-ID: <20220111125222.6e2af49b@donnerap.cambridge.arm.com>
In-Reply-To: <2978437f-c7ad-e874-5355-5bdfa2185f1c@xilinx.com>
References: <20211129191638.19877-1-ayankuma@xilinx.com>
	<20211130094950.1bf368d6@donnerap.cambridge.arm.com>
	<a69d41f1-7b57-c127-ae73-2de5a581dddd@xilinx.com>
	<D8811539-65F2-4D40-BFEF-CE72EA8E902A@arm.com>
	<4315f3f8-4431-3257-dc95-a3089532237b@xen.org>
	<20211208120048.63fbf49b@donnerap.cambridge.arm.com>
	<0f6e058a-bc23-2a77-6797-39bfacb7db79@xilinx.com>
	<20220106153327.6ebb2be1@donnerap.cambridge.arm.com>
	<2978437f-c7ad-e874-5355-5bdfa2185f1c@xilinx.com>
Organization: ARM
X-Mailer: Claws Mail 3.17.5 (GTK+ 2.24.32; aarch64-unknown-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

On Mon, 10 Jan 2022 14:33:11 +0000
Ayan Kumar Halder <ayan.kumar.halder@xilinx.com> wrote:

Hi Ayan,

> Many thanks for your inputs. It is making better sense now. Much 
> appreciated.
> 
> A few questions/clarifications :-
> 
> On 06/01/2022 15:33, Andre Przywara wrote:
> > On Wed, 5 Jan 2022 16:55:11 +0000
> > Ayan Kumar Halder<ayan.kumar.halder@xilinx.com>  wrote:
> >
> > Hi,
> >  
> >> Thank you so much for your feedback.
> >>
> >> I need a couple of clarifications before I can start with the v3 patch.
> >>
> >> On 08/12/2021 12:00, Andre Przywara wrote:  
> >>> On Mon, 6 Dec 2021 19:31:06 +0000
> >>> Julien Grall<julien@xen.org>  wrote:
> >>>
> >>> Hi,
> >>>     
> >>>> On 01/12/2021 08:41, Bertrand Marquis wrote:  
> >>>>> Hi Ayan,
> >>>>>         
> >>>>>> On 30 Nov 2021, at 19:13, Ayan Kumar Halder<ayan.kumar.halder@xilinx.com>  wrote:
> >>>>>>
> >>>>>> Hi Andre,
> >>>>>>
> >>>>>> Thanks for your comments. They are useful.
> >>>>>>
> >>>>>> On 30/11/2021 09:49, Andre Przywara wrote:  
> >>>>>>> On Mon, 29 Nov 2021 19:16:38 +0000
> >>>>>>> Ayan Kumar Halder<ayan.kumar.halder@xilinx.com>  wrote:
> >>>>>>> Hi,  
> >>>>>>>> At the moment, Xen is only handling data abort with valid syndrome (i.e.
> >>>>>>>> ISV=0). Unfortunately, this doesn't cover all the instructions a domain
> >>>>>>>> could use to access MMIO regions.
> >>>>>>>>
> >>>>>>>> For instance, Xilinx baremetal OS will use:
> >>>>>>>>
> >>>>>>>>            volatile u32 *LocalAddr = (volatile u32 *)Addr;
> >>>>>>>>            *LocalAddr = Value;
> >>>>>>>>
> >>>>>>>> This leave the compiler to decide which store instructions to use.  
> >>>>>>> As mentioned in the other email, this is wrong, if this points to MMIO:
> >>>>>>> don't let the compiler do MMIO accesses. If a stage 2 fault isn't in
> >>>>>>> an MMIO area, you should not see traps that you cannot handle already.
> >>>>>>> So I don't think it's a good idea to use that as an example. And since
> >>>>>>> this patch only seems to address this use case, I would doubt its
> >>>>>>> usefulness in general.  
> >>>>>> Yes, I should have fixed the comment.
> >>>>>>
> >>>>>> Currently, I am testing with baremetal app which uses inline assembly code with post indexing instructions, to access the MMIO.
> >>>>>>
> >>>>>> ATM, I am testing with 32 bit MMIO only.
> >>>>>>
> >>>>>> On the usefulness, I am kind of torn as it is legitimate for post indexing instructions to be used in an inline-assembly code for accessing MMIO. However, that may not be something commonly seen.
> >>>>>>
> >>>>>> @Stefano/Bertrand/Julien/Volodymyr :- As you are the Arm mantainers, can you comment if we should have decoding logic or not ?  
> >>>>> Andre gave you the official statement from Arm and there is nothing more I can say.  
> >>>> I think this would be handy for other hypervisor and OS developper to
> >>>> know what they can expect when running in a virtualized environment. So
> >>>> would it be possible to update the Arm Arm reflecting this statement?  
> >>> I don't think it's within the scope of the ARM ARM to say that. It just
> >>> says that "there is no syndrome information", and your mileage may vary in
> >>> working around that.
> >>>
> >>> Personally I would say that if you expect your software to work nicely
> >>> under a hypervisor, then just avoid those instructions. The Linux kernel
> >>> certainly did so.
> >>>
> >>> You can try to do instruction emulation, but doing this right can get
> >>> tricky quickly: think about I$/D$ coherency, MMU on or off, etc.  
> >> I am trying to get all the restrictions that need to be checked. I have
> >> referred
> >> https://developer.arm.com/documentation/dui0802/a/A64-General-Instructions/Register-restrictions-for-A64-instructions?lang=en  
> >> and "Arm A64 Instruction Set Architecture - DDI 0596" - LDR (immediate).
> >>
> >> So far I only see the following restrictions:-
> >>
> >> Rn -ne Rt
> >>
> >> Rt -ne SP
> >>
> >> You had mentioned the following cases :-
> >>
> >> 1. XZR vs SP - I see that both these refer to register no 31. Xen gets
> >> the register number (for Rn/Rt) only, so I am not sure what is to be
> >> done here.  
> > But the emulation code in Xen needs to know whether number 31 refers to the
> > stack pointer or to the zero register. This depends on the context of the
> > instruction. It's nothing magical about it, you just need to figure out
> > which it is in your case and make sure that the code uses the right
> > value. In the LDR case n==31 means SP, but t==31 means XZR. The emulation
> > would need to consider this.  
> 
> I see what you mean. I had a look at 
> xen/tools/qemu-xen-dir-remote/target/arm/cpu.h, CPUARMState {}. I don't 
> see anywhere we need to refer register by its name. IIUC, the 
> instruction decoding logic needs to know the register number only.

But there is of course still a difference between them: they refer to two
separate registers, they just share the encoding of x31 in the instruction.
Each instruction then *knows* what register it needs to go to when it sees
number 31.
By its very nature, you don't need to save XZR, so GPR[31] is typically
the SP, if you have an array holding register values, and you
probably handle the XZR case in code.

> In fact, Xen would only read CPUARMState->xregs[31] for SP/XZR in 
> Aarch64 context. Let me know what I might be missing here.
> 
> Beata/Richard - I see you have committed most recently on the file. 
> Please feel free to add your inputs.
> 
> >  
> >> 2. MMU on or off - As I see in try_handle_mmio(), one gets the physical
> >> address in gpa. So I am not sure what is to be done here.  
> > You *might* be fine, if Xen takes care of that, I don't know.
> > But it needs to explicitly consider those two cases - and also make
> > sure that caching effects are cared for.
> >  
> >> 3. I/D coherency - I don't understand how this affects instruction decoding.  
> > In the ARM architecture the I cache and D cache are not necessarily
> > coherent. So whatever the CPU reads via the data bus does not need to be
> > the same data that the instruction fetcher read a while ago. And while
> > there is a well-known sequence to make the current data side visible to
> > the instruction side, there is nothing architectural for the other way
> > around.
> > For example the CPU fetches a bunch of instructions into the I cache, then
> > consumes it from there. Now some code changes those instruction words in
> > "memory". Without explicit D-cache-clean-to-the-PoU and
> > I-cache-invalidate+ISB the CPU might still execute the old instructions.  
> 
> This makes sense. Referring 
> https://developer.arm.com/documentation/den0024/a/Caches/Cache-maintenance, 
> I assume that the following instructions need to be executed before the 
> instruction is decoded.
> 
> Xn <--- contains the address of the instruction to be decoded.
> 
> STR Wt, [Xn]
> DC CVAU, Xn // Clean datacache by VA to point of unification (PoU)
> DSB ISH // Ensure visibility of the datacleaned from cache
> IC IVAU, Xn // Invalidate instruction cache by VA to PoU
> DSB ISH // Ensure completion of the invalidations
> ISB // Synchronize the fetched instruction stream

That is what I sketched above: the typical sequence to make sure the
instruction fetcher reads the right instructions, after you updated them.
BUT this is not what we need here, we need to other way around: read the
instruction that the CPU executed, but via the data bus, from memory. And
I wouldn't know of a neat architectural way to ensure this.

> > But if your emulation code tries to read the instruction from memory, it
> > fetches the data-visible side of it - which is not what the CPU executed,
> > so end up emulating the wrong thing.  
> 
> I am guessing that this should not be a very unusual case. Isn't this 
> similar to a host processor loading and modifying a firmware in the 
> memory. The firmware can then be executed by a different 
> micro-controller or some programmable engine. I mean the data pipeline 
> or instruction pipeline should read the same contents from memory.

... if they are coherent. Otherwise you need explicit maintenance, see
above. I mean it's the same situation with an external processor: this
core reads instructions from memory and is probably buffering/caching them
(crucial for performance). Now you need to tell if that buffer might
contain stale data, and if the data in memory has changed meanwhile.

> > Please also keep in mind that the architecture does not *guarantee*
> > coherency, but in reality it might actually be coherent - either because
> > of the particular silicon implementation, or because of side effects in
> > the system (data cache line being evicted, ISB executed). So seeing the
> > effects of coherency in your testing does not mean you are safe, it might
> > just happen by chance.  
> 
> Is there some good way to test this to ensure the best possible 
> reliability ?

That's the problem, I think: You can reason on the basis of the
architecture as described in the ARM ARM, but this brings you to the
problems above. You can now try to hand wave away the problems, by stating
that this will never happen in practice, but you then leave the steady
ground the architecture gives you. That's why I was asking before if this
is really necessary code to have, or if you would just be better off
fixing the guests.

Cheers,
Andre

> >> Please help me to understand further.
> >>
> >> - Ayan
> >>  
> >>>     
> >>>>> I will leave this decision to Stefano and Julien.  
> >>>> I have had a chat on IRC with Stefano about this. I think the main
> >>>> sticking point is the Arm Arm doesn't clearly state those instructions
> >>>> should not be used by a virtualized OS on MMIO regions.  
> >>> I don't understand why the ARM ARM would need to say that. Certainly you
> >>> realise that immediately when trying to use them, and apparently it was not
> >>> a problem in the last 8ish years of Xen/ARM's existence.
> >>>
> >>> So it's your decision on having the emulation, I personally would only do
> >>> it when there is a *good* use case.
> >>> And please apply the demanded scrutiny on the review - including all the
> >>> corner cases like Rn=Rt, XZR vs. SP (as Jan said) and possibly MMU status.
> >>>
> >>> Cheers,
> >>> Andre
> >>>     
> >>>> To me, this topic looks similar to the set/way instruction dilemma. They
> >>>> are a pain to virtualize (and the Arm Arm clearly hint it) but we had to
> >>>> do it because some OSes relied on them.
> >>>>
> >>>> I think the main difference is the Arm Arm doesn't hint they should not
> >>>> be used (it only says a valid syndrome is not provided) and the
> >>>> implementation should hopefully be smaller and self-contained.
> >>>>
> >>>> So I would be inclined to allow Xen to decode post-indexing instructions
> >>>> (pending the review).
> >>>>
> >>>> Cheers,
> >>>>     



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 13:34:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 13:34:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255729.438305 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7HII-00008F-BI; Tue, 11 Jan 2022 13:34:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255729.438305; Tue, 11 Jan 2022 13:34:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7HII-000088-8H; Tue, 11 Jan 2022 13:34:34 +0000
Received: by outflank-mailman (input) for mailman id 255729;
 Tue, 11 Jan 2022 13:34:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WMrX=R3=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1n7HIH-000082-1W
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 13:34:33 +0000
Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com
 [2a00:1450:4864:20::12e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 35031930-72e3-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 14:34:31 +0100 (CET)
Received: by mail-lf1-x12e.google.com with SMTP id u13so56233852lff.12
 for <xen-devel@lists.xenproject.org>; Tue, 11 Jan 2022 05:34:31 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 35031930-72e3-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=XrDAom7H8/BgHjxioCEdiqbAtMaOUx3qoD8k8GLwEW4=;
        b=bLcPlaUbugOH/J+Ywj+IzUy4u3pBk1dp+MM/4vD+RhO6F76d7/cI6u/+wXtXFKZ2d+
         kbe8YazyTTBcl+bP4v9COe2iRwL0CGOtTCWHchrE5G0av8ADsEA5FJzqV42GRiS7te1h
         8ineTnUEF3iIGZ05Zs8Ni/t4bBPand/65+Nd8qlKzn6F/hqSxv1htc7iV6mahvPT7pY0
         2I5+iu0bEMg3eB5SAdzRnMil0z8YUgHh8/1ndN/tB2jcTsp0SWLjcilJd/DBQaE8tGqx
         K7xoY9cIKO7JloJBo1vCLLqo1RbiQ8i1qQrooiUxld/bSfMIxndXN9ESGjcTOES4uPrN
         YuJg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=XrDAom7H8/BgHjxioCEdiqbAtMaOUx3qoD8k8GLwEW4=;
        b=Tp6WBDr10bi3FP40ZuqmGLGVcM8yRBwybp734B5n2JnVgzYcUA3FzL7IJoyJavyuP3
         wX4huO73e4gycPzi8gWW9f9Nv2uLm3kuHSfYa7aOUObNrpHNyG0DKlLH5RWGuj06rZHf
         kgpdxLpQGN4JHUgBx50Lm3eV9SzK8m6iDHbmZ9HWEKLsMv+a9SBFyUedAjw4Ov0o5Qyf
         2MamXo1wIbolDPtGWvFhJisIGliX/DcamllKef4PjSt7c0U7RFblHvREaj7rvcNgUlaO
         QmjUrM1IgNijhb3cOKvyBeJQH51hYliQzMFxHaLmJn5qv4ldAD+tV6GrjHRTNy/oq8t3
         aygw==
X-Gm-Message-State: AOAM5312aWsgZ4QP9Y2FuROTMk0Tmqfm8W/82WtqqUE2amPMiKNcwsjR
	GeQJiCBKM2zl4YGsImDJdEOWJejN11q5x2RXecU=
X-Google-Smtp-Source: ABdhPJxAAPiX2BayI7ph3fkLvEDlgDKsCGGMPHaywqAdlpy4vb8s2PBSphDHyOum2cSAmpykueMjWElxqs6R4DyJtGQ=
X-Received: by 2002:a2e:9bd8:: with SMTP id w24mr2916482ljj.19.1641908070817;
 Tue, 11 Jan 2022 05:34:30 -0800 (PST)
MIME-Version: 1.0
References: <20220109180436.4112-1-jandryuk@gmail.com> <e6176548-2d32-05c5-1132-6a658c9e313a@suse.com>
In-Reply-To: <e6176548-2d32-05c5-1132-6a658c9e313a@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 11 Jan 2022 08:34:19 -0500
Message-ID: <CAKf6xpuO1T_P5N67puHmxpTfXQqSVeJ6wXNosJTWm=kM-zQ+fg@mail.gmail.com>
Subject: Re: [PATCH v3] libxl/PCI: Fix PV hotplug & stubdom coldplug
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>, 
	Juergen Gross <jgross@suse.com>, xen-devel <xen-devel@lists.xenproject.org>, 
	Paul Durrant <paul@xen.org>
Content-Type: text/plain; charset="UTF-8"

On Mon, Jan 10, 2022 at 4:09 AM Jan Beulich <jbeulich@suse.com> wrote:
>
> (also Cc-ing Paul)

Thanks.

> On 09.01.2022 19:04, Jason Andryuk wrote:
> > commit 0fdb48ffe7a1 "libxl: Make sure devices added by pci-attach are
> > reflected in the config" broken PCI hotplug (xl pci-attach) for PV
> > domains when it moved libxl__create_pci_backend() later in the function.
> >
> > This also broke HVM + stubdom PCI passthrough coldplug.  For that, the
> > PCI devices are hotplugged to a running PV stubdom, and then the QEMU
> > QMP device_add commands are made to QEMU inside the stubdom.
> >
> > Are running PV domain calls libxl__wait_for_backend().
>
> I could only make sense of this when replacing "Are" by "A", but then
> I'm not sure that's what you've meant.

Yes, "A".

> >  With the current
> > 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 or changing to some other state like closing. If we are
> > creating the backend, then we don't have to worry about the state since
> > it is being created.
>
> While I follow all of this, what I'm missing here is some form of proof
> why the wait is _not_ needed for a newly created backend.  Isn't it
> necessary for the backend to reach Connected also when putting in place
> the first device, in order for the guest to be able to actually use the
> device?

The backend creation is now done as part of the xenstore transaction,
see "This is the first device, so create the backend" in
libxl__device_pci_add_xenstore().  That is part of Paul's change in
0fdb48ffe7a1.  Before that, it created the backend and waited.

> Is it perhaps assumed that the frontend driver would wait for
> the backend reaching Connected (emphasizing the difference to HVM,
> where no frontend driver exists)? Whatever the answer, it may be
> worthwhile to also add that (in suitably abbreviated form) to the newly
> added code comment.

I think my starting vs. !starting comment below will clarify this.

> > Fixes: 0fdb48ffe7a1 ("libxl: Make sure devices added by pci-attach are
> > reflected in the config")
> >
> > Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
> > ---
> > Alternative to Jan's patch:
> > https://lore.kernel.org/xen-devel/5114ae87-bc0e-3d58-e16e-6d9d2fee0801@suse.com/
>
> This answers the question raised in reply to Anthony's comment on my
> patch.
>
> > --- 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;
> >      }
> >
>
> In how far is the !starting part of the condition then still needed? I
> have to admit that I've been wondering about the applicability of this
> condition anyway, and your patch description actually seems to further
> support my suspicion about this not being quite right (which is
> connected to the fact that devices get added one by one instead of all
> in one go, which would avoid the need for the backend to reconfigure
> at all during domain creation).

In the starting case, libxl can write all the xenstore entries without
waiting.  The frontend is not running, so this function is called
multiple times and the additional subdevices are written.

But you have a point that the backend is running and will see the
xenstores entries.  However, Reconfiguring is only set when !starting.
And since the frontend is not running when starting, then the backend
cannot have transitioned to Connected.  Looking at xen-pciback, it
waits for the frontend to go to Initialized (From Initializing) before
transitioning to Connected.  So the multiple independent xenstore
writes accumulate for the starting case.

In the !starting (running) case, the code adds subdevices one at a
time and waits for each reconfiguration to complete prior to modifying
the xenstore state.

You previously mentioned wanting all the devices at written at once.
libxl is written to handle 1 device at a time.  That works fine for
most PV devices, but PCI with subdevices doesn't fit that paradigm.
While the PV xenstore writes could be done as a single transaction,
HVM still requires individual QMP device_add commands per device.  It
could be made to work, but it seemed like more work than it is worth
and doesn't seem to mesh well with the rest of libxl.

> Two nits:
>
> With tools/libs/light/CODING_STYLE not saying anything about comment
> style, imo ./CODING_STYLE applies, which demands comments to start with
> a capital letter.

Yes, this sounds good.

> Plus, while I'm not sure what the conventions in libxl are, touching this
> code would seem like a great opportunity to me to fold the two if()-s.

I prefer them separate.  There are two logical conditions - "do we
need to wait?" and "did the wait succeed?".  Keeping them separate
maintains that distinction, and it is more readable IMO.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 14:06:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 14:06:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255733.438316 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7HmY-0003Ry-Qd; Tue, 11 Jan 2022 14:05:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255733.438316; Tue, 11 Jan 2022 14:05:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7HmY-0003Rr-Mm; Tue, 11 Jan 2022 14:05:50 +0000
Received: by outflank-mailman (input) for mailman id 255733;
 Tue, 11 Jan 2022 14:05:48 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n7HmW-0003Rh-Mx; Tue, 11 Jan 2022 14:05:48 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n7HmW-0001yy-Kg; Tue, 11 Jan 2022 14:05:48 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n7HmW-0006GT-8p; Tue, 11 Jan 2022 14:05:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n7HmW-0006m9-8P; Tue, 11 Jan 2022 14:05:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=cb6rsZLtfScj8l12WMmk4jWe2givZaNyTH6v0neK5a0=; b=142ClkW5GVoSdxF23YJviJffEL
	NAXVli7s5cxyjvTUm0qFYhv3D6YhotCa0KA2cFBu3BlDmhxwATYZ1Nm6usdBrOyV21Y7eFenqrdAb
	BZS608U5HcYo5oFbRDzMP6qz5HBxd/uVDlhPmPd6kvABdrx3eAJZDSs6Xb2EA05qY434=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167658-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 167658: 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=22891e12a45f9bb2e1dbb5daf2ba39cbe002e4f4
X-Osstest-Versions-That:
    xen=ced5685208f4525edc3aa86f41eeaee5ccc9fe31
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 11 Jan 2022 14:05:48 +0000

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

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                  22891e12a45f9bb2e1dbb5daf2ba39cbe002e4f4
baseline version:
 xen                  ced5685208f4525edc3aa86f41eeaee5ccc9fe31

Last test of basis   167621  2022-01-06 16:01:38 Z    4 days
Testing same since   167658  2022-01-11 11:02:59 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  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
   ced5685208..22891e12a4  22891e12a45f9bb2e1dbb5daf2ba39cbe002e4f4 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 14:16:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 14:16:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255741.438327 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Hwn-0004ue-NX; Tue, 11 Jan 2022 14:16:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255741.438327; Tue, 11 Jan 2022 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 1n7Hwn-0004uX-KZ; Tue, 11 Jan 2022 14:16:25 +0000
Received: by outflank-mailman (input) for mailman id 255741;
 Tue, 11 Jan 2022 14:16:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zW4/=R3=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n7Hwl-0004uR-K9
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 14:16:23 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0d47931e-72e9-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 15:16:22 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2113.outbound.protection.outlook.com [104.47.18.113]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-8-zFBI66hDPKy6ztLnqnbFSA-1; Tue, 11 Jan 2022 15:16:20 +0100
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.4867.11; Tue, 11 Jan
 2022 14:16:19 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Tue, 11 Jan 2022
 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: 0d47931e-72e9-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641910581;
	h=from:from:reply-to:subject:subject: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=SXIayTdzU3xVDaLPRjSHx+LSZzd1LV8a706FusiPwlw=;
	b=cVrPKyhmOpNjMuVdMLalh+ppKDWaiovJ7eQZ/7eo9JMUp1En+AZ+EqNokKyq0+/MfsWqQ3
	KVE1MygACl/q2bZt3Hkab1YV/y87DEBtJ7mLUOwQBzONqEJlSTq7RmbBoccbm7w7rpoMbk
	k3yMK3n329BG0yH/1Nk0yYudyb7jJ9k=
X-MC-Unique: zFBI66hDPKy6ztLnqnbFSA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UxUHu/RnpUEMMGqSOERUBeneXLd8yS9Y51piRJA7ZLhqc+KkHBfSlyMMnFmqeD+WNh1oFrzgs2fMiJEfjDZyiu9MKrkr6t8bNKTgNwMP8FiuKCt70jdJLXSez2jOF266U2FX+08leg/z2bOw7WV/ziQAgYroL/qHuSicpsrzcuA9cuTF7104wS75UGVvFfdXflu2j9v9FY1gsGE+6LeVx3IQSmL8i/UkZKAwl43IbxeRmwgfyWGlM9LjbahDb5DrVOHgwsWfqfbXrD4K/8SJB88IWaHO6QKcqSlVZYRxEW0R3mJ/ZqGT+czNXE8/pAt5ywDiWFgvH6HyN3rhNsapZA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SXIayTdzU3xVDaLPRjSHx+LSZzd1LV8a706FusiPwlw=;
 b=Avni3E9DT5Gjbxv6O81BYRKJFdf3pL48Inon4KH8PGaVbrJhPsbmAFPWTXEDGLPjGV9PIIzdzabteZTK+FKJZVRk7ehMxBBI02HKslzJO403tcbDhwk77X5CwVY9oH7EOGN0ECix94E9Pff4LK/IstxCD9nHx5MrgQWls5B1gX8BRIas9H5gIkGIJOgsSiOSqe2wJbhMYlLXu2Y5YIrVFgQ4xXLYKe4wJx3iI3TO3V2eMElR2FsxwTcrnJRvK5klOrobZT3rdk+jCH28H/5unNtIvD+QUBRIll48tMlABVHrQvZAEwAL8Fo3Miyf7rF+XbTtV1fhMClWFzbsQDZO9g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4f0766b2-cabd-cf5e-ed84-cc2b773bf5f8@suse.com>
Date: Tue, 11 Jan 2022 15:16:17 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Anthony Perard <anthony.perard@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] build: adjust include/xen/compile.h generation
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0321.eurprd06.prod.outlook.com
 (2603:10a6:20b:45b::23) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: de8858ee-02db-459c-4fc3-08d9d50ceff6
X-MS-TrafficTypeDiagnostic: VI1PR04MB5741:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB57417926FAD3D7BDE2DF540FB3519@VI1PR04MB5741.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:
	NMP8b7X4Ko495O33/Yomb2hBkxRHPwwddGW++UbAJa/SpI64NlxYOddO2AdRekLLqwycBVUQ+riZedYw5+mV4yxDafErl7NYcsR15fVtFeFJteNmvCXxS7Qlh//YukvmY7K1ma2Xcki2QKSKEKgdFIhvTk87Ev3cuMMtQpDMct+IjsoRmPnl3fX2goDuJBqLOFxJKB2W9VITU3Lp7S9zkDH28ohgBbWg9lEIz+p44+5lIy2uWUJT0JYwxUSVUbIqWS1eK6D0KORjtiqXOjrQsXONNy8u2N4VSPvZQz1aybgBTnyObz5qeP0CwkW5ip1H6YBDyzZE0Lw0cZSX3UzvMg6RhlqjNlwe9d3izfODfv8dZNyKFnNf2PUAf3dCJKYtFcRP8rXT3xyHpf4sZZ3OPrGZlVFM0TpH83lBKE5+QyMk1KZ/oXxrjq+JJC6vFGSTcm2A9eTrjFviyh6Oj2qOjm0tQ+Fw2EjhYiIhK7J3lKnyt+8NqXmUyJTGw1wbffPZsmHPH7b6SoLugFFBczM1D6ukxZymdw6LQcT63JTo0DyZ/JFbfD4An0Gg0A6GBl0ABSWrDGTcIMm8/SOkkRBP5PICIGDpDHaE3vVR8Pm6O6P2IQDe4RU1rcJP7LwMFlBvonyzN/g1jX3fCO4FTliYfrwl3lYbmckR76aMk7VmhGRlNd8lw4S6S9+quBJ9f+c9AjEp0jwnuaR8OTMILpgAIrpZkgN2LVWQdXzea1XKZjg=
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)(5660300002)(6486002)(26005)(38100700002)(31686004)(31696002)(2616005)(66946007)(6916009)(186003)(54906003)(66556008)(66476007)(8936002)(6512007)(36756003)(316002)(4326008)(86362001)(6506007)(2906002)(8676002)(508600001)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cjdaMEl3RWZTR21iamdFR3FIc0RkK1NuTmtQS3U4azRhQWlWdG1yOEpnaDlR?=
 =?utf-8?B?SjJyZ0ZOc2NrTnZsb2xrdzdFNkE3RW4vUktiRktRNldZT0dvcWx1ajUya1dl?=
 =?utf-8?B?ZWFBVDVYWk9xV21sWlJKZ3VrS1hlU1ArY29SSklZTE9FRWFuOFNEUU1wRWVz?=
 =?utf-8?B?MlpVMGxZZU9lVUlxZXJZVytCNE8zZHVVamR6ZEx4VUZ6NUxHcGRJeXhQdGlQ?=
 =?utf-8?B?S0tBQzI5OWFMRnU1SHg4MXhkK3BidkRVcTVQV0w4Sll0ZDlkenZHaiswVUdl?=
 =?utf-8?B?RkRDUERibkFhL0g5MU1jT09zMExXZkhqVENmSFZTTzNmNGVLam9EcTR5Sy84?=
 =?utf-8?B?WE92T1RoSDl5WGtvVE9ORERBVlBkUVAxRnBGdzg3QUtRS3ZpektaRUE5R0NT?=
 =?utf-8?B?L01ndWt0Z3NVdHlONisyVWloNjBFN2k2MEE0TzJTa2l2dDB5VDZkWnZXWjVT?=
 =?utf-8?B?NUxhaE9WRU5DSFYxc0JXdUpjZEJzOW15YVF4QWx2M1o1aU5PL3dwclNPTVV1?=
 =?utf-8?B?bHZZd3hYYjhVZEtKTytuaG94cGdNY0NFZHErUjFDL0ZaL2RYY296ZldsaVox?=
 =?utf-8?B?MGtESFVpTmZZK0xNZ09qQ3VieERBNG5kblBIbHJxV2tZOXNLbFdJa3hjbndk?=
 =?utf-8?B?cTFwNmMva2MvZjlrTTJkZGVzQ0p6UWdmOFp1TXV5MkxiOHI1RUZsM3hFTlZV?=
 =?utf-8?B?OThqUUJFTkZqT3BLck5oMmZvVVR3WUNTaUhJbUw2NEN6NzVXSWFiV0pDL2ZL?=
 =?utf-8?B?cG5OSDJxckJMOUgxQ3gxeGtvRmZnT2J0QkFSR0NIOE1teDFtcU9ORkxzc2ln?=
 =?utf-8?B?ZjBuZWN5amhPb0F1aitOQUNPY1gwOGJUQ3Zjc2hNTkNrbDMyenRhVENleFhx?=
 =?utf-8?B?N0dEMVFWRmJIcnJVdVJOcUFJTG8zSGExbUVaQWltcXBNT29tMGZZZ3JWOFdS?=
 =?utf-8?B?aE1TVTk5ei91SldXU2lNdVhVWWxuaWdtSUV3WDZKckZPbHJ4cWpFT3kxb1VF?=
 =?utf-8?B?KzBTdHpVMmZhT2hQRVM1dlQrbEUvT1Zvdnc3M1RQMmVRM3hQT1BGUnpzenpN?=
 =?utf-8?B?bXpoNGswbDZQbzQxcGlVT2pIZ1RTLzRpNXlQOGZOU1VSMHcycXNoeEsxV0pX?=
 =?utf-8?B?enU3dFNVVmRUNkN5aFIxdU03T2J3SHFpVWZibmdoVUFFTUZ4VE80TmNpcGxj?=
 =?utf-8?B?ZWNwMzRkcGUvLzlWQ2t1aWZsVjdXbWwvbDNkZ2p5aVdBMklEWXJLdEF0bGFt?=
 =?utf-8?B?bTZDd3FtcVhaZ0x3SjBBODVwOC9UNmoyc1NlU0ZBT2E4T25zN1llS25VeW05?=
 =?utf-8?B?VE1FTjZPTFVxbWlMdUVyRU1WdkZKQmZDV2s3UUFPbWo0ZDZzazRaMWtrclFT?=
 =?utf-8?B?L3hNRjhHWGYvUG9yc1FmMFcwQU1yc1lyTzZNZExLNzRQcFNBNHVJWE9kbE9s?=
 =?utf-8?B?YTRCUmxYSHRXMFJMQzBTQWNmWnI1L3N1dDlsSEtXeTlMVm1oeFZsdElsQk9u?=
 =?utf-8?B?Y0hyUFlnMXlLUnFRMUk4L0RuUlVtQnNPVVluZS8vckRjRnF5UHIyY1F3c1Za?=
 =?utf-8?B?b0o1cHFZT2lQdHZPU0ZRMG92bUU4UVVOR3ZYRWtnbGVwUGNSRnY0cVFQR1dq?=
 =?utf-8?B?QlRSbk5lcTVVazRCeFpDeTE4d2tSTzNIRFZmT1VsZk5RcDYrVm8vcXBZa1BW?=
 =?utf-8?B?UzR6WUc0WDRaSzhBMzNOdWY1S1NWd1NIU3JmWEYwVUhsME5FL1FPZFdwWGZI?=
 =?utf-8?B?VGRlYitQMWlSRmVVWCtlV2hQMEhZOXphb0JURWZXVWF0eWoxVnc1WDdjcEhU?=
 =?utf-8?B?ZU5mV3A5YndKREJkNDZ3RUZweUhxVXB6SmsvWUEya0ZSS1dUc3oxaUM2MnF6?=
 =?utf-8?B?ekJQM0k4SFJGOEU0N3JvdXVEZTFhcUE2ZzQ4eE04LyswZlBkTUN0aEY1NE5N?=
 =?utf-8?B?U0RpbVFRYnh3cEI2TXl2Um1XMldBVE1saXRwRmhMTk8vbk5ET0VFSzFUbXRR?=
 =?utf-8?B?VnFzbDVmV0lBbWJsQzltUzVZL2JGOCtXS0UrQ2wrQUdKK0xvY25iQ3FJWmZh?=
 =?utf-8?B?TUdsaFJWMEFBbUJFTytlWjlqUXpGK0srTDhzdVZMRU9LVjA0ZEFKcStjWHNw?=
 =?utf-8?B?NlExT2FiV0NTTnBWV3MreFNlWDN0bEl0RHFCTjRVbGlVZWVHd3dFUjU4Z1pN?=
 =?utf-8?Q?qksStsER8xnqTKq9EzYk9cY=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: de8858ee-02db-459c-4fc3-08d9d50ceff6
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2022 14:16:19.3185
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 8pgg/atmRgp5LmTXdtpP+pJJQfnxeQ8f4BfPr08+jPqJhnUT260GPKRk0UL0EQfs9q2YgE5m2QL5OEsdDfZkDQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5741

Prior to 19427e439e01 ("build: generate "include/xen/compile.h" with
if_changed") running "make install-xen" as root would not have printed
the banner under normal circumstances. Its printing would instead have
indicated that something was wrong (or during a normal build the lack
of printing would do so).

Further aforementioned change had another undesirable effect, which I
didn't notice during review: Originally compile.h would have been
re-generated (and final binaries re-linked) when its dependencies were
updated after an earlier build. This is no longer the case now, which
means that if some other file also was updated, then the re-build done
during "make install-xen" would happen with a stale compile.h (as its
updating is suppressed in this case).

Restore the earlier behavior for both aspects.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
An alternative to removing the target would be to replace "! -r $@" by
"-n '$?'" in the shell "if", but that would cause unhelpful alteration
of what gets recorded in include/xen/.compile.h.cmd. (The command
normally changes every time anyway, due to the inclusion of
$(XEN_BUILD_TIME), but I consider that different from varying the
conditions of the "if".)

--- a/xen/Makefile
+++ b/xen/Makefile
@@ -424,6 +424,7 @@ targets += .banner
 quiet_cmd_compile.h = UPD     $@
 define cmd_compile.h
     if [ ! -r $@ -o -O $@ ]; then \
+	cat .banner; \
 	sed -e 's/@@date@@/$(XEN_BUILD_DATE)/g' \
 	    -e 's/@@time@@/$(XEN_BUILD_TIME)/g' \
 	    -e 's/@@whoami@@/$(XEN_WHOAMI)/g' \
@@ -441,7 +442,7 @@ define cmd_compile.h
 endef
 
 include/xen/compile.h: include/xen/compile.h.in .banner FORCE
-	@cat .banner
+	$(if $(filter-out FORCE,$?),rm -fv $@)
 	$(call if_changed,compile.h)
 
 targets += include/xen/compile.h



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 14:24:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 14:24:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255744.438338 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7I4O-0006M2-HW; Tue, 11 Jan 2022 14:24:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255744.438338; Tue, 11 Jan 2022 14: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 1n7I4O-0006Lv-Do; Tue, 11 Jan 2022 14:24:16 +0000
Received: by outflank-mailman (input) for mailman id 255744;
 Tue, 11 Jan 2022 14:24:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Gr+1=R3=gmail.com=firemeteor.guo@srs-se1.protection.inumbo.net>)
 id 1n7I4N-0006Lp-Ey
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 14:24:15 +0000
Received: from mail-io1-f51.google.com (mail-io1-f51.google.com
 [209.85.166.51]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2672f957-72ea-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 15:24:14 +0100 (CET)
Received: by mail-io1-f51.google.com with SMTP id o7so22581376ioo.9
 for <xen-devel@lists.xenproject.org>; Tue, 11 Jan 2022 06:24:14 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2672f957-72ea-11ec-9ce5-af14b9085ebd
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc:content-transfer-encoding;
        bh=M5ZSXCPHmTdxwWzWG9Oc79LNeZ4RMaX6UfeAsAk5f/c=;
        b=lSIg9VnAD7LaSEJOdOFxBMyb6GkW3eEVVhBxInI1u89X6yttANhV6PHGavhl4IVrz/
         eHMbd2BMV5+Oc5n11Rzuspqu9hgnpYqphUCKGh5byjFg9AOjuTU/rXLhyftwG2Ahlqvt
         fv0VXm2CYG5NHxJaGenqlUghtK0Js9X0pp4+2+cYRmlEBHdllrgYq2AquJvv02JHjfJI
         NdyXm5EFQtvOMFBtOUSdtp3MoBSdp5Gy7+GmLuI0GQycVpYh1MSO6z68GG7uREDrTe0m
         kLnvBD19RPTqF0+tQ01cIpzIN/+6uEUfXfhwN4XhfR32naP1VnDRiuJipr+H8hkev30L
         FYPA==
X-Gm-Message-State: AOAM531I5Mgi7LfvL6Ew2wX91ZHZrogh2Ed6LxKcFYivzTVRdn5S76X6
	wYfpjDDxcj1CPmf3o0IFgAT/4O9gcT+GhIeBBgkh6zgel1I=
X-Google-Smtp-Source: ABdhPJz6bo5GYz/TIik6LmqvcruAAqoMtMKSdLmQ+eL9Tco8LVg9MAGr6p10KCnUja2ZzVzEeZXCQzPWgvK/HRoZxrU=
X-Received: by 2002:a05:6638:411c:: with SMTP id ay28mr2470790jab.183.1641911053020;
 Tue, 11 Jan 2022 06:24:13 -0800 (PST)
MIME-Version: 1.0
References: <CAKhsbWaKvMtN0v57kRuwSGnTECb8JnabhgXeO1VTyLiJa4yngg@mail.gmail.com>
 <Ycw4Jna5J2iQJyeM@Air-de-Roger> <Ycyx65BDakqWmEe+@Air-de-Roger>
 <CAKhsbWYU5_DGbGK2i_uhooXk4EzCLLO4SJGjDsvAkf2udQGsbg@mail.gmail.com>
 <Yc3/ytwCHFtR1BLi@Air-de-Roger> <CAKhsbWbRinNavBq4NnQ64nVrfWoOQWV0mM3Foao4VBYUWjoSnQ@mail.gmail.com>
 <YdQgf2+E467kuTxK@Air-de-Roger> <CAKhsbWbrvF6M-SAocACO5NvBaitUQ9mB5Qx+fMGtn_yVu0ZvEA@mail.gmail.com>
 <YdWsPWqALWBRGtqW@Air-de-Roger> <CAKhsbWbvjEcA220TTHGB3PPbfLmdS_MuK5Mn3Xvrr+JL=dHK7w@mail.gmail.com>
 <YdxIbLYRYh4hvVGj@Air-de-Roger>
In-Reply-To: <YdxIbLYRYh4hvVGj@Air-de-Roger>
From: "G.R." <firemeteor@users.sourceforge.net>
Date: Tue, 11 Jan 2022 22:24:01 +0800
Message-ID: <CAKhsbWbCa49F3y0xwJ6FpewShNnO5iDngTvDmupdY+E_qj3jGw@mail.gmail.com>
Subject: Re: Possible bug? DOM-U network stopped working after fatal error
 reported in DOM0
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Jan 10, 2022 at 10:54 PM Roger Pau Monn=C3=A9 <roger.pau@citrix.com=
> wrote:
>
> On Sat, Jan 08, 2022 at 01:14:26AM +0800, G.R. wrote:
> > On Wed, Jan 5, 2022 at 10:33 PM Roger Pau Monn=C3=A9 <roger.pau@citrix.=
com> wrote:
> > >
> > > On Wed, Jan 05, 2022 at 12:05:39AM +0800, G.R. wrote:
> > > > > > > > But seems like this patch is not stable enough yet and has =
its own
> > > > > > > > issue -- memory is not properly released?
> > > > > > >
> > > > > > > I know. I've been working on improving it this morning and I'=
m
> > > > > > > attaching an updated version below.
> > > > > > >
> > > > > > Good news.
> > > > > > With this  new patch, the NAS domU can serve iSCSI disk without=
 OOM
> > > > > > panic, at least for a little while.
> > > > > > I'm going to keep it up and running for a while to see if it's =
stable over time.
> > > > >
> > > > > Thanks again for all the testing. Do you see any difference
> > > > > performance wise?
> > > > I'm still on a *debug* kernel build to capture any potential panic =
--
> > > > none so far -- no performance testing yet.
> > > > Since I'm a home user with a relatively lightweight workload, so fa=
r I
> > > > didn't observe any difference in daily usage.
> > > >
> > > > I did some quick iperf3 testing just now.
> > >
> > > Thanks for doing this.
> > >
> > > > 1. between nas domU <=3D> Linux dom0 running on an old i7-3770 base=
d box.
> > > > The peak is roughly 12 Gbits/s when domU is the server.
> > > > But I do see regression down to ~8.5 Gbits/s when I repeat the test=
 in
> > > > a short burst.
> > > > The regression can recover when I leave the system idle for a while=
.
> > > >
> > > > When dom0 is the iperf3 server, the transfer rate is much lower, do=
wn
> > > > all the way to 1.x Gbits/s.
> > > > Sometimes, I can see the following kernel log repeats during the
> > > > testing, likely contributing to the slowdown.
> > > >              interrupt storm detected on "irq2328:"; throttling int=
errupt source
> > >
> > > I assume the message is in the domU, not the dom0?
> > Yes, in the TrueNAS domU.
> > BTW, I rebooted back to the stock kernel and the message is no longer o=
bserved.
> >
> > With the stock kernel, the transfer rate from dom0 to nas domU can be
> > as high as 30Gbps.
> > The variation is still observed, sometimes down to ~19Gbps. There is
> > no retransmission in this direction.
> >
> > For the reverse direction, the observed low transfer rate still exists.
> > It's still within the range of 1.x Gbps, but should still be better
> > than the previous test.
> > The huge number of re-transmission is still observed.
> > The same behavior can be observed on a stock FreeBSD 12.2 image, so
> > this is not specific to TrueNAS.
>
> So that's domU sending the data, and dom0 receiving it.
Correct.
>
> >
> > According to the packet capture, the re-transmission appears to be
> > caused by packet reorder.
> > Here is one example incident:
> > 1. dom0 sees a sequence jump in the incoming stream and begins to send =
out SACKs
> > 2. When SACK shows up at domU, it begins to re-transmit lost frames
> >    (the re-transmit looks weird since it show up as a mixed stream of
> > 1448 bytes and 12 bytes packets, instead of always 1448 bytes)
> > 3. Suddenly the packets that are believed to have lost show up, dom0
> > accept them as if they are re-transmission
>
> Hm, so there seems to be some kind of issue with ordering I would say.
Agree.

>
> > 4. The actual re-transmission finally shows up in dom0...
> > Should we expect packet reorder on a direct virtual link? Sounds fishy =
to me.
> > Any chance we can get this re-transmission fixed?
>
> Does this still happen with all the extra features disabled? (-rxcsum
> -txcsum -lro -tso)
No obvious impact I would say.
After disabling all extra features:
xn0: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    ether 00:18:3c:51:6e:4c
    inet 192.168.1.9 netmask 0xffffff00 broadcast 192.168.1.255
    media: Ethernet manual
    status: active
    nd6 options=3D9<PERFORMNUD,IFDISABLED>
The iperf3 result:
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  2.04 GBytes  1.75 Gbits/sec  12674             sen=
der
[  5]   0.00-10.14  sec  2.04 GBytes  1.73 Gbits/sec                  recei=
ver
BTW, those extra features have huge impact on the dom0 =3D> domU direction.
It goes all the way down from ~30 / 18 Gbps to 3.5 / 1.8 Gbps
(variation range) without those.
But there is no retransmission at all in both configs for this direction.
I wonder why such a huge difference since the nic is purely virtual
without any HW acceleration?

Any further suggestions on this retransmission issue?

>
> > So looks like at least the imbalance between two directions are not
> > related to your patch.
> > Likely the debug build is a bigger contributor to the perf difference
> > in both directions.
> >
> > I also tried your patch on a release build, and didn't observe any
> > major difference in iperf3 numbers.
> > Roughly match the 30Gbps and 1.xGbps number on the stock release kernel=
.
>
> Thanks a lot, will try to get this upstream then.
>
> Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 14:26:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 14:26:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255748.438349 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7I65-0006zO-0d; Tue, 11 Jan 2022 14:26:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255748.438349; Tue, 11 Jan 2022 14: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 1n7I64-0006zH-TN; Tue, 11 Jan 2022 14:26:00 +0000
Received: by outflank-mailman (input) for mailman id 255748;
 Tue, 11 Jan 2022 14:25:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xvmG=R3=gmail.com=wei.liu.xen@srs-se1.protection.inumbo.net>)
 id 1n7I63-0006z8-Fm
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 14:25:59 +0000
Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com
 [209.85.221.54]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 64f56803-72ea-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 15:25:58 +0100 (CET)
Received: by mail-wr1-f54.google.com with SMTP id k30so15712923wrd.9
 for <xen-devel@lists.xenproject.org>; Tue, 11 Jan 2022 06:25:58 -0800 (PST)
Received: from liuwe-devbox-debian-v2 ([51.145.34.42])
 by smtp.gmail.com with ESMTPSA id r11sm10321532wrz.78.2022.01.11.06.25.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 11 Jan 2022 06:25:57 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 64f56803-72ea-11ec-9ce5-af14b9085ebd
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:date:from:to:cc:subject:message-id:references
         :mime-version:content-disposition:in-reply-to;
        bh=1Uer6CTYRWwpViw4ms4Jp1npKGiYs25zUXSNb5Ts5w4=;
        b=YgnDprobxQ8HGlEBO5ZD4A0xpaRW5SR3RN5FXD5VB4v+slhTpnrDbW2XOYlHihCSo2
         YHkxV1v/lUos6TpFE4ly+osxheCDB3ihBZHzSCThRSkCTo+7IwrY4vmf/cRUepj4IlC1
         tB0ubi1rzdfNvFLTA6TYyjNOH8RZXx1Oi+WIIz/8E3e+eoPYqjnCefHaut+sVHjmgD9O
         RlPxzq25NfMVomAYcymHmNnT45oYEqL1wGtMUdxS08AJI2Y/tQTOpcvrsW6sNi8/hM/b
         lhXxcdZJ6xNmZ9o0yifJkqgw5GqsJH/1p5h23ujv/nBgFu1/5iKfHc2aby5bdnU/nyQk
         Ap6A==
X-Gm-Message-State: AOAM531kICaEF8Nr+1aVunuWmDYr6b7+iP1x2oInnJRbiCyE7wez2obv
	D7wAwYwUr2Vs1kwxeNxk+Q0=
X-Google-Smtp-Source: ABdhPJxGfuHyGaoUG2BZFeyDN5UN8i/LGIKKk6QJmq7r+NBOS0Xq7inr6IAGtO6WraRoX5K9x7kwiQ==
X-Received: by 2002:adf:d0c2:: with SMTP id z2mr4020523wrh.335.1641911158085;
        Tue, 11 Jan 2022 06:25:58 -0800 (PST)
Date: Tue, 11 Jan 2022 14:25:56 +0000
From: Wei Liu <wl@xen.org>
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: SeaBIOS 1.15.0
Message-ID: <20220111142556.s3iblivgs34egxmy@liuwe-devbox-debian-v2>
References: <a072e1f9-3667-e0fd-038f-3492113729c6@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <a072e1f9-3667-e0fd-038f-3492113729c6@suse.com>

On Tue, Jan 11, 2022 at 09:37:56AM +0100, Jan Beulich wrote:
> Wei,
> 
> iirc it was you who has been looking after our SeaBIOS use. Seeing that
> 1.15.0 was tagged, should we update the version we use by default? (I
> would have asked on irc, but I didn't see you there.)
> 

Yes, we should.

I will find some time to update it this week.

Sorry for the delay.

Wei.

> Jan
> 


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 14:31:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 14:31:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255753.438360 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7IAv-0008OQ-K2; Tue, 11 Jan 2022 14:31:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255753.438360; Tue, 11 Jan 2022 14:31:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7IAv-0008OJ-Gu; Tue, 11 Jan 2022 14:31:01 +0000
Received: by outflank-mailman (input) for mailman id 255753;
 Tue, 11 Jan 2022 14:31: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 1n7IAu-0008O9-HJ; Tue, 11 Jan 2022 14:31: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 1n7IAu-0002Ql-5p; Tue, 11 Jan 2022 14:31: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 1n7IAt-0007FZ-Tv; Tue, 11 Jan 2022 14:30:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n7IAt-0008TN-TQ; Tue, 11 Jan 2022 14:30:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=yR+q6LOEdSbDcxk0af1/TljAJ2m8Dh79g6qvHfaBimE=; b=LQxl2st6gIMN3GOAGgwPqftfF+
	As6xfNqWHoGamnT1+XWutj22yUpx3ENfJJc4wR1I+K6KbYlHht3bW9Xe3909uOEFIFfCmGLszok8D
	FJeGK9s/3CrXbb49ZuTT23pBCQH989/GYMzPsJbwZ0UR5DzS0Rn/F26Nu+UTlm5F14k8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167656-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167656: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-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-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt: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-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx: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-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=63045bfd3c8dbe9c8bee7e33291202725154cb2c
X-Osstest-Versions-That:
    linux=133d9c53c9dcbb1b8f317e402e79c44d9eb725c9
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 11 Jan 2022 14:30:59 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 167660-retest

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

version targeted for testing:
 linux                63045bfd3c8dbe9c8bee7e33291202725154cb2c
baseline version:
 linux                133d9c53c9dcbb1b8f317e402e79c44d9eb725c9

Last test of basis   167653  2022-01-10 18:41:16 Z    0 days
Testing same since   167656  2022-01-11 03:47:29 Z    0 days    1 attempts

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

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


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

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

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

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


Pushing revision :

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


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 14:58:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 14:58:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255768.438408 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7IbT-0002yQ-T4; Tue, 11 Jan 2022 14:58:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255768.438408; Tue, 11 Jan 2022 14:58:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7IbT-0002xY-LE; Tue, 11 Jan 2022 14:58:27 +0000
Received: by outflank-mailman (input) for mailman id 255768;
 Tue, 11 Jan 2022 14:58:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7IbS-0002OZ-Ci
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 14:58:26 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eb74dc4e-72ee-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 15:58:22 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id E9B53212CA;
 Tue, 11 Jan 2022 14:58:21 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id BFE8913DDD;
 Tue, 11 Jan 2022 14:58:21 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id SM+DLQ2b3WH9eQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 14:58:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eb74dc4e-72ee-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913101; h=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=TREXG7+5/igcPNPrnaoW0C+ol3WOPsTOJ1n+uetqVIM=;
	b=RMzEluR0R4fgFdGUYZlpRN9kcrLAm9FKaQhlsOwmr0NuaXYDlXIX2d9602zbkd5n3DldVS
	FWh6iw030rnPWCiK37hb+Kqi0mle91w9GKtHPMavCQJZCK0fT2kygkIPsxpMysR9NYHfHS
	vvB0GFH/b9YGFFmP7w1jRCSg3WT26KE=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 10/18] mini-os: eliminate netfront union member in struct file
Date: Tue, 11 Jan 2022 15:58:09 +0100
Message-Id: <20220111145817.22170-11-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111145817.22170-1-jgross@suse.com>
References: <20220111145817.22170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Replace the netfront specific union member in struct file with the
common dev pointer.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
 include/lib.h | 3 ---
 lib/sys.c     | 6 +++---
 netfront.c    | 2 +-
 3 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/include/lib.h b/include/lib.h
index 5201ed7..f2a124e 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -193,9 +193,6 @@ struct file {
 	    struct evtchn_port_list ports;
 	} evtchn;
 	struct gntmap gntmap;
-	struct {
-	    struct netfront_dev *dev;
-	} tap;
 #ifdef CONFIG_TPMFRONT
 	struct {
 	   struct tpmfront_dev *dev;
diff --git a/lib/sys.c b/lib/sys.c
index 8c7ea3c..b35e433 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -263,7 +263,7 @@ int read(int fd, void *buf, size_t nbytes)
 #ifdef CONFIG_NETFRONT
 	case FTYPE_TAP: {
 	    ssize_t ret;
-	    ret = netfront_receive(files[fd].tap.dev, buf, nbytes);
+	    ret = netfront_receive(files[fd].dev, buf, nbytes);
 	    if (ret <= 0) {
 		errno = EAGAIN;
 		return -1;
@@ -339,7 +339,7 @@ int write(int fd, const void *buf, size_t nbytes)
 #endif
 #ifdef CONFIG_NETFRONT
 	case FTYPE_TAP:
-	    netfront_xmit(files[fd].tap.dev, (void*) buf, nbytes);
+	    netfront_xmit(files[fd].dev, (void*) buf, nbytes);
 	    return nbytes;
 #endif
 #ifdef CONFIG_BLKFRONT
@@ -450,7 +450,7 @@ int close(int fd)
 #endif
 #ifdef CONFIG_NETFRONT
 	case FTYPE_TAP:
-	    shutdown_netfront(files[fd].tap.dev);
+	    shutdown_netfront(files[fd].dev);
 	    files[fd].type = FTYPE_NONE;
 	    return 0;
 #endif
diff --git a/netfront.c b/netfront.c
index a566e34..7696451 100644
--- a/netfront.c
+++ b/netfront.c
@@ -576,7 +576,7 @@ int netfront_tap_open(char *nodename) {
     }
     dev->fd = alloc_fd(FTYPE_TAP);
     printk("tap_open(%s) -> %d\n", nodename, dev->fd);
-    files[dev->fd].tap.dev = dev;
+    files[dev->fd].dev = dev;
     return dev->fd;
 }
 #endif
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 14:58:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 14:58:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255763.438386 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7IbS-0002WI-Ew; Tue, 11 Jan 2022 14:58:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255763.438386; Tue, 11 Jan 2022 14:58: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 1n7IbS-0002VX-7Z; Tue, 11 Jan 2022 14:58:26 +0000
Received: by outflank-mailman (input) for mailman id 255763;
 Tue, 11 Jan 2022 14:58:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7IbQ-0002OZ-CJ
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 14:58:24 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eae6e135-72ee-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 15:58:22 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id F1D5A1F3BB;
 Tue, 11 Jan 2022 14:58:20 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id BEF7D13DDD;
 Tue, 11 Jan 2022 14:58:20 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id iPVtLQyb3WH9eQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 14:58:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eae6e135-72ee-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913100; h=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=bXQLf+XZM4DSdC0ST175q8yp6sLq3mgUD+Ukh4h4ycY=;
	b=uo+Ej/mLxhV+wD9G0M/07AtRWmY/ziB4vZFuM4UjznOccjblD0NKqbjdhR7PaUhIu46N2w
	uCSwSIv3JpiHCPmX+mQitsPCQYAlODzC8u7T1VYDwvWZ+SN1hzrsJPN0L+SYivvl3y8VOz
	gIhCyXUdpfgBdjM+gutQGZFr/MluhKI=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 05/18] mini-os: introduce a common dev pointer in struct file
Date: Tue, 11 Jan 2022 15:58:04 +0100
Message-Id: <20220111145817.22170-6-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111145817.22170-1-jgross@suse.com>
References: <20220111145817.22170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

There are many dev pointers in a union in struct file. Prepare to
switch to a single one by introducing a new common one.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
 include/lib.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/include/lib.h b/include/lib.h
index dc56f52..60aaf1c 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -188,6 +188,7 @@ struct file {
     off_t offset;
     union {
         int fd; /* Any fd from an upper layer. */
+        void *dev;
 	struct {
 	    struct evtchn_port_list ports;
 	} evtchn;
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 14:58:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 14:58:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255775.438458 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7IbY-0003tP-KH; Tue, 11 Jan 2022 14:58:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255775.438458; Tue, 11 Jan 2022 14:58:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7IbY-0003qo-45; Tue, 11 Jan 2022 14:58:32 +0000
Received: by outflank-mailman (input) for mailman id 255775;
 Tue, 11 Jan 2022 14:58:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7IbW-0002Oa-D8
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 14:58:30 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ea732db9-72ee-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 15:58:22 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 04412212C3;
 Tue, 11 Jan 2022 14:58:20 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id CE0BC13DDD;
 Tue, 11 Jan 2022 14:58:19 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 7Q0EMQub3WH9eQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 14:58: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: ea732db9-72ee-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913100; h=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=Z0tDS/aCIk9/03puqNfGz+4Is8FvtxuzfJRiRCv9vJ4=;
	b=fLKxX0ckKc31+m9WJlAtkqCR1c/JuWOIieT+T52JOxFls53jvYaVskuhoh5cOdCmxnUfj1
	ns2ZrKYrQPeYWUREbvBzqFoR1zMObREdwKJpAm1dkjHslL5a0z+SqUvL8er6We2vzD01Jx
	APT0NDVjDftv1WZBDRc2C/K+YLDq/n0=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 00/18] mini-os: remove struct file dependency on config
Date: Tue, 11 Jan 2022 15:57:59 +0100
Message-Id: <20220111145817.22170-1-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Today the layout of struct file is depending on the Mini-OS
configuration. This is especially bad as the layout is exported to
external users like the Xen libraries built for Mini-OS, and those
are being built only once for multiple stubdom configurations.

Today there is no direct problem resulting from this, as the main
difference between struct file layouts is a large union containing all
the device specific data for the different file types. The largest
union member is not configuration dependant, so the build is currently
not broken.

In order to avoid any future problems this patch series is eliminating
the configuration dependency by replacing most of the device specific
union members by a single pointer.

The two union members used by Xen libraries can't be replaced yet, as
those need to be switched to use the generic pointer first.

In order to hide the Mini-OS internal implementation of the files
array, patches 15-17 are introducing a common framework to access a
struct file via its file descriptor, and to allocate new file types
dynamically instead of having them all pre-defined. The file type
specific operations are supplied via a function vector in order to
remove the dependency of lib/sys.c on all the various file types.

Changes in V2:
- added 3 more patches

Juergen Gross (18):
  mini-os: split struct file definition from its usage
  mini-os: makes file.read bool and move it ahead of device specific
    part
  mini-os: make offset a common struct file member for all types
  mini-os: replace multiple fd elements in struct file by common one
  mini-os: introduce a common dev pointer in struct file
  mini-os: eliminate blkfront union member in struct file
  mini-os: eliminate consfront union member in struct file
  mini-os: eliminate fbfront union member in struct file
  mini-os: eliminate kbdfront union member in struct file
  mini-os: eliminate netfront union member in struct file
  mini-os: move tpm respgot member of struct file to device specific
    data
  mini-os: eliminate tpmfront union member in struct file
  mini-os: eliminate tpmtis union member in struct file
  mini-os: eliminate xenbus union member in struct file
  mini-os: introduce get_file_from_fd()
  mini-os: reset file type in close() in one place only
  mini-os: use function vectors instead of switch for file operations
  mini-os: remove file type FTYPE_XC

 Config.mk                     |   1 -
 arch/x86/testbuild/all-no     |   1 -
 arch/x86/testbuild/all-yes    |   1 -
 arch/x86/testbuild/newxen-yes |   1 -
 blkfront.c                    |  15 +-
 console/xencons_ring.c        |   2 +-
 fbfront.c                     |  16 +-
 include/lib.h                 | 123 ++++++------
 include/tpmfront.h            |   2 +
 lib/sys.c                     | 363 +++++++++++++++++++++++-----------
 lib/xs.c                      |  14 +-
 netfront.c                    |   6 +-
 tpm_tis.c                     |  23 +--
 tpmfront.c                    |  33 ++--
 14 files changed, 352 insertions(+), 249 deletions(-)

-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 14:58:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 14:58:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255776.438464 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7IbZ-000468-Ma; Tue, 11 Jan 2022 14:58:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255776.438464; Tue, 11 Jan 2022 14:58:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7IbZ-00042H-5n; Tue, 11 Jan 2022 14:58:33 +0000
Received: by outflank-mailman (input) for mailman id 255776;
 Tue, 11 Jan 2022 14:58:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7IbW-0002OZ-DN
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 14:58:30 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eabddecc-72ee-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 15:58:22 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id B8B941F3BA;
 Tue, 11 Jan 2022 14:58:20 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 90B4913DDD;
 Tue, 11 Jan 2022 14:58:20 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id YLshIgyb3WH9eQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 14:58:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eabddecc-72ee-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913100; h=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=DMMBPYWRjtz4/x5ruR8HIV8cwX5HYWaCHB+pYDCnRVA=;
	b=JzdJyIpda3v4DRJ6dS3sevj+AMPFI4kl5bVC6hqBjKmi/wVNJD011RpzoX3nC6Wow99h/x
	abJGpEd/063Sn404YSrpDDbM34VQl0OcQOOvrZrKpVyM5NMvV9IkhKmt972sFvCU31b+Ce
	tIjGmAXz8jLlE4wy673TLMcZqma+nX8=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 04/18] mini-os: replace multiple fd elements in struct file by common one
Date: Tue, 11 Jan 2022 15:58:03 +0100
Message-Id: <20220111145817.22170-5-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111145817.22170-1-jgross@suse.com>
References: <20220111145817.22170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The type specific union in struct files contains two instances of
"int fd". Replace them by a common one.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
 include/lib.h |  9 +--------
 lib/sys.c     | 28 ++++++++++++++--------------
 2 files changed, 15 insertions(+), 22 deletions(-)

diff --git a/include/lib.h b/include/lib.h
index 4d9b14b..dc56f52 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -187,14 +187,7 @@ struct file {
     bool read;	/* maybe available for read */
     off_t offset;
     union {
-	struct {
-            /* lwIP fd */
-	    int fd;
-	} socket;
-	struct {
-            /* FS import fd */
-	    int fd;
-	} file;
+        int fd; /* Any fd from an upper layer. */
 	struct {
 	    struct evtchn_port_list ports;
 	} evtchn;
diff --git a/lib/sys.c b/lib/sys.c
index e1cea70..1da7401 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -258,7 +258,7 @@ int read(int fd, void *buf, size_t nbytes)
         }
 #ifdef HAVE_LWIP
 	case FTYPE_SOCKET:
-	    return lwip_read(files[fd].socket.fd, buf, nbytes);
+	    return lwip_read(files[fd].fd, buf, nbytes);
 #endif
 #ifdef CONFIG_NETFRONT
 	case FTYPE_TAP: {
@@ -335,7 +335,7 @@ int write(int fd, const void *buf, size_t nbytes)
 	    return nbytes;
 #ifdef HAVE_LWIP
 	case FTYPE_SOCKET:
-	    return lwip_write(files[fd].socket.fd, (void*) buf, nbytes);
+	    return lwip_write(files[fd].fd, (void*) buf, nbytes);
 #endif
 #ifdef CONFIG_NETFRONT
 	case FTYPE_TAP:
@@ -428,7 +428,7 @@ int close(int fd)
 #endif
 #ifdef HAVE_LWIP
 	case FTYPE_SOCKET: {
-	    int res = lwip_close(files[fd].socket.fd);
+	    int res = lwip_close(files[fd].fd);
 	    files[fd].type = FTYPE_NONE;
 	    return res;
 	}
@@ -594,7 +594,7 @@ int fcntl(int fd, int cmd, ...)
 	    if (files[fd].type == FTYPE_SOCKET && !(arg & ~O_NONBLOCK)) {
 		/* Only flag supported: non-blocking mode */
 		uint32_t nblock = !!(arg & O_NONBLOCK);
-		return lwip_ioctl(files[fd].socket.fd, FIONBIO, &nblock);
+		return lwip_ioctl(files[fd].fd, FIONBIO, &nblock);
 	    }
 	    /* Fallthrough */
 #endif
@@ -732,15 +732,15 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
     for (i = 0; i < nfds; i++) {
 	if (files[i].type == FTYPE_SOCKET) {
 	    if (FD_ISSET(i, readfds)) {
-		FD_SET(files[i].socket.fd, &sock_readfds);
+		FD_SET(files[i].fd, &sock_readfds);
 		sock_nfds = i+1;
 	    }
 	    if (FD_ISSET(i, writefds)) {
-		FD_SET(files[i].socket.fd, &sock_writefds);
+		FD_SET(files[i].fd, &sock_writefds);
 		sock_nfds = i+1;
 	    }
 	    if (FD_ISSET(i, exceptfds)) {
-		FD_SET(files[i].socket.fd, &sock_exceptfds);
+		FD_SET(files[i].fd, &sock_exceptfds);
 		sock_nfds = i+1;
 	    }
 	}
@@ -803,19 +803,19 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
 	case FTYPE_SOCKET:
 	    if (FD_ISSET(i, readfds)) {
 	        /* Optimize no-network-packet case.  */
-		if (sock_n && FD_ISSET(files[i].socket.fd, &sock_readfds))
+		if (sock_n && FD_ISSET(files[i].fd, &sock_readfds))
 		    n++;
 		else
 		    FD_CLR(i, readfds);
 	    }
             if (FD_ISSET(i, writefds)) {
-		if (sock_n && FD_ISSET(files[i].socket.fd, &sock_writefds))
+		if (sock_n && FD_ISSET(files[i].fd, &sock_writefds))
 		    n++;
 		else
 		    FD_CLR(i, writefds);
             }
             if (FD_ISSET(i, exceptfds)) {
-		if (sock_n && FD_ISSET(files[i].socket.fd, &sock_exceptfds))
+		if (sock_n && FD_ISSET(files[i].fd, &sock_exceptfds))
 		    n++;
 		else
 		    FD_CLR(i, exceptfds);
@@ -1112,7 +1112,7 @@ int socket(int domain, int type, int protocol)
 	return -1;
     res = alloc_fd(FTYPE_SOCKET);
     printk("socket -> %d\n", res);
-    files[res].socket.fd = fd;
+    files[res].fd = fd;
     return res;
 }
 
@@ -1124,11 +1124,11 @@ int accept(int s, struct sockaddr *addr, socklen_t *addrlen)
 	errno = EBADF;
 	return -1;
     }
-    fd = lwip_accept(files[s].socket.fd, addr, addrlen);
+    fd = lwip_accept(files[s].fd, addr, addrlen);
     if (fd < 0)
 	return -1;
     res = alloc_fd(FTYPE_SOCKET);
-    files[res].socket.fd = fd;
+    files[res].fd = fd;
     printk("accepted on %d -> %d\n", s, res);
     return res;
 }
@@ -1141,7 +1141,7 @@ ret name proto \
 	errno = EBADF; \
 	return -1; \
     } \
-    s = files[s].socket.fd; \
+    s = files[s].fd; \
     return lwip_##name args; \
 }
 
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 14:58:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 14:58:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255772.438438 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7IbX-0003hB-0J; Tue, 11 Jan 2022 14:58:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255772.438438; Tue, 11 Jan 2022 14: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 1n7IbW-0003gs-Qi; Tue, 11 Jan 2022 14:58:30 +0000
Received: by outflank-mailman (input) for mailman id 255772;
 Tue, 11 Jan 2022 14:58:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7IbU-0002OZ-Cx
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 14:58:28 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eb953028-72ee-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 15:58:22 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 242F7212CB;
 Tue, 11 Jan 2022 14:58:22 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id EF06413DDD;
 Tue, 11 Jan 2022 14:58:21 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id gEULOQ2b3WH9eQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 14:58:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eb953028-72ee-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913102; h=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=Kc8vjPoaiZBPWJd7bC9/lWlsrU4qpi/hgSPUhZ8Wm48=;
	b=LQxJ7OH+F7Zw7qdHdMyNJ2UZp9vmF7os301Zp+Ys8Ek/bMu0+EImR1SRe2hGXSSHeMo/QX
	xQUrY5LeQ8sRz0L1Ngdk93hAUn4RUUO17NZL8C36p2AKFBD8060iTmEiJtqjFrJOoZ/txp
	JkeH5ZgZyrLtps8OYkxDA+zWq5ReSdI=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 11/18] mini-os: move tpm respgot member of struct file to device specific data
Date: Tue, 11 Jan 2022 15:58:10 +0100
Message-Id: <20220111145817.22170-12-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111145817.22170-1-jgross@suse.com>
References: <20220111145817.22170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Tpmfront has a "respgot" flag in struct file, which can be moved to the
device specific data. While at it make it a bool.

The respgot flag of the tpm_tis member of struct file can be removed,
as it is never read.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
 include/lib.h      |  2 --
 include/tpmfront.h |  2 ++
 tpm_tis.c          |  2 --
 tpmfront.c         | 10 +++++-----
 4 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/include/lib.h b/include/lib.h
index f2a124e..d740065 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -196,13 +196,11 @@ struct file {
 #ifdef CONFIG_TPMFRONT
 	struct {
 	   struct tpmfront_dev *dev;
-	   int respgot;
 	} tpmfront;
 #endif
 #ifdef CONFIG_TPM_TIS
 	struct {
 	   struct tpm_chip *dev;
-	   int respgot;
 	} tpm_tis;
 #endif
 #ifdef CONFIG_XENBUS
diff --git a/include/tpmfront.h b/include/tpmfront.h
index c489fae..b7da50e 100644
--- a/include/tpmfront.h
+++ b/include/tpmfront.h
@@ -25,6 +25,7 @@
 #ifndef TPMFRONT_H
 #define TPMFRONT_H
 
+#include <stdbool.h>
 #include <mini-os/types.h>
 #include <mini-os/os.h>
 #include <mini-os/events.h>
@@ -53,6 +54,7 @@ struct tpmfront_dev {
 
 #ifdef HAVE_LIBC
    int fd;
+   bool respgot;
 #endif
 
 };
diff --git a/tpm_tis.c b/tpm_tis.c
index 8a632b1..4127118 100644
--- a/tpm_tis.c
+++ b/tpm_tis.c
@@ -846,7 +846,6 @@ int tpm_tis_send(struct tpm_chip* tpm, uint8_t* buf, size_t len) {
 #ifdef HAVE_LIBC
    if(tpm->fd >= 0) {
       files[tpm->fd].read = false;
-      files[tpm->fd].tpm_tis.respgot = 0;
       files[tpm->fd].offset = 0;
    }
 #endif
@@ -1290,7 +1289,6 @@ int tpm_tis_open(struct tpm_chip* tpm)
    tpm->fd = alloc_fd(FTYPE_TPM_TIS);
    printk("tpm_tis_open() -> %d\n", tpm->fd);
    files[tpm->fd].tpm_tis.dev = tpm;
-   files[tpm->fd].tpm_tis.respgot = 0;
    return tpm->fd;
 }
 
diff --git a/tpmfront.c b/tpmfront.c
index 8b2a910..be671c2 100644
--- a/tpmfront.c
+++ b/tpmfront.c
@@ -439,8 +439,8 @@ int tpmfront_send(struct tpmfront_dev* dev, const uint8_t* msg, size_t length)
 #ifdef HAVE_LIBC
    if(dev->fd >= 0) {
       files[dev->fd].read = false;
-      files[dev->fd].tpmfront.respgot = 0;
       files[dev->fd].offset = 0;
+      dev->respgot = false;
    }
 #endif
    wmb();
@@ -499,7 +499,7 @@ int i;
 #endif
 #ifdef HAVE_LIBC
    if(dev->fd >= 0) {
-      files[dev->fd].tpmfront.respgot = 1;
+      dev->respgot = true;
    }
 #endif
 quit:
@@ -539,7 +539,7 @@ int tpmfront_open(struct tpmfront_dev* dev)
    dev->fd = alloc_fd(FTYPE_TPMFRONT);
    printk("tpmfront_open(%s) -> %d\n", dev->nodename, dev->fd);
    files[dev->fd].tpmfront.dev = dev;
-   files[dev->fd].tpmfront.respgot = 0;
+   dev->respgot = false;
    return dev->fd;
 }
 
@@ -580,7 +580,7 @@ int tpmfront_posix_read(int fd, uint8_t* buf, size_t count)
    }
 
    /* get the response if we haven't already */
-   if(files[dev->fd].tpmfront.respgot == 0) {
+   if (!dev->respgot) {
       if ((rc = tpmfront_recv(dev, &dummybuf, &dummysz)) != 0) {
 	 errno = EIO;
 	 return -1;
@@ -610,7 +610,7 @@ int tpmfront_posix_fstat(int fd, struct stat* buf)
 
    /* If we have a response waiting, then read it now from the backend
     * so we can get its length*/
-   if(dev->waiting || (files[dev->fd].read && !files[dev->fd].tpmfront.respgot)) {
+   if(dev->waiting || (files[dev->fd].read && !dev->respgot)) {
       if ((rc = tpmfront_recv(dev, &dummybuf, &dummysz)) != 0) {
 	 errno = EIO;
 	 return -1;
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 14:58:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 14:58:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255764.438377 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7IbS-0002Py-2u; Tue, 11 Jan 2022 14:58:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255764.438377; Tue, 11 Jan 2022 14:58: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 1n7IbR-0002PX-TL; Tue, 11 Jan 2022 14:58:25 +0000
Received: by outflank-mailman (input) for mailman id 255764;
 Tue, 11 Jan 2022 14:58:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7IbQ-0002Oa-CQ
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 14:58:24 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ea732dc8-72ee-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 15:58:22 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 307611F3B1;
 Tue, 11 Jan 2022 14:58:20 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 08E741403F;
 Tue, 11 Jan 2022 14:58:20 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id SPr4AAyb3WH9eQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 14:58:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ea732dc8-72ee-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913100; h=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=+t0vHow+1jfI7LN6o5B5LYduCmgQ0IacEYiredT7b+0=;
	b=OGLo/N++S22CxpWwoigNm0n3vT4KfIh+MFOyER6HhCKV1FtpwitHHHzo+gmfes2bV425cz
	GLU3ADO3UMjXdJPokxOSOt1R7tOwm5JmnGoIBcGvDwirbibYOJz5laz4dMPqFs+3AuXmjn
	MhsqXMzy2J0gEG06o26qYSJFajXVNR8=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 01/18] mini-os: split struct file definition from its usage
Date: Tue, 11 Jan 2022 15:58:00 +0100
Message-Id: <20220111145817.22170-2-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111145817.22170-1-jgross@suse.com>
References: <20220111145817.22170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Make the struct file definition standalone and use it for the
declaration of the files array.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
 include/lib.h | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/include/lib.h b/include/lib.h
index 39d6a18..a638bc9 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -181,7 +181,7 @@ struct evtchn_port_info {
         int bound;
 };
 
-extern struct file {
+struct file {
     enum fd_type type;
     union {
 	struct {
@@ -236,7 +236,9 @@ extern struct file {
 #endif
     };
     int read;	/* maybe available for read */
-} files[];
+};
+
+extern struct file files[];
 
 int alloc_fd(enum fd_type type);
 void close_all_files(void);
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 14:58:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 14:58:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255767.438415 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7IbU-00033p-Ad; Tue, 11 Jan 2022 14:58:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255767.438415; Tue, 11 Jan 2022 14:58:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7IbT-00031s-W5; Tue, 11 Jan 2022 14:58:27 +0000
Received: by outflank-mailman (input) for mailman id 255767;
 Tue, 11 Jan 2022 14:58:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7IbS-0002Oa-Ct
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 14:58:26 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eb068b7d-72ee-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 15:58:22 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 2BE751F3BC;
 Tue, 11 Jan 2022 14:58:21 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 0484A13DDD;
 Tue, 11 Jan 2022 14:58:20 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 8NN9Owyb3WH9eQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 14:58:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eb068b7d-72ee-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913101; h=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=cpZ+5J0dnLWZk57QHjN9YUOxVha4rvn1wsE3TtHogLs=;
	b=GgsG7/fulZvIDHuEMcqegNiYNkq/fIzKJ14c9i1ZyEujrgF7ivH9zajgC+1sYzo67tNkVC
	z5tBQ66e1EP45KeW2YHCgLaTT81ormHlyMXeQ0cNwZxwQmKjPRsnP+Q4GRR7br7XsJeoZl
	dCHr125Rm95Gx36yZl+/4hhKPiPJTQc=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 06/18] mini-os: eliminate blkfront union member in struct file
Date: Tue, 11 Jan 2022 15:58:05 +0100
Message-Id: <20220111145817.22170-7-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111145817.22170-1-jgross@suse.com>
References: <20220111145817.22170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Replace the blkfront specific union member in struct file with the
common dev pointer.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
 blkfront.c    | 6 +++---
 include/lib.h | 3 ---
 lib/sys.c     | 2 +-
 3 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/blkfront.c b/blkfront.c
index 8137106..e3f42be 100644
--- a/blkfront.c
+++ b/blkfront.c
@@ -562,13 +562,13 @@ int blkfront_open(struct blkfront_dev *dev)
     }
     dev->fd = alloc_fd(FTYPE_BLK);
     printk("blk_open(%s) -> %d\n", dev->nodename, dev->fd);
-    files[dev->fd].blk.dev = dev;
+    files[dev->fd].dev = dev;
     return dev->fd;
 }
 
 int blkfront_posix_rwop(int fd, uint8_t* buf, size_t count, int write)
 {
-   struct blkfront_dev* dev = files[fd].blk.dev;
+   struct blkfront_dev* dev = files[fd].dev;
    off_t offset = files[fd].offset;
    struct blkfront_aiocb aiocb;
    unsigned long long disksize = dev->info.sectors * dev->info.sector_size;
@@ -718,7 +718,7 @@ int blkfront_posix_rwop(int fd, uint8_t* buf, size_t count, int write)
 
 int blkfront_posix_fstat(int fd, struct stat* buf)
 {
-   struct blkfront_dev* dev = files[fd].blk.dev;
+   struct blkfront_dev* dev = files[fd].dev;
 
    buf->st_mode = dev->info.mode;
    buf->st_uid = 0;
diff --git a/include/lib.h b/include/lib.h
index 60aaf1c..3a40634 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -196,9 +196,6 @@ struct file {
 	struct {
 	    struct netfront_dev *dev;
 	} tap;
-	struct {
-	    struct blkfront_dev *dev;
-	} blk;
 	struct {
 	    struct kbdfront_dev *dev;
 	} kbd;
diff --git a/lib/sys.c b/lib/sys.c
index 1da7401..f2fdbdf 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -456,7 +456,7 @@ int close(int fd)
 #endif
 #ifdef CONFIG_BLKFRONT
 	case FTYPE_BLK:
-            shutdown_blkfront(files[fd].blk.dev);
+            shutdown_blkfront(files[fd].dev);
 	    files[fd].type = FTYPE_NONE;
 	    return 0;
 #endif
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 14:58:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 14:58:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255771.438444 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7IbX-0003k1-GF; Tue, 11 Jan 2022 14:58:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255771.438444; Tue, 11 Jan 2022 14:58:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7IbX-0003iM-4x; Tue, 11 Jan 2022 14:58:31 +0000
Received: by outflank-mailman (input) for mailman id 255771;
 Tue, 11 Jan 2022 14:58:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7IbU-0002Oa-Cs
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 14:58:28 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eb21f76e-72ee-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 15:58:22 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 5C3C8212C9;
 Tue, 11 Jan 2022 14:58:21 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 31DD213DDD;
 Tue, 11 Jan 2022 14:58:21 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id kN/9Cg2b3WH9eQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 14:58:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eb21f76e-72ee-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913101; h=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=+xnAEQMivwL4xL9yiMr125JOzBgLed0TX8eG+d+rWgM=;
	b=R/45p93GSeJMhztoEblmNbeURw2Jd3i2M59SMmUr9L5QQZte6tY/E0Z8grVdSp9wexDUMw
	TP0HcQa9WBa/HfMYQNuU9pZltF2FEFkQzOYBeteIUQ2dCE21n5q5T+W9hmiMbg5JpHb2pT
	SFRKXp0LflJIK2ZWYuu5sPTGJWUifTI=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 07/18] mini-os: eliminate consfront union member in struct file
Date: Tue, 11 Jan 2022 15:58:06 +0100
Message-Id: <20220111145817.22170-8-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111145817.22170-1-jgross@suse.com>
References: <20220111145817.22170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Replace the consfront specific union member in struct file with the
common dev pointer.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
 include/lib.h |  3 ---
 lib/sys.c     | 31 +++++++++++++++++--------------
 2 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/include/lib.h b/include/lib.h
index 3a40634..0cedae6 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -202,9 +202,6 @@ struct file {
 	struct {
 	    struct fbfront_dev *dev;
 	} fb;
-	struct {
-	    struct consfront_dev *dev;
-	} cons;
 #ifdef CONFIG_TPMFRONT
 	struct {
 	   struct tpmfront_dev *dev;
diff --git a/lib/sys.c b/lib/sys.c
index f2fdbdf..62c2020 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -179,7 +179,7 @@ int posix_openpt(int flags)
 
     dev = init_consfront(NULL);
     dev->fd = alloc_fd(FTYPE_CONSOLE);
-    files[dev->fd].cons.dev = dev;
+    files[dev->fd].dev = dev;
 
     printk("fd(%d) = posix_openpt\n", dev->fd);
     return(dev->fd);
@@ -194,7 +194,7 @@ int open_savefile(const char *path, int save)
 
     dev = init_consfront(nodename);
     dev->fd = alloc_fd(FTYPE_SAVEFILE);
-    files[dev->fd].cons.dev = dev;
+    files[dev->fd].dev = dev;
 
     printk("fd(%d) = open_savefile\n", dev->fd);
     return(dev->fd);
@@ -248,7 +248,7 @@ int read(int fd, void *buf, size_t nbytes)
             DEFINE_WAIT(w);
             while(1) {
                 add_waiter(w, console_queue);
-                ret = xencons_ring_recv(files[fd].cons.dev, buf, nbytes);
+                ret = xencons_ring_recv(files[fd].dev, buf, nbytes);
                 if (ret)
                     break;
                 schedule();
@@ -324,14 +324,14 @@ int write(int fd, const void *buf, size_t nbytes)
         case FTYPE_SAVEFILE: {
                 int ret = 0, tot = nbytes;
                 while (nbytes > 0) {
-                    ret = xencons_ring_send(files[fd].cons.dev, (char *)buf, nbytes);
+                    ret = xencons_ring_send(files[fd].dev, (char *)buf, nbytes);
                     nbytes -= ret;
                     buf = (char *)buf + ret;
                 }
                 return tot - nbytes;
             }
 	case FTYPE_CONSOLE:
-	    console_print(files[fd].cons.dev, (char *)buf, nbytes);
+	    console_print(files[fd].dev, (char *)buf, nbytes);
 	    return nbytes;
 #ifdef HAVE_LWIP
 	case FTYPE_SOCKET:
@@ -487,7 +487,7 @@ int close(int fd)
 #ifdef CONFIG_CONSFRONT
         case FTYPE_SAVEFILE:
         case FTYPE_CONSOLE:
-            fini_consfront(files[fd].cons.dev);
+            fini_consfront(files[fd].dev);
             files[fd].type = FTYPE_NONE;
             return 0;
 #endif
@@ -764,7 +764,7 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
 	    /* Fallthrough.  */
 	case FTYPE_CONSOLE:
 	    if (FD_ISSET(i, readfds)) {
-                if (xencons_ring_avail(files[i].cons.dev))
+                if (xencons_ring_avail(files[i].dev))
 		    n++;
 		else
 		    FD_CLR(i, readfds);
@@ -1447,6 +1447,8 @@ const struct termios default_termios = {0,             /* iflag */
 
 int tcsetattr(int fildes, int action, const struct termios *tios)
 {
+    struct consfront_dev *dev;
+
     if (fildes < 0 || fildes >= NOFILE) {
         errno = EBADF;
         return -1;
@@ -1472,21 +1474,21 @@ int tcsetattr(int fildes, int action, const struct termios *tios)
             return -1;
     }
 
-    if (files[fildes].cons.dev == NULL) {
+    dev = files[fildes].dev;
+    if (dev == NULL) {
         errno = ENOSYS;
         return -1;
     }
 
-    if (tios->c_oflag & OPOST)
-        files[fildes].cons.dev->is_raw = false;
-    else
-        files[fildes].cons.dev->is_raw = true;
+    dev->is_raw = !(tios->c_oflag & OPOST);
 
     return 0;
 }
 
 int tcgetattr(int fildes, struct termios *tios)
 {
+    struct consfront_dev *dev;
+
     if (fildes < 0 || fildes >= NOFILE) {
         errno = EBADF;
         return -1;
@@ -1497,7 +1499,8 @@ int tcgetattr(int fildes, struct termios *tios)
         return -1;
     }
 
-    if (files[fildes].cons.dev == NULL) {
+    dev = files[fildes].dev;
+    if (dev == NULL) {
         errno = ENOSYS;
         return 0;
     }
@@ -1509,7 +1512,7 @@ int tcgetattr(int fildes, struct termios *tios)
 
     memcpy(tios, &default_termios, sizeof(struct termios));
 
-    if (files[fildes].cons.dev->is_raw)
+    if (dev->is_raw)
         tios->c_oflag &= ~OPOST;
 
     return 0;
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 14:58:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 14:58:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255780.438489 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Ibc-0004eG-81; Tue, 11 Jan 2022 14:58:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255780.438489; Tue, 11 Jan 2022 14:58:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Ibb-0004bW-Ks; Tue, 11 Jan 2022 14:58:35 +0000
Received: by outflank-mailman (input) for mailman id 255780;
 Tue, 11 Jan 2022 14:58:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7IbY-0002OZ-Dm
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 14:58:32 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ec131df5-72ee-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 15:58:23 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id B94521F3C0;
 Tue, 11 Jan 2022 14:58:21 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 904D013DDD;
 Tue, 11 Jan 2022 14:58:21 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id MDb6IQ2b3WH9eQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 14:58:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ec131df5-72ee-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913101; h=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=Y+cFyyKrZNtwGa8ajfw3LoYs6PEvCSgNiRQOqaGYZOo=;
	b=kE1dypH8RaMAizI9BnfmTJJoaByoAHqPkAxNRwEI1vXMOqIWuj+YZUzYdmhRKADy4ZaOiY
	4R4H27w8skxfiJR6EAUJ2mu/y+XEPU6Hs25S+lyB0eP5r1vbjSrpzRa+3dSbbpr+psrRD3
	kA1khR01z1NP+3Z4et6/Lz2djrkYWFQ=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 09/18] mini-os: eliminate kbdfront union member in struct file
Date: Tue, 11 Jan 2022 15:58:08 +0100
Message-Id: <20220111145817.22170-10-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111145817.22170-1-jgross@suse.com>
References: <20220111145817.22170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Replace the kbdfront specific union member in struct file with the
common dev pointer.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
 fbfront.c     | 2 +-
 include/lib.h | 3 ---
 lib/sys.c     | 4 ++--
 3 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/fbfront.c b/fbfront.c
index c8410af..1e055fb 100644
--- a/fbfront.c
+++ b/fbfront.c
@@ -302,7 +302,7 @@ int kbdfront_open(struct kbdfront_dev *dev)
 {
     dev->fd = alloc_fd(FTYPE_KBD);
     printk("kbd_open(%s) -> %d\n", dev->nodename, dev->fd);
-    files[dev->fd].kbd.dev = dev;
+    files[dev->fd].dev = dev;
     return dev->fd;
 }
 #endif
diff --git a/include/lib.h b/include/lib.h
index 2a9a01c..5201ed7 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -196,9 +196,6 @@ struct file {
 	struct {
 	    struct netfront_dev *dev;
 	} tap;
-	struct {
-	    struct kbdfront_dev *dev;
-	} kbd;
 #ifdef CONFIG_TPMFRONT
 	struct {
 	   struct tpmfront_dev *dev;
diff --git a/lib/sys.c b/lib/sys.c
index 2d48657..8c7ea3c 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -275,7 +275,7 @@ int read(int fd, void *buf, size_t nbytes)
         case FTYPE_KBD: {
             int ret, n;
             n = nbytes / sizeof(union xenkbd_in_event);
-            ret = kbdfront_receive(files[fd].kbd.dev, buf, n);
+            ret = kbdfront_receive(files[fd].dev, buf, n);
 	    if (ret <= 0) {
 		errno = EAGAIN;
 		return -1;
@@ -474,7 +474,7 @@ int close(int fd)
 #endif
 #ifdef CONFIG_KBDFRONT
 	case FTYPE_KBD:
-            shutdown_kbdfront(files[fd].kbd.dev);
+            shutdown_kbdfront(files[fd].dev);
             files[fd].type = FTYPE_NONE;
             return 0;
 #endif
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 14:58:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 14:58:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255781.438497 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Ibd-0004un-Fo; Tue, 11 Jan 2022 14:58:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255781.438497; Tue, 11 Jan 2022 14:58:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Ibc-0004qm-KJ; Tue, 11 Jan 2022 14:58:36 +0000
Received: by outflank-mailman (input) for mailman id 255781;
 Tue, 11 Jan 2022 14:58:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7IbY-0002Oa-DR
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 14:58:32 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eaa6c309-72ee-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 15:58:22 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 8B1AB212C5;
 Tue, 11 Jan 2022 14:58:20 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 63AD313DDD;
 Tue, 11 Jan 2022 14:58:20 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id mNItFwyb3WH9eQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 14:58:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eaa6c309-72ee-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913100; h=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=B1qIgvUq07hNrHG3qYVz9ZnwoNPkdqDFYkWrq9AIUhQ=;
	b=Hm+0JCHE/qFCO0PSAk6d7BkNGhNjVFHbFcBonMcRxLYHDPJf9AuEnTDIGW4d+8Glr7g2hn
	FH4Z2mIWkoOvxwp8LcedDRrPQeaej4OqKw+A/bVxTpdFbfenwQqcizECq/SLYRMGHXyC19
	lFAXftWBn3Ac8Cic1GjyT3P3igyPKVk=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 03/18] mini-os: make offset a common struct file member for all types
Date: Tue, 11 Jan 2022 15:58:02 +0100
Message-Id: <20220111145817.22170-4-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111145817.22170-1-jgross@suse.com>
References: <20220111145817.22170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently 4 file types have an offset member in their private struct
file part. Make offset a common struct member shared by all file types.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
 blkfront.c    |  5 ++---
 include/lib.h |  5 +----
 lib/sys.c     | 14 +++++---------
 tpm_tis.c     | 11 +++++------
 tpmfront.c    | 11 +++++------
 5 files changed, 18 insertions(+), 28 deletions(-)

diff --git a/blkfront.c b/blkfront.c
index 7c8eb74..8137106 100644
--- a/blkfront.c
+++ b/blkfront.c
@@ -563,14 +563,13 @@ int blkfront_open(struct blkfront_dev *dev)
     dev->fd = alloc_fd(FTYPE_BLK);
     printk("blk_open(%s) -> %d\n", dev->nodename, dev->fd);
     files[dev->fd].blk.dev = dev;
-    files[dev->fd].blk.offset = 0;
     return dev->fd;
 }
 
 int blkfront_posix_rwop(int fd, uint8_t* buf, size_t count, int write)
 {
    struct blkfront_dev* dev = files[fd].blk.dev;
-   off_t offset = files[fd].blk.offset;
+   off_t offset = files[fd].offset;
    struct blkfront_aiocb aiocb;
    unsigned long long disksize = dev->info.sectors * dev->info.sector_size;
    unsigned int blocksize = dev->info.sector_size;
@@ -712,7 +711,7 @@ int blkfront_posix_rwop(int fd, uint8_t* buf, size_t count, int write)
    }
 
    free(copybuf);
-   files[fd].blk.offset += rc;
+   files[fd].offset += rc;
    return rc;
 
 }
diff --git a/include/lib.h b/include/lib.h
index df2de9e..4d9b14b 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -185,6 +185,7 @@ struct evtchn_port_info {
 struct file {
     enum fd_type type;
     bool read;	/* maybe available for read */
+    off_t offset;
     union {
 	struct {
             /* lwIP fd */
@@ -193,7 +194,6 @@ struct file {
 	struct {
             /* FS import fd */
 	    int fd;
-	    off_t offset;
 	} file;
 	struct {
 	    struct evtchn_port_list ports;
@@ -204,7 +204,6 @@ struct file {
 	} tap;
 	struct {
 	    struct blkfront_dev *dev;
-            off_t offset;
 	} blk;
 	struct {
 	    struct kbdfront_dev *dev;
@@ -219,14 +218,12 @@ struct file {
 	struct {
 	   struct tpmfront_dev *dev;
 	   int respgot;
-	   off_t offset;
 	} tpmfront;
 #endif
 #ifdef CONFIG_TPM_TIS
 	struct {
 	   struct tpm_chip *dev;
 	   int respgot;
-	   off_t offset;
 	} tpm_tis;
 #endif
 #ifdef CONFIG_XENBUS
diff --git a/lib/sys.c b/lib/sys.c
index e8d5eb2..e1cea70 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -107,6 +107,7 @@ int alloc_fd(enum fd_type type)
     for (i=0; i<NOFILE; i++) {
 	if (files[i].type == FTYPE_NONE) {
 	    files[i].type = type;
+            files[i].offset = 0;
 	    pthread_mutex_unlock(&fd_lock);
 	    return i;
 	}
@@ -363,25 +364,20 @@ int write(int fd, const void *buf, size_t nbytes)
 
 off_t lseek(int fd, off_t offset, int whence)
 {
-    off_t* target = NULL;
     switch(files[fd].type) {
 #ifdef CONFIG_BLKFRONT
        case FTYPE_BLK:
-          target = &files[fd].blk.offset;
           break;
 #endif
 #ifdef CONFIG_TPMFRONT
        case FTYPE_TPMFRONT:
-          target = &files[fd].tpmfront.offset;
           break;
 #endif
 #ifdef CONFIG_TPM_TIS
        case FTYPE_TPM_TIS:
-          target = &files[fd].tpm_tis.offset;
           break;
 #endif
        case FTYPE_FILE:
-          target = &files[fd].file.offset;
           break;
        default:
           /* Not implemented for this filetype */
@@ -391,10 +387,10 @@ off_t lseek(int fd, off_t offset, int whence)
 
     switch (whence) {
        case SEEK_SET:
-          *target = offset;
+          files[fd].offset = offset;
           break;
        case SEEK_CUR:
-          *target += offset;
+          files[fd].offset += offset;
           break;
        case SEEK_END:
           {
@@ -403,14 +399,14 @@ off_t lseek(int fd, off_t offset, int whence)
              ret = fstat(fd, &st);
              if (ret)
                 return -1;
-             *target = st.st_size + offset;
+             files[fd].offset = st.st_size + offset;
              break;
           }
        default:
           errno = EINVAL;
           return -1;
     }
-    return *target;
+    return files[fd].offset;
 }
 
 int fsync(int fd) {
diff --git a/tpm_tis.c b/tpm_tis.c
index 4a51027..8a632b1 100644
--- a/tpm_tis.c
+++ b/tpm_tis.c
@@ -847,7 +847,7 @@ int tpm_tis_send(struct tpm_chip* tpm, uint8_t* buf, size_t len) {
    if(tpm->fd >= 0) {
       files[tpm->fd].read = false;
       files[tpm->fd].tpm_tis.respgot = 0;
-      files[tpm->fd].tpm_tis.offset = 0;
+      files[tpm->fd].offset = 0;
    }
 #endif
    return len;
@@ -1290,7 +1290,6 @@ int tpm_tis_open(struct tpm_chip* tpm)
    tpm->fd = alloc_fd(FTYPE_TPM_TIS);
    printk("tpm_tis_open() -> %d\n", tpm->fd);
    files[tpm->fd].tpm_tis.dev = tpm;
-   files[tpm->fd].tpm_tis.offset = 0;
    files[tpm->fd].tpm_tis.respgot = 0;
    return tpm->fd;
 }
@@ -1340,13 +1339,13 @@ int tpm_tis_posix_read(int fd, uint8_t* buf, size_t count)
 
 
    /* Handle EOF case */
-   if(files[fd].tpm_tis.offset >= tpm->data_len) {
+   if(files[fd].offset >= tpm->data_len) {
       rc = 0;
    } else {
-      rc = min(tpm->data_len - files[fd].tpm_tis.offset, count);
-      memcpy(buf, tpm->data_buffer + files[fd].tpm_tis.offset, rc);
+      rc = min(tpm->data_len - files[fd].offset, count);
+      memcpy(buf, tpm->data_buffer + files[fd].offset, rc);
    }
-   files[fd].tpm_tis.offset += rc;
+   files[fd].offset += rc;
    /* Reset the data pending flag */
    return rc;
 }
diff --git a/tpmfront.c b/tpmfront.c
index d825b49..8b2a910 100644
--- a/tpmfront.c
+++ b/tpmfront.c
@@ -440,7 +440,7 @@ int tpmfront_send(struct tpmfront_dev* dev, const uint8_t* msg, size_t length)
    if(dev->fd >= 0) {
       files[dev->fd].read = false;
       files[dev->fd].tpmfront.respgot = 0;
-      files[dev->fd].tpmfront.offset = 0;
+      files[dev->fd].offset = 0;
    }
 #endif
    wmb();
@@ -539,7 +539,6 @@ int tpmfront_open(struct tpmfront_dev* dev)
    dev->fd = alloc_fd(FTYPE_TPMFRONT);
    printk("tpmfront_open(%s) -> %d\n", dev->nodename, dev->fd);
    files[dev->fd].tpmfront.dev = dev;
-   files[dev->fd].tpmfront.offset = 0;
    files[dev->fd].tpmfront.respgot = 0;
    return dev->fd;
 }
@@ -589,14 +588,14 @@ int tpmfront_posix_read(int fd, uint8_t* buf, size_t count)
    }
 
    /* handle EOF case */
-   if(files[dev->fd].tpmfront.offset >= dev->resplen) {
+   if(files[dev->fd].offset >= dev->resplen) {
       return 0;
    }
 
    /* Compute the number of bytes and do the copy operation */
-   if((rc = min(count, dev->resplen - files[dev->fd].tpmfront.offset)) != 0) {
-      memcpy(buf, dev->respbuf + files[dev->fd].tpmfront.offset, rc);
-      files[dev->fd].tpmfront.offset += rc;
+   if((rc = min(count, dev->resplen - files[dev->fd].offset)) != 0) {
+      memcpy(buf, dev->respbuf + files[dev->fd].offset, rc);
+      files[dev->fd].offset += rc;
    }
 
    return rc;
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 15:03:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 15:03:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255793.438526 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7IgG-0001Ts-1i; Tue, 11 Jan 2022 15:03:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255793.438526; Tue, 11 Jan 2022 15: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 1n7IgF-0001TY-Rn; Tue, 11 Jan 2022 15:03:23 +0000
Received: by outflank-mailman (input) for mailman id 255793;
 Tue, 11 Jan 2022 15:03:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7IgE-0001Pm-Jo
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 15:03:22 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9da82cf0-72ef-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 16:03:21 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id C863F210F5;
 Tue, 11 Jan 2022 15:03:20 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id A05E913DDD;
 Tue, 11 Jan 2022 15:03:20 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id x9OlJTic3WFCfQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 15:03: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: 9da82cf0-72ef-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913400; h=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=PugA/ZrY2PwDBZ15ZxoHE6cWNTMMPUso+Y1C8spYrnw=;
	b=vIJlpdhYdabY5hYLq5Acxp4ANIZE6Hpl+LYywFz4dvviU7uwjvAqXMDbWv242WZXwQDBei
	JqqoxcM7j4bhCSLEb/FHKqP1fDS/1Cn6SR4IrIL+vmImbq1BBAeyoK8uKxIVZM4eOML0iB
	aFaq/HzHZIAvLTo+EKW55d1qJlTx4DY=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 0/3] tools/libs: decouple more from mini-os
Date: Tue, 11 Jan 2022 16:03:15 +0100
Message-Id: <20220111150318.22570-1-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This small series removes some hard coupling of the Xen build with some
Mini-OS internals, especially the struct file layout and the internal
organization of the file handling.

This series depends on the Mini-OS series posted recently:

https://lists.xen.org/archives/html/xen-devel/2022-01/threads.html#00347

The main idea is to no longer have Xen library specific structures
inside struct file, or to let struct file layout depend on the
configuration of Mini-OS.

All Xen libraries needing a hook in struct file should use the now
available generic dev pointer and allocate the needed data dynamically.

Additionally Xen libraries should get the pointer of struct file via
the new get_file_from_fd() function instead of accessing directly the
files[] array, which might go away in future (e.g. in order to support
dynamic allocation of struct file as needed).

Via using alloc_file_type() the libs provide a function vector in
order to enable Mini9-OS to remove the dedicated callbacks into the
libs via known function names and replacing them to use the new
vector.

Changes in V2:
- comments addressed
- add using alloc_file_type()
- new patch 3

Juergen Gross (3):
  tools/libs/evtchn: decouple more from mini-os
  tools/libs/gnttab: decouple more from mini-os
  tools/libs/ctrl: remove file related handling

 tools/libs/ctrl/xc_minios.c |   9 ---
 tools/libs/evtchn/minios.c  | 143 +++++++++++++++++++++++-------------
 tools/libs/gnttab/minios.c  |  68 ++++++++++++-----
 3 files changed, 139 insertions(+), 81 deletions(-)

-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 15:03:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 15:03:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255792.438521 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7IgF-0001QI-Nz; Tue, 11 Jan 2022 15:03:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255792.438521; Tue, 11 Jan 2022 15:03:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7IgF-0001QB-Iy; Tue, 11 Jan 2022 15:03:23 +0000
Received: by outflank-mailman (input) for mailman id 255792;
 Tue, 11 Jan 2022 15:03:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7IgE-0001Pl-J8
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 15:03:22 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9dcbdf25-72ef-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 16:03:21 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 23F7A212C5;
 Tue, 11 Jan 2022 15:03:21 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 014C913DDD;
 Tue, 11 Jan 2022 15:03:20 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id kKTMOjic3WFCfQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 15:03: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: 9dcbdf25-72ef-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913401; h=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=FkeH3cfFFVMIE3XajBHPWxcpnP57bP6Oa1K/USAaIVA=;
	b=pkP45NirCD81TT9ZA5BUr/E8TvnTSdufQhqI6Zp+1qu30xx48D2t02qp/78ie6Ota7ed+2
	WORVu1Q6c4R3spidoqY26eYut7ZAOFrrtuZzQFvmt+G592JCuEbg7ZgnbFPrhSjfUq1ZB3
	kFVP5Am669GxR+8bFpn0ik4SPHrEeHs=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 2/3] tools/libs/gnttab: decouple more from mini-os
Date: Tue, 11 Jan 2022 16:03:17 +0100
Message-Id: <20220111150318.22570-3-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111150318.22570-1-jgross@suse.com>
References: <20220111150318.22570-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

libgnttab is using implementation details of Mini-OS. Change that by
letting libgnttab use the new alloc_file_type() and get_file_from_fd()
functions and the generic dev pointer of struct file from Mini-OS.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- add alloc_file_type() support
---
 tools/libs/gnttab/minios.c | 68 +++++++++++++++++++++++++++-----------
 1 file changed, 48 insertions(+), 20 deletions(-)

diff --git a/tools/libs/gnttab/minios.c b/tools/libs/gnttab/minios.c
index f78caadd30..c19f339c8c 100644
--- a/tools/libs/gnttab/minios.c
+++ b/tools/libs/gnttab/minios.c
@@ -28,18 +28,53 @@
 #include <sys/mman.h>
 
 #include <errno.h>
+#include <malloc.h>
 #include <unistd.h>
 
 #include "private.h"
 
-void minios_gnttab_close_fd(int fd);
+int minios_gnttab_close_fd(int fd);
+
+int minios_gnttab_close_fd(int fd)
+{
+    struct file *file = get_file_from_fd(fd);
+
+    gntmap_fini(file->dev);
+    free(file->dev);
+
+    return 0;
+}
+
+static struct file_ops gnttab_ops = {
+    .name = "gnttab",
+    .close = minios_gnttab_close_fd,
+};
 
 int osdep_gnttab_open(xengnttab_handle *xgt)
 {
-    int fd = alloc_fd(FTYPE_GNTMAP);
-    if ( fd == -1 )
+    int fd;
+    struct file *file;
+    struct gntmap *gntmap;
+    static unsigned int ftype_gnttab;
+
+    if ( !ftype_gnttab )
+        ftype_gnttab = alloc_file_type(&gnttab_ops);
+
+    gntmap = malloc(sizeof(*gntmap));
+    if ( !gntmap )
+        return -1;
+
+    fd = alloc_fd(ftype_gnttab);
+    file = get_file_from_fd(fd);
+
+    if ( !file )
+    {
+        free(gntmap);
         return -1;
-    gntmap_init(&files[fd].gntmap);
+    }
+
+    file->dev = gntmap;
+    gntmap_init(gntmap);
     xgt->fd = fd;
     return 0;
 }
@@ -52,28 +87,22 @@ int osdep_gnttab_close(xengnttab_handle *xgt)
     return close(xgt->fd);
 }
 
-void minios_gnttab_close_fd(int fd)
-{
-    gntmap_fini(&files[fd].gntmap);
-    files[fd].type = FTYPE_NONE;
-}
-
 void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
                              uint32_t count, int flags, int prot,
                              uint32_t *domids, uint32_t *refs,
                              uint32_t notify_offset,
                              evtchn_port_t notify_port)
 {
-    int fd = xgt->fd;
+    struct file *file = get_file_from_fd(xgt->fd);
     int stride = 1;
+
     if (flags & XENGNTTAB_GRANT_MAP_SINGLE_DOMAIN)
         stride = 0;
     if (notify_offset != -1 || notify_port != -1) {
         errno = ENOSYS;
         return NULL;
     }
-    return gntmap_map_grant_refs(&files[fd].gntmap,
-                                 count, domids, stride,
+    return gntmap_map_grant_refs(file->dev, count, domids, stride,
                                  refs, prot & PROT_WRITE);
 }
 
@@ -81,11 +110,10 @@ int osdep_gnttab_unmap(xengnttab_handle *xgt,
                        void *start_address,
                        uint32_t count)
 {
-    int fd = xgt->fd;
+    struct file *file = get_file_from_fd(xgt->fd);
     int ret;
-    ret = gntmap_munmap(&files[fd].gntmap,
-                        (unsigned long) start_address,
-                        count);
+
+    ret = gntmap_munmap(file->dev, (unsigned long) start_address, count);
     if (ret < 0) {
         errno = -ret;
         return -1;
@@ -95,10 +123,10 @@ int osdep_gnttab_unmap(xengnttab_handle *xgt,
 
 int osdep_gnttab_set_max_grants(xengnttab_handle *xgt, uint32_t count)
 {
-    int fd = xgt->fd;
+    struct file *file = get_file_from_fd(xgt->fd);
     int ret;
-    ret = gntmap_set_max_grants(&files[fd].gntmap,
-                                count);
+
+    ret = gntmap_set_max_grants(file->dev, count);
     if (ret < 0) {
         errno = -ret;
         return -1;
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 15:03:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 15:03:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255794.438543 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7IgH-0001uO-Av; Tue, 11 Jan 2022 15:03:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255794.438543; Tue, 11 Jan 2022 15:03:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7IgH-0001u3-4p; Tue, 11 Jan 2022 15:03:25 +0000
Received: by outflank-mailman (input) for mailman id 255794;
 Tue, 11 Jan 2022 15:03:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7IgF-0001Pl-C2
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 15:03:23 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9de6bbf7-72ef-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 16:03:21 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 506721F3B1;
 Tue, 11 Jan 2022 15:03:21 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 29BBA13DDD;
 Tue, 11 Jan 2022 15:03:21 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id sAr7CDmc3WFCfQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 15:03:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9de6bbf7-72ef-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913401; h=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=k0wxCynhrG7+3fmG6x+LbTZBr6u3QyVqAaptOz8E8AA=;
	b=H3R1EhnhtZXIGv+EwDOxndd7oUu0h/Qcna+uQd108vxqfcUQeiQS8rXlryzHcsrzjMRgZu
	DFb2TIz3bRGlJqjEUwL8sEDJYi/Efwj3oqrqtfcmpe5KdYq5ddRYRoS1YnEcF3Yl0gd7lk
	09P6Taa3yS9Rl6Lc2Y51dlMih6NWWMM=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 3/3] tools/libs/ctrl: remove file related handling
Date: Tue, 11 Jan 2022 16:03:18 +0100
Message-Id: <20220111150318.22570-4-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111150318.22570-1-jgross@suse.com>
References: <20220111150318.22570-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

There is no special file handling related to libxenctrl in Mini-OS
any longer, so the close hook can be removed.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
---
 tools/libs/ctrl/xc_minios.c | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/tools/libs/ctrl/xc_minios.c b/tools/libs/ctrl/xc_minios.c
index 1799daafdc..3dea7a78a5 100644
--- a/tools/libs/ctrl/xc_minios.c
+++ b/tools/libs/ctrl/xc_minios.c
@@ -35,15 +35,6 @@
 
 #include "xc_private.h"
 
-void minios_interface_close_fd(int fd);
-
-extern void minios_interface_close_fd(int fd);
-
-void minios_interface_close_fd(int fd)
-{
-    files[fd].type = FTYPE_NONE;
-}
-
 /* Optionally flush file to disk and discard page cache */
 void discard_file_cache(xc_interface *xch, int fd, int flush)
 {
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 15:03:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 15:03:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255795.438547 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7IgH-0001zQ-KR; Tue, 11 Jan 2022 15:03:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255795.438547; Tue, 11 Jan 2022 15:03:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7IgH-0001xb-Fh; Tue, 11 Jan 2022 15:03:25 +0000
Received: by outflank-mailman (input) for mailman id 255795;
 Tue, 11 Jan 2022 15:03:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7IgF-0001Pm-Cp
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 15:03:23 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9db5c590-72ef-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 16:03:21 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id EFD1321138;
 Tue, 11 Jan 2022 15:03:20 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id C9D1E14043;
 Tue, 11 Jan 2022 15:03:20 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id OAUkMDic3WFCfQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 15:03: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: 9db5c590-72ef-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913400; h=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=lxNmvTh7zUDPqVHTg8LgcS4pfv8P5zMlZ5EGYG1JZ+0=;
	b=jcbXIbFm90CkyiXAqPcCol6RxP0jfBFWm5LJA1iF/9epVlUUCtbENaCyvUwpkJ3Rstav/K
	qLzWmwG8fqlLdFbWRcEAifyRMjAntX+c/Tn82A7eTexAITnFWmFCzDD5nlF5kayMMZEDxe
	MsAapERjfpf7K/QkiZRxpvHQbb0FY0c=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 1/3] tools/libs/evtchn: decouple more from mini-os
Date: Tue, 11 Jan 2022 16:03:16 +0100
Message-Id: <20220111150318.22570-2-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111150318.22570-1-jgross@suse.com>
References: <20220111150318.22570-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Mini-OS and libevtchn are using implementation details of each other.
Change that by letting libevtchn use the new alloc_file_type() and
get_file_from_fd() functions and the generic dev pointer of struct
file from Mini-OS.

By using private struct declarations Mini-OS will be able to drop the
libevtchn specific definitions of struct evtchn_port_info and
evtchn_port_list in future. While at it use boll for "pending" and
"bound".

Switch to use xce as function parameter instead of fd where possible.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- use xce instead of fd as parameter internally (Andrew Cooper)
- add alloc_file_type() support
---
 tools/libs/evtchn/minios.c | 143 +++++++++++++++++++++++--------------
 1 file changed, 91 insertions(+), 52 deletions(-)

diff --git a/tools/libs/evtchn/minios.c b/tools/libs/evtchn/minios.c
index e5dfdc5ef5..c3a5ce3b98 100644
--- a/tools/libs/evtchn/minios.c
+++ b/tools/libs/evtchn/minios.c
@@ -38,29 +38,40 @@
 
 #include "private.h"
 
-extern void minios_evtchn_close_fd(int fd);
+LIST_HEAD(port_list, port_info);
+
+struct port_info {
+    LIST_ENTRY(port_info) list;
+    evtchn_port_t port;
+    bool pending;
+    bool bound;
+};
 
 extern struct wait_queue_head event_queue;
 
+int minios_evtchn_close_fd(int fd);
+
 /* XXX Note: This is not threadsafe */
-static struct evtchn_port_info *port_alloc(int fd)
+static struct port_info *port_alloc(xenevtchn_handle *xce)
 {
-    struct evtchn_port_info *port_info;
+    struct port_info *port_info;
+    struct file *file = get_file_from_fd(xce->fd);
+    struct port_list *port_list = file->dev;
 
-    port_info = malloc(sizeof(struct evtchn_port_info));
+    port_info = malloc(sizeof(struct port_info));
     if ( port_info == NULL )
         return NULL;
 
-    port_info->pending = 0;
+    port_info->pending = false;
     port_info->port = -1;
-    port_info->bound = 0;
+    port_info->bound = false;
 
-    LIST_INSERT_HEAD(&files[fd].evtchn.ports, port_info, list);
+    LIST_INSERT_HEAD(port_list, port_info, list);
 
     return port_info;
 }
 
-static void port_dealloc(struct evtchn_port_info *port_info)
+static void port_dealloc(struct port_info *port_info)
 {
     if ( port_info->bound )
         unbind_evtchn(port_info->port);
@@ -69,18 +80,54 @@ static void port_dealloc(struct evtchn_port_info *port_info)
     free(port_info);
 }
 
+int minios_evtchn_close_fd(int fd)
+{
+    struct port_info *port_info, *tmp;
+    struct file *file = get_file_from_fd(fd);
+    struct port_list *port_list = file->dev;
+
+    LIST_FOREACH_SAFE(port_info, port_list, list, tmp)
+        port_dealloc(port_info);
+    free(port_list);
+
+    return 0;
+}
+
+static struct file_ops evtchn_ops = {
+    .name = "evtchn",
+    .close = minios_evtchn_close_fd,
+    .select_rd = select_read_flag,
+};
+
 /*
  * XENEVTCHN_NO_CLOEXEC is being ignored, as there is no exec() call supported
  * in Mini-OS.
  */
 int osdep_evtchn_open(xenevtchn_handle *xce, unsigned int flags)
 {
-    int fd = alloc_fd(FTYPE_EVTCHN);
+    int fd;
+    struct file *file;
+    struct port_list *list;
+    static unsigned int ftype_evtchn;
 
-    if ( fd == -1 )
+    if ( !ftype_evtchn )
+        ftype_evtchn = alloc_file_type(&evtchn_ops);
+
+    list = malloc(sizeof(*list));
+    if ( !list )
         return -1;
 
-    LIST_INIT(&files[fd].evtchn.ports);
+    fd = alloc_fd(ftype_evtchn);
+    file = get_file_from_fd(fd);
+
+    if ( !file )
+    {
+        free(list);
+        return -1;
+    }
+
+    file->dev = list;
+    LIST_INIT(list);
     xce->fd = fd;
     printf("evtchn_open() -> %d\n", fd);
 
@@ -102,16 +149,6 @@ int osdep_evtchn_restrict(xenevtchn_handle *xce, domid_t domid)
     return -1;
 }
 
-void minios_evtchn_close_fd(int fd)
-{
-    struct evtchn_port_info *port_info, *tmp;
-
-    LIST_FOREACH_SAFE(port_info, &files[fd].evtchn.ports, list, tmp)
-        port_dealloc(port_info);
-
-    files[fd].type = FTYPE_NONE;
-}
-
 int xenevtchn_fd(xenevtchn_handle *xce)
 {
     return xce->fd;
@@ -134,42 +171,43 @@ int xenevtchn_notify(xenevtchn_handle *xce, evtchn_port_t port)
 
 static void evtchn_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
 {
-    int fd = (int)(intptr_t)data;
-    struct evtchn_port_info *port_info;
+    xenevtchn_handle *xce = data;
+    struct file *file = get_file_from_fd(xce->fd);
+    struct port_info *port_info;
+    struct port_list *port_list;
 
-    assert(files[fd].type == FTYPE_EVTCHN);
+    assert(file);
+    port_list = file->dev;
     mask_evtchn(port);
-    LIST_FOREACH(port_info, &files[fd].evtchn.ports, list)
+    LIST_FOREACH(port_info, port_list, list)
     {
         if ( port_info->port == port )
             goto found;
     }
 
-    printk("Unknown port for handle %d\n", fd);
+    printk("Unknown port for handle %d\n", xce->fd);
     return;
 
  found:
-    port_info->pending = 1;
-    files[fd].read = 1;
+    port_info->pending = true;
+    file->read = true;
     wake_up(&event_queue);
 }
 
 xenevtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle *xce,
                                                       uint32_t domid)
 {
-    int fd = xce->fd;
-    struct evtchn_port_info *port_info;
+    struct port_info *port_info;
     int ret;
     evtchn_port_t port;
 
     assert(get_current() == main_thread);
-    port_info = port_alloc(fd);
+    port_info = port_alloc(xce);
     if ( port_info == NULL )
         return -1;
 
     printf("xenevtchn_bind_unbound_port(%d)", domid);
-    ret = evtchn_alloc_unbound(domid, evtchn_handler,
-                               (void *)(intptr_t)fd, &port);
+    ret = evtchn_alloc_unbound(domid, evtchn_handler, xce, &port);
     printf(" = %d\n", ret);
 
     if ( ret < 0 )
@@ -179,7 +217,7 @@ xenevtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle *xce,
         return -1;
     }
 
-    port_info->bound = 1;
+    port_info->bound = true;
     port_info->port = port;
     unmask_evtchn(port);
 
@@ -190,19 +228,18 @@ xenevtchn_port_or_error_t xenevtchn_bind_interdomain(xenevtchn_handle *xce,
                                                      uint32_t domid,
                                                      evtchn_port_t remote_port)
 {
-    int fd = xce->fd;
-    struct evtchn_port_info *port_info;
+    struct port_info *port_info;
     evtchn_port_t local_port;
     int ret;
 
     assert(get_current() == main_thread);
-    port_info = port_alloc(fd);
+    port_info = port_alloc(xce);
     if ( port_info == NULL )
         return -1;
 
     printf("xenevtchn_bind_interdomain(%d, %"PRId32")", domid, remote_port);
     ret = evtchn_bind_interdomain(domid, remote_port, evtchn_handler,
-                                  (void *)(intptr_t)fd, &local_port);
+                                  xce, &local_port);
     printf(" = %d\n", ret);
 
     if ( ret < 0 )
@@ -212,7 +249,7 @@ xenevtchn_port_or_error_t xenevtchn_bind_interdomain(xenevtchn_handle *xce,
         return -1;
     }
 
-    port_info->bound = 1;
+    port_info->bound = true;
     port_info->port = local_port;
     unmask_evtchn(local_port);
 
@@ -222,9 +259,11 @@ xenevtchn_port_or_error_t xenevtchn_bind_interdomain(xenevtchn_handle *xce,
 int xenevtchn_unbind(xenevtchn_handle *xce, evtchn_port_t port)
 {
     int fd = xce->fd;
-    struct evtchn_port_info *port_info;
+    struct file *file = get_file_from_fd(fd);
+    struct port_info *port_info;
+    struct port_list *port_list = file->dev;
 
-    LIST_FOREACH(port_info, &files[fd].evtchn.ports, list)
+    LIST_FOREACH(port_info, port_list, list)
     {
         if ( port_info->port == port )
         {
@@ -243,17 +282,16 @@ int xenevtchn_unbind(xenevtchn_handle *xce, evtchn_port_t port)
 xenevtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce,
                                               unsigned int virq)
 {
-    int fd = xce->fd;
-    struct evtchn_port_info *port_info;
+    struct port_info *port_info;
     evtchn_port_t port;
 
     assert(get_current() == main_thread);
-    port_info = port_alloc(fd);
+    port_info = port_alloc(xce);
     if ( port_info == NULL )
         return -1;
 
     printf("xenevtchn_bind_virq(%d)", virq);
-    port = bind_virq(virq, evtchn_handler, (void *)(intptr_t)fd);
+    port = bind_virq(virq, evtchn_handler, xce);
     printf(" = %d\n", port);
 
     if ( port < 0 )
@@ -263,7 +301,7 @@ xenevtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce,
         return -1;
     }
 
-    port_info->bound = 1;
+    port_info->bound = true;
     port_info->port = port;
     unmask_evtchn(port);
 
@@ -272,27 +310,28 @@ xenevtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce,
 
 xenevtchn_port_or_error_t xenevtchn_pending(xenevtchn_handle *xce)
 {
-    int fd = xce->fd;
-    struct evtchn_port_info *port_info;
+    struct file *file = get_file_from_fd(xce->fd);
+    struct port_info *port_info;
+    struct port_list *port_list = file->dev;
     unsigned long flags;
     evtchn_port_t ret = -1;
 
     local_irq_save(flags);
 
-    files[fd].read = 0;
+    file->read = false;
 
-    LIST_FOREACH(port_info, &files[fd].evtchn.ports, list)
+    LIST_FOREACH(port_info, port_list, list)
     {
         if ( port_info->port != -1 && port_info->pending )
         {
             if ( ret == -1 )
             {
                 ret = port_info->port;
-                port_info->pending = 0;
+                port_info->pending = false;
             }
             else
             {
-                files[fd].read = 1;
+                file->read = true;
                 break;
             }
         }
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 15:07:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 15:07:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255815.438577 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7IkN-00043a-L4; Tue, 11 Jan 2022 15:07:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255815.438577; Tue, 11 Jan 2022 15:07: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 1n7IkN-00043T-Hd; Tue, 11 Jan 2022 15:07:39 +0000
Received: by outflank-mailman (input) for mailman id 255815;
 Tue, 11 Jan 2022 15:07:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7Ibg-0002OZ-FQ
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 14:58:40 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ec5ddb25-72ee-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 15:58:23 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 75CCC212C3;
 Tue, 11 Jan 2022 14:58:23 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 4E6D313DDD;
 Tue, 11 Jan 2022 14:58:23 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id cBnnEQ+b3WH9eQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 14:58:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ec5ddb25-72ee-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913103; h=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=3MRu1fvGvRxSYETAwaGXHjdx6AuZiPRv8J9xLv9qXpA=;
	b=cE07+p9X7+a1mj4Yq/WttMObovohhvxLc1iNnnT+9yGsXpv/JCEv5uPOVrQkkzW+GVDEFD
	hHF+ZUGCyNqcCpqZuTDGXeowTB3PdeAJ6YPJvhD5e/ldwx7SRGZ5efDmP0zugqxIC+1crm
	4ANsHXOr9LvGgFLPD49G9lNF3CLgF48=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 18/18] mini-os: remove file type FTYPE_XC
Date: Tue, 11 Jan 2022 15:58:17 +0100
Message-Id: <20220111145817.22170-19-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111145817.22170-1-jgross@suse.com>
References: <20220111145817.22170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The only reason for the file type FTYPE_XC has been gone long time
ago: it was needed for xc_map_foreign_bulk(), which has been switched
to use libxenforeignmemory and doesn't need this special file any
more.

So remove everything related to FTYPE_XC.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
---
 Config.mk                     |  1 -
 arch/x86/testbuild/all-no     |  1 -
 arch/x86/testbuild/all-yes    |  1 -
 arch/x86/testbuild/newxen-yes |  1 -
 include/lib.h                 |  3 +--
 lib/sys.c                     | 13 -------------
 6 files changed, 1 insertion(+), 19 deletions(-)

diff --git a/Config.mk b/Config.mk
index 5e66089..1e08388 100644
--- a/Config.mk
+++ b/Config.mk
@@ -197,7 +197,6 @@ CONFIG-n += CONFIG_PARAVIRT
 endif
 # Support legacy CONFIG_XC value
 CONFIG_XC ?= $(libc)
-CONFIG-$(CONFIG_XC) += CONFIG_LIBXENCTRL
 CONFIG-$(CONFIG_XC) += CONFIG_LIBXENEVTCHN
 CONFIG-$(CONFIG_XC) += CONFIG_LIBXENGNTTAB
 
diff --git a/arch/x86/testbuild/all-no b/arch/x86/testbuild/all-no
index 7972ecd..d6fc260 100644
--- a/arch/x86/testbuild/all-no
+++ b/arch/x86/testbuild/all-no
@@ -13,7 +13,6 @@ CONFIG_FBFRONT = n
 CONFIG_KBDFRONT = n
 CONFIG_CONSFRONT = n
 CONFIG_XENBUS = n
-CONFIG_LIBXENCTRL = n
 CONFIG_LIBXENEVTCHN = n
 CONFIG_LIBXENGNTTAB = n
 CONFIG_LWIP = n
diff --git a/arch/x86/testbuild/all-yes b/arch/x86/testbuild/all-yes
index bc8eea5..98bbfeb 100644
--- a/arch/x86/testbuild/all-yes
+++ b/arch/x86/testbuild/all-yes
@@ -16,7 +16,6 @@ CONFIG_XENBUS = y
 CONFIG_BALLOON = y
 CONFIG_USE_XEN_CONSOLE = y
 # The following are special: they need support from outside
-CONFIG_LIBXENCTRL = n
 CONFIG_LIBXENEVTCHN = n
 CONFIG_LIBXENGNTTAB = n
 CONFIG_LWIP = n
diff --git a/arch/x86/testbuild/newxen-yes b/arch/x86/testbuild/newxen-yes
index f72123b..0603200 100644
--- a/arch/x86/testbuild/newxen-yes
+++ b/arch/x86/testbuild/newxen-yes
@@ -17,7 +17,6 @@ CONFIG_BALLOON = y
 CONFIG_USE_XEN_CONSOLE = y
 XEN_INTERFACE_VERSION=__XEN_LATEST_INTERFACE_VERSION__
 # The following are special: they need support from outside
-CONFIG_LIBXENCTRL = n
 CONFIG_LIBXENEVTCHN = n
 CONFIG_LIBXENGNTTAB = n
 CONFIG_LWIP = n
diff --git a/include/lib.h b/include/lib.h
index b40e213..4892320 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -170,8 +170,7 @@ void sanity_check(void);
 #define FTYPE_XENBUS    12
 #define FTYPE_GNTMAP    13
 #define FTYPE_EVTCHN    14
-#define FTYPE_XC        15
-#define FTYPE_N         16
+#define FTYPE_N         15
 #define FTYPE_SPARE     16
 
 typedef int file_read_func(int fd, void *buf, size_t nbytes);
diff --git a/lib/sys.c b/lib/sys.c
index c327247..52876e0 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -87,7 +87,6 @@
     }
 
 #define NOFILE 32
-extern void minios_interface_close_fd(int fd);
 extern void minios_evtchn_close_fd(int fd);
 extern void minios_gnttab_close_fd(int fd);
 
@@ -506,11 +505,6 @@ int close(int fd)
 	    res = lwip_close(files[fd].fd);
             break;
 #endif
-#ifdef CONFIG_LIBXENCTRL
-	case FTYPE_XC:
-	    minios_interface_close_fd(fd);
-            break;
-#endif
 #ifdef CONFIG_LIBXENEVTCHN
 	case FTYPE_EVTCHN:
 	    minios_evtchn_close_fd(fd);
@@ -729,7 +723,6 @@ static const char *file_types[] = {
     [FTYPE_NONE]    = "none",
     [FTYPE_CONSOLE] = "console",
     [FTYPE_XENBUS]  = "xenbus",
-    [FTYPE_XC]      = "ctrl",
     [FTYPE_EVTCHN]  = "evtchn",
     [FTYPE_SOCKET]  = "socket",
     [FTYPE_TAP]     = "net",
@@ -1510,12 +1503,6 @@ void *mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset
 
     if (fd == -1)
         return map_zero(n, 1);
-#ifdef CONFIG_LIBXENCTRL
-    else if (files[fd].type == FTYPE_XC) {
-        unsigned long zero = 0;
-        return map_frames_ex(&zero, n, 0, 0, 1, DOMID_SELF, NULL, 0);
-    }
-#endif
     else if (files[fd].type == FTYPE_MEM) {
         unsigned long first_mfn = offset >> PAGE_SHIFT;
         return map_frames_ex(&first_mfn, n, 0, 1, 1, DOMID_IO, NULL, _PAGE_PRESENT|_PAGE_RW);
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 15:07:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 15:07:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255816.438588 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7IkO-0004KW-T5; Tue, 11 Jan 2022 15:07:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255816.438588; Tue, 11 Jan 2022 15:07:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7IkO-0004KP-Pi; Tue, 11 Jan 2022 15:07:40 +0000
Received: by outflank-mailman (input) for mailman id 255816;
 Tue, 11 Jan 2022 15:07:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7Ibe-0002OZ-F3
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 14:58:38 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ec38fac3-72ee-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 15:58:23 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id ADCAD21637;
 Tue, 11 Jan 2022 14:58:22 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 8537013DDD;
 Tue, 11 Jan 2022 14:58:22 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 4OZLHw6b3WH9eQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 14:58:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ec38fac3-72ee-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913102; h=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=n40BkLdnJT4X941oqOUKglJdlkxVA0w5hYfz6J0OaY8=;
	b=ZjfrY70i0Pbr4czUKwgXjbY1iNrCDw3Vx6pB0YdsaGN7XkJEQRb6KDvlppTR00fiMkgicg
	b96gcYYWqzLUeAJWntujpY/xohdNP0T70OPGYx0tVAzuIvA29EQPP9efelRGjtJfBy8EA8
	R3CGUCNryEYA3V2yaKv5C6rJtjM1OBk=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 14/18] mini-os: eliminate xenbus union member in struct file
Date: Tue, 11 Jan 2022 15:58:13 +0100
Message-Id: <20220111145817.22170-15-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111145817.22170-1-jgross@suse.com>
References: <20220111145817.22170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Replace the xenbus specific union member in struct file with the
common dev pointer.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
 include/lib.h |  7 -------
 lib/sys.c     |  2 +-
 lib/xs.c      | 13 +++++++------
 3 files changed, 8 insertions(+), 14 deletions(-)

diff --git a/include/lib.h b/include/lib.h
index d6a29ba..91364ba 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -193,13 +193,6 @@ struct file {
 	    struct evtchn_port_list ports;
 	} evtchn;
 	struct gntmap gntmap;
-#ifdef CONFIG_XENBUS
-        struct {
-            /* To each xenbus FD is associated a queue of watch events for this
-             * FD.  */
-            xenbus_event_queue events;
-        } xenbus;
-#endif
     };
 };
 
diff --git a/lib/sys.c b/lib/sys.c
index 96fc769..6f2b026 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -776,7 +776,7 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
 #ifdef CONFIG_XENBUS
 	case FTYPE_XENBUS:
 	    if (FD_ISSET(i, readfds)) {
-                if (files[i].xenbus.events)
+                if (files[i].dev)
 		    n++;
 		else
 		    FD_CLR(i, readfds);
diff --git a/lib/xs.c b/lib/xs.c
index 324bd05..0459f52 100644
--- a/lib/xs.c
+++ b/lib/xs.c
@@ -21,8 +21,8 @@ static inline int _xs_fileno(struct xs_handle *h) {
 struct xs_handle *xs_daemon_open()
 {
     int fd = alloc_fd(FTYPE_XENBUS);
-    files[fd].xenbus.events = NULL;
-    printk("xs_daemon_open -> %d, %p\n", fd, &files[fd].xenbus.events);
+    files[fd].dev = NULL;
+    printk("xs_daemon_open -> %d, %p\n", fd, &files[fd].dev);
     return (void*)(intptr_t) fd;
 }
 
@@ -30,7 +30,7 @@ void xs_daemon_close(struct xs_handle *h)
 {
     int fd = _xs_fileno(h);
     struct xenbus_event *event, *next;
-    for (event = files[fd].xenbus.events; event; event = next)
+    for (event = files[fd].dev; event; event = next)
     {
         next = event->next;
         free(event);
@@ -172,15 +172,16 @@ bool xs_watch(struct xs_handle *h, const char *path, const char *token)
 {
     int fd = _xs_fileno(h);
     printk("xs_watch(%s, %s)\n", path, token);
-    return xs_bool(xenbus_watch_path_token(XBT_NULL, path, token, &files[fd].xenbus.events));
+    return xs_bool(xenbus_watch_path_token(XBT_NULL, path, token,
+                   (xenbus_event_queue *)&files[fd].dev));
 }
 
 char **xs_read_watch(struct xs_handle *h, unsigned int *num)
 {
     int fd = _xs_fileno(h);
     struct xenbus_event *event;
-    event = files[fd].xenbus.events;
-    files[fd].xenbus.events = event->next;
+    event = files[fd].dev;
+    files[fd].dev = event->next;
     printk("xs_read_watch() -> %s %s\n", event->path, event->token);
     *num = 2;
     return (char **) &event->path;
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 15:08:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 15:08:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255823.438603 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Il8-0005EY-7Q; Tue, 11 Jan 2022 15:08:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255823.438603; Tue, 11 Jan 2022 15:08:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Il8-0005ER-4B; Tue, 11 Jan 2022 15:08:26 +0000
Received: by outflank-mailman (input) for mailman id 255823;
 Tue, 11 Jan 2022 15:08:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7Ibi-0002Oa-EL
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 14:58:42 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ec45faef-72ee-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 15:58:23 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 476361F3BB;
 Tue, 11 Jan 2022 14:58:23 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 1B56813DDD;
 Tue, 11 Jan 2022 14:58:23 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 2Jl+BQ+b3WH9eQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 14:58:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ec45faef-72ee-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913103; h=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=LhH/Bo3lirfkf7NoVUI5lwaB8z0a64DTHY6OLddxQ6Q=;
	b=N0yIni7CUgPltcFS9sVSL589r0Kj+q5S/ADpIDzeweucEGAEh95WRb6hVaOCFkGNvGKyMo
	GVSiEJ0yZ6jqAnsDEtRT39cSKfH7pD5P21357Md51nDjxBhuWFvRxsmHsPGLSgxXjyOg5T
	GJyQlwHB1lVrXjMeIUz3gngOpJs3REc=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 17/18] mini-os: use function vectors instead of switch for file operations
Date: Tue, 11 Jan 2022 15:58:16 +0100
Message-Id: <20220111145817.22170-18-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111145817.22170-1-jgross@suse.com>
References: <20220111145817.22170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce file type specific function vectors for all the needed file
operations which are file type specific in order to prepare replacing
the large switch statements in each generic file function.

Add a function to allocate a new file type dynamically in order to
prepare removing direct dependencies to external components in the
future. For this reason switch the file type from an enum to an
unsigned int. Prepare removal of some statically defines file types
by putting them at the end of the defined list.

Change the debug output for the file type from a single character to
a string in order to support a future removal of the file_types[]
array.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
---
 include/lib.h |  65 +++++++++++-----
 lib/sys.c     | 208 +++++++++++++++++++++++++++++++++++++++++---------
 2 files changed, 217 insertions(+), 56 deletions(-)

diff --git a/include/lib.h b/include/lib.h
index 7a0546b..b40e213 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -66,6 +66,7 @@
 
 #ifdef HAVE_LIBC
 #include <sys/queue.h>
+#include <sys/stat.h>
 #include <stdio.h>
 #include <string.h>
 #else
@@ -154,25 +155,51 @@ do {                                                           \
 void sanity_check(void);
 
 #ifdef HAVE_LIBC
-enum fd_type {
-    FTYPE_NONE = 0,
-    FTYPE_CONSOLE,
-    FTYPE_FILE,
-    FTYPE_XENBUS,
-    FTYPE_XC,
-    FTYPE_EVTCHN,
-    FTYPE_GNTMAP,
-    FTYPE_SOCKET,
-    FTYPE_TAP,
-    FTYPE_BLK,
-    FTYPE_KBD,
-    FTYPE_FB,
-    FTYPE_MEM,
-    FTYPE_SAVEFILE,
-    FTYPE_TPMFRONT,
-    FTYPE_TPM_TIS,
+#define FTYPE_NONE       0
+#define FTYPE_CONSOLE    1
+#define FTYPE_FILE       2
+#define FTYPE_SOCKET     3
+#define FTYPE_MEM        4
+#define FTYPE_SAVEFILE   5
+#define FTYPE_FB         6
+#define FTYPE_KBD        7
+#define FTYPE_TAP        8
+#define FTYPE_BLK        9
+#define FTYPE_TPMFRONT  10
+#define FTYPE_TPM_TIS   11
+#define FTYPE_XENBUS    12
+#define FTYPE_GNTMAP    13
+#define FTYPE_EVTCHN    14
+#define FTYPE_XC        15
+#define FTYPE_N         16
+#define FTYPE_SPARE     16
+
+typedef int file_read_func(int fd, void *buf, size_t nbytes);
+typedef int file_write_func(int fd, const void *buf, size_t nbytes);
+typedef off_t file_lseek_func(int fd, off_t offset, int whence);
+typedef int file_close_func(int fd);
+typedef int file_fstat_func(int fd, struct stat *buf);
+typedef int file_fcntl_func(int fd, int cmd, va_list args);
+typedef bool file_select_func(int fd);
+
+struct file_ops {
+    const char *name;
+    file_read_func *read;
+    file_write_func *write;
+    file_lseek_func *lseek;
+    file_close_func *close;
+    file_fstat_func *fstat;
+    file_fcntl_func *fcntl;
+    file_select_func *select_rd;
+    file_select_func *select_wr;
 };
 
+unsigned int alloc_file_type(struct file_ops *ops);
+
+off_t lseek_default(int fd, off_t offset, int whence);
+bool select_yes(int fd);
+bool select_read_flag(int fd);
+
 LIST_HEAD(evtchn_port_list, evtchn_port_info);
 
 struct evtchn_port_info {
@@ -183,7 +210,7 @@ struct evtchn_port_info {
 };
 
 struct file {
-    enum fd_type type;
+    unsigned int type;
     bool read;	/* maybe available for read */
     off_t offset;
     union {
@@ -199,7 +226,7 @@ struct file {
 extern struct file files[];
 
 struct file *get_file_from_fd(int fd);
-int alloc_fd(enum fd_type type);
+int alloc_fd(unsigned int type);
 void close_all_files(void);
 extern struct thread *main_thread;
 void sparse(unsigned long data, size_t size);
diff --git a/lib/sys.c b/lib/sys.c
index 323a7cd..c327247 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -98,6 +98,39 @@ struct file files[NOFILE] = {
     { .type = FTYPE_CONSOLE }, /* stderr */
 };
 
+static struct file_ops file_ops_none = {
+    .name = "none",
+};
+
+static struct file_ops *file_ops[FTYPE_N + FTYPE_SPARE] = {
+    [FTYPE_NONE] = &file_ops_none,
+};
+
+unsigned int alloc_file_type(struct file_ops *ops)
+{
+    unsigned int i;
+
+    pthread_mutex_lock(&fd_lock);
+
+    for ( i = FTYPE_N; i < ARRAY_SIZE(file_ops) && file_ops[i]; i++ );
+    BUG_ON(i == ARRAY_SIZE(file_ops));
+    file_ops[i] = ops;
+
+    pthread_mutex_unlock(&fd_lock);
+
+    printk("New file type \"%s\"(%u) allocated\n", ops->name, i);
+
+    return i;
+}
+
+static struct file_ops *get_file_ops(unsigned int type)
+{
+    if ( type >= ARRAY_SIZE(file_ops) || !file_ops[type] )
+        return &file_ops_none;
+
+    return file_ops[type];
+}
+
 struct file *get_file_from_fd(int fd)
 {
     if ( fd < 0 || fd >= NOFILE )
@@ -108,7 +141,7 @@ struct file *get_file_from_fd(int fd)
 
 DECLARE_WAIT_QUEUE_HEAD(event_queue);
 
-int alloc_fd(enum fd_type type)
+int alloc_fd(unsigned int type)
 {
     int i;
     pthread_mutex_lock(&fd_lock);
@@ -249,6 +282,11 @@ int isatty(int fd)
 
 int read(int fd, void *buf, size_t nbytes)
 {
+    struct file_ops *ops = get_file_ops(files[fd].type);
+
+    if ( ops->read )
+        return ops->read(fd, buf, nbytes);
+
     switch (files[fd].type) {
         case FTYPE_SAVEFILE:
 	case FTYPE_CONSOLE: {
@@ -328,6 +366,11 @@ int read(int fd, void *buf, size_t nbytes)
 
 int write(int fd, const void *buf, size_t nbytes)
 {
+    struct file_ops *ops = get_file_ops(files[fd].type);
+
+    if ( ops->write )
+        return ops->write(fd, buf, nbytes);
+
     switch (files[fd].type) {
         case FTYPE_SAVEFILE: {
                 int ret = 0, tot = nbytes;
@@ -370,8 +413,45 @@ int write(int fd, const void *buf, size_t nbytes)
     return -1;
 }
 
+off_t lseek_default(int fd, off_t offset, int whence)
+{
+    switch ( whence )
+    {
+    case SEEK_SET:
+        files[fd].offset = offset;
+        break;
+
+    case SEEK_CUR:
+        files[fd].offset += offset;
+        break;
+
+    case SEEK_END:
+    {
+        struct stat st;
+        int ret;
+
+        ret = fstat(fd, &st);
+        if ( ret )
+            return -1;
+        files[fd].offset = st.st_size + offset;
+        break;
+    }
+
+    default:
+        errno = EINVAL;
+        return -1;
+    }
+
+    return files[fd].offset;
+}
+
 off_t lseek(int fd, off_t offset, int whence)
 {
+    struct file_ops *ops = get_file_ops(files[fd].type);
+
+    if ( ops->lseek )
+        return ops->lseek(fd, offset, whence);
+
     switch(files[fd].type) {
 #ifdef CONFIG_BLKFRONT
        case FTYPE_BLK:
@@ -393,28 +473,7 @@ off_t lseek(int fd, off_t offset, int whence)
           return (off_t) -1;
     }
 
-    switch (whence) {
-       case SEEK_SET:
-          files[fd].offset = offset;
-          break;
-       case SEEK_CUR:
-          files[fd].offset += offset;
-          break;
-       case SEEK_END:
-          {
-             struct stat st;
-             int ret;
-             ret = fstat(fd, &st);
-             if (ret)
-                return -1;
-             files[fd].offset = st.st_size + offset;
-             break;
-          }
-       default:
-          errno = EINVAL;
-          return -1;
-    }
-    return files[fd].offset;
+    return lseek_default(fd, offset, whence);
 }
 
 int fsync(int fd) {
@@ -425,8 +484,15 @@ int fsync(int fd) {
 int close(int fd)
 {
     int res = 0;
+    struct file_ops *ops = get_file_ops(files[fd].type);
 
     printk("close(%d)\n", fd);
+    if ( ops->close )
+    {
+        res = ops->close(fd);
+        goto out;
+    }
+
     switch (files[fd].type) {
         default:
             break;
@@ -497,6 +563,7 @@ int close(int fd)
             return -1;
     }
 
+ out:
     memset(files + fd, 0, sizeof(struct file));
     files[fd].type = FTYPE_NONE;
     return res;
@@ -521,7 +588,13 @@ int stat(const char *path, struct stat *buf)
 
 int fstat(int fd, struct stat *buf)
 {
+    struct file_ops *ops = get_file_ops(files[fd].type);
+
     init_stat(buf);
+
+    if ( ops->fstat )
+        return ops->fstat(fd, buf);
+
     switch (files[fd].type) {
 	case FTYPE_SAVEFILE:
 	case FTYPE_CONSOLE:
@@ -587,6 +660,18 @@ int fcntl(int fd, int cmd, ...)
 {
     long arg;
     va_list ap;
+    int res;
+    struct file_ops *ops = get_file_ops(files[fd].type);
+
+    if ( ops->fcntl )
+    {
+        va_start(ap, cmd);
+        res = ops->fcntl(fd, cmd, ap);
+        va_end(ap);
+
+        return res;
+    }
+
     va_start(ap, cmd);
     arg = va_arg(ap, long);
     va_end(ap);
@@ -640,18 +725,29 @@ int closedir(DIR *dir)
 /* We assume that only the main thread calls select(). */
 
 #if defined(LIBC_DEBUG) || defined(LIBC_VERBOSE)
-static const char file_types[] = {
-    [FTYPE_NONE]	= 'N',
-    [FTYPE_CONSOLE]	= 'C',
-    [FTYPE_XENBUS]	= 'S',
-    [FTYPE_XC]		= 'X',
-    [FTYPE_EVTCHN]	= 'E',
-    [FTYPE_SOCKET]	= 's',
-    [FTYPE_TAP]		= 'T',
-    [FTYPE_BLK]		= 'B',
-    [FTYPE_KBD]		= 'K',
-    [FTYPE_FB]		= 'G',
+static const char *file_types[] = {
+    [FTYPE_NONE]    = "none",
+    [FTYPE_CONSOLE] = "console",
+    [FTYPE_XENBUS]  = "xenbus",
+    [FTYPE_XC]      = "ctrl",
+    [FTYPE_EVTCHN]  = "evtchn",
+    [FTYPE_SOCKET]  = "socket",
+    [FTYPE_TAP]     = "net",
+    [FTYPE_BLK]     = "blk",
+    [FTYPE_KBD]     = "kbd",
+    [FTYPE_FB]      = "fb",
 };
+
+static char *get_type_name(unsigned int type)
+{
+    if ( type < ARRAY_SIZE(file_ops) && file_ops[type] )
+        return file_ops[type]->name;
+
+    if ( type < ARRAY_SIZE(file_types) && file_types[type] )
+        return file_types[type];
+
+    return "none";
+}
 #endif
 #ifdef LIBC_DEBUG
 static void dump_set(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout)
@@ -663,7 +759,7 @@ static void dump_set(int nfds, fd_set *readfds, fd_set *writefds, fd_set *except
 	if (FD_ISSET(i, set)) { \
 	    if (comma) \
 		printk(", "); \
-	    printk("%d(%c)", i, file_types[files[i].type]); \
+	    printk("%d(%s)", i, get_type_name(files[i].type)); \
 	    comma = 1; \
 	} \
     } \
@@ -697,7 +793,7 @@ static void dump_pollfds(struct pollfd *pfd, int nfds, int timeout)
         fd = pfd[i].fd;
         if (comma)
             printk(", ");
-        printk("%d(%c)/%02x", fd, file_types[files[fd].type],
+        printk("%d(%s)/%02x", fd, get_type_name(files[fd].type),
             pfd[i].events);
             comma = 1;
     }
@@ -709,6 +805,18 @@ static void dump_pollfds(struct pollfd *pfd, int nfds, int timeout)
 #define dump_pollfds(pfds, nfds, timeout)
 #endif
 
+bool select_yes(int fd)
+{
+    return true;
+}
+
+bool select_read_flag(int fd)
+{
+    struct file *file = get_file_from_fd(fd);
+
+    return file->read;
+}
+
 /* Just poll without blocking */
 static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds)
 {
@@ -762,9 +870,35 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
     for (i = 0; i < nfds; i++) {
 	switch(files[i].type) {
 	default:
+        {
+            struct file_ops *ops = file_ops[files[i].type];
+
+            if ( ops )
+            {
+                if ( FD_ISSET(i, readfds) )
+                {
+                    if ( ops->select_rd && ops->select_rd(i) )
+                        n++;
+                    else
+                        FD_CLR(i, readfds);
+                }
+                if ( FD_ISSET(i, writefds) )
+                {
+                    if ( ops->select_wr && ops->select_wr(i) )
+                        n++;
+                    else
+                        FD_CLR(i, writefds);
+                }
+	        FD_CLR(i, exceptfds);
+
+                break;
+            }
+
 	    if (FD_ISSET(i, readfds) || FD_ISSET(i, writefds) || FD_ISSET(i, exceptfds))
 		printk("bogus fd %d in select\n", i);
 	    /* Fallthrough.  */
+        }
+
 	case FTYPE_CONSOLE:
 	    if (FD_ISSET(i, readfds)) {
                 if (xencons_ring_avail(files[i].dev))
@@ -842,7 +976,7 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
 	printk("%d(%d): ", nb, sock_n);
 	for (i = 0; i < nfds; i++) {
 	    if (nbread[i] || nbwrite[i] || nbexcept[i])
-		printk(" %d(%c):", i, file_types[files[i].type]);
+		printk(" %d(%c):", i, get_type_name(files[i].type));
 	    if (nbread[i])
 	    	printk(" %dR", nbread[i]);
 	    if (nbwrite[i])
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 15:09:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 15:09:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255828.438618 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Ile-0005yT-Mi; Tue, 11 Jan 2022 15:08:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255828.438618; Tue, 11 Jan 2022 15:08:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Ile-0005yM-Ie; Tue, 11 Jan 2022 15:08:58 +0000
Received: by outflank-mailman (input) for mailman id 255828;
 Tue, 11 Jan 2022 15:08:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7Iba-0002Oa-DQ
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 14:58:34 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ea895f7d-72ee-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 15:58:22 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 5D9031F3B9;
 Tue, 11 Jan 2022 14:58:20 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 3681613DDD;
 Tue, 11 Jan 2022 14:58:20 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id AJUxDAyb3WH9eQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 14:58:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ea895f7d-72ee-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913100; h=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=vzZzmPAjeVTU9pmfwYUWWND13ROdq/Dkiqf1Bikl8LY=;
	b=CQ7U6vS/PPESmcmYahKPhyhfyfDP9ZdiGATPqxGYb8u8pYMiD9FR3EZ70b2H41lPOyDFFt
	yHK1EnEMmR/k7RQQqVThpgoBFsBu9iLjCIq2UmPU2gfy/Qi42ajnUJDzm9vlT2XUCpfMtd
	V/RiFJrKrzqNiKcye5i6wKu2DkgQiwQ=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 02/18] mini-os: makes file.read bool and move it ahead of device specific part
Date: Tue, 11 Jan 2022 15:58:01 +0100
Message-Id: <20220111145817.22170-3-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111145817.22170-1-jgross@suse.com>
References: <20220111145817.22170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The read member of struct file should be bool.

In order to have the device specific part at the end of the structure
move "read" ahead of that.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
 blkfront.c             |  4 ++--
 console/xencons_ring.c |  2 +-
 fbfront.c              | 12 ++++++------
 include/lib.h          |  3 ++-
 netfront.c             |  4 ++--
 tpm_tis.c              |  2 +-
 tpmfront.c             |  6 +++---
 7 files changed, 17 insertions(+), 16 deletions(-)

diff --git a/blkfront.c b/blkfront.c
index 834a978..7c8eb74 100644
--- a/blkfront.c
+++ b/blkfront.c
@@ -62,7 +62,7 @@ void blkfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
     int fd = dev->fd;
 
     if (fd != -1)
-        files[fd].read = 1;
+        files[fd].read = true;
 #endif
     wake_up(&blkfront_queue);
 }
@@ -484,7 +484,7 @@ int blkfront_aio_poll(struct blkfront_dev *dev)
 moretodo:
 #ifdef HAVE_LIBC
     if (dev->fd != -1) {
-        files[dev->fd].read = 0;
+        files[dev->fd].read = false;
         mb(); /* Make sure to let the handler set read to 1 before we start looking at the ring */
     }
 #endif
diff --git a/console/xencons_ring.c b/console/xencons_ring.c
index b6db74e..c348f3c 100644
--- a/console/xencons_ring.c
+++ b/console/xencons_ring.c
@@ -102,7 +102,7 @@ void console_handle_input(evtchn_port_t port, struct pt_regs *regs, void *data)
         int fd = dev ? dev->fd : -1;
 
         if (fd != -1)
-            files[fd].read = 1;
+            files[fd].read = true;
 
         wake_up(&console_queue);
 #else
diff --git a/fbfront.c b/fbfront.c
index d3b3848..6725da1 100644
--- a/fbfront.c
+++ b/fbfront.c
@@ -45,7 +45,7 @@ void kbdfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
     int fd = dev->fd;
 
     if (fd != -1)
-        files[fd].read = 1;
+        files[fd].read = true;
 #endif
     wake_up(&kbdfront_queue);
 }
@@ -207,7 +207,7 @@ int kbdfront_receive(struct kbdfront_dev *dev, union xenkbd_in_event *buf, int n
 
 #ifdef HAVE_LIBC
     if (dev->fd != -1) {
-        files[dev->fd].read = 0;
+        files[dev->fd].read = false;
         mb(); /* Make sure to let the handler set read to 1 before we start looking at the ring */
     }
 #endif
@@ -229,7 +229,7 @@ int kbdfront_receive(struct kbdfront_dev *dev, union xenkbd_in_event *buf, int n
 #ifdef HAVE_LIBC
     if (cons != prod && dev->fd != -1)
         /* still some events to read */
-        files[dev->fd].read = 1;
+        files[dev->fd].read = true;
 #endif
 
     return i;
@@ -349,7 +349,7 @@ void fbfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
     int fd = dev->fd;
 
     if (fd != -1)
-        files[fd].read = 1;
+        files[fd].read = true;
 #endif
     wake_up(&fbfront_queue);
 }
@@ -376,7 +376,7 @@ int fbfront_receive(struct fbfront_dev *dev, union xenfb_in_event *buf, int n)
 
 #ifdef HAVE_LIBC
     if (dev->fd != -1) {
-        files[dev->fd].read = 0;
+        files[dev->fd].read = false;
         mb(); /* Make sure to let the handler set read to 1 before we start looking at the ring */
     }
 #endif
@@ -398,7 +398,7 @@ int fbfront_receive(struct fbfront_dev *dev, union xenfb_in_event *buf, int n)
 #ifdef HAVE_LIBC
     if (cons != prod && dev->fd != -1)
         /* still some events to read */
-        files[dev->fd].read = 1;
+        files[dev->fd].read = true;
 #endif
 
     return i;
diff --git a/include/lib.h b/include/lib.h
index a638bc9..df2de9e 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -49,6 +49,7 @@
 #define _LIB_H_
 
 #include <stdarg.h>
+#include <stdbool.h>
 #include <stddef.h>
 #include <xen/xen.h>
 #include <xen/event_channel.h>
@@ -183,6 +184,7 @@ struct evtchn_port_info {
 
 struct file {
     enum fd_type type;
+    bool read;	/* maybe available for read */
     union {
 	struct {
             /* lwIP fd */
@@ -235,7 +237,6 @@ struct file {
         } xenbus;
 #endif
     };
-    int read;	/* maybe available for read */
 };
 
 extern struct file files[];
diff --git a/netfront.c b/netfront.c
index dfe065b..a566e34 100644
--- a/netfront.c
+++ b/netfront.c
@@ -255,7 +255,7 @@ void netfront_select_handler(evtchn_port_t port, struct pt_regs *regs, void *dat
     local_irq_restore(flags);
 
     if (fd != -1)
-        files[fd].read = 1;
+        files[fd].read = true;
     wake_up(&netfront_queue);
 }
 #endif
@@ -783,7 +783,7 @@ ssize_t netfront_receive(struct netfront_dev *dev, unsigned char *data, size_t l
     network_rx(dev);
     if (!dev->rlen && fd != -1)
         /* No data for us, make select stop returning */
-        files[fd].read = 0;
+        files[fd].read = false;
     /* Before re-enabling the interrupts, in case a packet just arrived in the
      * meanwhile. */
     local_irq_restore(flags);
diff --git a/tpm_tis.c b/tpm_tis.c
index 475ac5d..4a51027 100644
--- a/tpm_tis.c
+++ b/tpm_tis.c
@@ -845,7 +845,7 @@ int tpm_tis_send(struct tpm_chip* tpm, uint8_t* buf, size_t len) {
    }
 #ifdef HAVE_LIBC
    if(tpm->fd >= 0) {
-      files[tpm->fd].read = 0;
+      files[tpm->fd].read = false;
       files[tpm->fd].tpm_tis.respgot = 0;
       files[tpm->fd].tpm_tis.offset = 0;
    }
diff --git a/tpmfront.c b/tpmfront.c
index 6049244..d825b49 100644
--- a/tpmfront.c
+++ b/tpmfront.c
@@ -66,7 +66,7 @@ void tpmfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data) {
    dev->waiting = 0;
 #ifdef HAVE_LIBC
    if(dev->fd >= 0) {
-      files[dev->fd].read = 1;
+      files[dev->fd].read = true;
    }
 #endif
    wake_up(&dev->waitq);
@@ -438,7 +438,7 @@ int tpmfront_send(struct tpmfront_dev* dev, const uint8_t* msg, size_t length)
    dev->resplen = 0;
 #ifdef HAVE_LIBC
    if(dev->fd >= 0) {
-      files[dev->fd].read = 0;
+      files[dev->fd].read = false;
       files[dev->fd].tpmfront.respgot = 0;
       files[dev->fd].tpmfront.offset = 0;
    }
@@ -611,7 +611,7 @@ int tpmfront_posix_fstat(int fd, struct stat* buf)
 
    /* If we have a response waiting, then read it now from the backend
     * so we can get its length*/
-   if(dev->waiting || (files[dev->fd].read == 1 && !files[dev->fd].tpmfront.respgot)) {
+   if(dev->waiting || (files[dev->fd].read && !files[dev->fd].tpmfront.respgot)) {
       if ((rc = tpmfront_recv(dev, &dummybuf, &dummysz)) != 0) {
 	 errno = EIO;
 	 return -1;
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 15:09:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 15:09:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255835.438633 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Ily-0006Wa-2E; Tue, 11 Jan 2022 15:09:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255835.438633; Tue, 11 Jan 2022 15:09:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Ilx-0006WR-Uy; Tue, 11 Jan 2022 15:09:17 +0000
Received: by outflank-mailman (input) for mailman id 255835;
 Tue, 11 Jan 2022 15:09:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7Ibe-0002Oa-Dw
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 14:58:38 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ec28f894-72ee-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 15:58:23 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 7F4EF212FE;
 Tue, 11 Jan 2022 14:58:22 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 57EB513DDD;
 Tue, 11 Jan 2022 14:58:22 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 8ChLFA6b3WH9eQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 14:58:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ec28f894-72ee-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913102; h=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=KvYWbjQdT5GoXtl6mz9SWgGWXv1kuFR3GbeV+mNScb0=;
	b=G5OptETgBTozBz2qWhqOixO5JISC2ALgWTGURLKUH6TNPZ/TK9D7pF1bqPq4UUBseMmSSu
	gsXy9+5mgYmu1NDAkInUF6fBIyqoUcAwHtU7cKZQoEQ4KJFY9bqhgpMmi1x40j0szk1Fm7
	0q7+NhNaWmWlQIgpZe7ICP/FqoBE5kI=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 13/18] mini-os: eliminate tpmtis union member in struct file
Date: Tue, 11 Jan 2022 15:58:12 +0100
Message-Id: <20220111145817.22170-14-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111145817.22170-1-jgross@suse.com>
References: <20220111145817.22170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Replace the tpmtis specific union member in struct file with the
common dev pointer.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
 include/lib.h | 5 -----
 lib/sys.c     | 2 +-
 tpm_tis.c     | 8 ++++----
 3 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/include/lib.h b/include/lib.h
index 2ddc076..d6a29ba 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -193,11 +193,6 @@ struct file {
 	    struct evtchn_port_list ports;
 	} evtchn;
 	struct gntmap gntmap;
-#ifdef CONFIG_TPM_TIS
-	struct {
-	   struct tpm_chip *dev;
-	} tpm_tis;
-#endif
 #ifdef CONFIG_XENBUS
         struct {
             /* To each xenbus FD is associated a queue of watch events for this
diff --git a/lib/sys.c b/lib/sys.c
index b042bf5..96fc769 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -468,7 +468,7 @@ int close(int fd)
 #endif
 #ifdef CONFIG_TPM_TIS
 	case FTYPE_TPM_TIS:
-            shutdown_tpm_tis(files[fd].tpm_tis.dev);
+            shutdown_tpm_tis(files[fd].dev);
 	    files[fd].type = FTYPE_NONE;
 	    return 0;
 #endif
diff --git a/tpm_tis.c b/tpm_tis.c
index 4127118..477f555 100644
--- a/tpm_tis.c
+++ b/tpm_tis.c
@@ -1288,14 +1288,14 @@ int tpm_tis_open(struct tpm_chip* tpm)
 
    tpm->fd = alloc_fd(FTYPE_TPM_TIS);
    printk("tpm_tis_open() -> %d\n", tpm->fd);
-   files[tpm->fd].tpm_tis.dev = tpm;
+   files[tpm->fd].dev = tpm;
    return tpm->fd;
 }
 
 int tpm_tis_posix_write(int fd, const uint8_t* buf, size_t count)
 {
    struct tpm_chip* tpm;
-   tpm = files[fd].tpm_tis.dev;
+   tpm = files[fd].dev;
 
    if(tpm->locality < 0) {
       printk("tpm_tis_posix_write() failed! locality not set!\n");
@@ -1323,7 +1323,7 @@ int tpm_tis_posix_read(int fd, uint8_t* buf, size_t count)
 {
    int rc;
    struct tpm_chip* tpm;
-   tpm = files[fd].tpm_tis.dev;
+   tpm = files[fd].dev;
 
    if(count == 0) {
       return 0;
@@ -1350,7 +1350,7 @@ int tpm_tis_posix_read(int fd, uint8_t* buf, size_t count)
 int tpm_tis_posix_fstat(int fd, struct stat* buf)
 {
    struct tpm_chip* tpm;
-   tpm = files[fd].tpm_tis.dev;
+   tpm = files[fd].dev;
 
    buf->st_mode = O_RDWR;
    buf->st_uid = 0;
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 15:09:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 15:09:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255839.438644 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7ImJ-00079T-AS; Tue, 11 Jan 2022 15:09:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255839.438644; Tue, 11 Jan 2022 15:09:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7ImJ-00079M-7I; Tue, 11 Jan 2022 15:09:39 +0000
Received: by outflank-mailman (input) for mailman id 255839;
 Tue, 11 Jan 2022 15:09:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7Iba-0002OZ-Dx
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 14:58:34 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ec22a130-72ee-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 15:58:23 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 525AD212CC;
 Tue, 11 Jan 2022 14:58:22 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 2A2A313DDD;
 Tue, 11 Jan 2022 14:58:22 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id kPEGCQ6b3WH9eQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 14:58:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ec22a130-72ee-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913102; h=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=bYu3u434xIrAQdgw8rYV9Jpr+7UfDsZfUtYVg6rlj/g=;
	b=J3rgPmuEtBeQvoQJca4UnYfrUOjV1xo9h6RDBETYShjI5hzhYdMG/c270TX5v9LPhSMqDM
	YL2NDZPvYuGIGysONZxLf7UT5uhAl+sjK0zISGCk+LQDI/+7r4wlKjIoqori+NZw5uKQqi
	cX5wL7HX68hb4SvSod2FFS0SUVnIZF8=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 12/18] mini-os: eliminate tpmfront union member in struct file
Date: Tue, 11 Jan 2022 15:58:11 +0100
Message-Id: <20220111145817.22170-13-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111145817.22170-1-jgross@suse.com>
References: <20220111145817.22170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Replace the tpmfront specific union member in struct file with the
common dev pointer.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
 include/lib.h | 5 -----
 lib/sys.c     | 2 +-
 tpmfront.c    | 8 ++++----
 3 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/include/lib.h b/include/lib.h
index d740065..2ddc076 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -193,11 +193,6 @@ struct file {
 	    struct evtchn_port_list ports;
 	} evtchn;
 	struct gntmap gntmap;
-#ifdef CONFIG_TPMFRONT
-	struct {
-	   struct tpmfront_dev *dev;
-	} tpmfront;
-#endif
 #ifdef CONFIG_TPM_TIS
 	struct {
 	   struct tpm_chip *dev;
diff --git a/lib/sys.c b/lib/sys.c
index b35e433..b042bf5 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -462,7 +462,7 @@ int close(int fd)
 #endif
 #ifdef CONFIG_TPMFRONT
 	case FTYPE_TPMFRONT:
-            shutdown_tpmfront(files[fd].tpmfront.dev);
+            shutdown_tpmfront(files[fd].dev);
 	    files[fd].type = FTYPE_NONE;
 	    return 0;
 #endif
diff --git a/tpmfront.c b/tpmfront.c
index be671c2..0a2fefc 100644
--- a/tpmfront.c
+++ b/tpmfront.c
@@ -538,7 +538,7 @@ int tpmfront_open(struct tpmfront_dev* dev)
 
    dev->fd = alloc_fd(FTYPE_TPMFRONT);
    printk("tpmfront_open(%s) -> %d\n", dev->nodename, dev->fd);
-   files[dev->fd].tpmfront.dev = dev;
+   files[dev->fd].dev = dev;
    dev->respgot = false;
    return dev->fd;
 }
@@ -547,7 +547,7 @@ int tpmfront_posix_write(int fd, const uint8_t* buf, size_t count)
 {
    int rc;
    struct tpmfront_dev* dev;
-   dev = files[fd].tpmfront.dev;
+   dev = files[fd].dev;
 
    if(count == 0) {
       return 0;
@@ -573,7 +573,7 @@ int tpmfront_posix_read(int fd, uint8_t* buf, size_t count)
    size_t dummysz;
    struct tpmfront_dev* dev;
 
-   dev = files[fd].tpmfront.dev;
+   dev = files[fd].dev;
 
    if(count == 0) {
       return 0;
@@ -606,7 +606,7 @@ int tpmfront_posix_fstat(int fd, struct stat* buf)
    uint8_t* dummybuf;
    size_t dummysz;
    int rc;
-   struct tpmfront_dev* dev = files[fd].tpmfront.dev;
+   struct tpmfront_dev* dev = files[fd].dev;
 
    /* If we have a response waiting, then read it now from the backend
     * so we can get its length*/
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 15:09:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 15:09:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255844.438662 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7ImO-0007YN-P9; Tue, 11 Jan 2022 15:09:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255844.438662; Tue, 11 Jan 2022 15:09:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7ImO-0007Xi-I7; Tue, 11 Jan 2022 15:09:44 +0000
Received: by outflank-mailman (input) for mailman id 255844;
 Tue, 11 Jan 2022 15:09:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7Ibg-0002Oa-ED
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 14:58:40 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ec3e09a2-72ee-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 15:58:23 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id DAF8921639;
 Tue, 11 Jan 2022 14:58:22 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id B2F4A13DDD;
 Tue, 11 Jan 2022 14:58:22 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id SEeCKg6b3WH9eQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 14:58:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ec3e09a2-72ee-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913102; h=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=C9AyKNzGKENy2BPxgLKGB+hFKK51Mm2oD341mOYK6aA=;
	b=R0GKkNi+dhG4W5lbRM9+2Frk+rVnQIdIdPOS8v8+F5cg1HTIkgQ6Y2/3UjnpFCRPAvzP5m
	B9FDuzQpDzsnvybo9xP0Yqg7Jru3vd1W3D73Ff6vapQ7YP1JmJxUeMmNHTjZs94re/0DP5
	8Q+Wk/oJuwX3UQnpVGwHfiG/VouWXf8=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 15/18] mini-os: introduce get_file_from_fd()
Date: Tue, 11 Jan 2022 15:58:14 +0100
Message-Id: <20220111145817.22170-16-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111145817.22170-1-jgross@suse.com>
References: <20220111145817.22170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Exporting the files[] array especially for components outside the
mini-os source tree is limiting the ability to change any file handling
in mini-os.

Introduce a new function get_file_from_fd() to return the struct file
pointer (or NULL) for a given file descriptor.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
 include/lib.h | 1 +
 lib/sys.c     | 8 ++++++++
 2 files changed, 9 insertions(+)

diff --git a/include/lib.h b/include/lib.h
index 91364ba..7a0546b 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -198,6 +198,7 @@ struct file {
 
 extern struct file files[];
 
+struct file *get_file_from_fd(int fd);
 int alloc_fd(enum fd_type type);
 void close_all_files(void);
 extern struct thread *main_thread;
diff --git a/lib/sys.c b/lib/sys.c
index 6f2b026..0e6fe5d 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -98,6 +98,14 @@ struct file files[NOFILE] = {
     { .type = FTYPE_CONSOLE }, /* stderr */
 };
 
+struct file *get_file_from_fd(int fd)
+{
+    if ( fd < 0 || fd >= NOFILE )
+        return NULL;
+
+    return (files[fd].type == FTYPE_NONE) ? NULL : files + fd;
+}
+
 DECLARE_WAIT_QUEUE_HEAD(event_queue);
 
 int alloc_fd(enum fd_type type)
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 15:09:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 15:09:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255845.438674 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7ImQ-0007qc-1W; Tue, 11 Jan 2022 15:09:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255845.438674; Tue, 11 Jan 2022 15: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 1n7ImP-0007pl-R3; Tue, 11 Jan 2022 15:09:45 +0000
Received: by outflank-mailman (input) for mailman id 255845;
 Tue, 11 Jan 2022 15:09:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7Ibc-0002Oa-Dd
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 14:58:36 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ec17fb13-72ee-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 15:58:23 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 8B8721F3BF;
 Tue, 11 Jan 2022 14:58:21 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 60D931403F;
 Tue, 11 Jan 2022 14:58:21 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id cCpeFg2b3WH9eQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 14:58:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ec17fb13-72ee-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913101; h=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=TCkN47zI3SYm+mHMLDmij+4Y00VWhhcxxyZlFlzzdgc=;
	b=OUTHaG7Za4OLcRVER+k9rsHzA3tJlldnWMM3DF4J9ecUKfFu3136R9mIRg4FghLkU13SvK
	uzc8EpFlxNG/8ZCXTvffr6d1eGq/uWfwpHHKPTcQLAuUO/910sYhoQSv4j9XwZ5PKLNP7i
	LfwrwgrT9OKljA6xK+yV5nNXDk3W3WA=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 08/18] mini-os: eliminate fbfront union member in struct file
Date: Tue, 11 Jan 2022 15:58:07 +0100
Message-Id: <20220111145817.22170-9-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111145817.22170-1-jgross@suse.com>
References: <20220111145817.22170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Replace the fbfront specific union member in struct file with the
common dev pointer.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
 fbfront.c     | 2 +-
 include/lib.h | 3 ---
 lib/sys.c     | 4 ++--
 3 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/fbfront.c b/fbfront.c
index 6725da1..c8410af 100644
--- a/fbfront.c
+++ b/fbfront.c
@@ -703,7 +703,7 @@ int fbfront_open(struct fbfront_dev *dev)
 {
     dev->fd = alloc_fd(FTYPE_FB);
     printk("fb_open(%s) -> %d\n", dev->nodename, dev->fd);
-    files[dev->fd].fb.dev = dev;
+    files[dev->fd].dev = dev;
     return dev->fd;
 }
 #endif
diff --git a/include/lib.h b/include/lib.h
index 0cedae6..2a9a01c 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -199,9 +199,6 @@ struct file {
 	struct {
 	    struct kbdfront_dev *dev;
 	} kbd;
-	struct {
-	    struct fbfront_dev *dev;
-	} fb;
 #ifdef CONFIG_TPMFRONT
 	struct {
 	   struct tpmfront_dev *dev;
diff --git a/lib/sys.c b/lib/sys.c
index 62c2020..2d48657 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -287,7 +287,7 @@ int read(int fd, void *buf, size_t nbytes)
         case FTYPE_FB: {
             int ret, n;
             n = nbytes / sizeof(union xenfb_in_event);
-            ret = fbfront_receive(files[fd].fb.dev, buf, n);
+            ret = fbfront_receive(files[fd].dev, buf, n);
 	    if (ret <= 0) {
 		errno = EAGAIN;
 		return -1;
@@ -480,7 +480,7 @@ int close(int fd)
 #endif
 #ifdef CONFIG_FBFRONT
 	case FTYPE_FB:
-            shutdown_fbfront(files[fd].fb.dev);
+            shutdown_fbfront(files[fd].dev);
             files[fd].type = FTYPE_NONE;
             return 0;
 #endif
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 15:10:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 15:10:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255851.438689 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Imi-0000sP-Ap; Tue, 11 Jan 2022 15:10:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255851.438689; Tue, 11 Jan 2022 15: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 1n7Imi-0000rj-6q; Tue, 11 Jan 2022 15:10:04 +0000
Received: by outflank-mailman (input) for mailman id 255851;
 Tue, 11 Jan 2022 15:10:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7Ibb-0002OZ-EE
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 14:58:35 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ec1fdd83-72ee-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 15:58:23 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 140D51F3B1;
 Tue, 11 Jan 2022 14:58:23 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id E0D4013DDD;
 Tue, 11 Jan 2022 14:58:22 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id sJu6NQ6b3WH9eQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 14:58:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ec1fdd83-72ee-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913103; h=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=knuLUyCcfoEXY1jmZHvU06lOttBFfXuiA3Ntm0yi0WI=;
	b=EFpQEMzDRCsLhCQBXwK2k2H3BhcEPZ6mVmlXCvtDA/t5hqCYWRSifDDghM0bRqeB/Qviyh
	226/HA9B/EhvS77A5nxG4pPc5UV+IDGh3+e2NK89RF4Bd1b3r8ng47I4kh+vQxhzdzkNbt
	nPZY+aEIcM6SVKcxKbIOD8iDXcpP6Ks=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 16/18] mini-os: reset file type in close() in one place only
Date: Tue, 11 Jan 2022 15:58:15 +0100
Message-Id: <20220111145817.22170-17-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111145817.22170-1-jgross@suse.com>
References: <20220111145817.22170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Today the file type in struct file is set to FTYPE_NONE for each
file type individually. Do that at the end of close() handling for
all types.

While at it wipe the complete struct file, too, in order to avoid
old data creeping into a new allocated struct file.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
---
 lib/sys.c | 53 ++++++++++++++++++++++++-----------------------------
 lib/xs.c  |  1 -
 2 files changed, 24 insertions(+), 30 deletions(-)

diff --git a/lib/sys.c b/lib/sys.c
index 0e6fe5d..323a7cd 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -424,87 +424,82 @@ int fsync(int fd) {
 
 int close(int fd)
 {
+    int res = 0;
+
     printk("close(%d)\n", fd);
     switch (files[fd].type) {
         default:
-	    files[fd].type = FTYPE_NONE;
-	    return 0;
+            break;
 #ifdef CONFIG_XENBUS
 	case FTYPE_XENBUS:
             xs_daemon_close((void*)(intptr_t) fd);
-            return 0;
+            break;
 #endif
 #ifdef HAVE_LWIP
-	case FTYPE_SOCKET: {
-	    int res = lwip_close(files[fd].fd);
-	    files[fd].type = FTYPE_NONE;
-	    return res;
-	}
+	case FTYPE_SOCKET:
+	    res = lwip_close(files[fd].fd);
+            break;
 #endif
 #ifdef CONFIG_LIBXENCTRL
 	case FTYPE_XC:
 	    minios_interface_close_fd(fd);
-	    return 0;
+            break;
 #endif
 #ifdef CONFIG_LIBXENEVTCHN
 	case FTYPE_EVTCHN:
 	    minios_evtchn_close_fd(fd);
-            return 0;
+            break;
 #endif
 #ifdef CONFIG_LIBXENGNTTAB
 	case FTYPE_GNTMAP:
 	    minios_gnttab_close_fd(fd);
-	    return 0;
+            break;
 #endif
 #ifdef CONFIG_NETFRONT
 	case FTYPE_TAP:
 	    shutdown_netfront(files[fd].dev);
-	    files[fd].type = FTYPE_NONE;
-	    return 0;
+            break;
 #endif
 #ifdef CONFIG_BLKFRONT
 	case FTYPE_BLK:
             shutdown_blkfront(files[fd].dev);
-	    files[fd].type = FTYPE_NONE;
-	    return 0;
+            break;
 #endif
 #ifdef CONFIG_TPMFRONT
 	case FTYPE_TPMFRONT:
             shutdown_tpmfront(files[fd].dev);
-	    files[fd].type = FTYPE_NONE;
-	    return 0;
+            break;
 #endif
 #ifdef CONFIG_TPM_TIS
 	case FTYPE_TPM_TIS:
             shutdown_tpm_tis(files[fd].dev);
-	    files[fd].type = FTYPE_NONE;
-	    return 0;
+            break;
 #endif
 #ifdef CONFIG_KBDFRONT
 	case FTYPE_KBD:
             shutdown_kbdfront(files[fd].dev);
-            files[fd].type = FTYPE_NONE;
-            return 0;
+            break;
 #endif
 #ifdef CONFIG_FBFRONT
 	case FTYPE_FB:
             shutdown_fbfront(files[fd].dev);
-            files[fd].type = FTYPE_NONE;
-            return 0;
+            break;
 #endif
 #ifdef CONFIG_CONSFRONT
         case FTYPE_SAVEFILE:
         case FTYPE_CONSOLE:
             fini_consfront(files[fd].dev);
-            files[fd].type = FTYPE_NONE;
-            return 0;
+            break;
 #endif
 	case FTYPE_NONE:
-	    break;
+            printk("close(%d): Bad descriptor\n", fd);
+            errno = EBADF;
+            return -1;
     }
-    printk("close(%d): Bad descriptor\n", fd);
-    errno = EBADF;
-    return -1;
+
+    memset(files + fd, 0, sizeof(struct file));
+    files[fd].type = FTYPE_NONE;
+    return res;
 }
 
 static void init_stat(struct stat *buf)
diff --git a/lib/xs.c b/lib/xs.c
index 0459f52..4af0f96 100644
--- a/lib/xs.c
+++ b/lib/xs.c
@@ -35,7 +35,6 @@ void xs_daemon_close(struct xs_handle *h)
         next = event->next;
         free(event);
     }
-    files[fd].type = FTYPE_NONE;
 }
 
 int xs_fileno(struct xs_handle *h)
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 15:12:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 15:12:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255868.438743 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Iox-00031A-Ck; Tue, 11 Jan 2022 15:12:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255868.438743; Tue, 11 Jan 2022 15: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 1n7Iox-00030L-2C; Tue, 11 Jan 2022 15:12:23 +0000
Received: by outflank-mailman (input) for mailman id 255868;
 Tue, 11 Jan 2022 15:12:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7Iov-0002Fw-Cj
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 15:12:21 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dd5d2c65-72f0-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 16:12:17 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 517B51F3B1;
 Tue, 11 Jan 2022 15:12:17 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 2BB1213DDD;
 Tue, 11 Jan 2022 15:12:17 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id OI96CVGe3WG8AwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 15: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>
X-Inumbo-ID: dd5d2c65-72f0-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913937; h=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=w1Lvr7st24bBGrZRxVwRlwFD2dxAwXVMl1+mfqeQNHE=;
	b=OZ0R2DCXa0L+ZUY2zZfTfxLjFTERlfqtPNXSkOfG19TQKIHgl69CgBeKlUz6peY6TRp2/G
	DFHQsTIY9bhNip/NE8/MESgTTBB1SQru9Acq+eimfagktjBzkoKmoURGNK5bA/9TJzkK3f
	k/Ids5H5XRPG9IpqldgDlUCVIH5LkCs=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 02/12] mini-os: remove gnttab specific member from struct file
Date: Tue, 11 Jan 2022 16:12:05 +0100
Message-Id: <20220111151215.22955-3-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111151215.22955-1-jgross@suse.com>
References: <20220111151215.22955-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The event channel specific union member in struct file is no longer
needed, so remove it.

The gnttab file type and its associated handling can be removed, too,
as libxengnttab is now supplying a struct file_ops via a call of
alloc_file_type().

This removes all contents of CONFIG_LIBXENGNTTAB guarded sections, so
this config option can be removed.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 Config.mk                     | 1 -
 arch/x86/testbuild/all-no     | 1 -
 arch/x86/testbuild/all-yes    | 1 -
 arch/x86/testbuild/newxen-yes | 1 -
 gntmap.c                      | 2 +-
 include/lib.h                 | 4 +---
 lib/sys.c                     | 5 -----
 7 files changed, 2 insertions(+), 13 deletions(-)

diff --git a/Config.mk b/Config.mk
index c244adc..eb84515 100644
--- a/Config.mk
+++ b/Config.mk
@@ -197,7 +197,6 @@ CONFIG-n += CONFIG_PARAVIRT
 endif
 # Support legacy CONFIG_XC value
 CONFIG_XC ?= $(libc)
-CONFIG-$(CONFIG_XC) += CONFIG_LIBXENGNTTAB
 
 CONFIG-$(lwip) += CONFIG_LWIP
 
diff --git a/arch/x86/testbuild/all-no b/arch/x86/testbuild/all-no
index 202c317..c429354 100644
--- a/arch/x86/testbuild/all-no
+++ b/arch/x86/testbuild/all-no
@@ -13,7 +13,6 @@ CONFIG_FBFRONT = n
 CONFIG_KBDFRONT = n
 CONFIG_CONSFRONT = n
 CONFIG_XENBUS = n
-CONFIG_LIBXENGNTTAB = n
 CONFIG_LWIP = n
 CONFIG_BALLOON = n
 CONFIG_USE_XEN_CONSOLE = n
diff --git a/arch/x86/testbuild/all-yes b/arch/x86/testbuild/all-yes
index eb495a4..6c6096b 100644
--- a/arch/x86/testbuild/all-yes
+++ b/arch/x86/testbuild/all-yes
@@ -16,5 +16,4 @@ CONFIG_XENBUS = y
 CONFIG_BALLOON = y
 CONFIG_USE_XEN_CONSOLE = y
 # The following are special: they need support from outside
-CONFIG_LIBXENGNTTAB = n
 CONFIG_LWIP = n
diff --git a/arch/x86/testbuild/newxen-yes b/arch/x86/testbuild/newxen-yes
index bf25ace..88094fc 100644
--- a/arch/x86/testbuild/newxen-yes
+++ b/arch/x86/testbuild/newxen-yes
@@ -17,5 +17,4 @@ CONFIG_BALLOON = y
 CONFIG_USE_XEN_CONSOLE = y
 XEN_INTERFACE_VERSION=__XEN_LATEST_INTERFACE_VERSION__
 # The following are special: they need support from outside
-CONFIG_LIBXENGNTTAB = n
 CONFIG_LWIP = n
diff --git a/gntmap.c b/gntmap.c
index 6fa1dac..3422ab2 100644
--- a/gntmap.c
+++ b/gntmap.c
@@ -3,7 +3,7 @@
  *
  * Diego Ongaro <diego.ongaro@citrix.com>, July 2008
  *
- * Files of type FTYPE_GNTMAP contain a gntmap, which is an array of
+ * Files of libxengnttab contain a gntmap, which is an array of
  * (host address, grant handle) pairs. Grant handles come from a hypervisor map
  * operation and are needed for the corresponding unmap.
  *
diff --git a/include/lib.h b/include/lib.h
index df972ef..283abb8 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -168,8 +168,7 @@ void sanity_check(void);
 #define FTYPE_TPMFRONT  10
 #define FTYPE_TPM_TIS   11
 #define FTYPE_XENBUS    12
-#define FTYPE_GNTMAP    13
-#define FTYPE_N         14
+#define FTYPE_N         13
 #define FTYPE_SPARE     16
 
 typedef int file_read_func(int fd, void *buf, size_t nbytes);
@@ -205,7 +204,6 @@ struct file {
     union {
         int fd; /* Any fd from an upper layer. */
         void *dev;
-	struct gntmap gntmap;
     };
 };
 
diff --git a/lib/sys.c b/lib/sys.c
index 8fa1fee..9540410 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -505,11 +505,6 @@ int close(int fd)
 	    res = lwip_close(files[fd].fd);
             break;
 #endif
-#ifdef CONFIG_LIBXENGNTTAB
-	case FTYPE_GNTMAP:
-	    minios_gnttab_close_fd(fd);
-            break;
-#endif
 #ifdef CONFIG_NETFRONT
 	case FTYPE_TAP:
 	    shutdown_netfront(files[fd].dev);
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 15:12:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 15:12:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255861.438700 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Ios-0002GG-TN; Tue, 11 Jan 2022 15:12:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255861.438700; Tue, 11 Jan 2022 15:12: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 1n7Ios-0002G9-Px; Tue, 11 Jan 2022 15:12:18 +0000
Received: by outflank-mailman (input) for mailman id 255861;
 Tue, 11 Jan 2022 15:12:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7Ios-0002Fv-5d
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 15:12:18 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dd3b7a4b-72f0-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 16:12:17 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id F24DF21112;
 Tue, 11 Jan 2022 15:12:16 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id C2C5213DDD;
 Tue, 11 Jan 2022 15:12:16 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 5WmrLVCe3WG8AwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 15:12: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: dd3b7a4b-72f0-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913936; h=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=yeuY0drNiNl4kEQVrhTlT4kDcZq8w1z+MQQqf9GMpmM=;
	b=aZXWA9BgLmZAj/I3kveShb3xBHXKBZTmT8tlcHIuxZgosZeeNQD/U7coIYjgU9ijBW3BPJ
	ceKc1dfnGddUgVQlh0CgJgHwOzFGjSSKR2sFCOk+LU+4uQ++zGrU9igsMJKrPeSgyv8JO5
	8f1Vp5XOHuz9HqXSB1Sh/O0CibyJFYI=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 00/12] mini-os: remove device specific struct file members
Date: Tue, 11 Jan 2022 16:12:03 +0100
Message-Id: <20220111151215.22955-1-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This small series is a followup to the series sent recently:

https://lists.xen.org/archives/html/xen-devel/2022-01/threads.html#00347

It contains the last cleanups related to struct file and can only be
applied after the Xen libraries have stopped using the related union
members:

https://lists.xen.org/archives/html/xen-devel/2022-01/threads.html#00355

The three series applied have been tested to work with:

- xenstorepvh-stubdom
- pv-grub
- ioemu-stubdom

Changes in V2:
- add many patches for using alloc_file_type() and struct file_ops

Juergen Gross (12):
  mini-os: remove event channel specific struct file definitions
  mini-os: remove gnttab specific member from struct file
  mini-os: use alloc_file_type() and get_file_from_fd() in xs
  mini-os: use alloc_file_type() and get_file_from_fd() in tpm_tis
  mini-os: use alloc_file_type() and get_file_from_fd() in tpmfront
  mini-os: use alloc_file_type() and get_file_from_fd() in blkfront
  mini-os: use get_file_from_fd() in netfront
  mini-os: use alloc_file_type() and get_file_from_fd() in fbfront
  mini-os: use file_ops and get_file_from_fd() for console
  mini-os: add struct file_ops for file type socket
  mini-os: add struct file_ops for FTYPE_FILE
  mini-os: make files array private to sys.c

 Config.mk                     |   2 -
 arch/x86/testbuild/all-no     |   2 -
 arch/x86/testbuild/all-yes    |   2 -
 arch/x86/testbuild/newxen-yes |   2 -
 blkfront.c                    |  92 ++++++--
 console/xenbus.c              | 125 ++++++++++
 console/xencons_ring.c        |   6 +-
 fbfront.c                     | 125 ++++++++--
 gntmap.c                      |   2 +-
 include/blkfront.h            |   5 -
 include/console.h             |   5 +
 include/lib.h                 |  27 +--
 include/tpm_tis.h             |   6 -
 include/tpmfront.h            |   5 -
 lib/sys.c                     | 429 ++++++++--------------------------
 lib/xs.c                      |  64 +++--
 netfront.c                    |  64 ++++-
 tpm_tis.c                     | 120 ++++++----
 tpmfront.c                    | 100 +++++---
 xenbus/xenbus.c               |   1 +
 20 files changed, 664 insertions(+), 520 deletions(-)

-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 15:12:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 15:12:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255871.438763 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Ioz-0003SH-4C; Tue, 11 Jan 2022 15:12:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255871.438763; Tue, 11 Jan 2022 15: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 1n7Ioy-0003RD-Qw; Tue, 11 Jan 2022 15:12:24 +0000
Received: by outflank-mailman (input) for mailman id 255871;
 Tue, 11 Jan 2022 15:12:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7Iow-0002Fv-VQ
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 15:12:23 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ddbbbb2d-72f0-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 16:12:18 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id D9E20212C5;
 Tue, 11 Jan 2022 15:12:17 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id B24D913DDD;
 Tue, 11 Jan 2022 15:12:17 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 4LNQKlGe3WG8AwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 15: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>
X-Inumbo-ID: ddbbbb2d-72f0-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913937; h=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=HfQh4OZ9az0A9qjPS5wm3iwxm7DBwhvFq6/vq3hHx4c=;
	b=d+2fCrxpZ86Dc+7cN3OiQiG9EGz1BKXAhrYJF71rPwQ8i4kjMPvAVxGZPTUl9n/L3qsiRc
	wTEby7tMgtDOedTFArOZVMMsYt9vYyotw7EhP2R9SzKXvUrXb54IPu2U/kIppdSeUkwYlQ
	Lj19uGCFkMYW8wXcigeeSEVUDLbad6Y=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 05/12] mini-os: use alloc_file_type() and get_file_from_fd() in tpmfront
Date: Tue, 11 Jan 2022 16:12:08 +0100
Message-Id: <20220111151215.22955-6-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111151215.22955-1-jgross@suse.com>
References: <20220111151215.22955-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Allocate a file type dynamically via alloc_file_type().

Instead of directly accessing the files[] array use get_file_from_fd().

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 include/lib.h      |   3 +-
 include/tpmfront.h |   5 ---
 lib/sys.c          |  23 -----------
 tpmfront.c         | 100 ++++++++++++++++++++++++++++++++-------------
 4 files changed, 72 insertions(+), 59 deletions(-)

diff --git a/include/lib.h b/include/lib.h
index d94d142..f6478de 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -165,8 +165,7 @@ void sanity_check(void);
 #define FTYPE_KBD        7
 #define FTYPE_TAP        8
 #define FTYPE_BLK        9
-#define FTYPE_TPMFRONT  10
-#define FTYPE_N         11
+#define FTYPE_N         10
 #define FTYPE_SPARE     16
 
 typedef int file_read_func(int fd, void *buf, size_t nbytes);
diff --git a/include/tpmfront.h b/include/tpmfront.h
index b7da50e..a527371 100644
--- a/include/tpmfront.h
+++ b/include/tpmfront.h
@@ -81,7 +81,6 @@ int tpmfront_cmd(struct tpmfront_dev* dev, uint8_t* req, size_t reqlen, uint8_t*
 int tpmfront_set_locality(struct tpmfront_dev* dev, int locality);
 
 #ifdef HAVE_LIBC
-#include <sys/stat.h>
 /* POSIX IO functions:
  * use tpmfront_open() to get a file descriptor to the tpm device
  * use write() on the fd to send a command to the backend. You must
@@ -90,10 +89,6 @@ int tpmfront_set_locality(struct tpmfront_dev* dev, int locality);
  * fstat() to get the size of the response and lseek() to seek on it.
  */
 int tpmfront_open(struct tpmfront_dev* dev);
-int tpmfront_posix_read(int fd, uint8_t* buf, size_t count);
-int tpmfront_posix_write(int fd, const uint8_t* buf, size_t count);
-int tpmfront_posix_fstat(int fd, struct stat* buf);
 #endif
 
-
 #endif
diff --git a/lib/sys.c b/lib/sys.c
index 4060b42..ff6be52 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -28,7 +28,6 @@
 #include <netfront.h>
 #include <blkfront.h>
 #include <fbfront.h>
-#include <tpmfront.h>
 #include <xenbus.h>
 #include <xenstore.h>
 #include <poll.h>
@@ -343,11 +342,6 @@ int read(int fd, void *buf, size_t nbytes)
         case FTYPE_BLK: {
 	    return blkfront_posix_read(fd, buf, nbytes);
         }
-#endif
-#ifdef CONFIG_TPMFRONT
-        case FTYPE_TPMFRONT: {
-	    return tpmfront_posix_read(fd, buf, nbytes);
-        }
 #endif
 	default:
 	    break;
@@ -389,10 +383,6 @@ int write(int fd, const void *buf, size_t nbytes)
 #ifdef CONFIG_BLKFRONT
 	case FTYPE_BLK:
 	    return blkfront_posix_write(fd, buf, nbytes);
-#endif
-#ifdef CONFIG_TPMFRONT
-	case FTYPE_TPMFRONT:
-	    return tpmfront_posix_write(fd, buf, nbytes);
 #endif
 	default:
 	    break;
@@ -445,10 +435,6 @@ off_t lseek(int fd, off_t offset, int whence)
 #ifdef CONFIG_BLKFRONT
        case FTYPE_BLK:
           break;
-#endif
-#ifdef CONFIG_TPMFRONT
-       case FTYPE_TPMFRONT:
-          break;
 #endif
        case FTYPE_FILE:
           break;
@@ -496,11 +482,6 @@ int close(int fd)
             shutdown_blkfront(files[fd].dev);
             break;
 #endif
-#ifdef CONFIG_TPMFRONT
-	case FTYPE_TPMFRONT:
-            shutdown_tpmfront(files[fd].dev);
-            break;
-#endif
 #ifdef CONFIG_KBDFRONT
 	case FTYPE_KBD:
             shutdown_kbdfront(files[fd].dev);
@@ -576,10 +557,6 @@ int fstat(int fd, struct stat *buf)
 #ifdef CONFIG_BLKFRONT
 	case FTYPE_BLK:
 	   return blkfront_posix_fstat(fd, buf);
-#endif
-#ifdef CONFIG_TPMFRONT
-	case FTYPE_TPMFRONT:
-	   return tpmfront_posix_fstat(fd, buf);
 #endif
 	default:
 	    break;
diff --git a/tpmfront.c b/tpmfront.c
index 0a2fefc..a19a052 100644
--- a/tpmfront.c
+++ b/tpmfront.c
@@ -49,6 +49,10 @@
 void tpmfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data) {
    struct tpmfront_dev* dev = (struct tpmfront_dev*) data;
    tpmif_shared_page_t *shr = dev->page;
+#ifdef HAVE_LIBC
+    struct file *file = get_file_from_fd(dev->fd);
+#endif
+
    /*If we get a response when we didnt make a request, just ignore it */
    if(!dev->waiting) {
       return;
@@ -65,8 +69,9 @@ void tpmfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data) {
 
    dev->waiting = 0;
 #ifdef HAVE_LIBC
-   if(dev->fd >= 0) {
-      files[dev->fd].read = true;
+   if ( file )
+   {
+      file->read = true;
    }
 #endif
    wake_up(&dev->waitq);
@@ -405,6 +410,10 @@ int tpmfront_send(struct tpmfront_dev* dev, const uint8_t* msg, size_t length)
 #ifdef TPMFRONT_PRINT_DEBUG
    int i;
 #endif
+#ifdef HAVE_LIBC
+    struct file *file = dev ? get_file_from_fd(dev->fd) : NULL;
+#endif
+
    /* Error Checking */
    if(dev == NULL || dev->state != XenbusStateConnected) {
       TPMFRONT_ERR("Tried to send message through disconnected frontend\n");
@@ -437,9 +446,10 @@ int tpmfront_send(struct tpmfront_dev* dev, const uint8_t* msg, size_t length)
    dev->waiting = 1;
    dev->resplen = 0;
 #ifdef HAVE_LIBC
-   if(dev->fd >= 0) {
-      files[dev->fd].read = false;
-      files[dev->fd].offset = 0;
+   if ( file )
+   {
+      file->read = false;
+      file->offset = 0;
       dev->respgot = false;
    }
 #endif
@@ -529,25 +539,14 @@ int tpmfront_set_locality(struct tpmfront_dev* dev, int locality)
 
 #ifdef HAVE_LIBC
 #include <errno.h>
-int tpmfront_open(struct tpmfront_dev* dev)
-{
-   /* Silently prevent multiple opens */
-   if(dev->fd != -1) {
-      return dev->fd;
-   }
 
-   dev->fd = alloc_fd(FTYPE_TPMFRONT);
-   printk("tpmfront_open(%s) -> %d\n", dev->nodename, dev->fd);
-   files[dev->fd].dev = dev;
-   dev->respgot = false;
-   return dev->fd;
-}
-
-int tpmfront_posix_write(int fd, const uint8_t* buf, size_t count)
+static int tpmfront_posix_write(int fd, const void *buf, size_t count)
 {
    int rc;
    struct tpmfront_dev* dev;
-   dev = files[fd].dev;
+   struct file *file = get_file_from_fd(fd);
+
+   dev = file->dev;
 
    if(count == 0) {
       return 0;
@@ -566,14 +565,15 @@ int tpmfront_posix_write(int fd, const uint8_t* buf, size_t count)
    return count;
 }
 
-int tpmfront_posix_read(int fd, uint8_t* buf, size_t count)
+static int tpmfront_posix_read(int fd, void *buf, size_t count)
 {
    int rc;
    uint8_t* dummybuf;
    size_t dummysz;
    struct tpmfront_dev* dev;
+   struct file *file = get_file_from_fd(fd);
 
-   dev = files[fd].dev;
+   dev = file->dev;
 
    if(count == 0) {
       return 0;
@@ -588,29 +588,33 @@ int tpmfront_posix_read(int fd, uint8_t* buf, size_t count)
    }
 
    /* handle EOF case */
-   if(files[dev->fd].offset >= dev->resplen) {
+   if ( file->offset >= dev->resplen )
+   {
       return 0;
    }
 
    /* Compute the number of bytes and do the copy operation */
-   if((rc = min(count, dev->resplen - files[dev->fd].offset)) != 0) {
-      memcpy(buf, dev->respbuf + files[dev->fd].offset, rc);
-      files[dev->fd].offset += rc;
+   if ( (rc = min(count, dev->resplen - file->offset)) != 0 )
+   {
+      memcpy(buf, dev->respbuf + file->offset, rc);
+      file->offset += rc;
    }
 
    return rc;
 }
 
-int tpmfront_posix_fstat(int fd, struct stat* buf)
+static int tpmfront_posix_fstat(int fd, struct stat *buf)
 {
    uint8_t* dummybuf;
    size_t dummysz;
    int rc;
-   struct tpmfront_dev* dev = files[fd].dev;
+   struct file *file = get_file_from_fd(fd);
+   struct tpmfront_dev* dev = file->dev;
 
    /* If we have a response waiting, then read it now from the backend
     * so we can get its length*/
-   if(dev->waiting || (files[dev->fd].read && !dev->respgot)) {
+   if ( dev->waiting || (file->read && !dev->respgot) )
+   {
       if ((rc = tpmfront_recv(dev, &dummybuf, &dummysz)) != 0) {
 	 errno = EIO;
 	 return -1;
@@ -626,5 +630,43 @@ int tpmfront_posix_fstat(int fd, struct stat* buf)
    return 0;
 }
 
+static int tpmfront_close_fd(int fd)
+{
+    struct file *file = get_file_from_fd(fd);
+
+    shutdown_tpmfront(file->dev);
+
+    return 0;
+}
+
+static struct file_ops tpmfront_ops = {
+    .name = "tpmfront",
+    .read = tpmfront_posix_read,
+    .write = tpmfront_posix_write,
+    .lseek = lseek_default,
+    .close = tpmfront_close_fd,
+    .fstat = tpmfront_posix_fstat,
+};
+
+int tpmfront_open(struct tpmfront_dev* dev)
+{
+   struct file *file;
+   static unsigned int ftype_tpmfront;
+
+   /* Silently prevent multiple opens */
+   if(dev->fd != -1) {
+      return dev->fd;
+   }
+
+   if ( !ftype_tpmfront )
+       ftype_tpmfront = alloc_file_type(&tpmfront_ops);
+
+   dev->fd = alloc_fd(ftype_tpmfront);
+   printk("tpmfront_open(%s) -> %d\n", dev->nodename, dev->fd);
+   file = get_file_from_fd(dev->fd);
+   file->dev = dev;
+   dev->respgot = false;
+   return dev->fd;
+}
 
 #endif
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 15:12:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 15:12:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255864.438718 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Iou-0002XO-Ed; Tue, 11 Jan 2022 15:12:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255864.438718; Tue, 11 Jan 2022 15: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 1n7Iou-0002Wr-7K; Tue, 11 Jan 2022 15:12:20 +0000
Received: by outflank-mailman (input) for mailman id 255864;
 Tue, 11 Jan 2022 15:12:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7Iot-0002Fw-CB
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 15:12:19 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dd43726e-72f0-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 16:12:17 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 258AF212C2;
 Tue, 11 Jan 2022 15:12:17 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id F1B0F1404B;
 Tue, 11 Jan 2022 15:12:16 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id QOfQOVCe3WG8AwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 15:12: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: dd43726e-72f0-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913937; h=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=DjsZaSOIcJ6iFahsf84mXvc0XkEk+3Mf01A/EmIC1Ic=;
	b=SunZVRlMBMQ3pF24OyRoCstzJwKxSJCyqCjGXv45rBsLO5hncikrQd1hFjeYQYTbe65f1b
	j7YVDhEm4/KrPjfX5hXdCXlxftCzURRb4u6dYwLVS9XUGgcpmowd7zp4zR7njak382zbOJ
	m9iIHn/cRS6SIi26mR9kVwyOPi5SfBA=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 01/12] mini-os: remove event channel specific struct file definitions
Date: Tue, 11 Jan 2022 16:12:04 +0100
Message-Id: <20220111151215.22955-2-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111151215.22955-1-jgross@suse.com>
References: <20220111151215.22955-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The event channel specific union member in struct file is no longer
needed, so remove it together with the associated structure
definitions.

The event channel file type and its associated handling can be removed,
too, as libxenevtchn is now supplying a struct file_ops via a call of
alloc_file_type().

This removes all contents of CONFIG_LIBXENEVTCHN guarded sections, so
this config option can be removed.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 Config.mk                     |  1 -
 arch/x86/testbuild/all-no     |  1 -
 arch/x86/testbuild/all-yes    |  1 -
 arch/x86/testbuild/newxen-yes |  1 -
 include/lib.h                 | 15 +--------------
 lib/sys.c                     |  7 -------
 6 files changed, 1 insertion(+), 25 deletions(-)

diff --git a/Config.mk b/Config.mk
index 1e08388..c244adc 100644
--- a/Config.mk
+++ b/Config.mk
@@ -197,7 +197,6 @@ CONFIG-n += CONFIG_PARAVIRT
 endif
 # Support legacy CONFIG_XC value
 CONFIG_XC ?= $(libc)
-CONFIG-$(CONFIG_XC) += CONFIG_LIBXENEVTCHN
 CONFIG-$(CONFIG_XC) += CONFIG_LIBXENGNTTAB
 
 CONFIG-$(lwip) += CONFIG_LWIP
diff --git a/arch/x86/testbuild/all-no b/arch/x86/testbuild/all-no
index d6fc260..202c317 100644
--- a/arch/x86/testbuild/all-no
+++ b/arch/x86/testbuild/all-no
@@ -13,7 +13,6 @@ CONFIG_FBFRONT = n
 CONFIG_KBDFRONT = n
 CONFIG_CONSFRONT = n
 CONFIG_XENBUS = n
-CONFIG_LIBXENEVTCHN = n
 CONFIG_LIBXENGNTTAB = n
 CONFIG_LWIP = n
 CONFIG_BALLOON = n
diff --git a/arch/x86/testbuild/all-yes b/arch/x86/testbuild/all-yes
index 98bbfeb..eb495a4 100644
--- a/arch/x86/testbuild/all-yes
+++ b/arch/x86/testbuild/all-yes
@@ -16,6 +16,5 @@ CONFIG_XENBUS = y
 CONFIG_BALLOON = y
 CONFIG_USE_XEN_CONSOLE = y
 # The following are special: they need support from outside
-CONFIG_LIBXENEVTCHN = n
 CONFIG_LIBXENGNTTAB = n
 CONFIG_LWIP = n
diff --git a/arch/x86/testbuild/newxen-yes b/arch/x86/testbuild/newxen-yes
index 0603200..bf25ace 100644
--- a/arch/x86/testbuild/newxen-yes
+++ b/arch/x86/testbuild/newxen-yes
@@ -17,6 +17,5 @@ CONFIG_BALLOON = y
 CONFIG_USE_XEN_CONSOLE = y
 XEN_INTERFACE_VERSION=__XEN_LATEST_INTERFACE_VERSION__
 # The following are special: they need support from outside
-CONFIG_LIBXENEVTCHN = n
 CONFIG_LIBXENGNTTAB = n
 CONFIG_LWIP = n
diff --git a/include/lib.h b/include/lib.h
index 4892320..df972ef 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -169,8 +169,7 @@ void sanity_check(void);
 #define FTYPE_TPM_TIS   11
 #define FTYPE_XENBUS    12
 #define FTYPE_GNTMAP    13
-#define FTYPE_EVTCHN    14
-#define FTYPE_N         15
+#define FTYPE_N         14
 #define FTYPE_SPARE     16
 
 typedef int file_read_func(int fd, void *buf, size_t nbytes);
@@ -199,15 +198,6 @@ off_t lseek_default(int fd, off_t offset, int whence);
 bool select_yes(int fd);
 bool select_read_flag(int fd);
 
-LIST_HEAD(evtchn_port_list, evtchn_port_info);
-
-struct evtchn_port_info {
-        LIST_ENTRY(evtchn_port_info) list;
-        evtchn_port_t port;
-        unsigned long pending;
-        int bound;
-};
-
 struct file {
     unsigned int type;
     bool read;	/* maybe available for read */
@@ -215,9 +205,6 @@ struct file {
     union {
         int fd; /* Any fd from an upper layer. */
         void *dev;
-	struct {
-	    struct evtchn_port_list ports;
-	} evtchn;
 	struct gntmap gntmap;
     };
 };
diff --git a/lib/sys.c b/lib/sys.c
index 52876e0..8fa1fee 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -505,11 +505,6 @@ int close(int fd)
 	    res = lwip_close(files[fd].fd);
             break;
 #endif
-#ifdef CONFIG_LIBXENEVTCHN
-	case FTYPE_EVTCHN:
-	    minios_evtchn_close_fd(fd);
-            break;
-#endif
 #ifdef CONFIG_LIBXENGNTTAB
 	case FTYPE_GNTMAP:
 	    minios_gnttab_close_fd(fd);
@@ -723,7 +718,6 @@ static const char *file_types[] = {
     [FTYPE_NONE]    = "none",
     [FTYPE_CONSOLE] = "console",
     [FTYPE_XENBUS]  = "xenbus",
-    [FTYPE_EVTCHN]  = "evtchn",
     [FTYPE_SOCKET]  = "socket",
     [FTYPE_TAP]     = "net",
     [FTYPE_BLK]     = "blk",
@@ -915,7 +909,6 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
 	    FD_CLR(i, exceptfds);
 	    break;
 #endif
-	case FTYPE_EVTCHN:
 	case FTYPE_TAP:
 	case FTYPE_BLK:
 	case FTYPE_KBD:
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 15:12:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 15:12:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255872.438767 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Ioz-0003YB-Js; Tue, 11 Jan 2022 15:12:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255872.438767; Tue, 11 Jan 2022 15: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 1n7Ioz-0003WD-8b; Tue, 11 Jan 2022 15:12:25 +0000
Received: by outflank-mailman (input) for mailman id 255872;
 Tue, 11 Jan 2022 15:12:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7Iox-0002Fw-DE
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 15:12:23 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dd9e2654-72f0-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 16:12:17 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id AD0541F3B9;
 Tue, 11 Jan 2022 15:12:17 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 8267513DDD;
 Tue, 11 Jan 2022 15:12:17 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id SDGkHlGe3WG8AwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 15: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>
X-Inumbo-ID: dd9e2654-72f0-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913937; h=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=eq4fsjhW0m7VHOVVZWDwPf/Gn+LXzVDVgJADrNIM91s=;
	b=FDtBICD7vyqfzoRiSbB6nV7XftvZkWYIFMeuVc5+9fV3rGDtUgTfeYw006aodWNadVzBmS
	XJoOBBnYPvbG12gledkxWBAfdK5nM52NyosKVH1RQst5dGnd4frHMDvRf9wqLogqzRsGqY
	d/a9+2dSa8rnH6xP6Oj6M3P0xZGoI10=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 04/12] mini-os: use alloc_file_type() and get_file_from_fd() in tpm_tis
Date: Tue, 11 Jan 2022 16:12:07 +0100
Message-Id: <20220111151215.22955-5-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111151215.22955-1-jgross@suse.com>
References: <20220111151215.22955-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Allocate a file type dynamically via alloc_file_type().

Instead of directly accessing the files[] array use get_file_from_fd().

Make some now local functions static and modify their prototypes to
match the file_ops requirements.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 include/lib.h     |   3 +-
 include/tpm_tis.h |   6 ---
 lib/sys.c         |  23 ---------
 tpm_tis.c         | 120 ++++++++++++++++++++++++++++++----------------
 4 files changed, 80 insertions(+), 72 deletions(-)

diff --git a/include/lib.h b/include/lib.h
index 05c7de5..d94d142 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -166,8 +166,7 @@ void sanity_check(void);
 #define FTYPE_TAP        8
 #define FTYPE_BLK        9
 #define FTYPE_TPMFRONT  10
-#define FTYPE_TPM_TIS   11
-#define FTYPE_N         12
+#define FTYPE_N         11
 #define FTYPE_SPARE     16
 
 typedef int file_read_func(int fd, void *buf, size_t nbytes);
diff --git a/include/tpm_tis.h b/include/tpm_tis.h
index 86e83f1..2af974d 100644
--- a/include/tpm_tis.h
+++ b/include/tpm_tis.h
@@ -37,14 +37,11 @@ struct tpm_chip;
 
 struct tpm_chip* init_tpm_tis(unsigned long baseaddr, int localities, unsigned int irq);
 struct tpm_chip* init_tpm2_tis(unsigned long baseaddr, int localities, unsigned int irq);
-void shutdown_tpm_tis(struct tpm_chip* tpm);
 
 int tpm_tis_request_locality(struct tpm_chip* tpm, int locality);
 int tpm_tis_cmd(struct tpm_chip* tpm, uint8_t* req, size_t reqlen, uint8_t** resp, size_t* resplen);
 
 #ifdef HAVE_LIBC
-#include <sys/stat.h>
-#include <fcntl.h>
 /* POSIX IO functions:
  * use tpm_tis_open() to get a file descriptor to the tpm device
  * use write() on the fd to send a command to the backend. You must
@@ -53,9 +50,6 @@ int tpm_tis_cmd(struct tpm_chip* tpm, uint8_t* req, size_t reqlen, uint8_t** res
  * fstat() to get the size of the response and lseek() to seek on it.
  */
 int tpm_tis_open(struct tpm_chip* tpm);
-int tpm_tis_posix_read(int fd, uint8_t* buf, size_t count);
-int tpm_tis_posix_write(int fd, const uint8_t* buf, size_t count);
-int tpm_tis_posix_fstat(int fd, struct stat* buf);
 #endif
 
 #endif
diff --git a/lib/sys.c b/lib/sys.c
index d213ae5..4060b42 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -29,7 +29,6 @@
 #include <blkfront.h>
 #include <fbfront.h>
 #include <tpmfront.h>
-#include <tpm_tis.h>
 #include <xenbus.h>
 #include <xenstore.h>
 #include <poll.h>
@@ -349,11 +348,6 @@ int read(int fd, void *buf, size_t nbytes)
         case FTYPE_TPMFRONT: {
 	    return tpmfront_posix_read(fd, buf, nbytes);
         }
-#endif
-#ifdef CONFIG_TPM_TIS
-        case FTYPE_TPM_TIS: {
-	    return tpm_tis_posix_read(fd, buf, nbytes);
-        }
 #endif
 	default:
 	    break;
@@ -399,10 +393,6 @@ int write(int fd, const void *buf, size_t nbytes)
 #ifdef CONFIG_TPMFRONT
 	case FTYPE_TPMFRONT:
 	    return tpmfront_posix_write(fd, buf, nbytes);
-#endif
-#ifdef CONFIG_TPM_TIS
-	case FTYPE_TPM_TIS:
-	    return tpm_tis_posix_write(fd, buf, nbytes);
 #endif
 	default:
 	    break;
@@ -459,10 +449,6 @@ off_t lseek(int fd, off_t offset, int whence)
 #ifdef CONFIG_TPMFRONT
        case FTYPE_TPMFRONT:
           break;
-#endif
-#ifdef CONFIG_TPM_TIS
-       case FTYPE_TPM_TIS:
-          break;
 #endif
        case FTYPE_FILE:
           break;
@@ -515,11 +501,6 @@ int close(int fd)
             shutdown_tpmfront(files[fd].dev);
             break;
 #endif
-#ifdef CONFIG_TPM_TIS
-	case FTYPE_TPM_TIS:
-            shutdown_tpm_tis(files[fd].dev);
-            break;
-#endif
 #ifdef CONFIG_KBDFRONT
 	case FTYPE_KBD:
             shutdown_kbdfront(files[fd].dev);
@@ -599,10 +580,6 @@ int fstat(int fd, struct stat *buf)
 #ifdef CONFIG_TPMFRONT
 	case FTYPE_TPMFRONT:
 	   return tpmfront_posix_fstat(fd, buf);
-#endif
-#ifdef CONFIG_TPM_TIS
-	case FTYPE_TPM_TIS:
-	   return tpm_tis_posix_fstat(fd, buf);
 #endif
 	default:
 	    break;
diff --git a/tpm_tis.c b/tpm_tis.c
index 477f555..abea7a1 100644
--- a/tpm_tis.c
+++ b/tpm_tis.c
@@ -792,6 +792,9 @@ int tpm_tis_send(struct tpm_chip* tpm, uint8_t* buf, size_t len) {
    int status, burstcnt = 0;
    int count = 0;
    uint32_t ordinal;
+#ifdef HAVE_LIBC
+   struct file *file = get_file_from_fd(tpm->fd);
+#endif
 
    if(tpm_tis_request_locality(tpm, tpm->locality) < 0) {
       return -EBUSY;
@@ -844,9 +847,10 @@ int tpm_tis_send(struct tpm_chip* tpm, uint8_t* buf, size_t len) {
       }
    }
 #ifdef HAVE_LIBC
-   if(tpm->fd >= 0) {
-      files[tpm->fd].read = false;
-      files[tpm->fd].offset = 0;
+   if ( file )
+   {
+      file->read = false;
+      file->offset = 0;
    }
 #endif
    return len;
@@ -1093,6 +1097,23 @@ ssize_t tpm_getcap(struct tpm_chip *chip, uint32_t subcap_id, cap_t *cap,
         return rc;
 }
 
+static void shutdown_tpm_tis(struct tpm_chip* tpm){
+   int i;
+
+   printk("Shutting down tpm_tis device\n");
+
+   iowrite32(TPM_INT_ENABLE(tpm, tpm->locality), ~TPM_GLOBAL_INT_ENABLE);
+
+   /*Unmap all of the mmio pages */
+   for(i = 0; i < 5; ++i) {
+      if(tpm->pages[i] != NULL) {
+	 iounmap(tpm->pages[i], PAGE_SIZE);
+	 tpm->pages[i] = NULL;
+      }
+   }
+   free(tpm);
+   return;
+}
 
 struct tpm_chip* init_tpm_tis(unsigned long baseaddr, int localities, unsigned int irq)
 {
@@ -1242,25 +1263,6 @@ abort_egress:
    return NULL;
 }
 
-void shutdown_tpm_tis(struct tpm_chip* tpm){
-   int i;
-
-   printk("Shutting down tpm_tis device\n");
-
-   iowrite32(TPM_INT_ENABLE(tpm, tpm->locality), ~TPM_GLOBAL_INT_ENABLE);
-
-   /*Unmap all of the mmio pages */
-   for(i = 0; i < 5; ++i) {
-      if(tpm->pages[i] != NULL) {
-	 iounmap(tpm->pages[i], PAGE_SIZE);
-	 tpm->pages[i] = NULL;
-      }
-   }
-   free(tpm);
-   return;
-}
-
-
 int tpm_tis_cmd(struct tpm_chip* tpm, uint8_t* req, size_t reqlen, uint8_t** resp, size_t* resplen)
 {
    if(tpm->locality < 0) {
@@ -1279,23 +1281,24 @@ int tpm_tis_cmd(struct tpm_chip* tpm, uint8_t* req, size_t reqlen, uint8_t** res
 }
 
 #ifdef HAVE_LIBC
-int tpm_tis_open(struct tpm_chip* tpm)
+#include <sys/stat.h>
+#include <fcntl.h>
+
+static int tpm_tis_close(int fd)
 {
-   /* Silently prevent multiple opens */
-   if(tpm->fd != -1) {
-      return tpm->fd;
-   }
+    struct file *file = get_file_from_fd(fd);
 
-   tpm->fd = alloc_fd(FTYPE_TPM_TIS);
-   printk("tpm_tis_open() -> %d\n", tpm->fd);
-   files[tpm->fd].dev = tpm;
-   return tpm->fd;
+    shutdown_tpm_tis(file->dev);
+
+    return 0;
 }
 
-int tpm_tis_posix_write(int fd, const uint8_t* buf, size_t count)
+static int tpm_tis_posix_write(int fd, const void *buf, size_t count)
 {
    struct tpm_chip* tpm;
-   tpm = files[fd].dev;
+   struct file *file = get_file_from_fd(fd);
+
+   tpm = file->dev;
 
    if(tpm->locality < 0) {
       printk("tpm_tis_posix_write() failed! locality not set!\n");
@@ -1319,11 +1322,13 @@ int tpm_tis_posix_write(int fd, const uint8_t* buf, size_t count)
    return count;
 }
 
-int tpm_tis_posix_read(int fd, uint8_t* buf, size_t count)
+static int tpm_tis_posix_read(int fd, void *buf, size_t count)
 {
    int rc;
    struct tpm_chip* tpm;
-   tpm = files[fd].dev;
+   struct file *file = get_file_from_fd(fd);
+
+   tpm = file->dev;
 
    if(count == 0) {
       return 0;
@@ -1337,20 +1342,24 @@ int tpm_tis_posix_read(int fd, uint8_t* buf, size_t count)
 
 
    /* Handle EOF case */
-   if(files[fd].offset >= tpm->data_len) {
+   if ( file->offset >= tpm->data_len )
+   {
       rc = 0;
    } else {
-      rc = min(tpm->data_len - files[fd].offset, count);
-      memcpy(buf, tpm->data_buffer + files[fd].offset, rc);
+      rc = min(tpm->data_len - file->offset, count);
+      memcpy(buf, tpm->data_buffer + file->offset, rc);
    }
-   files[fd].offset += rc;
+   file->offset += rc;
    /* Reset the data pending flag */
    return rc;
 }
-int tpm_tis_posix_fstat(int fd, struct stat* buf)
+
+static int tpm_tis_posix_fstat(int fd, struct stat *buf)
 {
    struct tpm_chip* tpm;
-   tpm = files[fd].dev;
+   struct file *file = get_file_from_fd(fd);
+
+   tpm = file->dev;
 
    buf->st_mode = O_RDWR;
    buf->st_uid = 0;
@@ -1360,6 +1369,35 @@ int tpm_tis_posix_fstat(int fd, struct stat* buf)
    return 0;
 }
 
+static struct file_ops tpm_tis_ops = {
+    .name = "tpm_tis",
+    .read = tpm_tis_posix_read,
+    .write = tpm_tis_posix_write,
+    .lseek = lseek_default,
+    .close = tpm_tis_close,
+    .fstat = tpm_tis_posix_fstat,
+};
+
+int tpm_tis_open(struct tpm_chip* tpm)
+{
+   struct file *file;
+   static unsigned int ftype_tis;
+
+   /* Silently prevent multiple opens */
+   if(tpm->fd != -1) {
+      return tpm->fd;
+   }
+
+   if ( !ftype_tis )
+       ftype_tis = alloc_file_type(&tpm_tis_ops);
+
+   tpm->fd = alloc_fd(ftype_tis);
+   printk("tpm_tis_open() -> %d\n", tpm->fd);
+   file = get_file_from_fd(tpm->fd);
+   file->dev = tpm;
+   return tpm->fd;
+}
+
 /* TPM 2.0 */
 
 /*TPM2.0 Selftest*/
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 15:12:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 15:12:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255867.438738 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Iow-0002yC-T3; Tue, 11 Jan 2022 15:12:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255867.438738; Tue, 11 Jan 2022 15:12: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 1n7Iow-0002y3-P5; Tue, 11 Jan 2022 15:12:22 +0000
Received: by outflank-mailman (input) for mailman id 255867;
 Tue, 11 Jan 2022 15:12:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7Iou-0002Fv-VK
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 15:12:21 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dd8042dd-72f0-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 16:12:17 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 7BC961F3B8;
 Tue, 11 Jan 2022 15:12:17 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 5665A13DDD;
 Tue, 11 Jan 2022 15:12:17 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id UNUCFFGe3WG8AwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 15: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>
X-Inumbo-ID: dd8042dd-72f0-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913937; h=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=gTPeNHy0AVh7duIevs+xqjLxKhkGSrZIz5TiPB1taxY=;
	b=IRkL3v6k2KUYC2e1crbEs0Lw5Izu4d+fHlophfX9cPw76G/pbv0YqXKfbEwbqEysaBI8xa
	Q3Fo82RyLoSralVP088j9JE1wfo/qBNlvFtKyVN6d2H2Bhtkk/28Xo3pLB6EP57ilJhV0p
	4p7xRiGRrlwFAt+8mBeLO3eHtsG1gLM=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 03/12] mini-os: use alloc_file_type() and get_file_from_fd() in xs
Date: Tue, 11 Jan 2022 16:12:06 +0100
Message-Id: <20220111151215.22955-4-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111151215.22955-1-jgross@suse.com>
References: <20220111151215.22955-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Allocate the needed file type via alloc_file_type().

Instead of directly accessing the files[] array use get_file_from_fd().

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 include/lib.h   |  3 +--
 lib/sys.c       | 18 --------------
 lib/xs.c        | 64 +++++++++++++++++++++++++++++++++++++------------
 xenbus/xenbus.c |  1 +
 4 files changed, 51 insertions(+), 35 deletions(-)

diff --git a/include/lib.h b/include/lib.h
index 283abb8..05c7de5 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -167,8 +167,7 @@ void sanity_check(void);
 #define FTYPE_BLK        9
 #define FTYPE_TPMFRONT  10
 #define FTYPE_TPM_TIS   11
-#define FTYPE_XENBUS    12
-#define FTYPE_N         13
+#define FTYPE_N         12
 #define FTYPE_SPARE     16
 
 typedef int file_read_func(int fd, void *buf, size_t nbytes);
diff --git a/lib/sys.c b/lib/sys.c
index 9540410..d213ae5 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -495,11 +495,6 @@ int close(int fd)
     switch (files[fd].type) {
         default:
             break;
-#ifdef CONFIG_XENBUS
-	case FTYPE_XENBUS:
-            xs_daemon_close((void*)(intptr_t) fd);
-            break;
-#endif
 #ifdef HAVE_LWIP
 	case FTYPE_SOCKET:
 	    res = lwip_close(files[fd].fd);
@@ -712,7 +707,6 @@ int closedir(DIR *dir)
 static const char *file_types[] = {
     [FTYPE_NONE]    = "none",
     [FTYPE_CONSOLE] = "console",
-    [FTYPE_XENBUS]  = "xenbus",
     [FTYPE_SOCKET]  = "socket",
     [FTYPE_TAP]     = "net",
     [FTYPE_BLK]     = "blk",
@@ -892,18 +886,6 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
                 n++;
 	    FD_CLR(i, exceptfds);
 	    break;
-#ifdef CONFIG_XENBUS
-	case FTYPE_XENBUS:
-	    if (FD_ISSET(i, readfds)) {
-                if (files[i].dev)
-		    n++;
-		else
-		    FD_CLR(i, readfds);
-	    }
-	    FD_CLR(i, writefds);
-	    FD_CLR(i, exceptfds);
-	    break;
-#endif
 	case FTYPE_TAP:
 	case FTYPE_BLK:
 	case FTYPE_KBD:
diff --git a/lib/xs.c b/lib/xs.c
index 4af0f96..ac830d2 100644
--- a/lib/xs.c
+++ b/lib/xs.c
@@ -18,23 +18,55 @@ static inline int _xs_fileno(struct xs_handle *h) {
     return (intptr_t) h;
 }
 
+static int xs_close_fd(int fd)
+{
+    struct xenbus_event *event, *next;
+    struct file *file = get_file_from_fd(fd);
+
+    for (event = file->dev; event; event = next)
+    {
+        next = event->next;
+        free(event);
+    }
+
+    return 0;
+}
+
+static bool xs_can_read(int fd)
+{
+    struct file *file = get_file_from_fd(fd);
+
+    return file && file->dev;
+}
+
+static struct file_ops xenbus_ops = {
+    .name = "xenbus",
+    .close = xs_close_fd,
+    .select_rd = xs_can_read,
+};
+
 struct xs_handle *xs_daemon_open()
 {
-    int fd = alloc_fd(FTYPE_XENBUS);
-    files[fd].dev = NULL;
-    printk("xs_daemon_open -> %d, %p\n", fd, &files[fd].dev);
+    int fd;
+    struct file *file;
+    static unsigned int ftype_xenbus;
+
+    if ( !ftype_xenbus )
+        ftype_xenbus = alloc_file_type(&xenbus_ops);
+
+    fd = alloc_fd(ftype_xenbus);
+    file = get_file_from_fd(fd);
+    if ( !file )
+        return NULL;
+
+    file->dev = NULL;
+    printk("xs_daemon_open -> %d, %p\n", fd, &file->dev);
     return (void*)(intptr_t) fd;
 }
 
 void xs_daemon_close(struct xs_handle *h)
 {
-    int fd = _xs_fileno(h);
-    struct xenbus_event *event, *next;
-    for (event = files[fd].dev; event; event = next)
-    {
-        next = event->next;
-        free(event);
-    }
+    close(_xs_fileno(h));
 }
 
 int xs_fileno(struct xs_handle *h)
@@ -169,18 +201,20 @@ char **xs_directory(struct xs_handle *h, xs_transaction_t t,
 
 bool xs_watch(struct xs_handle *h, const char *path, const char *token)
 {
-    int fd = _xs_fileno(h);
+    struct file *file = get_file_from_fd(_xs_fileno(h));
+
     printk("xs_watch(%s, %s)\n", path, token);
     return xs_bool(xenbus_watch_path_token(XBT_NULL, path, token,
-                   (xenbus_event_queue *)&files[fd].dev));
+                   (xenbus_event_queue *)&file->dev));
 }
 
 char **xs_read_watch(struct xs_handle *h, unsigned int *num)
 {
-    int fd = _xs_fileno(h);
     struct xenbus_event *event;
-    event = files[fd].dev;
-    files[fd].dev = event->next;
+    struct file *file = get_file_from_fd(_xs_fileno(h));
+
+    event = file->dev;
+    file->dev = event->next;
     printk("xs_read_watch() -> %s %s\n", event->path, event->token);
     *num = 2;
     return (char **) &event->path;
diff --git a/xenbus/xenbus.c b/xenbus/xenbus.c
index b687678..785389f 100644
--- a/xenbus/xenbus.c
+++ b/xenbus/xenbus.c
@@ -393,6 +393,7 @@ static int allocate_xenbus_id(void)
 void init_xenbus(void)
 {
     int err;
+
     DEBUG("init_xenbus called.\n");
     create_thread("xenstore", xenbus_thread_func, NULL);
     DEBUG("buf at %p.\n", xenstore_buf);
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 15:12:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 15:12:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255875.438789 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Ip2-0003x7-QO; Tue, 11 Jan 2022 15:12:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255875.438789; Tue, 11 Jan 2022 15: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 1n7Ip1-0003uY-D1; Tue, 11 Jan 2022 15:12:27 +0000
Received: by outflank-mailman (input) for mailman id 255875;
 Tue, 11 Jan 2022 15:12:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7Ioy-0002Fv-Vq
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 15:12:25 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id de399b05-72f0-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 16:12:18 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id ACD45212C2;
 Tue, 11 Jan 2022 15:12: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 83AD913DDD;
 Tue, 11 Jan 2022 15:12:18 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 0D8NH1Ke3WG8AwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 15:12:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: de399b05-72f0-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913938; h=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=akdaLVPdVVzqXtx9FHY3lThrxd9OOCJ2dYlEWLvAp9o=;
	b=hFWZo2ZPpBfkt/xOEsSkJtcF45r7YhT6Rwk/zWLc48g4sHIdpaPaCyAx8tdwLIjRWoL/WN
	3Ygu1RZv/8rkWLAhHWwddGdUynqq1UgVcWpOUPU8dKMXbNMjUt/HsUVLkN9HmQ3xKO476k
	2Gzy8RBUEXvdKHhTx48Ecxrvk/6ZxxA=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 09/12] mini-os: use file_ops and get_file_from_fd() for console
Date: Tue, 11 Jan 2022 16:12:12 +0100
Message-Id: <20220111151215.22955-10-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111151215.22955-1-jgross@suse.com>
References: <20220111151215.22955-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add struct file_ops for the console related file types (FTYPE_CONSOLE
and savefile). FTYPE_CONSOLE remains statically defined, as it is used
to statically init stdin, stdout and stderr.

Instead of directly accessing the files[] array use get_file_from_fd().

With CONSOLE now handled via file_ops the bogus file descriptor case in
select_poll() now needs to be handled more explicit instead of dropping
into console handling, assuming that this case was basically meant to
cover SAVEFILE.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 console/xenbus.c       | 125 +++++++++++++++++++++++++++++++++++++++++
 console/xencons_ring.c |   6 +-
 include/console.h      |   5 ++
 include/lib.h          |   3 +-
 lib/sys.c              |  87 +++++++---------------------
 5 files changed, 155 insertions(+), 71 deletions(-)

diff --git a/console/xenbus.c b/console/xenbus.c
index 05fc31c..b856c84 100644
--- a/console/xenbus.c
+++ b/console/xenbus.c
@@ -192,3 +192,128 @@ void fini_consfront(struct consfront_dev *dev)
 {
     if (dev) free_consfront(dev);
 }
+
+#ifdef HAVE_LIBC
+static int consfront_read(int fd, void *buf, size_t nbytes)
+{
+    int ret;
+    struct file *file = get_file_from_fd(fd);
+    DEFINE_WAIT(w);
+
+    while ( 1 )
+    {
+        add_waiter(w, console_queue);
+        ret = xencons_ring_recv(file->dev, buf, nbytes);
+        if ( ret )
+            break;
+        schedule();
+    }
+
+    remove_waiter(w, console_queue);
+
+    return ret;
+}
+
+static int savefile_write(int fd, const void *buf, size_t nbytes)
+{
+    int ret = 0, tot = nbytes;
+    struct file *file = get_file_from_fd(fd);
+
+    while ( nbytes > 0 )
+    {
+        ret = xencons_ring_send(file->dev, (char *)buf, nbytes);
+        nbytes -= ret;
+        buf = (char *)buf + ret;
+    }
+
+    return tot - nbytes;
+}
+
+static int console_write(int fd, const void *buf, size_t nbytes)
+{
+    struct file *file = get_file_from_fd(fd);
+
+    console_print(file->dev, (char *)buf, nbytes);
+
+    return nbytes;
+}
+
+static int consfront_close_fd(int fd)
+{
+    struct file *file = get_file_from_fd(fd);
+
+    fini_consfront(file->dev);
+
+    return 0;
+}
+
+static int consfront_fstat(int fd, struct stat *buf)
+{
+    struct file *file = get_file_from_fd(fd);
+
+    buf->st_mode = S_IRUSR | S_IWUSR;
+    buf->st_mode |= (file->type == FTYPE_CONSOLE) ? S_IFCHR : S_IFREG;
+    buf->st_atime = buf->st_mtime = buf->st_ctime = time(NULL);
+
+    return 0;
+}
+
+static bool consfront_select_rd(int fd)
+{
+    struct file *file = get_file_from_fd(fd);
+
+    return xencons_ring_avail(file->dev);
+}
+
+static struct file_ops savefile_ops = {
+    .name = "savefile",
+    .read = consfront_read,
+    .write = savefile_write,
+    .close = consfront_close_fd,
+    .fstat = consfront_fstat,
+    .select_rd = consfront_select_rd,
+    .select_wr = select_yes,
+};
+
+struct file_ops console_ops = {
+    .name = "console",
+    .read = consfront_read,
+    .write = console_write,
+    .close = consfront_close_fd,
+    .fstat = consfront_fstat,
+    .select_rd = consfront_select_rd,
+    .select_wr = select_yes,
+};
+
+int open_consfront(char *nodename)
+{
+    struct consfront_dev *dev;
+    static unsigned int ftype_savefile;
+    unsigned int ftype;
+    struct file *file;
+
+    dev = init_consfront(nodename);
+    if ( !dev )
+        return -1;
+
+    if ( nodename )
+    {
+        if ( !ftype_savefile )
+            ftype_savefile = alloc_file_type(&savefile_ops);
+        ftype = ftype_savefile;
+    }
+    else
+        ftype = FTYPE_CONSOLE;
+
+    dev->fd = alloc_fd(ftype);
+    file = get_file_from_fd(dev->fd);
+    if ( !file )
+    {
+        fini_consfront(dev);
+        return -1;
+    }
+    file->dev = dev;
+
+    return dev->fd;
+}
+#endif
diff --git a/console/xencons_ring.c b/console/xencons_ring.c
index c348f3c..efedf46 100644
--- a/console/xencons_ring.c
+++ b/console/xencons_ring.c
@@ -99,10 +99,10 @@ void console_handle_input(evtchn_port_t port, struct pt_regs *regs, void *data)
 {
 	struct consfront_dev *dev = (struct consfront_dev *) data;
 #ifdef HAVE_LIBC
-        int fd = dev ? dev->fd : -1;
+        struct file *file = dev ? get_file_from_fd(dev->fd) : NULL;
 
-        if (fd != -1)
-            files[fd].read = true;
+        if ( file )
+            file->read = true;
 
         wake_up(&console_queue);
 #else
diff --git a/include/console.h b/include/console.h
index 0d7bf07..8c615d0 100644
--- a/include/console.h
+++ b/include/console.h
@@ -39,6 +39,7 @@
 #include <mini-os/os.h>
 #include <mini-os/traps.h>
 #include <mini-os/types.h>
+#include <mini-os/lib.h>
 #include <xen/grant_table.h>
 #include <xenbus.h>
 #include <xen/io/console.h>
@@ -93,5 +94,9 @@ int xencons_ring_send_no_notify(struct consfront_dev *dev, const char *data, uns
 int xencons_ring_avail(struct consfront_dev *dev);
 int xencons_ring_recv(struct consfront_dev *dev, char *data, unsigned len);
 void free_consfront(struct consfront_dev *dev);
+#ifdef HAVE_LIBC
+extern struct file_ops console_ops;
+int open_consfront(char *nodename);
+#endif
 
 #endif /* _LIB_CONSOLE_H_ */
diff --git a/include/lib.h b/include/lib.h
index 653a16e..c171fe8 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -160,8 +160,7 @@ void sanity_check(void);
 #define FTYPE_FILE       2
 #define FTYPE_SOCKET     3
 #define FTYPE_MEM        4
-#define FTYPE_SAVEFILE   5
-#define FTYPE_N          6
+#define FTYPE_N          5
 #define FTYPE_SPARE     16
 
 typedef int file_read_func(int fd, void *buf, size_t nbytes);
diff --git a/lib/sys.c b/lib/sys.c
index 4fb844f..3a8aa68 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -101,6 +101,9 @@ static struct file_ops file_ops_none = {
 
 static struct file_ops *file_ops[FTYPE_N + FTYPE_SPARE] = {
     [FTYPE_NONE] = &file_ops_none,
+#ifdef CONFIG_CONSFRONT
+    [FTYPE_CONSOLE] = &console_ops,
+#endif
 };
 
 unsigned int alloc_file_type(struct file_ops *ops)
@@ -211,31 +214,26 @@ int mkdir(const char *pathname, mode_t mode)
 #ifdef CONFIG_CONSFRONT
 int posix_openpt(int flags)
 {
-    struct consfront_dev *dev;
+    int fd;
 
     /* Ignore flags */
+    fd = open_consfront(NULL);
+    printk("fd(%d) = posix_openpt\n", fd);
 
-    dev = init_consfront(NULL);
-    dev->fd = alloc_fd(FTYPE_CONSOLE);
-    files[dev->fd].dev = dev;
-
-    printk("fd(%d) = posix_openpt\n", dev->fd);
-    return(dev->fd);
+    return fd;
 }
 
 int open_savefile(const char *path, int save)
 {
-    struct consfront_dev *dev;
+    int fd;
     char nodename[64];
 
     snprintf(nodename, sizeof(nodename), "device/console/%d", save ? SAVE_CONSOLE : RESTORE_CONSOLE);
 
-    dev = init_consfront(nodename);
-    dev->fd = alloc_fd(FTYPE_SAVEFILE);
-    files[dev->fd].dev = dev;
+    fd = open_consfront(nodename);
+    printk("fd(%d) = open_savefile\n", fd);
 
-    printk("fd(%d) = open_savefile\n", dev->fd);
-    return(dev->fd);
+    return fd;
 }
 #else
 int posix_openpt(int flags)
@@ -285,20 +283,6 @@ int read(int fd, void *buf, size_t nbytes)
         return ops->read(fd, buf, nbytes);
 
     switch (files[fd].type) {
-        case FTYPE_SAVEFILE:
-	case FTYPE_CONSOLE: {
-	    int ret;
-            DEFINE_WAIT(w);
-            while(1) {
-                add_waiter(w, console_queue);
-                ret = xencons_ring_recv(files[fd].dev, buf, nbytes);
-                if (ret)
-                    break;
-                schedule();
-            }
-            remove_waiter(w, console_queue);
-            return ret;
-        }
 #ifdef HAVE_LWIP
 	case FTYPE_SOCKET:
 	    return lwip_read(files[fd].fd, buf, nbytes);
@@ -319,18 +303,6 @@ int write(int fd, const void *buf, size_t nbytes)
         return ops->write(fd, buf, nbytes);
 
     switch (files[fd].type) {
-        case FTYPE_SAVEFILE: {
-                int ret = 0, tot = nbytes;
-                while (nbytes > 0) {
-                    ret = xencons_ring_send(files[fd].dev, (char *)buf, nbytes);
-                    nbytes -= ret;
-                    buf = (char *)buf + ret;
-                }
-                return tot - nbytes;
-            }
-	case FTYPE_CONSOLE:
-	    console_print(files[fd].dev, (char *)buf, nbytes);
-	    return nbytes;
 #ifdef HAVE_LWIP
 	case FTYPE_SOCKET:
 	    return lwip_write(files[fd].fd, (void*) buf, nbytes);
@@ -418,12 +390,6 @@ int close(int fd)
 	case FTYPE_SOCKET:
 	    res = lwip_close(files[fd].fd);
             break;
-#endif
-#ifdef CONFIG_CONSFRONT
-        case FTYPE_SAVEFILE:
-        case FTYPE_CONSOLE:
-            fini_consfront(files[fd].dev);
-            break;
 #endif
 	case FTYPE_NONE:
             printk("close(%d): Bad descriptor\n", fd);
@@ -464,15 +430,8 @@ int fstat(int fd, struct stat *buf)
         return ops->fstat(fd, buf);
 
     switch (files[fd].type) {
-	case FTYPE_SAVEFILE:
-	case FTYPE_CONSOLE:
 	case FTYPE_SOCKET: {
-            if (files[fd].type == FTYPE_CONSOLE)
-                buf->st_mode = S_IFCHR|S_IRUSR|S_IWUSR;
-            else if (files[fd].type == FTYPE_SOCKET)
-                buf->st_mode = S_IFSOCK|S_IRUSR|S_IWUSR;
-            else if (files[fd].type == FTYPE_SAVEFILE)
-                buf->st_mode = S_IFREG|S_IRUSR|S_IWUSR;
+            buf->st_mode = S_IFSOCK|S_IRUSR|S_IWUSR;
 	    buf->st_uid = 0;
 	    buf->st_gid = 0;
 	    buf->st_size = 0;
@@ -583,7 +542,6 @@ int closedir(DIR *dir)
 #if defined(LIBC_DEBUG) || defined(LIBC_VERBOSE)
 static const char *file_types[] = {
     [FTYPE_NONE]    = "none",
-    [FTYPE_CONSOLE] = "console",
     [FTYPE_SOCKET]  = "socket",
 };
 
@@ -744,21 +702,18 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
             }
 
 	    if (FD_ISSET(i, readfds) || FD_ISSET(i, writefds) || FD_ISSET(i, exceptfds))
+            {
 		printk("bogus fd %d in select\n", i);
-	    /* Fallthrough.  */
-        }
-
-	case FTYPE_CONSOLE:
-	    if (FD_ISSET(i, readfds)) {
-                if (xencons_ring_avail(files[i].dev))
-		    n++;
-		else
-		    FD_CLR(i, readfds);
+                if ( FD_ISSET(i, readfds) )
+                    FD_CLR(i, readfds);
+                if ( FD_ISSET(i, writefds) )
+                    FD_CLR(i, writefds);
+                if ( FD_ISSET(i, exceptfds) )
+                    FD_CLR(i, exceptfds);
             }
-	    if (FD_ISSET(i, writefds))
-                n++;
-	    FD_CLR(i, exceptfds);
 	    break;
+        }
+
 #ifdef HAVE_LWIP
 	case FTYPE_SOCKET:
 	    if (FD_ISSET(i, readfds)) {
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 15:12:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 15:12:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255876.438796 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Ip3-0004AF-FM; Tue, 11 Jan 2022 15:12:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255876.438796; Tue, 11 Jan 2022 15: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 1n7Ip2-00045B-H8; Tue, 11 Jan 2022 15:12:28 +0000
Received: by outflank-mailman (input) for mailman id 255876;
 Tue, 11 Jan 2022 15:12:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7Ioz-0002Fw-DT
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 15:12:25 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ddef8a1b-72f0-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 16:12:18 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 43AEB1F3B1;
 Tue, 11 Jan 2022 15:12: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 1886213DDD;
 Tue, 11 Jan 2022 15:12:18 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id EL60BFKe3WG8AwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 15:12:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ddef8a1b-72f0-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913938; h=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=jVhuzq1ru9rCdLBgGyz4Ec9Qdw5HVMOj866c/uvvnJ8=;
	b=fyJ4xFFUjaB4MnesIRmrqRCUyyfsdRLZi/4jAokXUD4t39jqDelNiYROsMocP1Jn8duNF5
	3aXoFY79DAEDfznK9s5FKTjKbNTmsAm4DM/K6s+zw14+ofdru7KNAIy+Y4wnFdCIr+Zlo6
	tgL1v0m2i/UlH2Hrb05Ko68zCifDARI=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 07/12] mini-os: use get_file_from_fd() in netfront
Date: Tue, 11 Jan 2022 16:12:10 +0100
Message-Id: <20220111151215.22955-8-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111151215.22955-1-jgross@suse.com>
References: <20220111151215.22955-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Instead of directly accessing the files[] array use get_file_from_fd().

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 include/lib.h |  3 +--
 lib/sys.c     | 23 ------------------
 netfront.c    | 64 ++++++++++++++++++++++++++++++++++++++++++++-------
 3 files changed, 57 insertions(+), 33 deletions(-)

diff --git a/include/lib.h b/include/lib.h
index 05f5083..aa8036e 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -163,8 +163,7 @@ void sanity_check(void);
 #define FTYPE_SAVEFILE   5
 #define FTYPE_FB         6
 #define FTYPE_KBD        7
-#define FTYPE_TAP        8
-#define FTYPE_N          9
+#define FTYPE_N          8
 #define FTYPE_SPARE     16
 
 typedef int file_read_func(int fd, void *buf, size_t nbytes);
diff --git a/lib/sys.c b/lib/sys.c
index f84fedd..7f2e11f 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -303,17 +303,6 @@ int read(int fd, void *buf, size_t nbytes)
 	case FTYPE_SOCKET:
 	    return lwip_read(files[fd].fd, buf, nbytes);
 #endif
-#ifdef CONFIG_NETFRONT
-	case FTYPE_TAP: {
-	    ssize_t ret;
-	    ret = netfront_receive(files[fd].dev, buf, nbytes);
-	    if (ret <= 0) {
-		errno = EAGAIN;
-		return -1;
-	    }
-	    return ret;
-	}
-#endif
 #ifdef CONFIG_KBDFRONT
         case FTYPE_KBD: {
             int ret, n;
@@ -369,11 +358,6 @@ int write(int fd, const void *buf, size_t nbytes)
 #ifdef HAVE_LWIP
 	case FTYPE_SOCKET:
 	    return lwip_write(files[fd].fd, (void*) buf, nbytes);
-#endif
-#ifdef CONFIG_NETFRONT
-	case FTYPE_TAP:
-	    netfront_xmit(files[fd].dev, (void*) buf, nbytes);
-	    return nbytes;
 #endif
 	default:
 	    break;
@@ -459,11 +443,6 @@ int close(int fd)
 	    res = lwip_close(files[fd].fd);
             break;
 #endif
-#ifdef CONFIG_NETFRONT
-	case FTYPE_TAP:
-	    shutdown_netfront(files[fd].dev);
-            break;
-#endif
 #ifdef CONFIG_KBDFRONT
 	case FTYPE_KBD:
             shutdown_kbdfront(files[fd].dev);
@@ -640,7 +619,6 @@ static const char *file_types[] = {
     [FTYPE_NONE]    = "none",
     [FTYPE_CONSOLE] = "console",
     [FTYPE_SOCKET]  = "socket",
-    [FTYPE_TAP]     = "net",
     [FTYPE_KBD]     = "kbd",
     [FTYPE_FB]      = "fb",
 };
@@ -817,7 +795,6 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
                 n++;
 	    FD_CLR(i, exceptfds);
 	    break;
-	case FTYPE_TAP:
 	case FTYPE_KBD:
 	case FTYPE_FB:
 	    if (FD_ISSET(i, readfds)) {
diff --git a/netfront.c b/netfront.c
index 7696451..f86c6a2 100644
--- a/netfront.c
+++ b/netfront.c
@@ -248,14 +248,14 @@ void netfront_select_handler(evtchn_port_t port, struct pt_regs *regs, void *dat
 {
     int flags;
     struct netfront_dev *dev = data;
-    int fd = dev->fd;
+    struct file *file = get_file_from_fd(dev->fd);
 
     local_irq_save(flags);
     network_tx_buf_gc(dev);
     local_irq_restore(flags);
 
-    if (fd != -1)
-        files[fd].read = true;
+    if ( file )
+        file->read = true;
     wake_up(&netfront_queue);
 }
 #endif
@@ -565,8 +565,54 @@ error:
 }
 
 #ifdef HAVE_LIBC
+static int netfront_read(int fd, void *buf, size_t nbytes)
+{
+    ssize_t ret;
+    struct file *file = get_file_from_fd(fd);
+
+    ret = netfront_receive(file->dev, buf, nbytes);
+    if ( ret <= 0 )
+    {
+        errno = EAGAIN;
+        return -1;
+    }
+
+    return ret;
+}
+
+static int netfront_write(int fd, const void *buf, size_t nbytes)
+{
+    struct file *file = get_file_from_fd(fd);
+
+    netfront_xmit(file->dev, (void *)buf, nbytes);
+
+    return nbytes;
+}
+
+static int netfront_close_fd(int fd)
+{
+    struct file *file = get_file_from_fd(fd);
+
+    shutdown_netfront(file->dev);
+
+    return 0;
+}
+
+static struct file_ops netfront_ops = {
+    .name = "net",
+    .read = netfront_read,
+    .write = netfront_write,
+    .close = netfront_close_fd,
+    .select_rd = select_read_flag,
+};
+
 int netfront_tap_open(char *nodename) {
     struct netfront_dev *dev;
+    struct file *file;
+    static unsigned int ftype_netfront;
+
+    if ( !ftype_netfront )
+        ftype_netfront = alloc_file_type(&netfront_ops);
 
     dev = init_netfront(nodename, NETIF_SELECT_RX, NULL, NULL);
     if (!dev) {
@@ -574,9 +620,10 @@ int netfront_tap_open(char *nodename) {
 	errno = EIO;
 	return -1;
     }
-    dev->fd = alloc_fd(FTYPE_TAP);
+    dev->fd = alloc_fd(ftype_netfront);
     printk("tap_open(%s) -> %d\n", nodename, dev->fd);
-    files[dev->fd].dev = dev;
+    file = get_file_from_fd(dev->fd);
+    file->dev = dev;
     return dev->fd;
 }
 #endif
@@ -772,7 +819,8 @@ void netfront_xmit(struct netfront_dev *dev, unsigned char* data,int len)
 ssize_t netfront_receive(struct netfront_dev *dev, unsigned char *data, size_t len)
 {
     unsigned long flags;
-    int fd = dev->fd;
+    struct file *file = get_file_from_fd(dev->fd);
+
     ASSERT(current == main_thread);
 
     dev->rlen = 0;
@@ -781,9 +829,9 @@ ssize_t netfront_receive(struct netfront_dev *dev, unsigned char *data, size_t l
 
     local_irq_save(flags);
     network_rx(dev);
-    if (!dev->rlen && fd != -1)
+    if ( !dev->rlen && file )
         /* No data for us, make select stop returning */
-        files[fd].read = false;
+        file->read = false;
     /* Before re-enabling the interrupts, in case a packet just arrived in the
      * meanwhile. */
     local_irq_restore(flags);
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 15:12:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 15:12:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255879.438812 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Ip5-0004e9-Uu; Tue, 11 Jan 2022 15:12:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255879.438812; Tue, 11 Jan 2022 15: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 1n7Ip5-0004Zj-1W; Tue, 11 Jan 2022 15:12:31 +0000
Received: by outflank-mailman (input) for mailman id 255879;
 Tue, 11 Jan 2022 15:12:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7Ip0-0002Fv-W8
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 15:12:26 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id de7324e1-72f0-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 16:12:19 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 1802F1F3B9;
 Tue, 11 Jan 2022 15:12:19 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id E27A913DDD;
 Tue, 11 Jan 2022 15:12:18 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id MH/eNVKe3WG8AwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 15:12:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: de7324e1-72f0-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913939; h=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=LT7y4F0rIJkzgfg3Wqk+kFvoECYDkYG0U0o/MY4F4aI=;
	b=J3Y9NA+QaK3CF8Btdh7yERlbdXYM4SHcMGD4DBHtgKs4C1sRKVE81UI0g2nNwB9bek+8ly
	Gx+PHio0I06zucoyCKZq/DjGp0OJMqhiLm1Ei/YJVqbBkKTwIFK8d7ACGJ6G5qp147LkSC
	2znecvy9nwsbg1LkPq6Hmb1Ni3fLgtw=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 11/12] mini-os: add struct file_ops for FTYPE_FILE
Date: Tue, 11 Jan 2022 16:12:14 +0100
Message-Id: <20220111151215.22955-12-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111151215.22955-1-jgross@suse.com>
References: <20220111151215.22955-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

FTYPE_FILE is the last relevant file type without a struct file_ops.
Add it.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 lib/sys.c | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/lib/sys.c b/lib/sys.c
index 12deaed..0f42e97 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -99,6 +99,11 @@ static struct file_ops file_ops_none = {
     .name = "none",
 };
 
+static struct file_ops file_file_ops = {
+    .name = "file",
+    .lseek = lseek_default,
+};
+
 #ifdef HAVE_LWIP
 static int socket_read(int fd, void *buf, size_t nbytes)
 {
@@ -160,6 +165,7 @@ static struct file_ops *file_ops[FTYPE_N + FTYPE_SPARE] = {
 #ifdef CONFIG_CONSFRONT
     [FTYPE_CONSOLE] = &console_ops,
 #endif
+    [FTYPE_FILE] = &file_file_ops,
 #ifdef HAVE_LWIP
     [FTYPE_SOCKET] = &socket_ops,
 #endif
@@ -397,16 +403,9 @@ off_t lseek(int fd, off_t offset, int whence)
     if ( ops->lseek )
         return ops->lseek(fd, offset, whence);
 
-    switch(files[fd].type) {
-       case FTYPE_FILE:
-          break;
-       default:
-          /* Not implemented for this filetype */
-          errno = ESPIPE;
-          return (off_t) -1;
-    }
-
-    return lseek_default(fd, offset, whence);
+    /* Not implemented for this filetype */
+    errno = ESPIPE;
+    return (off_t) -1;
 }
 
 int fsync(int fd) {
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 15:12:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 15:12:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255880.438818 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Ip7-0004yz-44; Tue, 11 Jan 2022 15:12:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255880.438818; Tue, 11 Jan 2022 15: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 1n7Ip6-0004rz-JQ; Tue, 11 Jan 2022 15:12:32 +0000
Received: by outflank-mailman (input) for mailman id 255880;
 Tue, 11 Jan 2022 15:12:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7Ip1-0002Fw-Dw
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 15:12:27 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ddce9212-72f0-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 16:12:18 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 10C69212CA;
 Tue, 11 Jan 2022 15:12: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 DECFF13DDD;
 Tue, 11 Jan 2022 15:12:17 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 0FpANVGe3WG8AwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 15: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>
X-Inumbo-ID: ddce9212-72f0-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913938; h=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=THtUtk0c0qdaxelPl/C+8VH9LB692eb/zBc/uFOuwwQ=;
	b=vKJEN28JIArVqpWVZTeqYRy4g4OU9gH+pS+WPLnZmfXn4JtfTQnaXR4xV1gx1rOmKlrH7j
	mQBXhesIVlqrukqW5u5OqsQpmcAF9tRbuQ6CqiRH7FtEKMPRc6L0+MF+1ED1KtsJ1BFNpB
	/0SYyHP/lOWL8f4N6KqIurpds9GOLqg=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 06/12] mini-os: use alloc_file_type() and get_file_from_fd() in blkfront
Date: Tue, 11 Jan 2022 16:12:09 +0100
Message-Id: <20220111151215.22955-7-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111151215.22955-1-jgross@suse.com>
References: <20220111151215.22955-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Allocate the file type dynamically via alloc_file_type().

Instead of directly accessing the files[] array use get_file_from_fd().

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 blkfront.c         | 92 ++++++++++++++++++++++++++++++++++------------
 include/blkfront.h |  5 ---
 include/lib.h      |  3 +-
 lib/sys.c          | 24 ------------
 4 files changed, 69 insertions(+), 55 deletions(-)

diff --git a/blkfront.c b/blkfront.c
index e3f42be..b7ea1d7 100644
--- a/blkfront.c
+++ b/blkfront.c
@@ -59,10 +59,10 @@ void blkfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
 {
 #ifdef HAVE_LIBC
     struct blkfront_dev *dev = data;
-    int fd = dev->fd;
+    struct file *file = get_file_from_fd(dev->fd);
 
-    if (fd != -1)
-        files[fd].read = true;
+    if ( file )
+        file->read = true;
 #endif
     wake_up(&blkfront_queue);
 }
@@ -483,9 +483,13 @@ int blkfront_aio_poll(struct blkfront_dev *dev)
 
 moretodo:
 #ifdef HAVE_LIBC
-    if (dev->fd != -1) {
-        files[dev->fd].read = false;
-        mb(); /* Make sure to let the handler set read to 1 before we start looking at the ring */
+    {
+        struct file *file = get_file_from_fd(dev->fd);
+
+        if ( file ) {
+            file->read = false;
+            mb(); /* Make sure to let the handler set read to 1 before we start looking at the ring */
+        }
     }
 #endif
 
@@ -554,22 +558,11 @@ moretodo:
 }
 
 #ifdef HAVE_LIBC
-int blkfront_open(struct blkfront_dev *dev)
-{
-    /* Silently prevent multiple opens */
-    if(dev->fd != -1) {
-       return dev->fd;
-    }
-    dev->fd = alloc_fd(FTYPE_BLK);
-    printk("blk_open(%s) -> %d\n", dev->nodename, dev->fd);
-    files[dev->fd].dev = dev;
-    return dev->fd;
-}
-
-int blkfront_posix_rwop(int fd, uint8_t* buf, size_t count, int write)
+static int blkfront_posix_rwop(int fd, uint8_t* buf, size_t count, int write)
 {
-   struct blkfront_dev* dev = files[fd].dev;
-   off_t offset = files[fd].offset;
+   struct file *file = get_file_from_fd(fd);
+   struct blkfront_dev* dev = file->dev;
+   off_t offset = file->offset;
    struct blkfront_aiocb aiocb;
    unsigned long long disksize = dev->info.sectors * dev->info.sector_size;
    unsigned int blocksize = dev->info.sector_size;
@@ -711,14 +704,25 @@ int blkfront_posix_rwop(int fd, uint8_t* buf, size_t count, int write)
    }
 
    free(copybuf);
-   files[fd].offset += rc;
+   file->offset += rc;
    return rc;
 
 }
 
-int blkfront_posix_fstat(int fd, struct stat* buf)
+static int blkfront_posix_read(int fd, void *buf, size_t nbytes)
+{
+    return blkfront_posix_rwop(fd, buf, nbytes, 0);
+}
+
+static int blkfront_posix_write(int fd, const void *buf, size_t nbytes)
 {
-   struct blkfront_dev* dev = files[fd].dev;
+    return blkfront_posix_rwop(fd, (void *)buf, nbytes, 1);
+}
+
+static int blkfront_posix_fstat(int fd, struct stat *buf)
+{
+   struct file *file = get_file_from_fd(fd);
+   struct blkfront_dev* dev = file->dev;
 
    buf->st_mode = dev->info.mode;
    buf->st_uid = 0;
@@ -728,4 +732,44 @@ int blkfront_posix_fstat(int fd, struct stat* buf)
 
    return 0;
 }
+
+static int blkfront_close_fd(int fd)
+{
+    struct file *file = get_file_from_fd(fd);
+
+    shutdown_blkfront(file->dev);
+
+    return 0;
+}
+
+static struct file_ops blk_ops = {
+    .name = "blk",
+    .read = blkfront_posix_read,
+    .write = blkfront_posix_write,
+    .lseek = lseek_default,
+    .close = blkfront_close_fd,
+    .fstat = blkfront_posix_fstat,
+    .select_rd = select_read_flag,
+};
+
+int blkfront_open(struct blkfront_dev *dev)
+{
+    struct file *file;
+    static unsigned int ftype_blk;
+
+    /* Silently prevent multiple opens */
+    if(dev->fd != -1) {
+       return dev->fd;
+    }
+
+    if ( !ftype_blk )
+        ftype_blk = alloc_file_type(&blk_ops);
+
+    dev->fd = alloc_fd(ftype_blk);
+    printk("blk_open(%s) -> %d\n", dev->nodename, dev->fd);
+    file = get_file_from_fd(dev->fd);
+    file->dev = dev;
+
+    return dev->fd;
+}
 #endif
diff --git a/include/blkfront.h b/include/blkfront.h
index 3528af9..7f84a0a 100644
--- a/include/blkfront.h
+++ b/include/blkfront.h
@@ -28,17 +28,12 @@ struct blkfront_info
 };
 struct blkfront_dev *init_blkfront(char *nodename, struct blkfront_info *info);
 #ifdef HAVE_LIBC
-#include <sys/stat.h>
 /* POSIX IO functions:
  * use blkfront_open() to get a file descriptor to the block device
  * Don't use the other blkfront posix functions here directly, instead use
  * read(), write(), lseek() and fstat() on the file descriptor
  */
 int blkfront_open(struct blkfront_dev *dev);
-int blkfront_posix_rwop(int fd, uint8_t* buf, size_t count, int write);
-#define blkfront_posix_write(fd, buf, count) blkfront_posix_rwop(fd, (uint8_t*)buf, count, 1)
-#define blkfront_posix_read(fd, buf, count) blkfront_posix_rwop(fd, (uint8_t*)buf, count, 0)
-int blkfront_posix_fstat(int fd, struct stat* buf);
 #endif
 void blkfront_aio(struct blkfront_aiocb *aiocbp, int write);
 #define blkfront_aio_read(aiocbp) blkfront_aio(aiocbp, 0)
diff --git a/include/lib.h b/include/lib.h
index f6478de..05f5083 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -164,8 +164,7 @@ void sanity_check(void);
 #define FTYPE_FB         6
 #define FTYPE_KBD        7
 #define FTYPE_TAP        8
-#define FTYPE_BLK        9
-#define FTYPE_N         10
+#define FTYPE_N          9
 #define FTYPE_SPARE     16
 
 typedef int file_read_func(int fd, void *buf, size_t nbytes);
diff --git a/lib/sys.c b/lib/sys.c
index ff6be52..f84fedd 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -337,11 +337,6 @@ int read(int fd, void *buf, size_t nbytes)
 	    }
 	    return ret * sizeof(union xenfb_in_event);
         }
-#endif
-#ifdef CONFIG_BLKFRONT
-        case FTYPE_BLK: {
-	    return blkfront_posix_read(fd, buf, nbytes);
-        }
 #endif
 	default:
 	    break;
@@ -379,10 +374,6 @@ int write(int fd, const void *buf, size_t nbytes)
 	case FTYPE_TAP:
 	    netfront_xmit(files[fd].dev, (void*) buf, nbytes);
 	    return nbytes;
-#endif
-#ifdef CONFIG_BLKFRONT
-	case FTYPE_BLK:
-	    return blkfront_posix_write(fd, buf, nbytes);
 #endif
 	default:
 	    break;
@@ -432,10 +423,6 @@ off_t lseek(int fd, off_t offset, int whence)
         return ops->lseek(fd, offset, whence);
 
     switch(files[fd].type) {
-#ifdef CONFIG_BLKFRONT
-       case FTYPE_BLK:
-          break;
-#endif
        case FTYPE_FILE:
           break;
        default:
@@ -477,11 +464,6 @@ int close(int fd)
 	    shutdown_netfront(files[fd].dev);
             break;
 #endif
-#ifdef CONFIG_BLKFRONT
-	case FTYPE_BLK:
-            shutdown_blkfront(files[fd].dev);
-            break;
-#endif
 #ifdef CONFIG_KBDFRONT
 	case FTYPE_KBD:
             shutdown_kbdfront(files[fd].dev);
@@ -554,10 +536,6 @@ int fstat(int fd, struct stat *buf)
 	    buf->st_ctime = time(NULL);
 	    return 0;
 	}
-#ifdef CONFIG_BLKFRONT
-	case FTYPE_BLK:
-	   return blkfront_posix_fstat(fd, buf);
-#endif
 	default:
 	    break;
     }
@@ -663,7 +641,6 @@ static const char *file_types[] = {
     [FTYPE_CONSOLE] = "console",
     [FTYPE_SOCKET]  = "socket",
     [FTYPE_TAP]     = "net",
-    [FTYPE_BLK]     = "blk",
     [FTYPE_KBD]     = "kbd",
     [FTYPE_FB]      = "fb",
 };
@@ -841,7 +818,6 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
 	    FD_CLR(i, exceptfds);
 	    break;
 	case FTYPE_TAP:
-	case FTYPE_BLK:
 	case FTYPE_KBD:
 	case FTYPE_FB:
 	    if (FD_ISSET(i, readfds)) {
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 15:17:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 15:17:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255894.438850 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Itb-0000YE-A1; Tue, 11 Jan 2022 15:17:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255894.438850; Tue, 11 Jan 2022 15:17:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Itb-0000Y7-6g; Tue, 11 Jan 2022 15:17:11 +0000
Received: by outflank-mailman (input) for mailman id 255894;
 Tue, 11 Jan 2022 15:17:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7Ip7-0002Fw-FX
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 15:12:33 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id de878388-72f0-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 16:12:19 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 466151F3BA;
 Tue, 11 Jan 2022 15:12:19 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 1F80B13DDD;
 Tue, 11 Jan 2022 15:12:19 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 6JqoBlOe3WG8AwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 15:12:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: de878388-72f0-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913939; h=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=cFwpD60ZcJNKwT6VpP/TNivSPE9GLBBs9qy9595IhG4=;
	b=Zl160vCEssZCDKXNooVkVMdF+ZGxizKNsTLHQIHyHoirX1qQQpo57vSIKxqXGstRXLF0FM
	4nabICwSmWFWby2PVJnme7m2SpFZJrFSM/4KnosLnIoyDCWZoToEhmpqN1jLOfs/xTUeqU
	2WRjo1La8bfIpj1bKgVtvaVaq7nswWc=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 12/12] mini-os: make files array private to sys.c
Date: Tue, 11 Jan 2022 16:12:15 +0100
Message-Id: <20220111151215.22955-13-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111151215.22955-1-jgross@suse.com>
References: <20220111151215.22955-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

There is no user of the files[] array outside of lib/sys.c left, so
it can be made static.

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

diff --git a/include/lib.h b/include/lib.h
index c171fe8..80e804b 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -199,8 +199,6 @@ struct file {
     };
 };
 
-extern struct file files[];
-
 struct file *get_file_from_fd(int fd);
 int alloc_fd(unsigned int type);
 void close_all_files(void);
diff --git a/lib/sys.c b/lib/sys.c
index 0f42e97..c0cad87 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -89,7 +89,7 @@ extern void minios_evtchn_close_fd(int fd);
 extern void minios_gnttab_close_fd(int fd);
 
 pthread_mutex_t fd_lock = PTHREAD_MUTEX_INITIALIZER;
-struct file files[NOFILE] = {
+static struct file files[NOFILE] = {
     { .type = FTYPE_CONSOLE }, /* stdin */
     { .type = FTYPE_CONSOLE }, /* stdout */
     { .type = FTYPE_CONSOLE }, /* stderr */
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 15:17:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 15:17:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255895.438860 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Itv-0000zs-Ia; Tue, 11 Jan 2022 15:17:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255895.438860; Tue, 11 Jan 2022 15:17:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Itv-0000zj-F6; Tue, 11 Jan 2022 15:17:31 +0000
Received: by outflank-mailman (input) for mailman id 255895;
 Tue, 11 Jan 2022 15:17:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1Jw/=R3=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n7Itu-0000zO-6D
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 15:17:30 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9531ad7e-72f1-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 16:17:28 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9531ad7e-72f1-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1641914248;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=bWqGpkZCxkmu/YZ2Hp2KCBox9T7QgCxruMpQXOC1OOU=;
  b=ga+JWzAE4QwpoBdasCeDcS2qHphGAGtzyfKHsOlZogU0lDcDgRo3nqT6
   WP6CA/2Qs7rsvADfEqDCCaHLTLKwetI2ZFz8JL08QsNDtpEi7cKkx9Hxx
   nA5zCozKYKPvGHTzCqovzeELlpHJhxU4Tejc4HGFG8KDWVM9Gw2cGnfGg
   I=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: JkbdpoiGavRVpS/5qk59h5h4xXYdsM7+A/BY6qc8UGP/3AEBcGdJ2qiPqJ9vCZkfw3K5rh8Jbf
 yygZCDWqaVhnH5/fdiZgfEfIoVqBRTnyTtksTejU8BwWwm/2nCTK4oAgHbVFSAB2uPsJUaHyba
 dzjk0iF59fDnMUxIFDYEYJG8vhYYCkCikhKsu6Gx3tUGilGE9+JndBDTOXIedzuocmJKpLAcAJ
 8ckczquDIYDylcu0l56aLTw0itn+b7fPSFTIuN5oAjGQrlOAzw+RqEuMI/tx92mTZES80W9oSE
 0DJobKFvEXiDZsDgjZj2/Zz9
X-SBRS: 5.2
X-MesageID: 61748328
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:nDI5hKk/6qCv8orHTTaIwGvo5gxBIERdPkR7XQ2eYbSJt1+Wr1Gzt
 xJKD2/Qaa7eZzH8Ldsna4y/8xhXv5Ddy4dgTQI/pXswRSMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BClVlxJVF/fngqoDUUYYoAQgsA180IMsdoUg7wbRh29cx2YLR7z6l4
 rseneWOYDdJ5BYsWo4kw/rrRMRH5amaVJsw5zTSVNgT1LPsvyB94KE3fMldG0DQUIhMdtNWc
 s6YpF2PEsE1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXee0v0XRYRQR4/ttmHozx+4
 IRxsLW6dTcsBbDBnfU+Dx9SHXF+B6ITrdcrIVDn2SCS50jPcn+qyPRyFkAme4Yf/46bA0kXq
 6ZecmpUKEne2aTmm9pXScE17ignBNPsM44F/Glp0BnSDOo8QICFSKLPjTNd9Glp2ZweRqyOD
 yYfQTtTVUiROQwVAF1UBIIivePruGDzaTIN/Tp5ooJoujOOnWSdyoPFKNPIfvSaSMMTmVyXz
 krE9WnkBhARNPSE1CGItHmrg4fntDnnVYclMay3//9nnnWe3mUWThYRUDOTpv20iVW3Xd5FH
 EUS9jAztqg59EGtTd7VUgWxpTiPuRt0c8BZE/A+rhqMzKXUyw+DAy4PSTspQNYrrtMsTDomk
 FqAhcr0BCdHuaeQD3ma89+8ry62OCUTBX8PY2kDVwRty8nupsQ/gwzCSv5nEbWplZvlFDfo2
 TeIoSMiwbIJgqYj3qO35wqf22qEqZ3ATwpz7QLSNkq76Qd+aJ+gdpaf41HR5vZdL66UVlCE+
 nMDnqC26+QDDoqEkiCXd/kcB7Gi5/uDMzr0jEZmGt8q8DHF02W4YYla7TV6JUFoGsUJYznkZ
 AnUoww52XNIFCL0N+ktOdv3Upl0i/i7fTj4ahzKRotyZ7F7SD+CxzxjYF+zg2bnnhgsq65qb
 P93bv2QJXodDK1myh+/SOEczaIny0gC+I/DeXzo50/5iOTDPRZ5XZ9AaQLTNb5hsMtotS2Iq
 443Ciec9/lIvAQSiAHz+JVbE10FJGNT6Xve+50OLb7rzuaL9Qgc5x7tLVEJJtQNc0d9zL6gE
 pSBtqlwkgGXaZrvc1TiV5ybQOmzNauTVFpiVcDWAX6m2mI4faGk57oFep08cNEPrbI/lK4oF
 6BUI57dWpyjrwgrHRxHNvERS6Q4JXyWaf+mZXL5MFDTgbY9L+A2xjMUVlS2r3RfZsZGncA/v
 6ehxmvmrWkrHGxf4DLtQKv3lTuZ5CFF8MorBhegCoQNJC3ErdY7QwSs3q5fC5xdcn3rm2rFv
 zt69D9F/4EhVadvromQ7U1Fxq/0e9ZD8r1yRDiEve3oZHiDrgJOA+ZoCY61QNwUb0utkI2Kb
 uRJ1fDsdvoBmVdBqY1nFLh3i6k54rPSS3Vyl2yIxV3HMAamDK1OOH6D0ZUdv6FB3OYB6wC3R
 liO6p9RPrDQYJHpF1sYJQwEaOWf1K5LxmmOvKpteEiqtjVq+LenUFlJO0XegiJqM7YoYpgux
 v0suZBK5lXn2AYqKNuPkgtd63+Ici4bS6wiu5xDWN3rhwMnx0tse5vZDiOqspiDZ88VahshI
 yOOhbqEjLNZnxKQf302HHnL/OxcmZVR50wakA5cfwyEw4OXiOU20Rtd9SUMYj5UlhgXgfhuP
 mVLNlFuIfnc9Tlfm8UeDXunHBtMBUPF9xWpmUcJjmDQU2KhSnfJcD8mIe+I8U0UrzBcczxc8
 O3KwWrpS2+3LsT43y90Uk95sf3zC9d281SaysygGs2EGbg8YCbk3fDyNTZZ9UO/DJNjnlDDq
 Mlr4P10OP/yOiMnqqEmD5WXiOYLQxeeKW0eGfxs8cvlx40HlO1eDdRWF32MRw==
IronPort-HdrOrdr: A9a23:sBCr8KykpL0ovjcJvVuBKrPxzuskLtp133Aq2lEZdPULSKOlfp
 GV8MjziyWYtN9wYhAdcdDpAtjmfZr5z+8O3WBxB8bYYOCCggWVxe5ZnOnfKlHbakjDH6tmpN
 pdmstFeaPN5DpB/L/HCWCDer5Kqrn3k5xAx92ut0uFJTsaFJ2IhD0JbDpzfHcGIDWvUvECZe
 ahD4d81nKdUEVSSv7+KmgOXuDFqdGOvJX6YSQeDxpizAWVlzun5JPzDhDdh34lInly6IZn1V
 KAvx3y562lvf3+4hjA11XL55ATvNf60NNMCOGFl8BQADTxjQSDYphnRtS5zXsIidDqzGxvvM
 jHoh8mMcg2w3TNflutqR+o4AXk2CZG0Q6U9XaoxV/Y5eDpTjMzDMRMwahDdAHC1kYmtNZglI
 pWwmOwrfNsfFz9tRW4w+KNewBhl0Kyr3Znu/UUlWZjXYwXb6IUhZAD/XlSDIwLEEvBmcwa+d
 FVfYDhDcttABOnhyizhBgt/DXsZAV/Iv6+eDlNhiTPuAIm3kyQzCMjtbgidzk7hdcAoqJ/lp
 T525JT5cRzp/8tHNNA7dg6MLiK40z2MGTx2TGpUB3a/J9uAQO+l3ew2sRw2N2X
X-IronPort-AV: E=Sophos;i="5.88,279,1635220800"; 
   d="scan'208";a="61748328"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=b5K35ZTvy9Bba30cg6PhodR2ERrpdnzXgilw7YkpERPvTjl1EqnBGTlk40YRmnQTrZ5Zbz89PTLH5cBp7kab3J9/cRfaSgZmJ9kusrwJ4JIujvvFOcSWavwMXCuJB/V9Ak6WsH7pyyR6F3rjaj0K3AFqWEGvRrmWTY3i5FOspvxN0ssG5aTk1jYNNXFdeQ2XNeUifi8vnnHmeL8BstgARl5uSAH1f3Uk/NxHhImru93yCr5dX9c/NnPWROUjHNYVXyk+nvTlan4hkz8iNOXkLl5v2VU8jPvG4lCxTG868q+WTjyaVgtUoaefSRXePNK0hf46wabP01tVdbGK0x5kaQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FcV0lNMIFRVE2hKB1xAYqlr4g5G/7DISIT66BBWMIUA=;
 b=J8MtZrfZgjqU16tCLnS2Cjc3B+ixyPIz/Mve26olwwyYDNk4rhK+Jus6VWsYWBWcdtM/7+Hm8YrP4wm0LwFe+kdPbun0TQxuMXGJSXFT23ID8eNFImKlNL8XAXNi75ib3UoD0xZzJKaLWtMWWaTAbgYztQASfDbjGCM3/IiJyupOQWnz1h9g7PGoMdhS3haLeW78Bes1yfNfpPPm740Q4+3k82dc/JYMA6UGj7CfeQfhDeYcvkq3QZriOQzDGQEGIVxwG5ffOUhbiK9azBuyrdb5OiM1l8Qcnnb2xRqsVjrEYgHA9a/dl2LSIV19EHUzyxNq7zV7xWrTcxg0Fn1SwA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FcV0lNMIFRVE2hKB1xAYqlr4g5G/7DISIT66BBWMIUA=;
 b=pFR0YtPtXu5NVD58MdSCPHn1jH05hMzyQxNz8X3Yd86pc2BUM9r+8ZZLG4ba+9hcXJ5B08uaY8rn+J0jyIltiV34ffHMhAWAKo/W071zcyOFUta/QIzxP+3WYsVEmA03wjdiOATAqzs3oT5ukDanzuBTLaeL2lfjwhCm+UQtDfY=
Date: Tue, 11 Jan 2022 16:17:16 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Oleksandr Andrushchenko <andr2000@gmail.com>
CC: <xen-devel@lists.xenproject.org>, <julien@xen.org>,
	<sstabellini@kernel.org>, <oleksandr_tyshchenko@epam.com>,
	<volodymyr_babchuk@epam.com>, <Artem_Mygaiev@epam.com>, <jbeulich@suse.com>,
	<andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>, <paul@xen.org>,
	<bertrand.marquis@arm.com>, <rahul.singh@arm.com>, Oleksandr Andrushchenko
	<oleksandr_andrushchenko@epam.com>, Ian Jackson <ian.jackson@eu.citrix.com>
Subject: Re: [PATCH v5 03/14] vpci: move lock outside of struct vpci
Message-ID: <Yd2ffPULbmNpSmaD@Air-de-Roger>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-4-andr2000@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20211125110251.2877218-4-andr2000@gmail.com>
X-ClientProxiedBy: FR0P281CA0066.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::12) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ddb8549e-08d6-40e7-a7ba-08d9d51576ad
X-MS-TrafficTypeDiagnostic: DS7PR03MB5575:EE_
X-Microsoft-Antispam-PRVS: <DS7PR03MB55751F97A7C6502D7FDD9C0E8F519@DS7PR03MB5575.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: muCVFmS9bWpnre070nPizU6seZ2qEl8VImyJqJpexQFVuFMi4SxyKbATRs+osRyYmfLEkSADdsAj6msGvaiBy0Jf41QO3aHnHUEcfOFvvJPpVs1e/A0SvPxALrc97sd+Kcq7M6owrpaP0T4MZUb2ozck9X81rNcR37a0TVoHA2bMMU/96d4DM0pKTFkid2NEhhlxY4lDpimYMrrCQ4edVsq5wV+VBlJjmSJKTFK73qTqhBqVSrWxUQIxJ3P3Oc6OBVBgBXnfjPJiJZGzzRT96R63InARemPxDMWzmBHyp82Ybf34EFZI6VxxoDZvrRmvLqimENL3hWTAg3vHzcCJXyVAn2ve1zuiA4dmJH/harzp7SAKYYqCBZhY3HpIa4Jqu2y8UnNWJJIFg4GhFL1VHst8vZuU68y/CyaiynSBG0SV1m2twQ9EluqdOgH6tfehiYXoIlv/qv5HVBSTD1uCOZ8QvI67dgzfLbeQzeEWGRnNVWFRxIdqRatntttd69QYC+49AEImFbGWA6QYqMJOOMgYgoNAoPK4fch9EbdG5fIoQ7YyPjkn/gl59KKNM6gZCapg3TOK12yg44rxCnZaqGz4t4xHR+EqxZAIKWoSfxn4JlDDY6PtwhbMi7jdAXzmk1ByG24UJP+vrVdfR5AQjR4iLOHcvKFlzEiZ2aIRnF4Siawn/tRMfwAtHmCuiA9R
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(5660300002)(9686003)(508600001)(6916009)(6512007)(66476007)(33716001)(316002)(4326008)(66556008)(6486002)(8676002)(66946007)(8936002)(86362001)(107886003)(6666004)(54906003)(38100700002)(186003)(83380400001)(26005)(6506007)(82960400001)(7416002)(85182001)(2906002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bVhhb21NYUcyUVRmZ1dHMGIzV213SitDbjFPSktMUGthSlhydTA5WGdYZWV6?=
 =?utf-8?B?K3FjVUVRUXVGb04wRFp1ajZPZDB5b1Z3S0EwK2s3SnlQUkFKMU0zc2VWTnNn?=
 =?utf-8?B?elNqbnA2V0VhbHFKcXpvc09YMzBtcStSS1d4S1RPWkNKb0o1Ym9IeU5tajJy?=
 =?utf-8?B?dEhsRnJ1Nk1VazkwZjFmN2pVaEFEb3dtUU9HOURSOUVsL3dLaHlXdnFtRHZS?=
 =?utf-8?B?a2VwTXEzbzI2Yy9acExVeUpmeEhKZHdVdmU1UkF1aTg0bnJjQ2dYSW9Sb3cr?=
 =?utf-8?B?TlNOYnJDVThMVm1GWGNNUHJIQVE5dk1pZE1SUUp3Z1pTSkp5M3g5ZHBKbkJ1?=
 =?utf-8?B?cXFTMmk0dTRHVDdBMjBsM1VMYklkUG5ldWx0K3FUS3hobXByNUR3Tkp2c2sy?=
 =?utf-8?B?OW9zQzFhaWcyRk9MWWhvUUpMUEpkeWxpblliakJwNUwxdktJbUNxWnJwSDJ5?=
 =?utf-8?B?NTlwSm5pczBBMXZrOVRicXdjaFoxdWpOaGt3Z3ZQR3dsaWMwdWtKQTNMM2Fn?=
 =?utf-8?B?bVczRVNsWnRvcTY2K3ltYkpZNlBBVUk0WWh6eEN2LzZQeTc0MGkrSEJGNW9N?=
 =?utf-8?B?K0RkdEo1Zjd3YzlYR1U0TmV3TXZBV1pJVzNZWFVXQU9RWFlSQ2ttaWk4VzdP?=
 =?utf-8?B?WVA5SUFqdGRCMm4xakorUVl1ZHJ6aGc3ZnorYnVPSmdIdk9aQ3FpaFNIQmFX?=
 =?utf-8?B?UFdJR0Fsa0pNVnNYZ1Y3Vml2TDk1eml2N0JtdGFCakx5N2ZnT1VpM0gycWJs?=
 =?utf-8?B?bUsrZ1JYU3BsUXllNlVhbzB1YTZjYStCYU1vakoxaXp4SU4vYjVXZ2Y4elNj?=
 =?utf-8?B?aXZtZCtPREZ6cTJEVzV3MFljQUhGY2h0UlgvNWlONURZdlppUDkzMSszM0Ev?=
 =?utf-8?B?dHVKSGl2STNSQ0w5TGoramtTMXJsWGFEMHAySWVNMXh0aWJCWHZnNzVUWHlu?=
 =?utf-8?B?ZVEzTk9CNlBBc2psdzd4K1FhT2JIekIvV1ZybkpxUXpsMHA5dkVYVTFuK2NK?=
 =?utf-8?B?Rlk0QzZtOTczVEkrbTk3bmt0YjlmeHozZnBxcnJqV1NMeCt4ZmJ4NW5abVpO?=
 =?utf-8?B?RDJWcDlra0w4OGhpUFlKZnBXLy9WVUo3Z3orWXJTNlBTb0U3SlhTalVrRUd6?=
 =?utf-8?B?ck41c1lSOUIzUGt5elYvZWZaaWcra2t5dkpjRnZJR0N6a25nYTJGdjRmeWlD?=
 =?utf-8?B?T0kyUkRHOFlSTVMyams2UWxqQUhQWHlzUjNZU1NMNTdEL0t5SExnZ3VJa0lN?=
 =?utf-8?B?S1E2UU84WFlNLzQyZ1BoKzlJNWxUNDM1dllKa0R2eTNWaGo3bldyclp3REVw?=
 =?utf-8?B?YjRlRHhVOTgyeUx1eHo0Vi9MTHR3NXZxckhoWVpqdzhNNHQ5djEwajhWRytY?=
 =?utf-8?B?VEx6MjZLK1N6QUpXMDQ2b1JEWmt6RDYvYmlxb3NaLzVJaTM1ZmM2dU1RSG5w?=
 =?utf-8?B?UVRjTi9Rbkt6SFBia0M5djI4YkJQUExDWTB5U24xZTNDUk1rOWM1Z2VlbVcr?=
 =?utf-8?B?VFFScnYyWEdCUEtId2hOTGJpK3NrMFBwK1RTSlRrd3ZFbzJQOGlMaVFtMzhm?=
 =?utf-8?B?ME4wZVZ6UWM1Q2xicHRqV0NwVUw0T3RDY2cvSWFDYXAvcm5iK1RhTElKN1Za?=
 =?utf-8?B?MS9ld3JQK1FwQ09ZNExwdXpnNmtabEFTOEpXSnV2UXhidHhYWFlUQ3BpNkRM?=
 =?utf-8?B?OTJZVDdCTGhyTUdGaVFWaFo3RGNyRVFoR25FVlQ1b1MveXlRZ1JXTVoycWdz?=
 =?utf-8?B?SXVLRTFwU2JHbGQzSmtCVGNQVmNhNG1vKzErUm0yWVl1SGlieGtYR3NwQ3BM?=
 =?utf-8?B?UWRhVTY3VVVyanFZbW82eFJEQy9ZaVhydjR4bTNTWEtWSjRFeUE2bG1MV3dG?=
 =?utf-8?B?RkNmTXF2eHNtUFVHRytrUnpSSlpCZkFLMURNWXhCMVR0TnpwbFhCMjZsbHFG?=
 =?utf-8?B?Y2JKa2pmWXRoVW1NclB5Q2Vxc0ljbTAxdlVnNG1Nei9JaWNMY3Fxb0VMN2lN?=
 =?utf-8?B?czJSMmJrUEM0RzdOZGxkbTBiZW02QWV6OE4rVDlkQnhpT3JhQzN5MUtGb3g1?=
 =?utf-8?B?b09Uclk2MTh1aUNqSlJwWjBXNFhoMEFMTFFoYllWeHVZamtFRExlNHd5citW?=
 =?utf-8?B?RFJXRlVKNWlwRXdsZDJ0MG9nNk1NUm1jRXNSNXdjZ2s0WE5ZQjgzcGpJYU80?=
 =?utf-8?Q?92BYh5ww7B5LRh0atCyBHu0=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: ddb8549e-08d6-40e7-a7ba-08d9d51576ad
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2022 15:17:22.4569
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: E3BFOWxTuFnTEdrzullmaYByTiL+hr31MbsVKghzZiF7sKQ84L4lyQvW3bktjcFlU2hY3G2MXnMDVeJV19Ih8g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5575
X-OriginatorOrg: citrix.com

On Thu, Nov 25, 2021 at 01:02:40PM +0200, Oleksandr Andrushchenko wrote:
> diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
> index 657697fe3406..ceaac4516ff8 100644
> --- a/xen/drivers/vpci/vpci.c
> +++ b/xen/drivers/vpci/vpci.c
> @@ -35,12 +35,10 @@ extern vpci_register_init_t *const __start_vpci_array[];
>  extern vpci_register_init_t *const __end_vpci_array[];
>  #define NUM_VPCI_INIT (__end_vpci_array - __start_vpci_array)
>  
> -void vpci_remove_device(struct pci_dev *pdev)
> +static void vpci_remove_device_handlers_locked(struct pci_dev *pdev)
>  {
> -    if ( !has_vpci(pdev->domain) )
> -        return;
> +    ASSERT(spin_is_locked(&pdev->vpci_lock));
>  
> -    spin_lock(&pdev->vpci->lock);
>      while ( !list_empty(&pdev->vpci->handlers) )
>      {
>          struct vpci_register *r = list_first_entry(&pdev->vpci->handlers,
> @@ -50,15 +48,33 @@ void vpci_remove_device(struct pci_dev *pdev)
>          list_del(&r->node);
>          xfree(r);
>      }
> -    spin_unlock(&pdev->vpci->lock);
> +}
> +
> +void vpci_remove_device_locked(struct pci_dev *pdev)

I think this could be static instead, as it's only used by
vpci_remove_device and vpci_add_handlers which are local to the
file.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 15:20:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 15:20:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255905.438894 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7IwT-00035h-HU; Tue, 11 Jan 2022 15:20:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255905.438894; Tue, 11 Jan 2022 15:20:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7IwT-00035a-EC; Tue, 11 Jan 2022 15:20:09 +0000
Received: by outflank-mailman (input) for mailman id 255905;
 Tue, 11 Jan 2022 15:20:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7Ip5-0002Fw-FD
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 15:12:31 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id de4d45f5-72f0-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 16:12:19 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id DBC7B1F3B8;
 Tue, 11 Jan 2022 15:12: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 B2E1813DDD;
 Tue, 11 Jan 2022 15:12:18 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id SOJ9KlKe3WG8AwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 15:12:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: de4d45f5-72f0-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913938; h=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=/J7Pbzy4bEMLs1Zfn02zqrQKoe12Kbt0uIHiCf5rrSk=;
	b=jRefBonpoL7Y3znlLNWa9M4TFpzlRZgE9MInSr2UJlJjav+cOsfGIENNqmwfxbIwkiCE0f
	grByPAHUcFc8WpgtefmOUQnilaHoq3aZTTO/yd163GJ7UfkwpckSX0VxO6mgoSJ/mNwO0A
	b4Tc4nZMc0y/ZgNUEgjRMXOdYxelxYU=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 10/12] mini-os: add struct file_ops for file type socket
Date: Tue, 11 Jan 2022 16:12:13 +0100
Message-Id: <20220111151215.22955-11-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111151215.22955-1-jgross@suse.com>
References: <20220111151215.22955-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Even with some special handling needed in select_poll(), add a struct
file_ops for FTYPE_SOCKET. Due to the need of the special handling it
isn't possible to use a dynamically allocated file type.

Most functions calling the file_ops methods can be simplified a lot now
that no file type specific handling is left. Same applies to the file
type name printing in debug/verbose mode.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 lib/sys.c | 153 +++++++++++++++++++++++++-----------------------------
 1 file changed, 70 insertions(+), 83 deletions(-)

diff --git a/lib/sys.c b/lib/sys.c
index 3a8aa68..12deaed 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -99,11 +99,70 @@ static struct file_ops file_ops_none = {
     .name = "none",
 };
 
+#ifdef HAVE_LWIP
+static int socket_read(int fd, void *buf, size_t nbytes)
+{
+    return lwip_read(fd, buf, nbytes);
+}
+
+static int socket_write(int fd, const void *buf, size_t nbytes)
+{
+    return lwip_write(fd, (void *)buf, nbytes);
+}
+
+static int close_socket_fd(int fd)
+{
+    struct file *file = get_file_from_fd(fd);
+
+    return lwip_close(file->fd);
+}
+
+static int socket_fstat(int fd, struct stat *buf)
+{
+    buf->st_mode = S_IFSOCK | S_IRUSR | S_IWUSR;
+    buf->st_atime = buf->st_mtime = buf->st_ctime = time(NULL);
+
+    return 0;
+}
+
+static int socket_fcntl(int fd, int cmd, va_list args)
+{
+    long arg;
+    struct file *file = get_file_from_fd(fd);
+
+    arg = va_arg(args, long);
+
+    if ( cmd == F_SETFL && !(arg & ~O_NONBLOCK) )
+    {
+        /* Only flag supported: non-blocking mode */
+        uint32_t nblock = !!(arg & O_NONBLOCK);
+
+        return lwip_ioctl(file->fd, FIONBIO, &nblock);
+    }
+
+    printk("fcntl(%d, %d, %lx/%lo)\n", fd, cmd, arg, arg);
+    errno = ENOSYS;
+    return -1;
+}
+
+static struct file_ops socket_ops = {
+    .name = "socket",
+    .read = socket_read,
+    .write = socket_write,
+    .close = close_socket_fd,
+    .fstat = socket_fstat,
+    .fcntl = socket_fcntl,
+};
+#endif
+
 static struct file_ops *file_ops[FTYPE_N + FTYPE_SPARE] = {
     [FTYPE_NONE] = &file_ops_none,
 #ifdef CONFIG_CONSFRONT
     [FTYPE_CONSOLE] = &console_ops,
 #endif
+#ifdef HAVE_LWIP
+    [FTYPE_SOCKET] = &socket_ops,
+#endif
 };
 
 unsigned int alloc_file_type(struct file_ops *ops)
@@ -282,14 +341,6 @@ int read(int fd, void *buf, size_t nbytes)
     if ( ops->read )
         return ops->read(fd, buf, nbytes);
 
-    switch (files[fd].type) {
-#ifdef HAVE_LWIP
-	case FTYPE_SOCKET:
-	    return lwip_read(files[fd].fd, buf, nbytes);
-#endif
-	default:
-	    break;
-    }
     printk("read(%d): Bad descriptor\n", fd);
     errno = EBADF;
     return -1;
@@ -302,14 +353,6 @@ int write(int fd, const void *buf, size_t nbytes)
     if ( ops->write )
         return ops->write(fd, buf, nbytes);
 
-    switch (files[fd].type) {
-#ifdef HAVE_LWIP
-	case FTYPE_SOCKET:
-	    return lwip_write(files[fd].fd, (void*) buf, nbytes);
-#endif
-	default:
-	    break;
-    }
     printk("write(%d): Bad descriptor\n", fd);
     errno = EBADF;
     return -1;
@@ -378,26 +421,14 @@ int close(int fd)
 
     printk("close(%d)\n", fd);
     if ( ops->close )
-    {
         res = ops->close(fd);
-        goto out;
-    }
-
-    switch (files[fd].type) {
-        default:
-            break;
-#ifdef HAVE_LWIP
-	case FTYPE_SOCKET:
-	    res = lwip_close(files[fd].fd);
-            break;
-#endif
-	case FTYPE_NONE:
-            printk("close(%d): Bad descriptor\n", fd);
-            errno = EBADF;
-            return -1;
+    else if ( files[fd].type == FTYPE_NONE )
+    {
+        printk("close(%d): Bad descriptor\n", fd);
+        errno = EBADF;
+        return -1;
     }
 
- out:
     memset(files + fd, 0, sizeof(struct file));
     files[fd].type = FTYPE_NONE;
     return res;
@@ -429,21 +460,6 @@ int fstat(int fd, struct stat *buf)
     if ( ops->fstat )
         return ops->fstat(fd, buf);
 
-    switch (files[fd].type) {
-	case FTYPE_SOCKET: {
-            buf->st_mode = S_IFSOCK|S_IRUSR|S_IWUSR;
-	    buf->st_uid = 0;
-	    buf->st_gid = 0;
-	    buf->st_size = 0;
-	    buf->st_atime = 
-	    buf->st_mtime = 
-	    buf->st_ctime = time(NULL);
-	    return 0;
-	}
-	default:
-	    break;
-    }
-
     printk("statf(%d): Bad descriptor\n", fd);
     errno = EBADF;
     return -1;
@@ -491,21 +507,9 @@ int fcntl(int fd, int cmd, ...)
     arg = va_arg(ap, long);
     va_end(ap);
 
-    switch (cmd) {
-#ifdef HAVE_LWIP
-	case F_SETFL:
-	    if (files[fd].type == FTYPE_SOCKET && !(arg & ~O_NONBLOCK)) {
-		/* Only flag supported: non-blocking mode */
-		uint32_t nblock = !!(arg & O_NONBLOCK);
-		return lwip_ioctl(files[fd].fd, FIONBIO, &nblock);
-	    }
-	    /* Fallthrough */
-#endif
-	default:
-	    printk("fcntl(%d, %d, %lx/%lo)\n", fd, cmd, arg, arg);
-	    errno = ENOSYS;
-	    return -1;
-    }
+    printk("fcntl(%d, %d, %lx/%lo)\n", fd, cmd, arg, arg);
+    errno = ENOSYS;
+    return -1;
 }
 
 DIR *opendir(const char *name)
@@ -539,23 +543,6 @@ int closedir(DIR *dir)
 
 /* We assume that only the main thread calls select(). */
 
-#if defined(LIBC_DEBUG) || defined(LIBC_VERBOSE)
-static const char *file_types[] = {
-    [FTYPE_NONE]    = "none",
-    [FTYPE_SOCKET]  = "socket",
-};
-
-static char *get_type_name(unsigned int type)
-{
-    if ( type < ARRAY_SIZE(file_ops) && file_ops[type] )
-        return file_ops[type]->name;
-
-    if ( type < ARRAY_SIZE(file_types) && file_types[type] )
-        return file_types[type];
-
-    return "none";
-}
-#endif
 #ifdef LIBC_DEBUG
 static void dump_set(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout)
 {
@@ -566,7 +553,7 @@ static void dump_set(int nfds, fd_set *readfds, fd_set *writefds, fd_set *except
 	if (FD_ISSET(i, set)) { \
 	    if (comma) \
 		printk(", "); \
-	    printk("%d(%s)", i, get_type_name(files[i].type)); \
+	    printk("%d(%s)", i, get_file_ops(files[i].type)->name); \
 	    comma = 1; \
 	} \
     } \
@@ -600,7 +587,7 @@ static void dump_pollfds(struct pollfd *pfd, int nfds, int timeout)
         fd = pfd[i].fd;
         if (comma)
             printk(", ");
-        printk("%d(%s)/%02x", fd, get_type_name(files[fd].type),
+        printk("%d(%s)/%02x", fd, get_file_ops(files[fd].type)->name,
             pfd[i].events);
             comma = 1;
     }
@@ -754,7 +741,7 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
 	printk("%d(%d): ", nb, sock_n);
 	for (i = 0; i < nfds; i++) {
 	    if (nbread[i] || nbwrite[i] || nbexcept[i])
-		printk(" %d(%c):", i, get_type_name(files[i].type));
+		printk(" %d(%c):", i, get_file_ops(files[i].type)->name);
 	    if (nbread[i])
 	    	printk(" %dR", nbread[i]);
 	    if (nbwrite[i])
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 15:20:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 15:20:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255906.438905 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7IwZ-0003QX-RL; Tue, 11 Jan 2022 15:20:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255906.438905; Tue, 11 Jan 2022 15:20:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7IwZ-0003QQ-NK; Tue, 11 Jan 2022 15:20:15 +0000
Received: by outflank-mailman (input) for mailman id 255906;
 Tue, 11 Jan 2022 15:20:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7Ip3-0002Fw-EO
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 15:12:29 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id de12afa8-72f0-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 16:12:18 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 7E4B521112;
 Tue, 11 Jan 2022 15:12: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 46D881404B;
 Tue, 11 Jan 2022 15:12:18 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id oA8dEFKe3WG8AwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 15:12:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: de12afa8-72f0-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641913938; h=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=5MnAj8jgvGSVnTnQHkjtzzsrohe+jN87xvuOdqS22Ok=;
	b=KcLdTKRrhcktZcEEJ6Esn2gpSF88MuhbhNCD6QM3AustEX6MZ7SEVx4suCWZ3nVunF2TwJ
	lxSkdKdsjnuM5NTc9Zgmuhr9S0Rhgc05Q5hLhJr7xTTLOyvHJNM6p5tOqwd8dtMKnbXjwr
	/ARKUb/i+ujsZCsXg4NZTT7DQITZ2YM=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 08/12] mini-os: use alloc_file_type() and get_file_from_fd() in fbfront
Date: Tue, 11 Jan 2022 16:12:11 +0100
Message-Id: <20220111151215.22955-9-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111151215.22955-1-jgross@suse.com>
References: <20220111151215.22955-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Allocate file types dynamically via alloc_file_type().

Instead of directly accessing the files[] array use get_file_from_fd().

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 fbfront.c     | 125 ++++++++++++++++++++++++++++++++++++++++++--------
 include/lib.h |   4 +-
 lib/sys.c     |  47 -------------------
 3 files changed, 106 insertions(+), 70 deletions(-)

diff --git a/fbfront.c b/fbfront.c
index 1e055fb..9c96963 100644
--- a/fbfront.c
+++ b/fbfront.c
@@ -14,6 +14,9 @@
 #include <mini-os/xmalloc.h>
 #include <mini-os/fbfront.h>
 #include <mini-os/lib.h>
+#ifdef HAVE_LIBC
+#include <errno.h>
+#endif
 
 DECLARE_WAIT_QUEUE_HEAD(kbdfront_queue);
 
@@ -42,10 +45,10 @@ void kbdfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
 {
 #ifdef HAVE_LIBC
     struct kbdfront_dev *dev = data;
-    int fd = dev->fd;
+    struct file *file = get_file_from_fd(dev->fd);
 
-    if (fd != -1)
-        files[fd].read = true;
+    if ( file )
+        file->read = true;
 #endif
     wake_up(&kbdfront_queue);
 }
@@ -204,10 +207,12 @@ int kbdfront_receive(struct kbdfront_dev *dev, union xenkbd_in_event *buf, int n
     struct xenkbd_page *page = dev->page;
     uint32_t prod, cons;
     int i;
-
 #ifdef HAVE_LIBC
-    if (dev->fd != -1) {
-        files[dev->fd].read = false;
+    struct file *file = get_file_from_fd(dev->fd);
+
+    if ( file )
+    {
+        file->read = false;
         mb(); /* Make sure to let the handler set read to 1 before we start looking at the ring */
     }
 #endif
@@ -227,9 +232,9 @@ int kbdfront_receive(struct kbdfront_dev *dev, union xenkbd_in_event *buf, int n
     notify_remote_via_evtchn(dev->evtchn);
 
 #ifdef HAVE_LIBC
-    if (cons != prod && dev->fd != -1)
+    if ( cons != prod && file )
         /* still some events to read */
-        files[dev->fd].read = true;
+        file->read = true;
 #endif
 
     return i;
@@ -298,11 +303,50 @@ close_kbdfront:
 }
 
 #ifdef HAVE_LIBC
+static int kbd_read(int fd, void *buf, size_t nbytes)
+{
+    struct file *file = get_file_from_fd(fd);
+    int ret, n;
+
+    n = nbytes / sizeof(union xenkbd_in_event);
+    ret = kbdfront_receive(file->dev, buf, n);
+    if ( ret <= 0 )
+    {
+        errno = EAGAIN;
+        return -1;
+    }
+
+    return ret * sizeof(union xenkbd_in_event);
+}
+
+static int kbd_close_fd(int fd)
+{
+    struct file *file = get_file_from_fd(fd);
+
+    shutdown_kbdfront(file->dev);
+
+    return 0;
+}
+
+static struct file_ops kbd_ops = {
+    .name = "kbd",
+    .read = kbd_read,
+    .close = kbd_close_fd,
+    .select_rd = select_read_flag,
+};
+
 int kbdfront_open(struct kbdfront_dev *dev)
 {
-    dev->fd = alloc_fd(FTYPE_KBD);
+    struct file *file;
+    static unsigned int ftype_kbd;
+
+    if ( !ftype_kbd )
+        ftype_kbd = alloc_file_type(&kbd_ops);
+
+    dev->fd = alloc_fd(ftype_kbd);
     printk("kbd_open(%s) -> %d\n", dev->nodename, dev->fd);
-    files[dev->fd].dev = dev;
+    file = get_file_from_fd(dev->fd);
+    file->dev = dev;
     return dev->fd;
 }
 #endif
@@ -346,10 +390,10 @@ void fbfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
 {
 #ifdef HAVE_LIBC
     struct fbfront_dev *dev = data;
-    int fd = dev->fd;
+    struct file *file = get_file_from_fd(dev->fd);
 
-    if (fd != -1)
-        files[fd].read = true;
+    if ( file )
+        file->read = true;
 #endif
     wake_up(&fbfront_queue);
 }
@@ -373,10 +417,12 @@ int fbfront_receive(struct fbfront_dev *dev, union xenfb_in_event *buf, int n)
     struct xenfb_page *page = dev->page;
     uint32_t prod, cons;
     int i;
-
 #ifdef HAVE_LIBC
-    if (dev->fd != -1) {
-        files[dev->fd].read = false;
+    struct file *file = get_file_from_fd(dev->fd);
+
+    if ( file )
+    {
+        file->read = false;
         mb(); /* Make sure to let the handler set read to 1 before we start looking at the ring */
     }
 #endif
@@ -396,9 +442,9 @@ int fbfront_receive(struct fbfront_dev *dev, union xenfb_in_event *buf, int n)
     notify_remote_via_evtchn(dev->evtchn);
 
 #ifdef HAVE_LIBC
-    if (cons != prod && dev->fd != -1)
+    if ( cons != prod && file )
         /* still some events to read */
-        files[dev->fd].read = true;
+        file->read = true;
 #endif
 
     return i;
@@ -699,11 +745,50 @@ close_fbfront:
 }
 
 #ifdef HAVE_LIBC
+static int fbfront_read(int fd, void *buf, size_t nbytes)
+{
+    struct file *file = get_file_from_fd(fd);
+    int ret, n;
+
+    n = nbytes / sizeof(union xenfb_in_event);
+    ret = fbfront_receive(file->dev, buf, n);
+    if ( ret <= 0 )
+    {
+        errno = EAGAIN;
+        return -1;
+    }
+
+    return ret * sizeof(union xenfb_in_event);
+}
+
+static int fbfront_close_fd(int fd)
+{
+    struct file *file = get_file_from_fd(fd);
+
+    shutdown_fbfront(file->dev);
+
+    return 0;
+}
+
+static struct file_ops fb_ops = {
+    .name = ".fb",
+    .read = fbfront_read,
+    .close = fbfront_close_fd,
+    .select_rd = select_read_flag,
+};
+
 int fbfront_open(struct fbfront_dev *dev)
 {
-    dev->fd = alloc_fd(FTYPE_FB);
+    struct file *file;
+    static unsigned int ftype_fb;
+
+    if ( !ftype_fb )
+        ftype_fb = alloc_file_type(&fb_ops);
+
+    dev->fd = alloc_fd(ftype_fb);
     printk("fb_open(%s) -> %d\n", dev->nodename, dev->fd);
-    files[dev->fd].dev = dev;
+    file = get_file_from_fd(dev->fd);
+    file->dev = dev;
     return dev->fd;
 }
 #endif
diff --git a/include/lib.h b/include/lib.h
index aa8036e..653a16e 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -161,9 +161,7 @@ void sanity_check(void);
 #define FTYPE_SOCKET     3
 #define FTYPE_MEM        4
 #define FTYPE_SAVEFILE   5
-#define FTYPE_FB         6
-#define FTYPE_KBD        7
-#define FTYPE_N          8
+#define FTYPE_N          6
 #define FTYPE_SPARE     16
 
 typedef int file_read_func(int fd, void *buf, size_t nbytes);
diff --git a/lib/sys.c b/lib/sys.c
index 7f2e11f..4fb844f 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -302,30 +302,6 @@ int read(int fd, void *buf, size_t nbytes)
 #ifdef HAVE_LWIP
 	case FTYPE_SOCKET:
 	    return lwip_read(files[fd].fd, buf, nbytes);
-#endif
-#ifdef CONFIG_KBDFRONT
-        case FTYPE_KBD: {
-            int ret, n;
-            n = nbytes / sizeof(union xenkbd_in_event);
-            ret = kbdfront_receive(files[fd].dev, buf, n);
-	    if (ret <= 0) {
-		errno = EAGAIN;
-		return -1;
-	    }
-	    return ret * sizeof(union xenkbd_in_event);
-        }
-#endif
-#ifdef CONFIG_FBFRONT
-        case FTYPE_FB: {
-            int ret, n;
-            n = nbytes / sizeof(union xenfb_in_event);
-            ret = fbfront_receive(files[fd].dev, buf, n);
-	    if (ret <= 0) {
-		errno = EAGAIN;
-		return -1;
-	    }
-	    return ret * sizeof(union xenfb_in_event);
-        }
 #endif
 	default:
 	    break;
@@ -443,16 +419,6 @@ int close(int fd)
 	    res = lwip_close(files[fd].fd);
             break;
 #endif
-#ifdef CONFIG_KBDFRONT
-	case FTYPE_KBD:
-            shutdown_kbdfront(files[fd].dev);
-            break;
-#endif
-#ifdef CONFIG_FBFRONT
-	case FTYPE_FB:
-            shutdown_fbfront(files[fd].dev);
-            break;
-#endif
 #ifdef CONFIG_CONSFRONT
         case FTYPE_SAVEFILE:
         case FTYPE_CONSOLE:
@@ -619,8 +585,6 @@ static const char *file_types[] = {
     [FTYPE_NONE]    = "none",
     [FTYPE_CONSOLE] = "console",
     [FTYPE_SOCKET]  = "socket",
-    [FTYPE_KBD]     = "kbd",
-    [FTYPE_FB]      = "fb",
 };
 
 static char *get_type_name(unsigned int type)
@@ -795,17 +759,6 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
                 n++;
 	    FD_CLR(i, exceptfds);
 	    break;
-	case FTYPE_KBD:
-	case FTYPE_FB:
-	    if (FD_ISSET(i, readfds)) {
-		if (files[i].read)
-		    n++;
-		else
-		    FD_CLR(i, readfds);
-	    }
-	    FD_CLR(i, writefds);
-	    FD_CLR(i, exceptfds);
-	    break;
 #ifdef HAVE_LWIP
 	case FTYPE_SOCKET:
 	    if (FD_ISSET(i, readfds)) {
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 15:28:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 15:28:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255939.438924 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7J4t-0005Go-Qb; Tue, 11 Jan 2022 15:28:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255939.438924; Tue, 11 Jan 2022 15:28:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7J4t-0005Gh-NU; Tue, 11 Jan 2022 15:28:51 +0000
Received: by outflank-mailman (input) for mailman id 255939;
 Tue, 11 Jan 2022 15:28:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZoZL=R3=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n7J4s-0005GU-9g
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 15:28:50 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2b487324-72f3-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 16:28:47 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 96F1B6E6;
 Tue, 11 Jan 2022 16:28:46 +0100 (CET)
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 YXgaV6rWjL-c; Tue, 11 Jan 2022 16:28:46 +0100 (CET)
Received: from begin.home (unknown
 [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id E7D111D7;
 Tue, 11 Jan 2022 16:28:45 +0100 (CET)
Received: from samy by begin.home with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n7J4m-00EYY4-N8;
 Tue, 11 Jan 2022 16:28:44 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2b487324-72f3-11ec-81c1-a30af7de8005
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Tue, 11 Jan 2022 16:28:44 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v2 16/18] mini-os: reset file type in close() in one
 place only
Message-ID: <20220111152844.4hrbw6bnxlk3thrt@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: <20220111145817.22170-1-jgross@suse.com>
 <20220111145817.22170-17-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20220111145817.22170-17-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 96F1B6E6
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le mar. 11 janv. 2022 15:58:15 +0100, a ecrit:
> Today the file type in struct file is set to FTYPE_NONE for each
> file type individually. Do that at the end of close() handling for
> all types.
> 
> While at it wipe the complete struct file, too, in order to avoid
> old data creeping into a new allocated struct file.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

Thanks!

> ---
> V2:
> - new patch
> ---
>  lib/sys.c | 53 ++++++++++++++++++++++++-----------------------------
>  lib/xs.c  |  1 -
>  2 files changed, 24 insertions(+), 30 deletions(-)
> 
> diff --git a/lib/sys.c b/lib/sys.c
> index 0e6fe5d..323a7cd 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -424,87 +424,82 @@ int fsync(int fd) {
>  
>  int close(int fd)
>  {
> +    int res = 0;
> +
>      printk("close(%d)\n", fd);
>      switch (files[fd].type) {
>          default:
> -	    files[fd].type = FTYPE_NONE;
> -	    return 0;
> +            break;
>  #ifdef CONFIG_XENBUS
>  	case FTYPE_XENBUS:
>              xs_daemon_close((void*)(intptr_t) fd);
> -            return 0;
> +            break;
>  #endif
>  #ifdef HAVE_LWIP
> -	case FTYPE_SOCKET: {
> -	    int res = lwip_close(files[fd].fd);
> -	    files[fd].type = FTYPE_NONE;
> -	    return res;
> -	}
> +	case FTYPE_SOCKET:
> +	    res = lwip_close(files[fd].fd);
> +            break;
>  #endif
>  #ifdef CONFIG_LIBXENCTRL
>  	case FTYPE_XC:
>  	    minios_interface_close_fd(fd);
> -	    return 0;
> +            break;
>  #endif
>  #ifdef CONFIG_LIBXENEVTCHN
>  	case FTYPE_EVTCHN:
>  	    minios_evtchn_close_fd(fd);
> -            return 0;
> +            break;
>  #endif
>  #ifdef CONFIG_LIBXENGNTTAB
>  	case FTYPE_GNTMAP:
>  	    minios_gnttab_close_fd(fd);
> -	    return 0;
> +            break;
>  #endif
>  #ifdef CONFIG_NETFRONT
>  	case FTYPE_TAP:
>  	    shutdown_netfront(files[fd].dev);
> -	    files[fd].type = FTYPE_NONE;
> -	    return 0;
> +            break;
>  #endif
>  #ifdef CONFIG_BLKFRONT
>  	case FTYPE_BLK:
>              shutdown_blkfront(files[fd].dev);
> -	    files[fd].type = FTYPE_NONE;
> -	    return 0;
> +            break;
>  #endif
>  #ifdef CONFIG_TPMFRONT
>  	case FTYPE_TPMFRONT:
>              shutdown_tpmfront(files[fd].dev);
> -	    files[fd].type = FTYPE_NONE;
> -	    return 0;
> +            break;
>  #endif
>  #ifdef CONFIG_TPM_TIS
>  	case FTYPE_TPM_TIS:
>              shutdown_tpm_tis(files[fd].dev);
> -	    files[fd].type = FTYPE_NONE;
> -	    return 0;
> +            break;
>  #endif
>  #ifdef CONFIG_KBDFRONT
>  	case FTYPE_KBD:
>              shutdown_kbdfront(files[fd].dev);
> -            files[fd].type = FTYPE_NONE;
> -            return 0;
> +            break;
>  #endif
>  #ifdef CONFIG_FBFRONT
>  	case FTYPE_FB:
>              shutdown_fbfront(files[fd].dev);
> -            files[fd].type = FTYPE_NONE;
> -            return 0;
> +            break;
>  #endif
>  #ifdef CONFIG_CONSFRONT
>          case FTYPE_SAVEFILE:
>          case FTYPE_CONSOLE:
>              fini_consfront(files[fd].dev);
> -            files[fd].type = FTYPE_NONE;
> -            return 0;
> +            break;
>  #endif
>  	case FTYPE_NONE:
> -	    break;
> +            printk("close(%d): Bad descriptor\n", fd);
> +            errno = EBADF;
> +            return -1;
>      }
> -    printk("close(%d): Bad descriptor\n", fd);
> -    errno = EBADF;
> -    return -1;
> +
> +    memset(files + fd, 0, sizeof(struct file));
> +    files[fd].type = FTYPE_NONE;
> +    return res;
>  }
>  
>  static void init_stat(struct stat *buf)
> diff --git a/lib/xs.c b/lib/xs.c
> index 0459f52..4af0f96 100644
> --- a/lib/xs.c
> +++ b/lib/xs.c
> @@ -35,7 +35,6 @@ void xs_daemon_close(struct xs_handle *h)
>          next = event->next;
>          free(event);
>      }
> -    files[fd].type = FTYPE_NONE;
>  }
>  
>  int xs_fileno(struct xs_handle *h)
> -- 
> 2.26.2
> 

-- 
Samuel
Pour un père, autant mourir que de faire plein de calculs et pas s'occuper
de son fils
 -+- y sur #ens-mim - sombres histoires de zombies -+-


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 16:18:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 16:18:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255955.438949 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Jr0-0002fE-2l; Tue, 11 Jan 2022 16:18:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255955.438949; Tue, 11 Jan 2022 16:18:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Jqz-0002cu-U4; Tue, 11 Jan 2022 16:18:33 +0000
Received: by outflank-mailman (input) for mailman id 255955;
 Tue, 11 Jan 2022 16:18:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7Jqy-0002Xe-Ty
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 16:18:32 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1d418c98-72fa-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 17:18:30 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id C66631F3B8;
 Tue, 11 Jan 2022 16:18:29 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 97FC713AF0;
 Tue, 11 Jan 2022 16:18:29 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 14vSI9Wt3WHnKgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 16:18:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1d418c98-72fa-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641917909; h=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=Z8zl9pmR2oXaoRrVITtJfZTtu2lKhA2i7qZp2ikx5bg=;
	b=mDA0LQduQJccu0QlFBaS6etHb107qF+kiG7ht1UGiRX0LEPBDBCyuJdCWhFAMjbYuNYve+
	KBwNW5Ar3QRcC3m2+9VPoRddiM2a3mpAsCYPGKkgLpwoTe+jogjirvMmGjXzc8hPPKEdXN
	0mo0wp/hWyTQIwuuCr4PVNQtYptURA0=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 0/2] tools/libs: final cleanup making mini-os callbacks static
Date: Tue, 11 Jan 2022 17:18:25 +0100
Message-Id: <20220111161827.8982-1-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This is a final patch series making the callbacks static now referenced
by the file_ops vector only.

Note that this series depends on the related Mini-OS series to have
gone in:

https://lists.xen.org/archives/html/xen-devel/2022-01/threads.html#00369

Juergen Gross (2):
  tools/libs/evtchn: make mini-os specific callback static
  tools/libs/gnttab: make mini-os specific callback static

 tools/libs/evtchn/minios.c | 4 +---
 tools/libs/gnttab/minios.c | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 16:18:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 16:18:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255954.438942 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Jqz-0002Y5-K7; Tue, 11 Jan 2022 16:18:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255954.438942; Tue, 11 Jan 2022 16:18:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Jqz-0002Xx-Gq; Tue, 11 Jan 2022 16:18:33 +0000
Received: by outflank-mailman (input) for mailman id 255954;
 Tue, 11 Jan 2022 16:18:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7Jqx-0002Xi-TR
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 16:18:31 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1d5583af-72fa-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 17:18:30 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id EEFF01F3BA;
 Tue, 11 Jan 2022 16:18:29 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id CCB8613AF0;
 Tue, 11 Jan 2022 16:18:29 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id KKe+MNWt3WHnKgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 16:18:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1d5583af-72fa-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641917909; h=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=uZ18grHw30dUH3BLs3eIcU1wR57IJVuCHAfGp2N6WvE=;
	b=FZfdqnGQIQGydf9tUo7Tg6r0qiyOYlTfpo47Z2neO/8pvhh+XLkqYq4vxabJaGBwT3PcvB
	YQ8t4LQ58+PYDQ0QQILv2VX4aY+VVc9KPPvY4hrrMPC+2zow9DA3Rwu1voj/CI9NvQ6P9O
	OoXZtP/VjDX6yl25UehINtsXuSxt0yU=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 1/2] tools/libs/evtchn: make mini-os specific callback static
Date: Tue, 11 Jan 2022 17:18:26 +0100
Message-Id: <20220111161827.8982-2-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111161827.8982-1-jgross@suse.com>
References: <20220111161827.8982-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

It is possible now to make the callback for Mini-OS static, as it is
only referenced via the file_ops vector.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/libs/evtchn/minios.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/tools/libs/evtchn/minios.c b/tools/libs/evtchn/minios.c
index c3a5ce3b98..b495362f6b 100644
--- a/tools/libs/evtchn/minios.c
+++ b/tools/libs/evtchn/minios.c
@@ -49,8 +49,6 @@ struct port_info {
 
 extern struct wait_queue_head event_queue;
 
-int minios_evtchn_close_fd(int fd);
-
 /* XXX Note: This is not threadsafe */
 static struct port_info *port_alloc(xenevtchn_handle *xce)
 {
@@ -80,7 +78,7 @@ static void port_dealloc(struct port_info *port_info)
     free(port_info);
 }
 
-int minios_evtchn_close_fd(int fd)
+static int minios_evtchn_close_fd(int fd)
 {
     struct port_info *port_info, *tmp;
     struct file *file = get_file_from_fd(fd);
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 16:18:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 16:18:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255956.438954 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Jr0-0002ik-Ej; Tue, 11 Jan 2022 16:18:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255956.438954; Tue, 11 Jan 2022 16:18:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Jr0-0002hA-5k; Tue, 11 Jan 2022 16:18:34 +0000
Received: by outflank-mailman (input) for mailman id 255956;
 Tue, 11 Jan 2022 16:18:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zHlr=R3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7Jqz-0002Xe-BE
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 16:18:33 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1d6a980e-72fa-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 17:18:30 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 2D09B212C9;
 Tue, 11 Jan 2022 16:18:30 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 00E7213AF0;
 Tue, 11 Jan 2022 16:18:29 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id IAyjOtWt3WHnKgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 11 Jan 2022 16:18:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1d6a980e-72fa-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641917910; h=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=am4LrRyeRveJSahC0AqbZY/L5YFBvgln+Y1OIEQ8/Xk=;
	b=QsRkJFYGctcQHk2Fp22rUBZE4gJY1oZjP2opE/S4SGGQoOjUPUPQG54IHivTzcrdfIl2hR
	9CQ3NIB+jC8veBW9UlMgYmZpLEU/kfqpj+lYveeKurpCUAs0FRK62fFV7bSY62slsqCyJJ
	EYYM3bYv8zkgHsA5rkaN3Cs5MSgBxbY=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 2/2] tools/libs/gnttab: make mini-os specific callback static
Date: Tue, 11 Jan 2022 17:18:27 +0100
Message-Id: <20220111161827.8982-3-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220111161827.8982-1-jgross@suse.com>
References: <20220111161827.8982-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

It is possible now to make the callback for Mini-OS static, as it is
only referenced via the file_ops vector.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/libs/gnttab/minios.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/tools/libs/gnttab/minios.c b/tools/libs/gnttab/minios.c
index c19f339c8c..616728d676 100644
--- a/tools/libs/gnttab/minios.c
+++ b/tools/libs/gnttab/minios.c
@@ -33,9 +33,7 @@
 
 #include "private.h"
 
-int minios_gnttab_close_fd(int fd);
-
-int minios_gnttab_close_fd(int fd)
+static int minios_gnttab_close_fd(int fd)
 {
     struct file *file = get_file_from_fd(fd);
 
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 16:58:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 16:58:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255966.438975 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7KT8-0007qt-Ed; Tue, 11 Jan 2022 16:57:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255966.438975; Tue, 11 Jan 2022 16:57: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 1n7KT8-0007qm-BT; Tue, 11 Jan 2022 16:57:58 +0000
Received: by outflank-mailman (input) for mailman id 255966;
 Tue, 11 Jan 2022 16:57:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1Jw/=R3=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n7KT7-0007qg-16
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 16:57:57 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9da83533-72ff-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 17:57:55 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9da83533-72ff-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1641920274;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=LXtlm7iopRUpk2lb9/oCptar2Utch3GqkBAbzEVpJEg=;
  b=KOfpgvxAywKzlKEPzds6vqRLUYPSti0okYKe1/bXGjl+qvXjHkMLyBwS
   4x8OuGtqYL7/HWScyYBl2VefKNCKvBf+h3IK4YEQ1zMLO35zQ5oHD8CLY
   PU3Z1VnylGEL9i3/plnsA3QlH2lUMwDLnso+ZDexNIKEeHMCxqcz09O1G
   Q=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: IsQXVCvbLUrEP7uKf9V1Og73dXmpZsFF36fRi23QkNhSQjgG0eELwYMCaXhVkFcBI//AsS7tg0
 tYHMPHryCwwkVHYPisFbu/zcuwg/218SeLqC3UJZsjO8rdSaeRDuf37Itf2yDUyMEpDLJ+umC8
 CN21ZOdSPMsF4ePrXMd0kxHoKy3ftEb9euqqUcyvJx0e4HN9vrw5pBKcYm5rfZmXHmozzZgGDQ
 yHvZXuD3ovBwDLcErF5+wu+nAgrwwK6qSXVwPpLxNVZQqar4gwiuQ3NdCfslWnnIdZJ7FNd3Kq
 YCJgf7rRWpYP809XoHVepd5l
X-SBRS: 5.2
X-MesageID: 61757142
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:K7oMq6kr5ElBpDJF8yGpkCro5gxBIERdPkR7XQ2eYbSJt1+Wr1Gzt
 xJLCj3SPPrbN2P8Lot2at/l9EsC75bVxt41TVRoqio1QiMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BClVlxJVF/fngqoDUUYYoAQgsA180IMsdoUg7wbRh29cx2YLR7z6l4
 rseneWOYDdJ5BYsWo4kw/rrRMRH5amaVJsw5zTSVNgT1LPsvyB94KE3fMldG0DQUIhMdtNWc
 s6YpF2PEsE1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXee0v0XRYRQR4/ttmHozx+4
 MRt6bOwVz0qBaPNoNwNXBJeOg5XGYQTrdcrIVDn2SCS50jPcn+qyPRyFkAme4Yf/46bA0kXq
 6ZecmpUKEne2aTmm9pXScE17ignBNPsM44F/Glp0BnSDOo8QICFSKLPjTNd9Glp2Z0RRKqED
 yYfQQFtNBr9XUBRBm84Gs4GmO34rDr9WDIN/Tp5ooJoujOOnWSdyoPFKNPIfvSaSMMTmVyXz
 krE9WnkBhARNPSE1CGItHmrg4fntDnnVYclMay3//9nnnWe3mUWThYRUDOTpv20iVW3Xd5FH
 EUS9jAztqg59EGtTd7VUgWxpTiPuRt0c8BZE/A+rhqMzKXUyw+DAy4PSTspQNYrrtMsTDomk
 FqAhcr0BCdHuaeQD3ma89+8ry62OCUTBX8PY2kDVwRty8nupsQ/gwzCSv5nEbWplZvlFDfo2
 TeIoSMiwbIJgqYj3qO35wqf22qEqZ3ATwpz7QLSNkq76Qd+aJ+gdpaf41HR5vZdL66UVlCE+
 nMDnqC26+QDDoqEkiCXd/kcB7Gi5/uDMzr0jEZmGt8q8DHF02W4YYla7TV6JUFoGsUJYznkZ
 AnUoww52XNIFCL0N+ktOdv3Upl0i/i7fTj4ahzKRstuPrdxajWExy9vXXaA0GvruWcFtYhqb
 P93bv2QJXodDK1myh+/SOEczaIny0gC+I/DeXzo50/5iOTDPRZ5XZ9AaQLTNb5hsMtotS2Iq
 443Ciec9/lIvAQSiAHz+JVbE10FJGNT6Xve+50OLb7rzuaL9Qgc5x7tLVEJJtQNc0d9zL6gE
 pSBtqlwkgGXaZrvc1TiV5ybQOmzNauTVFpiVcDWAX6m2mI4faGk57oFep08cNEPrbI/lK4oF
 6BUI57dWpyjrwgrHRxHNvERS6Q4JXyWaf+mZXL5MFDTgbY9L+A2xjMUVlS2r3RfZsZGncA/v
 6ehxmvmrWkrHGxf4DLtQKv3lTuZ5CFF8MorBhegCoQNJC3ErdY7QwSs3q5fC5xdcn3rm2rFv
 zt69D9F/4EhVadvromQ7U1Fxq/0e9ZD8r1yRDiEve3oZHiDrgJOA+ZoCY61QNwUb0utkI2Kb
 uRJ1fDsdvoBmVdBqY1nFLh3i6k54rPSS3Vyl2yIxV3HMAamDK1OOH6D0ZUdv6FB3OYB6wC3R
 liO6p9RPrDQYJHpF1sYJQwEaOWf1K5LxmmOvKpteEiqtjVq+LenUFlJO0XegiJqM7YoYpgux
 v0suZBK5lXn2AYqKNuPkgtd63+Ici4bS6wiu5xDWN3rhwMnx0tse5vZDiOqspiDZ88VahshI
 yOOhbqEjLNZnxKQf302HHnL/OxcmZVR50wakA5cfwyEw4OXiOU20Rtd9SUMYj5UlhgXgfhuP
 mVLNlFuIfnc9Tlfm8UeDXunHBtMBUPF9xWpmUcJjmDQU2KhSnfJcD8mIe+I8U0UrzBcczxc8
 O3KwWrpS2+3LsT43y90Uk95sf3zC9d281SaysygGs2EGbg8YCbk3fDyNTZZ9UO/DJNjnlDDq
 Mlr4P10OP/yOiMnqqEmD5WXiOYLQxeeKW0eGfxs8cvlx40HlO1eDdRWF32MRw==
IronPort-HdrOrdr: A9a23:GttHSqi1v2CeTAsR0aI0Uw9aUXBQX0J13DAbv31ZSRFFG/FwyP
 rAoB1L73PJYWgqNU3I+ergBEGBKUmskqKdxbNhR4tKOzOWxVdATbsSlrcKpgePJ8SQzJ8+6U
 4NSdkaNDS0NykHsS+Y2njILz9D+qj/zEnAv463pB0MPGJXguNbnn9E426gYzNLrWJ9dPwE/f
 Snl656T23KQwVpUi33PAhPY8Hz4/nw0L72ax8PABAqrCGIkDOT8bb/VzyVxA0XXT9jyaortT
 GtqX212oyT99WAjjPM3W7a6Jpb3PPn19t4HcSJzuwYMC/lhAqEbJloH5eCoDc2iuey70tCqq
 iHnz4Qe+BIr1/BdGC8phXgnyHmzTYV8nfnjWSVhHPyyPaJMg4SOo5kv8Z0YxHZ400vsJVXy6
 RQxV+UsJJREFfpgDn9z8KgbWAlqmOE5V4Z1cIDhX1WVoUTLJVLq5YEwU9TGJAcWArn9YEcFv
 V0Bs203ocYTbqjVQGYgoBT+q3uYpxqdS32AHTq+/blnwS+pUoJjnfxn6ck7zI9HJFUcegy2w
 2LCNUtqFh0dL5kUUtKPpZ0fSKGMB28ffvyChPhHb3GLtBPB5ufke++3F0KjNvaDaDgiqFC36
 j8bA==
X-IronPort-AV: E=Sophos;i="5.88,279,1635220800"; 
   d="scan'208";a="61757142"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SxNqenZNCMBN+nt3JMrIdHPPxoPumgCMtQ6yXy4PlJRn3M2eUY0BKgZY2bUoroIz0sqwJfuOcVaXkfogtmpGkH8gthiXQsl7vVYh9Fb/1ag/Uj5+EWjIOjnhdDzdSLAcXsGPa0qboIL75T37Ul1xfMFIXJH8aGsK7WFnQyLr0amN67+6Vv6CrbYTvc9gG7NXJxhDvnaqztPLwgNAFWLvSrmvfqA3am+06muQDyrakGFHeajhqoyIksmVqrU7DxZiKSvbl2fd01hl1+VNvLUsRfHi20S1jvgTAcNGgkXfYYtuTONbrM7oGKsNZ51ap9Is3cMWjgx4+fNSM+01fY2aPA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=324mOVSynRIU/5IOmFMq24ZHee6A6mxL09dWv8Q9P7s=;
 b=j/yCyJ5+f03dzjKv9NJsGtO+tezZS2ECS5bAzRiSy871FtZPAk0xY1YC4msXKU0/6FfT1aSX1F4X34n9FdyhRmMMoF1lOFyQmaboc6NKcW6X5HWlAdtIU2cuGFIcI2Kxo2KFmZyx1GfJL0TCuPBmmDD287Ee3psGT1y2h0LGewaTMiW5OLawRgBKRsQHpuyR4SXOX8wPFZrJ3H9UEW2zmEggq9shnc5kFfkwBgqDfGDxKVO/8bgZy2lHPS18ooaYrKUPuQiPcuCTxwEfTx7/mr5UBac0qDn7uave65Wkp0eimseF+opHBpFgVEytzviILX/c/n0wylwcegNZd5OAUg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=324mOVSynRIU/5IOmFMq24ZHee6A6mxL09dWv8Q9P7s=;
 b=GMZB4omnSMGg58RvpMVSo69uNb3OftFYYfAypFiWS7Qk2w8MmIJipr65su3/iQG4F8KGYwp0feWvLeEZEn11/XJ5El5y+Fdis3nJvhIIAJXul6Jl3smvw+MzM138VmQEWG2V1Ks0GecTdUbv8v0Ss9i/kqhXIrs8dymYM8uN8Uc=
Date: Tue, 11 Jan 2022 17:57:43 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Oleksandr Andrushchenko <andr2000@gmail.com>
CC: <xen-devel@lists.xenproject.org>, <julien@xen.org>,
	<sstabellini@kernel.org>, <oleksandr_tyshchenko@epam.com>,
	<volodymyr_babchuk@epam.com>, <Artem_Mygaiev@epam.com>, <jbeulich@suse.com>,
	<andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>, <paul@xen.org>,
	<bertrand.marquis@arm.com>, <rahul.singh@arm.com>, Oleksandr Andrushchenko
	<oleksandr_andrushchenko@epam.com>
Subject: Re: [PATCH v5 04/14] vpci: cancel pending map/unmap on vpci removal
Message-ID: <Yd23B3KkQBpTAK1v@Air-de-Roger>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-5-andr2000@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20211125110251.2877218-5-andr2000@gmail.com>
X-ClientProxiedBy: MRXP264CA0032.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:14::20) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3793555e-64b0-4822-db12-08d9d5237f82
X-MS-TrafficTypeDiagnostic: DM6PR03MB4603:EE_
X-Microsoft-Antispam-PRVS: <DM6PR03MB4603D38EFD8DC1237D29D9AE8F519@DM6PR03MB4603.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: ejo+tqgk2xeK2CBCFqShFUbX4k1y+72U9Qt+PBvchehGZ0fpfPnc9iK8KZTmT3TTNyR/MGMBvdoZ3Fx7ghpxRDqAjisgdmXyKeqMJ+6J4+ESUPOzJnDuO/01JLebJyG7y2GPqM76NUP8poM5MCNdmLdcpG5efQEsp00QSvptyNw0Ijbo5EzDgKhqqZ2I6gWxIZ9G8fiLE7VsQPE/ieTa0syprdmve9ZO+JL6etBiQ6j48p342y/qN5Ki5qmYa00aR7zqStfmJP+4ZVu0XjULnKV5H43b5RyFqSpr8YmBZrGbC7A40uj5j/xtykcFR5TZzIaL6Oap3bCcQCMVtvuk637CKBqNmYLSO26ncB2nSa6jbGl3j8CGhyXnEMmOn+tYZ9wDFjPrPN3zx+OPil4EaLzE8xUxg8yL26669AFqSdv6KtukIScbj78EDMMumjkxIhuevqmbeMEaMcAxSnjnUtx1vxI0aA9FOcLcKFz+0wwBoAt3rlUweQsE3GEuIvUbEjxpy8/8fle7KInT6EOr/mbLWAupNh6G8c9dUWLa57GYlbbpkLRBMnCFoksvDCDBd6A4aY0YCQqOBbPIX4kICnDF++qjt1NqVYiad8EINjKkXb+l97GtNYQVFiB5MsmJr0lWNfOkkEFS7BkmK5tE+g==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(5660300002)(8676002)(66946007)(82960400001)(8936002)(4326008)(83380400001)(38100700002)(33716001)(6916009)(7416002)(9686003)(6486002)(6666004)(6506007)(85182001)(316002)(66476007)(66556008)(186003)(26005)(2906002)(86362001)(6512007)(508600001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cmxHMzNHNURaNlZLaWIyRjU5Z2N3cXlVeTVyWkRzbGdib3pwa2VwZWFRcUsv?=
 =?utf-8?B?RUNCZFZmQ0g1OExYU2p3ZUdTV29pQjFuY1JPYnNjTStwY1B6aEprSXd5cWdS?=
 =?utf-8?B?WUJTbGszbEhxaDdvVTRhTzlPdXZXbFQyYlZTU2QxZEdGcWZUU0EyenZIZ3ZZ?=
 =?utf-8?B?cW5UclY2VWVOK09zdWJRZ3NOdTdheXRBKzZrODJGY0NzVDNuT3dJNGxVc0tt?=
 =?utf-8?B?U0FvY2RqMjM2UmZ3azBmRVk2TWZlM0k3MkdpK1Y2N21EcnpKRy9ZQ3lDeHYv?=
 =?utf-8?B?ZW5vMXplV3hXOXk2YTRGbmUxakhqWkZMUlhkQ2xxNHQ3clFjb3RQeHZUSXgx?=
 =?utf-8?B?RGFXZkRxckx3NURWT3JuK3g2dWpHSi90UEpMRGRKNE9wSEtRM082TFBtaVdD?=
 =?utf-8?B?dnJEZjBLaEFWVlIxYkc4eWdYZ1J2cjZCc2YzOVprVnlFRzVaQ0NlZWlaWTdK?=
 =?utf-8?B?Vis5WmJoY0FLSXYraEExeXczbGtSWGM3Sk5yMC9SY0hHV2tuOWM0TkpyMGtF?=
 =?utf-8?B?YkdLb1dLQzM3VVlnc3hQZzVuUCt3ODVmTDhZQ2JNR2NNcDB5azdxR0ZjOWxt?=
 =?utf-8?B?RW5Gc0twSmdneXBnL2VMblBxc2RJeTBEUjZVNzdiQzlhalg3eWtNenZtd1hI?=
 =?utf-8?B?eHZVdTFNbE1MZG5jR3g1OXdBZmFlNkNMMVhydlVObERjUUZLdno3aCsxWU5M?=
 =?utf-8?B?MnJ2aG8rdE1seVhxNW4waDNRRHYxZUxBSUdpcFZPMVJLSXd0ek56QkpiUVR4?=
 =?utf-8?B?TUM3cDBPS0xiaDk1SS9HQVlzWGZUYTJFVllnYk84UXNDbzZDZTk1VnpRVGJP?=
 =?utf-8?B?ZGk2NytlTTVocGVvcHdKVVVIb0FmNVppc1E4eUpqLzJrcmx3dDh0cXRJUXNT?=
 =?utf-8?B?b1R1a3lYQjZIdzZ0WHpoU3hRVWdnRVBoRVpsZlJMQmFLZDIrY1NDVVo4WFRp?=
 =?utf-8?B?V0JlQzRDN0swQkl2OFc1VHJ4ckdublRLbmY4MUVzS2U4bWw4dzFUMi9KeElT?=
 =?utf-8?B?b3lNaC9tYmZra0E1VkI0T3hydm9DdjNLUXJZb08xbDB3V0pRNi9MenZMelg0?=
 =?utf-8?B?RHk1OVNFWmkzSkU3RmEyVmlhVDd3LzhSdVFHTVlrd2RNVWdHbUlXcjVVd3h2?=
 =?utf-8?B?L3JaV3VYeFkvZk1JbzlvR1RnWXpsOWRXVDRBTnhuOTdFaDBPdm5mK1ZJK3Vz?=
 =?utf-8?B?RThlR3lLWHJ3WThqS3c3ZDhIK1R6Q0loTVExaXBES1hGOERvekxvZGRuZ1dD?=
 =?utf-8?B?b1BBZEVOVFUydEkrMFFybGZ0OE93OTNOVVNiV1ZFYnBlQ3hJOGFpd3VpRFZH?=
 =?utf-8?B?QS9WSWVnSkQ2ekxHZWdxUWFuNmQwTXdGN2VJUHBYeDNqOGZXcVFwZW5QMHU0?=
 =?utf-8?B?U2YybS9tUWpaZkx1aS93aldweTVRbTZGbmU1VHdxczRWUHBlYkVseHFNdkVz?=
 =?utf-8?B?eGxLdHZucmp4M2FPTG9sdkZ5SWNEaFpZWXJCbGJrUGh6bmxDZjREdm9OaWhW?=
 =?utf-8?B?WEZ0Y2NYbk1jNmtyMDhCc2FtSlhSWlIvWnRQYmlyakVraG9Bd2c1RXRUV0dz?=
 =?utf-8?B?RnY1TzZhbTBVQVZ4WHAxTDlnb2hCV3ErbGVSZC9MZGwwYXd1cmJxczZEWklF?=
 =?utf-8?B?L0YyV21TVjU4MktUZHRCTnVnWThnZllzZU1lVElNcFBwd1lqRmtJWU5NM3Jj?=
 =?utf-8?B?NEt3RzJreVk4cnVnWFJtM1ZDT0RjY1VqRGZVUGJ0UGxSV0M0aWExT010SUJK?=
 =?utf-8?B?cWl4NU1Yc0ZObmFSaHlOMVMrRmg4eU5KeU8rN0RaNjQrd1l6YUtFbWRtSUtJ?=
 =?utf-8?B?ZGlaL1ZuYVl0cU9wZkk1T3BvaWcycERVNXptTWxKV1ozZjVISmZ1QndPZ1kw?=
 =?utf-8?B?WXlCeFRNbDNXanQvM2JQQjEzcTBvRDdnLzY4T3U2Y005Z1EvMmhobEpNcmZG?=
 =?utf-8?B?QlE2QnhwSjZJTCtDV1pUbXRBbWJtREhLd2lVS2QyTGp6aVVldmZTU1ZLdU1N?=
 =?utf-8?B?SnNIZUJ1RUt5R2ZRRXNwZHV1QlY1S0JkMGY4dndkazR6dzd1TUZMaG51Rk5C?=
 =?utf-8?B?bFhIZVk1MjBnSlIzMlZJU0pmcjVKWm5HdlY3ZUFuZFgxUkFHSTBVZVBIMHIy?=
 =?utf-8?B?emZncG1Vc1ZKbDRXa1MweVB3YjdQK0xKRFAwSFFVQmFnblgwSlVHWk9EMkNu?=
 =?utf-8?Q?TvbOnXAaGvHfNEHDnjRKmcM=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 3793555e-64b0-4822-db12-08d9d5237f82
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2022 16:57:49.4020
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zDvB7OiloN8VUUtq+fFKqBDJJMVzwP82IK6evIJ7ZP5M1pN2cc7T3T2hcTU9O4DhNcVt7XCuPgE7OiFfeRZenQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4603
X-OriginatorOrg: citrix.com

On Thu, Nov 25, 2021 at 01:02:41PM +0200, Oleksandr Andrushchenko wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> When a vPCI is removed for a PCI device it is possible that we have
> scheduled a delayed work for map/unmap operations for that device.
> For example, the following scenario can illustrate the problem:
> 
> pci_physdev_op
>    pci_add_device
>        init_bars -> modify_bars -> defer_map -> raise_softirq(SCHEDULE_SOFTIRQ)
>    iommu_add_device <- FAILS
>    vpci_remove_device -> xfree(pdev->vpci)
> 
> leave_hypervisor_to_guest
>    vpci_process_pending: v->vpci.mem != NULL; v->vpci.pdev->vpci == NULL
> 
> For the hardware domain we continue execution as the worse that
> could happen is that MMIO mappings are left in place when the
> device has been deassigned.
> 
> For unprivileged domains that get a failure in the middle of a vPCI
> {un}map operation we need to destroy them, as we don't know in which
> state the p2m is. This can only happen in vpci_process_pending for
> DomUs as they won't be allowed to call pci_add_device.
> 
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> ---
> Cc: Roger Pau Monné <roger.pau@citrix.com>
> ---
> Since v4:
>  - crash guest domain if map/unmap operation didn't succeed
>  - re-work vpci cancel work to cancel work on all vCPUs
>  - use new locking scheme with pdev->vpci_lock
> New in v4
> 
> Fixes: 86dbcf6e30cb ("vpci: cancel pending map/unmap on vpci removal")
> 
> ---
> 
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> ---
>  xen/drivers/vpci/header.c | 49 ++++++++++++++++++++++++++++++---------
>  xen/drivers/vpci/vpci.c   |  2 ++
>  xen/include/xen/pci.h     |  5 ++++
>  xen/include/xen/vpci.h    |  6 +++++
>  4 files changed, 51 insertions(+), 11 deletions(-)
> 
> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
> index bd23c0274d48..ba333fb2f9b0 100644
> --- a/xen/drivers/vpci/header.c
> +++ b/xen/drivers/vpci/header.c
> @@ -131,7 +131,13 @@ static void modify_decoding(const struct pci_dev *pdev, uint16_t cmd,
>  
>  bool vpci_process_pending(struct vcpu *v)
>  {
> -    if ( v->vpci.mem )
> +    struct pci_dev *pdev = v->vpci.pdev;
> +
> +    if ( !pdev )
> +        return false;
> +
> +    spin_lock(&pdev->vpci_lock);
> +    if ( !pdev->vpci_cancel_pending && v->vpci.mem )

Could you just check for pdev->vpci != NULL instead of having to add a
new vpci_cancel_pending field?

I also have a suggestion below which could make the code here simpler.

>      {
>          struct map_data data = {
>              .d = v->domain,
> @@ -140,32 +146,53 @@ bool vpci_process_pending(struct vcpu *v)
>          int rc = rangeset_consume_ranges(v->vpci.mem, map_range, &data);
>  
>          if ( rc == -ERESTART )
> +        {
> +            spin_unlock(&pdev->vpci_lock);
>              return true;
> +        }
>  
> -        spin_lock(&v->vpci.pdev->vpci_lock);
> -        if ( v->vpci.pdev->vpci )
> +        if ( pdev->vpci )
>              /* Disable memory decoding unconditionally on failure. */
> -            modify_decoding(v->vpci.pdev,
> +            modify_decoding(pdev,
>                              rc ? v->vpci.cmd & ~PCI_COMMAND_MEMORY : v->vpci.cmd,
>                              !rc && v->vpci.rom_only);
> -        spin_unlock(&v->vpci.pdev->vpci_lock);
>  
> -        rangeset_destroy(v->vpci.mem);
> -        v->vpci.mem = NULL;
>          if ( rc )
> +        {
>              /*
>               * FIXME: in case of failure remove the device from the domain.
>               * Note that there might still be leftover mappings. While this is
> -             * safe for Dom0, for DomUs the domain will likely need to be
> -             * killed in order to avoid leaking stale p2m mappings on
> -             * failure.
> +             * safe for Dom0, for DomUs the domain needs to be killed in order
> +             * to avoid leaking stale p2m mappings on failure.
>               */
> -            vpci_remove_device(v->vpci.pdev);
> +            if ( is_hardware_domain(v->domain) )
> +                vpci_remove_device_locked(pdev);
> +            else
> +                domain_crash(v->domain);
> +        }
>      }
> +    spin_unlock(&pdev->vpci_lock);
>  
>      return false;
>  }
>  
> +void vpci_cancel_pending_locked(struct pci_dev *pdev)
> +{
> +    struct vcpu *v;
> +
> +    ASSERT(spin_is_locked(&pdev->vpci_lock));
> +
> +    /* Cancel any pending work now on all vCPUs. */
> +    for_each_vcpu( pdev->domain, v )
> +    {
> +        if ( v->vpci.mem && (v->vpci.pdev == pdev) )

I'm unsure this is correct. You are protecting the access to
v->vpci.pdev with an expectation that v->vpci.pdev->vpci_lock is being
held.

I wonder if it would be better to just pause all the domain vCPUs and
then perform the cleaning of any pending operations. That would assure
that there are no changes to v->vpci. vpci_cancel_pending_locked
shouldn't be a frequent operation, so the overhead of pausing all
domain vCPUs here is likely fine.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 16:59:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 16:59:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255969.438986 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7KUH-0008Of-OY; Tue, 11 Jan 2022 16:59:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255969.438986; Tue, 11 Jan 2022 16: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 1n7KUH-0008OY-LQ; Tue, 11 Jan 2022 16:59:09 +0000
Received: by outflank-mailman (input) for mailman id 255969;
 Tue, 11 Jan 2022 16:59:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=JwWh=R3=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n7KUG-0008OS-VP
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 16:59:08 +0000
Received: from ppsw-42.csi.cam.ac.uk (ppsw-42.csi.cam.ac.uk [131.111.8.142])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c85a3d74-72ff-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 17:59:07 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:46960)
 by ppsw-42.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.138]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n7KUC-000Jtz-71 (Exim 4.95) (return-path <amc96@srcf.net>);
 Tue, 11 Jan 2022 16:59:04 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id E3D1F1FB3A;
 Tue, 11 Jan 2022 16:59:03 +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: c85a3d74-72ff-11ec-9ce5-af14b9085ebd
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <0e2be14c-ee00-c106-2898-8c9f51ba6959@srcf.net>
Date: Tue, 11 Jan 2022 16:59:03 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Subject: Re: [PATCH v2 1/2] x86/paging: tidy paging_mfn_is_dirty()
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>
References: <61c1d38c-65a6-e150-ed53-b565d30c18c9@suse.com>
 <aa49dc63-965a-bf9b-3d42-11286b709a24@suse.com>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <aa49dc63-965a-bf9b-3d42-11286b709a24@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06/12/2021 13:25, Jan Beulich wrote:
> The function returning a boolean indicator, make it return bool. Also
> constify its struct domain parameter, albeit requiring to also adjust
> mm_locked_by_me(). Furthermore the function is used by shadow code only.
>
> Since mm_locked_by_me() needs touching anyway, also switch its return
> type to bool.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 16:59:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 16:59:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255972.438997 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7KUz-0000Wq-1J; Tue, 11 Jan 2022 16:59:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255972.438997; Tue, 11 Jan 2022 16:59:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7KUy-0000Wh-UX; Tue, 11 Jan 2022 16:59:52 +0000
Received: by outflank-mailman (input) for mailman id 255972;
 Tue, 11 Jan 2022 16:59:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=JwWh=R3=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n7KUy-0008OS-3P
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 16:59:52 +0000
Received: from ppsw-43.csi.cam.ac.uk (ppsw-43.csi.cam.ac.uk [131.111.8.143])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e3b76313-72ff-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 17:59:51 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:50650)
 by ppsw-43.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.139]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n7KUw-000VZe-ml (Exim 4.95) (return-path <amc96@srcf.net>);
 Tue, 11 Jan 2022 16:59:50 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id E0D9C1FB3A;
 Tue, 11 Jan 2022 16:59:49 +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: e3b76313-72ff-11ec-9ce5-af14b9085ebd
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <624ec4dc-e03d-35ab-ab6b-5cfe4b9b5c55@srcf.net>
Date: Tue, 11 Jan 2022 16:59:49 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Subject: Re: [PATCH v2 2/2] x86/paging: replace most mfn_valid() in log-dirty
 handling
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>
References: <61c1d38c-65a6-e150-ed53-b565d30c18c9@suse.com>
 <fe8a690e-9305-c512-9d2f-4256c5c9b910@suse.com>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <fe8a690e-9305-c512-9d2f-4256c5c9b910@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06/12/2021 13:25, Jan Beulich wrote:
> Top level table and intermediate table entries get explicitly set to
> INVALID_MFN when un-allocated. There's therefore no need to use the more
> expensive mfn_valid() when checking for that sentinel.
>
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 17:18:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 17:18:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255979.439008 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Kme-00030M-Lt; Tue, 11 Jan 2022 17:18:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255979.439008; Tue, 11 Jan 2022 17:18:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Kme-00030F-Ij; Tue, 11 Jan 2022 17:18:08 +0000
Received: by outflank-mailman (input) for mailman id 255979;
 Tue, 11 Jan 2022 17:18:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=KamR=R3=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1n7Kmd-000309-AL
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 17:18:07 +0000
Received: from sender4-of-o51.zoho.com (sender4-of-o51.zoho.com
 [136.143.188.51]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6f44c7b2-7302-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 18:18:05 +0100 (CET)
Received: from sisyou.hme. (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1641921481347592.0753134066362;
 Tue, 11 Jan 2022 09:18:01 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6f44c7b2-7302-11ec-9ce5-af14b9085ebd
ARC-Seal: i=1; a=rsa-sha256; t=1641921481; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=JdDKhRhAwZQIrkkRJ9wcQODbo/DI+MLFUAzR83Vr89JPkLi8/KO9cuHGcCh39t6bvQsh15lZS9F8XRxdDxXMW37DpDL0bbscfkgyGkXhIOPuWoiWm9yRkEdffXxvxzW+iCRB9tf09tzbsd7BE+OPT/pKa3amfQppKZ4YE6h/ijg=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1641921481; h=Content-Transfer-Encoding:Cc:Date:From:MIME-Version:Message-ID:Subject:To; 
	bh=qsTQc3SfLcU/uIGx1/188+JBMWG8NHVrBgLTSOosXpE=; 
	b=lt0GZd5XBdhBG0Pk0T9yaFHmdLIrrUPzDPPrY0Fj0aovhJeDAGPmuT+GuMus7dXt5wy3rCBpyRj+Nf8c9bsZd3kR5ny/Hq7K/Axf3JA/ss4NK3G6GVB23CxbQZvcpVBtRYVQt67daWTzZzeHcVoQtaq8Vy/iOJcLYbAqG0VScYY=
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=1641921481;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:To:Cc:Subject:Date:Message-Id:MIME-Version:Content-Transfer-Encoding;
	bh=qsTQc3SfLcU/uIGx1/188+JBMWG8NHVrBgLTSOosXpE=;
	b=rxCAJPbmLVpZ93ePkIbhXd4n+SJZUARNUruTKacv2rrfkQwJgU5yao8j3KInivxb
	r3opYYloj/QUIDEdKOunbhax4+SPKHFLuu4IZ8ajbBJLQJpqS5MnsD3UO60mA+saxgV
	ZatkLoelT1KdWh5q9SiVkcNw0Br0jN84rbRT4NTA=
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>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH] MAINTAINERS: requesting to be txt reviewer
Date: Tue, 11 Jan 2022 16:21:14 -0500
Message-Id: <20220111212114.16273-1-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.20.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

I would like to submit myself, Daniel P. Smith, as a reviewer of TXT support in
Xen.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 MAINTAINERS | 1 +
 1 file changed, 1 insertion(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index 6e84a05760..4a2884dfa7 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -317,6 +317,7 @@ F:	xen/include/xen/hypfs.h
 
 INTEL(R) TRUSTED EXECUTION TECHNOLOGY (TXT)
 R:	Lukasz Hawrylko <lukasz.hawrylko@linux.intel.com>
+R:	Daniel P. Smith <dpsmith@apertussolutions.com>
 S:	Odd Fixes
 F:	xen/arch/x86/include/asm/tboot.h
 F:	xen/arch/x86/tboot.c
-- 
2.20.1



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 18:09:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 18:09:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255986.439022 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7LZR-00086I-IO; Tue, 11 Jan 2022 18:08:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255986.439022; Tue, 11 Jan 2022 18:08: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 1n7LZR-00086B-Eq; Tue, 11 Jan 2022 18:08:33 +0000
Received: by outflank-mailman (input) for mailman id 255986;
 Tue, 11 Jan 2022 18:08:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=JwWh=R3=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n7LZP-00085x-AN
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 18:08:31 +0000
Received: from ppsw-33.csi.cam.ac.uk (ppsw-33.csi.cam.ac.uk [131.111.8.133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7a427b31-7309-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 19:08:29 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:47534)
 by ppsw-33.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.137]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n7LZM-000UMP-gA (Exim 4.95) (return-path <amc96@srcf.net>);
 Tue, 11 Jan 2022 18:08:28 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id C9966208DF;
 Tue, 11 Jan 2022 18:08:27 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7a427b31-7309-11ec-9ce5-af14b9085ebd
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <a2d4c905-c477-8553-85a7-90168d914b6e@srcf.net>
Date: Tue, 11 Jan 2022 18:08:27 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20220111145817.22170-1-jgross@suse.com>
 <20220111145817.22170-18-jgross@suse.com>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: [PATCH v2 17/18] mini-os: use function vectors instead of switch
 for file operations
In-Reply-To: <20220111145817.22170-18-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11/01/2022 14:58, Juergen Gross wrote:
> Introduce file type specific function vectors for all the needed file
> operations which are file type specific in order to prepare replacing
> the large switch statements in each generic file function.
>
> Add a function to allocate a new file type dynamically in order to
> prepare removing direct dependencies to external components in the
> future. For this reason switch the file type from an enum to an
> unsigned int. Prepare removal of some statically defines file types
> by putting them at the end of the defined list.
>
> Change the debug output for the file type from a single character to
> a string in order to support a future removal of the file_types[]
> array.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

A few misc observations.

> diff --git a/include/lib.h b/include/lib.h
> index 7a0546b..b40e213 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -154,25 +155,51 @@ do {                                                           \
>  void sanity_check(void);
>  
>  #ifdef HAVE_LIBC
> -enum fd_type {
> -    FTYPE_NONE = 0,
> -    FTYPE_CONSOLE,
> -    FTYPE_FILE,
> -    FTYPE_XENBUS,
> -    FTYPE_XC,
> -    FTYPE_EVTCHN,
> -    FTYPE_GNTMAP,
> -    FTYPE_SOCKET,
> -    FTYPE_TAP,
> -    FTYPE_BLK,
> -    FTYPE_KBD,
> -    FTYPE_FB,
> -    FTYPE_MEM,
> -    FTYPE_SAVEFILE,
> -    FTYPE_TPMFRONT,
> -    FTYPE_TPM_TIS,
> +#define FTYPE_NONE       0
> +#define FTYPE_CONSOLE    1
> +#define FTYPE_FILE       2
> +#define FTYPE_SOCKET     3
> +#define FTYPE_MEM        4
> +#define FTYPE_SAVEFILE   5
> +#define FTYPE_FB         6
> +#define FTYPE_KBD        7
> +#define FTYPE_TAP        8
> +#define FTYPE_BLK        9
> +#define FTYPE_TPMFRONT  10
> +#define FTYPE_TPM_TIS   11
> +#define FTYPE_XENBUS    12
> +#define FTYPE_GNTMAP    13
> +#define FTYPE_EVTCHN    14
> +#define FTYPE_XC        15
> +#define FTYPE_N         16
> +#define FTYPE_SPARE     16
> +
> +typedef int file_read_func(int fd, void *buf, size_t nbytes);
> +typedef int file_write_func(int fd, const void *buf, size_t nbytes);
> +typedef off_t file_lseek_func(int fd, off_t offset, int whence);
> +typedef int file_close_func(int fd);
> +typedef int file_fstat_func(int fd, struct stat *buf);
> +typedef int file_fcntl_func(int fd, int cmd, va_list args);
> +typedef bool file_select_func(int fd);

Are these typedef's useful?  I don't see them used anywhere other than
the file_ops structure.

> +
> +struct file_ops {
> +    const char *name;
> +    file_read_func *read;
> +    file_write_func *write;
> +    file_lseek_func *lseek;
> +    file_close_func *close;
> +    file_fstat_func *fstat;
> +    file_fcntl_func *fcntl;
> +    file_select_func *select_rd;
> +    file_select_func *select_wr;
>  };
>  
> +unsigned int alloc_file_type(struct file_ops *ops);

const.

> +
> +off_t lseek_default(int fd, off_t offset, int whence);
> +bool select_yes(int fd);
> +bool select_read_flag(int fd);
> +
>  LIST_HEAD(evtchn_port_list, evtchn_port_info);
>  
>  struct evtchn_port_info {
> @@ -183,7 +210,7 @@ struct evtchn_port_info {
>  };
>  
>  struct file {
> -    enum fd_type type;
> +    unsigned int type;
>      bool read;	/* maybe available for read */
>      off_t offset;
>      union {
> @@ -199,7 +226,7 @@ struct file {
>  extern struct file files[];
>  
>  struct file *get_file_from_fd(int fd);
> -int alloc_fd(enum fd_type type);
> +int alloc_fd(unsigned int type);
>  void close_all_files(void);
>  extern struct thread *main_thread;
>  void sparse(unsigned long data, size_t size);
> diff --git a/lib/sys.c b/lib/sys.c
> index 323a7cd..c327247 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -98,6 +98,39 @@ struct file files[NOFILE] = {
>      { .type = FTYPE_CONSOLE }, /* stderr */
>  };
>  
> +static struct file_ops file_ops_none = {
> +    .name = "none",
> +};
> +
> +static struct file_ops *file_ops[FTYPE_N + FTYPE_SPARE] = {
> +    [FTYPE_NONE] = &file_ops_none,
> +};

Both want to be const, because all file_ops ought to live in rodata.

> +
> +unsigned int alloc_file_type(struct file_ops *ops)
> +{
> +    unsigned int i;
> +
> +    pthread_mutex_lock(&fd_lock);
> +
> +    for ( i = FTYPE_N; i < ARRAY_SIZE(file_ops) && file_ops[i]; i++ );

No need for a for loop.  Given the mutex, you can safely do something
like this:

static unsigned int i = FTYPE_N;

BUG_ON(i == ARRAY_SIZE(file_ops));
file_ops[i++] = ops;

Alternatively, if you do want to keep the loop, we might want to confirm
that the same ops structure doesn't get registered twice.

> +    BUG_ON(i == ARRAY_SIZE(file_ops));
> +    file_ops[i] = ops;
> +
> +    pthread_mutex_unlock(&fd_lock);
> +
> +    printk("New file type \"%s\"(%u) allocated\n", ops->name, i);
> +
> +    return i;
> +}
> +
> +static struct file_ops *get_file_ops(unsigned int type)
> +{
> +    if ( type >= ARRAY_SIZE(file_ops) || !file_ops[type] )
> +        return &file_ops_none;
> +
> +    return file_ops[type];
> +}
> +
>  struct file *get_file_from_fd(int fd)
>  {
>      if ( fd < 0 || fd >= NOFILE )
> @@ -108,7 +141,7 @@ struct file *get_file_from_fd(int fd)
>  
>  DECLARE_WAIT_QUEUE_HEAD(event_queue);
>  
> -int alloc_fd(enum fd_type type)
> +int alloc_fd(unsigned int type)
>  {
>      int i;
>      pthread_mutex_lock(&fd_lock);
> @@ -249,6 +282,11 @@ int isatty(int fd)
>  
>  int read(int fd, void *buf, size_t nbytes)
>  {
> +    struct file_ops *ops = get_file_ops(files[fd].type);
> +
> +    if ( ops->read )
> +        return ops->read(fd, buf, nbytes);
> +
>      switch (files[fd].type) {
>          case FTYPE_SAVEFILE:
>  	case FTYPE_CONSOLE: {
> @@ -328,6 +366,11 @@ int read(int fd, void *buf, size_t nbytes)
>  
>  int write(int fd, const void *buf, size_t nbytes)
>  {
> +    struct file_ops *ops = get_file_ops(files[fd].type);
> +
> +    if ( ops->write )
> +        return ops->write(fd, buf, nbytes);
> +
>      switch (files[fd].type) {
>          case FTYPE_SAVEFILE: {
>                  int ret = 0, tot = nbytes;
> @@ -370,8 +413,45 @@ int write(int fd, const void *buf, size_t nbytes)
>      return -1;
>  }
>  
> +off_t lseek_default(int fd, off_t offset, int whence)
> +{
> +    switch ( whence )
> +    {
> +    case SEEK_SET:
> +        files[fd].offset = offset;
> +        break;
> +
> +    case SEEK_CUR:
> +        files[fd].offset += offset;
> +        break;
> +
> +    case SEEK_END:
> +    {
> +        struct stat st;
> +        int ret;
> +
> +        ret = fstat(fd, &st);
> +        if ( ret )
> +            return -1;
> +        files[fd].offset = st.st_size + offset;
> +        break;
> +    }
> +
> +    default:
> +        errno = EINVAL;
> +        return -1;
> +    }
> +
> +    return files[fd].offset;
> +}
> +
>  off_t lseek(int fd, off_t offset, int whence)
>  {
> +    struct file_ops *ops = get_file_ops(files[fd].type);
> +
> +    if ( ops->lseek )
> +        return ops->lseek(fd, offset, whence);
> +
>      switch(files[fd].type) {
>  #ifdef CONFIG_BLKFRONT
>         case FTYPE_BLK:
> @@ -393,28 +473,7 @@ off_t lseek(int fd, off_t offset, int whence)
>            return (off_t) -1;
>      }
>  
> -    switch (whence) {
> -       case SEEK_SET:
> -          files[fd].offset = offset;
> -          break;
> -       case SEEK_CUR:
> -          files[fd].offset += offset;
> -          break;
> -       case SEEK_END:
> -          {
> -             struct stat st;
> -             int ret;
> -             ret = fstat(fd, &st);
> -             if (ret)
> -                return -1;
> -             files[fd].offset = st.st_size + offset;
> -             break;
> -          }
> -       default:
> -          errno = EINVAL;
> -          return -1;
> -    }
> -    return files[fd].offset;
> +    return lseek_default(fd, offset, whence);
>  }
>  
>  int fsync(int fd) {
> @@ -425,8 +484,15 @@ int fsync(int fd) {
>  int close(int fd)
>  {
>      int res = 0;
> +    struct file_ops *ops = get_file_ops(files[fd].type);
>  
>      printk("close(%d)\n", fd);
> +    if ( ops->close )
> +    {
> +        res = ops->close(fd);
> +        goto out;
> +    }
> +
>      switch (files[fd].type) {
>          default:
>              break;
> @@ -497,6 +563,7 @@ int close(int fd)
>              return -1;
>      }
>  
> + out:
>      memset(files + fd, 0, sizeof(struct file));
>      files[fd].type = FTYPE_NONE;
>      return res;
> @@ -521,7 +588,13 @@ int stat(const char *path, struct stat *buf)
>  
>  int fstat(int fd, struct stat *buf)
>  {
> +    struct file_ops *ops = get_file_ops(files[fd].type);
> +
>      init_stat(buf);
> +
> +    if ( ops->fstat )
> +        return ops->fstat(fd, buf);
> +
>      switch (files[fd].type) {
>  	case FTYPE_SAVEFILE:
>  	case FTYPE_CONSOLE:
> @@ -587,6 +660,18 @@ int fcntl(int fd, int cmd, ...)
>  {
>      long arg;
>      va_list ap;
> +    int res;
> +    struct file_ops *ops = get_file_ops(files[fd].type);
> +
> +    if ( ops->fcntl )
> +    {
> +        va_start(ap, cmd);
> +        res = ops->fcntl(fd, cmd, ap);
> +        va_end(ap);
> +
> +        return res;
> +    }
> +
>      va_start(ap, cmd);
>      arg = va_arg(ap, long);
>      va_end(ap);
> @@ -640,18 +725,29 @@ int closedir(DIR *dir)
>  /* We assume that only the main thread calls select(). */
>  
>  #if defined(LIBC_DEBUG) || defined(LIBC_VERBOSE)
> -static const char file_types[] = {
> -    [FTYPE_NONE]	= 'N',
> -    [FTYPE_CONSOLE]	= 'C',
> -    [FTYPE_XENBUS]	= 'S',
> -    [FTYPE_XC]		= 'X',
> -    [FTYPE_EVTCHN]	= 'E',
> -    [FTYPE_SOCKET]	= 's',
> -    [FTYPE_TAP]		= 'T',
> -    [FTYPE_BLK]		= 'B',
> -    [FTYPE_KBD]		= 'K',
> -    [FTYPE_FB]		= 'G',
> +static const char *file_types[] = {

static const char *const file_types[]

> +    [FTYPE_NONE]    = "none",
> +    [FTYPE_CONSOLE] = "console",
> +    [FTYPE_XENBUS]  = "xenbus",
> +    [FTYPE_XC]      = "ctrl",
> +    [FTYPE_EVTCHN]  = "evtchn",
> +    [FTYPE_SOCKET]  = "socket",
> +    [FTYPE_TAP]     = "net",
> +    [FTYPE_BLK]     = "blk",
> +    [FTYPE_KBD]     = "kbd",
> +    [FTYPE_FB]      = "fb",
>  };
> +
> +static char *get_type_name(unsigned int type)

const.

> +{
> +    if ( type < ARRAY_SIZE(file_ops) && file_ops[type] )
> +        return file_ops[type]->name;
> +
> +    if ( type < ARRAY_SIZE(file_types) && file_types[type] )
> +        return file_types[type];
> +
> +    return "none";
> +}
>  #endif
>  #ifdef LIBC_DEBUG
>  static void dump_set(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout)
> @@ -663,7 +759,7 @@ static void dump_set(int nfds, fd_set *readfds, fd_set *writefds, fd_set *except
>  	if (FD_ISSET(i, set)) { \
>  	    if (comma) \
>  		printk(", "); \
> -	    printk("%d(%c)", i, file_types[files[i].type]); \
> +	    printk("%d(%s)", i, get_type_name(files[i].type)); \
>  	    comma = 1; \
>  	} \
>      } \
> @@ -697,7 +793,7 @@ static void dump_pollfds(struct pollfd *pfd, int nfds, int timeout)
>          fd = pfd[i].fd;
>          if (comma)
>              printk(", ");
> -        printk("%d(%c)/%02x", fd, file_types[files[fd].type],
> +        printk("%d(%s)/%02x", fd, get_type_name(files[fd].type),
>              pfd[i].events);
>              comma = 1;
>      }
> @@ -709,6 +805,18 @@ static void dump_pollfds(struct pollfd *pfd, int nfds, int timeout)
>  #define dump_pollfds(pfds, nfds, timeout)
>  #endif
>  
> +bool select_yes(int fd)
> +{
> +    return true;
> +}
> +
> +bool select_read_flag(int fd)
> +{
> +    struct file *file = get_file_from_fd(fd);
> +
> +    return file->read;
> +}

I don't see these getting used, even in a fallback case.

> +
>  /* Just poll without blocking */
>  static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds)
>  {
> @@ -762,9 +870,35 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
>      for (i = 0; i < nfds; i++) {
>  	switch(files[i].type) {
>  	default:
> +        {
> +            struct file_ops *ops = file_ops[files[i].type];
> +
> +            if ( ops )
> +            {
> +                if ( FD_ISSET(i, readfds) )
> +                {
> +                    if ( ops->select_rd && ops->select_rd(i) )
> +                        n++;
> +                    else
> +                        FD_CLR(i, readfds);
> +                }
> +                if ( FD_ISSET(i, writefds) )
> +                {
> +                    if ( ops->select_wr && ops->select_wr(i) )
> +                        n++;
> +                    else
> +                        FD_CLR(i, writefds);
> +                }
> +	        FD_CLR(i, exceptfds);

Hard tab.

> +
> +                break;
> +            }
> +
>  	    if (FD_ISSET(i, readfds) || FD_ISSET(i, writefds) || FD_ISSET(i, exceptfds))
>  		printk("bogus fd %d in select\n", i);
>  	    /* Fallthrough.  */
> +        }

Is this fallthrough really appropriate, given the break in the ops case?

~Andrew

> +
>  	case FTYPE_CONSOLE:
>  	    if (FD_ISSET(i, readfds)) {
>                  if (xencons_ring_avail(files[i].dev))
> @@ -842,7 +976,7 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
>  	printk("%d(%d): ", nb, sock_n);
>  	for (i = 0; i < nfds; i++) {
>  	    if (nbread[i] || nbwrite[i] || nbexcept[i])
> -		printk(" %d(%c):", i, file_types[files[i].type]);
> +		printk(" %d(%c):", i, get_type_name(files[i].type));
>  	    if (nbread[i])
>  	    	printk(" %dR", nbread[i]);
>  	    if (nbwrite[i])



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 18:12:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 18:12:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255992.439032 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Lch-00012b-2I; Tue, 11 Jan 2022 18:11:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255992.439032; Tue, 11 Jan 2022 18:11: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 1n7Lcg-00012U-VK; Tue, 11 Jan 2022 18:11:54 +0000
Received: by outflank-mailman (input) for mailman id 255992;
 Tue, 11 Jan 2022 18:11:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=JwWh=R3=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n7Lcf-00012C-UC
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 18:11:54 +0000
Received: from ppsw-42.csi.cam.ac.uk (ppsw-42.csi.cam.ac.uk [131.111.8.142])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f37d81d2-7309-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 19:11:52 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:46994)
 by ppsw-42.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.138]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n7Lcd-000ZEL-8F (Exim 4.95) (return-path <amc96@srcf.net>);
 Tue, 11 Jan 2022 18:11:51 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 4DAA91FBFC;
 Tue, 11 Jan 2022 18:11:51 +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: f37d81d2-7309-11ec-9ce5-af14b9085ebd
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <d70d8cb3-c34f-23f5-840c-c85a90547924@srcf.net>
Date: Tue, 11 Jan 2022 18:11:51 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Subject: Re: [PATCH v2 16/18] mini-os: reset file type in close() in one place
 only
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20220111145817.22170-1-jgross@suse.com>
 <20220111145817.22170-17-jgross@suse.com>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <20220111145817.22170-17-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11/01/2022 14:58, Juergen Gross wrote:
> diff --git a/lib/sys.c b/lib/sys.c
> index 0e6fe5d..323a7cd 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -424,87 +424,82 @@ int fsync(int fd) {
>  
>  int close(int fd)
>  {
> +    int res = 0;
> +
>      printk("close(%d)\n", fd);
>      switch (files[fd].type) {
>          default:
> -	    files[fd].type = FTYPE_NONE;
> -	    return 0;
> +            break;
>  #ifdef CONFIG_XENBUS
>  	case FTYPE_XENBUS:
>              xs_daemon_close((void*)(intptr_t) fd);
> -            return 0;
> +            break;
>  #endif
>  #ifdef HAVE_LWIP
> -	case FTYPE_SOCKET: {
> -	    int res = lwip_close(files[fd].fd);
> -	    files[fd].type = FTYPE_NONE;
> -	    return res;
> -	}
> +	case FTYPE_SOCKET:
> +	    res = lwip_close(files[fd].fd);

Hard tabs.

> +            break;
>  #endif
>  #ifdef CONFIG_LIBXENCTRL
>  	case FTYPE_XC:
>  	    minios_interface_close_fd(fd);
> -	    return 0;
> +            break;
>  #endif
>  #ifdef CONFIG_LIBXENEVTCHN
>  	case FTYPE_EVTCHN:
>  	    minios_evtchn_close_fd(fd);
> -            return 0;
> +            break;
>  #endif
>  #ifdef CONFIG_LIBXENGNTTAB
>  	case FTYPE_GNTMAP:
>  	    minios_gnttab_close_fd(fd);
> -	    return 0;
> +            break;
>  #endif
>  #ifdef CONFIG_NETFRONT
>  	case FTYPE_TAP:
>  	    shutdown_netfront(files[fd].dev);
> -	    files[fd].type = FTYPE_NONE;
> -	    return 0;
> +            break;
>  #endif
>  #ifdef CONFIG_BLKFRONT
>  	case FTYPE_BLK:
>              shutdown_blkfront(files[fd].dev);
> -	    files[fd].type = FTYPE_NONE;
> -	    return 0;
> +            break;
>  #endif
>  #ifdef CONFIG_TPMFRONT
>  	case FTYPE_TPMFRONT:
>              shutdown_tpmfront(files[fd].dev);
> -	    files[fd].type = FTYPE_NONE;
> -	    return 0;
> +            break;
>  #endif
>  #ifdef CONFIG_TPM_TIS
>  	case FTYPE_TPM_TIS:
>              shutdown_tpm_tis(files[fd].dev);
> -	    files[fd].type = FTYPE_NONE;
> -	    return 0;
> +            break;
>  #endif
>  #ifdef CONFIG_KBDFRONT
>  	case FTYPE_KBD:
>              shutdown_kbdfront(files[fd].dev);
> -            files[fd].type = FTYPE_NONE;
> -            return 0;
> +            break;
>  #endif
>  #ifdef CONFIG_FBFRONT
>  	case FTYPE_FB:
>              shutdown_fbfront(files[fd].dev);
> -            files[fd].type = FTYPE_NONE;
> -            return 0;
> +            break;
>  #endif
>  #ifdef CONFIG_CONSFRONT
>          case FTYPE_SAVEFILE:
>          case FTYPE_CONSOLE:
>              fini_consfront(files[fd].dev);
> -            files[fd].type = FTYPE_NONE;
> -            return 0;
> +            break;
>  #endif
>  	case FTYPE_NONE:
> -	    break;
> +            printk("close(%d): Bad descriptor\n", fd);
> +            errno = EBADF;
> +            return -1;
>      }
> -    printk("close(%d): Bad descriptor\n", fd);
> -    errno = EBADF;
> -    return -1;
> +
> +    memset(files + fd, 0, sizeof(struct file));
> +    files[fd].type = FTYPE_NONE;

BUILD_BUG_ON(FTYPE_NONE != 0);

Life's too short to deal with a theoretical (and short sighted) future
where someone might want to change FTYPE_NONE away from being 0.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 18:17:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 18:17:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.255996.439044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Li2-0001hS-Ni; Tue, 11 Jan 2022 18:17:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 255996.439044; Tue, 11 Jan 2022 18:17: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 1n7Li2-0001hL-JP; Tue, 11 Jan 2022 18:17:26 +0000
Received: by outflank-mailman (input) for mailman id 255996;
 Tue, 11 Jan 2022 18:17:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=JwWh=R3=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n7Li1-0001hA-Cx
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 18:17:25 +0000
Received: from ppsw-43.csi.cam.ac.uk (ppsw-43.csi.cam.ac.uk [131.111.8.143])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b8ea3cf7-730a-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 19:17:24 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:50684)
 by ppsw-43.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.139]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n7Lhy-000ltI-p7 (Exim 4.95) (return-path <amc96@srcf.net>);
 Tue, 11 Jan 2022 18:17:22 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 9E1431FB3A;
 Tue, 11 Jan 2022 18:17:22 +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: b8ea3cf7-730a-11ec-9ce5-af14b9085ebd
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <3bfba2a9-7951-3234-86c8-3be116c640b6@srcf.net>
Date: Tue, 11 Jan 2022 18:17:22 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Subject: Re: [PATCH v2 15/18] mini-os: introduce get_file_from_fd()
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20220111145817.22170-1-jgross@suse.com>
 <20220111145817.22170-16-jgross@suse.com>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <20220111145817.22170-16-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11/01/2022 14:58, Juergen Gross wrote:
> diff --git a/lib/sys.c b/lib/sys.c
> index 6f2b026..0e6fe5d 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -98,6 +98,14 @@ struct file files[NOFILE] = {
>      { .type = FTYPE_CONSOLE }, /* stderr */
>  };
>  
> +struct file *get_file_from_fd(int fd)
> +{
> +    if ( fd < 0 || fd >= NOFILE )

fd >= ARRAY_SIZE(files)  ?

Generates slightly safer code in the event that `struct file
files[NOFILE]` gets refactored.

~Andrew

> +        return NULL;
> +
> +    return (files[fd].type == FTYPE_NONE) ? NULL : files + fd;
> +}
> +
>  DECLARE_WAIT_QUEUE_HEAD(event_queue);
>  
>  int alloc_fd(enum fd_type type)



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 18:19:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 18:19:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256002.439055 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Ljr-0002JO-3X; Tue, 11 Jan 2022 18:19:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256002.439055; Tue, 11 Jan 2022 18: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 1n7Ljr-0002JH-0K; Tue, 11 Jan 2022 18:19:19 +0000
Received: by outflank-mailman (input) for mailman id 256002;
 Tue, 11 Jan 2022 18:19:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=JwWh=R3=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n7Ljp-0002J4-80
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 18:19:17 +0000
Received: from ppsw-42.csi.cam.ac.uk (ppsw-42.csi.cam.ac.uk [131.111.8.142])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fc5eb13d-730a-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 19:19:16 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:46998)
 by ppsw-42.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.138]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n7Ljo-000aR3-6i (Exim 4.95) (return-path <amc96@srcf.net>);
 Tue, 11 Jan 2022 18:19:16 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id D8B9E1FB3A;
 Tue, 11 Jan 2022 18:19:15 +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: fc5eb13d-730a-11ec-9ce5-af14b9085ebd
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <b6526d7d-4086-30b3-181a-1a34c44137e3@srcf.net>
Date: Tue, 11 Jan 2022 18:19:15 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20220111145817.22170-1-jgross@suse.com>
 <20220111145817.22170-19-jgross@suse.com>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: [PATCH v2 18/18] mini-os: remove file type FTYPE_XC
In-Reply-To: <20220111145817.22170-19-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11/01/2022 14:58, Juergen Gross wrote:
> The only reason for the file type FTYPE_XC has been gone long time
> ago: it was needed for xc_map_foreign_bulk(), which has been switched
> to use libxenforeignmemory and doesn't need this special file any
> more.
>
> So remove everything related to FTYPE_XC.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

You'd have less churn in the series if this came ahead of patch 17. 
There are at least 3 hunks below that you've already converted once, and
one of those hunks already needs a hard tabs fixup.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 18:19:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 18:19:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256007.439066 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7LkM-0002u1-GG; Tue, 11 Jan 2022 18:19:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256007.439066; Tue, 11 Jan 2022 18: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 1n7LkM-0002tu-CX; Tue, 11 Jan 2022 18:19:50 +0000
Received: by outflank-mailman (input) for mailman id 256007;
 Tue, 11 Jan 2022 18:19:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=JwWh=R3=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n7LkK-0002J4-Bi
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 18:19:48 +0000
Received: from ppsw-43.csi.cam.ac.uk (ppsw-43.csi.cam.ac.uk [131.111.8.143])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0f0f4c1b-730b-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 19:19:47 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:50688)
 by ppsw-43.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.139]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n7LkE-000mMP-nR (Exim 4.95) (return-path <amc96@srcf.net>);
 Tue, 11 Jan 2022 18:19:42 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 154D01FB3A;
 Tue, 11 Jan 2022 18:19:42 +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: 0f0f4c1b-730b-11ec-9ce5-af14b9085ebd
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <5fd23547-268c-f7ba-a06c-3fc323d2e316@srcf.net>
Date: Tue, 11 Jan 2022 18:19:41 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Subject: Re: [PATCH] MAINTAINERS: requesting to be txt reviewer
Content-Language: en-GB
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>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>
References: <20220111212114.16273-1-dpsmith@apertussolutions.com>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <20220111212114.16273-1-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11/01/2022 21:21, Daniel P. Smith wrote:
> I would like to submit myself, Daniel P. Smith, as a reviewer of TXT support in
> Xen.
>
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>

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


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 19:15:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 19:15:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256013.439077 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7MbY-0000KJ-Ly; Tue, 11 Jan 2022 19:14:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256013.439077; Tue, 11 Jan 2022 19: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 1n7MbY-0000KC-J2; Tue, 11 Jan 2022 19:14:48 +0000
Received: by outflank-mailman (input) for mailman id 256013;
 Tue, 11 Jan 2022 19:14:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=JwWh=R3=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n7MbY-0000K2-5e
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 19:14:48 +0000
Received: from ppsw-42.csi.cam.ac.uk (ppsw-42.csi.cam.ac.uk [131.111.8.142])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bb1e9305-7312-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 20:14:44 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:47032)
 by ppsw-42.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.138]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n7MbS-000iqV-7q (Exim 4.95) (return-path <amc96@srcf.net>);
 Tue, 11 Jan 2022 19:14:42 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 28A4B1FBFC;
 Tue, 11 Jan 2022 19:14:42 +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: bb1e9305-7312-11ec-9ce5-af14b9085ebd
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <e4956df7-d7ca-cb5f-0f0e-7f3eba5d1a50@srcf.net>
Date: Tue, 11 Jan 2022 19:14:41 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20220111145817.22170-1-jgross@suse.com>
 <20220111145817.22170-17-jgross@suse.com>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: [PATCH v2 16/18] mini-os: reset file type in close() in one place
 only
In-Reply-To: <20220111145817.22170-17-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11/01/2022 14:58, Juergen Gross wrote:
> diff --git a/lib/sys.c b/lib/sys.c
> index 0e6fe5d..323a7cd 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -424,87 +424,82 @@ int fsync(int fd) {
>  
>  int close(int fd)
>  {
> +    int res = 0;
> +
>      printk("close(%d)\n", fd);
>      switch (files[fd].type) {

I know this bug is pre-existing, but the libc close() really ought to
sanity check fd before blindly indexing files[] with it.

I'd tentatively suggest that you want one extra goto from here, into
wherever the EBADF logic ends up, and it's probably worth including in
this patch.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 19:40:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 19:40:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256020.439092 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Mzz-00032y-TG; Tue, 11 Jan 2022 19:40:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256020.439092; Tue, 11 Jan 2022 19:40:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Mzz-00032Z-Nu; Tue, 11 Jan 2022 19:40:03 +0000
Received: by outflank-mailman (input) for mailman id 256020;
 Tue, 11 Jan 2022 19:40:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZoZL=R3=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n7Mzz-0002n5-4d
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 19:40:03 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 43ab366c-7316-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 20:40:00 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id AA4EF6E6;
 Tue, 11 Jan 2022 20:39:59 +0100 (CET)
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 WfAGvK-wgJ29; Tue, 11 Jan 2022 20:39:59 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id BBD90F2;
 Tue, 11 Jan 2022 20:39:58 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n7Mzs-00FEjk-S9;
 Tue, 11 Jan 2022 20:39:56 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 43ab366c-7316-11ec-9ce5-af14b9085ebd
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Tue, 11 Jan 2022 20:39:56 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Andrew Cooper <amc96@srcf.net>
Cc: Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
Subject: Re: [PATCH v2 17/18] mini-os: use function vectors instead of switch
 for file operations
Message-ID: <20220111193956.5jidxzw3kecz3h4i@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Andrew Cooper <amc96@srcf.net>, Juergen Gross <jgross@suse.com>,
	minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
References: <20220111145817.22170-1-jgross@suse.com>
 <20220111145817.22170-18-jgross@suse.com>
 <a2d4c905-c477-8553-85a7-90168d914b6e@srcf.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <a2d4c905-c477-8553-85a7-90168d914b6e@srcf.net>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: AA4EF6E6
X-Spamd-Result: default: False [0.40 / 15.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 RCPT_COUNT_FIVE(0.00)[5];
	 HAS_ORG_HEADER(0.00)[];
	 RCVD_COUNT_THREE(0.00)[3];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Andrew Cooper, le mar. 11 janv. 2022 18:08:27 +0000, a ecrit:
> On 11/01/2022 14:58, Juergen Gross wrote:
> > +typedef int file_read_func(int fd, void *buf, size_t nbytes);
> > +typedef int file_write_func(int fd, const void *buf, size_t nbytes);
> > +typedef off_t file_lseek_func(int fd, off_t offset, int whence);
> > +typedef int file_close_func(int fd);
> > +typedef int file_fstat_func(int fd, struct stat *buf);
> > +typedef int file_fcntl_func(int fd, int cmd, va_list args);
> > +typedef bool file_select_func(int fd);
> 
> Are these typedef's useful?  I don't see them used anywhere other than
> the file_ops structure.
> 
> > +
> > +struct file_ops {
> > +    const char *name;
> > +    file_read_func *read;
> > +    file_write_func *write;
> > +    file_lseek_func *lseek;
> > +    file_close_func *close;
> > +    file_fstat_func *fstat;
> > +    file_fcntl_func *fcntl;
> > +    file_select_func *select_rd;
> > +    file_select_func *select_wr;
> >  };

I agree, I'd rather see the protoypes inside the struct itself.

Samuel


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 19:43:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 19:43:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256025.439103 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7N2p-0004BE-Bh; Tue, 11 Jan 2022 19:42:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256025.439103; Tue, 11 Jan 2022 19: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 1n7N2p-0004B7-8A; Tue, 11 Jan 2022 19:42:59 +0000
Received: by outflank-mailman (input) for mailman id 256025;
 Tue, 11 Jan 2022 19:42:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=JwWh=R3=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n7N2n-0004Ar-M8
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 19:42:57 +0000
Received: from ppsw-42.csi.cam.ac.uk (ppsw-42.csi.cam.ac.uk [131.111.8.142])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ac4d0c9b-7316-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 20:42:56 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:47036)
 by ppsw-42.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.138]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n7N2l-000n7l-8W (Exim 4.95) (return-path <amc96@srcf.net>);
 Tue, 11 Jan 2022 19:42:55 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 7B7FD1FBCC;
 Tue, 11 Jan 2022 19:42:55 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ac4d0c9b-7316-11ec-9ce5-af14b9085ebd
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <da22a929-0226-c3e5-2c04-92b412613219@srcf.net>
Date: Tue, 11 Jan 2022 19:42:55 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Subject: Re: [PATCH v2 00/18] mini-os: remove struct file dependency on config
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20220111145817.22170-1-jgross@suse.com>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <20220111145817.22170-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11/01/2022 14:57, Juergen Gross wrote:
> Today the layout of struct file is depending on the Mini-OS
> configuration. This is especially bad as the layout is exported to
> external users like the Xen libraries built for Mini-OS, and those
> are being built only once for multiple stubdom configurations.
>
> Today there is no direct problem resulting from this, as the main
> difference between struct file layouts is a large union containing all
> the device specific data for the different file types. The largest
> union member is not configuration dependant, so the build is currently
> not broken.
>
> In order to avoid any future problems this patch series is eliminating
> the configuration dependency by replacing most of the device specific
> union members by a single pointer.
>
> The two union members used by Xen libraries can't be replaced yet, as
> those need to be switched to use the generic pointer first.
>
> In order to hide the Mini-OS internal implementation of the files
> array, patches 15-17 are introducing a common framework to access a
> struct file via its file descriptor, and to allocate new file types
> dynamically instead of having them all pre-defined. The file type
> specific operations are supplied via a function vector in order to
> remove the dependency of lib/sys.c on all the various file types.

Patches 1 thru 15 seem fine and ready to go.  Would it help to get those
committed now?

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 19:50:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 19:50:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256033.439123 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7NA5-0005n4-AS; Tue, 11 Jan 2022 19:50:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256033.439123; Tue, 11 Jan 2022 19:50:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7NA5-0005mx-7I; Tue, 11 Jan 2022 19:50:29 +0000
Received: by outflank-mailman (input) for mailman id 256033;
 Tue, 11 Jan 2022 19:50:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZoZL=R3=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n7NA4-0005mm-2K
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 19:50:28 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [2a0c:e300::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b7f20f2f-7317-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 20:50:26 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 768B9678;
 Tue, 11 Jan 2022 20:50:24 +0100 (CET)
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 JUBhp6cf7x8j; Tue, 11 Jan 2022 20:50:23 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id C287F140;
 Tue, 11 Jan 2022 20:50:22 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n7N9x-00FF8O-Ru;
 Tue, 11 Jan 2022 20:50: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>
X-Inumbo-ID: b7f20f2f-7317-11ec-9ce5-af14b9085ebd
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Tue, 11 Jan 2022 20:50:21 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v2 01/12] mini-os: remove event channel specific struct
 file definitions
Message-ID: <20220111195021.zekcnopxvr4fb4r4@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: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-2-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220111151215.22955-2-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 768B9678
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le mar. 11 janv. 2022 16:12:04 +0100, a ecrit:
> The event channel specific union member in struct file is no longer
> needed, so remove it together with the associated structure
> definitions.
> 
> The event channel file type and its associated handling can be removed,
> too, as libxenevtchn is now supplying a struct file_ops via a call of
> alloc_file_type().
> 
> This removes all contents of CONFIG_LIBXENEVTCHN guarded sections, so
> this config option can be removed.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
>  Config.mk                     |  1 -
>  arch/x86/testbuild/all-no     |  1 -
>  arch/x86/testbuild/all-yes    |  1 -
>  arch/x86/testbuild/newxen-yes |  1 -
>  include/lib.h                 | 15 +--------------
>  lib/sys.c                     |  7 -------
>  6 files changed, 1 insertion(+), 25 deletions(-)
> 
> diff --git a/Config.mk b/Config.mk
> index 1e08388..c244adc 100644
> --- a/Config.mk
> +++ b/Config.mk
> @@ -197,7 +197,6 @@ CONFIG-n += CONFIG_PARAVIRT
>  endif
>  # Support legacy CONFIG_XC value
>  CONFIG_XC ?= $(libc)
> -CONFIG-$(CONFIG_XC) += CONFIG_LIBXENEVTCHN
>  CONFIG-$(CONFIG_XC) += CONFIG_LIBXENGNTTAB
>  
>  CONFIG-$(lwip) += CONFIG_LWIP
> diff --git a/arch/x86/testbuild/all-no b/arch/x86/testbuild/all-no
> index d6fc260..202c317 100644
> --- a/arch/x86/testbuild/all-no
> +++ b/arch/x86/testbuild/all-no
> @@ -13,7 +13,6 @@ CONFIG_FBFRONT = n
>  CONFIG_KBDFRONT = n
>  CONFIG_CONSFRONT = n
>  CONFIG_XENBUS = n
> -CONFIG_LIBXENEVTCHN = n
>  CONFIG_LIBXENGNTTAB = n
>  CONFIG_LWIP = n
>  CONFIG_BALLOON = n
> diff --git a/arch/x86/testbuild/all-yes b/arch/x86/testbuild/all-yes
> index 98bbfeb..eb495a4 100644
> --- a/arch/x86/testbuild/all-yes
> +++ b/arch/x86/testbuild/all-yes
> @@ -16,6 +16,5 @@ CONFIG_XENBUS = y
>  CONFIG_BALLOON = y
>  CONFIG_USE_XEN_CONSOLE = y
>  # The following are special: they need support from outside
> -CONFIG_LIBXENEVTCHN = n
>  CONFIG_LIBXENGNTTAB = n
>  CONFIG_LWIP = n
> diff --git a/arch/x86/testbuild/newxen-yes b/arch/x86/testbuild/newxen-yes
> index 0603200..bf25ace 100644
> --- a/arch/x86/testbuild/newxen-yes
> +++ b/arch/x86/testbuild/newxen-yes
> @@ -17,6 +17,5 @@ CONFIG_BALLOON = y
>  CONFIG_USE_XEN_CONSOLE = y
>  XEN_INTERFACE_VERSION=__XEN_LATEST_INTERFACE_VERSION__
>  # The following are special: they need support from outside
> -CONFIG_LIBXENEVTCHN = n
>  CONFIG_LIBXENGNTTAB = n
>  CONFIG_LWIP = n
> diff --git a/include/lib.h b/include/lib.h
> index 4892320..df972ef 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -169,8 +169,7 @@ void sanity_check(void);
>  #define FTYPE_TPM_TIS   11
>  #define FTYPE_XENBUS    12
>  #define FTYPE_GNTMAP    13
> -#define FTYPE_EVTCHN    14
> -#define FTYPE_N         15
> +#define FTYPE_N         14
>  #define FTYPE_SPARE     16
>  
>  typedef int file_read_func(int fd, void *buf, size_t nbytes);
> @@ -199,15 +198,6 @@ off_t lseek_default(int fd, off_t offset, int whence);
>  bool select_yes(int fd);
>  bool select_read_flag(int fd);
>  
> -LIST_HEAD(evtchn_port_list, evtchn_port_info);
> -
> -struct evtchn_port_info {
> -        LIST_ENTRY(evtchn_port_info) list;
> -        evtchn_port_t port;
> -        unsigned long pending;
> -        int bound;
> -};
> -
>  struct file {
>      unsigned int type;
>      bool read;	/* maybe available for read */
> @@ -215,9 +205,6 @@ struct file {
>      union {
>          int fd; /* Any fd from an upper layer. */
>          void *dev;
> -	struct {
> -	    struct evtchn_port_list ports;
> -	} evtchn;
>  	struct gntmap gntmap;
>      };
>  };
> diff --git a/lib/sys.c b/lib/sys.c
> index 52876e0..8fa1fee 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -505,11 +505,6 @@ int close(int fd)
>  	    res = lwip_close(files[fd].fd);
>              break;
>  #endif
> -#ifdef CONFIG_LIBXENEVTCHN
> -	case FTYPE_EVTCHN:
> -	    minios_evtchn_close_fd(fd);
> -            break;
> -#endif
>  #ifdef CONFIG_LIBXENGNTTAB
>  	case FTYPE_GNTMAP:
>  	    minios_gnttab_close_fd(fd);
> @@ -723,7 +718,6 @@ static const char *file_types[] = {
>      [FTYPE_NONE]    = "none",
>      [FTYPE_CONSOLE] = "console",
>      [FTYPE_XENBUS]  = "xenbus",
> -    [FTYPE_EVTCHN]  = "evtchn",
>      [FTYPE_SOCKET]  = "socket",
>      [FTYPE_TAP]     = "net",
>      [FTYPE_BLK]     = "blk",
> @@ -915,7 +909,6 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
>  	    FD_CLR(i, exceptfds);
>  	    break;
>  #endif
> -	case FTYPE_EVTCHN:
>  	case FTYPE_TAP:
>  	case FTYPE_BLK:
>  	case FTYPE_KBD:
> -- 
> 2.26.2
> 

-- 
Samuel
<h> t: bah c'est tendre le pattern pour se faire matcher, hein


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 19:55:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 19:55:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256038.439142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7NEx-0006XO-0o; Tue, 11 Jan 2022 19:55:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256038.439142; Tue, 11 Jan 2022 19:55:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7NEw-0006XH-TN; Tue, 11 Jan 2022 19:55:30 +0000
Received: by outflank-mailman (input) for mailman id 256038;
 Tue, 11 Jan 2022 19:55:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZoZL=R3=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n7NEw-0006VC-1V
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 19:55:30 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6c88fe59-7318-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 20:55:28 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 5A1B8678;
 Tue, 11 Jan 2022 20:55:27 +0100 (CET)
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 DRJwrHkXCUFE; Tue, 11 Jan 2022 20:55:26 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id DFBEC261;
 Tue, 11 Jan 2022 20:55:25 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n7NEr-00FFHq-4g;
 Tue, 11 Jan 2022 20:55:25 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6c88fe59-7318-11ec-9ce5-af14b9085ebd
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Tue, 11 Jan 2022 20:55:25 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v2 02/12] mini-os: remove gnttab specific member from
 struct file
Message-ID: <20220111195525.qnn2kixvrsb3fjqa@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: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-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: <20220111151215.22955-3-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 5A1B8678
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le mar. 11 janv. 2022 16:12:05 +0100, a ecrit:
> The event channel specific union member in struct file is no longer
> needed, so remove it.
> 
> The gnttab file type and its associated handling can be removed, too,
> as libxengnttab is now supplying a struct file_ops via a call of
> alloc_file_type().
> 
> This removes all contents of CONFIG_LIBXENGNTTAB guarded sections, so
> this config option can be removed.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
>  Config.mk                     | 1 -
>  arch/x86/testbuild/all-no     | 1 -
>  arch/x86/testbuild/all-yes    | 1 -
>  arch/x86/testbuild/newxen-yes | 1 -
>  gntmap.c                      | 2 +-
>  include/lib.h                 | 4 +---
>  lib/sys.c                     | 5 -----
>  7 files changed, 2 insertions(+), 13 deletions(-)
> 
> diff --git a/Config.mk b/Config.mk
> index c244adc..eb84515 100644
> --- a/Config.mk
> +++ b/Config.mk
> @@ -197,7 +197,6 @@ CONFIG-n += CONFIG_PARAVIRT
>  endif
>  # Support legacy CONFIG_XC value
>  CONFIG_XC ?= $(libc)
> -CONFIG-$(CONFIG_XC) += CONFIG_LIBXENGNTTAB
>  
>  CONFIG-$(lwip) += CONFIG_LWIP
>  
> diff --git a/arch/x86/testbuild/all-no b/arch/x86/testbuild/all-no
> index 202c317..c429354 100644
> --- a/arch/x86/testbuild/all-no
> +++ b/arch/x86/testbuild/all-no
> @@ -13,7 +13,6 @@ CONFIG_FBFRONT = n
>  CONFIG_KBDFRONT = n
>  CONFIG_CONSFRONT = n
>  CONFIG_XENBUS = n
> -CONFIG_LIBXENGNTTAB = n
>  CONFIG_LWIP = n
>  CONFIG_BALLOON = n
>  CONFIG_USE_XEN_CONSOLE = n
> diff --git a/arch/x86/testbuild/all-yes b/arch/x86/testbuild/all-yes
> index eb495a4..6c6096b 100644
> --- a/arch/x86/testbuild/all-yes
> +++ b/arch/x86/testbuild/all-yes
> @@ -16,5 +16,4 @@ CONFIG_XENBUS = y
>  CONFIG_BALLOON = y
>  CONFIG_USE_XEN_CONSOLE = y
>  # The following are special: they need support from outside
> -CONFIG_LIBXENGNTTAB = n
>  CONFIG_LWIP = n
> diff --git a/arch/x86/testbuild/newxen-yes b/arch/x86/testbuild/newxen-yes
> index bf25ace..88094fc 100644
> --- a/arch/x86/testbuild/newxen-yes
> +++ b/arch/x86/testbuild/newxen-yes
> @@ -17,5 +17,4 @@ CONFIG_BALLOON = y
>  CONFIG_USE_XEN_CONSOLE = y
>  XEN_INTERFACE_VERSION=__XEN_LATEST_INTERFACE_VERSION__
>  # The following are special: they need support from outside
> -CONFIG_LIBXENGNTTAB = n
>  CONFIG_LWIP = n
> diff --git a/gntmap.c b/gntmap.c
> index 6fa1dac..3422ab2 100644
> --- a/gntmap.c
> +++ b/gntmap.c
> @@ -3,7 +3,7 @@
>   *
>   * Diego Ongaro <diego.ongaro@citrix.com>, July 2008
>   *
> - * Files of type FTYPE_GNTMAP contain a gntmap, which is an array of
> + * Files of libxengnttab contain a gntmap, which is an array of
>   * (host address, grant handle) pairs. Grant handles come from a hypervisor map
>   * operation and are needed for the corresponding unmap.
>   *
> diff --git a/include/lib.h b/include/lib.h
> index df972ef..283abb8 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -168,8 +168,7 @@ void sanity_check(void);
>  #define FTYPE_TPMFRONT  10
>  #define FTYPE_TPM_TIS   11
>  #define FTYPE_XENBUS    12
> -#define FTYPE_GNTMAP    13
> -#define FTYPE_N         14
> +#define FTYPE_N         13
>  #define FTYPE_SPARE     16
>  
>  typedef int file_read_func(int fd, void *buf, size_t nbytes);
> @@ -205,7 +204,6 @@ struct file {
>      union {
>          int fd; /* Any fd from an upper layer. */
>          void *dev;
> -	struct gntmap gntmap;
>      };
>  };
>  
> diff --git a/lib/sys.c b/lib/sys.c
> index 8fa1fee..9540410 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -505,11 +505,6 @@ int close(int fd)
>  	    res = lwip_close(files[fd].fd);
>              break;
>  #endif
> -#ifdef CONFIG_LIBXENGNTTAB
> -	case FTYPE_GNTMAP:
> -	    minios_gnttab_close_fd(fd);
> -            break;
> -#endif
>  #ifdef CONFIG_NETFRONT
>  	case FTYPE_TAP:
>  	    shutdown_netfront(files[fd].dev);
> -- 
> 2.26.2
> 

-- 
Samuel
Tu as lu les docs. Tu es devenu un informaticien. Que tu le veuilles
ou non. Lire la doc, c'est le Premier et Unique Commandement de
l'informaticien.
-+- TP in: Guide du Linuxien pervers - "L'évangile selon St Thomas"


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 19:57:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 19:57:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256040.439153 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7NGM-0007Bj-Ax; Tue, 11 Jan 2022 19:56:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256040.439153; Tue, 11 Jan 2022 19: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 1n7NGM-0007Bc-7u; Tue, 11 Jan 2022 19:56:58 +0000
Received: by outflank-mailman (input) for mailman id 256040;
 Tue, 11 Jan 2022 19:56:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=JwWh=R3=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n7NGK-0007Am-NP
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 19:56:56 +0000
Received: from ppsw-42.csi.cam.ac.uk (ppsw-42.csi.cam.ac.uk [131.111.8.142])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9f8cd192-7318-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 20:56:55 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:47042)
 by ppsw-42.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.138]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n7NGH-000p7C-7L (Exim 4.95) (return-path <amc96@srcf.net>);
 Tue, 11 Jan 2022 19:56:53 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 1C2D51FC68;
 Tue, 11 Jan 2022 19:56:53 +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: 9f8cd192-7318-11ec-81c1-a30af7de8005
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <a73bd0c2-44ee-c984-9c72-15d36afc8aa5@srcf.net>
Date: Tue, 11 Jan 2022 19:56:52 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20220111150318.22570-1-jgross@suse.com>
 <20220111150318.22570-2-jgross@suse.com>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: [PATCH v2 1/3] tools/libs/evtchn: decouple more from mini-os
In-Reply-To: <20220111150318.22570-2-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11/01/2022 15:03, Juergen Gross wrote:
> diff --git a/tools/libs/evtchn/minios.c b/tools/libs/evtchn/minios.c
> index e5dfdc5ef5..c3a5ce3b98 100644
> --- a/tools/libs/evtchn/minios.c
> +++ b/tools/libs/evtchn/minios.c
> @@ -38,29 +38,40 @@
>  
>  #include "private.h"
>  
> -extern void minios_evtchn_close_fd(int fd);
> +LIST_HEAD(port_list, port_info);
> +
> +struct port_info {
> +    LIST_ENTRY(port_info) list;
> +    evtchn_port_t port;
> +    bool pending;
> +    bool bound;
> +};
>  
>  extern struct wait_queue_head event_queue;

Yuck.  This should come from minios's evtchn header, rather than being
extern'd like this, but lets consider that future cleanup work.

> +int minios_evtchn_close_fd(int fd);

You don't need this forward declaration, because nothing in this file
calls minios_evtchn_close_fd().  The extern should simply be deleted,
and it removes a hunk from your later xen.git series.

> @@ -69,18 +80,54 @@ static void port_dealloc(struct evtchn_port_info *port_info)
>      free(port_info);
>  }
>  
> +int minios_evtchn_close_fd(int fd)
> +{
> +    struct port_info *port_info, *tmp;
> +    struct file *file = get_file_from_fd(fd);
> +    struct port_list *port_list = file->dev;

Looking at this, the file_ops don't need to have the C ABI.

The single caller already needs access to the file structure, so could
pass both file and fd in to the ops->close() function.  Thoughts?

> +
> +    LIST_FOREACH_SAFE(port_info, port_list, list, tmp)
> +        port_dealloc(port_info);
> +    free(port_list);
> +
> +    return 0;
> +}
> +
> +static struct file_ops evtchn_ops = {

This wants to become const, when alloc_file_type() has been
appropriately const'd.

> +    .name = "evtchn",
> +    .close = minios_evtchn_close_fd,
> +    .select_rd = select_read_flag,
> +};
> +
>  /*
>   * XENEVTCHN_NO_CLOEXEC is being ignored, as there is no exec() call supported
>   * in Mini-OS.
>   */
>  int osdep_evtchn_open(xenevtchn_handle *xce, unsigned int flags)
>  {
> -    int fd = alloc_fd(FTYPE_EVTCHN);
> +    int fd;
> +    struct file *file;
> +    struct port_list *list;
> +    static unsigned int ftype_evtchn;
>  
> -    if ( fd == -1 )
> +    if ( !ftype_evtchn )
> +        ftype_evtchn = alloc_file_type(&evtchn_ops);

Hmm.  MiniOS doesn't appear to support __attribute__((constructor)) but
this would be an ideal candidate.

It would remove a non-threadsafe singleton from a (largely unrelated)
codepath.

Should be very simple to add to MiniOS.  See Xen's init_constructors(),
and add CONSTRUCTORS to the linker file.

> @@ -134,42 +171,43 @@ int xenevtchn_notify(xenevtchn_handle *xce, evtchn_port_t port)
>  
>  static void evtchn_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
>  {
> -    int fd = (int)(intptr_t)data;
> -    struct evtchn_port_info *port_info;
> +    xenevtchn_handle *xce = data;
> +    struct file *file = get_file_from_fd(xce->fd);
> +    struct port_info *port_info;
> +    struct port_list *port_list;
>  
> -    assert(files[fd].type == FTYPE_EVTCHN);
> +    assert(file);
> +    port_list = file->dev;
>      mask_evtchn(port);
> -    LIST_FOREACH(port_info, &files[fd].evtchn.ports, list)
> +    LIST_FOREACH(port_info, port_list, list)
>      {
>          if ( port_info->port == port )
>              goto found;
>      }
>  
> -    printk("Unknown port for handle %d\n", fd);
> +    printk("Unknown port for handle %d\n", xce->fd);

As you're editing this line anyway, it really wants to become "Unknown
port %d for handle %d\n".

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 19:58:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 19:58:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256045.439168 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7NHm-0007sl-Sd; Tue, 11 Jan 2022 19:58:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256045.439168; Tue, 11 Jan 2022 19:58: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 1n7NHm-0007se-Pb; Tue, 11 Jan 2022 19:58:26 +0000
Received: by outflank-mailman (input) for mailman id 256045;
 Tue, 11 Jan 2022 19:58:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZoZL=R3=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n7NHl-0007p4-4R
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 19:58:25 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d51b3e6a-7318-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 20:58:23 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 2982B678;
 Tue, 11 Jan 2022 20:58:23 +0100 (CET)
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 m2eqNvvpl227; Tue, 11 Jan 2022 20:58:22 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id BD163140;
 Tue, 11 Jan 2022 20:58:22 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n7NHi-00FFLI-BT;
 Tue, 11 Jan 2022 20:58:22 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d51b3e6a-7318-11ec-81c1-a30af7de8005
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Tue, 11 Jan 2022 20:58:22 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v2 17/18] mini-os: use function vectors instead of switch
 for file operations
Message-ID: <20220111195822.z4n7rjcv65aoswxw@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: <20220111145817.22170-1-jgross@suse.com>
 <20220111145817.22170-18-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220111145817.22170-18-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 2982B678
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le mar. 11 janv. 2022 15:58:16 +0100, a ecrit:
> +    for ( i = FTYPE_N; i < ARRAY_SIZE(file_ops) && file_ops[i]; i++ );

For such loops, I'd rather see the ';' on its own line, to make it clear
it's an empty loop.

Samuel


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 20:06:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 20:06:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256052.439182 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7NOx-0000z7-OT; Tue, 11 Jan 2022 20:05:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256052.439182; Tue, 11 Jan 2022 20:05:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7NOx-0000yt-K3; Tue, 11 Jan 2022 20:05:51 +0000
Received: by outflank-mailman (input) for mailman id 256052;
 Tue, 11 Jan 2022 20:05:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZoZL=R3=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n7NOx-0000yW-0n
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 20:05:51 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [2a0c:e300::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id decb6d33-7319-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 21:05:49 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id A86F1678;
 Tue, 11 Jan 2022 21:05:48 +0100 (CET)
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 dDuQCKH3RpjN; Tue, 11 Jan 2022 21:05:48 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 05521381;
 Tue, 11 Jan 2022 21:05:47 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n7NOt-00FFMu-Co;
 Tue, 11 Jan 2022 21:05: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>
X-Inumbo-ID: decb6d33-7319-11ec-81c1-a30af7de8005
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Tue, 11 Jan 2022 21:05:47 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v2 17/18] mini-os: use function vectors instead of switch
 for file operations
Message-ID: <20220111200547.wb6mwl6zxtf3y54c@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: <20220111145817.22170-1-jgross@suse.com>
 <20220111145817.22170-18-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220111145817.22170-18-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: A86F1678
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le mar. 11 janv. 2022 15:58:16 +0100, a ecrit:
> @@ -370,8 +413,45 @@ int write(int fd, const void *buf, size_t nbytes)
>      return -1;
>  }
>  
> +off_t lseek_default(int fd, off_t offset, int whence)
> +{
> +    switch ( whence )
> +    {

Is there a reason for making this one a separate function, unlike others
for which you kept the code in the main function?

Apart from that, this looks good to me.

> +    case SEEK_SET:
> +        files[fd].offset = offset;
> +        break;
> +
> +    case SEEK_CUR:
> +        files[fd].offset += offset;
> +        break;
> +
> +    case SEEK_END:
> +    {
> +        struct stat st;
> +        int ret;
> +
> +        ret = fstat(fd, &st);
> +        if ( ret )
> +            return -1;
> +        files[fd].offset = st.st_size + offset;
> +        break;
> +    }
> +
> +    default:
> +        errno = EINVAL;
> +        return -1;
> +    }
> +
> +    return files[fd].offset;
> +}
> +
>  off_t lseek(int fd, off_t offset, int whence)
>  {
> +    struct file_ops *ops = get_file_ops(files[fd].type);
> +
> +    if ( ops->lseek )
> +        return ops->lseek(fd, offset, whence);
> +
>      switch(files[fd].type) {
>  #ifdef CONFIG_BLKFRONT
>         case FTYPE_BLK:
> @@ -393,28 +473,7 @@ off_t lseek(int fd, off_t offset, int whence)
>            return (off_t) -1;
>      }
>  
> -    switch (whence) {
> -       case SEEK_SET:
> -          files[fd].offset = offset;
> -          break;
> -       case SEEK_CUR:
> -          files[fd].offset += offset;
> -          break;
> -       case SEEK_END:
> -          {
> -             struct stat st;
> -             int ret;
> -             ret = fstat(fd, &st);
> -             if (ret)
> -                return -1;
> -             files[fd].offset = st.st_size + offset;
> -             break;
> -          }
> -       default:
> -          errno = EINVAL;
> -          return -1;
> -    }
> -    return files[fd].offset;
> +    return lseek_default(fd, offset, whence);
>  }
>  
>  int fsync(int fd) {


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 20:06:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 20:06:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256055.439194 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7NPQ-0001XU-1K; Tue, 11 Jan 2022 20:06:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256055.439194; Tue, 11 Jan 2022 20:06:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7NPP-0001XN-Ub; Tue, 11 Jan 2022 20:06:19 +0000
Received: by outflank-mailman (input) for mailman id 256055;
 Tue, 11 Jan 2022 20:06:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZoZL=R3=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n7NPP-0001Vz-Ax
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 20:06:19 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eff36a36-7319-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 21:06:18 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id AE365796;
 Tue, 11 Jan 2022 21:06:17 +0100 (CET)
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 PWIs8wVpdH8S; Tue, 11 Jan 2022 21:06:16 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 50F3D746;
 Tue, 11 Jan 2022 21:06:16 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n7NPL-00FFND-Rq;
 Tue, 11 Jan 2022 21:06:15 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eff36a36-7319-11ec-9ce5-af14b9085ebd
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Tue, 11 Jan 2022 21:06:15 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v2 03/12] mini-os: use alloc_file_type() and
 get_file_from_fd() in xs
Message-ID: <20220111200615.b5tpi4faz3cak2ft@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: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-4-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20220111151215.22955-4-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: AE365796
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le mar. 11 janv. 2022 16:12:06 +0100, a ecrit:
> Allocate the needed file type via alloc_file_type().
> 
> Instead of directly accessing the files[] array use get_file_from_fd().
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
>  include/lib.h   |  3 +--
>  lib/sys.c       | 18 --------------
>  lib/xs.c        | 64 +++++++++++++++++++++++++++++++++++++------------
>  xenbus/xenbus.c |  1 +
>  4 files changed, 51 insertions(+), 35 deletions(-)
> 
> diff --git a/include/lib.h b/include/lib.h
> index 283abb8..05c7de5 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -167,8 +167,7 @@ void sanity_check(void);
>  #define FTYPE_BLK        9
>  #define FTYPE_TPMFRONT  10
>  #define FTYPE_TPM_TIS   11
> -#define FTYPE_XENBUS    12
> -#define FTYPE_N         13
> +#define FTYPE_N         12
>  #define FTYPE_SPARE     16
>  
>  typedef int file_read_func(int fd, void *buf, size_t nbytes);
> diff --git a/lib/sys.c b/lib/sys.c
> index 9540410..d213ae5 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -495,11 +495,6 @@ int close(int fd)
>      switch (files[fd].type) {
>          default:
>              break;
> -#ifdef CONFIG_XENBUS
> -	case FTYPE_XENBUS:
> -            xs_daemon_close((void*)(intptr_t) fd);
> -            break;
> -#endif
>  #ifdef HAVE_LWIP
>  	case FTYPE_SOCKET:
>  	    res = lwip_close(files[fd].fd);
> @@ -712,7 +707,6 @@ int closedir(DIR *dir)
>  static const char *file_types[] = {
>      [FTYPE_NONE]    = "none",
>      [FTYPE_CONSOLE] = "console",
> -    [FTYPE_XENBUS]  = "xenbus",
>      [FTYPE_SOCKET]  = "socket",
>      [FTYPE_TAP]     = "net",
>      [FTYPE_BLK]     = "blk",
> @@ -892,18 +886,6 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
>                  n++;
>  	    FD_CLR(i, exceptfds);
>  	    break;
> -#ifdef CONFIG_XENBUS
> -	case FTYPE_XENBUS:
> -	    if (FD_ISSET(i, readfds)) {
> -                if (files[i].dev)
> -		    n++;
> -		else
> -		    FD_CLR(i, readfds);
> -	    }
> -	    FD_CLR(i, writefds);
> -	    FD_CLR(i, exceptfds);
> -	    break;
> -#endif
>  	case FTYPE_TAP:
>  	case FTYPE_BLK:
>  	case FTYPE_KBD:
> diff --git a/lib/xs.c b/lib/xs.c
> index 4af0f96..ac830d2 100644
> --- a/lib/xs.c
> +++ b/lib/xs.c
> @@ -18,23 +18,55 @@ static inline int _xs_fileno(struct xs_handle *h) {
>      return (intptr_t) h;
>  }
>  
> +static int xs_close_fd(int fd)
> +{
> +    struct xenbus_event *event, *next;
> +    struct file *file = get_file_from_fd(fd);
> +
> +    for (event = file->dev; event; event = next)
> +    {
> +        next = event->next;
> +        free(event);
> +    }
> +
> +    return 0;
> +}
> +
> +static bool xs_can_read(int fd)
> +{
> +    struct file *file = get_file_from_fd(fd);
> +
> +    return file && file->dev;
> +}
> +
> +static struct file_ops xenbus_ops = {
> +    .name = "xenbus",
> +    .close = xs_close_fd,
> +    .select_rd = xs_can_read,
> +};
> +
>  struct xs_handle *xs_daemon_open()
>  {
> -    int fd = alloc_fd(FTYPE_XENBUS);
> -    files[fd].dev = NULL;
> -    printk("xs_daemon_open -> %d, %p\n", fd, &files[fd].dev);
> +    int fd;
> +    struct file *file;
> +    static unsigned int ftype_xenbus;
> +
> +    if ( !ftype_xenbus )
> +        ftype_xenbus = alloc_file_type(&xenbus_ops);
> +
> +    fd = alloc_fd(ftype_xenbus);
> +    file = get_file_from_fd(fd);
> +    if ( !file )
> +        return NULL;
> +
> +    file->dev = NULL;
> +    printk("xs_daemon_open -> %d, %p\n", fd, &file->dev);
>      return (void*)(intptr_t) fd;
>  }
>  
>  void xs_daemon_close(struct xs_handle *h)
>  {
> -    int fd = _xs_fileno(h);
> -    struct xenbus_event *event, *next;
> -    for (event = files[fd].dev; event; event = next)
> -    {
> -        next = event->next;
> -        free(event);
> -    }
> +    close(_xs_fileno(h));
>  }
>  
>  int xs_fileno(struct xs_handle *h)
> @@ -169,18 +201,20 @@ char **xs_directory(struct xs_handle *h, xs_transaction_t t,
>  
>  bool xs_watch(struct xs_handle *h, const char *path, const char *token)
>  {
> -    int fd = _xs_fileno(h);
> +    struct file *file = get_file_from_fd(_xs_fileno(h));
> +
>      printk("xs_watch(%s, %s)\n", path, token);
>      return xs_bool(xenbus_watch_path_token(XBT_NULL, path, token,
> -                   (xenbus_event_queue *)&files[fd].dev));
> +                   (xenbus_event_queue *)&file->dev));
>  }
>  
>  char **xs_read_watch(struct xs_handle *h, unsigned int *num)
>  {
> -    int fd = _xs_fileno(h);
>      struct xenbus_event *event;
> -    event = files[fd].dev;
> -    files[fd].dev = event->next;
> +    struct file *file = get_file_from_fd(_xs_fileno(h));
> +
> +    event = file->dev;
> +    file->dev = event->next;
>      printk("xs_read_watch() -> %s %s\n", event->path, event->token);
>      *num = 2;
>      return (char **) &event->path;
> diff --git a/xenbus/xenbus.c b/xenbus/xenbus.c
> index b687678..785389f 100644
> --- a/xenbus/xenbus.c
> +++ b/xenbus/xenbus.c
> @@ -393,6 +393,7 @@ static int allocate_xenbus_id(void)
>  void init_xenbus(void)
>  {
>      int err;
> +
>      DEBUG("init_xenbus called.\n");
>      create_thread("xenstore", xenbus_thread_func, NULL);
>      DEBUG("buf at %p.\n", xenstore_buf);
> -- 
> 2.26.2
> 

-- 
Samuel
<y> muhahaha...
<y> ya un train qui part de Perrache à 14h57
<y> qui passe à Part-Dieu à 15h10
<y> si je le prends à Perrache, je suis en zone bleue
<y> si je le prends à Part-Dieu, je suis en zone blanche
<y> donc je vais le prendre à Perrache *mais* à Part-Dieu ;-)
 -+- #ens-mim - vive la SNCF -+-


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 20:08:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 20:08:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256060.439208 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7NRM-0002LK-FB; Tue, 11 Jan 2022 20:08:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256060.439208; Tue, 11 Jan 2022 20: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 1n7NRM-0002LD-CI; Tue, 11 Jan 2022 20:08:20 +0000
Received: by outflank-mailman (input) for mailman id 256060;
 Tue, 11 Jan 2022 20:08:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=JwWh=R3=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n7NRL-0002L5-C0
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 20:08:19 +0000
Received: from ppsw-43.csi.cam.ac.uk (ppsw-43.csi.cam.ac.uk [131.111.8.143])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 375bb04a-731a-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 21:08:18 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:50732)
 by ppsw-43.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.139]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n7NRJ-0001so-nV (Exim 4.95) (return-path <amc96@srcf.net>);
 Tue, 11 Jan 2022 20:08:17 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 2A65C1FDB6;
 Tue, 11 Jan 2022 20:08:17 +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: 375bb04a-731a-11ec-9ce5-af14b9085ebd
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <b0dec08d-2b94-efbb-cbc8-d67e3529fcc1@srcf.net>
Date: Tue, 11 Jan 2022 20:08:16 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20220111150318.22570-1-jgross@suse.com>
 <20220111150318.22570-3-jgross@suse.com>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: [PATCH v2 2/3] tools/libs/gnttab: decouple more from mini-os
In-Reply-To: <20220111150318.22570-3-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11/01/2022 15:03, Juergen Gross wrote:
> libgnttab is using implementation details of Mini-OS. Change that by
> letting libgnttab use the new alloc_file_type() and get_file_from_fd()
> functions and the generic dev pointer of struct file from Mini-OS.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> V2:
> - add alloc_file_type() support
> ---
>  tools/libs/gnttab/minios.c | 68 +++++++++++++++++++++++++++-----------
>  1 file changed, 48 insertions(+), 20 deletions(-)
>
> diff --git a/tools/libs/gnttab/minios.c b/tools/libs/gnttab/minios.c
> index f78caadd30..c19f339c8c 100644
> --- a/tools/libs/gnttab/minios.c
> +++ b/tools/libs/gnttab/minios.c
> @@ -28,18 +28,53 @@
>  #include <sys/mman.h>
>  
>  #include <errno.h>
> +#include <malloc.h>
>  #include <unistd.h>
>  
>  #include "private.h"
>  
> -void minios_gnttab_close_fd(int fd);
> +int minios_gnttab_close_fd(int fd);

Again, like evtchn, no need to forward declare.


However, I've only just realised...

> +
> +int minios_gnttab_close_fd(int fd)
> +{
> +    struct file *file = get_file_from_fd(fd);
> +
> +    gntmap_fini(file->dev);
> +    free(file->dev);
> +
> +    return 0;
> +}

The only reason this doesn't break the build is because the declaration
is not in a header.  After this change, you've got the function
returning int here, but declared as returning void as far as MiniOS is
concerned.

Furthermore, we cannot fix this mess atomically now that minios has
moved into a separate repo.  It's tolerable from an ABI point of view on
x86, but I don't know for certain on other architectures.

The least bad way I can think of doing this would be to leave void
minios_gnttab_close_fd(int fd) exactly as it was, and instead of
converting it's use here, use a separate static function straight away
for the file ops.  (Will be necessary anyway if you like my suggestion
of passing file too).  Then in the whole function in "tools/libs: final
cleanup making mini-os callbacks static", rather than just making it static.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 20:10:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 20:10:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256064.439220 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7NT8-0003fC-RG; Tue, 11 Jan 2022 20:10:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256064.439220; Tue, 11 Jan 2022 20: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 1n7NT8-0003f5-OE; Tue, 11 Jan 2022 20:10:10 +0000
Received: by outflank-mailman (input) for mailman id 256064;
 Tue, 11 Jan 2022 20:10:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=JwWh=R3=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n7NT6-0003ex-W3
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 20:10:08 +0000
Received: from ppsw-32.csi.cam.ac.uk (ppsw-32.csi.cam.ac.uk [131.111.8.132])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 78b75536-731a-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 21:10:08 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:48120)
 by ppsw-32.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.136]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n7NT5-000Wvn-0G (Exim 4.95) (return-path <amc96@srcf.net>);
 Tue, 11 Jan 2022 20:10:07 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id C89C21FDB6;
 Tue, 11 Jan 2022 20:10:06 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 78b75536-731a-11ec-81c1-a30af7de8005
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <e5a57fd0-3274-db2b-0dff-9f8d7ea3c658@srcf.net>
Date: Tue, 11 Jan 2022 20:10:06 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Subject: Re: [PATCH v2 3/3] tools/libs/ctrl: remove file related handling
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20220111150318.22570-1-jgross@suse.com>
 <20220111150318.22570-4-jgross@suse.com>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <20220111150318.22570-4-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11/01/2022 15:03, Juergen Gross wrote:
> There is no special file handling related to libxenctrl in Mini-OS
> any longer, so the close hook can be removed.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

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

> ---
> V2:
> - new patch
> ---
>  tools/libs/ctrl/xc_minios.c | 9 ---------
>  1 file changed, 9 deletions(-)
>
> diff --git a/tools/libs/ctrl/xc_minios.c b/tools/libs/ctrl/xc_minios.c
> index 1799daafdc..3dea7a78a5 100644
> --- a/tools/libs/ctrl/xc_minios.c
> +++ b/tools/libs/ctrl/xc_minios.c
> @@ -35,15 +35,6 @@
>  
>  #include "xc_private.h"
>  
> -void minios_interface_close_fd(int fd);
> -
> -extern void minios_interface_close_fd(int fd);

This is even more nonsense than the evtchn side.  Good riddance.

~Andrew

> -
> -void minios_interface_close_fd(int fd)
> -{
> -    files[fd].type = FTYPE_NONE;
> -}
> -
>  /* Optionally flush file to disk and discard page cache */
>  void discard_file_cache(xc_interface *xch, int fd, int flush)
>  {



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 20:11:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 20:11:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256073.439235 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7NUd-0004Ij-A4; Tue, 11 Jan 2022 20:11:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256073.439235; Tue, 11 Jan 2022 20:11: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 1n7NUd-0004Ic-6m; Tue, 11 Jan 2022 20:11:43 +0000
Received: by outflank-mailman (input) for mailman id 256073;
 Tue, 11 Jan 2022 20:11:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZoZL=R3=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n7NUb-0004GU-Cf
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 20:11:41 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id af7f0431-731a-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 21:11:39 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 0DE81678;
 Tue, 11 Jan 2022 21:11:39 +0100 (CET)
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 USutWDA51RWx; Tue, 11 Jan 2022 21:11:37 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 9345A261;
 Tue, 11 Jan 2022 21:11:37 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n7NUW-00FFQS-TL;
 Tue, 11 Jan 2022 21:11: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>
X-Inumbo-ID: af7f0431-731a-11ec-81c1-a30af7de8005
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Tue, 11 Jan 2022 21:11:36 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
Subject: Re: [PATCH v2 03/12] mini-os: use alloc_file_type() and
 get_file_from_fd() in xs
Message-ID: <20220111201136.yqp274wyqju5zshs@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: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-4-jgross@suse.com>
 <20220111200615.b5tpi4faz3cak2ft@begin>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20220111200615.b5tpi4faz3cak2ft@begin>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 0DE81678
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Samuel Thibault, le mar. 11 janv. 2022 21:06:15 +0100, a ecrit:
> Juergen Gross, le mar. 11 janv. 2022 16:12:06 +0100, a ecrit:
> > Allocate the needed file type via alloc_file_type().
> > 
> > Instead of directly accessing the files[] array use get_file_from_fd().
> > 
> > Signed-off-by: Juergen Gross <jgross@suse.com>
> 
> Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
> 
> > ---
> >  include/lib.h   |  3 +--
> >  lib/sys.c       | 18 --------------
> >  lib/xs.c        | 64 +++++++++++++++++++++++++++++++++++++------------
> >  xenbus/xenbus.c |  1 +
> >  4 files changed, 51 insertions(+), 35 deletions(-)
> > 
> > diff --git a/include/lib.h b/include/lib.h
> > index 283abb8..05c7de5 100644
> > --- a/include/lib.h
> > +++ b/include/lib.h
> > @@ -167,8 +167,7 @@ void sanity_check(void);
> >  #define FTYPE_BLK        9
> >  #define FTYPE_TPMFRONT  10
> >  #define FTYPE_TPM_TIS   11
> > -#define FTYPE_XENBUS    12
> > -#define FTYPE_N         13
> > +#define FTYPE_N         12
> >  #define FTYPE_SPARE     16
> >  
> >  typedef int file_read_func(int fd, void *buf, size_t nbytes);
> > diff --git a/lib/sys.c b/lib/sys.c
> > index 9540410..d213ae5 100644
> > --- a/lib/sys.c
> > +++ b/lib/sys.c
> > @@ -495,11 +495,6 @@ int close(int fd)
> >      switch (files[fd].type) {
> >          default:
> >              break;
> > -#ifdef CONFIG_XENBUS
> > -	case FTYPE_XENBUS:
> > -            xs_daemon_close((void*)(intptr_t) fd);
> > -            break;
> > -#endif
> >  #ifdef HAVE_LWIP
> >  	case FTYPE_SOCKET:
> >  	    res = lwip_close(files[fd].fd);
> > @@ -712,7 +707,6 @@ int closedir(DIR *dir)
> >  static const char *file_types[] = {
> >      [FTYPE_NONE]    = "none",
> >      [FTYPE_CONSOLE] = "console",
> > -    [FTYPE_XENBUS]  = "xenbus",
> >      [FTYPE_SOCKET]  = "socket",
> >      [FTYPE_TAP]     = "net",
> >      [FTYPE_BLK]     = "blk",
> > @@ -892,18 +886,6 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
> >                  n++;
> >  	    FD_CLR(i, exceptfds);
> >  	    break;
> > -#ifdef CONFIG_XENBUS
> > -	case FTYPE_XENBUS:
> > -	    if (FD_ISSET(i, readfds)) {
> > -                if (files[i].dev)
> > -		    n++;
> > -		else
> > -		    FD_CLR(i, readfds);
> > -	    }
> > -	    FD_CLR(i, writefds);
> > -	    FD_CLR(i, exceptfds);
> > -	    break;
> > -#endif
> >  	case FTYPE_TAP:
> >  	case FTYPE_BLK:
> >  	case FTYPE_KBD:
> > diff --git a/lib/xs.c b/lib/xs.c
> > index 4af0f96..ac830d2 100644
> > --- a/lib/xs.c
> > +++ b/lib/xs.c
> > @@ -18,23 +18,55 @@ static inline int _xs_fileno(struct xs_handle *h) {
> >      return (intptr_t) h;
> >  }
> >  
> > +static int xs_close_fd(int fd)
> > +{
> > +    struct xenbus_event *event, *next;
> > +    struct file *file = get_file_from_fd(fd);

This...

> > +    for (event = file->dev; event; event = next)
> > +    {
> > +        next = event->next;
> > +        free(event);
> > +    }
> > +
> > +    return 0;
> > +}
> > +
> > +static bool xs_can_read(int fd)
> > +{
> > +    struct file *file = get_file_from_fd(fd);

... and that would be simplified by directly getting the file* from the
parameters.

> > +    return file && file->dev;
> > +}
> > +
> > +static struct file_ops xenbus_ops = {
> > +    .name = "xenbus",
> > +    .close = xs_close_fd,
> > +    .select_rd = xs_can_read,
> > +};
> > +
> >  struct xs_handle *xs_daemon_open()
> >  {
> > -    int fd = alloc_fd(FTYPE_XENBUS);
> > -    files[fd].dev = NULL;
> > -    printk("xs_daemon_open -> %d, %p\n", fd, &files[fd].dev);
> > +    int fd;
> > +    struct file *file;
> > +    static unsigned int ftype_xenbus;
> > +
> > +    if ( !ftype_xenbus )
> > +        ftype_xenbus = alloc_file_type(&xenbus_ops);
> > +
> > +    fd = alloc_fd(ftype_xenbus);
> > +    file = get_file_from_fd(fd);
> > +    if ( !file )
> > +        return NULL;
> > +
> > +    file->dev = NULL;
> > +    printk("xs_daemon_open -> %d, %p\n", fd, &file->dev);
> >      return (void*)(intptr_t) fd;
> >  }
> >  
> >  void xs_daemon_close(struct xs_handle *h)
> >  {
> > -    int fd = _xs_fileno(h);
> > -    struct xenbus_event *event, *next;
> > -    for (event = files[fd].dev; event; event = next)
> > -    {
> > -        next = event->next;
> > -        free(event);
> > -    }
> > +    close(_xs_fileno(h));
> >  }
> >  
> >  int xs_fileno(struct xs_handle *h)
> > @@ -169,18 +201,20 @@ char **xs_directory(struct xs_handle *h, xs_transaction_t t,
> >  
> >  bool xs_watch(struct xs_handle *h, const char *path, const char *token)
> >  {
> > -    int fd = _xs_fileno(h);
> > +    struct file *file = get_file_from_fd(_xs_fileno(h));
> > +
> >      printk("xs_watch(%s, %s)\n", path, token);
> >      return xs_bool(xenbus_watch_path_token(XBT_NULL, path, token,
> > -                   (xenbus_event_queue *)&files[fd].dev));
> > +                   (xenbus_event_queue *)&file->dev));
> >  }
> >  
> >  char **xs_read_watch(struct xs_handle *h, unsigned int *num)
> >  {
> > -    int fd = _xs_fileno(h);
> >      struct xenbus_event *event;
> > -    event = files[fd].dev;
> > -    files[fd].dev = event->next;
> > +    struct file *file = get_file_from_fd(_xs_fileno(h));
> > +
> > +    event = file->dev;
> > +    file->dev = event->next;
> >      printk("xs_read_watch() -> %s %s\n", event->path, event->token);
> >      *num = 2;
> >      return (char **) &event->path;
> > diff --git a/xenbus/xenbus.c b/xenbus/xenbus.c
> > index b687678..785389f 100644
> > --- a/xenbus/xenbus.c
> > +++ b/xenbus/xenbus.c
> > @@ -393,6 +393,7 @@ static int allocate_xenbus_id(void)
> >  void init_xenbus(void)
> >  {
> >      int err;
> > +
> >      DEBUG("init_xenbus called.\n");
> >      create_thread("xenstore", xenbus_thread_func, NULL);
> >      DEBUG("buf at %p.\n", xenstore_buf);
> > -- 
> > 2.26.2
> > 
> 
> -- 
> Samuel
> <y> muhahaha...
> <y> ya un train qui part de Perrache à 14h57
> <y> qui passe à Part-Dieu à 15h10
> <y> si je le prends à Perrache, je suis en zone bleue
> <y> si je le prends à Part-Dieu, je suis en zone blanche
> <y> donc je vais le prendre à Perrache *mais* à Part-Dieu ;-)
>  -+- #ens-mim - vive la SNCF -+-

-- 
Samuel
<c> hiri, le cri ici, c des marrants
<c> j'ai un rep ".uglyhackdirectorywithoutacls" ds mon home
 -+- #ens-mim en stage -+-


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 20:12:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 20:12:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256075.439246 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7NVH-0004xu-Lz; Tue, 11 Jan 2022 20:12:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256075.439246; Tue, 11 Jan 2022 20: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 1n7NVH-0004xn-J0; Tue, 11 Jan 2022 20:12:23 +0000
Received: by outflank-mailman (input) for mailman id 256075;
 Tue, 11 Jan 2022 20:12:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=JwWh=R3=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n7NVG-0004xQ-9k
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 20:12:22 +0000
Received: from ppsw-32.csi.cam.ac.uk (ppsw-32.csi.cam.ac.uk [131.111.8.132])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c8488c3b-731a-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 21:12:21 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:48122)
 by ppsw-32.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.136]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n7NVE-000X9h-2H (Exim 4.95) (return-path <amc96@srcf.net>);
 Tue, 11 Jan 2022 20:12:20 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 7F7E41FBFC;
 Tue, 11 Jan 2022 20:12:20 +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: c8488c3b-731a-11ec-9ce5-af14b9085ebd
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <d5ae3033-86c5-c2a4-73f8-6f5a4e1e8d26@srcf.net>
Date: Tue, 11 Jan 2022 20:12:20 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Subject: Re: [PATCH v2 02/12] mini-os: remove gnttab specific member from
 struct file
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-3-jgross@suse.com>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <20220111151215.22955-3-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11/01/2022 15:12, Juergen Gross wrote:
> The event channel specific union member in struct file is no longer

Too much copy&paste from the previous patch?

The actual contents look fine.

~Andrew

> needed, so remove it.
>
> The gnttab file type and its associated handling can be removed, too,
> as libxengnttab is now supplying a struct file_ops via a call of
> alloc_file_type().
>
> This removes all contents of CONFIG_LIBXENGNTTAB guarded sections, so
> this config option can be removed.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 20:13:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 20:13:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256081.439261 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7NW4-0005af-3Q; Tue, 11 Jan 2022 20:13:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256081.439261; Tue, 11 Jan 2022 20:13: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 1n7NW3-0005aY-W0; Tue, 11 Jan 2022 20:13:11 +0000
Received: by outflank-mailman (input) for mailman id 256081;
 Tue, 11 Jan 2022 20:13:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZoZL=R3=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n7NW3-0005SV-0D
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 20:13:11 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [2a0c:e300::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e4d4e384-731a-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 21:13:09 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 80329678;
 Tue, 11 Jan 2022 21:13:08 +0100 (CET)
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 B6WWKwD8_xbJ; Tue, 11 Jan 2022 21:13:07 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 53872261;
 Tue, 11 Jan 2022 21:13:07 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n7NVy-00FFRE-I3;
 Tue, 11 Jan 2022 21:13:06 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e4d4e384-731a-11ec-81c1-a30af7de8005
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Tue, 11 Jan 2022 21:13:06 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v2 04/12] mini-os: use alloc_file_type() and
 get_file_from_fd() in tpm_tis
Message-ID: <20220111201306.you23ajz25etmmb7@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: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-5-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220111151215.22955-5-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 80329678
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le mar. 11 janv. 2022 16:12:07 +0100, a ecrit:
> Allocate a file type dynamically via alloc_file_type().
> 
> Instead of directly accessing the files[] array use get_file_from_fd().
> 
> Make some now local functions static and modify their prototypes to
> match the file_ops requirements.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

modulo the int fd / file * thing,

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
>  include/lib.h     |   3 +-
>  include/tpm_tis.h |   6 ---
>  lib/sys.c         |  23 ---------
>  tpm_tis.c         | 120 ++++++++++++++++++++++++++++++----------------
>  4 files changed, 80 insertions(+), 72 deletions(-)
> 
> diff --git a/include/lib.h b/include/lib.h
> index 05c7de5..d94d142 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -166,8 +166,7 @@ void sanity_check(void);
>  #define FTYPE_TAP        8
>  #define FTYPE_BLK        9
>  #define FTYPE_TPMFRONT  10
> -#define FTYPE_TPM_TIS   11
> -#define FTYPE_N         12
> +#define FTYPE_N         11
>  #define FTYPE_SPARE     16
>  
>  typedef int file_read_func(int fd, void *buf, size_t nbytes);
> diff --git a/include/tpm_tis.h b/include/tpm_tis.h
> index 86e83f1..2af974d 100644
> --- a/include/tpm_tis.h
> +++ b/include/tpm_tis.h
> @@ -37,14 +37,11 @@ struct tpm_chip;
>  
>  struct tpm_chip* init_tpm_tis(unsigned long baseaddr, int localities, unsigned int irq);
>  struct tpm_chip* init_tpm2_tis(unsigned long baseaddr, int localities, unsigned int irq);
> -void shutdown_tpm_tis(struct tpm_chip* tpm);
>  
>  int tpm_tis_request_locality(struct tpm_chip* tpm, int locality);
>  int tpm_tis_cmd(struct tpm_chip* tpm, uint8_t* req, size_t reqlen, uint8_t** resp, size_t* resplen);
>  
>  #ifdef HAVE_LIBC
> -#include <sys/stat.h>
> -#include <fcntl.h>
>  /* POSIX IO functions:
>   * use tpm_tis_open() to get a file descriptor to the tpm device
>   * use write() on the fd to send a command to the backend. You must
> @@ -53,9 +50,6 @@ int tpm_tis_cmd(struct tpm_chip* tpm, uint8_t* req, size_t reqlen, uint8_t** res
>   * fstat() to get the size of the response and lseek() to seek on it.
>   */
>  int tpm_tis_open(struct tpm_chip* tpm);
> -int tpm_tis_posix_read(int fd, uint8_t* buf, size_t count);
> -int tpm_tis_posix_write(int fd, const uint8_t* buf, size_t count);
> -int tpm_tis_posix_fstat(int fd, struct stat* buf);
>  #endif
>  
>  #endif
> diff --git a/lib/sys.c b/lib/sys.c
> index d213ae5..4060b42 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -29,7 +29,6 @@
>  #include <blkfront.h>
>  #include <fbfront.h>
>  #include <tpmfront.h>
> -#include <tpm_tis.h>
>  #include <xenbus.h>
>  #include <xenstore.h>
>  #include <poll.h>
> @@ -349,11 +348,6 @@ int read(int fd, void *buf, size_t nbytes)
>          case FTYPE_TPMFRONT: {
>  	    return tpmfront_posix_read(fd, buf, nbytes);
>          }
> -#endif
> -#ifdef CONFIG_TPM_TIS
> -        case FTYPE_TPM_TIS: {
> -	    return tpm_tis_posix_read(fd, buf, nbytes);
> -        }
>  #endif
>  	default:
>  	    break;
> @@ -399,10 +393,6 @@ int write(int fd, const void *buf, size_t nbytes)
>  #ifdef CONFIG_TPMFRONT
>  	case FTYPE_TPMFRONT:
>  	    return tpmfront_posix_write(fd, buf, nbytes);
> -#endif
> -#ifdef CONFIG_TPM_TIS
> -	case FTYPE_TPM_TIS:
> -	    return tpm_tis_posix_write(fd, buf, nbytes);
>  #endif
>  	default:
>  	    break;
> @@ -459,10 +449,6 @@ off_t lseek(int fd, off_t offset, int whence)
>  #ifdef CONFIG_TPMFRONT
>         case FTYPE_TPMFRONT:
>            break;
> -#endif
> -#ifdef CONFIG_TPM_TIS
> -       case FTYPE_TPM_TIS:
> -          break;
>  #endif
>         case FTYPE_FILE:
>            break;
> @@ -515,11 +501,6 @@ int close(int fd)
>              shutdown_tpmfront(files[fd].dev);
>              break;
>  #endif
> -#ifdef CONFIG_TPM_TIS
> -	case FTYPE_TPM_TIS:
> -            shutdown_tpm_tis(files[fd].dev);
> -            break;
> -#endif
>  #ifdef CONFIG_KBDFRONT
>  	case FTYPE_KBD:
>              shutdown_kbdfront(files[fd].dev);
> @@ -599,10 +580,6 @@ int fstat(int fd, struct stat *buf)
>  #ifdef CONFIG_TPMFRONT
>  	case FTYPE_TPMFRONT:
>  	   return tpmfront_posix_fstat(fd, buf);
> -#endif
> -#ifdef CONFIG_TPM_TIS
> -	case FTYPE_TPM_TIS:
> -	   return tpm_tis_posix_fstat(fd, buf);
>  #endif
>  	default:
>  	    break;
> diff --git a/tpm_tis.c b/tpm_tis.c
> index 477f555..abea7a1 100644
> --- a/tpm_tis.c
> +++ b/tpm_tis.c
> @@ -792,6 +792,9 @@ int tpm_tis_send(struct tpm_chip* tpm, uint8_t* buf, size_t len) {
>     int status, burstcnt = 0;
>     int count = 0;
>     uint32_t ordinal;
> +#ifdef HAVE_LIBC
> +   struct file *file = get_file_from_fd(tpm->fd);
> +#endif
>  
>     if(tpm_tis_request_locality(tpm, tpm->locality) < 0) {
>        return -EBUSY;
> @@ -844,9 +847,10 @@ int tpm_tis_send(struct tpm_chip* tpm, uint8_t* buf, size_t len) {
>        }
>     }
>  #ifdef HAVE_LIBC
> -   if(tpm->fd >= 0) {
> -      files[tpm->fd].read = false;
> -      files[tpm->fd].offset = 0;
> +   if ( file )
> +   {
> +      file->read = false;
> +      file->offset = 0;
>     }
>  #endif
>     return len;
> @@ -1093,6 +1097,23 @@ ssize_t tpm_getcap(struct tpm_chip *chip, uint32_t subcap_id, cap_t *cap,
>          return rc;
>  }
>  
> +static void shutdown_tpm_tis(struct tpm_chip* tpm){
> +   int i;
> +
> +   printk("Shutting down tpm_tis device\n");
> +
> +   iowrite32(TPM_INT_ENABLE(tpm, tpm->locality), ~TPM_GLOBAL_INT_ENABLE);
> +
> +   /*Unmap all of the mmio pages */
> +   for(i = 0; i < 5; ++i) {
> +      if(tpm->pages[i] != NULL) {
> +	 iounmap(tpm->pages[i], PAGE_SIZE);
> +	 tpm->pages[i] = NULL;
> +      }
> +   }
> +   free(tpm);
> +   return;
> +}
>  
>  struct tpm_chip* init_tpm_tis(unsigned long baseaddr, int localities, unsigned int irq)
>  {
> @@ -1242,25 +1263,6 @@ abort_egress:
>     return NULL;
>  }
>  
> -void shutdown_tpm_tis(struct tpm_chip* tpm){
> -   int i;
> -
> -   printk("Shutting down tpm_tis device\n");
> -
> -   iowrite32(TPM_INT_ENABLE(tpm, tpm->locality), ~TPM_GLOBAL_INT_ENABLE);
> -
> -   /*Unmap all of the mmio pages */
> -   for(i = 0; i < 5; ++i) {
> -      if(tpm->pages[i] != NULL) {
> -	 iounmap(tpm->pages[i], PAGE_SIZE);
> -	 tpm->pages[i] = NULL;
> -      }
> -   }
> -   free(tpm);
> -   return;
> -}
> -
> -
>  int tpm_tis_cmd(struct tpm_chip* tpm, uint8_t* req, size_t reqlen, uint8_t** resp, size_t* resplen)
>  {
>     if(tpm->locality < 0) {
> @@ -1279,23 +1281,24 @@ int tpm_tis_cmd(struct tpm_chip* tpm, uint8_t* req, size_t reqlen, uint8_t** res
>  }
>  
>  #ifdef HAVE_LIBC
> -int tpm_tis_open(struct tpm_chip* tpm)
> +#include <sys/stat.h>
> +#include <fcntl.h>
> +
> +static int tpm_tis_close(int fd)
>  {
> -   /* Silently prevent multiple opens */
> -   if(tpm->fd != -1) {
> -      return tpm->fd;
> -   }
> +    struct file *file = get_file_from_fd(fd);
>  
> -   tpm->fd = alloc_fd(FTYPE_TPM_TIS);
> -   printk("tpm_tis_open() -> %d\n", tpm->fd);
> -   files[tpm->fd].dev = tpm;
> -   return tpm->fd;
> +    shutdown_tpm_tis(file->dev);
> +
> +    return 0;
>  }
>  
> -int tpm_tis_posix_write(int fd, const uint8_t* buf, size_t count)
> +static int tpm_tis_posix_write(int fd, const void *buf, size_t count)
>  {
>     struct tpm_chip* tpm;
> -   tpm = files[fd].dev;
> +   struct file *file = get_file_from_fd(fd);
> +
> +   tpm = file->dev;
>  
>     if(tpm->locality < 0) {
>        printk("tpm_tis_posix_write() failed! locality not set!\n");
> @@ -1319,11 +1322,13 @@ int tpm_tis_posix_write(int fd, const uint8_t* buf, size_t count)
>     return count;
>  }
>  
> -int tpm_tis_posix_read(int fd, uint8_t* buf, size_t count)
> +static int tpm_tis_posix_read(int fd, void *buf, size_t count)
>  {
>     int rc;
>     struct tpm_chip* tpm;
> -   tpm = files[fd].dev;
> +   struct file *file = get_file_from_fd(fd);
> +
> +   tpm = file->dev;
>  
>     if(count == 0) {
>        return 0;
> @@ -1337,20 +1342,24 @@ int tpm_tis_posix_read(int fd, uint8_t* buf, size_t count)
>  
>  
>     /* Handle EOF case */
> -   if(files[fd].offset >= tpm->data_len) {
> +   if ( file->offset >= tpm->data_len )
> +   {
>        rc = 0;
>     } else {
> -      rc = min(tpm->data_len - files[fd].offset, count);
> -      memcpy(buf, tpm->data_buffer + files[fd].offset, rc);
> +      rc = min(tpm->data_len - file->offset, count);
> +      memcpy(buf, tpm->data_buffer + file->offset, rc);
>     }
> -   files[fd].offset += rc;
> +   file->offset += rc;
>     /* Reset the data pending flag */
>     return rc;
>  }
> -int tpm_tis_posix_fstat(int fd, struct stat* buf)
> +
> +static int tpm_tis_posix_fstat(int fd, struct stat *buf)
>  {
>     struct tpm_chip* tpm;
> -   tpm = files[fd].dev;
> +   struct file *file = get_file_from_fd(fd);
> +
> +   tpm = file->dev;
>  
>     buf->st_mode = O_RDWR;
>     buf->st_uid = 0;
> @@ -1360,6 +1369,35 @@ int tpm_tis_posix_fstat(int fd, struct stat* buf)
>     return 0;
>  }
>  
> +static struct file_ops tpm_tis_ops = {
> +    .name = "tpm_tis",
> +    .read = tpm_tis_posix_read,
> +    .write = tpm_tis_posix_write,
> +    .lseek = lseek_default,
> +    .close = tpm_tis_close,
> +    .fstat = tpm_tis_posix_fstat,
> +};
> +
> +int tpm_tis_open(struct tpm_chip* tpm)
> +{
> +   struct file *file;
> +   static unsigned int ftype_tis;
> +
> +   /* Silently prevent multiple opens */
> +   if(tpm->fd != -1) {
> +      return tpm->fd;
> +   }
> +
> +   if ( !ftype_tis )
> +       ftype_tis = alloc_file_type(&tpm_tis_ops);
> +
> +   tpm->fd = alloc_fd(ftype_tis);
> +   printk("tpm_tis_open() -> %d\n", tpm->fd);
> +   file = get_file_from_fd(tpm->fd);
> +   file->dev = tpm;
> +   return tpm->fd;
> +}
> +
>  /* TPM 2.0 */
>  
>  /*TPM2.0 Selftest*/
> -- 
> 2.26.2
> 

-- 
Samuel
Now, it we had this sort of thing:
  yield -a     for yield to all traffic
  yield -t     for yield to trucks
  yield -f     for yield to people walking (yield foot)
  yield -d t*  for yield on days starting with t
...you'd have a lot of dead people at intersections, and traffic jams you
wouldn't believe...
(Discussion in comp.os.linux.misc on the intuitiveness of commands.)


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 20:14:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 20:14:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256087.439272 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7NXF-0006H5-EQ; Tue, 11 Jan 2022 20:14:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256087.439272; Tue, 11 Jan 2022 20:14:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7NXF-0006Gy-B8; Tue, 11 Jan 2022 20:14:25 +0000
Received: by outflank-mailman (input) for mailman id 256087;
 Tue, 11 Jan 2022 20:14:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=JwWh=R3=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n7NXE-0006Es-2q
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 20:14:24 +0000
Received: from ppsw-33.csi.cam.ac.uk (ppsw-33.csi.cam.ac.uk [131.111.8.133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0fe8785f-731b-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 21:14:22 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:47592)
 by ppsw-33.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.137]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n7NXA-000nKA-iW (Exim 4.95) (return-path <amc96@srcf.net>);
 Tue, 11 Jan 2022 20:14:20 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 9404F1FBFC;
 Tue, 11 Jan 2022 20:14:20 +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: 0fe8785f-731b-11ec-9ce5-af14b9085ebd
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <9ff34b30-02ef-9a4f-13e0-d094c87b613f@srcf.net>
Date: Tue, 11 Jan 2022 20:14:20 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Subject: Re: [PATCH v2 03/12] mini-os: use alloc_file_type() and
 get_file_from_fd() in xs
Content-Language: en-GB
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: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-4-jgross@suse.com>
 <20220111200615.b5tpi4faz3cak2ft@begin>
 <20220111201136.yqp274wyqju5zshs@begin>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <20220111201136.yqp274wyqju5zshs@begin>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11/01/2022 20:11, Samuel Thibault wrote:
> Samuel Thibault, le mar. 11 janv. 2022 21:06:15 +0100, a ecrit:
>> Juergen Gross, le mar. 11 janv. 2022 16:12:06 +0100, a ecrit:
>>> diff --git a/lib/xs.c b/lib/xs.c
>>> index 4af0f96..ac830d2 100644
>>> --- a/lib/xs.c
>>> +++ b/lib/xs.c
>>> @@ -18,23 +18,55 @@ static inline int _xs_fileno(struct xs_handle *h) {
>>>      return (intptr_t) h;
>>>  }
>>>  
>>> +static int xs_close_fd(int fd)
>>> +{
>>> +    struct xenbus_event *event, *next;
>>> +    struct file *file = get_file_from_fd(fd);
> This...
>
>>> +    for (event = file->dev; event; event = next)
>>> +    {
>>> +        next = event->next;
>>> +        free(event);
>>> +    }
>>> +
>>> +    return 0;
>>> +}
>>> +
>>> +static bool xs_can_read(int fd)
>>> +{
>>> +    struct file *file = get_file_from_fd(fd);
> ... and that would be simplified by directly getting the file* from the
> parameters.

I actually make exactly the same suggestion for close() in
libxenevtchn.  The callback hooks don't need the same API as the libc
functions.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 20:15:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 20:15:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256093.439286 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7NYP-0006sY-Sc; Tue, 11 Jan 2022 20:15:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256093.439286; Tue, 11 Jan 2022 20:15:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7NYP-0006s6-O6; Tue, 11 Jan 2022 20:15:37 +0000
Received: by outflank-mailman (input) for mailman id 256093;
 Tue, 11 Jan 2022 20:15:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZoZL=R3=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n7NYO-0006rb-11
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 20:15:36 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3aafe26c-731b-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 21:15:33 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 850A9261;
 Tue, 11 Jan 2022 21:15:32 +0100 (CET)
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 xM-gHFQcF9N5; Tue, 11 Jan 2022 21:15:31 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 5B9BF140;
 Tue, 11 Jan 2022 21:15:31 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n7NYI-00FFRz-Dt;
 Tue, 11 Jan 2022 21:15:30 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3aafe26c-731b-11ec-81c1-a30af7de8005
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Tue, 11 Jan 2022 21:15:30 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v2 05/12] mini-os: use alloc_file_type() and
 get_file_from_fd() in tpmfront
Message-ID: <20220111201530.7aa5m6s43tgntjbk@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: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-6-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220111151215.22955-6-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 850A9261
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le mar. 11 janv. 2022 16:12:08 +0100, a ecrit:
> Allocate a file type dynamically via alloc_file_type().
> 
> Instead of directly accessing the files[] array use get_file_from_fd().
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>


modulo the int fd / file * thing,

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>


> ---
>  include/lib.h      |   3 +-
>  include/tpmfront.h |   5 ---
>  lib/sys.c          |  23 -----------
>  tpmfront.c         | 100 ++++++++++++++++++++++++++++++++-------------
>  4 files changed, 72 insertions(+), 59 deletions(-)
> 
> diff --git a/include/lib.h b/include/lib.h
> index d94d142..f6478de 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -165,8 +165,7 @@ void sanity_check(void);
>  #define FTYPE_KBD        7
>  #define FTYPE_TAP        8
>  #define FTYPE_BLK        9
> -#define FTYPE_TPMFRONT  10
> -#define FTYPE_N         11
> +#define FTYPE_N         10
>  #define FTYPE_SPARE     16
>  
>  typedef int file_read_func(int fd, void *buf, size_t nbytes);
> diff --git a/include/tpmfront.h b/include/tpmfront.h
> index b7da50e..a527371 100644
> --- a/include/tpmfront.h
> +++ b/include/tpmfront.h
> @@ -81,7 +81,6 @@ int tpmfront_cmd(struct tpmfront_dev* dev, uint8_t* req, size_t reqlen, uint8_t*
>  int tpmfront_set_locality(struct tpmfront_dev* dev, int locality);
>  
>  #ifdef HAVE_LIBC
> -#include <sys/stat.h>
>  /* POSIX IO functions:
>   * use tpmfront_open() to get a file descriptor to the tpm device
>   * use write() on the fd to send a command to the backend. You must
> @@ -90,10 +89,6 @@ int tpmfront_set_locality(struct tpmfront_dev* dev, int locality);
>   * fstat() to get the size of the response and lseek() to seek on it.
>   */
>  int tpmfront_open(struct tpmfront_dev* dev);
> -int tpmfront_posix_read(int fd, uint8_t* buf, size_t count);
> -int tpmfront_posix_write(int fd, const uint8_t* buf, size_t count);
> -int tpmfront_posix_fstat(int fd, struct stat* buf);
>  #endif
>  
> -
>  #endif
> diff --git a/lib/sys.c b/lib/sys.c
> index 4060b42..ff6be52 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -28,7 +28,6 @@
>  #include <netfront.h>
>  #include <blkfront.h>
>  #include <fbfront.h>
> -#include <tpmfront.h>
>  #include <xenbus.h>
>  #include <xenstore.h>
>  #include <poll.h>
> @@ -343,11 +342,6 @@ int read(int fd, void *buf, size_t nbytes)
>          case FTYPE_BLK: {
>  	    return blkfront_posix_read(fd, buf, nbytes);
>          }
> -#endif
> -#ifdef CONFIG_TPMFRONT
> -        case FTYPE_TPMFRONT: {
> -	    return tpmfront_posix_read(fd, buf, nbytes);
> -        }
>  #endif
>  	default:
>  	    break;
> @@ -389,10 +383,6 @@ int write(int fd, const void *buf, size_t nbytes)
>  #ifdef CONFIG_BLKFRONT
>  	case FTYPE_BLK:
>  	    return blkfront_posix_write(fd, buf, nbytes);
> -#endif
> -#ifdef CONFIG_TPMFRONT
> -	case FTYPE_TPMFRONT:
> -	    return tpmfront_posix_write(fd, buf, nbytes);
>  #endif
>  	default:
>  	    break;
> @@ -445,10 +435,6 @@ off_t lseek(int fd, off_t offset, int whence)
>  #ifdef CONFIG_BLKFRONT
>         case FTYPE_BLK:
>            break;
> -#endif
> -#ifdef CONFIG_TPMFRONT
> -       case FTYPE_TPMFRONT:
> -          break;
>  #endif
>         case FTYPE_FILE:
>            break;
> @@ -496,11 +482,6 @@ int close(int fd)
>              shutdown_blkfront(files[fd].dev);
>              break;
>  #endif
> -#ifdef CONFIG_TPMFRONT
> -	case FTYPE_TPMFRONT:
> -            shutdown_tpmfront(files[fd].dev);
> -            break;
> -#endif
>  #ifdef CONFIG_KBDFRONT
>  	case FTYPE_KBD:
>              shutdown_kbdfront(files[fd].dev);
> @@ -576,10 +557,6 @@ int fstat(int fd, struct stat *buf)
>  #ifdef CONFIG_BLKFRONT
>  	case FTYPE_BLK:
>  	   return blkfront_posix_fstat(fd, buf);
> -#endif
> -#ifdef CONFIG_TPMFRONT
> -	case FTYPE_TPMFRONT:
> -	   return tpmfront_posix_fstat(fd, buf);
>  #endif
>  	default:
>  	    break;
> diff --git a/tpmfront.c b/tpmfront.c
> index 0a2fefc..a19a052 100644
> --- a/tpmfront.c
> +++ b/tpmfront.c
> @@ -49,6 +49,10 @@
>  void tpmfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data) {
>     struct tpmfront_dev* dev = (struct tpmfront_dev*) data;
>     tpmif_shared_page_t *shr = dev->page;
> +#ifdef HAVE_LIBC
> +    struct file *file = get_file_from_fd(dev->fd);
> +#endif
> +
>     /*If we get a response when we didnt make a request, just ignore it */
>     if(!dev->waiting) {
>        return;
> @@ -65,8 +69,9 @@ void tpmfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data) {
>  
>     dev->waiting = 0;
>  #ifdef HAVE_LIBC
> -   if(dev->fd >= 0) {
> -      files[dev->fd].read = true;
> +   if ( file )
> +   {
> +      file->read = true;
>     }
>  #endif
>     wake_up(&dev->waitq);
> @@ -405,6 +410,10 @@ int tpmfront_send(struct tpmfront_dev* dev, const uint8_t* msg, size_t length)
>  #ifdef TPMFRONT_PRINT_DEBUG
>     int i;
>  #endif
> +#ifdef HAVE_LIBC
> +    struct file *file = dev ? get_file_from_fd(dev->fd) : NULL;
> +#endif
> +
>     /* Error Checking */
>     if(dev == NULL || dev->state != XenbusStateConnected) {
>        TPMFRONT_ERR("Tried to send message through disconnected frontend\n");
> @@ -437,9 +446,10 @@ int tpmfront_send(struct tpmfront_dev* dev, const uint8_t* msg, size_t length)
>     dev->waiting = 1;
>     dev->resplen = 0;
>  #ifdef HAVE_LIBC
> -   if(dev->fd >= 0) {
> -      files[dev->fd].read = false;
> -      files[dev->fd].offset = 0;
> +   if ( file )
> +   {
> +      file->read = false;
> +      file->offset = 0;
>        dev->respgot = false;
>     }
>  #endif
> @@ -529,25 +539,14 @@ int tpmfront_set_locality(struct tpmfront_dev* dev, int locality)
>  
>  #ifdef HAVE_LIBC
>  #include <errno.h>
> -int tpmfront_open(struct tpmfront_dev* dev)
> -{
> -   /* Silently prevent multiple opens */
> -   if(dev->fd != -1) {
> -      return dev->fd;
> -   }
>  
> -   dev->fd = alloc_fd(FTYPE_TPMFRONT);
> -   printk("tpmfront_open(%s) -> %d\n", dev->nodename, dev->fd);
> -   files[dev->fd].dev = dev;
> -   dev->respgot = false;
> -   return dev->fd;
> -}
> -
> -int tpmfront_posix_write(int fd, const uint8_t* buf, size_t count)
> +static int tpmfront_posix_write(int fd, const void *buf, size_t count)
>  {
>     int rc;
>     struct tpmfront_dev* dev;
> -   dev = files[fd].dev;
> +   struct file *file = get_file_from_fd(fd);
> +
> +   dev = file->dev;
>  
>     if(count == 0) {
>        return 0;
> @@ -566,14 +565,15 @@ int tpmfront_posix_write(int fd, const uint8_t* buf, size_t count)
>     return count;
>  }
>  
> -int tpmfront_posix_read(int fd, uint8_t* buf, size_t count)
> +static int tpmfront_posix_read(int fd, void *buf, size_t count)
>  {
>     int rc;
>     uint8_t* dummybuf;
>     size_t dummysz;
>     struct tpmfront_dev* dev;
> +   struct file *file = get_file_from_fd(fd);
>  
> -   dev = files[fd].dev;
> +   dev = file->dev;
>  
>     if(count == 0) {
>        return 0;
> @@ -588,29 +588,33 @@ int tpmfront_posix_read(int fd, uint8_t* buf, size_t count)
>     }
>  
>     /* handle EOF case */
> -   if(files[dev->fd].offset >= dev->resplen) {
> +   if ( file->offset >= dev->resplen )
> +   {
>        return 0;
>     }
>  
>     /* Compute the number of bytes and do the copy operation */
> -   if((rc = min(count, dev->resplen - files[dev->fd].offset)) != 0) {
> -      memcpy(buf, dev->respbuf + files[dev->fd].offset, rc);
> -      files[dev->fd].offset += rc;
> +   if ( (rc = min(count, dev->resplen - file->offset)) != 0 )
> +   {
> +      memcpy(buf, dev->respbuf + file->offset, rc);
> +      file->offset += rc;
>     }
>  
>     return rc;
>  }
>  
> -int tpmfront_posix_fstat(int fd, struct stat* buf)
> +static int tpmfront_posix_fstat(int fd, struct stat *buf)
>  {
>     uint8_t* dummybuf;
>     size_t dummysz;
>     int rc;
> -   struct tpmfront_dev* dev = files[fd].dev;
> +   struct file *file = get_file_from_fd(fd);
> +   struct tpmfront_dev* dev = file->dev;
>  
>     /* If we have a response waiting, then read it now from the backend
>      * so we can get its length*/
> -   if(dev->waiting || (files[dev->fd].read && !dev->respgot)) {
> +   if ( dev->waiting || (file->read && !dev->respgot) )
> +   {
>        if ((rc = tpmfront_recv(dev, &dummybuf, &dummysz)) != 0) {
>  	 errno = EIO;
>  	 return -1;
> @@ -626,5 +630,43 @@ int tpmfront_posix_fstat(int fd, struct stat* buf)
>     return 0;
>  }
>  
> +static int tpmfront_close_fd(int fd)
> +{
> +    struct file *file = get_file_from_fd(fd);
> +
> +    shutdown_tpmfront(file->dev);
> +
> +    return 0;
> +}
> +
> +static struct file_ops tpmfront_ops = {
> +    .name = "tpmfront",
> +    .read = tpmfront_posix_read,
> +    .write = tpmfront_posix_write,
> +    .lseek = lseek_default,
> +    .close = tpmfront_close_fd,
> +    .fstat = tpmfront_posix_fstat,
> +};
> +
> +int tpmfront_open(struct tpmfront_dev* dev)
> +{
> +   struct file *file;
> +   static unsigned int ftype_tpmfront;
> +
> +   /* Silently prevent multiple opens */
> +   if(dev->fd != -1) {
> +      return dev->fd;
> +   }
> +
> +   if ( !ftype_tpmfront )
> +       ftype_tpmfront = alloc_file_type(&tpmfront_ops);
> +
> +   dev->fd = alloc_fd(ftype_tpmfront);
> +   printk("tpmfront_open(%s) -> %d\n", dev->nodename, dev->fd);
> +   file = get_file_from_fd(dev->fd);
> +   file->dev = dev;
> +   dev->respgot = false;
> +   return dev->fd;
> +}
>  
>  #endif
> -- 
> 2.26.2
> 

-- 
Samuel
"...very few phenomena can pull someone out of Deep Hack Mode, with two
noted exceptions: being struck by lightning, or worse, your *computer*
being struck by lightning."
(By Matt Welsh)


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 20:21:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 20:21:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256097.439298 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Ndc-0008PM-KH; Tue, 11 Jan 2022 20:21:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256097.439298; Tue, 11 Jan 2022 20:21: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 1n7Ndc-0008PF-HE; Tue, 11 Jan 2022 20:21:00 +0000
Received: by outflank-mailman (input) for mailman id 256097;
 Tue, 11 Jan 2022 20:20:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZoZL=R3=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n7Ndb-0008P4-27
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 20:20:59 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fc222808-731b-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 21:20:57 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id C830E678;
 Tue, 11 Jan 2022 21:20:56 +0100 (CET)
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 MxJ_vLkRyhCo; Tue, 11 Jan 2022 21:20:55 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 1F285140;
 Tue, 11 Jan 2022 21:20:55 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n7NdV-00FFTM-TO;
 Tue, 11 Jan 2022 21:20:53 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fc222808-731b-11ec-9ce5-af14b9085ebd
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Tue, 11 Jan 2022 21:20:53 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v2 06/12] mini-os: use alloc_file_type() and
 get_file_from_fd() in blkfront
Message-ID: <20220111202053.ii2sahyqgictpfqd@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: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-7-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220111151215.22955-7-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: C830E678
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le mar. 11 janv. 2022 16:12:09 +0100, a ecrit:
> Allocate the file type dynamically via alloc_file_type().
> 
> Instead of directly accessing the files[] array use get_file_from_fd().
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

modulo the int fd / file * thing,

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
>  blkfront.c         | 92 ++++++++++++++++++++++++++++++++++------------
>  include/blkfront.h |  5 ---
>  include/lib.h      |  3 +-
>  lib/sys.c          | 24 ------------
>  4 files changed, 69 insertions(+), 55 deletions(-)
> 
> diff --git a/blkfront.c b/blkfront.c
> index e3f42be..b7ea1d7 100644
> --- a/blkfront.c
> +++ b/blkfront.c
> @@ -59,10 +59,10 @@ void blkfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
>  {
>  #ifdef HAVE_LIBC
>      struct blkfront_dev *dev = data;
> -    int fd = dev->fd;
> +    struct file *file = get_file_from_fd(dev->fd);
>  
> -    if (fd != -1)
> -        files[fd].read = true;
> +    if ( file )
> +        file->read = true;
>  #endif
>      wake_up(&blkfront_queue);
>  }
> @@ -483,9 +483,13 @@ int blkfront_aio_poll(struct blkfront_dev *dev)
>  
>  moretodo:
>  #ifdef HAVE_LIBC
> -    if (dev->fd != -1) {
> -        files[dev->fd].read = false;
> -        mb(); /* Make sure to let the handler set read to 1 before we start looking at the ring */
> +    {
> +        struct file *file = get_file_from_fd(dev->fd);
> +
> +        if ( file ) {
> +            file->read = false;
> +            mb(); /* Make sure to let the handler set read to 1 before we start looking at the ring */
> +        }
>      }
>  #endif
>  
> @@ -554,22 +558,11 @@ moretodo:
>  }
>  
>  #ifdef HAVE_LIBC
> -int blkfront_open(struct blkfront_dev *dev)
> -{
> -    /* Silently prevent multiple opens */
> -    if(dev->fd != -1) {
> -       return dev->fd;
> -    }
> -    dev->fd = alloc_fd(FTYPE_BLK);
> -    printk("blk_open(%s) -> %d\n", dev->nodename, dev->fd);
> -    files[dev->fd].dev = dev;
> -    return dev->fd;
> -}
> -
> -int blkfront_posix_rwop(int fd, uint8_t* buf, size_t count, int write)
> +static int blkfront_posix_rwop(int fd, uint8_t* buf, size_t count, int write)
>  {
> -   struct blkfront_dev* dev = files[fd].dev;
> -   off_t offset = files[fd].offset;
> +   struct file *file = get_file_from_fd(fd);
> +   struct blkfront_dev* dev = file->dev;
> +   off_t offset = file->offset;
>     struct blkfront_aiocb aiocb;
>     unsigned long long disksize = dev->info.sectors * dev->info.sector_size;
>     unsigned int blocksize = dev->info.sector_size;
> @@ -711,14 +704,25 @@ int blkfront_posix_rwop(int fd, uint8_t* buf, size_t count, int write)
>     }
>  
>     free(copybuf);
> -   files[fd].offset += rc;
> +   file->offset += rc;
>     return rc;
>  
>  }
>  
> -int blkfront_posix_fstat(int fd, struct stat* buf)
> +static int blkfront_posix_read(int fd, void *buf, size_t nbytes)
> +{
> +    return blkfront_posix_rwop(fd, buf, nbytes, 0);
> +}
> +
> +static int blkfront_posix_write(int fd, const void *buf, size_t nbytes)
>  {
> -   struct blkfront_dev* dev = files[fd].dev;
> +    return blkfront_posix_rwop(fd, (void *)buf, nbytes, 1);
> +}
> +
> +static int blkfront_posix_fstat(int fd, struct stat *buf)
> +{
> +   struct file *file = get_file_from_fd(fd);
> +   struct blkfront_dev* dev = file->dev;
>  
>     buf->st_mode = dev->info.mode;
>     buf->st_uid = 0;
> @@ -728,4 +732,44 @@ int blkfront_posix_fstat(int fd, struct stat* buf)
>  
>     return 0;
>  }
> +
> +static int blkfront_close_fd(int fd)
> +{
> +    struct file *file = get_file_from_fd(fd);
> +
> +    shutdown_blkfront(file->dev);
> +
> +    return 0;
> +}
> +
> +static struct file_ops blk_ops = {
> +    .name = "blk",
> +    .read = blkfront_posix_read,
> +    .write = blkfront_posix_write,
> +    .lseek = lseek_default,
> +    .close = blkfront_close_fd,
> +    .fstat = blkfront_posix_fstat,
> +    .select_rd = select_read_flag,
> +};
> +
> +int blkfront_open(struct blkfront_dev *dev)
> +{
> +    struct file *file;
> +    static unsigned int ftype_blk;
> +
> +    /* Silently prevent multiple opens */
> +    if(dev->fd != -1) {
> +       return dev->fd;
> +    }
> +
> +    if ( !ftype_blk )
> +        ftype_blk = alloc_file_type(&blk_ops);
> +
> +    dev->fd = alloc_fd(ftype_blk);
> +    printk("blk_open(%s) -> %d\n", dev->nodename, dev->fd);
> +    file = get_file_from_fd(dev->fd);
> +    file->dev = dev;
> +
> +    return dev->fd;
> +}
>  #endif
> diff --git a/include/blkfront.h b/include/blkfront.h
> index 3528af9..7f84a0a 100644
> --- a/include/blkfront.h
> +++ b/include/blkfront.h
> @@ -28,17 +28,12 @@ struct blkfront_info
>  };
>  struct blkfront_dev *init_blkfront(char *nodename, struct blkfront_info *info);
>  #ifdef HAVE_LIBC
> -#include <sys/stat.h>
>  /* POSIX IO functions:
>   * use blkfront_open() to get a file descriptor to the block device
>   * Don't use the other blkfront posix functions here directly, instead use
>   * read(), write(), lseek() and fstat() on the file descriptor
>   */
>  int blkfront_open(struct blkfront_dev *dev);
> -int blkfront_posix_rwop(int fd, uint8_t* buf, size_t count, int write);
> -#define blkfront_posix_write(fd, buf, count) blkfront_posix_rwop(fd, (uint8_t*)buf, count, 1)
> -#define blkfront_posix_read(fd, buf, count) blkfront_posix_rwop(fd, (uint8_t*)buf, count, 0)
> -int blkfront_posix_fstat(int fd, struct stat* buf);
>  #endif
>  void blkfront_aio(struct blkfront_aiocb *aiocbp, int write);
>  #define blkfront_aio_read(aiocbp) blkfront_aio(aiocbp, 0)
> diff --git a/include/lib.h b/include/lib.h
> index f6478de..05f5083 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -164,8 +164,7 @@ void sanity_check(void);
>  #define FTYPE_FB         6
>  #define FTYPE_KBD        7
>  #define FTYPE_TAP        8
> -#define FTYPE_BLK        9
> -#define FTYPE_N         10
> +#define FTYPE_N          9
>  #define FTYPE_SPARE     16
>  
>  typedef int file_read_func(int fd, void *buf, size_t nbytes);
> diff --git a/lib/sys.c b/lib/sys.c
> index ff6be52..f84fedd 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -337,11 +337,6 @@ int read(int fd, void *buf, size_t nbytes)
>  	    }
>  	    return ret * sizeof(union xenfb_in_event);
>          }
> -#endif
> -#ifdef CONFIG_BLKFRONT
> -        case FTYPE_BLK: {
> -	    return blkfront_posix_read(fd, buf, nbytes);
> -        }
>  #endif
>  	default:
>  	    break;
> @@ -379,10 +374,6 @@ int write(int fd, const void *buf, size_t nbytes)
>  	case FTYPE_TAP:
>  	    netfront_xmit(files[fd].dev, (void*) buf, nbytes);
>  	    return nbytes;
> -#endif
> -#ifdef CONFIG_BLKFRONT
> -	case FTYPE_BLK:
> -	    return blkfront_posix_write(fd, buf, nbytes);
>  #endif
>  	default:
>  	    break;
> @@ -432,10 +423,6 @@ off_t lseek(int fd, off_t offset, int whence)
>          return ops->lseek(fd, offset, whence);
>  
>      switch(files[fd].type) {
> -#ifdef CONFIG_BLKFRONT
> -       case FTYPE_BLK:
> -          break;
> -#endif
>         case FTYPE_FILE:
>            break;
>         default:
> @@ -477,11 +464,6 @@ int close(int fd)
>  	    shutdown_netfront(files[fd].dev);
>              break;
>  #endif
> -#ifdef CONFIG_BLKFRONT
> -	case FTYPE_BLK:
> -            shutdown_blkfront(files[fd].dev);
> -            break;
> -#endif
>  #ifdef CONFIG_KBDFRONT
>  	case FTYPE_KBD:
>              shutdown_kbdfront(files[fd].dev);
> @@ -554,10 +536,6 @@ int fstat(int fd, struct stat *buf)
>  	    buf->st_ctime = time(NULL);
>  	    return 0;
>  	}
> -#ifdef CONFIG_BLKFRONT
> -	case FTYPE_BLK:
> -	   return blkfront_posix_fstat(fd, buf);
> -#endif
>  	default:
>  	    break;
>      }
> @@ -663,7 +641,6 @@ static const char *file_types[] = {
>      [FTYPE_CONSOLE] = "console",
>      [FTYPE_SOCKET]  = "socket",
>      [FTYPE_TAP]     = "net",
> -    [FTYPE_BLK]     = "blk",
>      [FTYPE_KBD]     = "kbd",
>      [FTYPE_FB]      = "fb",
>  };
> @@ -841,7 +818,6 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
>  	    FD_CLR(i, exceptfds);
>  	    break;
>  	case FTYPE_TAP:
> -	case FTYPE_BLK:
>  	case FTYPE_KBD:
>  	case FTYPE_FB:
>  	    if (FD_ISSET(i, readfds)) {
> -- 
> 2.26.2
> 

-- 
Samuel
gawk; talk; nice; date; wine; grep; touch; unzip; strip;  \
touch; gasp; finger; gasp; lyx; gasp; latex; mount; fsck; \
more; yes; gasp; umount; make clean; make mrproper; sleep


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 20:21:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 20:21:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256100.439313 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7NeG-0000Zr-VL; Tue, 11 Jan 2022 20:21:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256100.439313; Tue, 11 Jan 2022 20:21: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 1n7NeG-0000Zk-SF; Tue, 11 Jan 2022 20:21:40 +0000
Received: by outflank-mailman (input) for mailman id 256100;
 Tue, 11 Jan 2022 20:21:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=JwWh=R3=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n7NeF-0000ZM-55
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 20:21:39 +0000
Received: from ppsw-42.csi.cam.ac.uk (ppsw-42.csi.cam.ac.uk [131.111.8.142])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 13cd31f8-731c-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 21:21:37 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:47054)
 by ppsw-42.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.138]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n7NeC-000t3o-92 (Exim 4.95) (return-path <amc96@srcf.net>);
 Tue, 11 Jan 2022 20:21:36 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 944EA1FBCC;
 Tue, 11 Jan 2022 20:21:36 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 13cd31f8-731c-11ec-81c1-a30af7de8005
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <a41f6688-d14a-dad5-1625-1b98f793062e@srcf.net>
Date: Tue, 11 Jan 2022 20:21:36 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-4-jgross@suse.com>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: [PATCH v2 03/12] mini-os: use alloc_file_type() and
 get_file_from_fd() in xs
In-Reply-To: <20220111151215.22955-4-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11/01/2022 15:12, Juergen Gross wrote:
>  void xs_daemon_close(struct xs_handle *h)
>  {
> -    int fd = _xs_fileno(h);
> -    struct xenbus_event *event, *next;
> -    for (event = files[fd].dev; event; event = next)
> -    {
> -        next = event->next;
> -        free(event);
> -    }
> +    close(_xs_fileno(h));
>  }

You've deleted the sole caller of xs_daemon_close() from the main
close() function.

That said, I'm very confused, because nothing in minios declares it. 
The declaration appears to come from xenstore.h, which is clearly
included unconditionally (when it ought not to be), but libxenstore also
defines the function too...

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 20:22:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 20:22:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256106.439328 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Net-0001E7-Bj; Tue, 11 Jan 2022 20:22:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256106.439328; Tue, 11 Jan 2022 20:22:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Net-0001Dz-80; Tue, 11 Jan 2022 20:22:19 +0000
Received: by outflank-mailman (input) for mailman id 256106;
 Tue, 11 Jan 2022 20:22:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZoZL=R3=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n7Ner-00017B-CH
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 20:22:17 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [2a0c:e300::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2a8678a0-731c-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 21:22:15 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id EE19440E;
 Tue, 11 Jan 2022 21:22:14 +0100 (CET)
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 TAT_ODCsa4fw; Tue, 11 Jan 2022 21:22:14 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 8AEF5261;
 Tue, 11 Jan 2022 21:22:13 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n7Nem-00FFTk-Ru;
 Tue, 11 Jan 2022 21: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>
X-Inumbo-ID: 2a8678a0-731c-11ec-9ce5-af14b9085ebd
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Tue, 11 Jan 2022 21:22:12 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v2 07/12] mini-os: use get_file_from_fd() in netfront
Message-ID: <20220111202212.k5lvnnneihoqagnl@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: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-8-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220111151215.22955-8-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: EE19440E
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le mar. 11 janv. 2022 16:12:10 +0100, a ecrit:
> Instead of directly accessing the files[] array use get_file_from_fd().
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

modulo the int fd / file * thing,

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
>  include/lib.h |  3 +--
>  lib/sys.c     | 23 ------------------
>  netfront.c    | 64 ++++++++++++++++++++++++++++++++++++++++++++-------
>  3 files changed, 57 insertions(+), 33 deletions(-)
> 
> diff --git a/include/lib.h b/include/lib.h
> index 05f5083..aa8036e 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -163,8 +163,7 @@ void sanity_check(void);
>  #define FTYPE_SAVEFILE   5
>  #define FTYPE_FB         6
>  #define FTYPE_KBD        7
> -#define FTYPE_TAP        8
> -#define FTYPE_N          9
> +#define FTYPE_N          8
>  #define FTYPE_SPARE     16
>  
>  typedef int file_read_func(int fd, void *buf, size_t nbytes);
> diff --git a/lib/sys.c b/lib/sys.c
> index f84fedd..7f2e11f 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -303,17 +303,6 @@ int read(int fd, void *buf, size_t nbytes)
>  	case FTYPE_SOCKET:
>  	    return lwip_read(files[fd].fd, buf, nbytes);
>  #endif
> -#ifdef CONFIG_NETFRONT
> -	case FTYPE_TAP: {
> -	    ssize_t ret;
> -	    ret = netfront_receive(files[fd].dev, buf, nbytes);
> -	    if (ret <= 0) {
> -		errno = EAGAIN;
> -		return -1;
> -	    }
> -	    return ret;
> -	}
> -#endif
>  #ifdef CONFIG_KBDFRONT
>          case FTYPE_KBD: {
>              int ret, n;
> @@ -369,11 +358,6 @@ int write(int fd, const void *buf, size_t nbytes)
>  #ifdef HAVE_LWIP
>  	case FTYPE_SOCKET:
>  	    return lwip_write(files[fd].fd, (void*) buf, nbytes);
> -#endif
> -#ifdef CONFIG_NETFRONT
> -	case FTYPE_TAP:
> -	    netfront_xmit(files[fd].dev, (void*) buf, nbytes);
> -	    return nbytes;
>  #endif
>  	default:
>  	    break;
> @@ -459,11 +443,6 @@ int close(int fd)
>  	    res = lwip_close(files[fd].fd);
>              break;
>  #endif
> -#ifdef CONFIG_NETFRONT
> -	case FTYPE_TAP:
> -	    shutdown_netfront(files[fd].dev);
> -            break;
> -#endif
>  #ifdef CONFIG_KBDFRONT
>  	case FTYPE_KBD:
>              shutdown_kbdfront(files[fd].dev);
> @@ -640,7 +619,6 @@ static const char *file_types[] = {
>      [FTYPE_NONE]    = "none",
>      [FTYPE_CONSOLE] = "console",
>      [FTYPE_SOCKET]  = "socket",
> -    [FTYPE_TAP]     = "net",
>      [FTYPE_KBD]     = "kbd",
>      [FTYPE_FB]      = "fb",
>  };
> @@ -817,7 +795,6 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
>                  n++;
>  	    FD_CLR(i, exceptfds);
>  	    break;
> -	case FTYPE_TAP:
>  	case FTYPE_KBD:
>  	case FTYPE_FB:
>  	    if (FD_ISSET(i, readfds)) {
> diff --git a/netfront.c b/netfront.c
> index 7696451..f86c6a2 100644
> --- a/netfront.c
> +++ b/netfront.c
> @@ -248,14 +248,14 @@ void netfront_select_handler(evtchn_port_t port, struct pt_regs *regs, void *dat
>  {
>      int flags;
>      struct netfront_dev *dev = data;
> -    int fd = dev->fd;
> +    struct file *file = get_file_from_fd(dev->fd);
>  
>      local_irq_save(flags);
>      network_tx_buf_gc(dev);
>      local_irq_restore(flags);
>  
> -    if (fd != -1)
> -        files[fd].read = true;
> +    if ( file )
> +        file->read = true;
>      wake_up(&netfront_queue);
>  }
>  #endif
> @@ -565,8 +565,54 @@ error:
>  }
>  
>  #ifdef HAVE_LIBC
> +static int netfront_read(int fd, void *buf, size_t nbytes)
> +{
> +    ssize_t ret;
> +    struct file *file = get_file_from_fd(fd);
> +
> +    ret = netfront_receive(file->dev, buf, nbytes);
> +    if ( ret <= 0 )
> +    {
> +        errno = EAGAIN;
> +        return -1;
> +    }
> +
> +    return ret;
> +}
> +
> +static int netfront_write(int fd, const void *buf, size_t nbytes)
> +{
> +    struct file *file = get_file_from_fd(fd);
> +
> +    netfront_xmit(file->dev, (void *)buf, nbytes);
> +
> +    return nbytes;
> +}
> +
> +static int netfront_close_fd(int fd)
> +{
> +    struct file *file = get_file_from_fd(fd);
> +
> +    shutdown_netfront(file->dev);
> +
> +    return 0;
> +}
> +
> +static struct file_ops netfront_ops = {
> +    .name = "net",
> +    .read = netfront_read,
> +    .write = netfront_write,
> +    .close = netfront_close_fd,
> +    .select_rd = select_read_flag,
> +};
> +
>  int netfront_tap_open(char *nodename) {
>      struct netfront_dev *dev;
> +    struct file *file;
> +    static unsigned int ftype_netfront;
> +
> +    if ( !ftype_netfront )
> +        ftype_netfront = alloc_file_type(&netfront_ops);
>  
>      dev = init_netfront(nodename, NETIF_SELECT_RX, NULL, NULL);
>      if (!dev) {
> @@ -574,9 +620,10 @@ int netfront_tap_open(char *nodename) {
>  	errno = EIO;
>  	return -1;
>      }
> -    dev->fd = alloc_fd(FTYPE_TAP);
> +    dev->fd = alloc_fd(ftype_netfront);
>      printk("tap_open(%s) -> %d\n", nodename, dev->fd);
> -    files[dev->fd].dev = dev;
> +    file = get_file_from_fd(dev->fd);
> +    file->dev = dev;
>      return dev->fd;
>  }
>  #endif
> @@ -772,7 +819,8 @@ void netfront_xmit(struct netfront_dev *dev, unsigned char* data,int len)
>  ssize_t netfront_receive(struct netfront_dev *dev, unsigned char *data, size_t len)
>  {
>      unsigned long flags;
> -    int fd = dev->fd;
> +    struct file *file = get_file_from_fd(dev->fd);
> +
>      ASSERT(current == main_thread);
>  
>      dev->rlen = 0;
> @@ -781,9 +829,9 @@ ssize_t netfront_receive(struct netfront_dev *dev, unsigned char *data, size_t l
>  
>      local_irq_save(flags);
>      network_rx(dev);
> -    if (!dev->rlen && fd != -1)
> +    if ( !dev->rlen && file )
>          /* No data for us, make select stop returning */
> -        files[fd].read = false;
> +        file->read = false;
>      /* Before re-enabling the interrupts, in case a packet just arrived in the
>       * meanwhile. */
>      local_irq_restore(flags);
> -- 
> 2.26.2
> 

-- 
Samuel
/*
 * [...] Note that 120 sec is defined in the protocol as the maximum
 * possible RTT.  I guess we'll have to use something other than TCP
 * to talk to the University of Mars.
 * PAWS allows us longer timeouts and large windows, so once implemented
 * ftp to mars will work nicely.
 */
(from /usr/src/linux/net/inet/tcp.c, concerning RTT [retransmission timeout])


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 20:26:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 20:26:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256113.439338 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Nid-0001wM-RO; Tue, 11 Jan 2022 20:26:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256113.439338; Tue, 11 Jan 2022 20:26:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Nid-0001wF-ON; Tue, 11 Jan 2022 20:26:11 +0000
Received: by outflank-mailman (input) for mailman id 256113;
 Tue, 11 Jan 2022 20:26:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZoZL=R3=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n7Nib-0001w4-MM
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 20:26:09 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b5a73d8b-731c-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 21:26:08 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id EE6FD40E;
 Tue, 11 Jan 2022 21:26:07 +0100 (CET)
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 OYgKDOkHK2uc; Tue, 11 Jan 2022 21:26:07 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 2E234261;
 Tue, 11 Jan 2022 21:26:07 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n7NiX-00FFaW-VT;
 Tue, 11 Jan 2022 21:26: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>
X-Inumbo-ID: b5a73d8b-731c-11ec-81c1-a30af7de8005
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Tue, 11 Jan 2022 21:26:05 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v2 08/12] mini-os: use alloc_file_type() and
 get_file_from_fd() in fbfront
Message-ID: <20220111202605.sihxjumqcxbfthxf@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: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-9-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220111151215.22955-9-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: EE6FD40E
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le mar. 11 janv. 2022 16:12:11 +0100, a ecrit:
> +static struct file_ops fb_ops = {
> +    .name = ".fb",

Why a dot?


Apart from that, and modulo the int fd / file * thing,

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 20:29:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 20:29:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256118.439354 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Nli-0002er-A0; Tue, 11 Jan 2022 20:29:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256118.439354; Tue, 11 Jan 2022 20:29:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Nli-0002ek-6C; Tue, 11 Jan 2022 20:29:22 +0000
Received: by outflank-mailman (input) for mailman id 256118;
 Tue, 11 Jan 2022 20:29:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=JwWh=R3=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n7Nlh-0002eZ-0d
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 20:29:21 +0000
Received: from ppsw-43.csi.cam.ac.uk (ppsw-43.csi.cam.ac.uk [131.111.8.143])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2700172c-731d-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 21:29:19 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:50744)
 by ppsw-43.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.139]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n7Nld-0005BJ-pA (Exim 4.95) (return-path <amc96@srcf.net>);
 Tue, 11 Jan 2022 20:29:17 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 8FF011FDB6;
 Tue, 11 Jan 2022 20:29:17 +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: 2700172c-731d-11ec-81c1-a30af7de8005
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <95614df8-c22d-3e1e-b976-84bbed1b30be@srcf.net>
Date: Tue, 11 Jan 2022 20:29:17 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org,
 Jason Andryuk <jandryuk@gmail.com>,
 Daniel Smith <dpsmith@apertussolutions.com>
References: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-5-jgross@suse.com>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: [PATCH v2 04/12] mini-os: use alloc_file_type() and
 get_file_from_fd() in tpm_tis
In-Reply-To: <20220111151215.22955-5-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11/01/2022 15:12, Juergen Gross wrote:
> diff --git a/tpm_tis.c b/tpm_tis.c
> index 477f555..abea7a1 100644
> --- a/tpm_tis.c
> +++ b/tpm_tis.c
> @@ -1093,6 +1097,23 @@ ssize_t tpm_getcap(struct tpm_chip *chip, uint32_t subcap_id, cap_t *cap,
>          return rc;
>  }
>  
> +static void shutdown_tpm_tis(struct tpm_chip* tpm){

Style, as you're moving it.  Also in the function.

> @@ -1360,6 +1369,35 @@ int tpm_tis_posix_fstat(int fd, struct stat* buf)
>     return 0;
>  }
>  
> +static struct file_ops tpm_tis_ops = {
> +    .name = "tpm_tis",
> +    .read = tpm_tis_posix_read,
> +    .write = tpm_tis_posix_write,
> +    .lseek = lseek_default,
> +    .close = tpm_tis_close,
> +    .fstat = tpm_tis_posix_fstat,
> +};
> +
> +int tpm_tis_open(struct tpm_chip* tpm)

Style.

> +{
> +   struct file *file;
> +   static unsigned int ftype_tis;
> +
> +   /* Silently prevent multiple opens */
> +   if(tpm->fd != -1) {
> +      return tpm->fd;
> +   }

Another WTF moment.  We silently swallow multiple open()s, but don't
refcout close()s ?

This cannot be correct, or sensible, behaviour.

Jason/Daniel - thoughts?

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 20:35:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 20:35:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256124.439365 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7NrG-00046L-2v; Tue, 11 Jan 2022 20:35:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256124.439365; Tue, 11 Jan 2022 20:35:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7NrF-00046E-W0; Tue, 11 Jan 2022 20:35:05 +0000
Received: by outflank-mailman (input) for mailman id 256124;
 Tue, 11 Jan 2022 20:35:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZoZL=R3=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n7NrE-000462-R1
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 20:35:04 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f4736e51-731d-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 21:35:03 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id E335537A;
 Tue, 11 Jan 2022 21:35:02 +0100 (CET)
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 xbF25ZqM8-4f; Tue, 11 Jan 2022 21:35:02 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 6B9D8140;
 Tue, 11 Jan 2022 21:35:02 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n7NrB-00FFgN-8g;
 Tue, 11 Jan 2022 21:35:01 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f4736e51-731d-11ec-9ce5-af14b9085ebd
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Tue, 11 Jan 2022 21:35:01 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v2 09/12] mini-os: use file_ops and get_file_from_fd()
 for console
Message-ID: <20220111203501.tywfn4czhwavhgrf@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: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-10-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220111151215.22955-10-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: E335537A
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le mar. 11 janv. 2022 16:12:12 +0100, a ecrit:
> +static int consfront_fstat(int fd, struct stat *buf)
> +{
> +    struct file *file = get_file_from_fd(fd);
> +
> +    buf->st_mode = S_IRUSR | S_IWUSR;
> +    buf->st_mode |= (file->type == FTYPE_CONSOLE) ? S_IFCHR : S_IFREG;
> +    buf->st_atime = buf->st_mtime = buf->st_ctime = time(NULL);
> +
> +    return 0;
> +}

This seems to be missing filling st_uid, st_gid, etc.?

Samuel


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 20:38:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 20:38:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256130.439384 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7NuN-0004r2-L6; Tue, 11 Jan 2022 20:38:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256130.439384; Tue, 11 Jan 2022 20:38:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7NuN-0004qu-HY; Tue, 11 Jan 2022 20:38:19 +0000
Received: by outflank-mailman (input) for mailman id 256130;
 Tue, 11 Jan 2022 20:38:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZoZL=R3=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n7NuL-0004od-T3
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 20:38:17 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [2a0c:e300::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 67280df6-731e-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 21:38:16 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 8FC55678;
 Tue, 11 Jan 2022 21:38:15 +0100 (CET)
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 zVLRcc43YJzm; Tue, 11 Jan 2022 21:38:15 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id F382D174;
 Tue, 11 Jan 2022 21:38:14 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n7NuH-00FFio-QR;
 Tue, 11 Jan 2022 21:38:13 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 67280df6-731e-11ec-81c1-a30af7de8005
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Tue, 11 Jan 2022 21:38:13 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v2 10/12] mini-os: add struct file_ops for file type
 socket
Message-ID: <20220111203813.rnx6fuihlq7soxex@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: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-11-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220111151215.22955-11-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 8FC55678
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le mar. 11 janv. 2022 16:12:13 +0100, a ecrit:
> +static int socket_fstat(int fd, struct stat *buf)
> +{
> +    buf->st_mode = S_IFSOCK | S_IRUSR | S_IWUSR;
> +    buf->st_atime = buf->st_mtime = buf->st_ctime = time(NULL);
> +
> +    return 0;
> +}

Similarly, this seems to be missing setting st_uid, st_gid, st_size?

Samuel


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 20:42:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 20:42:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256135.439399 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Ny9-0006IW-7r; Tue, 11 Jan 2022 20:42:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256135.439399; Tue, 11 Jan 2022 20: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 1n7Ny9-0006IP-3s; Tue, 11 Jan 2022 20:42:13 +0000
Received: by outflank-mailman (input) for mailman id 256135;
 Tue, 11 Jan 2022 20:42:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZoZL=R3=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n7Ny7-0006GK-DI
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 20:42:11 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [2a0c:e300::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f231f8ec-731e-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 21:42:09 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 7BFDC678;
 Tue, 11 Jan 2022 21:42:08 +0100 (CET)
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 J3PqWnO4Gxlu; Tue, 11 Jan 2022 21:42:07 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 558D4174;
 Tue, 11 Jan 2022 21:42:07 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n7Ny2-00FFmd-7I;
 Tue, 11 Jan 2022 21:42:06 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f231f8ec-731e-11ec-9ce5-af14b9085ebd
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Tue, 11 Jan 2022 21:42:06 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
Subject: Re: [PATCH v2 17/18] mini-os: use function vectors instead of switch
 for file operations
Message-ID: <20220111204206.4cueltjygd2ydnga@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: <20220111145817.22170-1-jgross@suse.com>
 <20220111145817.22170-18-jgross@suse.com>
 <20220111200547.wb6mwl6zxtf3y54c@begin>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220111200547.wb6mwl6zxtf3y54c@begin>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 7BFDC678
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Samuel Thibault, le mar. 11 janv. 2022 21:05:47 +0100, a ecrit:
> Juergen Gross, le mar. 11 janv. 2022 15:58:16 +0100, a ecrit:
> > @@ -370,8 +413,45 @@ int write(int fd, const void *buf, size_t nbytes)
> >      return -1;
> >  }
> >  
> > +off_t lseek_default(int fd, off_t offset, int whence)
> > +{
> > +    switch ( whence )
> > +    {
> 
> Is there a reason for making this one a separate function, unlike others
> for which you kept the code in the main function?

Ah, I guess that it's because in the end, it's the only function that
has a default implementation left?  And thus the rule is that unless the
method is set, the default implementation is ENOSYS?  I agree with that,
then.

Samuel


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 20:42:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 20:42:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256138.439414 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7NyV-0006rV-If; Tue, 11 Jan 2022 20:42:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256138.439414; Tue, 11 Jan 2022 20:42:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7NyV-0006rN-F8; Tue, 11 Jan 2022 20:42:35 +0000
Received: by outflank-mailman (input) for mailman id 256138;
 Tue, 11 Jan 2022 20:42:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZoZL=R3=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n7NyU-0006GK-2M
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 20:42:34 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [2a0c:e300::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ffded402-731e-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 21:42:32 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id DC4EE678;
 Tue, 11 Jan 2022 21:42:31 +0100 (CET)
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 VPcginCM2lUV; Tue, 11 Jan 2022 21:42:31 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 2B053174;
 Tue, 11 Jan 2022 21:42:31 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n7NyQ-00FFmz-Nn;
 Tue, 11 Jan 2022 21:42:30 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ffded402-731e-11ec-9ce5-af14b9085ebd
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Tue, 11 Jan 2022 21:42:30 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v2 11/12] mini-os: add struct file_ops for FTYPE_FILE
Message-ID: <20220111204230.xd4rj7fkmidooiik@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: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-12-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220111151215.22955-12-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: DC4EE678
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le mar. 11 janv. 2022 16:12:14 +0100, a ecrit:
> FTYPE_FILE is the last relevant file type without a struct file_ops.
> Add it.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
>  lib/sys.c | 19 +++++++++----------
>  1 file changed, 9 insertions(+), 10 deletions(-)
> 
> diff --git a/lib/sys.c b/lib/sys.c
> index 12deaed..0f42e97 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -99,6 +99,11 @@ static struct file_ops file_ops_none = {
>      .name = "none",
>  };
>  
> +static struct file_ops file_file_ops = {
> +    .name = "file",
> +    .lseek = lseek_default,
> +};
> +
>  #ifdef HAVE_LWIP
>  static int socket_read(int fd, void *buf, size_t nbytes)
>  {
> @@ -160,6 +165,7 @@ static struct file_ops *file_ops[FTYPE_N + FTYPE_SPARE] = {
>  #ifdef CONFIG_CONSFRONT
>      [FTYPE_CONSOLE] = &console_ops,
>  #endif
> +    [FTYPE_FILE] = &file_file_ops,
>  #ifdef HAVE_LWIP
>      [FTYPE_SOCKET] = &socket_ops,
>  #endif
> @@ -397,16 +403,9 @@ off_t lseek(int fd, off_t offset, int whence)
>      if ( ops->lseek )
>          return ops->lseek(fd, offset, whence);
>  
> -    switch(files[fd].type) {
> -       case FTYPE_FILE:
> -          break;
> -       default:
> -          /* Not implemented for this filetype */
> -          errno = ESPIPE;
> -          return (off_t) -1;
> -    }
> -
> -    return lseek_default(fd, offset, whence);
> +    /* Not implemented for this filetype */
> +    errno = ESPIPE;
> +    return (off_t) -1;
>  }
>  
>  int fsync(int fd) {
> -- 
> 2.26.2
> 

-- 
Samuel
"...[Linux's] capacity to talk via any medium except smoke signals."
(By Dr. Greg Wettstein, Roger Maris Cancer Center)


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 20:42:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 20:42:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256140.439425 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Nyk-0007KB-R9; Tue, 11 Jan 2022 20:42:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256140.439425; Tue, 11 Jan 2022 20:42: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 1n7Nyk-0007K4-Nr; Tue, 11 Jan 2022 20:42:50 +0000
Received: by outflank-mailman (input) for mailman id 256140;
 Tue, 11 Jan 2022 20:42:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZoZL=R3=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n7Nyj-0007Ce-VQ
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 20:42:49 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 09fbecd2-731f-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 21:42:49 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id DE358678;
 Tue, 11 Jan 2022 21:42:48 +0100 (CET)
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 O9ROnKIghYpM; Tue, 11 Jan 2022 21:42:48 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 81A25140;
 Tue, 11 Jan 2022 21:42:47 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n7Nyh-00FFnE-3z;
 Tue, 11 Jan 2022 21:42: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>
X-Inumbo-ID: 09fbecd2-731f-11ec-81c1-a30af7de8005
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Tue, 11 Jan 2022 21:42:47 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v2 12/12] mini-os: make files array private to sys.c
Message-ID: <20220111204247.iqfobcpsnnqnx2el@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: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-13-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220111151215.22955-13-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: DE358678
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le mar. 11 janv. 2022 16:12:15 +0100, a ecrit:
> There is no user of the files[] array outside of lib/sys.c left, so
> it can be made static.

Yay!

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

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
>  include/lib.h | 2 --
>  lib/sys.c     | 2 +-
>  2 files changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/include/lib.h b/include/lib.h
> index c171fe8..80e804b 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -199,8 +199,6 @@ struct file {
>      };
>  };
>  
> -extern struct file files[];
> -
>  struct file *get_file_from_fd(int fd);
>  int alloc_fd(unsigned int type);
>  void close_all_files(void);
> diff --git a/lib/sys.c b/lib/sys.c
> index 0f42e97..c0cad87 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -89,7 +89,7 @@ extern void minios_evtchn_close_fd(int fd);
>  extern void minios_gnttab_close_fd(int fd);
>  
>  pthread_mutex_t fd_lock = PTHREAD_MUTEX_INITIALIZER;
> -struct file files[NOFILE] = {
> +static struct file files[NOFILE] = {
>      { .type = FTYPE_CONSOLE }, /* stdin */
>      { .type = FTYPE_CONSOLE }, /* stdout */
>      { .type = FTYPE_CONSOLE }, /* stderr */
> -- 
> 2.26.2
> 

-- 
Samuel
#include <culture.h>


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 20:51:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 20:51:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256149.439440 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7O6d-0000ci-PQ; Tue, 11 Jan 2022 20:50:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256149.439440; Tue, 11 Jan 2022 20: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 1n7O6d-0000cb-LA; Tue, 11 Jan 2022 20:50:59 +0000
Received: by outflank-mailman (input) for mailman id 256149;
 Tue, 11 Jan 2022 20:50: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 1n7O6b-0000cR-RX; Tue, 11 Jan 2022 20:50: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 1n7O6b-0001uO-MP; Tue, 11 Jan 2022 20: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 1n7O6b-000118-An; Tue, 11 Jan 2022 20:50:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n7O6b-0003nF-AM; Tue, 11 Jan 2022 20: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=to9xyiFumdpnXNfVMzHEIi3CGb8Vliqq2cXJUU7SRCk=; b=T1iDNZ8S+DmWEEYpgmJ0G8VWeh
	Ri+ISWskpER13jBb6ow7ZpRFbYWKME2tcitJEb38z597tHwkUQDHF25xtcVAx/qYVJJwk2Zrs6EGC
	Zh1jiVzyC4BxxydZSnTEj2CaUI/m/1UvIaQgCBakfibO4MaZjN9M7ReZgQ7wmXwahgYc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167659-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167659: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-armhf-armhf-libvirt:xen-boot:fail:heisenbug
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check: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-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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm: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-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2: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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2: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
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=bf99e0ec9a51976868d7a8334620716df15fe7fe
X-Osstest-Versions-That:
    qemuu=de3f5223fa4cf8bfc5e3fe1fd495ddf468edcdf7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 11 Jan 2022 20:50:57 +0000

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

Failures :-/ but no regressions.

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

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

version targeted for testing:
 qemuu                bf99e0ec9a51976868d7a8334620716df15fe7fe
baseline version:
 qemuu                de3f5223fa4cf8bfc5e3fe1fd495ddf468edcdf7

Last test of basis   167652  2022-01-10 16:09:32 Z    1 days
Testing same since   167659  2022-01-11 12:07:04 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  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                                     fail    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     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-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   de3f5223fa..bf99e0ec9a  bf99e0ec9a51976868d7a8334620716df15fe7fe -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 20:58:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 20:58:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256159.439454 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7OE5-0001R8-Om; Tue, 11 Jan 2022 20:58:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256159.439454; Tue, 11 Jan 2022 20: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 1n7OE5-0001R1-Le; Tue, 11 Jan 2022 20:58:41 +0000
Received: by outflank-mailman (input) for mailman id 256159;
 Tue, 11 Jan 2022 20:58:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WMrX=R3=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1n7OE4-0001Om-Bt
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 20:58:40 +0000
Received: from mail-lf1-x12b.google.com (mail-lf1-x12b.google.com
 [2a00:1450:4864:20::12b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3fe6eeb7-7321-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 21:58:38 +0100 (CET)
Received: by mail-lf1-x12b.google.com with SMTP id o12so1087309lfk.1;
 Tue, 11 Jan 2022 12:58:38 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3fe6eeb7-7321-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=T1v+9Ueeg7OUQ3kdGw68OPT8Wm7+J1hRdoFF6SyrlxQ=;
        b=dO552taYRC5MqeaXNw/2wooBC+b8eO3MpdHdMrzRRyHd/yRb60MgaWsX7b6jrYkmBv
         eE47KfBKv2Gw9UWVJRn1GGxVVdgVM9+3wuTE8QwiaE/yXQoDE4+bSRY+AdicMea+8UYm
         LU822VxSMB6ViC3KyW8N/Yc/fzGn2o4JrFNAOxXc8bi8NEn9va+zYBqARo+uAEbr4hgS
         Tqbp5VKPsL6wUAQCiUAWZzrVnIjl0QaF1nOdnCUffWveoSp63IEOjl+i/5T9hbTiT4fQ
         lKKBlk+uW7qoKeFu2dQ7uY36xkPKu4yeNd+BNNFv/NMoo6A/3hsp0UvxdnOrXANnJKWD
         cQpQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=T1v+9Ueeg7OUQ3kdGw68OPT8Wm7+J1hRdoFF6SyrlxQ=;
        b=tPoq4VTiTBbWE4i8TcR6e4i+6yTRSLXiJfxP+wNiWorPVn1E5Xt4IN+d+c4IBNdOdc
         bUnZLYA2vTZtTZ1ku4EZs+jfWCuEF7757tRngV4CTXZUE70XtV3SOsCWt/TZoL9T+ooW
         YtLMUDiD7So+Fl7QKz8AFbqS2oGi7itVjo6tQnJ5NXmzvS8DQLGpzlzLBzUzID0KPH3/
         RUamKuOnfxBR7I20IIoWEWYbfn35E5v496dwUOqbcTm3S+5mHhsrp0d7uHMWu+luAHCi
         7FWCI8S13/En/Pc9v28MrGepWf5a/1cnpl6mAw6rtc3F1S3jWwYMKZL2zYlN8LvAqX0X
         iEmw==
X-Gm-Message-State: AOAM533La/A62WwIOuz34CvNgg9DyGPdYpSd7JN/laMDlATfkg15/Gs0
	UiVrEiNlvN4rLdn5OKuGt92FEBdhGX5c5iJunuY=
X-Google-Smtp-Source: ABdhPJwsZgYQK/QDNS7/XYyoGOTw2hRcfA8tQikuefdLMc9jR5U9Sozdg6EdupTPlksDCEb9VgmPXIACxsw4hRU299Y=
X-Received: by 2002:a05:651c:1241:: with SMTP id h1mr2097250ljh.459.1641934718135;
 Tue, 11 Jan 2022 12:58:38 -0800 (PST)
MIME-Version: 1.0
References: <20220111151215.22955-1-jgross@suse.com> <20220111151215.22955-5-jgross@suse.com>
 <95614df8-c22d-3e1e-b976-84bbed1b30be@srcf.net>
In-Reply-To: <95614df8-c22d-3e1e-b976-84bbed1b30be@srcf.net>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 11 Jan 2022 15:58:26 -0500
Message-ID: <CAKf6xps03Dn8kaAPeAgctU9Dze17qX-uLVx05+yX038weqwtJQ@mail.gmail.com>
Subject: Re: [PATCH v2 04/12] mini-os: use alloc_file_type() and
 get_file_from_fd() in tpm_tis
To: Andrew Cooper <amc96@srcf.net>
Cc: Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org, 
	xen-devel <xen-devel@lists.xenproject.org>, 
	Samuel Thibault <samuel.thibault@ens-lyon.org>, Wei Liu <wl@xen.org>, 
	Daniel Smith <dpsmith@apertussolutions.com>
Content-Type: text/plain; charset="UTF-8"

On Tue, Jan 11, 2022 at 3:29 PM Andrew Cooper <amc96@srcf.net> wrote:
>
> On 11/01/2022 15:12, Juergen Gross wrote:
> > diff --git a/tpm_tis.c b/tpm_tis.c
> > index 477f555..abea7a1 100644
> > --- a/tpm_tis.c
> > +++ b/tpm_tis.c
> > @@ -1093,6 +1097,23 @@ ssize_t tpm_getcap(struct tpm_chip *chip, uint32_t subcap_id, cap_t *cap,
> >          return rc;
> >  }
> >
> > +static void shutdown_tpm_tis(struct tpm_chip* tpm){
>
> Style, as you're moving it.  Also in the function.
>
> > @@ -1360,6 +1369,35 @@ int tpm_tis_posix_fstat(int fd, struct stat* buf)
> >     return 0;
> >  }
> >
> > +static struct file_ops tpm_tis_ops = {
> > +    .name = "tpm_tis",
> > +    .read = tpm_tis_posix_read,
> > +    .write = tpm_tis_posix_write,
> > +    .lseek = lseek_default,
> > +    .close = tpm_tis_close,
> > +    .fstat = tpm_tis_posix_fstat,
> > +};
> > +
> > +int tpm_tis_open(struct tpm_chip* tpm)
>
> Style.
>
> > +{
> > +   struct file *file;
> > +   static unsigned int ftype_tis;
> > +
> > +   /* Silently prevent multiple opens */
> > +   if(tpm->fd != -1) {
> > +      return tpm->fd;
> > +   }
>
> Another WTF moment.  We silently swallow multiple open()s, but don't
> refcout close()s ?
>
> This cannot be correct, or sensible, behaviour.
>
> Jason/Daniel - thoughts?

Looks like vtpmmgr only opens a single global fd, so it has not been a
problem in practice.

You need some sort of synchronization to let multiple entities access
the TPM.  So limiting to only a single entity/single FD is a
reasonable restriction.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 21:57:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 21:57:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256163.439466 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7P90-0007IG-CP; Tue, 11 Jan 2022 21:57:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256163.439466; Tue, 11 Jan 2022 21: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 1n7P90-0007I9-8D; Tue, 11 Jan 2022 21:57:30 +0000
Received: by outflank-mailman (input) for mailman id 256163;
 Tue, 11 Jan 2022 21:57:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XMx1=R3=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n7P8z-0007I3-1l
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 21:57:29 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 75ffa2e0-7329-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 22:57:26 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by sin.source.kernel.org (Postfix) with ESMTPS id 832A5CE1BAC;
 Tue, 11 Jan 2022 21:57:21 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 737BCC36AE9;
 Tue, 11 Jan 2022 21:57: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: 75ffa2e0-7329-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1641938239;
	bh=Bg9mnHbafkWPugt72hWOTPKDxDoji2TUN1l7gnXKtkM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=YyKc6fsfjhzId6301nYjmAKcQEesCOnA63AYxkYTx2lxBXyv0od2rM44qK4uGbp1D
	 hRRBYuJznz6X7EOYRaFl7zdrMdIYCEEzKumx4W6O5lVkCGmz7KNIIwyz9IdPlg4WZG
	 OVnayNFPJhURxcRoSM3sT9XifAE2qYgcwtxwwk7xDdwWb0d6sZ3JHuQ4JsMth4ZZnL
	 M1N7M/MsWetlsSBFr9sIoXgChe6Pq18YUxQaLXO9htymVYUW9nnJHICRKGJQt83FLV
	 INBE7fcDq/KRk8MtWnSlMXt/hcGbPAx6K7g+ft8e3hSjCKvwri7VenqgZBEBrHjz+f
	 tXeQdIB4hk1TQ==
Date: Tue, 11 Jan 2022 13:57:11 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: "Daniel P. Smith" <dpsmith@apertussolutions.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] MAINTAINERS: requesting to be txt reviewer
In-Reply-To: <20220111212114.16273-1-dpsmith@apertussolutions.com>
Message-ID: <alpine.DEB.2.22.394.2201111357050.19362@ubuntu-linux-20-04-desktop>
References: <20220111212114.16273-1-dpsmith@apertussolutions.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 11 Jan 2022, Daniel P. Smith wrote:
> I would like to submit myself, Daniel P. Smith, as a reviewer of TXT support in
> Xen.
> 
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>

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


> ---
>  MAINTAINERS | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 6e84a05760..4a2884dfa7 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -317,6 +317,7 @@ F:	xen/include/xen/hypfs.h
>  
>  INTEL(R) TRUSTED EXECUTION TECHNOLOGY (TXT)
>  R:	Lukasz Hawrylko <lukasz.hawrylko@linux.intel.com>
> +R:	Daniel P. Smith <dpsmith@apertussolutions.com>
>  S:	Odd Fixes
>  F:	xen/arch/x86/include/asm/tboot.h
>  F:	xen/arch/x86/tboot.c
> -- 
> 2.20.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 22:49:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 22:49:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256168.439476 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Pxd-0003rQ-Ep; Tue, 11 Jan 2022 22:49:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256168.439476; Tue, 11 Jan 2022 22:49:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Pxd-0003rJ-BV; Tue, 11 Jan 2022 22:49:49 +0000
Received: by outflank-mailman (input) for mailman id 256168;
 Tue, 11 Jan 2022 22:49:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XMx1=R3=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n7Pxb-0003rD-Ga
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 22:49:47 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c4f9e7f1-7330-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 23:49:45 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 9551361019;
 Tue, 11 Jan 2022 22:49:43 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9307BC36AE9;
 Tue, 11 Jan 2022 22:49: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: c4f9e7f1-7330-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1641941383;
	bh=jPgFclzDlCRo9KFwjaaKLl/zyTqFQZQX/6xTtixtQy8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=KutVUOTtJ47ins71LOvRcDNtp6LNT7xzmJ+20Lw/4AaXsHAl4N8hhAu0Spa9YMaIi
	 W4epp5R9sp+qQlMcCLYlyMWvrt0iBuXF5397hAgMQateHKqy/di7nW4zK129WEx8AE
	 IMVCq+zAHYU8dPPfvDSKENdymv9uhGM/C1sLktPNxxsVyqbgK6G0Uvx01bb0yOGpOV
	 fUAMwHGM0Ch7Ng+jXgqjbIQBEWrDvys3jLOvURr5fZ/nV3+eVtBHHid6wWv6DXhz7P
	 8eEfKlHTCIULDNlr47lVUQ4O6csdgUY5khSD3QSbevFW4+MNLx7gdUbd/FGLZOVLZo
	 XW61v8dYlXasw==
Date: Tue, 11 Jan 2022 14:49:42 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Luca Miccio <lucmiccio@gmail.com>, julien@xen.org, 
    Bertrand.Marquis@arm.com, 
    Stefano Stabellini <stefano.stabellini@xilinx.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, 
    xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 2/7] xen: introduce _evtchn_alloc_unbound
In-Reply-To: <93887812-b9c1-af41-85ef-208cc114a1fc@suse.com>
Message-ID: <alpine.DEB.2.22.394.2201111432120.19362@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop> <20220108004912.3820176-2-sstabellini@kernel.org> <93887812-b9c1-af41-85ef-208cc114a1fc@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 10 Jan 2022, Jan Beulich wrote:
> On 08.01.2022 01:49, Stefano Stabellini wrote:
> > @@ -284,11 +285,32 @@ void evtchn_free(struct domain *d, struct evtchn *chn)
> >      xsm_evtchn_close_post(chn);
> >  }
> >  
> > -static int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
> > +struct evtchn *_evtchn_alloc_unbound(struct domain *d, domid_t remote_dom)
> 
> Function names want to be the other way around, to be in line with
> naming rules of the C spec: The static function may be underscore-
> prefixed, while the non-static one may not.

OK


> >  {
> >      struct evtchn *chn;
> > +    int port;
> > +
> > +    if ( (port = get_free_port(d)) < 0 )
> > +        return ERR_PTR(port);
> > +    chn = evtchn_from_port(d, port);
> > +
> > +    evtchn_write_lock(chn);
> > +
> > +    chn->state = ECS_UNBOUND;
> > +    if ( (chn->u.unbound.remote_domid = remote_dom) == DOMID_SELF )
> > +        chn->u.unbound.remote_domid = current->domain->domain_id;
> 
> I think the resolving of DOMID_SELF should remain in the caller, as I'm
> pretty sure your planned new user(s) can't sensibly pass that value.

Yep, no problem


> > +    evtchn_port_init(d, chn);
> > +
> > +    evtchn_write_unlock(chn);
> > +
> > +    return chn;
> > +}
> > +
> > +static int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
> > +{
> > +    struct evtchn *chn = NULL;
> 
> I don't think the initializer is needed.

OK


> > @@ -297,27 +319,22 @@ static int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
> >  
> >      spin_lock(&d->event_lock);
> >  
> > -    if ( (port = get_free_port(d)) < 0 )
> > -        ERROR_EXIT_DOM(port, d);
> > -    chn = evtchn_from_port(d, port);
> > +    chn = _evtchn_alloc_unbound(d, alloc->remote_dom);
> > +    if ( IS_ERR(chn) )
> > +    {
> > +        rc = PTR_ERR(chn);
> > +        ERROR_EXIT_DOM(rc, d);
> > +    }
> >  
> >      rc = xsm_evtchn_unbound(XSM_TARGET, d, chn, alloc->remote_dom);
> >      if ( rc )
> >          goto out;
> >  
> > -    evtchn_write_lock(chn);
> > -
> > -    chn->state = ECS_UNBOUND;
> 
> This cannot be pulled ahead of the XSM check (or in general anything
> potentially resulting in an error), as check_free_port() relies on
> ->state remaining ECS_FREE until it is known that the calling function
> can't fail anymore.

OK, I didn't realize. Unfortunately it means we have to move setting
chn->state = ECS_UNBOUND to the caller.


> > -    if ( (chn->u.unbound.remote_domid = alloc->remote_dom) == DOMID_SELF )
> > -        chn->u.unbound.remote_domid = current->domain->domain_id;
> > -    evtchn_port_init(d, chn);
> > -
> > -    evtchn_write_unlock(chn);
> > -
> > -    alloc->port = port;
> > +    alloc->port = chn->port;
> >  
> >   out:
> > -    check_free_port(d, port);
> > +    if ( chn != NULL )
> > +        check_free_port(d, chn->port);
> 
> Without the initializer above it'll then be more obvious that the
> condition here needs to be !IS_ERR(chn).
> 
> Also (nit) please prefer the shorter "if ( chn )".
> 
> Overall I wonder in how far it would be possible to instead re-use PV
> shim's "backdoor" into port allocation: evtchn_allocate_port() was
> specifically made available for it, iirc.

I don't see an obvious way to do it. These are the 4 things we need to
do:

1) call get_free_port/evtchn_allocate_port
2) set state = ECS_UNBOUND
3) set remote_domid
4) call evtchn_port_init

It doesn't look like we could enhance evtchn_allocate_port to do 2) and
3). And probably even 4) couldn't be added to evtchn_allocate_port.

So basically it is like calling get_free_port() and do 2,3,4 ourselves
from the caller in xen/arch/arm/domain_build.c. But that might be a good
idea actually. Maybe we should leave evtchn_alloc_unbound unmodified and
instead open-code what we need to do in xen/arch/arm/domain_build.c.
This is how it would look like as a new function in
xen/arch/arm/domain_build.c:

static int alloc_xenstore_evtchn(struct domain *d)
{
    struct evtchn *chn;
    int port;

    if ( (port = get_free_port(d)) < 0 )
        return ERR_PTR(port);
    chn = evtchn_from_port(d, port);

    chn->state = ECS_UNBOUND;
    chn->u.unbound.remote_domid = hardware_domain->domain_id;
    evtchn_port_init(d, chn);

    return chn->port;
}

What do you think? It might not be worth introducing
evtchn_alloc_unbound / _evtchn_alloc_unbound for this?

I am happy to follow what you think is best.

Cheers,

Stefano


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 22:51:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 22:51:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256171.439488 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7PzC-0005AF-QF; Tue, 11 Jan 2022 22:51:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256171.439488; Tue, 11 Jan 2022 22:51:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7PzC-0005A8-NB; Tue, 11 Jan 2022 22:51:26 +0000
Received: by outflank-mailman (input) for mailman id 256171;
 Tue, 11 Jan 2022 22:51:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XMx1=R3=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n7PzC-0005A0-8s
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 22:51:26 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 00a8418e-7331-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 23:51:25 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id E6B8561203;
 Tue, 11 Jan 2022 22:51:23 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D59D1C36AE9;
 Tue, 11 Jan 2022 22: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: 00a8418e-7331-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1641941483;
	bh=esDHpoAtK0+XTTO/qpX/i26NVTtLMkAbXBWFlSubeQE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=sLiOrkPqAPPYn2zrDRIaGJGd5f0klzNKEkWnLZTnM0WMYXRZa9C+cAOaE1Koz+pY+
	 lbITED1TdgF7zWn8HA/pLDNJXeuXb3pXMJdWL1ddOtO+c5UoFcNtUM4hRBe3KpBYXL
	 CvuTN/eLzZpwowia0ERPKfFcRFCLbcufx/j5H5H1Ai600ARrupJTHjIgem3zlm82EV
	 t9Zo3nRBzNYSMS9LdgV29Gv0lIH/SZ+Zce14jUJQZtRgytXUwATB/MEjXU0OqwPNDf
	 xBALHHU5SlIPQafNL+g1CBdoP9UKgCbsjgVuQzu9rrJw2/0O36H1SOAf6aitnBtPWD
	 0KTxHpv9lYRXg==
Date: Tue, 11 Jan 2022 14:51:22 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, julien@xen.org, 
    Bertrand.Marquis@arm.com, Luca Miccio <lucmiccio@gmail.com>, 
    Stefano Stabellini <stefano.stabellini@xilinx.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, 
    xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 1/7] xen: introduce XENFEAT_xenstore_late_init
In-Reply-To: <627242da-78e2-913f-33a4-4ae7fb94664a@suse.com>
Message-ID: <alpine.DEB.2.22.394.2201111450070.19362@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop> <20220108004912.3820176-1-sstabellini@kernel.org> <f3baac82-0eff-f885-f03a-ba987c8e12b6@suse.com> <alpine.DEB.2.22.394.2201101458520.2060010@ubuntu-linux-20-04-desktop>
 <627242da-78e2-913f-33a4-4ae7fb94664a@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 11 Jan 2022, Jan Beulich wrote:
> On 11.01.2022 00:08, Stefano Stabellini wrote:
> > On Mon, 10 Jan 2022, Jan Beulich wrote:
> >> On 08.01.2022 01:49, Stefano Stabellini wrote:
> >>> Introduce a new feature flag to signal that xenstore will not be
> >>> immediately available at boot time. Instead, xenstore will become
> >>> available later, and a notification of xenstore readiness will be
> >>> signalled to the guest using the xenstore event channel.
> >>
> >> In addition to what Julien has said, I'd like to point out that Linux'es
> >> xenbus driver already has means to deal with xenstored not being around
> >> right away (perhaps because of living in a stubdom which starts in
> >> parallel). I therefore wonder whether what you want can't be achieved
> >> entirely inside that driver, without any new feature flag.
> > 
> > The fewer changes to Linux the better but we couldn't find a way to make
> > it work with zero changes.
> > 
> > In a way, the patch for Linux is re-using the existing infrastructure to
> > delay initialization, e.g. xenbus_probe_thread to call xenbus_probe
> > later.
> > 
> > However, today there is nothing stopping Linux/HVM to continue
> > initialization immediately except for xs_hvm_defer_init_for_callback
> > which is not applicable in this case. So we introduced
> > XENFEAT_xenstore_late_init.
> > 
> > As I wrote in another reply, I think we could do without
> > XENFEAT_xenstore_late_init if we instead rely on checking for
> > HVM_PARAM_STORE_EVTCHN being valid and HVM_PARAM_STORE_PFN being zero.
> 
> Just as an aside - as discussed in some other context not so long ago,
> HVM_PARAM_*_PFN being zero isn't the best way of expressing "not yet
> initialized", and hence you would also want to check against ~0.
 
Yes, good point


> > But either way as far as I can tell we need to add a new check to delay
> > xenstore initialization in Linux/HVM.
> 
> Yes, I can see that a Linux side change might be needed. But isolating
> the change to there will be much better than needing to also have a
> Xen side change in place.

I agree. I managed to remove XENFEAT_xenstore_late_init from the patch
series and everything works fine. It will be in the next version.


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 22:52:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 22:52:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256175.439499 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Pzx-0005kJ-3B; Tue, 11 Jan 2022 22:52:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256175.439499; Tue, 11 Jan 2022 22:52:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Pzx-0005kC-0A; Tue, 11 Jan 2022 22:52:13 +0000
Received: by outflank-mailman (input) for mailman id 256175;
 Tue, 11 Jan 2022 22:52:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XMx1=R3=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n7Pzv-0005jI-Lh
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 22:52:11 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1bebab76-7331-11ec-9ce5-af14b9085ebd;
 Tue, 11 Jan 2022 23:52:10 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id BDC4B61351;
 Tue, 11 Jan 2022 22:52:09 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A10C1C36AE3;
 Tue, 11 Jan 2022 22:52: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: 1bebab76-7331-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1641941529;
	bh=EW7LVEUPxDyYGzWedxB8FFH2ZaZhIR9fF+MZ94tFwDM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=JmAJ6nbzWVvFl/2XFUKqqV+7wrAC8o8VlvHUOcPe1oRd10MRAYRfHqQuHo2i3V5Fe
	 vQI/X4UnCUjxmHvqC2TizkauHIfGOUld8aUwAj8PmI0j7/SMidfcjcgLnig21ty7er
	 UzFjtxUqvT8HDQmLJyNQvMAu2NtSmIJMajzNTFTolJmSLmJvPdzweS8V53Xkzq9BIP
	 kxSJpodv2hCcYPSubSeJjnAqgPJuD2XwrVws6dSzciEtEqK6KjvbRx2Gf257LOSWmG
	 75Ke3rJBjOJLiwR8TwuxfwiKTTRuf5UaNrvwwnAzuUWd8mBK5awug7RLgk0AOPpWim
	 fz8ft1bBjNM+A==
Date: Tue, 11 Jan 2022 14:52:08 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: David Vrabel <dvrabel@cantab.net>
cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    xen-devel@lists.xenproject.org, Bertrand.Marquis@arm.com, 
    Luca Miccio <lucmiccio@gmail.com>, 
    Stefano Stabellini <stefano.stabellini@xilinx.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, 
    Juergen Gross <jgross@suse.com>
Subject: Re: [XEN PATCH 1/7] xen: introduce XENFEAT_xenstore_late_init
In-Reply-To: <e54f914d-a683-1855-1eeb-635df86f0d94@cantab.net>
Message-ID: <alpine.DEB.2.22.394.2201111451270.19362@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop> <20220108004912.3820176-1-sstabellini@kernel.org> <580a888e-24c4-5d16-8c70-f3d7b34ac2c9@xen.org> <alpine.DEB.2.22.394.2201101340550.2060010@ubuntu-linux-20-04-desktop>
 <e54f914d-a683-1855-1eeb-635df86f0d94@cantab.net>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 11 Jan 2022, David Vrabel wrote:
> On 10/01/2022 22:55, Stefano Stabellini wrote:
> > 
> > I have a patch for Linux that if XENFEAT_xenstore_late_init is present
> > makes Linux wait for an event notification before initializing xenstore:
> > https://marc.info/?l=xen-devel&m=164160299315589
> > 
> > So with v1 of the Xen and Linux patches series:
> > - Xen allocates the event channel at domain creation
> > - Linux boots, sees XENFEAT_xenstore_late_init and wait for an event
> > - init-dom0less later allocates the xenstore page
> > - init-dom0less triggers the xenstore event channel
> > - Linux receives the event and finishes the initialization, including
> >    mapping the xenstore page
> 
> You can get this behaviour without the new feature.
> 
> - Xen allocates the event channel at domain creation
> - Linux boots, sees HVM_PARAM_STORE_PFN is invalid and there's a xenstore
> event channel and waits for an event
> - init-dom0less later allocates the xenstore page
> - init-dom0less triggers the xenstore event channel
> - Linux receives the event and finishes the initialization, including
>    mapping the xenstore page-

Hey David!

Yes, this is similar to what I had in mind and I managed to make it work
successfully.


From xen-devel-bounces@lists.xenproject.org Tue Jan 11 23:03:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 23:03:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256180.439510 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7QAq-0007Hs-4B; Tue, 11 Jan 2022 23:03:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256180.439510; Tue, 11 Jan 2022 23: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 1n7QAp-0007Hl-Vc; Tue, 11 Jan 2022 23:03:27 +0000
Received: by outflank-mailman (input) for mailman id 256180;
 Tue, 11 Jan 2022 23:03:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XMx1=R3=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n7QAo-0007Hf-7O
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 23:03:26 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ad4c5553-7332-11ec-9ce5-af14b9085ebd;
 Wed, 12 Jan 2022 00:03:24 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 082BC61019;
 Tue, 11 Jan 2022 23:03:23 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2E223C36AE3;
 Tue, 11 Jan 2022 23:03: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: ad4c5553-7332-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1641942202;
	bh=YusIJKuNpQW2f5SElceawFfbU7s1N1XoWdUV5HpZshs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=dIDQFzfQPY584JBW3MUGJyUBm2CfnyB0WgVhD/RDeJ0wEHUrJMDb7KyJWeifR11s5
	 M8r/tQuNNsNLB9kQkonZSjI+nZWjkgRfPXB096ZM5qHUrRfYIsLrq1QU/09ngOONff
	 +Br4K1EdUHOPdvWpvX0SY2YIeywHsa2jYMsRg7NPaZ71R7EA/HA5MbDQ8yOHtg5/cq
	 qGYV5s0uRV7OeeLPP+9l43345GmslhxJIHcbzOrVfQgARRAXUjt8t15lVClPp8Lr9b
	 ohGjQZ1DSGkZgO7YJ+x0Gkd7qQ/YYnrJ+CUHhP/NbYA/cQQIgd4PaRGU+gVKjJu+ls
	 XeJj3qrlRCI4w==
Date: Tue, 11 Jan 2022 15:03:21 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    "julien@xen.org" <julien@xen.org>, 
    Stefano Stabellini <stefano.stabellini@xilinx.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [XEN PATCH 4/7] xen: introduce xen,enhanced dom0less property
In-Reply-To: <87o84jx81g.fsf@epam.com>
Message-ID: <alpine.DEB.2.22.394.2201111452340.19362@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop> <20220108004912.3820176-4-sstabellini@kernel.org> <87o84jx81g.fsf@epam.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 11 Jan 2022, Volodymyr Babchuk wrote:
> Hi Stefano,
> 
> Stefano Stabellini <sstabellini@kernel.org> writes:
> 
> > From: Stefano Stabellini <stefano.stabellini@xilinx.com>
> >
> > Introduce a new "xen,enhanced" dom0less property to enable/disable PV
> > driver interfaces for dom0less guests. Currently only "enabled" and
> > "disabled" are supported property values (and empty). Leave the option
> > open to implement further possible values in the future (e.g.
> > "xenstore" to enable only xenstore.)
> >
> > This patch only parses the property. Next patches will make use of it.
> >
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
> > CC: Julien Grall <julien@xen.org>
> > CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> > CC: Bertrand Marquis <bertrand.marquis@arm.com>
> > ---
> >  docs/misc/arm/device-tree/booting.txt | 18 ++++++++++++++++++
> >  xen/arch/arm/domain_build.c           |  5 +++++
> >  xen/arch/arm/include/asm/kernel.h     |  3 +++
> >  3 files changed, 26 insertions(+)
> >
> > diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
> > index 71895663a4..38c29fb3d8 100644
> > --- a/docs/misc/arm/device-tree/booting.txt
> > +++ b/docs/misc/arm/device-tree/booting.txt
> > @@ -169,6 +169,24 @@ with the following properties:
> >      Please note that the SPI used for the virtual pl011 could clash with the
> >      physical SPI of a physical device assigned to the guest.
> >  
> > +- xen,enhanced
> > +
> > +    A string property. Possible property values are:
> > +
> > +    - "enabled" (or missing property value)
> > +    Xen PV interfaces, including grant-table and xenstore, will be
> > +    enabled for the VM.
> > +
> > +    - "disabled"
> > +    Xen PV interfaces are disabled.
> > +
> > +    If the xen,enhanced property is present with no value, it defaults
> > +    to "enabled". If the xen,enhanced property is not present, PV
> > +    interfaces are disabled.
> > +
> > +    In the future other possible property values might be added to
> > +    enable only selected interfaces.
> > +
> >  - nr_spis
> >  
> >      Optional. A 32-bit integer specifying the number of SPIs (Shared
> > diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> > index 6931c022a2..96a94fa434 100644
> > --- a/xen/arch/arm/domain_build.c
> > +++ b/xen/arch/arm/domain_build.c
> > @@ -2963,6 +2963,7 @@ static int __init construct_domU(struct domain *d,
> >                                   const struct dt_device_node *node)
> >  {
> >      struct kernel_info kinfo = {};
> > +    const char *enhanced;
> >      int rc;
> >      u64 mem;
> >  
> > @@ -2978,6 +2979,10 @@ static int __init construct_domU(struct domain *d,
> >  
> >      kinfo.vpl011 = dt_property_read_bool(node, "vpl011");
> >  
> > +    rc = dt_property_read_string(node, "xen,enhanced", &enhanced);
> > +    if ( rc == -EILSEQ || (rc == 0 && !strcmp(enhanced, "enabled")) )
> 
> Are you sure you need to check for -EILSEQ?
> 
> >From documentation for dt_property_read_string:
> 
>  * Returns 0 on
>  * success, -EINVAL if the property does not exist, -ENODATA if property
>  * doest not have value, and -EILSEQ if the string is not
>  * null-terminated with the length of the property data.
> 
> So, for me it looks like you need to check for -ENODATA.

That's interesting, I ran a few tests with:

  fdt set /chosen/domU0 xen,enhanced

and I keep getting:

  (XEN) DEBUG construct_domU 3009 rc=-84 val=<NULL>

And -84 is -EILSEQ.

So I'll check for both -EILSEQ and -ENODATA to be safe.

 
> 
> > +        kinfo.enhanced = true;
> > +
> >      if ( vcpu_create(d, 0) == NULL )
> >          return -ENOMEM;
> >  
> > diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
> > index 874aa108a7..3275f7fbca 100644
> > --- a/xen/arch/arm/include/asm/kernel.h
> > +++ b/xen/arch/arm/include/asm/kernel.h
> > @@ -36,6 +36,9 @@ struct kernel_info {
> >      /* Enable pl011 emulation */
> >      bool vpl011;
> >  
> > +    /* Enable PV drivers */
> > +    bool enhanced;
> 
> Maybe dom0less_enhanced will be better name?

I am OK with that and maybe you are right, it is clearer. I'll keep the
device tree option as "xen,enhanced" unless you meant to also change
that too.


> Or what about dom0? Should it have this option enabled?

Yes, I think it makes sense to set it to true for dom0 too for
consistency.



From xen-devel-bounces@lists.xenproject.org Tue Jan 11 23:32:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 11 Jan 2022 23:32:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256184.439521 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7QdC-000261-K0; Tue, 11 Jan 2022 23:32:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256184.439521; Tue, 11 Jan 2022 23:32:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7QdC-00025u-GZ; Tue, 11 Jan 2022 23:32:46 +0000
Received: by outflank-mailman (input) for mailman id 256184;
 Tue, 11 Jan 2022 23:32:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n7QdB-00025k-5L; Tue, 11 Jan 2022 23:32:45 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n7QdA-0004o9-Uf; Tue, 11 Jan 2022 23:32: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 1n7QdA-00027U-HE; Tue, 11 Jan 2022 23:32:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n7QdA-0006Ul-Gn; Tue, 11 Jan 2022 23:32:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=1deIk3Qk48NcbhXHa3327w0pOMVkg658cD96y4tBMAI=; b=YLLq/To8+Fw1gKa82Yu3o1sCr6
	fUIwRpUjcr1kt4XBoixWLQWKCBZvCGgYE5lITV2RnQy6IY6kvnsZ0PKDCaw1k7yBzjIjlAO717PPw
	fVe/QZjH0iHDOE4qtNHC7qYyWUxpNOEOjUeBV2r1ntMetx+ddhdl7clwoh4fOw8tqwZk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167661-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167661: 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-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-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-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-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-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=22891e12a45f9bb2e1dbb5daf2ba39cbe002e4f4
X-Osstest-Versions-That:
    xen=ced5685208f4525edc3aa86f41eeaee5ccc9fe31
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 11 Jan 2022 23:32:44 +0000

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

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

version targeted for testing:
 xen                  22891e12a45f9bb2e1dbb5daf2ba39cbe002e4f4
baseline version:
 xen                  ced5685208f4525edc3aa86f41eeaee5ccc9fe31

Last test of basis   167654  2022-01-11 01:54:07 Z    0 days
Testing same since   167661  2022-01-11 14:06:56 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Roger Pau Monné <roger.pau@citrix.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   ced5685208..22891e12a4  22891e12a45f9bb2e1dbb5daf2ba39cbe002e4f4 -> master


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 01:43:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 01:43:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256197.439540 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Sej-0008LW-Tb; Wed, 12 Jan 2022 01:42:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256197.439540; Wed, 12 Jan 2022 01:42:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Sej-0008L5-MA; Wed, 12 Jan 2022 01:42:29 +0000
Received: by outflank-mailman (input) for mailman id 256197;
 Wed, 12 Jan 2022 01:42: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 1n7Sei-0008Kv-6L; Wed, 12 Jan 2022 01:42: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 1n7Sei-0000ms-3U; Wed, 12 Jan 2022 01:42: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 1n7Seh-0007nd-LI; Wed, 12 Jan 2022 01:42:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n7Seh-0002PF-Ko; Wed, 12 Jan 2022 01:42:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=iR6x3yDukUzQMycI+YojoVgBx540TASjxnBRnm7SOVE=; b=YdZu34XcrhEUJv243+8ZgEqCh9
	TIG7/Evssii+JeEM3gKysvzL4bCKHBrQk++4jNvsXbWFzOAiWUuMk+gDg1wHex1d9X+cBDiRaSZ6F
	ac2ZpYNuyS4XMqbO77ZIBCM5XisC5rohOA53XRXAPhJ6Tdmhd76TTFx9OAPc8aITTeJ4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167662-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167662: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-examine:reboot:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-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-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt: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-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx: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-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=fe8152b38d3a994c4c6fdbc0cd6551d569a5715a
X-Osstest-Versions-That:
    linux=63045bfd3c8dbe9c8bee7e33291202725154cb2c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 12 Jan 2022 01:42:27 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-examine      8 reboot              fail pass in 167666-retest

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

version targeted for testing:
 linux                fe8152b38d3a994c4c6fdbc0cd6551d569a5715a
baseline version:
 linux                63045bfd3c8dbe9c8bee7e33291202725154cb2c

Last test of basis   167656  2022-01-11 03:47:29 Z    0 days
Testing same since   167662  2022-01-11 14:42:13 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Borowski <kilobyte@angband.pl>
  Adrian Hunter <adrian.hunter@intel.com>
  Alexander Stein <alexander.stein@ew.tq-group.com>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Ard Biesheuvel <ardb@kernel.org>
  Arnd Bergmann <arnd@arndb.de>
  Biju Das <biju.das.jz@bp.renesas.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Bob Moore <robert.moore@intel.com>
  Borislav Petkov <bp@suse.de>
  Chanwoo Choi <cw00.choi@samsung.com>
  Clément Léger <clement.leger@bootlin.com>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Scally <djrscally@gmail.com>
  David Woodhouse <dwmw@amazon.co.uk>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guo Zhengkui <guozhengkui@vivo.com>
  Hanjun Guo <guohanjun@huawei.com>
  Hans de Goede <hdegoede@redhat.com>
  Hector.Yuan <hector.yuan@mediatek.com>
  Heikki Krogerus <heikki.krogerus@linux.intel.com>
  Huang Rui <ray.huang@amd.com>
  Ilkka Koskinen <ilkka@os.amperecomputing.com>
  Jason Wang <wangborong@cdjrlc.com>
  Jessica Clarke <jrtc27@jrtc27.com>
  Jinzhou Su <Jinzhou.Su@amd.com>
  Kees Cook <keescook@chromium.org>
  Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Lukasz Luba <lukasz.luba@arm.com>
  Manfred Spraul <manfred@colorfullife.com>
  Mario Limonciello <mario.limonciello@amd.com>
  Mark Langsdorf <mlangsdo@redhat.com>
  Oleksij Rempel <o.rempel@pengutronix.de>
  Paul Cercueil <paul@crapouillou.net>
  Paul Gerber <Paul.Gerber@tq-group.com>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Petr Beneš <petr.benes@ysoft.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  ran jianping <ran.jianping@zte.com.cn>
  Rikard Falkeborn <rikard.falkeborn@gmail.com>
  Sakari Ailus <sakari.ailus@linux.intel.com>
  Samuel Holland <samuel@sholland.org>
  Shuuichirou Ishii <ishii.shuuichir@fujitsu.com>
  Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
  Steev Klimaszewski <steev@kali.org>
  Stephen Boyd <swboyd@chromium.org>
  Steven Noonan <steven@valvesoftware.com>
  Sudeep Holla <sudeep.holla@arm.com>
  Sumeet Pawnikar <sumeet.r.pawnikar@intel.com>
  Tang Yizhou <tangyizhou@huawei.com>
  Thomas Weißschuh <linux@weissschuh.net>
  Tzung-Bi Shih <tzungbi@google.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Viresh Kumar <viresh.kumar@linaro.org>
  Vitaly Kuznetsov <vkuznets@redhat.com>
  Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
  Yang Li <yang.lee@linux.alibaba.com>
  Zhang Rui <rui.zhang@intel.com>
  Zhangfei Gao <zhangfei.gao@linaro.org>

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


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

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

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

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


Pushing revision :

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


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 05:14:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 05:14:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256068.439550 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7VxC-0002vr-3D; Wed, 12 Jan 2022 05:13:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256068.439550; Wed, 12 Jan 2022 05: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 1n7VxC-0002vk-0B; Wed, 12 Jan 2022 05:13:46 +0000
Received: by outflank-mailman (input) for mailman id 256068;
 Tue, 11 Jan 2022 20:10:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hOY/=R3=aquilenet.fr=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n7NTs-0003ex-Ql
 for xen-devel@lists.xenproject.org; Tue, 11 Jan 2022 20:10:56 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 94eb3cd9-731a-11ec-81c1-a30af7de8005;
 Tue, 11 Jan 2022 21:10:54 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 09279678;
 Tue, 11 Jan 2022 21:10:54 +0100 (CET)
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 evAtEMHPfxFY; Tue, 11 Jan 2022 21:10:53 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 48C8A261;
 Tue, 11 Jan 2022 21:10:53 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@aquilenet.fr>) id 1n7NTo-00FFQB-6e;
 Tue, 11 Jan 2022 21:10:52 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 94eb3cd9-731a-11ec-81c1-a30af7de8005
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Tue, 11 Jan 2022 21:10:52 +0100
From: Samuel Thibault <samuel.thibault@aquilenet.fr>
To: Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
Subject: Re: [PATCH v2 17/18] mini-os: use function vectors instead of switch
 for file operations
Message-ID: <20220111201052.act2l5f5vt6gs4fn@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@aquilenet.fr>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220111200547.wb6mwl6zxtf3y54c@begin>
 <20220111145817.22170-18-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 09279678
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

On second thought:

Juergen Gross, le mar. 11 janv. 2022 15:58:16 +0100, a ecrit:
> +typedef int file_read_func(int fd, void *buf, size_t nbytes);
> +typedef int file_write_func(int fd, const void *buf, size_t nbytes);
> +typedef off_t file_lseek_func(int fd, off_t offset, int whence);
> +typedef int file_close_func(int fd);
> +typedef int file_fstat_func(int fd, struct stat *buf);
> +typedef int file_fcntl_func(int fd, int cmd, va_list args);
> +typedef bool file_select_func(int fd);

Is this really useful to pass to the functions the int fd, rather than
directly passing the file*?

Samuel


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 05:21:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 05:21:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256194.439562 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7W4H-0004Kt-T3; Wed, 12 Jan 2022 05:21:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256194.439562; Wed, 12 Jan 2022 05:21:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7W4H-0004Km-Pl; Wed, 12 Jan 2022 05:21:05 +0000
Received: by outflank-mailman (input) for mailman id 256194;
 Wed, 12 Jan 2022 00:06:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=299D=R4=socionext.com=hayashi.kunihiko@srs-se1.protection.inumbo.net>)
 id 1n7R9V-00064p-CC
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 00:06:09 +0000
Received: from mx.socionext.com (mx.socionext.com [202.248.49.38])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 6c3a5e8c-733b-11ec-9ce5-af14b9085ebd;
 Wed, 12 Jan 2022 01:06:03 +0100 (CET)
Received: from unknown (HELO kinkan2-ex.css.socionext.com) ([172.31.9.52])
 by mx.socionext.com with ESMTP; 12 Jan 2022 09:05:58 +0900
Received: from mail.mfilter.local (m-filter-2 [10.213.24.62])
 by kinkan2-ex.css.socionext.com (Postfix) with ESMTP id 859602059054;
 Wed, 12 Jan 2022 09:05:58 +0900 (JST)
Received: from 172.31.9.51 (172.31.9.51) by m-FILTER with ESMTP;
 Wed, 12 Jan 2022 09:05:58 +0900
Received: from [10.212.180.44] (unknown [10.212.180.44])
 by kinkan2.css.socionext.com (Postfix) with ESMTP id 56BA9B62A1;
 Wed, 12 Jan 2022 09:05:56 +0900 (JST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6c3a5e8c-733b-11ec-9ce5-af14b9085ebd
Subject: Re: [patch] genirq/msi: Populate sysfs entry only once
To: Thomas Gleixner <tglx@linutronix.de>, LKML <linux-kernel@vger.kernel.org>
Cc: Bjorn Helgaas <helgaas@kernel.org>, Marc Zygnier <maz@kernel.org>,
 Alex Williamson <alex.williamson@redhat.com>,
 Kevin Tian <kevin.tian@intel.com>, Jason Gunthorpe <jgg@nvidia.com>,
 Megha Dey <megha.dey@intel.com>, Ashok Raj <ashok.raj@intel.com>,
 linux-pci@vger.kernel.org, Cedric Le Goater <clg@kaod.org>,
 xen-devel@lists.xenproject.org, Juergen Gross <jgross@suse.com>,
 Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
 Niklas Schnelle <schnelle@linux.ibm.com>, linux-s390@vger.kernel.org,
 Heiko Carstens <hca@linux.ibm.com>,
 Christian Borntraeger <borntraeger@de.ibm.com>,
 Logan Gunthorpe <logang@deltatee.com>, Jon Mason <jdmason@kudzu.us>,
 Dave Jiang <dave.jiang@intel.com>, Allen Hubbe <allenbh@gmail.com>,
 linux-ntb@googlegroups.com
References: <20211206210600.123171746@linutronix.de>
 <20211206210749.224917330@linutronix.de> <87leznqx2a.ffs@tglx>
From: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Message-ID: <1d5711be-c26d-d57b-10db-1b45d279515d@socionext.com>
Date: Wed, 12 Jan 2022 09:05:55 +0900
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <87leznqx2a.ffs@tglx>
Content-Type: text/plain; charset=iso-2022-jp; format=flowed; delsp=yes
Content-Language: en-US
Content-Transfer-Encoding: 7bit

Hi Thomas,

Is this fix the same as below?
https://marc.info/?l=linux-kernel&m=164061119923119&w=2

On 2022/01/11 3:12, Thomas Gleixner wrote:
> The MSI entries for multi-MSI are populated en bloc for the MSI
> descriptor,
> but the current code invokes the population inside the per interrupt loop
> which triggers a warning in the sysfs code and causes the interrupt
> allocation to fail.
> 
> Move it outside of the loop so it works correctly for single and
> multi-MSI.
> 
> Fixes: bf5e758f02fc ("genirq/msi: Simplify sysfs handling")
> Reported-by: Borislav Petkov <bp@alien8.de>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> ---
>   kernel/irq/msi.c |   11 +++++------
>   1 file changed, 5 insertions(+), 6 deletions(-)
> 
> --- a/kernel/irq/msi.c
> +++ b/kernel/irq/msi.c
> @@ -887,12 +887,11 @@ int __msi_domain_alloc_irqs(struct irq_d
>   			ret = msi_init_virq(domain, virq + i, vflags);
>   			if (ret)
>   				return ret;
> -
> -			if (info->flags & MSI_FLAG_DEV_SYSFS) {
> -				ret = msi_sysfs_populate_desc(dev, desc);
> -				if (ret)
> -					return ret;
> -			}
> +		}
> +		if (info->flags & MSI_FLAG_DEV_SYSFS) {
> +			ret = msi_sysfs_populate_desc(dev, desc);
> +			if (ret)
> +				return ret;
>   		}
>   		allocated++;
>   	}
> 

---
Best Regards
Kunihiko Hayashi


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 07:18:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 07:18:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256236.439590 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7XtO-0007Mx-Iy; Wed, 12 Jan 2022 07:17:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256236.439590; Wed, 12 Jan 2022 07: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 1n7XtO-0007Mq-G7; Wed, 12 Jan 2022 07:17:58 +0000
Received: by outflank-mailman (input) for mailman id 256236;
 Wed, 12 Jan 2022 07:17: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 1n7XtN-0007MO-AE; Wed, 12 Jan 2022 07:17: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 1n7XtM-0007cf-W9; Wed, 12 Jan 2022 07:17: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 1n7XtM-0007Pa-Mk; Wed, 12 Jan 2022 07:17:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n7XtM-0004bB-MJ; Wed, 12 Jan 2022 07:17:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=SSrjnT14yR0r97NKvf/97llmUmE5wlkeof+wMDW6uLI=; b=GuQakMa5ykNYHpWlMlsUSjexKh
	4TKt5w0KH0SCdfVekNMRd1PzEStXjAzd/j3EjjuhM1AiZYIiVzsQ8I2hEyWpGO0yK+ZeFKZsBCA13
	+oJfLzOkQWU9nmzl2hYOohmNdhGk05AJ8f1sfcm1hNEgL+A0XJPqSiuhxbfXINFGL1Zk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167663-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 167663: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-5.4:test-amd64-amd64-xl-qemuu-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-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-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-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-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-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-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-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    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=0a4ce4977bbeea4560a1f32632650b388c834c8a
X-Osstest-Versions-That:
    linux=047dedaa38ce703d3c6a6b0fae180c85a5220cdb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 12 Jan 2022 07:17:56 +0000

flight 167663 linux-5.4 real [real]
flight 167670 linux-5.4 real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/167663/
http://logs.test-lab.xenproject.org/osstest/logs/167670/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 167670-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167609
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167609
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167609
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167609
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167609
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167609
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167609
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167609
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167609
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167609
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167609
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167609
 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-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-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                0a4ce4977bbeea4560a1f32632650b388c834c8a
baseline version:
 linux                047dedaa38ce703d3c6a6b0fae180c85a5220cdb

Last test of basis   167609  2022-01-05 11:41:52 Z    6 days
Testing same since   167663  2022-01-11 14:42:14 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Aayush Agarwal <aayush.a.agarwal@oracle.com>
  Alexander Aring <aahringo@redhat.com>
  Ashwin Vijayavel <ashwin.vijayavel@intel.com>
  Chao Yu <chao@kernel.org>
  Christian Melki <christian.melki@t2data.com>
  Chunfeng Yun <chunfeng.yun@mediatek.com>
  Darrick J. Wong <darrick.wong@oracle.com>
  Darrick J. Wong <djwong@kernel.org>
  David Ahern <dsahern@kernel.org>
  David S. Miller <davem@davemloft.net>
  Di Zhu <zhudi2@huawei.com>
  Eric Dumazet <edumazet@google.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Gurucharan G <gurucharanx.g@intel.com>
  Hangyu Hua <hbh25y@gmail.com>
  Jaegeuk Kim <jaegeuk@kernel.org>
  Jakub Kicinski <kuba@kernel.org>
  Jason Gunthorpe <jgg@nvidia.com>
  Jedrzej Jagielski <jedrzej.jagielski@intel.com>
  Jiasheng Jiang <jiasheng@iscas.ac.cn>
  Johannes Berg <johannes.berg@intel.com>
  Jon Hunter <jonathanh@nvidia.com>
  Karen Sornek <karen.sornek@intel.com>
  Konrad Jankowski <konrad0.jankowski@intel.com>
  Leon Romanovsky <leonro@nvidia.com>
  Linfeilong <linfeilong@huawei.com>
  Linus Lüssing <linus.luessing@c0d3.blue>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lixiaokeng <lixiaokeng@huawei.com>
  Lukasz Cieplicki <lukaszx.cieplicki@intel.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Mateusz Palczewski <mateusz.palczewski@intel.com>
  Nathan Chancellor <nathan@kernel.org>
  Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
  Nicolas Dichtel <nicolas.dichtel@6wind.com>
  Pavel Skripkin <paskripkin@gmail.com>
  Rui Zhang <zhangrui182@huawei.com>
  Sasha Levin <sashal@kernel.org>
  Sebastian Reichel <sebastian.reichel@collabora.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Wunderlich <sw@simonwunderlich.de>
  Stefan Schmidt <stefan@datenfreihafen.org>
  Steven Rostedt <rostedt@goodmis.org>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Sven Eckelmann <sven@narfation.org>
  Thomas Toye <thomas@toye.io>
  Tom Rix <trix@redhat.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Wadim Egorov <w.egorov@phytec.de>
  William Zhao <wizhao@redhat.com>
  wolfgang huang <huangjinhui@kylinos.cn>
  yangxingwu <xingwu.yang@gmail.com>
  Zekun Shen <bruceshenzk@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-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-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


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

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

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

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


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
   047dedaa38ce..0a4ce4977bbe  0a4ce4977bbeea4560a1f32632650b388c834c8a -> tested/linux-5.4


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 07:22:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 07:22:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256245.439602 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Xxy-0000O4-Ad; Wed, 12 Jan 2022 07:22:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256245.439602; Wed, 12 Jan 2022 07: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 1n7Xxy-0000Nx-7c; Wed, 12 Jan 2022 07:22:42 +0000
Received: by outflank-mailman (input) for mailman id 256245;
 Wed, 12 Jan 2022 07:22:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zSVc=R4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7Xxw-0000Nr-TS
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 07:22:40 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6bfaf912-7378-11ec-9ce5-af14b9085ebd;
 Wed, 12 Jan 2022 08:22:39 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 44ED9212C9;
 Wed, 12 Jan 2022 07:22:38 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 18B2013B32;
 Wed, 12 Jan 2022 07:22:38 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id +3RVBL6B3mHRCQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 12 Jan 2022 07:22: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: 6bfaf912-7378-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641972158; 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=pr15ENFrPkHQEzNUZZLhSTiQ56HcSSAL+FkUKEftUSU=;
	b=opsytZL088kjwiF0VMglZ6JEWTBhHvELXuiTkbxfamahordfleQl34PBthV0kbJh9AinEc
	ELGx6Z3Jdiaix+aLvNlCqQB3AbrfRT5bAcGvxFssoYL6LKr19U3jvuAqX1Rxjeq5CwqZXJ
	Y0efURr7RYG04OVz4iRuxZPCICGQ9MA=
To: Andrew Cooper <amc96@srcf.net>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20220111150318.22570-1-jgross@suse.com>
 <20220111150318.22570-2-jgross@suse.com>
 <a73bd0c2-44ee-c984-9c72-15d36afc8aa5@srcf.net>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH v2 1/3] tools/libs/evtchn: decouple more from mini-os
Message-ID: <152c1627-e8e1-4f98-abe6-ee45a2fdebe0@suse.com>
Date: Wed, 12 Jan 2022 08:22:37 +0100
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: <a73bd0c2-44ee-c984-9c72-15d36afc8aa5@srcf.net>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="1FLIRTKkFocVjw4bH2R0znb9sVBjklTPu"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--1FLIRTKkFocVjw4bH2R0znb9sVBjklTPu
Content-Type: multipart/mixed; boundary="925mLoogs0xtUNuTzGrUwSLRDNLX9DAmS";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <amc96@srcf.net>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <152c1627-e8e1-4f98-abe6-ee45a2fdebe0@suse.com>
Subject: Re: [PATCH v2 1/3] tools/libs/evtchn: decouple more from mini-os
References: <20220111150318.22570-1-jgross@suse.com>
 <20220111150318.22570-2-jgross@suse.com>
 <a73bd0c2-44ee-c984-9c72-15d36afc8aa5@srcf.net>
In-Reply-To: <a73bd0c2-44ee-c984-9c72-15d36afc8aa5@srcf.net>

--925mLoogs0xtUNuTzGrUwSLRDNLX9DAmS
Content-Type: multipart/mixed;
 boundary="------------D34776A65E72BC8C4FC31F41"
Content-Language: en-US

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

On 11.01.22 20:56, Andrew Cooper wrote:
> On 11/01/2022 15:03, Juergen Gross wrote:
>> diff --git a/tools/libs/evtchn/minios.c b/tools/libs/evtchn/minios.c
>> index e5dfdc5ef5..c3a5ce3b98 100644
>> --- a/tools/libs/evtchn/minios.c
>> +++ b/tools/libs/evtchn/minios.c
>> @@ -38,29 +38,40 @@
>>  =20
>>   #include "private.h"
>>  =20
>> -extern void minios_evtchn_close_fd(int fd);
>> +LIST_HEAD(port_list, port_info);
>> +
>> +struct port_info {
>> +    LIST_ENTRY(port_info) list;
>> +    evtchn_port_t port;
>> +    bool pending;
>> +    bool bound;
>> +};
>>  =20
>>   extern struct wait_queue_head event_queue;
>=20
> Yuck.=C2=A0 This should come from minios's evtchn header, rather than b=
eing
> extern'd like this, but lets consider that future cleanup work.

I think I should do that rather sooner than later.

>=20
>> +int minios_evtchn_close_fd(int fd);
>=20
> You don't need this forward declaration, because nothing in this file
> calls minios_evtchn_close_fd().=C2=A0 The extern should simply be delet=
ed,
> and it removes a hunk from your later xen.git series.

Without it I get a build error due to no prototype defined.

>=20
>> @@ -69,18 +80,54 @@ static void port_dealloc(struct evtchn_port_info *=
port_info)
>>       free(port_info);
>>   }
>>  =20
>> +int minios_evtchn_close_fd(int fd)
>> +{
>> +    struct port_info *port_info, *tmp;
>> +    struct file *file =3D get_file_from_fd(fd);
>> +    struct port_list *port_list =3D file->dev;
>=20
> Looking at this, the file_ops don't need to have the C ABI.
>=20
> The single caller already needs access to the file structure, so could
> pass both file and fd in to the ops->close() function.=C2=A0 Thoughts?

If we do this for close(), we should do it for all callbacks. I think we
don't need fd at all in the callbacks, so switching to file seems to be
the way to go.

>=20
>> +
>> +    LIST_FOREACH_SAFE(port_info, port_list, list, tmp)
>> +        port_dealloc(port_info);
>> +    free(port_list);
>> +
>> +    return 0;
>> +}
>> +
>> +static struct file_ops evtchn_ops =3D {
>=20
> This wants to become const, when alloc_file_type() has been
> appropriately const'd.

Yes.

>=20
>> +    .name =3D "evtchn",
>> +    .close =3D minios_evtchn_close_fd,
>> +    .select_rd =3D select_read_flag,
>> +};
>> +
>>   /*
>>    * XENEVTCHN_NO_CLOEXEC is being ignored, as there is no exec() call=
 supported
>>    * in Mini-OS.
>>    */
>>   int osdep_evtchn_open(xenevtchn_handle *xce, unsigned int flags)
>>   {
>> -    int fd =3D alloc_fd(FTYPE_EVTCHN);
>> +    int fd;
>> +    struct file *file;
>> +    struct port_list *list;
>> +    static unsigned int ftype_evtchn;
>>  =20
>> -    if ( fd =3D=3D -1 )
>> +    if ( !ftype_evtchn )
>> +        ftype_evtchn =3D alloc_file_type(&evtchn_ops);
>=20
> Hmm.=C2=A0 MiniOS doesn't appear to support __attribute__((constructor)=
) but
> this would be an ideal candidate.
>=20
> It would remove a non-threadsafe singleton from a (largely unrelated)
> codepath.
>=20
> Should be very simple to add to MiniOS.=C2=A0 See Xen's init_constructo=
rs(),
> and add CONSTRUCTORS to the linker file.

I'll look into this.

>=20
>> @@ -134,42 +171,43 @@ int xenevtchn_notify(xenevtchn_handle *xce, evtc=
hn_port_t port)
>>  =20
>>   static void evtchn_handler(evtchn_port_t port, struct pt_regs *regs,=
 void *data)
>>   {
>> -    int fd =3D (int)(intptr_t)data;
>> -    struct evtchn_port_info *port_info;
>> +    xenevtchn_handle *xce =3D data;
>> +    struct file *file =3D get_file_from_fd(xce->fd);
>> +    struct port_info *port_info;
>> +    struct port_list *port_list;
>>  =20
>> -    assert(files[fd].type =3D=3D FTYPE_EVTCHN);
>> +    assert(file);
>> +    port_list =3D file->dev;
>>       mask_evtchn(port);
>> -    LIST_FOREACH(port_info, &files[fd].evtchn.ports, list)
>> +    LIST_FOREACH(port_info, port_list, list)
>>       {
>>           if ( port_info->port =3D=3D port )
>>               goto found;
>>       }
>>  =20
>> -    printk("Unknown port for handle %d\n", fd);
>> +    printk("Unknown port for handle %d\n", xce->fd);
>=20
> As you're editing this line anyway, it really wants to become "Unknown
> port %d for handle %d\n".

Okay.


Juergen

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

--------------D34776A65E72BC8C4FC31F41--

--925mLoogs0xtUNuTzGrUwSLRDNLX9DAmS--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHegb0FAwAAAAAACgkQsN6d1ii/Ey86
dgf/aHJqb8STJT5vTnb1Fq9bHSwGACBhvkTdPct1oKOgwDb7H24U1A8VpV51DpwLe5+kEUwmC5kC
cPcytm8ny4VHiUPaWgwpSRFCCd7plfigMCzx6CGOTN09Bkm9dYH877XOm0z8SgsGyCVhnAHJn3Sy
UVsKWZ+5hDaJETEBG+8+qZP8wp4YC8Qh9BnGCLra0IjzgdRRfbxVJr6Ae0clRYHk6h9AGbO7B66E
U8MPA3rGQOlXcSqEmB/oiBMWLKeUwtovHFAaK3hC5wXjcWhlVqKr3CoyurFcNgU7KjboE0tAvcQ5
wuoPKtnvLC80odstZnbYgpyn5PxypF8AS//w5onMnw==
=Obvl
-----END PGP SIGNATURE-----

--1FLIRTKkFocVjw4bH2R0znb9sVBjklTPu--


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 07:27:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 07:27:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256249.439613 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Y2D-00012d-Ta; Wed, 12 Jan 2022 07:27:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256249.439613; Wed, 12 Jan 2022 07:27:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Y2D-00012W-Q4; Wed, 12 Jan 2022 07:27:05 +0000
Received: by outflank-mailman (input) for mailman id 256249;
 Wed, 12 Jan 2022 07:27:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zSVc=R4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7Y2C-00012Q-DU
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 07:27:04 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 09b68764-7379-11ec-81c1-a30af7de8005;
 Wed, 12 Jan 2022 08:27:03 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 22F88212CC;
 Wed, 12 Jan 2022 07:27:03 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id EF22913B32;
 Wed, 12 Jan 2022 07:27:02 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id /mpSOMaC3mHUCwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 12 Jan 2022 07:27:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 09b68764-7379-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641972423; 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=ECF8hIJ+7WRKFX24XULzJQ51kqrKUoj4GzpiF1a/BNY=;
	b=dBaD+WtCgbjsCK9cJUBJ12fEVx3h+2LVIl3Yg6yeAlHLFqCHg5Nya5Bljakd5I8ujoTbyf
	738NtDKt2ip+lzGiLADqNGxxpQbh8v83Ff04MzoAWH34JJuJS41zPfy6aGWfqFNM6PRYUT
	PyOySCWaBltxG1PutYTsLR+GPIGc8hI=
Subject: Re: [PATCH v2 2/3] tools/libs/gnttab: decouple more from mini-os
To: Andrew Cooper <amc96@srcf.net>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20220111150318.22570-1-jgross@suse.com>
 <20220111150318.22570-3-jgross@suse.com>
 <b0dec08d-2b94-efbb-cbc8-d67e3529fcc1@srcf.net>
From: Juergen Gross <jgross@suse.com>
Message-ID: <6e7dbf91-8c0e-900a-dacc-5afa36b6261d@suse.com>
Date: Wed, 12 Jan 2022 08:27:02 +0100
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: <b0dec08d-2b94-efbb-cbc8-d67e3529fcc1@srcf.net>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="VmQqsnHyfJ80wO4GAMZ4adAmBRumrSshc"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--VmQqsnHyfJ80wO4GAMZ4adAmBRumrSshc
Content-Type: multipart/mixed; boundary="YE3MXxshzAWYh9bEsND7Z5WhbkGgAWMOX";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <amc96@srcf.net>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <6e7dbf91-8c0e-900a-dacc-5afa36b6261d@suse.com>
Subject: Re: [PATCH v2 2/3] tools/libs/gnttab: decouple more from mini-os
References: <20220111150318.22570-1-jgross@suse.com>
 <20220111150318.22570-3-jgross@suse.com>
 <b0dec08d-2b94-efbb-cbc8-d67e3529fcc1@srcf.net>
In-Reply-To: <b0dec08d-2b94-efbb-cbc8-d67e3529fcc1@srcf.net>

--YE3MXxshzAWYh9bEsND7Z5WhbkGgAWMOX
Content-Type: multipart/mixed;
 boundary="------------D61CEED232C22BCE52E81D13"
Content-Language: en-US

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

On 11.01.22 21:08, Andrew Cooper wrote:
> On 11/01/2022 15:03, Juergen Gross wrote:
>> libgnttab is using implementation details of Mini-OS. Change that by
>> letting libgnttab use the new alloc_file_type() and get_file_from_fd()=

>> functions and the generic dev pointer of struct file from Mini-OS.
>>
>> Signed-off-by: Juergen Gross <jgross@suse.com>
>> ---
>> V2:
>> - add alloc_file_type() support
>> ---
>>   tools/libs/gnttab/minios.c | 68 +++++++++++++++++++++++++++---------=
--
>>   1 file changed, 48 insertions(+), 20 deletions(-)
>>
>> diff --git a/tools/libs/gnttab/minios.c b/tools/libs/gnttab/minios.c
>> index f78caadd30..c19f339c8c 100644
>> --- a/tools/libs/gnttab/minios.c
>> +++ b/tools/libs/gnttab/minios.c
>> @@ -28,18 +28,53 @@
>>   #include <sys/mman.h>
>>  =20
>>   #include <errno.h>
>> +#include <malloc.h>
>>   #include <unistd.h>
>>  =20
>>   #include "private.h"
>>  =20
>> -void minios_gnttab_close_fd(int fd);
>> +int minios_gnttab_close_fd(int fd);
>=20
> Again, like evtchn, no need to forward declare.
>=20
>=20
> However, I've only just realised...
>=20
>> +
>> +int minios_gnttab_close_fd(int fd)
>> +{
>> +    struct file *file =3D get_file_from_fd(fd);
>> +
>> +    gntmap_fini(file->dev);
>> +    free(file->dev);
>> +
>> +    return 0;
>> +}
>=20
> The only reason this doesn't break the build is because the declaration=

> is not in a header.=C2=A0 After this change, you've got the function
> returning int here, but declared as returning void as far as MiniOS is
> concerned.
>=20
> Furthermore, we cannot fix this mess atomically now that minios has
> moved into a separate repo.=C2=A0 It's tolerable from an ABI point of v=
iew on
> x86, but I don't know for certain on other architectures.

Mini-OS is x86 only right now (well, it has some Arm parts in it, but
it is not in a state to be usable on Arm).

> The least bad way I can think of doing this would be to leave void
> minios_gnttab_close_fd(int fd) exactly as it was, and instead of
> converting it's use here, use a separate static function straight away
> for the file ops.=C2=A0 (Will be necessary anyway if you like my sugges=
tion
> of passing file too).=C2=A0 Then in the whole function in "tools/libs: =
final
> cleanup making mini-os callbacks static", rather than just making it st=
atic.

I can change it if you really want.


Juergen

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

--------------D61CEED232C22BCE52E81D13--

--YE3MXxshzAWYh9bEsND7Z5WhbkGgAWMOX--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHegsYFAwAAAAAACgkQsN6d1ii/Ey+I
Vgf/bwZoRbesJPHFfIeNnc07ImoBhqEdJgcYEMs/fv2LmEhSZ4+smlukKOxs5+gJ53Xw/2VTd0PG
d6mzBJzxox0QdZyMDD3jrqrg80l9d4Gr/Kv6rjRPjIYOUOUCL9CBMN7n/3uBwW19On+9ezZoKZTp
cb7acjbyoxDlfkOCQgz4wITUrOpH426dxPEHosusXQFnG2A991gfxG9bHu3oTbJo7/6Mvd7GXj/j
N269I9CX1oB+P8s16oOaDi0p3xuwGepNgCvBUuAQtqwV7tmVq3R1nD41xtVn3missnm9jsESk2bn
3Jwt4dsS+H170W3hlfVPlb7Hv1/qab1FykNDfhxdmw==
=7/OJ
-----END PGP SIGNATURE-----

--VmQqsnHyfJ80wO4GAMZ4adAmBRumrSshc--


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 07:34:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 07:34:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256254.439628 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Y9b-0002Ra-Q1; Wed, 12 Jan 2022 07:34:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256254.439628; Wed, 12 Jan 2022 07:34:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Y9b-0002RD-LH; Wed, 12 Jan 2022 07:34:43 +0000
Received: by outflank-mailman (input) for mailman id 256254;
 Wed, 12 Jan 2022 07:34:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zSVc=R4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7Y9a-0002Ql-95
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 07:34:42 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 19ac725a-737a-11ec-81c1-a30af7de8005;
 Wed, 12 Jan 2022 08:34:39 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 583281F3BB;
 Wed, 12 Jan 2022 07:34:39 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 28B3713B32;
 Wed, 12 Jan 2022 07:34:39 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id tc1lCI+E3mEeDwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 12 Jan 2022 07:34:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 19ac725a-737a-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641972879; 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=WpAam2Xb/p4rOHtj0x911ZgbJaMNbmmnG47Q7yxMM7Q=;
	b=g9ut3n6sDqSDmG71Q+UW30bgHb+JAclEiezNTjJSd/x1lNbsV0gdNhpLUNf9mUcB0EFPk4
	kgO5r1eu3wAKmkGlFa6z4CV5pRJ1XWpYg6RQ/vNPXoMQucIbWcTnzeiZmE9UvBWdD5/8gc
	fFHNQuTv9z0yHkdRojG3EIcgO3j8J18=
To: Andrew Cooper <amc96@srcf.net>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20220111145817.22170-1-jgross@suse.com>
 <20220111145817.22170-18-jgross@suse.com>
 <a2d4c905-c477-8553-85a7-90168d914b6e@srcf.net>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH v2 17/18] mini-os: use function vectors instead of switch
 for file operations
Message-ID: <08672989-53be-1551-f001-0d2c0435b586@suse.com>
Date: Wed, 12 Jan 2022 08:34:38 +0100
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: <a2d4c905-c477-8553-85a7-90168d914b6e@srcf.net>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="1yRxLjG8LI6TWxRXbZOs6dgGzDbd4tlbj"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--1yRxLjG8LI6TWxRXbZOs6dgGzDbd4tlbj
Content-Type: multipart/mixed; boundary="PLE3ZJvZpi5M3UTKkAGKQjQ8OKjGp7roo";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <amc96@srcf.net>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
Message-ID: <08672989-53be-1551-f001-0d2c0435b586@suse.com>
Subject: Re: [PATCH v2 17/18] mini-os: use function vectors instead of switch
 for file operations
References: <20220111145817.22170-1-jgross@suse.com>
 <20220111145817.22170-18-jgross@suse.com>
 <a2d4c905-c477-8553-85a7-90168d914b6e@srcf.net>
In-Reply-To: <a2d4c905-c477-8553-85a7-90168d914b6e@srcf.net>

--PLE3ZJvZpi5M3UTKkAGKQjQ8OKjGp7roo
Content-Type: multipart/mixed;
 boundary="------------24BCAA1F1F5DE129C8C99AE9"
Content-Language: en-US

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

On 11.01.22 19:08, Andrew Cooper wrote:
> On 11/01/2022 14:58, Juergen Gross wrote:
>> Introduce file type specific function vectors for all the needed file
>> operations which are file type specific in order to prepare replacing
>> the large switch statements in each generic file function.
>>
>> Add a function to allocate a new file type dynamically in order to
>> prepare removing direct dependencies to external components in the
>> future. For this reason switch the file type from an enum to an
>> unsigned int. Prepare removal of some statically defines file types
>> by putting them at the end of the defined list.
>>
>> Change the debug output for the file type from a single character to
>> a string in order to support a future removal of the file_types[]
>> array.
>>
>> Signed-off-by: Juergen Gross <jgross@suse.com>
>=20
> A few misc observations.
>=20
>> diff --git a/include/lib.h b/include/lib.h
>> index 7a0546b..b40e213 100644
>> --- a/include/lib.h
>> +++ b/include/lib.h
>> @@ -154,25 +155,51 @@ do {                                            =
               \
>>   void sanity_check(void);
>>  =20
>>   #ifdef HAVE_LIBC
>> -enum fd_type {
>> -    FTYPE_NONE =3D 0,
>> -    FTYPE_CONSOLE,
>> -    FTYPE_FILE,
>> -    FTYPE_XENBUS,
>> -    FTYPE_XC,
>> -    FTYPE_EVTCHN,
>> -    FTYPE_GNTMAP,
>> -    FTYPE_SOCKET,
>> -    FTYPE_TAP,
>> -    FTYPE_BLK,
>> -    FTYPE_KBD,
>> -    FTYPE_FB,
>> -    FTYPE_MEM,
>> -    FTYPE_SAVEFILE,
>> -    FTYPE_TPMFRONT,
>> -    FTYPE_TPM_TIS,
>> +#define FTYPE_NONE       0
>> +#define FTYPE_CONSOLE    1
>> +#define FTYPE_FILE       2
>> +#define FTYPE_SOCKET     3
>> +#define FTYPE_MEM        4
>> +#define FTYPE_SAVEFILE   5
>> +#define FTYPE_FB         6
>> +#define FTYPE_KBD        7
>> +#define FTYPE_TAP        8
>> +#define FTYPE_BLK        9
>> +#define FTYPE_TPMFRONT  10
>> +#define FTYPE_TPM_TIS   11
>> +#define FTYPE_XENBUS    12
>> +#define FTYPE_GNTMAP    13
>> +#define FTYPE_EVTCHN    14
>> +#define FTYPE_XC        15
>> +#define FTYPE_N         16
>> +#define FTYPE_SPARE     16
>> +
>> +typedef int file_read_func(int fd, void *buf, size_t nbytes);
>> +typedef int file_write_func(int fd, const void *buf, size_t nbytes);
>> +typedef off_t file_lseek_func(int fd, off_t offset, int whence);
>> +typedef int file_close_func(int fd);
>> +typedef int file_fstat_func(int fd, struct stat *buf);
>> +typedef int file_fcntl_func(int fd, int cmd, va_list args);
>> +typedef bool file_select_func(int fd);
>=20
> Are these typedef's useful?=C2=A0 I don't see them used anywhere other =
than
> the file_ops structure.

I can drop them.

>=20
>> +
>> +struct file_ops {
>> +    const char *name;
>> +    file_read_func *read;
>> +    file_write_func *write;
>> +    file_lseek_func *lseek;
>> +    file_close_func *close;
>> +    file_fstat_func *fstat;
>> +    file_fcntl_func *fcntl;
>> +    file_select_func *select_rd;
>> +    file_select_func *select_wr;
>>   };
>>  =20
>> +unsigned int alloc_file_type(struct file_ops *ops);
>=20
> const.

Yes.

>=20
>> +
>> +off_t lseek_default(int fd, off_t offset, int whence);
>> +bool select_yes(int fd);
>> +bool select_read_flag(int fd);
>> +
>>   LIST_HEAD(evtchn_port_list, evtchn_port_info);
>>  =20
>>   struct evtchn_port_info {
>> @@ -183,7 +210,7 @@ struct evtchn_port_info {
>>   };
>>  =20
>>   struct file {
>> -    enum fd_type type;
>> +    unsigned int type;
>>       bool read;	/* maybe available for read */
>>       off_t offset;
>>       union {
>> @@ -199,7 +226,7 @@ struct file {
>>   extern struct file files[];
>>  =20
>>   struct file *get_file_from_fd(int fd);
>> -int alloc_fd(enum fd_type type);
>> +int alloc_fd(unsigned int type);
>>   void close_all_files(void);
>>   extern struct thread *main_thread;
>>   void sparse(unsigned long data, size_t size);
>> diff --git a/lib/sys.c b/lib/sys.c
>> index 323a7cd..c327247 100644
>> --- a/lib/sys.c
>> +++ b/lib/sys.c
>> @@ -98,6 +98,39 @@ struct file files[NOFILE] =3D {
>>       { .type =3D FTYPE_CONSOLE }, /* stderr */
>>   };
>>  =20
>> +static struct file_ops file_ops_none =3D {
>> +    .name =3D "none",
>> +};
>> +
>> +static struct file_ops *file_ops[FTYPE_N + FTYPE_SPARE] =3D {
>> +    [FTYPE_NONE] =3D &file_ops_none,
>> +};
>=20
> Both want to be const, because all file_ops ought to live in rodata.

file_ops[] can't be const, it will just point to const data.

>=20
>> +
>> +unsigned int alloc_file_type(struct file_ops *ops)
>> +{
>> +    unsigned int i;
>> +
>> +    pthread_mutex_lock(&fd_lock);
>> +
>> +    for ( i =3D FTYPE_N; i < ARRAY_SIZE(file_ops) && file_ops[i]; i++=
 );
>=20
> No need for a for loop.=C2=A0 Given the mutex, you can safely do someth=
ing
> like this:
>=20
> static unsigned int i =3D FTYPE_N;
>=20
> BUG_ON(i =3D=3D ARRAY_SIZE(file_ops));
> file_ops[i++] =3D ops;

Will change it that way.

>=20
> Alternatively, if you do want to keep the loop, we might want to confir=
m
> that the same ops structure doesn't get registered twice.
>=20
>> +    BUG_ON(i =3D=3D ARRAY_SIZE(file_ops));
>> +    file_ops[i] =3D ops;
>> +
>> +    pthread_mutex_unlock(&fd_lock);
>> +
>> +    printk("New file type \"%s\"(%u) allocated\n", ops->name, i);
>> +
>> +    return i;
>> +}
>> +
>> +static struct file_ops *get_file_ops(unsigned int type)
>> +{
>> +    if ( type >=3D ARRAY_SIZE(file_ops) || !file_ops[type] )
>> +        return &file_ops_none;
>> +
>> +    return file_ops[type];
>> +}
>> +
>>   struct file *get_file_from_fd(int fd)
>>   {
>>       if ( fd < 0 || fd >=3D NOFILE )
>> @@ -108,7 +141,7 @@ struct file *get_file_from_fd(int fd)
>>  =20
>>   DECLARE_WAIT_QUEUE_HEAD(event_queue);
>>  =20
>> -int alloc_fd(enum fd_type type)
>> +int alloc_fd(unsigned int type)
>>   {
>>       int i;
>>       pthread_mutex_lock(&fd_lock);
>> @@ -249,6 +282,11 @@ int isatty(int fd)
>>  =20
>>   int read(int fd, void *buf, size_t nbytes)
>>   {
>> +    struct file_ops *ops =3D get_file_ops(files[fd].type);
>> +
>> +    if ( ops->read )
>> +        return ops->read(fd, buf, nbytes);
>> +
>>       switch (files[fd].type) {
>>           case FTYPE_SAVEFILE:
>>   	case FTYPE_CONSOLE: {
>> @@ -328,6 +366,11 @@ int read(int fd, void *buf, size_t nbytes)
>>  =20
>>   int write(int fd, const void *buf, size_t nbytes)
>>   {
>> +    struct file_ops *ops =3D get_file_ops(files[fd].type);
>> +
>> +    if ( ops->write )
>> +        return ops->write(fd, buf, nbytes);
>> +
>>       switch (files[fd].type) {
>>           case FTYPE_SAVEFILE: {
>>                   int ret =3D 0, tot =3D nbytes;
>> @@ -370,8 +413,45 @@ int write(int fd, const void *buf, size_t nbytes)=

>>       return -1;
>>   }
>>  =20
>> +off_t lseek_default(int fd, off_t offset, int whence)
>> +{
>> +    switch ( whence )
>> +    {
>> +    case SEEK_SET:
>> +        files[fd].offset =3D offset;
>> +        break;
>> +
>> +    case SEEK_CUR:
>> +        files[fd].offset +=3D offset;
>> +        break;
>> +
>> +    case SEEK_END:
>> +    {
>> +        struct stat st;
>> +        int ret;
>> +
>> +        ret =3D fstat(fd, &st);
>> +        if ( ret )
>> +            return -1;
>> +        files[fd].offset =3D st.st_size + offset;
>> +        break;
>> +    }
>> +
>> +    default:
>> +        errno =3D EINVAL;
>> +        return -1;
>> +    }
>> +
>> +    return files[fd].offset;
>> +}
>> +
>>   off_t lseek(int fd, off_t offset, int whence)
>>   {
>> +    struct file_ops *ops =3D get_file_ops(files[fd].type);
>> +
>> +    if ( ops->lseek )
>> +        return ops->lseek(fd, offset, whence);
>> +
>>       switch(files[fd].type) {
>>   #ifdef CONFIG_BLKFRONT
>>          case FTYPE_BLK:
>> @@ -393,28 +473,7 @@ off_t lseek(int fd, off_t offset, int whence)
>>             return (off_t) -1;
>>       }
>>  =20
>> -    switch (whence) {
>> -       case SEEK_SET:
>> -          files[fd].offset =3D offset;
>> -          break;
>> -       case SEEK_CUR:
>> -          files[fd].offset +=3D offset;
>> -          break;
>> -       case SEEK_END:
>> -          {
>> -             struct stat st;
>> -             int ret;
>> -             ret =3D fstat(fd, &st);
>> -             if (ret)
>> -                return -1;
>> -             files[fd].offset =3D st.st_size + offset;
>> -             break;
>> -          }
>> -       default:
>> -          errno =3D EINVAL;
>> -          return -1;
>> -    }
>> -    return files[fd].offset;
>> +    return lseek_default(fd, offset, whence);
>>   }
>>  =20
>>   int fsync(int fd) {
>> @@ -425,8 +484,15 @@ int fsync(int fd) {
>>   int close(int fd)
>>   {
>>       int res =3D 0;
>> +    struct file_ops *ops =3D get_file_ops(files[fd].type);
>>  =20
>>       printk("close(%d)\n", fd);
>> +    if ( ops->close )
>> +    {
>> +        res =3D ops->close(fd);
>> +        goto out;
>> +    }
>> +
>>       switch (files[fd].type) {
>>           default:
>>               break;
>> @@ -497,6 +563,7 @@ int close(int fd)
>>               return -1;
>>       }
>>  =20
>> + out:
>>       memset(files + fd, 0, sizeof(struct file));
>>       files[fd].type =3D FTYPE_NONE;
>>       return res;
>> @@ -521,7 +588,13 @@ int stat(const char *path, struct stat *buf)
>>  =20
>>   int fstat(int fd, struct stat *buf)
>>   {
>> +    struct file_ops *ops =3D get_file_ops(files[fd].type);
>> +
>>       init_stat(buf);
>> +
>> +    if ( ops->fstat )
>> +        return ops->fstat(fd, buf);
>> +
>>       switch (files[fd].type) {
>>   	case FTYPE_SAVEFILE:
>>   	case FTYPE_CONSOLE:
>> @@ -587,6 +660,18 @@ int fcntl(int fd, int cmd, ...)
>>   {
>>       long arg;
>>       va_list ap;
>> +    int res;
>> +    struct file_ops *ops =3D get_file_ops(files[fd].type);
>> +
>> +    if ( ops->fcntl )
>> +    {
>> +        va_start(ap, cmd);
>> +        res =3D ops->fcntl(fd, cmd, ap);
>> +        va_end(ap);
>> +
>> +        return res;
>> +    }
>> +
>>       va_start(ap, cmd);
>>       arg =3D va_arg(ap, long);
>>       va_end(ap);
>> @@ -640,18 +725,29 @@ int closedir(DIR *dir)
>>   /* We assume that only the main thread calls select(). */
>>  =20
>>   #if defined(LIBC_DEBUG) || defined(LIBC_VERBOSE)
>> -static const char file_types[] =3D {
>> -    [FTYPE_NONE]	=3D 'N',
>> -    [FTYPE_CONSOLE]	=3D 'C',
>> -    [FTYPE_XENBUS]	=3D 'S',
>> -    [FTYPE_XC]		=3D 'X',
>> -    [FTYPE_EVTCHN]	=3D 'E',
>> -    [FTYPE_SOCKET]	=3D 's',
>> -    [FTYPE_TAP]		=3D 'T',
>> -    [FTYPE_BLK]		=3D 'B',
>> -    [FTYPE_KBD]		=3D 'K',
>> -    [FTYPE_FB]		=3D 'G',
>> +static const char *file_types[] =3D {
>=20
> static const char *const file_types[]

Okay.

>=20
>> +    [FTYPE_NONE]    =3D "none",
>> +    [FTYPE_CONSOLE] =3D "console",
>> +    [FTYPE_XENBUS]  =3D "xenbus",
>> +    [FTYPE_XC]      =3D "ctrl",
>> +    [FTYPE_EVTCHN]  =3D "evtchn",
>> +    [FTYPE_SOCKET]  =3D "socket",
>> +    [FTYPE_TAP]     =3D "net",
>> +    [FTYPE_BLK]     =3D "blk",
>> +    [FTYPE_KBD]     =3D "kbd",
>> +    [FTYPE_FB]      =3D "fb",
>>   };
>> +
>> +static char *get_type_name(unsigned int type)
>=20
> const.

Okay.

>=20
>> +{
>> +    if ( type < ARRAY_SIZE(file_ops) && file_ops[type] )
>> +        return file_ops[type]->name;
>> +
>> +    if ( type < ARRAY_SIZE(file_types) && file_types[type] )
>> +        return file_types[type];
>> +
>> +    return "none";
>> +}
>>   #endif
>>   #ifdef LIBC_DEBUG
>>   static void dump_set(int nfds, fd_set *readfds, fd_set *writefds, fd=
_set *exceptfds, struct timeval *timeout)
>> @@ -663,7 +759,7 @@ static void dump_set(int nfds, fd_set *readfds, fd=
_set *writefds, fd_set *except
>>   	if (FD_ISSET(i, set)) { \
>>   	    if (comma) \
>>   		printk(", "); \
>> -	    printk("%d(%c)", i, file_types[files[i].type]); \
>> +	    printk("%d(%s)", i, get_type_name(files[i].type)); \
>>   	    comma =3D 1; \
>>   	} \
>>       } \
>> @@ -697,7 +793,7 @@ static void dump_pollfds(struct pollfd *pfd, int n=
fds, int timeout)
>>           fd =3D pfd[i].fd;
>>           if (comma)
>>               printk(", ");
>> -        printk("%d(%c)/%02x", fd, file_types[files[fd].type],
>> +        printk("%d(%s)/%02x", fd, get_type_name(files[fd].type),
>>               pfd[i].events);
>>               comma =3D 1;
>>       }
>> @@ -709,6 +805,18 @@ static void dump_pollfds(struct pollfd *pfd, int =
nfds, int timeout)
>>   #define dump_pollfds(pfds, nfds, timeout)
>>   #endif
>>  =20
>> +bool select_yes(int fd)
>> +{
>> +    return true;
>> +}
>> +
>> +bool select_read_flag(int fd)
>> +{
>> +    struct file *file =3D get_file_from_fd(fd);
>> +
>> +    return file->read;
>> +}
>=20
> I don't see these getting used, even in a fallback case.

They will be used in later patches.

>=20
>> +
>>   /* Just poll without blocking */
>>   static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, =
fd_set *exceptfds)
>>   {
>> @@ -762,9 +870,35 @@ static int select_poll(int nfds, fd_set *readfds,=
 fd_set *writefds, fd_set *exce
>>       for (i =3D 0; i < nfds; i++) {
>>   	switch(files[i].type) {
>>   	default:
>> +        {
>> +            struct file_ops *ops =3D file_ops[files[i].type];
>> +
>> +            if ( ops )
>> +            {
>> +                if ( FD_ISSET(i, readfds) )
>> +                {
>> +                    if ( ops->select_rd && ops->select_rd(i) )
>> +                        n++;
>> +                    else
>> +                        FD_CLR(i, readfds);
>> +                }
>> +                if ( FD_ISSET(i, writefds) )
>> +                {
>> +                    if ( ops->select_wr && ops->select_wr(i) )
>> +                        n++;
>> +                    else
>> +                        FD_CLR(i, writefds);
>> +                }
>> +	        FD_CLR(i, exceptfds);
>=20
> Hard tab.

Thanks for noting.

>=20
>> +
>> +                break;
>> +            }
>> +
>>   	    if (FD_ISSET(i, readfds) || FD_ISSET(i, writefds) || FD_ISSET(i=
, exceptfds))
>>   		printk("bogus fd %d in select\n", i);
>>   	    /* Fallthrough.  */
>> +        }
>=20
> Is this fallthrough really appropriate, given the break in the ops case=
?

I think this was meant for the FTYPE_SAVEFILE case. For all other file
types this wouldn't make any sense.

Note that in the other Mini-OS series I'm setting the savefile select
callbacks appropriately.


Juergen

--------------24BCAA1F1F5DE129C8C99AE9
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-----

--------------24BCAA1F1F5DE129C8C99AE9--

--PLE3ZJvZpi5M3UTKkAGKQjQ8OKjGp7roo--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHehI4FAwAAAAAACgkQsN6d1ii/Ey9k
kgf9Fpa0a8Ku0jrEAASfw4Py+jT/e4/J/ljzJu/lX6OivcZelBK5hSzanxxt+3Pen3fygNKQiscj
AtD4CNBlriFKuGOKlO9lEt2ze+qMCyfkbk3CEg+S8UiXFsFXNe0ypy7nQJ2cyxGvbE+Uj/RNU9DG
3GAR2cyLezlZqjr7N+fH+rzsh0ueJAdvYtUhbNHAPZNvhaMCx83jYYxkj+Ue+VUEIXKKs9FS1pHh
rvi1QD7rrWOH2N8xiSxBsv/ckzw1ETX/cAHGyzi/8zGCYaCDequVrLBqqfDIsduzdgDo0gsvt3g2
dzliOz4U/BNmLA1obkGB45+1S247CLCjs4PEcRe6MQ==
=qZYx
-----END PGP SIGNATURE-----

--1yRxLjG8LI6TWxRXbZOs6dgGzDbd4tlbj--


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 07:35:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 07:35:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256257.439639 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7YAa-00037S-8B; Wed, 12 Jan 2022 07:35:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256257.439639; Wed, 12 Jan 2022 07: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 1n7YAa-00037L-4x; Wed, 12 Jan 2022 07:35:44 +0000
Received: by outflank-mailman (input) for mailman id 256257;
 Wed, 12 Jan 2022 07:35:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zSVc=R4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7YAY-000372-UC
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 07:35:42 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3ebd3003-737a-11ec-81c1-a30af7de8005;
 Wed, 12 Jan 2022 08:35:41 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 9C92C212CC;
 Wed, 12 Jan 2022 07:35:41 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 681FB13B32;
 Wed, 12 Jan 2022 07:35:41 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id UJ8OGM2E3mGxDwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 12 Jan 2022 07:35:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3ebd3003-737a-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641972941; 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=wvdjA7VaGoLVihs21qy5O2GV5iob1mnk5CnH267+aE0=;
	b=LUAkDjnvxtmH7aPG554O1wAzK+PZ/Q0/cdL094cMm3UzSm9r5AWUiHP3eIGf5zjRIytWmu
	zQ/jcgkXvzILijkL49gDOWTDhYlpSG3JbFaCvQp1l/Keae24hrhscVVHD3HEMoGxi36hjB
	D11Gbt+Wvp4GXo/L+ligRAndW4I2Ah8=
Subject: Re: [PATCH v2 16/18] mini-os: reset file type in close() in one place
 only
To: Andrew Cooper <amc96@srcf.net>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20220111145817.22170-1-jgross@suse.com>
 <20220111145817.22170-17-jgross@suse.com>
 <d70d8cb3-c34f-23f5-840c-c85a90547924@srcf.net>
From: Juergen Gross <jgross@suse.com>
Message-ID: <ea04bb0d-c1b5-1f0b-9ca9-f21001e42a78@suse.com>
Date: Wed, 12 Jan 2022 08:35:40 +0100
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: <d70d8cb3-c34f-23f5-840c-c85a90547924@srcf.net>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="F2T7kkXIZYAior80ZmuWsQ8NhZRO1bbHD"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--F2T7kkXIZYAior80ZmuWsQ8NhZRO1bbHD
Content-Type: multipart/mixed; boundary="g4Z3l4Af5WbpM3ZK9FLGa4FaSetRSqegM";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <amc96@srcf.net>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
Message-ID: <ea04bb0d-c1b5-1f0b-9ca9-f21001e42a78@suse.com>
Subject: Re: [PATCH v2 16/18] mini-os: reset file type in close() in one place
 only
References: <20220111145817.22170-1-jgross@suse.com>
 <20220111145817.22170-17-jgross@suse.com>
 <d70d8cb3-c34f-23f5-840c-c85a90547924@srcf.net>
In-Reply-To: <d70d8cb3-c34f-23f5-840c-c85a90547924@srcf.net>

--g4Z3l4Af5WbpM3ZK9FLGa4FaSetRSqegM
Content-Type: multipart/mixed;
 boundary="------------5674B16F21DF3BC61C9CC0AC"
Content-Language: en-US

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

On 11.01.22 19:11, Andrew Cooper wrote:
> On 11/01/2022 14:58, Juergen Gross wrote:
>> diff --git a/lib/sys.c b/lib/sys.c
>> index 0e6fe5d..323a7cd 100644
>> --- a/lib/sys.c
>> +++ b/lib/sys.c
>> @@ -424,87 +424,82 @@ int fsync(int fd) {
>>  =20
>>   int close(int fd)
>>   {
>> +    int res =3D 0;
>> +
>>       printk("close(%d)\n", fd);
>>       switch (files[fd].type) {
>>           default:
>> -	    files[fd].type =3D FTYPE_NONE;
>> -	    return 0;
>> +            break;
>>   #ifdef CONFIG_XENBUS
>>   	case FTYPE_XENBUS:
>>               xs_daemon_close((void*)(intptr_t) fd);
>> -            return 0;
>> +            break;
>>   #endif
>>   #ifdef HAVE_LWIP
>> -	case FTYPE_SOCKET: {
>> -	    int res =3D lwip_close(files[fd].fd);
>> -	    files[fd].type =3D FTYPE_NONE;
>> -	    return res;
>> -	}
>> +	case FTYPE_SOCKET:
>> +	    res =3D lwip_close(files[fd].fd);
>=20
> Hard tabs.
>=20
>> +            break;
>>   #endif
>>   #ifdef CONFIG_LIBXENCTRL
>>   	case FTYPE_XC:
>>   	    minios_interface_close_fd(fd);
>> -	    return 0;
>> +            break;
>>   #endif
>>   #ifdef CONFIG_LIBXENEVTCHN
>>   	case FTYPE_EVTCHN:
>>   	    minios_evtchn_close_fd(fd);
>> -            return 0;
>> +            break;
>>   #endif
>>   #ifdef CONFIG_LIBXENGNTTAB
>>   	case FTYPE_GNTMAP:
>>   	    minios_gnttab_close_fd(fd);
>> -	    return 0;
>> +            break;
>>   #endif
>>   #ifdef CONFIG_NETFRONT
>>   	case FTYPE_TAP:
>>   	    shutdown_netfront(files[fd].dev);
>> -	    files[fd].type =3D FTYPE_NONE;
>> -	    return 0;
>> +            break;
>>   #endif
>>   #ifdef CONFIG_BLKFRONT
>>   	case FTYPE_BLK:
>>               shutdown_blkfront(files[fd].dev);
>> -	    files[fd].type =3D FTYPE_NONE;
>> -	    return 0;
>> +            break;
>>   #endif
>>   #ifdef CONFIG_TPMFRONT
>>   	case FTYPE_TPMFRONT:
>>               shutdown_tpmfront(files[fd].dev);
>> -	    files[fd].type =3D FTYPE_NONE;
>> -	    return 0;
>> +            break;
>>   #endif
>>   #ifdef CONFIG_TPM_TIS
>>   	case FTYPE_TPM_TIS:
>>               shutdown_tpm_tis(files[fd].dev);
>> -	    files[fd].type =3D FTYPE_NONE;
>> -	    return 0;
>> +            break;
>>   #endif
>>   #ifdef CONFIG_KBDFRONT
>>   	case FTYPE_KBD:
>>               shutdown_kbdfront(files[fd].dev);
>> -            files[fd].type =3D FTYPE_NONE;
>> -            return 0;
>> +            break;
>>   #endif
>>   #ifdef CONFIG_FBFRONT
>>   	case FTYPE_FB:
>>               shutdown_fbfront(files[fd].dev);
>> -            files[fd].type =3D FTYPE_NONE;
>> -            return 0;
>> +            break;
>>   #endif
>>   #ifdef CONFIG_CONSFRONT
>>           case FTYPE_SAVEFILE:
>>           case FTYPE_CONSOLE:
>>               fini_consfront(files[fd].dev);
>> -            files[fd].type =3D FTYPE_NONE;
>> -            return 0;
>> +            break;
>>   #endif
>>   	case FTYPE_NONE:
>> -	    break;
>> +            printk("close(%d): Bad descriptor\n", fd);
>> +            errno =3D EBADF;
>> +            return -1;
>>       }
>> -    printk("close(%d): Bad descriptor\n", fd);
>> -    errno =3D EBADF;
>> -    return -1;
>> +
>> +    memset(files + fd, 0, sizeof(struct file));
>> +    files[fd].type =3D FTYPE_NONE;
>=20
> BUILD_BUG_ON(FTYPE_NONE !=3D 0);
>=20
> Life's too short to deal with a theoretical (and short sighted) future
> where someone might want to change FTYPE_NONE away from being 0.

Good idea.


Juergen

--------------5674B16F21DF3BC61C9CC0AC
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-----

--------------5674B16F21DF3BC61C9CC0AC--

--g4Z3l4Af5WbpM3ZK9FLGa4FaSetRSqegM--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHehMwFAwAAAAAACgkQsN6d1ii/Ey8h
Bgf/Ss+8SmJfO6FZSEc0g9F5GYPIHhSExeO3ZiC7S0bIMUNlWO/O5VhaeFilRJ+MwAaoupohzgua
Rkfz3/BY2JymF30v8D46rRNlY66g8XPkMbE5wn2ENF5ytlkgoyHn4w+5poegEzxI4RQlXO0WSzV1
qvz3cWQu8d7KjZJQimLgwCFOR/y0HlkhxwZ3xI837cl976s+3J9o18z4rFrmmJUPYvvuchWQI67/
GzqzXsm9BO1atQ10N2TFGR5chJ8Q/xXouQ7TwBvgjqRiKuECcq7tGoLRwStJRkThsVQx2Nny0Y87
asG9do+agnWG8QrcMj3tRWwe6p0C2q38fBDKykYLnw==
=dgfG
-----END PGP SIGNATURE-----

--F2T7kkXIZYAior80ZmuWsQ8NhZRO1bbHD--


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 07:36:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 07:36:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256266.439676 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7YBA-0004K2-3h; Wed, 12 Jan 2022 07:36:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256266.439676; Wed, 12 Jan 2022 07: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 1n7YB9-0004Jn-Tw; Wed, 12 Jan 2022 07:36:19 +0000
Received: by outflank-mailman (input) for mailman id 256266;
 Wed, 12 Jan 2022 07:36:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zSVc=R4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7YB8-000372-KC
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 07:36:18 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 53f04cee-737a-11ec-81c1-a30af7de8005;
 Wed, 12 Jan 2022 08:36:17 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 33762212CC;
 Wed, 12 Jan 2022 07:36:17 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 0FB4413B32;
 Wed, 12 Jan 2022 07:36:17 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 4wylAvGE3mHmDwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 12 Jan 2022 07: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>
X-Inumbo-ID: 53f04cee-737a-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641972977; 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=ulXMt8x7Uwbak5tjeuvflHEVHVFWHqwTlNORuYJXtAA=;
	b=qI9hoXUUaL6D3P0cS2usHBEhu0DQYDJBDYfqQBZA6C9+MsZDWHsCwQ1itftVtuYcpFNWZL
	fRxNL50jXLjrEGL/FeCSi+54BFWt05ZRFoR0YG+8SdlccLzZ3eC2zVBWE1zAwOgvYEf1a9
	vAy8slt63VvX/L0xtZ2/gdMOV2CQvOA=
Subject: Re: [PATCH v2 15/18] mini-os: introduce get_file_from_fd()
To: Andrew Cooper <amc96@srcf.net>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20220111145817.22170-1-jgross@suse.com>
 <20220111145817.22170-16-jgross@suse.com>
 <3bfba2a9-7951-3234-86c8-3be116c640b6@srcf.net>
From: Juergen Gross <jgross@suse.com>
Message-ID: <eabbbdc3-f705-fef6-11b6-55f4b64b3160@suse.com>
Date: Wed, 12 Jan 2022 08:36:16 +0100
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: <3bfba2a9-7951-3234-86c8-3be116c640b6@srcf.net>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="il78nH3fPeBZscCwsGPUCLmhVOckZ93iE"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--il78nH3fPeBZscCwsGPUCLmhVOckZ93iE
Content-Type: multipart/mixed; boundary="OhrgsaZxtdZVX7bsf5urRlF8S4AbWLADQ";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <amc96@srcf.net>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
Message-ID: <eabbbdc3-f705-fef6-11b6-55f4b64b3160@suse.com>
Subject: Re: [PATCH v2 15/18] mini-os: introduce get_file_from_fd()
References: <20220111145817.22170-1-jgross@suse.com>
 <20220111145817.22170-16-jgross@suse.com>
 <3bfba2a9-7951-3234-86c8-3be116c640b6@srcf.net>
In-Reply-To: <3bfba2a9-7951-3234-86c8-3be116c640b6@srcf.net>

--OhrgsaZxtdZVX7bsf5urRlF8S4AbWLADQ
Content-Type: multipart/mixed;
 boundary="------------2451132C3111B4069AC52F7B"
Content-Language: en-US

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

On 11.01.22 19:17, Andrew Cooper wrote:
> On 11/01/2022 14:58, Juergen Gross wrote:
>> diff --git a/lib/sys.c b/lib/sys.c
>> index 6f2b026..0e6fe5d 100644
>> --- a/lib/sys.c
>> +++ b/lib/sys.c
>> @@ -98,6 +98,14 @@ struct file files[NOFILE] =3D {
>>       { .type =3D FTYPE_CONSOLE }, /* stderr */
>>   };
>>  =20
>> +struct file *get_file_from_fd(int fd)
>> +{
>> +    if ( fd < 0 || fd >=3D NOFILE )
>=20
> fd >=3D ARRAY_SIZE(files)=C2=A0 ?
>=20
> Generates slightly safer code in the event that `struct file
> files[NOFILE]` gets refactored.

Fine with me.


Juergen

--------------2451132C3111B4069AC52F7B
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-----

--------------2451132C3111B4069AC52F7B--

--OhrgsaZxtdZVX7bsf5urRlF8S4AbWLADQ--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHehPAFAwAAAAAACgkQsN6d1ii/Ey/t
Hwf/QnmIuL+t0zZ3120Zvwe8eMKw9UhuEcfZX9I5I0CfgBZkT1dGvHP6FtMJNO+AdB8pMJAzvVFb
U+bU9lDEK/UqGA8beOBUEYUBlAlhmOi6Qs5TZkngRiV+X0C4DJs8cE533g+/QSXpcvY+UTgjbBuP
sTvmd2c6blfrM1lEvXgfomJnXlr8xlFLCJxXp+cgO/2zK/mFqz89hzbOZL5A8VnCtJNkZ4av0yA4
82WuAz77NDdgYO7rZMcZGLAic/XYIMgMBEewMANkOaQdHQNzE2ZgoTg6Og/Kl9Qk2GM1AeZOOz+L
Pc5FSNLILlZffjIpkuhaHWzfrG6gqnN+y0Db3MA7qQ==
=gur3
-----END PGP SIGNATURE-----

--il78nH3fPeBZscCwsGPUCLmhVOckZ93iE--


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 07:37:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 07:37:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256281.439691 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7YC2-0005Nl-GS; Wed, 12 Jan 2022 07:37:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256281.439691; Wed, 12 Jan 2022 07:37: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 1n7YC2-0005Nc-D4; Wed, 12 Jan 2022 07:37:14 +0000
Received: by outflank-mailman (input) for mailman id 256281;
 Wed, 12 Jan 2022 07:37:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zSVc=R4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7YC0-0005Ks-Vc
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 07:37:13 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7407e7d4-737a-11ec-81c1-a30af7de8005;
 Wed, 12 Jan 2022 08:37:11 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 0CD6F1F3BB;
 Wed, 12 Jan 2022 07:37:11 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id CB0E413B32;
 Wed, 12 Jan 2022 07:37:10 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id o8xQMCaF3mE0EAAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 12 Jan 2022 07:37:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7407e7d4-737a-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641973031; 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=AhGm1iTp4PnvvRVRnI49cIwTFpCdvA8mwMFo4R2iAH8=;
	b=Q8hhdGskyXyAVYBxdnF5drWuQooU8WvROafcG2HBm+FNVAg3ELxsBZMZCa9hFkUYznYHC7
	i+iZNyxLqu0oZFt7tPkz0ufvWghzNbN5XWvDygvKVOv2m5b+4QcakK5enWuTi2AbvVOLfj
	Q8lON1HA4QHEGCvAnFd7bhH9w0mTEeg=
Subject: Re: [PATCH v2 18/18] mini-os: remove file type FTYPE_XC
To: Andrew Cooper <amc96@srcf.net>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20220111145817.22170-1-jgross@suse.com>
 <20220111145817.22170-19-jgross@suse.com>
 <b6526d7d-4086-30b3-181a-1a34c44137e3@srcf.net>
From: Juergen Gross <jgross@suse.com>
Message-ID: <317509d0-bd6f-333f-4c29-25bd3b31f764@suse.com>
Date: Wed, 12 Jan 2022 08:37:10 +0100
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: <b6526d7d-4086-30b3-181a-1a34c44137e3@srcf.net>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="3dw0I1xgDWDoonn4xROTzerOo6GT0Ziyp"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--3dw0I1xgDWDoonn4xROTzerOo6GT0Ziyp
Content-Type: multipart/mixed; boundary="7X9nbhgQzbCGpalpRJ59wWSu2k0u0rNra";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <amc96@srcf.net>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
Message-ID: <317509d0-bd6f-333f-4c29-25bd3b31f764@suse.com>
Subject: Re: [PATCH v2 18/18] mini-os: remove file type FTYPE_XC
References: <20220111145817.22170-1-jgross@suse.com>
 <20220111145817.22170-19-jgross@suse.com>
 <b6526d7d-4086-30b3-181a-1a34c44137e3@srcf.net>
In-Reply-To: <b6526d7d-4086-30b3-181a-1a34c44137e3@srcf.net>

--7X9nbhgQzbCGpalpRJ59wWSu2k0u0rNra
Content-Type: multipart/mixed;
 boundary="------------825673C6E0AF38904F885F74"
Content-Language: en-US

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

On 11.01.22 19:19, Andrew Cooper wrote:
> On 11/01/2022 14:58, Juergen Gross wrote:
>> The only reason for the file type FTYPE_XC has been gone long time
>> ago: it was needed for xc_map_foreign_bulk(), which has been switched
>> to use libxenforeignmemory and doesn't need this special file any
>> more.
>>
>> So remove everything related to FTYPE_XC.
>>
>> Signed-off-by: Juergen Gross <jgross@suse.com>
>=20
> You'd have less churn in the series if this came ahead of patch 17.
> There are at least 3 hunks below that you've already converted once, an=
d
> one of those hunks already needs a hard tabs fixup.

Okay.


Juergen

--------------825673C6E0AF38904F885F74
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-----

--------------825673C6E0AF38904F885F74--

--7X9nbhgQzbCGpalpRJ59wWSu2k0u0rNra--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHehSYFAwAAAAAACgkQsN6d1ii/Ey+6
HQgAnZ9eZIsER/rKG6rwL7rrQuTTFPlMiucGTYmZsYv6WB+4CX0BYvnVnmr8yRnDtadzWIgPTKSQ
G0g5O3I7zLmxHyGt9/GbELAVorJwxpTpHHIo/iNhh4WrOjhFwU/0/yCX2v6xuX5z/ABhpOKmB/lv
+P8BLxSTY6tePDOsULTDx4LsqEjsSZIx8BhgpiKQ/UNysqlA1wBCQ4AuPhaXSwzuBTUL6rvWYwOr
bP+mClj3tE9bFluPf7jEbYwJPNLm2ZjhZky8ncZfW/HMXAe71cEv0E0vKAYtngvZjX3kBenEJsUW
oqK9nktgFJRoRkimcw448A4b+5ICxNpzzSgVjZ3qnw==
=0IGA
-----END PGP SIGNATURE-----

--3dw0I1xgDWDoonn4xROTzerOo6GT0Ziyp--


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 07:39:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 07:39:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256293.439702 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7YE6-0006H3-4a; Wed, 12 Jan 2022 07:39:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256293.439702; Wed, 12 Jan 2022 07:39:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7YE6-0006Gw-1S; Wed, 12 Jan 2022 07:39:22 +0000
Received: by outflank-mailman (input) for mailman id 256293;
 Wed, 12 Jan 2022 07:39:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zSVc=R4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7YE4-0006Gh-8D
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 07:39:20 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c05eaf36-737a-11ec-81c1-a30af7de8005;
 Wed, 12 Jan 2022 08:39:19 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 206F71F3BB;
 Wed, 12 Jan 2022 07:39:19 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id DFAFF13B32;
 Wed, 12 Jan 2022 07:39:18 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Llo2NKaF3mH8EAAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 12 Jan 2022 07:39: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: c05eaf36-737a-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641973159; 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=cXgN85yjDjoEng8Zh0FXXkam8JMxFoemBgYurn7Uk3o=;
	b=CwyiyZshCl5dCfkfuNwZVNp6LguYyM8hVUdCz8OD4VfD05jU3o51CrPcQ0M+IFJhM68PhJ
	PrhzX7OQfIAthogUVb3W34chYmngBCMMCqoFein0rqvjJYMjVucAoobCBkOLRBMFYLRtv5
	W+rxX8/doNFHVrblwhsL+1MeZea8STg=
Subject: Re: [PATCH v2 16/18] mini-os: reset file type in close() in one place
 only
To: Andrew Cooper <amc96@srcf.net>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20220111145817.22170-1-jgross@suse.com>
 <20220111145817.22170-17-jgross@suse.com>
 <e4956df7-d7ca-cb5f-0f0e-7f3eba5d1a50@srcf.net>
From: Juergen Gross <jgross@suse.com>
Message-ID: <dc654411-824c-4b88-1f9a-bb418c24f174@suse.com>
Date: Wed, 12 Jan 2022 08:39:18 +0100
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: <e4956df7-d7ca-cb5f-0f0e-7f3eba5d1a50@srcf.net>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="dDWfXdCtDRarrdxRMw92aTNO7tuwzdDiJ"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--dDWfXdCtDRarrdxRMw92aTNO7tuwzdDiJ
Content-Type: multipart/mixed; boundary="O5h4rbKKvF32fnnLYMuRduY9xpSE4ALHg";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <amc96@srcf.net>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
Message-ID: <dc654411-824c-4b88-1f9a-bb418c24f174@suse.com>
Subject: Re: [PATCH v2 16/18] mini-os: reset file type in close() in one place
 only
References: <20220111145817.22170-1-jgross@suse.com>
 <20220111145817.22170-17-jgross@suse.com>
 <e4956df7-d7ca-cb5f-0f0e-7f3eba5d1a50@srcf.net>
In-Reply-To: <e4956df7-d7ca-cb5f-0f0e-7f3eba5d1a50@srcf.net>

--O5h4rbKKvF32fnnLYMuRduY9xpSE4ALHg
Content-Type: multipart/mixed;
 boundary="------------AEDA13017DDAE3689B2AB865"
Content-Language: en-US

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

On 11.01.22 20:14, Andrew Cooper wrote:
> On 11/01/2022 14:58, Juergen Gross wrote:
>> diff --git a/lib/sys.c b/lib/sys.c
>> index 0e6fe5d..323a7cd 100644
>> --- a/lib/sys.c
>> +++ b/lib/sys.c
>> @@ -424,87 +424,82 @@ int fsync(int fd) {
>>  =20
>>   int close(int fd)
>>   {
>> +    int res =3D 0;
>> +
>>       printk("close(%d)\n", fd);
>>       switch (files[fd].type) {
>=20
> I know this bug is pre-existing, but the libc close() really ought to
> sanity check fd before blindly indexing files[] with it.
>=20
> I'd tentatively suggest that you want one extra goto from here, into
> wherever the EBADF logic ends up, and it's probably worth including in
> this patch.

Will do that.


Juergen

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

--------------AEDA13017DDAE3689B2AB865--

--O5h4rbKKvF32fnnLYMuRduY9xpSE4ALHg--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHehaYFAwAAAAAACgkQsN6d1ii/Ey+9
cAgAmomz8Wrjncjsq347VgrGRh9FaKpkkBM5KM3cOhDoLRIcywuGj1JhX9Nmx97+JfA3e0C2btFq
FKf78QGliFeSEaZG3z06g/ZoP/rm4rhmwrAVwdlcA88g6NqAplMwS0+6PO2fllYHEMrrA1+ghlzc
Qcay7Mbfp7nZovsfArhGVsPT6gpzWgdJEIvlPY/u6ifo8gFJFa+Sjs0mO1Zndso3XKzbYZY3enrR
mXe7RJD2E0UA/2pi739BMSghoJ9tLxGf8vrDpVZB6SAWD4XeZuxpA/zr+QDE9PcvtI99IgTCHsrr
QVqTJJ2dbTteqn2VyVNIep4fvlnafFu+abTDfOcCJg==
=EjON
-----END PGP SIGNATURE-----

--dDWfXdCtDRarrdxRMw92aTNO7tuwzdDiJ--


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 07:40:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 07:40:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256300.439721 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7YFB-0007i8-Ii; Wed, 12 Jan 2022 07:40:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256300.439721; Wed, 12 Jan 2022 07:40:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7YFB-0007i1-Es; Wed, 12 Jan 2022 07:40:29 +0000
Received: by outflank-mailman (input) for mailman id 256300;
 Wed, 12 Jan 2022 07:40:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zSVc=R4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7YF9-0007fl-Oc
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 07:40:27 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e817d1c4-737a-11ec-81c1-a30af7de8005;
 Wed, 12 Jan 2022 08:40:26 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id A8BDB212CC;
 Wed, 12 Jan 2022 07:40: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 7AD0013B32;
 Wed, 12 Jan 2022 07:40:25 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id KlBlHOmF3mGpEQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 12 Jan 2022 07:40: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: e817d1c4-737a-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641973225; 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=cwYESox3BauhwWxUxfezZENxaOMczJo28EhkGWYVvbM=;
	b=erTftiXvNtDrlAFzmeJy56K2ksTN2xwTl/lTGtDizUG86wJpsJcOt+rVudjBjxvIjeKRQf
	YlYTcqZDNEsHA84aJWQ+n3AecWRrL3PQ2tBOP+2lMimU+8B8WmbYJGsk4CSzvNm5jqDZJ7
	iux4shhjWLxp/sl6O4ALJd5oOqQNWLo=
Subject: Re: [PATCH v2 00/18] mini-os: remove struct file dependency on config
To: Andrew Cooper <amc96@srcf.net>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20220111145817.22170-1-jgross@suse.com>
 <da22a929-0226-c3e5-2c04-92b412613219@srcf.net>
From: Juergen Gross <jgross@suse.com>
Message-ID: <857627d8-2b06-7c44-5dc7-ceb80042f1d2@suse.com>
Date: Wed, 12 Jan 2022 08:40:24 +0100
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: <da22a929-0226-c3e5-2c04-92b412613219@srcf.net>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="fpb3LSdG6SfWGRit2GgvT489RMhyDgViM"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--fpb3LSdG6SfWGRit2GgvT489RMhyDgViM
Content-Type: multipart/mixed; boundary="I0qGaXaJNaXua9S3wZpkzgVDCoJBu7iu1";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <amc96@srcf.net>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
Message-ID: <857627d8-2b06-7c44-5dc7-ceb80042f1d2@suse.com>
Subject: Re: [PATCH v2 00/18] mini-os: remove struct file dependency on config
References: <20220111145817.22170-1-jgross@suse.com>
 <da22a929-0226-c3e5-2c04-92b412613219@srcf.net>
In-Reply-To: <da22a929-0226-c3e5-2c04-92b412613219@srcf.net>

--I0qGaXaJNaXua9S3wZpkzgVDCoJBu7iu1
Content-Type: multipart/mixed;
 boundary="------------6BEA4F9CF6D5DCD00C40A89B"
Content-Language: en-US

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

On 11.01.22 20:42, Andrew Cooper wrote:
> On 11/01/2022 14:57, Juergen Gross wrote:
>> Today the layout of struct file is depending on the Mini-OS
>> configuration. This is especially bad as the layout is exported to
>> external users like the Xen libraries built for Mini-OS, and those
>> are being built only once for multiple stubdom configurations.
>>
>> Today there is no direct problem resulting from this, as the main
>> difference between struct file layouts is a large union containing all=

>> the device specific data for the different file types. The largest
>> union member is not configuration dependant, so the build is currently=

>> not broken.
>>
>> In order to avoid any future problems this patch series is eliminating=

>> the configuration dependency by replacing most of the device specific
>> union members by a single pointer.
>>
>> The two union members used by Xen libraries can't be replaced yet, as
>> those need to be switched to use the generic pointer first.
>>
>> In order to hide the Mini-OS internal implementation of the files
>> array, patches 15-17 are introducing a common framework to access a
>> struct file via its file descriptor, and to allocate new file types
>> dynamically instead of having them all pre-defined. The file type
>> specific operations are supplied via a function vector in order to
>> remove the dependency of lib/sys.c on all the various file types.
>=20
> Patches 1 thru 15 seem fine and ready to go.=C2=A0 Would it help to get=
 those
> committed now?

With the one remark you had for patch 15 I think patches 1-14 could go
in now.


Juergen

--------------6BEA4F9CF6D5DCD00C40A89B
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-----

--------------6BEA4F9CF6D5DCD00C40A89B--

--I0qGaXaJNaXua9S3wZpkzgVDCoJBu7iu1--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHehegFAwAAAAAACgkQsN6d1ii/Ey8C
Nwf9HIp/pNUN4EwBpjUa5f4SZ9sInJj6wlzf/aQq9EaaJzSGGlKwWNOxpTy/nSaOY2nIXLz5yE1f
lq/O/hxIm9/XhltXpkF6fAIAy0RTYW2N2bJIBUQEX8XsAc3c6MN/nf6KPFmc764brfKCGatrF5oU
RQdnUX9Xf7G2wmotVDrryLQhQI3jLQyN7tRpUPn8zOYWOZJMr2zmyNCvAbOzWS74oe+FLmvo3F/t
mVIAB6+YlgS5DuFO0FND/KY//AusQYEKAIt++2OVCeCGFbuxoElsG0N13DIJD9IVl/jsfu2tP8g3
gZU7xCJl1iRrMbjhSbWmW02zPYU8i77lAvZ8IvbHRA==
=DorM
-----END PGP SIGNATURE-----

--fpb3LSdG6SfWGRit2GgvT489RMhyDgViM--


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 07:42:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 07:42:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256305.439732 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7YH6-0008Nf-Tp; Wed, 12 Jan 2022 07:42:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256305.439732; Wed, 12 Jan 2022 07:42:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7YH6-0008NU-QI; Wed, 12 Jan 2022 07:42:28 +0000
Received: by outflank-mailman (input) for mailman id 256305;
 Wed, 12 Jan 2022 07:42:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zSVc=R4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7YH5-0008NM-VQ
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 07:42:27 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 303603ae-737b-11ec-9ce5-af14b9085ebd;
 Wed, 12 Jan 2022 08:42:27 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id C9FCE212CC;
 Wed, 12 Jan 2022 07:42: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 A4E3013B32;
 Wed, 12 Jan 2022 07:42:26 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id pitDJmKG3mFkEgAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 12 Jan 2022 07:42:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 303603ae-737b-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641973346; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=Lhwzt5otckl7vDkGGOoFlqrpCYe20IaC4ib5lp9e118=;
	b=NI3B51pdp4/isiYBo7JQQKD1KMiJELK9nHoKYHEJLLDCdZRkM6wfz31IfPpvCJ5Nr19ZKW
	B8qkGg9WMb2ctymt0SR2OSIQXl0VAh1oXtyacmlAXZY5sEV3A2MmiiWSH+xxo8ngCdX/gF
	Wygx3N5Ssd9PigYDQWbhOUVUJQNmAao=
Subject: Re: [PATCH v2 17/18] mini-os: use function vectors instead of switch
 for file operations
To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
 minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org, wl@xen.org
References: <20220111145817.22170-1-jgross@suse.com>
 <20220111145817.22170-18-jgross@suse.com>
 <20220111200547.wb6mwl6zxtf3y54c@begin>
From: Juergen Gross <jgross@suse.com>
Message-ID: <e93051ed-dfc2-bae3-270d-1850f8fd9074@suse.com>
Date: Wed, 12 Jan 2022 08:42:26 +0100
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: <20220111200547.wb6mwl6zxtf3y54c@begin>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="A6o6NmLF78wDvfSiwCfuJLov5Bhz2WBjE"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--A6o6NmLF78wDvfSiwCfuJLov5Bhz2WBjE
Content-Type: multipart/mixed; boundary="5cUy2A9YAcfi6KNPlgKAXodywIt6IOPMH";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
 minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org, wl@xen.org
Message-ID: <e93051ed-dfc2-bae3-270d-1850f8fd9074@suse.com>
Subject: Re: [PATCH v2 17/18] mini-os: use function vectors instead of switch
 for file operations
References: <20220111145817.22170-1-jgross@suse.com>
 <20220111145817.22170-18-jgross@suse.com>
 <20220111200547.wb6mwl6zxtf3y54c@begin>
In-Reply-To: <20220111200547.wb6mwl6zxtf3y54c@begin>

--5cUy2A9YAcfi6KNPlgKAXodywIt6IOPMH
Content-Type: multipart/mixed;
 boundary="------------D505CF4405CA2D2A91045E4E"
Content-Language: en-US

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

On 11.01.22 21:05, Samuel Thibault wrote:
> Juergen Gross, le mar. 11 janv. 2022 15:58:16 +0100, a ecrit:
>> @@ -370,8 +413,45 @@ int write(int fd, const void *buf, size_t nbytes)=

>>       return -1;
>>   }
>>  =20
>> +off_t lseek_default(int fd, off_t offset, int whence)
>> +{
>> +    switch ( whence )
>> +    {
>=20
> Is there a reason for making this one a separate function, unlike other=
s
> for which you kept the code in the main function?

Yes, it will be used as .lseek callback in some cases.


Juergen

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

--------------D505CF4405CA2D2A91045E4E--

--5cUy2A9YAcfi6KNPlgKAXodywIt6IOPMH--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHehmIFAwAAAAAACgkQsN6d1ii/Ey9j
Bgf9HqL5KpUDdAgFypD0ya7nkXH9w4WqGm7iVRQobSKpm1K3gCRhv/VDaqq6klUN4tlvNlZoeBap
1w73rPWXOUB4gYq1KnuTkgfnaC7X1B2Ryf2HbWmYgRnpmnVLt0BfkfMEyFVDDRnh7mww+ZhBBkK4
5uo9aQbpPm6Q+neMir3bWc4eBdFSelqMOz6QAeAoabpGapWVTkCI1qmQbXVzbvRRvXgxwNE1jweN
f8HFcEZNQi7+ChawfcFmTRW4hMEAiE0D+geYhlmnVllbOCcKOYUdqMF9nL5fwbRdOgNRN2Av0yov
WzXoWk526ZO7S1xUJENCxRoIr+wqQbQ1nLS9bCTGlw==
=ZkMQ
-----END PGP SIGNATURE-----

--A6o6NmLF78wDvfSiwCfuJLov5Bhz2WBjE--


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 07:42:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 07:42:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256308.439747 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7YHZ-0000YB-7y; Wed, 12 Jan 2022 07:42:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256308.439747; Wed, 12 Jan 2022 07:42:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7YHZ-0000Y4-4G; Wed, 12 Jan 2022 07:42:57 +0000
Received: by outflank-mailman (input) for mailman id 256308;
 Wed, 12 Jan 2022 07:42:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=no1k=R4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n7YHX-0008NM-Lv
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 07:42:55 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 407e31d9-737b-11ec-9ce5-af14b9085ebd;
 Wed, 12 Jan 2022 08:42:54 +0100 (CET)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2056.outbound.protection.outlook.com [104.47.6.56]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-25-IXo6cMubNAGRPk5U6DWr5w-1; Wed, 12 Jan 2022 08:42:52 +0100
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.4867.11; Wed, 12 Jan
 2022 07:42:51 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Wed, 12 Jan 2022
 07:42:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 407e31d9-737b-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641973374;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=DQavk4R5pwGLOD/MHCNfGFNFfFEZUuoJgPtN59NkesY=;
	b=k9xLPG0LBkPqsKlPGmH4+Lz8laZcdgN+nrRcTz3WOsnv6EWq46PLx0DxSNCecb1BRNEYD8
	MD34GToeMguHI3tUGArPEoIxleQURdffsXi0o6yyJlEnCjx5ShspQbCCynOMAYXKwO8RCP
	BZPw7PbJOHgL5FVJqzNq090ZpDwytj8=
X-MC-Unique: IXo6cMubNAGRPk5U6DWr5w-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C6AW7NV0ry5DU1+WiTidq+RdFvL5xgat/4WLl1iHQ7YwuukTw033mIT49A0ii/1mFJg146+wGeXDakXN+JqunHvqnYcoVEmb97vDd0+eXts/yyEaqzKj+xqOsQk457f4A0o3T90wGCWMiDjSSqa83qGX0YYobBMIBb3Tfr3cUm/QDx3d91G+Ktu6Zg4+NOPTTwKWV94gxrH3gb9qQR4dNtB3rq6B2JM/vItec8EPhVUsccJhtsM/OhvMd15YQtfJo38UjlRvRKlVmWH6AUG2PwEIjHbJx7T3cuayHv8gwhWx+MDDr4KjqMWH8jjbUNgVwZvkGb7GxvWzYQHQrk2Dfw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DQavk4R5pwGLOD/MHCNfGFNFfFEZUuoJgPtN59NkesY=;
 b=YTzm4OWEwYTE1AcRHgTTX2zczCs2sB3t4Ed5IHh7xESXLGX5Kq7k6+XTD5rKx6BYao0Tk4fpSNCBoC0IgQoQzJSGU4XJFDD3WdjTpsWeEULvPAb5pavt7xLNwV3cNrGmZzbi5ffAEGgA0qn03jy0XUsmMBvNKzVfaemLw5JU2I0pG7jt48u49dBbEXQG3sCdoRU5QyzrR/ops9pUCewS0JXnKJSVLjoO7FzpKP39Xy8O4uNmzpQDCrwQTJJFPcOAjtYrvUtvzKbfoD7n60Ae3fJFQQodnVr9PU3aLJdRPJk0+tN7QplYDm7s7i6ACXkD/N19i/3du60iKyn2UQ6s8g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7f79400c-6498-331f-8f5a-787eca0fb76e@suse.com>
Date: Wed, 12 Jan 2022 08:42:49 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [XEN PATCH 2/7] xen: introduce _evtchn_alloc_unbound
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Luca Miccio <lucmiccio@gmail.com>, julien@xen.org,
 Bertrand.Marquis@arm.com, Stefano Stabellini
 <stefano.stabellini@xilinx.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop>
 <20220108004912.3820176-2-sstabellini@kernel.org>
 <93887812-b9c1-af41-85ef-208cc114a1fc@suse.com>
 <alpine.DEB.2.22.394.2201111432120.19362@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2201111432120.19362@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR01CA0050.eurprd01.prod.exchangelabs.com
 (2603:10a6:20b:e0::27) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3eba85b1-7158-43ea-0685-08d9d59f2323
X-MS-TrafficTypeDiagnostic: VI1PR04MB5326:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB532630C317410ED95BCD0CE6B3529@VI1PR04MB5326.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:
	8c/FO5hpdYhYbQRltkR6HOvIqCnnUU1SSbtu/YYYd/DjqR/tSrpyt+Ccf/qC83NgfWg08qLxXuTTXm76p/EeCIQlz3o/PicRXSbZ+2fjGDtOAYBmuykf+gg9JUM3VBY2Qv5gw8BG0/nNnd5s4VpJ5zs9ougIXA/EBRhcZeUegbCuEG/NsES8QoGZzmpCDOj/Xb+x0vrS9oj7ltzZkPqBuwSrNT+ZZOFupmfVvLAoT4/GDTsKqddf54th4xtdjwqiKKZ0ETy9d5VsQSPGnVXIWp2frgpa/nDSvRCO/pHJYgd1Yahj4BVrv7Ic4+C64gRd9wb300osDznskJOEM6YjYeSnhL+Fyxfh7FAdzyv5IqsFlKEGdBHjEyE2O89xbihkdKq5TSq37WMy+AF7l/819iJYTWJ2GkUxMo3dFYrdJySjzpKoSxaGEOl4kq5LDYKmpfNEtFYgEcExQryQB7Snvk8Kz0sHmdxfNaaDEvBZ/87mDJLojsu8fVykOs8SUAU+lGJ5DWsmj53WZvSmGAE5pW5YH3JE3bEnrrMq+3bId4FYB+Ysp468Er0C8knYEgso4iuqiYN1gOUHOxGOH7SyBm7HSDVkk2krPprzIqMk+qVKzP/AZ/KgvfaMiZ20c+v67QlH2ALh0lcTqDXeh70SO44GgmOapFFfFpc8CPTnXQeMBgVVDnBO7Py/iSXK8RByW1qcVSR75vg5ywIw2ORVpU1y7tatLuAw7/haMD/kS2saaUTqOfK4G+mWYM2QeEgT
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)(6506007)(38100700002)(31686004)(26005)(6486002)(53546011)(5660300002)(54906003)(36756003)(8936002)(66556008)(2906002)(66946007)(508600001)(8676002)(6916009)(83380400001)(316002)(7416002)(2616005)(4326008)(31696002)(86362001)(66476007)(6512007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VWVUTmgxV29SSlIwcWZBUGNVWEVTY3IvN3JaZk4xQTFLbHluVm1PUXA0VHFl?=
 =?utf-8?B?d0NGemlUZzE0MC9CaFR5RTVKa09IZE44U2NpV0x1dDhDMjFqSGY0S1cvOWNa?=
 =?utf-8?B?SWpBN1VtZUtvVzJsYkY0YlByS2podTJwTmNaYTRkenpwNTRPTis3NmhIaVRz?=
 =?utf-8?B?MFp4aTAwN3llaVVQbUtodFhsdHV1NVlrenFHU3p0bVBIRHd2L3lQWDB6bnc1?=
 =?utf-8?B?M2xrako1SWk1Q3htc0o1MHloY3V5TDRXNjgybHZ2TGhOU1E0L05zU1VlcVlv?=
 =?utf-8?B?UVE2Ny9FbXdQV2tZQkRtLzYvMWtXa1FycUQ0VzA5OS96Z0VUbUlmdml1NDJJ?=
 =?utf-8?B?c1lNckFKbXFaMmpUSkJsd1VEQ0pDd01xZFZYbDZUN3NSMnRITzByTnUyUEJI?=
 =?utf-8?B?MTczcWRLcXRwOFV2dWdxb1UyZGd0Yis1MW44S2pYeWFXd1IzN1RLN0dtMXZW?=
 =?utf-8?B?TFc0RU1pcWx1UkFqL2lxb0FrcTE5OXlTY0V0OHpodTUwTmNCaDdsdTVROGRO?=
 =?utf-8?B?YWhCaGtFcWpONTFaWGQ3dlNZY2lYLzNEOEdPeXN3MmM3bzYva08vZFNKRCs3?=
 =?utf-8?B?aDNrVHRVd1AzMXBHcHYvNUF3dG8xQkIzeGRoeVhZVmp0UzFiMHIrdmtjUC9u?=
 =?utf-8?B?MzRiN0pzZFBubXQrUEZoNFhacjd3NUNxMXNkM2RzL0pDTWRuQTY2eEhBWnpv?=
 =?utf-8?B?b3Y1WVM0d2dQVHlTQWRqVitkVjdIcmZ5cTdLTXVNbUtRK0VCbHhETmc3S2xv?=
 =?utf-8?B?dVFQOEdEM3drTWtTUDFIR3A4L0QvblBqazlTRVd6ZEVXQjVhdHlZYnlmb0pG?=
 =?utf-8?B?c29Rc0xNcjhYMnowT1ZtUVA5aVFaSWhuMmxMQVhmWEdqZWlzRklMY3NsUTl0?=
 =?utf-8?B?S1M0b3huN2RiMUptM0I3OFlPOUY0Nm1LOXQzcVVBcGw2SmRKKzhzcy95aTds?=
 =?utf-8?B?QXl5UkEwb0RLTVBQSmMyTGpuNVdpY0xLaUhhM1VDb0FpbVM0cFo0K0ZKS3No?=
 =?utf-8?B?R212VlBFeU1hMjAwNGRLVkVRVy9CVHRUWm5aZkxJakxsNktNQ2l2YVMvODBj?=
 =?utf-8?B?SlJTU2NmQXNvQ2ppbmJyT2dhN3htN0w2YWx6cWhuZmpEWU5yTDRaS2RVTGZB?=
 =?utf-8?B?SmJYTGtqemR3VS9WTmtLSjR2RGo0ZVNWdGZZaGZYRUkycXRLb3B1ZTFibGlm?=
 =?utf-8?B?SGloTURHaGZJcVltVlU4U2FkbGdGbHZndnFSM0RYRWQ2YUxTSHJOWFdRWENS?=
 =?utf-8?B?S1I3eFZ6WncxTU1IMVRVL1FHbmdqWUN2dCsvYWxQbVlxa3NvYy81UXZIMFQz?=
 =?utf-8?B?dGo0ODFZT09LcDBjMkdlTTFsekhmYUZVWE9hTHNPUWduTVNwYnczWGIxVkZq?=
 =?utf-8?B?bitiREJZemo2QUhCYjNRb3JTL2FQYlJqdjFudVdPamM3MXBHdVRScHRXM3RM?=
 =?utf-8?B?cHFOOFRGNVpsR2NEQ2toVk8vM2UrZnQyTS9NSmphempYWkEwbGpQQWtaZUtr?=
 =?utf-8?B?UEhtcVhFeWZCdzdQemFjeit6eXAwVUZoL2FFbVROa0xyTC9LdC9zb2VnZExM?=
 =?utf-8?B?UU9XQkR2V1ViSmVPdUx2djJ3NUhSOEEwbVowR3UyRHBjTkpiZDFOOFVJSGRx?=
 =?utf-8?B?TlVXMDJoQ1k2UzZyZUd5L09sY09BVGw5T3huNUEyYUJZUEs5ZVBRemZCcWRU?=
 =?utf-8?B?eWpPRFlzSUJucFN6T1RRZVFBYVVQd05iamM3QkR4bHZDL09Id29RWDNVRU55?=
 =?utf-8?B?c1FWaFBHcVptd2VVdDBFb1hRT1pGVlNxK0tKUHZoZFZ0Q3NSWER3bkFVTU9O?=
 =?utf-8?B?K0MzTnpLTjRHK1YyUitVellxNG5GMFB1VUMvREg4YXN1cUZ6QW1YVTVpSEhs?=
 =?utf-8?B?Y21JelZWUEVaT1JJTnJTR1FlUjM4OGVXT3dSSlVSdGttaU1Jb2t6VVJHSVZ4?=
 =?utf-8?B?SjhIREtDK3laSHJtVnJITHRrZ0FWVHh6MWpSUHBzY1RCNmF3YnNIOTkrQ0U0?=
 =?utf-8?B?L2MrOWEwQ1owUmJPTUNlVC9OV0s0cUhuK2FlZTd3STk5TFQwUThITk04YzMz?=
 =?utf-8?B?UFNpMXRXbnFkVURabi9vZ1BWdk9MZGhmYlIxNHF3TnFRVktSL1JKWkI5WXlH?=
 =?utf-8?B?b01zZ2g3NWthL3JXVW92cWYraVVFaktPUFppWUZBSEZxTThRNWFBVTZzb0U3?=
 =?utf-8?Q?NoID19/7lmRKxTbCmTjf8U4=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3eba85b1-7158-43ea-0685-08d9d59f2323
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2022 07:42:51.7039
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: QedObJsoo6li43/LiSK+hk5v/kbDxUEvQb5oHiaxeqqczNtADcBm3Cmpg1Y9szjhGEBdf3ppgJXj0KRdNarOyQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5326

On 11.01.2022 23:49, Stefano Stabellini wrote:
> On Mon, 10 Jan 2022, Jan Beulich wrote:
>> On 08.01.2022 01:49, Stefano Stabellini wrote:
>>> @@ -284,11 +285,32 @@ void evtchn_free(struct domain *d, struct evtchn *chn)
>>>      xsm_evtchn_close_post(chn);
>>>  }
>>>  
>>> -static int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
>>> +struct evtchn *_evtchn_alloc_unbound(struct domain *d, domid_t remote_dom)
>>
>> Function names want to be the other way around, to be in line with
>> naming rules of the C spec: The static function may be underscore-
>> prefixed, while the non-static one may not.
> 
> OK
> 
> 
>>>  {
>>>      struct evtchn *chn;
>>> +    int port;
>>> +
>>> +    if ( (port = get_free_port(d)) < 0 )
>>> +        return ERR_PTR(port);
>>> +    chn = evtchn_from_port(d, port);
>>> +
>>> +    evtchn_write_lock(chn);
>>> +
>>> +    chn->state = ECS_UNBOUND;
>>> +    if ( (chn->u.unbound.remote_domid = remote_dom) == DOMID_SELF )
>>> +        chn->u.unbound.remote_domid = current->domain->domain_id;
>>
>> I think the resolving of DOMID_SELF should remain in the caller, as I'm
>> pretty sure your planned new user(s) can't sensibly pass that value.
> 
> Yep, no problem
> 
> 
>>> +    evtchn_port_init(d, chn);
>>> +
>>> +    evtchn_write_unlock(chn);
>>> +
>>> +    return chn;
>>> +}
>>> +
>>> +static int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
>>> +{
>>> +    struct evtchn *chn = NULL;
>>
>> I don't think the initializer is needed.
> 
> OK
> 
> 
>>> @@ -297,27 +319,22 @@ static int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
>>>  
>>>      spin_lock(&d->event_lock);
>>>  
>>> -    if ( (port = get_free_port(d)) < 0 )
>>> -        ERROR_EXIT_DOM(port, d);
>>> -    chn = evtchn_from_port(d, port);
>>> +    chn = _evtchn_alloc_unbound(d, alloc->remote_dom);
>>> +    if ( IS_ERR(chn) )
>>> +    {
>>> +        rc = PTR_ERR(chn);
>>> +        ERROR_EXIT_DOM(rc, d);
>>> +    }
>>>  
>>>      rc = xsm_evtchn_unbound(XSM_TARGET, d, chn, alloc->remote_dom);
>>>      if ( rc )
>>>          goto out;
>>>  
>>> -    evtchn_write_lock(chn);
>>> -
>>> -    chn->state = ECS_UNBOUND;
>>
>> This cannot be pulled ahead of the XSM check (or in general anything
>> potentially resulting in an error), as check_free_port() relies on
>> ->state remaining ECS_FREE until it is known that the calling function
>> can't fail anymore.
> 
> OK, I didn't realize. Unfortunately it means we have to move setting
> chn->state = ECS_UNBOUND to the caller.
> 
> 
>>> -    if ( (chn->u.unbound.remote_domid = alloc->remote_dom) == DOMID_SELF )
>>> -        chn->u.unbound.remote_domid = current->domain->domain_id;
>>> -    evtchn_port_init(d, chn);
>>> -
>>> -    evtchn_write_unlock(chn);
>>> -
>>> -    alloc->port = port;
>>> +    alloc->port = chn->port;
>>>  
>>>   out:
>>> -    check_free_port(d, port);
>>> +    if ( chn != NULL )
>>> +        check_free_port(d, chn->port);
>>
>> Without the initializer above it'll then be more obvious that the
>> condition here needs to be !IS_ERR(chn).
>>
>> Also (nit) please prefer the shorter "if ( chn )".
>>
>> Overall I wonder in how far it would be possible to instead re-use PV
>> shim's "backdoor" into port allocation: evtchn_allocate_port() was
>> specifically made available for it, iirc.
> 
> I don't see an obvious way to do it. These are the 4 things we need to
> do:
> 
> 1) call get_free_port/evtchn_allocate_port
> 2) set state = ECS_UNBOUND
> 3) set remote_domid
> 4) call evtchn_port_init
> 
> It doesn't look like we could enhance evtchn_allocate_port to do 2) and
> 3). And probably even 4) couldn't be added to evtchn_allocate_port.
> 
> So basically it is like calling get_free_port() and do 2,3,4 ourselves
> from the caller in xen/arch/arm/domain_build.c. But that might be a good
> idea actually. Maybe we should leave evtchn_alloc_unbound unmodified and
> instead open-code what we need to do in xen/arch/arm/domain_build.c.

Right, that's what I was trying to hint at as an alternative.

Jan

> This is how it would look like as a new function in
> xen/arch/arm/domain_build.c:
> 
> static int alloc_xenstore_evtchn(struct domain *d)
> {
>     struct evtchn *chn;
>     int port;
> 
>     if ( (port = get_free_port(d)) < 0 )
>         return ERR_PTR(port);
>     chn = evtchn_from_port(d, port);
> 
>     chn->state = ECS_UNBOUND;
>     chn->u.unbound.remote_domid = hardware_domain->domain_id;
>     evtchn_port_init(d, chn);
> 
>     return chn->port;
> }
> 
> What do you think? It might not be worth introducing
> evtchn_alloc_unbound / _evtchn_alloc_unbound for this?
> 
> I am happy to follow what you think is best.
> 
> Cheers,
> 
> Stefano
> 



From xen-devel-bounces@lists.xenproject.org Wed Jan 12 07:44:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 07:44:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256315.439761 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7YIw-0001Fa-Rz; Wed, 12 Jan 2022 07:44:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256315.439761; Wed, 12 Jan 2022 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 1n7YIw-0001FJ-MV; Wed, 12 Jan 2022 07:44:22 +0000
Received: by outflank-mailman (input) for mailman id 256315;
 Wed, 12 Jan 2022 07:44:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zSVc=R4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7YIv-0001Ep-LF
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 07:44:21 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 739110f4-737b-11ec-81c1-a30af7de8005;
 Wed, 12 Jan 2022 08:44:20 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id BB6F8212CC;
 Wed, 12 Jan 2022 07:44:19 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 94FC713B3D;
 Wed, 12 Jan 2022 07:44:19 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id hawzI9OG3mE0EwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 12 Jan 2022 07: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: 739110f4-737b-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641973459; 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=vOuyP8e33SO4XXRgY7JbdG0G60n/VslLgbJIHFM8vQM=;
	b=hxt94QoujoIWIOKiCdzobS6YvWsZLsp/S3Jo27NLYFk9WwJG/iaPhc1vHIPcb0gmUF0M76
	iDTRk7F0HlWzG56wl0C8nwVdiN3baG8y9fb4jqb6Hhle8e3Mwg0UfHfW3e4yGUT5PONorc
	f0ZTnmJ2X0UKP3V6/4F2R1Ezfl9i5mA=
Subject: Re: [PATCH v2 02/12] mini-os: remove gnttab specific member from
 struct file
To: Andrew Cooper <amc96@srcf.net>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-3-jgross@suse.com>
 <d5ae3033-86c5-c2a4-73f8-6f5a4e1e8d26@srcf.net>
From: Juergen Gross <jgross@suse.com>
Message-ID: <d7fdedb5-adb7-6de1-628e-3b34d3462641@suse.com>
Date: Wed, 12 Jan 2022 08:44:18 +0100
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: <d5ae3033-86c5-c2a4-73f8-6f5a4e1e8d26@srcf.net>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="PklzcbCj20tiLCYvFzPn4oR2MP5Siimcy"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--PklzcbCj20tiLCYvFzPn4oR2MP5Siimcy
Content-Type: multipart/mixed; boundary="kHqy45pNyVJSePGoM7uk3QApciNmeNuFm";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <amc96@srcf.net>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
Message-ID: <d7fdedb5-adb7-6de1-628e-3b34d3462641@suse.com>
Subject: Re: [PATCH v2 02/12] mini-os: remove gnttab specific member from
 struct file
References: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-3-jgross@suse.com>
 <d5ae3033-86c5-c2a4-73f8-6f5a4e1e8d26@srcf.net>
In-Reply-To: <d5ae3033-86c5-c2a4-73f8-6f5a4e1e8d26@srcf.net>

--kHqy45pNyVJSePGoM7uk3QApciNmeNuFm
Content-Type: multipart/mixed;
 boundary="------------4E935DA7AD3555AE53E622F8"
Content-Language: en-US

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

On 11.01.22 21:12, Andrew Cooper wrote:
> On 11/01/2022 15:12, Juergen Gross wrote:
>> The event channel specific union member in struct file is no longer
>=20
> Too much copy&paste from the previous patch?

Seems so, yes. :-)


Juergen

--------------4E935DA7AD3555AE53E622F8
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-----

--------------4E935DA7AD3555AE53E622F8--

--kHqy45pNyVJSePGoM7uk3QApciNmeNuFm--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHehtIFAwAAAAAACgkQsN6d1ii/Ey8G
kwf/embJlXd8gwMhOyBp0ffRq44LAAVoGIvZGkHeciRLjBTvkDy2gbXCwQZ3W6CQfYPgKK9FdZrN
FnTqCd6Ga6gfX5nUlnmOq5gdZEVgV4DVw+dv3GA7zh23lLUjQ95y1UNqmY5TXqEsDW1bLWHAnszc
htNlSxQ7n4Y7jBQDhUKlc+AGGkD2hvzoQOosBI5YF/E2HJBCY0+orCSr8DVYPd0LvFW0yIx7odLW
Ji1vzBTfXMucRYh4EnNvgAs+m6iCyKUHFrSdks9nK7d1Fcqn47eGA7nV9y6ygYcU2PDxrfcwIw2T
kRj2sYA1XpvZ6300OBiLFtOEPVfZzVSeEvIyeVfbHg==
=m1fy
-----END PGP SIGNATURE-----

--PklzcbCj20tiLCYvFzPn4oR2MP5Siimcy--


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 07:52:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 07:52:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256322.439777 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7YQW-0002mw-OG; Wed, 12 Jan 2022 07:52:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256322.439777; Wed, 12 Jan 2022 07:52:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7YQW-0002mi-JA; Wed, 12 Jan 2022 07:52:12 +0000
Received: by outflank-mailman (input) for mailman id 256322;
 Wed, 12 Jan 2022 07:52:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zSVc=R4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7YQV-0002mG-1U
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 07:52:11 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8b4994dc-737c-11ec-9ce5-af14b9085ebd;
 Wed, 12 Jan 2022 08:52:09 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id F2FC721117;
 Wed, 12 Jan 2022 07:52:08 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id CDBEA13B2D;
 Wed, 12 Jan 2022 07:52:08 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id jfUJMaiI3mHOFgAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 12 Jan 2022 07:52:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8b4994dc-737c-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641973928; 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=hk2t7kPAvY+3dZVTknNcVTsuYNlO1nOhXZN4p3ayKEI=;
	b=IBSbMiTL1patSiAv1lnx4JTHoe4Y5gBeT0tGQ8hbU6gPb46Sydx+WWmilXrTLt06FrDk43
	7EvBl2t0pB/EzgkRf5MYAEAjIqVD1VQMtF3TSReCsSMC5FHiFSyuqullWYIWJgTbFYNy1K
	GZKBzdK9Q6lElcoVekr5XUYPJKiKul8=
To: Andrew Cooper <amc96@srcf.net>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-4-jgross@suse.com>
 <a41f6688-d14a-dad5-1625-1b98f793062e@srcf.net>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH v2 03/12] mini-os: use alloc_file_type() and
 get_file_from_fd() in xs
Message-ID: <501262b0-510b-3add-35a6-2f2ad7452518@suse.com>
Date: Wed, 12 Jan 2022 08:52:08 +0100
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: <a41f6688-d14a-dad5-1625-1b98f793062e@srcf.net>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="A1HatdtAPfUZkXEEf8FF0CE6dXteoimh5"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--A1HatdtAPfUZkXEEf8FF0CE6dXteoimh5
Content-Type: multipart/mixed; boundary="iNLDoXZRwGxtj73uUSVYA0Sh38JtZkOCh";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <amc96@srcf.net>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
Message-ID: <501262b0-510b-3add-35a6-2f2ad7452518@suse.com>
Subject: Re: [PATCH v2 03/12] mini-os: use alloc_file_type() and
 get_file_from_fd() in xs
References: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-4-jgross@suse.com>
 <a41f6688-d14a-dad5-1625-1b98f793062e@srcf.net>
In-Reply-To: <a41f6688-d14a-dad5-1625-1b98f793062e@srcf.net>

--iNLDoXZRwGxtj73uUSVYA0Sh38JtZkOCh
Content-Type: multipart/mixed;
 boundary="------------7F36A42CF615C1CF31D88612"
Content-Language: en-US

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

On 11.01.22 21:21, Andrew Cooper wrote:
> On 11/01/2022 15:12, Juergen Gross wrote:
>>   void xs_daemon_close(struct xs_handle *h)
>>   {
>> -    int fd =3D _xs_fileno(h);
>> -    struct xenbus_event *event, *next;
>> -    for (event =3D files[fd].dev; event; event =3D next)
>> -    {
>> -        next =3D event->next;
>> -        free(event);
>> -    }
>> +    close(_xs_fileno(h));
>>   }
>=20
> You've deleted the sole caller of xs_daemon_close() from the main
> close() function.
>=20
> That said, I'm very confused, because nothing in minios declares it.
> The declaration appears to come from xenstore.h, which is clearly
> included unconditionally (when it ought not to be), but libxenstore als=
o
> defines the function too...
I already thought of restructuring this mess.

lib/xs.c is the Mini-OS variant of libxenstore, and as such it shares
quite some code with libxenstore.

So the correct thing to do would be to split libxenstore into a common
part and a posix/Mini-OS part, drop lib/xs.c, and use the library in
Mini-OS instead.

But this should be done in a separate series.


Juergen

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

--------------7F36A42CF615C1CF31D88612--

--iNLDoXZRwGxtj73uUSVYA0Sh38JtZkOCh--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHeiKgFAwAAAAAACgkQsN6d1ii/Ey/3
3Af/eV+U2Ic+PhDqt8qqfY9qumxDFU1NzSE9/DOFm4MIeaRaKSSun8+3g4gbQpB5jXZ3NM6UjS9T
31KnNjo3WCOJwBM0XsQj97gh19EnVfcBjYOK1OPVlIIXOZ4qc6VbXFgyFET0msc08HS4PeulYTev
7sWZ0Mk/QsH9V/nNXsMyZCVnCEZshjmCywrCUBn5I9e7qXM/TPEGGNTufnx+lABLbx0e3gu/2vvc
gTGfmgqpmk4lCTIQLlCm1VEDUjrFBWGEQ0DHdQlr8E9grA9/PCRQrij6WjEala0CmCcdVZaLEyh9
rXSFzVXKzP/dReSPROlmvcva9okD/6aAUKzhs8nZKA==
=GjuC
-----END PGP SIGNATURE-----

--A1HatdtAPfUZkXEEf8FF0CE6dXteoimh5--


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 07:53:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 07:53:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256326.439792 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7YRJ-0003QH-3G; Wed, 12 Jan 2022 07:53:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256326.439792; Wed, 12 Jan 2022 07: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 1n7YRI-0003Q9-VD; Wed, 12 Jan 2022 07:53:00 +0000
Received: by outflank-mailman (input) for mailman id 256326;
 Wed, 12 Jan 2022 07:53:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zSVc=R4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7YRH-0003Lf-S5
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 07:52:59 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a85277c8-737c-11ec-9ce5-af14b9085ebd;
 Wed, 12 Jan 2022 08:52:58 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id C9B11212FE;
 Wed, 12 Jan 2022 07:52:57 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id A86D813B2D;
 Wed, 12 Jan 2022 07:52:57 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id sOvHJ9mI3mElFwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 12 Jan 2022 07:52: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: a85277c8-737c-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641973977; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=NZX6Xd6yu1NNNwZyazJAe/VacMcaoafAoJclWDN8iv4=;
	b=PaXBMHiHyy4ntPGvtleZVqWeg+05BS7nOJPIB9nGKKu2f9N3T+BfE9LYjEU0Si+TCGn/xf
	VvYy/ARo9oiR7Ro2Fzah4WDKjIDj2OJ0B3t+8mz+YRd1J3vmGp6+Ui+9foSttB17PLn56+
	llWz0t3zFA+ZKaxYlhahI7sAVo5orRA=
Subject: Re: [PATCH v2 08/12] mini-os: use alloc_file_type() and
 get_file_from_fd() in fbfront
To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
 minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org, wl@xen.org
References: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-9-jgross@suse.com>
 <20220111202605.sihxjumqcxbfthxf@begin>
From: Juergen Gross <jgross@suse.com>
Message-ID: <2b789a4a-e1d3-c780-124a-d2447458fbcd@suse.com>
Date: Wed, 12 Jan 2022 08:52:56 +0100
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: <20220111202605.sihxjumqcxbfthxf@begin>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="rStnHN7CwdG9ixYtULxzrWAtschrgHL6K"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--rStnHN7CwdG9ixYtULxzrWAtschrgHL6K
Content-Type: multipart/mixed; boundary="V4pfDPvid7wiQddkXoxyTqv30zHstiMeo";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
 minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org, wl@xen.org
Message-ID: <2b789a4a-e1d3-c780-124a-d2447458fbcd@suse.com>
Subject: Re: [PATCH v2 08/12] mini-os: use alloc_file_type() and
 get_file_from_fd() in fbfront
References: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-9-jgross@suse.com>
 <20220111202605.sihxjumqcxbfthxf@begin>
In-Reply-To: <20220111202605.sihxjumqcxbfthxf@begin>

--V4pfDPvid7wiQddkXoxyTqv30zHstiMeo
Content-Type: multipart/mixed;
 boundary="------------F767B1E7B86FFDB804FF459C"
Content-Language: en-US

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

On 11.01.22 21:26, Samuel Thibault wrote:
> Juergen Gross, le mar. 11 janv. 2022 16:12:11 +0100, a ecrit:
>> +static struct file_ops fb_ops =3D {
>> +    .name =3D ".fb",
>=20
> Why a dot?

I had spare one lying around... ;-)

Thanks for noticing!


Juergen

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

--------------F767B1E7B86FFDB804FF459C--

--V4pfDPvid7wiQddkXoxyTqv30zHstiMeo--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHeiNgFAwAAAAAACgkQsN6d1ii/Ey9a
2QgAmOoXhIemkenfuCx2REmN+i6S97/Z7Q1ZnFZAO3AMQT9ehlMpwSn2KQXsXWs9UZiZCb4v1vP6
4oHGNSHZQAPS/JYDDGthopPF5QlKljXb4qRypNcfzk4aSrGPTVzu+MlfpNle7rDcPHLV2UitAwf8
A2bgILSES6p1WHs6/I0QMdVHG6hAZKWmaAZHu21h4/+rF7tDZdYf4TA+n1/ue4awLo6foauQJAq6
KEJKZaCyI1bbZoJNs/LqnHr/EHOMpRqRTO2KoMoFBCFMay9JcPCvBIhiR1/UAHo/POqxmbVxz8Yf
8N09aIfq34Z1x8BVJAKmF0vmOEnzLXWM9WAwqc1XLA==
=R2zL
-----END PGP SIGNATURE-----

--rStnHN7CwdG9ixYtULxzrWAtschrgHL6K--


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 07:54:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 07:54:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256332.439807 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7YT2-00046R-IH; Wed, 12 Jan 2022 07:54:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256332.439807; Wed, 12 Jan 2022 07: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 1n7YT2-000466-Dz; Wed, 12 Jan 2022 07:54:48 +0000
Received: by outflank-mailman (input) for mailman id 256332;
 Wed, 12 Jan 2022 07:54:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zSVc=R4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7YT1-00045Y-EC
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 07:54:47 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e85964f5-737c-11ec-9ce5-af14b9085ebd;
 Wed, 12 Jan 2022 08:54:45 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 3EAE01F3BB;
 Wed, 12 Jan 2022 07:54:45 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 0FED613B2D;
 Wed, 12 Jan 2022 07:54:45 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id G62NAkWJ3mHyFwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 12 Jan 2022 07:54:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e85964f5-737c-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641974085; 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=SRiBEagExziOY6AGzH3ykhtfCA+oYAzxbQdZEWcOKgk=;
	b=tQpqo6oaBI0tWjQSbRb6O7yp2JkrNMe4xIIjE2PMD0SLSvrZ6HTD4XPd82AUVNMsYrZyWr
	a+eoevh/XuSETM+HY0xNJFU4qOm1JYplEm/EM6q11/a+sDTn+nkUKtPQFynXP7+93LgeOV
	re8OdX8SU9P0rVrZBClA89qGyKA/JdE=
Subject: Re: [PATCH v2 04/12] mini-os: use alloc_file_type() and
 get_file_from_fd() in tpm_tis
To: Andrew Cooper <amc96@srcf.net>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org,
 Jason Andryuk <jandryuk@gmail.com>,
 Daniel Smith <dpsmith@apertussolutions.com>
References: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-5-jgross@suse.com>
 <95614df8-c22d-3e1e-b976-84bbed1b30be@srcf.net>
From: Juergen Gross <jgross@suse.com>
Message-ID: <5dba49ab-e901-3ee2-daee-5758eccdd474@suse.com>
Date: Wed, 12 Jan 2022 08:54:44 +0100
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: <95614df8-c22d-3e1e-b976-84bbed1b30be@srcf.net>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="ZQFXopqQNJMKD1MOjysciLQ1rGKvqhrEl"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--ZQFXopqQNJMKD1MOjysciLQ1rGKvqhrEl
Content-Type: multipart/mixed; boundary="aXhJojt8iFn7yoAcRreqoTKFyybsYvxik";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <amc96@srcf.net>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org,
 Jason Andryuk <jandryuk@gmail.com>,
 Daniel Smith <dpsmith@apertussolutions.com>
Message-ID: <5dba49ab-e901-3ee2-daee-5758eccdd474@suse.com>
Subject: Re: [PATCH v2 04/12] mini-os: use alloc_file_type() and
 get_file_from_fd() in tpm_tis
References: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-5-jgross@suse.com>
 <95614df8-c22d-3e1e-b976-84bbed1b30be@srcf.net>
In-Reply-To: <95614df8-c22d-3e1e-b976-84bbed1b30be@srcf.net>

--aXhJojt8iFn7yoAcRreqoTKFyybsYvxik
Content-Type: multipart/mixed;
 boundary="------------D1D33A2092A6A1CA84D4F5D7"
Content-Language: en-US

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

On 11.01.22 21:29, Andrew Cooper wrote:
> On 11/01/2022 15:12, Juergen Gross wrote:
>> diff --git a/tpm_tis.c b/tpm_tis.c
>> index 477f555..abea7a1 100644
>> --- a/tpm_tis.c
>> +++ b/tpm_tis.c
>> @@ -1093,6 +1097,23 @@ ssize_t tpm_getcap(struct tpm_chip *chip, uint3=
2_t subcap_id, cap_t *cap,
>>           return rc;
>>   }
>>  =20
>> +static void shutdown_tpm_tis(struct tpm_chip* tpm){
>=20
> Style, as you're moving it.=C2=A0 Also in the function.
>=20
>> @@ -1360,6 +1369,35 @@ int tpm_tis_posix_fstat(int fd, struct stat* bu=
f)
>>      return 0;
>>   }
>>  =20
>> +static struct file_ops tpm_tis_ops =3D {
>> +    .name =3D "tpm_tis",
>> +    .read =3D tpm_tis_posix_read,
>> +    .write =3D tpm_tis_posix_write,
>> +    .lseek =3D lseek_default,
>> +    .close =3D tpm_tis_close,
>> +    .fstat =3D tpm_tis_posix_fstat,
>> +};
>> +
>> +int tpm_tis_open(struct tpm_chip* tpm)
>=20
> Style.

Ah, yes I should have corrected this while moving the function.

>=20
>> +{
>> +   struct file *file;
>> +   static unsigned int ftype_tis;
>> +
>> +   /* Silently prevent multiple opens */
>> +   if(tpm->fd !=3D -1) {
>> +      return tpm->fd;
>> +   }
>=20
> Another WTF moment.=C2=A0 We silently swallow multiple open()s, but don=
't
> refcout close()s ?
>=20
> This cannot be correct, or sensible, behaviour.
>=20
> Jason/Daniel - thoughts?

I just moved the function, but I can change this, of course.


Juergen

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

--------------D1D33A2092A6A1CA84D4F5D7--

--aXhJojt8iFn7yoAcRreqoTKFyybsYvxik--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHeiUQFAwAAAAAACgkQsN6d1ii/Ey/p
oggAnZkFKpvDP7SDKPNwET5ol194uwLJSMsKmC0mTvl5FptiwWTzcVqoRxGv1rOBueTZA2c57JXi
a66vdN/pnUWoGw7byCKt6edGGeasvfwMYjTxgnaThT9KEHU1XUxz9VpcsMqDlQ5+qygMpjOfNEkV
GSBANAcHnYNKQNjSkN64rlEVLtvVEqFkXW7WVgEl1z6AIjd5Tl0xHQ9GCSarilPnBTxBusUxWSrY
pkaaRYpMEJPxMYo/eCBUcdVu5Itwqvjo+38a8NHnuAxRU3AytNx6c3Pm6bTkjXkzWfnaL1nZasXl
Wpc84sF/+SWYIxZ+P92L9IpttH7kyIR1ZedYC0ClpA==
=Oxid
-----END PGP SIGNATURE-----

--ZQFXopqQNJMKD1MOjysciLQ1rGKvqhrEl--


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 07:57:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 07:57:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256338.439822 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7YVN-0004tA-4b; Wed, 12 Jan 2022 07:57:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256338.439822; Wed, 12 Jan 2022 07: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 1n7YVN-0004sw-1W; Wed, 12 Jan 2022 07:57:13 +0000
Received: by outflank-mailman (input) for mailman id 256338;
 Wed, 12 Jan 2022 07:57:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zSVc=R4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7YVL-0004qf-6D
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 07:57:11 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3e337b6e-737d-11ec-9ce5-af14b9085ebd;
 Wed, 12 Jan 2022 08:57:09 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 23B9C21123;
 Wed, 12 Jan 2022 07:57:09 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 018CF13E10;
 Wed, 12 Jan 2022 07:57:08 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id hm8SOtSJ3mEIGQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 12 Jan 2022 07:57: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: 3e337b6e-737d-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641974229; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=DoxsaNjgHsTESg7pJau2nkw4GFuS687AqbBCr4DynRM=;
	b=Z8+yFintsw0+tq8SiWnAVE5FgwH7N9GQuxip/gv64vNwCT7RHrADS/ocRdT5VVYizDr48z
	i/1LC6vNm22HnhGKVt1esEQMvdq2lHS9fzKVqp1zQfbe9wzryPQxe+t2XEYf401AZzAy8W
	oMxiZ1BmWIjmvfSWRm7+wLFcQEzSmPs=
Subject: Re: [PATCH v2 09/12] mini-os: use file_ops and get_file_from_fd() for
 console
To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
 minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org, wl@xen.org
References: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-10-jgross@suse.com>
 <20220111203501.tywfn4czhwavhgrf@begin>
From: Juergen Gross <jgross@suse.com>
Message-ID: <bb7d4313-2500-3e60-8a51-93e909739c90@suse.com>
Date: Wed, 12 Jan 2022 08:57:07 +0100
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: <20220111203501.tywfn4czhwavhgrf@begin>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="PLvpBkRijSY4uPCJ9lGjFLYi4wXmC9nb6"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--PLvpBkRijSY4uPCJ9lGjFLYi4wXmC9nb6
Content-Type: multipart/mixed; boundary="0W2V7LbSkIGyKqt9FNI0Fx5UhfeFO4NjS";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
 minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org, wl@xen.org
Message-ID: <bb7d4313-2500-3e60-8a51-93e909739c90@suse.com>
Subject: Re: [PATCH v2 09/12] mini-os: use file_ops and get_file_from_fd() for
 console
References: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-10-jgross@suse.com>
 <20220111203501.tywfn4czhwavhgrf@begin>
In-Reply-To: <20220111203501.tywfn4czhwavhgrf@begin>

--0W2V7LbSkIGyKqt9FNI0Fx5UhfeFO4NjS
Content-Type: multipart/mixed;
 boundary="------------3F6770108827E3580B54194D"
Content-Language: en-US

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

On 11.01.22 21:35, Samuel Thibault wrote:
> Juergen Gross, le mar. 11 janv. 2022 16:12:12 +0100, a ecrit:
>> +static int consfront_fstat(int fd, struct stat *buf)
>> +{
>> +    struct file *file =3D get_file_from_fd(fd);
>> +
>> +    buf->st_mode =3D S_IRUSR | S_IWUSR;
>> +    buf->st_mode |=3D (file->type =3D=3D FTYPE_CONSOLE) ? S_IFCHR : S=
_IFREG;
>> +    buf->st_atime =3D buf->st_mtime =3D buf->st_ctime =3D time(NULL);=

>> +
>> +    return 0;
>> +}
>=20
> This seems to be missing filling st_uid, st_gid, etc.?

Not really. Those are set to zero via the call of init_stat()
in fstat().


Juergen

--------------3F6770108827E3580B54194D
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-----

--------------3F6770108827E3580B54194D--

--0W2V7LbSkIGyKqt9FNI0Fx5UhfeFO4NjS--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHeidMFAwAAAAAACgkQsN6d1ii/Ey8C
Lwf+PYUVsUVFwvyJ8uBpkwccVOCnT/OuRV2iS6p7iaQ0rCUi/4joHE97NCYmE16z6oCiFLECOqLD
ne8ehDaFI2UYK+9OeHX7oCK9a+XKosJwiG7P24RwP2grFiwGGOx96y8cejKMmlrNEsbww4ZWJX4I
avkh9s789Qk6Nci3mQPwvB9f840myFsNfD/Re+WPzA64355nfeRyY01ioGd7MI5rr0u+R4FLq2h3
Yeub6/NqZlePDzwcUTYd5G8JKvwYsTnfiVxHBAbTMvFXE8ENN+iD0pibjALRKaE5bD+rdiQmxlgu
cwPsQi7e3l82RDevt5cCWForkKFIvauWUtrP7+1CnQ==
=2X8o
-----END PGP SIGNATURE-----

--PLvpBkRijSY4uPCJ9lGjFLYi4wXmC9nb6--


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 08:13:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 08:13:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256354.439849 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7YkU-0007yy-Vv; Wed, 12 Jan 2022 08:12:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256354.439849; Wed, 12 Jan 2022 08: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 1n7YkU-0007yr-Sz; Wed, 12 Jan 2022 08:12:50 +0000
Received: by outflank-mailman (input) for mailman id 256354;
 Wed, 12 Jan 2022 08:12:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=BEGY=R4=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n7YkT-0007yg-SJ
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 08:12:49 +0000
Received: from ppsw-32.csi.cam.ac.uk (ppsw-32.csi.cam.ac.uk [131.111.8.132])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6d3635b0-737f-11ec-9ce5-af14b9085ebd;
 Wed, 12 Jan 2022 09:12:48 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:48186)
 by ppsw-32.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.136]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n7YkQ-000zOW-2r (Exim 4.95) (return-path <amc96@srcf.net>);
 Wed, 12 Jan 2022 08:12:46 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id AB30E1FD4B;
 Wed, 12 Jan 2022 08:12:46 +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: 6d3635b0-737f-11ec-9ce5-af14b9085ebd
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <3124ed39-ba23-ccd1-a036-67032f36c0b7@srcf.net>
Date: Wed, 12 Jan 2022 08:12:46 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Subject: Re: [PATCH v2 03/12] mini-os: use alloc_file_type() and
 get_file_from_fd() in xs
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-4-jgross@suse.com>
 <a41f6688-d14a-dad5-1625-1b98f793062e@srcf.net>
 <501262b0-510b-3add-35a6-2f2ad7452518@suse.com>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <501262b0-510b-3add-35a6-2f2ad7452518@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12/01/2022 07:52, Juergen Gross wrote:
> On 11.01.22 21:21, Andrew Cooper wrote:
>> On 11/01/2022 15:12, Juergen Gross wrote:
>>>   void xs_daemon_close(struct xs_handle *h)
>>>   {
>>> -    int fd = _xs_fileno(h);
>>> -    struct xenbus_event *event, *next;
>>> -    for (event = files[fd].dev; event; event = next)
>>> -    {
>>> -        next = event->next;
>>> -        free(event);
>>> -    }
>>> +    close(_xs_fileno(h));
>>>   }
>>
>> You've deleted the sole caller of xs_daemon_close() from the main
>> close() function.
>>
>> That said, I'm very confused, because nothing in minios declares it.
>> The declaration appears to come from xenstore.h, which is clearly
>> included unconditionally (when it ought not to be), but libxenstore also
>> defines the function too...
> I already thought of restructuring this mess.
>
> lib/xs.c is the Mini-OS variant of libxenstore, and as such it shares
> quite some code with libxenstore.
>
> So the correct thing to do would be to split libxenstore into a common
> part and a posix/Mini-OS part, drop lib/xs.c, and use the library in
> Mini-OS instead.
>
> But this should be done in a separate series.

Sounds like a plan.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 08:14:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 08:14:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256360.439861 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Ym7-00007p-EC; Wed, 12 Jan 2022 08:14:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256360.439861; Wed, 12 Jan 2022 08:14:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Ym7-00007h-91; Wed, 12 Jan 2022 08:14:31 +0000
Received: by outflank-mailman (input) for mailman id 256360;
 Wed, 12 Jan 2022 08:14:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=BEGY=R4=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n7Ym5-000076-Co
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 08:14:29 +0000
Received: from ppsw-32.csi.cam.ac.uk (ppsw-32.csi.cam.ac.uk [131.111.8.132])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a90ff6cb-737f-11ec-9ce5-af14b9085ebd;
 Wed, 12 Jan 2022 09:14:27 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:48188)
 by ppsw-32.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.136]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n7Ym2-000zf0-2l (Exim 4.95) (return-path <amc96@srcf.net>);
 Wed, 12 Jan 2022 08:14:26 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 9F3951FD4B;
 Wed, 12 Jan 2022 08:14:26 +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: a90ff6cb-737f-11ec-9ce5-af14b9085ebd
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <3bcf4dff-4b8b-8ad2-c749-239ca68cce8b@srcf.net>
Date: Wed, 12 Jan 2022 08:14:26 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Subject: Re: [PATCH v2 04/12] mini-os: use alloc_file_type() and
 get_file_from_fd() in tpm_tis
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org,
 Jason Andryuk <jandryuk@gmail.com>,
 Daniel Smith <dpsmith@apertussolutions.com>
References: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-5-jgross@suse.com>
 <95614df8-c22d-3e1e-b976-84bbed1b30be@srcf.net>
 <5dba49ab-e901-3ee2-daee-5758eccdd474@suse.com>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <5dba49ab-e901-3ee2-daee-5758eccdd474@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12/01/2022 07:54, Juergen Gross wrote:
> On 11.01.22 21:29, Andrew Cooper wrote:
>> On 11/01/2022 15:12, Juergen Gross wrote:
>>> diff --git a/tpm_tis.c b/tpm_tis.c
>>> index 477f555..abea7a1 100644
>>> --- a/tpm_tis.c
>>> +++ b/tpm_tis.c
>>> @@ -1093,6 +1097,23 @@ ssize_t tpm_getcap(struct tpm_chip *chip,
>>> uint32_t subcap_id, cap_t *cap,
>>>           return rc;
>>>   }
>>>   +static void shutdown_tpm_tis(struct tpm_chip* tpm){
>>
>> Style, as you're moving it.  Also in the function.
>>
>>> @@ -1360,6 +1369,35 @@ int tpm_tis_posix_fstat(int fd, struct stat*
>>> buf)
>>>      return 0;
>>>   }
>>>   +static struct file_ops tpm_tis_ops = {
>>> +    .name = "tpm_tis",
>>> +    .read = tpm_tis_posix_read,
>>> +    .write = tpm_tis_posix_write,
>>> +    .lseek = lseek_default,
>>> +    .close = tpm_tis_close,
>>> +    .fstat = tpm_tis_posix_fstat,
>>> +};
>>> +
>>> +int tpm_tis_open(struct tpm_chip* tpm)
>>
>> Style.
>
> Ah, yes I should have corrected this while moving the function.
>
>>
>>> +{
>>> +   struct file *file;
>>> +   static unsigned int ftype_tis;
>>> +
>>> +   /* Silently prevent multiple opens */
>>> +   if(tpm->fd != -1) {
>>> +      return tpm->fd;
>>> +   }
>>
>> Another WTF moment.  We silently swallow multiple open()s, but don't
>> refcout close()s ?
>>
>> This cannot be correct, or sensible, behaviour.
>>
>> Jason/Daniel - thoughts?
>
> I just moved the function, but I can change this, of course.

It's a pattern elsewhere too.  Much as it's horrible logic, it probably
doesn't want reworking in a patch like this, and the series as a whole
is big enough so I'm not going to suggest you tackle it too.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 08:20:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 08:20:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256367.439871 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7YrL-0000pm-1I; Wed, 12 Jan 2022 08:19:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256367.439871; Wed, 12 Jan 2022 08: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 1n7YrK-0000pf-UW; Wed, 12 Jan 2022 08:19:54 +0000
Received: by outflank-mailman (input) for mailman id 256367;
 Wed, 12 Jan 2022 08:19:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=BEGY=R4=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n7YrK-0000pP-8y
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 08:19:54 +0000
Received: from ppsw-32.csi.cam.ac.uk (ppsw-32.csi.cam.ac.uk [131.111.8.132])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6aad2ea2-7380-11ec-9ce5-af14b9085ebd;
 Wed, 12 Jan 2022 09:19:52 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:48190)
 by ppsw-32.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.136]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n7YrI-0010Q3-0w (Exim 4.95) (return-path <amc96@srcf.net>);
 Wed, 12 Jan 2022 08:19:52 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 196A91FCF3;
 Wed, 12 Jan 2022 08:19:52 +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: 6aad2ea2-7380-11ec-9ce5-af14b9085ebd
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <559223b1-68c1-87fb-7b7b-190f8671b4c2@srcf.net>
Date: Wed, 12 Jan 2022 08:19:51 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Subject: Re: [PATCH v2 17/18] mini-os: use function vectors instead of switch
 for file operations
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20220111145817.22170-1-jgross@suse.com>
 <20220111145817.22170-18-jgross@suse.com>
 <a2d4c905-c477-8553-85a7-90168d914b6e@srcf.net>
 <08672989-53be-1551-f001-0d2c0435b586@suse.com>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <08672989-53be-1551-f001-0d2c0435b586@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12/01/2022 07:34, Juergen Gross wrote:
> On 11.01.22 19:08, Andrew Cooper wrote:
>> On 11/01/2022 14:58, Juergen Gross wrote:
>>> +
>>> +off_t lseek_default(int fd, off_t offset, int whence);
>>> +bool select_yes(int fd);
>>> +bool select_read_flag(int fd);
>>> +
>>>   LIST_HEAD(evtchn_port_list, evtchn_port_info);
>>>     struct evtchn_port_info {
>>> @@ -183,7 +210,7 @@ struct evtchn_port_info {
>>>   };
>>>     struct file {
>>> -    enum fd_type type;
>>> +    unsigned int type;
>>>       bool read;    /* maybe available for read */
>>>       off_t offset;
>>>       union {
>>> @@ -199,7 +226,7 @@ struct file {
>>>   extern struct file files[];
>>>     struct file *get_file_from_fd(int fd);
>>> -int alloc_fd(enum fd_type type);
>>> +int alloc_fd(unsigned int type);
>>>   void close_all_files(void);
>>>   extern struct thread *main_thread;
>>>   void sparse(unsigned long data, size_t size);
>>> diff --git a/lib/sys.c b/lib/sys.c
>>> index 323a7cd..c327247 100644
>>> --- a/lib/sys.c
>>> +++ b/lib/sys.c
>>> @@ -98,6 +98,39 @@ struct file files[NOFILE] = {
>>>       { .type = FTYPE_CONSOLE }, /* stderr */
>>>   };
>>>   +static struct file_ops file_ops_none = {
>>> +    .name = "none",
>>> +};
>>> +
>>> +static struct file_ops *file_ops[FTYPE_N + FTYPE_SPARE] = {
>>> +    [FTYPE_NONE] = &file_ops_none,
>>> +};
>>
>> Both want to be const, because all file_ops ought to live in rodata.
>
> file_ops[] can't be const, it will just point to const data.

Oh, of course.

>>> @@ -709,6 +805,18 @@ static void dump_pollfds(struct pollfd *pfd,
>>> int nfds, int timeout)
>>>   #define dump_pollfds(pfds, nfds, timeout)
>>>   #endif
>>>   +bool select_yes(int fd)
>>> +{
>>> +    return true;
>>> +}
>>> +
>>> +bool select_read_flag(int fd)
>>> +{
>>> +    struct file *file = get_file_from_fd(fd);
>>> +
>>> +    return file->read;
>>> +}
>>
>> I don't see these getting used, even in a fallback case.
>
> They will be used in later patches.

Yeah - I found them in later patches.  It's probably worth a note in the
commit message saying "provide some functions useful for file_ops in
future patches", particularly as it's actually a later series which
takes them (due to the ordering constraints).

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 08:22:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 08:22:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256372.439881 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Ytl-0002CN-EX; Wed, 12 Jan 2022 08:22:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256372.439881; Wed, 12 Jan 2022 08:22:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Ytl-0002CG-BT; Wed, 12 Jan 2022 08:22:25 +0000
Received: by outflank-mailman (input) for mailman id 256372;
 Wed, 12 Jan 2022 08:22:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zSVc=R4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7Ytk-0002Bn-63
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 08:22:24 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c44b9c79-7380-11ec-9ce5-af14b9085ebd;
 Wed, 12 Jan 2022 09:22:23 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id A06F9212FE;
 Wed, 12 Jan 2022 08:22:22 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 72DB713B2D;
 Wed, 12 Jan 2022 08:22:22 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id ++xEGr6P3mG7JwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 12 Jan 2022 08:22: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: c44b9c79-7380-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641975742; 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=FKItPEUI7pf6sItCPZzvaufN4aoECeCfTQdu9BEtzxg=;
	b=FhoCGUQFpboG5Ol1sypP9cR5OH0DLxYw06PAde3hwX5rkFpfFDobMYY8yipoWDg5Q3NAOp
	WrD02r6xpUVytltk220gAOf8ZuUSdKS6gYpVeka4zWgmz63m3x2xkZyKpDYkgmEKu2UNYt
	6cXQFVByHS7ox2QUI6GiVmoSd5bvi/Y=
Subject: Re: [PATCH v2 17/18] mini-os: use function vectors instead of switch
 for file operations
To: Andrew Cooper <amc96@srcf.net>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20220111145817.22170-1-jgross@suse.com>
 <20220111145817.22170-18-jgross@suse.com>
 <a2d4c905-c477-8553-85a7-90168d914b6e@srcf.net>
 <08672989-53be-1551-f001-0d2c0435b586@suse.com>
 <559223b1-68c1-87fb-7b7b-190f8671b4c2@srcf.net>
From: Juergen Gross <jgross@suse.com>
Message-ID: <d46a971c-d1d3-3b34-a7ed-72993794cff8@suse.com>
Date: Wed, 12 Jan 2022 09:22:21 +0100
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: <559223b1-68c1-87fb-7b7b-190f8671b4c2@srcf.net>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="W22var4iBcFz7w8czGU65G56eXkO74ClW"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--W22var4iBcFz7w8czGU65G56eXkO74ClW
Content-Type: multipart/mixed; boundary="bBdyGxgh5A6HGnH8u5mhYkpn79SDPVquS";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <amc96@srcf.net>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
Message-ID: <d46a971c-d1d3-3b34-a7ed-72993794cff8@suse.com>
Subject: Re: [PATCH v2 17/18] mini-os: use function vectors instead of switch
 for file operations
References: <20220111145817.22170-1-jgross@suse.com>
 <20220111145817.22170-18-jgross@suse.com>
 <a2d4c905-c477-8553-85a7-90168d914b6e@srcf.net>
 <08672989-53be-1551-f001-0d2c0435b586@suse.com>
 <559223b1-68c1-87fb-7b7b-190f8671b4c2@srcf.net>
In-Reply-To: <559223b1-68c1-87fb-7b7b-190f8671b4c2@srcf.net>

--bBdyGxgh5A6HGnH8u5mhYkpn79SDPVquS
Content-Type: multipart/mixed;
 boundary="------------2F50F40C2F1CACFB0E92204E"
Content-Language: en-US

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

On 12.01.22 09:19, Andrew Cooper wrote:
> On 12/01/2022 07:34, Juergen Gross wrote:
>> On 11.01.22 19:08, Andrew Cooper wrote:
>>> On 11/01/2022 14:58, Juergen Gross wrote:
>>>> +
>>>> +off_t lseek_default(int fd, off_t offset, int whence);
>>>> +bool select_yes(int fd);
>>>> +bool select_read_flag(int fd);
>>>> +
>>>>  =C2=A0 LIST_HEAD(evtchn_port_list, evtchn_port_info);
>>>>  =C2=A0 =C2=A0 struct evtchn_port_info {
>>>> @@ -183,7 +210,7 @@ struct evtchn_port_info {
>>>>  =C2=A0 };
>>>>  =C2=A0 =C2=A0 struct file {
>>>> -=C2=A0=C2=A0=C2=A0 enum fd_type type;
>>>> +=C2=A0=C2=A0=C2=A0 unsigned int type;
>>>>  =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bool read;=C2=A0=C2=A0=C2=A0 /* mayb=
e available for read */
>>>>  =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 off_t offset;
>>>>  =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 union {
>>>> @@ -199,7 +226,7 @@ struct file {
>>>>  =C2=A0 extern struct file files[];
>>>>  =C2=A0 =C2=A0 struct file *get_file_from_fd(int fd);
>>>> -int alloc_fd(enum fd_type type);
>>>> +int alloc_fd(unsigned int type);
>>>>  =C2=A0 void close_all_files(void);
>>>>  =C2=A0 extern struct thread *main_thread;
>>>>  =C2=A0 void sparse(unsigned long data, size_t size);
>>>> diff --git a/lib/sys.c b/lib/sys.c
>>>> index 323a7cd..c327247 100644
>>>> --- a/lib/sys.c
>>>> +++ b/lib/sys.c
>>>> @@ -98,6 +98,39 @@ struct file files[NOFILE] =3D {
>>>>  =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 { .type =3D FTYPE_CONSOLE }, /* stde=
rr */
>>>>  =C2=A0 };
>>>>  =C2=A0 +static struct file_ops file_ops_none =3D {
>>>> +=C2=A0=C2=A0=C2=A0 .name =3D "none",
>>>> +};
>>>> +
>>>> +static struct file_ops *file_ops[FTYPE_N + FTYPE_SPARE] =3D {
>>>> +=C2=A0=C2=A0=C2=A0 [FTYPE_NONE] =3D &file_ops_none,
>>>> +};
>>>
>>> Both want to be const, because all file_ops ought to live in rodata.
>>
>> file_ops[] can't be const, it will just point to const data.
>=20
> Oh, of course.
>=20
>>>> @@ -709,6 +805,18 @@ static void dump_pollfds(struct pollfd *pfd,
>>>> int nfds, int timeout)
>>>>  =C2=A0 #define dump_pollfds(pfds, nfds, timeout)
>>>>  =C2=A0 #endif
>>>>  =C2=A0 +bool select_yes(int fd)
>>>> +{
>>>> +=C2=A0=C2=A0=C2=A0 return true;
>>>> +}
>>>> +
>>>> +bool select_read_flag(int fd)
>>>> +{
>>>> +=C2=A0=C2=A0=C2=A0 struct file *file =3D get_file_from_fd(fd);
>>>> +
>>>> +=C2=A0=C2=A0=C2=A0 return file->read;
>>>> +}
>>>
>>> I don't see these getting used, even in a fallback case.
>>
>> They will be used in later patches.
>=20
> Yeah - I found them in later patches.=C2=A0 It's probably worth a note =
in the
> commit message saying "provide some functions useful for file_ops in
> future patches", particularly as it's actually a later series which
> takes them (due to the ordering constraints).

Okay, will add that note.


Juergen

--------------2F50F40C2F1CACFB0E92204E
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-----

--------------2F50F40C2F1CACFB0E92204E--

--bBdyGxgh5A6HGnH8u5mhYkpn79SDPVquS--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHej70FAwAAAAAACgkQsN6d1ii/Ey9R
bQf+LoVbc17nessp8jx2KgiOsajmotA3/TMu6v7vaiIlxdAsQH3Rx8QkJVp0rBNf6kkKU/K2E2NG
5i2wGnMV/8QSMnps4KRXR7lOp3wXL4mVgJWGuKx2MBMhu8yO3y60yB6UWidUWwL+sk3pyEv+WXrn
5h8r57lTcQEXvUe53EEDHp7XE/eRjdMUEek+r6Pd4lAuCMT6PpciOU7Y23VOIGOZh7mAibilSro9
UNPLl7TWoNxlkQdy9mt2KyObPLJrhbxYwcAQxFe7Er0ZGZ5UDq9vdHoAcZ+wlHRfMbbLr3UY8BnW
N3G4Ok1i+DhKueiTlstH9aCuDdKHt4a3iG9D0tgw7g==
=Y03c
-----END PGP SIGNATURE-----

--W22var4iBcFz7w8czGU65G56eXkO74ClW--


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 08:34:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 08:34:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256378.439897 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Z5I-0003na-Nz; Wed, 12 Jan 2022 08:34:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256378.439897; Wed, 12 Jan 2022 08:34: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 1n7Z5I-0003nT-Kb; Wed, 12 Jan 2022 08:34:20 +0000
Received: by outflank-mailman (input) for mailman id 256378;
 Wed, 12 Jan 2022 08:34:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=BEGY=R4=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n7Z5H-0003nN-2C
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 08:34:19 +0000
Received: from ppsw-33.csi.cam.ac.uk (ppsw-33.csi.cam.ac.uk [131.111.8.133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6e227f32-7382-11ec-81c1-a30af7de8005;
 Wed, 12 Jan 2022 09:34:17 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:47660)
 by ppsw-33.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.137]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n7Z5E-000AZb-il (Exim 4.95) (return-path <amc96@srcf.net>);
 Wed, 12 Jan 2022 08:34:16 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id ADEFF1FD4B;
 Wed, 12 Jan 2022 08:34:16 +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: 6e227f32-7382-11ec-81c1-a30af7de8005
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <9be0e9b7-c382-1643-92e6-be320fda37d9@srcf.net>
Date: Wed, 12 Jan 2022 08:34:16 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20220111150318.22570-1-jgross@suse.com>
 <20220111150318.22570-3-jgross@suse.com>
 <b0dec08d-2b94-efbb-cbc8-d67e3529fcc1@srcf.net>
 <6e7dbf91-8c0e-900a-dacc-5afa36b6261d@suse.com>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: [PATCH v2 2/3] tools/libs/gnttab: decouple more from mini-os
In-Reply-To: <6e7dbf91-8c0e-900a-dacc-5afa36b6261d@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12/01/2022 07:27, Juergen Gross wrote:
> On 11.01.22 21:08, Andrew Cooper wrote:
>
>> The least bad way I can think of doing this would be to leave void
>> minios_gnttab_close_fd(int fd) exactly as it was, and instead of
>> converting it's use here, use a separate static function straight away
>> for the file ops.  (Will be necessary anyway if you like my suggestion
>> of passing file too).  Then in the whole function in "tools/libs: final
>> cleanup making mini-os callbacks static", rather than just making it
>> static.
>
> I can change it if you really want.

Well, it will happen as a natural side effect of passing file* rather
than fd, but I do think it is a safer course of action.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 08:45:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 08:45:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256382.439907 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7ZFt-0005Hw-Iq; Wed, 12 Jan 2022 08:45:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256382.439907; Wed, 12 Jan 2022 08: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 1n7ZFt-0005Hp-Fu; Wed, 12 Jan 2022 08:45:17 +0000
Received: by outflank-mailman (input) for mailman id 256382;
 Wed, 12 Jan 2022 08:45:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=no1k=R4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n7ZFr-0005Hd-NT
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 08:45:15 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f4d41d6a-7383-11ec-9ce5-af14b9085ebd;
 Wed, 12 Jan 2022 09:45:14 +0100 (CET)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2052.outbound.protection.outlook.com [104.47.12.52]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-14-uNXqJPNBMKKlrODqv1WUJg-1; Wed, 12 Jan 2022 09:45:11 +0100
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.4867.11; Wed, 12 Jan
 2022 08:45:09 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Wed, 12 Jan 2022
 08:45:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f4d41d6a-7383-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641977112;
	h=from:from:reply-to:subject:subject: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=Vscs0Ld50Z2FxslJ+PxeiZQ5qyRFcfaBGNlyXBD69qo=;
	b=B/LzOh1sl4WyYzu66pGVbBNNHEjPAW8vv+rF71JL8Ts0LA+b29LF9ae1fQMVfnDsu5KntZ
	4BFf4lQ78lU9FLDJcDMen6HKK6VbuO66PpT6kBiMjF44MGo4G4jhleqs56tp8jMsN3Dvl5
	sZ+veYWPZ1MWNZNhu4vj7cwXA23JFTc=
X-MC-Unique: uNXqJPNBMKKlrODqv1WUJg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DqWMbzs136iWSNP2QY22DLRipopY9+LJtNncXJpFeNQt4gPfbrZgrNYEokTd+WSYgyPNKbkzowRCzjoFoYlNJI7JGtvS+vi6fTRNjd8jKQ0GbrIxmjVcU8X31n0ZnnSgRvvU7QI+OZhYTp83G5D5doZOdlF1o+8gSqgJMhs8GGlWvy0n2pXphVhUbMbaSpn0FY0WJ+ZNoukcvI1LjGk3PgtArNKdAy7IoeJBnPYWdwvD3IkB8GGtnS1mSKc9tLLbwAEs+tsRSTisUsdTDVAOEHjsK1LqL/b8r9iM7W2ocBg1pKjDmqMgbx6iQNag1RL8KZJt4eumdW2r/9nfKUrSDw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Vscs0Ld50Z2FxslJ+PxeiZQ5qyRFcfaBGNlyXBD69qo=;
 b=Npdv9MtrolITCmNZzD1wCjOhFbGCWDWNu8B1snsmm1244vQ8zm3jGZYF6t1RHQtoAFNojTiVoARIrjYR/pgtOL9VTQq+EHjcTWZw+2qms4oY+9LlWk2v7orMCimlyQ1WAHdUXDzP3GfPQgXCJDXFSy5cNtbzwFz/6mBz36YAaLoVRDUVBaJyk2iiq9LIattm9x3EpoYWdAMLtNwH3mFSF2PZSbrpkBitCtn0CL89oLr798eAOLkA9ZSfZw4Kd8IPZHWZ4/te5SoMfEfgUI/Zi2ltjSBvMqbzZD5uDqQp3l6iKClehxhzNSIONQzFp0bATbwgIVcMzeujvUI6jmFxHQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <89d182f6-95e8-674a-2297-6e98435385f8@suse.com>
Date: Wed, 12 Jan 2022 09:45:06 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Sergey Temerkhanov <s.temerkhanov@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v4] EFI: always map EfiRuntimeServices{Code,Data}
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR01CA0041.eurprd01.prod.exchangelabs.com
 (2603:10a6:20b:e0::18) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5261dba7-d3f7-4d22-ff08-08d9d5a7d6a6
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2448:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB24487ECFCFB796268AFD67E5B3529@VI1PR0401MB2448.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:205;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Gfz5vzG8glNsHNa2xneDqlSDPbzFIjh4x0QgRmeNdDsEfzaZM/WHf/PH8XCvy0/M9AnHKVZso5MEL5oEqV0WiMw6vSfRB2KU3fI5B6HEfWXXHyFP7Z5NOcictZu4aJxhRFhY+n+onGau5iAw2kE1aXqJhPM8hsIPj+z0EMsZb+Hc9+W74Ee7ltBfj9t7UFMx9erSxX4ZPDlQygxC2Oag7HSfCic0ZFEE1lUjms1iejZ4uDL+rD+agUS/5MXs7tDMplQM17lx4JXfhFc2KhMsU5FYZtg0FYjALzuJqFB3/N+lxknWySULsR9oUI/GoVOXjCJ5U9lQEq+1UeeNuCFx6uT3GgCDqMLeErrxP81fwdx7idm6nAA/j2mQqEVksqlf33sS4D/NfBWsLQ8VybxqPN8pSkXBguEp1NWhNwbG7Q40qdKfeBgqPtlhMFFH7DmEQyREKmasmu2JZfUSTKWxEv2HtIIFX+Yt1d/4vJAb7ZoooalQxlk9uRz748aP1G8DvQ2D057szR555Jf6QV42g1P+uDzPJpYLUxIyfh05PGi+YdlzyjSYGTOUcJyBfctuVZ0mKwbysCBtMYauYP50hfIS3MKXpPOeSO+KOXqYH1wHBVGXbRnGCXDLgMTXyCIkikIwpAdFrmVjwLZxhAuxz7PkwVQQ1s7KXchvpkfJsQWb0qybwLJiBpfxoPNHwrevL2bVdN52VKqV5Vy2DqyRdfyyITCO3HgDDlgiccoXIRI=
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)(6506007)(26005)(6666004)(508600001)(54906003)(83380400001)(6512007)(316002)(66946007)(4326008)(5660300002)(186003)(86362001)(2616005)(66556008)(8676002)(36756003)(31696002)(6486002)(66476007)(8936002)(2906002)(38100700002)(6916009)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WXRUVHlCbTlBelU1UE1nQTZPOWtMby9vekh5bUVMem9FRXBTbFVEek5uMFZn?=
 =?utf-8?B?NXRIeG0xZE11TzVKc08zbHFUTFFZS3owMUZFaFJLdTVZMllub3F0dWFUeFJi?=
 =?utf-8?B?NXRCc2J6L1VPK2lmTUdOaTY5WVJBQkMzY1Z3bjFBMVVJd3pKdzNuMlMvcDBT?=
 =?utf-8?B?allIU0RRSnhmWVh1cEdCNVZaQUJybkhuQTdReU53TERMRjlEYXo5Ymk0a2pL?=
 =?utf-8?B?MzZUcWs2ZUtleU5nMGl5N0pTQXJVRHZTc1ZsVTVNRmN1b0JlcjlHKytuS0pw?=
 =?utf-8?B?VVJWWmVIL2VhZFVhUDJGUDF5OXVRbTJrdW1KQThWSVEyUHVpTlAveXMrdHFW?=
 =?utf-8?B?ekVBcU16azNVUzVCck0zc3ozekxDQnFYckJFRWZ6RjhkcktjckZjbDlnOGxO?=
 =?utf-8?B?ZzY5NXRjRXFWa29Xeitoa0JKdllJK1VJbUx3L254QkRrc0NoSTR0NnNaSzBE?=
 =?utf-8?B?SGIzQXZOTWRoa09wRWhyVGUrNWFzNDA4TWR0NzZqSDdUT1lKWkNhVVkwYXBk?=
 =?utf-8?B?QU9zZzJwcGJXVCt4NUZORHNkVU5reVJOanUvcXpKTVBiSnpOMGI0aTlhTXUw?=
 =?utf-8?B?bk5mVWc5UHhidm9ybkNTbUNBbTkrdVg0dEo3SEFka2FsdUp0Wk9KRTdzbVBF?=
 =?utf-8?B?MkN0VWVwdTRZenBrRHZvWlBxRkJBQjh3blhraTFicWx4aE5XNGRSem54N3Rv?=
 =?utf-8?B?Z2FkWVgvaXR1cytGL0lJa25zSUZqWG04RlVGS3h3b3QrUUMwNXU4eGpIRE9O?=
 =?utf-8?B?a3h1VnZhQlBxa2ZBdVZpNGYreFdQZm80QmpTaWdta2hnOUFrZ29QZlh5ZlRN?=
 =?utf-8?B?ZUg4Mzg1bEZiL3hCWVAyb0hMWnprMG9VTnV6RE1nRVZqT3VzbWwrbmtRUmF4?=
 =?utf-8?B?UFRDVFNDU0VmSmhmUE1nYWJ3em1qa2tUdEpzYTN1Q1ArNkJsZkRzdUc2cHZm?=
 =?utf-8?B?bHJHN2hnaFVjSCt5REs5WW9PWDFZc0xuditxdGpkeEZZOFlYYkVTdHlUd2Ny?=
 =?utf-8?B?OFZ5NWtnaythMGhJcHQxRkpJK3lYS3Y2c1JZWUVHbjdKN2I3MmpLenk4L3ds?=
 =?utf-8?B?cHZFSjRadlVnUDQ5TFc5akFKMnBSWkM4MG9kWjdFZEUwN0owNEVUblRFWmlt?=
 =?utf-8?B?VHdwRFBNQ3VueUVjU1pUa3hwb0VqTmlFWjdKZmQ2ZHZTRnlkZS9KTmNWdnlm?=
 =?utf-8?B?RzliWktJKzZkbyt5cUgyZStIMjFyVlBGNFBERWFuM21vQ0JtV29IMjBqTEg0?=
 =?utf-8?B?UWJNVUdjSnVJb3NiL3cxTHBYNnI3T0YzaTlQaWlLRHNaVjdmQkJ6TFJvdmlF?=
 =?utf-8?B?ek9CUDQxWmpUcHBRSVlPVE5SeGRGOVgweGRqd01FQlBWbHRxNW5GYmIrN0pG?=
 =?utf-8?B?dFd1aUZRNzFwMFFEN3A5VHFTb1E4YjRXZDVBbTBTSGl6WHFuN0hnV3E3U01P?=
 =?utf-8?B?WDhhb2ZCZnV2Um9PSCtabmlmMXFEL2JUN3RjREFoSEVuSXdtcGV1ZWN3eE02?=
 =?utf-8?B?dHI3UTBadTlxSGd5WmpLU3UvVTJITzNtSGRoa0pvSUxDRjh1REMvQytiSW5j?=
 =?utf-8?B?Z3dkUjVVOUlDS29TL25JUENpQ3pFdTc5NXFsKzhNRlhCYVF3T3p6SFhEd2Z5?=
 =?utf-8?B?RnVxSVJKMWpkUzR6dHduc0dGQlJrRFQ0Vmg5NERDSkh3TWZWVWsxNGVUclJK?=
 =?utf-8?B?Y0c1QnRINEZCRysyVS9Ja1BRT2NZcTUrOFBFVGJ6UGI0S3FPN0V0RkVHR1Rl?=
 =?utf-8?B?TnM5d3YyOG9jcEZlNWVheFA4c0cyb1pPcnowZDhhSlZiQndUekNvZmpHNzN0?=
 =?utf-8?B?M3d1QzFvSlRUWjl1ZWVpZW5BVjlvc1Fja1JUS1ZENzFPTjFUd0VHc3VzUG80?=
 =?utf-8?B?ZkFCcWI2QnREV0tnMXRlT2F4bWNkTHVZd2ZKU3pmV25XemxySEdFSFBhazJI?=
 =?utf-8?B?NEZpRzNhTm1XQk5XVy9HU3VaQnRNU3luNnJURjJ2MVVwWSt4c3dkOHA4Rysw?=
 =?utf-8?B?d1N1SDU4TitRY0NsMytiOXZRMnRwejJJUHJ4S3MzSDVVTGZ3ajhEY2JNODVJ?=
 =?utf-8?B?R0JaSENJZjN2R3dVNGRpSUUwWmc4WHZmbGFjdDh2OFh1V0FMS2dxUUw4K0hu?=
 =?utf-8?B?THFuUzNnRGVEZTRaYy91Njd4R0dpN1VSc3dFZTlyNys2ZWZoV3BmN1NiajNm?=
 =?utf-8?Q?tSGyjySfBrxbMULNXhOfCKE=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5261dba7-d3f7-4d22-ff08-08d9d5a7d6a6
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2022 08:45:08.9997
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5D0XXSuAwhOU6mncp7W+qlsZDNdaCyFIyKRGSlqGkKMcLmK60tvqprKPQNOq2lC4h/eqBoRKiPuidEgyZCIhgA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2448

From: Sergey Temerkhanov <s.temerkhanov@gmail.com>

This helps overcome problems observed with some UEFI implementations
which don't set the Attributes field in memery descriptors properly.

Signed-off-by: Sergey Temerkhanov <s.temerkhanov@gmail.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v4: Drop EFI_MEMORY_CACHEABILITY_MASK. Fold with pre-existing if() (into
    switch()). Style.
---
I guess "map_bs" would also want honoring in efi_exit_boot(), but that's
yet another patch then I suppose.

--- a/xen/common/efi/boot.c
+++ b/xen/common/efi/boot.c
@@ -1094,7 +1094,13 @@ static void __init efi_exit_boot(EFI_HAN
     {
         EFI_MEMORY_DESCRIPTOR *desc = efi_memmap + i;
 
-        if ( desc->Attribute & EFI_MEMORY_RUNTIME )
+        /*
+         * Runtime services regions are always mapped here.
+         * Attributes may be adjusted in efi_init_memory().
+         */
+        if ( (desc->Attribute & EFI_MEMORY_RUNTIME) ||
+             desc->Type == EfiRuntimeServicesCode ||
+             desc->Type == EfiRuntimeServicesData )
             desc->VirtualStart = desc->PhysicalStart;
         else
             desc->VirtualStart = INVALID_VIRTUAL_ADDRESS;
@@ -1545,13 +1551,36 @@ void __init efi_init_memory(void)
                     ROUNDUP(desc->PhysicalStart + len, PAGE_SIZE));
         }
 
-        if ( !efi_enabled(EFI_RS) ||
-             (!(desc->Attribute & EFI_MEMORY_RUNTIME) &&
-              (!map_bs ||
-               (desc->Type != EfiBootServicesCode &&
-                desc->Type != EfiBootServicesData))) )
+        if ( !efi_enabled(EFI_RS) )
             continue;
 
+        if ( !(desc->Attribute & EFI_MEMORY_RUNTIME) )
+        {
+            switch ( desc->Type )
+            {
+            default:
+                continue;
+
+            /*
+             * Adjust runtime services regions. Keep in sync with
+             * efi_exit_boot().
+             */
+            case EfiRuntimeServicesCode:
+            case EfiRuntimeServicesData:
+                printk(XENLOG_WARNING
+                       "Setting RUNTIME attribute for %013" PRIx64 "-%013" PRIx64 "\n",
+                       desc->PhysicalStart, desc->PhysicalStart + len - 1);
+                desc->Attribute |= EFI_MEMORY_RUNTIME;
+                break;
+
+            case EfiBootServicesCode:
+            case EfiBootServicesData:
+                if ( !map_bs )
+                    continue;
+                break;
+            }
+        }
+
         desc->VirtualStart = INVALID_VIRTUAL_ADDRESS;
 
         smfn = PFN_DOWN(desc->PhysicalStart);



From xen-devel-bounces@lists.xenproject.org Wed Jan 12 08:53:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 08:53:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256387.439919 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7ZNh-0006ja-88; Wed, 12 Jan 2022 08:53:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256387.439919; Wed, 12 Jan 2022 08:53:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7ZNh-0006jT-4Y; Wed, 12 Jan 2022 08:53:21 +0000
Received: by outflank-mailman (input) for mailman id 256387;
 Wed, 12 Jan 2022 08:53:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=no1k=R4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n7ZNf-0006jM-Tp
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 08:53:19 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 165f8ec5-7385-11ec-81c1-a30af7de8005;
 Wed, 12 Jan 2022 09:53:18 +0100 (CET)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2052.outbound.protection.outlook.com [104.47.12.52]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-25-MnSwxJa2Msq6SxmCFmzSyA-1; Wed, 12 Jan 2022 09:53:17 +0100
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.4867.7; Wed, 12 Jan
 2022 08:53:16 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Wed, 12 Jan 2022
 08: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>
X-Inumbo-ID: 165f8ec5-7385-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641977598;
	h=from:from:reply-to:subject:subject: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=N75xGj0F6kP2cIQX/7aIQCQX5Rekzh56qainzDvfUU8=;
	b=Hc2e+/kcIHslJ8bQ+LfAc3liIu9MrdYwSulVX9Lhlb+bBH86HhA+9wegUac6r9r7ChjI6u
	F6rQMGCPiLP60xE6Y1O3MwW7TUMg+QXdmwupsUPvW/4+MwHxmusXIwQKwysw2T21Lwn1fX
	iObiPmj7uYePHdFt0gd+n7fc7JxghSk=
X-MC-Unique: MnSwxJa2Msq6SxmCFmzSyA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jFDK4wrZdMa6aQemNUR4Oz2xDBirrfVbobE0LboPX+YhnGumoVtpICpMlTYAUp2QF1Ff34uKBAw8p6Jg8eXAfi/c9BLP6MlmxysEnpzlfioZ72FQyS5m9818MIAV8zaise34W3JO0Hw5JLUsGulYQDfQXviZZYnrmDgv7d7ZO3wLy7aBeJhAeymcWZESoTjfimK2iIw+8heT+k6dP8CGaqWEMTCQ8/i0J7m6n2GxvRV6+j+0MFzQuWg5VoHeiThJzZychu1xfIlcxrA928e0M8So18uQTlmauMnTtAEXinpBajZkoXmYdJ/1yon3c44TUDSWSHFo08HxZDWEJgpW8Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=N75xGj0F6kP2cIQX/7aIQCQX5Rekzh56qainzDvfUU8=;
 b=PDgvwXO0qkfbIU7iuXW/yYTsPRZu7jwURGy9rL7OS+m+OKlYA8Z9PK1ZajUQKoHH5jXsUEglC/yCdvf3x54IsCeZNL0hysncKQFnC2aw3pqI6pi72Rg68kv0tKwDDN6EYJxh6Yyz/WM6qsih8iwidJqZbJFc8pPhj/Wmp6h01lDZY3DiocxyqdxjTRtOCRw6gY0tZBnI8ieBnXwOqWWJRwFkb9TJOpxBipFFUHYldZIDANPnqD6Xp+oPmFlVLO/F5i3hH9/mjcwe7TlwRSs/C6uTABw9uanbKPc/h1zWTzhaF/Ce1f+kWKbKqMFwYsdBKcV1ir5DqLUS0bS9QQsWfQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <595b3447-0eba-dfc8-fa24-6bb8b964a137@suse.com>
Date: Wed, 12 Jan 2022 09:53:14 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH 0/2] x86/time: TSC calibration improvements
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR04CA0092.eurprd04.prod.outlook.com
 (2603:10a6:20b:31e::7) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5d295c1d-42df-4bef-6b3b-08d9d5a8f8eb
X-MS-TrafficTypeDiagnostic: VI1PR04MB7024:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB7024AE7AA8891168AB69DC04B3529@VI1PR04MB7024.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:
	1LD/90DuBcFPk7AnkXJAl9Av2Nhx7CBAN5g6vIBmkkpheZaBIwjD6Qp+Dgn9ZBx7TocSeQ/6MSwu+L4t6DA/uRWq+4KJCWibAZCjPaDaUyJ42DWfCyhi3k187Wr8Q7/zm0ivhommRft+82NYOo/r1MReR6WpoHS6pJiHPEshFA/LwPKzwWOiaj9HFYl4CrRqLybNBJalNuMh77+2uyRqsCQfafsvZSY1v+XVKzzdyhl4dV9N+ct6f+L89jQwsAPMpcyWw3HiQ7t9a9gVq8yYI0fQOSZ09JTZd+0KSj6s/GCkbmJ75Pn8V6PQaGLA3QsXu2bQM1fy/vWYxm1iKh+LabRICCFgAsDqzh3KzKQGsuteDEe3BHHoorSzjROWDkbT66H03LVO5NUDKc1KNze2H7pO8rtUBrCyXiejxGIg3GWWjDBXRDLlkF4J4hIwGex3oB0t6j2KUp9VMpIZ/TzMGrB4tHA3f2KeYnoEWhnxA7iDmZlDVYpEXS6BVp15ZujYYNgoZNpguAqBQbAZGMFIaX8nvGoDZArCsNh2Y0KXOZtne+k7n3Pg2eOJ9roCyGB4HnDDIKrMc1TEWbEYs8r54wtbmAJ+HFvWBS+T2kC8GcFXw0xum66voF+GX4Pj5B0RBe7KcagMAUC4KtARHwIPKYkN/79Li0oitzeuRw6SKdGfSwBhfBT0buFJjLQBqhQO4gQWmJTS61hHHYwGecCerUQ1cbvCIhG6jwYCMfMUuMw=
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)(38100700002)(4326008)(86362001)(4744005)(5660300002)(316002)(66946007)(66476007)(66556008)(8676002)(6486002)(508600001)(6512007)(6916009)(8936002)(31696002)(36756003)(2906002)(2616005)(31686004)(6506007)(54906003)(186003)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MytETElBSEhYQ0JUNEd1ck9Tai9QSzJ0QUpjU2tTekZJakpLRjJ3TGJyRkJK?=
 =?utf-8?B?SXBmOUplNmJIRHRmM29IYWdyakNDdzZYVEtCaVlHQm9ERDFoVFVvYXltSFhm?=
 =?utf-8?B?UVZZN3FlU201NW1VR3F2Yk1tdDh3NERxeTB3ZjB0OHJ4U3pvWWRrN2pGSDBH?=
 =?utf-8?B?aUk4bjRGZ1VVNG1wRVFJZ3oyNyszbVJJQU5OR0VqUmg4RHFCOGdZanBVRWhj?=
 =?utf-8?B?K1pnS3JDZjN6bG85cWRIdk9RRlpvelZXSVJrakRPMUd2eEtMdGNQN25FMnZD?=
 =?utf-8?B?NnB0WEVwREw4YUZNcGF1QVQ2S1NaRXNEcE9VbTMxMmt5UEU2Z2s4c0VrcDBQ?=
 =?utf-8?B?S2RMMHpGUXNBYVBEMnA2TzY0VVkzNlowc3VoQ0kwd2N0OVJJTE9lbFA5V0xl?=
 =?utf-8?B?YjNKekFEMWJDUnRyczFIZXNOQyt2MVU3Wk5OTU5JT1FUbkl1QzhrNTFzUUd2?=
 =?utf-8?B?ankxeE81WGFmTlpIYkx5NlFHMk93anF4TStzcUVVVjFoNldhZHBmaTdER2ZH?=
 =?utf-8?B?SGRHeDVLTXVPaFp3YVN3V3hvT2c4MldmNCtwdkhLSG5VUWloQXRVNER1M09v?=
 =?utf-8?B?TDM3OGdDeGpkUk1sTWxRZVd4c1g4dFkxQ0JmVUZZelk5WmZYbytqdTdJbVJI?=
 =?utf-8?B?NGpUOUhjWW54Lzl1SGZlOXBrY0x2S2VUZkNsZWd0VjVZWTdscHEzYUpiNWlW?=
 =?utf-8?B?aTNBeHNaMXFSajFLcXdOaG5PVkppZFFCNVdEYzdPc0NYY0ZnSTcvUzd0Q200?=
 =?utf-8?B?d056RDFUaVJidFR0VmVKSnJ3bEc0V0NBbHBxV1hHMzgraDlRbXdTNEtGek9x?=
 =?utf-8?B?clZ2RXNXNDdUcm5zUmxOSGNxNGZqSkJWbkNkSVFFQTVUM1E0MEVJcU9IZjBt?=
 =?utf-8?B?bmhnODdNMFAxM0YwWkhBWHJBMFBXc3p3VFVpTER2WEpwdTJRbFliOTljL1lt?=
 =?utf-8?B?RWd1TzNuTDdPb0xkcXlnNVVWKzVkQWtXTU8xZ2VMY0RVTy9TNnJjM1Z2Z0xx?=
 =?utf-8?B?UG5tODNkVTgvQUpVN1FMbGlLSmV6dDZ3Vk9wTEViaWxVZ3pwVDRZenV6OWhn?=
 =?utf-8?B?eGtsVWR5QloxeGZoWXAvaUFzR3d1R2lmaTQwcHVvcFdUaHRVWWNuTjlJcnVW?=
 =?utf-8?B?TUF2SXRhL2tXbmU0dmZCVWZ0dFBSMmxZWHpxaGhiZERIazVNOXdGQ3dPS004?=
 =?utf-8?B?MExhN0lxcnFtMGxCTXo0SzlNWDdNdkEwTVMzVG9RYm91WDR3b1QrUFBPSFRX?=
 =?utf-8?B?UzBqRmYrVUxGWUlGUWJHYkFqRFZ1SHFyRzE5ZjNGUVB0YTFkR0RtRkpZYW50?=
 =?utf-8?B?YWJFRktTSmw1YnJoNUdZbndlamFpNnUzZFN0OVZCemRGM0F5bGR6U0pHUzVx?=
 =?utf-8?B?bVZYQ0JVcm0vT1dBWXNBWjhGMFRoM0VOTjg3VUN4WFcvL2lDMEtBamtONnVM?=
 =?utf-8?B?Lzh3OWRQZ0FJUnF5MWx3NllKb0VEOUdwK3ErcmgwY0YvaHlCYkU1T0VQeGoz?=
 =?utf-8?B?M083WjdxSmJpY1JVc1UxRUEwNU1JbUVqMzhQTjgvMitXUTFjQUNmZTJHZjBu?=
 =?utf-8?B?ZWx0eVAzUHlSdWhZUXQ0SDcxNHhNcGtJNmNtaEVTbFhmakx0RWttQi9abTNx?=
 =?utf-8?B?ajA3d3paSDkyTGtoTk9lcnY3OEtyWEN6Nk16RC9PV3d3djdOZkhubHJ1SHFw?=
 =?utf-8?B?OWFlcHkwbkFWZmRUREQ4OXZJRVg3ZENrMGcxMWIwd0tyYjdNY01nc1plQTVt?=
 =?utf-8?B?alJqWTdqQ212YWVhVXZjUVFTUHVybDlxSTlSSmJVOEl2ZTYvN2N1MnNOQXRW?=
 =?utf-8?B?RlFxMnpOcVRRYWNkZ0tBcms4dWdBbEJXVTU3eVF5SXJsREJ5U3V6MkNtZU1i?=
 =?utf-8?B?MUx4aEZHNDVQS05DU1djYWNMeXFHdTVxbFd0WFFEQnNZSjZVVWZWTjR5VFFQ?=
 =?utf-8?B?SC8zNmRzc1dYcmNOUjVDNTJlS20rMWF3QmJQNGFLZEF5R29FdzM3NnlnQ2lz?=
 =?utf-8?B?Tk5Pb1RwVWdTZlVITkE5RmhmWlBwNERkQUoxRnpaeHp3Z3c5Mk8vQk81cExo?=
 =?utf-8?B?KzIxL0tCbFhVaXV0cUpmSzJkVEFBTTRWRzN6MkM0bVhsZ1o4cUFGM05uUjBV?=
 =?utf-8?B?LzN5a1ZxRmF4eCtLS1ZZeEk1dFZHdERsWXRQeWQxQm9pWExXOFp4ZjhkU1hl?=
 =?utf-8?Q?Cc6r1wyT9XjV2szsyq2+qrY=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5d295c1d-42df-4bef-6b3b-08d9d5a8f8eb
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2022 08:53:15.8984
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: N2AblN0FX+hbVTip9skMftLuqBVEX0Vc41oLbSMJ/I6Je6NgPdLoSg0wxX9jpHrx2FNrqvhmaveYIBmOuSZ4XQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7024

While it'll take some time to know whether presumably the 2nd these
changes will help with the originally reported issue, there are
immediate positive effects even beyond that issue, which is why I
didn't want to wait with the submission. There's at least one more
issue to take care of (see the respective remark in patch 2), but
that's still under discussion / consideration.

1: use relative counts in calibration loops
2: improve TSC / CPU freq calibration accuracy

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 12 08:55:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 08:55:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256391.439930 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7ZPh-0007KL-KJ; Wed, 12 Jan 2022 08:55:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256391.439930; Wed, 12 Jan 2022 08: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 1n7ZPh-0007KE-HI; Wed, 12 Jan 2022 08:55:25 +0000
Received: by outflank-mailman (input) for mailman id 256391;
 Wed, 12 Jan 2022 08:55:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=no1k=R4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n7ZPg-0007Jn-6e
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 08:55:24 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5ff1c5e2-7385-11ec-9ce5-af14b9085ebd;
 Wed, 12 Jan 2022 09:55:22 +0100 (CET)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2052.outbound.protection.outlook.com [104.47.12.52]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-32--BBvSMtZOzSgAIix_KULFA-1; Wed, 12 Jan 2022 09:55:20 +0100
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.4867.7; Wed, 12 Jan
 2022 08:55:19 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Wed, 12 Jan 2022
 08:55: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: 5ff1c5e2-7385-11ec-9ce5-af14b9085ebd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641977721;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=C2Vuior8PYuOVJP0shUnoF3HfrsoCqa7CjfiATJmeS8=;
	b=Duk2CCeN7omw8ZHPl53KkyRZp0A8t9Haah1NxCC42lBpY+Ep3tG3YqtW3gg5IaJL7bp+8I
	2U4pFIRPgAwlw/T7QWgzsgZsgmeGg06CIWgGYi/PsKVnUH2NZJLMCu0UFf5bJLsYa+8ijU
	oVzUMKdR5JUxQLa4C2SODILKhWpoa4o=
X-MC-Unique: -BBvSMtZOzSgAIix_KULFA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lMsmSVviw7eC0ArQ1pfS5UaY7FtzzUCD3PM4HCIojZ8oc85dllixiF1WKvRsHIxeKJK9ghZPIOMxMAxA1i3pmAO6+aNIljhqzLgxI5hzyMbGp5jaMfZpZ4Ln8fn8qM+2NzhYgbe4fQvO0roxWtJaqqZepWNeeF56LCBLe9U2GAv7cO18lKEE8K5HIfAdVmIPKV5ve1A7YDKuXOK7Z5WHM72W11BjAuIgmg0RrQOyycgZQDYvZsdJcDyPjJECs52T4CUdwSpyTjOGPIX2FFf4nu9TWOWW6WHHMUqkmNQov2HaKaFNbb61yWGIDxLEY3nf0ROyBNhdQ4PvqMUWyS+fqQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wxh9IDBUC18qTBjUbBaFY6EpgeSBeQZi1rjPikAJ6H0=;
 b=NVi5BzrFbF0CenDYt7fvIi7aYfWkMLe52X826PC0kMYcRxEA0ZQ1upDUzRhJkcu8n8XFp586xmF2y9UGMQ2X0iauvQipwIotlf8BmkgKa5Mpi5i9sq6dxjvYItqBXB4D5m59bdaND8WYerbktO/txhqt+Bt4LcrX8T0oq6cycqsCuGE9N6fX4hapzRb+q+8uQIFm/W3NIx10UiK7NItSmHtBeYZ5MbTZegICC/16o3HU3nb7I6iztIznjbk4xC1WZw7/Jb1ThWYyJgNHOjL/LtWYzXa6vXhGBPxMouv12OP8FmBSrRX3cWHgZ/X/gQyECJXxWF/O2ONXnheMcMIqeA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <34662095-6f58-4471-8bbf-1bdf67650fb2@suse.com>
Date: Wed, 12 Jan 2022 09:55:17 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: [PATCH 1/2] x86/time: use relative counts in calibration loops
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <595b3447-0eba-dfc8-fa24-6bb8b964a137@suse.com>
In-Reply-To: <595b3447-0eba-dfc8-fa24-6bb8b964a137@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM6PR02CA0012.eurprd02.prod.outlook.com
 (2603:10a6:20b:6e::25) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 64af267b-de62-4aa0-ccca-08d9d5a942b5
X-MS-TrafficTypeDiagnostic: VI1PR04MB7024:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB7024C16161F725F9D98F8EC0B3529@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:
	4KWMo+4j7GCf3VEvcLfQt+0vpqeAIhte+Q3aThnj60TzMW9wiyjU1HYZHPRnVfGASObEpZ69c3rRekvJf7H7YNQ9TSIsoJ0L75HtvvcfhabOLUuP2pWALwEHjrS7GTiMBdSkr1Uut5ml6mqY+3njCcp2J3tlfbIzviYYsI+lj+ea5mPiBxvElF6uN9yeHSnBmlNABLbVoAHRfMeK+0yBo1CK8lXxx3a2VsSsNUjqwIAPbS6+L3lG/dEYnvvFmoAEplf5AzgP8zvBT1HlALOs8b4A+0codCljns4MUDJ2RBiS/YgLQN05/d3v/oOGj1yAsYM36AhfvPx872eSPri+7qHKS6/ys97bMoSojK6K9MUwXPrmGN6Pyg/D7EvF2aQyTCSG5VuzURcPa5G45q2BX7h1cAJMvqvjFvxkV6Zjtyes3k+jJ9bkShQwO/3o7f1ZHszoVjj80IhnuOrRUxOD7eF3xiJ4s1hge+4EM0imzDjptU3ZRVRJaZvorfl6OVSpdoT+F+FAP22jhquU5jwHR36d9CyIewSF2ppQs4kP6ZDeWkQkb3HlHkavQYxi+1qqsO92X1VjBLlGnurb2JkaMV/BWAuOGFWdw3F4Zhji5O+2dtPKpRNddk59ncB67z2imgc/i3GHYi/KwUR2Oi48iIZ5120AKmwuPdJjHpzH2x0PBunuoFGTdNRDANnX3i1xSD8PPfkkJqJAyh4xAVsWL0BTQpEls9676kzlerKsyPy1a66bNjhL2rQnkJF0yV83
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)(2906002)(2616005)(31696002)(6916009)(8936002)(36756003)(54906003)(186003)(26005)(6506007)(31686004)(86362001)(38100700002)(4326008)(5660300002)(8676002)(6486002)(6512007)(508600001)(66946007)(66476007)(83380400001)(316002)(66556008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?crhOxdcn/P4SEMiZ257hkHGLLke1hTDn8EuoXVRURyPzqTVMS4028ErFqUKW?=
 =?us-ascii?Q?GqLkJpg7/m8wHdRYJ7nhS/EVWHaIpmwQwQ7Gupw+t+gFY5htOxyyj7hcL0Dc?=
 =?us-ascii?Q?2raGwwyAi2UVKC+cg+4ggTqzBuPNqS8iM04FgAhtztIJXDMP860XTh4cE2Oo?=
 =?us-ascii?Q?3Tc2xCtx/4IcsOSs2xxr1MUYV4ZEjgu33oT+qerhE6rHrZFtv4+seiIK2r0v?=
 =?us-ascii?Q?rODihZuA7oE9f+kzK31Sa2rluWI9FzJhCJ1DUt8VDjgMuMSx5DW9626D8w4I?=
 =?us-ascii?Q?4qWjU8fFtz0Nns+kM8BulQBE6EvUM/VA3OK4IvKrhBeCkIhzi/pzPaOdnlRU?=
 =?us-ascii?Q?BktwObE4APslwp0iePsbGJPeYgJECDKpOF22X5zHRK+6O8xwpar8kGbWVok3?=
 =?us-ascii?Q?TMN7wMe57NE38Rxmz4t6jT2/RFjR/fZb0GWU1tod53AnswYggmFLaVt76F1E?=
 =?us-ascii?Q?8IXG6rkxEf4EleFw6jIErqigQXJ9D2z2cyMRO34p421pZ8Akhfn+hcHX6PU1?=
 =?us-ascii?Q?FU/7w37zHb0JO/lQ/UGzrUn7Zaybx2IkIydTHXgL5NyYYAme1EGwdvmEm5+m?=
 =?us-ascii?Q?tugIDOWj5DiF1ngLbGqLWPl0nUgTSwxSlF2ol6DDnbIRtJpfTaiiqKQpC6/m?=
 =?us-ascii?Q?BGO61gTuSfGmEhIvSnwDVJcQtGVVI9daEoViMqWJuCQodMlqN6g77nc1Ubhy?=
 =?us-ascii?Q?XOwDw3thX67w64ADxuhUZlnO6lM2bLTOk6IdzC86WVzFTy2aIdhHwHW+Woho?=
 =?us-ascii?Q?C1wKtxnnebOOz2CqCarlGd+/9Hx1VGMDlkJ/f7pPEPZPMqfyQ+HNfbtx5TKV?=
 =?us-ascii?Q?rOaWkQW1k9e+W9vOvPxSoiZJH7EJr1o+cn+gE3PgIZWwWX5r/pYfkzGInJIv?=
 =?us-ascii?Q?iJoN3d6dCUUCrA/eBi/BBNUB0mGIhktXDhjGny3V7X5T0jXCpxRRGeE5J5KA?=
 =?us-ascii?Q?oQBuI9YIV12w4GvLpm0Olzc942yvo9I7lES5ObgcntuoED4Rw22xmUWxQOSi?=
 =?us-ascii?Q?jsK3Hi0J5B1OPQOcExiM5zavQy+sTrdRnIBK+NxhzMYngvSrDwuPx84Pay6x?=
 =?us-ascii?Q?EnHmSlTOKpJNHAYzRJa6KRUCgdnmn2xgTCwIiH3klO7uyvcRMmGOegRyTGvE?=
 =?us-ascii?Q?mroLgWKEKZGmZ8hxQZmxkcAv1fyiWGVeBIyshiSDyOBkaElo9jbINGd1MhhC?=
 =?us-ascii?Q?lSzZ/3FSA/HWVwAtEImUlRR+9jdn5WdBsOP6K+ce6pwHQFPfYg9tCODvjNrQ?=
 =?us-ascii?Q?wm5tz2KDH4mg+gjcBmcH5X4eah6p6Ww5wEsQ5DFdpl3L8eYDtpt6wwpl6c0z?=
 =?us-ascii?Q?/XsFjgoak8LPGBszsnAwRA4mRBaC5aArLM5zo2LegZexu1geH7AHq2Fc9HMt?=
 =?us-ascii?Q?y/A4qZcwVwFG2DToNwBCZsfrWIRGoRqVdpgAQCy1GkZrPPoV96OsGMAQKWns?=
 =?us-ascii?Q?+nagjpJq5jO9TozTo2p90OKIOKAubLl8i4FPRdGadUaGYz3XPp0d2PG9gWP3?=
 =?us-ascii?Q?ua7J/Pb93zMXYIQM++V2Cwmv5ispaMpcVClAnZHiLjmBvASCeM75OVBrwMeC?=
 =?us-ascii?Q?0OE+jOBfzAR+kDCrlxmUuUF04dnEvUhWjEG3cCzK8/L6s6EvvuVEG8yFEoIA?=
 =?us-ascii?Q?h/4ObserZhlmFz5N9bQ0UJo=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 64af267b-de62-4aa0-ccca-08d9d5a942b5
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2022 08:55:19.6355
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: RbFkoUFW46h17xWlUjCTub7vZR+KdZZ1nNx1jou9NnlkyTeN+WutT9xeWP3PwXq9v4uV6oVaIGg8GrfL8xKigQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7024

Looping until reaching/exceeding a certain value is error prone: If the
target value is close enough to the wrapping point, the loop may not
terminate at all. Switch to using delta values, which then allows to
fold the two loops each into just one.

Fixes: 93340297802b ("x86/time: calibrate TSC against platform timer")
Reported-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -378,7 +378,7 @@ static u64 read_hpet_count(void)
 static int64_t __init init_hpet(struct platform_timesource *pts)
 {
     uint64_t hpet_rate, start;
-    uint32_t count, target;
+    uint32_t count, target, elapsed;
     /*
      * Allow HPET to be setup, but report a frequency of 0 so it's not sel=
ected
      * as a timer source. This is required so it can be used in legacy
@@ -451,11 +451,8 @@ static int64_t __init init_hpet(struct p
=20
     count =3D hpet_read32(HPET_COUNTER);
     start =3D rdtsc_ordered();
-    target =3D count + CALIBRATE_VALUE(hpet_rate);
-    if ( target < count )
-        while ( hpet_read32(HPET_COUNTER) >=3D count )
-            continue;
-    while ( hpet_read32(HPET_COUNTER) < target )
+    target =3D CALIBRATE_VALUE(hpet_rate);
+    while ( (elapsed =3D hpet_read32(HPET_COUNTER) - count) < target )
         continue;
=20
     return (rdtsc_ordered() - start) * CALIBRATE_FRAC;
@@ -493,8 +490,8 @@ static u64 read_pmtimer_count(void)
=20
 static s64 __init init_pmtimer(struct platform_timesource *pts)
 {
-    u64 start;
-    u32 count, target, mask;
+    uint64_t start;
+    uint32_t count, target, mask, elapsed;
=20
     if ( !pmtmr_ioport || (pmtmr_width !=3D 24 && pmtmr_width !=3D 32) )
         return 0;
@@ -504,11 +501,8 @@ static s64 __init init_pmtimer(struct pl
=20
     count =3D inl(pmtmr_ioport) & mask;
     start =3D rdtsc_ordered();
-    target =3D count + CALIBRATE_VALUE(ACPI_PM_FREQUENCY);
-    if ( target < count )
-        while ( (inl(pmtmr_ioport) & mask) >=3D count )
-            continue;
-    while ( (inl(pmtmr_ioport) & mask) < target )
+    target =3D CALIBRATE_VALUE(ACPI_PM_FREQUENCY);
+    while ( (elapsed =3D (inl(pmtmr_ioport) & mask) - count) < target )
         continue;
=20
     return (rdtsc_ordered() - start) * CALIBRATE_FRAC;



From xen-devel-bounces@lists.xenproject.org Wed Jan 12 08:56:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 08:56:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256396.439941 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7ZQc-0007wJ-38; Wed, 12 Jan 2022 08:56:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256396.439941; Wed, 12 Jan 2022 08: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 1n7ZQb-0007wC-W8; Wed, 12 Jan 2022 08:56:21 +0000
Received: by outflank-mailman (input) for mailman id 256396;
 Wed, 12 Jan 2022 08:56:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=no1k=R4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n7ZQa-0007w0-Nk
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 08:56:20 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 819810c0-7385-11ec-81c1-a30af7de8005;
 Wed, 12 Jan 2022 09:56:18 +0100 (CET)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2059.outbound.protection.outlook.com [104.47.9.59]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-14-p82mavivOleOJj7mYFiXnQ-1; Wed, 12 Jan 2022 09:56:17 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5167.eurprd04.prod.outlook.com (2603:10a6:803:5b::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.11; Wed, 12 Jan
 2022 08:56:14 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Wed, 12 Jan 2022
 08:56:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 819810c0-7385-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641977778;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=gaTdc3QeNtdfPvaqCygV/XiXFfQlC7iAK7RBUOO8E4A=;
	b=WQzO68eqf45OKRKFfzI5xLTKx2foZ/9c6d4i/pZzAR2q4GkM9T3LaSMNSm1tpqzIr+uLYk
	RVf1rZdMQFVlAbZ2qmg8r6w83QQbXccl04jxLULkRhELcWDTepuqLZICKfm1kk78qIiOQI
	Sj6s9JapgB/3+KxtGoAw4nMy0CuZmR0=
X-MC-Unique: p82mavivOleOJj7mYFiXnQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dSu5wwu85WB6OGmOTOFh2QdNYJUPPulcSE+GJJizoReuemDQ9grSWezEg+xr4d+xFpO1qW19AnJjUOmFTSDoX9ynOOMrn6veOO4QIoREQslQCS/ESS/+UhTr3Ea9o04hGkIR1bOm1uD3J9PapHTnu1fZf8MlWJZf23ER5+DEEKuoesBt6XUAY/ZbnMHXEAulQ/5buYzRgnzVo6rZlSMnLRTFimNrIQaJG9W/6vIy+8uuyUJBX3wEJyhkIDxBodFV38goY5gqVGTLC2agsLqNubTl353JWdvsBNIDiNnGojtNaWwgdMzPb1hRmh6VKjdjzb0bG30uViYaplJNTliIPg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CrmwLre874s9XIXxDVJv2DhxFGuz4XuU3it6eTatltY=;
 b=gKV6mR8F211AHdHy9m9IWMBiutM22Yo2/gCZXBj/WmrpD1rnpEhlqKl3UpN8rJzROopVNwOzUNl26L4nqbBBmXtcyq0yjmmi2J+cv4uCeNY00CcOaHGNAfW4EEAucjSeW3+UJGTrVwKtAybrUMmfogruL578cyc5Lq2nhwSsiYBaUNoz7MxiDOm79Ykn9XDr/nCK/M0RngjlAOJmeWKhn1QeGmDQVyY5AN01Oyk9Myt9vwir8p/48S6enOXHCxCj19Tn25stLJLBMTq7X+ioB/6e4gKwkl6SWhwZ+/GfktEaVAEBTMVNVcJVYjll0TyRtbUsZ2q6VOFUo45S23woIg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <85939a58-ab7f-31ea-1014-91cabe746046@suse.com>
Date: Wed, 12 Jan 2022 09:56:12 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: [PATCH 2/2] x86/time: improve TSC / CPU freq calibration accuracy
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <595b3447-0eba-dfc8-fa24-6bb8b964a137@suse.com>
In-Reply-To: <595b3447-0eba-dfc8-fa24-6bb8b964a137@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM6PR02CA0020.eurprd02.prod.outlook.com
 (2603:10a6:20b:6e::33) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4362bd33-7722-4b6a-147f-08d9d5a96360
X-MS-TrafficTypeDiagnostic: VI1PR04MB5167:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB51673BE02E69FDD3CA6BB8D3B3529@VI1PR04MB5167.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:
	owatKwgEyiBtNdCyDPDrRAQAV/REuZpsAE966cAji0RMaMvRwE/dMEo1TEUxSeSY3RxJw4wkaaQ2eRVmYNzoYw8UJV9lAgKWSd5NMd322ImaS84Od99b7WdB1hGPGx6q8V/I/GJXtXuqIxSmXZ0Gb8kVMKObakqMwhNQUDeCbOCw/R/NxUqKwpFfzFey/mQH+PzTB3zOh0ju8GyYD6xAa1AdtOVACJB4oycePJgAZF2t4IKFnF/3o+eMT6cvdgWuIXqVOEuv1leKKfeZgVw2KhxCLQc4JjhBTbg5AwYsli4MiT1E01K3dgJqnlSd0+jqr43NkzV3RKbR/b0bWHlkfls/IuF2Ol2oUK75CpF3rFIa/vdEX24ST3/jmkA0wIN+pHKcq1MpwSFjcYnAphTYr335csnPDB0js6ra3PX2xm2UPgw5asS224rZZA/WpOfBTubTThvCR6WRayyh82DmrD7GjbsrK9N3KDDgEBwYp5ZQXR7aT6AV2r/MB074Wr8t+RpDpN2xk+5JhQeq4V/oh31LYoQS9kazpB8XDwM4nYf48cd3pY/S+rB2EDSx2oDoMQgIiSLy+MPz1GbkZWFtSoXOVONWTQkO/UGNLUfhKSpN4l0Ce6XkiOaFT3YyAHrAGG/jqA5ICA8wT27YoK4VDVjQwl7KAd7IFjbVfDOHfKIuNS6NaYDbCuC2ZswfhhhgusDvlLnQ3ATzHa7akyX821eolZemZPA56O8VOfJOFFqr/HhqMSILXx78bbc5LAG9
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)(26005)(316002)(36756003)(31696002)(6506007)(186003)(5660300002)(2906002)(86362001)(2616005)(6486002)(8676002)(83380400001)(4326008)(6512007)(66476007)(54906003)(6916009)(31686004)(66556008)(66946007)(508600001)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?lo+RVx5dFUtjEPN//JsCtB/QWB81TUhzKk7T5reFlCpytbJHc/DKjTyoW3b1?=
 =?us-ascii?Q?keIbhyP5r/6/YN9t2zVpg+gsRJcmtOyMU3yeTQSxnqiX2gbkE9ewGU6+XcSh?=
 =?us-ascii?Q?7kiF1Q6Y5RLE8ZEZX67R7/hBsxWuPmmYBcfQBXD4rLs9GUm3dCHKoSpA8jLu?=
 =?us-ascii?Q?q1eXbFEdvh8Snu8IMuslZ0jnDaOcefD/BYIwm+IQUFmXZUz25RCwMCzP5huT?=
 =?us-ascii?Q?52TNkJIjAyqlt+AX+kdXfhDYZdCMbS1N9ZfQpqTwvr0KwzF5PnANZLX2SCrb?=
 =?us-ascii?Q?Tpb0vk60fLzXyhvOjD3lK3bQiaCLZmo+Sm1gizyDZIKZsyATkUvA6bW2Raqn?=
 =?us-ascii?Q?qJMWWWX5F9C0D4HFYwcLYAOWdQ3qY+Bfsqgr2YxmZoBeFLhj6K2zK0pQYJD6?=
 =?us-ascii?Q?7XbGNO+gTs7/MMezcJiF1CCsbIZnGYBCL/0JBnetD524lsUKVvM7uP8iFRYL?=
 =?us-ascii?Q?aUYu1gu9XoXS+Yncf/qCFZiEUgnkGrlCmnVByXxnlGKTrhtm3Yh1xIRQLPsE?=
 =?us-ascii?Q?A7jjZMjrYVffR955oSgFKsRrjV0aZxIqPd9UtGMsCrb/m40qYJMdedTHk5Lx?=
 =?us-ascii?Q?X0Qpb+mvxaGwrQxZhgsR7wYS0ctrX6psS9JgzntPhvrcc1oz+8kceKIr9EGJ?=
 =?us-ascii?Q?4RTK1Z8qAKYxoCX55WGsIVYx0nbUdFceQ+UPn0xW8hLZz4FIquaWh7XXMhYt?=
 =?us-ascii?Q?s0p1m5pURtCOWWc30LBJE7AIUVsbqdKOKqwvoGNquJphGFFS/TiQNKN/yYFc?=
 =?us-ascii?Q?dtzrl46aQ+VUtLbHwUcfYlufSe1UuandjPcxolU9DsmixawEo6qyaEVh4avd?=
 =?us-ascii?Q?b6sDNW3itqPJu1avs/cQAWkn2Ye5Je58J/I/9CSvF9Mf6PrsDPh0uPgAEbc4?=
 =?us-ascii?Q?UNgg5yl2dsmwPaRTYm7MHE7/21UsOzK2MfbLMiVSfqs8U3rhXk09TEJmU3b0?=
 =?us-ascii?Q?vG/E2PadMzNcoKsFYKvAsllP10saWad3Qofh1pMG1gwA7Bv0dZ2AROXFpgbG?=
 =?us-ascii?Q?IuF9Z5sOxOPTAhcHLwVFlmdi9G0qirkgDhJfJAWrzNeUJRNOknnwqqA3Tpqm?=
 =?us-ascii?Q?+mEMUkyhgiSAWTFtc9zKWNSERcO2Gj+UHVzyJoi5LyE4xF+V9aFib/7emnFr?=
 =?us-ascii?Q?+nO+m2I/G8GF3yk4HED0JTY+mRbaYcIGCUhDUZGc+P+mL+J0qf+vtp/7Tb2E?=
 =?us-ascii?Q?/C1LCEynoTK4GIfDYGwlvGpRFnCzN/R6/68ELl9CVc5SCCxkv5wlKMg3rda7?=
 =?us-ascii?Q?uPWVn/zYHTEph8vLn8Q08jlt/UwYP4aWOQDLoFb+ztugJdxzuYwWRf+pwzVt?=
 =?us-ascii?Q?o6N6EoBDnggCeEZS3VrjsSLxBVxJSMEF8juejhpzF54p3/HHnrnWI8Ccs1am?=
 =?us-ascii?Q?yzLPm9J+U3JXGSuScSdZuymA+pvYfRSp270KtYUx4i8cqPe+Ayx7+9+EQAZ9?=
 =?us-ascii?Q?rdViCxifv9RxB0jcGOvRlutsMVWFrKTehwzAvYu+6wkirLZGUTrot46H7MOK?=
 =?us-ascii?Q?z1207qrnQ13EXFthD8/aHaYLVj67xPEhxkaypJbws2y+L1sFKBAwWUu+9Tz2?=
 =?us-ascii?Q?RbUsYvMslAi4KZCMlxVohqmK+/K3DayI9BsyIfYdtcrWGzSdbNn38MJCHBkx?=
 =?us-ascii?Q?uS3rcWWn/TgPCM4h2nNjwo8=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4362bd33-7722-4b6a-147f-08d9d5a96360
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2022 08:56:14.4415
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: IuJVm1vhOhb4wDjYoP5SfL82/ecbb/88TLeWJkkjhHTD9/BAL9MzNqwRjiteDEBWPqNy5NO+IIF+kSXPXZ24gg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5167

While the problem report was for extreme errors, even smaller ones would
better be avoided: The calculated period to run calibration loops over
can (and usually will) be shorter than the actual time elapsed between
first and last platform timer and TSC reads. Adjust values returned from
the init functions accordingly.

On a Skylake system I've tested this on accuracy (using HPET) went from
detecting in some cases more than 220kHz too high a value to about
=C2=B12kHz. On other systems (or on this system, but with PMTMR) the origin=
al
error range was much smaller, with less (in some cases only very little)
improvement.

Reported-by: James Dingwall <james-xen@dingwall.me.uk>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
There's still a time window for the issue to occur between the final
HPET/PMTMR read and the following TSC read. Improving this will be the
subject of yet another patch.

TBD: Accuracy could be slightly further improved by using a (to be
     introduced) rounding variant of muldiv64().
TBD: I'm not entirely sure how useful the conditional is - there
     shouldn't be any inaccuracy from the division when actual equals
     target (upon entry to the conditional), as then the divisor is
     what the original value was just multiplied by. And as per the
     logic in the callers actual can't be smaller than target.
TBD: I'm also no longer sure that the helper function is warranted
     anymore. It started out with more contents, but is now
     effectively only the [conditional] muldiv64() invocation.

I'm afraid I don't see a way to deal with the same issue in init_pit().
In particular the (multiple) specs I have to hand don't make clear
whether the counter would continue counting after having reached zero.
Obviously it wouldn't help to check this on a few systems, as their
behavior could still be implementation specific.

--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -287,6 +287,23 @@ static char *freq_string(u64 freq)
     return s;
 }
=20
+static uint64_t adjust_elapsed(uint64_t elapsed, uint32_t actual,
+                               uint32_t target)
+{
+    if ( likely(actual > target) )
+    {
+        /*
+         * A (perhaps significant) delay before the last timer read (e.g. =
due
+         * to a SMI or NMI) can lead to (perhaps severe) inaccuracy if not
+         * accounting for the time elapsed beyond the originally calculate=
d
+         * duration of the calibration interval.
+         */
+        elapsed =3D muldiv64(elapsed, target, actual);
+    }
+
+    return elapsed * CALIBRATE_FRAC;
+}
+
 /************************************************************
  * PLATFORM TIMER 1: PROGRAMMABLE INTERVAL TIMER (LEGACY PIT)
  */
@@ -455,7 +472,7 @@ static int64_t __init init_hpet(struct p
     while ( (elapsed =3D hpet_read32(HPET_COUNTER) - count) < target )
         continue;
=20
-    return (rdtsc_ordered() - start) * CALIBRATE_FRAC;
+    return adjust_elapsed(rdtsc_ordered() - start, elapsed, target);
 }
=20
 static void resume_hpet(struct platform_timesource *pts)
@@ -505,7 +522,7 @@ static s64 __init init_pmtimer(struct pl
     while ( (elapsed =3D (inl(pmtmr_ioport) & mask) - count) < target )
         continue;
=20
-    return (rdtsc_ordered() - start) * CALIBRATE_FRAC;
+    return adjust_elapsed(rdtsc_ordered() - start, elapsed, target);
 }
=20
 static struct platform_timesource __initdata plt_pmtimer =3D



From xen-devel-bounces@lists.xenproject.org Wed Jan 12 08:59:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 08:59:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256401.439951 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7ZT1-0000Bg-GW; Wed, 12 Jan 2022 08:58:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256401.439951; Wed, 12 Jan 2022 08:58:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7ZT1-0000BZ-DQ; Wed, 12 Jan 2022 08:58:51 +0000
Received: by outflank-mailman (input) for mailman id 256401;
 Wed, 12 Jan 2022 08:58:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=no1k=R4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n7ZT0-0000BT-7z
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 08:58:50 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id db6f004d-7385-11ec-81c1-a30af7de8005;
 Wed, 12 Jan 2022 09:58:49 +0100 (CET)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2057.outbound.protection.outlook.com [104.47.0.57]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-7-nFagUA8zOtqKxmfUNr9d5Q-1; Wed, 12 Jan 2022 09:58:47 +0100
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.4867.11; Wed, 12 Jan
 2022 08:58:45 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Wed, 12 Jan 2022
 08:58:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: db6f004d-7385-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641977929;
	h=from:from:reply-to:subject:subject: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=qrDBjtlHNL0vZBboJ96Xxy8oNO05U40g4Flg56XKv7A=;
	b=OLfpwZUJzwEVGXC/ZM7uNrfidMJu/Xm7/TP9v6GlVMD0PyAyGRW/+UeH0oAFpUuCidr2sy
	7hZ+eDCtKq/Zu85Ok8u8KQp1g0X/pKjCR1sY3IX7mhsWM1iksc1uRYnFyp4LKTEfQ8Od7Y
	Ij+dslxkTPhf0tVlI74axrQMvENrt0w=
X-MC-Unique: nFagUA8zOtqKxmfUNr9d5Q-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FWMISnPiQadW/kP1ke3K0Z23N3coa/GP+hYqIkGP5xb0qlDPm2w6RC+0RZNs2meZ5JVVs3v9H9/jXtnzAjIe5OBisOqAbiDuo+K0rrrKYd8CZA/KQhV60Pc/4JaCoEf6/NI5bvqxmGErvcZzs1zeS06zPRaEdIyGZd8xA7bCI2PEwHHnNaZg8gQkhxV/r0m5vtkHr0ZvewrCkFSCR08SITH0aYTncpioyhUTtRjgTjkDrpOq9+s1zj0ierVF69CNFts6NwhH8YUwigeDRFcXbAo/ZDHHFzKkMpKfgflXBailDwtkLV/t0BNKvFKsow7HCbVvYnjVF78eSpuKyfa/Pw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qrDBjtlHNL0vZBboJ96Xxy8oNO05U40g4Flg56XKv7A=;
 b=AUuGJlw+kODXAL6oH0Is4YHK3153jpItpxyfkIeNWe+x7bbDLp2aMDBSQXkCQLJNMXUeGKx3GDJOK8xAlKqOBz3y18I8not3C6FFSbtswlNoWxvoQoU1XuBsrDmYp9aMQef6PDGLDPHWalO4jhr4M2dYtGYkDrbmB/I1XsgVAjBDkn5uuizUut7ExG7Zo1HPUuK6Izf+J5ndJ2W+dx4Do627FkAXgb/aV8Bb3jZMMEsKYbDEorOeJ4aTjO3nwHTHRs2QngUZr7Des+1FE97QC0qzwAY/NsrgwJcReXzHbsH0lXBt+LTWDn7pT4lE0BKOQP/nuaC9byTtgmLbKqwoiQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <87997f62-a6e2-1812-ccf5-d7d2e65fd50e@suse.com>
Date: Wed, 12 Jan 2022 09:58:43 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/time: switch platform timer hooks to altcall
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR0502CA0006.eurprd05.prod.outlook.com
 (2603:10a6:203:91::16) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 76a2fd9b-6f5b-4697-a537-08d9d5a9bd7b
X-MS-TrafficTypeDiagnostic: VI1PR04MB3120:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB3120FC0DEE94440A27F87248B3529@VI1PR04MB3120.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:
	G/dLdwGca5tehNe199ydyGEe8OkeKm7mkwTQtZzCYVx5MJraaavjqcGOGKPNxEnMJYPhwO5O2LdKgg3Utd/H0Bj4WB7NwKikW8yD7dVduCeDTytHZWXe+PlidTejpf8VrSumlo6YwBXbT0ms/ynUnWa65obdCzyjgS1gLM3xqkCJqZlt9lMM63vc3Ik888IUxdgnnq9HvX2S2hkIMxcJO6F6MZKZrAnphkaHMHLioktRI9LyFjUMuxtbTB1/sCq3WSiFJumymbUA0Cj3a5fNybL1M8zKC7kHfkNZ60zafAHNIWfv/pz+4OmJI2g/iQ6frM/yZ9gDmRNT/7PlP89Frkseaexnl4Vvqi7HpyA/Ph1hR3FSyPDgTCWskaPqfa3sdaT4iJK2NVZyzR4BVyUSfmc1Da/nhrNnJfk/DlhMSpxaFHeO2zvezU34f8SaOerds8tf+uPsq8o81JfVU+zHjDfyz1r53WxcpkSZe5jzTCLRTHytWLH7X3RAijDxSAlMyCJ0ut77XWtcbz6olcTRSjNERWx6OZpumPGPwOEMeK1+87YgcbDjn5AOwnlQAC0OcJDwPJdp9dcZEpai/X6bNm7jbv6MuE0fqpR1R2gGaLyyQUJeQAShVdK7AcEcB9ZrFRMwryOMiQRAVBlE9fpHqQCx2b0yHSuQgkk5i0x8qYS/2JltF9niB+Zt1SQokyfZgOCUHW+QAvKlAE7f0J3fw6cnp3kVrGRCrOm4WUpVvwg+3on1u5KhLQ97rTMVjHeU
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)(66476007)(6916009)(2906002)(186003)(26005)(66946007)(66556008)(316002)(86362001)(6506007)(54906003)(5660300002)(36756003)(8676002)(8936002)(31686004)(38100700002)(6512007)(4326008)(508600001)(2616005)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?akl4MHE2QWhDM0pRNVdsckdMRUk4UU9tVURITFR5OWtZY01vTng3OFJ6Sndn?=
 =?utf-8?B?VVJtb2ptVjdaNEt3OUdmZ0J5VzQ2RUljbWhJbkVnNkpPVWxGRXpqWUJqY25y?=
 =?utf-8?B?ODlTeXVqTEpZNHdNdlBRM1pFaXlhSnBlMk9NSGpkOWhBdWNMb0l0c2Vya2Fs?=
 =?utf-8?B?Z1dmQWZCVWRwQjRzQ3dCZk82dHZpR0YzWlBRS00zVi9GUGlnejFjVmtyTnRm?=
 =?utf-8?B?bTlaMXI5ZThZRjR1NUo3d0xkdVhLcFJKQlN4cGFmYW1JRHA1VmljSmFZM0sx?=
 =?utf-8?B?UzlhcStrTUExTmhWazRzOHlTZWlXWkZoVlI5K0N2UjBNMlJXYUYvKy8xNnVJ?=
 =?utf-8?B?WjlzRWg2N2wzMmpibjlHLysxdG4vTFJnRHVzelAwU1FVczN1WFVLZzc5djkx?=
 =?utf-8?B?cmQrWDhtL3BmUWY2WWFhYVNDNEowZ0QrZ2p0Ukx5ZytxWDl3R1NybDE4RzY4?=
 =?utf-8?B?R052S05RaFdsUXc5K1pZQklaRkxUT0VKeEVmdktwUlZGbFRMaWxzYkxLdmRH?=
 =?utf-8?B?Y3ExbDI4ZzBMbWljQXFLdFI2eDdJRjFoWHZncTNiRm1RYVRzMmZqYit3RVJG?=
 =?utf-8?B?MHUvMnZoL1A4aWo4UUNGc0dtZmZFREV0eTRkRUMvZ3NjSE8yb3k2aTMzTmRa?=
 =?utf-8?B?dDhqek1meXk2OG1kMWFOMFo2cW1LVENqVnpUOHcvbXM4RUhOb1B4ck9HRkh4?=
 =?utf-8?B?Y3p1UDllV2JYaFdkOWJCa1pwSmVNR2lnUkxrd1RSRVArZzBneU50VW5RMDdY?=
 =?utf-8?B?YTVQZmVLV1dMdDZ1eENGemFtYmJmMWpFNlMxZng2L2d4WkVYd0NDQUtGY2hq?=
 =?utf-8?B?ZlBmakloZEN0dUhyZ2V0SGp6NDV1VTBmWUNQSGhrdk5Zd1lOZDJBY1lyVUNZ?=
 =?utf-8?B?M0NNRy8yaFYzWHZnc2wwcktweGdzdGw5QnAwbU11RGJFcnJIVDNIUTQxOXVj?=
 =?utf-8?B?cU5uS1hHczFZaUhIRmNoTHBpc29HWTZTSFpteGdpRFhUUk5FSDZOVnM0SWRB?=
 =?utf-8?B?QlNNcWxWWGY0YkhqTU9QSEJGYnc4bzhyb2ZuN2V0N2NkNzNUOGtSQjFtTUJr?=
 =?utf-8?B?dTlpVUtKT0hkazgzeVVXL3VCMTBaR2o3Tk0xWExBVnhzR0hibFBNMlpXTjNr?=
 =?utf-8?B?N0JBZXdtVjY0bkdJc1hnaWtzN1FjcTBSNWRtcHFSa2pmZGhJZG9LTzJTYVhZ?=
 =?utf-8?B?MDJZSjljMko3UFhZY1MzaHhiQTc1Y0Qva1R5R1piUWhYcEJ2T05udnpXYmJX?=
 =?utf-8?B?NGVMQnoxdmxPOERDbVpzRUx3TWhrMUovOTI1TklpMjhCeU93QTMvSnJTTzgy?=
 =?utf-8?B?Y3hRQUVhSDVEbDJNNURQSmdlcnI0eE1ITktYcXU2YjdYbFVvSGxiZlJqR2VU?=
 =?utf-8?B?SjlubUZLWThCL3VyQ3o3cnZucXh4OU1NSS90VkdoZUlWcnE1U21GaFVFVXl5?=
 =?utf-8?B?TDJITjFnZ2dZbzdib2VaM3plWWx3N2xvOGFwaWNFUWE2TG5Lam0rWFBRMHV6?=
 =?utf-8?B?QzVKdVpmZjJqb0Z0UEpkVm41SEk4R1R5djZ6bUxzNC92L3RHeVExQzdMSWh4?=
 =?utf-8?B?d09uakxXMGVncmd4K2kyUUZDV1M3YnVIZFUzazdWb2pxNzR1aVNMcDJ3UFNN?=
 =?utf-8?B?UlcwU2JYck91WWVGSGtybEg3MGRXWTF0L05ZVTU0Ujg5ZHVBUTB3Nk9GSlRr?=
 =?utf-8?B?UU9yQWFrOGptckY0Z3RLMHIvOWFCSms4K1ZrS3NxVTFqcHRDYlBYTG4zbXBG?=
 =?utf-8?B?akRzWlE0dWdlY0c1ZVRjZHVPTFFRNWpFbDU0VjBEc0RsSGpteDcrSkdUcjVT?=
 =?utf-8?B?andhMXpqRzFEK3E5dW5MSHlNdzdNZTNKendkc0xFWVlqa1ppNFB0eUg4NWw1?=
 =?utf-8?B?aXNjQllySU42cTc4ekdVb0o4akp1SzJKc3dOOGFWOFFqTXFnTjJyZ3ZCblFr?=
 =?utf-8?B?RmlicHRqaXlvYlVER3RCR0xjWGthS0Myb1c0dEsyRENtS3B5bVVOc3J3cmdG?=
 =?utf-8?B?dVdUcXhMOGJ2eXlPSFFYclQzaXYxMWQvdW9IaWZlMU5NTjRRa1BmTWZYMGlL?=
 =?utf-8?B?MHZCenl5bVlaRzM5MmdBc0Zya1dpNUpjaVpGd3FPMy9YSWVma1MvVU02MU9n?=
 =?utf-8?B?V0lSNDkzRkpCMnFmYnRVT0EyM1d2TGc0QVlmRDBZZVpsREtEZ2VqQVVGU2wx?=
 =?utf-8?Q?gaDlQw06i+BTtAkKxUHlOP0=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 76a2fd9b-6f5b-4697-a537-08d9d5a9bd7b
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2022 08:58:45.6301
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ToOV6vv2QoqusBX3F99X3p/2VHA9ozMcYLc1Fv44jwgZxevP3S04radoQeTbeMOUw9IZWq+agZY5HwmOedVWQQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3120

Except in the "clocksource=tsc" case we can replace the indirect calls
involved in accessing the platform timers by direct ones, as they get
established once and never changed.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Sort of RFC, for both the whether and the how aspects.

TBD: Overriding X86_FEATURE_ALWAYS is somewhat dangerous; there's only
     no issue with e.g. hvm_set_tsc_offset() used later in time.c
     because that's an inline function which did already "latch" the
     usual value of the macro. But the alternative of introducing an
     alternative_call() variant allowing to specify the controlling
     feature also doesn't look overly nice to me either. Then again the
     .resume hook invocation could be patched unconditionally, as the
     TSC clocksource leaves this hook set to NULL.

--- a/xen/arch/x86/alternative.c
+++ b/xen/arch/x86/alternative.c
@@ -268,8 +268,7 @@ static void init_or_livepatch _apply_alt
              * point the branch destination is still NULL, insert "UD2; UD0"
              * (for ease of recognition) instead of CALL/JMP.
              */
-            if ( a->cpuid == X86_FEATURE_ALWAYS &&
-                 *(int32_t *)(buf + 1) == -5 &&
+            if ( *(int32_t *)(buf + 1) == -5 &&
                  a->orig_len >= 6 &&
                  orig[0] == 0xff &&
                  orig[1] == (*buf & 1 ? 0x25 : 0x15) )
--- a/xen/arch/x86/include/asm/cpufeatures.h
+++ b/xen/arch/x86/include/asm/cpufeatures.h
@@ -24,7 +24,7 @@ XEN_CPUFEATURE(APERFMPERF,        X86_SY
 XEN_CPUFEATURE(MFENCE_RDTSC,      X86_SYNTH( 9)) /* MFENCE synchronizes RDTSC */
 XEN_CPUFEATURE(XEN_SMEP,          X86_SYNTH(10)) /* SMEP gets used by Xen itself */
 XEN_CPUFEATURE(XEN_SMAP,          X86_SYNTH(11)) /* SMAP gets used by Xen itself */
-/* Bit 12 - unused. */
+XEN_CPUFEATURE(CS_NOT_TSC,        X86_SYNTH(12)) /* Clocksource is not TSC */
 XEN_CPUFEATURE(IND_THUNK_LFENCE,  X86_SYNTH(13)) /* Use IND_THUNK_LFENCE */
 XEN_CPUFEATURE(IND_THUNK_JMP,     X86_SYNTH(14)) /* Use IND_THUNK_JMP */
 XEN_CPUFEATURE(SC_NO_BRANCH_HARDEN, X86_SYNTH(15)) /* (Disable) Conditional branch hardening */
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -786,6 +786,14 @@ static struct platform_timesource __init
  * GENERIC PLATFORM TIMER INFRASTRUCTURE
  */
 
+/*
+ * Override for alternative call patching: Since "clocksource=tsc" is honored
+ * only after all CPUs have been brought up, we can't patch indirect calls in
+ * that case.
+ */
+#undef X86_FEATURE_ALWAYS
+#define X86_FEATURE_ALWAYS X86_FEATURE_CS_NOT_TSC
+
 /* details of chosen timesource */
 static struct platform_timesource __read_mostly plt_src;
 /* hardware-width mask */
@@ -818,7 +826,7 @@ static void plt_overflow(void *unused)
 
     spin_lock_irq(&platform_timer_lock);
 
-    count = plt_src.read_counter();
+    count = alternative_call(plt_src.read_counter);
     plt_stamp64 += (count - plt_stamp) & plt_mask;
     plt_stamp = count;
 
@@ -854,7 +862,7 @@ static s_time_t read_platform_stime(u64
     ASSERT(!local_irq_is_enabled());
 
     spin_lock(&platform_timer_lock);
-    plt_counter = plt_src.read_counter();
+    plt_counter = alternative_call(plt_src.read_counter);
     count = plt_stamp64 + ((plt_counter - plt_stamp) & plt_mask);
     stime = __read_platform_stime(count);
     spin_unlock(&platform_timer_lock);
@@ -872,7 +880,8 @@ static void platform_time_calibration(vo
     unsigned long flags;
 
     spin_lock_irqsave(&platform_timer_lock, flags);
-    count = plt_stamp64 + ((plt_src.read_counter() - plt_stamp) & plt_mask);
+    count = plt_stamp64 + ((alternative_call(plt_src.read_counter) -
+                            plt_stamp) & plt_mask);
     stamp = __read_platform_stime(count);
     stime_platform_stamp = stamp;
     platform_timer_stamp = count;
@@ -883,10 +892,10 @@ static void resume_platform_timer(void)
 {
     /* Timer source can be reset when backing from S3 to S0 */
     if ( plt_src.resume )
-        plt_src.resume(&plt_src);
+        alternative_vcall(plt_src.resume, &plt_src);
 
     plt_stamp64 = platform_timer_stamp;
-    plt_stamp = plt_src.read_counter();
+    plt_stamp = alternative_call(plt_src.read_counter);
 }
 
 static void __init reset_platform_timer(void)
@@ -975,6 +984,10 @@ static u64 __init init_platform_timer(vo
     printk("Platform timer is %s %s\n",
            freq_string(pts->frequency), pts->name);
 
+    if ( strcmp(opt_clocksource, "tsc") ||
+         !boot_cpu_has(X86_FEATURE_TSC_RELIABLE) )
+        setup_force_cpu_cap(X86_FEATURE_CS_NOT_TSC);
+
     return rc;
 }
 



From xen-devel-bounces@lists.xenproject.org Wed Jan 12 09:00:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 09:00:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256404.439963 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7ZUK-0001Wv-Sc; Wed, 12 Jan 2022 09:00:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256404.439963; Wed, 12 Jan 2022 09:00:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7ZUK-0001Wo-OH; Wed, 12 Jan 2022 09:00:12 +0000
Received: by outflank-mailman (input) for mailman id 256404;
 Wed, 12 Jan 2022 09:00:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=no1k=R4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n7ZUJ-0001Wi-Rm
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 09:00:11 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0c2818d8-7386-11ec-81c1-a30af7de8005;
 Wed, 12 Jan 2022 10:00:11 +0100 (CET)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2056.outbound.protection.outlook.com [104.47.0.56]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-38-K5LKwEfpM1iKrIhsGQ7mAQ-1; Wed, 12 Jan 2022 10:00:09 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4943.eurprd04.prod.outlook.com (2603:10a6:803:51::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.11; Wed, 12 Jan
 2022 09:00:07 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Wed, 12 Jan 2022
 09:00: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: 0c2818d8-7386-11ec-81c1-a30af7de8005
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641978010;
	h=from:from:reply-to:subject:subject: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=99aq0vw8NRqNyBe+YhHkXBIjNUpFYn+VJxKaX72+69Y=;
	b=AO8AyPt1Uw3xZKXJ64quH8Ad1EqQJwkGFSvc64yqd0JgaMk0liPCSBmFaY3CGlaMTaUQHJ
	8AyokRp50X97gqMkAk0Kzzn4+149nVyzbHK3SzTcSPR0qJmMEzDt5BLfrBj5aWONsrU92B
	l+ScAA3rfad3mG5a5aijTn9rnctmHHY=
X-MC-Unique: K5LKwEfpM1iKrIhsGQ7mAQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Hq3Qjt5xNlO0Hu1MOkHgWSeruHkgT0NNR/NQvOzLGUDCrZadtpnYhKL0z756aFcZaj6FeJ8HG/nImGMD0otneNyBRBugxryWWV2ysH7qektcDxdyBUmRgsHM74WVgWDq4yK2mF6N1qvOWLyfq7yXFGT23nx5xfEXqtcT9cJmpqhHCtrU/bjrDrZ2dha8QViqoyfbAnLm19NARXzlOdQRBeR/YmEE5eogFyULfdY2m1R9mU1oqcte6lLb7+1zrLrzFXQQmpqbOB2ahKv/bCjDmEBBySOzM9PKW4OkrpnzQUxdN0A3mTUwIB/ZibJH7Ikkh4wr1PDwvj32mIENp9dtHw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=99aq0vw8NRqNyBe+YhHkXBIjNUpFYn+VJxKaX72+69Y=;
 b=NuVIv/FGXKOjUdRh3WqWrjCeK9uM7BqukvQ1K/4hKYzPic5U+OJK7qbEhEH8HqqOlXDHLr8asQXno7AlZoDtjS1LXe7uCDqpKoRjOUmKe94X0J0CngEefsVBCoh715CtpOsdxF9DJbEBbIpE/vdISWhBNSluTkTpvmi4+xgMipIXd6znvKhWKd6VtYiQVKNFHOK4OozBw8QaodaxQPD7bBU0/sPmK5I91EWhW+NiGg0og+xd9yOEulWOHz7yJQdVXMbzDv+h+EuSzblCJAhvMXjZpzAGmy26/8vLF28KhbOebXtqw2B3WsDQqZDxda29fXTOp45g/0EXWxeI95OGXA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <01baee92-9d7f-5a2c-d63f-1de390bc10e2@suse.com>
Date: Wed, 12 Jan 2022 10:00:06 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86: replace a few do_div() uses
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR04CA0037.eurprd04.prod.outlook.com
 (2603:10a6:20b:312::12) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 24f4a0c4-335c-43cb-5cf5-08d9d5a9ee50
X-MS-TrafficTypeDiagnostic: VI1PR04MB4943:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB494354B6E27013E5E6799C16B3529@VI1PR04MB4943.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:
	dWntAXfu+vdJXrD71MGQxyaO47ZKSwbByt3NcMWPGwwjaQIWcUq1AF8oTfPwYKUDxpitPJhCm8g7vsJiuW9U5M1Aih5mbu4lzf50aKV5tL66ee25DPjosUXNQy/+zRybqd5k1A+vpSJbqJygkkeCgmWJWRdlfjGez/+MtvJsgd0xHwzk0r0vN9YPjmFG4MlvnkYS61tq7GxAVVc9DBAojUnN0vEOyRLhhODKmwjV2iDXhZmiIfQprbWZ6G8nK1jQsh/dL3gBtOmDTjVnw8gu2WpZSUpfFdbqbNCZvXsY4C2R1jNXqd0VfEFCJpddTJbbL7I731OfoBGdystDfxB3vnCXIGT3d5Ve3B33+a+58/TAHkgKZu/ogC5OwiLGYRikI2SucugKQIAH5NrgYeqaI488moz3MBJzPT2BwhkU4HMqa/F4Az/uut/aYKumo7IyvX/PGBCisLvaFbeEJworgBewgApRW/ON+nqsS9gwNTxrk/GIDLoM5AwDyH/oc5jsVGnz37Mobq1PdpXAQLy0OfKbIOKyOZujjdLpt5lDIrCq0Qi3GUTFapeSKsEee6grb6qaZQD/G0Ye/vx1DuuHf6YooRJ16rhbybugcKk4apgtt2MQzn2V484eKbAr1EmX53RnHAuHAhXGxzYdtU2paDoTfT6cA3lElso9evPR+UvCQwmD/rBYn+R8TZzaNHXsLbuxaptX4V08WkAQ7l1LkjNucrSe7nwOiY0uvKbc1hw=
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)(66946007)(8936002)(6486002)(6916009)(8676002)(5660300002)(2616005)(2906002)(6506007)(6512007)(508600001)(36756003)(31696002)(38100700002)(31686004)(26005)(186003)(316002)(86362001)(4326008)(54906003)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SzFQQ0lFQU84eXViR2gxYS9xSGhVajZwV0RrT0h1U3IyQzg5dGF5SnpIRDlI?=
 =?utf-8?B?eGQ0bVFJZlBOTGRocXR4UmRRVTZFeEdybHRwcENpTndlSEU5T29haVZlMlhF?=
 =?utf-8?B?ZmVEckI2aUlmS1BnSnJvN1pYZHNMYnR3OEM1MmRFeGROVEJ6Z0JJYmh0emp3?=
 =?utf-8?B?bjZMMW8wZlRjelR6QVd4aU43NzdDNGZoQlJaaVEyV1BYVDJVb2cyOUVFZHRh?=
 =?utf-8?B?dWxaMFJxci9wRm5vSzRQMkhJcWFEWWVFeU9HSGVld2VlSHhwdTRGdjFacGgr?=
 =?utf-8?B?NTE0Y2Q2emZQclpnZTRXblZwZlljVzlwUmpOS0I3eC9SUnljV1F6cm1pVG5C?=
 =?utf-8?B?Njk2TFp4TE5OaitTRzlCT0REVWRxcTE5dkhGQm8vWk1wTzB4RnlOVVMwYUQ5?=
 =?utf-8?B?WDFhaE00V29mWkRJaGE5OG96WWVwTVlBUWtXUjdnREE0TUppVC9zYkY0VjhV?=
 =?utf-8?B?SkxyMnFzbXMvenBpTjd4dE1pWW9pbUZWSlpCWEVBaURMQjJPR0pNeEY1N25p?=
 =?utf-8?B?dUdXTEoxWnpnamMyanBWY2lIeXREdHk4eDFVUlFiMHRmZitYTjkydFZuQ2NC?=
 =?utf-8?B?R05GS3dLeHRzdmI1aTBSVjJabXBjWXBUQjlXSjBuWkpFU0RNQTRHbWhQUkZU?=
 =?utf-8?B?U1JDU0tIemNHb1hXNmQzdU9FTDZUOXJOL1hEK3JYV043bFY2eWRncmdYYlF3?=
 =?utf-8?B?VG94TjRlcS9valZKekZXM2dDRGpEc0tsb0I3cHhaM1NwTjRreFpINTE0ZDUz?=
 =?utf-8?B?Vjl5V3FoNXBIYjVpcXJxTWxBdlByN3UxY1BsQmFqdlkrQWVWeTVKaENIQlM0?=
 =?utf-8?B?MDNwTTN1dHZPRk43cFFvOTZUcDZlRytCdnEvQUpjdjFEKzE0dUtOU0JQWmxV?=
 =?utf-8?B?UVpZaVh1eVA5TnpPMTFWcnJyeExzbUVDR2JEOTRWMWV5dHRMUms1SUc1RkFJ?=
 =?utf-8?B?TnNWZTQ2a0l5UzBMY3cwR3BTakxiYS8xdzR3cmZuaVdLL1gvNzBtSVNGZ28y?=
 =?utf-8?B?V0drQlptOVZXbzVKMFFkWVRMY3ZxejVpTzFMQUdOUllZZ2l6eUJEM1VRS3pv?=
 =?utf-8?B?NXZDWHpqNVVJWFpYaytzZ05kRy9xTzltbHp5ODVpWjR6R1lsZ2E5ME0zZ2Z5?=
 =?utf-8?B?OStXdVY2eUE2U3h1Y0laSXArdWhWczZ0MTNENFltbnVzc0pnNkJaempORGlo?=
 =?utf-8?B?SkVEczNpU2pWQ21kMzJza0ZBQ0ppd0pqL3FmMjBscnVKMjM3QkwveVM2dXVR?=
 =?utf-8?B?Y1BwZC9qUS9Panh2b08xem1jVU9rcUN4MDI3T0J1cGsrVGpnUzBWOEFTeXFi?=
 =?utf-8?B?MjNZYnVPSnJWL28rcXhJY3FTeldSbmQ1NnIzWFZMU1NwbEQ2VGNYZElVb2pr?=
 =?utf-8?B?bmZORzBDYzNVQXJOQVNYbXNXR2ZHU0lua3hwYWRHb3QyNlV2aFBiNnQ5UUZp?=
 =?utf-8?B?T1VMdzIrTlN4UUEzRGlQVWcwRHBTd0JBbm55eTFBMUg1S1pYT21DWnJqYU5N?=
 =?utf-8?B?a1hCM09uRHpQY1kyVGdrbFIxeGtkMk8rUzZZbkZ4S0hFYWN1QzlVUk82VXRE?=
 =?utf-8?B?Z1N2SjBFK3dmSi9uOUMzY05OVTVndXlGYi9PSUJCV2RwMTdKNm1WSDdMMzV5?=
 =?utf-8?B?ZDVJTUk5Q2RpdGRqTC85NlFYcjlmWEttVnFONnllblRWQnFDYzd6b09GWk1X?=
 =?utf-8?B?QkVCa2d4MEpuRzRXMzQ0cG5zTHhuSVVGSzhoSUJnUDg5TjNBeWQvZGFBMGJz?=
 =?utf-8?B?Mk5KdWV0LzF5K2hFa3QzWWQ0ckdlSnVWTUxMUDNMbmhram5pZ2NOQzNsRkdt?=
 =?utf-8?B?THZSZkFUMFQ0MExMZnJISWpSdVMzaC8rc3RqWmZRLzQ5UnkrazB5Qm5sbWkw?=
 =?utf-8?B?Q3lsNldXNGlUalpER0pzNStHTWthLzNMUXozWThac1NmNjNpNVBGdjdkbTQ0?=
 =?utf-8?B?WDJiaEEyWXJvbmkwdE84bnRkRUdNcDJ1elpNTkhKMncyQmJwaXBMQ3MzY24y?=
 =?utf-8?B?K1RCRXN5UHczb20vYUd6M1BDMHNOQUh4anBLSVNiMmFtWVFQRGNMRmFZK082?=
 =?utf-8?B?RGc0ZklpTFFqckdKcmYxWkx2Zm1DcnVCb0tyU0dCWlBxM2Eva0EwOFM0ZmtH?=
 =?utf-8?B?eGRzWGxQU0pQRm5pN2Y2N0pzeFc2VlhGWVoxRm53YTM0WWVXRkJ5TlIyZE5O?=
 =?utf-8?Q?aNdUhfS52zUkPGKOzspP36Y=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 24f4a0c4-335c-43cb-5cf5-08d9d5a9ee50
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2022 09:00:07.5478
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: whVY8KKauIP2E84gIa3UPGBNHysyFN1pvElpe6j9pKRncw8sF3u9ZSyTabLpzzM/OABo5Fk2+eHYtuA2t9XxNw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4943

When the macro's "return value" is not used, the macro use can be
replaced by a simply division, avoiding some obfuscation.

According to my observations, no change to generated code.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Arguably the ULL suffix (in write_watchdog_counter()) or the cast to
uint64_t (in div_sc()) aren't really needed in code which gets built for
64-bit only.

--- a/xen/arch/x86/cpu/intel.c
+++ b/xen/arch/x86/cpu/intel.c
@@ -392,9 +392,8 @@ static void intel_log_freq(const struct
             unsigned long long val = ecx;
 
             val *= ebx;
-            do_div(val, eax);
             printk("CPU%u: TSC: %u Hz * %u / %u = %Lu Hz\n",
-                   smp_processor_id(), ecx, ebx, eax, val);
+                   smp_processor_id(), ecx, ebx, eax, val / eax);
         }
         else if ( ecx | eax | ebx )
         {
--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -105,10 +105,7 @@ custom_param("hpet", parse_hpet_param);
 static inline unsigned long div_sc(unsigned long ticks, unsigned long nsec,
                                    int shift)
 {
-    uint64_t tmp = ((uint64_t)ticks) << shift;
-
-    do_div(tmp, nsec);
-    return (unsigned long) tmp;
+    return ((uint64_t)ticks << shift) / nsec;
 }
 
 /*
--- a/xen/arch/x86/nmi.c
+++ b/xen/arch/x86/nmi.c
@@ -292,10 +292,9 @@ static void clear_msr_range(unsigned int
 
 static inline void write_watchdog_counter(const char *descr)
 {
-    u64 count = (u64)cpu_khz * 1000;
+    uint64_t count = cpu_khz * 1000ULL / nmi_hz;
 
-    do_div(count, nmi_hz);
-    if(descr)
+    if ( descr )
         Dprintk("setting %s to -%#"PRIx64"\n", descr, count);
     wrmsrl(nmi_perfctr_msr, 0 - count);
 }
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -610,8 +610,7 @@ static uint64_t xen_timer_cpu_frequency(
     struct vcpu_time_info *info = &this_cpu(vcpu_info)->time;
     uint64_t freq;
 
-    freq = 1000000000ULL << 32;
-    do_div(freq, info->tsc_to_system_mul);
+    freq = (1000000000ULL << 32) / info->tsc_to_system_mul;
     if ( info->tsc_shift < 0 )
         freq <<= -info->tsc_shift;
     else
@@ -2173,8 +2172,7 @@ void __init early_time_init(void)
     set_time_scale(&t->tsc_scale, tmp);
     t->stamp.local_tsc = boot_tsc_stamp;
 
-    do_div(tmp, 1000);
-    cpu_khz = (unsigned long)tmp;
+    cpu_khz = tmp / 1000;
     printk("Detected %lu.%03lu MHz processor.\n", 
            cpu_khz / 1000, cpu_khz % 1000);
 



From xen-devel-bounces@lists.xenproject.org Wed Jan 12 09:17:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 09:17:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256410.439973 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7Zl0-0003Bc-GE; Wed, 12 Jan 2022 09:17:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256410.439973; Wed, 12 Jan 2022 09:17: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 1n7Zl0-0003BV-DJ; Wed, 12 Jan 2022 09:17:26 +0000
Received: by outflank-mailman (input) for mailman id 256410;
 Wed, 12 Jan 2022 09:17:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=BEGY=R4=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n7Zky-0003B6-Th
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 09:17:24 +0000
Received: from ppsw-33.csi.cam.ac.uk (ppsw-33.csi.cam.ac.uk [131.111.8.133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 72711b45-7388-11ec-9ce5-af14b9085ebd;
 Wed, 12 Jan 2022 10:17:22 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:47682)
 by ppsw-33.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.137]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n7Zku-000JHz-gl (Exim 4.95) (return-path <amc96@srcf.net>);
 Wed, 12 Jan 2022 09:17:20 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 1177B1FB3A;
 Wed, 12 Jan 2022 09:17:20 +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: 72711b45-7388-11ec-9ce5-af14b9085ebd
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <30213d2c-37b4-43a1-b0a2-a596988e4c1b@srcf.net>
Date: Wed, 12 Jan 2022 09:17:19 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <87997f62-a6e2-1812-ccf5-d7d2e65fd50e@suse.com>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: [PATCH] x86/time: switch platform timer hooks to altcall
In-Reply-To: <87997f62-a6e2-1812-ccf5-d7d2e65fd50e@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12/01/2022 08:58, Jan Beulich wrote:
> Except in the "clocksource=tsc" case we can replace the indirect calls
> involved in accessing the platform timers by direct ones, as they get
> established once and never changed.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> Sort of RFC, for both the whether and the how aspects.
>
> TBD: Overriding X86_FEATURE_ALWAYS is somewhat dangerous; there's only
>      no issue with e.g. hvm_set_tsc_offset() used later in time.c
>      because that's an inline function which did already "latch" the
>      usual value of the macro. But the alternative of introducing an
>      alternative_call() variant allowing to specify the controlling
>      feature also doesn't look overly nice to me either. Then again the
>      .resume hook invocation could be patched unconditionally, as the
>      TSC clocksource leaves this hook set to NULL.
>
> --- a/xen/arch/x86/alternative.c
> +++ b/xen/arch/x86/alternative.c
> @@ -268,8 +268,7 @@ static void init_or_livepatch _apply_alt
>               * point the branch destination is still NULL, insert "UD2; UD0"
>               * (for ease of recognition) instead of CALL/JMP.
>               */
> -            if ( a->cpuid == X86_FEATURE_ALWAYS &&
> -                 *(int32_t *)(buf + 1) == -5 &&
> +            if ( *(int32_t *)(buf + 1) == -5 &&

I'm afraid that this must not become conditional.

One of the reasons I was hesitant towards the mechanics of altcall in
the first place was that it intentionally broke Spectre v2 protections
by manually writing out a non-retpoline'd indirect call.

This is made safe in practice because all altcall sites either get
converted to a direct call, or rewritten to be a UD2.


If you want to make altcalls conversions conditional, then the code gen
must be rearranged to use INDIRECT_CALL first, but that comes with
overheads too because then call callsites would load the function
pointer into a register, just to not use it in the patched case.

I suspect it will be easier to figure out how to make the TSC case also
invariant after boot.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 09:23:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 09:23:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256414.439985 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7ZqT-0004Yp-5w; Wed, 12 Jan 2022 09:23:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256414.439985; Wed, 12 Jan 2022 09:23:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7ZqT-0004Yi-1U; Wed, 12 Jan 2022 09:23:05 +0000
Received: by outflank-mailman (input) for mailman id 256414;
 Wed, 12 Jan 2022 09:23:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=BEGY=R4=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n7ZqR-0004Yb-Ue
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 09:23:03 +0000
Received: from ppsw-42.csi.cam.ac.uk (ppsw-42.csi.cam.ac.uk [131.111.8.142])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3ce9f228-7389-11ec-9ce5-af14b9085ebd;
 Wed, 12 Jan 2022 10:23:03 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:47142)
 by ppsw-42.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.138]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n7ZqO-000QjG-6l (Exim 4.95) (return-path <amc96@srcf.net>);
 Wed, 12 Jan 2022 09:23:00 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id A7F4A1FD4A;
 Wed, 12 Jan 2022 09:22:59 +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: 3ce9f228-7389-11ec-9ce5-af14b9085ebd
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <a5af3a6a-da51-2624-622e-2566c8db7dce@srcf.net>
Date: Wed, 12 Jan 2022 09:22:59 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <01baee92-9d7f-5a2c-d63f-1de390bc10e2@suse.com>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: [PATCH] x86: replace a few do_div() uses
In-Reply-To: <01baee92-9d7f-5a2c-d63f-1de390bc10e2@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12/01/2022 09:00, Jan Beulich wrote:
> When the macro's "return value" is not used, the macro use can be
> replaced by a simply division, avoiding some obfuscation.
>
> According to my observations, no change to generated code.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

I like this change in principle, but see below.

do_div() needs to be deleted, because it's far too easy screw up.  At a
bare minimum, it should be replaced with a static inline that takes it's
first parameter by pointer, because then at least every callsite reads
correctly in terms of the C language.

> --- a/xen/arch/x86/time.c
> +++ b/xen/arch/x86/time.c
> @@ -610,8 +610,7 @@ static uint64_t xen_timer_cpu_frequency(
>      struct vcpu_time_info *info = &this_cpu(vcpu_info)->time;
>      uint64_t freq;
>  
> -    freq = 1000000000ULL << 32;
> -    do_div(freq, info->tsc_to_system_mul);
> +    freq = (1000000000ULL << 32) / info->tsc_to_system_mul;
>      if ( info->tsc_shift < 0 )
>          freq <<= -info->tsc_shift;

do_div()'s output is consumed here.  I don't think this hunk is safe to
convert.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 09:45:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 09:45:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256418.439996 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7aBv-0006vt-W7; Wed, 12 Jan 2022 09:45:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256418.439996; Wed, 12 Jan 2022 09:45: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 1n7aBv-0006vm-St; Wed, 12 Jan 2022 09:45:15 +0000
Received: by outflank-mailman (input) for mailman id 256418;
 Wed, 12 Jan 2022 09:45:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=no1k=R4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n7aBu-0006va-CH
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 09:45:14 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4d494b09-738c-11ec-ab6a-e16a03e04220;
 Wed, 12 Jan 2022 10:45:02 +0100 (CET)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2058.outbound.protection.outlook.com [104.47.6.58]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-37-lXeFTaa1P2SK9yoYb_eUBA-1; Wed, 12 Jan 2022 10:29:03 +0100
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.4867.7; Wed, 12 Jan
 2022 09:29:02 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Wed, 12 Jan 2022
 09:29:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4d494b09-738c-11ec-ab6a-e16a03e04220
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641980701;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=7fL0D4lOejs0n2qJccfMLDQxcPMp903sUEHZrWykPvA=;
	b=jak65RLGralwP6VUuCMYVMpBsSS97N2UFnnSkjQOIdKRMaI2oALmQZdBucw85vlsc6nK1S
	rG90HVMoKWqUzIxXZSZ6LAPOGfFbHMzhxp8zWbvWlEIszCNaiKn6Jlpm9gJZDNBAxTGqpF
	wPpJzKky3QtiHzIaTHOaQfOWTN35OqY=
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641980701;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=7fL0D4lOejs0n2qJccfMLDQxcPMp903sUEHZrWykPvA=;
	b=jak65RLGralwP6VUuCMYVMpBsSS97N2UFnnSkjQOIdKRMaI2oALmQZdBucw85vlsc6nK1S
	rG90HVMoKWqUzIxXZSZ6LAPOGfFbHMzhxp8zWbvWlEIszCNaiKn6Jlpm9gJZDNBAxTGqpF
	wPpJzKky3QtiHzIaTHOaQfOWTN35OqY=
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641980702;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=7fL0D4lOejs0n2qJccfMLDQxcPMp903sUEHZrWykPvA=;
	b=fDVlvv4Xxi/FiHkW5GiHvDEWADbDKIeISjpv6k24/8iLwwZUzOswxWhDAn7v4Cb25+tF92
	Xo4u2ZkkZVcnOs7pFrGCA6QPaWAxACOsojPyjqeao9J+cMAm0XQCIWGGtm54q1rXZCiT6j
	bKurRExowavJOES0cy7N8bpUYpf5W2A=
X-MC-Unique: lXeFTaa1P2SK9yoYb_eUBA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lmRLLYv7ZakwgeuXT3mxcc6j8PMXs812Wa6MnoQCa5Fe/a5dWaLrBNz+asd4LYiHrt1W7pPct1ZG7hZO7kbjZtd+KiCoF5fGRkZ7YITzGNCp3OitbVPBboGqv2XHkEtak87fuL8YVDchCTFoZOXiW64u3Qlqn2cDQ4xj/k7uyMuWvs7zLFkOyZjziV/Z8ejs1nlL+iPg5ZIb89KQZ3CgCmbIkSc3ATyfQR2d2Be4pvODd02ptjK987sbTyJEk12KppBmxjLMvSx/iqMC1Ew9Zq5fnqT4Gw3lZxtHM3d8PhFacFZy2BzE6BT9KykRNoJgs9st3Kb6yTgMrpluk54H+w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hK7jxMd8QWBPM4jkHaeNyWepghdlEvfCz7HrNcxjCcY=;
 b=PJZZbZmA1FDbS4Jrsd6Ashi8buFFC8+pzRmQrADoYcOXW/1MHoJg1tPrlYGHq2THfvTxA36zSrMk7dEo1O3D763U4nbyKLEJFdboPq+QQV2teBilSzG71OnudbbpaECtmgCD96ga5ZKZmBC0hsY7xYzCWl5cpkA2LTQ5T6sKwZTtFn0vFk54i4W0Rc29g1DtYYIhh7CaQ4SarQUHOTMFAr944hB/kAyRKcCxsywdsh7CwlaucBHY0L9OT+yPok3nBC5UGOPYmT3L7LN6DKlqrPJBD6J2Mpm2XvT+qrnNAToFIt6vFruuzCFL6nDzZTs0p7NYNPJa+CcUmAmM0G4rKQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f4dd528a-d1e0-f516-bb7d-f1ec01abc3d5@suse.com>
Date: Wed, 12 Jan 2022 10:28:59 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH] x86: replace a few do_div() uses
Content-Language: en-US
To: Andrew Cooper <amc96@srcf.net>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <01baee92-9d7f-5a2c-d63f-1de390bc10e2@suse.com>
 <a5af3a6a-da51-2624-622e-2566c8db7dce@srcf.net>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <a5af3a6a-da51-2624-622e-2566c8db7dce@srcf.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS9PR0301CA0041.eurprd03.prod.outlook.com
 (2603:10a6:20b:469::32) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 91a49241-0b60-4e4d-bc66-08d9d5adf826
X-MS-TrafficTypeDiagnostic: VI1PR04MB4190:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4190E5833932C3E080303B84B3529@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:
	hfB5eDMDNqxG2ixynZUHP4XVRImypH0jOzyYOCY1WIiQbajn1oDGZ2rAgMvfi8nS+qK3k1/UPtLa4KupLUB+AIXaXZkupH4oJIzZycEIMjHQLxur5AAYP6x+z9WlYUBZmAVacNmxz3WoI/5wSa5+6rf6je6fwaQylBJskSiJr9AJra5uanpKNwoWpZditOV2+g2v8PjpSF7kpRvNweLi4/rUUfee+k9wPo89OrjTu1iZqvK+6nK6Z0JRcIIJ/rr/AzTH0en5ia6CDosGHUEhyd8o8Yh89qzMiDm0O0sPjgAwWsRSH5oYNlLW3TETMqh6ES/wB8ZhQShmkvSypcejz2Z/Rh7cY5G0GmqvSEndwBfxqOn+3PrXvBzV40X7d7Emv5Cq2kxt1jVcsWVHl7xZYBqPx6O6AOtqvH7luECagCzB9QR833+lYiXI+3B3favflmMyMk5R0BJUerevyP+bDhJfxy3gdNjlzG3bQ0bsJLO08FX0BtdxmuJ9pOBchLLAnl5xUdwcW94QEr8edW7DBSKScA+RkqFaWrWGSvAWU2maI/HJBujxDB9MJqyL/MHV6Y8KLWNhdBmXO63DG5WR71RXOfhg9O+c9HrM8I0Jte2fhA2vNhI4Jd7KzXF9svgIBQSGVWkhgJ9Ong1uvjmEorlYikPDiBW14BsNbWBOTR8tn18Ko1YHawrtb2jlasJKnW+EoxvxNnDPZ22arjg4d4DskOpgSVmab26OWeqrgtw=
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)(36756003)(8676002)(5660300002)(2616005)(8936002)(6512007)(6486002)(186003)(6916009)(31686004)(54906003)(86362001)(66556008)(508600001)(31696002)(38100700002)(316002)(26005)(2906002)(66946007)(53546011)(4326008)(66476007)(6666004)(83380400001)(6506007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?2ppcRAtkC3rYxtvB9YxFhPqOHWqO6FOfddH3YguM7rnOH31SO6qnxp8ndYIx?=
 =?us-ascii?Q?S/jbsyADIlEJGO2AbxwQN36Ay57CerZ/E1Gl5xovy8mtnRMidJn4qGOG/fHx?=
 =?us-ascii?Q?U9HIATZ+XOYK5ZBilN1M0w6C0ggT1fO8nrth+xnKs5+rwgoWTWUYscELAZkl?=
 =?us-ascii?Q?5mZMVjYy14hk50J1inEU1/HoCXb5z7Mk/6gEo0r6uyYjCAVoOgxw/rLc8f24?=
 =?us-ascii?Q?DPeHIMK6n6D9N83/1zQvan97hJMF+NSn7ef2FGMgYnaW1BuNYaR6NjSA3Cg9?=
 =?us-ascii?Q?AlhToasbFxUuEkgFalqSWP6Gfbhqti60fNl6J3rbcjHipF2L1ir/HZEy9r72?=
 =?us-ascii?Q?/yLiX5PWAz0lEjEsEaEL3bOExuqpCNAHa+RmhzoeNgFf8tYnfhMIdsj8nlho?=
 =?us-ascii?Q?NMN2vuzC200sRLpbcMHRBGkn1p6NS7c10E7BJvxVhqMJNLV9vMOES714EfQ7?=
 =?us-ascii?Q?5v36uP/KXx9iyiE220qrjhLJ3i8QhY7OLafx2mvR3DLW7L3HX7tsteWAzoka?=
 =?us-ascii?Q?0VqLJJaP5Cqy4yV0ThEQLDSfygcozv7cs5BXu/sPDXust66xlUGGzoLHPTz1?=
 =?us-ascii?Q?d+JQDfadhiyny1lo/4QYeT+jXJ6A45/uk9cHE7BD/+yJb4EX8pNUVQUcTDro?=
 =?us-ascii?Q?dAcMZXm/4tHe3v3dFWTEUN9xNgBDr7NQ+JNsnhNQ7qId1xRrOoIyU9r5yQZM?=
 =?us-ascii?Q?KZifSzhskDrm5ZcycDNmHSl3GEz/dci+hfJbBCC9lQ26X05UenlmP1Uv4c5h?=
 =?us-ascii?Q?n4mKJrPEF+MB4K6qmLtWx3smwpHayy9mxOe61KGfPjwheYsecegbCgMW/lDi?=
 =?us-ascii?Q?KcLVzwgEeygU+TUFSQB9wBjp/mLjZiBAgw4uOUHpadYd7nO4/Fy7JXgtWxjo?=
 =?us-ascii?Q?2DyosCgfdCjgtVB0YqM1yzn1tbajopxVUeoE+R2TMP/vlBr00t05oHd2RBWM?=
 =?us-ascii?Q?E6QhqYwSvDFmBVOXOCKdt+cfrH1+V+0GCWRkIYT8v7idOZBY2y3TSlpLulyP?=
 =?us-ascii?Q?bzXfmsNrGOm+GFD6X2pyRMiUmDgKpwF1PeDbvoVWGI5JDI46EY9uxsTcgGXr?=
 =?us-ascii?Q?RtWWmU4g/kRsRBVfCIi0CWgBY+Z8qkILM723bR21qSVsuTswH18xpZ+1ZlEu?=
 =?us-ascii?Q?NC+zXRp74IDmTl7b96EYsLkUkWBQJxYWQa6eeDsJh7ILJH5C94zTKSxWdp0p?=
 =?us-ascii?Q?gMvIKFvyRpYd6l5Ytp7x12TpkowctnV4gs7blrT7NFNgnBKNbHWBQdZSh0JC?=
 =?us-ascii?Q?14GBF7qw5blvsQfFofXom9hf5JnrZp968K9pIblH0OtmHMcu1M57V+QDrKdN?=
 =?us-ascii?Q?uPgRVFoS0GfP/PMruZPdKDyiak7wbpvM4/fJhpOlfkd7AEEj7Fk1IaF4sOIK?=
 =?us-ascii?Q?V5n4gOp+/295GmVePicVdb1f4X46TPrYC50lcfXJvj/iRHjx+zGhz4VKJnYl?=
 =?us-ascii?Q?3RgZCKC0N3YY/zuxGJrrPEyaIvvzab9bAc0LSzXobuzRdBLaOB5fc6O3vv4T?=
 =?us-ascii?Q?H2VyCrZOlZzEX399/4oGbwg45AX74P2o7h9f3MuPYzHrqZYO30Qr7T+r8cRh?=
 =?us-ascii?Q?WkoIg+4rB+GHP+Ksxbakssm5O+hGSLqSka13n1/Yfn84ZsYSqC5QWUY6uSUY?=
 =?us-ascii?Q?MuuNjZqKHV5mEfZMnziRuB8=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 91a49241-0b60-4e4d-bc66-08d9d5adf826
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2022 09:29:02.0371
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: N+2m+PdRRZYQagjUbL9we3xKyLMqGp8uM3C6xLFMiEpdWV8KYMInrlm/D+vavNY8EyS9rWLNwVLzmDesSyaXzQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4190

On 12.01.2022 10:22, Andrew Cooper wrote:
> On 12/01/2022 09:00, Jan Beulich wrote:
>> When the macro's "return value" is not used, the macro use can be
>> replaced by a simply division, avoiding some obfuscation.
>>
>> According to my observations, no change to generated code.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>=20
> I like this change in principle, but see below.
>=20
> do_div() needs to be deleted, because it's far too easy screw up.=C2=A0 A=
t a
> bare minimum, it should be replaced with a static inline that takes it's
> first parameter by pointer, because then at least every callsite reads
> correctly in terms of the C language.

That ought to be a 2nd step, requiring agreement with Arm folks (and
adjustments to their code).

>> --- a/xen/arch/x86/time.c
>> +++ b/xen/arch/x86/time.c
>> @@ -610,8 +610,7 @@ static uint64_t xen_timer_cpu_frequency(
>>      struct vcpu_time_info *info =3D &this_cpu(vcpu_info)->time;
>>      uint64_t freq;
>> =20
>> -    freq =3D 1000000000ULL << 32;
>> -    do_div(freq, info->tsc_to_system_mul);
>> +    freq =3D (1000000000ULL << 32) / info->tsc_to_system_mul;
>>      if ( info->tsc_shift < 0 )
>>          freq <<=3D -info->tsc_shift;
>=20
> do_div()'s output is consumed here.=C2=A0 I don't think this hunk is safe=
 to
> convert.

If by "output" you mean its "return value", then it clearly isn't
consumed. And I continue to think that I did express correctly the
effect do_div() did have on "freq".

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 12 09:47:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 09:47:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256420.440007 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7aDZ-0007Xu-DF; Wed, 12 Jan 2022 09:46:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256420.440007; Wed, 12 Jan 2022 09:46:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7aDZ-0007Xn-8K; Wed, 12 Jan 2022 09:46:57 +0000
Received: by outflank-mailman (input) for mailman id 256420;
 Wed, 12 Jan 2022 09:46:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=no1k=R4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n7aDX-0007WK-HK
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 09:46:55 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8f28b4d8-738c-11ec-ab6a-e16a03e04220;
 Wed, 12 Jan 2022 10:46:47 +0100 (CET)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2171.outbound.protection.outlook.com [104.47.17.171]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-29-uF4x8qjdPQubxfecNjzUyg-1; Wed, 12 Jan 2022 10:46:53 +0100
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.4888.10; Wed, 12 Jan
 2022 09:46:52 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Wed, 12 Jan 2022
 09:46:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8f28b4d8-738c-11ec-ab6a-e16a03e04220
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641980814;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=8wRJE8r0ttHr+IZQL1eZS+bKHIuMaBvoceWfiwkU7IQ=;
	b=TxIP7IRJW2gmIs+VU1ezsHqQ/Putw1lbn6Xp7TLMP5gYQfQiON78rf0FG+0LNUCnChVgD1
	UcoO75tAHnf+9QAe/wnbi3Wfg8TOspxMuZXLcGw+UD40L93khkELd3q+s8ZWmxS76VpNwy
	U5E3CZdFyGxGGsMzUna37LKNPqSA8WI=
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641980814;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=8wRJE8r0ttHr+IZQL1eZS+bKHIuMaBvoceWfiwkU7IQ=;
	b=TxIP7IRJW2gmIs+VU1ezsHqQ/Putw1lbn6Xp7TLMP5gYQfQiON78rf0FG+0LNUCnChVgD1
	UcoO75tAHnf+9QAe/wnbi3Wfg8TOspxMuZXLcGw+UD40L93khkELd3q+s8ZWmxS76VpNwy
	U5E3CZdFyGxGGsMzUna37LKNPqSA8WI=
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641980814;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=8wRJE8r0ttHr+IZQL1eZS+bKHIuMaBvoceWfiwkU7IQ=;
	b=TxIP7IRJW2gmIs+VU1ezsHqQ/Putw1lbn6Xp7TLMP5gYQfQiON78rf0FG+0LNUCnChVgD1
	UcoO75tAHnf+9QAe/wnbi3Wfg8TOspxMuZXLcGw+UD40L93khkELd3q+s8ZWmxS76VpNwy
	U5E3CZdFyGxGGsMzUna37LKNPqSA8WI=
X-MC-Unique: uF4x8qjdPQubxfecNjzUyg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VC+UsErqswww8UFI/xsebg/n6492voGxq+fXa0HpLmClFFchzJEZN7kMxIQugdBtP9zc6ufvoiLVPtky4ooFAU8rPaFn/6X10FSX+mBht195uljlN55TdHOxhZ/Yc7UV2l4uD+15oH5drKEs7FFKrnUPdXF/QU0BHSwqAG8ffdQcaU3c4QaDzx0RIyDIowxQ9j6m2VjTD5D98RMTtxKiB+AUc5/w4n8yqyHLokZviWRcHiMTSfpeTOML//ERTFItvnk1if0MEF0JE32rGftNr26zcI6b9hKvyK2fOJsiljhiA5z+/6GPLli0/00GJeSvGa3kkoaFv3gCikAbHQ+v6w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8wRJE8r0ttHr+IZQL1eZS+bKHIuMaBvoceWfiwkU7IQ=;
 b=DZM5vBm5SrLttJZLsgV27lp+Fc5MUXvA2XABSNzKlEONHkzdcYWmMfcDW0idpf6CqMS1kTFmH0jYptazk+k8WDveOLsetGgwM53jRZa3mhcaERppnw+3nJyK4+FUIYQtxQhiT+PvVNYJsmMMtpS3AC5GAYmlGOahsNyGi9J2/wqEJzGJudMiRxPbFIkbooszRXhXJDLmd5EQPalPq+P5b21kb+dTnyFASevgWKjbLKHFZpfO4ghvmBCv93LbMSAvhsBt8d7zQXRRDa+FcUVjbjBEqlrksGLfKlqcNqtZLV1txASpAp5CuoXoqjdI+4OYsOot5Bl6613u+kzX8PnjnA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a93d423f-ab80-5798-1dbe-df3eee0aa430@suse.com>
Date: Wed, 12 Jan 2022 10:46:49 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH] x86/time: switch platform timer hooks to altcall
Content-Language: en-US
To: Andrew Cooper <amc96@srcf.net>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <87997f62-a6e2-1812-ccf5-d7d2e65fd50e@suse.com>
 <30213d2c-37b4-43a1-b0a2-a596988e4c1b@srcf.net>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <30213d2c-37b4-43a1-b0a2-a596988e4c1b@srcf.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0078.eurprd06.prod.outlook.com
 (2603:10a6:20b:464::28) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3522c505-ffd4-4671-b6a3-08d9d5b075e6
X-MS-TrafficTypeDiagnostic: VI1PR04MB7039:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB7039B147450682F0E3B88682B3529@VI1PR04MB7039.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:
	Ab1Cj+mg3FloXbRmiJWbgvWyKRpkUC2xSZhguU4RCxaae5gzQjjM8H97aFWC7Lmo0Z+BzrUNJb6+jPjqGd7AdlaKu3ANuZPd6JW5v3+VTpYr939VcOGbLgGdo749uao/xK8O7ffedWz4vL9vv2HDcg3Rcol5psuUm9Wk+25mdGcsLfKd8hEVkrcATrnMR9cdAZSsNQRZvosQZESv1qlo/3jb2RFRJmXz96OlDZPSMkUg5uQzH8Hxj00MhPUWkQDsszZy9FE5egO4e9/S6G+ksTg4CMXCbZf4LIwnRrDjZdV1DSLstIGTQz1xmrCcXqeHlGP0wQJNX6EEU6pXNxejkMd7KIXZggR6MtZCUghf/jYXsf8Sb2AYQ1LG/07OsVMdEAugkaF8k6ZyHKgoHBJSDsnzLuAastCnzBnoerFKTIAvBi6BMTL2pqR+A8Z4YvjiaIyG17Xx9a8Zi2DuN8hh+RZD2V4ys1JmW+UKzJP3yW3AVbcnccGMYC3kCd/z5Gj8au3aDl7bbvXBmZS5SnLC9HhHQJ1GddIaPCAV3lc3raa2lK4R0KWKHhjwDiNmXpvJ5/IcArUZxb1oLfhL5hjPt+99Zp0bF1Jjvcd2YDjy2JFB3D8PuCAF40NT6D2Amtc1c1cnmP6Wmtk/59lq2gaOR1yj1ifo9n9dHan+yUWRTUHoeITWI2J6X4TbhRQDIgCoOzIYN011IlKQf3SGzSY6IcwQliOb8eoygshw1cLFpNY=
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)(6506007)(8676002)(5660300002)(8936002)(6666004)(26005)(53546011)(2616005)(36756003)(31686004)(31696002)(83380400001)(86362001)(4326008)(2906002)(186003)(66556008)(6486002)(316002)(54906003)(6512007)(66476007)(6916009)(38100700002)(66946007)(508600001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aEgyMVNIOEVkVC9OSFJqbHgrZWpGK0NubGNlQmp5N044VXpDakZWL3k0Znhq?=
 =?utf-8?B?dE0xM2dIVmNwOVlpMGplaWR4bEFaeE90OTZzNUJUS1Q3TkUxUUtHMkx5K3hC?=
 =?utf-8?B?RUJZa0p1elcxOHE3V21HUTBuakF2SUVYQ3pQeEFhdXlkQkJCelQrUjdGc0Q4?=
 =?utf-8?B?cE96REhsNXZ5dkVBclFZNndrK0RSUFM5RU5FMXc5S3VxSFA2Wmd4YUw4c0py?=
 =?utf-8?B?MjZvdXVseC9Ra2FoSjRvVXM2Q3R0bXUxbzRNa3BYMmpQWTh6cXdUN3I4OTJl?=
 =?utf-8?B?Q0t5c0pFSFlHQUxPS3lZWkkzZ1Nta0x1VFlNaUg1bDdsVVljTDBGUDA0LzlC?=
 =?utf-8?B?WS9XSFFTL2JaZ3c1a292ek5EM3dkaVhZeHdrYzhnWWkra2VmcURhY2lhMHRU?=
 =?utf-8?B?QUZJNXovMTArRFhsTDNnekV6SWxQRk1MemZ4VlY3QUxUSElXVUJCaXdTQVNN?=
 =?utf-8?B?TFRHRklLKzZwR1JNU0N0enlvenlhaHJwaVFmMXNmOVNpRU9rSHhFZFRJNWt5?=
 =?utf-8?B?Rnk3R1dkMWZxYk5NNlk5bzk5YzFZTEpta2RZaDZLSnVyT2Rpd1pidk94Mzd5?=
 =?utf-8?B?bFpBdUhIdEZSUUhtR1VVMVViWXhkSzVoQktZTUdxZnhrekcrV2MyMEZJR0Vq?=
 =?utf-8?B?SmZqK0hqcWw3d0xpU0taK3dtaVpPdU5EdlZuUWhmbVpqc1pBMlAzSWN5TG5W?=
 =?utf-8?B?RURzaGg0K0ZNcDh1ZlJvb2lIUW4ra1dSUmJzUFZrOHV2aEZ2NFd6K2lDanlW?=
 =?utf-8?B?TnZudUVsdGd1eG1QSmw2aXZwTWhsNHp6U3c3VmlvQ3ZaK1laOElOZFhWRndB?=
 =?utf-8?B?OFRTcXg4dDZKYjdaVkRGakl3a2EreldoUndPaW55K0hrT0Q0UFZCT3VsN2dF?=
 =?utf-8?B?b2pUYU9OaGI1Q1pwR1RGbEhZdVF6eE11S1EwTWxmUmlsUVdsMWJWM0IyZ2V2?=
 =?utf-8?B?R0tXSFA4Zm13bk1BVjE1ZU95QzAvTDhFNjF4R2lmb21sRnpVN1RMWk1aYUFv?=
 =?utf-8?B?d080RWFUMEdnWDVwbERvSXNKR3lhV3BjeFNQZXhNWjJGU3BCVnBzZ3pBYXFB?=
 =?utf-8?B?Q3pFK1NnTmtJbzBxVlpCQ0tXd3R2VmJVb1k4UzNyWkVpdVMwMXhlcXdvSjlY?=
 =?utf-8?B?TnBGOFdSWkRVWEVuYzd2MTlxMDJ0dGluOHdnME03R1lnbWk3QnEzL2UzWnBP?=
 =?utf-8?B?VEt3VmJVamhsSFBRaHpQSG8yRWVWM0xuKzJQYmtuN2M2UjU0NGJvdUhoRStN?=
 =?utf-8?B?WW9uZjNxNG4rQjB3dVI2UzhIUTV1V2VIbUxvTjZsTzhRSS90b29ZbS9wZk55?=
 =?utf-8?B?aVZXc1BjUVhRK0ZIMVN2OEFScXdRdlRwK0MzRzd0N1Izcm1GdExmSk1xMDVy?=
 =?utf-8?B?RjVZU0lCdjVCbDRoa3ZRSDIrdjNqTnVUZDFGM0s0K3czM3d4SG1MYWk2TFVP?=
 =?utf-8?B?R1VwUGU2dTlEQjFyUUxKeDVKTllySFMzd2k0R1FsT3FTdUNUMzRScVVJU3JR?=
 =?utf-8?B?ZGNmdVl2RjBTZFRFOXNndkRTNUZNcjFjVk5leE56Wm9PUWRtdlRCN3krVmdz?=
 =?utf-8?B?a3Y4bDZNbUVjK05wMTRXWndKZzh5WWVlWmdXRmpKcFQxSWNZbU1VNC9KQmpP?=
 =?utf-8?B?bGpWZHRFQmdzSFB3NE01NHM5eHRzMzFsY2lEdFhJL0gwR2tuTlR1THFEQkV5?=
 =?utf-8?B?SldOSGs5YklHMzBJcUdzbk0xWnppWExRQ3l4VWlXTjdCancxUmtxdHdNNlp1?=
 =?utf-8?B?ZTlvVW81aXVod0thYnJuNUl2Y3hkWW9GKzE5bSsxQTdsdm5vZFJ3dlNURStl?=
 =?utf-8?B?RU1zM2pNaU1TMGxodUlaS0U5dnFJODBjS0R6MUdTdVRNb1JLanp3MVpmcHRL?=
 =?utf-8?B?c3FUSGJ0VHBoYXJ5S2dPb1hYWWcrd3N6Ymc4T2c0Q3RWdkZkSGdCWGFyK1lT?=
 =?utf-8?B?SVhpQjdqVDBFZXFCeElXSWJDQkV6d0RUQ1NybnBvc1BocGYrbkVOdy9SYUxI?=
 =?utf-8?B?QzFSclZ5MUJlYVhUeFJ1ZUdzTUtyOG01amI1SU5KVEtseUVra1JpYWdXdHBr?=
 =?utf-8?B?a0wyWTM2SHoyYjliL2ZGRWM3WENWV3BEM1VGNlVUWU9tZEd3TTRFeEpkZTYz?=
 =?utf-8?B?K2ZqNHRzVXdsZ2FUekgxYkw1QUFKMjErT3JPVmVHYXVtNC9qZmNhU2o4dFMw?=
 =?utf-8?Q?KyDxCSG/562iAmd+q32Nsbk=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3522c505-ffd4-4671-b6a3-08d9d5b075e6
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2022 09:46:51.9969
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vnoKzUlCb/0Q6qTokLci7NoO/zIoG4v+KJuWGEeBSaC9Ib9W46cm2p/l0uflAKVjWlpjuqyILRZimhP19+kM/Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7039

On 12.01.2022 10:17, Andrew Cooper wrote:
> On 12/01/2022 08:58, Jan Beulich wrote:
>> Except in the "clocksource=tsc" case we can replace the indirect calls
>> involved in accessing the platform timers by direct ones, as they get
>> established once and never changed.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> Sort of RFC, for both the whether and the how aspects.
>>
>> TBD: Overriding X86_FEATURE_ALWAYS is somewhat dangerous; there's only
>>      no issue with e.g. hvm_set_tsc_offset() used later in time.c
>>      because that's an inline function which did already "latch" the
>>      usual value of the macro. But the alternative of introducing an
>>      alternative_call() variant allowing to specify the controlling
>>      feature also doesn't look overly nice to me either. Then again the
>>      .resume hook invocation could be patched unconditionally, as the
>>      TSC clocksource leaves this hook set to NULL.
>>
>> --- a/xen/arch/x86/alternative.c
>> +++ b/xen/arch/x86/alternative.c
>> @@ -268,8 +268,7 @@ static void init_or_livepatch _apply_alt
>>               * point the branch destination is still NULL, insert "UD2; UD0"
>>               * (for ease of recognition) instead of CALL/JMP.
>>               */
>> -            if ( a->cpuid == X86_FEATURE_ALWAYS &&
>> -                 *(int32_t *)(buf + 1) == -5 &&
>> +            if ( *(int32_t *)(buf + 1) == -5 &&
> 
> I'm afraid that this must not become conditional.
> 
> One of the reasons I was hesitant towards the mechanics of altcall in
> the first place was that it intentionally broke Spectre v2 protections
> by manually writing out a non-retpoline'd indirect call.
> 
> This is made safe in practice because all altcall sites either get
> converted to a direct call, or rewritten to be a UD2.

Oh, sorry, I really should have realized this.

> If you want to make altcalls conversions conditional, then the code gen
> must be rearranged to use INDIRECT_CALL first, but that comes with
> overheads too because then call callsites would load the function
> pointer into a register, just to not use it in the patched case.

I don't view this as desirable.

> I suspect it will be easier to figure out how to make the TSC case also
> invariant after boot.

Since switching to "tsc" happens only after bringing up all CPUs, I don't
see how this could become possible; in particular I don't fancy an
alternatives patching pass with all CPUs online (albeit technically this
could be an option).

The solution (workaround) I can see for now is using

    if ( plt_src.read_counter != read_tsc )
        count = alternative_call(plt_src.read_counter);
    else
        count = rdtsc_ordered();

everywhere. Potentially we'd then want to hide this in a static (inline?)
function.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 12 09:59:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 09:59:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256428.440017 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7aPh-0000gl-KD; Wed, 12 Jan 2022 09:59:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256428.440017; Wed, 12 Jan 2022 09:59:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7aPh-0000ge-HI; Wed, 12 Jan 2022 09:59:29 +0000
Received: by outflank-mailman (input) for mailman id 256428;
 Wed, 12 Jan 2022 09:59: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 1n7aPg-0000gU-Sl; Wed, 12 Jan 2022 09:59: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 1n7aPg-0002iv-MJ; Wed, 12 Jan 2022 09:59: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 1n7aPg-0008Kv-8U; Wed, 12 Jan 2022 09:59:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n7aPg-0003Q6-86; Wed, 12 Jan 2022 09:59:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Yf1Uhp8ReN6chzlEOH9aMJMeh8PoewfjmALlTWSZV+M=; b=24WZ9WVWqb7n7bHEP+kPlkv/Ew
	xNFQZgmjFp2zt4UQmcjZ24AHRGrycHostgFwblsyWmMak+p8FiiWgIBpBbsa+5ZVMbr0Lo7PkHwKj
	Vfg0YaZR5cLthk6WSQhEjRDhh/R6c0OtTxRvvWQulGcLueVefJW7EBDmQBcdaxE14BB0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167673-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-coverity test] 167673: all pass - PUSHED
X-Osstest-Versions-This:
    xen=22891e12a45f9bb2e1dbb5daf2ba39cbe002e4f4
X-Osstest-Versions-That:
    xen=ced5685208f4525edc3aa86f41eeaee5ccc9fe31
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 12 Jan 2022 09:59:28 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 xen                  22891e12a45f9bb2e1dbb5daf2ba39cbe002e4f4
baseline version:
 xen                  ced5685208f4525edc3aa86f41eeaee5ccc9fe31

Last test of basis   167646  2022-01-09 09:20:50 Z    3 days
Testing same since   167673  2022-01-12 09:18:39 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Roger Pau Monné <roger.pau@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
   ced5685208..22891e12a4  22891e12a45f9bb2e1dbb5daf2ba39cbe002e4f4 -> coverity-tested/smoke


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 10:18:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 10:18:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256438.440029 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7aiD-00037K-93; Wed, 12 Jan 2022 10:18:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256438.440029; Wed, 12 Jan 2022 10: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 1n7aiD-00037D-5O; Wed, 12 Jan 2022 10:18:37 +0000
Received: by outflank-mailman (input) for mailman id 256438;
 Wed, 12 Jan 2022 10:18:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dBVB=R4=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n7aiB-000377-U5
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 10:18:36 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fc78d1fe-7390-11ec-bd6f-bfb69f65cdc7;
 Wed, 12 Jan 2022 11:18:33 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fc78d1fe-7390-11ec-bd6f-bfb69f65cdc7
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1641982713;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=IphW5CWxgm7688SXgN/oJV1DNT6qRo+BJRn5pHg6ffQ=;
  b=PtCiKuEiMC5Jfye4ucGa2mVyGmoVsVhTrcWGy2055tpvEHvKf0eXU0ZC
   nBFT9ROA+9h5OgkIXrSJB2sQeAGq6nxf/uvGCU1D58pVy0mFVaKp8WRBO
   AGutWg/dkaPmtPhBWZhYKmTdJYM+Ar6dvQSD3LJLyyyVXggvep/j/tp/d
   I=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: LjZW5b+8WJh1LlYCCAy5WxL3iCXNmYscL30ajkGnqMBHIkj7rv30Gd2x8Sfvsr3CLG8wxi3Gt0
 pYzcXxienmu2268Z9EP4oWNtWHZ8W9p5CoxsU/kMrqJZsGBPpA0D2WKgWV29SraLhyyQuzbnW6
 b1XxxWr5huoip0FibaazHCAWFOMdWaE4gtdmW/YkRVLqm2g3GgRxL8gqzgyEPY992KwMwsz7dU
 ZJNypUehvXF0Q4zNzwrbO99cN/USnmwdEpHEvMvfZUqZ2GUv4UP+wGK3U2tl3amzn3RA1uAu9m
 A2Auu+qeKRzOIvq9haVB1pwN
X-SBRS: 5.2
X-MesageID: 62222237
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:UF2v7KNKBneH9NzvrR1DkMFynXyQoLVcMsEvi/4bfWQNrUp00GZTz
 2cZXTuFPP6CZzP3fY9/bNzkoBkHv8XXndJiSAto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdpJYz/uUGuCJQUNUjMlkfZKhTr6UUsxNbVU8En150Es5w7dRbrNA2rBVPSvc4
 bsenOWHULOV82Yc3rU8sv/rRLtH5ZweiRtA1rAMTakjUGz2zhH5OKk3N6CpR0YUd6EPdgKMq
 0Qv+5nilo/R109F5tpICd8XeGVSKlLZFVDmZna7x8FOK/WNz8A/+v9TCRYSVatYo2TTpOB4+
 OpPjJaLVEApYKLtutokXBYNRkmSPYUekFPGCX22sMjVxEzaaXr8hf5pCSnaP6VBpLwxWzsXs
 6VFdnZdNXhvhMrvqF6/YvNrick5atHiIasUu216zCGfBvEjKXzGa/uQv4UChmxv7ixINbGGf
 M4DZTl3UC//IDhuMXIrMLAPl8790xETdBUH8QnI9MLb+VP70whZwLXrdt3PdbSiVchT20qVu
 G/C12D4GQ0BcsySzyKf9XChjfOJmjn0MKoQHrCl8v9hgHWI23ceThYRUDOGTeKR0xDkHYgFc
 gpNp3Ro/fNaGFGXosfVDkeDkHe0gRwlUeFNVO1k5yCv9JPb7FPMboQbdQJpZNsjvc4wYDUl0
 F6Vgt/kbQBSXK2ppWG1renN827rUcQBBSpbPHJfE1NZizX2iNxr1nryosBf/LlZZzEfMRX52
 Hi0oSc3nN3/ZuZbhvzgrTgrb99Bz6UlrzLZBC2LDwpJDSsjPeZJgrBED3CBvJ6sy67DHzG8U
 IAswZT20Qz3JcjleNaxaOsMBqq1wP2OLSfRh1Vid7F4qWj0qiT9I9AIv2ovTKuMDiriUWW4C
 KM0kVkAjKK/wVPwNfMnC25PI5lCIVfc+STNCamPM4smjmlZfw6b5iB+DXN8LEi2+HXAZZoXY
 M/BGe71VC5yIf0+kFKeGrlBuZd2mHFW7T6DFPjTkkX8uZLDNSH9dFvwGAbUBgzPxPna8Fy9H
 hc2H5bi9iizp8WlM3aHqtBCfAlaRZX5bLivw/Fqmie4ClMOMEkqCuPLwKNnfIpgnq9PkfzP8
 G37UUhdoGcTT1WdQelTQnw8Or7pQ7hlqnc3YX4lMVqygiBxaoez9qYPMZAweOB/puBkyPd1S
 dgDetmBXasTGmiWpWxFYMmvtpFmeTSqmRmKY3ivbg8gcsMyXAfO4NLlIFfirXFcEiqtuMIii
 LS8zQeHE4EbTgFvAZ+OOvKixl+8p1YHn+d2UxeaK9VfYhy0ooNrNzbwnrk8JMRVcUfPwT6T1
 gC3BxYEpLaS/99poYeR3a3d9tWnCepzGEZeDlL317fuOHmI5HenzK9BTP2MIWLXWlTr9fjwf
 u5S1fz9bqEKxQ4Yr4pmHr935qsi/N+z9aRCxwFpEXiXPVSmDrRsfiuP0cVV7/Afw7ZYvU29W
 16V+8kcMrKMYZu3HFkULQsjT+KCyfBLxWWCsaVreB33tH1t4b6KcUROJB3d2iVSIYx8PJ4h3
 ep86tUd7Bayi0ZyP9uL5syOG79g8pDUv30bi6wn
IronPort-HdrOrdr: A9a23:bYw7tql1pMjaYAioEwSjoetv4MfpDfO2imdD5ihNYBxZY6Wkfp
 +V8sjzhCWatN9OYh0dcLC7WJVpQRvnhPhICK0qTMqftW7dyReVxeBZnPHfKljbehEWmdQtsJ
 uIH5IObOEYSGIK8voSgzPIY+rIouP3iJxA7N22pxwGIHAIGsNdBkVCe32m+yVNNXh77PECZe
 OhD6R81l2dkSN9VLXEOpBJZZmIm/T70LbdJTIWDR8u7weDyRuu9b7BChCdmjMTSSlGz7sO+X
 XM11WR3NTuj9iLjjvnk0PD5ZVfn9XsjvNFGcy3k8AQbhHhkByhaohNU6CL+Bo1vOaswlA3l8
 SkmWZsA+1Dr1fqOk2lqxrk3AftlB4o9n/Z0FedxUDupMToLQhKQvZptMZ8SF/0+kAgtNZz3O
 ZgxGSCradaChvGgWDU+8XIfwsCrDv0nVMS1cooy1BPW4oXb7Fc6aYF+llOLZsGFCXmrKg6De
 hVCt3G7vo+SyLVU5nghBgt/DWQZAVwIv/fKXJy//B9kgIm00yR9nFohPD2xRw7hdYAo5ot3Z
 WzDk0nrsAIciYsV9MOOA42e7rBNoX8e2O+DIusGyWTKEgmAQOEl3el2sR/2AmVEKZ4uKfa3q
 6xFm9liQ==
X-IronPort-AV: E=Sophos;i="5.88,282,1635220800"; 
   d="scan'208";a="62222237"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NjBGu167EeI4QidVfQLk3hHXrSjvcTk7GwD6h4kZZzmjXClFpsXER9fzzCe2jqjMSSGtVngk9JbjBiXtaZytLJWZKac4iDIqKYYfGOyFh7/vuQE/4NIlr4gE6YjV5nYrHK2N95ZILxSolUAPgSj2cFszvhQT6RgQ70bnWo7cIhFB6ledJIuafXrP8no9bJ8eH9jbNvAsxOZnK7R5gvIzNooMZEi9j5f6KVeBgXBzaQhrvssQQl25Yas9iyliTsChIRNv0NfcUU3Yw8Zwoi3pEyG6IbhLQDRuwSsEUFfjOXgKee30e3veQ2hIb0CxqCNJ2wtIKpqp62phoV+7rFTnaA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MVVzIEZJ7nGtCbr4qtZ4tFdsPCecFgSJRYeur6mmDBc=;
 b=C5hnJQgXiLIKrfr5iUazOBKj6ZodHREmpJP1Gia0T8Vp0FpJ0Z+ryte+dkfGHxZdOQ+Mc7od59ygukpFuL7ZtgZBhOfDYp48jhp6zdmFJ5ilqtTQRGK3eTUpMbgKto1ZJ7DYlDyDaZSvtm5+YNuZgXSDolya1h2PEsuO19SaRxrLD7HlldGS3TzYFe6SgC+kzxkPtxmN7eFvGfl+A0kGPBRVsJT82SaUNyFlkQDLoLV1EEyW4Bguavf/DD1vw3ltXI33SHZFyRCrOD0RPABWjBxL0F0XblpWqFK+CuQKMcxG94zH/0tfz5FAcNC1d9qKSq0VIp8IdW0dm0qPPpqiZw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MVVzIEZJ7nGtCbr4qtZ4tFdsPCecFgSJRYeur6mmDBc=;
 b=XJFo2cerxDElQqLs29hZx91/Prg6GSwQFQRjrY7jjspTi3WqgvjR77p91bYSwWOmEH+2iNR0XR6amcP0DF8Ex4xjO5F4P4DUzBhFA2uXc8rV+tJipkn439sX11s25WR1g9dQrBlfHAiBypHSm1Dbkyps41/hvbcSpht1apQsjLE=
Date: Wed, 12 Jan 2022 11:18:19 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "Andrew
 Cooper" <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH 1/2] x86/time: use relative counts in calibration loops
Message-ID: <Yd6q6+mT7n0yL0Mp@Air-de-Roger>
References: <595b3447-0eba-dfc8-fa24-6bb8b964a137@suse.com>
 <34662095-6f58-4471-8bbf-1bdf67650fb2@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <34662095-6f58-4471-8bbf-1bdf67650fb2@suse.com>
X-ClientProxiedBy: MR2P264CA0155.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:1::18) To SA0PR03MB5610.namprd03.prod.outlook.com
 (2603:10b6:806:b2::9)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: fa36e3cd-1e26-44b6-7ed7-08d9d5b4de29
X-MS-TrafficTypeDiagnostic: SN6PR03MB3646:EE_
X-Microsoft-Antispam-PRVS: <SN6PR03MB3646139B86B0A9EBE5484F9A8F529@SN6PR03MB3646.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:1122;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: rmzXH1nJGruwcFMqVLJ7IQO1RopBt/RYJpgPblY7i942vroTFyAlAgv7INmHM5QVSAgWMZqeV9iUiJMx5NaOdHx9UeCWGIqtOUJsER+nOSXM60trK7jPHyeTo0gfj2km4xsVGvQg71CudOqddn6+JhmOPjeA2FdGq1QLUhiwNnlnlnyFa+w0FAc/IZnDShSNq2nKkhIVkUFADpbKS118GfJmT7QikLoFSFX099L3JPVgEAlHbY4NeklFYBWB/+nOHyOmewXB05gyyDtZws6Q7CFDtscZ7ozfSMgIK1o/9aHofLMNNnkdQgbrJz+JMNGe+36V8K9NM387oEbdFtLZDd4yyWSUr1+lAh7juOg2h9Rkesp81T9/Gi8zATZ84fLHgFBmU6/s0yHHat03aYEMKuaXWc8cddPdRzTQi567brpKkkkA9ExSTsPmlHv8lC3lRpwia2xHKU5UxvFor079TvP+Rcd6C2tk7qneIkRdlZTaaqssQ9ylQ3fPbY3MHI9a2fDqiakJuAxflyGb7yffJ8iHaex0Dh7rSZlnRAtQ/eJcgFI8+LJQ8CP6aiFCVqSzABBrYwySdLOu7qCXcj01INd8rhwV38yi+BwSeuJRZUAxIAyaevsQ9dmZNO9pbc7ex59lg26tXqVjTaCGnahDynzzkfUU3YWngEuiB8m6dOqEMS6MHVUjkwdiNM+IsAGYm8QSCjw6PGE0qGUZFcqJIA==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA0PR03MB5610.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(186003)(6916009)(6486002)(26005)(8936002)(8676002)(2906002)(66556008)(82960400001)(66476007)(6506007)(66946007)(86362001)(4326008)(85182001)(33716001)(54906003)(508600001)(83380400001)(5660300002)(316002)(6512007)(9686003)(4744005)(38100700002)(6666004)(67856001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?akpjR2xKanhyVTVTdE9aV3REZUtGcG9idXQvY1RqVytEcGdRVXpLZEVlcUht?=
 =?utf-8?B?dG1JUHNsUklKNG14UnR0WEljbW9oYXpIVjl0bVdLMXVCb1V1dkZlcjlINnZ0?=
 =?utf-8?B?SFpYeWh0VFllSFFqNDNXLzFlR1ZXWld6RCtMc2Rvakk1RnRlTGZhTWc5c2JV?=
 =?utf-8?B?ZDJkckFwUlR0ck40Ym9MTmt6Q0RUaXV4djJXamNqWE1sWHRrcnZva3dxSm5o?=
 =?utf-8?B?MFYzY3d5UExaR2pVL005YjZhdmZVU1BIdHJJVEdFU3NyZndSYjlRNlVnRy90?=
 =?utf-8?B?endaZTQvL21xNndwVzZPK280VWwyNkhlVEJnY3FwZFpXZU9oQm5iWTlNRFRG?=
 =?utf-8?B?WHVGNXhYaUFQRlBqVFVCWlVSa3hJcnVkcEJDWVJlQWpKeE1FUmNJd0dVSW9X?=
 =?utf-8?B?M0o3cUQ3TzBiRkNpMEdLL3FJUUJvM2Fuc24zRjFQaGs0VjV4MnU4NzRMZXIy?=
 =?utf-8?B?MzErRW5RdzNuTGc3SUtESmpvdzc2U3lITzkyazZLQTF3STBNbEV2MlFDaVRM?=
 =?utf-8?B?MGkweS9QcEFYbThEMm55ZktqMTZhYWJjU2YrWDJLLzJvRW1ZYW1vaXVHTXUz?=
 =?utf-8?B?emRtTHd4VC9YeTJwQk40WDR2Wlptd1Y1Uys5S2tCTGJaRnZ2OW05cjd5eHZ4?=
 =?utf-8?B?a0lDT09ablMvcFF5K0p6NUl2YjB2T01CL3NDN0VoUWNkbW1rVWVqQTdIQVQy?=
 =?utf-8?B?TFU3T3lvN1hkM0puSUp1UlN6K1hwcXRDeWd4Q2NXVkRwalFhTW5LWGM4MXZo?=
 =?utf-8?B?VGdGRkNLUmJPNFZIaitjTVVYU0g5Q0h1eGl6QjFRYk51ZkRoV2Y3WDc4TEJV?=
 =?utf-8?B?eEE2RkpTT1dnbXpXb2FZTjM2c0czdGJtWTBRVDFKc2o0QWNHRXNsdWo2YTFw?=
 =?utf-8?B?VUhuUUJ5anAzUkZwOU5zYzhBODJjanhvR0VYQXVWSW9xWTRUNGRBdHJjMkc1?=
 =?utf-8?B?bHJaSGFGeEtpTW03Z1JyMTlsWVkyNWdQM1J2cGpHQjVoWWUrR3dlYm02SW1H?=
 =?utf-8?B?bVh5TnYyUnpEblFEdklFMDdYK2dSZGxtM0pKc2UxWk1OSUxLU0ZMaFprd0J3?=
 =?utf-8?B?Q0VJL3NUUlZudkp2TDBKREFMYU5aVXR5TnJrUUMyV29INnlDbFZ0VFdQeSt4?=
 =?utf-8?B?UWY1NEpoRWdZSDhRZjhsd1NTUDYzejJ5dUQwV2g3TmlKOGhJYld3RjhnVlV5?=
 =?utf-8?B?aU1GcTBLS0ZoMHdWVEdVQklkNGFENEJRTUVIdHRnQVdDT0RWM1lmbkJRU2dK?=
 =?utf-8?B?T2x3S0FIaTdCYkNrTnh2TFpuOCticzloWXlFZEZNY21QNEk4bEw1ZTZZckhE?=
 =?utf-8?B?c2x0ejdvaWhNZmVqMUoxRk8wcGFGemFONThkM0tMYlZZZVJLZ2U5TGJFSlk0?=
 =?utf-8?B?NWxFeU1CUGIxSWlOMldlRVp5UGlnbzJMK2EzQXFmc2tORXo2dzFNajF4alVh?=
 =?utf-8?B?Z2Y3NmRZL2dDV2g1emcrdlhZa3k3OUsvZXI0VWsxbVhqc1lkZDhNbC9mOGk5?=
 =?utf-8?B?dE1VdnZmdHR0TUJRUjA4UUhUMUdDVTFoSmVDaGYxV0VWOS9XMlVGSlZIclZ6?=
 =?utf-8?B?VEFvMGJXajM0bm54bUxBeFVMT21LTUNpQ1Bubk1KU3drbkwzSmpacnpoK0NQ?=
 =?utf-8?B?NWdQTlY2RTdmWDAydkZqZnFSaFdmTkYydWJnWnN6aXdrYjZOUG41N1JXSm5r?=
 =?utf-8?B?M3cvVzlHUzVsbFZFVFBqclpUMk1JS3E3QVluZXFBSGRMRG9FbVpWZThVZzdT?=
 =?utf-8?B?azRQQXk5bXhHT0lzOE9aOGpZZjJIZTc3NWt1bk8wanc3eTF2U29GRnQ1NEx1?=
 =?utf-8?B?Wkgxb1lmNzhsSWVGWHIvRnhoMExmV2E4VVpNcWZKSnhaaWUwM2Z1WXFad3JM?=
 =?utf-8?B?NDNHWnNSbUluMmxESXc2eGRDQVQ1WE92cW1kZmQwRDRScGszWEFkdTJmalh2?=
 =?utf-8?B?bUhBSGZRZzBzc0tJUUxOZzV3Q1MvZ3JLU1ZlQzVUTlVNeEVpUjM4UmM2a3Rx?=
 =?utf-8?B?N0I5WkZNRFJ5K3pXNTY0ci9taDdma3JBUHJ4all5UGlBcU00ZkRBRVBIOW8v?=
 =?utf-8?B?cWp5OVFtYTZPSjYrVlI5V1BqcG9tS0FURzFGUmlQY3ZVVUt0WmNIWWUvTkM2?=
 =?utf-8?B?R0llYlBxeCt0Y3ZWVGF6b0JMd1ZiNGd5Q3ZIemFNb0p0aEZTTnJmczdSUWw0?=
 =?utf-8?Q?d52kWFRVqNTyfVnmn3LXhp4=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: fa36e3cd-1e26-44b6-7ed7-08d9d5b4de29
X-MS-Exchange-CrossTenant-AuthSource: SA0PR03MB5610.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2022 10:18:24.8820
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: sKfutMSqoQf2LF95KB3/9MeA8Y05uz5HyAzEZqnK+ZYt0fcT8cFAn1j20Dph7R7ed/wMseCPb7ZS5IkML8P7mA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR03MB3646
X-OriginatorOrg: citrix.com

On Wed, Jan 12, 2022 at 09:55:17AM +0100, Jan Beulich wrote:
> Looping until reaching/exceeding a certain value is error prone: If the
> target value is close enough to the wrapping point, the loop may not
> terminate at all. Switch to using delta values, which then allows to
> fold the two loops each into just one.
> 
> Fixes: 93340297802b ("x86/time: calibrate TSC against platform timer")
> Reported-by: Roger Pau Monné <roger.pau@citrix.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 10:30:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 10:30:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256443.440043 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7atU-0005P8-Ag; Wed, 12 Jan 2022 10:30:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256443.440043; Wed, 12 Jan 2022 10: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 1n7atU-0005P1-7f; Wed, 12 Jan 2022 10:30:16 +0000
Received: by outflank-mailman (input) for mailman id 256443;
 Wed, 12 Jan 2022 10:30:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qR4C=R4=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n7atT-0005Mq-4S
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 10:30:15 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9e581b47-7392-11ec-9c70-5536b2d1e4e1;
 Wed, 12 Jan 2022 11:30:11 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 7492040E;
 Wed, 12 Jan 2022 11:30:09 +0100 (CET)
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 UOZffL4rreGZ; Wed, 12 Jan 2022 11:30:08 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 5669F1A5;
 Wed, 12 Jan 2022 11:30:08 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n7atL-00HOFv-Ej;
 Wed, 12 Jan 2022 11:30:07 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9e581b47-7392-11ec-9c70-5536b2d1e4e1
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Wed, 12 Jan 2022 11:30:07 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v2 09/12] mini-os: use file_ops and get_file_from_fd()
 for console
Message-ID: <20220112103007.7szlvucbyxfje6r7@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: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-10-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20220111151215.22955-10-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 7492040E
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le mar. 11 janv. 2022 16:12:12 +0100, a ecrit:
> Add struct file_ops for the console related file types (FTYPE_CONSOLE
> and savefile). FTYPE_CONSOLE remains statically defined, as it is used
> to statically init stdin, stdout and stderr.
> 
> Instead of directly accessing the files[] array use get_file_from_fd().
> 
> With CONSOLE now handled via file_ops the bogus file descriptor case in
> select_poll() now needs to be handled more explicit instead of dropping
> into console handling, assuming that this case was basically meant to
> cover SAVEFILE.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

modulo the int fd / file * thing,

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
>  console/xenbus.c       | 125 +++++++++++++++++++++++++++++++++++++++++
>  console/xencons_ring.c |   6 +-
>  include/console.h      |   5 ++
>  include/lib.h          |   3 +-
>  lib/sys.c              |  87 +++++++---------------------
>  5 files changed, 155 insertions(+), 71 deletions(-)
> 
> diff --git a/console/xenbus.c b/console/xenbus.c
> index 05fc31c..b856c84 100644
> --- a/console/xenbus.c
> +++ b/console/xenbus.c
> @@ -192,3 +192,128 @@ void fini_consfront(struct consfront_dev *dev)
>  {
>      if (dev) free_consfront(dev);
>  }
> +
> +#ifdef HAVE_LIBC
> +static int consfront_read(int fd, void *buf, size_t nbytes)
> +{
> +    int ret;
> +    struct file *file = get_file_from_fd(fd);
> +    DEFINE_WAIT(w);
> +
> +    while ( 1 )
> +    {
> +        add_waiter(w, console_queue);
> +        ret = xencons_ring_recv(file->dev, buf, nbytes);
> +        if ( ret )
> +            break;
> +        schedule();
> +    }
> +
> +    remove_waiter(w, console_queue);
> +
> +    return ret;
> +}
> +
> +static int savefile_write(int fd, const void *buf, size_t nbytes)
> +{
> +    int ret = 0, tot = nbytes;
> +    struct file *file = get_file_from_fd(fd);
> +
> +    while ( nbytes > 0 )
> +    {
> +        ret = xencons_ring_send(file->dev, (char *)buf, nbytes);
> +        nbytes -= ret;
> +        buf = (char *)buf + ret;
> +    }
> +
> +    return tot - nbytes;
> +}
> +
> +static int console_write(int fd, const void *buf, size_t nbytes)
> +{
> +    struct file *file = get_file_from_fd(fd);
> +
> +    console_print(file->dev, (char *)buf, nbytes);
> +
> +    return nbytes;
> +}
> +
> +static int consfront_close_fd(int fd)
> +{
> +    struct file *file = get_file_from_fd(fd);
> +
> +    fini_consfront(file->dev);
> +
> +    return 0;
> +}
> +
> +static int consfront_fstat(int fd, struct stat *buf)
> +{
> +    struct file *file = get_file_from_fd(fd);
> +
> +    buf->st_mode = S_IRUSR | S_IWUSR;
> +    buf->st_mode |= (file->type == FTYPE_CONSOLE) ? S_IFCHR : S_IFREG;
> +    buf->st_atime = buf->st_mtime = buf->st_ctime = time(NULL);
> +
> +    return 0;
> +}
> +
> +static bool consfront_select_rd(int fd)
> +{
> +    struct file *file = get_file_from_fd(fd);
> +
> +    return xencons_ring_avail(file->dev);
> +}
> +
> +static struct file_ops savefile_ops = {
> +    .name = "savefile",
> +    .read = consfront_read,
> +    .write = savefile_write,
> +    .close = consfront_close_fd,
> +    .fstat = consfront_fstat,
> +    .select_rd = consfront_select_rd,
> +    .select_wr = select_yes,
> +};
> +
> +struct file_ops console_ops = {
> +    .name = "console",
> +    .read = consfront_read,
> +    .write = console_write,
> +    .close = consfront_close_fd,
> +    .fstat = consfront_fstat,
> +    .select_rd = consfront_select_rd,
> +    .select_wr = select_yes,
> +};
> +
> +int open_consfront(char *nodename)
> +{
> +    struct consfront_dev *dev;
> +    static unsigned int ftype_savefile;
> +    unsigned int ftype;
> +    struct file *file;
> +
> +    dev = init_consfront(nodename);
> +    if ( !dev )
> +        return -1;
> +
> +    if ( nodename )
> +    {
> +        if ( !ftype_savefile )
> +            ftype_savefile = alloc_file_type(&savefile_ops);
> +        ftype = ftype_savefile;
> +    }
> +    else
> +        ftype = FTYPE_CONSOLE;
> +
> +    dev->fd = alloc_fd(ftype);
> +    file = get_file_from_fd(dev->fd);
> +    if ( !file )
> +    {
> +        fini_consfront(dev);
> +        return -1;
> +    }
> +    file->dev = dev;
> +
> +    return dev->fd;
> +}
> +#endif
> diff --git a/console/xencons_ring.c b/console/xencons_ring.c
> index c348f3c..efedf46 100644
> --- a/console/xencons_ring.c
> +++ b/console/xencons_ring.c
> @@ -99,10 +99,10 @@ void console_handle_input(evtchn_port_t port, struct pt_regs *regs, void *data)
>  {
>  	struct consfront_dev *dev = (struct consfront_dev *) data;
>  #ifdef HAVE_LIBC
> -        int fd = dev ? dev->fd : -1;
> +        struct file *file = dev ? get_file_from_fd(dev->fd) : NULL;
>  
> -        if (fd != -1)
> -            files[fd].read = true;
> +        if ( file )
> +            file->read = true;
>  
>          wake_up(&console_queue);
>  #else
> diff --git a/include/console.h b/include/console.h
> index 0d7bf07..8c615d0 100644
> --- a/include/console.h
> +++ b/include/console.h
> @@ -39,6 +39,7 @@
>  #include <mini-os/os.h>
>  #include <mini-os/traps.h>
>  #include <mini-os/types.h>
> +#include <mini-os/lib.h>
>  #include <xen/grant_table.h>
>  #include <xenbus.h>
>  #include <xen/io/console.h>
> @@ -93,5 +94,9 @@ int xencons_ring_send_no_notify(struct consfront_dev *dev, const char *data, uns
>  int xencons_ring_avail(struct consfront_dev *dev);
>  int xencons_ring_recv(struct consfront_dev *dev, char *data, unsigned len);
>  void free_consfront(struct consfront_dev *dev);
> +#ifdef HAVE_LIBC
> +extern struct file_ops console_ops;
> +int open_consfront(char *nodename);
> +#endif
>  
>  #endif /* _LIB_CONSOLE_H_ */
> diff --git a/include/lib.h b/include/lib.h
> index 653a16e..c171fe8 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -160,8 +160,7 @@ void sanity_check(void);
>  #define FTYPE_FILE       2
>  #define FTYPE_SOCKET     3
>  #define FTYPE_MEM        4
> -#define FTYPE_SAVEFILE   5
> -#define FTYPE_N          6
> +#define FTYPE_N          5
>  #define FTYPE_SPARE     16
>  
>  typedef int file_read_func(int fd, void *buf, size_t nbytes);
> diff --git a/lib/sys.c b/lib/sys.c
> index 4fb844f..3a8aa68 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -101,6 +101,9 @@ static struct file_ops file_ops_none = {
>  
>  static struct file_ops *file_ops[FTYPE_N + FTYPE_SPARE] = {
>      [FTYPE_NONE] = &file_ops_none,
> +#ifdef CONFIG_CONSFRONT
> +    [FTYPE_CONSOLE] = &console_ops,
> +#endif
>  };
>  
>  unsigned int alloc_file_type(struct file_ops *ops)
> @@ -211,31 +214,26 @@ int mkdir(const char *pathname, mode_t mode)
>  #ifdef CONFIG_CONSFRONT
>  int posix_openpt(int flags)
>  {
> -    struct consfront_dev *dev;
> +    int fd;
>  
>      /* Ignore flags */
> +    fd = open_consfront(NULL);
> +    printk("fd(%d) = posix_openpt\n", fd);
>  
> -    dev = init_consfront(NULL);
> -    dev->fd = alloc_fd(FTYPE_CONSOLE);
> -    files[dev->fd].dev = dev;
> -
> -    printk("fd(%d) = posix_openpt\n", dev->fd);
> -    return(dev->fd);
> +    return fd;
>  }
>  
>  int open_savefile(const char *path, int save)
>  {
> -    struct consfront_dev *dev;
> +    int fd;
>      char nodename[64];
>  
>      snprintf(nodename, sizeof(nodename), "device/console/%d", save ? SAVE_CONSOLE : RESTORE_CONSOLE);
>  
> -    dev = init_consfront(nodename);
> -    dev->fd = alloc_fd(FTYPE_SAVEFILE);
> -    files[dev->fd].dev = dev;
> +    fd = open_consfront(nodename);
> +    printk("fd(%d) = open_savefile\n", fd);
>  
> -    printk("fd(%d) = open_savefile\n", dev->fd);
> -    return(dev->fd);
> +    return fd;
>  }
>  #else
>  int posix_openpt(int flags)
> @@ -285,20 +283,6 @@ int read(int fd, void *buf, size_t nbytes)
>          return ops->read(fd, buf, nbytes);
>  
>      switch (files[fd].type) {
> -        case FTYPE_SAVEFILE:
> -	case FTYPE_CONSOLE: {
> -	    int ret;
> -            DEFINE_WAIT(w);
> -            while(1) {
> -                add_waiter(w, console_queue);
> -                ret = xencons_ring_recv(files[fd].dev, buf, nbytes);
> -                if (ret)
> -                    break;
> -                schedule();
> -            }
> -            remove_waiter(w, console_queue);
> -            return ret;
> -        }
>  #ifdef HAVE_LWIP
>  	case FTYPE_SOCKET:
>  	    return lwip_read(files[fd].fd, buf, nbytes);
> @@ -319,18 +303,6 @@ int write(int fd, const void *buf, size_t nbytes)
>          return ops->write(fd, buf, nbytes);
>  
>      switch (files[fd].type) {
> -        case FTYPE_SAVEFILE: {
> -                int ret = 0, tot = nbytes;
> -                while (nbytes > 0) {
> -                    ret = xencons_ring_send(files[fd].dev, (char *)buf, nbytes);
> -                    nbytes -= ret;
> -                    buf = (char *)buf + ret;
> -                }
> -                return tot - nbytes;
> -            }
> -	case FTYPE_CONSOLE:
> -	    console_print(files[fd].dev, (char *)buf, nbytes);
> -	    return nbytes;
>  #ifdef HAVE_LWIP
>  	case FTYPE_SOCKET:
>  	    return lwip_write(files[fd].fd, (void*) buf, nbytes);
> @@ -418,12 +390,6 @@ int close(int fd)
>  	case FTYPE_SOCKET:
>  	    res = lwip_close(files[fd].fd);
>              break;
> -#endif
> -#ifdef CONFIG_CONSFRONT
> -        case FTYPE_SAVEFILE:
> -        case FTYPE_CONSOLE:
> -            fini_consfront(files[fd].dev);
> -            break;
>  #endif
>  	case FTYPE_NONE:
>              printk("close(%d): Bad descriptor\n", fd);
> @@ -464,15 +430,8 @@ int fstat(int fd, struct stat *buf)
>          return ops->fstat(fd, buf);
>  
>      switch (files[fd].type) {
> -	case FTYPE_SAVEFILE:
> -	case FTYPE_CONSOLE:
>  	case FTYPE_SOCKET: {
> -            if (files[fd].type == FTYPE_CONSOLE)
> -                buf->st_mode = S_IFCHR|S_IRUSR|S_IWUSR;
> -            else if (files[fd].type == FTYPE_SOCKET)
> -                buf->st_mode = S_IFSOCK|S_IRUSR|S_IWUSR;
> -            else if (files[fd].type == FTYPE_SAVEFILE)
> -                buf->st_mode = S_IFREG|S_IRUSR|S_IWUSR;
> +            buf->st_mode = S_IFSOCK|S_IRUSR|S_IWUSR;
>  	    buf->st_uid = 0;
>  	    buf->st_gid = 0;
>  	    buf->st_size = 0;
> @@ -583,7 +542,6 @@ int closedir(DIR *dir)
>  #if defined(LIBC_DEBUG) || defined(LIBC_VERBOSE)
>  static const char *file_types[] = {
>      [FTYPE_NONE]    = "none",
> -    [FTYPE_CONSOLE] = "console",
>      [FTYPE_SOCKET]  = "socket",
>  };
>  
> @@ -744,21 +702,18 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
>              }
>  
>  	    if (FD_ISSET(i, readfds) || FD_ISSET(i, writefds) || FD_ISSET(i, exceptfds))
> +            {
>  		printk("bogus fd %d in select\n", i);
> -	    /* Fallthrough.  */
> -        }
> -
> -	case FTYPE_CONSOLE:
> -	    if (FD_ISSET(i, readfds)) {
> -                if (xencons_ring_avail(files[i].dev))
> -		    n++;
> -		else
> -		    FD_CLR(i, readfds);
> +                if ( FD_ISSET(i, readfds) )
> +                    FD_CLR(i, readfds);
> +                if ( FD_ISSET(i, writefds) )
> +                    FD_CLR(i, writefds);
> +                if ( FD_ISSET(i, exceptfds) )
> +                    FD_CLR(i, exceptfds);
>              }
> -	    if (FD_ISSET(i, writefds))
> -                n++;
> -	    FD_CLR(i, exceptfds);
>  	    break;
> +        }
> +
>  #ifdef HAVE_LWIP
>  	case FTYPE_SOCKET:
>  	    if (FD_ISSET(i, readfds)) {
> -- 
> 2.26.2
> 

-- 
Samuel
<y> t1 faich
<y> les programmes ils segfaultent jamais quand on veut
 -+- #ens-mim en plein débogage -+-


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 10:30:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 10:30:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256446.440058 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7atp-0005uj-Ue; Wed, 12 Jan 2022 10:30:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256446.440058; Wed, 12 Jan 2022 10: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 1n7atp-0005uW-Oq; Wed, 12 Jan 2022 10:30:37 +0000
Received: by outflank-mailman (input) for mailman id 256446;
 Wed, 12 Jan 2022 10:30:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qR4C=R4=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n7ato-0005sd-G0
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 10:30:36 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ac62ea03-7392-11ec-bd6f-bfb69f65cdc7;
 Wed, 12 Jan 2022 11:30:34 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 72F1540E;
 Wed, 12 Jan 2022 11:30:33 +0100 (CET)
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 iOeJ9QxSmz-F; Wed, 12 Jan 2022 11:30:32 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id AA94E1A5;
 Wed, 12 Jan 2022 11:30:32 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n7atk-00HPHR-A3;
 Wed, 12 Jan 2022 11:30:32 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ac62ea03-7392-11ec-bd6f-bfb69f65cdc7
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Wed, 12 Jan 2022 11:30:32 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v2 10/12] mini-os: add struct file_ops for file type
 socket
Message-ID: <20220112103032.y4sgydgj24jjiphl@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: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-11-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220111151215.22955-11-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 72F1540E
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le mar. 11 janv. 2022 16:12:13 +0100, a ecrit:
> Even with some special handling needed in select_poll(), add a struct
> file_ops for FTYPE_SOCKET. Due to the need of the special handling it
> isn't possible to use a dynamically allocated file type.
> 
> Most functions calling the file_ops methods can be simplified a lot now
> that no file type specific handling is left. Same applies to the file
> type name printing in debug/verbose mode.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

modulo the int fd / file * thing,

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
>  lib/sys.c | 153 +++++++++++++++++++++++++-----------------------------
>  1 file changed, 70 insertions(+), 83 deletions(-)
> 
> diff --git a/lib/sys.c b/lib/sys.c
> index 3a8aa68..12deaed 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -99,11 +99,70 @@ static struct file_ops file_ops_none = {
>      .name = "none",
>  };
>  
> +#ifdef HAVE_LWIP
> +static int socket_read(int fd, void *buf, size_t nbytes)
> +{
> +    return lwip_read(fd, buf, nbytes);
> +}
> +
> +static int socket_write(int fd, const void *buf, size_t nbytes)
> +{
> +    return lwip_write(fd, (void *)buf, nbytes);
> +}
> +
> +static int close_socket_fd(int fd)
> +{
> +    struct file *file = get_file_from_fd(fd);
> +
> +    return lwip_close(file->fd);
> +}
> +
> +static int socket_fstat(int fd, struct stat *buf)
> +{
> +    buf->st_mode = S_IFSOCK | S_IRUSR | S_IWUSR;
> +    buf->st_atime = buf->st_mtime = buf->st_ctime = time(NULL);
> +
> +    return 0;
> +}
> +
> +static int socket_fcntl(int fd, int cmd, va_list args)
> +{
> +    long arg;
> +    struct file *file = get_file_from_fd(fd);
> +
> +    arg = va_arg(args, long);
> +
> +    if ( cmd == F_SETFL && !(arg & ~O_NONBLOCK) )
> +    {
> +        /* Only flag supported: non-blocking mode */
> +        uint32_t nblock = !!(arg & O_NONBLOCK);
> +
> +        return lwip_ioctl(file->fd, FIONBIO, &nblock);
> +    }
> +
> +    printk("fcntl(%d, %d, %lx/%lo)\n", fd, cmd, arg, arg);
> +    errno = ENOSYS;
> +    return -1;
> +}
> +
> +static struct file_ops socket_ops = {
> +    .name = "socket",
> +    .read = socket_read,
> +    .write = socket_write,
> +    .close = close_socket_fd,
> +    .fstat = socket_fstat,
> +    .fcntl = socket_fcntl,
> +};
> +#endif
> +
>  static struct file_ops *file_ops[FTYPE_N + FTYPE_SPARE] = {
>      [FTYPE_NONE] = &file_ops_none,
>  #ifdef CONFIG_CONSFRONT
>      [FTYPE_CONSOLE] = &console_ops,
>  #endif
> +#ifdef HAVE_LWIP
> +    [FTYPE_SOCKET] = &socket_ops,
> +#endif
>  };
>  
>  unsigned int alloc_file_type(struct file_ops *ops)
> @@ -282,14 +341,6 @@ int read(int fd, void *buf, size_t nbytes)
>      if ( ops->read )
>          return ops->read(fd, buf, nbytes);
>  
> -    switch (files[fd].type) {
> -#ifdef HAVE_LWIP
> -	case FTYPE_SOCKET:
> -	    return lwip_read(files[fd].fd, buf, nbytes);
> -#endif
> -	default:
> -	    break;
> -    }
>      printk("read(%d): Bad descriptor\n", fd);
>      errno = EBADF;
>      return -1;
> @@ -302,14 +353,6 @@ int write(int fd, const void *buf, size_t nbytes)
>      if ( ops->write )
>          return ops->write(fd, buf, nbytes);
>  
> -    switch (files[fd].type) {
> -#ifdef HAVE_LWIP
> -	case FTYPE_SOCKET:
> -	    return lwip_write(files[fd].fd, (void*) buf, nbytes);
> -#endif
> -	default:
> -	    break;
> -    }
>      printk("write(%d): Bad descriptor\n", fd);
>      errno = EBADF;
>      return -1;
> @@ -378,26 +421,14 @@ int close(int fd)
>  
>      printk("close(%d)\n", fd);
>      if ( ops->close )
> -    {
>          res = ops->close(fd);
> -        goto out;
> -    }
> -
> -    switch (files[fd].type) {
> -        default:
> -            break;
> -#ifdef HAVE_LWIP
> -	case FTYPE_SOCKET:
> -	    res = lwip_close(files[fd].fd);
> -            break;
> -#endif
> -	case FTYPE_NONE:
> -            printk("close(%d): Bad descriptor\n", fd);
> -            errno = EBADF;
> -            return -1;
> +    else if ( files[fd].type == FTYPE_NONE )
> +    {
> +        printk("close(%d): Bad descriptor\n", fd);
> +        errno = EBADF;
> +        return -1;
>      }
>  
> - out:
>      memset(files + fd, 0, sizeof(struct file));
>      files[fd].type = FTYPE_NONE;
>      return res;
> @@ -429,21 +460,6 @@ int fstat(int fd, struct stat *buf)
>      if ( ops->fstat )
>          return ops->fstat(fd, buf);
>  
> -    switch (files[fd].type) {
> -	case FTYPE_SOCKET: {
> -            buf->st_mode = S_IFSOCK|S_IRUSR|S_IWUSR;
> -	    buf->st_uid = 0;
> -	    buf->st_gid = 0;
> -	    buf->st_size = 0;
> -	    buf->st_atime = 
> -	    buf->st_mtime = 
> -	    buf->st_ctime = time(NULL);
> -	    return 0;
> -	}
> -	default:
> -	    break;
> -    }
> -
>      printk("statf(%d): Bad descriptor\n", fd);
>      errno = EBADF;
>      return -1;
> @@ -491,21 +507,9 @@ int fcntl(int fd, int cmd, ...)
>      arg = va_arg(ap, long);
>      va_end(ap);
>  
> -    switch (cmd) {
> -#ifdef HAVE_LWIP
> -	case F_SETFL:
> -	    if (files[fd].type == FTYPE_SOCKET && !(arg & ~O_NONBLOCK)) {
> -		/* Only flag supported: non-blocking mode */
> -		uint32_t nblock = !!(arg & O_NONBLOCK);
> -		return lwip_ioctl(files[fd].fd, FIONBIO, &nblock);
> -	    }
> -	    /* Fallthrough */
> -#endif
> -	default:
> -	    printk("fcntl(%d, %d, %lx/%lo)\n", fd, cmd, arg, arg);
> -	    errno = ENOSYS;
> -	    return -1;
> -    }
> +    printk("fcntl(%d, %d, %lx/%lo)\n", fd, cmd, arg, arg);
> +    errno = ENOSYS;
> +    return -1;
>  }
>  
>  DIR *opendir(const char *name)
> @@ -539,23 +543,6 @@ int closedir(DIR *dir)
>  
>  /* We assume that only the main thread calls select(). */
>  
> -#if defined(LIBC_DEBUG) || defined(LIBC_VERBOSE)
> -static const char *file_types[] = {
> -    [FTYPE_NONE]    = "none",
> -    [FTYPE_SOCKET]  = "socket",
> -};
> -
> -static char *get_type_name(unsigned int type)
> -{
> -    if ( type < ARRAY_SIZE(file_ops) && file_ops[type] )
> -        return file_ops[type]->name;
> -
> -    if ( type < ARRAY_SIZE(file_types) && file_types[type] )
> -        return file_types[type];
> -
> -    return "none";
> -}
> -#endif
>  #ifdef LIBC_DEBUG
>  static void dump_set(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout)
>  {
> @@ -566,7 +553,7 @@ static void dump_set(int nfds, fd_set *readfds, fd_set *writefds, fd_set *except
>  	if (FD_ISSET(i, set)) { \
>  	    if (comma) \
>  		printk(", "); \
> -	    printk("%d(%s)", i, get_type_name(files[i].type)); \
> +	    printk("%d(%s)", i, get_file_ops(files[i].type)->name); \
>  	    comma = 1; \
>  	} \
>      } \
> @@ -600,7 +587,7 @@ static void dump_pollfds(struct pollfd *pfd, int nfds, int timeout)
>          fd = pfd[i].fd;
>          if (comma)
>              printk(", ");
> -        printk("%d(%s)/%02x", fd, get_type_name(files[fd].type),
> +        printk("%d(%s)/%02x", fd, get_file_ops(files[fd].type)->name,
>              pfd[i].events);
>              comma = 1;
>      }
> @@ -754,7 +741,7 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
>  	printk("%d(%d): ", nb, sock_n);
>  	for (i = 0; i < nfds; i++) {
>  	    if (nbread[i] || nbwrite[i] || nbexcept[i])
> -		printk(" %d(%c):", i, get_type_name(files[i].type));
> +		printk(" %d(%c):", i, get_file_ops(files[i].type)->name);
>  	    if (nbread[i])
>  	    	printk(" %dR", nbread[i]);
>  	    if (nbwrite[i])
> -- 
> 2.26.2
> 

-- 
Samuel
Running Windows on a Pentium is like having a brand new Porsche but only
be able to drive backwards with the handbrake on.
(Unknown source)


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 10:30:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 10:30:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256449.440074 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7atu-0006JF-9G; Wed, 12 Jan 2022 10:30:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256449.440074; Wed, 12 Jan 2022 10:30:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7atu-0006J6-4v; Wed, 12 Jan 2022 10:30:42 +0000
Received: by outflank-mailman (input) for mailman id 256449;
 Wed, 12 Jan 2022 10:30:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qR4C=R4=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n7att-0005sd-KC
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 10:30:41 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b003d5d7-7392-11ec-bd6f-bfb69f65cdc7;
 Wed, 12 Jan 2022 11:30:40 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 8B4A3416;
 Wed, 12 Jan 2022 11:30:39 +0100 (CET)
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 Ba3ceNDcRovm; Wed, 12 Jan 2022 11:30:39 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 2C7B140E;
 Wed, 12 Jan 2022 11:30:39 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n7atq-00HPZ4-P9;
 Wed, 12 Jan 2022 11:30:38 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b003d5d7-7392-11ec-bd6f-bfb69f65cdc7
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Wed, 12 Jan 2022 11:30:38 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v2 09/12] mini-os: use file_ops and get_file_from_fd()
 for console
Message-ID: <20220112103038.oubgjjanalwcyfit@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: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-10-jgross@suse.com>
 <20220111203501.tywfn4czhwavhgrf@begin>
 <bb7d4313-2500-3e60-8a51-93e909739c90@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <bb7d4313-2500-3e60-8a51-93e909739c90@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 8B4A3416
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le mer. 12 janv. 2022 08:57:07 +0100, a ecrit:
> On 11.01.22 21:35, Samuel Thibault wrote:
> > Juergen Gross, le mar. 11 janv. 2022 16:12:12 +0100, a ecrit:
> > > +static int consfront_fstat(int fd, struct stat *buf)
> > > +{
> > > +    struct file *file = get_file_from_fd(fd);
> > > +
> > > +    buf->st_mode = S_IRUSR | S_IWUSR;
> > > +    buf->st_mode |= (file->type == FTYPE_CONSOLE) ? S_IFCHR : S_IFREG;
> > > +    buf->st_atime = buf->st_mtime = buf->st_ctime = time(NULL);
> > > +
> > > +    return 0;
> > > +}
> > 
> > This seems to be missing filling st_uid, st_gid, etc.?
> 
> Not really. Those are set to zero via the call of init_stat()
> in fstat().

Ah, I missed that call indeed.

Samuel


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 10:39:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 10:39:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256494.440224 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7b1m-0000hF-Op; Wed, 12 Jan 2022 10:38:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256494.440224; Wed, 12 Jan 2022 10:38:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7b1m-0000gt-J4; Wed, 12 Jan 2022 10:38:50 +0000
Received: by outflank-mailman (input) for mailman id 256494;
 Wed, 12 Jan 2022 10:38: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 1n7b1l-0000gN-Db; Wed, 12 Jan 2022 10:38: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 1n7b1l-0003ZV-C9; Wed, 12 Jan 2022 10:38: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 1n7b1k-0002dc-V7; Wed, 12 Jan 2022 10:38:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n7b1k-0007V8-Ue; Wed, 12 Jan 2022 10:38:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=AlazMBuniRLHfFeI3pY+4eU+qPvfdvN8f7HQjFUrHec=; b=0h0yQt7cR2FSFJQQlfLG4lGEeO
	cHMJv87pVDZYHU2MOHKBg3CxHqRoZE5kWdIPl0s8ZpKAiAiNO6OtemWwUSbEjYoni0ylShqsS9gv8
	Y1g6XBjZtqAuXk1NQIHs7N/ib45mnIKW4nH7azEtOo/U5qeGRQbKqAFO704NJZ7h0cK8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167665-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167665: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-arm64-arm64-libvirt-xsm:xen-boot:fail:heisenbug
    qemu-mainline:test-armhf-armhf-xl-vhd:leak-check/check:fail:heisenbug
    qemu-mainline:test-armhf-armhf-libvirt: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-xl-rtds:guest-localmigrate/x10:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check: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-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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm: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-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-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-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-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2: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
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=64c01c7da449bcafc614b27ecf1325bb08031c84
X-Osstest-Versions-That:
    qemuu=bf99e0ec9a51976868d7a8334620716df15fe7fe
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 12 Jan 2022 10:38:48 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-libvirt-xsm  8 xen-boot            fail pass in 167672-retest
 test-armhf-armhf-xl-vhd      20 leak-check/check    fail pass in 167672-retest

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

version targeted for testing:
 qemuu                64c01c7da449bcafc614b27ecf1325bb08031c84
baseline version:
 qemuu                bf99e0ec9a51976868d7a8334620716df15fe7fe

Last test of basis   167659  2022-01-11 12:07:04 Z    0 days
Testing same since   167665  2022-01-11 21:09:55 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Frank Chang <frank.chang@sifive.com>
  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                                          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                                 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-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     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-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      fail    
 test-amd64-i386-xl-vhd                                       pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   bf99e0ec9a..64c01c7da4  64c01c7da449bcafc614b27ecf1325bb08031c84 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 10:54:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 10:54:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256520.440308 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7bGr-0003u8-4D; Wed, 12 Jan 2022 10:54:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256520.440308; Wed, 12 Jan 2022 10: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 1n7bGq-0003u1-Vp; Wed, 12 Jan 2022 10:54:24 +0000
Received: by outflank-mailman (input) for mailman id 256520;
 Wed, 12 Jan 2022 10:54:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dBVB=R4=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n7bGp-0003tv-Ap
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 10:54:23 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fe3a2a91-7395-11ec-bd6f-bfb69f65cdc7;
 Wed, 12 Jan 2022 11:54:21 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fe3a2a91-7395-11ec-bd6f-bfb69f65cdc7
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1641984861;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=VTUR57S+axA/eyaGaioNevXC9PHHeBVZNuJ4bNuBR0M=;
  b=PjvpPo4Vfi1asWgn/Bw0HqE2nQojQxD/NXURJdi6yshQjXCTz8TxfUg1
   IaBXAM3gyyWZ7YQJSjMgI9GOLr/veRH6RHQCF4dNHAUdG6Teipf4SXorg
   1PvfxTwdPiEa7KTkuWQdjX008J1undJRJYWFhuWK/PGzrHxJX61OUCmeN
   g=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: hYUiELqElar3FKtYoadYCEK3YtpDZAGTKVUl+/D8uZLB1EjrWztIqr7UXzFLjDE3aKDGpAyOGi
 nF4ScYP/+ptWkLVg1Hv1pnn8je2W7ZGHY6kOn4e+pPFPzClBNHeX/DN4X1jhyBlTEj3W/VJd+V
 P5EIAdjxm9ENO6IXRdasg1Me54kR/mznvjc5irzX1QkW9fa0xWHkb6R+sPeJng9kt1OHjYwb0V
 fsj/MnKsQhdCA2wfQ0cway0aGf9eslqp2eKa3JVm8r0H3TVpaYD/gBi0rDnc6/obGr+2xlLvQ8
 5xSLKoVlaKP3+ZT+2+fL+1qG
X-SBRS: 5.2
X-MesageID: 61302832
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:ixFZb6rtc7/HDTWWvNP5BMcol3xeBmL+YhIvgKrLsJaIsI4StFCzt
 garIBmDOq2NM2GkfY9xboyy8U8OuJWGz4IwSQJvrHo0Ey9H+ZuZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlZT4vE2xbuKU5NTsY0idfic5Dndx4f5fs7Rh2NQw2IHjW1rlV
 e7a+KUzBnf0g1aYDUpMg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJ8DO+iL
 9sv+Znilo/vE7XBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XnRfTAKtao2zhojx/9
 DlCnYGfZwgoL/PGo7sMWR1SGi59DIMYwJaSdBBTseTLp6HHW37lwvEoB0AqJ4wIvO1wBAmi9
 9RBdmpLNErawbvrnvTrEYGAhex6RCXvFJkYtXx6iynQEN4tQIzZQrWM7thdtNs1rp4XRq6EN
 5FDAdZpRBqdRhl0K3wcNL4nuPr2jFv5KydCi03A8MLb5ECMlVcsgdABKuH9ZdiiVchT2EGCq
 Qru72n/Rx0XKtGb4T6E6W63wP/CmzvhX4AfH6H+8eRl6HWRzGEODBwdVXOgvOK0zEW5Xrpix
 1c8o3R06/JorQryE4e7D0bQTGO4UgA0RvV+HOwrtgu2lbve5wyQCWs1YGB5QYlz3CMpfgAC2
 liMltLvIDVgtryJVH6QnoupQSOO1Ts9djFbO3JdJecRy5y6+dxo0EqTJjp2OPPt1rXI9SfML
 ydmRcTUr5EaloY12qqy5jgraBr898GSHmbZCug6N19JDz+Vhqb5NuRECnCBtJ6sybp1qHHb7
 RDofODEvYgz4WmlznDlfQn0NOjBCwy5GDPdm0VzOJIq6i6g/XWuFagJvm0ndR03bJZcJmS4C
 KM2he+3zMUCVJdNRfUmC79d9uxwlfSwfTgbfq28giVyjmhZK1bcoXAGib+41GHxikk8+ZzTy
 r/AGftA+U0yUPw9pBLvHr91+eZymkgWmD2PLbimkUXP+efONRa9FOZeWHPTP79R0U9xiFiPm
 zqpH5HUm0w3vSyXSnS/zLP/2nhRfCdrXs6n+pUHHgNBSyI/cFwc5zbq6epJU6RunrhPl/eO+
 Xe4W0RCz0H4i2GBIgKPAk2PopuxNXqmhX5kbyEqI3iy3H0vPdSm4KsFLsNldrg77u1zi/VzS
 qBdKcmHB/1OTBXB+igcMsah/NAzKkzziFLcJTehbRg+Y4VkG17D9Oj7c1a97yIJFCe265cz+
 uXyygPBTJMfbA1+F8KKOum3xla8sCFFyuJ/VkfFOPdJf0Do/NQ4IiD9lKZvccoNNQ/C1n2R0
 APPWUUUouzEookU9tjVhP/b89f1QrUmRkcDRjvV97e7MyXe71GP+44YXbbaZy3ZWUP15L6mO
 bdfwcbjPaBVh11NqYd9TepmlPps+9v1qrZG5Q14B3GXPU+zA7ZtL3Taj8lCsqpBmu1QtQesA
 x/d/9BbPfOCOd//EU5XLw0gN7zR2fYRkzjUzPI0PESlu3MnoOvZCR1fb0uWlShQDLppK4d0k
 +4utfkf5xG7lhd3YM2NiTpZ9jjUI3ENO0n9Wkr23GM/ZtIX92x/
IronPort-HdrOrdr: A9a23:ktK53KmpJSgeGpdhZXCDPyJdlXDpDfO0imdD5ihNYBxZY6Wkfp
 +V88jzhCWZtN9OYhwdcLC7WZVpQRvnhPlICK0qTM2ftW7dyRaVxeBZnPDfKljbdREWmdQtt5
 uIH5IObeEYSGIK8foSgzPIYurIouP3iZxA7N22pxwGLXAIV0gj1XYANu/yKDwJeOAsP+teKH
 Pz3Lsim9L2Ek5nEfhTS0N1FNTrlpnurtbLcBQGDxko5E2nii6p0qfzF1y90g0FWz1C7L8++S
 yd+jaJq5mLgrWe8FvxxmXT55NZlJ/IzcZCPtWFjowwJi/3ggilSYx9U/mpvSwzosuo9FE2+e
 O86SsIDoBW0Tf8b2u1qRzi103J1ysv0WbrzRuijX7qsaXCNUQHIvsEobgcXgrS6kImst05+r
 lMxXilu51eCg6FtDjh5vDTPisa2HackD4Hq6o+nnZfWYwRZPt6tooE5n5YF58GAWbT9J0nKu
 9zF8vRjcwmPm9yV0qp/lWH/ebcHUjaRny9Mwo/U42uonRrdUlCvgolLJd1pAZEyHo/I6M0kN
 gsfJ4Y0I2mdfVmHp6VMt1xNfdfOla9MS4kD1jiU2gPNJt3ck4l+KSHqInc2omRCek1Jd0J6d
 P8bG8=
X-IronPort-AV: E=Sophos;i="5.88,282,1635220800"; 
   d="scan'208";a="61302832"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Zga+ZLR7XnYjLXOSITT7GZSzZ5tVHOI8r7imu6Zc9nK5oIHj4t+P/23Z8rD7IxtHiy3/omI3KjL9+ocPPPAMgh0CCQfuDgwkCosIIbPRnPiX7r+am3o4fPvHQFNfDGHWn7lXdsmwCgDtfaSqktjatsD+YGs+KwXuh4ORLOXnunGzV+vlzmZXE8P5yRgiXd9/WeUMu4lPTScHsCOa4i9AijprCF1eg6QYYPTBBqlLHcJDmlwynrRuwDUKpP8YyuHs9cO+yj6bEuOyCikJPdZT8rfxMmFpQsiMTraf7ADTHsEPgUaMB0KBnRT+pSHsRE7dG2hbXktfpDkVMznYj97dQA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5l9J2lg5o7tkoD47AqwNEXWwXLyR2HjIq7FsqYHIWlI=;
 b=JU4PxXqEYYD47ht7St/+jCHdPKXpw+FELRmDbvyCtyzwPjTKVAJzNx2cWfi/YdiIpLI4gV+gtsR+U97iBQ6Gak4G2G+MokV/6MkYcW1h6aEkjnrM9G8DmFBGGyW+WDaiLaJF8n64Al0KcKKyKiMsmfnrEoAMwkheLVSW6eeTLONgqvpNE321C6w7XCtRKXoOk8DSPbqBL3og5vsVrmBcvj7jFcnr6N9b3lRCehgHG0aZBBMJrYGN64/CWbBMI6Mw2FkpIw2Mlhy7rIV3XnyJ2tnmcG+N/3b4kccy1yQ1BIDUvzMim4ZMITE3xgr7Y8dCndot9n0dSDs9zCdrIwao0w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5l9J2lg5o7tkoD47AqwNEXWwXLyR2HjIq7FsqYHIWlI=;
 b=VeotjYdVeMhEbM94Gx6P8icYcIUMK2CcMJloO9il6zMQAEp93g8AHtRUnobhsmq3/BzVBExrN3fbhHKGskEoYbI/GVWswbsBCEtzH92kyhALQehGnbLSQpgYjWhkC0Lwca0NxfqtRmP4yA4sMpyYp7wYbDmMm49tsJuw/QxYV6g=
Date: Wed, 12 Jan 2022 11:53:06 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH 2/2] x86/time: improve TSC / CPU freq calibration accuracy
Message-ID: <Yd6zEgfPTdBdFR2y@Air-de-Roger>
References: <595b3447-0eba-dfc8-fa24-6bb8b964a137@suse.com>
 <85939a58-ab7f-31ea-1014-91cabe746046@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <85939a58-ab7f-31ea-1014-91cabe746046@suse.com>
X-ClientProxiedBy: MRXP264CA0004.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:15::16) To SA0PR03MB5610.namprd03.prod.outlook.com
 (2603:10b6:806:b2::9)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f2654c7b-ef20-41eb-349f-08d9d5b9bb24
X-MS-TrafficTypeDiagnostic: SA0PR03MB5578:EE_
X-Microsoft-Antispam-PRVS: <SA0PR03MB55783B5971F7F5F5BFC5647B8F529@SA0PR03MB5578.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: cinQ9QuyJwM7y7k2GzJq30jgNPif/GvPcfzvrsXSyjKAnefkWS5xtGKskaFwLiXxAeLI9PeayaORyJgGNo4m+Sx8o790E1uIatN5UHhuyWesA7T1LWhXPaoRDSffDGwmFnjSVgiEuH0IeFZZ57hsST26cWTro5ikb5NsSZOIEsmK03Y2muTVDNXlzgj3mqBgyUxka7JXbv62vHjXaeSYi7N+CajuhHrkq1qEk2tjOcXOtOH1EGdYpMEUAffhT2UOTJo6akXtX8nmUsc2HJOOabaf3lcxWYqe0LUmPCb4XZWjvVS/PQzUjm/vv7rdKchImdxn/5WtsacTMKelGrXrmTihnNNdkfv3q4Kf3Zhf00ZV/fHRQedBesRQ5FtlQkbXDk7oZO5Bh+5GvtzB1npK6zBO7K5cJgNQ8li5O8j21jkm246ZYVZplKKqXlbfe/qiS+EmbZNdzzqaq3olXD8c51SnHivroMxOOcZ5B0wY045i+/R1hOvWO0rX189iSNPff319afs8RkXv0eA/wDDa6e+yEV6rRLYrvai9NXaakve8oYSlYoebFceObVNWWCeBj/fIBzjFWiplQoMgS70BUBfnXo2S4Shq7cxMFR4+xudQB2KcA4ADfldliFGrm/0e0dYCiHJNt/QsNKu/5nTe+A==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA0PR03MB5610.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(26005)(54906003)(83380400001)(6666004)(85182001)(66476007)(66556008)(2906002)(8676002)(316002)(6916009)(6512007)(6506007)(6486002)(9686003)(66946007)(38100700002)(86362001)(186003)(33716001)(508600001)(82960400001)(4326008)(5660300002)(8936002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bTFsSnI2cmFRN3V0L3hPTUxHaGtwYlZ0dDc1cXVQY1RXaTZzWm93UFpCeits?=
 =?utf-8?B?S1MzZUxYa3JCMDM3UGNyNHBRSWQ3RG1nUnQvcFc4MFBEeENjVGdOeXEwR1VQ?=
 =?utf-8?B?Y3o3Z0lIVWllUml5b2JrbjhwVEQzbjJHTkdqWDUwcFczUGhmZURhRTJXMm5K?=
 =?utf-8?B?NEhWdzF5RmRkRGJhQ3ZWT2NlR2RBZkVxUm9yWnF3bE1nS2dWVDZDb0Nrbk0r?=
 =?utf-8?B?c1o2M01nbmFJRk9waGlGNlRjSlh0V21ueXBqcE1QK2syRjdRUEZPY3VUTTZt?=
 =?utf-8?B?UWwva1VoT3cyOWQxcUtUYlRMa2pwOXJCUzZsSVMzdjZkcHFDMXNiaWxpa2Qx?=
 =?utf-8?B?Vlo5UGhDQmg4WlhpMWdkS0NpMW5EUUhXbHI2bVJMVUZ5Sm5aZG9uMjd6eS9r?=
 =?utf-8?B?T1BUYXVnc0Y5SElaSUZIM0ZOTVdxTFVTZjFrLzRBSUN0T3FZWW1TaXo4di9s?=
 =?utf-8?B?MXdSWEZBalgyNzRIUzg1c3Y2RFhjSFRhVmVJUEhQLzZYT3lvWWxONENWVity?=
 =?utf-8?B?VjBINlcwQXlDU0lkMitqR2JtZkJWUjh0NUFadUlqeGVCbnhSUUY5K2NxRmo1?=
 =?utf-8?B?U3YxdWhQSG9acnhZM3ZzRW5NdWJjZ2hrTk1uVk1UNEF5Nm53VnBXOWE2cGhv?=
 =?utf-8?B?MkN0Y1dZakFYenBYQ3A4VkRzY1dvS1pmZmtyS2VJTUNGVTRNVmZJRE9Gc2tN?=
 =?utf-8?B?V2tUd1lrdHdHTU1KYmxqSytJS1ZKRWpWNDQ4dnk0VG9xY2lSNVdZaGR0aTdo?=
 =?utf-8?B?NmJ2VjJ2eVhpUFQ5NHRFRzIxdzZTZ3NJZTJkZ1BOcDhwcXMvaGlpdFE0MHpF?=
 =?utf-8?B?YjkvQWdGaGYxL05MQk1DUnRrZmRGSW1pNGd1NThVaEdNNW81UFhjZ25uNzRv?=
 =?utf-8?B?Z2xIWU9Kc0RFc1VYekJzRmxjR3ExOFBHbi9rY0pKNW1aQVVHUzJsTTBQc1Bp?=
 =?utf-8?B?KzhSZFZ0aEw0bmg1ckxETk5kWXhGV2ZlL1NHR1Q4WmRwRHRydGhzWGE5T2dY?=
 =?utf-8?B?a2VQVENaSHBPU21GS2dLVFpYWTNaRGpNMUIwdHZsb0R4bGdJb1N1ZS9wSGhH?=
 =?utf-8?B?eDJmYlBVVklOMkdTRlNNUUFNTUpwOTF0c2p1REwwVnlhQTIwS2VmY1Znc3NV?=
 =?utf-8?B?bHRkQnJYcDlobzdtT2VOOW96WDlqQ2xrTnRZUXZ3YXVod0dpcGJDZDJpMHFK?=
 =?utf-8?B?Q3p5NzR0SzFVc2VGTmQ5d0pCU0xZNnVRVXFQTkxUdXFXb0hZVW5HT0Q1eXhI?=
 =?utf-8?B?c2tYbDM4Q3AwaGZYS2hjT3FKRWZFZGRBc3FNYlRxVDZEZDhKSnJTdUtpNVc1?=
 =?utf-8?B?eHRQWUNXeFdyUHBnb0RCWnhCbXloZzV5b1ZUUXVjSWFHcVdvMU5SaFZwR1JH?=
 =?utf-8?B?YWZnTm5CVXNpYnI5T0hwdm9WcTg0ak94ZVMrTWJMOHlRb21qRmxGMmpyKzVR?=
 =?utf-8?B?eFE5VHR2VTZJMlZlYkZPdEhTN2E4K2tRb2lZcklJNjRMMWlsdEVncmYydDF1?=
 =?utf-8?B?eGZ1djRYNWNyQkdEbmt6WWFILzlZeW0vc0FHdSs0YUdoTWNycFF0bjloNzBW?=
 =?utf-8?B?cjgvdkRNblFvN2U3bVBxSE55dXIzZS9KQVZibEoxcmhxYlV4ZzF1b1p0czBp?=
 =?utf-8?B?Vk5xSzVKeWRTR0w4YWovajZDM2hJamJEOGhacTNVU29XZVNYWjVRalIrL0ts?=
 =?utf-8?B?WTJBQkd1VjduQStpRjJzVzRIQTJIV1hLLytYK3ZwZW1tQVdhVlFrcmR1NWpU?=
 =?utf-8?B?K2ZyaVZueUlzM2xzaDFFLy9XUzFFdE55b256ZDFES01VVldQUXZ1b0FUSFdV?=
 =?utf-8?B?bDBhYWpXUG1yZG9jUkhvY0F6Z1dtZGRsRHdoNi8wMHdoTnl2Z04rV1cyODd6?=
 =?utf-8?B?Vy9xdDdBSmFLdG1FOXFEd1VCRndsMkVkVUlybWIvb3pWd1hBUVJmM01KL3hM?=
 =?utf-8?B?YU9OYzZwa0hnKzJSemlsZGNoVjlXM1A5K2l3aFQ5cUdJSE8yZ2N3b1FtL3Vp?=
 =?utf-8?B?a2FHYzlHaktVQmpMeGZ0clJaMFlsakh5YS96bk9DTzJrR1hydGVUdE9LaXJp?=
 =?utf-8?B?NmxtbVlBVDhlb05NVnQ5R2IzUU82ZjJOa2VtSllTaXU2RUpNQkVRc21uR2cv?=
 =?utf-8?B?aHZUR0xxdVhGWXZuUkRvQ3JHOHhKU2Fpd0UySHVMZk1Md3grQTZSVVZjUTNk?=
 =?utf-8?Q?9JjJ6OERRdaRjzG6HEkhwnQ=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: f2654c7b-ef20-41eb-349f-08d9d5b9bb24
X-MS-Exchange-CrossTenant-AuthSource: SA0PR03MB5610.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2022 10:53:13.5951
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: RCRMVzOc/L049M39pGU9G602MQyHXISk6N9ensbwrUKjbhR8vVx3vJnqO8vqLJrAoT1M6z5ULZEuii0oMgtJXg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR03MB5578
X-OriginatorOrg: citrix.com

On Wed, Jan 12, 2022 at 09:56:12AM +0100, Jan Beulich wrote:
> While the problem report was for extreme errors, even smaller ones would
> better be avoided: The calculated period to run calibration loops over
> can (and usually will) be shorter than the actual time elapsed between
> first and last platform timer and TSC reads. Adjust values returned from
> the init functions accordingly.
> 
> On a Skylake system I've tested this on accuracy (using HPET) went from
> detecting in some cases more than 220kHz too high a value to about
> ±2kHz. On other systems (or on this system, but with PMTMR) the original
> error range was much smaller, with less (in some cases only very little)
> improvement.
> 
> Reported-by: James Dingwall <james-xen@dingwall.me.uk>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

> ---
> There's still a time window for the issue to occur between the final
> HPET/PMTMR read and the following TSC read. Improving this will be the
> subject of yet another patch.
> 
> TBD: Accuracy could be slightly further improved by using a (to be
>      introduced) rounding variant of muldiv64().

I'm unsure we care that much about such fine grained accuracy here.

> TBD: I'm not entirely sure how useful the conditional is - there
>      shouldn't be any inaccuracy from the division when actual equals
>      target (upon entry to the conditional), as then the divisor is
>      what the original value was just multiplied by. And as per the
>      logic in the callers actual can't be smaller than target.

Right, it's just overhead to do the muldiv64 if target == actual.

> TBD: I'm also no longer sure that the helper function is warranted
>      anymore. It started out with more contents, but is now
>      effectively only the [conditional] muldiv64() invocation.

Don't have a strong opinion, I'm fine with the helper, or else I would
likely request that the call to muldiv64 is not placed together with
the return in order to avoid overly long lines.

> 
> I'm afraid I don't see a way to deal with the same issue in init_pit().
> In particular the (multiple) specs I have to hand don't make clear
> whether the counter would continue counting after having reached zero.
> Obviously it wouldn't help to check this on a few systems, as their
> behavior could still be implementation specific.

We could likely set the counter to the maximum value it can hold
and then perform reads in a loop (like it's done for HPET or the PM
timers) and stop when start - target is reached. Not a great solution
either.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 11:18:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 11:18:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256525.440323 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7bdI-0006Oe-2f; Wed, 12 Jan 2022 11:17:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256525.440323; Wed, 12 Jan 2022 11:17:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7bdH-0006OX-Uh; Wed, 12 Jan 2022 11:17:35 +0000
Received: by outflank-mailman (input) for mailman id 256525;
 Wed, 12 Jan 2022 11:17:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n7bdH-0006ON-ET; Wed, 12 Jan 2022 11:17:35 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n7bdH-0004MA-C9; Wed, 12 Jan 2022 11:17:35 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n7bdH-0004ZO-4g; Wed, 12 Jan 2022 11:17:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n7bdH-0004RY-4E; Wed, 12 Jan 2022 11:17:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=A9uNJpLP1gnIGAe/azfk7cSjT7w5vUN46qqikW+VaMA=; b=QpgSWiXKdIZnuDhNOMpkgDaZ9g
	NhhhvtHgesmgP3wzx7hbthfvVzmHF4KAl5oFSg5H76/4y7s8a09jlW1upgnuWfGkYyjmis2esMwtg
	rf3FGoOfTE+0K5kSJFrpSuCieMDAK5oCNt4YZEPLcxmU8uYOF0pa7uJZiXnSGtYlJtpQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167671-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 167671: 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=0cf6521ea95dd78accf1e5c13cbfe8156b3611d0
X-Osstest-Versions-That:
    xen=22891e12a45f9bb2e1dbb5daf2ba39cbe002e4f4
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 12 Jan 2022 11:17:35 +0000

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

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                  0cf6521ea95dd78accf1e5c13cbfe8156b3611d0
baseline version:
 xen                  22891e12a45f9bb2e1dbb5daf2ba39cbe002e4f4

Last test of basis   167658  2022-01-11 11:02:59 Z    1 days
Testing same since   167671  2022-01-12 08:01:55 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>
  Juergen Gross <jgross@suse.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
   22891e12a4..0cf6521ea9  0cf6521ea95dd78accf1e5c13cbfe8156b3611d0 -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 11:23:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 11:23:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256534.440333 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7bjI-0007nN-Pz; Wed, 12 Jan 2022 11:23:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256534.440333; Wed, 12 Jan 2022 11:23:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7bjI-0007nG-N7; Wed, 12 Jan 2022 11:23:48 +0000
Received: by outflank-mailman (input) for mailman id 256534;
 Wed, 12 Jan 2022 11:23:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=BEGY=R4=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n7bjH-0007n0-US
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 11:23:47 +0000
Received: from ppsw-32.csi.cam.ac.uk (ppsw-32.csi.cam.ac.uk [131.111.8.132])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1ac61e07-739a-11ec-9c70-5536b2d1e4e1;
 Wed, 12 Jan 2022 12:23:45 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:48274)
 by ppsw-32.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.136]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n7bjF-000d9t-08 (Exim 4.95) (return-path <amc96@srcf.net>);
 Wed, 12 Jan 2022 11:23:45 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id CE14A1FA84;
 Wed, 12 Jan 2022 11:23:44 +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: 1ac61e07-739a-11ec-9c70-5536b2d1e4e1
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <bfa154a6-88e3-8ce9-d959-7220ea7a7e64@srcf.net>
Date: Wed, 12 Jan 2022 11:23:44 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-10-jgross@suse.com>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: [PATCH v2 09/12] mini-os: use file_ops and get_file_from_fd() for
 console
In-Reply-To: <20220111151215.22955-10-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11/01/2022 15:12, Juergen Gross wrote:
> +static int savefile_write(int fd, const void *buf, size_t nbytes)
> +{
> +    int ret = 0, tot = nbytes;
> +    struct file *file = get_file_from_fd(fd);
> +
> +    while ( nbytes > 0 )
> +    {
> +        ret = xencons_ring_send(file->dev, (char *)buf, nbytes);
> +        nbytes -= ret;
> +        buf = (char *)buf + ret;
> +    }
> +
> +    return tot - nbytes;
> +}
> +
> +static int console_write(int fd, const void *buf, size_t nbytes)
> +{
> +    struct file *file = get_file_from_fd(fd);
> +
> +    console_print(file->dev, (char *)buf, nbytes);

I've just noticed this while committing the previous series, and I know
it is a preexisting bug, but the casts here are utterly unsafe, because
they're casting away constness.

console_print() is easy to fix, and just requires a prototype
adjustment.  That said, it also desperately also needs to fix 'int
length' to size_t to avoid problems with negative length VLAs on the stack.

xencons_ring_send() already takes const char *, so I'm pretty sure you
can just drop the casts here.  It too ought to not truncate size_t bytes
to "unsigned".

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 11:25:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 11:25:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256539.440344 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7bkz-0008Nq-61; Wed, 12 Jan 2022 11:25:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256539.440344; Wed, 12 Jan 2022 11: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 1n7bkz-0008Nj-35; Wed, 12 Jan 2022 11:25:33 +0000
Received: by outflank-mailman (input) for mailman id 256539;
 Wed, 12 Jan 2022 11:25:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=BEGY=R4=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n7bkx-0008NS-JE
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 11:25:31 +0000
Received: from ppsw-32.csi.cam.ac.uk (ppsw-32.csi.cam.ac.uk [131.111.8.132])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 589fc3fb-739a-11ec-bd6f-bfb69f65cdc7;
 Wed, 12 Jan 2022 12:25:30 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:48276)
 by ppsw-32.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.136]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n7bku-000dS9-3D (Exim 4.95) (return-path <amc96@srcf.net>);
 Wed, 12 Jan 2022 11:25:29 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id C266F1FD4D;
 Wed, 12 Jan 2022 11:25:28 +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: 589fc3fb-739a-11ec-bd6f-bfb69f65cdc7
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <37ade49f-e277-99a4-4dd7-e1e6cb327ffb@srcf.net>
Date: Wed, 12 Jan 2022 11:25:28 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Subject: Re: [PATCH v2 10/12] mini-os: add struct file_ops for file type
 socket
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-11-jgross@suse.com>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <20220111151215.22955-11-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11/01/2022 15:12, Juergen Gross wrote:
> +static int socket_write(int fd, const void *buf, size_t nbytes)
> +{
> +    return lwip_write(fd, (void *)buf, nbytes);

This void cast was bogus before, and can be dropped.  lwip_write()
already takes a const pointer.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 11:28:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 11:28:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256548.440367 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7bo2-0000uX-3n; Wed, 12 Jan 2022 11:28:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256548.440367; Wed, 12 Jan 2022 11: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 1n7bo2-0000uQ-0S; Wed, 12 Jan 2022 11:28:42 +0000
Received: by outflank-mailman (input) for mailman id 256548;
 Wed, 12 Jan 2022 11:28:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=no1k=R4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n7bo0-0000cQ-SB
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 11:28:40 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ca50175b-739a-11ec-9c70-5536b2d1e4e1;
 Wed, 12 Jan 2022 12:28:40 +0100 (CET)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2055.outbound.protection.outlook.com [104.47.6.55]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-36-JqXVQp32MZ-0TxNFsjdU4Q-1; Wed, 12 Jan 2022 12:28:38 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4943.eurprd04.prod.outlook.com (2603:10a6:803:51::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.11; Wed, 12 Jan
 2022 11:28:36 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Wed, 12 Jan 2022
 11:28:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ca50175b-739a-11ec-9c70-5536b2d1e4e1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641986919;
	h=from:from:reply-to:subject:subject: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=+kSn5agg05bTqYmtz/grnEHvxM7HKRHO0hkeaCRsUrw=;
	b=Ci4fA46E/CteI5VPq9DGmJg3w9emAt4oI5v+Ja8wVdIhHL9WKm46P53j1afCWueAZc0Z6v
	xArDiEFJoMMa09UHzKs+l3HRBh6LptZODLzGwo2xWGyvhptULhI4e0nyuCLYdiefP6lMJ3
	1thGlbl73/5aAIaSAt0X7DQhrZj+0+M=
X-MC-Unique: JqXVQp32MZ-0TxNFsjdU4Q-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IF7LnbhI3kVaO0cm9lwGiTh+TTdDiy+qRBQ95bxRdtRkgszml8uyT45T4NuN1k8Xe/QHA5hdadUi+q5D+XHZ0exvlCslj9C3ySXF7T4yFQ1SGHdxhP8QeeMh113LKJSuHSz1NMMOy3BfYuIdn4CWkejJ1hrrf6ZJkBPEtJaVaJqmJo2YEdSjMgFZZb+dEpDsBm3csFOTZyYo7wVPi7MsXDhWYlAUk/vrmUdrOzpZOwGU0mZreFKojgJggq/uUbNzJFvZ196ExyXlfUFMehZrzI3KVqFehpm7YEDhlLFScoDjJeAVNS6Wg76eojDay0YRec7Ls9fS8lf06vwT0hrXVQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+kSn5agg05bTqYmtz/grnEHvxM7HKRHO0hkeaCRsUrw=;
 b=GCR7fem5iE6Azt+7sQcQACu/CIP+DjUeqlvhRWE4ufxwfDQx2q+zYS3Y1215scoAIMrVjo0KZrnzUcnuSjKyEEj4U8UtONRDPzRyIX0UY0BY+k0cwcvM+ocWcA4DX+o7QfAxNqUve2D3Ylv1ioeU3Of5tf+DCENY55GZG/nGh+otgUAZ6pxW7ZqNrSEwAIvvmhj8t49uC5HIfYOYSATFObQFgzlKkDvqJ7P/Eegsf42+vbk8g60TIUHvnngq8H0vYvIDQZ9Z3pTbKxAS1Jd0BJuqDaIH6roJBh+WJahcomG90qzemzXkznDrXIRjNxB3Y4iHkGdjO1XBJsivNx+9Mw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <602c9632-9981-1b66-172b-4aed396e8508@suse.com>
Date: Wed, 12 Jan 2022 12:28:34 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Anthony Perard <anthony.perard@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] build: correct usage comments in Kbuild.include
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0014.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::7) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ade5d2cb-652a-4309-149d-08d9d5beac5d
X-MS-TrafficTypeDiagnostic: VI1PR04MB4943:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB49435B6CC363FD4FDA16A251B3529@VI1PR04MB4943.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:1091;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zrMN/cNiROaSxsrj2got0liKOA9pxJn1u+g3hU29J6oy94av5Lmm12rRlTMM3+79CIId3Xol/E+ZOWZqWD8Pg7Zw/MSp+nsYLnwpge57NjPHKTSwA/Jk0s6iDgEi8TcH9ZAkQYtyHCRz2zeqUwBPuunYJPK9n/UqAsmjN4fMNtTd9IxQ9s3lo8tazzfmfOrpFYULaIecWKFNnQhFTdFiOZ0rQvAK1FqVyRRirO7ONkgxG0G+RrL9DTuch5vqkCwK8RWaem0os0pZtZeTOSuJPYx7vvnoCjGCNNngeZiLu/H+Eqd680vqn5UpEGubrDkxq0Oy/oeiWYfx3VS4Qm3PgJbe2xx1bK59LSFoyoFP+ShUQJd8ghVfp7MziYFMX0+9+zpM/koeNPMv435H2eXx6qKMOmmffwSP8DnuoAcQp6r41j3tXSVJnMlxaQhLA3j8oVbESWykvUyp50gvVubpF+sM/luxaYFSoKKoDjVSwwhAA3IuuzA/EhXatSnKsQ0pmzC1fLnK5B1WcelWilPrvd///zAHCg1ZsN8EWOjEF0Xz8zkwJCm11TSeW/DoSNPsF5aUfrQVFI7q1xbsTTSFMAxkL3ht8i/JnGT4GP1xhXwYB9jxPaVIjBYk1WdHRHA7Xpztd5ODMz1P+oEkSVsiXTlzDGbYF2G2GXHYDgh6D8PoZs6+hCTJv5ipKT9HVgwDPctmyBHe5kxis55+6SwwLrpLiM5XX28kl5fDJf60ZPI=
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)(66946007)(4744005)(8936002)(6486002)(6916009)(8676002)(5660300002)(2616005)(2906002)(6506007)(6512007)(36756003)(508600001)(31696002)(38100700002)(86362001)(31686004)(26005)(316002)(186003)(4326008)(54906003)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OG1xazhZMWpCV0ZLQ0ZrUEIvS1NIZHpvNEd1WE9lY1NWbjhKQ2dna21uVEl1?=
 =?utf-8?B?THdSNk0zZHo0ZFM5QUJDVXdpckZVdXBod05zSEJINjIyTDI1UkpKYnhCSS9n?=
 =?utf-8?B?VkxRYXpQS0hoVCt3SjJ4YWJld0tlZmVoVFZTZHlqN05kdHNPQjRHak5wSHpK?=
 =?utf-8?B?UlJXRWpzbTY3UWNFWXVwYUlwcTdBZ3UwejU1dkYzMmpnY1NPaW5QS2ZuWkFz?=
 =?utf-8?B?RnROUWdqMk84a3FOQUNGYVIzNkQvSGJwUThlYUpabEtrUjZWMEJhY0d4SlNC?=
 =?utf-8?B?anhlRTJHTm1sYjR5VzhYcHBjWWo2aUIwaWJpOHlISlQzNW1DSkUxdzFXbXZM?=
 =?utf-8?B?Mng4YVhUYjRwYmpVZENRalRMdXdFRkUxWlhwdWU5OWRGd2JLMHNkVWtIQlY3?=
 =?utf-8?B?TDFjc3lhckhPV1JBbkQ2bFF3dzQ5MGdWVDBhajdmWGgrdUVtTklrQ0pkQVJD?=
 =?utf-8?B?eTlWUlFDSjlEUlk2S0pCeXE2ZDdabFNxS25Cd25WNmI1Z09mazY4b1BwR1RY?=
 =?utf-8?B?aEIzUEhWR2lBTlpQaXVlVGhxRjd0ekppQW0wM2lHeFRXZkZ1cE1BblNPRXRx?=
 =?utf-8?B?S1VtSUQrRXNQRC94UVE3ZFBWYXRSYTQ2Uk1jQUw4UDBobWJicTRMUFlTQWMv?=
 =?utf-8?B?Y1hXRjRoRmo1MThYcU83WkhmWjlDeE9RZ3V4R3VqMEk3Y0FuRit4MWhVb3VI?=
 =?utf-8?B?dXZxZlMxdjFmc2V1SUV6eGw5ekNkL09SdkwvdUJYNi81dHp3cmJlQzJoUHBl?=
 =?utf-8?B?cGdoc0tOSDI2bExnSHZoMFB6K056VzkwNXZjcTlTUERUSU1jOTYrYmxyL3Aw?=
 =?utf-8?B?QUhUUnpZM2pNM1J2VXBQUWxDWjVmQzVPc2VSQ0V2OWtNVWtGMFZFL3N3MFd5?=
 =?utf-8?B?U0pzWE5EUDdSNEFVcnpBbkFxVEpaWWdUWlZERnRoZGljTk1SekwvTENtU0Za?=
 =?utf-8?B?THkyUnR1bEhHU3EwdU1jNTFMemF6cXA4cnBPbDUzdEI3aGQ2RWMyVEJqNDlw?=
 =?utf-8?B?eStSU3Naamx6MGlrMit4TEg1K2Nkc25UWmJtZElnWUszY0daKzJPdmVmTUw1?=
 =?utf-8?B?dHU4K3BTY2lVWnFPRDNHdThOZ3hhMEk0UEVJalpLdmx5TndhWGthcVp6aFJV?=
 =?utf-8?B?c00wRjFuYXdESDJZRVljMXp0eS8ydVo4SzVuUzhzN3hFR0tseTFWZWxYZVdN?=
 =?utf-8?B?L2h1U1Y5TitScmUwc2ZaeUlWeEc4VW5ESHJFSytZSnZkVjk0Q25aOGRWUmRt?=
 =?utf-8?B?YWwyeEIrK0xEcmNMNDFuRlE5dlpDS2hSTFcyYklVY0w2Qys0VUlwV2JVQ1Ir?=
 =?utf-8?B?Szk2amtIclRIajNNanBaMmZqWlRMaEhxMnNsQlA3QlN1bndDMDZhZG1yaEtH?=
 =?utf-8?B?c3c5MjdJRHNuYVMwb2lkUHV5ZU9JWHVyWGFRVDlTc3B4NUVCZXBZcWk3eFBE?=
 =?utf-8?B?QkoveHRTemtTOVh0dHpNTDlaMS9Od0RZQ2s0c29EUU83Ym93ZVRwb0o3TGV3?=
 =?utf-8?B?a1NwOVhVVXlIR05pOVV2SEw1YXhQbUVGKzEwVUo5ZzBadjliTnpURlZEamll?=
 =?utf-8?B?VElYY1lxMndWaklkSDVCbGZqVlVUWHc5WlFwM0JrV0IxRUhaMlVKcTErbWlX?=
 =?utf-8?B?YVQ4QlJ4Z2hONUJTenZMWTQ4M1kwSlZUUGt2MVV3SUlyVjhwMzlldUR3aWc2?=
 =?utf-8?B?cVc1em9BcDNwbGxqdUc5UTQwRWNjekZRWTFxMzJDell3OEtUTncyb3ZzaDRS?=
 =?utf-8?B?ZTNLelNwSDNEZWZNS3ZFZkhubGtiRVJ6UXdNWi9kMHRLOVBZTHEzNHdCVFRu?=
 =?utf-8?B?Mm8wekpEaFYzeTBzOEpMQjVPZ3FXL00vdHFHQ2ZmOHRudjN3WHhCSmd5VFhZ?=
 =?utf-8?B?SWFmQWs0SW8vWlhnRjI1TldWTkJoQ0V2dXN2WlRIM0NLbHBITkM5MlU5T3g5?=
 =?utf-8?B?VXU1cVZKWmJ6ems2d3ZCaWxQcVZPaXcwL0ZYcitseFYyNDdLQ0Q0YTY3clho?=
 =?utf-8?B?R3dENWJJcFRiQTBmWHp3U1YwTnZCVEdQYXYrNVlLNUNTeVZwOVpGM01PQ1Ba?=
 =?utf-8?B?eVM2UlcySUZOVDdCUWRCdEdraHk1QkpJdzNpYUxwek02elFHZnBxZVV1NU0w?=
 =?utf-8?B?emxITDFnT0pIdTZyQlV4alBqY0gyODlyR29DSTZtaU1aL2pHLzBKWGVGNzBi?=
 =?utf-8?Q?ImaahYxNgSLhFZrMZUCmn1Y=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ade5d2cb-652a-4309-149d-08d9d5beac5d
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2022 11:28:36.2869
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: oMt9DzLhb7FU7LCrMaFi634cMwL/u3VzPnMiBG1/0qjrNGzUTmbj8S2spfpsWAITtlkI+oy0htINhFW+un5Wkw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4943

Macros with arguments need to be invoked via $(call ...); don't misguide
people looking up usage of such macros.

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

--- a/xen/scripts/Kbuild.include
+++ b/xen/scripts/Kbuild.include
@@ -43,15 +43,15 @@ define as-option-add-closure
     endif
 endef
 
-# $(if-success,<command>,<then>,<else>)
+# $(call if-success,<command>,<then>,<else>)
 # Return <then> if <command> exits with 0, <else> otherwise.
 if-success = $(shell { $(1); } >/dev/null 2>&1 && echo "$(2)" || echo "$(3)")
 
-# $(success,<command>)
+# $(call success,<command>)
 # Return y if <command> exits with 0, n otherwise
 success = $(call if-success,$(1),y,n)
 
-# $(ld-option,<flag>)
+# $(call ld-option,<flag>)
 # Return y if the linker supports <flag>, n otherwise
 ld-option = $(call success,$(LD) -v $(1))
 



From xen-devel-bounces@lists.xenproject.org Wed Jan 12 11:28:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 11:28:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256545.440355 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7bnx-0000ci-MO; Wed, 12 Jan 2022 11:28:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256545.440355; Wed, 12 Jan 2022 11:28:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7bnx-0000cb-J6; Wed, 12 Jan 2022 11:28:37 +0000
Received: by outflank-mailman (input) for mailman id 256545;
 Wed, 12 Jan 2022 11:28:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=BEGY=R4=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n7bnv-0000cQ-TW
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 11:28:35 +0000
Received: from ppsw-33.csi.cam.ac.uk (ppsw-33.csi.cam.ac.uk [131.111.8.133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c6955040-739a-11ec-9c70-5536b2d1e4e1;
 Wed, 12 Jan 2022 12:28:34 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:47746)
 by ppsw-33.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.137]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n7bnt-000oaP-h6 (Exim 4.95) (return-path <amc96@srcf.net>);
 Wed, 12 Jan 2022 11:28:33 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 003CF1FD4D;
 Wed, 12 Jan 2022 11:28:32 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c6955040-739a-11ec-9c70-5536b2d1e4e1
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <659743cb-abc9-31b5-d6b2-0a21aa76bbb4@srcf.net>
Date: Wed, 12 Jan 2022 11:28:32 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Subject: Re: [PATCH v2 10/12] mini-os: add struct file_ops for file type
 socket
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-11-jgross@suse.com>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <20220111151215.22955-11-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11/01/2022 15:12, Juergen Gross wrote:
> diff --git a/lib/sys.c b/lib/sys.c
> index 3a8aa68..12deaed 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -99,11 +99,70 @@ static struct file_ops file_ops_none = {
>      .name = "none",
>  };
>  
> +#ifdef HAVE_LWIP
> +static int socket_read(int fd, void *buf, size_t nbytes)
> +{
> +    return lwip_read(fd, buf, nbytes);
> +}
> +
> +static int socket_write(int fd, const void *buf, size_t nbytes)
> +{
> +    return lwip_write(fd, (void *)buf, nbytes);
> +}
> +
> +static int close_socket_fd(int fd)
> +{
> +    struct file *file = get_file_from_fd(fd);
> +
> +    return lwip_close(file->fd);
> +}

Actually, on further thoughts...

> +static struct file_ops socket_ops = {
> +    .name = "socket",
> +    .read = socket_read,
> +    .write = socket_write,
> +    .close = close_socket_fd,
> +    .fstat = socket_fstat,
> +    .fcntl = socket_fcntl,
> +};

read, write and close should dispatch directly to lwip_* and not bounce
through a no-op local function.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 11:30:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 11:30:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256554.440379 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7bpN-0002Mf-IB; Wed, 12 Jan 2022 11:30:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256554.440379; Wed, 12 Jan 2022 11:30:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7bpN-0002MG-BW; Wed, 12 Jan 2022 11:30:05 +0000
Received: by outflank-mailman (input) for mailman id 256554;
 Wed, 12 Jan 2022 11:30:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=BEGY=R4=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n7bpM-00023x-4m
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 11:30:04 +0000
Received: from ppsw-43.csi.cam.ac.uk (ppsw-43.csi.cam.ac.uk [131.111.8.143])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fb8da9a2-739a-11ec-9c70-5536b2d1e4e1;
 Wed, 12 Jan 2022 12:30:03 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:50894)
 by ppsw-43.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.139]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n7bpG-000Dm1-oU (Exim 4.95) (return-path <amc96@srcf.net>);
 Wed, 12 Jan 2022 11:29:58 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 69E041FD4D;
 Wed, 12 Jan 2022 11:29:58 +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: fb8da9a2-739a-11ec-9c70-5536b2d1e4e1
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <d30fa49e-4038-6ff4-0672-ac76645e5ad0@srcf.net>
Date: Wed, 12 Jan 2022 11:29:58 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Subject: Re: [PATCH] build: correct usage comments in Kbuild.include
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Anthony Perard <anthony.perard@citrix.com>
References: <602c9632-9981-1b66-172b-4aed396e8508@suse.com>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <602c9632-9981-1b66-172b-4aed396e8508@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12/01/2022 11:28, Jan Beulich wrote:
> Macros with arguments need to be invoked via $(call ...); don't misguide
> people looking up usage of such macros.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 11:30:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 11:30:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256557.440388 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7bpu-00031E-Ng; Wed, 12 Jan 2022 11:30:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256557.440388; Wed, 12 Jan 2022 11:30:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7bpu-000317-Kl; Wed, 12 Jan 2022 11:30:38 +0000
Received: by outflank-mailman (input) for mailman id 256557;
 Wed, 12 Jan 2022 11:30:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zSVc=R4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7bpt-0002ze-1W
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 11:30:37 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0f7b8d60-739b-11ec-bd6f-bfb69f65cdc7;
 Wed, 12 Jan 2022 12:30:36 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id A36E31F3CE;
 Wed, 12 Jan 2022 11:30:35 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 7FC4E13B42;
 Wed, 12 Jan 2022 11:30:35 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id T1T4Hdu73mEtFAAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 12 Jan 2022 11:30:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0f7b8d60-739b-11ec-bd6f-bfb69f65cdc7
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641987035; 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=admoSzsRYndfJq4zb3YGkUaexcFGyJbMdWcz9wV5FAQ=;
	b=tehbMhfzxhPP4fhvUV8T6PZ8N3Ob2LyG6+mZ7d+veBOxV/Nsw/qCJebg2+kPYKYDhf9sXy
	k9jID/HjxSuPZ0O5E6qevGoQm3ZyluEkP6Hjp3kz/2rqw0fHNUjZIpiRyXGMoXLQFzIuOR
	Ac0rridz46sWc1p5gojAYPVpNvU59Uk=
Subject: Re: [PATCH v2 09/12] mini-os: use file_ops and get_file_from_fd() for
 console
To: Andrew Cooper <amc96@srcf.net>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-10-jgross@suse.com>
 <bfa154a6-88e3-8ce9-d959-7220ea7a7e64@srcf.net>
From: Juergen Gross <jgross@suse.com>
Message-ID: <fc1e1631-2906-b3d5-19e0-d2fedc268422@suse.com>
Date: Wed, 12 Jan 2022 12:30:34 +0100
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: <bfa154a6-88e3-8ce9-d959-7220ea7a7e64@srcf.net>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="AkqgYSlS9SXMIHsB11ds2eZ8s0lV1f7Uh"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--AkqgYSlS9SXMIHsB11ds2eZ8s0lV1f7Uh
Content-Type: multipart/mixed; boundary="g23jRSqbHMKv1xLKeEuiJH082y0aada46";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <amc96@srcf.net>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
Message-ID: <fc1e1631-2906-b3d5-19e0-d2fedc268422@suse.com>
Subject: Re: [PATCH v2 09/12] mini-os: use file_ops and get_file_from_fd() for
 console
References: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-10-jgross@suse.com>
 <bfa154a6-88e3-8ce9-d959-7220ea7a7e64@srcf.net>
In-Reply-To: <bfa154a6-88e3-8ce9-d959-7220ea7a7e64@srcf.net>

--g23jRSqbHMKv1xLKeEuiJH082y0aada46
Content-Type: multipart/mixed;
 boundary="------------688BF55A7E77BE8BB995E931"
Content-Language: en-US

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

On 12.01.22 12:23, Andrew Cooper wrote:
> On 11/01/2022 15:12, Juergen Gross wrote:
>> +static int savefile_write(int fd, const void *buf, size_t nbytes)
>> +{
>> +    int ret =3D 0, tot =3D nbytes;
>> +    struct file *file =3D get_file_from_fd(fd);
>> +
>> +    while ( nbytes > 0 )
>> +    {
>> +        ret =3D xencons_ring_send(file->dev, (char *)buf, nbytes);
>> +        nbytes -=3D ret;
>> +        buf =3D (char *)buf + ret;
>> +    }
>> +
>> +    return tot - nbytes;
>> +}
>> +
>> +static int console_write(int fd, const void *buf, size_t nbytes)
>> +{
>> +    struct file *file =3D get_file_from_fd(fd);
>> +
>> +    console_print(file->dev, (char *)buf, nbytes);
>=20
> I've just noticed this while committing the previous series, and I know=

> it is a preexisting bug, but the casts here are utterly unsafe, because=

> they're casting away constness.
>=20
> console_print() is easy to fix, and just requires a prototype
> adjustment.=C2=A0 That said, it also desperately also needs to fix 'int=

> length' to size_t to avoid problems with negative length VLAs on the st=
ack.
>=20
> xencons_ring_send() already takes const char *, so I'm pretty sure you
> can just drop the casts here.=C2=A0 It too ought to not truncate size_t=
 bytes
> to "unsigned".

Okay, will do that.


Juergen


--------------688BF55A7E77BE8BB995E931
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-----

--------------688BF55A7E77BE8BB995E931--

--g23jRSqbHMKv1xLKeEuiJH082y0aada46--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHeu9oFAwAAAAAACgkQsN6d1ii/Ey8d
aQf/axVxv8M94puJS0qP9I7GI4H/meJSveItNGxAXRAvqileOpntsKEv4dsPWqSgvfEYOb8h4ER7
mU5DafKbK2tJdVbnu+wpwgPrZwg0I6VICngUWLdGCis9oAfN5WxTpKY5DrO40Ihfnr1pwAnt5hX+
NT2jMz55TuaqOd52twMV1GmSjIBqMdmYooAuRUGGkgcX3V6WCkM3Z6TLj7jvYmdu24pEjP0UIKVB
w6KHSulxSvLG4NK7e65iPYdOFOzCbJyrbE7Hr8JLA1qYLAP7nbQkKFIIc+rj1fQl41BnESVn2QAJ
buWeS3vUPtxnOU/BxJ/omed2zZ0zK6cm2pL28U2xIQ==
=u+A8
-----END PGP SIGNATURE-----

--AkqgYSlS9SXMIHsB11ds2eZ8s0lV1f7Uh--


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 11:31:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 11:31:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256562.440407 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7bqM-0003gW-4j; Wed, 12 Jan 2022 11:31:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256562.440407; Wed, 12 Jan 2022 11: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 1n7bqM-0003gP-1Z; Wed, 12 Jan 2022 11:31:06 +0000
Received: by outflank-mailman (input) for mailman id 256562;
 Wed, 12 Jan 2022 11:31:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zSVc=R4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7bqJ-0003bv-TU
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 11:31:04 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1ea89a70-739b-11ec-9c70-5536b2d1e4e1;
 Wed, 12 Jan 2022 12:31:01 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 3CBCC21123;
 Wed, 12 Jan 2022 11:31:01 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 0EF0013B42;
 Wed, 12 Jan 2022 11:31:01 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Y5xpAPW73mF7FAAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 12 Jan 2022 11:31: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: 1ea89a70-739b-11ec-9c70-5536b2d1e4e1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641987061; 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=8++ZaXuFsbuKeuWecKBic5Tbd5/gCtHPshj1oXIVG8Q=;
	b=KVCE2J2FJs32Q6i7clz/37kYuxmLAaji8lpxgxr67ixVZxRhxpZbruLgg7ruILU+VX1Fg/
	0WpFD8KZ6LLgD0Sjt4t1oi73e3VFwA94P2YkTF+3pnSgECd5gRDzu/ewaRc8MIfibCUwcZ
	dW8SIXYQqqarEyk/pgCYkLo21Ah5RKI=
Subject: Re: [PATCH v2 10/12] mini-os: add struct file_ops for file type
 socket
To: Andrew Cooper <amc96@srcf.net>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-11-jgross@suse.com>
 <37ade49f-e277-99a4-4dd7-e1e6cb327ffb@srcf.net>
From: Juergen Gross <jgross@suse.com>
Message-ID: <ba59005a-4f9b-076e-f524-79d769f379c9@suse.com>
Date: Wed, 12 Jan 2022 12:31:00 +0100
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: <37ade49f-e277-99a4-4dd7-e1e6cb327ffb@srcf.net>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="C0wjhvaLe52S38BZGA3txtUasNMTosj4o"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--C0wjhvaLe52S38BZGA3txtUasNMTosj4o
Content-Type: multipart/mixed; boundary="3jxSrtCs6pN2YoqPq5ykFQdbY6wokLlta";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <amc96@srcf.net>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
Message-ID: <ba59005a-4f9b-076e-f524-79d769f379c9@suse.com>
Subject: Re: [PATCH v2 10/12] mini-os: add struct file_ops for file type
 socket
References: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-11-jgross@suse.com>
 <37ade49f-e277-99a4-4dd7-e1e6cb327ffb@srcf.net>
In-Reply-To: <37ade49f-e277-99a4-4dd7-e1e6cb327ffb@srcf.net>

--3jxSrtCs6pN2YoqPq5ykFQdbY6wokLlta
Content-Type: multipart/mixed;
 boundary="------------38D0AB273F0FF548EF8706CD"
Content-Language: en-US

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

On 12.01.22 12:25, Andrew Cooper wrote:
> On 11/01/2022 15:12, Juergen Gross wrote:
>> +static int socket_write(int fd, const void *buf, size_t nbytes)
>> +{
>> +    return lwip_write(fd, (void *)buf, nbytes);
>=20
> This void cast was bogus before, and can be dropped.=C2=A0 lwip_write()=

> already takes a const pointer.

Okay.


Juergen


--------------38D0AB273F0FF548EF8706CD
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-----

--------------38D0AB273F0FF548EF8706CD--

--3jxSrtCs6pN2YoqPq5ykFQdbY6wokLlta--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHeu/QFAwAAAAAACgkQsN6d1ii/Ey96
cAf/QZsUMhkCQunis0QWbfQyYQH8M5S4FKfZviCAxtts3lBKi8pTFBdo9UsM5ylW9VW5xHI6drre
CtttF8ZivPeFuLlL6PzTjYsQMd3m3f0RIrhAseTW7PGiPHXD/hUFGIyQ47MA+dkeBQsxm61W68OE
G3a8zh+VrDE00H+TFuw/GJAyHM7EibYJSps8B9vjwfDKVE4ig+99a4iObhkeyzNWkJ/uvRWdAzip
QvBzudPkhLKJE5z8VsFxyFhFX2a86bzpHsEGgEg4VBcC1deIKihuR0ZsPejsMZ6YeC0mfk+6GNeX
+3Qn9C8hT0q3txzMIrAPDQTfITFpUSlSHjlaVWZErA==
=KaE0
-----END PGP SIGNATURE-----

--C0wjhvaLe52S38BZGA3txtUasNMTosj4o--


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 11:32:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 11:32:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256571.440423 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7brg-0004aS-MF; Wed, 12 Jan 2022 11:32:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256571.440423; Wed, 12 Jan 2022 11: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 1n7brg-0004aJ-JE; Wed, 12 Jan 2022 11:32:28 +0000
Received: by outflank-mailman (input) for mailman id 256571;
 Wed, 12 Jan 2022 11:32:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zSVc=R4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7brf-0004Xt-BY
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 11:32:27 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 50d4f2f1-739b-11ec-9c70-5536b2d1e4e1;
 Wed, 12 Jan 2022 12:32:25 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 6797E218E6;
 Wed, 12 Jan 2022 11:32: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 4094913B42;
 Wed, 12 Jan 2022 11:32:25 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 46WADkm83mE/FQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 12 Jan 2022 11:32: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: 50d4f2f1-739b-11ec-9c70-5536b2d1e4e1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641987145; 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=eMvdzorta42Ya0fr9SWXzplMPwcOKwBhZz6kh21VkQU=;
	b=b9Xw1tC0hijT0OlGyuWRQGsdVRHpSmvt6PPLqckJFshju5KPF2bVKw4LA54ZAMTPLIpRdL
	/x57MBscChsIL4+j4+/2KAodD9W4gNOX/pR20fL1XKAnbgzxqe8kKqtg5MkmoRJxCJNq0k
	7xtjhkBoWEsnpNz2plfm+rNbss3n4eA=
Subject: Re: [PATCH v2 10/12] mini-os: add struct file_ops for file type
 socket
To: Andrew Cooper <amc96@srcf.net>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-11-jgross@suse.com>
 <659743cb-abc9-31b5-d6b2-0a21aa76bbb4@srcf.net>
From: Juergen Gross <jgross@suse.com>
Message-ID: <cf84e6f4-efcb-e206-5cc0-769fe6399de5@suse.com>
Date: Wed, 12 Jan 2022 12:32:24 +0100
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: <659743cb-abc9-31b5-d6b2-0a21aa76bbb4@srcf.net>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="GcR583zDw8ysJBNlY1wNTSt8p40QHj58M"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--GcR583zDw8ysJBNlY1wNTSt8p40QHj58M
Content-Type: multipart/mixed; boundary="rxS368b4vpEaeEMrVpCx481MrTpmO0jXa";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <amc96@srcf.net>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
Message-ID: <cf84e6f4-efcb-e206-5cc0-769fe6399de5@suse.com>
Subject: Re: [PATCH v2 10/12] mini-os: add struct file_ops for file type
 socket
References: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-11-jgross@suse.com>
 <659743cb-abc9-31b5-d6b2-0a21aa76bbb4@srcf.net>
In-Reply-To: <659743cb-abc9-31b5-d6b2-0a21aa76bbb4@srcf.net>

--rxS368b4vpEaeEMrVpCx481MrTpmO0jXa
Content-Type: multipart/mixed;
 boundary="------------A1FDA99D8985E049B4B30829"
Content-Language: en-US

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

On 12.01.22 12:28, Andrew Cooper wrote:
> On 11/01/2022 15:12, Juergen Gross wrote:
>> diff --git a/lib/sys.c b/lib/sys.c
>> index 3a8aa68..12deaed 100644
>> --- a/lib/sys.c
>> +++ b/lib/sys.c
>> @@ -99,11 +99,70 @@ static struct file_ops file_ops_none =3D {
>>       .name =3D "none",
>>   };
>>  =20
>> +#ifdef HAVE_LWIP
>> +static int socket_read(int fd, void *buf, size_t nbytes)
>> +{
>> +    return lwip_read(fd, buf, nbytes);
>> +}
>> +
>> +static int socket_write(int fd, const void *buf, size_t nbytes)
>> +{
>> +    return lwip_write(fd, (void *)buf, nbytes);
>> +}
>> +
>> +static int close_socket_fd(int fd)
>> +{
>> +    struct file *file =3D get_file_from_fd(fd);
>> +
>> +    return lwip_close(file->fd);
>> +}
>=20
> Actually, on further thoughts...
>=20
>> +static struct file_ops socket_ops =3D {
>> +    .name =3D "socket",
>> +    .read =3D socket_read,
>> +    .write =3D socket_write,
>> +    .close =3D close_socket_fd,
>> +    .fstat =3D socket_fstat,
>> +    .fcntl =3D socket_fcntl,
>> +};
>=20
> read, write and close should dispatch directly to lwip_* and not bounce=

> through a no-op local function.

Not with changing the first parameter to struct file *.

BTW, this patch had a bug, as the calls need to use file->fd instead of
fd.


Juergen

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

--------------A1FDA99D8985E049B4B30829--

--rxS368b4vpEaeEMrVpCx481MrTpmO0jXa--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHevEgFAwAAAAAACgkQsN6d1ii/Ey/0
+wf+KvhMxYFTHIudZ+A2MSKm5mzsrcOgcVsxcnVB3usK4t0o1h+tPNrxfviTmo89wwX7Z2gYKBXp
E9WCYuDxQfQI5wThLrsc4uKBJkKr2gU2xz0Xk8QS2y13QJRzrXFIAuxvVM+WaBRyaoVQTp6cpfcr
CZWTNbsmeHkr3to2AdYmNjRvGs5RIJPz+CAJwEkLpVMWa86nq1D3xiTmYDUPUScFG5Yv1v9yBWvr
O8FDU3q6k3zDnPkVOSNXUGX1QgxrgLhD67CPPe+m/1J5OCmzg2NrFPb8s2EtyH6qQPXTh6W1HhkZ
uAxfPfcs+N+VYjNCLZYSETmWMPHqDkrM8JwSNp0bpQ==
=OvWj
-----END PGP SIGNATURE-----

--GcR583zDw8ysJBNlY1wNTSt8p40QHj58M--


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 11:33:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 11:33:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256576.440434 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7bsJ-0005BS-0X; Wed, 12 Jan 2022 11:33:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256576.440434; Wed, 12 Jan 2022 11: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 1n7bsI-0005BL-TU; Wed, 12 Jan 2022 11:33:06 +0000
Received: by outflank-mailman (input) for mailman id 256576;
 Wed, 12 Jan 2022 11:33:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=no1k=R4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n7bsI-0005Ah-23
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 11:33:06 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6863b269-739b-11ec-9c70-5536b2d1e4e1;
 Wed, 12 Jan 2022 12:33:05 +0100 (CET)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2053.outbound.protection.outlook.com [104.47.14.53]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-3-Xt7NVrGiOa62V4nKAm-sMw-1; Wed, 12 Jan 2022 12:33:03 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0402MB3533.eurprd04.prod.outlook.com (2603:10a6:803:b::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.9; Wed, 12 Jan
 2022 11:33:02 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Wed, 12 Jan 2022
 11:33:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6863b269-739b-11ec-9c70-5536b2d1e4e1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641987184;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=uIB/f9EE0kJuDhOxbZswW+z4P5HrwmzWNGHNR0+a5u8=;
	b=WXJR24tGi+1VImFVaW/dnlL8+cYKa6Br+9r9eh0qVJT1ViYaf6eN457nD6LgxIWIqBv5kq
	QHO61E4BjgI09O2ywe9jYHrgScyEGY42C7nVOr7YUIcQG+VdIKOOvTJqu/ZoNBNq6zUGUG
	PxMdNtv/4XNHEP/Gvaq5z1H4ITGJpqY=
X-MC-Unique: Xt7NVrGiOa62V4nKAm-sMw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=moAFYyLhTL3rbAyTRwLW/I0sxCLujoe3iGJCIdh0VSZGK+pV+mWljluFIxSjSz4ZVbIgwO1z+7KnzRxGg7KITk6v/DSmJoYn9R+oR4nBCPQOeQS/Qz8PqH/r4AqHPdW50IFJBPzWylX2/1WUQiDH/qR76SGflu64rsmM6nICRKBZ//kGaViqtZIgve3e7v3AcrLSRD+fubOz0rKvUqa+73dBavTb6Xw5U1H7FMo98CU+RyNKkG12snW4QnWLlrE2QnkaypvCANKtVkQQKFqEEwS8H2r6JwDbMADuhxpdq8hfZ10S1zmNIhi5hI2axmG4iNY3iQANQLBHdOQcZq/VaA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZRtH3mRhSYg0S4bJGdHbVUkcwJZGWh4ljLRnbJYXOTM=;
 b=auXnnxMtjU/PrsQWJF1/JPpzHDuwDKefy76SB0gUPwn9IhzzVEC2Rxn8+EWLssk8zzCTNPq7ib4/LsDQVAxVHuDP/nDfGHXhGrlWqqS4RLNviSL/8WgGF/LYGtPRh1TSVyWLH6I1sDzzXifa9qPwCKYFYYGIg4IE8nagqrvOWGKgtvZMknaxNBd8x5rbPUy9ABzZQLpyJDfVlEKrHcqKeuUFoW+GAOfYfaEdcwFilX4AFGK9ADfFDHQL3g4eWgVqWuKSqYrBUVQXe17+dlnLXjqXIxFrXDgqbSY4oe+6Km514AbBNCh9lKkyoxZAWziX/4r7TOH3TAoGvrwcjdMzvg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8c18b93f-8da9-ff38-065a-5050767d17a0@suse.com>
Date: Wed, 12 Jan 2022 12:32:59 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH 2/2] x86/time: improve TSC / CPU freq calibration accuracy
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
References: <595b3447-0eba-dfc8-fa24-6bb8b964a137@suse.com>
 <85939a58-ab7f-31ea-1014-91cabe746046@suse.com>
 <Yd6zEgfPTdBdFR2y@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <Yd6zEgfPTdBdFR2y@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM5PR0402CA0001.eurprd04.prod.outlook.com
 (2603:10a6:203:90::11) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 21ee0315-7b7b-4326-0785-08d9d5bf4aa9
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3533:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB3533B8EC68D126D9AB677E0AB3529@VI1PR0402MB3533.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:
	yjlpOjjvsr8uCIt2bu5NErFyuOCEo30dkYTMptLu20abIKCaEIOY11o3FGfeNDY9JYQR5YT+0KGxdVXmyhtcflD+1ME0VNx5zsNzBvzcf0oSEXc+0YOFyqNMNtiWca/sDbA90Ncl+vtsBIR8YspGNFRfbDNzB15FpNYGurKKwaHGOBKV9evRzE9Sad9e9R1KLtEFR85lobl7UA/mkkp/EZ8MIb4I3qb//H06uwocf2JOY/rflWvJRjZhHxQCkMiAUSTPwqvpkeyQFEoC81XMCAUzSVD7gy3j/CXE2g2HS/XsgaoeuZyCqE64QI0QVY7KKlPckp3X7+eFjHcnKR2Qfgg8d028j6OhENAMxiHkVVdzJD5Xr99YUu4s40oLpoxYhpZI2+e1dzgc2kac/AyCDktFvGSjKAWklkeobqpYg5Hpx3zsP65DVVryLDX4nN2NLnKZAtnG6p5WjTRJ380j7WvHLo4MVatMqfLnbI8NYEpL/I5bBgQugQWxeo6whFSLi1aqrCIfo6pd3ScS5RZzoxfaQptDlAvCLP92P7J2Da6miTZEpJP4uxjfkuRrYbV0y0UrywGeBuGZ5DHMxx1H5NX0WkXKh5LOcl7uR6CnIXULSxEME+O+f8AmAAKu13sTqINaYZdlDhxYlOonlQszzojkktWaPaYN0flF84XB5b6tnCiSVg94/IlTlWu5Xpx/Ez7PtP/eHkKSN3toLMlB21eghUtkHaLsQLREhB/A9MQ=
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)(6512007)(31696002)(5660300002)(6486002)(6666004)(316002)(6916009)(8936002)(8676002)(66476007)(66556008)(66946007)(38100700002)(86362001)(36756003)(54906003)(2906002)(83380400001)(26005)(186003)(508600001)(4326008)(2616005)(53546011)(31686004)(6506007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?mvjGNhEIOhwvSB3ijISUBAn+7TLVJ6J/vQo0lsmUYArnsk54BM1m3usbAWOU?=
 =?us-ascii?Q?IimHy2+wGe9UwrY9ik2kPxCkai16eA3b+DnA8QLVDF6bmBV3hEJx2hPVzY1k?=
 =?us-ascii?Q?mTN0ZL6xwx1b4UQP0iIP4jEGx51uL8LHGSSPKw8m+quTseCiS6A9gZ1XMc5y?=
 =?us-ascii?Q?+OhWGJ4BmaVI4Gim1lsCucwkoONo1uUPeMLEF3M6bHqfao0+xWq6I3u/an7f?=
 =?us-ascii?Q?xWTV8x6/YWjL6ztaeasVktbkp5yfAOhm9Z/aVOq6tqYuI04aFJh4P7uC8riE?=
 =?us-ascii?Q?zExPKmsNf+0gXGq44qZ5LlDBlboeYjA3JLlmk1cDGu/QNk617JpP27QdeVt+?=
 =?us-ascii?Q?uoEH6c065SOQy8U8lmXVkfi+MGAU+k0XMElms1yRB8GQtWNZiBI9BGCyqfiJ?=
 =?us-ascii?Q?7+TF1qJ6Ilf6w1jn4VTXgV9NTsHqSeuLrLsD630Cm0Ntwf2zimP63kHsTpR0?=
 =?us-ascii?Q?Aov5Sk0VNS/6VvoGTbQDXHIBYYiLnE8Q4TbxoACazXYS1YaugNLeuBVo5H54?=
 =?us-ascii?Q?FSZ+xgGq3J6XOgr6hcVgHEcNVxuKSxCijBaSkBm/p3384Emu9hxPj2Vin2zt?=
 =?us-ascii?Q?F1s4wm0F+ak/2Tvzd9Guv+pQxpNXIGw8g4U1aMTidniRiagdPFQCw8aA/ewS?=
 =?us-ascii?Q?dbs+t1ggxYNXRvoG76bYvT1fRMFdIa86xisipW95qUoX//zAZysxFEm95eUh?=
 =?us-ascii?Q?74WHs17d51xoY6MWwgMQTnrdiVynsjVd4qNWFduQaj7PLubI/P5l9w0dJBOD?=
 =?us-ascii?Q?G5gFAscZYbuNOAHX7tJ7n6V1YcMezPBuhXK4A5dtYzdHeyFBhRUDQph/rQH5?=
 =?us-ascii?Q?uvsq/5eeQjiLobCeCxD/cw9NUF+vb5Yo8YXk1OjMGlwDYLsbDTTeKuBzguEf?=
 =?us-ascii?Q?amzk0B4aoyOCYQq9BWzhg9zcWzvtNxYiFmBshgTVOq+HACoz4Zu+5d2YSeOQ?=
 =?us-ascii?Q?V2hNjLUVb31hG79dFrQDxzkfGD6rAa89/W9AXqfuAFungdUDi/bIfXhz+OXH?=
 =?us-ascii?Q?PqWQIVadoEWY3+IYjUS6PcG5LAK7rIPxwg2xJPn2D4YklsBbB9qdFliu+Tnh?=
 =?us-ascii?Q?TfqQHifd3g2J6+wemSzP8zS10xX7RndHOW0kdAAYdB/ipkKTPxUL0onK7xCJ?=
 =?us-ascii?Q?oPdoGTWNJ/YHUVz3qaPnqGMXCPAOwVrTtVmZuow40DLODu8Aq8PYR9uFQMvc?=
 =?us-ascii?Q?p1znThgWowhDhyEZRg4yUfGwv90Wt7cvZlTzKuRh8Orcfd1bZnnoeVLWul4y?=
 =?us-ascii?Q?A6WojALt9tqwdJpUlw0tTO0W18WxLHgs+6LoLucxbqYNs2XKkcmMWD4iTQug?=
 =?us-ascii?Q?3XxGOegkrbSKJynoor+eUUYidIA14IOy35KNMuyPmH7+TCcghcIG+9kqxggR?=
 =?us-ascii?Q?TIUyQv76GOQn2prpByQja+JG18ABpmisQ7tkwj5ZRvIsvE8wd1E5SBgMi7eh?=
 =?us-ascii?Q?Fm7XsVZTDJgGEWVr7Bts5Z0nuPZefkNKrBAvWiOIe66mGHsu/OEXB+/CmGMG?=
 =?us-ascii?Q?CHpYUSNiuVxmjP/29oWQ/OvCJHrjPUS+pNUeXSNviWNlufO4pDf6QJRZd6Tg?=
 =?us-ascii?Q?Ugh/hcgN3iR2wvWCfDWbz+GUO1d5gSWvVqini+fYhEecVxjuJXeLr2Lqo5iA?=
 =?us-ascii?Q?EwuMJe1qtO7hTyrEp1w2eAc=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 21ee0315-7b7b-4326-0785-08d9d5bf4aa9
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2022 11:33:01.9016
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: E5ALblXblecOuM+9YzBT5HV1ujlrMNtFwa6QIQ1daRBmgYgFYuHyqF/RgYSMtpdmCc0rnNPlcgUdIme6zwXpqw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3533

On 12.01.2022 11:53, Roger Pau Monn=C3=A9 wrote:
> On Wed, Jan 12, 2022 at 09:56:12AM +0100, Jan Beulich wrote:
>> While the problem report was for extreme errors, even smaller ones would
>> better be avoided: The calculated period to run calibration loops over
>> can (and usually will) be shorter than the actual time elapsed between
>> first and last platform timer and TSC reads. Adjust values returned from
>> the init functions accordingly.
>>
>> On a Skylake system I've tested this on accuracy (using HPET) went from
>> detecting in some cases more than 220kHz too high a value to about
>> =C2=B12kHz. On other systems (or on this system, but with PMTMR) the ori=
ginal
>> error range was much smaller, with less (in some cases only very little)
>> improvement.
>>
>> Reported-by: James Dingwall <james-xen@dingwall.me.uk>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>=20
> Reviewed-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>

Thanks.

>> I'm afraid I don't see a way to deal with the same issue in init_pit().
>> In particular the (multiple) specs I have to hand don't make clear
>> whether the counter would continue counting after having reached zero.
>> Obviously it wouldn't help to check this on a few systems, as their
>> behavior could still be implementation specific.
>=20
> We could likely set the counter to the maximum value it can hold
> and then perform reads in a loop (like it's done for HPET or the PM
> timers) and stop when start - target is reached. Not a great solution
> either.

Not the least because reading back the counter from the PIT requires
multiple port operations, i.e. is overall quite a bit slower.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 12 11:33:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 11:33:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256580.440444 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7bsm-0005lR-9J; Wed, 12 Jan 2022 11:33:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256580.440444; Wed, 12 Jan 2022 11:33:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7bsm-0005lK-5l; Wed, 12 Jan 2022 11:33:36 +0000
Received: by outflank-mailman (input) for mailman id 256580;
 Wed, 12 Jan 2022 11:33:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=BEGY=R4=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n7bsl-0005Ah-0Q
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 11:33:35 +0000
Received: from ppsw-42.csi.cam.ac.uk (ppsw-42.csi.cam.ac.uk [131.111.8.142])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 764bcac0-739b-11ec-9c70-5536b2d1e4e1;
 Wed, 12 Jan 2022 12:33:28 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:47212)
 by ppsw-42.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.138]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n7bsd-000vfO-9a (Exim 4.95) (return-path <amc96@srcf.net>);
 Wed, 12 Jan 2022 11:33:27 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id CA57F1FD4B;
 Wed, 12 Jan 2022 11:33:27 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 764bcac0-739b-11ec-9c70-5536b2d1e4e1
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <0b8166db-7188-5620-15ed-02b7a0d5efa5@srcf.net>
Date: Wed, 12 Jan 2022 11:33:27 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Subject: Re: [PATCH v2 10/12] mini-os: add struct file_ops for file type
 socket
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20220111151215.22955-1-jgross@suse.com>
 <20220111151215.22955-11-jgross@suse.com>
 <659743cb-abc9-31b5-d6b2-0a21aa76bbb4@srcf.net>
 <cf84e6f4-efcb-e206-5cc0-769fe6399de5@suse.com>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <cf84e6f4-efcb-e206-5cc0-769fe6399de5@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12/01/2022 11:32, Juergen Gross wrote:
> On 12.01.22 12:28, Andrew Cooper wrote:
>> On 11/01/2022 15:12, Juergen Gross wrote:
>>> diff --git a/lib/sys.c b/lib/sys.c
>>> index 3a8aa68..12deaed 100644
>>> --- a/lib/sys.c
>>> +++ b/lib/sys.c
>>> @@ -99,11 +99,70 @@ static struct file_ops file_ops_none = {
>>>       .name = "none",
>>>   };
>>>   +#ifdef HAVE_LWIP
>>> +static int socket_read(int fd, void *buf, size_t nbytes)
>>> +{
>>> +    return lwip_read(fd, buf, nbytes);
>>> +}
>>> +
>>> +static int socket_write(int fd, const void *buf, size_t nbytes)
>>> +{
>>> +    return lwip_write(fd, (void *)buf, nbytes);
>>> +}
>>> +
>>> +static int close_socket_fd(int fd)
>>> +{
>>> +    struct file *file = get_file_from_fd(fd);
>>> +
>>> +    return lwip_close(file->fd);
>>> +}
>>
>> Actually, on further thoughts...
>>
>>> +static struct file_ops socket_ops = {
>>> +    .name = "socket",
>>> +    .read = socket_read,
>>> +    .write = socket_write,
>>> +    .close = close_socket_fd,
>>> +    .fstat = socket_fstat,
>>> +    .fcntl = socket_fcntl,
>>> +};
>>
>> read, write and close should dispatch directly to lwip_* and not bounce
>> through a no-op local function.
>
> Not with changing the first parameter to struct file *.

Oh, good point.

>
> BTW, this patch had a bug, as the calls need to use file->fd instead of
> fd.

Yay for multiple fd spaces.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 11:41:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 11:41:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256589.440455 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7c0Z-0007HU-3k; Wed, 12 Jan 2022 11:41:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256589.440455; Wed, 12 Jan 2022 11: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 1n7c0Z-0007HN-0s; Wed, 12 Jan 2022 11:41:39 +0000
Received: by outflank-mailman (input) for mailman id 256589;
 Wed, 12 Jan 2022 11:41:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5D/a=R4=gmail.com=gengdongjiu1@srs-se1.protection.inumbo.net>)
 id 1n7c0X-0007HH-1y
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 11:41:37 +0000
Received: from mail-lf1-x144.google.com (mail-lf1-x144.google.com
 [2a00:1450:4864:20::144])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 98e2285f-739c-11ec-9c70-5536b2d1e4e1;
 Wed, 12 Jan 2022 12:41:36 +0100 (CET)
Received: by mail-lf1-x144.google.com with SMTP id g11so7146932lfu.2
 for <xen-devel@lists.xenproject.org>; Wed, 12 Jan 2022 03:41:35 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 98e2285f-739c-11ec-9c70-5536b2d1e4e1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc:content-transfer-encoding;
        bh=IGgAt/PWazfQwU3PnIY7iPY3NZ1CTqfiuRT63o+wriU=;
        b=Oo1UehApEUTtMunr4M36JbZhxG/saEPDRW7g8yQavNDCxG9XwGKXBljEyaIV8xLxj0
         HDcFJfja0iDz6T9rsaIPzlQn74BSufRuEPWUIl28xKI44yL927Lu+EhVSDOGjFXfSP8F
         SOm6IYVY7yk+dis/8HaFJ78xBBO3evbcN+nZIcIouIlBw67QN8EJ0c5NkhCxaUU4JVmY
         fOmlGJPVDIm5PYuCjbCHMMjsuCIl+vSyF5v9zZVnFcQxbNQI62hmEs6eMdsMHsmuBhxd
         VR4qEZaCU4sZdptjCqMrGZ9vRPMi/kRHVT3qJr6KPbtGbyFly3R3i/+L2F6nH93pZROk
         iSHg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc:content-transfer-encoding;
        bh=IGgAt/PWazfQwU3PnIY7iPY3NZ1CTqfiuRT63o+wriU=;
        b=1hVM1jGVcI4t2IDpjMqfXHqxuwCVXDiGnngSUo5N/vHZxhWtXzV1F+7bteC59461S5
         pwPIb8r8OhQpb7oX82ix3XyYSUfocXVCbo+6rPWw2qsNqyf7cuayBqxFCSZ/AjakYMzK
         5guxnb835e/cukIzyNMFosW5rOukE3O8kca2J4qWZqENCy1r7q9TjfKtpke33TF4ev0f
         J8iNELN7yHfT9+Vxp1/yz4VE4iUGinpNmerYfsBiQzUD9+WQYTM+ILScUFuBmIbBok1o
         If9oXogAEAXWfdTXzkEXpomCE2MJallyPE7vc6KUblNtRvQUbz4fb2kdECAQ5N1/FT4o
         +m5Q==
X-Gm-Message-State: AOAM5306w0g8bHbWc3abGQ8GTO58/BHYCiwd0+Q5W++LYiLOI65KTqUn
	55360ZykA/lWlfTqt1T5E2NoXE10JxPOkBKq8R4=
X-Google-Smtp-Source: ABdhPJxD8KFMoaH0J4Pw4qiU2YoM4pIrbUWq3KhxMUhreCwlxKAXaC+O4qqWYsVPREc/EJmcgtu/QcnyHZWA3Gc0AfI=
X-Received: by 2002:a05:6512:2314:: with SMTP id o20mr5934287lfu.257.1641987695601;
 Wed, 12 Jan 2022 03:41:35 -0800 (PST)
MIME-Version: 1.0
References: <20211228041423.2231598-1-gengdongjiu1@gmail.com> <CAJ=z9a2ww3OptqQn+KDdOMrRB_sSAicnVFQJ2UAySq5xZZjhTQ@mail.gmail.com>
In-Reply-To: <CAJ=z9a2ww3OptqQn+KDdOMrRB_sSAicnVFQJ2UAySq5xZZjhTQ@mail.gmail.com>
From: Dongjiu Geng <gengdongjiu1@gmail.com>
Date: Wed, 12 Jan 2022 19:41:23 +0800
Message-ID: <CABSBigRyDr4GstZjwJVrM64f57PZKL_Dmq0N+BiKYW3fuXxWYg@mail.gmail.com>
Subject: Re: [PATCH v3] xen/arm: Allow QEMU platform to be built with GICv2
To: Julien Grall <julien.grall.oss@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
	Bertrand Marquis <bertrand.marquis@arm.com>, xen-devel <xen-devel@lists.xenproject.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Julien Grall <julien.grall.oss@gmail.com> =E4=BA=8E2021=E5=B9=B412=E6=9C=88=
28=E6=97=A5=E5=91=A8=E4=BA=8C 18:39=E5=86=99=E9=81=93=EF=BC=9A
>
> Hi,
>
> On Tue, 28 Dec 2021 at 05:14, Dongjiu Geng <gengdongjiu1@gmail.com> wrote=
:
> >
> > Trying to select PLATFORM_QEMU with NEW_VGIC will result to Kconfig
> > complain about unmet dependencies:
> >
> > tools/kconfig/conf  --syncconfig Kconfig
> >
> > WARNING: unmet direct dependencies detected for GICV3
> >    Depends on [n]: ARM_64 [=3Dy] && !NEW_VGIC [=3Dy]
> >    Selected by [y]:
> >    - QEMU [=3Dy] && <choice> && ARM_64 [=3Dy]
> >
> > WARNING: unmet direct dependencies detected for GICV3
> >    Depends on [n]: ARM_64 [=3Dy] && !NEW_VGIC [=3Dy]
> >    Selected by [y]:
> >    - QEMU [=3Dy] && <choice> && ARM_64 [=3Dy]
> >
> > WARNING: unmet direct dependencies detected for GICV3
> >    Depends on [n]: ARM_64 [=3Dy] && !NEW_VGIC [=3Dy]
> >    Selected by [y]:
> >    - QEMU [=3Dy] && <choice> && ARM_64 [=3Dy]
> >
> > It turns out that QEMU has been supporting GICv2 virtualization since
> > v3.1.0. So an easy way to solve the issue and allow more custom support
> > is to remove the dependencies on GICv3.
>
> You took my proposed commit message but the diff in
> this version doesn't match it.
>
> >
> > Signed-off-by: Dongjiu Geng <gengdongjiu1@gmail.com>
> > ---
> > change since v1:
> > 1. Address Stefano's comments to add dependency
> >
> > change since v2:
> > 1. Address Julien's comments to update the commit messages.
> > 2. enable GICV3 in arch/arm/configs/tiny64_defconfig
> > ---
> >  xen/arch/arm/Kconfig                  | 5 +++--
> >  xen/arch/arm/configs/tiny64_defconfig | 2 +-
> >  xen/arch/arm/platforms/Kconfig        | 2 +-
> >  3 files changed, 5 insertions(+), 4 deletions(-)
> >
> > diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> > index ecfa6822e4..373c698018 100644
> > --- a/xen/arch/arm/Kconfig
> > +++ b/xen/arch/arm/Kconfig
>
> Are the changes necessary in arch/arm/Kconfig to solve the issue on QEMU?
> If not, then they should be in a separate patch.
> If yes, then they ought to be explained in the commit message.
>
> > @@ -35,7 +35,7 @@ config ACPI
> >
> >  config GICV3
> >         bool "GICv3 driver"
> > -       depends on ARM_64 && !NEW_VGIC
> > +       depends on ARM_64
> >         default y
> >         ---help---
> >
> > @@ -44,13 +44,14 @@ config GICV3
> >
> >  config HAS_ITS
> >          bool "GICv3 ITS MSI controller support (UNSUPPORTED)" if UNSUP=
PORTED
> > -        depends on GICV3 && !NEW_VGIC
> > +        depends on GICV3
> >
> >  config HVM
> >          def_bool y
> >
> >  config NEW_VGIC
> >         bool "Use new VGIC implementation"
> > +       depends on !GICV3
> >         ---help---
> >
> >         This is an alternative implementation of the ARM GIC interrupt
> > diff --git a/xen/arch/arm/configs/tiny64_defconfig b/xen/arch/arm/confi=
gs/tiny64_defconfig
> > index cc6d93f2f8..165603f7e0 100644
> > --- a/xen/arch/arm/configs/tiny64_defconfig
> > +++ b/xen/arch/arm/configs/tiny64_defconfig
> > @@ -4,7 +4,7 @@ CONFIG_ARM=3Dy
> >  #
> >  # Architecture Features
> >  #
> > -# CONFIG_GICV3 is not set
> > +CONFIG_GICV3=3Dy
>
> The goal of tiny64_defconfig is to have nothing enabled by default.
> So we should not enable GICV3 here.
>
> >  # CONFIG_MEM_ACCESS is not set
> >  # CONFIG_SBSA_VUART_CONSOLE is not set
> >
> > diff --git a/xen/arch/arm/platforms/Kconfig b/xen/arch/arm/platforms/Kc=
onfig
> > index c93a6b2756..925f6ef8da 100644
> > --- a/xen/arch/arm/platforms/Kconfig
> > +++ b/xen/arch/arm/platforms/Kconfig
> > @@ -15,7 +15,7 @@ config ALL_PLAT
> >  config QEMU
> >         bool "QEMU aarch virt machine support"
> >         depends on ARM_64
> > -       select GICV3
> > +       select GICv3 if !NEW_VGIC
>
> There was an open question in v2. In general, it is better to wait
> until the discussion is closed or you mention it after ---. This
> avoids being lost.

Sorry for the noise, Stefano,  do you have any suggestion for this
patch?  thanks a lot.

>
> Cheers,
>
> --
> Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 12:12:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 12:12:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256601.440467 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7cUN-0002Ov-Qz; Wed, 12 Jan 2022 12:12:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256601.440467; Wed, 12 Jan 2022 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 1n7cUN-0002Oo-Nl; Wed, 12 Jan 2022 12:12:27 +0000
Received: by outflank-mailman (input) for mailman id 256601;
 Wed, 12 Jan 2022 12:12:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dBVB=R4=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n7cUM-0002OS-Ai
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 12:12:26 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e58aa92d-73a0-11ec-9c70-5536b2d1e4e1;
 Wed, 12 Jan 2022 13:12:24 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e58aa92d-73a0-11ec-9c70-5536b2d1e4e1
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1641989543;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=o+KzZ0aIAumGFIFVhRJywPqZE9aJIl25ioDtSF1GW5w=;
  b=N68PM38zgl4L7k01brqDgWd6kisWRDYk6p9rqkwAmbxpTBJn3WwyjvEv
   NZWmJKxGeCz99KuklHHvwGLnUTsB5SzyZ6tUOq0PVIakAtSP9E0qmdv9P
   iSMSNBwwNRexMD2PwOhKA64hmS5bGWdGl2oDwjqciIc8LtwwPMmRm4znm
   4=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: KKhmlUQe3zZxv8iehL/2OSRWsostTEeeGpDfSsWPYzWo85CPITNnzdgAbW5VLPYb+oc5nupYse
 6KeSlIlmXzi2RcI8ulKophRrSt66Yfvybz27m1oyeR3ZInhUE1rWhpFCVN6hlKWBOlnicXicOU
 Od4s8RhspnD6o9prcHbqMi3jOS85JQZMCvkS+12D/txTsv1cGbKbHbpFvFeiN4kFSB0TTyO9NI
 Uy9mCC7iQPFvcilDWCDOs6Bd2AkwSU0OvnB1QRLi3MIS2ZK6OblPHE3qIBLUPkrb6EzjdToT5n
 cHiUX14UETGduj/CKDxbDZxV
X-SBRS: 5.2
X-MesageID: 61825313
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:hkArd6POITJE0TDvrR1lkcFynXyQoLVcMsEvi/4bfWQNrUorhWEOz
 TZJD2GGaf6DMWr2LohyO4jg9EtU7MTQzYBgTAto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdpJYz/uUGuCJQUNUjMlkfZKhTr6UUsxNbVU8En150Es5w7RRbrNA2rBVPSvc4
 bsenOWHULOV82Yc3rU8sv/rRLtH5ZweiRtA1rAMTakjUGz2zhH5OKk3N6CpR0YUd6EPdgKMq
 0Qv+5nilo/R109F5tpICd8XeGVSKlLZFVDmZna7x8FOK/WNz8A/+v9TCRYSVatYoxirretjy
 ZJEiaGLbw0jDPyPm+E2DSANRkmSPYUekFPGCX22sMjVxEzaaXr8hf5pCSnaP6VBpLwxWzsXs
 6VFdnZdNXhvhMrvqF6/YvNrick5atHiIasUu216zCGfBvEjKXzGa/uTtYUFh25r7ixINbGDd
 9REU2doVg3NSCxLY0coKJ1hkt790xETdBUH8QnI9MLb+VP71AVs1JD9PdyTfcaFLe1XlEuFo
 mPN/0ziHwoXcteYzFKt22iwi+r4uDL0UYMfCpW17vdvxlaUwwQ7DxkbVkCyp/WjvUe4V8hCM
 Ewf+icorq8a+VSiS5/2WBjQiGSNvgMYHcFRFeI6wAiXz+zf5APxLmIJVCJbYdoq8so/XyU31
 0ShlsnsQzdotdW9S2+Z97qShSO/P24SN2BqTT8JS04J7sfupKk3jwnTVZBzHaitlNr3FDrsh
 TeQo0AWjrMfl5RTj/2T8lXOgjbqrZ/MJiYr4QHQUnOg/xlOboevbIy16nDW9f9Fao2eSzGpu
 3wJmNOX6uwUOo2cjyyGQOgLH7aB6u6MNXvXhlsHN4I66z2n9nqnfIZRyDJzPkFkNoADYzCBX
 aPIkVoPvtkJZiLsNPIpJdLqYyg38UT+PfnHZMvGb51HXqVKUgWNznAtZku7gVm4xSDAjpoDE
 ZucdM+tC1MTBqJm0Ce6So8h7FM7+swt7TiNHM6mlnxLxZLbPSfIEuldbDNie8hktPvsnenDz
 zpI2yJmIT17Wfa2XCTY+JV7wbsifSliXsCeRyC6m4e+zuta9IMJV665LVAJIdUNc0FpegHgp
 CDVtqhwkguXuJE/AV/WAk2PkZu2NXqFkVo1PDY3IXGj0GU5bICk4c83LsVrJOh9qrIzlaEvH
 pHpnvls5NwVG1wrHBxHPPHAQHFKLkz31WpiwQL4CNTAQ3KQb1OQoYK1Fuce3CIPEjC2paMDT
 06IjWvmrW44b106Vq7+Mav3p3vo5CR1sL8sAyPgf4cCEG2xoNkCA3Gg1ZcffpBTQSgvMxPHj
 W569z9C+7mUy2L0mfGU7Z25Q3CBSLohThEETjiCvd5b90DypwKe/GOJa87RFRj1X2Lo4qSyI
 +JTyvD3Kvocm1hW9YF7Ft5WIWgWvbMDfpdWkVZpGmvldVOuBu8yK3WKx5AX5KZM2qVYqU29X
 UfWootWPrCAOcXEFl8NJVV6MrTfhK9MwjSCv+4oJEja5TNs+ObVW0tlIBTR2jdWK6F4Md15z
 L556tIW8QG2ljEjLs2C0nJP722JI3FZC/cnu5gWDZXFkA0uzl0eM5XQBjWvuMOEaslWM1lsK
 TiR3fKQi7NZz0vEUnwyCXmSgrYN2cVQ4EhHlQZQKU6Il9zJgu4M8CdQqTlnHB5Iyhhn0v5oP
 jQ5PUNCOqjTrSxjg9JOXj7wFlgZVgGZ4EH413AAiHbdExuzTmXIIWAwZbSN8UQe/z4OdzRX5
 ujFmmPsUDKsd8DtxCoiH0VirqW7H9B28wTDnuGhHtiEQMZmMWa03Pf2aDpasQbjDOMwmFbD9
 Ltj8+tHYKHmMTId/v8gAI6A2LVMEB2JKQSumx26EH/lyY0ERAyP5A==
IronPort-HdrOrdr: A9a23:d//KBq4aVwFNPJZZ1APXwSyBI+orL9Y04lQ7vn2ZFiY6TiXIra
 +TdaoguSMc6AxwZJkh8erwXpVoZUmsiKKdgLNhR4tKOTOGhILGFvAG0WKP+UyFJ8S6zJ8g6U
 4CSdkONDSTNykDsS+S2mDReLxMsbr3kpxAx92utEuFJTsaFZ2IhD0JczpzfHcGIzWvUvECZe
 WhD4d81nGdUEVSSv7+KmgOXuDFqdGOvJX6YSQeDxpizAWVlzun5JPzDhDdh34lIn5y6IZn1V
 KAvx3y562lvf3+4hjA11XL55ATvNf60NNMCOGFl8BQADTxjQSDYphnRtS5zXoIidDqzGxvvM
 jHoh8mMcg2w3TNflutqR+o4AXk2CZG0Q6V9XaoxV/Y5eDpTjMzDMRMwahDdAHC1kYmtNZglI
 pWwmOwrfNsfF39tRW4w+KNewBhl0Kyr3Znu/UUlWZjXYwXb6IUhZAD/XlSDIwLEEvBmc8a+d
 FVfYHhDcttABCnhyizhBgs/DXsZAV+Iv6+eDlChiTPuAIm2UyQzCMjtbsidzk7hdYAoqJ/lp
 f525JT5cVzp/8tHNJA7dg6MLmK40z2MFvx2TGpUBza/J9uAQO5l3ew2sRz2N2X
X-IronPort-AV: E=Sophos;i="5.88,282,1635220800"; 
   d="scan'208";a="61825313"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gRj/jj6u0RW1fKPxa0hTfygYTnkSQyh+vuMO7IZcxehGPOlIfA3PCgh0t+o8bviPW+P/ZVhjcH1zcWiQFljmaOBI2TMsQNSPlBJymuP6GO8OFd8QKCqSZ9/HEqxoPftfJefTOssqBCUabJJXeFXzvUxVMczR2s+l1hTUyjVx9ye0aq16HWG+kBXWwqXiKyqZfGnQH0v9HdwabT5LOXkh3FrHNSvV5hJRCBWdfeEQxjm+ck4y4TDpWPsx2ybNjH+izw0gRmebx6JKbp4039v2+/nswpgsKkjVF555CHxhe+redMi5Ezn6SZ1ZGtdiJSNB3kpNUIJmsYOo1KapHCtUIA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eDYg8WEqjw17gvw6eD819gI8IPywABDXoVDPovaRbPo=;
 b=GAPJt3y378kww2nn0vT9uE1eZe+ONP22bjblUxNtJVuZdSg+XYJVgI7AAEXQ4gMq4Q93I5y9LyFh3V3rfVC6f0yLKPxcyMoZn2DASv2iANjYbIloVMf7pmvA9dOqTTIXNFo0Jwoq6hdv/eQjQo2kugR52Lib+bMWmPp7R78Z9ZUwE8B5gNTRnE3yV5yUX1YeC+Diwrr4FdPDNK9dFKyZsoPlIwVK4APEevvK/SS4XGaysv/wM9l+APvJsOBWlIhUXyElUiHcxZbxE4lWsN7XwWubPJGzpSCgM8jFV4wqGbeMOcYv9bBTaHIWs0dovWakmsjI9JUcHcSHv5N/riVjZQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eDYg8WEqjw17gvw6eD819gI8IPywABDXoVDPovaRbPo=;
 b=l/PTFi/BmCvpJuvX5bMak83LddJeRh0FXFXx009UqOSYdcKKZNCco01oR9bJsuRPJEFznCRbxuy9lrx2kR63+wK6V8nSS0q9/N5aVYJWNRalXYXUJfb0ziiqH3mvumLeruIAVPT883KDu9M5UV2gdXcZC65OIU6DoBf7NEHLwsM=
Date: Wed, 12 Jan 2022 13:12:12 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Oleksandr Andrushchenko <andr2000@gmail.com>
CC: <xen-devel@lists.xenproject.org>, <julien@xen.org>,
	<sstabellini@kernel.org>, <oleksandr_tyshchenko@epam.com>,
	<volodymyr_babchuk@epam.com>, <Artem_Mygaiev@epam.com>, <jbeulich@suse.com>,
	<andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>, <paul@xen.org>,
	<bertrand.marquis@arm.com>, <rahul.singh@arm.com>, Oleksandr Andrushchenko
	<oleksandr_andrushchenko@epam.com>
Subject: Re: [PATCH v5 05/14] vpci: add hooks for PCI device assign/de-assign
Message-ID: <Yd7FnIQAw4J03/MG@Air-de-Roger>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-6-andr2000@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20211125110251.2877218-6-andr2000@gmail.com>
X-ClientProxiedBy: FR0P281CA0046.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::23) To SA0PR03MB5610.namprd03.prod.outlook.com
 (2603:10b6:806:b2::9)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 029fc724-cef4-431c-8cd5-08d9d5c4c5f1
X-MS-TrafficTypeDiagnostic: SN6PR03MB3920:EE_
X-Microsoft-Antispam-PRVS: <SN6PR03MB392007FDBE2776DB4AF6A7278F529@SN6PR03MB3920.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: g3bdTC7/yQiTy7xEq/D9dNhHX+1GUlsMZqdexH2o8evU7U4cg4vsI4T+SSf0XfX4Fcyy4pqGbaK7bdaLbkG20H7+U5oq/o/wqUrishRWG03KMtWyhere1vgy/EnJCquVyQJdCBx13cVeiQAvnRrEu3mk1z8wAf+GqCsxVCjOMg/ajy7K2vPhXo5A1iU2dIQR/iU1tgui4xu7FIQxQmj1yLfUS3nRINaayb1/yy0kpOLy4cuhHxgTKIx4DizhsSx2wF1PeNuQnTQGNQ6Ul8ylxFRSOnWD53w/ENpra3xgTNgo6F8BdxD/eH6YjI/QL9kX/2GcGclCWaITYBlJPLlBPcuLHL+/kFpPa+0up8nQLZgSmKq7xqMrpdRsX5y18kXNLHEBCWyQiTWaV1etsoJ+wWaNdPUzZe2o/OnElK6uVv4gyWswEHp7GsQzC8oi3yK/3oM+Pr2ff4ocezhV5GMM3K28otg3a5qzQYQRzX88qKzcOMuIhUTNpQPc97bq21bbZv0CLn0B0KS2pHu9VDhMZvIq8nyYorCX13Uw3pUj6HJdyfC65uKRG1emWTM9aaayr/E12te2sI4+n7Z9RtEnO/3mnu/YqaE0++SUimatZv+SaLC5mHYSQEYP6FeCePc/v9m1uUb31fgeQ5hOEHMt+Q==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA0PR03MB5610.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(8676002)(5660300002)(6512007)(9686003)(83380400001)(6916009)(508600001)(6506007)(38100700002)(2906002)(86362001)(85182001)(33716001)(8936002)(6486002)(66946007)(66476007)(66556008)(6666004)(316002)(186003)(4326008)(82960400001)(7416002)(26005);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VUVZMUN4RHRYVXVwTFVTVW12cHk3VGJLVHdTRkZwaWxZeHI2Z05iQXdzZ0RR?=
 =?utf-8?B?c29FeThZU2ROVXBkZ1FyZXV2TmxwZ1FoRk1iaXVqRVRWaHN6WTlVRlhsaVpB?=
 =?utf-8?B?WWtldTkrUDVpR05TMHZsWmlxTk9xeWFBNmxNM08yTUUwaEdyK3k3dzhkbHVK?=
 =?utf-8?B?WUtWbW5LejhKSmFKNExnLzlmNGVTZ3Bac0d0YnJwUmhIN2o1L3ljSVFiMmQx?=
 =?utf-8?B?QTNYMDRvRHhzcEpyUHJaaXJ2UDFjVEsxaE9KekNDWnRSZmkvV0hzMFFVRjFJ?=
 =?utf-8?B?NWFhTWlGeWJPNFdCSXRSdHp6VkMyY1BFWWNMVXJBNXF3T2s2bzdwSlVHTm1N?=
 =?utf-8?B?OHM5OERXbTJNR3psM24zc3dlSjJrYmhuR0NHRDJLdTdKQlhFZXFXbEhGNnBC?=
 =?utf-8?B?eEZtUkM3NUxMODAzYlJXT2hXN0d1djBlZDI3OTBTaWd3ekVZMHFBcUZBNERi?=
 =?utf-8?B?ckI0dEtnNEc0RmNWM2I4enQ0Z09BWGdVZzZMQ1lMSXhadVpHVUp6bU5yMEhZ?=
 =?utf-8?B?SHFENVJzNmdmeDRGbDJlUnpheG05dnFUZmp0ZUFSV1JOSG5VRUZMQVgwakNi?=
 =?utf-8?B?RHVYTlUxQW9MMnEzS3Noa3Z4VWpPcXJGN1BXQTU3V0FYM0hJeGh1blJkTU40?=
 =?utf-8?B?bWZ6aXFZTFBNVzRaQXV6TEVSVVd5V205dlc5bmdoUGkyc25mL2w0a3prQ2ha?=
 =?utf-8?B?MUYwdWFYc2xHc1A2Skc4Vis0aFMrVE1zS3ljZG14Q2h5MTlRYnFQWXpXV095?=
 =?utf-8?B?bUhhWGtoYTdNL2FOSmo5UjJJaVljbEs4U2h3M1h3NzZyNXN6ZGk5OVdZRDda?=
 =?utf-8?B?WmlMb0NWLzR6eTZoT3Fxb0lteTgwU29mOU01emIzYmdEeEdLbloxYWxKSDlV?=
 =?utf-8?B?ZXV5Umx5NjRzRXVKOTl0Nkx5SWcvLzZsL0gxVXRqeXJuTGwvd1d2ekNpa01H?=
 =?utf-8?B?L3BwTEJ6QW1kVjQvM21nV3FFaFlTMHNKWC9rL1lhYmRWNklMMmxKOHI0THZv?=
 =?utf-8?B?S2Q0RldLKy95Y0RxdGo4WFFLSW1YbzhjWkxYREt3YXdNZ2RPdlBMS3RhRXlm?=
 =?utf-8?B?b203MnR2RnUrT0lRczROeE5CcGZ5eHE1MDhCL1RqN3krbU10QXJrdzZUbkxU?=
 =?utf-8?B?eS9scFFob2g5VGdxZU1rVXlhYjV3VjBtekh5RG8rT0NQRE02TG5abFR1OXBx?=
 =?utf-8?B?Q01OcmJIOHZDK3pjZ3JzOUo1OUNyS0JlZ3pZMVNmdFc3aGJvelcvbWRHY1o4?=
 =?utf-8?B?TzBvRVprak9wZDdvcHpDay9CT0RvR1NLUWxMMXpScnRtT1BzVmZxMWRUTlVq?=
 =?utf-8?B?YitPNmx2Q2JWaWFHc09VeFVGVUZjeUF5UjdvTnpwWWRDR3RPNCtXbHhjbEtX?=
 =?utf-8?B?K2hHR3loS2tQRTFYRFFrQ3haWC9mRDNDQWRCeWhhMTBEaVpwejM4NFRSdFJI?=
 =?utf-8?B?cHc2c3FRdXVZMEhwYk4rVDFLMnYxbFg3KzV5SkZiL2taNHo4RTFPR2UwNVZv?=
 =?utf-8?B?dVArV29HYXdUbHBINGdyak5zaDg5NEx0aUMwYzlsUVROaUpHTnUyMnpiVGZD?=
 =?utf-8?B?dUttaldRbEhlYmpiRXdlSjloc3ZRcldMVG1FaHRYd0FkaUEwOWcrUWhZajF0?=
 =?utf-8?B?MS9VWHVuNml0MVdDcWdVeW9ucTZTV2V6OVEwNmhBa01oQUpud294TFBwSVYx?=
 =?utf-8?B?VzhRMjJVMTlyeUR3S3VXdkhYZXdrZkpWMDFNNjdQWjhqQ2cxU2lXZlYzMWRG?=
 =?utf-8?B?My9MMmlmSHE2M3lPcDJ1OVBhcExjV3d2ZGRna2xTMStIWDZkSXBYNDRxeEtj?=
 =?utf-8?B?NDVSY0dXOUtNS2hyMVVBNFlsajNoeTdsVzhYYXpOd0c5MWJXbG1YcmJPblda?=
 =?utf-8?B?VTJySW0yMEdnb3hKQi9oSVRSN21NcjlTVmtVUTJDN0xyUlFQUjROanB5MVQw?=
 =?utf-8?B?eE9YV0UrMzN1NFN5NVZKUzd4NEdraXlYMXV1amRyQ1NqbThxM1Z1cDZEd2R1?=
 =?utf-8?B?a1paQjZPd2dobTUycVVpVU9ORmI1VEZndmMyaTBRS1J5cVY1RGU1Mnl6b0dq?=
 =?utf-8?B?Nk9DQ0UxbEs2WGpwZlRaUTEySWYwYXpXZ2U3b2IvUytjT1Zqa1dDb0FuNWtE?=
 =?utf-8?B?MFNHdVp6bFVnRjhHZ1NOSUFUY09TYmFyWjBQRVhqSC9ucStuTFBnNFYzM0Nq?=
 =?utf-8?Q?qR85Op2/HzC2uTjYDWfdiGU=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 029fc724-cef4-431c-8cd5-08d9d5c4c5f1
X-MS-Exchange-CrossTenant-AuthSource: SA0PR03MB5610.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2022 12:12:16.3181
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /vvEhUA0XVO5r30bMhAqWMhIKwkSlo13cyadx6NUguFadeqS85sxjlZP6I6oSjyjGCrz+ILYWlI1fKH9mSbqKA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR03MB3920
X-OriginatorOrg: citrix.com

On Thu, Nov 25, 2021 at 01:02:42PM +0200, Oleksandr Andrushchenko wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> When a PCI device gets assigned/de-assigned some work on vPCI side needs
> to be done for that device. Introduce a pair of hooks so vPCI can handle
> that.
> 
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> ---
> Since v4:
>  - de-assign vPCI from the previous domain on device assignment
>  - do not remove handlers in vpci_assign_device as those must not
>    exist at that point
> Since v3:
>  - remove toolstack roll-back description from the commit message
>    as error are to be handled with proper cleanup in Xen itself
>  - remove __must_check
>  - remove redundant rc check while assigning devices
>  - fix redundant CONFIG_HAS_VPCI check for CONFIG_HAS_VPCI_GUEST_SUPPORT
>  - use REGISTER_VPCI_INIT machinery to run required steps on device
>    init/assign: add run_vpci_init helper
> Since v2:
> - define CONFIG_HAS_VPCI_GUEST_SUPPORT so dead code is not compiled
>   for x86
> Since v1:
>  - constify struct pci_dev where possible
>  - do not open code is_system_domain()
>  - extended the commit message
> ---
>  xen/drivers/Kconfig           |  4 +++
>  xen/drivers/passthrough/pci.c | 10 ++++++
>  xen/drivers/vpci/vpci.c       | 61 +++++++++++++++++++++++++++++------
>  xen/include/xen/vpci.h        | 16 +++++++++
>  4 files changed, 82 insertions(+), 9 deletions(-)
> 
> diff --git a/xen/drivers/Kconfig b/xen/drivers/Kconfig
> index db94393f47a6..780490cf8e39 100644
> --- a/xen/drivers/Kconfig
> +++ b/xen/drivers/Kconfig
> @@ -15,4 +15,8 @@ source "drivers/video/Kconfig"
>  config HAS_VPCI
>  	bool
>  
> +config HAS_VPCI_GUEST_SUPPORT
> +	bool
> +	depends on HAS_VPCI
> +
>  endmenu
> diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
> index 286808b25e65..d9ef91571adf 100644
> --- a/xen/drivers/passthrough/pci.c
> +++ b/xen/drivers/passthrough/pci.c
> @@ -874,6 +874,10 @@ static int deassign_device(struct domain *d, uint16_t seg, uint8_t bus,
>      if ( ret )
>          goto out;
>  
> +    ret = vpci_deassign_device(d, pdev);
> +    if ( ret )
> +        goto out;

Following my comment below, this won't be allowed to fail.

> +
>      if ( pdev->domain == hardware_domain  )
>          pdev->quarantine = false;
>  
> @@ -1429,6 +1433,10 @@ 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));
>  
> +    rc = vpci_deassign_device(pdev->domain, pdev);
> +    if ( rc )
> +        goto done;
> +
>      rc = pdev_msix_assign(d, pdev);
>      if ( rc )
>          goto done;
> @@ -1446,6 +1454,8 @@ static int assign_device(struct domain *d, u16 seg, u8 bus, u8 devfn, u32 flag)
>          rc = hd->platform_ops->assign_device(d, devfn, pci_to_dev(pdev), flag);
>      }
>  
> +    rc = vpci_assign_device(d, pdev);
> +
>   done:
>      if ( rc )
>          printk(XENLOG_G_WARNING "%pd: assign (%pp) failed (%d)\n",
> diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
> index 37103e207635..a9e9e8ec438c 100644
> --- a/xen/drivers/vpci/vpci.c
> +++ b/xen/drivers/vpci/vpci.c
> @@ -74,12 +74,26 @@ void vpci_remove_device(struct pci_dev *pdev)
>      spin_unlock(&pdev->vpci_lock);
>  }
>  
> -int vpci_add_handlers(struct pci_dev *pdev)
> +static int run_vpci_init(struct pci_dev *pdev)

Just using add_handlers as function name would be clearer IMO.

>  {
> -    struct vpci *vpci;
>      unsigned int i;
>      int rc = 0;
>  
> +    for ( i = 0; i < NUM_VPCI_INIT; i++ )
> +    {
> +        rc = __start_vpci_array[i](pdev);
> +        if ( rc )
> +            break;
> +    }
> +
> +    return rc;
> +}
> +
> +int vpci_add_handlers(struct pci_dev *pdev)
> +{
> +    struct vpci *vpci;
> +    int rc;
> +
>      if ( !has_vpci(pdev->domain) )
>          return 0;
>  
> @@ -94,19 +108,48 @@ int vpci_add_handlers(struct pci_dev *pdev)
>      pdev->vpci = vpci;
>      INIT_LIST_HEAD(&pdev->vpci->handlers);
>  
> -    for ( i = 0; i < NUM_VPCI_INIT; i++ )
> -    {
> -        rc = __start_vpci_array[i](pdev);
> -        if ( rc )
> -            break;
> -    }
> -
> +    rc = run_vpci_init(pdev);
>      if ( rc )
>          vpci_remove_device_locked(pdev);
>      spin_unlock(&pdev->vpci_lock);
>  
>      return rc;
>  }
> +
> +#ifdef CONFIG_HAS_VPCI_GUEST_SUPPORT
> +/* Notify vPCI that device is assigned to guest. */
> +int vpci_assign_device(struct domain *d, struct pci_dev *pdev)
> +{
> +    int rc;
> +
> +    /* It only makes sense to assign for hwdom or guest domain. */
> +    if ( is_system_domain(d) || !has_vpci(d) )

Do you really need the is_system_domain check? System domains
shouldn't have the VPCI flag set anyway, so should fail the has_vpci
test.

> +        return 0;
> +
> +    spin_lock(&pdev->vpci_lock);
> +    rc = run_vpci_init(pdev);
> +    spin_unlock(&pdev->vpci_lock);
> +    if ( rc )
> +        vpci_deassign_device(d, pdev);
> +
> +    return rc;
> +}
> +
> +/* Notify vPCI that device is de-assigned from guest. */
> +int vpci_deassign_device(struct domain *d, struct pci_dev *pdev)

There's no need to return any value from this function AFAICT. It
should have void return type.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 12:35:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 12:35:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256618.440534 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7cqi-0005Q9-9F; Wed, 12 Jan 2022 12:35:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256618.440534; Wed, 12 Jan 2022 12:35:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7cqi-0005Q2-6B; Wed, 12 Jan 2022 12:35:32 +0000
Received: by outflank-mailman (input) for mailman id 256618;
 Wed, 12 Jan 2022 12:35:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dBVB=R4=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n7cqg-0005Pw-J8
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 12:35:30 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1e04d8ac-73a4-11ec-9c70-5536b2d1e4e1;
 Wed, 12 Jan 2022 13:35:27 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1e04d8ac-73a4-11ec-9c70-5536b2d1e4e1
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1641990927;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=VDMJ1zIcyHUHen2rOo8eLLLmdZbh7PPh/o9r3Pi6CNw=;
  b=aF8HnjUInPhzLRKIaiZl8msCB3jjlc9/4UxdHRiZQwU6MPyqrigIc3ZF
   Qt7EkhTYO8uiZ87HY9hwyu3T1RQ27UB7D1nL/k1KdYBFzFT1s/uPV6LUS
   GI+3vTTIk6GcMlut3P33VapS2lk5pXFusNsnG++CDzeRX2OUj1t1Tdsg3
   M=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: /1JR4a2TC0pDSYZaSVn2+Mgmpfs3yG0go8p1H4QU6LBKhnNDIHOFuYwp6+l6Q2NXoxa7PvkvHZ
 9ydAQXyBTTJUQ94ZhYVqJp1aBaoGl39I+DpQnXfGnsb06EiEde8OPDX6J/diZ3KPYvuhjz9JlN
 /OReVj/2/OQktGdGgaDJxLF8Gw3GuheJkZxmryHwBif7hck+XVgAScos30CRy7qz+z/GjcBz4H
 AooF4cL+wVph1NG8nKO4CgUdO+ZgYkzO4p0KCIx+HEnWdN49eOt0gkEawz44StqyrYoM1B+5j2
 m7Hty47iQeS5sK1QFpFbv5mL
X-SBRS: 5.2
X-MesageID: 61308182
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:NfLYd6gGaWvtJvn2MCzvlDp4X161qxYKZh0ujC45NGQN5FlHY01je
 htvX22COvvcMzaneI1wboXk80sDv5bXmtM1TVc9pCkxFn8b9cadCdqndUqhZCn6wu8v7a5EA
 2fyTvGacajYm1eF/k/F3oAMKRCQ7InQLlbGILes1htZGEk0GE/NtTo5w7Rj2tcx24Dja++wk
 YiaT/P3aQfNNwFcagr424rbwP+4lK2v0N+wlgVWicFj5DcypVFMZH4sDfjZw0/DaptVBoaHq
 9Prl9lVyI97EyAFUbtJmp6jGqEDryW70QKm0hK6UID66vROS7BbPg/W+5PwZG8O4whlkeydx
 /0dv6CdTyYMIpaVwvk3TEcbCxBkA4RZreqvzXiX6aR/zmXDenrohf5vEFs3LcsT/eMf7WNmr
 KJCbmpXN1ba2rzwkOnTpupE36zPKOHxO4wSoDd4xCzxBvc6W5HTBa7N4Le02R9u35sWTa+OP
 aL1bxJIMz7ZQF59E24WK4wPouKnvln1eSZh/Qf9Sa0fvDGIkV0ZPKLWGMLcZ9iiVchT2EGCq
 Qru/W70HxUbP9y30iee/zSngeqntQrhRI8XI5ip+fdrjUO7y3QaDVsdUl7Tif69h02lUtRTM
 Xsd/CY0sLMy/0ymSNr6dxCgqXvCtRkZM/JKGu0n7EeWy6zb4y6QHG1CRTlEAPQsudUqXzUs2
 hmMlsnwGD10mLSPTDSW8bL8hTGvPSkYK0cSaClCShEKi/HzrYd2gh/RQ9JLFK+uksazCTz22
 yqNriU1m/MUl8Fj/6y98Uqd22r0jpfMRw8xoA7QWwqN8AR9Y4K0Yp2y3lLS5/1AMYWxQ0GIu
 T4PnM32xOcKAJKWnSqBWtIRDaqp7PaINj7bqVN3Fpxn/DOok1a4ZpxZ6jx6IEZvM+4HdCXvb
 UuVvhlejKK/J1PzM/UxOdjoTZ13k+6wTrwJS8w4cPIeaKRcci6i4Bo3P1O6wD6uiHk2r4ggb
 MLzndmXMV4WDqFuzTyTTugb0KM2yi1W+V4/VawX3Dz8j+PAOSf9paMtdQLXM7tntP/sTBD9r
 o4HX/Zm3SmzRwEXjsP/1YcIZW4HInEgbXwdg5wGL7XTSuaK9YxINhMw/V/DU9A090i2vr2Rl
 p1YZqO+4ACu7ZEgAV/bAk2PkJu1Af5CQYgHFSItJ020/HMofJyi6qwSH7NuI+V+pbY9k64sE
 KJUEyllPhipYm6Wk9j6RcOsxLGOiTzx3V7eV8ZbSGVXk2Fcq/zhpYa/I1qHGNgmBSurr8ouy
 4BMJSuAKafvsz9KVZ6MANr2lgvZlSFExIpaAhWUSvEOJhSE2NU6ekTZ065sS+lReEqr+9dv/
 1vMaT8Cu/L3qpM4mPGQw/jsQ3GBSbUuRyK33gDzsN6LCMUt1jHynt8bDrfZJGC1uaGd0PzKW
 Ni5BsrUaZUvtF1Lr5B9A/Bsy6c/7MHovLhU0kJvG3CjUrhhIuoIzqCu0ZYdu6tT6KVevAfqC
 EuD9sMDYeeCOd//EU5XLw0gN7zR2fYRkzjUzPI0PESlu3MnoOvZCR1fb0uWlShQDLppK4d5k
 +0vj9Ebtl6kgR0wP9fY0i0NrzaQLmYNWrkMv40BBNO5kRIiz1xPOMSOCiL/7JyVRc9LN00mf
 m2diKbY3uwOzUveaXsjU3PK2LMF15gJvRlLyn4EJkiIxYWZ1qNmgkUJ/G1uHApPzxhB3+ZiA
 URRNhV4dfeU4jNlpMlfRGTwSQtPMwKUpx7qwFwTmWyHE0TxDj7RLHcwMPqm9VwC9z4OZSBS+
 byVxTq3UTvue82tjCI+VVQ89q7mRN11sAbDhNqmD4KOGJxjOWjphaqnZGwprRr7AJxu2B2b9
 LcypOsgO7fmMSMworEgD9jI3LsdfxmIOWheTKwz56gOB2zdJGm/1DXmx5pdoS+RyygmKXOFN
 vE=
IronPort-HdrOrdr: A9a23:61Ev0a5p3TRvv1jaTgPXwSyBI+orL9Y04lQ7vn2ZFiY6TiXIra
 +TdaoguSMc6AxwZJkh8erwXpVoZUmsiKKdgLNhR4tKOTOGhILGFvAG0WKP+UyFJ8S6zJ8g6U
 4CSdkONDSTNykDsS+S2mDReLxMsbr3kpxAx92utEuFJTsaFZ2IhD0JczpzfHcGIzWvUvECZe
 WhD4d81nGdUEVSSv7+KmgOXuDFqdGOvJX6YSQeDxpizAWVlzun5JPzDhDdh34lIn5y6IZn1V
 KAvx3y562lvf3+4hjA11XL55ATvNf60NNMCOGFl8BQADTxjQSDYphnRtS5zXoIidDqzGxvvM
 jHoh8mMcg2w3TNflutqR+o4AXk2CZG0Q6V9XaoxV/Y5eDpTjMzDMRMwahDdAHC1kYmtNZglI
 pWwmOwrfNsfF39tRW4w+KNewBhl0Kyr3Znu/UUlWZjXYwXb6IUhZAD/XlSDIwLEEvBmc8a+d
 FVfYHhDcttABCnhyizhBgs/DXsZAV+Iv6+eDlChiTPuAIm2UyQzCMjtbsidzk7hdYAoqJ/lp
 f525JT5cVzp/8tHNJA7dg6MLmK40z2MFvx2TGpUBza/J9uAQO5l3ew2sRz2N2X
X-IronPort-AV: E=Sophos;i="5.88,282,1635220800"; 
   d="scan'208";a="61308182"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UvzNR6MeB/eRU/ETRTtKEVvnbSTF3Ci56kunfiS2JweTub8NuqLYPeVTUaAOvwgqGAADFei8dCItqK1NX1PQKlMNuBRPf81RM/grQkVma2eHRbwgAUCYl7Fc6QWVlYd4TIwp7mkZv6DC3i+eG3499kXUD8hflLJo+ZKROssabYnptZj1tt3YfwN5AI3GiCRhMPIVTF8C1zebJ9PPRcF6fFCN0gIq2y+e62zNULudozv7cZI6IUZPYZsEbTeggP7VOVORbOJhshqvMaEx1sYb6IbuXCn9WatI250bfjG3cCmz5TXaFwLP+C1sTtZ08tOh1oNLx6dD2lnwTZNj/zFIJg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/l0qq5D6M3CGfGZF/3xXMitwhOP01cIvv/ii/v/70fs=;
 b=CEDC4FF81BW6W9oYQ6/VWAISVMpS0wQKyx4dosVn85Nf3x8nFjWmXhIMQb+GDBSSBQhvTNoSLfnOSnkrmEgVlNXxvGShPRSDWbfWXzXzyakuX3nradjLBVLCvokqwmr7OE1Pszx5WVMbXXTqX6nvADbQH+lBdJRImpy6+33Ippqc+8l/jEqQuHjis9UzVAnZC1hl5IbgZp4Buv/E7wAhhA2HyiZUekb160YO8kZUoAkx8B0303NY9bJA7d/yJPfiobcTNscDLfgEE6Dijb8bB3VMWFuXXPReTcJ/XItbQxhoVHlyqZ4bhNfJ61q6ShNMDb9Uobx2z2HMEuDwTyaQLQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/l0qq5D6M3CGfGZF/3xXMitwhOP01cIvv/ii/v/70fs=;
 b=C3ciZn9YU8U23YsIzVFpG9KgJMu6ohi+qwgdkBJqhl1mQXZKu7PZQOtBxc0qLs+CD6JsUy4zhSCCA2yP67yzZhL3AGcWiutSdaSFoIRJS2UvZqBzePYdyI264B8FU6OClr/I+zI7ZabWoTIqi5U3fA/GPtGoCnmlyREWBmo9ZjM=
Date: Wed, 12 Jan 2022 13:35:07 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Oleksandr Andrushchenko <andr2000@gmail.com>
CC: <xen-devel@lists.xenproject.org>, <julien@xen.org>,
	<sstabellini@kernel.org>, <oleksandr_tyshchenko@epam.com>,
	<volodymyr_babchuk@epam.com>, <Artem_Mygaiev@epam.com>, <jbeulich@suse.com>,
	<andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>, <paul@xen.org>,
	<bertrand.marquis@arm.com>, <rahul.singh@arm.com>, Oleksandr Andrushchenko
	<oleksandr_andrushchenko@epam.com>
Subject: Re: [PATCH v5 06/14] vpci/header: implement guest BAR register
 handlers
Message-ID: <Yd7K+9fvnBz+WTXA@Air-de-Roger>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-7-andr2000@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20211125110251.2877218-7-andr2000@gmail.com>
X-ClientProxiedBy: MRXP264CA0035.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:14::23) To SA0PR03MB5610.namprd03.prod.outlook.com
 (2603:10b6:806:b2::9)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9c04acef-583f-4191-573e-08d9d5c7fc03
X-MS-TrafficTypeDiagnostic: SN6PR03MB3759:EE_
X-Microsoft-Antispam-PRVS: <SN6PR03MB3759E3C13FB6626A5DAC0F868F529@SN6PR03MB3759.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: OWED1qCCbJxvckwf4nDramIYCc6euQyRvKAmYR2A+N5bjh1DOUclyaC+eUeFNJQ3rh4uI3/h/YRF6o4BSqhj+cf6BhYOhhslanKTlUvG8bXOlFSvgzdt3gEMWVmN9lfkccILTbGHykUVPeMHxOtLcjZ8r6DNIPf28SEvcT0s5gk9E6xWKZojCh/vwp2ZbILWLaLZ5FUJYeQ3q6wB7wJiUqsXOtsiamj1+VI6Wh9Xc9StvLZNJ60B7wLbq6gYeFy/yiKxt2MnGzH6Iz9TPJu0vp4PCfSmKhzpBfGxQimNdkTnNdktcrYSE9GBHChzpHJkIdHXJ4g7un8ClVETppnBPL5rm41/WJ6qR0HTHQ8Lp9p9oVzKjFQJsgXGh/HlmRfEyrh0kuAFMtuyifC02vkg/LYhnpM5QRN5EeJ9IwF0kErTXl5uy96vOGN+XHcX4o9j96AEdyIt3WPdZxpyjLbOsF7nlWAnmSPMypq6hJXBxglA6+yIvGcqq4iKSAUYTScFIAFt7VnaySUyvykrUHn9Zx66JWQ6jdumM+LCwK4OsayrqnARvhMPDtPohJ+XncLgCCq0Edh6AEiz0eeysPMJP71lDdEyPFKITxHT61ZxJ0TnhS1pW59PHgQLQn7UZqEOrKfdnFMhW69zbDjCZyn9tw==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA0PR03MB5610.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(66476007)(8936002)(33716001)(2906002)(26005)(7416002)(6666004)(6916009)(66556008)(86362001)(508600001)(8676002)(9686003)(6512007)(6486002)(83380400001)(6506007)(66946007)(316002)(4326008)(85182001)(5660300002)(38100700002)(186003)(82960400001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MldiM3lPRjlOYTh6R0F0VW80T0Z2RmRHUE1TUUJOWlFGd2UyRGp2QnR1Y1g2?=
 =?utf-8?B?NWtKOGV4eVRtQmUxQUM4QUdKVHN3UnZaOUV5VU1JUHpicVNWYzVGenN3b3Mx?=
 =?utf-8?B?SlVPeWhGTDE0ZFFpQ3dlSlFxa0o0ZUZqbTlvZERNZjQ5V1crSURqZzk0djBS?=
 =?utf-8?B?ZTl6bmlEdzhQOU1VT0p4V2g5ZlJ2MmJMZ0hLeHN1a3FCcks0SElKS0Y3T3hB?=
 =?utf-8?B?RFZCdCtMOUM1SDBJRDFvRWRjL1YvZ0FWOTNsc1I4ZXFNZGt3VzE5TnZ4WldL?=
 =?utf-8?B?U0E3V2xxbFBENWYxK2QySVJPRm91a3JOL0RKWkNlVlorTjZzQjAyN3JhVTE4?=
 =?utf-8?B?dFZsTDdBcjFLZHpDb2ZpK3Q4M21Uak5PeGRMYllyMWRpUEsxK2k3YXV3NlBZ?=
 =?utf-8?B?NTdLTm5lZ3pYZ1EyOFprUkdzMGNpUjFXa0pRckhHZE4xQWdlRks3Q3dxNng4?=
 =?utf-8?B?RnFCdzdMTXB1aEN1SFJXK08vTXdDMzQ2TGdTQ0tjN1M2S1BuSm0ra0RJUmY5?=
 =?utf-8?B?bFZmK21sejE0YzV2NXJTSXhCdU9tTUt1VVFUSllYZ21UcE50ek80S0Z1NWdt?=
 =?utf-8?B?azdZNGZraGVYSTZJOVh6YVhGcWtWRlV2UDhxQXRjekZRd0E5U3IyZzhlLzhB?=
 =?utf-8?B?NmpRUW9nSzJBVjJMTWZNNHhsYWUyMEt0Y1IyUERrWklFOVB5VDg1RDFIcUtt?=
 =?utf-8?B?MUF2T2lWME9BN2hIamN6VWZHdllYUTZEaWVmb1Y1R3R2Ujgxb3lUNE9LR3Zy?=
 =?utf-8?B?OEliQXJFL2ZyQ3cyd3BSZUtzZGNOU1RjSWJqQVNRY0JNY3FWSCt4Tnc4NjFm?=
 =?utf-8?B?eFRpRmJ1WlVRY0VscHl3TWU1WUtwYld6UzBqRVV1N2Q4c0dqbGFQZHc5Z05r?=
 =?utf-8?B?Vy91ZWovVHZ0TlAyeFBLRjV3OC9mNjdCU04vYmxBWjBZNkRDa3RkdFRmWXJk?=
 =?utf-8?B?REV6aU9OMXoweG1ZZXg2RnljSjRTV3VxRjRkTFlsZ0MyVU1qaWx4T3FEN0JK?=
 =?utf-8?B?dlJUQXRoczl2OHpwOU5ldU1vQ09VcjJpbGhrajBhN05KOEJ2OVpTV2lvSjUx?=
 =?utf-8?B?WUR4Q2Z5TUduaFpFRjBVQjZYcXNkbFBmNEtMTzdGanV5ekJkZ3ZZQjBzTHBy?=
 =?utf-8?B?b015WFhkeE1mL3RDY2FaUE9tK3lSQ2FiQUNRUHVPa3o5dy85Q2ptd2poMnlm?=
 =?utf-8?B?THY4R3BqL0FHeGlGcFZkK09tU216NnFwcndBKzIrM0k5WWVIVG9sZkhaaFFy?=
 =?utf-8?B?THF3ZDhwVXY4MjNtdFNiWHk5MTVwVTVPbDlnTkhwRm9kZ0V4NVRUZnZJKzAy?=
 =?utf-8?B?RS9MbSt0MmxPdENaTVRSNDd3WkpKNnBSUG5Hc3ZMd3NoMEtLaXJkbi95WFJF?=
 =?utf-8?B?RXRJRG5yTHlTcTIrcFZ4V1BxMG85eW40U3pza2ZUeTJNWnVOUm1LbHFuS3JD?=
 =?utf-8?B?eGxnZVR5bVFtRTIrZ1JlbnN2OWRSWEtiQk45bHhta2JXWGVkZm52TjFaa1B0?=
 =?utf-8?B?UWF5NTl6SG9lYmVKWWtMRWYvZmhvU1RxNUlrNjZLV2hXV0U2VzRabk5NQml6?=
 =?utf-8?B?dnVqb1ZYbHEyN2czaVc5SzhSRmoyVENrTmFvRzlSeDNUT0VtYVRuV1k5ZEdI?=
 =?utf-8?B?MDdMUVF2SjFWdmh0SHhIWWlSUUlicFlUWGtZQ3d2T0tqMXlraUhLeEwwTTQy?=
 =?utf-8?B?RFlFSDJERktHWHpXeWQvaGJjQTY0OE9XL3RIeEx6dFdXUytuZG9JSHJFQlJ4?=
 =?utf-8?B?MWpnbE4wSnU1T0dNNG92Y2RZajNBT01nKzdyQTg5cXNqWlg4L0lPbW9GamFT?=
 =?utf-8?B?MDhBUmUrbVpWd3FJd3NHWlFFQ0dIM2xOdFJ3aHdVUWp4VWdzSkhlRnlrRU9l?=
 =?utf-8?B?Z0xmWUZBMFhuUFNXMWpRQUttbTJUR3phQWJlYUZ1a2hPZnkxTmJFQWlMUmVh?=
 =?utf-8?B?RkV3ckZnK1NGSHhzZmJUMSt6TWNIS2kzLzI0OFJwRlhONTJWS01OWFhnTnFh?=
 =?utf-8?B?SkpGZlJnV1hDanpsaVdEWmRtRVlWVjc5TnU5cG9TNU1UazByU1g2eHFPSG5U?=
 =?utf-8?B?RENrazBsaWNaN1pNZnRKUVdQZTF4NG4rKzhTenBsU2l5aVJwTmFoT0RvckJZ?=
 =?utf-8?B?dkRUbUdLcmFrK0dGV1QyczVMZVJ3MkEyZFBxWVdEL0hUUGpJZ2pMU0I2ME9Q?=
 =?utf-8?Q?hOda1srcB7hHcqAuCOvbSl0=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 9c04acef-583f-4191-573e-08d9d5c7fc03
X-MS-Exchange-CrossTenant-AuthSource: SA0PR03MB5610.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2022 12:35:15.5108
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: I/Geb3AcR2kwqgWJBXTuOgvlEj8HMOba48tSNeuGwywnKjzF9vmcaVurMEGcVVosYaCcOq+aAK/dAG/4P6eHCg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR03MB3759
X-OriginatorOrg: citrix.com

On Thu, Nov 25, 2021 at 01:02:43PM +0200, Oleksandr Andrushchenko wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> Add relevant vpci register handlers when assigning PCI device to a domain
> and remove those when de-assigning. This allows having different
> handlers for different domains, e.g. hwdom and other guests.
> 
> Emulate guest BAR register values: this allows creating a guest view
> of the registers and emulates size and properties probe as it is done
> during PCI device enumeration by the guest.
> 
> ROM BAR is only handled for the hardware domain and for guest domains
> there is a stub: at the moment PCI expansion ROM handling is supported
> for x86 only and it might not be used by other architectures without
> emulating x86. Other use-cases may include using that expansion ROM before
> Xen boots, hence no emulation is needed in Xen itself. Or when a guest
> wants to use the ROM code which seems to be rare.
> 
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> ---
> Since v4:
> - updated commit message
> - s/guest_addr/guest_reg
> Since v3:
> - squashed two patches: dynamic add/remove handlers and guest BAR
>   handler implementation
> - fix guest BAR read of the high part of a 64bit BAR (Roger)
> - add error handling to vpci_assign_device
> - s/dom%pd/%pd
> - blank line before return
> Since v2:
> - remove unneeded ifdefs for CONFIG_HAS_VPCI_GUEST_SUPPORT as more code
>   has been eliminated from being built on x86
> Since v1:
>  - constify struct pci_dev where possible
>  - do not open code is_system_domain()
>  - simplify some code3. simplify
>  - use gdprintk + error code instead of gprintk
>  - gate vpci_bar_{add|remove}_handlers with CONFIG_HAS_VPCI_GUEST_SUPPORT,
>    so these do not get compiled for x86
>  - removed unneeded is_system_domain check
>  - re-work guest read/write to be much simpler and do more work on write
>    than read which is expected to be called more frequently
>  - removed one too obvious comment
> ---
>  xen/drivers/vpci/header.c | 72 +++++++++++++++++++++++++++++++++++----
>  xen/include/xen/vpci.h    |  3 ++
>  2 files changed, 69 insertions(+), 6 deletions(-)
> 
> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
> index ba333fb2f9b0..8880d34ebf8e 100644
> --- a/xen/drivers/vpci/header.c
> +++ b/xen/drivers/vpci/header.c
> @@ -433,6 +433,48 @@ static void bar_write(const struct pci_dev *pdev, unsigned int reg,
>      pci_conf_write32(pdev->sbdf, reg, val);
>  }
>  
> +static void guest_bar_write(const struct pci_dev *pdev, unsigned int reg,
> +                            uint32_t val, void *data)
> +{
> +    struct vpci_bar *bar = data;
> +    bool hi = false;
> +
> +    if ( bar->type == VPCI_BAR_MEM64_HI )
> +    {
> +        ASSERT(reg > PCI_BASE_ADDRESS_0);
> +        bar--;
> +        hi = true;
> +    }
> +    else
> +    {
> +        val &= PCI_BASE_ADDRESS_MEM_MASK;
> +        val |= bar->type == VPCI_BAR_MEM32 ? PCI_BASE_ADDRESS_MEM_TYPE_32
> +                                           : PCI_BASE_ADDRESS_MEM_TYPE_64;
> +        val |= bar->prefetchable ? PCI_BASE_ADDRESS_MEM_PREFETCH : 0;
> +    }
> +
> +    bar->guest_reg &= ~(0xffffffffull << (hi ? 32 : 0));
> +    bar->guest_reg |= (uint64_t)val << (hi ? 32 : 0);
> +
> +    bar->guest_reg &= ~(bar->size - 1) | ~PCI_BASE_ADDRESS_MEM_MASK;
> +}
> +
> +static uint32_t guest_bar_read(const struct pci_dev *pdev, unsigned int reg,
> +                               void *data)
> +{
> +    const struct vpci_bar *bar = data;
> +    bool hi = false;
> +
> +    if ( bar->type == VPCI_BAR_MEM64_HI )
> +    {
> +        ASSERT(reg > PCI_BASE_ADDRESS_0);
> +        bar--;
> +        hi = true;
> +    }
> +
> +    return bar->guest_reg >> (hi ? 32 : 0);
> +}
> +
>  static void rom_write(const struct pci_dev *pdev, unsigned int reg,
>                        uint32_t val, void *data)
>  {
> @@ -481,6 +523,17 @@ static void rom_write(const struct pci_dev *pdev, unsigned int reg,
>          rom->addr = val & PCI_ROM_ADDRESS_MASK;
>  }
>  
> +static void guest_rom_write(const struct pci_dev *pdev, unsigned int reg,
> +                            uint32_t val, void *data)
> +{
> +}
> +
> +static uint32_t guest_rom_read(const struct pci_dev *pdev, unsigned int reg,
> +                               void *data)
> +{
> +    return 0xffffffff;
> +}

There should be no need for those handlers. As said elsewhere: for
guests registers not explicitly handled should return ~0 for reads and
drop writes, which is what you are proposing here.

> +
>  static int init_bars(struct pci_dev *pdev)
>  {
>      uint16_t cmd;
> @@ -489,6 +542,7 @@ static int init_bars(struct pci_dev *pdev)
>      struct vpci_header *header = &pdev->vpci->header;
>      struct vpci_bar *bars = header->bars;
>      int rc;
> +    bool is_hwdom = is_hardware_domain(pdev->domain);
>  
>      switch ( pci_conf_read8(pdev->sbdf, PCI_HEADER_TYPE) & 0x7f )
>      {
> @@ -528,8 +582,10 @@ static int init_bars(struct pci_dev *pdev)
>          if ( i && bars[i - 1].type == VPCI_BAR_MEM64_LO )
>          {
>              bars[i].type = VPCI_BAR_MEM64_HI;
> -            rc = vpci_add_register(pdev->vpci, vpci_hw_read32, bar_write, reg,
> -                                   4, &bars[i]);
> +            rc = vpci_add_register(pdev->vpci,
> +                                   is_hwdom ? vpci_hw_read32 : guest_bar_read,
> +                                   is_hwdom ? bar_write : guest_bar_write,
> +                                   reg, 4, &bars[i]);
>              if ( rc )
>              {
>                  pci_conf_write16(pdev->sbdf, PCI_COMMAND, cmd);
> @@ -569,8 +625,10 @@ static int init_bars(struct pci_dev *pdev)
>          bars[i].size = size;
>          bars[i].prefetchable = val & PCI_BASE_ADDRESS_MEM_PREFETCH;
>  
> -        rc = vpci_add_register(pdev->vpci, vpci_hw_read32, bar_write, reg, 4,
> -                               &bars[i]);
> +        rc = vpci_add_register(pdev->vpci,
> +                               is_hwdom ? vpci_hw_read32 : guest_bar_read,
> +                               is_hwdom ? bar_write : guest_bar_write,
> +                               reg, 4, &bars[i]);
>          if ( rc )
>          {
>              pci_conf_write16(pdev->sbdf, PCI_COMMAND, cmd);
> @@ -590,8 +648,10 @@ static int init_bars(struct pci_dev *pdev)
>          header->rom_enabled = pci_conf_read32(pdev->sbdf, rom_reg) &
>                                PCI_ROM_ADDRESS_ENABLE;
>  
> -        rc = vpci_add_register(pdev->vpci, vpci_hw_read32, rom_write, rom_reg,
> -                               4, rom);
> +        rc = vpci_add_register(pdev->vpci,
> +                               is_hwdom ? vpci_hw_read32 : guest_rom_read,
> +                               is_hwdom ? rom_write : guest_rom_write,
> +                               rom_reg, 4, rom);

This whole call should be made conditional to is_hwdom, as said above
there's no need for the guest_rom handlers.

Likewise I assume you expect IO BARs to simply return ~0 and drop
writes, as there's no explicit handler added for those?

>          if ( rc )
>              rom->type = VPCI_BAR_EMPTY;
>      }
> diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
> index ed127a08a953..0a73b14a92dc 100644
> --- a/xen/include/xen/vpci.h
> +++ b/xen/include/xen/vpci.h
> @@ -68,7 +68,10 @@ struct vpci {
>      struct vpci_header {
>          /* Information about the PCI BARs of this device. */
>          struct vpci_bar {
> +            /* Physical view of the BAR. */

No, that's not the physical view, it's the physical (host) address.

>              uint64_t addr;
> +            /* Guest view of the BAR: address and lower bits. */
> +            uint64_t guest_reg;

I continue to think it would be clearer if you store the guest address
here (gaddr, without the low bits) and add those in guest_bar_read
based on bar->{type,prefetchable}. Then it would be equivalent to the
existing 'addr' field.

I wonder whether we need to protect the added code with
CONFIG_HAS_VPCI_GUEST_SUPPORT, this would effectively be dead code
otherwise. Long term I don't think we wish to differentiate between
dom0 and domU vPCI support at build time, so I'm unsure whether it's
helpful to pollute the code with CONFIG_HAS_VPCI_GUEST_SUPPORT when
the plan is to remove those long term.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 13:03:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 13:03:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256623.440545 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7dHX-0000Hk-Lk; Wed, 12 Jan 2022 13:03:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256623.440545; Wed, 12 Jan 2022 13: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 1n7dHX-0000HU-IK; Wed, 12 Jan 2022 13:03:15 +0000
Received: by outflank-mailman (input) for mailman id 256623;
 Wed, 12 Jan 2022 13:03:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=x4a/=R4=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1n7dHW-0000HO-TM
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 13:03:15 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0613.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::613])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ff45c5bb-73a7-11ec-9c70-5536b2d1e4e1;
 Wed, 12 Jan 2022 14:03:12 +0100 (CET)
Received: from AM7PR04CA0012.eurprd04.prod.outlook.com (2603:10a6:20b:110::22)
 by VE1PR08MB4799.eurprd08.prod.outlook.com (2603:10a6:802:ad::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.11; Wed, 12 Jan
 2022 13:03:02 +0000
Received: from AM5EUR03FT047.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:110:cafe::fc) by AM7PR04CA0012.outlook.office365.com
 (2603:10a6:20b:110::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.10 via Frontend
 Transport; Wed, 12 Jan 2022 13:03:02 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT047.mail.protection.outlook.com (10.152.16.197) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4888.9 via Frontend Transport; Wed, 12 Jan 2022 13:03:01 +0000
Received: ("Tessian outbound f493ab4f1fb8:v110");
 Wed, 12 Jan 2022 13:03:01 +0000
Received: from ae1af0c725a9.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 66236E55-6AAA-48CD-AC74-EEF3EE844AF8.1; 
 Wed, 12 Jan 2022 13:02:55 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ae1af0c725a9.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 12 Jan 2022 13:02:55 +0000
Received: from VI1PR0801MB2125.eurprd08.prod.outlook.com
 (2603:10a6:800:5b::23) by VI1PR08MB4446.eurprd08.prod.outlook.com
 (2603:10a6:803:fa::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.11; Wed, 12 Jan
 2022 13:02:46 +0000
Received: from VI1PR0801MB2125.eurprd08.prod.outlook.com
 ([fe80::cf1:97d5:63ff:e9b0]) by VI1PR0801MB2125.eurprd08.prod.outlook.com
 ([fe80::cf1:97d5:63ff:e9b0%12]) with mapi id 15.20.4867.012; Wed, 12 Jan 2022
 13:02:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff45c5bb-73a7-11ec-9c70-5536b2d1e4e1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yiD12yVF33hhP7D1rCSvvT0DjxYWVb7mbS/tTEXBKhI=;
 b=ZsaYDGflsv+MXXOOXnLvha6amkPwIn5zc2mMyb17R1Ll49UCwT5cTwuGwRQkxf+JNJQ0VAWJp1KI1I9L8KNgqxYHrO+V11DACjchUlSZxIJd2SEBW1DAzphXEtnC18s3FKRZyQ6s3i5egGrQr6cPDZL5y46Gj77D39t5doUeBLU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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: d682ceb7db7a3bd2
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=m+dVneeoXZC0nQkHW5SDJ3pXJS1At+VwQqda4JV/5M7NNTeKr0RO0vXI88owkwIDxVAl1Y0oPtYq1Pw/BY3GyMvMewgbX0fN1VzQIBeAaZ1uaFm5im9U39kQu9ieSL3ZdozZUfch4EbCl7zNQDkegND8/scDBV708vclgaGnETb1YyyTuXvIqK5tR61wTVAHBGesIPU4G1Af+NK/V+kFtBq/iYFAuIfrysfeU4GVk+638rQZlPgY/gdLsouqDq5oztHviFx1myEFqHA5aHMwTS8jyCyQJZNA7lZNQ3fDH8bt+bf6BrpsVFc6Hy559HpUJkim2l4YCGKiBj/E2kP1jA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yiD12yVF33hhP7D1rCSvvT0DjxYWVb7mbS/tTEXBKhI=;
 b=aBqryKQoTZT1hAbYqlXv/YnvQUM9nst3MoXmFbxyzCh8ecZLHXiSIbMsHt5fVWQXGCPCUNPOfeD85F0dzFCNruQtnEnoJ/5JeWRT3YCY6bfs44UgapF6l/28gDYrDkAXJA4y/EWTD8y/ma+TULtUoHubiqxMn3T0RcPmKsT8GifCa+gHooAxvDLSaZLFTWnM9VVA9AGZ063xVK+mowL3HY7lmasnsrCSzogfVLxZcmm9ZvCiwK9u/yL23+NAMPjrfIA+EE9mNaF2RwwZAdElLdb5rXAuKmdqKeAcYdc96l9wUycJ9tOEst98kXev9ciLHsU/tv9lukBDfnyjJl3/gQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yiD12yVF33hhP7D1rCSvvT0DjxYWVb7mbS/tTEXBKhI=;
 b=ZsaYDGflsv+MXXOOXnLvha6amkPwIn5zc2mMyb17R1Ll49UCwT5cTwuGwRQkxf+JNJQ0VAWJp1KI1I9L8KNgqxYHrO+V11DACjchUlSZxIJd2SEBW1DAzphXEtnC18s3FKRZyQ6s3i5egGrQr6cPDZL5y46Gj77D39t5doUeBLU=
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
Content-Type: text/plain;
	charset=utf-8
Subject: Re: [PATCH v4] EFI: always map EfiRuntimeServices{Code,Data}
From: Luca Fancellu <luca.fancellu@arm.com>
In-Reply-To: <89d182f6-95e8-674a-2297-6e98435385f8@suse.com>
Date: Wed, 12 Jan 2022 13:02:43 +0000
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <A458D77D-BA41-41A4-9A75-1F2C54BC807F@arm.com>
References: <89d182f6-95e8-674a-2297-6e98435385f8@suse.com>
To: Jan Beulich <jbeulich@suse.com>,
 Sergey Temerkhanov <s.temerkhanov@gmail.com>
X-Mailer: Apple Mail (2.3693.20.0.1.32)
X-ClientProxiedBy: LO4P123CA0130.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:193::9) To VI1PR0801MB2125.eurprd08.prod.outlook.com
 (2603:10a6:800:5b::23)
MIME-Version: 1.0
X-MS-Office365-Filtering-Correlation-Id: 9597625a-3475-4f38-94e3-08d9d5cbdd50
X-MS-TrafficTypeDiagnostic:
	VI1PR08MB4446:EE_|AM5EUR03FT047:EE_|VE1PR08MB4799:EE_
X-Microsoft-Antispam-PRVS:
	<VE1PR08MB47994DDD8033D53FBDA23AEAE4529@VE1PR08MB4799.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:431;OLM:431;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 25n0uWIPEsdvAr+E6J6bs55FB/0oKf517zIhueXS0kEbZbbW2YVfM6hbmYzdoq5wrDS2wWzDuwRSki3PinjmZ8etlPrkF2wKkW1xbVC48I5+BSBEWzw/lW+rtn1swPS0ezCb25XCqtD51d+evV+GMN5X00GcS6wQlmB9q62XgSofKKw5oMhAa/JRcZCAnysFRzB1GlHB9ak4IF65LbIzhCrQt+kGCfTin2VQalAMtlY0hav4ulvJ57vF+7qGmk4XCFJ8LBNYZuV+yVahTYOAFDJfCEgPB7TcB1VO6bbXxCc5/1jVeJCyLMgDNw1qvVYLiDWr8IGMX5we82351NkhXlOcMK/eT1jJpK92j8jhDZZF808NRjaRjs2fu1IZmm5Ha9w/v6TnGj3HzB4Ic5ny4CQ1muAyzgl2okg8NVnwtEJqcrl/3v4kpVQ/NHI9HppW93FUgtsb+cbk1HmyaP3UYnChsMVfUVadv/5WjgFlPBBzIvmH5u77y71fjzCnmIUjSOEz9bNAo/fYCWrqJyRWzFntMGHOSbcANj7bvsUjp0TR1vL0IRaZ49juhb4ILTginP0NJvIcx+iiUDRti2wdWqmu/BvttSwpsgyIl1MJAYbSTisUNc159IdvJadBPlPv8RxTEeSHrZGsHn/05pf7VshaW1Vs8Mncbq30vIFPu6g6YF2HlActNu9K79f9OHcO0an6vfYCUjmD5RCONs8ZsuDR5MAc7XZWGGtDfzhKeqA=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR0801MB2125.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(66476007)(6666004)(38100700002)(66556008)(316002)(36756003)(6506007)(66946007)(2616005)(52116002)(8676002)(53546011)(86362001)(83380400001)(4326008)(33656002)(26005)(5660300002)(110136005)(6486002)(38350700002)(508600001)(44832011)(2906002)(6512007)(186003)(8936002)(54906003)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB4446
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT047.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	73838ef0-5b8a-4746-1b80-08d9d5cbd3cf
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	m5AakMvRDGeJSox2Im9Hr6ieOxfdWPNeWHjc7dHm+923QPGhdlvddkBSESCtop8wOG8/2iTyXvWywQ963l1n5xaqP4Aast+JG4SGubORTxL7lWR6AiSLuz5qvM4Mh9dHDkKuVB16XWxHe21vytJtIuO4tW7sjkorNI6xI/wbalkmz6nw7wcu3ZSWkUyn5qT1TLI27UUvYapFBHn0LUp1Zj8pOT5kHdAGaQmpA1RDdEchRkkk0aFjRG5t+YuJC9ltjUym2BcIt0+osxsgHzE82Wj1S55A/FJo/786n89ysm12OOik/BHEzVMkcKRPErIJu32LSa0ZRMLGIClKG3Z8DeEuBmsB/sWGJeBO+O3l0jAZ6zTvKotQv7+kHxMGLvd+BTWHthfr4p1RRrQgbCkIm4pEjJavYn5+uSjyJJ+o3cOrkgeYlDt9B8QnEMbr+Wm+zqhZiLPZzshHOgTpJwqMwPmqCZxyfw4cBUkxgq59m25a4An1TV41LatpSa7Nmj5B0sw720HILQKlh8fZG9x6Ny8F/ScWAd1MI9AScBeT2uOv9wysann5duBTSSJXZdKdnX4FTV0T8+9cnopDXjaX4THtwX9H+Zr7tzfgckfvJe6l/YtlmI1odyVf5Y1hT1YOoJCu/AC2tsSR50LZwQO4DQ0BOhZBRlCJlSfAeaFAYsxQzY/36HEzikSTixbtwmwvgsCGcAaZNuBtybXXuOuh0w==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(6512007)(33656002)(6666004)(53546011)(36860700001)(8936002)(8676002)(83380400001)(508600001)(47076005)(36756003)(336012)(110136005)(86362001)(4326008)(6506007)(2906002)(316002)(356005)(81166007)(2616005)(6486002)(5660300002)(70206006)(82310400004)(44832011)(186003)(26005)(70586007)(54906003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2022 13:03:01.7133
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9597625a-3475-4f38-94e3-08d9d5cbdd50
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT047.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB4799



> On 12 Jan 2022, at 08:45, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> From: Sergey Temerkhanov <s.temerkhanov@gmail.com>
>=20
> This helps overcome problems observed with some UEFI implementations
> which don't set the Attributes field in memery descriptors properly.
>=20
> Signed-off-by: Sergey Temerkhanov <s.temerkhanov@gmail.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Hi,

I=E2=80=99ve tested this patch on an arm machine with UEFI boot and it work=
s fine.

Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
Tested-by: Luca Fancellu <luca.fancellu@arm.com>

Cheers,
Luca

> ---
> v4: Drop EFI_MEMORY_CACHEABILITY_MASK. Fold with pre-existing if() (into
>    switch()). Style.
> ---
> I guess "map_bs" would also want honoring in efi_exit_boot(), but that's
> yet another patch then I suppose.
>=20
> --- a/xen/common/efi/boot.c
> +++ b/xen/common/efi/boot.c
> @@ -1094,7 +1094,13 @@ static void __init efi_exit_boot(EFI_HAN
>     {
>         EFI_MEMORY_DESCRIPTOR *desc =3D efi_memmap + i;
>=20
> -        if ( desc->Attribute & EFI_MEMORY_RUNTIME )
> +        /*
> +         * Runtime services regions are always mapped here.
> +         * Attributes may be adjusted in efi_init_memory().
> +         */
> +        if ( (desc->Attribute & EFI_MEMORY_RUNTIME) ||
> +             desc->Type =3D=3D EfiRuntimeServicesCode ||
> +             desc->Type =3D=3D EfiRuntimeServicesData )
>             desc->VirtualStart =3D desc->PhysicalStart;
>         else
>             desc->VirtualStart =3D INVALID_VIRTUAL_ADDRESS;
> @@ -1545,13 +1551,36 @@ void __init efi_init_memory(void)
>                     ROUNDUP(desc->PhysicalStart + len, PAGE_SIZE));
>         }
>=20
> -        if ( !efi_enabled(EFI_RS) ||
> -             (!(desc->Attribute & EFI_MEMORY_RUNTIME) &&
> -              (!map_bs ||
> -               (desc->Type !=3D EfiBootServicesCode &&
> -                desc->Type !=3D EfiBootServicesData))) )
> +        if ( !efi_enabled(EFI_RS) )
>             continue;
>=20
> +        if ( !(desc->Attribute & EFI_MEMORY_RUNTIME) )
> +        {
> +            switch ( desc->Type )
> +            {
> +            default:
> +                continue;
> +
> +            /*
> +             * Adjust runtime services regions. Keep in sync with
> +             * efi_exit_boot().
> +             */
> +            case EfiRuntimeServicesCode:
> +            case EfiRuntimeServicesData:
> +                printk(XENLOG_WARNING
> +                       "Setting RUNTIME attribute for %013" PRIx64 "-%01=
3" PRIx64 "\n",
> +                       desc->PhysicalStart, desc->PhysicalStart + len - =
1);
> +                desc->Attribute |=3D EFI_MEMORY_RUNTIME;
> +                break;
> +
> +            case EfiBootServicesCode:
> +            case EfiBootServicesData:
> +                if ( !map_bs )
> +                    continue;
> +                break;
> +            }
> +        }
> +
>         desc->VirtualStart =3D INVALID_VIRTUAL_ADDRESS;
>=20
>         smfn =3D PFN_DOWN(desc->PhysicalStart);
>=20
>=20



From xen-devel-bounces@lists.xenproject.org Wed Jan 12 13:21:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 13:21:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256627.440555 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7dZC-0002aJ-7I; Wed, 12 Jan 2022 13:21:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256627.440555; Wed, 12 Jan 2022 13:21:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7dZC-0002aC-4I; Wed, 12 Jan 2022 13:21:30 +0000
Received: by outflank-mailman (input) for mailman id 256627;
 Wed, 12 Jan 2022 13:21:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zSVc=R4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7dZA-0002a6-MW
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 13:21:28 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8c0c81d2-73aa-11ec-9c70-5536b2d1e4e1;
 Wed, 12 Jan 2022 14:21:27 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id E1B101F3C2;
 Wed, 12 Jan 2022 13:21: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 B3A0D13B64;
 Wed, 12 Jan 2022 13:21:26 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id B6dTKtbV3mGHVQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 12 Jan 2022 13:21: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: 8c0c81d2-73aa-11ec-9c70-5536b2d1e4e1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1641993686; 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=mHAZ8qm5OrpRzWCW4YIqbzRNW+DTcH4TrZFdh9mFnl4=;
	b=V22N936/aBiAJ0gPJVObi52cVp2h1VuXN4WnPrCV7U7YI5jTQ8JPxXLNO70fMrDA0p93GL
	vbWVAIlkNV/gn6MY3s+SYvl1FDlLdl048juRq6V40c9/ffjB02Ozawf+br6IjHiC6MKmIe
	RYPEB4vICCIFz+riCQqm67C+ZSFFfJQ=
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <amc96@srcf.net>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20220111150318.22570-1-jgross@suse.com>
 <20220111150318.22570-2-jgross@suse.com>
 <a73bd0c2-44ee-c984-9c72-15d36afc8aa5@srcf.net>
 <152c1627-e8e1-4f98-abe6-ee45a2fdebe0@suse.com>
Subject: Re: [PATCH v2 1/3] tools/libs/evtchn: decouple more from mini-os
Message-ID: <5c790a9c-14d0-f353-d5de-d0d70487f181@suse.com>
Date: Wed, 12 Jan 2022 14:21:26 +0100
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: <152c1627-e8e1-4f98-abe6-ee45a2fdebe0@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="i4193qLPPsCaNFLTrhY4uzxbAHbJIGLey"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--i4193qLPPsCaNFLTrhY4uzxbAHbJIGLey
Content-Type: multipart/mixed; boundary="TUVpNIJDQZM4VYecScC3huJfrvMryf4Bf";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <amc96@srcf.net>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <5c790a9c-14d0-f353-d5de-d0d70487f181@suse.com>
Subject: Re: [PATCH v2 1/3] tools/libs/evtchn: decouple more from mini-os
References: <20220111150318.22570-1-jgross@suse.com>
 <20220111150318.22570-2-jgross@suse.com>
 <a73bd0c2-44ee-c984-9c72-15d36afc8aa5@srcf.net>
 <152c1627-e8e1-4f98-abe6-ee45a2fdebe0@suse.com>
In-Reply-To: <152c1627-e8e1-4f98-abe6-ee45a2fdebe0@suse.com>

--TUVpNIJDQZM4VYecScC3huJfrvMryf4Bf
Content-Type: multipart/mixed;
 boundary="------------4F612B4FCF0A1EE5BEFDD73D"
Content-Language: en-US

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

On 12.01.22 08:22, Juergen Gross wrote:
> On 11.01.22 20:56, Andrew Cooper wrote:
>> On 11/01/2022 15:03, Juergen Gross wrote:
>>> diff --git a/tools/libs/evtchn/minios.c b/tools/libs/evtchn/minios.c
>>> index e5dfdc5ef5..c3a5ce3b98 100644
>>> --- a/tools/libs/evtchn/minios.c
>>> +++ b/tools/libs/evtchn/minios.c
>>> =C2=A0 int osdep_evtchn_open(xenevtchn_handle *xce, unsigned int flag=
s)
>>> =C2=A0 {
>>> -=C2=A0=C2=A0=C2=A0 int fd =3D alloc_fd(FTYPE_EVTCHN);
>>> +=C2=A0=C2=A0=C2=A0 int fd;
>>> +=C2=A0=C2=A0=C2=A0 struct file *file;
>>> +=C2=A0=C2=A0=C2=A0 struct port_list *list;
>>> +=C2=A0=C2=A0=C2=A0 static unsigned int ftype_evtchn;
>>> -=C2=A0=C2=A0=C2=A0 if ( fd =3D=3D -1 )
>>> +=C2=A0=C2=A0=C2=A0 if ( !ftype_evtchn )
>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ftype_evtchn =3D alloc_fi=
le_type(&evtchn_ops);
>>
>> Hmm.=C2=A0 MiniOS doesn't appear to support __attribute__((constructor=
)) but
>> this would be an ideal candidate.
>>
>> It would remove a non-threadsafe singleton from a (largely unrelated)
>> codepath.
>>
>> Should be very simple to add to MiniOS.=C2=A0 See Xen's init_construct=
ors(),
>> and add CONSTRUCTORS to the linker file.
>=20
> I'll look into this.

Turns out that I can't use __attribute__((constructor)), as this is
supported through newlib already (the linker script contains everything
needed, but the activation is outside of Mini-OS).

I'll use something like initcall() instead.


Juergen

--------------4F612B4FCF0A1EE5BEFDD73D
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-----

--------------4F612B4FCF0A1EE5BEFDD73D--

--TUVpNIJDQZM4VYecScC3huJfrvMryf4Bf--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHe1dYFAwAAAAAACgkQsN6d1ii/Ey9V
DAf8C8QMBO0WmcRXQCWGMze4R5u1wa1/hvC09OOC8PG9gn763+eqh0kkkqBYb1RcSJdfYjWKD2So
6w3RBiRz3zISaIENzKPdUx+mvNauan0S+SDbTerkBZgx43ZAc2FZksndVem2zYU1TT4a9X+D8hfF
K+ApJQoNmI1CAzDCyapVIuhfcz4ObK51WZ1DcaAss+Elr7WXN+Vb1Q6BXXDSCCAp2i7fhrw1cWoe
yPQQ1WGtHx4VETGlASz8NHO/g8dTiwWV9tDhY/AOj0EW1woYJ2mRuaMPt0ROE7hN7HuYktF/1ZBO
BRKgjQo+v2dc83yOek5O7s9Iql7Vn2g2tslAiS0Z0A==
=AvXy
-----END PGP SIGNATURE-----

--i4193qLPPsCaNFLTrhY4uzxbAHbJIGLey--


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 13:41:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 13:41:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256632.440567 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7dry-0004uu-T5; Wed, 12 Jan 2022 13:40:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256632.440567; Wed, 12 Jan 2022 13:40:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7dry-0004un-Pi; Wed, 12 Jan 2022 13:40:54 +0000
Received: by outflank-mailman (input) for mailman id 256632;
 Wed, 12 Jan 2022 13:40: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 1n7drx-0004ud-5x; Wed, 12 Jan 2022 13:40: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 1n7drx-0006wc-2m; Wed, 12 Jan 2022 13:40: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 1n7drw-0001nY-Li; Wed, 12 Jan 2022 13:40:52 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n7drw-0000fn-LD; Wed, 12 Jan 2022 13:40:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=E2buum1Y3nZVQovPDALgxQWHBkrOLO4+Joe4+d1BSXM=; b=HCZmXA9sBd4YiJjD9u3ePd4YHd
	RWAKKv/kNwPD4rkioXqoQDayYI0JZdiBIxC/wbdYGGbwfrc3iRgZ6MnAyvR96XJf6ziATAcSfSmc4
	Ra/ul6k4t/ibtuH2SwwEgJlgWFlmfHw/gUeFVrEHdYgMOMdn4/fVUtgWdPh4OOoEwUq0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167667-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167667: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-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-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-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-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=22891e12a45f9bb2e1dbb5daf2ba39cbe002e4f4
X-Osstest-Versions-That:
    xen=22891e12a45f9bb2e1dbb5daf2ba39cbe002e4f4
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 12 Jan 2022 13:40:52 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat  fail pass in 167661
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 167661

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

version targeted for testing:
 xen                  22891e12a45f9bb2e1dbb5daf2ba39cbe002e4f4
baseline version:
 xen                  22891e12a45f9bb2e1dbb5daf2ba39cbe002e4f4

Last test of basis   167667  2022-01-12 01:54:21 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                 fail    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


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

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

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

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


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Wed Jan 12 14:20:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 14:20:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256640.440578 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7eU6-0000ks-4J; Wed, 12 Jan 2022 14:20:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256640.440578; Wed, 12 Jan 2022 14:20:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7eU6-0000kl-1F; Wed, 12 Jan 2022 14:20:18 +0000
Received: by outflank-mailman (input) for mailman id 256640;
 Wed, 12 Jan 2022 14:17:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pKq3=R4=web.de=starchip2000@srs-se1.protection.inumbo.net>)
 id 1n7eRg-0008P0-Pa
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 14:17:49 +0000
Received: from mout.web.de (mout.web.de [217.72.192.78])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 69cd46d2-73b2-11ec-9c70-5536b2d1e4e1;
 Wed, 12 Jan 2022 15:17:46 +0100 (CET)
Received: from [192.168.25.251] ([62.245.250.29]) by smtp.web.de (mrweb105
 [213.165.67.124]) with ESMTPSA (Nemesis) id 1N4N9I-1mNlbI0DB8-011l61 for
 <xen-devel@lists.xenproject.org>; Wed, 12 Jan 2022 15:17:46 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 69cd46d2-73b2-11ec-9c70-5536b2d1e4e1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de;
	s=dbaedf251592; t=1641997066;
	bh=XHiM9J9rq/UyQy4dppSclzUFU4s+1vLEPAfRgLMPeuI=;
	h=X-UI-Sender-Class:Date:To:From:Subject;
	b=Ohhr2mJZmBkxcOpMDGEY6bNjYzKqurejA0FEM77pVVTGqQBsbaSyY++nzD3qf1vIJ
	 l0bjm9RGqPZxfRtVwrqN1Yh45+jPMn9EcuH2P8R/r1tUW3rNEpJWRopS47E4rAIfyv
	 vqPY8rpAyuMnaBT2Y2+lduFe2T4lUZbprQLz8D5I=
X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9
Message-ID: <8b95ffea-d664-ce87-e386-73a06c265cac@web.de>
Date: Wed, 12 Jan 2022 15:17:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:96.0) Gecko/20100101
 Thunderbird/96.0
To: xen-devel@lists.xenproject.org
From: Ronny Wagner <starchip2000@web.de>
Subject: device model: spawn failed (rc=-3)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:Vba34hoxDj4R7jIWblcn91avGVRF2+/n8/qLwXoe/EbE+xOSiAa
 v3Zo1wzTk+le6j8EJhhYCsJGmfE/QKY8vBzAy13hjJmBLaa+6+t1nOHJRabSivACIWZ3iub
 kzS/m3rTnhArVhyE+M/phkPOvyEc4GQBfM/KETP+wIO7PdvYDDqzrqyJE6N3BI7ogoW+p+e
 QXY3koyXPKw7p+N8M0M+g==
X-Spam-Flag: NO
X-UI-Out-Filterresults: notjunk:1;V03:K0:ZW4w2ldEoCQ=:IHLxvwEe3LwE2D+kPDzCV1
 /+E+ywMgLcnZZkItTnVSC+o7iW7GTTx0atKesTaKiQdNf9kt7AsrFBeySQ2w6pUxrq13powHB
 6hKpOgO4TFqw5T33iqIztJ7oRJQNiEDwfcH/CJZonLSsXBgzvEz8HWiH0mgcaBuXAkL0Xt7iX
 ToYCn8ZxgBETwgKbN79qnLH0GIM/c72cHUI3qGhBposBAARO8HUzyFPJwFhF5QrID3JUNutOH
 4s+56NJJjuaD2HsvpdeTlW3kglyirl6kNdpOMiJBiT7OIB2F8yV6LsbuPuDNVWVRjXzev8lOM
 D6D89Pfefh6kn3ueEMmkj69OnjQM5mgl0bUXmqeSt/F7zZMe3Dob+BgvOHCM31TUA1NIGx/sC
 /j2mWL1R+Jkv1M2n0WpRzevMLaGjm/JKSvSB1Iu6zP8aeOqyRbw2bFcHHkZjvu8q16M+zAwq/
 /IdTE3F0ZBoLs1RD+eIx4OwgOja8QfiPFrbXMq6+x9SdFk3YO6D6YR7Lqok8ZRoSxkNhyA/tP
 WifpfHlwgfLAZwfFMQy5fiTRVIjdg7COYXTLfmXRugKUI3mU6GnAoYAZj5DzvhxKs2MccEyrV
 7fJM4q8kumFuNs9AgNIlsH2ugzxbxuqyvUJN8FJAulJgtso2skzy/MvOIHSJDmxFEjKge4sIr
 1USCwvXSh547MWx7WyeR7h1B2ogVHKc+diSGOqxBnMMumcL1WxEkKIrbTI9BfMbmD5E28Tk3x
 nTWZyiWZs7FiZLPozeDtVGINBJ94LLdPCeaBv4aKXPc/aIDrZM+Xqkc4TAPVkfjejY4FLQAzs
 rz0aQaIP9FTdVZlVYO2kbTXzlN6cabbQsRPc5MBPWdEW+tSPrS1kYeDl0KA3PesAPtK26Oa4K
 OKGXv5QWkEDHm3cwPzoX46JheUOsKbJSxfHEXAP/zHvGla5cKpmrQLpxQMmtG6/ZHfGhNC5t8
 2g7tEOrs76emRdEbZvQ0mTh26aJJ2RKYoCrqtH82HIn9d4M06lapwAvsvtBUWeLteBBCyxen5
 8obrz4zJOO6u+dgNCsoXvjgosoP0HWmlCW81fYJQyIfOlNsk1VE5WbUNNDPm3n1O1/9dDu4oH
 nsKQMDkOjjaxu4=

Hello,

i restart my windows domU today.

And now, the domU don't start. Have anyone a idea, why? I am not change
any config on the Host.

Thank you for helping!

Fail-Message:
root@server ~ # xl create -f /etc/xen/domU.cfg
Parsing config from /etc/xen/domU.cfg
libxl: error: libxl_dm.c:3131:device_model_spawn_outcome: Domain
24:domain 24 device model: spawn failed (rc=3D-3)
libxl: error: libxl_dm.c:3351:device_model_postconfig_done: Domain
24:Post DM startup configs failed, rc=3D-3
libxl: error: libxl_create.c:1867:domcreate_devmodel_started: Domain
24:device model did not start: -3
libxl: error: libxl_aoutils.c:646:libxl__kill_xs_path: Device Model
already exited
libxl: error: libxl_domain.c:1183:libxl__destroy_domid: Domain
24:Non-existant domain
libxl: error: libxl_domain.c:1137:domain_destroy_callback: Domain
24:Unable to destroy guest
libxl: error: libxl_domain.c:1064:domain_destroy_cb: Domain
24:Destruction of domain failed

xl info:
host=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 : server
release=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 : 5.10.0-10-amd64
version=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 : #1 SMP Debian 5.10.84-1 (2021-12-08)
machine=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 : x86_64
nr_cpus=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 : 12
max_cpu_id=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 : 11
nr_nodes=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 : 1
cores_per_socket=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 : 6
threads_per_core=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 : 2
cpu_mhz=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 : 3500.033
hw_caps=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 :
bfebfbff:77bee3ff:2c100800:00000001:00000001:00000281:00000000:00000100
virt_caps=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 : pv hvm hvm_directio pv_directio hap shadow
iommu_hap_pt_share gnttab-v1 gnttab-v2
total_memory=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 :=
 65501
free_memory=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 : 25760
sharing_freed_memory=C2=A0=C2=A0 : 0
sharing_used_memory=C2=A0=C2=A0=C2=A0 : 0
outstanding_claims=C2=A0=C2=A0=C2=A0=C2=A0 : 0
free_cpus=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 : 0
xen_major=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 : 4
xen_minor=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 : 16
xen_extra=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 : .0
xen_version=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 : 4.16.0
xen_caps=C2=A0=C2=A0=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-3.0-x86_64 hvm-3.0-x86_32 hvm-3.0-x86_32p
hvm-3.0-x86_64
xen_scheduler=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 : cred=
it2
xen_pagesize=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 :=
 4096
platform_params=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 : virt_start=3D0=
xffff800000000000
xen_changeset=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 :
xen_commandline=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 : placeholder do=
m0_mem=3D1024M,max:2048M
dom0_max_vcpus=3D8 dom0_vcpus_pin
cc_compiler=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 : gcc (Debian 10.2.1-6) 10.2.1 20210110
cc_compile_by=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 : root
cc_compile_domain=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 :
cc_compile_date=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 : Sat Dec 25 21:=
39:55 CET 2021
build_id=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 : 7d1546babc012bbc675a954b2be5ff1f9474863e
xend_config_format=C2=A0=C2=A0=C2=A0=C2=A0 : 4

Detail message:
Parsing config from /etc/xen/domU.cfg
libxl: debug: libxl_create.c:2052:do_domain_create: ao 0x55dd8566e6f0:
create: how=3D(nil) callback=3D(nil) poller=3D0x55dd8566e790
libxl: detail: libxl_create.c:653:libxl__domain_make: passthrough: disable=
d
libxl: debug: libxl_device.c:379:libxl__device_disk_set_backend: Disk
vdev=3Dhda spec.backend=3Dunknown
libxl: debug: libxl_device.c:413:libxl__device_disk_set_backend: Disk
vdev=3Dhda, using backend phy
libxl: debug: libxl_device.c:379:libxl__device_disk_set_backend: Disk
vdev=3Dhdb spec.backend=3Dunknown
libxl: debug: libxl_device.c:413:libxl__device_disk_set_backend: Disk
vdev=3Dhdb, using backend phy
libxl: debug: libxl_create.c:1313:initiate_domain_create: Domain
25:running bootloader
libxl: debug: libxl_bootloader.c:328:libxl__bootloader_run: Domain
25:not a PV/PVH domain, skipping bootloader
libxl: debug: libxl_event.c:864:libxl__ev_xswatch_deregister: watch
w=3D0x55dd856687d0: deregister unregistered
libxl: detail: libxl_x86.c:342:hvm_set_viridian_features: base group enabl=
ed
libxl: detail: libxl_x86.c:342:hvm_set_viridian_features: freq group enabl=
ed
libxl: detail: libxl_x86.c:342:hvm_set_viridian_features: time_ref_count
group enabled
libxl: detail: libxl_x86.c:342:hvm_set_viridian_features: apic_assist
group enabled
libxl: detail: libxl_x86.c:342:hvm_set_viridian_features: crash_ctl
group enabled
libxl: detail: libxl_x86.c:342:hvm_set_viridian_features: no_vp_limit
group enabled
libxl: detail: libxl_x86.c:342:hvm_set_viridian_features: cpu_hotplug
group enabled
domainbuilder: detail: xc_dom_allocate: cmdline=3D"", features=3D""
domainbuilder: detail: xc_dom_kernel_file:
filename=3D"/usr/local/lib/xen/boot/hvmloader"
domainbuilder: detail: xc_dom_malloc_filemap=C2=A0=C2=A0=C2=A0 : 178 kB
libxl: debug: libxl_dom.c:822:libxl__load_hvm_firmware_module: Loading
BIOS: /usr/local/lib/xen/boot/seabios.bin
domainbuilder: detail: xc_dom_boot_xen_init: ver 4.16, caps
xen-3.0-x86_64 hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64
domainbuilder: detail: xc_dom_parse_image: called
domainbuilder: detail: xc_dom_find_loader: trying multiboot-binary
loader ...
domainbuilder: detail: loader probe failed
domainbuilder: detail: xc_dom_find_loader: trying HVM-generic loader ...
domainbuilder: detail: loader probe OK
xc: detail: ELF: phdr: paddr=3D0x100000 memsz=3D0x34a20
xc: detail: ELF: memory: 0x100000 -> 0x134a20
domainbuilder: detail: xc_dom_compat_check: supported guest type:
xen-3.0-x86_64
domainbuilder: detail: xc_dom_compat_check: supported guest type:
hvm-3.0-x86_32 <=3D matches
domainbuilder: detail: xc_dom_compat_check: supported guest type:
hvm-3.0-x86_32p
domainbuilder: detail: xc_dom_compat_check: supported guest type:
hvm-3.0-x86_64
domainbuilder: detail: xc_dom_mem_init: mem 24560 MB, pages 0x5ff000
pages, 4k each
domainbuilder: detail: xc_dom_mem_init: 0x5ff000 pages
domainbuilder: detail: xc_dom_boot_mem_init: called
domainbuilder: detail: range: start=3D0x0 end=3D0xf0000000
domainbuilder: detail: range: start=3D0x100000000 end=3D0x60f000000
xc: detail: PHYSICAL MEMORY ALLOCATION:
xc: detail:=C2=A0=C2=A0 4KB PAGES: 0x0000000000000200
xc: detail:=C2=A0=C2=A0 2MB PAGES: 0x00000000000003f7
xc: detail:=C2=A0=C2=A0 1GB PAGES: 0x0000000000000016
domainbuilder: detail: xc_dom_build_image: called
domainbuilder: detail: xc_dom_pfn_to_ptr_retcount: domU mapping: pfn
0x100+0x35 at 0x7fbb592a5000
domainbuilder: detail: xc_dom_alloc_segment:=C2=A0=C2=A0 kernel=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 : 0x100000
-> 0x135000=C2=A0 (pfn 0x100 + 0x35 pages)
xc: detail: ELF: phdr 0 at 0x7fbb59270000 -> 0x7fbb5929afa0
domainbuilder: detail: xc_dom_pfn_to_ptr_retcount: domU mapping: pfn
0x135+0x40 at 0x7fbb59265000
domainbuilder: detail: xc_dom_alloc_segment:=C2=A0=C2=A0 System Firmware m=
odule :
0x135000 -> 0x175000=C2=A0 (pfn 0x135 + 0x40 pages)
domainbuilder: detail: xc_dom_pfn_to_ptr_retcount: domU mapping: pfn
0x175+0x1 at 0x7fbb59814000
domainbuilder: detail: xc_dom_alloc_segment:=C2=A0=C2=A0 HVM start info : =
0x175000
-> 0x176000=C2=A0 (pfn 0x175 + 0x1 pages)
domainbuilder: detail: xc_dom_build_image=C2=A0 : virt_alloc_end : 0x17600=
0
domainbuilder: detail: xc_dom_build_image=C2=A0 : virt_pgtab_end : 0x0
domainbuilder: detail: xc_dom_boot_image: called
domainbuilder: detail: domain builder memory footprint
domainbuilder: detail:=C2=A0=C2=A0=C2=A0 allocated
domainbuilder: detail:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 malloc=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 : 5928 byt=
es
domainbuilder: detail:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 anon mmap=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 : 0 bytes
domainbuilder: detail:=C2=A0=C2=A0=C2=A0 mapped
domainbuilder: detail:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 file mmap=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 : 178 kB
domainbuilder: detail:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 domU mmap=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 : 472 kB
domainbuilder: detail: vcpu_hvm: called
domainbuilder: detail: xc_dom_set_gnttab_entry: d25 gnt[0] -> d0 0xfefff
domainbuilder: detail: xc_dom_set_gnttab_entry: d25 gnt[1] -> d0 0xfeffc
domainbuilder: detail: xc_dom_release: called
libxl: debug: libxl_device.c:379:libxl__device_disk_set_backend: Disk
vdev=3Dhda spec.backend=3Dphy
libxl: debug: libxl_event.c:813:libxl__ev_xswatch_register: watch
w=3D0x55dd8566fea0 wpath=3D/local/domain/0/backend/vbd/25/768/state
token=3D3/0: register slotnum=3D3
libxl: debug: libxl_device.c:379:libxl__device_disk_set_backend: Disk
vdev=3Dhdb spec.backend=3Dphy
libxl: debug: libxl_event.c:813:libxl__ev_xswatch_register: watch
w=3D0x55dd8566c780 wpath=3D/local/domain/0/backend/vbd/25/832/state
token=3D2/1: register slotnum=3D2
libxl: debug: libxl_create.c:2090:do_domain_create: ao 0x55dd8566e6f0:
inprogress: poller=3D0x55dd8566e790, flags=3Di
libxl: debug: libxl_event.c:750:watchfd_callback: watch w=3D0x55dd8566fea0
wpath=3D/local/domain/0/backend/vbd/25/768/state token=3D3/0: event
epath=3D/local/domain/0/backend/vbd/25/768/state
libxl: debug: libxl_event.c:1052:devstate_callback: backend
/local/domain/0/backend/vbd/25/768/state wanted state 2 ok
libxl: debug: libxl_event.c:850:libxl__ev_xswatch_deregister: watch
w=3D0x55dd8566fea0 wpath=3D/local/domain/0/backend/vbd/25/768/state
token=3D3/0: deregister slotnum=3D3
libxl: debug: libxl_device.c:1096:device_backend_callback: Domain
25:calling device_backend_cleanup
libxl: debug: libxl_event.c:864:libxl__ev_xswatch_deregister: watch
w=3D0x55dd8566fea0: deregister unregistered
libxl: debug: libxl_linux.c:194:libxl__hotplug_disk: Domain 25:Args and
environment ready
libxl: debug: libxl_device.c:1197:device_hotplug: Domain 25:calling
hotplug script: /etc/xen/scripts/block add
libxl: debug: libxl_device.c:1198:device_hotplug: Domain 25:extra args:
libxl: debug: libxl_device.c:1206:device_hotplug: Domain 25:env:
libxl: debug: libxl_device.c:1213:device_hotplug: Domain 25:=C2=A0=C2=A0=
=C2=A0 script:
/etc/xen/scripts/block
libxl: debug: libxl_device.c:1213:device_hotplug: Domain 25:=C2=A0=C2=A0=
=C2=A0
XENBUS_TYPE: vbd
libxl: debug: libxl_device.c:1213:device_hotplug: Domain 25:=C2=A0=C2=A0=
=C2=A0
XENBUS_PATH: backend/vbd/25/768
libxl: debug: libxl_device.c:1213:device_hotplug: Domain 25:=C2=A0=C2=A0=
=C2=A0
XENBUS_BASE_PATH: backend
libxl: debug: libxl_aoutils.c:593:libxl__async_exec_start: forking to
execute: /etc/xen/scripts/block add
libxl: debug: libxl_event.c:720:watchfd_callback: watch
epath=3D/local/domain/0/backend/vbd/25/768/state token=3D3/0: empty slot
libxl: debug: libxl_event.c:750:watchfd_callback: watch w=3D0x55dd8566c780
wpath=3D/local/domain/0/backend/vbd/25/832/state token=3D2/1: event
epath=3D/local/domain/0/backend/vbd/25/832/state
libxl: debug: libxl_event.c:1052:devstate_callback: backend
/local/domain/0/backend/vbd/25/832/state wanted state 2 ok
libxl: debug: libxl_event.c:850:libxl__ev_xswatch_deregister: watch
w=3D0x55dd8566c780 wpath=3D/local/domain/0/backend/vbd/25/832/state
token=3D2/1: deregister slotnum=3D2
libxl: debug: libxl_device.c:1096:device_backend_callback: Domain
25:calling device_backend_cleanup
libxl: debug: libxl_event.c:864:libxl__ev_xswatch_deregister: watch
w=3D0x55dd8566c780: deregister unregistered
libxl: debug: libxl_linux.c:194:libxl__hotplug_disk: Domain 25:Args and
environment ready
libxl: debug: libxl_device.c:1197:device_hotplug: Domain 25:calling
hotplug script: /etc/xen/scripts/block add
libxl: debug: libxl_device.c:1198:device_hotplug: Domain 25:extra args:
libxl: debug: libxl_device.c:1206:device_hotplug: Domain 25:env:
libxl: debug: libxl_device.c:1213:device_hotplug: Domain 25:=C2=A0=C2=A0=
=C2=A0 script:
/etc/xen/scripts/block
libxl: debug: libxl_device.c:1213:device_hotplug: Domain 25:=C2=A0=C2=A0=
=C2=A0
XENBUS_TYPE: vbd
libxl: debug: libxl_device.c:1213:device_hotplug: Domain 25:=C2=A0=C2=A0=
=C2=A0
XENBUS_PATH: backend/vbd/25/832
libxl: debug: libxl_device.c:1213:device_hotplug: Domain 25:=C2=A0=C2=A0=
=C2=A0
XENBUS_BASE_PATH: backend
libxl: debug: libxl_aoutils.c:593:libxl__async_exec_start: forking to
execute: /etc/xen/scripts/block add
libxl: debug: libxl_event.c:720:watchfd_callback: watch
epath=3D/local/domain/0/backend/vbd/25/832/state token=3D2/1: empty slot
libxl: debug: libxl_event.c:864:libxl__ev_xswatch_deregister: watch
w=3D0x55dd8566ffa0: deregister unregistered
libxl: debug: libxl_linux.c:211:libxl__get_hotplug_script_info: Domain
25:num_exec 1, not running hotplug scripts
libxl: debug: libxl_device.c:1182:device_hotplug: Domain 25:No hotplug
script to execute
libxl: debug: libxl_event.c:864:libxl__ev_xswatch_deregister: watch
w=3D0x55dd8566ffa0: deregister unregistered
libxl: debug: libxl_event.c:864:libxl__ev_xswatch_deregister: watch
w=3D0x55dd8566c880: deregister unregistered
libxl: debug: libxl_linux.c:211:libxl__get_hotplug_script_info: Domain
25:num_exec 1, not running hotplug scripts
libxl: debug: libxl_device.c:1182:device_hotplug: Domain 25:No hotplug
script to execute
libxl: debug: libxl_event.c:864:libxl__ev_xswatch_deregister: watch
w=3D0x55dd8566c880: deregister unregistered
libxl: debug: libxl_dm.c:179:libxl__domain_get_device_model_uid: Domain
25:dm_restrict disabled, starting QEMU as root
libxl: debug: libxl_disk.c:1158:libxl__device_disk_find_local_path:
Directly accessing local RAW disk /dev/vg0/Legolas-disk
libxl: debug: libxl_disk.c:1158:libxl__device_disk_find_local_path:
Directly accessing local RAW disk /dev/vg0/Legolas-disk-exchange-backup
libxl: debug: libxl_dm.c:2975:libxl__spawn_local_dm: Domain 25:Spawning
device-model /usr/local/lib/xen/bin/qemu-system-i386 with arguments:
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0
/usr/local/lib/xen/bin/qemu-system-i386
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0 -xen=
-domid
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0 25
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0
-no-shutdown
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0 -cha=
rdev
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0
socket,id=3Dlibxl-cmd,path=3D/var/run/xen/qmp-libxl-25,server=3Don,wait=3D=
off
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0 -mon
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0
chardev=3Dlibxl-cmd,mode=3Dcontrol
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0 -cha=
rdev
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0
socket,id=3Dlibxenstat-cmd,path=3D/var/run/xen/qmp-libxenstat-25,server=3D=
on,wait=3Doff
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0 -mon
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0
chardev=3Dlibxenstat-cmd,mode=3Dcontrol
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0 -nod=
efaults
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0
-no-user-config
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0 -nam=
e
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0 domU
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0 -vnc
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0
127.0.0.1:20,password=3Don,to=3D99
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0 -dis=
play
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0 none
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0 -k
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0 de
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0 -ser=
ial
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0 pty
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0 -dev=
ice
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0
VGA,vgamem_mb=3D16
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0 -boo=
t
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0 orde=
r=3Dc
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0 -usb
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0 -smp
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0 6,ma=
xcpus=3D6
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0 -dev=
ice
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0
rtl8139,id=3Dnic0,netdev=3Dnet0,mac=3DX:Y:Z
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0 -net=
dev
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0
type=3Dtap,id=3Dnet0,ifname=3Dvif25.0-emu,br=3Dxenbr0,script=3Dno,downscri=
pt=3Dno
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0 -mac=
hine
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0
xenfv,suppress-vmdesc=3Don
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0 -m
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0 2456=
0
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0 -dri=
ve
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0
file=3D/dev/vg0/Legolas-disk,if=3Dide,index=3D0,media=3Ddisk,format=3Draw,=
cache=3Dwriteback
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0 -dri=
ve
libxl: debug: libxl_dm.c:2977:libxl__spawn_local_dm: Domain 25:=C2=A0
file=3D/dev/vg0/Legolas-disk-exchange-backup,if=3Dide,index=3D1,media=3Ddi=
sk,format=3Draw,cache=3Dwriteback
libxl: debug: libxl_dm.c:2979:libxl__spawn_local_dm: Domain 25:Spawning
device-model /usr/local/lib/xen/bin/qemu-system-i386 with additional
environment:
libxl: debug: libxl_dm.c:2981:libxl__spawn_local_dm: Domain 25:=C2=A0
XEN_QEMU_CONSOLE_LIMIT=3D1048576
libxl: debug: libxl_dm.c:2981:libxl__spawn_local_dm: Domain 25:=C2=A0
XEN_DOMAIN_ID=3D25
libxl: debug: libxl_event.c:813:libxl__ev_xswatch_register: watch
w=3D0x55dd85668ac8 wpath=3D/local/domain/0/device-model/25/state token=3D2=
/2:
register slotnum=3D2
libxl: debug: libxl_event.c:750:watchfd_callback: watch w=3D0x55dd85668ac8
wpath=3D/local/domain/0/device-model/25/state token=3D2/2: event
epath=3D/local/domain/0/device-model/25/state
libxl: debug: libxl_exec.c:407:spawn_watch_event: domain 25 device
model: spawn watch p=3D(null)
libxl: debug: libxl_event.c:850:libxl__ev_xswatch_deregister: watch
w=3D0x55dd85668ac8 wpath=3D/local/domain/0/device-model/25/state token=3D2=
/2:
deregister slotnum=3D2
libxl: error: libxl_dm.c:3131:device_model_spawn_outcome: Domain
25:domain 25 device model: spawn failed (rc=3D-3)
libxl: error: libxl_dm.c:3351:device_model_postconfig_done: Domain
25:Post DM startup configs failed, rc=3D-3
libxl: debug: libxl_qmp.c:1921:libxl__ev_qmp_dispose:=C2=A0 ev 0x55dd85668=
ae0
libxl: error: libxl_create.c:1867:domcreate_devmodel_started: Domain
25:device model did not start: -3
libxl: debug: libxl_event.c:864:libxl__ev_xswatch_deregister: watch
w=3D0x55dd8566a198: deregister unregistered
libxl: debug: libxl_dm.c:3565:libxl__destroy_device_model: Domain
25:Didn't find dm UID; destroying by pid
libxl: error: libxl_aoutils.c:646:libxl__kill_xs_path: Device Model
already exited


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 14:42:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 14:42:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256668.440606 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7epY-0004As-CS; Wed, 12 Jan 2022 14:42:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256668.440606; Wed, 12 Jan 2022 14:42:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7epY-0004Al-92; Wed, 12 Jan 2022 14:42:28 +0000
Received: by outflank-mailman (input) for mailman id 256668;
 Wed, 12 Jan 2022 14:42:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=no1k=R4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n7epW-0004AP-Tx
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 14:42:27 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id da3b89e6-73b5-11ec-9c70-5536b2d1e4e1;
 Wed, 12 Jan 2022 15:42:23 +0100 (CET)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2055.outbound.protection.outlook.com [104.47.9.55]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-33-H8-aPQ7cN-e_rUjHAT0iXw-1; Wed, 12 Jan 2022 15:42:21 +0100
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.4867.11; Wed, 12 Jan
 2022 14:42:19 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Wed, 12 Jan 2022
 14: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: da3b89e6-73b5-11ec-9c70-5536b2d1e4e1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641998542;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=hcDraGuilPP/6ZtPFI76HcQCZPyrFSvAmBeQ+5/lUwM=;
	b=QGuGboTwOfQYu/hnDrYuZx4aFp2RFedTd7YIxunhSF83lR42MsgKuDK2E0RKuMqXiz6L3Q
	ytuhKDiWI4D5Ez131Ylu7SKE9DTHAgU8ZWvAyePjAtENEf6evYPs/KmZsLCBhE0zQOBoM0
	FJcg6x9F+jIbZVrHICd+OJHMSwWj0KE=
X-MC-Unique: H8-aPQ7cN-e_rUjHAT0iXw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gOuu/h2T6leo0G6vVtaMuiUHLcEGCk+Oc3/RHBsaNtA3pdirbkpcSlIw1BSYxuGd+OyXm/W/AvAuxqjf34xZbfM/vV41XGGraDYJwrz53AFO0mWdbGhCVFnEazF5dKIQtP3KFK5V2fcErRMW/YkdQASwOP8fHnrkC+U97XzmBHzlVri/JcpVwyNPZTn6gJ/iW+4CGzCetGZGcw5HdYNmBEUgty9wYOVXpnATmslKJ5hoBvP+1Bt/JPx4QHuPzo1Bfk1a/+J2gwNnzs7qoEWoIh2grxsyosK4Ib9wBse1RxHMutcCC/Xn96a5lmfWQBI4wn5zA8mIGH58bUqvAWSL+g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3c7mr+1IjDTFZ2qeQkxXhtgqsz25YkWDAfDW3Iw1FzM=;
 b=PSVhrEyP2Gr74Y9LAoh+ZFhl2IWh6DYqLdSUdQwOnJZ4ffym0CG5Kd5X4lX5lf08t0zqXcoIP+IYMQKIYb9YB/WfRvLUkxs8rX6e7bpBkcXzBviL5YtR5QbELQSVsW8mrRa4Au73tCicTD3YsVAIVQs6cZzWNqfUEPuFXjMtJiw8k4FtYQEWwCe6s+r2XoXwM4cIuDHK1+Grs+aVbONjjOK1zeh9Jog/V8upnIKHrsS6xFP3JbT+5gGvH9N7dpXTZdaDXISziVdIgHWnQJGKFVupWqUr88Cp+qJxbdXupZMm9cC7RTlpQHdIyOMDrtKXBUrqk5AlYDrG9hc5pSfeog==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d738229b-11ed-db77-f313-5f1618ed95a1@suse.com>
Date: Wed, 12 Jan 2022 15:42:15 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH v5 03/14] vpci: move lock outside of struct vpci
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Oleksandr Andrushchenko <andr2000@gmail.com>
CC: xen-devel@lists.xenproject.org, julien@xen.org, sstabellini@kernel.org,
 oleksandr_tyshchenko@epam.com, volodymyr_babchuk@epam.com,
 Artem_Mygaiev@epam.com, andrew.cooper3@citrix.com, george.dunlap@citrix.com,
 paul@xen.org, bertrand.marquis@arm.com, rahul.singh@arm.com,
 Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
 Ian Jackson <ian.jackson@eu.citrix.com>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-4-andr2000@gmail.com> <Yd2ffPULbmNpSmaD@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <Yd2ffPULbmNpSmaD@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: FR3P281CA0048.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::20) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: adc0f04f-3cbb-4e65-bf06-08d9d5d9bbf1
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3535:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB3535CBD69D29779AB4B31630B3529@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:
	sQ6iUurMWzeBqi60HdxVE9ANQpDmDAZL8hLGlT1qfvXwcDI1WSX+rtiUFQhFwKi10ElozXs3gUZdtB4+47XWm/KMqr6kh0/1Nu9w+CyQZ8eYjnkvfoex9Y39z6wuCItkxp+e2eporsA5/GqF8cL90qNZKhSClCFmUvBLuEO9fCZyAa92QZ/7iRzVTUdWuBqAydMgiy9+vO2VoI2cTCbgduMxAc4r0s1deAxA7i4nJMeItqCBSuTCWGrVHJtM0xJyhsetmzQiuTe7zOplYvs/cDOFQhfi3ljX8vzvBooQV2Yceq0lSyQuXJPCxi2fZSe0FWEm+2EFgfXarfALzPD3GQPwJ0cpKzc9GKO0WpOCG72YkqxDu48Cf45a34dqMIYM7xcGUvbJg3cyGiB5GWZx/v+5fLfmHCq8aQ6+F41kpSlsK/79pNcBmZu+WFZHGFYc0CDLEwIh28D3tS/KgZ3u0Y3Nqmxf8Csn/BwBBWn0pWAO8RbeSNmN0e+TyNOWmtTxwoL0LDLkAUJ65DN46DQ8ZG8+R6VmDU5jfYE1fX1miNuKqLYErpwVkCrzapNBlCFXlwTkYteyNsF6h86p713wYKw+yFWS3jziom2KMHMr4y8OG+i1brDWVXHxClWF19d3jhXnxIDDLA49rE+Bck1iflmgJVZGJdWFHbPjrpN6rXBDeGWGD+Iwqn+gaUHbteECn2FRkRHAIgkSDCvpPa8BFsb6ZeAJjTP+rS4+sRd7980=
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)(66476007)(110136005)(66556008)(66946007)(38100700002)(6506007)(4326008)(2906002)(8936002)(31686004)(53546011)(31696002)(8676002)(186003)(6512007)(6486002)(7416002)(26005)(54906003)(316002)(83380400001)(86362001)(6666004)(36756003)(508600001)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?S+SvK53fN3uhST4pnD/YbZZheR387V4NsqYkqxwQio/fUfYXLlaUvU7ii71K?=
 =?us-ascii?Q?+qQ+xzRas1TAM0wdVmq7lRNpBh7gYpCYEpALDkmf41oW13CDw5v6MKLrjrTV?=
 =?us-ascii?Q?iHOOVbN6GDKVl8/QSrtS3YCwizRw1T5UYURihKEckW4BEjTsNxZYsyqawXlF?=
 =?us-ascii?Q?JFS8NU+dMVrO9J7w1cK3sQUp0DaK8DqJxmBCELGt/1Q9Cmwdrt1D6WGuEoUZ?=
 =?us-ascii?Q?dZ8VYe0nGJJDf4kV/hWwkWWBytTSPBGAbOrB0R69qlxfv9QRJOaT4pRUFQfa?=
 =?us-ascii?Q?DBh5kd1oxfFrL5h5cXG+twrC6nIpeWem8dUBXKK66I0UTs7jUDb5Y5cQ4ZRl?=
 =?us-ascii?Q?IpnlZRO00vVb106ZVIfjDPEVQJxERmSz3h/4YlM6BtfYcezyWNNucXfGbxZA?=
 =?us-ascii?Q?5+1X7kfn3x/nSxBznsJPSpMWWkrvQ/qo1EAcHxwkaT1Kg9nVfjHrV2oLzxS9?=
 =?us-ascii?Q?2rUZPthRJW2CD5yRmDHWETBURKCZzclyAW1D/JXeSVi30NYoKmfKbBysx68A?=
 =?us-ascii?Q?nqn+lUWqvmdX0edb7H9mkaO4pPT3F5X+pzYtdVhioSy/GGoYTn0kl6zi69/u?=
 =?us-ascii?Q?XIeiuLVObzw0Snk6eV3WvGgZVQ7aeuk0j/QmMmON1RV0tf/8W7KUfceIk7Lw?=
 =?us-ascii?Q?yhQMFhA9yyRlDb37XSLZiE0hLDMkRD61oQylrtT8baVpwMuZ5uJ8bfJcfspj?=
 =?us-ascii?Q?IDJTLE71Zjlun7jgo/zEIXA/HNnD8vjTjtR9a+XDRE87XNl6rnYgK50ITbRr?=
 =?us-ascii?Q?dcr+943hFMdovhirnc5I4iUIV7mrd/uOTVLFMtQ4r5OUmtJLTPA7t/08I0lX?=
 =?us-ascii?Q?ZNkw1hH0Ys/OM3ZN3T/hj3XRPjTXj5kXTl2WeBQHovOnZQbNxSax9wS/CyTM?=
 =?us-ascii?Q?2yhANMeUJF7e2NGqhkdeFXkk/HQBZpof/YxhK71hXdeK3c2kJHl93K9gzrwx?=
 =?us-ascii?Q?1wSyjXQMIVE6IFdaHm4l7fQovfNwtiJQI+XHwKK8ZdPL45QQ6Y7o78xNMawF?=
 =?us-ascii?Q?wdWlwq7+/+V+uHhawvyJ16KbwpeAyqcI8lGcA2C0xA43vapsZRMRLx1TyY8q?=
 =?us-ascii?Q?0tiEgIHLjYGgBVAbJ4sA5dxrSDY7sxT6sAxPRSUbHWADM4rQ55dOIOqIHnyU?=
 =?us-ascii?Q?oDPynb9CbXI0H3pm0woP9vdqZVRMnsnM+Ed5tc4DwaCmUKQeah2l69Y5zTv7?=
 =?us-ascii?Q?rlLUBCS2r8XkSxahZiwUWO42SdOCf255fkh25X7fXq4ekhHBGEW9MePHyfQf?=
 =?us-ascii?Q?2T0x0ATIIzjTurglBsh4TUZEqZlE8uQk+7o+ISeVCtmLHy5bqCe7Io91gk6+?=
 =?us-ascii?Q?5/EhM792HqiqwS/gWEdsHPVeb75lpN7QZ69/nwCyyiC7RpKsbb5y0c8wXkhj?=
 =?us-ascii?Q?Uli2aH7hPNGgz+j+9BC3e6od4qhB414qMIe2jWTr5z2vx5BW3HLdgwnXVzct?=
 =?us-ascii?Q?b9Cj+3vY+vYHjY4rBeDMwgIeN/0AUffCSoK0748zDvqFTa9bqBr/okqw3GxC?=
 =?us-ascii?Q?ylQf3IYO1LcvJebSnLIzpst+nL0Lkkug62mEM2f6y4vCJZaQtj2oW/fpavcZ?=
 =?us-ascii?Q?sDw8IxlS0v+cLVeAbA55nhONY4STZD1MPXKuEww07B4LdPnjT3RjSbe/paoQ?=
 =?us-ascii?Q?D0xPh5k4IiIwcEwu2Q17L+o=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: adc0f04f-3cbb-4e65-bf06-08d9d5d9bbf1
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2022 14:42:18.9356
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: RRyLf0xV6Nk/Uah6wFkYNyiZx/1DJSrSTWBlh6b7LqTqkIe1NxqjBG+bMc2N6zqRJE3qqFqQy6hScnjxC0K4Gg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3535

On 11.01.2022 16:17, Roger Pau Monn=C3=A9 wrote:
> On Thu, Nov 25, 2021 at 01:02:40PM +0200, Oleksandr Andrushchenko wrote:
>> diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
>> index 657697fe3406..ceaac4516ff8 100644
>> --- a/xen/drivers/vpci/vpci.c
>> +++ b/xen/drivers/vpci/vpci.c
>> @@ -35,12 +35,10 @@ extern vpci_register_init_t *const __start_vpci_arra=
y[];
>>  extern vpci_register_init_t *const __end_vpci_array[];
>>  #define NUM_VPCI_INIT (__end_vpci_array - __start_vpci_array)
>> =20
>> -void vpci_remove_device(struct pci_dev *pdev)
>> +static void vpci_remove_device_handlers_locked(struct pci_dev *pdev)
>>  {
>> -    if ( !has_vpci(pdev->domain) )
>> -        return;
>> +    ASSERT(spin_is_locked(&pdev->vpci_lock));
>> =20
>> -    spin_lock(&pdev->vpci->lock);
>>      while ( !list_empty(&pdev->vpci->handlers) )
>>      {
>>          struct vpci_register *r =3D list_first_entry(&pdev->vpci->handl=
ers,
>> @@ -50,15 +48,33 @@ void vpci_remove_device(struct pci_dev *pdev)
>>          list_del(&r->node);
>>          xfree(r);
>>      }
>> -    spin_unlock(&pdev->vpci->lock);
>> +}
>> +
>> +void vpci_remove_device_locked(struct pci_dev *pdev)
>=20
> I think this could be static instead, as it's only used by
> vpci_remove_device and vpci_add_handlers which are local to the
> file.

Does the splitting out of vpci_remove_device_handlers_locked() belong in
this patch in the first place? There's no second caller being added, so
this looks to be an orthogonal adjustment.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 12 14:49:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 14:49:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256695.440635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7ewN-0005yY-Kr; Wed, 12 Jan 2022 14:49:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256695.440635; Wed, 12 Jan 2022 14:49:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7ewN-0005yR-Hu; Wed, 12 Jan 2022 14:49:31 +0000
Received: by outflank-mailman (input) for mailman id 256695;
 Wed, 12 Jan 2022 14:49:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=sYkP=R4=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1n7ewM-0005yL-MN
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 14:49:30 +0000
Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com
 [2a00:1450:4864:20::134])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d89e29a5-73b6-11ec-9c70-5536b2d1e4e1;
 Wed, 12 Jan 2022 15:49:29 +0100 (CET)
Received: by mail-lf1-x134.google.com with SMTP id e3so6219837lfc.9
 for <xen-devel@lists.xenproject.org>; Wed, 12 Jan 2022 06:49:29 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d89e29a5-73b6-11ec-9c70-5536b2d1e4e1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=WHIhYC3gdGHJzmUDZAG5gqn0GnXChwnbc6O3EbCtFfc=;
        b=jcaa8ErfJbccwYJphiAjSxgVCWfLWkmggHrTvn7XmCaq+8j1PMTCjS0iUmoyYoDMcM
         ffK00pLGkX39dzhzbrzcWFJ2PirDvgIj4omSgrJSrJ01wolu/Qu26EU0Tr7pQN72f/ew
         dr5davtMbbEyNK7DkzeD8CP7HzBYt5Ytx7IKRMPrfU3oT1fYRqIFnwQMVeY2RJAIsD38
         co5/9jyebFoRh/x7Vai9XQ4mDogZI/Q6yFnJmhemq5yc+oITj/BC7WOeQUt/gFruY1if
         iwmaLZIGKMWpxUzrd5HxAyWBDRt6UUN0gCAfnuVLM04R3o3e8KnRKMeug8KDR/vtdb1x
         QeEg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=WHIhYC3gdGHJzmUDZAG5gqn0GnXChwnbc6O3EbCtFfc=;
        b=Aw3JHj5qqtbUWHm7705mAdam0DjksHNkyd6lRfScrmWvU/+K6ywJPUnXw90uafABKN
         M+6lGZ2Jo2hvrqOaskwZbuIMf6jnvyPQ+K6PBKmSaUSxDHnx7PsMR8ae4Ru1L92Clidi
         sDTYH+eYtL9lgOx4JMJBxqiW3QOn/iSrw7XawJuSwm1qvrp9T1oq+28avPVyc3mMUy7s
         WtsWKvFK5uXDWAO2o+BQZB9cYSpgADwzOgnwcg+0G8Q2MKfBMwTIxiRaYPrsNPTIQldw
         RmEpZHUPWuXVz/W4M5r0XAZvZqZkUjDNCWnzoJrhyPK1qU9uwZYZH0NAONdDvcEjJxSO
         JyhA==
X-Gm-Message-State: AOAM531kAEYoWDhxZl2shWk4PdBHw+gqR07qy6yIys0xGxIgSP6txOg1
	iQDXz0Lstm4TNCRfqJpPsDLfCVMQPyKOIZ0Vrg0=
X-Google-Smtp-Source: ABdhPJw7OzWywl9Yw+IvZBUVTBVTL8Tl6l339VAIuGh5FFoA1LdWumzPf4FpgyK4C13YFiVrsTeY6J9gWtFTu5oIgPk=
X-Received: by 2002:a05:6512:3a8f:: with SMTP id q15mr89442lfu.128.1641998969412;
 Wed, 12 Jan 2022 06:49:29 -0800 (PST)
MIME-Version: 1.0
References: <8b95ffea-d664-ce87-e386-73a06c265cac@web.de>
In-Reply-To: <8b95ffea-d664-ce87-e386-73a06c265cac@web.de>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Wed, 12 Jan 2022 09:49:17 -0500
Message-ID: <CAKf6xpuuNVV_2g+hDTvHMPg3-QWxP_jABCUi3i4c245SkLtg0g@mail.gmail.com>
Subject: Re: device model: spawn failed (rc=-3)
To: Ronny Wagner <starchip2000@web.de>
Cc: xen-devel <xen-devel@lists.xenproject.org>
Content-Type: text/plain; charset="UTF-8"

On Wed, Jan 12, 2022 at 9:20 AM Ronny Wagner <starchip2000@web.de> wrote:
>
> Hello,

Hi

> i restart my windows domU today.
>
> And now, the domU don't start. Have anyone a idea, why? I am not change
> any config on the Host.
>
> Thank you for helping!
>
> Fail-Message:
> root@server ~ # xl create -f /etc/xen/domU.cfg
> Parsing config from /etc/xen/domU.cfg
> libxl: error: libxl_dm.c:3131:device_model_spawn_outcome: Domain
> 24:domain 24 device model: spawn failed (rc=-3)
> libxl: error: libxl_dm.c:3351:device_model_postconfig_done: Domain
> 24:Post DM startup configs failed, rc=-3
> libxl: error: libxl_create.c:1867:domcreate_devmodel_started: Domain
> 24:device model did not start: -3
> libxl: error: libxl_aoutils.c:646:libxl__kill_xs_path: Device Model
> already exited
> libxl: error: libxl_domain.c:1183:libxl__destroy_domid: Domain
> 24:Non-existant domain
> libxl: error: libxl_domain.c:1137:domain_destroy_callback: Domain
> 24:Unable to destroy guest
> libxl: error: libxl_domain.c:1064:domain_destroy_cb: Domain
> 24:Destruction of domain failed

Look in /var/log/xen/qemu-dm-domU.log (domU matching the domain's
name) to see why QEMU exited.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 14:57:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 14:57:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256699.440647 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7f4L-0007P4-F6; Wed, 12 Jan 2022 14:57:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256699.440647; Wed, 12 Jan 2022 14:57:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7f4L-0007Ox-Bo; Wed, 12 Jan 2022 14:57:45 +0000
Received: by outflank-mailman (input) for mailman id 256699;
 Wed, 12 Jan 2022 14:57:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=no1k=R4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n7f4J-0007Or-Qw
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 14:57:43 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fe382f17-73b7-11ec-bd6f-bfb69f65cdc7;
 Wed, 12 Jan 2022 15:57:42 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2104.outbound.protection.outlook.com [104.47.18.104]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-35-S18FtJLQMsq5rZx8yel6jA-1; Wed, 12 Jan 2022 15:57:40 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4349.eurprd04.prod.outlook.com (2603:10a6:803:40::27)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.11; Wed, 12 Jan
 2022 14:57:39 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Wed, 12 Jan 2022
 14:57: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: fe382f17-73b7-11ec-bd6f-bfb69f65cdc7
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1641999462;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=WlrQJaVuKbLjAc7DiuNHwT5Rir1lD4aH1Fh/EekoU2M=;
	b=EWHScCXFolwbMHM0scihy9WKtIlldqx5hpaejPb2ZVQ06ZDDiIoOaw/1IjbHrYYgYspBKd
	zhbkQ/IkvS/s3BNTdpVVxyrvVNJFrprJ10dWLUw5Il43GyIrT4Oi/CnCmpeSRx6T3jOTgn
	009Kvw0KhlYj6LmylqDT5lovsN9VrNA=
X-MC-Unique: S18FtJLQMsq5rZx8yel6jA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CalGANQkC1wlxvCA+G0IJxNmxpdCKCvtto+08kfGayr3XyDGqKUD/Qxtr1YbojfOXGbt8r9t8V0m6M5IvdX2DBCxJ6BqX4NlyJn5REhgafLnrXIWIPAX1TuMzcIctCspo24Pw8OfceRFndCFApY5a8duN0vfdtqkCweThvHwpcPabjo7bEfi3zXYibihafiN2syMNqS1ww1em9phnX7kqsAL82lWFIO/nvtwdsFEGOsPxl9BnSSq0eq6pl7AlL/7EPMOjzmaHnG24S1pziRAra5p+92f9zrX/4/Oav4O3HIQRQ+hSn99XpoGj7T+pz+eM4Zw78kswR19rYPztXtJIg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WlrQJaVuKbLjAc7DiuNHwT5Rir1lD4aH1Fh/EekoU2M=;
 b=NAo7PE1unUgRnolNbubzTMGtrizXqIPLhi2nqtNk+qzn6SNAU/7M0Aq7xTzkAfzL2lZ8Ig+9lAwenJs4UMG41dP54dUzaU9lBnuvx2byrRJ1mcHRHOc5b6fd9cske6w38Z7PCVCzY1fHIxa13JONoR5e6fIO+W9gqLtisiIxJ4AUzdQQBU8n0cBouD8xCbWwZHHVAA97UyUjzyHs1FHSqtH5iwxdOy1j88V0EH2heXkBnPNKHRW/EyJLANUfve/UBI56AM+PEhYZuWPMA1Nkb0QXZfVUXnW6yBNynVe6NJ3xnQNUc3v0mKqwzO647E0armVCiozGeRFhTFFiT2h65w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c7a9020a-9713-47b6-45bf-5ac2c6d4157c@suse.com>
Date: Wed, 12 Jan 2022 15:57:36 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH v5 03/14] vpci: move lock outside of struct vpci
Content-Language: en-US
To: Oleksandr Andrushchenko <andr2000@gmail.com>
Cc: julien@xen.org, sstabellini@kernel.org, oleksandr_tyshchenko@epam.com,
 volodymyr_babchuk@epam.com, Artem_Mygaiev@epam.com, roger.pau@citrix.com,
 andrew.cooper3@citrix.com, george.dunlap@citrix.com, paul@xen.org,
 bertrand.marquis@arm.com, rahul.singh@arm.com,
 Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
 xen-devel@lists.xenproject.org
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-4-andr2000@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20211125110251.2877218-4-andr2000@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR0402CA0016.eurprd04.prod.outlook.com
 (2603:10a6:203:90::26) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d38188c0-a3a5-4d7d-52ae-08d9d5dbe06a
X-MS-TrafficTypeDiagnostic: VI1PR04MB4349:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4349825F15C2B3BBD5D6FC2BB3529@VI1PR04MB4349.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:
	1NEZAX5grIbE4vNcFj/Kj1k/NP8rGn88E6aGjsDju6AOPbcP7FnhYw0VGAATiqw2rbAIcCqdyOXGWD46Onqwvf1ftvYF1GjIvfH/Nt8qH0dcN8U+/HwnIdKG5pe4T/GkSr+DcSFBaCdFGVpm/kz0LY8m6pvX5bI9HnlHLSQGXWaypv5mTEm7atDraB4u6oJi5l7i23Vrapx6URz+X+kMCmiMM6DSxV0QDtnYvlxhaUY0sm0qgtM3XDjk6si8yTdXt78LyH37Kb4LbQUPPy7lBl3b3EI1uwPv5qTvsebUCKS0P0XPAStbtmXdShFTQIUC2giZK19ZVinLgb9qAQvhH7USrv6x4U0zcMGQeRZ5qNh/YTEj872aUEAGuuzhcmJIWS+SaiToTlngJPlbylK+TVeOn1TvYkdTN633e5SDueGEGK/0da5NNaEsWC69QEMQQ8Iauy9rjgDtzT8m5TkbJ0FYjSqvMPMzuSumsF4X144MksZpsSm6ISS4EPht5Qg0JW5UWcXdpEDV3TT1KxjXDlm3XmKsu8WVUz4u11g+qNniaPwUcRosY2cPAXasot2QMtkMBvRDOAkNVeZoNpXonwetn12J0Wk1oBSBNQbvzGJJn0uJaJpbB7gEt46FmRDpp9fcbKUJHvniOuq/dMUw7PWNd+bvW1D4v0XM7ebi6ETJr2altK8SBtLvVSGsvmiF9wQ7m8b45BbDqekDyThNJBsw2YrdUX4yEOXs37v1CveJjvd2HD6w1YXAUDWxxisw
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)(6506007)(6486002)(31686004)(6666004)(8676002)(53546011)(186003)(26005)(5660300002)(38100700002)(8936002)(508600001)(6512007)(31696002)(2906002)(86362001)(6916009)(66476007)(83380400001)(36756003)(316002)(7416002)(66556008)(66946007)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RDgzY01MU29ybXJBZStENXlJbHllMnBmSktLY2xjbE9xR0t0YW0rL1RxN2dt?=
 =?utf-8?B?VHVkVVFwUm83U2x2WmhpbklIN1VyR0tjOEIzc3JsdExWa2Ivb3V5THhZNUxj?=
 =?utf-8?B?VXlPeDYxZ1hoanVrRlhMRkhhQXRqM20ycTdORVk1bm84ZUpwVW5WbGR3ZS9F?=
 =?utf-8?B?cENrbGJYTS9RdzFkajJSaXZ6dnJ3YzZzaUVZYWJ5SlRHbGppOXNLMmRMWkRP?=
 =?utf-8?B?ZHFlSElORkYrSjdFVis2Rlc1ak9tVGVEZHVFUXpjNU5yc1hOdGJrWDFnUXds?=
 =?utf-8?B?b0FvSVhzc3N0ZStSL01vQTJHMXlxU0ZUMVlKRzJ6RXJzcVRNdTBtRzF6TURH?=
 =?utf-8?B?RzRkUDJhYzRvajBPRFZaQktIaG1mUTltVnBYSCtnSDg5RFQ4VFpabi9ITDFk?=
 =?utf-8?B?VXBaWEJtWGFCNURtMUk5d0Q5NG0vTmpaeW5lVmJFenVDUlJ1RGlXRDVlQzVo?=
 =?utf-8?B?ZGNYZmdhYXdvOXdqSjVMME5vZ1hhTW9uRE02dEJDNmx2TmhSbHN0NzAvZmNj?=
 =?utf-8?B?ZXdsdnNmYTBVZGluZDF5cWxXZlBrWkVNZjJ2ZzJFVm1TV0RCeEwxdUJTTzU0?=
 =?utf-8?B?cjRHMURlZ0ZvN1NzdURkWG1NOUpZdlkzMnBkbVQ4VHBJUEVDYnpSTzhGdkFm?=
 =?utf-8?B?TUFqY0tpZE1PZHF2bFBxMVBjR0tLcnA1cTFNRU1wS2Z0MytpOGVWaUsrNkly?=
 =?utf-8?B?VXBQcUlKNkU0V3pBNmtSdjlCUk95bkpnbnlhTzFpS3VXY0ZWNEVPT0dCY09E?=
 =?utf-8?B?Mlc3NlZhODNUbTlxb0QwR1ZZWmFydWYrbWI4QVJMbWJUenIvNVVRbzZXamds?=
 =?utf-8?B?WHZuZXErSndKMTNDeFF5VVlLbm9JeDNxQ04wZnF1eXFYams4eXpYVGY3QjJQ?=
 =?utf-8?B?RjFUM1M4bEQzVWhZUGRaTTFuV0E1eEdUcURUOFNaWC9KTmM0b2taUElOSys4?=
 =?utf-8?B?Lysva3YwTnZBL2VMNC9qeHhyOXlSWmNhMzVUcnpLcDNvNVFySjVSdzY3MTZu?=
 =?utf-8?B?cDlwSHFkTzZUYXFnaldGQzFlUGZ4N0tJTjVSYlkvdGJKUU0zODNncFovK3lQ?=
 =?utf-8?B?czA4bnk1eW5ZVzNJNDR6WngrMWpucEVMMDJjTEEzVHV3YVg0L1k4bkErVjVZ?=
 =?utf-8?B?OVQvMGVZZnIrOUlSZ3JvbWVLQXc3VjNYYXNHQTcwRXQzZjJqSk5xY3VDelhW?=
 =?utf-8?B?QWNxRk5iWUE4Rm1BWTd1R3lpbjBwbnJwd2g3Njd5QXViRklKOUIwUXRpSThG?=
 =?utf-8?B?enRTZUJLNWNWdkp1ZmNTY2pRaTFQRC9BK09DdktCYy95YlBBbldNWkhPbU5N?=
 =?utf-8?B?QlNXdDEwdFYybHRxOGdaQVRub25odlI2T3hVZ21Wbk5RNUd2dkhFRmFzeWhB?=
 =?utf-8?B?Y1VNL1FDUUVIT2g5OU4zSlZaR3hieTl5K0ZQWjczcmxvL0JiOGxIckllNGFL?=
 =?utf-8?B?TWJoVFM2d05ROXE4WVVPUHB0L2x0VWppZmczdHUwMUNJTnBNaS9EVVRna3N5?=
 =?utf-8?B?Mm5mNzF5OWR5QzRmV2N0VTFDSTJOWTJoNTJLaHYxQ2JKRG5KN0tMbTlFYXl4?=
 =?utf-8?B?bEhuK2VxZDNjdzMxaUpDWVdLcGxvV0RpdmJ0cTVYT0ttcDFEQlRxclc1NjdI?=
 =?utf-8?B?TU9sRjd1a2p3VE9yMjgzZkZ1ODhabW1IeDJ6U3dLRjU5WklYYzFIZ0ViY2xq?=
 =?utf-8?B?bStrd21oclN3RkIwaE1iUE9QNWtpWGlvK3pvUXlLUVI4U08xRFc0d2t4WTkv?=
 =?utf-8?B?V0E4UFNxQXJDelBWOWhDb3Yyak1HNThITmpXZk9IUlV5Um1BVjZva2pMTnZN?=
 =?utf-8?B?Y3lFRkZrREhSQmtac3NKeGpQYUNYN2J2MkVST2lYVWZ5eUNaMWYyclUrS0JN?=
 =?utf-8?B?ZjlKRk4zNzVNNE9acHlZdTd6aXJHS1cyMGRrTDI5ajFRVkJzQUwzYXZuZDll?=
 =?utf-8?B?V1BqSlZsTHpwalpIUVh6UWpoV0MzM2JRQ2dIZ2Fsc2s1NWZ0U0RvL09McnVj?=
 =?utf-8?B?UUpsSTM3OXpmcTE5UjVhUGJkNkRtamI4dzFRN3BrZlcvQTIvbVVOajBJdWNo?=
 =?utf-8?B?aWF4MU1neU9nYk5ZOHI5czZDdUFxZ1EyQU1EQXhyd0ZHSFZmZzJRZFdldkYz?=
 =?utf-8?B?S3hhK25RY3BLQmNmTEl5Q1ZNUkRMVlRZVGIvZFBaYmE4V01YSVoyT2NoVXMx?=
 =?utf-8?Q?Xco+tYOymsMujJYFMsRsEwo=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d38188c0-a3a5-4d7d-52ae-08d9d5dbe06a
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2022 14:57:39.0563
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: NwXsoMZX+jh5ej8GeC1XlLkzmIyRpITdzmtdHBtH2/a8qlBvIVfgEi8ZfynxhiV6xjzeQuvSVG1oZOz3+j4HOA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4349

On 25.11.2021 12:02, Oleksandr Andrushchenko wrote:
> @@ -68,12 +84,13 @@ int vpci_add_handlers(struct pci_dev *pdev)
>      /* We should not get here twice for the same device. */
>      ASSERT(!pdev->vpci);
>  
> -    pdev->vpci = xzalloc(struct vpci);
> -    if ( !pdev->vpci )
> +    vpci = xzalloc(struct vpci);
> +    if ( !vpci )
>          return -ENOMEM;
>  
> +    spin_lock(&pdev->vpci_lock);
> +    pdev->vpci = vpci;
>      INIT_LIST_HEAD(&pdev->vpci->handlers);
> -    spin_lock_init(&pdev->vpci->lock);

INIT_LIST_HEAD() can occur ahead of taking the lock, and can also act
on &vpci->handlers rather than &pdev->vpci->handlers.

>      for ( i = 0; i < NUM_VPCI_INIT; i++ )
>      {
> @@ -83,7 +100,8 @@ int vpci_add_handlers(struct pci_dev *pdev)
>      }

This loop wants to live in the locked region because you need to install
vpci into pdev->vpci up front, afaict. I wonder whether that couldn't
be relaxed, but perhaps that's an improvement that can be thought about
later.

The main reason I'm looking at this closely is because from the patch
title I didn't expect new locking regions to be introduced right here;
instead I did expect strictly a mechanical conversion.

> @@ -152,8 +170,6 @@ int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
>      r->offset = offset;
>      r->private = data;
>  
> -    spin_lock(&vpci->lock);

>From the description I can't deduce why this lock is fine to go away
now, i.e. that all call sites have the lock now acquire earlier.
Therefore I'd expect at least an assertion to be left here ...

> @@ -183,7 +197,6 @@ int vpci_remove_register(struct vpci *vpci, unsigned int offset,
>      const struct vpci_register r = { .offset = offset, .size = size };
>      struct vpci_register *rm;
>  
> -    spin_lock(&vpci->lock);

... and here.

> @@ -370,6 +386,7 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size)
>              break;
>          ASSERT(data_offset < size);
>      }
> +    spin_unlock(&pdev->vpci_lock);
>  
>      if ( data_offset < size )
>      {
> @@ -379,7 +396,6 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size)
>  
>          data = merge_result(data, tmp_data, size - data_offset, data_offset);
>      }
> -    spin_unlock(&pdev->vpci->lock);
>  
>      return data & (0xffffffff >> (32 - 8 * size));
>  }

Here and ...

> @@ -475,13 +498,12 @@ void vpci_write(pci_sbdf_t sbdf, unsigned int reg, unsigned int size,
>              break;
>          ASSERT(data_offset < size);
>      }
> +    spin_unlock(&pdev->vpci_lock);
>  
>      if ( data_offset < size )
>          /* Tailing gap, write the remaining. */
>          vpci_write_hw(sbdf, reg + data_offset, size - data_offset,
>                        data >> (data_offset * 8));
> -
> -    spin_unlock(&pdev->vpci->lock);
>  }

... even more so here I'm not sure of the correctness of the moving
you do: While pdev->vpci indeed doesn't get accessed, I wonder
whether there wasn't an intention to avoid racing calls to
vpci_{read,write}_hw() this way. In any event I think such movement
would need justification in the description.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 12 15:16:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 15:16:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256703.440658 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7fLl-0001K6-2h; Wed, 12 Jan 2022 15:15:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256703.440658; Wed, 12 Jan 2022 15: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 1n7fLk-0001Jz-Ur; Wed, 12 Jan 2022 15:15:44 +0000
Received: by outflank-mailman (input) for mailman id 256703;
 Wed, 12 Jan 2022 15:15:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dBVB=R4=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n7fLi-0001Jt-Ni
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 15:15:43 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7ef3470b-73ba-11ec-bd6f-bfb69f65cdc7;
 Wed, 12 Jan 2022 16:15:39 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7ef3470b-73ba-11ec-bd6f-bfb69f65cdc7
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642000539;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=eb2Ss/dz5YA6/xMiFTGcENxWmFyMZybHkCICj/uCabs=;
  b=DI5Tj2ar8Gj2qboehIoX/EgNVJ0aicKUAAOFFa2mWrkfdIWc4rGWnENk
   JBm6NW3pEB9tBQrOUPf9hnSL7l3fxelN6ZwcTdh6AQH0jPM3OyEU4MAQr
   k97kp1TD+YcobVwFR8PhwpVnMkcl/RWOb+GSr2Pv7RJXsaadgM/Lw61mr
   Y=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: 8a6ID/RtoIoOzSn8rQ1mzM72h2BfMzpStZ0K3T4hGGCc7df1SMbbJcVA31BqvrdTggXYUGJThP
 Wn/sSOv6FgSdDn8OEVhOcxXFGQuviNb+r+QaVmI+bu+lkGwVC/KxF5p5dz//TJuBVdl8388qg9
 0GFiiTWk021NpVMSd5Fa/dD8o4bZbVU+5saYQFsJIXVQvCwppQHqWPeJTdBC/E7CFrwy/MBSsK
 S+UXqZejYJkYVzbXdP1+LHzVl81mWolSMbVU43IdywQjgmhgty7hSLt4LXuMsut1J+2mK4DXER
 MoL7sEjcGQgaqiEGTZIaepXq
X-SBRS: 5.2
X-MesageID: 63962478
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:QQ7NG67ysxd1Cd60oy+ZBgxRtPjBchMFZxGqfqrLsTDasY5as4F+v
 jcWCm2CM6mINzSjed9yO4++804G65KDzNFhHAA5rChkHi5G8cbLO4+Ufxz6V8+wwmwvb67FA
 +E2MISowBUcFyeEzvuV3zyIQUBUjclkfJKlYAL/En03FV8MpBsJ00o5wbZg29Qw27BVPivW0
 T/Mi5yHULOa82Yc3lI8s8pvfzs24ZweEBtB1rAPTagjUG32zhH5P7pGTU2FFFPqQ5E8IwKPb
 72rIIdVXI/u10xF5tuNyt4Xe6CRK1LYFVDmZnF+A8BOjvXez8CbP2lS2Pc0MC9qZzu1c99Zz
 o4U9sLzSwUSZ7DSnM0jYjgDNwZeFPgTkFPHCSDXXc27ykTHdz3nwul0DVFwNoodkgp1KTgQr
 7pCcmlLN03dwbLtqF64YrAEasALNs7kMZlZonh95TrYEewnUdbIRKCiCdpwgmxh2JoSQqa2i
 8wxQhg2LxiQaD50HE4dFrcXzL+Q33KgWmgNwL6SjfVuuDWCpOBr65D1OcfRUsyHQ4NShEnwj
 mDM8nn9AxoaHMeC0jfD+XWp7sfmhz/2XbU3BbKx9/N0qFCLz2lVAxoTPXO8pfS6kUe4V8hoI
 koY4Dc1raMy+UqoSfHwRxS95nWDu3Y0QdNQDul88wCLxar86hycQGMDS1ZpYtE8qNU/QzBs0
 1aThs7oHhRmqrjTQnWYnp+WsDezNC49PWIEIygeQmMt89Tl5Y0+kB/LZtJiC7KuyM34Hynqx
 DKHpzR4gK8c5eYC0amhpwif2xqjo5HISkg+4QC/dnyi6gR1dYu0fbui4FLQ7etDBIuBR1zHt
 38B8+CZ6O0NFpiLmDa6XPQWHLqp6vCGNxXRmVdqWZIm8lyF4GW/dIpd5DV/IkZBMcsefzLtJ
 kjJtmtsCIR7ZSXwK/UtOsToVppsnfOI+cnZuu78aIEXIcYydg28pTxwYWeu7kG2tG8MuPRqU
 XuESvqEAXEfAKVh6TO5QeYBzLMmrhwDKXPvqYPTlEr+j+fHDJKBYfJcaQbVMLhlhE+RiFiNq
 75i2922JwKzuQEUSg3e6sYtIF8DNhDX7rim+pUMJoZvzueLcVzN6sM9I5t9KuSJfIwPz48kG
 01RvGcCmTITYlWdeG23hohLMu+HYHqGhStT0dYQFVipwWM/Ro2k8b0ScZA6FZF+qrA6nKQqE
 aldJJ7Rahiqdtgh025MBXUahNYzHClHeCrUZ3b1CNTBV8MIq/P1Fi/MIVK0qXhm4tufvsoiu
 bywvj43srJYLzmO+P3+Mar1p3vo5CB1sLsrAyPgf4cPEG2xrtkCA3Gh35cffpBXQT2el2Ty6
 upjKUpCzQU7i9VroIChaGHth9rBLtaS6WIBTjaLtujnZHCKlodhqKcZONu1kfnmfDqc0I2pZ
 PlPzuG6N/sCnV1QtJF7HaotxqU7j+YDbZcApui9NHmUPVmtFJ16JXyKgZtGuqFXn+cLsgqqQ
 EOfvNJdPOzRas/iFVcQIisjb/iCiq5IymWDs6xtLRWo/jJz8ZqGTV5WY0uGhhtCIeYnK4gi2
 +og5pIbslTtlhowP9+apSlI7GDQfGcYWqAqu8hCUo/mgwYm0H9YZpnYBnOk6Z2DcYwUYEIrP
 iWVlOzJgLEFnhjOdH86FH7s2+tBhMtR5EAWnQFaf1nQw4jLnP462hFV4A8bdAUNw0UVyf93N
 0hqK1ZxefeE8QB3iZURRGurAQxAWkGUoxSj11sTmWTFZEC0TWiRfnYlMOOA8U1FoWJRej9Xo
 OORxGr/CGu4ecjw2m05WFJ/quylRtt0r1WQlMeiFsWDPp87fTu63fP+OTtW80PqUZErmUnKh
 eh25+IhO6T0OBkZr7A/F4THh68bTwqJJTAaTPxslE/T8bowpN1mNeCyFn2M
IronPort-HdrOrdr: A9a23:slBkrK1EtCODWqIdVt/kfwqjBVByeYIsimQD101hICG9Lfb2qy
 n+ppgmPEHP5Qr5OEtApTiBUJPwJk800aQFm7X5XI3SJzUO3VHHEGgM1/qB/9SNIVyaygcZ79
 YcT0EcMqyPMbEZt7eC3ODQKb9Jq7PmgcOVbKXlvg9QpGlRGt5dBmxCe2Cm+yNNNW177c1TLu
 vh2iMLnUvpRV0nKuCAQlUVVenKoNPG0LrgfB49HhYirC2Dlymh5rLWGwWRmk52aUIE/Z4StU
 z+1yDp7KSqtP+2jjfaym/o9pxT3P/s0MFKCsCggtUcbh/slgGrToJ8XKDqhkF/nMifrHIR1P
 XcqRYpOMp+r1vXY2GOuBPonzLt1T4/gkWSvmOwsD/Gm4jUVTg6A81OicZyaR3C8Xctu9l6ze
 Ziw3+Zn4A/N2KOoA3No/zzEz16nEu9pnQv1cQJiWZEbIcYYLhN6aQC4UJuFosaFi6S0vFqLA
 BXNrCc2B9qSyLbU5iA1VMfg+BEH05DUytue3Jy9PB8iFNt7TJEJ0hx/r1qop5PzuN5d3B+3Z
 W1Dk1frsA6ciYnV9MNOA4/e7rFNoXse2O7DIvAGyWvKEk4U0i92aIfpo9FoN2XRA==
X-IronPort-AV: E=Sophos;i="5.88,282,1635220800"; 
   d="scan'208";a="63962478"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=U+wdG8Fw6B1L4FCO9YemEs/Jr6yj1wi0XfcAajNyby+y8C7hNfM1xFLL0H4V6CnnKm8qhPS06Z5xNkEhRAA5HvQTJ8zwcDmuzqaNM6MAk6lcNIiHW95+7p+L4iTmnr/NIIWQNDyCoEv0WTyIfWLGP5xrh2ukGC9ZYwUs6Fydqzgp0vePpBHtBD7BWFUOxz+YMcR2IJ4zmUERMXWPmsu5n+f2CvmQAbIbqc4kvuU7pqTgt9TETRQJaQEu/wHsTsaaIpbQW3YG7ISRt0cFm1sSFh+gh8Bdp9fWDj2JfPM9VC4ZTYmDK2NxirR/i01SrfafmoNu10YtllnKByWRKrM6gQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UVCba0zJ7UlTYRiuy5KwmBd3xgIl+xzJl+G4ivAuc1g=;
 b=AVqvLbljj+Uk8AedjMRJCy/yvk70FJ9pTg+EBAY19sfQbd+S1CWpBz/VlJUNQzfqWn/No2WkV+AbzjEWMOJnvB7Q5VqQ1wfmIzrRnqr6akKSya8XsDdPeC9o7HxDbcg4DwTwL52HwPOybQ5U2+tV2wM4vD1/UPgS2WaVfxTz7ZMvG9Q1oaqmvKCySaULMu40IGjnl2ROTGsrxc00G54a1ZsW/dCzCtWqHiXNYox+Y4Xiua9jmMRaO8Jbl3isWED3469MKmdfa/1ZCfAVgA2RzzEX4H8QlcqbrYzraScGhA+CqEi6X+bmpn6qF4onm20BYlcpwQPPi0Heu9q97EtSzQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UVCba0zJ7UlTYRiuy5KwmBd3xgIl+xzJl+G4ivAuc1g=;
 b=ilBF2LZJLF6LBM4X3jTbvC5wsNqmhsGu0ZoGgKYWv30iWx2/rrrvt4p+dmABjX28OYW71dzJ70pw7ROoaSwwBL6U8lho5Ob/YYNT4EAESz3svDeXtvl7j4yyliPi0YLYdMxAmOLO21NuqRpLTFbiygx/KDYXVUmseWJcr2MglGM=
Date: Wed, 12 Jan 2022 16:15:24 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Oleksandr Andrushchenko <andr2000@gmail.com>
CC: <xen-devel@lists.xenproject.org>, <julien@xen.org>,
	<sstabellini@kernel.org>, <oleksandr_tyshchenko@epam.com>,
	<volodymyr_babchuk@epam.com>, <Artem_Mygaiev@epam.com>, <jbeulich@suse.com>,
	<andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>, <paul@xen.org>,
	<bertrand.marquis@arm.com>, <rahul.singh@arm.com>, Oleksandr Andrushchenko
	<oleksandr_andrushchenko@epam.com>
Subject: Re: [PATCH v5 07/14] vpci/header: handle p2m range sets per BAR
Message-ID: <Yd7wjP8WLWQxzLbq@Air-de-Roger>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-8-andr2000@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20211125110251.2877218-8-andr2000@gmail.com>
X-ClientProxiedBy: MR2P264CA0011.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:1::23) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: bb7556a2-f19f-4ba6-2ab8-08d9d5de6017
X-MS-TrafficTypeDiagnostic: SN6PR03MB3598:EE_
X-Microsoft-Antispam-PRVS: <SN6PR03MB359842C2D446A76ABC4063F08F529@SN6PR03MB3598.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: fkiyYt6M46n0LGdMDoIwYF0a3ejGxMh2rFSGFzejpM9ZYbi4Nyeh6m9yOM2kaQ1G10l6uZ2IWqRycjg4pk6z4g0CXNVzG++wEna5Vv3bQbyOr2kFuLabnsXBNTPzh/wu5x+8BeKvv5QDZJc5i3LAxSxmZRNuISnsVDSIhu52QIEjt974KY1V9UPt0gc9cVIhRJnHQLA5Apd/mVh1w6ZlvaSE/DAFqHS2JQht6vTW5bOdWllzg/H4fn0cUeXbMgE2Xms3+ksnh/IztV+2XFjj/9Qjf5raettJfCPOFlR3jbMC5L/XUiujTictN0wgw2U9tg1aPot+hvDH/cm7cjQlix44/CXo5FjsYTB5wZfcFMBxwCVs/Z+Po1c34nr+FuaBWGNuab7mU0Iz5DEyEFIpxrqb0hyMUmXHxNYIR4qQjrTqnPT+hPb+RXa3PFDFDf+DZbO6QerGyy4XPA+x2MtVAriFQjp5D8aLnVB6sQsdPRluauk13lLCNRy8zmIW2AIk7qtb7PU0p27wWlLmAU4b72P162KK7s0G9Y5Ex8tLy2PzsrD/u8jU/lBLW4NN8acr8W3Vh7/Yje7Y7qTl3LIhP92eaPx//2m+vQBbOEpb93uAsrumWwjzBOt4yfC31Me7IWeV6QOCe4ISdcy2QHinxA==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(85182001)(30864003)(6666004)(66476007)(66946007)(7416002)(6486002)(8936002)(4326008)(5660300002)(66556008)(82960400001)(8676002)(316002)(6916009)(508600001)(2906002)(9686003)(6506007)(86362001)(6512007)(38100700002)(33716001)(186003)(26005)(83380400001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bWNUdGREdXdOajNWdnZZdFlqTWh1Slo3cnZ5WExMSTdsRE1OdnRvM1d4ajlQ?=
 =?utf-8?B?VGxuZlZPb1F6VE00NkhZV0FHWVFRWmEvaUxqVHQ2S2JDWlRWbjM0c0htbUtx?=
 =?utf-8?B?dCs3aUxYMFFQRG9meGlSQWNNd2sza3MxUjBGWUcxYjJ2VzJjOW52YUZqWWNh?=
 =?utf-8?B?UG1SQ0kvbnFtNVdIdUFRU0lkNkN4dndvRlFhUG9SemxmS2paSmp1RjA0QmJE?=
 =?utf-8?B?cXlMZTNzaEhaQ1ZkbEJEK3pvendyMVRKQkswUTZ4T3ZRN3VIYmwvVjlLR1Q4?=
 =?utf-8?B?WnQwQ09weWFrNjhmS29OT3ZHK1ZxNlY4YnNDWUxsKytjc2JqWTZFaDVnVUF6?=
 =?utf-8?B?T0w1bUpTL05nejRWWUZxeTlRcldENi9jUVhaTmVVREI0MnZNbk9Gbm1BTHZw?=
 =?utf-8?B?NXVvbmZPODNhU3VkemtRZ25RVnkrU3BHU0psalR4S3JzdDBxWG5MRHYra1Fu?=
 =?utf-8?B?aDVnRE5QWE9SWHlleE4wY2RUQkZTdExSS203dXBRNjVkTTFYdWR3VDJLMVk5?=
 =?utf-8?B?eEZuU20zNlh1UHh1ZzZrNlpDRWFDYjA4WEVoaFdoR0Q0bWtVR2wzQWZBSUNi?=
 =?utf-8?B?MVVjdTBLRS9RL3BscUdDb2ZDQ1ordTFPNDFtMFJldTVzK1FZMjkxMTJKSG1U?=
 =?utf-8?B?emRuRitSQWFSUEJFNXlnS1VHOHpsT2tEYUFqTERac2RXYkthRGNPUWF6TmV2?=
 =?utf-8?B?WkRXYmRNSHBLRUcxSXJIUG5JRHRWUDZSb0ZJYXpCWFd5UEtkQkkxcFNVb0tM?=
 =?utf-8?B?b3VsWVA1S0pteUZxb0M3VXJBUVE3UUo4SkRBazdEcjNWUkJtZmkrZTk3K0pv?=
 =?utf-8?B?RU5CR2REd1BEOFNDMldrdHQybUo1T1hKTDRXc0xBdk5KYU1aOExGU2NPb0l1?=
 =?utf-8?B?a1pQUzNmcHhTNkpIZ1E5Y2Z6ay9HVTQ5WXRXYkd6b3JoZWN1ZEN1b3pSaEt0?=
 =?utf-8?B?b2FReGxsL25OV0FPc0xrdFVjOSsxUWZXcGxpb1FyYU5xS2NuTFZNRzczQ0Zk?=
 =?utf-8?B?SXlSSUpUb1pTSkRKRmFoZmJZZTZTaFhUdndTaUw0c0xpeVI3K0VVK0gxQW1a?=
 =?utf-8?B?YXBPOUdXYUViNGhlNkIwK2VhemhqK29HdjV3bEFyQWdveVptMDZxVXA4blVl?=
 =?utf-8?B?T2tMMnA4VDM2ZmNsUnl1cGxoV1pHOXc3R2tlVEVWVURyRjNMWlIvUXU3SXIw?=
 =?utf-8?B?WEpMdTFlZ1hoL0RjNVRGMXQ3N1ZwSlUwZElSaFpvSEo4UnpjMGNvZmc4ZmU3?=
 =?utf-8?B?ZVc0REpXaXNpY2NnbUhHSi9taTZwejNtblU2R1VCL0lab0YzK3dJTURzZHhY?=
 =?utf-8?B?VCsvM1h2TDAydVY5OGplSTFVS3J4UEdQSDNtcWxrend0WUVZMTJ3TDlzakow?=
 =?utf-8?B?VE9LcS91RlhhZFBkcGVXbmplOVF1bEhkYU5hVzVEMnY4WXhPWW1PL1pqRVgy?=
 =?utf-8?B?MlY2aHkyY1NGa3ZCbm5HcThZWlZhMFlLeXNHUGs3SkVqZ3FaekJ3L1NWNER3?=
 =?utf-8?B?aXVtNytQL2RIbGtjM2hyTVZ3VzV6c3Y0Yy9kSlBPbm1SREwrZ3gzYkl3TVhl?=
 =?utf-8?B?bjdBSGd4KzUxQW1UK3c1RTB3MzZRc2pwdEZRUXk1ODYvWkxvekhVZ2ovYXRl?=
 =?utf-8?B?bkxpeXdub1BhSEtud1hBS1Zwb3NLZFNPUC84SnlNbjdBWDNHYUxqcS8rVXRz?=
 =?utf-8?B?U29nMVpUUUhDMTY1UHBZT21mYnJ2OUUrL0NRdkpYTmNiSFlPd296TXRqdHFC?=
 =?utf-8?B?RWJKUmtJMWFreHBDTHVDOVR1T1V1WGw1em52T2NidWo5a2JOYTZmb3o1ODF1?=
 =?utf-8?B?S0lmTi9rTjY2Ry9Lem91Zjc2SHNSTU4xOGlPWldjeW1odzc1UjY1NEpRbUpX?=
 =?utf-8?B?azJCUjcwOXI4V1ZqREVoUEdxVENrb0dwVU9peHg5RXBOQlJlMXJscklKQ0h3?=
 =?utf-8?B?dVJ3Nk0yVkVDSjJLUFQzbWY2OEN6V2t2cHVHMjBDT3Y4a095Q0Zza3BZOGww?=
 =?utf-8?B?dHpQeXZLamljTkw0VTJVMnNPb1lFSVpOcnhlVjFuUHlFWlBGV29BUTZ0cGY5?=
 =?utf-8?B?aVRLdXhZWUlkam84cEFTaEJtRjNIV3h3YzZtdmlPMDM5Y2I0Z1RJYzFpeWtE?=
 =?utf-8?B?bVQ1N3lWdTdaYWtYOVZ5ZlVEbVcrZEtyRzdzN2R4TWd1cTRqNkFkVVVNZlo5?=
 =?utf-8?Q?AEV+tjMDNcOyXn9mqJ5F8Qw=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: bb7556a2-f19f-4ba6-2ab8-08d9d5de6017
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2022 15:15:32.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: v0eYMT7BQZ0HWl9EHrLeRMF6xaIGBgg/Z0AC16Z/8Dwd0dhayzrVVWxi7rqVe30/YxfWI2ICZmWR7whOuA6e5w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR03MB3598
X-OriginatorOrg: citrix.com

On Thu, Nov 25, 2021 at 01:02:44PM +0200, Oleksandr Andrushchenko wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> Instead of handling a single range set, that contains all the memory
> regions of all the BARs and ROM, have them per BAR.
> As the range sets are now created when a PCI device is added and destroyed
> when it is removed so make them named and accounted.
> 
> Note that rangesets were chosen here despite there being only up to
> 3 separate ranges in each set (typically just 1). But rangeset per BAR
> was chosen for the ease of implementation and existing code re-usability.
> 
> This is in preparation of making non-identity mappings in p2m for the
> MMIOs/ROM.

I think we don't want to support ROM for guests (at least initially),
so no need to mention it here.

> 
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> ---
> Since v4:
> - use named range sets for BARs (Jan)
> - changes required by the new locking scheme
> - updated commit message (Jan)
> Since v3:
> - re-work vpci_cancel_pending accordingly to the per-BAR handling
> - s/num_mem_ranges/map_pending and s/uint8_t/bool
> - ASSERT(bar->mem) in modify_bars
> - create and destroy the rangesets on add/remove
> ---
>  xen/drivers/vpci/header.c | 190 +++++++++++++++++++++++++++-----------
>  xen/drivers/vpci/vpci.c   |  30 +++++-
>  xen/include/xen/vpci.h    |   3 +-
>  3 files changed, 166 insertions(+), 57 deletions(-)
> 
> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
> index 8880d34ebf8e..cc49aa68886f 100644
> --- a/xen/drivers/vpci/header.c
> +++ b/xen/drivers/vpci/header.c
> @@ -137,45 +137,86 @@ bool vpci_process_pending(struct vcpu *v)
>          return false;
>  
>      spin_lock(&pdev->vpci_lock);
> -    if ( !pdev->vpci_cancel_pending && v->vpci.mem )
> +    if ( !pdev->vpci )
> +    {
> +        spin_unlock(&pdev->vpci_lock);
> +        return false;
> +    }
> +
> +    if ( !pdev->vpci_cancel_pending && v->vpci.map_pending )
>      {
>          struct map_data data = {
>              .d = v->domain,
>              .map = v->vpci.cmd & PCI_COMMAND_MEMORY,
>          };
> -        int rc = rangeset_consume_ranges(v->vpci.mem, map_range, &data);
> +        struct vpci_header *header = &pdev->vpci->header;
> +        unsigned int i;
>  
> -        if ( rc == -ERESTART )
> +        for ( i = 0; i < ARRAY_SIZE(header->bars); i++ )
>          {
> -            spin_unlock(&pdev->vpci_lock);
> -            return true;
> -        }
> +            struct vpci_bar *bar = &header->bars[i];
> +            int rc;
> +

You should check bar->mem != NULL here, there's no need to allocate a
rangeset for non-mappable BARs.

> +            if ( rangeset_is_empty(bar->mem) )
> +                continue;
> +
> +            rc = rangeset_consume_ranges(bar->mem, map_range, &data);
> +
> +            if ( rc == -ERESTART )
> +            {
> +                spin_unlock(&pdev->vpci_lock);
> +                return true;
> +            }
>  
> -        if ( pdev->vpci )
>              /* Disable memory decoding unconditionally on failure. */
> -            modify_decoding(pdev,
> -                            rc ? v->vpci.cmd & ~PCI_COMMAND_MEMORY : v->vpci.cmd,
> +            modify_decoding(pdev, rc ? v->vpci.cmd & ~PCI_COMMAND_MEMORY : v->vpci.cmd,

The above seems to be an unrelated change, and also exceeds the max
line length.

>                              !rc && v->vpci.rom_only);
>  
> -        if ( rc )
> -        {
> -            /*
> -             * FIXME: in case of failure remove the device from the domain.
> -             * Note that there might still be leftover mappings. While this is
> -             * safe for Dom0, for DomUs the domain needs to be killed in order
> -             * to avoid leaking stale p2m mappings on failure.
> -             */
> -            if ( is_hardware_domain(v->domain) )
> -                vpci_remove_device_locked(pdev);
> -            else
> -                domain_crash(v->domain);
> +            if ( rc )
> +            {
> +                /*
> +                 * FIXME: in case of failure remove the device from the domain.
> +                 * Note that there might still be leftover mappings. While this is
> +                 * safe for Dom0, for DomUs the domain needs to be killed in order
> +                 * to avoid leaking stale p2m mappings on failure.
> +                 */
> +                if ( is_hardware_domain(v->domain) )
> +                    vpci_remove_device_locked(pdev);
> +                else
> +                    domain_crash(v->domain);
> +
> +                break;
> +            }
>          }
> +
> +        v->vpci.map_pending = false;
>      }
>      spin_unlock(&pdev->vpci_lock);
>  
>      return false;
>  }
>  
> +static void vpci_bar_remove_ranges(const struct pci_dev *pdev)
> +{
> +    struct vpci_header *header = &pdev->vpci->header;
> +    unsigned int i;
> +    int rc;
> +
> +    for ( i = 0; i < ARRAY_SIZE(header->bars); i++ )
> +    {
> +        struct vpci_bar *bar = &header->bars[i];
> +
> +        if ( rangeset_is_empty(bar->mem) )
> +            continue;
> +
> +        rc = rangeset_remove_range(bar->mem, 0, ~0ULL);

Might be interesting to introduce a rangeset_reset function that
removes all ranges. That would never fail, and thus there would be no
need to check for rc.

Also I think the current rangeset_remove_range should never fail when
removing all ranges, as there's nothing to allocate. Hence you can add
an ASSERT_UNREACHABLE below.

> +        if ( !rc )
> +            printk(XENLOG_ERR
> +                   "%pd %pp failed to remove range set for BAR: %d\n",
> +                   pdev->domain, &pdev->sbdf, rc);
> +    }
> +}
> +
>  void vpci_cancel_pending_locked(struct pci_dev *pdev)
>  {
>      struct vcpu *v;
> @@ -185,23 +226,33 @@ void vpci_cancel_pending_locked(struct pci_dev *pdev)
>      /* Cancel any pending work now on all vCPUs. */
>      for_each_vcpu( pdev->domain, v )
>      {
> -        if ( v->vpci.mem && (v->vpci.pdev == pdev) )
> +        if ( v->vpci.map_pending && (v->vpci.pdev == pdev) )
>          {
> -            rangeset_destroy(v->vpci.mem);
> -            v->vpci.mem = NULL;
> +            vpci_bar_remove_ranges(pdev);
> +            v->vpci.map_pending = false;
>          }
>      }
>  }
>  
>  static int __init apply_map(struct domain *d, const struct pci_dev *pdev,
> -                            struct rangeset *mem, uint16_t cmd)
> +                            uint16_t cmd)
>  {
>      struct map_data data = { .d = d, .map = true };
> -    int rc;
> +    struct vpci_header *header = &pdev->vpci->header;
> +    int rc = 0;
> +    unsigned int i;
> +
> +    for ( i = 0; i < ARRAY_SIZE(header->bars); i++ )
> +    {
> +        struct vpci_bar *bar = &header->bars[i];
>  
> -    while ( (rc = rangeset_consume_ranges(mem, map_range, &data)) == -ERESTART )
> -        process_pending_softirqs();
> -    rangeset_destroy(mem);
> +        if ( rangeset_is_empty(bar->mem) )
> +            continue;
> +
> +        while ( (rc = rangeset_consume_ranges(bar->mem, map_range,
> +                                              &data)) == -ERESTART )
> +            process_pending_softirqs();
> +    }
>      if ( !rc )
>          modify_decoding(pdev, cmd, false);
>  
> @@ -209,7 +260,7 @@ static int __init apply_map(struct domain *d, const struct pci_dev *pdev,
>  }
>  
>  static void defer_map(struct domain *d, struct pci_dev *pdev,
> -                      struct rangeset *mem, uint16_t cmd, bool rom_only)
> +                      uint16_t cmd, bool rom_only)
>  {
>      struct vcpu *curr = current;
>  
> @@ -220,7 +271,7 @@ static void defer_map(struct domain *d, struct pci_dev *pdev,
>       * started for the same device if the domain is not well-behaved.
>       */
>      curr->vpci.pdev = pdev;
> -    curr->vpci.mem = mem;
> +    curr->vpci.map_pending = true;
>      curr->vpci.cmd = cmd;
>      curr->vpci.rom_only = rom_only;
>      /*
> @@ -234,42 +285,40 @@ static void defer_map(struct domain *d, struct pci_dev *pdev,
>  static int modify_bars(const struct pci_dev *pdev, uint16_t cmd, bool rom_only)
>  {
>      struct vpci_header *header = &pdev->vpci->header;
> -    struct rangeset *mem = rangeset_new(NULL, NULL, 0);
>      struct pci_dev *tmp, *dev = NULL;
>      const struct vpci_msix *msix = pdev->vpci->msix;
> -    unsigned int i;
> +    unsigned int i, j;
>      int rc;
> -
> -    if ( !mem )
> -        return -ENOMEM;
> +    bool map_pending;
>  
>      /*
> -     * Create a rangeset that represents the current device BARs memory region
> +     * Create a rangeset per BAR that represents the current device memory region
>       * and compare it against all the currently active BAR memory regions. If
>       * an overlap is found, subtract it from the region to be mapped/unmapped.
>       *
> -     * First fill the rangeset with all the BARs of this device or with the ROM
> +     * First fill the rangesets with all the BARs of this device or with the ROM
                                        ^ 'all' doesn't apply anymore.
>       * BAR only, depending on whether the guest is toggling the memory decode
>       * bit of the command register, or the enable bit of the ROM BAR register.
>       */
>      for ( i = 0; i < ARRAY_SIZE(header->bars); i++ )
>      {
> -        const struct vpci_bar *bar = &header->bars[i];
> +        struct vpci_bar *bar = &header->bars[i];
>          unsigned long start = PFN_DOWN(bar->addr);
>          unsigned long end = PFN_DOWN(bar->addr + bar->size - 1);
>  
> +        ASSERT(bar->mem);
> +
>          if ( !MAPPABLE_BAR(bar) ||
>               (rom_only ? bar->type != VPCI_BAR_ROM
>                         : (bar->type == VPCI_BAR_ROM && !header->rom_enabled)) )
>              continue;
>  
> -        rc = rangeset_add_range(mem, start, end);
> +        rc = rangeset_add_range(bar->mem, start, end);
>          if ( rc )
>          {
>              printk(XENLOG_G_WARNING "Failed to add [%lx, %lx]: %d\n",
>                     start, end, rc);
> -            rangeset_destroy(mem);
> -            return rc;
> +            goto fail;
>          }


I think you also need to check that BARs from the same device don't
overlap themselves. This wasn't needed before because all BARs shared
the same rangeset. It's not uncommon for BARs of the same device to
share a page.

So you would need something like the following added to the loop:

/* Check for overlap with the already setup BAR ranges. */
for ( j = 0; j < i; j++ )
    rangeset_remove_range(header->bars[j].mem, start, end);

>      }
>  
> @@ -280,14 +329,21 @@ static int modify_bars(const struct pci_dev *pdev, uint16_t cmd, bool rom_only)
>          unsigned long end = PFN_DOWN(vmsix_table_addr(pdev->vpci, i) +
>                                       vmsix_table_size(pdev->vpci, i) - 1);
>  
> -        rc = rangeset_remove_range(mem, start, end);
> -        if ( rc )
> +        for ( j = 0; j < ARRAY_SIZE(header->bars); j++ )
>          {
> -            printk(XENLOG_G_WARNING
> -                   "Failed to remove MSIX table [%lx, %lx]: %d\n",
> -                   start, end, rc);
> -            rangeset_destroy(mem);
> -            return rc;
> +            const struct vpci_bar *bar = &header->bars[j];
> +
> +            if ( rangeset_is_empty(bar->mem) )
> +                continue;
> +
> +            rc = rangeset_remove_range(bar->mem, start, end);
> +            if ( rc )
> +            {
> +                printk(XENLOG_G_WARNING
> +                       "Failed to remove MSIX table [%lx, %lx]: %d\n",
> +                       start, end, rc);
> +                goto fail;
> +            }
>          }
>      }
>  
> @@ -325,7 +381,8 @@ static int modify_bars(const struct pci_dev *pdev, uint16_t cmd, bool rom_only)
>              unsigned long start = PFN_DOWN(bar->addr);
>              unsigned long end = PFN_DOWN(bar->addr + bar->size - 1);
>  
> -            if ( !bar->enabled || !rangeset_overlaps_range(mem, start, end) ||
> +            if ( !bar->enabled ||
> +                 !rangeset_overlaps_range(bar->mem, start, end) ||
>                   /*
>                    * If only the ROM enable bit is toggled check against other
>                    * BARs in the same device for overlaps, but not against the
> @@ -334,14 +391,13 @@ static int modify_bars(const struct pci_dev *pdev, uint16_t cmd, bool rom_only)
>                   (rom_only && tmp == pdev && bar->type == VPCI_BAR_ROM) )
>                  continue;
>  
> -            rc = rangeset_remove_range(mem, start, end);
> +            rc = rangeset_remove_range(bar->mem, start, end);
>              if ( rc )
>              {
>                  spin_unlock(&tmp->vpci_lock);
>                  printk(XENLOG_G_WARNING "Failed to remove [%lx, %lx]: %d\n",
>                         start, end, rc);
> -                rangeset_destroy(mem);
> -                return rc;
> +                goto fail;
>              }
>          }
>          spin_unlock(&tmp->vpci_lock);
> @@ -360,12 +416,36 @@ static int modify_bars(const struct pci_dev *pdev, uint16_t cmd, bool rom_only)
>           * will always be to establish mappings and process all the BARs.
>           */
>          ASSERT((cmd & PCI_COMMAND_MEMORY) && !rom_only);
> -        return apply_map(pdev->domain, pdev, mem, cmd);
> +        return apply_map(pdev->domain, pdev, cmd);
>      }
>  
> -    defer_map(dev->domain, dev, mem, cmd, rom_only);
> +    /* Find out how many memory ranges has left after MSI and overlaps. */
> +    map_pending = false;
> +    for ( i = 0; i < ARRAY_SIZE(header->bars); i++ )
> +        if ( !rangeset_is_empty(header->bars[i].mem) )
> +        {
> +            map_pending = true;
> +            break;
> +        }
> +
> +    /*
> +     * There are cases when PCI device, root port for example, has neither
> +     * memory space nor IO. In this case PCI command register write is
> +     * missed resulting in the underlying PCI device not functional, so:
> +     *   - if there are no regions write the command register now
> +     *   - if there are regions then defer work and write later on

I would just say:

/* If there's no mapping work write the command register now. */

> +     */
> +    if ( !map_pending )
> +        pci_conf_write16(pdev->sbdf, PCI_COMMAND, cmd);
> +    else
> +        defer_map(dev->domain, dev, cmd, rom_only);
>  
>      return 0;
> +
> +fail:
> +    /* Destroy all the ranges we may have added. */
> +    vpci_bar_remove_ranges(pdev);
> +    return rc;
>  }
>  
>  static void cmd_write(const struct pci_dev *pdev, unsigned int reg,
> diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
> index a9e9e8ec438c..98b12a61be6f 100644
> --- a/xen/drivers/vpci/vpci.c
> +++ b/xen/drivers/vpci/vpci.c
> @@ -52,11 +52,16 @@ static void vpci_remove_device_handlers_locked(struct pci_dev *pdev)
>  
>  void vpci_remove_device_locked(struct pci_dev *pdev)
>  {
> +    struct vpci_header *header = &pdev->vpci->header;
> +    unsigned int i;
> +
>      ASSERT(spin_is_locked(&pdev->vpci_lock));
>  
>      pdev->vpci_cancel_pending = true;
>      vpci_remove_device_handlers_locked(pdev);
>      vpci_cancel_pending_locked(pdev);
> +    for ( i = 0; i < ARRAY_SIZE(header->bars); i++ )
> +        rangeset_destroy(header->bars[i].mem);
>      xfree(pdev->vpci->msix);
>      xfree(pdev->vpci->msi);
>      xfree(pdev->vpci);
> @@ -92,6 +97,8 @@ static int run_vpci_init(struct pci_dev *pdev)
>  int vpci_add_handlers(struct pci_dev *pdev)
>  {
>      struct vpci *vpci;
> +    struct vpci_header *header;
> +    unsigned int i;
>      int rc;
>  
>      if ( !has_vpci(pdev->domain) )
> @@ -108,11 +115,32 @@ int vpci_add_handlers(struct pci_dev *pdev)
>      pdev->vpci = vpci;
>      INIT_LIST_HEAD(&pdev->vpci->handlers);
>  
> +    header = &pdev->vpci->header;
> +    for ( i = 0; i < ARRAY_SIZE(header->bars); i++ )
> +    {
> +        struct vpci_bar *bar = &header->bars[i];
> +        char str[32];
> +
> +        snprintf(str, sizeof(str), "%pp:BAR%d", &pdev->sbdf, i);
> +        bar->mem = rangeset_new(pdev->domain, str, RANGESETF_no_print);
> +        if ( !bar->mem )
> +        {
> +            rc = -ENOMEM;
> +            goto fail;
> +        }
> +    }

You just need the ranges for the VPCI_BAR_MEM32, VPCI_BAR_MEM64_LO and
VPCI_BAR_ROM BAR types (see the MAPPABLE_BAR macro). Would it be
possible to only allocate the rangeset for those BAR types?

Also this should be done in init_bars rather than here, as you would
know the BAR types.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 15:18:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 15:18:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256709.440669 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7fOm-000234-MH; Wed, 12 Jan 2022 15:18:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256709.440669; Wed, 12 Jan 2022 15:18:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7fOm-00022x-IZ; Wed, 12 Jan 2022 15:18:52 +0000
Received: by outflank-mailman (input) for mailman id 256709;
 Wed, 12 Jan 2022 15:18:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=no1k=R4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n7fOm-00022r-5g
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 15:18:52 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f24614de-73ba-11ec-bd6f-bfb69f65cdc7;
 Wed, 12 Jan 2022 16:18:51 +0100 (CET)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2054.outbound.protection.outlook.com [104.47.14.54]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-27-VE_gKaa4Nwi2aYyMjQOX-g-1; Wed, 12 Jan 2022 16:18:49 +0100
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.4867.11; Wed, 12 Jan
 2022 15:18:48 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Wed, 12 Jan 2022
 15:18:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f24614de-73ba-11ec-bd6f-bfb69f65cdc7
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642000730;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc: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+RgNeWN6NHsW+F8OYY4Lq3h7n22bBMt6S45RNLSZk=;
	b=kh54L91VXnmBkpon602Qfo4Ep1SSHlkPrpezjSZZJ2rOCMmL7y4mOzilOZ43CbAj+TWcKO
	Fjstt8AHzLZpbUu/QOl2gfu7jKR818I/+sgD2DYOHDtpX7uXqJU11Nk1TMev825VV4OD0s
	dHrJzssbc6SVh8ulN+b3IIwinPMg/ig=
X-MC-Unique: VE_gKaa4Nwi2aYyMjQOX-g-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=d6Doq2G5KFTuk4bbKmwgk1ptmAn5XlLSAjyO72vgJZI+RByZgIjrBQG5+GsDba2cKdudUBxFmnZkwFN2SzHdXz5Ngbu/LILFHmWEhLAKxlEycmnSPqpBe4WzXmP8KsI/v0QNXUW2H+Elml5S5GeoO81dz7Rqc9dS4yy5eh4+Es3axLyiYF8oowdgrLZ8vN6I8yAFRuBHquJwGznUfSwI1hbeeTzuLCiWhj6nv+ctxeTNE+FSqLtT40ZirKlKgImQHdazCzqpICh5psbR+RIBNn0+NXGBlkzYb/A4Aju2ROwE1ekVoG6XdPtsd85QkDrR7gnf4BLcyFOzjdmAjN+OUg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mHaYzXr1GQDK+jFvjYBQu0MrgcTWt7mFD5ZYk/Mex1I=;
 b=f8HYBctL2zAixIn6olTifNEPlzndNcf/zXLmqd69Ve+gx+EK+s1P3lgoSPuKB7m9NWnEQMB0aL/rZak55dqYojVlA88/RasaSCD3kF4Vz773D3o6/Xc5kugLE8sRA604DrGd74nbiKHIv+nV2qd25JYdtfa/Hssq0VAn9LqWB8ncvFAMbfSAYIkmymGg3dPKmfll5YcZNA+bFAI22Nu3N6dohEfDGyW7xkRVXicLC0hz+aTE+O298w2sU0G2GoQCHBWdbUi5phvElbPHhuY+U2o5qID7CFPnNVRrp6LS7rbusU5+w1ZR3aG+1dMYfh7tj11LQI9cLsQJWSZOXE/e+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: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <35d06bbf-b3f4-ec7e-71fe-0329d7cadba3@suse.com>
Date: Wed, 12 Jan 2022 16:18:45 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH v5 07/14] vpci/header: handle p2m range sets per BAR
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
CC: xen-devel@lists.xenproject.org, julien@xen.org, sstabellini@kernel.org,
 oleksandr_tyshchenko@epam.com, volodymyr_babchuk@epam.com,
 Artem_Mygaiev@epam.com, andrew.cooper3@citrix.com, george.dunlap@citrix.com,
 paul@xen.org, bertrand.marquis@arm.com, rahul.singh@arm.com,
 Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
 Oleksandr Andrushchenko <andr2000@gmail.com>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-8-andr2000@gmail.com> <Yd7wjP8WLWQxzLbq@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <Yd7wjP8WLWQxzLbq@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS9PR06CA0368.eurprd06.prod.outlook.com
 (2603:10a6:20b:460::32) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c2133240-48e4-49e2-21a8-08d9d5ded4cc
X-MS-TrafficTypeDiagnostic: VI1PR04MB4192:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4192F373D3E66CDEE3FBFE8EB3529@VI1PR04MB4192.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:1079;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MjmKQoM99DYBuY+ECL8dhmvN/kZ+x6WDy1PdG9qhHpYk273iHlqJhf6dVr1Nii87E3fOLJNnRn85JDo1T0YaY698c8qRFiqryhEeUcqN4W+FtPIPkh0GeqKRikKunhCMICvFtG391QvNv38ISFzE0N2tLni6BDXBhpoKDfrTp4LRHZxCIrftGnu0/mbdivCszeTGQbOVtyaRkpXGjGhzRuexWiyZCwScJU5t0p49xHJqwufujyzty8pEawzHXYPPYIgtHWNM0KVi8RVEqb+v3/hlz1e0WkblXW2UJpjo8t8gyX06cFuKshVfGxnwuQrd9P+63MXWg619RIndlClIM6eCpqft9CxYXZNi8j6Ii4AdC/skmR0oqWIC2MJ+3Pl7BvzsEUc6ViaFnZ3RBuNT4FwP50tEvdzcz/Mq3FLOZZXP9IQ2dDZkjLK8FqXOaQWv/5fnNK3c/7uZVj54C4OwUBTF46a4v4mOCrpbnxsqdKhsKHDCAwtFyvgh0HALUkPT5D95EcPou4SEi9k0j/yCV9ox9VWySXLaqh8gG+dKjuU1kYCP959rwmI7XPPL9kkOvMXHztgmcSeCc+D6V4YYNuYb0JfrEMQ7xhI5bz1yz/kN7l1ZiwEMrxsa+F6Yk3rJ6Wyp6M45jOM/7zHMMooM2KqFPdcqSCgRj+IE6cXdh/YjO9zDhYsJBvD5FSnIIKe12aiWsNQe7xyJmDEGjTMFsOrZI/eHWz+Sr2bGTbS6EibVGbPrnsMLHRi7Hy5Djheg
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)(6512007)(31696002)(508600001)(26005)(4326008)(6486002)(66556008)(5660300002)(53546011)(316002)(186003)(66476007)(7416002)(2616005)(54906003)(6916009)(66946007)(6506007)(8936002)(83380400001)(8676002)(31686004)(86362001)(36756003)(38100700002)(2906002)(6666004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?rtj4uR6Mkrdoste2nfPmjXBc53T7MUr915JvqDlL2WT4HPYhfHfuenQ+HeM0?=
 =?us-ascii?Q?oRh3WRmoonjsuNbbsjHg0wJs855saovfegkI3u0QPx/SOj0C42Tp3JqOeTls?=
 =?us-ascii?Q?mIK0ggcFA6/dyODDlmRXaYfoFrG1hFpku53NPadMNIZQdU4nZQU+RR0J8137?=
 =?us-ascii?Q?mPaMcd6/fW2eSm6Tz+kERgW7N5oeb+IXf+wSceVEii60UsBIfz1zQQfPslHI?=
 =?us-ascii?Q?gvMcbXyafYLPXzaNEf8MUbhXSOa//1HooQNXaDm9ywW0w52H3A+6YicRhkTg?=
 =?us-ascii?Q?wGH9OsCApmeLp/MraNwJGolt41Okt32NK6lWTZeXNl8gyNHzsymA8lvPz/KA?=
 =?us-ascii?Q?6P6+F/fnItFU7Bo0zRPdXGmPVFSephl59THQs2oGR2u2Q4ZeZwZExIoiLuAb?=
 =?us-ascii?Q?jpf2ifgdVhdXpmw6zKcR0uk01rTkFr3zT1s9/VjP6MM4L+RJGi1xkkjsqsM1?=
 =?us-ascii?Q?kVpx2gl4F6VDSzlGvrvqcP1h47GZyUl2N0LgFYE8oaYr+RUOCK6skDpjRbhf?=
 =?us-ascii?Q?6b1piUgJlHmWQ1m4qokZk+hRPMbxJQ6b8Pm6/kQkeUFGiwtQrSU0xFj6gV/L?=
 =?us-ascii?Q?x9uKb8EgtbYaKLybhYsw6UACE1L2RV9WNjoOU26CXbpC63pFwQOlvIPgkWro?=
 =?us-ascii?Q?PYVgw9l3A4uAj/aEYKkxgwjGaa6ZSWt2tiGrc0fIrHEj5j2rkGfea0ysacjZ?=
 =?us-ascii?Q?0nXp2NSywcFgbZVK/c5p/3Z4xXyf8GrSERMuTyMO5g/roOYciZPSo1EkXDX+?=
 =?us-ascii?Q?vdlXkicgYuri8XGlwGvHfG8dEUTAwxfc0x0iDj1OZb2kjU4OY8BVU9R0hlcT?=
 =?us-ascii?Q?VBJKfMLwTKjVpMC0GyKtJhIdSkfCivUoCS0sUfdbHPd7t0JLTYndKXbYJrXA?=
 =?us-ascii?Q?n/QX/nFRWryRwcf97IYPdIZ7ecBp0hACSP5KIya4X++mID6ZMSSNBlKDcqyX?=
 =?us-ascii?Q?1KkyLAkfR+psorqkXao2FnYHYVRAuhvybnwkMJpt+QtNcTilLpfPlMys3kTb?=
 =?us-ascii?Q?dgza54Hlub3btWjDu9wVbIzsGvbQweYccAd2kSkljOUklxStxy/Q8+zpVwp9?=
 =?us-ascii?Q?luBvk6OihWEBNiCC/2FWeMMgpnP+tBwjURnNWjtihsGphwDzxIzSpLVQdpkU?=
 =?us-ascii?Q?x5l3eAm91DlbOdFb2Rz03NdkwT5+LQKIKVEMzXGRu/RZYrw2EGxxLq0cP+f+?=
 =?us-ascii?Q?fnIXUXUkcUecuXkQyeGfFvGD0K69u2rIvVlDzNc+5oK0SFgPHEcWgf6RRcmY?=
 =?us-ascii?Q?vTGtVf8pchzk7/bOLrq+mc8QjKmPFbMxSOwGmVAlZzQl0hDLcEPovwXPe7He?=
 =?us-ascii?Q?oAOCNC8uXrZW174CPlSUvVuQro5JZuqfoYjKtlOQSp5MfWiPQYOSOkVY60WZ?=
 =?us-ascii?Q?bLOMrW2j123etAgAQp6fy9svp6EVQb29N2vieepH+lBn3wT9FVEq0X7XdDP4?=
 =?us-ascii?Q?DdHnQe34ux4xaLJjKsiM3nAz1qNi13/kmE3/GlNNeEDXcmRR9rUMsou8MdDE?=
 =?us-ascii?Q?lgNxq225bhZ4cWfNYqMyPE38Iso0ZRPPW/8GrYCxWMfti+p734eFpD0Upd1+?=
 =?us-ascii?Q?kyV1gv3PTNZpN9vdC7EdvAdYm9zd1TUDTa5DaF8FahZ+eHLWiYdHI+DGknp6?=
 =?us-ascii?Q?Ahz9syZ62HMljrtNa8mur40=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c2133240-48e4-49e2-21a8-08d9d5ded4cc
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2022 15:18:48.0588
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HhlupiyaRX6u4PuSakcVkr/TgzjvLBunYJKGQq6krEMmHPpputrjPVLvyido8AZq2kmBOeYckCDg9CgHA22eCQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4192

On 12.01.2022 16:15, Roger Pau Monn=C3=A9 wrote:
> On Thu, Nov 25, 2021 at 01:02:44PM +0200, Oleksandr Andrushchenko wrote:
>> --- a/xen/drivers/vpci/header.c
>> +++ b/xen/drivers/vpci/header.c
>> @@ -137,45 +137,86 @@ bool vpci_process_pending(struct vcpu *v)
>>          return false;
>> =20
>>      spin_lock(&pdev->vpci_lock);
>> -    if ( !pdev->vpci_cancel_pending && v->vpci.mem )
>> +    if ( !pdev->vpci )
>> +    {
>> +        spin_unlock(&pdev->vpci_lock);
>> +        return false;
>> +    }
>> +
>> +    if ( !pdev->vpci_cancel_pending && v->vpci.map_pending )
>>      {
>>          struct map_data data =3D {
>>              .d =3D v->domain,
>>              .map =3D v->vpci.cmd & PCI_COMMAND_MEMORY,
>>          };
>> -        int rc =3D rangeset_consume_ranges(v->vpci.mem, map_range, &dat=
a);
>> +        struct vpci_header *header =3D &pdev->vpci->header;
>> +        unsigned int i;
>> =20
>> -        if ( rc =3D=3D -ERESTART )
>> +        for ( i =3D 0; i < ARRAY_SIZE(header->bars); i++ )
>>          {
>> -            spin_unlock(&pdev->vpci_lock);
>> -            return true;
>> -        }
>> +            struct vpci_bar *bar =3D &header->bars[i];
>> +            int rc;
>> +
>=20
> You should check bar->mem !=3D NULL here, there's no need to allocate a
> rangeset for non-mappable BARs.

There's a NULL check ...

>> +            if ( rangeset_is_empty(bar->mem) )
>> +                continue;

... inside rangeset_is_empty() (to help callers like this one).

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 12 15:22:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 15:22:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256714.440679 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7fSG-0003PU-7p; Wed, 12 Jan 2022 15:22:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256714.440679; Wed, 12 Jan 2022 15: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 1n7fSG-0003PN-4w; Wed, 12 Jan 2022 15:22:28 +0000
Received: by outflank-mailman (input) for mailman id 256714;
 Wed, 12 Jan 2022 15:22: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 1n7fSF-0003PD-Jb; Wed, 12 Jan 2022 15:22: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 1n7fSF-0000Qc-Ie; Wed, 12 Jan 2022 15:22: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 1n7fSF-0007Ra-B2; Wed, 12 Jan 2022 15:22:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n7fSF-0002g6-AX; Wed, 12 Jan 2022 15:22: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=dc+LjAsV1zCszJxAVTH3ZRNFuLMlI5bZNgnLI4mbjuA=; b=j5YPiA8LB8wJ44JxX1oldwkI6r
	mtiJGMa275xXkxCzUYM+CKm+HgYz1wExGnLVfZJQlDEl4108/TYgHBS/6vWr6csPcxqwVcskqe16f
	Uy2p8LJyRu2mLyT5IhmGEO+dXwmqBWgQmw2vkTF41vyy5CK+YJvYujmh7j+Rwc+n03oQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167676-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 167676: 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=2e8aa1663c76a189998bf51b869b9e468c992c89
X-Osstest-Versions-That:
    xen=0cf6521ea95dd78accf1e5c13cbfe8156b3611d0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 12 Jan 2022 15:22:27 +0000

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

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                  2e8aa1663c76a189998bf51b869b9e468c992c89
baseline version:
 xen                  0cf6521ea95dd78accf1e5c13cbfe8156b3611d0

Last test of basis   167671  2022-01-12 08:01:55 Z    0 days
Testing same since   167676  2022-01-12 12:01:56 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
   0cf6521ea9..2e8aa1663c  2e8aa1663c76a189998bf51b869b9e468c992c89 -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 15:27:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 15:27:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256722.440691 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7fXH-00046Q-T8; Wed, 12 Jan 2022 15:27:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256722.440691; Wed, 12 Jan 2022 15:27:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7fXH-00046J-Pq; Wed, 12 Jan 2022 15:27:39 +0000
Received: by outflank-mailman (input) for mailman id 256722;
 Wed, 12 Jan 2022 15:27:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=no1k=R4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n7fXG-00046D-6Z
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 15:27:38 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2bd84c34-73bc-11ec-9c70-5536b2d1e4e1;
 Wed, 12 Jan 2022 16:27:37 +0100 (CET)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2057.outbound.protection.outlook.com [104.47.9.57]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-20-hTOu-7pbM5Syv3ujHYx_Hg-1; Wed, 12 Jan 2022 16:27:35 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB3296.eurprd04.prod.outlook.com (2603:10a6:802:7::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.10; Wed, 12 Jan
 2022 15:27:33 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Wed, 12 Jan 2022
 15:27:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2bd84c34-73bc-11ec-9c70-5536b2d1e4e1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642001256;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=QygfY3ik59x6ir6bES/j5uSfiw8Ny9rK1/8Wwfhixp0=;
	b=ieMAvBdINjQXgtWy0dJqkVuO0mhEQHwfao+Pdtc6TiCrGe2+DWlZpAHg+VV2umKXCt/9k2
	mujYtySHxgT0EjTe5UxefJY5eOXszpbrc6AudiNzy8oqDKY9/awdPdBU7RZPGc5lJ8waXJ
	JIIbayy11fuxnk/6EI2zpYtDhHR8fQg=
X-MC-Unique: hTOu-7pbM5Syv3ujHYx_Hg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Qd/aGnLaqz48bqZegufWTkFY7m8+O8PJM/HQHvH3sASPijuBi4tUBdDDTM+f8WeTk7lx9xQuOIo816/2QUs2WQBVRL2K8VRK067aJhDQfjPlQEf00Rzxh85glMNdzuMbiNMzB2D4VbgBkcAaimv5wPBQA8z6M21SGhSHaTIY5M8EeCXPTyy1tSpfxJLvnDP73zKfcLcPu6cDE90+0qd6YWfiiyPG4WOlyMEXvIKxlAm5yw818N2jC147TUUMlse5WXOUO7X9++TfOuIe83JuuG8vGIUvvkcFXP4Bf2WQw42wRj78WX8BX9ICkUryhVYIPh8GvSDV4194z5yG1Bqafg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JWFdSE24icpcZTDwVntd3e1oBj5Dp4X5/YgJhl8hgqo=;
 b=mVszAjEOPJIpg+NvzjZsfmTNNYtVRMc71EU7WL8bg64aQhReJgRK4ruc0VvsUDe0agQT7u92JJoRab1SRBvqoexDZGtqmePqFMWqUyygj0ixmCDNggRezPjYY4mJxRQfgpw5+NGJ5Ai3K4BB7TasHUpwwhMmQlZyxEMZI4Pbgj+T1jFLwPQtH84NR1ZBEfaEv46Qi1LDTNTJ8i482O8KJH9AhRvH6F4TjdAtsgmNPD6okQmgZDSFc5fYhlzx0iMe+WB5Ta7afE+p2xGGzhDQlxEalayCnbqLej6b14vIr8bqCTSJ9wtKO5XroqlOQBInjF4JmxiQYUe9gJX3/GJ7Uw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7dd52b2d-9fe0-0ece-a7f1-9ec2c6da72de@suse.com>
Date: Wed, 12 Jan 2022 16:27:30 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH v5 04/14] vpci: cancel pending map/unmap on vpci removal
Content-Language: en-US
To: Oleksandr Andrushchenko <andr2000@gmail.com>
CC: julien@xen.org, sstabellini@kernel.org, oleksandr_tyshchenko@epam.com,
 volodymyr_babchuk@epam.com, Artem_Mygaiev@epam.com, roger.pau@citrix.com,
 andrew.cooper3@citrix.com, george.dunlap@citrix.com, paul@xen.org,
 bertrand.marquis@arm.com, rahul.singh@arm.com,
 Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
 xen-devel@lists.xenproject.org
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-5-andr2000@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20211125110251.2877218-5-andr2000@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM5PR0402CA0012.eurprd04.prod.outlook.com
 (2603:10a6:203:90::22) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 15e65224-2eba-4410-5659-08d9d5e00d96
X-MS-TrafficTypeDiagnostic: VI1PR04MB3296:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB3296068ACFACBD8A0C71A027B3529@VI1PR04MB3296.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:
	+xaf7KOkeKcwOv1YIW8lvw9RjGZ7kUGomkeyZFQ4Km0HTVsUNOjIVMb2ytVlDg5nQSnY90F+Y/lZYpLnGPbYd4znYFrf7iUQZ3QBAujIbxwIL/t2gqOtR28wBqA7KQsSAyEaPgzWK1g6dneFflEGBlo7zAQDB4NN/IWIWABkZHruKYtKpRu2jPDQemCJ2ux1Pqj+k4f2uJMW36KZ5Fwuu7SSyup68qvvo9/JI4bQra4Da8LpGaBqcACz73PCBI/Bz0Hz8/ho6HMVS1uzXP+Y1jXSVWH9cZu9zVl5aLanq8rFzYAd6hyXQd8XRmN4z8DLSDGv6OukiLoO8QI0Y4QJZcvh2hGirr2k81TeXIuAQf1rdoqyTeeqwuF3qFlzvO7fqBwrPQtaGBBoNwA429TxrQbLD53PX9gmnj4GLQmD7TTwpqZHzbpigvtQbzBeUAwEZQTccjvVjuohVzdkodyG7Vk7vDqY4DGtnfBNHBON8jQKKjjTNcmXmNrDYYZ9hpHIhhh6+Slc76oXpKN/WoFSxbjjXRFn56+pkzOGoJau7Dpl1oK5Ni1Xl1QOMGmRlfL5mEdlb4oLNQr5odkLA2DZln84rI+VbE4fd4PQe+T0RJCRl0MgpxUS8+XXglKUqMhhxrybfeZB7fnWWoACVgni5zFYAyjZGe2D4H/4GS8RTWudbWm7ajXBlDeHXTgw33JZitFUnOmaMH9i9FDn6QLu4FL2KWR+G1X0TF7OHcqOgLCVainOsl3VYIBSR+NbYdHk
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)(316002)(36756003)(508600001)(5660300002)(6506007)(2616005)(83380400001)(8936002)(6512007)(38100700002)(86362001)(53546011)(66556008)(186003)(31696002)(6486002)(26005)(4326008)(2906002)(31686004)(8676002)(66476007)(7416002)(66946007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?+LVAbZbw0CzeiPLfdrsk0G9m3tYyhlBLdgI2XPPDm1mTpQTHVsTKerHia4Jl?=
 =?us-ascii?Q?0kdACpd9S9glxHR/ofc6lltnJWJGl77NhB6pAI/KdE3FrqpuVi1JwrGvp9ks?=
 =?us-ascii?Q?Vdc/d/rS84C/HMqrXpc/ruNyzNFAAIKCag84Aar5sTC0+cK8BKcoEmlBuYvn?=
 =?us-ascii?Q?0rllyY4rwynCz8lwppSnOUciiQXA56n7Za0i98vaUrRP8rt3f3YXQSxxTn17?=
 =?us-ascii?Q?YjAzg9kuMJID/W6kC21i9HmtI/jK8NqQycCNnwu/cTUZSLN9UAU4gzGym/IC?=
 =?us-ascii?Q?7sjDc7PDzFdnKPXH4lcXTAbhBEnaZG+e5ciCu5LCRLzsQhUlN5iu0r98SWQQ?=
 =?us-ascii?Q?Zc9v8w6H8KURArU1JSRQzacIX1CnS18KKGsTXBnd/SSf648lpn3HIl4ocudr?=
 =?us-ascii?Q?w8cL3f6EB/458i1iVjm2UFGSTkzflAUhbiwkVcSnY6FfjYUTJAqRR5OUhkN3?=
 =?us-ascii?Q?K6gcO5jXWHUhjUhW+ea0g5kn/h+Y/RLaHeWpqIZIeLRt8SO3mzYNioBndguj?=
 =?us-ascii?Q?SNcu8uCRsAKHRnV/OKhtIXD9YOHPfxsFGq0kz9XVuuAvZq1KSv5UXpD9GXhD?=
 =?us-ascii?Q?+t51oGd0G9nUznde0/6M6F6WfqyXi1X3UEK+qerAJq76dBiC0GgwXJGgU2wY?=
 =?us-ascii?Q?YworqRfQXyNGM+ARRuDsOyOWMHUv12LJ+/DTYV6HbgRHhh6EUKjFgziOQEcv?=
 =?us-ascii?Q?GNeEU8A6ItHfiHia5ol14rOr8McYHrPDZfPWqC36L9BnsvaMoBqaYgPkRdu0?=
 =?us-ascii?Q?dhoJjoALSriCi8axOfARjspIZeJEfCZX0lZGUDgNZ7TLM8/06MO39wSmXJKG?=
 =?us-ascii?Q?kzDV55rR+X4zD3QS+6GZ/Br4qWjWPmOFcpwqGBqAvCIvIC2QGPXXL+W8aPVo?=
 =?us-ascii?Q?RYa/4iDb/pcO4myxJ1IQ0TaPqUYdthCrIxDvbgxfnKbUn8BWiAuzBGbTyg00?=
 =?us-ascii?Q?qe0Iey2rOMy4rkjoWg19rDsJlRuWRumu73toSryIX/X2cMy3nrT+PnD97ZDk?=
 =?us-ascii?Q?kO+76vesyC9A/1V8a0aaczUVsLgNDwI15avvJG0F5u/MwNzb9IIgKVGHztXV?=
 =?us-ascii?Q?aFnW9yDC+EqZCWoK6TA6lNIQqUiv8gnyr/3msAChvljrd+EDA2CM7oMpRjH0?=
 =?us-ascii?Q?ajWeVkpB1JBQYDEdjPayS89DltEmb7chv2joWEAlVzH0XmwdfO2p7q39Z2Op?=
 =?us-ascii?Q?cMLsbvVV6pHJCRTHUguJ9RJYk9nbHPw1R/91E1Ip89r+CaKIg2pnlQlYpX+0?=
 =?us-ascii?Q?A+TRZZfOfRaUJjwFJ5yyQqVP53mkZIRHAiR4J6VNR72b0Du33FIJBxzz4ftd?=
 =?us-ascii?Q?g51NVv9DDQKkQJYYnE9HaydU2lALBS5KYupkYKao5Mtvf4kWzlRlNnQ/fStu?=
 =?us-ascii?Q?usNALDk5NHuGKXr1ihglYdIAQem23NbUyQgTCsmp0/zpZ+daCD8w60uJtIrY?=
 =?us-ascii?Q?PwUfvVXCXy4oxV+6PIYbxAWVqOj5cp6RhI8hIowFRhnVa1OQEAOWGTZXcE5E?=
 =?us-ascii?Q?cMtVUhQ4QunAvEDgiTpo6UKoAITVlptxjEDg/Ulj2gdN2lrh6xhOLA3EAJLQ?=
 =?us-ascii?Q?gb2MspA1QeZfI8BbabmsvUamSWNdT9gQImwun3ebnZ4WWag/UAonDdOKIYY3?=
 =?us-ascii?Q?VnDtAN5aa7W5VQpsXhpc390=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 15e65224-2eba-4410-5659-08d9d5e00d96
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2022 15:27:32.8771
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: MRUzVOsOhDVk6d0gp3PeLB9YpdjZuYqbCh3xilLk+JYhLgaUT5iOiqC8WJBdIrPpbIpnXScSxNIGS+kimxs0Xg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3296

On 25.11.2021 12:02, Oleksandr Andrushchenko wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
>=20
> When a vPCI is removed for a PCI device it is possible that we have
> scheduled a delayed work for map/unmap operations for that device.
> For example, the following scenario can illustrate the problem:
>=20
> pci_physdev_op
>    pci_add_device
>        init_bars -> modify_bars -> defer_map -> raise_softirq(SCHEDULE_SO=
FTIRQ)
>    iommu_add_device <- FAILS
>    vpci_remove_device -> xfree(pdev->vpci)
>=20
> leave_hypervisor_to_guest
>    vpci_process_pending: v->vpci.mem !=3D NULL; v->vpci.pdev->vpci =3D=3D=
 NULL
>=20
> For the hardware domain we continue execution as the worse that
> could happen is that MMIO mappings are left in place when the
> device has been deassigned.
>=20
> For unprivileged domains that get a failure in the middle of a vPCI
> {un}map operation we need to destroy them, as we don't know in which
> state the p2m is. This can only happen in vpci_process_pending for
> DomUs as they won't be allowed to call pci_add_device.
>=20
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
>=20
> ---
> Cc: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> ---
> Since v4:
>  - crash guest domain if map/unmap operation didn't succeed
>  - re-work vpci cancel work to cancel work on all vCPUs
>  - use new locking scheme with pdev->vpci_lock
> New in v4
>=20
> Fixes: 86dbcf6e30cb ("vpci: cancel pending map/unmap on vpci removal")

What is this about?

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 12 15:39:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 15:39:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256726.440702 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7fiZ-0005b5-TN; Wed, 12 Jan 2022 15:39:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256726.440702; Wed, 12 Jan 2022 15:39:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7fiZ-0005ay-PY; Wed, 12 Jan 2022 15:39:19 +0000
Received: by outflank-mailman (input) for mailman id 256726;
 Wed, 12 Jan 2022 15:39:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=no1k=R4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n7fiY-0005as-1k
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 15:39:18 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cd140d46-73bd-11ec-9c70-5536b2d1e4e1;
 Wed, 12 Jan 2022 16:39:17 +0100 (CET)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2172.outbound.protection.outlook.com [104.47.17.172]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-6-Qz4w-rKeNISjt5u-zWqzvQ-1; Wed, 12 Jan 2022 16:39:15 +0100
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.4867.11; Wed, 12 Jan
 2022 15:39:14 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Wed, 12 Jan 2022
 15:39:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cd140d46-73bd-11ec-9c70-5536b2d1e4e1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642001956;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=uuaw4pm64S8+1bi66QUmMLszgHEtQ4lMfAZnq59p/vU=;
	b=dQmmgdK5hZvb0Z9ufGCAl1dnERqxsyftgb8PHm6yDMdy+9xmZlQOCmyp41OgElGNlV/mMm
	St/FMJoVmbMWr4xzaJlGBSDLydnJcNfdqCsCvmyiOJ5HU4ybVV1umklZoCWUl72qRNvZd/
	O/mFmaO99YKX5djV3vNDMAffYoK834E=
X-MC-Unique: Qz4w-rKeNISjt5u-zWqzvQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QG8Q4o4EPXxjCRXigM7CK2vX9Om3Bkqhdq8osJZXlbM/6hiBAwOGpLNY/7U56KYuZ5ocVKw/cYj1cEV2LnWVL/mKIGtXL5Z1CYY5GUfhUV8IW7oseyTasas0mygjizku2JZ38Qq8jSn6B7aRhpPDB7+QVX+d3kEF9+ISnXc5reEzGcNi1RRhtgsWj9NzAI+cTBY0JjRC/S26bGjSB3a6yF9QtfFGxTK9JRZCs1Aa9zY6F7LXjhN9M9twW4dTbH2mwoBhUIqfa80209fPS6EVbq3olYE2VdwPPkOHDNKvDTINP4VyyAEWNu6w9sz4MgzfbW77hRWpkEeNU9eP38aTMw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uuaw4pm64S8+1bi66QUmMLszgHEtQ4lMfAZnq59p/vU=;
 b=LrUiwrTutSkGPoZFVzhdNXy4HoEQSWpd4ZAM9pYMIYOrdqSniiCPc4EVlWpNj0cfJ/RbqOI+dobaECePfEAbkywXSoBriBqnOG80YtyVXLhgm5tZxfXbUX1t+lg8zm3p2b4sFcv/bLFLh0waVHGsKEu6zuf0R0HzajdyULIsCN9UM5hb7GXPqYyuLP/oLRk3nW17wo0zonyGiLPQqWYhGhOSq45Gej3FMXsf0TJ/vMXgcpYSm3l7q3rn6wKPWpNR6Ck+XrZLpfTsxNrbiKgSPrMF1AL4JL4j7F6EAyT3OmRbtY1Nn5hDV4jONabPwGMKJimtbdrEfUosgNIy93mA6g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a6caa134-cef4-f6b2-378e-759c10a37c0a@suse.com>
Date: Wed, 12 Jan 2022 16:39:12 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH v5 11/14] vpci: add initial support for virtual PCI bus
 topology
Content-Language: en-US
To: Oleksandr Andrushchenko <andr2000@gmail.com>
Cc: julien@xen.org, sstabellini@kernel.org, oleksandr_tyshchenko@epam.com,
 volodymyr_babchuk@epam.com, Artem_Mygaiev@epam.com, roger.pau@citrix.com,
 andrew.cooper3@citrix.com, george.dunlap@citrix.com, paul@xen.org,
 bertrand.marquis@arm.com, rahul.singh@arm.com,
 Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
 xen-devel@lists.xenproject.org
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-12-andr2000@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20211125110251.2877218-12-andr2000@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P195CA0021.EURP195.PROD.OUTLOOK.COM
 (2603:10a6:209:81::34) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 141b6f8d-64c3-4d6d-1908-08d9d5e1afc4
X-MS-TrafficTypeDiagnostic: VI1PR0402MB2702:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB2702B9136454DFD96C0E5591B3529@VI1PR0402MB2702.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:
	fj+12UwaMvb0gG7yC18LrCBsGHHZ42Zb/54FskDE7oVt++2Mq+WQH2hvyLyWIbdsQ7d2WlT4jyGeAZy54WltS3cbYWPy06JP/vQDx0Yr8JsgyXxK600MAJEYHKHv1LFfE0QYCR4aix6yJLtmzNAtJ1ktPc/RaYCOoRViZoC+JgVNEItScZSjtXFm3Ceyf8FWxagDPHuen9KPpL6WciECA2Kf2KGPTA91xSGuQA+FHxvXBKzCfymFUomL8I8pZpznICpy8wXIUwefjohHf1EMyv8ODecSgCOIuZFP/ZAD+8X7VD5JXYUWt4BgoeVSdCOKPmwROlQdcsieGoSKbdg+i3vINfdZ4IW0AW2LCnGKLb0mObI8f2wb4KSdEaltEMVrnVSdQbrWx+dhULerNrDfUVbBZdjl9QMQ1zSZbYClyqHYt19SrH5l1ueH6DTnmLmJlZZ6Q3HUcttn+DbfSagj+hV1BzEsw12f3LECiBuy3Xxi4d+hDuR9HINO+GPQqq2/b+t+JuQR1YBE3ehR6NS9bpF30xNRIgTc1jNeRJoQbGSalODH9/8GA3XAF4uESO8V7h/BozQOLRdWTVZJwpNY7Bpg8uxisaHDZD/QnfhpF3+DLZP8LM6D4z7JAuSEnTGKtQNuJGxbv8jJhmleUf/G++mjQh1m4+R67bdE1RNW+7/WxcgrVJQwdPfgxVnAE+hpKuC8aZnFGAzej/OAeS/qX19dyVSDFfXvT3a7N/OAOmU=
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)(8676002)(8936002)(4326008)(6506007)(2906002)(5660300002)(26005)(86362001)(36756003)(2616005)(53546011)(6486002)(38100700002)(508600001)(316002)(66476007)(6916009)(31696002)(31686004)(6512007)(7416002)(66946007)(66556008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b1huTkNoem9UVmRpelhJeDRBb3Y5L0o3b05vK3puNlJwaTN4a2xlTjR2NndI?=
 =?utf-8?B?L3R2Y25xOE9KcHMwVzVwUlAwRTFSOUVOQ3BKSVEvT3JGQ3FWOFIxUVpRMjVs?=
 =?utf-8?B?NmxiK3B6Z0ZtNm56RURSVDF5d2xDTnJXTkJ1NHExYzFsaEpsLzRETU5UNENK?=
 =?utf-8?B?amtxM0VEbjJhbVFlSE1SbTNGTTIyZk4rZUZpdFRYZHRwMGxLalUvY3dWbXp1?=
 =?utf-8?B?RjFEK3J4SW1IM1YvcFh3TEpNT21aSUZ0NUNaTExUcFpBeXg0Q1dRT3Y4dVRO?=
 =?utf-8?B?eUdVS2xrUnF0RzlOTDRoNHZNTjZISnlxNlorVGIwMnpETnFwTzhDSWw5MFJi?=
 =?utf-8?B?Z2NtdGdpc2RHU1cxTXcvQWZHNkljZUdXUzFUUFR4d3AyZW9BSk5kbGU4dlll?=
 =?utf-8?B?WUNQN1VkdGluZHFxN1VWcEFUK1pTZFk2NWdpMFBQK085OCtoS0NjcWdkem0w?=
 =?utf-8?B?Zm8zMCtXODlwY1BFVGh1SWRiMXZEWkkrRDEzdElpUlJKMmpUcjJreEtQUXgx?=
 =?utf-8?B?SlhzMk51bUl4K1BDazNmVU91YTRkWWlMbjZZKytUN0IxeXJPaHZSbHhldnd2?=
 =?utf-8?B?RDZIQkZIbWtzc2FFQzR1V0h4ZTRjTmlsWFE3NHFPY01yWVNaR2JOTjJLUE9I?=
 =?utf-8?B?eVF1VnorNnNFL1Zqd25LU3hYNVNTK2ZiU2dtUmhIVWpFUk1LQ2N3Yk5Ua1VK?=
 =?utf-8?B?Z3c0bEYyNGRMWXg0V3ZEcmNKWDdzUGFHYVE5TlpYeERPWXI2cTlCcXhuaFVQ?=
 =?utf-8?B?blhRL2pKTHg5RUdLdlc0aVNRbE5oQU15bys0U0o5cWhNd0Qwd0V5QVgzdUV1?=
 =?utf-8?B?Zis2WHZoR1NiN3MxTEdRZUhIMW9NVHpuWjZTMFNKZitPUFUrVlFwVnIxUU5h?=
 =?utf-8?B?cWVsSW52TUdjT2RCUHJHc0NkU2g0OFEyTm9URTFOMXpxbDg1MkpIVUhMZmd4?=
 =?utf-8?B?c0dsYXZBV3lSVlpsckczeEw4QlphRThPYjJQZitBRnVFbDJTZnhTRXArekJH?=
 =?utf-8?B?L1BUZDFKNU5EdHhuTk9xZU5rQy9XZHhKZ3JYQ2diZUFhbVlrMjhFb2JEZU1P?=
 =?utf-8?B?SEZwUEhFeWhBTVUzYTUvaEMvR0dEZnd1SDBPZyt3WjhLMmdaYmJhaVNTRlZS?=
 =?utf-8?B?Q0JCaFNKblZYbWNqZzZyTE5TMTVqNjZpc2JNNTk1UzMxWEE1aXB1OFVZT0Zv?=
 =?utf-8?B?NGY2SlNjUWM1akNuSnlCUHNudUV4bmxGL0d2bitKVHhWaHFJTXVYbm1QY3o5?=
 =?utf-8?B?ZTlPdjcvajIyTS9BTHE3Zm54dUhDNVB0aGhYOFNqb0x5ZGlrWkNGVnFqd1RO?=
 =?utf-8?B?Y1NxM0RQNG1zMzE0Rk5kTXQ3a0xHWnlDemQ2ZUVKRU16MU11K09sUGFwOGdE?=
 =?utf-8?B?Mmc1cmlxTk9wMFRDQmVZeFhLcHhDNGExWW1keFJiK1JQamxlR05pbkJXcWgw?=
 =?utf-8?B?OTZnSHNIUllSRnR0N1FUbGQ0N05SeWdZaFlnTVF1S2pCZXoxN1RHUjRrempO?=
 =?utf-8?B?TWJlTTBoaHBPNktNOTFaMFFTMG9sdlN0c2EwSG42aE82aWdKUW9pRWJwNVJB?=
 =?utf-8?B?QmoyMVJWSHZ3NC96dktRSlp5K3lGZ2MwMFN1WnJlTm5ndmg5R3I0Yy9aazJB?=
 =?utf-8?B?VFNta0t6a0wzR0w5eTduU3RlTS9CSmtsQzJWMUtkQ0YzbGg3WU5iM3pPZFFS?=
 =?utf-8?B?NStwOUVjenlOVVArd25hUHBSSnVBKzBWWlNFM3pKUmNyMG5aV0FzSHJSa3VB?=
 =?utf-8?B?VVJhalhMK3lyWW5nMmRqc0NoeUJPalhZUWJZS0VoTjFiUnRHMklNVXhsYUl2?=
 =?utf-8?B?YW95ZzVKb0hFWk1hOWNSaHRIUkRBaUQxN1ZhcUUxeFRhRE1HdVA4RHBEOTN4?=
 =?utf-8?B?VFgwWEVlWk5yVk84bEdVSUt1ZWdCZW9zaThkR0J2Y1lxbnVMTHQwZ3MxcEN1?=
 =?utf-8?B?OWYvNHNmTitjUTF5TTBBVXVoV1RsY0tVdm5Pc1dTdWZyYzE3Nlo5aGhnUy9S?=
 =?utf-8?B?SmFCenhVWTlva04vWUhXSW04K2I0eTBEdmZUaEllbTlMWjViVnYvbHNrRGVN?=
 =?utf-8?B?eFRZYzJLdVlZTm5RNUZYQ0NveGFBSE1ucWFHcVV3RzdNdUh0a1lhS0s2T1k5?=
 =?utf-8?B?YnZRT1BHZ3EvRG1iWWNhbDVOZTNjeFpXQ0k4T3ljaThqRUlXZlNpOW1ZZGdk?=
 =?utf-8?Q?5bquVW022mpszWDML6yzTzI=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 141b6f8d-64c3-4d6d-1908-08d9d5e1afc4
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2022 15:39:14.4327
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: RiY8vGo6yjdprSNFT9LpZUlH7B6oHi204n7wZrFSU/YdHPUtdLrBqn2VukUT/l7iMvgJH3Lfl63ymjdXEOxz9Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB2702

On 25.11.2021 12:02, Oleksandr Andrushchenko wrote:
> @@ -145,6 +148,53 @@ int vpci_add_handlers(struct pci_dev *pdev)
>  }
>  
>  #ifdef CONFIG_HAS_VPCI_GUEST_SUPPORT
> +int vpci_add_virtual_device(struct pci_dev *pdev)
> +{
> +    struct domain *d = pdev->domain;
> +    pci_sbdf_t sbdf = { 0 };
> +    unsigned long new_dev_number;
> +
> +    /*
> +     * Each PCI bus supports 32 devices/slots at max or up to 256 when
> +     * there are multi-function ones which are not yet supported.
> +     */
> +    if ( pdev->info.is_extfn )
> +    {
> +        gdprintk(XENLOG_ERR, "%pp: only function 0 passthrough supported\n",
> +                 &pdev->sbdf);
> +        return -EOPNOTSUPP;
> +    }
> +
> +    new_dev_number = find_first_zero_bit(&d->vpci_dev_assigned_map,
> +                                         VPCI_MAX_VIRT_DEV);
> +    if ( new_dev_number >= VPCI_MAX_VIRT_DEV )
> +        return -ENOSPC;
> +
> +    __set_bit(new_dev_number, &d->vpci_dev_assigned_map);
> +
> +    /*
> +     * Both segment and bus number are 0:
> +     *  - we emulate a single host bridge for the guest, e.g. segment 0
> +     *  - with bus 0 the virtual devices are seen as embedded
> +     *    endpoints behind the root complex
> +     *
> +     * TODO: add support for multi-function devices.
> +     */
> +    sbdf.devfn = PCI_DEVFN(new_dev_number, 0);
> +    pdev->vpci->guest_sbdf = sbdf;
> +
> +    return 0;
> +
> +}
> +REGISTER_VPCI_INIT(vpci_add_virtual_device, VPCI_PRIORITY_MIDDLE);

Is this function guaranteed to always be invoked ahead of ...

> +static void vpci_remove_virtual_device(struct domain *d,
> +                                       const struct pci_dev *pdev)
> +{
> +    __clear_bit(pdev->vpci->guest_sbdf.dev, &d->vpci_dev_assigned_map);
> +    pdev->vpci->guest_sbdf.sbdf = ~0;
> +}

... this one, even when considering error paths? Otherwise you may
wrongly clear bit 31 here afaict.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 12 15:43:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 15:43:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256731.440712 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7fms-00072D-IE; Wed, 12 Jan 2022 15:43:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256731.440712; Wed, 12 Jan 2022 15:43:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7fms-000726-F4; Wed, 12 Jan 2022 15:43:46 +0000
Received: by outflank-mailman (input) for mailman id 256731;
 Wed, 12 Jan 2022 15:43:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dBVB=R4=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n7fmq-000720-TY
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 15:43:44 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6a5c677f-73be-11ec-bd6f-bfb69f65cdc7;
 Wed, 12 Jan 2022 16:43:42 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6a5c677f-73be-11ec-bd6f-bfb69f65cdc7
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642002222;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=4vnnTHknJsz12LxTDM+5NyqK0ysyI03RoZWtlhUil1o=;
  b=f+2cqiSWN8KU36+KCQ1xvy/FEa8UjqEEDyFuA5qZd3lmfsTv5Nf9Jwtk
   T0XF302BWuXCGJk2S/m8BseDgagkyjHmLvgNMRjLsf75jlH11UBTYaTIH
   LCd4QPBR0rTmAjhysv7kvhlVQ9IM5YlP698tjIgkmYp9jzVM0VdV/AXyI
   8=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: DltGclRys/UFQJoJbT/WKvMRO90PC/jMFcnwDr1PWR/u8t8F06hJ0lq7vYUUSIMYhWKA6E+aDd
 GdJ4FKpiriN5xrRHZYzOpfDm0OYIyaYZXIKRB5R1Aih7hy7K/7fEPE26uPejHPCUqvLxoHFzT2
 har8EjLk9S+fc1ObJtstr1X9R9PIlg9UZI4DIBAayFTHB65WSGLqLhGabtU/BtDS1dCntBFpva
 5HliEph1GUD0PlEgCCzOSu/zm+FBteU5YFRNzL8RsN4jAxFeBJiY92ox9yyltwqbQ2PUbIF+Fq
 ic2eHlDNpEFDn3PEpEyOaVHc
X-SBRS: 5.2
X-MesageID: 62245909
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:zYGkBalZLE0ZrK+djs519oTo5gxBIERdPkR7XQ2eYbSJt1+Wr1Gzt
 xJOC2uEPfnfMDCncowib461oEoGuJLSzt5qTQtkrSw9QiMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BClVlxJVF/fngqoDUUYYoAQgsA180IMsdoUg7wbRh29cy2YLR7z6l4
 rseneWOYDdJ5BYsWo4kw/rrRMRH5amaVJsw5zTSVNgT1LPsvyB94KE3fMldG0DQUIhMdtNWc
 s6YpF2PEsE1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXee0v0XRYRQR4/ttmHozx+4
 PFVscShFiYFBKLvmMRCAyZUKD5UI4QTrdcrIVDn2SCS50jPcn+qyPRyFkAme4Yf/46bA0kXq
 6ZecmpUKEne2aTmm9pXScE17ignBNPsM44F/Glp0BnSDOo8QICFSKLPjTNd9Glq3JwTTK6PD
 yYfQSp1RRfPRBhKAF0oC4kaoM70omT9UjIN/Tp5ooJoujOOnWSdyoPFOtfPZsaDQ8kTm0+Cv
 3/H5EzwGBRcP9uaoRKd+2+orv/Cm2X8Qo16PJSi6vNvt3iCyWUSBQM+WEOypL+yjUvWc8JSL
 QkY9zQjqYA29Ve3VZ/tUhugunmGsxUAHd1KHIUS7wWAybHd5QqDMWECQiRcc9wttMIwRjsC2
 0eAmpXiAjkHmKecSW+ZsKyVqzyyESEPKCkJYipsZQkY59jupqkjgxSJScxseIa8iNHvQ2mom
 xiFqSE/g/MYistj/6ex8E3DgjmsjoPUVQNz7QLSNkq76Qd+aJ+gdpaf41HR5vZdL66UVlCE+
 nMDnqC26+QDDoqEkiCXd/kcB7Gi5/uDMzr0jEZmGt8q8DHF02W4YYla7TV6JUFoGsUJYznkZ
 AnUoww52XNIFCL0N+ktOdv3Upl0i/i7fTj4ahzKRv5WZsBgKy6rxi5NZW7Pj1/hq1cGj4hqb
 P93bv2QJXodDK1myh+/SOEczaIny0gC+I/DeXzo50/5iOTDPRZ5XZ9AaQLTNb5hsMtotS2Iq
 443Ciec9/lIvAQSiAHz+JVbE10FJGNT6Xve+50OLb7rzuaL9Qgc5x7tLVEJJ90Nc0d9zL6gE
 pSBtqlwkguXaZrvc1TiV5ybQOmzNauTVFpiVcDWAX6m2mI4faGk57oFep08cNEPrbI/lK8uE
 adVI5rbU5yjrwgrHRxHPPERS6Q4JXyWaf+mZXL5MFDTgbY9L+A2xjMUVlS2r3RfZsZGncA/v
 6ehxmvmrWkrHGxf4DLtQKv3lTuZ5CFF8MorBhegCoQNJC3ErdY7QwSs3q5fC5xdcn3rm2rFv
 zt69D9F/4EhVadvromQ7U1Fxq/0e9ZD8r1yRDiEve3oZHiDrgJOA+ZoCY61QNwUb0utkI2Kb
 uRJ1fDsdvoBmVdBqY1nFLh3i6k54rPSS3Vyk2yIxV3HMAamDK1OOH6D0ZUdv6FB3OYB6wC3R
 liO6p9RPrDQYJHpF1sYJQwEaOWf1K5LxmmOvKpteEiqtjVq+LenUFlJO0XegiJqM7YoYpgux
 v0suZBK5lXn2AYqKNuPkgtd63+Ici4bS6wiu5xDWN3rhwMnx0tse5vZDiOqspiDZ88VahshI
 yOOhbqEjLNZnxKQf302HHnL/OxcmZVR50wakA5cfwyEw4OXiOU20Rtd9SUMYj5UlhgXgfhuP
 mVLNlFuIfnc9Tlfm8UeDXunHBtMBUPF9xWpmUcJjmDQU2KhSnfJcD8mIe+I8U0UrzBcczxc8
 O3KwWrpS2+3LsT43y90Uk95sf3zC9d281SaysygGs2EGbg8YCbk3fDyNTZZ9UO/DJNjnlDDq
 Mlr4P10OP/yOiMnqqEmD5WXiOYLQxeeKW0eGfxs8cvlx40HlO1eDdRWF32MRw==
IronPort-HdrOrdr: A9a23:HWtfq6j7Fbx0JNfeiwxYzlmVUXBQXz513DAbv31ZSRFFG/FwyP
 rBoB1L73DJYWgqNE3I+erhBEGBKUmsk6KdxbNhQItKPTOWwldASbsC0WKM+UyEJ8STzJ846U
 4kSdkDNDSSNykKsS+Z2njBLz9I+rDum8rE9ISurUuFDzsaEJ2Ihz0JdDpzeXcGPTWua6BJc6
 Z1saF81kWdkDksH4+GL0hAe9KGi8zAlZrgbxJDLxk76DOWhTftzLLhCRCX0joXTjsKmN4ZgC
 X4uj28wp/mn+Cwyxfa2WOWx5NKmOH5wt8GIMCXkMAaJhjllw7tToV8XL+puiwzvYiUmRwXue
 iJhy1lE9V46nvXcG3wiRzx2zP42DJr0HPmwU/wuwqUneXJABYBT+ZRj4NQdRXUr2A6ustn7a
 5N12WF87JKEBLphk3Glpb1fiAvsnDxjWspkOYVgXAae5AZcqVtoYsW+14QOIscHRj99JssHI
 BVfY7hDc5tABOnhk3izypSKITGZAVwIv7GeDlPhiWt6UkWoJgjpHFogfD2nR87heUAotd/lq
 D5259T5cJzp/ktHNZA7dc6MLuK41P2MGDx2UKpUB3a/fI8SjrwQ6Ce2sRB2AjtQu1O8KcP
X-IronPort-AV: E=Sophos;i="5.88,282,1635220800"; 
   d="scan'208";a="62245909"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ncl5OEZmKrJKrJVS9zkOihr5Y3BodJrIBlq21BJ4z5nS+J6x+fq0QB7Db66yJ13Y/onYIbUmK4Q3oTolyN6aixKw4MnrhkgagDcNEz8f+wO7klsNfq4gOJQczOEY/elcBAEJSbJT5FlCux9IYHr+6FnHIF4hLp86z+7HehsVsabysuU/qPwrcIrUsXSEetO3Z1lqyBqZ5z6l7srWb1NrWxQtihjVRHTCXP4LFr1JmAN4+H+eDG3aRAUU1daWvw9ROeoKRhYWX5tjuFv1DKDi3FowwJOGhC7/6jIujZxM8+mq5JMFh0CSf3Lq0bVjo/GKzLN9GDN4iA1StzwfQOHAwg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=v+0TNkJOwTARJYSgBPRrPJTm2zaozFgdnEd37LZcyqQ=;
 b=lB01GtiOnhFI6K956rNTQbBeM1Z+hDaA5ULDHjitaByhnI8+bMv/YcPuq1vtEuxEAv7sy0AuADGIAmhDXT0HjdFnI2ld5e/csS99WucfZeJgEGMRkOmuew6opajO0QDKvyd6MLmeuRoMD6vyAmqP0lh3M16xLqfwOgmy8+8P5lA3dQQadSjkbHXgwMAXuMvEs2KLDe+QAPYkuEUMtusBO/2eM0QDTmTkGk3WDqs8AehMZzHM9LHIjm1kKYb222mn7H5hZtzKaLdsZm/rBnIfSJ13zEUeNYIxekMYjVTQJ5If/XovkUSfLQRqbp5eKPEA8+P5NOhszPCH70tgJAlC+g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=v+0TNkJOwTARJYSgBPRrPJTm2zaozFgdnEd37LZcyqQ=;
 b=R018LOnwnhwwDF+H5cfPuM7X0rYnqgEgbNX5+mM2Hv3qUL8jPnl2JXgBFLuzs8Q7o/pq/HpOy9zufLCw6JSrrmQp+rIgehPiHf2EmFTiS6qYMU38E8aiOQpnJ/hlZMKG31lFDBhbl7Og4OVIRJzLRaM4lNGMs+0PzQL74q0OM9U=
Date: Wed, 12 Jan 2022 16:42:58 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Oleksandr Andrushchenko <andr2000@gmail.com>, <julien@xen.org>,
	<sstabellini@kernel.org>, <oleksandr_tyshchenko@epam.com>,
	<volodymyr_babchuk@epam.com>, <Artem_Mygaiev@epam.com>,
	<andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>, <paul@xen.org>,
	<bertrand.marquis@arm.com>, <rahul.singh@arm.com>, Oleksandr Andrushchenko
	<oleksandr_andrushchenko@epam.com>, <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v5 03/14] vpci: move lock outside of struct vpci
Message-ID: <Yd73Aq4w2H1Eo01h@Air-de-Roger>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-4-andr2000@gmail.com>
 <c7a9020a-9713-47b6-45bf-5ac2c6d4157c@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <c7a9020a-9713-47b6-45bf-5ac2c6d4157c@suse.com>
X-ClientProxiedBy: MR1P264CA0132.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:51::7) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8e6b91c2-17f1-474f-a704-08d9d5e239d3
X-MS-TrafficTypeDiagnostic: BY5PR03MB4983:EE_
X-Microsoft-Antispam-PRVS: <BY5PR03MB4983A48A70CD5C2E5534AFD18F529@BY5PR03MB4983.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: w1FZpDszGzuQ2JvkNfwrnQ+AoYr0sKwfYrehsTexewUqs41uPSm38KZGh7Fi5DvYok89Fm3a4UuIfcTAayydxT0BTbCXErEkMdxl7kt9NG2w36ThMpB3g3BvJAzK//VhCcXS3COhq4cIq9b6f88eWAN4+ekZOt6gSE1xL3qxuZVNRplgg+RE6HY3trx+u3orS65Sm+8MBgrktkkLt4v13EpVCyDnBpyhS7CRmV2JchBriuTDf5oFQP5KIysYaFSrWcaP10FuatlYthYT39PQeAqxEy8T0ErvGSGdrlasRcniF+yL6+Do1W5MxH+cfIlSn/UqVPatjTzywUXQmmGjb2xtjJjt9fYQSSAwdYL+fuX1gvNMTOedI4HSsfF4rn1y03VG4gfE+TEwGah26bdXx8tsALxYYNUM/G8EYk7pFjZb2DlRhoVHfmfvR6tOQ+//IK/DViqZBLyPk5PXUeSTLjo8B+uhS+tcgIEL+aQgocDmc0+7B/W8JC16uU9m6KoL8j4OL/Ixjh2GkrwZaG0IkblGF69zVTUUDWNvJL7uZNsVR99pe47oL7jL9L6vZYWM6Ler4xbaqGHRwBVzj9fEXZnASknGHt1e8SwH+/OQ+C9+R2mnpFqJ0G7F4Fshlr3MHTajw+TxXDhmBPt3JszwPg==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(9686003)(66476007)(4326008)(66556008)(26005)(33716001)(6512007)(316002)(66946007)(86362001)(5660300002)(85182001)(186003)(7416002)(38100700002)(53546011)(508600001)(6666004)(8676002)(83380400001)(6916009)(82960400001)(54906003)(6486002)(2906002)(8936002)(6506007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?c0swK0hoN3BBN3dLVFBCZGJUSE9RaGE2bkFkZjRyLzF0K0pWRVRrR1dsdDRT?=
 =?utf-8?B?V3I1S0I2azdWa1YyU1FxbVdidDRqMzZlNncybjFqbnpWaGkzQ1FPcVZEcWhz?=
 =?utf-8?B?d3h0RWpOUjBVVlFkdmh6RlpFODFHQngrUEd5Z0tMT0V2amY0cFVYNUQyU2ho?=
 =?utf-8?B?UUVCa2phU25XRjdWK2NTNk1oWE5JcUVTa0hQM0ZjazNHYUhET1RHRVNpYWw2?=
 =?utf-8?B?d29GOHlYMlQ0eFBPQmRTZFlvRDczdkdDb1ljVW83dHh3U0I3eUdwQWY1UUJq?=
 =?utf-8?B?NzRWeFZ6ejEyTEtMLzZ5dlUrOEs1bVd6Wi9GTXdIZXdoenJVYXJRSi9TQ25M?=
 =?utf-8?B?NFkwWHNTS0VEWFJDNnlyKzlqZU9XeGVJVGxvQ0hRWlpoOGRTZkREaHZ6ZUpx?=
 =?utf-8?B?L0xMVXROekE3VFl3emsrWEpXV3VmNlkwZnUxbEhEenpuYUR2K2xBaGhSMjN5?=
 =?utf-8?B?VGlpYWFyMmFTQjNwcXJaUEtWR0dKaVNVS3gxcUNrTTRQYnFMb21vUUF3T2dh?=
 =?utf-8?B?aXpmR0l3QmdMYUJhdWt3bW0wZVM2NGVpdGNraVZYRWtTSzVlb2xDc3FYeWkx?=
 =?utf-8?B?djNNcmx4LzN4RTcxYTQ3eXVUYkpCMmJCamg3eFBucnVkTTQ1amd5TDg1ZEhl?=
 =?utf-8?B?L21vTk1RWjJ6Rm5pdjFnemtCTks2SlVRekJyRVQvZS96RlIvSyswTWtGcnpE?=
 =?utf-8?B?R2N3blFCVUhkZUd3dUxLL2p4VjM1MFEyZHphaVJEN2xzbTBsd3ZMYmpTckth?=
 =?utf-8?B?NitwdFJPeThMNGpYVnJud1JaRVV2WkhQNlpXQitvR0pEUnlsUG9zVUNBQU5E?=
 =?utf-8?B?Qko4SDVoVXVIV21rRCtsMmV0Nk5OSVR3bkhwSDNpU29wZ1FGSERvdUNDTEUr?=
 =?utf-8?B?RkNiMUEra1ROUndRQkhRYzhUMGJoeHJ1UStVWHdDTmtZRThMQi8zbmxQR2JQ?=
 =?utf-8?B?Z0JlLzNVSWRmNUJOdTVYRXo4Z2dRTjVtV1RycjhmYnIyQllaSW1yMHczMzZh?=
 =?utf-8?B?TU5QdnZicC8yRjlFZ2EraUZwMG85MnJzM3ppUXhVd052Tmk3R2s4anJCWmFq?=
 =?utf-8?B?YVE3ejdSVXBlTHRoZlpJdGRIN1c2bnU1TE5yMmI0L2hZUDZJUzladHNoT056?=
 =?utf-8?B?YnRNSExrc2pjSVdpeXBnOVNRTlc0dEV3dDNqZjhvc25KYVhaalpRYk5aSmMz?=
 =?utf-8?B?S1RVQ0VwUExKNGJJazh2MTc2UHpmODVxT0ErbmlXMXA4YkM0OENoSndTYUsr?=
 =?utf-8?B?U1M2c1YxODhTbVNsS3Q3QXoyenF6VU51QUhvcmFHNnk2ejZ5bXJIUmJubWMx?=
 =?utf-8?B?Q0NHQTZsQzQvZjZlUS93TVcwR3FzTkhvM1JxYWpFSnlKWWlFTEtaV0VQa1ZU?=
 =?utf-8?B?VW9La2JzbGFBRGFHKzZGMk51dUpibm5LSEhobUVMc2FPSDFxWUU4NjJPbjNN?=
 =?utf-8?B?bnZabTZuK0k3RTNqYkNIcnUxaW8yRytSL054Z2UyTTI3WnpNZUJuTmtUNTE1?=
 =?utf-8?B?dTNLZWdBSlJZY0ZyYkhsRGlIMENzYml5bkNNVzAwSmJWNE1zMGVTelp1T0dy?=
 =?utf-8?B?MGlHZi9YQlptaVNEUC9IZzl1d2JjUnlDODNlekVydTluc3BjWlc4dkZRaW1z?=
 =?utf-8?B?V2cvMDF3QURHRnhIUUo3ekFqMzRKaE82TWNZdkUrenVYSGtUWlFlWDdiRjlR?=
 =?utf-8?B?MXdTT09CT0J1OUxuNWdCMUcxZkEwK2FpUVN5MDJCSlFORkswQk51Tnkrb1dB?=
 =?utf-8?B?RVlwL3BheFNVNDNzQ1lHc1BYVVNIRWJFQzdWeG5aME5XazVjN3M4N0J1NUpX?=
 =?utf-8?B?OTB1YjhSNE9Ta05VL2xtcUpNSGxNYTJQaFVEeGtjRXlIOUkwTE8wNjdoTXNJ?=
 =?utf-8?B?dG5HVmRuZlI4NEtZbklzZXJYSlk1ZHdlRnJNbHp5MU5odjBIaTFKU09qZVJj?=
 =?utf-8?B?NXFFK2wxcTFTRTRvbEpPRWh4Y1phOTdvekp0cGdQcTR2VU05Vk8vbWNsaWJK?=
 =?utf-8?B?RGttNjdSYlZtQTVHeWtlZkxDaHRxQmtFbXBPWk5KelFlNDBCdjc3VEE2VlVD?=
 =?utf-8?B?QVArWkhpTnN5NFJEUXFFUWJPTFYyNVhhTER2cGorU3pyem0vdnphTWhxc0du?=
 =?utf-8?B?L0FHRzZDOGhrUkh4VjJhanJXOHNvZ1Z2MEtLOTI0dUdWQXZJWkZZMUNYQVAx?=
 =?utf-8?Q?QogXLvKifiwXsvKn216j394=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 8e6b91c2-17f1-474f-a704-08d9d5e239d3
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2022 15:43:06.1164
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Ai8i5/Dxf4aHvtIeqI12kSmKQBIvGLQOvIngWDDWsOE+Y+i7y6aw2mMn94yQcuIVnBuqyNSY5gO36wrs+6wIQQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB4983
X-OriginatorOrg: citrix.com

On Wed, Jan 12, 2022 at 03:57:36PM +0100, Jan Beulich wrote:
> On 25.11.2021 12:02, Oleksandr Andrushchenko wrote:
> > @@ -379,7 +396,6 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size)
> >  
> >          data = merge_result(data, tmp_data, size - data_offset, data_offset);
> >      }
> > -    spin_unlock(&pdev->vpci->lock);
> >  
> >      return data & (0xffffffff >> (32 - 8 * size));
> >  }
> 
> Here and ...
> 
> > @@ -475,13 +498,12 @@ void vpci_write(pci_sbdf_t sbdf, unsigned int reg, unsigned int size,
> >              break;
> >          ASSERT(data_offset < size);
> >      }
> > +    spin_unlock(&pdev->vpci_lock);
> >  
> >      if ( data_offset < size )
> >          /* Tailing gap, write the remaining. */
> >          vpci_write_hw(sbdf, reg + data_offset, size - data_offset,
> >                        data >> (data_offset * 8));
> > -
> > -    spin_unlock(&pdev->vpci->lock);
> >  }
> 
> ... even more so here I'm not sure of the correctness of the moving
> you do: While pdev->vpci indeed doesn't get accessed, I wonder
> whether there wasn't an intention to avoid racing calls to
> vpci_{read,write}_hw() this way. In any event I think such movement
> would need justification in the description.

I agree about the need for justification in the commit message, or
even better this being split into a pre-patch, as it's not related to
the lock switching done here.

I do think this is fine however, as racing calls to
vpci_{read,write}_hw() shouldn't be a problem. Those are just wrappers
around pci_conf_{read,write} functions, and the required locking (in
case of using the IO ports) is already taken care in
pci_conf_{read,write}.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 15:50:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 15:50:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256735.440724 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7ft8-0008UV-AC; Wed, 12 Jan 2022 15:50:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256735.440724; Wed, 12 Jan 2022 15:50:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7ft8-0008UO-6W; Wed, 12 Jan 2022 15:50:14 +0000
Received: by outflank-mailman (input) for mailman id 256735;
 Wed, 12 Jan 2022 15:50:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zSVc=R4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7ft7-0008UI-Oa
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 15:50:13 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5399970e-73bf-11ec-bd6f-bfb69f65cdc7;
 Wed, 12 Jan 2022 16:50:12 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id AFFBF1F3C7;
 Wed, 12 Jan 2022 15:50:11 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 8BE8413B75;
 Wed, 12 Jan 2022 15:50:11 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 6aHqILP43mHKMAAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 12 Jan 2022 15:50:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5399970e-73bf-11ec-bd6f-bfb69f65cdc7
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642002611; h=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=8keHR1XaAKInjFYgnWSsZR+jlQEPAubyqwgiql5VcGw=;
	b=ovl8zmjJfmx4RZ+OjxyHHNCsSMuiKjDOVZyKgzvirgUioObquWnbz3t4xRcfTGhWARHaam
	1H7vjFc1ZEjUc6SXAZxMj6z0mYs2T+aMRcjU+kAf6Ldlb64Y9XYNznQGq8Jtzoxo0BEAJu
	kynAt7vmmTnZBGA6CenJO8x5UovHs/8=
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.17-rc1
Date: Wed, 12 Jan 2022 16:50:11 +0100
Message-Id: <20220112155011.1990-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.17-rc1-tag

xen: branch for v5.17-rc1

It contains the following patches:

- a fix of the Xen gntdev driver
- a fix for running as Xen dom0 booted via EFI and the EFI framebuffer
  being located above 4GB
- a series for support of mapping other guest's memory by using zone
  device when running as Xen guest on Arm 

Thanks.

Juergen

 Documentation/devicetree/bindings/arm/xen.txt |  14 +--
 arch/arm/xen/enlighten.c                      | 132 ++++++++++++++++++++++++--
 arch/x86/xen/vga.c                            |  12 ++-
 drivers/xen/Kconfig                           |   2 +-
 drivers/xen/balloon.c                         |  20 ++--
 drivers/xen/gntdev.c                          |   6 +-
 drivers/xen/unpopulated-alloc.c               |  87 ++++++++++++++++-
 include/xen/balloon.h                         |   3 +
 include/xen/interface/xen.h                   |   3 +
 include/xen/xen.h                             |  16 ++++
 10 files changed, 259 insertions(+), 36 deletions(-)

Jan Beulich (1):
      xen/x86: obtain upper 32 bits of video frame buffer address for Dom0

Oleksandr Andrushchenko (1):
      xen/gntdev: fix unmap notification order

Oleksandr Tyshchenko (6):
      xen/unpopulated-alloc: Drop check for virt_addr_valid() in fill_list()
      arm/xen: Switch to use gnttab_setup_auto_xlat_frames() for DT
      xen/balloon: Bring alloc(free)_xenballooned_pages helpers back
      xen/unpopulated-alloc: Add mechanism to use Xen resource
      arm/xen: Read extended regions from DT and init Xen resource
      dt-bindings: xen: Clarify "reg" purpose


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 15:53:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 15:53:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256739.440735 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7fvo-0000gi-Oj; Wed, 12 Jan 2022 15:53:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256739.440735; Wed, 12 Jan 2022 15:53: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 1n7fvo-0000gb-LX; Wed, 12 Jan 2022 15:53:00 +0000
Received: by outflank-mailman (input) for mailman id 256739;
 Wed, 12 Jan 2022 15:52:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=no1k=R4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n7fvn-0000gT-37
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 15:52:59 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b6814866-73bf-11ec-9c70-5536b2d1e4e1;
 Wed, 12 Jan 2022 16:52:58 +0100 (CET)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2058.outbound.protection.outlook.com [104.47.0.58]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-2-tNikZQh7P3uRkYDduV-okA-1; Wed, 12 Jan 2022 16:52:56 +0100
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.4867.7; Wed, 12 Jan
 2022 15:52:54 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Wed, 12 Jan 2022
 15:52:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b6814866-73bf-11ec-9c70-5536b2d1e4e1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642002777;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=KV2vw0b9d+TuS933+B+CTVlS6ua/KZYtY/fgMgwL3C0=;
	b=Fa7wU+LcDAUKe+TIhICkUdxI11k/iw1PWjXOGp1xolVDg353Wn2hBEHaieX3EhX0cEvv1J
	TYQEctXQPOMoJaxUfNuv7OkUvd5zS3BTFQEJ3friuDhRuoHJ+ru/5omnZ1bt+ajGwSmln9
	Aqd9G3hxK5RPsxBdKHsyrIlG7IKqyAQ=
X-MC-Unique: tNikZQh7P3uRkYDduV-okA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ctij/2DWLaNQfpo2xGBmATkU5C74eSAtox6gkAYc8Dlcd5LkEdEpKn6fUyBQaSG6O7DdpTo++vrXT8GCKSlOMNtlDy98UohBwtVjXPcTmTjV8lGx5KAqBT6p97TO7tF6wN/iFGepBRQbXWZe8wNRdtpYGtwHFjxLKHZ23lYOyET6K56pUUJLSC6xOlelDg0rONcS5MrQ3zY55z1Q1nL4ocohQR5f0twpmXJamedGuFtCyphCHWKFXLYlv4sGJdbroTzr9dv5oErUVH5kyNfXuh6zvoBnKC95ml2QVGfLujnrOEwlHsezndoO1hctkHnz9T1v8vV/QcpftCplH9p4Og==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Bwfi8e4CEqUxsEeBbHGscrvKhlOZGR44hx3/ktbTFqk=;
 b=Qd8e3sWkKqGV1u7PxNV6GwmfyWK7KRUmhj9eUx2TJMXbXVvtdUDHE0E91iO8oByYMYIjH4fQoPzNjW/Hl8GDkDTY9++cJK5f7pUy8XjAIfOn54cA6+0ugNwowx3f4RbeFr1gX34LIhgcGbeCT/9sVepzOxfAQAOuCAn5ZbVhh8JlI96ziTOxiL/D8EAItZmuXkNRNAlPMUo18PDyje5e94yTlBKcVrGBQz+SigMbwNQM/vmPO2H2WZHvwpxClRoLOlflC9E406dsz5kvJfr5VFfzejCIx6Ljd+WdbbTxRFrnaQT6P+ALEgUg2w0pc9XAjFjkZ+grpcO9IU6jiN9J6w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4fb1d547-6f6d-c4e8-b2ef-0dea780dd66d@suse.com>
Date: Wed, 12 Jan 2022 16:52:51 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH v5 03/14] vpci: move lock outside of struct vpci
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
CC: Oleksandr Andrushchenko <andr2000@gmail.com>, julien@xen.org,
 sstabellini@kernel.org, oleksandr_tyshchenko@epam.com,
 volodymyr_babchuk@epam.com, Artem_Mygaiev@epam.com,
 andrew.cooper3@citrix.com, george.dunlap@citrix.com, paul@xen.org,
 bertrand.marquis@arm.com, rahul.singh@arm.com,
 Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
 xen-devel@lists.xenproject.org
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-4-andr2000@gmail.com>
 <c7a9020a-9713-47b6-45bf-5ac2c6d4157c@suse.com>
 <Yd73Aq4w2H1Eo01h@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <Yd73Aq4w2H1Eo01h@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM5PR0602CA0016.eurprd06.prod.outlook.com
 (2603:10a6:203:a3::26) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 1cf68288-ae97-4bd4-32e7-08d9d5e3987e
X-MS-TrafficTypeDiagnostic: VE1PR04MB6478:EE_
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB6478DE1AA568D7E8A117D268B3529@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:
	iPnFcX0Ssdhv1sO50XdZys3YdbgD+Dl9NXZUtOVmE3uO//3lwGNLcDrUcqPCM8sMTKI2Q1LaKizdmYbPmkRGOi6652xX9Jy8nvkr+fnKDy6IhjDr0GhtK7D7bMjTqIofPo/A5s1M+YG1wukFGr3YxoqCotjPCVXMcxfPBsMTC8DGcN1Abigj6BT72ucS8zTFzJ0y9aZQLu1YGwA+jkhjinAfMCGlcLH7uEVls2AuGFssQb7+dyq3qHW6zb71gMnf3QFtr+38rVD29XFt4tYDFcPzXeAYyMIJl07qtCu4ef0aR5ALVpXQmsvHoptvH0fWMHdsoJsqRZy3cgjrra6SRSf0rr+9mZ4mXmAIyC2haqeNbvoINEpFKeLP4+Gp+dnSNhn2ugHDdtuWEFpLjuHPppD7uaxvft46aUxcZsyNdVj4zUcTCwlgp/s8jt5aODS0+yl+k6OqVF/TxnLfNVP1vmET45FhPOkPqL6m1nlP5sZZPUYKOVJzESOPkupycAqctZfHs5DSVGqr667efwi998xrFdQ28mwIKInLBnHNF4xdVhSOuBRx1vtnyHsCbrVolyeITLC6qJ/zex+c7/b4A2b3IQBU78ULiAGGvr18Lf3OK1cdpOq+B8kqTOi082L/NTlrzaKh6ybvFM6SYZa9Gmg85gP0s1bQ9GLJEVdI9TyH4ybfWT9Rr1RqY/IJAG3MBR48feSFsF51wUCdEpJD7ZHcIi6Wtlo+qYxftUL0I48=
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)(6486002)(6506007)(66556008)(5660300002)(31696002)(36756003)(31686004)(8676002)(4326008)(66476007)(54906003)(86362001)(8936002)(83380400001)(2906002)(53546011)(26005)(7416002)(186003)(508600001)(6512007)(6916009)(6666004)(38100700002)(316002)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?lcB8VS5FX1f6VOu+6M0OtZjmBBsqLyxs3nMutO8ibbT8GECktcbhskk0X5Sy?=
 =?us-ascii?Q?hIAND5q16tYD/pdBd44Wzc+5VNrfBe/SAeVgQVWfjDVGDgo6COSGVVYd0KO3?=
 =?us-ascii?Q?hMHLFtaF02TmcIpq46P3HiEo+IpdDP7vO6B43wShK4A7q5LSJjKF/JQJUQ6O?=
 =?us-ascii?Q?B9dkqDhx+dpjafsxLIOFv1xAkq2W5dyZPtnUOcEVxiFuqHj/gulDPjiNd32G?=
 =?us-ascii?Q?GgTtg+V5IMqQKxf3yPonv2LWZq6jfV9JhZ4wnqOh1KURT1D4ftpkSDKXU0tW?=
 =?us-ascii?Q?ZWPyM68RUPVrwv5thN4e2sPDy0Q/8PIsD1ivLfYJxiMRbB7y8srf5rM/LFNF?=
 =?us-ascii?Q?p57J2d01nvwrAvpiPYOq2vG38p4sHmEyRczfPJHKoCcryle4BS8J6Ahy8McW?=
 =?us-ascii?Q?rNq1kaZG3f4Y5vENMK1tcmjpkj2TqYe/RNCsrf976cMChPAuQLvMYB03I/6D?=
 =?us-ascii?Q?czKL4e9pEfcgCz9EGRgn6Af1z0T9K4brPv1xs22m0vbPI+uN86w+XvDRck1N?=
 =?us-ascii?Q?/MewIkXoFGD1P90UfQ1/YJEGI6B4oTXOr5D+OSV5hVz1eHtG19Z0i6MVtPFF?=
 =?us-ascii?Q?We2hAmYWdrkVg6ud7q2Xi08NvMV+xQyTzjHxUwNEeRGK/4OSyoOW3q05y7aQ?=
 =?us-ascii?Q?LJDjY4ufmOOWK4RV0Ry3UhgZ6+EckNOM3nO8A5RZDLv+FPn3dprdH7/1GswY?=
 =?us-ascii?Q?QiSm2IuclDAki1Dv+nIkHqzpIAa3xSaKAam0GOn71RoAjIRYfdthI8qfjuYI?=
 =?us-ascii?Q?RjuM9tOKL4gziVXAZ2PhH5q98ywPBajYWiLx8v4ikrk7rmfFLEYaeGqZHyBN?=
 =?us-ascii?Q?Z+edUQnah0LRrX/n5Nxlxag9Ecler26F5FvqLjn0fM5t1exnm1cvf2UX6F+/?=
 =?us-ascii?Q?Gl/+nXGXROqi4sSHjqkfAfRgbnZbpuuRgYeCjsDMLBG5+/2noo9o7q4v6X2G?=
 =?us-ascii?Q?YECtkdwaw4MDgZ8O02Qjx9tiTtbFFq+BdPoCdiLI1AzH5+B2EjSBdF5nSxpG?=
 =?us-ascii?Q?9s9UbiIVsS8o4y6vTcsBhbue1GCcKHvCLl1MnZtnOsKeCbJNpqj2b8qQQ3QL?=
 =?us-ascii?Q?1t6PfQ4DZjw/0t3/sZ6IEZcmB8xM7KrklVg3LHkcYiuQJNY6w1ZCEvpFatmT?=
 =?us-ascii?Q?uuhqP/+kRPpyoq6IR21lOyHbZ3EPiys0hh0p/k21IPV4BHFUsfsjRvlTH90A?=
 =?us-ascii?Q?e/Q+74CPxCJ/boJSRnrTvefE1stG8RSRSTvZU4p7PlGPmaue5xWxGNkhfreC?=
 =?us-ascii?Q?z65KYvHNR1J7D5D8mx/HuLz/Lv2QZJEsmrtRvdMs3FvadApiP4FV9H8EUQRS?=
 =?us-ascii?Q?fvMBnlHPjHt9xrY2sO8V8PCpEsazbDdGaSPNyiIFizF9CilOFhi3EhghgG+Y?=
 =?us-ascii?Q?u6pn9ncruEZF5LRMXNzzUAIMe8+jle7oWKx3ZsGrhYuTwM121E5Mt332TvaR?=
 =?us-ascii?Q?9uepUWSiQ3ZAfOWw+wTZmZ7SYAJEX9X19IJWSnS0jrE9c/0OB5YshLezH/LU?=
 =?us-ascii?Q?NwVU4iEv+MjMK/32tZZHamktke7t4sioRn+QWaBttL3rw7tBPjOrJl/AjFF+?=
 =?us-ascii?Q?dWnc5lmYp30E87TTzh8z6z0Sa4XzgFfVgZfRYCMogdTyWanlmh27N36CD8P+?=
 =?us-ascii?Q?HzC79s9VRKEVqk2KTfbyFsM=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1cf68288-ae97-4bd4-32e7-08d9d5e3987e
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2022 15:52:54.5004
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: PFpxpb6sSV6P3ZmK/XXcrH8OMJJPX5Zh/9YMuFm9DeWUh5ZYxryW9srx1tr5ReQ0WWEiUEAsxDh8Vwo/B341nQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6478

On 12.01.2022 16:42, Roger Pau Monn=C3=A9 wrote:
> On Wed, Jan 12, 2022 at 03:57:36PM +0100, Jan Beulich wrote:
>> On 25.11.2021 12:02, Oleksandr Andrushchenko wrote:
>>> @@ -379,7 +396,6 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int re=
g, unsigned int size)
>>> =20
>>>          data =3D merge_result(data, tmp_data, size - data_offset, data=
_offset);
>>>      }
>>> -    spin_unlock(&pdev->vpci->lock);
>>> =20
>>>      return data & (0xffffffff >> (32 - 8 * size));
>>>  }
>>
>> Here and ...
>>
>>> @@ -475,13 +498,12 @@ void vpci_write(pci_sbdf_t sbdf, unsigned int reg=
, unsigned int size,
>>>              break;
>>>          ASSERT(data_offset < size);
>>>      }
>>> +    spin_unlock(&pdev->vpci_lock);
>>> =20
>>>      if ( data_offset < size )
>>>          /* Tailing gap, write the remaining. */
>>>          vpci_write_hw(sbdf, reg + data_offset, size - data_offset,
>>>                        data >> (data_offset * 8));
>>> -
>>> -    spin_unlock(&pdev->vpci->lock);
>>>  }
>>
>> ... even more so here I'm not sure of the correctness of the moving
>> you do: While pdev->vpci indeed doesn't get accessed, I wonder
>> whether there wasn't an intention to avoid racing calls to
>> vpci_{read,write}_hw() this way. In any event I think such movement
>> would need justification in the description.
>=20
> I agree about the need for justification in the commit message, or
> even better this being split into a pre-patch, as it's not related to
> the lock switching done here.
>=20
> I do think this is fine however, as racing calls to
> vpci_{read,write}_hw() shouldn't be a problem. Those are just wrappers
> around pci_conf_{read,write} functions, and the required locking (in
> case of using the IO ports) is already taken care in
> pci_conf_{read,write}.

IOW you consider it acceptable for a guest (really: Dom0) read racing
a write to read back only part of what was written (so far)? I would
think individual multi-byte reads and writes should appear atomic to
the guest.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 12 16:41:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 16:41:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256746.440756 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7ggv-0006az-SW; Wed, 12 Jan 2022 16:41:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256746.440756; Wed, 12 Jan 2022 16: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 1n7ggv-0006as-PD; Wed, 12 Jan 2022 16:41:41 +0000
Received: by outflank-mailman (input) for mailman id 256746;
 Wed, 12 Jan 2022 16:41:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ytoJ=R4=suse.com=dfaggioli@srs-se1.protection.inumbo.net>)
 id 1n7ggu-0006Zx-9B
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 16:41:40 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 82e896d7-73c6-11ec-bd6f-bfb69f65cdc7;
 Wed, 12 Jan 2022 17:41:38 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id B16181F3A3;
 Wed, 12 Jan 2022 16:41:37 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 6EF8D13BE6;
 Wed, 12 Jan 2022 16:41:37 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id WQijGMEE32GwTAAAMHmgww
 (envelope-from <dfaggioli@suse.com>); Wed, 12 Jan 2022 16:41: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: 82e896d7-73c6-11ec-bd6f-bfb69f65cdc7
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642005697; 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=2SkX3v3mYWj0hVWfhFsLKlW92IvOMYnJLJq6xEKXvBs=;
	b=g8R7gRhSAvTrJ7gXaVTbgAaWBQ7D7n+192qXGrp2qakBz+tV3XWT+O8oGm5HsKfb27a1Pv
	i7KM3t8baWau7KfLLUztrO5HCh77yonWKnu0kUzZS3wkngGBJ8/X8BKLUz5RfWOmooROL4
	5AOe7VDyE39RyyxyJem5mi156BV/jPk=
Subject: [PATCH 1/2] tools/libs/light: numa placement: don't try to free a
 NULL list of vcpus
From: Dario Faggioli <dfaggioli@suse.com>
To: xen-devel@lists.xenproject.org
Cc: James Fehlig <jfehlig@suse.com>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
Date: Wed, 12 Jan 2022 17:41:36 +0100
Message-ID: <164200569629.24755.2980883411590685040.stgit@work>
In-Reply-To: <164200566223.24755.262723784847161301.stgit@work>
References: <164200566223.24755.262723784847161301.stgit@work>
User-Agent: StGit/0.23
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit

If libxl_vcpu_list() returned NULL, we should not call
libxl_numainfo_list_free() as:
1) it'll fail trying to (double) free() *list
2) there should be nothing to free anyway

Signed-off-by: Dario Faggioli <dfaggioli@suse.com>
Tested-by: James Fehlig <jfehlig@suse.com>
---
Cc: Wei Liu <wl@xen.org>
Cc: Anthony PERARD <anthony.perard@citrix.com>
Cc: Juergen Gross <jgross@suse.com>
---
 tools/libs/light/libxl_numa.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/libs/light/libxl_numa.c b/tools/libs/light/libxl_numa.c
index a8a75f89e9..3679028c79 100644
--- a/tools/libs/light/libxl_numa.c
+++ b/tools/libs/light/libxl_numa.c
@@ -253,9 +253,9 @@ static int nr_vcpus_on_nodes(libxl__gc *gc, libxl_cputopology *tinfo,
             }
         }
 
+        libxl_vcpuinfo_list_free(vinfo, nr_dom_vcpus);
  next:
         libxl_cpupoolinfo_dispose(&cpupool_info);
-        libxl_vcpuinfo_list_free(vinfo, nr_dom_vcpus);
     }
 
     libxl_bitmap_dispose(&dom_nodemap);




From xen-devel-bounces@lists.xenproject.org Wed Jan 12 16:41:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 16:41:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256745.440746 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7ggo-0006Jb-K8; Wed, 12 Jan 2022 16:41:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256745.440746; Wed, 12 Jan 2022 16:41:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7ggo-0006JU-Gt; Wed, 12 Jan 2022 16:41:34 +0000
Received: by outflank-mailman (input) for mailman id 256745;
 Wed, 12 Jan 2022 16:41:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ytoJ=R4=suse.com=dfaggioli@srs-se1.protection.inumbo.net>)
 id 1n7ggn-0006JO-Aq
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 16:41:33 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7f2d64e2-73c6-11ec-9c70-5536b2d1e4e1;
 Wed, 12 Jan 2022 17:41:31 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 3803D1F39B;
 Wed, 12 Jan 2022 16:41: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 DD09513BE6;
 Wed, 12 Jan 2022 16:41:30 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id P8h4M7oE32GmTAAAMHmgww
 (envelope-from <dfaggioli@suse.com>); Wed, 12 Jan 2022 16:41: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: 7f2d64e2-73c6-11ec-9c70-5536b2d1e4e1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642005691; 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=xnkW0qyBAqv0IYt/Ys6pBbBfCTc4R0r4m+OvdFVhX3o=;
	b=AGcJNGNQr8tZXp4bvci2AzrkmrQEVVg+MDL4XB+5QqDkyJpqRzHKE5qYdLHLUhzL2YsyQX
	dmhspyTriFRruOEvSV9ULsIXLOsajOuFj1GK8Xb7Vidf0rwFTDJlvNfoloyWryH6xKvLz4
	37TKCIUbA9WuMbUIKuaSo8gBOeVV5sc=
Subject: [PATCH 0/2] libs/light: fix a race when domain are destroied and
 created concurrently
From: Dario Faggioli <dfaggioli@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, James Fehlig <jfehlig@suse.com>,
 Anthony PERARD <anthony.perard@citrix.com>, Wei Liu <wl@xen.org>,
 Juergen Gross <jgross@suse.com>, James Fehlig <jfehlig@suse.com>
Date: Wed, 12 Jan 2022 17:41:29 +0100
Message-ID: <164200566223.24755.262723784847161301.stgit@work>
User-Agent: StGit/0.23
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit

It is possible to encounter a segfault in libxl during concurrent domain
create and destroy operations.

This is because Placement of existing domains on the host's CPUs is examined
when creating a new domain, but the existing logic does not tolerate well a
domain disappearing during the examination.

The race is quite difficult to trigger. Whan that happens, this is an
example of a backtrace:

#0  libxl_bitmap_dispose (map=map@entry=0x50) at libxl_utils.c:626
#1  0x00007fe72c993a32 in libxl_vcpuinfo_dispose (p=p@entry=0x38) at _libxl_types.c:692
#2  0x00007fe72c94e3c4 in libxl_vcpuinfo_list_free (list=0x0, nr=<optimized out>) at libxl_utils.c:1059
#3  0x00007fe72c9528bf in nr_vcpus_on_nodes (vcpus_on_node=0x7fe71000eb60, suitable_cpumap=0x7fe721df0d38, tinfo_elements=48, tinfo=0x7fe7101b3900, gc=0x7fe7101bbfa0) at libxl_numa.c:258
#4  libxl__get_numa_candidate (gc=gc@entry=0x7fe7100033a0, min_free_memkb=4233216, min_cpus=4, min_nodes=min_nodes@entry=0, max_nodes=max_nodes@entry=0, suitable_cpumap=suitable_cpumap@entry=0x7fe721df0d38, numa_cmpf=0x7fe72c940110 <numa_cmpf>, cndt_out=0x7fe721df0cf0, cndt_found=0x7fe721df0cb4) at libxl_numa.c:394
#5  0x00007fe72c94152b in numa_place_domain (d_config=0x7fe721df11b0, domid=975, gc=0x7fe7100033a0) at libxl_dom.c:209
#6  libxl__build_pre (gc=gc@entry=0x7fe7100033a0, domid=domid@entry=975, d_config=d_config@entry=0x7fe721df11b0, state=state@entry=0x7fe710077700) at libxl_dom.c:436
#7  0x00007fe72c92c4a5 in libxl__domain_build (gc=0x7fe7100033a0, d_config=d_config@entry=0x7fe721df11b0, domid=975, state=0x7fe710077700) at libxl_create.c:444
#8  0x00007fe72c92de8b in domcreate_bootloader_done (egc=0x7fe721df0f60, bl=0x7fe7100778c0, rc=<optimized out>) at libxl_create.c:1222
#9  0x00007fe72c980425 in libxl__bootloader_run (egc=egc@entry=0x7fe721df0f60, bl=bl@entry=0x7fe7100778c0) at libxl_bootloader.c:403
#10 0x00007fe72c92f281 in initiate_domain_create (egc=egc@entry=0x7fe721df0f60, dcs=dcs@entry=0x7fe7100771b0) at libxl_create.c:1159
#11 0x00007fe72c92f456 in do_domain_create (ctx=ctx@entry=0x7fe71001c840, d_config=d_config@entry=0x7fe721df11b0, domid=domid@entry=0x7fe721df10a8, restore_fd=restore_fd@entry=-1, send_back_fd=send_back_fd@entry=-1, params=params@entry=0x0, ao_how=0x0, aop_console_how=0x7fe721df10f0) at libxl_create.c:1856
#12 0x00007fe72c92f776 in libxl_domain_create_new (ctx=0x7fe71001c840, d_config=d_config@entry=0x7fe721df11b0, domid=domid@entry=0x7fe721df10a8, ao_how=ao_how@entry=0x0, aop_console_how=aop_console_how@entry=0x7fe721df10f0) at libxl_create.c:2075

Luckily, it is easy to close the race, by just making sure that
libvxl_list_vcpu() returns 0 as the number of vCPUs of the domain, when
it also returns NULL as the list of them.

Regards
---
Dario Faggioli (2):
      tools/libs/light: numa placement: don't try to free a NULL list of vcpus
      tools/libs/light: don't touch nr_vcpus_out if listing vcpus and returning NULL

 tools/libs/light/libxl_domain.c | 14 ++++++++------
 tools/libs/light/libxl_numa.c   |  4 +++-
 2 files changed, 11 insertions(+), 7 deletions(-)
--
Dario Faggioli, Ph.D
http://about.me/dario.faggioli
Virtualization Software Engineer
SUSE Labs, SUSE https://www.suse.com/
-------------------------------------------------------------------
<<This happens because _I_ choose it to happen!>> (Raistlin Majere)



From xen-devel-bounces@lists.xenproject.org Wed Jan 12 16:41:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 16:41:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256747.440768 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7gh0-0006tx-4i; Wed, 12 Jan 2022 16:41:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256747.440768; Wed, 12 Jan 2022 16: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 1n7gh0-0006to-12; Wed, 12 Jan 2022 16:41:46 +0000
Received: by outflank-mailman (input) for mailman id 256747;
 Wed, 12 Jan 2022 16:41:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ytoJ=R4=suse.com=dfaggioli@srs-se1.protection.inumbo.net>)
 id 1n7ggz-0006Zx-1p
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 16:41:45 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 86aa41ae-73c6-11ec-bd6f-bfb69f65cdc7;
 Wed, 12 Jan 2022 17:41:44 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 17D161F3A3;
 Wed, 12 Jan 2022 16:41:44 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id CDBB813BE6;
 Wed, 12 Jan 2022 16:41:43 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id FLEHMMcE32HATAAAMHmgww
 (envelope-from <dfaggioli@suse.com>); Wed, 12 Jan 2022 16: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: 86aa41ae-73c6-11ec-bd6f-bfb69f65cdc7
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642005704; 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=oqPxnpqVpg7+ZYnFXNDLlT5wDVvRC/DohNLeViPfz9I=;
	b=o7UjMZMAn2RHLUfPI7b6G/Phj+NqEBug1EBKWEpZqDAukpIwTKmIC0Q8X9NPgz4DwevFIW
	yZgHuKNFEkkGSlFyej1THoCNs/NVFXV+RdhdNIYl7X63T1WisCwfrzv9kP5GivIGYWz3DI
	E0rhY8HZaqdnpONpYnkeKux48PuUWwU=
Subject: [PATCH 2/2] tools/libs/light: don't touch nr_vcpus_out if listing
 vcpus and returning NULL
From: Dario Faggioli <dfaggioli@suse.com>
To: xen-devel@lists.xenproject.org
Cc: James Fehlig <jfehlig@suse.com>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
Date: Wed, 12 Jan 2022 17:41:42 +0100
Message-ID: <164200570276.24755.1849386285622380597.stgit@work>
In-Reply-To: <164200566223.24755.262723784847161301.stgit@work>
References: <164200566223.24755.262723784847161301.stgit@work>
User-Agent: StGit/0.23
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit

If we are in libvxl_list_vcpu() and we are returning NULL, let's avoid
touching the output parameter *nr_vcpus_out (which should contain the
number of vcpus in the list). Ideally, the caller initialized it to 0,
which is therefore consistent with us returning NULL (or, as an alternative,
we can explicitly set it to 0 if we're returning null... But just not
touching it seems the best behavior).

In fact, the current behavior is especially problematic if, for
instance, a domain is destroyed after we have done some steps of the
for() loop. In which case, calls like xc_vcpu_getinfo() or
xc_vcpu_getaffinity() will start to fail, and we return back to the
caller inconsistent information, such as a NULL list of vcpus, but a
modified and not 0 any longer, number of vcpus in the list.

Signed-off-by: Dario Faggioli <dfaggioli@suse.com>
Tested-by: James Fehlig <jfehlig@suse.com>
---
Cc: Wei Liu <wl@xen.org>
Cc: Anthony PERARD <anthony.perard@citrix.com>
Cc: Juergen Gross <jgross@suse.com>
---
 tools/libs/light/libxl_domain.c |   14 ++++++++------
 tools/libs/light/libxl_numa.c   |    4 +++-
 2 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/tools/libs/light/libxl_domain.c b/tools/libs/light/libxl_domain.c
index 544a9bf59d..aabc264e16 100644
--- a/tools/libs/light/libxl_domain.c
+++ b/tools/libs/light/libxl_domain.c
@@ -1661,6 +1661,7 @@ libxl_vcpuinfo *libxl_list_vcpu(libxl_ctx *ctx, uint32_t domid,
     libxl_vcpuinfo *ptr, *ret;
     xc_domaininfo_t domaininfo;
     xc_vcpuinfo_t vcpuinfo;
+    int nr_vcpus;
 
     if (xc_domain_getinfolist(ctx->xch, domid, 1, &domaininfo) != 1) {
         LOGED(ERROR, domid, "Getting infolist");
@@ -1677,27 +1678,27 @@ libxl_vcpuinfo *libxl_list_vcpu(libxl_ctx *ctx, uint32_t domid,
     ret = ptr = libxl__calloc(NOGC, domaininfo.max_vcpu_id + 1,
                               sizeof(libxl_vcpuinfo));
 
-    for (*nr_vcpus_out = 0;
-         *nr_vcpus_out <= domaininfo.max_vcpu_id;
-         ++*nr_vcpus_out, ++ptr) {
+    for (nr_vcpus = 0;
+         nr_vcpus <= domaininfo.max_vcpu_id;
+         ++nr_vcpus, ++ptr) {
         libxl_bitmap_init(&ptr->cpumap);
         if (libxl_cpu_bitmap_alloc(ctx, &ptr->cpumap, 0))
             goto err;
         libxl_bitmap_init(&ptr->cpumap_soft);
         if (libxl_cpu_bitmap_alloc(ctx, &ptr->cpumap_soft, 0))
             goto err;
-        if (xc_vcpu_getinfo(ctx->xch, domid, *nr_vcpus_out, &vcpuinfo) == -1) {
+        if (xc_vcpu_getinfo(ctx->xch, domid, nr_vcpus, &vcpuinfo) == -1) {
             LOGED(ERROR, domid, "Getting vcpu info");
             goto err;
         }
 
-        if (xc_vcpu_getaffinity(ctx->xch, domid, *nr_vcpus_out,
+        if (xc_vcpu_getaffinity(ctx->xch, domid, nr_vcpus,
                                 ptr->cpumap.map, ptr->cpumap_soft.map,
                                 XEN_VCPUAFFINITY_SOFT|XEN_VCPUAFFINITY_HARD) == -1) {
             LOGED(ERROR, domid, "Getting vcpu affinity");
             goto err;
         }
-        ptr->vcpuid = *nr_vcpus_out;
+        ptr->vcpuid = nr_vcpus;
         ptr->cpu = vcpuinfo.cpu;
         ptr->online = !!vcpuinfo.online;
         ptr->blocked = !!vcpuinfo.blocked;
@@ -1705,6 +1706,7 @@ libxl_vcpuinfo *libxl_list_vcpu(libxl_ctx *ctx, uint32_t domid,
         ptr->vcpu_time = vcpuinfo.cpu_time;
     }
     GC_FREE;
+    *nr_vcpus_out = nr_vcpus;
     return ret;
 
 err:
diff --git a/tools/libs/light/libxl_numa.c b/tools/libs/light/libxl_numa.c
index 3679028c79..b04e3917a0 100644
--- a/tools/libs/light/libxl_numa.c
+++ b/tools/libs/light/libxl_numa.c
@@ -219,8 +219,10 @@ static int nr_vcpus_on_nodes(libxl__gc *gc, libxl_cputopology *tinfo,
             goto next;
 
         vinfo = libxl_list_vcpu(CTX, dinfo[i].domid, &nr_dom_vcpus, &nr_cpus);
-        if (vinfo == NULL)
+        if (vinfo == NULL) {
+            assert(nr_dom_vcpus == 0);
             goto next;
+        }
 
         /* Retrieve the domain's node-affinity map */
         libxl_domain_get_nodeaffinity(CTX, dinfo[i].domid, &dom_nodemap);




From xen-devel-bounces@lists.xenproject.org Wed Jan 12 16:42:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 16:42:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256754.440779 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7ghd-0007tB-GS; Wed, 12 Jan 2022 16:42:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256754.440779; Wed, 12 Jan 2022 16: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 1n7ghd-0007t4-Bt; Wed, 12 Jan 2022 16:42:25 +0000
Received: by outflank-mailman (input) for mailman id 256754;
 Wed, 12 Jan 2022 16:42: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 1n7ghb-0007sU-NR; Wed, 12 Jan 2022 16:42: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 1n7ghb-0002KM-Kv; Wed, 12 Jan 2022 16:42: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 1n7ghb-0003G4-Cr; Wed, 12 Jan 2022 16:42:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n7ghb-0005TX-CO; Wed, 12 Jan 2022 16:42:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=N9qlhvaOXA5JzxdVoB6OkjkbqCh/yiP8Kwk5sHHxJWM=; b=P61BIwJHlNiZTYCJos4oFNiJ0h
	UE3XtzBmt/kpIsf3QS1/n0jEJTA6HwbKfIv9X1BJOJqzVYv/K3MXR5A7OPhwFO9fXdX5YP9tNA0IJ
	BueOiMybfBQBmll3SA6BQYfnY1CyBEcJtYKPgK/Wx/o+mhRIjygZkpSS1H9t3uDneBmg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167669-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 167669: regressions - FAIL
X-Osstest-Failures:
    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:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=4902dc68e555ccf28af3427f75661c54a2fffc0f
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 12 Jan 2022 16:42:23 +0000

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

Regressions :-(

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

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

version targeted for testing:
 libvirt              4902dc68e555ccf28af3427f75661c54a2fffc0f
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  551 days
Failing since        151818  2020-07-11 04:18:52 Z  550 days  532 attempts
Testing same since   167657  2022-01-11 04:18:54 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>
  Ani Sinha <ani@anisinha.ca>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  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>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.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>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  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>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  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 Chevsky <nchevsky@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>
  Or Ozeri <oro@il.ibm.com>
  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>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott 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>
  Stefan Hajnoczi <stefanha@redhat.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>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Дамјан Георгиевски <gdamjan@gmail.com>

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


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 16:56:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 16:56:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256766.440789 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7gua-0001F3-SL; Wed, 12 Jan 2022 16:55:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256766.440789; Wed, 12 Jan 2022 16:55:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7gua-0001Ew-PO; Wed, 12 Jan 2022 16:55:48 +0000
Received: by outflank-mailman (input) for mailman id 256766;
 Wed, 12 Jan 2022 16:55:46 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=no1k=R4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n7guY-0001Eq-Lb
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 16:55:46 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7c070449-73c8-11ec-bd6f-bfb69f65cdc7;
 Wed, 12 Jan 2022 17:55:45 +0100 (CET)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2054.outbound.protection.outlook.com [104.47.14.54]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-10-FS2qxvf4N6SfAhiG0-pbfQ-1; Wed, 12 Jan 2022 17:55:44 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4943.eurprd04.prod.outlook.com (2603:10a6:803:51::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.11; Wed, 12 Jan
 2022 16:55:42 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Wed, 12 Jan 2022
 16:55:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7c070449-73c8-11ec-bd6f-bfb69f65cdc7
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642006545;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=uVIECFSoyBpoSerFgLoLt5D15ad1MicIB3WTwehRhzg=;
	b=kbUBjPumHpenr4AmJCFfwjZVfUo7cE2+YHnSaeHg77Wrku8mrLJ3lBK+EMlcl15gqoVXsB
	eUH87JO2DYz/WxTwn2uuHAR7swG02WJRMAAybVPIw9eDNr1kIpSOLp44+otudczHIMfdzl
	S/p/vg1oRMvmyR2RbPAMueSwnKEUPDM=
X-MC-Unique: FS2qxvf4N6SfAhiG0-pbfQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UR2R7ZT5cVguHQ3CbFTC3kNXI+k3b9kooqfyWzZVie0BZk49hXc0cFIE00ofXq9qQeojfKY9SXIk/CYfEC8E2UsSBBcn3vgiMjQTuRIF0/BsV91NUs3Og7UF0NJqjVuOJSD0iusNj2+jb21j59rLd3Y0bhSsLMz+lTO0Bxlr/JePTkZEyWl5+3xvxUcRYz7OTthqJWG/LhleMxpqhtP1sXB3sdmgYthdUq7Y+MI8fJGpPRFIZ8NWsUQ/ef6NGeP9NaryMIdoyuPt3FrS0UESL4aftS2s38V3wk4AXSgRDlulmtRB5+wY179AWmOoe7dq66MnfUkkgn3ZtkPnOtVUOQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1DYmNvI4f+mYibA77KNmzj3fgj0ASZ8x+uPhAeOnBio=;
 b=T7igKuxzuW4za4dhC7ZJDMDlBjkKVDD0NW0P48YTtdfFoqoMgUEOXXAxpcW9UDMM0KGV81eETdmpe77phLC4j4Zi+0VzXH0Z+uFFiuisLtkcgKDt1uJsQP+/I5kfZT2cyN7YpgnjJt/0iJ89tNfR1eLMsAX9QhpLmknv3Gwb3odQS0ImJVtBs36oeGOGHXFFB2BYzq+MLibX048i0MyCPteT01xdB9s6+Yg2YkOqo9rSzCXq/SkVYjICPJhi+ycPFYgybGZOQC7FVbIQJq2Nf6NK4VecYBETNm1R5ZgbtEVz2YsTXWLnDl+2XcA6irmt/L+qa5ttMU+F81YvapepEw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a282ec4d-9ea3-7a0c-35d1-d08d6c056a22@suse.com>
Date: Wed, 12 Jan 2022 17:55:39 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: xen 4.14.3 incorrect (~3x) cpu frequency reported
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
CC: James Dingwall <james-xen@dingwall.me.uk>, alexander.rossa@ncr.com,
 xen-devel@lists.xenproject.org
References: <20210721092958.GA2502468@dingwall.me.uk>
 <c9c6778d-9823-4b07-fb48-604acef1f3de@suse.com>
 <20210726123332.GA3844057@dingwall.me.uk>
 <06be7360-0235-3773-b833-3e0d65512092@suse.com>
 <20211105152501.GA485838@dingwall.me.uk>
 <20220106150809.GA856484@dingwall.me.uk>
 <78540c18-c54e-07e8-c099-d7bfd29bea91@suse.com>
 <YdwodzmyvNwGJaSM@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YdwodzmyvNwGJaSM@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM6P195CA0085.EURP195.PROD.OUTLOOK.COM
 (2603:10a6:209:86::26) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d488b340-aae6-42cf-15ed-08d9d5ec5e62
X-MS-TrafficTypeDiagnostic: VI1PR04MB4943:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4943BD2CC790B80385BFFE9CB3529@VI1PR04MB4943.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:
	V+z97fiISkQUbJTDo1bKke19Lai7I+gh72/UurVGlU8IkyPzSneLjZjq/u/2GPYjwAaDhDYgbfUyX1IrNxIOcJXEzNq2xRJ+IeNLTbK0ErATNCAvy3W1PgKZI6DEJ51pMdBOQO5YhwWNrfHKYJqPtBGZTS+zdYqtyljH0wodEKp9hyk/sFaDSUNTJoD/A2BGq5Bg8aha5PiT5ekocq6SAJpzZKm/H4xnMrzWl9I+Mtq7uNDP0O40NOouqVhECxl+KYgYzXG/LdUE2kNX+7w/rOOucKX++AiYDio4wGv7VwKkIZ8EurylCTzXJHuRwYDmwcBrVLub/geu6QOi43kY8nClxtZJcbGIBYgWnMnqKdwXSQTjdyqxs1TIBubwXcSQUSVN7DbUxI2lkL6v5LD8mcYxW7WH9FfvVfa4kBDucv3WHRVKkT3j0x2Lri7joqYS2fpHUCTc3hos1prfVOZ1xHpUn6xSNUyJ8swI69C1XxAoI46Xtdtxo53ZydRJsKFXK6T/3G78+IOB+ub/zj8VzopdOujQ1MTCW2CQahNIr0gLNB2CDa1z2jE+G+npPZrZ6DJbWXY57TsIQdhWqK3dyyLUpXsZYdfZBp8aWqrI935FmW0tiERm/8kjfdVXKrM5SvV/qmAm/r3/tG5krks+LgACS1PWSV/asvoL5gopTtnEoCWtxf2KNAIeUFqxhHJD+XL7rEIvgwCv/oMvMHTgiU0JIOKmZQSxKNNdP5d5lW8=
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)(66946007)(6916009)(8936002)(6486002)(8676002)(5660300002)(6666004)(2906002)(2616005)(6506007)(6512007)(36756003)(31696002)(508600001)(38100700002)(31686004)(26005)(53546011)(186003)(316002)(86362001)(4326008)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?y8X+6/HgwL5dgEB5w+PjovZK7EiSSxqSe4yXH74M5696GSH0Rr+x8xfExO4E?=
 =?us-ascii?Q?b7GtlmuqM61RUW/OYaKFGb4ESoHeKsC+6AJKAm8aZ35HPp7JhBl6MNtAxUYj?=
 =?us-ascii?Q?Me3nbYWOW2adeKcZDgGLP6UrMggbXrkFLbMlQgJ30pZAL0a/mStoBgvf2qpR?=
 =?us-ascii?Q?gBeF+t+1WpUWkSDxjZM7ZtJRzm4Eq72675OAunl5D1lJFkD7GIi8Zu9mzGEE?=
 =?us-ascii?Q?/HUhR2IJ3nxpzexPKXcaSiixpDg3XiXw1p8cbAvsGRtplffyHvGXU/ZxSjHx?=
 =?us-ascii?Q?nL9qN9iFhsiCsbuCw0ZqTxnsGC1FFOGViBlJ8xTQt/wQd7qDOOF3M3FBLvML?=
 =?us-ascii?Q?ujTMXFUaed4u/4nIn65nwIxyYws4k+Si9/47vly6HWzVmIFl0m8peqwgIB8t?=
 =?us-ascii?Q?NVWd9bOFkz95E6ywqYzbQN1vbM3JyGMskJk8VOaFUbAp/aCq+K+dcTv4mFbe?=
 =?us-ascii?Q?rTNKivS5rgIuVhesYADKePgvCocMjcQOc2qm2BJ6po9HnENTeDnNkXhxcfsJ?=
 =?us-ascii?Q?GEWOcT2GLCgDASEXo55bM+DQQ3lcBWaGrnuJ59QtQc5sSnVfk/BxZkOqmHd7?=
 =?us-ascii?Q?n6YFXyoFjK4lnDBPAjDM9OfBHlQU8UIjApgYzkIO7hWO52m0J7+JJtkzlAu+?=
 =?us-ascii?Q?yF6bHGCOc+f4UsvxOk3uXkyPbb+GuFlKU4LS7CFMHuZ3Mxh7ffDEvm35pAe6?=
 =?us-ascii?Q?5DnEwge15PDu8WtQlLRvrUuTQRZfzN46oLv+disAsvzPjA6h0lIcQhLWCS3u?=
 =?us-ascii?Q?lmI1tNe+gmDA8lqOHgcyX6oIaA3y7TFTdeC0d/tI3jOJ8nEuJqqgMzJb+kKl?=
 =?us-ascii?Q?bS6gUnzBy7MFu3KerI7oulerMhsncjtO03GAZxAZFar9kfHsRlGNKi+PWylj?=
 =?us-ascii?Q?zFMnpU1tewMVIHhTiE4zcsI+fCtPAK4MYcTBPUDr0ij4W/K88e0F+GwbQYRD?=
 =?us-ascii?Q?GmkPraNhPoznsJKTkMM2Suyk9L5ht/41FUxoQPR0RWB8MAgY9R4Ug1zTAntb?=
 =?us-ascii?Q?2hE7rKAOpqFrhlYwDHVvExeliVnSgz88Qt/fu56fJiASSCSoZjg8SeGvshlC?=
 =?us-ascii?Q?111nnffjsP275YiFlBLoWUWPUn4WddXJ5+kFHPVX7N2p12Bb/BFjoTgJqcRY?=
 =?us-ascii?Q?H7pMk20wIY7yw9JJtmq94qi1HXLv0Tct33KCGsMuo5s8ZpO7pOd/Qh+uYa0b?=
 =?us-ascii?Q?16+8qht3HLZ93jyl8w0dt9Wlp7XWhglkLfajKgXkHGe9oIomOS5Vbh6vlgHp?=
 =?us-ascii?Q?NHafE0K3R22oWBAUwvqy2Mcl8YRPahj/k5ctB7MAB2Vmw+qbezuRhU9gChae?=
 =?us-ascii?Q?YckRUJ84LFav04KqEK3xyeW7DrHDXgBcawOoveRDUWmXHOUH8UOPB8t/mGsg?=
 =?us-ascii?Q?rKh+MBGVxN3YJFvsfeTebsCoISB4vXN6a6jM1U2HN4friD6NjyGn9kq8Kg81?=
 =?us-ascii?Q?ZKywFs1P8GUsG5jJGPzZo3c4IEivvXQPqBPF9hy7uce4nSdGMp40x2/0AfSE?=
 =?us-ascii?Q?zCV0xQ8hNd4+vXNK4KVkPb4K7VWGfvofnuI9Adv054h6e6SGA0/H1S2rgzXC?=
 =?us-ascii?Q?j9hq968BYwfyG5RK36Mij1w+nGe4JyoeiQ6RNL+toDCyOURisDmVNMVemvfK?=
 =?us-ascii?Q?fGpzrfxHac4GZj9iTcrdEcw=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d488b340-aae6-42cf-15ed-08d9d5ec5e62
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2022 16:55:42.4898
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dw1fsL2bW/oKvcXy1uLGNJXRWDgq+RJg1ViwH100zPf1G+wfzd9ZoTPqlhz89H2uoagF60y7fx8OxPBLrPCzAQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4943

On 10.01.2022 13:37, Roger Pau Monn=C3=A9 wrote:
> On Fri, Jan 07, 2022 at 12:39:04PM +0100, Jan Beulich wrote:
>> @@ -415,16 +416,35 @@ static int64_t __init init_hpet(struct p
>> =20
>>      pts->frequency =3D hpet_rate;
>> =20
>> +for(i =3D 0; i < 16; ++i) {//temp
>>      count =3D hpet_read32(HPET_COUNTER);
>>      start =3D rdtsc_ordered();
>>      target =3D count + CALIBRATE_VALUE(hpet_rate);
>>      if ( target < count )
>>          while ( hpet_read32(HPET_COUNTER) >=3D count )
>>              continue;
>> -    while ( hpet_read32(HPET_COUNTER) < target )
>> +    while ( (count =3D hpet_read32(HPET_COUNTER)) < target )
>>          continue;
>> =20
>> -    return (rdtsc_ordered() - start) * CALIBRATE_FRAC;
>> +    expired =3D rdtsc_ordered() - start;
>=20
> There's also a window between the HPET read and the TSC read where an
> SMI/NMI could cause a wrong frequency detection.

It occurred to me only while preparing a draft change that this is an
issue not only for the tail pair of reads, but also for the initial pair.
Hence I'm now actually making a helper function to be used in both
places. This slightly sub-optimal as it means that it's not as easy to
make use of the last HPET read in the loop above, but I guess we can
tolerate that one extra read in preference over more complicated logic.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 12 17:11:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 17:11:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256770.440800 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7h98-0003bB-67; Wed, 12 Jan 2022 17:10:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256770.440800; Wed, 12 Jan 2022 17:10:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7h98-0003b4-3G; Wed, 12 Jan 2022 17:10:50 +0000
Received: by outflank-mailman (input) for mailman id 256770;
 Wed, 12 Jan 2022 17:10:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=156W=R4=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1n7h97-0003ay-AU
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 17:10:49 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 947f60c7-73ca-11ec-bd6f-bfb69f65cdc7;
 Wed, 12 Jan 2022 18:10:47 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 947f60c7-73ca-11ec-bd6f-bfb69f65cdc7
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642007447;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=O0sshrZGxJgOofBB7Bmnk1/OC7PqJlJcZA7enCLN5dw=;
  b=YXoWyhqi95xGIAqDuI+Wads+oYSVd/Bbkp72N4+vjcEVrWCJTQepf+Dc
   rVI6wWmY3GSgAx6ps4R3CFs1Z2ZaVRHNkCZlW/r859WG0fkfxzGmVvfFo
   WrWe2A6kyxRu+MpiPthYI1ow+064wuMb5WxQ2UmpyOt98L1eBB19fqeL/
   E=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: PnzJMG+b1eddQz0NZlkQVk8VS5VS1C9mUEhkv17v7WaFxvY7mqOcoLRIfHo1oWMCny4MO65E2C
 qhX5WKNxAcrA4qjsgcNXmkRA/82EGPCUILOygnOm+IscUprSOgI+zOWwp03nm7EmiBOJGULRjR
 7HTVjCU9J7sLjUXuUcUfw1EtwAxkaKUPI8Hmhk/n9SQ/uu30CvMKRGnsJNRNETvbiXRmdjK2HW
 QysY1VKzc70tZYo8d+J/UUn7zTfV/ODia7fcpmvHW5JS7gKdYw6pl2/lp0wwtN//B6sRdi5AUf
 zSWjppHRyvYYEkWfB76tLQ9t
X-SBRS: 5.2
X-MesageID: 62255310
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:u7vvM6uVsR0GibZ9z5UrP25nvufnVKVZMUV32f8akzHdYApBsoF/q
 tZmKTyCOveCYGP3cookOoXn9hgAu8XSytY3HQttrSo9RiMa+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZQP0VOZigHtIQMsadUsxKbVIiGHdJZS5LwbZj2NYx2ILhWWthh
 PupyyHhEA79s9JLGjp8B5Kr8HuDa9yr5Vv0FnRnDRx6lAe2e0s9VfrzFonoR5fMeaFGH/bSe
 gr25OrRElU1XfsaIojNfr7TKiXmS1NJVOSEoiI+t6OK2nCuqsGuu0qS2TV1hUp/0l20c95NJ
 NplrpGSSCszB/b1tv0gCjBYOnxdN49W0eqSSZS/mZT7I0zudnLtx7NlDV0sPJ1e8eFyaY1M3
 aVGcnZXNEnF3r/ohuLgIgVvrp1LwM3DNYUDunZm3HfBAOwvW5zrSKTW/95Imjw3g6iiGN6AP
 ZBENGE2NHwsZTVfZG0ZEpNkkN6MxUOleGJ0k3fFhYYotj27IAtZj+G2bYu9lsaxbdpRtlaVo
 CTB5WuRKhMVLtuE0hKe72mhwOTImEvTWogfCbm5/f5Cm0CIyyoYDxh+fVmyp/Wjm1O9c91aI
 k0QvCEpqMAa5EGtC9XwQRC8iHqFpQIHHcpdFfUg7wOAwbaS5ByWblXoVRYYNoZg7pVvA2V3i
 BnZxLsFGACDrpWORFCc2q2t9gqcIBVMBG8rOAwObxsstoyLTJ4IsjrDSdNqEaiQh9LzGC3tz
 z3ikBXSl4n/nuZQifzloAmvbyaE48GQE1Vrvlm/sneNs1shDLNJcbBE/rQyARxoCI+CBmeMs
 3Ef8yR1xLBfVMrd/MBhrQhkIV1I2xpnGGGN6bKMN8N4n9hIx5JFVdoBiN2ZDB04WvvogRezP
 CfuVfp5vfe/xkeCY65teJ6WAM8316XmHtmNfqmKMoMfOMYvJFfYp3AGiausM4bFyhlEfUYXY
 8bzTCpRJSxCVfQPIMSeGo/xLoPHNghhnDiOFPgXPjys0KaEZW79dFv2GADmUwzN14vd+F+92
 48Gb6OikkwDOMWjPHW/2dNNfDgicChqbbir+pc/XrPSfWJb9JQJVqW5LUUJIdI1xsy4V47go
 xmAZ6Ov4AGu2i2cd1TbMyALhXGGdc8XkE/X9BcEZT6As0XPq672hEvGX5doL7Qh6sJ5yvt4E
 6sMd8maW6wdQTXb4TUNK5L6qdU6JhisgAuPOQujYSQ+IME8F1CYpIe8c1u97jQKAwq2qdA6/
 ++q2DTETMdRXA9lFsvXNq6ilgvjoXgHletudELUOd0PKl70+Y1nJnWp3P86Ks0BMzvZwT6e2
 1rECBsUv7CV8YQ07MPIleaPqILwS7lyGU9THm/667eqNHaFojr/kNEYCOvRJGLTTmL5/qmmd
 N559fCkPa1VhktOvqp9D61vkfA06ezwquII1Q9jBnjKMQimU+syPnmc0MBTnaRR3bsF6xCuU
 0eC99QGa7WEPMTpTAwYKAY/N7nR0PgVnn/Z7OgvIVW87yhypeLVXUJXNhiKqSpcMLoqb991n
 bZ/4JYbu16llx4nEtealSQFpW2DI0sJX7gjqpxHUpTgjRAmyw0abJHRYsMsDEpjtzmY3pEWH
 wKp
IronPort-HdrOrdr: A9a23:69f2cqN6bXnFMMBcTsWjsMiBIKoaSvp037BN7TEXdfU1SL39qy
 nKpp8mPHDP5Ar5NEtOpTniAsm9qBHnm6KdiLN5Vd3OYOCMggqVBbAnwYz+wyDxXw3Sn9QtsJ
 uIqpIOa+EY22IK7/rH3A==
X-IronPort-AV: E=Sophos;i="5.88,282,1635220800"; 
   d="scan'208";a="62255310"
Date: Wed, 12 Jan 2022 17:10:36 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jason Andryuk <jandryuk@gmail.com>
CC: <xen-devel@lists.xenproject.org>, Jan Beulich <jbeulich@suse.com>, Wei Liu
	<wl@xen.org>, Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH v3] libxl/PCI: Fix PV hotplug & stubdom coldplug
Message-ID: <Yd8LjA/bO12E19NU@perard>
References: <20220109180436.4112-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20220109180436.4112-1-jandryuk@gmail.com>

On Sun, Jan 09, 2022 at 01:04:36PM -0500, Jason Andryuk wrote:
> commit 0fdb48ffe7a1 "libxl: Make sure devices added by pci-attach are
> reflected in the config" broken PCI hotplug (xl pci-attach) for PV
> domains when it moved libxl__create_pci_backend() later in the function.
> 
> This also broke HVM + stubdom PCI passthrough coldplug.  For that, the
> PCI devices are hotplugged to a running PV stubdom, and then the QEMU
> QMP device_add commands are made to QEMU inside the stubdom.
> 
> Are running PV domain calls libxl__wait_for_backend().  With the current
> 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 or changing to some other state like closing. If we are
> creating the backend, then we don't have to worry about the state since
> it is being created.
> 
> Fixes: 0fdb48ffe7a1 ("libxl: Make sure devices added by pci-attach are
> reflected in the config")
> 
> Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
> ---
> Alternative to Jan's patch:
> https://lore.kernel.org/xen-devel/5114ae87-bc0e-3d58-e16e-6d9d2fee0801@suse.com/
> 
> v3:
> Change title & commit message
> 
> v2:
> https://lore.kernel.org/xen-devel/20210812005700.3159-1-jandryuk@gmail.com/
> 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 4c2d7aeefb..e8fd3bd937 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) {

It's kind of weird to check whether the "num_devs" key is present or
not, but I guess that kind of work.

> +        if (libxl__wait_for_backend(gc, be_path,
> +                                    GCSPRINTF("%d", XenbusStateConnected)) < 0)

So there is something in the coding style document, in "error handling",
about how to write this condition.
Could you store the return value of libxl__wait_for_backend() into "rc"
(because it's a libxl function), then check it and return it?

    if (rc) return rc;

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 17:15:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 17:15:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256774.440812 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7hDC-0004EW-OJ; Wed, 12 Jan 2022 17:15:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256774.440812; Wed, 12 Jan 2022 17:15: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 1n7hDC-0004EP-LC; Wed, 12 Jan 2022 17:15:02 +0000
Received: by outflank-mailman (input) for mailman id 256774;
 Wed, 12 Jan 2022 17:15:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cmOE=R4=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1n7hDB-0004EH-C4
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 17:15:01 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2b9f4a98-73cb-11ec-9c70-5536b2d1e4e1;
 Wed, 12 Jan 2022 18:15:00 +0100 (CET)
Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com
 [209.132.183.4]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-197-x5ASZwEPMzuFdLsFFOCp6w-1; Wed, 12 Jan 2022 12:14:50 -0500
Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com
 [10.5.11.14])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx01.redhat.com (Postfix) with ESMTPS id AEB628042E1;
 Wed, 12 Jan 2022 17:14:47 +0000 (UTC)
Received: from localhost (unknown [10.39.195.79])
 by smtp.corp.redhat.com (Postfix) with ESMTP id C62E87A405;
 Wed, 12 Jan 2022 17:14: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: 2b9f4a98-73cb-11ec-9c70-5536b2d1e4e1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1642007698;
	h=from:from:reply-to:subject:subject: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=qu8spKordce78JOHCzeQlJHxu0nmDEShuJK983c8CxE=;
	b=SEZK2i6swBKo/zAQHF6tIQCg8q5BDLTYBVgr77guw8rVHeid9JcaPm41f6Yyp5y0pmls9o
	EKDP9kNYtxCr7Lu3O3x1/JgZCMP21szOo2oGmYYJQzUKYNGf5InKOsHaiIPqYy2dz35hBp
	XjpSEABHhtIYI7iYk05EhdIWlQZPIdU=
X-MC-Unique: x5ASZwEPMzuFdLsFFOCp6w-1
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>
Cc: Coiby Xu <Coiby.Xu@gmail.com>,
	Fam Zheng <fam@euphon.net>,
	Anthony Perard <anthony.perard@citrix.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Stefano Garzarella <sgarzare@redhat.com>,
	Peter Lieven <pl@kamp.de>,
	qemu-block@nongnu.org,
	Julia Suvorova <jusual@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>,
	"Richard W.M. Jones" <rjones@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <f4bug@amsat.org>,
	Paul Durrant <paul@xen.org>,
	Stefan Weil <sw@weilnetz.de>,
	Juan Quintela <quintela@redhat.com>,
	Ronnie Sahlberg <ronniesahlberg@gmail.com>,
	xen-devel@lists.xenproject.org,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	Aarushi Mehta <mehta.aaru20@gmail.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Hanna Reitz <hreitz@redhat.com>
Subject: [PULL 0/6] Block patches
Date: Wed, 12 Jan 2022 17:13:56 +0000
Message-Id: <20220112171402.112183-1-stefanha@redhat.com>
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14
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: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable

The following changes since commit 91f5f7a5df1fda8c34677a7c49ee8a4bb5b56a36=
:=0D
=0D
  Merge remote-tracking branch 'remotes/lvivier-gitlab/tags/linux-user-for-=
7.0-pull-request' into staging (2022-01-12 11:51:47 +0000)=0D
=0D
are available in the Git repository at:=0D
=0D
  https://gitlab.com/stefanha/qemu.git tags/block-pull-request=0D
=0D
for you to fetch changes up to db608fb78444c58896db69495729e4458eeaace1:=0D
=0D
  virtio: unify dataplane and non-dataplane ->handle_output() (2022-01-12 1=
7:09:39 +0000)=0D
=0D
----------------------------------------------------------------=0D
Pull request=0D
=0D
----------------------------------------------------------------=0D
=0D
Stefan Hajnoczi (6):=0D
  aio-posix: split poll check from ready handler=0D
  virtio: get rid of VirtIOHandleAIOOutput=0D
  virtio-blk: drop unused virtio_blk_handle_vq() return value=0D
  virtio-scsi: prepare virtio_scsi_handle_cmd for dataplane=0D
  virtio: use ->handle_output() instead of ->handle_aio_output()=0D
  virtio: unify dataplane and non-dataplane ->handle_output()=0D
=0D
 include/block/aio.h             |  4 +-=0D
 include/hw/virtio/virtio-blk.h  |  2 +-=0D
 include/hw/virtio/virtio.h      |  5 +-=0D
 util/aio-posix.h                |  1 +=0D
 block/curl.c                    | 11 ++--=0D
 block/export/fuse.c             |  4 +-=0D
 block/io_uring.c                | 19 ++++---=0D
 block/iscsi.c                   |  4 +-=0D
 block/linux-aio.c               | 16 +++---=0D
 block/nfs.c                     |  6 +--=0D
 block/nvme.c                    | 51 ++++++++++++-------=0D
 block/ssh.c                     |  4 +-=0D
 block/win32-aio.c               |  4 +-=0D
 hw/block/dataplane/virtio-blk.c | 16 +-----=0D
 hw/block/virtio-blk.c           | 14 ++----=0D
 hw/scsi/virtio-scsi-dataplane.c | 60 +++-------------------=0D
 hw/scsi/virtio-scsi.c           |  2 +-=0D
 hw/virtio/virtio.c              | 73 +++++++++------------------=0D
 hw/xen/xen-bus.c                |  6 +--=0D
 io/channel-command.c            |  6 ++-=0D
 io/channel-file.c               |  3 +-=0D
 io/channel-socket.c             |  3 +-=0D
 migration/rdma.c                |  8 +--=0D
 tests/unit/test-aio.c           |  4 +-=0D
 tests/unit/test-fdmon-epoll.c   |  4 +-=0D
 util/aio-posix.c                | 89 +++++++++++++++++++++++++--------=0D
 util/aio-win32.c                |  4 +-=0D
 util/async.c                    | 10 +++-=0D
 util/main-loop.c                |  4 +-=0D
 util/qemu-coroutine-io.c        |  5 +-=0D
 util/vhost-user-server.c        | 11 ++--=0D
 31 files changed, 221 insertions(+), 232 deletions(-)=0D
=0D
--=20=0D
2.34.1=0D
=0D



From xen-devel-bounces@lists.xenproject.org Wed Jan 12 17:16:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 17:16:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256777.440823 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7hEV-0004nV-32; Wed, 12 Jan 2022 17:16:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256777.440823; Wed, 12 Jan 2022 17: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 1n7hEU-0004nM-WF; Wed, 12 Jan 2022 17:16:23 +0000
Received: by outflank-mailman (input) for mailman id 256777;
 Wed, 12 Jan 2022 17:16:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cmOE=R4=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1n7hET-0004n6-9o
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 17:16:21 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 589c4a82-73cb-11ec-9c70-5536b2d1e4e1;
 Wed, 12 Jan 2022 18:16:16 +0100 (CET)
Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com
 [209.132.183.4]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-481-icBw9g1EPZqkz7e7h-WsJw-1; Wed, 12 Jan 2022 12:16:03 -0500
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 A890D81EE62;
 Wed, 12 Jan 2022 17:16:01 +0000 (UTC)
Received: from localhost (unknown [10.39.195.79])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 85B042DE99;
 Wed, 12 Jan 2022 17:15:37 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 589c4a82-73cb-11ec-9c70-5536b2d1e4e1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1642007774;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=ECSmZIc7ds1+QJoIhivTGdF+uFDXzJPrynOZl8hUQyI=;
	b=VeAtMXEWUTzCCfKC7/jLrt6kog4WOeWJ5xrca2UBEFrVZOS458Twv/KW2EiGoIxCK1zlIa
	kMbu1r8drzRecVfox6Tj18ApFatv4qKrGN/2X7YeHvopt5Pf0FpRIvPXiXQVlsT+t+D79J
	wlzhbuon1j0BNPAv1rQY5Hw0fA5PYBA=
X-MC-Unique: icBw9g1EPZqkz7e7h-WsJw-1
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>
Cc: Coiby Xu <Coiby.Xu@gmail.com>,
	Fam Zheng <fam@euphon.net>,
	Anthony Perard <anthony.perard@citrix.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Stefano Garzarella <sgarzare@redhat.com>,
	Peter Lieven <pl@kamp.de>,
	qemu-block@nongnu.org,
	Julia Suvorova <jusual@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>,
	"Richard W.M. Jones" <rjones@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <f4bug@amsat.org>,
	Paul Durrant <paul@xen.org>,
	Stefan Weil <sw@weilnetz.de>,
	Juan Quintela <quintela@redhat.com>,
	Ronnie Sahlberg <ronniesahlberg@gmail.com>,
	xen-devel@lists.xenproject.org,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	Aarushi Mehta <mehta.aaru20@gmail.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Hanna Reitz <hreitz@redhat.com>
Subject: [PULL 1/6] aio-posix: split poll check from ready handler
Date: Wed, 12 Jan 2022 17:13:57 +0000
Message-Id: <20220112171402.112183-2-stefanha@redhat.com>
In-Reply-To: <20220112171402.112183-1-stefanha@redhat.com>
References: <20220112171402.112183-1-stefanha@redhat.com>
MIME-Version: 1.0
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-Transfer-Encoding: 8bit
Content-Type: text/plain; charset="US-ASCII"

Adaptive polling measures the execution time of the polling check plus
handlers called when a polled event becomes ready. Handlers can take a
significant amount of time, making it look like polling was running for
a long time when in fact the event handler was running for a long time.

For example, on Linux the io_submit(2) syscall invoked when a virtio-blk
device's virtqueue becomes ready can take 10s of microseconds. This
can exceed the default polling interval (32 microseconds) and cause
adaptive polling to stop polling.

By excluding the handler's execution time from the polling check we make
the adaptive polling calculation more accurate. As a result, the event
loop now stays in polling mode where previously it would have fallen
back to file descriptor monitoring.

The following data was collected with virtio-blk num-queues=2
event_idx=off using an IOThread. Before:

168k IOPS, IOThread syscalls:

  9837.115 ( 0.020 ms): IO iothread1/620155 io_submit(ctx_id: 140512552468480, nr: 16, iocbpp: 0x7fcb9f937db0)    = 16
  9837.158 ( 0.002 ms): IO iothread1/620155 write(fd: 103, buf: 0x556a2ef71b88, count: 8)                         = 8
  9837.161 ( 0.001 ms): IO iothread1/620155 write(fd: 104, buf: 0x556a2ef71b88, count: 8)                         = 8
  9837.163 ( 0.001 ms): IO iothread1/620155 ppoll(ufds: 0x7fcb90002800, nfds: 4, tsp: 0x7fcb9f1342d0, sigsetsize: 8) = 3
  9837.164 ( 0.001 ms): IO iothread1/620155 read(fd: 107, buf: 0x7fcb9f939cc0, count: 512)                        = 8
  9837.174 ( 0.001 ms): IO iothread1/620155 read(fd: 105, buf: 0x7fcb9f939cc0, count: 512)                        = 8
  9837.176 ( 0.001 ms): IO iothread1/620155 read(fd: 106, buf: 0x7fcb9f939cc0, count: 512)                        = 8
  9837.209 ( 0.035 ms): IO iothread1/620155 io_submit(ctx_id: 140512552468480, nr: 32, iocbpp: 0x7fca7d0cebe0)    = 32

174k IOPS (+3.6%), IOThread syscalls:

  9809.566 ( 0.036 ms): IO iothread1/623061 io_submit(ctx_id: 140539805028352, nr: 32, iocbpp: 0x7fd0cdd62be0)    = 32
  9809.625 ( 0.001 ms): IO iothread1/623061 write(fd: 103, buf: 0x5647cfba5f58, count: 8)                         = 8
  9809.627 ( 0.002 ms): IO iothread1/623061 write(fd: 104, buf: 0x5647cfba5f58, count: 8)                         = 8
  9809.663 ( 0.036 ms): IO iothread1/623061 io_submit(ctx_id: 140539805028352, nr: 32, iocbpp: 0x7fd0d0388b50)    = 32

Notice that ppoll(2) and eventfd read(2) syscalls are eliminated because
the IOThread stays in polling mode instead of falling back to file
descriptor monitoring.

As usual, polling is not implemented on Windows so this patch ignores
the new io_poll_read() callback in aio-win32.c.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Message-id: 20211207132336.36627-2-stefanha@redhat.com

[Fixed up aio_set_event_notifier() calls in
tests/unit/test-fdmon-epoll.c added after this series was queued.
--Stefan]

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 include/block/aio.h           |  4 +-
 util/aio-posix.h              |  1 +
 block/curl.c                  | 11 +++--
 block/export/fuse.c           |  4 +-
 block/io_uring.c              | 19 ++++----
 block/iscsi.c                 |  4 +-
 block/linux-aio.c             | 16 ++++---
 block/nfs.c                   |  6 +--
 block/nvme.c                  | 51 +++++++++++++-------
 block/ssh.c                   |  4 +-
 block/win32-aio.c             |  4 +-
 hw/virtio/virtio.c            | 16 ++++---
 hw/xen/xen-bus.c              |  6 +--
 io/channel-command.c          |  6 ++-
 io/channel-file.c             |  3 +-
 io/channel-socket.c           |  3 +-
 migration/rdma.c              |  8 ++--
 tests/unit/test-aio.c         |  4 +-
 tests/unit/test-fdmon-epoll.c |  4 +-
 util/aio-posix.c              | 89 ++++++++++++++++++++++++++---------
 util/aio-win32.c              |  4 +-
 util/async.c                  | 10 +++-
 util/main-loop.c              |  4 +-
 util/qemu-coroutine-io.c      |  5 +-
 util/vhost-user-server.c      | 11 +++--
 25 files changed, 193 insertions(+), 104 deletions(-)

diff --git a/include/block/aio.h b/include/block/aio.h
index 47fbe9d81f..5634173b12 100644
--- a/include/block/aio.h
+++ b/include/block/aio.h
@@ -469,6 +469,7 @@ void aio_set_fd_handler(AioContext *ctx,
                         IOHandler *io_read,
                         IOHandler *io_write,
                         AioPollFn *io_poll,
+                        IOHandler *io_poll_ready,
                         void *opaque);
 
 /* Set polling begin/end callbacks for a file descriptor that has already been
@@ -490,7 +491,8 @@ void aio_set_event_notifier(AioContext *ctx,
                             EventNotifier *notifier,
                             bool is_external,
                             EventNotifierHandler *io_read,
-                            AioPollFn *io_poll);
+                            AioPollFn *io_poll,
+                            EventNotifierHandler *io_poll_ready);
 
 /* Set polling begin/end callbacks for an event notifier that has already been
  * registered with aio_set_event_notifier.  Do nothing if the event notifier is
diff --git a/util/aio-posix.h b/util/aio-posix.h
index c80c04506a..7f2c37a684 100644
--- a/util/aio-posix.h
+++ b/util/aio-posix.h
@@ -24,6 +24,7 @@ struct AioHandler {
     IOHandler *io_read;
     IOHandler *io_write;
     AioPollFn *io_poll;
+    IOHandler *io_poll_ready;
     IOHandler *io_poll_begin;
     IOHandler *io_poll_end;
     void *opaque;
diff --git a/block/curl.c b/block/curl.c
index 4a8ae2b269..6a6cd72975 100644
--- a/block/curl.c
+++ b/block/curl.c
@@ -125,7 +125,7 @@ static gboolean curl_drop_socket(void *key, void *value, void *opaque)
     BDRVCURLState *s = socket->s;
 
     aio_set_fd_handler(s->aio_context, socket->fd, false,
-                       NULL, NULL, NULL, NULL);
+                       NULL, NULL, NULL, NULL, NULL);
     return true;
 }
 
@@ -173,19 +173,20 @@ static int curl_sock_cb(CURL *curl, curl_socket_t fd, int action,
     switch (action) {
         case CURL_POLL_IN:
             aio_set_fd_handler(s->aio_context, fd, false,
-                               curl_multi_do, NULL, NULL, socket);
+                               curl_multi_do, NULL, NULL, NULL, socket);
             break;
         case CURL_POLL_OUT:
             aio_set_fd_handler(s->aio_context, fd, false,
-                               NULL, curl_multi_do, NULL, socket);
+                               NULL, curl_multi_do, NULL, NULL, socket);
             break;
         case CURL_POLL_INOUT:
             aio_set_fd_handler(s->aio_context, fd, false,
-                               curl_multi_do, curl_multi_do, NULL, socket);
+                               curl_multi_do, curl_multi_do,
+                               NULL, NULL, socket);
             break;
         case CURL_POLL_REMOVE:
             aio_set_fd_handler(s->aio_context, fd, false,
-                               NULL, NULL, NULL, NULL);
+                               NULL, NULL, NULL, NULL, NULL);
             break;
     }
 
diff --git a/block/export/fuse.c b/block/export/fuse.c
index 823c126d23..6710d8aed8 100644
--- a/block/export/fuse.c
+++ b/block/export/fuse.c
@@ -223,7 +223,7 @@ static int setup_fuse_export(FuseExport *exp, const char *mountpoint,
 
     aio_set_fd_handler(exp->common.ctx,
                        fuse_session_fd(exp->fuse_session), true,
-                       read_from_fuse_export, NULL, NULL, exp);
+                       read_from_fuse_export, NULL, NULL, NULL, exp);
     exp->fd_handler_set_up = true;
 
     return 0;
@@ -267,7 +267,7 @@ static void fuse_export_shutdown(BlockExport *blk_exp)
         if (exp->fd_handler_set_up) {
             aio_set_fd_handler(exp->common.ctx,
                                fuse_session_fd(exp->fuse_session), true,
-                               NULL, NULL, NULL, NULL);
+                               NULL, NULL, NULL, NULL, NULL);
             exp->fd_handler_set_up = false;
         }
     }
diff --git a/block/io_uring.c b/block/io_uring.c
index dfa475cc87..782afdb433 100644
--- a/block/io_uring.c
+++ b/block/io_uring.c
@@ -292,12 +292,14 @@ static bool qemu_luring_poll_cb(void *opaque)
 {
     LuringState *s = opaque;
 
-    if (io_uring_cq_ready(&s->ring)) {
-        luring_process_completions_and_submit(s);
-        return true;
-    }
+    return io_uring_cq_ready(&s->ring);
+}
 
-    return false;
+static void qemu_luring_poll_ready(void *opaque)
+{
+    LuringState *s = opaque;
+
+    luring_process_completions_and_submit(s);
 }
 
 static void ioq_init(LuringQueue *io_q)
@@ -402,8 +404,8 @@ int coroutine_fn luring_co_submit(BlockDriverState *bs, LuringState *s, int fd,
 
 void luring_detach_aio_context(LuringState *s, AioContext *old_context)
 {
-    aio_set_fd_handler(old_context, s->ring.ring_fd, false, NULL, NULL, NULL,
-                       s);
+    aio_set_fd_handler(old_context, s->ring.ring_fd, false,
+                       NULL, NULL, NULL, NULL, s);
     qemu_bh_delete(s->completion_bh);
     s->aio_context = NULL;
 }
@@ -413,7 +415,8 @@ void luring_attach_aio_context(LuringState *s, AioContext *new_context)
     s->aio_context = new_context;
     s->completion_bh = aio_bh_new(new_context, qemu_luring_completion_bh, s);
     aio_set_fd_handler(s->aio_context, s->ring.ring_fd, false,
-                       qemu_luring_completion_cb, NULL, qemu_luring_poll_cb, s);
+                       qemu_luring_completion_cb, NULL,
+                       qemu_luring_poll_cb, qemu_luring_poll_ready, s);
 }
 
 LuringState *luring_init(Error **errp)
diff --git a/block/iscsi.c b/block/iscsi.c
index 57aa07a40d..51f2a5eeaa 100644
--- a/block/iscsi.c
+++ b/block/iscsi.c
@@ -363,7 +363,7 @@ iscsi_set_events(IscsiLun *iscsilun)
                            false,
                            (ev & POLLIN) ? iscsi_process_read : NULL,
                            (ev & POLLOUT) ? iscsi_process_write : NULL,
-                           NULL,
+                           NULL, NULL,
                            iscsilun);
         iscsilun->events = ev;
     }
@@ -1534,7 +1534,7 @@ static void iscsi_detach_aio_context(BlockDriverState *bs)
     IscsiLun *iscsilun = bs->opaque;
 
     aio_set_fd_handler(iscsilun->aio_context, iscsi_get_fd(iscsilun->iscsi),
-                       false, NULL, NULL, NULL, NULL);
+                       false, NULL, NULL, NULL, NULL, NULL);
     iscsilun->events = 0;
 
     if (iscsilun->nop_timer) {
diff --git a/block/linux-aio.c b/block/linux-aio.c
index f53ae72e21..4c423fcccf 100644
--- a/block/linux-aio.c
+++ b/block/linux-aio.c
@@ -263,12 +263,15 @@ static bool qemu_laio_poll_cb(void *opaque)
     LinuxAioState *s = container_of(e, LinuxAioState, e);
     struct io_event *events;
 
-    if (!io_getevents_peek(s->ctx, &events)) {
-        return false;
-    }
+    return io_getevents_peek(s->ctx, &events);
+}
+
+static void qemu_laio_poll_ready(EventNotifier *opaque)
+{
+    EventNotifier *e = opaque;
+    LinuxAioState *s = container_of(e, LinuxAioState, e);
 
     qemu_laio_process_completions_and_submit(s);
-    return true;
 }
 
 static void ioq_init(LaioQueue *io_q)
@@ -427,7 +430,7 @@ int coroutine_fn laio_co_submit(BlockDriverState *bs, LinuxAioState *s, int fd,
 
 void laio_detach_aio_context(LinuxAioState *s, AioContext *old_context)
 {
-    aio_set_event_notifier(old_context, &s->e, false, NULL, NULL);
+    aio_set_event_notifier(old_context, &s->e, false, NULL, NULL, NULL);
     qemu_bh_delete(s->completion_bh);
     s->aio_context = NULL;
 }
@@ -438,7 +441,8 @@ void laio_attach_aio_context(LinuxAioState *s, AioContext *new_context)
     s->completion_bh = aio_bh_new(new_context, qemu_laio_completion_bh, s);
     aio_set_event_notifier(new_context, &s->e, false,
                            qemu_laio_completion_cb,
-                           qemu_laio_poll_cb);
+                           qemu_laio_poll_cb,
+                           qemu_laio_poll_ready);
 }
 
 LinuxAioState *laio_init(Error **errp)
diff --git a/block/nfs.c b/block/nfs.c
index 577aea1d22..444c40b458 100644
--- a/block/nfs.c
+++ b/block/nfs.c
@@ -197,7 +197,7 @@ static void nfs_set_events(NFSClient *client)
                            false,
                            (ev & POLLIN) ? nfs_process_read : NULL,
                            (ev & POLLOUT) ? nfs_process_write : NULL,
-                           NULL, client);
+                           NULL, NULL, client);
 
     }
     client->events = ev;
@@ -372,7 +372,7 @@ static void nfs_detach_aio_context(BlockDriverState *bs)
     NFSClient *client = bs->opaque;
 
     aio_set_fd_handler(client->aio_context, nfs_get_fd(client->context),
-                       false, NULL, NULL, NULL, NULL);
+                       false, NULL, NULL, NULL, NULL, NULL);
     client->events = 0;
 }
 
@@ -390,7 +390,7 @@ static void nfs_client_close(NFSClient *client)
     if (client->context) {
         qemu_mutex_lock(&client->mutex);
         aio_set_fd_handler(client->aio_context, nfs_get_fd(client->context),
-                           false, NULL, NULL, NULL, NULL);
+                           false, NULL, NULL, NULL, NULL, NULL);
         qemu_mutex_unlock(&client->mutex);
         if (client->fh) {
             nfs_close(client->context, client->fh);
diff --git a/block/nvme.c b/block/nvme.c
index fa360b9b3c..dd20de3865 100644
--- a/block/nvme.c
+++ b/block/nvme.c
@@ -605,10 +605,8 @@ out:
     return ret;
 }
 
-static bool nvme_poll_queue(NVMeQueuePair *q)
+static void nvme_poll_queue(NVMeQueuePair *q)
 {
-    bool progress = false;
-
     const size_t cqe_offset = q->cq.head * NVME_CQ_ENTRY_BYTES;
     NvmeCqe *cqe = (NvmeCqe *)&q->cq.queue[cqe_offset];
 
@@ -619,30 +617,23 @@ static bool nvme_poll_queue(NVMeQueuePair *q)
      * cannot race with itself.
      */
     if ((le16_to_cpu(cqe->status) & 0x1) == q->cq_phase) {
-        return false;
+        return;
     }
 
     qemu_mutex_lock(&q->lock);
     while (nvme_process_completion(q)) {
         /* Keep polling */
-        progress = true;
     }
     qemu_mutex_unlock(&q->lock);
-
-    return progress;
 }
 
-static bool nvme_poll_queues(BDRVNVMeState *s)
+static void nvme_poll_queues(BDRVNVMeState *s)
 {
-    bool progress = false;
     int i;
 
     for (i = 0; i < s->queue_count; i++) {
-        if (nvme_poll_queue(s->queues[i])) {
-            progress = true;
-        }
+        nvme_poll_queue(s->queues[i]);
     }
-    return progress;
 }
 
 static void nvme_handle_event(EventNotifier *n)
@@ -703,8 +694,30 @@ static bool nvme_poll_cb(void *opaque)
     EventNotifier *e = opaque;
     BDRVNVMeState *s = container_of(e, BDRVNVMeState,
                                     irq_notifier[MSIX_SHARED_IRQ_IDX]);
+    int i;
 
-    return nvme_poll_queues(s);
+    for (i = 0; i < s->queue_count; i++) {
+        NVMeQueuePair *q = s->queues[i];
+        const size_t cqe_offset = q->cq.head * NVME_CQ_ENTRY_BYTES;
+        NvmeCqe *cqe = (NvmeCqe *)&q->cq.queue[cqe_offset];
+
+        /*
+         * q->lock isn't needed because nvme_process_completion() only runs in
+         * the event loop thread and cannot race with itself.
+         */
+        if ((le16_to_cpu(cqe->status) & 0x1) != q->cq_phase) {
+            return true;
+        }
+    }
+    return false;
+}
+
+static void nvme_poll_ready(EventNotifier *e)
+{
+    BDRVNVMeState *s = container_of(e, BDRVNVMeState,
+                                    irq_notifier[MSIX_SHARED_IRQ_IDX]);
+
+    nvme_poll_queues(s);
 }
 
 static int nvme_init(BlockDriverState *bs, const char *device, int namespace,
@@ -839,7 +852,8 @@ static int nvme_init(BlockDriverState *bs, const char *device, int namespace,
     }
     aio_set_event_notifier(bdrv_get_aio_context(bs),
                            &s->irq_notifier[MSIX_SHARED_IRQ_IDX],
-                           false, nvme_handle_event, nvme_poll_cb);
+                           false, nvme_handle_event, nvme_poll_cb,
+                           nvme_poll_ready);
 
     if (!nvme_identify(bs, namespace, errp)) {
         ret = -EIO;
@@ -924,7 +938,7 @@ static void nvme_close(BlockDriverState *bs)
     g_free(s->queues);
     aio_set_event_notifier(bdrv_get_aio_context(bs),
                            &s->irq_notifier[MSIX_SHARED_IRQ_IDX],
-                           false, NULL, NULL);
+                           false, NULL, NULL, NULL);
     event_notifier_cleanup(&s->irq_notifier[MSIX_SHARED_IRQ_IDX]);
     qemu_vfio_pci_unmap_bar(s->vfio, 0, s->bar0_wo_map,
                             0, sizeof(NvmeBar) + NVME_DOORBELL_SIZE);
@@ -1520,7 +1534,7 @@ static void nvme_detach_aio_context(BlockDriverState *bs)
 
     aio_set_event_notifier(bdrv_get_aio_context(bs),
                            &s->irq_notifier[MSIX_SHARED_IRQ_IDX],
-                           false, NULL, NULL);
+                           false, NULL, NULL, NULL);
 }
 
 static void nvme_attach_aio_context(BlockDriverState *bs,
@@ -1530,7 +1544,8 @@ static void nvme_attach_aio_context(BlockDriverState *bs,
 
     s->aio_context = new_context;
     aio_set_event_notifier(new_context, &s->irq_notifier[MSIX_SHARED_IRQ_IDX],
-                           false, nvme_handle_event, nvme_poll_cb);
+                           false, nvme_handle_event, nvme_poll_cb,
+                           nvme_poll_ready);
 
     for (unsigned i = 0; i < s->queue_count; i++) {
         NVMeQueuePair *q = s->queues[i];
diff --git a/block/ssh.c b/block/ssh.c
index e0fbb4934b..3b5bf34031 100644
--- a/block/ssh.c
+++ b/block/ssh.c
@@ -990,7 +990,7 @@ static void restart_coroutine(void *opaque)
     AioContext *ctx = bdrv_get_aio_context(bs);
 
     trace_ssh_restart_coroutine(restart->co);
-    aio_set_fd_handler(ctx, s->sock, false, NULL, NULL, NULL, NULL);
+    aio_set_fd_handler(ctx, s->sock, false, NULL, NULL, NULL, NULL, NULL);
 
     aio_co_wake(restart->co);
 }
@@ -1020,7 +1020,7 @@ static coroutine_fn void co_yield(BDRVSSHState *s, BlockDriverState *bs)
     trace_ssh_co_yield(s->sock, rd_handler, wr_handler);
 
     aio_set_fd_handler(bdrv_get_aio_context(bs), s->sock,
-                       false, rd_handler, wr_handler, NULL, &restart);
+                       false, rd_handler, wr_handler, NULL, NULL, &restart);
     qemu_coroutine_yield();
     trace_ssh_co_yield_back(s->sock);
 }
diff --git a/block/win32-aio.c b/block/win32-aio.c
index b7221a272f..c57e10c997 100644
--- a/block/win32-aio.c
+++ b/block/win32-aio.c
@@ -172,7 +172,7 @@ int win32_aio_attach(QEMUWin32AIOState *aio, HANDLE hfile)
 void win32_aio_detach_aio_context(QEMUWin32AIOState *aio,
                                   AioContext *old_context)
 {
-    aio_set_event_notifier(old_context, &aio->e, false, NULL, NULL);
+    aio_set_event_notifier(old_context, &aio->e, false, NULL, NULL, NULL);
     aio->aio_ctx = NULL;
 }
 
@@ -181,7 +181,7 @@ void win32_aio_attach_aio_context(QEMUWin32AIOState *aio,
 {
     aio->aio_ctx = new_context;
     aio_set_event_notifier(new_context, &aio->e, false,
-                           win32_aio_completion_cb, NULL);
+                           win32_aio_completion_cb, NULL, NULL);
 }
 
 QEMUWin32AIOState *win32_aio_init(void)
diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
index 5d18868d7d..5db7f69237 100644
--- a/hw/virtio/virtio.c
+++ b/hw/virtio/virtio.c
@@ -3536,11 +3536,14 @@ static bool virtio_queue_host_notifier_aio_poll(void *opaque)
     EventNotifier *n = opaque;
     VirtQueue *vq = container_of(n, VirtQueue, host_notifier);
 
-    if (!vq->vring.desc || virtio_queue_empty(vq)) {
-        return false;
-    }
+    return vq->vring.desc && !virtio_queue_empty(vq);
+}
 
-    return virtio_queue_notify_aio_vq(vq);
+static void virtio_queue_host_notifier_aio_poll_ready(EventNotifier *n)
+{
+    VirtQueue *vq = container_of(n, VirtQueue, host_notifier);
+
+    virtio_queue_notify_aio_vq(vq);
 }
 
 static void virtio_queue_host_notifier_aio_poll_end(EventNotifier *n)
@@ -3558,12 +3561,13 @@ void virtio_queue_aio_set_host_notifier_handler(VirtQueue *vq, AioContext *ctx,
         vq->handle_aio_output = handle_output;
         aio_set_event_notifier(ctx, &vq->host_notifier, true,
                                virtio_queue_host_notifier_aio_read,
-                               virtio_queue_host_notifier_aio_poll);
+                               virtio_queue_host_notifier_aio_poll,
+                               virtio_queue_host_notifier_aio_poll_ready);
         aio_set_event_notifier_poll(ctx, &vq->host_notifier,
                                     virtio_queue_host_notifier_aio_poll_begin,
                                     virtio_queue_host_notifier_aio_poll_end);
     } else {
-        aio_set_event_notifier(ctx, &vq->host_notifier, true, NULL, NULL);
+        aio_set_event_notifier(ctx, &vq->host_notifier, true, NULL, NULL, NULL);
         /* Test and clear notifier before after disabling event,
          * in case poll callback didn't have time to run. */
         virtio_queue_host_notifier_aio_read(&vq->host_notifier);
diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index 416583f130..645a29a5a0 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -1115,11 +1115,11 @@ void xen_device_set_event_channel_context(XenDevice *xendev,
 
     if (channel->ctx)
         aio_set_fd_handler(channel->ctx, xenevtchn_fd(channel->xeh), true,
-                           NULL, NULL, NULL, NULL);
+                           NULL, NULL, NULL, NULL, NULL);
 
     channel->ctx = ctx;
     aio_set_fd_handler(channel->ctx, xenevtchn_fd(channel->xeh), true,
-                       xen_device_event, NULL, xen_device_poll, channel);
+                       xen_device_event, NULL, xen_device_poll, NULL, channel);
 }
 
 XenEventChannel *xen_device_bind_event_channel(XenDevice *xendev,
@@ -1193,7 +1193,7 @@ void xen_device_unbind_event_channel(XenDevice *xendev,
     QLIST_REMOVE(channel, list);
 
     aio_set_fd_handler(channel->ctx, xenevtchn_fd(channel->xeh), true,
-                       NULL, NULL, NULL, NULL);
+                       NULL, NULL, NULL, NULL, NULL);
 
     if (xenevtchn_unbind(channel->xeh, channel->local_port) < 0) {
         error_setg_errno(errp, errno, "xenevtchn_unbind failed");
diff --git a/io/channel-command.c b/io/channel-command.c
index b2a9e27138..338da73ade 100644
--- a/io/channel-command.c
+++ b/io/channel-command.c
@@ -346,8 +346,10 @@ static void qio_channel_command_set_aio_fd_handler(QIOChannel *ioc,
                                                    void *opaque)
 {
     QIOChannelCommand *cioc = QIO_CHANNEL_COMMAND(ioc);
-    aio_set_fd_handler(ctx, cioc->readfd, false, io_read, NULL, NULL, opaque);
-    aio_set_fd_handler(ctx, cioc->writefd, false, NULL, io_write, NULL, opaque);
+    aio_set_fd_handler(ctx, cioc->readfd, false,
+                       io_read, NULL, NULL, NULL, opaque);
+    aio_set_fd_handler(ctx, cioc->writefd, false,
+                       NULL, io_write, NULL, NULL, opaque);
 }
 
 
diff --git a/io/channel-file.c b/io/channel-file.c
index c4bf799a80..d7cf6d278f 100644
--- a/io/channel-file.c
+++ b/io/channel-file.c
@@ -191,7 +191,8 @@ static void qio_channel_file_set_aio_fd_handler(QIOChannel *ioc,
                                                 void *opaque)
 {
     QIOChannelFile *fioc = QIO_CHANNEL_FILE(ioc);
-    aio_set_fd_handler(ctx, fioc->fd, false, io_read, io_write, NULL, opaque);
+    aio_set_fd_handler(ctx, fioc->fd, false, io_read, io_write,
+                       NULL, NULL, opaque);
 }
 
 static GSource *qio_channel_file_create_watch(QIOChannel *ioc,
diff --git a/io/channel-socket.c b/io/channel-socket.c
index 606ec97cf7..459922c874 100644
--- a/io/channel-socket.c
+++ b/io/channel-socket.c
@@ -761,7 +761,8 @@ static void qio_channel_socket_set_aio_fd_handler(QIOChannel *ioc,
                                                   void *opaque)
 {
     QIOChannelSocket *sioc = QIO_CHANNEL_SOCKET(ioc);
-    aio_set_fd_handler(ctx, sioc->fd, false, io_read, io_write, NULL, opaque);
+    aio_set_fd_handler(ctx, sioc->fd, false,
+                       io_read, io_write, NULL, NULL, opaque);
 }
 
 static GSource *qio_channel_socket_create_watch(QIOChannel *ioc,
diff --git a/migration/rdma.c b/migration/rdma.c
index f5d3bbe7e9..c7c7a38487 100644
--- a/migration/rdma.c
+++ b/migration/rdma.c
@@ -3161,14 +3161,14 @@ static void qio_channel_rdma_set_aio_fd_handler(QIOChannel *ioc,
     QIOChannelRDMA *rioc = QIO_CHANNEL_RDMA(ioc);
     if (io_read) {
         aio_set_fd_handler(ctx, rioc->rdmain->recv_comp_channel->fd,
-                           false, io_read, io_write, NULL, opaque);
+                           false, io_read, io_write, NULL, NULL, opaque);
         aio_set_fd_handler(ctx, rioc->rdmain->send_comp_channel->fd,
-                           false, io_read, io_write, NULL, opaque);
+                           false, io_read, io_write, NULL, NULL, opaque);
     } else {
         aio_set_fd_handler(ctx, rioc->rdmaout->recv_comp_channel->fd,
-                           false, io_read, io_write, NULL, opaque);
+                           false, io_read, io_write, NULL, NULL, opaque);
         aio_set_fd_handler(ctx, rioc->rdmaout->send_comp_channel->fd,
-                           false, io_read, io_write, NULL, opaque);
+                           false, io_read, io_write, NULL, NULL, opaque);
     }
 }
 
diff --git a/tests/unit/test-aio.c b/tests/unit/test-aio.c
index 6feeb9a4a9..178048d2f2 100644
--- a/tests/unit/test-aio.c
+++ b/tests/unit/test-aio.c
@@ -130,7 +130,7 @@ static void *test_acquire_thread(void *opaque)
 static void set_event_notifier(AioContext *ctx, EventNotifier *notifier,
                                EventNotifierHandler *handler)
 {
-    aio_set_event_notifier(ctx, notifier, false, handler, NULL);
+    aio_set_event_notifier(ctx, notifier, false, handler, NULL, NULL);
 }
 
 static void dummy_notifier_read(EventNotifier *n)
@@ -390,7 +390,7 @@ static void test_aio_external_client(void)
     for (i = 1; i < 3; i++) {
         EventNotifierTestData data = { .n = 0, .active = 10, .auto_set = true };
         event_notifier_init(&data.e, false);
-        aio_set_event_notifier(ctx, &data.e, true, event_ready_cb, NULL);
+        aio_set_event_notifier(ctx, &data.e, true, event_ready_cb, NULL, NULL);
         event_notifier_set(&data.e);
         for (j = 0; j < i; j++) {
             aio_disable_external(ctx);
diff --git a/tests/unit/test-fdmon-epoll.c b/tests/unit/test-fdmon-epoll.c
index 11fd8a2fa9..ef5a856d09 100644
--- a/tests/unit/test-fdmon-epoll.c
+++ b/tests/unit/test-fdmon-epoll.c
@@ -22,14 +22,14 @@ static void add_event_notifiers(EventNotifier *notifiers, size_t n)
     for (size_t i = 0; i < n; i++) {
         event_notifier_init(&notifiers[i], false);
         aio_set_event_notifier(ctx, &notifiers[i], false,
-                               dummy_fd_handler, NULL);
+                               dummy_fd_handler, NULL, NULL);
     }
 }
 
 static void remove_event_notifiers(EventNotifier *notifiers, size_t n)
 {
     for (size_t i = 0; i < n; i++) {
-        aio_set_event_notifier(ctx, &notifiers[i], false, NULL, NULL);
+        aio_set_event_notifier(ctx, &notifiers[i], false, NULL, NULL, NULL);
         event_notifier_cleanup(&notifiers[i]);
     }
 }
diff --git a/util/aio-posix.c b/util/aio-posix.c
index 2b86777e91..7b9f629218 100644
--- a/util/aio-posix.c
+++ b/util/aio-posix.c
@@ -23,6 +23,15 @@
 #include "trace.h"
 #include "aio-posix.h"
 
+/*
+ * G_IO_IN and G_IO_OUT are not appropriate revents values for polling, since
+ * the handler may not need to access the file descriptor. For example, the
+ * handler doesn't need to read from an EventNotifier if it polled a memory
+ * location and a read syscall would be slow. Define our own unique revents
+ * value to indicate that polling determined this AioHandler is ready.
+ */
+#define REVENTS_POLL_READY 0
+
 /* Stop userspace polling on a handler if it isn't active for some time */
 #define POLL_IDLE_INTERVAL_NS (7 * NANOSECONDS_PER_SECOND)
 
@@ -93,6 +102,7 @@ void aio_set_fd_handler(AioContext *ctx,
                         IOHandler *io_read,
                         IOHandler *io_write,
                         AioPollFn *io_poll,
+                        IOHandler *io_poll_ready,
                         void *opaque)
 {
     AioHandler *node;
@@ -101,6 +111,10 @@ void aio_set_fd_handler(AioContext *ctx,
     bool deleted = false;
     int poll_disable_change;
 
+    if (io_poll && !io_poll_ready) {
+        io_poll = NULL; /* polling only makes sense if there is a handler */
+    }
+
     qemu_lockcnt_lock(&ctx->list_lock);
 
     node = find_aio_handler(ctx, fd);
@@ -127,6 +141,7 @@ void aio_set_fd_handler(AioContext *ctx,
         new_node->io_read = io_read;
         new_node->io_write = io_write;
         new_node->io_poll = io_poll;
+        new_node->io_poll_ready = io_poll_ready;
         new_node->opaque = opaque;
         new_node->is_external = is_external;
 
@@ -182,10 +197,12 @@ void aio_set_event_notifier(AioContext *ctx,
                             EventNotifier *notifier,
                             bool is_external,
                             EventNotifierHandler *io_read,
-                            AioPollFn *io_poll)
+                            AioPollFn *io_poll,
+                            EventNotifierHandler *io_poll_ready)
 {
     aio_set_fd_handler(ctx, event_notifier_get_fd(notifier), is_external,
-                       (IOHandler *)io_read, NULL, io_poll, notifier);
+                       (IOHandler *)io_read, NULL, io_poll,
+                       (IOHandler *)io_poll_ready, notifier);
 }
 
 void aio_set_event_notifier_poll(AioContext *ctx,
@@ -198,7 +215,8 @@ void aio_set_event_notifier_poll(AioContext *ctx,
                     (IOHandler *)io_poll_end);
 }
 
-static bool poll_set_started(AioContext *ctx, bool started)
+static bool poll_set_started(AioContext *ctx, AioHandlerList *ready_list,
+                             bool started)
 {
     AioHandler *node;
     bool progress = false;
@@ -228,8 +246,9 @@ static bool poll_set_started(AioContext *ctx, bool started)
         }
 
         /* Poll one last time in case ->io_poll_end() raced with the event */
-        if (!started) {
-            progress = node->io_poll(node->opaque) || progress;
+        if (!started && node->io_poll(node->opaque)) {
+            aio_add_ready_handler(ready_list, node, REVENTS_POLL_READY);
+            progress = true;
         }
     }
     qemu_lockcnt_dec(&ctx->list_lock);
@@ -240,8 +259,11 @@ static bool poll_set_started(AioContext *ctx, bool started)
 
 bool aio_prepare(AioContext *ctx)
 {
+    AioHandlerList ready_list = QLIST_HEAD_INITIALIZER(ready_list);
+
     /* Poll mode cannot be used with glib's event loop, disable it. */
-    poll_set_started(ctx, false);
+    poll_set_started(ctx, &ready_list, false);
+    /* TODO what to do with this list? */
 
     return false;
 }
@@ -321,6 +343,18 @@ static bool aio_dispatch_handler(AioContext *ctx, AioHandler *node)
         }
         QLIST_INSERT_HEAD(&ctx->poll_aio_handlers, node, node_poll);
     }
+    if (!QLIST_IS_INSERTED(node, node_deleted) &&
+        revents == 0 &&
+        aio_node_check(ctx, node->is_external) &&
+        node->io_poll_ready) {
+        node->io_poll_ready(node->opaque);
+
+        /*
+         * Return early since revents was zero. aio_notify() does not count as
+         * progress.
+         */
+        return node->opaque != &ctx->notifier;
+    }
 
     if (!QLIST_IS_INSERTED(node, node_deleted) &&
         (revents & (G_IO_IN | G_IO_HUP | G_IO_ERR)) &&
@@ -387,6 +421,7 @@ void aio_dispatch(AioContext *ctx)
 }
 
 static bool run_poll_handlers_once(AioContext *ctx,
+                                   AioHandlerList *ready_list,
                                    int64_t now,
                                    int64_t *timeout)
 {
@@ -397,6 +432,8 @@ static bool run_poll_handlers_once(AioContext *ctx,
     QLIST_FOREACH_SAFE(node, &ctx->poll_aio_handlers, node_poll, tmp) {
         if (aio_node_check(ctx, node->is_external) &&
             node->io_poll(node->opaque)) {
+            aio_add_ready_handler(ready_list, node, REVENTS_POLL_READY);
+
             node->poll_idle_timeout = now + POLL_IDLE_INTERVAL_NS;
 
             /*
@@ -420,7 +457,9 @@ static bool fdmon_supports_polling(AioContext *ctx)
     return ctx->fdmon_ops->need_wait != aio_poll_disabled;
 }
 
-static bool remove_idle_poll_handlers(AioContext *ctx, int64_t now)
+static bool remove_idle_poll_handlers(AioContext *ctx,
+                                      AioHandlerList *ready_list,
+                                      int64_t now)
 {
     AioHandler *node;
     AioHandler *tmp;
@@ -451,7 +490,11 @@ static bool remove_idle_poll_handlers(AioContext *ctx, int64_t now)
                  * Nevermind about re-adding the handler in the rare case where
                  * this causes progress.
                  */
-                progress = node->io_poll(node->opaque) || progress;
+                if (node->io_poll(node->opaque)) {
+                    aio_add_ready_handler(ready_list, node,
+                                          REVENTS_POLL_READY);
+                    progress = true;
+                }
             }
         }
     }
@@ -461,6 +504,7 @@ static bool remove_idle_poll_handlers(AioContext *ctx, int64_t now)
 
 /* run_poll_handlers:
  * @ctx: the AioContext
+ * @ready_list: the list to place ready handlers on
  * @max_ns: maximum time to poll for, in nanoseconds
  *
  * Polls for a given time.
@@ -469,7 +513,8 @@ static bool remove_idle_poll_handlers(AioContext *ctx, int64_t now)
  *
  * Returns: true if progress was made, false otherwise
  */
-static bool run_poll_handlers(AioContext *ctx, int64_t max_ns, int64_t *timeout)
+static bool run_poll_handlers(AioContext *ctx, AioHandlerList *ready_list,
+                              int64_t max_ns, int64_t *timeout)
 {
     bool progress;
     int64_t start_time, elapsed_time;
@@ -490,13 +535,15 @@ static bool run_poll_handlers(AioContext *ctx, int64_t max_ns, int64_t *timeout)
 
     start_time = qemu_clock_get_ns(QEMU_CLOCK_REALTIME);
     do {
-        progress = run_poll_handlers_once(ctx, start_time, timeout);
+        progress = run_poll_handlers_once(ctx, ready_list,
+                                          start_time, timeout);
         elapsed_time = qemu_clock_get_ns(QEMU_CLOCK_REALTIME) - start_time;
         max_ns = qemu_soonest_timeout(*timeout, max_ns);
         assert(!(max_ns && progress));
     } while (elapsed_time < max_ns && !ctx->fdmon_ops->need_wait(ctx));
 
-    if (remove_idle_poll_handlers(ctx, start_time + elapsed_time)) {
+    if (remove_idle_poll_handlers(ctx, ready_list,
+                                  start_time + elapsed_time)) {
         *timeout = 0;
         progress = true;
     }
@@ -514,6 +561,7 @@ static bool run_poll_handlers(AioContext *ctx, int64_t max_ns, int64_t *timeout)
 
 /* try_poll_mode:
  * @ctx: the AioContext
+ * @ready_list: list to add handlers that need to be run
  * @timeout: timeout for blocking wait, computed by the caller and updated if
  *    polling succeeds.
  *
@@ -521,7 +569,8 @@ static bool run_poll_handlers(AioContext *ctx, int64_t max_ns, int64_t *timeout)
  *
  * Returns: true if progress was made, false otherwise
  */
-static bool try_poll_mode(AioContext *ctx, int64_t *timeout)
+static bool try_poll_mode(AioContext *ctx, AioHandlerList *ready_list,
+                          int64_t *timeout)
 {
     int64_t max_ns;
 
@@ -531,14 +580,14 @@ static bool try_poll_mode(AioContext *ctx, int64_t *timeout)
 
     max_ns = qemu_soonest_timeout(*timeout, ctx->poll_ns);
     if (max_ns && !ctx->fdmon_ops->need_wait(ctx)) {
-        poll_set_started(ctx, true);
+        poll_set_started(ctx, ready_list, true);
 
-        if (run_poll_handlers(ctx, max_ns, timeout)) {
+        if (run_poll_handlers(ctx, ready_list, max_ns, timeout)) {
             return true;
         }
     }
 
-    if (poll_set_started(ctx, false)) {
+    if (poll_set_started(ctx, ready_list, false)) {
         *timeout = 0;
         return true;
     }
@@ -549,7 +598,6 @@ static bool try_poll_mode(AioContext *ctx, int64_t *timeout)
 bool aio_poll(AioContext *ctx, bool blocking)
 {
     AioHandlerList ready_list = QLIST_HEAD_INITIALIZER(ready_list);
-    int ret = 0;
     bool progress;
     bool use_notify_me;
     int64_t timeout;
@@ -574,7 +622,7 @@ bool aio_poll(AioContext *ctx, bool blocking)
     }
 
     timeout = blocking ? aio_compute_timeout(ctx) : 0;
-    progress = try_poll_mode(ctx, &timeout);
+    progress = try_poll_mode(ctx, &ready_list, &timeout);
     assert(!(timeout && progress));
 
     /*
@@ -604,7 +652,7 @@ bool aio_poll(AioContext *ctx, bool blocking)
      * system call---a single round of run_poll_handlers_once suffices.
      */
     if (timeout || ctx->fdmon_ops->need_wait(ctx)) {
-        ret = ctx->fdmon_ops->wait(ctx, &ready_list, timeout);
+        ctx->fdmon_ops->wait(ctx, &ready_list, timeout);
     }
 
     if (use_notify_me) {
@@ -657,10 +705,7 @@ bool aio_poll(AioContext *ctx, bool blocking)
     }
 
     progress |= aio_bh_poll(ctx);
-
-    if (ret > 0) {
-        progress |= aio_dispatch_ready_handlers(ctx, &ready_list);
-    }
+    progress |= aio_dispatch_ready_handlers(ctx, &ready_list);
 
     aio_free_deleted_handlers(ctx);
 
diff --git a/util/aio-win32.c b/util/aio-win32.c
index d5b09a1193..7aac89df3a 100644
--- a/util/aio-win32.c
+++ b/util/aio-win32.c
@@ -68,6 +68,7 @@ void aio_set_fd_handler(AioContext *ctx,
                         IOHandler *io_read,
                         IOHandler *io_write,
                         AioPollFn *io_poll,
+                        IOHandler *io_poll_ready,
                         void *opaque)
 {
     /* fd is a SOCKET in our case */
@@ -136,7 +137,8 @@ void aio_set_event_notifier(AioContext *ctx,
                             EventNotifier *e,
                             bool is_external,
                             EventNotifierHandler *io_notify,
-                            AioPollFn *io_poll)
+                            AioPollFn *io_poll,
+                            EventNotifierHandler *io_poll_ready)
 {
     AioHandler *node;
 
diff --git a/util/async.c b/util/async.c
index 6f6717a34b..08d25feef5 100644
--- a/util/async.c
+++ b/util/async.c
@@ -362,7 +362,7 @@ aio_ctx_finalize(GSource     *source)
         g_free(bh);
     }
 
-    aio_set_event_notifier(ctx, &ctx->notifier, false, NULL, NULL);
+    aio_set_event_notifier(ctx, &ctx->notifier, false, NULL, NULL, NULL);
     event_notifier_cleanup(&ctx->notifier);
     qemu_rec_mutex_destroy(&ctx->lock);
     qemu_lockcnt_destroy(&ctx->list_lock);
@@ -485,6 +485,11 @@ static bool aio_context_notifier_poll(void *opaque)
     return qatomic_read(&ctx->notified);
 }
 
+static void aio_context_notifier_poll_ready(EventNotifier *e)
+{
+    /* Do nothing, we just wanted to kick the event loop */
+}
+
 static void co_schedule_bh_cb(void *opaque)
 {
     AioContext *ctx = opaque;
@@ -536,7 +541,8 @@ AioContext *aio_context_new(Error **errp)
     aio_set_event_notifier(ctx, &ctx->notifier,
                            false,
                            aio_context_notifier_cb,
-                           aio_context_notifier_poll);
+                           aio_context_notifier_poll,
+                           aio_context_notifier_poll_ready);
 #ifdef CONFIG_LINUX_AIO
     ctx->linux_aio = NULL;
 #endif
diff --git a/util/main-loop.c b/util/main-loop.c
index 06b18b195c..4d5a5b9943 100644
--- a/util/main-loop.c
+++ b/util/main-loop.c
@@ -582,7 +582,7 @@ void qemu_set_fd_handler(int fd,
 {
     iohandler_init();
     aio_set_fd_handler(iohandler_ctx, fd, false,
-                       fd_read, fd_write, NULL, opaque);
+                       fd_read, fd_write, NULL, NULL, opaque);
 }
 
 void event_notifier_set_handler(EventNotifier *e,
@@ -590,5 +590,5 @@ void event_notifier_set_handler(EventNotifier *e,
 {
     iohandler_init();
     aio_set_event_notifier(iohandler_ctx, e, false,
-                           handler, NULL);
+                           handler, NULL, NULL);
 }
diff --git a/util/qemu-coroutine-io.c b/util/qemu-coroutine-io.c
index 5b80bb416f..7f5839cb76 100644
--- a/util/qemu-coroutine-io.c
+++ b/util/qemu-coroutine-io.c
@@ -75,7 +75,8 @@ typedef struct {
 static void fd_coroutine_enter(void *opaque)
 {
     FDYieldUntilData *data = opaque;
-    aio_set_fd_handler(data->ctx, data->fd, false, NULL, NULL, NULL, NULL);
+    aio_set_fd_handler(data->ctx, data->fd, false,
+                       NULL, NULL, NULL, NULL, NULL);
     qemu_coroutine_enter(data->co);
 }
 
@@ -88,6 +89,6 @@ void coroutine_fn yield_until_fd_readable(int fd)
     data.co = qemu_coroutine_self();
     data.fd = fd;
     aio_set_fd_handler(
-        data.ctx, fd, false, fd_coroutine_enter, NULL, NULL, &data);
+        data.ctx, fd, false, fd_coroutine_enter, NULL, NULL, NULL, &data);
     qemu_coroutine_yield();
 }
diff --git a/util/vhost-user-server.c b/util/vhost-user-server.c
index 783d847a6d..f68287e811 100644
--- a/util/vhost-user-server.c
+++ b/util/vhost-user-server.c
@@ -250,7 +250,7 @@ set_watch(VuDev *vu_dev, int fd, int vu_evt,
         vu_fd_watch->cb = cb;
         qemu_set_nonblock(fd);
         aio_set_fd_handler(server->ioc->ctx, fd, true, kick_handler,
-                           NULL, NULL, vu_fd_watch);
+                           NULL, NULL, NULL, vu_fd_watch);
         vu_fd_watch->vu_dev = vu_dev;
         vu_fd_watch->pvt = pvt;
     }
@@ -270,7 +270,8 @@ static void remove_watch(VuDev *vu_dev, int fd)
     if (!vu_fd_watch) {
         return;
     }
-    aio_set_fd_handler(server->ioc->ctx, fd, true, NULL, NULL, NULL, NULL);
+    aio_set_fd_handler(server->ioc->ctx, fd, true,
+                       NULL, NULL, NULL, NULL, NULL);
 
     QTAILQ_REMOVE(&server->vu_fd_watches, vu_fd_watch, next);
     g_free(vu_fd_watch);
@@ -334,7 +335,7 @@ void vhost_user_server_stop(VuServer *server)
 
         QTAILQ_FOREACH(vu_fd_watch, &server->vu_fd_watches, next) {
             aio_set_fd_handler(server->ctx, vu_fd_watch->fd, true,
-                               NULL, NULL, NULL, vu_fd_watch);
+                               NULL, NULL, NULL, NULL, vu_fd_watch);
         }
 
         qio_channel_shutdown(server->ioc, QIO_CHANNEL_SHUTDOWN_BOTH, NULL);
@@ -377,7 +378,7 @@ void vhost_user_server_attach_aio_context(VuServer *server, AioContext *ctx)
 
     QTAILQ_FOREACH(vu_fd_watch, &server->vu_fd_watches, next) {
         aio_set_fd_handler(ctx, vu_fd_watch->fd, true, kick_handler, NULL,
-                           NULL, vu_fd_watch);
+                           NULL, NULL, vu_fd_watch);
     }
 
     aio_co_schedule(ctx, server->co_trip);
@@ -391,7 +392,7 @@ void vhost_user_server_detach_aio_context(VuServer *server)
 
         QTAILQ_FOREACH(vu_fd_watch, &server->vu_fd_watches, next) {
             aio_set_fd_handler(server->ctx, vu_fd_watch->fd, true,
-                               NULL, NULL, NULL, vu_fd_watch);
+                               NULL, NULL, NULL, NULL, vu_fd_watch);
         }
 
         qio_channel_detach_aio_context(server->ioc);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Jan 12 17:16:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 17:16:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256778.440834 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7hEg-00058V-F4; Wed, 12 Jan 2022 17:16:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256778.440834; Wed, 12 Jan 2022 17:16: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 1n7hEg-00058M-Bq; Wed, 12 Jan 2022 17:16:34 +0000
Received: by outflank-mailman (input) for mailman id 256778;
 Wed, 12 Jan 2022 17:16:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cmOE=R4=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1n7hEe-00057V-TS
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 17:16:32 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 627151e5-73cb-11ec-bd6f-bfb69f65cdc7;
 Wed, 12 Jan 2022 18:16:31 +0100 (CET)
Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com
 [209.132.183.4]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-179-yktkATvTO-uTf4aP_dmcXA-1; Wed, 12 Jan 2022 12:16:27 -0500
Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com
 [10.5.11.22])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 47CC41018724;
 Wed, 12 Jan 2022 17:16:24 +0000 (UTC)
Received: from localhost (unknown [10.39.195.79])
 by smtp.corp.redhat.com (Postfix) with ESMTP id B7093105C89A;
 Wed, 12 Jan 2022 17:16: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: 627151e5-73cb-11ec-bd6f-bfb69f65cdc7
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1642007790;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=ZO4PTDIj23J8uv/+cKDtCuqXWq72LiUYuH0KK782SUk=;
	b=KI+DnpvAGDKmjBkmFYkdqMc706mLrTzYSqbXgDJRFL6LaetE5gjUYrJkfFRPwLY/7+gWmc
	k7BCU8aVa3/27Sj979GF46Mgp2k2xfXoDS9ZQyUgF8XcZs1u3cGdeP0Od52AadL482wKPx
	ly344SooNpwTp9NyeHxKvTe9qFdihGc=
X-MC-Unique: yktkATvTO-uTf4aP_dmcXA-1
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>
Cc: Coiby Xu <Coiby.Xu@gmail.com>,
	Fam Zheng <fam@euphon.net>,
	Anthony Perard <anthony.perard@citrix.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Stefano Garzarella <sgarzare@redhat.com>,
	Peter Lieven <pl@kamp.de>,
	qemu-block@nongnu.org,
	Julia Suvorova <jusual@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>,
	"Richard W.M. Jones" <rjones@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <f4bug@amsat.org>,
	Paul Durrant <paul@xen.org>,
	Stefan Weil <sw@weilnetz.de>,
	Juan Quintela <quintela@redhat.com>,
	Ronnie Sahlberg <ronniesahlberg@gmail.com>,
	xen-devel@lists.xenproject.org,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	Aarushi Mehta <mehta.aaru20@gmail.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Hanna Reitz <hreitz@redhat.com>
Subject: [PULL 3/6] virtio-blk: drop unused virtio_blk_handle_vq() return value
Date: Wed, 12 Jan 2022 17:13:59 +0000
Message-Id: <20220112171402.112183-4-stefanha@redhat.com>
In-Reply-To: <20220112171402.112183-1-stefanha@redhat.com>
References: <20220112171402.112183-1-stefanha@redhat.com>
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22
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-Transfer-Encoding: 8bit
Content-Type: text/plain; charset="US-ASCII"

The return value of virtio_blk_handle_vq() is no longer used. Get rid of
it. This is a step towards unifying the dataplane and non-dataplane
virtqueue handler functions.

Prepare virtio_blk_handle_output() to be used by both dataplane and
non-dataplane by making the condition for starting ioeventfd more
specific. This way it won't trigger when dataplane has already been
started.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Message-id: 20211207132336.36627-4-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 include/hw/virtio/virtio-blk.h |  2 +-
 hw/block/virtio-blk.c          | 14 +++-----------
 2 files changed, 4 insertions(+), 12 deletions(-)

diff --git a/include/hw/virtio/virtio-blk.h b/include/hw/virtio/virtio-blk.h
index 29655a406d..d311c57cca 100644
--- a/include/hw/virtio/virtio-blk.h
+++ b/include/hw/virtio/virtio-blk.h
@@ -90,7 +90,7 @@ typedef struct MultiReqBuffer {
     bool is_write;
 } MultiReqBuffer;
 
-bool virtio_blk_handle_vq(VirtIOBlock *s, VirtQueue *vq);
+void virtio_blk_handle_vq(VirtIOBlock *s, VirtQueue *vq);
 void virtio_blk_process_queued_requests(VirtIOBlock *s, bool is_bh);
 
 #endif
diff --git a/hw/block/virtio-blk.c b/hw/block/virtio-blk.c
index f139cd7cc9..82676cdd01 100644
--- a/hw/block/virtio-blk.c
+++ b/hw/block/virtio-blk.c
@@ -767,12 +767,11 @@ static int virtio_blk_handle_request(VirtIOBlockReq *req, MultiReqBuffer *mrb)
     return 0;
 }
 
-bool virtio_blk_handle_vq(VirtIOBlock *s, VirtQueue *vq)
+void virtio_blk_handle_vq(VirtIOBlock *s, VirtQueue *vq)
 {
     VirtIOBlockReq *req;
     MultiReqBuffer mrb = {};
     bool suppress_notifications = virtio_queue_get_notification(vq);
-    bool progress = false;
 
     aio_context_acquire(blk_get_aio_context(s->blk));
     blk_io_plug(s->blk);
@@ -783,7 +782,6 @@ bool virtio_blk_handle_vq(VirtIOBlock *s, VirtQueue *vq)
         }
 
         while ((req = virtio_blk_get_request(s, vq))) {
-            progress = true;
             if (virtio_blk_handle_request(req, &mrb)) {
                 virtqueue_detach_element(req->vq, &req->elem, 0);
                 virtio_blk_free_request(req);
@@ -802,19 +800,13 @@ bool virtio_blk_handle_vq(VirtIOBlock *s, VirtQueue *vq)
 
     blk_io_unplug(s->blk);
     aio_context_release(blk_get_aio_context(s->blk));
-    return progress;
-}
-
-static void virtio_blk_handle_output_do(VirtIOBlock *s, VirtQueue *vq)
-{
-    virtio_blk_handle_vq(s, vq);
 }
 
 static void virtio_blk_handle_output(VirtIODevice *vdev, VirtQueue *vq)
 {
     VirtIOBlock *s = (VirtIOBlock *)vdev;
 
-    if (s->dataplane) {
+    if (s->dataplane && !s->dataplane_started) {
         /* Some guests kick before setting VIRTIO_CONFIG_S_DRIVER_OK so start
          * dataplane here instead of waiting for .set_status().
          */
@@ -823,7 +815,7 @@ static void virtio_blk_handle_output(VirtIODevice *vdev, VirtQueue *vq)
             return;
         }
     }
-    virtio_blk_handle_output_do(s, vq);
+    virtio_blk_handle_vq(s, vq);
 }
 
 void virtio_blk_process_queued_requests(VirtIOBlock *s, bool is_bh)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Jan 12 17:17:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 17:17:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256782.440845 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7hF2-0005yW-OT; Wed, 12 Jan 2022 17:16:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256782.440845; Wed, 12 Jan 2022 17:16:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7hF2-0005yP-Ld; Wed, 12 Jan 2022 17:16:56 +0000
Received: by outflank-mailman (input) for mailman id 256782;
 Wed, 12 Jan 2022 17:16:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cmOE=R4=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1n7hF2-0005v6-63
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 17:16:56 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 70625e55-73cb-11ec-9c70-5536b2d1e4e1;
 Wed, 12 Jan 2022 18:16:55 +0100 (CET)
Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com
 [209.132.183.4]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-625-hT09O-VRObKKuGN8fKq_EA-1; Wed, 12 Jan 2022 12:16:52 -0500
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 D7F1B81CCB8;
 Wed, 12 Jan 2022 17:16:49 +0000 (UTC)
Received: from localhost (unknown [10.39.195.79])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 05BE72DE99;
 Wed, 12 Jan 2022 17:16: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: 70625e55-73cb-11ec-9c70-5536b2d1e4e1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1642007814;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=UK8vo4KGRsMycUUCEVvMQM5ZQH0imHmhggV9gfr/dgg=;
	b=EPBrnLoz/YOuCtSXdI/nB/Y4Z6QLCfr6U9FG/CrcdRc+g/4j8jAp1WU2haRMpjNdx0UYOT
	gppqHKLpI1NlVBhS4iCihDml8nQjglW437xDEBWhvDs8XCbByBBIc6Q2T6Vnx04Vq05Won
	ljFSsn2En6BKFXU7PVKJ/yKIoAzPzTg=
X-MC-Unique: hT09O-VRObKKuGN8fKq_EA-1
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>
Cc: Coiby Xu <Coiby.Xu@gmail.com>,
	Fam Zheng <fam@euphon.net>,
	Anthony Perard <anthony.perard@citrix.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Stefano Garzarella <sgarzare@redhat.com>,
	Peter Lieven <pl@kamp.de>,
	qemu-block@nongnu.org,
	Julia Suvorova <jusual@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>,
	"Richard W.M. Jones" <rjones@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <f4bug@amsat.org>,
	Paul Durrant <paul@xen.org>,
	Stefan Weil <sw@weilnetz.de>,
	Juan Quintela <quintela@redhat.com>,
	Ronnie Sahlberg <ronniesahlberg@gmail.com>,
	xen-devel@lists.xenproject.org,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	Aarushi Mehta <mehta.aaru20@gmail.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Hanna Reitz <hreitz@redhat.com>
Subject: [PULL 4/6] virtio-scsi: prepare virtio_scsi_handle_cmd for dataplane
Date: Wed, 12 Jan 2022 17:14:00 +0000
Message-Id: <20220112171402.112183-5-stefanha@redhat.com>
In-Reply-To: <20220112171402.112183-1-stefanha@redhat.com>
References: <20220112171402.112183-1-stefanha@redhat.com>
MIME-Version: 1.0
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-Transfer-Encoding: 8bit
Content-Type: text/plain; charset="US-ASCII"

Prepare virtio_scsi_handle_cmd() to be used by both dataplane and
non-dataplane by making the condition for starting ioeventfd more
specific. This way it won't trigger when dataplane has already been
started.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Message-id: 20211207132336.36627-5-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 hw/scsi/virtio-scsi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/scsi/virtio-scsi.c b/hw/scsi/virtio-scsi.c
index 51fd09522a..34a968ecfb 100644
--- a/hw/scsi/virtio-scsi.c
+++ b/hw/scsi/virtio-scsi.c
@@ -720,7 +720,7 @@ static void virtio_scsi_handle_cmd(VirtIODevice *vdev, VirtQueue *vq)
     /* use non-QOM casts in the data path */
     VirtIOSCSI *s = (VirtIOSCSI *)vdev;
 
-    if (s->ctx) {
+    if (s->ctx && !s->dataplane_started) {
         virtio_device_start_ioeventfd(vdev);
         if (!s->dataplane_fenced) {
             return;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Jan 12 17:17:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 17:17:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256787.440856 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7hFg-0006cA-1Y; Wed, 12 Jan 2022 17:17:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256787.440856; Wed, 12 Jan 2022 17:17:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7hFf-0006c3-UP; Wed, 12 Jan 2022 17:17:35 +0000
Received: by outflank-mailman (input) for mailman id 256787;
 Wed, 12 Jan 2022 17:17:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cmOE=R4=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1n7hFf-0006bp-76
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 17:17:35 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 87942e2f-73cb-11ec-bd6f-bfb69f65cdc7;
 Wed, 12 Jan 2022 18:17:34 +0100 (CET)
Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com
 [209.132.183.4]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-515-EJiA3gwjNV6WDvp4X4azrg-1; Wed, 12 Jan 2022 12:17:29 -0500
Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com
 [10.5.11.12])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx01.redhat.com (Postfix) with ESMTPS id B2ADA101F002;
 Wed, 12 Jan 2022 17:17:25 +0000 (UTC)
Received: from localhost (unknown [10.39.195.79])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 4BB6B7FB9E;
 Wed, 12 Jan 2022 17:17: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: 87942e2f-73cb-11ec-bd6f-bfb69f65cdc7
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1642007853;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=aqsXFWsKyZZ5dZYudB6A80tOB2G/EpTCq3EVK0XRkP8=;
	b=TX33KMosoxuNWKFdR4EzehaLuASl6kR2agR/knYlF+9CR5Au+EB6atoLYh3ZibVESswall
	8YsDrv6upx/L/R/AXDDo70NbqPbCfZqKSv7ifAiiPS+jHauoJ9tKgcomsvB+Bi0yfisryX
	ZavpiFYinCCf1dRdiSbu67YPZVJSjb0=
X-MC-Unique: EJiA3gwjNV6WDvp4X4azrg-1
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>
Cc: Coiby Xu <Coiby.Xu@gmail.com>,
	Fam Zheng <fam@euphon.net>,
	Anthony Perard <anthony.perard@citrix.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Stefano Garzarella <sgarzare@redhat.com>,
	Peter Lieven <pl@kamp.de>,
	qemu-block@nongnu.org,
	Julia Suvorova <jusual@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>,
	"Richard W.M. Jones" <rjones@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <f4bug@amsat.org>,
	Paul Durrant <paul@xen.org>,
	Stefan Weil <sw@weilnetz.de>,
	Juan Quintela <quintela@redhat.com>,
	Ronnie Sahlberg <ronniesahlberg@gmail.com>,
	xen-devel@lists.xenproject.org,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	Aarushi Mehta <mehta.aaru20@gmail.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Hanna Reitz <hreitz@redhat.com>
Subject: [PULL 5/6] virtio: use ->handle_output() instead of ->handle_aio_output()
Date: Wed, 12 Jan 2022 17:14:01 +0000
Message-Id: <20220112171402.112183-6-stefanha@redhat.com>
In-Reply-To: <20220112171402.112183-1-stefanha@redhat.com>
References: <20220112171402.112183-1-stefanha@redhat.com>
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12
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-Transfer-Encoding: 8bit
Content-Type: text/plain; charset="US-ASCII"

The difference between ->handle_output() and ->handle_aio_output() was
that ->handle_aio_output() returned a bool return value indicating
progress. This was needed by the old polling API but now that the bool
return value is gone, the two functions can be unified.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Message-id: 20211207132336.36627-6-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 hw/virtio/virtio.c | 33 +++------------------------------
 1 file changed, 3 insertions(+), 30 deletions(-)

diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
index 323f549aad..e938e6513b 100644
--- a/hw/virtio/virtio.c
+++ b/hw/virtio/virtio.c
@@ -125,7 +125,6 @@ struct VirtQueue
 
     uint16_t vector;
     VirtIOHandleOutput handle_output;
-    VirtIOHandleOutput handle_aio_output;
     VirtIODevice *vdev;
     EventNotifier guest_notifier;
     EventNotifier host_notifier;
@@ -2303,20 +2302,6 @@ void virtio_queue_set_align(VirtIODevice *vdev, int n, int align)
     }
 }
 
-static void virtio_queue_notify_aio_vq(VirtQueue *vq)
-{
-    if (vq->vring.desc && vq->handle_aio_output) {
-        VirtIODevice *vdev = vq->vdev;
-
-        trace_virtio_queue_notify(vdev, vq - vdev->vq, vq);
-        vq->handle_aio_output(vdev, vq);
-
-        if (unlikely(vdev->start_on_kick)) {
-            virtio_set_started(vdev, true);
-        }
-    }
-}
-
 static void virtio_queue_notify_vq(VirtQueue *vq)
 {
     if (vq->vring.desc && vq->handle_output) {
@@ -2395,7 +2380,6 @@ VirtQueue *virtio_add_queue(VirtIODevice *vdev, int queue_size,
     vdev->vq[i].vring.num_default = queue_size;
     vdev->vq[i].vring.align = VIRTIO_PCI_VRING_ALIGN;
     vdev->vq[i].handle_output = handle_output;
-    vdev->vq[i].handle_aio_output = NULL;
     vdev->vq[i].used_elems = g_malloc0(sizeof(VirtQueueElement) *
                                        queue_size);
 
@@ -2407,7 +2391,6 @@ void virtio_delete_queue(VirtQueue *vq)
     vq->vring.num = 0;
     vq->vring.num_default = 0;
     vq->handle_output = NULL;
-    vq->handle_aio_output = NULL;
     g_free(vq->used_elems);
     vq->used_elems = NULL;
     virtio_virtqueue_reset_region_cache(vq);
@@ -3512,14 +3495,6 @@ EventNotifier *virtio_queue_get_guest_notifier(VirtQueue *vq)
     return &vq->guest_notifier;
 }
 
-static void virtio_queue_host_notifier_aio_read(EventNotifier *n)
-{
-    VirtQueue *vq = container_of(n, VirtQueue, host_notifier);
-    if (event_notifier_test_and_clear(n)) {
-        virtio_queue_notify_aio_vq(vq);
-    }
-}
-
 static void virtio_queue_host_notifier_aio_poll_begin(EventNotifier *n)
 {
     VirtQueue *vq = container_of(n, VirtQueue, host_notifier);
@@ -3539,7 +3514,7 @@ static void virtio_queue_host_notifier_aio_poll_ready(EventNotifier *n)
 {
     VirtQueue *vq = container_of(n, VirtQueue, host_notifier);
 
-    virtio_queue_notify_aio_vq(vq);
+    virtio_queue_notify_vq(vq);
 }
 
 static void virtio_queue_host_notifier_aio_poll_end(EventNotifier *n)
@@ -3554,9 +3529,8 @@ void virtio_queue_aio_set_host_notifier_handler(VirtQueue *vq, AioContext *ctx,
         VirtIOHandleOutput handle_output)
 {
     if (handle_output) {
-        vq->handle_aio_output = handle_output;
         aio_set_event_notifier(ctx, &vq->host_notifier, true,
-                               virtio_queue_host_notifier_aio_read,
+                               virtio_queue_host_notifier_read,
                                virtio_queue_host_notifier_aio_poll,
                                virtio_queue_host_notifier_aio_poll_ready);
         aio_set_event_notifier_poll(ctx, &vq->host_notifier,
@@ -3566,8 +3540,7 @@ void virtio_queue_aio_set_host_notifier_handler(VirtQueue *vq, AioContext *ctx,
         aio_set_event_notifier(ctx, &vq->host_notifier, true, NULL, NULL, NULL);
         /* Test and clear notifier before after disabling event,
          * in case poll callback didn't have time to run. */
-        virtio_queue_host_notifier_aio_read(&vq->host_notifier);
-        vq->handle_aio_output = NULL;
+        virtio_queue_host_notifier_read(&vq->host_notifier);
     }
 }
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Jan 12 17:17:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 17:17:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256788.440866 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7hFl-0006uW-8z; Wed, 12 Jan 2022 17:17:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256788.440866; Wed, 12 Jan 2022 17:17:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7hFl-0006uP-5L; Wed, 12 Jan 2022 17:17:41 +0000
Received: by outflank-mailman (input) for mailman id 256788;
 Wed, 12 Jan 2022 17:17:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cmOE=R4=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1n7hFj-0005v6-9w
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 17:17:39 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8a0f3fa5-73cb-11ec-9c70-5536b2d1e4e1;
 Wed, 12 Jan 2022 18:17:38 +0100 (CET)
Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com
 [209.132.183.4]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-348-_kXwFZIdOviwuCE4l7lEkA-1; Wed, 12 Jan 2022 12:17:33 -0500
Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com
 [10.5.11.12])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 1406F101F001;
 Wed, 12 Jan 2022 17:17:32 +0000 (UTC)
Received: from localhost (unknown [10.39.195.79])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 9CF0A7F81A;
 Wed, 12 Jan 2022 17:17: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: 8a0f3fa5-73cb-11ec-9c70-5536b2d1e4e1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1642007857;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=js5bkbA3MR3Yyy5XstjOhtqjgRh3bMz19gvkW1lmJoU=;
	b=FdspTRLkLeQSY1ZWy7OQkmmw72pMkR/Z4FGH+39JCvJXMpDJPrUZCU+B9rPAn5W8ZBISx4
	nO8jjZoXp0hHAzrNOQX1dQqyZ9dxBmFbtrdvzErigwiXR28pjNXhGTB4J+BH5f/RoV8k07
	tcjui87s/0I++/s8R5DRpMNSn+Ca/a0=
X-MC-Unique: _kXwFZIdOviwuCE4l7lEkA-1
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>
Cc: Coiby Xu <Coiby.Xu@gmail.com>,
	Fam Zheng <fam@euphon.net>,
	Anthony Perard <anthony.perard@citrix.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Stefano Garzarella <sgarzare@redhat.com>,
	Peter Lieven <pl@kamp.de>,
	qemu-block@nongnu.org,
	Julia Suvorova <jusual@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>,
	"Richard W.M. Jones" <rjones@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <f4bug@amsat.org>,
	Paul Durrant <paul@xen.org>,
	Stefan Weil <sw@weilnetz.de>,
	Juan Quintela <quintela@redhat.com>,
	Ronnie Sahlberg <ronniesahlberg@gmail.com>,
	xen-devel@lists.xenproject.org,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	Aarushi Mehta <mehta.aaru20@gmail.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Hanna Reitz <hreitz@redhat.com>
Subject: [PULL 6/6] virtio: unify dataplane and non-dataplane ->handle_output()
Date: Wed, 12 Jan 2022 17:14:02 +0000
Message-Id: <20220112171402.112183-7-stefanha@redhat.com>
In-Reply-To: <20220112171402.112183-1-stefanha@redhat.com>
References: <20220112171402.112183-1-stefanha@redhat.com>
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12
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-Transfer-Encoding: 8bit
Content-Type: text/plain; charset="US-ASCII"

Now that virtio-blk and virtio-scsi are ready, get rid of
the handle_aio_output() callback. It's no longer needed.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Message-id: 20211207132336.36627-7-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 include/hw/virtio/virtio.h      |  4 +--
 hw/block/dataplane/virtio-blk.c | 16 ++--------
 hw/scsi/virtio-scsi-dataplane.c | 54 ++++-----------------------------
 hw/virtio/virtio.c              | 32 +++++++++----------
 4 files changed, 26 insertions(+), 80 deletions(-)

diff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h
index b90095628f..f095637058 100644
--- a/include/hw/virtio/virtio.h
+++ b/include/hw/virtio/virtio.h
@@ -316,8 +316,8 @@ bool virtio_device_ioeventfd_enabled(VirtIODevice *vdev);
 EventNotifier *virtio_queue_get_host_notifier(VirtQueue *vq);
 void virtio_queue_set_host_notifier_enabled(VirtQueue *vq, bool enabled);
 void virtio_queue_host_notifier_read(EventNotifier *n);
-void virtio_queue_aio_set_host_notifier_handler(VirtQueue *vq, AioContext *ctx,
-        VirtIOHandleOutput handle_output);
+void virtio_queue_aio_attach_host_notifier(VirtQueue *vq, AioContext *ctx);
+void virtio_queue_aio_detach_host_notifier(VirtQueue *vq, AioContext *ctx);
 VirtQueue *virtio_vector_first_queue(VirtIODevice *vdev, uint16_t vector);
 VirtQueue *virtio_vector_next_queue(VirtQueue *vq);
 
diff --git a/hw/block/dataplane/virtio-blk.c b/hw/block/dataplane/virtio-blk.c
index a2fa407b98..49276e46f2 100644
--- a/hw/block/dataplane/virtio-blk.c
+++ b/hw/block/dataplane/virtio-blk.c
@@ -154,17 +154,6 @@ void virtio_blk_data_plane_destroy(VirtIOBlockDataPlane *s)
     g_free(s);
 }
 
-static void virtio_blk_data_plane_handle_output(VirtIODevice *vdev,
-                                                VirtQueue *vq)
-{
-    VirtIOBlock *s = (VirtIOBlock *)vdev;
-
-    assert(s->dataplane);
-    assert(s->dataplane_started);
-
-    virtio_blk_handle_vq(s, vq);
-}
-
 /* Context: QEMU global mutex held */
 int virtio_blk_data_plane_start(VirtIODevice *vdev)
 {
@@ -258,8 +247,7 @@ int virtio_blk_data_plane_start(VirtIODevice *vdev)
     for (i = 0; i < nvqs; i++) {
         VirtQueue *vq = virtio_get_queue(s->vdev, i);
 
-        virtio_queue_aio_set_host_notifier_handler(vq, s->ctx,
-                virtio_blk_data_plane_handle_output);
+        virtio_queue_aio_attach_host_notifier(vq, s->ctx);
     }
     aio_context_release(s->ctx);
     return 0;
@@ -302,7 +290,7 @@ static void virtio_blk_data_plane_stop_bh(void *opaque)
     for (i = 0; i < s->conf->num_queues; i++) {
         VirtQueue *vq = virtio_get_queue(s->vdev, i);
 
-        virtio_queue_aio_set_host_notifier_handler(vq, s->ctx, NULL);
+        virtio_queue_aio_detach_host_notifier(vq, s->ctx);
     }
 }
 
diff --git a/hw/scsi/virtio-scsi-dataplane.c b/hw/scsi/virtio-scsi-dataplane.c
index 76137de67f..29575cbaf6 100644
--- a/hw/scsi/virtio-scsi-dataplane.c
+++ b/hw/scsi/virtio-scsi-dataplane.c
@@ -49,45 +49,6 @@ void virtio_scsi_dataplane_setup(VirtIOSCSI *s, Error **errp)
     }
 }
 
-static void virtio_scsi_data_plane_handle_cmd(VirtIODevice *vdev,
-                                              VirtQueue *vq)
-{
-    VirtIOSCSI *s = VIRTIO_SCSI(vdev);
-
-    virtio_scsi_acquire(s);
-    if (!s->dataplane_fenced) {
-        assert(s->ctx && s->dataplane_started);
-        virtio_scsi_handle_cmd_vq(s, vq);
-    }
-    virtio_scsi_release(s);
-}
-
-static void virtio_scsi_data_plane_handle_ctrl(VirtIODevice *vdev,
-                                               VirtQueue *vq)
-{
-    VirtIOSCSI *s = VIRTIO_SCSI(vdev);
-
-    virtio_scsi_acquire(s);
-    if (!s->dataplane_fenced) {
-        assert(s->ctx && s->dataplane_started);
-        virtio_scsi_handle_ctrl_vq(s, vq);
-    }
-    virtio_scsi_release(s);
-}
-
-static void virtio_scsi_data_plane_handle_event(VirtIODevice *vdev,
-                                                VirtQueue *vq)
-{
-    VirtIOSCSI *s = VIRTIO_SCSI(vdev);
-
-    virtio_scsi_acquire(s);
-    if (!s->dataplane_fenced) {
-        assert(s->ctx && s->dataplane_started);
-        virtio_scsi_handle_event_vq(s, vq);
-    }
-    virtio_scsi_release(s);
-}
-
 static int virtio_scsi_set_host_notifier(VirtIOSCSI *s, VirtQueue *vq, int n)
 {
     BusState *qbus = BUS(qdev_get_parent_bus(DEVICE(s)));
@@ -112,10 +73,10 @@ static void virtio_scsi_dataplane_stop_bh(void *opaque)
     VirtIOSCSICommon *vs = VIRTIO_SCSI_COMMON(s);
     int i;
 
-    virtio_queue_aio_set_host_notifier_handler(vs->ctrl_vq, s->ctx, NULL);
-    virtio_queue_aio_set_host_notifier_handler(vs->event_vq, s->ctx, NULL);
+    virtio_queue_aio_detach_host_notifier(vs->ctrl_vq, s->ctx);
+    virtio_queue_aio_detach_host_notifier(vs->event_vq, s->ctx);
     for (i = 0; i < vs->conf.num_queues; i++) {
-        virtio_queue_aio_set_host_notifier_handler(vs->cmd_vqs[i], s->ctx, NULL);
+        virtio_queue_aio_detach_host_notifier(vs->cmd_vqs[i], s->ctx);
     }
 }
 
@@ -176,14 +137,11 @@ int virtio_scsi_dataplane_start(VirtIODevice *vdev)
     memory_region_transaction_commit();
 
     aio_context_acquire(s->ctx);
-    virtio_queue_aio_set_host_notifier_handler(vs->ctrl_vq, s->ctx,
-                                            virtio_scsi_data_plane_handle_ctrl);
-    virtio_queue_aio_set_host_notifier_handler(vs->event_vq, s->ctx,
-                                           virtio_scsi_data_plane_handle_event);
+    virtio_queue_aio_attach_host_notifier(vs->ctrl_vq, s->ctx);
+    virtio_queue_aio_attach_host_notifier(vs->event_vq, s->ctx);
 
     for (i = 0; i < vs->conf.num_queues; i++) {
-        virtio_queue_aio_set_host_notifier_handler(vs->cmd_vqs[i], s->ctx,
-                                             virtio_scsi_data_plane_handle_cmd);
+        virtio_queue_aio_attach_host_notifier(vs->cmd_vqs[i], s->ctx);
     }
 
     s->dataplane_starting = false;
diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
index e938e6513b..aae72fb8b7 100644
--- a/hw/virtio/virtio.c
+++ b/hw/virtio/virtio.c
@@ -3525,23 +3525,23 @@ static void virtio_queue_host_notifier_aio_poll_end(EventNotifier *n)
     virtio_queue_set_notification(vq, 1);
 }
 
-void virtio_queue_aio_set_host_notifier_handler(VirtQueue *vq, AioContext *ctx,
-        VirtIOHandleOutput handle_output)
+void virtio_queue_aio_attach_host_notifier(VirtQueue *vq, AioContext *ctx)
 {
-    if (handle_output) {
-        aio_set_event_notifier(ctx, &vq->host_notifier, true,
-                               virtio_queue_host_notifier_read,
-                               virtio_queue_host_notifier_aio_poll,
-                               virtio_queue_host_notifier_aio_poll_ready);
-        aio_set_event_notifier_poll(ctx, &vq->host_notifier,
-                                    virtio_queue_host_notifier_aio_poll_begin,
-                                    virtio_queue_host_notifier_aio_poll_end);
-    } else {
-        aio_set_event_notifier(ctx, &vq->host_notifier, true, NULL, NULL, NULL);
-        /* Test and clear notifier before after disabling event,
-         * in case poll callback didn't have time to run. */
-        virtio_queue_host_notifier_read(&vq->host_notifier);
-    }
+    aio_set_event_notifier(ctx, &vq->host_notifier, true,
+                           virtio_queue_host_notifier_read,
+                           virtio_queue_host_notifier_aio_poll,
+                           virtio_queue_host_notifier_aio_poll_ready);
+    aio_set_event_notifier_poll(ctx, &vq->host_notifier,
+                                virtio_queue_host_notifier_aio_poll_begin,
+                                virtio_queue_host_notifier_aio_poll_end);
+}
+
+void virtio_queue_aio_detach_host_notifier(VirtQueue *vq, AioContext *ctx)
+{
+    aio_set_event_notifier(ctx, &vq->host_notifier, true, NULL, NULL, NULL);
+    /* Test and clear notifier before after disabling event,
+     * in case poll callback didn't have time to run. */
+    virtio_queue_host_notifier_read(&vq->host_notifier);
 }
 
 void virtio_queue_host_notifier_read(EventNotifier *n)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Jan 12 17:21:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 17:21:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256798.440878 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7hJg-0000Gg-V5; Wed, 12 Jan 2022 17:21:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256798.440878; Wed, 12 Jan 2022 17: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 1n7hJg-0000GZ-RU; Wed, 12 Jan 2022 17:21:44 +0000
Received: by outflank-mailman (input) for mailman id 256798;
 Wed, 12 Jan 2022 17:21:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cmOE=R4=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1n7hJf-0000GR-8T
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 17:21:43 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 18ae4c1d-73cc-11ec-9c70-5536b2d1e4e1;
 Wed, 12 Jan 2022 18:21:41 +0100 (CET)
Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com
 [209.132.183.4]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-433-VJYu9YkOM2CA6tra9T3WQg-1; Wed, 12 Jan 2022 12:17:35 -0500
Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com
 [10.5.11.22])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 3651883DD2D;
 Wed, 12 Jan 2022 17:16:21 +0000 (UTC)
Received: from localhost (unknown [10.39.195.79])
 by smtp.corp.redhat.com (Postfix) with ESMTP id B2181105C89A;
 Wed, 12 Jan 2022 17: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: 18ae4c1d-73cc-11ec-9c70-5536b2d1e4e1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1642008096;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=yjHInqzmPrCv4N46YVTfuK0G8vvJKHp5wvZGRJen2mw=;
	b=doRjbsuEp2jJqjz9AkB3zOmFo84ureQih+mfg84hHDbvtXoxb0wvQhiH0naCoM3Uy2rtPI
	djIAasvMXGX1LPVG6hrGh4Ohu0979RgWCLCfryF+ZymohAutqn8QK7EPeoJII/D/SK6kn/
	ce9NXcG2O3zLBVmEaHsvgGiqR+uP+kk=
X-MC-Unique: VJYu9YkOM2CA6tra9T3WQg-1
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>
Cc: Coiby Xu <Coiby.Xu@gmail.com>,
	Fam Zheng <fam@euphon.net>,
	Anthony Perard <anthony.perard@citrix.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Stefano Garzarella <sgarzare@redhat.com>,
	Peter Lieven <pl@kamp.de>,
	qemu-block@nongnu.org,
	Julia Suvorova <jusual@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>,
	"Richard W.M. Jones" <rjones@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <f4bug@amsat.org>,
	Paul Durrant <paul@xen.org>,
	Stefan Weil <sw@weilnetz.de>,
	Juan Quintela <quintela@redhat.com>,
	Ronnie Sahlberg <ronniesahlberg@gmail.com>,
	xen-devel@lists.xenproject.org,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	Aarushi Mehta <mehta.aaru20@gmail.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Hanna Reitz <hreitz@redhat.com>
Subject: [PULL 2/6] virtio: get rid of VirtIOHandleAIOOutput
Date: Wed, 12 Jan 2022 17:13:58 +0000
Message-Id: <20220112171402.112183-3-stefanha@redhat.com>
In-Reply-To: <20220112171402.112183-1-stefanha@redhat.com>
References: <20220112171402.112183-1-stefanha@redhat.com>
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22
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-Transfer-Encoding: 8bit
Content-Type: text/plain; charset="US-ASCII"

The virtqueue host notifier API
virtio_queue_aio_set_host_notifier_handler() polls the virtqueue for new
buffers. AioContext previously required a bool progress return value
indicating whether an event was handled or not. This is no longer
necessary because the AioContext polling API has been split into a poll
check function and an event handler function. The event handler is only
run when we know there is work to do, so it doesn't return bool.

The VirtIOHandleAIOOutput function signature is now the same as
VirtIOHandleOutput. Get rid of the bool return value.

Further simplifications will be made for virtio-blk and virtio-scsi in
the next patch.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Message-id: 20211207132336.36627-3-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 include/hw/virtio/virtio.h      |  3 +--
 hw/block/dataplane/virtio-blk.c |  4 ++--
 hw/scsi/virtio-scsi-dataplane.c | 18 ++++++------------
 hw/virtio/virtio.c              | 12 ++++--------
 4 files changed, 13 insertions(+), 24 deletions(-)

diff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h
index 8bab9cfb75..b90095628f 100644
--- a/include/hw/virtio/virtio.h
+++ b/include/hw/virtio/virtio.h
@@ -175,7 +175,6 @@ void virtio_error(VirtIODevice *vdev, const char *fmt, ...) GCC_FMT_ATTR(2, 3);
 void virtio_device_set_child_bus_name(VirtIODevice *vdev, char *bus_name);
 
 typedef void (*VirtIOHandleOutput)(VirtIODevice *, VirtQueue *);
-typedef bool (*VirtIOHandleAIOOutput)(VirtIODevice *, VirtQueue *);
 
 VirtQueue *virtio_add_queue(VirtIODevice *vdev, int queue_size,
                             VirtIOHandleOutput handle_output);
@@ -318,7 +317,7 @@ EventNotifier *virtio_queue_get_host_notifier(VirtQueue *vq);
 void virtio_queue_set_host_notifier_enabled(VirtQueue *vq, bool enabled);
 void virtio_queue_host_notifier_read(EventNotifier *n);
 void virtio_queue_aio_set_host_notifier_handler(VirtQueue *vq, AioContext *ctx,
-                                                VirtIOHandleAIOOutput handle_output);
+        VirtIOHandleOutput handle_output);
 VirtQueue *virtio_vector_first_queue(VirtIODevice *vdev, uint16_t vector);
 VirtQueue *virtio_vector_next_queue(VirtQueue *vq);
 
diff --git a/hw/block/dataplane/virtio-blk.c b/hw/block/dataplane/virtio-blk.c
index ee5a5352dc..a2fa407b98 100644
--- a/hw/block/dataplane/virtio-blk.c
+++ b/hw/block/dataplane/virtio-blk.c
@@ -154,7 +154,7 @@ void virtio_blk_data_plane_destroy(VirtIOBlockDataPlane *s)
     g_free(s);
 }
 
-static bool virtio_blk_data_plane_handle_output(VirtIODevice *vdev,
+static void virtio_blk_data_plane_handle_output(VirtIODevice *vdev,
                                                 VirtQueue *vq)
 {
     VirtIOBlock *s = (VirtIOBlock *)vdev;
@@ -162,7 +162,7 @@ static bool virtio_blk_data_plane_handle_output(VirtIODevice *vdev,
     assert(s->dataplane);
     assert(s->dataplane_started);
 
-    return virtio_blk_handle_vq(s, vq);
+    virtio_blk_handle_vq(s, vq);
 }
 
 /* Context: QEMU global mutex held */
diff --git a/hw/scsi/virtio-scsi-dataplane.c b/hw/scsi/virtio-scsi-dataplane.c
index 18eb824c97..76137de67f 100644
--- a/hw/scsi/virtio-scsi-dataplane.c
+++ b/hw/scsi/virtio-scsi-dataplane.c
@@ -49,49 +49,43 @@ void virtio_scsi_dataplane_setup(VirtIOSCSI *s, Error **errp)
     }
 }
 
-static bool virtio_scsi_data_plane_handle_cmd(VirtIODevice *vdev,
+static void virtio_scsi_data_plane_handle_cmd(VirtIODevice *vdev,
                                               VirtQueue *vq)
 {
-    bool progress = false;
     VirtIOSCSI *s = VIRTIO_SCSI(vdev);
 
     virtio_scsi_acquire(s);
     if (!s->dataplane_fenced) {
         assert(s->ctx && s->dataplane_started);
-        progress = virtio_scsi_handle_cmd_vq(s, vq);
+        virtio_scsi_handle_cmd_vq(s, vq);
     }
     virtio_scsi_release(s);
-    return progress;
 }
 
-static bool virtio_scsi_data_plane_handle_ctrl(VirtIODevice *vdev,
+static void virtio_scsi_data_plane_handle_ctrl(VirtIODevice *vdev,
                                                VirtQueue *vq)
 {
-    bool progress = false;
     VirtIOSCSI *s = VIRTIO_SCSI(vdev);
 
     virtio_scsi_acquire(s);
     if (!s->dataplane_fenced) {
         assert(s->ctx && s->dataplane_started);
-        progress = virtio_scsi_handle_ctrl_vq(s, vq);
+        virtio_scsi_handle_ctrl_vq(s, vq);
     }
     virtio_scsi_release(s);
-    return progress;
 }
 
-static bool virtio_scsi_data_plane_handle_event(VirtIODevice *vdev,
+static void virtio_scsi_data_plane_handle_event(VirtIODevice *vdev,
                                                 VirtQueue *vq)
 {
-    bool progress = false;
     VirtIOSCSI *s = VIRTIO_SCSI(vdev);
 
     virtio_scsi_acquire(s);
     if (!s->dataplane_fenced) {
         assert(s->ctx && s->dataplane_started);
-        progress = virtio_scsi_handle_event_vq(s, vq);
+        virtio_scsi_handle_event_vq(s, vq);
     }
     virtio_scsi_release(s);
-    return progress;
 }
 
 static int virtio_scsi_set_host_notifier(VirtIOSCSI *s, VirtQueue *vq, int n)
diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
index 5db7f69237..323f549aad 100644
--- a/hw/virtio/virtio.c
+++ b/hw/virtio/virtio.c
@@ -125,7 +125,7 @@ struct VirtQueue
 
     uint16_t vector;
     VirtIOHandleOutput handle_output;
-    VirtIOHandleAIOOutput handle_aio_output;
+    VirtIOHandleOutput handle_aio_output;
     VirtIODevice *vdev;
     EventNotifier guest_notifier;
     EventNotifier host_notifier;
@@ -2303,22 +2303,18 @@ void virtio_queue_set_align(VirtIODevice *vdev, int n, int align)
     }
 }
 
-static bool virtio_queue_notify_aio_vq(VirtQueue *vq)
+static void virtio_queue_notify_aio_vq(VirtQueue *vq)
 {
-    bool ret = false;
-
     if (vq->vring.desc && vq->handle_aio_output) {
         VirtIODevice *vdev = vq->vdev;
 
         trace_virtio_queue_notify(vdev, vq - vdev->vq, vq);
-        ret = vq->handle_aio_output(vdev, vq);
+        vq->handle_aio_output(vdev, vq);
 
         if (unlikely(vdev->start_on_kick)) {
             virtio_set_started(vdev, true);
         }
     }
-
-    return ret;
 }
 
 static void virtio_queue_notify_vq(VirtQueue *vq)
@@ -3555,7 +3551,7 @@ static void virtio_queue_host_notifier_aio_poll_end(EventNotifier *n)
 }
 
 void virtio_queue_aio_set_host_notifier_handler(VirtQueue *vq, AioContext *ctx,
-                                                VirtIOHandleAIOOutput handle_output)
+        VirtIOHandleOutput handle_output)
 {
     if (handle_output) {
         vq->handle_aio_output = handle_output;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Jan 12 17:35:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 17:35:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256802.440889 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7hWG-0001o1-2B; Wed, 12 Jan 2022 17:34:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256802.440889; Wed, 12 Jan 2022 17: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 1n7hWF-0001nu-Ux; Wed, 12 Jan 2022 17:34:43 +0000
Received: by outflank-mailman (input) for mailman id 256802;
 Wed, 12 Jan 2022 17:34:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dBVB=R4=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n7hWE-0001no-FY
 for xen-devel@lists.xenproject.org; Wed, 12 Jan 2022 17:34:42 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eaf4f655-73cd-11ec-bd6f-bfb69f65cdc7;
 Wed, 12 Jan 2022 18:34:40 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eaf4f655-73cd-11ec-bd6f-bfb69f65cdc7
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642008880;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=J/au+q5vrHkbFNRXJW+gUtLdkvjFmOProO3/XnYbdPk=;
  b=LQqAPFanHGyzrbQtxJfYc4b0DMg+6Maj40ToIbgua9LwtYEkHRBLP7/f
   5g6xa/zTmtzlt9cdRW4dvrgfECweZTqOk8J/IBZ/4BuAYYc+fbvdnxjVD
   sXScjl3/VSlQTJhayxgiIuEckE2Qet6TSGqns44XDyvxt54KTFwWvVXfA
   c=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: NrW8EMrL4pfTXGpnoZTTjEuVFcW2l9i0cmgpf209t9Lq6Nc6y/PCWgUyUrK7GmIN+mqMsyLfs/
 WYEfwPmuTxPSuslojIVXX8pBKQpJ8+M56QjEweDKqggAMSeDUy8hvi6QLekQBl4RYXacSnvUbm
 paUI+osuFBQxiru1Rg/a62wP9kFZhbwxBH+C1ozOeXki0E5lXm39rJ9lNpDQoay7V9ADNvMQH8
 zBbupQ6gjjmpMJlcoSycop2aTjZKpHDWBTaO9ddiW8nBjz2VRhUfFUMv8TzDeHkvUw6fJYmLCW
 e56NCxOMjzRMT5afXsI41FCL
X-SBRS: 5.2
X-MesageID: 62257435
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:PWrf/qmhDztcN3DUBkuoL+To5gxBIERdPkR7XQ2eYbSJt1+Wr1Gzt
 xIfDGuCM63ZYTH8eY10bI209RlU6JTdx4BiQVM++Sw2ESMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BClVlxJVF/fngqoDUUYYoAQgsA180IMsdoUg7wbRh29cy2YLR7z6l4
 rseneWOYDdJ5BYsWo4kw/rrRMRH5amaVJsw5zTSVNgT1LPsvyB94KE3fMldG0DQUIhMdtNWc
 s6YpF2PEsE1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXee0v0XRYRQR4/ttmHozx+4
 N9UksCVWSczBJPrnsZCdBNqFHFlJZQTrdcrIVDn2SCS50jPcn+qyPRyFkAme4Yf/46bA0kXq
 6ZecmpUKEne2aTmm9pXScE17ignBNPsM44F/Glp0BnSDOo8QICFSKLPjTNd9Glq3J0RQa2DD
 yYfQTZORwvifxptAHceD5QRoN2OmCXuWSIN/Tp5ooJoujOOnWSdyoPFKNPIfvSaSMMTmVyXz
 krE9WnkBhARNPSE1CGItHmrg4fntDnnVYclMay3//9nnnWe3mUWThYRUDOTpv20iVW3Xd5FH
 EUS9jAztqg59EGtTd7VUgWxpTiPuRt0c8BZE/A+rhqMzKXUyw+DAy4PSTspQNYrrtMsTDomk
 FqAhcr0BCdHuaeQD3ma89+8ry62OCUTBX8PY2kDVwRty8nupsQ/gwzCSv5nEbWplZvlFDfo2
 TeIoSMiwbIJgqYj3qO35wqf22qEqZ3ATwpz7QLSNkq76Qd+aJ+gdpaf41HR5vZdL66UVlCE+
 nMDnqC26+QDDoqEkiCXd/kcB7Gi5/uDMzr0jEZmGt8q8DHF02W4YYla7TV6JUFoGsUJYznkZ
 AnUoww52XNIFCL0N+ktOdv3Upl0i/i7fTj4ahzKRtBXRcRUZC+dxh9JY2zP+Grflxg3iZhqb
 P93bv2QJXodDK1myh+/SOEczaIny0gC+I/DeXzo50/5iOTDPRZ5XZ9AaQLTNb5hsMtotS2Iq
 443Ciec9/lIvAQSiAHz+JVbE10FJGNT6Xve+50OLb7rzuaL9Qgc5x7tLVEJJ90Nc0d9zL6gE
 pSBtqlwkguXaZrvc1TiV5ybQOmzNauTVFpiVcDWAX6m2mI4faGk57oFep08cNEPrbI/lK8uE
 adVI5rbU5yjrwgrHRxHPPERS6Q4JXyWaf+mZXL5MFDTgbY9L+A2xjMUVlS2r3RfZsZGncA/v
 6ehxmvmrWkrHGxf4DLtQKv3lTuZ5CFF8MorBhegCoQNJC3ErdY7QwSs3q5fC5xdcn3rm2rFv
 zt69D9F/4EhVadvromQ7U1Fxq/0e9ZD8r1yRDiEve3oZHiDrgJOA+ZoCY61QNwUb0utkI2Kb
 uRJ1fDsdvoBmVdBqY1nFLh3i6k54rPSS3Vyl2yIxV3HMAamDK1OOH6D0ZUdv6FB3OYB6wC3R
 liO6p9RPrDQYJHpF1sYJQwEaOWf1K5LxmmOvKpteEiqtjVq+LenUFlJO0XegiJqM7YoYpgux
 v0suZBK5lXn2AYqKNuPkgtd63+Ici4bS6wiu5xDWN3rhwMnx0tse5vZDiOqspiDZ88VahshI
 yOOhbqEjLNZnxKQf302HHnL/OxcmZVR50wakA5cfwyEw4OXiOU20Rtd9SUMYj5UlhgXgfhuP
 mVLNlFuIfnc9Tlfm8UeDXunHBtMBUPF9xWpmUcJjmDQU2KhSnfJcD8mIe+I8U0UrzBcczxc8
 O3KwWrpS2+3LsT43y90Uk95sf3zC9d281SaysygGs2EGbg8YCbk3fDyNTZZ9UO/DJNjnlDDq
 Mlr4P10OP/yOiMnqqEmD5WXiOYLQxeeKW0eGfxs8cvlx40HlO1eDdRWF32MRw==
IronPort-HdrOrdr: A9a23:/bvhcqq56OHOVXI8jNSOpEoaV5vPL9V00zEX/kB9WHVpm5Oj+f
 xGzc516farslossREb+expOMG7MBXhHLpOkPQs1NaZLXPbUQ6TTb2KgrGSpgEIdxeOktK1kJ
 0QD5SWa+eAfGSS7/yKmDVQeuxIqLLsndHK9IXjJjVWPHpXgslbnnlE422gYzRLrWd9dP0E/M
 323Ls5m9PsQwVdUu2LQl0+G8TTrdzCk5zrJTYAGh4c8QGLyRel8qTzHRS01goXF2on+8ZuzU
 H11yjCoomzufCyzRHRk0fV8pRtgdPkjv9OHtaFhMQ5IijlziyoeINicbufuy1dmpDk1H8a1P
 335zswNcV67H3cOkmzvBvWwgHllA0j7nfzoGXo90fLkIjcfnYXGsBBjYVWfl/y8Ew7puxx16
 pNwiawq4dXJQmoplWy2/H4EzVR0makq3srluAey1ZFV5EFVbNXpYsDuGtIDZY7Gj7g4oxPKp
 ggMCjl3ocXTbqmVQGbgoE2q+bcHEjbXy32DnTqg/blkgS/xxtCvg4lLM92pAZ2yHtycegB2w
 3+CNUaqFh5dL5jUUtMPpZwfSKJMB2+ffvtChPaHb21LtBOB5ryw6SHlYndotvaP6A18A==
X-IronPort-AV: E=Sophos;i="5.88,282,1635220800"; 
   d="scan'208";a="62257435"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=R3SbyU4YsjGITIlPXWWs497SAGimwks+j2k1ITTwMLHo8KynKnpxD10sH5LQkB/4sLYuz8A5Ba4vlnynoejZIoisLMRCiLbbV5I0jVQJT6lEJIxGqaO6s7sDMhDMwXVfE1oE5p+eS6g2PH6DyoxeswgTup9ZERZAkCZglvKZp30zDaipR/t4Df8AOSJox3g/jnnn/yD2y4NsnYhoA1M5dSHxxd/UkDSFaHggohq5dR8aEMoE21ULD44q3H7o09PAcyve5VdMKfsHXim0amYZWa1MlD7lpStQ2J3XWGaPVqTzB9zV2NXyf69/gpjCfXgHHkf+uE7nfT1NCiNxqAIj+g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qGA+8NuGfkZOot8O5jPiHhr4FywJLuwxEOFpXbc0eqs=;
 b=FAuha1PBmPQyO5dRCEw6zc4VlvGzPYil/myjXH1GtrRuwO9uHb1zAlRtiCTkohJGYEyXoPWkGe/AK+kmvkGEcne/0iZGFQ7fWz5JrRn8albgG/IklGdrl/E882TjGhMEme9B+8yOKOA215wevPJkaaiVtZ5tIK3ixqO2nuYRBK9fVjrDdLyra2kpGw1JkeZxKhJSNL9tfkoDmg6qRTUjO8/Q01oD3M9zJU6LsVqcJR//Z7jkZ/L8ESwRk8uIzzEwnVnajxkUyAHA00oPNSQC16PRpnzxME9xvBy473I7NZ4tjUkpAJK6Tea2KpwojH9I5qS6/hPnmwBXN0xhlaf+0A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qGA+8NuGfkZOot8O5jPiHhr4FywJLuwxEOFpXbc0eqs=;
 b=dfVXr4t2oMi9rxJXlheHzWsRRez96k14O5yoRCO9fAVc0RFb0nO2bl6HG913rSw051prUWROwJwcWTeFr2NVPkyo5F3nd7pvtTBYUPYEXR+BP30MOp1bp+Ls0kIiVuntdtg2ae7nM3fNNsItmw/wBn/PS/Fpz7H70e1ZE9fKFtE=
Date: Wed, 12 Jan 2022 18:34:29 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Oleksandr Andrushchenko <andr2000@gmail.com>
CC: <xen-devel@lists.xenproject.org>, <julien@xen.org>,
	<sstabellini@kernel.org>, <oleksandr_tyshchenko@epam.com>,
	<volodymyr_babchuk@epam.com>, <Artem_Mygaiev@epam.com>, <jbeulich@suse.com>,
	<andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>, <paul@xen.org>,
	<bertrand.marquis@arm.com>, <rahul.singh@arm.com>, Oleksandr Andrushchenko
	<oleksandr_andrushchenko@epam.com>
Subject: Re: [PATCH v5 06/14] vpci/header: implement guest BAR register
 handlers
Message-ID: <Yd8RJfpEalnfl+CC@Air-de-Roger>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-7-andr2000@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20211125110251.2877218-7-andr2000@gmail.com>
X-ClientProxiedBy: FR0P281CA0005.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::10) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e33434c5-9fdf-4966-7478-08d9d5f1cc17
X-MS-TrafficTypeDiagnostic: SJ0PR03MB5885:EE_
X-Microsoft-Antispam-PRVS: <SJ0PR03MB588542FEFCB64D501A6FD6818F529@SJ0PR03MB5885.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:261;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 8yFHSfOnJDn4fMrtF0kN8DS0rFxZdXWZ4v+u6Y2ynvv+hWTiX9OjXZoTPmxwPps4zmext4+XlVqn778F5luJwe5+TqtZgYgr2YPwl//jMI+7wkbjwnwPiCwRC/d2udVP+AE9iFIKvb3BVIxLFpDK7UGbgXbbR/n2g1xuvr9NHml+DYhsV+wkfW317QLVAPayct0LSCHs8OhN+dfXrXv8FMxwkov/rsrIMWhQSIdbL8aU0Ub8DrZuALt/2+D64APCITsVNcL/CjfH8FAawbPyKazrPxbp27hz3+z11D/QM+AGlNhqLEJyXVP/r6uG6M4xwiVFiY6M25ENqGgtKgwitBsXvK5GYpAkC1VjT5dp0hQxKqdtBTMpq+SgoljL8/DD63yH32WNchsJnbBmH0hl1PK06uQnEekv233wiSjIYlC/wMb9m9BO/NxhLTwX9XI5wNWynB+HA7S4J8VxOs1qu4PbYoz5ZMLKbEtMhzzAV4O6qqi8LP3JMK9cPgMMpWbNUGo69/knKu5FIrPGUTs/yko13HqEOeG15RGZD2GbUaOKCk32A07Otw6hA7Dtwtxfly1AKGsZrXEzV1YBIJ1I9lthHAs67pCceCiHGg6gCaBsl4+qxJY8C1T9faxHbzunklaAYHSuEi6fM7b7QjHhmsk4hc0crxHb9OkJISYvgdj1e7+0kImz9mQ+IM3Og0LU
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(6486002)(26005)(66556008)(6506007)(38100700002)(7416002)(186003)(8676002)(8936002)(66476007)(4326008)(508600001)(6916009)(5660300002)(316002)(6512007)(66946007)(2906002)(9686003)(85182001)(83380400001)(86362001)(6666004)(82960400001)(33716001)(67856001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?elRHRStpQ1REYzljU3h3RmoyeXB3TmErVVBjdVYveXVYVzlzeFh2Tkx1ZmxE?=
 =?utf-8?B?RU5jVHNJNWI1WXJ0MldISmFmcXkrbE5jRVBmMkhjaU5XamMyOXVJd2hKTno5?=
 =?utf-8?B?cldvWHg3amo2NFBpK3Q3WjU0QXY2dDVNUENHckVhaEJKVThqa0syMHdVcG1m?=
 =?utf-8?B?czkxbXZXc1JKZHFrOHZvVWdXeHAwZmdhZTRFOW1zdzZBSnVIZ2l5eVFYK2I5?=
 =?utf-8?B?UHA5Rlg5QXlObytQTER1UjJNak82Q2FHZDRteEJRSHNqQnJ3QjI2VzFLVFpP?=
 =?utf-8?B?aGNyOUlGSXZKRmF4Ri9DK0lmbC9CZTVrWGEycmk2QnBZajY3SWhCVVNCUXhq?=
 =?utf-8?B?VVh5VDV1MnhrL2pKdmhHTS9sd21KWTlGbG13MTJZR3pxckNUYWhKMllhdlFE?=
 =?utf-8?B?NFE0TFhURHhzTVE4cUlDQmtiazhCN05YQlBaNVQzR2lQWDJPejNuTEJEbDd6?=
 =?utf-8?B?K1h6am5VSEM3YklDZ3I5S2RqU1ZzQXZ3WThaU2xDdDFRd3pWOGVJYjhlSFN0?=
 =?utf-8?B?MDIrazRaZC9GVDlzZVNrZkpwbFcwdWxaeDRBYjdVaVJDWVJPWmhuK05iL2Fl?=
 =?utf-8?B?Y3NDdlNHVVR5dVdvYVF6WFRBbVVxeXFQMnlGUkFhOUlrQ1RaaWwwc3NwSVJa?=
 =?utf-8?B?eEhVWnZnaFF3WDRRS0NQVDRWeFB4L3JZK2Zndy9ZcHVvUlY4Y0tob1g5Y1I4?=
 =?utf-8?B?Y1c2RmdXaEh5ZzNxanIvV2xKU290T2ZqaVJ6bW9sdk9YdncwR2lzcklweEh3?=
 =?utf-8?B?QS83MUV0TFVJNEVpK0lRTDJZUWkxcjhrUzRNbWZiYTBVZ2NqL2lkTk5KUGVM?=
 =?utf-8?B?N1lnUXgrS09SQUlvRUVBYUhCMWw0bWZhdC9wTDVIclF1d1NWVTd6TGIwWFE3?=
 =?utf-8?B?T1k2RFFOZXN4L3RCd1A5V1pHQTEyUlFjbzcwYThEZlVINDNyZTRkUG5NTVI1?=
 =?utf-8?B?WUhzN2k3Zm1BZlJWVjZNZG1Ud3RlU2pmVThyNWZoenluRHUzUWtYWHN1K0dX?=
 =?utf-8?B?dDk4Q2VoM1dwL2hmM1Y0ZzkvVlFxaGtyK2hOb2xMYUIwK29pZDhCYzZ1UEky?=
 =?utf-8?B?VDdUb1JkL1JzOW11eXFFazg4dlc3WmRKMW0zQWNxWFo2QVhDVlRjMDAwanMz?=
 =?utf-8?B?bEFIeUxrSE04SysyUTdTT2pSVFNMNU14OHFGVEErVzM2SjMyNUozVVhNampj?=
 =?utf-8?B?NW1pZ09KRkZOdkd1cnFJMktoUG8vM2ZLdW00M2FId2xwRFJnSEI0cm5iajQ2?=
 =?utf-8?B?RVJFUDEwSFRPNklXcHNMVGlkT1hEbmFBcVJ3SGFRUXZMaXNOTTd6ZHorU2Fo?=
 =?utf-8?B?eEJkeDhnYzVGVzlkek1ndW4zOWZmeGRpeDVtS0NjVTJZTU1EaDE5bnRTT0sx?=
 =?utf-8?B?Qi9qb25NTlozcGdTeFVBUU9oNFZ1VzNwNGVyWkdFMDI3dFQ3NEtFcU9hcEI2?=
 =?utf-8?B?RmdUODQvd0NwV052QnJOVkhlNWRsdEtwVGZRNmRyUG04cEU3K29qdk91OXZq?=
 =?utf-8?B?aGNqVkd0N29EOHVScFdpUG5FenpidFRRamhQNjlEcTdKR25rWHRCRVRidlE2?=
 =?utf-8?B?MTIxVkIrRnBBNWRoNjZzT0xvNWVNSFBHRU5DVTA4SEVBS0pCY2dBVlpjS2xY?=
 =?utf-8?B?dSt2aU5FNllEbmhzV2llR2Qvdk13bDRVd0l5Zm1yMTNIRkRKcDJrSnZCZW9K?=
 =?utf-8?B?VU83MzU3SWd6clExMTdPRDdNL1JHb0dXWU4rT0JkOVN4S1MxbFNINUhXWk81?=
 =?utf-8?B?aXRnUmVHK0plbng4M3NDbmZqZlBrRFAzdUtGWnhUK24vUy9RbHBSR242UUtK?=
 =?utf-8?B?ZWs0ZkRqajB0THMvTmxtNllOZjV1NTZ3WjVCOGdHSXZITWNjOXBMU2o1SWZI?=
 =?utf-8?B?cG1Wa1FRRDlJODVkdDE0VzZDYUpNM1pRQklGNXJ4ZWViQjdqK280ODJhNEYr?=
 =?utf-8?B?dTVVYnpWaTQxRjdNTHIyL3Vabi9vWjNRaU8yUUwvQjJLR05PQ1YzcFlTK3lo?=
 =?utf-8?B?bWlTa2NmcFRRb21qclNTZ01qYVB5Q2kwUE9HcE9qeUZiOVp5bkNkYktSNThy?=
 =?utf-8?B?L3E1cnBlRXhrTVlYSm1zN2JLOHRSR3ovcGlBK3pnY0I2YXJSdjN4OGpwS0Jp?=
 =?utf-8?B?UGtaTWpVN2xmOUF6YVh0alB1VVkrZHg5MHdJTUw5QUVqeVFRcVUzOXZRU05h?=
 =?utf-8?Q?BU0HHPx55nG2TuxxWFf0GQE=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: e33434c5-9fdf-4966-7478-08d9d5f1cc17
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2022 17:34:34.0215
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Gsw/PkhHSJsGBlhYsMQoYew/DrEHz2VfTgfth+MrQTfoV7ROHaBxDYMHTuG3I6T9es2iMkE6sHlbSCkK2Plt5Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5885
X-OriginatorOrg: citrix.com

A couple more comments I realized while walking the dog.

On Thu, Nov 25, 2021 at 01:02:43PM +0200, Oleksandr Andrushchenko wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> Add relevant vpci register handlers when assigning PCI device to a domain
> and remove those when de-assigning. This allows having different
> handlers for different domains, e.g. hwdom and other guests.
> 
> Emulate guest BAR register values: this allows creating a guest view
> of the registers and emulates size and properties probe as it is done
> during PCI device enumeration by the guest.
> 
> ROM BAR is only handled for the hardware domain and for guest domains
> there is a stub: at the moment PCI expansion ROM handling is supported
> for x86 only and it might not be used by other architectures without
> emulating x86. Other use-cases may include using that expansion ROM before
> Xen boots, hence no emulation is needed in Xen itself. Or when a guest
> wants to use the ROM code which seems to be rare.
> 
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> ---
> Since v4:
> - updated commit message
> - s/guest_addr/guest_reg
> Since v3:
> - squashed two patches: dynamic add/remove handlers and guest BAR
>   handler implementation
> - fix guest BAR read of the high part of a 64bit BAR (Roger)
> - add error handling to vpci_assign_device
> - s/dom%pd/%pd
> - blank line before return
> Since v2:
> - remove unneeded ifdefs for CONFIG_HAS_VPCI_GUEST_SUPPORT as more code
>   has been eliminated from being built on x86
> Since v1:
>  - constify struct pci_dev where possible
>  - do not open code is_system_domain()
>  - simplify some code3. simplify
>  - use gdprintk + error code instead of gprintk
>  - gate vpci_bar_{add|remove}_handlers with CONFIG_HAS_VPCI_GUEST_SUPPORT,
>    so these do not get compiled for x86
>  - removed unneeded is_system_domain check
>  - re-work guest read/write to be much simpler and do more work on write
>    than read which is expected to be called more frequently
>  - removed one too obvious comment
> ---
>  xen/drivers/vpci/header.c | 72 +++++++++++++++++++++++++++++++++++----
>  xen/include/xen/vpci.h    |  3 ++
>  2 files changed, 69 insertions(+), 6 deletions(-)
> 
> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
> index ba333fb2f9b0..8880d34ebf8e 100644
> --- a/xen/drivers/vpci/header.c
> +++ b/xen/drivers/vpci/header.c
> @@ -433,6 +433,48 @@ static void bar_write(const struct pci_dev *pdev, unsigned int reg,
>      pci_conf_write32(pdev->sbdf, reg, val);
>  }
>  
> +static void guest_bar_write(const struct pci_dev *pdev, unsigned int reg,
> +                            uint32_t val, void *data)
> +{
> +    struct vpci_bar *bar = data;
> +    bool hi = false;
> +
> +    if ( bar->type == VPCI_BAR_MEM64_HI )
> +    {
> +        ASSERT(reg > PCI_BASE_ADDRESS_0);
> +        bar--;
> +        hi = true;
> +    }
> +    else
> +    {
> +        val &= PCI_BASE_ADDRESS_MEM_MASK;
> +        val |= bar->type == VPCI_BAR_MEM32 ? PCI_BASE_ADDRESS_MEM_TYPE_32
> +                                           : PCI_BASE_ADDRESS_MEM_TYPE_64;
> +        val |= bar->prefetchable ? PCI_BASE_ADDRESS_MEM_PREFETCH : 0;
> +    }
> +
> +    bar->guest_reg &= ~(0xffffffffull << (hi ? 32 : 0));
> +    bar->guest_reg |= (uint64_t)val << (hi ? 32 : 0);
> +
> +    bar->guest_reg &= ~(bar->size - 1) | ~PCI_BASE_ADDRESS_MEM_MASK;

You need to assert that the guest set address has the same page offset
as the physical address on the host, or otherwise things won't work as
expected. Ie: guest_addr & ~PAGE_MASK == addr & ~PAGE_MASK.

> +}
> +
> +static uint32_t guest_bar_read(const struct pci_dev *pdev, unsigned int reg,
> +                               void *data)
> +{
> +    const struct vpci_bar *bar = data;
> +    bool hi = false;
> +
> +    if ( bar->type == VPCI_BAR_MEM64_HI )
> +    {
> +        ASSERT(reg > PCI_BASE_ADDRESS_0);
> +        bar--;
> +        hi = true;
> +    }
> +
> +    return bar->guest_reg >> (hi ? 32 : 0);
> +}
> +
>  static void rom_write(const struct pci_dev *pdev, unsigned int reg,
>                        uint32_t val, void *data)
>  {
> @@ -481,6 +523,17 @@ static void rom_write(const struct pci_dev *pdev, unsigned int reg,
>          rom->addr = val & PCI_ROM_ADDRESS_MASK;
>  }
>  
> +static void guest_rom_write(const struct pci_dev *pdev, unsigned int reg,
> +                            uint32_t val, void *data)
> +{
> +}
> +
> +static uint32_t guest_rom_read(const struct pci_dev *pdev, unsigned int reg,
> +                               void *data)
> +{
> +    return 0xffffffff;
> +}
> +
>  static int init_bars(struct pci_dev *pdev)
>  {
>      uint16_t cmd;
> @@ -489,6 +542,7 @@ static int init_bars(struct pci_dev *pdev)
>      struct vpci_header *header = &pdev->vpci->header;
>      struct vpci_bar *bars = header->bars;
>      int rc;
> +    bool is_hwdom = is_hardware_domain(pdev->domain);
>  
>      switch ( pci_conf_read8(pdev->sbdf, PCI_HEADER_TYPE) & 0x7f )
>      {
> @@ -528,8 +582,10 @@ static int init_bars(struct pci_dev *pdev)
>          if ( i && bars[i - 1].type == VPCI_BAR_MEM64_LO )
>          {
>              bars[i].type = VPCI_BAR_MEM64_HI;
> -            rc = vpci_add_register(pdev->vpci, vpci_hw_read32, bar_write, reg,
> -                                   4, &bars[i]);
> +            rc = vpci_add_register(pdev->vpci,
> +                                   is_hwdom ? vpci_hw_read32 : guest_bar_read,
> +                                   is_hwdom ? bar_write : guest_bar_write,
> +                                   reg, 4, &bars[i]);
>              if ( rc )
>              {
>                  pci_conf_write16(pdev->sbdf, PCI_COMMAND, cmd);
> @@ -569,8 +625,10 @@ static int init_bars(struct pci_dev *pdev)
>          bars[i].size = size;
>          bars[i].prefetchable = val & PCI_BASE_ADDRESS_MEM_PREFETCH;
>  
> -        rc = vpci_add_register(pdev->vpci, vpci_hw_read32, bar_write, reg, 4,
> -                               &bars[i]);
> +        rc = vpci_add_register(pdev->vpci,
> +                               is_hwdom ? vpci_hw_read32 : guest_bar_read,
> +                               is_hwdom ? bar_write : guest_bar_write,
> +                               reg, 4, &bars[i]);

You need to initialize guest_reg to the physical host value also.

>          if ( rc )
>          {
>              pci_conf_write16(pdev->sbdf, PCI_COMMAND, cmd);
> @@ -590,8 +648,10 @@ static int init_bars(struct pci_dev *pdev)
>          header->rom_enabled = pci_conf_read32(pdev->sbdf, rom_reg) &
>                                PCI_ROM_ADDRESS_ENABLE;
>  
> -        rc = vpci_add_register(pdev->vpci, vpci_hw_read32, rom_write, rom_reg,
> -                               4, rom);
> +        rc = vpci_add_register(pdev->vpci,
> +                               is_hwdom ? vpci_hw_read32 : guest_rom_read,
> +                               is_hwdom ? rom_write : guest_rom_write,
> +                               rom_reg, 4, rom);
>          if ( rc )
>              rom->type = VPCI_BAR_EMPTY;

Also memory decoding needs to be initially disabled when used by
guests, in order to prevent the BAR being placed on top of a RAM
region. The guest physmap will be different from the host one, so it's
possible for BARs to end up placed on top of RAM regions initially
until the firmware or OS places them at a suitable address.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 18:30:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 18:30:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256806.440899 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7iNx-0007ts-Bc; Wed, 12 Jan 2022 18:30:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256806.440899; Wed, 12 Jan 2022 18:30:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7iNx-0007tl-8I; Wed, 12 Jan 2022 18:30:13 +0000
Received: by outflank-mailman (input) for mailman id 256806;
 Wed, 12 Jan 2022 18:30: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 1n7iNw-0007tb-4h; Wed, 12 Jan 2022 18:30: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 1n7iNw-0004MI-0d; Wed, 12 Jan 2022 18: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 1n7iNv-000772-KE; Wed, 12 Jan 2022 18:30:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n7iNv-0003nL-Ib; Wed, 12 Jan 2022 18: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=eDw/scjS/5L9EcjIfcu6/U2/tpzEG5ntz8tKBQMhMCk=; b=kFdYYw+gaEw1Cx0bYjKLHEEkY/
	5csWo+kdvWp67wZs469fU6eFMw/9Fhg5Kw/BRJAc6daOzIFH7jwnYrOEneEiKJUT0wJMyrMGLQf+w
	cnq1gOW/q5X9as5OREDFCGWnRaidbwOzWk/SIqu50xndkZaspNBQB4RPFYAu4d/rlkrA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167668-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167668: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:heisenbug
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-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-armhf-armhf-libvirt-qcow2: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-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=daadb3bd0e8d3e317e36bc2c1542e86c528665e5
X-Osstest-Versions-That:
    linux=fe8152b38d3a994c4c6fdbc0cd6551d569a5715a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 12 Jan 2022 18:30:11 +0000

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

Failures :-/ but no regressions.

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

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

version targeted for testing:
 linux                daadb3bd0e8d3e317e36bc2c1542e86c528665e5
baseline version:
 linux                fe8152b38d3a994c4c6fdbc0cd6551d569a5715a

Last test of basis   167662  2022-01-11 14:42:13 Z    1 days
Testing same since   167668  2022-01-12 01:56:17 Z    0 days    1 attempts

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

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


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

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

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

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


Pushing revision :

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


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 19:13:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 19:13:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256826.440954 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7j3D-0004F2-3X; Wed, 12 Jan 2022 19:12:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256826.440954; Wed, 12 Jan 2022 19:12:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7j3D-0004Ev-0V; Wed, 12 Jan 2022 19:12:51 +0000
Received: by outflank-mailman (input) for mailman id 256826;
 Wed, 12 Jan 2022 19: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 1n7j3B-0004Ea-Rx; Wed, 12 Jan 2022 19: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 1n7j3B-00058U-QU; Wed, 12 Jan 2022 19: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 1n7j3B-0000s0-JZ; Wed, 12 Jan 2022 19:12:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n7j3B-0000qh-CD; Wed, 12 Jan 2022 19:12:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=kQcxRuS1zVRX5eVk2//9bsne3jbA7SUpcGI2CHzHkZA=; b=ScEa5JwacUARh9SgkH1cPr1zpu
	wuV8rCLPxEVrKX6Iq6Js7kE8aS5cCazkX0mu6y20p1d/J3hQ3XqvgIihk22rKWPp5qnecEQOcD+M9
	XxAbxqxEyTq58V1nRBk/0jPo/WjOGIirL5S7P4NSL8aEaObDJutDgMYl4BnkEKRRQraQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167674-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-upstream-unstable test] 167674: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-upstream-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-libvirt-raw:debian-di-install:fail:nonblocking
    qemu-upstream-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-upstream-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-upstream-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-upstream-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=a68d6d311c2d1fd9d2fa9a0768ea2353e8a79b42
X-Osstest-Versions-That:
    qemuu=b6e539830bf45e2d7a6bd86ddfdf003088b173b0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 12 Jan 2022 19:12:49 +0000

flight 167674 qemu-upstream-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167674/

Failures :-/ but no regressions.

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

version targeted for testing:
 qemuu                a68d6d311c2d1fd9d2fa9a0768ea2353e8a79b42
baseline version:
 qemuu                b6e539830bf45e2d7a6bd86ddfdf003088b173b0

Last test of basis   164679  2021-08-31 11:08:25 Z  134 days
Testing same since   167674  2022-01-12 10:40:11 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex Bennée <alex.bennee@linaro.org>
  Alex Williamson <alex.williamson@redhat.com>
  Ani Sinha <ani@anisinha.ca>
  Anthony PERARD <anthony.perard@citrix.com>
  Ari Sundholm <ari@tuxera.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Cole Robinson <crobinso@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Daniil Tatianin <d-tatianin@yandex-team.ru>
  David Hildenbrand <david@redhat.com>
  Eduardo Habkost <ehabkost@redhat.com>
  Emil Karlson <jkarlson@tuxera.com>
  Eric Auger <eric.auger@redhat.com>
  Eric Blake <eblake@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Greg Kurz <groug@kaod.org>
  Helge Deller <deller@gmx.de>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  Jessica Clarke <jrtc27@jrtc27.com>
  John Snow <jsnow@redhat.com>
  Jon Maloy <jmaloy@redhat.com>
  Kevin Wolf <kwolf@redhat.com>
  Klaus Jensen <k.jensen@samsung.com>
  Laurent Vivier <laurent@vivier.eu>
  Mahmoud Mandour <ma.mandourr@gmail.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Mark Mielke <mark.mielke@gmail.com>
  Markus Armbruster <armbru@redhat.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Michael Roth <michael.roth@amd.com>
  Michael S. Tsirkin <mst@redhat.com>
  Michael Tokarev <mjt@tls.msk.ru>
  Nir Soffer <nirsof@gmail.com>
  Nir Soffer <nsoffer@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@redhat.com>
  Prasad J Pandit <pjp@fedoraproject.org>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefano Garzarella <sgarzare@redhat.com>
  Thomas Huth <thuth@redhat.com>
  Xueming Li <xuemingl@nvidia.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-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   b6e539830b..a68d6d311c  a68d6d311c2d1fd9d2fa9a0768ea2353e8a79b42 -> master


From xen-devel-bounces@lists.xenproject.org Wed Jan 12 23:17:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 12 Jan 2022 23:17:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256902.441152 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7ms0-0004i8-UM; Wed, 12 Jan 2022 23:17:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256902.441152; Wed, 12 Jan 2022 23:17:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7ms0-0004i1-Qu; Wed, 12 Jan 2022 23:17:32 +0000
Received: by outflank-mailman (input) for mailman id 256902;
 Wed, 12 Jan 2022 23:17:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n7mry-0004ho-W0; Wed, 12 Jan 2022 23:17:30 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n7mry-0001LE-Sr; Wed, 12 Jan 2022 23:17:30 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n7mry-0006CJ-HH; Wed, 12 Jan 2022 23:17:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n7mry-00068F-Gr; Wed, 12 Jan 2022 23:17:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=BfpOgtG1ZJMiZiTvrTAMG38GBaaZ2jUXLwNfHhOLiOg=; b=bkTg+QlqiQqhVqKc/aOmLYkRbf
	cakS/mPnkO312wbVcJMo2Ca28U7o5Y64gbv7KruQD84NGG77Y5K9QuK2LEAXPMRr8JQ+FqsRpQPBu
	/HwTp+YYikzukx41kOB2PP6u4kDxJLz1+SOgthMs/k/77CVL7ZTQetXAHejs/IAxhZvw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167675-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167675: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-rtds:guest-localmigrate/x10: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-qcow2:saverestore-support-check: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-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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm: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-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2: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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-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-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-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2: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
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=7bb1272f40bdbdebcaec1737c412dcb52e414842
X-Osstest-Versions-That:
    qemuu=64c01c7da449bcafc614b27ecf1325bb08031c84
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 12 Jan 2022 23:17:30 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 qemuu                7bb1272f40bdbdebcaec1737c412dcb52e414842
baseline version:
 qemuu                64c01c7da449bcafc614b27ecf1325bb08031c84

Last test of basis   167665  2022-01-11 21:09:55 Z    1 days
Testing same since   167675  2022-01-12 10:41:18 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  John Snow <jsnow@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>
  Stefan Weil <sw@weilnetz.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-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   64c01c7da4..7bb1272f40  7bb1272f40bdbdebcaec1737c412dcb52e414842 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 00:45:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 00:45:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256913.441163 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7oF8-0005aZ-Nt; Thu, 13 Jan 2022 00:45:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256913.441163; Thu, 13 Jan 2022 00: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 1n7oF8-0005aS-KB; Thu, 13 Jan 2022 00:45:30 +0000
Received: by outflank-mailman (input) for mailman id 256913;
 Thu, 13 Jan 2022 00:45:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9vnq=R5=kernel.org=pr-tracker-bot@srs-se1.protection.inumbo.net>)
 id 1n7oF6-0005aM-Rp
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 00:45:28 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 188aa066-740a-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 01:45:27 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 8B55161BC4;
 Thu, 13 Jan 2022 00:45:24 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPS id F18B4C36AE9;
 Thu, 13 Jan 2022 00:45:23 +0000 (UTC)
Received: from aws-us-west-2-korg-oddjob-1.ci.codeaurora.org
 (localhost.localdomain [127.0.0.1])
 by aws-us-west-2-korg-oddjob-1.ci.codeaurora.org (Postfix) with ESMTP id
 DEDF1F60794; Thu, 13 Jan 2022 00:45: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: 188aa066-740a-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1642034724;
	bh=O68F3Nu2VEdBbj9G5SZBlcgk3FUUK/jllIRq5moEFi8=;
	h=Subject:From:In-Reply-To:References:Date:To:Cc:From;
	b=lywSjBNlmD8Trgad8wMZqS9CzgCufgEAJ7i42zJj5xE+dq5QHwCyh3w4DSwE89Pmu
	 hK0hNRvq3Qw/8ajln5lxGMKdNJxI8QcWdQ0auDWmsxk9YEfjfesmONnlN4exShg/du
	 SjPl+6m62+/ms8E/GNHDkS8nBeFfWm6dR4HkxeFtN4X3uM0PYv34/jO4pE9tflrM7m
	 AJjkB8yRzkuR9+QUhciWEhyjak5vB/LoXuBkn9XtT7Eqff9kbhcBWH5KNEbEtEXjMj
	 UozkFiYvt3b/1aiXqrkOKKcyLX/5NJ3u9rlrr5oPtiYFeoemM/nOXFujTP5muP5ty2
	 GFDtGZgBHHF7g==
Subject: Re: [GIT PULL] xen: branch for v5.17-rc1
From: pr-tracker-bot@kernel.org
In-Reply-To: <20220112155011.1990-1-jgross@suse.com>
References: <20220112155011.1990-1-jgross@suse.com>
X-PR-Tracked-List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
X-PR-Tracked-Message-Id: <20220112155011.1990-1-jgross@suse.com>
X-PR-Tracked-Remote: git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-5.17-rc1-tag
X-PR-Tracked-Commit-Id: 54bb4a91b281e1b21235a4bc175e1293e787c016
X-PR-Merge-Tree: torvalds/linux.git
X-PR-Merge-Refname: refs/heads/master
X-PR-Merge-Commit-Id: ce990f1de0bc6ff3de43d385e0985efa980fba24
Message-Id: <164203472390.19726.4581721172474922590.pr-tracker-bot@kernel.org>
Date: Thu, 13 Jan 2022 00:45:23 +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 Wed, 12 Jan 2022 16:50:11 +0100:

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

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

Thank you!

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


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 00:45:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 00:45:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256914.441174 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7oFU-00060h-W7; Thu, 13 Jan 2022 00:45:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256914.441174; Thu, 13 Jan 2022 00: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 1n7oFU-00060a-SX; Thu, 13 Jan 2022 00:45:52 +0000
Received: by outflank-mailman (input) for mailman id 256914;
 Thu, 13 Jan 2022 00:45:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4cYr=R5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n7oFU-0005z3-5N
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 00:45:52 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 26521609-740a-11ec-bd6f-bfb69f65cdc7;
 Thu, 13 Jan 2022 01:45:49 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 14C5361BB2;
 Thu, 13 Jan 2022 00:45:48 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6F9D4C36AE9;
 Thu, 13 Jan 2022 00:45: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: 26521609-740a-11ec-bd6f-bfb69f65cdc7
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1642034747;
	bh=Ud2+KRxCIM/gQTYfpsXOUVk5ioBFyWDIIo6AT8JiEiU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=FlwlsJIfWa6XWy2Cmapc/IqajoGDnlDWsj/HFKjXNlvaBaqLinSLi7nRZCFijaFXJ
	 gCF0WTz2MCv+iHOl3GAJ9poFDrbPJSp9rybYeV0W0qanXzvDXmCAtil4AAgIgYGRoM
	 455NfbBgkekmZjfg35gOTUaqMwkp0DVkSCEn7uF03Eqt5Ph3eBcf8FkrKg3+9QWQD5
	 RF2NjJ4qkNpxEItbnA0L9oLTJPXRk4dsUGj8+Z5bIMHQsu7voSK54AXULlVcW3YNvN
	 2N0fRk5UVF+Z4WNkhdGS1pxF6wA3RciOK1yPjHc85gR43o2JDyK48+Dfgb/sWBkmiG
	 bAZbeE3F4Smyg==
Date: Wed, 12 Jan 2022 16:45:47 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Luca Miccio <lucmiccio@gmail.com>, julien@xen.org, 
    Bertrand.Marquis@arm.com, 
    Stefano Stabellini <stefano.stabellini@xilinx.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, 
    xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 2/7] xen: introduce _evtchn_alloc_unbound
In-Reply-To: <7f79400c-6498-331f-8f5a-787eca0fb76e@suse.com>
Message-ID: <alpine.DEB.2.22.394.2201121645370.19362@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop> <20220108004912.3820176-2-sstabellini@kernel.org> <93887812-b9c1-af41-85ef-208cc114a1fc@suse.com> <alpine.DEB.2.22.394.2201111432120.19362@ubuntu-linux-20-04-desktop>
 <7f79400c-6498-331f-8f5a-787eca0fb76e@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 12 Jan 2022, Jan Beulich wrote:
> On 11.01.2022 23:49, Stefano Stabellini wrote:
> > On Mon, 10 Jan 2022, Jan Beulich wrote:
> >> On 08.01.2022 01:49, Stefano Stabellini wrote:
> >>> @@ -284,11 +285,32 @@ void evtchn_free(struct domain *d, struct evtchn *chn)
> >>>      xsm_evtchn_close_post(chn);
> >>>  }
> >>>  
> >>> -static int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
> >>> +struct evtchn *_evtchn_alloc_unbound(struct domain *d, domid_t remote_dom)
> >>
> >> Function names want to be the other way around, to be in line with
> >> naming rules of the C spec: The static function may be underscore-
> >> prefixed, while the non-static one may not.
> > 
> > OK
> > 
> > 
> >>>  {
> >>>      struct evtchn *chn;
> >>> +    int port;
> >>> +
> >>> +    if ( (port = get_free_port(d)) < 0 )
> >>> +        return ERR_PTR(port);
> >>> +    chn = evtchn_from_port(d, port);
> >>> +
> >>> +    evtchn_write_lock(chn);
> >>> +
> >>> +    chn->state = ECS_UNBOUND;
> >>> +    if ( (chn->u.unbound.remote_domid = remote_dom) == DOMID_SELF )
> >>> +        chn->u.unbound.remote_domid = current->domain->domain_id;
> >>
> >> I think the resolving of DOMID_SELF should remain in the caller, as I'm
> >> pretty sure your planned new user(s) can't sensibly pass that value.
> > 
> > Yep, no problem
> > 
> > 
> >>> +    evtchn_port_init(d, chn);
> >>> +
> >>> +    evtchn_write_unlock(chn);
> >>> +
> >>> +    return chn;
> >>> +}
> >>> +
> >>> +static int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
> >>> +{
> >>> +    struct evtchn *chn = NULL;
> >>
> >> I don't think the initializer is needed.
> > 
> > OK
> > 
> > 
> >>> @@ -297,27 +319,22 @@ static int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
> >>>  
> >>>      spin_lock(&d->event_lock);
> >>>  
> >>> -    if ( (port = get_free_port(d)) < 0 )
> >>> -        ERROR_EXIT_DOM(port, d);
> >>> -    chn = evtchn_from_port(d, port);
> >>> +    chn = _evtchn_alloc_unbound(d, alloc->remote_dom);
> >>> +    if ( IS_ERR(chn) )
> >>> +    {
> >>> +        rc = PTR_ERR(chn);
> >>> +        ERROR_EXIT_DOM(rc, d);
> >>> +    }
> >>>  
> >>>      rc = xsm_evtchn_unbound(XSM_TARGET, d, chn, alloc->remote_dom);
> >>>      if ( rc )
> >>>          goto out;
> >>>  
> >>> -    evtchn_write_lock(chn);
> >>> -
> >>> -    chn->state = ECS_UNBOUND;
> >>
> >> This cannot be pulled ahead of the XSM check (or in general anything
> >> potentially resulting in an error), as check_free_port() relies on
> >> ->state remaining ECS_FREE until it is known that the calling function
> >> can't fail anymore.
> > 
> > OK, I didn't realize. Unfortunately it means we have to move setting
> > chn->state = ECS_UNBOUND to the caller.
> > 
> > 
> >>> -    if ( (chn->u.unbound.remote_domid = alloc->remote_dom) == DOMID_SELF )
> >>> -        chn->u.unbound.remote_domid = current->domain->domain_id;
> >>> -    evtchn_port_init(d, chn);
> >>> -
> >>> -    evtchn_write_unlock(chn);
> >>> -
> >>> -    alloc->port = port;
> >>> +    alloc->port = chn->port;
> >>>  
> >>>   out:
> >>> -    check_free_port(d, port);
> >>> +    if ( chn != NULL )
> >>> +        check_free_port(d, chn->port);
> >>
> >> Without the initializer above it'll then be more obvious that the
> >> condition here needs to be !IS_ERR(chn).
> >>
> >> Also (nit) please prefer the shorter "if ( chn )".
> >>
> >> Overall I wonder in how far it would be possible to instead re-use PV
> >> shim's "backdoor" into port allocation: evtchn_allocate_port() was
> >> specifically made available for it, iirc.
> > 
> > I don't see an obvious way to do it. These are the 4 things we need to
> > do:
> > 
> > 1) call get_free_port/evtchn_allocate_port
> > 2) set state = ECS_UNBOUND
> > 3) set remote_domid
> > 4) call evtchn_port_init
> > 
> > It doesn't look like we could enhance evtchn_allocate_port to do 2) and
> > 3). And probably even 4) couldn't be added to evtchn_allocate_port.
> > 
> > So basically it is like calling get_free_port() and do 2,3,4 ourselves
> > from the caller in xen/arch/arm/domain_build.c. But that might be a good
> > idea actually. Maybe we should leave evtchn_alloc_unbound unmodified and
> > instead open-code what we need to do in xen/arch/arm/domain_build.c.
> 
> Right, that's what I was trying to hint at as an alternative.

OK, I'll do that then


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 00:50:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 00:50:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256923.441185 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7oJT-0006vx-Mz; Thu, 13 Jan 2022 00:49:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256923.441185; Thu, 13 Jan 2022 00: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 1n7oJT-0006vq-Iy; Thu, 13 Jan 2022 00:49:59 +0000
Received: by outflank-mailman (input) for mailman id 256923;
 Thu, 13 Jan 2022 00:49:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4cYr=R5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n7oJR-0006vk-Sv
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 00:49:57 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ba87f453-740a-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 01:49:57 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 1EB86B82013;
 Thu, 13 Jan 2022 00:49:56 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4630AC36AE9;
 Thu, 13 Jan 2022 00:49: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: ba87f453-740a-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1642034994;
	bh=96rD+4vk6v0WrNCiarjAcPL+Wh3bFfpS+x3V84dtkj8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=u3hYqsFvuuxaLfNB2RqKUZ3ohbx60Mahor0BtL6MRu0fOfSQRT+qKdHGxO09CxXnx
	 dcUolnDw/ArplHCMM7jpBBxzAHXVaOdY5nh1C9mQANKV+4IbH4fRB8/i7eyYHSmp8J
	 IJl81P6KGL9CBvcl4UQRUjwjKLC3BUaxvGpFlpQ0euAmBWhrWyN4yas5142qd914ma
	 idc4CRsi5gDZqrlfYkLdCSgErd2FgtsuF0OIbwRI0hVFyPQVditaWelPtw4H9vKdt3
	 f6wn2V1iZRl3INFabqzIeJPuBF3tjwQiNrYzMTfzY04aaViz1b8wemhkYItFcIw6SZ
	 QS8kvZu1D8wfQ==
Date: Wed, 12 Jan 2022 16:49:54 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, julien@xen.org, Bertrand.Marquis@arm.com, 
    Luca Miccio <lucmiccio@gmail.com>, 
    Stefano Stabellini <stefano.stabellini@xilinx.com>, wl@xen.org, 
    anthony.perard@citrix.com, jgross@suse.com
Subject: Re: [XEN PATCH 3/7] tools: add a late_init argument to
 xs_introduce_domain
In-Reply-To: <Ydj4ZFQUBjTWfvyZ@mail-itl>
Message-ID: <alpine.DEB.2.22.394.2201121649150.19362@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop> <20220108004912.3820176-3-sstabellini@kernel.org> <Ydj4ZFQUBjTWfvyZ@mail-itl>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-211871323-1642034995=:19362"

  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-211871323-1642034995=:19362
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Sat, 8 Jan 2022, Marek Marczykowski-Górecki wrote:
> On Fri, Jan 07, 2022 at 04:49:08PM -0800, Stefano Stabellini wrote:
> > From: Luca Miccio <lucmiccio@gmail.com>
> > 
> > Add a late_init argument to xs_introduce_domain to handle dom0less
> > guests whose xenstore interfaces are initialized after boot.
> > 
> > This patch mechanically adds the new parameter; it doesn't change
> > behaviors.
> > 
> > Signed-off-by: Luca Miccio <lucmiccio@gmail.com>
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
> 
> I realize there is not much sense in making the parameter usable in the
> Python API, since it's only useful for xenstored. So, for the Python part:
> 
> Acked-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

Thanks Marek for the quick comeback and for the ack. This patch will get
dropped in the next version of the series.
--8323329-211871323-1642034995=:19362--


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 00:51:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 00:51:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256927.441196 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7oL5-0008F6-2v; Thu, 13 Jan 2022 00:51:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256927.441196; Thu, 13 Jan 2022 00:51:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7oL4-0008Ez-Ub; Thu, 13 Jan 2022 00:51:38 +0000
Received: by outflank-mailman (input) for mailman id 256927;
 Thu, 13 Jan 2022 00:51:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4cYr=R5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n7oL3-0008Et-NL
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 00:51:37 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f57fd495-740a-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 01:51:36 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 74E2261B29;
 Thu, 13 Jan 2022 00:51:35 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 89534C36AE5;
 Thu, 13 Jan 2022 00: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: f57fd495-740a-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1642035094;
	bh=1f0qG7gUbl43fQQLnMjB1yjy+M9CjIjFf1mfKEBmfho=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=PInrcdraAL57kWK/fckdFlJhSwioOPJLb/10f2n/aZ/zTdE5+5NvABSesAJYvNPv7
	 5peW2J/MfYT4Lq3iAuObGH33nFY9Aj+m2vudqTBhwr/lKuhddAKHpieEU2vHtchuiE
	 yXV9YGbwQx7WEt3cmRtlSb4S6JJyvkeEbYoYOCmYtwZqucYK+KGk+M5hFtVeQwtSQK
	 jellUYxwRm2IYxCiUg+bhGRYtVYvEARJybfNKoyL846v36sMQ4QmhvJB/TLpn9XtcG
	 j7iOFoe3jCHTJ2LuCyHc6SD5W5Sx70EcTAkbrgn3AV32IEt9qsgDysHejHY4ymJJgj
	 1d+xAYyY6fDPg==
Date: Wed, 12 Jan 2022 16:51:33 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, julien@xen.org, Bertrand.Marquis@arm.com, 
    Luca Miccio <lucmiccio@gmail.com>, 
    Stefano Stabellini <stefano.stabellini@xilinx.com>, wl@xen.org, 
    Anthony PERARD <anthony.perard@citrix.com>, 
    Juergen Gross <jgross@suse.com>
Subject: Re: [XEN PATCH 6/7] xenstored: do_introduce: handle the late_init
 case
In-Reply-To: <Ydj5WW6bBp6hMTOL@mail-itl>
Message-ID: <alpine.DEB.2.22.394.2201121650000.19362@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201071614090.2060010@ubuntu-linux-20-04-desktop> <20220108004912.3820176-6-sstabellini@kernel.org> <Ydj5WW6bBp6hMTOL@mail-itl>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1676405939-1642035095=:19362"

  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-1676405939-1642035095=:19362
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Sat, 8 Jan 2022, Marek Marczykowski-Górecki wrote:
> On Fri, Jan 07, 2022 at 04:49:11PM -0800, Stefano Stabellini wrote:
> > From: Luca Miccio <lucmiccio@gmail.com>
> > 
> > If the function is called with late_init set then also notify the domain
> > using the xenstore event channel.
> > 
> > Signed-off-by: Luca Miccio <lucmiccio@gmail.com>
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
> > CC: wl@xen.org
> > CC: Anthony PERARD <anthony.perard@citrix.com>
> > CC: Juergen Gross <jgross@suse.com>
> > CC: julien@xen.org
> > ---
> >  tools/xenstore/xenstored_domain.c | 15 ++++++++++-----
> 
> Isn't the same necessary in oxenstored too? Otherwise, I think it needs
> some explicit documentation, that late PV with dom0less requires
> cxenstored.

You have a point here, thanks for the heads up. Given my lack of OCaml
skills, I'll re-submit without the oxenstored part. Once we are settled
on the cxenstored changes, I'll attempt to change oxenstored too.
--8323329-1676405939-1642035095=:19362--


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 00:58:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 00:58:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256933.441206 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7oRw-0000Zz-Qg; Thu, 13 Jan 2022 00:58:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256933.441206; Thu, 13 Jan 2022 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 1n7oRw-0000Zs-Ni; Thu, 13 Jan 2022 00:58:44 +0000
Received: by outflank-mailman (input) for mailman id 256933;
 Thu, 13 Jan 2022 00:58:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4cYr=R5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n7oRv-0000Zm-EG
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 00:58:43 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f337760e-740b-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 01:58:42 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 25F1361BBB;
 Thu, 13 Jan 2022 00:58:41 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 50C13C36AE5;
 Thu, 13 Jan 2022 00:58:40 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f337760e-740b-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1642035520;
	bh=1ZCAhpODL55VJsMiysZzfYn5rGmKuOXtY1UAh4b+QEc=;
	h=Date:From:To:cc:Subject:From;
	b=Pn9eEIKO+RNrInRl9FGm/6fk63PpKj7IbYbvPSUJ7lM60YG6gvf3OpBd7U3zomIC/
	 FyRBh3forWJY5dcU/2HotuvCdxYDDEqrp/IaSG2GLBcoWXzrO/I+RCbdw1T00npQYV
	 Dj/pHhVb2O+Ac8Px1tnwc8nTh+eOV4T7grjkOgw/UljIN/d4ZslL5W3Nj/86GT6Qpy
	 xpKcNsXqEr7COTqLXWF+Knm4Rq4+l7muOwZZoG0xZh86wU6CO144WhlIcU9yCCWJ43
	 ekBSIjBxEQwS3c7voQgjWqd6kh3Ozlfj3us9l4+Soe74pDXTavcl46IOTdKzAhh7GJ
	 s4nAdx8/tvN3w==
Date: Wed, 12 Jan 2022 16:58:40 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: xen-devel@lists.xenproject.org
cc: sstabellini@kernel.org, jgross@suse.com, Bertrand.Marquis@arm.com, 
    julien@xen.org, Volodymyr_Babchuk@epam.com
Subject: [XEN PATCH v2 0/5] dom0less PV drivers
Message-ID: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Hi all,

Currently dom0less guests cannot use PV drivers because they don't have
access to xenstore. Also, the hypervisor node in device tree is missing
so they don't detect that they are running on Xen (thus, they don't try
to enable PV interfaces.)

This patch series enables dom0less guests (on ARM) to use PV drivers.

Instead of initializing xenstore immediately at boot, dom0less guests
get access to xenstore later. They delay the initialization until they
receive a notification via the xenstore event channel (which is
available at boot.)

An example workflow is as follows:
- all domains start in parallel, dom0less guests are immediately running
- when dom0 is up and running, the init-dom0less application is called
- dom0less guests receive the notification and initialize xenstore
- now xl network-attach/disk-attach works as expected for dom0less domUs

The patch series introduces a new dom0less device tree option
"xen,enhanced" (in the Xen device tree) to specify whether PV interfaces
should be enabled/disabled for the dom0less guest.

Cheers,

Stefano


Luca Miccio (3):
      xen/arm: configure dom0less domain for enabling xenstore after boot
      xenstored: send an evtchn notification on introduce_domain
      tools: add example application to initialize dom0less PV drivers

Stefano Stabellini (2):
      xen: introduce xen,enhanced dom0less property
      xen: export get_free_port

 docs/misc/arm/device-tree/booting.txt |  18 +++
 tools/helpers/Makefile                |  13 ++
 tools/helpers/init-dom0less.c         | 266 ++++++++++++++++++++++++++++++++++
 tools/xenstore/xenstored_domain.c     |   3 +
 xen/arch/arm/domain_build.c           |  51 +++++++
 xen/arch/arm/include/asm/kernel.h     |   3 +
 xen/common/event_channel.c            |   2 +-
 xen/include/xen/event.h               |   3 +
 8 files changed, 358 insertions(+), 1 deletion(-)
 create mode 100644 tools/helpers/init-dom0less.c


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 00:59:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 00:59:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256934.441218 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7oSD-00010P-5p; Thu, 13 Jan 2022 00:59:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256934.441218; Thu, 13 Jan 2022 00:59:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7oSD-00010E-04; Thu, 13 Jan 2022 00:59:01 +0000
Received: by outflank-mailman (input) for mailman id 256934;
 Thu, 13 Jan 2022 00:59:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4cYr=R5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n7oSC-0000Zm-3C
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 00:59:00 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fd58511d-740b-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 01:58:59 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 3343161BC8;
 Thu, 13 Jan 2022 00:58:58 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 31BF1C36AED;
 Thu, 13 Jan 2022 00:58: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: fd58511d-740b-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1642035537;
	bh=I7Qzw936fQaVQlipdIlxqTlxpstcgdZHzCA+avueHiY=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=FEYW2DJyBr5XxJTcrRIxaXLVJhXy12zhMQwI3GZFVjrZIjbboNUw5UcONuENn6wki
	 Cz8uV0n66gslF6z/4UHdgTlXYzmHYEJogxc2XzLcsMi3yE0TJO44pIFka5ggDNmhch
	 sfdIKmnYOgEJwDn8F8jvwyjA/vpHxRjp8y4nPgm/xMJ5fztnq7uWaV4Un/GHsico8x
	 fJP9wL9Nwv7ykhD5IiFuT9NAPCCW1Vk2MmKKtX+7Tj92lSFODbaZSLx8SXJLacHh4T
	 Vw5pl0C0kw5BQGw5ZRqpSsJlhwXHDJIBTcL0mjV4KV9DVgBUK0Aas0zn3VFD0c6fmo
	 BdTCmi36cOB6g==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	jgross@suse.com,
	Bertrand.Marquis@arm.com,
	julien@xen.org,
	Volodymyr_Babchuk@epam.com,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [XEN PATCH v2 2/5] xen: export get_free_port
Date: Wed, 12 Jan 2022 16:58:52 -0800
Message-Id: <20220113005855.1180101-2-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

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

get_free_port will soon be used to allocate the xenstore event channel
for dom0less domains.

Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/common/event_channel.c | 2 +-
 xen/include/xen/event.h    | 3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
index da88ad141a..5b0bcaaad4 100644
--- a/xen/common/event_channel.c
+++ b/xen/common/event_channel.c
@@ -232,7 +232,7 @@ int evtchn_allocate_port(struct domain *d, evtchn_port_t port)
     return 0;
 }
 
-static int get_free_port(struct domain *d)
+int get_free_port(struct domain *d)
 {
     int            port;
 
diff --git a/xen/include/xen/event.h b/xen/include/xen/event.h
index 21c95e14fd..0b35d9d4d2 100644
--- a/xen/include/xen/event.h
+++ b/xen/include/xen/event.h
@@ -71,6 +71,9 @@ void evtchn_free(struct domain *d, struct evtchn *chn);
 /* Allocate a specific event channel port. */
 int evtchn_allocate_port(struct domain *d, unsigned int port);
 
+/* Get fix free event channel port */
+int get_free_port(struct domain *d);
+
 /* Unmask a local event-channel port. */
 int evtchn_unmask(unsigned int port);
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Jan 13 00:59:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 00:59:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256935.441229 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7oSE-0001Gn-C5; Thu, 13 Jan 2022 00:59:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256935.441229; Thu, 13 Jan 2022 00: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 1n7oSE-0001Gb-87; Thu, 13 Jan 2022 00:59:02 +0000
Received: by outflank-mailman (input) for mailman id 256935;
 Thu, 13 Jan 2022 00:59:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4cYr=R5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n7oSC-0000yd-SI
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 00:59:00 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fd7ffc1e-740b-11ec-bd6f-bfb69f65cdc7;
 Thu, 13 Jan 2022 01:58:59 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 37171B82013;
 Thu, 13 Jan 2022 00:58:58 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id ADD42C36AE9;
 Thu, 13 Jan 2022 00:58:56 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fd7ffc1e-740b-11ec-bd6f-bfb69f65cdc7
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1642035537;
	bh=sZFmedX5/wiNDC+oEIvQz6ME9nvU8F4fvaLjZQa8j68=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=LEP34n4m3IODU9NwNk+AMi9EnvYMktVOs+LH8vx7x9XGUX8mQhdN4GsNUPP2+Ek8g
	 h0X/G+FOgoSdAe/tQL9f75gKBE6GMmHOgzRpnIPCy/A2a9SVZf4HmvQVlek77w8UcD
	 NTLFSaxhcaErvw7APZOOLjMI5SNPquYuoTh1SYSXQQcE+5kLN7d4vdVATbWFFgEuZj
	 7yBgniaXu1EC/b4YGN4AxzxZ6YNBp5zWxv6xezoVbGixXwfpZUTdSS3TLpB/IClbtu
	 H1ZMSSsLthvJxAakkjiDD40hFWDfjSXM8Azes/yzR+C0nKJrt2Nq25jb4i4YpQxZGh
	 3tpAXnnrHGOZw==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	jgross@suse.com,
	Bertrand.Marquis@arm.com,
	julien@xen.org,
	Volodymyr_Babchuk@epam.com,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>
Subject: [XEN PATCH v2 1/5] xen: introduce xen,enhanced dom0less property
Date: Wed, 12 Jan 2022 16:58:51 -0800
Message-Id: <20220113005855.1180101-1-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

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

Introduce a new "xen,enhanced" dom0less property to enable/disable PV
driver interfaces for dom0less guests. Currently only "enabled" and
"disabled" are supported property values (and empty). Leave the option
open to implement further possible values in the future (e.g.
"xenstore" to enable only xenstore.)

This patch only parses the property. Next patches will make use of it.

Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v2:
- rename kinfo.enhanced to kinfo.dom0less_enhanced
- set kinfo.dom0less_enhanced to true for dom0
- handle -ENODATA in addition to -EILSEQ
---
 docs/misc/arm/device-tree/booting.txt | 18 ++++++++++++++++++
 xen/arch/arm/domain_build.c           |  8 ++++++++
 xen/arch/arm/include/asm/kernel.h     |  3 +++
 3 files changed, 29 insertions(+)

diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
index 71895663a4..38c29fb3d8 100644
--- a/docs/misc/arm/device-tree/booting.txt
+++ b/docs/misc/arm/device-tree/booting.txt
@@ -169,6 +169,24 @@ with the following properties:
     Please note that the SPI used for the virtual pl011 could clash with the
     physical SPI of a physical device assigned to the guest.
 
+- xen,enhanced
+
+    A string property. Possible property values are:
+
+    - "enabled" (or missing property value)
+    Xen PV interfaces, including grant-table and xenstore, will be
+    enabled for the VM.
+
+    - "disabled"
+    Xen PV interfaces are disabled.
+
+    If the xen,enhanced property is present with no value, it defaults
+    to "enabled". If the xen,enhanced property is not present, PV
+    interfaces are disabled.
+
+    In the future other possible property values might be added to
+    enable only selected interfaces.
+
 - nr_spis
 
     Optional. A 32-bit integer specifying the number of SPIs (Shared
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 6931c022a2..9144d6c0b6 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2963,6 +2963,7 @@ static int __init construct_domU(struct domain *d,
                                  const struct dt_device_node *node)
 {
     struct kernel_info kinfo = {};
+    const char *dom0less_enhanced;
     int rc;
     u64 mem;
 
@@ -2978,6 +2979,12 @@ static int __init construct_domU(struct domain *d,
 
     kinfo.vpl011 = dt_property_read_bool(node, "vpl011");
 
+    rc = dt_property_read_string(node, "xen,enhanced", &dom0less_enhanced);
+    if ( rc == -EILSEQ ||
+         rc == -ENODATA ||
+         (rc == 0 && !strcmp(dom0less_enhanced, "enabled")) )
+        kinfo.dom0less_enhanced = true;
+
     if ( vcpu_create(d, 0) == NULL )
         return -ENOMEM;
 
@@ -3095,6 +3102,7 @@ static int __init construct_dom0(struct domain *d)
 
     kinfo.unassigned_mem = dom0_mem;
     kinfo.d = d;
+    kinfo.dom0less_enhanced = true;
 
     rc = kernel_probe(&kinfo, NULL);
     if ( rc < 0 )
diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
index 874aa108a7..c4dc039b54 100644
--- a/xen/arch/arm/include/asm/kernel.h
+++ b/xen/arch/arm/include/asm/kernel.h
@@ -36,6 +36,9 @@ struct kernel_info {
     /* Enable pl011 emulation */
     bool vpl011;
 
+    /* Enable PV drivers */
+    bool dom0less_enhanced;
+
     /* GIC phandle */
     uint32_t phandle_gic;
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Jan 13 00:59:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 00:59:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256936.441235 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7oSE-0001Lm-PO; Thu, 13 Jan 2022 00:59:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256936.441235; Thu, 13 Jan 2022 00: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 1n7oSE-0001Jl-IZ; Thu, 13 Jan 2022 00:59:02 +0000
Received: by outflank-mailman (input) for mailman id 256936;
 Thu, 13 Jan 2022 00:59:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4cYr=R5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n7oSD-0000Zm-3C
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 00:59:01 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fdb55d7c-740b-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 01:58:59 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id C784961BD1;
 Thu, 13 Jan 2022 00:58:58 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 54EABC36AF2;
 Thu, 13 Jan 2022 00:58: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: fdb55d7c-740b-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1642035538;
	bh=fAM5YKlaoqXNElpxV8cs5t9a0K94TnXBpqeWzHX/YLs=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=MrtQLDgTxeYWiHqJ+w1RK29ndLFljUIZHfVsMXu5qIrpLhozntotpH0aLP7PCT3EK
	 fOrbC3BoP9dow/a6fUEojg5yNpk+XQFoKu8lVQuCNXEZoa0S9H+gANZ81tjwEuXXmg
	 45m+83bvEJb3qilWZ47C1O/NqB8lGJuQFLcGhdtUmSnjlQ3+FwrhQ4fGCoeKJPdNe7
	 q3+frVU1C/jjPhv63JEWAnvkPZS4X0qqkyQLkuzlkdtK3H3/tkRqH0X7kCY2ba2Vmk
	 kf05bfkOHFtyghID0DvFP2xQNYKvI90bwdgJB17IeCPYD2gI4Fmb6RbuMvsc1Tvk1c
	 iz0Bm65PE6bmA==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	jgross@suse.com,
	Bertrand.Marquis@arm.com,
	julien@xen.org,
	Volodymyr_Babchuk@epam.com,
	Luca Miccio <lucmiccio@gmail.com>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>
Subject: [XEN PATCH v2 4/5] xenstored: send an evtchn notification on introduce_domain
Date: Wed, 12 Jan 2022 16:58:54 -0800
Message-Id: <20220113005855.1180101-4-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Luca Miccio <lucmiccio@gmail.com>

When xs_introduce_domain is called, send out a notification on the
xenstore event channel so that any (dom0less) domain waiting for the
xenstore interface to be ready can continue with the initialization.

The extra notification is harmless for domains that don't require it.

Signed-off-by: Luca Miccio <lucmiccio@gmail.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
---
Changes in v2:
- drop the new late_init parameter
---
 tools/xenstore/xenstored_domain.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index d03c7d93a9..7487129e47 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -461,6 +461,9 @@ static struct domain *introduce_domain(const void *ctx,
 		/* Now domain belongs to its connection. */
 		talloc_steal(domain->conn, domain);
 
+		/* Notify the domain that xenstore is available */
+		xenevtchn_notify(xce_handle, domain->port);
+
 		if (!is_master_domain && !restore)
 			fire_watches(NULL, ctx, "@introduceDomain", NULL,
 				     false, NULL);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Jan 13 00:59:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 00:59:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256937.441251 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7oSG-0001nq-5C; Thu, 13 Jan 2022 00:59:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256937.441251; Thu, 13 Jan 2022 00: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 1n7oSF-0001ms-VJ; Thu, 13 Jan 2022 00:59:03 +0000
Received: by outflank-mailman (input) for mailman id 256937;
 Thu, 13 Jan 2022 00:59:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4cYr=R5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n7oSE-0000Zm-3P
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 00:59:02 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fe1f07cd-740b-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 01:59:00 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 78DB5B82186;
 Thu, 13 Jan 2022 00:58:59 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C2990C36AEC;
 Thu, 13 Jan 2022 00:58: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: fe1f07cd-740b-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1642035538;
	bh=aVeTdpqg6xfKSe5v6f9xUurkpCgdvHnT4ByypG+sUSI=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=iCnZc93432xJkVkk1QlGX9v1Tk0FKOmxsIC5dP4w1dcjPN9vsGaKusnNw881CETLl
	 xI97hL7JC8nW5VEDH2kLapMSFZ8VwPoFoN0cOFLBrgfEnbZJgqOlcVabCidNNnJ4BU
	 S3VC3swZ0pJJVUhs5Flw/qTCKZ7Z7WB+QPN1Rqo/+sj1Gtu3y+XW7Nvp0hQKV15+ZM
	 zCq3+vd7pdopJXXOEpXufzNVtLUCNm5UPK0l7fQ+B5yn4DL0CP6E+rRdQYHNDDar8P
	 tzfTr7n0Nt8NAjrA5yCA07/s5WDc+MtpSYKk4OKNWv4Qz2eHhqC9n+3x/J6XovgfxY
	 dBSA9OtWdBE6A==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	jgross@suse.com,
	Bertrand.Marquis@arm.com,
	julien@xen.org,
	Volodymyr_Babchuk@epam.com,
	Luca Miccio <lucmiccio@gmail.com>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>
Subject: [XEN PATCH v2 3/5] xen/arm: configure dom0less domain for enabling xenstore after boot
Date: Wed, 12 Jan 2022 16:58:53 -0800
Message-Id: <20220113005855.1180101-3-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Luca Miccio <lucmiccio@gmail.com>

If "xen,enhanced" is enabled, then add to dom0less domains:

- the hypervisor node in device tree
- the xenstore event channel

The xenstore event channel is also used for the first notification to
let the guest know that xenstore has become available.

Signed-off-by: Luca Miccio <lucmiccio@gmail.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>

---
Changes in v2:
- set HVM_PARAM_STORE_PFN to ~0ULL at domain creation
- in alloc_xenstore_evtchn do not call _evtchn_alloc_unbound
---
 xen/arch/arm/domain_build.c | 43 +++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 9144d6c0b6..251d933c8e 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -27,6 +27,7 @@
 #include <asm/setup.h>
 #include <asm/cpufeature.h>
 #include <asm/domain_build.h>
+#include <xen/event.h>
 
 #include <xen/irq.h>
 #include <xen/grant_table.h>
@@ -2619,6 +2620,8 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
     int ret;
 
     kinfo->phandle_gic = GUEST_PHANDLE_GIC;
+    kinfo->gnttab_start = GUEST_GNTTAB_BASE;
+    kinfo->gnttab_size = GUEST_GNTTAB_SIZE;
 
     addrcells = GUEST_ROOT_ADDRESS_CELLS;
     sizecells = GUEST_ROOT_SIZE_CELLS;
@@ -2693,6 +2696,13 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
             goto err;
     }
 
+    if ( kinfo->dom0less_enhanced )
+    {
+        ret = make_hypervisor_node(d, kinfo, addrcells, sizecells);
+        if ( ret )
+            goto err;
+    }
+
     ret = fdt_end_node(kinfo->fdt);
     if ( ret < 0 )
         goto err;
@@ -2959,6 +2969,27 @@ static int __init construct_domain(struct domain *d, struct kernel_info *kinfo)
     return 0;
 }
 
+static int __init alloc_xenstore_evtchn(struct domain *d)
+{
+    struct evtchn *chn;
+    int port;
+
+    if ( (port = get_free_port(d)) < 0 )
+    {
+        printk("Failed allocating event channel for domain\n");
+        return port;
+    }
+    chn = evtchn_from_port(d, port);
+
+    chn->state = ECS_UNBOUND;
+    chn->u.unbound.remote_domid = hardware_domain->domain_id;
+    evtchn_port_init(d, chn);
+
+    d->arch.hvm.params[HVM_PARAM_STORE_EVTCHN] = chn->port;
+
+    return 0;
+}
+
 static int __init construct_domU(struct domain *d,
                                  const struct dt_device_node *node)
 {
@@ -3014,7 +3045,19 @@ static int __init construct_domU(struct domain *d,
         return rc;
 
     if ( kinfo.vpl011 )
+    {
         rc = domain_vpl011_init(d, NULL);
+        if ( rc < 0 )
+            return rc;
+    }
+
+    if ( kinfo.dom0less_enhanced )
+    {
+        rc = alloc_xenstore_evtchn(d);
+        if ( rc < 0 )
+            return rc;
+        d->arch.hvm.params[HVM_PARAM_STORE_PFN] = ~0ULL;
+    }
 
     return rc;
 }
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Jan 13 00:59:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 00:59:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256938.441256 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7oSG-0001va-PM; Thu, 13 Jan 2022 00:59:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256938.441256; Thu, 13 Jan 2022 00: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 1n7oSG-0001tr-Gu; Thu, 13 Jan 2022 00:59:04 +0000
Received: by outflank-mailman (input) for mailman id 256938;
 Thu, 13 Jan 2022 00:59:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4cYr=R5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n7oSF-0000Zm-3a
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 00:59:03 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fe15ab36-740b-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 01:59:00 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 65B7E61BCE;
 Thu, 13 Jan 2022 00:58:59 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C30FEC36AEF;
 Thu, 13 Jan 2022 00:58: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: fe15ab36-740b-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1642035539;
	bh=dADcioPsMIPHCpayS/ngysHV69Vh+MWvBjX9BH62O10=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=UZYi4I9unq2FR5kjz3P/SN+wQjUs/AvVVYScN30W5cGiHK44A7mM62MquhM2RbAra
	 EtJgqsbfKRP0g+roQ80jFvPDkxsW0Hg6eEH9rHNWTGT91pblFUIDCgikts4E2HNYUq
	 FGccNmgGgUa9hTaxZs6LdXkSnPGuJUo781K/bsoiu/sa3A3g7SSI0Rgf7vJxktt9v9
	 pYXSMEm1rSzmKqlepwDmgKSGaU+X98x1VED/+kGeiJhjxqQIWKRpYiv0EA5GgGdCd6
	 7XvgREGrxo//g2YyombMUC5BVdgYXusGXIS1uFZpQGcoWSWTyuIzE6sM1DQB52W2kp
	 BS2jxmsinhlXA==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	jgross@suse.com,
	Bertrand.Marquis@arm.com,
	julien@xen.org,
	Volodymyr_Babchuk@epam.com,
	Luca Miccio <lucmiccio@gmail.com>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [XEN PATCH v2 5/5] tools: add example application to initialize dom0less PV drivers
Date: Wed, 12 Jan 2022 16:58:55 -0800
Message-Id: <20220113005855.1180101-5-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Luca Miccio <lucmiccio@gmail.com>

Add an example application that can be run in dom0 to complete the
dom0less domains initialization so that they can get access to xenstore
and use PV drivers.

Signed-off-by: Luca Miccio <lucmiccio@gmail.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
CC: Wei Liu <wl@xen.org>
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Juergen Gross <jgross@suse.com>
---
Changes in v2:
- do not set HVM_PARAM_STORE_EVTCHN twice
- rename restore_xenstore to create_xenstore
- increase maxmem
---
 tools/helpers/Makefile        |  13 ++
 tools/helpers/init-dom0less.c | 266 ++++++++++++++++++++++++++++++++++
 2 files changed, 279 insertions(+)
 create mode 100644 tools/helpers/init-dom0less.c

diff --git a/tools/helpers/Makefile b/tools/helpers/Makefile
index 7f6c422440..8e42997052 100644
--- a/tools/helpers/Makefile
+++ b/tools/helpers/Makefile
@@ -10,6 +10,9 @@ ifeq ($(CONFIG_Linux),y)
 ifeq ($(CONFIG_X86),y)
 PROGS += init-xenstore-domain
 endif
+ifeq ($(CONFIG_ARM),y)
+PROGS += init-dom0less
+endif
 endif
 
 XEN_INIT_DOM0_OBJS = xen-init-dom0.o init-dom-json.o
@@ -26,6 +29,13 @@ $(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS += $(CFLAGS_libxenstore)
 $(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS += $(CFLAGS_libxenlight)
 $(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS += -include $(XEN_ROOT)/tools/config.h
 
+INIT_DOM0LESS_OBJS = init-dom0less.o init-dom-json.o
+$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxentoollog)
+$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenstore)
+$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenlight)
+$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenctrl)
+$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenevtchn)
+
 .PHONY: all
 all: $(PROGS)
 
@@ -35,6 +45,9 @@ xen-init-dom0: $(XEN_INIT_DOM0_OBJS)
 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)
 
+init-dom0less: $(INIT_DOM0LESS_OBJS)
+	$(CC) $(LDFLAGS) -o $@ $(INIT_DOM0LESS_OBJS) $(LDLIBS_libxenctrl) $(LDLIBS_libxenevtchn) $(LDLIBS_libxentoollog) $(LDLIBS_libxenstore) $(LDLIBS_libxenlight) $(LDLIBS_libxenguest)  $(APPEND_LDFLAGS)
+
 .PHONY: install
 install: all
 	$(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
diff --git a/tools/helpers/init-dom0less.c b/tools/helpers/init-dom0less.c
new file mode 100644
index 0000000000..0434ca064f
--- /dev/null
+++ b/tools/helpers/init-dom0less.c
@@ -0,0 +1,266 @@
+#include <stdbool.h>
+#include <syslog.h>
+#include <stdio.h>
+#include <err.h>
+#include <stdlib.h>
+#include <xenstore.h>
+#include <xenctrl.h>
+#include <xenguest.h>
+#include <libxl.h>
+#include <xenevtchn.h>
+
+#include "init-dom-json.h"
+
+#define NR_MAGIC_PAGES 4
+#define CONSOLE_PFN_OFFSET 0
+#define XENSTORE_PFN_OFFSET 1
+#define STR_MAX_LENGTH 64
+
+static int alloc_magic_pages(libxl_dominfo *info, struct xc_dom_image *dom)
+{
+    int rc, i;
+    const xen_pfn_t base = GUEST_MAGIC_BASE >> XC_PAGE_SHIFT;
+    xen_pfn_t p2m[NR_MAGIC_PAGES];
+
+    rc = xc_domain_setmaxmem(dom->xch, dom->guest_domid,
+                             info->max_memkb + NR_MAGIC_PAGES * 4);
+    if (rc < 0)
+        return rc;
+
+    for (i = 0; i < NR_MAGIC_PAGES; i++)
+        p2m[i] = base + i;
+
+    rc = xc_domain_populate_physmap_exact(dom->xch, dom->guest_domid,
+                                          NR_MAGIC_PAGES, 0, 0, p2m);
+    if (rc < 0)
+        return rc;
+
+    dom->xenstore_pfn = base + XENSTORE_PFN_OFFSET;
+
+    xc_clear_domain_page(dom->xch, dom->guest_domid, dom->xenstore_pfn);
+
+    xc_hvm_param_set(dom->xch, dom->guest_domid, HVM_PARAM_STORE_PFN,
+                     dom->xenstore_pfn);
+    return 0;
+}
+
+static void do_xs_write(struct xs_handle *xsh, xs_transaction_t t,
+                        char *path, char *val)
+{
+    if (!xs_write(xsh, t, path, val, strlen(val)))
+        fprintf(stderr, "writing %s to xenstore failed.\n", path);
+}
+
+static void do_xs_write_dom(struct xs_handle *xsh, xs_transaction_t t,
+                            domid_t domid, char *path, char *val)
+{
+    char full_path[STR_MAX_LENGTH];
+
+    snprintf(full_path, STR_MAX_LENGTH,
+             "/local/domain/%d/%s", domid, path);
+    do_xs_write(xsh, t, full_path, val);
+}
+
+static void do_xs_write_libxl(struct xs_handle *xsh, xs_transaction_t t,
+                              domid_t domid, char *path, char *val)
+{
+    char full_path[STR_MAX_LENGTH];
+
+    snprintf(full_path, STR_MAX_LENGTH,
+             "/libxl/%d/%s", domid, path);
+    do_xs_write(xsh, t, full_path, val);
+}
+
+static void do_xs_write_vm(struct xs_handle *xsh, xs_transaction_t t,
+                           libxl_uuid uuid, char *path, char *val)
+{
+    char full_path[STR_MAX_LENGTH];
+
+    snprintf(full_path, STR_MAX_LENGTH,
+             "/vm/" LIBXL_UUID_FMT "/%s", LIBXL_UUID_BYTES(uuid), path);
+    do_xs_write(xsh, t, full_path, val);
+}
+
+static int restore_xenstore(struct xs_handle *xsh,
+                            libxl_dominfo *info, libxl_uuid uuid,
+                            evtchn_port_t xenstore_port)
+{
+    domid_t domid;
+    int i;
+    char uuid_str[STR_MAX_LENGTH];
+    char dom_name_str[STR_MAX_LENGTH];
+    char vm_val_str[STR_MAX_LENGTH];
+    char id_str[STR_MAX_LENGTH];
+    char max_memkb_str[STR_MAX_LENGTH];
+    char cpu_str[STR_MAX_LENGTH];
+    char xenstore_port_str[STR_MAX_LENGTH];
+    char ring_ref_str[STR_MAX_LENGTH];
+    xs_transaction_t t;
+
+    domid = info->domid;
+    snprintf(id_str, STR_MAX_LENGTH, "%d", domid);
+    snprintf(dom_name_str, STR_MAX_LENGTH, "dom0less-%d", domid);
+    snprintf(uuid_str, STR_MAX_LENGTH, LIBXL_UUID_FMT, LIBXL_UUID_BYTES(uuid));
+    snprintf(vm_val_str, STR_MAX_LENGTH,
+             "vm/" LIBXL_UUID_FMT, LIBXL_UUID_BYTES(uuid));
+    snprintf(max_memkb_str, STR_MAX_LENGTH, "%lu", info->max_memkb);
+    snprintf(ring_ref_str, STR_MAX_LENGTH, "%lld",
+             (GUEST_MAGIC_BASE >> XC_PAGE_SHIFT) + XENSTORE_PFN_OFFSET);
+    snprintf(xenstore_port_str, STR_MAX_LENGTH, "%d", xenstore_port);
+
+retry_transaction:
+    t = xs_transaction_start(xsh);
+    if (t == XBT_NULL)
+        return errno;
+
+    /* /vm */
+    do_xs_write_vm(xsh, t, uuid, "name", dom_name_str);
+    do_xs_write_vm(xsh, t, uuid, "uuid", uuid_str);
+    do_xs_write_vm(xsh, t, uuid, "start_time", "0");
+
+    /* /domain */
+    do_xs_write_dom(xsh, t, domid, "vm", vm_val_str);
+    do_xs_write_dom(xsh, t, domid, "name", dom_name_str);
+    do_xs_write_dom(xsh, t, domid, "cpu", "");
+    for (i = 0; i < info->vcpu_max_id; i++) {
+        snprintf(cpu_str, STR_MAX_LENGTH, "cpu/%d/availability/", i);
+        do_xs_write_dom(xsh, t, domid, cpu_str,
+                        (info->cpupool & (1 << i)) ? "online" : "offline");
+    }
+    do_xs_write_dom(xsh, t, domid, "cpu/0", "");
+    do_xs_write_dom(xsh, t, domid, "cpu/availability", "online");
+
+    do_xs_write_dom(xsh, t, domid, "memory", "");
+    do_xs_write_dom(xsh, t, domid, "memory/static-max", max_memkb_str);
+    do_xs_write_dom(xsh, t, domid, "memory/videoram", "-1");
+
+    do_xs_write_dom(xsh, t, domid, "device", "");
+    do_xs_write_dom(xsh, t, domid, "device/suspend", "");
+    do_xs_write_dom(xsh, t, domid, "device/suspend/event-channel", "");
+
+    do_xs_write_dom(xsh, t, domid, "control", "");
+    do_xs_write_dom(xsh, t, domid, "control/shutdown", "");
+    do_xs_write_dom(xsh, t, domid, "control/feature-poweroff", "1");
+    do_xs_write_dom(xsh, t, domid, "control/feature-reboot", "1");
+    do_xs_write_dom(xsh, t, domid, "control/feature-suspend", "");
+    do_xs_write_dom(xsh, t, domid, "control/sysrq", "");
+    do_xs_write_dom(xsh, t, domid, "control/platform-feature-multiprocessor-suspend", "1");
+    do_xs_write_dom(xsh, t, domid, "control", "platform-feature-xs_reset_watches");
+
+    do_xs_write_dom(xsh, t, domid, "domid", id_str);
+    do_xs_write_dom(xsh, t, domid, "data", "");
+    do_xs_write_dom(xsh, t, domid, "drivers", "");
+    do_xs_write_dom(xsh, t, domid, "feature", "");
+    do_xs_write_dom(xsh, t, domid, "attr", "");
+
+    do_xs_write_dom(xsh, t, domid, "store/port", xenstore_port_str);
+    do_xs_write_dom(xsh, t, domid, "store/ring-ref", ring_ref_str);
+
+    do_xs_write_libxl(xsh, t, domid, "type", "pvh");
+    do_xs_write_libxl(xsh, t, domid, "dm-version", "qemu_xen");
+
+    if (!xs_transaction_end(xsh, t, false))
+        if (errno == EAGAIN)
+            goto retry_transaction;
+
+    return 0;
+}
+
+static int init_domain(struct xs_handle *xsh, libxl_dominfo *info)
+{
+    struct xc_dom_image dom;
+    libxl_uuid uuid;
+    uint64_t v;
+    int rc;
+
+    printf("#### Init dom0less domain: %d ####\n", info->domid);
+    dom.guest_domid = info->domid;
+    dom.xenstore_domid = 0;
+    dom.xch = xc_interface_open(0, 0, 0);
+
+    rc = xc_hvm_param_get(dom.xch, info->domid, HVM_PARAM_STORE_EVTCHN, &v);
+    if (rc != 0) {
+        printf("Failed to get HVM_PARAM_STORE_EVTCHN\n");
+        return 1;
+    }
+    dom.xenstore_evtchn = v;
+
+    /* Console won't be initialized but set its data for completeness */
+    dom.console_domid = 0;
+
+    /* Alloc magic pages */
+    printf("Allocating magic pages\n");
+    if (alloc_magic_pages(info, &dom) != 0) {
+        printf("Error on alloc magic pages\n");
+        return 1;
+    }
+
+    printf("Setup Grant Tables\n");
+    xc_dom_gnttab_init(&dom);
+
+    printf("Setup UUID\n");
+    libxl_uuid_generate(&uuid);
+    xc_domain_sethandle(dom.xch, info->domid, libxl_uuid_bytearray(&uuid));
+
+    printf("Creating JSON\n");
+    rc = gen_stub_json_config(info->domid, &uuid);
+    if (rc)
+        err(1, "gen_stub_json_config");
+
+    printf("Restoring Xenstore values\n");
+    restore_xenstore(xsh, info, uuid, dom.xenstore_evtchn);
+
+    printf("Introducing domain\n");
+    xs_introduce_domain(xsh, info->domid,
+            (GUEST_MAGIC_BASE >> XC_PAGE_SHIFT) + XENSTORE_PFN_OFFSET,
+            dom.xenstore_evtchn);
+    return 0;
+}
+
+/* Check if domain has been configured in XS */
+static bool domain_exists(struct xs_handle *xsh, int domid)
+{
+    return xs_is_domain_introduced(xsh, domid);
+}
+
+int main(int argc, char **argv)
+{
+    libxl_dominfo *info;
+    libxl_ctx *ctx;
+    int nb_vm, i;
+    struct xs_handle *xsh;
+
+    xsh = xs_daemon_open();
+    if (xsh == NULL) {
+        fprintf(stderr, "Could not contact XenStore");
+        exit(1);
+    }
+
+    if (libxl_ctx_alloc(&ctx, LIBXL_VERSION, 0, NULL)) {
+        fprintf(stderr, "cannot init xl context\n");
+        exit(1);
+    }
+
+    info = libxl_list_domain(ctx, &nb_vm);
+    if (!info) {
+        fprintf(stderr, "libxl_list_vm failed.\n");
+        exit(EXIT_FAILURE);
+    }
+
+    for (i = 0; i < nb_vm; i++) {
+        domid_t domid = info[i].domid;
+
+        /* Don't need to check for Dom0 */
+        if (!domid)
+            continue;
+
+        printf("Checking domid: %u\n", domid);
+        if (!domain_exists(xsh, domid))
+            init_domain(xsh, &info[i]);
+        else
+            printf("Domain %d has already been initialized\n", domid);
+    }
+    libxl_dominfo_list_free(info, nb_vm);
+    xs_close(xsh);
+    return 0;
+}
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Jan 13 01:00:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 01:00:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256947.441273 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7oTJ-00079r-2J; Thu, 13 Jan 2022 01:00:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256947.441273; Thu, 13 Jan 2022 01:00:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7oTI-000796-VT; Thu, 13 Jan 2022 01:00:08 +0000
Received: by outflank-mailman (input) for mailman id 256947;
 Thu, 13 Jan 2022 01:00:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4cYr=R5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n7oTH-0006MA-2g
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 01:00:07 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 24ece892-740c-11ec-bd6f-bfb69f65cdc7;
 Thu, 13 Jan 2022 02:00:05 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id AF4B361BCB;
 Thu, 13 Jan 2022 01:00:04 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D2E44C36AE9;
 Thu, 13 Jan 2022 01:00: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: 24ece892-740c-11ec-bd6f-bfb69f65cdc7
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1642035604;
	bh=894PkSIwThzVc3Bij8r5rtzhdxDcpe7P+4k/m0m/WcY=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=Re7m3TDQ+0SxdSa5cbtOYK19kiY3H+rYiFfB/Xq+wslcjYWSlL12lmzTtrKEJ5RMw
	 VUqh5o0pJFNjXXZ/d+hAueor5CygVbEvEfFphvchCTwamz51ABnx6eF04XbkfD30Kv
	 Nmih5bsWNh2DRG9WABOIZUZncxuoQs0uN5mO539drlIFctiYNKikL7BOT9xeeSyFaH
	 5BYyk8yEMSARYsc0/5mjCOleh5aE99MaM5Roeh7jhzWBHS1GzUJVKr2Mt0gbyI4h8b
	 uzIW5PrZyTUMl2kN39x8b3et57e6C8dwlONwO3XXltC3qvstSNhCkZfVTlU2U4NQj9
	 gdqTzlx0i1zLA==
From: Stefano Stabellini <sstabellini@kernel.org>
To: jgross@suse.com
Cc: sstabellini@kernel.org,
	boris.ostrovsky@oracle.com,
	xen-devel@lists.xenproject.org,
	Luca Miccio <lucmiccio@gmail.com>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>
Subject: [LINUX PATCH v2 1/1] xen: add support for initializing xenstore later as HVM domain
Date: Wed, 12 Jan 2022 17:00:02 -0800
Message-Id: <20220113010002.1180463-1-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2201121647460.19362@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201121647460.19362@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Luca Miccio <lucmiccio@gmail.com>

When running as dom0less guest (HVM domain on ARM) the xenstore event
channel is available at domain creation but the shared xenstore
interface page only becomes available later on.

In that case, wait for a notification on the xenstore event channel,
then complete the xenstore initialization later, when the shared page
is actually available.

Signed-off-by: Luca Miccio <lucmiccio@gmail.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
---
Changes in v2:
- remove XENFEAT_xenstore_late_init
---
 drivers/xen/xenbus/xenbus_probe.c | 80 +++++++++++++++++++++++--------
 1 file changed, 61 insertions(+), 19 deletions(-)

diff --git a/drivers/xen/xenbus/xenbus_probe.c b/drivers/xen/xenbus/xenbus_probe.c
index fe360c33ce71..51e52e175892 100644
--- a/drivers/xen/xenbus/xenbus_probe.c
+++ b/drivers/xen/xenbus/xenbus_probe.c
@@ -65,6 +65,7 @@
 #include "xenbus.h"
 
 
+static int xs_init_irq;
 int xen_store_evtchn;
 EXPORT_SYMBOL_GPL(xen_store_evtchn);
 
@@ -750,6 +751,17 @@ static void xenbus_probe(void)
 {
 	xenstored_ready = 1;
 
+	if (!xen_store_interface) {
+		xen_store_interface = xen_remap(xen_store_gfn << XEN_PAGE_SHIFT,
+						XEN_PAGE_SIZE);
+		/*
+		 * Now it is safe to free the IRQ used for xenstore late
+		 * initialization. No need to unbind: it is about to be
+		 * bound again.
+		 */
+		free_irq(xs_init_irq, &xb_waitq);
+	}
+
 	/*
 	 * In the HVM case, xenbus_init() deferred its call to
 	 * xs_init() in case callbacks were not operational yet.
@@ -798,20 +810,22 @@ static int __init xenbus_probe_initcall(void)
 {
 	/*
 	 * Probe XenBus here in the XS_PV case, and also XS_HVM unless we
-	 * need to wait for the platform PCI device to come up.
+	 * need to wait for the platform PCI device to come up or
+	 * xen_store_interface is not ready.
 	 */
 	if (xen_store_domain_type == XS_PV ||
 	    (xen_store_domain_type == XS_HVM &&
-	     !xs_hvm_defer_init_for_callback()))
+	     !xs_hvm_defer_init_for_callback() &&
+	     xen_store_interface != NULL))
 		xenbus_probe();
 
 	/*
-	 * For XS_LOCAL, spawn a thread which will wait for xenstored
-	 * or a xenstore-stubdom to be started, then probe. It will be
-	 * triggered when communication starts happening, by waiting
-	 * on xb_waitq.
+	 * For XS_LOCAL or when xen_store_interface is not ready, spawn a
+	 * thread which will wait for xenstored or a xenstore-stubdom to be
+	 * started, then probe.  It will be triggered when communication
+	 * starts happening, by waiting on xb_waitq.
 	 */
-	if (xen_store_domain_type == XS_LOCAL) {
+	if (xen_store_domain_type == XS_LOCAL || xen_store_interface == NULL) {
 		struct task_struct *probe_task;
 
 		probe_task = kthread_run(xenbus_probe_thread, NULL,
@@ -907,6 +921,20 @@ static struct notifier_block xenbus_resume_nb = {
 	.notifier_call = xenbus_resume_cb,
 };
 
+static irqreturn_t xenbus_late_init(int irq, void *unused)
+{
+	int err = 0;
+	uint64_t v = 0;
+
+	err = hvm_get_parameter(HVM_PARAM_STORE_PFN, &v);
+	if (err || !v || !~v)
+		return IRQ_HANDLED;
+	xen_store_gfn = (unsigned long)v;
+
+	wake_up(&xb_waitq);
+	return IRQ_HANDLED;
+}
+
 static int __init xenbus_init(void)
 {
 	int err;
@@ -959,23 +987,37 @@ static int __init xenbus_init(void)
 		 *
 		 * Also recognize all bits set as an invalid value.
 		 */
-		if (!v || !~v) {
+		if (!v) {
 			err = -ENOENT;
 			goto out_error;
 		}
-		/* Avoid truncation on 32-bit. */
+		if (v == ~0ULL) {
+			err = bind_evtchn_to_irqhandler(xen_store_evtchn,
+							xenbus_late_init,
+							0, "xenstore_late_init",
+							&xb_waitq);
+			if (err < 0) {
+				pr_err("xenstore_late_init couldn't bind irq err=%d\n",
+				       err);
+				return err;
+			}
+
+			xs_init_irq = err;
+		} else {
+			/* Avoid truncation on 32-bit. */
 #if BITS_PER_LONG == 32
-		if (v > ULONG_MAX) {
-			pr_err("%s: cannot handle HVM_PARAM_STORE_PFN=%llx > ULONG_MAX\n",
-			       __func__, v);
-			err = -EINVAL;
-			goto out_error;
-		}
+			if (v > ULONG_MAX) {
+				pr_err("%s: cannot handle HVM_PARAM_STORE_PFN=%llx > ULONG_MAX\n",
+						__func__, v);
+				err = -EINVAL;
+				goto out_error;
+			}
 #endif
-		xen_store_gfn = (unsigned long)v;
-		xen_store_interface =
-			xen_remap(xen_store_gfn << XEN_PAGE_SHIFT,
-				  XEN_PAGE_SIZE);
+			xen_store_gfn = (unsigned long)v;
+			xen_store_interface =
+				xen_remap(xen_store_gfn << XEN_PAGE_SHIFT,
+					  XEN_PAGE_SIZE);
+		}
 		break;
 	default:
 		pr_warn("Xenstore state unknown\n");
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Jan 13 01:07:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 01:07:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256958.441283 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7oaL-0007dx-Op; Thu, 13 Jan 2022 01:07:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256958.441283; Thu, 13 Jan 2022 01:07:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7oaL-0007dq-LP; Thu, 13 Jan 2022 01:07:25 +0000
Received: by outflank-mailman (input) for mailman id 256958;
 Thu, 13 Jan 2022 01:07:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4cYr=R5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n7oTA-0000Zm-0l
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 01:00:00 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 21804e64-740c-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 01:59:59 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id AA5D0B82184;
 Thu, 13 Jan 2022 00:59:58 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 50CF7C36AE9;
 Thu, 13 Jan 2022 00:59: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: 21804e64-740c-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1642035597;
	bh=MRfMCuCLQoYh6RcY6YpMONA0mg03CHCpmuPnmiW2Njk=;
	h=Date:From:To:cc:Subject:From;
	b=WnZk7wsOBjzx2HxbQDXEB9mnb9umyt6QBlOcoIkNLln7oo/qp/HjWc7KCPDVn6ndT
	 L0auZ5KKWqfbOSxXPmRuJ0UFal7eUXE9JD1gvkbimhH11io/pdCYuistN6M0uIUhG4
	 nVe/4n/AKReEDFMKoUBZ5/DftiNznGwtovC6+jJnJVUhylanyJBzhJmn82JnreZ6aT
	 bAWHjXdxvqlUEau6r/NTjfMf8cHv1LAatXOFzJPMWf7pb+xRxzeLekeA6/30HSdz3g
	 ojICsEfvR1poSdFgM53qDZqDOf+1Kt7wxEe6mQAqR0vVeg2KNwUSozIyRj54zo/KEZ
	 l8yAonXf5rApA==
Date: Wed, 12 Jan 2022 16:59:57 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: jgross@suse.com
cc: sstabellini@kernel.org, boris.ostrovsky@oracle.com, 
    xen-devel@lists.xenproject.org
Subject: [LINUX PATCH v2 0/1] late xenstore initialization 
Message-ID: <alpine.DEB.2.22.394.2201121647460.19362@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Hi all,

This small patch series for Linux implements support for initializing
xenstore later when booting as Dom0less kernel (HVM guest on ARM). With
this small patch series applied, it is possible to use PV drivers in
Linux when Linux is booted as dom0less kernel.

Cheers,

Stefano

Luca Miccio (1):
      xen: add support for initializing xenstore later as HVM domain

 drivers/xen/xenbus/xenbus_probe.c | 80 +++++++++++++++++++++++++++++----------
 1 file changed, 61 insertions(+), 19 deletions(-)


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 01:53:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 01:53:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256965.441295 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7pIU-0004KI-4b; Thu, 13 Jan 2022 01:53:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256965.441295; Thu, 13 Jan 2022 01:53:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7pIU-0004KB-0i; Thu, 13 Jan 2022 01:53:02 +0000
Received: by outflank-mailman (input) for mailman id 256965;
 Thu, 13 Jan 2022 01:53:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4cYr=R5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n7pIS-0004K5-43
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 01:53:00 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 878f0a32-7413-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 02:52:57 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 684ABB81FF9;
 Thu, 13 Jan 2022 01:52:56 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id DD981C36AE5;
 Thu, 13 Jan 2022 01:52: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: 878f0a32-7413-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1642038775;
	bh=kn1zbGivYHhh8dgQKwwVcT2hRmeVrV16bpF736/m86s=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=lgKSfLCmyK3eQg9F4252pMtzOhqQxPllxae3+3Qwaask00nAKgN3nudsOF8+9PKla
	 Rdsft2UYVbTaIPjPKKJNBcFLsRPSMWjYXr/FkAyxTUmigXBcTeguVXEsuLSDK781gp
	 +Yl6L/h3JhjUMbiYHC5nWqVAfeXmxYn7j+9I74kM6PYkV5Z/ml/7OEUw/idFD1C1hU
	 vh2u7Ws4l64MguQxzTENpXqwZkICaTsILDzbbgR+FEk2d99xmyA6GLjci7a/vK2ZWi
	 AgHU1ha+jf31yL0oPIZtaSLgZuIJwltMgL6JaNfQ9K0oo/Z0Y8+oCfAA9tCpB7HNW1
	 ITkGza6FwIGFw==
Date: Wed, 12 Jan 2022 17:52:54 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Dongjiu Geng <gengdongjiu1@gmail.com>
cc: Julien Grall <julien.grall.oss@gmail.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v3] xen/arm: Allow QEMU platform to be built with GICv2
In-Reply-To: <CABSBigRyDr4GstZjwJVrM64f57PZKL_Dmq0N+BiKYW3fuXxWYg@mail.gmail.com>
Message-ID: <alpine.DEB.2.22.394.2201121054570.19362@ubuntu-linux-20-04-desktop>
References: <20211228041423.2231598-1-gengdongjiu1@gmail.com> <CAJ=z9a2ww3OptqQn+KDdOMrRB_sSAicnVFQJ2UAySq5xZZjhTQ@mail.gmail.com> <CABSBigRyDr4GstZjwJVrM64f57PZKL_Dmq0N+BiKYW3fuXxWYg@mail.gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 12 Jan 2022, Dongjiu Geng wrote:
> > > diff --git a/xen/arch/arm/platforms/Kconfig b/xen/arch/arm/platforms/Kconfig
> > > index c93a6b2756..925f6ef8da 100644
> > > --- a/xen/arch/arm/platforms/Kconfig
> > > +++ b/xen/arch/arm/platforms/Kconfig
> > > @@ -15,7 +15,7 @@ config ALL_PLAT
> > >  config QEMU
> > >         bool "QEMU aarch virt machine support"
> > >         depends on ARM_64
> > > -       select GICV3
> > > +       select GICv3 if !NEW_VGIC
> >
> > There was an open question in v2. In general, it is better to wait
> > until the discussion is closed or you mention it after ---. This
> > avoids being lost.
> 
> Sorry for the noise, Stefano,  do you have any suggestion for this
> patch?  thanks a lot.

Looking back at v2, the original open question I think was:


> While writing a proposal for the commit message, I remembered that the 
> goal of CONFIG_QEMU was to select all the required drivers to be able to 
> boot Xen on QEMU.
> 
> AFAICT, if you start from tiny64_defconfig, you would not have GICv3 
> selected. So we would technically break users of QEMU with GICv3.
> 
> I am not entirely sure how to approach it. I can think of 2 options:
> 
>   1) Use 'select GICv3 if !NEW_VGIC'
>   2) Add a specific platform for QEMU new vGIC
> 
> I have the feeling that 1) will result to same unmet dependency issue. 
> Stefano any opinions?

I think it would be better to avoid introducing one more QEMU platform
if we can. The current patch as a bug, it should be:

select GICV3 if !NEW_VGIC

note "GICV3" instead of "GICv3".


But unfortunately it doesn't work:

arch/arm/Kconfig:52:error: recursive dependency detected!
arch/arm/Kconfig:52:    symbol NEW_VGIC depends on GICV3
arch/arm/Kconfig:36:    symbol GICV3 is selected by NEW_VGIC
For a resolution refer to Documentation/kbuild/kconfig-language.rst
subsection "Kconfig recursive dependency limitations"


If QEMU supports GICv2 virtualization since v3.1.0, which is from 2018,
then maybe the easiest way to solve the problem is simply to remove
"select GICV3" from QEMU as it is not an hard requirement any longer.
However, it is true that existing users of tiny64_defconfig and QEMU
would get a different behavior.

I don't think it is a problem but if you guys think it is, then the only
option is to introduce a new QEMU platform like "QEMU_GREATER_3.1.0"
which doesn't select GICV3 (it only selects HAS_PL011) because it is not
a requirement anymore.

Or we could have:

QEMU
    bool "QEMU aarch virt machine support >= v3.1.0"
    depends on ARM_64
    select HAS_PL011

QEMU_LEGACY
    bool "QEMU aarch virt machine support < v3.1.0"
    depends on ARM_64
    select GICV3
	select HAS_PL011


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 03:48:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 03:48:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256973.441305 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7r5c-0007Fl-Fy; Thu, 13 Jan 2022 03:47:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256973.441305; Thu, 13 Jan 2022 03: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 1n7r5c-0007Fe-D2; Thu, 13 Jan 2022 03:47:52 +0000
Received: by outflank-mailman (input) for mailman id 256973;
 Thu, 13 Jan 2022 03:47:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eNot=R5=gmail.com=gengdongjiu1@srs-se1.protection.inumbo.net>)
 id 1n7r5a-0007FY-Ir
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 03:47:50 +0000
Received: from mail-lf1-x142.google.com (mail-lf1-x142.google.com
 [2a00:1450:4864:20::142])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 932778c0-7423-11ec-bd6f-bfb69f65cdc7;
 Thu, 13 Jan 2022 04:47:48 +0100 (CET)
Received: by mail-lf1-x142.google.com with SMTP id o15so15013285lfo.11
 for <xen-devel@lists.xenproject.org>; Wed, 12 Jan 2022 19:47:48 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 932778c0-7423-11ec-bd6f-bfb69f65cdc7
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc:content-transfer-encoding;
        bh=cr8pXF2ofzJgfdXzdsfkrsWtI/m6DN0EwqmYMMzbq18=;
        b=Tf0zTxZuZ5WuGeAMgco89VvkHaAsFN0KUdESMCylQeVLAZVwz4CYeTYJK97HXrFld/
         6jCcNUEKeiMCEbm+0lGixssStlwTdgymL7t5D3toAnkqYgDWcr2CsitsdPYpFzJ8zWYs
         5bgRxQXTqDsHp5bKFyfFRKG677ycJ9ZLpGEpRGiU5VprtKg5pGPt6y0d6KfDgu168UHJ
         F8AAINALGlp4sJv+vFF8EYdpE7oFVSn9277VUMSlHMqlwKrPK3fCcovSZU4OFp+p41+M
         9PGpQ4qB4qev5Pcdkep19NcUccdZlAInMV7B/CVyb8lzZyDbJBv16VhJVbSlDD0rax/S
         Vdqw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc:content-transfer-encoding;
        bh=cr8pXF2ofzJgfdXzdsfkrsWtI/m6DN0EwqmYMMzbq18=;
        b=JB1y72ILxkjRzykGNf50nia0KDqsweUs4ZZGhyckKv28pDT/Ld7Vbgbcp7mUp1ibXz
         UNqC9u/SYH2apqK/bPYiFg+ox+0Vq/8NB0GaZpRdJB7YlbivG1XE6pF35JOVUTnB2lGz
         iGx76qj7WwfrwuHeqDeTreRCMlf5LIUaqDQbzNB5bQv8QbElk2u8Pj6wd/lkIKtv1v1f
         b5oZnd9s34WmmetM/f1zQE55xAOjj8FlDOkh0k/JmqL6wd6uFMe1BqZOsLRT6XabElNN
         7fX64goPEApQ6nqHQuZKqRaMx3fY2hO/2hRqORcZ4xRivdfK+03EPzhVwDp6d0grCEg4
         OBWQ==
X-Gm-Message-State: AOAM5302A5BdVr1jwyJ463xwprUFo8l/FJ1B+SgqkAMMgOV3pfYjJs/r
	Xytf7P/I5gkP+WqXPsX4cPJRmkfBENAfGyU/DdogzZfIylo=
X-Google-Smtp-Source: ABdhPJyatwHvXITrVMUB1+UMUzpaIBaINM03pBP0PfnFZIyHI5ubNCNiHoFNJtRaCWxIcVwkztNc/oNyjQL988MjXBs=
X-Received: by 2002:a05:651c:19a3:: with SMTP id bx35mr1793067ljb.500.1642045667965;
 Wed, 12 Jan 2022 19:47:47 -0800 (PST)
MIME-Version: 1.0
References: <20211228041423.2231598-1-gengdongjiu1@gmail.com>
 <CAJ=z9a2ww3OptqQn+KDdOMrRB_sSAicnVFQJ2UAySq5xZZjhTQ@mail.gmail.com>
 <CABSBigRyDr4GstZjwJVrM64f57PZKL_Dmq0N+BiKYW3fuXxWYg@mail.gmail.com> <alpine.DEB.2.22.394.2201121054570.19362@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2201121054570.19362@ubuntu-linux-20-04-desktop>
From: Dongjiu Geng <gengdongjiu1@gmail.com>
Date: Thu, 13 Jan 2022 11:47:35 +0800
Message-ID: <CABSBigS0+FfzH1K1CyJ=DQgn3QJm=kQd3BEaZjs7dex9sEBnzQ@mail.gmail.com>
Subject: Re: [PATCH v3] xen/arm: Allow QEMU platform to be built with GICv2
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Julien Grall <julien.grall.oss@gmail.com>, 
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>, 
	xen-devel <xen-devel@lists.xenproject.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi, Stefano
    Thanks for this reply.

Stefano Stabellini <sstabellini@kernel.org> =E4=BA=8E2022=E5=B9=B41=E6=9C=
=8813=E6=97=A5=E5=91=A8=E5=9B=9B 09:52=E5=86=99=E9=81=93=EF=BC=9A
>
> On Wed, 12 Jan 2022, Dongjiu Geng wrote:
> > > > diff --git a/xen/arch/arm/platforms/Kconfig b/xen/arch/arm/platform=
s/Kconfig
> > > > index c93a6b2756..925f6ef8da 100644
> > > > --- a/xen/arch/arm/platforms/Kconfig
> > > > +++ b/xen/arch/arm/platforms/Kconfig
> > > > @@ -15,7 +15,7 @@ config ALL_PLAT
> > > >  config QEMU
> > > >         bool "QEMU aarch virt machine support"
> > > >         depends on ARM_64
> > > > -       select GICV3
> > > > +       select GICv3 if !NEW_VGIC
> > >
> > > There was an open question in v2. In general, it is better to wait
> > > until the discussion is closed or you mention it after ---. This
> > > avoids being lost.
> >
> > Sorry for the noise, Stefano,  do you have any suggestion for this
> > patch?  thanks a lot.
>
> Looking back at v2, the original open question I think was:
>
>
> > While writing a proposal for the commit message, I remembered that the
> > goal of CONFIG_QEMU was to select all the required drivers to be able t=
o
> > boot Xen on QEMU.
> >
> > AFAICT, if you start from tiny64_defconfig, you would not have GICv3
> > selected. So we would technically break users of QEMU with GICv3.
> >
> > I am not entirely sure how to approach it. I can think of 2 options:
> >
> >   1) Use 'select GICv3 if !NEW_VGIC'
> >   2) Add a specific platform for QEMU new vGIC
> >
> > I have the feeling that 1) will result to same unmet dependency issue.
> > Stefano any opinions?
>
> I think it would be better to avoid introducing one more QEMU platform
> if we can. The current patch as a bug, it should be:
>
> select GICV3 if !NEW_VGIC
>
> note "GICV3" instead of "GICv3".
>
>
> But unfortunately it doesn't work:
>
> arch/arm/Kconfig:52:error: recursive dependency detected!
> arch/arm/Kconfig:52:    symbol NEW_VGIC depends on GICV3
> arch/arm/Kconfig:36:    symbol GICV3 is selected by NEW_VGIC
> For a resolution refer to Documentation/kbuild/kconfig-language.rst
> subsection "Kconfig recursive dependency limitations"
>
>
> If QEMU supports GICv2 virtualization since v3.1.0, which is from 2018,
> then maybe the easiest way to solve the problem is simply to remove
> "select GICV3" from QEMU as it is not an hard requirement any longer.
> However, it is true that existing users of tiny64_defconfig and QEMU
> would get a different behavior.
>
> I don't think it is a problem but if you guys think it is, then the only
> option is to introduce a new QEMU platform like "QEMU_GREATER_3.1.0"
> which doesn't select GICV3 (it only selects HAS_PL011) because it is not
> a requirement anymore.

Yes,  this is my original patch V1's modification which does not select GIC=
V3

>
> Or we could have:
>
> QEMU
>     bool "QEMU aarch virt machine support >=3D v3.1.0"
>     depends on ARM_64
>     select HAS_PL011
>
> QEMU_LEGACY
>     bool "QEMU aarch virt machine support < v3.1.0"
>     depends on ARM_64
>     select GICV3
>         select HAS_PL011

Thanks for the suggestion,  I can make the modification below if you
think it is ok.
Hi Julien and Stefano, waiting for your confirmation .


commit 2b5749fc4e0769df9cfc55795e0dbb453000a9c9 (HEAD -> master_submit)
Author: Dongjiu Geng <gengdongjiu1@gmail.com>
Date:   Thu Jan 13 11:30:33 2022 +0800

    xen/arm: Allow QEMU platform to be built with GICv2

    It turns out that QEMU has been supporting GICv2 virtualization since
    v3.1.0. so remove the dependencies on GICv3. If we want to use GICv3,
    we can select the QEMU_LEGACY configuration.

    Signed-off-by: Dongjiu Geng <gengdongjiu1@gmail.com>

diff --git a/xen/arch/arm/platforms/Kconfig b/xen/arch/arm/platforms/Kconfi=
g
index c93a6b2756..41e82a42ee 100644
--- a/xen/arch/arm/platforms/Kconfig
+++ b/xen/arch/arm/platforms/Kconfig
@@ -13,7 +13,15 @@ config ALL_PLAT
        automatically select any of the related drivers.

 config QEMU
-       bool "QEMU aarch virt machine support"
+       bool "QEMU aarch virt machine support >=3D v3.1.0"
+       depends on ARM_64
+       select HAS_PL011
+       ---help---
+       Enable all the required drivers for QEMU aarch64 virt emulated
+       machine.
+
+config QEMU_LEGACY
+       bool "QEMU aarch virt machine support < v3.1.0"
        depends on ARM_64
        select GICV3
        select HAS_PL011


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 04:02:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 04:02:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256977.441317 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7rJb-0001CN-Og; Thu, 13 Jan 2022 04:02:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256977.441317; Thu, 13 Jan 2022 04:02:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7rJb-0001CG-Lb; Thu, 13 Jan 2022 04:02:19 +0000
Received: by outflank-mailman (input) for mailman id 256977;
 Thu, 13 Jan 2022 04:02:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qLSn=R5=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1n7rJa-0001CA-7b
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 04:02:18 +0000
Received: from mail-qk1-x732.google.com (mail-qk1-x732.google.com
 [2607:f8b0:4864:20::732])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9827e0cd-7425-11ec-bd6f-bfb69f65cdc7;
 Thu, 13 Jan 2022 05:02:17 +0100 (CET)
Received: by mail-qk1-x732.google.com with SMTP id t24so5824070qkg.11
 for <xen-devel@lists.xenproject.org>; Wed, 12 Jan 2022 20:02:16 -0800 (PST)
Received: from shine.lan ([2001:470:8:67e:408:e042:ffb0:37c3])
 by smtp.gmail.com with ESMTPSA id r13sm1405042qtw.41.2022.01.12.20.02.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 12 Jan 2022 20:02:14 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9827e0cd-7425-11ec-bd6f-bfb69f65cdc7
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=DBWu0u1ioGoIf6w911lbvsGyju3nJBRJDn0APwiIJQ0=;
        b=IjUx0htfjzD6YClJLLRQ/AXr5H24pSPMe9mrSLkmfjmKpvqPZkEOz5gTAxIIDME2n2
         yoAHP3swY+Av0eTMB0NOFuto5MxlE1HofbIlD9ILXEeOukVGSV0NIsubXl4TPHupXHqw
         epPsnTlPEjAzAi7H9pjIYOwIbrIfk+njxvimcwKGoJuvdFqZPBupW5y2pTsp4Vc+4cin
         WGyTVd1MIx2Um0+AhKfBoxvOWAg+bs87twMbCxFLHC/LFTdJF6jYEY8VO7AbpTwpeVuC
         O/Oem6yK4lGjFuVmVrcsx9M1lrK7FP55riErGn4geS/6hKfSgeuBDayEb/s7XbxahKT8
         ZsHg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=DBWu0u1ioGoIf6w911lbvsGyju3nJBRJDn0APwiIJQ0=;
        b=7u7sXC11PGjdov6vR3l0o/FYiSarxsgDoVQXC3TZYX0niyrU/A/e18WPSZ6Vkd/80C
         Vhyqzodaurd9zAihv4antLZaWWTylpdkmU6u4t4aPyS2W0Fx32FaI/+sJrpS9EdJzV4q
         fk56d0AeB2ZcNZPhjH4wCGxnSy90zbugfJXZwCxSABN5wD1z3qVr1lgd0Rd+Grf5zqPZ
         LV2oiXiF22jBbS2zCy+zNCaAumdFlVziMtjoKhIaMfDLvsiWxfbIklbCwkz+nMb9JsGP
         Pt4oGvqXycpnd1eM31RIyzkZuIucRvq/5QgUHcJ1+kJyrJnJBak2V6WA3Nufp5wGXtqG
         s0tA==
X-Gm-Message-State: AOAM532PCLgjRHXsxWv7Ql5UK8bCIQc/j9GzY0iZXcavk6mUe6QUVtjV
	/R9LrI8pPeD5qidkKUs+msvDVQIdyTI=
X-Google-Smtp-Source: ABdhPJyPu4bPPAzCccREb9mXSO2xh8hZnWmJ/2KQ6PplfjjfpGh7QLIieu1QH9QkSdxSuf5Tej2Mpg==
X-Received: by 2002:a37:9f05:: with SMTP id i5mr2054693qke.385.1642046534981;
        Wed, 12 Jan 2022 20:02:14 -0800 (PST)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Paul Durrant <paul@xen.org>,
	Jason Andryuk <jandryuk@gmail.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v4] libxl/PCI: Fix PV hotplug & stubdom coldplug
Date: Wed, 12 Jan 2022 23:01:42 -0500
Message-Id: <20220113040142.20503-1-jandryuk@gmail.com>
X-Mailer: git-send-email 2.32.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

commit 0fdb48ffe7a1 "libxl: Make sure devices added by pci-attach are
reflected in the config" broken PCI hotplug (xl pci-attach) for PV
domains when it moved libxl__create_pci_backend() later in the function.

This also broke HVM + stubdom PCI passthrough coldplug.  For that, the
PCI devices are hotplugged to a running PV stubdom, and then the QEMU
QMP device_add commands are made to QEMU inside the stubdom.

A running PV domain calls libxl__wait_for_backend().  With the current
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:
1) The domain is PV
3) The domain is running
2) The backend is already present

1) xen-pcifront is only used for PV.  It does not load for HVM domains
   where QEMU is used.

2) If the domain is not running (starting), then the frontend state will
   be Initialising.  xen-pciback waits for the frontend to transition to
   at Initialised before attempting to connect.  So a wait for a
   non-running domain is not applicable as the backend will not
   transition to Connected.

3) For presence, 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 or changing to
   some other state like closing.  If we are creating the backend, then
   we don't have to worry about the state since it is being created.

Fixes: 0fdb48ffe7a1 ("libxl: Make sure devices added by pci-attach are
reflected in the config")

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
---
Alternative to Jan's patch:
https://lore.kernel.org/xen-devel/5114ae87-bc0e-3d58-e16e-6d9d2fee0801@suse.com/

v4:
Use if (rc) return rc
Capitalize comment sentence
Change commit message

v3:
Change title & commit message

v2:
Add Fixes
Expand num_devs use in commit message
---
 tools/libs/light/libxl_pci.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
index 4c2d7aeefb..4bbbfe9f16 100644
--- a/tools/libs/light/libxl_pci.c
+++ b/tools/libs/light/libxl_pci.c
@@ -157,9 +157,11 @@ 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)
-            return ERROR_FAIL;
+    /* Wait is only needed if the backend already exists (num_devs != NULL) */
+    if (num_devs && !starting && domtype == LIBXL_DOMAIN_TYPE_PV) {
+        rc = libxl__wait_for_backend(gc, be_path,
+                                     GCSPRINTF("%d", XenbusStateConnected));
+        if (rc) return rc;
     }
 
     back = flexarray_make(gc, 16, 1);
-- 
2.32.0



From xen-devel-bounces@lists.xenproject.org Thu Jan 13 04:49:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 04:49:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256985.441343 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7s38-00060B-Af; Thu, 13 Jan 2022 04:49:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256985.441343; Thu, 13 Jan 2022 04:49:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7s38-000604-7U; Thu, 13 Jan 2022 04:49:22 +0000
Received: by outflank-mailman (input) for mailman id 256985;
 Thu, 13 Jan 2022 04:49: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 1n7s37-0005zu-1Q; Thu, 13 Jan 2022 04:49: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 1n7s36-0002im-UT; Thu, 13 Jan 2022 04:49: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 1n7s36-0003cA-Jj; Thu, 13 Jan 2022 04:49:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n7s36-0005Av-JI; Thu, 13 Jan 2022 04:49:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=+eGAYR8+1B+OvPbOJKGQ9HClljq6Ghe9KIsiEVFI1FU=; b=KSBHreHl8jGxNVzjWQi2UPGBPe
	dlAdhcVmAHE9KM6TQzNxabwQ88ccaZ0vfmUP33VSVG+R0VD9UKB2nTIHUfu3QUThMmlo2NclSiEOt
	9NIL7Mz9Xk1YBzplKboxP11VEy0Ylkm9bMtLKAUVb/00piCBZRbE8PfYyX5u3qPzYuwI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167677-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167677: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-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-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    xen-unstable:test-amd64-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-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-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-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=0cf6521ea95dd78accf1e5c13cbfe8156b3611d0
X-Osstest-Versions-That:
    xen=22891e12a45f9bb2e1dbb5daf2ba39cbe002e4f4
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 13 Jan 2022 04:49:20 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 17 depriv-audit-qemu/create fail pass in 167681-retest
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 167681-retest

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

version targeted for testing:
 xen                  0cf6521ea95dd78accf1e5c13cbfe8156b3611d0
baseline version:
 xen                  22891e12a45f9bb2e1dbb5daf2ba39cbe002e4f4

Last test of basis   167667  2022-01-12 01:54:21 Z    1 days
Testing same since   167677  2022-01-12 14:09:49 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>
  Juergen Gross <jgross@suse.com>
  Stefano Stabellini <sstabellini@kernel.org>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   22891e12a4..0cf6521ea9  0cf6521ea95dd78accf1e5c13cbfe8156b3611d0 -> master


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 06:37:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 06:37:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256994.441354 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7tjI-0000NF-AV; Thu, 13 Jan 2022 06:37:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256994.441354; Thu, 13 Jan 2022 06: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 1n7tjI-0000N8-7a; Thu, 13 Jan 2022 06:37:00 +0000
Received: by outflank-mailman (input) for mailman id 256994;
 Thu, 13 Jan 2022 06:36:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=EULp=R5=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n7tjG-0000LK-EG
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 06:36:58 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 336f58f1-743b-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 07:36:56 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 6BA0D1F3A3;
 Thu, 13 Jan 2022 06:36:55 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 3B5BB13E27;
 Thu, 13 Jan 2022 06:36:55 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id DgffC4fI32FfHAAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 13 Jan 2022 06:36:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 336f58f1-743b-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642055815; 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=ZxsjFganuacB9OeNlazBrLYYfXGlAUe54bM8Y1M7NtM=;
	b=G5rFHox0kZaSJb5vMxj7Yv1Un9vXs9O8RicG4Soga3Zr75mZQgQ0nfBaG3AxR0dPiM8VjR
	VO+5cyf62+EXVgsZs7uvQzl38MiJ/hjm7+9aelwA9Pvm6LA4tBZLn7t/aXPsA0ksqkdHC2
	QCsC1YjVU0XaAiLzbKYQ+J8yhQWdRLU=
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: boris.ostrovsky@oracle.com, xen-devel@lists.xenproject.org,
 Luca Miccio <lucmiccio@gmail.com>,
 Stefano Stabellini <stefano.stabellini@xilinx.com>
References: <alpine.DEB.2.22.394.2201121647460.19362@ubuntu-linux-20-04-desktop>
 <20220113010002.1180463-1-sstabellini@kernel.org>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [LINUX PATCH v2 1/1] xen: add support for initializing xenstore
 later as HVM domain
Message-ID: <aa934840-0862-7246-4318-a049aedcf0c3@suse.com>
Date: Thu, 13 Jan 2022 07:36:54 +0100
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: <20220113010002.1180463-1-sstabellini@kernel.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="mZ5S6lf5dOeuvtHwfUzBgRIk2UoSAwzun"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--mZ5S6lf5dOeuvtHwfUzBgRIk2UoSAwzun
Content-Type: multipart/mixed; boundary="EF9bm6cHUifxv6ksxNt69boz3qPlE7rJV";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: boris.ostrovsky@oracle.com, xen-devel@lists.xenproject.org,
 Luca Miccio <lucmiccio@gmail.com>,
 Stefano Stabellini <stefano.stabellini@xilinx.com>
Message-ID: <aa934840-0862-7246-4318-a049aedcf0c3@suse.com>
Subject: Re: [LINUX PATCH v2 1/1] xen: add support for initializing xenstore
 later as HVM domain
References: <alpine.DEB.2.22.394.2201121647460.19362@ubuntu-linux-20-04-desktop>
 <20220113010002.1180463-1-sstabellini@kernel.org>
In-Reply-To: <20220113010002.1180463-1-sstabellini@kernel.org>

--EF9bm6cHUifxv6ksxNt69boz3qPlE7rJV
Content-Type: multipart/mixed;
 boundary="------------B8B6A75117437674C9A54D78"
Content-Language: en-US

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

On 13.01.22 02:00, Stefano Stabellini wrote:
> From: Luca Miccio <lucmiccio@gmail.com>
>=20
> When running as dom0less guest (HVM domain on ARM) the xenstore event
> channel is available at domain creation but the shared xenstore
> interface page only becomes available later on.
>=20
> In that case, wait for a notification on the xenstore event channel,
> then complete the xenstore initialization later, when the shared page
> is actually available.
>=20
> Signed-off-by: Luca Miccio <lucmiccio@gmail.com>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
> ---
> Changes in v2:
> - remove XENFEAT_xenstore_late_init
> ---
>   drivers/xen/xenbus/xenbus_probe.c | 80 +++++++++++++++++++++++-------=
-
>   1 file changed, 61 insertions(+), 19 deletions(-)
>=20
> diff --git a/drivers/xen/xenbus/xenbus_probe.c b/drivers/xen/xenbus/xen=
bus_probe.c
> index fe360c33ce71..51e52e175892 100644
> --- a/drivers/xen/xenbus/xenbus_probe.c
> +++ b/drivers/xen/xenbus/xenbus_probe.c
> @@ -65,6 +65,7 @@
>   #include "xenbus.h"
>  =20
>  =20
> +static int xs_init_irq;
>   int xen_store_evtchn;
>   EXPORT_SYMBOL_GPL(xen_store_evtchn);
>  =20
> @@ -750,6 +751,17 @@ static void xenbus_probe(void)
>   {
>   	xenstored_ready =3D 1;
>  =20
> +	if (!xen_store_interface) {
> +		xen_store_interface =3D xen_remap(xen_store_gfn << XEN_PAGE_SHIFT,
> +						XEN_PAGE_SIZE);
> +		/*
> +		 * Now it is safe to free the IRQ used for xenstore late
> +		 * initialization. No need to unbind: it is about to be
> +		 * bound again.
> +		 */
> +		free_irq(xs_init_irq, &xb_waitq);
> +	}
> +
>   	/*
>   	 * In the HVM case, xenbus_init() deferred its call to
>   	 * xs_init() in case callbacks were not operational yet.
> @@ -798,20 +810,22 @@ static int __init xenbus_probe_initcall(void)
>   {
>   	/*
>   	 * Probe XenBus here in the XS_PV case, and also XS_HVM unless we
> -	 * need to wait for the platform PCI device to come up.
> +	 * need to wait for the platform PCI device to come up or
> +	 * xen_store_interface is not ready.
>   	 */
>   	if (xen_store_domain_type =3D=3D XS_PV ||
>   	    (xen_store_domain_type =3D=3D XS_HVM &&
> -	     !xs_hvm_defer_init_for_callback()))
> +	     !xs_hvm_defer_init_for_callback() &&
> +	     xen_store_interface !=3D NULL))
>   		xenbus_probe();
>  =20
>   	/*
> -	 * For XS_LOCAL, spawn a thread which will wait for xenstored
> -	 * or a xenstore-stubdom to be started, then probe. It will be
> -	 * triggered when communication starts happening, by waiting
> -	 * on xb_waitq.
> +	 * For XS_LOCAL or when xen_store_interface is not ready, spawn a
> +	 * thread which will wait for xenstored or a xenstore-stubdom to be
> +	 * started, then probe.  It will be triggered when communication
> +	 * starts happening, by waiting on xb_waitq.
>   	 */
> -	if (xen_store_domain_type =3D=3D XS_LOCAL) {
> +	if (xen_store_domain_type =3D=3D XS_LOCAL || xen_store_interface =3D=3D=
 NULL) {
>   		struct task_struct *probe_task;
>  =20
>   		probe_task =3D kthread_run(xenbus_probe_thread, NULL,
> @@ -907,6 +921,20 @@ static struct notifier_block xenbus_resume_nb =3D =
{
>   	.notifier_call =3D xenbus_resume_cb,
>   };
>  =20
> +static irqreturn_t xenbus_late_init(int irq, void *unused)
> +{
> +	int err =3D 0;
> +	uint64_t v =3D 0;
> +
> +	err =3D hvm_get_parameter(HVM_PARAM_STORE_PFN, &v);
> +	if (err || !v || !~v)
> +		return IRQ_HANDLED;
> +	xen_store_gfn =3D (unsigned long)v;
> +
> +	wake_up(&xb_waitq);
> +	return IRQ_HANDLED;
> +}
> +

Hmm, wouldn't it be easier to use a static key in the already existing
irq handler instead of switching the handler?


Juergen

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

--------------B8B6A75117437674C9A54D78--

--EF9bm6cHUifxv6ksxNt69boz3qPlE7rJV--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHfyIYFAwAAAAAACgkQsN6d1ii/Ey+W
fwf+OHLK8sNZ5oVIZpL9Rt/dBLNqUX714/bOqyWtwySdRY3d+fuQjOYaufGtmgiFYWiuACAxr3Nc
JGPuS6otx4zqUatSeYD4OIK3P+9i5hC32UhrKrLBSIWen8lWdVpcNDpNxKB7WqQXBN1QEiqxIKRG
EK1LGYPA/pfB0pLXxtItCgJnoetyU2XfYACnnn+J3vChz4wZfAdDMZXjkh8fgSFCHklS02DO5tgv
pgFfCdfPWOP+uzkQt3YwVuzLtG4WSET8eHb0XMFgic+RFDNBCGHdPewjUh32002utoxrxAQTdIRJ
VpsnqwcrBnnwG/IqjAun5lhJ9c24E3dlTB+vgbfgtQ==
=Tbru
-----END PGP SIGNATURE-----

--mZ5S6lf5dOeuvtHwfUzBgRIk2UoSAwzun--


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 07:44:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 07:44:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.256997.441366 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7ulh-0007Ni-PB; Thu, 13 Jan 2022 07:43:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 256997.441366; Thu, 13 Jan 2022 07: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 1n7ulh-0007Nb-Ly; Thu, 13 Jan 2022 07:43:33 +0000
Received: by outflank-mailman (input) for mailman id 256997;
 Thu, 13 Jan 2022 07:43: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 1n7ulg-0007NR-61; Thu, 13 Jan 2022 07:43: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 1n7ulg-0006jo-3V; Thu, 13 Jan 2022 07:43: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 1n7ulf-0003qs-Qe; Thu, 13 Jan 2022 07:43:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n7ulf-0006Fa-QA; Thu, 13 Jan 2022 07:43: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=c1E9NLtjbWm9+TCyZeJsj1RbioMqDSgOrmE4XP4VsvI=; b=pPbffj0LX2EFchzdAF2HtRNZJ7
	WgunWRYtZV928XokwJi/RNOOYzQqLbON7eNFFFkObRJqUC3PcrqdZWfTUArpCEC6e4l4io854fyOn
	VYrObDGjF1rmyNU3cDHSAkQRR3Ey+cHZnl99UDQzkYnHU29LYt3g5cs6HF14xAGxwAVo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167679-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167679: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-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-armhf-armhf-libvirt-qcow2: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-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=81ff0be4b9e3bcfee022d71cf89d72f7e2ed41ba
X-Osstest-Versions-That:
    linux=daadb3bd0e8d3e317e36bc2c1542e86c528665e5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 13 Jan 2022 07:43:31 +0000

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

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

version targeted for testing:
 linux                81ff0be4b9e3bcfee022d71cf89d72f7e2ed41ba
baseline version:
 linux                daadb3bd0e8d3e317e36bc2c1542e86c528665e5

Last test of basis   167668  2022-01-12 01:56:17 Z    1 days
Testing same since   167679  2022-01-12 19:42:44 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdun Nihaal <abdun.nihaal@gmail.com>
  Abel Vesa <abel.vesa@nxp.com>
  Adrian Hunter <adrian.hunter@intel.com>
  Alan Stern <stern@rowland.harvard.edu>
  Alberto Merciai <alb3rt0.m3rciai@gmail.com>
  Alyssa Ross <hi@alyssa.is>
  Amelie Delaunay <amelie.delaunay@foss.st.com>
  Amjad Ouled-Ameur <aouledameur@baylibre.com>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
  Arnd Bergmann <arnd@arndb.de>
  Balamanikandan Gunasundar <balamanikandan.gunasundar@microchip.com>
  Bartosz Golaszewski <brgl@bgdev.pl>
  Benjamin Herrenschmidt <benh@kernel.crashing.org>
  Biju Das <biju.das.jz@bp.renesas.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Cai Huoqing <cai.huoqing@linux.dev>
  Cai Huoqing <caihuoqing@baidu.com>
  Candy Febriyanto <cfebriyanto@gmail.com>
  Changcheng Deng <deng.changcheng@zte.com.cn>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Christoph Hellwig <hch@lst.de>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Chunfeng Yun <chunfeng.yun@mediatek.com>
  Clément Léger <clement.leger@bootlin.com>
  Colin Foster <colin.foster@in-advantage.com>
  Colin Ian King <colin.i.king@gmail.com>
  Colin Ian King <colin.i.king@googlemail.com>
  Dan Carpenter <dan.carpenter@oracle.com>
  Daniel Mack <daniel@zonque.org>
  Daniel Scally <djrscally@gmail.com>
  David E. Box <david.e.box@linux.intel.com>
  David Heidelberg <david@ixit.cz>
  David Rientjes <rientjes@google.com>
  David Virag <virag.david003@gmail.com>
  Davidlohr Bueso <dave@stgolabs.net>
  Davidlohr Bueso <dbueso@suse.de>
  Denis Efremov <efremov@linux.com>
  Dinh Nguyen <dinguyen@kernel.org>
  Dirk Müller <dmueller@suse.de>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Dominik Kobinski <dominikkobinski314@gmail.com>
  Dongliang Mu <mudongliangabcd@gmail.com>
  Emil Renner Berthing <kernel@esmil.dk>
  Eric Biggers <ebiggers@google.com>
  Erwan Le Ray <erwan.leray@foss.st.com>
  Fabio Estevam <festevam@gmail.com>
  Fabrice Gasnier <fabrice.gasnier@foss.st.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Fugang Duan <fugang.duan@nxp.com>
  Gabriel Goller <gabrielgoller123@gmail.com>
  Gaston Gonzalez <gascoar@gmail.com>
  Gautam Menghani <gautammenghani14@gmail.com>
  Geert Uytterhoeven <geert+renesas@glider.be>
  Geliang Tang <geliang.tang@suse.com>
  Gil Fine <gil.fine@intel.com>
  Giulio Benetti <giulio.benetti@benettiengineering.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guo Zhengkui <guozhengkui@vivo.com>
  Guoqing Jiang <guoqing.jiang@linux.dev>
  GuoYong Zheng <zhenggy@chinatelecom.cn>
  Haimin Zhang <tcs.kernel@gmail.com>
  Hangyu Hua <hbh25y@gmail.com>
  Hannes Reinecke <hare@suse.de>
  Hans de Goede <hdegoede@redhat.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Hao Xu <haoxu@linux.alibaba.com>
  Heikki Krogerus <heikki.krogerus@linux.intel.com>
  Heiko Carstens <hca@linux.ibm.com>
  Heiner Kallweit <hkallweit1@gmail.com>
  Herve Codina <herve.codina@bootlin.com>
  Ingo Molnar <mingo@kernel.org>
  Ira Weiny <ira.weiny@intel.com>
  Ismayil Mirzali <ismayilmirzeli@gmail.com>
  Jack Wang <jinpu.wang@ionos.com>
  Jacky Bai <ping.bai@nxp.com>
  Jan Kara <jack@suse.cz>
  Jason Wang <wangborong@cdjrlc.com>
  Jay Dolan <jay.dolan@accesio.com>
  Jens Axboe <axboe@kernel.dk>
  Jesse Taube <Mr.Bossman075@gmail.com>
  Jiasheng Jiang <jiasheng@iscas.ac.cn>
  Jing Yao <yao.jing2@zte.com.cn>
  Jiri Slaby <jslaby@suse.cz>
  Joe Thornber <ejt@redhat.com>
  Joey Gouly <joey.gouly@arm.com>
  Johan Hovold <johan@kernel.org>
  John Garry <john.garry@huawei.com>
  John Keeping <john@metanate.com>
  Jonathan McDowell <noodles@earth.li>
  Juergen Gross <jgross@suse.com>
  Julia Lawall <julia.lawall@inria.fr>
  Julian Braha <julianbraha@gmail.com>
  Kai-Heng Feng <kai.heng.feng@canonical.com>
  Karolina Drobnik <karolinadrobnik@gmail.com>
  Kashyap Desai <kashyap.desai@broadcom.com>
  Kavyasree Kotagiri <kavyasree.kotagiri@microchip.com>
  Kees Cook <keescook@chromium.org>
  Keith Busch <kbusch@kernel.org>
  kernel test robot <lkp@intel.com>
  Kiran Kumar S <kiran.kumar1.s@intel.com>
  Kohei Tarumizu <tarumizu.kohei@fujitsu.com>
  Konrad Dybcio <konrad.dybcio@somainline.org>
  Konrad Rzeszutek Wilk <Konrad.wilk@oracle.com>
  Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
  Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> [NFC]
  Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
  Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
  Lakshmi Sowjanya D <lakshmi.sowjanya.d@intel.com>
  lianzhi chang <changlianzhi@uniontech.com>
  Lino Sanfilippo <LinoSanfilippo@gmx.de>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Linyu Yuan <quic_linyyuan@quicinc.com>
  Liu Junqi <liujunqi@pku.edu.cn>
  Lizhi Hou <lizhi.hou@xilinx.com>
  Logan Gunthorpe <logang@deltatee.com>
  Loic Poulain <loic.poulain@linaro.org>
  Lu Baolu <baolu.lu@linux.intel.com>
  Luca Weiss <luca.weiss@fairphone.com>
  Lukas Bulwahn <lukas.bulwahn@gmail.com>
  Lukas Wunner <lukas@wunner.de>
  luo penghao <luo.penghao@zte.com.cn>
  Magnus Damm <damm+renesas@opensource.se>
  Manish Narani <manish.narani@xilinx.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Marek Szyprowski <m.szyprowski@samsung.com>
  Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
  Mark Greer <mgreer@animalcreek.com>
  Mark Pearson <markpearson@lenovo.com>
  Mark-PK Tsai <mark-pk.tsai@mediatek.com>
  Martin Kaiser <martin@kaiser.cx>
  Mathias Nyman <mathias.nyman@linux.intel.com>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Miaoqian Lin <linmq006@gmail.com>
  Michael S. Tsirkin <mst@redhat.com>
  Michael Straube <straube.linux@gmail.com>
  Michal Suchanek <msuchanek@suse.de>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Mike Snitzer <snitzer@redhat.com>
  Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
  Minchan Kim <minchan@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Nathan Chancellor <nathan@kernel.org>
  Neal Liu <neal_liu@aspeedtech.com>
  NeilBrown <neilb@suse.de>
  Ngo Tak Fong <simon.fodin@gmail.com>
  Nikita Yushchenko <nikita.yoush@cogentembedded.com>
  Noralf Trønnes <noralf@tronnes.org>
  Paolo Valente <paolo.valente@linaro.org>
  Paul Menzel <pmenzel@molgen.mpg.de>
  Paulo Miguel Almeida <paulo.miguel.almeida.rodenas@gmail.com>
  Pavankumar Kondeti <quic_pkondeti@quicinc.com>
  Pavel Begunkov <asml.silence@gmail.com>
  Pavel Hofman <pavel.hofman@ivitera.com>
  Peng Fan <peng.fan@nxp.com>
  Peter Chen <peter.chen@kernel.or> # for chipidea part
  Peter Chen <peter.chen@kernel.org>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Phil Elwell <phil@raspberrypi.com>
  Philipp Hortmann <philipp.g.hortmann@gmail.com>
  Phillip Potter <phil@philpotter.co.uk>
  Prasad Sodagudi <psodagud@codeaurora.org>
  Qihang Hu <huqihang@oppo.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rafał Miłecki <rafal@milecki.pl>
  Rajaram Regupathy <rajaram.regupathy@intel.com>
  Rajendra Nayak <rnayak@codeaurora.org>
  Randy Dunlap <rdunlap@infradead.org>
  Razvan Heghedus <heghedus.razvan@gmail.com>
  Richard Genoud <richard.genoud@gmail.com>
  Rob Herring <robh@kernel.org>
  Rob Landley <rob@landley.net>
  Robert Schlabbach <robert_s@gmx.net>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Sam Protsenko <semen.protsenko@linaro.org>
  Sam Ravnborg <sam@ravnborg.org>
  Saranya Gopal <saranya.gopal@intel.com>
  Saurav Girepunje <saurav.girepunje@gmail.com>
  Sebastian Andrzej Siewior <bigeasy@linutronix.de>
  Sergey Shtylyov <s.shtylyov@omp.ru>
  Sergio Paracuellos <sergio.paracuellos@gmail.com>
  Sherry Sun <sherry.sun@nxp.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Shubhrajyoti Datta <shubhrajyoti.datta@xilinx.com>
  Sidong Yang <realwakka@gmail.com>
  Song Liu <song@kernel.org>
  Song Liu <songliubraving@fb.com>
  syzbot <syzbot+28a66a9fbc621c939000@syzkaller.appspotmail.com>
  syzbot+643e4ce4b6ad1347d372@syzkaller.appspotmail.com
  Tasos Sahanidis <tasos@tasossah.com>
  Tejun Heo <tj@kernel.org>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Thierry Reding <treding@nvidia.com>
  Thinh Nguyen <Thinh.Nguyen@synopsys.com>
  Tinghan Shen <tinghan.shen@mediatek.com>
  Tommaso Merciai <tomm.merciai@gmail.com>
  Tommaso Merciai <tommaso.merciai@gmail.com>
  Tudor Ambarus <tudor.ambarus@microchip.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vaibhav Gupta <vaibhavgupta40@gmail.com>
  Valentin Caron <valentin.caron@foss.st.com>
  Vamsi Krishna Lanka <quic_vamslank@quicinc.com>
  Vihas Mak <makvihas@gmail.com>
  Vinod Koul <vkoul@kernel.org>
  Viresh Kumar <viresh.kumar@linaro.org>
  Vishal Verma <vverma@digitalocean.com>
  Wander Lairson Costa <wander@redhat.com>
  Wedson Almeida Filho <wedsonaf@google.com>
  Wei Ming Chen <jj251510319013@gmail.com>
  Wei Yongjun <weiyongjun1@huawei.com>
  Xiang wangx <wangxiang@cdjrlc.com>
  Xianwei Zhao <xianwei.zhao@amlogic.com>
  Xiao Ni <xni@redhat.com>
  Xiaoke Wang <xkernel.wang@foxmail.com>
  Xiongwei Song <sxwjean@gmail.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Yang Yingliang <yangyingliang@huawei.com>
  Yanteng Si <siyanteng01@gmail.com>
  Yanteng Si <siyanteng@loongson.cn>
  Ye Bin <yebin10@huawei.com>
  Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
  Yu Tu <yu.tu@amlogic.com>
  Zameer Manji <zmanji@gmail.com>

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


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

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

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

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


Pushing revision :

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


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 08:02:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 08:02:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257014.441377 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7v3s-00022T-UH; Thu, 13 Jan 2022 08:02:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257014.441377; Thu, 13 Jan 2022 08: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 1n7v3s-00022M-Pc; Thu, 13 Jan 2022 08:02:20 +0000
Received: by outflank-mailman (input) for mailman id 257014;
 Thu, 13 Jan 2022 08:02:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fwfT=R5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n7v3r-00022G-PQ
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 08:02:19 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 206fa658-7447-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 09:02:18 +0100 (CET)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2057.outbound.protection.outlook.com [104.47.6.57]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-15-qFB_-AylO7m9vVlyqTcsVA-1; Thu, 13 Jan 2022 09:02:16 +0100
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.4888.10; Thu, 13 Jan
 2022 08:02:15 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Thu, 13 Jan 2022
 08:02:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 206fa658-7447-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642060938;
	h=from:from:reply-to:subject:subject: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=jbsZhfvujc8V448+GlEv4cmwJEQQGxNc8cpkHh4FCGc=;
	b=mvM/AvzHD2ORCWSj5Y0tVNbTa/WC9DZTDZBFzcGkFoV+C2Ee/7ekA/AJXwPWA7pyLXap5H
	lCSAa4Dt6h07jJoyNEuSEt2V/kpGBBGrEmipuY1bjyNzSz5GNbo43z1q8Tzmo7M2uhjR7y
	3xzirpcOUANc5NmtxuhfLq1+HXOhZ4A=
X-MC-Unique: qFB_-AylO7m9vVlyqTcsVA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YwCTaN0NjJcdzsMcvS0owFer5rRbr0pC9DuzpXSDF+PqXsDfbzJKUod+8i7yWfjpTHBexFG9HEpcEMswg8HdNwdz+YBs0UaPSTlZCHPZ/00rjknsfw+rRLI53LJGjherW6fTwV5xduVBTiZXigOGXNvvJ6Zahz+gZUnMgaBIXROFBRRTQ1vs/DZUNww0mcn+U1FnhiFUJS49JxhbzHcsrfT9jKjMcK0kknxwYlxb8HMLniYDI6TnAUJl9gSWSkyqRNg3lP/rJc7fWZ3TMydmCze0454Uu13s/XaAT9NNzOJULXIQAdhTJgtGaNy6Un6WmD9xqgx5yUhQG9pVe1A5eg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jbsZhfvujc8V448+GlEv4cmwJEQQGxNc8cpkHh4FCGc=;
 b=JuEtPFGUBElDO7c4QpDSAyF56E5GRCZxf914XUHs2e6PIejQDk5cccnHnZ6ZS9cTm6RULtgp2peE3n2t6vq/zrX4WSKvElr3fnxJFrK8eWQNMsZEPohAlzx3idk0Eg4wJsW/JR1XW8HuTZesD+7CprcdRx62eB0Yv+DUrQzbCqqVb6nyg36Axph43GE43lLfMXlGzt63xeS49sBsc8CQb+qY9tELSRYXgANZURmIhtNdCPr5laaj22IydGYlpfPuGaB26Mnfd0+8JnhvfO4EC779qzMp4mPMMOgSE5Z6SOPtNNtCpW9Acfs85TtQEM2vpPsBh7wVmNgszwtGZS8ccA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <09369d40-a974-2f7a-9b70-836b9210904b@suse.com>
Date: Thu, 13 Jan 2022 09:02:13 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86: help inlining of functions involving alternative_call()
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0043.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::8) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 72cc61ff-c3d7-41dc-c842-08d9d66b02f3
X-MS-TrafficTypeDiagnostic: VE1PR04MB7360:EE_
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB736059F6D7DCC6F62BE6FE9DB3539@VE1PR04MB7360.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:
	gvFk5GZogf8/g8e5RmKAfD3my9IKMSwNLAB07BgR2P/1XHkRJ0pw8zFmWn2+bnztN/+wJxSx3V2xjWsPpLP/9SheJfmmTUG/P/WvOm0aziukbvB5lpsDxgvSu2fj0ALmnRcg/4OvGn477wYIOflEcqh32z3vLWT2xYDE/tHMteTRveKYB5icWSfIQ5/0IVTMYCRgbfwWFmZAJ5tCdL6t1A/OUG+LD1hLm2Vk6qVGGVNXLt0z4R/Kl8+uLqrnzsoEKXNq3Gk00W6lDJUpXlfQtuASij4xf3fZ425kAYbvoU7XBiTyzaaULi2x1OTpEhuT6yw2Vx1N3+O+I90zRVe0kJMauns8RElE0icFwMUM4G7I0yXW7adb+O+KzZ6GhrE7EWy03wsSgxoyFfHKv7XuiPaDKnNHeq8LKAzemCcPoIwKe2S+HsRTHQHf2VL1OMyot4AmndW8uFKXxxTialzXic5TzmsHFcFaLOSYzdwXpA7yf2YILKkwpui2hLhXwVifp8POue9KMIzbwU13AbMYc0amPkXXwuK23IWqyR5gGgkoEkgn9HDJsSueSBNoqq7EOZZYwZpYAdArdkaxVtWPj4ZQytlP6oU/jiHtVCLAyPymQWOIMPfbiM49TIUPUsERNmtl29al/g5yEu/yaKOi4E1FggS384I2eOF6C2HPDQW+w+7xSymC7BDtM4Yi8OXdaqU8YjDmhpegs3EaZkq6uzIGSA2AjroASeROHwUUFmMrvLFdCVOpUHec9Kl1nact
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)(6506007)(36756003)(38100700002)(6512007)(66476007)(54906003)(66556008)(26005)(66946007)(316002)(508600001)(6916009)(4326008)(31696002)(86362001)(2906002)(31686004)(186003)(8676002)(8936002)(83380400001)(5660300002)(6486002)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aEwyWGJZeHBsRWlBWW1LZDRCTzdhd1RzMk1zMXFxb2lWZDhJejNEZkJ2ZEd2?=
 =?utf-8?B?dVlGbFRUZldmZjFTVGErNG9OeVphMStkdytBYmZidzhZbHFxcmwwY24vTzFm?=
 =?utf-8?B?UWFmL2Z4ZTZZYndUdHZlb1cza0VISXZNYlVxVHFZSzRpTDJHUlJyZkd5eE5T?=
 =?utf-8?B?K21STnJrZUQ2RzdFZ2FXL0ZBTGg0alArVUZic3MvY3B0dnVGNHdyRnRWRjVN?=
 =?utf-8?B?NVM0WFNwZkFEelE5WGFIQVNZbDMyQ0MzUXd4ZEQ0SDRoZUdzL0ZBcVMyRkk2?=
 =?utf-8?B?TXJCdTNVK2syWVdWQ1ArWlhGVjJndkd2ZUExMEE0bUIxaVFnZGo4NUxIWmY3?=
 =?utf-8?B?S2pNd2wweHpRS0dhOXZiekZFRG9DUVI0ZVJlbm01ZkV2WTRMZUxoaS8xWnFU?=
 =?utf-8?B?cDF6NWQ1OUZkWkxpOXZFUU1TNmdYR1F2OCtEblN1UCtBb3RnNnEwbVFxM2ty?=
 =?utf-8?B?OVMxQWlEcW9keVdQN0RMK21CZlQrbGd5dmxoRW5OYzVzNDRkNjhBSUlZMDFT?=
 =?utf-8?B?cEY3N0c3aXJhV1VBR1BKb1hReWhTcStlYnUvQUhxdUIrYWsvR0h3aTc4NCtq?=
 =?utf-8?B?VFM1UFpGZGpkWFhwNVNtNUhZdUZwdGZST1BZRVlyYng2MHBORWwzVHBZR2lx?=
 =?utf-8?B?MzZiaVdyYm9mQlBibTBNQzBhM0FlYnlQZHVsN09tZXM4YjJQUnhpd3JiY3N6?=
 =?utf-8?B?d1k1ZkkvYkF5OElCUWs2UEVIdFpwNVh4dzliUHdSaFdhM1JoZTNrRHpaVDI2?=
 =?utf-8?B?VXBHZmpIVGdNSVNzY0RoTnhZZStJSG50WUJ3SnBsanBUMzhqbzVTMllXUXdG?=
 =?utf-8?B?Q00walBDNm9JeGVlU3NicDRxV2lNMHJycTNpL0FZQlJtVDVWVmVxQk1ZalNL?=
 =?utf-8?B?d3BCdTV4d1NIMVlzZ0hXTzJINC9nMWJZKzViQzBKRmowUE0xUVJtc1RTNTR3?=
 =?utf-8?B?NGhQWGpHR0o4NGFscEhnUlpVUm9kMXZMNTFMbitUV1VkU1lMeFZCdFVOMlR3?=
 =?utf-8?B?UmJYb0Rndmo2dmttUDZOR1ZRZm8waDJ5aEU4VnhTaEVHUEtEVng5YTd1TVkv?=
 =?utf-8?B?TnV5TGxrcHZYNWFmYkRYTFhHSGhiUDZiTXhHUEhKSFRYc3RmRmVGcHkveGJy?=
 =?utf-8?B?c0hqcDB4cEhpa09yL2ZnbC9sRnFUQjI2enY5Rkg4L3Fidk1HM214aWVudTc1?=
 =?utf-8?B?OU9ib2d4WmUvUlFVcXRlYTNnVURtWW9XRkw0azZRMW1nVWVhUTF6WTlmQjVo?=
 =?utf-8?B?UnBUakpzYmRPb3h0dU5IRGI0elIxS1pJTVU0b0JvcXcxdzRJLzNCUkd1TWRB?=
 =?utf-8?B?RDlsY3E5czdSSlgwbThpMk1KdVdUQ3hvSUdZYzdJNEF0MzcvV0QzcUV6WGhM?=
 =?utf-8?B?OExHT0NHSU9UcC8zbnhuWGY5ODZvejNPWGpjdTdwZzg5bHNyL3NkU1orK2oy?=
 =?utf-8?B?WStvK21oZHg5eEhBYWg1ZEIyNkNRNmFybWwwQUlKaWNCK2NCSndtSGVDSGla?=
 =?utf-8?B?SVZjQzBzUmhVSEE1SkhRak9PaW11UXV3NDFKcU5NdzRFNVA1ZXg2UEJ5Wkhi?=
 =?utf-8?B?ZEdLWkZQdTRYNFBabm1jMkR2S1lyaTFBOHg4QUM3SUs1WC8xYjJuc0F2UG5l?=
 =?utf-8?B?aFBwQkZnUjJJSVMyblFLclpLbkt1aE1EeHQyajlCdnJySlRnTEM1NHFCMktP?=
 =?utf-8?B?Qy9IWlcxdVdsVlNEMElkZ3piKzdtRUxzeFJ5NDlrQm4vLzJCWlI5RzlTMUlq?=
 =?utf-8?B?WGQvejNEWmVRalpGMFUyM0FvUThBV3BJenUrcTVWM0lvTnRyMVJ0UWduVlRN?=
 =?utf-8?B?VnZxcktWdXl0KytvcTdZQTBRcE1kRXRJWC9ZaGRJaDhrdmZzcEdDU08vUTh0?=
 =?utf-8?B?RFAvNGw0dkdnUnFsWkFvb2VFVjlodzFEQU55MWFvU1NuNGFxcXlOWkYwTHN4?=
 =?utf-8?B?eGQyUllEZ2lnNXFRV1VrT1BTa2pEN05OVWZDYXkrYTRrM1NlTkpxZUdSVGlX?=
 =?utf-8?B?dENvam5JUU5HRjFQOUh1T2owdzlZM2NPT3hydmJad0l2NTVZWnVXRmhPM0ha?=
 =?utf-8?B?TWpMQm4vL0xNblpkcTNyQ2ZxaXBMSExPRFVEVVo0OXBzSjhPZDJOSjdva0g1?=
 =?utf-8?B?cEw0WVptdi9ucXoxM3kzcW1Ec3FXQWRxaEVXQmdSYTBPcnNZQWRGN3lqSGlt?=
 =?utf-8?Q?s2RiY3fsv/mzWISUF2xhXas=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 72cc61ff-c3d7-41dc-c842-08d9d66b02f3
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2022 08:02:15.0270
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ed7vya2iF2mNRl/ZDl421gIW7gZA8OeDiNeprRYr8SzKDjKAW60U/NgWeRBuohIv5BaPYZl5FRc+lRM51bCbjQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7360

The involved asm() expands to large enough a construct that often the
compiler would decide against inlining when a containing function is
used more than once in a CU. Use the "inline" keyword when supported by
the compiler in conjunction with asm().

The INIT_SECTIONS_ONLY dependency is because in that case "inline" gets
expanded to "__inline__ __init", which obviously can't be used with
asm(). But for init-time only code we're also less worried ...

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Perhaps this wants extending to other asm()-s involving ALTERNATIVE().
At which point the question is whether instead of altcall_asm we'd want
to have something line asm_inline.

I understand that Linux uses Kconfig for the feature detection. The
discussion on whether we want to generally follow this model continues
to be pending / stalled. In this particular case the error output from
the compiler when "inline" is not supported can be huge (thousands of
lines, partly because of the many nested levels of macro expansions),
making it close to impossible to recognize what the actual issue is. Yet
that's what would be happening if one switched the compiler from one
supporting the feature to one not supporting it, without remembering to
explicitly have xen/.config re-generated.

--- a/xen/Makefile
+++ b/xen/Makefile
@@ -250,6 +250,7 @@ CFLAGS += -Werror -Wredundant-decls -Wno
 $(call cc-option-add,CFLAGS,CC,-Wvla)
 CFLAGS += -pipe -D__XEN__ -include $(BASEDIR)/include/xen/config.h
 CFLAGS-$(CONFIG_DEBUG_INFO) += -g
+CFLAGS-$(call success, echo 'void _(void) { asm inline (""); }' | $(CC) -x c - -c -o /dev/null) += -DCC_HAS_ASM_INLINE
 
 ifneq ($(CONFIG_CC_IS_CLANG),y)
 # Clang doesn't understand this command line argument, and doesn't appear to
--- a/xen/arch/x86/include/asm/alternative.h
+++ b/xen/arch/x86/include/asm/alternative.h
@@ -203,11 +203,17 @@ extern void alternative_branches(void);
 #define ALT_CALL6_OUT "+r" (a1_), "+r" (a2_), "+r" (a3_), \
                       "+r" (a4_), "+r" (a5_), "+r" (a6_)
 
+#if defined(INIT_SECTIONS_ONLY) || !defined(CC_HAS_ASM_INLINE)
+# define altcall_asm asm volatile
+#else
+# define altcall_asm asm volatile inline
+#endif
+
 #define alternative_callN(n, rettype, func) ({                     \
     rettype ret_;                                                  \
     register unsigned long r10_ asm("r10");                        \
     register unsigned long r11_ asm("r11");                        \
-    asm volatile (ALTERNATIVE("call *%c[addr](%%rip)", "call .",   \
+    altcall_asm ( ALTERNATIVE("call *%c[addr](%%rip)", "call .",   \
                               X86_FEATURE_ALWAYS)                  \
                   : ALT_CALL ## n ## _OUT, "=a" (ret_),            \
                     "=r" (r10_), "=r" (r11_) ASM_CALL_CONSTRAINT   \



From xen-devel-bounces@lists.xenproject.org Thu Jan 13 08:19:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 08:19:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257019.441387 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7vKF-0003hR-Cm; Thu, 13 Jan 2022 08:19:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257019.441387; Thu, 13 Jan 2022 08:19:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7vKF-0003hK-9X; Thu, 13 Jan 2022 08:19:15 +0000
Received: by outflank-mailman (input) for mailman id 257019;
 Thu, 13 Jan 2022 08:19:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fwfT=R5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n7vKE-0003hE-6E
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 08:19:14 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7d280e95-7449-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 09:19:12 +0100 (CET)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2050.outbound.protection.outlook.com [104.47.0.50]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-3-lwzITUt1Nd6A6WVF1Rkc4A-1; Thu, 13 Jan 2022 09:19:11 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VE1PR04MB6479.eurprd04.prod.outlook.com (2603:10a6:803:11c::33)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.7; Thu, 13 Jan
 2022 08:19:08 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Thu, 13 Jan 2022
 08:19:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7d280e95-7449-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642061952;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=KScsDY4LwyagADaLvB1K2RfpptsFjmeM09CnVIYa2dk=;
	b=PnOQZc6EQT1ywILYxIpxahveX70CsC5iPPL17sxLynf3bU+6BftyPqiuGeHiSmVHG+WZDg
	bJPLb3LR4oEOSSHfHP+nfWrGIiHFnB8XJG8ohmi2vrSBSi+392HIkx34/PQ2i480BZUL67
	tcwyj2dyE9gZZ0ByEEyEj7ZYnE1BVeI=
X-MC-Unique: lwzITUt1Nd6A6WVF1Rkc4A-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XnyDFMKe406UsuIyhNgHZEjQQr+0DmWMORBSI2zIiMPep6J86Zhus3E6OgGJW5Y59/n7qdMHPXBENcthPKRbvdml45zI5V4VhlmX24NYcXzEJ/2TCtVF+VvoxxpTPq2PDdR3i5tHhW85Mc/70tA6hdA/W2S20G9aEvkxb6vCqbcPEKvTSQsOrppCLgvDc8QseVe8YdvntCz9bvaQzzrlQCU78VRXuzaUnYQUl4BcxG4MzRZwPwYwxUz5B2MRD5BgVL0PPSWDu8OhEl13RFjhhFqYP+CHTMrhtOarVm5gSTHvB0Lc39tM83Yzgx9LNOc8OHPc8Ef/mPAVfWQJJWmYsQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KScsDY4LwyagADaLvB1K2RfpptsFjmeM09CnVIYa2dk=;
 b=lUYE3Kp98ku+k2G4555ErvGm4eY0vYOqXMMjRHZnPCKrE23MMmJoBMWolw3uT40Sv770nOs9PX5hyu0EdFcEq5D0YKNMXGDcNQuSKP0M6kR6tabm5ujJE+7JEqneh/raHKaFO1VL09cipYOqAzRvVutzjQIW+6rJYfesfncQT2Gc4wBxQ6ns+xwvBvD1N9sQ8ZigLcR0BK1eEwhvmsPlsbD44n/LnAr/dpzo+s9lH/dj9szpryb988Ey06HlDbO1nhi2uXVNcsrY2C2iQh98thO/EjSiH/vDA3OjV8aLXWN6IxqGBt+tB1vzHzHEaGmv8a3DrxIVQjfsTzUsR8kCCw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4ac4cdbe-a3bf-2be1-1e1b-789ac5de067f@suse.com>
Date: Thu, 13 Jan 2022 09:19:05 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [XEN PATCH v2 2/5] xen: export get_free_port
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: jgross@suse.com, Bertrand.Marquis@arm.com, julien@xen.org,
 Volodymyr_Babchuk@epam.com,
 Stefano Stabellini <stefano.stabellini@xilinx.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop>
 <20220113005855.1180101-2-sstabellini@kernel.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220113005855.1180101-2-sstabellini@kernel.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5P194CA0018.EURP194.PROD.OUTLOOK.COM
 (2603:10a6:203:8f::28) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 37c09830-95be-48a3-943b-08d9d66d5ec9
X-MS-TrafficTypeDiagnostic: VE1PR04MB6479:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB6479657890518A009E1FFED6B3539@VE1PR04MB6479.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:
	tm79zw/so9aWZApBZqP0N78GdFnwTaj/qjLt4a9kDYL3tP5HePRGCSbyO1WxsoIlI0CaXfbR4KuJZr/unCi6GyMSu2CCFJcgD9mPoKDCvq8KD/JpKNxOV8kjXFqvE9OlJwl5uyjhV/ifQaUoIQHmT7SUzg1zFe+OsRUEve5njRTRklSiYdQMAUE8VklfvosA5kJY+lnihbZ74oDT83hkNZx2l4kvIllIcXgrVkdgdQ/CRlfKmh2Mi9eAaK7G4NbmTsghSpKGuvPWO831eDcHvlt1RIRQdmOgscW/yGUE8oqHFzLKQdycmz1eLr+L1Lb2KSE5ju6gAqenF2gqjlRHaU/hjZasmtQSDjNZwhQXQHdDxSxGCqOM/JKp+9uCh1NYH7MH2ogdPUnE7/YWzaeXHsEpLZf++65CZn8MDZ8oCtqHiXBdcj+9pmRzMk8czZAnKoi82y4gceXDsOmYdpuzjlK3RUPQAr/aZRCDEpS5+sF7HCwIz5IURO/YSxHXWrxzW/6NrxmKbRBlquW7fuSDXXJNaKosTLu54hetD0R8VLmwsiClHwd5SMMfT3PEAVNryqEKDg+GK81pJEfawYrcT+hRo2I2Tm6dTm03197Sp6cHcDMoXrM5RCbNfIpGMiji08OLq8QKIdm7tU3pOOxSqIwIuO02IxVJBBMf4RzGW2zqM+IHmV59N4d7367K+zgQrqVmsZ6Wv/eG0+19LDTVF7U0scd1xA1tS4ZTtw0drkHx9xxsSuz2cATka5MRUtMB
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)(2906002)(38100700002)(31696002)(36756003)(8676002)(186003)(8936002)(31686004)(66476007)(6916009)(54906003)(5660300002)(6512007)(4744005)(26005)(53546011)(2616005)(6486002)(6666004)(66556008)(508600001)(66946007)(6506007)(316002)(4326008)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VWxmVjgvTEkxWnFSa3FIMFNyMUdmS25DNGdyb3UxdnkreHk4Z3JkbW5URG96?=
 =?utf-8?B?MWpLMVc3Zjg1eGUrRFltU08xOWgrQUxVZE5ySHgvTm1IQXAzTVN0dGcvT3RI?=
 =?utf-8?B?REN2UVQ3Q3huQzl3eXN1VkFOdEVDNXcxYjUvWnNENnFTc29xS3VwS3hLaW1m?=
 =?utf-8?B?ZE5TWFRHaDJ3QmtaUTNYWGZNM0ZtV2RpUkFLeVNoYm1wVGwrVEZ4UzMxTG9w?=
 =?utf-8?B?YVNPK2I4STE3NnRkZ0xld04rblQ4NDNiTXVuZjFZNmUrZzFpandCSVg5UElW?=
 =?utf-8?B?ZFg5S3hkR1g4QWF5OHV1OUVzQ1BQY2ZONHY4YnhRVE8xZ0FJanRWY2dETTBy?=
 =?utf-8?B?b3ZxeXhIL3dNV3hEQjFBaVY2cmprTXN3MUJVUEgrVWlROXlFakloRjNoNCtQ?=
 =?utf-8?B?UEtiUFYxWEVsQjBBQ2xhWUtRZXRoc0pGZ2pqMDFxbHFYV21aY0VTM0w5ZVFS?=
 =?utf-8?B?eHREVlAwYWE0NGNHS2c2WjVGNmU0T25nVDdBS0dTT2ZTOFowYzZqSkx1eGpn?=
 =?utf-8?B?V0x6K3UwWUlxeTdTL3RIRGJRT210bkdTcm5yN1J1RVVVNWZ2aG5mV3BlSkY4?=
 =?utf-8?B?OGhKaTlSaXY3MDBVY0pHRjZqZUlHTzFRYWFJRm1ub0ZsYnZTUCtraVVpTGhz?=
 =?utf-8?B?dEdTam9FWHlCU0RxSTRDZHU3OWtLcFZVamlWOG15eEJxNkV2YVpCMXpnWEJw?=
 =?utf-8?B?NkpPNFZaaUpIZ0thMGpDZ0xEU0tlc3k3bXM3SWQrZkJhM2hMWUt3MlZMdk1V?=
 =?utf-8?B?VUZDZDBHYm5lUDV4WlFNR0l4Qm5DMjkyMHp1NVc1RVkzOFZzeDNJWFdwNGVV?=
 =?utf-8?B?MU53UkZ1a3BsbnVHWUc2YUhIV0VTWCthMmpwYjAxeFMxQnBoaUgwT0xYTG9l?=
 =?utf-8?B?bTB3NGptYm5pRnVnNUZOQlhpekJMR0lhSzVJYXJoem1kcGljWS9JcFdGbVZi?=
 =?utf-8?B?dXVuYUJnVDhsYkhhZHlmZENPQzBad29CeTVtOHh6NC8ybVpWaTBobWduU3l4?=
 =?utf-8?B?b3FzSllPemJsc28zVzl3VWFZMkhwakVLVXhtSkFoL3RCRytzUkJUa29CQjhw?=
 =?utf-8?B?dmxZR1JzMTNUK0RhNVlDQmhrdlZuZ2hrbUIzRWlUQlQzRGl2cEZqc3pwcUly?=
 =?utf-8?B?SWlkRTUyRDFweisvV1BXQmlGTVVLSlhjSXdxOGo4SkpUQXByR1cxREp3Q1Q1?=
 =?utf-8?B?bktjckthSzh0R1FDWEpDVnRLd202TFpCc1dhbEpXMnZNclhWdkVkd0VxMXVI?=
 =?utf-8?B?R0NMdjZDOXp2alBIK0dkZzNOendaQlZ5eFNmK3ZadUQwVVhWY2xzalRlRmM5?=
 =?utf-8?B?RjNXY05rQUFFUytGUWhpdmFwUFZvNkVQRmZLejdLejJLZkJ4aU1jT3F1M0x1?=
 =?utf-8?B?elNTNmF6bE94MHJFM1dmNWkvZmpmbHdRNWlHMXNSN3BXMUpqZDh0UjByZm1w?=
 =?utf-8?B?SktlYVVYVEtQSjBka2ovcFp3ZURzNmRlN0lwZ0tXMVd1eGRxT1NYVWRuMVJo?=
 =?utf-8?B?MFV1VWZQZlFvMXBKbUJlR2hTNnBHY2ZPTFJZalBhbXBlZ3BFRXFwRnVpTkRy?=
 =?utf-8?B?RDJoQ3dmRHF2ZlRyeEY1UldGS1VtUVhWc2NGZ3VvQ201dm9QZHY5Y084LzVD?=
 =?utf-8?B?Z2tiRzZ1eXlyV3FBMWlXSjBXR1NqMVI1ZFA4RjhpNFd4ZFk1Z2N6ZlFTcG5v?=
 =?utf-8?B?UENQbUdPV1ltYk0wMzhxaE5icXRMaFZBYzJLQ3lWTldmSXl4bmVPcmo2TjE0?=
 =?utf-8?B?bWxjTUExQ1hZVUU1ZXM4MDlpdG9SMm9jTzVwc1NlbmxwbmwxbUc5Vmw3T0lk?=
 =?utf-8?B?TkIwQUNXR3NaYnkvRHBBTVRULytMZzVNajlQaTNqNUpjYU1LNzV4RjZKMndk?=
 =?utf-8?B?SXBoa1N2TFJZdWw3RmpLcGs4bDdabG8wTkUzUVUwNjdsY001WjhzWWJhcGZy?=
 =?utf-8?B?dE5ITStTRHB1cDRIc0hGRzdQcXQwNHBxb0VackVmOVJzVGd1RmRzekh1VWFa?=
 =?utf-8?B?alcwZmwvNElKSnQ1QkRoTFRoeXE4TVRJay8zZlZaS2tNVGo3TDBwU2JYZFNj?=
 =?utf-8?B?TllGU0dOUUphYkQxMnlmRE9uT3NYc0RmU05jUDJJcWtvczJ0bFlkNG1NVUpU?=
 =?utf-8?B?aCtrTDBWazg2NndWNVVSNnlaQVhvYis5dHRYN0RFU0E1SEYxMGhRN0FMRlA5?=
 =?utf-8?Q?TXyLUlTjImbIoC8crD8puQI=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 37c09830-95be-48a3-943b-08d9d66d5ec9
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2022 08:19:08.1103
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: oPY/eMPnVfpqUL4FB8J0Tg6hkWnDG4JjIql8qqJ70VVTsVRFZBfmMfugXAsTlENUzka99sVm03FHq9e/Qf/9mQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6479

On 13.01.2022 01:58, Stefano Stabellini wrote:
> --- a/xen/common/event_channel.c
> +++ b/xen/common/event_channel.c
> @@ -232,7 +232,7 @@ int evtchn_allocate_port(struct domain *d, evtchn_port_t port)
>      return 0;
>  }
>  
> -static int get_free_port(struct domain *d)
> +int get_free_port(struct domain *d)

The name of the function isn't really suitable for being non-static.
Can't we fold its functionality back into evtchn_allocate_port() (or
the other way around, depending on the perspective you want to take)
in case the caller passes in port 0? (Btw., it is imo wrong for the
loop over ports to start at 0, when it is part of the ABI that port
0 is always invalid. evtchn_init() also better wouldn't depend on it
being the only party to successfully invoke the function getting back
port 0.)

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 13 08:30:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 08:30:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257023.441399 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7vUf-0005E7-DI; Thu, 13 Jan 2022 08:30:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257023.441399; Thu, 13 Jan 2022 08: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 1n7vUf-0005DM-9w; Thu, 13 Jan 2022 08:30:01 +0000
Received: by outflank-mailman (input) for mailman id 257023;
 Thu, 13 Jan 2022 08:29:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/WE3=R5=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1n7vUd-0005D3-B6
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 08:29:59 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on062a.outbound.protection.outlook.com
 [2a01:111:f400:fe02::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fdd4f8ac-744a-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 09:29:58 +0100 (CET)
Received: from AM6P192CA0026.EURP192.PROD.OUTLOOK.COM (2603:10a6:209:83::39)
 by AM0PR08MB3316.eurprd08.prod.outlook.com (2603:10a6:208:5f::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.11; Thu, 13 Jan
 2022 08:29:45 +0000
Received: from VE1EUR03FT014.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:83:cafe::49) by AM6P192CA0026.outlook.office365.com
 (2603:10a6:209:83::39) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.10 via Frontend
 Transport; Thu, 13 Jan 2022 08:29:45 +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.4888.9 via Frontend Transport; Thu, 13 Jan 2022 08:29:44 +0000
Received: ("Tessian outbound 1cd1a01725a6:v110");
 Thu, 13 Jan 2022 08:29:44 +0000
Received: from 824a189e7d2a.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 2F046AC0-5D12-4161-9916-2BBD75F5A18F.1; 
 Thu, 13 Jan 2022 08:29:36 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 824a189e7d2a.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 13 Jan 2022 08:29:36 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by DB6PR08MB2853.eurprd08.prod.outlook.com (2603:10a6:6:1d::32) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.9; Thu, 13 Jan
 2022 08:29:28 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::c0c1:d43a:acf3:a59d]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::c0c1:d43a:acf3:a59d%4]) with mapi id 15.20.4844.019; Thu, 13 Jan 2022
 08:29: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: fdd4f8ac-744a-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UbyiUFt3Q7OaC4Btyf0dw7vN1y0TUmlvYD4uWuYYkEs=;
 b=opCu6k4pgHvDPfLY/oO1RCSsn2K6zAAZMnD3/J9OHqiL5ahAM6M5EE7jLIc8kdv7fTqJs/RTmeYcftx4m7sm19yatqDGN34kOT79OAP3M1peB6BB3OFsvrwZUZKJuYqKfbAEljVOF9AoxHrNSyReBRBY2wLQ7UYSNCt+n9HmgTc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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: dde9b556c27ceabd
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dIwOvPVrd/fBT1mpTMWKsC03l7sd6egkyz6BzTug6zidRKjkUsAoD5vbzUqRyPUQ1Ycr8swpQFrl46uub/s3X41q2/tsnfFhDnRnayka7gjh3Fz/d6cRUb2I36LQ+iI7PLBW3LG5zjniBHq4vaCiVs+ToBNMf2VnYSiY6pQBxF1m9Ru9TcrVi9W+wgpMc6Ket2/iVpmKsRrwGOVsGkX7p8537QCmcgy1VduA3pVZXM9nLB7HSW3o3Q/vp28KWqWEjteNLrG/JKmM+4U8iWN1kDRpB/tAorlljKbyyvuzhd7FLPC0Icu8yOJxF+/enuJzWjR64rVFzTcllzOvFxVdwQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UbyiUFt3Q7OaC4Btyf0dw7vN1y0TUmlvYD4uWuYYkEs=;
 b=m7fcsritW96jyZRFFsTqcJPYI3XW/UARJUeoZ2AXjx2/XXohu4gCBQKsoasyiEzkL/d5M7548o4PTley7OFVq46SlTn290eFEyN16qFD0SYuVWh9qPX+OWVK0bzDtIB/9d4bCwS3gkaHNJxY+m8Ay9fdXeqz7z3rjv8iqWVUmQH9b/7FumH3DdCxJ60Gorjwuo8hhZx93ij+sO1jCADpXcgKHG7BY/j9ZPY6DL0ZLJDVR/8Yj+muwxqZIhjknXBaSJs7mjWwU4UdL4/GChkA1Km4uok33S58Fu59w7azPTW5PxRCmnTPBDVHCrdi/E5Na/VWl7igHDqfIau5JZbMzA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UbyiUFt3Q7OaC4Btyf0dw7vN1y0TUmlvYD4uWuYYkEs=;
 b=opCu6k4pgHvDPfLY/oO1RCSsn2K6zAAZMnD3/J9OHqiL5ahAM6M5EE7jLIc8kdv7fTqJs/RTmeYcftx4m7sm19yatqDGN34kOT79OAP3M1peB6BB3OFsvrwZUZKJuYqKfbAEljVOF9AoxHrNSyReBRBY2wLQ7UYSNCt+n9HmgTc=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"jgross@suse.com" <jgross@suse.com>, "julien@xen.org" <julien@xen.org>,
	"Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>, Stefano Stabellini
	<stefano.stabellini@xilinx.com>
Subject: Re: [XEN PATCH v2 1/5] xen: introduce xen,enhanced dom0less property
Thread-Topic: [XEN PATCH v2 1/5] xen: introduce xen,enhanced dom0less property
Thread-Index: AQHYCBjDVbDadtJPZUCNvtY/uFI3UqxgnyoA
Date: Thu, 13 Jan 2022 08:29:28 +0000
Message-ID: <77925E54-B875-4D00-846C-BB957D70BF79@arm.com>
References:
 <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop>
 <20220113005855.1180101-1-sstabellini@kernel.org>
In-Reply-To: <20220113005855.1180101-1-sstabellini@kernel.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: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 4fdc0c22-3cd7-450b-14b2-08d9d66eda72
x-ms-traffictypediagnostic:
	DB6PR08MB2853:EE_|VE1EUR03FT014:EE_|AM0PR08MB3316:EE_
X-Microsoft-Antispam-PRVS:
	<AM0PR08MB3316FDEBD36C4D49851905C49D539@AM0PR08MB3316.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:1850;OLM:1850;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 F+3spM0TZ37Q/P/2gWDhmI5ks8vg0cpDHNUiwgt781BRDMZxZF98geM3T6a7wC56nFXuw+/1dwbA18mY/Qk0V3bKyx3/Dx6T0iyptzb70SsFkRVkEfNYg888hUuAc5gL248N5pxNRX0MfXI9ruBeLEZ52II8yUV9vulH9+UadZbTzGf9WzCL0KK5UMXBYf8xWzcezXj+gEoGK4XMG2e39nsiPF53fzweS0j0HrJDZZ07sNqH0PAAb3hLCbbCILA3kRDgKV5TS6UgqgldNDvKU77Zdw/wQJn6Rc4aPlO2cKz01+abcIzFvCjkUpXK63NWHXEQ7zaKzqlpRb6NN3asGgqmqtLLd1eaJAR6lgeWUoHy1/IU34tAIEhxJSFLF+ExDDTr7pmFVvvyX8CPBfe0pTHnN/c+X9qM1pAndzW72wbUf+CF8dNFxo9I0Vdn7lwB/KiYl2e7V/BDeQMbaAq3n98YhuD2MGgt5m8Wk0pgjOWK9pGjzQAHb55AWq2cG7uoYAHCjIqkMn9IURKANQUEmHl1kIa/EvCpu1HgWpItpxE21qv2dcLSKViLPzzekDmMZkFhn1BJpedF3ZP57sIgwkjsnaAAoxQkXKibNGPUicBn6vU17mCQAZBy08R6M/u9p0o4/G3BsXTWxlRaL4ZzN80ZcWde0UMl4g0Yewo/KQVElKIrXdSP6pZXcOB0fbCEmxYfMGTkz66BbZeh0UIz3i3Zm0/BWNNfDY6Xvr1+mCzx/q3khCISkHVUVANf9bhu5z7TcSv8lVhyzskroaGeaQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(76116006)(38100700002)(83380400001)(91956017)(122000001)(8936002)(36756003)(6506007)(26005)(4326008)(186003)(8676002)(86362001)(508600001)(6486002)(2906002)(316002)(5660300002)(38070700005)(53546011)(66446008)(6916009)(66946007)(54906003)(66556008)(33656002)(2616005)(64756008)(66476007)(6512007)(71200400001)(32563001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <F35061F6F0CDBA4DA0833A0A99B268A2@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR08MB2853
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;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-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	e9327eed-e046-422e-57e4-08d9d66ed0b0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Js+jq9VNkwbPeX7MRjzxTspqc+tgSWuVDalBh8BRaymU81c6jM0bPHBKQqNSKIzXWvujFeEqrb6ieXeyJ7V9JlYor5zgPvsLZPZReourP1j9URMaWR3w13R3ly+m+yqEcj91urJqvppBw55DQis1pChNcPjmkSeoBcQ9sbj5wQwEUkzVCTm/QsFQE81XYZ4LDKuRaPIbtr+1optA9cEGb5Od/yfBfx2GdWEWEZvzg4yCXzCiKyk3v933EO5181YrqhlphbOBrTsIPd8d5Y8w0pE8yNTTs7mM+u8WSs9lxbAH/rAMxpjDWU0iwwyzS68rFCFHXSU8VqZ0VzuGRNneLmZaPr4nD4HUFqbxacInnnIIySdZ/6gRyIs4Qcum9b4qIdVXSXd3AJaPYFvCOXvvaqnWi3AmAnHr9QhIAK0PwwxIC5j5VVoEh43F4LHqIQk3BnUH3ptw/5WCXzeCiiVaa6L7KWXkDnFclRsx0sHySXF5jOZSpBKFtMY4ge/nRLlKrHt4K666UEo+qrLM6AcA9/8cwnuYragbfeTfjFuD4EyM5uXsD/s+mgEOQ2EONEI0sLyhG+itsfAceqXOZCK5KmJn7uVR+ZTgqstSFpQYmj921anQca6Ufghk7vNyXJzshFh0tvftRxoBZhRzZHrJYxocM/yr8ugf3ZySjDuVm6dwZzbCTMa6NSNb8Ag0O2rU+W16RycHBDUu5nwUfVc3PXhJcwSq1+E+7gIcpg1eqqJF6NjknJHYUJ1kNnhu8Kaq8PDXPzgl64Vzg8aGhKN/DvUght385V5Xqun/GvAEC3k=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(40470700002)(46966006)(36840700001)(508600001)(4326008)(33656002)(83380400001)(86362001)(81166007)(53546011)(36756003)(316002)(40460700001)(54906003)(356005)(26005)(82310400004)(186003)(70586007)(2616005)(6862004)(6486002)(5660300002)(107886003)(36860700001)(6512007)(6506007)(8936002)(336012)(47076005)(8676002)(2906002)(70206006)(32563001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2022 08:29:44.8223
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4fdc0c22-3cd7-450b-14b2-08d9d66eda72
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: AM0PR08MB3316

Hi Stefano,

> On 13 Jan 2022, at 00:58, Stefano Stabellini <sstabellini@kernel.org> wro=
te:
>=20
> From: Stefano Stabellini <stefano.stabellini@xilinx.com>
>=20
> Introduce a new "xen,enhanced" dom0less property to enable/disable PV
> driver interfaces for dom0less guests. Currently only "enabled" and
> "disabled" are supported property values (and empty). Leave the option
> open to implement further possible values in the future (e.g.
> "xenstore" to enable only xenstore.)

You should also say here that you set this option to true in the code for d=
om0
and that the option is only for DomUs.

>=20
> This patch only parses the property. Next patches will make use of it.
>=20
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
> CC: Julien Grall <julien@xen.org>
> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> CC: Bertrand Marquis <bertrand.marquis@arm.com>

With the previous added in commit message:
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

> ---
> Changes in v2:
> - rename kinfo.enhanced to kinfo.dom0less_enhanced
> - set kinfo.dom0less_enhanced to true for dom0
> - handle -ENODATA in addition to -EILSEQ
> ---
> docs/misc/arm/device-tree/booting.txt | 18 ++++++++++++++++++
> xen/arch/arm/domain_build.c           |  8 ++++++++
> xen/arch/arm/include/asm/kernel.h     |  3 +++
> 3 files changed, 29 insertions(+)
>=20
> diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device=
-tree/booting.txt
> index 71895663a4..38c29fb3d8 100644
> --- a/docs/misc/arm/device-tree/booting.txt
> +++ b/docs/misc/arm/device-tree/booting.txt
> @@ -169,6 +169,24 @@ with the following properties:
>     Please note that the SPI used for the virtual pl011 could clash with =
the
>     physical SPI of a physical device assigned to the guest.
>=20
> +- xen,enhanced
> +
> +    A string property. Possible property values are:
> +
> +    - "enabled" (or missing property value)
> +    Xen PV interfaces, including grant-table and xenstore, will be
> +    enabled for the VM.
> +
> +    - "disabled"
> +    Xen PV interfaces are disabled.
> +
> +    If the xen,enhanced property is present with no value, it defaults
> +    to "enabled". If the xen,enhanced property is not present, PV
> +    interfaces are disabled.
> +
> +    In the future other possible property values might be added to
> +    enable only selected interfaces.
> +
> - nr_spis
>=20
>     Optional. A 32-bit integer specifying the number of SPIs (Shared
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 6931c022a2..9144d6c0b6 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -2963,6 +2963,7 @@ static int __init construct_domU(struct domain *d,
>                                  const struct dt_device_node *node)
> {
>     struct kernel_info kinfo =3D {};
> +    const char *dom0less_enhanced;
>     int rc;
>     u64 mem;
>=20
> @@ -2978,6 +2979,12 @@ static int __init construct_domU(struct domain *d,
>=20
>     kinfo.vpl011 =3D dt_property_read_bool(node, "vpl011");
>=20
> +    rc =3D dt_property_read_string(node, "xen,enhanced", &dom0less_enhan=
ced);
> +    if ( rc =3D=3D -EILSEQ ||
> +         rc =3D=3D -ENODATA ||
> +         (rc =3D=3D 0 && !strcmp(dom0less_enhanced, "enabled")) )
> +        kinfo.dom0less_enhanced =3D true;
> +
>     if ( vcpu_create(d, 0) =3D=3D NULL )
>         return -ENOMEM;
>=20
> @@ -3095,6 +3102,7 @@ static int __init construct_dom0(struct domain *d)
>=20
>     kinfo.unassigned_mem =3D dom0_mem;
>     kinfo.d =3D d;
> +    kinfo.dom0less_enhanced =3D true;
>=20
>     rc =3D kernel_probe(&kinfo, NULL);
>     if ( rc < 0 )
> diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm=
/kernel.h
> index 874aa108a7..c4dc039b54 100644
> --- a/xen/arch/arm/include/asm/kernel.h
> +++ b/xen/arch/arm/include/asm/kernel.h
> @@ -36,6 +36,9 @@ struct kernel_info {
>     /* Enable pl011 emulation */
>     bool vpl011;
>=20
> +    /* Enable PV drivers */
> +    bool dom0less_enhanced;
> +
>     /* GIC phandle */
>     uint32_t phandle_gic;
>=20
> --=20
> 2.25.1
>=20



From xen-devel-bounces@lists.xenproject.org Thu Jan 13 08:30:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 08:30:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257026.441410 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7vUz-0006LG-Pp; Thu, 13 Jan 2022 08:30:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257026.441410; Thu, 13 Jan 2022 08:30:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7vUz-0006L7-MT; Thu, 13 Jan 2022 08:30:21 +0000
Received: by outflank-mailman (input) for mailman id 257026;
 Thu, 13 Jan 2022 08:30:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MCEk=R5=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1n7vUy-0005D3-Nm
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 08:30:20 +0000
Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com
 [2a00:1450:4864:20::430])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0abd7208-744b-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 09:30:19 +0100 (CET)
Received: by mail-wr1-x430.google.com with SMTP id o3so8642560wrh.10
 for <xen-devel@lists.xenproject.org>; Thu, 13 Jan 2022 00:30:19 -0800 (PST)
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 k23sm1752946wmr.36.2022.01.13.00.30.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 13 Jan 2022 00:30:18 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0abd7208-744b-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=message-id:date:mime-version:user-agent:reply-to:subject
         :content-language:to:cc:references:from:in-reply-to
         :content-transfer-encoding;
        bh=VxLov1MZBN2Ab6gB3yGozaeTOE8ijNEaDM2uD/TKn3Y=;
        b=Ni13/1r8lYKMiCSIIYgO7gV7S1QOV61B9d7Wg19fIjdDHfZZwvKVBU/2MS+ONLsvPX
         4h2S1l7uN70XEbNWUBd4sBK7bMVZqAiQPEWGBJa4khIpT/j7CGMWzxoNweVTS8uFGb1H
         waIbwIDj4MJC4ZMYOX2PjrpZZ0kmb6iMo/81syuyLe7yAy2NoOibEUgcC0KgitwZQAHI
         15wUZZXrq5XwLTcjIhmEY28LZnorK0ytFCIwpYn2NBFxw88AezC6Z7HjCtxz4NdLHvfL
         5PvM0s3q8nghGWikVVSsJyFVvvb1wagJrp7tZN2qJ64+VaLcMVQgKwubw5ZVXsFODbGM
         5Jcg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:message-id:date:mime-version:user-agent:reply-to
         :subject:content-language:to:cc:references:from:in-reply-to
         :content-transfer-encoding;
        bh=VxLov1MZBN2Ab6gB3yGozaeTOE8ijNEaDM2uD/TKn3Y=;
        b=aLuoR00LcMKUofM0Yk6nkG/4VYGrAbcSYFSgCBBSjwBAdsh31JHTcmkgkFvFLR71HA
         afgSMK+mGxkrz8Np2xLFYbHdOV1a7yKWFzdIIv+BxnddMOeIMknVNff+7AZeiV+peZB4
         UxSfCgPEnALUfuKd/3VzsxEpZm14l80gBp3VnJOreyHM6UeLu8wTgMN+nOh+F+isH+05
         JeG/scEi9mBeppy3elzoUsyTqW/wITuovMgDo9jhUHkWupyh6M1mtFg3g/QH3hRKaEq0
         XYRDV5XVV7043iBTlqP+KH2MMD1ZAleWR9E5rjhqzW3nO4z2IdQH0AWVxfHwACD9cL0u
         wxuw==
X-Gm-Message-State: AOAM5310DEF+NRc93JebB10PfV78NpGXngDIc2Zgi0ye2us8PZDnP7O6
	rdlDII91ncqc0TZwY9pSmbM=
X-Google-Smtp-Source: ABdhPJxiPGB97YTtAceZtAD1sWnHjdSlbLQLvyRBarMoY6OriJBmE354O6tFWVLkTVf+jUK+iYwJbw==
X-Received: by 2002:a05:6000:18a6:: with SMTP id b6mr2833074wri.675.1642062619347;
        Thu, 13 Jan 2022 00:30:19 -0800 (PST)
Message-ID: <47b755da-38ec-01c8-2b0c-31ee9a9d7216@gmail.com>
Date: Thu, 13 Jan 2022 08:30:17 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Reply-To: paul@xen.org
Subject: Re: [PATCH v4] libxl/PCI: Fix PV hotplug & stubdom coldplug
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Paul Durrant <paul@xen.org>,
 Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>
References: <20220113040142.20503-1-jandryuk@gmail.com>
From: "Durrant, Paul" <xadimgnik@gmail.com>
In-Reply-To: <20220113040142.20503-1-jandryuk@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 13/01/2022 04:01, Jason Andryuk wrote:
> commit 0fdb48ffe7a1 "libxl: Make sure devices added by pci-attach are
> reflected in the config" broken PCI hotplug (xl pci-attach) for PV
> domains when it moved libxl__create_pci_backend() later in the function.
> 
> This also broke HVM + stubdom PCI passthrough coldplug.  For that, the
> PCI devices are hotplugged to a running PV stubdom, and then the QEMU
> QMP device_add commands are made to QEMU inside the stubdom.
> 
> A running PV domain calls libxl__wait_for_backend().  With the current
> 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:
> 1) The domain is PV
> 3) The domain is running
> 2) The backend is already present

The numbering above needs fixing and I guess you want a "Because..." here.

> 
> 1) xen-pcifront is only used for PV.  It does not load for HVM domains
>     where QEMU is used.
> 
> 2) If the domain is not running (starting), then the frontend state will
>     be Initialising.  xen-pciback waits for the frontend to transition to
>     at Initialised before attempting to connect.  So a wait for a
>     non-running domain is not applicable as the backend will not
>     transition to Connected.
> 
> 3) For presence, 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 or changing to
>     some other state like closing.  If we are creating the backend, then
>     we don't have to worry about the state since it is being created.
> 
> Fixes: 0fdb48ffe7a1 ("libxl: Make sure devices added by pci-attach are
> reflected in the config")
> 
> Signed-off-by: Jason Andryuk <jandryuk@gmail.com>

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

> ---
> Alternative to Jan's patch:
> https://lore.kernel.org/xen-devel/5114ae87-bc0e-3d58-e16e-6d9d2fee0801@suse.com/
> 
> v4:
> Use if (rc) return rc
> Capitalize comment sentence
> Change commit message
> 
> v3:
> Change title & commit message
> 
> v2:
> Add Fixes
> Expand num_devs use in commit message
> ---
>   tools/libs/light/libxl_pci.c | 8 +++++---
>   1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
> index 4c2d7aeefb..4bbbfe9f16 100644
> --- a/tools/libs/light/libxl_pci.c
> +++ b/tools/libs/light/libxl_pci.c
> @@ -157,9 +157,11 @@ 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)
> -            return ERROR_FAIL;
> +    /* Wait is only needed if the backend already exists (num_devs != NULL) */
> +    if (num_devs && !starting && domtype == LIBXL_DOMAIN_TYPE_PV) {
> +        rc = libxl__wait_for_backend(gc, be_path,
> +                                     GCSPRINTF("%d", XenbusStateConnected));
> +        if (rc) return rc;
>       }
>   
>       back = flexarray_make(gc, 16, 1);



From xen-devel-bounces@lists.xenproject.org Thu Jan 13 08:59:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 08:59:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257032.441421 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7vw3-0000mb-24; Thu, 13 Jan 2022 08:58:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257032.441421; Thu, 13 Jan 2022 08:58:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7vw2-0000mU-Uc; Thu, 13 Jan 2022 08:58:18 +0000
Received: by outflank-mailman (input) for mailman id 257032;
 Thu, 13 Jan 2022 08:58:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=64pG=R5=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n7vw0-0000mO-N7
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 08:58:17 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f0142828-744e-11ec-bcf3-e9554a921baa;
 Thu, 13 Jan 2022 09:58:14 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f0142828-744e-11ec-bcf3-e9554a921baa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642064294;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=egLE6eI/hE/ARYckQ0FOhO/sHDb8m53a61kzgfnbf+s=;
  b=HBh0iql/OqUnYETTrAtQzLu9X+ptOf2DpwJKJ1iAE4FdJc+/g4HaaRox
   2VLXvM4ianTWME2r/LHSA4HCutWN3BTp68QnW89HTOI2jja3HwC7sJWmw
   fRbqozp6FfJU89z0QHzR8JiUdpve6OMlE25/LaqGh6cf5bxCCd0EaCF7p
   k=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: G1VXi4/EETmoYBSUyKlR5wcTYW4wfG0y+xKMYZMLu4UUsXAQmJE+2cSL3X27iCJHUZbInh2pFG
 ZWbwxHH3RTB4fbA/hq2gIYdA/oJzimT3KVRmkPyfhJbzku82973FqbFjIf+WEjQvQQ+taLgxcj
 IVgH8azyV489+rLj+1SRXhzq0qN1QJX3gWNgCk5OcyUzmLNur94oGGRXyDVYNnXRox6w6yxuxW
 yCqAygC47sM0xLl4h9yYOFAmUk0b3dsbZyCYZqP7OHJt+ah7TuV1FhYxBs2KcgY21/U6TLBK1h
 +7gO7LxcfI03JRIiFTaWgtzv
X-SBRS: 5.2
X-MesageID: 61903037
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:XQenuK/7HYV/qgCu58FHDrUDQHiTJUtcMsCJ2f8bNWPcYEJGY0x3n
 TEbWW6FPv6LMWb1ft5yYdjk/UhQv5Pdx4IxGVE//y48E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7dg2dYx6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPhW7
 vxmmZueUD00GbaLxt0lA0lKPntHaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguw5K8bmJsUHs2xIxjDFF/c2B5vERs0m4PcGhWZo3ZgVQp4yY
 eIbWAVCUD3KSiZQZE0pM7Unp/rz1yTgJmgwRFW9+vNsvjm7IBZK+LLgKsbPc9qGA8BchF+Fp
 3nu9n78RBodMbS30TOY9lq8i+mJmjn0MKo7DqG188lPkVKax2ENIBAOXF79qv684mauVtQaJ
 0EK9y4Gqakp6FftXtT7Rwe/onOPolgbQdU4O+o+5QKWw6zY+TGQAGQeUyVBY9wrsswxbTEy3
 1rPlNTsbRR1ub2ITTSG97GbrRu7Iy1TJmgHDQcGUA8E7t/LsIw1yBXVQb5LGai5lIetQWnYz
 DWDrSx4jLIW5eYJ3aim+VHMgxq3u4PECAUy423/QGWh6Q9oYZ+/UIah41Pb8PVoIZ6QSx+Ku
 31ss8+a4eMVBJeBjhuRUf4NF7Gk4fWCGDDEiFspFJ4knxy24GKqd41U5DB4JW9qP9wCdDuvZ
 1Xc0T69/7cKYiHsN/UuJdvsVYJ6lsAMCOgJSNjzSPNlTp9fbTWa2zopO3eojzD/vRIVxPRX1
 YigTe6gCnMTCKJCxTWwRvsA3bJD+h3S1V8/VrigkU35jOP2iGq9DO5cbQDQNrxRALas/V2Nm
 +uzIfdm3Pm2vAfWRiDMubAeIlkRRZTQLcCn8pcHHgJvz+cPJY3ANxMz6e9wE2CGt/4M/gstw
 p1bchUIoLYYrSeWQThmklg5NNvSsW9X9BrXxxAEM1eywGQEao2y9qoZfJZfVeB5qLY7lKUsE
 aVVIJ/o7hFzptLvoWR1gX7V9t0KSfhWrVjWY3rNjMYXIvaMuDAlCve7J1CypUHi/wK8tNcko
 q3I6+8oacFreuiWN+6PMKjH5wro5RA1wbsuN2OVfIU7UBiyoeBCdnyg5tdqcppkAUiSmVOnO
 /O+XE1wSR/l+dFlqbEkRMms8u+ULgeJNhELQDmAs+fnbHmyE6jK6dYobdtktAv1DQvc0K6je
 f9U37f7NvgGl0xNqI1yD/BgyqdW2jclj+UyIt1MECqZYlK1JKlnJ3Xaj8BDurcUnu1SuBesW
 1LJ8d5fYO3bNMTgGV8XBQwkcuXciq1ExmiMtaw4cBfg+St63LubSkEObROCvzNQceluO4Q/z
 OZ/5MNPs16jigAnO8qthzxP8zjeNWQJVqgq78lIAILihgcx5EtFZJjQVn3/7J2VMo0eOUg2O
 D6EwqHFgu0ElEbFdnMyE1nL3PZc2stS6EwbkgdaKg3QyNTfh/Ix0BlAyhgNT1xYnkddzuZ+G
 ml3LEkpd6+AyChl2ZpYVGe2FgAfWBDAoh7ty0EEnXHyRlWzUjCfN3U0POuA8RxL829YeTQHr
 riUxHy8DGTvdcD1mCAzRVRku7roStkorl/On8WuHsKkGZgmYGW63v/yNDRQ8xa3U9ksgEDnp
 PVx+LciYKL2AiccvqknBtTIzr8XUh2FeDRPTPwJEHnlxo0AlOVeAQSzFn0=
IronPort-HdrOrdr: A9a23:NFbqv6tmTwvLYkaBuUkN9ne47skC7oMji2hC6mlwRA09TyXGra
 +TdaUguSMc1gx9ZJhBo7G90KnpewK6yXdQ2/hqAV7EZniahILIFvAY0WKG+VPd8kLFh4xgPM
 tbAs1D4ZjLfCRHZKXBkXiF+rQbsaC6GcmT7I+0pRcdLj2CKZsQlzuRYjzrbHGeLzM2Y6bReq
 Dsgvau8FGbCAsqh4mAdzI4dtmGg+eOuIPtYBYACRJiwA6SjQmw4Lq/NxSDxB8RXx5G3L9nqA
 H+4kHEz5Tml8v+5g7X1mfV4ZgTsNz9yuFbDMjJrsQOMD3jhiuheYwkcbyfuzIepv2p9T8R4Z
 PxiiZlG/42x2Laf2mzrxeo8w780Aw243un8lOciWuLm72OeBsKT+56wa5JeBrQ7EQt+Ptm1r
 hQ4m6fv51LSTvdgSXU/bHzJl9Xv3vxhUBnvf8YjnRZX4dbQqRWt5Yj8ERcF4pFND7m6bogDP
 JlAKjnlblrmGuhHjDkV1RUsZ+RtixZJGbFfqFCgL3Y79FupgE586NCr/Zv20vp9/oGOu55Dq
 r/Q+BVfYp1P7wrhJRGdZM8qPuMexzwqC33QRCvyHTcZeg60iH22tbKCItc3pDeRHVP9up0pK
 j8
X-IronPort-AV: E=Sophos;i="5.88,284,1635220800"; 
   d="scan'208";a="61903037"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=m1LqlzRZj2DSWJL7fIKoPCi68RJSJYNUURkScMlp2Advtr66Sj4hNw4CkDtN6PAPUlxzfHhp44gKYJPVxmzR/6dbpoTWASoUqfpHSf0n7G1888oBUGANwU7kAXLQA8qzqgX8qdztifzCNk01bedEwjE1j7li+NKktJdqVA7vbSMPgqlul0sWmX3MD5RWJsLIZqrZZra7GGE6kE9t4rKdG5d0+Qz2XhonE3uzmwPoN6DDfhpPsDWoP+85X51QPY+ldtnGgMVk33Qa+bvJiaSXGChod6P96vsVKyDt9NNOVCwMov3pkALiwCkZ6vpmQug60qcbbRL3LvLjKC3snKUsMQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=B+qhBTT7gxt0T6BkIeV794kwNlxY+fQEhIPLsg+FKjg=;
 b=Iykn2vef71H9yygn/T2OXVUX5Irmh1GZlkPRnYGiKVofUevHf4PLjc5ZnVZP5XMY1HJHas2MatoZ2CkYRHtm1j5jsE5iuI0NB4rQOC2J15Mv2/DrPynCEGZbD08/KS1MIp/+uJKAzKtH+nILMfnun2jIAR4e7HXRYc89LwFGu12KbkIa4kdvVaqX9/tCe0/4gfZErgvRXjLRGQ7x6I0/W/uU1JFx3/KOQWsdR//mhS2OtGKYrD/IbAFxT08cN+Rrp1t713FiO+hCYU3RYltn9YKzcz0G0wI+0+Cp/aAab26OBEUv9J2qBNUNuH9ItJ5U3Z1ZMKU+JC9BOa/fXWm+yw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=B+qhBTT7gxt0T6BkIeV794kwNlxY+fQEhIPLsg+FKjg=;
 b=TbOdZQbCAlikA9lxj8h34Ja11hFbepBq5EN7vRXdxSsALqKl2cWgQ7LGI/B5poEOA7UWR9tnb6pm8Jd/R699NsnqAYATLy6Qb70Ru4tT59YrLsPI3oKykdk2OcghJXMXKVARefVSlpYRG5L7/+WHDMCy33QLQtzvXAJlAmF4fog=
Date: Thu, 13 Jan 2022 09:58:05 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Oleksandr Andrushchenko <andr2000@gmail.com>, <julien@xen.org>,
	<sstabellini@kernel.org>, <oleksandr_tyshchenko@epam.com>,
	<volodymyr_babchuk@epam.com>, <Artem_Mygaiev@epam.com>,
	<andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>, <paul@xen.org>,
	<bertrand.marquis@arm.com>, <rahul.singh@arm.com>, Oleksandr Andrushchenko
	<oleksandr_andrushchenko@epam.com>, <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v5 03/14] vpci: move lock outside of struct vpci
Message-ID: <Yd/pnYDBwsdyLrPN@Air-de-Roger>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-4-andr2000@gmail.com>
 <c7a9020a-9713-47b6-45bf-5ac2c6d4157c@suse.com>
 <Yd73Aq4w2H1Eo01h@Air-de-Roger>
 <4fb1d547-6f6d-c4e8-b2ef-0dea780dd66d@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <4fb1d547-6f6d-c4e8-b2ef-0dea780dd66d@suse.com>
X-ClientProxiedBy: MR2P264CA0044.FRAP264.PROD.OUTLOOK.COM (2603:10a6:500::32)
 To DS7PR03MB5608.namprd03.prod.outlook.com (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 18a313f3-f44b-48be-ccf1-08d9d672d227
X-MS-TrafficTypeDiagnostic: BN7PR03MB3779:EE_
X-Microsoft-Antispam-PRVS: <BN7PR03MB3779BACD08C5445CD80559E28F539@BN7PR03MB3779.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: 3NW7nSGDXOYj1RZGI8PAfaLVQWmPfcpnWOSPH0dxYBANmvh1JacSXlUJamTnD5+5x3wzcuHmvoMQ2tF+M5dJHmKYTJQFQNKS5AwxCALUow5ms0M4KMQhtpC+cNYOTZH+30MB37xVBDqYDlxsJsQRLjbuHsHdFbrCfX6MItZdfNJQIGvPPn7dFjjy/UV5Nhu9GFChtVqZKWjTTCggecApTjtQwnVz8LO7l1gL/P+T3f6FRxL49THjI9IiQS6eAovXccMy0UpCoxEzMDva3lxQ3NjPb4qPAROKE9HHfljYyhcIs4acms3hAMmwxNlqFIJq6nK5cHgerV91EUJYn+EE1El1CkZKcm/MzyYmKgXj+a1fhwkd6QvM409+GhodbXz3IKZlS3W21VT3Aj4DgbunBFKQMMSbO5qBvlBRD65cw1eOAH/ap34mDR9oC4bb54u+E3HWYNh8/bmA+voHT+3l2MVPu8sODDbTfZ4eGyw9jUUOQCuDAls2dBd75pnM97ARY1eJFK1s14rqcvaoTHX93L10RwVEgywuLUb703Pfh18HoAmeb4Ub6W1Mv7qxiFRo4sH//AxPB3u61YY/5nB2XJcwlp8HLE0f/Wq/5AmjxIs0aiKA3gDxW9ijFUkXA7XsVgJBsu9GsbaxaMMG/gpacw==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(26005)(9686003)(6512007)(54906003)(5660300002)(7416002)(85182001)(508600001)(86362001)(83380400001)(8676002)(33716001)(4326008)(82960400001)(66476007)(6506007)(6916009)(53546011)(2906002)(6486002)(66946007)(6666004)(316002)(186003)(8936002)(38100700002)(66556008);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VSs4TnE3SjBDWTZDdE82S0dPWVVYZVVLZXlYdnI1cEF0aGxNYjljbzRzNzNx?=
 =?utf-8?B?enZCT1FNNnhpdFNxNGdzQVcybGtTSlBXN2Y5MEZYSStyYmo2VmoraC9OeGli?=
 =?utf-8?B?MW9mdmRYSDRDUldmb2gzUGxwSFlJOFlxQzVDU05UcWgvdWJZdGlVRjhCbStX?=
 =?utf-8?B?THhrbzVFTUF1ZXV0dlA1dUpLOHl6UHMyYUM1TUtGRnZZSlV6Sm1rOWQ1Y2Ro?=
 =?utf-8?B?WVFQeTZCNDdmZ00rc2RKYlM3VjF5SUlCYXhKUUVXeFdSQk9UcWhsYTgzOVhL?=
 =?utf-8?B?eElRTlBONEp6bUc4b0JHOHNSQUwra2Y4M1N0QzhQZE44QzNZNUVFSnpyZHBP?=
 =?utf-8?B?K3o0VG0ybXVpUWxBYWhaWmdLZXg2NVpwRFJVSHBqc3RKRWRQbTlpK1h0SlFY?=
 =?utf-8?B?QXdJVmp2djBGZkR1SElMM1hWQWc0QmJmZ21KcUxqRDBEdmxPL0Vib1pvODN3?=
 =?utf-8?B?dkNzOE5hTG9yREYwaDNERzJtN1MyMm4ydVcreFRUc2FnR2tlQm1Tdzk5WDBB?=
 =?utf-8?B?WXU2MXpaTDVwK0I5TzAwc2RURW5mamtKUGNhZkg5RE5rWXgwUEFNaWFwNnRR?=
 =?utf-8?B?V3NKbVAyTExNdmdyY1BmYjZPaVJ1R3BVZk1Sa3NQT25CVEdUbDVBTUVjV0JO?=
 =?utf-8?B?cDBXNXhIVW53R093MXhRK0ZXWUJhSG9rU0tTcW02dEVPRkZ0ZUczUC9hQUFi?=
 =?utf-8?B?Z0xqSEQvNDlCcUJFbHlHZ3Q2Z1Zzc2VobGNlUi9ZQnVLdmp0T212UW82UWFG?=
 =?utf-8?B?eHYwaythQnNsbXV0MlhpV3p3c0JyL2U5Qm9Cb3VFODNGUlh4dERQNUtaYkJF?=
 =?utf-8?B?Yzg3UzRRQWFvNVJzdXpzNDFzMGtybThqNUpnSGFxUnFyT3lsNjlaWEJ0Vmda?=
 =?utf-8?B?Vkp6cFZzMHZFUzhIdGQ0R1BtRE1Hd1lVYjdzMElDdVdHaTFsWGpPSmNwZm9G?=
 =?utf-8?B?VW5BcTRzb1BiUTlGaTF5STNFM0FuMXgzeFBXcUlBVWpPMGt6L0VLQUN5MGVj?=
 =?utf-8?B?VCtzdXA4MFp4WFVJeUs5QndSUmFvZlhZcXUzajhyRmQ3QjdLUjIyNDFNdnY4?=
 =?utf-8?B?MDBrZGVCNzZTUmJWVUUwRnFnNnlRVStISnhOa0M2ZWlLVjViQkhsbW9EYmFo?=
 =?utf-8?B?S256VVkwcTU1S0FVNkNRS2FFZ05TbGdtK1FEckxoZ2NKNDdFTEFYZjJJNGdP?=
 =?utf-8?B?d2JiTkt3RnZVa1dORHhBcU5nZE0wNURPcUlvRGs2N0QzT2RKL0UvNzhnVlM5?=
 =?utf-8?B?WnpMVHM0V3lqWllyNkJGdGZNZUZOZVNjcHdubStOT2l1WDJycUVsT2x6R1dz?=
 =?utf-8?B?aElob0lmL1JweWZQb2pUZ0JVTkNoYkV2WVRReGxxbDdMYjB2b2RJUjV3YVZ3?=
 =?utf-8?B?Tk5kR3NsUDl0VDBoVm1iNGs0SUFUOGtRN2FKT0F1UXpVa0s3WU93WE5WU3FS?=
 =?utf-8?B?anI5akN0enlId25FaGw0VlUvb0RTLzNINlZxNXBaSURXZmQ2TStVZVg4MjlS?=
 =?utf-8?B?USt0QnlmMjVmaWJ1dzNyWFEwSE84ZzE2VWZseEh3NUIyMzFlSkluMzhaRXU2?=
 =?utf-8?B?UlJtTDZ5WFZWT0hqL013dDVRM0VTVC9pQmc2Tkp3bEFrWFdINmFvNzR0OTd6?=
 =?utf-8?B?YncxK0RXNGxVSkZOTmRrcXphMk1JVzYybndBbUNSeDFiZUI5bmZmeklrY3pn?=
 =?utf-8?B?ZE0xVkR4SkYxdklXeWQ5QmNBQ3dIbUJrR3ZBTE5QVEdpcVJvNjdhT0NQQTBv?=
 =?utf-8?B?aTVGTSswdWNaM0Q0VmVXTkhybEJxdyt1ODlHZ0dQQ0lnRG5hU0JBU2h1amta?=
 =?utf-8?B?MFlMTzFqNUZkaGJUejNmK2ZCYk4rTXBkSVpqYnM4NmtMVGwzZ0xqUjAvSzBl?=
 =?utf-8?B?UXp2ZFJtYitUcExTdE05NmZJUW5TRHozK2ZvSzR3SUlkWHY0S1pkZ2pZS0ZM?=
 =?utf-8?B?Mm5meWpOUVR6NWxwaUNLYlFOUm0ybjlVTDRHWFlGTzFoL2xiZ3lXNkRPTmNO?=
 =?utf-8?B?TDJLZVNnOS9TOWhIeG5KbnQ2TTlkb0RkYm1FVnBHOFNLWnZraTMrd0dmd2Vq?=
 =?utf-8?B?OXl6L2RIa1hoVTUySmJNL01EQjlnZ0RlajlnYmo0TnBPbXBoS1hVa0pldjcv?=
 =?utf-8?B?aWI1cnIrL3V2ZjVVbTR3VmJnSzAzaHJTcEhoSCt3b3ZyckQxSjc1OG5DV2lW?=
 =?utf-8?Q?83jcvmD7gwBZ5bH20Ens7Ng=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 18a313f3-f44b-48be-ccf1-08d9d672d227
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2022 08:58:09.3356
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: kGSTO+klN0tv7+FDhxjjT0beC0q7DvUEnmlS67tneJLva3tD6HsRjDL2Y7FJsaFc8roveojIVoWBTaeiXdW8Xg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR03MB3779
X-OriginatorOrg: citrix.com

On Wed, Jan 12, 2022 at 04:52:51PM +0100, Jan Beulich wrote:
> On 12.01.2022 16:42, Roger Pau Monné wrote:
> > On Wed, Jan 12, 2022 at 03:57:36PM +0100, Jan Beulich wrote:
> >> On 25.11.2021 12:02, Oleksandr Andrushchenko wrote:
> >>> @@ -379,7 +396,6 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size)
> >>>  
> >>>          data = merge_result(data, tmp_data, size - data_offset, data_offset);
> >>>      }
> >>> -    spin_unlock(&pdev->vpci->lock);
> >>>  
> >>>      return data & (0xffffffff >> (32 - 8 * size));
> >>>  }
> >>
> >> Here and ...
> >>
> >>> @@ -475,13 +498,12 @@ void vpci_write(pci_sbdf_t sbdf, unsigned int reg, unsigned int size,
> >>>              break;
> >>>          ASSERT(data_offset < size);
> >>>      }
> >>> +    spin_unlock(&pdev->vpci_lock);
> >>>  
> >>>      if ( data_offset < size )
> >>>          /* Tailing gap, write the remaining. */
> >>>          vpci_write_hw(sbdf, reg + data_offset, size - data_offset,
> >>>                        data >> (data_offset * 8));
> >>> -
> >>> -    spin_unlock(&pdev->vpci->lock);
> >>>  }
> >>
> >> ... even more so here I'm not sure of the correctness of the moving
> >> you do: While pdev->vpci indeed doesn't get accessed, I wonder
> >> whether there wasn't an intention to avoid racing calls to
> >> vpci_{read,write}_hw() this way. In any event I think such movement
> >> would need justification in the description.
> > 
> > I agree about the need for justification in the commit message, or
> > even better this being split into a pre-patch, as it's not related to
> > the lock switching done here.
> > 
> > I do think this is fine however, as racing calls to
> > vpci_{read,write}_hw() shouldn't be a problem. Those are just wrappers
> > around pci_conf_{read,write} functions, and the required locking (in
> > case of using the IO ports) is already taken care in
> > pci_conf_{read,write}.
> 
> IOW you consider it acceptable for a guest (really: Dom0) read racing
> a write to read back only part of what was written (so far)? I would
> think individual multi-byte reads and writes should appear atomic to
> the guest.

We split 64bit writes into two 32bit ones without taking the lock for
the whole duration of the access, so it's already possible to see a
partially updated state as a result of a 64bit write.

I'm going over the PCI(e) spec but I don't seem to find anything about
whether the ECAM is allowed to split memory transactions into multiple
Configuration Requests, and whether those could then interleave with
requests from a different CPU.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 09:10:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 09:10:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257036.441432 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7w7W-00035M-4u; Thu, 13 Jan 2022 09:10:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257036.441432; Thu, 13 Jan 2022 09:10:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7w7W-00035F-1Z; Thu, 13 Jan 2022 09:10:10 +0000
Received: by outflank-mailman (input) for mailman id 257036;
 Thu, 13 Jan 2022 09:10:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CnG4=R5=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1n7w7U-000359-Dx
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 09:10:08 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2062b.outbound.protection.outlook.com
 [2a01:111:f400:7d00::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 98dfa603-7450-11ec-bcf3-e9554a921baa;
 Thu, 13 Jan 2022 10:10:06 +0100 (CET)
Received: from AM5PR04CA0035.eurprd04.prod.outlook.com (2603:10a6:206:1::48)
 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.4888.11; Thu, 13 Jan
 2022 09:09:53 +0000
Received: from AM5EUR03FT048.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:206:1:cafe::d9) by AM5PR04CA0035.outlook.office365.com
 (2603:10a6:206:1::48) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.9 via Frontend
 Transport; Thu, 13 Jan 2022 09:09:53 +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.4888.9 via Frontend Transport; Thu, 13 Jan 2022 09:09:52 +0000
Received: ("Tessian outbound f493ab4f1fb8:v110");
 Thu, 13 Jan 2022 09:09:52 +0000
Received: from d6682d5fde38.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F0B4AFDD-8545-4C72-92CA-E9E3E7FDE0A3.1; 
 Thu, 13 Jan 2022 09:09:46 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d6682d5fde38.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 13 Jan 2022 09:09:46 +0000
Received: from VI1PR0801MB2125.eurprd08.prod.outlook.com
 (2603:10a6:800:5b::23) by VI1PR0802MB2224.eurprd08.prod.outlook.com
 (2603:10a6:800:9f::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Thu, 13 Jan
 2022 09:09:43 +0000
Received: from VI1PR0801MB2125.eurprd08.prod.outlook.com
 ([fe80::cf1:97d5:63ff:e9b0]) by VI1PR0801MB2125.eurprd08.prod.outlook.com
 ([fe80::cf1:97d5:63ff:e9b0%12]) with mapi id 15.20.4867.012; Thu, 13 Jan 2022
 09:09:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 98dfa603-7450-11ec-bcf3-e9554a921baa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pJnGsVNctt45zM2zh0YY+aAE9eSAAvdaGy41jNfhQCE=;
 b=uPHLpvcbqdrjhvpbC7nq8QqIn+irWkW/iQgZWku+x5o81SxWyvxn4P31jyoBcGtMJAJQDTKy8m+kmkpA3fJzhzQ/4O4LwMlLLgZpy0CaMH44UjMMYmZR2FL1ze6e2ajmkYeleegPUiolqI7uoOfOHLraCosmvZlQWJ2PLSOL2xs=
X-MS-Exchange-Authentication-Results: spf=temperror (sender IP is
 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=temperror action=none
 header.from=arm.com;
Received-SPF: TempError (protection.outlook.com: error in processing during
 lookup of arm.com: DNS Timeout)
X-CheckRecipientChecked: true
X-CR-MTA-CID: 2f554e2a67321fe3
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WCew6YUscnJN8TUF0Np5fsGS5vUJAD/ogSgJtiHlMFbMwEiBAMH2uexv3pKwOPtsFKFQmtzLcvmgMohXJwT4nRJBansfEPqo3x1zWA4h+vxF2iOAVvPn2RRRP7Mjtwf/5q83gvXsVjanwLn2xh3VnIuVCJ0xiC/BYLQZbK0RJsBha2KFH378ib4ndvPxCamwExyssB03lA7mS+fWjXo/L07vO0ySkrrOVwP/Tu+ZvMcP3YzDRZrtbJDj28+jHkCrM4nIUBFYWKEswDoMFWioKQXPrqu2u+SpAZMNmLYRAQ3EzoTuLPH+L/GkIP//gAXpne1E4Qc0iDLhB4SvIlC0zg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pJnGsVNctt45zM2zh0YY+aAE9eSAAvdaGy41jNfhQCE=;
 b=NmO2kNvFxCBt0cWIdFK6gbjioZAgvP5a7fyYseSrL0htRkm1rWII77ghr1E8AIw0cOJFMU9W2+sqhnwXwJKBpKZRXCwZW424I1ZEYcY2U5rioZDFY0Hs2vLpHcuJ7zAEPZfpub0eMZKyOZxxpupx/6VvEKw5mR2v/IsYQkuVrt8BGIZWPgBLkrzDak43cNYfjoFL7jdi4h+I22xqhCBunJ/4bJTcvSYDLNjqAi2pqpOp+4paKXVDb1YkoqRUIDRZVdxlmL6zGCqa4s0EO5IeghQ99lZEeQZqunjQXRuPK4/W12DqqPwNwmLSqNWoayXICM2lDomcbOEAbXZhu4lirQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pJnGsVNctt45zM2zh0YY+aAE9eSAAvdaGy41jNfhQCE=;
 b=uPHLpvcbqdrjhvpbC7nq8QqIn+irWkW/iQgZWku+x5o81SxWyvxn4P31jyoBcGtMJAJQDTKy8m+kmkpA3fJzhzQ/4O4LwMlLLgZpy0CaMH44UjMMYmZR2FL1ze6e2ajmkYeleegPUiolqI7uoOfOHLraCosmvZlQWJ2PLSOL2xs=
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
Content-Type: text/plain;
	charset=utf-8
Subject: Re: [XEN PATCH v2 1/5] xen: introduce xen,enhanced dom0less property
From: Luca Fancellu <luca.fancellu@arm.com>
In-Reply-To: <20220113005855.1180101-1-sstabellini@kernel.org>
Date: Thu, 13 Jan 2022 09:09:34 +0000
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Juergen Gross <jgross@suse.com>,
 Bertrand.Marquis@arm.com,
 julien@xen.org,
 Volodymyr_Babchuk@epam.com,
 Stefano Stabellini <stefano.stabellini@xilinx.com>
Content-Transfer-Encoding: quoted-printable
Message-Id: <C435312C-1697-4D7D-8F7A-E7BFFA8AED38@arm.com>
References: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop>
 <20220113005855.1180101-1-sstabellini@kernel.org>
To: Stefano Stabellini <sstabellini@kernel.org>
X-Mailer: Apple Mail (2.3693.20.0.1.32)
X-ClientProxiedBy: LO2P123CA0022.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:a6::34) To VI1PR0801MB2125.eurprd08.prod.outlook.com
 (2603:10a6:800:5b::23)
MIME-Version: 1.0
X-MS-Office365-Filtering-Correlation-Id: b142b755-b763-4af6-5b95-08d9d67475bd
X-MS-TrafficTypeDiagnostic:
	VI1PR0802MB2224:EE_|AM5EUR03FT048:EE_|AM6PR08MB4643:EE_
X-Microsoft-Antispam-PRVS:
	<AM6PR08MB4643196224F6966221131EABE4539@AM6PR08MB4643.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:2733;OLM:2733;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 G7vQO6rC0cW1zV67fzXaOJAMr3Y36Iv9zGa+Y4fzjyHIFXZIKCyvd9M7lhQGMtcmSZxncDS0AM8E1puKbU5YCLRHz7B7DcQOctmINm1ksQ+w59wSv6bIl6lu+RtVJq5IDjeXguknKv5xm4FlI2xmv4wgb40rifMp3/8TO2bXLSDTmkGAH/3tuZh+qINo/J+ciYfCbsKaL4upi391wiTTlPkL8BtOcrcM2zOUSqSIsMFAwbsuaQQl4J94kEMRfFo5QKGOkA+dy+7amviJBqS+2Lqfc9tYr8p+pL+x1fYVtfNrc9lLwdD1BpkJgRMAXMoM7mBSaUWSMvHhGjQ51guxMnlcApVO0BZKmtOQ3Mb+Cx4Mu2r4W5lAr4MkagI9559F3yd0gT/14HYfaZByAKiYO1FYzviH9jeg6I7UeCdAaPhJz4lO0JU/RWSfCIuHUl9w9ofPQgl8mIXwlPDT8uP4WbzPmI1Hj7cZ0Bkmv2WkGnB8BPQPqzQUcfaRS5Gbpm/LbqrGGAxNaQhUHMNa0ZLNeet/4Na1U3m9LgoVe0+y0UnHXMGjdRcp3mYLgssKp1yKrMiv8VVf/tKKdQIFzuCVXD7StA17JwaAsm2GbzQpjuUPkcl02LTKPjQ/smGZeslwZS4UBmzYX1cMYmLzqNlX0nKRavvu+vfPVRZIh10EFaZG9TN4ZZysxX34PanTs24GNgEWZs++mo6xI/PtprkB74HhpjTLkPbwTjVFasdsSZl23JC9EiA8lLjpkVjGBtwn
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR0801MB2125.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(86362001)(4326008)(2616005)(8936002)(52116002)(6666004)(38350700002)(38100700002)(6916009)(508600001)(6486002)(66946007)(66476007)(26005)(6506007)(53546011)(186003)(8676002)(33656002)(54906003)(66556008)(316002)(83380400001)(2906002)(6512007)(5660300002)(44832011)(36756003)(32563001)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0802MB2224
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;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-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	6bbdb646-2340-4926-0ede-08d9d6746f78
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NeVemtLfKJMXad8jOL5sirdu8kYoZ91X5LoMZvGLAlB+IdxRO8uN3hG0l7SoL51GWaahizLGC9Z+nwwxTu2e4Xf57JxoYII0Pe+rU0eZkA7czFDIC0PABi56RBbwa7RYXai678kaalzOfUvsciqqkuF4H13kac5DMRiP9goxxwZXs19y1RlMbioGpU1PGOphtObuqEMtFkHl3c8nRotpT7OlD7uLLkV11G8dHctAYtlPeBaGTShsG02/dVlV6TrHPtaJrBecrRRnUJwvW1GnwJBoTfSWeQw9bmMSMdhbZQ6sv5MFymGSkdJiGdt696J8WnxCg6gPOzr2vbAH1bAj3bIUkaqgS7K4eaCvW5mo9uVT7ZLnPcHKO0B5zBNlNbLZNVNf6dA01Bhp7+flsPM+8S+5OGtxTrjd1EnnnD+L/5fL8Rm45S9qAsTgfMAFpvVyUsa/81xr7cJ1kBP/2OX725cetLls8HcifSVHwU4lEGoWV7EakpgogUYXoRBmHitgdMdfLUSgCAkpf3nsfqoSRA69nb4I5zdmXTOCKRDju3NSUDqB8h7JToHDDPiNmexPw7tmGCPBgmGPNGg5gfLd9lMaYPFxW1BAcSu2FPwR4zuhBEPDHU0gu9os4m+YZVBKiiivbe8IdPQBDKtzyGv9zRN2doWAgWOt6Wt/DTn8w06IaNR8B7PmZEzMyDP6aK7zUbl9i0MS70IbPVteIZkht3dTkmN3UXrXTdiYfpvagOZl9rxbvnXbmuQMQrbtSwc1kLR7jbJ/7ilODgUfnnpIpF4K7BSaPmiEHZlObHsY1dF6BkdfRK/OLnwfPlw+mjTW0pkbUPxvS5ALq3zJb1SZ9Q==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(40470700002)(36840700001)(83380400001)(6506007)(336012)(53546011)(82310400004)(107886003)(316002)(26005)(186003)(5660300002)(36756003)(40460700001)(33656002)(81166007)(8676002)(86362001)(6862004)(47076005)(36860700001)(6512007)(6666004)(44832011)(2616005)(4326008)(54906003)(356005)(63350400001)(2906002)(63370400001)(8936002)(6486002)(508600001)(70206006)(70586007)(32563001)(45980500001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2022 09:09:52.8905
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b142b755-b763-4af6-5b95-08d9d67475bd
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: AM6PR08MB4643



> On 13 Jan 2022, at 00:58, Stefano Stabellini <sstabellini@kernel.org> wro=
te:
>=20
> From: Stefano Stabellini <stefano.stabellini@xilinx.com>
>=20
> Introduce a new "xen,enhanced" dom0less property to enable/disable PV
> driver interfaces for dom0less guests. Currently only "enabled" and
> "disabled" are supported property values (and empty). Leave the option
> open to implement further possible values in the future (e.g.
> "xenstore" to enable only xenstore.)
>=20
> This patch only parses the property. Next patches will make use of it.
>=20
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
> CC: Julien Grall <julien@xen.org>
> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> CC: Bertrand Marquis <bertrand.marquis@arm.com>

Hi Stefano,

Subject to Bertrand=E2=80=99s comment on commit message:

Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>

Just a small curiosity, why we use the prefix =E2=80=9Cxen,=E2=80=9D for th=
e property? I thought since the node uses
a =E2=80=9Cxen,domain" compatible we could use just =E2=80=9Cenhanced=E2=80=
=9D just like the other properties =E2=80=9Cvpl011=E2=80=9D, =E2=80=9Cnr_sp=
is=E2=80=9D, ...

Cheers,
Luca

> ---
> Changes in v2:
> - rename kinfo.enhanced to kinfo.dom0less_enhanced
> - set kinfo.dom0less_enhanced to true for dom0
> - handle -ENODATA in addition to -EILSEQ
> ---
> docs/misc/arm/device-tree/booting.txt | 18 ++++++++++++++++++
> xen/arch/arm/domain_build.c           |  8 ++++++++
> xen/arch/arm/include/asm/kernel.h     |  3 +++
> 3 files changed, 29 insertions(+)
>=20
> diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device=
-tree/booting.txt
> index 71895663a4..38c29fb3d8 100644
> --- a/docs/misc/arm/device-tree/booting.txt
> +++ b/docs/misc/arm/device-tree/booting.txt
> @@ -169,6 +169,24 @@ with the following properties:
>     Please note that the SPI used for the virtual pl011 could clash with =
the
>     physical SPI of a physical device assigned to the guest.
>=20
> +- xen,enhanced
> +
> +    A string property. Possible property values are:
> +
> +    - "enabled" (or missing property value)
> +    Xen PV interfaces, including grant-table and xenstore, will be
> +    enabled for the VM.
> +
> +    - "disabled"
> +    Xen PV interfaces are disabled.
> +
> +    If the xen,enhanced property is present with no value, it defaults
> +    to "enabled". If the xen,enhanced property is not present, PV
> +    interfaces are disabled.
> +
> +    In the future other possible property values might be added to
> +    enable only selected interfaces.
> +
> - nr_spis
>=20
>     Optional. A 32-bit integer specifying the number of SPIs (Shared
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 6931c022a2..9144d6c0b6 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -2963,6 +2963,7 @@ static int __init construct_domU(struct domain *d,
>                                  const struct dt_device_node *node)
> {
>     struct kernel_info kinfo =3D {};
> +    const char *dom0less_enhanced;
>     int rc;
>     u64 mem;
>=20
> @@ -2978,6 +2979,12 @@ static int __init construct_domU(struct domain *d,
>=20
>     kinfo.vpl011 =3D dt_property_read_bool(node, "vpl011");
>=20
> +    rc =3D dt_property_read_string(node, "xen,enhanced", &dom0less_enhan=
ced);
> +    if ( rc =3D=3D -EILSEQ ||
> +         rc =3D=3D -ENODATA ||
> +         (rc =3D=3D 0 && !strcmp(dom0less_enhanced, "enabled")) )
> +        kinfo.dom0less_enhanced =3D true;
> +
>     if ( vcpu_create(d, 0) =3D=3D NULL )
>         return -ENOMEM;
>=20
> @@ -3095,6 +3102,7 @@ static int __init construct_dom0(struct domain *d)
>=20
>     kinfo.unassigned_mem =3D dom0_mem;
>     kinfo.d =3D d;
> +    kinfo.dom0less_enhanced =3D true;
>=20
>     rc =3D kernel_probe(&kinfo, NULL);
>     if ( rc < 0 )
> diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm=
/kernel.h
> index 874aa108a7..c4dc039b54 100644
> --- a/xen/arch/arm/include/asm/kernel.h
> +++ b/xen/arch/arm/include/asm/kernel.h
> @@ -36,6 +36,9 @@ struct kernel_info {
>     /* Enable pl011 emulation */
>     bool vpl011;
>=20
> +    /* Enable PV drivers */
> +    bool dom0less_enhanced;
> +
>     /* GIC phandle */
>     uint32_t phandle_gic;
>=20
> --=20
> 2.25.1
>=20
>=20



From xen-devel-bounces@lists.xenproject.org Thu Jan 13 09:38:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 09:38:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257040.441442 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7wYT-0005lP-4L; Thu, 13 Jan 2022 09:38:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257040.441442; Thu, 13 Jan 2022 09:38: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 1n7wYT-0005lI-1G; Thu, 13 Jan 2022 09:38:01 +0000
Received: by outflank-mailman (input) for mailman id 257040;
 Thu, 13 Jan 2022 09:37:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fwfT=R5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n7wYR-0005lC-1l
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 09:37:59 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7db3a803-7454-11ec-bcf3-e9554a921baa;
 Thu, 13 Jan 2022 10:37:57 +0100 (CET)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2057.outbound.protection.outlook.com [104.47.9.57]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-18-faEO4oIfNJW8-j3r_NCoag-1; Thu, 13 Jan 2022 10:37:56 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VE1PR04MB6384.eurprd04.prod.outlook.com (2603:10a6:803:126::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.10; Thu, 13 Jan
 2022 09:37:55 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Thu, 13 Jan 2022
 09:37:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7db3a803-7454-11ec-bcf3-e9554a921baa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642066677;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=xM+QfnSElr65gkmYPfZbeGLhJ/h9r8nonqYSF85w40o=;
	b=nIYaqMVybDiaFEhMP9jzoVy5uy/EwY3u3n18CRtx0rEUpuhxSZHhYP9zwNDOMO0RY33Bx/
	IVHPbO5CjiqQfTn01NKCpsLX4o+/XxoQobXE4aVLDYINjZozqxdj+cBbPgzg8m3SQ3QvwA
	4uDZ7PU+X+6OalWowLXYlRFoSxTwCy0=
X-MC-Unique: faEO4oIfNJW8-j3r_NCoag-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=G3rRAz5QoIhAuTtbdgB7ZekU9vbtY4oe+C2FW5DiTgqaAUE3Ce6J3p+5PjBEUidR2kZ0mdgDkkoIQTkPHV6/q5dx1mosjJi1t/H0B9bgw6tU58VjMnsuymNajR4B+NajVJK8m+CBkihSpNyK2GnFArrqZ0HUIfScWxl9pVcKYjNaXlD2eL54pKZnlkDRSbPbdWY9xSB4WAipEmSCr08VJDwwehXx70DmA0s1U+38ZyKdfoedKIEAqTq8h+xarjzN2P3J2/xac0S/HsPUyaSZoZJriw3SCGembyrpvLtqBVR1Zwc6/WH9+whTkXbvrgClaT1yq00tkefKrpyacystfQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xM+QfnSElr65gkmYPfZbeGLhJ/h9r8nonqYSF85w40o=;
 b=oaAbz4Nr1WF8w+ZstvZ7zZGKF0EMqvyq6bMIxgD2KlCkzkHDzpDWs1voAGL8+PipnUkeCaaOFmiQOJjcuM3DL3/lit+gNA4Y/JLJAyu7Z+3chEsapKEbN+d0FXem6ZCe8DSXYD7YwRyzaodNbqIq4LBIOKSn4y8mxJkGPuGUwuVtUdzslhvCd6LTXgt5PNugH+XvPUKiUHWJ6TI7oBu6xmOzZAab2E8jZWrqB+DELLrSgyVeDuceZ8MPZFeHZEvpYxoLHioNS2nfp6Ms3lYniHWt2q8RjtwhW846WQiDodPiAqj5PMx0NlSIcvki7ucAn8Y1rwLAkKxNwVNA2FBkiQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0bd1cdac-14cc-dda4-90a1-50a1993ff978@suse.com>
Date: Thu, 13 Jan 2022 10:37:53 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH 1/2] x86/time: use relative counts in calibration loops
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
References: <595b3447-0eba-dfc8-fa24-6bb8b964a137@suse.com>
 <34662095-6f58-4471-8bbf-1bdf67650fb2@suse.com>
In-Reply-To: <34662095-6f58-4471-8bbf-1bdf67650fb2@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0059.eurprd06.prod.outlook.com
 (2603:10a6:20b:463::34) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c8c601f8-dfd3-4af3-5464-08d9d678606e
X-MS-TrafficTypeDiagnostic: VE1PR04MB6384:EE_
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB63842EBB36CAA140CA8B61ADB3539@VE1PR04MB6384.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:
	oo6/SyLaK4mbyI8GqiO29/4u7I8cBEvDa8jBdY9yohLO1YADxEDzbXxH5QCX8Ql22zTu7imrPQmvXXTe8Jm5VWgzx/x1muG/jQtHMpf6szWQQfoaEmRy2iQR+MxDJD6rAsnVqMYQqRCGCeM7vqy8zgjyAWpMnkotGzCF5mKvPR9h5AWvaRh/iWNxfZ7AyM2wWm7urkk08pXIfWTQd9/ewIDdGJ3CN5xyqLjhQnWr8xSLRuzyPV5yn2vDbeqpyLvU0cYV5GO3pcc2hqAci9fHg0fuRVaHqAReYKlfzRhCKUWLqtaKaMiVUWfLdRRxL5kirPHhIxSzj1H0XaRWN/QoE4P6ReMuVbUvA6VKdUa8x1DvIJVJaTWJE49PqmRGmMJdppW8totTARrglkxAyeXDwRsa9q4mkosteUdM2h5kmyjxxGF3sV+dbK7OOtgdh5QVE9JjtdQ7Oft/2DzG4FV4mOHXd/uHVXZ9PU1OyOSs/tilOg5drVz1Leq0HbA7BO/iNu0NLiRtUQvIE4ZL7TtWrP+ik8hQDvRP2ZPZyUBUzK8UdDFuncmoAE1pudWj21uEo6RpRmaZWNulhV0/ODM9fMMz8l9NIi5eAFXuLL94xUXU8hcFv3aQHvLM05Bs4yOL3lqluUfiDXuFqaTs5ErnrqJzQP2ltfSU9Fbj1R2pjxh2Ye0HESBs+rXuE3sAQHjiwXQCDMYH5UlvPJYG5xrWsm7V96cI6Exm3ddjZy/j0Ks=
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)(66476007)(8936002)(66556008)(36756003)(6512007)(31696002)(66946007)(5660300002)(8676002)(508600001)(26005)(4744005)(6486002)(2906002)(53546011)(6506007)(38100700002)(54906003)(110136005)(83380400001)(31686004)(316002)(4326008)(86362001)(186003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OHZBak02RGZlb0FUK0NhZUNzYUtSRk9Ob1UydlF4eDhpNHN4K1JscTNvb25H?=
 =?utf-8?B?RDVFWDlJQzBGQXUyTThrVXRSRkUyclkvMWMzVWZwU1VKMHQyaWRuclBralV0?=
 =?utf-8?B?bnROZkgzYnZBSzIxSGNFN25TUkVCNG5FQ3ArakpMZGVtY1MyQ3VuYi9wWXp2?=
 =?utf-8?B?ZVM3VXB3OHdLalhqOHdsdmIrRVZkYmk5ZWRQaU5ybENRTmkrK3pxNXF4YzAw?=
 =?utf-8?B?dkNxSUY5SWJMb0NMWG94aFBycFJLT0pEcmtvWTlmMlpJVkhRYndmNENqWHY2?=
 =?utf-8?B?TXduRkRPRTcrOEJUZlpnN3dkV1BvZ1QrRlY1WU5UQktSS3R6RUhPbkdadldX?=
 =?utf-8?B?S1VXbTB5VUJHQitaOVg4akNkK09WeTl2em5QaUVQSWhQd0w3MUk1WVJJY0Ja?=
 =?utf-8?B?OFJjNVU5YjlUVDR1OFVpblpqRDVNeTJIWWZ6OElLSTdRTjBBZ0tseWUzdlFC?=
 =?utf-8?B?QVhKNldwTHd5SitkbzNrVExvdGYwaFRwVi9nYzZ5VEJ1RUpVN3ZBcHByN1lu?=
 =?utf-8?B?bjJpT3dnZkJud3c5QkNUY3ptQnhGUkdqaGlmQk51QVpsRk5jWFlMSFdQaGZJ?=
 =?utf-8?B?UjBWZTVpajdrSWRSQTVwQ2dMRS9QVHVRWGRwMkpZSFI5REdnVUxOdjBiZFVI?=
 =?utf-8?B?MnZlb3BnUExKT2RFZnIwb2VrR2N6ZXNhMHRRb21wdi9FWVpJdWNZT0FBNkVt?=
 =?utf-8?B?bDlMdEFKTzdGVUFYQWQ2Skc0cXhlWFVVMnNaVU5DQjU4VjB6WTFzWnJyVEtw?=
 =?utf-8?B?U2dqRC9vcmhqaWRacEJqeGREait5UFowTUx0eENnWjBEL21BTENLd0ZrRzBz?=
 =?utf-8?B?VHA4Mm5ZdnBPWDJ0d1g1bVJhN3ZXT0gxbDBxUHdmNzF2dHE0TFJ6UUlEeXJ6?=
 =?utf-8?B?ZEl1cE1rd1FHN1g4ZDBYZGs0S2xlZElBN3V4a2JTTzhCUXhNRmlXQ1hhQm5Z?=
 =?utf-8?B?Q1ppNmZLc2ZPdXQySStCOHlTeE40QWtrTXFVdnVYd0t4cklhbkgzdXV2bDIr?=
 =?utf-8?B?QUFvREJBLzNDaC9kNGFyNDFhZ09uc2Zaa0tnUXdnZS8wc0ZLUTYzREMvYUFm?=
 =?utf-8?B?UmM3RS83aG1UUXRwRnQrZitQZTR3Ty9wT1hlbnJ5L3NCOUJmY2VGM1pydTlY?=
 =?utf-8?B?UUNRUElhcC9vbmRXc050NzVrRWQraVFkbVpHSlhVc0t0eHcvTGRwYk5tc2FY?=
 =?utf-8?B?bmlwUk1UM1dDbXlsQzI2YXV3OW9RbGN3bGQvWWJUVzZyOWFxUHhtZWY2aTFw?=
 =?utf-8?B?YVlaZm00Z1h3Sm1xYWg0T3hzcWN6RWJFWUExeEx4Z3BsRWYwTjVQeDAvUkV3?=
 =?utf-8?B?V1hEK3ZyaUw3RElkMjNsMHhROFE0L1JjMExkOCsvaEVJaXVHYUlBMUZ0L0dL?=
 =?utf-8?B?VVB4OHhYVFViQ3hVNWhOUWZ1ZmE3UUhKdmQ4NG9vVk13N1FBTk41QmQyNVNL?=
 =?utf-8?B?ZENSMS8xV2UwYXJjRmxacU4zb24yelRRMzR5VHlrT3FJQzBHWmFFVlhxbGdp?=
 =?utf-8?B?VGUvUFRoQWFSWHlxb2RQeXNOblQ5THNmUVpXVExoSVJWbDBkd1dIU3d2ckhT?=
 =?utf-8?B?L2JIUCs5MFRBcGFjem1YL3lxakMrb3RzRnRFeUJiQ05Pc2svVEhhN0ZwRktj?=
 =?utf-8?B?YUJUcHBFWjlBT2ZqK0NjbnlDY1IrZUZYRExlMGhQMmpwSnNvY2RxSk5KUUVj?=
 =?utf-8?B?UXRickQwTUEwLy9TUDdFbndROVJUZWZaNmZ2bFFVY0xEMnFiSFVEMEh2bmEy?=
 =?utf-8?B?RWliSXBURXpKTTU1bTl5Y0todzVzN011eDgrVnhFQmppYVNaZngxeHJzcWs0?=
 =?utf-8?B?ZHpxWjhNaWp3WjNhTnZTMWhlOHlqTThBS2d3TUk1OXhET3g5UEs2ZmRQYkxi?=
 =?utf-8?B?dGVBWk5lK0wzclZNS2V1dUNlbUlXRm9JR283aHVHR3BBVEpGc2VJUEZTUGF3?=
 =?utf-8?B?UEVCSFZQZ3Rnc0cyVDlGYTVrYnREZUtHMEptN1FLUmYrM01UODBKUmtJekQ3?=
 =?utf-8?B?ZWZvcjNsTVA2cU11N3V1QTBsN1BwQjM0ZFhSOTN5VHlQenlSU2ZQZ2djM2Jv?=
 =?utf-8?B?QWc5Z05KUFNDUlYzQU1MYXB1Mk9VdmlvaWJkYUZJeTFlU0QrWXlac3huUzI1?=
 =?utf-8?B?bVpOOUNvelMyWVhmczgzc0FKRHFPakF2MDdQVURGMDhWanlmYWk3dXoxdXRv?=
 =?utf-8?Q?mn1/nulsefonEuzQ4Waqy4A=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c8c601f8-dfd3-4af3-5464-08d9d678606e
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2022 09:37:55.4537
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dCwUPgmqck3DaGVX4wOb0ne9FO/40qG2wkpHEsizxIVrx14dCqqtDopwrr6TJXGjxNT0j4Cm2tMLGVpDJ91NDA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6384

On 12.01.2022 09:55, Jan Beulich wrote:
> @@ -504,11 +501,8 @@ static s64 __init init_pmtimer(struct pl
>  
>      count = inl(pmtmr_ioport) & mask;
>      start = rdtsc_ordered();
> -    target = count + CALIBRATE_VALUE(ACPI_PM_FREQUENCY);
> -    if ( target < count )
> -        while ( (inl(pmtmr_ioport) & mask) >= count )
> -            continue;
> -    while ( (inl(pmtmr_ioport) & mask) < target )
> +    target = CALIBRATE_VALUE(ACPI_PM_FREQUENCY);
> +    while ( (elapsed = (inl(pmtmr_ioport) & mask) - count) < target )

I think this is wrong, and instead needs to be

    while ( (elapsed = (inl(pmtmr_ioport) - count) & mask) < target )

There no similar issue with HPET as there we always have full 32 bits
available.

Roger - you gave your R-b. If you agree, I'd like to retain that with
the fix in place. But I'm not going to commit either variant ahead of
hearing back from you.

Jan

>          continue;
>  
>      return (rdtsc_ordered() - start) * CALIBRATE_FRAC;
> 
> 



From xen-devel-bounces@lists.xenproject.org Thu Jan 13 10:16:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 10:16:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257044.441454 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7x9T-0001dD-2m; Thu, 13 Jan 2022 10:16:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257044.441454; Thu, 13 Jan 2022 10:16:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7x9S-0001d6-Ux; Thu, 13 Jan 2022 10:16:14 +0000
Received: by outflank-mailman (input) for mailman id 257044;
 Thu, 13 Jan 2022 10:16:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/WE3=R5=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1n7x9Q-0001d0-RA
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 10:16:13 +0000
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur03on062d.outbound.protection.outlook.com
 [2a01:111:f400:fe08::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d426ee6a-7459-11ec-bcf3-e9554a921baa;
 Thu, 13 Jan 2022 11:16:10 +0100 (CET)
Received: from AM6P193CA0069.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:8e::46)
 by PAXPR08MB7467.eurprd08.prod.outlook.com (2603:10a6:102:2b7::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Thu, 13 Jan
 2022 10:16:07 +0000
Received: from VE1EUR03FT046.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:8e:cafe::bd) by AM6P193CA0069.outlook.office365.com
 (2603:10a6:209:8e::46) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11 via Frontend
 Transport; Thu, 13 Jan 2022 10:16:07 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT046.mail.protection.outlook.com (10.152.19.226) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4888.9 via Frontend Transport; Thu, 13 Jan 2022 10:16:07 +0000
Received: ("Tessian outbound f493ab4f1fb8:v110");
 Thu, 13 Jan 2022 10:16:06 +0000
Received: from 34cdc8d2fdc5.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D9AE7541-2B0C-4F07-B913-F12009E202D3.1; 
 Thu, 13 Jan 2022 10:15:55 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 34cdc8d2fdc5.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 13 Jan 2022 10:15:55 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AM0PR08MB5060.eurprd08.prod.outlook.com (2603:10a6:208:15e::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.10; Thu, 13 Jan
 2022 10:15:52 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::c0c1:d43a:acf3:a59d]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::c0c1:d43a:acf3:a59d%4]) with mapi id 15.20.4844.019; Thu, 13 Jan 2022
 10:15: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: d426ee6a-7459-11ec-bcf3-e9554a921baa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=azP6RZwQvRapbVYm2z05mTjZqhhRUjR80ofnqWaTwSs=;
 b=qx+NVc3pEFO89vYovAY0mvbzmJlmAjDTZTHbLB63kGXHfxplq1Eb0qObt1AgGQpK0HvPTI/RxdtiQycYM94knO0ng0YBLMb/Tuva5SKhuJq060Rfh2LvR/50OaTyxjcm0HI35206xHDj9PoiB5DABPFcsnqS7R/9LNFjKURZYNo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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: e3bd9b1f5fe4ccf5
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cSSsnmzvFOftsv8241FIuQFCiK1VPOv5OCtK7jwgstunOaQ9wNonV432DJQYQ4t0hWULbLga+NEZMWvMV5sFGMwyEbwSKLW6sRnKBULx8VLufP9ztAb/wqp9chWVHc1D/+s1LznXHg0HiuNO+AdH3XSyMYjpWddJePKghmPpvoAJuT9ez8raKj846e92uk9kUaZ5qqd0duv4dmdQkaYtmyndMGTuPWp9kzB8x27UmBFNrOSS3Yam9JFvvnEqltRlSCK+eyECN5SXBr5kYUEPnk6w4PAIb2l4xPSTeXXlApQKbAdzyTl5jMLTD5k2Xqx7AjwhVO1Ht7vkdPt4gxYf4Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=azP6RZwQvRapbVYm2z05mTjZqhhRUjR80ofnqWaTwSs=;
 b=ND1fGoLAvvLeLakwtV3fzII1UN1wFQkZjYI3aNcs2lomzpqlg5nN9YJQ2DksHb62L/h4sP0FFrTPlj1ovzLr9i89XlcmagYanLYPkCyMGnRD9Ux6UUW4TsNKDJyJQE4XBAgKiTOVtd/X0mPn7XLhWSNWTFEjrowxEKv4fHs6oGhJd/uDWTACuyb1RIPc0+/j7JZuuQQQjBccBD4qtv/yMWp3SAtNa77teF2NfxNf7rbM1onvTTg3j0aE10zeNrox1BThn3BxZ1ysNKkVzG3Fn8rrroFr+Jv6fGF2N4SdYaP/L7K0Z37t8PXK91u9O3yKlDhT7oz2Uo/+BoHlx7cDjg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=azP6RZwQvRapbVYm2z05mTjZqhhRUjR80ofnqWaTwSs=;
 b=qx+NVc3pEFO89vYovAY0mvbzmJlmAjDTZTHbLB63kGXHfxplq1Eb0qObt1AgGQpK0HvPTI/RxdtiQycYM94knO0ng0YBLMb/Tuva5SKhuJq060Rfh2LvR/50OaTyxjcm0HI35206xHDj9PoiB5DABPFcsnqS7R/9LNFjKURZYNo=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Juergen Gross
	<jgross@suse.com>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Luca Miccio <lucmiccio@gmail.com>, Stefano
 Stabellini <stefano.stabellini@xilinx.com>, Penny Zheng <Penny.Zheng@arm.com>
Subject: Re: [XEN PATCH v2 3/5] xen/arm: configure dom0less domain for
 enabling xenstore after boot
Thread-Topic: [XEN PATCH v2 3/5] xen/arm: configure dom0less domain for
 enabling xenstore after boot
Thread-Index: AQHYCBjL/vo/dgc9yEWI4Vp+MtHLXqxgvOQA
Date: Thu, 13 Jan 2022 10:15:52 +0000
Message-ID: <B458F1F7-4DF0-4919-8E16-11E889A9ABB2@arm.com>
References:
 <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop>
 <20220113005855.1180101-3-sstabellini@kernel.org>
In-Reply-To: <20220113005855.1180101-3-sstabellini@kernel.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: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 15551586-cc8c-4467-673f-08d9d67db690
x-ms-traffictypediagnostic:
	AM0PR08MB5060:EE_|VE1EUR03FT046:EE_|PAXPR08MB7467:EE_
X-Microsoft-Antispam-PRVS:
	<PAXPR08MB74673C4A0FA36B32C91F97DB9D539@PAXPR08MB7467.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:
 cVaM+h4TS9blUDon6wKtUmpDxrVkeaYm3z2ja6nEXZVUiKQU0+AlzXst30iFTmg2XuUZxydbNFRKkZ29RcwpKgNdO68G4hb2k1m1MXj0fnxZHuILlwzfqRjBoFdwSKH2Q7Xh16waXhOvtifdtjM2LDtR7RuHf+ledRayRQV6F2NLzj37mS7z1xu2biCa5HFX+R6ifo8J90+ynfduOf1HmkY9DNEnF9tgiLJ7tNH7X28V0dzUExdUqRrsSBPiqdI67d60kwUAP8fbcylPIWJxki2W3U/Z3mm6JSfbpXfSuyQt8CZaXiBEJCu6/NakKDO6M/9BhSTBC82f+IVluK5ieSplm9z7RoGl3XvaIhlphrCbx0MktIg4/TqfJb2mTM22u6Vx7ctOSCN5oBC3RhHBlhAJMbpyPngXoQZHPv+FRlM6CW4cqwrxrMBDl8EyO1NpoPJHIALoxLrkRMV8BFj7GK/uxtK3u3EbUxNZvgOVWLIei00QdLe+REeXLiwvvQvOHkp9k+HyVIk7VcqfrzR7ZJnJSiVDVscY69f+ReZ+3udrpEMUSg+viov+GpNon4nDOF+gy8EMG7wqGwFiTXN59K9/Ww8jCBwdnsryYY4QK5KU5lA2HUaqa6zxZEBfAypdmLbCxyS+eLxJPMxoVmb2Ijb16V8+cLb7Y71QMBWETa2xyiV6hrq42PnKjKdvMUo7LGrg6i+SEKcYGyCjREtHKypyWiJ1JxYHqgs3SJkntLfwEvS8MlshkxtvmFxBrj8y+w5rGlwK+uYvkLOPJxGLMg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(6512007)(316002)(71200400001)(2616005)(6916009)(54906003)(6486002)(6506007)(122000001)(38100700002)(5660300002)(26005)(2906002)(186003)(8936002)(53546011)(36756003)(64756008)(83380400001)(33656002)(86362001)(8676002)(508600001)(38070700005)(4326008)(66476007)(66946007)(66556008)(66446008)(91956017)(76116006)(32563001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <9DFEC219C199FF41A85CF9C6BC48CBA2@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5060
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT046.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	2d899fa6-8f8c-49f6-3391-08d9d67dadf7
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	E/0HSoNUM2v1Ow3voaWLW5yAalH0cWM4AWw2UWCLLxLpdCK7TwHDjL5frXraJBkb73NTClfm9mNRsLfCyEwgH6p2QMvDI236yzEfm5NOMTHDBkbkZa+RWsS0Ob015Yn+awFavk6EuY15EkNtdb2k1pn7Gi5ANi1RW+iTnlOsNbSFxPlorP2bZHCWl28w0hyct2GU0WQkBWAOvW2xdEDfMP+PXnPRt+61QukyvEUOMRin8cT02fBfZMy7VkSnJpemF7hb+ELSG1Av9sNfbBfB/QOgLRtrkaSzAgCi905zby19S2bF+ue2I360P04OiR+4ceITgqVjMQkcVFmAU/cBESpyvBZ71Lq3CnPS25NniQjMBJNYCrFybjN9A93XGeMRzfc2rJ6RXAluXfPhxbOBS3eTxlPdYyvyWnl8krSH5fp9UlMme8l3a6CvaAMKaQN/IfwFHkh4rBAwyyqIHRGNrmA/V898uQJz66DY9pDTzbkSxtUa4nk1F+yZHYSlyhr7P435EAB5oTnbvmmSIPOsMA/kVeh/yKY6nP+4w8qjIQwGMTSMmKFqF24NZTx0XnfDJntkG2BxtUsN+gPQStoe1Yx/LCh5gZjxiK5KDdRwWVG0U4KxDGSKoqFmawRIU+VgAFQPTpjVlOZuzK0xUT/17NUx1VYUkUF2+l/cdoSljV9apbGNZ51+eQzPSWy57f+HPKxOYaNH5oJvSpvtNJRKqTaSL0nfjjmVyyb8BT9Vs1TiYKm9qH8YDTbiRRaNc9Yq5bT++xg7NUiJ3stZP8zJl8IAgBA13lqVZ1e82xj9zvA=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(40470700002)(46966006)(36840700001)(8676002)(83380400001)(336012)(47076005)(8936002)(54906003)(356005)(508600001)(2906002)(186003)(26005)(81166007)(6862004)(70586007)(33656002)(316002)(4326008)(70206006)(5660300002)(86362001)(82310400004)(6512007)(6486002)(40460700001)(36860700001)(6506007)(53546011)(2616005)(36756003)(32563001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2022 10:16:07.0715
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 15551586-cc8c-4467-673f-08d9d67db690
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT046.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB7467

Hi Stefano,

+ Penny in CC for the question.

> On 13 Jan 2022, at 00:58, Stefano Stabellini <sstabellini@kernel.org> wro=
te:
>=20
> From: Luca Miccio <lucmiccio@gmail.com>
>=20
> If "xen,enhanced" is enabled, then add to dom0less domains:
>=20
> - the hypervisor node in device tree
> - the xenstore event channel
>=20
> The xenstore event channel is also used for the first notification to
> let the guest know that xenstore has become available.
>=20
> Signed-off-by: Luca Miccio <lucmiccio@gmail.com>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
> CC: Julien Grall <julien@xen.org>
> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> CC: Bertrand Marquis <bertrand.marquis@arm.com>

Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Just one question: GUEST_GNTTAB_BASE is fixed but could it be a problem for=
 a direct map guest in the future ?

Regards
Bertrand

>=20
> ---
> Changes in v2:
> - set HVM_PARAM_STORE_PFN to ~0ULL at domain creation
> - in alloc_xenstore_evtchn do not call _evtchn_alloc_unbound
> ---
> xen/arch/arm/domain_build.c | 43 +++++++++++++++++++++++++++++++++++++
> 1 file changed, 43 insertions(+)
>=20
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 9144d6c0b6..251d933c8e 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -27,6 +27,7 @@
> #include <asm/setup.h>
> #include <asm/cpufeature.h>
> #include <asm/domain_build.h>
> +#include <xen/event.h>
>=20
> #include <xen/irq.h>
> #include <xen/grant_table.h>
> @@ -2619,6 +2620,8 @@ static int __init prepare_dtb_domU(struct domain *d=
, struct kernel_info *kinfo)
>     int ret;
>=20
>     kinfo->phandle_gic =3D GUEST_PHANDLE_GIC;
> +    kinfo->gnttab_start =3D GUEST_GNTTAB_BASE;
> +    kinfo->gnttab_size =3D GUEST_GNTTAB_SIZE;
>=20
>     addrcells =3D GUEST_ROOT_ADDRESS_CELLS;
>     sizecells =3D GUEST_ROOT_SIZE_CELLS;
> @@ -2693,6 +2696,13 @@ static int __init prepare_dtb_domU(struct domain *=
d, struct kernel_info *kinfo)
>             goto err;
>     }
>=20
> +    if ( kinfo->dom0less_enhanced )
> +    {
> +        ret =3D make_hypervisor_node(d, kinfo, addrcells, sizecells);
> +        if ( ret )
> +            goto err;
> +    }
> +
>     ret =3D fdt_end_node(kinfo->fdt);
>     if ( ret < 0 )
>         goto err;
> @@ -2959,6 +2969,27 @@ static int __init construct_domain(struct domain *=
d, struct kernel_info *kinfo)
>     return 0;
> }
>=20
> +static int __init alloc_xenstore_evtchn(struct domain *d)
> +{
> +    struct evtchn *chn;
> +    int port;
> +
> +    if ( (port =3D get_free_port(d)) < 0 )
> +    {
> +        printk("Failed allocating event channel for domain\n");
> +        return port;
> +    }
> +    chn =3D evtchn_from_port(d, port);
> +
> +    chn->state =3D ECS_UNBOUND;
> +    chn->u.unbound.remote_domid =3D hardware_domain->domain_id;
> +    evtchn_port_init(d, chn);
> +
> +    d->arch.hvm.params[HVM_PARAM_STORE_EVTCHN] =3D chn->port;
> +
> +    return 0;
> +}
> +
> static int __init construct_domU(struct domain *d,
>                                  const struct dt_device_node *node)
> {
> @@ -3014,7 +3045,19 @@ static int __init construct_domU(struct domain *d,
>         return rc;
>=20
>     if ( kinfo.vpl011 )
> +    {
>         rc =3D domain_vpl011_init(d, NULL);
> +        if ( rc < 0 )
> +            return rc;
> +    }
> +
> +    if ( kinfo.dom0less_enhanced )
> +    {
> +        rc =3D alloc_xenstore_evtchn(d);
> +        if ( rc < 0 )
> +            return rc;
> +        d->arch.hvm.params[HVM_PARAM_STORE_PFN] =3D ~0ULL;
> +    }
>=20
>     return rc;
> }
> --=20
> 2.25.1
>=20



From xen-devel-bounces@lists.xenproject.org Thu Jan 13 10:18:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 10:18:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257049.441465 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7xBw-0002K4-Gn; Thu, 13 Jan 2022 10:18:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257049.441465; Thu, 13 Jan 2022 10:18:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7xBw-0002Jx-Cu; Thu, 13 Jan 2022 10:18:48 +0000
Received: by outflank-mailman (input) for mailman id 257049;
 Thu, 13 Jan 2022 10:18:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/WE3=R5=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1n7xBv-0002Jn-1B
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 10:18:47 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2061c.outbound.protection.outlook.com
 [2a01:111:f400:7d00::61c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 30c99217-745a-11ec-bcf3-e9554a921baa;
 Thu, 13 Jan 2022 11:18:46 +0100 (CET)
Received: from AS8P251CA0010.EURP251.PROD.OUTLOOK.COM (2603:10a6:20b:2f2::8)
 by VE1PR08MB5120.eurprd08.prod.outlook.com (2603:10a6:803:108::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.10; Thu, 13 Jan
 2022 10:18:37 +0000
Received: from VE1EUR03FT008.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:2f2:cafe::38) by AS8P251CA0010.outlook.office365.com
 (2603:10a6:20b:2f2::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.10 via Frontend
 Transport; Thu, 13 Jan 2022 10:18:37 +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.4888.9 via Frontend Transport; Thu, 13 Jan 2022 10:18:36 +0000
Received: ("Tessian outbound a33f292be81b:v110");
 Thu, 13 Jan 2022 10:18:36 +0000
Received: from 3d0d5306b929.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 5B1303AF-8235-484E-8906-9A305CCE0465.1; 
 Thu, 13 Jan 2022 10:18:24 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3d0d5306b929.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 13 Jan 2022 10:18:24 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by DBBPR08MB6123.eurprd08.prod.outlook.com (2603:10a6:10:20a::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.9; Thu, 13 Jan
 2022 10:18:22 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::c0c1:d43a:acf3:a59d]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::c0c1:d43a:acf3:a59d%4]) with mapi id 15.20.4844.019; Thu, 13 Jan 2022
 10:18:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 30c99217-745a-11ec-bcf3-e9554a921baa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Afjjrc1ITCSLeYCYt+u/Q1NRUZQvPIG5HyF0vfjrfGA=;
 b=GoqGxKGVu/rqIVm8065c6qZe59hQgai/X3W8rO1ouS6myUHIAvk6LNVDvz+50B4ZAZXlC21fl092yTdbn+E+Xyt4E97j951aSv1kyjaFZ198Eq0bOsh3u4vlpVExP5+FSqhAfN6+6behyUQ87XZRp3iZWX+FS2gnVbQ/YzYRqFs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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: bf012327a012358f
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=M0pF4WATL4NVASbfMOPm+6hMS/W7ExIYDWFSZ2DwD9Tiw5ohbZ6Nv63cOXj3UXerWipCA3IjjN371n4//BN8DQu4bHXYdQZgfuwpWr7g9sgN7RuH2iTtO5hRfCRqgG7rmbaaYz4gI0oUiDCdZ2b238mhTD+aWqJwviIuerTYxi+buH5R+w38A6jzqmPgYnJhgfRSfL9Ut1prR4GJpqruB4CsKEwR5pdGnmLJRNOdbhBy/TKklibgOlR5LntDk7itH4Fg6fbY/f4KdwFvkS+A2Oz79bunDxejfY6Zs7FsSvJxrMI5qP6LRYbn8zprJHJmmUZYbP4vWW462nO/T1x9Kg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Afjjrc1ITCSLeYCYt+u/Q1NRUZQvPIG5HyF0vfjrfGA=;
 b=fyW6iyNxw7Uq/JqTVrYImZCQzC/3RKFOQcp64XOM8fZKmU8eNalSQxKXkfYDHY7kkHCy6Oge+0Sg3T0myAPAHZtQbkR+xFdpLQ/iFnnb4tJLbihDDdqY90Xu62/kuifsv2J9qFEDHhlne48vacNL//1G5yi109laE1+Bohqz/CLUS6/mC8iG16eqntR5gm/Cb9RrZalw4uURYH3p796oRogei2xYTmYT2P2h62Fw0hUDa6Vfj45Ntnj+wOLo+hdKPxV/lt6ixEpuvrjUyafz/I3yaMpKCWo9Ns5JGSnlTpNiqtB6eoy9Juz7jyvnRThWgMiUryzXI3ab5YNiSc2wqQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Afjjrc1ITCSLeYCYt+u/Q1NRUZQvPIG5HyF0vfjrfGA=;
 b=GoqGxKGVu/rqIVm8065c6qZe59hQgai/X3W8rO1ouS6myUHIAvk6LNVDvz+50B4ZAZXlC21fl092yTdbn+E+Xyt4E97j951aSv1kyjaFZ198Eq0bOsh3u4vlpVExP5+FSqhAfN6+6behyUQ87XZRp3iZWX+FS2gnVbQ/YzYRqFs=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, "jgross@suse.com"
	<jgross@suse.com>, "julien@xen.org" <julien@xen.org>,
	"Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>, Luca Miccio
	<lucmiccio@gmail.com>, Stefano Stabellini <stefano.stabellini@xilinx.com>
Subject: Re: [XEN PATCH v2 4/5] xenstored: send an evtchn notification on
 introduce_domain
Thread-Topic: [XEN PATCH v2 4/5] xenstored: send an evtchn notification on
 introduce_domain
Thread-Index: AQHYCBjHbbjYjleLtkqmAysdkxDl76xgvZQA
Date: Thu, 13 Jan 2022 10:18:22 +0000
Message-ID: <83076C8B-940C-4C39-BC09-AABA5849FC1D@arm.com>
References:
 <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop>
 <20220113005855.1180101-4-sstabellini@kernel.org>
In-Reply-To: <20220113005855.1180101-4-sstabellini@kernel.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: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 66228885-51e0-41e4-3c1f-08d9d67e0fc8
x-ms-traffictypediagnostic:
	DBBPR08MB6123:EE_|VE1EUR03FT008:EE_|VE1PR08MB5120:EE_
X-Microsoft-Antispam-PRVS:
	<VE1PR08MB51207861D6C5105F5B98B5D59D539@VE1PR08MB5120.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:
 zQMujPClW6dWDpwCn6FOULjjRxQWer9428wViSd3UJ36JVNBlrxsUIjrFqEOb1f113T+rUFp9pZlLuU4fU1sN4oJxw7Hm6RfqUkGS2lnjh3PRanDDTxOJWHd30gmgDRGrNaOhb6+VUYQ9jbI0YdzxP3BGX7xEHLcJMFfgLRqDnK9IpS3brCcRptsvLMJuT+3n/v70VE0T2FqrFzGKxVljNMI4SQnPRpKN3PCatifkU5ENuX0airL+cjEMlv4s22BjNyhA4s3lS/lHHidMYCQ1HSLJTV0lt0SO7n0df6wohWcb8/mVjmRoGTVWIUhcYv7kM48bq2+0GfDffWC4mPJL5FiGfnXlkY7TfSTwR0HG9KIeKxpOh6cnQE87+FOwgOlYNByETLN5cW/FTr1xnX4grTDFUnqJb4B4AGeBvVsYdcLEVfjsqADFlOfMkIy7KvzaerMOups67ZaJn1ZKzZI3RXBXncmUmJcKq2l67dqro/E3xLz78f+Tvk4uGR68sJ5OyYDHiDEtLWiwjUHFKXTc1hclzzFMpHlriH1ROLvOIV29SwWg7RfRe7KB4vS6THCG7A7/2Uzl5TSaPcd1t+UKJ4OcWWvaH1OyMuC4NAqf5rWMuPui4eHKksboclkqaOK6XWghGK49Airtt3Fj20KXa0+n5w/VV+0d573A5BIhs3zruca9sUmvkJfG6kp+QKBhygx0YIOhtkRuAh9lCUTQ/vU954t4pGMkFw50SAtCbEeS1Bt8m7Gw2htkIK5RrY2
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(8936002)(33656002)(6916009)(71200400001)(186003)(36756003)(316002)(26005)(15650500001)(4326008)(54906003)(6486002)(2906002)(2616005)(508600001)(8676002)(53546011)(86362001)(64756008)(66446008)(38070700005)(66556008)(6506007)(83380400001)(38100700002)(5660300002)(91956017)(76116006)(66946007)(66476007)(6512007)(122000001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <93C9F969CB4B964696DB86B002A054F6@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6123
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT008.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	3412c56f-7b21-4168-34a8-08d9d67e06fa
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Tv68f66pdbEV8H31nqnlaKn7SpFrUzDDOMMDQcx145OBmlonezBzljKX3nmV6FeDlRF1IMVgD2stgNFXLStB3t+XpqzQP5jV2hbbGNVQsma37BsxPXE1NNhCRzvQ2zxL16RyJn/DJTcH0V/3nRTKCiA5DLxBhTPcv/ELhZRyWCruZxirrtrckrXzbAJZ5Sty/tAWJ3VNn9ANmY1ixgVHb7jYlUwuDUVs9sdEoK0a7+JFavrM1fSVOI6/QW2AZIMWtDm8vTPqivAPR6LLj51oG2LJiA0Z2mu1g+5ViPTqMkxP7jV8Da73u6fubfnRl9JSApHyuQp1ONw4DqBWspZX0ycaRMQkrBhATkegsnFL6aZNRr3IM7dlmwN/2nwtCs4bptgNogXK6lIdMwmrNHVeqNLGed/Fe9+x9GHlGhJGDSFHsBrJGZb8XzI+rJpcb2z69oPjk6YH5l2pRDEsOJYpfuprc0reh7VvZNL6ITa+5wHH3Gs2pcA+SbEnhCAjT3KuAHu4Uu+L8F+qY4f+Zwt67hhGnQuOwt4KeDBBRV3cIWRSylz33cZ8H5U8/Vbl7axzg5k/KStzjY0+qSYPbuktiZIncsYnlAaZI7zFdK2dSQf8hWFNQYOWI8kPfT2FKNgxWVgjgIm3gtqyDIya9Ykxv7jAmgraccb9RIU+echbBoyjZz/dfaX4LhlMiytxFZN6OA0bhzJWCkBKKwRCORA5rLw3olSa33pAMEs5zzVf6MBJy3wV3eGZdeNOvgTJ8RuPTX8qG1BKwb/mcgvvg2NAlw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(40470700002)(70206006)(6506007)(70586007)(6512007)(53546011)(186003)(508600001)(336012)(6486002)(47076005)(36860700001)(86362001)(82310400004)(33656002)(36756003)(54906003)(2906002)(26005)(316002)(40460700001)(2616005)(4326008)(6862004)(83380400001)(107886003)(5660300002)(8676002)(8936002)(15650500001)(356005)(81166007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2022 10:18:36.7556
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 66228885-51e0-41e4-3c1f-08d9d67e0fc8
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: VE1PR08MB5120

Hi Stefano,

> On 13 Jan 2022, at 00:58, Stefano Stabellini <sstabellini@kernel.org> wro=
te:
>=20
> From: Luca Miccio <lucmiccio@gmail.com>
>=20
> When xs_introduce_domain is called, send out a notification on the
> xenstore event channel so that any (dom0less) domain waiting for the
> xenstore interface to be ready can continue with the initialization.
>=20
> The extra notification is harmless for domains that don't require it.
>=20
> Signed-off-by: Luca Miccio <lucmiccio@gmail.com>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

> ---
> Changes in v2:
> - drop the new late_init parameter
> ---
> tools/xenstore/xenstored_domain.c | 3 +++
> 1 file changed, 3 insertions(+)
>=20
> diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored=
_domain.c
> index d03c7d93a9..7487129e47 100644
> --- a/tools/xenstore/xenstored_domain.c
> +++ b/tools/xenstore/xenstored_domain.c
> @@ -461,6 +461,9 @@ static struct domain *introduce_domain(const void *ct=
x,
> 		/* Now domain belongs to its connection. */
> 		talloc_steal(domain->conn, domain);
>=20
> +		/* Notify the domain that xenstore is available */
> +		xenevtchn_notify(xce_handle, domain->port);
> +
> 		if (!is_master_domain && !restore)
> 			fire_watches(NULL, ctx, "@introduceDomain", NULL,
> 				     false, NULL);
> --=20
> 2.25.1
>=20
>=20



From xen-devel-bounces@lists.xenproject.org Thu Jan 13 10:22:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 10:22:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257054.441476 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7xFc-0003lF-3h; Thu, 13 Jan 2022 10:22:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257054.441476; Thu, 13 Jan 2022 10:22:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7xFc-0003l8-0F; Thu, 13 Jan 2022 10:22:36 +0000
Received: by outflank-mailman (input) for mailman id 257054;
 Thu, 13 Jan 2022 10:22:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=64pG=R5=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n7xFb-0003l2-3C
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 10:22:35 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b6a1cffb-745a-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 11:22:32 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b6a1cffb-745a-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642069352;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=jk6+BjB+9ucEjAqXToPydTbHE8W5DVPyM9IHyjxVhBs=;
  b=OMkQjGSUZXbC+CdaZ1siz6wXTUu4Vf3mlEb8oC+79zEdn4vcy+MbjSWr
   vSPBlflrIjROD7scPE0y/Ktxz4Q6nB09vUeq14SF76gIY6enXpACBqfO3
   MBO4VB4HlZZW2ZihrSQ/RINottN3PYqSJkIjdjgBP76/VfHzEvXLHoOHY
   o=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: mq9R4FaZzdTbEtnsE3P+89x0bjuBafmuqxdHkh/B+P9AYHeNuXNAC5x2IWFNlD1rLVrggbWhrU
 4HHnilt/MHwZyHsVgMwDSsHTrbHrRHVb6t7xnou/f8EcH4TpFuE8ZUGy8o1qI/yuZCMASYfL4w
 hVJuBVzwrQuQ8NkIBlf121RotjTtbI89mDSu4/JL0trLExnIanZiekTDyG+t/TuIQHJBtVWbvx
 YXsYo6ESGk4llfRFpjrml41ryMJrWbkXn+EGqfOqvj3rj6R9OMInMc41gr42kbs2jbiMyK1eJM
 wxcf37tom42gMTFUiZ22ntyY
X-SBRS: 5.2
X-MesageID: 61908854
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:VjBsS6PJKx9HKlXvrR1lkcFynXyQoLVcMsEvi/4bfWQNrUoh0TJWn
 GUdDDuBMvzeN2akfd5ybovk/BsCv5DSmtdkSwto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdpJYz/uUGuCJQUNUjMlkfZKhTr6UUsxNbVU8En150Es4w7dRbrNA2rBVPSvc4
 bsenOWHULOV82Yc3rU8sv/rRLtH5ZweiRtA1rAMTakjUGz2zhH5OKk3N6CpR0YUd6EPdgKMq
 0Qv+5nilo/R109F5tpICd8XeGVSKlLZFVDmZna7x8FOK/WNz8A/+v9TCRYSVatYoz6zx8Jxw
 /xcicePElsiP4P2o+0iXwYNRkmSPYUekFPGCX22sMjVxEzaaXr8hf5pCSnaP6VBpLwxWzsXs
 6VFdnZdNXhvhMrvqF6/YvNrick5atHiIasUu216zCGfBvEjKXzGa/uTtIcIjGps7ixINdrxe
 ZcmNDpvVTn/eBNuNkkpU4xlvej90xETdBUH8QnI9MLb+VP71AVs1JD9PdyTfcaFLe1XlEuFo
 mPN/0ziHwoXcteYzFKt22iwi+r4uDL0UYMfCpW17vdvxlaUwwQ7DxkbVkCyp/WjvUe4V8hCM
 Ewf+icorq8a+VSiS5/2WBjQiGSNvgMYHcFRFeI6wAiXz+zf5APxLmIJVCJbYdoq8so/XyU31
 0ShlsnsQzdotdW9S2+Z97qShSO/P24SN2BqTT8JS04J7sfupKk3jwnTVZBzHaitlNr3FDrsh
 TeQo0AWjrMfl5RTj/2T8lXOgjbqrZ/MJiYr4QHQUnOg/xlOboevbIy16nDW9f9Fao2eSzGpu
 3wJmNOX6uwUOo2cjyyGQOgLH7aB6u6MNXvXhlsHN4I66z2n9nqnfIZRyDJzPkFkNoADYzCBX
 aPIkVoPvtkJZiLsNPIpJdLqYyg38UT+Pd/fDuLUZfNfXsNOL1OM/Q9UXkev03+4xSDAjpoDE
 ZucdM+tC1MTBqJm0Ce6So8h7FM7+swt7TiNHM6mlnxLxZLbPSfIEuldbDNie8hktPvsnenDz
 zpI2yJmIT17Wfa2XCTY+JV7wbsifSliXsCeRyC6m4e+zuta9IMJV665LVAJIdUNc0FpegHgp
 CHVtqhwkguXuJE/AV/WAk2PkZu2NXqFkVo1PDY3IXGj0GU5bICk4c83LsVrJ+F+r7Q9ka4vF
 ZHpnvls5NwVGlwrHBxHPPHAQHFKLkz31WpiwQL4CNTAQ3KQb1OQoYK1Fuce3CIPEjC2paMDT
 06IjWvmrW44b106Vq7+Mav3p3vo5CR1sL8sAyPgf4cCEG2xoNkCA3Gg1ZcffpBTQSgvMxPHj
 W569z9C+7mUy2L0mfGU7Z25Q3CBSLohThEETjiCvd5b90DypwKe/GOJa87RFRj1X2Lo4qSyI
 +JTyvD3Kvocm1hW9YF7Ft5WIWgWvrMDfpdWkVZpGmvldVOuBu8yK3WKx5AX5KZM2qVYqU29X
 UfWootWPrCAOcXEFl8NJVV6MrTfhK9MwjSCv+4oJEja5TNs+ObVW0tlIBTR2jdWK6F4Md15z
 L556tIW8QG2ljEjLs2C0nJP722JI3FZC/cnu5gWDZXFkA0uzl0eM5XQBjWvuMOEaslWM1lsK
 TiR3fKQi7NZz0vEUnwyCXmSgrYN2cVQ4EhHlQZQKU6Il9zJgu4M8CdQqTlnHB5Iyhhn0v5oP
 jQ5PUNCOqjTrSxjg9JOXj7wFlgZVgGZ4EH413AAiHbdExuzTmXIIWAwZbSN8UQe/z4OdzRX5
 ujFmmPsUDKsd8DtxCoiH0VirqW7H9B28wTDnuGhHtiEQMZmMWa03Pf2aDpasQbjDOMwmFbD9
 Ltj8+tHYKHmMTId/v8gAI6A2LVMEB2JKQSumx26EH/lyY0ERAyP5A==
IronPort-HdrOrdr: A9a23:ds1z7agS1QWb2zb8kpq1NYjGcXBQXt4ji2hC6mlwRA09TyX+rb
 HIoB17726RtN91YhodcL+7VJVoLUmyyXcX2+ks1NWZMjUO0VHAROsO0WKI+VzdMhy72ulB1b
 pxN4hSYeeAaGSSVPyKgzVQxexQouW6zA==
X-IronPort-AV: E=Sophos;i="5.88,284,1635220800"; 
   d="scan'208";a="61908854"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gVJGJHH71dJZntvuPRAyCm4YLeJ5LI8hXLEyknB2WuO6W1G1iHErQz93/o88+ao9epc6HlakPQP0ZIembun5rRSU7VGZ2bR7RIVR6DD6uWg12NWzeg35wInzNohPJYCT+7WH09rqyFVEM8n6EjEBjWKC+ZWO8t0pAn4YzSmWfs2YBGToPL1b0J+NmnPfWtlTN1o/2RWCW9Xf1yKAdKoNjMPnUzOd+l+TXb670GhZvFqKOZjrzLeEcqMvhSQUirIseLRTiRk6uNAfNF37sNEGNGSUQ3Fiu/cgjTHsiiIyOJnYy9c6x4oyXqyiA45CmACYSDi3cgeNN4yOvI/dQPoyBg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=swU79RKhpKmTDx2UQp8knIDGCmys2YDniE22Z0GmeRs=;
 b=LRVwuyCdBWP2Q3YdsJzuyIDaPy0k4VXOeFM0iSl3NJPF2lIA0r2FsOpf5R55eGRVyNNjzlKRuoG3mTzexRw3C9rEJbEuD7/LFnWfQ9s+/hBvSuntmPdvqrsfiYNHgZzUg9Hey6XOpsP8QYdGloq0UMIS2HyNFFcXV0nnEgBynu8SITvlBqEOZuilmacllXmzrz5QCvYoG94W7oqpg6d2EQdwpP1I1OOW6Owad9fWCDEz0cabCnY+6ZUmtf1NDfuDT0TwQxVEIQlCVmfAoqJFHFfyCsHKM5Rey8S/lVUGTdFJt8XkXB8jYoTxxFqLRYgFEqTyBLdpU1Y/4gwhmMynBA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=swU79RKhpKmTDx2UQp8knIDGCmys2YDniE22Z0GmeRs=;
 b=A/O3I8xGmxbhlLoZSeEQuotHxDJ4AX/MqyXZyfyaC0ch8DhMetM2OYV0sHD1jPkNm2eBmJnbu7eAHpOXl5zcJX8hfxJJaYexRUbfv0XypFhiHK6zEIxQ+9mMHRscwPbYQt4Pis5TvBrXq7s50+Rn6nk0bhyVm5zxQPwHOY7xxDA=
Date: Thu, 13 Jan 2022 11:22:19 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Oleksandr Andrushchenko <andr2000@gmail.com>
CC: <xen-devel@lists.xenproject.org>, <julien@xen.org>,
	<sstabellini@kernel.org>, <oleksandr_tyshchenko@epam.com>,
	<volodymyr_babchuk@epam.com>, <Artem_Mygaiev@epam.com>, <jbeulich@suse.com>,
	<andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>, <paul@xen.org>,
	<bertrand.marquis@arm.com>, <rahul.singh@arm.com>, Oleksandr Andrushchenko
	<oleksandr_andrushchenko@epam.com>
Subject: Re: [PATCH v5 08/14] vpci/header: program p2m with guest BAR view
Message-ID: <Yd/9W7GFO51GE0ch@Air-de-Roger>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-9-andr2000@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20211125110251.2877218-9-andr2000@gmail.com>
X-ClientProxiedBy: MR2P264CA0106.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:33::22) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 518c31da-fb4c-4561-4706-08d9d67e97c8
X-MS-TrafficTypeDiagnostic: BLAPR03MB5410:EE_
X-Microsoft-Antispam-PRVS: <BLAPR03MB54104D642B38AA716486EBDA8F539@BLAPR03MB5410.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: 8oQeSJ0EttQB4u5ZxeM1SuALX/Zcgr+YWr5ZDWjDUH4YGU89JlEFViweQNZjP1AXCYUlc+uiYf7/0cGYgJAJju9V+kUH1NlOu17E19ywkpM0b+J9kGRQPrVjsWDC6wYWhTswn4vQj0YJeR5ZxH2o3yDDohjxQUC+S7L10Y/mKQ7pkOEb9quUR74Mlb9JXFhyO+sBeadbWwYqZw6aqVWQkcA5EOAQhxXeXkYmRbiqWxzG/ZyFy5N3f9Mg8dKdXVPyIR9aG9FxArb60nt6u6Keo/mPirS5qM5rM7UM1XuqpWsuvRPGP0d4h8N663k/kbHAPBplCRUUn38vGYEMaETSjTq1/ooLPjuoVPTkl1zMwFyB7msXupToMT4RGOGvk9GLwjFUsF/Tz+3sOyPJe0GDOm9b/hkcOsy5IhrST4zv9tkqmNDK3g+8RUaerIxI/Do/HkuzsWcq+Vv5x37X5SJ719IjuOXr3PY0qaIcXh0yOwbCfSoJjRrhGAp88XeM52HZFGKXdoX/ZZ/n4SII4dWscghr6nIkmAr47tWc4FXiRz9lHSI2IVfQ6Ve8KkCMVFUraFsUiAo164il9x6towSIB9YtFChdeHj7fT5IszHIoRtbySERkFg2LRgzdNiPFJMjCvtnzZBY+5x1H78Kp7qjnQ==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(82960400001)(38100700002)(4326008)(6666004)(85182001)(66946007)(66556008)(66476007)(316002)(8676002)(6486002)(6506007)(6916009)(83380400001)(33716001)(6512007)(9686003)(2906002)(7416002)(26005)(508600001)(86362001)(186003)(5660300002)(8936002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cUZIcE0rTnV6WUJuVVJsV2wrQzk5R0RCMmpSaDBxT0IzYWVHaE10MHhla1NR?=
 =?utf-8?B?RW9NdXhLUHRrVEpma2tRdXlISjljTWlZd0IxSXlVQVBLVkVnWGs5dnJ5eDMr?=
 =?utf-8?B?clNnZERTb29BRWdZMG5USjJoS202eFg2Znpta1ZKOFByOXk5ZUJCK2dQc25D?=
 =?utf-8?B?dW02V2p0UzNPNktJZVVrQytTTFNJU2cwYWZvcDJxUlVkSzd0b3R0RFEzQk1U?=
 =?utf-8?B?d1ZJVi91SW5YU0ZwbHBCR25jNmI1cjZwSzNpQnowelh4aFVMVEd6Zit2UXZX?=
 =?utf-8?B?SXpMOWlWbFhaRnhRdS9TTGgybFprSDdBQlFyUmo2dXR4blh6UFBic1JkNGpN?=
 =?utf-8?B?dFNyRUVOMWJ5ejdjcTZ5STlFUWJLMUNYZUR5dVB1eXlReXB4eFNJUURBVlhy?=
 =?utf-8?B?c3R5bm1UdjlERjlnMHlnbnNhQmZDRW5Mc0tObER0YVFwVEZ3ckNncmhPTmp4?=
 =?utf-8?B?Z1VoWktjdElITHl4T1VNVC9NQUkzdkFLWUVMU3gxbkhEUm8xSDRuREFzSzRW?=
 =?utf-8?B?VzFHRC9DU2F1Y0dOeU1qRXZoN3FNdjhHUkhnK09wQndOVUFKenBSczlDazFt?=
 =?utf-8?B?YXBRRDZkV0dFQUZ3K0JaeUwxSUZTNW5TS2NSeWx4LytYckJYbWtISVl6TFkx?=
 =?utf-8?B?ZmNId1Z3cytHczlNMitFWmxMZko1bElEZWFGOXRmNURFd29UTDRlNEpscExC?=
 =?utf-8?B?Z3VXcVB5SmVVc1ZJREN0aTJqOTI0TythNjF5TTR3MkQydjM3MDA2NkRZVjds?=
 =?utf-8?B?QWZlZ0pXV3RKZ05WOGwzVXVWejRnYXFvTVFCd2I0S3BldUsyOVV2Y1dkMVE4?=
 =?utf-8?B?WCs2aHdkMEx3aGlVYS9OVU8vVjNLUXZ4VFFmTHFxUk9XcytIZkprSmkyRFFE?=
 =?utf-8?B?VW1GU1lCUDBpb3IzdjhvSEF3VUUzcUk4TmZaVjlBeW9RYk0zelJ2OEI5N2tu?=
 =?utf-8?B?VFZjRmJtQjdSNVZaRCs2SzlYL09VYytySElmb2grbEtjcXJPK3FpbkYrV0Ri?=
 =?utf-8?B?ZnovYnFTdlVtR0pObXIyaXhNVGk2VDdHbWRkVFBkblpxN1phcXNua3dTZmZM?=
 =?utf-8?B?bTVPelpRUjE2Z0pDR0laRnBkb1JsdlluNkFCMVdrWlpPRmdUVjBTai82Q29X?=
 =?utf-8?B?M1BJREZqem4rYjZTVG82WlN6bG4wenpSc05qVFM0OU9iOE96NDdjdU9Lc1JD?=
 =?utf-8?B?WTgvTUZ4TEtrTGZoQWRuWGNVd1k2YlFHcHlrZ05TTk1DM3J3T1hCUHJzNlZ5?=
 =?utf-8?B?ZzM5MW1sRjlEbzhNaG5ULzUyS05mVThhUktPVXlMV21SMzlZVTBnTjZCY2xV?=
 =?utf-8?B?Z3V3TXRtZnhWL0M4NUNoUDc5eWt5Q2dBNzdkM05rSXNzTEp4NE1lTkNuUjFH?=
 =?utf-8?B?OFY0WFdKSzZzUlU2R0JMcDloYlhnTy9Td090N0FhQUtNRldTbDU3NmhkSzFO?=
 =?utf-8?B?U1JkSTcveGt6UUtIYXZ2RzZ2U0tqYnp3YXJsUnRxMVdwU2RHcEhOZzB5TFJ0?=
 =?utf-8?B?UVZmUzdSNDM4N1QzWmVON05udlMxbTRQVWZmT01yK2lMajVyUU9OYUFNN0ZB?=
 =?utf-8?B?ZDlwKzdoa1RyNjV3RkljRlczTVh5ZFVIN3RYL3A3WXBoNjg2d2tFUTg4RE5n?=
 =?utf-8?B?TkNJSDlvQ0pHL25wSkZxZ1kvanZnQ24xVHRRL1IyVU1EaUZuUlpTaW4wOU9i?=
 =?utf-8?B?S1RpZXU3NkszVVNlYU51eWJnM3pxVllOczh2b3VGKzh4K3ErZ1JTTDZBYUxx?=
 =?utf-8?B?LzNOS2w5STgyREswZ0FUSmRLVlFmdHVuN29lUkEvaEJ0ZXZobXo2dGZDTVcz?=
 =?utf-8?B?NVRrYzQ3TVZzblFJTUNxVFB5UUlZcTl6LzZZSkJRcHl1MTYzNllhZDNLK1Mv?=
 =?utf-8?B?MmpCUjlQR1FzVC9laDlYZTdUeXZiWm56THRsd1pTcmdkNTg0S0QvcHhKNW9O?=
 =?utf-8?B?b2FsV3ExS0R4c2dWUTBQRDVjNXFKTFppRXhsK0Qrb045ajg5bW9JTFN1L0Ni?=
 =?utf-8?B?b05hcnJJT1RMeWx6VHdUNFJ2NWk3UHZrSFpLbUJyT2M2WHpRMlpWS2lJcHpE?=
 =?utf-8?B?WEI4T1VpMWdJWFQxcHdIYWJkcGxicDIyWHBuQ1JLQStWSThLekkwakoxbzRx?=
 =?utf-8?B?SlhMT203NkkycmlGbEtGQW1naHREd05zRTRmd2dGYVdXZUUrY0FYaE9razBU?=
 =?utf-8?Q?8gHXDA89mzeuErBOMFnHNig=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 518c31da-fb4c-4561-4706-08d9d67e97c8
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2022 10:22:25.1919
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 68laJ7MeyZ70meMq7bo85wyfIpRrR9QgUa9bN9PGhPunLQAgmy624SpnNPueb0TF0DbE4PPyrqQUEXc40T/HeA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR03MB5410
X-OriginatorOrg: citrix.com

On Thu, Nov 25, 2021 at 01:02:45PM +0200, Oleksandr Andrushchenko wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> Take into account guest's BAR view and program its p2m accordingly:
> gfn is guest's view of the BAR and mfn is the physical BAR value as set
> up by the PCI bus driver in the hardware domain.
> This way hardware domain sees physical BAR values and guest sees
> emulated ones.
> 
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> ---
> Since v4:
> - moved start_{gfn|mfn} calculation into map_range
> - pass vpci_bar in the map_data instead of start_{gfn|mfn}
> - s/guest_addr/guest_reg
> Since v3:
> - updated comment (Roger)
> - removed gfn_add(map->start_gfn, rc); which is wrong
> - use v->domain instead of v->vpci.pdev->domain
> - removed odd e.g. in comment
> - s/d%d/%pd in altered code
> - use gdprintk for map/unmap logs
> Since v2:
> - improve readability for data.start_gfn and restructure ?: construct
> Since v1:
>  - s/MSI/MSI-X in comments
> 
> ---
> ---
>  xen/drivers/vpci/header.c | 30 ++++++++++++++++++++++++++----
>  1 file changed, 26 insertions(+), 4 deletions(-)
> 
> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
> index cc49aa68886f..b0499d32c5d8 100644
> --- a/xen/drivers/vpci/header.c
> +++ b/xen/drivers/vpci/header.c
> @@ -30,6 +30,7 @@
>  
>  struct map_data {
>      struct domain *d;
> +    const struct vpci_bar *bar;
>      bool map;
>  };
>  
> @@ -41,8 +42,25 @@ static int map_range(unsigned long s, unsigned long e, void *data,
>  
>      for ( ; ; )
>      {
> +        /* Start address of the BAR as seen by the guest. */
> +        gfn_t start_gfn = _gfn(PFN_DOWN(is_hardware_domain(map->d)
> +                                        ? map->bar->addr
> +                                        : map->bar->guest_reg));
> +        /* Physical start address of the BAR. */
> +        mfn_t start_mfn = _mfn(PFN_DOWN(map->bar->addr));
>          unsigned long size = e - s + 1;
>  
> +        /*
> +         * Ranges to be mapped don't always start at the BAR start address, as
> +         * there can be holes or partially consumed ranges. Account for the
> +         * offset of the current address from the BAR start.
> +         */
> +        start_gfn = gfn_add(start_gfn, s - mfn_x(start_mfn));

When doing guests mappings the rangeset should represent the guest
physical memory space, not the host one. So that collisions in the
guest p2m can be avoided. Also a guest should be allowed to map the
same mfn into multiple gfn. For example multiple BARs could share the
same physical page on the host and the guest might like to map them at
different pages in it's physmap.

> +
> +        gdprintk(XENLOG_G_DEBUG,
> +                 "%smap [%lx, %lx] -> %#"PRI_gfn" for %pd\n",
> +                 map->map ? "" : "un", s, e, gfn_x(start_gfn),
> +                 map->d);

That's too chatty IMO, I could be fine with printing something along
this lines from modify_bars, but not here because that function can be
preempted and called multiple times.

>          /*
>           * ARM TODOs:
>           * - On ARM whether the memory is prefetchable or not should be passed
> @@ -52,8 +70,10 @@ static int map_range(unsigned long s, unsigned long e, void *data,
>           * - {un}map_mmio_regions doesn't support preemption.
>           */
>  
> -        rc = map->map ? map_mmio_regions(map->d, _gfn(s), size, _mfn(s))
> -                      : unmap_mmio_regions(map->d, _gfn(s), size, _mfn(s));
> +        rc = map->map ? map_mmio_regions(map->d, start_gfn,
> +                                         size, _mfn(s))
> +                      : unmap_mmio_regions(map->d, start_gfn,
> +                                           size, _mfn(s));
>          if ( rc == 0 )
>          {
>              *c += size;
> @@ -62,8 +82,8 @@ static int map_range(unsigned long s, unsigned long e, void *data,
>          if ( rc < 0 )
>          {
>              printk(XENLOG_G_WARNING
> -                   "Failed to identity %smap [%lx, %lx] for d%d: %d\n",
> -                   map->map ? "" : "un", s, e, map->d->domain_id, rc);
> +                   "Failed to identity %smap [%lx, %lx] for %pd: %d\n",
> +                   map->map ? "" : "un", s, e, map->d, rc);

You need to adjust the message here, as this is no longer an identity
map for domUs.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 10:30:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 10:30:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257058.441487 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7xNJ-0005Eq-Uj; Thu, 13 Jan 2022 10:30:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257058.441487; Thu, 13 Jan 2022 10: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 1n7xNJ-0005Ej-Qj; Thu, 13 Jan 2022 10:30:33 +0000
Received: by outflank-mailman (input) for mailman id 257058;
 Thu, 13 Jan 2022 10:30:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/WE3=R5=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1n7xNI-0005Ed-2V
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 10:30:32 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur03on0607.outbound.protection.outlook.com
 [2a01:111:f400:fe09::607])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d50ae02b-745b-11ec-bcf3-e9554a921baa;
 Thu, 13 Jan 2022 11:30:31 +0100 (CET)
Received: from AS9PR07CA0008.eurprd07.prod.outlook.com (2603:10a6:20b:46c::6)
 by VI1PR08MB3805.eurprd08.prod.outlook.com (2603:10a6:803:ba::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Thu, 13 Jan
 2022 10:30:19 +0000
Received: from VE1EUR03FT008.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:46c:cafe::b3) by AS9PR07CA0008.outlook.office365.com
 (2603:10a6:20b:46c::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.2 via Frontend
 Transport; Thu, 13 Jan 2022 10:30:19 +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.4888.9 via Frontend Transport; Thu, 13 Jan 2022 10:30:18 +0000
Received: ("Tessian outbound a33f292be81b:v110");
 Thu, 13 Jan 2022 10:30:18 +0000
Received: from 882655aae735.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 742A6D4B-FEA9-4F46-B395-0EE3FC11EF03.1; 
 Thu, 13 Jan 2022 10:30:11 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 882655aae735.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 13 Jan 2022 10:30:11 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by DB7PR08MB3564.eurprd08.prod.outlook.com (2603:10a6:10:4f::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.10; Thu, 13 Jan
 2022 10:30:09 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::c0c1:d43a:acf3:a59d]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::c0c1:d43a:acf3:a59d%4]) with mapi id 15.20.4844.019; Thu, 13 Jan 2022
 10: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: d50ae02b-745b-11ec-bcf3-e9554a921baa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4Cqy/lieNL/BjiNGxjS4lI35j/gHcJGeKNhFI80+JUE=;
 b=G9d+03opiC3TvTuTWYuOQ0M9+TkANdR9RPBYICgkbvVKgdIY0CkK87mcwHq70n2ZSe4vvfRbXNDToE+DSflFm0YUz9jvQrsTso2GEmuAjl0hpm79W8iWLxMpSfyfzkfgkACD9Qd1SMNj5RXIlQNKK9Wm5cunGqggIG0rOHiJZLg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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: dccd68b742805310
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PRGOb/AcrE3EEKaN6xzfDW5TuqXHtrZrmSRTZsvCTXMDkJMDftg2RnyH3G0n47YNTJLSfgxm/oXsItZEE/crNpA43nXMLTPhplDL1VIF03VTufjFDODSp3BJCX69FlCUDTOIzA/N4K0ZESg/Ah7oYNh6G5CS0vLfthnfQLcBmAOzOsq+RBxuY/7xuBJqedZIVUHWN+bMFxH29vpZ+N9mRidOLv6b/NyZldfAqB2PjzdChs1bSi04mkUxO2qtbsZeT9lpel/qXuspYawssvpx/p8Oi2U/oOdKaE5vwLZem8Nv8VoRY6jGo4tJZdH6AVO/QgbxkiAIagBdhlveGOJVYQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4Cqy/lieNL/BjiNGxjS4lI35j/gHcJGeKNhFI80+JUE=;
 b=K+pZw2aIprcGGUHW6/jfXWw/zCkSbn3tK3SIwdfO4EZvOJZCLfm6eIVzUrYXDTZiOAYkV/sZazSE+jeKBC/6QnskWqrZ99wSArAD5SqfhBoz4Jslpf31KBd/TEf7NwRvvY3t8WNSstVJJ7mcCo6N5e36Fde/fYnsDXsZfdebKaf4HvrPbJDiEl+tZEFhNSCeBVnIGilFQt1RC7B2TrOc18xwse3XnlqZB3A1nd7u90mB/ZqBsLpobQVuFJAmx4i+ZdeR7X7WpfU2ptbo178by8dNWsuIdNshjpU6w0NN416lbCAJG2CvY8lO3BuinwPbtuyHkdqepa01aNl2FPKwBw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4Cqy/lieNL/BjiNGxjS4lI35j/gHcJGeKNhFI80+JUE=;
 b=G9d+03opiC3TvTuTWYuOQ0M9+TkANdR9RPBYICgkbvVKgdIY0CkK87mcwHq70n2ZSe4vvfRbXNDToE+DSflFm0YUz9jvQrsTso2GEmuAjl0hpm79W8iWLxMpSfyfzkfgkACD9Qd1SMNj5RXIlQNKK9Wm5cunGqggIG0rOHiJZLg=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, "jgross@suse.com"
	<jgross@suse.com>, "julien@xen.org" <julien@xen.org>,
	"Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>, Luca Miccio
	<lucmiccio@gmail.com>, Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Subject: Re: [XEN PATCH v2 5/5] tools: add example application to initialize
 dom0less PV drivers
Thread-Topic: [XEN PATCH v2 5/5] tools: add example application to initialize
 dom0less PV drivers
Thread-Index: AQHYCBjF7lyxWOD3fkSp4ukaTbOKnKxgwOAA
Date: Thu, 13 Jan 2022 10:30:09 +0000
Message-ID: <31200AC7-8FCA-4314-BF42-A6E054858937@arm.com>
References:
 <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop>
 <20220113005855.1180101-5-sstabellini@kernel.org>
In-Reply-To: <20220113005855.1180101-5-sstabellini@kernel.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: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 944ded6d-f835-433f-198a-08d9d67fb20d
x-ms-traffictypediagnostic:
	DB7PR08MB3564:EE_|VE1EUR03FT008:EE_|VI1PR08MB3805:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR08MB380529F45700234CA78D45A19D539@VI1PR08MB3805.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:1468;OLM:1468;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 91Wz3flL/NaAOJiI1uoIw20ZK3K7AlNwHiY2iAOxPHe/DTfJASfMCg8B83cU4/HDtqkbwWzOXDJ21DCykbwoBPG/x/6Tl4qlMO62c1rD3gM5KrXOpljjU04NbFGOKUkwWvrNWHfXwM0eItfVF6jp0PCBNMYIFRwqf7GvRy9P6/RvStKoNWB2jQOQqVMu9KXjfyjGZshp1Y0iSk3XNVRuQamnSdmCdM94XSyE9TEioUaZkINNfCiXSh3haKc6izuuDa7zuitZFF6p/wY+ARr8LMaOFntx3yrdu045k3zys9rX6F0xYoQgYXFGbh8LQxXVpcanc4HsAN0wGD3sO54rLSsA7Ha3NUH4KDOE8RLe0QILxpmjTGHlQ3V1puzQpy+DkhpPggvtyHgIUoPGUPvQYOZgKXseEHviUi0NFkYl6TDy5oy9GFvdFE3idX5M6tJn1wkeoREOBzeAu2xx2BjNIHHPcHux9cPbbjAVzFL/XmjXqsqGh0rWkEYV8Jo+FndVmWcSpT0REaexYEZ/vztb7zwiDIPi6d0MpIiFUkQMj46WxQr5sMn7V5wIE97jW0azNPlAXOjl6PI+MpJFWyfW4Pzk3DldIjEMsza2kfh9DSNnznZeCXYAO83YO/W4jLA8VRv1AcuZJ8E3yCsCM2Tro1PyP0P7JwcNO2Qh/abGHPMRmU9+y7bQtGkAtihlQ70eXDiljszE/UIXw8X6zlGfATK3HL5ikFCzw3citprBAImGasM7MFJ6O8T1iuVCBvbIPfOWbxxCM4ev17QiAYpYzA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(86362001)(91956017)(508600001)(122000001)(6512007)(5660300002)(38100700002)(2616005)(6486002)(66446008)(33656002)(6506007)(2906002)(64756008)(76116006)(66556008)(66476007)(71200400001)(66946007)(6916009)(186003)(83380400001)(53546011)(4326008)(8676002)(26005)(316002)(54906003)(8936002)(38070700005)(30864003)(36756003)(32563001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <06BA7179B2A7EF40A963A8BA3429D195@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3564
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT008.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b9d78143-d95b-487e-1ecc-08d9d67fac64
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9nQ5zV9JxrofPQcaCAZAkEOE1IHwF485YPVx68tME/jyC9otw4PCHxzLsPtEx+yx2istcUilvUzm3/0sZSzByYHXfUgiURnraIvrcekhZ0POXX+JAgvri7BTAYiOUHs2Cu6FVFFHeMH9fQZ9kqfUwXsP5sXbSy6yuloKd56LVHWbdOzN6+iy3VyUznzFxdErpowMbgqpMU9L/3endwBOofNoqvXIihYIPsSv3rruOg32NA0jWLg4Y5jO0B+jllkof0JLd+txvTpxXesBl+L91+e++JmO4Xatfd+mO1BY6uLqVkDKyLqZhPCVYUQZgLTVAFx801HjZBlEQCc8jyHibMTeRihuxE5fA6PrlKSmzvpGpwmIEPFosl1jjfQOEwg9kO47aqYuI4x97sNyYUje659PK3EcJ0L0v3Tr4gstzq/iHe4bK8zLjImuzk81m9GOC8t2GDizolSLwo4ZAaLNnfoLi6uAYMlOsRqc6P5vstedTFGpxFKG5yE/UQe1GsoucBl4mKCSAmQ2GEuE60drISbzEvsUjMVPmT7Yo0Gk/V8hYkXrc4Y9cqNE87ECeGg6Xe/7iaJ1no79ca2/UJ4+dEodkEIPhKNUkFukX7rQXv3vUKYsU9VPhivF6qPuYketbebLm3pRXb/tMDwf4Km0xMF2gcnSiXyucU7PZ/FDdKWgm5K5LoWTLIa0SUlzJiUC/n+DKoxEBijPAn6WxjZjzLrtc50CWTbkVrwmEVDclI1HMue+zOK4zsamnkBHoonPPWVtvHQU8kxD61SJBDpBwdHaNidRXrich1DRLyt/0WY=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(40470700002)(36840700001)(6512007)(36860700001)(47076005)(6486002)(70206006)(70586007)(508600001)(2616005)(2906002)(8936002)(4326008)(30864003)(54906003)(356005)(316002)(107886003)(26005)(5660300002)(186003)(336012)(53546011)(6506007)(83380400001)(82310400004)(36756003)(6862004)(86362001)(40460700001)(81166007)(33656002)(8676002)(32563001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2022 10:30:18.4606
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 944ded6d-f835-433f-198a-08d9d67fb20d
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: VI1PR08MB3805

Hi Stefano,

> On 13 Jan 2022, at 00:58, Stefano Stabellini <sstabellini@kernel.org> wro=
te:
>=20
> From: Luca Miccio <lucmiccio@gmail.com>
>=20
> Add an example application that can be run in dom0 to complete the
> dom0less domains initialization so that they can get access to xenstore
> and use PV drivers.
>=20
> Signed-off-by: Luca Miccio <lucmiccio@gmail.com>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
> CC: Wei Liu <wl@xen.org>
> CC: Anthony PERARD <anthony.perard@citrix.com>
> CC: Juergen Gross <jgross@suse.com>
> ---
> Changes in v2:
> - do not set HVM_PARAM_STORE_EVTCHN twice
> - rename restore_xenstore to create_xenstore
> - increase maxmem
> ---
> tools/helpers/Makefile        |  13 ++
> tools/helpers/init-dom0less.c | 266 ++++++++++++++++++++++++++++++++++
> 2 files changed, 279 insertions(+)
> create mode 100644 tools/helpers/init-dom0less.c
>=20
> diff --git a/tools/helpers/Makefile b/tools/helpers/Makefile
> index 7f6c422440..8e42997052 100644
> --- a/tools/helpers/Makefile
> +++ b/tools/helpers/Makefile
> @@ -10,6 +10,9 @@ ifeq ($(CONFIG_Linux),y)
> ifeq ($(CONFIG_X86),y)
> PROGS +=3D init-xenstore-domain
> endif
> +ifeq ($(CONFIG_ARM),y)
> +PROGS +=3D init-dom0less
> +endif
> endif
>=20
> XEN_INIT_DOM0_OBJS =3D xen-init-dom0.o init-dom-json.o
> @@ -26,6 +29,13 @@ $(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS +=3D $(CFLAGS_lib=
xenstore)
> $(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS +=3D $(CFLAGS_libxenlight)
> $(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS +=3D -include $(XEN_ROOT)/tools/conf=
ig.h
>=20
> +INIT_DOM0LESS_OBJS =3D init-dom0less.o init-dom-json.o
> +$(INIT_DOM0LESS_OBJS): CFLAGS +=3D $(CFLAGS_libxentoollog)
> +$(INIT_DOM0LESS_OBJS): CFLAGS +=3D $(CFLAGS_libxenstore)
> +$(INIT_DOM0LESS_OBJS): CFLAGS +=3D $(CFLAGS_libxenlight)
> +$(INIT_DOM0LESS_OBJS): CFLAGS +=3D $(CFLAGS_libxenctrl)
> +$(INIT_DOM0LESS_OBJS): CFLAGS +=3D $(CFLAGS_libxenevtchn)
> +
> .PHONY: all
> all: $(PROGS)
>=20
> @@ -35,6 +45,9 @@ xen-init-dom0: $(XEN_INIT_DOM0_OBJS)
> init-xenstore-domain: $(INIT_XENSTORE_DOMAIN_OBJS)
> 	$(CC) $(LDFLAGS) -o $@ $(INIT_XENSTORE_DOMAIN_OBJS) $(LDLIBS_libxentooll=
og) $(LDLIBS_libxenstore) $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(LDLI=
BS_libxenlight) $(APPEND_LDFLAGS)
>=20
> +init-dom0less: $(INIT_DOM0LESS_OBJS)
> +	$(CC) $(LDFLAGS) -o $@ $(INIT_DOM0LESS_OBJS) $(LDLIBS_libxenctrl) $(LDL=
IBS_libxenevtchn) $(LDLIBS_libxentoollog) $(LDLIBS_libxenstore) $(LDLIBS_li=
bxenlight) $(LDLIBS_libxenguest)  $(APPEND_LDFLAGS)
> +
> .PHONY: install
> install: all
> 	$(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
> diff --git a/tools/helpers/init-dom0less.c b/tools/helpers/init-dom0less.=
c
> new file mode 100644
> index 0000000000..0434ca064f
> --- /dev/null
> +++ b/tools/helpers/init-dom0less.c
> @@ -0,0 +1,266 @@
> +#include <stdbool.h>
> +#include <syslog.h>
> +#include <stdio.h>
> +#include <err.h>
> +#include <stdlib.h>
> +#include <xenstore.h>
> +#include <xenctrl.h>
> +#include <xenguest.h>
> +#include <libxl.h>
> +#include <xenevtchn.h>
> +
> +#include "init-dom-json.h"
> +
> +#define NR_MAGIC_PAGES 4
> +#define CONSOLE_PFN_OFFSET 0
> +#define XENSTORE_PFN_OFFSET 1
> +#define STR_MAX_LENGTH 64
> +
> +static int alloc_magic_pages(libxl_dominfo *info, struct xc_dom_image *d=
om)
> +{
> +    int rc, i;
> +    const xen_pfn_t base =3D GUEST_MAGIC_BASE >> XC_PAGE_SHIFT;
> +    xen_pfn_t p2m[NR_MAGIC_PAGES];
> +
> +    rc =3D xc_domain_setmaxmem(dom->xch, dom->guest_domid,
> +                             info->max_memkb + NR_MAGIC_PAGES * 4);
> +    if (rc < 0)
> +        return rc;
> +
> +    for (i =3D 0; i < NR_MAGIC_PAGES; i++)
> +        p2m[i] =3D base + i;
> +
> +    rc =3D xc_domain_populate_physmap_exact(dom->xch, dom->guest_domid,
> +                                          NR_MAGIC_PAGES, 0, 0, p2m);
> +    if (rc < 0)
> +        return rc;
> +
> +    dom->xenstore_pfn =3D base + XENSTORE_PFN_OFFSET;
> +
> +    xc_clear_domain_page(dom->xch, dom->guest_domid, dom->xenstore_pfn);
> +
> +    xc_hvm_param_set(dom->xch, dom->guest_domid, HVM_PARAM_STORE_PFN,
> +                     dom->xenstore_pfn);
> +    return 0;
> +}
> +
> +static void do_xs_write(struct xs_handle *xsh, xs_transaction_t t,
> +                        char *path, char *val)
> +{
> +    if (!xs_write(xsh, t, path, val, strlen(val)))
> +        fprintf(stderr, "writing %s to xenstore failed.\n", path);

Error here is ignored, do we really want that ?

> +}
> +
> +static void do_xs_write_dom(struct xs_handle *xsh, xs_transaction_t t,
> +                            domid_t domid, char *path, char *val)
> +{
> +    char full_path[STR_MAX_LENGTH];
> +
> +    snprintf(full_path, STR_MAX_LENGTH,
> +             "/local/domain/%d/%s", domid, path);
> +    do_xs_write(xsh, t, full_path, val);
> +}
> +
> +static void do_xs_write_libxl(struct xs_handle *xsh, xs_transaction_t t,
> +                              domid_t domid, char *path, char *val)
> +{
> +    char full_path[STR_MAX_LENGTH];
> +
> +    snprintf(full_path, STR_MAX_LENGTH,
> +             "/libxl/%d/%s", domid, path);
> +    do_xs_write(xsh, t, full_path, val);
> +}
> +
> +static void do_xs_write_vm(struct xs_handle *xsh, xs_transaction_t t,
> +                           libxl_uuid uuid, char *path, char *val)
> +{
> +    char full_path[STR_MAX_LENGTH];
> +
> +    snprintf(full_path, STR_MAX_LENGTH,
> +             "/vm/" LIBXL_UUID_FMT "/%s", LIBXL_UUID_BYTES(uuid), path);
> +    do_xs_write(xsh, t, full_path, val);
> +}
> +
> +static int restore_xenstore(struct xs_handle *xsh,
> +                            libxl_dominfo *info, libxl_uuid uuid,
> +                            evtchn_port_t xenstore_port)
> +{
> +    domid_t domid;
> +    int i;
> +    char uuid_str[STR_MAX_LENGTH];
> +    char dom_name_str[STR_MAX_LENGTH];
> +    char vm_val_str[STR_MAX_LENGTH];
> +    char id_str[STR_MAX_LENGTH];
> +    char max_memkb_str[STR_MAX_LENGTH];
> +    char cpu_str[STR_MAX_LENGTH];
> +    char xenstore_port_str[STR_MAX_LENGTH];
> +    char ring_ref_str[STR_MAX_LENGTH];
> +    xs_transaction_t t;
> +
> +    domid =3D info->domid;
> +    snprintf(id_str, STR_MAX_LENGTH, "%d", domid);
> +    snprintf(dom_name_str, STR_MAX_LENGTH, "dom0less-%d", domid);
> +    snprintf(uuid_str, STR_MAX_LENGTH, LIBXL_UUID_FMT, LIBXL_UUID_BYTES(=
uuid));
> +    snprintf(vm_val_str, STR_MAX_LENGTH,
> +             "vm/" LIBXL_UUID_FMT, LIBXL_UUID_BYTES(uuid));
> +    snprintf(max_memkb_str, STR_MAX_LENGTH, "%lu", info->max_memkb);
> +    snprintf(ring_ref_str, STR_MAX_LENGTH, "%lld",
> +             (GUEST_MAGIC_BASE >> XC_PAGE_SHIFT) + XENSTORE_PFN_OFFSET);
> +    snprintf(xenstore_port_str, STR_MAX_LENGTH, "%d", xenstore_port);
> +
> +retry_transaction:
> +    t =3D xs_transaction_start(xsh);
> +    if (t =3D=3D XBT_NULL)
> +        return errno;
> +

All the following is very static and for a dummy reviewer (like me) kind of=
 magic.
Could you add a comment on top of this explaining how this list of entries =
was
created so that someone updating/reviewing this code can make sure it is ri=
ght ?

> +    /* /vm */
> +    do_xs_write_vm(xsh, t, uuid, "name", dom_name_str);
> +    do_xs_write_vm(xsh, t, uuid, "uuid", uuid_str);
> +    do_xs_write_vm(xsh, t, uuid, "start_time", "0");
> +
> +    /* /domain */
> +    do_xs_write_dom(xsh, t, domid, "vm", vm_val_str);
> +    do_xs_write_dom(xsh, t, domid, "name", dom_name_str);
> +    do_xs_write_dom(xsh, t, domid, "cpu", "");
> +    for (i =3D 0; i < info->vcpu_max_id; i++) {
> +        snprintf(cpu_str, STR_MAX_LENGTH, "cpu/%d/availability/", i);
> +        do_xs_write_dom(xsh, t, domid, cpu_str,
> +                        (info->cpupool & (1 << i)) ? "online" : "offline=
");
> +    }
> +    do_xs_write_dom(xsh, t, domid, "cpu/0", "");
> +    do_xs_write_dom(xsh, t, domid, "cpu/availability", "online");
> +
> +    do_xs_write_dom(xsh, t, domid, "memory", "");
> +    do_xs_write_dom(xsh, t, domid, "memory/static-max", max_memkb_str);
> +    do_xs_write_dom(xsh, t, domid, "memory/videoram", "-1");
> +
> +    do_xs_write_dom(xsh, t, domid, "device", "");
> +    do_xs_write_dom(xsh, t, domid, "device/suspend", "");
> +    do_xs_write_dom(xsh, t, domid, "device/suspend/event-channel", "");
> +
> +    do_xs_write_dom(xsh, t, domid, "control", "");
> +    do_xs_write_dom(xsh, t, domid, "control/shutdown", "");
> +    do_xs_write_dom(xsh, t, domid, "control/feature-poweroff", "1");
> +    do_xs_write_dom(xsh, t, domid, "control/feature-reboot", "1");
> +    do_xs_write_dom(xsh, t, domid, "control/feature-suspend", "");
> +    do_xs_write_dom(xsh, t, domid, "control/sysrq", "");
> +    do_xs_write_dom(xsh, t, domid, "control/platform-feature-multiproces=
sor-suspend", "1");
> +    do_xs_write_dom(xsh, t, domid, "control", "platform-feature-xs_reset=
_watches");
> +
> +    do_xs_write_dom(xsh, t, domid, "domid", id_str);
> +    do_xs_write_dom(xsh, t, domid, "data", "");
> +    do_xs_write_dom(xsh, t, domid, "drivers", "");
> +    do_xs_write_dom(xsh, t, domid, "feature", "");
> +    do_xs_write_dom(xsh, t, domid, "attr", "");
> +
> +    do_xs_write_dom(xsh, t, domid, "store/port", xenstore_port_str);
> +    do_xs_write_dom(xsh, t, domid, "store/ring-ref", ring_ref_str);
> +
> +    do_xs_write_libxl(xsh, t, domid, "type", "pvh");
> +    do_xs_write_libxl(xsh, t, domid, "dm-version", "qemu_xen");
> +
> +    if (!xs_transaction_end(xsh, t, false))
> +        if (errno =3D=3D EAGAIN)
> +            goto retry_transaction;
> +
> +    return 0;
> +}
> +
> +static int init_domain(struct xs_handle *xsh, libxl_dominfo *info)
> +{
> +    struct xc_dom_image dom;
> +    libxl_uuid uuid;
> +    uint64_t v;
> +    int rc;
> +
> +    printf("#### Init dom0less domain: %d ####\n", info->domid);
> +    dom.guest_domid =3D info->domid;
> +    dom.xenstore_domid =3D 0;
> +    dom.xch =3D xc_interface_open(0, 0, 0);
> +
> +    rc =3D xc_hvm_param_get(dom.xch, info->domid, HVM_PARAM_STORE_EVTCHN=
, &v);
> +    if (rc !=3D 0) {
> +        printf("Failed to get HVM_PARAM_STORE_EVTCHN\n");
> +        return 1;
> +    }
> +    dom.xenstore_evtchn =3D v;
> +
> +    /* Console won't be initialized but set its data for completeness */
> +    dom.console_domid =3D 0;
> +
> +    /* Alloc magic pages */
> +    printf("Allocating magic pages\n");
> +    if (alloc_magic_pages(info, &dom) !=3D 0) {
> +        printf("Error on alloc magic pages\n");
> +        return 1;
> +    }
> +
> +    printf("Setup Grant Tables\n");
> +    xc_dom_gnttab_init(&dom);
> +
> +    printf("Setup UUID\n");
> +    libxl_uuid_generate(&uuid);
> +    xc_domain_sethandle(dom.xch, info->domid, libxl_uuid_bytearray(&uuid=
));
> +
> +    printf("Creating JSON\n");
> +    rc =3D gen_stub_json_config(info->domid, &uuid);
> +    if (rc)
> +        err(1, "gen_stub_json_config");
> +
> +    printf("Restoring Xenstore values\n");
> +    restore_xenstore(xsh, info, uuid, dom.xenstore_evtchn);
> +
> +    printf("Introducing domain\n");
> +    xs_introduce_domain(xsh, info->domid,
> +            (GUEST_MAGIC_BASE >> XC_PAGE_SHIFT) + XENSTORE_PFN_OFFSET,
> +            dom.xenstore_evtchn);

This is really verbose and you have no option to make this a bit more quiet=
.
Do we really need all those prints ? Could end up being a lot if you have 5=
 or 6 domains.

> +    return 0;
> +}
> +
> +/* Check if domain has been configured in XS */
> +static bool domain_exists(struct xs_handle *xsh, int domid)
> +{
> +    return xs_is_domain_introduced(xsh, domid);
> +}
> +
> +int main(int argc, char **argv)
> +{
> +    libxl_dominfo *info;
> +    libxl_ctx *ctx;
> +    int nb_vm, i;
> +    struct xs_handle *xsh;
> +
> +    xsh =3D xs_daemon_open();
> +    if (xsh =3D=3D NULL) {
> +        fprintf(stderr, "Could not contact XenStore");
> +        exit(1);
> +    }
> +
> +    if (libxl_ctx_alloc(&ctx, LIBXL_VERSION, 0, NULL)) {
> +        fprintf(stderr, "cannot init xl context\n");

You might want to close xsh to be clean here

> +        exit(1);
> +    }
> +
> +    info =3D libxl_list_domain(ctx, &nb_vm);
> +    if (!info) {
> +        fprintf(stderr, "libxl_list_vm failed.\n");

You might want to close xsh to be clean here

> +        exit(EXIT_FAILURE);

Why using EXIT_FAILURE here but 1 on the exit before ?

> +    }
> +
> +    for (i =3D 0; i < nb_vm; i++) {
> +        domid_t domid =3D info[i].domid;
> +
> +        /* Don't need to check for Dom0 */
> +        if (!domid)
> +            continue;
> +
> +        printf("Checking domid: %u\n", domid);
> +        if (!domain_exists(xsh, domid))
> +            init_domain(xsh, &info[i]);
> +        else
> +            printf("Domain %d has already been initialized\n", domid);
> +    }
> +    libxl_dominfo_list_free(info, nb_vm);
> +    xs_close(xsh);
> +    return 0;
> +}
> --=20
> 2.25.1
>=20



From xen-devel-bounces@lists.xenproject.org Thu Jan 13 10:39:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 10:39:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257062.441497 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7xW4-00064j-TP; Thu, 13 Jan 2022 10:39:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257062.441497; Thu, 13 Jan 2022 10:39:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7xW4-00064c-QO; Thu, 13 Jan 2022 10:39:36 +0000
Received: by outflank-mailman (input) for mailman id 257062;
 Thu, 13 Jan 2022 10:39:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GUHC=R5=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1n7xW2-00064W-OP
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 10:39:34 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 170f588e-745d-11ec-bcf3-e9554a921baa;
 Thu, 13 Jan 2022 11:39:32 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 170f588e-745d-11ec-bcf3-e9554a921baa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642070372;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=e1LoWS6DZcu6EjIrJ27bDUc6dlFGcFKo+jBWFWb8oVs=;
  b=V1dn3T8pdTJNYzB7nRWFx+kl+xulbqWebNga0NJGw38fZoCDLKpRhH2Z
   HFjSfbBo8MfbKUieicXeTYR5KYNHC3HLqbWCW+P4aZ20SFEpVIUg1NJVv
   rz9PaeYDk+Ws8a4ulKnlQOoj3dQ0YswveP+lO9pmHxa+NJW2hy7RsXJeY
   8=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: SYFDaHAMp5F3HvorWxSuXmE4WstW4dfzR3JQAq5jsZyZYr7nfkdjbfaqZN4XEuojna+V2zHzvk
 bJCJtny0WODoZfvjMlFWnfZ8Hps2j8kf+OG8v4ouOBRLZIbs8sxwxeklkkuqkjS/5GBwXMQtO3
 OEvpgNUb4WhtLh3mXK8jynUz8L/h90kX0S/F6KU21ZnJLXINmsgldqP1B+ReLPWcMzsw5iWNbc
 IwhbGOQFqhsDv5byhiDrJcuxRplIbsWaWluiTMdHCcw/45U7EshHHeAkYRaWeOdEoVqL837gGX
 s+O956ocPr8GifWWtFOTivC9
X-SBRS: 5.2
X-MesageID: 61909621
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:WsClR6mwsS4JGNLW+S2mE9Xo5gwAIURdPkR7XQ2eYbSJt1+Wr1Gzt
 xIWWzqAOqzYYDShc9kkPYy0pEpSuZPTzIdgTABsqXo2HiMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BClVlxJVF/fngqoDUUYYoAQgsA180IMsdoUg7wbRh29cz2YHR7z6l4
 rseneWOYDdJ5BYsWo4kw/rrRMRH5amaVJsw5zTSVNgT1LPsvyB94KE3fMldG0DQUIhMdtNWc
 s6YpF2PEsE1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXee0v0XRYRQR4/ttmHozx+4
 PRP5KHgQxwCBZ/3u8ESCzVkD3BbL6ITrdcrIVDn2SCS50jPcn+qyPRyFkAme4Yf/46bA0kXq
 6ZecmpUKEne2aTmm9pXScE17ignBMDtIIMYvGAm1TzDBOwqaZvCX7/L9ZlT2zJYasVmQ6+PP
 5tHM2MHgBLoRz9NH147B5sFru6st0fHWnpHkmqQqv9ii4TU5FMoi+W8WDbPQfSSTNhRtlaVo
 CTB5WuRKg4eHMySz3yC6H3Eru3AhyTgQ6oJCaa1sPVthTW7xGUVBAcHSFiTrvywi0r4UNVaQ
 2QE9yxroaUs+UiDStjmQwb+sHOCpgQbWddbD6s98g7l4qje7hudB2MEZiVcc9Fgv8gzLQHGz
 XfQwYmvX2Y29uTIFzTNrd94sA9eJwA0Lz4/NSUfZjA32PrGr9kfsg6ea8RsRfvdYsLOJRn8x
 DWDrS4bjroVjNIW26jTwW0rkw5AtbCSEFdru1y/snaNq1ogOdX7P9DABU3zsK4YRLt1WGVtq
 5TtdyK2yOkVRa+AmyWWKAnmNOH4vq3VWNEwbLMGInXAy9hP0yLyFWyzyGsnTKuMDiriUWW5C
 KM0kVkAjKK/xFPwMcdKj3uZUqzGN5TIG9X/TezzZdFTeJV3fwLv1HgwORTIhju1zhR8yvtX1
 XKnnSCEVyZy5UNPlmveegvg+eVzmnBWKZ37GPgXMChLIZLBPSXIGN/pwXOFb/wj7bPsnekm2
 403Cid+8D0GCLeWSnCOqeY7dAlWRVBmW8yeg5EJJ4arf1o3cEl8WqS56e5wJORYc1F9y72gE
 oeVABEIkTISRBTvdG23V5yUQOi+AsYk8yNqZHxE0JTB8yFLXLtDJZw3L/MfFYTLPsQ6pRKtZ
 /VaKciGHNpVTTHLp2YUYZXn9dQwfxW3nwOeeSGiZWFnLZJnQgXI/P7ifxfuq3ZSXnbm65Nmr
 u3yzB7fTLoCWx9mUJTcZsWwwg7jpnMagu9zARfFe4EBZEX2/YF2ACXtlftrcdoUIBDOy2LCh
 QabCBsVv8fXpIox/IWbjKyItd7xQeB/AlBbDy/Q6rPvbXvW+W+qwIlhVueUfG+CCDOoqfv6P
 egMlqPyKvwKmlpOorFQKbczwPJs/cbrqp9b0h9gQCfBYWO0B+4yOXKBx8RO6PFAn+cLpQusV
 0uT0dBGIrHVatj9GVscKQd5POSO0fYYxmvb4fgveRio4SZ2+PyMUFlIPgnKgytYdeMnPIQgy
 OYnmcgX9w3g1UZ6bofY1nhZpzaWM3gNc6Q7rZVLUobkhz0ixkxGfZGBWDT954uCaokUP0QnS
 tNOaHEuW1iIKpL+TkcO
IronPort-HdrOrdr: A9a23:Hzk5Eq6JbxelA5DjeQPXwMrXdLJyesId70hD6qhwISY1TiW9rb
 HIoB17726RtN9/Yh0dcLy7V5VoBEmsk6KdgrNhWItKPjOW21dARbsKheCJrgEIWReOlNK1vZ
 0QCpSWY+eRMbEVt6jH3DU=
X-IronPort-AV: E=Sophos;i="5.88,284,1635220800"; 
   d="scan'208";a="61909621"
Date: Thu, 13 Jan 2022 10:39:26 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jason Andryuk <jandryuk@gmail.com>
CC: <xen-devel@lists.xenproject.org>, Jan Beulich <jbeulich@suse.com>, "Paul
 Durrant" <paul@xen.org>, Wei Liu <wl@xen.org>, Juergen Gross
	<jgross@suse.com>
Subject: Re: [PATCH v4] libxl/PCI: Fix PV hotplug & stubdom coldplug
Message-ID: <YeABXp55XWTVd7rL@perard>
References: <20220113040142.20503-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20220113040142.20503-1-jandryuk@gmail.com>

On Wed, Jan 12, 2022 at 11:01:42PM -0500, Jason Andryuk wrote:
> commit 0fdb48ffe7a1 "libxl: Make sure devices added by pci-attach are
> reflected in the config" broken PCI hotplug (xl pci-attach) for PV
> domains when it moved libxl__create_pci_backend() later in the function.
> 
> This also broke HVM + stubdom PCI passthrough coldplug.  For that, the
> PCI devices are hotplugged to a running PV stubdom, and then the QEMU
> QMP device_add commands are made to QEMU inside the stubdom.
> 
> A running PV domain calls libxl__wait_for_backend().  With the current
> 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:
> 1) The domain is PV
> 3) The domain is running
> 2) The backend is already present
> 
> 1) xen-pcifront is only used for PV.  It does not load for HVM domains
>    where QEMU is used.
> 
> 2) If the domain is not running (starting), then the frontend state will
>    be Initialising.  xen-pciback waits for the frontend to transition to
>    at Initialised before attempting to connect.  So a wait for a
>    non-running domain is not applicable as the backend will not
>    transition to Connected.
> 
> 3) For presence, 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 or changing to
>    some other state like closing.  If we are creating the backend, then
>    we don't have to worry about the state since it is being created.
> 
> Fixes: 0fdb48ffe7a1 ("libxl: Make sure devices added by pci-attach are
> reflected in the config")
> 
> Signed-off-by: Jason Andryuk <jandryuk@gmail.com>

That patch is probably good enough for now, even if there is probably need to
rework the function with regards to issue raised in
https://lore.kernel.org/xen-devel/24859.43747.87671.739214@mariner.uk.xensource.com/
in the thread.

Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 10:44:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 10:44:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257066.441509 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7xae-0007S3-HN; Thu, 13 Jan 2022 10:44:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257066.441509; Thu, 13 Jan 2022 10:44:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7xae-0007Rw-Dj; Thu, 13 Jan 2022 10:44:20 +0000
Received: by outflank-mailman (input) for mailman id 257066;
 Thu, 13 Jan 2022 10:44:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=64pG=R5=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n7xad-0007Rq-9T
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 10:44:19 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c1198481-745d-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 11:44:17 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c1198481-745d-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642070657;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=GvyM8INLhdQI/evUBwzWDA4gocSs4jglUkbFXNMfF5g=;
  b=Bi16i6TU1xhNR5a4leu4QvoAwzPp9LcjE/vp7OjnTl6ZNRHBXeIefulg
   2D54vJV71ascQUliBuZMkIq9WTAB2Qye16hlRjp/vD0fSdjj6KJTOi3GU
   11BqWQNeKe2S56QATbuei6subc4wkiGJmHdWBbV8tijcZk0WCIyeEr0Q6
   Q=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: eEjk8EvFIyNFesVo4+7ThAnQFTdWSxTMt110wEHW2hpUGQbJGyvAWT/JsI7KZu27H97d+tml+g
 +lYWkw7F+ZimtjcC6uyQWuHT/652r6anCv5EiPf73YjNXUNVEw3Z3tI2lyQ3ahKmjrk2aJS0gS
 djPjRxLlWLVxW3KtU/gLP7qw/xD8llZvNjbZZVpRpLnvyc3whAw8F0ubq1pyJh7T6+24ZwhejF
 INA7cq08KivmTBEreJ1NmKbkY8kS5UbQvI/Zn4I4WVjPjtohid4ppBcZGicYxMJxqa7eisCIxc
 u9xkOyLgHqg3Bq62xsFSe72R
X-SBRS: 5.2
X-MesageID: 64033648
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:eYLkS6jle516uJsbgk05Kh/VX161hhcKZh0ujC45NGQN5FlHY01je
 htvUWnVP/zbM2ejL98lbYm2p0IGvp7Xm99lSwBsritmFSwb9cadCdqndUqhZCn6wu8v7a5EA
 2fyTvGacajYm1eF/k/F3oAMKRCQ7InQLlbGILes1htZGEk0GE/NtTo5w7Rj2tcx2oDga++wk
 YiaT/P3aQfNNwFcagr424rbwP+4lK2v0N+wlgVWicFj5DcypVFMZH4sDfjZw0/DaptVBoaHq
 9Prl9lVyI97EyAFUbtJmp6jGqEDryW70QKm0hK6UID66vROS7BbPg/W+5PwZG8O4whlkeydx
 /1fpMK9ZzgWZZaVwugjciYFNjNEEpd/reqvzXiX6aR/zmXDenrohf5vEFs3LcsT/eMf7WNmr
 KJCbmpXN1ba2rzwkOnTpupE36zPKOHxO4wSoDd4xCzxBvc6W5HTBa7N4Le02R9u2pgVRqiCN
 6L1bxJWTEjLOAweBW4aM7MdhL+XhWCldRBX/Qf9Sa0fvDGIkV0ZPKLWGMXRUsyHQ4NShEnwj
 nLL+SH1Dw8XMPSbyCGZ6TS8i+nXhyT5VYkOUrqi+ZZCglee22gSAx0+TkagrL+yjUvWZj5EA
 xVKoGx09/F0rRH1CImmN/GlnJKalgwNBdd+LNJh01jXxpT13Fu8FFIrdAcUPbTKq/QKbTAt0
 1aImfbgCjpurKCZRBqhy1uEkd+hEXNLdDFfPEfoWSNAuoC++99r0nojW/4+SPbdszHjJd3nL
 9lmRgAajq5bs8ME3r7TEbvv02P1/cihouLYC2zqsoOZAuFRON/Ni2+AswGzARN8wGCxFAnpU
 J8swZn20Qz2JcvR/BFhuc1UdF1T296LMSfHnXlkFIQ7+jKm9haLJN4Mumknfx83bpZfI1cFh
 XM/XysLtPe/21PwPMdKj3+ZUZx2ncAM6/y4PhwrUja+SscoL1LWlM2fTUWRw3rsgCARfVIXY
 v+mnTKXJS9CU8xPlWPuL89EiOND7n1gmQv7GM6qpzz6gev2TCPEEt8tbQrRBt3VGYvZ+m05B
 f4FaZvTo/ieOcWjChTqHXk7dgFVfSNlVMGv+6S6tIere2JbJY3oMNeIqZsJcI15haVF0ODO+
 3C2QEhDz1Tjw3bALG23hrpLMtsDhL5z8iA2OzICJ1Gt1yRxaIqj9v5HJZA2YaMm5KpoyvstF
 6sJfMCJA/JuTDXb+mtCMcmh/dI6LBn71xiTOyeFYSQke8IyTQL+5dK5LBDk8zMDD3TruJJm8
 aGgzA7SXbEKWx9mUJTNcPuqwl7o5Sodlet+UlHmON5WfEmwooFmJzao1q08It0WKAWFzTyfj
 l7EDRAdrOjLgok07NiW2vzU89b3S7NzRxMIEXPa4LC6MTjh0lCimYIQAvyVeT39VX/v/Pnwb
 +ti0PyhYuYMm0xHstQgHu8zn74+/dbmu5RT0h9gQCfQd12uB75tfiuG0M1IuvEfz7NVo1LrC
 EeG+90cMrSVIsL1VlUWIVN9POiE0PgVnBjU7Og0fxqmtHMmouLfXBUAJQSIhQxcMKBxYdEsz
 uoWscIL7xCy10gxOdGcgyEIr2mBIxTsiUn8Wk321GMztjcW9w==
IronPort-HdrOrdr: A9a23:S4EwkqkDa5JFCVivTyHIoUF44JfpDfIu3DAbv31ZSRFFG/Fxl6
 iV/cjz8SWE7wr5OUtQ/exoV5PtfZqxz/FICMwqTNGftWrdyQ6VxeNZnOjfKlTbckWUnINgPO
 VbAspD4bXLfCFHZK3BgDVQfexP/OW6
X-IronPort-AV: E=Sophos;i="5.88,284,1635220800"; 
   d="scan'208";a="64033648"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=O6zhd1o4BkHpDJ/rk6qPpu6DLeS7ZrXezTGywai1KLLlDHTHxxgzsw9rf1FbC1LWKeG12FqkgaJYupHWTQjHWrZa4Yl7dRAsQyo9dLLv33CyLjero40rY77y6frTv//HAeraCNWbhsHrdv8UrqnB9M/H5k/WZ4LSvaRLM0Q+8498l17X35ScoiyeEtc3njAk5G977vwni1gaU/Ms96qs6Ga0KaTH6ooqVabALISxTXfrr3i963IueLqSWRDUBSFVQfX/9h8HvM08/+O7l9dxiChoSSoZ4lggtAjTBjTwH7MQCNDla+FngT4KOX8uQ1AbX2e/HesMCeaFL8rdbaWZ6w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OJgE/lnFG4lbdOsHNhP4NZqM1TfQh5y+gwICQ3tkiUI=;
 b=BEOXkA7456rzfjTRHFOT70EAUKC5JEeyBU3+CxPMErA+N4N5YWW9q3h43Gg58JHZHG/RQZKD8VOAVIdS1vmw60hszdTtfTiZhOKxIkm40HKd4fNpRiUnCKR/c5if8JFaAR6/SldqK8tdJO9lFoq5vGApMlCLdce855hhPFMVNnaQi7ND8j4oxlluNZMRHOlpWs1ckUJ6oV0bysbXXMYCTOP1qhtMFIWe4Fx+W+U3FLvr5SbqkXaF9cKB/nUzb/CmknK/rDo2iO+qqkbLQ+Yt4XEctnnfUsoOZZLDTy3AHbTmYTe9OoqRK0T5LFxurGJLb1FXt1gWTI9kymU0KRvmXA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OJgE/lnFG4lbdOsHNhP4NZqM1TfQh5y+gwICQ3tkiUI=;
 b=IxoH5r4OL+jFP+LqwLPpi6ngLN9QbKBg0+1SGUFECnOssssqC5hsqyzxthrKzW8af5q7cam85o9DoVIXbHbiQH9tgL+eZKKnu/YntzhgQYKBlk1vcEbMNd5YJvCqDJmono4lnkRkk1HOabBHeGI+8s263dQhVRjYWOSaObsCneM=
Date: Thu, 13 Jan 2022 11:44:08 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH 1/2] x86/time: use relative counts in calibration loops
Message-ID: <YeACeLWPuKDvX4N9@Air-de-Roger>
References: <595b3447-0eba-dfc8-fa24-6bb8b964a137@suse.com>
 <34662095-6f58-4471-8bbf-1bdf67650fb2@suse.com>
 <0bd1cdac-14cc-dda4-90a1-50a1993ff978@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <0bd1cdac-14cc-dda4-90a1-50a1993ff978@suse.com>
X-ClientProxiedBy: FR0P281CA0089.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::11) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 632a0ef3-96f2-448e-e748-08d9d681a317
X-MS-TrafficTypeDiagnostic: MWHPR03MB2864:EE_
X-Microsoft-Antispam-PRVS: <MWHPR03MB28642501F5161E95AA678B9C8F539@MWHPR03MB2864.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:2000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: MwVi3iEw0E+2zadgtC/D47k5gcT7jn508xBAqySfFK8Sts9kHrFS2CqcMaHD9Cmd0qAP5/dc/8WAdM2VjTrSfle9CI5ggkNbGG1GsbcC9wOZQcx0Iy6IEdvWPXkha1epNpqwuPZO7d2jxH/3PuJvIvvPdL6WhrglOalM3tjqXPZ4c6nj1H8BrCdni1Sme9vSR7S54ji4R+lcbsxQhpJRodLhu+9vpxLWZ5TsH4rwC72Yu/S9TIMzme3P1nopPB3DYGffY7wauMs6pftSlAOc+TUze2NoEtOp5doH5blvfu9Yl+WBjOqOcg7aXelRpR0oJYSArKGOLwcNDd0gBffxCrzrt1PGKoprmP9HZhSP7PJbzWja5n+Jro46cOuWoKg+uFhbN5LfXDWJmSvVCnPFa6foeU0bYwexLPevNAP5qx4dXmDaQIVn1PFMgbRZ7/Hsz3cvgeKxr5lvrK9wLugwtBzo9gY3Vbg35gdsnfINCoKH2r6E1wSMAJGORHVweppEYR6pN/s88Z8rRAoIGKhHq3nLDEj6pu1x0EPLZA5kNLBwGSNXoFLGHI002w6VdEYkMuctHCy7rK75aE9iKmMnR4XINqY7ANlBwrAGM0vpl3SJad+z22L0qyrEmZ4M2ip/FRKNtl7ho2HxkS5qsgUCNg==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(5660300002)(6666004)(83380400001)(6512007)(9686003)(2906002)(33716001)(82960400001)(508600001)(66946007)(53546011)(6506007)(186003)(66476007)(6486002)(8936002)(38100700002)(86362001)(8676002)(26005)(85182001)(6916009)(316002)(66556008)(54906003)(4326008);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Y3J3bmUrWms2VVhjYlFsbWh5SDdwU3I5UXVqVFJsSHdVRjJ4TkVmbWxHU3B6?=
 =?utf-8?B?U0lkM0hIWm9VQjhqZjMxS1UzR2lDVGZkejc0MkMyaU5LREFtbytKcXdDQ1VT?=
 =?utf-8?B?UzJUdU41MkhlZC82QWpLYnQ2dGJsSGhPWlliQU40RVRCSjNzNHduQ216aDhN?=
 =?utf-8?B?ZUMxRlJydmo0LzEwSitBckk4VWFnNFd4c3dIaGpibGJ6SEMxL2RWeUpYMmsy?=
 =?utf-8?B?Z2NqdEpxUWZ3TjlVTmcxZDVNMTZLRDBhWjh2TUVaekoyeUJlSmFMRDRINVVN?=
 =?utf-8?B?eFkwSTg4U3NNMUVzMWlaS0RHZkRHZ0lDTnAxamtWL1NZQjNhazdnMEhoWmEz?=
 =?utf-8?B?QWowb3dYejQ3ZUFjbjFLaDJMRnVGNmNua2krZkwxZ2VxWW1yUndsNGlQM3FD?=
 =?utf-8?B?UVFqOEVWWG5CRHpsR2NjOHpLSjJSMlRaTXM3WEozb2poa3ZTbzFqRzNRMXU2?=
 =?utf-8?B?VElBM3lhaTFVSS9NbUFteWNWSWNYTnJiRzNubmE1N3VkMWd4U2hSbFJiSmgr?=
 =?utf-8?B?blp0K0JMUjRmSE9nT2kySEszQjZpbTRkTDhUVXJpdFY2MkNrNW1FelAwVW9M?=
 =?utf-8?B?QVRWb05DU3FSS3lSL1hLTFRNeVhHM1dJNmM4UWJEdCtZVnMyK21FVSt6Yk5H?=
 =?utf-8?B?b09kcngxTjdYYXpoMkkzZ1ZHUlcrckxVcjdLNXdXY0R0WFBsamJpOTBacUlG?=
 =?utf-8?B?YXBmY1dpYXpEN2lEUXhBQVVqd3ZtT2RxSXplZ1hQQldORG5DbVhpaThHRXRq?=
 =?utf-8?B?QitRTnVGSXFZcGdUaXpMcnNCWTlqOFJwZzN3Vm1rTGdNdGtGdWFyUzI2akRP?=
 =?utf-8?B?V0pqRjhwckFpTmRqSFAyVU5ZWjE2SU1aYXBpZi9DcmFmK0xocjdZTVVYdTdO?=
 =?utf-8?B?UkMyQTh1QUNsa1B1SVdOSXU4OHFEWUhqWWcxNisxZEwyWkhXLzgzWEtpM0VY?=
 =?utf-8?B?eXNaL2hQR253VGNSQ1FpNFo2ZFNTSkIxZVlya0xicHM4UDBvZHFwdUYrZXkz?=
 =?utf-8?B?cC9Od2hLZ0FJcnN4M0xaQ25ZMFU5UkQ2LzAvTmdiYUU0Vk9zN3dqM2lPYWt1?=
 =?utf-8?B?NWxaNDJOR3h3ZFM3eDdQZ3hnK1hHeDQ0TUJrdWwvSjNjTGoxVmw3MXQxcmY0?=
 =?utf-8?B?SnY3N2cyai9pN3ZNa1Z1RS9PSGlIS0Z1aUxrQzNsc1RiZHIzQWxxZ0RSVmtW?=
 =?utf-8?B?R2daRms2T0xoYXFSb2NKTmFHbTdpaUV1WWJGTU4waUgwb0dkdzBwR0doM0po?=
 =?utf-8?B?TVJGQXprZ05ZTTZodHg0czlQdkJwVFA2WGJ1TTlWWkQ4bnh0bDR3SXlUWjJG?=
 =?utf-8?B?dC9DS2hxQjdMd0NNNllpcVY3N3IwUFR6S2hqWGRWNzFST0VsZ3BtMUNOK2l2?=
 =?utf-8?B?NUIyMWVJanRBZDVESUFhYW02b05KVUVrenIyczE4ZFQvdnU3YVhwbHQ0MlM4?=
 =?utf-8?B?QU5hVUhBeDZUL2d4VEtFa0VhakExYUc4M0dzUnQ1Qm12YWg0TzN5dElYQVg5?=
 =?utf-8?B?bFVicWxQYUFmNWN5ekZEbmNCdWNlUlV0ZWNPSm5Ecy9PdGtLN1V6Ujl2ZHZ0?=
 =?utf-8?B?cmt4YjNjeGNYNFVKUDhjNTVtUlFDYk1qcGZhejVqY1MwNDhpK2c3Zk5ya2s5?=
 =?utf-8?B?RXJKcmQ1Y3VUWUNoTVVnTHNHKzE2RGFsU1RiUVVSMHJTbUpOUkEvSDJseENK?=
 =?utf-8?B?cS9KWHpqU0lRSWVNNnh1RUk0YXF5UUYzSlhDOXZ0U0J6ck1jWmtQeFhyYk9W?=
 =?utf-8?B?SWEwZlgwMG9CZWxpK0IwYjZTbWpvM0dVZHVueDJZdG5Sa1VsOHpnRkhqM2Yx?=
 =?utf-8?B?WDFWQ29pQjNMWlJNcnAwMXk3WnBrTElRbUtZWTFQNlVUNUxJQ09ndmJ1OWpW?=
 =?utf-8?B?M2l0a05OVWt5WjVKdWRHTmdZbUIwSzFtSmphQlFKL3pRcGNKQWhJNzgzUzE1?=
 =?utf-8?B?QnlsVkdqUVU2RWtDNEEvQWxFR1Z1QjFZRk1kK2o0Y09tQVJtNVp2djd0Wng3?=
 =?utf-8?B?QnlWZGZ0K3R6Tk1abWl3WDErWmN4dVpDVnpMby9OMWtaTFY0K3A2MXBpaVhr?=
 =?utf-8?B?MXYrQmtyWXVJS3lOWWNGSVZQYUFGOXJ6dGMwbUZGbkx4MTRHeVNQNGJDRG1t?=
 =?utf-8?B?NmtnNE9ZSjV0L3lGT0RCU21QNitCVUt0RFN3ZEdpZks2UmdDZ1MzT1JQNVdT?=
 =?utf-8?Q?fNyRAn8H+6usd7BpVn0UyKc=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 632a0ef3-96f2-448e-e748-08d9d681a317
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2022 10:44:12.7200
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wulBU1VTD3dr479H6xuy8pfKRrC3TZ8xPTwiwTgarTHjw8AD1Ja3/bPafkOg4vsmc/fNKqxqd0aUMdOzXLC61g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR03MB2864
X-OriginatorOrg: citrix.com

On Thu, Jan 13, 2022 at 10:37:53AM +0100, Jan Beulich wrote:
> On 12.01.2022 09:55, Jan Beulich wrote:
> > @@ -504,11 +501,8 @@ static s64 __init init_pmtimer(struct pl
> >  
> >      count = inl(pmtmr_ioport) & mask;
> >      start = rdtsc_ordered();
> > -    target = count + CALIBRATE_VALUE(ACPI_PM_FREQUENCY);
> > -    if ( target < count )
> > -        while ( (inl(pmtmr_ioport) & mask) >= count )
> > -            continue;
> > -    while ( (inl(pmtmr_ioport) & mask) < target )
> > +    target = CALIBRATE_VALUE(ACPI_PM_FREQUENCY);
> > +    while ( (elapsed = (inl(pmtmr_ioport) & mask) - count) < target )
> 
> I think this is wrong, and instead needs to be
> 
>     while ( (elapsed = (inl(pmtmr_ioport) - count) & mask) < target )
> 
> There no similar issue with HPET as there we always have full 32 bits
> available.
> 
> Roger - you gave your R-b. If you agree, I'd like to retain that with
> the fix in place. But I'm not going to commit either variant ahead of
> hearing back from you.

Indeed, or else overflows past the mask boundary could make the loop
exit early.

Please keep the R-b.

Roger.


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 10:50:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 10:50:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257070.441520 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7xgo-0000V4-7r; Thu, 13 Jan 2022 10:50:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257070.441520; Thu, 13 Jan 2022 10:50:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7xgo-0000Ux-3p; Thu, 13 Jan 2022 10:50:42 +0000
Received: by outflank-mailman (input) for mailman id 257070;
 Thu, 13 Jan 2022 10:50:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=64pG=R5=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n7xgn-0000Ub-0j
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 10:50:41 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a49abc31-745e-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 11:50:39 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a49abc31-745e-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642071039;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=X4Zl10Df0O6Sf8y+jRnLH+48TFPJIAv634tFYvJgMFM=;
  b=NIPqGW3/V9NnOgBOEb6MNakrumNtzhW4fxu6Mn6+QtROv5AkNzN0+8Kc
   vSwdm8U9rcJTbgI8JKZMoLAvTj+Dp4/OfcYqzDKTBMd0W8WHVcuTuZFC/
   uUymUGyI1hk9uXamGX2jqkHSqZzRVT2PLuqpygqKK+K0fyBcQQ3FxjJM2
   Q=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: 2MmGywQV0I0xaX21vf5g54J7Pd21AMz0VPP7D1Fh8dcMB9bYaSFhTE12EBnrMcRIH1Q6Jp6ESt
 s7pYYSW7r3Vgt8iiiy8yZwBZ35k+0UZsWEbEODM4UilBtk1TqOvw/lKR2UODt7nV4WznbFXD2F
 b/nSqmGbG2OF8btXUn0qOWbWqbJ7quQPXkCQAjKl+NcZGXbr/5rt6GQph2OAzSAKXD2RGBObQQ
 LfMRW/4nnkWoDCidHrnHCumoRPhIDHNCDEywjPPoUY4dw1R6tlbN1EJKMeIsfm1zFKu0Us6/Dq
 biIEee08ZXeYBq/Dr2nfUBJk
X-SBRS: 5.2
X-MesageID: 61910122
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:9/fEjqNk80XNv4DvrR1lkcFynXyQoLVcMsEvi/4bfWQNrUon0DFUy
 GcZXj/SPvuJNGTxf9x/aNjk9khQucXVzoNiTwto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdpJYz/uUGuCJQUNUjMlkfZKhTr6UUsxNbVU8En150Es4w7dRbrNA2rBVPSvc4
 bsenOWHULOV82Yc3rU8sv/rRLtH5ZweiRtA1rAMTakjUGz2zhH5OKk3N6CpR0YUd6EPdgKMq
 0Qv+5nilo/R109F5tpICd8XeGVSKlLZFVDmZna7x8FOK/WNz8A/+v9TCRYSVatYoymrnoBo9
 thRj6SbWER0Ee7ym/QiFCANRkmSPYUekFPGCX22sMjVxEzaaXr8hf5pCSnaP6VBpLwxWzsXs
 6VFdnZdNXhvhMrvqF6/YvNrick5atHiIasUu216zCGfBvEjKXzGa/uTtIYAhW1q7ixINfH5P
 cU/eCMyVzXJWkJTGU0LIZcBus790xETdBUH8QnI9MLb+VP71AVs1JD9PdyTfcaFLe1XlEuFo
 mPN/0ziHwoXcteYzFKt22iwi+r4uDL0UYMfCpW17vdvxlaUwwQ7DxkbVkCyp/WjvUe4V8hCM
 Ewf+icorq8a+VSiS5/2WBjQiGSNvgMYHcFRFeI6wAiXz+zf5APxLmIJVCJbYdoq8so/XyU31
 0ShlsnsQzdotdW9S2+Z97qShSO/P24SN2BqTT8JS04J7sfupKk3jwnTVZBzHaitlNr3FDrsh
 TeQo0AWjrMfl5RTj/2T8lXOgjbqrZ/MJiYr4QHQUnOg/xlOboevbIy16nDW9f9Fao2eSzGpu
 3wJmNOX6uwUOo2cjyyGQOgLH7aB6u6MNXvXhlsHN4I66z2n9nqnfIZRyDJzPkFkNoADYzCBX
 aPIkVoPvtkJZiLsNPIpJdLqYyg38UT+PcjHV6DNUNdSWKBaZUza02JQZl6vmFm4xSDAjpoDE
 ZucdM+tC1MTBqJm0Ce6So8h7FM7+swt7TiNHM6mlnxLxZLbPSfIEuldbDNie8hktPvsnenDz
 zpI2yJmIT17Wfa2XCTY+JV7wbsifSliXsCeRyC6m4e+zuta9IMJV665LVAJIdUNc0FpegHgp
 CHVtqhwkguXuJE/AV/WAk2PkZu2NXqFkVo1PDY3IXGj0GU5bICk4c83LsVrJ+F+r7Q9ka4vF
 ZHpnvls5NwVGlwrHBxHPPHAQHFKLkz31WpiwQL4CNTAQ3KQb1OQoYK1Fuce3CIPEjC2paMDT
 06IjWvmrW44b106Vq7+Mav3p3vo5CR1sL8sAyPgf4cCEG2xoNkCA3Gg1ZcffpBTQSgvMxPHj
 W569z9C+7mUy2L0mfGU7Z25Q3CBSLohThEETjiCvd5b90DypwKe/GOJa87RFRj1X2Lo4qSyI
 +JTyvD3Kvocm1hW9YF7Ft5WIWgWtrMDfpdWkVZpGmvldVOuBu8yK3WKx5AX5KZM2qVYqU29X
 UfWootWPrCAOcXEFl8NJVV6MrTfhK9MwjSCv+4oJEja5TNs+ObVW0tlIBTR2jdWK6F4Md15z
 L556tIW8QG2ljEjLs2C0nJP722JI3FZC/cnu5gWDZXFkA0uzl0eM5XQBjWvuMOEaslWM1lsK
 TiR3fKQi7NZz0vEUnwyCXmSgrYN2cVQ4EhHlQZQKU6Il9zJgu4M8CdQqTlnHB5Iyhhn0v5oP
 jQ5PUNCOqjTrSxjg9JOXj7wFlgZVgGZ4EH413AAiHbdExuzTmXIIWAwZbSN8UQe/z4OdzRX5
 ujFmmPsUDKsd8DtxCoiH0VirqW7H9B28wTDnuGhHtiEQMZmMWa03Pf2aDpasQbjDOMwmFbD9
 Ltj8+tHYKHmMTId/v8gAI6A2LVMEB2JKQSumx26EH/lyY0ERAyP5A==
IronPort-HdrOrdr: A9a23:2wdpb6nZywUIKLhs4x+a4BcIAMHpDfPOimdD5ihNYBxZY6Wkfp
 +V88jzhCWZtN9OYhwdcLC7WZVpQRvnhPlICK0qTM2ftWjdyRCVxeRZg7cKrAeQeREWmtQtsJ
 uINpIOdeEYbmIK8/oSgjPIaurIqePvmMvD5Za8854ud3ATV0gJ1XYHNu/xKDwReOApP+tcKH
 LKjfA32wZINE5nJviTNz0gZazuttfLnJXpbVovAAMm0hCHiXeN5KThGxaV8x8CW3cXqI1Su1
 Ttokjc3OGOovu7whjT2yv66IlXosLozp9mCNaXgsYYBz3wgkKDZZhnWZeFoDcpydvfo2oCoZ
 3pmVMNLs5z43TeciWcpgbs4RDp1HIU53rr2Taj8AzeiP28YAh/J9tKhIpffBecwVEnpstA3K
 VC2H/cn4ZLDDvb9R6NqOTgZlVPrA6ZsHAimekcgzh0So0FcoJcqoQZ4Qd8DIoAJiTn84oqed
 MeQP003MwmMG9yUkqp/lWGmLeXLzcO91a9MwU/U/WuonZrdCsT9Tpb+CQd9k1wgK7VBaM0ot
 gsCZ4Y5I2mePVmGJ6VNN1xMPdfNVa9Mi4kEFjiV2gPR5t3ck4klfbMkccIDaeRCdg18Kc=
X-IronPort-AV: E=Sophos;i="5.88,284,1635220800"; 
   d="scan'208";a="61910122"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ae3ZSTcy7z4XbeAwhjBxAvn/62ohf5idZMyFq2ULnj5TOZRgLo53o1dgOsasQ+94OAuvPLV5wJSvjrRAa2Ms03JKVl242nKzphYjB52Nh4W3IB/PHO4+C7w2Be7BYUPjBQd6NYWiwdcUIHjYIOSs7LoSI7peAOpK2OX8J332PL9HsJ9dGPMMTHyxTBzmrdfQW/ntBCBpQ+wTkp0nkgrsgfN3A3LPKsQaRzvfOH2zsMWpg2DzuqqpEMOCMd4UjmvoAka0meTLoLYmmupUfjp2HwUKGhAJtv8dTptC8OY8LZZ204RmZYFDgUs1SLJfveIjXibD1EjjqrmImC5ahrOCdA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jDdjx7/nl34sXRhRakvicR80sWlVZN+Lx89AJZViGcw=;
 b=fZZB/OI+qO1n/kuzDzH60OxZQVxJD4yq8rURnSrm2clLm0XuA7OXAi4WE5HlpqyIIzm0qyiwdNuv2+k88ayZmYCEGtYL4VS60fi9TLt1tQkr6yDn6/4U2YQAGFDA8ltkmrj3EKbXqwJWcMN7ChPAQBWDQZOnwweIOijpHVrXkBLPNxi8y7ktMcGOSsJvtMtzWLk2Kz1FMKS3cRvHwYpW8EoUtLmE++oKWkYwPGATQPuik+Xq0CY7Yn9j9jPAnSESj6jaZpSljP9NgItz6fsNpY2YHRvjL4bKMZigYDyFsZwi43GX6smuA8bcwuhOkzH96OoIm54MDWQLcoysNI1SrA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jDdjx7/nl34sXRhRakvicR80sWlVZN+Lx89AJZViGcw=;
 b=R3vi6Dv8Lt0FDqCCV+O6TWRpzhUM23IJyEMSQOYUJYtHaCDIjjnhNGSXFsto3iO9TEp6dts1c8URT6v+qoG9SE9FXTdZCCr2KMHEdaLfFKL4Pm9DP1QNmvdiOT0g3Ej8pPqn4iK+JYXSS46QdOc899EU65AaJWUZlXNDo7h/RN4=
Date: Thu, 13 Jan 2022 11:50:28 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Oleksandr Andrushchenko <andr2000@gmail.com>
CC: <xen-devel@lists.xenproject.org>, <julien@xen.org>,
	<sstabellini@kernel.org>, <oleksandr_tyshchenko@epam.com>,
	<volodymyr_babchuk@epam.com>, <Artem_Mygaiev@epam.com>, <jbeulich@suse.com>,
	<andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>, <paul@xen.org>,
	<bertrand.marquis@arm.com>, <rahul.singh@arm.com>, Oleksandr Andrushchenko
	<oleksandr_andrushchenko@epam.com>
Subject: Re: [PATCH v5 09/14] vpci/header: emulate PCI_COMMAND register for
 guests
Message-ID: <YeAD9PH9o65o+M+w@Air-de-Roger>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-10-andr2000@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20211125110251.2877218-10-andr2000@gmail.com>
X-ClientProxiedBy: MR1P264CA0070.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:3f::18) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2efbcb2f-ed07-4857-a361-08d9d682867c
X-MS-TrafficTypeDiagnostic: DM5PR03MB2747:EE_
X-Microsoft-Antispam-PRVS: <DM5PR03MB2747707133775E7F1A5960C28F539@DM5PR03MB2747.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: kMG9TH18HH+xANtKe8zAj2P6ys+ERf5dFsDiHgTGWCKxrQ3aofzV8Ne1xkICyvGL4ZHBzKsqc8wY1IZ/owHQJk0eKO53dqSQ6G+6bfHonY8qGs0s0ORCihI2M1Olp/qyAF+2kJjB2hzBBNnquPrpoDQ7odqpdFveOedD2O8GuvDAv9dstyQG4xnZLQP7umwgVAa5DDzrtsZeQU65MhuQFT36Q9fHSFWq5mqsQgAUw5feijcaz90uwRG9AseyRGusNBF+fKx5hs6JhTP0+P4xZwZKvGu3+ghNosc9SYLTAXx3QSSm2hP1WY9W1lqOv9y5fEQCq26xnS7eqxBGZL05jhu9vlLhzjdMG0YU+fjtPAmoncjXVc+Rcl7eYOqX4/gZWqOL2nnQSeGx5E5DiOYemocr5MGXw5xGLo8M7dY+nSRQDkVFdYf1f+uBa90sHTXLmOUYhdwX3wPA2FkHrTUE1JKjPVpj9iX0GgvO8eZVwI5PygugZ42GxtAjeZv2jtmWwqfhdWuuZImNVbutd036bD76U7jgzaSjT6Dp/hc2sicRNV1OubVtXHQbA7sExg7+dvM01Dtl+S4h2YqpN7Qf/gjszmIqCYDa5/ybc3a85HdkHT0eilIJsgymwyDP5N+O62R6v3qWccShW+AatzEIPQ==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(186003)(66946007)(66476007)(83380400001)(26005)(6512007)(9686003)(2906002)(5660300002)(8676002)(4326008)(82960400001)(33716001)(6916009)(8936002)(85182001)(508600001)(6486002)(6506007)(86362001)(7416002)(66556008)(6666004)(316002)(38100700002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?K25QaGE1cGlqVGFhMEpJdFR0c3MrelBhOFFjTXRabVpkRlpNbmp0RFBCM3ZQ?=
 =?utf-8?B?MHk5ajdtZGk3OXpMMytnOEFwWTZKOFl2bXUvNDg1eWNZbmJ1R2VRTVRlV3Er?=
 =?utf-8?B?L1Z0Ymw0eGV0NWthdFVGOEw3K1ZsN1lDMzRrSzNRQVFYZW43cmxkSkRpNSth?=
 =?utf-8?B?YmN0Y0pENzhKNzd0QzVaUWk2b2ViQS92RzM0dkFCWkt6Q2V6Z3FISWRMYy9y?=
 =?utf-8?B?ZnpaOG1qakFkQkFEdHpsUnpua2oyVGxDTFR6L3NSRWlhNlNlcmxVY0hIWFc1?=
 =?utf-8?B?bGtSSUYzdmxGVGNVc3FTQThEd2RHV2RURUl0VEFuWUhubUdzUXU5bHkweHN0?=
 =?utf-8?B?dFNqWjl6Z0F4T3hXR3dnMVpTU2x5MEZaNEd3VTI2Z3V5OHBEUU5UOGZvZFZE?=
 =?utf-8?B?Z3J2TDVnK0lVc21xSHhjWU16YzBFMHBXeHgrckI4UWFHbVo5QjJ5T0lNVUZM?=
 =?utf-8?B?ZFdXVGVGQkVDUzdVN3JLSmlrVlFjN3pwTHJMZFZBZ2o2YTZDK3RUR1NTOExr?=
 =?utf-8?B?VmRMM0hBZ1IyanAxU3pxaFJlZzJ6eVVXZWFXTkFtUGRpRjByK3V1VUxzODhp?=
 =?utf-8?B?L21DSHM0ZFRlak0vQldET1ZHYkhQeEdUelRnYkhYSCsxZWRmNml0b3JrNTJG?=
 =?utf-8?B?bXFWdXQra0tZUWhwa2JScTM5eHVyQzl0YVVhcFFsSlpIMEpzU3cxNWRGQ0RM?=
 =?utf-8?B?U2lROUs4a1MzaVVWWVRjbk9qVW1UT05XNGNycWpJaDJQU0czWTNreDZhVDJ0?=
 =?utf-8?B?ZUxteHVmTFpMOGp4OFBkdDBpM0ZUR0U0S053eWwwUW5JcjhQZ0JBemY1TTlx?=
 =?utf-8?B?dysycUkzc05XQ0VhcVE0Uk9EblNYTEZDc1NRWU5vYlFUVllVUGpaQlhqRmgx?=
 =?utf-8?B?T0NmTUwxZTZIY2hjT3VZK0RSUlozZ2dQdWpvQXQzQUFNZWNGckhYcWV1RDFI?=
 =?utf-8?B?QnYwZWpJalZmS2FIZDdNY29tenJZS0FmWS9sWW5FaFE1V2I5YjNTcEhtc2Js?=
 =?utf-8?B?OGxEQi9NU1JlUE9nNnNhYzFoUHhtVDc5ZEpJdDdwWFdFRDNuMUIwaEpabnZH?=
 =?utf-8?B?am5wQ0NBd1ZkREYxaHFiMWcxK0FVb0tWbWdkOEFxckhxRThtUk9US2FpVU94?=
 =?utf-8?B?a1RmV2dlQ21oUWxlVTJVeFQ5M05JVGRuSmpCeEdwMXpOeWdjQUg5RWJvSmMz?=
 =?utf-8?B?bFJqVHdQTEdUMGl0eTdIQ0w4NUhqd1FtZlZkNE81RmhtY1UzUGZ6MCsxUTFD?=
 =?utf-8?B?SDR3QU9LbVp4WEFIait6VzlLYWFoMG9yV1BMdGdDV1VBRGJaSE5TY2hZSDc1?=
 =?utf-8?B?LzVSRGRGY0hpN1h4dEtFV2FXM1AxTUhiblRNNlViK0Nrd0ZvUUlpdjVwSlRV?=
 =?utf-8?B?Q0dNZU84bUkvTDJ5RWwvVHdwd0daYmV2TkxPdG55TDhiQWErclRkL1htSmVY?=
 =?utf-8?B?SnI4NUV0OUN6NUMvM3poSzl0ZkFQdk9BTUZFWjVEcXFsbDZ2Wi8xZG1CWkYv?=
 =?utf-8?B?a1A3KzdTb1htcWJYTmdiM1VDUjFLeVdRVGxsY3dmUkk5TktKY3RxYVFRZVRh?=
 =?utf-8?B?Q1k1amNJbGRBSGRRK0RBc1hiUk5PWXV1MGw1U2NQU2p2STBiRSt2aDl6S3Ni?=
 =?utf-8?B?aGVuUWlXdFVLM0tEaXRqdnJZNFRjT1krZFAxRTJTM1lJcjNvWFJmTXVZa2Jh?=
 =?utf-8?B?QkF6WmJEdkVrL1IyK1RyaGNEcGlxVlZVL0gxWGJqalU2MXhvODh6NkVMenNP?=
 =?utf-8?B?Q2FKRTl2MzUwVkYzMDJaM2YwSGJvdlFSOTZUSEhhc2dJYmdsU0pmRnYvMGpF?=
 =?utf-8?B?WXpHUzRCK0Mvb09OZHp5L09MU3lNbW52TlRCMFdMQnBPMjVNZndHNUI5K3hr?=
 =?utf-8?B?TkJIR25YQ0liYTBmN2pIcXN4OVlYRkg4anVIM0NEREJEU2Q2dkl4UytHNW5Q?=
 =?utf-8?B?R3Noclk0VU9ZTXZpakhtYzhudk9jMUZqZnFSSEtkSFNnUEt1RXhTVTBFNFRQ?=
 =?utf-8?B?eFAzTExQcGZYR0lnTUxuRGZFRmFBdkY4NTdpU0s5OCsrSFFRVFNYaEphaUpp?=
 =?utf-8?B?VDd5Tm4vbk03N21ydU56VTNoSmJzVVRrU1VtVGhkUmNrNk56OUp5Nkx0UVZh?=
 =?utf-8?B?eHoyaXA1ZUpQQ09sT20rRTh2TU1PU2MwY0JUK2RMK2I1Q0k2RC9TZUpzOU8z?=
 =?utf-8?Q?9k+d2hg07SZv7wn0kqoIa6A=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 2efbcb2f-ed07-4857-a361-08d9d682867c
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2022 10:50:34.3792
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 79IcYaBRZV/liAtbr/O0pAb59UEsR9/rNObV15nHPHnLM54354D9kxFPBROADxdYRKHk/RbxrLqJfo7ATMckkA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR03MB2747
X-OriginatorOrg: citrix.com

On Thu, Nov 25, 2021 at 01:02:46PM +0200, Oleksandr Andrushchenko wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> Add basic emulation support for guests. At the moment only emulate
> PCI_COMMAND_INTX_DISABLE bit, the rest is not emulated yet and left
> as TODO.
> 
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> ---
> Since v3:
> - gate more code on CONFIG_HAS_MSI
> - removed logic for the case when MSI/MSI-X not enabled
> ---
>  xen/drivers/vpci/header.c | 21 +++++++++++++++++++--
>  1 file changed, 19 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
> index b0499d32c5d8..2e44055946b0 100644
> --- a/xen/drivers/vpci/header.c
> +++ b/xen/drivers/vpci/header.c
> @@ -491,6 +491,22 @@ static void cmd_write(const struct pci_dev *pdev, unsigned int reg,
>          pci_conf_write16(pdev->sbdf, reg, cmd);
>  }
>  
> +static void guest_cmd_write(const struct pci_dev *pdev, unsigned int reg,
> +                            uint32_t cmd, void *data)
> +{
> +    /* TODO: Add proper emulation for all bits of the command register. */
> +
> +#ifdef CONFIG_HAS_PCI_MSI
> +    if ( pdev->vpci->msi->enabled )

You need to check for MSI-X also, pdev->vpci->msix->enabled.

> +    {
> +        /* Guest wants to enable INTx. It can't be enabled if MSI/MSI-X enabled. */
> +        cmd |= PCI_COMMAND_INTX_DISABLE;

You will also need to make sure PCI_COMMAND_INTX_DISABLE is set in the
command register when attempting to enable MSI or MSIX capabilities.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 11:08:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 11:08:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257075.441531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7xxV-0002GE-R3; Thu, 13 Jan 2022 11:07:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257075.441531; Thu, 13 Jan 2022 11:07:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7xxV-0002G7-Nt; Thu, 13 Jan 2022 11:07:57 +0000
Received: by outflank-mailman (input) for mailman id 257075;
 Thu, 13 Jan 2022 11:07:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=64pG=R5=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n7xxT-0002G1-QR
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 11:07:55 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0d60c86b-7461-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 12:07:54 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d60c86b-7461-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642072074;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=X/gATFF0mxwJbXvu0+tu9zVH4or1oNvEWCihW7SAI90=;
  b=Dzne2z76p1/CQWujPTHyUQVBLMXFmvq+d25oUe9Ka3uANpHNt08zpOK0
   Roh2bqV5c+F4g7czrqoS3KMW/4FtlCyyRuioTt9Mr9Hh+AU7qa8S1GxNb
   tuyUITGD5w9hqfd6RMqmNeaV3po7r8G31aWCoDMUlZOT7ngRrBZ8Q4Nz5
   4=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: 07QUmfTdsLd1Msb0K2yoqJQM4A90yYW6Ctmruu8j85G2JI+RItLrouE3ZoeK2HGn+U81/iH8h0
 e5/wMMbzPtUKOBOzqUhe4W1HuT5EE5yKAJTKHvXXaQ7z54FLB9Q8IvXoe1LPgTViF2Kg7yhh/I
 lgXEITkjqPayeTPQ+BF19/GCBRlY6sYUN9ZcjPw71b0EWiy39ke/CJneTWPRpBKomJavSlUxMa
 6e8+u67d7z8uQ0RRye6SxXb8TW0KuYqtpeb9Z6borZdl3WzJM8mfeLcYchcBggsYAu11GioGxE
 TCweBXXiAMnL6qHBykZa8gC/
X-SBRS: 5.2
X-MesageID: 61911443
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:DE/bcKKIymNGPKePFE+REZMlxSXFcZb7ZxGr2PjKsXjdYENShTwDn
 WEYUWjVM6vfZGD2et11OYm08R4GuZ7cxtM1QQtlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokcxIn5BC5C5xZVG/fjgqoHUVaiUakideSc+EH170Us6wLZg6mJVqYPR7z2l6
 IuaT/L3YDdJ6xYsWo7Dw/vewP/HlK2aVAIw5jTSV9gS1LPtvyB94KYkDbOwNxPFrrx8RYZWc
 QphIIaRpQs19z91Yj+sfy2SnkciGtY+NiDW4pZatjTLbrGvaUXe345iXMfwZ3u7hB2szu9L2
 Y9q6KaVclgMJ5H0tcM+TShhRnQW0a1uoNcrIFC6uM2XiUbHb2Ht07NlC0Re0Y8wo7gtRzsUr
 LpBdW5LPkvra+GemdpXTsF2gcsuNo/zNZ43sXB81zDJS/0hRPgvRo2UvI4BhWts3aiiG97wb
 u8/WwtBSy+ZYhBIYEUTGrACzMqn0yyXnzpw9wvO+PtfD3Lo5BR4zbzFINfTPNuQSq19nEyVu
 2bH9GTRGQwBOZqUzj/t2lu2muLKqgbqV4sTGaOQ++ZjhRuYwWl7IBoSWFigqP+1kHm3Xd5FN
 lcU8Sojq6s13EGzR9y7VBq9yFaetx4BX5xLEus16CmE0K+S6AGcbkAOQyRdctUguIkzTCYzy
 16St9rzAHpkt7j9YXCA8raZqxuiNC5TKnUNDQcUQA1A79T9rYUbihPUUs0lAKOzlsfyGzz73
 3aNtidWr7wVgdRRj/3j1V/CijOo4JPOS2Yd+ALTWW606xJjU4SsbYeo9Fvz4O5JKcCSSVzpl
 H8AlsuF5eYCF6aRhTeNS+UAGrKuz/udOTiaillqd7E67Cik8XOneYFW4Rl9KV1vP8JCfiXmC
 HI/oisIusUVZiHzK/YqPcThUKzG0JQMC/zAB8/uf4BpP6JUT1Ci5R1WSGmzwVHUxR1Efb4EB
 b+XdsOlDHA/AKthzSarS+p17YLH1hzS1kuIG8mlkk3PPa62ISfMFOxbaAfmgvURsfvcyDg55
 eqzICdjJ/93dOTlKhfa/ocIRbzhBShqXMumwyC7mwPqH+aHJI3DI6OAqV/CU9Y890iwqgsu1
 ivtMqO/4ACu7UAr0S3QNhhehErHBP6TV04TMy02JkqP0HM+e4up56p3X8JpIeN/rbc7k6IkF
 KNtlyC87hJnEGSvF9M1N8iVkWCfXE7z2VLm09SNPVDTgKKMtySWo4S5L2MDBQEFDzattNtWn
 lFT/lizfHb3fCw7VJy+QKv2lzuZ5CFB8MovARegCoQNKS3Erdg7QwSs36RfC5xddn3+Ks6yi
 lz+7eEw/7ed+ufYMbDh2Mi5kmteO7AvQRoBQTiKtObe2Ouz1jPL/LKsmd2gJFj1fGj15L+jd
 aNSyfT9O+cAh1FEr8x3FLMD8E70z4KHS2Zywls2EXPVQU6sD788cHCK0dMW7v9Gx6NDuBvwU
 UWKo4EINbKMMcLjMVgQOAt6MbjTiaBKwmHfvaYvPUH3xC5r577bA09cCAaB1X5GJ7xvPYJ7n
 ep44JwK6xaygwYBO8qdinwG7HyFK3ENCv11tpwTDILxpBAsz1VOPc7VBiPsucndYNRQKEg6Z
 DSTgfOa1bhbw0PDdVs1FGTMgrUB1chf5kgSwQZbdVqTm9fDivsm5zFr8Gw6HlZP0xFK8+NvI
 Ww3ZUd7ErqDomVzj89ZUmHyRwwYXE+F+lb8wkcinXHCSxX6TXTEKWAwNLrf/E0d9G4ALDFX8
 KvBlTTgWDfuOsrwwjEzSQhurPm6FY598QjLmcaGGcWZHsZlPWq50/H2PWdY+QH6Bc4RhVHco
 bg49el9XqT3KCoMrvBpEIKdz7kRFEiJKWEqrSuNJ0/V8bUwoA2P5AU=
IronPort-HdrOrdr: A9a23:13/p9K+0f0KdhbZLWGBuk+E6db1zdoMgy1knxilNoENuHfBwxv
 rDoB1E73LJYVYqOU3Jmbi7Sc69qFfnhORICOgqTMyftWzd1ldAQ7sSj7cKrweQfhEWs9QtqJ
 uIEJIOduEYb2IK9PoSiTPQe71LoKjlzEnrv5an854Ed3AUV0gK1XYeNu/0KDwTeOEQbqBJaK
 Z0q/A37waISDAyVICWF3MFV+/Mq5nik4/nWwcPA1oC5BOVhT2lxbbmG1zAty1uGQ9n8PMHyy
 zoggb57qKsv7WSzQLd7Xba69BzlMH6wtVOKcSQgow+KynqiCyveIN9Mofy9wwdkaWK0hIHgd
 PMqxAvM4Ba7G7QRHi8pV/X1wzpwF8Vmgjf4G7dpUGmjd3yRTo8BcYEr5leaAHl500pu8w5+L
 5X3kqC3qAnQi/orWDY3ZzlRhtqnk27rT4JiugIlUFSVoMYdft4sZEfxkVIC50NdRiKpLzPKN
 MeTf002cwmMW9zNxvizypSKZ2XLzkO9y69MwY/Upf/6UkVoJh7p3FosPD30E1wsa7VcKM0l9
 gsBJ4Y4Y2mfvVmHJ6VO91xMvdfKla9Ny4kY1jiaGgOKsk8SgDwQtjMkfEI2N0=
X-IronPort-AV: E=Sophos;i="5.88,284,1635220800"; 
   d="scan'208";a="61911443"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iVrGyAYFFbpZEr/5Msz7KdyT4wTyrsD/Yyw9ACguFcLRuyiGiJFxsV1E23ef3h6tOITkN4UrLYCYG9luG+TBUxqi4t+hAWG06L8i+q5NJReULksfXjCloG1UJ91k3BuxJmPwdOpHpdFbYer7prPpWKKWzZkralkOqkkHEz9104jUWidz/Ix65dkNQqqzfR4DHy1QeyMBwhyeIYOThYYuASZ9f59ZcHVTPQCPNHIdFhVrEjia9T92+T1JTcLJZLS2ylMqHZnYFyCiWdoA2kLOtQLl7/AWWiJZ3krtsZ0qoBY/tNx/v8gEyPbHklPvqCdFpnbxJ2wa1EPRBVVrHlOsDQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=i1yNNwIwmMWP3+tHErDzAhMer3BJs/x1kY4H2U8IKvc=;
 b=OOFKpUPYYbjRzw2kauGYNYqgNH7Ps/equnrVqMONmC1duHX4vXayRDHfvHtgcACLKsxaQKnOwCTkQCJzBM36X5I2sEx7WJFNJkMTE0eP2EvftlsUTEwf/SwX4quxwhHh7+5FE2pRCWC5ow8LZGI0Q9KmXhzuX4NDVHCjLBfZ1vgEpjfswrVreb4yD0WIl+YoAlIxxiZ34md0rxgZvwgMvrpdS3F0ldM6GtWrv1LPc7iAICHSKRLG8rv+qusM7M9k+qtL8YGLPybPz19N6G+IFwJK9st7ju7DLyWiuY3ryD8KB3EEQbR7ymQ8TaBtC4Ng3+SwzQXhMQKOkGu0wU8tKw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=i1yNNwIwmMWP3+tHErDzAhMer3BJs/x1kY4H2U8IKvc=;
 b=YDtJF0VFrJJ/CWmfbx0fERNTuH1yDrhtLU5lFyg7BKi+shFLlFNNsMoFUHDIQelZdmyqkGayJOU+CrN47rH983gBMJ6qYCGDiAk5feJZvDOm8efsP2q7cbqc+CZJIuhzS1cL/IhuVf++G1MfUuAMYuzZLYQGBbU/VLC8o++VNZ8=
Date: Thu, 13 Jan 2022 12:07:38 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Oleksandr Andrushchenko <andr2000@gmail.com>
CC: <xen-devel@lists.xenproject.org>, <julien@xen.org>,
	<sstabellini@kernel.org>, <oleksandr_tyshchenko@epam.com>,
	<volodymyr_babchuk@epam.com>, <Artem_Mygaiev@epam.com>, <jbeulich@suse.com>,
	<andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>, <paul@xen.org>,
	<bertrand.marquis@arm.com>, <rahul.singh@arm.com>, Oleksandr Andrushchenko
	<oleksandr_andrushchenko@epam.com>
Subject: Re: [PATCH v5 10/14] vpci/header: reset the command register when
 adding devices
Message-ID: <YeAH+h1ngDwze2+c@Air-de-Roger>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-11-andr2000@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20211125110251.2877218-11-andr2000@gmail.com>
X-ClientProxiedBy: MR1P264CA0003.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:2e::8) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 0459cbd3-1b6c-41bf-4d47-08d9d684ec0f
X-MS-TrafficTypeDiagnostic: BN7PR03MB3764:EE_
X-Microsoft-Antispam-PRVS: <BN7PR03MB3764916F8B850E848A803EB18F539@BN7PR03MB3764.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: dKmSH4NDmpiHSiW9ErUrtG/Hc/ZFsnPR9wIHYqxxUPiGT4SJRJn1pbXu4i7t0QtSaax32rEso4aI1Vxr5jGUqOHQ+2dItyyUcoElFquZuQwxOvWKkWPgvO2pFicD8tZOYSHld3XC8o9Wy09+8jET/0Qhl+EDuuaZyYY8lHBMh8s45al19ySlSLYVzHrbV1cDez4FP18wlZL3Jqgqi/ptoMND1B7MgpvGUtON28hXbGdr1zQHCTSrlPUOcTmxiiMJCgrxwEGoDk9d4Q4TcnDe2QUAbR7+VErc8pPNoVwBOx4o/OcccPC6tLFAYlxKbkJs3n14d036aWAug46xmAL763wsVEMn0ceY6k12NSKDJFCj/zho4ey3PwdQBXrFWg08YP7N1AKa2q7t9JjfJQfjWTsUPKs31zY4mqQhepjJbkTll8pwxrFkxa629+EPFdY2zHq+P8sVijzTurLSeqxrdHaASJ7KOZgd9SysV6fabBYnrwTYJOJzahwB3H/YKGd6QEiIjkQBHe1XY0n+JWSPT+eGYoKQtQjpI8cUIEwms21STUjiHmT7qbo3b40yOXqfjtzixNcSi7AXRv0DIV8TREjircN5h/CINEnP+mhqeAO3aQj/bAggutvzAh+GZ55Uc3C5vzDIqt8VvOOu3ve/IQ==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(66556008)(66946007)(6506007)(316002)(66476007)(6486002)(33716001)(8676002)(6666004)(8936002)(6916009)(26005)(2906002)(508600001)(186003)(6512007)(9686003)(86362001)(7416002)(82960400001)(83380400001)(38100700002)(4326008)(85182001)(5660300002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RDRrVENGYWtoaVJ0cVpuWTF1RDBIQjR6ZWVmd0cyYU5DWWZQek8yVCs0cnRN?=
 =?utf-8?B?WWx6cExUYTIyWTJaaTl3aUs1Q3BsMFV5Zlo3c0FheGdJWW1XSVNJN01lSzJK?=
 =?utf-8?B?WWRLK1U5OUpYZFpKNDNKZS9SMGo2dDFnbWtzendTWHZaRm1JbG4rOWJLZW54?=
 =?utf-8?B?Rjk2NG9IVWlPclRieGlabEx5bm9vVExzZTgzbzlUeHJUeXRrWm90ZDBPYVE4?=
 =?utf-8?B?UjZoS0Fycll2Q2UyRXRodnAzSmIyMUtHVnJuVmd1ODdvZzhhTEUrWFVYM2Yw?=
 =?utf-8?B?TzB1WEw3RlhFYmNaOWlVOW4xQlJ0RGwrWGtKUTFJNSswN1VHVC92aWU2STkv?=
 =?utf-8?B?NzVOY2ZzTzlnaEJNMVVaSVprRHlyRzRLdy82MENRNGZ3cllWSldQeVE0R2RU?=
 =?utf-8?B?VXRreEhxVjVUcjB6SkZ6c0VGYkhDYjhGZTk0SjZTWnFRUUNudWh0cnFKQjF2?=
 =?utf-8?B?eGRxUVNmWklaanhHOTZPTWpwTEdoOXBrVWlUQjg3V0NHV2YzZElTWEFYSXRS?=
 =?utf-8?B?TTFid0JNaUlJaC9DamdVSHFRTFBxdk9QWWRTLysxWlE3SURwbklmQ1NuUmd2?=
 =?utf-8?B?ZGlFWGg1Um5KbWdDbnI4SXRqbW96ZTNOMXA5WGc5OU9FZlRIOFRLbmFrU1Rs?=
 =?utf-8?B?ZG51YVYrUVNpSG55L2FmdHBKc1VYT1pydFhWVGdoejlNRnJUS3I0eUZJV1JH?=
 =?utf-8?B?RXhwY0hsTE1JRDY5REFwZG94ckFDNmF3TnBJUUx1bEZ1WXF0WXRrRGwyRWsy?=
 =?utf-8?B?czMyem1mZVo1Q0xmaVVZbkJVWFV1UVgrZ2xCZkNjOXJPbGwzRGxZRFAwbW1i?=
 =?utf-8?B?dkl2OEhTYUFDeVpqUkRPSHhiU3FRZE91aEU5SFlIanlQRTNmUHU2QmZDTFhL?=
 =?utf-8?B?bkpKNVk3Z0lCVWx5WUUrbUh4K1U4ckZUa1V1ZDM2RkszYWVHWUVjTm4vT04z?=
 =?utf-8?B?TnArMXVuWjBQcGtqM1NXMkMzLzduK0tnNktMSlEyc0d5dXp0Zjc3bFJyWlFF?=
 =?utf-8?B?dTRrNlNGaWl0amMzWDExNk9qVUJlWEZYVVdWT1hvd21IdVllYmhJV2Z2Rlha?=
 =?utf-8?B?bFNvekVqcWVNOEdrcDNPWE5kOWxJMmtZaTNLcDRhd21LYXBxUUE5eWJyU0JD?=
 =?utf-8?B?b0hMdzR3Si9TQTZRSjgvZlBycnRLK1hKTm5lQ3ltaTFmTTkvdS95dzg1Vmpz?=
 =?utf-8?B?VTV3SVFESHdydDJKNnovY0FjNjFPZ2pkcm14SHU5OXJTSlNuWHFLcFZBSE0v?=
 =?utf-8?B?Z0tERXk3Q1Q4ZDlpdWp3V0JwR25MMmVXU0NRWTgzdHdVb3VvRFBGRTBsYkhR?=
 =?utf-8?B?R2dUWVNSaGNiOFRsYW4wTHdPQVMyamJPR3dTRGxOUjk3K3dkOFJqWHdaVTRi?=
 =?utf-8?B?YnRCSk05TldNK1ZIY0svcGVJVFcrR3djWTlaa0xPUGZocjNtVjFmRnpYbXFw?=
 =?utf-8?B?VTE3SFl6SEtONmNjZVExTHhiaXBRUm9tdUJuUUxjV3BYL2RyMWJDVkExMVI0?=
 =?utf-8?B?bUw0OTRHeUlJVW1BYW1iSlNsVEJEajVmZThvUW9RRkJ3Z2REQWFYSDF4aGpP?=
 =?utf-8?B?b3VRdlM4czh6dmJrTEk0RDFsZkZJWGtOQTFJZ0tDanJOeVRjTjAzUWZqK3ZF?=
 =?utf-8?B?ckFGQ2FLWVVBWU1rWmpWQi96R0o0YVdEY2x0ZDhtTjZybHFVZmxzaEhIS3Rr?=
 =?utf-8?B?VTUwbzRyaDZCWmlwSnRhM3BsKzRPTlJacUpTSlIzLy80V0tUaUdRSEp6Y2hM?=
 =?utf-8?B?b0tlMjV4em02SE82MGpMaC9EYlRMVXhqa28rRlVBMEpSMkZYaEgvb3hUWWJM?=
 =?utf-8?B?clMycEhHeTlJNjZHWW9WTGtCb0pCZ2ZpamdtUkprSnh2M3M5bFZ4YndmaTJV?=
 =?utf-8?B?MDBEeldHZitEOFh4UkNhWDIzWklrQ3RiSHB5NDE2V3JTRENrOFlFamRxMnda?=
 =?utf-8?B?NklycFdySk41K0ZKN3FIS0ZIbllST1ZIZEpGSXlHU1VyakxwSDV0Z0poT1o3?=
 =?utf-8?B?anFpYmxZcmxRT3VBTGZxMXRqdVV2aEFkTlVMSWRaSk45RXJrU2kwNStzekgz?=
 =?utf-8?B?LzE4emQ3bXNRamp6QjhhTEZCTUJIZjBmVzFTVUJPdEVBbUt1Q2QrME5IaEpx?=
 =?utf-8?B?OGNpV1QvWWdXNHU5QVZYaHFYc1lnSWhKeGtaTXY1bDFsRm05MmN3WTg1M1ZH?=
 =?utf-8?Q?+vUqOK+X+BXGlGe7RWV1JBc=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 0459cbd3-1b6c-41bf-4d47-08d9d684ec0f
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2022 11:07:43.7069
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +4WUMBddpGQDp7SxMm9+y9ZcZhn59eAAuW6RDHLQPTDjP/YFb8koqrA6djJM9hV2mkS4ttVIVbAiPwXSx2jm/w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR03MB3764
X-OriginatorOrg: citrix.com

On Thu, Nov 25, 2021 at 01:02:47PM +0200, Oleksandr Andrushchenko wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> Reset the command register when passing through a PCI device:
> it is possible that when passing through a PCI device its memory
> decoding bits in the command register are already set. Thus, a
> guest OS may not write to the command register to update memory
> decoding, so guest mappings (guest's view of the BARs) are
> left not updated.
> 
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> ---
> Since v1:
>  - do not write 0 to the command register, but respect host settings.

There's not much respect of host setting here, are you are basically
writing 0 except for the INTX_DISABLE which will be set if MSI(X) is
enabled.

I wonder whether you really need this anyway. I would expect that a
device that's being assigned to a guest has just been reset globally,
so there should be no need to reset the command register explicitly.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 11:20:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 11:20:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257079.441541 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7y93-0003kR-Tp; Thu, 13 Jan 2022 11:19:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257079.441541; Thu, 13 Jan 2022 11:19:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7y93-0003kK-Qr; Thu, 13 Jan 2022 11:19:53 +0000
Received: by outflank-mailman (input) for mailman id 257079;
 Thu, 13 Jan 2022 11:19:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GKTv=R5=dingwall.me.uk=james@srs-se1.protection.inumbo.net>)
 id 1n7y92-0003kD-CB
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 11:19:52 +0000
Received: from smarthost01c.ixn.mail.zen.net.uk
 (smarthost01c.ixn.mail.zen.net.uk [212.23.1.22])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b7f374fe-7462-11ec-bcf3-e9554a921baa;
 Thu, 13 Jan 2022 12:19:48 +0100 (CET)
Received: from [217.155.64.189] (helo=mail0.xen.dingwall.me.uk)
 by smarthost01c.ixn.mail.zen.net.uk with esmtpsa
 (TLS1.0:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1)
 (envelope-from <james@dingwall.me.uk>) id 1n7y8y-0002Gu-68
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 11:19:48 +0000
Received: from localhost (localhost [IPv6:::1])
 by mail0.xen.dingwall.me.uk (Postfix) with ESMTP id C70AE271F4B
 for <xen-devel@lists.xenproject.org>; Thu, 13 Jan 2022 11:19:47 +0000 (GMT)
Received: from mail0.xen.dingwall.me.uk ([127.0.0.1])
 by localhost (mail0.xen.dingwall.me.uk [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 9UnyDRkFJgoY for <xen-devel@lists.xenproject.org>;
 Thu, 13 Jan 2022 11:19:47 +0000 (GMT)
Received: from ghoul.dingwall.me.uk (ghoul.dingwall.me.uk [192.168.1.200])
 by dingwall.me.uk (Postfix) with ESMTP id 977AE271F48
 for <xen-devel@lists.xenproject.org>; Thu, 13 Jan 2022 11:19:46 +0000 (GMT)
Received: by ghoul.dingwall.me.uk (Postfix, from userid 1000)
 id 82A7988A; Thu, 13 Jan 2022 11:19:46 +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: b7f374fe-7462-11ec-bcf3-e9554a921baa
X-Virus-Scanned: Debian amavisd-new at dingwall.me.uk
Date: Thu, 13 Jan 2022 11:19:46 +0000
From: James Dingwall <james-xen@dingwall.me.uk>
To: xen-devel@lists.xenproject.org
Subject: possible kernel/libxl race with xl network-attach
Message-ID: <20220113111946.GA4133739@dingwall.me.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
X-Originating-smarthost01c-IP: [217.155.64.189]
Feedback-ID: 217.155.64.189

Hi,

I have been trying to debug a problem where a vif with the backend in a 
driver domain is added to dom0.  Intermittently the hotplug script is 
not invoked by libxl (running as xl devd) in the driver domain.  By 
enabling some debug for the driver domain kernel and libxl I have these 
messages:

driver domain kernel (Ubuntu 5.4.0-92-generic):

[Thu Jan 13 01:39:31 2022] [1408] 564: vif vif-0-0 vif0.0: Successfully created xenvif
[Thu Jan 13 01:39:31 2022] [26] 583: xen_netback:frontend_changed: /local/domain/0/device/vif/0 -> Initialising
[Thu Jan 13 01:39:31 2022] [26] 470: xen_netback:backend_switch_state: backend/vif/0/0 -> InitWait
[Thu Jan 13 01:39:31 2022] [26] 583: xen_netback:frontend_changed: /local/domain/0/device/vif/0 -> Connected
[Thu Jan 13 01:39:31 2022] vif vif-0-0 vif0.0: Guest Rx ready
[Thu Jan 13 01:39:31 2022] [26] 470: xen_netback:backend_switch_state: backend/vif/0/0 -> Connected

xl devd (Xen 4.14.3):

2022-01-13 01:39:31 UTC libxl: debug: libxl_event.c:750:watchfd_callback: watch w=0x7ffd416b0528 wpath=/local/domain/2/backend token=3/0: event epath=/local/domain/2/backend/vif/0/0/state
2022-01-13 01:39:31 UTC libxl: debug: libxl_event.c:2445:libxl__nested_ao_create: ao 0x5633ac569700: nested ao, parent 0x5633ac567f90
2022-01-13 01:39:31 UTC libxl: debug: libxl_event.c:750:watchfd_callback: watch w=0x5633ac569180 wpath=/local/domain/2/backend/vif/0/0/state token=2/1: event epath=/local/domain/2/backend/vif/0/0/state
2022-01-13 01:39:31 UTC libxl: debug: libxl_event.c:1055:devstate_callback: backend /local/domain/2/backend/vif/0/0/state wanted state 2 still waiting state 4
2022-01-13 01:39:31 UTC libxl: debug: libxl_event.c:750:watchfd_callback: watch w=0x7ffd416b0528 wpath=/local/domain/2/backend token=3/0: event epath=/local/domain/2/backend/vif/0/0/state
2022-01-13 01:39:31 UTC libxl: debug: libxl_event.c:2445:libxl__nested_ao_create: ao 0x5633ac56a220: nested ao, parent 0x5633ac567f90
2022-01-13 01:39:31 UTC libxl: debug: libxl_event.c:750:watchfd_callback: watch w=0x5633ac569180 wpath=/local/domain/2/backend/vif/0/0/state token=2/1: event epath=/local/domain/2/backend/vif/0/0/state
2022-01-13 01:39:31 UTC libxl: debug: libxl_event.c:1055:devstate_callback: backend /local/domain/2/backend/vif/0/0/state wanted state 2 still waiting state 4
2022-01-13 01:39:51 UTC libxl: debug: libxl_aoutils.c:88:xswait_timeout_callback: backend /local/domain/2/backend/vif/0/0/state (hoping for state change to 2): xswait timeout (path=/local/domain/2/backend/vif/0/0/state)
2022-01-13 01:39:51 UTC libxl: debug: libxl_event.c:850:libxl__ev_xswatch_deregister: watch w=0x5633ac569180 wpath=/local/domain/2/backend/vif/0/0/state token=2/1: deregister slotnum=2
2022-01-13 01:39:51 UTC libxl: debug: libxl_event.c:1039:devstate_callback: backend /local/domain/2/backend/vif/0/0/state wanted state 2  timed out
2022-01-13 01:39:51 UTC libxl: debug: libxl_event.c:864:libxl__ev_xswatch_deregister: watch w=0x5633ac569180: deregister unregistered
2022-01-13 01:39:51 UTC libxl: debug: libxl_device.c:1092:device_backend_callback: calling device_backend_cleanup
2022-01-13 01:39:51 UTC libxl: debug: libxl_event.c:864:libxl__ev_xswatch_deregister: watch w=0x5633ac569180: deregister unregistered
2022-01-13 01:39:51 UTC libxl: error: libxl_device.c:1105:device_backend_callback: unable to add device with path /local/domain/2/backend/vif/0/0
2022-01-13 01:39:51 UTC libxl: debug: libxl_event.c:864:libxl__ev_xswatch_deregister: watch w=0x5633ac569280: deregister unregistered
2022-01-13 01:39:51 UTC libxl: debug: libxl_device.c:1470:device_complete: device /local/domain/2/backend/vif/0/0 add failed
2022-01-13 01:39:51 UTC libxl: debug: libxl_event.c:2035:libxl__ao__destroy: ao 0x5633ac568f30: destroy

the xenstore content for the backend:

# xenstore-ls /local/domain/2/backend/vif/0
0 = ""
 frontend = "/local/domain/0/device/vif/0"
 frontend-id = "0"
 online = "1"
 state = "4"
 script = "/etc/xen/scripts/vif-zynstra"
 vifname = "dom0.0"
 mac = "00:16:3e:6c:de:82"
 bridge = "cluster"
 handle = "0"
 type = "vif"
 feature-sg = "1"
 feature-gso-tcpv4 = "1"
 feature-gso-tcpv6 = "1"
 feature-ipv6-csum-offload = "1"
 feature-rx-copy = "1"
 feature-rx-flip = "0"
 feature-multicast-control = "1"
 feature-dynamic-multicast-control = "1"
 feature-split-event-channels = "1"
 multi-queue-max-queues = "2"
 feature-ctrl-ring = "1"
 hotplug-status = "connected"

My guess is that the libxl callback is started waiting for the backend 
state key to be set to XenbusStateInitWait (2) but the frontend in dom0 
has already triggered the backend to transition to XenbusStateConnected 
(4) and therefore it does not successfully complete.

Does this seem a reasonable explanation for the problem and what would 
the best approach to try and solve it?

Thanks,
James


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 11:23:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 11:23:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257083.441552 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7yBz-00056u-C9; Thu, 13 Jan 2022 11:22:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257083.441552; Thu, 13 Jan 2022 11:22: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 1n7yBz-00056n-8y; Thu, 13 Jan 2022 11:22:55 +0000
Received: by outflank-mailman (input) for mailman id 257083;
 Thu, 13 Jan 2022 11:22:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GUHC=R5=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1n7yBy-00056g-BQ
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 11:22:54 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 241097eb-7463-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 12:22:51 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 241097eb-7463-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642072971;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=gLv3QU/ED4FnN8pI9uIsb1oYMySqPBbBAcAZCQyTsrg=;
  b=J/az6FwBr4a0UBX4U2qoSHcfuFDJnJskhhbxoqdSkVN8jwIbH+huVnXt
   dIFvDQf+UW+mR4MByfsaNmlmV2UQbHDQyBsAVseeUTPtBWuPDAEsVakZw
   q77ddVrEooJ0ie0OAkmxAxRAntk+D2InMPYcMvxL8+tCPtlRCqfQ4qLjS
   g=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: XLFbTPXtLHGPZQGZu7Xgsclu28YyXT9HxO5qPg+EuH8OV/+B/woIhVo+JtIm6jM4+ZtrIXFiS9
 WuvIsX4OHyk3k6fGACFTy/WdCz87UIdHlp5igflknAcbAUOBmWatLcnvSXX59g15Y1ZeJu4a/Q
 Y4j3MKBv1bOdnJqxfGJDT9NVCt1iEYFm1rGvmRTab9IjuEP+3cCRxqSN3dqGiL9tAfEiqqdYmh
 3pHnjzBBLTZc+JQO6pT0NCsifTaF/eix9TpmqKidlN8BRUcyW22mLUXjZXwlGpppUd6dHii7/6
 hlhc18Isctx726ZbL4UEDzUx
X-SBRS: 5.2
X-MesageID: 64035930
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:20wJqaN1j1vPc8HvrR1ZkMFynXyQoLVcMsEvi/4bfWQNrUoq1WAGn
 WFLWzvVMvyPZmr1f9slaISwpxkD7Z6Dz4dhHgto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdpJYz/uUGuCJQUNUjMlkfZKhTr6UUsxNbVU8En150Es4w7dRbrNA2rBVPSvc4
 bsenOWHULOV82Yc3rU8sv/rRLtH5ZweiRtA1rAMTakjUGz2zhH5OKk3N6CpR0YUd6EPdgKMq
 0Qv+5nilo/R109F5tpICd8XeGVSKlLZFVDmZna7x8FOK/WNz8A/+v9TCRYSVatYowyyovdp9
 4RJiZePdy0XOvP9kt0wSSANRkmSPYUekFPGCX22sMjVxEzaaXr8hf5pCSnaP6VBpLwxWzsXs
 6VFdnZdNXhvhMrvqF6/YuBqmsQkKtitJI4Fs2ts5TrYEewnUdbIRKCiCdpwgmto3Z0fRq62i
 8wxMmdeU0vPOEd0G3glNs0yhNumunPjfGgNwL6SjfVuuDWCpOBr65D2K8bccNGOQcRTn26bq
 3jA8mC/BQsVXPSAzRKV/3TqgfXA9Qv5RYYTGbuQ5vNsxlqJyQQ7ChcbSF+6qvmRkVOlVpRUL
 El80jojq+0++VKmSvH5XgakuziUsxgEQd1SHuYmrgaXxcLpDx2xXzZeCGQbMZp/6ZFwFWdCO
 kK1c83BPAdSl6WqGHah/Yiqhw22ZxkfFEIYXHpRJeca2OXLrIY2hxPJa99sFq+pk9H4cQ3NL
 yC2QDsW3OtK05NSv0mv1RWe2m/3+MCVJuIgzliPBgqYAhVFiJlJjmBCwXzS9r5+IYmQVTFtV
 1BUypHFvIji4Xxg/RFhodnh/pn1tp5p0xWG2DaD+qXNERz3qxZPmqgKsVlDyL9BaJpsRNMQS
 Ba7VfltzJFSJmC2SqR8fpi8Dc8npYC5S4i/DqmPNoQSMsMrHONiwM2ITRTAt4wKuBJ9+ZzTx
 L/BKZr8ZZrkIfkPIMWKqxc1juZwm3FWKZL7TpHn1RW3uYdyl1bOIYrpxGCmN7hjhIvd+V292
 48Ga6OilksDOMWjPHi/2dNDfDgicClgbbir+pM/SwJ2Clc8cI3XI6WPkepJlk0Mt/k9q9okC
 VnmCxAIkwSu1CSXQehIA1g6AI7SsV9EhSpTFUQR0ZyAghDPuK6js/UScYUZZ74i+LAxxPJ4V
 aBdKc6BHu5OWnLM/DFENcvxq4lrdRKKgwOSPnX6PGhjLsA4HwGZqMX5egbP9TUVCnblv8UJv
 LD9hBjQRoAORlo+AZ+OOu6v1V64oVMUhPl2AxnTOtBWdUi1qNpqJiX9g+UZOcYJLRmflDKW2
 xzPWUUTpPXXop9z+97M3PjWo4CsGup4P0xbA2iEsurmaXiEpjKumNYSXvyJcDbRUHLP1J+jP
 egFnevhNPAnnUpRt9YuGbhc0q9jtcDkoKVXz1o4ESyTPUirEL5pPlKPwdJL6v9W3rZctAa7B
 hCP991dNenbMc/pCgdMdg8sb+DF3vAIgDjCq/8yJRyitiNw+bOGV2RUPgWN13MBfOckbtt9z
 LdzotMS5iy+lgEuY4SPgS1j/miRKmANDvc8vZYADY630gcmxzmuu3AH5vMaNH1XV+hxDw==
IronPort-HdrOrdr: A9a23:2kulx6vLPzezvtTbK/U52+tV7skDdtV00zEX/kB9WHVpmszxra
 6TddAgpHvJYVcqKRQdcL+7VZVoLUmxyXcx2/h3AV7AZniFhILLFuFfBOLZqlWKcREWtNQttp
 uIG5IObuEYZmIasS+V2maFL+o=
X-IronPort-AV: E=Sophos;i="5.88,284,1635220800"; 
   d="scan'208";a="64035930"
Date: Thu, 13 Jan 2022 11:22:45 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "Andrew
 Cooper" <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH] build: adjust include/xen/compile.h generation
Message-ID: <YeALhTgXh7g2QdbB@perard>
References: <4f0766b2-cabd-cf5e-ed84-cc2b773bf5f8@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <4f0766b2-cabd-cf5e-ed84-cc2b773bf5f8@suse.com>

On Tue, Jan 11, 2022 at 03:16:17PM +0100, Jan Beulich wrote:
> Prior to 19427e439e01 ("build: generate "include/xen/compile.h" with
> if_changed") running "make install-xen" as root would not have printed
> the banner under normal circumstances. Its printing would instead have
> indicated that something was wrong (or during a normal build the lack
> of printing would do so).

So, having several line of logs with one generating "compile.h", and
several object rebuild plus the re-linking of xen isn't enough has to
indicate that something is wrong?

Also, with this patch, the banner would no longer be printed on rebuild,
unless one doesn't try to prevent regeneration of "compile.h" by
exporting two variables.

I kind of like having the banner been nearly always printed, but I'm not
opposed to the change.

> Further aforementioned change had another undesirable effect, which I
> didn't notice during review: Originally compile.h would have been
> re-generated (and final binaries re-linked) when its dependencies were
> updated after an earlier build. This is no longer the case now, which
> means that if some other file also was updated, then the re-build done
> during "make install-xen" would happen with a stale compile.h (as its
> updating is suppressed in this case).

So, the comment:
    Don't refresh this files during e.g., 'sudo make install'
wasn't correct?

On the other hand, it's probably not good to not regen the file when the
prerequisite changes. It's kind of weird to "rm" the target, but I don't
have a better solution at the moment.

> Restore the earlier behavior for both aspects.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> An alternative to removing the target would be to replace "! -r $@" by
> "-n '$?'" in the shell "if", but that would cause unhelpful alteration
> of what gets recorded in include/xen/.compile.h.cmd. (The command
> normally changes every time anyway, due to the inclusion of
> $(XEN_BUILD_TIME), but I consider that different from varying the
> conditions of the "if".)
> 
> --- a/xen/Makefile
> +++ b/xen/Makefile
> @@ -424,6 +424,7 @@ targets += .banner
>  quiet_cmd_compile.h = UPD     $@
>  define cmd_compile.h
>      if [ ! -r $@ -o -O $@ ]; then \
> +	cat .banner; \
>  	sed -e 's/@@date@@/$(XEN_BUILD_DATE)/g' \
>  	    -e 's/@@time@@/$(XEN_BUILD_TIME)/g' \
>  	    -e 's/@@whoami@@/$(XEN_WHOAMI)/g' \
> @@ -441,7 +442,7 @@ define cmd_compile.h
>  endef
>  
>  include/xen/compile.h: include/xen/compile.h.in .banner FORCE
> -	@cat .banner
> +	$(if $(filter-out FORCE,$?),rm -fv $@)

Is there a reason for -v? Do we care if the file existed?

Do we want to log "rm -f compile.h" ? Or could you just prefix the line
with $(Q)?

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 11:36:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 11:36:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257104.441632 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7yOd-0007Nl-AB; Thu, 13 Jan 2022 11:35:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257104.441632; Thu, 13 Jan 2022 11:35: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 1n7yOd-0007Ne-6A; Thu, 13 Jan 2022 11:35:59 +0000
Received: by outflank-mailman (input) for mailman id 257104;
 Thu, 13 Jan 2022 11:35:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=64pG=R5=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n7yOa-0007NK-Vb
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 11:35:57 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f6c1a9f8-7464-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 12:35:54 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f6c1a9f8-7464-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642073754;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=lMzAsvI6SgmBvQiHzqtwiyAJsvU8BY8M3uvCQgWQzcE=;
  b=X5OG8PRA1E7e4nz0IBSwN52iLjtMOSFZOq8EO6xxxZPBsq+6Fq5YPAb4
   04chIiIXPVji0FDA0MQG+CYCoIkfQDSFTezlu8ohWxQx0maOZv22sxWiF
   gi/sQo8qfYT+Lmrt57VVzhun0Bw473D8MdBXNUqt6zQZZZbZ6uMHsMgug
   c=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: Hq+BAdRuB6fkMmxGZGnQU0JzUEACrv04UeANnMCNeGB2MYALu+mZ/DzRYMXdHA77dGCJHWuN2d
 keng7Bd14bC00c30epL6UXLrhWCBw2IsVMT3fbvX8gKUO1mGm17K9wspq2a7a1hSL+DZkEtbsL
 XxwTd5nSZ4mhMQKq0DvX5EIWx+5Q+cNSCUQ1p8B1MOcB7X5z+Aot40ZMnmFH+15cM4LQKcbvtK
 WVLnf6lOqnPKM3lznYBwrg9LUkSN3PB6o27CkY/g9QtRcGU7rmFETr3ErCeqS4tASTNpPeX/YB
 66p3HiOaqk/oF9/qkWwtliBu
X-SBRS: 5.2
X-MesageID: 62315187
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:Unz7I6wIwmyPuj0+Wa96t+f3wCrEfRIJ4+MujC+fZmUNrF6WrkUFy
 GBJD2+PPfqJN2D1c9h+bo6//RgAuZ7Xy9NhHlRk+SAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnvopW1TYhSEUOZugH9IQM8aZfHAhLeNYYH1500g7wrdi2tcAbeWRWGthh
 /uj+6UzB3f9s9JEGjp8B3Wr8U4HUFza4Vv0j3RmDRx5lAa2e0o9VfrzEZqZPXrgKrS4K8bhL
 wr1IBNVyUuCl/slIovNfr8W6STmSJaKVeSFoiI+t6RPHnGuD8H9u0o2HKN0VKtZt9mGt9Zo8
 M4Oh7utdRYkJKjziuUAcklgCAgraMWq+JefSZS+mcmazkmAeHrw2fR+SkoxOOX0+M4uXzsIr
 6ZBbmlQMFbT3Ipaw5riIgVort4kI8TxepsWp1lrzC3DDOZgSpfGK0nPzYECh25t35ARdRrYT
 9oSZSBCMhSaWT9wNW9KGJ1nht6mq1CqJlW0r3rK/PFqsgA/1jdZyLHwNPLFd9rMQt9a9m6ar
 G/b+2XyAjkBKceSjzGC9xqEr/XTkCbMfZMdHby16NZnmFSWgGcUDXU+Ul+2ouKwjEKkbNtZJ
 1YJ4SolraU090uDQ8H0Wluzp3vslgQVW8dUVfY77g6N4qPO5kCSAW1sZjRMcsA8vck6Azkjz
 EaUnsjBDCZq9raSTBq19KqQrD60ETgYKykFfyBsZRsI5ZzvrZ8+ijrLT81/C+ilg9vtAzbyz
 juW6i8kiN07hMgHzf/jpQjvjDelp5yPRQkwji3JWWai4hJ8dZSSbYWi4ljG7t5NNI+cCFKGu
 RAsnMyT7/sHC52XozCcW+UGHLyv5PGtPSXVhBhkGJxJ3y+253epcIRU4Td/DERkKMAJfXnue
 kC7hO9KzMYNZj3wN/YxOt/vTZRxpUT9KTj7fvbNVsENUL9sSB6K5iRRd0+N/jDVi2F5xMnTJ
 qynWcqrCH8bD4Fuwzy3W/oR3NcX+8wu+Y/Abcullkr6iNJycFbQEO5YawXWMojV+YvZ+F29z
 jpJCyedJ/yzusXaazKfz4McJEtiwZMTVcGv8Jw/mgJuz2Nb9IAd5x35neJJl29Nxf09egL0E
 peVAB8wJL3X3yyvFOlyQio/AI4DpL4mxZ7BAQQiPEyzx18oapu14aEUevMfJOd7rrQ6lqYqE
 6leIa1s58ijrBydq1zxirGn/eRfmOmD31rSb0JJnhBiF3Kfe+A50oC9JVa+nMX/JiG2qdE/s
 9WdOvDzGvI+q/BZJJ+OMpqHlgrp1VBEwb4adxaWfrF7JRu9mKA3e32ZpqJmeKkkdEScrgZ2I
 i7LW3/0U8GX/d9smDQI7IjZx7qU/xxWRRsFTzKFvOfvZUE3PAOLmOd9bQpBRhiEPEvc86S+f
 +RFifb6NfwMhlFRtIRgVb1syMoDCxHH+Ne2FyxoQyfGaUqFELRlLiXU1MVDrPQVlLRYpRG3S
 gSE/dwDYeeFP8bsEVgwIgs5b7vciaFIy2eKtfllcl/n4CJX/aacVRkANRe7lyEAfqB+N5kow
 Ll9tZdOuRC/kBcjLv2PkjtQqzaXNnUFXqh+7sMaDYbnhxAF0FZHZZCAWCb67IvWM4dHM1UwI
 y/Sj63H3uwOyk3Hens1NH7MwesC2she5EEUlAcPfg3blMDEi/k72Axq3Q42FgkFnA9a1+9TO
 3RwMxEnL6u54Do11tNIWHqhGl8dCUTBqFDx0VYAiEbQU1KsCj7WNGQ4NOuAoBIZ/mZbcmQJ9
 b2U0j+4AzPjfcW31SouQ0917ffkSIUppAHFncmmGeWDHoU7PmW50vP/OzJQpku1G941iW3Gu
 fJurbR5ZqDMPCINp7E2VtuB3rMKRRHYfGFPTJmNJk/S8b0wrN1q5QWzFg==
IronPort-HdrOrdr: A9a23:8cAeva+BZeWzkYfHIbduk+E8db1zdoMgy1knxilNoENuHPBwxv
 rAoB1E73PJYVYqOE3Jmbi7Sc+9qFfnhONICOgqTM2ftWzd2VdAQ7sSiLcKrweQfxEWs9QtqZ
 uIEJIOeeEYb2IK9foSiTPQe71LrajlgcKVbKXlvgxQpGlRGt9dBmxCe3+m+yNNNW577c1TLu
 vi2iMLnUvqRV0nKuCAQlUVVenKoNPG0LrgfB49HhYirC2Dlymh5rLWGwWRmk52aUID/Z4StU
 z+1yDp7KSqtP+2jjfaym/o9pxT3P/s0MFKCsCggtUcbh/slgGrToJ8XKDqhkF+nMifrHIR1P
 XcqRYpOMp+r1vXY2GOuBPonzLt1T4/gkWSv2OwsD/Gm4jUVTg6A81OicZyaR3C8Xctu9l6ze
 Ziw3+Zn4A/N2KPoA3No/zzEz16nEu9pnQv1cQJiWZEbIcYYLhN6aQC4UJuFosaFi6S0vFpLA
 BXNrCd2B9qSyLYU5iA1VMfguBEH05DUitue3Jy+/B8iFNt7TVEJ0hx/r1pop5PzuN4d3B+3Z
 W2Dk1frsA7ciYnV9MMOA4/e7rENoXse2OEDIvAGyWuKEk4U0i93qIfpo9Fo92XRA==
X-IronPort-AV: E=Sophos;i="5.88,284,1635220800"; 
   d="scan'208";a="62315187"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aTGzW8+IRhA7Xa1sTA0hqkNiJTJjvFSnLArWuf4gxngcOKM+BNJi9JUvtiEgpNwfHLQNnYqq+x5F7f16RfRuM9aMZVIovpl9cD1u1cWGUkp8EBv1huy6lvqHOvU5mtgGb7mo3G3OYCIEW/o6rNsquwSGGA65t8J6cRHi08GUrj0o9fHXqR2W7175X3MK2J22UMEGybQBjwtWpPgEBu4DMQaaDLi320XvgzWg59Ba1FL32n7dk6aEs4pp7nppToafeoaLZHTytl2M9qAhi9v7TZ76nL/X6KMrINRs3f+udg9QZyY133hV/2iRUOiwRT03ay7cyrpXgVmfeJHRqPZl4A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4KMvU8XdiVKuVXBKPWPYetNs0Q+6GRrLYoAXAy5/bqA=;
 b=OMvCEI2PltDVyvtcKYFz/siwjPLneuQyN6o9v10BSPSqLy+p/r0OOUyK7qmEZ6sUBFEocfy5OwbIxQoxC8t0kB5xArcgfcV18hE+Qf3Fmfv5RDC+kdUnJuvD04ieVHnVm53LYNyxKhcbOwoEjTLUwmMf+9obetLxqtntXxpIhzNudTIRy+folveRXnkIkZTQuEBRNWjv22fIt+ulavfEf/kRsGZYfy9nlndJliVyfGktXiBpn5AuILX+MRct5eQ87nApSK0fYOmBCRAgfGsPSanKIMP7yamdPO4aKlpiE6hRz+h+8ML1SX3uyFkYfupR7t7ccAUxWd+vKFgFWfMUlw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4KMvU8XdiVKuVXBKPWPYetNs0Q+6GRrLYoAXAy5/bqA=;
 b=th8BZa7Sb86ovoZbYrqlvhhKtNWRpzAGMDjwFf3KThIVdl7eKM1LjWiyhQ/0pbfNvzMFMfs+AfO4DlBIUfPYZliSGzBtEdP9JAJr0R48cN35GsjbtFMwpmkTIZMbSVk/jgtShtLAF/hsMMQVAIoEA21FdLamy7S9ETqDZiyRjmQ=
Date: Thu, 13 Jan 2022 12:35:34 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Oleksandr Andrushchenko <andr2000@gmail.com>
CC: <xen-devel@lists.xenproject.org>, <julien@xen.org>,
	<sstabellini@kernel.org>, <oleksandr_tyshchenko@epam.com>,
	<volodymyr_babchuk@epam.com>, <Artem_Mygaiev@epam.com>, <jbeulich@suse.com>,
	<andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>, <paul@xen.org>,
	<bertrand.marquis@arm.com>, <rahul.singh@arm.com>, Oleksandr Andrushchenko
	<oleksandr_andrushchenko@epam.com>
Subject: Re: [PATCH v5 11/14] vpci: add initial support for virtual PCI bus
 topology
Message-ID: <YeAOhksC1rRuYl4x@Air-de-Roger>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-12-andr2000@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20211125110251.2877218-12-andr2000@gmail.com>
X-ClientProxiedBy: MR2P264CA0148.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:1::11) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6623a1ee-ccee-43bf-d1ec-08d9d688d33c
X-MS-TrafficTypeDiagnostic: SN6PR03MB3997:EE_
X-Microsoft-Antispam-PRVS: <SN6PR03MB399784CF008A5912BEF181808F539@SN6PR03MB3997.namprd03.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: G8C1pa9JwC4TmpiqhGXYAgeQXP0n44s2VaSfk3PuQEpI0cKsqjtZQxwhAY31ip1j6yjyhBbJ4vCwWM7aSLMrcun7OKBvyjlm8yUISobuuZ5glRvkYruM7VUPGWEDoHgayCDW0CaKKd7eop5weI5NUqzWMr7QCJDo8bszYwW0XtFzigDE4mxhdiQ9mq39LagmNHMMc0XqyFqCMdLdbIKOo0QfgJrduL+RAgOZDqiXDhSybx05lkKe8SN+OrNkUbc0ygcUnU5mhSqUIC8/A9pXbnMbN9yk5krTYMxouSYqr6Z41xn8/DIp2s9UEJDOQYlTOjnydZBOJwQHB7vA78q8ZNiCJvZE0g1M6oTeNS3bXPNp48qqUXVsMrDmiJzL9GXHY6zO6r8rVbt+hXoozHbfvjuyvKwLmn7kG7QpmUO73FlvvdGbdeERRrVaJvynOOf/bxAISHJTdOF2ZA+PSoWUMHBxDYhK2wMlKWhaHUQHyxSHAG6NHC1+Qg39CVX7AYUr2hxGnGgmfSu9Gaw0ZKpKZptYUy1DIAJ7yCklmERD1j8am4eQmfeUFim6BbkNZIym1im7pqPkBxtkCg0hPxu6q3T6yNKwqyFJwDq5Lg3zy6RQ9l+MEFWfjacNsEEQ8zSW4ue1VQfwaSrKgE7bXY+y+Q==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(66476007)(66556008)(186003)(2906002)(26005)(6506007)(38100700002)(6916009)(316002)(83380400001)(7416002)(6666004)(6512007)(85182001)(33716001)(8936002)(86362001)(4326008)(6486002)(5660300002)(508600001)(9686003)(8676002)(82960400001)(66946007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VzU2Wng5WXptWW40dE5PS2laSktCS0lQRTAvK0k1L1d1eVZudVI5MUhzbmtE?=
 =?utf-8?B?UzBmbUNmenRpMXZqOW5LaHJhc2RzWjlxS2NoaDNBaVNmMkNhdENGYm1ZaXNY?=
 =?utf-8?B?UG5NWkZBWkxzc0tXWElmUkNMYkpPUFdCajI1S0IzLzU5QXpBOWhsOUFCemlY?=
 =?utf-8?B?WEJmTGFiT3F4aXdaK1BSM0Q0OXhzZk1SL0lCaHpZOTU5RFpTdE9ZZUpFMmxE?=
 =?utf-8?B?S05yNkFwdlM1dFZUTWNncGx6bnVQVnIvWFpsd0x4YS9YekZvM1RkNHkzNVFF?=
 =?utf-8?B?ZlY3blpmSjkvQ3VwbDRyamtSR2N3WEpRV2E0ME5vMVJoNDJxRnN3aXRHTGlo?=
 =?utf-8?B?UExMRzJRMitaVHBUdlRCL3VIT2NRUnZnWmxiSkJsUHhXeFFSejE4VlR4MXRq?=
 =?utf-8?B?L3FXenUrZm5ZY3lxaGJkTzhIYmkyNGRLTk92RitDbm1sdTFzUi9SRnB6SWJT?=
 =?utf-8?B?MWhaRGdXWkhOS2tZdVBrczdSOEJ5RVgvSVhxcE1OZzVNbTlzN2R6aHdsNE5W?=
 =?utf-8?B?NmdxRjMzM1lId09Zbjg3bEFxamxoYzdIMUpxZkZSN2EvdjlvczNZRzNkU3Uz?=
 =?utf-8?B?amlJVVhGRnpmR3lLSlpvc2pWSGRLVmhIcWtmY0E4UnRESkJja01pSkxaRXZQ?=
 =?utf-8?B?dkFycFR1N1RXWEk3VEVUZm5YR0hzOFIvTDdLTVhXUHBvSmcwV0VZbG05Rk82?=
 =?utf-8?B?RFVwS0xFNkhSbmV1MXl6K2J3clIyRW9WMXc2WFFqdHZTTkVUY1pFeHMxd1d2?=
 =?utf-8?B?aFVuK3RJd09xWXprbllleVBNSFJrREN5a0FKUzRoU2QwZjdjS0Y4UUcxaHFv?=
 =?utf-8?B?MW40bFBIc0FibzZoaGxhUW91RWFBRkdMcTRnUVl4QiszZVJuWU8rODFzdGw3?=
 =?utf-8?B?SWJLWjErdXloaTNTbGZpWlZsUk5mWlhDOGxYaEhERzdvblFETEtDMUVXMFJK?=
 =?utf-8?B?K1dMTyt1NEJHOWphOFd5YXVkT3dxa2FidjJaWTVGZ3ExeFg3aW9nVUtLUHJC?=
 =?utf-8?B?ZU05Q3JOZnhmVXJiUHlkMXVqZ3dkL1ZMWEozUTc5RUY4R1JqcEtkTUR1eXhm?=
 =?utf-8?B?TlJ0dFFUZzcwK3ZmVk9BYTBFcEwxdzIrclJoUjBCVTdiWFBCMjM4ZWFBWkpN?=
 =?utf-8?B?djhSS3RDWU9vUTJwS0xubWJWMXJVUnN0YTg0clhCUmtSNkErUXExY1BuQXB6?=
 =?utf-8?B?M0ozYlc1Z0RNVyt0Y2ZoTU55eFRsUjI3RjdITnYrQ0JPT1hQV1ZzTWZWUFda?=
 =?utf-8?B?VHZQYkZicFR2WDNTMXg2ekczdHFzU3RXendLc0xwdzBOVnEyTDNrTzMvaWdL?=
 =?utf-8?B?TGZCbXFidjA1VDhLN0ZpZjREVnliVVBGOGE0ZUNTV2FCWDBoNS80MVdWWjZV?=
 =?utf-8?B?YVNzNi9QN2prTVJ6Uit1Yjc4clJoeXRwV3lUQzdGVG40UDNUUitRdmRxK2JD?=
 =?utf-8?B?NHliYWlaaHdZWEx4aXdGWTRESzZYRmlnR0Q1QXh2Sm0vdEhkL3FlN0pxSDRY?=
 =?utf-8?B?SXc1dm1nMWs0dUtXNWRhK3VycndUdE1MckpKN2k4R21VRldMSHZRVFEyeFhX?=
 =?utf-8?B?SHhCYzBiZWxTcE1PRmNGbnoycEJHenVGWmhVMjdFYnJLKzhyMFgzVkNDQUJS?=
 =?utf-8?B?dU5HeXZNcktIVTVjQXdSS1VPYklXTUpnNUJLQlUweXhnYzlqVjBFODNHa05U?=
 =?utf-8?B?cUtGdy9pTjFWTVVWZEUzaEpCNWQ0NjkrNnVNYWhSRllaWWdkRXBnM05kRVBm?=
 =?utf-8?B?NnVNVXpuelp0aW9qTmN5c2M0dVd2akpUZUFEazFYTzVqUVRiL29hL04vWTBm?=
 =?utf-8?B?QStYYi9pRXRKRTFOeG02eWEzRXFrSmtPTlNjamE0eXZKSDFkQUttSm9hdkti?=
 =?utf-8?B?UHNqdzR4T3NtMkdpWlRVT2NRa1ZvM0NWTnFTSWx6QnQzVCsvdjl5cXFrbjBS?=
 =?utf-8?B?MTU4YXczb2YxbDdLaEtyYWc5czFqRVZTMFRMZ2YySVdESEl4UEdUcFQ3Wi80?=
 =?utf-8?B?dHNWSW9tRm5wRVI5NjdnUzhqMlQ4YXBQaHM1bkJMVjFyVWxHVWk3SXNha3Nu?=
 =?utf-8?B?VTJSSElDYnFxdC83RlJPZlV1UC9EU0MwT0cwdUJIQ2tSYmc2a2NsTFk4bGNQ?=
 =?utf-8?B?STV3blNKcVBMTWtqakdKMWpRTXRob0c4VkJ3ZzVnd3NVUDVDSko5Rzk5Unc0?=
 =?utf-8?Q?qMebn96mYicKC1qJmtbf/JI=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 6623a1ee-ccee-43bf-d1ec-08d9d688d33c
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2022 11:35:39.9697
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: f7pWb+ptBD4C6Cl/rvOnmAiJ2eopbcwe9yaoTOWELJ534LHZwiILYOa02ZtUXHJh6R85rUS469UYFrfI38d76A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR03MB3997
X-OriginatorOrg: citrix.com

On Thu, Nov 25, 2021 at 01:02:48PM +0200, Oleksandr Andrushchenko wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> Assign SBDF to the PCI devices being passed through with bus 0.
> The resulting topology is where PCIe devices reside on the bus 0 of the
> root complex itself (embedded endpoints).
> This implementation is limited to 32 devices which are allowed on
> a single PCI bus.
> 
> Please note, that at the moment only function 0 of a multifunction
> device can be passed through.
> 
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> ---
> Since v4:
> - moved and re-worked guest sbdf initializers
> - s/set_bit/__set_bit
> - s/clear_bit/__clear_bit
> - minor comment fix s/Virtual/Guest/
> - added VPCI_MAX_VIRT_DEV constant (PCI_SLOT(~0) + 1) which will be used
>   later for counting the number of MMIO handlers required for a guest
>   (Julien)
> Since v3:
>  - make use of VPCI_INIT
>  - moved all new code to vpci.c which belongs to it
>  - changed open-coded 31 to PCI_SLOT(~0)
>  - added comments and code to reject multifunction devices with
>    functions other than 0
>  - updated comment about vpci_dev_next and made it unsigned int
>  - implement roll back in case of error while assigning/deassigning devices
>  - s/dom%pd/%pd
> Since v2:
>  - remove casts that are (a) malformed and (b) unnecessary
>  - add new line for better readability
>  - remove CONFIG_HAS_VPCI_GUEST_SUPPORT ifdef's as the relevant vPCI
>     functions are now completely gated with this config
>  - gate common code with CONFIG_HAS_VPCI_GUEST_SUPPORT
> New in v2
> ---
>  xen/drivers/vpci/vpci.c | 51 +++++++++++++++++++++++++++++++++++++++++
>  xen/include/xen/sched.h |  8 +++++++
>  xen/include/xen/vpci.h  | 11 +++++++++
>  3 files changed, 70 insertions(+)
> 
> diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
> index 98b12a61be6f..c2fb4d4db233 100644
> --- a/xen/drivers/vpci/vpci.c
> +++ b/xen/drivers/vpci/vpci.c
> @@ -114,6 +114,9 @@ int vpci_add_handlers(struct pci_dev *pdev)
>      spin_lock(&pdev->vpci_lock);
>      pdev->vpci = vpci;
>      INIT_LIST_HEAD(&pdev->vpci->handlers);
> +#ifdef CONFIG_HAS_VPCI_GUEST_SUPPORT
> +    pdev->vpci->guest_sbdf.sbdf = ~0;
> +#endif
>  
>      header = &pdev->vpci->header;
>      for ( i = 0; i < ARRAY_SIZE(header->bars); i++ )
> @@ -145,6 +148,53 @@ int vpci_add_handlers(struct pci_dev *pdev)
>  }
>  
>  #ifdef CONFIG_HAS_VPCI_GUEST_SUPPORT
> +int vpci_add_virtual_device(struct pci_dev *pdev)
> +{
> +    struct domain *d = pdev->domain;
> +    pci_sbdf_t sbdf = { 0 };
> +    unsigned long new_dev_number;

I think this needs to be limited to non-hardware domains?

Or else you will report failures for the hardware domain even if it's
not using the virtual topology at all.

> +    /*
> +     * Each PCI bus supports 32 devices/slots at max or up to 256 when
> +     * there are multi-function ones which are not yet supported.
> +     */
> +    if ( pdev->info.is_extfn )
> +    {
> +        gdprintk(XENLOG_ERR, "%pp: only function 0 passthrough supported\n",
> +                 &pdev->sbdf);
> +        return -EOPNOTSUPP;
> +    }
> +
> +    new_dev_number = find_first_zero_bit(&d->vpci_dev_assigned_map,
> +                                         VPCI_MAX_VIRT_DEV);
> +    if ( new_dev_number >= VPCI_MAX_VIRT_DEV )
> +        return -ENOSPC;
> +
> +    __set_bit(new_dev_number, &d->vpci_dev_assigned_map);

How is vpci_dev_assigned_map protected from concurrent accesses? Does
it rely on the pcidevs lock being held while accessing it?

If so it needs spelling out (and likely an assert added).

> +    /*
> +     * Both segment and bus number are 0:
> +     *  - we emulate a single host bridge for the guest, e.g. segment 0
> +     *  - with bus 0 the virtual devices are seen as embedded
> +     *    endpoints behind the root complex
> +     *
> +     * TODO: add support for multi-function devices.
> +     */
> +    sbdf.devfn = PCI_DEVFN(new_dev_number, 0);
> +    pdev->vpci->guest_sbdf = sbdf;
> +
> +    return 0;
> +
> +}
> +REGISTER_VPCI_INIT(vpci_add_virtual_device, VPCI_PRIORITY_MIDDLE);

I'm unsure this is the right place to do virtual SBDF assignment, my
plan was to use REGISTER_VPCI_INIT exclusively with PCI capabilities.

I think it would be better to do the virtual SBDF assignment from
vpci_assign_device.

> +
> +static void vpci_remove_virtual_device(struct domain *d,
> +                                       const struct pci_dev *pdev)
> +{
> +    __clear_bit(pdev->vpci->guest_sbdf.dev, &d->vpci_dev_assigned_map);
> +    pdev->vpci->guest_sbdf.sbdf = ~0;
> +}
> +
>  /* Notify vPCI that device is assigned to guest. */
>  int vpci_assign_device(struct domain *d, struct pci_dev *pdev)
>  {
> @@ -171,6 +221,7 @@ int vpci_deassign_device(struct domain *d, struct pci_dev *pdev)
>          return 0;
>  
>      spin_lock(&pdev->vpci_lock);
> +    vpci_remove_virtual_device(d, pdev);
>      vpci_remove_device_handlers_locked(pdev);
>      spin_unlock(&pdev->vpci_lock);
>  
> diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
> index 28146ee404e6..10bff103317c 100644
> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -444,6 +444,14 @@ struct domain
>  
>  #ifdef CONFIG_HAS_PCI
>      struct list_head pdev_list;
> +#ifdef CONFIG_HAS_VPCI_GUEST_SUPPORT
> +    /*
> +     * The bitmap which shows which device numbers are already used by the
> +     * virtual PCI bus topology and is used to assign a unique SBDF to the
> +     * next passed through virtual PCI device.
> +     */
> +    unsigned long vpci_dev_assigned_map;

Please use DECLARE_BITMAP with the maximum number of supported
devices as parameter.

> +#endif
>  #endif
>  
>  #ifdef CONFIG_HAS_PASSTHROUGH
> diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
> index 18319fc329f9..e5258bd7ce90 100644
> --- a/xen/include/xen/vpci.h
> +++ b/xen/include/xen/vpci.h
> @@ -21,6 +21,13 @@ typedef int vpci_register_init_t(struct pci_dev *dev);
>  
>  #define VPCI_ECAM_BDF(addr)     (((addr) & 0x0ffff000) >> 12)
>  
> +/*
> + * Maximum number of devices supported by the virtual bus topology:
> + * each PCI bus supports 32 devices/slots at max or up to 256 when
> + * there are multi-function ones which are not yet supported.
> + */
> +#define VPCI_MAX_VIRT_DEV       (PCI_SLOT(~0) + 1)
> +
>  #define REGISTER_VPCI_INIT(x, p)                \
>    static vpci_register_init_t *const x##_entry  \
>                 __used_section(".data.vpci." p) = x
> @@ -143,6 +150,10 @@ struct vpci {
>              struct vpci_arch_msix_entry arch;
>          } entries[];
>      } *msix;
> +#ifdef CONFIG_HAS_VPCI_GUEST_SUPPORT
> +    /* Guest SBDF of the device. */
> +    pci_sbdf_t guest_sbdf;
> +#endif
>  #endif
>  };
>  
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 11:41:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 11:41:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257140.441767 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7yTb-0001sO-En; Thu, 13 Jan 2022 11:41:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257140.441767; Thu, 13 Jan 2022 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 1n7yTb-0001sH-Bh; Thu, 13 Jan 2022 11:41:07 +0000
Received: by outflank-mailman (input) for mailman id 257140;
 Thu, 13 Jan 2022 11:41:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=64pG=R5=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n7yTa-0001s1-JR
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 11:41:06 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ae771231-7465-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 12:41:02 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ae771231-7465-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642074062;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=OQkvPVfHtC9itFzEKwiWYcXmq7frihiq4T1pHAYvacw=;
  b=VNlXHYRZMyCBZsxQaDZ1wrH3okNDTsr7Cuactcj7fA8WX8mSM7AyecPq
   nw5IRXqjPezM0nj40Yz/MHUkpaKCRxQl8q9PIRoeZW1AFkYfauXp+rWth
   IAHHfc49O+F/reuHaa4aeRhiT/c59GcrbR+Qzlv7bO+zeffWth4H8sNAV
   4=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: 3H7nXsMPztkyviVA3Zmx/BUhvXGoB2r8JnCc7uMbt0YuMZgE600tiWK1ZraMaoeqdfz3LzTrAC
 RJF+QUrnhPrjGVipZy5hNJ9da5bNoTypbVxJPHS1BYbU2IPNvpvNd84100iyoCPD/nM7rZd0OB
 Xqo2PnGsRM3mYKqkqDTCCgNW0euD0Gwz0j5E+UD6/6VqGJqIcyY82FRTx9aP9csr44jCJVi+7m
 LyHAzXyNgFkk6T+W0gyBZVtYETKQyzkkLPAbmUUgV8S7Y9hasG/vxT+9aQGsu3C7Pbw8Uqdqvj
 YrFD6/bCGIp9fkd5xXw8WYVE
X-SBRS: 5.2
X-MesageID: 61911924
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:Fd7ZAqCyMJTSmxVW/+nlw5YqxClBgxIJ4kV8jS/XYbTApDgl1TxSz
 GccWj3VaavcNmX1c40nbYyzox8O6pfVyNdmQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMo/u1Si6FatANl1ElvU2zbue6WL6s1hxZH1c+En940Ek7wobVv6Yz6TSHK1LV0
 T/Ni5W31G+Ng1aY5UpNtspvADs21BjDkGtwUm4WPJinj3eH/5UhN7oNJLnZEpfNatI88thW5
 Qr05OrREmvxp3/BAz4++1rxWhVirrX6ZWBihpfKMkQLb9crSiEai84G2PQghUh/lyyluPN1j
 /53iKOOFlgYeYiXhr03XEwNe81+FfUuFL7vJHG+tYqYzlHccmuqyPJrZK00FdRGoKAtWzgIr
 KFGbmBWBvyAr7veLLaTUO5ji95lNMD2FIgepmth3XfSCvNOrZXrHfybvIYJhmtYasZmAq/Ud
 ZMpNhlVaFfZZhpiFFgvJMIitbL97pX4W2IB8w/EzUYt2EDLxRF1+KjgNpzSYNPibcdfk1ucp
 2nG13/kGRxcP9uaoRKs6G6hg9jqjCzyWY8MPLCg//ssi1qWrkQUDBAVTlK9reOOg0iyQc9EK
 0cU9ywtqoA/7EWuCNL6WnWQuneEoxpaQNtWHO0S4RuIjKHT5m6xDGUeUiRIbtBgscYsXCErz
 XeAhdavDjtq2JWXVHac+7G8vT60fy8PIgcqdSICCAcI/dTniIUylQ7UCMZuFravid/4Ei22x
 CqFxAA3gbkJ15ZTj420+FnGh3SnoZ2hZhAy4gLbT2e09DRzbYSuZ5GrwVXD5PMGJ4GcJnGGu
 HUHgMGY4Po5EYCWlCeNTeMOG5mk//+AdjbbhDZHBII9/j6g/3qie4F44zxkIkptdMEedlfUj
 FT74F0LosUJZT3zMPExM9nZ59kWIbbICc3JcdPQKfF0X6dPK1C2uwQ1exe60DW4+KQzqp0XN
 ZCeeMeqKH8VD6V70Ta7L9sgPa8XKjMWnj2KG82ip/iz+f/HPSPOF+9ZWLebRr1htMu5TBPpH
 8Gz3idg4zFWS6XAbybe6ub/xnhafCFgVfgaRyG6H9NvwzaK+kl9Wpc9Ipt7IuSJepi5cM+Sr
 hlRvWcCmTLCaYXvc1niV5yaQOqHsWxDhXw6JzcwGl2jxmIuZ42ihI9GKcdtJeB8rLI/naUuJ
 xXgRylmKq4fItgg025MBaQRUaQ4LEj77e5wF3fNjMcDk25IGFWSp46MkvrH/ygSFCun3fbSU
 JX7vj43taErHlw4ZO6PMarH5wro4RA1xbwuN2OVfIg7UBi8oeBCdn2q5tdqcp5kFPk27mbAv
 +pgKU1G9bClTk5c2IShuJ1oWK/yQrQuRRQLTjCLhVt0XAGDlleeLUZ7eL/gVRjWVX/u+bXkY
 uNQzvrmN+YAkkoMuI15e4uHB4pnjzc2j7MFnAliAlvRaFGnVuFpLnWchJEdvaxR3L5J/wCxX
 xvXqNVdPLyIPuLjEUIQe1V5PrjSi6lMl2mA9+kxLWX7+DRzoOiNX3JNMkTekydaNrZ0bt8om
 L9zpM4M5gWjoRM2KdLa3DtM/mGBIyVYAaUqv50XGqHxjQ8vxg0QaJDQEHauspqOd89NIg8hJ
 TrN3PjOgLFVx0zjdXsvFCeSgboB1MpW4B0TlQ0MPVWEnNbBl8Qb5hwJ/GRlVBlRwzVGz/l3Z
 jphOXpqKPjc5DxvnsVCATyhQlkTGB2D90Xt4FIVj2mFHVKwX2nAIWBha+aA+EcVrzBVcjRBp
 ezKzW/kVXDhfd3r3zt0Uklg8qSxQdt0/wzEucamA8XaQMVqPWu72vejNTgSth/qIcItn0mW9
 +Bl8dF5ZbD/KSNN8bYwDJOX1OhIRR2JTICYrSqNIE/d8bngRQyP
IronPort-HdrOrdr: A9a23:Y3DpFahX2RoP3qsVOmbeFOUH13BQXzh13DAbv31ZSRFFG/FwyP
 rAoB1L73PJYWgqNU3I+ergBEGBKUmskqKdxbNhR4tKPTOWw1dASbsN0WKM+UyDJ8STzJ856U
 4kSdkCNDSSNykFsS+Z2njALz9I+rDum8rJ9ITjJjVWPHlXgslbnnhE422gYytLrWd9dP4E/M
 323Ls6m9PsQwVeUu2LQl0+G8TTrdzCk5zrJTYAGh4c8QGLyRel8qTzHRS01goXF2on+8ZpzU
 H11yjCoomzufCyzRHRk0fV8pRtgdPkjv9OHtaFhMQ5IijlziyoeINicbufuy1dmpDl1H8a1P
 335zswNcV67H3cOkmzvBvWwgHllA0j7nfzoGXo9kfLkIjcfnYXGsBBjYVWfl/y8Ew7puxx16
 pNwiawq4dXJQmoplWz2/H4EzVR0makq3srluAey1ZFV5EFVbNXpYsDuGtIDZY7Gj7g4oxPKp
 gjMCjl3ocWTbqmVQGYgoE2q+bcHUjbXy32D3Tqg/blnQS/xxtCvgklLM92pAZ1yHtycegA2w
 3+CNUZqFh5dL5iUUtMPpZxfSKJMB2/ffvtChPlHb21LtBPB5ryw6SHkondotvaPKA18A==
X-IronPort-AV: E=Sophos;i="5.88,284,1635220800"; 
   d="scan'208";a="61911924"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PwwKK8Kx/pOmaohb4HeR+Zy4CHtVXhIjoa1EDS+Vl89JY/HjnlBTs0kUl0L9H0WKHT9f2IM0sdBvhsDBudNEZ3UnZJnmaGQv+QSwgfQliju4Ok2Act16okSzOPkbWYEyX57D4VSzwPX7NqRyuPR8SgBeAlMw3dnZUX0YXTNpdmu+4aTWtYLQPhdRcdO9R4s0hw0NU/y2AOyXdUHTlM/XIIx21wt+AOp/5Wc+GHl5PaodOD4KX/FuR3BFZjDl4Y1pXr6q3dULQCGV19GN2RoPUyo1RScvagmmODaSENdwsvVuJ2rklBHg1k3PHOg3GSODBPpD/iveaM4kjaG5Q/WXJg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Whnu4s4Kz3TznB2fQ1mDh5SGxRBCi6ctjNEfiolaOGo=;
 b=g15iX11cIb6BcMy3c1LHi/f0AVi1aqQHFOhq9rrrlWDOPE2HpDuX3SH5hRbwU0+oruGYkiIiorQDfMJJrzlHKZGTrnVosbI0I27Sbax1Ujxolcv9wjFyk7uY754ZGYbNiiOmL6eDL/3bZoQgViXhjnbsitNIFtn9QbkazYDPifeR74loQlDkU1njQ2xMZ2MZqdRuN/uRlXymThjOOczbeBX/NmC69f5n5+LFOHdM/YaAt0GRjzs6MJXQVBlw8H8gKmdIZpwjRA4WkTITH0BaQXgHcCWHRLCegbixDw6OmDWTTNHuPAfAvdlRTWtH2fUYR6mlQZtDxZLfHcwyzt8FMw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Whnu4s4Kz3TznB2fQ1mDh5SGxRBCi6ctjNEfiolaOGo=;
 b=NCa/b3SSkD+udykav9SDyqrANRDE573getIsyWuPEb2PJ9AUNCGlTlR4491s/iWbkDB34VHAELtSxrQysuakmyTfOenNCOa61Fz1frY70wqrgXmu5SFvKmW6q2WoJ7VPa+rvJ57Wypu86dWSM5aHK+jMY5m4l4tRtYPF1Cmm+zQ=
Date: Thu, 13 Jan 2022 12:40:52 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Oleksandr Andrushchenko <andr2000@gmail.com>
CC: <xen-devel@lists.xenproject.org>, <julien@xen.org>,
	<sstabellini@kernel.org>, <oleksandr_tyshchenko@epam.com>,
	<volodymyr_babchuk@epam.com>, <Artem_Mygaiev@epam.com>, <jbeulich@suse.com>,
	<andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>, <paul@xen.org>,
	<bertrand.marquis@arm.com>, <rahul.singh@arm.com>, Oleksandr Andrushchenko
	<oleksandr_andrushchenko@epam.com>
Subject: Re: [PATCH v5 05/14] vpci: add hooks for PCI device assign/de-assign
Message-ID: <YeAPxA8gZZ/xBYdA@Air-de-Roger>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-6-andr2000@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20211125110251.2877218-6-andr2000@gmail.com>
X-ClientProxiedBy: MRXP264CA0032.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:14::20) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 17ba4a4f-3f9b-4f74-2b84-08d9d68990a7
X-MS-TrafficTypeDiagnostic: BL1PR03MB5973:EE_
X-Microsoft-Antispam-PRVS: <BL1PR03MB5973FB507C58CBE3B3397C1A8F539@BL1PR03MB5973.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: t5DiQrX23sgCBZGiM6GUBqzXMq8kcU26JHCDrNKkvJqHt1o3vrxgXFN0xAW/6cDa77GfMh4w9Wm0Clc9+tBA1RX1NtvaLKV4hzDxn77QID8c2vHhRsRjYuT7G7GwMudoD3nAA9mCWJ8vLzsYPNVBtYcvYdDrXNV8CQrhcSBf1jcyVZUMRcwV8AIS/upajAS3OMV7rpE8opMbESo2FuemI3nxsYcFQKXhQAR3BLbL/nkJ1fHXIpTXldis3PcTOy8iZNxjahNn2vJdH3rqUYX9yJJ0RgTTN2oqeHb2JkjoRlGVvxqY9LCioaPPaWbeIp3wh95X3IDA6XHtUBRLIASSkZRA1x5kdLGtglZkx6famM09z8r8nvlYgZiK6ZPeDMBd+iBd5jcArWysnBtCh/PzI3dC/ZTcTv7Oj4A5taUmycWvp3Bp3R5apYrnnT29b7so0aB2qRm0DonRok7Bwq8pu+kW1io9SIBC0F82uibdNHE4LFCso+erLdp/p/azdoVwKOBstC0bR5pgO1q5U9Inn+z78KIAAFvS7O0DtrVWm2kfnPKB/tdkafq/zYMxRgtCheqI+9HEnAELxgs3GidlPhAFQ0J31Hp2lAxEjuQDbaSpGcaAOYiDb7UYEqrEidl5SBM10tbhxFVyANjy9fieTg==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(2906002)(9686003)(6506007)(8936002)(6512007)(4326008)(38100700002)(508600001)(316002)(8676002)(66946007)(66476007)(66556008)(26005)(82960400001)(6916009)(6666004)(5660300002)(85182001)(86362001)(7416002)(6486002)(186003)(83380400001)(33716001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?OGpZU0RXdWFYcFN4OUllUTFFSEtXdkNpam9NMW04U3dwV2FueVJ5TS9Za1ZS?=
 =?utf-8?B?TE9NNnpjUUxBbVNOY0VjS29HV3RvcDlHdUdkbEczTmV1Ri80aFV0THorMFc2?=
 =?utf-8?B?L2MxUUc1RGlpb1ovYTlyRFdXbktqRnZ1cjFJNlRMNW9nMVM0b3ozQzEwVTgx?=
 =?utf-8?B?bWxyRGxhd3BRek9teUN4MVBsVUdicEQ4YmpHc01CeXdrZ0tTQmpPRlRYRk9I?=
 =?utf-8?B?M2p1d1ZURW1LVTk5anBYVm5JS1hkWlpmWlFnWTJpUFVwaUVIckxUbXZvV0F5?=
 =?utf-8?B?UFFONkpnekpJTnUzcEFZVDUvQko1Qm55cEJxcWVhdHBWL2ZTZElnQzZkd3hV?=
 =?utf-8?B?Si8zd0xEZ25xODlDclIvN1IvQ2xCd3ZLWDRJZk8ybkRGVG53OUp2NEthUXJo?=
 =?utf-8?B?andBNHZ0cWJXR2pESU0wY3hwaWl2czFvaHNDQXNrdlU1ZDZ2eGl2US9seWF5?=
 =?utf-8?B?UDdxazV6OUIvR0J6VGd2bFZnc3dJb3d1Mlp6amorWm5ZOGszMC9FTlY3TVB0?=
 =?utf-8?B?dXpsWmM2dmRUS05mN3hmc01aNExSL0o4VWJaVm1rd3RRSHRhdGpwNllGZk5M?=
 =?utf-8?B?T1hpcGFPTFBIeEdqSU50Y05YTWJIWndHcTNIUGQ5bEpHd0xUdDVIZVZrdGJS?=
 =?utf-8?B?ZFlTcmR6VlpBa1p2bml0WWFQNHpJTzVqblBvSDg5cFZGbExscVZwZnRjeDEx?=
 =?utf-8?B?NnVHSms1WTFpQk1DbnVPMUdoV2REc2xSUSsxQjIzUGNkMDEyWTVVcmxDSWpE?=
 =?utf-8?B?a3IxZDZhMit4OFdvUDdkUFJLUC9ZTXBiVE9MeXZCNU43U0Y0Z1RvWlhyUWh2?=
 =?utf-8?B?VTZRU0wzcUpxeVE1VWZqNnMvZ2tsSnJUQk44azNlcTNISlBIQXl0RmEwbXBJ?=
 =?utf-8?B?VVIveGNHZHRpVUd0WWNwS1hXVC9ZdDJvZGlpZkZoNC9INGl5OERGeTczekg1?=
 =?utf-8?B?R2tQbDR2NGxGQlF3amlnSVJPZWJOd2hCRkVXV1BCb3lJZGJuekdIaXBLdXUx?=
 =?utf-8?B?NTRFeE1PeEVwWWlqeExrZ3JmUzZlRjNIbE9NOC9XYllXNURFdXNYUWF4Nmpp?=
 =?utf-8?B?Skw2ei9HS1pXbjJtdVd1b2o0MFZXazMvaWF3NGl3QnRhUER6UlZXMEljU3Uw?=
 =?utf-8?B?RlJqMzlpVG9mT1E5OEtPZ3pNVXJpTUtjRGlSZEtodm9hK0FRTmNaQjZ1bS9N?=
 =?utf-8?B?RTZSOGZtdFRSVGxmTEVadFBpSWR0aloyRHJObTNndi96SDFSZGc0eVlDdDRX?=
 =?utf-8?B?UFdtV0phOURBSFlZL2RnaEJhdFlsZERrVkZlV25HMVFBSFQ4Rk9ka0lLblYx?=
 =?utf-8?B?WFA3REJMeUJ2a0htVmMxOEZTVmhaZHZUSkVWS2V2UFJ2M0JXNDVPd01QS2JK?=
 =?utf-8?B?K2k1QXhLT3pIMFpuc1NvQmpPREVIRzY3SFUyQWxKSjczNEw5bG9ObUs1MVht?=
 =?utf-8?B?R3BOMzVIdFRRY0VOS1RuR0o2M1ZLTHJTanBoMEkrcjNzeWNBTHJRUHJUQ0dz?=
 =?utf-8?B?Wm1tWGlqTERpYm1TUWRUbDFkeHpGTkova1Y3UVNHcm93MDRxenlmbyt5eWJG?=
 =?utf-8?B?Z3BpSVZnTWhuaFkrR3RJS015bFpTdk1VUnZjREJmcnNrcmkraFpTZUMwUVV0?=
 =?utf-8?B?dUJQN3FUYXQ2YWpHSEdxUHBUZ09RaGliRDBnUnJNMmIwM0F0akFnTmdNNGhL?=
 =?utf-8?B?ZEQyTEdGbVdEOHZLQ3BCeit2TzhnUldsY1BjK0Mxd3NKakxwOCtFam5sdG5G?=
 =?utf-8?B?N0pzTnY5Z0xnZ1ZDM2lld0ZpV1M1cnRLbjBwZ0lIUTJxeVBLQUV0R0hvaUgv?=
 =?utf-8?B?VDBDWVpWcHRZWlEvd1JFK2ZsaVY2LzRFSE5hVGhmRzV0TWdxWGpKVk13czJU?=
 =?utf-8?B?Qk5zNWc4L0FXd1RnUUFVRnhFMjJ0d2pVTU8zazR0RU0xcnVScWNuYmpvei9M?=
 =?utf-8?B?YzE3UjdlYTF4QzA5VzNZcUNyeCtBQmVLQ3d4RmxCSkdRbHdMbXJ1MUd3b25n?=
 =?utf-8?B?VDhKTTZBT0puUVJ4cnZ1S0UzRktYN3RKOWJzNkM0KzV3UC9yNXBFUnIxZjRP?=
 =?utf-8?B?Q0FQaEorU1M3blNnMUhpRDBzYTdzR1hQRS9EZHgwQlp1TkJtSHQ0S3hWakhF?=
 =?utf-8?B?aEs1TmgrU3V5SzVxWm5LMnZkRDFjc2tQZWNncG9TUXQ5VzMrRVkyR0tDRE5B?=
 =?utf-8?Q?tOd6nGdIVrltr/AyVMbJXCs=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 17ba4a4f-3f9b-4f74-2b84-08d9d68990a7
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2022 11:40:57.8030
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: FJ8VjH7gLhN+Hj0Qp7tt+M//AdflZk1KdHCu5xldvbYSkKcwtjvfW099jJWjx3jBzppSSxiyJbxVETsvAuJtew==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR03MB5973
X-OriginatorOrg: citrix.com

On Thu, Nov 25, 2021 at 01:02:42PM +0200, Oleksandr Andrushchenko wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> +#ifdef CONFIG_HAS_VPCI_GUEST_SUPPORT
> +/* Notify vPCI that device is assigned to guest. */
> +int vpci_assign_device(struct domain *d, struct pci_dev *pdev)
> +{
> +    int rc;
> +
> +    /* It only makes sense to assign for hwdom or guest domain. */
> +    if ( is_system_domain(d) || !has_vpci(d) )
> +        return 0;
> +
> +    spin_lock(&pdev->vpci_lock);
> +    rc = run_vpci_init(pdev);

Following my comment below, this will likely need to call
vpci_add_handlers in order to allocate the pdev->vpci field.

It's not OK to carry the contents of pdev->vpci across domain
assignations, as the device should be reset, and thus the content of
pdev->vpci would be stale.

> +    spin_unlock(&pdev->vpci_lock);
> +    if ( rc )
> +        vpci_deassign_device(d, pdev);
> +
> +    return rc;
> +}
> +
> +/* Notify vPCI that device is de-assigned from guest. */
> +int vpci_deassign_device(struct domain *d, struct pci_dev *pdev)
> +{
> +    /* It only makes sense to de-assign from hwdom or guest domain. */
> +    if ( is_system_domain(d) || !has_vpci(d) )
> +        return 0;
> +
> +    spin_lock(&pdev->vpci_lock);
> +    vpci_remove_device_handlers_locked(pdev);

You need to free the pdev->vpci structure on deassign. I would expect
the device to be reset on deassign, so keeping the pdev->vpci contents
would be wrong.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 11:46:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 11:46:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257150.441798 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7yYj-0002lN-AG; Thu, 13 Jan 2022 11:46:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257150.441798; Thu, 13 Jan 2022 11:46:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7yYj-0002lG-6Z; Thu, 13 Jan 2022 11:46:25 +0000
Received: by outflank-mailman (input) for mailman id 257150;
 Thu, 13 Jan 2022 11:46:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yUlD=R5=suse.com=dfaggioli@srs-se1.protection.inumbo.net>)
 id 1n7yYi-0002lA-5r
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 11:46:24 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6e41d765-7466-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 12:46:23 +0100 (CET)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2055.outbound.protection.outlook.com [104.47.12.55]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-8-NVtPAFwWMaODrIEkURE5Yg-1; Thu, 13 Jan 2022 12:46:21 +0100
Received: from AM0PR04MB5826.eurprd04.prod.outlook.com (2603:10a6:208:134::22)
 by AM4PR0401MB2306.eurprd04.prod.outlook.com (2603:10a6:200:4e::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Thu, 13 Jan
 2022 11:46:19 +0000
Received: from AM0PR04MB5826.eurprd04.prod.outlook.com
 ([fe80::89d1:c043:73b0:be06]) by AM0PR04MB5826.eurprd04.prod.outlook.com
 ([fe80::89d1:c043:73b0:be06%6]) with mapi id 15.20.4867.012; Thu, 13 Jan 2022
 11:46: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: 6e41d765-7466-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642074382;
	h=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=5ElFCYPkC+p12OxVk2qKJaGHht5rnuboziASwWSYQYU=;
	b=MsApPNnTKTxzp2OLYwUlAvS7o9DawBV64qHqn8WHOc7W+nVJAAv5p1xcU1knT7rFgRoRML
	dWa9dq2E76h0jBFyGV5NZ4NelX2A2uKAK7aqPZBrL1GQiJ9cVa4GacodCSfQBjgJkqMM7n
	mEFBc0CMW/+ww3c0p8acnU5QU9uyo5g=
X-MC-Unique: NVtPAFwWMaODrIEkURE5Yg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lXuwqxEzqp7KWUQxrMfpLgv+i/4sGP1aKGf66J5qj6sKFmbe3CufoIw460+55Uv3xTEGU4F97TIGPTqyTyezfqMVOfiCkzb+15JN9y0WBDTY78+3AsQP9ZHW3e18QnVfeBeFbmgEsTVl8CDRUdc41bLzRyvd24/reLLnRRkN0XzriYbQINX0MifYSVP1wR8KQ7K975nOoZU863HjbxLgeEVKbWrljt8AuvLoqtgTcLQcDq5f1ZX9OpYz7FJd9relXmUnlhG3gEURpZiBwPDfz4L5MHiURZx9nAd/9fYoq6XbapNHJkfFUVAfmnCVdQz3ptqEXOyP241Z8DJUtPjX8Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5ElFCYPkC+p12OxVk2qKJaGHht5rnuboziASwWSYQYU=;
 b=m/Tt0BNetLSy5IIfH0h4ZgWOwZeCItSLOweyGHIIC2sylVYRZwZwKjauwzuOuATXMkcfKpWhVJ/A5MLKr3M68Q6n5Ip9V/WDhw8HBHc9753bFrtWfRI6aN/8gIiZynDzRsoIPCmTR4/aPXwA8tqYRi5rUKOrvmPFo5R5JmZsO9YJmnKGLxaqvhuvQibFA3VvIusbh4cdI1Ewo20Tzd5mDtJ3/MqBrA0veX72UVtkHREH8OHqKX62SwBEbNiJn/fDbM3sf7Gy2v8USkrOP7wLG3+YxNUQcl3NscIzK6Yg2wCOQOVZmRZIVaNhkAdfrDMqQYT0dLGZwp6KErRZlZuC4g==
ARC-Authentication-Results: i=1; mx.microsoft.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: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Juergen Gross <JGross@suse.com>, Jim Fehlig <jfehlig@suse.com>,
	"wl@xen.org" <wl@xen.org>, "anthony.perard@citrix.com"
	<anthony.perard@citrix.com>
Subject: Re: [PATCH 0/2] libs/light: fix a race when domain are destroied and
 created concurrently
Thread-Topic: [PATCH 0/2] libs/light: fix a race when domain are destroied and
 created concurrently
Thread-Index: AQHYCHMuqbBxXiBHCUadGrc315WyaA==
Date: Thu, 13 Jan 2022 11:46:19 +0000
Message-ID: <022437925eca9c97cbdc3bc884a4b4109bd7d52a.camel@suse.com>
References: <164200566223.24755.262723784847161301.stgit@work>
In-Reply-To: <164200566223.24755.262723784847161301.stgit@work>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
user-agent: Evolution 3.42.3 (flatpak git) 
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 343ae992-cacd-460a-cc66-08d9d68a50a7
x-ms-traffictypediagnostic: AM4PR0401MB2306:EE_
x-ld-processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
x-microsoft-antispam-prvs:
 <AM4PR0401MB2306DAC6F7F4C89B8B8215EDC5539@AM4PR0401MB2306.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:
 q5e9RpF24lHN33AaMFAPKKwTuiNMB1D2W6LiUKHlJ6YswblgnqKAGtLpxEVF8a93uMe+nGq/XjGaXnFDtfkXG76ZsukV4bbP1YRvjpAZvJRN9/FR6KbMzuBghPZUVueWFTc96k9wJU2Z+mLG0fZqE4T9Ps3ZVWaa7S90NShZ8ncqLv3ubwSjrRuWtKng8vrUm1BJbv6pI6BcC6M/uKmdvjshH5zX2XYO3QH6k02jp4z+daAx8NLIjCVl4/yI1eYr4cQigyboNA4dRSrHru6q4ft0a7qaKA1g/EGmYrt1nzYVFszm41chT77q2lr1B37+3MyHCMzQ5czFMppAG4cAGGjwi/e2zarHZE1NzHpiBN+lgv+e9Tz8URT6kp61GqRwGqREpj1TzDiwiseE6kvDvzfwRCEkc7Ul/CIiZFyfWWcRx1lW+qFaYnz2ysd2IU22jiYcApUJL8HQsAxEOIwC/UkvrSAHyfnh8yAe/yP6eFWDX7v3fOEKHurIOWsGFl9sHQ6B63/DQDqG6U9xlbzuUIyWsZnMfdCLvcE7d4K/tIF9PkRgI0mXFr1mCbMy55b0AEzdoECyFKpmUREkvc93GQD5B9YB98TdrQvRnZCjpfOusLNDaUYPDlceVQOZPMWfIiSqRrTDzUd8+qvlps1ULGtSkEnImxJ2LJ+/bLa5gW89Lj3+R5rrvSkNOrmf/BIa6E9xYMTuuwweAwJx4N/78GbXbS6sqqnttLAtxpzNFXQA32+NfHPRSf+VXp1LmvyrdZoYkCrDmwNWlPRU4YGqE+4x74MO9jHhHZRRehhR9uOS52O4Z/OnOTFju/4RH4qk
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)(186003)(6506007)(99936003)(26005)(66556008)(66946007)(8676002)(6486002)(66476007)(91956017)(76116006)(36756003)(2906002)(6512007)(5660300002)(64756008)(66446008)(54906003)(316002)(4326008)(4744005)(86362001)(2616005)(71200400001)(38100700002)(6916009)(122000001)(38070700005)(966005)(508600001)(8936002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?aFRFV2RSc2Q4d1dlU29mMEFFdjNtRjhMOENhbVdORnk5R29VZjJNdHE5NjEy?=
 =?utf-8?B?SzhKMGx3ekZFT0pVZHV6ZTE5UFNYa2lmcVB6MTI3cER1UmQvbVpjd2hERjdR?=
 =?utf-8?B?SXVqSkVUS3l0UW1XcWdrMjhUN2R6WWxyYUk4Mm55Skl0WU9FZXNQZ2RmN2Zn?=
 =?utf-8?B?a09ENG5uRVV2cHRDdHg2NTkvV1BkM2Nvai9ydjdRakY3Zmh6L1ROVi9LNmVV?=
 =?utf-8?B?MjdremFnMmovYVlZd0R3ZWFDUFVCN0VhK3JRNG9FQ3pOK0lXYUo1M1JzOEVX?=
 =?utf-8?B?elpYRFJoNFBQWlM4am5CYlErYSswcy92TUVPMDNiRnh6eW5xQVFZQzQ3dEhF?=
 =?utf-8?B?VkwrdmxxNEtqNmFjSTFneDM4SHgrVENrUnlLNXhZcmJtRnA5UVhYbEFEMWkx?=
 =?utf-8?B?WFJXYlNjRC9FaHl4amYxNVBKelRnQXZPU3FIclFjWmhtZVBmZTFYcnJzUXZI?=
 =?utf-8?B?am55NWI0ZURvVVBaenk3dEVQWlZTSDI0QjVmWXl4Y01ZSHhFcnhDQUF2cHpx?=
 =?utf-8?B?dmUzQ3J6TkNsQmlSbmtNejVXaEs1MEVZaTFCNzdVUjJsNUdwSGpkWVRxNEow?=
 =?utf-8?B?UjZnT3JURXFIYlh3V1NMRzk3WmNXaUdEczBBWmpVVXhJTTR1KzcwWE80ZGls?=
 =?utf-8?B?UHdqeUVwMENrRTFQV2tFd3JqeVNzdm9idG8yaVpPTSs3V1VMWHcvZFovZGVZ?=
 =?utf-8?B?QW5URlZZb3UvVGNZU3hhRnZLTHU1WjVTV0lCdy81cHRieEFuQ3VreUxaQkhU?=
 =?utf-8?B?UEduWU5RZ0plbHpKc29CY3hOb3EyQTlqYlRodWlGU0tYRzF2VE1oRldnd2Nu?=
 =?utf-8?B?RWtZWm9mUmZzMW5EckFUajl2YytEdFhvMUVoUmJ3SEc4cTZEcXN2bUZxTHRP?=
 =?utf-8?B?VGNXRnBUdEsyR3hUMEJrTDBZSHNqcnBadEduR0d5dk94b1VyU3FaNmlucTlV?=
 =?utf-8?B?cWh5ZDNLT2MzSXV0YTFoamYxUkl6cERRZVJndEloVWhYR1BoZDhLSmZTMFE1?=
 =?utf-8?B?N1V4ejVMVWtMaW12NHhjcXlRb0NhQzNqdzJsMVNMRzR0NHJLdUg5OXRheU5q?=
 =?utf-8?B?R0pORkJOYzM1Mk14MGR6eWFhWHIzWWlxdDdLeStGVVFVZ3FSSk54bGgvY2Jl?=
 =?utf-8?B?RDV2UjhZRUZwc3ZxMjJPM0lkN2JiSlVNakYzVlprUTN2QjFEckxvdHBlRjVj?=
 =?utf-8?B?ZDNROE1Ba2R3SVlleTBxeFV3cU5rSFVSS3A5MXNiMlFhUDZ1NE50eGxwM1dD?=
 =?utf-8?B?c1g5ek5wUWN2NVR3YUVGOTBpRk9zUFdTcmxHcTZLT3lwbm44c2J4Nk9Kb3cw?=
 =?utf-8?B?WFc1Rlp2ZWlQUzVPcmhjTTExYUI2RGt6eit1Y2k5QmZmWlJHZmM4ZDluYjdO?=
 =?utf-8?B?L1poSWFlbjVqWTBnNE9EVzJadGI4K1Q2MjY5S0dwQ1FnVW0zclZBTWJoKzRU?=
 =?utf-8?B?VksyT3lKalUwc3lucFk3d3puZ0NPaHBseHZpOEdNMjM2a1Mzb3IvZUtiVFEr?=
 =?utf-8?B?L2J0MVE4NDFaWk5MS0NmUnV2RUVCT2VZVkJucDJLcjBGbFRlWVVhNDY0NjBl?=
 =?utf-8?B?QXdPY05HNFRwK1gxZlc5d2NyK0xtYUJnVjNKaTVmamMxQW81SmpGVWpzVzdx?=
 =?utf-8?B?SGQ2Mno2MXp3cUVJWEZ5UUY2bnlHWms1Qm5YL282Tzc0VHFydEx3cCsxTXlv?=
 =?utf-8?B?eVljL2sxcUs5M2NKSWlDc1JoVXpRcnlodEZJaFZzSVNrT3VyMjhEQkE0Y2Ni?=
 =?utf-8?B?SnhtN1NxUFJwRk5VNGExUGhyUzloUEZ3UkZyQlNCQWZ5VFN1NjhTbGpPUWFS?=
 =?utf-8?B?KzlXdzVpN3dnWm95cFRmd2RsVUFmQnNWYVFZMlBOdmd4eTRuWUZQcHZRVE4x?=
 =?utf-8?B?ZXVFMjdERWI4R0plZXU5Y1JaY3dTWmZVcHVXUlR0UEtaMEV3a2cybi9Lb2hY?=
 =?utf-8?B?WnFnK1Vpb1FMT1QrY3oraDJ4dW12TnVvcm0rRDBQY2F5aHMwNTYvd2hVN3Yr?=
 =?utf-8?B?SEtMcmN0aXBnR0IvU25KcWY1eWczQitFNzBnaW5rZUFVajhEYUtHVzBMdWxn?=
 =?utf-8?B?dkgza015R2h5L0VmOEpUTHJCQnlhZWhydHlCNWI2enlxdXpsNVMrRHBUNmdT?=
 =?utf-8?B?SVRSV1d2cXVmK1dDMVFBRVpxZ0Vsa0tKcEY2VHN3dENGNDB3cjRLcWY0SE9r?=
 =?utf-8?Q?tS/tPD3ylJ0AAPr6cJ4IC10=3D?=
Content-Type: multipart/signed; micalg="pgp-sha256";
	protocol="application/pgp-signature"; boundary="=-Q9LLcJ/Qd0eGMxrQcS8u"
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: 343ae992-cacd-460a-cc66-08d9d68a50a7
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jan 2022 11:46:19.6172
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: JwZ/GV71K1YyTCD7V/+9GDQQYZzUqa5ujCqlKooS5CeDJ1CmJfACF4I/WdSXC0uMrEmn/yDKh3avN8dC6Ix0sw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0401MB2306

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

On Wed, 2022-01-12 at 17:41 +0100, Dario Faggioli wrote:
> It is possible to encounter a segfault in libxl during concurrent
> domain
> create and destroy operations.
>=20
> This is because Placement of existing domains on the host's CPUs is
> examined
> when creating a new domain, but the existing logic does not tolerate
> well a
> domain disappearing during the examination.
>=20
Oh, one more thing. This has been first encountered and reproduced on
our SLE15.2, which ships Xen 4.13 so, if the fixes are accepted
upstream, I think they should also be backported (to all supported
branches, I would say).

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)

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

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

iQIzBAABCAAdFiEES5ssOj3Vhr0WPnOLFkJ4iaW4c+4FAmHgEQoACgkQFkJ4iaW4
c+5M3g//ZwWC6Ej4ZjXuZP6r2N3MR7V7HimA8tfNGGChEeKjFq5usz0a2nVF0fsZ
PZuL1u9XWItGxPcsPYQ3rfY8YKfopyWFovdtWRZFEkfQOTPS9i83/YnXbMi/airF
3arXhDBnOAMh68cigJDN51RTT3KATrp1TEfC4PRZHk6am3ANw/On2vxh68mNepuM
LhtQFCSkvy1aU4m6nDYDScVE4MEM7WtksGS7nc7vTkGvtWdNnlzniIjjxsLRFOJd
2tPPoW4B+2jGx4o3aSamjydnCwh4TnTp5IiAaR09NrKG0UHZ6X9TcvdXWwQa2dqC
k5FiCJmsFwQ6zQsDQbyVEwUGafV0F35Ts5HS6pznd9UbFcwEIrsT8CpzV2uaYFdm
ol3zn7SoE/NuxcTO3LfNt1iOwUr6riw1wDvlSp6dt55EVL9AwJrkJYaC7OTlf1Ct
kKYeagm7LZ/1RBzUZitLG1Ea/4zbom/xoewrih2GEW3lcg2VI7D9XLOeTF6uqMFN
M1C0jBAK1YJ9b21H9JCimsAKn2/bFarPVsN2YjZ1P9UPVVxRK2zcJnOlLBJficxO
qWRHTgRS3OLAcFeFFVO6VYnmJOjyEwY680tgCgksPOo7UPFWDe8QUS8EJGIJzrdt
TXLlEVy8ggvOXOMrxxbjaqOiTh0H26sEi4xGOc24ENr6nY9QB7Y=
=kKfq
-----END PGP SIGNATURE-----

--=-Q9LLcJ/Qd0eGMxrQcS8u--



From xen-devel-bounces@lists.xenproject.org Thu Jan 13 12:06:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 12:06:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257162.441809 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7yra-0005QV-BQ; Thu, 13 Jan 2022 12:05:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257162.441809; Thu, 13 Jan 2022 12:05:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7yra-0005QO-8G; Thu, 13 Jan 2022 12:05:54 +0000
Received: by outflank-mailman (input) for mailman id 257162;
 Thu, 13 Jan 2022 12:05:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GUHC=R5=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1n7yrY-0005QI-Qn
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 12:05:52 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 25cdfa83-7469-11ec-bcf3-e9554a921baa;
 Thu, 13 Jan 2022 13:05:51 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 25cdfa83-7469-11ec-bcf3-e9554a921baa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642075551;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=9uObCzDyOHhjYFW7ftrnIdbnpdo5iKe6FGaCQhvR7Lg=;
  b=XPATyEjToSaNDDhQrOiKZ6V872TUVk9fVi8/AncEOMZTMJ/X+81wKP8o
   dolwNGKTv9IFy+xLSEHUYv870euIlOiX4/SflSWYNrpby7RVE6sAANBg5
   pzwoG80Ik6BM2lv1TDm6Wwkk7IO8nPxIpWwMdJxB+JT3TKdQM2e3I4IyS
   0=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: TYCMsyy1QkiLnOcW1CUNnkkso464a7l0+h0Vi/OBPH2vbrlMFd9S6IWBN2OlqaEQoOioDEzq7I
 VATkaD4snYOMh+rQGw+TeSECayDlOcVcsXDfBiwMvzb8CecxidDMtmKgZvAyl9nad3IIUn3gkB
 0WO9dVyPZ34eNyBk+JJ8qVPnxF8lsiQZ7I/f4x4Z/WkTuXAdoT6SH7P3FV5p/iBDHL96N1HvWg
 ZNAa8JEcUs1Miqpdj+EKByKAmsyMa4uxHj9vghSghbRSb1TqA2wDEWcn3NenLyojF1k/0DEQzx
 HkCGS2WB6RZ+6gHL8/agxXzB
X-SBRS: 5.2
X-MesageID: 61914428
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:n7vFJK8PWS36OCziQBpqDrUDc3mTJUtcMsCJ2f8bNWPcYEJGY0x3n
 DdLWmjSOPqPYjSkeNwiYIXloBxUsZCHzNBgHQY9r308E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7dg2dYy6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPh2x
 98cmpWCGT4ZI5bGs/o4V0EGIwxhaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguwqKtXrO4UO/Glt1zjDAd4tQIzZQrWM7thdtNs1rp4XTK+CO
 5BJAdZpRBD6XSBOKgs1Mr19kfuaj0TfWR54hE3A8MLb5ECMlVcsgdABKuH9ZdiiVchT2EGCq
 Qru/WvjBQoBHMeC0jfD+XWp7sfNky77XIMdPKal7fMsi1qWrkQfBhQZWlq8pfiRkVOlVpRUL
 El80jojq+0++VKmSvH5XgakuziUsxgEQd1SHuYmrgaXxcLpDx2xXzZeCGQbMZp/6ZFwFWdCO
 kK1c83BAjNl4ZKceyKkxqqvpxisHCxNc18venpRJeca2OXLrIY2hxPJa99sFq+pk9H4cQ3NL
 yC2QDsW3OtK05NSv0mv1RWe2m/3+MCVJuIgzliPBgqYAhVFiJlJjmBCwXzS9r5+IYmQVTFtV
 1BUypHFvIji4Xxg/RFhodnh/pn1tp5p0xWG2DaD+qXNERz3qxZPmqgKsVlDyL9BaJpsRNMQS
 Ba7VfltzJFSJmC2SqR8fpi8Dc8npYC5S4i/DqmPNoQSMsMrHONiwM2ITRTAt4wKuBJ9+ZzTx
 L/BKZr8ZZrkIfkPIMWKqxc1juZwm3FWKZL7TpHn1RW3uYdyl1bOIYrpxGCmN7hjhIvd+V292
 48Ga6OilksDOMWjPHi/2dNDfDgicClgbbir+pM/SwJ2Clc8cI3XI6WPkepJlk0Mt/k9q9okC
 VnmCxAIkwSu1CSXQehIA1g6AI7SsV9EhSpTFUQR0ZyAgiBLjV+H4PhNep0pU6Mg8eA/n/d4Q
 +NcI5eLA+hVSySB8DMYNMGvoItnfRWtpASPIyv6P2RvI88+H1TEqo3+Yw/i1CgSFS7r58Ewl
 KKti1HASp0ZSgU8UMuPMKCzz0m8tGQ2kf5pWxeaOcFafUjhqdA4KyH4gvItDdsLLBHPmmmT2
 wqMWE9KrujRuY4lttLOgPnc/YuuFuJ/GGtcHnXasunqZXWLoDL7zNYZAuiSfD3bWGflw4mYZ
 L1Yn6PmLfkKvFdWqI4gQbxl+r0zuon0rLhAwwU6QHiSNwa3CqltK2Wt1NVUsvEf3adQvAa7V
 x7d+tRePrnVasrpHERIeVggZ+WHk/oVhiPT/bI+J0CjvH17+7+OUENzORiQiXMCcOspYd19m
 epx6tQL7wGfiwYxNofUhy9ZwG2AM3gcXvh1rZodGoLq1lImx1wqjUYw0cMqDEVjs+lxD3Q=
IronPort-HdrOrdr: A9a23:07ers6jUMEFDv/7qdEvy/JGneHBQXtoji2hC6mlwRA09TySZ//
 rBoB0+726RtN9xYgBEpTnuAsS9qB/nmaKdpLNhWotKPzOW2ldATrsD0WKK+VSJcEfDH6xmpM
 RdmsBFebvN5DNB7PoSjjPWL+od
X-IronPort-AV: E=Sophos;i="5.88,286,1635220800"; 
   d="scan'208";a="61914428"
Date: Thu, 13 Jan 2022 12:05:34 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Dario Faggioli <dfaggioli@suse.com>
CC: <xen-devel@lists.xenproject.org>, James Fehlig <jfehlig@suse.com>, Wei Liu
	<wl@xen.org>, Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH 1/2] tools/libs/light: numa placement: don't try to free
 a NULL list of vcpus
Message-ID: <YeAVjpmuV9LIRFpa@perard>
References: <164200566223.24755.262723784847161301.stgit@work>
 <164200569629.24755.2980883411590685040.stgit@work>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <164200569629.24755.2980883411590685040.stgit@work>

On Wed, Jan 12, 2022 at 05:41:36PM +0100, Dario Faggioli wrote:
> If libxl_vcpu_list() returned NULL, we should not call
> libxl_numainfo_list_free() as:

You mean libxl_vcpuinfo_list_free() ?

> 1) it'll fail trying to (double) free() *list

This isn't really an issue. free(NULL) is legit, can be call as many
time as you want.

> 2) there should be nothing to free anyway

The issue here is that it doesn't appear to be true. Even if "info" is
NULL, "nr" have an other value than 0, so libxl_vcpuinfo_list_free()
will try to access random addresses.

> Signed-off-by: Dario Faggioli <dfaggioli@suse.com>
> Tested-by: James Fehlig <jfehlig@suse.com>

Can I suggest to make libxl_vcpuinfo_list_free() work a bit better in
case it's "nr" parameter is wrong? It will do nothing if "list" is NULL.
Even if that seems wrong, and the caller should use the correct value.

Also I think it is better to keep the free in the exit path at the end
of the loop.

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 12:12:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 12:12:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257166.441820 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7yxO-0006rr-1y; Thu, 13 Jan 2022 12:11:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257166.441820; Thu, 13 Jan 2022 12: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 1n7yxN-0006rk-Ul; Thu, 13 Jan 2022 12:11:53 +0000
Received: by outflank-mailman (input) for mailman id 257166;
 Thu, 13 Jan 2022 12:11:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fwfT=R5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n7yxM-0006qs-8L
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 12:11:52 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fcf037b0-7469-11ec-bcf3-e9554a921baa;
 Thu, 13 Jan 2022 13:11:50 +0100 (CET)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2053.outbound.protection.outlook.com [104.47.13.53]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-36-nS7CRNkeNxqjMzv-IvXauw-1; Thu, 13 Jan 2022 13:11:49 +0100
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.4888.9; Thu, 13 Jan
 2022 12:11:44 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Thu, 13 Jan 2022
 12:11:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fcf037b0-7469-11ec-bcf3-e9554a921baa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642075910;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=ZZhMMYY4C3WTxFsQcYaYyArCJiH3SojVIbs2CCEX/yI=;
	b=fSSXbRFJ5qtfyesr8IrjTeF04JSVtFTFVk/beZaYuM4QTniGCSHQ4XhS4gAxFz5iCnCfwD
	f4ppvdAtTDWTVKpWauRAyB1AtvkjANaeYBO4ww61bPQa5RCtndgG9Gy+WTDJrSeY7Wys0b
	PJcv4UGOnTwjX2L8RfZoA8Vpj1ZGryw=
X-MC-Unique: nS7CRNkeNxqjMzv-IvXauw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ayv2J+CM7vvwkjlh/zocNhhuOTxmdyYi+QYYyRyT0kPdd539ju3hk3i9CWNhNqcZvVRyrAqcQ5NQrlHArnVYtlQkyksmIkA9JVUb9S8aiy4ySvKC2U1mfGACTBezUoMkoyR9cvumJdjK5cbYMvpagZ0nt7E3wZFXsuuk6j92qEjfLQIkxVdgbLyVhvIoehwqHlfGl+TMFpiyJeXzwecf9Uyq5zIbN70edtXbq4TqKFpyXqU4LFwO2Pp8LPjTll66A6PmUV/A+0ZqeH3++gEYwWs0MqZZajedA8HRMir55cjs2Z6DCLbr23BI0wH7IFqav9vsuvkiisAy/xYMYF+IrQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZZhMMYY4C3WTxFsQcYaYyArCJiH3SojVIbs2CCEX/yI=;
 b=N59hfsswkxIj6EbdAcItC0WSKPqh7avE8l4avUo0kv2wLg5oQjWPwttk+QHbSu2U5hFCC2QgkxKjPmSsFGzCToLomfyzaRdEU969E18OHs+CnQdwy0rOxiXDZCpX5FLg43x3cE6TUBjjPsiPO20eCySw06oIfgjtLamhmHpsabcEMjx46dVWYu72UntVqKqKC0cmyv5yKakKKqmC3ElJAczvek2IJksMlQFSamYD1bzcVi+w2Uznd3R/5cJmP9oikEXVkE7K3Tx3ceBPMuaD6c3HfqRnUD5cndLi3QX56XWgv4LOtaGUblZlytY2L3jYAN/do+MA/qIZk3LkUwte4g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <726353b9-0093-31de-bcfe-35f9ee68c61f@suse.com>
Date: Thu, 13 Jan 2022 13:11:41 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH] build: adjust include/xen/compile.h generation
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <4f0766b2-cabd-cf5e-ed84-cc2b773bf5f8@suse.com>
 <YeALhTgXh7g2QdbB@perard>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YeALhTgXh7g2QdbB@perard>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR07CA0027.eurprd07.prod.outlook.com
 (2603:10a6:20b:46c::29) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 995de46c-71ca-4628-1d5d-08d9d68ddcfe
X-MS-TrafficTypeDiagnostic: VI1PR04MB7038:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB703835D99401A35504EB1C8BB3539@VI1PR04MB7038.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:
	tCwXUMj2kPlQ2pwaziVIwMeUXEQGg1xAY8ETTeGAmBZpwd5wp7gRkf0jx9Ep3DV3BSaLTfcgUuq84qSU9arDzwnc/U8IzvT/EEkgNnXZrr4ua4fiNSaJgtVQju99cr/dhfZkXN6jWxYjiZi5ZyTNzYcK8BeW2v7qR5yL4y9WXlU9FpO2GAfzNf11gVXSK3Fg8xmk2Jl03mwC1IsJUlnqeURK1lbu/c1xTWcgmxvI0xim+CWKoAoRM9STRP6zORyQNtpfHNFmPSDd48fMw9nKYwmQFrA1pFnNyCKo91WmQUL4fROm0iM8O2vplBSfIh8IBYP28rw2U9A4/L+yWOF3JhgEuPn0VYE0+vWGTLJtXq09hwLttiyRUl6U83vke1Y4rdZonmx+GC1+DKVVRx+otMsdm3a21kkTrYmPdPpp65yH2lijvX3wwrzvy0u15ewNjau1dC3xlwcL9QfrW3bhHnkC9UY2ZZCJZF8gRWVHMDdcvsv4dSLZP9gP3EOplyqJbh+87J9612/18StlBtAfLybhKwIRSpTvUhvTd7Rjk98kwy0k4FByYywxRdAEkoLoTRI0UB8uMbfq+3t7A+rObSNRXOgSXFzvar6smu6HJqEqwCUmjE4g4ICRAawbyvFA5SEWjVMq+roU+Yyx8lgYbePgrmKil+ZiQqpa/QnFzS/4TE4GtdRuBs7rl4PScYSFbeZiCzDyiWX+0bM7PMgYRnFWPFmwsnfl47k3KW1AX1g=
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)(5660300002)(86362001)(6512007)(2906002)(31696002)(2616005)(508600001)(36756003)(8676002)(8936002)(316002)(83380400001)(38100700002)(66556008)(66476007)(66946007)(186003)(53546011)(26005)(31686004)(6506007)(6916009)(54906003)(4326008)(6486002)(6666004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RSt2QU5KYUJiUUxOb25jaW84djE3MmJNdUpncDM5UUVleUhNN1hJYzZ1YVJK?=
 =?utf-8?B?dUxBQU1DNUxwODFlUE1GR2c5WGhHak1ySjVuaXJmem5TK0FUbW05em5mRVJo?=
 =?utf-8?B?SDYxOTU2Q3g4RFVrVWdnL0w2eXZ0TTI2WTFhbkRQc2RLTVRZV0F0OEVSdXF2?=
 =?utf-8?B?MmlwbWVlQ0YxbVV1S05KTEVYN2xGTThyMExjOFkxV0MrYXFaTkFTeE5oRGh3?=
 =?utf-8?B?TGtsU21MeWtoY0tXRUhGZ2J6RHp3R3NadjduZ0wvcWxsT2RxZXJrOURhcG9G?=
 =?utf-8?B?dEFDQXFSLzhIalpTOWZjdGI0MWY2ZWF6UnNhZC9VSXhEalpmOVl2R0ZYRU9W?=
 =?utf-8?B?VG5lL1J0S3hXdGtza1h0SXZaZmo3V1JuUi8zTTR4TlJJdjdyejJMQTUvM3Vn?=
 =?utf-8?B?NG5teWdVMzhxYVhwak5ydFlOQ1l4enpZOEFyT3JXa3dwOGhmSCtrNHlvUDl0?=
 =?utf-8?B?UFBXT01YWmRvclhNdnFvTWJ3a3kvM2cyazZzczJCQTZEWDgrMWx2ZlhDOFBo?=
 =?utf-8?B?ZER3ektoajJ3eUtmc0diOVZxMkl0U0Q0TnQwd0lzclNFMjU3d2ZMa0tkSWhP?=
 =?utf-8?B?Q0lYUHNWbHFEY1hxenJWczNwblR3VkM5bGt6V2ZzWmU5M2J3dkZDbjZZUERX?=
 =?utf-8?B?bko5VUxwRm9TSVZJWTBRN3MwelgyQWMwaENOcytrY3VhVE0xd2ZxSXRhcmtB?=
 =?utf-8?B?YTl5VzQzM2x6MzVaZEl6TWVYNnc1V3RVZ0RGL1NMMlVIWTlEYVpweHk4RmVK?=
 =?utf-8?B?eGlzS1c3aFBpWFVneTJlanB2UWJVTk9Xa2VqR1VuZW9zZ2J3bWFDcyt6bUpy?=
 =?utf-8?B?clJ3M0FMbHRURXZ1b1kwZGtkUzUvZ01aMmRsVEpCWGhrOWtLeWE2dEw1QWsy?=
 =?utf-8?B?NUROOTV5NGl0SXQ0dGZ1Uk1GeFE1L1UxS2kydVRidWJsb3d2cmNER2JpaFhj?=
 =?utf-8?B?OUJvSzlzMkdqandsMjB3N1gyU1BoV3M2LzFMZFgwMTlsQmhwOTROUTNFZTBq?=
 =?utf-8?B?LzJtbG53Zi9rWExZeTJQeXhkb2N1QTkvdkVkNjQxQkljbTFXZVp5MkdHdDRL?=
 =?utf-8?B?bG5pejI1QkttTmNadk00N00yTWsxejNUUGNWVTZvY0lOcFRkdllPdldaWWhU?=
 =?utf-8?B?RzduUHNBVE5qT1R1S1docWhsS252R2JaVWtZdWQvV1l2WHBuRkxJelRaSllM?=
 =?utf-8?B?QWZmUWpsSFRYdmREbTNmOURSMG5XejREQnRmRXgxa1Jra0cwQ1pNdzkzQTda?=
 =?utf-8?B?c1plSmNsZHNiYjBMT3BCSm85cTNaMElZaHBmbTFWSXArcG9obEozbVg5NHM5?=
 =?utf-8?B?U1NDRGxSNEpVbDA1YWlZbGxBK2Z2QXZhdXZEaWFXRnVlV0dqd0N0NmYxK2xT?=
 =?utf-8?B?TlJtNk8zbUxRVUJ6Tzg0b21TRk5SL1hxQng0YkNRck55VFlBckQ4N3AxbGJO?=
 =?utf-8?B?OVh2eGxnTDJMaytSMWZTTnluaVVnN2YxSzE3cVBIQ2tiMWZ0OEVSQ1pEUzMr?=
 =?utf-8?B?MU1pTU4rK0ZmeHk3ajUrdktOQUpBUitXLzVDRHhnZzhQejFSMSs2Y2lCVU5x?=
 =?utf-8?B?bE5sWktJMnBHOXg3NVJ5czdud0d4VURNY2EzRnRwUUIvMjAxK3M0OTdhS1R2?=
 =?utf-8?B?aEdwak14RVJkS1k2MlBUUGcvNWd3Y2Q4dFlGMml0Z1JTTjJUQUp6cHFyV1Zh?=
 =?utf-8?B?S042ZExROVZ5S2pGN1dSQ2sxbVBwYkVvRjNLZEwwTEJwbDlRNlUrMTJ2b3Zr?=
 =?utf-8?B?KzVMYjhiWHFKS0s2Y3NZZHM4MFE5dU5YTFlEZ0p0MmpsSmdEZTZzYWJ1bXYx?=
 =?utf-8?B?SStlK2JoY3pVd2d3Z2ViVEpOSHhvWmNkanhJem5UUWdvbW84QTlBVGFiMUdu?=
 =?utf-8?B?Z0F5L0xjZHUvRTBGOG9uV2tTRk1pOFZxSHJoVzR3eDRyTTlsQ3lOaDF6TnVS?=
 =?utf-8?B?WXpPSzc1VldGVU5ZUHJSWU9Ib085cWhkdVlSMjdWcEZGd0tpcW53WHNxV2dl?=
 =?utf-8?B?ZlRlaTkwMkNXZ1RoS1RxdFpId3ZIbWxFR0dndVcyUkZhMWpKd1dvd1pGRGxX?=
 =?utf-8?B?UnBnUEZPUCtIQlFuT0E1Vk55Yk1CZUVXNkdEVmVHYk1oWThGVXcvS2tuV3gw?=
 =?utf-8?B?T0NmZ0dFZFp5cEtCN2tqd0FQd3BqL0JGczRhbWt0bXc1MEQ2bk9lYjR4Mnh2?=
 =?utf-8?Q?XdZePN2P8wtaxXtWPGDaTgs=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 995de46c-71ca-4628-1d5d-08d9d68ddcfe
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2022 12:11:43.8318
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: n9e05ya1jv/ptpUpE333jb4vx/U2uKQPG8FJdrUEVuYhP0BKCV6jO64o6EjnbGup9Fyt7L4oHFiVjtYjWRtLuA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7038

On 13.01.2022 12:22, Anthony PERARD wrote:
> On Tue, Jan 11, 2022 at 03:16:17PM +0100, Jan Beulich wrote:
>> Prior to 19427e439e01 ("build: generate "include/xen/compile.h" with
>> if_changed") running "make install-xen" as root would not have printed
>> the banner under normal circumstances. Its printing would instead have
>> indicated that something was wrong (or during a normal build the lack
>> of printing would do so).
> 
> So, having several line of logs with one generating "compile.h", and
> several object rebuild plus the re-linking of xen isn't enough has to
> indicate that something is wrong?

Well, for warnings and errors to be easy to spot (and until your rework
to make our build more Linux-like is in place) passing -s to make is a
must, imo.

> Also, with this patch, the banner would no longer be printed on rebuild,
> unless one doesn't try to prevent regeneration of "compile.h" by
> exporting two variables.
> 
> I kind of like having the banner been nearly always printed, but I'm not
> opposed to the change.

I'd be happy to use a solution where the banner is always printed for
"normal" builds, but not when compile.h re-generation is skipped
during "install-xen" as root. Assuming of course that was the behavior
prior to your changes - I never tried suppressing compile.h updating
via setting XEN_BUILD_{DATE,TIME}. My goal merely is that it not be
printed during "install-xen" as root, as that's how things had been
for many years.

>> Further aforementioned change had another undesirable effect, which I
>> didn't notice during review: Originally compile.h would have been
>> re-generated (and final binaries re-linked) when its dependencies were
>> updated after an earlier build. This is no longer the case now, which
>> means that if some other file also was updated, then the re-build done
>> during "make install-xen" would happen with a stale compile.h (as its
>> updating is suppressed in this case).
> 
> So, the comment:
>     Don't refresh this files during e.g., 'sudo make install'
> wasn't correct?

In a way, yes. The file would have got refreshed for two reasons: By
deleting it (i.e. unconditionally) during a normal build, but via
dependencies only during "install-xen" as root.

> On the other hand, it's probably not good to not regen the file when the
> prerequisite changes. It's kind of weird to "rm" the target, but I don't
> have a better solution at the moment.

I agree it's weird, but I've outlined the only alternative to this
that I see, ...

>> Restore the earlier behavior for both aspects.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> An alternative to removing the target would be to replace "! -r $@" by
>> "-n '$?'" in the shell "if", but that would cause unhelpful alteration
>> of what gets recorded in include/xen/.compile.h.cmd. (The command
>> normally changes every time anyway, due to the inclusion of
>> $(XEN_BUILD_TIME), but I consider that different from varying the
>> conditions of the "if".)

... here.

>> --- a/xen/Makefile
>> +++ b/xen/Makefile
>> @@ -424,6 +424,7 @@ targets += .banner
>>  quiet_cmd_compile.h = UPD     $@
>>  define cmd_compile.h
>>      if [ ! -r $@ -o -O $@ ]; then \
>> +	cat .banner; \
>>  	sed -e 's/@@date@@/$(XEN_BUILD_DATE)/g' \
>>  	    -e 's/@@time@@/$(XEN_BUILD_TIME)/g' \
>>  	    -e 's/@@whoami@@/$(XEN_WHOAMI)/g' \
>> @@ -441,7 +442,7 @@ define cmd_compile.h
>>  endef
>>  
>>  include/xen/compile.h: include/xen/compile.h.in .banner FORCE
>> -	@cat .banner
>> +	$(if $(filter-out FORCE,$?),rm -fv $@)
> 
> Is there a reason for -v? Do we care if the file existed?

That's meant to be an indication of the file getting updated during
"install-xen" as root. I thought it might be nice to have this extra
indicator, but I wouldn't mind dropping it if that helps acceptance
of the change. Can you let me know how important this aspect is to
you?

> Do we want to log "rm -f compile.h" ? Or could you just prefix the line
> with $(Q)?

I'll add $(Q). As said, I always build with "make -s" (except when
debugging weird build issues), so this is nothing I would have noticed.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 13 12:18:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 12:18:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257169.441830 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7z3m-0007Xq-ON; Thu, 13 Jan 2022 12:18:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257169.441830; Thu, 13 Jan 2022 12:18: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 1n7z3m-0007Xj-LQ; Thu, 13 Jan 2022 12:18:30 +0000
Received: by outflank-mailman (input) for mailman id 257169;
 Thu, 13 Jan 2022 12:18:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=64pG=R5=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n7z3l-0007Xd-E4
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 12:18:29 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e8e73e8a-746a-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 13:18:27 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e8e73e8a-746a-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642076307;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=2d2QhPJhSOmwdxtuRv/X8nNTr/8kzvhNDLu+3zTi8VA=;
  b=KcNbeENhv1OcYRgvLqSLvjQZhXGA9XjZjFzSekkXcnOB16HgqhXswsJn
   0em4vvTlpALzbUmLfSYA+kD5i6FRgAHCsuwm/1z+EvfHXy0DsV1kkxJzh
   bkqjA/UW7lJN6va274ACxqjqG22BytNaQY8t6EO7NcJCBk8h9E0P0RDL9
   E=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: yWPlkplV1nfc8Ev14kGzXunBnPww4w+96ll7IbWlJcBzmIpA0hh01AkuxYud2LW3Wz4HGLIw1i
 FSj/kyqYLZgjCBlBbTxH/WLKHDG2V8W9bgV9AMUowv8iPmIMB8uCS9DmUkrnGCQPsSa7gy2yPP
 kZIZ+fmDqAqgPN1imLUNPrxLFk7WSfpO7yRYgP6CuiQ3vxh5KwcQD3x6oe+G5JDFgMbz1BhTaq
 gWmVGMh8pIqF0OsCaB8u4JVTYZGKfCffqsVliGWVcJgQj68h3zejqNxfGFrGPMDe5TUIK+ZR5z
 T6engfZq/oqqywQQYFn8uQgJ
X-SBRS: 5.2
X-MesageID: 62317552
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:nGu/8q9XrObz0PUEumSqDrUDQHiTJUtcMsCJ2f8bNWPcYEJGY0x3y
 mAcDGmAPf6PYDH0e993bYni9xhV7J/cm9RhSlRsqSs8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7dg2dYy6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPhe2
 dJ8n5aXYD0uO6f2pr84dCkGEQBXaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguw5K8bmJsUHs2xIxjDFF/c2B5vERs0m4PcGhmxp2Z0TR54yY
 eIXQ2czbA/RMiYMEQZLKp0DpMmGtEXwJmgwRFW9+vNsvjm7IBZK+KDkLd79atGMA8JPkS6wp
 GjL4mD4CREyL8GExHyO9XfErsbVgS7+b6cDG7S5++BCjUWawyoYDxh+fVy/rPqig0iyQeVWL
 UAO5zEupqg/8k+sZtTlVhj+q3mB1jYGUtpNF6sh6QeCyoLd+QPfDW8BJhZLZcY6rsYwSXov3
 0WQgtLyLTV1tfueTnf13rWJqTK/PwAFIGlEYjULJSMV7t+mrIwtgxbnStd4DLXzntDzASv3w
 T2BsG45nbp7pccN27/hpQifqz2pr5nNCAUy423/QGWh6Q9oYZ+/UIah41Pb8PVoIZ6QSx+Ku
 31ss8+a4eMVBJeBjhuRUf4NF7Gk4fWCGDDEiFspFJ4knxy24GKqd41U5DB4JW9qP9wCdDuvZ
 1Xc0T69/7cKYiHsN/UuJdvsVYJ6lsAMCOgJSNj7f91/SJJWXTWA+StUWxW1+FCzkmkFxPRX1
 YigTe6gCnMTCKJCxTWwRvsA3bJD+h3S1V8/VrigkU35jOP2iGq9DO5cbQDQNrxRALas/V2Nm
 +uzIfdm3Pm2vAfWRiDMubAeIlkRRZTQLcCn8pcHHgJvz+cPJY3ANxMz6e9wE2CGt/4M/gstw
 p1bchUIoLYYrSeWQThmklg5NNvSsW9X9BrXxxAEM1eywGQEao2y9qoZfJZfVeB5qLY7lKUsE
 aVVIJ/o7hFzptLvoWR1gX7V9t0KSfhWrVjWY3rNjMYXIvaMuDAlCve7J1CypUHi/wK8tNcko
 q3I6+8oacFreuiWN+6PMKjH5wro5RA1wbsuN2OVfIU7UBiyoeBCdnyg5tdqcppkAUiSmVOnO
 /O+XE1wSR/l+dFlqbEkRMms8u+ULgeJNhELQDmAs+fnbHmyE6jK6dYobdtktAv1DQvc0K6je
 f9U37f7NvgGl0xNqI1yD/BgyqdW2jclj+YyIt1MECqZYlK1JKlnJ3Xaj8BDurcUnu1SuBesW
 1LJ8d5fYO3bNMTgGV8XBQwkcuXciq1ExmiMtaw4cBfg+St63LubSkEObROCvzNQceluO4Q/z
 OZ/5MNPs16jigAnO8qthzxP8zjeNWQJVqgq78lIAILihgcx5EtFZJjQVn3/7J2VMo0eOUg2O
 D6EwqHFgu0ElEbFdnMyE1nL3PZc2stS6EwbkgdaKg3QyNTfh/Ix0BlAyhgNT1xYnkddzuZ+G
 ml3LEkpd6+AyChl2ZpYVGe2FgAfWBDAoh7ty0EEnXHyRlWzUjCfN3U0POuA8RxL829YeTQHr
 riUxHy8DGTvdcD1mCAzRVRku7roStkorl/On8WuHsKkGZgmYGW63v/yNDRQ8xa3U9ksgEDnp
 PVx+LciYKL2AiccvqknBtTIzr8XUh2FeDRPTPwJEHnlxo0AlOVeAQSzFn0=
IronPort-HdrOrdr: A9a23:eRy5BaiVC1ljOeLG7V7eWRZyvXBQXzh13DAbv31ZSRFFG/FwyP
 rAoB1L73PJYWgqNU3I+ergBEGBKUmskqKdxbNhR4tKPTOWw1dASbsN0WKM+UyDJ8STzJ856U
 4kSdkCNDSSNykFsS+Z2njALz9I+rDum8rJ9ITjJjVWPHlXgslbnnhE422gYytLrWd9dP4E/M
 323Ls6m9PsQwVeUu2LQl0+G8TTrdzCk5zrJTYAGh4c8QGLyRel8qTzHRS01goXF2on+8ZpzU
 H11yjCoomzufCyzRHRk0fV8pRtgdPkjv9OHtaFhMQ5IijlziyoeINicbufuy1dmpDl1H8a1P
 335zswNcV67H3cOkmzvBvWwgHllA0j7nfzoGXo9kfLkIjcfnYXGsBBjYVWfl/y8Ew7puxx16
 pNwiawq4dXJQmoplWz2/H4EzVR0makq3srluAey1ZFV5EFVbNXpYsDuGtIDZY7Gj7g4oxPKp
 gjMCjl3ocWTbqmVQGYgoE2q+bcHUjbXy32D3Tqg/blnQS/xxtCvgklLM92pAZ1yHtycegA2w
 3+CNUZqFh5dL5iUUtMPpZxfSKJMB2/ffvtChPlHb21LtBPB5ryw6SHkondotvaPKA18A==
X-IronPort-AV: E=Sophos;i="5.88,286,1635220800"; 
   d="scan'208";a="62317552"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JeLyqlA/zAzv8lepbdeIOu8QWCGbYLyc/rQnYGyJrHP/G6ANV1DXcFVUlZxkThp2kUo0m4I2feXXKEy7Rpq7wglRIL/IY8HH+rpwUQrus3u/6Kj9KqcIwFFO7OIyX6hwbc8DDBdERZE8CNfA4XGrOmRlzkr+z330N+bt5Zc2AMP9NSEZR4iTuSIQyALeUlwCM0FOrltx5c4h8xHik+biqTp60d8hdp/0D709VCGkcKZU25iyjZLB8R0fMjguOdCvPlLvIyWuf4I4ECo6nZrrZqvetmHmb37bDHqjeW3K09FOUv3Y124LJdkpztTeXpCsOxH5DwecSsS5yUZ09vlnIA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XE3/eOH5mYVV5j3s61hJ7bU+F4KZdw59sbl8x8LH/cQ=;
 b=OXbs/UHCWboQZvQWbDj1jYDvpylu31AEmLTNxe/oiAONeCa57TmSG/vV3RRcEiFtlrIm/dF58bYGiLre247ZM/j7C6B3YfjFTzL0c52KzgPZmMBZipDUgATqogEOKxFRLwTRVTsL+vP7iOiubAcRk+eymzqQHEzXoshLMNHA7k6WgEpJrf7Z0GZSMaIqDSwDTvQWmdrb4rnIk79qk1oa230iZ6Oi4gWY3XIuWYL2CRnCVsHx2EfQ7pCQzGLG4OHazd7cKgqGtZ+9wvtWYb8hbVdYwChYGwXmbEgHauEnhJsAcmB0GK8PTxCCIAgvGKL3f+qmXgenbuHv3jOv4D4Avw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XE3/eOH5mYVV5j3s61hJ7bU+F4KZdw59sbl8x8LH/cQ=;
 b=Fu7BQMk3VLywMCwqatxYkg4m1E3+lLnws1ywY02vzu+xdY54MHIPPEld8nROMpyJBFH6b9tFpka3pXxEFIlikrAaKpUgs/aP4As54PXmQHrIhA0GRWN3nB/Oh7vlVaF5q1EcjLKuyl1R6dsHRkttjTbRAFg7LazPfDrAkNwyTkU=
Date: Thu, 13 Jan 2022 13:18:08 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Oleksandr Andrushchenko <andr2000@gmail.com>
CC: <xen-devel@lists.xenproject.org>, <julien@xen.org>,
	<sstabellini@kernel.org>, <oleksandr_tyshchenko@epam.com>,
	<volodymyr_babchuk@epam.com>, <Artem_Mygaiev@epam.com>, <jbeulich@suse.com>,
	<andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>, <paul@xen.org>,
	<bertrand.marquis@arm.com>, <rahul.singh@arm.com>, Oleksandr Andrushchenko
	<oleksandr_andrushchenko@epam.com>
Subject: Re: [PATCH v5 12/14] xen/arm: translate virtual PCI bus topology for
 guests
Message-ID: <YeAYgOIcBMjMeWU9@Air-de-Roger>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-13-andr2000@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20211125110251.2877218-13-andr2000@gmail.com>
X-ClientProxiedBy: MR1P264CA0118.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:50::25) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b61ab24a-9c0c-43d2-c707-08d9d68ec68c
X-MS-TrafficTypeDiagnostic: BN3PR03MB2242:EE_
X-Microsoft-Antispam-PRVS: <BN3PR03MB224215F00736C8B151FD7A8B8F539@BN3PR03MB2242.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: v7q4FD5IEck1pux6ItHIKwRPotbnEBdBkcK2cwWm45/HEW5Qnv/U6dKYG0bIzzc4lQQDfAF4rgylWLgsbpex3csBy2fEaNx0ThfGFBuSMm5DXEzlCOgKHUsgFoTWr3fcOf80gTi2pd2VdYKKaFBGn0EmCzJLxlrKNpNFcaIx+yqpo8uaQZcfSoVtncVZKvffeF+EnsQ4QzPnFS1Q+33+AXHFFO/VPFfyROoJZlYZ3ylpd+TMjxjb5RokmbmpNC0b+R9BHY/80s8J9YxhD86Vs3RMLuxSb7xl0czaXDKJiTwmOXNPNwQZEJMhX0m2EFFHUBPwEF67MO/g1NiWmp0ymjC9t4tdQjWeh+rly4bR5hC/5UhNpiK8D08p1x4fDDUWV+ZAo3IPjAmsKIXrFpK5JKFz85c3wCpws1F9KmWDtfbxPMm4xxomrldf9GwWjTkpa+MLXljKxIp2YJIJY0fVofOKweHKol5/E6S++gL76N0m5R7x48cK5U3DcMj69vVDzYFzwgmlffrMF2Wntw55ShgxvM20sJxJq2z1jl/3X2hAoOSh0RKjeOJV1MupqWu1GdcxUr7khaWSRVSPv9TfBPGzJTVIfR0KEDjDBe+6CJ58za6HoqkOE1l3Qh9jW59X7ACIxjhpOmv2hM9bh0IDB/TPGQrfMzBHfuvccEAxYfM8Dd+DOqq9RF2zwajKali3e0d4rN8yuTCrY+1IWIirnw==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(6666004)(33716001)(6506007)(83380400001)(82960400001)(6512007)(9686003)(316002)(5660300002)(38100700002)(26005)(8936002)(66556008)(66946007)(8676002)(508600001)(2906002)(6916009)(6486002)(186003)(66476007)(85182001)(86362001)(4326008)(7416002)(309714004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dnlobTRwQlpraXk0NENBNkZ0MnpjaTM1Y1VXNEJkcS9aR1FQRDQyeTE1WkhJ?=
 =?utf-8?B?QnFYdFNzUlFSWjR0cHZpbEx0cVdld1NYZmdGZWRDa2RRK25jWUhIZVF6TVlI?=
 =?utf-8?B?TnBpbzZUWE0zUUQ5WXN1UkhtQlF4VW5VcitkQWpnaVRSNllMTHc2cEpIMUd2?=
 =?utf-8?B?T01XOUErWkhoeHBYRU03Z1VSdXlySERJVmYzNUI1aHNHL0NKSkd0S0RiOE1w?=
 =?utf-8?B?U2p3dEdHQUl3RDFoZHJvZjZrMS9tbm8yeTl5ZEdPOSt4TVVLeWJXbkcvcnA0?=
 =?utf-8?B?U2srRzRZOWYrcUFibXdrMXphT0lwcm9DMEYrZGg2SWRDdjNtZjU4MTZqck5v?=
 =?utf-8?B?RlZlNEVrd2J1T2pWUlNkWG8zUTBmNEZqT2FhZm83aXM0OFEwalFwaGU2Q01Q?=
 =?utf-8?B?WW5uUmhLbXI4WTA4TkFvY2dHWDBjR2tTUXJGUzVlT3UrRk9DZEh6S1UrNXNr?=
 =?utf-8?B?dW9ZQldPNlAzRHB3T3pVc3BoSW1QL1JTNEhUN3AyUS9wZ1RLdHdpYVNnVVZK?=
 =?utf-8?B?bjZQTmIxVi9qNnM4RXdod1pjZ0NoQjM3aHpUaXJQbmtFS3NyUHpMWGZzQnRB?=
 =?utf-8?B?d1FNS0hjOFN6aE5qbUJoMFZ5cDZVbm0rd2ZjQ2ttYTdJRGRVQlV5ZmlsQStV?=
 =?utf-8?B?ejR3S1JpY1U0VlVnVGpOTlZGeitxZVZmMUlTUTBQWnNTRGFkZjBOYnlKaE9y?=
 =?utf-8?B?UVdEU0s3cHVVOTlXd3JsMUllekN1L1B2VDBXOEpxa0ZMZEd2VlgrZkFiSWJT?=
 =?utf-8?B?U0s0eFpUUDRwejRmaTNZamJuTE5rbDZJL3FKVExkUEFnOGJLWk1NdzVkOXNr?=
 =?utf-8?B?eFQyeGN4NzFybmRsTmhtNmNWZWswSS9JSzlIbERQTkluSWRkRzJUK0hURFZi?=
 =?utf-8?B?bmQ5UGpraGdlOWR5M1ZJRSt3WTE1TE5tWkJPLzM0amowOTBiYlNVazhZWFBH?=
 =?utf-8?B?dVhpNlNGT2tGRmo1Y0ZaZUdiRW83K3BvMVlxbWMzM25nT1BySXVaWWJUcXZq?=
 =?utf-8?B?RHVDMUNBelhQbytSL1FPKzVYVDF1b1QxUm9wUnZ4cG9hbzhKNVhNVlk3UDU4?=
 =?utf-8?B?OFFsdjBaSWpSR05OblZ2ZU1ZMjNtc2dnMCsvdjhWZ2dXVnRzVDVMUTBoRWdT?=
 =?utf-8?B?bndhRmxmc2lOVTNyMDdqZU5DSG5IUm1zNDNEd01FYk5kazZDWUIrdm5iU21T?=
 =?utf-8?B?dVdMV1BPNjNyNmFBbGVaMmdjNnZYV2QzODhHWmRnU0sxMElUc2ZKMTFYdG9z?=
 =?utf-8?B?VTlrZ3JOR1BHTUU5ZkJCdUtwN0M5VHRFYXJiVzhqaTlPeS9xVHN6K1hySmF4?=
 =?utf-8?B?cE9XNlhtbVlzaXpyNmpWV1JDb2hKN1Q5UFpJRDZPd20vMzVYK0MrMjY2aTY2?=
 =?utf-8?B?NEVBZXdLdmIyYzZlbU1lamMvT1IwbVBtZW1IVnpzU0k0azVSZ29xb0dPM1c3?=
 =?utf-8?B?cFVxU3MySklWNU9kaTFkT21Oc2ZMUlc4elJnSEFBRmpldXZlc0NnV2JiL2Q1?=
 =?utf-8?B?cmsrUEp3UDhUM3NjaE1kQ2xWcEdzWDllQlZIeEJXWWNiOFYrTm1GNEh6RHRX?=
 =?utf-8?B?R3FZMzBQUUtPYUdNQWFRb1d5NXc4cW9kRkZncUg5L1hTb1N2VzBMZzNhMFdR?=
 =?utf-8?B?QW9nR2xLT3NwMW9xakV3eU1QakFzL0N0NGZGdE5ZMnhHSTc2cTFTcHdrQXl3?=
 =?utf-8?B?dW9PWTJBK0RpQVQvMlh4SXB2aVlNbDh4VDJ1S2JVRGkxTkhlOEN2bzBRTlFo?=
 =?utf-8?B?b1NCYkVyRFM5S2Qzd2pIMHVLTTJvMCt6RW8vaWM3dldxTmNRS0ZTeUJHcHR5?=
 =?utf-8?B?eHZrOWhNcUM2L2NWa1lxQzNaN202V1RvQXRtTDJWWmpRdjdEVTNoQkc4QlM2?=
 =?utf-8?B?TDJKT3ZIcU1NQ0IzUS9yQ2ZlNlBJUW9ERDlUcG9HWnRmZHVrbVZ1MDlFM1hL?=
 =?utf-8?B?bzA1Q2FVZkVDd1R0TzJEZmFwZ2Z0V1RyQ1Q5cndiYi9xZFluYW9pTi8zeWNs?=
 =?utf-8?B?YUppK2VrSlU1MmZCdWhCcFNXaHR1U2E0U0s4Y2dKeHJ5c3kzRTJ2WFpqdTZU?=
 =?utf-8?B?T2cvQU90QlJrMEY5eFdzR3FDSkExb1VkQXlBb0RCVDgzUzJESFJ5UDNWRUdm?=
 =?utf-8?B?cithNFBHd3o1dk9ZRWVRd25zZDdGTGFqVnNPdTM2aXU4eThUU2s5M2RjcUtO?=
 =?utf-8?Q?vMIaLaWparpj/SpdZ5BjvNs=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: b61ab24a-9c0c-43d2-c707-08d9d68ec68c
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2022 12:18:15.6637
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: nRnxvwGmQ1u/LLPLT6Sbl+9eA+KPbnIwEFskxCtmEkX0Rq1yXPyOObDS1dOVz4dhLH2eH2HhcuqlKHw+5b2CvQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR03MB2242
X-OriginatorOrg: citrix.com

On Thu, Nov 25, 2021 at 01:02:49PM +0200, Oleksandr Andrushchenko wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> There are three  originators for the PCI configuration space access:
> 1. The domain that owns physical host bridge: MMIO handlers are
> there so we can update vPCI register handlers with the values
> written by the hardware domain, e.g. physical view of the registers
> vs guest's view on the configuration space.
> 2. Guest access to the passed through PCI devices: we need to properly
> map virtual bus topology to the physical one, e.g. pass the configuration
> space access to the corresponding physical devices.
> 3. Emulated host PCI bridge access. It doesn't exist in the physical
> topology, e.g. it can't be mapped to some physical host bridge.
> So, all access to the host bridge itself needs to be trapped and
> emulated.

I'm kind of lost in this commit message. You are just adding a
translate function in order for domUs to translate from virtual SBDF
to the physical SBDF of the device. I realize you do that based on
whether 'bridge' is set or not, so I assume this is just a way to
signal whether the domain is a hardware domain or not. Ie:
!!bridge == is_hardware_domain(v->domain).

> 
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> ---
> Since v4:
> - indentation fixes
> - constify struct domain
> - updated commit message
> - updates to the new locking scheme (pdev->vpci_lock)
> Since v3:
> - revisit locking
> - move code to vpci.c
> Since v2:
>  - pass struct domain instead of struct vcpu
>  - constify arguments where possible
>  - gate relevant code with CONFIG_HAS_VPCI_GUEST_SUPPORT
> New in v2
> ---
>  xen/arch/arm/vpci.c     | 18 ++++++++++++++++++
>  xen/drivers/vpci/vpci.c | 27 +++++++++++++++++++++++++++
>  xen/include/xen/vpci.h  |  1 +
>  3 files changed, 46 insertions(+)
> 
> diff --git a/xen/arch/arm/vpci.c b/xen/arch/arm/vpci.c
> index 8e801f275879..3d134f42d07e 100644
> --- a/xen/arch/arm/vpci.c
> +++ b/xen/arch/arm/vpci.c
> @@ -41,6 +41,15 @@ static int vpci_mmio_read(struct vcpu *v, mmio_info_t *info,
>      /* data is needed to prevent a pointer cast on 32bit */
>      unsigned long data;
>  
> +#ifdef CONFIG_HAS_VPCI_GUEST_SUPPORT
> +    /*
> +     * For the passed through devices we need to map their virtual SBDF
> +     * to the physical PCI device being passed through.
> +     */
> +    if ( !bridge && !vpci_translate_virtual_device(v->domain, &sbdf) )
> +        return 1;

I'm unsure what returning 1 implies for Arm here, but you likely need
to set '*r = ~0ul;'.

> +#endif
> +
>      if ( vpci_ecam_read(sbdf, ECAM_REG_OFFSET(info->gpa),
>                          1U << info->dabt.size, &data) )
>      {
> @@ -59,6 +68,15 @@ static int vpci_mmio_write(struct vcpu *v, mmio_info_t *info,
>      struct pci_host_bridge *bridge = p;
>      pci_sbdf_t sbdf = vpci_sbdf_from_gpa(bridge, info->gpa);
>  
> +#ifdef CONFIG_HAS_VPCI_GUEST_SUPPORT
> +    /*
> +     * For the passed through devices we need to map their virtual SBDF
> +     * to the physical PCI device being passed through.
> +     */
> +    if ( !bridge && !vpci_translate_virtual_device(v->domain, &sbdf) )
> +        return 1;
> +#endif
> +
>      return vpci_ecam_write(sbdf, ECAM_REG_OFFSET(info->gpa),
>                             1U << info->dabt.size, r);
>  }
> diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
> index c2fb4d4db233..bdc8c63f73fa 100644
> --- a/xen/drivers/vpci/vpci.c
> +++ b/xen/drivers/vpci/vpci.c
> @@ -195,6 +195,33 @@ static void vpci_remove_virtual_device(struct domain *d,
>      pdev->vpci->guest_sbdf.sbdf = ~0;
>  }
>  
> +/*
> + * Find the physical device which is mapped to the virtual device
> + * and translate virtual SBDF to the physical one.
> + */
> +bool vpci_translate_virtual_device(const struct domain *d, pci_sbdf_t *sbdf)
> +{
> +    struct pci_dev *pdev;
> +

I would add:

ASSERT(!is_hardware_domain(d));

To make sure this is not used for the hardware domain.

> +    for_each_pdev( d, pdev )
> +    {
> +        bool found;
> +
> +        spin_lock(&pdev->vpci_lock);
> +        found = pdev->vpci && (pdev->vpci->guest_sbdf.sbdf == sbdf->sbdf);
> +        spin_unlock(&pdev->vpci_lock);
> +
> +        if ( found )
> +        {
> +            /* Replace guest SBDF with the physical one. */
> +            *sbdf = pdev->sbdf;
> +            return true;
> +        }
> +    }
> +
> +    return false;
> +}
> +
>  /* Notify vPCI that device is assigned to guest. */
>  int vpci_assign_device(struct domain *d, struct pci_dev *pdev)
>  {
> diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
> index e5258bd7ce90..21d76929391f 100644
> --- a/xen/include/xen/vpci.h
> +++ b/xen/include/xen/vpci.h
> @@ -280,6 +280,7 @@ static inline void vpci_cancel_pending_locked(struct pci_dev *pdev)
>  /* Notify vPCI that device is assigned/de-assigned to/from guest. */
>  int vpci_assign_device(struct domain *d, struct pci_dev *pdev);
>  int vpci_deassign_device(struct domain *d, struct pci_dev *pdev);
> +bool vpci_translate_virtual_device(const struct domain *d, pci_sbdf_t *sbdf);
>  #else
>  static inline int vpci_assign_device(struct domain *d, struct pci_dev *pdev)
>  {

If you add a dummy vpci_translate_virtual_device helper that returns
false unconditionally here you could drop the #ifdefs in arm/vpci.c
AFAICT.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 12:23:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 12:23:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257173.441842 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7z85-0000YP-E4; Thu, 13 Jan 2022 12:22:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257173.441842; Thu, 13 Jan 2022 12: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 1n7z85-0000YI-B9; Thu, 13 Jan 2022 12:22:57 +0000
Received: by outflank-mailman (input) for mailman id 257173;
 Thu, 13 Jan 2022 12:22: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 1n7z84-0000Y8-U1; Thu, 13 Jan 2022 12:22: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 1n7z84-00055q-Ql; Thu, 13 Jan 2022 12:22: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 1n7z84-0002I5-Gq; Thu, 13 Jan 2022 12:22:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n7z84-0001zf-GO; Thu, 13 Jan 2022 12:22:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=laUFO2k6MRVulOZpjTPAOuzpUuly/5bQHz3/yvx3TEw=; b=BQsWcDKl+e0laeMQcGnW1pOHJL
	cI+VWKR3z3M0YsKQ5BALPpafnyUols58q7eYAumkHBC+dloccSbOh3xPev+95hfTQV934ZkfvyTw9
	J5Xl4c8zSdXxdnyEeLwzaPdlnI/n14e5Psmwia5KCWlYu7v1GkQX9Jm22olAQw/JyhWw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167685-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 167685: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=7438a85bf1388add286a89707079d9afca735814
X-Osstest-Versions-That:
    ovmf=6062002bd5a394fef46243dd866860c3480d918e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 13 Jan 2022 12:22:56 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 7438a85bf1388add286a89707079d9afca735814
baseline version:
 ovmf                 6062002bd5a394fef46243dd866860c3480d918e

Last test of basis   167651  2022-01-10 07:41:44 Z    3 days
Testing same since   167685  2022-01-13 09:41:42 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chen, Lin Z <lin.z.chen@intel.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   6062002bd5..7438a85bf1  7438a85bf1388add286a89707079d9afca735814 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 12:26:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 12:26:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257181.441853 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7zBB-00019i-Vd; Thu, 13 Jan 2022 12:26:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257181.441853; Thu, 13 Jan 2022 12:26:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7zBB-00019b-SV; Thu, 13 Jan 2022 12:26:09 +0000
Received: by outflank-mailman (input) for mailman id 257181;
 Thu, 13 Jan 2022 12:26: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 1n7zBA-00019R-RU; Thu, 13 Jan 2022 12:26: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 1n7zBA-0005A4-P2; Thu, 13 Jan 2022 12:26: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 1n7zBA-0002OF-F2; Thu, 13 Jan 2022 12:26:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n7zB1-0004RH-8w; Thu, 13 Jan 2022 12:26:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=EIdqUxJkqzDmIZ2tWyaH9q39MM8h1WQvrkagAA0NWAQ=; b=snJyn8uSEd6yWrTtgiNI4gl8Kl
	Fdpz52RcfF/kbGL7jGLCpMkkR1ioqw8dm1sU4qJYFy8djNfB49HHS+W0hATAamf51qL3mPxSKrLcH
	c6MnCjo9QmhESjyKZQndyxKRo05/s8mONmfg/VtDwZaovvFeIWPHMgl1hV5qFDq11c7k=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167682-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 167682: regressions - FAIL
X-Osstest-Failures:
    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:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=164aba8c4aef8094e151f593baf95421feb6dc5f
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 13 Jan 2022 12:25:59 +0000

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

Regressions :-(

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

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

version targeted for testing:
 libvirt              164aba8c4aef8094e151f593baf95421feb6dc5f
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  552 days
Failing since        151818  2020-07-11 04:18:52 Z  551 days  533 attempts
Testing same since   167682  2022-01-13 04:18:53 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>
  Ani Sinha <ani@anisinha.ca>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  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>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.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>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  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>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  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 Chevsky <nchevsky@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>
  Or Ozeri <oro@il.ibm.com>
  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>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott 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>
  Stefan Hajnoczi <stefanha@redhat.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>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Дамјан Георгиевски <gdamjan@gmail.com>

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


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 12:39:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 12:39:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257189.441864 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7zNT-0002k6-5H; Thu, 13 Jan 2022 12:38:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257189.441864; Thu, 13 Jan 2022 12: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 1n7zNT-0002jz-2C; Thu, 13 Jan 2022 12:38:51 +0000
Received: by outflank-mailman (input) for mailman id 257189;
 Thu, 13 Jan 2022 12:38:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GUHC=R5=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1n7zNR-0002jp-Bj
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 12:38:49 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bfbdd39a-746d-11ec-bcf3-e9554a921baa;
 Thu, 13 Jan 2022 13:38:47 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bfbdd39a-746d-11ec-bcf3-e9554a921baa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642077527;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=2pnkM3yeQQmIXje+ECMwMClIifQOVqcPkmxL7UJRtUo=;
  b=iNBwOwRJBCnMlShb82mLnjBpCZH8WAnNtoDT/TdM1VyMC7Unm64fn9OZ
   2EOVPKp4GMkvEkjyp7VeAR3aPfJkA7upR2e1CBqwkMBxR0j2Q0NXsKx+4
   xsCRz8+Czsg/zUwWYqwQiGpnR7cectAtuGN+5H3aFh7+5LRiG6NoRPObc
   Q=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: im32WwA8wqy95LTe8LxrOVydWg/fOhlJGH0ZDQmpfo2UO03uqfxNWtgulUJdE4h3oY99ecIoW4
 pLys2WJ5ozAWZvQmtlzmmqNz8MgOlsCMq3psJHz/Mi7rDJcF4Lb+dfkud8Mkw0Ct1bXundRcpT
 h8s+rHe9tJw0enU+fclUXQEvF8VaIY9FXNHjPUXdpAKuG8e1ubt7Zf9LrtWA4erH2gcvZTUeS5
 UPPZ2KuoaBVZDsS4nCQxn5vHDB/5sw1MhB9bkLcsyACRpvhJsdLf1KhKTqYaxSFaWRybtMPu3g
 A1N3PmOETwVjUoPKTF7powke
X-SBRS: 5.2
X-MesageID: 61833130
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:v+PBeqzZrCFoEcOPFB56t+fHwSrEfRIJ4+MujC+fZmUNrF6WrkVWz
 GQcDTzSPquNNGTzKtojbom/8B9Svp6AmIUwSAM+riAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnvopW1TYhSEUOZugH9IQM8aZfHAhLeNYYH1500g7wrdi2tQAbeWRWGthh
 /uj+6UzB3f9s9JEGjp8B3Wr8U4HUFza4Vv0j3RmDRx5lAa2e0o9VfrzEZqZPXrgKrS4K8bhL
 wr1IBNVyUuCl/slIovNfr8W6STmSJaKVeSFoiI+t6RPHnGuD8H9u0o2HKN0VKtZt9mGt9Eg7
 otctMOMdUQoG6bDvcMdFBRCUAgraMWq+JefSZS+mcmazkmAeHrw2fR+SkoxOOX0+M4uXzsIr
 6ZBbmlQMFbT3Ipaw5riIgVors0lMMnsOpJZonx6xCvVJf0nXYrCU+PB4towMDIY2JkeRq2HP
 JJxhTxHd0WYOhBkY0orA9EvmteB33X7UBl2twfAzUYwyzeKl1EguFT3C/LKfvSaSMMTmVyXz
 krE8H7+GQoyL8GExHyO9XfEru3BkCP/WY06D6Cj+7hhh1j77mAdARIZVFy/oNGil1WzHdlYL
 iQ86ico6KQ/6kGvZt38RAGj5m6JuAYGXNhdGPF87xuCopc4+C7AWDJCFGQYLoV76olmHlTGy
 2NlgfvoVBoxobzKdU7e95KfohaVOW8YNywrMHpsoRQ+3/Hvp4Q6jxTqR9llEbKogtCdJQwc0
 wxmvwBl2exN0JdjO7GTuAme3mny/sShohsdu12PNl9J+D+Vc2JMi2aAzVHApchNI4+CJrVql
 ChVwpPOhAzi4HzkqcBsfAnvNO34jxpmGGeF6bKKI3XH3279k5JEVdoBiAyS3G8zbq45lcbBO
 Sc/Qz956p5JJ2eNZqRqeY+3AMlC5fG+SY69D6uMMIYeOcIZmOq7EMdGPx74M4fFyhlErE3CE
 c3DLZbE4YgyVMyLMwZat89CiOR2l0jSNEvYRIzhzgTP7FZtTCX9dFvxC3PXNrpRxPrd+G39q
 o8DX+PXlUk3eLCgM0H/rN5CRXhXfCNTLc2n9KRqmhurf1AO9JcJUaGBmNvMuuVNwsxoqws/1
 irsBR8Dlguu3C2vxMfjQikLVY4DlK1X9RoTVRHA937xs5T6SYrwvqoZabUterwrqL5qwfJuF
 qFXcMScGPVfDD/A/m1FP5X6qYVjcjWthB6PYHX5MGRuIcY4Slyb4MLgcyvu6DIKUni9u/whr
 uDyzQjcW5cCGVhvVZ6EdPK1wlqtlnEBg+YuDVDQK9xedRy0oohnIiD8lNEtJMQIJUmRzzeWz
 V/OUxwZufPMs8k+99yQ3fKIqIKgEu1fGEtGHjaEsebqZHeCpmf6mN1OSueFezzZRVjYwqT6a
 LUH1ez4Pd0GgE1O79h2HYF0wP9s/NDovbJbkFhpRS2Zc1SxB7p8CXCaxs0T5LZVz7pUtAbqC
 EKC/t5WZeeANM//SQNDIQMkaqKI1O0OmymU5vMweR2o6Chy9buBcENTIxjT13ANcOoraNsok
 bU7pcobyw2jkR57YN+Jgxdd+3mIMnFdAb4ssYsXAdOzhwcmor2YjUcw1sMiDEmzVuhx
IronPort-HdrOrdr: A9a23:LUCQP6yPvwRAq8lsaWfkKrPwLr1zdoMgy1knxilNoRw8SK2lfu
 SV7ZMmPH7P+VIssR4b9exoVJPufZqYz+8S3WBzB8bGYOCFghrKEGgK1+KLqFeMJ8S9zJ8+6U
 4JSdkGNDSaNzhHZKjBjjWFLw==
X-IronPort-AV: E=Sophos;i="5.88,286,1635220800"; 
   d="scan'208";a="61833130"
Date: Thu, 13 Jan 2022 12:38:41 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Dario Faggioli <dfaggioli@suse.com>
CC: <xen-devel@lists.xenproject.org>, James Fehlig <jfehlig@suse.com>, Wei Liu
	<wl@xen.org>, Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH 2/2] tools/libs/light: don't touch nr_vcpus_out if
 listing vcpus and returning NULL
Message-ID: <YeAdUZB4/51PC176@perard>
References: <164200566223.24755.262723784847161301.stgit@work>
 <164200570276.24755.1849386285622380597.stgit@work>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <164200570276.24755.1849386285622380597.stgit@work>

On Wed, Jan 12, 2022 at 05:41:42PM +0100, Dario Faggioli wrote:
> If we are in libvxl_list_vcpu() and we are returning NULL, let's avoid

extra 'v'         ^ here.

> touching the output parameter *nr_vcpus_out (which should contain the
> number of vcpus in the list). Ideally, the caller initialized it to 0,
> which is therefore consistent with us returning NULL (or, as an alternative,
> we can explicitly set it to 0 if we're returning null... But just not
> touching it seems the best behavior).
> 
> In fact, the current behavior is especially problematic if, for
> instance, a domain is destroyed after we have done some steps of the
> for() loop. In which case, calls like xc_vcpu_getinfo() or
> xc_vcpu_getaffinity() will start to fail, and we return back to the
> caller inconsistent information, such as a NULL list of vcpus, but a
> modified and not 0 any longer, number of vcpus in the list.
> 
> Signed-off-by: Dario Faggioli <dfaggioli@suse.com>
> Tested-by: James Fehlig <jfehlig@suse.com>
> ---
> diff --git a/tools/libs/light/libxl_domain.c b/tools/libs/light/libxl_domain.c
> index 544a9bf59d..aabc264e16 100644
> --- a/tools/libs/light/libxl_domain.c
> +++ b/tools/libs/light/libxl_domain.c
> @@ -1705,6 +1706,7 @@ libxl_vcpuinfo *libxl_list_vcpu(libxl_ctx *ctx, uint32_t domid,
>          ptr->vcpu_time = vcpuinfo.cpu_time;
>      }
>      GC_FREE;
> +    *nr_vcpus_out = nr_vcpus;

Can you swap those two lines, to keep GC_FREE just before return?

>      return ret;
>  
>  err:
> diff --git a/tools/libs/light/libxl_numa.c b/tools/libs/light/libxl_numa.c
> index 3679028c79..b04e3917a0 100644
> --- a/tools/libs/light/libxl_numa.c
> +++ b/tools/libs/light/libxl_numa.c
> @@ -219,8 +219,10 @@ static int nr_vcpus_on_nodes(libxl__gc *gc, libxl_cputopology *tinfo,
>              goto next;
>  
>          vinfo = libxl_list_vcpu(CTX, dinfo[i].domid, &nr_dom_vcpus, &nr_cpus);
> -        if (vinfo == NULL)
> +        if (vinfo == NULL) {
> +            assert(nr_dom_vcpus == 0);

I don't think this assert is necessary.

>              goto next;
> +        }

Otherwise, this patch looks fine.

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 12:51:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 12:51:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257193.441875 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7zZY-0004yC-A3; Thu, 13 Jan 2022 12:51:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257193.441875; Thu, 13 Jan 2022 12:51:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7zZY-0004y5-6h; Thu, 13 Jan 2022 12:51:20 +0000
Received: by outflank-mailman (input) for mailman id 257193;
 Thu, 13 Jan 2022 12:51: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 1n7zZX-0004xv-JU; Thu, 13 Jan 2022 12:51: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 1n7zZX-0005Zu-Fy; Thu, 13 Jan 2022 12:51:19 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n7zZX-0003Gu-75; Thu, 13 Jan 2022 12:51:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n7zZX-0005dr-6I; Thu, 13 Jan 2022 12:51:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=bIpDoCBszXfJeBXB7FYee48jCP3ehZZmlewq7xXgBlI=; b=zXs5DgdtWau3ZNRtFqLYSBX48u
	iP6lE+PHlAu9il7ETY4KhhXOYugtn1+sKDJUNsK/QutrcxV2Zo3xq8BmxtiDQ8k6pyoXEqgeBwWsz
	RYanYZuN3C/9l9ptYvv+OER/4D2iMoc5IhfsxhkewZfSYnGvl2MF1msMShXBXxJq8H30=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167680-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167680: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-rtds:guest-localmigrate/x10: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-qcow2:saverestore-support-check: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-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-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2: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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-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-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-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-libvirt-qcow2: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
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=91f5f7a5df1fda8c34677a7c49ee8a4bb5b56a36
X-Osstest-Versions-That:
    qemuu=7bb1272f40bdbdebcaec1737c412dcb52e414842
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 13 Jan 2022 12:51:19 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 qemuu                91f5f7a5df1fda8c34677a7c49ee8a4bb5b56a36
baseline version:
 qemuu                7bb1272f40bdbdebcaec1737c412dcb52e414842

Last test of basis   167675  2022-01-12 10:41:18 Z    1 days
Testing same since   167680  2022-01-12 23:40:06 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Laurent Vivier <laurent@vivier.eu>
  Peter Maydell <peter.maydell@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   7bb1272f40..91f5f7a5df  91f5f7a5df1fda8c34677a7c49ee8a4bb5b56a36 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 13:17:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 13:17:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257202.441885 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7zyp-0007Z7-Hu; Thu, 13 Jan 2022 13:17:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257202.441885; Thu, 13 Jan 2022 13:17:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n7zyp-0007Z0-Ew; Thu, 13 Jan 2022 13:17:27 +0000
Received: by outflank-mailman (input) for mailman id 257202;
 Thu, 13 Jan 2022 13:17:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fwfT=R5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n7zyo-0007Yu-9M
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 13:17:26 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 25c226a9-7473-11ec-bcf3-e9554a921baa;
 Thu, 13 Jan 2022 14:17:25 +0100 (CET)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2053.outbound.protection.outlook.com [104.47.13.53]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-18-N-7FQoAWM0WEpJdDlstoDQ-1; Thu, 13 Jan 2022 14:17:23 +0100
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.4888.11; Thu, 13 Jan
 2022 13:17:20 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Thu, 13 Jan 2022
 13:17:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 25c226a9-7473-11ec-bcf3-e9554a921baa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642079844;
	h=from:from:reply-to:subject:subject: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=2/d3CTDxLjqoZ84Ou2Bee03DcAeFqL7eJTl+639eoTc=;
	b=ITTnIrBSPUPwRSlXHKgn69oYNIv4xsVyS3J4kH4rqVCLATyzeR2ihG1bEiQJm0j2g8/grW
	6ahpxOV1nR4AdClpvNLypcVz+8zC0iDh03SkJJmLaMfogrDocs5xJFBNl50Ba7Z9rFLv2K
	yY+Xxq2s+EnUoRkIZux1ay6IJ9TwLJc=
X-MC-Unique: N-7FQoAWM0WEpJdDlstoDQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UaE+KpXWpw10Y1I1hHcYqdfrql0Aao0kWgZXqV8gz1Oe3GEaYogDqYaSgJWgU0zrtNnIgIFNioiDI55FqwOR/AanMCJutu856Mh+zd95KIMG8Wpxf00sOEMi1y3p/y5oz56qeCr3ta9xStJX+Q0gfxcbRgHLJFRNAr+vrZUI9L5BrHPFSQteAaOqtUwuRmDipbeZlJjocPUDKLTsnWpE5/rDE1UAcWmwgJoixECVAOYlszp/eC/uWhMM4nQ690R44gy+rrPdH9rbQYleFzrG9UhHtlv3BKEnFdMKkI8FswL2TEd+vWPoRw8yTFVIZ3PQaowm59t2tulvflPboYm6jQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2/d3CTDxLjqoZ84Ou2Bee03DcAeFqL7eJTl+639eoTc=;
 b=bLt55/7rFIO2WpS44+JDeQC0TBki+ptYgixONOtPhLcvwd+IRF/yxuwkTmG1yDbRzYqsDc4/u9SIF8xMunJRwlSk3BSMOyTvKCnuy0QTwwjabiKdp1AGSiUDf7X/mzrh8L4M+A/wZLXfMwA5CT91ga87zPtgOc7IgZrTEjgBXt6rUDVFiI0SI9oafuu0IcwekYz0QSK3gzrUd8zrsX77XVdT4lw5JmGOTKlkC+uDwHL4LqbuVGbI4Qd9iEObH3JaWdD3SPAI0GQoHsxdS/RMPq7TRmSofv5bJyTvxNp8CmAhjfhBM5I8VR2+6wQj73BnJ1TOWUoDP2U1hJpInhMUmQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5f1f49e6-1380-73bf-d68f-6eb9dd05cad6@suse.com>
Date: Thu, 13 Jan 2022 14:17:18 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2] x86/time: switch platform timer hooks to altcall
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0141.eurprd06.prod.outlook.com
 (2603:10a6:20b:467::13) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f12c965b-02b7-4d14-837a-08d9d6970789
X-MS-TrafficTypeDiagnostic: VI1PR04MB5469:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB54690BB94500AE1F0DED901AB3539@VI1PR04MB5469.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:
	7EUNvMopv7P8ZwP7yvSPurWFtOld5sHMnW0O0BPGcphd5r86r/gqqpQPgvlcBNiakpgt+2aMf2eYxlq2XGimXUr11IAsNnbp2ShN9iPkx+kuKKeh+HDWzfkBNGU+r2vSBbD1xuPsuQFQlHYUEQ5b4icvOPn5Te8kbAZHQDbxcYzUXGXHZF6PukPqHlh/JT5GL1qQg2RyCF4tN2jyYJu0xAsDSHJqzCC4eusXsZuqhbqQ4MjWdizvPl6NP9M8Cy+ltfxnVI/BWoX8lsYunF/idPqYPbcUOv5xdW1ihswjCZLKLqr0SHzv+1t/pDUAvebb73YWLYcLDZqLRMF/a07VCx1Vb0cRWRNgmdxyoAsaOCNFp8y2d3vpfT/5Dg696XGr6//mvVMwv+7dYKflUJlh7JwK3j325AxA21InAze9yvnsBWYeBgnIargW+n97P6moI47fuGx8oTJurxVAVZwJ3FbbW53aPpwApJw7N1TraIROhbqWr97XVRtSfjDZHB9kODeIPXOSETftiSzhnNKMCaehWpIhhNCCTMjYP2fhXSCOy8DdIGXzixF4KrT7SzyStbnt/XQR3baw/o17s0Akahtny2XeLoo2OzbRpXchEzmmVzYI77sgcbMg8eXWL8XyLqTC8m1ufYyEssVujJ+NnwwIRsF1x6UEo31RQgThu57RYf25WtRAhWWVB8jHszSHQuObirhHrW3UoiRwWD7e0HnTFcfv7dW5675+hzFw1Bc=
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)(38100700002)(186003)(83380400001)(6486002)(2616005)(66556008)(508600001)(8676002)(6506007)(5660300002)(26005)(31696002)(316002)(66946007)(6512007)(8936002)(54906003)(66476007)(31686004)(36756003)(86362001)(2906002)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OXZ4TVg4aHhyNi9YRUlYMFZsSDRsd1EwRjVTZ0xHT2Y4WFhVWjRRZDNZUVJM?=
 =?utf-8?B?VUQzdEtjaWo0dGRPa2FzYm10SFJRTzhrQW5iN2g3c2JacmNxcjVkcG1DaTBF?=
 =?utf-8?B?OG1HdG9tLzRXUkJJcnVwT2dhdzN4QUpWWVhDckdneUFBb0dDUnE0bjhxN2Uy?=
 =?utf-8?B?OFppVXlWaUw5TkxXKytRWW5uNEkvYWYrODJCb2VRcGNaWTZpdzk2anBSTFo0?=
 =?utf-8?B?SHZRUWI5dmdocGpTZjN4Z20xcStzV2Z2alR2dHVLdFE3eDZNTno5ajRVN0tl?=
 =?utf-8?B?UTA4WlVDWTZrYzFPcmUxVUFUMTh6NEQ3a1pJVExZMVRTWUZUY2k1ZkJZOW9Y?=
 =?utf-8?B?a3Q5ZlpnYzNsMndZcEk4cEE1aUhuVGltV0w4Z3NMczRpY1RveG5wczlpZFFj?=
 =?utf-8?B?N25EYVBUUHVCb01nTVpDbFdxSXlRNHUxaStBUVZ5YUo0SklvU2hGaXZ0aXk1?=
 =?utf-8?B?d1F0OFY0eTFnS21vOWFSVi9rbnM4K3VYclA0MFJnUk92ck11UEVlN2t5elpN?=
 =?utf-8?B?TUk3WkRNS05ab0hkaEcxditHK2QwMG1RdjVBMnhwYytpZlFSejVYUmVydC9V?=
 =?utf-8?B?Zkt6RE5IdEx0RkE1ckNWV0t4NUdzRjJnNS9ibGp1bkQ5OGF6T21YWjhzWC9q?=
 =?utf-8?B?dlJVMVJZYTZkc3dyclgzbmowcjBkWVBnQzdUdU5wbU95MzJpb0NaVmJhZ1Iy?=
 =?utf-8?B?cHdZNlhkaEFDT0Z3cnh0RkdHUHMwZERyc3JzRkJ1NElPMlZXbkh0d2Zxaldk?=
 =?utf-8?B?ZkxtbDVOZU44TzlVaXlIOWJOZkhvRFJKQW1neENneWFlbjBEYzR2NXVGKzRj?=
 =?utf-8?B?b25LN2RhRVZUL04rS0RHd0tMUDhhSlJiVERqUHBMZllXVGlIaHlFZEJXUUo4?=
 =?utf-8?B?MTA4SFV6Ylo1bXAwaUNxN3oyMEN0ZXAyVGR6bmM0dDhiN1RDek5SOFFkei9p?=
 =?utf-8?B?eTNMaVFQU2pTbUJFM2oreEZBcG05c2ZjWkRiNjBGSjNON3JtdTNrSkphNHBw?=
 =?utf-8?B?ajNCUXUzYWxWVXlvUGUrNkIvNHZMOEM4Z1Exa1o3ck9MdUZxT3AzcmVHdHJv?=
 =?utf-8?B?QUxHVExwcXhEcWhhNGR0blBWbFp4ck84WXA2SzhyZVJaZkNvWXRzU1gvVFB4?=
 =?utf-8?B?Ukh3NGRqWTNnSHBHTnhSV1FQdTkwM3VMdnlESXRxcjFabUFtQUtSSXprUU9M?=
 =?utf-8?B?aHlxNEhXek41RmRiMG9FQ3FmbW5rM2hpUzhxcDhtM1UyT1lqcDZzWGNrOFdQ?=
 =?utf-8?B?K0UreG1UMFN3dnZ5ajJkd3g3SUgrSjhOemVVRTQ2UWljSnlmbkZrbTZMSHJY?=
 =?utf-8?B?bG8vYW1EMmVuVU1IY1VMMVFiZFNFM0RkTFVxUEtwVjZQQllxYk9wVEpjRTBv?=
 =?utf-8?B?L2NZUEJiUHFHeUlBQmRZR1NjUVh3OU0wdlZseWM0M2h2UUd5OEZpUll6Zytt?=
 =?utf-8?B?NUg5SWNtdTFDMm9ObUk5TnNtVkNqTlVoUW1PWDMzZGdkdTBJeGVySERVcUFG?=
 =?utf-8?B?QXN0L1VWcGI5NE1EcTczUDkyckdkdDVKNmEwOFRuMGErSzJrcitjaElTZ1l3?=
 =?utf-8?B?MDdaYWFUbzJmK3VPTGNJNUlGQWc2cjBOVXhzU25QNTFQU2hVUmgzN1VYa3Iw?=
 =?utf-8?B?T1hINVZjUHZva1N5enRXV2phVFVYRWY0cEs3czE0ejQyY2x5TStMakZaYXZq?=
 =?utf-8?B?TFI1VFByYmJCc1RzYllkK3JybzlDdlRzK21odXhVd2NESHphdGNhZGN0V213?=
 =?utf-8?B?cDc1dlIvTFNrTXBaaElMV2hhWmIybnoxWHNWYXc0UG5yOEFQV29ua3NYTEtu?=
 =?utf-8?B?ekIra25UamZrNjdEcFRYS1JNYzdGbmg4TTBFOUwrY1Q1UUE3TjdtdU1kWlo1?=
 =?utf-8?B?TkV1YVpMRHFmN2tEaUlGNmg0NzZpNlVaMmQ4YUhLcnZ3ZzBpWFZJbkFwMjF0?=
 =?utf-8?B?c3RzVmdBZmZGVWRGQXZQMUcrTlEvM2dyZzhhckhwTktHMHdJY1N0V2F2R3Iz?=
 =?utf-8?B?N1UzMWJkYTF6VG1pYmpQNjJ1Nm9VWEFMcTQwOU10ZGI5Z2hTVkZmeEg4bFIy?=
 =?utf-8?B?UGlHTXZOcUVma0c3Mi9XOHlSaXJKTndoYmxGVUNJZ2hVSWc5aWVhOWFMdW9v?=
 =?utf-8?B?aldrMzZwN0NML1RxeDdqWnNBc2NPUWJFTTJaUHQ0TzYxYkFSQ1dCODRlMllE?=
 =?utf-8?Q?ETrxyutr6CtLFoeFzDwBi98=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f12c965b-02b7-4d14-837a-08d9d6970789
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2022 13:17:20.5593
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3HyC1GLSUWkm4YDclw2FDgLlyl9vI7VlnOOf1G7uGhBbIt8f6d3Ct9xu9MYO8Oczl+r/jNwapd4i6h06fRvtAQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5469

Except in the "clocksource=tsc" case we can replace the indirect calls
involved in accessing the platform timers by direct ones, as they get
established once and never changed. To also cover the "tsc" case, invoke
what read_tsc() resolves to directly. In turn read_tsc() then becomes
unreachable and hence can move to .init.*.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
TBD: Instead of adding __init to read_tsc() we could also ditch the
     function altogether, using a dedicated (non-canonical) pointer
     constant instead for the .read_counter initializer and the two
     comparisons done on plt_src.read_counter.
---
v2: Avoid altcall patching becoming conditional.

--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -66,6 +66,7 @@ struct platform_timesource {
     char *id;
     char *name;
     u64 frequency;
+    /* This hook may only be invoked via the read_counter() wrapper! */
     u64 (*read_counter)(void);
     s64 (*init)(struct platform_timesource *);
     void (*resume)(struct platform_timesource *);
@@ -578,7 +579,7 @@ static s64 __init init_tsc(struct platfo
     return ret;
 }
 
-static u64 read_tsc(void)
+static uint64_t __init read_tsc(void)
 {
     return rdtsc_ordered();
 }
@@ -810,6 +811,18 @@ static s_time_t __read_platform_stime(u6
     return (stime_platform_stamp + scale_delta(diff, &plt_scale));
 }
 
+static uint64_t read_counter(void)
+{
+    /*
+     * plt_tsc is put in use only after alternatives patching has occurred,
+     * hence we can't invoke read_tsc() that way. Special case it here, open-
+     * coding the function call at the same time.
+     */
+    return plt_src.read_counter != read_tsc
+           ? alternative_call(plt_src.read_counter)
+           : rdtsc_ordered();
+}
+
 static void plt_overflow(void *unused)
 {
     int i;
@@ -818,7 +831,7 @@ static void plt_overflow(void *unused)
 
     spin_lock_irq(&platform_timer_lock);
 
-    count = plt_src.read_counter();
+    count = read_counter();
     plt_stamp64 += (count - plt_stamp) & plt_mask;
     plt_stamp = count;
 
@@ -854,7 +867,7 @@ static s_time_t read_platform_stime(u64
     ASSERT(!local_irq_is_enabled());
 
     spin_lock(&platform_timer_lock);
-    plt_counter = plt_src.read_counter();
+    plt_counter = read_counter();
     count = plt_stamp64 + ((plt_counter - plt_stamp) & plt_mask);
     stime = __read_platform_stime(count);
     spin_unlock(&platform_timer_lock);
@@ -872,7 +885,7 @@ static void platform_time_calibration(vo
     unsigned long flags;
 
     spin_lock_irqsave(&platform_timer_lock, flags);
-    count = plt_stamp64 + ((plt_src.read_counter() - plt_stamp) & plt_mask);
+    count = plt_stamp64 + ((read_counter() - plt_stamp) & plt_mask);
     stamp = __read_platform_stime(count);
     stime_platform_stamp = stamp;
     platform_timer_stamp = count;
@@ -883,10 +896,10 @@ static void resume_platform_timer(void)
 {
     /* Timer source can be reset when backing from S3 to S0 */
     if ( plt_src.resume )
-        plt_src.resume(&plt_src);
+        alternative_vcall(plt_src.resume, &plt_src);
 
     plt_stamp64 = platform_timer_stamp;
-    plt_stamp = plt_src.read_counter();
+    plt_stamp = read_counter();
 }
 
 static void __init reset_platform_timer(void)



From xen-devel-bounces@lists.xenproject.org Thu Jan 13 13:24:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 13:24:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257206.441896 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n804z-0000Ww-7g; Thu, 13 Jan 2022 13:23:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257206.441896; Thu, 13 Jan 2022 13: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 1n804z-0000Wp-4m; Thu, 13 Jan 2022 13:23:49 +0000
Received: by outflank-mailman (input) for mailman id 257206;
 Thu, 13 Jan 2022 13:23:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=64pG=R5=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n804x-0000Wj-I2
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 13:23:47 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 072a488e-7474-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 14:23:44 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 072a488e-7474-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642080224;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=m2mlqkhL/Ft2hYIbftJbNT3RuWzo0IAs2Y6nJ7Ttcxg=;
  b=Qr+q/8pNP5KHSa4mvqFVQamB9zhS6gfPrG/XacCMUPAXwyS2iAXNk1vX
   ob08pSyMK4qHBA66whrZfM+h2Gljkn2q9cD0psT3H4y5XYe2a7tAQ9OVq
   b2lAK+Ivsmnrei3rXDkp7kgbVFsZ/qmLHZwc/OKpBtiuA1vOFVkuenad3
   o=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: 8Kq0PuB4vCOSkQ6goXTbk1rY14SWPpa/Fj1Ady0Y//EusLXRDycfjbT6Jsew6X84jPzFHJnnZS
 xHiVt+bnkBsTr8lJOnTizjy3bV1PoKllXOKdoeLFkry1SNYS4oACU3Ejku96/TEMa0NvM1HBOW
 u44T0aX7cKPkGei4q484/Qz3h0zboiMhWX68VEH3GO2KHZuP7Imb0VLZkfvOByCXea7SVOHhcZ
 tPzABi6TNPIoDW+slsHpzwsUyx7STonvjKQjf5n7fvblY2WIVP1GUbu2I0/5vKj5+XcZ48/sls
 czmEM7Y/6N4KJRh2fdJdg4kZ
X-SBRS: 5.2
X-MesageID: 61919179
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:LX/5LaCPLvchxhVW/+nlw5YqxClBgxIJ4kV8jS/XYbTApDtz1DEHm
 jEaXGDUbP6MYDPyf95wbI+2oUIB7JPTyIM2QQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMo/u1Si6FatANl1ElvU2zbue6WL6s1hxZH1c+En940Ek7wYbVv6Yz6TSHK1LV0
 T/Ni5W31G+Ng1aY5UpNtspvADs21BjDkGtwUm4WPJinj3eH/5UhN7oNJLnZEpfNatI88thW5
 Qr05OrREmvxp3/BAz4++1rxWhVirrX6ZWBihpfKMkQLb9crSiEai84G2PQghUh/uTmnlcFL5
 +R2lYG8VTokJZ/xv7kBekwNe81+FfUuFL7vJHG+tYqYzlHccmuqyPJrZK00FdRGoKAtWzgIr
 KFGbmBWBvyAr7veLLaTUO5ji95lNMD2FIgepmth3XfSCvNOrZXrHfybvI4Bg2ZYasZmF+3EN
 vAedBFUYhmefTNGB10YMc47pbL97pX4W2IB8w/EzUYt2EDLxRF1+KjgNpzSYNPibcdfk1ucp
 2nG13/kGRxcP9uaoRKs6G6hg9jqjCzyWY8MPLCg//ssi1qWrkQUDBAVTlK9reOOg0iyQc9EK
 0cU9ywtqoA/7EWuCNL6WnWQuneEoxpaQNtWHO0S4RuIjKHT5m6xDGUeUiRIbtBgscYsXCErz
 XeAhdavDjtq2JWXVHac+7G8vT60fy8PIgcqdSICCAcI/dTniIUylQ7UCMZuFravid/4Ei22x
 CqFxAA3gbkJ15ZTj420+FnGh3SnoZ2hZhAy4gLbT2e09DRzbYSuZ5GrwVXD5PMGJ4GcJnGGu
 HUHgMGY4Po5EYCWlCeNTeMOG5mk//+AdjbbhDZHBII9/j6g/3qie4F44zxkIkptdMEedlfUj
 FT74F0LosUJZT3zMPExM9nZ59kWIbbIJ9jLXOHuQet1QoV9aDKK5xNTQhOM9jW4+KQzqp0XN
 ZCeeMeqKH8VD6V70Ta7L9sgPa8XKjMWnj2KG82ip/iz+f/HPSPOF+9ZWLebRr1htMu5TBPpH
 8Gz3idg4zFWS6XAbybe6ub/xnhafCFgVfgaRyG6H9NvwzaK+kl9Wpc9Ipt7IuSJepi5cM+Sr
 hlRvWcCmTLCaYXvc1niV5yaQOqHsWxDhXw6JzcwGl2jxmIuZ42ihI9GKcdtJeB8rLI/naUuJ
 xXgRylmKq4fItgg025MBaQRUaQ4LEj77e5wF3fNjMcDk25IGFWSp46MkvrH/ygSFCun3fbSU
 JX7vj43taErHlw4ZO6PMarH5wro4RA1xbwuN2OVfIg7UBi8oeBCdn2q5tdqcp5kFPk27mbAv
 +pgKU1G9bClTk5c2IShuJ1oWK/yQrQuRRQLTjCLhVt0XAGDlleeLUZ7eL/gVRjWVX/u+bXkY
 uNQzvrmN+YAkkoMuI15e4uHB4pnjzc2j7MFnAliAlvRaFGnVuFpLnWchJEdvaxR3L5J/wCxX
 xvXqNVdPLyIPuLjEUIQe1V5PrjSi6lMl2mA9+kxLWX7+DRzoOiNX3JNMkTekydaNrZ0bt8om
 L9zpM4M5gWjoRM2KdLa3DtM/mGBIyVYAaUqv50XGqHxjQ8vxg0QaJDQEHauspqOd89NIg8hJ
 TrN3PjOgLFVx0zjdXsvFCeSgboB1MpW4B0TlQ0MPVWEnNbBl8Qb5hwJ/GRlVBlRwzVGz/l3Z
 jphOXpqKPjc5DxvnsVCATyhQlkTGB2D90Xt4FIVj2mFHVKwX2nAIWBha+aA+EcVrzBVcjRBp
 ezKzW/kVXDhfd3r3zt0Uklg8qSxQdt0/wzEucamA8XaQMVqPWu72vejNTgSth/qIcItn0mW9
 +Bl8dF5ZbD/KSNN8bYwDJOX1OhIRR2JTICYrSqNIE/d8bngRQyP
IronPort-HdrOrdr: A9a23:Lox0LKhORj+1Y/zS6E5KVQ69hXBQXz513DAbv31ZSRFFG/FwyP
 rBoB1L73DJYWgqNE3I+erhBEGBKUmsk6KdxbNhQItKPTOWwldASbsC0WKM+UyEJ8STzJ846U
 4kSdkDNDSSNykKsS+Z2njBLz9I+rDum8rE9ISurUuFDzsaEJ2Ihz0JdDpzeXcGPTWua6BJc6
 Z1saF81kWdkDksH4+GL0hAe9KGi8zAlZrgbxJDLxk76DOWhTftzLLhCRCX0joXTjsKmN4ZgC
 X4uj28wp/mn+Cwyxfa2WOWx5NKmOH5wt8GIMCXkMAaJhjllw7tToV8XL+puiwzvYiUmRwXue
 iJhy1lE9V46nvXcG3wiRzx2zP42DJr0HPmwU/wuwqUneXJABYBT+ZRj4NQdRXUr2A6ustn7a
 5N12WF87JKEBLphk3Glpb1fiAvsnDxjWspkOYVgXAae5AZcqVtoYsW+14QOIscHRj99JssHI
 BVfY7hDc5tABOnhk3izypSKITGZAVwIv7GeDlPhiWt6UkWoJgjpHFogfD2nR87heUAotd/lq
 D5259T5cJzp/ktHNZA7dc6MLuK41P2MGDx2UKpUB3a/fI8SjrwQ6Ce2sRB2AjtQu1O8KcP
X-IronPort-AV: E=Sophos;i="5.88,286,1635220800"; 
   d="scan'208";a="61919179"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iCz0Nrja1G8k/koOQdoRZrempm5pb2fVVz3A8p54lpVjed3B/UsCiozWooeGvlyz9f2cSdKNoGTk2yfllR93aIRNjP7i5KCWYhyS6A5ycOZxzQ+lfrzj9Ov7Akdcj1fTBAtuK+mUWFfzyWB4HWKZdGiZnqT4gGHTXvyNikdIhDYPbUw3YBZNoQsAY3gUKijN4evw7w8jHZXIKSwT+LV653DeNNKBTmt7jufJ4PwlKRBPUWPb9VAZG0wFMdb0GNsdiXzP74RK5klz7bIMjapG8VCMkDwW90yy8/b8liscE7/Lush4RufS6se2BocwR6saqeYCwIvpP4sHHGtm2Ewp+g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Pg1KiyCtYZ3j9EP/NndpzS4A3u+bekw8YCtTpGo4U/4=;
 b=M+TGQA9tedo7aLo+wMsjh6Gxj24gLNbiB7RMCeic9ER6HsfbaieEc4N9nq3fZjAZATyFpGGAZ4Sugn1Io8Auff8EgmF4WAZU1LmOCWXfq+sTwtNqLIM7QKIRaTAUqEpdpSLCtgthhrtYSzPqrPBN7qrRVqwwoR2qJZd0doNoXxvvqredLEoxSv7V809tN4fo+qTkpLvEsYC8cdvpdSp4KHjljQRFrOZ1q6qQx1EfzdqZebhWKluP+Hxle/DuIX0vjzapv7xRAJJH6nYHm3KVUSRxBHpW8dbzr8FZv/qipuQMyM2Dz6KEYYvwUdfwh+1gxUufk22wMOu+Br3HxijP2w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Pg1KiyCtYZ3j9EP/NndpzS4A3u+bekw8YCtTpGo4U/4=;
 b=wIsJCn8EpBASxn95ISSpukl/Nt+y4kR5KlB35Qd8GelfLj35gbhfPp+O8R9N1Q4YM0qRn37/vzgdi5xZhiTC3OjmOwWa8kZ1ctM0cu1LxfI7ThQeKZgLbSwaJTzcPVAohlFxiEgzBxwyCl29GTvykQJa5xpV1fwqoHzRWhh3k20=
Date: Thu, 13 Jan 2022 14:23:30 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Oleksandr Andrushchenko <andr2000@gmail.com>
CC: <xen-devel@lists.xenproject.org>, <julien@xen.org>,
	<sstabellini@kernel.org>, <oleksandr_tyshchenko@epam.com>,
	<volodymyr_babchuk@epam.com>, <Artem_Mygaiev@epam.com>, <jbeulich@suse.com>,
	<andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>, <paul@xen.org>,
	<bertrand.marquis@arm.com>, <rahul.singh@arm.com>, Oleksandr Andrushchenko
	<oleksandr_andrushchenko@epam.com>
Subject: Re: [PATCH v5 13/14] xen/arm: account IO handlers for emulated PCI
 MSI-X
Message-ID: <YeAn0k1HbYFUGeMj@Air-de-Roger>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-14-andr2000@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20211125110251.2877218-14-andr2000@gmail.com>
X-ClientProxiedBy: MR1P264CA0080.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:3f::26) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 26ee95a2-f74a-4571-751b-08d9d697e75c
X-MS-TrafficTypeDiagnostic: BY5PR03MB5267:EE_
X-Microsoft-Antispam-PRVS: <BY5PR03MB5267DC58581E8388A7B91C4F8F539@BY5PR03MB5267.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: +jcb3JXRSXi1n1f2GFHC5hdiXKIt9LeXNkpXdOVl4kEf2aLPghVxjo/RCiT++H/LdQtcSGp6gFFaxmD9oCrCNDEDC1rwsma3/0ZDNtVge/K8KfOeY2tHsk+E8NiuFOFm2P/RD4zkILE/tXqNi6DDOxAJUFyG1uceCv/FPK93tc6ahuKAxK0OxN3tYjAMeSS35/wiycd3VgeYhIUh8j3MMbDQrjJAb2wXWsL2dcAVCSc1H9uQXuRLQbjpdCq27ImSgk43zp4ADqQOQXhpwmEoaXgG6h4+mqY5D4ijm71rQtPzXq9OqZCCoKvfL4q8gkazvAiOcXlmJ8bWraFGM2/bhjRqxHu4P2bXO+XHMwFamR9mrVWsgUpBsDCDx5GvChoGkbik28BRNS+xpTSbiWvPFmMHCkwKeL52EZNuVNox9CCDNQsGwBVxzFgGnQ3DWGm82y8U/ioHOPFYfIw6WgUTt4Pc3fQdAFXddeMrQQwUpBFNz98RvPcZEFnU2/Hrz4sIGtn7xGF69cjRdKh4xOthtXsQxJwLWBu3paGgaoPdZwVqVvveaSrpdPPAYrMmbP2khx9FEJY9iK2amZHTk9Az/OxrdFUYSKZzPKDO79/LsFrjvpgTPICk1nGndplt+kBGKWGVtt/fdCAhs34X9MTZEg==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(85182001)(26005)(6512007)(508600001)(6916009)(9686003)(82960400001)(38100700002)(86362001)(33716001)(6506007)(5660300002)(2906002)(7416002)(316002)(6486002)(8676002)(8936002)(66946007)(4326008)(66476007)(66556008)(83380400001)(186003)(6666004)(15650500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?WmI3ZGthK0EvaW1vUXp5dUY5S3RjWXU5REtIeDRhMmlkaVB3UUJxbHZxR213?=
 =?utf-8?B?OHoyM2VhVWhlanN3RDFmQkJCTlJVODhEVk1QQkJzaUJmR2lDUS8rUlRSZkRM?=
 =?utf-8?B?WncraTc0dXlXL1JPemZFMjJFaWRRSDRoOWttaFZVMVdTZDcreHhFdmhMVDF4?=
 =?utf-8?B?T21scEttVmU2TUlGUktlY2d3TWdjcE1TUTFubGNjQ3kraklwUGNVaXVRdldi?=
 =?utf-8?B?NitzRHF5d3liRWZzYTVnVTluYk5kV2kzdlpTOTVMZHdjR2dnVGx5S3ZqekU1?=
 =?utf-8?B?TWo4K2ptMUk5ZXFQMlJ5ZWo4aXhvM0xhV3Z6M2JyTFlQZWxpU21LSHBkUmZC?=
 =?utf-8?B?bUxFKzExY1VPUk1Gb291QnBQb3hBRmRmVmVhNU9KSnFFeTlHenZMTHh5Lysw?=
 =?utf-8?B?WmU5elp3MTVXYU53dTYxeU5xNjFqSytwVWpuY2FZOHl0VXNzTXF6dVpLUFZU?=
 =?utf-8?B?QXlKRkwzZm5uREZhY2p4c0V0dUJkNFVUaWZRdTg0VGVjRGVoSzRpSWJMT2dJ?=
 =?utf-8?B?SEhORytNQzU2dDJzemVaQmliamp0WG5MTzR2Z1ZFRVY4cWF3Z3dneXJtVXYx?=
 =?utf-8?B?dDJHdWZjYXd3SVptRk00akZmdU5uVHpGc01nb2tHOCszaU5IOWJOWFJmMXFo?=
 =?utf-8?B?dno1Y0lkSnRzR1AyaE1sYW43TldvaWZWKzZ2Y25rSHoydHFRVDh6K29SZnVj?=
 =?utf-8?B?cjNMcDZycC9VWjU4WXZ2Ujlydk8zeTkvNVBKb2tXL0w5TEJrSk1xaXBPaEVD?=
 =?utf-8?B?QWt6bldvN2hpc2JCYXRDY0pWS3EyT3kyLzV4Mm9ZUmNuYUJWZXN0aEdpdmxJ?=
 =?utf-8?B?NzAycmZQbDd5RldXSmtCL2VadDhKQWpnTDdlSXR4R2dqRC9tK3luQUZpN0Fq?=
 =?utf-8?B?T3dhaTl1YTV4ZjdtaGdoZHZhdXdwclRIOU1tMW5DQ0ZCUWgxaFdIZ0UwVk44?=
 =?utf-8?B?ckJEdXpiVXVCczUrZE1xd08wWUVwYWlueDFYM2J5dzlsdlJONllsMWF6MUdD?=
 =?utf-8?B?LzFYaXFXWmhXS2t4U3ZqQXVRL1JsODlJODRjUkV6L1ljYzc0amkwMHlETnQ5?=
 =?utf-8?B?TXI5S0xCRTV1bVFOT0J1VTNNV241UDVvc1pINWxVVWNVWE5JVjFTcFo1MTRw?=
 =?utf-8?B?VnlrMUE1NzEyT3Zta3o1MHppREJaa3FhTStSYWlweXhTZkVwZ2tLcEcxZEVa?=
 =?utf-8?B?Y0FaMCt3MEljaHVPTGw5dlAxOWt0UFEyUlQxK0RkRStFcGFCVjZXYThBcXd2?=
 =?utf-8?B?MkYxU2hncHZwT1RTWldYS1ZWZTdYSk5iMzZkVjUrYkRJRDB3KzgzalhGZ21P?=
 =?utf-8?B?REZWR2tMOWRERlBXWForV3RqYUI3OWlhOEljMnptWTE3eUh2MkxVcW9iSHZJ?=
 =?utf-8?B?eWZkTnhCc0pRdVJISllsemw1UXBJaG5WcXpkNzZOdFFnaGdueUdjMTY4azdl?=
 =?utf-8?B?ODZkemMwQnZlcStnREFjb21xdW5nUUFscGRzdEtmM3NEalM4Ym1scUJEejJU?=
 =?utf-8?B?QXJNYWh2TlR5UTQzVnBWaVR6TlNacjFuMmFUV2ZKYnZHdGJHY2M4S0NKRlBa?=
 =?utf-8?B?S0VjOUkxZGZpOFM0MVNZaGNWYWlaMC9xVFZVQzdEaXFMVTRqeTlveHcyS2Rw?=
 =?utf-8?B?V1I5RGlrVHBiQkpuZ2dlVlBZaklYdTRlcU84aFhMSmo3dm12RTR1STA3WlMr?=
 =?utf-8?B?RThXWUxDWkJTNkxZSkU2aFNVeEI2TTZKYzBsTXl6eS85N0h4NENEa3hCTHVY?=
 =?utf-8?B?QS9lSEtySFBnc2gyNDZWM0tMUlQ5RU9xU2FnQ1dXN0g0cU5JTDhMSFFiMEx0?=
 =?utf-8?B?THYxcTJ1ZVhVbjNGTC8yKy9kaVRMNjk1Q0tlUzRnaFhiZXZIWVBiOXpoVGJN?=
 =?utf-8?B?Sk1DbEdCaEpSRzFDdGdTdk1kRi95UFVHdGs3bWIvckNiamdQQTkwd2VnTVZQ?=
 =?utf-8?B?ZGhoMmxNbzI0R29scUJIc2w3bE1TTldqRGpaNkQ2S2VZTys5UURhYm1TOVU5?=
 =?utf-8?B?ZjhtSi9neHBxY3Z2K3FUWk9nRTJFa2Exc1R2dEFucmUvVzMxNHhVaE9xeEhi?=
 =?utf-8?B?NUhlMkcrZEUvR3QxRm1oM0dsV2hsb0lEU3QyUXBoanZYdGVGeWhUMzVWRXRC?=
 =?utf-8?B?QjBWM0ZRYndPYkNuK3Zod1ZsOVp0TWM3dWFtMFhjTnFYUW52QnE1WWFFREdv?=
 =?utf-8?Q?KoLE6f48IQ8AV+czlEbe6tY=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 26ee95a2-f74a-4571-751b-08d9d697e75c
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2022 13:23:36.2462
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: SgZ7j69jKBWZpltFf69M+a4RN1FIVWb18nPeO8VQrUhzedKx6IXyb0X3ZOAUllXJ8djQIcwj7yVdabqudHSXTA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5267
X-OriginatorOrg: citrix.com

On Thu, Nov 25, 2021 at 01:02:50PM +0200, Oleksandr Andrushchenko wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> At the moment, we always allocate an extra 16 slots for IO handlers
> (see MAX_IO_HANDLER). So while adding IO trap handlers for the emulated
> MSI-X registers we need to explicitly tell that we have additional IO
> handlers, so those are accounted.
> 
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

LGTM, just one comment below. This will require an Ack from the Arm
guys.

> ---
> Cc: Julien Grall <julien@xen.org>
> Cc: Stefano Stabellini <sstabellini@kernel.org>
> ---
> This actually moved here from the part 2 of the prep work for PCI
> passthrough on Arm as it seems to be the proper place for it.
> 
> New in v5
> ---
>  xen/arch/arm/vpci.c | 15 ++++++++++++++-
>  1 file changed, 14 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/arch/arm/vpci.c b/xen/arch/arm/vpci.c
> index 3d134f42d07e..902f8491e030 100644
> --- a/xen/arch/arm/vpci.c
> +++ b/xen/arch/arm/vpci.c
> @@ -134,6 +134,8 @@ static int vpci_get_num_handlers_cb(struct domain *d,
>  
>  unsigned int domain_vpci_get_num_mmio_handlers(struct domain *d)
>  {
> +    unsigned int count;
> +
>      if ( !has_vpci(d) )
>          return 0;
>  
> @@ -145,7 +147,18 @@ unsigned int domain_vpci_get_num_mmio_handlers(struct domain *d)
>      }
>  
>      /* For a single emulated host bridge's configuration space. */
> -    return 1;
> +    count = 1;
> +
> +#ifdef CONFIG_HAS_PCI_MSI
> +    /*
> +     * There's a single MSI-X MMIO handler that deals with both PBA
> +     * and MSI-X tables per each PCI device being passed through.
> +     * Maximum number of emulated virtual devices is VPCI_MAX_VIRT_DEV.
> +     */
> +    count += VPCI_MAX_VIRT_DEV;

You could also use IS_ENABLED(CONFIG_HAS_PCI_MSI) since
VPCI_MAX_VIRT_DEV is defined unconditionally.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 13:28:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 13:28:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257210.441907 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n809D-0001C6-Pc; Thu, 13 Jan 2022 13:28:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257210.441907; Thu, 13 Jan 2022 13:28:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n809D-0001Bz-Mh; Thu, 13 Jan 2022 13:28:11 +0000
Received: by outflank-mailman (input) for mailman id 257210;
 Thu, 13 Jan 2022 13:28:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=64pG=R5=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n809B-0001Bt-UZ
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 13:28:09 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a4ca6cd1-7474-11ec-bcf3-e9554a921baa;
 Thu, 13 Jan 2022 14:28:08 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a4ca6cd1-7474-11ec-bcf3-e9554a921baa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642080488;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=VE57v4bQkZV9Jau0iTZGZ5ACwzbr9Nx/TPfMRLyl2BU=;
  b=eOWsFlK1NUgB8TsafbK+0AvSvqWmt84oLuCFwvIvWADIsxVprJSxMoM7
   9R1RR0W0cAIlIgrE+CoLsa+vrVzb7jDvp3OGUyZQZPtd8OnaVRbt8bIO+
   1HjBvFz3te+r2uTjYEx0pCFp/JdW3WEJkUgdDyOR4m3OEsw9Cs3Thu/f9
   k=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: wpHwxOFac8K0LSiEBOOx7Afe6wQngGnT8OKlavs7vFueI/waP/m2JiGejdHkOLo5CRlMYMUQIg
 3H1T6VJkQ11CKKvZNa2A3DG65lz21uSY/DlgQGx9YG9GkiiyLh6t1ZhIhQYe1bsTDPE+962onO
 CcZvJlNpT5A8uoo8INxXvHdG3BNwGuMv3yM8IVR0v73tpN3WvBuXKV7I6MvuudxXbSUU0NVbWR
 sdtUM/w7dIHC3+coUD7nfMeFnr3s2D377NHSuWn1mQjCckio7u76Dn17pgUcW0ALJXS9LTs7TE
 CuhshV+I4ia+nH5/ZN+6PlFT
X-SBRS: 5.2
X-MesageID: 61836324
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:GAqUTaqVyNxeNiWWmo0bpS7JGnpeBmLYYxIvgKrLsJaIsI4StFCzt
 garIBnVa//ZYGHzKI93YNi2/UhTsZbQyNEwTVRvqHpnESxHpJuZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlZT4vE2xbuKU5NTsY0idfic5Dndx4f5fs7Rh2NQw2IHiW1nlV
 e7a+KUzBnf0g1aYDUpMg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJ8DO+iL
 9sv+Znilo/vE7XBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XnRfTAKtao2zhojx/9
 DlCnZ+xUSQTErLVpMEUSkhzCCteHJEb1qCSdBBTseTLp6HHW37lwvEoB0AqJ4wIvO1wBAmi9
 9RBdmpLNErawbvrnvTrEYGAhex6RCXvFJkYtXx6iynQEN4tQIzZQrWM7thdtNs1rp4XTa2AP
 JBFAdZpRE3KYhtjBlRNM6sVk+q1plfccTBE9mvA8MLb5ECMlVcsgdABKuH9cNGQWd9cmEreo
 2vc5nn4GTkTLtnZwj2Amlq0j/LLtTP2XsQVDrLQ3tdwnFCW8UkCBxQXWEWTrOGwjwi1XNc3A
 1wZ/G8ioLY/8GSvT8LhRFuorXicpBkeVtFMVeog52mlza7Z4B2QAGQeeTdHZMY7r889RTEs1
 VihksvgAHpkt7j9YWiU9qqQ6yizPycVBWYYYGkPSg5ty9v+pIA+iDrfQ9AlF7S65vX8Hz3qm
 WjS9AAxgrwSiYgA0KDT1VLNji+op5PJZhUo/QiRVWWghitnY4qia52t+ELs5/9KJ4aETXGMp
 HEB3cOZ6YgmCpWAlzeERukXK624/PaOMDDagllHEoEo8nKm/HvLVZtL/Dh0KUNtM8AFUTzke
 knevUVW/pA7AZexRfYpOcTrUZ1slPW+U4S+PhzJUjZQSptwbCy90D53WWuZxjHGi0IMsJ1iF
 4jOJK5AEk0mIahgyTO3QcIU3rkq2j0yyAvveHzr8/i0+eHAPSDIEN/pJHPLN7lkt/3c/G055
 v4Cb5Pi9vlJbAHpjsA7G6Y3JEtCE3U0DIueRyd/Jr/aeVoO9I3M5pbsLVIdl25Nw/U9egTgp
 CjVtqpkJLzX3y2vxeKiMCELVV8XdcwjxU/XxAR1VbpS51AtYJy08IAUfIYtcL8s+YRLlKAoF
 aFcIJ3eXqQUEFwrHgjxi7Gn/OSOkzzx1Gqz09eNOmBjL/aMuSSUkjMbQucf3HZXVXfm3SfPi
 7ahyhnaUfI+q/dKV67rhAaU5wrp5xA1wbsqN2ORe4U7UBiyrOBCdnKg5tdqc5BkAUiSnVOyi
 lfJaSr0UMGQ+efZBvGT2/Ddx2poesMjdndn857ztufpZXKErzv6keetko+gJFjgaY89w437D
 c19xPDgKvwX2lFMtot3CbFwyqwiodDootdnIs5MRR0ntnynVeFtJGeox85KuvEfz7NVo1LuC
 EmO5sNbKfOCP8a8SAwdIw8sb+Ki0/AIm2aNsaRpcRuivCInrqCaVUhyPgWXjHAPJrVCL454k
 /wqv9Qb6lLjh0NyYMqGlC1d60+FMmcED/c8rpgfDYKy0lgrx1hObIbyECjz5J3TOdxAPlNze
 m2fhbbYhqQazU3HKiJhGX/I1OtbpJIPpBEVkwNSewXXwoLI36Zl0gdQ/DI7ShVu4i9Gi+8ja
 HJ2M0BVJLmV+2s6jsZ0QG3xSRpKAweU+xKtxgJRxnHZVUShSkfEMHY5ZbSW5Ekc/m9RImpb8
 bWfxDq3WDrmZpisjC47WEojoP3/V91hsAbFnZn/TciCGpA7Zxvjg7OvOjVU+0e2X5tpiR2Vv
 /Ru8cZxdbb/ZHwZrKAMAoWH0agdFUKfL2tYTPA9pK4EEAkwot1pNeRi/6xpRv5wGg==
IronPort-HdrOrdr: A9a23:4/AZiK6vYhfEoOLo0gPXwVKBI+orL9Y04lQ7vn2ZFiY6TiXIra
 +TdaoguSMc6AxwZJkh8erwXpVoZUmsiKKdhrNhQYtKPTOWwldASbsC0WKM+UyEJ8STzJ846U
 4kSdkANDSSNykLsS+Z2njBLz9I+rDum8rE9ISurUuFDzsaEJ2Ihz0JezpzeXcGPTWua6BJc6
 Z1saF81kSdkDksH46GL0hAe9KGi8zAlZrgbxJDLxk76DOWhTftzLLhCRCX0joXTjsKmN4ZgC
 T4uj28wp/mn+Cwyxfa2WOWx5NKmOH5wt8GIMCXkMAaJhjllw7tToV8XL+puiwzvYiUmRsXue
 iJhy1lE9V46nvXcG3wiRzx2zP42DJr0HPmwU/wuwqrneXJABYBT+ZRj4NQdRXUr2A6ustn7a
 5N12WF87JKEBLphk3Glpn1fiAvsnDxjWspkOYVgXAae5AZcqVtoYsW+14QOIscHRj99JssHI
 BVfY/hDc5tABCnhk3izytSKITGZAV3Iv7GeDlMhiWt6UkXoJgjpHFogPD2nR87heQAotd/lq
 P5259T5cNzp/ktHNVA7dc6MLiK41P2MGfx2UKpUBza/fI8SjnwQ6Ce2sRA2AjtQu1P8KcP
X-IronPort-AV: E=Sophos;i="5.88,286,1635220800"; 
   d="scan'208";a="61836324"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Dcu8ta2Ja8OwCMzOwGQiBhL++JVgkcGmS9+fV9qPTzSzm5GwKbh/9xcg/g7d+GxnLpOuWcCyJ7wO98NuaYF+cJH5CIZQcJvIOis4ilyS4AM1yoTovbV5oY4kL8MsQVIQUIOu16LwH4FPV7x1Qjne1NwzCZdzYNznW+4syf4g8Pm/F5t/7Tb6Zawgdm7j94e6Lfjo0qVMkIB3Z8dM1y+jyFQ1mGuC2qX7zh3SdE/lwc4aXCYDahnAjkSiEAXY4pgFQ6NKf/ycw/5JCtYG5wiHp9wpdxxLiANdZ80ApaW/04OnHxcN2pyVgSakXeuhVD3xhY7Jpq7572EZPJN5CuYPXw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Hr/t8T37Q00mcnVjaTYmfTJGntljtj+YTbwrqPBDY+g=;
 b=QGZdDair/CJH9//E5O7BR6mzqpKq+aKN3k8bAKWgJIxrCnE1AG1c3Svwto8lmqFv34XjP+Ms/5ij/yg//2T/9N/1MFM+t2yAQmw46yUETfdWPSsSLaR1bXEs6rYzEsT8xK5355icnTGGLyVlBEY+Iy9pAQqAAao+0xBMzXdaeTrTrUt38OlxQ2SmEDaLVJl/LIiNCJCEtsDlljn2HPgUb6mkC8XxP570v45WtV8vy3LMO9bQP+zB4iKmJi0TV09R8oo/kXivCmbUPn9S1ZmZFCwFiz7Sxk+yhLLkr+J4fVumDEzLHlCPL7vkcS4GmlOi72q9sVrRptlBHhglD0lHuQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Hr/t8T37Q00mcnVjaTYmfTJGntljtj+YTbwrqPBDY+g=;
 b=NzRFgy8oDRX/pqO7ag9MILT3PcVfB55iieXHV/99HPyRuW99EV5rJGQjj02dP/wR6e8rprxLgBpWfGGJhHpA7j+6y19AruzvLk6pLkxJ5dnTfTX4+FIzPl/n5WN/54HSrBDMP4Vfd24155Heq6veEKpYLicwdfM1UXHiR/m1JK4=
Date: Thu, 13 Jan 2022 14:27:50 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Oleksandr Andrushchenko <andr2000@gmail.com>, <julien@xen.org>,
	<sstabellini@kernel.org>, <oleksandr_tyshchenko@epam.com>,
	<volodymyr_babchuk@epam.com>, <Artem_Mygaiev@epam.com>,
	<andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>, <paul@xen.org>,
	<bertrand.marquis@arm.com>, <rahul.singh@arm.com>, Oleksandr Andrushchenko
	<oleksandr_andrushchenko@epam.com>, <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v5 14/14] vpci: add TODO for the registers not explicitly
 handled
Message-ID: <YeAo1sNve2iaJuzb@Air-de-Roger>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-15-andr2000@gmail.com>
 <892d6148-e98f-def2-121b-922f1215a442@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <892d6148-e98f-def2-121b-922f1215a442@suse.com>
X-ClientProxiedBy: MR1P264CA0025.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:2f::12) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 313ae0f9-68ec-4b09-2b6e-08d9d69882bd
X-MS-TrafficTypeDiagnostic: DM6PR03MB5179:EE_
X-Microsoft-Antispam-PRVS: <DM6PR03MB5179FA64063E507677DBBED28F539@DM6PR03MB5179.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: kmnHVdBXQ6Xg7GuObEkSnrp5pQ8+1iqjrfcBJk9PsvZX6lQlyygdzKr6Mbvygf+3gP7g+ZGhxS3bJ5uIHaBhKcA6vBv0cKTlVBcnjFC45oCLgIxVPtE0HNuUyDHv4SGvK2N8wolFL47oVsCj3vdHEv4IXPZzsnim5L93u2tA97P6kr0J/AlfFADWIqbikKsOWfzrARuRbsdBGQI6qHax6yHZAUtS9egTBC0uV0Zn34lzFq05+z4nch3swGhJtEav5Y6V61oYmpSnr11HHzV15/z2xZ/aKBjK80QE7Q2l64ySmMsUDV95UUerEd3luLqCdS5IzXCvFs0CwayY6NQl6yVFF3LfD3xKyK4rq3li+FZdes5kKAr9vBai58Fzvgjxmotipta7zPcfMalKXbXfk8O6CFJksxpURLdv328uUaDYA6stfAO6laZmzcS9YuWbqUVYgOzRWKXmh8eWAQJGEBbM691dnRMWk85b24wEH+n8an6a/OtgkOd3nta/CEKxmrfFvg4AE2N+cG5xOPgjxh3hMiQPD2jKeYPGwBo+Ui2i1JojN7XwhYgmJbHzTjYvN6hVNJ3wFqmlocnSAhiuKeRod/jvmJJ9GCOHskshRbROMkMLxow+piKv0uYFBgxwgejc0izrmpop4dep5uK/Eg==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(6506007)(66946007)(86362001)(316002)(66476007)(53546011)(66556008)(85182001)(7416002)(26005)(33716001)(6916009)(82960400001)(83380400001)(2906002)(8936002)(4326008)(508600001)(6486002)(186003)(8676002)(6666004)(9686003)(54906003)(6512007)(38100700002)(5660300002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?V1lYSTdjTGpmL3FJdE80aGROUC9LNHhkUSsxaVhCcXFvbzFYS0hMVnFkUzAz?=
 =?utf-8?B?bVcrNHdNYzd5ejRxd3lRbWhmS3ZZdk1pTTdwNVU4enlrbFgwTnYvL0ZsdFlu?=
 =?utf-8?B?ZExMUnNBbmhwMzZ2Qlp1SGl4dGRZak1NcEZUWFA1L21saGdWSnE0UDRLcEFB?=
 =?utf-8?B?SG1jdHZ3VU4wdW5LY2NlN2xKdVRwQzN0L2tQdHo0MHhjc00yQVNXdDZkZDNH?=
 =?utf-8?B?UVJVVitUZWVnWU5jenpMVm16YklzY2dzYk1NbENlUUtWVE5LNXJ2ZkNuWnVU?=
 =?utf-8?B?RG0raThlZmw1OVpkQ1djNkdneUltY1ZRRXFBMEVIbXQrSTNhbWdDNnBJcXZl?=
 =?utf-8?B?YXBNNEhwN2FLekRLLzVIcVV1c3BlZjZtVEdianl2S2hFSmk0NEZzWDN4dE5P?=
 =?utf-8?B?ZWtOR01mQWROWHI1VklLV0ZlbWlHeHYvSXVhK0ZaR2UzcUxzMFdJQjNTNW15?=
 =?utf-8?B?bi9UWFFkanJpVmd4S2Q5ZldnTWUvblROQjljWEdQbFFBWTNocFp5eGVUN010?=
 =?utf-8?B?NjZHRkExZDZIdXk5dHY5eEJGNDhJdit1T1dodVFVN0txU1dCaUE2RC83b0VR?=
 =?utf-8?B?b0s4UzkrOXYzcW1EQVA0ZjZWRWttMkpzb3BlRjZ2UnJOczNtUlhBSUpoYzh6?=
 =?utf-8?B?Rm15N1VZcDJJdTZSMmt5aEhnTnExcUlIWlJKTEpBaUtzS2YzQjhkR29NbTdu?=
 =?utf-8?B?dmliTFBySkdXcW44Q1I5WVNHVnFrcFJkY0JMUmN1S0FRMmJCaXB4TStlTEV3?=
 =?utf-8?B?RnQxNFFaSG40RDllOUVDajFhcUJ3TDRsQ3JUSVEwOFNFSEdiZXZuWkNOcHdl?=
 =?utf-8?B?QUs0SWJ1Z0pMU3QzRG1URUdoSXZIOXUwN2pRNFpXbVU4djg4anJDa3VnV2h1?=
 =?utf-8?B?WnJhem9vV1YvQUVKTXlnWkxtN0dLdGx4QXZraHJ6Vng4TExXQit1cVRHNGNI?=
 =?utf-8?B?SGdwYWpPbTJOWHRGdGdMektYM0ZjV1hPVFJjVUYwa2I2eWtHdHJHb2hiK0ZL?=
 =?utf-8?B?QlJrbC8vWjlwQVQ0QXR5eFQyZHlOem9LZnZMNWVjNFFoRW96dGIwNjBPeUlo?=
 =?utf-8?B?RUR3Rjh0OE5GamtxVEdyNXJqanFwcnB5Ukh5eVlnQUswSitQOEVVMk0ya2Zm?=
 =?utf-8?B?VGtMcG93THRCT29RNVViWUNvUzQ4UzVlb1IvNW9FNVVjVERvN1oxbGdBTzNT?=
 =?utf-8?B?Ym5xY05xbWFqUVJQTmZZSUg3ZVI0ait4OFY2Vm1tTzdndFA3UWRwTjB4Ulgy?=
 =?utf-8?B?d0ZtUDFwbzJ1bThkcFZyTGhzVDAxMVZISTJWMy8zbCtkbnBWekp2aStMUWlP?=
 =?utf-8?B?WnlKQlEzMW4rTVozQlpXVGl0NDNYenJESG4xQ2ZZK0RtZm5ORDh5VkJwZjYw?=
 =?utf-8?B?dDkxTDRiZGI5WVd0M2YrRCsxVGVvbXR5VkNoOVVFWGlSY1ZlVXMyNk1aWHJD?=
 =?utf-8?B?TGsrN3B3SjNycStIbDJCL3F1eWwyS1VFbmNkcHl0anE3SUwyaTUyVW45NE5t?=
 =?utf-8?B?U1F4WHZHdXpWbmY3c1BaZmIyUDRsTUd1eURkUE5BZEVwRHVoaXV0eFNKOVE1?=
 =?utf-8?B?VWx5MlJtdlhpc1NkUEtxWXhxdkxsK3REeEdTTGRsWWRlUjBBcVpJM2oxbm9Z?=
 =?utf-8?B?NFZrTmpRYkhjVm9oRG92REFmcjhGcTAvWnNDUUdvek52bXJMSDJ6TkJEUzN4?=
 =?utf-8?B?MXVRSGd6YXpFVWZzWElMeDljS0RWMWkreHpVVEVwMDhvT0ZaNy9iOFpjK3NN?=
 =?utf-8?B?eElWbjJ6WnhpS1RCR0ovdnpCb2M2OFh1bGo5bmM0dld3dWdueFFacFdlSjFW?=
 =?utf-8?B?WFpvUTBkbTJ6anE1VUxuY3lWVDRyeSszWnlxOVhRTWJob29UK05qTmd6RCs5?=
 =?utf-8?B?a2JsNjl6V1ZmbktwZ2M0cHY3dDF6VjRwQWNRNm1YdlRwMEJVQW9mUW90VEFD?=
 =?utf-8?B?WXRGVHVaTzMrTlllMEJkeG14Z3NER1hXdVdNT3hab01vYjNkbFNJUENaamtY?=
 =?utf-8?B?QTIrbG1iNW1JeWk0ZjZBaTBoVDZ3anZDaHFNZ0EyMFBkZzlBOVpnZXF1d2tu?=
 =?utf-8?B?THYzTU5VWEpSMTgvZS9HbGtjUnFzbzUvL0ZDT1RDeGpjZ3duSjE2WUNpWHBx?=
 =?utf-8?B?Y050SW1BaEcxcWMvelNYMGtjMFpzVVdGcE9EVC9HU2FZR2NvVU54d0tDTXo0?=
 =?utf-8?Q?y2Xy5s00qPD8SpEcSxv0h4I=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 313ae0f9-68ec-4b09-2b6e-08d9d69882bd
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2022 13:27:56.9402
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 09PCjTN6DXNskzVmzhp0R/UgwO43SEqUkUXi139Ovxqhew2GS+nSDuOwBjmX49gZ0hkN409GE8blabwm5vjRFg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB5179
X-OriginatorOrg: citrix.com

On Thu, Nov 25, 2021 at 12:17:32PM +0100, Jan Beulich wrote:
> On 25.11.2021 12:02, Oleksandr Andrushchenko wrote:
> > From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> > 
> > For unprivileged guests vpci_{read|write} need to be re-worked
> > to not passthrough accesses to the registers not explicitly handled
> > by the corresponding vPCI handlers: without fixing that passthrough
> > to guests is completely unsafe as Xen allows them full access to
> > the registers.
> > 
> > Xen needs to be sure that every register a guest accesses is not
> > going to cause the system to malfunction, so Xen needs to keep a
> > list of the registers it is safe for a guest to access.
> > 
> > For example, we should only expose the PCI capabilities that we know
> > are safe for a guest to use, i.e.: MSI and MSI-X initially.
> > The rest of the capabilities should be blocked from guest access,
> > unless we audit them and declare safe for a guest to access.
> > 
> > As a reference we might want to look at the approach currently used
> > by QEMU in order to do PCI passthrough. A very limited set of PCI
> > capabilities known to be safe for untrusted access are exposed to the
> > guest and registers need to be explicitly handled or else access is
> > rejected. Xen needs a fairly similar model in vPCI or else none of
> > this will be safe for unprivileged access.
> > 
> > Add the corresponding TODO comment to highlight there is a problem that
> > needs to be fixed.
> > 
> > Suggested-by: Roger Pau Monné <roger.pau@citrix.com>
> > Suggested-by: Jan Beulich <jbeulich@suse.com>
> > Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> Looks okay to me in principle, but imo needs to come earlier in the
> series, before things actually get exposed to DomU-s.

Are domUs really allowed to use this code? Maybe it's done in a
separate series, but has_vpci is hardcoded to false on Arm, and
X86_EMU_VPCI can only be set for the hardware domain on x86.

Roger.


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 13:38:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 13:38:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257215.441918 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n80JC-0002k6-TI; Thu, 13 Jan 2022 13:38:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257215.441918; Thu, 13 Jan 2022 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 1n80JC-0002jz-QN; Thu, 13 Jan 2022 13:38:30 +0000
Received: by outflank-mailman (input) for mailman id 257215;
 Thu, 13 Jan 2022 13:38:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fwfT=R5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n80JC-0002jt-A0
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 13:38:30 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1742448a-7476-11ec-bcf3-e9554a921baa;
 Thu, 13 Jan 2022 14:38:29 +0100 (CET)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2059.outbound.protection.outlook.com [104.47.14.59]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-3-ZK09jZryOziM7YPkP12Ytw-1; Thu, 13 Jan 2022 14:38:27 +0100
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.4867.11; Thu, 13 Jan
 2022 13:38:26 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Thu, 13 Jan 2022
 13:38: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: 1742448a-7476-11ec-bcf3-e9554a921baa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642081108;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=5SAC01B0FEJ9D++feTieb1kthouKar2LxN9uErJxwEs=;
	b=gx8MgAgzrT7DNZ65x4JimjGEHT+9xdSis9X99jnxD+YHFaKCLXa75Yu5TwFUZ2i5stn4LT
	ow8SGvffoGizg201klzDKueK8y3FxyqyQKlCx8e/fFXHbYSZPYyhusEakuckjkvXRW64B2
	cfAWtKWxGKEIAhY98YjBzHShJ61J/Pw=
X-MC-Unique: ZK09jZryOziM7YPkP12Ytw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nggCXW3cee/DBhwOWl5IUNrwJuT+D3ALBs47aiinY3J6msZmDU6rxHVoUpd6B7HtZBW5KVebd+HOTPtoqLN323VU/c1yaz2aKoPDA4RY2E6Mv1oUaBifiUTiSkTDVbJbcBaFliw64vH2NlkBGUoir03U3CVid7FedItgz5durtZSgcjOYZ3/D4hT5sUBJ2Pe6f0PJ8albk4T27JMW7cNFR38nU1Pq3Ur40CbN7PphPfJzsD55kuC7lNGudr4pGikSHVsXIxXqCoiTuQSY49yjWPiSKr0GH/8CUfSoIdWZz9Z51DiUUh0bgI1AilfRv20AjUPBTR02ZDFkz04D3x7zw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YksEdwVnUi5xg4in3IpU4mJRqtQ3ODpEONUMzWG/egA=;
 b=eV9ZK2VkBHKmYNUPnBf7DI+O1VBz5pNT5y9JTy7UGNPrIoCzVtzgGxIw2/XRMcR15PjobJXLCU0AbTrWelOH5EvnrOEghZjArSf+DWe6nupxpbUShPeRcTb1Avyy+uNz/KOlj0Ng/uQJmaQfFr26poSeIxyGNb6ji9+PILnT6zFs5wfF18HaxBvcby1LfhbcLgZtpbCPO6iDFBKZ9B9Aq3FCXRxh9xYrmjQAYzsDIOgC3AyETY4PGjwdlnL3pMoJwqE9JRAaaWFp0PhoLdXy2rs9SBx8VG5eYknx2E8w44/c8/gpJpP2P4JWRE4HYVBHTffIsacgu2fHsOY0D/b+sw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <410f27c7-ed38-c1ff-ec2a-2ffd32e6751f@suse.com>
Date: Thu, 13 Jan 2022 14:38:22 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH v5 14/14] vpci: add TODO for the registers not explicitly
 handled
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
CC: Oleksandr Andrushchenko <andr2000@gmail.com>, julien@xen.org,
 sstabellini@kernel.org, oleksandr_tyshchenko@epam.com,
 volodymyr_babchuk@epam.com, Artem_Mygaiev@epam.com,
 andrew.cooper3@citrix.com, george.dunlap@citrix.com, paul@xen.org,
 bertrand.marquis@arm.com, rahul.singh@arm.com,
 Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
 xen-devel@lists.xenproject.org
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-15-andr2000@gmail.com>
 <892d6148-e98f-def2-121b-922f1215a442@suse.com>
 <YeAo1sNve2iaJuzb@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YeAo1sNve2iaJuzb@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM5PR0301CA0007.eurprd03.prod.outlook.com
 (2603:10a6:206:14::20) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 15af99ef-8875-4edb-35b0-08d9d699f9ef
X-MS-TrafficTypeDiagnostic: VI1PR04MB4608:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4608A5702D0FFC384B5C6215B3539@VI1PR04MB4608.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:
	zEOqyFFZgx1aKPcscFafQl5SR2t4l+7IAMtjfBK3j6jHdOFJAje+HY9XXi+AXnJrOSaV023aADFTFg5niWWzOiyBVV7jT9VvqjJG6d5YcTDPYDOR0Djl00f8VL8AdPjfOBrWAaYPdrAefOpDuiKxpL5f1ZNfSO3eX4XYKAZv1kpO6yqtVmBiDtTcJ4XRJ7xxCYwvQWLciNuXb2l+dOwpb646aNUzaenpkx3d7EfY0zlGT4C4PYZrezYXtY2A98+2lnZLsNVXG/tQ6576HeVqfrXo7WOX2JZn09RGbbJr/RXoGU9UeOwx2Q8AwXPd8oCoaqKQImCBr+5xIRPUaGxTbXraPcZ3k3Lf6IbLc+WwI15DUy9lhJeaRFi37DlBuY9HpEtV754WW46SDgcRfCf5Z/6eBXcwhdF1CiwcevFfnvPRqyMdKZ5FVQDY0K4+MbDxeWwEGZFimWyuTrqOaj55+uW8d9VTByrXYb74dhR0cvUpysinTketPurXgvwOC95qIhYqsGJDyCs2SZPUnE4TkyxcugQ9Wuh1REfHrQYxCmOBVMrXMFXNVc+DiheiIGd+7RWIJ75hQE2EWeXI5bdia2BbJEUy8G8/wtxs99y1IxXXWbQEnN5WhazH2gjewh3BHC6kgl0cl4Tw4Hs3cqGBkWzZfY28OfHKlAJwDR7Ruk09Pd2nKWP66cUj+JJ+x8u5ttobzq/5exiAoGEKWRM2sonTuZ7bKYLjSwOOGxONm3c6tJF6snVf0FmXneBQVJCM
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)(66476007)(6512007)(7416002)(66556008)(8936002)(6666004)(31686004)(54906003)(5660300002)(2906002)(508600001)(4326008)(2616005)(31696002)(83380400001)(316002)(6486002)(36756003)(66946007)(38100700002)(53546011)(186003)(26005)(86362001)(6506007)(6916009)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?oLKpq8ATXhn6JGlE1A9937tD+iVbF0UMkEgPWXDMjGuIpKnq6D+V03bZsGIz?=
 =?us-ascii?Q?jzEW1MDNh/Ljq4FaRWCzE1kzkhwBVaAYlc6VYXkkWSqlQufIe9NQPCowGPfK?=
 =?us-ascii?Q?bvl6ST3pTzM0hjOgE7xh4aWWiiFodFKu1P9w0Qp//MZMZdy9R9dJrN9g8i3n?=
 =?us-ascii?Q?/4K4YoViUZ5z7vuzY7BbBhKZ0mRKx5rRi9cDj8hPMN949ZCLVL7DHK6xa3nl?=
 =?us-ascii?Q?wpa22nbJOxu+dCNlIgX2DuP85sj12y5zYOQSOZ3mCsVHIJnAlioIBAnwaudI?=
 =?us-ascii?Q?3fCHlDyzlf7W+FWv/6AriOUzj2i39EL8PpsD05+cbCsOk7oRSYKENP84j8Yu?=
 =?us-ascii?Q?LxJevnSFBGpL77i5hGmdwEiVNgBQN52z56NQO3T4QJHq+LwAjjdSQGmzVq+S?=
 =?us-ascii?Q?rcoW7PLgzEsSKghXuwfMWLT+EEaLyvA9Eh3njKptOcExn5Qwtmscy6zD7GHD?=
 =?us-ascii?Q?aH+9ZeI/a3bCRVvGScYppc8cGYEwRsN2bLsr5quxoArMN/BpRWJt7Bo05vqf?=
 =?us-ascii?Q?ANbYSAQ7FgZzX9azxsYe8xPxIQbZtmv7z6lm1S1a06eDMrwptEu/NNGclxIs?=
 =?us-ascii?Q?zXLVQozv+w/SoZEFBGD7A5EmrWjYJOyMUfDZ6Cm5CV+fJzSyz0QCbI8I685T?=
 =?us-ascii?Q?H9eqHCeoaNrnue646c8o09XpOx8CCyRYDEEZTW2zWsBdgxboTFCHiEH8dGbY?=
 =?us-ascii?Q?s//bxpDjipb/3q+TMDf8TXBO21HRVKo4soi/qIkSV4TioDXidkDpY9dgK0Xi?=
 =?us-ascii?Q?XjkGBdtRxe1NanJVPhJcpUis+OMTyWu7dH/SMMDPl7f4xQ7TOmtwaUB1+J0o?=
 =?us-ascii?Q?grFVsnRQuRWbro/rgXGCmXvgIcP6MySjpstvGg6FIcIWZeCiFSwsnPAD1uSh?=
 =?us-ascii?Q?jo96oIrHIMB1LldHxsOzwkBxXvzwnwjxxCsv8/V08jJRmYGJKJJaR3+3ZWzJ?=
 =?us-ascii?Q?SDaZL/2khNcrm0PwDAVLLbF2jdgcVQP21GjAPSQzZLMw5PoOxek0zEtOkoPs?=
 =?us-ascii?Q?Jgl+pOuve7D225WEui5odrqeZYeN52avDTfKZiZP7EWC99w11MwuLuxQWN5B?=
 =?us-ascii?Q?ae1KmnWyypryDb+7gj6kDmpXURxnVGxPNsfD7fbqNrCIi2CI65d35kJJZbEr?=
 =?us-ascii?Q?uyjNdjegRPCf8g/cFZVb6IhXm5uvPFMvvJhH/lCSXa+4zOTxhh83ihr5u7Eq?=
 =?us-ascii?Q?BUF6EpqIIJqaTgMUdSoht19almTQDrrKP/NPqfX8YsXeCDFB5HQ5XQ0lIGlC?=
 =?us-ascii?Q?65QZq8d8IW3qXjtdfBepEkTUocwZcQzL5C9Du1cbNICwJmGHOX9xTpyLCHaz?=
 =?us-ascii?Q?Cvgl931e0LVadEAYjULdna3gZh9BsHjI2BLvMOgVc/S03EA59pivKAX6i05Q?=
 =?us-ascii?Q?7S/T4DMvaYZpYLeXVn1AqoVA61bs4IVrjsEHrZjBLh/PxbRAyZa9imqp7rXy?=
 =?us-ascii?Q?jyARIdB0dMyqgIJkdsc5P8sUXlPshvC6IE8BAWmNkQTTPsnSsreQZuZnWtsj?=
 =?us-ascii?Q?vpV1nmgbxubKQrEsFbl4MEaGB5xTGZhdBFzLqhgeA90xxsxv9Zg+4NYw2uk9?=
 =?us-ascii?Q?+AGNTupOhaGX3iNkf9FZ4vMVXlkMT/1w1QmdDmaYxzMoQHwpi5EVvdbFasL0?=
 =?us-ascii?Q?H6tcueWjCK8+zbc7ow3LVcQ=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 15af99ef-8875-4edb-35b0-08d9d699f9ef
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2022 13:38:26.2419
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zHBq13dv+dDdq27iSrAym3VRFAmHSPHnq4lfOg3e8naz6W3q5z/9vNggFSpy39Cf7z7E6IYQ+PahgP4SXdrKcw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4608

On 13.01.2022 14:27, Roger Pau Monn=C3=A9 wrote:
> On Thu, Nov 25, 2021 at 12:17:32PM +0100, Jan Beulich wrote:
>> On 25.11.2021 12:02, Oleksandr Andrushchenko wrote:
>>> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
>>>
>>> For unprivileged guests vpci_{read|write} need to be re-worked
>>> to not passthrough accesses to the registers not explicitly handled
>>> by the corresponding vPCI handlers: without fixing that passthrough
>>> to guests is completely unsafe as Xen allows them full access to
>>> the registers.
>>>
>>> Xen needs to be sure that every register a guest accesses is not
>>> going to cause the system to malfunction, so Xen needs to keep a
>>> list of the registers it is safe for a guest to access.
>>>
>>> For example, we should only expose the PCI capabilities that we know
>>> are safe for a guest to use, i.e.: MSI and MSI-X initially.
>>> The rest of the capabilities should be blocked from guest access,
>>> unless we audit them and declare safe for a guest to access.
>>>
>>> As a reference we might want to look at the approach currently used
>>> by QEMU in order to do PCI passthrough. A very limited set of PCI
>>> capabilities known to be safe for untrusted access are exposed to the
>>> guest and registers need to be explicitly handled or else access is
>>> rejected. Xen needs a fairly similar model in vPCI or else none of
>>> this will be safe for unprivileged access.
>>>
>>> Add the corresponding TODO comment to highlight there is a problem that
>>> needs to be fixed.
>>>
>>> Suggested-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
>>> Suggested-by: Jan Beulich <jbeulich@suse.com>
>>> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.co=
m>
>>
>> Looks okay to me in principle, but imo needs to come earlier in the
>> series, before things actually get exposed to DomU-s.
>=20
> Are domUs really allowed to use this code? Maybe it's done in a
> separate series, but has_vpci is hardcoded to false on Arm, and
> X86_EMU_VPCI can only be set for the hardware domain on x86.

I'm not sure either. This series gives the impression of exposing things,
but I admit I didn't pay attention to has_vpci() being hardcoded on Arm.
Then again there were at least 3 series in parallel originally, with
interdependencies (iirc) not properly spelled out ...

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 13 13:41:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 13:41:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257219.441930 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n80MF-000452-Ca; Thu, 13 Jan 2022 13:41:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257219.441930; Thu, 13 Jan 2022 13: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 1n80MF-00044v-9Q; Thu, 13 Jan 2022 13:41:39 +0000
Received: by outflank-mailman (input) for mailman id 257219;
 Thu, 13 Jan 2022 13:41:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fwfT=R5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n80MD-00044p-VG
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 13:41:37 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 87534972-7476-11ec-bcf3-e9554a921baa;
 Thu, 13 Jan 2022 14:41:36 +0100 (CET)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2110.outbound.protection.outlook.com [104.47.17.110]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-41-pVaJxzSqPB6l0r-nqH7K5w-1; Thu, 13 Jan 2022 14:41:35 +0100
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.4888.11; Thu, 13 Jan
 2022 13:41:33 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Thu, 13 Jan 2022
 13:41:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 87534972-7476-11ec-bcf3-e9554a921baa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642081296;
	h=from:from:reply-to:subject:subject: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=thNfMlJdzI98E9imj7jN+m1XRtQXnjAIICQ8w5+ivuU=;
	b=OE5GiKy+wZ+qNsvqyht/2PI4D13lzEBTT8aIK34QcQ/lDauFof9G07wZpu0BoR70fmc+fK
	+lnJEcLHIqGyiJdy8H699aJND3jyAq0gTZpi7cn8VxKRaRm0mCujJBFIv9smtUCz5w7Gcu
	41yoDHv0FJk5xGbGSYU2r4aaIj1cagM=
X-MC-Unique: pVaJxzSqPB6l0r-nqH7K5w-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fL5sbfF1zhycmj6rRmw1B9zYZsTLGMn5JFRfyH8kdKJ8nfySflMRGJArEE98ugRvVNNYm/9+BCpnx9sx8P70BYTdKQyR6bH+vjBPPtWSSqByCGlejmA6Z6lA19bRlRTNBnM6jK4ZfNFn9UgFIQqlY7Z5LD2N1ly2HwVmusqgcKWFelWtKaZx8LheOpTejoDT4VrHe6v4HH9yO9E5m7HjE+ODiiYOkJhjeTB1eIRJEwDx4tDLuk3XUSEnWaNSMUDjDKvG3jehOk/9o+bDAAgsABdrRmaX678na1y1ZiSCkcK46lz/CJmIwG+DMhkl4XnWGU5Nf6IjO/40/d/+aLIK9g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=thNfMlJdzI98E9imj7jN+m1XRtQXnjAIICQ8w5+ivuU=;
 b=QzY5Yp/U4pYK8nf/K6LQoUwt/1Av3w0fKePW99b3iyyJyYyXNvD8O9asqXWg20doc3nWP3UAfK04R4r613YRQXiETevlres2oVDnuSvHYV/yxdQX7kEbvv06Xabbz5cQhfBJ564I815vOkXx7uD0tRiBh2ob62pprJwBaPHDF+Dx7XarzBl8DR3q8tA+YJJSZ5r4XaDwZu+TT/u2r7lpiOYxfAjx9zOPFJR994u5QKZy1QFeInUhMzVhkB8I6WGPYBChocB82SC3TKDlpxODONH493Q5DiAEVfKuBIARkI5qQIYx5p3hOVvoPP/dGCJHJ5/Y+yj/xNY7Eh0PDXPmjg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6c50c7b6-e521-e34f-1808-a4e2961b807e@suse.com>
Date: Thu, 13 Jan 2022 14:41:31 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/time: further improve TSC / CPU freq calibration accuracy
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P193CA0072.EURP193.PROD.OUTLOOK.COM
 (2603:10a6:209:8e::49) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c1491485-c243-4da6-9dc7-08d9d69a697b
X-MS-TrafficTypeDiagnostic: VI1PR04MB4605:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4605CB325DD388CC89B0B5EAB3539@VI1PR04MB4605.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:
	h9kjA9fg8Ja6zVMDeDgN1y/bL7p9L4n8U657Ji5MVUlzyiVBLaS/5c32UvRJ+wZ8YatBx1OOi/NcJVPICLA3JxfWdauEkaz+fidxXlviE9ifJSWtYl7jc6beBY0VXIEk2lO+WyaDh86LB2ThuQRWC/q/p3CMW1xparvT9OmrqmUgPHvlftX7GfGzl1AALhty6oTz3cOgGHI3nfwkPn5vgsKBYUm1jYtlq2Zu6Rn6I4t6ntxCFPZ3ZFNWuzuQPz6muOvGDtFuDUp5iNFL3UDl2f4A3GYirMwW6wkzWbzknA3aXryAgYjK4P6Vhx4WXXKSHmqsdxvkc8xvA6FjdawcVT+wseoFPneVQUOXKmXLq17IyROJVYPQ/hlg33pjUk6vOzQNFteCdSHwZULttFopistAaduGqvmS6iXKKqVil+DbTZz3FZC/pbBlVGfDXrwM1urUDbn1jJBZaptW5RXTVSE1EmwcwRJjGgUOGPAWGE/xD1HygbVyHqAxNIHKDAEBVpEhXtis+46jVh2tZhuE4c31/bzf+gSozq7ppZnn3wvJP0t9VwwQaCWYdDcGg015Baiw+ahrXv5EO2UUx/orcXxwHIXMpT0JzOUUnzT0bcA7qzg2mXLYsAPFf0vxnT/PhsLY3H++73Y0R3Sx/MbjiapaIIwNTUhDAkjRN8d6HbzEOXHkTZq1OPJQCHW/1DMzuyDMVERSSmCDhZAC2YpnXdi5YsFAIjCyYDM+OggLJ52vCwphWHaWusDGnRwieDpE
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)(2616005)(4326008)(31686004)(8936002)(31696002)(38100700002)(6916009)(508600001)(8676002)(66556008)(5660300002)(66946007)(6486002)(83380400001)(66476007)(6506007)(186003)(26005)(54906003)(316002)(2906002)(6512007)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VTNlZ2J2UVVlanFPeWo2TDVsaWF1THdEbm1lQ3NCSWtmYmZhaUh3Wjd5SkpO?=
 =?utf-8?B?K0F1S1ZnYnlZSjg3cHRHY1FzdDBrbTZ2TjZ5U3VJSStrc2daSFZHelZwNHBY?=
 =?utf-8?B?ZnozWk13Q2RiWUgwL0Q0elZheUhLdTZRSmk2SU5xSmRvdjJUR0NTeHlUVDJO?=
 =?utf-8?B?TE5CSWI2TitsME9TaHdGMFZKR2hSL1NRQlNQS0JXQ3ZkUndBdTBBVC9sN1Qw?=
 =?utf-8?B?UFRXeDBHN1d3L0wrcFpGTnA0djYwUm52aVZCak5XR0dFaWg4VVhMeGhPMDBF?=
 =?utf-8?B?QmVuNDlVWVhQK0xTZHhGallXT1ZlT3pwQk16UHZQd2VkVjF2TWpRUmR4cjA3?=
 =?utf-8?B?S3U1eG1lMjdKc2lpREtLS25vMVBLZmQ1OCtnTmR3QmptMzFCek1hVFdQejdi?=
 =?utf-8?B?S0xCOVVlK0Q5ZXNwZ0szNTIzZ0RQdHNCL2hMa01XT1VweDV2VlNGR3lBYkdR?=
 =?utf-8?B?WTdtVlh0Y2FMTGxJVkFlVGhEMXZWK2pmVDREZU1iRW5KV0syUk02RndmQlhR?=
 =?utf-8?B?Q05ibEpuUDNrNWhQMHh4bnZ6YUxSNS9QcmxPWmx2dGFHeHk1WkI3YmhhWlAz?=
 =?utf-8?B?L0M2anpuNHhZaUs5U1hvZWQrZjJRM2hiRlJoOUcvd3A0SkNnRE9SUTJVZUhw?=
 =?utf-8?B?TS82TzQxclJKWm94L2RkNHRua0tuVk83dnlMRkZ3L0dXZFRlWE9qQ1RYd1FC?=
 =?utf-8?B?RUtXK3NwMjVqUWI5K0JqdFc4a29Md0c2Y3hwZnRBeXRXMG04Q0h3bG1yN200?=
 =?utf-8?B?V040cmxpdUVneHhySmtNdUllTkczZjg4SWZhVEp5QStUaWxnTU9KYm16U2Rk?=
 =?utf-8?B?dFpRMFBNRzdGN1pFdXZTcUZFUUFpRlNUeC9Ea1IzRG9ndGgzR3hmSG5QZjNL?=
 =?utf-8?B?Unc5YlNtNkU5ODZudkpLUFpncGF4akpra1pwQWdodWNZZUdzU3RYN2xBekhp?=
 =?utf-8?B?eDEramRZSGRDV205cVphcXZyWlU5Q2tEWXdyKzllY0tvV1lURFRtcHVJL0I1?=
 =?utf-8?B?dzExTzliUTA1ZldubklDV0ZncFRqYXhmdDBNMXZicUlYUnpJL1J1VXdaQml2?=
 =?utf-8?B?czZiQWhkUXlHQzJuVzloWFNFWnR5MiswK0hPZWRJd1dGRmVaekJzRVhQZ2Mx?=
 =?utf-8?B?MlUwSSs4TmFhdHhqS2RqNTU3RkNuSlVXK3V6UTNqNXpBTEZpS29yNytGWVlP?=
 =?utf-8?B?U01BcHdEcUZZWGRHZkZDVStYZ0xRbGtJOFUyTGZ5UkRKSGxUTFp6L0l6alVS?=
 =?utf-8?B?ODlzN1V1Q2VRaENWL09pT01tMEZOK0l0QkRkcnU5VHFjc3E4L2VQMFhLWWoy?=
 =?utf-8?B?SVJ2SlU4eGo3VCs1WFdsV0pidllad0ZZREp4d0JNYkZXeUs4cXN3MG1aOXAv?=
 =?utf-8?B?dForMVJkV0NCRDFJbUdwOXFUamxKeUxvN25BaE1TQ2xHY0JaUWZKS0JDV21S?=
 =?utf-8?B?QjhCaXZMMU5hUEkxUDZIWmRzUkxnelJXcFdQenUrVjFKL0xQRkw0VHBFN2Jz?=
 =?utf-8?B?RzZJTVFnUmdjbXJQNVRJeGJyWEI1Z1hBMEF3bEpDdWV6a21tbDdwL1ZCZUkr?=
 =?utf-8?B?MkZjTklCdVIrelVvMStDK0RaekM0WGkyakhVUFdidENjRSttY1owVFdOL3M0?=
 =?utf-8?B?NlhNOWR5RlIvUWdNQjN5NGwxenp5QmV4Zm52cU90VlhLTGdJVkw1aHJYVjlX?=
 =?utf-8?B?czc5YTBxd2dZZWZqNVJPZUd6eXpLbi8zaXFHOG00N2ZmemZMZ3VnbElrcWlw?=
 =?utf-8?B?TGZVSHFIV3lKZ2tNZGx0Y3NaM003KytTRTlMZXJ0b24yNlpXNmk1RmRXWjlE?=
 =?utf-8?B?QWJCNWIrODlYRUN2ODVuaU5LSDQwWTYvdUljNmJESkVZT3RTcHVKU3BNcjFG?=
 =?utf-8?B?czFNK1dTZjdyQmJIcWduUllsS3JENE5RYlM0UUgyTUVzTWlzVjI1c1JzNHVP?=
 =?utf-8?B?bXAvOEgvVGZ4OXpMcWQ3NFYrRDB2SUJvaHpjQVFaTFBpQmlxcEJxK1Y5eVlR?=
 =?utf-8?B?ZGEyTEVkV29EV0tWUlA1VXk0UXZ6YWNmWUVQdXVxcGdNMW1raGNYdDcydzZU?=
 =?utf-8?B?cFloSkprenFlSUNXbzRQaFpXcnNmYUdJKzNheFJkM0tMUXhldWMvNmprUUlv?=
 =?utf-8?B?WHpvbDA3YzBDcEFCZGwvQm9LVXM1UHFYL0RyY1ZqYm8xSmNLM1FLNmlhMEtU?=
 =?utf-8?Q?TRZiy/HL/tEb7W5mDm7Mhpw=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c1491485-c243-4da6-9dc7-08d9d69a697b
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2022 13:41:33.3681
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6mGJOwjI0tYugDopapfA+jjA614DRNkPcC0DJxnjh38kuraXbnvhZdDDpwLQ2DqQbPLsLqxRlKOCS+L6F9ej9g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4605

Calibration logic assumes that the platform timer (HPET or ACPI PM
timer) and the TSC are read at about the same time. This assumption may
not hold when a long latency event (e.g. SMI or NMI) occurs between the
two reads. Reduce the risk of reading uncorrelated values by doing at
least four pairs of reads, using the tuple where the delta between the
enclosing TSC reads was smallest. From the fourth iteration onwards bail
if the new TSC delta isn't better (smaller) than the best earlier one.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Obviously (I think) instead of having both read_{hpet,pmtmr}_and_tsc()
the calibration logic could be folded between HPET and PMTMR, at the
expense of a couple more indirect calls (which may not be that much of a
problem as this is all boot-time only). Really such folding would have
been possible already before, just that the amount of duplicate code
hasn't been this large so far. IOW if so desired, then perhaps the
folding should be a separate prereq patch.

--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -392,9 +392,36 @@ static u64 read_hpet_count(void)
     return hpet_read32(HPET_COUNTER);
 }
 
+static uint32_t __init read_hpet_and_tsc(uint64_t *tsc)
+{
+    uint64_t tsc_prev = *tsc = rdtsc_ordered(), tsc_min = ~0;
+    uint32_t best = best;
+    unsigned int i;
+
+    for ( i = 0; ; ++i )
+    {
+        uint32_t hpet = hpet_read32(HPET_COUNTER);
+        uint64_t tsc_cur = rdtsc_ordered();
+        uint64_t tsc_delta = tsc_cur - tsc_prev;
+
+        if ( tsc_delta < tsc_min )
+        {
+            tsc_min = tsc_delta;
+            *tsc = tsc_cur;
+            best = hpet;
+        }
+        else if ( i > 2 )
+            break;
+
+        tsc_prev = tsc_cur;
+    }
+
+    return best;
+}
+
 static int64_t __init init_hpet(struct platform_timesource *pts)
 {
-    uint64_t hpet_rate, start;
+    uint64_t hpet_rate, start, end;
     uint32_t count, target, elapsed;
     /*
      * Allow HPET to be setup, but report a frequency of 0 so it's not selected
@@ -466,13 +493,13 @@ static int64_t __init init_hpet(struct p
 
     pts->frequency = hpet_rate;
 
-    count = hpet_read32(HPET_COUNTER);
-    start = rdtsc_ordered();
+    count = read_hpet_and_tsc(&start);
     target = CALIBRATE_VALUE(hpet_rate);
     while ( (elapsed = hpet_read32(HPET_COUNTER) - count) < target )
         continue;
+    elapsed = read_hpet_and_tsc(&end) - count;
 
-    return adjust_elapsed(rdtsc_ordered() - start, elapsed, target);
+    return adjust_elapsed(end - start, elapsed, target);
 }
 
 static void resume_hpet(struct platform_timesource *pts)
@@ -505,9 +532,36 @@ static u64 read_pmtimer_count(void)
     return inl(pmtmr_ioport);
 }
 
+static uint32_t __init read_pmtmr_and_tsc(uint64_t *tsc)
+{
+    uint64_t tsc_prev = *tsc = rdtsc_ordered(), tsc_min = ~0;
+    uint32_t best = best;
+    unsigned int i;
+
+    for ( i = 0; ; ++i )
+    {
+        uint32_t pmtmr = inl(pmtmr_ioport);
+        uint64_t tsc_cur = rdtsc_ordered();
+        uint64_t tsc_delta = tsc_cur - tsc_prev;
+
+        if ( tsc_delta < tsc_min )
+        {
+            tsc_min = tsc_delta;
+            *tsc = tsc_cur;
+            best = pmtmr;
+        }
+        else if ( i > 2 )
+            break;
+
+        tsc_prev = tsc_cur;
+    }
+
+    return best;
+}
+
 static s64 __init init_pmtimer(struct platform_timesource *pts)
 {
-    uint64_t start;
+    uint64_t start, end;
     uint32_t count, target, mask, elapsed;
 
     if ( !pmtmr_ioport || (pmtmr_width != 24 && pmtmr_width != 32) )
@@ -516,13 +570,13 @@ static s64 __init init_pmtimer(struct pl
     pts->counter_bits = pmtmr_width;
     mask = 0xffffffff >> (32 - pmtmr_width);
 
-    count = inl(pmtmr_ioport);
-    start = rdtsc_ordered();
+    count = read_pmtmr_and_tsc(&start);
     target = CALIBRATE_VALUE(ACPI_PM_FREQUENCY);
-    while ( (elapsed = (inl(pmtmr_ioport) - count) & mask) < target )
+    while ( ((inl(pmtmr_ioport) - count) & mask) < target )
         continue;
+    elapsed = read_pmtmr_and_tsc(&end) - count;
 
-    return adjust_elapsed(rdtsc_ordered() - start, elapsed, target);
+    return adjust_elapsed(end - start, elapsed, target);
 }
 
 static struct platform_timesource __initdata plt_pmtimer =



From xen-devel-bounces@lists.xenproject.org Thu Jan 13 13:51:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 13:51:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257227.441956 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n80Vg-0005jH-FM; Thu, 13 Jan 2022 13:51:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257227.441956; Thu, 13 Jan 2022 13:51:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n80Vg-0005jA-CW; Thu, 13 Jan 2022 13:51:24 +0000
Received: by outflank-mailman (input) for mailman id 257227;
 Thu, 13 Jan 2022 13:51:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4514=R5=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1n80Ve-0005j4-Qb
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 13:51:22 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e287c8d8-7477-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 14:51:21 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e287c8d8-7477-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642081881;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=HuVwzl2dTBFRt065R7TXfUhehKG/ptrawwgpkETPl9o=;
  b=YgTKh/wvpvixYR6IOovj3UFYmI5zHT2jzI0jyUY4qFhRoAiTKvNpGDpG
   gNfZUcJ49sOaIVZjp7s/YxAZQmlpVfJ6PD9wPuuV+7zVAMhwerBQuLDpv
   IkJhGEy4v36T2z5Ih6F7cujpKyaUvPjdmx+FtD1v35u+15fd5xN7WFTSX
   U=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: TgXrbY/lMr9iSDxOUJGTgMo1IVtlGOCu0A8BOLRDpKBQcDX4MOk2J/K0xxQDXKWWKosVm1h37F
 HSxUzzdLzyp8UO8G02WSlCCoVrWaRgWdAh1hKsbVboQAbgYBVlJEIAIqDAuDxQIt0B5xFb6NuZ
 7iVw+YgjGieMt/2ovNxxqW4tQos8FIlSNngh7SMwaOI29sxVz5U5z3arIz2doaHC+vtTGJzL7d
 Fs2ZKhzyAPItiM1q6ffRrXN8L6yZyZanPWfY2NUgiJ7vEdJHQ34Cz7RPPEGElbsBmP4loOnHFG
 SXqK8v9jr74LQs3LaAOIBCor
X-SBRS: 5.2
X-MesageID: 61837954
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:InHIaa34T8g8hmE2rvbD5Qd2kn2cJEfYwER7XKvMYLTBsI5bpzxTy
 2sWXj2OOq2JZzP2LtolYdni9kkG78KEydZnHAJkpC1hF35El5HIVI+TRqvS04J+DSFhoGZPt
 Zh2hgzodZhsJpPkS5PE3oHJ9RGQ74nRLlbHILOCanAZqTNMEn9700o6wrVh2OaEvPDia++zk
 YKqyyHgEAfNNw5cagr4PIra9XuDFNyr0N8plgRWicJj5TcypFFMZH4rHomjLmOQf2VhNrXSq
 9Avbl2O1jixEx8FUrtJm1tgG6EAaua60QOm0hK6V0U+6/TrS+NbPqsTbZIhhUlrZzqhg+p/0
 9VOvLeKUgo7J6rAws0kcztADHQrVUFG0OevzXmXtMWSywvNcmf2wuUoB0YzVWEa0r8pWycUr
 6VecW1TKEDY7w616OvTpu1Er8IvNsT0eqgYvWlt12rxBvc6W5HTBa7N4Le02R9u35AVQqeDO
 6L1bxJjSgjfXA1fNW0XDasfpsi22FfdQzRX/Qf9Sa0fvDGIkV0ZPKLWGMXRUsyHQ4NShEnwj
 kDs8nn9AxoaHMeC0jfD+XWp7sffkCW+VI8MGbmQ8v9xnEbV1mEVEAcRV1awvb++kEHWZj5EA
 xVKoGx09/F0rRH1CImmN/GlnJKalgImVcFQEOQR0hqA2LPT71ywP0gmViEUPbTKq/QKbTAt0
 1aImfbgCjpurKCZRBqhy1uEkd+hEXNLdDFfPEfoWSNAuoC++99r0nojW/4+SPbdszHjJd3nL
 9lmRgAajq5bs8ME3r7TEbvv02P1/cihouLYC2zqsoOZAuFRON/Ni2+AswGzARN8wGCxFAnpU
 J8swZn20Qz2JcvR/BFhuc1UdF1T296LMSfHnXlkFIQ7+jKm9haLJN4Mumknfx83bpZfI1cFh
 XM/XysLtPe/21PwPMdKj3+ZUZx2ncAM6/y4PhwrUja+SscoL1LWlM2fTUWRw3rsgCARfVIXY
 v+mnTKXJS9CU8xPlWPuL89EiOND7n1gmQv7GM6qpzz6gev2TCPEEt8tbQrRBt3VGYvZ+m05B
 f4FaZvTo/ieOcWjChTqHXk7dgFVfSNlVMGv+6S6tIere2JbJY3oMNeJqZtJRmCvt/U9ej7g8
 i7vV0lG5kD4gHGbewyGZmo6MOHkXIplrGJ9NispZA76138maIepzaEea5poIuV3qL09laZ5H
 6sfZsGNIvVTUTCbqT4TWobw8d55fxOxiAPQYyf8OGojf4RtThDi88P/ele97zEHCye67JNso
 7Cp2g7Bb4AEQgBuUJTfZP61lgvjtnkBguNiGUDPJ4ALKknr9YFrLQ33j+M2fJ5QeUmSmGPC2
 l/PUxkCpOTLr4sky/XzhPiJ/9WzDu9zPktGBG2Hv7y4AjbXozi4yohaXefWIT2EDDHo+L+vb
 Pl+xu3nNKFVh05DtodxHuo5za864Nez9bZWwh49QSfOZlWvTLhhPmOHzY9EsagUnu1Vvg6/W
 0Su/NhGOOrWZJO5QQBJfAd1PP6e0fw0myXJ6aVnKUr30yZ74b6bXBgAJBKLkiFccON4PY5NL
 T3NYyLKB9hTUiYXD+s=
IronPort-HdrOrdr: A9a23:xf7ESaHqRoyJcDwNpLqE5MeALOsnbusQ8zAXP0AYc3Jom6uj5q
 eTdZUgpHvJYVkqOE3I9ertBEDiewK4yXcW2/hzAV7KZmCP0wHEEGgL1/qF/9SKIUzDH4Bmup
 uIC5IOauHNMQ==
X-IronPort-AV: E=Sophos;i="5.88,286,1635220800"; 
   d="scan'208";a="61837954"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH] x86/hvm: Improve hvm_set_guest_pat() code generation
Date: Thu, 13 Jan 2022 13:50:35 +0000
Message-ID: <20220113135035.23361-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

This is a fastpath on virtual vmentry/exit, and forcing guest_pat to be
spilled to the stack is bad.  Performing the shift in a register is far more
efficient.

Drop the (IMO useless) log message.  MSR_PAT only gets altered on boot, and a
bad value will be entirely evident in the ensuing #GP backtrace.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 xen/arch/x86/hvm/hvm.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index d233550ae47b..e3c9b3794544 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -299,13 +299,13 @@ void hvm_get_guest_pat(struct vcpu *v, u64 *guest_pat)
         *guest_pat = v->arch.hvm.pat_cr;
 }
 
-int hvm_set_guest_pat(struct vcpu *v, u64 guest_pat)
+int hvm_set_guest_pat(struct vcpu *v, uint64_t guest_pat)
 {
-    int i;
-    uint8_t *value = (uint8_t *)&guest_pat;
+    unsigned int i;
+    uint64_t tmp;
 
-    for ( i = 0; i < 8; i++ )
-        switch ( value[i] )
+    for ( i = 0, tmp = guest_pat; i < 8; i++, tmp >>= 8 )
+        switch ( tmp & 0xff )
         {
         case PAT_TYPE_UC_MINUS:
         case PAT_TYPE_UNCACHABLE:
@@ -313,10 +313,9 @@ int hvm_set_guest_pat(struct vcpu *v, u64 guest_pat)
         case PAT_TYPE_WRCOMB:
         case PAT_TYPE_WRPROT:
         case PAT_TYPE_WRTHROUGH:
-            break;
+            continue;
+
         default:
-            HVM_DBG_LOG(DBG_LEVEL_MSR, "invalid guest PAT: %"PRIx64"\n",
-                        guest_pat); 
             return 0;
         }
 
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Thu Jan 13 14:38:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 14:38:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257234.441968 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n81Ez-0001lo-7B; Thu, 13 Jan 2022 14:38:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257234.441968; Thu, 13 Jan 2022 14:38: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 1n81Ez-0001lh-4C; Thu, 13 Jan 2022 14:38:13 +0000
Received: by outflank-mailman (input) for mailman id 257234;
 Thu, 13 Jan 2022 14:38:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fwfT=R5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n81Ex-0001lb-So
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 14:38:11 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6d6743ba-747e-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 15:38:09 +0100 (CET)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2058.outbound.protection.outlook.com [104.47.0.58]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-25-z7reXLKcPQan4XjiJzb8NA-1; Thu, 13 Jan 2022 15:38:08 +0100
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.4867.9; Thu, 13 Jan
 2022 14:38:06 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Thu, 13 Jan 2022
 14:38: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: 6d6743ba-747e-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642084689;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=o5l7mYvMRindQ5jgt2KWQXZ2pHbCUeMeGbQPS1Rqtcc=;
	b=d6xd0Wqs1SLqkVlzn+50RTX1AMBSdiI0oJHoLqp54bZtq/oC58NNSm+kqC7xM+sA+lF1V7
	+0gnqnURr8R5DLmld4jBotlEhdpbYByFwmDtW/sm+Djn5q+vJCNKbhGlUtm8xELQAQhJpd
	LTnJzEZB5gCcv/IPAAwB7oabfmO5T4k=
X-MC-Unique: z7reXLKcPQan4XjiJzb8NA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=j7/t61jJw5tZOjHSMF6rAF09JAyPXCcMijSuXr4O2dPFJzEVOs3vVt4nfjRVlal+KYIWu/3wNn7SBnufX77jYsn8uN581UXVid8GSjj+NOLBOIQDLwr6l4REA/Y7VOkW4Ffa1OF//tP8iEc+2oxSUZHwGD7IiuU5DjyH9qMoHMyGP4DG5HZE4wC7El1kj0mTKkv+MWkA/IjSdiqCFdcnsNihsTuCc4CoZJHq9eriDnx2k5e+PsUYvEO2oCczyhJN761/ctCu2M2PH+0NLLHs8KUFarYi7LPVlTM4+DYZVNcjUibVhVlbGtf2xyQUldSi7IC1HzisVPxBnJB+exL8og==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=o5l7mYvMRindQ5jgt2KWQXZ2pHbCUeMeGbQPS1Rqtcc=;
 b=YDsF4O3oJfB6RS9S2nv9N3pn+t3ikEcxVnygvZO/Egz4BoNWIAqKoC05FeQ7yNkyk2ZGAr31KA6t9X9/MEDbT+ou1Ed/y07zQl+oAflARSYanpMF+wIaUAEAyanhVcBT5eOGR9scGnIzX4RyFpGz75+aHLoIx7dRhYXR/OtG6ZKH8Q8/7FI26zqG+Bx96kjjUHAZ7eFnaryPyiAAhXaxFwPlELoGeZNI68N7MbsJXlZI7dBtrf82nHWo3nCRzHqh9udibCzaZVOmGObfOFuortHvdVg2PBBN9isRW1HlcpcNIBDxhfex9fb9m7J/TazVC1u54FESVaf1VoFxnDgbtQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <bfbe31d2-4d67-d7fc-4bb0-5b2caf209460@suse.com>
Date: Thu, 13 Jan 2022 15:38:04 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH] x86/hvm: Improve hvm_set_guest_pat() code generation
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220113135035.23361-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220113135035.23361-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P195CA0064.EURP195.PROD.OUTLOOK.COM
 (2603:10a6:209:87::41) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b0271b7c-fa9a-4ade-d759-08d9d6a24fd3
X-MS-TrafficTypeDiagnostic: VI1PR04MB6175:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB6175C8210C178127FB235600B3539@VI1PR04MB6175.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:923;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	d3DilSWuLD+3wcvmeMUh70HnEop5/D3aH9Wbx1PmDBgC63nDRBOO8VtcBxhf/Wj3vJFCuVSn/Q/x3NKLw3JJyQDoEJEApdj1eUgWU8ZNB8psB2ZyjQVhWNOzx5j50W3hfhs/Q4AQelq91Q1DI1BK/q5N/ZI/fCJFr+T7Rrl4GPHewPW7PjY9dW2WY/iI6/zia5tYb3XUiLWcWM1k0STIbo4N+qO664BK/m7uU+w4/QEelNil+mxZwM1ew15/WjjikWqzdIc37FEhw6y9EIRslxRO5vJ9b5zBPxu4VYOu5US8fi8BCRy/XgI5w2OWi3afgIBvNRc6oUjXpbvtt1NU3IETc40PGHrTesUbfv455gTO3nyNtRW+wBvFec4jrnbEAs7O4XJ5bHFhSeX7VulcqMKQaS8wbmlff+neG5k/pAhX3EqiT5lhw8+MLeBIOoksBfVD/Jz/2eQfWjF77Z55pIpsUId9P+FoWG8siv3m4pTBFoRnwAopNdA3Gcog+/DY5I2BnI7zuLx/Iu0Amfd3c77hyVMoXQzDayDBcVSoVcX3s47sBsnRn7MoGb9smM5pz44yGN8mpqihS22fZG+wdk5/Q34krhB2eIFpxzRRYAPsYcRj6kJ1cqd61TK+JVPMIbjsjBTbdrHD3i12u5PLwNzgV/Up+dWhrrkItdrvtyUEY4NNhFpvBSBvfS0jvaDSf9fmQ5yFaL/ixD1tNWCk7sS73K+7y+PyHh95JiTljFk=
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)(6512007)(54906003)(53546011)(26005)(8936002)(83380400001)(31696002)(2906002)(36756003)(38100700002)(6506007)(6486002)(508600001)(5660300002)(66556008)(31686004)(4744005)(186003)(316002)(66476007)(6916009)(66946007)(2616005)(86362001)(8676002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c0ZrdEZVOTFjSEcwVm5pS2RoVGh2a2NPejZNc1ZKZDVtNktrakoxdm04NTA3?=
 =?utf-8?B?M0x3Y28rWjY0L1hzaTYvWFhlNks1c3NXd0pMSVVEMmNvajkzbmNteXFIUDYz?=
 =?utf-8?B?SlRwSkxGMVh3YVBQOGxTWkNDcDJKV1lCOHMzMEd0WGJ6d3E4Y0lkcWVNaVRX?=
 =?utf-8?B?RjE2bTRmck1uZGkydVRLSExmUFYxZm9Gcm5ObWgrV1RzYkJ3N0JXZE93Q1ZV?=
 =?utf-8?B?cXBXTUU0Ui9aR1VYRXpVV2hEWVpoVG45OHlSVlhRZTRMSm1RU2FKd3hMdG5I?=
 =?utf-8?B?QmlzQ0hIcWZMRWFVcFVDem05cTUzRnErazQ0WHZ3OGszQjE5dGE2UHdqd3lL?=
 =?utf-8?B?SDZVSUZiN25udVVZSi90cHA3V2hRSkRKTkJHNGV5Vi9pMEQ4L3c2OFpZalFE?=
 =?utf-8?B?WUFNZ0V3aURNSWhzN3p5UVliNWhPVnBlbzJ2UFhwbmw3MW1hZFJHOCtveFV2?=
 =?utf-8?B?anNTMkdaTGZKS21BTDI3aWp2QXlEb2M2NFJ5SG1Jc09YblZ4MXdMeGFseEUy?=
 =?utf-8?B?K2Q2ME81YVQwdVkyOXdjaE5JRkFQR1hMMmpSRTdiWDdHZlZOcEc5elRSR0tM?=
 =?utf-8?B?cGVvTkhvNnpyc1lFRWx2a2VmdVc3TDZVQzY0RU9wYkNJSzBmcmdSaTlXWjRn?=
 =?utf-8?B?WGtNbTRXRzVBVW4yeWI3bDdqWUZ6UjlnNzBmZzlCNXhJVnhFTXVYaEU1NHo3?=
 =?utf-8?B?Q2x4VXRBRDZMWWdPckh2UDN0THRkQzZ1eWRRbFBWdnVheVZZcHdMdVhmMFUz?=
 =?utf-8?B?TjJYWnQ4em85WXlSdUJDUmJaTFdqTjZDNkxLdWRNbk55bWI5Q1cvdTJXZUdP?=
 =?utf-8?B?ZzVrU1A2WTNlQXdqclNZY3R3QTA5VDN6bzVhMml2aEhRS0ptalBaNnVxZ3I2?=
 =?utf-8?B?T1NnckRQS3RKNVd1Si80SzRQZ011YTdiU3A5QXJwdjBwNFpFRnhBTHdJd2tL?=
 =?utf-8?B?d2gxdnptY2VrOFNuV1JnbngxUlVrRVgwdUMyTjlJeWRqVUx4N0lQN2tvdmFt?=
 =?utf-8?B?dkZ0eUpmRjhBOTMyclNVNit2Z1FmMklhVDhWa0xlQ2NDYnpnWkNTN1RzZXVI?=
 =?utf-8?B?cG9VaU04SWQ2WmhhcXBqMHpXaGN0OGRIdnJsR1E0YXpxV3pQb2RKMTRsY0lu?=
 =?utf-8?B?SUY0SHlCU1RiOWNyNzhiVit1YkdkcHl5L3NYLzFjTVVHUEFjUnMwVHBydjJQ?=
 =?utf-8?B?YnBGOVZDWG1nK3RCQnVKeG9mR2RKcmVzbmU2elNOeGdmUkw0cndiSCtPZlJO?=
 =?utf-8?B?Ukxhb3lsR0szUzV2cXptdFF1U3hsL1BGOGxuR2JKREdSWWoxVFhOSWl3L1lO?=
 =?utf-8?B?QW9wTVJVMldPeHNDMzNVckZtMG1VaE9OakFRclJUTXY2ckYrTitncmRDek9G?=
 =?utf-8?B?a0ZxZXl6Q1lsRXZRK0FrbHNGQWgyWWVMODE5TjJyNnFieGxXSzk0WE9sZ2pF?=
 =?utf-8?B?UU1ZZHgxbm5NcnJDTlh3WDFEYVRMU0tZMVUxSFBYamw3M1YrWm04RUt0YUdT?=
 =?utf-8?B?UVhuYkEzUGVpU2JkNEppcWR2TGdZQlBYU3BWQlp3cVloWVJKSG02TEVJRmd3?=
 =?utf-8?B?YjBoSnJqeThXZDlTalVWUkJJRzFjNmJOaWM2UHJpVHUycytnd2R1WFg1LzdC?=
 =?utf-8?B?bkR6UTNycHdUSTdJamgvOEwzOE93c2JtQXRVR3BHTlFGUm8wVjFVeWpobTJk?=
 =?utf-8?B?czBGOTAySnNnZFNuS2JWbklJYlJ1bXk3WHE1THBjN1Ewa01pUlZPNmY5di9C?=
 =?utf-8?B?dExQamhDVFNBTkgwbHVVbG5FYkJGU1NoNEdhR0RrbDFRZ2FNKyswcTlXRnJR?=
 =?utf-8?B?cTVRQU5YdFFiaE16cmRmOTNUUzRqWXZ6bVFDeFdNMElmNkxTdCtoUGRXRUFw?=
 =?utf-8?B?dXA0cDZ3MjltTnpKYmRlbUxrbHB2TDJKdmg3NlVva0paOWJZUnd3OWNWVjhC?=
 =?utf-8?B?RmRkVXlFL1p2OHBsa0U1aXFBZVMzR3A3MFRmck1ncGxBWFdkaVg3dVkzTUdR?=
 =?utf-8?B?RnU0RHFWMW9oZHcvVUJuRnB6eVBleTYrbWhmUVNFeHVIYS9GN1B1anN3aG1H?=
 =?utf-8?B?ZUlkZnRSY29MYlBhZFRiRjliYnhZUS9LTGd5OVdVVUZaVXpHbTBaQ2VyK1M4?=
 =?utf-8?B?WEVtYi9IY0YyTlJLWmRFWnV1T21GdSs4ZmFPQ3huVDNwcmZ0bHY3RzN4WVU3?=
 =?utf-8?Q?krFdMowEltV8PwpOa/TdJj4=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b0271b7c-fa9a-4ade-d759-08d9d6a24fd3
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2022 14:38:06.4363
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6IEFDVODB7EhtBCV5HJr2TXyfLJbt+zlqDxIHCYCS69VynXTo5qZ4NwnltXPO36lVsKtIzv5daCBhbryilAqbQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6175

On 13.01.2022 14:50, Andrew Cooper wrote:
> This is a fastpath on virtual vmentry/exit, and forcing guest_pat to be
> spilled to the stack is bad.  Performing the shift in a register is far more
> efficient.
> 
> Drop the (IMO useless) log message.  MSR_PAT only gets altered on boot, and a
> bad value will be entirely evident in the ensuing #GP backtrace.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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

I'm curious though why ...

> @@ -313,10 +313,9 @@ int hvm_set_guest_pat(struct vcpu *v, u64 guest_pat)
>          case PAT_TYPE_WRCOMB:
>          case PAT_TYPE_WRPROT:
>          case PAT_TYPE_WRTHROUGH:
> -            break;
> +            continue;

... you're going from "break" to "continue" here.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 13 14:45:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 14:45:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257238.441979 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n81Lg-0003AF-W6; Thu, 13 Jan 2022 14:45:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257238.441979; Thu, 13 Jan 2022 14:45:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n81Lg-0003A8-SG; Thu, 13 Jan 2022 14:45:08 +0000
Received: by outflank-mailman (input) for mailman id 257238;
 Thu, 13 Jan 2022 14:45:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YVjj=R5=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n81Lf-0003A2-Da
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 14:45:07 +0000
Received: from ppsw-43.csi.cam.ac.uk (ppsw-43.csi.cam.ac.uk [131.111.8.143])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6570ddbd-747f-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 15:45:05 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:51244)
 by ppsw-43.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.139]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n81Lc-0004GI-pX (Exim 4.95) (return-path <amc96@srcf.net>);
 Thu, 13 Jan 2022 14:45:04 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id AD1831FAB6;
 Thu, 13 Jan 2022 14:45:04 +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: 6570ddbd-747f-11ec-a563-1748fde96b53
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <26235a19-4c4c-3bb9-3740-94306c773e26@srcf.net>
Date: Thu, 13 Jan 2022 14:45:04 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Subject: Re: [PATCH] x86/hvm: Improve hvm_set_guest_pat() code generation
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220113135035.23361-1-andrew.cooper3@citrix.com>
 <bfbe31d2-4d67-d7fc-4bb0-5b2caf209460@suse.com>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <bfbe31d2-4d67-d7fc-4bb0-5b2caf209460@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13/01/2022 14:38, Jan Beulich wrote:
> On 13.01.2022 14:50, Andrew Cooper wrote:
>> This is a fastpath on virtual vmentry/exit, and forcing guest_pat to be
>> spilled to the stack is bad.  Performing the shift in a register is far more
>> efficient.
>>
>> Drop the (IMO useless) log message.  MSR_PAT only gets altered on boot, and a
>> bad value will be entirely evident in the ensuing #GP backtrace.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>
> I'm curious though why ...
>
>> @@ -313,10 +313,9 @@ int hvm_set_guest_pat(struct vcpu *v, u64 guest_pat)
>>          case PAT_TYPE_WRCOMB:
>>          case PAT_TYPE_WRPROT:
>>          case PAT_TYPE_WRTHROUGH:
>> -            break;
>> +            continue;
> ... you're going from "break" to "continue" here.

I went through a couple of iterations, including one not having a switch
statement at all.

Personally, I think continue is clearer to follow in constructs such as
this, because it is clearly bound to the loop, while the break logic
only works due to the switch being the final (only) clause.

~Andrew

P.S. if you want to see a hilarious Clang (mis)feature, check out
https://godbolt.org/z/7z6PnKP31 - scroll to the bottom of the -O2 output.


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 15:00:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 15:00:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257242.441990 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n81a0-0004it-9v; Thu, 13 Jan 2022 14:59:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257242.441990; Thu, 13 Jan 2022 14: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 1n81a0-0004im-6P; Thu, 13 Jan 2022 14:59:56 +0000
Received: by outflank-mailman (input) for mailman id 257242;
 Thu, 13 Jan 2022 14:59:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fwfT=R5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n81Zy-0004ig-RB
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 14:59:54 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 768f0100-7481-11ec-bcf3-e9554a921baa;
 Thu, 13 Jan 2022 15:59:53 +0100 (CET)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2059.outbound.protection.outlook.com [104.47.12.59]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-35-g8Bk302DPB6JLiyM5xy10w-1; Thu, 13 Jan 2022 15:59:51 +0100
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.4867.9; Thu, 13 Jan
 2022 14:59:49 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Thu, 13 Jan 2022
 14:59: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: 768f0100-7481-11ec-bcf3-e9554a921baa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642085992;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=f8ITnExiHu8U/qU56duDMiO+CW2rnT+AKznX+0j0i6Q=;
	b=H9lrJhHmLkFJCLtVI/g9LzrZyTOex5otyuTK6wrEevW2aj/RJjXQz5d4RldCnmDUQYSvra
	3k9UyvSxWsQQ3T4oqWgTGjfjrObZVp9MQlbz3zPkC9X3AUFUkQxXXzIdWVMTKrCNNuYwp6
	6hrlIHUJV1IihU9ov7wOd63F/4A0FaU=
X-MC-Unique: g8Bk302DPB6JLiyM5xy10w-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UybwcT/5AnZh68q/5HPoe+C64MdYRgdNDYI6UNmKnIgYr5hp3bk5obT9DZIfjr664bKls94GUgB8W0Ga/p8Eh9eJHSFZ4LzQaJyFV51g76qoGMrFxJMe2m5f2rvLqlmX7ZbdZpJD5s4Ao8ghgYI3K2/BQvTi3jIi2/Z50+pN+hJWgTPlOs62sHErkgljnOU775KwVR78uJDCpgBhlplxVzJ0Eqz7I8wwPoKrw58Dei8UQ9O3yxzCjOimA529KT4HUNi29UK8xYY/2HdqT3LAzEYvIKUJz7Kgyn3trIKUr9wucFh8yj38VTa5moyK+UAaq5vVavXe6JuX2rBDSDU8/g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=f8ITnExiHu8U/qU56duDMiO+CW2rnT+AKznX+0j0i6Q=;
 b=T0PCX0n+eam78Fv9qmtTWj6teaJELdenOp296Umqy+2g4P6tcTYlXB+ShrgaE8OCmNn+qHZ5BrbIprRnZy9cNZIuf8pGcbzXxOAdi5pKTnuy9pZGTf/CT5/44MlXCPZkBtGhcq4OfxtD6esIl+HPJq2muDa4vYYlrUf2I81tBXg53TI8qnFp9ZM7LxBhg+VMOPrMn7+oueWN/wrEwZQly7Jl0Sar4JQ1TqvxE7v51x8l+n2plxBjAyUu1XvDEIy5TwLhNSqIVsNFRD6pNZQnnZc7rPXwDvaF+l226/5ZYggZmllr7DIRys69+2K+jsifrHOxuVWCmcTLUjLFrNN+nw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <26d0a352-d489-2952-c527-a90118a00bfb@suse.com>
Date: Thu, 13 Jan 2022 15:59:47 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH] x86/hvm: Improve hvm_set_guest_pat() code generation
Content-Language: en-US
To: Andrew Cooper <amc96@srcf.net>, 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: <20220113135035.23361-1-andrew.cooper3@citrix.com>
 <bfbe31d2-4d67-d7fc-4bb0-5b2caf209460@suse.com>
 <26235a19-4c4c-3bb9-3740-94306c773e26@srcf.net>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <26235a19-4c4c-3bb9-3740-94306c773e26@srcf.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR08CA0009.eurprd08.prod.outlook.com
 (2603:10a6:20b:b2::21) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 75b801d1-1d40-45e3-e53e-08d9d6a55869
X-MS-TrafficTypeDiagnostic: VI1PR04MB5901:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB59012F77B861F105287C39CBB3539@VI1PR04MB5901.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:
	3T1F9urJ1Ms6iemVzYkHbbUH5N9pEzSXJ1UzgDWRnl1vzZpwIldF87F7JMo/9HtfR/s2RJJyvnRVbNj7F/pFXmIM00VrYXn9nmbiGxRMb/P3cmqM7uQb7IF2XK7zO6Fw5odD2clybx8ZfRGoZmZmkSQYdm7HvT+7ZaIvfItJJ64v1SRkDCGznZDA/zRxW4CKsukc3nbrSjko57Tvfz+vNHGQME80V2pFvOt03nEnwsBWK/lKRsogmT7ST7YSt24iIcJUHNAKWjC3qkZ8pcebpI2s9UKmkuL1tw+fq1/AL1MxjOWTu4ynpc5SopLY25CT+ad9uaOhAzea1Ny6WkWOheYNa2eD4NLKKkxB+aiJhknxdXJLCoscC/RrLP20n2+3hmFQ8shB6tXz4/tgunXgbTLXhuQiHdVvApwg3r7c0hk/L+ul4sQen4xbcLJanX7vWdhZiAhsUkF8aHptoUoecnv6sDWpydVcty96goXDnScGC1WjVuonXWKYLkk7zGWaCX9sjKvP8krDtfFzUZ2nt9kliFCg1uZPTtS2h+0cVBfy6dxXHSWFwsaT6qeSOmYZZcsClYSQw0CSVAz/D9cIjLTmaEeGZ9iYeXj+jGDwvdNb1srTD25svWCyVQju6oZBr4ID4y1zaRM8Qh4HCC9fNshnG3vL4AQeVPUxuoDOpG27uq8DqvqMYm5Q8ns/yoAE4m/ZJaDpHacnfekfdmK0oXjZeG9Q+NEsirguBKCXewim5wi393MXkTOZhstuHQ55kuA8GHMln300XGKLGGNc+nCariv6bAZF3J+n9k1T4cL6Pz0rJ4nxmTOXtbpvHLriKEq3bjs1aHX6XJlDPlFNrA==
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)(186003)(5660300002)(8676002)(83380400001)(31686004)(4326008)(6512007)(26005)(8936002)(54906003)(110136005)(508600001)(966005)(66946007)(66556008)(31696002)(6506007)(38100700002)(6486002)(53546011)(2906002)(2616005)(36756003)(316002)(66476007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Rnc2Y0hNOGs3R2t2K2lVOTFJZVR6TVFQM1YwUlVSN0k2M1N1Vk91YjNpdGo0?=
 =?utf-8?B?QkEvR2lRa2JpVTcxejFENThoVjl0MnhzUW5RdFRwT0djZ0dyRVU0K3ZUUzBZ?=
 =?utf-8?B?STJNWVJQNFBtZVNzNGx6NkU2cEN2TFhsUFhPUG1XUWYrSzU5Q0lXNXpqNDUr?=
 =?utf-8?B?d0Z4cCtQWTNFamlvbkFjYlBob2YrWlRtL09kWmFZVUNkMWVRWnhoU3J1UUtE?=
 =?utf-8?B?SU9uckRzTjJ0S2krbGZkcEdoR3NiQmRETnE0WFUvQmJJZnRsMWd5VXhLVDRp?=
 =?utf-8?B?c1ptdmJTb2pJSnRxWTZIUXVuczVLVExlMmZWbU1XTkdudEl4UFdzR01reGhs?=
 =?utf-8?B?WmVNcTdidGRLTmJCSm5pUXhvY1VUVXE2QTRxWmpXdm4wejBOblJvUDJLOWtv?=
 =?utf-8?B?Tk5NRTlQbkdRbTFjL29qRTVKQ1p4MEtNN05jdWg0RXMzTWpoYTNnd0tWWGtM?=
 =?utf-8?B?MTY5WVJZRGRCTkEvaFlVYmlWNWExVkpnRjZHWW8ya2tPOVoxQ3hibkxlY0sv?=
 =?utf-8?B?Ni9lakRXVy85YmtkNGYxR3Q0OXZpb0ZjUU53a2pTK2luV0JUWGxBeXQzeG9m?=
 =?utf-8?B?VXdtTnFVUHF3a2dFOFRzQ1lyVVRhalB6TEw1eFk0N2pZZ2U4RWtaT2xKUHB5?=
 =?utf-8?B?U05CWWhxZXFBakFPY2orRW9ldHc2dzBRTXlhZ2kzSmRsZlhVeXVoYis2NFdw?=
 =?utf-8?B?YldFMFhKSXRrOFJxdlFoRTZFYU5UNGQxN3dHQmtJaWwyVjdaWHBoSzlNNVNX?=
 =?utf-8?B?eG9JY20zTTdScXV2eTBOUk5zMmE1eVMza2ZCNDNMR3ZrNVBFTDNJbVdEemFT?=
 =?utf-8?B?WUVjSkh5TXpkUjZiZmlUUzVqT1I3QUY3dWlFM1pud3F0VVNDMDBvZTBSYjFC?=
 =?utf-8?B?Q21RQkNVVU4rRWNKR2pPR0Q2SWhRYUlaYWVncCtwQVNGbmhhYmhJVHp4N0M1?=
 =?utf-8?B?UDY5eDVjTURMaXVpZWs0ZEdqVVpqRjBhWUJXRXdUWVVSdlJkam1QQjQrdWpZ?=
 =?utf-8?B?aEJYRzZSNXl6cHBCUVBYUk1WbWY3aDU1Qm85aFhPRVVUVVdwRmtrbktXMlFn?=
 =?utf-8?B?cWZ3Rlpld0hBOFBBd0FYazBuU2Z2YkRzSU9kenk1bDNZV1dXVjlwMlY4RjNL?=
 =?utf-8?B?NjBiU29obmVCVTJpbHN1R0tOVlNWUmxMSmt5YjRDcUlMYk5ybEJKK2UwSDVy?=
 =?utf-8?B?dEZ6MWRJdFZJYmhPTm45TDVJN25uQWVDUDI2RlpTRUhZSGN0bjBxd0hXZm92?=
 =?utf-8?B?VHkxR3VaL3hmNTJOUEdwbXdhalMrc2Y3L2NJNjBON2Z6ZGVwQWVML0xzdjdi?=
 =?utf-8?B?UXFuOEJKVEpLVmJtdXl0bVlwUkRYa2p0QzBxMVI1U1RobGdEV1JrVFdWQVhn?=
 =?utf-8?B?ZithK0F4T1E1MXhMM3hvVmZwK1BiK0pVaXVleU1YL1FBTWVUeTNLa3dkc1Iy?=
 =?utf-8?B?SGlLbzNPOGY5dVBYTjhtaWxLOHFCRlFvQ2xXTzNzSkJ5OHQwYmFadXl1alNG?=
 =?utf-8?B?a0FsYWpGOHFxVlIySGwrWnR6QzJoS2VtVVJhRzFuQmRmVDV6VlJNUUNxOXln?=
 =?utf-8?B?MmZDMDMxT1cvQU5Nb1hqeGhyakVCNkxYQ09CbVIxWlhXVjJ1NmhwOURGei8r?=
 =?utf-8?B?cVh3dGo5aCtuaHoxdWJvS0J4UGY4QTQvazgvU25rS1BTZmdTN25BZTdmeTRt?=
 =?utf-8?B?c2oxUnJZS29LM3lpdlpUL0h4bFBQRGJjTEpkT0tSY0RzVll3Zlkvb2tBSEpv?=
 =?utf-8?B?V1F0VzlIMmFuRWRKR2ppSVArMDJVZFcvQmFvazN3M09DdUJBTmJXamxkcXpM?=
 =?utf-8?B?VVNvdlp1NE02SXRwcVpsMVNXR04zT1dQNlZDWkVRNWgzTnFUSWZOeWthRUhj?=
 =?utf-8?B?RmtKaFNtemJMTXUvM01FSXR0cUt1Z0U4TkhDb090enhaOTZJc0QrNzk2QXZJ?=
 =?utf-8?B?aTYwUm1qc3hRSkZsTXdQTU5vbEoxU2hLWGhxTmh6YTc2d2RWdkhLZzFCZmZt?=
 =?utf-8?B?VGFLd3R5YXhPTm5wNElUZXR6SGoyV252OFlyN3FleWN1REZNbUpOYnlJenhM?=
 =?utf-8?B?MFE2Z0M3TDAvcHA5OFZwODhFR1Ztam5QQWtSaUpHdTNLc2wyOENRdjR1ajBK?=
 =?utf-8?B?cTB6V0k5aUxmaGNiUDhkeWJBVDliQUNvQmN0eXFsSVVKMk5vTVB1TXNBUWZj?=
 =?utf-8?Q?ns1VuSRS2/lWOgaxRcqG4EY=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 75b801d1-1d40-45e3-e53e-08d9d6a55869
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2022 14:59:49.2307
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: GFpsBfELamHdjE2V8zDYxavAa6e4vJa581KrVqoCv0/KfCciZ9M2obCRs2lvTDM6zvpSewVUJY4OT/Y5hmWV9Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5901

On 13.01.2022 15:45, Andrew Cooper wrote:
> On 13/01/2022 14:38, Jan Beulich wrote:
>> On 13.01.2022 14:50, Andrew Cooper wrote:
>>> This is a fastpath on virtual vmentry/exit, and forcing guest_pat to be
>>> spilled to the stack is bad.  Performing the shift in a register is far more
>>> efficient.
>>>
>>> Drop the (IMO useless) log message.  MSR_PAT only gets altered on boot, and a
>>> bad value will be entirely evident in the ensuing #GP backtrace.
>>>
>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>>
>> I'm curious though why ...
>>
>>> @@ -313,10 +313,9 @@ int hvm_set_guest_pat(struct vcpu *v, u64 guest_pat)
>>>          case PAT_TYPE_WRCOMB:
>>>          case PAT_TYPE_WRPROT:
>>>          case PAT_TYPE_WRTHROUGH:
>>> -            break;
>>> +            continue;
>> ... you're going from "break" to "continue" here.
> 
> I went through a couple of iterations, including one not having a switch
> statement at all.
> 
> Personally, I think continue is clearer to follow in constructs such as
> this, because it is clearly bound to the loop, while the break logic
> only works due to the switch being the final (only) clause.

Perhaps I was wrong recalling you somewhat disliking such uses of
"continue" in the past.

> P.S. if you want to see a hilarious Clang (mis)feature, check out
> https://godbolt.org/z/7z6PnKP31 - scroll to the bottom of the -O2 output.

"Nice".

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 13 15:13:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 15:13:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257246.442000 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n81nH-00070N-GM; Thu, 13 Jan 2022 15:13:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257246.442000; Thu, 13 Jan 2022 15:13:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n81nH-00070G-DQ; Thu, 13 Jan 2022 15:13:39 +0000
Received: by outflank-mailman (input) for mailman id 257246;
 Thu, 13 Jan 2022 15:13:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YVjj=R5=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n81nG-00070A-8b
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 15:13:38 +0000
Received: from ppsw-32.csi.cam.ac.uk (ppsw-32.csi.cam.ac.uk [131.111.8.132])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 613c4c24-7483-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 16:13:36 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:48634)
 by ppsw-32.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.136]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n81nD-000SIQ-32 (Exim 4.95) (return-path <amc96@srcf.net>);
 Thu, 13 Jan 2022 15:13:35 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 7D5E01FC09;
 Thu, 13 Jan 2022 15:13:35 +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: 613c4c24-7483-11ec-a563-1748fde96b53
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <dbea6309-8eb4-7d63-1080-bc5b54a45725@srcf.net>
Date: Thu, 13 Jan 2022 15:13:35 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Subject: Re: [PATCH] x86/hvm: Improve hvm_set_guest_pat() code generation
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220113135035.23361-1-andrew.cooper3@citrix.com>
 <bfbe31d2-4d67-d7fc-4bb0-5b2caf209460@suse.com>
 <26235a19-4c4c-3bb9-3740-94306c773e26@srcf.net>
 <26d0a352-d489-2952-c527-a90118a00bfb@suse.com>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <26d0a352-d489-2952-c527-a90118a00bfb@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13/01/2022 14:59, Jan Beulich wrote:
> On 13.01.2022 15:45, Andrew Cooper wrote:
>> On 13/01/2022 14:38, Jan Beulich wrote:
>>> On 13.01.2022 14:50, Andrew Cooper wrote:
>>>> This is a fastpath on virtual vmentry/exit, and forcing guest_pat to be
>>>> spilled to the stack is bad.  Performing the shift in a register is far more
>>>> efficient.
>>>>
>>>> Drop the (IMO useless) log message.  MSR_PAT only gets altered on boot, and a
>>>> bad value will be entirely evident in the ensuing #GP backtrace.
>>>>
>>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>>>
>>> I'm curious though why ...
>>>
>>>> @@ -313,10 +313,9 @@ int hvm_set_guest_pat(struct vcpu *v, u64 guest_pat)
>>>>          case PAT_TYPE_WRCOMB:
>>>>          case PAT_TYPE_WRPROT:
>>>>          case PAT_TYPE_WRTHROUGH:
>>>> -            break;
>>>> +            continue;
>>> ... you're going from "break" to "continue" here.
>> I went through a couple of iterations, including one not having a switch
>> statement at all.
>>
>> Personally, I think continue is clearer to follow in constructs such as
>> this, because it is clearly bound to the loop, while the break logic
>> only works due to the switch being the final (only) clause.
> Perhaps I was wrong recalling you somewhat disliking such uses of
> "continue" in the past.

Perhaps stockholm syndrome?  More likely, my judgement is subjective
based on what else is in the for loop.

I'll leave it as break to shrink the patch.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 15:21:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 15:21:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257251.442012 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n81uq-0008Ub-Ec; Thu, 13 Jan 2022 15:21:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257251.442012; Thu, 13 Jan 2022 15: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 1n81uq-0008UU-Ao; Thu, 13 Jan 2022 15:21:28 +0000
Received: by outflank-mailman (input) for mailman id 257251;
 Thu, 13 Jan 2022 15:21:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YVjj=R5=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n81up-0008UO-0S
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 15:21:27 +0000
Received: from ppsw-32.csi.cam.ac.uk (ppsw-32.csi.cam.ac.uk [131.111.8.132])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7940f5c4-7484-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 16:21:26 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:48636)
 by ppsw-32.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.136]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n81um-000UyW-2U (Exim 4.95) (return-path <amc96@srcf.net>);
 Thu, 13 Jan 2022 15:21:24 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 715731FC25;
 Thu, 13 Jan 2022 15:21:24 +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: 7940f5c4-7484-11ec-a563-1748fde96b53
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <6f2e98ee-928a-b1eb-a637-402da5ee2640@srcf.net>
Date: Thu, 13 Jan 2022 15:21:24 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Content-Language: en-GB
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <JBeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>
References: <20211130181139.14398-1-andrew.cooper3@citrix.com>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: [PATCH 0/2] x86/hvm: Cleanup
In-Reply-To: <20211130181139.14398-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 30/11/2021 18:11, Andrew Cooper wrote:
> Andrew Cooper (2):
>   x86/hvm: Simplify hvm_enable_msr_interception()
>   x86/hvm: Rework nested hap functions to reduce parameters

These are mechanical rather than functional changes, and the patches
have been pending for 6 weeks without objection.  I've committed them
with Jan's R-by.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 16:12:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 16:12:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257259.442035 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n82hU-0005lI-Gh; Thu, 13 Jan 2022 16:11:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257259.442035; Thu, 13 Jan 2022 16: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 1n82hU-0005lB-Cl; Thu, 13 Jan 2022 16:11:44 +0000
Received: by outflank-mailman (input) for mailman id 257259;
 Thu, 13 Jan 2022 16:11:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=64pG=R5=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n82hS-0005l5-Gl
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 16:11:42 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7b1ef49b-748b-11ec-bcf3-e9554a921baa;
 Thu, 13 Jan 2022 17:11:39 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7b1ef49b-748b-11ec-bcf3-e9554a921baa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642090299;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=UiqlFBznZttB2P6CFSFvCA9g3In19JfZ9DkkEupeBLQ=;
  b=Tt8K0dl3veocqrj+pLcAf7bXifZlwBpowtj5IFed25rOjNnvCEcUTLk1
   kNNY4SJAqYzMORQRNOZ3NMlajdl9ESTBUatCH55RgIWx3cOexY5LdN67l
   TBiPkGumQ3ziMyWf/xfJAhIRg5r4cvMzT6Tv45Tl2K9kvFFlAfDNDEtfT
   c=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: o6AEBBgvBkW2mgvUSJSj3o2Xi+DEjThJE/Ko027lIhjtO0hGFKD78zuJk/oZG5DuV9DMN1FqmO
 +172BZ11ifXldY1FfCYPg57JeeOqRF/XdQebqHAR0A4i3IWK0UiH4QYXUjqB+OLUECl0yJwMYI
 iEIWOVE51vUSiGiXzlLLzKrlj2zwltR0422YbV+/AFE00ul5tO5xhBvEWstWRQcR/Ff1NyfRK/
 Uce0faikvAWijgYRxrQGbj9MxmbJ1Bf3hOQopm7W46oo1cDdXyLXXsU5s/duu5NJAFPtro7oDZ
 dstb2VZOUeYX3lhmj+2PMEL5
X-SBRS: 5.2
X-MesageID: 61853325
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:wUllZq3mjKCFhFgUKPbD5Ql2kn2cJEfYwER7XKvMYLTBsI5bp2RWm
 2cbCDqAaPaDMzanL99wPtnl9UsGuZeAnIcxHFNkpC1hF35El5HIVI+TRqvS04J+DSFhoGZPt
 Zh2hgzodZhsJpPkS5PE3oHJ9RGQ74nRLlbHILOCanAZqTNMEn9700o6wrVh2OaEvPDia++zk
 YKqyyHgEAfNNw5cagr4PIra9XuDFNyr0N8plgRWicJj5TcypFFMZH4rHomjLmOQf2VhNrXSq
 9Avbl2O1jixEx8FUrtJm1tgG6EAaua60QOm0hK6V0U+6/TrS+NbPqsTbZIhhUlrZzqhro0u6
 dhEqZmKRzgPJ4Hg295BaER5HHQrVUFG0OevzXmXtMWSywvNcmf2wuUoB0YzVWEa0r8pWycUr
 6VecW1TKEDY7w616OvTpu1EnMMsIdOtJIoCknph0SvYHbAtRpWrr6Diu4YIgWxr3J0m8fD2a
 5JAOT9xakX5egxjM34uUMxgtei5ryyqG9FfgA3M/vdmi4TJ9yRh3b6oPNfLd9iiQcROgl3et
 m/A537+ABwRKJqY0zXt2nClg+LU2DP2XqoeFbu36fduhBuWyyoOC3UruUCT+KfjzBTkApQGd
 hJSqnFGQbUOGFKDf4SifhCxvHu+sCE6QvZ8UNdm01ysxf+Bi+qGPVQsQjlEYd0gkcY5Qz02y
 1OE9+/U6SxTXK69EizEqOrNxd+mEW1MdDJZO3dYJecQy4S7+OkOYgTzosGP+UJfpvn8AnnOz
 j+Dt0DSbJ1D3JdQh81XEb0q6g9AR6QlrCZpt207vUr/t2uVgbJJgaTyuTA3Ct4afe6koqGp5
 iRspiRnxLlm4WuxvCKMWv4RO7qi+uyINjbR6XY2QcV7r232oyD/LdsKiN2bGKuPGpxUEdMOS
 BWC0T69GbcJZCf6BUOJS9/Z5zsWIVjISo2+C6G8gitmaZltbg6XlByClmbLt10BZHMEyPllU
 b/CKJ7EJS9DVcxPkWTqL89Aj+5D7n1ulAv7GMGgpzz6gOX2WZJgYepfWLd4RrpnvPrsTcS82
 4s3CvZmPD0EAbKuOXeGoNdDRb3IRFBiba3LRwVsXrfrCiJtGX07Cu+XxrUkeod/mL9SmPuO9
 Xa4MnK0AnKm2xUr8C2GNSJubq3BR5F6oS5pNCAgJw/wiXMifZyu/OEUcJ5uJesr8+lqzPhVS
 fgZeprfXqQTG2qfozlNP4PgqIFCdQiwgV7cNSSSfzViLYVrQBbE+4G4c1K3pjUOFCe+qeA3v
 6akilHAWZMGSgk7VJTWZfujwkmfp38YnO4uDULELsMKIBfn8ZRwKjy3hfgyepleJRLGzzqc9
 gCXHRZH+rWd/95rqIHE3PnWoZ2oHu1yGlthM1PatbvmZzPH+meDwJNbVLradz7qS26pqr6pY
 v9Yzq+gPaRfzkpKqYd1D51i0bk6u4n0v7ZfwwlpQCfLYlCsBu8yK3WKx5AS5KhEx7sfsgqqQ
 EOfvNJdPOzRas/iFVcQIisjb/iCiq5IymWDs6xtLRWo/jJz8ZqGTV5WbkuFhyFqJbdoNJ8on
 LU6s8kM5g3j0hcnP75qVMyPG7hg+pDYb5gaiw==
IronPort-HdrOrdr: A9a23:V6bmvaiSwd1p5PHechlygUOFv3BQXzh13DAbv31ZSRFFG/FwyP
 rAoB1L73PJYWgqNU3I+ergBEGBKUmskqKdxbNhR4tKPTOWw1dASbsN0WKM+UyDJ8STzJ856U
 4kSdkCNDSSNykFsS+Z2njALz9I+rDum8rJ9ITjJjVWPHlXgslbnnhE422gYytLrWd9dP4E/M
 323Ls6m9PsQwVeUu2LQl0+G8TTrdzCk5zrJTYAGh4c8QGLyRel8qTzHRS01goXF2on+8ZpzU
 H11yjCoomzufCyzRHRk0fV8pRtgdPkjv9OHtaFhMQ5IijlziyoeINicbufuy1dmpDl1H8a1P
 335zswNcV67H3cOkmzvBvWwgHllA0j7nfzoGXo9kfLkIjcfnYXGsBBjYVWfl/y8Ew7puxx16
 pNwiawq4dXJQmoplWz2/H4EzVR0makq3srluAey1ZFV5EFVbNXpYsDuGtIDZY7Gj7g4oxPKp
 gjMCjl3ocWTbqmVQGYgoE2q+bcHUjbXy32D3Tqg/blnQS/xxtCvgklLM92pAZ1yHtycegA2w
 3+CNUZqFh5dL5iUUtMPpZxfSKJMB2/ffvtChPlHb21LtBPB5ryw6SHkondotvaPKA18A==
X-IronPort-AV: E=Sophos;i="5.88,286,1635220800"; 
   d="scan'208";a="61853325"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PP4LLuQsjHh4ZetM7mT5g+PWeC41k9ZCOfzgEewHv0csHlSo9sIjQ8RdoST5DyYZkyyHnJ/4vg77f2YTA0XboLIT64t0g8Ts8UxHwogW9SEgnceUdKxYvLvLSQ2b6ZQFkFmzXRP/izE55WaOFI//sr0oWzdpbddy4xx6pG2XRgeA4wTY0ul6kWxaGidR7p4p0dVP/D1qzQYhZ65pG8mM2lCTioVD8RxPaSbTft9tuX2JWsznMAkGyG7WdjYFrokTTdpn4fwncLUf2RiOgMlTMSxukMZyQPw0b4fPzMwiQWCDUjIB9qJ2RiZi1r+eR5XoB/ktSVQCvhc8Axtmp0gWzw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Slr2GhhCNaXEWifmCr49UNvxjA6VYstXfirn1wac16k=;
 b=L6HytB3tpvt5OVEIbX7Dafivq9gjWjswlKCy2KpKSGZEqrsrfX/ahV+B9dyqhm2DgHcdCt9eB0ygU8QVLcSiTPN3GdTSAEKhonDheUFwvqtu/rABoUWSEgjJlfQzF8dOEJmqLMeuVy1j0luTzuY/l2T3P96Cv9W0/z96iwdrEtG/SdDkcQm/2FF9EHON5Lk7y52GmGs0w3/uALKkn/fdF0QUXN3d8/aC0AEX5h9I/Rz/IvGbUeqLn3oj/Q+C08RyK7sMaNyDr+tKDrrBlx9QqikpZgSx94b3OuLGVK1gJ9Bwt1MTA23TslEI/15CrWX6tOIHIGIFl/E7or20HaOJOg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Slr2GhhCNaXEWifmCr49UNvxjA6VYstXfirn1wac16k=;
 b=mvibDkKWjhsInhJREfkwgYPvqmwBMYIyvnV/bjvtFo0GaDLHu2T1B7CiGSM6c5aWqlPureWhb4NYc/9XXdt7j0TKXSrPLkoWjRYNgDWIEVR16S31gj0tDEnBH1GQIOEJyHosnKE9cGRmaxJ0J565Xh39SKHlKbIyLdyyAofeUNQ=
Date: Thu, 13 Jan 2022 17:11:07 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: James Dingwall <james-xen@dingwall.me.uk>
CC: <xen-devel@lists.xenproject.org>
Subject: Re: possible kernel/libxl race with xl network-attach
Message-ID: <YeBPG+8D00xG4h0j@Air-de-Roger>
References: <20220113111946.GA4133739@dingwall.me.uk>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20220113111946.GA4133739@dingwall.me.uk>
X-ClientProxiedBy: MRXP264CA0028.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:14::16) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d5b076ff-9235-4d09-bb40-08d9d6af51f3
X-MS-TrafficTypeDiagnostic: BN3PR03MB2177:EE_
X-Microsoft-Antispam-PRVS: <BN3PR03MB2177A9E5CEB7602B6BA0CAA18F539@BN3PR03MB2177.namprd03.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: aCANyWIREHUyMghugVu03Dq0T+xEktPUdrSmVeo/vRtfnnBAuFNdpY0u3v47vWvY98WIWYPaRcPV0BAPR+YgtbfckXqjLBUJabek2XTgzdtTcK/eybrx3euBNLlkLOKGk40Eg4mfPjJ3nGMO8udQcINwAMtxoLf7MLex2OvqQcTN4pOSE5ImgrRXbzArzZGHEG8wDTxxoDIDPiJOSNeSzZURGZNsQStxxjbtCSILXcFXHL+2/jfn88CNvoFXyw32I5qz86Yb6HyYvk8XFXMoY4xBV/7FrL/WePMIrZLNUNn9zXkpRnRTMXgRiRaQ3Et6cyyBeixbxHsMQHYl5gRfVckHphdqohs+hUbirim/3HnnNOCWiHCnXATM/a9wneHWJTkn9ku1nmA6pCJr4Qq9Tq5Jfba/wf9ssMG3fDgZ7X/+FPbmsiqFZa8ta8p7YskWBOLacY31NFdhB4M1OG9CuGpqr1j0wBw3RMTHiQPqf09sh15h4c71XY7u4arzo+Gn+/LXmksHynjh2S3huAv+6hCnRFSl/P6PWQiWCOZ+bfX8h7IQ/+4/U3tT5ZOcjKlKVrfkP/PR/ASGSEE1chxA2wOLsGIMkJycil43uXrxnu70gAP5PLZntH1OCJYjpusOHqYBcsF2iTEuBXZ8N5uWufHtVLrLI8ZM9ROYJ2U96wesrm5FbamoV9WRyebB/DCj
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(6512007)(316002)(8936002)(6916009)(38100700002)(33716001)(6506007)(86362001)(6486002)(26005)(186003)(9686003)(82960400001)(8676002)(2906002)(85182001)(83380400001)(5660300002)(508600001)(66476007)(66556008)(66946007)(6666004)(4326008)(67856001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?a25zU2dBd09CNml4amVZaTRoYVNmaFJsUmQ3YmkrMUZMM2d2VDM1QUZMZHUz?=
 =?utf-8?B?L0NwMzZ3Vkk5b3djT0ZQSlFnbUVlSEd2KzFocVg5M2hrRWdnZ3dTZWRmd2NZ?=
 =?utf-8?B?ckI0ZzJ0ekR4TjJWa3lQeGdNTVRDMWs3NHd2WFdSVlpnUHFPd2F5WWR6YVpH?=
 =?utf-8?B?bnMySmUyd2ZocFQ2MFByS090RTVJTmNSMS81MkMxTFpUQTluMmJJd0IyL29s?=
 =?utf-8?B?dEp3U2FlV08rSEQ2L21EZW51bE5lNmdYS1lYMkZBVnNkQ0ZLZ0JySUU0T3Az?=
 =?utf-8?B?a3NyL3R2QjF1Szg5N1NwRHRPNU50cFNVU29XMkIwZXZIZHAyNHFmaFZtaUEy?=
 =?utf-8?B?YlNhM3dZbkRaaS9YUEx1bVZBeUQ3dDhiaHpheFhyU25qTFdvSEQ4RStPZUR6?=
 =?utf-8?B?bTgwUmNDNklIQ0RrK3ZxUWJ2SDZkeUFBRjQ0aGx2NkRWOS85ZDl0Wlc3WHZq?=
 =?utf-8?B?cUdMb0RndEFkd2MxaHJrYTZoNXcxR2hOUmJuWmlnYlQxOFlBYnlNNDdhMzJz?=
 =?utf-8?B?VTdCemswM0FJMHAvaEtlUGhham5BWjFCRm1XckdrVFRLcGlYdjVXSmpJRU9Y?=
 =?utf-8?B?UHlYMFRkNDdSemFuMzYzYnZOSGdCWHJwY01qSnlTSjhGN2hwNnVULzIyazJB?=
 =?utf-8?B?dUJZZW1mZ055c2pkSGpuZlJtUXM4TThjL1lzbTBnYlhXQURPRDRhQU5kcXBs?=
 =?utf-8?B?Q3BHZmovWG5sd2xDZ08zWEd0UzRKZWdhWHlkMzV4WWZrU1pRNjczb2U3blpD?=
 =?utf-8?B?SVd1TEpUUXN4bHNyNlBrWkVoZWpGblArVGtPVHJENWg1MWQ0UmJIMExsalhk?=
 =?utf-8?B?bFU1SzhSZEtQTWxZUC9EZTNMYmR0MkhsUis3a1RYY1pmb0JZTzdLY0hTbzdS?=
 =?utf-8?B?UnlxOE8vK2s2c2lpSytYUUZibHlIN2kzZEhiOVVmSHFRUTdYY0M0ZmV5dWZp?=
 =?utf-8?B?VU5RTjBBSXFpNTlXZTVnd2RpRkxpVS9neVV5a2FSYnY1d05JL0dMdk5HVXdv?=
 =?utf-8?B?UFhtYzlLSWowY2J2OEtLYWJFR0tJMk5BSWt0NjAwKzJWdHpISjVxK1dCdnNT?=
 =?utf-8?B?MWVBSDNNdU13QmU3UUdrY1M3dStnSjJTMFBUZEpjYnFWQUt2WXdSUWt4QUxV?=
 =?utf-8?B?cWt1bHhJKyt1SllVYUFsUkhPaGFLZEM0SnYvZkJ0eEZJTWVZWUtMakZQRjhn?=
 =?utf-8?B?R0R1Rll1Tm1Db3FRdWNuSVFQZUNQSXUza3ArdGdBTXR3TzRFRGo3ZTR4UWI4?=
 =?utf-8?B?dnFrMmU4SVFXRmx0ZWtEcXhza2N2VDdJaWZHeEFGMFZsVzZIakFvZHhveC9X?=
 =?utf-8?B?UHQ3eFJ5SzVOOTBBUFgzVkdPam91K0Q0OUxWVUwxZmM0YWJWZnBHNmZmZ293?=
 =?utf-8?B?Z0FnVC9TdzVsTHVTSyszNDRibEhQbTNka0V2VzZzN1IwNHJJQTgxK0EySzhR?=
 =?utf-8?B?bGt5eFdPTFl2WmxIdUVtdTUxdVY0STYyNWg1S3I0RUpPOGJ6RW94RDBWZGRs?=
 =?utf-8?B?a0o1dWNIU0Z3UlBDaTVkeGxPbGVrNGJBbjRmUVRueFhWSUpiRUNBVjhESTF2?=
 =?utf-8?B?bEFob0g2ZlgvSE1UZ0N4L0JXQnhiTUcrTnZKMS9yMkpaR1lwczd3V1RwazY0?=
 =?utf-8?B?RTVFNTNFdzVpU2dUYnVoWm1oQnpWU3NQdW9pbjluQ1pFOWJuYWI5MWhWenUv?=
 =?utf-8?B?aHBycFhxaUtKY2NYMlJjMWtUT253c0lxbXpheW9DTllJZXEwR3ZYUW5uWTBX?=
 =?utf-8?B?SndpQ2lTaWNwcEgzUStLNy9DUkVqYVNPR2lNNThsNXFHY1dCZ05iYWlaSzdh?=
 =?utf-8?B?a3hPdXN2QmczaHo4R2VPV2tFL25Vb1Y3eEwvV3FkQ1N1Z1E0eE1kQi9nejRh?=
 =?utf-8?B?OVpNNEZPNFZTbzg0MDlPNVlRaWswdkc3Y1BIbDZXZzh0b3ZsenJwdHNXVVJH?=
 =?utf-8?B?SitWQy9wTDhKbDU4MStXNkQreVZ6aHVyRDNlN3JFb08xVDJRemlKTHlMSVJT?=
 =?utf-8?B?V1pZWklpWWU5ZkRZcThoNVRIcUx2UXhMd1JiYzU0S0draUk4V2UvTzF3ZjNw?=
 =?utf-8?B?ZC9PNTUwUGJwaWorN29RWmZjR2ZnVlRnZWcxSlVxcUhjMWYwaGUrNWdqZmNN?=
 =?utf-8?B?emlRZHhhbk55Rk85cldBTEJrTDNZd1drMmd4d2Y2VXZiL2xUTTdteGhGRkhu?=
 =?utf-8?Q?1LGNleEUsztKI70Dc2ou0Rk=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: d5b076ff-9235-4d09-bb40-08d9d6af51f3
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2022 16:11:13.4996
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: iJU0xRhkJkZXywNaCVG9lKW8OY5xGZ8vitA2ObrLvCayp0VNXndC5RpizbDBCbBYUfcdtTWX+7Aet7UPsxSEkA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR03MB2177
X-OriginatorOrg: citrix.com

On Thu, Jan 13, 2022 at 11:19:46AM +0000, James Dingwall wrote:
> Hi,
> 
> I have been trying to debug a problem where a vif with the backend in a 
> driver domain is added to dom0.  Intermittently the hotplug script is 
> not invoked by libxl (running as xl devd) in the driver domain.  By 
> enabling some debug for the driver domain kernel and libxl I have these 
> messages:
> 
> driver domain kernel (Ubuntu 5.4.0-92-generic):
> 
> [Thu Jan 13 01:39:31 2022] [1408] 564: vif vif-0-0 vif0.0: Successfully created xenvif
> [Thu Jan 13 01:39:31 2022] [26] 583: xen_netback:frontend_changed: /local/domain/0/device/vif/0 -> Initialising
> [Thu Jan 13 01:39:31 2022] [26] 470: xen_netback:backend_switch_state: backend/vif/0/0 -> InitWait
> [Thu Jan 13 01:39:31 2022] [26] 583: xen_netback:frontend_changed: /local/domain/0/device/vif/0 -> Connected
> [Thu Jan 13 01:39:31 2022] vif vif-0-0 vif0.0: Guest Rx ready
> [Thu Jan 13 01:39:31 2022] [26] 470: xen_netback:backend_switch_state: backend/vif/0/0 -> Connected
> 
> xl devd (Xen 4.14.3):
> 
> 2022-01-13 01:39:31 UTC libxl: debug: libxl_event.c:750:watchfd_callback: watch w=0x7ffd416b0528 wpath=/local/domain/2/backend token=3/0: event epath=/local/domain/2/backend/vif/0/0/state
> 2022-01-13 01:39:31 UTC libxl: debug: libxl_event.c:2445:libxl__nested_ao_create: ao 0x5633ac569700: nested ao, parent 0x5633ac567f90
> 2022-01-13 01:39:31 UTC libxl: debug: libxl_event.c:750:watchfd_callback: watch w=0x5633ac569180 wpath=/local/domain/2/backend/vif/0/0/state token=2/1: event epath=/local/domain/2/backend/vif/0/0/state
> 2022-01-13 01:39:31 UTC libxl: debug: libxl_event.c:1055:devstate_callback: backend /local/domain/2/backend/vif/0/0/state wanted state 2 still waiting state 4
> 2022-01-13 01:39:31 UTC libxl: debug: libxl_event.c:750:watchfd_callback: watch w=0x7ffd416b0528 wpath=/local/domain/2/backend token=3/0: event epath=/local/domain/2/backend/vif/0/0/state
> 2022-01-13 01:39:31 UTC libxl: debug: libxl_event.c:2445:libxl__nested_ao_create: ao 0x5633ac56a220: nested ao, parent 0x5633ac567f90
> 2022-01-13 01:39:31 UTC libxl: debug: libxl_event.c:750:watchfd_callback: watch w=0x5633ac569180 wpath=/local/domain/2/backend/vif/0/0/state token=2/1: event epath=/local/domain/2/backend/vif/0/0/state
> 2022-01-13 01:39:31 UTC libxl: debug: libxl_event.c:1055:devstate_callback: backend /local/domain/2/backend/vif/0/0/state wanted state 2 still waiting state 4
> 2022-01-13 01:39:51 UTC libxl: debug: libxl_aoutils.c:88:xswait_timeout_callback: backend /local/domain/2/backend/vif/0/0/state (hoping for state change to 2): xswait timeout (path=/local/domain/2/backend/vif/0/0/state)
> 2022-01-13 01:39:51 UTC libxl: debug: libxl_event.c:850:libxl__ev_xswatch_deregister: watch w=0x5633ac569180 wpath=/local/domain/2/backend/vif/0/0/state token=2/1: deregister slotnum=2
> 2022-01-13 01:39:51 UTC libxl: debug: libxl_event.c:1039:devstate_callback: backend /local/domain/2/backend/vif/0/0/state wanted state 2  timed out
> 2022-01-13 01:39:51 UTC libxl: debug: libxl_event.c:864:libxl__ev_xswatch_deregister: watch w=0x5633ac569180: deregister unregistered
> 2022-01-13 01:39:51 UTC libxl: debug: libxl_device.c:1092:device_backend_callback: calling device_backend_cleanup
> 2022-01-13 01:39:51 UTC libxl: debug: libxl_event.c:864:libxl__ev_xswatch_deregister: watch w=0x5633ac569180: deregister unregistered
> 2022-01-13 01:39:51 UTC libxl: error: libxl_device.c:1105:device_backend_callback: unable to add device with path /local/domain/2/backend/vif/0/0
> 2022-01-13 01:39:51 UTC libxl: debug: libxl_event.c:864:libxl__ev_xswatch_deregister: watch w=0x5633ac569280: deregister unregistered
> 2022-01-13 01:39:51 UTC libxl: debug: libxl_device.c:1470:device_complete: device /local/domain/2/backend/vif/0/0 add failed
> 2022-01-13 01:39:51 UTC libxl: debug: libxl_event.c:2035:libxl__ao__destroy: ao 0x5633ac568f30: destroy
> 
> the xenstore content for the backend:
> 
> # xenstore-ls /local/domain/2/backend/vif/0
> 0 = ""
>  frontend = "/local/domain/0/device/vif/0"
>  frontend-id = "0"
>  online = "1"
>  state = "4"
>  script = "/etc/xen/scripts/vif-zynstra"
>  vifname = "dom0.0"
>  mac = "00:16:3e:6c:de:82"
>  bridge = "cluster"
>  handle = "0"
>  type = "vif"
>  feature-sg = "1"
>  feature-gso-tcpv4 = "1"
>  feature-gso-tcpv6 = "1"
>  feature-ipv6-csum-offload = "1"
>  feature-rx-copy = "1"
>  feature-rx-flip = "0"
>  feature-multicast-control = "1"
>  feature-dynamic-multicast-control = "1"
>  feature-split-event-channels = "1"
>  multi-queue-max-queues = "2"
>  feature-ctrl-ring = "1"
>  hotplug-status = "connected"
> 
> My guess is that the libxl callback is started waiting for the backend 
> state key to be set to XenbusStateInitWait (2) but the frontend in dom0 
> has already triggered the backend to transition to XenbusStateConnected 
> (4) and therefore it does not successfully complete.

I think your analysis is correct. The question is who sets
hotplug-status to "connected" in xenstore if the hotplug script in the
driver domain hasn't been launched by `xl devd`.

It would seem to me some other entity is launching the hotplug
scripts, do you have some udev rules in the driver domain that do that
and race with `xl devd` maybe?

Regards, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 16:21:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 16:21:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257263.442046 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n82r8-0007Dy-Dw; Thu, 13 Jan 2022 16:21:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257263.442046; Thu, 13 Jan 2022 16:21:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n82r8-0007Dr-Ag; Thu, 13 Jan 2022 16:21:42 +0000
Received: by outflank-mailman (input) for mailman id 257263;
 Thu, 13 Jan 2022 16:21:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GUHC=R5=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1n82r7-0007Dl-6v
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 16:21:41 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e205c3b8-748c-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 17:21:39 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e205c3b8-748c-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642090899;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=niekpDJPFAUiBhVZYFMbcA5D19wfW+devHqcGvetZSU=;
  b=H+kqVKQ66UDLGZMnus9giw25Ye7A3uM+vAETl4IX9CAxIsXa+mD/2qAh
   deKTeruOfyV4VFU0A6L75lPP+qPeXq+TPefLLIDAoMP1ooPtlnPmWcziu
   ZZw3ol2K7+QOviwLJvavOg8OpOPD/ymtLwLLFMzdntkHWft3wex/i6/4w
   E=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: m5eiGda4zK/R4ngeSH4zUF+mx93SnCNJ2fYUBdo3FhSuPOQameTfKuUaL9MhjOIgf1pr71vmL3
 cLP6SzELTMpoVcgFGncs089lnbvUAiP6jpGh5qwFt5CEYNh8wlQ9UhCQet93QaYa1gQT5PNpeQ
 kezoDVTol//6M4FqRpe7t6WV5z6cVeJS0svxN/rD/xeB9aLXk5tXltYmAK+d8KGLnBUQqFUVqn
 yJqPkYCUqycYcb+W8Em9QZjoFKA6xndWjR2OtH4kD/bVF9/OqLlbC/Wm5C+i+usT2HSLCosVDA
 on3As5/zWoAJn5N8VCB8xGN8
X-SBRS: 5.2
X-MesageID: 61935975
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:bUb3Wa0AxHg2d/2oNvbD5S92kn2cJEfYwER7XKvMYLTBsI5bp2EPy
 WUWUT2Oa6mDajbxeIh1Pd639UgEvJHczocxTwU5pC1hF35El5HIVI+TRqvS04J+DSFhoGZPt
 Zh2hgzodZhsJpPkS5PE3oHJ9RGQ74nRLlbHILOCanAZqTNMEn9700o6wrVh2OaEvPDia++zk
 YKqyyHgEAfNNw5cagr4PIra9XuDFNyr0N8plgRWicJj5TcypFFMZH4rHomjLmOQf2VhNrXSq
 9Avbl2O1jixEx8FUrtJm1tgG6EAaua60QOm0hK6V0U+6/TrS+NbPqsTbZIhhUlrZzqhmNFr9
 dFtpMeLRVl0fYnHpcAMVAMDKnQrVUFG0OevzXmXtMWSywvNcmf2wuUoB0YzVWEa0r8pWycUr
 6VecW1TKEDY7w616OvTpu1Ej8I/LM7tLcUHt2tp1z3xBvc6W5HTBa7N4Le02R9u35EVQKeBO
 qL1bxJxPCb/OiV0BGwSL5UbwO73uEP9KBFH/Qf9Sa0fvDGIkV0ZPKLWGMHOZtWASMFRn0CZj
 mHL5WL0BlcdLtP34SWB2mKhgKnIhyyTcIAPELy18NZ6jVvVwXYcYDUUX1ampfiyimalRslSb
 UcT/0IGvaU0sUCmUNT5dxm5u2Kf+A4RXcJKFO834x3LzbDbizt1HUBdEGQHMoZ/8pZrG3p6j
 Tdlgu8FGxRosaeoTVKMrYyY827xHSMoCX4Ff3Q9GF5tD8bYnKk/iRfGT9BGGaGzj8HoFTyY/
 w1mvBTSlJ1I05dVivzTEUTvxmv1+8OXFlJdChD/Azr9hj6VcrJJcGBBBbLzyf9bZLiUQVCa1
 JTvs5jPtbteZX1hecHkfQnsIF1Lz6rUWNE/qQQ2d3XEy9hL0yTzFWy3yGsvTHqFyu5eJVfUj
 Lb74Gu9HqN7MnqwdrNQaImsEcksxqWIPY27CqqMN4EWPMQhL1XvEMRSiai4hTCFfK8Ey/BXB
 HtmWZz0USZy5VpPkVJauNvxIZd0n3tjlAs/tLjwzgi90Kr2WZJmYextDbd6VchgtPnsiFyMq
 753bpLWoz0CDrGWSnSJoOY7cABbRVBmVMueg5EGKYa+zv9ORTtJ5wn5m+1xIuSIXs19y4/1w
 51KchQJlwqk2yyWcFXih7IKQOqHYKuTZEkTZUQEVWtEEVB4CWp2xKtAJZYxY5c98+lvkax9Q
 /UfIp3SCfVTUDXXvT8aaMCl/oBlcR2qgyOIPjakP2djL8IxGVSR94+2ZBbr+QkPEjGz6Zk0r
 Yq/216JWpEEXQljUprbMar901OrsHEBs+tuRE+UcMJLcUDh/dEyeSz8h/M6Oe8WLhDHymfI3
 gqaG05A9+LMv5U04J/CgqXd99WlFO53H0x7GWjH7OnpaXmGrzT7mYIZCbSGZzHQUm/w6Z6OX
 +QNwqGuKuADkXZLr5F4T+Rhw5Uh6oa9vLRd1AllQinGNgz5FrN6L3Ca9sBTrakRlKRBsA67V
 0/TqNlXPbKFZJHsHFILfVd3a+2C0bcfmyXI7ORzK0L/vXcl8L2CWERUHh+NlC0Cc+clbNJ7m
 b8s6JwM9giyqhs2KdLX3Clb+lOFImEET6h65IoRB5Xmi1Zzx1xPCXAG5vQaPH1bhw1wD3QX
IronPort-HdrOrdr: A9a23:bGeObagv0FChCL/GQO87bsa503BQXtoji2hC6mlwRA09TySZ//
 rBoB0+726RtN9xYgBEpTnuAsS9qB/nmaKdpLNhWotKPzOW2ldATrsD0WKK+VSJcEfDH6xmpM
 RdmsBFebvN5DNB7PoSjjPWL+od
X-IronPort-AV: E=Sophos;i="5.88,286,1635220800"; 
   d="scan'208";a="61935975"
Date: Thu, 13 Jan 2022 16:21:33 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "Andrew
 Cooper" <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH] build: adjust include/xen/compile.h generation
Message-ID: <YeBRjeV9dnnKgeHr@perard>
References: <4f0766b2-cabd-cf5e-ed84-cc2b773bf5f8@suse.com>
 <YeALhTgXh7g2QdbB@perard>
 <726353b9-0093-31de-bcfe-35f9ee68c61f@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <726353b9-0093-31de-bcfe-35f9ee68c61f@suse.com>

On Thu, Jan 13, 2022 at 01:11:41PM +0100, Jan Beulich wrote:
> On 13.01.2022 12:22, Anthony PERARD wrote:
> > On Tue, Jan 11, 2022 at 03:16:17PM +0100, Jan Beulich wrote:
> >> Prior to 19427e439e01 ("build: generate "include/xen/compile.h" with
> >> if_changed") running "make install-xen" as root would not have printed
> >> the banner under normal circumstances. Its printing would instead have
> >> indicated that something was wrong (or during a normal build the lack
> >> of printing would do so).
> > 
> > So, having several line of logs with one generating "compile.h", and
> > several object rebuild plus the re-linking of xen isn't enough has to
> > indicate that something is wrong?
> 
> Well, for warnings and errors to be easy to spot (and until your rework
> to make our build more Linux-like is in place) passing -s to make is a
> must, imo.

I see, I guess keeping that behavior is kind of useful (banner been
printed when compile.h is regenerated).

> >> +	$(if $(filter-out FORCE,$?),rm -fv $@)
> > 
> > Is there a reason for -v? Do we care if the file existed?
> 
> That's meant to be an indication of the file getting updated during
> "install-xen" as root. I thought it might be nice to have this extra
> indicator, but I wouldn't mind dropping it if that helps acceptance
> of the change. Can you let me know how important this aspect is to
> you?

I guess it is fine to keep the '-v'. It isn't like it is something that
will happen very often.

> > Do we want to log "rm -f compile.h" ? Or could you just prefix the line
> > with $(Q)?
> 
> I'll add $(Q). As said, I always build with "make -s" (except when
> debugging weird build issues), so this is nothing I would have noticed.

With $(Q) added:
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 16:39:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 16:39:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257288.442096 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n837m-0001pw-8R; Thu, 13 Jan 2022 16:38:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257288.442096; Thu, 13 Jan 2022 16:38:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n837m-0001mp-3E; Thu, 13 Jan 2022 16:38:54 +0000
Received: by outflank-mailman (input) for mailman id 257288;
 Thu, 13 Jan 2022 16:38:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4514=R5=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1n837k-0001gG-Gi
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 16:38:52 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4883d5b0-748f-11ec-bcf3-e9554a921baa;
 Thu, 13 Jan 2022 17:38:50 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4883d5b0-748f-11ec-bcf3-e9554a921baa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642091930;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=sxj8Ni05lVGFYuLB7GuSzaAjISrCd3y2GU6H36Yb4z4=;
  b=QES6lAfQV0foPPUPFsOfHAVFkCfC3tR+ZOo8KH4nwnyFhhf74XLVMgET
   6yc8nR2pBEqCLaVKyQPLB0V52EJHfXWhrw6PxHu0a2NLYz5CCN93U0i/7
   J2baAx4Ahi0EI/pgoC8N9d0qM8QCAL2gM52G0DY9PXVRjDVDp+Q653dGW
   E=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: mpWKD6XAyW/dzNRWG4EIp2Bhp6P2gCPuy+yOy1khUf49HY5RqavOU8Esw5McwD1dSF8zOAg/aF
 EU+iv83gegNPl7GuesOKlqqNH2pOoxZvyXcO6hExHvDx78iDUHOWZqad886CDJJ4aQMphd2zul
 7BodWjqHNo3pYCg4Zp/dHryyowO1TtSShPYiu81abL5fbPCGtLjHAcVCLr8lIMd++kS+DQzxKs
 Qk4LNkdT5KlXMpodJVUeTRRYYP+UmjJqJptQ2pciaZS8LxVWLVpecdVZzymHEFJntNqpmLo32M
 wEZkq4M23/ZHi+jxhJVG5auV
X-SBRS: 5.2
X-MesageID: 62341821
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:RNm+3a7eqdtIP00KwcYx+QxRtOzAchMFZxGqfqrLsTDasY5as4F+v
 mNLUD/TP/iIamH2LdFzbIu2/RlU6seBm9VnSVFlpSAyHi5G8cbLO4+Ufxz6V8+wwmwvb67FA
 +E2MISowBUcFyeEzvuV3zyIQUBUjclkfJKlYAL/En03FV8MpBsJ00o5wbZg29Uw27BVPivW0
 T/Mi5yHULOa82Yc3lI8s8pvfzs24ZweEBtB1rAPTagjUG32zhH5P7pGTU2FFFPqQ5E8IwKPb
 72rIIdVXI/u10xF5tuNyt4Xe6CRK1LYFVDmZnF+A8BOjvXez8CbP2lS2Pc0MC9qZzu1c99Zy
 uVzuZ2vEl8QM5L93+8vURJGKQJaMvgTkFPHCSDXXc27ykTHdz3nwul0DVFwNoodkgp1KTgQr
 7pCcmlLN03dwbLtqF64YrAEasALBc/nJo4A/FpnyinUF60OSpHfWaTao9Rf2V/cg+gQR62CP
 ppDMFKDajzrPzxJamYUNakUs9+jiSbRQwR3+G+a8P9fD2/7k1UqjemF3MDuUsOObdVYmACfv
 G2u10bTDwweNdef4SGY6X/qjejK9QvrVYRXGLCm+/pChFyI2ndVGBAQTUG8o/Sylgi5Qd03F
 qAP0nNw9+5orhXtF4SjGU3jyJKZgvICc9hgLeE791rV86fr0kGSNGoPUARiTNNz4afaWgcW/
 lOOmtroAxlmv7uUVW+R+9+okN+iBcQGBTRcPHFZFGPp9/Gm+dhu1UyXEr6PBYbo1oWdJN3m/
 9ydQMHSbZ03hNVD6ai09Euvb9mE9smQFV5dCuk6swuYAuJFiGyNO93ABbvzt68owGOlor+p5
 ihsdy+2trFmMH11vHbRKNjh5Znwjxp/DBXSgER0A74q/Cm39niocOh4uW8ifh8waZ5aJW+yO
 ic/XD+9ArcJbBNGioctMuqM5zkCl/C8RbwJqNiJBjaxXnSBXFDep3w/DaJh92vsjFItgckC1
 WSzKq6R4YIhIf0/llKeHr5FuZdyn3xW7T6NGfjTkkr2uZLDNC/9YepUazOmM7FmhJ5oVS2Iq
 b6zwePQlUUGOAA/CwGKmbMuwacidilkVcuo+p0OJoZu4GNOQQkcNhMY+pt5E6QNokifvr2gE
 qiVVhAKxVzhq2fALAnWOHlvZKm2BcR0rG4hPDxqNlGtgiBxbYGq5aYZVp02Ybh4q7Azka8qF
 6EIK5eaH/BCajXb4DBBP5Pzm5NvKUawjgWUMiv7PDVmJ8x8RxbE88PPdxf08HVcFTK+sMYz+
 uXy1g7STZcZaR5lCcLaNKCmw1+r5CBPk+NuRUrYZNJUfRy0ooRtLiXwiN4xIt0NdkqflmfLi
 V7ODE5B9+fXooIz/N3Yvoy+rt+kQ7lkA05XP2jH9rLqZyPUyXWunN1bW+GScDGDCG6toPe+Z
 f9Yxu3XOeEcmAoYqJJ1FrtmwP5s59broLMGnA1oEG+SMgauA7JkZHKHwdNOputGwboA4Vm6X
 UeG+997P7SVOZy6TA5NdVR9NunTh+sJnjTy7OguJBSo7SB6y7OLTEFOMkTekydaNrZ0bNsoz
 OpJVBT6MOBjZs7G6uq7sx0=
IronPort-HdrOrdr: A9a23:vbGmha5VsjoDo7gKTQPXwPLXdLJyesId70hD6qhwISY1TiX+rb
 HXoB17726MtN9/YgBCpTntAsa9qDbnhPpICOoqTNGftWvdyQmVxehZhOOIqVCNJ8S9zJ876U
 4JSdkENDSaNzhHZKjBjjVQa+xQpeW6zA==
X-IronPort-AV: E=Sophos;i="5.88,286,1635220800"; 
   d="scan'208";a="62341821"
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/msr: Split MSR_SPEC_CTRL handling
Date: Thu, 13 Jan 2022 16:38:31 +0000
Message-ID: <20220113163833.3831-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220113163833.3831-1-andrew.cooper3@citrix.com>
References: <20220113163833.3831-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

In order to fix a VT-x bug, and support MSR_SPEC_CTRL on AMD, there will need
to be three different access methods for where the guest's value lives.
However, it would be better not to duplicate the #GP checking logic.

guest_{rd,wr}msr() are always called first in the PV and HVM MSR paths, so we
can repurpose X86EMUL_UNHANDLEABLE slightly for this.  This is going to be a
common pattern for other MSRs too in the future.

Duplicate the msrs->spec_ctrl.raw accesses in the PV and VT-x paths for now.
The SVM path is currently unreachable because of the CPUID policy.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 xen/arch/x86/hvm/vmx/vmx.c     | 10 ++++++++++
 xen/arch/x86/include/asm/msr.h | 11 +++++++----
 xen/arch/x86/msr.c             |  6 ++----
 xen/arch/x86/pv/emul-priv-op.c | 10 ++++++++++
 4 files changed, 29 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index a7a0d662342a..28ee6393f11e 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -3128,12 +3128,17 @@ static int is_last_branch_msr(u32 ecx)
 static int vmx_msr_read_intercept(unsigned int msr, uint64_t *msr_content)
 {
     struct vcpu *curr = current;
+    const struct vcpu_msrs *msrs = curr->arch.msrs;
     uint64_t tmp;
 
     HVM_DBG_LOG(DBG_LEVEL_MSR, "ecx=%#x", msr);
 
     switch ( msr )
     {
+    case MSR_SPEC_CTRL: /* guest_rdmsr() has already performed #GP checks. */
+        *msr_content = msrs->spec_ctrl.raw;
+        break;
+
     case MSR_IA32_SYSENTER_CS:
         __vmread(GUEST_SYSENTER_CS, msr_content);
         break;
@@ -3331,6 +3336,7 @@ void vmx_vlapic_msr_changed(struct vcpu *v)
 static int vmx_msr_write_intercept(unsigned int msr, uint64_t msr_content)
 {
     struct vcpu *v = current;
+    struct vcpu_msrs *msrs = v->arch.msrs;
     const struct cpuid_policy *cp = v->domain->arch.cpuid;
 
     HVM_DBG_LOG(DBG_LEVEL_MSR, "ecx=%#x, msr_value=%#"PRIx64, msr, msr_content);
@@ -3339,6 +3345,10 @@ static int vmx_msr_write_intercept(unsigned int msr, uint64_t msr_content)
     {
         uint64_t rsvd, tmp;
 
+    case MSR_SPEC_CTRL: /* guest_wrmsr() has already performed #GP checks. */
+        msrs->spec_ctrl.raw = msr_content;
+        return X86EMUL_OKAY;
+
     case MSR_IA32_SYSENTER_CS:
         __vmwrite(GUEST_SYSENTER_CS, msr_content);
         break;
diff --git a/xen/arch/x86/include/asm/msr.h b/xen/arch/x86/include/asm/msr.h
index 1d3eca9063a2..0b2176a9bc53 100644
--- a/xen/arch/x86/include/asm/msr.h
+++ b/xen/arch/x86/include/asm/msr.h
@@ -367,10 +367,13 @@ int init_domain_msr_policy(struct domain *d);
 int init_vcpu_msr_policy(struct vcpu *v);
 
 /*
- * Below functions can return X86EMUL_UNHANDLEABLE which means that MSR is
- * not (yet) handled by it and must be processed by legacy handlers. Such
- * behaviour is needed for transition period until all rd/wrmsr are handled
- * by the new MSR infrastructure.
+ * The below functions return X86EMUL_*.  Callers are responsible for
+ * converting X86EMUL_EXCEPTION into #GP[0].
+ *
+ * X86EMUL_UNHANDLEABLE means "not everything complete".  It could be that:
+ *   1) Common #GP checks have been done, but val access needs delegating to the
+ *      per-VM-type handlers.
+ *   2) The MSR is not handled at all by common logic.
  *
  * These functions are also used by the migration logic, so need to cope with
  * being used outside of v's context.
diff --git a/xen/arch/x86/msr.c b/xen/arch/x86/msr.c
index b834456c7b02..3549630d6699 100644
--- a/xen/arch/x86/msr.c
+++ b/xen/arch/x86/msr.c
@@ -265,8 +265,7 @@ int guest_rdmsr(struct vcpu *v, uint32_t msr, uint64_t *val)
     case MSR_SPEC_CTRL:
         if ( !cp->feat.ibrsb )
             goto gp_fault;
-        *val = msrs->spec_ctrl.raw;
-        break;
+        return X86EMUL_UNHANDLEABLE; /* Delegate value to per-VM-type logic. */
 
     case MSR_INTEL_PLATFORM_INFO:
         *val = mp->platform_info.raw;
@@ -514,8 +513,7 @@ int guest_wrmsr(struct vcpu *v, uint32_t msr, uint64_t val)
         if ( val & rsvd )
             goto gp_fault; /* Rsvd bit set? */
 
-        msrs->spec_ctrl.raw = val;
-        break;
+        return X86EMUL_UNHANDLEABLE; /* Delegate value to per-VM-type logic. */
 
     case MSR_PRED_CMD:
         if ( !cp->feat.ibrsb && !cp->extd.ibpb )
diff --git a/xen/arch/x86/pv/emul-priv-op.c b/xen/arch/x86/pv/emul-priv-op.c
index c78be6d92b21..6644e739209c 100644
--- a/xen/arch/x86/pv/emul-priv-op.c
+++ b/xen/arch/x86/pv/emul-priv-op.c
@@ -875,6 +875,7 @@ static int read_msr(unsigned int reg, uint64_t *val,
                     struct x86_emulate_ctxt *ctxt)
 {
     struct vcpu *curr = current;
+    const struct vcpu_msrs *msrs = curr->arch.msrs;
     const struct domain *currd = curr->domain;
     const struct cpuid_policy *cp = currd->arch.cpuid;
     bool vpmu_msr = false, warn = false;
@@ -898,6 +899,10 @@ static int read_msr(unsigned int reg, uint64_t *val,
             *val |= APIC_BASE_BSP;
         return X86EMUL_OKAY;
 
+    case MSR_SPEC_CTRL: /* guest_rdmsr() has already performed #GP checks. */
+        *val = msrs->spec_ctrl.raw;
+        return X86EMUL_OKAY;
+
     case MSR_FS_BASE:
         if ( !cp->extd.lm )
             break;
@@ -1024,6 +1029,7 @@ static int write_msr(unsigned int reg, uint64_t val,
                      struct x86_emulate_ctxt *ctxt)
 {
     struct vcpu *curr = current;
+    struct vcpu_msrs *msrs = curr->arch.msrs;
     const struct domain *currd = curr->domain;
     const struct cpuid_policy *cp = currd->arch.cpuid;
     bool vpmu_msr = false;
@@ -1041,6 +1047,10 @@ static int write_msr(unsigned int reg, uint64_t val,
     {
         uint64_t temp;
 
+    case MSR_SPEC_CTRL: /* guest_wrmsr() has already performed #GP checks. */
+        msrs->spec_ctrl.raw = val;
+        return X86EMUL_OKAY;
+
     case MSR_FS_BASE:
     case MSR_GS_BASE:
     case MSR_SHADOW_GS_BASE:
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Thu Jan 13 16:39:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 16:39:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257287.442092 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n837m-0001li-04; Thu, 13 Jan 2022 16:38:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257287.442092; Thu, 13 Jan 2022 16:38:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n837l-0001l9-Pt; Thu, 13 Jan 2022 16:38:53 +0000
Received: by outflank-mailman (input) for mailman id 257287;
 Thu, 13 Jan 2022 16:38:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4514=R5=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1n837j-0001RD-J3
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 16:38:51 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 48073cfb-748f-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 17:38:49 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 48073cfb-748f-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642091929;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=FMDy/dj6l/QX6LBOg2g+h5IZtV9TVhX1B7/xS1PYv88=;
  b=FWJbYrnOFLsbS94i5uLb/+4BFzhHDEesiuJ54Wb+MuwBM1+7FwscX4PP
   bOntdQ0oF9NxoABKSRKlQueJVJxHQ1+6MthymYOzQQMxSrMGqEjBXCNXv
   BEQa0mT4x7PmIcnL0h0XvZCHAnhn/acNjXQYLYPRyStyNzNj7EFwtJK+R
   c=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: Vg2mI7n7gsW1hGZlLwBaPDwvmJQyj7FgkISdkgNQ2nrbsDolVKIH+vz63o8aesc10rSqUlrlEL
 Yb6M+OICoZ8FegDsC2tsHbkPPTHiybpSLjnUmoQHI5RR/4lZZqUOXa2jxebptfCjcAAjQ9pgfw
 9tq2Ksf27+n5bTtBCJXbAkpi0R+S4eVkOvChc5flgVHHG4ieEKfieek2akaxPnpUCj8NikdGXm
 0aN8LmQAvWHk6Q1dRdBYtUtDd34eOJnDVG9mT5rItuScSR34eyjJXm5MnXJttpUWWZ8hjdonom
 GKxyzBD4TrrS7YXwbztqf+Xs
X-SBRS: 5.2
X-MesageID: 61416780
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:h3HADqj7+jeAGK1oyTVTRbAEX161mhcKZh0ujC45NGQN5FlHY01je
 htvC2uAbq2Ja2HxctknaIvj/B4Bu8SDzoIyTgNuqi43Fyob9cadCdqndUqhZCn6wu8v7a5EA
 2fyTvGacajYm1eF/k/F3oAMKRCQ7InQLlbGILes1htZGEk0GE/NtTo5w7Rj2tcx2oDja++wk
 YiaT/P3aQfNNwFcagr424rbwP+4lK2v0N+wlgVWicFj5DcypVFMZH4sDfjZw0/DaptVBoaHq
 9Prl9lVyI97EyAFUbtJmp6jGqEDryW70QKm0hK6UID66vROS7BbPg/W+5PwZG8O4whlkeydx
 /1Aj4epSF8TApbXu/8fCglUMB5XJvFJreqvzXiX6aR/zmXDenrohf5vEFs3LcsT/eMf7WNmr
 KJCbmpXN1ba2rzwkOnTpupE36zPKOHCOo8Ft24m5jbeFfs8GrjIQrnQ5M8e1zA17ixLNaiHO
 5NHNmo3BPjGSzhzGk8lI84Up/6t31vEc2QH+Vi8/JNitgA/yyQuieOwYbI5YOeiR9hT2ECRp
 WvE/mHwKhAcKNGbjzGC9xqEheLRnCW9RIMbEpW58OJnhBuYwWl7IAISfUu2p7++kEHWc8JSL
 QkY9zQjqYA29Ve3VZ/tUhugunmGsxUAHd1KHIUSyiuA167V6AaxHXUfQ3hKb9lOiSMtbWV0j
 BnTxYqvXGEx9u3OIZ6AyluKhT6IIjEUdVU+XjQnVglc89XAn6go0h2aG76PD5WJptHyHDjxx
 RWDoy4/m6gfgKY36kmrwbzUq2ny/8aUF2bZ8i2SBzv4tV0hOOZJcqT1sQCz0BpWEGqOorBtV
 lAgktPW0u0BBIrleMelELRUR+HBCxpo3VThbb9T83sJq2XFF52LJ9k4DNRCyKFBaJZsldjBO
 h67hO+pzMUPVEZGlIcuC25LN+wkzLL7CfPuXe3OY9xFb/BZLVHbpnk3PhbOgzC2yiDAdJ3T3
 7/BIa5A6l5AWMxaIMeeHb9BgdfHOAhjrY8seXwL50v+iufPDJJkYbwELEGPfogEAFCs+23oH
 yJkH5LSkX13CbSmCgGOqNJ7BQ1UcRATWM6nw+QKJr/rClc3QwkJVq6OqY7NjqQ4xcy5YM+So
 CHkMqKZoXKi7UD6xfKiMSE8OOixDMcm/RrW/0UEZD6V5pTqWq73hI93Snf9VeJPGDVLwaEmQ
 v8bVd+HB/gTGD3L9y5ENcv2rZB4dQTtjgWLZnL3bD86dp9mZgrI5t67IVe/qHhQVnK65Zkkv
 rmt9gLHWp5fFQ5sO9nbNaC0xFSrsHlDxO8rBxnUIsNecVnH+ZRxL3Cjlec+JswBcE2RxjaT2
 wuMLw0foO3B/908/NXT3PjWpIa1CepuWEFdGjCDv7qxMCDb+EulwJNBD7nULWyMCjus9fz7N
 +tPzvz6PPkWp3pwstJxQ+Rx0KYzx9rzvLsGnA5qK2rGMgawAbR6L3jYgcQW7v9RxqVUsBedU
 16U/oUIIq2APc7oHQJDJAchaejfh/gYliOLsKYwKUT+oiR24KCGQQNZOBzV0H5RK758MYUEx
 +Y9uZFJt1zj20RyatvW3DpJ82msL2AbV/R1v54XN4bnlw43xwwQepfbECL3vMmCZtgk3pPG+
 dNIaH4uX4hh+3c=
IronPort-HdrOrdr: A9a23:Lb/SNq+QyjLE/Fy1ZCBuk+DgI+orL9Y04lQ7vn2YSXRuHPBw8P
 re5cjztCWE7gr5N0tBpTntAsW9qDbnhPtICOoqTNCftWvdyQiVxehZhOOIqVDd8m/Fh4pgPM
 9bAtBD4bbLbGSS4/yU3ODBKadD/OW6
X-IronPort-AV: E=Sophos;i="5.88,286,1635220800"; 
   d="scan'208";a="61416780"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Jun Nakajima
	<jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>
Subject: [PATCH 3/3] x86/spec-ctrl: Fix NMI race condition with VT-x MSR_SPEC_CTRL handling
Date: Thu, 13 Jan 2022 16:38:33 +0000
Message-ID: <20220113163833.3831-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220113163833.3831-1-andrew.cooper3@citrix.com>
References: <20220113163833.3831-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

The logic was based on a mistaken understanding of how NMI blocking on vmexit
works.  NMIs are only blocked for EXIT_REASON_NMI, and not for general exits.
Therefore, an NMI can in general hit early in the vmx_asm_vmexit_handler path,
and the guest's value will be clobbered before it is saved.

Switch to using MSR load/save lists.  This causes the guest value to be saved
atomically with respect to NMIs/MCEs/etc.

First, update vmx_cpuid_policy_changed() to configure the load/save lists at
the same time as configuring the intercepts.  This function is always used in
remote context, so extend the vmx_vmcs_{enter,exit}() block to cover the whole
function, rather than having multiple remote acquisitions of the same VMCS.

vmx_add_guest_msr() can fail, but only in ways which are entirely fatal to the
guest, so handle failures using domain_crash().  vmx_del_msr() can fail with
-ESRCH but we don't matter, and this path will be taken during domain create
on a system lacking IBRSB.

Second, update vmx_msr_{read,write}_intercept() to use the load/save lists
rather than vcpu_msrs, and update the comment to describe the new state
location.

Finally, adjust the entry/exit asm.  Drop DO_SPEC_CTRL_ENTRY_FROM_HVM
entirely, and use a shorter code sequence to simply reload Xen's setting from
the top-of-stack block.

Because the guest values are loaded/saved atomically, we do not need to use
the shadowing logic to cope with late NMIs/etc, so we can omit
DO_SPEC_CTRL_EXIT_TO_GUEST entirely and VMRESUME/VMLAUNCH with Xen's value in
context.  Furthermore, we can drop the SPEC_CTRL_ENTRY_FROM_PV too, as there's
no need to switch back to Xen's context on an early failure.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
CC: Jun Nakajima <jun.nakajima@intel.com>
CC: Kevin Tian <kevin.tian@intel.com>

Needs backporting as far as people can tolerate.

If the entry/exit logic were in C, I'd ASSERT() that shadow tracking is off,
but this is awkard to arrange in asm.
---
 xen/arch/x86/hvm/vmx/entry.S             | 19 ++++++++++-------
 xen/arch/x86/hvm/vmx/vmx.c               | 36 +++++++++++++++++++++++++++-----
 xen/arch/x86/include/asm/msr.h           | 10 ++++++++-
 xen/arch/x86/include/asm/spec_ctrl_asm.h | 32 ++++------------------------
 4 files changed, 56 insertions(+), 41 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/entry.S b/xen/arch/x86/hvm/vmx/entry.S
index 30139ae58e9d..297ed8685126 100644
--- a/xen/arch/x86/hvm/vmx/entry.S
+++ b/xen/arch/x86/hvm/vmx/entry.S
@@ -35,7 +35,14 @@ ENTRY(vmx_asm_vmexit_handler)
 
         /* SPEC_CTRL_ENTRY_FROM_VMX    Req: b=curr %rsp=regs/cpuinfo, Clob: acd */
         ALTERNATIVE "", DO_OVERWRITE_RSB, X86_FEATURE_SC_RSB_HVM
-        ALTERNATIVE "", DO_SPEC_CTRL_ENTRY_FROM_HVM, X86_FEATURE_SC_MSR_HVM
+
+        .macro restore_spec_ctrl
+            mov    $MSR_SPEC_CTRL, %ecx
+            movzbl CPUINFO_xen_spec_ctrl(%rsp), %eax
+            xor    %edx, %edx
+            wrmsr
+        .endm
+        ALTERNATIVE "", restore_spec_ctrl, X86_FEATURE_SC_MSR_HVM
         /* WARNING! `ret`, `call *`, `jmp *` not safe before this point. */
 
         /* Hardware clears MSR_DEBUGCTL on VMExit.  Reinstate it if debugging Xen. */
@@ -83,7 +90,6 @@ UNLIKELY_END(realmode)
 
         /* WARNING! `ret`, `call *`, `jmp *` not safe beyond this point. */
         /* SPEC_CTRL_EXIT_TO_VMX   Req: a=spec_ctrl %rsp=regs/cpuinfo, Clob: cd */
-        ALTERNATIVE "", DO_SPEC_CTRL_EXIT_TO_GUEST, X86_FEATURE_SC_MSR_HVM
         ALTERNATIVE "", __stringify(verw CPUINFO_verw_sel(%rsp)), X86_FEATURE_SC_VERW_HVM
 
         mov  VCPU_hvm_guest_cr2(%rbx),%rax
@@ -119,12 +125,11 @@ UNLIKELY_END(realmode)
         SAVE_ALL
 
         /*
-         * PV variant needed here as no guest code has executed (so
-         * MSR_SPEC_CTRL can't have changed value), and NMIs/MCEs are liable
-         * to hit (in which case the HVM variant might corrupt things).
+         * SPEC_CTRL_ENTRY notes
+         *
+         * If we end up here, no guest code has executed.  We still have Xen's
+         * choice of MSR_SPEC_CTRL in context, and the RSB is safe.
          */
-        SPEC_CTRL_ENTRY_FROM_PV /* Req: %rsp=regs/cpuinfo Clob: acd */
-        /* WARNING! `ret`, `call *`, `jmp *` not safe before this point. */
 
         call vmx_vmentry_failure
         jmp  .Lvmx_process_softirqs
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 28ee6393f11e..d7feb5f9c455 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -592,6 +592,7 @@ void vmx_update_exception_bitmap(struct vcpu *v)
 static void vmx_cpuid_policy_changed(struct vcpu *v)
 {
     const struct cpuid_policy *cp = v->domain->arch.cpuid;
+    int rc = 0;
 
     if ( opt_hvm_fep ||
          (v->domain->arch.cpuid->x86_vendor != boot_cpu_data.x86_vendor) )
@@ -601,17 +602,27 @@ static void vmx_cpuid_policy_changed(struct vcpu *v)
 
     vmx_vmcs_enter(v);
     vmx_update_exception_bitmap(v);
-    vmx_vmcs_exit(v);
 
     /*
      * We can safely pass MSR_SPEC_CTRL through to the guest, even if STIBP
      * isn't enumerated in hardware, as SPEC_CTRL_STIBP is ignored.
      */
     if ( cp->feat.ibrsb )
+    {
         vmx_clear_msr_intercept(v, MSR_SPEC_CTRL, VMX_MSR_RW);
+
+        rc = vmx_add_guest_msr(v, MSR_SPEC_CTRL, 0);
+        if ( rc )
+            goto err;
+    }
     else
+    {
         vmx_set_msr_intercept(v, MSR_SPEC_CTRL, VMX_MSR_RW);
 
+        /* Can only fail with -ESRCH, and we don't care. */
+        vmx_del_msr(v, MSR_SPEC_CTRL, VMX_MSR_GUEST);
+    }
+
     /* MSR_PRED_CMD is safe to pass through if the guest knows about it. */
     if ( cp->feat.ibrsb || cp->extd.ibpb )
         vmx_clear_msr_intercept(v, MSR_PRED_CMD,  VMX_MSR_RW);
@@ -623,6 +634,15 @@ static void vmx_cpuid_policy_changed(struct vcpu *v)
         vmx_clear_msr_intercept(v, MSR_FLUSH_CMD, VMX_MSR_RW);
     else
         vmx_set_msr_intercept(v, MSR_FLUSH_CMD, VMX_MSR_RW);
+
+ err:
+    vmx_vmcs_exit(v);
+
+    if ( rc )
+    {
+        printk(XENLOG_G_ERR "MSR load/save list error: %d", rc);
+        domain_crash(v->domain);
+    }
 }
 
 int vmx_guest_x86_mode(struct vcpu *v)
@@ -3128,7 +3148,6 @@ static int is_last_branch_msr(u32 ecx)
 static int vmx_msr_read_intercept(unsigned int msr, uint64_t *msr_content)
 {
     struct vcpu *curr = current;
-    const struct vcpu_msrs *msrs = curr->arch.msrs;
     uint64_t tmp;
 
     HVM_DBG_LOG(DBG_LEVEL_MSR, "ecx=%#x", msr);
@@ -3136,7 +3155,11 @@ static int vmx_msr_read_intercept(unsigned int msr, uint64_t *msr_content)
     switch ( msr )
     {
     case MSR_SPEC_CTRL: /* guest_rdmsr() has already performed #GP checks. */
-        *msr_content = msrs->spec_ctrl.raw;
+        if ( vmx_read_guest_msr(curr, msr, msr_content) )
+        {
+            ASSERT_UNREACHABLE();
+            goto gp_fault;
+        }
         break;
 
     case MSR_IA32_SYSENTER_CS:
@@ -3336,7 +3359,6 @@ void vmx_vlapic_msr_changed(struct vcpu *v)
 static int vmx_msr_write_intercept(unsigned int msr, uint64_t msr_content)
 {
     struct vcpu *v = current;
-    struct vcpu_msrs *msrs = v->arch.msrs;
     const struct cpuid_policy *cp = v->domain->arch.cpuid;
 
     HVM_DBG_LOG(DBG_LEVEL_MSR, "ecx=%#x, msr_value=%#"PRIx64, msr, msr_content);
@@ -3346,7 +3368,11 @@ static int vmx_msr_write_intercept(unsigned int msr, uint64_t msr_content)
         uint64_t rsvd, tmp;
 
     case MSR_SPEC_CTRL: /* guest_wrmsr() has already performed #GP checks. */
-        msrs->spec_ctrl.raw = msr_content;
+        if ( vmx_write_guest_msr(v, msr, msr_content) )
+        {
+            ASSERT_UNREACHABLE();
+            goto gp_fault;
+        }
         return X86EMUL_OKAY;
 
     case MSR_IA32_SYSENTER_CS:
diff --git a/xen/arch/x86/include/asm/msr.h b/xen/arch/x86/include/asm/msr.h
index 0b2176a9bc53..5f851958992b 100644
--- a/xen/arch/x86/include/asm/msr.h
+++ b/xen/arch/x86/include/asm/msr.h
@@ -287,7 +287,15 @@ extern struct msr_policy     raw_msr_policy,
 /* Container object for per-vCPU MSRs */
 struct vcpu_msrs
 {
-    /* 0x00000048 - MSR_SPEC_CTRL */
+    /*
+     * 0x00000048 - MSR_SPEC_CTRL
+     *
+     * For PV guests, this holds the guest kernel value.  It is accessed on
+     * every entry/exit path.
+     *
+     * For VT-x guests, the guest value is held in the MSR guest load/save
+     * list.
+     */
     struct {
         uint32_t raw;
     } spec_ctrl;
diff --git a/xen/arch/x86/include/asm/spec_ctrl_asm.h b/xen/arch/x86/include/asm/spec_ctrl_asm.h
index 18ecfcd70375..ddce8b33fd17 100644
--- a/xen/arch/x86/include/asm/spec_ctrl_asm.h
+++ b/xen/arch/x86/include/asm/spec_ctrl_asm.h
@@ -42,9 +42,10 @@
  *     path, or late in the exit path after restoring the guest value.  This
  *     will corrupt the guest value.
  *
- * Factor 1 is dealt with by relying on NMIs/MCEs being blocked immediately
- * after VMEXIT.  The VMEXIT-specific code reads MSR_SPEC_CTRL and updates
- * current before loading Xen's MSR_SPEC_CTRL setting.
+ * Factor 1 is dealt with:
+ *   - On VMX by using MSR load/save lists to have vmentry/exit atomically
+ *     load/save the guest value.  Xen's value is loaded in regular code, and
+ *     there is no need to use the shadow logic (below).
  *
  * Factor 2 is harder.  We maintain a shadow_spec_ctrl value, and a use_shadow
  * boolean in the per cpu spec_ctrl_flags.  The synchronous use is:
@@ -126,31 +127,6 @@
 #endif
 .endm
 
-.macro DO_SPEC_CTRL_ENTRY_FROM_HVM
-/*
- * Requires %rbx=current, %rsp=regs/cpuinfo
- * Clobbers %rax, %rcx, %rdx
- *
- * The common case is that a guest has direct access to MSR_SPEC_CTRL, at
- * which point we need to save the guest value before setting IBRS for Xen.
- * Unilaterally saving the guest value is shorter and faster than checking.
- */
-    mov $MSR_SPEC_CTRL, %ecx
-    rdmsr
-
-    /* Stash the value from hardware. */
-    mov VCPU_arch_msrs(%rbx), %rdx
-    mov %eax, VCPUMSR_spec_ctrl_raw(%rdx)
-    xor %edx, %edx
-
-    /* Clear SPEC_CTRL shadowing *before* loading Xen's value. */
-    andb $~SCF_use_shadow, CPUINFO_spec_ctrl_flags(%rsp)
-
-    /* Load Xen's intended value. */
-    movzbl CPUINFO_xen_spec_ctrl(%rsp), %eax
-    wrmsr
-.endm
-
 .macro DO_SPEC_CTRL_ENTRY maybexen:req
 /*
  * Requires %rsp=regs (also cpuinfo if !maybexen)
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Thu Jan 13 16:39:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 16:39:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257285.442075 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n837i-0001RU-82; Thu, 13 Jan 2022 16:38:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257285.442075; Thu, 13 Jan 2022 16:38:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n837i-0001RN-4s; Thu, 13 Jan 2022 16:38:50 +0000
Received: by outflank-mailman (input) for mailman id 257285;
 Thu, 13 Jan 2022 16:38:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4514=R5=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1n837h-0001RD-Ci
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 16:38:49 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 46e049d1-748f-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 17:38:47 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 46e049d1-748f-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642091927;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=ARuOGzG8JXuNZ5nPn4f165i7Ruf4s1YklHYGlpdLP8I=;
  b=dojJZOg/Vy6YBkY3k2owGjTO3xgLu6v7avTE/Tr6NU7/CML41A+oE9be
   1PX9tjvZB6rhvGsQeXrptTmjOaCROTFyAtGZrqHyxecd0QncIIKHbdimW
   hvLfK6P0X0yy9gMk+bHy2Of+4ym5Uc/C/etoOqbfpHA4paxrT28Fq5oSZ
   M=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: NJi55lD6wuLBNX8Mmi7lJgBdaAysFW0iZDbns3WiUZBz2AoAw2qeVOzshp8fdprNY+N9Ij/dLE
 R7Pc2HsBha3j6MDJNk3oAGvo4qmLIXzxfrMdbZXMennOdc76eXdaiTXf0v68G4vquyZ5B7HM/I
 o6WadOgYwTmXOjYxxkhHV2lgAQuPMNfs5r4jZP1y5cCMa6rS3DHQVPfIybvwTUaaL0dS89GA/u
 qYonr0UrGv5XICOH7LMMFaKThWht/zjRvkHFCH1H91eJHGEwGrl47negf2osVi863J6gEKBf+W
 Pl9cq57sZMhr3Yg5dlENJb+k
X-SBRS: 5.2
X-MesageID: 61856446
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:2y3YJqtncpXnf5DQx+KY2uCih+fnVGFZMUV32f8akzHdYApBsoF/q
 tZmKWjTPffeZDegLthwaozjpxwGvZ+HzoRmQQFv+HowESwb+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZQP0VOZigHtIQMsadUsxKbVIiGHdJZS5LwbZj2NYx2IPhWWthh
 PupyyHhEA79s9JLGjp8B5Kr8HuDa9yr5Vv0FnRnDRx6lAe2e0s9VfrzFonoR5fMeaFGH/bSe
 gr25OrRElU1XfsaIojNfr7TKiXmS1NJVOSEoiI+t6OK2nCuqsGuu0qS2TV1hUp/0l20c95NJ
 NplrZyaWS0RY5bwtukkQkYfVC5vYo5X9+qSSZS/mZT7I0zudnLtx7NlDV0sPJ1e8eFyaY1M3
 aVGcnZXNEnF3r/ohuLgIgVvrp1LwM3DFYUToHx/ixreCu4rW8vrSKTW/95Imjw3g6iiGN6AP
 ppEN2YzMnwsZTUVeWVPF5Qbm92kl1v9VzEEkkrEj/Uetj27IAtZj+G2bYu9lsaxbdVYmAOUq
 3zL+0z9AwoGL5qPxDyd6HWui+TT2yThV+ov+KaQr6AwxgfJnypKVUNQBQDTTeSFZlCWQ9J1O
 2YspxESg6UL5RPsCdbsAD6pryvR1vIDYOZ4H+o/4QCL76Pb5QeFG2QJJgJ8hMwaWNweHmJzi
 ALQ9z/9LXk26eDOFyrBnluBhW7qYUAowXk+iTjopOfvy/3qu8kNgx3GVb6P+4bl34SuSVkcL
 91nxRXSZon/b+ZXhs1XHnid2lpAQ6QlqCZvtm07uUr/v2tEiHaNPdDA1LQixa8owHylZleAp
 mMYvMOV8foDC5qA/ATUHrlXROjyv6jZYGaG6bKKI3XH3279k5JEVdoBiAyS2W8zappUEdMXS
 BK7VfxtCG97YyLxMP4fj3OZAMU216nwfekJpdiPBueilqNZLVfdlAk3PBb49zm0zCAEzP9jU
 b/GL5fEJStKWMxPkWvtL89AgOBD+8zL7T6JLXwN5075geP2ib/8YeptDWZimchivfzU+1uEo
 o8PXyZIoj0GONDDjuDs2dZ7BTg3wbITXPgacuRbKbyOJBRIAmYkB6ODyL8tYdU9za9Uiv3J7
 je2XUoBkAjzgnjOKAOrbHF/aeywAcYj/CxjZSF8b0y133UDYJq06PtNfZUAYrR6pvdoyuR5T
 qdZdpzYUOhPUDnO5x8UcYL58N55bB2uiA/XZ3ilbTEzcoROXQvM/tO4LALj+DNXVni8tNcko
 q3m3QTeGMJRSwNnBcfQSfSu01Lu4iRNxLMsBxPFe4ABdl/t/Y5mLz3KosU2e8xcew/ewja61
 hqNBUtKr+f6vIJoosLCgrqJrtn1HrImTFZaBWTS8Z2/KTLeoji42YZFXeuFIWLdWWfz9Pnwb
 OlZ1aihYvgOnVIMuItgCbd7i6k54oK39bNdyw1lGlTNbkiqVew8ciXXg5EXu/0f3KJdtCu3R
 lmLq4tTNri+Mc/4FEIceVg+ZeOZ2PBIwjTf4JzZ+qkhCPObKFZfbXhvAg==
IronPort-HdrOrdr: A9a23:SZ4HWapAgWU7fe9W6VvXtOsaV5oneYIsimQD101hICG8cqSj+f
 xG+85rsiMc6QxhPE3I9urhBEDtex/hHP1OkOws1NWZLWrbUQKTRekIh+bfKlXbakvDH4VmtJ
 uIHZIQNDSJNykZsfrH
X-IronPort-AV: E=Sophos;i="5.88,286,1635220800"; 
   d="scan'208";a="61856446"
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/spec-ctrl: Fix NMI race condition
Date: Thu, 13 Jan 2022 16:38:30 +0000
Message-ID: <20220113163833.3831-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

Andrew Cooper (3):
  x86/msr: Split MSR_SPEC_CTRL handling
  x86/spec-ctrl: Drop SPEC_CTRL_{ENTRY_FROM,EXIT_TO}_HVM
  x86/spec-ctrl: Fix NMI race condition with VT-x MSR_SPEC_CTRL handling

 xen/arch/x86/hvm/svm/entry.S             |  5 ++--
 xen/arch/x86/hvm/vmx/entry.S             | 23 ++++++++++-----
 xen/arch/x86/hvm/vmx/vmx.c               | 38 ++++++++++++++++++++++++-
 xen/arch/x86/include/asm/msr.h           | 21 ++++++++++----
 xen/arch/x86/include/asm/spec_ctrl_asm.h | 49 ++++----------------------------
 xen/arch/x86/msr.c                       |  6 ++--
 xen/arch/x86/pv/emul-priv-op.c           | 10 +++++++
 7 files changed, 90 insertions(+), 62 deletions(-)

-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Thu Jan 13 16:39:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 16:39:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257286.442086 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n837l-0001i0-IT; Thu, 13 Jan 2022 16:38:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257286.442086; Thu, 13 Jan 2022 16:38:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n837l-0001ht-F8; Thu, 13 Jan 2022 16:38:53 +0000
Received: by outflank-mailman (input) for mailman id 257286;
 Thu, 13 Jan 2022 16:38:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4514=R5=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1n837j-0001gG-Mk
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 16:38:51 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4862c5d8-748f-11ec-bcf3-e9554a921baa;
 Thu, 13 Jan 2022 17:38:50 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4862c5d8-748f-11ec-bcf3-e9554a921baa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642091930;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=tsZqCwP/9e30gFHgjSlmMePARuttaiZ9/gTqptDuKYQ=;
  b=bNl0Yy7giZpd+MsVTLhPOS5h9vO+JcA/3TeHifQT6E7OiCOi/SCXt1tR
   nDSsT1V/MXUWqzSvjGNPAmwSfUD9259RvLlWe1/ZolcPEYmaE4TZgJR7i
   CBccs4ToexZR0cid2OKE8F04OFhO3+RNBKwAS/7eFOhR57bonplZ4HXO0
   g=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: YM7XPkVGIo6D+Bx1k+vpFCmlqh1HFHaqi2ijNLGCIKfZJsf7H4GlvtM68h/enzq1JJVzHjfqNf
 WomRlwuNISemojJXghp/YNBWUMs7j/XOQzlAGEj65amylmBSxXkWsqejfvk9JZC0XovI0pq/Fa
 Ge6aZ6bYpn5nvuLKrPR7n/3o6iHvpIkaP1B6bs5tffM1KDj8ECKQkvSM0bmQAX6R6Q6eMaTUoS
 iJ451hVY2ll0y48zfWwk8cIRWqPLp5S7C+8d3vfJtTJ2ezlIuYLI+HL0zr+wkXx2ptk5DMKx1k
 EG4Ggh4d4TTBMnoG4NjsG4ii
X-SBRS: 5.2
X-MesageID: 61937667
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:ApJpAq+LuP0MzLQ8ycV4DrUDenmTJUtcMsCJ2f8bNWPcYEJGY0x3x
 jQXC2rXOPiDZTanLYtxbIi+pxkE65TTmNJnHQFt+X08E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7dg2dYy6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPhox
 vdxqZ63azsFO42LuOdeXQdDIRtXaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguwKKsXxMZxZkXZn1TzDVt4tQIzZQrWM7thdtNs1rp4XTK2BO
 ZRGAdZpRATAbCBEAVAJNLxk26SPvVfAd2Vjgk3A8MLb5ECMlVcsgdABKuH9eMGMA8NcnU+ap
 2fP12X/HhwecteYzFKt8X+yh+mJgSLyXqoTEqG18rhhh1j77nMXIA0bUx28u/bRol6zXZdTJ
 lIZ/gIqrLMu7wq7Q9/lRRq6rXWY+BkGVLJ4Mcc39QWMwar8+BuCCy4PSTspVTA9nJZoH3pwj
 AbPxo63Q2w02FGIdZ6D3q6ajw+uOy83EUMHRWgkTkgL/cLRmqhm23ojUe1fOKKyi9T0HxT5z
 DaLsDUyit0vsCIb60mo1QuZ2mzx//AlWiZwv1yKBTz9smuVcab4P9TA1LTN0RpXwG91pHGlt
 WNMpcWR5ftm4XqlxH3UG7Vl8F1ECp+43NzgbbxHQ8hJG9eFoSfLkWVsDNdWfhcB3iEsI26BX
 aMrkVkNjKK/xVPzBUONX6q/Ct4x0Y/rHsn/W/bfY7JmO8YtLlfep3kwOR7LhQgBdXTAd4lla
 f93lu72XB4n5VlPlmLqF4/xL5d2rszB+Y8jbc+ilEn2uVZvTHWUVa0EIDOzghMRt8u5TPHu2
 48HbaOikkwHOMWnO3W/2dNNcTgicCZqbbir+50/XrPSeWJORTB+Y8I9NJt8IeSJaYwPyLeRl
 px8M2cFoGfCaYrvclTVOis9OeK2Df6SbxsTZEQRALph4FB7Ca7H0UvVX8FfkWAP+LMxwPhqY
 eMCfsncUP1DRi6eo2YWbIXnrZwkfxOu3FrcMy2gaTk5XphhWw2WpYO0IlqxrHEDXnitqM8zg
 7y8zQeHE5ANcBtvUZTNY/W1wlLv4XVEwLBuX1HFK8V4cVn39NQ4MDT4i/I6epleKRjKyjaA+
 RyRBBMU+bvEr4MvqYGbjqGYtYa5VeB5GxMCTWXc6L+3Mwjc/3aintAcALrZI2iFWTqtqqu4Z
 OhTw/XtC9E9nQ5H49hmDrJm7aMi/N+z9bVU+RtpQSfQZFOxB7I+fnTfhZtTtrdAz6NysBetX
 h7d4cFTPLiENZ+3EFMVIwZ5PO2P2etNx2vX5PUxZk77+DV27PyMVkALZ0uAjylULb1UNoI5w
 Lh+5J5KulLn0hd6YMybii109niXKi1SWqoqgZgWHYv3h1d50VpFe5HdVnf77Zznhw+g6aX2z
 ut4XJb/uok=
IronPort-HdrOrdr: A9a23:t7fHo6w0a6hoOs87rFdiKrPwFr1zdoMgy1knxilNoRw8SK2lfq
 eV7YwmPH7P+U8ssR4b6LO90cW7Lk80sKQFhbX5Xo3SOjUO2lHYTr2KhLGKq1aLdkHDH6xmpM
 BdmsBFeabN5DNB7foSjjPXLz9Z+qjjzJyV
X-IronPort-AV: E=Sophos;i="5.88,286,1635220800"; 
   d="scan'208";a="61937667"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Jun Nakajima
	<jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>
Subject: [PATCH 2/3] x86/spec-ctrl: Drop SPEC_CTRL_{ENTRY_FROM,EXIT_TO}_HVM
Date: Thu, 13 Jan 2022 16:38:32 +0000
Message-ID: <20220113163833.3831-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220113163833.3831-1-andrew.cooper3@citrix.com>
References: <20220113163833.3831-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

These were written before Spectre/Meltdown went public, and there was large
uncertainty in how the protections would evolve.  As it turns out, they're
very specific to Intel hardware, and not very suitable for AMD.

Expand and drop the macros.  No change at all for VT-x.

For AMD, the only relevant piece of functionality is DO_OVERWRITE_RSB,
although we will soon be adding (different) logic to handle MSR_SPEC_CTRL.

This has a marginal improvement of removing an unconditional pile of long-nops
from the vmentry/exit path.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
CC: Jun Nakajima <jun.nakajima@intel.com>
CC: Kevin Tian <kevin.tian@intel.com>
---
 xen/arch/x86/hvm/svm/entry.S             |  5 +++--
 xen/arch/x86/hvm/vmx/entry.S             |  8 ++++++--
 xen/arch/x86/include/asm/spec_ctrl_asm.h | 17 ++---------------
 3 files changed, 11 insertions(+), 19 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/entry.S b/xen/arch/x86/hvm/svm/entry.S
index e208a4b32ae7..276215d36aff 100644
--- a/xen/arch/x86/hvm/svm/entry.S
+++ b/xen/arch/x86/hvm/svm/entry.S
@@ -59,7 +59,7 @@ __UNLIKELY_END(nsvm_hap)
         mov VCPUMSR_spec_ctrl_raw(%rax), %eax
 
         /* WARNING! `ret`, `call *`, `jmp *` not safe beyond this point. */
-        SPEC_CTRL_EXIT_TO_HVM   /* Req: a=spec_ctrl %rsp=regs/cpuinfo, Clob: cd */
+        /* SPEC_CTRL_EXIT_TO_SVM   (nothing currently) */
 
         pop  %r15
         pop  %r14
@@ -86,7 +86,8 @@ __UNLIKELY_END(nsvm_hap)
 
         GET_CURRENT(bx)
 
-        SPEC_CTRL_ENTRY_FROM_HVM    /* Req: b=curr %rsp=regs/cpuinfo, Clob: acd */
+        /* SPEC_CTRL_ENTRY_FROM_SVM    Req: b=curr %rsp=regs/cpuinfo, Clob: ac  */
+        ALTERNATIVE "", DO_OVERWRITE_RSB, X86_FEATURE_SC_RSB_HVM
         /* WARNING! `ret`, `call *`, `jmp *` not safe before this point. */
 
         stgi
diff --git a/xen/arch/x86/hvm/vmx/entry.S b/xen/arch/x86/hvm/vmx/entry.S
index 27c8c5ca4943..30139ae58e9d 100644
--- a/xen/arch/x86/hvm/vmx/entry.S
+++ b/xen/arch/x86/hvm/vmx/entry.S
@@ -33,7 +33,9 @@ ENTRY(vmx_asm_vmexit_handler)
         movb $1,VCPU_vmx_launched(%rbx)
         mov  %rax,VCPU_hvm_guest_cr2(%rbx)
 
-        SPEC_CTRL_ENTRY_FROM_HVM    /* Req: b=curr %rsp=regs/cpuinfo, Clob: acd */
+        /* SPEC_CTRL_ENTRY_FROM_VMX    Req: b=curr %rsp=regs/cpuinfo, Clob: acd */
+        ALTERNATIVE "", DO_OVERWRITE_RSB, X86_FEATURE_SC_RSB_HVM
+        ALTERNATIVE "", DO_SPEC_CTRL_ENTRY_FROM_HVM, X86_FEATURE_SC_MSR_HVM
         /* WARNING! `ret`, `call *`, `jmp *` not safe before this point. */
 
         /* Hardware clears MSR_DEBUGCTL on VMExit.  Reinstate it if debugging Xen. */
@@ -80,7 +82,9 @@ UNLIKELY_END(realmode)
         mov VCPUMSR_spec_ctrl_raw(%rax), %eax
 
         /* WARNING! `ret`, `call *`, `jmp *` not safe beyond this point. */
-        SPEC_CTRL_EXIT_TO_HVM   /* Req: a=spec_ctrl %rsp=regs/cpuinfo, Clob: cd */
+        /* SPEC_CTRL_EXIT_TO_VMX   Req: a=spec_ctrl %rsp=regs/cpuinfo, Clob: cd */
+        ALTERNATIVE "", DO_SPEC_CTRL_EXIT_TO_GUEST, X86_FEATURE_SC_MSR_HVM
+        ALTERNATIVE "", __stringify(verw CPUINFO_verw_sel(%rsp)), X86_FEATURE_SC_VERW_HVM
 
         mov  VCPU_hvm_guest_cr2(%rbx),%rax
 
diff --git a/xen/arch/x86/include/asm/spec_ctrl_asm.h b/xen/arch/x86/include/asm/spec_ctrl_asm.h
index cb34299a865b..18ecfcd70375 100644
--- a/xen/arch/x86/include/asm/spec_ctrl_asm.h
+++ b/xen/arch/x86/include/asm/spec_ctrl_asm.h
@@ -68,14 +68,14 @@
  *
  * The following ASM fragments implement this algorithm.  See their local
  * comments for further details.
- *  - SPEC_CTRL_ENTRY_FROM_HVM
+ *  - SPEC_CTRL_ENTRY_FROM_{SVM,VMX} (See appropriate entry.S files)
  *  - SPEC_CTRL_ENTRY_FROM_PV
  *  - SPEC_CTRL_ENTRY_FROM_INTR
  *  - SPEC_CTRL_ENTRY_FROM_INTR_IST
  *  - SPEC_CTRL_EXIT_TO_XEN_IST
  *  - SPEC_CTRL_EXIT_TO_XEN
  *  - SPEC_CTRL_EXIT_TO_PV
- *  - SPEC_CTRL_EXIT_TO_HVM
+ *  - SPEC_CTRL_EXIT_TO_{SVM,VMX}
  */
 
 .macro DO_OVERWRITE_RSB tmp=rax
@@ -225,12 +225,6 @@
     wrmsr
 .endm
 
-/* Use after a VMEXIT from an HVM guest. */
-#define SPEC_CTRL_ENTRY_FROM_HVM                                        \
-    ALTERNATIVE "", DO_OVERWRITE_RSB, X86_FEATURE_SC_RSB_HVM;           \
-    ALTERNATIVE "", DO_SPEC_CTRL_ENTRY_FROM_HVM,                        \
-        X86_FEATURE_SC_MSR_HVM
-
 /* Use after an entry from PV context (syscall/sysenter/int80/int82/etc). */
 #define SPEC_CTRL_ENTRY_FROM_PV                                         \
     ALTERNATIVE "", DO_OVERWRITE_RSB, X86_FEATURE_SC_RSB_PV;            \
@@ -255,13 +249,6 @@
     ALTERNATIVE "", __stringify(verw CPUINFO_verw_sel(%rsp)),           \
         X86_FEATURE_SC_VERW_PV
 
-/* Use when exiting to HVM guest context. */
-#define SPEC_CTRL_EXIT_TO_HVM                                           \
-    ALTERNATIVE "",                                                     \
-        DO_SPEC_CTRL_EXIT_TO_GUEST, X86_FEATURE_SC_MSR_HVM;             \
-    ALTERNATIVE "", __stringify(verw CPUINFO_verw_sel(%rsp)),           \
-        X86_FEATURE_SC_VERW_HVM
-
 /*
  * Use in IST interrupt/exception context.  May interrupt Xen or PV context.
  * Fine grain control of SCF_ist_wrmsr is needed for safety in the S3 resume
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Thu Jan 13 16:58:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 16:58:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257318.442137 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n83R2-0006fC-Kn; Thu, 13 Jan 2022 16:58:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257318.442137; Thu, 13 Jan 2022 16:58:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n83R2-0006f5-Hf; Thu, 13 Jan 2022 16:58:48 +0000
Received: by outflank-mailman (input) for mailman id 257318;
 Thu, 13 Jan 2022 16:58: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 1n83R1-0006em-Vj; Thu, 13 Jan 2022 16:58: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 1n83R1-00020H-My; Thu, 13 Jan 2022 16:58: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 1n83R1-00060B-Dw; Thu, 13 Jan 2022 16:58:47 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n83R1-00080Y-DV; Thu, 13 Jan 2022 16:58: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=bII9Wdh2McaAtvVf7UlAHqvXPWZ2yZh0S8adX/NgPAc=; b=oEvkb7FH3Yx76fDqOlGeI1WKWn
	WjTUO3Z5F+sVJrekq9dfRyX39x5IRTE/ISNiqIlYsJa+uToMU6xfePybYkJIZXN2Xcikr+P6vf+aw
	IxcP2rzy1kPfrjbPRizstjVSFahKOLT539UTXGoqmgk7Bx+Tpp5flw/dJsxq/qU2pF4E=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167687-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 167687: 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=73ee2795aaef2cb086ac078bffe1c6b33c0ea91b
X-Osstest-Versions-That:
    xen=2e8aa1663c76a189998bf51b869b9e468c992c89
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 13 Jan 2022 16:58:47 +0000

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

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                  73ee2795aaef2cb086ac078bffe1c6b33c0ea91b
baseline version:
 xen                  2e8aa1663c76a189998bf51b869b9e468c992c89

Last test of basis   167676  2022-01-12 12:01:56 Z    1 days
Testing same since   167687  2022-01-13 14:03:03 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>

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
   2e8aa1663c..73ee2795aa  73ee2795aaef2cb086ac078bffe1c6b33c0ea91b -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 17:03:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 17:03:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257331.442148 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n83Uv-00087O-7R; Thu, 13 Jan 2022 17:02:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257331.442148; Thu, 13 Jan 2022 17:02:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n83Uv-00087H-2q; Thu, 13 Jan 2022 17:02:49 +0000
Received: by outflank-mailman (input) for mailman id 257331;
 Thu, 13 Jan 2022 17:02:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fwfT=R5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n83Uu-00087B-71
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 17:02:48 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a15857ad-7492-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 18:02:46 +0100 (CET)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2056.outbound.protection.outlook.com [104.47.13.56]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-36-PUVaXqXrOzuqXFbYa5zCgg-1; Thu, 13 Jan 2022 18:02:45 +0100
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.4888.10; Thu, 13 Jan
 2022 17:02:42 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Thu, 13 Jan 2022
 17:02: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: a15857ad-7492-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642093366;
	h=from:from:reply-to:subject:subject: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=4o09gvlURgt6DohoIthTsazujGkFQ0G21bWcFFvWZGc=;
	b=mX6Xo1DwOqE3AG5FHwBhGtV7MUH+241gOi9ycswjUzC2I5oGl6fd+xexqcqLxEFVNME3Js
	fwObCiLSLAvudER3M2H06R6yHiw0tfBq7U3IIRveAJWuSb46tkn0xbDw/Y9UFu/Tc7t9xP
	BpF2wW/sowDV0TwRVBsCPwoWw6dEQGs=
X-MC-Unique: PUVaXqXrOzuqXFbYa5zCgg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EcjTN0v+MPe1b7vFv5Y2nikJ+wWZszkduYskalxLQE8Dj2RXpJoFsJq+jKzdkG7xbg/Rm7JlOnhtyBhEUUSB/Nnx1OmJQMLBbiazR4yPiTRhBD4KosqFxnjKdr956ADW/iQRMaBsMLg1zQt01+yr0JcNJRNJezjq700ia0gyI4jRA+2kaXFVNEdD9/Xi9d8avwJoLN49Uqdj3eWeSxkXYBZtpzsX3C24HFMqu8S6+I+BWLs+w0vqrtEZSZNdEcyKEkqklO0TitPROM6LmOAj99EY0Et2XbuR7tjnKafg75wA/TyGEFa8FusnQ131F4PowwM4fHjHvoo/eTFOfTopWg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4o09gvlURgt6DohoIthTsazujGkFQ0G21bWcFFvWZGc=;
 b=dKnwPsI8WG8C5AMlC5BQ0n7xK3cIGhiXRb7M4D4c5gnQ/X1S/4/xHgk5w2OOrOXkKXnBgSZHuptXmqEEWyR+O4OvisR3upVA8qOAKDy6FeQt597eqJZ0RkSepgfvtGKZg4kIzijiVpBYs+WdTsh71EtfWnWq6BEGb4G+8hHUQ/HG7ubeJ6PMxj1xApKnIwN7F6eg7CWIBzV4RXS2k4rKSbq+jVWWNvj1Bnu4K+9rLSo9PqWoC+zHG8C4CBmrTf2z1g09M66xZRSGjLbzSf1smCxTrOkHkPM0ug0+c+SRuirTlJ9LS1+irGsFurS10UPlwAA3erdip8Kr7VzYEXZstg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ed34964c-c612-497f-0350-b9202c0ba057@suse.com>
Date: Thu, 13 Jan 2022 18:02:40 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2] x86/HVM: convert remaining hvm_funcs hook invocations to
 alt-call
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>, Tamas K Lengyel <tamas@tklengyel.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 Alexandru Isaila <aisaila@bitdefender.com>
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P191CA0083.EURP191.PROD.OUTLOOK.COM
 (2603:10a6:209:8a::24) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 45d9202a-44d5-430d-166b-08d9d6b682f7
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2606:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB2606897183233A545B3DB62EB3539@VI1PR0401MB2606.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:608;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zAgHwnu6JjDP+cDL9bwU34B0esHc85znUzTALwOCIq3XkE4eTxHoLxaC6QM4L8WN5/IbtnBFNu+W8Q59y7UzRDEzxEIwsPihfzgZOL9Om/IFBRpVs+rgxD0fYbbiyWzqBo7EFpIuMibqp3RIKiq2H0Only8Kz3icEHKwCjD7Wn4lA/LNYll2wUs6eLaJ1vjWZMGPOYbW4C5BSdwoSHfruunVEFp2pCs2ftlxfgXz8k/MvgBMhRBKWpffVCv/lROYwdF2AGKCX6vwdAki25B/eX95o8rP/DcEaNMXo12Ds+b9T/3oG44MfryJIMGx+Q3oA3hMYtXyMSd6j9Q8h+hPc7C5uLfIIae+XP4UO7s22+8+koWxSSqIQEPOZ4w68/Lx8HONU3/sl8C2RHafc+AHaBkUjYU5OrFr1ASVJDA3h6owkgtru7NCeSLyp/rbXeY+NevskjRnZYh2aIY7YI9avK2rGPuZHhPPnVWe5rd98KJXVluEIpZo2LKLw0TxRzRM4w+ZUtIACjzyfJqfFq1iXNHMPsj9CCY5qpbd6Rqoxc+buM8uxYZcqUFiZorKi1OOVWxDdcpM0dKrkp+M7xFMj+wtNtX0gAVWmfuuPxEl7juvt46UkHLhmrx7S3wRf4D9g5W/8R554eiPeDYtVoQyCiNRTQnY1ldB1WLfWoxvn3YaqyVJya+SqODzFndDQnxoziCrnNJ1pfjcuOvlCyPXrOMgWz0O5e2jb27rCEj30unqgYhyhmUk65hdPW6wccUEjCFEqrlB53TMyzna6MAMN+58pJnEysAuv94KKbAoKL6Rg9VPnslq3muM+sfsPQRj
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)(6486002)(54906003)(38100700002)(6512007)(6506007)(8936002)(8676002)(2906002)(6916009)(5660300002)(508600001)(31686004)(4326008)(966005)(2616005)(30864003)(26005)(66556008)(316002)(66476007)(66946007)(83380400001)(86362001)(186003)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eHk1Lys1Y1QrQjVsdEp1SW42S3c0NzhyRHBCMitoMGsyUUVOVmNhVzdUb2lG?=
 =?utf-8?B?VG5odUxHOHZPaUpCMXo3RlNHbTlFclBrK0FUM1REelFrWllzYnZ2alIvZHoy?=
 =?utf-8?B?VHlMR3VBbVprNmwrVTdzWnF6dDl6Qi9aYjB6UDJQaGZVdTRLa3dkMXZKeVFW?=
 =?utf-8?B?ZjZ4c3plRTRRODZYZlNsdWFieTcwQ3QwLzlwOEtpeUpqWWpNV2FPYkErZDJz?=
 =?utf-8?B?NUh2OUdKQ1lJK1RiOFFGdnR3dDJqaE4rT1NxUzB3MmtQa0pEWHpGNFZFcFBK?=
 =?utf-8?B?akI2MFM2WDgwMEUvc1c5SzRHZkJwdGRuaXhjTnpqRkZxRElWSHRTMTN2U3dv?=
 =?utf-8?B?eDZ3YVF6Sm1tYmtvOXEvRUxyWUpTZjFBUXpvNExVbzl2QVAyTUtRUzRHUHl0?=
 =?utf-8?B?Q2lnRDRDOEpsU3lzVlZwVktiYUlSQVBzRHJFQSs2MUdNVzRSbnNKVzRqbmQv?=
 =?utf-8?B?SGpNWk5ZOHVuRWJZK2JLeVFZdFk4cjg5ZFhxTkhScE9UN0J2anpsNmw4TW4y?=
 =?utf-8?B?eEY0SlR5TUpQeXh3WFkxVjJ2R0tDWnZIclZMNUdtL1g4djhvUi9lV2syay9o?=
 =?utf-8?B?eFpNVzJFOXFNclRvVkhIRDFIL1pxZFIycWt6L1BGeXk2RUJGSUcxTGpXdHda?=
 =?utf-8?B?NCs3Y1FBU3VsaW9DSkY2OFBNZXhiM29EcjEvajhtb0xtWWFta2poY0VOUjdk?=
 =?utf-8?B?MGNrR1JybzNydGplV0RYQTJ3ditsaVR6bExzK04xeDRlMzRiS1M0N29xQlF5?=
 =?utf-8?B?NEtRWCtoUS9mbVVFTjFNTXVYQmhRZzdsbG9zL3E5WVdaeENzNUpFNktVQndw?=
 =?utf-8?B?VEVvRzFZWFhseHRqdUZremRON0twV1JOV25RMlJBWnkzUEJ5dTI1OVQvOElF?=
 =?utf-8?B?aUdUbWZWdmVsR2g0NGcxNFh6MDdQTjdoVldwQkhPZWhyVkZiNmxaUGlCaHkv?=
 =?utf-8?B?eWw5cGptbERwVHJTVmtmQWdHWVZuNHMwSkV0TnF3QzJlWktOa1Zlb3NKQlFY?=
 =?utf-8?B?bXdja3A3UWhtTUg2VlJKL3hYdUFUS0ttbFlDNHdCeUd1aGkwbFBBSUlod1Rs?=
 =?utf-8?B?ci9sQ0JpSGZrcGdlOFdSdzFwSmpHUFBPRHlYcGV5REM3OXNuYkVTeG5mWmZN?=
 =?utf-8?B?dXZvNHcyekJjN05ic25TVU1vcjdSbTBiR3RnOTBLK1BYaGt0cVB6VHJPL2hx?=
 =?utf-8?B?SmI0cHBkWEFuc2pwYWVRaVNsZzZBZmUwZGdVQ1QrTFJETXVudnpXM01ZN3A2?=
 =?utf-8?B?QzFSeTF2eDZqYWExQ3dNK215RU1DTzJBU09YQnl5akprdURrdlY1OS9aU0xM?=
 =?utf-8?B?VHhyaFJoUUVpNG5FNUtMekNtU3NPeXg4SC8wOGIyb2lrZkJEVEhsNlUyV1RQ?=
 =?utf-8?B?Mk1HUDB0RUNGZGV1OUJWMGlZKzZTc1lrSDY0dDRqYUZSQnhWa09PN3gwS1Q4?=
 =?utf-8?B?N0EyWWd2QWFWays0MlBKWHRrdktSL25TN09scTR0SXVjenJRR2F1RVNQOEw1?=
 =?utf-8?B?M3RtSVlPQmFGLzVqUyt0dHhRbE11aUZmai9BYndFczFrS1BaSlM0eU1ZMURk?=
 =?utf-8?B?USszWURsb1QxMlRZUVlTQzFTdFBrMlVwbVE0ekVmNmh5NlBrQXV4bHhhcGt2?=
 =?utf-8?B?ZHhMQThRZFFtUmtMY0hqeW9CckxPaDhoc0laakhiWURJSDNjblZEWVBTV00w?=
 =?utf-8?B?bUh3Z0U2eUxGRzhjZDZ2ZDdpWlZGUWxkQjJBVkpqYlBpVFNqWW9LRjgzSU9h?=
 =?utf-8?B?bkovVGJYY3NqQXB5bmFDZnErSGx5cUtiVG9IamphYUluK2lseXhlY2t3UHNQ?=
 =?utf-8?B?Q29RT3ZnTnNrVVFBTS9URDNBMFJLRUV5NkxFeTBNSDhFbWlLUkN5OE45bkJ5?=
 =?utf-8?B?dUd3WVNJY0V1YW9tNGlIbkFIZ2JHT0xlZTZGMWlEajB0b1RmMks2UURnVG1T?=
 =?utf-8?B?WjQxQ3paNXowUGgwNHZJbDIySjIvQmgrTXFyc3RaTUF3ci93ZnpISzhod2x2?=
 =?utf-8?B?eVBYRUdXZXdIdFQwdWNoc215MWVMRGJJeWFaaWNhNHJRbDMranZrZXphQUwr?=
 =?utf-8?B?K05FbFNlVFEvU29uRjhaTUlzZ1lHRXUycHlZcis0dmNHeGQyZHdSc1VLOWZG?=
 =?utf-8?B?bmNsMG13cjkyMTFhSXNDck1mZnZVb2QwazlqeUtsRHJZZU1xSXZ5Q3FSdm9i?=
 =?utf-8?Q?Gn469C4Xguu3YJ/NhKQ5gVo=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 45d9202a-44d5-430d-166b-08d9d6b682f7
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2022 17:02:42.0778
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: iweB1gB7EXojwj5SU879Z92nqAVSPheoUfXq6BMnJebBBlmYh+gLM9cfsO1DFi2e8HTiy7CF/OybjOVlhymWTA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2606

The aim being to have as few indirect calls as possible (see [1]),
whereas during initial conversion performance was the main aspect and
hence rarely used hooks didn't get converted. Apparently one use of
get_interrupt_shadow() was missed at the time.

While doing this, drop NULL checks ahead of CPU management and .nhvm_*()
calls when the hook is always present. Also convert the
.nhvm_vcpu_reset() call to alternative_vcall(), as the return value is
unused and the caller has currently no way of propagating it.

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

[1] https://lists.xen.org/archives/html/xen-devel/2021-11/msg01822.html
---
v2: Convert all hook invocations. Re-base.

--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -2549,7 +2549,7 @@ static int hvmemul_vmfunc(
 
     if ( !hvm_funcs.altp2m_vcpu_emulate_vmfunc )
         return X86EMUL_UNHANDLEABLE;
-    rc = hvm_funcs.altp2m_vcpu_emulate_vmfunc(ctxt->regs);
+    rc = alternative_call(hvm_funcs.altp2m_vcpu_emulate_vmfunc, ctxt->regs);
     if ( rc == X86EMUL_EXCEPTION )
         x86_emul_hw_exception(TRAP_invalid_op, X86_EVENT_NO_EC, ctxt);
 
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -126,14 +126,14 @@ static int cpu_callback(
     switch ( action )
     {
     case CPU_UP_PREPARE:
-        rc = hvm_funcs.cpu_up_prepare(cpu);
+        rc = alternative_call(hvm_funcs.cpu_up_prepare, cpu);
         break;
     case CPU_DYING:
         hvm_cpu_down();
         break;
     case CPU_UP_CANCELED:
     case CPU_DEAD:
-        hvm_funcs.cpu_dead(cpu);
+        alternative_vcall(hvm_funcs.cpu_dead, cpu);
         break;
     default:
         break;
@@ -707,7 +707,7 @@ int hvm_domain_initialise(struct domain
     if ( rc )
         goto fail2;
 
-    rc = hvm_funcs.domain_initialise(d);
+    rc = alternative_call(hvm_funcs.domain_initialise, d);
     if ( rc != 0 )
         goto fail2;
 
@@ -740,7 +740,7 @@ void hvm_domain_relinquish_resources(str
         alternative_vcall(hvm_funcs.domain_relinquish_resources, d);
 
     if ( hvm_funcs.nhvm_domain_relinquish_resources )
-        hvm_funcs.nhvm_domain_relinquish_resources(d);
+        alternative_vcall(hvm_funcs.nhvm_domain_relinquish_resources, d);
 
     viridian_domain_deinit(d);
 
@@ -870,7 +870,7 @@ static int hvm_save_cpu_ctxt(struct vcpu
         return 0;
 
     /* Architecture-specific vmcs/vmcb bits */
-    hvm_funcs.save_cpu_ctxt(v, &ctxt);
+    alternative_vcall(hvm_funcs.save_cpu_ctxt, v, &ctxt);
 
     hvm_get_segment_register(v, x86_seg_idtr, &seg);
     ctxt.idtr_limit = seg.limit;
@@ -1093,14 +1093,14 @@ static int hvm_load_cpu_ctxt(struct doma
 #undef UNFOLD_ARBYTES
 
     /* Architecture-specific vmcs/vmcb bits */
-    if ( hvm_funcs.load_cpu_ctxt(v, &ctxt) < 0 )
+    if ( alternative_call(hvm_funcs.load_cpu_ctxt, v, &ctxt) < 0 )
         return -EINVAL;
 
     v->arch.hvm.guest_cr[2] = ctxt.cr2;
     hvm_update_guest_cr(v, 2);
 
     if ( hvm_funcs.tsc_scaling.setup )
-        hvm_funcs.tsc_scaling.setup(v);
+        alternative_vcall(hvm_funcs.tsc_scaling.setup, v);
 
     v->arch.msrs->tsc_aux = ctxt.msr_tsc_aux;
 
@@ -1563,7 +1563,8 @@ int hvm_vcpu_initialise(struct vcpu *v)
     if ( rc != 0 ) /* teardown: vlapic_destroy */
         goto fail2;
 
-    if ( (rc = hvm_funcs.vcpu_initialise(v)) != 0 ) /* teardown: hvm_funcs.vcpu_destroy */
+    rc = alternative_call(hvm_funcs.vcpu_initialise, v);
+    if ( rc != 0 ) /* teardown: hvm_funcs.vcpu_destroy */
         goto fail3;
 
     softirq_tasklet_init(&v->arch.hvm.assert_evtchn_irq_tasklet,
@@ -1611,7 +1612,7 @@ int hvm_vcpu_initialise(struct vcpu *v)
     free_compat_arg_xlat(v);
  fail4:
     hvmemul_cache_destroy(v);
-    hvm_funcs.vcpu_destroy(v);
+    alternative_vcall(hvm_funcs.vcpu_destroy, v);
  fail3:
     vlapic_destroy(v);
  fail2:
@@ -1635,7 +1636,7 @@ void hvm_vcpu_destroy(struct vcpu *v)
     free_compat_arg_xlat(v);
 
     tasklet_kill(&v->arch.hvm.assert_evtchn_irq_tasklet);
-    hvm_funcs.vcpu_destroy(v);
+    alternative_vcall(hvm_funcs.vcpu_destroy, v);
 
     vlapic_destroy(v);
 
@@ -3874,7 +3875,7 @@ enum hvm_intblk hvm_interrupt_blocked(st
          !(guest_cpu_user_regs()->eflags & X86_EFLAGS_IF) )
         return hvm_intblk_rflags_ie;
 
-    intr_shadow = hvm_funcs.get_interrupt_shadow(v);
+    intr_shadow = alternative_call(hvm_funcs.get_interrupt_shadow, v);
 
     if ( intr_shadow & (HVM_INTR_SHADOW_STI|HVM_INTR_SHADOW_MOV_SS) )
         return hvm_intblk_shadow;
@@ -3990,7 +3991,7 @@ void hvm_vcpu_reset_state(struct vcpu *v
     hvm_set_segment_register(v, x86_seg_idtr, &reg);
 
     if ( hvm_funcs.tsc_scaling.setup )
-        hvm_funcs.tsc_scaling.setup(v);
+        alternative_vcall(hvm_funcs.tsc_scaling.setup, v);
 
     /* Sync AP's TSC with BSP's. */
     v->arch.hvm.cache_tsc_offset =
--- a/xen/arch/x86/hvm/nestedhvm.c
+++ b/xen/arch/x86/hvm/nestedhvm.c
@@ -54,8 +54,7 @@ nestedhvm_vcpu_reset(struct vcpu *v)
 
     hvm_asid_flush_vcpu_asid(&nv->nv_n2asid);
 
-    if ( hvm_funcs.nhvm_vcpu_reset )
-        hvm_funcs.nhvm_vcpu_reset(v);
+    alternative_vcall(hvm_funcs.nhvm_vcpu_reset, v);
 
     /* vcpu is in host mode */
     nestedhvm_vcpu_exit_guestmode(v);
@@ -64,14 +63,14 @@ nestedhvm_vcpu_reset(struct vcpu *v)
 int
 nestedhvm_vcpu_initialise(struct vcpu *v)
 {
-    int rc = -EOPNOTSUPP;
+    int rc;
 
     if ( !shadow_io_bitmap[0] )
         return -ENOMEM;
 
-    if ( !hvm_funcs.nhvm_vcpu_initialise ||
-         ((rc = hvm_funcs.nhvm_vcpu_initialise(v)) != 0) )
-         return rc;
+    rc = alternative_call(hvm_funcs.nhvm_vcpu_initialise, v);
+    if ( rc )
+        return rc;
 
     nestedhvm_vcpu_reset(v);
     return 0;
@@ -80,8 +79,7 @@ nestedhvm_vcpu_initialise(struct vcpu *v
 void
 nestedhvm_vcpu_destroy(struct vcpu *v)
 {
-    if ( hvm_funcs.nhvm_vcpu_destroy )
-        hvm_funcs.nhvm_vcpu_destroy(v);
+    alternative_vcall(hvm_funcs.nhvm_vcpu_destroy, v);
 }
 
 static void
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -561,13 +561,12 @@ static inline void hvm_invlpg(struct vcp
 
 static inline int hvm_cpu_up(void)
 {
-    return (hvm_funcs.cpu_up ? hvm_funcs.cpu_up() : 0);
+    return alternative_call(hvm_funcs.cpu_up);
 }
 
 static inline void hvm_cpu_down(void)
 {
-    if ( hvm_funcs.cpu_down )
-        hvm_funcs.cpu_down();
+    alternative_vcall(hvm_funcs.cpu_down);
 }
 
 static inline unsigned int hvm_get_insn_bytes(struct vcpu *v, uint8_t *buf)
@@ -601,7 +600,7 @@ static inline void hvm_invalidate_regs_f
 static inline int nhvm_vcpu_vmexit_event(
     struct vcpu *v, const struct x86_event *event)
 {
-    return hvm_funcs.nhvm_vcpu_vmexit_event(v, event);
+    return alternative_call(hvm_funcs.nhvm_vcpu_vmexit_event, v, event);
 }
 
 /* returns l1 guest's cr3 that points to the page table used to
@@ -609,45 +608,46 @@ static inline int nhvm_vcpu_vmexit_event
  */
 static inline uint64_t nhvm_vcpu_p2m_base(struct vcpu *v)
 {
-    return hvm_funcs.nhvm_vcpu_p2m_base(v);
+    return alternative_call(hvm_funcs.nhvm_vcpu_p2m_base, v);
 }
 
 /* returns true, when l1 guest intercepts the specified trap */
 static inline bool_t nhvm_vmcx_guest_intercepts_event(
     struct vcpu *v, unsigned int vector, int errcode)
 {
-    return hvm_funcs.nhvm_vmcx_guest_intercepts_event(v, vector, errcode);
+    return alternative_call(hvm_funcs.nhvm_vmcx_guest_intercepts_event, v,
+                            vector, errcode);
 }
 
 /* returns true when l1 guest wants to use hap to run l2 guest */
 static inline bool_t nhvm_vmcx_hap_enabled(struct vcpu *v)
 {
-    return hvm_funcs.nhvm_vmcx_hap_enabled(v);
+    return alternative_call(hvm_funcs.nhvm_vmcx_hap_enabled, v);
 }
 
 /* interrupt */
 static inline enum hvm_intblk nhvm_interrupt_blocked(struct vcpu *v)
 {
-    return hvm_funcs.nhvm_intr_blocked(v);
+    return alternative_call(hvm_funcs.nhvm_intr_blocked, v);
 }
 
 static inline int nhvm_hap_walk_L1_p2m(
     struct vcpu *v, paddr_t L2_gpa, paddr_t *L1_gpa, unsigned int *page_order,
     uint8_t *p2m_acc, struct npfec npfec)
 {
-    return hvm_funcs.nhvm_hap_walk_L1_p2m(
+    return alternative_call(hvm_funcs.nhvm_hap_walk_L1_p2m,
         v, L2_gpa, L1_gpa, page_order, p2m_acc, npfec);
 }
 
 static inline void hvm_enable_msr_interception(struct domain *d, uint32_t msr)
 {
-    hvm_funcs.enable_msr_interception(d, msr);
+    alternative_vcall(hvm_funcs.enable_msr_interception, d, msr);
 }
 
 static inline bool_t hvm_is_singlestep_supported(void)
 {
     return (hvm_funcs.is_singlestep_supported &&
-            hvm_funcs.is_singlestep_supported());
+            alternative_call(hvm_funcs.is_singlestep_supported));
 }
 
 static inline bool hvm_hap_supported(void)
@@ -665,14 +665,14 @@ static inline bool hvm_altp2m_supported(
 static inline void altp2m_vcpu_update_p2m(struct vcpu *v)
 {
     if ( hvm_funcs.altp2m_vcpu_update_p2m )
-        hvm_funcs.altp2m_vcpu_update_p2m(v);
+        alternative_vcall(hvm_funcs.altp2m_vcpu_update_p2m, v);
 }
 
 /* updates VMCS fields related to VMFUNC and #VE */
 static inline void altp2m_vcpu_update_vmfunc_ve(struct vcpu *v)
 {
     if ( hvm_funcs.altp2m_vcpu_update_vmfunc_ve )
-        hvm_funcs.altp2m_vcpu_update_vmfunc_ve(v);
+        alternative_vcall(hvm_funcs.altp2m_vcpu_update_vmfunc_ve, v);
 }
 
 /* emulates #VE */
@@ -680,7 +680,7 @@ static inline bool altp2m_vcpu_emulate_v
 {
     if ( hvm_funcs.altp2m_vcpu_emulate_ve )
     {
-        hvm_funcs.altp2m_vcpu_emulate_ve(v);
+        alternative_vcall(hvm_funcs.altp2m_vcpu_emulate_ve, v);
         return true;
     }
     return false;
@@ -689,7 +689,7 @@ static inline bool altp2m_vcpu_emulate_v
 static inline int hvm_vmtrace_control(struct vcpu *v, bool enable, bool reset)
 {
     if ( hvm_funcs.vmtrace_control )
-        return hvm_funcs.vmtrace_control(v, enable, reset);
+        return alternative_call(hvm_funcs.vmtrace_control, v, enable, reset);
 
     return -EOPNOTSUPP;
 }
@@ -698,7 +698,7 @@ static inline int hvm_vmtrace_control(st
 static inline int hvm_vmtrace_output_position(struct vcpu *v, uint64_t *pos)
 {
     if ( hvm_funcs.vmtrace_output_position )
-        return hvm_funcs.vmtrace_output_position(v, pos);
+        return alternative_call(hvm_funcs.vmtrace_output_position, v, pos);
 
     return -EOPNOTSUPP;
 }
@@ -707,7 +707,7 @@ static inline int hvm_vmtrace_set_option
     struct vcpu *v, uint64_t key, uint64_t value)
 {
     if ( hvm_funcs.vmtrace_set_option )
-        return hvm_funcs.vmtrace_set_option(v, key, value);
+        return alternative_call(hvm_funcs.vmtrace_set_option, v, key, value);
 
     return -EOPNOTSUPP;
 }
@@ -716,7 +716,7 @@ static inline int hvm_vmtrace_get_option
     struct vcpu *v, uint64_t key, uint64_t *value)
 {
     if ( hvm_funcs.vmtrace_get_option )
-        return hvm_funcs.vmtrace_get_option(v, key, value);
+        return alternative_call(hvm_funcs.vmtrace_get_option, v, key, value);
 
     return -EOPNOTSUPP;
 }
@@ -724,7 +724,7 @@ static inline int hvm_vmtrace_get_option
 static inline int hvm_vmtrace_reset(struct vcpu *v)
 {
     if ( hvm_funcs.vmtrace_reset )
-        return hvm_funcs.vmtrace_reset(v);
+        return alternative_call(hvm_funcs.vmtrace_reset, v);
 
     return -EOPNOTSUPP;
 }
--- a/xen/arch/x86/monitor.c
+++ b/xen/arch/x86/monitor.c
@@ -270,7 +270,8 @@ int arch_monitor_domctl_event(struct dom
         ad->monitor.descriptor_access_enabled = requested_status;
 
         for_each_vcpu ( d, v )
-            hvm_funcs.set_descriptor_access_exiting(v, requested_status);
+            alternative_vcall(hvm_funcs.set_descriptor_access_exiting, v,
+                              requested_status);
 
         domain_unpause(d);
         break;
--- a/xen/arch/x86/vm_event.c
+++ b/xen/arch/x86/vm_event.c
@@ -204,7 +204,7 @@ void vm_event_fill_regs(vm_event_request
     ASSERT(is_hvm_vcpu(curr));
 
     /* Architecture-specific vmcs/vmcb bits */
-    hvm_funcs.save_cpu_ctxt(curr, &ctxt);
+    alternative_vcall(hvm_funcs.save_cpu_ctxt, curr, &ctxt);
 
     req->data.regs.x86.rax = regs->rax;
     req->data.regs.x86.rcx = regs->rcx;



From xen-devel-bounces@lists.xenproject.org Thu Jan 13 18:30:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 18:30:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257336.442159 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n84rJ-0007d2-D4; Thu, 13 Jan 2022 18:30:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257336.442159; Thu, 13 Jan 2022 18: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 1n84rJ-0007cv-8F; Thu, 13 Jan 2022 18:30:01 +0000
Received: by outflank-mailman (input) for mailman id 257336;
 Thu, 13 Jan 2022 18:30:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YVjj=R5=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n84rI-0007co-3b
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 18:30:00 +0000
Received: from ppsw-42.csi.cam.ac.uk (ppsw-42.csi.cam.ac.uk [131.111.8.142])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cf347988-749e-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 19:29:58 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:47602)
 by ppsw-42.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.138]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n84rD-000Ziv-8y (Exim 4.95) (return-path <amc96@srcf.net>);
 Thu, 13 Jan 2022 18:29:55 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 7B4EE1FC87;
 Thu, 13 Jan 2022 18:29:55 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cf347988-749e-11ec-a563-1748fde96b53
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <87307be7-ec4b-35f7-ef6a-29abdcecc6c3@srcf.net>
Date: Thu, 13 Jan 2022 18:29:55 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Subject: Re: [PATCH v2] x86/HVM: convert remaining hvm_funcs hook invocations
 to alt-call
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Paul Durrant <paul@xen.org>, Tamas K Lengyel <tamas@tklengyel.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 Alexandru Isaila <aisaila@bitdefender.com>
References: <ed34964c-c612-497f-0350-b9202c0ba057@suse.com>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <ed34964c-c612-497f-0350-b9202c0ba057@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13/01/2022 17:02, Jan Beulich wrote:
> The aim being to have as few indirect calls as possible (see [1]),
> whereas during initial conversion performance was the main aspect and
> hence rarely used hooks didn't get converted. Apparently one use of
> get_interrupt_shadow() was missed at the time.
>
> While doing this, drop NULL checks ahead of CPU management and .nhvm_*()
> calls when the hook is always present. Also convert the
> .nhvm_vcpu_reset() call to alternative_vcall(), as the return value is
> unused and the caller has currently no way of propagating it.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 18:48:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 18:48:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257341.442170 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n858z-0001dw-36; Thu, 13 Jan 2022 18:48:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257341.442170; Thu, 13 Jan 2022 18:48:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n858y-0001dp-VZ; Thu, 13 Jan 2022 18:48:16 +0000
Received: by outflank-mailman (input) for mailman id 257341;
 Thu, 13 Jan 2022 18:48:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4514=R5=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1n858x-0001dj-8A
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 18:48:15 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5b78cc33-74a1-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 19:48:13 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5b78cc33-74a1-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642099693;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=Gk1R1KBs8dczG/7CrCNbCq9t4i0qahB2y9rb298DHFk=;
  b=JnHoRCdDevzUxdCbLl1YHT7r3soF/cyQYuJ09w7K133nTTcCVls07cE1
   G3pktFMOAiPBTXlC43Hs1SDRVrp6NCOjiqbmoxmhPNDT7c8zeKyHIF7mo
   ePEeYfkGBJ7aIgf9rBhWHGfi1s0yPzNmuPuBPQmINPMX05Xa5D86ufiZU
   I=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: fP/dlcoMLXVLUaBa7C+AHwamvSYjZybBit8b0KRP73K9WKiCVBW74zKEROduYCBQULzz32UScY
 UDLeEIGzYrL62zBvsudDXSLpJRPKbgdlyKdztPdeS/J1gH/z+Qd9uGis+hOlTy/QhLDZgj0K1E
 gG1DbXZVAJ6euEd01fGwwObqB6ENlC7m7L+2Tl6+nJ1I05TrQxZKqZU/xKvWpE0XwlqMEiQQDe
 YR0wLeN4Sn8PxjCI2yN7uikRg3gPl//55kxKBDC7ohA4Hz1XLsjaii+Ll8vLT65gsD/Zf605+5
 Aysu5Tv5R2GV5zxNbhfIUTkE
X-SBRS: 5.2
X-MesageID: 61949781
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:eOMPqa3vSmrbG7nAaPbD5UJ2kn2cJEfYwER7XKvMYLTBsI5bp2BRn
 2BNCmmFOqqCM2D2f40nbIq1phgO68XTyNFiQAU6pC1hF35El5HIVI+TRqvS04J+DSFhoGZPt
 Zh2hgzodZhsJpPkS5PE3oHJ9RGQ74nRLlbHILOCanAZqTNMEn9700o6wrVh2OaEvPDia++zk
 YKqyyHgEAfNNw5cagr4PIra9XuDFNyr0N8plgRWicJj5TcypFFMZH4rHomjLmOQf2VhNrXSq
 9Avbl2O1jixEx8FUrtJm1tgG6EAaua60QOm0hK6V0U+6/TrS+NbPqsTbZIhhUlrZzqhg/5Jw
 utAjt+LWSAIZZXBhOEFA0dGHHQrVUFG0OevzXmXtMWSywvNcmf2wuUoB0YzVWEa0r8pWycUr
 6VecW1TKEDY7w616OvTpu1Er8IvNsT0eqgYvWlt12rxBvc6W5HTBa7N4Le02R9u35ESTKmOP
 qL1bxJpbyXLZBxmFW5IDZZk27froXyleQNx/Qf9Sa0fvDGIkV0ZPKLWGMbcf9WRbdlWmkueq
 XPL+yLyBRRyHN6Cz3yD+3GlhO7KlAv6Xp4fEPuz8fsCqF6e2G0VTgEXXF2ToP+lh0r4UNVaQ
 2QE9yxroaUs+UiDStjmQwb+sHOCpgQbWddbD6s98g7l4oj+7hudB2MEZiVcc9Fgv8gzLRQ10
 neZktWvAiZg2IB5UlrEqO3S92nrf3FIcylSPkfoUDfp/fH/jrk5sB/0De1zN4/uttDpHCmgn
 S6F+X1Wa6ooseYH0KCy/Fbiij2qp4TUQgNd2jg7Tl5J/SsiOtf7OtXABUzzqK8Zcd3HFgXpU
 G0sxpDGhN3iG61hg8BkrA8lOLiyr8iIPzTH6bKEN8lwrm/9k5JPkG053d2fGKuLGppVEdMKS
 BWK0e+02HO1FCH6BUOQS9jgY/nGNYC6SbzYugn8N7KimKRZeg6d5z1JbkWNxW3rm0VEufhhZ
 c3DKJ30UypKUv4PIN+KqwE1i+9DKscWnzK7eHwG507/jer2iIC9FN/pz2dinshmtfjZ8W05A
 v5UNteQygU3bQENSnK/zGLnFnhTdSJTLcmv86R/L7ffSiI7Rj1JI6KPkNsJJtw094wIx7yg1
 izsBSdlJK/X2CevxfOiMC4zMdsCnP9X8BoGAMDbFQ35hCh4P9f+tfd3mlleVeBPydGPBMVcF
 5EtE/hsyNwWItge0zhCP5T7sqJ4cxGn2VCHMya/OWBtdJ98XQ3ZvNTje1K3piUJCyO2s+o4o
 qGhiVyHEcZSGVw6AZaEcu+rwnOwoWMZxLB4UXzXL4QBY07r6oVrdXD816dlP8EWJBzf7TKGz
 ALKUwwArOzArtZtotnEjKyJtamzFO56EhYIFmXX9+/uZyLb4nCi0clLV+PRJWLRU2b9+aODY
 +RJzq6jbK1bzQgS64clSuRl16Mz4dfrtoR29AU8ESWZdUmvB5NhPmKCgZtFuJpSy+ILogCxQ
 E+OpIVXYO3bJMP/HVcNDwM5deDfh+oMkzzf4PlpckX34Ch7oOiOXUlIZkTejSVcKP1+MZ8/w
 Pdns8kTslTthh0vO9eAryZV62XTcSBQD/R57skXUN3xlw4m6lBeepiNWCb57aaGZ8hILkR3c
 CSfg7DPhugEy0fPG5bp+aMhAQaJaUwyhS13
IronPort-HdrOrdr: A9a23:IHQaNKvuMqX8Ir1hsNITF8z87skDeNV00zEX/kB9WHVpmszxra
 GTdZMgpHnJYVcqKRYdcL+7Scq9qB/nmqKdgrNhWYtKPjOW2ldARbsKheCJrlHd8kXFh5dgPM
 xbE5SWZuefMbEDt7ee3DWF
X-IronPort-AV: E=Sophos;i="5.88,286,1635220800"; 
   d="scan'208";a="61949781"
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>, Tamas K Lengyel
	<tamas@tklengyel.com>, Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian
	<kevin.tian@intel.com>
Subject: [PATCH] x86/hvm: Drop .is_singlestep_supported() callback
Date: Thu, 13 Jan 2022 18:48:00 +0000
Message-ID: <20220113184800.29456-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

There is absolutely no need for a function pointer call here.

Drop the hook, introduce a singlestep_supported boolean, and configure it in
start_vmx() like all other optional functionality.

No functional change, but rather more efficient logic.

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: Tamas K Lengyel <tamas@tklengyel.com>
CC: Jun Nakajima <jun.nakajima@intel.com>
CC: Kevin Tian <kevin.tian@intel.com>

Based on Jan's "altcall all hvm ops" patch, but not logically related.  This
had escaped my previous attempts to drop inappropriate function pointer use.

The hvm_funcs data fields are a mess.  All the booleans and 'hvm_capabilities'
want merging into a single bitfield, so we're not wasting 8 bytes of space to
hold 6 bits of information.
---
 xen/arch/x86/hvm/vmx/vmx.c         | 8 ++------
 xen/arch/x86/include/asm/hvm/hvm.h | 7 +++----
 2 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index a7a0d662342a..1c46669762b0 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2120,11 +2120,6 @@ static void vmx_enable_msr_interception(struct domain *d, uint32_t msr)
         vmx_set_msr_intercept(v, msr, VMX_MSR_W);
 }
 
-static bool_t vmx_is_singlestep_supported(void)
-{
-    return !!cpu_has_monitor_trap_flag;
-}
-
 static void vmx_vcpu_update_eptp(struct vcpu *v)
 {
     struct domain *d = v->domain;
@@ -2454,7 +2449,6 @@ static struct hvm_function_table __initdata vmx_function_table = {
     .nhvm_domain_relinquish_resources = nvmx_domain_relinquish_resources,
     .nhvm_hap_walk_L1_p2m = nvmx_hap_walk_L1_p2m,
     .enable_msr_interception = vmx_enable_msr_interception,
-    .is_singlestep_supported = vmx_is_singlestep_supported,
     .altp2m_vcpu_update_p2m = vmx_vcpu_update_eptp,
     .altp2m_vcpu_update_vmfunc_ve = vmx_vcpu_update_vmfunc_ve,
     .altp2m_vcpu_emulate_ve = vmx_vcpu_emulate_ve,
@@ -2661,6 +2655,8 @@ const struct hvm_function_table * __init start_vmx(void)
         return NULL;
     }
 
+    vmx_function_table.singlestep_supported = cpu_has_monitor_trap_flag;
+
     if ( cpu_has_vmx_dt_exiting )
         vmx_function_table.set_descriptor_access_exiting =
             vmx_set_descriptor_access_exiting;
diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/hvm/hvm.h
index b26302d9e769..9338cf25a657 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -97,6 +97,7 @@ struct hvm_function_table {
 
     /* Necessary hardware support for alternate p2m's? */
     bool altp2m_supported;
+    bool singlestep_supported;
 
     /* Hardware virtual interrupt delivery enable? */
     bool virtual_intr_delivery_enabled;
@@ -208,7 +209,6 @@ struct hvm_function_table {
                                 uint8_t *p2m_acc, struct npfec npfec);
 
     void (*enable_msr_interception)(struct domain *d, uint32_t msr);
-    bool_t (*is_singlestep_supported)(void);
 
     /* Alternate p2m */
     void (*altp2m_vcpu_update_p2m)(struct vcpu *v);
@@ -644,10 +644,9 @@ static inline void hvm_enable_msr_interception(struct domain *d, uint32_t msr)
     alternative_vcall(hvm_funcs.enable_msr_interception, d, msr);
 }
 
-static inline bool_t hvm_is_singlestep_supported(void)
+static inline bool hvm_is_singlestep_supported(void)
 {
-    return (hvm_funcs.is_singlestep_supported &&
-            alternative_call(hvm_funcs.is_singlestep_supported));
+    return hvm_funcs.singlestep_supported;
 }
 
 static inline bool hvm_hap_supported(void)
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Thu Jan 13 20:01:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 20:01:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257353.442199 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n86Hy-0001eX-QI; Thu, 13 Jan 2022 20:01:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257353.442199; Thu, 13 Jan 2022 20:01:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n86Hy-0001eQ-Mm; Thu, 13 Jan 2022 20:01:38 +0000
Received: by outflank-mailman (input) for mailman id 257353;
 Thu, 13 Jan 2022 20: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 1n86Hx-0001eD-EO; Thu, 13 Jan 2022 20: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 1n86Hx-0005D9-Bb; Thu, 13 Jan 2022 20: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 1n86Hx-0004XB-3d; Thu, 13 Jan 2022 20:01:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n86Hx-0001ft-38; Thu, 13 Jan 2022 20: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=yzPfznOMr8ytaOaVEwRnpBZtGJlwA+IjriuYz4HRpkM=; b=PlJV36xrHFHcaIGGQxGk+qnpXe
	6as0dI9SjHaTv8WPH6g7Ttrc2VYBlEPOgMzrfXb5SDvmSNiam5FS47zmaPbRjSCT8LNKm0L14BW6h
	qlyerPx7abE+3WsEqG4P1gcfLwFCcmOjlLP64r8WPGWAZU2YZEc4n+HX9i7M/+wG3gGI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167690-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 167690: 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=9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f
X-Osstest-Versions-That:
    xen=73ee2795aaef2cb086ac078bffe1c6b33c0ea91b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 13 Jan 2022 20:01:37 +0000

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

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                  9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f
baseline version:
 xen                  73ee2795aaef2cb086ac078bffe1c6b33c0ea91b

Last test of basis   167687  2022-01-13 14:03:03 Z    0 days
Testing same since   167690  2022-01-13 17:00:27 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
   73ee2795aa..9ce0a5e207  9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 20:14:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 20:14:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257375.442210 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n86To-0003W9-V1; Thu, 13 Jan 2022 20:13:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257375.442210; Thu, 13 Jan 2022 20: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 1n86To-0003W2-RW; Thu, 13 Jan 2022 20:13:52 +0000
Received: by outflank-mailman (input) for mailman id 257375;
 Thu, 13 Jan 2022 20:13: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 1n86Tn-0003Vs-DM; Thu, 13 Jan 2022 20:13: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 1n86Tn-0005OU-Be; Thu, 13 Jan 2022 20:13: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 1n86Tn-00059v-4I; Thu, 13 Jan 2022 20:13:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n86Tn-0004Ra-3s; Thu, 13 Jan 2022 20:13: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=/zfUTg+lnBb20/f2LXnvrMxSMG+7vNb6gLqhnN/I1kw=; b=TWlB2q4ouC0JPx4riGkTkzuLlJ
	zefVB24VB0s2OW0u6DyWIyvhXdLy5GEKUztu/oUmP+MS6Q67zR2a2cBgTtArovDQkadk2xCt5rFnC
	XMwpM98qse6FCxdt8dtpH/nSul0pSoUERGIhLNss8Wp3nZHDdmpLUvGVW/3cXn1ED+J4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167689-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 167689: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=5302bd81d9ba0c9e7f2371a81c438ec919ec8e1e
X-Osstest-Versions-That:
    ovmf=7438a85bf1388add286a89707079d9afca735814
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 13 Jan 2022 20:13:51 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 5302bd81d9ba0c9e7f2371a81c438ec919ec8e1e
baseline version:
 ovmf                 7438a85bf1388add286a89707079d9afca735814

Last test of basis   167685  2022-01-13 09:41:42 Z    0 days
Testing same since   167689  2022-01-13 15:11:44 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gerd Hoffmann <kraxel@redhat.com>
  Jiewen Yao <Jiewen.yao@intel.com>
  Sebastien Boeuf <sebastien.boeuf@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
   7438a85bf1..5302bd81d9  5302bd81d9ba0c9e7f2371a81c438ec919ec8e1e -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 21:13:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 21:13:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257407.442242 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n87P5-0002CA-Rl; Thu, 13 Jan 2022 21:13:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257407.442242; Thu, 13 Jan 2022 21: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 1n87P5-0002C3-OZ; Thu, 13 Jan 2022 21:13:03 +0000
Received: by outflank-mailman (input) for mailman id 257407;
 Thu, 13 Jan 2022 21:13: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 1n87P4-0002Bt-58; Thu, 13 Jan 2022 21:13: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 1n87P4-0006PW-2l; Thu, 13 Jan 2022 21:13: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 1n87P3-0008EO-QY; Thu, 13 Jan 2022 21:13:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n87P3-000440-Q4; Thu, 13 Jan 2022 21:13: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=bizodXCr/iZHj3eEOU4+/13Mc5QJP3rl+rbgiTd4yAI=; b=vBYqDHtJFZHYkgv7bT63HSXdV0
	7qYSCL18ZOZctuXuXdtxF1CZg+zZmpH5QMeNhHgt1WJNEP90yqvXPUnnX3u1dZDBgMiilyGSWDFhT
	npuIAexolypFnSyrnQ4oNvGHit6hShmNyu5pqXwWkB2HkUhdnFnNhfDMM8Vtvck44RpY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167683-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167683: 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-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-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-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=2e8aa1663c76a189998bf51b869b9e468c992c89
X-Osstest-Versions-That:
    xen=0cf6521ea95dd78accf1e5c13cbfe8156b3611d0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 13 Jan 2022 21:13:01 +0000

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

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

version targeted for testing:
 xen                  2e8aa1663c76a189998bf51b869b9e468c992c89
baseline version:
 xen                  0cf6521ea95dd78accf1e5c13cbfe8156b3611d0

Last test of basis   167677  2022-01-12 14:09:49 Z    1 days
Testing same since   167683  2022-01-13 04:51:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   0cf6521ea9..2e8aa1663c  2e8aa1663c76a189998bf51b869b9e468c992c89 -> master


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 22:33:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 22:33:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257416.442253 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n88eu-0001eE-NM; Thu, 13 Jan 2022 22:33:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257416.442253; Thu, 13 Jan 2022 22:33:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n88eu-0001e7-KB; Thu, 13 Jan 2022 22:33:28 +0000
Received: by outflank-mailman (input) for mailman id 257416;
 Thu, 13 Jan 2022 22:33: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 1n88et-0001dx-P6; Thu, 13 Jan 2022 22:33: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 1n88et-0007iK-LC; Thu, 13 Jan 2022 22:33: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 1n88et-0001nV-D9; Thu, 13 Jan 2022 22:33:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n88et-0000vm-CB; Thu, 13 Jan 2022 22:33:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=znODPzWfRMul3P4wzRVzvl+HHrlFE95OWQzRw3rYmyQ=; b=fFQjEXjBssd0VeYHciZWsfd4cy
	w408d42xZpN5EZ6xDkmF26sdf33rDuPAdWZob+bK9NfObRth3As2LJxIKOZaGVRJIn5pu7v62dsw0
	OrYAw49cRnRP3DqZnbubalKBLNc8E3KfcdNqnGKvscT1nuRaCMQ5Cy51kwg85N8ycyqk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167684-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167684: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:leak-check/check:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-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-armhf-armhf-libvirt-qcow2: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-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=455e73a07f6e288b0061dfcf4fcf54fa9fe06458
X-Osstest-Versions-That:
    linux=81ff0be4b9e3bcfee022d71cf89d72f7e2ed41ba
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 13 Jan 2022 22:33:27 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl-vhd       8 xen-boot            fail pass in 167691-retest
 test-amd64-amd64-freebsd12-amd64 19 guest-localmigrate/x10 fail pass in 167691-retest
 test-amd64-amd64-libvirt 20 guest-start/debian.repeat fail pass in 167691-retest
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 21 leak-check/check fail pass in 167691-retest

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-vhd     14 migrate-support-check fail in 167691 never pass
 test-arm64-arm64-xl-vhd 15 saverestore-support-check fail in 167691 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167679
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167679
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167679
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167679
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167679
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167679
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167679
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167679
 test-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-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          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-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-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-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                455e73a07f6e288b0061dfcf4fcf54fa9fe06458
baseline version:
 linux                81ff0be4b9e3bcfee022d71cf89d72f7e2ed41ba

Last test of basis   167679  2022-01-12 19:42:44 Z    1 days
Testing same since   167684  2022-01-13 07:47:42 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abel Vesa <abel.vesa@nxp.com>
  Adam Ford <aford173@gmail.com>
  Ajit Kumar Pandey <AjitKumar.Pandey@amd.com>
  Alain Volmat <avolmat@me.com>
  Alison Schofield <alison.schofield@intel.com>
  Amir Goldstein <amir73il@gmail.com>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
  AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>
  Anton Bambura <jenneron@protonmail.com> # ASUS TF701T
  Ard Biesheuvel <ardb@kernel.org>
  Bartosz Golaszewski <brgl@bgdev.pl>
  Baruch Siach <baruch@tkos.co.il>
  Ben Widawsky <ben.widawsky@intel.com>
  Biju Das <biju.das.jz@bp.renesas.com>
  Bjorn Andersson <bjorn.andersson@linaro.org>
  Bjorn Helgaas <bhelgaas@google.com>
  Borislav Petkov <bp@suse.de>
  Cai Huoqing <caihuoqing@baidu.com>
  Changcheng Deng <deng.changcheng@zte.com.cn>
  Chanwoo Choi <cw00.choi@samsung.com>
  ChiYuan Huang <cy_huang@richtek.com>
  Christian Hewitt <christianshewitt@gmail.com>
  Christoph Hellwig <hch@lst.de>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Colin Ian King <colin.i.king@gmail.com>
  Colin Ian King <colin.i.king@googlemail.com>
  Conor Dooley <conor.dooley@microchip.com>
  Dafna Hirschfeld <dafna.hirschfeld@collabora.com>
  Daire Byrne <daire@dneg.com> # nfs
  Damien Le Moal <damien.lemoal@opensource.wdc.com>
  Dan Williams <dan.j.williams@intel.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  Dave Kleikamp <dave.kleikamp@oracle.com>
  Dave Wysochanski <dwysocha@redhat.com>
  Dave Wysochanski <dwysocha@redhat.com> # nfs
  David Heidelberg <david@ixit.cz>
  David Howells <dhowells@redhat.com>
  David Mosberger-Tang <davidm@egauge.net>
  David Virag <virag.david003@gmail.com>
  Dillon Min <dillon.minfei@gmail.com>
  Dinh Nguyen <dinguyen@kernel.org>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Dmitry Osipenko <digetx@gmail.com>
  Dominique Martinet <asmadeus@codewreck.org>
  Dominique Martinet <asmadeus@codewreck.org> # 9p
  Eric Dumazet <edumazet@google.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Frank Rowand <frank.rowand@sony.com>
  Gabriel Fernandez <gabriel.fernandez@foss.st.com>
  Geert Uytterhoeven <geert+renesas@glider.be>
  Geert Uytterhoeven <geert@linux-m68k.org>
  Gene Chen <gene_chen@richtek.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Gregory Fong <gregory.0xf0@gmail.com>
  Guenter Roeck <linux@roeck-us.net>
  Guo Ren <guoren@linux.alibaba.com>
  Hans de Goede <hdegoede@redhat.com>
  Hector Martin <marcan@marcan.st>
  Horatiu Vultur <horatiu.vultur@microchip.com>
  Hui Wang <hui.wang@canonical.com>
  Ira Weiny <ira.weiny@intel.com>
  Jacek Anaszewski <jacek.anaszewski@gmail.com>
  Jan Beulich <jbeulich@suse.com>
  Jan Kara <jack@suse.cz>
  Jason Wang <jasowang@redhat.com>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  Jeff Layton <jlayton@kernel.org>
  Jeff Layton <jlayton@kernel.org> # ceph
  Jeffle Xu <jefflexu@linux.alibaba.com>
  Jerome Brunet <jbrunet@baylibre.com>
  Jim Quinlan <jim2101024@gmail.com>
  Joerg Roedel <jroedel@suse.de>
  John Donnelly <john.p.donnelly@oracle.com>
  John Garry <john.garry@huawei.com>
  John Garry via iommu <iommu@lists.linux-foundation.org>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Juergen Gross <jgross@suse.com>
  kafs-testing@auristor.com
  kafs-testing@auristor.com # afs
  Kavyasree Kotagiri <kavyasree.kotagiri@microchip.com>
  Kees Cook <keescook@chromium.org>
  Kefeng Wang <wangkefeng.wang@huawei.com>
  Konrad Dybcio <konrad.dybcio@somainline.org>
  Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
  Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
  Lee Jones <lee.jones@linaro.org>
  Like Xu <like.xu@linux.intel.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Lu Baolu <baolu.lu@linux.intel.com>
  Marc Zyngier <maz@kernel.org>
  Marek Szyprowski <m.szyprowski@samsung.com>
  Marijn Suijten <marijn.suijten@somainline.org>
  Martin Blumenstingl <martin.blumenstingl@googlemail.com>
  Matt Merhar <mattmerhar@protonmail.com> # Ouya T30
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
  Maxim Levitsky <mlevitsk@redhat.com>
  Maxime Ripard <maxime@cerno.tech>
  Maíra Canal <maira.canal@usp.br>
  Merlijn Wajer <merlijn@wizzup.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael S. Tsirkin <mst@redhat.com>
  Michael Turquette <mturquette@baylibre.com>
  Mike Rapoport <rppt@kernel.org>
  Mike Snitzer <snitzer@redhat.com>
  Miklos Szeredi <mszeredi@redhat.com>
  Nathan Chancellor <nathan@kernel.org>
  NeilBrown <neilb@suse.de>
  Nick Desaulniers <ndesaulniers@google.com>
  Nicolas Chauvet <kwizart@gmail.com> # PAZ00 T20 and TK1 T124
  Nicolas Ferre <nicolas.ferre@microchip.com>
  Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
  Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp>
  Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
  Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul Cercueil <paul@crapouillou.net>
  Paul Fertser <fercerpav@gmail.com> # PAZ00 T20
  Paul Menzel <pmenzel@molgen.mpg.de>
  Pavel Machek <pavel@ucw.cz>
  Peng Fan <peng.fan@nxp.com>
  Peter Geis <pgwipeout@gmail.com> # Ouya T30
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter Zijlstra <peterz@infradead.org>
  Philipp Zabel <p.zabel@pengutronix.de>
  Pingfan Liu <kernelfans@gmail.com>
  Qin Jian <qinjian@cqplus1.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rafał Miłecki <rafal@milecki.pl>
  Randy Dunlap <rdunlap@infradead.org>
  Rikard Falkeborn <rikard.falkeborn@gmail.com>
  Rob Clark <robdclark@chromium.org>
  Rob Herring <robh@kernel.org>
  Robin Murphy <robin.muephy@arm.com>
  Robin Murphy <robin.murphy@arm.com>
  Sai Prakash Ranjan <quic_saipraka@quicinc.com>
  Sam Protsenko <semen.protsenko@linaro.org>
  Sam Ravnborg <sam@ravnborg.org>
  Sam Shih <sam.shih@mediatek.com>
  Samuel Holland <samuel@sholland.org>
  Sander Vanheule <sander@svanheule.net>
  Sean Christopherson <seanjc@google.com>
  Sergio Paracuellos <sergio.paracuellos@gmail.com>
  Shawn Guo <shawn.guo@linaro.org>
  Shiyang Ruan <ruansy.fnst@fujitsu.com>
  Shubhrajyoti Datta <shubhrajyoti.datta@xilinx.com>
  Sicelo A. Mhlongo <absicsz@gmail.com>
  Stanislav Jakubek <stano.jakubek@gmail.com>
  Stephen Boyd <sboyd@kernel.org>
  Stephen Boyd <swboyd@chromium.org>
  Sudeep Holla <sudeep.holla@arm.com>
  Suzuki K Poulose <suzuki.poulose@arm.com>
  Sven Schuchmann <schuchmann@schleissheimer.de>
  Sylwester Nawrocki <s.nawrocki@samsung.com>
  Taniya Das <tdas@codeaurora.org>
  Thierry Reding <treding@nvidia.com>
  Tony Lindgren <tony@atomide.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Ulf Hansson <ulf.hansson@linaro.org> # For MMC
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vamsi Krishna Lanka <quic_vamslank@quicinc.com>
  Vinod Koul <vkoul@kernel.org>
  Vishal Verma <vishal.l.verma@intel.com>
  Vivek Goyal <vgoyal@redhat.com>
  Will Deacon <will@kernel.org>
  Will McVicker <willmcvicker@google.com>
  Wolfram Sang <wsa+renesas@sang-engineering.com>
  Xiang wangx <wangxiang@cdjrlc.com>
  Xie Yongji <xieyongji@bytedance.com>
  Xiongfeng Wang <wangxiongfeng2@huawei.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Yihao Han <hanyihao@vivo.com>
  Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
  Yunfei Wang <yf.wang@mediatek.com>
  Yury Norov <yury.norov@gmail.com>
  Zhen Lei <thunder.leizhen@huawei.com>
  Zhou Wang <wangzhou1@hisilicon.com>
  Zhu Lingshan <lingshan.zhu@intel.com>

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


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
   81ff0be4b9e3..455e73a07f6e  455e73a07f6e288b0061dfcf4fcf54fa9fe06458 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 22:46:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 22:46:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257424.442265 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n88rD-00039b-RH; Thu, 13 Jan 2022 22:46:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257424.442265; Thu, 13 Jan 2022 22: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 1n88rD-00039U-O7; Thu, 13 Jan 2022 22:46:11 +0000
Received: by outflank-mailman (input) for mailman id 257424;
 Thu, 13 Jan 2022 22:46:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4cYr=R5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n88rD-00039O-6c
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 22:46:11 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 953436f8-74c2-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 23:46:02 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 474D0B823A1;
 Thu, 13 Jan 2022 22:46:01 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id BF422C36AE3;
 Thu, 13 Jan 2022 22:45:59 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 953436f8-74c2-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1642113960;
	bh=YVmlwaeNOyjoloA3iD1BGD0fAFrQ9Oy9eAoweuRmdww=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=NrnJJtrDz5eBbmQBPqEXGDr+yKf5FTHVP9h0ZkDEg/6L60z8tQmtfnhqu7NgzFGEo
	 7yoLW9npWjMV7WJP8jfBlAJ+5vt+qodOR5IwKwJeLE3RGNkZBCEtTFxlp4WitnIib8
	 ru9aSHzAmjSyEyb4eqP9/YwB8WMf6JjYWAuFcsLhCaU4MBgXKkaKjGNo99UqmbRW31
	 9ePrKb7PMOgM0xeLMAUeV9q1rDswhg8QJvRL+dtRjIc/V/IEIoOuuuicXocJBxj+Ua
	 ucDk6V/CO3adB6ZOL8y1aWozs5p73GrOcDDIeAvIB30E+nsuR3cQJnVQ3G/slY7o77
	 EQfM6zc6ssN9g==
Date: Thu, 13 Jan 2022 14:45:58 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Penny Zheng <penny.zheng@arm.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, julien@xen.org, 
    Bertrand.Marquis@arm.com, Wei.Chen@arm.com
Subject: Re: [PATCH v4 04/11] xen/arm: introduce new helper parse_static_mem_prop
 and acquire_static_memory_bank
In-Reply-To: <20211220052123.969876-5-penny.zheng@arm.com>
Message-ID: <alpine.DEB.2.22.394.2201131441020.19362@ubuntu-linux-20-04-desktop>
References: <20211220052123.969876-1-penny.zheng@arm.com> <20211220052123.969876-5-penny.zheng@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 20 Dec 2021, Penny Zheng wrote:
> Later, we will introduce allocate_static_memory_11 for allocating static
> memory for direct-map domains, and it will share a lot common codes with
> the existing allocate_static_memory.
> 
> In order not to bring a lot of duplicate codes, and also to make the whole
> code more readable, this commit extracts common codes into two new helpers
> parse_static_mem_prop and acquire_static_memory_bank.
> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> ---
> v3 changes:
> - new commit to move the split off of the code outside in a separate patch
> ---
> v4 changes:
> - use mfn_eq() instead, because it is the only value used to indicate
> there is an error and this is more lightweight than mfn_valid()
> ---
>  xen/arch/arm/domain_build.c | 100 +++++++++++++++++++++++-------------
>  1 file changed, 64 insertions(+), 36 deletions(-)
> 
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 5a106a977c..9206ec908d 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -509,12 +509,69 @@ static bool __init append_static_memory_to_bank(struct domain *d,
>      return true;
>  }
>  
> +static mfn_t __init acquire_static_memory_bank(struct domain *d,
> +                                             const __be32 **cell,
> +                                             u32 addr_cells, u32 size_cells,
> +                                             paddr_t *pbase, paddr_t *psize)

NIT: we usually align the parameters:

static mfn_t __init acquire_static_memory_bank(struct domain *d,
                                               const __be32 **cell,
                                               u32 addr_cells, u32 size_cells,
                                               paddr_t *pbase, paddr_t *psize)

with that addressed:

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


> +{
> +    mfn_t smfn;
> +    int res;
> +
> +    device_tree_get_reg(cell, addr_cells, size_cells, pbase, psize);
> +    ASSERT(IS_ALIGNED(*pbase, PAGE_SIZE) && IS_ALIGNED(*psize, PAGE_SIZE));
> +    if ( PFN_DOWN(*psize) > UINT_MAX )
> +    {
> +        printk(XENLOG_ERR "%pd: static memory size too large: %#"PRIpaddr,
> +               d, *psize);
> +        return INVALID_MFN;
> +    }
> +
> +    smfn = maddr_to_mfn(*pbase);
> +    res = acquire_domstatic_pages(d, smfn, PFN_DOWN(*psize), 0);
> +    if ( res )
> +    {
> +        printk(XENLOG_ERR
> +               "%pd: failed to acquire static memory: %d.\n", d, res);
> +        return INVALID_MFN;
> +    }
> +
> +    return smfn;
> +}
> +
> +static int __init parse_static_mem_prop(const struct dt_device_node *node,
> +                                        u32 *addr_cells, u32 *size_cells,
> +                                        int *length, const __be32 **cell)
> +{
> +    const struct dt_property *prop;
> +
> +    prop = dt_find_property(node, "xen,static-mem", NULL);
> +    if ( !dt_property_read_u32(node, "#xen,static-mem-address-cells",
> +                               addr_cells) )
> +    {
> +        printk(XENLOG_ERR
> +               "failed to read \"#xen,static-mem-address-cells\".\n");
> +        return -EINVAL;
> +    }
> +
> +    if ( !dt_property_read_u32(node, "#xen,static-mem-size-cells",
> +                               size_cells) )
> +    {
> +        printk(XENLOG_ERR
> +               "failed to read \"#xen,static-mem-size-cells\".\n");
> +        return -EINVAL;
> +    }
> +
> +    *cell = (const __be32 *)prop->value;
> +    *length = prop->length;
> +
> +    return 0;
> +}
> +
>  /* 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, bank = 0;
>      const uint64_t rambase[] = GUEST_RAM_BANK_BASES;
> @@ -523,24 +580,10 @@ static void __init allocate_static_memory(struct domain *d,
>      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;
> -    }
> +    int length;
>  
> -    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);
> +    if ( parse_static_mem_prop(node, &addr_cells, &size_cells, &length, &cell) )
>          goto fail;
> -    }
>      reg_cells = addr_cells + size_cells;
>  
>      /*
> @@ -551,29 +594,14 @@ static void __init allocate_static_memory(struct domain *d,
>      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));
> +    nr_banks = 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));
> -
> -        if ( PFN_DOWN(psize) > UINT_MAX )
> -        {
> -            printk(XENLOG_ERR "%pd: static memory size too large: %#"PRIpaddr,
> -                   d, psize);
> +        smfn = acquire_static_memory_bank(d, &cell, addr_cells, size_cells,
> +                                          &pbase, &psize);
> +        if ( mfn_eq(smfn, INVALID_MFN) )
>              goto fail;
> -        }
> -        smfn = maddr_to_mfn(pbase);
> -        res = acquire_domstatic_pages(d, smfn, PFN_DOWN(psize), 0);
> -        if ( res )
> -        {
> -            printk(XENLOG_ERR
> -                   "%pd: failed to acquire static memory: %d.\n", d, res);
> -            goto fail;
> -        }
>  
>          printk(XENLOG_INFO "%pd: STATIC BANK[%u] %#"PRIpaddr"-%#"PRIpaddr"\n",
>                 d, bank, pbase, pbase + psize);
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 22:53:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 22:53:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257429.442276 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n88xw-0004fi-P9; Thu, 13 Jan 2022 22:53:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257429.442276; Thu, 13 Jan 2022 22:53:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n88xw-0004fb-LC; Thu, 13 Jan 2022 22:53:08 +0000
Received: by outflank-mailman (input) for mailman id 257429;
 Thu, 13 Jan 2022 22:53:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4cYr=R5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n88xv-0004fV-Mr
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 22:53:07 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 92135fed-74c3-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 23:53:06 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 68BAEB8239D;
 Thu, 13 Jan 2022 22:53:05 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id ED0D6C36AEA;
 Thu, 13 Jan 2022 22:53: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: 92135fed-74c3-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1642114384;
	bh=7XuRcCAUTqSLyDC8M3f1HwXlI1ZZmFeypK7y6e4W7+0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Xh2SdBnJcwDgzaj1i8RHXwiOU2IXNWNpK9VXVx0gocp6QBQShmmh/i2kH8d+DoA5l
	 f/z3w6TVTD9kYUW5gnh08wxSI+rFJVlvOkwLvQYmKfaBssqr4/2x4dNVhePZnj/J8m
	 ijdpnnznUw/d8gMvRu2vWWSEw6b4dsZ1sWmgO+25VSkIPKyiOVAjPEFoGFPkq/5f3x
	 JgCFDdht4MGrFBgJBEGxvtbpqjw3lzOSWa1x6t7vZKh84bDeAOzOStjnnrDcgn3McY
	 YOcRTd4B4YQ6YqygBVV4t8JQ8862qTz7WGoobl+R6mf2kuZyCYXVkbChHb5NdKoO9F
	 0d/FTNuy8Q8MQ==
Date: Thu, 13 Jan 2022 14:53:03 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Penny Zheng <penny.zheng@arm.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, julien@xen.org, 
    Bertrand.Marquis@arm.com, Wei.Chen@arm.com
Subject: Re: [PATCH v4 05/11] xen/arm: introduce direct-map for domUs
In-Reply-To: <20211220052123.969876-6-penny.zheng@arm.com>
Message-ID: <alpine.DEB.2.22.394.2201131447520.19362@ubuntu-linux-20-04-desktop>
References: <20211220052123.969876-1-penny.zheng@arm.com> <20211220052123.969876-6-penny.zheng@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 20 Dec 2021, Penny Zheng wrote:
> Cases where domU needs direct-map memory map:
>   * IOMMU not present in the system.
>   * IOMMU disabled if it doesn't cover a specific device and all the guests
> are trusted. Thinking a mixed scenario, where a few devices with IOMMU and
> a few without, then guest DMA security still could not be totally guaranteed.
> So users may want to disable the IOMMU, to at least gain some performance
> improvement from IOMMU disabled.
>   * IOMMU disabled as a workaround when it doesn't have enough bandwidth.
> To be specific, in a few extreme situation, when multiple devices do DMA
> concurrently, these requests may exceed IOMMU's transmission capacity.
>   * IOMMU disabled when it adds too much latency on DMA. For example,
> TLB may be missing in some IOMMU hardware, which may bring latency in DMA
> progress, so users may want to disable it in some realtime scenario.
>   * Guest OS relies on the host memory layout
> 
> This commit introduces a new helper assign_static_memory_11 to allocate
> static memory as guest RAM for direct-map domain.
> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>

The patch looks good. There are a couple of minor code style issus below
that it would be good to fix, at least the function parameters
alignment.  With that:

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


> ---
> v2 changes:
> - split the common codes into two helpers: parse_static_mem_prop and
> acquire_static_memory_bank to deduce complexity.
> - introduce a new helper allocate_static_memory_11 for allocating static
> memory for direct-map guests
> - remove redundant use "bool direct_map", to be replaced by
> d_cfg.flags & XEN_DOMCTL_CDF_directmap
> - remove panic action since it is fine to assign a non-DMA capable device when
> IOMMU and direct-map both off
> ---
> v3 changes:
> - doc refinement
> - drop the pointless gbank
> - add check of the size of nr_banks shall not exceed NR_MEM_BANKS
> - add ASSERT_UNREACHABLE to catch any misuse
> - add another check of validating flag XEN_DOMCTL_CDF_INTERNAL_directmap only
> when CONFIG_STATIC_MEMORY is set.
> ---
> v4 changes:
> - comment refinement
> - rename function allocate_static_memory_11() to assign_static_memory_11()
> to make clear there is actually no allocation done. Instead we are only
> mapping pre-defined host regions to pre-defined guest regions.
> - remove tot_size to directly substract psize from kinfo->unassigned_mem
> - check kinfo->unassigned_mem doesn't underflow or overflow
> - remove nested if/else
> - refine "panic" info
> ---
>  xen/arch/arm/domain_build.c | 97 +++++++++++++++++++++++++++++++++++--
>  1 file changed, 94 insertions(+), 3 deletions(-)
> 
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 9206ec908d..d74a3eb908 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -494,8 +494,17 @@ static bool __init append_static_memory_to_bank(struct domain *d,
>  {
>      int res;
>      unsigned int nr_pages = PFN_DOWN(size);
> -    /* Infer next GFN. */
> -    gfn_t sgfn = gaddr_to_gfn(bank->start + bank->size);
> +    gfn_t sgfn;
> +
> +    /*
> +     * For direct-mapped domain, the GFN match the MFN.
> +     * Otherwise, this is inferred on what has already been allocated
> +     * in the bank.
> +     */
> +    if ( !is_domain_direct_mapped(d) )
> +        sgfn = gaddr_to_gfn(bank->start + bank->size);
> +    else
> +        sgfn = gaddr_to_gfn(mfn_to_maddr(smfn));
>  
>      res = guest_physmap_add_pages(d, sgfn, smfn, nr_pages);
>      if ( res )
> @@ -668,12 +677,92 @@ static void __init allocate_static_memory(struct domain *d,
>   fail:
>      panic("Failed to allocate requested static memory for domain %pd.", d);
>  }
> +
> +/*
> + * Allocate static memory as RAM for one specific domain d.
> + * The static memory will be directly mapped in the guest(Guest Physical
> + * Address == Physical Address).
> + */
> +static void __init assign_static_memory_11(struct domain *d,
> +                                             struct kernel_info *kinfo,
> +                                             const struct dt_device_node *node)

Please align the parameters


> +{
> +    u32 addr_cells, size_cells, reg_cells;
> +    unsigned int nr_banks, bank = 0;
> +    const __be32 *cell;
> +    paddr_t pbase, psize;
> +    mfn_t smfn;
> +    int length;
> +
> +    if ( parse_static_mem_prop(node, &addr_cells, &size_cells, &length, &cell) )
> +    {
> +        printk(XENLOG_ERR
> +               "%pd: failed to parse \"xen,static-mem\" property.\n", d);
> +        goto fail;
> +    }
> +    reg_cells = addr_cells + size_cells;
> +    nr_banks = length / (reg_cells * sizeof (u32));

no space after sizeof


> +
> +    if ( nr_banks > NR_MEM_BANKS )
> +    {
> +        printk(XENLOG_ERR
> +               "%pd: exceed max number of supported guest memory banks.\n", d);
> +        goto fail;
> +    }
> +
> +    for ( ; bank < nr_banks; bank++ )
> +    {
> +        smfn = acquire_static_memory_bank(d, &cell, addr_cells, size_cells,
> +                                          &pbase, &psize);
> +        if ( mfn_eq(smfn, INVALID_MFN) )
> +            goto fail;
> +
> +        printk(XENLOG_INFO "%pd: STATIC BANK[%u] %#"PRIpaddr"-%#"PRIpaddr"\n",
> +               d, bank, pbase, pbase + psize);
> +
> +        /* One guest memory bank is matched with one physical memory bank. */
> +        kinfo->mem.bank[bank].start = pbase;
> +        if ( !append_static_memory_to_bank(d, &kinfo->mem.bank[bank],
> +                                           smfn, psize) )
> +            goto fail;
> +
> +        kinfo->unassigned_mem -= psize;
> +    }
> +
> +    kinfo->mem.nr_banks = nr_banks;
> +
> +    /*
> +     * The property 'memory' should match the amount of memory given to
> +     * the guest.
> +     * Currently, it is only possible to either acquire static memory or
> +     * let Xen allocate. *Mixing* is not supported.
> +     */
> +    if ( kinfo->unassigned_mem != 0 )
> +    {
> +        printk(XENLOG_ERR
> +               "Size of \"memory\" property doesn't match up with the sum-up of \"xen,static-mem\". Unsupported configuration.\n");

This line would benefit from being broken down, but I am also OK if we
leave it as is


> +        goto fail;
> +    }
> +
> +    return;
> +
> + fail:
> +    panic("Failed to assign requested static memory for direct-map domain %pd.",
> +          d);
> +}
>  #else
>  static void __init allocate_static_memory(struct domain *d,
>                                            struct kernel_info *kinfo,
>                                            const struct dt_device_node *node)
>  {
>  }
> +
> +static void __init assign_static_memory_11(struct domain *d,
> +                                             struct kernel_info *kinfo,
> +                                             const struct dt_device_node *node)
> +{
> +    ASSERT_UNREACHABLE();
> +}
>  #endif
>  
>  /*
> @@ -3023,8 +3112,10 @@ static int __init construct_domU(struct domain *d,
>  #endif
>      if ( !dt_find_property(node, "xen,static-mem", NULL) )
>          allocate_memory(d, &kinfo);
> -    else
> +    else if ( !is_domain_direct_mapped(d) )
>          allocate_static_memory(d, &kinfo, node);
> +    else
> +        assign_static_memory_11(d, &kinfo, node);
>  
>      rc = prepare_dtb_domU(d, &kinfo);
>      if ( rc < 0 )
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 22:54:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 22:54:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257432.442287 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n88zP-0005Et-3w; Thu, 13 Jan 2022 22:54:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257432.442287; Thu, 13 Jan 2022 22: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 1n88zO-0005Em-WE; Thu, 13 Jan 2022 22:54:39 +0000
Received: by outflank-mailman (input) for mailman id 257432;
 Thu, 13 Jan 2022 22:54:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4cYr=R5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n88zN-0005Ec-1n
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 22:54:37 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c7c90674-74c3-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 23:54:36 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 9FA1CB8239D;
 Thu, 13 Jan 2022 22:54:35 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 31B03C36AE3;
 Thu, 13 Jan 2022 22:54: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: c7c90674-74c3-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1642114474;
	bh=YsYtSktuA2Wc1gCeb0/XytTqns0eXZKR/L5bUcYFrrA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=l7QwzNoMtq8IG+7X7M5x6npjrvLKfq33UWNkwK35UMdBWWBrghtJt3pBSCjL/PI2J
	 rhlbvp1abkaH7Tmpd9PgYZkzgf8pZ01fkwfh9l1D9exHqyXG/DwII8bqUl+Vza7D0L
	 KyeM3LRij2FVfnI9EAyzrTbxtnrsjQAz98zAvvJQ/UA6SeWHSjjC/XUvI4u1ZQ8ZRw
	 yFTBjhlE20MeUBv8qLApd4IXyfhop3ZqRAhmQtei0MAQPOF0y42iZjw42c0Rv9T5eA
	 Jq8d2pQWJA46HHh/byfX/K2xrwWORRa/kUc8W2DE9V/jIMYpn71qVp+YPuEAMW0PME
	 Tm4d9f+mPqgdA==
Date: Thu, 13 Jan 2022 14:54:33 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Penny Zheng <penny.zheng@arm.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, julien@xen.org, 
    Bertrand.Marquis@arm.com, Wei.Chen@arm.com
Subject: Re: [PATCH v4 08/11] xen/arm: gate make_gicv3_domU_node with
 CONFIG_GICV3
In-Reply-To: <20211220052123.969876-9-penny.zheng@arm.com>
Message-ID: <alpine.DEB.2.22.394.2201131453540.19362@ubuntu-linux-20-04-desktop>
References: <20211220052123.969876-1-penny.zheng@arm.com> <20211220052123.969876-9-penny.zheng@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 20 Dec 2021, Penny Zheng wrote:
> This commit gates function make_gicv3_domU_node with CONFIG_GICV3.
> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>

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


> ---
> v4 changes:
> - remove ASSERT_UNREACHABLE() to avoid breaking compilation on prod build with
> CONFIG_GICV3=n
> ---
>  xen/arch/arm/domain_build.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 4788b03d8b..139d428524 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -2322,6 +2322,7 @@ static int __init make_gicv2_domU_node(struct kernel_info *kinfo)
>      return res;
>  }
>  
> +#ifdef CONFIG_GICV3
>  static int __init make_gicv3_domU_node(struct kernel_info *kinfo)
>  {
>      void *fdt = kinfo->fdt;
> @@ -2371,13 +2372,16 @@ static int __init make_gicv3_domU_node(struct kernel_info *kinfo)
>  
>      return res;
>  }
> +#endif
>  
>  static int __init make_gic_domU_node(struct kernel_info *kinfo)
>  {
>      switch ( kinfo->d->arch.vgic.version )
>      {
> +#ifdef CONFIG_GICV3
>      case GIC_V3:
>          return make_gicv3_domU_node(kinfo);
> +#endif
>      case GIC_V2:
>          return make_gicv2_domU_node(kinfo);
>      default:
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 22:55:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 22:55:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257436.442297 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n890O-0005oi-EZ; Thu, 13 Jan 2022 22:55:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257436.442297; Thu, 13 Jan 2022 22:55:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n890O-0005ob-BX; Thu, 13 Jan 2022 22:55:40 +0000
Received: by outflank-mailman (input) for mailman id 257436;
 Thu, 13 Jan 2022 22:55:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4cYr=R5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n890N-0005oQ-4W
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 22:55:39 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ebf33d56-74c3-11ec-a563-1748fde96b53;
 Thu, 13 Jan 2022 23:55:37 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 545D861CB0;
 Thu, 13 Jan 2022 22:55:36 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 79625C36AEA;
 Thu, 13 Jan 2022 22:55: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: ebf33d56-74c3-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1642114535;
	bh=Ot0SoWptL7kHsMAlvinJq9R2DRypMwicor7Cw+2akCo=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=DqAPnJ2jc3pmJXXtxOvl2DN4M6R1i1xB3t2Ye/UNvvMTkVeqVvNkRPyHBjCp5fmox
	 +YuqEeEct/7UxEEEMOjjf0vKFZrZXzKWiQbNX0RDVr1LJ0EcleEScFMhZQb3EnQo2l
	 T/L0FY7aWMlOzTQPjN8fJueVmqBqfL//Vez95lUhjyxzg36sigc56/PKEfg3H9ru1F
	 wzTgZrBLa4uHfPRRmJdSUJRiTR/1l34u77R5+a+uZQH8OsvBWf/I76yO0bnkHAjlBo
	 lJZBU5rOsRxIK5dZlzGCB4pTzRYDjsCWMl/bd9o3Hr/7WhP1/V1qlI+oGlShHWM7if
	 +zsG6saEGcEEA==
Date: Thu, 13 Jan 2022 14:55:34 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Penny Zheng <penny.zheng@arm.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, julien@xen.org, 
    Bertrand.Marquis@arm.com, Wei.Chen@arm.com
Subject: Re: [PATCH v4 00/11] direct-map memory map
In-Reply-To: <20211220052123.969876-1-penny.zheng@arm.com>
Message-ID: <alpine.DEB.2.22.394.2201131454410.19362@ubuntu-linux-20-04-desktop>
References: <20211220052123.969876-1-penny.zheng@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Hi Penny,

Thanks for the update. I tested the series in a couple of different
configurations and it works great!

You can add my Tested-by to all patches


On Mon, 20 Dec 2021, Penny Zheng wrote:
> Cases where domU needs direct-map memory map:
>   * IOMMU not present in the system.
>   * IOMMU disabled if it doesn't cover a specific device and all the guests
> are trusted. Thinking a mixed scenario, where a few devices with IOMMU and
> a few without, then guest DMA security still could not be totally guaranteed.
> So users may want to disable the IOMMU, to at least gain some performance
> improvement from IOMMU disabled.
>   * IOMMU disabled as a workaround when it doesn't have enough bandwidth.
> To be specific, in a few extreme situation, when multiple devices do DMA
> concurrently, these requests may exceed IOMMU's transmission capacity.
>   * IOMMU disabled when it adds too much latency on DMA. For example,
> TLB may be missing in some IOMMU hardware, which may bring latency in DMA
> progress, so users may want to disable it in some realtime scenario.
>   * Guest OS relies on the host memory layout
> 
> "direct-map" property shall be added under the appropriate domain node,
> when users requesting direct-map memory mapping for the domain.
> 
> Right now, direct-map is only supported when domain on Static Allocation,
> that is, "xen,static-mem" is also necessary in the domain configuration.
> 
> 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 direct-map, and this
> Patch Serie only covers parts of it, which are direct-map memory map.
> Other features will be delievered through different patch series.
> 
> See https://lists.xenproject.org/archives/html/xen-devel/2021-09/msg00855.html
> for Domain on Static Allocation.
> 
> This patch serie is based on
> https://lists.xenproject.org/archives/html/xen-devel/2021-10/msg00822.html\
> ---
> v4 changes:
> - introduce internal const CDF_xxx flags for domain creation
> - introduce internal flag CDF_privileged
> - introduce new internal flag CDF_directmap
> - add a directmap flag under struct arch_domain and use it to
> reimplement is_domain_direct_mapped.
> - expand arch_domain_create/domain_create to include internal-only parameter
> "const unsigned int flags"
> - use mfn_eq() instead, because it is the only value used to indicate
> there is an error and this is more lightweight than mfn_valid()
> - rename function allocate_static_memory_11() to assign_static_memory_11()
> to make clear there is actually no allocation done. Instead we are only
> mapping pre-defined host regions to pre-defined guest regions.
> - remove tot_size to directly substract psize from kinfo->unassigned_mem
> - check kinfo->unassigned_mem doesn't underflow or overflow
> - remove nested if/else
> - remove ASSERT_UNREACHABLE() to avoid breaking compilation on prod build with
> CONFIG_GICV3=n
> - comment and commit message refinement
> ---
> v3 changes:
> - move flag XEN_DOMCTL_CDF_INTERNAL_directmap back to xen/include/xen/domain.h,
> to let it be only available for domain created by XEN.
> - name it with extra "INTERNAL" and add comments to warn developers not
> to accidently use its bitfield when introducing new XEN_DOMCTL_CDF_xxx flag.
> - reject this flag in x86'es arch_sanitise_domain_config()
> - add ASSERT_UNREACHABLE to catch any misuse in allocate_static_memory()
> and allocate_static_memory_11()
> - add another check of validating flag XEN_DOMCTL_CDF_INTERNAL_directmap only
> when CONFIG_STATIC_MEMORY is set.
> - simply map the CPU interface at the GPA vgic_v2_hw.cbase
> - drop 'cells += (GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS)'
> - rename 'is_domain_use_host_layout()' to 'domain_use_host_layout()'
> ---
> v2 changes:
> - remove the introduce of internal flag
> - Refine is_domain_direct_mapped to check whether the flag
> XEN_DOMCTL_CDF_directmap is set
> - reword "1:1 direct-map" to just "direct-map"
> - split the common codes into two helpers: parse_static_mem_prop and
> acquire_static_memory_bank to deduce complexity.
> - introduce a new helper allocate_static_memory_11 for allocating static
> memory for direct-map guests
> - remove panic action since it is fine to assign a non-DMA capable device when
> IOMMU and direct-map both off
> - remove redistributor accessor
> - introduce new helper "is_domain_use_host_layout()"
> - explain why vpl011 initialization before creating its device tree node
> - error out if the domain is direct-mapped and the IRQ is not found
> - harden the code and add a check/comment when the hardware UART region
> is smaller than CUEST_VPL011_SIZE.
> Penny Zheng (4):
>   xen/arm: introduce new helper parse_static_mem_prop and
>     acquire_static_memory_bank
>   xen/arm: introduce direct-map for domUs
>   xen/arm: add ASSERT_UNREACHABLE in allocate_static_memory
>   xen/arm: gate make_gicv3_domU_node with CONFIG_GICV3
> 
> Stefano Stabellini (7):
>   xen: introduce internal CDF_xxx flags for domain creation
>   xen: introduce CDF_directmap
>   xen/arm: avoid setting XEN_DOMCTL_CDF_iommu when IOMMU off
>   xen/arm: if direct-map domain use native addresses for GICv2
>   xen/arm: if direct-map domain use native addresses for GICv3
>   xen/arm: if direct-map domain use native UART address and IRQ number
>     for vPL011
>   xen/docs: Document how to do passthrough without IOMMU
> 
>  docs/misc/arm/device-tree/booting.txt |   6 +
>  docs/misc/arm/passthrough-noiommu.txt |  52 +++++
>  xen/arch/arm/domain.c                 |   5 +-
>  xen/arch/arm/domain_build.c           | 308 +++++++++++++++++++++-----
>  xen/arch/arm/include/asm/domain.h     |  19 +-
>  xen/arch/arm/include/asm/new_vgic.h   |  10 +
>  xen/arch/arm/include/asm/vgic.h       |  11 +
>  xen/arch/arm/include/asm/vpl011.h     |   2 +
>  xen/arch/arm/vgic-v2.c                |  34 ++-
>  xen/arch/arm/vgic-v3.c                |  26 ++-
>  xen/arch/arm/vgic/vgic-v2.c           |  34 ++-
>  xen/arch/arm/vpl011.c                 |  60 ++++-
>  xen/arch/x86/domain.c                 |   3 +-
>  xen/arch/x86/setup.c                  |   2 +-
>  xen/common/domain.c                   |  12 +-
>  xen/common/sched/core.c               |   2 +-
>  xen/include/xen/domain.h              |   9 +-
>  xen/include/xen/sched.h               |   2 +-
>  18 files changed, 490 insertions(+), 107 deletions(-)
>  create mode 100644 docs/misc/arm/passthrough-noiommu.txt
> 
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 23:02:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 23:02:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257441.442309 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n896e-0007NN-2z; Thu, 13 Jan 2022 23:02:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257441.442309; Thu, 13 Jan 2022 23: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 1n896d-0007NG-VV; Thu, 13 Jan 2022 23:02:07 +0000
Received: by outflank-mailman (input) for mailman id 257441;
 Thu, 13 Jan 2022 23:02:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4cYr=R5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n896d-0007NA-BH
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 23:02:07 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d3703ea5-74c4-11ec-a563-1748fde96b53;
 Fri, 14 Jan 2022 00:02:05 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id A7AB361CB0;
 Thu, 13 Jan 2022 23:02:04 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id BE067C36AEA;
 Thu, 13 Jan 2022 23:02: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: d3703ea5-74c4-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1642114924;
	bh=pIn/nxbNCm7QHmhvPrf1o5yCVQz54kQSHoiTG2MkYuU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=uXinYRj45/T5fwLulcJ3SEcQMAj58al1pJkkLGWeyWmBpoK51l9vMmJ74A3Dgxpre
	 OgW+QB/Xfr4h5d2zdGu4RH1FJLt9SuxHIzuN6Glv8pAhrqWTPLeNNSw01zO03rtZyv
	 Fqw/rgU/AjvwAnNyL9/66C6RgQwGedzj3lek0JCrV7HKq4KoKjZoJ1fzxvpVpaSULe
	 riAI8SvyfPTMjmcSSzI/9zMyPsMWBCtl2AgMw97RarA1ZEAMGaH8SxtKVH7Usz8IYs
	 OMDUn1a5ggzxJsbW+YEixD1pEvE4tYUGfyuK5lOM5HSb34H+ovrj1S+bbtQn9MfaLa
	 hIhKf60YqT8xw==
Date: Thu, 13 Jan 2022 15:02:03 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Luca Fancellu <luca.fancellu@arm.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    Juergen Gross <jgross@suse.com>, Bertrand.Marquis@arm.com, julien@xen.org, 
    Volodymyr_Babchuk@epam.com, 
    Stefano Stabellini <stefano.stabellini@xilinx.com>
Subject: Re: [XEN PATCH v2 1/5] xen: introduce xen,enhanced dom0less
 property
In-Reply-To: <C435312C-1697-4D7D-8F7A-E7BFFA8AED38@arm.com>
Message-ID: <alpine.DEB.2.22.394.2201131456530.19362@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop> <20220113005855.1180101-1-sstabellini@kernel.org> <C435312C-1697-4D7D-8F7A-E7BFFA8AED38@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1653450377-1642114923=:19362"

  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-1653450377-1642114923=:19362
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Thu, 13 Jan 2022, Luca Fancellu wrote:
> > On 13 Jan 2022, at 00:58, Stefano Stabellini <sstabellini@kernel.org> wrote:
> > 
> > From: Stefano Stabellini <stefano.stabellini@xilinx.com>
> > 
> > Introduce a new "xen,enhanced" dom0less property to enable/disable PV
> > driver interfaces for dom0less guests. Currently only "enabled" and
> > "disabled" are supported property values (and empty). Leave the option
> > open to implement further possible values in the future (e.g.
> > "xenstore" to enable only xenstore.)
> > 
> > This patch only parses the property. Next patches will make use of it.
> > 
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
> > CC: Julien Grall <julien@xen.org>
> > CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> > CC: Bertrand Marquis <bertrand.marquis@arm.com>
> 
> Hi Stefano,
> 
> Subject to Bertrand’s comment on commit message:
> 
> Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
> 
> Just a small curiosity, why we use the prefix “xen,” for the property? I thought since the node uses
> a “xen,domain" compatible we could use just “enhanced” just like the other properties “vpl011”, “nr_spis”, ...

Julien was the one to suggest the naming but I actually like it.

Yes, if we wanted we could use "enhanced" but I think it is a better
idea to call this property "xen,enhanced" because that way it is easily
distinguishable from properties that could be hypervisor-neutral.

Imagine one day we have a device tree spec for a generic hypervisor
domain. It could have things like memory and even vpl011. However, for
sure it is not going to have "Xen PV drivers enabled". From a device
tree perspective it is better to align properties as much as possible
between similar nodes of different vendors, so ideally "memory" is going
ot be called "memory" for all hypervisor vendors. So it makes sense for
this property to have the "xen," prefix as it is different from the ones
that are more neutral.


> > ---
> > Changes in v2:
> > - rename kinfo.enhanced to kinfo.dom0less_enhanced
> > - set kinfo.dom0less_enhanced to true for dom0
> > - handle -ENODATA in addition to -EILSEQ
> > ---
> > docs/misc/arm/device-tree/booting.txt | 18 ++++++++++++++++++
> > xen/arch/arm/domain_build.c           |  8 ++++++++
> > xen/arch/arm/include/asm/kernel.h     |  3 +++
> > 3 files changed, 29 insertions(+)
> > 
> > diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
> > index 71895663a4..38c29fb3d8 100644
> > --- a/docs/misc/arm/device-tree/booting.txt
> > +++ b/docs/misc/arm/device-tree/booting.txt
> > @@ -169,6 +169,24 @@ with the following properties:
> >     Please note that the SPI used for the virtual pl011 could clash with the
> >     physical SPI of a physical device assigned to the guest.
> > 
> > +- xen,enhanced
> > +
> > +    A string property. Possible property values are:
> > +
> > +    - "enabled" (or missing property value)
> > +    Xen PV interfaces, including grant-table and xenstore, will be
> > +    enabled for the VM.
> > +
> > +    - "disabled"
> > +    Xen PV interfaces are disabled.
> > +
> > +    If the xen,enhanced property is present with no value, it defaults
> > +    to "enabled". If the xen,enhanced property is not present, PV
> > +    interfaces are disabled.
> > +
> > +    In the future other possible property values might be added to
> > +    enable only selected interfaces.
> > +
> > - nr_spis
> > 
> >     Optional. A 32-bit integer specifying the number of SPIs (Shared
> > diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> > index 6931c022a2..9144d6c0b6 100644
> > --- a/xen/arch/arm/domain_build.c
> > +++ b/xen/arch/arm/domain_build.c
> > @@ -2963,6 +2963,7 @@ static int __init construct_domU(struct domain *d,
> >                                  const struct dt_device_node *node)
> > {
> >     struct kernel_info kinfo = {};
> > +    const char *dom0less_enhanced;
> >     int rc;
> >     u64 mem;
> > 
> > @@ -2978,6 +2979,12 @@ static int __init construct_domU(struct domain *d,
> > 
> >     kinfo.vpl011 = dt_property_read_bool(node, "vpl011");
> > 
> > +    rc = dt_property_read_string(node, "xen,enhanced", &dom0less_enhanced);
> > +    if ( rc == -EILSEQ ||
> > +         rc == -ENODATA ||
> > +         (rc == 0 && !strcmp(dom0less_enhanced, "enabled")) )
> > +        kinfo.dom0less_enhanced = true;
> > +
> >     if ( vcpu_create(d, 0) == NULL )
> >         return -ENOMEM;
> > 
> > @@ -3095,6 +3102,7 @@ static int __init construct_dom0(struct domain *d)
> > 
> >     kinfo.unassigned_mem = dom0_mem;
> >     kinfo.d = d;
> > +    kinfo.dom0less_enhanced = true;
> > 
> >     rc = kernel_probe(&kinfo, NULL);
> >     if ( rc < 0 )
> > diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
> > index 874aa108a7..c4dc039b54 100644
> > --- a/xen/arch/arm/include/asm/kernel.h
> > +++ b/xen/arch/arm/include/asm/kernel.h
> > @@ -36,6 +36,9 @@ struct kernel_info {
> >     /* Enable pl011 emulation */
> >     bool vpl011;
> > 
> > +    /* Enable PV drivers */
> > +    bool dom0less_enhanced;
> > +
> >     /* GIC phandle */
> >     uint32_t phandle_gic;
> > 
> > -- 
> > 2.25.1
> > 
> > 
> 
--8323329-1653450377-1642114923=:19362--


From xen-devel-bounces@lists.xenproject.org Thu Jan 13 23:51:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 13 Jan 2022 23:51:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257447.442320 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n89sV-00044t-Vg; Thu, 13 Jan 2022 23:51:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257447.442320; Thu, 13 Jan 2022 23: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 1n89sV-00044m-Rt; Thu, 13 Jan 2022 23:51:35 +0000
Received: by outflank-mailman (input) for mailman id 257447;
 Thu, 13 Jan 2022 23:51:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4cYr=R5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n89sU-00044g-Sg
 for xen-devel@lists.xenproject.org; Thu, 13 Jan 2022 23:51:35 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bb8af248-74cb-11ec-bcf3-e9554a921baa;
 Fri, 14 Jan 2022 00:51:32 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 0411961CF3;
 Thu, 13 Jan 2022 23:51:31 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 201C3C36AE3;
 Thu, 13 Jan 2022 23:51: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: bb8af248-74cb-11ec-bcf3-e9554a921baa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1642117890;
	bh=03nCUZi6almZvKdr9eLJQvsbfPMXcdo62pwwI2IBR84=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ERWAIAwFcOcekM1hJEG/bcF5T6udvGbQaHCcIIQmJM6deNj8KqAD4yqunvYQIIbt9
	 mJMM8YqlWHEaeEVUOPI7eJouonGUK7pf04kJfQYgT/SnwhUM27v2cYwPrMJgxk85dT
	 OSKK3QPt4S6RYXrq163Ci1WQ3qqfIeCwBsbUUFCeRdBxSSpakmyZW4/V6ECYEwVo9V
	 PQOYZYFd4duxC2gDZArlSufbALRLkjVpWR2Xk6ilEtbTNhea5XGUkhwLfBWkW+wGi/
	 EF0qA9P+6ZV3Nqwh+UaSe7oIvA+2mSs5hhttYojR21hDgvnrkWbyg+x3A7Z7r/UT/m
	 7IBfS/NGn16Rg==
Date: Thu, 13 Jan 2022 15:51:28 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
cc: xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Oleksandr Tyshchenko <olekstysh@gmail.com>, 
    Andrii Anisov <Andrii_Anisov@epam.com>
Subject: Re: [XEN PATCH v3] xen/arm: introduce dummy iommu node for dom0
In-Reply-To: <20220111112611.90508-1-Sergiy_Kibrik@epam.com>
Message-ID: <alpine.DEB.2.22.394.2201131544020.19362@ubuntu-linux-20-04-desktop>
References: <20220111112611.90508-1-Sergiy_Kibrik@epam.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 11 Jan 2022, Sergiy Kibrik wrote:
> Currently no IOMMU properties are exposed to dom0, thus kernel by default
> assumes no protection and enables swiotlb-xen, which leads to costly and
> unnecessary buffers bouncing.
> 
> To let kernel know which device is behing IOMMU and hence needs no swiotlb
> services we introduce dummy xen-iommu node in FDT and link protected device
> nodes to it, using here device tree iommu bindings.
> 
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>

I think the patch looks good. I have no further comments on the code:

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

Before committing it to the Xen tree, I'd like to wait that the Linux
side, especially the change to
Documentation/devicetree/bindings/arm/xen.txt, is acked.


> ---
> Cc: Stefano Stabellini <sstabellini@kernel.org>
> Cc: Julien Grall <julien@xen.org>
> Cc: Oleksandr Tyshchenko <olekstysh@gmail.com>
> Cc: Andrii Anisov <Andrii_Anisov@epam.com>
> 
> 
> Changelog:
> 
> v3: rebased over staging & remove redundand phandle_iommu attribute, discussion:
> 	https://lists.xenproject.org/archives/html/xen-devel/2021-12/msg01753.html
> 
> v2: re-use common iommu dt bindings to let guests know which devices are protected:
> 	https://lists.xenproject.org/archives/html/xen-devel/2021-10/msg00073.html
> 
>  xen/arch/arm/domain_build.c           | 42 +++++++++++++++++++++++++++
>  xen/include/public/device_tree_defs.h |  1 +
>  2 files changed, 43 insertions(+)
> 
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 6931c022a2..b82ba72fac 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -845,6 +845,12 @@ static int __init write_properties(struct domain *d, struct kernel_info *kinfo,
>          }
>      }
>  
> +    if ( iommu_node && is_iommu_enabled(d) && dt_device_is_protected(node) )
> +    {
> +        res = fdt_property_cell(kinfo->fdt, "iommus", GUEST_PHANDLE_IOMMU);
> +        if ( res )
> +            return res;
> +    }
>      return 0;
>  }
>  
> @@ -1479,6 +1485,38 @@ static int __init make_cpus_node(const struct domain *d, void *fdt)
>      return res;
>  }
>  
> +static int __init make_iommu_node(const struct domain *d,
> +                                  const struct kernel_info *kinfo)
> +{
> +    const char compat[] = "xen,iommu-el2-v1";
> +    int res;
> +
> +    if ( !is_iommu_enabled(d) )
> +        return 0;
> +
> +    dt_dprintk("Create iommu node\n");
> +
> +    res = fdt_begin_node(kinfo->fdt, "xen-iommu");
> +    if ( res )
> +        return res;
> +
> +    res = fdt_property(kinfo->fdt, "compatible", compat, sizeof(compat));
> +    if ( res )
> +        return res;
> +
> +    res = fdt_property_cell(kinfo->fdt, "#iommu-cells", 0);
> +    if ( res )
> +        return res;
> +
> +    res = fdt_property_cell(kinfo->fdt, "phandle", GUEST_PHANDLE_IOMMU);
> +
> +    res = fdt_end_node(kinfo->fdt);
> +    if ( res )
> +        return res;
> +
> +    return res;
> +}
> +
>  static int __init make_gic_node(const struct domain *d, void *fdt,
>                                  const struct dt_device_node *node)
>  {
> @@ -2127,6 +2165,10 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
>          if ( res )
>              return res;
>  
> +        res = make_iommu_node(d, kinfo);
> +        if ( res )
> +            return res;
> +
>          res = make_memory_node(d, kinfo->fdt, addrcells, sizecells, &kinfo->mem);
>          if ( res )
>              return res;
> diff --git a/xen/include/public/device_tree_defs.h b/xen/include/public/device_tree_defs.h
> index 209d43de3f..df58944bd0 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_IOMMU (GUEST_PHANDLE_GIC + 1)
>  
>  #define GUEST_ROOT_ADDRESS_CELLS 2
>  #define GUEST_ROOT_SIZE_CELLS 2
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Jan 14 00:56:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 00:56:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257460.442363 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8AtD-0002dO-PI; Fri, 14 Jan 2022 00:56:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257460.442363; Fri, 14 Jan 2022 00:56:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8AtD-0002dG-M5; Fri, 14 Jan 2022 00:56:23 +0000
Received: by outflank-mailman (input) for mailman id 257460;
 Fri, 14 Jan 2022 00:56:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n8AtC-0002cx-By; Fri, 14 Jan 2022 00:56:22 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n8AtC-0002IE-A5; Fri, 14 Jan 2022 00:56:22 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n8AtB-00081A-V1; Fri, 14 Jan 2022 00:56:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n8AtB-0004if-UY; Fri, 14 Jan 2022 00:56:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=m6dXY6BCpeQ5BoOyl4wbUV5BaawV6eHUqzqEXysuD7c=; b=grPNF8yNQzRj8soSIrPPSYeBjg
	GeJMUmR+wKk7Hgklwi4bbTZ65vlKoCQpsbMyK9uH8TLfD0zX3Bg26LQKRtA9MNYNWjpvmzQctZgvq
	VjTWt58cM1sIXzR5//d2VMz5QPa2e5Bkvwdbu8NOPRF2J+BDJss8EJqEFPjW62MbWaSA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167686-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-upstream-4.16-testing test] 167686: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-upstream-4.16-testing:test-amd64-i386-xl-qemuu-win7-amd64:xen-boot:fail:nonblocking
    qemu-upstream-4.16-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-upstream-4.16-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-upstream-4.16-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-upstream-4.16-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-upstream-4.16-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-upstream-4.16-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.16-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=29a2f95d36d2a01bcacc0f3136801b2d9197f4d7
X-Osstest-Versions-That:
    qemuu=b6e539830bf45e2d7a6bd86ddfdf003088b173b0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 14 Jan 2022 00:56:21 +0000

flight 167686 qemu-upstream-4.16-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167686/

Failures :-/ but no regressions.

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

version targeted for testing:
 qemuu                29a2f95d36d2a01bcacc0f3136801b2d9197f4d7
baseline version:
 qemuu                b6e539830bf45e2d7a6bd86ddfdf003088b173b0

Last test of basis   166943  2021-11-27 20:40:13 Z   47 days
Testing same since   167686  2022-01-13 11:40:04 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex Bennée <alex.bennee@linaro.org>
  Alex Williamson <alex.williamson@redhat.com>
  Ani Sinha <ani@anisinha.ca>
  Anthony PERARD <anthony.perard@citrix.com>
  Ari Sundholm <ari@tuxera.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Cole Robinson <crobinso@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Daniil Tatianin <d-tatianin@yandex-team.ru>
  David Hildenbrand <david@redhat.com>
  Eduardo Habkost <ehabkost@redhat.com>
  Emil Karlson <jkarlson@tuxera.com>
  Eric Auger <eric.auger@redhat.com>
  Eric Blake <eblake@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Greg Kurz <groug@kaod.org>
  Helge Deller <deller@gmx.de>
  Igor Mammedov <imammedo@redhat.com>
  Jason Wang <jasowang@redhat.com>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  Jessica Clarke <jrtc27@jrtc27.com>
  John Snow <jsnow@redhat.com>
  Jon Maloy <jmaloy@redhat.com>
  Kevin Wolf <kwolf@redhat.com>
  Klaus Jensen <k.jensen@samsung.com>
  Laurent Vivier <laurent@vivier.eu>
  Mahmoud Mandour <ma.mandourr@gmail.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Mark Mielke <mark.mielke@gmail.com>
  Markus Armbruster <armbru@redhat.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Michael Roth <michael.roth@amd.com>
  Michael S. Tsirkin <mst@redhat.com>
  Michael Tokarev <mjt@tls.msk.ru>
  Nir Soffer <nirsof@gmail.com>
  Nir Soffer <nsoffer@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Peng Liang <liangpeng10@huawei.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@redhat.com>
  Prasad J Pandit <pjp@fedoraproject.org>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefano Garzarella <sgarzare@redhat.com>
  Thomas Huth <thuth@redhat.com>
  Xueming Li <xuemingl@nvidia.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-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   b6e539830b..29a2f95d36  29a2f95d36d2a01bcacc0f3136801b2d9197f4d7 -> stable-4.16


From xen-devel-bounces@lists.xenproject.org Fri Jan 14 01:21:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 01:21:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257516.442554 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8BH4-0001ZV-Pf; Fri, 14 Jan 2022 01:21:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257516.442554; Fri, 14 Jan 2022 01:21:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8BH4-0001ZO-LK; Fri, 14 Jan 2022 01:21:02 +0000
Received: by outflank-mailman (input) for mailman id 257516;
 Fri, 14 Jan 2022 01:21:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=chGx=R6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n8BH2-0001ZI-Lw
 for xen-devel@lists.xenproject.org; Fri, 14 Jan 2022 01:21:00 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3ab5b4c9-74d8-11ec-bcf3-e9554a921baa;
 Fri, 14 Jan 2022 02:20:59 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 372CFB82348;
 Fri, 14 Jan 2022 01:20:58 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A3588C36AE3;
 Fri, 14 Jan 2022 01:20: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: 3ab5b4c9-74d8-11ec-bcf3-e9554a921baa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1642123257;
	bh=7jKtizpYET/VQJSbteT3EIo6byYqvsli87vaL3mMhJQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=bgiGW8t+PJS7ChFQi0dMnQ8GoGvFsW+0mdyGgnRultLkMhnl66frgYX3hnUlEkbCn
	 Q+3NhoLmQFmdkcqBK9LoFcycXugnu4s8evNvD1zHlZwQrbkf7jx9EVP1TAG41sm7Od
	 03vHKxDMd9k+OEI8sWNFv4RBrXBKW8UPggs9xwxTZXZSmxc8WUuXZQ8N50Cxj03J9Q
	 QpjiUCp4f6AjtxRA0rW4tnEk2NaHwyUaCog9OG2WfSSbF9yylpb8oL4o6FIFEpsRG8
	 /Oo/wPOTtDHXvKPr+Pgkgavsa3nTEsggII4jXAvnUyVD3Npt7uV2VVXQzedWILm9A+
	 NeWLYSdGmA/gA==
Date: Thu, 13 Jan 2022 17:20:55 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, jgross@suse.com, 
    Bertrand.Marquis@arm.com, julien@xen.org, Volodymyr_Babchuk@epam.com, 
    Stefano Stabellini <stefano.stabellini@xilinx.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v2 2/5] xen: export get_free_port
In-Reply-To: <4ac4cdbe-a3bf-2be1-1e1b-789ac5de067f@suse.com>
Message-ID: <alpine.DEB.2.22.394.2201131713140.19362@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop> <20220113005855.1180101-2-sstabellini@kernel.org> <4ac4cdbe-a3bf-2be1-1e1b-789ac5de067f@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 13 Jan 2022, Jan Beulich wrote:
> On 13.01.2022 01:58, Stefano Stabellini wrote:
> > --- a/xen/common/event_channel.c
> > +++ b/xen/common/event_channel.c
> > @@ -232,7 +232,7 @@ int evtchn_allocate_port(struct domain *d, evtchn_port_t port)
> >      return 0;
> >  }
> >  
> > -static int get_free_port(struct domain *d)
> > +int get_free_port(struct domain *d)
> 
> The name of the function isn't really suitable for being non-static.
> Can't we fold its functionality back into evtchn_allocate_port() (or
> the other way around, depending on the perspective you want to take)
> in case the caller passes in port 0? (Btw., it is imo wrong for the
> loop over ports to start at 0, when it is part of the ABI that port
> 0 is always invalid. evtchn_init() also better wouldn't depend on it
> being the only party to successfully invoke the function getting back
> port 0.)

I agree that "get_free_port" is not a great name for a non-static
function. Also, it should be noted that for the sake of this patch
series I could just call evtchn_allocate_port(d, 1) given that it is the
first evtchn to be allocated. So maybe, that's the best way forward?


To address your specific suggestion, in my opinion it would be best to
have two different functions to allocate a new port:
- one with a specific evtchn_port_t port parameter
- one without it (meaning: "I don't care about the number")

Folding the functionality of "give me any number" when 0 is passed to
evtchn_allocate_port() doesn't seem to be an improvement to the API to
me.

That said, I am still OK with making the suggested change if that's what
you prefer.

Another alternative is simply to rename "get_free_port" to
"evtchn_allocate" (or something else to distinguish it from
evtchn_allocate_port).


From xen-devel-bounces@lists.xenproject.org Fri Jan 14 01:21:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 01:21:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257518.442565 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8BHV-00026H-5J; Fri, 14 Jan 2022 01:21:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257518.442565; Fri, 14 Jan 2022 01: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 1n8BHV-00026A-1k; Fri, 14 Jan 2022 01:21:29 +0000
Received: by outflank-mailman (input) for mailman id 257518;
 Fri, 14 Jan 2022 01:21:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=chGx=R6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n8BHT-0001ZI-Ve
 for xen-devel@lists.xenproject.org; Fri, 14 Jan 2022 01:21:28 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4b40c9db-74d8-11ec-bcf3-e9554a921baa;
 Fri, 14 Jan 2022 02:21:27 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 64DE2B823E0;
 Fri, 14 Jan 2022 01:21:26 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id DEDDAC36AEA;
 Fri, 14 Jan 2022 01:21: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: 4b40c9db-74d8-11ec-bcf3-e9554a921baa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1642123285;
	bh=l2PvEwCyVeWB2hKrqYTRU13dQIFXmY2Q5OOVe208SMA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=RPeQWnyawDoF6J/ZNsfv6VcEI3bAw20r8dJXxc1CLyaK81q0lnxRnyZZ1AHAhRrhK
	 BIYblEdPM+BWIZGwIOW3uXtFnnP3mnILc4QArtbO2KmbFC6NJc4KaQ+5VCKCBGJUDd
	 9U23o/jAYFCk729KjiHAPE9WB5uWzL+iql3hSlS3xfhEJuLrD08IMVH9eEXOWcIrdH
	 PrN2i3dXuP8mjU31ZGpMS0umlqlbOQO+3ZFwoK0wQJNSw2SEaxDVcMOgOWfAnbm2Ua
	 +EXzzd4/FZQEvQCVYyjCAI4+OjiUm3fOA3Vd8f9dcmx83NlXoJ9puWrYFCpGZOd1eK
	 CuKYAPUCEiX2A==
Date: Thu, 13 Jan 2022 17:21:24 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    "jgross@suse.com" <jgross@suse.com>, "julien@xen.org" <julien@xen.org>, 
    "Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>, 
    Stefano Stabellini <stefano.stabellini@xilinx.com>
Subject: Re: [XEN PATCH v2 1/5] xen: introduce xen,enhanced dom0less
 property
In-Reply-To: <77925E54-B875-4D00-846C-BB957D70BF79@arm.com>
Message-ID: <alpine.DEB.2.22.394.2201131721100.19362@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop> <20220113005855.1180101-1-sstabellini@kernel.org> <77925E54-B875-4D00-846C-BB957D70BF79@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 13 Jan 2022, Bertrand Marquis wrote:
> Hi Stefano,
> 
> > On 13 Jan 2022, at 00:58, Stefano Stabellini <sstabellini@kernel.org> wrote:
> > 
> > From: Stefano Stabellini <stefano.stabellini@xilinx.com>
> > 
> > Introduce a new "xen,enhanced" dom0less property to enable/disable PV
> > driver interfaces for dom0less guests. Currently only "enabled" and
> > "disabled" are supported property values (and empty). Leave the option
> > open to implement further possible values in the future (e.g.
> > "xenstore" to enable only xenstore.)
> 
> You should also say here that you set this option to true in the code for dom0
> and that the option is only for DomUs.

Good point!
 

> > This patch only parses the property. Next patches will make use of it.
> > 
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
> > CC: Julien Grall <julien@xen.org>
> > CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> > CC: Bertrand Marquis <bertrand.marquis@arm.com>
> 
> With the previous added in commit message:
> Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Thank you!


> Cheers
> Bertrand
> 
> > ---
> > Changes in v2:
> > - rename kinfo.enhanced to kinfo.dom0less_enhanced
> > - set kinfo.dom0less_enhanced to true for dom0
> > - handle -ENODATA in addition to -EILSEQ
> > ---
> > docs/misc/arm/device-tree/booting.txt | 18 ++++++++++++++++++
> > xen/arch/arm/domain_build.c           |  8 ++++++++
> > xen/arch/arm/include/asm/kernel.h     |  3 +++
> > 3 files changed, 29 insertions(+)
> > 
> > diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
> > index 71895663a4..38c29fb3d8 100644
> > --- a/docs/misc/arm/device-tree/booting.txt
> > +++ b/docs/misc/arm/device-tree/booting.txt
> > @@ -169,6 +169,24 @@ with the following properties:
> >     Please note that the SPI used for the virtual pl011 could clash with the
> >     physical SPI of a physical device assigned to the guest.
> > 
> > +- xen,enhanced
> > +
> > +    A string property. Possible property values are:
> > +
> > +    - "enabled" (or missing property value)
> > +    Xen PV interfaces, including grant-table and xenstore, will be
> > +    enabled for the VM.
> > +
> > +    - "disabled"
> > +    Xen PV interfaces are disabled.
> > +
> > +    If the xen,enhanced property is present with no value, it defaults
> > +    to "enabled". If the xen,enhanced property is not present, PV
> > +    interfaces are disabled.
> > +
> > +    In the future other possible property values might be added to
> > +    enable only selected interfaces.
> > +
> > - nr_spis
> > 
> >     Optional. A 32-bit integer specifying the number of SPIs (Shared
> > diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> > index 6931c022a2..9144d6c0b6 100644
> > --- a/xen/arch/arm/domain_build.c
> > +++ b/xen/arch/arm/domain_build.c
> > @@ -2963,6 +2963,7 @@ static int __init construct_domU(struct domain *d,
> >                                  const struct dt_device_node *node)
> > {
> >     struct kernel_info kinfo = {};
> > +    const char *dom0less_enhanced;
> >     int rc;
> >     u64 mem;
> > 
> > @@ -2978,6 +2979,12 @@ static int __init construct_domU(struct domain *d,
> > 
> >     kinfo.vpl011 = dt_property_read_bool(node, "vpl011");
> > 
> > +    rc = dt_property_read_string(node, "xen,enhanced", &dom0less_enhanced);
> > +    if ( rc == -EILSEQ ||
> > +         rc == -ENODATA ||
> > +         (rc == 0 && !strcmp(dom0less_enhanced, "enabled")) )
> > +        kinfo.dom0less_enhanced = true;
> > +
> >     if ( vcpu_create(d, 0) == NULL )
> >         return -ENOMEM;
> > 
> > @@ -3095,6 +3102,7 @@ static int __init construct_dom0(struct domain *d)
> > 
> >     kinfo.unassigned_mem = dom0_mem;
> >     kinfo.d = d;
> > +    kinfo.dom0less_enhanced = true;
> > 
> >     rc = kernel_probe(&kinfo, NULL);
> >     if ( rc < 0 )
> > diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
> > index 874aa108a7..c4dc039b54 100644
> > --- a/xen/arch/arm/include/asm/kernel.h
> > +++ b/xen/arch/arm/include/asm/kernel.h
> > @@ -36,6 +36,9 @@ struct kernel_info {
> >     /* Enable pl011 emulation */
> >     bool vpl011;
> > 
> > +    /* Enable PV drivers */
> > +    bool dom0less_enhanced;
> > +
> >     /* GIC phandle */
> >     uint32_t phandle_gic;
> > 
> > -- 
> > 2.25.1
> > 
> 


From xen-devel-bounces@lists.xenproject.org Fri Jan 14 02:26:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 02:26:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257524.442576 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8CHm-000095-2E; Fri, 14 Jan 2022 02:25:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257524.442576; Fri, 14 Jan 2022 02: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 1n8CHl-00008p-SO; Fri, 14 Jan 2022 02:25:49 +0000
Received: by outflank-mailman (input) for mailman id 257524;
 Fri, 14 Jan 2022 02:25:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=chGx=R6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n8CHk-00008j-Dq
 for xen-devel@lists.xenproject.org; Fri, 14 Jan 2022 02:25:48 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 46efe52d-74e1-11ec-bcf3-e9554a921baa;
 Fri, 14 Jan 2022 03:25:46 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 89E36B82358;
 Fri, 14 Jan 2022 02:25:44 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id BFFA5C36AEA;
 Fri, 14 Jan 2022 02:25: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: 46efe52d-74e1-11ec-bcf3-e9554a921baa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1642127143;
	bh=h2CI4MFj40SZYji614qdWM8/KjZ54LMSAPRImoP/AMI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=laVOzjWHOFOzNZv5wOJ84ol3/n4HkAAUK5qD43I6Q3XrygecetcrW4rrsdQsgAtss
	 brKERV+P3eZrZiCf9eCKoOnqKiBTfA7ymst/7nBq+xZAIYn3p1bBzIF/QRynYo6u+s
	 MYNF/I5160sDQM2C7nlNiDqR6gdNvkdh63B841gwgeb4V0SocobQPkYxZ3hZ76UzHi
	 eHzAv4+0E+/m91Aefww0zFva1UatW9LG5ugTs5eHPiiwQ6QNx/yLcNPTaNYNrPQuKY
	 NoDvyee9KJ8mU/LWo8gUS25engZIVFjdXdiACBe2JTFIFssAxGmvXG0OfrpXkgQ0HY
	 W0yb6xlquA0LA==
Date: Thu, 13 Jan 2022 18:25:41 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Juergen Gross <jgross@suse.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, boris.ostrovsky@oracle.com, 
    xen-devel@lists.xenproject.org, Luca Miccio <lucmiccio@gmail.com>, 
    Stefano Stabellini <stefano.stabellini@xilinx.com>
Subject: Re: [LINUX PATCH v2 1/1] xen: add support for initializing xenstore
 later as HVM domain
In-Reply-To: <aa934840-0862-7246-4318-a049aedcf0c3@suse.com>
Message-ID: <alpine.DEB.2.22.394.2201131723420.19362@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201121647460.19362@ubuntu-linux-20-04-desktop> <20220113010002.1180463-1-sstabellini@kernel.org> <aa934840-0862-7246-4318-a049aedcf0c3@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 13 Jan 2022, Juergen Gross wrote:
> > @@ -907,6 +921,20 @@ static struct notifier_block xenbus_resume_nb = {
> >   	.notifier_call = xenbus_resume_cb,
> >   };
> >   +static irqreturn_t xenbus_late_init(int irq, void *unused)
> > +{
> > +	int err = 0;
> > +	uint64_t v = 0;
> > +
> > +	err = hvm_get_parameter(HVM_PARAM_STORE_PFN, &v);
> > +	if (err || !v || !~v)
> > +		return IRQ_HANDLED;
> > +	xen_store_gfn = (unsigned long)v;
> > +
> > +	wake_up(&xb_waitq);
> > +	return IRQ_HANDLED;
> > +}
> > +
> 
> Hmm, wouldn't it be easier to use a static key in the already existing
> irq handler instead of switching the handler?

I did some prototyping and it is certainly not going to be "easier" :-)

- xenbus_irq is setup by xb_init_comms, but xb_init_comms cannot be
  re-used as-is because it assumes xen_store_interface to be != NULL
- also, it is too early to start xenbus_thread at that point

So it looks like we shouldn't call xb_init_comms from xenbus_init
because it would increase the number of "if" statements in xb_init_comms
quiet a bit. 

An alternative would be to leave xb_init_comms unmodified, but reuse the
same interrupt handler (wake_waiting) and xenbus_irq. However, that
doesn't work either because rebind_evtchn_irq fails when it is called
later on from xb_init_comms. (I haven't investigated why.) Also,
xenbus_irq could be allocated as zero, so the existing check in
xb_init_comms also fails. 

To give you a concrete idea, after several tries I managed to get a
dirty patch that works but I don't think the changes to xb_init_comms
are actually correct.

In conclusion I think it is best to keep the current approach.



diff --git a/drivers/xen/xenbus/xenbus_comms.c b/drivers/xen/xenbus/xenbus_comms.c
index e5fda0256feb..bad87c3a9f72 100644
--- a/drivers/xen/xenbus/xenbus_comms.c
+++ b/drivers/xen/xenbus/xenbus_comms.c
@@ -54,15 +54,9 @@ DEFINE_MUTEX(xb_write_mutex);
 /* Protect xenbus reader thread against save/restore. */
 DEFINE_MUTEX(xs_response_mutex);
 
-static int xenbus_irq;
+int xenbus_irq = -1;
 static struct task_struct *xenbus_task;
 
-static irqreturn_t wake_waiting(int irq, void *unused)
-{
-	wake_up(&xb_waitq);
-	return IRQ_HANDLED;
-}
-
 static int check_indexes(XENSTORE_RING_IDX cons, XENSTORE_RING_IDX prod)
 {
 	return ((prod - cons) <= XENSTORE_RING_SIZE);
@@ -435,6 +429,7 @@ static int xenbus_thread(void *unused)
 /**
  * xb_init_comms - Set up interrupt handler off store event channel.
  */
+extern irqreturn_t wake_waiting(int irq, void *unused);
 int xb_init_comms(void)
 {
 	struct xenstore_domain_interface *intf = xen_store_interface;
@@ -451,10 +446,10 @@ int xb_init_comms(void)
 			intf->rsp_cons = intf->rsp_prod;
 	}
 
-	if (xenbus_irq) {
+	if (xenbus_irq > 0) {
 		/* Already have an irq; assume we're resuming */
 		rebind_evtchn_irq(xen_store_evtchn, xenbus_irq);
-	} else {
+	} else if (xenbus_irq < 0) {
 		int err;
 
 		err = bind_evtchn_to_irqhandler(xen_store_evtchn, wake_waiting,
@@ -465,13 +460,13 @@ int xb_init_comms(void)
 		}
 
 		xenbus_irq = err;
+	}
 
-		if (!xenbus_task) {
-			xenbus_task = kthread_run(xenbus_thread, NULL,
-						  "xenbus");
-			if (IS_ERR(xenbus_task))
-				return PTR_ERR(xenbus_task);
-		}
+	if (!xenbus_task) {
+		xenbus_task = kthread_run(xenbus_thread, NULL,
+				"xenbus");
+		if (IS_ERR(xenbus_task))
+			return PTR_ERR(xenbus_task);
 	}
 
 	return 0;
diff --git a/drivers/xen/xenbus/xenbus_probe.c b/drivers/xen/xenbus/xenbus_probe.c
index fe360c33ce71..ad8d640b75d2 100644
--- a/drivers/xen/xenbus/xenbus_probe.c
+++ b/drivers/xen/xenbus/xenbus_probe.c
@@ -65,6 +65,7 @@
 #include "xenbus.h"
 
 
+extern int xenbus_irq;
 int xen_store_evtchn;
 EXPORT_SYMBOL_GPL(xen_store_evtchn);
 
@@ -750,6 +751,11 @@ static void xenbus_probe(void)
 {
 	xenstored_ready = 1;
 
+	if (!xen_store_interface) {
+		xen_store_interface = xen_remap(xen_store_gfn << XEN_PAGE_SHIFT,
+						XEN_PAGE_SIZE);
+	}
+
 	/*
 	 * In the HVM case, xenbus_init() deferred its call to
 	 * xs_init() in case callbacks were not operational yet.
@@ -798,20 +804,22 @@ static int __init xenbus_probe_initcall(void)
 {
 	/*
 	 * Probe XenBus here in the XS_PV case, and also XS_HVM unless we
-	 * need to wait for the platform PCI device to come up.
+	 * need to wait for the platform PCI device to come up or
+	 * xen_store_interface is not ready.
 	 */
 	if (xen_store_domain_type == XS_PV ||
 	    (xen_store_domain_type == XS_HVM &&
-	     !xs_hvm_defer_init_for_callback()))
+	     !xs_hvm_defer_init_for_callback() &&
+	     xen_store_interface != NULL))
 		xenbus_probe();
 
 	/*
-	 * For XS_LOCAL, spawn a thread which will wait for xenstored
-	 * or a xenstore-stubdom to be started, then probe. It will be
-	 * triggered when communication starts happening, by waiting
-	 * on xb_waitq.
+	 * For XS_LOCAL or when xen_store_interface is not ready, spawn a
+	 * thread which will wait for xenstored or a xenstore-stubdom to be
+	 * started, then probe.  It will be triggered when communication
+	 * starts happening, by waiting on xb_waitq.
 	 */
-	if (xen_store_domain_type == XS_LOCAL) {
+	if (xen_store_domain_type == XS_LOCAL || xen_store_interface == NULL) {
 		struct task_struct *probe_task;
 
 		probe_task = kthread_run(xenbus_probe_thread, NULL,
@@ -907,6 +915,22 @@ static struct notifier_block xenbus_resume_nb = {
 	.notifier_call = xenbus_resume_cb,
 };
 
+irqreturn_t wake_waiting(int irq, void *unused)
+{
+	int err = 0;
+	uint64_t v = 0;
+
+	if (!xen_store_gfn) {
+		err = hvm_get_parameter(HVM_PARAM_STORE_PFN, &v);
+		if (err || !v || !~v)
+			return IRQ_HANDLED;
+		xen_store_gfn = (unsigned long)v;
+	}
+
+	wake_up(&xb_waitq);
+	return IRQ_HANDLED;
+}
+
 static int __init xenbus_init(void)
 {
 	int err;
@@ -959,23 +983,37 @@ static int __init xenbus_init(void)
 		 *
 		 * Also recognize all bits set as an invalid value.
 		 */
-		if (!v || !~v) {
+		if (!v) {
 			err = -ENOENT;
 			goto out_error;
 		}
-		/* Avoid truncation on 32-bit. */
+		if (v == ~0ULL) {
+			err = bind_evtchn_to_irqhandler(xen_store_evtchn,
+							wake_waiting,
+							0, "xenbus",
+							&xb_waitq);
+			if (err < 0) {
+				pr_err("xenstore_late_init couldn't bind irq err=%d\n",
+				       err);
+				return err;
+			}
+
+			xenbus_irq = err;
+		} else {
+			/* Avoid truncation on 32-bit. */
 #if BITS_PER_LONG == 32
-		if (v > ULONG_MAX) {
-			pr_err("%s: cannot handle HVM_PARAM_STORE_PFN=%llx > ULONG_MAX\n",
-			       __func__, v);
-			err = -EINVAL;
-			goto out_error;
-		}
+			if (v > ULONG_MAX) {
+				pr_err("%s: cannot handle HVM_PARAM_STORE_PFN=%llx > ULONG_MAX\n",
+						__func__, v);
+				err = -EINVAL;
+				goto out_error;
+			}
 #endif
-		xen_store_gfn = (unsigned long)v;
-		xen_store_interface =
-			xen_remap(xen_store_gfn << XEN_PAGE_SHIFT,
-				  XEN_PAGE_SIZE);
+			xen_store_gfn = (unsigned long)v;
+			xen_store_interface =
+				xen_remap(xen_store_gfn << XEN_PAGE_SHIFT,
+					  XEN_PAGE_SIZE);
+		}
 		break;
 	default:
 		pr_warn("Xenstore state unknown\n");


From xen-devel-bounces@lists.xenproject.org Fri Jan 14 02:46:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 02:46:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257526.442587 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8Cbw-0002Wv-OD; Fri, 14 Jan 2022 02:46:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257526.442587; Fri, 14 Jan 2022 02: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 1n8Cbw-0002Wo-JU; Fri, 14 Jan 2022 02:46:40 +0000
Received: by outflank-mailman (input) for mailman id 257526;
 Fri, 14 Jan 2022 02:46: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 1n8Cbv-0002Wb-1l; Fri, 14 Jan 2022 02:46: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 1n8Cbu-0006FM-VW; Fri, 14 Jan 2022 02:46: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 1n8Cbu-000528-MW; Fri, 14 Jan 2022 02:46:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n8Cbu-0006An-M0; Fri, 14 Jan 2022 02:46:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=EgWDu6up+pbMIhgimWY1GaagRjY23+G2RFpnDbv3PQE=; b=SnPBPVAs4Rqa26d9rmcJJJJ4Kh
	mubTusJcgsQZCnVLMP6jj6DEDQeM8oHzB5ipauVg+MyryyCT52rOFxAO5n0TIvrtn3O7LzmBJUIEu
	aSPyoQdVyxzIZVNLL5IBKcNMUcvsLBDp6ANMO0usjMZGV7NVxHdM+cC1UBP7IfbwzFmg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167688-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167688: 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-qcow2:saverestore-support-check: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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-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-libvirt-qcow2: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
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=f8d75e10d3e0033a0a29a7a7e4777a4fbc17a016
X-Osstest-Versions-That:
    qemuu=91f5f7a5df1fda8c34677a7c49ee8a4bb5b56a36
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 14 Jan 2022 02:46:38 +0000

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

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 167680
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167680
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167680
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167680
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167680
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167680
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167680
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167680
 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-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-xl-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-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                f8d75e10d3e0033a0a29a7a7e4777a4fbc17a016
baseline version:
 qemuu                91f5f7a5df1fda8c34677a7c49ee8a4bb5b56a36

Last test of basis   167680  2022-01-12 23:40:06 Z    1 days
Testing same since   167688  2022-01-13 14:07:10 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexey Kardashevskiy <aik@ozlabs.ru>
  Cédric Le Goater <clg@kaod.org>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Fabiano Rosas <farosas@linux.ibm.com>
  Leonardo Garcia <lagarcia@br.ibm.com>
  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-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   91f5f7a5df..f8d75e10d3  f8d75e10d3e0033a0a29a7a7e4777a4fbc17a016 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Fri Jan 14 06:44:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 06:44:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257533.442598 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8GJM-00005o-6U; Fri, 14 Jan 2022 06:43:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257533.442598; Fri, 14 Jan 2022 06:43:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8GJM-00005h-3I; Fri, 14 Jan 2022 06:43:44 +0000
Received: by outflank-mailman (input) for mailman id 257533;
 Fri, 14 Jan 2022 06:43: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 1n8GJK-00005W-KR; Fri, 14 Jan 2022 06:43: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 1n8GJK-0002Fs-Ck; Fri, 14 Jan 2022 06:43:42 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n8GJK-0007YG-2c; Fri, 14 Jan 2022 06:43:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n8GJK-0004eZ-29; Fri, 14 Jan 2022 06:43:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=GDHhWk0LFJ/AUaKwAEu4QTqInSZeUiu5MlUep9SCQrU=; b=cw84ydKQtd6e+Pjcxj60l/vnXP
	rqkqjdhULZbLCKElWLYM3GcfvUsdxMK3Smq2EXFm8o2X4DBRRs+LEOSl9yseXedeEYQU4EJBNcyMw
	QeuA6ZNR0/diw47MwKv4x+8HFDEozIZ9pFTOvs3Tzl6t6SERYn83xJE/WpEkRSm6iXT4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167692-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167692: 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-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-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-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-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
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f
X-Osstest-Versions-That:
    xen=2e8aa1663c76a189998bf51b869b9e468c992c89
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 14 Jan 2022 06:43:42 +0000

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

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

version targeted for testing:
 xen                  9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f
baseline version:
 xen                  2e8aa1663c76a189998bf51b869b9e468c992c89

Last test of basis   167683  2022-01-13 04:51:27 Z    1 days
Testing same since   167692  2022-01-13 21:38:05 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   2e8aa1663c..9ce0a5e207  9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f -> master


From xen-devel-bounces@lists.xenproject.org Fri Jan 14 07:02:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 07:02:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257547.442637 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8GbR-0002s3-21; Fri, 14 Jan 2022 07:02:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257547.442637; Fri, 14 Jan 2022 07:02:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8GbQ-0002rw-Um; Fri, 14 Jan 2022 07:02:24 +0000
Received: by outflank-mailman (input) for mailman id 257547;
 Fri, 14 Jan 2022 07:02:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=0tC/=R6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n8GbO-0002rn-Vo
 for xen-devel@lists.xenproject.org; Fri, 14 Jan 2022 07:02:22 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eb1a5f41-7507-11ec-bcf3-e9554a921baa;
 Fri, 14 Jan 2022 08:02:21 +0100 (CET)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2058.outbound.protection.outlook.com [104.47.6.58]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-19-BEiYSwdzO0-yV63zI9Ya1w-3; Fri, 14 Jan 2022 08:02:20 +0100
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.4867.11; Fri, 14 Jan
 2022 07:02:16 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Fri, 14 Jan 2022
 07:02: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: eb1a5f41-7507-11ec-bcf3-e9554a921baa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642143741;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=n0gnMEQOIpPKl4jmI1uGgU/Ts53WMgX8AJj1qhT/W2s=;
	b=Kjd4Sboc/luxoAAckDnc/FGt2WP83oRs+z8yaAW1NypjTM7Z6gThC7Jh4IpCjjlrMlQP7h
	ozmM/kvcN+3qW3jQeTTCuWMboK1uMP4PIhCpqbyIuyb8uZ0ZCGPODo9orDwI7eM3lf4X8p
	p+nbtz4GxSoCM8z2G+xMrBBONQoGixk=
X-MC-Unique: BEiYSwdzO0-yV63zI9Ya1w-3
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jF3Jg3fgKsVheaBHyZLyzo2RlLsR0danD1Cl6kXhU/zuzTo+YwRMR2p7/aeT/7XSCfmPp6DFw7CdIA1aRxN4oJfWs1ZHlh9d68xE/1Xr2uVPo0x8w3LgKaWBRQW3OQXWKIKpFkCz73Y/1/WJIQcgEDhuvChphw9honywlvqCjdZOSt7CeDs6OfI45XBkh5OrxOA/Yyr5hJ29o9Di+PGmO2qMowzmunfzuFKcsjv6kQMiq+kT3PU6LGXpR6DQoA2pOa6oqBkHCykSYxJKeRDJjj+FzKymXkt6T6ZTzrPK0RnnIRPYBeBWthl00CBIWCiO5MQizFLUVPUeb9R6PtEJIg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=n0gnMEQOIpPKl4jmI1uGgU/Ts53WMgX8AJj1qhT/W2s=;
 b=W7GaAWue0CzXl+6Wnnpf9FYAVmR75NhKqnp8i3r4NNhSJFDV0HQgm+Tx6xp5x18mi3ZdL840Rxhtesal/qB70mhzslthPHCXEOlbrYXxdqtf/rsnFDqP3fHWyu1Wn08D+YGA8VrjWR6tB7CW/za1iVigdG6gv6sRapWMwFK2fRSQLJ4Q8P9QY2vT6cwmcn6JffXISp46nuXufwaqfB9Xp5puCnXB+YN0rzCuEmfV+mf2et5rsO82P/ZHecNg33Q3VB/Njd7us6nFqm7DmXQiqy3uYS7fzlCrZCnsVjO33AcKcD0zo/KPLbVLqmYoP+dbL5qVz9l3AWmct77Z0IqsPA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <758b304f-4df7-4fa7-fa0a-8ebbebb661d5@suse.com>
Date: Fri, 14 Jan 2022 08:02:13 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [XEN PATCH v2 2/5] xen: export get_free_port
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: jgross@suse.com, Bertrand.Marquis@arm.com, julien@xen.org,
 Volodymyr_Babchuk@epam.com,
 Stefano Stabellini <stefano.stabellini@xilinx.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop>
 <20220113005855.1180101-2-sstabellini@kernel.org>
 <4ac4cdbe-a3bf-2be1-1e1b-789ac5de067f@suse.com>
 <alpine.DEB.2.22.394.2201131713140.19362@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2201131713140.19362@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR1001CA0030.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:206:2::43) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: cc3db561-feb1-4f8c-307d-08d9d72bcc5b
X-MS-TrafficTypeDiagnostic: VI1PR04MB4351:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4351F5C8AA3FA53421236BC6B3549@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:
	RVgUsco2BOesBd6EtHm3SYwbkzHxyrOcJyYHHoivq4BNQB0S2r+AfdsG065FMVTG9nRblfSdwDxjtND0pKbUHHX59FtaALJZVQiY6AZ5uMtTnqJkYFF9NW3ANpg+sxBhr8d5V70thDWWlTV5jTWu/rxDwZYGopIl1HSDvLNymoKF02J81tSdvo4hckTI9aPYn0Oq1j0bJl5tx78ncdy5tdotlL0MPIJmJTaEpwVtCvElmuVdnK9KV94mCemaZcSCU6ASLaUpHX/hN2CKOIdnvnIkGVSvkrIlxn298WzLAbdsVLDvAgk+xOK5h/2JGxF2fVamq/x4QfG24OxYtQbbfE6YJkjY5WGknIYC5sC4CA1GFV0/g48G+PdTNPou+0RSCnBPqTfv4O13IJPkjENMcDctC017lXS/mKOLh3ZgzJ4+oRhfb860x2fxjS9ogi3IbTRAWMMVHcwbatWC6iXAltCdZ/umtLdt6/8Y4495xlOAYHf49f4HwNxms3vlAZWT7XAWGMfKI28XW8QvXQILLANJsKDt8qc7KnNPcivxDPfMGsETzqCUxWnZYU2D8kRuSDi52qtTM5EE6xNTCZjGqlkzk2V3NUYSGPcNBdiJZeqp6nCRmu234mGc5eNS/0WqNBP7CiX90urkXEnRRZqD7iv2DmIDccD8/VzmAkulVQkBr1TK3U2zJv8h/P6hyIqezBzcvPCvEH7fTYzkFtBk89w8/6yWxGMmlVpfAYq7lvw=
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)(53546011)(5660300002)(6506007)(31686004)(8936002)(26005)(86362001)(66476007)(66946007)(66556008)(186003)(8676002)(36756003)(6486002)(316002)(54906003)(31696002)(508600001)(6512007)(6916009)(6666004)(2906002)(4326008)(2616005)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OUJTckc4K2RlNmZQU1QyRGhBb2JidTdJakVGNkFlM0xBQkwrVFhBQ3VzSjNs?=
 =?utf-8?B?WWh6Sm93a3hqTWljV3h6N2pqSkU5c29iamlNRFNFM25YUG81R21VcXJudUNL?=
 =?utf-8?B?aEtSc0pUMUw4SUFIdHZnOWRvL3dVellNN3JIZVFDRFE4d2pESndFeGJyMDJJ?=
 =?utf-8?B?L0pVWFZmdFlMZ0NwQjFRaFN2UXVoamFIM2hjV29Pd2dLYXBLb2cwa2x3VW9C?=
 =?utf-8?B?dWVzNWo2aEJQWWFpOUVkYUhNb0JJL2JWSlpoekozVWU4RnZwNHZCb1liSnM4?=
 =?utf-8?B?djBYK3JoWVBzR0pjUHdBRGxXYWpXbHNEMlVObGlmbW5nT2dGdlQwbmxvZUpv?=
 =?utf-8?B?d2Z0YmxqallQL0Z2WURvbnJ1OGQ0Vi8zcHo4TitJaTA2a3VLUVd1THliQWpo?=
 =?utf-8?B?VlFoRnE4dGdRdEdNeWt6d0VSb1huZHVKb3hwb3FmajUyTXI4KzRCYS81WWph?=
 =?utf-8?B?TGc1OUw1WXZ6MXpSRDI0dGFsQ01vU3laL0NOeXBWY3cwVE9yZHc0OGJQNXVM?=
 =?utf-8?B?VEtEK0N4c3MrTTU4YmFPMmQ0SkhJVndXSVpKVW8vaUhDQWJRWi9KU2JsMkpL?=
 =?utf-8?B?M3ZZb0Q1ODczN0lwa2NhUVNIbzF0T2NpWCtRcTJNMTlXL0RydEVRbzZHNjZw?=
 =?utf-8?B?VTQ3QnFHais5MDBvM1VuaDN4Q2FldUgxN1Z2WWdUZGZ2eWlSM0lJWUZ2a3Z0?=
 =?utf-8?B?ZDUyL3NyQVNvN010V3BMUythTGM3ZXNBQldDQnkvZ05xMndqMDBLMXBqbTBU?=
 =?utf-8?B?V0ZadXBKT1YwVW9CRWJvS2xncUVuOVBDQnpYVWltcFNDU0o4eW0wcUtXQzdK?=
 =?utf-8?B?OUZiMkV6Zzl0cUhyNVphdXlrNEVSOXQ0VkxuY3ZySWd3YXlBaDZMNlkxTFo3?=
 =?utf-8?B?ZmFzSTYvWTVmT1pyTGtyQko0bDRLUUNRWGdlRUQ5VVFhQVk0VTB1RlhsbU9h?=
 =?utf-8?B?NXE5WWw5bU9OcjhOdVJuQ3oydTdjOTB2NEVueTRZMys1bGZFMXFaVTE1Vloz?=
 =?utf-8?B?VXcvRDBTSkFsUC9hMGd6ZHY5M1dNN1ZqeC93ZGJOdkVlTmFyTFpPSmZiOXY3?=
 =?utf-8?B?SGhnNHJHeFJXMXdMcUcraTJHc25DTWVJZnF3VWhtcEJ2dW5ZUUlqYlZOempF?=
 =?utf-8?B?RERWZnhoOXJOTU9jZ1YyTG1NeXlwV0dUTVdhWTNLYXQ2VldnYzhqaDhCQUph?=
 =?utf-8?B?ZVpGNlh3QXJFMEFSbTVybTJOYjJtdUdBMDJNR1ZwRi84eEcrZTlzU2I2SmNM?=
 =?utf-8?B?OTl3RmlPRURKekNaRjVnRlJzZ0MxOEVlNGhnRHNVNHdDQktPVnpOdyt1SlpC?=
 =?utf-8?B?NmtwbjE5ays1MmJiNmlKbUdHMUpHYTFYSG85Rnc2eVlrZU1JaUtvRFBnTzFX?=
 =?utf-8?B?MFRaZVFkOXRiblpUQ2taODRsKzJTbFh4ZHlTT3dlc0IrK253ZXBKKzd6R2kx?=
 =?utf-8?B?WVdVTm5vZk45UnVBckUrY2taZ3RydzBjN3l5RWhJRUEvajBUcjk1MVBHMFZT?=
 =?utf-8?B?M3BQdGNHUUExb2IzdTJIb1d4b1F4SW1XQ2RVbTI4aXhyREdrT0o0NlkrdXY3?=
 =?utf-8?B?Tm5Zbmw2RTN3L3FuZnFFRFdveC9oK25JVDhwU0VlMzdoSFdOQ3JabkJWRW51?=
 =?utf-8?B?UXVqOFk3RkdnTEYvTlBiOUl4dE8vQnoyY1l1M0ptRnNrd2k5QnFEV0cvenZR?=
 =?utf-8?B?RUFCVWFITDFhb2lWRnhJQkc0OFhUbFBGQmV2K1AvREREU3VxZTJ5ajVjY3I5?=
 =?utf-8?B?WTBmTGxpNmpCSzdVSkEzRjQ0bEdQcnRlc0FpbENtM0FkVzk5S0RMQmpKRk1V?=
 =?utf-8?B?MmtndzlFd1U5VEJvclZzZk83aUlhLy90am5EUjV6ZXR3Q3VXTUhLaFdOdmcy?=
 =?utf-8?B?TS9BcmJwLy9aeE1PYnh5VDhjN0cydDNoc3NmYXV5Zkowb3V3MHNlS29sZGor?=
 =?utf-8?B?Q0RCUVpWeGxhV21QRVlqcnNQSWRFaDh3NEowQXYzaGVyOGVWUE8rTndOcFo3?=
 =?utf-8?B?dXVyR2V3SkphRUtKcXphOGc4bzVIakU2NytmOEdlMjFoVGQ2T0NkRGxpNUxH?=
 =?utf-8?B?UGxkREJLK1FqNGkzMklSSUV1MFpiR21rdHhjZWg3eHplM1dLTmxMdkRRMnd1?=
 =?utf-8?B?YUhUbXlVa2FvNGJ0WVNYK3JHZWhDV1RNekJ4U2lHak5yanZZaDE5cWhCSzdF?=
 =?utf-8?Q?WIUKMX6nrtdiQ2q8FUmr+ao=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cc3db561-feb1-4f8c-307d-08d9d72bcc5b
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jan 2022 07:02:16.3398
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0SKeq+66N4ne9eakqU0RQzIJfad6/wBPbYiQRwN2OC38ydWk1o+cymnRTKO+weLQMnUEa6+2S/XFG+TEm8gqxA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4351

On 14.01.2022 02:20, Stefano Stabellini wrote:
> On Thu, 13 Jan 2022, Jan Beulich wrote:
>> On 13.01.2022 01:58, Stefano Stabellini wrote:
>>> --- a/xen/common/event_channel.c
>>> +++ b/xen/common/event_channel.c
>>> @@ -232,7 +232,7 @@ int evtchn_allocate_port(struct domain *d, evtchn_port_t port)
>>>      return 0;
>>>  }
>>>  
>>> -static int get_free_port(struct domain *d)
>>> +int get_free_port(struct domain *d)
>>
>> The name of the function isn't really suitable for being non-static.
>> Can't we fold its functionality back into evtchn_allocate_port() (or
>> the other way around, depending on the perspective you want to take)
>> in case the caller passes in port 0? (Btw., it is imo wrong for the
>> loop over ports to start at 0, when it is part of the ABI that port
>> 0 is always invalid. evtchn_init() also better wouldn't depend on it
>> being the only party to successfully invoke the function getting back
>> port 0.)
> 
> I agree that "get_free_port" is not a great name for a non-static
> function. Also, it should be noted that for the sake of this patch
> series I could just call evtchn_allocate_port(d, 1) given that it is the
> first evtchn to be allocated. So maybe, that's the best way forward?
> 
> 
> To address your specific suggestion, in my opinion it would be best to
> have two different functions to allocate a new port:
> - one with a specific evtchn_port_t port parameter
> - one without it (meaning: "I don't care about the number")
> 
> Folding the functionality of "give me any number" when 0 is passed to
> evtchn_allocate_port() doesn't seem to be an improvement to the API to
> me.

I view it the other way around - that way the function would actually
start matching its name. So far it's more like marking a given port
number as in use, rather than allocating.

> That said, I am still OK with making the suggested change if that's what
> you prefer.

Given experience, hoping for others to voice an opinion isn't likely
to become reality.

Jan



From xen-devel-bounces@lists.xenproject.org Fri Jan 14 07:09:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 07:09:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257551.442647 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8Ghj-0003dF-Lv; Fri, 14 Jan 2022 07:08:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257551.442647; Fri, 14 Jan 2022 07:08:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8Ghj-0003d8-Iv; Fri, 14 Jan 2022 07:08:55 +0000
Received: by outflank-mailman (input) for mailman id 257551;
 Fri, 14 Jan 2022 07:08:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=0tC/=R6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n8Ghj-0003cm-1A
 for xen-devel@lists.xenproject.org; Fri, 14 Jan 2022 07:08:55 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d404e695-7508-11ec-a563-1748fde96b53;
 Fri, 14 Jan 2022 08:08:53 +0100 (CET)
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur03lp2059.outbound.protection.outlook.com [104.47.8.59]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-10-6Nabo37GMtWFJJ4rL6h0VQ-1; Fri, 14 Jan 2022 08:08:50 +0100
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.4867.7; Fri, 14 Jan
 2022 07:08:49 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Fri, 14 Jan 2022
 07: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>
X-Inumbo-ID: d404e695-7508-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642144131;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=Gz9lzFsJ/c+Lbn0wg90hNQLe0EY2iriQLbKsLo3V/EE=;
	b=F+dBcvhxG/rORvQyi36KLMAQsaT3KTLGv3tNTXmSG0F+amEFSovezwhT05zDfePNQUC6qd
	TOHa7G68W5Nmd9KLwtjBwjaRCELesUxBHvH07ee4nUNcFEB5vICm8zUZBN7Tg9LFc9V6sB
	gtHOYtU0sUi+nMwg+nUubjBfHqfBMq4=
X-MC-Unique: 6Nabo37GMtWFJJ4rL6h0VQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iXQiB9GEcY0HbKMeAWeS74e7ud/S4hA4cY08OKZY/FCZw7qWqvYC4IXFkDzgX/qDb8DHIqe29oSMKrmU6jSm36pVo8MK1NiLdSgys0JhbualRyj9IDro7MXId6onfjDcx+p6HrbPaSudAmFhtvzm+yx29NE9TjrIMwOQsstw5IBUj+dOmgw8nFtiBMo95JtMOBwKJnesV7ootgfBXFVZw3/gP6Cfa8CY17rf7QyLKp7GE9NxviMt+EWYo7vP0Am14xMHPxD+8tdjtDm6CSzYWM914Do/2FuBI/H18kL2i5YDIR4xiJTQPwWiIDkXnnxN1mLZNpTTCRXmNdwASlV7rA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Gz9lzFsJ/c+Lbn0wg90hNQLe0EY2iriQLbKsLo3V/EE=;
 b=gNtVnbOP5GSlfxfiFuAemoO+DuyAXJD0tIB6A/8pl0aYwJBxxu5ubkd1YiMKo/ti2YwtgXNfOn7YlYUmr0EJuBGAC+PGwNxT/zqjab+Dh7ZFrQUFHra86BE4v/bMwVX8ZzqwLIUpY0iVIk8INggUntjj3+sLuSXcHkSbqYHNo/Q+GO417gayVXOaEdQ9Gu7cuprfoBvzy4gg3aaTxKrLMqfpFd/quAiUkoU0OyYhUVVYhGPNQc+koPk2Fr4cXv6YZR/u2BR/P/XV1K9FC3/saXpdEJU/hWPQNbA9FUXNUFbEKdmnJTSWI5epzrrJ7G8jPCfuoMGQ0E+mGmhj1m5z+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: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2b137ad7-a022-bc6d-5551-3c01aa179261@suse.com>
Date: Fri, 14 Jan 2022 08:08:48 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH] x86/hvm: reserve another HVM context save record ID for
 Amazon
Content-Language: en-US
To: David Vrabel <dvrabel@cantab.net>
Cc: David Vrabel <dvrabel@amazon.co.uk>, xen-devel@lists.xenproject.org,
 Paul Durrant <paul@xen.org>
References: <20220107125542.212725-1-dvrabel@amazon.co.uk>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220107125542.212725-1-dvrabel@amazon.co.uk>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0199.eurprd06.prod.outlook.com
 (2603:10a6:20b:45d::18) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: cef68a7b-4fa7-4c33-e26d-08d9d72cb6a4
X-MS-TrafficTypeDiagnostic: VI1PR04MB4383:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4383AEC241B6B194286F06A5B3549@VI1PR04MB4383.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:
	XFFBgKwR1w1j4hGvS4K7qtgFgeyHt/AuWNwxe5JRpMI4TaBDe+27AfXJa7aKhIZT/WipqOpaquSwlfe69yk3luPcqUT3HU57uP32bqmdr80pwvXcz7u/zm6ytn2asInUYUwe0kdaieicGPvZy6TXINRJ3Rq2SCPNMG4GnVm6nwI/Jw8Einx1LuuZ3COA/vUQmGArcUrtK1cRqVAz/wUo0Fg+ycdMdpSFVnI62AT4Ki9g9PRVJPxpFgKzUBwTIeMMtWzHiU+XTyDmLfiIyu7rJgatdnnwBLgjzCPPyF1DrfllIhdc8kHxNLRL83htoQWoXiVAwdsZc0RPr9OtJY7iRb2BoMtrLY2AHJr2MFBLgdcCGn7wGWBz9CXp13UNxJwbVOgvRNUAZv0/Ddb3bWmCQFbJ/cXtUcj2cfNPYgiZ0OdRX4n3WHf7OSwqgjfSAMRpkTKcKVrbYrtCQKdOLolE1lukjKy2dOh+Idl3uAHW1zW1YLS0Hiqrdkt30Ue1mgAL27BkHWH5jC9OQOLMuwhEf7Z9Onp/r6FqsF5rOoUnqh/2jRh52ugNVyGh6muYk+/OVo1PS+F3rU47hE5zc5NmnT44S5kSrsM1tVUbseI3hqfsUF95iOfvW9luCnRTiqwRcb0VbJbyQFPeieibUVxy7pJd41YJ5m623yr5pYR38SfGkGIP1I2sJMLayXDlrZz8FqpZYv2OvoN81OXgKtt3RKD0XdSp84A+2zJPcAVUCtsDPlFVaQpXNgMpI2ZRuupJ
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)(47630400002)(4326008)(6512007)(86362001)(26005)(508600001)(54906003)(5660300002)(36756003)(8676002)(31686004)(83380400001)(2616005)(6486002)(8936002)(66556008)(186003)(316002)(53546011)(2906002)(31696002)(66476007)(6506007)(38100700002)(6916009)(66946007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MEZ2ZkJnNStyM0t6bkZsYzhOTW8rU3EyNDNHSVk4TXJPNnNTZUx1TUE1MDZP?=
 =?utf-8?B?WkpmcDQybEdFMmdEU2ZxY0w0L0RFRkt6UGc5YkZDYTFRaE8xZzQwQ3p5MVd3?=
 =?utf-8?B?ZXdxQjVOc25uM01Dem85QVFqYWgra1FOWkNKeFBKSEhQVEk1M3AxeXZwd3I0?=
 =?utf-8?B?eGp0US9qRjJwVVVRTDFJVnBrbmpYNmdyclE2cnZnNVBUTGhPMUxNTEZZU3BP?=
 =?utf-8?B?d0pzTkdsYWF0TFJXZmNtSmFVbmN2anBFTEZ1ZGM4c3g3c1pEVHNnZ3BkUTBp?=
 =?utf-8?B?bUR0cEJ1eTNOeWNzSFpHNlJMQkdteUE2RmhzRlRjalRsdFlZSW9XZllwZS9v?=
 =?utf-8?B?akU3dXVLbVJWYmxoZG1kYytzaVdKdFd5dVVBejlNQ2ZGRzBIWUtUbGV4UDdR?=
 =?utf-8?B?QTV3dllyTGswSUtycHNacG44RWFmcUc4YmJQam9jb1l5ME54V2o1Sy9hRDZI?=
 =?utf-8?B?ZlJDaDl6NkdJNzAyakJaM2NlV1MrTHFOWU4wUHkwWVhrK1RvajlLdWt6VzBQ?=
 =?utf-8?B?Q2ZvekM4T0xBMkZQTUNTNSt1VkFOQnk4OTl4NHYxYTBWYVBIMW12dVUzSTVG?=
 =?utf-8?B?QmJJUGZmUmczZTVhTXRtK2NDbTRvSytpOHVlaWhZRjNRZG95NGRxS3lNRnpp?=
 =?utf-8?B?a3d1WXJhOUQzYytocVM4MjFXNFJ1VmlqYjhFQ3hkRExiUW40ZXJvZ0dpOUtl?=
 =?utf-8?B?OG9Cd0lQVFpHVGkxV0pJTTFMOWZSbGttZFpNRklBRTlZN055M002Q1ROSkky?=
 =?utf-8?B?NUo0bGg0REcvdTlNVmNQY0NEelB2UmZaMkVLaUV1cDVCTTJOVjF4cWoyMlYz?=
 =?utf-8?B?Nmh3MUFRLzRhN0NvbVA3VTI2a3ZSam1hbUd5ZUZSYkJVanVBNzJsZWZGRXc2?=
 =?utf-8?B?b3R6OWxpQUVTYitNdyszWVBna01OaElyUlBQeVhvVTdvMW9DcVplMko3UFI4?=
 =?utf-8?B?UXNVMUM0Ti9oSzBtZzFJNmNSd01BTmllN0V1anZOYTNleGxqSWNWU1o5N005?=
 =?utf-8?B?ODZlbkt5cDI1TEFuSENWUzJ3V3FSQklNdEd3KzVza2NjcDQrYjFySWIrcWs2?=
 =?utf-8?B?YXA3UDhkSFNReFRkdlQ2L1FrZlJMRVZjNjhvQi9ndWlsZlUzakxSNTg2OEdH?=
 =?utf-8?B?Zkg3KzM4QnhpWUJQUllWSHBHNzc3ejhWZ0gyY2FreWNVR3dtVlVPcEk5RGhK?=
 =?utf-8?B?UmIxQ1Yydm50Z01uVTArN1JoSDRpQk9QTE9rS0VFVGxCcWtsVW40NE9nNzNp?=
 =?utf-8?B?UlJRY0ZsdVVPRWFNc3ZXNEgycW1ZdHF4M0lyTG1SU1YzZU9NU1lwb2ZKVGNJ?=
 =?utf-8?B?amV1QzZZQVEwU3VxRTFnQWtRK2w1MmV3S3VYUS9UU2xwZjhmMFlyd24xdTFw?=
 =?utf-8?B?VWozVmVwdDdnc2gzc3E4MDFISnd6Vk9rM0JKZVNCa0JSS2JpRGRIVFdQZFNL?=
 =?utf-8?B?NDFIQmpwenpJazhHODdERkpWMnJXaVpaRVd0K1ZEcUNhSEFFMmppcnJPSGgw?=
 =?utf-8?B?Q3d5aGk5d1lYZTNnaWRjNEhVM09pRW5Fa2dBdVN5T1B0MWlTWitJRTFac3BQ?=
 =?utf-8?B?MEl4eVRGQnBUaUhqdGFXNVZLU3dmeTJTUStWcWJKRGJ1R3MzTmhLWE5qcXdT?=
 =?utf-8?B?V3JiZzB2eXZyc1RrR2xzc1VzY2prdkV4aE5sNjcveDR6cXhkQlcybEJMY2d2?=
 =?utf-8?B?dHNXRjRuRjhoNk1TNzh6UERQOXV4MUVaaXpaMjVjb0MvUXg5T21mOElKSjlP?=
 =?utf-8?B?Q2RKNlZNOFNDaDdBRFdKTEhYeElYVnlLSUJyRHROdmFHbU5tUFNpeEVhQXVp?=
 =?utf-8?B?RTZBSXE0TXRubGVXRzVoY2J6TFFPU3MvengrRS9uZWZQTDN0bXRzYnFKdSti?=
 =?utf-8?B?RFRoaFpOZFNTZWRJZkF3N0hhSEZsc3JsTVgvbmhtTTNMeklJU0F5QXI3dTQ1?=
 =?utf-8?B?WkJQKzR0YmVmNEZwNjd5cWVDVldjN3lTWU1pNkFaN1gzZk9XcUZSRDEwQml3?=
 =?utf-8?B?R3RwaHFLbWlrUHhERkFDQ1A4Vm1zZ24zY0VpR3RlRFFOZnMzd01OclBsaThn?=
 =?utf-8?B?K1FlZkI1YzJybGRZVEdiRVVlOHNuSDRxc2Nva2ptdmlzNGhIZkJMaE9PSGdT?=
 =?utf-8?B?ZXdJUFltM1lrcUJHM0NmSVlyU0xIcTl2a1hkM3RmQWVIR1ROYW50TFk0MHlC?=
 =?utf-8?Q?bioBe/edK4U7dLSVXDq9XPQ=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cef68a7b-4fa7-4c33-e26d-08d9d72cb6a4
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jan 2022 07:08:49.3837
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: roVmc6x/ETPN559RKatUy1dMgHoz1noJkSbzlQl5xJYD7yqBDyNbq2JSyCNEWZlguk0quuJLa833ip8+KvVGNA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4383

On 07.01.2022 13:55, David Vrabel wrote:
> Amazon's guest transparent live migration work needs another save
> record (for event channel upcall vectors). Reserve another HVM context
> save record ID for this.

I have to admit that I have reservations: I didn't really like seeing
the original range getting reserved. Even less so I'd like to see
extensions / further such reservations. The more that iirc the
original reservation was accepted based on a (perhaps vague) promise
of the respective uses actually getting upstreamed. Yet that hasn't
happened (nor even started to happen) in slightly over 2 years time,
iirc.

What I could see as a compromise is to have, say, vendor ranges
higher up in number space.

Jan

> Signed-off-by: David Vrabel <dvrabel@amazon.co.uk>
> ---
> I've added it to the end, keeping the unused ID at 21.
> ---
>  xen/include/public/arch-x86/hvm/save.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/include/public/arch-x86/hvm/save.h b/xen/include/public/arch-x86/hvm/save.h
> index 773a380bc2..2de3dfd9bb 100644
> --- a/xen/include/public/arch-x86/hvm/save.h
> +++ b/xen/include/public/arch-x86/hvm/save.h
> @@ -641,7 +641,7 @@ struct hvm_msr {
>  
>  #define CPU_MSR_CODE  20
>  
> -/* Range 22 - 34 (inclusive) reserved for Amazon */
> +/* Range 22 - 35 (inclusive) reserved for Amazon */
>  
>  /*
>   * Largest type-code in use



From xen-devel-bounces@lists.xenproject.org Fri Jan 14 07:41:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 07:41:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257555.442659 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8HDK-0007gh-AK; Fri, 14 Jan 2022 07:41:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257555.442659; Fri, 14 Jan 2022 07:41:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8HDK-0007ga-6l; Fri, 14 Jan 2022 07:41:34 +0000
Received: by outflank-mailman (input) for mailman id 257555;
 Fri, 14 Jan 2022 07:41:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=0tC/=R6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n8HDI-0007gU-Gw
 for xen-devel@lists.xenproject.org; Fri, 14 Jan 2022 07:41:32 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 63df8dee-750d-11ec-a563-1748fde96b53;
 Fri, 14 Jan 2022 08:41:31 +0100 (CET)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2056.outbound.protection.outlook.com [104.47.0.56]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-19-CalUdacnO-WIX580dZf5vg-1; Fri, 14 Jan 2022 08:41:29 +0100
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.4888.11; Fri, 14 Jan
 2022 07:41:27 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4867.012; Fri, 14 Jan 2022
 07:41: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: 63df8dee-750d-11ec-a563-1748fde96b53
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642146091;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=Hs33qj7qQ+TYRtu7Zjl1jDgRrZgrWZI3JPy7qelbQIw=;
	b=fx4d073wA6OsUEIhjOTX7KSd9dksBsQxTkjYCU1q9vlxU5+/ydaTuj3y9oHOM1vTuNbvn5
	+fCT76RaPbUUaefUBrVsmW5vj0OIsKMff39bmG8cI3OiXMmFiGQAA7Rfg167q2qVqWeX/L
	Uvzjq89tV1sxwF4N92UuLMinhyexp7g=
X-MC-Unique: CalUdacnO-WIX580dZf5vg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iq/V3DxprBFUol8WG+9FEko+JfDw6pfCk2g/0fSbXfsJNKdCouRuQFA2WU97M3wwrBo5O31wvg8sI/Qgr9kXEPYP9J6AXhugd6N0L8oYf8xJMC1yxSQHw2QFe5NK1l2BzsI+C9YDx+NbkWy6fsSvr892VNvEJqEji6Y6CNnnnT1lRT/SjtdtminqBJhGMx5H+F7xecg25wijlDQJ0cjBCrkVDvngEiHDYgR9KBAygzy1gYHajhXaiAureX5Y3BcJuJXLmgAjp3528YKAKacfPveSu3qKI6D/gsemYB5trhRXFqpx4QYXWjJiC7VQC9+y3iCRopLLZiwkzk1TJv8a2w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Hs33qj7qQ+TYRtu7Zjl1jDgRrZgrWZI3JPy7qelbQIw=;
 b=GyJD9XkEHpo0nbLzTNestPFaX6j5VFzwrxpfB4bjsooYbqun723QwHFFuA0yBcSlAs3phwMqEbMYyp80sz1VrGmffH+g0tm4LdAkvuOT9oZC7kKT/5nOmD9VeWRkvtXb0a30f0wmgoiHnofkp1jPVjSCqMAb5UP3UCubqpMe0QBqmGfq+3pKHpLmcg1R+Oj1XhyoHuKVDFUmA7gMJPqbZDTxtNdBeR5WWWjwAVVPajf3c3AOABtLpVV1qzLDS9hejD+xhFmKruaOxZbApirxjkf21L2ji24yYMWjLitsyX+FycPq5vQBILOO9el+7qlulPB+ly5EoIs3qQ4P2GP18w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d099b992-74c3-4057-abe2-52c5cc7ca7e7@suse.com>
Date: Fri, 14 Jan 2022 08:41:24 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH] x86/hvm: Drop .is_singlestep_supported() callback
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Tamas K Lengyel <tamas@tklengyel.com>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20220113184800.29456-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220113184800.29456-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR04CA0023.eurprd04.prod.outlook.com
 (2603:10a6:20b:310::28) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: cf2aab4e-fd4d-430f-42eb-08d9d73145ad
X-MS-TrafficTypeDiagnostic: VI1PR04MB4190:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4190831BCE90A510FCED4104B3549@VI1PR04MB4190.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:
	YZbIppglyBuXbs77sSjpD6kKjwLorqveulFlOpnZYtC+RFSKJubh4Nyk2qxp54l/fpTz/ULtHHDH/ORbyPsUe0HVPgkGOBumLT7wmyQc4c58UHgnPAzotBeveWBLKh1T5hHwikf51mC70LlCsC0qWAEhEfqDrBYLweHdYcC6uw4zSsPpeL/oo8Pe6oygZMvII1amEqh5Ve+afXJ0qZ0Mf72CIbCaWqyOg+ygSdjEOHX7eZu9Ay1TlwD6xLxemdcpCqtwXEu7ViUuCMTxI0mCElf3zIGw9/MM2uYbZK3s+zXOdB392XuicP15EOxYIBD978eil2zQVK3/r3zDoGfsVcmqlKMM8qFv/Xwl1eJ3jflUMD/8mCcyQtJyyWhFscQT3LXbf3aCkxPJkFDqJ6clvSvqwSp+QywCE7GKiwKY3HFuSNxqFRH37hU1dFAhCLLuj2HCCe48FBReK6zgFQS0A8InCzdBWuYF5bJ35IJo4YLWNVsVr6c9DwVYfLKMdr06k7KBDzYtkY6aWfX78/k0NjgZtWDnTiRjcLEiziAmvPtlptVsaO+wWk/V3zWmFV19834ZOeojAWW+phu08SNluB3KqM619YmyWIPp/X/6oE3JYV/yodqTdwBh4WBBuQR/fr/mOW/ajwxCni3bDnZpnlTVGD4r80gG7BXkN1SAIb2r+YLp+CclVCShBA3khOy0mUjVcwL+Wwz/VtdIvfvLUzTowojZBHIWcDOeC1buElXDvi5y1MQPIJ2mrYxlvR54SRDaVnxzJYMcN08F+1I1Fg==
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)(8676002)(26005)(53546011)(6506007)(66946007)(6666004)(8936002)(86362001)(66556008)(6512007)(66476007)(36756003)(31696002)(5660300002)(38100700002)(4326008)(6486002)(316002)(4744005)(6916009)(31686004)(508600001)(186003)(2906002)(2616005)(142923001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ejg0WXk1Yk15b0JsalozR0FOdlFZd0ZOcXNkQWF2SWJCMXVKV2JSbmxjeEU1?=
 =?utf-8?B?QzkwVGowaGhrd1ppdDVpYlhWM0Myd0dWMS81OGpYMDVWT2JXTGh0b2ZXRWN5?=
 =?utf-8?B?dW5rSGFKVElnV2p3Z05mOFlYYnU3YWluYTRnZ05MK0J1dVJBVTVtT1lRZGZN?=
 =?utf-8?B?RmRmUzdlYkxGcFl0WUdYbXQrOWVjTndYSFhLaXF4alJVLzBFTHU3VTNURGZh?=
 =?utf-8?B?dlpUTk12UVJ3RlBnK3N3ZUJZNkNLTkpZK3ExREt2QiswN3dEU0FMZGhCampW?=
 =?utf-8?B?aDFRUkx6Q05za0hMS294MDBBb2JGVXMrNFRhTWI2cVlrU2VuTUtHWlhpRGFI?=
 =?utf-8?B?cS9XRksyTm9uWWtzZHIrS3pYRXpTWXdrcHhlZ09UNGZRZ1VlSlpuZTRCUWdr?=
 =?utf-8?B?NmxFSWpzRy9waHRjUU1xY3ZIQlR2TDZmYmR5d3NibW56emdKazZna21SaW5E?=
 =?utf-8?B?TWxYenVCbHJnKzNXYWZqRDVXQitQSW81bzRxNzVQQnJVVzRJTUZVMkVpbUp2?=
 =?utf-8?B?SE1aTXcwclhrUmdDZTBkYVVPcjhKYTAxUzBXYm9lR05jRW5rcmxZeUpjd2lC?=
 =?utf-8?B?N2NoeG5abEN1a2QxWTB3YzJ4SHNLZGlKdDJjN1gvQ0pkUjVpQmZXeWZRTTBu?=
 =?utf-8?B?UElzenorUEk4NVpuc1RPTzBhbll6TmRWdnJYd1luQWk5WnZrNkY3TklaTTA3?=
 =?utf-8?B?c2FwbW9jK3BQaU9BSVdEbDUrY1VVR1d1VER2NnRlaWpzSURtOS9Rb0RHRHg3?=
 =?utf-8?B?NzBaVjU2ZDdNU2sya2xVamhPdTNyWHlWa1Bxck45MWJlVG8rbnF3SzNtSFNs?=
 =?utf-8?B?amU0QW9FSWVEekRHQ01uYkN5SkR2T05Vd3Npb2NnZUFCOXhjMU00ZUtVeUFa?=
 =?utf-8?B?bVg4STNlRjk1Z2JqNk10MTVkeUxlN01QWWhvR0JEenZRbG9MWThURXp0djU5?=
 =?utf-8?B?NWZXRkk0QnBNR2tzU1owT0RUQlV6MExFTVZDNFJSRDZZMVBLZE5SREVtMkcy?=
 =?utf-8?B?aTB3a3RWT2EvK1dEaHM2RktHZGZMbGNDaCthL3JXQjZvTlg4UHdTejJjWVJ5?=
 =?utf-8?B?MStpWklabWZiaEJmd3FYaVdXRTRnNGpldVdqVTh2NmdEQ1AyRnd1dStxYjJw?=
 =?utf-8?B?MTcrS2NCNjd5MUdiNnRxRzlFZnJJQkFjd3N3b1V5REtlT25yUXVRMURDcVdW?=
 =?utf-8?B?ZEl6VDVmMmtsWml4TTdDZ2xxRXM4eFNrZThrbENkczNtam51cDZnOTYwNkg5?=
 =?utf-8?B?MjMwdmxDUTR6WnFvNEpCeEFveUJYcGRpZEg4WDJsaHNnTmdGbVY2ODZ5Ym4w?=
 =?utf-8?B?RE5pa2lkTktyWTl4YTNwa1dIWkl0Qm91KytXaVZSZ0Z3USs2ZTNhTVR4OTZi?=
 =?utf-8?B?N3krTjhza080eE5vREFoQkpLYTkvUGVid0pZTmdZOXZUZTBCRm82eVZxN2dN?=
 =?utf-8?B?d0pNMithTzlGaTNpNjhoZDUwV0V5Q2N5RkZ0OVprTzdzSExwMGU4OHJrQXZm?=
 =?utf-8?B?aG4venZ1YnVScW41YVkyQWlsL0YvcXhjUDNWaEJpQXphbmtnZnMyUS93T0ww?=
 =?utf-8?B?eUh2UHpUeU1tcUIvaktXOXZ6MWt0bzAyVVdvbTYzKzhKUDl2NU9QK21UNXQv?=
 =?utf-8?B?cExwTFphVHRJTUN4MzNaUVdPUjlUTkh4dU5rdzJ5d1NEVHJEeGtobkYxeFNW?=
 =?utf-8?B?MkYvZ1N1SUdCeUNTU1YrRlZMMkEwY21aY0F3Y1ZabW9UT1docVdJYlFnejZz?=
 =?utf-8?B?a1RwQUZnL2xBOC90Y1ZydWtOeWVEMGp0V3NoWkhzWVViaTlpVmZmZWxDUjFR?=
 =?utf-8?B?NnNYZGNqbkp3Qmo2dFJtVkZ3U2ExZmJLYWtISHZJbnl5QzZ1NGtVN1U2RVVl?=
 =?utf-8?B?QW12UnU1NnpQTlJjdFVUYlJhdkFSK2h5Uno3VW1HdGhGazlVVEd1RzJPeHpP?=
 =?utf-8?B?aDJUeXNrbENjZ0RPN1JxNjZ3Vlc0Z1BURzRHeU9yaWdZM1plUDlGVjVaRVht?=
 =?utf-8?B?LzE2VENBU0Q2OWVDazM4SDNMWnNpMm4vWnM0WDZjbG9xbXR1REVWNUVHellO?=
 =?utf-8?B?NlhIdGcyR05YQTVMVGVReWVmVGpuclVtellTeEVrWlZkTEVseTJQNU1FZFNv?=
 =?utf-8?B?OGtIZ2liZzFKVFhkdEUwTURyaU1RU2ZOalhmRHpBczFHSzRXalpXZzcya0RR?=
 =?utf-8?Q?6A7JSFn29kfAKuVlCpvieeA=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cf2aab4e-fd4d-430f-42eb-08d9d73145ad
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jan 2022 07:41:27.4426
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DuJYvZEYga+9efflkd/jS9nEwvydLP06gKi/EReoqE0vfq/v/OQE3nP06RW0NK5HsGP6RHcyThvYftV/kf2xrg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4190

On 13.01.2022 19:48, Andrew Cooper wrote:
> There is absolutely no need for a function pointer call here.
> 
> Drop the hook, introduce a singlestep_supported boolean, and configure it in
> start_vmx() like all other optional functionality.
> 
> No functional change, but rather more efficient logic.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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



From xen-devel-bounces@lists.xenproject.org Fri Jan 14 08:22:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 08:22:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257564.442670 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8HqL-00048E-Mf; Fri, 14 Jan 2022 08:21:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257564.442670; Fri, 14 Jan 2022 08:21:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8HqL-000487-I0; Fri, 14 Jan 2022 08:21:53 +0000
Received: by outflank-mailman (input) for mailman id 257564;
 Fri, 14 Jan 2022 08:21:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tv37=R6=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1n8HqJ-00046U-Gq
 for xen-devel@lists.xenproject.org; Fri, 14 Jan 2022 08:21:51 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0625.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::625])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 04f8c303-7513-11ec-bcf3-e9554a921baa;
 Fri, 14 Jan 2022 09:21:49 +0100 (CET)
Received: from AS9PR06CA0240.eurprd06.prod.outlook.com (2603:10a6:20b:45e::9)
 by AM9PR08MB7032.eurprd08.prod.outlook.com (2603:10a6:20b:41e::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.9; Fri, 14 Jan
 2022 08:21:46 +0000
Received: from AM5EUR03FT010.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:45e:cafe::31) by AS9PR06CA0240.outlook.office365.com
 (2603:10a6:20b:45e::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.10 via Frontend
 Transport; Fri, 14 Jan 2022 08:21:46 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT010.mail.protection.outlook.com (10.152.16.134) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4888.9 via Frontend Transport; Fri, 14 Jan 2022 08:21:46 +0000
Received: ("Tessian outbound c61f076cbd30:v110");
 Fri, 14 Jan 2022 08:21:45 +0000
Received: from dba72bc1a2e0.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 343B329B-EEF3-4B68-85B7-CCDA57412C4D.1; 
 Fri, 14 Jan 2022 08:21:38 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id dba72bc1a2e0.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 14 Jan 2022 08:21:38 +0000
Received: from AM5PR0801MB2020.eurprd08.prod.outlook.com
 (2603:10a6:203:4c::14) by HE1PR0802MB2443.eurprd08.prod.outlook.com
 (2603:10a6:3:d7::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Fri, 14 Jan
 2022 08:21:36 +0000
Received: from AM5PR0801MB2020.eurprd08.prod.outlook.com
 ([fe80::4469:791e:51b7:c378]) by AM5PR0801MB2020.eurprd08.prod.outlook.com
 ([fe80::4469:791e:51b7:c378%5]) with mapi id 15.20.4888.012; Fri, 14 Jan 2022
 08: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: 04f8c303-7513-11ec-bcf3-e9554a921baa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gnUz3Bs6Swf0XDUbLTMu654w+yHd2hLWnHN6N6yr1xA=;
 b=xQT4mM3AJtGJNB1QguBjGPRCljKaLpE9F7AYz/Ph8+h9pjSTq7m//fe+PjF3SLXYZw6QdZ+eBHw8if7APVGmH5PjC81nz0YATOj7LOuYZt96nFb1OgM19SLdyUDR7QFvCFNbHzgCMQqh1sV+pbxIhh1nqb/ER5ODsANSBKlyhec=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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: a4e56990bf5b4959
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=a+mvp9uMNYK/0ZKadn9rPnUpwDUdOd/s/FiFC8PWSfweI9wgV/QT9VBtcf/W2e3TRV/ABgVsQC5hqV737EZtuY9oLKQAJ1Y0/W0yH3qmvGUtgUqPLYAenyBTXl1AZu1lIMFWu2x019C9svg/jxx0Ht3AO7bLzxo20g6Kx78x5lrnV06/l8RMaTqx35uX/ZbZSx8ZynZJG43jcVXcHUOX6yeTCuS/yJpe3MqutgnOngR6ckfQ6Z+yPIlzuD7UUe/2Kb+W4cEmPXd/gyEyr8Ydq036W2tOJRI2SKPuzGcSYF0KaQM/GPYBm2mQxi99XMnYXV+CM56Ki2nO+9pmndtZSg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gnUz3Bs6Swf0XDUbLTMu654w+yHd2hLWnHN6N6yr1xA=;
 b=RxzDidvO8H9amneAyX74n32oClepZTLfhb4m96h2sDo7G2I3v1nPpRcEvnpASBFxlgewdh/+tHkt/HrxIhN4NFA3iKKgNoAlqsqQUZEXT+tGKTKg+ccim2H+Xgk53QKPJU8lkn1XRPc3yJvz8c2r11bGQXuQr/2sp1UQQxv0Xa4eSCc/wvhJu4yGSO7riCPThavBI7XDLBlzy8Yd179NR/bH9n7O/gQoYYC+lKplxLiPCKnG1K0DcMKFUHXXW9RTGo4HRKxq9AWIM3uRIhUn878eI4qEzK3k1/tJ4Nsf/m7d6Y9TzQScwiHNhsa4TQcgbuWuiAyuZD43qDgR/sUBWg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gnUz3Bs6Swf0XDUbLTMu654w+yHd2hLWnHN6N6yr1xA=;
 b=xQT4mM3AJtGJNB1QguBjGPRCljKaLpE9F7AYz/Ph8+h9pjSTq7m//fe+PjF3SLXYZw6QdZ+eBHw8if7APVGmH5PjC81nz0YATOj7LOuYZt96nFb1OgM19SLdyUDR7QFvCFNbHzgCMQqh1sV+pbxIhh1nqb/ER5ODsANSBKlyhec=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
CC: xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Oleksandr Tyshchenko
	<olekstysh@gmail.com>, Andrii Anisov <Andrii_Anisov@epam.com>
Subject: Re: [XEN PATCH v3] xen/arm: introduce dummy iommu node for dom0
Thread-Topic: [XEN PATCH v3] xen/arm: introduce dummy iommu node for dom0
Thread-Index: AQHYBt4itusLhq1+GU+ohCCSHNq3taxiMcCA
Date: Fri, 14 Jan 2022 08:21:35 +0000
Message-ID: <964D6F09-82DF-4B33-AD93-A1C04E7A7FC7@arm.com>
References: <20220111112611.90508-1-Sergiy_Kibrik@epam.com>
In-Reply-To: <20220111112611.90508-1-Sergiy_Kibrik@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: f272a84d-a787-493f-274e-08d9d736e784
x-ms-traffictypediagnostic:
	HE1PR0802MB2443:EE_|AM5EUR03FT010:EE_|AM9PR08MB7032:EE_
X-Microsoft-Antispam-PRVS:
	<AM9PR08MB7032CA3D3922FFC2E828106AFC549@AM9PR08MB7032.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:5516;OLM:5516;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 lNPM7vBnrbsswNnHgW2xXk7m1qbQHbqX1Mx+FB30rdigBydb8VBVTYvHYDH7G/svKqwIpW8QM7R75W9DZPm+o5dvif9CawfxGAuAVtOkNhxAUlIOslGwSunPPPC8fu3uh+K0cZXJhgC0wqH3ActJ8Hgjq1rWGY75K0esph1IFa7xwPg/xlVxXXxtEVyYwaktVSf7dGiCuPjbz6zeIjbyy1rqFFOBfchPAOWvS4qo6RSaSp/kFHCbbxqyG1AdS9synAuLwxmQpWQjuQs/PZdPM5c6BIPkg27tAAJmZqWCRRSyIXlG4KKJoN+QKY9xLSAXIGG8m2EJvQgkWWRT3+r/whZh+DJDPF+9zlPbI1876MdCJG8rg1A7zcWn7ZyKBH4B03xc9HUWgKTcPSVJUPEgG+pEO6kIvbRxBKmrGysKVQ6G7LXL98YYSQCVb5DrMQVbJdg0iNoW3J/2gfft+RsecyRg5FqPdeUr5WIvhatjmxYWJkYNpFaXeSnyvTUV6E+cEIltjkRpt1Lce1uPTbfJ/1Aew8VigqF0tMUOp9E0lSM94BR+gON31i2bi54IHeHov/48nXMaeVixEKhsc8HlxqxtrZmIBNAy/39CLySeAUMDKR1aQCiqLAmKt1Nlcn0m/nQ6mBYG3HhWIrtsyD1jsETC/2h2sxSTB+jJ3GZIOrgdUmdeb5QQ5HnUzpaj3iJvTJ3JN8P5cNLDlkaA6mvnHFqy73GkDEJPdd/WwfjO4M87SjNdSG2uxar78p+lAYHIMEauGcldQKb7RbAd4WcsBpEy7+iQpN/g0ldCfyPxEF2G22bvk4b2uOUTm7fYSK1mvuPshmj8B70ztMNFrcAoxI35BZHImTW4Gk88LXOSGWY=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM5PR0801MB2020.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(8676002)(5660300002)(71200400001)(966005)(26005)(8936002)(2906002)(6486002)(508600001)(4326008)(186003)(36756003)(38070700005)(66476007)(316002)(66946007)(33656002)(2616005)(76116006)(91956017)(6512007)(6916009)(6506007)(86362001)(53546011)(66446008)(38100700002)(122000001)(54906003)(64756008)(66556008)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <504EDB3ED007A04F8F7DA356807556E9@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0802MB2443
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT010.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ec300bbf-a366-4d2e-2377-08d9d736e16f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	kP/K1goKv+4o1q9He2hJkYC9jwrlMaKYV+kbg/iuo9Y5IZC4wFJZneIy0ZGeX4EwFRoKnGWngqVpuaH1VLAzOAlU6DqeT+H5Kxpdqjw1oqsjCMpYF0F0uZtdFinM3L1T7LCVwmOyojtqY3EpbsjfvSEC5ro1/T46GpPMNOZgRjooE2j0wGibhPNy6aKM+mejVqBksvPLsH6cckhKuP4G15ic00VH91ro0uSMBN6AF21C/oeK7ZVrR7uzEoM/HisNJGk4q5zAFYvVGVIMUWgELiJXGmzLxFDQLMXJnySzhxZ+Ra3zpfvnnnGT4MH3dT/4iJ7alyaCN+lYPFUpAfIun2HtQ1STPm3+NewtdZU6Gin6vIxr0zmevZyOe96J4HbRS0j6DeCsZm2OH+pJci8KkI+sGpPwdWgYICqitYxE+DsjL3zQy0HnLuSu9zNfW/b/EexqmPv2/z/uwm47GqZggjErk/orRqNPrIKcYeLRdkrebi2SAcfGfZs/FT26MvMTFbzypILBaK4lQnPFxRYDO8qI+sklvEO4T8NVMZdGWHFd0GtM2Hkp29TRUr96RS/Vz/iAdStK5SHGfqpulJ4wd5to9nAw+uGj4i5XFptiilosv8Z0y8ICXt+RfPPGjY4vWkId3iHgfLKwKENcySq8lg+YaSR1c8eX6G7j46OWtrqOQkwuRGCXu/Dvbkkldxa0f2kxtEhO8KiHwQG/Egro+VqkC/s1UKCXe7Kouw3X/cOCaUJPPhXL4G432GZOMF5FWiMqrNJUjvUWnFZiFX60spnWF4rvIWrhGFPWEoaHrZArFlBeX8zSiBDI9lBt9j9A07R6xsIEQR+dge/3Pr5yiw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(356005)(2616005)(2906002)(6862004)(5660300002)(82310400004)(81166007)(86362001)(4326008)(53546011)(107886003)(54906003)(508600001)(186003)(8676002)(316002)(36756003)(33656002)(966005)(47076005)(6506007)(8936002)(336012)(6486002)(26005)(70586007)(70206006)(6512007)(36860700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jan 2022 08:21:46.1395
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f272a84d-a787-493f-274e-08d9d736e784
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT010.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB7032

Hi,

> On 11 Jan 2022, at 11:26 am, Sergiy Kibrik <Sergiy_Kibrik@epam.com> wrote=
:
>=20
> Currently no IOMMU properties are exposed to dom0, thus kernel by default
> assumes no protection and enables swiotlb-xen, which leads to costly and
> unnecessary buffers bouncing.
>=20
> To let kernel know which device is behing IOMMU and hence needs no swiotl=
b
> services we introduce dummy xen-iommu node in FDT and link protected devi=
ce
> nodes to it, using here device tree iommu bindings.
>=20
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>

Reviewed-by: Rahul Singh <rahul.singh@arm.com>

Regards,
Rahul
> ---
> Cc: Stefano Stabellini <sstabellini@kernel.org>
> Cc: Julien Grall <julien@xen.org>
> Cc: Oleksandr Tyshchenko <olekstysh@gmail.com>
> Cc: Andrii Anisov <Andrii_Anisov@epam.com>
>=20
>=20
> Changelog:
>=20
> v3: rebased over staging & remove redundand phandle_iommu attribute, disc=
ussion:
> 	https://lists.xenproject.org/archives/html/xen-devel/2021-12/msg01753.ht=
ml
>=20
> v2: re-use common iommu dt bindings to let guests know which devices are =
protected:
> 	https://lists.xenproject.org/archives/html/xen-devel/2021-10/msg00073.ht=
ml
>=20
> xen/arch/arm/domain_build.c           | 42 +++++++++++++++++++++++++++
> xen/include/public/device_tree_defs.h |  1 +
> 2 files changed, 43 insertions(+)
>=20
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 6931c022a2..b82ba72fac 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -845,6 +845,12 @@ static int __init write_properties(struct domain *d,=
 struct kernel_info *kinfo,
>         }
>     }
>=20
> +    if ( iommu_node && is_iommu_enabled(d) && dt_device_is_protected(nod=
e) )
> +    {
> +        res =3D fdt_property_cell(kinfo->fdt, "iommus", GUEST_PHANDLE_IO=
MMU);
> +        if ( res )
> +            return res;
> +    }
>     return 0;
> }
>=20
> @@ -1479,6 +1485,38 @@ static int __init make_cpus_node(const struct doma=
in *d, void *fdt)
>     return res;
> }
>=20
> +static int __init make_iommu_node(const struct domain *d,
> +                                  const struct kernel_info *kinfo)
> +{
> +    const char compat[] =3D "xen,iommu-el2-v1";
> +    int res;
> +
> +    if ( !is_iommu_enabled(d) )
> +        return 0;
> +
> +    dt_dprintk("Create iommu node\n");
> +
> +    res =3D fdt_begin_node(kinfo->fdt, "xen-iommu");
> +    if ( res )
> +        return res;
> +
> +    res =3D fdt_property(kinfo->fdt, "compatible", compat, sizeof(compat=
));
> +    if ( res )
> +        return res;
> +
> +    res =3D fdt_property_cell(kinfo->fdt, "#iommu-cells", 0);
> +    if ( res )
> +        return res;
> +
> +    res =3D fdt_property_cell(kinfo->fdt, "phandle", GUEST_PHANDLE_IOMMU=
);
> +
> +    res =3D fdt_end_node(kinfo->fdt);
> +    if ( res )
> +        return res;
> +
> +    return res;
> +}
> +
> static int __init make_gic_node(const struct domain *d, void *fdt,
>                                 const struct dt_device_node *node)
> {
> @@ -2127,6 +2165,10 @@ static int __init handle_node(struct domain *d, st=
ruct kernel_info *kinfo,
>         if ( res )
>             return res;
>=20
> +        res =3D make_iommu_node(d, kinfo);
> +        if ( res )
> +            return res;
> +
>         res =3D make_memory_node(d, kinfo->fdt, addrcells, sizecells, &ki=
nfo->mem);
>         if ( res )
>             return res;
> diff --git a/xen/include/public/device_tree_defs.h b/xen/include/public/d=
evice_tree_defs.h
> index 209d43de3f..df58944bd0 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_IOMMU (GUEST_PHANDLE_GIC + 1)
>=20
> #define GUEST_ROOT_ADDRESS_CELLS 2
> #define GUEST_ROOT_SIZE_CELLS 2
> --=20
> 2.25.1
>=20
>=20



From xen-devel-bounces@lists.xenproject.org Fri Jan 14 08:38:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 08:38:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257568.442681 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8I5r-0005nU-7d; Fri, 14 Jan 2022 08:37:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257568.442681; Fri, 14 Jan 2022 08: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 1n8I5r-0005nN-4f; Fri, 14 Jan 2022 08:37:55 +0000
Received: by outflank-mailman (input) for mailman id 257568;
 Fri, 14 Jan 2022 08:37: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 1n8I5p-0005nD-KE; Fri, 14 Jan 2022 08:37: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 1n8I5p-0004h3-IE; Fri, 14 Jan 2022 08:37: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 1n8I5p-0002qm-AF; Fri, 14 Jan 2022 08:37:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n8I5p-0003rL-9m; Fri, 14 Jan 2022 08:37:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=NIKj/uvgZLQ9YY5fTollUjQ6QjfYr90KHFvWSeO/w1c=; b=k4+yjtVTC8muC5nFY0o64abpcP
	wuPcrFhsnMVazGOhxJGgZt8ZJOeyssnvwyc9Ts53Uo8bnYAsj67xaNM6wcTr8kEr5ECIWa3Xck9fB
	1VuLXM/SoWSycV18jr3Jde/GxoDDzsrn84VF5KZAFHUkwEOioFq9yeYi1BdH1uFWwmzI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167694-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 167694: regressions - FAIL
X-Osstest-Failures:
    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:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=55a248d354ba24ac43769a93a3f3ce810a8aeaf5
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 14 Jan 2022 08:37:53 +0000

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

Regressions :-(

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

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

version targeted for testing:
 libvirt              55a248d354ba24ac43769a93a3f3ce810a8aeaf5
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  553 days
Failing since        151818  2020-07-11 04:18:52 Z  552 days  534 attempts
Testing same since   167694  2022-01-14 04:21:33 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>
  Ani Sinha <ani@anisinha.ca>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  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>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.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>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  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>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  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 Chevsky <nchevsky@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>
  Or Ozeri <oro@il.ibm.com>
  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>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott 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>
  Stefan Hajnoczi <stefanha@redhat.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>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Дамјан Георгиевски <gdamjan@gmail.com>

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


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Fri Jan 14 08:49:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 08:49:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257575.442691 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8IGg-0007Jz-7f; Fri, 14 Jan 2022 08:49:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257575.442691; Fri, 14 Jan 2022 08: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 1n8IGg-0007Js-4g; Fri, 14 Jan 2022 08:49:06 +0000
Received: by outflank-mailman (input) for mailman id 257575;
 Fri, 14 Jan 2022 08:49:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Kirj=R6=arm.com=Jiamei.Xie@srs-se1.protection.inumbo.net>)
 id 1n8IGe-0007Jm-Kz
 for xen-devel@lists.xenproject.org; Fri, 14 Jan 2022 08:49:04 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0610.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::610])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d19315bd-7516-11ec-bcf3-e9554a921baa;
 Fri, 14 Jan 2022 09:49:03 +0100 (CET)
Received: from DB8PR03CA0030.eurprd03.prod.outlook.com (2603:10a6:10:be::43)
 by PAXPR08MB6800.eurprd08.prod.outlook.com (2603:10a6:102:137::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.9; Fri, 14 Jan
 2022 08:48:53 +0000
Received: from DB5EUR03FT023.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:be:cafe::f) by DB8PR03CA0030.outlook.office365.com
 (2603:10a6:10:be::43) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.9 via Frontend
 Transport; Fri, 14 Jan 2022 08:48:53 +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.4888.9 via Frontend Transport; Fri, 14 Jan 2022 08:48:52 +0000
Received: ("Tessian outbound a33f292be81b:v110");
 Fri, 14 Jan 2022 08:48:52 +0000
Received: from fab9949254c4.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 E524DC86-C63A-4DF8-81BC-4B7A1DA43A4C.1; 
 Fri, 14 Jan 2022 08:48:42 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id fab9949254c4.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 14 Jan 2022 08:48:42 +0000
Received: from VI1PR08MB3056.eurprd08.prod.outlook.com (2603:10a6:803:3d::28)
 by DB6PR08MB2839.eurprd08.prod.outlook.com (2603:10a6:6:20::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Fri, 14 Jan
 2022 08:48:39 +0000
Received: from VI1PR08MB3056.eurprd08.prod.outlook.com
 ([fe80::fd4d:9e50:8051:1af8]) by VI1PR08MB3056.eurprd08.prod.outlook.com
 ([fe80::fd4d:9e50:8051:1af8%5]) with mapi id 15.20.4888.012; Fri, 14 Jan 2022
 08:48: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: d19315bd-7516-11ec-bcf3-e9554a921baa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2CEmEtYZMmqp7B4SXsmHFrCYKB+bOzrExY3Sn0S8iHI=;
 b=cX8GNGezccegeaNhPeNjhCWXHg6oqEPK1rcSINKOoaVafLNAQhO8OBXWM+MwPUcR3QgX78NqpVk4vO3z3F8g8Qs54Mk5MtblqPx2GLmNe6tUZNgsKVAAVyD+GEzYLtvDCKWdU8dX6xJpzHwp8QBgxeSC3SuSodAE9+hv06dk2Jg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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=UsZIbreQDcFjJY3IoPv2NOinkztRTeFRdxLOcOQTrnfx55tMei3r8IwfwL6Db33nFHD1nKEkd6RMdFW0y02gnAHNBR3yDV1Ja5U0oaNyBFjhItxeQ5D6OIsoxRhekemV2y93RdJsm1WquIfvEgQuUKLhL1wlgPWAZq3Bi7oTTzelrjqbxyFNeFX/vNf49dyhKNOBjEvBbncQdpa2v7AVXiZmkWCb71afR6yTDsb18J517MdzNZuqD0QD0fBfJbR1oAdDWYEYdBH1wGIx7Wxo934dzfalgSiIHm3KvNU29oFreK8By4nUZYjPEASpbl9qDLDqX8sizxB2+KriGdjV5w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2CEmEtYZMmqp7B4SXsmHFrCYKB+bOzrExY3Sn0S8iHI=;
 b=M9ZTsxO94iwJgiVdC46VE7F555Z73g5RCJDnT5dNePfZ9KzQZLDpzx+DVsyQi2bxNi375RZ1ErSVjzJ35mG5eplamckvM0/KLCkGPO/7xbKGbb2X+6FcP0hrAyonFomdH1IseU+A5Oau/JUu5OAZLUl+x8l//X4EJsaHEmqnLb+RtKbUF0RDz0ci/20gUMV/gKEio4TmEyZYA4rdsYdHFZhnC+6k/e90/7oIdWpPHjUqRzklmUV35mcavaOmrVt7207pBJEP6xE0Y4zqS1KmjP7IQ68ycswNBBqhSa9CPSpr2+a451qeJZcwrbwQNyhPk6ZXbKChaJMAgecQCIFFhQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2CEmEtYZMmqp7B4SXsmHFrCYKB+bOzrExY3Sn0S8iHI=;
 b=cX8GNGezccegeaNhPeNjhCWXHg6oqEPK1rcSINKOoaVafLNAQhO8OBXWM+MwPUcR3QgX78NqpVk4vO3z3F8g8Qs54Mk5MtblqPx2GLmNe6tUZNgsKVAAVyD+GEzYLtvDCKWdU8dX6xJpzHwp8QBgxeSC3SuSodAE9+hv06dk2Jg=
From: Jiamei Xie <Jiamei.Xie@arm.com>
To: Rahul Singh <Rahul.Singh@arm.com>, Sergiy Kibrik <Sergiy_Kibrik@epam.com>
CC: xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Oleksandr Tyshchenko
	<olekstysh@gmail.com>, Andrii Anisov <Andrii_Anisov@epam.com>
Subject: RE: [XEN PATCH v3] xen/arm: introduce dummy iommu node for dom0
Thread-Topic: [XEN PATCH v3] xen/arm: introduce dummy iommu node for dom0
Thread-Index: AQHYBt4klXrgB8v1dUiv2xognqXn6axiMcCAgAAHRNA=
Date: Fri, 14 Jan 2022 08:48:38 +0000
Message-ID:
 <VI1PR08MB305666002DC9077053E643C392549@VI1PR08MB3056.eurprd08.prod.outlook.com>
References: <20220111112611.90508-1-Sergiy_Kibrik@epam.com>
 <964D6F09-82DF-4B33-AD93-A1C04E7A7FC7@arm.com>
In-Reply-To: <964D6F09-82DF-4B33-AD93-A1C04E7A7FC7@arm.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 04E358B008DD1C43833BC14BAB14D8C3.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: a94d5e60-771c-4953-76f9-08d9d73ab117
x-ms-traffictypediagnostic:
	DB6PR08MB2839:EE_|DB5EUR03FT023:EE_|PAXPR08MB6800:EE_
X-Microsoft-Antispam-PRVS:
	<PAXPR08MB680048AD3188E93CD97D98B892549@PAXPR08MB6800.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:5516;OLM:5516;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 3wkoCIe3Yx+PGhDuT4Beno3nUWJ2RU3xy5mUa65gwfx4G7UiISxk/sUzErQcMmKfc5bhb6lq1qhTTgjZC1BuEmSj7J9o9AYypHvzRuqyZPJ9BcTaYyFd8NcT5taKp4yOngPdLHqnFuYQpfScQowN+g3dfeXWkFTaeFrjkeUwHecTiiThpssb9d79uk4HcR2BlOOiERtd261EsJjSGjsSs7zs/Omlphv2PyAr6qQwpx4RWYC1bEK+4pVN+xYh70zDz2jGDZxDgCZMuN2elxUiYozX/CK8z5BVrCz13RKwWHcrWbhZo8cISs5shd9Zv2Q/uaeRPEXTfmKZ9Y+EReklWQwkabmjHluQidK7bkAZR2CcbHWrYVutsNZXVTkbYQEXcCAuA2bp/a+4+4GGtPt1arm7LG+7IXaOf4iAvnLJCL5B1rWf2g4hDtP7f8OSvylEM9LUGDjSe+5jGPAQCJXhjIi2hP5jvGGECL9TXixCr55R+Y5aFHG3/71Mucl1+Q6iPEc2FxZ2gFzahcX9JKIColyttqNOrGP9B+whnn32vRNPvyfsSNAwfij8NDCY8Pe1Op2oQiLOKaJ2+eA0ggUBLc0r63TjMapAs3SgPg4sWDAViwrXme9K9hPKA37k5hCB3WyX872YT/8xD5cGpZ7aX7hWKwhdbpO3kJa2aD76AjH6merlraTw2VFMh/j/nkI3p8FqWhMw9cH22zCvtxtA3BP+PSef1uWPVljNB28+a2Ncjd+GlGtXhDxDgR5CU1qK/awo4pTZSY+i2VzRYlbD3/8gvDQh3v/TdmgsZNjH1qg=
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)(54906003)(6506007)(966005)(71200400001)(508600001)(8676002)(110136005)(2906002)(53546011)(5660300002)(83380400001)(186003)(55016003)(66556008)(9686003)(38070700005)(52536014)(38100700002)(7696005)(26005)(64756008)(66446008)(66946007)(33656002)(4326008)(66476007)(8936002)(86362001)(76116006)(316002)(122000001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-2022-jp"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR08MB2839
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;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-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a06a2557-6c92-4f2e-3eca-08d9d73aa8bb
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	EwJs8r3PRR7A3K4Zhv7r6t6tkyu3whCkpiHeBRGFurM24dp1/NRiIe+B/fl/TnYpKgC0xUD3pR2kiRmtJsSQf1psyK7mFpAF3wvVM+qtHY+XsRQqw9ypijsxXb+UGjYR1BvXaiTlIDEEoo+3eun5Cg2GEmFnlIb02ySQ9mx778O+ziur6Q62G4knqT1MEeWYovCRCIPCU3LVe1RpCM+mhnjW5jfYnKBadIjPIyk6+fABMQU6FhL59iakZzV8yWv17E6LkSqq+dYShFxn9QXrUATtrVM8eXur6VWOFClgn3wa8woEyzoA6WgICzlo1AtWcXvCctyFlhbzBsKjLCh/01ocfJIGxsRHfmRk18zl278zXy12MyaynbA4CmD4FYSxuHlst1o6QwW4LC7ATDHYm5oYRhVwwkfrRgDXUeKDcMOYi7CuUvAiSQslnJ7RtiASga356OpVsUMV5Y2k/DEArwmmRDAw5Zhg5Y0+CL53UphXDuKKi8NfluUONaMi0zdhfaV9PAMFsMl13gHkY1+YcixY3fldCeiDIV+VCb0oc0agCLUL1cFxymadVu3mKSj20tAFGO+gdwHNqYK7wqrcjOVB/+arfO8knhE5oi3868qMRtQ0I3hK/VBMF/Al+xBCKlWNRv4ywTExcIbAApQjBscfCH0UolzhhXszhlBcROei/MM+NmWkura/o2jFZw0daX5UZ5G0+e/7D1K+cWowBOT2lTex2mY2Qfku3M9iU0jWZsJBk35navRwJf/+19uINn0hgf/gKmlwsCmoNxQhfFRnycbj/AWPRpaycg/UjDw=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(7696005)(5660300002)(8676002)(54906003)(336012)(47076005)(316002)(2906002)(8936002)(110136005)(86362001)(966005)(70586007)(508600001)(53546011)(26005)(356005)(55016003)(6506007)(4326008)(107886003)(186003)(36860700001)(81166007)(33656002)(70206006)(83380400001)(52536014)(9686003)(82310400004);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jan 2022 08:48:52.8740
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a94d5e60-771c-4953-76f9-08d9d73ab117
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: PAXPR08MB6800



> -----Original Message-----
> From: Xen-devel <xen-devel-bounces@lists.xenproject.org> On Behalf Of
> Rahul Singh
> Sent: 2022=1B$BG/=1B(B1=1B$B7n=1B(B14=1B$BF|=1B(B 16:22
> To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> Cc: xen-devel <xen-devel@lists.xenproject.org>; Stefano Stabellini
> <sstabellini@kernel.org>; Julien Grall <julien@xen.org>; Oleksandr
> Tyshchenko <olekstysh@gmail.com>; Andrii Anisov
> <Andrii_Anisov@epam.com>
> Subject: Re: [XEN PATCH v3] xen/arm: introduce dummy iommu node for
> dom0
>=20
> Hi,
>=20
> > On 11 Jan 2022, at 11:26 am, Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> wrote:
> >
> > Currently no IOMMU properties are exposed to dom0, thus kernel by
> default
> > assumes no protection and enables swiotlb-xen, which leads to costly an=
d
> > unnecessary buffers bouncing.
> >
> > To let kernel know which device is behing IOMMU and hence needs no
[Jiamei Xie]=20
behing?  Typo

Best wishes
Jiamei Xie


> swiotlb
> > services we introduce dummy xen-iommu node in FDT and link protected
> device
> > nodes to it, using here device tree iommu bindings.
> >
> > Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
>=20
> Reviewed-by: Rahul Singh <rahul.singh@arm.com>
>=20
> Regards,
> Rahul
> > ---
> > Cc: Stefano Stabellini <sstabellini@kernel.org>
> > Cc: Julien Grall <julien@xen.org>
> > Cc: Oleksandr Tyshchenko <olekstysh@gmail.com>
> > Cc: Andrii Anisov <Andrii_Anisov@epam.com>
> >
> >
> > Changelog:
> >
> > v3: rebased over staging & remove redundand phandle_iommu attribute,
> discussion:
> > 	https://lists.xenproject.org/archives/html/xen-devel/2021-
> 12/msg01753.html
> >
> > v2: re-use common iommu dt bindings to let guests know which devices
> are protected:
> > 	https://lists.xenproject.org/archives/html/xen-devel/2021-
> 10/msg00073.html
> >
> > xen/arch/arm/domain_build.c           | 42
> +++++++++++++++++++++++++++
> > xen/include/public/device_tree_defs.h |  1 +
> > 2 files changed, 43 insertions(+)
> >
> > diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> > index 6931c022a2..b82ba72fac 100644
> > --- a/xen/arch/arm/domain_build.c
> > +++ b/xen/arch/arm/domain_build.c
> > @@ -845,6 +845,12 @@ static int __init write_properties(struct domain *=
d,
> struct kernel_info *kinfo,
> >         }
> >     }
> >
> > +    if ( iommu_node && is_iommu_enabled(d) &&
> dt_device_is_protected(node) )
> > +    {
> > +        res =3D fdt_property_cell(kinfo->fdt, "iommus",
> GUEST_PHANDLE_IOMMU);
> > +        if ( res )
> > +            return res;
> > +    }
> >     return 0;
> > }
> >
> > @@ -1479,6 +1485,38 @@ static int __init make_cpus_node(const struct
> domain *d, void *fdt)
> >     return res;
> > }
> >
> > +static int __init make_iommu_node(const struct domain *d,
> > +                                  const struct kernel_info *kinfo)
> > +{
> > +    const char compat[] =3D "xen,iommu-el2-v1";
> > +    int res;
> > +
> > +    if ( !is_iommu_enabled(d) )
> > +        return 0;
> > +
> > +    dt_dprintk("Create iommu node\n");
> > +
> > +    res =3D fdt_begin_node(kinfo->fdt, "xen-iommu");
> > +    if ( res )
> > +        return res;
> > +
> > +    res =3D fdt_property(kinfo->fdt, "compatible", compat, sizeof(comp=
at));
> > +    if ( res )
> > +        return res;
> > +
> > +    res =3D fdt_property_cell(kinfo->fdt, "#iommu-cells", 0);
> > +    if ( res )
> > +        return res;
> > +
> > +    res =3D fdt_property_cell(kinfo->fdt, "phandle",
> GUEST_PHANDLE_IOMMU);
> > +
> > +    res =3D fdt_end_node(kinfo->fdt);
> > +    if ( res )
> > +        return res;
> > +
> > +    return res;
> > +}
> > +
> > static int __init make_gic_node(const struct domain *d, void *fdt,
> >                                 const struct dt_device_node *node)
> > {
> > @@ -2127,6 +2165,10 @@ static int __init handle_node(struct domain *d,
> struct kernel_info *kinfo,
> >         if ( res )
> >             return res;
> >
> > +        res =3D make_iommu_node(d, kinfo);
> > +        if ( res )
> > +            return res;
> > +
> >         res =3D make_memory_node(d, kinfo->fdt, addrcells, sizecells, &=
kinfo-
> >mem);
> >         if ( res )
> >             return res;
> > diff --git a/xen/include/public/device_tree_defs.h
> b/xen/include/public/device_tree_defs.h
> > index 209d43de3f..df58944bd0 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_IOMMU (GUEST_PHANDLE_GIC + 1)
> >
> > #define GUEST_ROOT_ADDRESS_CELLS 2
> > #define GUEST_ROOT_SIZE_CELLS 2
> > --
> > 2.25.1
> >
> >
>=20



From xen-devel-bounces@lists.xenproject.org Fri Jan 14 08:53:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 08:53:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257579.442703 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8ILB-0000Ky-Vi; Fri, 14 Jan 2022 08:53:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257579.442703; Fri, 14 Jan 2022 08:53:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8ILB-0000Kr-Sk; Fri, 14 Jan 2022 08:53:45 +0000
Received: by outflank-mailman (input) for mailman id 257579;
 Fri, 14 Jan 2022 08:53:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eLMo=R6=outlook.com=blsvntn@srs-se1.protection.inumbo.net>)
 id 1n8IKR-0000Ju-Kb
 for xen-devel@lists.xenproject.org; Fri, 14 Jan 2022 08:53:00 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04olkn0800.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::800])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5e3bd326-7517-11ec-a563-1748fde96b53;
 Fri, 14 Jan 2022 09:52:58 +0100 (CET)
Received: from AS8P193MB1718.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:3b2::8)
 by AS8P193MB1783.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:3fc::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Fri, 14 Jan
 2022 08:52:55 +0000
Received: from AS8P193MB1718.EURP193.PROD.OUTLOOK.COM
 ([fe80::64a2:3bd1:e033:a89]) by AS8P193MB1718.EURP193.PROD.OUTLOOK.COM
 ([fe80::64a2:3bd1:e033:a89%6]) with mapi id 15.20.4888.012; Fri, 14 Jan 2022
 08: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: 5e3bd326-7517-11ec-a563-1748fde96b53
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=O7bTgssMleCGLR8RIpSAU3gi41ZewIc2on4cl+TApRHNowngpob+wtY96Cq/PPjeH+SSEtYNl0zB3xTbC4+J95eIFiI6faYkbCM1lfORbfl10Z9lXMvFsRuTm0F/fVrK+VB0fRJznRNnOPxtkEV0cqXi9PXlmAdgccMTj94uNkiDU6gXImVjbXp2+smN9qBCsw4L+oqzFJMkPnUVCleQZllawx+QJ1YEXCOz+fXzGqSf0aYWy+vBBJhY154IRVGr25UJZqzuU6N3iGOk+G3//6bxTp69hV4HdBj7nzd6P/sR/NxBSS55UGsV3+bDLNCrK8FhmoWGWFDyJewWpiqagg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=n2QuCyyYu0UDooETtxc4jmGVO432HFwpUYbO2waM8h8=;
 b=hOvvc0UmY4s3dBVvm4ASy5evHbcXtSt7YUy+vyqnA+tQaE1i7B/fDGq9s1Z5T6YMxV/fgLpnHjvlD+SR757rFREy01EXx9u2aIQlVg/ddjWP8KqxGCHq27YkIBUEk0BTeZEQCw1s6jhL//oXcrBzOev2IfyWrVlrfcYOmcrLpbeqsv6OQsOq2EIOSg6dQZ67qMRo/e6Q1nmYixgxiIwRCuvN2gzaQn5Ndujl4Xw1lYyv/5FpLxkpHdSqlXbz2H994RLW9wvw6ST96ExTzw5PLkJgfMN+bLr52r4mIKIHA57H/0tVUK0SAonWjeOH49IGGwP8on/K/WsnA8waYvYxPQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=n2QuCyyYu0UDooETtxc4jmGVO432HFwpUYbO2waM8h8=;
 b=FIc1okkJPMOxmvZ7qjUHpQW8mygF7cpS38Xwu10OuzZxa3qxsNtifqJnDzUG6YTByBXnuaIvfEzTnzcKw2PRo39ivGh04PFgWDtEFtQDb8Vu5S6ZOeetEs2HSmMHFENlhnr2eVzGvasYQVQ+7rCY4Wt+MJBqRbo4Kv3JfS2BhixN1etT5I8C+9rMS+286amcShngNp0iNEFfrJQSaO9GILh114j2gPz/eWA/rGdleCw98ndJ2bIOcVff9df74UHCjS6B8IgyYClrGkNphUw3v6UCPUY5HFTJWbgah/R7NQmq3wsafF/zx0iwkv2+PAMUe5m6DE/iuDbJawt2XdUSXw==
From: Anton Belousov <blsvntn@outlook.com>
To: xen-devel@lists.xenproject.org
Cc: Anton Belousov <blsvntn@outlook.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [XEN PATCH] tools/firmware/hvmloader/smbios.c: Add new SMBIOS tables (7,8,9,26,27,28)
Date: Fri, 14 Jan 2022 08:52:44 +0000
Message-ID:
 <AS8P193MB171873609ED0D3F997083C2DA3549@AS8P193MB1718.EURP193.PROD.OUTLOOK.COM>
X-Mailer: git-send-email 2.25.1
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-TMN: [MeRNfpZZT4JIHFMYltIy3mGU++ucTKrR]
X-ClientProxiedBy: GV3P280CA0013.SWEP280.PROD.OUTLOOK.COM
 (2603:10a6:150:b::34) To AS8P193MB1718.EURP193.PROD.OUTLOOK.COM
 (2603:10a6:20b:3b2::8)
X-Microsoft-Original-Message-ID:
 <6ebb32ff993fc0aaca9ccef0b8c243aa97daade7.1642150081.git.blsvntn@outlook.com>
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 94cbccbb-d864-4b57-4ac9-08d9d73b411c
X-MS-Exchange-SLBlob-MailProps:
	3UeWkQkuiJMapIaE3yskuNrNSV986tZK++sapM/cF3KUrblsHXpVKw2pDg0rLq3A375JJXdjrncdHFB0a2adGg4EQYNduqqQnWODlEmxjgHG28cVW7tj7EwxRaBwv9nda0ABrpLdbCewBFLr0SifRlu3RigXNBxxA+8yg8uxaSZbft0Gee80Mlv6t1rhhR3MC7Gt1NiENv5WasiTymVObpvZKv3K372kyh5jmnXamduadsGHME0Gr94bVsz0O8/wj75xjHlkTjT6NzRNCkveeRZZyDNHKiAyQjCXj4nUCeuMAUL0rbgBwoUsPLn7rsKLBmeTR5uqSbiYfyDFAB1CZWr/n8RH6JYo8ZGJIomkUfVBUe38fkWnRWo554JdIe0ZTjz5SLyxDHYD3U1MwF0/krSaxTdDAInsf9g3kZlKxSvWPOAne4X1mzKmAEKYLukNO+kK0dCQrH3d0nALbrWhz/UDc1QUxOoGva0t4GnLcpHNFWmz8LtvYvT4X33jCK1BNkmWBwSgoSNDGlxd4UGzJOoHb+zSLt5oa1NyToB0st2IqA+HOFqIZpzw+ZD8Aolk8+Jc2ttdpUcImZtW9p+w3rWPnbQxHhKFhBMXRjJbcpX0MrjEeKAaez/ik/W6iDhkLIe2VIA1UBGp73lWYUiPbT7XLJTsLU2G0mpbWfk/adeQjGbKJjrJVM5Rmy6n7WrKAUjEYZBk0cZFDHW4nwxK+8vKUscl9zJvjBp/tiX7BWtIbsu8ujlQeQ==
X-MS-TrafficTypeDiagnostic: AS8P193MB1783:EE_
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/HU3EkWezEryfa9I5Nrr27yGTpdxpMDruyX6jW/Lfn0z2gEXq07QSuWJyfPsFyU1eAdjDU9rX5sL4J36Vmcj0zSgR4LZ04ekXFol00+mfXVvbc5NHnI+tgwMjPOCY0L4LvvXiXwO78V5x6VmJEzVx/zlbAwJC6mz3kAjPNNKcooV7t0G6YaqIo7tg0Jc+2TfTqjSF2xE8TBkMufSl3C9gsgAxGgil7Rvf2bckTmId0N0pr65WEaLz7pOJnip8blRpfHO5SYka1czeh5wm+2yaL/PdRShGiYeJXrC3KFGhtsCo56PJFXrd6gAlxvYAN7BoFQpeHGDySeMSybIDncqkireGJI4RLNjKxWmgkU0BFRMxJ54bb9OO+56L9jo1PpR/R+S2puVHQ0/tZ6dwsXZrCyM2Y0Ea2cZhTDfB4Sm+h40gBe0+iO+wQLqx0TiiZpMsJ6hh+/H66XcLYR7WZzy2DwD8YqexkNQUtLvJX4KGspXDy8esQLx0NSl/VMq+8IMcMLltYIkTovj62jYb8K/Lmjdwy354cNfcli+J1p5uYilOBEdQeBAvawgIPm278av8sFfzm4uv6Xr9Cq0ByUqIQ==
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?Ze7SMSztAvZdl4o1/A7LzSy3Pfvg0vKGdN9Q4PyE6aZurCBu9KMZBmEH/BgE?=
 =?us-ascii?Q?qzhwdaex0f5nueuGuCZMuiyKj1yo0zCHEqXXcMQ/OJvbnQdWSdmQs0bXyJ/M?=
 =?us-ascii?Q?Q4ud8ZIzUQ0BBd3ToHf9w5ByffN61fZrX06NT631S1fW9y4Qzkp0TvAmg/E+?=
 =?us-ascii?Q?zsFBdszorW14WaR/sRtfleuNYWoYWsFEARgs+/kn4IBSwmHjYguvNLsGeynj?=
 =?us-ascii?Q?ZFv6SFHgS3GdHlzIeWAOzkwoaBZXjseFypg6KM58850Liafrbss3j4uH+e2X?=
 =?us-ascii?Q?NGNllUZq+ohXa8+znCRMuKlk5A3ve/o+DyAA2pCrF9oYf4x/STR7sPBoNycN?=
 =?us-ascii?Q?Bn5UXdPIZ5v4d1l6AmtUyuCgKdhDfyVEBO8tx/cZdRmA4g9MoAJx3hXmcApc?=
 =?us-ascii?Q?SFkvPemAuKS22Q+GocgUPP2LdXgd7ZRe/Ubk36aew0WNZjSF3S+4HNdad8p5?=
 =?us-ascii?Q?3bMI8AIKM9/98a4MX3oDH7M8vYuod3LZo8nzvPLkFd1RvVbEH+PSlrFcetcq?=
 =?us-ascii?Q?p9Et1WGUdnBtKK+mxmbL/BAugXIGaT5vxuMNfFpaBxyBntLpG9kzuBpU3xrl?=
 =?us-ascii?Q?WT17hFNNxNlL64YhISTazzeop/eYP2eRkWfDTUc0dJWAeDp9m3csEF5DowpQ?=
 =?us-ascii?Q?j77NLva5aYPFYo/I4C6ZR4nbAZW/PhbJOzKlg3y1NnnpLoVUEpPzt58L2aUH?=
 =?us-ascii?Q?Gq3F/rXZDng5sW8MPkOtLUKg22zFXup4vwvBp4UKewO+ysi8EiD5zMviwnca?=
 =?us-ascii?Q?LlNbqXo2l3UWlWL2eDUVH01AxNiovpioLYcM2D8VFPr9+dtj+zsyNb8fxGIY?=
 =?us-ascii?Q?/4KPkROIkyHe6S5C9/MmUxUSZaX2rpuiyZEFJfWH4QR1bmGkEsIilJwOEiFG?=
 =?us-ascii?Q?99FFcOGnY8p9RnAMVT13Do2FSc2d+vmKNoRi01sYukcMxrqTVWNg4eG0RT8y?=
 =?us-ascii?Q?+w0J+1brChJW9WJ/1vMoZQ=3D=3D?=
X-OriginatorOrg: outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 94cbccbb-d864-4b57-4ac9-08d9d73b411c
X-MS-Exchange-CrossTenant-AuthSource: AS8P193MB1718.EURP193.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jan 2022 08:52:55.7863
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg:
	00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8P193MB1783

SMBIOS tables like 7,8,9,26,27,28 are neccessary to prevent sandbox detection by malware
using WMI-queries. New tables can be mapped to memory from binary file specified in
"smbios_firmware" parameter of domain configuration. If particular table is absent
in binary file, then it will not be mapped to memory. This method works for Windows
domains as tables 7,8,9,26,27,28 are not critical for OS boot and runtime. Also if "smbios_firmware"
parameter is not provided, these tables will be skipped in write_smbios_tables function.

Signed-off-by: Anton Belousov <blsvntn@outlook.com>
---
 tools/firmware/hvmloader/smbios.c       | 146 ++++++++++++++++++++++++
 tools/firmware/hvmloader/smbios_types.h |  77 +++++++++++++
 2 files changed, 223 insertions(+)

diff --git a/tools/firmware/hvmloader/smbios.c b/tools/firmware/hvmloader/smbios.c
index 97a054e9e3..f5e61c1159 100644
--- a/tools/firmware/hvmloader/smbios.c
+++ b/tools/firmware/hvmloader/smbios.c
@@ -33,12 +33,18 @@
 #define SMBIOS_HANDLE_TYPE2   0x0200
 #define SMBIOS_HANDLE_TYPE3   0x0300
 #define SMBIOS_HANDLE_TYPE4   0x0400
+#define SMBIOS_HANDLE_TYPE7   0x0700
+#define SMBIOS_HANDLE_TYPE8   0x0800
+#define SMBIOS_HANDLE_TYPE9   0x0900
 #define SMBIOS_HANDLE_TYPE11  0x0B00
 #define SMBIOS_HANDLE_TYPE16  0x1000
 #define SMBIOS_HANDLE_TYPE17  0x1100
 #define SMBIOS_HANDLE_TYPE19  0x1300
 #define SMBIOS_HANDLE_TYPE20  0x1400
 #define SMBIOS_HANDLE_TYPE22  0x1600
+#define SMBIOS_HANDLE_TYPE26  0x1A00
+#define SMBIOS_HANDLE_TYPE27  0x1B00
+#define SMBIOS_HANDLE_TYPE28  0x1C00
 #define SMBIOS_HANDLE_TYPE32  0x2000
 #define SMBIOS_HANDLE_TYPE39  0x2700
 #define SMBIOS_HANDLE_TYPE127 0x7f00
@@ -77,6 +83,12 @@ static void *
 smbios_type_4_init(void *start, unsigned int cpu_number,
                    char *cpu_manufacturer);
 static void *
+smbios_type_7_init(void *start);
+static void *
+smbios_type_8_init(void *start);
+static void *
+smbios_type_9_init(void *start);
+static void *
 smbios_type_11_init(void *start);
 static void *
 smbios_type_16_init(void *start, uint32_t memory_size_mb, int nr_mem_devs);
@@ -89,6 +101,12 @@ smbios_type_20_init(void *start, uint32_t memory_size_mb, int instance);
 static void *
 smbios_type_22_init(void *start);
 static void *
+smbios_type_26_init(void *start);
+static void *
+smbios_type_27_init(void *start);
+static void *
+smbios_type_28_init(void *start);
+static void *
 smbios_type_32_init(void *start);
 static void *
 smbios_type_39_init(void *start);
@@ -205,6 +223,9 @@ write_smbios_tables(void *ep, void *start,
     do_struct(smbios_type_3_init(p));
     for ( cpu_num = 1; cpu_num <= vcpus; cpu_num++ )
         do_struct(smbios_type_4_init(p, cpu_num, cpu_manufacturer));
+    do_struct(smbios_type_7_init(p));
+    do_struct(smbios_type_8_init(p));
+    do_struct(smbios_type_9_init(p));
     do_struct(smbios_type_11_init(p));
 
     /* Each 'memory device' covers up to 16GB of address space. */
@@ -221,6 +242,9 @@ write_smbios_tables(void *ep, void *start,
     }
 
     do_struct(smbios_type_22_init(p));
+    do_struct(smbios_type_26_init(p));
+    do_struct(smbios_type_28_init(p));
+    do_struct(smbios_type_27_init(p));
     do_struct(smbios_type_32_init(p));
     do_struct(smbios_type_39_init(p));
     do_struct(smbios_type_vendor_oem_init(p));
@@ -700,6 +724,66 @@ smbios_type_4_init(
     return start+1;
 }
 
+/* Type 7 -- Cache Information */
+static void *
+smbios_type_7_init(void *start)
+{
+    struct smbios_type_7 *p = (struct smbios_type_7 *)start;
+
+    void *pts;
+    uint32_t length;
+
+    pts = get_smbios_pt_struct(7, &length);
+    if ( (pts != NULL)&&(length > 0) )
+    {
+        memcpy(start, pts, length);
+        p->header.handle = SMBIOS_HANDLE_TYPE7;
+        return (start + length);
+    }
+
+    return start;
+}
+
+/* Type 8 -- Port Connector Information */
+static void *
+smbios_type_8_init(void *start)
+{
+    struct smbios_type_8 *p = (struct smbios_type_8 *)start;
+
+    void *pts;
+    uint32_t length;
+
+    pts = get_smbios_pt_struct(8, &length);
+    if ( (pts != NULL)&&(length > 0) )
+    {
+        memcpy(start, pts, length);
+        p->header.handle = SMBIOS_HANDLE_TYPE8;
+        return (start + length);
+    }
+
+    return start;
+}
+
+/* Type 9 -- System Slots */
+static void *
+smbios_type_9_init(void *start)
+{
+    struct smbios_type_9 *p = (struct smbios_type_9 *)start;
+
+    void *pts;
+    uint32_t length;
+
+    pts = get_smbios_pt_struct(9, &length);
+    if ( (pts != NULL)&&(length > 0) )
+    {
+        memcpy(start, pts, length);
+        p->header.handle = SMBIOS_HANDLE_TYPE9;
+        return (start + length);
+    }
+
+    return start;
+}
+
 /* Type 11 -- OEM Strings */
 static void *
 smbios_type_11_init(void *start) 
@@ -923,6 +1007,68 @@ smbios_type_22_init(void *start)
     return start+1; 
 }
 
+/* Type 26 -- Voltage Probe */
+static void *
+smbios_type_26_init(void *start)
+{
+    struct smbios_type_26 *p = (struct smbios_type_26 *)start;
+
+    void *pts;
+    uint32_t length;
+
+    pts = get_smbios_pt_struct(26, &length);
+    if ( (pts != NULL)&&(length > 0) )
+    {
+        memcpy(start, pts, length);
+        p->header.handle = SMBIOS_HANDLE_TYPE26;
+        return (start + length);
+    }
+
+    return start;
+}
+
+/* Type 27 -- Cooling Device */
+static void *
+smbios_type_27_init(void *start)
+{
+    struct smbios_type_27 *p = (struct smbios_type_27 *)start;
+
+    void *pts;
+    uint32_t length;
+
+    pts = get_smbios_pt_struct(27, &length);
+    if ( (pts != NULL)&&(length > 0) )
+    {
+        memcpy(start, pts, length);
+        p->header.handle = SMBIOS_HANDLE_TYPE27;
+        p->temperature_probe_handle = SMBIOS_HANDLE_TYPE28;
+        p->cooling_unit_group = 0;
+        return (start + length);
+    }
+
+    return start;
+}
+
+/* Type 28 -- Temperature Probe */
+static void *
+smbios_type_28_init(void *start)
+{
+    struct smbios_type_28 *p = (struct smbios_type_28 *)start;
+
+    void *pts;
+    uint32_t length;
+
+    pts = get_smbios_pt_struct(28, &length);
+    if ( (pts != NULL)&&(length > 0) )
+    {
+        memcpy(start, pts, length);
+        p->header.handle = SMBIOS_HANDLE_TYPE28;
+        return (start + length);
+    }
+
+    return start;
+}
+
 /* Type 32 -- System Boot Information */
 static void *
 smbios_type_32_init(void *start)
diff --git a/tools/firmware/hvmloader/smbios_types.h b/tools/firmware/hvmloader/smbios_types.h
index 7c648ece71..d196c62229 100644
--- a/tools/firmware/hvmloader/smbios_types.h
+++ b/tools/firmware/hvmloader/smbios_types.h
@@ -149,6 +149,44 @@ struct smbios_type_4 {
     uint8_t part_number_str;
 } __attribute__ ((packed));
 
+/* SMBIOS type 7 - Cache Information */
+struct smbios_type_7 {
+    struct smbios_structure_header header;
+    uint8_t socket_designation_str;
+    uint16_t cache_configuration;
+    uint16_t maximum_cache_size;
+    uint16_t installed_size;
+    uint16_t supported_SRAM_type;
+    uint16_t current_SRAM_type;
+    uint8_t cache_speed;
+    uint8_t error_connection_type;
+    uint8_t system_cache_type;
+    uint8_t associativity;
+} __attribute__ ((packed));
+
+/* SMBIOS type 8 - Port Connector Information */
+struct smbios_type_8 {
+    struct smbios_structure_header header;
+    uint8_t internal_reference_designator_str;
+    uint8_t internal_connector_type;
+    uint8_t external_reference_designator_str;
+    uint8_t external_connector_type;
+    uint8_t port_type;
+} __attribute__ ((packed));
+
+/* SMBIOS type 9 - System Slots */
+struct smbios_type_9 {
+    struct smbios_structure_header header;
+    uint8_t slot_designation_str;
+    uint8_t slot_type;
+    uint8_t slot_data_bus_width;
+    uint8_t current_usage;
+    uint8_t slot_length;
+    uint16_t slot_id;
+    uint8_t slot_characteristics_1;
+    uint8_t slot_characteristics_2;
+} __attribute__ ((packed));
+
 /* SMBIOS type 11 - OEM Strings */
 struct smbios_type_11 {
     struct smbios_structure_header header;
@@ -232,6 +270,45 @@ struct smbios_type_22 {
     uint32_t oem_specific;
 } __attribute__ ((packed));
 
+/* SMBIOS type 26 - Voltage Probe */
+struct smbios_type_26 {
+    struct smbios_structure_header header;
+    uint8_t description_str;
+    uint8_t location_and_status;
+    uint16_t maximum_value;
+    uint16_t minimum_value;
+    uint16_t resolution;
+    uint16_t tolerance;
+    uint16_t accuracy;
+    uint32_t oem_defined;
+    uint16_t nominal_value;
+} __attribute__ ((packed));
+
+/* SMBIOS type 27 - Cooling Device */
+struct smbios_type_27 {
+    struct smbios_structure_header header;
+    uint16_t temperature_probe_handle;
+    uint8_t device_type_and_status;
+    uint8_t cooling_unit_group;
+    uint32_t oem_defined;
+    uint16_t nominal_speed;
+    uint8_t description_str;
+} __attribute__ ((packed));
+
+/* SMBIOS type 28 - Temperature Probe */
+struct smbios_type_28 {
+    struct smbios_structure_header header;
+    uint8_t description_str;
+    uint8_t location_and_status;
+    uint16_t maximum_value;
+    uint16_t minimum_value;
+    uint16_t resolution;
+    uint16_t tolerance;
+    uint16_t accuracy;
+    uint32_t oem_defined;
+    uint16_t nominal_value;
+} __attribute__ ((packed));
+
 /* SMBIOS type 32 - System Boot Information */
 struct smbios_type_32 {
     struct smbios_structure_header header;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Jan 14 10:39:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 10:39:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257585.442713 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8JzK-0001ms-FI; Fri, 14 Jan 2022 10:39:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257585.442713; Fri, 14 Jan 2022 10:39:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8JzK-0001ml-CE; Fri, 14 Jan 2022 10:39:18 +0000
Received: by outflank-mailman (input) for mailman id 257585;
 Fri, 14 Jan 2022 10:39:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cu2m=R6=cantab.net=dvrabel@srs-se1.protection.inumbo.net>)
 id 1n8JzI-0001mf-N8
 for xen-devel@lists.xenproject.org; Fri, 14 Jan 2022 10:39:16 +0000
Received: from smarthost01c.sbp.mail.zen.net.uk
 (smarthost01c.sbp.mail.zen.net.uk [212.23.1.5])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3753488d-7526-11ec-9bbc-9dff3e4ee8c5;
 Fri, 14 Jan 2022 11:39:15 +0100 (CET)
Received: from [82.70.146.41] (helo=pear.davidvrabel.org.uk)
 by smarthost01c.sbp.mail.zen.net.uk with esmtps
 (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1)
 (envelope-from <dvrabel@cantab.net>)
 id 1n8JzE-0003Ce-DN; Fri, 14 Jan 2022 10:39:12 +0000
Received: from apple.davidvrabel.org.uk ([82.70.146.43])
 by pear.davidvrabel.org.uk with esmtp (Exim 4.92)
 (envelope-from <dvrabel@cantab.net>)
 id 1n8Jz6-0003ie-1J; Fri, 14 Jan 2022 10:39:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3753488d-7526-11ec-9bbc-9dff3e4ee8c5
Message-ID: <0a6e1a87-5ad5-f434-5b80-acd1aae01378@cantab.net>
Date: Fri, 14 Jan 2022 10:39:03 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: David Vrabel <dvrabel@amazon.co.uk>, xen-devel@lists.xenproject.org,
 Paul Durrant <paul@xen.org>
References: <20220107125542.212725-1-dvrabel@amazon.co.uk>
 <2b137ad7-a022-bc6d-5551-3c01aa179261@suse.com>
From: David Vrabel <dvrabel@cantab.net>
In-Reply-To: <2b137ad7-a022-bc6d-5551-3c01aa179261@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-SA-Exim-Connect-IP: 82.70.146.43
X-SA-Exim-Mail-From: dvrabel@cantab.net
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on
	pear.davidvrabel.org.uk
X-Spam-Level: 
X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,SPF_NEUTRAL
	autolearn=no autolearn_force=no version=3.4.2
Subject: Re: [PATCH] x86/hvm: reserve another HVM context save record ID for
 Amazon
X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000)
X-SA-Exim-Scanned: Yes (on pear.davidvrabel.org.uk)
X-Originating-smarthost01c-IP: [82.70.146.41]
Feedback-ID: 82.70.146.41



On 14/01/2022 07:08, Jan Beulich wrote:
> On 07.01.2022 13:55, David Vrabel wrote:
>> Amazon's guest transparent live migration work needs another save
>> record (for event channel upcall vectors). Reserve another HVM context
>> save record ID for this.
> 
> I have to admit that I have reservations: I didn't really like seeing
> the original range getting reserved. Even less so I'd like to see
> extensions / further such reservations. The more that iirc the
> original reservation was accepted based on a (perhaps vague) promise
> of the respective uses actually getting upstreamed. Yet that hasn't
> happened (nor even started to happen) in slightly over 2 years time,
> iirc.

I think this is fair. I hadn't realized we'd sat on this work for so long.

> What I could see as a compromise is to have, say, vendor ranges
> higher up in number space.

I (personally) would accept removing the reservation entirely -- we 
didn't follow the upstreaming process, so we take the cost of fixing up 
any compatibility issues.

David


From xen-devel-bounces@lists.xenproject.org Fri Jan 14 11:04:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 11:04:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257589.442724 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8KNQ-0004zo-HK; Fri, 14 Jan 2022 11:04:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257589.442724; Fri, 14 Jan 2022 11:04:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8KNQ-0004zh-EF; Fri, 14 Jan 2022 11:04:12 +0000
Received: by outflank-mailman (input) for mailman id 257589;
 Fri, 14 Jan 2022 11:04:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4vmv=R6=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n8KNO-0004zb-6b
 for xen-devel@lists.xenproject.org; Fri, 14 Jan 2022 11:04:10 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b07e63af-7529-11ec-a115-11989b9578b4;
 Fri, 14 Jan 2022 12:04:08 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b07e63af-7529-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642158248;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=Bder9iuJV0gZGiqOWm6tIsVqrHfjhmz7PjxUr33W43Q=;
  b=Blyy7PsrJBZnRc2ureiiTqEfKsHbGC1qXwZy+SZQrzBjiCFzXE2jZjF0
   OBt2775Mi73r45etR6+6JZ/UI7Ac8cDqlwaC1ldoc3vwLVBqtK8cQyrvN
   ERhL3vBko1PPPIFYSYZ1Z0G8O2TQRfoR7PBGN7scM2PbOBwwNtms0/Vx4
   E=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: DT2odk/Hy2YPAAVP+BD4yB4VPbSmZG4hxAdLkJ8EzAVQ4Ow3DcIq/KU9YcDZ7ejlCU+0PS0fXH
 7ZbtIsVWNvn+CRmqh5Q9solDRb8nXAR/Dl+dnfBo2IsNsKYNCpMDmhAtAr/KY+82sRI+3wpwuq
 yZhj2HYZ6Se/TZyuh3d4KBZMePxJEPGU+XZ3rZX+MwHa4eWXYw/FktyY68MVngEikyKy6N8fGb
 mvYgpRX/pPfPGlSOWIGeauaejOYuWGxPon0loAq35eCulF0Ez4qXD/0WIjvyv3cXuLOFu2/vex
 Yws/m/MpUzEDc0E+Q5Q4UYND
X-SBRS: 5.2
X-MesageID: 62406495
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:mwviRqD0neYr0xVW/8/kw5YqxClBgxIJ4kV8jS/XYbTApG53hTwBz
 zEeWm+EPP6OYGb3ctF0aoW1pBlXsJ/QnINhQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMo/u1Si6FatANl1ElvU2zbue6WL6s1hxZH1c+En940E47wYbVv6Yz6TSHK1LV0
 T/Ni5W31G+Ng1aY5UpNtspvADs21BjDkGtwUm4WPJinj3eH/5UhN7oNJLnZEpfNatI88thW5
 Qr05OrREmvxp3/BAz4++1rxWhVirrX6ZWBihpfKMkQLb9crSiEai84G2PQghUh/rDmDsPlWl
 9x2lpGWGV4pPerXmdQEXEwNe81+FfUuFL7vJHG+tYqYzlHccmuqyPJrZK00FdRGoKAtWzgIr
 KFGbmBWBvyAr7veLLaTUO5ji95lNMD2FIgepmth3XfSCvNOrZXrHf+WvYEEjWpYasZmIMzaS
 OwGeAhTRy/jej0MOWsIMZgdtbL97pX4W2IB8w/EzUYt2EDMyCRh3b6rN8DaEvSob8hImkeTp
 krd4n/0RBodMbS32TeDt36hmOLLtSf6Q54JUq218OZwh1+ezXBVDwcZPWZXutHg1BT4AYgGb
 RVJpGx+9sDe6XBHUPHaUxeXiVnbtyU/VvwASu05rxqM+rPbtlPx6nc/chZNb9kvtckTTDMs1
 0OUk96BOQGDoIF5WlrGqO7K8Gra1Tw9aDZbOHRaFVdtD8zL/dlr5i8jWOqPB0JcYjfdPTjri
 w6HoyEl71n4pZ5ajv7rlbwrbt/Fm3QocuLXzlmGNo5GxlkgDGJAW2BOwQKLhRqnBNzIJmRtR
 FBex6CjABkmVPlhbhClTuQXB62O7P2YKjDailMHN8B/q271qi/+JdoKumsWyKJV3iAsI2+Bj
 Kj741I52XOuFCHyMf8fj3yZVqzGMpQM5fy6D6uJP7Kik7B6dROd/TEGWKJj9zuFraTYqolmY
 c3zWZ/1VR4yUP07pBLrGbt1+eJ1l0gWmDOCLbimnk/P+efPOxaopUItbQHmghYRtv3U+W04M
 r93aqO39vmoeLavPXmMr99CdABiwLpSLcmelvG7v9Wre2JOMGogF+XQ0fUmfYlklL5SjeDG4
 je2XUow9bY1rSSvxdyiZi8xZbXxc4x4qH5nbyUgMUzxgyooYJq17bdZfJwyJOF1+OtmxP9yb
 v8EZ8TfXagfFmWZo2wQPcvnsYhvVBW3ngbSbSCrVycyIsx7TAvT9966Iga2rHsSDjC6vNcVq
 qG70l+JWoIKQglvVZ6EaP+mw16rk2IaneZ+AxnBLtVJIR2++4l2MS3hyPQwJphUexnEwzKb0
 SeQAAsZ+raR89NkroGRiPnd/YmzEuZ4Ek5LJEXh7O67ZXvA426u4Y5cS+LULzrTY3z5pfe5b
 uJPwvCibPBexARWs5BxGqpAxL4l44e9vKdTywlpESmZb1mvDb88cHCK0dMW6/9Iz75d/wC3R
 liO6p9RPrDQYJHpF1sYJQwEaOWf1K5LxmmOvKpteEiqtjVq+LenUFlJO0jegSNQG7J5LYc5z
 Lpzo8UR8QG+1kInP9vuYvq4LIhQwqjsi5kai6w=
IronPort-HdrOrdr: A9a23:WMvA46sTUilefKIbkZNioPds7skC7oMji2hC6mlwRA09TyXGra
 +TdaUguSMc1gx9ZJhBo7G90KnpewK6yXdQ2/hqAV7EZniahILIFvAY0WKG+VPd8kLFh4xgPM
 tbAs1D4ZjLfCRHZKXBkXiF+rQbsaC6GcmT7I+0pRcdLj2CKZsQlzuRYjzrbHGeLzM2Y6bReq
 Dsgvau8FGbCAsqh4mAdzI4dtmGg+eOuIPtYBYACRJiwA6SjQmw4Lq/NxSDxB8RXx5G3L9nqA
 H+4kHEz5Tml8v+5g7X1mfV4ZgTsNz9yuFbDMjJrsQOMD3jhiuheYwkcbyfuzIepv2p9T8R4Z
 PxiiZlG/42x2Laf2mzrxeo8w780Aw243un8lOciWuLm72OeBsKT+56wa5JeBrQ7EQt+Ptm1r
 hQ4m6fv51LSTvdgSXU/bHzJl9Xv3vxhUBnvf8YjnRZX4dbQqRWt5Yj8ERcF4pFND7m6bogDP
 JlAKjnlblrmGuhHjDkV1RUsZ+RtixZJGbFfqFCgL3Y79FupgE586NCr/Zv20vp9/oGOu55Dq
 r/Q+BVfYp1P7wrhJRGdZM8qPuMexzwqC33QRCvyHTcZeg60iH22tbKCItc3pDeRHVP9up0pK
 j8
X-IronPort-AV: E=Sophos;i="5.88,288,1635220800"; 
   d="scan'208";a="62406495"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=B7fmZOakfzOryZEjWUfiE4EI0rWBIZ0+gO/FiFtPajdvdrDXLidRYHlGt0CSeUFgVXZC5BnfSnY6IKOsiRC4cKmWOTj2gUroTUaCpVlbb/+jqb5vfyBrYosyreB1unYCSru36byzz+UsXw+6veVTfDy1WRyQQYs7V74fb1zt3uaPx2j5qwUIlT6GVDpkECZA0TviEZNdS1jjpYaZakaB8HJqW07rr6UoB3BASSf2ZD2csjB8M2GVBhERNxbX2bV5NyQ6JY1ugzC4WP7FNNCvt+s4qb90kFFlf1wwW2BVtUrIxhJgsuOz3B8hF2EbHKs4URFoKmNbAuriSxGdEhqATg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vX4s1XTaRd3vZWE16I9OSw7I+ezIlLa+hzLe3Lseh8k=;
 b=DJg1g0YZDZRqvNtwrSTuJTbpES3BK9L90pC+38nmxCiqtroy6D6w3xEJaD7b9mbJN7qU/PQm8/U5caaAMvp+L2DQzOp94ualHeFcp3Qo9sW0dia5Z1BJ8XRtqpp2xZ6mX/7qTSalhIkSQMenp6gdvbP2oqRsUXTzRt1BbYWCa8cEkakjfKgOhalAdsjk+1xXTD2sGV6DeByixMInbL83wePOJM4INnoSqnpip2pNaSl1T1NdXNIyoMtP3fRZM4/hbQBQsMcjTb5X0AaOnlOw7Wfu6+8NSec0mPsNE06dhpgOywIjMiF26jJxFCVGrIDqMZgi4PFLGgQiY5QvxEmrAg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vX4s1XTaRd3vZWE16I9OSw7I+ezIlLa+hzLe3Lseh8k=;
 b=qocHt1zGJ1AZ3qZCij0Op92V0K3P4VF9vtDuoNm99Y1txQrAbXsNb7cR4rXJB7ofDEI3h4VuKoecHq3hIgCrDKq6iCWrUGHJOnP5wNjqk2FLYNQyq74E3mYUgwHisFIjfYPy3UZeQ2Jh6Ud2jagxxNDTttiqiIH32ocFyhy8Go8=
Date: Fri, 14 Jan 2022 12:03:57 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich
	<JBeulich@suse.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH 1/3] x86/msr: Split MSR_SPEC_CTRL handling
Message-ID: <YeFYnauq0hkwv5+a@Air-de-Roger>
References: <20220113163833.3831-1-andrew.cooper3@citrix.com>
 <20220113163833.3831-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20220113163833.3831-2-andrew.cooper3@citrix.com>
X-ClientProxiedBy: MR2P264CA0174.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501::13)
 To DS7PR03MB5608.namprd03.prod.outlook.com (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f5d1b6b5-f470-4953-8c3d-08d9d74d92a8
X-MS-TrafficTypeDiagnostic: DS7PR03MB5525:EE_
X-Microsoft-Antispam-PRVS: <DS7PR03MB552541144B5AF45815D24EC78F549@DS7PR03MB5525.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: 83Qxf3I2ccHkXxxNuL1P1506Z3XkIa4jFgLKNBrqs9CbYGmjtdP4MK/4OYTIc9lPDhO0EIzMGWNBEdCU/TlHmeTzi03S9NtfFbScCz9ixE+PCKvoURyOStTALhwyf+VE9jVl+NYAKPmIoKtRYpCxDptjmZounQBcU81N0psu1+Vj1c6hLUYtHhdhaNj/rv747V/LaXfffJh35YU5y0iWfRSyG2sB1PeJ3v5sUe8/XP/QuD+kmxFkJuLBts+m02rGAN8w+L9/p0nkZ07aGsYhOigx5VskkORY4t9NHDa0n0/KbW/bHc8Ep39jIPhB6P5fJyeSwnKlY2PCC3MYxItnWvfv+5DWb+c3I7rpHIkBdSKBmV1PjzqTjcHpAN5MBf9+ayDZmtMpTa8su9mURLcDi34CgbM+QEYQHsF+0jYWPX83vShqlffzN93bwcWk47xkn/ZChb1ZuZxZDeDbV+XJ+4Zl+CO8A2KuNZ7ep+eK/vR8r6wMZy5HT24F3FtsKWOEHmqs5BYGzOJ6HiSTgZGx+gu+ULD6PusiZpSQj8eLGE9fY3oTx05DVPjE5eiCdenxDKc8xaBJ3OOvy0ATccllehvSULUxs5H3rz5z6gfhwSbLXPB5engtWbAXPRLjSj4eiReq2/lhWMvhlK4UxQhJMXC6mM/HLTTvXy/uq4Gc7uYz+giYj3wzcE8vShkb7CJN7awRL1y9v1BuK7RC+DJG9g==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(6636002)(6486002)(5660300002)(6862004)(66476007)(33716001)(66556008)(66946007)(4326008)(4744005)(6666004)(508600001)(38100700002)(83380400001)(82960400001)(8676002)(186003)(6506007)(54906003)(316002)(8936002)(26005)(9686003)(6512007)(86362001)(2906002)(85182001)(67856001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RnJNOHlTdWxvbXNCMUwrcURLYllUd1JRMytsaHdnaThjY0hBWW4rdzZFUFBI?=
 =?utf-8?B?ZXBZU29vQTZkcVVhYU1LYWRwTU1WN2RRWmFwTVQ1L2FNOFpzRFFCK1JIWFRH?=
 =?utf-8?B?aXZlYXZlKzludEVrRmc3R1FtMzJDdGFTWGNTcnBMS1AvcmVubTEyZVcwTTVh?=
 =?utf-8?B?ejhnUEtNOGM2RjFaUnNzbmRuSnl4eThiVWNqa1ZyM1hiOWVFd1FMT0RCZU5o?=
 =?utf-8?B?RGhFZWI3Y0h6SWZ1YXVtUGJQUkJNaHdrVExWMEZDQkU0VVd0VmpnOWNXN1dX?=
 =?utf-8?B?NTJQcUUweVlvREpaK1hQSlN2dG8rRkJ5MGM4TnFHT3E5RFoxUFU5bGYwd1Vx?=
 =?utf-8?B?ZG5tYmJQWUljMzhzL1NCQnBOQndPaGxmV2lTSllXSDNQc3F1UTNBWldNa1Ey?=
 =?utf-8?B?MUt3M1ZWTVE4ay9OMjQ4a0hHbWY5VlVmV04vSVhFYkhVV2pabW0vK1RIVjBP?=
 =?utf-8?B?UEcxSUo5ZTVXb0ExMEZOOXp1a3h4MktDUS85c1hlQWhLK0VmWU92TFVML052?=
 =?utf-8?B?ZUdoLy9VbEJCNlR3MlVxVkNIbGQycDZ2QlRscCtvdDdkemxDREEwL0thV2xS?=
 =?utf-8?B?L2V4YURIdUVpbG5weGtVd1BBa0RhWU1TYUhqZFpUWEZOMDZEZk5tRE9JVVdm?=
 =?utf-8?B?eWFEbGpFSTlvZmtneXI2eGR5QVNzdEVoT0Y5QVFqWjZUMU00eGlKTEhUbXVF?=
 =?utf-8?B?RVc2QTd4NW83TUNScVN6OXhGbHp4VE0rVFNqWmNwWTJPNk1pUHcyeGRoUlhu?=
 =?utf-8?B?QnZIU0ZyV1VpMjFrcXV5Ym9lOUhFcVBrSzY2MDE2ejhMT1FHekpSUjRyZ1B0?=
 =?utf-8?B?ZS9Id0g5aTN3WFFMSG95SStGRXEwVmJqem10OCtLMjgvZkNCa1NZSWxDSVV3?=
 =?utf-8?B?OWdzc1pZQjFIQkp3QkY3UHF2ak5BbWFNbzVUYmZVL0RvOEZKQ0NRZmdMOEZm?=
 =?utf-8?B?NklrNWMwZENxZjM5R2ZGWDM4RnZQWU5PMUJDTW0zRTEwcUVCK0Q2b3hMVllY?=
 =?utf-8?B?NzhUSEdDbS9weTVtdnMwV0tYZC8rVWliQ29HQnFWOGFuWnQyY2FzTHdNTk9p?=
 =?utf-8?B?ekFkd0l3M3FQTnFhQmVtd0V4WGU0ZHJnVmYwU2c0YlBRMHVKS1hyQ1hJWWVo?=
 =?utf-8?B?cFJxaDJEanNEUEIwTWp1b0dBSTZSUkpaZFp6ZEZoZHZsUW9kZFJzdEd0cG1T?=
 =?utf-8?B?ajA4WWg2WXppQzhRRUFGT2xGT0RsNmtVMUpNRmYrOTluekVjMnk4NjBGbVBR?=
 =?utf-8?B?cmR2VXFYYlNHeFpUNGE3bEhyeTRTMzlCWUM3dFpsbU96VC9DcldBOEtpVFdt?=
 =?utf-8?B?NXdmSUVqVDNObGVhaFVhMEdZWHdNTzRTc3Bwc1RiYkhOY2MxYjdTWnQ3T2o3?=
 =?utf-8?B?UkNUaG5QbU1rRldIckpLaVBCUzhsWXhJb2VWZ1JmeXNJZm03aEh4cHNIY0FV?=
 =?utf-8?B?RkZVU3VNQm91dHVnVWF6bFArbGJnSmcydjVJT3VHWXBsVTcxVlcwZnZJbDhR?=
 =?utf-8?B?VkVKZjNTMzAwZEhZemRTL0V5TUtCeHhWTWVGSWxEQ1VUZXp0VEY1MVBDR1l4?=
 =?utf-8?B?OG9HRUFEcFRTeWd3WHN2RlRta2lDQWZ3S1pDM2tmRUEycFdXYUpnZGd6am1a?=
 =?utf-8?B?amt3ZUExTUkwTExjM2JTS3RjL2tPRXBuSXRjSGxubU04Tm41elFhVGx2Tmt4?=
 =?utf-8?B?OWlJenIvRGZuSWdzc0p3T1g5UXN0S2NoaVg2MlBRNGFUOWxPT1lJWU9NdVFu?=
 =?utf-8?B?RlI2RjI5QWtLbFJPdCtjamxGTFF4NG9jRHF1cTBzRk44L3gzUzZTVzNyTGNZ?=
 =?utf-8?B?VXk4ZWI1b2RnYWZxOUFoZ2J0eEQrWUtOSUhqOEh2Qld3eGNxSUpjOFJwTVRH?=
 =?utf-8?B?elMxWTlaZWN0Q0xRU2JNVGQyK3p4dEU0dXJBdVhtc3MvU1BiK3owd3NFWDF4?=
 =?utf-8?B?L2tENjIrVjVRL29KbXp3VnlnWjdhcGJBdDlUMkpRbmRodGJEKzhSbi9BRENp?=
 =?utf-8?B?N1R3bVZ5N3llRGZmeXdWYXdYVzVYYWJ2OWhFeC9ibFpQOVlzd1B6VUpSUnQr?=
 =?utf-8?B?YVFma01maEVpUEMyN1djeW5jZkh1L3hJYjd2VWxiM1VOYzAvN2ZGc0lDZENw?=
 =?utf-8?B?bVJCVVdKbjl1dzlMSzhDRm9IS09mUzJXRjB5eVhxYitmNnhqRjhKcTMyUTZW?=
 =?utf-8?Q?5UuqjX7IN9BT7tcfsJuwr4U=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: f5d1b6b5-f470-4953-8c3d-08d9d74d92a8
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jan 2022 11:04:02.9014
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: GKAz1bu6GervYCjvR5imbMjjPRgazdub3ANH4qvLCwPoLECkKYWF9YtZ/tXscdYoE3/ixNdKUQ7qOerckc2SbQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5525
X-OriginatorOrg: citrix.com

On Thu, Jan 13, 2022 at 04:38:31PM +0000, Andrew Cooper wrote:
> In order to fix a VT-x bug, and support MSR_SPEC_CTRL on AMD, there will need
> to be three different access methods for where the guest's value lives.
> However, it would be better not to duplicate the #GP checking logic.
> 
> guest_{rd,wr}msr() are always called first in the PV and HVM MSR paths, so we
> can repurpose X86EMUL_UNHANDLEABLE slightly for this.  This is going to be a
> common pattern for other MSRs too in the future.
> 
> Duplicate the msrs->spec_ctrl.raw accesses in the PV and VT-x paths for now.
> The SVM path is currently unreachable because of the CPUID policy.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

It feels a bit weird to have the checks separated from the actual
access to the MSR data, but that's likely better than to replicate the
checks in both the PV and HVM vendor paths.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Jan 14 11:43:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 11:43:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257594.442735 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8Kya-0000pr-Kr; Fri, 14 Jan 2022 11:42:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257594.442735; Fri, 14 Jan 2022 11:42:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8Kya-0000pk-Hj; Fri, 14 Jan 2022 11:42:36 +0000
Received: by outflank-mailman (input) for mailman id 257594;
 Fri, 14 Jan 2022 11:42:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4vmv=R6=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n8KyZ-0000pe-Ov
 for xen-devel@lists.xenproject.org; Fri, 14 Jan 2022 11:42:35 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0e6f13a3-752f-11ec-9bbc-9dff3e4ee8c5;
 Fri, 14 Jan 2022 12:42:32 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0e6f13a3-752f-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642160552;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=FJfpoZ+6gDpDYZBKFk6zO6tUDyNl8oOgYMJz2Q1q4mA=;
  b=GBMyC0Mk2qHYdF1F2SmMWRBtci/RyCkpnYvqndYLzLYIG/7fPC5EWosT
   ZzOi9qEYX8g0oN+UzE8YM1VhLuMLsFiy/kJh9pq8yKnE6BQxezDGfz4q+
   uxgyGghKP0Wsh5nBVcWW+zhKeaUa+N0IryXK3p1kUd8bbW+JoBTeE0SGD
   0=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: FaA+GzfW5mCS8DJ2s/y+pXlPY9YcqQgXejYyAEr8J7x160Lt9HOdU1AQPdixitrwwCuzPUqVAk
 If/pSE+4z3APwi5qqUJO6nAq4ZDRC1VnqBg858UWtNqMdFHbSeSstQaCIh7qoR824+ANIl1xmT
 XHYxhrXiO10PIJl8qWMCyudiWpB8/H5NKU7AtYUJbqJcH+YXmDlw51vyHWdITNHQ+lV5lGJ6Tf
 OKguDxOwmaZLguXFnQOUCq1p+UxDryTfeuRFiM4RyN1Jc9COBXEZcWSe4NpTAepXQkux/HZKzZ
 AN1vb5CxgRjjc3MW/1Ki9/Sx
X-SBRS: 5.2
X-MesageID: 62003464
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:1V/U/60uDZZumRHZ1/bD5Ud2kn2cJEfYwER7XKvMYLTBsI5bpzICx
 mRJX2qFPf3ZZWvzfIxxYYnjoBwF7Z6Ay4BhGVZopC1hF35El5HIVI+TRqvS04J+DSFhoGZPt
 Zh2hgzodZhsJpPkS5PE3oHJ9RGQ74nRLlbHILOCanAZqTNMEn9700o6wrJh2OaEvPDia++zk
 YKqyyHgEAfNNw5cagr4PIra9XuDFNyr0N8plgRWicJj5TcypFFMZH4rHomjLmOQf2VhNrXSq
 9Avbl2O1jixEx8FUrtJm1tgG6EAaua60QOm0hK6V0U+6/TrS+NbPqsTbZIhhUlrZzqhlsFM9
 dAVh5uLGCgCP6bJs+1MDzsAKnQrVUFG0OevzXmXtMWSywvNcmf2wuUoB0YzVWEa0r8pWycUr
 6VecW1TKEDY7w616OvTpu1EnMMsIdOtJIoCknph0SvYHbAtRpWrr6Diu4UAhGxs2Jwm8fD2N
 uw0SiI2RSX8bQRXfWoaFLlgm7n5mSyqG9FfgA3M/vdmi4TJ9yRzzb6rNtPWc96LQMx9n0CEq
 2aA9GP8ajkZOcKez3yZ83uqru7JgS7/HokVEdWQ6fpCkFCVgGsJB3U+RVa95PW0lEO6c9ZeM
 FAPvDojq7Ao806mRcW7WAe3yFamlBMBX9tbE8Uh9RqAjKHT5m6k6nMsF2AbLoZ87YlvGGJsh
 gThc87V6SJHuayodHfFxLCv/ByZOCMQBmZTOQ1cdF5QizX8m70bghXKR9dlNae6iNzpBD39q
 wy3QDgCa6Y71pBSifjilbzTq3f1/8WSEFZpjunCdj/9tmtEiJiZi5tEALQxxdJJN86nQ1aIp
 xDocODOvblVXflheMFgKdjh/Y1FBd7ZYVUwYnY1RvHNEghBHVb5Lei8BxkkdS9U3j4sI2OBX
 aMqkVo5CGVvFHWrd7RrRIm6Ft4ny6Ptffy8CKyONosfP8ArLlXdlM2LWaJ29zq9+KTLuftuU
 ap3jO72VSpKYUiZ5GfeqxghPU8DmXllmDK7qWHTxBW7y7uODEN5up9eWGZimtsRtfveyC2Mq
 o43H5LTl313DbOiCgGKr997BQ1afBATWMGtw+QKJ7HrH+aTMDx7YxMn6el/K9UNcmU8vrqgw
 0xRrWcDmQWv3iOWeFzaAp2hAZu2NatCQbsAFXVEFX6j2mQ5YJbp66EadpAteqIg+vAlxvlxJ
 8Tpse3ZahiWYjiYqTkbc7fnq4luKEaiiQ6UZnL3azkjZZ9wAQfO/4a8LAfo8SAPCAuxtNc//
 OL8hl+KH8JbSlQwFtvSZdKu00i14SoXltVtUhaaOdJUYkjtrtRncnSjkv8tLsgQAhzf3T/Gh
 R2OCBIVqLCV8Y84+dXEn46eqIKtH7csF0ZWBTCDv723KTPb7iyoxooZCLSEejXUVWXV/qS+Z
 LoKk6GgYaNfxFsT6thyCbdmy6469uDDnb4Cw1Q2BmjPYnSqFqhkfiuM0/5Qu/Af3bReowa3B
 B6Co4EIJbWTNcr5O1cNPw55PP+b3PQZlzSOv/Q4JEL2uH1+8LadCBgAOhCNjGpWLadvMZNjy
 uAk4ZZE5wu6gxssE9CHkiELqDjcci1eC/0q5sMAHYvmqgs30VUTM5XTBxj/7IyLd9gRYFIhJ
 SWZhfaairlRrqYYn6HfyZQZMTJhuKkz
IronPort-HdrOrdr: A9a23:3KfMRq8m7Qqcvvhbn4luk+FHdb1zdoMgy1knxilNoENuHfBwxv
 rDoB1E73LJYVYqOU3Jmbi7Sc69qFfnhORICO4qTMqftWjdyRCVxeRZg7cKrAeQeREWmtQtsJ
 uINpIOdOEYbmIK/PoSgjPIaurIqePvmMvD5Za8854ud3ATV0gJ1XYGNu/xKDwReOApP+tcKH
 LKjfA32AZINE5nJPhSQRI+Lp3+juyOsKijTQ8NBhYh5gXLpTS06ITiGxzd+hsFSTtAzZor7G
 CAymXCl+memsD+7iWZ+37Y7pxQltek4txfBPaUgsxQDjn3kA6naKloRrXHljEop+OE7kosjb
 D30lodFvU2z0mUUnC+oBPr1QWl+DEy60X6wVvdunfnqdyRfkNyN+NxwaZiNjfJ4Uspu99xlI
 hR2XiCipZRBRTc2Azg+tnhTXhR5wuJiEtntdRWo21UUIMYZrMUh5cY5llpHJAJGz+/wJw7Ed
 NpENrX6J9tAB2nhkjizypSKeGXLzYO9k/seDlGhiXV6UkYoJlB9TpZ+CRF9U1wsK7USPF/lp
 L52+pT5fZzp/QtHNFA7dE6MLyK41z2MGLx2V2pUCba/YE8SjrwQs3Mkf4IDN/DQu198HJ1ou
 WGbG9l
X-IronPort-AV: E=Sophos;i="5.88,288,1635220800"; 
   d="scan'208";a="62003464"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VmhLWc17c2RObNfY5966wKbF38ckEXj82BQiPiXrUBjrpAEbuyhRRPj3KmvO4lZFS780Bhcp2B/bMbuI2C1iQd1bZTnIcjaDV0V17wvX1CT1UxvB9eq1DMgSqdVGLAP+Y1wda2As1p4JEAJBhKt7phJ06fDImA0j9QN8lNGSR5kKhsqU8PiRIo/z7dZdH1Ey4W8zfbtjcGQhKhFVeV8evrjJXWhUDK0Qu5b//c2qmsDL8X0vP1w8MqvS+RAjN2aCxlboMhcYSJaPIfGAhsKEUg0B9RXwMLpDn5IgfOCNsPnnKsYDSUVFN3B0dj9osBNmQat9lBSIz/0a+Em0+epasw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nYfUpilo4bKhulzJpESt5zmPDnxBogKMWjnH9flX1Os=;
 b=hbDZuBrRpxhAgxtX98jMjB3qXcrCeG54YchSd6Rnu7XJr4MtBPa47CfjTZUUx09joQGomQcsfLl7uV1VVr1+fba1P4nrS/wp6XRbLBhb3NztkWwtIBDR82QIP9RYk+gWKCHXrRnWCuYgDK6y3iCaQR9hRDQ8feuZYMgU2SXb1BrJHtA3yUSekQOt1PvVboHr6SmlqQgIVL+hEGlsLnlUZX/x6hLcCH85INOf8FGYYucN8H4FI2qgy+59AwQqRdkX109J7GCIiBbUOGOdBQXqEYCWg07ThiopBXTENGsBTTY+xuRcD6f5sS1C6ndNhgFtTF9/Rf0yKAszQRG4JLGVjQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nYfUpilo4bKhulzJpESt5zmPDnxBogKMWjnH9flX1Os=;
 b=SAFz5an1shIkcMDOR4vLeSf4cKINxNIur2Ut51XhYn8tbjt82mdT+N16QbdCDnfvqVRcS+uVY6coz5v4uhQ5T+0NobVZLpPCD++RTUI3fnqMF3kZYYdU4pNwxzAR7TRSuVTRvKI75JbGYfFapmCzkyjMcicluInJpfRzEbWyuEE=
Date: Fri, 14 Jan 2022 12:42:16 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich
	<JBeulich@suse.com>, Wei Liu <wl@xen.org>, Jun Nakajima
	<jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>
Subject: Re: [PATCH 2/3] x86/spec-ctrl: Drop
 SPEC_CTRL_{ENTRY_FROM,EXIT_TO}_HVM
Message-ID: <YeFhmM0deHmdYOEW@Air-de-Roger>
References: <20220113163833.3831-1-andrew.cooper3@citrix.com>
 <20220113163833.3831-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20220113163833.3831-3-andrew.cooper3@citrix.com>
X-ClientProxiedBy: MRXP264CA0047.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:14::35) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8b62dfda-9b30-4623-dd9c-08d9d752ed3b
X-MS-TrafficTypeDiagnostic: DM6PR03MB4378:EE_
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr
X-Microsoft-Antispam-PRVS: <DM6PR03MB437890B8EA3A705C8ADF13F68F549@DM6PR03MB4378.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: UWFTlArM2ihMosVu8V+3osFW6iN6hymlaZ8/jHsrcBowG41cm01xWoHXGOamj3eQ4trwJc64fpbdfTjOautlDf2UnTav1m1BNiU2asBTRQqsSQiqK+x/fqV1wHEeP6cZf0nyENa4EdrIuzaCoKPHOvdTpzlh6eDnyvzTiJOhQ8EF/WA46wPAndB6OaovOPn2DCU4s6tTRNs+Hy71SmQAbVPbcUax0TUhIJFqV1etrUoWemQQNvVhGKXqJbCBW4Qmo7NOQsK5li5qhgXPTwp9qfuwy3n+T9NH0ATkILEM+S/lObmcd9yMigk0DmYmRywZ+26fZyl8ZJjbjqouz26PZSkTNZBa9E/E6ifvK36s1zRfrVvkyXk9hIxbH21FmoetX4htrhvhfcAVdEi1hC6V28iSfQRo5h0KXiSPfeSiRexBrcJYtyZVXG5LQ62qb4VFVpeUO4aZ9m65dETT6bcNu+OLvL20ygrQ5AWLze71yF09piTYXvVmEyOqUR5HH7Dy6X4TIUWySNBaSQgDiDs8n8/GD8NPKbLaGfbUuFXBBoCHmMV+YNKmodKsGjoQTOI5Zs5gqyS9k1y5mpHJUDI6/TnjyUcUpQ/z7eEeRZzuWuHe/1dkr13ubp1LJeHrDFN5vu6MFL4EX30z7ubI4z6bHw==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(85182001)(2906002)(186003)(4326008)(86362001)(26005)(6862004)(82960400001)(4744005)(8676002)(6666004)(66476007)(54906003)(8936002)(33716001)(38100700002)(6636002)(66946007)(6506007)(508600001)(6486002)(6512007)(5660300002)(66556008)(316002)(9686003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TzF5bXVTMlJuSFpzNkhydm5pOUh5Yk1peUprTC9TRzNndDNOYUNiZHV0WTN0?=
 =?utf-8?B?djFzbkpJZ09yeUpEK3pyUExCTTJSMVFONHR5NHR0Qk9Mb1MwY0FVcVEwTXFy?=
 =?utf-8?B?a2FhaDV3RGx0R1N4K3BOMmZrZ1F6SDUyejhibTAwdGdnVDl0UXEvNmdQaHA1?=
 =?utf-8?B?YmFoTUxEQWw5RVNORVZkV3AvdE5iSEQ4MVZtODdFVU1lYVByb3laMGR3VVhS?=
 =?utf-8?B?dVE1em5hdFVpYnAyM0Q2ZTlyN2RWYzJJYmVIYWVrZUZjdHl6T2x5Y1lJVjA0?=
 =?utf-8?B?eEFFWUJLR2FacEpXT2FRZmh2THZvZjd3cERKTjJuZ25XeUlZUUxrZ1JLTGta?=
 =?utf-8?B?MHpwUE9nZnI0OWlIQ2w2SDRKM2lmU1FQNTdMNys2K3hKSVBNZU1qQXliUlZv?=
 =?utf-8?B?TFhXNnhoY2lpVjloWUlDbWxsNE5mRVpkNERyNU1DREdpSmlicFMrMDkwVUo5?=
 =?utf-8?B?K1BuQWRHaXVUczZQZGJLU1NPU2JWeHBtTXZJRk1ic1lqeUh0dVl4S1BtQlpy?=
 =?utf-8?B?aHZvRmRPVWNUUmw3ZnBNNEtGQ1JkY0EvRTdGUlFuSDZaK0FzS0dybzVjcnpJ?=
 =?utf-8?B?ZEx2emtVaURDM0wybzBramt3b05LM3JIUDBpY1VPTlBKblE3TG5lRjBrRmVQ?=
 =?utf-8?B?Q0J0MjZMMEtScm5SQjBTc3BVNmV4aFc5SlVPbzJHSjBFQiszZXdyUytaeEts?=
 =?utf-8?B?Nnpha1NwYmV0TmpqR0ZaUU15Y2h6WEVGNmg0bCtNV3F5Uk93OENYK2pFN2Qy?=
 =?utf-8?B?cThQcC9BZENvUUorTG05dUtPWExJMDI2d0hNdmVNcWh3QkNwdnExdEtvcnVO?=
 =?utf-8?B?Z3QrYmJvQzhUSkx0dTZGRFgrdjYycVorKzBWbW1VaHVyeXd1eEdMOGE0Z1NL?=
 =?utf-8?B?ZGFYc3NVTHJUWGx5MTRCYStGNHVib1lRNEozRTJGYTVnOEkvbWdueFpNaExK?=
 =?utf-8?B?Q2ZLUUYzd3lySnhTckxTMmxqYjF1REpiMjRIY0t0ZUM5K01jRkFUVnlldEh6?=
 =?utf-8?B?bXY3RGJsNmpQZUpCZjRqU3loSDZkYzk4UGNYZjdNN0RHODNnbjdyVGlwa01V?=
 =?utf-8?B?QS9nRDEyNms1S0NQMHVjQXJycTlXR0FsVUlON0tVSVRSZjRXUmN1T1FGZlAr?=
 =?utf-8?B?NjRibEJITDZBdVNscFFqMHdRTnprYStiMVU4N1NFK1o2eElVOUpmaDJEZjZr?=
 =?utf-8?B?aFBTKzV4Y2ZxN2JnVDMrUXdhdWpxeWtDUng2MFJzbVVQNG14SERQV3JNWTI1?=
 =?utf-8?B?WHFOa24yMTBlaFB4T0pTSkt5QTRpc2FyZnp6WUU1enZDazRON2dlQkpQNTZh?=
 =?utf-8?B?RXRHdkZ1N09FajJzSEFBSzJFaDl6ditVZFpaTVpQVmplZXVlNUxxSmxzSCtK?=
 =?utf-8?B?dHBydkRFYXBJcHhIVzVreGJta2RZdmpiRUZTNkZ0bTlkU1FhNkp3V0kzOXcx?=
 =?utf-8?B?ZllLN0pWZWk5c0ltR1llbXhTREdRYTdaK3RQSmF6UEw3RXpUY3NCSmNKOUxt?=
 =?utf-8?B?RFU4akEydTFyK0ZVUm9oYlBtL2MwS2F1cmdJanAzVDNxeEVQYWFNZlJZcUM1?=
 =?utf-8?B?a2V4cTZWeSsvTTR0NFBzWTd5UEZwcGZMcFV3TXFaN3lIUWFnZlJLZzlFUVV1?=
 =?utf-8?B?NzlwZ2JEOWt1QWpxdXhhbHo2SGZFb0JFanY5czlaMUo1UW5WcG1RUVQrdy92?=
 =?utf-8?B?M1VNWmFWVitjbStwSXFNRzE1aWFjRVZaOXE3VVkwZzRHTW5NUFFYYS9wV1M5?=
 =?utf-8?B?V0ovVlVPSXo1S2hrY1BSOGJ0VWJET2lsV0ZkRGZkNDRxbE1zNkZEQXhDWnNx?=
 =?utf-8?B?T08yQlRnK2pNQkdMcVhGQ2NLVHFmMUttQWJIbEhocm0vSC9qeDhRREgyV3M1?=
 =?utf-8?B?c0dLQ3R2dWlHRW1JZk4wa080WU43Wkcyd2lWTHNPVmxTcXllNTRQUU9zN1Qx?=
 =?utf-8?B?R2hGU1BhTDhjYUdhRXlXR1c0OU9mTG1JQzRiWEpHSGVwcUR1Y01BVjQ1eTlQ?=
 =?utf-8?B?bmxYM2FQS2tuVzFnRStNUnhTcHJDWEJtd2JSVFlXVEM4aUROMThSbnNwZkpD?=
 =?utf-8?B?RG1MSGFsTk8xSnp0c1RSdGRPUGg0cHpyaER6TFlUdXdlOGprb3pneHR1UFFh?=
 =?utf-8?B?YTJWUFpRcmMwZUloMXNub0ZlVkxxUnRoNUJhdlNFNHYwbDZCZndoell1QVFl?=
 =?utf-8?Q?Y4B0pRjATJR0wOckAHQSF2c=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 8b62dfda-9b30-4623-dd9c-08d9d752ed3b
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jan 2022 11:42:22.1424
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: uqMwFjTMIOS5eMWhEh+/fKPfaM+tS9/3+eK13aUbOTAZ/5cj6WZ0BS11EzlAHTvyzwlSi0hDK16F+fMi0yK0AQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4378
X-OriginatorOrg: citrix.com

On Thu, Jan 13, 2022 at 04:38:32PM +0000, Andrew Cooper wrote:
> These were written before Spectre/Meltdown went public, and there was large
> uncertainty in how the protections would evolve.  As it turns out, they're
> very specific to Intel hardware, and not very suitable for AMD.
> 
> Expand and drop the macros.  No change at all for VT-x.
> 
> For AMD, the only relevant piece of functionality is DO_OVERWRITE_RSB,
> although we will soon be adding (different) logic to handle MSR_SPEC_CTRL.
> 
> This has a marginal improvement of removing an unconditional pile of long-nops
> from the vmentry/exit path.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

I wonder however if it would be clearer to define
SPEC_CTRL_ENTRY_FROM_{SVM,VMX} and EXIT macros in spec_ctrl_asm.h
(even if just used in a single place) so that all the related SPEC
macros are in a single file.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Jan 14 11:49:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 11:49:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257597.442747 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8L5H-0001WV-EN; Fri, 14 Jan 2022 11:49:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257597.442747; Fri, 14 Jan 2022 11:49:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8L5H-0001WO-AT; Fri, 14 Jan 2022 11:49:31 +0000
Received: by outflank-mailman (input) for mailman id 257597;
 Fri, 14 Jan 2022 11:49:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vyuu=R6=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n8L5F-0001WI-Sn
 for xen-devel@lists.xenproject.org; Fri, 14 Jan 2022 11:49:29 +0000
Received: from ppsw-33.csi.cam.ac.uk (ppsw-33.csi.cam.ac.uk [131.111.8.133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 062714e0-7530-11ec-9bbc-9dff3e4ee8c5;
 Fri, 14 Jan 2022 12:49:28 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:48234)
 by ppsw-33.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.137]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n8L55-000sKF-iA (Exim 4.95) (return-path <amc96@srcf.net>);
 Fri, 14 Jan 2022 11:49:19 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 55C2F1FC09;
 Fri, 14 Jan 2022 11:49:19 +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: 062714e0-7530-11ec-9bbc-9dff3e4ee8c5
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <7c38fdfc-e2a1-c84c-bff3-30c331d1eb45@srcf.net>
Date: Fri, 14 Jan 2022 11:49:19 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Subject: Re: [PATCH 2/3] x86/spec-ctrl: Drop
 SPEC_CTRL_{ENTRY_FROM,EXIT_TO}_HVM
Content-Language: en-GB
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Jan Beulich <JBeulich@suse.com>, Wei Liu <wl@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>
References: <20220113163833.3831-1-andrew.cooper3@citrix.com>
 <20220113163833.3831-3-andrew.cooper3@citrix.com>
 <YeFhmM0deHmdYOEW@Air-de-Roger>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <YeFhmM0deHmdYOEW@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 14/01/2022 11:42, Roger Pau Monné wrote:
> On Thu, Jan 13, 2022 at 04:38:32PM +0000, Andrew Cooper wrote:
>> These were written before Spectre/Meltdown went public, and there was large
>> uncertainty in how the protections would evolve.  As it turns out, they're
>> very specific to Intel hardware, and not very suitable for AMD.
>>
>> Expand and drop the macros.  No change at all for VT-x.
>>
>> For AMD, the only relevant piece of functionality is DO_OVERWRITE_RSB,
>> although we will soon be adding (different) logic to handle MSR_SPEC_CTRL.
>>
>> This has a marginal improvement of removing an unconditional pile of long-nops
>> from the vmentry/exit path.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
>
> I wonder however if it would be clearer to define
> SPEC_CTRL_ENTRY_FROM_{SVM,VMX} and EXIT macros in spec_ctrl_asm.h
> (even if just used in a single place) so that all the related SPEC
> macros are in a single file.

For AMD MSR_SPEC_CTRL support, I'm going to need to shift the STGI/CLGI,
then call up into C, and I do not thing this is appropriate to have
separated out into spec_ctrl_asm.h

I left the comments intact deliberately so `grep SPEC_CTRL_ENTRY` still
lets you find everything.

The main difference between VT-x/SVM and PV is that for HVM, we have
this dance exactly once.  For PV, it is repeated multiple times in
subtly different ways, which is why having all the spec ctrl shadowing
logic together makes sense.

Its pretty ugly whichever way you look at it.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Jan 14 11:59:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 11:59:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257600.442758 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8LEP-00030N-C9; Fri, 14 Jan 2022 11:58:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257600.442758; Fri, 14 Jan 2022 11:58:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8LEP-00030G-8e; Fri, 14 Jan 2022 11:58:57 +0000
Received: by outflank-mailman (input) for mailman id 257600;
 Fri, 14 Jan 2022 11:58:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n8LEN-000306-VC; Fri, 14 Jan 2022 11:58: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 1n8LEN-00086z-Sh; Fri, 14 Jan 2022 11:58: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 1n8LEN-0004lT-HN; Fri, 14 Jan 2022 11:58:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n8LEN-0005oZ-Gw; Fri, 14 Jan 2022 11:58:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=0O5IDVm2cSgDRru0gN6Z2PT3XFChOflcBf+vZnUDEsE=; b=d/sHkWBfTNccXPn3F2zSEzScdA
	tjZb9f/mgc3qj+K06a6vVujInbbYCksK9NRgE7FZf5mZMJ/A+uJe3s6M1KuLZq39gksCLlPmqEr20
	cNywao4VHNnVBF8Oe8hk8E5U4innxMLhs75KdbiqVapJeTt2J7CybjwQ4gaAfUiIqkis=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167693-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167693: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-vhd:host-ping-check-xen:fail:heisenbug
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-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-armhf-armhf-libvirt-qcow2: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-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=fb3b0673b7d5b477ed104949450cd511337ba3c6
X-Osstest-Versions-That:
    linux=455e73a07f6e288b0061dfcf4fcf54fa9fe06458
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 14 Jan 2022 11:58:55 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 167684
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 167684
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 167684
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 167684

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl           8 xen-boot            fail pass in 167696-retest
 test-armhf-armhf-xl-vhd      10 host-ping-check-xen fail pass in 167696-retest

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

version targeted for testing:
 linux                fb3b0673b7d5b477ed104949450cd511337ba3c6
baseline version:
 linux                455e73a07f6e288b0061dfcf4fcf54fa9fe06458

Last test of basis   167684  2022-01-13 07:47:42 Z    1 days
Testing same since   167693  2022-01-13 22:41:04 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Arnd Bergmann <arnd@arndb.de>
  Avihai Horon <avihaih@nvidia.com>
  Bernard Metzler <bmt@zurich.ibm.com>
  Biju Das <biju.das.jz@bp.renesas.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Bjorn Helgaas <bhelgaas@google.com>   # PCI
  Bob Pearson <rpearsonhpe@gmail.com>
  Borislav Petkov <bp@suse.de>
  Changcheng Deng <deng.changcheng@zte.com.cn>
  Chanwoo Choi <cw00.choi@samsung.com>
  Chengchang Tang <tangchengchang@huawei.com>
  Chengguang Xu <cgxu519@mykernel.net>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Colin Ian King <colin.i.king@gmail.com>
  Conor Dooley <conor.dooley@microchip.com>
  Cédric Le Goater <clg@kaod.org>
  Dan Carpenter <dan.carpenter@oracle.com>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Palmer <daniel@0x0f.com>
  Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>
  Drew Fustini <dfustini@baylibre.com>
  Dust Li <dust.li@linux.alibaba.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Hector Martin <marcan@marcan.st>
  Herve Codina <herve.codina@bootlin.com>
  Hsin-Yi Wang <hsinyi@chromium.org>
  Huang Yiwei <quic_hyiwei@quicinc.com>
  Håkon Bugge <haakon.bugge@oracle.com>
  Ingo Molnar <mingo@kernel.org>
  Jack Wang <jinpu.wang@ionos.com>
  Jacky Bai <ping.bai@nxp.com>
  Jason Gunthorpe <jgg@nvidia.com>
  jason-jh.lin <jason-jh.lin@mediatek.com>
  Jassi Brar <jaswinder.singh@linaro.org>
  Jesse Brandeburg <jesse.brandeburg@intel.com>
  Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
  Johan Jonker <jbx6244@gmail.com>
  Juergen Gross <jgross@suse.com>
  Justin He <justin.he@arm.com>
  Kalle Valo <kvalo@codeaurora.org>
  Kamal Heib <kamalheib1@gmail.com>
  Kees Cook <keescook@chromium.org>
  Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
  Leon Romanovsky <leonro@nvidia.com>
  Li Zhijian <lizhijian@fujitsu.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Maher Sanalla <msanalla@nvidia.com>
  Marc Zyngier <maz@kernel.org>
  Marek Szyprowski <m.szyprowski@samsung.com>
  Max Gurtovoy <mgurtovoy@nvidia.com>
  Michael Kelley <mikelley@microsoft.com>
  Michal Kalderon <michal.kalderon@marvell.com>
  Michal Simek <michal.simek@xilinx.com>
  Minghao Chi <chi.minghao@zte.com.cn>
  Nathan Chancellor <nathan@kernel.org>
  Niklas Schnelle <schnelle@linux.ibm.com>
  Nishanth Menon <nm@ti.com>
  Nitesh Narayan Lal <nitesh@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Peng Fan <peng.fan@nxp.com>
  Philipp Zabel <p.zabel@pengutronix.de>
  Qinghua Jin <qhjin.dev@gmail.com>
  Randy Dunlap <rdunlap@infradead.org>
  Rikard Falkeborn <rikard.falkeborn@gmail.com>
  Rob Herring <robh@kernel.org>
  Robin Murphy <robin.murphy@arm.com>
  Romain Perier <romain.perier@gmail.com>
  Sam Protsenko <semen.protsenko@linaro.org>
  Selvin Xavier <selvin.xavier@broadcom.com>
  Sergey Gorenko <sergeygo@nvidia.com>
  Shiraz Saleem <shiraz.saleem@intel.com>
  Sinan Kaya <okaya@kernel.org>
  Sudeep Holla <sudeep.holla@arm.com>
  Sumit Saxena <sumit.saxena@broadcom.com>
  Tatyana Nikolova <tatyana.e.nikolova@intel.com>
  Thomas Bogendoerfer <tsbogend@alpha.franken.de>
  Thomas Gleixner <tglx@linutronix.de>
  Vaishali Thakkar <vaishali.thakkar@ionos.com>
  Valentin Schneider <valentin.schneider@arm.com>
  Vinod Koul <vkoul@kernel.org>
  Viresh Kumar <viresh.kumar@linaro.org>
  Waiman Long <longman@redhat.com>
  Wang Qing <wangqing@vivo.com>
  Wei Liu <wei.liu@kernel.org>
  Wenpeng Liang <liangwenpeng@huawei.com>
  Will Deacon <will@kernel.org>
  Xiang wangx <wangxiang@cdjrlc.com>
  Xinhao Liu <liuxinhao5@hisilicon.com>
  Xinhao Liu <liuxinhao@huawei.com>
  Yixing Liu <liuyixing1@huawei.com>
  Zhu Yanjun <yanjun.zhu@linux.dev>
  Zhu Yanjun <zyjzyj2000@gmail.com>

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


From xen-devel-bounces@lists.xenproject.org Fri Jan 14 12:11:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 12:11:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257615.442768 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8LQ9-0005Vd-Vm; Fri, 14 Jan 2022 12:11:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257615.442768; Fri, 14 Jan 2022 12:11: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 1n8LQ9-0005VW-Sd; Fri, 14 Jan 2022 12:11:05 +0000
Received: by outflank-mailman (input) for mailman id 257615;
 Fri, 14 Jan 2022 12:11:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jE+k=R6=gmail.com=gengdongjiu1@srs-se1.protection.inumbo.net>)
 id 1n8LQ8-0005VQ-GH
 for xen-devel@lists.xenproject.org; Fri, 14 Jan 2022 12:11:04 +0000
Received: from mail-lf1-x142.google.com (mail-lf1-x142.google.com
 [2a00:1450:4864:20::142])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0af7953e-7533-11ec-a115-11989b9578b4;
 Fri, 14 Jan 2022 13:11:03 +0100 (CET)
Received: by mail-lf1-x142.google.com with SMTP id x7so29578673lfu.8
 for <xen-devel@lists.xenproject.org>; Fri, 14 Jan 2022 04:11:03 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0af7953e-7533-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc:content-transfer-encoding;
        bh=9HSPfpZR8+pMVUv3RXOaz8/KH5DGW8dXNoDKn7sNBzY=;
        b=ivaw3k3D8lseOBTTV6IZWPjPephoywjQF0ZMKccC8LbD1n7TpGQuspjGEtZm8ThW1m
         /y8rwvtoKGgcmmJE9iRYzBOpot1QUSFuFZZNlgw+g7BNE9S005ZoxioHvhNm4XYCflJY
         UiygjZigqncfVarc67ULmx/xf0KhFDdQnlHArkYQ16yTEanMqtdeZgLcAEm11hwjd4yv
         I3vM1FHjdQxmveEQifKckhUyRrrGmc20jtq4GtteUd+5aAXo6XnvFi1JEotQsP7KhPl9
         4SGuTLLTLcmPoEbzymvLNPV1e1eMbnAas1Pj4Y9PvBW3vceFvPWHKFJwaPcoVVvJDcet
         ibTw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc:content-transfer-encoding;
        bh=9HSPfpZR8+pMVUv3RXOaz8/KH5DGW8dXNoDKn7sNBzY=;
        b=419y825BlTWritxYWRBkG5Es5aZ9yFA4KugcG9Q5s3DgLKS3J3bjC9Mx4ldru+hOqo
         wSJeKqF5QK6fNHZ+Ihq+bLLSKTD3yy5qy50DAYV6cRTo1e/eCiskhgXcR/CQV9dwBMFs
         NjDfiLAWDugZ+8xl4kBg9SkJdktcI3WHQQrzsF57hO9MyviLSAdJOBmuMNVONBQvuOJr
         50H7QyI/kDyWe357B+4ImGTEMJk2ysk3s1ihwphqkmt/3NbTrknflr2LvaDeBqZqLqzR
         0NbMPkui88xA5bdXSCfJxiilNkiScrKF91tCn4oQcbYDddihC3FaNhFj2Rjy0rvFYFrW
         RvKw==
X-Gm-Message-State: AOAM530V4VawACbqivFqrXPMxUmVSV7P0uQvxYaWZn7uuH+ZyItlGW+n
	hGbL3TgmLJwD+Y/dkeTpUso82WWeSVORB92/Qc0=
X-Google-Smtp-Source: ABdhPJxAjZ98hHwq9qIz7u16/cquKwEfy+P8d05ZMbqDsNxis4gCEXRFjZ6sKUu65Hu/3VHJLt97cLIF9EDY42ku/xs=
X-Received: by 2002:a05:6512:2314:: with SMTP id o20mr6955282lfu.257.1642162262611;
 Fri, 14 Jan 2022 04:11:02 -0800 (PST)
MIME-Version: 1.0
References: <20211228041423.2231598-1-gengdongjiu1@gmail.com>
 <CAJ=z9a2ww3OptqQn+KDdOMrRB_sSAicnVFQJ2UAySq5xZZjhTQ@mail.gmail.com>
 <CABSBigRyDr4GstZjwJVrM64f57PZKL_Dmq0N+BiKYW3fuXxWYg@mail.gmail.com>
 <alpine.DEB.2.22.394.2201121054570.19362@ubuntu-linux-20-04-desktop> <CABSBigS0+FfzH1K1CyJ=DQgn3QJm=kQd3BEaZjs7dex9sEBnzQ@mail.gmail.com>
In-Reply-To: <CABSBigS0+FfzH1K1CyJ=DQgn3QJm=kQd3BEaZjs7dex9sEBnzQ@mail.gmail.com>
From: Dongjiu Geng <gengdongjiu1@gmail.com>
Date: Fri, 14 Jan 2022 20:10:50 +0800
Message-ID: <CABSBigQ-1Ok7Se4zHahGccVaVLuWzZgU3UhwXvm4d6jyGROuTw@mail.gmail.com>
Subject: Re: [PATCH v3] xen/arm: Allow QEMU platform to be built with GICv2
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Julien Grall <julien.grall.oss@gmail.com>, 
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>, 
	xen-devel <xen-devel@lists.xenproject.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Dongjiu Geng <gengdongjiu1@gmail.com> =E4=BA=8E2022=E5=B9=B41=E6=9C=8813=E6=
=97=A5=E5=91=A8=E5=9B=9B 11:47=E5=86=99=E9=81=93=EF=BC=9A
>
> Hi, Stefano
>     Thanks for this reply.
>
> Stefano Stabellini <sstabellini@kernel.org> =E4=BA=8E2022=E5=B9=B41=E6=9C=
=8813=E6=97=A5=E5=91=A8=E5=9B=9B 09:52=E5=86=99=E9=81=93=EF=BC=9A
> >
> > On Wed, 12 Jan 2022, Dongjiu Geng wrote:
> > > > > diff --git a/xen/arch/arm/platforms/Kconfig b/xen/arch/arm/platfo=
rms/Kconfig
> > > > > index c93a6b2756..925f6ef8da 100644
> > > > > --- a/xen/arch/arm/platforms/Kconfig
> > > > > +++ b/xen/arch/arm/platforms/Kconfig
> > > > > @@ -15,7 +15,7 @@ config ALL_PLAT
> > > > >  config QEMU
> > > > >         bool "QEMU aarch virt machine support"
> > > > >         depends on ARM_64
> > > > > -       select GICV3
> > > > > +       select GICv3 if !NEW_VGIC
> > > >
> > > > There was an open question in v2. In general, it is better to wait
> > > > until the discussion is closed or you mention it after ---. This
> > > > avoids being lost.
> > >
> > > Sorry for the noise, Stefano,  do you have any suggestion for this
> > > patch?  thanks a lot.
> >
> > Looking back at v2, the original open question I think was:
> >
> >
> > > While writing a proposal for the commit message, I remembered that th=
e
> > > goal of CONFIG_QEMU was to select all the required drivers to be able=
 to
> > > boot Xen on QEMU.
> > >
> > > AFAICT, if you start from tiny64_defconfig, you would not have GICv3
> > > selected. So we would technically break users of QEMU with GICv3.
> > >
> > > I am not entirely sure how to approach it. I can think of 2 options:
> > >
> > >   1) Use 'select GICv3 if !NEW_VGIC'
> > >   2) Add a specific platform for QEMU new vGIC
> > >
> > > I have the feeling that 1) will result to same unmet dependency issue=
.
> > > Stefano any opinions?
> >
> > I think it would be better to avoid introducing one more QEMU platform
> > if we can. The current patch as a bug, it should be:
> >
> > select GICV3 if !NEW_VGIC
> >
> > note "GICV3" instead of "GICv3".
> >
> >
> > But unfortunately it doesn't work:
> >
> > arch/arm/Kconfig:52:error: recursive dependency detected!
> > arch/arm/Kconfig:52:    symbol NEW_VGIC depends on GICV3
> > arch/arm/Kconfig:36:    symbol GICV3 is selected by NEW_VGIC
> > For a resolution refer to Documentation/kbuild/kconfig-language.rst
> > subsection "Kconfig recursive dependency limitations"
> >
> >
> > If QEMU supports GICv2 virtualization since v3.1.0, which is from 2018,
> > then maybe the easiest way to solve the problem is simply to remove
> > "select GICV3" from QEMU as it is not an hard requirement any longer.
> > However, it is true that existing users of tiny64_defconfig and QEMU
> > would get a different behavior.
> >
> > I don't think it is a problem but if you guys think it is, then the onl=
y
> > option is to introduce a new QEMU platform like "QEMU_GREATER_3.1.0"
> > which doesn't select GICV3 (it only selects HAS_PL011) because it is no=
t
> > a requirement anymore.
>
> Yes,  this is my original patch V1's modification which does not select G=
ICV3
>
> >
> > Or we could have:
> >
> > QEMU
> >     bool "QEMU aarch virt machine support >=3D v3.1.0"
> >     depends on ARM_64
> >     select HAS_PL011
> >
> > QEMU_LEGACY
> >     bool "QEMU aarch virt machine support < v3.1.0"
> >     depends on ARM_64
> >     select GICV3
> >         select HAS_PL011
>
> Thanks for the suggestion,  I can make the modification below if you
> think it is ok.
> Hi Julien and Stefano, waiting for your confirmation .
>
>
> commit 2b5749fc4e0769df9cfc55795e0dbb453000a9c9 (HEAD -> master_submit)
> Author: Dongjiu Geng <gengdongjiu1@gmail.com>
> Date:   Thu Jan 13 11:30:33 2022 +0800
>
>     xen/arm: Allow QEMU platform to be built with GICv2
>
>     It turns out that QEMU has been supporting GICv2 virtualization since
>     v3.1.0. so remove the dependencies on GICv3. If we want to use GICv3,
>     we can select the QEMU_LEGACY configuration.
>
>     Signed-off-by: Dongjiu Geng <gengdongjiu1@gmail.com>
>
> diff --git a/xen/arch/arm/platforms/Kconfig b/xen/arch/arm/platforms/Kcon=
fig
> index c93a6b2756..41e82a42ee 100644
> --- a/xen/arch/arm/platforms/Kconfig
> +++ b/xen/arch/arm/platforms/Kconfig
> @@ -13,7 +13,15 @@ config ALL_PLAT
>         automatically select any of the related drivers.
>
>  config QEMU
> -       bool "QEMU aarch virt machine support"
> +       bool "QEMU aarch virt machine support >=3D v3.1.0"
> +       depends on ARM_64
> +       select HAS_PL011
> +       ---help---
> +       Enable all the required drivers for QEMU aarch64 virt emulated
> +       machine.
> +
> +config QEMU_LEGACY
> +       bool "QEMU aarch virt machine support < v3.1.0"
>         depends on ARM_64
>         select GICV3
>         select HAS_PL011

If there is no objection, I will submit the patch.


From xen-devel-bounces@lists.xenproject.org Fri Jan 14 12:51:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 12:51:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257619.442780 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8M2v-0001G4-1D; Fri, 14 Jan 2022 12:51:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257619.442780; Fri, 14 Jan 2022 12:51:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8M2u-0001Fx-So; Fri, 14 Jan 2022 12:51:08 +0000
Received: by outflank-mailman (input) for mailman id 257619;
 Fri, 14 Jan 2022 12:51:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4vmv=R6=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n8M2t-0001Fr-N4
 for xen-devel@lists.xenproject.org; Fri, 14 Jan 2022 12:51:07 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9f6bb26f-7538-11ec-9bbc-9dff3e4ee8c5;
 Fri, 14 Jan 2022 13:51:02 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9f6bb26f-7538-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642164662;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=M4LjEBFz+kxJpltpmPBIu20nyAjwRwkKtDNKdiqjbSk=;
  b=WprV43ViVLCnKGKRsTQ7lomH4o28FDioUGpz1UVnjMQAPoFOsvVA3L9T
   LRDK/b1jkdbbtjLUOxcPUZ6YoyvkuApBt4yx9EFU4ufi+H7koDBqda5kC
   RJmYb+PE0iUNoPoB0APvzhPpNbT7ZmrTEJHZ1pCpMJcpzZTbGr4A+GVV/
   s=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: 5WVHpWQrrcWtCL8ePM1vbvAZY+Qx1UOrDvrhpNvV+KAej0kXzUr/jiJNjKNTe9XxehYmqdKinK
 hNxlEsDc/71GKhcz5CIhMfO8HP+cbZr0Yfj36tMvtHtCY0z5LKHtGHysxTThlX2C2I4Ca75lE1
 DqrUeYTR+pC8Hv3tal18e+V9fLV3nav79+AwW12P7izW4Ifxw3E3UHE0y7yrg2GR0i0/C9PRrP
 dJDMFI03ZZortHovL35hHVDcbZXJwnxm1ThINpMiSjLV3d55i5EZPwF4h/Nb3vUjXzJLU2b6at
 iMpIWEze9GkoHcI6LWorMDVq
X-SBRS: 5.2
X-MesageID: 61924273
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:SrmbQKngD/AhSNCLAINI3rDo5gwVIURdPkR7XQ2eYbSJt1+Wr1Gzt
 xIdDGCGafrYMGT2e94nPI3noU0O6pXcyoJlGQE4rHpmRSMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BClVlxJVF/fngqoDUUYYoAQgsA180IMsdoUg7wbRh29c02YLR7z6l4
 rseneWOYDdJ5BYsWo4kw/rrRMRH5amaVJsw5zTSVNgT1LPsvyB94KE3fMldG0DQUIhMdtNWc
 s6YpF2PEsE1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXee0v0XRYRQR4/ttmHozx+4
 P5ji6S9QCEJBZ3FqPsAbztjMCVcI5QTrdcrIVDn2SCS50jPcn+qyPRyFkAme4Yf/46bA0kXq
 6ZecmpUKEne2aTmm9pXScE17ignBNPsM44F/Glp0BnSDOo8QICFSKLPjTNd9Glp15oSR6mFD
 yYfQRxzcy3BMjBUBmw0S4wkp9WPuFLWWSIN/Tp5ooJoujOOnWSdyoPFMsfTPNqDRsxXn0ORj
 mPA42n9RBodMbS3yjeb83Tqmu7Gmwv6Xp4fEPuz8fsCqEKX7nweDlsRT1TTiem0jAuyVsxSL
 2QQ+zEytu4i+UqzVN7/Uhak5nmesXY0efBdDuk74wGl0bfP7kCSAW1sc9JaQIV47olsH2Vsj
 wLX2YOybdByjFGLYVmzyI+ZpBWSAhgcHXAfWQ0/bg8n/eC29enfkSnzZtpkFae0iPj8Fjfx3
 y2GoUACulkDsSIY//7lpA6a2lpAsrCMF1dovVuPAgpJ+yskPNbNWmC+1bTMAR+sxq69R0LJg
 nULktP2AAsmXcDUz3zlrAng8diUCxe53N/03Q8H83oJrW3FF5ufkWZ4umEWyKBBaJdsRNMRS
 BWP0T69HbcKVJdQUYd5YpiqF+MhxrX6GNLuW5j8N4QSOMAgJVLfpns0PyZ8OlwBdmB2wcnT3
 r/BIK6R4YsyU/w7nFJauc9AuVPU+szO7TyKHs2qp/hW+bGfeGSUWd843KimNYgEAFe/iFyNq
 b53bpLSoz0GCbGWSnSJreY7cA5bRVBmVcGeg5EGLYarf1s5cFzN/teMm9vNjaQ/wfQM/goJl
 1ngMnJlJK3X3iyYeV7UOyE6ONsCn/9X9BoGAMDlBn7xs1ALaoez9qYPMZwxeLgs7ut4yvBoC
 fICfq297j5nEFwrIhwRMsvwqpJMbhOuiV7cNiapemFnLZVhWxbI6pnveQ62rHsCCS++tM0fp
 by811yEHcpfFlo6VMuGOuiyy16RvGQGnL4gVUX/PdQOKl7n95JnKnKtg6Zvcd0MMxjK2hCTy
 x2SXUUDveDIroJsqIvJiKmIop2HCex7GkYGTWDX4azvbXvR/3a5wJ8GW+GNJGiPWGTx8aSkR
 ONU0/Cjb6FXwAcU69JxSu85w7g/6t3jo65h4j5lRHibPU62Dr5AI2Wd2ZUdvKN62bIE6xC9X
 ViC+4cGNOzRat/lClMYOCEscv+HiaMPgjDX4Pk4fBf66Stw8ObVWEleJUDR2ilULb8zO4I52
 +Yx/sUR7lXn2BYtN9+HiAFS9niNcSNcA/l26MlCDd+5kBcvx3FDfYfYW33/75y4YtlRNlUnf
 22Pj63YirUAnkfPfhLfz5QWMTaxUXjWhC138Q==
IronPort-HdrOrdr: A9a23:WgU/m62A5r36dTrj54MUcgqjBLYkLtp133Aq2lEZdPUzSL3+qy
 nOpoV+6faQsl0ssR4b9exoVJPufZq+z/5ICOsqU4tKNTOO0AHEEGgI1+rf6gylNyri9vNMkY
 dMGpIObeEY1GIK7voSNjPIceod/A==
X-IronPort-AV: E=Sophos;i="5.88,288,1635220800"; 
   d="scan'208";a="61924273"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cz7R1CtMqlzyfLJK4txfDSJ/WrPfu1uhcXFQ96pf4sRYrC2NB+u+L3OnQ5NUDBF562XQADojDSrhBXWH+b+/l1D8qSCwSShyqY9rOkqjv4S0TLX2Mh1LIY6ZaVULgJhdhaIlvqxVrC9TMstdCN2v69OVDoHjI+OVyLqWdKjwfZmKN+Cl3QlLudBzuBaDFnbnJup2e0gOhJFVN2dUxCxwZ25TeQpT3pcNaUClY/LDIqzYCdSLakvg1bsm+qk0Qy5BlpTbVqaojOyLFwDVWIQM20ZDQzUiZ2xL5+L+9EmIK/VC0kZnkR0VVVvJ/c3hogV91WOxZizPPK+c/yd0V1GofA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UkMMU6L5+gMML10/DhMI0HVmN3YPPrDXHNZKUjqxSuY=;
 b=dOI+s7SEzL4F9r3QZYR3xOU6x/kBmskB/CEDzgMDTBRKinKRks7g5JmV/FKG6GMH/ZcB1XYjjvsUDq0H4pjLfc8NhWOPJyTx4k58sLfxmZHz7hARWSuasQN7as9npjBLoQUME0eUrq/nkB3gADtRUxdaUAu0q9qyQamFbpmOTK+UoJwpVdZCEoGPrD3mD4Lk5IFJGbNDEhCEIYeePhdku62GLRMLQMPuv7RqFuB1VtyLo5IogXZDhgbPThQ/61vR/MDRcKGCOClnXl3Tz5sipBHre5KymarlMiXUTg/6y5BlWCr72gvc8eZAsYNmeI7Ts7BvXzwHaYHClNv+QBRDow==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UkMMU6L5+gMML10/DhMI0HVmN3YPPrDXHNZKUjqxSuY=;
 b=o0CfegWtAn3CIzxVblFI4TEN3Jn05zigF8x4EyyE9DHt+qE8AeOgFpB3Uo7XBacq1CCq/KsSHyCo2VHAxsau7uXSu4MgmVAkl40Ge8iS+vqegqzHyG4LYjJZQFUcd3V/PGaMVYvfc6UWNoxnoovqqBB5gl9vTJv5CUyb/BsUu6M=
Date: Fri, 14 Jan 2022 13:50:48 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich
	<JBeulich@suse.com>, Wei Liu <wl@xen.org>, Jun Nakajima
	<jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>
Subject: Re: [PATCH 3/3] x86/spec-ctrl: Fix NMI race condition with VT-x
 MSR_SPEC_CTRL handling
Message-ID: <YeFxqOPqi/DPpugL@Air-de-Roger>
References: <20220113163833.3831-1-andrew.cooper3@citrix.com>
 <20220113163833.3831-4-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20220113163833.3831-4-andrew.cooper3@citrix.com>
X-ClientProxiedBy: FR3P281CA0041.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::17) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 7a669ed6-f9b7-4824-2fcb-08d9d75c7fcf
X-MS-TrafficTypeDiagnostic: DM5PR03MB2859:EE_
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr
X-Microsoft-Antispam-PRVS: <DM5PR03MB28594A50482FE9C727EC84938F549@DM5PR03MB2859.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: RIiC0xMe8poKHvUw2MBrBaNoU4TZ3v8rr8EyvZPRFiA7+IW5VJS5AIL+QP2TjAnhqmSpnuxmpGEJs/UTfv4m/98kGUbgeR58v8/7NEWcWox+8U/aadga0QdVm9j1EYwyyQV0c8fGe+sFcf/UXVKvIRo8SsL/RIaCPg4GDxo3FzupNwUqqFzFnOIiOcm1462pGZ3cEoNexEKtuXCC3roLc9KrcBWK9yO+9Fq6f8oUOjB187PBYmGNEWMqFG5D+xrbZ0JLn1F0kFPwuh7IqrwyM4EF5BCBj6grItXhFujuRWnM4Oxr0Ne/h+1FFSA56QGTueEEz4B3q0kYs/R2ba8s6RuM0Bwue0PJAYqCC/DmFLSp9aynR+6pdYqMS6T0IovhUQFbOLUEWGHnIVC7hvRIpAW8PgyKWVI4vL86gaqrKs316M9S8Gnhho4wipHdgmiFTZc/XlkDNdUlFomqRjzUU99w+FPHxInGdi1dUjq/L/MSba0efzc3nsQxoxYIWyPN6qhgSzJVXsAlImC5/0XdRb5Q02vLe/DWufR6OiU4NHI8FgxuX+dEZdLAU7Z90BjFvNHzPQquicbwrRfWgDDpojuOmlMKk6QJSxoFEFb5nG81f5HaOOaBJTbm6rRY/U2d/3zcKst6X3UvK26QVVBLww==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(8936002)(9686003)(6512007)(6862004)(6486002)(82960400001)(8676002)(86362001)(5660300002)(4326008)(2906002)(33716001)(66556008)(85182001)(6506007)(186003)(66946007)(6636002)(66476007)(38100700002)(54906003)(508600001)(316002)(83380400001)(6666004)(26005);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?OW8wT1E2eWcvOTBsSWUwb2RLS0R2aUZ3YnNoMGtCMFU2WGtMK0g4U2FPSmU1?=
 =?utf-8?B?VWU2Y3pqbWp4bElUZzNHUk95NlhrZzFmdFdPMzh0VVQvOFhDRktwcU9pMXRQ?=
 =?utf-8?B?Sy8weUhDSUlGa1Y1eTdrUUt5V0Uya0czVDhheEZHWTNVN2lSQUhzRHA3QTFn?=
 =?utf-8?B?SEN2TGFTb0tBcDNFNVk5U3hpYmZ3SXRiL213NFFvNU9nRUQ5djBXNElLdmZG?=
 =?utf-8?B?cnprdEdtMTgxRkFlbUdTTVFiQm9oT2xBL05SZG4vTVNmakhWQWZsa3JPb0Fu?=
 =?utf-8?B?c1Z0NDVudCtHV1BYTGttZ2FZR2FpbVUxem5IRFVzQVZPVGxPNVRLbW5zSzJa?=
 =?utf-8?B?K0pOZ3VtenFmVWx3RWpRZS9EUDBIU3ZSemhybVRxN2dmSE9yQnlGZ2xEaDF6?=
 =?utf-8?B?MjdiU2FYbTdsajBBWWRqdXMzekVkOFhycHREbnN3MEhmVGVDQ2dISnc4ZmE4?=
 =?utf-8?B?QzdzbndsdVJpS01kUUxHQ0hSSE5TeEpSZFVZc2M4Rm5mcitaMTJhWmxnQTAv?=
 =?utf-8?B?alQxSHl6d3NCNWJwQTh2aU4vaVF5QW11NGF1RTdrNU1aSDBOSlZGdzZIS1k1?=
 =?utf-8?B?UjRISHkxbVJMZi9Manp1L3hweVZhMjBoNy9PeEFDeEJPM2tUc1pKTVdReEJ5?=
 =?utf-8?B?SVJGTzU0ZWVwdmtqVHRFNmN2RXBENVBUOG9vazd4aWhMYzVBWkhZL1JnNzBF?=
 =?utf-8?B?U0ZNK0gyRjh4Y0xVRWROUW1MUm0xVVRObXZiVDJlWnRTNjJ2bFZrZU5TZjY0?=
 =?utf-8?B?bWMrVjdlYnRNenpXR2sybXRYRkRmUjlwQ0REa3NSR2RLQ2MraGtOcFFkaHpG?=
 =?utf-8?B?VDlxd2pDc3lJckZGY2JFcTZyQk5yTThRbHhzYjNZMVNWZy91M2NnSUUrNmcy?=
 =?utf-8?B?N1F0WkZhcDdrWk93d2VUUVdwVlhPM1BSZXk2UEo1WmxCSFJjV3ZMek9LVU9E?=
 =?utf-8?B?MW9PZUJPRUt1eVkySy9OaWgxSlViVVp6ODBLcFJpeGJMN2FoWVJPcjI0cDU5?=
 =?utf-8?B?bDIzdDVQZzlDcEFCQXpQcXRGVUk4UVI2bmdIRkJIYWVDVUEzbENMM0prOWpi?=
 =?utf-8?B?bnhkQzVveU8xMnRVVVNoQUFTZzVINzRtMEV2SG1PNFpBUUFhMWNVWW5WeGQ4?=
 =?utf-8?B?TE5lb1ovRG5RQS9oNE8vaFNFcVFvUUJpRWtyeFVReWVUSlI2TVNDVExiK1pM?=
 =?utf-8?B?OWRFbnBqRVVidmFld1E0TUlQTG45cFQyVVplOWpQZzVQUWp4VVZCRXcwREsw?=
 =?utf-8?B?RWtwUjhOL1ByRUxTODJCMWt1MERwQ0ZTRDM4b3RxRk1hTzBid3QvK2tHQjRY?=
 =?utf-8?B?M25GendSQnpLdDQwL1Z5VXVIN2NJK2ZYZFVNeUxQTDF5UDlraVk0TjBySmc2?=
 =?utf-8?B?cnRRQ3NKMElSb1R5eUdGOCsvdEZaYmR0MzBNNk51ZndDbXkrMDZQVFhTV28r?=
 =?utf-8?B?WEdnc0I2UVo5blczRmowSTlFRlZXbnFEQndPUTI1Yk1iUkpiZm10RDZHVCtH?=
 =?utf-8?B?WkhYd0NqQlFEZ01SZW5XWXZUaDhwaGZ1dVhCVENnb0lQNnIvMzFURENBN1hE?=
 =?utf-8?B?VklYWnRSNk4rM2hZVWwyVVljYW1TS09lMDZqdmlVWEZ4T1QvNWR2Ly9wTHJX?=
 =?utf-8?B?eEYyYjZWTStUZmpJSFNhMExYc0g2UUtYSTFqcUI5eWo2QWVVd21VRVBuMWhB?=
 =?utf-8?B?WlhEYm5yc0srdFNNRGFpejFOYnE5YUdIMXFhSzZ6KzNKN0wranNpWldXZVNV?=
 =?utf-8?B?T2V6Y0dqZjNkSE1iVnRpbGErYldGS1VMZ2ZiMWI3UnZJSVFwMGxKdVJ5VWZn?=
 =?utf-8?B?R1NpRE43YXQySWxLcVJxZTRSSUFWTHdOZnZrNkZoelVvRGljQ1ZGUjFJL0FP?=
 =?utf-8?B?U0J0eDgxbVRUWHZ6SklkV3FyaDJKRmdQN0I1Y2FGZXBVWHhQRDNRZmtVTzlG?=
 =?utf-8?B?cllWT0FuWThvR3laV0gzcjdLbFJGNXpUdC9vY3JrblZLN0c2MXJmWmdIT1Bm?=
 =?utf-8?B?NEZ5WlF6MmRzdVdxN2xYbkE4ejBYWHdwQjIrTzBZNFZDYmNOcXRGUnJ5Z1d2?=
 =?utf-8?B?SlVuT0xGSUROdkl4clhqbURmV2Q4ZjdFc0lMK2lrSXNxSk9idUZMazRQN0Zs?=
 =?utf-8?B?OEpBUEE0a1NqVWZ4RWRXWEdEYTlaMGZTcEMzZzdSR1V2dDdHSXp1M3VvakNm?=
 =?utf-8?Q?v1lQVUTNXP1yyd1UVaL+qkM=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 7a669ed6-f9b7-4824-2fcb-08d9d75c7fcf
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jan 2022 12:50:53.2133
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 4iKCy653tB1KaN+EK5U+/2PvGxIh1yu60eseeR0qdz8Ftqu0E1h0bpe8mf3Fyd7dlt+7Xg7U3wfLlK67d/iOIg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR03MB2859
X-OriginatorOrg: citrix.com

On Thu, Jan 13, 2022 at 04:38:33PM +0000, Andrew Cooper wrote:
> The logic was based on a mistaken understanding of how NMI blocking on vmexit
> works.  NMIs are only blocked for EXIT_REASON_NMI, and not for general exits.
> Therefore, an NMI can in general hit early in the vmx_asm_vmexit_handler path,
> and the guest's value will be clobbered before it is saved.
> 
> Switch to using MSR load/save lists.  This causes the guest value to be saved
> atomically with respect to NMIs/MCEs/etc.
> 
> First, update vmx_cpuid_policy_changed() to configure the load/save lists at
> the same time as configuring the intercepts.  This function is always used in
> remote context, so extend the vmx_vmcs_{enter,exit}() block to cover the whole
> function, rather than having multiple remote acquisitions of the same VMCS.
> 
> vmx_add_guest_msr() can fail, but only in ways which are entirely fatal to the
> guest, so handle failures using domain_crash().  vmx_del_msr() can fail with
> -ESRCH but we don't matter, and this path will be taken during domain create
> on a system lacking IBRSB.
> 
> Second, update vmx_msr_{read,write}_intercept() to use the load/save lists
> rather than vcpu_msrs, and update the comment to describe the new state
> location.
> 
> Finally, adjust the entry/exit asm.  Drop DO_SPEC_CTRL_ENTRY_FROM_HVM
> entirely, and use a shorter code sequence to simply reload Xen's setting from
> the top-of-stack block.
> 
> Because the guest values are loaded/saved atomically, we do not need to use
> the shadowing logic to cope with late NMIs/etc, so we can omit
> DO_SPEC_CTRL_EXIT_TO_GUEST entirely and VMRESUME/VMLAUNCH with Xen's value in
> context.  Furthermore, we can drop the SPEC_CTRL_ENTRY_FROM_PV too, as there's
> no need to switch back to Xen's context on an early failure.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau Monné <roger.pau@citrix.com>
> CC: Wei Liu <wl@xen.org>
> CC: Jun Nakajima <jun.nakajima@intel.com>
> CC: Kevin Tian <kevin.tian@intel.com>
> 
> Needs backporting as far as people can tolerate.
> 
> If the entry/exit logic were in C, I'd ASSERT() that shadow tracking is off,
> but this is awkard to arrange in asm.
> ---
>  xen/arch/x86/hvm/vmx/entry.S             | 19 ++++++++++-------
>  xen/arch/x86/hvm/vmx/vmx.c               | 36 +++++++++++++++++++++++++++-----
>  xen/arch/x86/include/asm/msr.h           | 10 ++++++++-
>  xen/arch/x86/include/asm/spec_ctrl_asm.h | 32 ++++------------------------
>  4 files changed, 56 insertions(+), 41 deletions(-)
> 
> diff --git a/xen/arch/x86/hvm/vmx/entry.S b/xen/arch/x86/hvm/vmx/entry.S
> index 30139ae58e9d..297ed8685126 100644
> --- a/xen/arch/x86/hvm/vmx/entry.S
> +++ b/xen/arch/x86/hvm/vmx/entry.S
> @@ -35,7 +35,14 @@ ENTRY(vmx_asm_vmexit_handler)
>  
>          /* SPEC_CTRL_ENTRY_FROM_VMX    Req: b=curr %rsp=regs/cpuinfo, Clob: acd */
>          ALTERNATIVE "", DO_OVERWRITE_RSB, X86_FEATURE_SC_RSB_HVM
> -        ALTERNATIVE "", DO_SPEC_CTRL_ENTRY_FROM_HVM, X86_FEATURE_SC_MSR_HVM
> +
> +        .macro restore_spec_ctrl
> +            mov    $MSR_SPEC_CTRL, %ecx
> +            movzbl CPUINFO_xen_spec_ctrl(%rsp), %eax
> +            xor    %edx, %edx
> +            wrmsr
> +        .endm
> +        ALTERNATIVE "", restore_spec_ctrl, X86_FEATURE_SC_MSR_HVM

I assume loading the host value into SPEC_CTRL strictly needs to
happen after the RSB overwrite, or else you could use a VM exit host
load MSR entry to handle MSR_SPEC_CTRL.

Also I don't understand why SPEC_CTRL shadowing is not cleared before
loading Xen's value now.

>          /* WARNING! `ret`, `call *`, `jmp *` not safe before this point. */
>  
>          /* Hardware clears MSR_DEBUGCTL on VMExit.  Reinstate it if debugging Xen. */
> @@ -83,7 +90,6 @@ UNLIKELY_END(realmode)
>  
>          /* WARNING! `ret`, `call *`, `jmp *` not safe beyond this point. */
>          /* SPEC_CTRL_EXIT_TO_VMX   Req: a=spec_ctrl %rsp=regs/cpuinfo, Clob: cd */
> -        ALTERNATIVE "", DO_SPEC_CTRL_EXIT_TO_GUEST, X86_FEATURE_SC_MSR_HVM
>          ALTERNATIVE "", __stringify(verw CPUINFO_verw_sel(%rsp)), X86_FEATURE_SC_VERW_HVM
>  
>          mov  VCPU_hvm_guest_cr2(%rbx),%rax
> @@ -119,12 +125,11 @@ UNLIKELY_END(realmode)
>          SAVE_ALL
>  
>          /*
> -         * PV variant needed here as no guest code has executed (so
> -         * MSR_SPEC_CTRL can't have changed value), and NMIs/MCEs are liable
> -         * to hit (in which case the HVM variant might corrupt things).
> +         * SPEC_CTRL_ENTRY notes
> +         *
> +         * If we end up here, no guest code has executed.  We still have Xen's
> +         * choice of MSR_SPEC_CTRL in context, and the RSB is safe.
>           */
> -        SPEC_CTRL_ENTRY_FROM_PV /* Req: %rsp=regs/cpuinfo Clob: acd */
> -        /* WARNING! `ret`, `call *`, `jmp *` not safe before this point. */
>  
>          call vmx_vmentry_failure
>          jmp  .Lvmx_process_softirqs
> diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
> index 28ee6393f11e..d7feb5f9c455 100644
> --- a/xen/arch/x86/hvm/vmx/vmx.c
> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> @@ -592,6 +592,7 @@ void vmx_update_exception_bitmap(struct vcpu *v)
>  static void vmx_cpuid_policy_changed(struct vcpu *v)
>  {
>      const struct cpuid_policy *cp = v->domain->arch.cpuid;
> +    int rc = 0;
>  
>      if ( opt_hvm_fep ||
>           (v->domain->arch.cpuid->x86_vendor != boot_cpu_data.x86_vendor) )
> @@ -601,17 +602,27 @@ static void vmx_cpuid_policy_changed(struct vcpu *v)
>  
>      vmx_vmcs_enter(v);
>      vmx_update_exception_bitmap(v);
> -    vmx_vmcs_exit(v);
>  
>      /*
>       * We can safely pass MSR_SPEC_CTRL through to the guest, even if STIBP
>       * isn't enumerated in hardware, as SPEC_CTRL_STIBP is ignored.
>       */
>      if ( cp->feat.ibrsb )
> +    {
>          vmx_clear_msr_intercept(v, MSR_SPEC_CTRL, VMX_MSR_RW);
> +
> +        rc = vmx_add_guest_msr(v, MSR_SPEC_CTRL, 0);
> +        if ( rc )
> +            goto err;
> +    }
>      else
> +    {
>          vmx_set_msr_intercept(v, MSR_SPEC_CTRL, VMX_MSR_RW);
>  
> +        /* Can only fail with -ESRCH, and we don't care. */
> +        vmx_del_msr(v, MSR_SPEC_CTRL, VMX_MSR_GUEST);
> +    }
> +
>      /* MSR_PRED_CMD is safe to pass through if the guest knows about it. */
>      if ( cp->feat.ibrsb || cp->extd.ibpb )
>          vmx_clear_msr_intercept(v, MSR_PRED_CMD,  VMX_MSR_RW);
> @@ -623,6 +634,15 @@ static void vmx_cpuid_policy_changed(struct vcpu *v)
>          vmx_clear_msr_intercept(v, MSR_FLUSH_CMD, VMX_MSR_RW);
>      else
>          vmx_set_msr_intercept(v, MSR_FLUSH_CMD, VMX_MSR_RW);
> +
> + err:

Nit: I would name this out, since it's used by both the error and the
normal exit paths, but that's just my taste.

> +    vmx_vmcs_exit(v);
> +
> +    if ( rc )
> +    {
> +        printk(XENLOG_G_ERR "MSR load/save list error: %d", rc);
> +        domain_crash(v->domain);
> +    }
>  }
>  
>  int vmx_guest_x86_mode(struct vcpu *v)
> @@ -3128,7 +3148,6 @@ static int is_last_branch_msr(u32 ecx)
>  static int vmx_msr_read_intercept(unsigned int msr, uint64_t *msr_content)
>  {
>      struct vcpu *curr = current;
> -    const struct vcpu_msrs *msrs = curr->arch.msrs;
>      uint64_t tmp;
>  
>      HVM_DBG_LOG(DBG_LEVEL_MSR, "ecx=%#x", msr);
> @@ -3136,7 +3155,11 @@ static int vmx_msr_read_intercept(unsigned int msr, uint64_t *msr_content)
>      switch ( msr )
>      {
>      case MSR_SPEC_CTRL: /* guest_rdmsr() has already performed #GP checks. */
> -        *msr_content = msrs->spec_ctrl.raw;
> +        if ( vmx_read_guest_msr(curr, msr, msr_content) )
> +        {
> +            ASSERT_UNREACHABLE();
> +            goto gp_fault;
> +        }

AFAICT this is required just for Xen internal callers, as a guest
attempt to access MSR_SPEC_CTRL will never be trapped, or if trapped it
would be because !cp->feat.ibrsb and thus won't get here anyway.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Jan 14 13:09:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 13:09:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257622.442791 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8MK6-0002uk-Gq; Fri, 14 Jan 2022 13:08:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257622.442791; Fri, 14 Jan 2022 13:08:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8MK6-0002ud-Dq; Fri, 14 Jan 2022 13:08:54 +0000
Received: by outflank-mailman (input) for mailman id 257622;
 Fri, 14 Jan 2022 13:08:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vyuu=R6=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n8MK5-0002uX-1j
 for xen-devel@lists.xenproject.org; Fri, 14 Jan 2022 13:08:53 +0000
Received: from ppsw-33.csi.cam.ac.uk (ppsw-33.csi.cam.ac.uk [131.111.8.133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1d9b8a7a-753b-11ec-9bbc-9dff3e4ee8c5;
 Fri, 14 Jan 2022 14:08:51 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:48248)
 by ppsw-33.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.137]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n8MJw-000AE3-gi (Exim 4.95) (return-path <amc96@srcf.net>);
 Fri, 14 Jan 2022 13:08:44 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 0093A1FC09;
 Fri, 14 Jan 2022 13:08:43 +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: 1d9b8a7a-753b-11ec-9bbc-9dff3e4ee8c5
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <528354d2-9de0-fe12-20e7-b3500a5f6ad9@srcf.net>
Date: Fri, 14 Jan 2022 13:08:43 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Content-Language: en-GB
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Jan Beulich <JBeulich@suse.com>, Wei Liu <wl@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>
References: <20220113163833.3831-1-andrew.cooper3@citrix.com>
 <20220113163833.3831-4-andrew.cooper3@citrix.com>
 <YeFxqOPqi/DPpugL@Air-de-Roger>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: [PATCH 3/3] x86/spec-ctrl: Fix NMI race condition with VT-x
 MSR_SPEC_CTRL handling
In-Reply-To: <YeFxqOPqi/DPpugL@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 14/01/2022 12:50, Roger Pau Monné wrote:
> On Thu, Jan 13, 2022 at 04:38:33PM +0000, Andrew Cooper wrote:
>> The logic was based on a mistaken understanding of how NMI blocking on vmexit
>> works.  NMIs are only blocked for EXIT_REASON_NMI, and not for general exits.
>> Therefore, an NMI can in general hit early in the vmx_asm_vmexit_handler path,
>> and the guest's value will be clobbered before it is saved.
>>
>> Switch to using MSR load/save lists.  This causes the guest value to be saved
>> atomically with respect to NMIs/MCEs/etc.
>>
>> First, update vmx_cpuid_policy_changed() to configure the load/save lists at
>> the same time as configuring the intercepts.  This function is always used in
>> remote context, so extend the vmx_vmcs_{enter,exit}() block to cover the whole
>> function, rather than having multiple remote acquisitions of the same VMCS.
>>
>> vmx_add_guest_msr() can fail, but only in ways which are entirely fatal to the
>> guest, so handle failures using domain_crash().  vmx_del_msr() can fail with
>> -ESRCH but we don't matter, and this path will be taken during domain create
>> on a system lacking IBRSB.
>>
>> Second, update vmx_msr_{read,write}_intercept() to use the load/save lists
>> rather than vcpu_msrs, and update the comment to describe the new state
>> location.
>>
>> Finally, adjust the entry/exit asm.  Drop DO_SPEC_CTRL_ENTRY_FROM_HVM
>> entirely, and use a shorter code sequence to simply reload Xen's setting from
>> the top-of-stack block.
>>
>> Because the guest values are loaded/saved atomically, we do not need to use
>> the shadowing logic to cope with late NMIs/etc, so we can omit
>> DO_SPEC_CTRL_EXIT_TO_GUEST entirely and VMRESUME/VMLAUNCH with Xen's value in
>> context.  Furthermore, we can drop the SPEC_CTRL_ENTRY_FROM_PV too, as there's
>> no need to switch back to Xen's context on an early failure.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> ---
>> CC: Jan Beulich <JBeulich@suse.com>
>> CC: Roger Pau Monné <roger.pau@citrix.com>
>> CC: Wei Liu <wl@xen.org>
>> CC: Jun Nakajima <jun.nakajima@intel.com>
>> CC: Kevin Tian <kevin.tian@intel.com>
>>
>> Needs backporting as far as people can tolerate.
>>
>> If the entry/exit logic were in C, I'd ASSERT() that shadow tracking is off,
>> but this is awkard to arrange in asm.
>> ---
>>  xen/arch/x86/hvm/vmx/entry.S             | 19 ++++++++++-------
>>  xen/arch/x86/hvm/vmx/vmx.c               | 36 +++++++++++++++++++++++++++-----
>>  xen/arch/x86/include/asm/msr.h           | 10 ++++++++-
>>  xen/arch/x86/include/asm/spec_ctrl_asm.h | 32 ++++------------------------
>>  4 files changed, 56 insertions(+), 41 deletions(-)
>>
>> diff --git a/xen/arch/x86/hvm/vmx/entry.S b/xen/arch/x86/hvm/vmx/entry.S
>> index 30139ae58e9d..297ed8685126 100644
>> --- a/xen/arch/x86/hvm/vmx/entry.S
>> +++ b/xen/arch/x86/hvm/vmx/entry.S
>> @@ -35,7 +35,14 @@ ENTRY(vmx_asm_vmexit_handler)
>>  
>>          /* SPEC_CTRL_ENTRY_FROM_VMX    Req: b=curr %rsp=regs/cpuinfo, Clob: acd */
>>          ALTERNATIVE "", DO_OVERWRITE_RSB, X86_FEATURE_SC_RSB_HVM
>> -        ALTERNATIVE "", DO_SPEC_CTRL_ENTRY_FROM_HVM, X86_FEATURE_SC_MSR_HVM
>> +
>> +        .macro restore_spec_ctrl
>> +            mov    $MSR_SPEC_CTRL, %ecx
>> +            movzbl CPUINFO_xen_spec_ctrl(%rsp), %eax
>> +            xor    %edx, %edx
>> +            wrmsr
>> +        .endm
>> +        ALTERNATIVE "", restore_spec_ctrl, X86_FEATURE_SC_MSR_HVM
> I assume loading the host value into SPEC_CTRL strictly needs to
> happen after the RSB overwrite, or else you could use a VM exit host
> load MSR entry to handle MSR_SPEC_CTRL.

We could use the host load list, but Intel warned that the lists aren't
as efficient as writing it like this, hence why I didn't use them
originally when we thought the NMI behaviour was different.  Obviously,
we're using them now for correctness reasons, which is more important
than avoiding them for (unquantified) perf reasons.

I've got some plans for changes to how Xen handles MSR_SPEC_CTRL for its
own protection, which I hope will bring a substantial efficiency
improvements, and those would require us not to use a host load list here.

> Also I don't understand why SPEC_CTRL shadowing is not cleared before
> loading Xen's value now.

Because we now don't set shadowing it in the first place, because of ...

>
>>          /* WARNING! `ret`, `call *`, `jmp *` not safe before this point. */
>>  
>>          /* Hardware clears MSR_DEBUGCTL on VMExit.  Reinstate it if debugging Xen. */
>> @@ -83,7 +90,6 @@ UNLIKELY_END(realmode)
>>  
>>          /* WARNING! `ret`, `call *`, `jmp *` not safe beyond this point. */
>>          /* SPEC_CTRL_EXIT_TO_VMX   Req: a=spec_ctrl %rsp=regs/cpuinfo, Clob: cd */
>> -        ALTERNATIVE "", DO_SPEC_CTRL_EXIT_TO_GUEST, X86_FEATURE_SC_MSR_HVM
>>          ALTERNATIVE "", __stringify(verw CPUINFO_verw_sel(%rsp)), X86_FEATURE_SC_VERW_HVM

... this hunk.

Also, see the note about ASSERT() in the commit message.

I'm happy to try and make this clearer in the commit message if you have
any suggestions.

>>  
>>          mov  VCPU_hvm_guest_cr2(%rbx),%rax
>> @@ -119,12 +125,11 @@ UNLIKELY_END(realmode)
>>          SAVE_ALL
>>  
>>          /*
>> -         * PV variant needed here as no guest code has executed (so
>> -         * MSR_SPEC_CTRL can't have changed value), and NMIs/MCEs are liable
>> -         * to hit (in which case the HVM variant might corrupt things).
>> +         * SPEC_CTRL_ENTRY notes
>> +         *
>> +         * If we end up here, no guest code has executed.  We still have Xen's
>> +         * choice of MSR_SPEC_CTRL in context, and the RSB is safe.
>>           */
>> -        SPEC_CTRL_ENTRY_FROM_PV /* Req: %rsp=regs/cpuinfo Clob: acd */
>> -        /* WARNING! `ret`, `call *`, `jmp *` not safe before this point. */
>>  
>>          call vmx_vmentry_failure
>>          jmp  .Lvmx_process_softirqs
>> diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
>> index 28ee6393f11e..d7feb5f9c455 100644
>> --- a/xen/arch/x86/hvm/vmx/vmx.c
>> +++ b/xen/arch/x86/hvm/vmx/vmx.c
>> @@ -592,6 +592,7 @@ void vmx_update_exception_bitmap(struct vcpu *v)
>>  static void vmx_cpuid_policy_changed(struct vcpu *v)
>>  {
>>      const struct cpuid_policy *cp = v->domain->arch.cpuid;
>> +    int rc = 0;
>>  
>>      if ( opt_hvm_fep ||
>>           (v->domain->arch.cpuid->x86_vendor != boot_cpu_data.x86_vendor) )
>> @@ -601,17 +602,27 @@ static void vmx_cpuid_policy_changed(struct vcpu *v)
>>  
>>      vmx_vmcs_enter(v);
>>      vmx_update_exception_bitmap(v);
>> -    vmx_vmcs_exit(v);
>>  
>>      /*
>>       * We can safely pass MSR_SPEC_CTRL through to the guest, even if STIBP
>>       * isn't enumerated in hardware, as SPEC_CTRL_STIBP is ignored.
>>       */
>>      if ( cp->feat.ibrsb )
>> +    {
>>          vmx_clear_msr_intercept(v, MSR_SPEC_CTRL, VMX_MSR_RW);
>> +
>> +        rc = vmx_add_guest_msr(v, MSR_SPEC_CTRL, 0);
>> +        if ( rc )
>> +            goto err;
>> +    }
>>      else
>> +    {
>>          vmx_set_msr_intercept(v, MSR_SPEC_CTRL, VMX_MSR_RW);
>>  
>> +        /* Can only fail with -ESRCH, and we don't care. */
>> +        vmx_del_msr(v, MSR_SPEC_CTRL, VMX_MSR_GUEST);
>> +    }
>> +
>>      /* MSR_PRED_CMD is safe to pass through if the guest knows about it. */
>>      if ( cp->feat.ibrsb || cp->extd.ibpb )
>>          vmx_clear_msr_intercept(v, MSR_PRED_CMD,  VMX_MSR_RW);
>> @@ -623,6 +634,15 @@ static void vmx_cpuid_policy_changed(struct vcpu *v)
>>          vmx_clear_msr_intercept(v, MSR_FLUSH_CMD, VMX_MSR_RW);
>>      else
>>          vmx_set_msr_intercept(v, MSR_FLUSH_CMD, VMX_MSR_RW);
>> +
>> + err:
> Nit: I would name this out, since it's used by both the error and the
> normal exit paths, but that's just my taste.

Ok.

>
>> +    vmx_vmcs_exit(v);
>> +
>> +    if ( rc )
>> +    {
>> +        printk(XENLOG_G_ERR "MSR load/save list error: %d", rc);
>> +        domain_crash(v->domain);
>> +    }
>>  }
>>  
>>  int vmx_guest_x86_mode(struct vcpu *v)
>> @@ -3128,7 +3148,6 @@ static int is_last_branch_msr(u32 ecx)
>>  static int vmx_msr_read_intercept(unsigned int msr, uint64_t *msr_content)
>>  {
>>      struct vcpu *curr = current;
>> -    const struct vcpu_msrs *msrs = curr->arch.msrs;
>>      uint64_t tmp;
>>  
>>      HVM_DBG_LOG(DBG_LEVEL_MSR, "ecx=%#x", msr);
>> @@ -3136,7 +3155,11 @@ static int vmx_msr_read_intercept(unsigned int msr, uint64_t *msr_content)
>>      switch ( msr )
>>      {
>>      case MSR_SPEC_CTRL: /* guest_rdmsr() has already performed #GP checks. */
>> -        *msr_content = msrs->spec_ctrl.raw;
>> +        if ( vmx_read_guest_msr(curr, msr, msr_content) )
>> +        {
>> +            ASSERT_UNREACHABLE();
>> +            goto gp_fault;
>> +        }
> AFAICT this is required just for Xen internal callers, as a guest
> attempt to access MSR_SPEC_CTRL will never be trapped, or if trapped it
> would be because !cp->feat.ibrsb and thus won't get here anyway.

We can end up here through FEP, or introspection caring about the MSR,
but most importantly, for moving MSR_SPEC_CTRL on migrate.

What the ASSERT_UNREACHABLE() is saying is that "if the common code
declares not #GP, then MSR_SPEC_CTRL is *definitely* exists in the MSR
list".

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Jan 14 13:21:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 13:21:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257626.442802 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8MWP-0005Cb-Po; Fri, 14 Jan 2022 13:21:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257626.442802; Fri, 14 Jan 2022 13:21:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8MWP-0005CU-MW; Fri, 14 Jan 2022 13:21:37 +0000
Received: by outflank-mailman (input) for mailman id 257626;
 Fri, 14 Jan 2022 13:21:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Yvwj=R6=linaro.org=peter.maydell@srs-se1.protection.inumbo.net>)
 id 1n8MWO-0005CO-HK
 for xen-devel@lists.xenproject.org; Fri, 14 Jan 2022 13:21:36 +0000
Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com
 [2a00:1450:4864:20::434])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e55c2826-753c-11ec-9bbc-9dff3e4ee8c5;
 Fri, 14 Jan 2022 14:21:35 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id o3so15554147wrh.10
 for <xen-devel@lists.xenproject.org>; Fri, 14 Jan 2022 05:21:34 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e55c2826-753c-11ec-9bbc-9dff3e4ee8c5
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=kpCJcdfrLKqNtlqlNpQkl2GOld+EZGvTCm28pDy2AHo=;
        b=g/7lZB2IJBRSh7MsX1G9/5wdZ8tEnTPBO+AsAoTH8eP+9uJqAlJJDy+UNqDTv0cPMP
         mGd/R/U3eSW7+H4Dpd5UJE0A9lzhqRPWxcO7KqTtPGSHq9QXUpsbru5HBddHGaGEbMz9
         UHw5kwvdzmhhiVzUdKoFXbHYjZxQtD2eVt/AiGTr3igF+7OfLlYiuqFTwpvr2QJfsu9M
         B3w1H2kK/VAqijdD86AanlYQBbgVt8qXf7H4QoV2eVQcue2t70ek2Np3bzJAr3jI1f9U
         ZPPeJh7/k/SWRU3vD4q9Q3rBQMLUMAKnTeidZgnkOEbHcjqIjMIHQOOhTqp4fJ7xQvTr
         Yayw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=kpCJcdfrLKqNtlqlNpQkl2GOld+EZGvTCm28pDy2AHo=;
        b=3HHsDqcwkX7ALqGHotTFDeEfXygLr0v/6/I3nNyyGOdjxNlMqoiFr6BIJAysgwethW
         Trwy3Ss/29DF0ahxazR7zRdoI9btoHmVTBxtDCB1b3cgss9ymvLTVX0eqgYlPe9pO4JO
         tcrIYI5gqpTfTRJu0vC24xGHCLQZHH0L6Yp9aiyhm2djy0yPPQ37tGj1FuQqw3yDTloj
         +W0n99eBXQi1ZcAMfqKiVsWSk4FC3F5B/W3w9gj4MjcQZ7NQB+K22sh5kyDSO00Bbk60
         34CzW/z3chHd8GuhJSWyP3gTyrbmSpl7ky2UBVC/zyh8tO+Zsgepo27wzdd7fKewFrIV
         4abw==
X-Gm-Message-State: AOAM532aN4ge6BEp5ZEIsebAm188areguhL2CAIImBt6jCXthln+STPD
	/GHbwVbEPwlJ6AlvGrSlFJ80k274O0P84IshccJnOg==
X-Google-Smtp-Source: ABdhPJxc8CSCWZXb7472Y8HujlrTP9t/PGLMn7X+NSPFgS/mqv/LOYieP4ZeGzYqbG7VrcnjaeB/NYhlUxlzXCVLTEQ=
X-Received: by 2002:adf:e907:: with SMTP id f7mr8267985wrm.319.1642166494516;
 Fri, 14 Jan 2022 05:21:34 -0800 (PST)
MIME-Version: 1.0
References: <20220112171402.112183-1-stefanha@redhat.com>
In-Reply-To: <20220112171402.112183-1-stefanha@redhat.com>
From: Peter Maydell <peter.maydell@linaro.org>
Date: Fri, 14 Jan 2022 13:21:23 +0000
Message-ID: <CAFEAcA9JiMc7O1HQAzT_G-gsr03i5bHzzvhTVo84SVT2aHdD9A@mail.gmail.com>
Subject: Re: [PULL 0/6] Block patches
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: qemu-devel@nongnu.org, Coiby Xu <Coiby.Xu@gmail.com>, Fam Zheng <fam@euphon.net>, 
	Anthony Perard <anthony.perard@citrix.com>, =?UTF-8?Q?Daniel_P=2E_Berrang=C3=A9?= <berrange@redhat.com>, 
	Stefano Garzarella <sgarzare@redhat.com>, Peter Lieven <pl@kamp.de>, qemu-block@nongnu.org, 
	Julia Suvorova <jusual@redhat.com>, Kevin Wolf <kwolf@redhat.com>, 
	"Richard W.M. Jones" <rjones@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	=?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= <f4bug@amsat.org>, 
	Paul Durrant <paul@xen.org>, Stefan Weil <sw@weilnetz.de>, Juan Quintela <quintela@redhat.com>, 
	Ronnie Sahlberg <ronniesahlberg@gmail.com>, xen-devel@lists.xenproject.org, 
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>, Aarushi Mehta <mehta.aaru20@gmail.com>, 
	"Michael S. Tsirkin" <mst@redhat.com>, Stefano Stabellini <sstabellini@kernel.org>, Hanna Reitz <hreitz@redhat.com>
Content-Type: text/plain; charset="UTF-8"

On Wed, 12 Jan 2022 at 17:14, Stefan Hajnoczi <stefanha@redhat.com> wrote:
>
> The following changes since commit 91f5f7a5df1fda8c34677a7c49ee8a4bb5b56a36:
>
>   Merge remote-tracking branch 'remotes/lvivier-gitlab/tags/linux-user-for-7.0-pull-request' into staging (2022-01-12 11:51:47 +0000)
>
> are available in the Git repository at:
>
>   https://gitlab.com/stefanha/qemu.git tags/block-pull-request
>
> for you to fetch changes up to db608fb78444c58896db69495729e4458eeaace1:
>
>   virtio: unify dataplane and non-dataplane ->handle_output() (2022-01-12 17:09:39 +0000)
>
> ----------------------------------------------------------------
> Pull request
>

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>

thanks
-- PMM


From xen-devel-bounces@lists.xenproject.org Fri Jan 14 13:44:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 13:44:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257629.442813 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8Mry-0007cn-LC; Fri, 14 Jan 2022 13:43:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257629.442813; Fri, 14 Jan 2022 13:43:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8Mry-0007cg-I2; Fri, 14 Jan 2022 13:43:54 +0000
Received: by outflank-mailman (input) for mailman id 257629;
 Fri, 14 Jan 2022 13:43:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4vmv=R6=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n8Mrw-0007ca-QJ
 for xen-devel@lists.xenproject.org; Fri, 14 Jan 2022 13:43:52 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0036b718-7540-11ec-9bbc-9dff3e4ee8c5;
 Fri, 14 Jan 2022 14:43:50 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0036b718-7540-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642167830;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=GQulAueYbnBDJjh8LkEPKNkAlkuMRtAQE9hrMSapsg4=;
  b=QNHAOUy1dlmhOV4+u79Ym59FvN+myWMdL9JRCEQ0wmxnxnZgy/z1nLSm
   /a+EiL1y/Jar7hyXYs+WTLXbU/aE63zXnR8ydlK3ykxZPBRcBPh/n5bh3
   5HpuTmy2uH3ekCAqPcKIt88TkRTvQiuuOMB3ma6SWskW9lLnddiv1OBjC
   s=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: OyBNRnItrgu8TrjFlKAfuFC4fP+gLHRobV7Ge1j8XnnUWKhyM22dh59wXkRjGjhMr9f82NIbhx
 KufQsu+14IfTGni7tknVATsNMkv4kUFY3XyWTYwRsDzSzZEHN+x73ajfrd7SY/NKEg9I8GM1c/
 Tlmyctc5Nv+C1N8EMXY2VKqQWAx/2id1yoaranUBJRDTdnJZqYQSOJ7pdKvMb92dzmfa1q2E69
 fjOAjws3SP39TJHS6xb6HU6dqEwe1iZL9Eand06wVVz9SUPEMzBfzDBeG6tsdkXZUNAiJymG8p
 150LGmHkWgCxWEgk5KxihMNs
X-SBRS: 5.2
X-MesageID: 61491131
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:4KsX4K/QIDBmQq13Q6v6DrUDJHmTJUtcMsCJ2f8bNWPcYEJGY0x3m
 2EeCziEbP2LZmfzLd9+Pt60pEMDv5HWzt43TgFlqys8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7dg3tYy6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPh2+
 ohXrqHzUzsQAY/Tqt8ETiN0NA5xaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguw5K8bmJsUHs2xIxjDFF/c2B5vERs0m4PcGhWth35kVRJ4yY
 eIlMWVwaBf4YyZKK3BMUJVhnbmBmmfGJmgwRFW9+vNsvjm7IBZK+KfpGMrYfJqNX8o9tkSFo
 CTA9mfwABAfPfSezyaI9jSngeqntSD2RoMUUqG5//hCgVuPy2hVAxoTPXOypPLo1GalQdlRb
 UoZ5kIGvaU0sUCmUNT5dxm5u2Kf+A4RXcJKFO834x3LzbDbiy67LGUZSj9KaPQ9qdQ7Azct0
 ze0c8jBXGI19ufPEDTEq+nS/Wja1TUpwXEqYh1ZVxA4oMPfmb4RkSD0V8tZPImagYigcd3v+
 AyioC87jrQVqMcE0aSn4FzK6w6RSoj1oh0dvVuOAD/8hu9tTMv8PtHztwCHhRpVBNvBFjG8U
 G44d99yBQzkJbWEj2SzTeoEB9lFDN7VYWSH0TaD83TMnglBGkJPn6gMsVmSx28za67onAMFh
 meJ6Wu9A7cJbROXgVdfOd7ZNijT5fGI+S7Zfv7VdMFSRZN6aRWK+ipjDWbJgTy3yBl9zPllY
 83BGSpJMZr8If43pNZRb71MuYLHOwhknT+DLXwF50nPPUWiiI69Fu5ebQrmghER56KYugTFm
 +uzxOPRoyizpNbWO3GNmaZKdAhiBSFiWfje9pILHsbefFsOMDxxWpf5nOJ6E6Q4zvs9qws91
 iznMqOu4ACh1SSvxMTjQi0LVY4Dqr4k/C1rZnJ9bA/4s5XhCK72hJoim1IMVeBP3MRozOJuT
 ulDfMOFA/9VTS/A9ShbZp74xLGOvjzy7e5XFyb6MjU5YbB6QAnFpo3tcgf1rXFcBSurr8ou5
 ban01qDE5YEQg1jCufQae6ukAzt7SRMxroqUhuaOMRXdWXt7JNud377gMgoLpxeMh7E3Dabi
 VqbWE9KuenXroYp29DVnqTY/ZyxGu5zExMCTWnW5Lq7LwfA+W+nzdMSWeqEZ2mFBmj15L+jd
 aNeyPSlaK8Lm1NDsoxdFbd3zP1hu4uz9uEClgk9RSfFdVWmDL9kM0Kq58gXu/0f3KJdtCu3R
 lmLpotQN4KWNZ63C1UWPgckMLiOjKlGhjnI4P0pC0zm/ysrrqGfWEBfMhTQ2ixQKLx5bNEsz
 es74ZNE7gW+jlwhM8qcjzAS/GOJdyRSX6Iiv5AcIYnqlgt0lQ0SPc2CUnf7sMOVdtFBEkg2O
 TvF1qPNioNVylfGb3duR2PG2vBQhMhWtR1HpLPYy49lRjYRaicL4SBs
IronPort-HdrOrdr: A9a23:fLHEyKw4/5eWmubFWWg2KrPxs+skLtp133Aq2lEZdPULSKOlfp
 GV8MjziyWYtN9wYhAdcdDpAtjmfZr5z+8O3WB3B8beYOCGghrSEGgG1+XfKlLbak/DH4JmpM
 Jdmu1FeaHN5DtB/LfHCWuDYq8dKbC8mcjC74eurEuFDzsaE52Ihz0JdDpzeXcGIjWua6BJcK
 Z1saF81kWdkDksH46G7j5vZZm3m/T70LbdJTIWDR8u7weDyRuu9b7BChCdmjMTSSlGz7sO+X
 XM11WR3NTuj9iLjjvnk0PD5ZVfn9XsjvNFGcy3k8AQbhHhkByhaohNU6CL+Bo1vOaswlA3l8
 SkmWZsA+1Dr1fqOk2lqxrk3AftlB4o9n/Z0FedxUDupMToLQhKQvZptMZ8SF/0+kAgtNZz3O
 ZgxGSCradaChvGgWDU+8XIfwsCrDv0nVMS1cooy1BPW4oXb7Fc6aYF+llOLZsGFCXmrKg6De
 hVCt3G7vo+SyLVU5nghBgt/DWQZAVwIv/fKXJy//B9kgIm00yR9nFohPD2xRw7hdYAo5ot3Z
 WzDk0nrsAIciYsV9MPOA42e7rBNoX8e2O9DIusGyWUKEgmAQOEl3el2sR/2AmVEKZ4uKfa3q
 6xFm9liQ==
X-IronPort-AV: E=Sophos;i="5.88,288,1635220800"; 
   d="scan'208";a="61491131"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gjGdtLy2LLq2/wjJXwHc0lwZccWAfzmGpactN2dZBHxxsUrVVpUlyAg1QzQaPCMea8D0z3+tkplHq/2DTUnB1LXv8LcJUEWVcTfCEvQ8eD2vwYbuDUIA+YKakhoD6IvgZHDm/0JE/+mLgGGyAWdcK6hFxIgS7Pv32B28B3m6BKjTgOtcoS3Z+7Up/K1kGfYMpkGlXNw66yskxTzJCVz/WQ4DMCsLjdP9iPNMpbV1AFOtHd+lmXDcc7ZS9qtkfJVChGdLcMaXd2DMJcuVcJIW8GEs6pjQwNIvRfI+0lwjQZHBpTqmeU6uBuAZvarW0NxxncftIkuR1lpzuw3kDp0G6g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=w5zm/qg9AgnMmqKsmLuBRBFsWgZfbtV31x/hP1k2gfk=;
 b=k7Hb4pQ7vZf0gCEx68mjjISLKXhhQUPQT1FAZzVwjxeKVZgDOYPpKvXAGmHaA99suP8dZqoBLQMVXJfnCNRieoh3qP/JNSeNq/PL8FnBrbUXVVrYcEJt69emsLbPRnqS927Hn0GJ+9oKaW69Ik/p91IHY0ug0QPMUfyiYtWok/7cOVH+SjGH1citZW4pwyMToGwNCW2PPKgVYmbs1/LDOtVQbMq3Zl67G7Je90HjvLN2COigBW4NmAGxwbpHhkxc3tV+KisNgbRZYnYUqo7BAsZtfq4CFTSVOce8uyQ+1ejJUZUDTCruLTeZbzM23NlZCOS+XUIE7jGs4RmAmXNwTQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=w5zm/qg9AgnMmqKsmLuBRBFsWgZfbtV31x/hP1k2gfk=;
 b=W0hYJ/NiM4gXC/1LmIIEI3SRnXtkFjjB5Q7q47xv/srm2st5DNKcYoSTxBcLmex4llZ6RoTlqcFCt9B2yxhSJI0OOZtcPuk/TSLZzb85MQilCvCfVwkY3412HjlzvYDTiS8AkGhkyRoQKM6y3pL13JOxZMzSugKd3yQhBuKusTg=
Date: Fri, 14 Jan 2022 14:43:37 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <amc96@srcf.net>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Xen-devel
	<xen-devel@lists.xenproject.org>, Jan Beulich <JBeulich@suse.com>, Wei Liu
	<wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian
	<kevin.tian@intel.com>
Subject: Re: [PATCH 3/3] x86/spec-ctrl: Fix NMI race condition with VT-x
 MSR_SPEC_CTRL handling
Message-ID: <YeF+CZj9p3Z6j7ts@Air-de-Roger>
References: <20220113163833.3831-1-andrew.cooper3@citrix.com>
 <20220113163833.3831-4-andrew.cooper3@citrix.com>
 <YeFxqOPqi/DPpugL@Air-de-Roger>
 <528354d2-9de0-fe12-20e7-b3500a5f6ad9@srcf.net>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <528354d2-9de0-fe12-20e7-b3500a5f6ad9@srcf.net>
X-ClientProxiedBy: MR2P264CA0037.FRAP264.PROD.OUTLOOK.COM (2603:10a6:500::25)
 To DS7PR03MB5608.namprd03.prod.outlook.com (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b76ddeeb-1e66-45ae-627e-08d9d763e168
X-MS-TrafficTypeDiagnostic: PH0PR03MB5814:EE_
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr
X-Microsoft-Antispam-PRVS: <PH0PR03MB5814400C4CAFBE47A2CA4C488F549@PH0PR03MB5814.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: t7Bzw0659Au1o7opTn/RJjzpMJcL8JQ2ikQzmLdJxIRipJVdLRmJG8AVCU3kgQ+eRowda+cO7EQz6mZ8PWG9l1i+JQqlz49SetUFoT5IYmtjS8d6M/upkm9FO7L18V2DxzJ9Sf6yIEhy070tUuWGHjRqfR8Uc51pkhIviwTI1uFRLES5E7om4rlwDoHxYiQ0kqsVLRKlc0/2d1ipQZxvS/WGwuYX25DUsa8uKkQsouAiJOTXC8BJBMZZ9sYBq2DyfYOI/YNTpx1Vr19KL1iEvDDsZkhYz2giBqguX8pRhCTEaVpfYnTvZ8FQxPU3yY/wMjJx0BRf+kfUh/WeQILQE5vhBuOKG+yhnM3VQksbr1Rp/x7fLrEcYTQhPQ28/1s9sy8rZTXBTATjDV9mtTOoLPhcYJbanqqtJ1N21rPSe5EpbCmYyoeLOBBsqdMz2erXJMe7+dS6g5tmCrDT2WGbtWsWonlmPL+tM7oOwiCKxFIa9vi95bQlt9f2b40bxB5wrpXKmLYTA1P8GXKXxyGlTtBa3Uo8LJXcljbJ+UnmNO74/H9mQWnng6JPW4OtNyOgu10pvmkqNf0Vc1m+Z7RVp2nWTw6VdtZ5Bh7ZIZirpNSjfuKxWo3rNrPAe7YbCNmcQL/DuXH17pTlQ+P+i0838jriCI6PpXau50vX7vHz24Df+cPnmTtgxoO1QINg0pPuYvJcfjy6XHew9UHO9/jMDw==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(86362001)(66476007)(85182001)(66556008)(508600001)(6486002)(33716001)(5660300002)(6916009)(2906002)(83380400001)(316002)(66946007)(38100700002)(26005)(82960400001)(186003)(8676002)(6512007)(53546011)(4326008)(9686003)(6506007)(8936002)(6666004)(54906003)(67856001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SndkMEpUbDlwUkEyTjFGRDFZb2hvT24rYm5mT1pIRlBGZ1hQTE1Hck11LzBX?=
 =?utf-8?B?R3UzcGEzdURhZTU1NXBjOWlJYisxcWNnNmJKblQzVFBnSWFQOVMxS1MzbzRh?=
 =?utf-8?B?ZEpmK09qZkNTMDRCUDIyc0lMemttYWgxcGNuQkQ4Yjh4QWlIV0t6K0NSbnRK?=
 =?utf-8?B?aHJyMXZGeFJIa1gwV2RhYVQ2MW4vTExsZ2JmRW5CQ2NnMDJuR254WXJHa09o?=
 =?utf-8?B?ZWlyNDdadnd3aUJlNTRTNTAyVnRxVytTVWx3ZllCekxUY2txT3dPRVhjN25l?=
 =?utf-8?B?SENnVkZ6RDV6K2k0dkM5cjA2bXU4MGlyV25aalBCaFlGYjlSNkQ4Rmk2WEpQ?=
 =?utf-8?B?c3FhZm5ORVFOMGw3TUxKVnpIU2JVUFEyTUFzZGMxZlFvS253NjhTSGlvOWp1?=
 =?utf-8?B?d1VjMm1yM0Jwd2JIN2Y2alBSTElCZnpCRTJSRWxreWpyUmRFOWhkbjBPRWhX?=
 =?utf-8?B?RU85OXlUalhFZWViOS9KR3hscUR2UGRBcDVPZ3cwRGFkUDhNRzVKeWwyMWFm?=
 =?utf-8?B?N0U0TFFmeGV0QnYvcG1qQXprNDhWZkt3VW9McFlBamM3djczNmg1a1VvTWYv?=
 =?utf-8?B?UEVDRXpJMEtndEQra0YzZVJBUmxLZTBmVnFuSWJxWWdPNngyclF4VDJBZVRq?=
 =?utf-8?B?cEpxODFrQkpQUytqMWFkeWl5Rkt2dGFLRWpaajNENlQxemFJZ2h3cFIzRDc1?=
 =?utf-8?B?Q3VGdzhjRkpiV2psUzFsL3NrakVJTElsd0xheXorZnA1QTdHcHg5cFlSanpy?=
 =?utf-8?B?a2hMaGlqYS9JOHh4cE9MSGQzVWFGZHNhdndaL2NnMjZrYlJaQ1cyb1VpOXJ0?=
 =?utf-8?B?S2hYTXVMc3pUY0NFS1UySVFpVE11bENUQ0Y2VjVTNWoxWHhSTisva0Q1RHlK?=
 =?utf-8?B?K1lpV0JXcTY2bGxEOU9NeDVGdlgxKzBjaElJaW1rQTlCb1dJVDEreWkrZmRk?=
 =?utf-8?B?dnIrbHk5NmhVRnh1S2hORU84MmlOdmNZZUsyaExxazBtZ3c4MzJ0a3pUaytt?=
 =?utf-8?B?ZGFPSGdtYjloa2t1bC9sRnJ2cnFoYjE0OTN0NEExZDBNd2pVNWNTay9YOXBz?=
 =?utf-8?B?ZTFCUDg4N1hZZ25Dcm1BWnRHajN6ODd3S0ovZWFrK2trR1dzK3JKUWVwZHpZ?=
 =?utf-8?B?YWRJTGZZOTdyRXl3Q2l0Yk5zUnIybUhOZ0kzaEowNDJJaGphalNGNUZtNFpv?=
 =?utf-8?B?Y2hvQ0R5NUpBMUg1Um80TUFvWkhsR3JQa1c0QllHZXlmMVZ5bnI0WUg1Vnlw?=
 =?utf-8?B?MndxR2JZZDZQeFRFWDdNcVBBOVVML3BORlRpWWZuM3BONHlsSkRJVGVtaXFG?=
 =?utf-8?B?TlZYWk9kQW1oZ0Zsa3VBMVBrVTdld1BXTXhPUFpqd1dFeDhoN1VKSUpFYUlW?=
 =?utf-8?B?VWROUG9BcHcxVkVKd2hwZmxWV1V1Vy9ockxEUmgvMkhxZEw4eUU5a09WNC9W?=
 =?utf-8?B?Uks4ODNBRUd5TldNMFI5WTBZN3lPMDloTXNCVmhyOXFmNFE4aWVOcXV6UlpI?=
 =?utf-8?B?cldlb1VVMjFxYm1pQ2pDU0Izeml0dGJGeTIwMXVwNDNJV1QyeHp1LzBwWDNE?=
 =?utf-8?B?aDg5clh4L0o1elVEMTVvM2xlejZxUWpHd3NrSnp2MmhWQTdyZFlvODNJNzRK?=
 =?utf-8?B?S3lxdGFkNnY3M0ViaGpJRDdxZUY2ZnhLZWdNN0dZaEpjb0xacTdCU1BnejBP?=
 =?utf-8?B?T2k1YXhYclU0OGEyZE91cnBXUDd5OWdxOHc4UCt5SmpVOW5yZzc0SmQ4MFpE?=
 =?utf-8?B?d1hHU0c1Zm0xVDljYXpkMUxzZEh0ZzlEUXNkNkEyS2pEQkN6Yml5aS9CT1Rw?=
 =?utf-8?B?OXh3ckVHNzdVcXpxbzhIdnBQbkNWNzY1S1VVMHk1cFhWT3BPOHAyUEhBd3VZ?=
 =?utf-8?B?cHZVK29nK0lVQkhuaXNmdzBTbmplcWI3Y1hveThTd0FQREFROXpiRm5BTHkx?=
 =?utf-8?B?WHdiSkgvTTk1VmFYa3duWWRoY29EVHFmeXFROHhKMnZqdGdlZE9Ld2g0Q0pm?=
 =?utf-8?B?V1lKNnpPeDZuTVFWS3BVSmswMjQ4MmNCNnJNWXlGc3ROMGExRVo3N3VxVVEw?=
 =?utf-8?B?bENDZk9ZeTNpY2lyY25LZUpEMmlOZFdtaUNrc3dLWWNlZk5lT1RKWGZxby8w?=
 =?utf-8?B?bFJ5TXVjcFQrdkgrcnk4dDBoZHYzSm5jSkF2RGZKTTFYQlkvYm1SSW9aLzNU?=
 =?utf-8?Q?7w6ZblMbwOMzowBfs0nfhBU=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: b76ddeeb-1e66-45ae-627e-08d9d763e168
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jan 2022 13:43:43.5740
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vsGYFuZqiF0iwZdwGT88gUvrY3d0/WKGTTG80RIYE7mvaOcjDYxqmnxhyRsOiSHsFXFYFc5IKM3Jp7Db7x5zHQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB5814
X-OriginatorOrg: citrix.com

On Fri, Jan 14, 2022 at 01:08:43PM +0000, Andrew Cooper wrote:
> On 14/01/2022 12:50, Roger Pau Monné wrote:
> > On Thu, Jan 13, 2022 at 04:38:33PM +0000, Andrew Cooper wrote:
> >> The logic was based on a mistaken understanding of how NMI blocking on vmexit
> >> works.  NMIs are only blocked for EXIT_REASON_NMI, and not for general exits.
> >> Therefore, an NMI can in general hit early in the vmx_asm_vmexit_handler path,
> >> and the guest's value will be clobbered before it is saved.
> >>
> >> Switch to using MSR load/save lists.  This causes the guest value to be saved
> >> atomically with respect to NMIs/MCEs/etc.
> >>
> >> First, update vmx_cpuid_policy_changed() to configure the load/save lists at
> >> the same time as configuring the intercepts.  This function is always used in
> >> remote context, so extend the vmx_vmcs_{enter,exit}() block to cover the whole
> >> function, rather than having multiple remote acquisitions of the same VMCS.
> >>
> >> vmx_add_guest_msr() can fail, but only in ways which are entirely fatal to the
> >> guest, so handle failures using domain_crash().  vmx_del_msr() can fail with
> >> -ESRCH but we don't matter, and this path will be taken during domain create
> >> on a system lacking IBRSB.
> >>
> >> Second, update vmx_msr_{read,write}_intercept() to use the load/save lists
> >> rather than vcpu_msrs, and update the comment to describe the new state
> >> location.
> >>
> >> Finally, adjust the entry/exit asm.  Drop DO_SPEC_CTRL_ENTRY_FROM_HVM
> >> entirely, and use a shorter code sequence to simply reload Xen's setting from
> >> the top-of-stack block.
> >>
> >> Because the guest values are loaded/saved atomically, we do not need to use
> >> the shadowing logic to cope with late NMIs/etc, so we can omit
> >> DO_SPEC_CTRL_EXIT_TO_GUEST entirely and VMRESUME/VMLAUNCH with Xen's value in
> >> context.  Furthermore, we can drop the SPEC_CTRL_ENTRY_FROM_PV too, as there's
> >> no need to switch back to Xen's context on an early failure.
> >>
> >> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> >> ---
> >> CC: Jan Beulich <JBeulich@suse.com>
> >> CC: Roger Pau Monné <roger.pau@citrix.com>
> >> CC: Wei Liu <wl@xen.org>
> >> CC: Jun Nakajima <jun.nakajima@intel.com>
> >> CC: Kevin Tian <kevin.tian@intel.com>
> >>
> >> Needs backporting as far as people can tolerate.
> >>
> >> If the entry/exit logic were in C, I'd ASSERT() that shadow tracking is off,
> >> but this is awkard to arrange in asm.
> >> ---
> >>  xen/arch/x86/hvm/vmx/entry.S             | 19 ++++++++++-------
> >>  xen/arch/x86/hvm/vmx/vmx.c               | 36 +++++++++++++++++++++++++++-----
> >>  xen/arch/x86/include/asm/msr.h           | 10 ++++++++-
> >>  xen/arch/x86/include/asm/spec_ctrl_asm.h | 32 ++++------------------------
> >>  4 files changed, 56 insertions(+), 41 deletions(-)
> >>
> >> diff --git a/xen/arch/x86/hvm/vmx/entry.S b/xen/arch/x86/hvm/vmx/entry.S
> >> index 30139ae58e9d..297ed8685126 100644
> >> --- a/xen/arch/x86/hvm/vmx/entry.S
> >> +++ b/xen/arch/x86/hvm/vmx/entry.S
> >> @@ -35,7 +35,14 @@ ENTRY(vmx_asm_vmexit_handler)
> >>  
> >>          /* SPEC_CTRL_ENTRY_FROM_VMX    Req: b=curr %rsp=regs/cpuinfo, Clob: acd */
> >>          ALTERNATIVE "", DO_OVERWRITE_RSB, X86_FEATURE_SC_RSB_HVM
> >> -        ALTERNATIVE "", DO_SPEC_CTRL_ENTRY_FROM_HVM, X86_FEATURE_SC_MSR_HVM
> >> +
> >> +        .macro restore_spec_ctrl
> >> +            mov    $MSR_SPEC_CTRL, %ecx
> >> +            movzbl CPUINFO_xen_spec_ctrl(%rsp), %eax
> >> +            xor    %edx, %edx
> >> +            wrmsr
> >> +        .endm
> >> +        ALTERNATIVE "", restore_spec_ctrl, X86_FEATURE_SC_MSR_HVM
> > I assume loading the host value into SPEC_CTRL strictly needs to
> > happen after the RSB overwrite, or else you could use a VM exit host
> > load MSR entry to handle MSR_SPEC_CTRL.
> 
> We could use the host load list, but Intel warned that the lists aren't
> as efficient as writing it like this, hence why I didn't use them
> originally when we thought the NMI behaviour was different.  Obviously,
> we're using them now for correctness reasons, which is more important
> than avoiding them for (unquantified) perf reasons.
> 
> I've got some plans for changes to how Xen handles MSR_SPEC_CTRL for its
> own protection, which I hope will bring a substantial efficiency
> improvements, and those would require us not to use a host load list here.

Might be worth mentioning that further work will prevent us from using
host load list for SPEC_CTRL has a comment here or in the commit
message.

Using host load lists would also allow us to get rid of
X86_FEATURE_SC_MSR_HVM.

Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Jan 14 13:49:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 13:49:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257633.442824 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8MxD-0008JZ-90; Fri, 14 Jan 2022 13:49:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257633.442824; Fri, 14 Jan 2022 13: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 1n8MxD-0008JS-5O; Fri, 14 Jan 2022 13:49:19 +0000
Received: by outflank-mailman (input) for mailman id 257633;
 Fri, 14 Jan 2022 13:49:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vyuu=R6=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n8MxB-0008JL-OZ
 for xen-devel@lists.xenproject.org; Fri, 14 Jan 2022 13:49:17 +0000
Received: from ppsw-32.csi.cam.ac.uk (ppsw-32.csi.cam.ac.uk [131.111.8.132])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c35b1aac-7540-11ec-a115-11989b9578b4;
 Fri, 14 Jan 2022 14:49:16 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:48796)
 by ppsw-32.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.136]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n8Mx5-000rhU-1N (Exim 4.95) (return-path <amc96@srcf.net>);
 Fri, 14 Jan 2022 13:49:11 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 3A8801FC09;
 Fri, 14 Jan 2022 13:49:11 +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: c35b1aac-7540-11ec-a115-11989b9578b4
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <e32954d0-41b6-857e-522d-ccd35bbdffbb@srcf.net>
Date: Fri, 14 Jan 2022 13:49:11 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Subject: Re: [PATCH 3/3] x86/spec-ctrl: Fix NMI race condition with VT-x
 MSR_SPEC_CTRL handling
Content-Language: en-GB
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich <JBeulich@suse.com>,
 Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
 Kevin Tian <kevin.tian@intel.com>
References: <20220113163833.3831-1-andrew.cooper3@citrix.com>
 <20220113163833.3831-4-andrew.cooper3@citrix.com>
 <YeFxqOPqi/DPpugL@Air-de-Roger>
 <528354d2-9de0-fe12-20e7-b3500a5f6ad9@srcf.net>
 <YeF+CZj9p3Z6j7ts@Air-de-Roger>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <YeF+CZj9p3Z6j7ts@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 14/01/2022 13:43, Roger Pau Monné wrote:
> On Fri, Jan 14, 2022 at 01:08:43PM +0000, Andrew Cooper wrote:
>> On 14/01/2022 12:50, Roger Pau Monné wrote:
>>> On Thu, Jan 13, 2022 at 04:38:33PM +0000, Andrew Cooper wrote:
>>>> The logic was based on a mistaken understanding of how NMI blocking on vmexit
>>>> works.  NMIs are only blocked for EXIT_REASON_NMI, and not for general exits.
>>>> Therefore, an NMI can in general hit early in the vmx_asm_vmexit_handler path,
>>>> and the guest's value will be clobbered before it is saved.
>>>>
>>>> Switch to using MSR load/save lists.  This causes the guest value to be saved
>>>> atomically with respect to NMIs/MCEs/etc.
>>>>
>>>> First, update vmx_cpuid_policy_changed() to configure the load/save lists at
>>>> the same time as configuring the intercepts.  This function is always used in
>>>> remote context, so extend the vmx_vmcs_{enter,exit}() block to cover the whole
>>>> function, rather than having multiple remote acquisitions of the same VMCS.
>>>>
>>>> vmx_add_guest_msr() can fail, but only in ways which are entirely fatal to the
>>>> guest, so handle failures using domain_crash().  vmx_del_msr() can fail with
>>>> -ESRCH but we don't matter, and this path will be taken during domain create
>>>> on a system lacking IBRSB.
>>>>
>>>> Second, update vmx_msr_{read,write}_intercept() to use the load/save lists
>>>> rather than vcpu_msrs, and update the comment to describe the new state
>>>> location.
>>>>
>>>> Finally, adjust the entry/exit asm.  Drop DO_SPEC_CTRL_ENTRY_FROM_HVM
>>>> entirely, and use a shorter code sequence to simply reload Xen's setting from
>>>> the top-of-stack block.
>>>>
>>>> Because the guest values are loaded/saved atomically, we do not need to use
>>>> the shadowing logic to cope with late NMIs/etc, so we can omit
>>>> DO_SPEC_CTRL_EXIT_TO_GUEST entirely and VMRESUME/VMLAUNCH with Xen's value in
>>>> context.  Furthermore, we can drop the SPEC_CTRL_ENTRY_FROM_PV too, as there's
>>>> no need to switch back to Xen's context on an early failure.
>>>>
>>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>>> ---
>>>> CC: Jan Beulich <JBeulich@suse.com>
>>>> CC: Roger Pau Monné <roger.pau@citrix.com>
>>>> CC: Wei Liu <wl@xen.org>
>>>> CC: Jun Nakajima <jun.nakajima@intel.com>
>>>> CC: Kevin Tian <kevin.tian@intel.com>
>>>>
>>>> Needs backporting as far as people can tolerate.
>>>>
>>>> If the entry/exit logic were in C, I'd ASSERT() that shadow tracking is off,
>>>> but this is awkard to arrange in asm.
>>>> ---
>>>>  xen/arch/x86/hvm/vmx/entry.S             | 19 ++++++++++-------
>>>>  xen/arch/x86/hvm/vmx/vmx.c               | 36 +++++++++++++++++++++++++++-----
>>>>  xen/arch/x86/include/asm/msr.h           | 10 ++++++++-
>>>>  xen/arch/x86/include/asm/spec_ctrl_asm.h | 32 ++++------------------------
>>>>  4 files changed, 56 insertions(+), 41 deletions(-)
>>>>
>>>> diff --git a/xen/arch/x86/hvm/vmx/entry.S b/xen/arch/x86/hvm/vmx/entry.S
>>>> index 30139ae58e9d..297ed8685126 100644
>>>> --- a/xen/arch/x86/hvm/vmx/entry.S
>>>> +++ b/xen/arch/x86/hvm/vmx/entry.S
>>>> @@ -35,7 +35,14 @@ ENTRY(vmx_asm_vmexit_handler)
>>>>  
>>>>          /* SPEC_CTRL_ENTRY_FROM_VMX    Req: b=curr %rsp=regs/cpuinfo, Clob: acd */
>>>>          ALTERNATIVE "", DO_OVERWRITE_RSB, X86_FEATURE_SC_RSB_HVM
>>>> -        ALTERNATIVE "", DO_SPEC_CTRL_ENTRY_FROM_HVM, X86_FEATURE_SC_MSR_HVM
>>>> +
>>>> +        .macro restore_spec_ctrl
>>>> +            mov    $MSR_SPEC_CTRL, %ecx
>>>> +            movzbl CPUINFO_xen_spec_ctrl(%rsp), %eax
>>>> +            xor    %edx, %edx
>>>> +            wrmsr
>>>> +        .endm
>>>> +        ALTERNATIVE "", restore_spec_ctrl, X86_FEATURE_SC_MSR_HVM
>>> I assume loading the host value into SPEC_CTRL strictly needs to
>>> happen after the RSB overwrite, or else you could use a VM exit host
>>> load MSR entry to handle MSR_SPEC_CTRL.
>> We could use the host load list, but Intel warned that the lists aren't
>> as efficient as writing it like this, hence why I didn't use them
>> originally when we thought the NMI behaviour was different.  Obviously,
>> we're using them now for correctness reasons, which is more important
>> than avoiding them for (unquantified) perf reasons.
>>
>> I've got some plans for changes to how Xen handles MSR_SPEC_CTRL for its
>> own protection, which I hope will bring a substantial efficiency
>> improvements, and those would require us not to use a host load list here.
> Might be worth mentioning that further work will prevent us from using
> host load list for SPEC_CTRL has a comment here or in the commit
> message.
>
> Using host load lists would also allow us to get rid of
> X86_FEATURE_SC_MSR_HVM.

No it wouldn't.  I need to reuse this for the AMD side, and it also
encodes "admin turned it off via spec-ctrl=".

> Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Jan 14 14:14:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 14:14:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257636.442834 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8NLe-00038k-A5; Fri, 14 Jan 2022 14:14:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257636.442834; Fri, 14 Jan 2022 14:14:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8NLe-00038d-6u; Fri, 14 Jan 2022 14:14:34 +0000
Received: by outflank-mailman (input) for mailman id 257636;
 Fri, 14 Jan 2022 14:14:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vyuu=R6=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n8NLc-00038X-UR
 for xen-devel@lists.xenproject.org; Fri, 14 Jan 2022 14:14:33 +0000
Received: from ppsw-42.csi.cam.ac.uk (ppsw-42.csi.cam.ac.uk [131.111.8.142])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 49dcd1b6-7544-11ec-a115-11989b9578b4;
 Fri, 14 Jan 2022 15:14:30 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:47732)
 by ppsw-42.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.138]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n8NLU-000ap2-6a (Exim 4.95) (return-path <amc96@srcf.net>);
 Fri, 14 Jan 2022 14:14:24 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id B5B181FB59;
 Fri, 14 Jan 2022 14:14:23 +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: 49dcd1b6-7544-11ec-a115-11989b9578b4
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <0745653b-6525-a7ba-f6c8-b47838559db2@srcf.net>
Date: Fri, 14 Jan 2022 14:14:23 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Subject: Re: [PATCH 3/3] x86/spec-ctrl: Fix NMI race condition with VT-x
 MSR_SPEC_CTRL handling
Content-Language: en-GB
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <JBeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>
References: <20220113163833.3831-1-andrew.cooper3@citrix.com>
 <20220113163833.3831-4-andrew.cooper3@citrix.com>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <20220113163833.3831-4-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13/01/2022 16:38, Andrew Cooper wrote:
> The logic was based on a mistaken understanding of how NMI blocking on vmexit
> works.  NMIs are only blocked for EXIT_REASON_NMI, and not for general exits.
> Therefore, an NMI can in general hit early in the vmx_asm_vmexit_handler path,
> and the guest's value will be clobbered before it is saved.
>
> Switch to using MSR load/save lists.  This causes the guest value to be saved
> atomically with respect to NMIs/MCEs/etc.
>
> First, update vmx_cpuid_policy_changed() to configure the load/save lists at
> the same time as configuring the intercepts.  This function is always used in
> remote context, so extend the vmx_vmcs_{enter,exit}() block to cover the whole
> function, rather than having multiple remote acquisitions of the same VMCS.
>
> vmx_add_guest_msr() can fail, but only in ways which are entirely fatal to the
> guest, so handle failures using domain_crash().  vmx_del_msr() can fail with
> -ESRCH but we don't matter, and this path will be taken during domain create
> on a system lacking IBRSB.
>
> Second, update vmx_msr_{read,write}_intercept() to use the load/save lists
> rather than vcpu_msrs, and update the comment to describe the new state
> location.
>
> Finally, adjust the entry/exit asm.  Drop DO_SPEC_CTRL_ENTRY_FROM_HVM
> entirely, and use a shorter code sequence to simply reload Xen's setting from
> the top-of-stack block.
>
> Because the guest values are loaded/saved atomically, we do not need to use
> the shadowing logic to cope with late NMIs/etc, so we can omit
> DO_SPEC_CTRL_EXIT_TO_GUEST entirely and VMRESUME/VMLAUNCH with Xen's value in
> context.  Furthermore, we can drop the SPEC_CTRL_ENTRY_FROM_PV too, as there's
> no need to switch back to Xen's context on an early failure.
>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau Monné <roger.pau@citrix.com>
> CC: Wei Liu <wl@xen.org>
> CC: Jun Nakajima <jun.nakajima@intel.com>
> CC: Kevin Tian <kevin.tian@intel.com>
>
> Needs backporting as far as people can tolerate.
>
> If the entry/exit logic were in C, I'd ASSERT() that shadow tracking is off,
> but this is awkard to arrange in asm.

Actually, it's just occurred to me that an ASSERT is actually quite easy
here.  I'm proposing this additional delta (totally untested).

diff --git a/xen/arch/x86/hvm/vmx/entry.S b/xen/arch/x86/hvm/vmx/entry.S
index 297ed8685126..f569c3259b32 100644
--- a/xen/arch/x86/hvm/vmx/entry.S
+++ b/xen/arch/x86/hvm/vmx/entry.S
@@ -41,6 +41,13 @@ ENTRY(vmx_asm_vmexit_handler)
             movzbl CPUINFO_xen_spec_ctrl(%rsp), %eax
             xor    %edx, %edx
             wrmsr
+
+#ifdef CONFIG_DEBUG
+            testb $SCF_use_shadow, CPUINFO_spec_ctrl_flags(%rsp)
+            jz 1f
+            ASSERT_FAILED("MSR_SPEC_CTRL shadowing active")
+1:
+#endif
         .endm
         ALTERNATIVE "", restore_spec_ctrl, X86_FEATURE_SC_MSR_HVM
         /* WARNING! `ret`, `call *`, `jmp *` not safe before this point. */

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Jan 14 14:27:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 14:27:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257640.442846 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8NYE-0004lN-AD; Fri, 14 Jan 2022 14:27:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257640.442846; Fri, 14 Jan 2022 14:27:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8NYE-0004lG-79; Fri, 14 Jan 2022 14:27:34 +0000
Received: by outflank-mailman (input) for mailman id 257640;
 Fri, 14 Jan 2022 14:27: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 1n8NYD-0004l5-4A; Fri, 14 Jan 2022 14:27: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 1n8NYC-0002Or-Tq; Fri, 14 Jan 2022 14:27:32 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n8NYC-0002zd-JD; Fri, 14 Jan 2022 14:27:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n8NYC-0006rK-Ig; Fri, 14 Jan 2022 14:27:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=KibvoypZSjFCtbWhJEoLbVp6XJGSwRK9nHSp2PnQkqg=; b=bPiSy4yQsGqrgci/x05J9y0YPe
	KOZchdIWYk+kt/dBtBSaJysWDvvanAJRT6WVUUZv8y28UmM/ShOBIQvTiYWV3e0ONyFdNjnDb6ja6
	IjNOw7VHB5sASC5NG9t9EQRNayOhr9tmlc/XsGW+hV++0p/5iRG3965ARlA156mHQBi0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167695-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167695: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-dom0pvh-xl-intel:guest-localmigrate/x10:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-rtds:guest-start/debian.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-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-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-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f
X-Osstest-Versions-That:
    xen=9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 14 Jan 2022 14:27:32 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-dom0pvh-xl-intel 20 guest-localmigrate/x10 fail pass in 167692
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail pass in 167692
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat  fail pass in 167692

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

version targeted for testing:
 xen                  9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f
baseline version:
 xen                  9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f

Last test of basis   167695  2022-01-14 06:46:51 Z    0 days
Testing same since                          (not found)         0 attempts

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


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

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

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

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


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Fri Jan 14 14:29:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 14:29:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257647.442857 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8Na8-0005M6-OI; Fri, 14 Jan 2022 14:29:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257647.442857; Fri, 14 Jan 2022 14:29:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8Na8-0005Lz-LP; Fri, 14 Jan 2022 14:29:32 +0000
Received: by outflank-mailman (input) for mailman id 257647;
 Fri, 14 Jan 2022 14:29:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uWdK=R6=tklengyel.com=tamas@srs-se1.protection.inumbo.net>)
 id 1n8Na6-0005Lr-Rf
 for xen-devel@lists.xenproject.org; Fri, 14 Jan 2022 14:29:30 +0000
Received: from MTA-09-3.privateemail.com (mta-09-3.privateemail.com
 [68.65.122.19]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 60eb2d1c-7546-11ec-9bbc-9dff3e4ee8c5;
 Fri, 14 Jan 2022 15:29:29 +0100 (CET)
Received: from mta-09.privateemail.com (localhost [127.0.0.1])
 by mta-09.privateemail.com (Postfix) with ESMTP id E940918000AE
 for <xen-devel@lists.xenproject.org>; Fri, 14 Jan 2022 09:29:26 -0500 (EST)
Received: from mail-yb1-f170.google.com (unknown [10.20.151.141])
 by mta-09.privateemail.com (Postfix) with ESMTPA id C406F18000A8
 for <xen-devel@lists.xenproject.org>; Fri, 14 Jan 2022 09:29:26 -0500 (EST)
Received: by mail-yb1-f170.google.com with SMTP id n68so24336861ybg.6
 for <xen-devel@lists.xenproject.org>; Fri, 14 Jan 2022 06:29:26 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 60eb2d1c-7546-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=tklengyel.com;
	s=default; t=1642170567;
	bh=7ihG/QOavqxE5sfwgsZmX0Lipnqkf4W3tRvPVFlx4xk=;
	h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
	b=Yo3rfEKxSDCiqK5iUyercu6SQ40JCmMCqDhL1g7NSxDy4YcJr11jJEh9OJ2MoDbrg
	 3QzPnyg4fMsqu8X6xXO/YeIPa9cnWF3EVQg1yTnB6ZLI4ah7R34so+pPZy6hye8EuT
	 eq7LlARlp17MAjEJh/Ktmn0GB2foZ7PPoLJImuMHkYzFgb2umLSM95NDC+Ck8rKpaJ
	 vGoM5dIoFiROJWNG0R6NjRETtLgElo7xqOStgbr/pm4l7P/WBCOS8az7tmHWW1zBOw
	 POTIgOk8vfjkeD4JF25S32ImIAEjdzQAnK7o9OiWp/7wsLRY0K2lHg93GtA6UMIZ4l
	 3s173n4hDarQw==
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=tklengyel.com;
	s=default; t=1642170566;
	bh=7ihG/QOavqxE5sfwgsZmX0Lipnqkf4W3tRvPVFlx4xk=;
	h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
	b=D4j2bVUqdxwPAYTUZTuCm2fLrlreINCQqN4YVaqiwvT+ibR88tRyK7E17f9hjLRNw
	 vXqqjBdpV/lQ136eSH68tjgoLq/u1jcYIvt3qif5qkACP4bRk1F2YfbCjDCf1zTKN6
	 75QW1fwqpEznZzSLq/H2CS2TJ+Q4OpjC1lDPd9/L4Kitgu1kYLRmtDn/aQ8vSVLG85
	 /VSlkNtimpug0VooVn0JM6c1/z1nLnBDhl1lZsaxh4D9M5DWAac/SzakxVHlciKb8t
	 9Cc1mjrgZ0eSQ1KIg/2QdGRyqnSrh8Yrw+3mC7aE7s87Z3LSRXZDG2+7vNhvK1mlAF
	 z3wLfQ0cVmgYQ==
X-Gm-Message-State: AOAM531MZRNiOAe0+RzsCt3qK88T2STb6AU1I5hg71pw23YQqqAK7KPP
	/5t3Qs9UqUuWzCLGwp3g0mFL1V2C2rj63v7Uvog=
X-Google-Smtp-Source: ABdhPJzfgD5X98Z+4pHRsBiYw1ODepV1Wv5dCXOHsBhvDHZs0zoI020SdFLjZtp9MCImdUJuRt1diZDWnpex2t3Y3xc=
X-Received: by 2002:a05:6902:1003:: with SMTP id w3mr14990015ybt.441.1642170566105;
 Fri, 14 Jan 2022 06:29:26 -0800 (PST)
MIME-Version: 1.0
References: <ed34964c-c612-497f-0350-b9202c0ba057@suse.com>
In-Reply-To: <ed34964c-c612-497f-0350-b9202c0ba057@suse.com>
From: Tamas K Lengyel <tamas@tklengyel.com>
Date: Fri, 14 Jan 2022 09:28:50 -0500
X-Gmail-Original-Message-ID: <CABfawhk8Qtran35P=K3GSVcwmvkY1xGdXCofCwmtnHhN2Beq=g@mail.gmail.com>
Message-ID: <CABfawhk8Qtran35P=K3GSVcwmvkY1xGdXCofCwmtnHhN2Beq=g@mail.gmail.com>
Subject: Re: [PATCH v2] x86/HVM: convert remaining hvm_funcs hook invocations
 to alt-call
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>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Paul Durrant <paul@xen.org>, Petre Pircalabu <ppircalabu@bitdefender.com>, 
	Alexandru Isaila <aisaila@bitdefender.com>
Content-Type: text/plain; charset="UTF-8"
X-Virus-Scanned: ClamAV using ClamSMTP

On Thu, Jan 13, 2022 at 12:02 PM Jan Beulich <jbeulich@suse.com> wrote:
>
> The aim being to have as few indirect calls as possible (see [1]),
> whereas during initial conversion performance was the main aspect and
> hence rarely used hooks didn't get converted. Apparently one use of
> get_interrupt_shadow() was missed at the time.
>
> While doing this, drop NULL checks ahead of CPU management and .nhvm_*()
> calls when the hook is always present. Also convert the
> .nhvm_vcpu_reset() call to alternative_vcall(), as the return value is
> unused and the caller has currently no way of propagating it.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Tamas K Lengyel <tamas@tklengyel.com>


From xen-devel-bounces@lists.xenproject.org Fri Jan 14 14:31:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 14:31:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257650.442868 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8NbY-0006gz-3k; Fri, 14 Jan 2022 14:31:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257650.442868; Fri, 14 Jan 2022 14:31:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8NbX-0006gs-WF; Fri, 14 Jan 2022 14:31:00 +0000
Received: by outflank-mailman (input) for mailman id 257650;
 Fri, 14 Jan 2022 14:30:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uWdK=R6=tklengyel.com=tamas@srs-se1.protection.inumbo.net>)
 id 1n8NbW-0006gi-F4
 for xen-devel@lists.xenproject.org; Fri, 14 Jan 2022 14:30:58 +0000
Received: from MTA-15-3.privateemail.com (mta-15-3.privateemail.com
 [198.54.122.111]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 95b8d3b5-7546-11ec-9bbc-9dff3e4ee8c5;
 Fri, 14 Jan 2022 15:30:57 +0100 (CET)
Received: from mta-15.privateemail.com (localhost [127.0.0.1])
 by mta-15.privateemail.com (Postfix) with ESMTP id B16C018000A2
 for <xen-devel@lists.xenproject.org>; Fri, 14 Jan 2022 09:30:55 -0500 (EST)
Received: from mail-yb1-f178.google.com (unknown [10.20.151.177])
 by mta-15.privateemail.com (Postfix) with ESMTPA id 972E7180009F
 for <xen-devel@lists.xenproject.org>; Fri, 14 Jan 2022 09:30:55 -0500 (EST)
Received: by mail-yb1-f178.google.com with SMTP id c10so24444900ybb.2
 for <xen-devel@lists.xenproject.org>; Fri, 14 Jan 2022 06:30:55 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 95b8d3b5-7546-11ec-9bbc-9dff3e4ee8c5
X-Gm-Message-State: AOAM533MDTRjIMrNaNgVlD5BjS8NyMHNBUi1zH36J9GnGg3gBwQOE5DL
	x51qg+z12uVFLeQV7B7dvtw5VmhuHN/cvZsIjIo=
X-Google-Smtp-Source: ABdhPJw0Ql5pqeDISyJne/55eafPVpKQwE76B1k3t1TsZN/oYvEH3+7V4SB0TEFK0DEj2klzDn14qhU7ZUOhLMtumZ0=
X-Received: by 2002:a05:6902:1003:: with SMTP id w3mr14999349ybt.441.1642170650903;
 Fri, 14 Jan 2022 06:30:50 -0800 (PST)
MIME-Version: 1.0
References: <20220113184800.29456-1-andrew.cooper3@citrix.com>
In-Reply-To: <20220113184800.29456-1-andrew.cooper3@citrix.com>
From: Tamas K Lengyel <tamas@tklengyel.com>
Date: Fri, 14 Jan 2022 09:30:15 -0500
X-Gmail-Original-Message-ID: <CABfawhk-STSfMf3=nkmpAVYB3ESQ_byRLPCrFV4HYfP0Hnrm+w@mail.gmail.com>
Message-ID: <CABfawhk-STSfMf3=nkmpAVYB3ESQ_byRLPCrFV4HYfP0Hnrm+w@mail.gmail.com>
Subject: Re: [PATCH] x86/hvm: Drop .is_singlestep_supported() callback
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich <JBeulich@suse.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, 
	Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>
Content-Type: text/plain; charset="UTF-8"
X-Virus-Scanned: ClamAV using ClamSMTP

On Thu, Jan 13, 2022 at 1:48 PM Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>
> There is absolutely no need for a function pointer call here.
>
> Drop the hook, introduce a singlestep_supported boolean, and configure it in
> start_vmx() like all other optional functionality.
>
> No functional change, but rather more efficient logic.
>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Tamas K Lengyel <tamas@tklengyel.com>


From xen-devel-bounces@lists.xenproject.org Fri Jan 14 14:41:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 14:41:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257654.442878 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8Nlf-0008FP-0J; Fri, 14 Jan 2022 14:41:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257654.442878; Fri, 14 Jan 2022 14:41:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8Nle-0008FI-TV; Fri, 14 Jan 2022 14:41:26 +0000
Received: by outflank-mailman (input) for mailman id 257654;
 Fri, 14 Jan 2022 14:41:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vyuu=R6=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n8Nld-0008FC-2v
 for xen-devel@lists.xenproject.org; Fri, 14 Jan 2022 14:41:25 +0000
Received: from ppsw-43.csi.cam.ac.uk (ppsw-43.csi.cam.ac.uk [131.111.8.143])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0ad7f00a-7548-11ec-9bbc-9dff3e4ee8c5;
 Fri, 14 Jan 2022 15:41:23 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:51428)
 by ppsw-43.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.139]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n8NlT-000gJd-ny (Exim 4.95) (return-path <amc96@srcf.net>);
 Fri, 14 Jan 2022 14:41:15 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 3C0201FAE7;
 Fri, 14 Jan 2022 14:41:15 +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: 0ad7f00a-7548-11ec-9bbc-9dff3e4ee8c5
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <76f9d499-fabe-5d90-d769-bbd86ae421f8@srcf.net>
Date: Fri, 14 Jan 2022 14:41:15 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Subject: Re: [PATCH 3/3] x86/spec-ctrl: Fix NMI race condition with VT-x
 MSR_SPEC_CTRL handling
Content-Language: en-GB
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <JBeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>
References: <20220113163833.3831-1-andrew.cooper3@citrix.com>
 <20220113163833.3831-4-andrew.cooper3@citrix.com>
 <0745653b-6525-a7ba-f6c8-b47838559db2@srcf.net>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <0745653b-6525-a7ba-f6c8-b47838559db2@srcf.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 14/01/2022 14:14, Andrew Cooper wrote:
> On 13/01/2022 16:38, Andrew Cooper wrote:
>> The logic was based on a mistaken understanding of how NMI blocking on vmexit
>> works.  NMIs are only blocked for EXIT_REASON_NMI, and not for general exits.
>> Therefore, an NMI can in general hit early in the vmx_asm_vmexit_handler path,
>> and the guest's value will be clobbered before it is saved.
>>
>> Switch to using MSR load/save lists.  This causes the guest value to be saved
>> atomically with respect to NMIs/MCEs/etc.
>>
>> First, update vmx_cpuid_policy_changed() to configure the load/save lists at
>> the same time as configuring the intercepts.  This function is always used in
>> remote context, so extend the vmx_vmcs_{enter,exit}() block to cover the whole
>> function, rather than having multiple remote acquisitions of the same VMCS.
>>
>> vmx_add_guest_msr() can fail, but only in ways which are entirely fatal to the
>> guest, so handle failures using domain_crash().  vmx_del_msr() can fail with
>> -ESRCH but we don't matter, and this path will be taken during domain create
>> on a system lacking IBRSB.
>>
>> Second, update vmx_msr_{read,write}_intercept() to use the load/save lists
>> rather than vcpu_msrs, and update the comment to describe the new state
>> location.
>>
>> Finally, adjust the entry/exit asm.  Drop DO_SPEC_CTRL_ENTRY_FROM_HVM
>> entirely, and use a shorter code sequence to simply reload Xen's setting from
>> the top-of-stack block.
>>
>> Because the guest values are loaded/saved atomically, we do not need to use
>> the shadowing logic to cope with late NMIs/etc, so we can omit
>> DO_SPEC_CTRL_EXIT_TO_GUEST entirely and VMRESUME/VMLAUNCH with Xen's value in
>> context.  Furthermore, we can drop the SPEC_CTRL_ENTRY_FROM_PV too, as there's
>> no need to switch back to Xen's context on an early failure.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> ---
>> CC: Jan Beulich <JBeulich@suse.com>
>> CC: Roger Pau Monné <roger.pau@citrix.com>
>> CC: Wei Liu <wl@xen.org>
>> CC: Jun Nakajima <jun.nakajima@intel.com>
>> CC: Kevin Tian <kevin.tian@intel.com>
>>
>> Needs backporting as far as people can tolerate.
>>
>> If the entry/exit logic were in C, I'd ASSERT() that shadow tracking is off,
>> but this is awkard to arrange in asm.
> Actually, it's just occurred to me that an ASSERT is actually quite easy
> here.  I'm proposing this additional delta (totally untested).
>
> diff --git a/xen/arch/x86/hvm/vmx/entry.S b/xen/arch/x86/hvm/vmx/entry.S
> index 297ed8685126..f569c3259b32 100644
> --- a/xen/arch/x86/hvm/vmx/entry.S
> +++ b/xen/arch/x86/hvm/vmx/entry.S
> @@ -41,6 +41,13 @@ ENTRY(vmx_asm_vmexit_handler)
>              movzbl CPUINFO_xen_spec_ctrl(%rsp), %eax
>              xor    %edx, %edx
>              wrmsr
> +
> +#ifdef CONFIG_DEBUG
> +            testb $SCF_use_shadow, CPUINFO_spec_ctrl_flags(%rsp)
> +            jz 1f
> +            ASSERT_FAILED("MSR_SPEC_CTRL shadowing active")
> +1:
> +#endif
>          .endm
>          ALTERNATIVE "", restore_spec_ctrl, X86_FEATURE_SC_MSR_HVM
>          /* WARNING! `ret`, `call *`, `jmp *` not safe before this point. */

Irritatingly this doesn't work, because the metadata associated with the
ud2 instruction is tied to the compiled position in
.altinstr_replacement, not the runtime position after alternatives have run.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Jan 14 15:15:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 15:15:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257660.442890 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8OHz-0003C2-Hr; Fri, 14 Jan 2022 15:14:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257660.442890; Fri, 14 Jan 2022 15:14:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8OHz-0003Bv-EM; Fri, 14 Jan 2022 15:14:51 +0000
Received: by outflank-mailman (input) for mailman id 257660;
 Fri, 14 Jan 2022 15:14:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=H0T4=R6=epam.com=prvs=30137d93b0=sergiy_kibrik@srs-se1.protection.inumbo.net>)
 id 1n8OHy-0003Bp-Av
 for xen-devel@lists.xenproject.org; Fri, 14 Jan 2022 15:14:50 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b557a763-754c-11ec-a115-11989b9578b4;
 Fri, 14 Jan 2022 16:14:47 +0100 (CET)
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 ESMTP id 20EFDtGg014314;
 Fri, 14 Jan 2022 15:14:34 GMT
Received: from eur01-db5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2050.outbound.protection.outlook.com [104.47.2.50])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3dkbmkg02v-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 14 Jan 2022 15:14:34 +0000
Received: from PAXPR03MB8114.eurprd03.prod.outlook.com (2603:10a6:102:227::15)
 by HE1PR0302MB2617.eurprd03.prod.outlook.com (2603:10a6:3:e9::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Fri, 14 Jan
 2022 15:14:27 +0000
Received: from PAXPR03MB8114.eurprd03.prod.outlook.com
 ([fe80::79e0:5310:180f:f716]) by PAXPR03MB8114.eurprd03.prod.outlook.com
 ([fe80::79e0:5310:180f:f716%3]) with mapi id 15.20.4888.011; Fri, 14 Jan 2022
 15:14:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b557a763-754c-11ec-a115-11989b9578b4
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Zqtl9OS1RSnKkb1bO9gh9VUDIIDlfFdBc1DQQnhE1wSFVC+T6HsBmxx13xgFaU7vnzno+6jDSGXU5J3Q4R9ffOcpMDxC0DS1zsTd9zGHuLCSL4aGNragVXHLk6VGIrP/H3fQ49f3mkDEkSadgTclvvrPMOtaDwgyzeS4beQjdaHloI1qZX4ocTAe7bsm62nQVDBmVPyCkTWZXJSq5US3o7F5ovtdaUcFTxRB5vjbAN62Gl8mY3/I/do44FaLoLnGgVOFVcQiX/bqpAUL2nO3uUWzUHn+9sZYXPL49mBtCWzXtpLZrfn8B8VaO33/8g16XwcZhSco8qbxg1WD4SzFlg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6hZu9tUMGSGW9B8DcFzujcgTyq/drFzckGHCVaAsy0I=;
 b=JXVUJchrHTrN0DGcKiw512mu/XeO00Se4zWlhxHBZlFf1sYIglZfDux+0N5TsN4lwY/cgj4z5bC9rmaeqQmHKj1pnJTs0WpASqR+qXarzpGMiUvXzYxfWh0HVPGFdg6oIiyEr05S7/r1qErLPWT3q9FCRWLMB33/Sk1gnU/QV4QoclxPMQ8yiFaELh8y9sJByajcbmgiTSmO7sL0Y2ET1Kgj0OlSy08EpDkgZRWgPXzrz0Ob555X51san0Pe7KA30QmH8czqd2mvDTxqh+2hroXLR6rgfwKuOiEyEsKC/nK5iVHYIzdEvUBZM4XBKHKHRxItMAUsoK+SU34FfNAp/g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6hZu9tUMGSGW9B8DcFzujcgTyq/drFzckGHCVaAsy0I=;
 b=bBxBzYMjGktAXaFGtrvg4gd/ZGycUCjXxS2FulGEVbAKsb79cmtYSFbSxpxW8IlB8zfvMdfO2GM1udqrjbXISCptk+TixIK55FjO5UxOzQ/YuyQhO4zMmCBCmTkqvmroMPfXV4V9qVyU7vNHJWWeQ92UFrEO9p6fx0W33kw/59mMiEcOSBKVwl9pLtkIZoHiVmAHc355iYkgVLxAWn/gsETl1x0PGD2XPj59bALX9O2Aywvgdx9CXVNlbYu93dmSPOV9WYju1HelGCEiAIMhHd3xeGphuBTdoA76CWwgIHbMKeJkV3TLYLTBCTKvPMPuiDvscSyg2jkHgMjnh99T/g==
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: Jiamei Xie <Jiamei.Xie@arm.com>
CC: xen-devel <xen-devel@lists.xenproject.org>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Oleksandr Tyshchenko
	<olekstysh@gmail.com>,
        Andrii Anisov <Andrii_Anisov@epam.com>
Subject: RE: [XEN PATCH v3] xen/arm: introduce dummy iommu node for dom0
Thread-Topic: [XEN PATCH v3] xen/arm: introduce dummy iommu node for dom0
Thread-Index: AQHYCR/RlHsaR2efDkukmH3CGCI2AKxiNMsAgABq05A=
Date: Fri, 14 Jan 2022 15:14:27 +0000
Message-ID: 
 <PAXPR03MB81148EEE0B2401C29C8065BCF0549@PAXPR03MB8114.eurprd03.prod.outlook.com>
References: <20220111112611.90508-1-Sergiy_Kibrik@epam.com>
 <964D6F09-82DF-4B33-AD93-A1C04E7A7FC7@arm.com>
 <VI1PR08MB305666002DC9077053E643C392549@VI1PR08MB3056.eurprd08.prod.outlook.com>
In-Reply-To: 
 <VI1PR08MB305666002DC9077053E643C392549@VI1PR08MB3056.eurprd08.prod.outlook.com>
Accept-Language: en-US
Content-Language: ru-RU
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: cd426df2-a3d9-46f5-ebcd-08d9d7708e5e
x-ms-traffictypediagnostic: HE1PR0302MB2617:EE_
x-microsoft-antispam-prvs: 
 <HE1PR0302MB261742CFE39799C69E1BE3E7F0549@HE1PR0302MB2617.eurprd03.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: 
 PNid6tKe4TIdWOwsGzr1jtF9lt6IjwiXQ0KIrb7qJJdDksd8uxQMQb3uiBv1iIIlFwy52Wi5vkXT/Mh++SVobMxW5cqMalz9d1y4Foy+UEcDvst7TrPZjLnqxAgDzRpeilE3bOqNG8SyRDbVCqYTRZrgU4Af4TCdGtjQoSLu7oDaQDrzGSLx2gs1msGzeEX70LEWDCv/+0Y1NHzBF5v3ihO+nADkyZWRqD8B03DkkVL7xXDn46VOZYbMFzA+yJ4SOuR7IIKM9+KpEpEllapvrh3Xw+wEqs1HtLf6SvxCy+MCUHtd2PNgBU515PLhg4/MlqX1JAbm7DwcW3H2NOYuKQ69uL68lObQIT3LXFcxcmT1BAKsAmOT41Atj8HqPMC4HvOy0JbPOm/LrPSYobQeFUqhsmPmNRMtW0BzPPCVE4CSOKauCMBP/CEWRHhNYj/cmEBbUiHLl8HALoziS9rPAEu4xJEvPn8HfMDkId1h2iVNUY3JjCD5t9fSCZ01BmKqnbMV8Pym6jP2lwRD5feVVralwvc1e+ivrvmFmnSD2VBXB1LNBQEIgTEWoV6LxqRKQO9xhY4hL5YGIxzDwZHrFzqPab1pPsy0w4LyZUvhfi/Y4K9c+n5pB6e0hZ1hWItiuMB3yVZ7hLj8qcjeL7c400Bpan4FqinaZfn/g3vbAZXJv6G3Lm45S6yL0J/L8hNRkQOoXwWNHB53gjPT2Bjmpg==
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR03MB8114.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(66476007)(9686003)(71200400001)(52536014)(54906003)(38100700002)(122000001)(5660300002)(86362001)(66946007)(55016003)(38070700005)(6506007)(7696005)(64756008)(66556008)(2906002)(4744005)(8676002)(76116006)(107886003)(6916009)(4326008)(33656002)(316002)(66446008)(186003)(26005)(508600001)(8936002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?WDI2OEJhRDBGRGpzRVB1VWpCb2pMTUdaRXlvdzB6Zk5DRUZCS0lTbDB0Rmtu?=
 =?utf-8?B?WXhNQ3l5YU9nZzZoQ0Eyc0RPZXR5eXY3aUFaN1lxa2c1TEVjTkVGcFFjUmt5?=
 =?utf-8?B?RE9jOWU4TVVqWGRiZkh1cU0vdjA4UHRwR3FvNFNNS3dYUkFhRnJURDhZVVFB?=
 =?utf-8?B?cHYxbjJyc0J6K3JzYVJiWVZDb1hDaktKREw5SkR3cklCZTBXTWx1Uy80QXJV?=
 =?utf-8?B?N09hOWZKWFdHSTNBRHptTEJTd2RGYy8zQVdLMWN2YVFHOHV1RXg2ODI0Q24x?=
 =?utf-8?B?bVc1ejNFelRmNG01Q2d0WFNkblRiVVp2MGthWXdkUys0VmhzZlM3UGIySnE0?=
 =?utf-8?B?YWY5M1V0YVVZOTNFbkswQUptS3kzZ29HSGZtS05WRU1CblpNYVJXOW9Edk1n?=
 =?utf-8?B?S0FYOGRhQjRTVGtRRkhBOTVhRmdCY2l4SndZRGU3UEZ6Mkg0UlYxbzdjQ3h3?=
 =?utf-8?B?S0Q5anNxbnptOE1kZi9mMGthZFg3eHBveXVDLzI2YnkvRmlPT0NpS0laSFkx?=
 =?utf-8?B?OXB3MDVIeUFJV1RpeW5pQ0t3UmQyMGNPN0FEYmVnMXRjQkt4MTF0bmREbHRw?=
 =?utf-8?B?MloveW5La0dDYmVBSEtzUDNURUpEYWdUVFV3TjMyNS9BS2YyclpTV3lIOHVJ?=
 =?utf-8?B?ckREaUNVcmN0SXBZSkxJTFM1czVHZE5JcFluVWw1T1ZFaFhMb1dNS1AxVkJT?=
 =?utf-8?B?V1hSNmJuTTJjS2g2NWVhaXR1Y0gwWHYwRGpMekUzQzZBQ1lIdWpJdERacUtx?=
 =?utf-8?B?NWg3d2ZVVWZjbGNsSzhlSVMyd0FOMUUwUzJzMGE3Qlk2S0x3aDBuVkZ1Unhn?=
 =?utf-8?B?dG02UVBFd2RsWTYrWEg5VnBBaUo5bmhudDNTQUlBWHRuVTNUamNvVTZsVjhl?=
 =?utf-8?B?OHQvdERwWTN3N0pHaEYydGZ0RythaFo4amd1R0ZEa1FpNXYzT0wyTFBldFE1?=
 =?utf-8?B?WXg1ZldUY0hBMVBsWFA3d0NZQlFkdmc3UGZjMWhadFp1VlRQN0RUWE9nWkNY?=
 =?utf-8?B?V3hqQys5RHZpS3NpRnVnTmtxS0IrR0V5N21MS2RTRkNSb29NUldUWWxqY3dV?=
 =?utf-8?B?eUhtYlJQOGtsdkhyNlVlckp5UUsyM3hjRFF0ZExFVFdMMXd5UUVmNFlyMkhP?=
 =?utf-8?B?czFHTFF4TmhXTzBzWlAyYmkya0oyZTdmazlWYng3ZE9NU2JnRGRLUFlTWlEv?=
 =?utf-8?B?S2x2czRVbDA5bUJQTGV3bGhuSDdGR2VobEV0VnJJd2pwazMxanZVdTNnOVFr?=
 =?utf-8?B?eXhqZWlYcnNCdHJXU2U5bVdhWDh4V2tzMnZoYytZTnVKTnp0TzZzd3pML0Uy?=
 =?utf-8?B?L3lPNHQrLzloaStxemdKT29uYW9VMEI0TGsyUGo3dUxEUThTTGpUbjdxNDFW?=
 =?utf-8?B?WXRKb2lEVm5VbTVWRHpwY2FQYktPWGFCRE1hbExpRHpHSzgxWUY1Y0padjF1?=
 =?utf-8?B?WWZ2NldMOE1ybmxOYk9BYXRnNndMSEJXZDVJNVUxdUNUeUVoRUpPYU1yVkRF?=
 =?utf-8?B?YkoyakhxSGZUTjBvSUJpb1VUL29ZZlB6QS92Q0h0Q2F1aTZSdkRBMXl1SG93?=
 =?utf-8?B?RTFYRGhGblluNjg3VVhRZTgyS3RIR2Q5WS9uR2dvTGl6WnBGeVRmZnJrWURL?=
 =?utf-8?B?TDRaMkZLczVpSkhDQ2M2dlhBbkkvUC8vZXNBR2U5b20wdC8vUS85blp6NTVV?=
 =?utf-8?B?eWg0UXVDQiswMVBnbkRjU3JkQytNY25PZEhXV2IrYUp4U0g2aUJDRFNnVE9L?=
 =?utf-8?B?TTJyeFZ3bXdlQ3JRV2l5eDhEVURlK1F3bGdVSGFnKzFEYTE3bTBEdVZDTGhF?=
 =?utf-8?B?RXllSE5SOHBoamdvdzlISks0UkdSUGdCcEJCaDNGK1RJbFRkZzl6ZzVtTisx?=
 =?utf-8?B?OHJ2RHREQmlCUi95NThLRG9VcDdxZnBLRGxMZHJreVVGUWhVNkVDREZjcUFN?=
 =?utf-8?B?NnhMRFphQlAxSzRRbU5SWlo3STYrUjJOZGFvMUljZVcxTHUvV0lBZE5hU3g0?=
 =?utf-8?B?emFJRzNTazRRZUlac092K01YQ0FkTStveThJaVlEL2RudVlsWlVlZzRXWFBp?=
 =?utf-8?B?dlp3U3ZtNGFNNGwrZWJuVy9ZY3Ztd3VrZkZIWDBBZUNjRElMREV3Y0t3V3VQ?=
 =?utf-8?B?bWJOdCthUU1JZUhXS213YzE5NmtwSnVkTmRMVXlwZVRjMlJGdHNpQU5tbmVi?=
 =?utf-8?B?K0E9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PAXPR03MB8114.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cd426df2-a3d9-46f5-ebcd-08d9d7708e5e
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Jan 2022 15:14:27.3749
 (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: JtGC6vgI3MIY1JDHjShGJT2zLwTiNJDNY5yctGb+YxDF5+NtUQcR2hSvmsSmV7zCoNyEYvYsstmKMjCkSaA4BA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0302MB2617
X-Proofpoint-ORIG-GUID: wJoNrOnZCk2OgebrHLoXIg9seFSwzjT7
X-Proofpoint-GUID: wJoNrOnZCk2OgebrHLoXIg9seFSwzjT7
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-14_06,2022-01-14_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1011 mlxlogscore=558
 lowpriorityscore=0 bulkscore=0 mlxscore=0 malwarescore=0 adultscore=0
 phishscore=0 impostorscore=0 suspectscore=0 priorityscore=1501 spamscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2110150000
 definitions=main-2201140102

PiA+ID4gQ3VycmVudGx5IG5vIElPTU1VIHByb3BlcnRpZXMgYXJlIGV4cG9zZWQgdG8gZG9tMCwg
dGh1cyBrZXJuZWwgYnkNCj4gPiBkZWZhdWx0DQo+ID4gPiBhc3N1bWVzIG5vIHByb3RlY3Rpb24g
YW5kIGVuYWJsZXMgc3dpb3RsYi14ZW4sIHdoaWNoIGxlYWRzIHRvIGNvc3RseQ0KPiA+ID4gYW5k
IHVubmVjZXNzYXJ5IGJ1ZmZlcnMgYm91bmNpbmcuDQo+ID4gPg0KPiA+ID4gVG8gbGV0IGtlcm5l
bCBrbm93IHdoaWNoIGRldmljZSBpcyBiZWhpbmcgSU9NTVUgYW5kIGhlbmNlIG5lZWRzIG5vDQo+
IFtKaWFtZWkgWGllXQ0KPiBiZWhpbmc/ICBUeXBvDQo+IA0KDQpPb3BzLCB0eXBvIGluZGVlZC4N
ClRoYW5rIHlvdSENCg0KIC0gU2VyZ2l5DQo=


From xen-devel-bounces@lists.xenproject.org Fri Jan 14 17:08:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 17:08:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257665.442901 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8Q3B-0005rl-Ta; Fri, 14 Jan 2022 17:07:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257665.442901; Fri, 14 Jan 2022 17: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 1n8Q3B-0005re-P6; Fri, 14 Jan 2022 17:07:41 +0000
Received: by outflank-mailman (input) for mailman id 257665;
 Fri, 14 Jan 2022 17:07:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FcrT=R6=gmail.com=rosbrookn@srs-se1.protection.inumbo.net>)
 id 1n8Q3A-0005rY-Tt
 for xen-devel@lists.xenproject.org; Fri, 14 Jan 2022 17:07:40 +0000
Received: from mail-qt1-x833.google.com (mail-qt1-x833.google.com
 [2607:f8b0:4864:20::833])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 79cfc7cb-755c-11ec-9bbc-9dff3e4ee8c5;
 Fri, 14 Jan 2022 18:07:39 +0100 (CET)
Received: by mail-qt1-x833.google.com with SMTP id y10so11348120qtw.1
 for <xen-devel@lists.xenproject.org>; Fri, 14 Jan 2022 09:07:38 -0800 (PST)
Received: from localhost.localdomain (c-73-89-138-5.hsd1.vt.comcast.net.
 [73.89.138.5])
 by smtp.gmail.com with ESMTPSA id i28sm3520556qkl.64.2022.01.14.09.07.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 14 Jan 2022 09:07:36 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 79cfc7cb-755c-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=hG1heKFwl0hdiTbpdFKU4PWIaIJt6NPGdq894MAhenU=;
        b=APMTK0i5fRtQFz4FCIu+bTbJsaH0Qw3hG3fCmGWhIE/bkcLIUP3kdfcLHYDifkJuAH
         GaagUnkbK4UEPnHqR3KTuFGIjKVgChdjlyh05AqLn0RRC4M+MpN+FsEnkHGoq24yYrx4
         6SjHwkws1FCQX2oJRCOmjwnnO8V/GLVXfFn/H0nesWkuwlVd7GI3CZMMPHm+GXRQDQHN
         cDZFshh16/C/Sj1iZOtbAS7CcAeRFzQolFTy3SqD7lkypXWPOur8uMNgAXsrCe08JOt8
         Lp6aJc0/Vmu+dAM9tHJI0+bIHGAOpr3uCiwWODGIClyOMU1bBe45H6ojccmw+RJt7KAP
         /BQg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=hG1heKFwl0hdiTbpdFKU4PWIaIJt6NPGdq894MAhenU=;
        b=GRP8pJYdESJpqOzpOAxD4iMT5csgXawtTsmTCJZCxJK/lpyf8vI60xFi4VGqQDQMUP
         HhUNsLKJ0lrEI1v9Qz298vUQTb91Xu/n67X1aRr4a8o9J53koNNDczLZRz/JHW97XMMT
         lAngImkFyzLuArCHZwluYlXGg0rY50rZgeld0DRIGOC+Z+l5WGxqRnHgFeLbZaaFCp/I
         yCFMVKKnXtNrlj4MrRGePADA1MP6T9PXwBN+PdmgCpLQRoLc/9KDNvaQJLOjLP+t3nRV
         B1KfsFZdN5K9WZkcSIX0ym7Ym9BfNev3WfYGBC9Y+Dl7Fnww5oA/eEJ/J+0NBaY0D6oo
         CLVw==
X-Gm-Message-State: AOAM531eMTc7Yw8e7Z8ZpCi/nBV6qnkM0MokpBUqaZ2CaDIF+nhm+ell
	BwOalyqojA6dGr1Ugyn9LOLPtoJGbjY=
X-Google-Smtp-Source: ABdhPJzKHJ2PEDwovoQEWGv+ik1/UoFLLFT46O7Xamflwav4W+YIm6RxVqM8aYEElRo7gwpDJHa6oA==
X-Received: by 2002:ac8:5b96:: with SMTP id a22mr1803946qta.675.1642180057518;
        Fri, 14 Jan 2022 09:07:37 -0800 (PST)
From: Nick Rosbrook <rosbrookn@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Nick Rosbrook <rosbrookn@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH] MAINTAINERS: update my email address
Date: Fri, 14 Jan 2022 12:07:33 -0500
Message-Id: <20220114170733.55750-1-rosbrookn@gmail.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

I am no longer an employee at AIS. Use my personal email address
instead.

Signed-off-by: Nick Rosbrook <rosbrookn@gmail.com>
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 4a2884dfa7..feea7d14cf 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -302,7 +302,7 @@ F:	tools/debugger/gdbsx/
 
 GOLANG BINDINGS
 M:	George Dunlap <george.dunlap@citrix.com>
-M:     Nick Rosbrook <rosbrookn@ainfosec.com>
+M:	Nick Rosbrook <rosbrookn@gmail.com>
 S:	Maintained
 F:	tools/golang
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Jan 14 18:42:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 18:42:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257668.442912 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8RWh-0006vZ-Tl; Fri, 14 Jan 2022 18:42:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257668.442912; Fri, 14 Jan 2022 18:42:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8RWh-0006vS-QL; Fri, 14 Jan 2022 18:42:15 +0000
Received: by outflank-mailman (input) for mailman id 257668;
 Fri, 14 Jan 2022 18:42:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/lXT=R6=suse.com=dfaggioli@srs-se1.protection.inumbo.net>)
 id 1n8RWg-0006vK-65
 for xen-devel@lists.xenproject.org; Fri, 14 Jan 2022 18:42:14 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id af094d16-7569-11ec-a115-11989b9578b4;
 Fri, 14 Jan 2022 19:42:11 +0100 (CET)
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur02lp2053.outbound.protection.outlook.com [104.47.5.53]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-35-i621btsoMYSRknEGceWtng-1; Fri, 14 Jan 2022 19:42:09 +0100
Received: from AM0PR04MB5826.eurprd04.prod.outlook.com (2603:10a6:208:134::22)
 by AM0PR04MB5987.eurprd04.prod.outlook.com (2603:10a6:208:117::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Fri, 14 Jan
 2022 18:42:06 +0000
Received: from AM0PR04MB5826.eurprd04.prod.outlook.com
 ([fe80::89d1:c043:73b0:be06]) by AM0PR04MB5826.eurprd04.prod.outlook.com
 ([fe80::89d1:c043:73b0:be06%6]) with mapi id 15.20.4867.012; Fri, 14 Jan 2022
 18:42: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: af094d16-7569-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642185730;
	h=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=SXAiKZrxUwHYDgc+8CtOmUZsCUkL+4OdmdmE7Pw3DKU=;
	b=k0BgDOGdZjkmNER9kCkW3hzSSVTksipixWO0uWTWG2mntY2bNfPtE35eX4qTyBmuwMxlVS
	bcT1JILpJe/V8ADcBTyYH18WGvoE9s46ygGhUU1Wow2Sl6+RyzgjIFfPYCWnyqauoRYteU
	gNBWzP5mg9fBVCR/pLEsriTJPCM/zSk=
X-MC-Unique: i621btsoMYSRknEGceWtng-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Qkts9igTcr5kvNKmGQxWkvK3fqmMr8Y3QwiHjmPk6epAvIuGMel9uYYC6zY1T8sXidCqRaEF8jAvLn8CNivZQzcRpQLc/Icmvvv8Mofcfypm/VWB3mcpyiGaHCkFnI3Ilg9uQaeeJW1Hn9hI3uoClYsrkbhnnmzsvRNcUqqq4ml+iaic+yenQMaVRIwedaxu7cBq53A3Q2UHnN3ZPGQgwnLSkfe0wwyJK8ie/zgh9kS1C+qB9iy7rx6mgYRakkkHyLVMktXGN8HHA7PxyC6vV/emApKkv/0co0z2cYSzTwVg3apnwusnyaV/ezoBKlshgIDCeGSpmeygfEyBkUWAHg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SXAiKZrxUwHYDgc+8CtOmUZsCUkL+4OdmdmE7Pw3DKU=;
 b=PQhrmNLzrpB2/OumGrz4aE0weSXBvvwZDQelwzSUAS1/fMHd1Z4FfijcNefYDYHeDObvtWd2G+om5Rh/fNNN0QoxNy60gXsw0b3ay+tRl0/HsH/FG1IrWl1mLJvEZ7Pq7EbzJ2V2TbBQQ6YfHgpGF+grc6FjNsE51lz+6nmkVsGiV+aV2YDa8J5Ba40Sr++M2EUOUegM6/3Tm250A2OIckRXLRkr05tkTEoAFZj0A6V+s5/PRMBNhnHyokZNmvyuMzjhkLiV9n/sfNs/Au5iI8l/5Zbl69DqLNhv4kDrRfKkk2oAdmah8w7zFj6ZXriYzZAqTiddttlNyHCkyo38bg==
ARC-Authentication-Results: i=1; mx.microsoft.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: "sstabellini@kernel.org" <sstabellini@kernel.org>, "julien@xen.org"
	<julien@xen.org>
CC: Jan Beulich <JBeulich@suse.com>, Juergen Gross <JGross@suse.com>,
	"bertrand.marquis@arm.com" <bertrand.marquis@arm.com>, "roger.pau@citrix.com"
	<roger.pau@citrix.com>, "Volodymyr_Babchuk@epam.com"
	<Volodymyr_Babchuk@epam.com>, "george.dunlap@citrix.com"
	<george.dunlap@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "andrew.cooper3@citrix.com"
	<andrew.cooper3@citrix.com>
Subject: Re: sched=null vwfi=native and call_rcu()
Thread-Topic: sched=null vwfi=native and call_rcu()
Thread-Index: AQHYApYKuS+jUHjGSkKX+nXJsixuaaxVueAAgAETSYCADBqFgA==
Date: Fri, 14 Jan 2022 18:42:06 +0000
Message-ID: <0cb5a1ceff3afc6c6d4319c9f6dd06a06a93a294.camel@suse.com>
References:
 <alpine.DEB.2.22.394.2201051615060.2060010@ubuntu-linux-20-04-desktop>
	 <20fbb361-b416-6965-614d-a6283a7e7550@xen.org>
	 <alpine.DEB.2.22.394.2201061747140.2060010@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2201061747140.2060010@ubuntu-linux-20-04-desktop>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
user-agent: Evolution 3.42.3 (flatpak git) 
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: f78da9b4-3d9f-4d10-61a4-08d9d78d9085
x-ms-traffictypediagnostic: AM0PR04MB5987:EE_
x-ld-processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
x-microsoft-antispam-prvs:
 <AM0PR04MB5987C355C7112A65892E845EC5549@AM0PR04MB5987.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:
 s1tb8Wv1XVVPEcJinLtK/yG4MniY/0E3lmk36096xR/77JpHYhICdiaEcONJcO1HBopD7NZlLsS5QT5VadAJra+Ly8bClgIimCiFwysNZRVMs4OnLjISUO5rZ+0+zuDLUzwHSL5fTpYi9lgj4Sq99/oIRsyWAOtdmOo67AbS/RPm8PocydsEbJTq6bP68B4E6S6ppMnjcbUo6VNTwDlBIPCn2LaROMOdGmOfY/p8t6JeQi2AGNKXSd8ERPY6/2VNpYnw+UiqTpeseN84bel8fZIGGVVs+LnT6Nw+zx6RilqL5+MrF0tUyFPnIGnxLIW7IcW1Wj6GIrfwyD8xKRCwXb/1RA9Uz9LlX3tptPglsl4TECsLnugHnPOx4gka0L6DYzX7e4AB4Pwi/B98HIA5lh8cEAW2fDtZ+TS17R0tnQcJK8VvDSTv1QTQTOg2RZwn1qfI+q+tXFz3G6odwPpx212aNlY8WnfIZPIGeApgClUD4AU8hJgPYlMlQtESHdJ9r1FQfIWyDtITFweX1FwCJa6Idiks+2tt36KcSM8dYMf4V9RwiEnRiQBqEQPWdlkBqEsoxmn9xloNEWm9EZbqycZm0sVZhne0pQVXqvzJar430rVxLgJsN8ZDoe8gach44rYJqVIpvqrDIrMwZbVpykKWC9eo9i4ApfqpvsDReDht829bAl4t0qxdTbhgyNwRtJxbPIMkeTm+3BF0BdHlb3e8aVV8OUyDxMKaLp+3w0a1SfCDHWnP9Ta0TGvMawmjplJmdrvILJJMctXQ/9JGXdsNn4oJh9WJEMcgxrnkaTdYkOiU9nbkhCf/IN//ig5pFvCBxUfMGceGuodUiH97RQ==
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)(508600001)(8936002)(83380400001)(38070700005)(99936003)(86362001)(36756003)(6486002)(122000001)(2616005)(71200400001)(186003)(5660300002)(4326008)(66446008)(54906003)(64756008)(110136005)(38100700002)(76116006)(8676002)(66476007)(316002)(66556008)(6506007)(2906002)(66946007)(91956017)(966005)(26005)(6512007);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?UHl6UkdrM3Bua3YwcTJSdkRWL0N2QnA0TkNrVUlCbzYrYmVMZWk1WmVBek1v?=
 =?utf-8?B?b1hvTEhyZmhocitwVUV6cUg3Y29ma3pYSndxMklKSFE2TWRjdS9kMkkrT0F6?=
 =?utf-8?B?OG9CUk1nR3piRnU1VjRlRDlFeWVwaDU3alFhOTBYdEpnd2dzL3RwL3hFdXc5?=
 =?utf-8?B?cnR3aTNuR1M0dkUvL3VqNGR1RWlPRHBxY05jaEU0OGZLSlVGMllzVkZtT3or?=
 =?utf-8?B?a0hRNGtKa1U1VlVqcUpzb3RjYmJQU3VTS21yNzJPNDZlQytQLzAxOUZxVW5w?=
 =?utf-8?B?YkJ0Uy9nVHlzZUs4aHNnN09kdWllazA3WWQrNkhZdGt4U1oyT2MvTGlSeklz?=
 =?utf-8?B?TGlNOVFvWUFHUHR6VElQWHRzMWZINVk1WHpqTFdzbzZYdGZYeHloQ1RyWEJV?=
 =?utf-8?B?L1QzMlloTDlVc1l2Z05wRldBZVlFendDVmtjZFZKZ0tZZ3VJUS9ORE1zUFlT?=
 =?utf-8?B?aUd5MG5GZlFwdExFVytiS3hTc0I1TC9sUFBGMmxWdEx5NEJONUgyZ2l1cUNX?=
 =?utf-8?B?elArczhuS21QTC9XVGZrSDJzaWxiL2I0ZTJNTVRNc0NtNFcvaEl4RHVPSVJT?=
 =?utf-8?B?Sm1KTFBxUnlocm5BeTZhc0laNHprSUdhelB0Q0oyRzNxb0lIY3NJR3lxa011?=
 =?utf-8?B?TW84eWpmSUxtR3NFOFh5SW4yTElkdTRvZHJuS0RaVGVHeWhEODhyalZYNjh3?=
 =?utf-8?B?eWtMUTAxL0RVWDBwOWRQblVoM29GcmZYZTBBeml1cVNYUGZCZVd3ZkVxdGZN?=
 =?utf-8?B?L0Q0NDVzN0p2UlBsL1VIejhPR1A0S3dkWmFQUjB6NXJ0UzNXT0NWbnNpRGRE?=
 =?utf-8?B?Y1B2MDlvQ0VPMmtnTHVQV3RJbXZOeTRhRTQzTGdlUVJtWkhRQkFDejMzT2d5?=
 =?utf-8?B?NWlxRTVBRFM4Q0VBM2RWS3doZmNVdXpjTndMR2htQWtmaS9tRkQ0SG9xdWJ3?=
 =?utf-8?B?VzNiOGE0b0ZLSWRuWElaUDUyaWlCRThQUkQ3UjJ3ZUhheEpRMEpoMmU4bERB?=
 =?utf-8?B?ZG1BWGdWL3ViT09OSjZMTUhQOUluWEpFUU5QbXFxOVZQUlZkbGhEUmh6Wk5K?=
 =?utf-8?B?UEdtL3lmVUJIWVZzOWZlMExlakgwaS9oZlJMQjlhcEdmdmFBeE9JTlNjQ1RR?=
 =?utf-8?B?S1V5eWJTcXdBbEcvSjUwaXp3YUwzWVlVdVczL282RktNSTRFb1QzMyswYW9i?=
 =?utf-8?B?dTJZUFE5bVBtQlp1SFhIRzZzVFpLV2x6dG95aEROVk1LREJRdWpnTjhGL1dq?=
 =?utf-8?B?WG5tZVV6YlBLcjhobExEMStpVWoxY1lJN3Bkb2x6cDFUYWlBQklmQmVJTmVW?=
 =?utf-8?B?cnVUd0Zod3JzOTU4eDNoQVZDenVSUTQ5Z1JoWlE3YmY1RDlXNVlubWl2UFEv?=
 =?utf-8?B?UVUrc09NdWhqUS9kSTR1cHpaL2FGM0RZTnhaWk1XSXpSVHgxZUdTNXovWEVy?=
 =?utf-8?B?L1hFT2JhdzE5dm4vL1NtOEo0d0FwZVl1bkRRakNCUHNRZ2NYa2x4OVVkZ1NS?=
 =?utf-8?B?bVdPejFwczBrK1NvakRDcEVQMDNEZmJUV3N2a1p5c2Q5QjMyZ1hFSEhmclp6?=
 =?utf-8?B?SnFKZXRDSk5HbTRZNmFSR2lacWh0NHNkS0Z2WXdXWGcvaUNWeHl0Sk5TdTRx?=
 =?utf-8?B?QldGWkd4THRkTi9TWDVmYXBmNWZPV043aTlCVnlveHZCaC9ndnZsTzc4eW9T?=
 =?utf-8?B?SWVUR2ZKUzk1V3ExZkI1R3QvWFBJc3NFcnh3Um5xNXNkdzhWOGFnQTRTTjY4?=
 =?utf-8?B?ZEx0WVdnZHB1K2oydGxXMTR3bXV1RVFuQWZsQXZ3aTZ6S2s5dkJIak5xMFpN?=
 =?utf-8?B?WlFjZFJzekNSaXFoaytMRGFhWFkrdTl3aHl4WEZVYTJCaVVTUHJKUFJRVVdj?=
 =?utf-8?B?Y3daa3puMkZpVHpxV2xnWjhHZi9ZMUl4VDJiN2R2L1VPVVorWTM0Y2tFMGE0?=
 =?utf-8?B?Z0dPcW16R2tidVBQK2RWSmlyK29JUHovaWg1WHhvaVJJV1I2SGhQaDE4ZElS?=
 =?utf-8?B?ejE5cHFDYkIxNXZXSlZHSk1ZVkR1c29ud0RISlhNb3J3b3FMOVZpN1pDRHdx?=
 =?utf-8?B?VG9jd3dVZkFOOVRwZFErOUExdlk3Zi8xL0FqNnZaTXRybEh6QnkxTEVQdXEy?=
 =?utf-8?B?MWNjcTdSUmVKTTRpREpieUtuc0U4cXlmQWtUR3Y5M1p2alMxaEZHWWd5RmRQ?=
 =?utf-8?Q?uw3SbjfKzxUQgceJ1TTuSuc=3D?=
Content-Type: multipart/signed; micalg="pgp-sha256";
	protocol="application/pgp-signature"; boundary="=-hhs6m2qhitU0p5JjOY5s"
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: f78da9b4-3d9f-4d10-61a4-08d9d78d9085
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Jan 2022 18:42:06.2938
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: ew2Fnw/yRA2ZyMS0jlBgtWPUt7jMIkTh6iJlXAWoFB2oe96o9N2rNJ/wI5zhQkcEZOKnaw5g7Uu99Wjy0WghWw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5987

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

On Thu, 2022-01-06 at 17:52 -0800, Stefano Stabellini wrote:
> On Thu, 6 Jan 2022, Julien Grall wrote:
> >=20
> > This issue and solution were discussed numerous time on the ML. In
> > short, we
> > want to tell the RCU that CPU running in guest context are always
> > quiesced.
> > For more details, you can read the previous thread (which also
> > contains a link
> > to the one before):
> >=20
> > https://lore.kernel.org/xen-devel/fe3dd9f0-b035-01fe-3e01-ddf065f182ab@=
codiax.se/
>=20
> Thanks Julien for the pointer!
>=20
> Dario, I forward-ported your three patches to staging:
> https://gitlab.com/xen-project/people/sstabellini/xen/-/tree/rcu-quiet
>=20
Hi Stefano!

I definitely would like to see the end of this issue, so thanks a lot
for your interest and your help with the patches.

> I can confirm that they fix the bug. Note that I had to add a small
> change on top to remove the ASSERT at the beginning of
> rcu_quiet_enter:
> https://gitlab.com/xen-project/people/sstabellini/xen/-/commit/6fc02b9081=
4d3fe630715e353d16f397a5b280f9
>=20
Yeah, that should be fine.

> Would you be up for submitting them for upstreaming? I would prefer
> if
> you send out the patches because I cannot claim to understand them
> completely (except for the one doing renaming :-P )
>=20
Haha! So, I am up for properly submitting, but there's one problem. As
you've probably got, the idea here is to use transitions toward the
guest and inside the hypervisor as RCU quiescence and "activation"
points.

Now, on ARM, that just meant calling rcu_quiet_exit() in
enter_hypervisor_from_guest() and calling rcu_quiet_enter() in
leave_hypervisor_to_guest(). Nice and easy, and even myself --and I'm
definitely not an ARM person-- cloud understand it (although with some
help from Julien) and put the patches together.

However, the problem is really arch independent and, despite not
surfacing equally frequently, it affects x86 as well. And for x86 the
situation is by far not equally nice, when it comes to identifying all
the places from where to call rcu_quiet_{enter,exit}().

And finding out where to put them, among the various functions that we
have in the various entry.S variants is where I stopped. The plan was
to get back to it, but as shamefully as it sounds, I could not do that
yet.

So, if anyone wants to help with this, handing over suggestions for
potential good spots, that would help a lot.

Alternatively, we can submit the series as ARM-only... But I fear that
the x86 side of things would then be easily forgotten. :-(

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)

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

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

iQIzBAABCAAdFiEES5ssOj3Vhr0WPnOLFkJ4iaW4c+4FAmHhw/0ACgkQFkJ4iaW4
c+62mxAAvPc0AxSG7MsZ68LhgyJCjI93/RcLyJvtgAIaHe5CFja6TQrFxb3rTmeL
yTHFkLfnzgwBrOvmFNLJcF01sxSvs/smjMTAnn+FlrHZbPssF0FhF94pEcV/x2Fo
E3/AJRIxLZuvdO3m/WjqDNGWXm4mISS3+ix2tJ8VuqcnWDmLX3uP3hB+WSR8gxbD
2iTFpIGULMlhEvwSJDhdsSQz03g4hqJsM+tZBwIHexAZL00aSFzYo2sD/yi5CSJw
JtF6R2GWISE3ByitjAkdMnF6edXb0hJ7HP6+n1NXQeiJwelcG++/L14RvJ4uKrqM
yOPIrPC1MxvMz9XoIgeP0PEhjIkXK5wNWEtIMCg9cgNX9O2oqCmSBU+tep8f7oi8
69rxhbUkfvPV7qaF+LsPFvH9T5OkBxOw6XgYAhwxBHJaDo/qZ36sjLPEKhpovHdp
BEQ0re8JqBOJrzNdGYi3CmUSaU9/fIZc8tGxH0100sOP2ZYcJpZEmtTUmwd4VKY5
oRA+WGrwRlaC1OAhpePWiRtLaRUSRfGVwdvAz/S8FXFDXrm0mQzZ/8zF6SMq5uRO
iEI7DSLHaVjaBJriLEPeoNqQDI4tapOKyLsXc6KqPGrIAausojZBHDcCYMmutAld
OpZJIYjvb++jlHIDwmOXQF3thkBu5rZqPjZTL6DtIAJuX3BQABI=
=3SJT
-----END PGP SIGNATURE-----

--=-hhs6m2qhitU0p5JjOY5s--



From xen-devel-bounces@lists.xenproject.org Fri Jan 14 19:23:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 19:23:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257674.442923 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8SAC-0002nJ-2B; Fri, 14 Jan 2022 19:23:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257674.442923; Fri, 14 Jan 2022 19: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 1n8SAB-0002nC-VF; Fri, 14 Jan 2022 19:23:03 +0000
Received: by outflank-mailman (input) for mailman id 257674;
 Fri, 14 Jan 2022 19:23:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n8SAA-0002mm-Qg; Fri, 14 Jan 2022 19:23:02 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n8SAA-0007vj-NU; Fri, 14 Jan 2022 19:23: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 1n8SAA-0008Kj-C7; Fri, 14 Jan 2022 19:23:02 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n8SAA-0002su-Bj; Fri, 14 Jan 2022 19: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=TtpjokE3v+cESQVh2fKClUgMJ3ucDtx60w4o6ZpZ3ng=; b=TXZS8XaWzFyoPGYwWPtFM1JAfo
	vRcBxOR/JGSRSe8y5J7HyyZL16SDbI3RYTM9MAbjq/mBUYoqcsewaRNBLYDpf8hqJnrCfOrhErKbV
	odxL4dicUY1ptpOqGZPYQdy5dra5lQtS/dMQCH49UoiyEA/CV1c2u+4IB5LLqAc8GhI8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167697-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167697: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-armhf-armhf-xl-multivcpu:xen-boot:fail:heisenbug
    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-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-qcow2:saverestore-support-check: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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-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: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-libvirt-qcow2: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
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=67b6526cf042f22521feff5ea521a05d3dd2bf8f
X-Osstest-Versions-That:
    qemuu=f8d75e10d3e0033a0a29a7a7e4777a4fbc17a016
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 14 Jan 2022 19:23:02 +0000

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

Failures :-/ but no regressions.

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

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

version targeted for testing:
 qemuu                67b6526cf042f22521feff5ea521a05d3dd2bf8f
baseline version:
 qemuu                f8d75e10d3e0033a0a29a7a7e4777a4fbc17a016

Last test of basis   167688  2022-01-13 14:07:10 Z    1 days
Testing same since   167697  2022-01-14 11:08:04 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Li Zhang <lizhang@suse.de>
  Maxim Levitsky <mlevitsk@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <f4bug@amsat.org>
  Richard Henderson <richard.henderson@linaro.org>
  Thomas Huth <thuth@redhat.com>
  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                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   f8d75e10d3..67b6526cf0  67b6526cf042f22521feff5ea521a05d3dd2bf8f -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Fri Jan 14 20:57:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 20:57:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257681.442934 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8TdD-0003BR-00; Fri, 14 Jan 2022 20:57:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257681.442934; Fri, 14 Jan 2022 20:57:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8TdC-0003BK-T2; Fri, 14 Jan 2022 20:57:06 +0000
Received: by outflank-mailman (input) for mailman id 257681;
 Fri, 14 Jan 2022 20:57: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 1n8TdC-0003BA-1Y; Fri, 14 Jan 2022 20:57: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 1n8TdB-0001B6-VN; Fri, 14 Jan 2022 20:57: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 1n8TdB-0003J2-Av; Fri, 14 Jan 2022 20:57:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n8Td3-0004Vs-N7; Fri, 14 Jan 2022 20:57:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=JrV8G/21rAADUqaSC1uC5unKkYT89nOIUzycMMIHxe0=; b=EkmxE8Oqbk2EL8wERcRbJt5D7s
	t/ByuRp0HC4N7hbMfaNplWajYbxhaRl2kVTGc7IKp6i/7bc4BOecspHDk1hrfTm/6czsQtGJ+ntYf
	ey5rbNiZZoXrnCW+mkGWmkuFY2RNUk1puDWCCBcaPbiiNBHDhwLIG3aqBPKdvFN4FbPs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167698-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167698: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:leak-check/check:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-vhd:host-ping-check-xen:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-examine:reboot:fail:heisenbug
    linux-linus:test-amd64-amd64-examine-uefi:reboot: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-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-armhf-armhf-libvirt-qcow2: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-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=fb3b0673b7d5b477ed104949450cd511337ba3c6
X-Osstest-Versions-That:
    linux=455e73a07f6e288b0061dfcf4fcf54fa9fe06458
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 14 Jan 2022 20:56:57 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 167684
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 167684
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 167684
 test-armhf-armhf-xl-vhd      20 leak-check/check         fail REGR. vs. 167684

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl           8 xen-boot         fail in 167693 pass in 167698
 test-armhf-armhf-xl-vhd   10 host-ping-check-xen fail in 167693 pass in 167698
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 167693 pass in 167698
 test-amd64-amd64-examine      8 reboot                     fail pass in 167693
 test-amd64-amd64-examine-uefi  8 reboot                    fail pass in 167693

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

Last test of basis   167684  2022-01-13 07:47:42 Z    1 days
Testing same since   167693  2022-01-13 22:41:04 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Arnd Bergmann <arnd@arndb.de>
  Avihai Horon <avihaih@nvidia.com>
  Bernard Metzler <bmt@zurich.ibm.com>
  Biju Das <biju.das.jz@bp.renesas.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Bjorn Helgaas <bhelgaas@google.com>   # PCI
  Bob Pearson <rpearsonhpe@gmail.com>
  Borislav Petkov <bp@suse.de>
  Changcheng Deng <deng.changcheng@zte.com.cn>
  Chanwoo Choi <cw00.choi@samsung.com>
  Chengchang Tang <tangchengchang@huawei.com>
  Chengguang Xu <cgxu519@mykernel.net>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Colin Ian King <colin.i.king@gmail.com>
  Conor Dooley <conor.dooley@microchip.com>
  Cédric Le Goater <clg@kaod.org>
  Dan Carpenter <dan.carpenter@oracle.com>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Palmer <daniel@0x0f.com>
  Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>
  Drew Fustini <dfustini@baylibre.com>
  Dust Li <dust.li@linux.alibaba.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Hector Martin <marcan@marcan.st>
  Herve Codina <herve.codina@bootlin.com>
  Hsin-Yi Wang <hsinyi@chromium.org>
  Huang Yiwei <quic_hyiwei@quicinc.com>
  Håkon Bugge <haakon.bugge@oracle.com>
  Ingo Molnar <mingo@kernel.org>
  Jack Wang <jinpu.wang@ionos.com>
  Jacky Bai <ping.bai@nxp.com>
  Jason Gunthorpe <jgg@nvidia.com>
  jason-jh.lin <jason-jh.lin@mediatek.com>
  Jassi Brar <jaswinder.singh@linaro.org>
  Jesse Brandeburg <jesse.brandeburg@intel.com>
  Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
  Johan Jonker <jbx6244@gmail.com>
  Juergen Gross <jgross@suse.com>
  Justin He <justin.he@arm.com>
  Kalle Valo <kvalo@codeaurora.org>
  Kamal Heib <kamalheib1@gmail.com>
  Kees Cook <keescook@chromium.org>
  Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
  Leon Romanovsky <leonro@nvidia.com>
  Li Zhijian <lizhijian@fujitsu.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Maher Sanalla <msanalla@nvidia.com>
  Marc Zyngier <maz@kernel.org>
  Marek Szyprowski <m.szyprowski@samsung.com>
  Max Gurtovoy <mgurtovoy@nvidia.com>
  Michael Kelley <mikelley@microsoft.com>
  Michal Kalderon <michal.kalderon@marvell.com>
  Michal Simek <michal.simek@xilinx.com>
  Minghao Chi <chi.minghao@zte.com.cn>
  Nathan Chancellor <nathan@kernel.org>
  Niklas Schnelle <schnelle@linux.ibm.com>
  Nishanth Menon <nm@ti.com>
  Nitesh Narayan Lal <nitesh@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Peng Fan <peng.fan@nxp.com>
  Philipp Zabel <p.zabel@pengutronix.de>
  Qinghua Jin <qhjin.dev@gmail.com>
  Randy Dunlap <rdunlap@infradead.org>
  Rikard Falkeborn <rikard.falkeborn@gmail.com>
  Rob Herring <robh@kernel.org>
  Robin Murphy <robin.murphy@arm.com>
  Romain Perier <romain.perier@gmail.com>
  Sam Protsenko <semen.protsenko@linaro.org>
  Selvin Xavier <selvin.xavier@broadcom.com>
  Sergey Gorenko <sergeygo@nvidia.com>
  Shiraz Saleem <shiraz.saleem@intel.com>
  Sinan Kaya <okaya@kernel.org>
  Sudeep Holla <sudeep.holla@arm.com>
  Sumit Saxena <sumit.saxena@broadcom.com>
  Tatyana Nikolova <tatyana.e.nikolova@intel.com>
  Thomas Bogendoerfer <tsbogend@alpha.franken.de>
  Thomas Gleixner <tglx@linutronix.de>
  Vaishali Thakkar <vaishali.thakkar@ionos.com>
  Valentin Schneider <valentin.schneider@arm.com>
  Vinod Koul <vkoul@kernel.org>
  Viresh Kumar <viresh.kumar@linaro.org>
  Waiman Long <longman@redhat.com>
  Wang Qing <wangqing@vivo.com>
  Wei Liu <wei.liu@kernel.org>
  Wenpeng Liang <liangwenpeng@huawei.com>
  Will Deacon <will@kernel.org>
  Xiang wangx <wangxiang@cdjrlc.com>
  Xinhao Liu <liuxinhao5@hisilicon.com>
  Xinhao Liu <liuxinhao@huawei.com>
  Yixing Liu <liuyixing1@huawei.com>
  Zhu Yanjun <yanjun.zhu@linux.dev>
  Zhu Yanjun <zyjzyj2000@gmail.com>

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


From xen-devel-bounces@lists.xenproject.org Fri Jan 14 21:01:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 21:01:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257689.442944 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8ThW-0004d4-MK; Fri, 14 Jan 2022 21:01:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257689.442944; Fri, 14 Jan 2022 21: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 1n8ThW-0004cx-JK; Fri, 14 Jan 2022 21:01:34 +0000
Received: by outflank-mailman (input) for mailman id 257689;
 Fri, 14 Jan 2022 21:01:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=chGx=R6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n8ThU-0004cr-Mm
 for xen-devel@lists.xenproject.org; Fri, 14 Jan 2022 21:01:32 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 25ccf5c2-757d-11ec-a115-11989b9578b4;
 Fri, 14 Jan 2022 22:01:31 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 35BA4B82A3A;
 Fri, 14 Jan 2022 21:01:30 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 70ACFC36AE9;
 Fri, 14 Jan 2022 21:01: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: 25ccf5c2-757d-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1642194088;
	bh=dkNrjDH7R++oG57sMVeoB7++v+QAOcLlicKki4WJewQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=urQPFt3sUGimRmHVhGAxp0UkT4RZvnyJsAk3NVa4miwaBFrsa58a2Zmsvd5wLwpPx
	 4i+GK9yQo5twwudlQmckbP7xQn0x2HVLoDtC28hKYXwcpcI4S1sRcd85nfDmtxGiJU
	 5HQwMqRRbpDhQ9P7XFAsEYsBdJdEdYRBG6Aj2Pqg5wJH5vNcPYOw9vBjzDrxpzCfIz
	 2MHEOF5tkWhnOpbkuyZ2Pwn9viOBSVJ2R6wXWIo/XOlbDinntaT3s6j9inVmRDu9eI
	 RrqGCi2WCUoMX2Vb0Lk620mJ9acGouA30Xd1/QmPpeavpi4pCBOfuMJQ7b9zDYH7K2
	 z/KuXzEA3RxgQ==
Date: Fri, 14 Jan 2022 13:01:27 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Dario Faggioli <dfaggioli@suse.com>
cc: "sstabellini@kernel.org" <sstabellini@kernel.org>, 
    "julien@xen.org" <julien@xen.org>, Jan Beulich <JBeulich@suse.com>, 
    Juergen Gross <JGross@suse.com>, 
    "bertrand.marquis@arm.com" <bertrand.marquis@arm.com>, 
    "roger.pau@citrix.com" <roger.pau@citrix.com>, 
    "Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>, 
    "george.dunlap@citrix.com" <george.dunlap@citrix.com>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>
Subject: Re: sched=null vwfi=native and call_rcu()
In-Reply-To: <0cb5a1ceff3afc6c6d4319c9f6dd06a06a93a294.camel@suse.com>
Message-ID: <alpine.DEB.2.22.394.2201141253080.19362@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201051615060.2060010@ubuntu-linux-20-04-desktop>  <20fbb361-b416-6965-614d-a6283a7e7550@xen.org>  <alpine.DEB.2.22.394.2201061747140.2060010@ubuntu-linux-20-04-desktop>
 <0cb5a1ceff3afc6c6d4319c9f6dd06a06a93a294.camel@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 14 Jan 2022, Dario Faggioli wrote:
> On Thu, 2022-01-06 at 17:52 -0800, Stefano Stabellini wrote:
> > On Thu, 6 Jan 2022, Julien Grall wrote:
> > > 
> > > This issue and solution were discussed numerous time on the ML. In
> > > short, we
> > > want to tell the RCU that CPU running in guest context are always
> > > quiesced.
> > > For more details, you can read the previous thread (which also
> > > contains a link
> > > to the one before):
> > > 
> > > https://lore.kernel.org/xen-devel/fe3dd9f0-b035-01fe-3e01-ddf065f182ab@codiax.se/
> > 
> > Thanks Julien for the pointer!
> > 
> > Dario, I forward-ported your three patches to staging:
> > https://gitlab.com/xen-project/people/sstabellini/xen/-/tree/rcu-quiet
> > 
> Hi Stefano!
> 
> I definitely would like to see the end of this issue, so thanks a lot
> for your interest and your help with the patches.
> 
> > I can confirm that they fix the bug. Note that I had to add a small
> > change on top to remove the ASSERT at the beginning of
> > rcu_quiet_enter:
> > https://gitlab.com/xen-project/people/sstabellini/xen/-/commit/6fc02b90814d3fe630715e353d16f397a5b280f9
> > 
> Yeah, that should be fine.
> 
> > Would you be up for submitting them for upstreaming? I would prefer
> > if
> > you send out the patches because I cannot claim to understand them
> > completely (except for the one doing renaming :-P )
> > 
> Haha! So, I am up for properly submitting, but there's one problem. As
> you've probably got, the idea here is to use transitions toward the
> guest and inside the hypervisor as RCU quiescence and "activation"
> points.
> 
> Now, on ARM, that just meant calling rcu_quiet_exit() in
> enter_hypervisor_from_guest() and calling rcu_quiet_enter() in
> leave_hypervisor_to_guest(). Nice and easy, and even myself --and I'm
> definitely not an ARM person-- cloud understand it (although with some
> help from Julien) and put the patches together.
> 
> However, the problem is really arch independent and, despite not
> surfacing equally frequently, it affects x86 as well. And for x86 the
> situation is by far not equally nice, when it comes to identifying all
> the places from where to call rcu_quiet_{enter,exit}().
> 
> And finding out where to put them, among the various functions that we
> have in the various entry.S variants is where I stopped. The plan was
> to get back to it, but as shamefully as it sounds, I could not do that
> yet.
> 
> So, if anyone wants to help with this, handing over suggestions for
> potential good spots, that would help a lot.

Unfortunately I cannot volunteer due to time and also because I wouldn't
know where to look and I don't have a reproducer or a test environment
on x86. I would be flying blind.


> Alternatively, we can submit the series as ARM-only... But I fear that
> the x86 side of things would then be easily forgotten. :-(

I agree with you on this, but at the same time we are having problems
with customers in the field -- it is not like we can wait to solve the
problem on ARM any longer. And the issue is certainly far less likely to
happen on x86 (there is no vwfi=native, right?) In other words, I think
it is better to have half of the solution now to solve the worst part of
the problem than to wait more months for a full solution.


From xen-devel-bounces@lists.xenproject.org Fri Jan 14 23:22:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 14 Jan 2022 23:22:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257695.442956 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8VtZ-0000xw-4f; Fri, 14 Jan 2022 23:22:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257695.442956; Fri, 14 Jan 2022 23: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 1n8VtZ-0000xp-1I; Fri, 14 Jan 2022 23:22:09 +0000
Received: by outflank-mailman (input) for mailman id 257695;
 Fri, 14 Jan 2022 23:22:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/lXT=R6=suse.com=dfaggioli@srs-se1.protection.inumbo.net>)
 id 1n8VtW-0000xQ-Vh
 for xen-devel@lists.xenproject.org; Fri, 14 Jan 2022 23:22:07 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c8ae5b6d-7590-11ec-9bbc-9dff3e4ee8c5;
 Sat, 15 Jan 2022 00:22:05 +0100 (CET)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2054.outbound.protection.outlook.com [104.47.13.54]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-36-70BBYxd4OXi_8JAIfaAZvA-1; Sat, 15 Jan 2022 00:22:02 +0100
Received: from AM0PR04MB5826.eurprd04.prod.outlook.com (2603:10a6:208:134::22)
 by DB9PR04MB8379.eurprd04.prod.outlook.com (2603:10a6:10:241::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Fri, 14 Jan
 2022 23:22:00 +0000
Received: from AM0PR04MB5826.eurprd04.prod.outlook.com
 ([fe80::89d1:c043:73b0:be06]) by AM0PR04MB5826.eurprd04.prod.outlook.com
 ([fe80::89d1:c043:73b0:be06%6]) with mapi id 15.20.4888.012; Fri, 14 Jan 2022
 23:22:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c8ae5b6d-7590-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642202524;
	h=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=MbHLFDJe3O60XFHf53i4bhkGZyv0z48dBhDIysS3vRs=;
	b=CqlC93oaCz64Nwp+bUbFLnQ6CHwgja6K0xRxRS+Ze/IOyCG2MpBv8JskOnFJ5hGOCwefrM
	zvY1yIpVa2AxrrAtPjan3VkS5Djniqp0LVXQq0pnnH2qPIu1AWCkAol+HfqIYY+48PREa/
	i64rVaWCbCt6QATbB69SOCackq1oIH0=
X-MC-Unique: 70BBYxd4OXi_8JAIfaAZvA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=K89lQN53e/XzKh7IdkIoDTMFjBtqaOPHn9W8VbVzV+r65vyZsiAEDSp35kvnBe9t1YoIdIeEiJUIUTgNfRvCDroQvmcOk+F8d2JsK5g+gZPAcH+hC1pvBrdgVTZEO41JbI9euhs38MBr8HZdY2+kuCZ0jJbonG/VYYcnAS9K6yQOrD2exbrsKs0aPI+ckfgiccFUYFohZFYFNmEAaBzNCYFecubV9qRS/sN+1FY107syHl6O7OsrCgQz4gePnWVliQbtK8PImpNVCd5h/k3Up7wf29ub43AwJH+Hb+5DefGCd7dCJkyY26v/1QnfZxJA/Yx9RV+zx7Hz5EEiyBzvGg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MbHLFDJe3O60XFHf53i4bhkGZyv0z48dBhDIysS3vRs=;
 b=mhCo4zW9Q24SUiQZcfel6731il4H2ILyVn4l6Zs8rijru3oSaXmqHRXujQi3HwIittpWoJc8bucTg2kd+dFqv8tSMm4ZX28bTBFu3RQ8B1YYdfJPwRFYvaVZfdPUbm1ISS9gIZC/6pQIqP2ZrmA39nt+zpWOHRN2zqMUEaAso/4vH75MbciKUFI5MeOQvdnUNE1OCaTrGWKbIQPxKMphTb5iz5QzzydQ/LFtGR0rg9e9IPOdx2gjvbE18URH2WW+PWwnBEN/zXLmcwA/ac2yFm0QXERG2uMtObKq2mIzMFwQtRhPQG4FGQuP/MyIEs6SxObeA8j3cm0VKQk1fyd3KA==
ARC-Authentication-Results: i=1; mx.microsoft.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: "anthony.perard@citrix.com" <anthony.perard@citrix.com>
CC: Juergen Gross <JGross@suse.com>, Jim Fehlig <jfehlig@suse.com>,
	"wl@xen.org" <wl@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 1/2] tools/libs/light: numa placement: don't try to free a
 NULL list of vcpus
Thread-Topic: [PATCH 1/2] tools/libs/light: numa placement: don't try to free
 a NULL list of vcpus
Thread-Index: AQHYCHXrUuOcqEMe8ki4TaQGMIKek6xjKiKA
Date: Fri, 14 Jan 2022 23:22:00 +0000
Message-ID: <912014da2d821a14418e272f95c25e60be2b7a4e.camel@suse.com>
References: <164200566223.24755.262723784847161301.stgit@work>
	 <164200569629.24755.2980883411590685040.stgit@work>
	 <YeAVjpmuV9LIRFpa@perard>
In-Reply-To: <YeAVjpmuV9LIRFpa@perard>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
user-agent: Evolution 3.42.3 (flatpak git) 
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 573e602c-1226-486a-b055-08d9d7b4aac3
x-ms-traffictypediagnostic: DB9PR04MB8379:EE_
x-ld-processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
x-microsoft-antispam-prvs:
 <DB9PR04MB8379B5DCA891A1434F96811FC5549@DB9PR04MB8379.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:
 h5gM7FHseMJr7+gqMLb4OwUruHrGgfLl0BIXwI83kJE3JbVoW4ABAmMwHN0whFGJkjMHdyvRF8Ta5LgcVtt667PuBODnQpZNqffdPR3eccV5wBi23vjewDdFVCiEm1p0c+hzssWMC0VvymzVy4gmnsp/m1A6FdjA2bMTyMcB1jEt3lnCG5vznh5JL18iNCuE3mRvNT8lx8BMjj9ZLRs5MKdvHCG1QycRdCbDBHOX3Iif9ItATzU2Upmzp1c2dm1D2FrsiFIg3OffuPRB+mPPtBqdajowvBeOnWuP8G/RtaZ2P2MgARFOO3S+pBsiSZcyP4mvESfWyWonRYZgylGSwKxnw3mKtwzPLhXURCuxWb5a6YXKgZHXx2AAo2FVhXOH93tyu/UQwt3k7vU3pIp5/+7Ig/GsXBXel+CCZACMHUAkZMTHkpAtcxHIiTFc/re6fFuLAQGD7+wmHYUIXmYjM6D43VoVLFGBoRVn34R5/OmMWuLrFy3yH5Ir+tH3QHbuo4GK4YMBGlN+b6xUhkLHbIVMT1MTlxjw+QAFM43EL/71xeBToKE8tCfiKGjFcT/8hRPr0qWJBgflwW0MchiXQRBh/XtbNFZpi13Z9rBs1ldEHv/64mNsmP/ESyyASQw0ep+Rc6YkhoJmet2vjmBH0NykKuTK5qWdCp6MawkEe+IGwYYNJkQ8tPpXx1Mj3Op/dTvnqsvVsvnb7W23/hcawsB/hecJZLE+Nz1GwecOWLp+HvLrnVltaMwR1mlGHu5ipESrdthSe5WQFDd2MHR6tukWPnla/HKB/orWvac72XpXeWKCIMplaW6k+1io7SVSuT1eyhVpp9r/vim7TrMpBw==
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)(4326008)(36756003)(83380400001)(86362001)(966005)(6506007)(66556008)(66446008)(26005)(76116006)(8676002)(66476007)(2906002)(66946007)(508600001)(91956017)(99936003)(6486002)(6512007)(122000001)(6916009)(5660300002)(8936002)(38100700002)(316002)(71200400001)(2616005)(186003)(54906003)(64756008)(38070700005);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?cGhiRnc3R0lwc1hJV0J6K2N0OXNpNkhMNGNveDNrYXBFUE9oMjNaVGplNiti?=
 =?utf-8?B?NlZKQWJGWEY5bmZXdmx5V2FjVU1lbUVJamRCTmM0Kzc0aVNQeU82QllLbmxG?=
 =?utf-8?B?dkEzK3dZUVJMUjJrNFFWOE1VUkthTjNTZHZwaHE0RGlUd3NyZFkxYTF4SCtx?=
 =?utf-8?B?WERGWU9rUmpDS1l0bk10ZmIwOHlMRGZ6RnkzakYxU1BzaUNaaWxLa2IxUzhY?=
 =?utf-8?B?cjQ0UEFrOURRZTdpdnFwaGM1S2swME1PUUlQKys5NzU1TmJSamtIVGc4cUU4?=
 =?utf-8?B?OUVHTEFxLzR2N0MzSnBMamtrZ3RDTjk0REdhK002bXRSY2RnWEdzYjRodWV0?=
 =?utf-8?B?QVdCMU5PVjZpQWR1SHhZb0tUMmx5ZjIvdmpHSEFrNFdwaU0xT3lDcmhMSUtj?=
 =?utf-8?B?WmkxdVFoU29IMXpTNW1EVFc0cjBSYU5YYVg1MzkxN29pUFk2ODlyTk5xNXhs?=
 =?utf-8?B?MUV4M3ZGL1A4bFJHZHBvL0NoMzZuZW1FcS9sa244UjNmczBGZWZzSmc0QXNP?=
 =?utf-8?B?T3pPUDhaQko1d2xMUjRVMFNiUmhyRTdtUnVsODlaNWZIVmtUbU5BYWRqT0k3?=
 =?utf-8?B?NDk0dm4ra1ZOaEoxVzA0ejdQejlSQ0MxYkRvMzFNRitFWDVlS0hPTHJLeE1Z?=
 =?utf-8?B?V21aTUMxN2tqWi9DdWJtL2tzVStlWnJKOU9OOEN3QTBGMGpKeEFGNENqdDZw?=
 =?utf-8?B?c05CRFo2L29zNFpIbElMU004Y2ZnQlV5aE5HU2pjaHlBOEQzUWdGNmQzRU4w?=
 =?utf-8?B?S2doU2lSd0ZrcEhBQ0FqWHIxdzlXT2ZWU2hkMExlMXFHam1hcjFPK29ZZHlp?=
 =?utf-8?B?azlERnF4VU05NEJvTktUbmE2Y3dEVithUDM0Z01aaEY3eTZJYjR2RGRVSjY2?=
 =?utf-8?B?QWJwMkdsRGwyckxRRk4xc0NLTE14bjdQUzlxbjFGeWJaRGVGUnl3eHlBTWtw?=
 =?utf-8?B?VU9LTzRnN3hNUnJDTnFhZ0tXUVhmalg1R1JKR3hIOVdDUkV5WGxYeHRPbWps?=
 =?utf-8?B?djBvUVVVMUFnc1pHbzNJcERUSVV2ZVJ4Q2ptZkFGaVpZUWtaYmZ5TlVCM1Yx?=
 =?utf-8?B?OXJwQ1BTVnVLNndJc3loeDVUWlRyRVpiQUxhd0xvTDVFUHpmK3Q5amxEcXpR?=
 =?utf-8?B?TVpSYjVIQmN6bXgvb1hQVDdyaCtvU3FMK2VIcVpCaGtLRkk3d3ZqZFdrRzZB?=
 =?utf-8?B?eVR6Y01wdE90Z2FxZWRyb1NIcjBiMTN1Tkc4OHB3bXZFMHFwOUx6ci9jSWx1?=
 =?utf-8?B?UGVpU3BoNGVwdFY2SFIyT3pGTXViQitzSklkSlgzVnFhMjB5V2phRk1UZlZR?=
 =?utf-8?B?K0F1Tnc5TlRwdGRrRWlZS1JOQ0NnTHVEbUZINU4zSkVrdHlIUVBtRGF1aDQz?=
 =?utf-8?B?aXJZTndBRkpsOEZFK2pzc3h2c0QzU1V4VjRwelZJVGJHdDdLeGsyVjUxZjZR?=
 =?utf-8?B?V01yM2kwSnU2NFJHaDBYWFBrSzNMcmpYT29kT0E4QUZHazZTMDZXRVVJTHBY?=
 =?utf-8?B?QWVIWS9MSmN0U0d0SGkvYW1MYUFlenNWcE5ZaFFzUW1tcjk3TDFud0JrWm1Z?=
 =?utf-8?B?dFNPUWt0VDJkR1RPMk05emM3RzcwZC9HUUEwMmYwdnFFWDdUZkQrZkNvbUR5?=
 =?utf-8?B?NFVTVE56NEZPOWZHNXY1MnZEeUZRd2Rpc0JUb0xoQUFHdklveHBDKzUvczQz?=
 =?utf-8?B?ZDNmRHFPNmVFWTRhak9hMHppbXhQQ0djQjZHN2NNTGQzYmFCQUZ2Q0JsRUJM?=
 =?utf-8?B?Y2QxYWhTdjQvbjFpMy8zNWxNMkxWNHozN0xERkxjV3NlUEN4VWNPK3p4Z0d0?=
 =?utf-8?B?VitOZERSYVBzM1dvajJLZ2RNVjlydmE4VjRGT3NHNHJNMnFQcDZubEtIWmJm?=
 =?utf-8?B?dk1tcTAxV3lSZEloeWpGKzBhRmlqZWNvTEM5OEZxd0NmY2lxTk0zRUlCZ3F4?=
 =?utf-8?B?czcxUHE1V0F4ay9vaGVCeEZrUnN5Nmc0ZTdCcldBektoci9IZ1dnZkMrWUN5?=
 =?utf-8?B?QkpTR1F3SEZWTk1heEtxUTE3QjdBaHJINm5LTlJDUUJ4cUFNaVB4UnhQRTZN?=
 =?utf-8?B?YURNQk9tamdoZmEzbFR1aFhVbjI1RUFqNDlmbitZRE9YdS94VUFES3JZMDlN?=
 =?utf-8?B?cWIyWUpRSkJkTVpSUytkU3NJVWlhUTZnR3kzK25NbCtQR3VRS0ZYNThvZm1y?=
 =?utf-8?Q?ibCqDJbFn2OzdKNmi+CrihE=3D?=
Content-Type: multipart/signed; micalg="pgp-sha256";
	protocol="application/pgp-signature"; boundary="=-oBcS1W/YJMWcz/1oqWHg"
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: 573e602c-1226-486a-b055-08d9d7b4aac3
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Jan 2022 23:22:00.7734
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: XOgYNoBb/5kyfTQ8IDIFbQBUSdqcKqiqp5WyKIFZtRNVhuq0QJwXiinmi8SoevXWIWlKc4/Ny/srzHVLZ5C2og==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8379

--=-oBcS1W/YJMWcz/1oqWHg
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2022-01-13 at 12:05 +0000, Anthony PERARD wrote:
> On Wed, Jan 12, 2022 at 05:41:36PM +0100, Dario Faggioli wrote:
>=20
> > 2) there should be nothing to free anyway
>=20
> The issue here is that it doesn't appear to be true. Even if "info"
> is
> NULL, "nr" have an other value than 0, so libxl_vcpuinfo_list_free()
> will try to access random addresses.
>=20
My point here was that if vinfo is NULL (because libxl_list_vcpu()
returned NULL), there aren't any list element or any list to free, so
we can avoid calling libxl_vcpuinfo_list_free().

Then, sure, if we call it with a NULL vinfo and a non-zero
nr_dom_vcpus, things explode, but this was being addressed in patch 2.

This first one was really only about not trying to free an empty list.
And not to workaround the fact that it currently can make things
explode, just because it feels pointless.

> > Signed-off-by: Dario Faggioli <dfaggioli@suse.com>
> > Tested-by: James Fehlig <jfehlig@suse.com>
>=20
> Can I suggest to make libxl_vcpuinfo_list_free() work a bit better in
> case it's "nr" parameter is wrong? It will do nothing if "list" is
> NULL.
>
I thought about that, and we certainly can do it.

However, I think it's unrelated to this patch so, if I do it, I'll do
it in its own one.

Also, if we go that way, I guess we want to change
libxl_cputopology_list_free(), libxl_pcitopology_list_free(),
libxl_numainfo_list_free(), libxl_dominfo_list_free(),
libxl_vminfo_list_free() and libxl_cpupoolinfo_list_free(), don't we?

> Also I think it is better to keep the free in the exit path at the
> end
> of the loop.
>=20
Can I ask why as, as I was trying to say above, if we are sent directly
to next by one of the goto, we do know that vinfo is NULL and
libxl_vcpuinfo_list_free() will be basically a NOP, however it is
implemented.

Of course, you're the maintainer of this code, so I'll do like that if
you ask... I'm just curious. :-)

Actually, if you really think that the call to
libxl_vcpuinfo_list_free() should stay where it is, I can just drop
this patch and go on with patch 2 only, which is enough for fixing the
crash.

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)

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

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

iQIzBAABCAAdFiEES5ssOj3Vhr0WPnOLFkJ4iaW4c+4FAmHiBZcACgkQFkJ4iaW4
c+7UsxAAnN7giU3+XJOMxNCH+FPeux3nhpantoODe6ZgfSlLbEkiR3PJPhzXdsWQ
a0LAGN1JRIO/YRE9QImbA7R2UmG8QjWEQywBIqNcANbto1x25crd83Jvt9EauZUJ
psM69g125dMnwJBy80h1sfKm9Ltja2vNrhey9q1UfOBm45mj8UrA9p+VpnJ5M271
mvMlauKcXI/OFCWWrmY9dK5Tw9tzdOvl+wTLOFXHrdCKXmWCMQG51zbYRLcQlek0
gzuksOhIB+CxKZIdPBksOh+zg7Ke+ftkcsXB7R/utnlP5wZjK/YxQPCF4oe536Wi
VOGngPvv5a68EgET/PMdNnns7lF+VJBkYigQxwE2WVUCgF9gXUa/Vua1J0YKE401
MhEogcB223VcMQoqH5nVpQv0twajdfZuDJ0U2C15eVaTasVWpP230sLrt0o/+Luq
uxRFwUitQwm4jpawvx1yZy60RYI3UfVcV5r8TbblprlW17qPQP4RPZsKAP/pXdrU
Kt0ZnGPLVSXo6YyOmZZNRPkaQq37cgSLEqEyG92uDQicTdbCwYJgYqa/frWA5qHJ
pGrkDcf2QA+sI+W25lMld36HgWROuMJxdcGTJUUWj0AesuDFQftodEzkfsaNDdEt
0dUsFJBHzpqNCkpUbSvonOcplJlVam1y+Drs1bUDLW1KwkGjx98=
=q5z9
-----END PGP SIGNATURE-----

--=-oBcS1W/YJMWcz/1oqWHg--



From xen-devel-bounces@lists.xenproject.org Sat Jan 15 03:19:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 15 Jan 2022 03:19:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257699.442967 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8ZbG-0008Do-Rr; Sat, 15 Jan 2022 03:19:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257699.442967; Sat, 15 Jan 2022 03:19:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8ZbG-0008Dh-NQ; Sat, 15 Jan 2022 03:19:30 +0000
Received: by outflank-mailman (input) for mailman id 257699;
 Sat, 15 Jan 2022 03:19: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 1n8ZbF-0008DX-A9; Sat, 15 Jan 2022 03:19: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 1n8ZbF-0001gg-6k; Sat, 15 Jan 2022 03:19: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 1n8ZbE-0003T0-NE; Sat, 15 Jan 2022 03:19:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n8ZbE-0008CQ-Mn; Sat, 15 Jan 2022 03:19:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=YAFwD2Zki97cEaaqSThsHc0hjHcA0rhs7HUUYMOxfac=; b=2LL+zhvfN/5otJAeWUiSLKZftd
	DIEhQlZi4ln/1Ve/7OflLQ3jAiLeP+f5lLT+h9fGadWgJ2iOnbX2/TBDY9sO+xvUh4U1nMU+Z0+8F
	cVONTVyrkr/gs3EItUHAPY6b3mAaSANVXDW4fL3lVhUnVXXoLJVjzQLBKQaKrOlCgJy4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167700-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167700: 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-qcow2:saverestore-support-check: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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-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: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-qcow2: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=0b3f07ebf2954d28debd7493fef551152e08875b
X-Osstest-Versions-That:
    qemuu=67b6526cf042f22521feff5ea521a05d3dd2bf8f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 15 Jan 2022 03:19:28 +0000

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

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 167697
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167697
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167697
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167697
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167697
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167697
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167697
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167697
 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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-xl-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-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                0b3f07ebf2954d28debd7493fef551152e08875b
baseline version:
 qemuu                67b6526cf042f22521feff5ea521a05d3dd2bf8f

Last test of basis   167697  2022-01-14 11:08:04 Z    0 days
Testing same since   167700  2022-01-14 19:38:15 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Daniel P. Berrangé <berrange@redhat.com>
  Dario Binacchi <dario.binacchi@amarulasolutions.com>
  Dmitry Petrov <dpetroff@gmail.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Lei Rao <lei.rao@intel.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Michael Trimarchi <michael@amarulasolutions.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <f4bug@amsat.org>
  Rao Lei <lei.rao@intel.com>
  Satyeshwar Singh <satyeshwar.singh@intel.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Volker Rümelin <vr_qemu@t-online.de>
  zhenwei pi <pizhenwei@bytedance.com>

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


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

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   67b6526cf0..0b3f07ebf2  0b3f07ebf2954d28debd7493fef551152e08875b -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Sat Jan 15 07:54:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 15 Jan 2022 07:54:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257709.442978 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8dt4-0000yy-9v; Sat, 15 Jan 2022 07:54:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257709.442978; Sat, 15 Jan 2022 07:54:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8dt4-0000yr-6T; Sat, 15 Jan 2022 07:54:10 +0000
Received: by outflank-mailman (input) for mailman id 257709;
 Sat, 15 Jan 2022 07:54: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 1n8dt2-0000yf-Rd; Sat, 15 Jan 2022 07:54: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 1n8dt2-0006oB-P8; Sat, 15 Jan 2022 07:54: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 1n8dt2-0007PE-87; Sat, 15 Jan 2022 07:54:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n8dt2-0001mV-7j; Sat, 15 Jan 2022 07:54:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=JribTl/NT5djJ1rp+J/Ebs8WaiuH51TDYCL+mLsdusk=; b=jmhjHpc7+2YXQiQtmESbDhSE3k
	27NQ0Hj3fWt1h7ZN51oFwzEygzEhsrwCooNYwfFEW3csaG9cehqyQdJefcSYFAzMnetIJkPgBVwzK
	DNEzbAb2VHak7mOtzvgSWBqkXj1CZd/4KGgMzghM/evyfMM0AaGFDmTfHyOwvQr5DYVw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167703-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 167703: regressions - FAIL
X-Osstest-Failures:
    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:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=6076ca7a0338c01e50f19b03ddc81d312642ecdf
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 15 Jan 2022 07:54:08 +0000

flight 167703 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167703/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              6076ca7a0338c01e50f19b03ddc81d312642ecdf
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  554 days
Failing since        151818  2020-07-11 04:18:52 Z  553 days  535 attempts
Testing same since   167703  2022-01-15 04:20:11 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>
  Ani Sinha <ani@anisinha.ca>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  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>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  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>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  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>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  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 Chevsky <nchevsky@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>
  Or Ozeri <oro@il.ibm.com>
  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>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott 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>
  Stefan Hajnoczi <stefanha@redhat.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>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Дамјан Георгиевски <gdamjan@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 92466 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Jan 15 10:08:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 15 Jan 2022 10:08:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257723.442989 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8fyZ-0006ag-KI; Sat, 15 Jan 2022 10:07:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257723.442989; Sat, 15 Jan 2022 10: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 1n8fyZ-0006aZ-Gi; Sat, 15 Jan 2022 10:07:59 +0000
Received: by outflank-mailman (input) for mailman id 257723;
 Sat, 15 Jan 2022 10:07: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 1n8fyY-0006aP-GB; Sat, 15 Jan 2022 10:07: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 1n8fyY-0001DW-8m; Sat, 15 Jan 2022 10:07: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 1n8fyX-0003Mx-VS; Sat, 15 Jan 2022 10:07:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n8fyX-0006Q3-Uy; Sat, 15 Jan 2022 10:07:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=hRzYfjHvHZ7sz2y7g26DfmgCQYRQPIkWtgzvkCpIn4k=; b=WI3xId2ZLBGd2LZZh3fqcZijc3
	EnWZHxAUZjv8TKn/H+SDFELu01OCAw2WKdvxOIB0T5K+ahpu/iqFHM1zRX9InNsC2ZyXBe0CS+JJk
	sZVajHOb9Z0lgs8rc0SjVrYionH1QliAutlySCAZc2rrMFf8c47k2KRWhG2D48qhvlw8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167702-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167702: 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-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-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-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-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f
X-Osstest-Versions-That:
    xen=9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 15 Jan 2022 10:07:57 +0000

flight 167702 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167702/

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 167695
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167695
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167695
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167695
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 167695
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167695
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167695
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167695
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167695
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167695
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167695
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167695
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167695
 test-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-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-thunderx 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-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f
baseline version:
 xen                  9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f

Last test of basis   167702  2022-01-15 01:53:07 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Sat Jan 15 10:31:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 15 Jan 2022 10:31:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257731.442999 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8gLU-0001Zi-Og; Sat, 15 Jan 2022 10:31:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257731.442999; Sat, 15 Jan 2022 10:31:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8gLU-0001Zb-Lm; Sat, 15 Jan 2022 10:31:40 +0000
Received: by outflank-mailman (input) for mailman id 257731;
 Sat, 15 Jan 2022 10:31: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 1n8gLS-0001ZK-IK; Sat, 15 Jan 2022 10:31: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 1n8gLS-0001bn-Fh; Sat, 15 Jan 2022 10:31: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 1n8gLS-0003sk-2S; Sat, 15 Jan 2022 10:31:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n8gLS-0006kh-22; Sat, 15 Jan 2022 10:31:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=5ciYbRHYo47JS2OLb6N3610Kp4o01pql+EwBF7hnwcQ=; b=FMrOL1zRbjUUoENapdDer2yDld
	ejeqgWZHhKdXMDCkOFtw2ju8U8CsYVq9C+q86RuWqj0+LduwRo7APKyylHdm6Mw4kWWfXiymxlsAd
	SWqRzpLBtYhkPX5GGgjgF+eBKoY5eHHwLYxQXI9JLJHCrBMnkcf/RnIkTiFeluaqMQ4M=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167701-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167701: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl: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-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-qcow2:saverestore-support-check: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:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=112450df61b7373529b0fe4c122ad13b89d80a8a
X-Osstest-Versions-That:
    linux=455e73a07f6e288b0061dfcf4fcf54fa9fe06458
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 15 Jan 2022 10:31:38 +0000

flight 167701 linux-linus real [real]
flight 167704 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/167701/
http://logs.test-lab.xenproject.org/osstest/logs/167704/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 167684
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 167684
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 167684
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 167684
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 167684
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 167684

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167684
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167684
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167684
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167684
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167684
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167684
 test-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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                112450df61b7373529b0fe4c122ad13b89d80a8a
baseline version:
 linux                455e73a07f6e288b0061dfcf4fcf54fa9fe06458

Last test of basis   167684  2022-01-13 07:47:42 Z    2 days
Failing since        167693  2022-01-13 22:41:04 Z    1 days    3 attempts
Testing same since   167701  2022-01-14 21:12:39 Z    0 days    1 attempts

------------------------------------------------------------
401 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          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                                fail    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 30585 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Jan 15 19:29:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 15 Jan 2022 19:29:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257750.443011 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8ojQ-00020G-BV; Sat, 15 Jan 2022 19:28:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257750.443011; Sat, 15 Jan 2022 19:28:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8ojQ-000209-6Z; Sat, 15 Jan 2022 19:28:56 +0000
Received: by outflank-mailman (input) for mailman id 257750;
 Sat, 15 Jan 2022 19:28:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n8ojO-0001zz-Oi; Sat, 15 Jan 2022 19:28:54 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n8ojO-0002jG-M5; Sat, 15 Jan 2022 19:28:54 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n8ojO-0008GF-CW; Sat, 15 Jan 2022 19:28:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n8ojO-0001Gs-C5; Sat, 15 Jan 2022 19:28:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ccAqsxS3TpGTtZDoMwlcevxASbSI3naNAoQ1Q+S459U=; b=W+Sfocl3+dDUh9yXHlMyJbyxqO
	04eieBxQ0gT+/ZhRjtgRbCKlvGsSpS8JoSKLJBIp5lzI53UMvCaTu7nJkPG9urmz4YsKPr28b6HTp
	gAY8RaWKEUoOnj9H7fM41QAyvEQoalhFAHI4UfGwlroqOwSgSob1X/Ea1XWdj5vGtQYk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167706-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167706: 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-qcow2:saverestore-support-check: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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-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: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-qcow2: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=1cd2ad11d37c48f284f557954e1df675b126264c
X-Osstest-Versions-That:
    qemuu=0b3f07ebf2954d28debd7493fef551152e08875b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 15 Jan 2022 19:28:54 +0000

flight 167706 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167706/

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 167700
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167700
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167700
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167700
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167700
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167700
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167700
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167700
 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-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-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-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                1cd2ad11d37c48f284f557954e1df675b126264c
baseline version:
 qemuu                0b3f07ebf2954d28debd7493fef551152e08875b

Last test of basis   167700  2022-01-14 19:38:15 Z    0 days
Testing same since   167706  2022-01-15 13:08:28 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Daniel P. Berrangé <berrange@redhat.com>
  Emanuele Giuseppe Esposito <eesposit@redhat.com>
  Hanna Reitz <hreitz@redhat.com>
  Ján Tomko <jtomko@redhat.com>
  Kevin Wolf <kwolf@redhat.com>
  Peter Lieven <pl@kamp.de>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <f4bug@amsat.org>
  Philippe Mathieu-Daudé <philmd@redhat.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   0b3f07ebf2..1cd2ad11d3  1cd2ad11d37c48f284f557954e1df675b126264c -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Sat Jan 15 22:28:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 15 Jan 2022 22:28:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257760.443022 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8rWR-00021D-DE; Sat, 15 Jan 2022 22:27:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257760.443022; Sat, 15 Jan 2022 22:27:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8rWR-000216-9b; Sat, 15 Jan 2022 22:27:43 +0000
Received: by outflank-mailman (input) for mailman id 257760;
 Sat, 15 Jan 2022 22:27: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 1n8rWP-00020w-U9; Sat, 15 Jan 2022 22:27: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 1n8rWP-0005sU-SI; Sat, 15 Jan 2022 22:27: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 1n8rWP-0003hk-Fx; Sat, 15 Jan 2022 22:27:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n8rWP-0005nw-FU; Sat, 15 Jan 2022 22:27:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=n7ojWi7ndjy1/lVQ8nmSpypL94bh3k2UXVkPZTagfJk=; b=v8TlUqbORSmt2hn5F/SD7SQAgX
	8amvLFuJUgsDCFMmQqxHjFcIktTDfaeDRKUiO79Rgrruhc/Aq6Da7zASAIoNOV7g1EQZURTQD1QcZ
	g9FhZd/1R3dQXfkpO1AqOcDthPgi3tsMM084PIL4+v08L1OxvlGyF99iisnKKR5UQS+8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167705-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167705: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start/freebsd.repeat: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-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-qcow2:saverestore-support-check: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:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=a33f5c380c4bd3fa5278d690421b72052456d9fe
X-Osstest-Versions-That:
    linux=455e73a07f6e288b0061dfcf4fcf54fa9fe06458
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 15 Jan 2022 22:27:41 +0000

flight 167705 linux-linus real [real]
flight 167707 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/167705/
http://logs.test-lab.xenproject.org/osstest/logs/167707/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 167684
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 167684
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 167684
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 167684
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 167684
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 167684

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-freebsd11-amd64 21 guest-start/freebsd.repeat fail pass in 167707-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167684
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167684
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167684
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167684
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167684
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167684
 test-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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                a33f5c380c4bd3fa5278d690421b72052456d9fe
baseline version:
 linux                455e73a07f6e288b0061dfcf4fcf54fa9fe06458

Last test of basis   167684  2022-01-13 07:47:42 Z    2 days
Failing since        167693  2022-01-13 22:41:04 Z    1 days    4 attempts
Testing same since   167705  2022-01-15 10:35:24 Z    0 days    1 attempts

------------------------------------------------------------
402 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                                fail    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 30666 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Jan 16 06:46:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 06:46:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257778.443071 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8zII-0000fM-26; Sun, 16 Jan 2022 06:45:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257778.443071; Sun, 16 Jan 2022 06:45:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8zIH-0000fF-Sr; Sun, 16 Jan 2022 06:45:37 +0000
Received: by outflank-mailman (input) for mailman id 257778;
 Sun, 16 Jan 2022 06:45:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=APY9=SA=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n8zIF-0008SH-TN
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 06:45:36 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e585290c-7697-11ec-a115-11989b9578b4;
 Sun, 16 Jan 2022 07:45:32 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 50CC41F45F;
 Sun, 16 Jan 2022 06:45:30 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 26CC413350;
 Sun, 16 Jan 2022 06:45:30 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id YGkkCAq/42H0eQAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 16 Jan 2022 06:45:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e585290c-7697-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642315530; h=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=ETpovp+31TFjCpvLCv0O3rPi8bZ/B9q/oQBK6QgCQZw=;
	b=UiJJ71mN31xttAy/iMQhq68XNaZdnpgNvD0TzGtyyO2EIE3iPFXgib1W9+yJWPQSQ/oQox
	I2FJmPbZOOf+bLTHJVTQD9uDVdJQ6lX8BX0dKtncWtSZhebT+NAAs/JbZfgarwrp0xR/6Z
	8RvYqQpo/1FF0GFIjzA0ytbkppLHLfk=
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: [MINIOS PATCH v3 3/5] remove file type FTYPE_XC
Date: Sun, 16 Jan 2022 07:45:25 +0100
Message-Id: <20220116064527.23519-4-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220116064527.23519-1-jgross@suse.com>
References: <20220116064527.23519-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The only reason for the file type FTYPE_XC has been gone long time
ago: it was needed for xc_map_foreign_bulk(), which has been switched
to use libxenforeignmemory and doesn't need this special file any
more.

So remove everything related to FTYPE_XC.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
V3:
- moved patch in series (Andrew Cooper)
---
 Config.mk                     |  1 -
 arch/x86/testbuild/all-no     |  1 -
 arch/x86/testbuild/all-yes    |  1 -
 arch/x86/testbuild/newxen-yes |  1 -
 include/lib.h                 |  1 -
 lib/sys.c                     | 13 -------------
 6 files changed, 18 deletions(-)

diff --git a/Config.mk b/Config.mk
index 5e660891..1e083881 100644
--- a/Config.mk
+++ b/Config.mk
@@ -197,7 +197,6 @@ CONFIG-n += CONFIG_PARAVIRT
 endif
 # Support legacy CONFIG_XC value
 CONFIG_XC ?= $(libc)
-CONFIG-$(CONFIG_XC) += CONFIG_LIBXENCTRL
 CONFIG-$(CONFIG_XC) += CONFIG_LIBXENEVTCHN
 CONFIG-$(CONFIG_XC) += CONFIG_LIBXENGNTTAB
 
diff --git a/arch/x86/testbuild/all-no b/arch/x86/testbuild/all-no
index 7972ecd5..d6fc2608 100644
--- a/arch/x86/testbuild/all-no
+++ b/arch/x86/testbuild/all-no
@@ -13,7 +13,6 @@ CONFIG_FBFRONT = n
 CONFIG_KBDFRONT = n
 CONFIG_CONSFRONT = n
 CONFIG_XENBUS = n
-CONFIG_LIBXENCTRL = n
 CONFIG_LIBXENEVTCHN = n
 CONFIG_LIBXENGNTTAB = n
 CONFIG_LWIP = n
diff --git a/arch/x86/testbuild/all-yes b/arch/x86/testbuild/all-yes
index bc8eea57..98bbfebf 100644
--- a/arch/x86/testbuild/all-yes
+++ b/arch/x86/testbuild/all-yes
@@ -16,7 +16,6 @@ CONFIG_XENBUS = y
 CONFIG_BALLOON = y
 CONFIG_USE_XEN_CONSOLE = y
 # The following are special: they need support from outside
-CONFIG_LIBXENCTRL = n
 CONFIG_LIBXENEVTCHN = n
 CONFIG_LIBXENGNTTAB = n
 CONFIG_LWIP = n
diff --git a/arch/x86/testbuild/newxen-yes b/arch/x86/testbuild/newxen-yes
index f72123b5..06032004 100644
--- a/arch/x86/testbuild/newxen-yes
+++ b/arch/x86/testbuild/newxen-yes
@@ -17,7 +17,6 @@ CONFIG_BALLOON = y
 CONFIG_USE_XEN_CONSOLE = y
 XEN_INTERFACE_VERSION=__XEN_LATEST_INTERFACE_VERSION__
 # The following are special: they need support from outside
-CONFIG_LIBXENCTRL = n
 CONFIG_LIBXENEVTCHN = n
 CONFIG_LIBXENGNTTAB = n
 CONFIG_LWIP = n
diff --git a/include/lib.h b/include/lib.h
index 7a0546bd..7ca90768 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -159,7 +159,6 @@ enum fd_type {
     FTYPE_CONSOLE,
     FTYPE_FILE,
     FTYPE_XENBUS,
-    FTYPE_XC,
     FTYPE_EVTCHN,
     FTYPE_GNTMAP,
     FTYPE_SOCKET,
diff --git a/lib/sys.c b/lib/sys.c
index 7df77cc6..a24687b7 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -87,7 +87,6 @@
     }
 
 #define NOFILE 32
-extern void minios_interface_close_fd(int fd);
 extern void minios_evtchn_close_fd(int fd);
 extern void minios_gnttab_close_fd(int fd);
 
@@ -443,11 +442,6 @@ int close(int fd)
             res = lwip_close(files[fd].fd);
             break;
 #endif
-#ifdef CONFIG_LIBXENCTRL
-	case FTYPE_XC:
-	    minios_interface_close_fd(fd);
-            break;
-#endif
 #ifdef CONFIG_LIBXENEVTCHN
 	case FTYPE_EVTCHN:
 	    minios_evtchn_close_fd(fd);
@@ -651,7 +645,6 @@ static const char file_types[] = {
     [FTYPE_NONE]	= 'N',
     [FTYPE_CONSOLE]	= 'C',
     [FTYPE_XENBUS]	= 'S',
-    [FTYPE_XC]		= 'X',
     [FTYPE_EVTCHN]	= 'E',
     [FTYPE_SOCKET]	= 's',
     [FTYPE_TAP]		= 'T',
@@ -1383,12 +1376,6 @@ void *mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset
 
     if (fd == -1)
         return map_zero(n, 1);
-#ifdef CONFIG_LIBXENCTRL
-    else if (files[fd].type == FTYPE_XC) {
-        unsigned long zero = 0;
-        return map_frames_ex(&zero, n, 0, 0, 1, DOMID_SELF, NULL, 0);
-    }
-#endif
     else if (files[fd].type == FTYPE_MEM) {
         unsigned long first_mfn = offset >> PAGE_SHIFT;
         return map_frames_ex(&first_mfn, n, 0, 1, 1, DOMID_IO, NULL, _PAGE_PRESENT|_PAGE_RW);
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Sun Jan 16 06:46:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 06:46:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257779.443076 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8zII-0000i3-Ec; Sun, 16 Jan 2022 06:45:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257779.443076; Sun, 16 Jan 2022 06:45:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8zII-0000gS-5B; Sun, 16 Jan 2022 06:45:38 +0000
Received: by outflank-mailman (input) for mailman id 257779;
 Sun, 16 Jan 2022 06:45:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=APY9=SA=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n8zIG-0008SI-4H
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 06:45:36 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e55a9af7-7697-11ec-9bbc-9dff3e4ee8c5;
 Sun, 16 Jan 2022 07:45:32 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id BCE8C212BD;
 Sun, 16 Jan 2022 06:45:29 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 8898E13350;
 Sun, 16 Jan 2022 06:45:29 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id mnpkHwm/42H0eQAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 16 Jan 2022 06:45:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e55a9af7-7697-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642315529; h=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=fEaIPFQ9C+0YacrD1yDplQpHXBb+arhcA+WHK9zKCzQ=;
	b=Pxv+tid21+U/5LIolLklPGhe73TaxiXEua1D8g5Ii4wNEWRWRIOWLziyRRD/strMXVyu1z
	vjKNf0GKV7RR/Fg/pHzyWs8rZQVnrCJdiG6csvOcHqT1oODUw+uw5A4YUX+GOEvjsccRdM
	G4hwzqBERnmda6JTfjm9dmqWxd3Pgx4=
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: [MINIOS PATCH v3 0/5] mini-os: remove struct file dependency on config
Date: Sun, 16 Jan 2022 07:45:22 +0100
Message-Id: <20220116064527.23519-1-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Today the layout of struct file is depending on the Mini-OS
configuration. This is especially bad as the layout is exported to
external users like the Xen libraries built for Mini-OS, and those
are being built only once for multiple stubdom configurations.

Today there is no direct problem resulting from this, as the main
difference between struct file layouts is a large union containing all
the device specific data for the different file types. The largest
union member is not configuration dependant, so the build is currently
not broken.

In order to avoid any future problems this patch series is eliminating
the configuration dependency by replacing most of the device specific
union members by a single pointer.

The two union members used by Xen libraries can't be replaced yet, as
those need to be switched to use the generic pointer first.

In order to hide the Mini-OS internal implementation of the files
array, patches 1, 2, and  4 are introducing a common framework to
access a struct file via its file descriptor, and to allocate new file
types dynamically instead of having them all pre-defined. The file type
specific operations are supplied via a function vector in order to
remove the dependency of lib/sys.c on all the various file types.

Patch 5 is preparing a possible future support of libxenstore instead
of using the Mini-OS internal variant located in lib/xs.c.

Changes in v3:
- first 14 patches already applied
- added patch 5

Changes in V2:
- added 3 more patches

Juergen Gross (5):
  introduce get_file_from_fd()
  reset file type in close() in one place only
  remove file type FTYPE_XC
  use function vectors instead of switch for file operations
  add CONFIG_LIBXS item

 Config.mk                     |  11 +-
 Makefile                      |   2 +-
 arch/x86/testbuild/all-no     |   2 +-
 arch/x86/testbuild/all-yes    |   2 +-
 arch/x86/testbuild/newxen-yes |   2 +-
 include/lib.h                 |  59 ++++--
 lib/sys.c                     | 345 ++++++++++++++++++++++++++--------
 lib/xs.c                      |   1 -
 8 files changed, 313 insertions(+), 111 deletions(-)

-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Sun Jan 16 06:46:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 06:46:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257775.443044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8zIF-00006f-Kv; Sun, 16 Jan 2022 06:45:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257775.443044; Sun, 16 Jan 2022 06:45:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8zIF-00005S-Gm; Sun, 16 Jan 2022 06:45:35 +0000
Received: by outflank-mailman (input) for mailman id 257775;
 Sun, 16 Jan 2022 06:45:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=APY9=SA=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n8zIE-0008SI-9T
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 06:45:34 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e55a6a37-7697-11ec-9bbc-9dff3e4ee8c5;
 Sun, 16 Jan 2022 07:45:32 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id F02511F3AF;
 Sun, 16 Jan 2022 06:45:29 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id BA9E013ABD;
 Sun, 16 Jan 2022 06:45:29 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id gKtILAm/42H0eQAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 16 Jan 2022 06:45:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e55a6a37-7697-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642315529; h=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=3GoDjpDXFuZrudyOquKeoDi2JAufp1li+iMTg9O8+0U=;
	b=LOLd7RxCvyVRaao+x4dTavf06lBa9kyEh5im5XCdUCSuA+4oMDHyguqmMrkp+9SoR7N1ny
	EgXotHgErhIXkGwLLlK6Bf66WGUiAbXKimysZhqnLadPjC/9te7GatmnAuW2clV8LHOfQ+
	inm1PXlURZyxTEfMN3BUJki/amJ8Ur4=
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: [MINIOS PATCH v3 1/5] introduce get_file_from_fd()
Date: Sun, 16 Jan 2022 07:45:23 +0100
Message-Id: <20220116064527.23519-2-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220116064527.23519-1-jgross@suse.com>
References: <20220116064527.23519-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Exporting the files[] array especially for components outside the
mini-os source tree is limiting the ability to change any file handling
in mini-os.

Introduce a new function get_file_from_fd() to return the struct file
pointer (or NULL) for a given file descriptor.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
V3:
- use ARRAY_SIZE() for boundary check (Andrew Cooper)
---
 include/lib.h | 1 +
 lib/sys.c     | 8 ++++++++
 2 files changed, 9 insertions(+)

diff --git a/include/lib.h b/include/lib.h
index 91364ba7..7a0546bd 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -198,6 +198,7 @@ struct file {
 
 extern struct file files[];
 
+struct file *get_file_from_fd(int fd);
 int alloc_fd(enum fd_type type);
 void close_all_files(void);
 extern struct thread *main_thread;
diff --git a/lib/sys.c b/lib/sys.c
index 6f2b026d..9a03875c 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -98,6 +98,14 @@ struct file files[NOFILE] = {
     { .type = FTYPE_CONSOLE }, /* stderr */
 };
 
+struct file *get_file_from_fd(int fd)
+{
+    if ( fd < 0 || fd >= ARRAY_SIZE(files) )
+        return NULL;
+
+    return (files[fd].type == FTYPE_NONE) ? NULL : files + fd;
+}
+
 DECLARE_WAIT_QUEUE_HEAD(event_queue);
 
 int alloc_fd(enum fd_type type)
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Sun Jan 16 06:46:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 06:46:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257774.443041 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8zIF-00005O-G9; Sun, 16 Jan 2022 06:45:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257774.443041; Sun, 16 Jan 2022 06:45:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8zIF-00004q-8a; Sun, 16 Jan 2022 06:45:35 +0000
Received: by outflank-mailman (input) for mailman id 257774;
 Sun, 16 Jan 2022 06:45:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=APY9=SA=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n8zIE-0008SH-0d
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 06:45:34 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e56722e7-7697-11ec-a115-11989b9578b4;
 Sun, 16 Jan 2022 07:45:32 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 2085E1F3B2;
 Sun, 16 Jan 2022 06:45:30 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id EABF313350;
 Sun, 16 Jan 2022 06:45:29 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 8BQdOAm/42H0eQAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 16 Jan 2022 06:45:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e56722e7-7697-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642315530; h=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=7gNDOfInVfcNlQrXw2pw9v+H3MpjcRV3L7PS0stFBOo=;
	b=Gq18xKWfycegxkOc2K08BzGK4gxRqZRSeaKgjvUjTDmZJSEaYFFdNxPROi6msHdvphQ/kY
	OChWev3wte86QRL8c4LInH5R/HDNveeIlTzGJrTGbrHUDoS8uGs0lr5/IczUhyoV/N8P3I
	vBSB+0fqlXd/qp+S6fLBklbsEaH7UzY=
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: [MINIOS PATCH v3 2/5] reset file type in close() in one place only
Date: Sun, 16 Jan 2022 07:45:24 +0100
Message-Id: <20220116064527.23519-3-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220116064527.23519-1-jgross@suse.com>
References: <20220116064527.23519-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Today the file type in struct file is set to FTYPE_NONE for each
file type individually. Do that at the end of close() handling for
all types.

While at it wipe the complete struct file, too, in order to avoid
old data creeping into a new allocated struct file.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
V3:
- add error handling (Andrew Cooper)
- use BUILD_BUG_ON() (Andrew Cooper)
---
 lib/sys.c | 56 ++++++++++++++++++++++++++++---------------------------
 lib/xs.c  |  1 -
 2 files changed, 29 insertions(+), 28 deletions(-)

diff --git a/lib/sys.c b/lib/sys.c
index 9a03875c..7df77cc6 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -265,7 +265,7 @@ int read(int fd, void *buf, size_t nbytes)
             return ret;
         }
 #ifdef HAVE_LWIP
-	case FTYPE_SOCKET:
+        case FTYPE_SOCKET:
 	    return lwip_read(files[fd].fd, buf, nbytes);
 #endif
 #ifdef CONFIG_NETFRONT
@@ -424,84 +424,86 @@ int fsync(int fd) {
 
 int close(int fd)
 {
+    int res = 0;
+
+    if ( fd < 0 || fd >= ARRAY_SIZE(files) )
+        goto error;
+
     printk("close(%d)\n", fd);
     switch (files[fd].type) {
         default:
-	    files[fd].type = FTYPE_NONE;
-	    return 0;
+            break;
 #ifdef CONFIG_XENBUS
 	case FTYPE_XENBUS:
             xs_daemon_close((void*)(intptr_t) fd);
-            return 0;
+            break;
 #endif
 #ifdef HAVE_LWIP
-	case FTYPE_SOCKET: {
-	    int res = lwip_close(files[fd].fd);
-	    files[fd].type = FTYPE_NONE;
-	    return res;
-	}
+	case FTYPE_SOCKET:
+            res = lwip_close(files[fd].fd);
+            break;
 #endif
 #ifdef CONFIG_LIBXENCTRL
 	case FTYPE_XC:
 	    minios_interface_close_fd(fd);
-	    return 0;
+            break;
 #endif
 #ifdef CONFIG_LIBXENEVTCHN
 	case FTYPE_EVTCHN:
 	    minios_evtchn_close_fd(fd);
-            return 0;
+            break;
 #endif
 #ifdef CONFIG_LIBXENGNTTAB
 	case FTYPE_GNTMAP:
 	    minios_gnttab_close_fd(fd);
-	    return 0;
+            break;
 #endif
 #ifdef CONFIG_NETFRONT
 	case FTYPE_TAP:
 	    shutdown_netfront(files[fd].dev);
-	    files[fd].type = FTYPE_NONE;
-	    return 0;
+            break;
 #endif
 #ifdef CONFIG_BLKFRONT
 	case FTYPE_BLK:
             shutdown_blkfront(files[fd].dev);
-	    files[fd].type = FTYPE_NONE;
-	    return 0;
+            break;
 #endif
 #ifdef CONFIG_TPMFRONT
 	case FTYPE_TPMFRONT:
             shutdown_tpmfront(files[fd].dev);
-	    files[fd].type = FTYPE_NONE;
-	    return 0;
+            break;
 #endif
 #ifdef CONFIG_TPM_TIS
 	case FTYPE_TPM_TIS:
             shutdown_tpm_tis(files[fd].dev);
-	    files[fd].type = FTYPE_NONE;
-	    return 0;
+            break;
 #endif
 #ifdef CONFIG_KBDFRONT
 	case FTYPE_KBD:
             shutdown_kbdfront(files[fd].dev);
-            files[fd].type = FTYPE_NONE;
-            return 0;
+            break;
 #endif
 #ifdef CONFIG_FBFRONT
 	case FTYPE_FB:
             shutdown_fbfront(files[fd].dev);
-            files[fd].type = FTYPE_NONE;
-            return 0;
+            break;
 #endif
 #ifdef CONFIG_CONSFRONT
         case FTYPE_SAVEFILE:
         case FTYPE_CONSOLE:
             fini_consfront(files[fd].dev);
-            files[fd].type = FTYPE_NONE;
-            return 0;
+            break;
 #endif
 	case FTYPE_NONE:
-	    break;
+            goto error;
     }
+
+    memset(files + fd, 0, sizeof(struct file));
+    BUILD_BUG_ON(FTYPE_NONE != 0);
+
+    return res;
+
+ error:
     printk("close(%d): Bad descriptor\n", fd);
     errno = EBADF;
     return -1;
diff --git a/lib/xs.c b/lib/xs.c
index 0459f52f..4af0f960 100644
--- a/lib/xs.c
+++ b/lib/xs.c
@@ -35,7 +35,6 @@ void xs_daemon_close(struct xs_handle *h)
         next = event->next;
         free(event);
     }
-    files[fd].type = FTYPE_NONE;
 }
 
 int xs_fileno(struct xs_handle *h)
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Sun Jan 16 06:46:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 06:46:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257782.443107 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8zIL-0001WY-KY; Sun, 16 Jan 2022 06:45:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257782.443107; Sun, 16 Jan 2022 06:45:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8zIL-0001VS-Dn; Sun, 16 Jan 2022 06:45:41 +0000
Received: by outflank-mailman (input) for mailman id 257782;
 Sun, 16 Jan 2022 06:45:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=APY9=SA=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n8zIJ-0008SI-4n
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 06:45:39 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e5a49238-7697-11ec-9bbc-9dff3e4ee8c5;
 Sun, 16 Jan 2022 07:45:32 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 86B7F219C7;
 Sun, 16 Jan 2022 06:45:30 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 57CAB13350;
 Sun, 16 Jan 2022 06:45:30 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id qB8QFAq/42H0eQAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 16 Jan 2022 06:45:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e5a49238-7697-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642315530; h=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=SkNjxyCrVquhfa9HVdl9OpDQbBK9fSye710YsOCgA5k=;
	b=byi+k86lKAlwts0BB/kn4fLt+/fUfhHyXnjWpmb29k86L6d3Wzq7iFCUOZMhp4HIfN68yF
	EVYMu+uQl+/iNqzSM3xIm1YM5YeV1YXvpa1/0QNCjoBurhvksv9w2s4txmrLcHjdIIU4np
	thDFnRVXY0ql92+APK8/YV5uN9B/JuI=
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: [MINIOS PATCH v3 4/5] use function vectors instead of switch for file operations
Date: Sun, 16 Jan 2022 07:45:26 +0100
Message-Id: <20220116064527.23519-5-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220116064527.23519-1-jgross@suse.com>
References: <20220116064527.23519-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce file type specific function vectors for all the needed file
operations which are file type specific in order to prepare replacing
the large switch statements in each generic file function.

Add a function to allocate a new file type dynamically in order to
prepare removing direct dependencies to external components in the
future. For this reason switch the file type from an enum to an
unsigned int. Prepare removal of some statically defines file types
by putting them at the end of the defined list.

Change the debug output for the file type from a single character to
a string in order to support a future removal of the file_types[]
array.

Provide some functions useful for file_ops in future patches.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
V3:
- drop typedefs for callbacks (Andrew Cooper)
- const (Andrew Cooper)
- drop loop from alloc_file_type() (Andrew Cooper)
- switch to struct file * as first parameter of callbacks (Andrew Cooper)
---
 include/lib.h |  57 +++++++----
 lib/sys.c     | 268 ++++++++++++++++++++++++++++++++++++++++++--------
 2 files changed, 263 insertions(+), 62 deletions(-)

diff --git a/include/lib.h b/include/lib.h
index 7ca90768..44696806 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -66,6 +66,7 @@
 
 #ifdef HAVE_LIBC
 #include <sys/queue.h>
+#include <sys/stat.h>
 #include <stdio.h>
 #include <string.h>
 #else
@@ -154,23 +155,23 @@ do {                                                           \
 void sanity_check(void);
 
 #ifdef HAVE_LIBC
-enum fd_type {
-    FTYPE_NONE = 0,
-    FTYPE_CONSOLE,
-    FTYPE_FILE,
-    FTYPE_XENBUS,
-    FTYPE_EVTCHN,
-    FTYPE_GNTMAP,
-    FTYPE_SOCKET,
-    FTYPE_TAP,
-    FTYPE_BLK,
-    FTYPE_KBD,
-    FTYPE_FB,
-    FTYPE_MEM,
-    FTYPE_SAVEFILE,
-    FTYPE_TPMFRONT,
-    FTYPE_TPM_TIS,
-};
+#define FTYPE_NONE       0
+#define FTYPE_CONSOLE    1
+#define FTYPE_FILE       2
+#define FTYPE_SOCKET     3
+#define FTYPE_MEM        4
+#define FTYPE_SAVEFILE   5
+#define FTYPE_FB         6
+#define FTYPE_KBD        7
+#define FTYPE_TAP        8
+#define FTYPE_BLK        9
+#define FTYPE_TPMFRONT  10
+#define FTYPE_TPM_TIS   11
+#define FTYPE_XENBUS    12
+#define FTYPE_GNTMAP    13
+#define FTYPE_EVTCHN    14
+#define FTYPE_N         15
+#define FTYPE_SPARE     16
 
 LIST_HEAD(evtchn_port_list, evtchn_port_info);
 
@@ -182,7 +183,7 @@ struct evtchn_port_info {
 };
 
 struct file {
-    enum fd_type type;
+    unsigned int type;
     bool read;	/* maybe available for read */
     off_t offset;
     union {
@@ -197,8 +198,26 @@ struct file {
 
 extern struct file files[];
 
+struct file_ops {
+    const char *name;
+    int (*read)(struct file *file, void *buf, size_t nbytes);
+    int (*write)(struct file *file, const void *buf, size_t nbytes);
+    off_t (*lseek)(struct file *file, off_t offset, int whence);
+    int (*close)(struct file *file);
+    int (*fstat)(struct file *file, struct stat *buf);
+    int (*fcntl)(struct file *file, int cmd, va_list args);
+    bool (*select_rd)(struct file *file);
+    bool (*select_wr)(struct file *file);
+};
+
+unsigned int alloc_file_type(const struct file_ops *ops);
+
+off_t lseek_default(struct file *file, off_t offset, int whence);
+bool select_yes(struct file *file);
+bool select_read_flag(struct file *file);
+
 struct file *get_file_from_fd(int fd);
-int alloc_fd(enum fd_type type);
+int alloc_fd(unsigned int type);
 void close_all_files(void);
 extern struct thread *main_thread;
 void sparse(unsigned long data, size_t size);
diff --git a/lib/sys.c b/lib/sys.c
index a24687b7..7be01fd3 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -97,6 +97,40 @@ struct file files[NOFILE] = {
     { .type = FTYPE_CONSOLE }, /* stderr */
 };
 
+static const struct file_ops file_ops_none = {
+    .name = "none",
+};
+
+static const struct file_ops *file_ops[FTYPE_N + FTYPE_SPARE] = {
+    [FTYPE_NONE] = &file_ops_none,
+};
+
+unsigned int alloc_file_type(const struct file_ops *ops)
+{
+    static unsigned int i = FTYPE_N;
+    unsigned int ret;
+
+    pthread_mutex_lock(&fd_lock);
+
+    BUG_ON(i == ARRAY_SIZE(file_ops));
+    ret = i++;
+    file_ops[ret] = ops;
+
+    pthread_mutex_unlock(&fd_lock);
+
+    printk("New file type \"%s\"(%u) allocated\n", ops->name, ret);
+
+    return ret;
+}
+
+static const struct file_ops *get_file_ops(unsigned int type)
+{
+    if ( type >= ARRAY_SIZE(file_ops) || !file_ops[type] )
+        return &file_ops_none;
+
+    return file_ops[type];
+}
+
 struct file *get_file_from_fd(int fd)
 {
     if ( fd < 0 || fd >= ARRAY_SIZE(files) )
@@ -107,7 +141,7 @@ struct file *get_file_from_fd(int fd)
 
 DECLARE_WAIT_QUEUE_HEAD(event_queue);
 
-int alloc_fd(enum fd_type type)
+int alloc_fd(unsigned int type)
 {
     int i;
     pthread_mutex_lock(&fd_lock);
@@ -248,7 +282,17 @@ int isatty(int fd)
 
 int read(int fd, void *buf, size_t nbytes)
 {
-    switch (files[fd].type) {
+    struct file *file = get_file_from_fd(fd);
+    const struct file_ops *ops;
+
+    if ( !file )
+        goto error;
+
+    ops = get_file_ops(file->type);
+    if ( ops->read )
+        return ops->read(file, buf, nbytes);
+
+    switch (file->type) {
         case FTYPE_SAVEFILE:
 	case FTYPE_CONSOLE: {
 	    int ret;
@@ -320,6 +364,8 @@ int read(int fd, void *buf, size_t nbytes)
 	default:
 	    break;
     }
+
+ error:
     printk("read(%d): Bad descriptor\n", fd);
     errno = EBADF;
     return -1;
@@ -327,7 +373,17 @@ int read(int fd, void *buf, size_t nbytes)
 
 int write(int fd, const void *buf, size_t nbytes)
 {
-    switch (files[fd].type) {
+    struct file *file = get_file_from_fd(fd);
+    const struct file_ops *ops;
+
+    if ( !file )
+        goto error;
+
+    ops = get_file_ops(file->type);
+    if ( ops->write )
+        return ops->write(file, buf, nbytes);
+
+    switch (file->type) {
         case FTYPE_SAVEFILE: {
                 int ret = 0, tot = nbytes;
                 while (nbytes > 0) {
@@ -364,14 +420,61 @@ int write(int fd, const void *buf, size_t nbytes)
 	default:
 	    break;
     }
+
+ error:
     printk("write(%d): Bad descriptor\n", fd);
     errno = EBADF;
     return -1;
 }
 
+off_t lseek_default(struct file *file, off_t offset, int whence)
+{
+    switch ( whence )
+    {
+    case SEEK_SET:
+        file->offset = offset;
+        break;
+
+    case SEEK_CUR:
+        file->offset += offset;
+        break;
+
+    case SEEK_END:
+    {
+        struct stat st;
+        int ret;
+
+        ret = fstat(file - files, &st);
+        if ( ret )
+            return -1;
+        file->offset = st.st_size + offset;
+        break;
+    }
+
+    default:
+        errno = EINVAL;
+        return -1;
+    }
+
+    return file->offset;
+}
+
 off_t lseek(int fd, off_t offset, int whence)
 {
-    switch(files[fd].type) {
+    struct file *file = get_file_from_fd(fd);
+    const struct file_ops *ops;
+
+    if ( !file )
+    {
+        errno = EBADF;
+        return (off_t)-1;
+    }
+
+    ops = get_file_ops(file->type);
+    if ( ops->lseek )
+        return ops->lseek(file, offset, whence);
+
+    switch(file->type) {
 #ifdef CONFIG_BLKFRONT
        case FTYPE_BLK:
           break;
@@ -392,28 +495,7 @@ off_t lseek(int fd, off_t offset, int whence)
           return (off_t) -1;
     }
 
-    switch (whence) {
-       case SEEK_SET:
-          files[fd].offset = offset;
-          break;
-       case SEEK_CUR:
-          files[fd].offset += offset;
-          break;
-       case SEEK_END:
-          {
-             struct stat st;
-             int ret;
-             ret = fstat(fd, &st);
-             if (ret)
-                return -1;
-             files[fd].offset = st.st_size + offset;
-             break;
-          }
-       default:
-          errno = EINVAL;
-          return -1;
-    }
-    return files[fd].offset;
+    return lseek_default(file, offset, whence);
 }
 
 int fsync(int fd) {
@@ -424,12 +506,21 @@ int fsync(int fd) {
 int close(int fd)
 {
     int res = 0;
+    struct file *file = get_file_from_fd(fd);
+    const struct file_ops *ops;
 
-    if ( fd < 0 || fd >= ARRAY_SIZE(files) )
+    if ( !file )
         goto error;
 
+    ops = get_file_ops(file->type);
     printk("close(%d)\n", fd);
-    switch (files[fd].type) {
+    if ( ops->close )
+    {
+        res = ops->close(file);
+        goto out;
+    }
+
+    switch (file->type) {
         default:
             break;
 #ifdef CONFIG_XENBUS
@@ -492,6 +583,7 @@ int close(int fd)
             goto error;
     }
 
+ out:
     memset(files + fd, 0, sizeof(struct file));
     BUILD_BUG_ON(FTYPE_NONE != 0);
 
@@ -522,8 +614,19 @@ int stat(const char *path, struct stat *buf)
 
 int fstat(int fd, struct stat *buf)
 {
+    struct file *file = get_file_from_fd(fd);
+    const struct file_ops *ops;
+
+    if ( !file )
+        goto error;
+
     init_stat(buf);
-    switch (files[fd].type) {
+
+    ops = get_file_ops(file->type);
+    if ( ops->fstat )
+        return ops->fstat(file, buf);
+
+    switch (file->type) {
 	case FTYPE_SAVEFILE:
 	case FTYPE_CONSOLE:
 	case FTYPE_SOCKET: {
@@ -557,6 +660,7 @@ int fstat(int fd, struct stat *buf)
 	    break;
     }
 
+ error:
     printk("statf(%d): Bad descriptor\n", fd);
     errno = EBADF;
     return -1;
@@ -588,6 +692,27 @@ int fcntl(int fd, int cmd, ...)
 {
     long arg;
     va_list ap;
+    int res;
+    struct file *file = get_file_from_fd(fd);
+    const struct file_ops *ops;
+
+    if ( !file )
+    {
+        errno = EBADF;
+        return -1;
+    }
+
+    ops = get_file_ops(files[fd].type);
+
+    if ( ops->fcntl )
+    {
+        va_start(ap, cmd);
+        res = ops->fcntl(file, cmd, ap);
+        va_end(ap);
+
+        return res;
+    }
+
     va_start(ap, cmd);
     arg = va_arg(ap, long);
     va_end(ap);
@@ -641,17 +766,28 @@ int closedir(DIR *dir)
 /* We assume that only the main thread calls select(). */
 
 #if defined(LIBC_DEBUG) || defined(LIBC_VERBOSE)
-static const char file_types[] = {
-    [FTYPE_NONE]	= 'N',
-    [FTYPE_CONSOLE]	= 'C',
-    [FTYPE_XENBUS]	= 'S',
-    [FTYPE_EVTCHN]	= 'E',
-    [FTYPE_SOCKET]	= 's',
-    [FTYPE_TAP]		= 'T',
-    [FTYPE_BLK]		= 'B',
-    [FTYPE_KBD]		= 'K',
-    [FTYPE_FB]		= 'G',
+static const char *const file_types[] = {
+    [FTYPE_NONE]    = "none",
+    [FTYPE_CONSOLE] = "console",
+    [FTYPE_XENBUS]  = "xenbus",
+    [FTYPE_EVTCHN]  = "evtchn",
+    [FTYPE_SOCKET]  = "socket",
+    [FTYPE_TAP]     = "net",
+    [FTYPE_BLK]     = "blk",
+    [FTYPE_KBD]     = "kbd",
+    [FTYPE_FB]      = "fb",
 };
+
+static const char *get_type_name(unsigned int type)
+{
+    if ( type < ARRAY_SIZE(file_ops) && file_ops[type] )
+        return file_ops[type]->name;
+
+    if ( type < ARRAY_SIZE(file_types) && file_types[type] )
+        return file_types[type];
+
+    return "none";
+}
 #endif
 #ifdef LIBC_DEBUG
 static void dump_set(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout)
@@ -663,7 +799,7 @@ static void dump_set(int nfds, fd_set *readfds, fd_set *writefds, fd_set *except
 	if (FD_ISSET(i, set)) { \
 	    if (comma) \
 		printk(", "); \
-	    printk("%d(%c)", i, file_types[files[i].type]); \
+            printk("%d(%s)", i, get_type_name(files[i].type)); \
 	    comma = 1; \
 	} \
     } \
@@ -697,7 +833,7 @@ static void dump_pollfds(struct pollfd *pfd, int nfds, int timeout)
         fd = pfd[i].fd;
         if (comma)
             printk(", ");
-        printk("%d(%c)/%02x", fd, file_types[files[fd].type],
+        printk("%d(%s)/%02x", fd, get_type_name(files[fd].type),
             pfd[i].events);
             comma = 1;
     }
@@ -709,6 +845,16 @@ static void dump_pollfds(struct pollfd *pfd, int nfds, int timeout)
 #define dump_pollfds(pfds, nfds, timeout)
 #endif
 
+bool select_yes(struct file *file)
+{
+    return true;
+}
+
+bool select_read_flag(struct file *file)
+{
+    return file->read;
+}
+
 /* Just poll without blocking */
 static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds)
 {
@@ -760,11 +906,47 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
 
     /* Then see others as well. */
     for (i = 0; i < nfds; i++) {
-	switch(files[i].type) {
+        struct file *file = get_file_from_fd(i);
+
+        if ( !file )
+        {
+            FD_CLR(i, readfds);
+            FD_CLR(i, writefds);
+            FD_CLR(i, exceptfds);
+            continue;
+        }
+
+        switch(file->type) {
 	default:
+        {
+            const struct file_ops *ops = file_ops[file->type];
+
+            if ( ops )
+            {
+                if ( FD_ISSET(i, readfds) )
+                {
+                    if ( ops->select_rd && ops->select_rd(file) )
+                        n++;
+                    else
+                        FD_CLR(i, readfds);
+                }
+                if ( FD_ISSET(i, writefds) )
+                {
+                    if ( ops->select_wr && ops->select_wr(file) )
+                        n++;
+                    else
+                        FD_CLR(i, writefds);
+                }
+                FD_CLR(i, exceptfds);
+
+                break;
+            }
+
 	    if (FD_ISSET(i, readfds) || FD_ISSET(i, writefds) || FD_ISSET(i, exceptfds))
 		printk("bogus fd %d in select\n", i);
 	    /* Fallthrough.  */
+        }
+
 	case FTYPE_CONSOLE:
 	    if (FD_ISSET(i, readfds)) {
                 if (xencons_ring_avail(files[i].dev))
@@ -842,7 +1024,7 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
 	printk("%d(%d): ", nb, sock_n);
 	for (i = 0; i < nfds; i++) {
 	    if (nbread[i] || nbwrite[i] || nbexcept[i])
-		printk(" %d(%c):", i, file_types[files[i].type]);
+                printk(" %d(%c):", i, get_type_name(files[i].type));
 	    if (nbread[i])
 	    	printk(" %dR", nbread[i]);
 	    if (nbwrite[i])
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Sun Jan 16 06:46:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 06:46:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257781.443096 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8zIJ-0001Ac-Vz; Sun, 16 Jan 2022 06:45:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257781.443096; Sun, 16 Jan 2022 06:45:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n8zIJ-0001AA-Pj; Sun, 16 Jan 2022 06:45:39 +0000
Received: by outflank-mailman (input) for mailman id 257781;
 Sun, 16 Jan 2022 06:45:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=APY9=SA=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n8zII-0008SI-4X
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 06:45:38 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e5c13b56-7697-11ec-9bbc-9dff3e4ee8c5;
 Sun, 16 Jan 2022 07:45:32 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id B4FB7219C8;
 Sun, 16 Jan 2022 06:45:30 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 8B3DE13ABD;
 Sun, 16 Jan 2022 06:45:30 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id cGS/IAq/42H0eQAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 16 Jan 2022 06:45:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e5c13b56-7697-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642315530; h=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=sMF8pqUc94a10+353xWoWiPfMeUftk07LIrUu9q2Fz8=;
	b=dR4rbD/G7KbYn4CT4GiZWXUD6uomLLLQdYtB4cY6dLjUqm7e69v4zR9T/1YrWBD6o+0dM1
	G+wKHa/tl3GSo4icxK0ls6IPHs1yIdjg0dMf08dI2R25cWTmUt/F7E2UV2lUvCrRIT39T6
	CM1kOrnaSEv6OBEQN2fa3N9hoSW4jjM=
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: [MINIOS PATCH v3 5/5] add CONFIG_LIBXS item
Date: Sun, 16 Jan 2022 07:45:27 +0100
Message-Id: <20220116064527.23519-6-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220116064527.23519-1-jgross@suse.com>
References: <20220116064527.23519-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Mini-OS contains a stripped down version of libxenstore in lib/xs.c.
Today it is being built always if CONFIG_XENBUS is set and libc
support is enabled.

In order to allow a Mini-OS specific build of libxenstore to be used
instead add a new CONFIG_LIBXS item which per default will have the
same setting as CONFIG_XENBUS. A user wanting to replace lib/xs.c
with libxenstore would just need to set CONFIG_XENBUS=y and
CONFIG_LIBXS=n.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
---
 Config.mk                     | 10 ++++++++--
 Makefile                      |  2 +-
 arch/x86/testbuild/all-no     |  1 +
 arch/x86/testbuild/all-yes    |  1 +
 arch/x86/testbuild/newxen-yes |  1 +
 lib/sys.c                     |  4 ++--
 6 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/Config.mk b/Config.mk
index 1e083881..03023033 100644
--- a/Config.mk
+++ b/Config.mk
@@ -171,7 +171,10 @@ endif
 # arch/*/testbuild/*-yes and arch/*/testbuild/*-no should set ALL possible
 # CONFIG_ variables.
 
-# Configuration defaults
+# Configuration defaults:
+# CONFIG-y contains all items defaulting to "y"
+# CONFIG-n contains all items defaulting to "n"
+# CONFIG-x contains all items being calculated if not set explicitly
 CONFIG-y += CONFIG_START_NETWORK
 CONFIG-y += CONFIG_SPARSE_BSS
 CONFIG-y += CONFIG_BLKFRONT
@@ -205,7 +208,10 @@ CONFIG-$(lwip) += CONFIG_LWIP
 $(foreach i,$(CONFIG-y),$(eval $(i) ?= y))
 $(foreach i,$(CONFIG-n),$(eval $(i) ?= n))
 
-CONFIG-all := $(CONFIG-y) $(CONFIG-n)
+CONFIG-x += CONFIG_LIBXS
+CONFIG_LIBXS ?= $(CONFIG_XENBUS)
+
+CONFIG-all := $(CONFIG-y) $(CONFIG-n) $(CONFIG-x)
 
 # Export config items as compiler directives
 $(foreach i,$(CONFIG-all),$(eval DEFINES-$($(i)) += -D$(i)))
diff --git a/Makefile b/Makefile
index 06b60fc7..9f95d197 100644
--- a/Makefile
+++ b/Makefile
@@ -65,7 +65,7 @@ src-y += lib/stack_chk_fail.c
 src-y += lib/string.c
 src-y += lib/sys.c
 src-y += lib/xmalloc.c
-src-$(CONFIG_XENBUS) += lib/xs.c
+src-$(CONFIG_LIBXS) += lib/xs.c
 
 src-$(CONFIG_XENBUS) += xenbus/xenbus.c
 
diff --git a/arch/x86/testbuild/all-no b/arch/x86/testbuild/all-no
index d6fc2608..46f974de 100644
--- a/arch/x86/testbuild/all-no
+++ b/arch/x86/testbuild/all-no
@@ -13,6 +13,7 @@ CONFIG_FBFRONT = n
 CONFIG_KBDFRONT = n
 CONFIG_CONSFRONT = n
 CONFIG_XENBUS = n
+CONFIG_LIBXS = n
 CONFIG_LIBXENEVTCHN = n
 CONFIG_LIBXENGNTTAB = n
 CONFIG_LWIP = n
diff --git a/arch/x86/testbuild/all-yes b/arch/x86/testbuild/all-yes
index 98bbfebf..3ead12f1 100644
--- a/arch/x86/testbuild/all-yes
+++ b/arch/x86/testbuild/all-yes
@@ -13,6 +13,7 @@ CONFIG_FBFRONT = y
 CONFIG_KBDFRONT = y
 CONFIG_CONSFRONT = y
 CONFIG_XENBUS = y
+CONFIG_LIBXS = y
 CONFIG_BALLOON = y
 CONFIG_USE_XEN_CONSOLE = y
 # The following are special: they need support from outside
diff --git a/arch/x86/testbuild/newxen-yes b/arch/x86/testbuild/newxen-yes
index 06032004..5c0b3c80 100644
--- a/arch/x86/testbuild/newxen-yes
+++ b/arch/x86/testbuild/newxen-yes
@@ -13,6 +13,7 @@ CONFIG_FBFRONT = y
 CONFIG_KBDFRONT = y
 CONFIG_CONSFRONT = y
 CONFIG_XENBUS = y
+CONFIG_LIBXS = y
 CONFIG_BALLOON = y
 CONFIG_USE_XEN_CONSOLE = y
 XEN_INTERFACE_VERSION=__XEN_LATEST_INTERFACE_VERSION__
diff --git a/lib/sys.c b/lib/sys.c
index 7be01fd3..e0ac5099 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -523,7 +523,7 @@ int close(int fd)
     switch (file->type) {
         default:
             break;
-#ifdef CONFIG_XENBUS
+#ifdef CONFIG_LIBXS
 	case FTYPE_XENBUS:
             xs_daemon_close((void*)(intptr_t) fd);
             break;
@@ -958,7 +958,7 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
                 n++;
 	    FD_CLR(i, exceptfds);
 	    break;
-#ifdef CONFIG_XENBUS
+#ifdef CONFIG_LIBXS
 	case FTYPE_XENBUS:
 	    if (FD_ISSET(i, readfds)) {
                 if (files[i].dev)
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Sun Jan 16 08:24:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 08:24:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257807.443139 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n90pW-0005Lt-AL; Sun, 16 Jan 2022 08:24:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257807.443139; Sun, 16 Jan 2022 08: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 1n90pW-0005KY-4s; Sun, 16 Jan 2022 08:24:02 +0000
Received: by outflank-mailman (input) for mailman id 257807;
 Sun, 16 Jan 2022 08:24:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=APY9=SA=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n90pU-00052L-FH
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 08:24:00 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a6b1d4c6-76a5-11ec-9bbc-9dff3e4ee8c5;
 Sun, 16 Jan 2022 09:23:58 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 5389D219B7;
 Sun, 16 Jan 2022 08:23:58 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 2649013AB5;
 Sun, 16 Jan 2022 08:23:58 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 0DIxCB7W42FLEwAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 16 Jan 2022 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>
X-Inumbo-ID: a6b1d4c6-76a5-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642321438; h=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=ErBw94A7NHEtLBOjGVvrvddf8O/VaQ+sffKi2esB83Q=;
	b=uUKXOYpzHeVUejGUQWZzyzoW7MX7yrbQOlfPg9+rBQrRlWeuP8Rh7AgUVg4cFj+C2RmVsk
	5SJvOirABifng/bv88zJYH1rtKs0mCet97sEoTzSSnr7R3IpxUHnoYgiLAtB0gQXy5m4Yd
	W0V0hyY+cNp9Gv5ZOBbqX4dllybQCNo=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v3 3/3] tools/libs/ctrl: remove file related handling
Date: Sun, 16 Jan 2022 09:23:46 +0100
Message-Id: <20220116082346.26194-4-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220116082346.26194-1-jgross@suse.com>
References: <20220116082346.26194-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

There is no special file handling related to libxenctrl in Mini-OS
any longer, so the close hook can be removed.

Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
V2:
- new patch
---
 tools/libs/ctrl/xc_minios.c | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/tools/libs/ctrl/xc_minios.c b/tools/libs/ctrl/xc_minios.c
index 1799daafdc..3dea7a78a5 100644
--- a/tools/libs/ctrl/xc_minios.c
+++ b/tools/libs/ctrl/xc_minios.c
@@ -35,15 +35,6 @@
 
 #include "xc_private.h"
 
-void minios_interface_close_fd(int fd);
-
-extern void minios_interface_close_fd(int fd);
-
-void minios_interface_close_fd(int fd)
-{
-    files[fd].type = FTYPE_NONE;
-}
-
 /* Optionally flush file to disk and discard page cache */
 void discard_file_cache(xc_interface *xch, int fd, int flush)
 {
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Sun Jan 16 08:24:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 08:24:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257808.443144 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n90pW-0005SZ-LV; Sun, 16 Jan 2022 08:24:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257808.443144; Sun, 16 Jan 2022 08: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 1n90pW-0005Pr-EW; Sun, 16 Jan 2022 08:24:02 +0000
Received: by outflank-mailman (input) for mailman id 257808;
 Sun, 16 Jan 2022 08:24:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=APY9=SA=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n90pU-00052M-R7
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 08:24:00 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a6dba1ac-76a5-11ec-a115-11989b9578b4;
 Sun, 16 Jan 2022 09:23:58 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 215E2219B1;
 Sun, 16 Jan 2022 08:23:58 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id ED8151346A;
 Sun, 16 Jan 2022 08:23:57 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id sJuoOB3W42FLEwAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 16 Jan 2022 08:23: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: a6dba1ac-76a5-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642321438; h=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=f1HwqdB0og38hxRC3NF5Sj5Z62lBBi+hprIOlOt5nJI=;
	b=cQkYDjrLP0RFyWIY77t56C04kSbYgX/Bijg+Wb2o3uyWnmam473HX2br75JOa9gtnnb+im
	BNYa1VdwpVKjYKRj1RJO5nUwATzzSf4Nmbw0PNEEkpRTo2TlaVbDGomqN6tdqJnIb4DEdm
	3f6o7X+ukWj3A+iJVXisc0dZuuQ7HDk=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v3 2/3] tools/libs/gnttab: decouple more from mini-os
Date: Sun, 16 Jan 2022 09:23:45 +0100
Message-Id: <20220116082346.26194-3-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220116082346.26194-1-jgross@suse.com>
References: <20220116082346.26194-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

libgnttab is using implementation details of Mini-OS. Change that by
letting libgnttab use the new alloc_file_type() and get_file_from_fd()
functions and the generic dev pointer of struct file from Mini-OS.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- add alloc_file_type() support
V3:
- switch callback to use struct file * as a parameter (Andrew Cooper)
- use __attribute__((constructor)) (Andrew Cooper)
---
 tools/libs/gnttab/minios.c | 67 +++++++++++++++++++++++++++++---------
 1 file changed, 52 insertions(+), 15 deletions(-)

diff --git a/tools/libs/gnttab/minios.c b/tools/libs/gnttab/minios.c
index f78caadd30..f59fad3577 100644
--- a/tools/libs/gnttab/minios.c
+++ b/tools/libs/gnttab/minios.c
@@ -28,18 +28,55 @@
 #include <sys/mman.h>
 
 #include <errno.h>
+#include <malloc.h>
 #include <unistd.h>
 
 #include "private.h"
 
 void minios_gnttab_close_fd(int fd);
 
+static int gnttab_close_fd(struct file *file)
+{
+    gntmap_fini(file->dev);
+    free(file->dev);
+
+    return 0;
+}
+
+static const struct file_ops gnttab_ops = {
+    .name = "gnttab",
+    .close = gnttab_close_fd,
+};
+
+static unsigned int ftype_gnttab;
+
+__attribute__((constructor))
+static void gnttab_initialize(void)
+{
+    ftype_gnttab = alloc_file_type(&gnttab_ops);
+}
+
 int osdep_gnttab_open(xengnttab_handle *xgt)
 {
-    int fd = alloc_fd(FTYPE_GNTMAP);
-    if ( fd == -1 )
+    int fd;
+    struct file *file;
+    struct gntmap *gntmap;
+
+    gntmap = malloc(sizeof(*gntmap));
+    if ( !gntmap )
         return -1;
-    gntmap_init(&files[fd].gntmap);
+
+    fd = alloc_fd(ftype_gnttab);
+    file = get_file_from_fd(fd);
+
+    if ( !file )
+    {
+        free(gntmap);
+        return -1;
+    }
+
+    file->dev = gntmap;
+    gntmap_init(gntmap);
     xgt->fd = fd;
     return 0;
 }
@@ -54,8 +91,9 @@ int osdep_gnttab_close(xengnttab_handle *xgt)
 
 void minios_gnttab_close_fd(int fd)
 {
-    gntmap_fini(&files[fd].gntmap);
-    files[fd].type = FTYPE_NONE;
+    struct file *file = get_file_from_fd(fd);
+
+    gnttab_close_fd(file);
 }
 
 void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
@@ -64,16 +102,16 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
                              uint32_t notify_offset,
                              evtchn_port_t notify_port)
 {
-    int fd = xgt->fd;
+    struct file *file = get_file_from_fd(xgt->fd);
     int stride = 1;
+
     if (flags & XENGNTTAB_GRANT_MAP_SINGLE_DOMAIN)
         stride = 0;
     if (notify_offset != -1 || notify_port != -1) {
         errno = ENOSYS;
         return NULL;
     }
-    return gntmap_map_grant_refs(&files[fd].gntmap,
-                                 count, domids, stride,
+    return gntmap_map_grant_refs(file->dev, count, domids, stride,
                                  refs, prot & PROT_WRITE);
 }
 
@@ -81,11 +119,10 @@ int osdep_gnttab_unmap(xengnttab_handle *xgt,
                        void *start_address,
                        uint32_t count)
 {
-    int fd = xgt->fd;
+    struct file *file = get_file_from_fd(xgt->fd);
     int ret;
-    ret = gntmap_munmap(&files[fd].gntmap,
-                        (unsigned long) start_address,
-                        count);
+
+    ret = gntmap_munmap(file->dev, (unsigned long) start_address, count);
     if (ret < 0) {
         errno = -ret;
         return -1;
@@ -95,10 +132,10 @@ int osdep_gnttab_unmap(xengnttab_handle *xgt,
 
 int osdep_gnttab_set_max_grants(xengnttab_handle *xgt, uint32_t count)
 {
-    int fd = xgt->fd;
+    struct file *file = get_file_from_fd(xgt->fd);
     int ret;
-    ret = gntmap_set_max_grants(&files[fd].gntmap,
-                                count);
+
+    ret = gntmap_set_max_grants(file->dev, count);
     if (ret < 0) {
         errno = -ret;
         return -1;
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Sun Jan 16 08:24:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 08:24:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257805.443123 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n90pU-00052j-NQ; Sun, 16 Jan 2022 08:24:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257805.443123; Sun, 16 Jan 2022 08:24:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n90pU-00052b-Jx; Sun, 16 Jan 2022 08:24:00 +0000
Received: by outflank-mailman (input) for mailman id 257805;
 Sun, 16 Jan 2022 08:23:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=APY9=SA=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n90pT-00052L-OI
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 08:23:59 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a68da50a-76a5-11ec-9bbc-9dff3e4ee8c5;
 Sun, 16 Jan 2022 09:23:57 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id E6BA4218E0;
 Sun, 16 Jan 2022 08:23:57 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id B9E5C13AB5;
 Sun, 16 Jan 2022 08:23:57 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id gOc+LB3W42FLEwAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 16 Jan 2022 08:23: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: a68da50a-76a5-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642321437; h=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=Lwv7UrthbYq5rR8LCXaRM2cQQusBd2qxNothm7VTMRM=;
	b=i/swlC09deGKUbaLLq7DYynecLl3fzdLBbG2O0RlWQ6zyqAUfifOP36WTfGofSDJ6IaH8B
	4/VRqL0arxU6Qvfu8dwOhHQWz30VF7muA1i7Ih/69z6cJLCz6EYYkftt05Jhghe+7R0u8M
	OpGYZPXelqRpMAVGICcNuJdkY1BD7Rs=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v3 1/3] tools/libs/evtchn: decouple more from mini-os
Date: Sun, 16 Jan 2022 09:23:44 +0100
Message-Id: <20220116082346.26194-2-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220116082346.26194-1-jgross@suse.com>
References: <20220116082346.26194-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Mini-OS and libevtchn are using implementation details of each other.
Change that by letting libevtchn use the new alloc_file_type() and
get_file_from_fd() function and the generic dev pointer of struct file
from Mini-OS.

By using private struct declarations Mini-OS will be able to drop the
libevtchn specific definitions of struct evtchn_port_info and
evtchn_port_list in future. While at it use bool for "pending" and
"bound".

Switch to use xce as function parameter instead of fd where possible.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- use xce instead of fd as parameter internally (Andrew Cooper)
- add alloc_file_type() support
V3:
- switch callback to use struct file * as a parameter (Andrew Cooper)
- use __attribute__((constructor)) (Andrew Cooper)
---
 tools/libs/evtchn/minios.c | 143 +++++++++++++++++++++++++------------
 1 file changed, 96 insertions(+), 47 deletions(-)

diff --git a/tools/libs/evtchn/minios.c b/tools/libs/evtchn/minios.c
index 8f84048b11..ee3da9f8fe 100644
--- a/tools/libs/evtchn/minios.c
+++ b/tools/libs/evtchn/minios.c
@@ -38,29 +38,40 @@
 
 #include "private.h"
 
-extern void minios_evtchn_close_fd(int fd);
+LIST_HEAD(port_list, port_info);
+
+struct port_info {
+    LIST_ENTRY(port_info) list;
+    evtchn_port_t port;
+    bool pending;
+    bool bound;
+};
 
 extern struct wait_queue_head event_queue;
 
+void minios_evtchn_close_fd(int fd);
+
 /* XXX Note: This is not threadsafe */
-static struct evtchn_port_info *port_alloc(int fd)
+static struct port_info *port_alloc(xenevtchn_handle *xce)
 {
-    struct evtchn_port_info *port_info;
+    struct port_info *port_info;
+    struct file *file = get_file_from_fd(xce->fd);
+    struct port_list *port_list = file->dev;
 
-    port_info = malloc(sizeof(struct evtchn_port_info));
+    port_info = malloc(sizeof(struct port_info));
     if ( port_info == NULL )
         return NULL;
 
-    port_info->pending = 0;
+    port_info->pending = false;
     port_info->port = -1;
-    port_info->bound = 0;
+    port_info->bound = false;
 
-    LIST_INSERT_HEAD(&files[fd].evtchn.ports, port_info, list);
+    LIST_INSERT_HEAD(port_list, port_info, list);
 
     return port_info;
 }
 
-static void port_dealloc(struct evtchn_port_info *port_info)
+static void port_dealloc(struct port_info *port_info)
 {
     if ( port_info->bound )
         unbind_evtchn(port_info->port);
@@ -69,18 +80,57 @@ static void port_dealloc(struct evtchn_port_info *port_info)
     free(port_info);
 }
 
+static int evtchn_close_fd(struct file *file)
+{
+    struct port_info *port_info, *tmp;
+    struct port_list *port_list = file->dev;
+
+    LIST_FOREACH_SAFE(port_info, port_list, list, tmp)
+        port_dealloc(port_info);
+    free(port_list);
+
+    return 0;
+}
+
+static const struct file_ops evtchn_ops = {
+    .name = "evtchn",
+    .close = evtchn_close_fd,
+    .select_rd = select_read_flag,
+};
+
+static unsigned int ftype_evtchn;
+
+__attribute__((constructor))
+static void evtchn_initialize(void)
+{
+    ftype_evtchn = alloc_file_type(&evtchn_ops);
+}
+
 /*
  * XENEVTCHN_NO_CLOEXEC is being ignored, as there is no exec() call supported
  * in Mini-OS.
  */
 int osdep_evtchn_open(xenevtchn_handle *xce, unsigned int flags)
 {
-    int fd = alloc_fd(FTYPE_EVTCHN);
+    int fd;
+    struct file *file;
+    struct port_list *list;
 
-    if ( fd == -1 )
+    list = malloc(sizeof(*list));
+    if ( !list )
         return -1;
 
-    LIST_INIT(&files[fd].evtchn.ports);
+    fd = alloc_fd(ftype_evtchn);
+    file = get_file_from_fd(fd);
+
+    if ( !file )
+    {
+        free(list);
+        return -1;
+    }
+
+    file->dev = list;
+    LIST_INIT(list);
     xce->fd = fd;
     printf("evtchn_open() -> %d\n", fd);
 
@@ -104,12 +154,9 @@ int osdep_evtchn_restrict(xenevtchn_handle *xce, domid_t domid)
 
 void minios_evtchn_close_fd(int fd)
 {
-    struct evtchn_port_info *port_info, *tmp;
+    struct file *file = get_file_from_fd(fd);
 
-    LIST_FOREACH_SAFE(port_info, &files[fd].evtchn.ports, list, tmp)
-        port_dealloc(port_info);
-
-    files[fd].type = FTYPE_NONE;
+    evtchn_close_fd(file);
 }
 
 int xenevtchn_notify(xenevtchn_handle *xce, evtchn_port_t port)
@@ -129,42 +176,43 @@ int xenevtchn_notify(xenevtchn_handle *xce, evtchn_port_t port)
 
 static void evtchn_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
 {
-    int fd = (int)(intptr_t)data;
-    struct evtchn_port_info *port_info;
+    xenevtchn_handle *xce = data;
+    struct file *file = get_file_from_fd(xce->fd);
+    struct port_info *port_info;
+    struct port_list *port_list;
 
-    assert(files[fd].type == FTYPE_EVTCHN);
+    assert(file);
+    port_list = file->dev;
     mask_evtchn(port);
-    LIST_FOREACH(port_info, &files[fd].evtchn.ports, list)
+    LIST_FOREACH(port_info, port_list, list)
     {
         if ( port_info->port == port )
             goto found;
     }
 
-    printk("Unknown port for handle %d\n", fd);
+    printk("Unknown port %d for handle %d\n", port, xce->fd);
     return;
 
  found:
-    port_info->pending = 1;
-    files[fd].read = 1;
+    port_info->pending = true;
+    file->read = true;
     wake_up(&event_queue);
 }
 
 xenevtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle *xce,
                                                       uint32_t domid)
 {
-    int fd = xce->fd;
-    struct evtchn_port_info *port_info;
+    struct port_info *port_info;
     int ret;
     evtchn_port_t port;
 
     assert(get_current() == main_thread);
-    port_info = port_alloc(fd);
+    port_info = port_alloc(xce);
     if ( port_info == NULL )
         return -1;
 
     printf("xenevtchn_bind_unbound_port(%d)", domid);
-    ret = evtchn_alloc_unbound(domid, evtchn_handler,
-                               (void *)(intptr_t)fd, &port);
+    ret = evtchn_alloc_unbound(domid, evtchn_handler, xce, &port);
     printf(" = %d\n", ret);
 
     if ( ret < 0 )
@@ -174,7 +222,7 @@ xenevtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle *xce,
         return -1;
     }
 
-    port_info->bound = 1;
+    port_info->bound = true;
     port_info->port = port;
     unmask_evtchn(port);
 
@@ -185,19 +233,18 @@ xenevtchn_port_or_error_t xenevtchn_bind_interdomain(xenevtchn_handle *xce,
                                                      uint32_t domid,
                                                      evtchn_port_t remote_port)
 {
-    int fd = xce->fd;
-    struct evtchn_port_info *port_info;
+    struct port_info *port_info;
     evtchn_port_t local_port;
     int ret;
 
     assert(get_current() == main_thread);
-    port_info = port_alloc(fd);
+    port_info = port_alloc(xce);
     if ( port_info == NULL )
         return -1;
 
     printf("xenevtchn_bind_interdomain(%d, %"PRId32")", domid, remote_port);
     ret = evtchn_bind_interdomain(domid, remote_port, evtchn_handler,
-                                  (void *)(intptr_t)fd, &local_port);
+                                  xce, &local_port);
     printf(" = %d\n", ret);
 
     if ( ret < 0 )
@@ -207,7 +254,7 @@ xenevtchn_port_or_error_t xenevtchn_bind_interdomain(xenevtchn_handle *xce,
         return -1;
     }
 
-    port_info->bound = 1;
+    port_info->bound = true;
     port_info->port = local_port;
     unmask_evtchn(local_port);
 
@@ -217,9 +264,11 @@ xenevtchn_port_or_error_t xenevtchn_bind_interdomain(xenevtchn_handle *xce,
 int xenevtchn_unbind(xenevtchn_handle *xce, evtchn_port_t port)
 {
     int fd = xce->fd;
-    struct evtchn_port_info *port_info;
+    struct file *file = get_file_from_fd(fd);
+    struct port_info *port_info;
+    struct port_list *port_list = file->dev;
 
-    LIST_FOREACH(port_info, &files[fd].evtchn.ports, list)
+    LIST_FOREACH(port_info, port_list, list)
     {
         if ( port_info->port == port )
         {
@@ -238,17 +287,16 @@ int xenevtchn_unbind(xenevtchn_handle *xce, evtchn_port_t port)
 xenevtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce,
                                               unsigned int virq)
 {
-    int fd = xce->fd;
-    struct evtchn_port_info *port_info;
+    struct port_info *port_info;
     evtchn_port_t port;
 
     assert(get_current() == main_thread);
-    port_info = port_alloc(fd);
+    port_info = port_alloc(xce);
     if ( port_info == NULL )
         return -1;
 
     printf("xenevtchn_bind_virq(%d)", virq);
-    port = bind_virq(virq, evtchn_handler, (void *)(intptr_t)fd);
+    port = bind_virq(virq, evtchn_handler, xce);
     printf(" = %d\n", port);
 
     if ( port < 0 )
@@ -258,7 +306,7 @@ xenevtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce,
         return -1;
     }
 
-    port_info->bound = 1;
+    port_info->bound = true;
     port_info->port = port;
     unmask_evtchn(port);
 
@@ -267,27 +315,28 @@ xenevtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce,
 
 xenevtchn_port_or_error_t xenevtchn_pending(xenevtchn_handle *xce)
 {
-    int fd = xce->fd;
-    struct evtchn_port_info *port_info;
+    struct file *file = get_file_from_fd(xce->fd);
+    struct port_info *port_info;
+    struct port_list *port_list = file->dev;
     unsigned long flags;
     evtchn_port_t ret = -1;
 
     local_irq_save(flags);
 
-    files[fd].read = 0;
+    file->read = false;
 
-    LIST_FOREACH(port_info, &files[fd].evtchn.ports, list)
+    LIST_FOREACH(port_info, port_list, list)
     {
         if ( port_info->port != -1 && port_info->pending )
         {
             if ( ret == -1 )
             {
                 ret = port_info->port;
-                port_info->pending = 0;
+                port_info->pending = false;
             }
             else
             {
-                files[fd].read = 1;
+                file->read = true;
                 break;
             }
         }
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Sun Jan 16 08:24:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 08:24:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257806.443134 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n90pW-0005IL-1C; Sun, 16 Jan 2022 08:24:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257806.443134; Sun, 16 Jan 2022 08: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 1n90pV-0005IE-Sd; Sun, 16 Jan 2022 08:24:01 +0000
Received: by outflank-mailman (input) for mailman id 257806;
 Sun, 16 Jan 2022 08:24:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=APY9=SA=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n90pU-00052M-CZ
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 08:24:00 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a6d69428-76a5-11ec-a115-11989b9578b4;
 Sun, 16 Jan 2022 09:23:58 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id C520A1F383;
 Sun, 16 Jan 2022 08:23:57 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 8C1971346A;
 Sun, 16 Jan 2022 08:23:57 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id d0ZYIB3W42FLEwAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 16 Jan 2022 08:23: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: a6d69428-76a5-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642321437; h=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=UZjgG0VV4Gjd8M/uhWkr3YjhV+ebrB2BQXUDO8e1bEU=;
	b=KUZNAKEeuIZ7M59wWVsHEyokodf+b5CAeInISr2N6eleqDSSEoaveHShqP+yuAgyYaqHDf
	iLsxNobAh60tzHK0o62hTt/xhoqN2XNrdXbUPVaEWmZklzqyJby9njR9w/pRPdA5iky4tC
	/eBhyCvshgiSQj0pVUmdJWe5qn+TBK8=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v3 0/3] tools/libs: decouple more from mini-os
Date: Sun, 16 Jan 2022 09:23:43 +0100
Message-Id: <20220116082346.26194-1-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This small series removes some hard coupling of the Xen build with some
Mini-OS internals, especially the struct file layout and the internal
organization of the file handling.

This series depends on the Mini-OS series posted recently:

https://lists.xen.org/archives/html/xen-devel/2022-01/threads.html#00635

The main idea is to no longer have Xen library specific structures
inside struct file, or to let struct file layout depend on the
configuration of Mini-OS.

All Xen libraries needing a hook in struct file should use the now
available generic dev pointer and allocate the needed data dynamically.

Additionally Xen libraries should get the pointer of struct file via
the new get_file_from_fd() function instead of accessing directly the
files[] array, which might go away in future (e.g. in order to support
dynamic allocation of struct file as needed).

Via using alloc_file_type() the libs provide a function vector in
order to enable Mini-OS to remove the dedicated callbacks into the
libs via known function names and replacing them to use the new
vector.

Changes in V3:
- comments addressed

Changes in V2:
- comments addressed
- add using alloc_file_type()
- new patch 3

Juergen Gross (3):
  tools/libs/evtchn: decouple more from mini-os
  tools/libs/gnttab: decouple more from mini-os
  tools/libs/ctrl: remove file related handling

 tools/libs/ctrl/xc_minios.c |   9 ---
 tools/libs/evtchn/minios.c  | 143 ++++++++++++++++++++++++------------
 tools/libs/gnttab/minios.c  |  67 +++++++++++++----
 3 files changed, 148 insertions(+), 71 deletions(-)

-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Sun Jan 16 08:33:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 08:33:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257828.443236 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n90yp-0001BE-Tv; Sun, 16 Jan 2022 08:33:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257828.443236; Sun, 16 Jan 2022 08: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 1n90yp-00018z-H2; Sun, 16 Jan 2022 08:33:39 +0000
Received: by outflank-mailman (input) for mailman id 257828;
 Sun, 16 Jan 2022 08:33:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=APY9=SA=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n90ym-0008IQ-Ui
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 08:33:37 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fc710686-76a6-11ec-9bbc-9dff3e4ee8c5;
 Sun, 16 Jan 2022 09:33:31 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id BB119219C8;
 Sun, 16 Jan 2022 08:33: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 90E761346A;
 Sun, 16 Jan 2022 08:33:31 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id WGg2IlvY42HyFQAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 16 Jan 2022 08: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: fc710686-76a6-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642322011; h=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=FFReguV4y++M9NUukSuxH+eG17KkgvbSsHOjbRhtUks=;
	b=Tr9a4POanzkbMhoSmBb9h3eLdK4XMXem0XTRAILtKVbPbd7bIfhWz0s/QaNk8tZqOsGTlo
	EVCVbE8P9WVFwY3Lik4axLUHqEHsO5egyd7uP/sHOKsqwJthNdpTdQzEDx0WjIkewfB7Yo
	99Jd+/ggIcGKXO6YS2qbjKUch7gFsR8=
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: [MINIOS PATCH v3 06/12] use alloc_file_type() and get_file_from_fd() in blkfront
Date: Sun, 16 Jan 2022 09:33:22 +0100
Message-Id: <20220116083328.26524-7-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220116083328.26524-1-jgross@suse.com>
References: <20220116083328.26524-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Allocate the file type dynamically via alloc_file_type().

Instead of directly accessing the files[] array use get_file_from_fd().

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- switch to struct file * parameter for callbacks
- use __attribute__((constructor))
---
 blkfront.c         | 92 ++++++++++++++++++++++++++++++++++------------
 include/blkfront.h |  5 ---
 include/lib.h      |  3 +-
 lib/sys.c          | 24 ------------
 4 files changed, 69 insertions(+), 55 deletions(-)

diff --git a/blkfront.c b/blkfront.c
index e3f42bef..ed902702 100644
--- a/blkfront.c
+++ b/blkfront.c
@@ -59,10 +59,10 @@ void blkfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
 {
 #ifdef HAVE_LIBC
     struct blkfront_dev *dev = data;
-    int fd = dev->fd;
+    struct file *file = get_file_from_fd(dev->fd);
 
-    if (fd != -1)
-        files[fd].read = true;
+    if ( file )
+        file->read = true;
 #endif
     wake_up(&blkfront_queue);
 }
@@ -483,9 +483,13 @@ int blkfront_aio_poll(struct blkfront_dev *dev)
 
 moretodo:
 #ifdef HAVE_LIBC
-    if (dev->fd != -1) {
-        files[dev->fd].read = false;
-        mb(); /* Make sure to let the handler set read to 1 before we start looking at the ring */
+    {
+        struct file *file = get_file_from_fd(dev->fd);
+
+        if ( file ) {
+            file->read = false;
+            mb(); /* Make sure to let the handler set read to 1 before we start looking at the ring */
+        }
     }
 #endif
 
@@ -554,22 +558,11 @@ moretodo:
 }
 
 #ifdef HAVE_LIBC
-int blkfront_open(struct blkfront_dev *dev)
+static int blkfront_posix_rwop(struct file *file, uint8_t *buf, size_t count,
+                               bool write)
 {
-    /* Silently prevent multiple opens */
-    if(dev->fd != -1) {
-       return dev->fd;
-    }
-    dev->fd = alloc_fd(FTYPE_BLK);
-    printk("blk_open(%s) -> %d\n", dev->nodename, dev->fd);
-    files[dev->fd].dev = dev;
-    return dev->fd;
-}
-
-int blkfront_posix_rwop(int fd, uint8_t* buf, size_t count, int write)
-{
-   struct blkfront_dev* dev = files[fd].dev;
-   off_t offset = files[fd].offset;
+   struct blkfront_dev *dev = file->dev;
+   off_t offset = file->offset;
    struct blkfront_aiocb aiocb;
    unsigned long long disksize = dev->info.sectors * dev->info.sector_size;
    unsigned int blocksize = dev->info.sector_size;
@@ -711,14 +704,24 @@ int blkfront_posix_rwop(int fd, uint8_t* buf, size_t count, int write)
    }
 
    free(copybuf);
-   files[fd].offset += rc;
+   file->offset += rc;
    return rc;
 
 }
 
-int blkfront_posix_fstat(int fd, struct stat* buf)
+static int blkfront_posix_read(struct file *file, void *buf, size_t nbytes)
 {
-   struct blkfront_dev* dev = files[fd].dev;
+    return blkfront_posix_rwop(file, buf, nbytes, false);
+}
+
+static int blkfront_posix_write(struct file *file, const void *buf, size_t nbytes)
+{
+    return blkfront_posix_rwop(file, (void *)buf, nbytes, true);
+}
+
+static int blkfront_posix_fstat(struct file *file, struct stat *buf)
+{
+   struct blkfront_dev *dev = file->dev;
 
    buf->st_mode = dev->info.mode;
    buf->st_uid = 0;
@@ -728,4 +731,45 @@ int blkfront_posix_fstat(int fd, struct stat* buf)
 
    return 0;
 }
+
+static int blkfront_close_fd(struct file *file)
+{
+    shutdown_blkfront(file->dev);
+
+    return 0;
+}
+
+static const struct file_ops blk_ops = {
+    .name = "blk",
+    .read = blkfront_posix_read,
+    .write = blkfront_posix_write,
+    .lseek = lseek_default,
+    .close = blkfront_close_fd,
+    .fstat = blkfront_posix_fstat,
+    .select_rd = select_read_flag,
+};
+
+static unsigned int ftype_blk;
+
+__attribute__((constructor))
+static void blkfron_initialize(void)
+{
+    ftype_blk = alloc_file_type(&blk_ops);
+}
+
+int blkfront_open(struct blkfront_dev *dev)
+{
+    struct file *file;
+
+    /* Silently prevent multiple opens */
+    if ( dev->fd != -1 )
+        return dev->fd;
+
+    dev->fd = alloc_fd(ftype_blk);
+    printk("blk_open(%s) -> %d\n", dev->nodename, dev->fd);
+    file = get_file_from_fd(dev->fd);
+    file->dev = dev;
+
+    return dev->fd;
+}
 #endif
diff --git a/include/blkfront.h b/include/blkfront.h
index 3528af9d..7f84a0a2 100644
--- a/include/blkfront.h
+++ b/include/blkfront.h
@@ -28,17 +28,12 @@ struct blkfront_info
 };
 struct blkfront_dev *init_blkfront(char *nodename, struct blkfront_info *info);
 #ifdef HAVE_LIBC
-#include <sys/stat.h>
 /* POSIX IO functions:
  * use blkfront_open() to get a file descriptor to the block device
  * Don't use the other blkfront posix functions here directly, instead use
  * read(), write(), lseek() and fstat() on the file descriptor
  */
 int blkfront_open(struct blkfront_dev *dev);
-int blkfront_posix_rwop(int fd, uint8_t* buf, size_t count, int write);
-#define blkfront_posix_write(fd, buf, count) blkfront_posix_rwop(fd, (uint8_t*)buf, count, 1)
-#define blkfront_posix_read(fd, buf, count) blkfront_posix_rwop(fd, (uint8_t*)buf, count, 0)
-int blkfront_posix_fstat(int fd, struct stat* buf);
 #endif
 void blkfront_aio(struct blkfront_aiocb *aiocbp, int write);
 #define blkfront_aio_read(aiocbp) blkfront_aio(aiocbp, 0)
diff --git a/include/lib.h b/include/lib.h
index 9b7eaae7..2f472b00 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -166,8 +166,7 @@ extern struct wait_queue_head event_queue;
 #define FTYPE_FB         6
 #define FTYPE_KBD        7
 #define FTYPE_TAP        8
-#define FTYPE_BLK        9
-#define FTYPE_N         10
+#define FTYPE_N          9
 #define FTYPE_SPARE     16
 
 struct file {
diff --git a/lib/sys.c b/lib/sys.c
index 39f51980..90684335 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -343,11 +343,6 @@ int read(int fd, void *buf, size_t nbytes)
 	    }
 	    return ret * sizeof(union xenfb_in_event);
         }
-#endif
-#ifdef CONFIG_BLKFRONT
-        case FTYPE_BLK: {
-	    return blkfront_posix_read(fd, buf, nbytes);
-        }
 #endif
 	default:
 	    break;
@@ -392,10 +387,6 @@ int write(int fd, const void *buf, size_t nbytes)
 	case FTYPE_TAP:
 	    netfront_xmit(files[fd].dev, (void*) buf, nbytes);
 	    return nbytes;
-#endif
-#ifdef CONFIG_BLKFRONT
-	case FTYPE_BLK:
-	    return blkfront_posix_write(fd, buf, nbytes);
 #endif
 	default:
 	    break;
@@ -455,10 +446,6 @@ off_t lseek(int fd, off_t offset, int whence)
         return ops->lseek(file, offset, whence);
 
     switch(file->type) {
-#ifdef CONFIG_BLKFRONT
-       case FTYPE_BLK:
-          break;
-#endif
        case FTYPE_FILE:
           break;
        default:
@@ -505,11 +492,6 @@ int close(int fd)
 	    shutdown_netfront(files[fd].dev);
             break;
 #endif
-#ifdef CONFIG_BLKFRONT
-	case FTYPE_BLK:
-            shutdown_blkfront(files[fd].dev);
-            break;
-#endif
 #ifdef CONFIG_KBDFRONT
 	case FTYPE_KBD:
             shutdown_kbdfront(files[fd].dev);
@@ -591,10 +573,6 @@ int fstat(int fd, struct stat *buf)
 	    buf->st_ctime = time(NULL);
 	    return 0;
 	}
-#ifdef CONFIG_BLKFRONT
-	case FTYPE_BLK:
-	   return blkfront_posix_fstat(fd, buf);
-#endif
 	default:
 	    break;
     }
@@ -710,7 +688,6 @@ static const char *const file_types[] = {
     [FTYPE_CONSOLE] = "console",
     [FTYPE_SOCKET]  = "socket",
     [FTYPE_TAP]     = "net",
-    [FTYPE_BLK]     = "blk",
     [FTYPE_KBD]     = "kbd",
     [FTYPE_FB]      = "fb",
 };
@@ -896,7 +873,6 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
 	    FD_CLR(i, exceptfds);
 	    break;
 	case FTYPE_TAP:
-	case FTYPE_BLK:
 	case FTYPE_KBD:
 	case FTYPE_FB:
 	    if (FD_ISSET(i, readfds)) {
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Sun Jan 16 08:33:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 08:33:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257827.443232 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n90yp-00015C-8j; Sun, 16 Jan 2022 08:33:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257827.443232; Sun, 16 Jan 2022 08: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 1n90yo-000145-VA; Sun, 16 Jan 2022 08:33:38 +0000
Received: by outflank-mailman (input) for mailman id 257827;
 Sun, 16 Jan 2022 08:33:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=APY9=SA=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n90ym-0008IP-Ot
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 08:33:36 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fc5c7437-76a6-11ec-a115-11989b9578b4;
 Sun, 16 Jan 2022 09:33:31 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 24AED219C7;
 Sun, 16 Jan 2022 08:33: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 EEDB31346A;
 Sun, 16 Jan 2022 08:33:30 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id gFAeOVrY42HyFQAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 16 Jan 2022 08:33:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fc5c7437-76a6-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642322011; h=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=BA1FXffCj1pRX9eT2SPzxm7/juZIBKAdcFoxvIMicZM=;
	b=p2M7YRDOPXHlt5FZ7r0mAq2b0Nt69Rb574mg1OrScenyE0vv73xEFn8qZ2lnkAwV6L9w4o
	NPamkQW6L776NZGmgt628jaUlrzJ6T+R49bG1iL7Hda0EqkYGGc+tOItb56DTjAmx2N7Im
	J8urN7vxH3savtG1N9kPKesKhVjNwj4=
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: [MINIOS PATCH v3 03/12] use alloc_file_type() and get_file_from_fd() in xs
Date: Sun, 16 Jan 2022 09:33:19 +0100
Message-Id: <20220116083328.26524-4-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220116083328.26524-1-jgross@suse.com>
References: <20220116083328.26524-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Allocate the needed file type via alloc_file_type().

Instead of directly accessing the files[] array use get_file_from_fd().

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- switch to struct file * parameter for callbacks
- use __attribute__((constructor))
---
 include/lib.h   |  3 +--
 lib/sys.c       | 18 --------------
 lib/xs.c        | 65 +++++++++++++++++++++++++++++++++++++------------
 xenbus/xenbus.c |  1 +
 4 files changed, 52 insertions(+), 35 deletions(-)

diff --git a/include/lib.h b/include/lib.h
index 5838b0d4..c5e47786 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -169,8 +169,7 @@ extern struct wait_queue_head event_queue;
 #define FTYPE_BLK        9
 #define FTYPE_TPMFRONT  10
 #define FTYPE_TPM_TIS   11
-#define FTYPE_XENBUS    12
-#define FTYPE_N         13
+#define FTYPE_N         12
 #define FTYPE_SPARE     16
 
 struct file {
diff --git a/lib/sys.c b/lib/sys.c
index 6ba26294..53870aa4 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -523,11 +523,6 @@ int close(int fd)
     switch (file->type) {
         default:
             break;
-#ifdef CONFIG_LIBXS
-	case FTYPE_XENBUS:
-            xs_daemon_close((void*)(intptr_t) fd);
-            break;
-#endif
 #ifdef HAVE_LWIP
 	case FTYPE_SOCKET:
             res = lwip_close(files[fd].fd);
@@ -759,7 +754,6 @@ int closedir(DIR *dir)
 static const char *const file_types[] = {
     [FTYPE_NONE]    = "none",
     [FTYPE_CONSOLE] = "console",
-    [FTYPE_XENBUS]  = "xenbus",
     [FTYPE_SOCKET]  = "socket",
     [FTYPE_TAP]     = "net",
     [FTYPE_BLK]     = "blk",
@@ -947,18 +941,6 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
                 n++;
 	    FD_CLR(i, exceptfds);
 	    break;
-#ifdef CONFIG_LIBXS
-	case FTYPE_XENBUS:
-	    if (FD_ISSET(i, readfds)) {
-                if (files[i].dev)
-		    n++;
-		else
-		    FD_CLR(i, readfds);
-	    }
-	    FD_CLR(i, writefds);
-	    FD_CLR(i, exceptfds);
-	    break;
-#endif
 	case FTYPE_TAP:
 	case FTYPE_BLK:
 	case FTYPE_KBD:
diff --git a/lib/xs.c b/lib/xs.c
index 4af0f960..c12341aa 100644
--- a/lib/xs.c
+++ b/lib/xs.c
@@ -18,23 +18,56 @@ static inline int _xs_fileno(struct xs_handle *h) {
     return (intptr_t) h;
 }
 
+static int xs_close_fd(struct file *file)
+{
+    struct xenbus_event *event, *next;
+
+    for (event = file->dev; event; event = next)
+    {
+        next = event->next;
+        free(event);
+    }
+
+    return 0;
+}
+
+static bool xs_can_read(struct file *file)
+{
+    return file && file->dev;
+}
+
+static const struct file_ops xenbus_ops = {
+    .name = "xenbus",
+    .close = xs_close_fd,
+    .select_rd = xs_can_read,
+};
+
+static unsigned int ftype_xenbus;
+
+__attribute__((constructor))
+static void xs_initialize(void)
+{
+    ftype_xenbus = alloc_file_type(&xenbus_ops);
+}
+
 struct xs_handle *xs_daemon_open()
 {
-    int fd = alloc_fd(FTYPE_XENBUS);
-    files[fd].dev = NULL;
-    printk("xs_daemon_open -> %d, %p\n", fd, &files[fd].dev);
+    int fd;
+    struct file *file;
+
+    fd = alloc_fd(ftype_xenbus);
+    file = get_file_from_fd(fd);
+    if ( !file )
+        return NULL;
+
+    file->dev = NULL;
+    printk("xs_daemon_open -> %d, %p\n", fd, &file->dev);
     return (void*)(intptr_t) fd;
 }
 
 void xs_daemon_close(struct xs_handle *h)
 {
-    int fd = _xs_fileno(h);
-    struct xenbus_event *event, *next;
-    for (event = files[fd].dev; event; event = next)
-    {
-        next = event->next;
-        free(event);
-    }
+    close(_xs_fileno(h));
 }
 
 int xs_fileno(struct xs_handle *h)
@@ -169,18 +202,20 @@ char **xs_directory(struct xs_handle *h, xs_transaction_t t,
 
 bool xs_watch(struct xs_handle *h, const char *path, const char *token)
 {
-    int fd = _xs_fileno(h);
+    struct file *file = get_file_from_fd(_xs_fileno(h));
+
     printk("xs_watch(%s, %s)\n", path, token);
     return xs_bool(xenbus_watch_path_token(XBT_NULL, path, token,
-                   (xenbus_event_queue *)&files[fd].dev));
+                   (xenbus_event_queue *)&file->dev));
 }
 
 char **xs_read_watch(struct xs_handle *h, unsigned int *num)
 {
-    int fd = _xs_fileno(h);
     struct xenbus_event *event;
-    event = files[fd].dev;
-    files[fd].dev = event->next;
+    struct file *file = get_file_from_fd(_xs_fileno(h));
+
+    event = file->dev;
+    file->dev = event->next;
     printk("xs_read_watch() -> %s %s\n", event->path, event->token);
     *num = 2;
     return (char **) &event->path;
diff --git a/xenbus/xenbus.c b/xenbus/xenbus.c
index b687678f..785389fb 100644
--- a/xenbus/xenbus.c
+++ b/xenbus/xenbus.c
@@ -393,6 +393,7 @@ static int allocate_xenbus_id(void)
 void init_xenbus(void)
 {
     int err;
+
     DEBUG("init_xenbus called.\n");
     create_thread("xenstore", xenbus_thread_func, NULL);
     DEBUG("buf at %p.\n", xenstore_buf);
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Sun Jan 16 08:33:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 08:33:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257819.443174 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n90yj-0008Mb-RP; Sun, 16 Jan 2022 08:33:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257819.443174; Sun, 16 Jan 2022 08: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 1n90yj-0008MU-OS; Sun, 16 Jan 2022 08:33:33 +0000
Received: by outflank-mailman (input) for mailman id 257819;
 Sun, 16 Jan 2022 08:33:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=APY9=SA=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n90yi-0008IP-OL
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 08:33:32 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fc1c0e24-76a6-11ec-a115-11989b9578b4;
 Sun, 16 Jan 2022 09:33:31 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 9032E1F3B2;
 Sun, 16 Jan 2022 08:33:30 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 5EFEB1346A;
 Sun, 16 Jan 2022 08:33:30 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 5EhsFVrY42HyFQAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 16 Jan 2022 08:33:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fc1c0e24-76a6-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642322010; h=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=JI/T0GvQlHTteR5uYoRyKUlc2h5rd/vS7Yv8hXR+F9M=;
	b=guGamLRDLCwk3pjvKnmwEaH1VX6Xn0iiqV9S2TwgA3kXYajVrpCdiFNJ8ddo23GBzSfo9y
	RdsOewsy/234pfVUnfHwgABlXnN3OrVaGjNqSVDK0le/mOsKE88vZV+kSYI5zgDGPbcRNB
	RzSk4agvSNr709PNwWGhp1oQCqyunwc=
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: [MINIOS PATCH v3 00/12] remove device specific struct file members
Date: Sun, 16 Jan 2022 09:33:16 +0100
Message-Id: <20220116083328.26524-1-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This series is a followup to the series sent recently:

https://lists.xen.org/archives/html/xen-devel/2022-01/threads.html#00635

It contains the last cleanups related to struct file and can only be
applied after the Xen libraries have stopped using the related union
members:

https://lists.xen.org/archives/html/xen-devel/2022-01/threads.html#00643

The three series applied have been tested to work with:

- xenstorepvh-stubdom
- pv-grub
- ioemu-stubdom

Changes in V3:
- comments addressed

Changes in V2:
- add many patches for using alloc_file_type() and struct file_ops

Juergen Gross (12):
  remove event channel specific struct file definitions
  remove gnttab specific member from struct file
  use alloc_file_type() and get_file_from_fd() in xs
  use alloc_file_type() and get_file_from_fd() in tpm_tis
  use alloc_file_type() and get_file_from_fd() in tpmfront
  use alloc_file_type() and get_file_from_fd() in blkfront
  use alloc_file_type() and get_file_from_fd() in netfront
  use alloc_file_type() and get_file_from_fd() in fbfront
  use file_ops and get_file_from_fd() for console
  add struct file_ops for file type socket
  add struct file_ops for FTYPE_FILE
  make files array private to sys.c

 Config.mk                     |   2 -
 arch/x86/testbuild/all-no     |   2 -
 arch/x86/testbuild/all-yes    |   2 -
 arch/x86/testbuild/newxen-yes |   2 -
 blkfront.c                    |  92 ++++++--
 console/console.c             |   2 +-
 console/xenbus.c              | 112 +++++++++
 console/xencons_ring.c        |   6 +-
 fbfront.c                     | 127 ++++++++--
 gntmap.c                      |   2 +-
 include/blkfront.h            |   5 -
 include/console.h             |   7 +-
 include/lib.h                 |  29 +--
 include/netfront.h            |   3 +-
 include/tpm_tis.h             |   6 -
 include/tpmfront.h            |   5 -
 lib/sys.c                     | 424 ++++++++--------------------------
 lib/xs.c                      |  65 ++++--
 netfront.c                    |  65 +++++-
 tpm_tis.c                     | 121 ++++++----
 tpmfront.c                    | 100 +++++---
 xenbus/xenbus.c               |   1 +
 22 files changed, 649 insertions(+), 531 deletions(-)

-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Sun Jan 16 08:33:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 08:33:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257820.443179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n90yk-0008Oy-6M; Sun, 16 Jan 2022 08:33:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257820.443179; Sun, 16 Jan 2022 08:33:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n90yk-0008OQ-0k; Sun, 16 Jan 2022 08:33:34 +0000
Received: by outflank-mailman (input) for mailman id 257820;
 Sun, 16 Jan 2022 08:33:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=APY9=SA=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n90yi-0008IQ-UV
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 08:33:33 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fbdcf1d2-76a6-11ec-9bbc-9dff3e4ee8c5;
 Sun, 16 Jan 2022 09:33:30 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id B8B4B1F3B3;
 Sun, 16 Jan 2022 08:33:30 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 8EBD813AB5;
 Sun, 16 Jan 2022 08:33:30 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id ICuiIVrY42HyFQAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 16 Jan 2022 08:33:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fbdcf1d2-76a6-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642322010; h=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=xMC2cVvglpwHtHj58DJ+I44rqFmTlB+K2cTWldEOzOc=;
	b=Z8BC/NvAOFa5H57kZB92bNQ6WlKFk3IuPrew6E4KfZN1ovw1oeBoQjyQgkNIioIqRzGK1A
	SJwPi+08i71eetf7eN6D54DfhGrY6P0BJWC61wBt8u/Jx5iwSNGOv5eQUaVritwbgzsub2
	4sLRrt8Cp3NThPxtOON3N+eG1KacYFw=
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: [MINIOS PATCH v3 01/12] remove event channel specific struct file definitions
Date: Sun, 16 Jan 2022 09:33:17 +0100
Message-Id: <20220116083328.26524-2-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220116083328.26524-1-jgross@suse.com>
References: <20220116083328.26524-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The event channel specific union member in struct file is no longer
needed, so remove it together with the associated structure
definitions.

The event channel file type and its associated handling can be removed,
too, as libxenevtchn is now supplying a struct file_ops via a call of
alloc_file_type().

This removes all contents of CONFIG_LIBXENEVTCHN guarded sections, so
this config option can be removed.

Add an extern declaration for event_queue as it is used by
libxenevtchn.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- add extern declaration for event_queue (Andrew Cooper)
---
 Config.mk                     |  1 -
 arch/x86/testbuild/all-no     |  1 -
 arch/x86/testbuild/all-yes    |  1 -
 arch/x86/testbuild/newxen-yes |  1 -
 include/lib.h                 | 17 +++--------------
 lib/sys.c                     |  7 -------
 6 files changed, 3 insertions(+), 25 deletions(-)

diff --git a/Config.mk b/Config.mk
index 03023033..52eb26d8 100644
--- a/Config.mk
+++ b/Config.mk
@@ -200,7 +200,6 @@ CONFIG-n += CONFIG_PARAVIRT
 endif
 # Support legacy CONFIG_XC value
 CONFIG_XC ?= $(libc)
-CONFIG-$(CONFIG_XC) += CONFIG_LIBXENEVTCHN
 CONFIG-$(CONFIG_XC) += CONFIG_LIBXENGNTTAB
 
 CONFIG-$(lwip) += CONFIG_LWIP
diff --git a/arch/x86/testbuild/all-no b/arch/x86/testbuild/all-no
index 46f974de..15c954ff 100644
--- a/arch/x86/testbuild/all-no
+++ b/arch/x86/testbuild/all-no
@@ -14,7 +14,6 @@ CONFIG_KBDFRONT = n
 CONFIG_CONSFRONT = n
 CONFIG_XENBUS = n
 CONFIG_LIBXS = n
-CONFIG_LIBXENEVTCHN = n
 CONFIG_LIBXENGNTTAB = n
 CONFIG_LWIP = n
 CONFIG_BALLOON = n
diff --git a/arch/x86/testbuild/all-yes b/arch/x86/testbuild/all-yes
index 3ead12f1..9964d42f 100644
--- a/arch/x86/testbuild/all-yes
+++ b/arch/x86/testbuild/all-yes
@@ -17,6 +17,5 @@ CONFIG_LIBXS = y
 CONFIG_BALLOON = y
 CONFIG_USE_XEN_CONSOLE = y
 # The following are special: they need support from outside
-CONFIG_LIBXENEVTCHN = n
 CONFIG_LIBXENGNTTAB = n
 CONFIG_LWIP = n
diff --git a/arch/x86/testbuild/newxen-yes b/arch/x86/testbuild/newxen-yes
index 5c0b3c80..c2519938 100644
--- a/arch/x86/testbuild/newxen-yes
+++ b/arch/x86/testbuild/newxen-yes
@@ -18,6 +18,5 @@ CONFIG_BALLOON = y
 CONFIG_USE_XEN_CONSOLE = y
 XEN_INTERFACE_VERSION=__XEN_LATEST_INTERFACE_VERSION__
 # The following are special: they need support from outside
-CONFIG_LIBXENEVTCHN = n
 CONFIG_LIBXENGNTTAB = n
 CONFIG_LWIP = n
diff --git a/include/lib.h b/include/lib.h
index 44696806..5f24be5d 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -155,6 +155,8 @@ do {                                                           \
 void sanity_check(void);
 
 #ifdef HAVE_LIBC
+extern struct wait_queue_head event_queue;
+
 #define FTYPE_NONE       0
 #define FTYPE_CONSOLE    1
 #define FTYPE_FILE       2
@@ -169,19 +171,9 @@ void sanity_check(void);
 #define FTYPE_TPM_TIS   11
 #define FTYPE_XENBUS    12
 #define FTYPE_GNTMAP    13
-#define FTYPE_EVTCHN    14
-#define FTYPE_N         15
+#define FTYPE_N         14
 #define FTYPE_SPARE     16
 
-LIST_HEAD(evtchn_port_list, evtchn_port_info);
-
-struct evtchn_port_info {
-        LIST_ENTRY(evtchn_port_info) list;
-        evtchn_port_t port;
-        unsigned long pending;
-        int bound;
-};
-
 struct file {
     unsigned int type;
     bool read;	/* maybe available for read */
@@ -189,9 +181,6 @@ struct file {
     union {
         int fd; /* Any fd from an upper layer. */
         void *dev;
-	struct {
-	    struct evtchn_port_list ports;
-	} evtchn;
 	struct gntmap gntmap;
     };
 };
diff --git a/lib/sys.c b/lib/sys.c
index e0ac5099..34f0193d 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -533,11 +533,6 @@ int close(int fd)
             res = lwip_close(files[fd].fd);
             break;
 #endif
-#ifdef CONFIG_LIBXENEVTCHN
-	case FTYPE_EVTCHN:
-	    minios_evtchn_close_fd(fd);
-            break;
-#endif
 #ifdef CONFIG_LIBXENGNTTAB
 	case FTYPE_GNTMAP:
 	    minios_gnttab_close_fd(fd);
@@ -770,7 +765,6 @@ static const char *const file_types[] = {
     [FTYPE_NONE]    = "none",
     [FTYPE_CONSOLE] = "console",
     [FTYPE_XENBUS]  = "xenbus",
-    [FTYPE_EVTCHN]  = "evtchn",
     [FTYPE_SOCKET]  = "socket",
     [FTYPE_TAP]     = "net",
     [FTYPE_BLK]     = "blk",
@@ -970,7 +964,6 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
 	    FD_CLR(i, exceptfds);
 	    break;
 #endif
-	case FTYPE_EVTCHN:
 	case FTYPE_TAP:
 	case FTYPE_BLK:
 	case FTYPE_KBD:
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Sun Jan 16 08:33:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 08:33:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257823.443205 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n90ym-0000YA-Lu; Sun, 16 Jan 2022 08:33:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257823.443205; Sun, 16 Jan 2022 08:33:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n90ym-0000Y3-H8; Sun, 16 Jan 2022 08:33:36 +0000
Received: by outflank-mailman (input) for mailman id 257823;
 Sun, 16 Jan 2022 08:33:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=APY9=SA=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n90yk-0008IP-OX
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 08:33:34 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fc3fcfa4-76a6-11ec-a115-11989b9578b4;
 Sun, 16 Jan 2022 09:33:31 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id E9384219A8;
 Sun, 16 Jan 2022 08:33:30 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id BF0691346A;
 Sun, 16 Jan 2022 08:33:30 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id KKZoLVrY42HyFQAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 16 Jan 2022 08:33:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fc3fcfa4-76a6-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642322010; h=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=qdHeJugvWS+GzJaTnlBhH4gNO7kfbGMjcepHl4bCr44=;
	b=NMXCYAVn3u48qz/nj5DiauAFFiSxg6SiVsgRSmzrrMeo41l5GGj4hKFz3UgACcl9kuH1qI
	PrZMTnIYatgYIgsZTiJOhz5ntI/xmkt8/0ITGZ9kNlFm4joLLK647eohlZkxocMw5P7rcW
	MXgVM7w2VUdrNRtyx2OmTa/txOY6OEg=
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: [MINIOS PATCH v3 02/12] remove gnttab specific member from struct file
Date: Sun, 16 Jan 2022 09:33:18 +0100
Message-Id: <20220116083328.26524-3-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220116083328.26524-1-jgross@suse.com>
References: <20220116083328.26524-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The gnttab specific union member in struct file is no longer
needed, so remove it.

The gnttab file type and its associated handling can be removed, too,
as libxengnttab is now supplying a struct file_ops via a call of
alloc_file_type().

This removes all contents of CONFIG_LIBXENGNTTAB guarded sections, so
this config option can be removed.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
 Config.mk                     | 1 -
 arch/x86/testbuild/all-no     | 1 -
 arch/x86/testbuild/all-yes    | 1 -
 arch/x86/testbuild/newxen-yes | 1 -
 gntmap.c                      | 2 +-
 include/lib.h                 | 4 +---
 lib/sys.c                     | 5 -----
 7 files changed, 2 insertions(+), 13 deletions(-)

diff --git a/Config.mk b/Config.mk
index 52eb26d8..1a24b30e 100644
--- a/Config.mk
+++ b/Config.mk
@@ -200,7 +200,6 @@ CONFIG-n += CONFIG_PARAVIRT
 endif
 # Support legacy CONFIG_XC value
 CONFIG_XC ?= $(libc)
-CONFIG-$(CONFIG_XC) += CONFIG_LIBXENGNTTAB
 
 CONFIG-$(lwip) += CONFIG_LWIP
 
diff --git a/arch/x86/testbuild/all-no b/arch/x86/testbuild/all-no
index 15c954ff..f79a1012 100644
--- a/arch/x86/testbuild/all-no
+++ b/arch/x86/testbuild/all-no
@@ -14,7 +14,6 @@ CONFIG_KBDFRONT = n
 CONFIG_CONSFRONT = n
 CONFIG_XENBUS = n
 CONFIG_LIBXS = n
-CONFIG_LIBXENGNTTAB = n
 CONFIG_LWIP = n
 CONFIG_BALLOON = n
 CONFIG_USE_XEN_CONSOLE = n
diff --git a/arch/x86/testbuild/all-yes b/arch/x86/testbuild/all-yes
index 9964d42f..faa3af32 100644
--- a/arch/x86/testbuild/all-yes
+++ b/arch/x86/testbuild/all-yes
@@ -17,5 +17,4 @@ CONFIG_LIBXS = y
 CONFIG_BALLOON = y
 CONFIG_USE_XEN_CONSOLE = y
 # The following are special: they need support from outside
-CONFIG_LIBXENGNTTAB = n
 CONFIG_LWIP = n
diff --git a/arch/x86/testbuild/newxen-yes b/arch/x86/testbuild/newxen-yes
index c2519938..dc83e670 100644
--- a/arch/x86/testbuild/newxen-yes
+++ b/arch/x86/testbuild/newxen-yes
@@ -18,5 +18,4 @@ CONFIG_BALLOON = y
 CONFIG_USE_XEN_CONSOLE = y
 XEN_INTERFACE_VERSION=__XEN_LATEST_INTERFACE_VERSION__
 # The following are special: they need support from outside
-CONFIG_LIBXENGNTTAB = n
 CONFIG_LWIP = n
diff --git a/gntmap.c b/gntmap.c
index 6fa1dac1..3422ab23 100644
--- a/gntmap.c
+++ b/gntmap.c
@@ -3,7 +3,7 @@
  *
  * Diego Ongaro <diego.ongaro@citrix.com>, July 2008
  *
- * Files of type FTYPE_GNTMAP contain a gntmap, which is an array of
+ * Files of libxengnttab contain a gntmap, which is an array of
  * (host address, grant handle) pairs. Grant handles come from a hypervisor map
  * operation and are needed for the corresponding unmap.
  *
diff --git a/include/lib.h b/include/lib.h
index 5f24be5d..5838b0d4 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -170,8 +170,7 @@ extern struct wait_queue_head event_queue;
 #define FTYPE_TPMFRONT  10
 #define FTYPE_TPM_TIS   11
 #define FTYPE_XENBUS    12
-#define FTYPE_GNTMAP    13
-#define FTYPE_N         14
+#define FTYPE_N         13
 #define FTYPE_SPARE     16
 
 struct file {
@@ -181,7 +180,6 @@ struct file {
     union {
         int fd; /* Any fd from an upper layer. */
         void *dev;
-	struct gntmap gntmap;
     };
 };
 
diff --git a/lib/sys.c b/lib/sys.c
index 34f0193d..6ba26294 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -533,11 +533,6 @@ int close(int fd)
             res = lwip_close(files[fd].fd);
             break;
 #endif
-#ifdef CONFIG_LIBXENGNTTAB
-	case FTYPE_GNTMAP:
-	    minios_gnttab_close_fd(fd);
-            break;
-#endif
 #ifdef CONFIG_NETFRONT
 	case FTYPE_TAP:
 	    shutdown_netfront(files[fd].dev);
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Sun Jan 16 08:33:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 08:33:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257824.443209 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n90yn-0000au-0Z; Sun, 16 Jan 2022 08:33:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257824.443209; Sun, 16 Jan 2022 08:33:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n90ym-0000aI-RJ; Sun, 16 Jan 2022 08:33:36 +0000
Received: by outflank-mailman (input) for mailman id 257824;
 Sun, 16 Jan 2022 08:33:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=APY9=SA=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n90yk-0008IQ-UY
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 08:33:35 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fc522c0f-76a6-11ec-9bbc-9dff3e4ee8c5;
 Sun, 16 Jan 2022 09:33:31 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 8B1211F45F;
 Sun, 16 Jan 2022 08:33: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 5D8631346A;
 Sun, 16 Jan 2022 08:33:31 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id GPWRFVvY42HyFQAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 16 Jan 2022 08: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: fc522c0f-76a6-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642322011; h=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=g38pTaT4/z9XKrWqRxaUROnYf4HhbDG2ikYR2ifx7WM=;
	b=mRfbTabA5NNamgetFyP0/9CEZSIsACvFyE7wvMvi7WZQbEwd9I8EF3FzbslncBWJJXw88t
	DLVcFBNXUSK0SMfQT7JY/zVBW3SfGKCWOv4WiPgKw9RX1iX+6xlAMHtYrLQNsSdh4IBZua
	pBg3lOrmPtV/d5YYpTTkDsRcNV0nAJc=
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: [MINIOS PATCH v3 05/12] use alloc_file_type() and get_file_from_fd() in tpmfront
Date: Sun, 16 Jan 2022 09:33:21 +0100
Message-Id: <20220116083328.26524-6-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220116083328.26524-1-jgross@suse.com>
References: <20220116083328.26524-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Allocate a file type dynamically via alloc_file_type().

Instead of directly accessing the files[] array use get_file_from_fd().

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- switch to struct file * parameter for callbacks
- use __attribute__((constructor))
---
 include/lib.h      |   3 +-
 include/tpmfront.h |   5 ---
 lib/sys.c          |  23 -----------
 tpmfront.c         | 100 ++++++++++++++++++++++++++++++---------------
 4 files changed, 69 insertions(+), 62 deletions(-)

diff --git a/include/lib.h b/include/lib.h
index 9dfb4689..9b7eaae7 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -167,8 +167,7 @@ extern struct wait_queue_head event_queue;
 #define FTYPE_KBD        7
 #define FTYPE_TAP        8
 #define FTYPE_BLK        9
-#define FTYPE_TPMFRONT  10
-#define FTYPE_N         11
+#define FTYPE_N         10
 #define FTYPE_SPARE     16
 
 struct file {
diff --git a/include/tpmfront.h b/include/tpmfront.h
index b7da50e3..a527371b 100644
--- a/include/tpmfront.h
+++ b/include/tpmfront.h
@@ -81,7 +81,6 @@ int tpmfront_cmd(struct tpmfront_dev* dev, uint8_t* req, size_t reqlen, uint8_t*
 int tpmfront_set_locality(struct tpmfront_dev* dev, int locality);
 
 #ifdef HAVE_LIBC
-#include <sys/stat.h>
 /* POSIX IO functions:
  * use tpmfront_open() to get a file descriptor to the tpm device
  * use write() on the fd to send a command to the backend. You must
@@ -90,10 +89,6 @@ int tpmfront_set_locality(struct tpmfront_dev* dev, int locality);
  * fstat() to get the size of the response and lseek() to seek on it.
  */
 int tpmfront_open(struct tpmfront_dev* dev);
-int tpmfront_posix_read(int fd, uint8_t* buf, size_t count);
-int tpmfront_posix_write(int fd, const uint8_t* buf, size_t count);
-int tpmfront_posix_fstat(int fd, struct stat* buf);
 #endif
 
-
 #endif
diff --git a/lib/sys.c b/lib/sys.c
index 2fc81f20..39f51980 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -28,7 +28,6 @@
 #include <netfront.h>
 #include <blkfront.h>
 #include <fbfront.h>
-#include <tpmfront.h>
 #include <xenbus.h>
 #include <xenstore.h>
 #include <poll.h>
@@ -349,11 +348,6 @@ int read(int fd, void *buf, size_t nbytes)
         case FTYPE_BLK: {
 	    return blkfront_posix_read(fd, buf, nbytes);
         }
-#endif
-#ifdef CONFIG_TPMFRONT
-        case FTYPE_TPMFRONT: {
-	    return tpmfront_posix_read(fd, buf, nbytes);
-        }
 #endif
 	default:
 	    break;
@@ -402,10 +396,6 @@ int write(int fd, const void *buf, size_t nbytes)
 #ifdef CONFIG_BLKFRONT
 	case FTYPE_BLK:
 	    return blkfront_posix_write(fd, buf, nbytes);
-#endif
-#ifdef CONFIG_TPMFRONT
-	case FTYPE_TPMFRONT:
-	    return tpmfront_posix_write(fd, buf, nbytes);
 #endif
 	default:
 	    break;
@@ -468,10 +458,6 @@ off_t lseek(int fd, off_t offset, int whence)
 #ifdef CONFIG_BLKFRONT
        case FTYPE_BLK:
           break;
-#endif
-#ifdef CONFIG_TPMFRONT
-       case FTYPE_TPMFRONT:
-          break;
 #endif
        case FTYPE_FILE:
           break;
@@ -524,11 +510,6 @@ int close(int fd)
             shutdown_blkfront(files[fd].dev);
             break;
 #endif
-#ifdef CONFIG_TPMFRONT
-	case FTYPE_TPMFRONT:
-            shutdown_tpmfront(files[fd].dev);
-            break;
-#endif
 #ifdef CONFIG_KBDFRONT
 	case FTYPE_KBD:
             shutdown_kbdfront(files[fd].dev);
@@ -613,10 +594,6 @@ int fstat(int fd, struct stat *buf)
 #ifdef CONFIG_BLKFRONT
 	case FTYPE_BLK:
 	   return blkfront_posix_fstat(fd, buf);
-#endif
-#ifdef CONFIG_TPMFRONT
-	case FTYPE_TPMFRONT:
-	   return tpmfront_posix_fstat(fd, buf);
 #endif
 	default:
 	    break;
diff --git a/tpmfront.c b/tpmfront.c
index 0a2fefc5..13163ad6 100644
--- a/tpmfront.c
+++ b/tpmfront.c
@@ -49,6 +49,10 @@
 void tpmfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data) {
    struct tpmfront_dev* dev = (struct tpmfront_dev*) data;
    tpmif_shared_page_t *shr = dev->page;
+#ifdef HAVE_LIBC
+    struct file *file = get_file_from_fd(dev->fd);
+#endif
+
    /*If we get a response when we didnt make a request, just ignore it */
    if(!dev->waiting) {
       return;
@@ -65,8 +69,9 @@ void tpmfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data) {
 
    dev->waiting = 0;
 #ifdef HAVE_LIBC
-   if(dev->fd >= 0) {
-      files[dev->fd].read = true;
+   if ( file )
+   {
+      file->read = true;
    }
 #endif
    wake_up(&dev->waitq);
@@ -405,6 +410,10 @@ int tpmfront_send(struct tpmfront_dev* dev, const uint8_t* msg, size_t length)
 #ifdef TPMFRONT_PRINT_DEBUG
    int i;
 #endif
+#ifdef HAVE_LIBC
+    struct file *file = dev ? get_file_from_fd(dev->fd) : NULL;
+#endif
+
    /* Error Checking */
    if(dev == NULL || dev->state != XenbusStateConnected) {
       TPMFRONT_ERR("Tried to send message through disconnected frontend\n");
@@ -437,9 +446,10 @@ int tpmfront_send(struct tpmfront_dev* dev, const uint8_t* msg, size_t length)
    dev->waiting = 1;
    dev->resplen = 0;
 #ifdef HAVE_LIBC
-   if(dev->fd >= 0) {
-      files[dev->fd].read = false;
-      files[dev->fd].offset = 0;
+   if ( file )
+   {
+      file->read = false;
+      file->offset = 0;
       dev->respgot = false;
    }
 #endif
@@ -529,25 +539,11 @@ int tpmfront_set_locality(struct tpmfront_dev* dev, int locality)
 
 #ifdef HAVE_LIBC
 #include <errno.h>
-int tpmfront_open(struct tpmfront_dev* dev)
-{
-   /* Silently prevent multiple opens */
-   if(dev->fd != -1) {
-      return dev->fd;
-   }
 
-   dev->fd = alloc_fd(FTYPE_TPMFRONT);
-   printk("tpmfront_open(%s) -> %d\n", dev->nodename, dev->fd);
-   files[dev->fd].dev = dev;
-   dev->respgot = false;
-   return dev->fd;
-}
-
-int tpmfront_posix_write(int fd, const uint8_t* buf, size_t count)
+static int tpmfront_posix_write(struct file *file, const void *buf, size_t count)
 {
    int rc;
-   struct tpmfront_dev* dev;
-   dev = files[fd].dev;
+   struct tpmfront_dev *dev = file->dev;
 
    if(count == 0) {
       return 0;
@@ -566,14 +562,12 @@ int tpmfront_posix_write(int fd, const uint8_t* buf, size_t count)
    return count;
 }
 
-int tpmfront_posix_read(int fd, uint8_t* buf, size_t count)
+static int tpmfront_posix_read(struct file *file, void *buf, size_t count)
 {
    int rc;
    uint8_t* dummybuf;
    size_t dummysz;
-   struct tpmfront_dev* dev;
-
-   dev = files[fd].dev;
+   struct tpmfront_dev *dev = file->dev;
 
    if(count == 0) {
       return 0;
@@ -588,29 +582,32 @@ int tpmfront_posix_read(int fd, uint8_t* buf, size_t count)
    }
 
    /* handle EOF case */
-   if(files[dev->fd].offset >= dev->resplen) {
+   if ( file->offset >= dev->resplen )
+   {
       return 0;
    }
 
    /* Compute the number of bytes and do the copy operation */
-   if((rc = min(count, dev->resplen - files[dev->fd].offset)) != 0) {
-      memcpy(buf, dev->respbuf + files[dev->fd].offset, rc);
-      files[dev->fd].offset += rc;
+   if ( (rc = min(count, dev->resplen - file->offset)) != 0 )
+   {
+      memcpy(buf, dev->respbuf + file->offset, rc);
+      file->offset += rc;
    }
 
    return rc;
 }
 
-int tpmfront_posix_fstat(int fd, struct stat* buf)
+static int tpmfront_posix_fstat(struct file *file, struct stat *buf)
 {
    uint8_t* dummybuf;
    size_t dummysz;
    int rc;
-   struct tpmfront_dev* dev = files[fd].dev;
+   struct tpmfront_dev *dev = file->dev;
 
    /* If we have a response waiting, then read it now from the backend
     * so we can get its length*/
-   if(dev->waiting || (files[dev->fd].read && !dev->respgot)) {
+   if ( dev->waiting || (file->read && !dev->respgot) )
+   {
       if ((rc = tpmfront_recv(dev, &dummybuf, &dummysz)) != 0) {
 	 errno = EIO;
 	 return -1;
@@ -626,5 +623,44 @@ int tpmfront_posix_fstat(int fd, struct stat* buf)
    return 0;
 }
 
+static int tpmfront_close_fd(struct file *file)
+{
+    shutdown_tpmfront(file->dev);
+
+    return 0;
+}
+
+static const struct file_ops tpmfront_ops = {
+    .name = "tpmfront",
+    .read = tpmfront_posix_read,
+    .write = tpmfront_posix_write,
+    .lseek = lseek_default,
+    .close = tpmfront_close_fd,
+    .fstat = tpmfront_posix_fstat,
+};
+
+static unsigned int ftype_tpmfront;
+
+__attribute__((constructor))
+static void tpmfront_initialize(void)
+{
+    ftype_tpmfront = alloc_file_type(&tpmfront_ops);
+}
+
+int tpmfront_open(struct tpmfront_dev *dev)
+{
+    struct file *file;
+
+    /* Silently prevent multiple opens */
+    if ( dev->fd != -1 )
+        return dev->fd;
+
+    dev->fd = alloc_fd(ftype_tpmfront);
+    printk("tpmfront_open(%s) -> %d\n", dev->nodename, dev->fd);
+    file = get_file_from_fd(dev->fd);
+    file->dev = dev;
+    dev->respgot = false;
+    return dev->fd;
+}
 
 #endif
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Sun Jan 16 08:33:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 08:33:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257832.443254 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n90yr-0001V0-Th; Sun, 16 Jan 2022 08:33:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257832.443254; Sun, 16 Jan 2022 08:33:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n90yr-0001Sh-7c; Sun, 16 Jan 2022 08:33:41 +0000
Received: by outflank-mailman (input) for mailman id 257832;
 Sun, 16 Jan 2022 08:33:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=APY9=SA=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n90yo-0008IP-PG
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 08:33:38 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fc7d0c98-76a6-11ec-a115-11989b9578b4;
 Sun, 16 Jan 2022 09:33:31 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 575631F3B4;
 Sun, 16 Jan 2022 08:33: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 2AF791346A;
 Sun, 16 Jan 2022 08:33:31 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 0Dc/CVvY42HyFQAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 16 Jan 2022 08: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: fc7d0c98-76a6-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642322011; h=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=z5ZEOSnl4Zm8BpIud/3/sxMgQuEGzQWgZcmgMQmThgA=;
	b=ta1KHt3mzpfTtqE/kK0s7Nq6GcCZ9DhxscohOKSJKKR4HZGpCUC5gtscn6x05/+MQfLiOr
	noUHikursRXc+lnUIl1rLfXai2fiBhdO82FHfX0VTD4MzDW3GF7tKvc1K4Ps5ZB0yn9oCb
	sGx7gjigrhbi4xQJEcIlnh3lr3PGzgY=
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: [MINIOS PATCH v3 04/12] use alloc_file_type() and get_file_from_fd() in tpm_tis
Date: Sun, 16 Jan 2022 09:33:20 +0100
Message-Id: <20220116083328.26524-5-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220116083328.26524-1-jgross@suse.com>
References: <20220116083328.26524-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Allocate a file type dynamically via alloc_file_type().

Instead of directly accessing the files[] array use get_file_from_fd().

Make some now local functions static and modify their prototypes to
match the file_ops requirements.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- switch to struct file * parameter for callbacks
- use __attribute__((constructor))
---
 include/lib.h     |   3 +-
 include/tpm_tis.h |   6 ---
 lib/sys.c         |  23 ---------
 tpm_tis.c         | 121 +++++++++++++++++++++++++++++-----------------
 4 files changed, 78 insertions(+), 75 deletions(-)

diff --git a/include/lib.h b/include/lib.h
index c5e47786..9dfb4689 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -168,8 +168,7 @@ extern struct wait_queue_head event_queue;
 #define FTYPE_TAP        8
 #define FTYPE_BLK        9
 #define FTYPE_TPMFRONT  10
-#define FTYPE_TPM_TIS   11
-#define FTYPE_N         12
+#define FTYPE_N         11
 #define FTYPE_SPARE     16
 
 struct file {
diff --git a/include/tpm_tis.h b/include/tpm_tis.h
index 86e83f13..2af974db 100644
--- a/include/tpm_tis.h
+++ b/include/tpm_tis.h
@@ -37,14 +37,11 @@ struct tpm_chip;
 
 struct tpm_chip* init_tpm_tis(unsigned long baseaddr, int localities, unsigned int irq);
 struct tpm_chip* init_tpm2_tis(unsigned long baseaddr, int localities, unsigned int irq);
-void shutdown_tpm_tis(struct tpm_chip* tpm);
 
 int tpm_tis_request_locality(struct tpm_chip* tpm, int locality);
 int tpm_tis_cmd(struct tpm_chip* tpm, uint8_t* req, size_t reqlen, uint8_t** resp, size_t* resplen);
 
 #ifdef HAVE_LIBC
-#include <sys/stat.h>
-#include <fcntl.h>
 /* POSIX IO functions:
  * use tpm_tis_open() to get a file descriptor to the tpm device
  * use write() on the fd to send a command to the backend. You must
@@ -53,9 +50,6 @@ int tpm_tis_cmd(struct tpm_chip* tpm, uint8_t* req, size_t reqlen, uint8_t** res
  * fstat() to get the size of the response and lseek() to seek on it.
  */
 int tpm_tis_open(struct tpm_chip* tpm);
-int tpm_tis_posix_read(int fd, uint8_t* buf, size_t count);
-int tpm_tis_posix_write(int fd, const uint8_t* buf, size_t count);
-int tpm_tis_posix_fstat(int fd, struct stat* buf);
 #endif
 
 #endif
diff --git a/lib/sys.c b/lib/sys.c
index 53870aa4..2fc81f20 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -29,7 +29,6 @@
 #include <blkfront.h>
 #include <fbfront.h>
 #include <tpmfront.h>
-#include <tpm_tis.h>
 #include <xenbus.h>
 #include <xenstore.h>
 #include <poll.h>
@@ -355,11 +354,6 @@ int read(int fd, void *buf, size_t nbytes)
         case FTYPE_TPMFRONT: {
 	    return tpmfront_posix_read(fd, buf, nbytes);
         }
-#endif
-#ifdef CONFIG_TPM_TIS
-        case FTYPE_TPM_TIS: {
-	    return tpm_tis_posix_read(fd, buf, nbytes);
-        }
 #endif
 	default:
 	    break;
@@ -412,10 +406,6 @@ int write(int fd, const void *buf, size_t nbytes)
 #ifdef CONFIG_TPMFRONT
 	case FTYPE_TPMFRONT:
 	    return tpmfront_posix_write(fd, buf, nbytes);
-#endif
-#ifdef CONFIG_TPM_TIS
-	case FTYPE_TPM_TIS:
-	    return tpm_tis_posix_write(fd, buf, nbytes);
 #endif
 	default:
 	    break;
@@ -482,10 +472,6 @@ off_t lseek(int fd, off_t offset, int whence)
 #ifdef CONFIG_TPMFRONT
        case FTYPE_TPMFRONT:
           break;
-#endif
-#ifdef CONFIG_TPM_TIS
-       case FTYPE_TPM_TIS:
-          break;
 #endif
        case FTYPE_FILE:
           break;
@@ -543,11 +529,6 @@ int close(int fd)
             shutdown_tpmfront(files[fd].dev);
             break;
 #endif
-#ifdef CONFIG_TPM_TIS
-	case FTYPE_TPM_TIS:
-            shutdown_tpm_tis(files[fd].dev);
-            break;
-#endif
 #ifdef CONFIG_KBDFRONT
 	case FTYPE_KBD:
             shutdown_kbdfront(files[fd].dev);
@@ -636,10 +617,6 @@ int fstat(int fd, struct stat *buf)
 #ifdef CONFIG_TPMFRONT
 	case FTYPE_TPMFRONT:
 	   return tpmfront_posix_fstat(fd, buf);
-#endif
-#ifdef CONFIG_TPM_TIS
-	case FTYPE_TPM_TIS:
-	   return tpm_tis_posix_fstat(fd, buf);
 #endif
 	default:
 	    break;
diff --git a/tpm_tis.c b/tpm_tis.c
index 477f5550..b88ec874 100644
--- a/tpm_tis.c
+++ b/tpm_tis.c
@@ -792,6 +792,9 @@ int tpm_tis_send(struct tpm_chip* tpm, uint8_t* buf, size_t len) {
    int status, burstcnt = 0;
    int count = 0;
    uint32_t ordinal;
+#ifdef HAVE_LIBC
+   struct file *file = get_file_from_fd(tpm->fd);
+#endif
 
    if(tpm_tis_request_locality(tpm, tpm->locality) < 0) {
       return -EBUSY;
@@ -844,9 +847,10 @@ int tpm_tis_send(struct tpm_chip* tpm, uint8_t* buf, size_t len) {
       }
    }
 #ifdef HAVE_LIBC
-   if(tpm->fd >= 0) {
-      files[tpm->fd].read = false;
-      files[tpm->fd].offset = 0;
+   if ( file )
+   {
+      file->read = false;
+      file->offset = 0;
    }
 #endif
    return len;
@@ -1093,6 +1097,26 @@ ssize_t tpm_getcap(struct tpm_chip *chip, uint32_t subcap_id, cap_t *cap,
         return rc;
 }
 
+static void shutdown_tpm_tis(struct tpm_chip *tpm)
+{
+    int i;
+
+    printk("Shutting down tpm_tis device\n");
+
+    iowrite32(TPM_INT_ENABLE(tpm, tpm->locality), ~TPM_GLOBAL_INT_ENABLE);
+
+    /* Unmap all of the mmio pages */
+    for ( i = 0; i < 5; ++i )
+    {
+        if ( tpm->pages[i] != NULL )
+        {
+            iounmap(tpm->pages[i], PAGE_SIZE);
+            tpm->pages[i] = NULL;
+        }
+    }
+    free(tpm);
+    return;
+}
 
 struct tpm_chip* init_tpm_tis(unsigned long baseaddr, int localities, unsigned int irq)
 {
@@ -1242,25 +1266,6 @@ abort_egress:
    return NULL;
 }
 
-void shutdown_tpm_tis(struct tpm_chip* tpm){
-   int i;
-
-   printk("Shutting down tpm_tis device\n");
-
-   iowrite32(TPM_INT_ENABLE(tpm, tpm->locality), ~TPM_GLOBAL_INT_ENABLE);
-
-   /*Unmap all of the mmio pages */
-   for(i = 0; i < 5; ++i) {
-      if(tpm->pages[i] != NULL) {
-	 iounmap(tpm->pages[i], PAGE_SIZE);
-	 tpm->pages[i] = NULL;
-      }
-   }
-   free(tpm);
-   return;
-}
-
-
 int tpm_tis_cmd(struct tpm_chip* tpm, uint8_t* req, size_t reqlen, uint8_t** resp, size_t* resplen)
 {
    if(tpm->locality < 0) {
@@ -1279,23 +1284,19 @@ int tpm_tis_cmd(struct tpm_chip* tpm, uint8_t* req, size_t reqlen, uint8_t** res
 }
 
 #ifdef HAVE_LIBC
-int tpm_tis_open(struct tpm_chip* tpm)
+#include <sys/stat.h>
+#include <fcntl.h>
+
+static int tpm_tis_close(struct file *file)
 {
-   /* Silently prevent multiple opens */
-   if(tpm->fd != -1) {
-      return tpm->fd;
-   }
+    shutdown_tpm_tis(file->dev);
 
-   tpm->fd = alloc_fd(FTYPE_TPM_TIS);
-   printk("tpm_tis_open() -> %d\n", tpm->fd);
-   files[tpm->fd].dev = tpm;
-   return tpm->fd;
+    return 0;
 }
 
-int tpm_tis_posix_write(int fd, const uint8_t* buf, size_t count)
+static int tpm_tis_posix_write(struct file *file, const void *buf, size_t count)
 {
-   struct tpm_chip* tpm;
-   tpm = files[fd].dev;
+   struct tpm_chip *tpm = file->dev;
 
    if(tpm->locality < 0) {
       printk("tpm_tis_posix_write() failed! locality not set!\n");
@@ -1319,11 +1320,10 @@ int tpm_tis_posix_write(int fd, const uint8_t* buf, size_t count)
    return count;
 }
 
-int tpm_tis_posix_read(int fd, uint8_t* buf, size_t count)
+static int tpm_tis_posix_read(struct file *file, void *buf, size_t count)
 {
    int rc;
-   struct tpm_chip* tpm;
-   tpm = files[fd].dev;
+   struct tpm_chip *tpm = file->dev;
 
    if(count == 0) {
       return 0;
@@ -1337,20 +1337,21 @@ int tpm_tis_posix_read(int fd, uint8_t* buf, size_t count)
 
 
    /* Handle EOF case */
-   if(files[fd].offset >= tpm->data_len) {
+   if ( file->offset >= tpm->data_len )
+   {
       rc = 0;
    } else {
-      rc = min(tpm->data_len - files[fd].offset, count);
-      memcpy(buf, tpm->data_buffer + files[fd].offset, rc);
+      rc = min(tpm->data_len - file->offset, count);
+      memcpy(buf, tpm->data_buffer + file->offset, rc);
    }
-   files[fd].offset += rc;
+   file->offset += rc;
    /* Reset the data pending flag */
    return rc;
 }
-int tpm_tis_posix_fstat(int fd, struct stat* buf)
+
+static int tpm_tis_posix_fstat(struct file *file, struct stat *buf)
 {
-   struct tpm_chip* tpm;
-   tpm = files[fd].dev;
+   struct tpm_chip *tpm = file->dev;
 
    buf->st_mode = O_RDWR;
    buf->st_uid = 0;
@@ -1360,6 +1361,38 @@ int tpm_tis_posix_fstat(int fd, struct stat* buf)
    return 0;
 }
 
+static const struct file_ops tpm_tis_ops = {
+    .name = "tpm_tis",
+    .read = tpm_tis_posix_read,
+    .write = tpm_tis_posix_write,
+    .lseek = lseek_default,
+    .close = tpm_tis_close,
+    .fstat = tpm_tis_posix_fstat,
+};
+
+static unsigned int ftype_tis;
+
+__attribute__((constructor))
+static void tpm_tis_initialize(void)
+{
+    ftype_tis = alloc_file_type(&tpm_tis_ops);
+}
+
+int tpm_tis_open(struct tpm_chip *tpm)
+{
+    struct file *file;
+
+    /* Silently prevent multiple opens */
+    if ( tpm->fd != -1 )
+        return tpm->fd;
+
+    tpm->fd = alloc_fd(ftype_tis);
+    printk("tpm_tis_open() -> %d\n", tpm->fd);
+    file = get_file_from_fd(tpm->fd);
+    file->dev = tpm;
+    return tpm->fd;
+}
+
 /* TPM 2.0 */
 
 /*TPM2.0 Selftest*/
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Sun Jan 16 08:33:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 08:33:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257833.443261 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n90yt-0001g7-3g; Sun, 16 Jan 2022 08:33:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257833.443261; Sun, 16 Jan 2022 08: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 1n90ys-0001b6-4l; Sun, 16 Jan 2022 08:33:42 +0000
Received: by outflank-mailman (input) for mailman id 257833;
 Sun, 16 Jan 2022 08:33:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=APY9=SA=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n90yo-0008IQ-Vd
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 08:33:38 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fd053218-76a6-11ec-9bbc-9dff3e4ee8c5;
 Sun, 16 Jan 2022 09:33:32 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id B7067219C8;
 Sun, 16 Jan 2022 08:33:32 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 8DEF31346A;
 Sun, 16 Jan 2022 08:33:32 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id oIN0IVzY42HyFQAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 16 Jan 2022 08:33:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fd053218-76a6-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642322012; h=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=sE2ME2yl3H92H6CBanzgJAMhj6JgWCncjlIia2KP7ss=;
	b=sVHsnUB42fimeyRpdY0mC4n6za+sNhiKzqnZBmPUpban2shE3YrSiIanyFrFGlGvp/uomA
	PaodsxbHpsaWadBuoc4vldB73m98rAZLpc0HCIW4DYCYMBw+uwEQOh2WhQXYApaANnxCxH
	4R74J0fouMHpIQVY8p6V752MtpM3Vjw=
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: [MINIOS PATCH v3 11/12] add struct file_ops for FTYPE_FILE
Date: Sun, 16 Jan 2022 09:33:27 +0100
Message-Id: <20220116083328.26524-12-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220116083328.26524-1-jgross@suse.com>
References: <20220116083328.26524-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

FTYPE_FILE is the last relevant file type without a struct file_ops.
Add it.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
 lib/sys.c | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/lib/sys.c b/lib/sys.c
index 538d6e7b..7f3dc4e4 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -99,6 +99,11 @@ static const struct file_ops file_ops_none = {
     .name = "none",
 };
 
+static const struct file_ops file_file_ops = {
+    .name = "file",
+    .lseek = lseek_default,
+};
+
 #ifdef HAVE_LWIP
 static int socket_read(struct file *file, void *buf, size_t nbytes)
 {
@@ -157,6 +162,7 @@ static const struct file_ops *file_ops[FTYPE_N + FTYPE_SPARE] = {
 #ifdef CONFIG_CONSFRONT
     [FTYPE_CONSOLE] = &console_ops,
 #endif
+    [FTYPE_FILE] = &file_file_ops,
 #ifdef HAVE_LWIP
     [FTYPE_SOCKET] = &socket_ops,
 #endif
@@ -415,16 +421,9 @@ off_t lseek(int fd, off_t offset, int whence)
     if ( ops->lseek )
         return ops->lseek(file, offset, whence);
 
-    switch(file->type) {
-       case FTYPE_FILE:
-          break;
-       default:
-          /* Not implemented for this filetype */
-          errno = ESPIPE;
-          return (off_t) -1;
-    }
-
-    return lseek_default(file, offset, whence);
+    /* Not implemented for this filetype */
+    errno = ESPIPE;
+    return (off_t) -1;
 }
 
 int fsync(int fd) {
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Sun Jan 16 08:33:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 08:33:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257835.443268 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n90yt-0001sG-Nv; Sun, 16 Jan 2022 08:33:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257835.443268; Sun, 16 Jan 2022 08:33:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n90yt-0001oe-8s; Sun, 16 Jan 2022 08:33:43 +0000
Received: by outflank-mailman (input) for mailman id 257835;
 Sun, 16 Jan 2022 08:33:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=APY9=SA=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n90yp-0008IP-PN
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 08:33:39 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fcddc162-76a6-11ec-a115-11989b9578b4;
 Sun, 16 Jan 2022 09:33:32 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 00A211F3B2;
 Sun, 16 Jan 2022 08:33:32 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id C14431346A;
 Sun, 16 Jan 2022 08:33:31 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id SBf1LVvY42HyFQAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 16 Jan 2022 08: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: fcddc162-76a6-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642322012; h=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=V/vC7tx78nDm4GqTKex/CmQNpmhFP/CrwSTFfFKDiV0=;
	b=GNbSZjwy7POyyXYRYjJBwE0+AievuggavYIBPtCINlJ6RJj6rMv5rduHp2JCvUN/g40k/l
	msxIrrAuYJr2WFo75sNf6pGbDdMSyQgpvjV1YvM8k32Zl8rZ+P/7xJETUIZ8Dqe07LobjF
	C/1ZOSGWsyRMhepceTlQyAyubIgnM6s=
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: [MINIOS PATCH v3 07/12] use alloc_file_type() and get_file_from_fd() in netfront
Date: Sun, 16 Jan 2022 09:33:23 +0100
Message-Id: <20220116083328.26524-8-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220116083328.26524-1-jgross@suse.com>
References: <20220116083328.26524-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Allocate the file type dynamically via alloc_file_type().

Instead of directly accessing the files[] array use get_file_from_fd().

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- switch to struct file * parameter for callbacks
- use __attribute__((constructor))
---
 include/lib.h      |  3 +--
 include/netfront.h |  3 ++-
 lib/sys.c          | 23 ----------------
 netfront.c         | 65 +++++++++++++++++++++++++++++++++++++++-------
 4 files changed, 59 insertions(+), 35 deletions(-)

diff --git a/include/lib.h b/include/lib.h
index 2f472b00..b0d08807 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -165,8 +165,7 @@ extern struct wait_queue_head event_queue;
 #define FTYPE_SAVEFILE   5
 #define FTYPE_FB         6
 #define FTYPE_KBD        7
-#define FTYPE_TAP        8
-#define FTYPE_N          9
+#define FTYPE_N          8
 #define FTYPE_SPARE     16
 
 struct file {
diff --git a/include/netfront.h b/include/netfront.h
index ec641c80..75080c26 100644
--- a/include/netfront.h
+++ b/include/netfront.h
@@ -10,7 +10,8 @@ struct netfront_dev *init_netfront(char *nodename,
                                    char **ip);
 char *netfront_get_netmask(struct netfront_dev *dev);
 char *netfront_get_gateway(struct netfront_dev *dev);
-void netfront_xmit(struct netfront_dev *dev, unsigned char* data,int len);
+void netfront_xmit(struct netfront_dev *dev, const unsigned char *data,
+                   int len);
 void shutdown_netfront(struct netfront_dev *dev);
 void suspend_netfront(void);
 void resume_netfront(void);
diff --git a/lib/sys.c b/lib/sys.c
index 90684335..44fe848c 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -309,17 +309,6 @@ int read(int fd, void *buf, size_t nbytes)
         case FTYPE_SOCKET:
 	    return lwip_read(files[fd].fd, buf, nbytes);
 #endif
-#ifdef CONFIG_NETFRONT
-	case FTYPE_TAP: {
-	    ssize_t ret;
-	    ret = netfront_receive(files[fd].dev, buf, nbytes);
-	    if (ret <= 0) {
-		errno = EAGAIN;
-		return -1;
-	    }
-	    return ret;
-	}
-#endif
 #ifdef CONFIG_KBDFRONT
         case FTYPE_KBD: {
             int ret, n;
@@ -382,11 +371,6 @@ int write(int fd, const void *buf, size_t nbytes)
 #ifdef HAVE_LWIP
 	case FTYPE_SOCKET:
 	    return lwip_write(files[fd].fd, (void*) buf, nbytes);
-#endif
-#ifdef CONFIG_NETFRONT
-	case FTYPE_TAP:
-	    netfront_xmit(files[fd].dev, (void*) buf, nbytes);
-	    return nbytes;
 #endif
 	default:
 	    break;
@@ -487,11 +471,6 @@ int close(int fd)
             res = lwip_close(files[fd].fd);
             break;
 #endif
-#ifdef CONFIG_NETFRONT
-	case FTYPE_TAP:
-	    shutdown_netfront(files[fd].dev);
-            break;
-#endif
 #ifdef CONFIG_KBDFRONT
 	case FTYPE_KBD:
             shutdown_kbdfront(files[fd].dev);
@@ -687,7 +666,6 @@ static const char *const file_types[] = {
     [FTYPE_NONE]    = "none",
     [FTYPE_CONSOLE] = "console",
     [FTYPE_SOCKET]  = "socket",
-    [FTYPE_TAP]     = "net",
     [FTYPE_KBD]     = "kbd",
     [FTYPE_FB]      = "fb",
 };
@@ -872,7 +850,6 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
                 n++;
 	    FD_CLR(i, exceptfds);
 	    break;
-	case FTYPE_TAP:
 	case FTYPE_KBD:
 	case FTYPE_FB:
 	    if (FD_ISSET(i, readfds)) {
diff --git a/netfront.c b/netfront.c
index 76964514..164fdc66 100644
--- a/netfront.c
+++ b/netfront.c
@@ -248,14 +248,14 @@ void netfront_select_handler(evtchn_port_t port, struct pt_regs *regs, void *dat
 {
     int flags;
     struct netfront_dev *dev = data;
-    int fd = dev->fd;
+    struct file *file = get_file_from_fd(dev->fd);
 
     local_irq_save(flags);
     network_tx_buf_gc(dev);
     local_irq_restore(flags);
 
-    if (fd != -1)
-        files[fd].read = true;
+    if ( file )
+        file->read = true;
     wake_up(&netfront_queue);
 }
 #endif
@@ -565,8 +565,53 @@ error:
 }
 
 #ifdef HAVE_LIBC
+static int netfront_read(struct file *file, void *buf, size_t nbytes)
+{
+    ssize_t ret;
+
+    ret = netfront_receive(file->dev, buf, nbytes);
+    if ( ret <= 0 )
+    {
+        errno = EAGAIN;
+        return -1;
+    }
+
+    return ret;
+}
+
+static int netfront_write(struct file *file, const void *buf, size_t nbytes)
+{
+    netfront_xmit(file->dev, buf, nbytes);
+
+    return nbytes;
+}
+
+static int netfront_close_fd(struct file *file)
+{
+    shutdown_netfront(file->dev);
+
+    return 0;
+}
+
+static const struct file_ops netfront_ops = {
+    .name = "net",
+    .read = netfront_read,
+    .write = netfront_write,
+    .close = netfront_close_fd,
+    .select_rd = select_read_flag,
+};
+
+static unsigned int ftype_netfront;
+
+__attribute__((constructor))
+static void netfront_initialize(void)
+{
+    ftype_netfront = alloc_file_type(&netfront_ops);
+}
+
 int netfront_tap_open(char *nodename) {
     struct netfront_dev *dev;
+    struct file *file;
 
     dev = init_netfront(nodename, NETIF_SELECT_RX, NULL, NULL);
     if (!dev) {
@@ -574,9 +619,10 @@ int netfront_tap_open(char *nodename) {
 	errno = EIO;
 	return -1;
     }
-    dev->fd = alloc_fd(FTYPE_TAP);
+    dev->fd = alloc_fd(ftype_netfront);
     printk("tap_open(%s) -> %d\n", nodename, dev->fd);
-    files[dev->fd].dev = dev;
+    file = get_file_from_fd(dev->fd);
+    file->dev = dev;
     return dev->fd;
 }
 #endif
@@ -720,7 +766,7 @@ void init_rx_buffers(struct netfront_dev *dev)
 }
 
 
-void netfront_xmit(struct netfront_dev *dev, unsigned char* data,int len)
+void netfront_xmit(struct netfront_dev *dev, const unsigned char *data, int len)
 {
     int flags;
     struct netif_tx_request *tx;
@@ -772,7 +818,8 @@ void netfront_xmit(struct netfront_dev *dev, unsigned char* data,int len)
 ssize_t netfront_receive(struct netfront_dev *dev, unsigned char *data, size_t len)
 {
     unsigned long flags;
-    int fd = dev->fd;
+    struct file *file = get_file_from_fd(dev->fd);
+
     ASSERT(current == main_thread);
 
     dev->rlen = 0;
@@ -781,9 +828,9 @@ ssize_t netfront_receive(struct netfront_dev *dev, unsigned char *data, size_t l
 
     local_irq_save(flags);
     network_rx(dev);
-    if (!dev->rlen && fd != -1)
+    if ( !dev->rlen && file )
         /* No data for us, make select stop returning */
-        files[fd].read = false;
+        file->read = false;
     /* Before re-enabling the interrupts, in case a packet just arrived in the
      * meanwhile. */
     local_irq_restore(flags);
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Sun Jan 16 08:33:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 08:33:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257838.443286 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n90yw-0002JR-85; Sun, 16 Jan 2022 08:33:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257838.443286; Sun, 16 Jan 2022 08: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 1n90yv-0002Ef-7M; Sun, 16 Jan 2022 08:33:45 +0000
Received: by outflank-mailman (input) for mailman id 257838;
 Sun, 16 Jan 2022 08:33:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=APY9=SA=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n90yq-0008IQ-VW
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 08:33:40 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fd22d509-76a6-11ec-9bbc-9dff3e4ee8c5;
 Sun, 16 Jan 2022 09:33:32 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id E6C091F3B3;
 Sun, 16 Jan 2022 08:33:32 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id BCFAB1346A;
 Sun, 16 Jan 2022 08:33:32 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id EPjeLFzY42HyFQAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 16 Jan 2022 08:33:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fd22d509-76a6-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642322012; h=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=oOgPnC87mBVmQF7jR57eu5ZPcD/ugF9PvO1qiNK3tw0=;
	b=HdBkVf2IlC6eWGmvrIixjb+2K/YwN1MUNDEScGcmGfxlV4b5RnkNiXoNxsQ5AZohqT2jFe
	+feJmN4FboDawfwO5jShMtHnttg1SpDpZmcS68zURnwstJxl4Smf2F8Zlp2AhoO4zFJjPi
	rDf7PtjLkmYTgBg3u82uLB3XHJHEF/w=
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: [MINIOS PATCH v3 12/12] make files array private to sys.c
Date: Sun, 16 Jan 2022 09:33:28 +0100
Message-Id: <20220116083328.26524-13-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220116083328.26524-1-jgross@suse.com>
References: <20220116083328.26524-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

There is no user of the files[] array outside of lib/sys.c left, so
it can be made static.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
 include/lib.h | 2 --
 lib/sys.c     | 2 +-
 2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/include/lib.h b/include/lib.h
index e815e0a3..bec99646 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -175,8 +175,6 @@ struct file {
     };
 };
 
-extern struct file files[];
-
 struct file_ops {
     const char *name;
     int (*read)(struct file *file, void *buf, size_t nbytes);
diff --git a/lib/sys.c b/lib/sys.c
index 7f3dc4e4..8f8a3de2 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -89,7 +89,7 @@ extern void minios_evtchn_close_fd(int fd);
 extern void minios_gnttab_close_fd(int fd);
 
 pthread_mutex_t fd_lock = PTHREAD_MUTEX_INITIALIZER;
-struct file files[NOFILE] = {
+static struct file files[NOFILE] = {
     { .type = FTYPE_CONSOLE }, /* stdin */
     { .type = FTYPE_CONSOLE }, /* stdout */
     { .type = FTYPE_CONSOLE }, /* stderr */
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Sun Jan 16 08:37:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 08:37:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257841.443322 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9122-0006Zf-BR; Sun, 16 Jan 2022 08:36:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257841.443322; Sun, 16 Jan 2022 08: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 1n9122-0006ZI-4U; Sun, 16 Jan 2022 08:36:58 +0000
Received: by outflank-mailman (input) for mailman id 257841;
 Sun, 16 Jan 2022 08:36:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=APY9=SA=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n90ys-0008IP-Pp
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 08:33:42 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fcf64275-76a6-11ec-a115-11989b9578b4;
 Sun, 16 Jan 2022 09:33:32 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 27B76219A8;
 Sun, 16 Jan 2022 08:33:32 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id EFD8113AB5;
 Sun, 16 Jan 2022 08:33:31 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 8IJYOVvY42HyFQAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 16 Jan 2022 08: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: fcf64275-76a6-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642322012; h=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=EyEnGVB5vj2rXALZOQkxMfap/9vtF59SnM7EBGmKPBU=;
	b=XTt8ZgVkevEntWYLIy95AiISyMPJcQd+OeXPsM85X6QLSBshhnH7Lk7XZHaeT0mJOsl+bo
	VZbvoXtK6Y2pb/4KCflxof1UPEAEFsACyvVP9Bl59o2J2FQHjpF5U2kD96+bBON7wabze6
	C5BGQKzQ1e+KX9SbXApJT2Q2RzCERNg=
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: [MINIOS PATCH v3 08/12] use alloc_file_type() and get_file_from_fd() in fbfront
Date: Sun, 16 Jan 2022 09:33:24 +0100
Message-Id: <20220116083328.26524-9-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220116083328.26524-1-jgross@suse.com>
References: <20220116083328.26524-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Allocate file types dynamically via alloc_file_type().

Instead of directly accessing the files[] array use get_file_from_fd().

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- switch to struct file * parameter for callbacks
- use __attribute__((constructor))
---
 fbfront.c     | 127 ++++++++++++++++++++++++++++++++++++++++++--------
 include/lib.h |   4 +-
 lib/sys.c     |  47 -------------------
 3 files changed, 108 insertions(+), 70 deletions(-)

diff --git a/fbfront.c b/fbfront.c
index 1e055fb0..360a9cf6 100644
--- a/fbfront.c
+++ b/fbfront.c
@@ -14,6 +14,9 @@
 #include <mini-os/xmalloc.h>
 #include <mini-os/fbfront.h>
 #include <mini-os/lib.h>
+#ifdef HAVE_LIBC
+#include <errno.h>
+#endif
 
 DECLARE_WAIT_QUEUE_HEAD(kbdfront_queue);
 
@@ -42,10 +45,10 @@ void kbdfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
 {
 #ifdef HAVE_LIBC
     struct kbdfront_dev *dev = data;
-    int fd = dev->fd;
+    struct file *file = get_file_from_fd(dev->fd);
 
-    if (fd != -1)
-        files[fd].read = true;
+    if ( file )
+        file->read = true;
 #endif
     wake_up(&kbdfront_queue);
 }
@@ -204,10 +207,12 @@ int kbdfront_receive(struct kbdfront_dev *dev, union xenkbd_in_event *buf, int n
     struct xenkbd_page *page = dev->page;
     uint32_t prod, cons;
     int i;
-
 #ifdef HAVE_LIBC
-    if (dev->fd != -1) {
-        files[dev->fd].read = false;
+    struct file *file = get_file_from_fd(dev->fd);
+
+    if ( file )
+    {
+        file->read = false;
         mb(); /* Make sure to let the handler set read to 1 before we start looking at the ring */
     }
 #endif
@@ -227,9 +232,9 @@ int kbdfront_receive(struct kbdfront_dev *dev, union xenkbd_in_event *buf, int n
     notify_remote_via_evtchn(dev->evtchn);
 
 #ifdef HAVE_LIBC
-    if (cons != prod && dev->fd != -1)
+    if ( cons != prod && file )
         /* still some events to read */
-        files[dev->fd].read = true;
+        file->read = true;
 #endif
 
     return i;
@@ -298,11 +303,51 @@ close_kbdfront:
 }
 
 #ifdef HAVE_LIBC
+static int kbd_read(struct file *file, void *buf, size_t nbytes)
+{
+    int ret, n;
+
+    n = nbytes / sizeof(union xenkbd_in_event);
+    ret = kbdfront_receive(file->dev, buf, n);
+    if ( ret <= 0 )
+    {
+        errno = EAGAIN;
+        return -1;
+    }
+
+    return ret * sizeof(union xenkbd_in_event);
+}
+
+static int kbd_close_fd(struct file *file)
+{
+    shutdown_kbdfront(file->dev);
+
+    return 0;
+}
+
+static struct file_ops kbd_ops = {
+    .name = "kbd",
+    .read = kbd_read,
+    .close = kbd_close_fd,
+    .select_rd = select_read_flag,
+};
+
+static unsigned int ftype_kbd;
+
+__attribute__((constructor))
+static void kbdfront_initialize(void)
+{
+    ftype_kbd = alloc_file_type(&kbd_ops);
+}
+
 int kbdfront_open(struct kbdfront_dev *dev)
 {
-    dev->fd = alloc_fd(FTYPE_KBD);
+    struct file *file;
+
+    dev->fd = alloc_fd(ftype_kbd);
     printk("kbd_open(%s) -> %d\n", dev->nodename, dev->fd);
-    files[dev->fd].dev = dev;
+    file = get_file_from_fd(dev->fd);
+    file->dev = dev;
     return dev->fd;
 }
 #endif
@@ -346,10 +391,10 @@ void fbfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
 {
 #ifdef HAVE_LIBC
     struct fbfront_dev *dev = data;
-    int fd = dev->fd;
+    struct file *file = get_file_from_fd(dev->fd);
 
-    if (fd != -1)
-        files[fd].read = true;
+    if ( file )
+        file->read = true;
 #endif
     wake_up(&fbfront_queue);
 }
@@ -373,10 +418,12 @@ int fbfront_receive(struct fbfront_dev *dev, union xenfb_in_event *buf, int n)
     struct xenfb_page *page = dev->page;
     uint32_t prod, cons;
     int i;
-
 #ifdef HAVE_LIBC
-    if (dev->fd != -1) {
-        files[dev->fd].read = false;
+    struct file *file = get_file_from_fd(dev->fd);
+
+    if ( file )
+    {
+        file->read = false;
         mb(); /* Make sure to let the handler set read to 1 before we start looking at the ring */
     }
 #endif
@@ -396,9 +443,9 @@ int fbfront_receive(struct fbfront_dev *dev, union xenfb_in_event *buf, int n)
     notify_remote_via_evtchn(dev->evtchn);
 
 #ifdef HAVE_LIBC
-    if (cons != prod && dev->fd != -1)
+    if ( cons != prod && file )
         /* still some events to read */
-        files[dev->fd].read = true;
+        file->read = true;
 #endif
 
     return i;
@@ -699,11 +746,51 @@ close_fbfront:
 }
 
 #ifdef HAVE_LIBC
+static int fbfront_read(struct file *file, void *buf, size_t nbytes)
+{
+    int ret, n;
+
+    n = nbytes / sizeof(union xenfb_in_event);
+    ret = fbfront_receive(file->dev, buf, n);
+    if ( ret <= 0 )
+    {
+        errno = EAGAIN;
+        return -1;
+    }
+
+    return ret * sizeof(union xenfb_in_event);
+}
+
+static int fbfront_close_fd(struct file *file)
+{
+    shutdown_fbfront(file->dev);
+
+    return 0;
+}
+
+static const struct file_ops fb_ops = {
+    .name = "fb",
+    .read = fbfront_read,
+    .close = fbfront_close_fd,
+    .select_rd = select_read_flag,
+};
+
+static unsigned int ftype_fb;
+
+__attribute__((constructor))
+static void fbfront_initialize(void)
+{
+    ftype_fb = alloc_file_type(&fb_ops);
+}
+
 int fbfront_open(struct fbfront_dev *dev)
 {
-    dev->fd = alloc_fd(FTYPE_FB);
+    struct file *file;
+
+    dev->fd = alloc_fd(ftype_fb);
     printk("fb_open(%s) -> %d\n", dev->nodename, dev->fd);
-    files[dev->fd].dev = dev;
+    file = get_file_from_fd(dev->fd);
+    file->dev = dev;
     return dev->fd;
 }
 #endif
diff --git a/include/lib.h b/include/lib.h
index b0d08807..b1beeed3 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -163,9 +163,7 @@ extern struct wait_queue_head event_queue;
 #define FTYPE_SOCKET     3
 #define FTYPE_MEM        4
 #define FTYPE_SAVEFILE   5
-#define FTYPE_FB         6
-#define FTYPE_KBD        7
-#define FTYPE_N          8
+#define FTYPE_N          6
 #define FTYPE_SPARE     16
 
 struct file {
diff --git a/lib/sys.c b/lib/sys.c
index 44fe848c..db26fd2d 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -308,30 +308,6 @@ int read(int fd, void *buf, size_t nbytes)
 #ifdef HAVE_LWIP
         case FTYPE_SOCKET:
 	    return lwip_read(files[fd].fd, buf, nbytes);
-#endif
-#ifdef CONFIG_KBDFRONT
-        case FTYPE_KBD: {
-            int ret, n;
-            n = nbytes / sizeof(union xenkbd_in_event);
-            ret = kbdfront_receive(files[fd].dev, buf, n);
-	    if (ret <= 0) {
-		errno = EAGAIN;
-		return -1;
-	    }
-	    return ret * sizeof(union xenkbd_in_event);
-        }
-#endif
-#ifdef CONFIG_FBFRONT
-        case FTYPE_FB: {
-            int ret, n;
-            n = nbytes / sizeof(union xenfb_in_event);
-            ret = fbfront_receive(files[fd].dev, buf, n);
-	    if (ret <= 0) {
-		errno = EAGAIN;
-		return -1;
-	    }
-	    return ret * sizeof(union xenfb_in_event);
-        }
 #endif
 	default:
 	    break;
@@ -471,16 +447,6 @@ int close(int fd)
             res = lwip_close(files[fd].fd);
             break;
 #endif
-#ifdef CONFIG_KBDFRONT
-	case FTYPE_KBD:
-            shutdown_kbdfront(files[fd].dev);
-            break;
-#endif
-#ifdef CONFIG_FBFRONT
-	case FTYPE_FB:
-            shutdown_fbfront(files[fd].dev);
-            break;
-#endif
 #ifdef CONFIG_CONSFRONT
         case FTYPE_SAVEFILE:
         case FTYPE_CONSOLE:
@@ -666,8 +632,6 @@ static const char *const file_types[] = {
     [FTYPE_NONE]    = "none",
     [FTYPE_CONSOLE] = "console",
     [FTYPE_SOCKET]  = "socket",
-    [FTYPE_KBD]     = "kbd",
-    [FTYPE_FB]      = "fb",
 };
 
 static const char *get_type_name(unsigned int type)
@@ -850,17 +814,6 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
                 n++;
 	    FD_CLR(i, exceptfds);
 	    break;
-	case FTYPE_KBD:
-	case FTYPE_FB:
-	    if (FD_ISSET(i, readfds)) {
-		if (files[i].read)
-		    n++;
-		else
-		    FD_CLR(i, readfds);
-	    }
-	    FD_CLR(i, writefds);
-	    FD_CLR(i, exceptfds);
-	    break;
 #ifdef HAVE_LWIP
 	case FTYPE_SOCKET:
 	    if (FD_ISSET(i, readfds)) {
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Sun Jan 16 08:37:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 08:37:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257847.443336 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n912o-0007GK-Jl; Sun, 16 Jan 2022 08:37:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257847.443336; Sun, 16 Jan 2022 08:37:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n912o-0007GD-Ft; Sun, 16 Jan 2022 08:37:46 +0000
Received: by outflank-mailman (input) for mailman id 257847;
 Sun, 16 Jan 2022 08:37:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=APY9=SA=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n90yu-0008IP-Py
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 08:33:45 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fd1a925e-76a6-11ec-a115-11989b9578b4;
 Sun, 16 Jan 2022 09:33:32 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 5A1D7219C7;
 Sun, 16 Jan 2022 08:33:32 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 2E8D01346A;
 Sun, 16 Jan 2022 08:33:32 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id gPIjClzY42HyFQAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 16 Jan 2022 08:33:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fd1a925e-76a6-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642322012; h=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=LVU0gEoX6rgZcZx+F07Qd6YUFiSDhtCjunERzqwuuYk=;
	b=kj5H3Kwbv0IQeztJ2dd0pWzgAEKjc2F6gZ1nJtUuQfy6YV6Cjl4u6ZTGGeKwgTo7EAVsDX
	ButBi2+MBU5DgfFtoLlRBAVhyGiq0dbQNegG0SPOxnAVadBQ5XZW+wBukIZ5YCu3/ECgWD
	ERv+eG/nVxiPO4IgDxOPcTj9GDOcYDo=
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: [MINIOS PATCH v3 09/12] use file_ops and get_file_from_fd() for console
Date: Sun, 16 Jan 2022 09:33:25 +0100
Message-Id: <20220116083328.26524-10-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220116083328.26524-1-jgross@suse.com>
References: <20220116083328.26524-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add struct file_ops for the console related file types (FTYPE_CONSOLE
and savefile). FTYPE_CONSOLE remains statically defined, as it is used
to statically init stdin, stdout and stderr.

Instead of directly accessing the files[] array use get_file_from_fd().

With CONSOLE now handled via file_ops the bogus file descriptor case in
select_poll() now needs to be handled more explicit instead of dropping
into console handling, assuming that this case was basically meant to
cover SAVEFILE.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- switch to struct file * parameter for callbacks
- use __attribute__((constructor))
- make console_print() take a const pointer (Andrew Cooper)
---
 console/console.c      |   2 +-
 console/xenbus.c       | 112 +++++++++++++++++++++++++++++++++++++++++
 console/xencons_ring.c |   6 +--
 include/console.h      |   7 ++-
 include/lib.h          |   3 +-
 lib/sys.c              |  87 ++++++++------------------------
 6 files changed, 144 insertions(+), 73 deletions(-)

diff --git a/console/console.c b/console/console.c
index af1a6dd3..68c8435e 100644
--- a/console/console.c
+++ b/console/console.c
@@ -76,7 +76,7 @@ void xencons_tx(void)
 #endif
 
 
-void console_print(struct consfront_dev *dev, char *data, int length)
+void console_print(struct consfront_dev *dev, const char *data, int length)
 {
     char *curr_char, saved_char;
     char copied_str[length+1];
diff --git a/console/xenbus.c b/console/xenbus.c
index 05fc31c0..d8950454 100644
--- a/console/xenbus.c
+++ b/console/xenbus.c
@@ -192,3 +192,115 @@ void fini_consfront(struct consfront_dev *dev)
 {
     if (dev) free_consfront(dev);
 }
+
+#ifdef HAVE_LIBC
+static int consfront_read(struct file *file, void *buf, size_t nbytes)
+{
+    int ret;
+    DEFINE_WAIT(w);
+
+    while ( 1 )
+    {
+        add_waiter(w, console_queue);
+        ret = xencons_ring_recv(file->dev, buf, nbytes);
+        if ( ret )
+            break;
+        schedule();
+    }
+
+    remove_waiter(w, console_queue);
+
+    return ret;
+}
+
+static int savefile_write(struct file *file, const void *buf, size_t nbytes)
+{
+    int ret = 0, tot = nbytes;
+
+    while ( nbytes > 0 )
+    {
+        ret = xencons_ring_send(file->dev, buf, nbytes);
+        nbytes -= ret;
+        buf = (char *)buf + ret;
+    }
+
+    return tot - nbytes;
+}
+
+static int console_write(struct file *file, const void *buf, size_t nbytes)
+{
+    console_print(file->dev, buf, nbytes);
+
+    return nbytes;
+}
+
+static int consfront_close_fd(struct file *file)
+{
+    fini_consfront(file->dev);
+
+    return 0;
+}
+
+static int consfront_fstat(struct file *file, struct stat *buf)
+{
+    buf->st_mode = S_IRUSR | S_IWUSR;
+    buf->st_mode |= (file->type == FTYPE_CONSOLE) ? S_IFCHR : S_IFREG;
+    buf->st_atime = buf->st_mtime = buf->st_ctime = time(NULL);
+
+    return 0;
+}
+
+static bool consfront_select_rd(struct file *file)
+{
+    return xencons_ring_avail(file->dev);
+}
+
+static const struct file_ops savefile_ops = {
+    .name = "savefile",
+    .read = consfront_read,
+    .write = savefile_write,
+    .close = consfront_close_fd,
+    .fstat = consfront_fstat,
+    .select_rd = consfront_select_rd,
+    .select_wr = select_yes,
+};
+
+const struct file_ops console_ops = {
+    .name = "console",
+    .read = consfront_read,
+    .write = console_write,
+    .close = consfront_close_fd,
+    .fstat = consfront_fstat,
+    .select_rd = consfront_select_rd,
+    .select_wr = select_yes,
+};
+
+static unsigned int ftype_savefile;
+
+__attribute__((constructor))
+static void consfront_initialize(void)
+{
+    ftype_savefile = alloc_file_type(&savefile_ops);
+}
+
+int open_consfront(char *nodename)
+{
+    struct consfront_dev *dev;
+    struct file *file;
+
+    dev = init_consfront(nodename);
+    if ( !dev )
+        return -1;
+
+    dev->fd = alloc_fd(nodename ? ftype_savefile : FTYPE_CONSOLE);
+    file = get_file_from_fd(dev->fd);
+    if ( !file )
+    {
+        fini_consfront(dev);
+        return -1;
+    }
+    file->dev = dev;
+
+    return dev->fd;
+}
+#endif
diff --git a/console/xencons_ring.c b/console/xencons_ring.c
index c348f3ce..efedf46b 100644
--- a/console/xencons_ring.c
+++ b/console/xencons_ring.c
@@ -99,10 +99,10 @@ void console_handle_input(evtchn_port_t port, struct pt_regs *regs, void *data)
 {
 	struct consfront_dev *dev = (struct consfront_dev *) data;
 #ifdef HAVE_LIBC
-        int fd = dev ? dev->fd : -1;
+        struct file *file = dev ? get_file_from_fd(dev->fd) : NULL;
 
-        if (fd != -1)
-            files[fd].read = true;
+        if ( file )
+            file->read = true;
 
         wake_up(&console_queue);
 #else
diff --git a/include/console.h b/include/console.h
index 0d7bf077..e76e4234 100644
--- a/include/console.h
+++ b/include/console.h
@@ -39,6 +39,7 @@
 #include <mini-os/os.h>
 #include <mini-os/traps.h>
 #include <mini-os/types.h>
+#include <mini-os/lib.h>
 #include <xen/grant_table.h>
 #include <xenbus.h>
 #include <xen/io/console.h>
@@ -77,7 +78,7 @@ void xencons_tx(void);
 
 void get_console(void *p);
 void init_console(void);
-void console_print(struct consfront_dev *dev, char *data, int length);
+void console_print(struct consfront_dev *dev, const char *data, int length);
 void fini_consfront(struct consfront_dev *dev);
 void suspend_console(void);
 void resume_console(void);
@@ -93,5 +94,9 @@ int xencons_ring_send_no_notify(struct consfront_dev *dev, const char *data, uns
 int xencons_ring_avail(struct consfront_dev *dev);
 int xencons_ring_recv(struct consfront_dev *dev, char *data, unsigned len);
 void free_consfront(struct consfront_dev *dev);
+#ifdef HAVE_LIBC
+extern const struct file_ops console_ops;
+int open_consfront(char *nodename);
+#endif
 
 #endif /* _LIB_CONSOLE_H_ */
diff --git a/include/lib.h b/include/lib.h
index b1beeed3..e815e0a3 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -162,8 +162,7 @@ extern struct wait_queue_head event_queue;
 #define FTYPE_FILE       2
 #define FTYPE_SOCKET     3
 #define FTYPE_MEM        4
-#define FTYPE_SAVEFILE   5
-#define FTYPE_N          6
+#define FTYPE_N          5
 #define FTYPE_SPARE     16
 
 struct file {
diff --git a/lib/sys.c b/lib/sys.c
index db26fd2d..74c82b2a 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -101,6 +101,9 @@ static const struct file_ops file_ops_none = {
 
 static const struct file_ops *file_ops[FTYPE_N + FTYPE_SPARE] = {
     [FTYPE_NONE] = &file_ops_none,
+#ifdef CONFIG_CONSFRONT
+    [FTYPE_CONSOLE] = &console_ops,
+#endif
 };
 
 unsigned int alloc_file_type(const struct file_ops *ops)
@@ -212,31 +215,26 @@ int mkdir(const char *pathname, mode_t mode)
 #ifdef CONFIG_CONSFRONT
 int posix_openpt(int flags)
 {
-    struct consfront_dev *dev;
+    int fd;
 
     /* Ignore flags */
+    fd = open_consfront(NULL);
+    printk("fd(%d) = posix_openpt\n", fd);
 
-    dev = init_consfront(NULL);
-    dev->fd = alloc_fd(FTYPE_CONSOLE);
-    files[dev->fd].dev = dev;
-
-    printk("fd(%d) = posix_openpt\n", dev->fd);
-    return(dev->fd);
+    return fd;
 }
 
 int open_savefile(const char *path, int save)
 {
-    struct consfront_dev *dev;
+    int fd;
     char nodename[64];
 
     snprintf(nodename, sizeof(nodename), "device/console/%d", save ? SAVE_CONSOLE : RESTORE_CONSOLE);
 
-    dev = init_consfront(nodename);
-    dev->fd = alloc_fd(FTYPE_SAVEFILE);
-    files[dev->fd].dev = dev;
+    fd = open_consfront(nodename);
+    printk("fd(%d) = open_savefile\n", fd);
 
-    printk("fd(%d) = open_savefile\n", dev->fd);
-    return(dev->fd);
+    return fd;
 }
 #else
 int posix_openpt(int flags)
@@ -291,20 +289,6 @@ int read(int fd, void *buf, size_t nbytes)
         return ops->read(file, buf, nbytes);
 
     switch (file->type) {
-        case FTYPE_SAVEFILE:
-	case FTYPE_CONSOLE: {
-	    int ret;
-            DEFINE_WAIT(w);
-            while(1) {
-                add_waiter(w, console_queue);
-                ret = xencons_ring_recv(files[fd].dev, buf, nbytes);
-                if (ret)
-                    break;
-                schedule();
-            }
-            remove_waiter(w, console_queue);
-            return ret;
-        }
 #ifdef HAVE_LWIP
         case FTYPE_SOCKET:
 	    return lwip_read(files[fd].fd, buf, nbytes);
@@ -332,18 +316,6 @@ int write(int fd, const void *buf, size_t nbytes)
         return ops->write(file, buf, nbytes);
 
     switch (file->type) {
-        case FTYPE_SAVEFILE: {
-                int ret = 0, tot = nbytes;
-                while (nbytes > 0) {
-                    ret = xencons_ring_send(files[fd].dev, (char *)buf, nbytes);
-                    nbytes -= ret;
-                    buf = (char *)buf + ret;
-                }
-                return tot - nbytes;
-            }
-	case FTYPE_CONSOLE:
-	    console_print(files[fd].dev, (char *)buf, nbytes);
-	    return nbytes;
 #ifdef HAVE_LWIP
 	case FTYPE_SOCKET:
 	    return lwip_write(files[fd].fd, (void*) buf, nbytes);
@@ -446,12 +418,6 @@ int close(int fd)
 	case FTYPE_SOCKET:
             res = lwip_close(files[fd].fd);
             break;
-#endif
-#ifdef CONFIG_CONSFRONT
-        case FTYPE_SAVEFILE:
-        case FTYPE_CONSOLE:
-            fini_consfront(files[fd].dev);
-            break;
 #endif
 	case FTYPE_NONE:
             goto error;
@@ -501,15 +467,8 @@ int fstat(int fd, struct stat *buf)
         return ops->fstat(file, buf);
 
     switch (file->type) {
-	case FTYPE_SAVEFILE:
-	case FTYPE_CONSOLE:
 	case FTYPE_SOCKET: {
-            if (files[fd].type == FTYPE_CONSOLE)
-                buf->st_mode = S_IFCHR|S_IRUSR|S_IWUSR;
-            else if (files[fd].type == FTYPE_SOCKET)
-                buf->st_mode = S_IFSOCK|S_IRUSR|S_IWUSR;
-            else if (files[fd].type == FTYPE_SAVEFILE)
-                buf->st_mode = S_IFREG|S_IRUSR|S_IWUSR;
+            buf->st_mode = S_IFSOCK|S_IRUSR|S_IWUSR;
 	    buf->st_uid = 0;
 	    buf->st_gid = 0;
 	    buf->st_size = 0;
@@ -630,7 +589,6 @@ int closedir(DIR *dir)
 #if defined(LIBC_DEBUG) || defined(LIBC_VERBOSE)
 static const char *const file_types[] = {
     [FTYPE_NONE]    = "none",
-    [FTYPE_CONSOLE] = "console",
     [FTYPE_SOCKET]  = "socket",
 };
 
@@ -799,21 +757,18 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
             }
 
 	    if (FD_ISSET(i, readfds) || FD_ISSET(i, writefds) || FD_ISSET(i, exceptfds))
+            {
 		printk("bogus fd %d in select\n", i);
-	    /* Fallthrough.  */
-        }
-
-	case FTYPE_CONSOLE:
-	    if (FD_ISSET(i, readfds)) {
-                if (xencons_ring_avail(files[i].dev))
-		    n++;
-		else
-		    FD_CLR(i, readfds);
+                if ( FD_ISSET(i, readfds) )
+                    FD_CLR(i, readfds);
+                if ( FD_ISSET(i, writefds) )
+                    FD_CLR(i, writefds);
+                if ( FD_ISSET(i, exceptfds) )
+                    FD_CLR(i, exceptfds);
             }
-	    if (FD_ISSET(i, writefds))
-                n++;
-	    FD_CLR(i, exceptfds);
 	    break;
+        }
+
 #ifdef HAVE_LWIP
 	case FTYPE_SOCKET:
 	    if (FD_ISSET(i, readfds)) {
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Sun Jan 16 08:38:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 08:38:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257853.443347 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n913Q-0007r0-Ru; Sun, 16 Jan 2022 08:38:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257853.443347; Sun, 16 Jan 2022 08:38:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n913Q-0007qt-Oi; Sun, 16 Jan 2022 08:38:24 +0000
Received: by outflank-mailman (input) for mailman id 257853;
 Sun, 16 Jan 2022 08:38:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=APY9=SA=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n90yw-0008IP-Q6
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 08:33:46 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fd3aa52c-76a6-11ec-a115-11989b9578b4;
 Sun, 16 Jan 2022 09:33:32 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 95034219C9;
 Sun, 16 Jan 2022 08:33:32 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 5FFD213AB5;
 Sun, 16 Jan 2022 08:33:32 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 6JszFlzY42HyFQAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 16 Jan 2022 08:33:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fd3aa52c-76a6-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642322012; h=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=eDN7dygQtWpp4PtzeecJTsg/5tatNDTI+Yj25CuIEDI=;
	b=mDts5epmvwpbSWm2VbNo8wTury2KLFycD4WQVRdkLIDFtaCyxTI/cfExusLRtx2GeKgMD3
	G2myLGJ94Try9iy8cDOmyw8R5WPkWGp0DikTQw6NSVIzhzKIEUgYvBNHXsI8G5oe5Zo+FZ
	JgndfXyroO35LPaTSHY1+L16C2JROu4=
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: [MINIOS PATCH v3 10/12] add struct file_ops for file type socket
Date: Sun, 16 Jan 2022 09:33:26 +0100
Message-Id: <20220116083328.26524-11-jgross@suse.com>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20220116083328.26524-1-jgross@suse.com>
References: <20220116083328.26524-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Even with some special handling needed in select_poll(), add a struct
file_ops for FTYPE_SOCKET. Due to the need of the special handling it
isn't possible to use a dynamically allocated file type.

Most functions calling the file_ops methods can be simplified a lot now
that no file type specific handling is left. Same applies to the file
type name printing in debug/verbose mode.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- switch to struct file * parameter for callbacks
---
 lib/sys.c | 148 +++++++++++++++++++++++-------------------------------
 1 file changed, 64 insertions(+), 84 deletions(-)

diff --git a/lib/sys.c b/lib/sys.c
index 74c82b2a..538d6e7b 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -99,11 +99,67 @@ static const struct file_ops file_ops_none = {
     .name = "none",
 };
 
+#ifdef HAVE_LWIP
+static int socket_read(struct file *file, void *buf, size_t nbytes)
+{
+    return lwip_read(file->fd, buf, nbytes);
+}
+
+static int socket_write(struct file *file, const void *buf, size_t nbytes)
+{
+    return lwip_write(file->fd, buf, nbytes);
+}
+
+static int close_socket_fd(struct file *file)
+{
+    return lwip_close(file->fd);
+}
+
+static int socket_fstat(struct file *file, struct stat *buf)
+{
+    buf->st_mode = S_IFSOCK | S_IRUSR | S_IWUSR;
+    buf->st_atime = buf->st_mtime = buf->st_ctime = time(NULL);
+
+    return 0;
+}
+
+static int socket_fcntl(struct file *file, int cmd, va_list args)
+{
+    long arg;
+
+    arg = va_arg(args, long);
+
+    if ( cmd == F_SETFL && !(arg & ~O_NONBLOCK) )
+    {
+        /* Only flag supported: non-blocking mode */
+        uint32_t nblock = !!(arg & O_NONBLOCK);
+
+        return lwip_ioctl(file->fd, FIONBIO, &nblock);
+    }
+
+    printk("socket fcntl(fd, %d, %lx/%lo)\n", cmd, arg, arg);
+    errno = ENOSYS;
+    return -1;
+}
+
+static const struct file_ops socket_ops = {
+    .name = "socket",
+    .read = socket_read,
+    .write = socket_write,
+    .close = close_socket_fd,
+    .fstat = socket_fstat,
+    .fcntl = socket_fcntl,
+};
+#endif
+
 static const struct file_ops *file_ops[FTYPE_N + FTYPE_SPARE] = {
     [FTYPE_NONE] = &file_ops_none,
 #ifdef CONFIG_CONSFRONT
     [FTYPE_CONSOLE] = &console_ops,
 #endif
+#ifdef HAVE_LWIP
+    [FTYPE_SOCKET] = &socket_ops,
+#endif
 };
 
 unsigned int alloc_file_type(const struct file_ops *ops)
@@ -288,15 +344,6 @@ int read(int fd, void *buf, size_t nbytes)
     if ( ops->read )
         return ops->read(file, buf, nbytes);
 
-    switch (file->type) {
-#ifdef HAVE_LWIP
-        case FTYPE_SOCKET:
-	    return lwip_read(files[fd].fd, buf, nbytes);
-#endif
-	default:
-	    break;
-    }
-
  error:
     printk("read(%d): Bad descriptor\n", fd);
     errno = EBADF;
@@ -315,15 +362,6 @@ int write(int fd, const void *buf, size_t nbytes)
     if ( ops->write )
         return ops->write(file, buf, nbytes);
 
-    switch (file->type) {
-#ifdef HAVE_LWIP
-	case FTYPE_SOCKET:
-	    return lwip_write(files[fd].fd, (void*) buf, nbytes);
-#endif
-	default:
-	    break;
-    }
-
  error:
     printk("write(%d): Bad descriptor\n", fd);
     errno = EBADF;
@@ -406,24 +444,10 @@ int close(int fd)
     ops = get_file_ops(file->type);
     printk("close(%d)\n", fd);
     if ( ops->close )
-    {
         res = ops->close(file);
-        goto out;
-    }
-
-    switch (file->type) {
-        default:
-            break;
-#ifdef HAVE_LWIP
-	case FTYPE_SOCKET:
-            res = lwip_close(files[fd].fd);
-            break;
-#endif
-	case FTYPE_NONE:
-            goto error;
-    }
+    else if ( file->type == FTYPE_NONE )
+        goto error;
 
- out:
     memset(files + fd, 0, sizeof(struct file));
     BUILD_BUG_ON(FTYPE_NONE != 0);
 
@@ -466,21 +490,6 @@ int fstat(int fd, struct stat *buf)
     if ( ops->fstat )
         return ops->fstat(file, buf);
 
-    switch (file->type) {
-	case FTYPE_SOCKET: {
-            buf->st_mode = S_IFSOCK|S_IRUSR|S_IWUSR;
-	    buf->st_uid = 0;
-	    buf->st_gid = 0;
-	    buf->st_size = 0;
-	    buf->st_atime = 
-	    buf->st_mtime = 
-	    buf->st_ctime = time(NULL);
-	    return 0;
-	}
-	default:
-	    break;
-    }
-
  error:
     printk("statf(%d): Bad descriptor\n", fd);
     errno = EBADF;
@@ -538,21 +547,9 @@ int fcntl(int fd, int cmd, ...)
     arg = va_arg(ap, long);
     va_end(ap);
 
-    switch (cmd) {
-#ifdef HAVE_LWIP
-	case F_SETFL:
-	    if (files[fd].type == FTYPE_SOCKET && !(arg & ~O_NONBLOCK)) {
-		/* Only flag supported: non-blocking mode */
-		uint32_t nblock = !!(arg & O_NONBLOCK);
-		return lwip_ioctl(files[fd].fd, FIONBIO, &nblock);
-	    }
-	    /* Fallthrough */
-#endif
-	default:
-	    printk("fcntl(%d, %d, %lx/%lo)\n", fd, cmd, arg, arg);
-	    errno = ENOSYS;
-	    return -1;
-    }
+    printk("fcntl(%d, %d, %lx/%lo)\n", fd, cmd, arg, arg);
+    errno = ENOSYS;
+    return -1;
 }
 
 DIR *opendir(const char *name)
@@ -586,23 +583,6 @@ int closedir(DIR *dir)
 
 /* We assume that only the main thread calls select(). */
 
-#if defined(LIBC_DEBUG) || defined(LIBC_VERBOSE)
-static const char *const file_types[] = {
-    [FTYPE_NONE]    = "none",
-    [FTYPE_SOCKET]  = "socket",
-};
-
-static const char *get_type_name(unsigned int type)
-{
-    if ( type < ARRAY_SIZE(file_ops) && file_ops[type] )
-        return file_ops[type]->name;
-
-    if ( type < ARRAY_SIZE(file_types) && file_types[type] )
-        return file_types[type];
-
-    return "none";
-}
-#endif
 #ifdef LIBC_DEBUG
 static void dump_set(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout)
 {
@@ -613,7 +593,7 @@ static void dump_set(int nfds, fd_set *readfds, fd_set *writefds, fd_set *except
 	if (FD_ISSET(i, set)) { \
 	    if (comma) \
 		printk(", "); \
-            printk("%d(%s)", i, get_type_name(files[i].type)); \
+            printk("%d(%s)", i, get_file_ops(files[i].type)->name); \
 	    comma = 1; \
 	} \
     } \
@@ -647,7 +627,7 @@ static void dump_pollfds(struct pollfd *pfd, int nfds, int timeout)
         fd = pfd[i].fd;
         if (comma)
             printk(", ");
-        printk("%d(%s)/%02x", fd, get_type_name(files[fd].type),
+        printk("%d(%s)/%02x", fd, get_file_ops(files[fd].type)->name,
             pfd[i].events);
             comma = 1;
     }
@@ -809,7 +789,7 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
 	printk("%d(%d): ", nb, sock_n);
 	for (i = 0; i < nfds; i++) {
 	    if (nbread[i] || nbwrite[i] || nbexcept[i])
-                printk(" %d(%c):", i, get_type_name(files[i].type));
+                printk(" %d(%c):", i, get_file_ops(files[i].type)->name);
 	    if (nbread[i])
 	    	printk(" %dR", nbread[i]);
 	    if (nbwrite[i])
-- 
2.26.2



From xen-devel-bounces@lists.xenproject.org Sun Jan 16 09:07:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 09:07:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257864.443362 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n91V7-00030b-Eb; Sun, 16 Jan 2022 09:07:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257864.443362; Sun, 16 Jan 2022 09:07:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n91V7-00030U-BW; Sun, 16 Jan 2022 09:07:01 +0000
Received: by outflank-mailman (input) for mailman id 257864;
 Sun, 16 Jan 2022 09:07: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 1n91V6-00030K-GS; Sun, 16 Jan 2022 09: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 1n91V6-0003P5-DX; Sun, 16 Jan 2022 09: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 1n91V6-0003sa-30; Sun, 16 Jan 2022 09:07:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n91V6-0004wM-2V; Sun, 16 Jan 2022 09:07:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Ndh/GT1nYoqr3G88dwQvpQsNavcI72JfOkcTdMmGoOU=; b=PBPs01lI8hvdvdbR0qZrotjYAi
	rZl2zTiqAeVd6NZvRpVJ5TsTAZ6mX4dfSVnyzbT9rAakSNb5gDr80dfxXhqWyiUWeFAKbt2fbXBYx
	OtDGWS1254P4l8EXQo57SiOxheXqamcssHItLC8r8C8pdNFusyqZDIDzijeVberhTuxw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167710-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 167710: regressions - FAIL
X-Osstest-Failures:
    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:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=4f6d5656d321a877bd750858e5d7819c15ec2a2c
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 16 Jan 2022 09:07:00 +0000

flight 167710 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167710/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              4f6d5656d321a877bd750858e5d7819c15ec2a2c
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  555 days
Failing since        151818  2020-07-11 04:18:52 Z  554 days  536 attempts
Testing same since   167710  2022-01-16 04:20:12 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Ani Sinha <ani@anisinha.ca>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  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>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  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>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  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>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  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 Chevsky <nchevsky@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>
  Or Ozeri <oro@il.ibm.com>
  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>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott 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>
  Stefan Hajnoczi <stefanha@redhat.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>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Дамјан Георгиевски <gdamjan@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 92483 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Jan 16 09:50:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 09:50:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257873.443376 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n92AV-00078i-NJ; Sun, 16 Jan 2022 09:49:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257873.443376; Sun, 16 Jan 2022 09:49:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n92AV-00078b-Ir; Sun, 16 Jan 2022 09:49:47 +0000
Received: by outflank-mailman (input) for mailman id 257873;
 Sun, 16 Jan 2022 09:49:46 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n92AU-00078R-GA; Sun, 16 Jan 2022 09:49:46 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n92AU-00045A-CJ; Sun, 16 Jan 2022 09:49:46 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n92AU-0005wo-1A; Sun, 16 Jan 2022 09:49:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n92AU-0002Yu-0g; Sun, 16 Jan 2022 09:49:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7cMmznjIOXqIdNXZHfAf1zv1XMAyxnLOgvu3ai8vGeE=; b=qxspjjICuqGk5icBBUxKrkJNQF
	PTCBcm3fH6XMeEia6V5elwGNM2WNhjpiFeMpLcDGBeabSWRb87LpS7jFN8FNNCnF2ciqcdiDs4YfY
	bTIARnRzugQqtMO3FQQRUahm+Ofn/AgDeks3r5yg/hnTX8MdxnhoN/tPi78Do3awwhP4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167714-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-coverity test] 167714: all pass - PUSHED
X-Osstest-Versions-This:
    xen=9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f
X-Osstest-Versions-That:
    xen=22891e12a45f9bb2e1dbb5daf2ba39cbe002e4f4
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 16 Jan 2022 09:49:46 +0000

flight 167714 xen-unstable-coverity real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167714/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 xen                  9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f
baseline version:
 xen                  22891e12a45f9bb2e1dbb5daf2ba39cbe002e4f4

Last test of basis   167673  2022-01-12 09:18:39 Z    4 days
Testing same since   167714  2022-01-16 09:19:39 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>
  Juergen Gross <jgross@suse.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
   22891e12a4..9ce0a5e207  9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f -> coverity-tested/smoke


From xen-devel-bounces@lists.xenproject.org Sun Jan 16 10:45:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 10:45:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257880.443387 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n932D-0004bC-0U; Sun, 16 Jan 2022 10:45:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257880.443387; Sun, 16 Jan 2022 10:45: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 1n932C-0004b5-St; Sun, 16 Jan 2022 10:45:16 +0000
Received: by outflank-mailman (input) for mailman id 257880;
 Sun, 16 Jan 2022 10:45:15 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n932B-0004ap-D2; Sun, 16 Jan 2022 10:45:15 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n932B-00053c-7g; Sun, 16 Jan 2022 10:45:15 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n932A-0008MJ-To; Sun, 16 Jan 2022 10:45:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n932A-0004dg-TM; Sun, 16 Jan 2022 10:45:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=6/517ps3VhD7DYdcJkQ+OWsRtG99BGsjNa9g7vSEPtw=; b=bHPofQi0FPIPei/58iZ8OZvWo9
	Vy00VF/iAYTcxNS6lcXM/V4RZZe5XukLdfMakzXt4IHOtl5tOlvGqYtAsZV2dbYZx9BnioXq5S4lY
	yPVNakVen0PIy5UJybJ+UP3iRNHyPhPbZMR1Zf5FhcA+DK/HXiuQ5KllcCpRfN/QLIl0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167709-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167709: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-qemuu-rhel6hvm-amd:guest-start/redhat.repeat:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-rtds:guest-stop: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-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-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-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-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f
X-Osstest-Versions-That:
    xen=9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 16 Jan 2022 10:45:14 +0000

flight 167709 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167709/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd 14 guest-start/redhat.repeat fail pass in 167702
 test-armhf-armhf-xl-rtds     17 guest-stop                 fail pass in 167702

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 167702 like 167695
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167702
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167702
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167702
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167702
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167702
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167702
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167702
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167702
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167702
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167702
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167702
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167702
 test-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-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-thunderx 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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-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
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f
baseline version:
 xen                  9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f

Last test of basis   167709  2022-01-16 01:53:06 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Sun Jan 16 12:41:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 12:41:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257889.443398 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n94qF-0007Or-DH; Sun, 16 Jan 2022 12:41:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257889.443398; Sun, 16 Jan 2022 12: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 1n94qF-0007Ok-AK; Sun, 16 Jan 2022 12:41:03 +0000
Received: by outflank-mailman (input) for mailman id 257889;
 Sun, 16 Jan 2022 12:41:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n94qD-0007Oa-VO; Sun, 16 Jan 2022 12:41: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 1n94qD-0006zA-S4; Sun, 16 Jan 2022 12:41: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 1n94qD-0005nc-Hh; Sun, 16 Jan 2022 12:41:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n94qD-0004Y7-HG; Sun, 16 Jan 2022 12:41:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=sAuiUDWjEKukzppS/Ik/B96IIJrJm6BYimk0mhSwwP8=; b=y7Rr8yIIu+l1vn2Er1LjR9edpc
	4+CWF9B6tke8adU10tX/wHlk+a4U9BpeSfBYDc9E/gyl7Y4XN/gfrDtmP9XF4tFG+NwcaSiJMNQvg
	uSx92nk1xZM08m03ZpW2PxuQUr1l6ricwSXPA5xiny2LdNRVxFqzgXoRv+8ds2Bl9vEs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167708-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167708: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl: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-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-qcow2:saverestore-support-check: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:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=a33f5c380c4bd3fa5278d690421b72052456d9fe
X-Osstest-Versions-That:
    linux=455e73a07f6e288b0061dfcf4fcf54fa9fe06458
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 16 Jan 2022 12:41:01 +0000

flight 167708 linux-linus real [real]
flight 167711 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/167708/
http://logs.test-lab.xenproject.org/osstest/logs/167711/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 167684
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 167684
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 167684
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 167684
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 167684
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 167684

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167684
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167684
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167684
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167684
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167684
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167684
 test-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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                a33f5c380c4bd3fa5278d690421b72052456d9fe
baseline version:
 linux                455e73a07f6e288b0061dfcf4fcf54fa9fe06458

Last test of basis   167684  2022-01-13 07:47:42 Z    3 days
Failing since        167693  2022-01-13 22:41:04 Z    2 days    5 attempts
Testing same since   167705  2022-01-15 10:35:24 Z    1 days    2 attempts

------------------------------------------------------------
402 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                                fail    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 30666 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Jan 16 12:57:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 12:57:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257896.443408 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n955j-0000ZT-Rr; Sun, 16 Jan 2022 12:57:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257896.443408; Sun, 16 Jan 2022 12: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 1n955j-0000ZM-Ow; Sun, 16 Jan 2022 12:57:03 +0000
Received: by outflank-mailman (input) for mailman id 257896;
 Sun, 16 Jan 2022 12:57:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9Sa2=SA=gmail.com=wei.liu.xen@srs-se1.protection.inumbo.net>)
 id 1n955i-0000ZF-E9
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 12:57:02 +0000
Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com
 [209.85.128.50]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cb6fddfd-76cb-11ec-a115-11989b9578b4;
 Sun, 16 Jan 2022 13:57:00 +0100 (CET)
Received: by mail-wm1-f50.google.com with SMTP id
 d187-20020a1c1dc4000000b003474b4b7ebcso16240525wmd.5
 for <xen-devel@lists.xenproject.org>; Sun, 16 Jan 2022 04:57:00 -0800 (PST)
Received: from
 liuwe-devbox-debian-v2.j3c5onc20sse1dnehy4noqpfcg.zx.internal.cloudapp.net
 ([51.145.34.42])
 by smtp.gmail.com with ESMTPSA id bh26sm16973287wmb.3.2022.01.16.04.56.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 16 Jan 2022 04:56:59 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cb6fddfd-76cb-11ec-a115-11989b9578b4
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=MmkBAIaQ84NO7AayUarLYyz7AgzdMhXb8fd0CwRhJkA=;
        b=f2OKy3OMPqow3WqMNJNYO3aSTGBEp3OuFq2gBJwgEuQT2TTXUlSDgegnKHhK01lPtU
         hO21TKsSeplVZ/IA4OTBXVCiSqq9MemTj7M2gG2x0EZHOu7yrqyic4jDOPLZYkS+jCsb
         eOQp0ZPTgJlxZmmmAWtba3FeO67ZYIUl6nw3PaxSxTpv6nEYnzrmfHvUKo9VL2rIi6uo
         sQG2eAZMTxOw92L4B56a5m/aswLoLZkcaUe0jkNwZZW/7Ctrcoj4neZ1seqYYL7KIvM2
         emWMH20iTxGnyFW8VkXqZm5cbBKXCu+rIhYkyM5VjOBmibM5ZrtLPbtwzqBmBiGmNch2
         h7Dg==
X-Gm-Message-State: AOAM531wglD0Md3aG3bhj1xbIsVJycCQ3UkS6Sraqq3fdZCQqch5ch+8
	3K8GydvnrMEgx8Jo3aWYpncK/9ZnHFg=
X-Google-Smtp-Source: ABdhPJwq0qF2GjWdDIc/nbnCfKGPXapjljm2kn8dnzkOhHLsJYtn9Slq3lPqsUAigYFV86yuUhzLLw==
X-Received: by 2002:a05:600c:3acc:: with SMTP id d12mr20445739wms.85.1642337820182;
        Sun, 16 Jan 2022 04:57:00 -0800 (PST)
From: Wei Liu <wl@xen.org>
To: Xen Development List <xen-devel@lists.xenproject.org>
Cc: 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>
Subject: [PATCH] Config.mk: update seabios to 1.15.0
Date: Sun, 16 Jan 2022 12:56:48 +0000
Message-Id: <20220116125648.1200259-1-wl@xen.org>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Wei Liu <wl@xen.org>
---
 Config.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Config.mk b/Config.mk
index 1c1998a5a8e0..38e88b2927d2 100644
--- a/Config.mk
+++ b/Config.mk
@@ -233,7 +233,7 @@ OVMF_UPSTREAM_REVISION ?= 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5
 QEMU_UPSTREAM_REVISION ?= master
 MINIOS_UPSTREAM_REVISION ?= 9f09744aa3e5982a083ecf8e9cd2123f477081f9
 
-SEABIOS_UPSTREAM_REVISION ?= rel-1.14.0
+SEABIOS_UPSTREAM_REVISION ?= rel-1.15.0
 
 ETHERBOOT_NICS ?= rtl8139 8086100e
 
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Sun Jan 16 15:13:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 15:13:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257905.443419 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n97Cq-0005Ny-PU; Sun, 16 Jan 2022 15:12:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257905.443419; Sun, 16 Jan 2022 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 1n97Cq-0005Nr-MZ; Sun, 16 Jan 2022 15:12:32 +0000
Received: by outflank-mailman (input) for mailman id 257905;
 Sun, 16 Jan 2022 15:12:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n97Cp-0005Ne-PG; Sun, 16 Jan 2022 15:12: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 1n97Cp-0001Ad-Lv; Sun, 16 Jan 2022 15:12: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 1n97Cp-0003zp-Cv; Sun, 16 Jan 2022 15:12:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n97Cp-0001cF-CR; Sun, 16 Jan 2022 15:12: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=9oC472CLeZPtFO5sM+aEv7l5MHzvNUs181MoUuCcXno=; b=B1xIpAIzij4xYbcziGEAhKk4lN
	kz2MCmOTexc1JUC6++uY1ZQOdJFa6kgePUs0YC7GKLux9zyz1egIBBqCU9SlR90GVb5nWREJ92EGX
	vIcqKWY6BWkYr6QbJTbKC/cNF4222gvhi9tpykHhqFUE95j4ufEOP0aNXOMs3EDr71Qo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167712-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 167712: 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-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-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-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-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-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: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-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-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd: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-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    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
X-Osstest-Versions-This:
    linux=b7f70762d1584a2b66e056412fd39ad6f6344c89
X-Osstest-Versions-That:
    linux=0a4ce4977bbeea4560a1f32632650b388c834c8a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 16 Jan 2022 15:12:31 +0000

flight 167712 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167712/

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 167663
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167663
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167663
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167663
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167663
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167663
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167663
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167663
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167663
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167663
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167663
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167663
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-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-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-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-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                b7f70762d1584a2b66e056412fd39ad6f6344c89
baseline version:
 linux                0a4ce4977bbeea4560a1f32632650b388c834c8a

Last test of basis   167663  2022-01-11 14:42:14 Z    5 days
Testing same since   167712  2022-01-16 08:41:53 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Aditya Garg <gargaditya08@live.com>
  Adrian Hunter <adrian.hunter@intel.com>
  Alan Stern <stern@rowland.harvard.edu>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Arnd Bergmann <arnd@arndb.de>
  Brian Silverman <brian.silverman@bluerivertech.com>
  Daniel Borkmann <daniel@iogearbox.net>
  David S. Miller <davem@davemloft.net>
  Dominik Brodowski <linux@dominikbrodowski.net>
  Eric Biggers <ebiggers@google.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Frederic Weisbecker <frederic@kernel.org>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Jason A. Donenfeld <Jason@zx2c4.com>
  Joe Perches <joe@perches.com>
  Johan Hovold <johan@kernel.org>
  John Fastabend <john.fastabend@gmail.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan McDowell <noodles@earth.li>
  Lee Jones <lee.jones@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Marcel Holtmann <marcel@holtmann.org>
  Mark-YW.Chen <mark-yw.chen@mediatek.com>
  Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Nathan Chancellor <nathan@kernel.org>
  Paul E. McKenney <paulmck@kernel.org>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Ricardo Ribalda <ribalda@chromium.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Tejun Heo <tj@kernel.org>
  Toshiaki Makita <toshiaki.makita1@gmail.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Ville Syrjälä <ville.syrjala@linux.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-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


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
   0a4ce4977bbe..b7f70762d158  b7f70762d1584a2b66e056412fd39ad6f6344c89 -> tested/linux-5.4


From xen-devel-bounces@lists.xenproject.org Sun Jan 16 19:32:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 19:32:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257916.443511 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9BGG-0005fF-Pq; Sun, 16 Jan 2022 19:32:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257916.443511; Sun, 16 Jan 2022 19:32:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9BGG-0005f8-MV; Sun, 16 Jan 2022 19:32:20 +0000
Received: by outflank-mailman (input) for mailman id 257916;
 Sun, 16 Jan 2022 19:32: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 1n9BGF-0005ey-66; Sun, 16 Jan 2022 19:32: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 1n9BGE-00064c-Ts; Sun, 16 Jan 2022 19:32: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 1n9BGE-0003na-FR; Sun, 16 Jan 2022 19:32:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n9BGE-0008Bf-F1; Sun, 16 Jan 2022 19:32: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=6iu65nL0fpk5x8lJcp22fDPFCjy7plRe2ld4Ex1iTc8=; b=AHAD7HfNY6Ujy2cNTk4+ofvX7u
	lNGaRQFSx/OkTc3oLsMMu5Yxo0mpEyiwRlSK1WQKcb1C3uPGQ1JHOcvgLWSiprXsUgxhCFuMpl1Fp
	L3tXOJzm4rY46jef4P3KU1xp5TNAORGp4wZ/CF60bFphMHkFMfAjT0gyBn/0O26y5sU8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167715-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167715: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:guest-start/debian.repeat: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-armhf-armhf-libvirt-qcow2: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:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=4d66020dcef83314092f2c8c89152a8d122627e2
X-Osstest-Versions-That:
    linux=455e73a07f6e288b0061dfcf4fcf54fa9fe06458
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 16 Jan 2022 19:32:18 +0000

flight 167715 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167715/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 167684
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 167684
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 167684
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 167684
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 167684
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 167684
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 167684
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 167684

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds    18 guest-start/debian.repeat fail REGR. vs. 167684

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167684
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167684
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167684
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167684
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167684
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167684
 test-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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                4d66020dcef83314092f2c8c89152a8d122627e2
baseline version:
 linux                455e73a07f6e288b0061dfcf4fcf54fa9fe06458

Last test of basis   167684  2022-01-13 07:47:42 Z    3 days
Failing since        167693  2022-01-13 22:41:04 Z    2 days    6 attempts
Testing same since   167715  2022-01-16 12:43:45 Z    0 days    1 attempts

------------------------------------------------------------
583 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                                fail    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 43595 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Jan 16 20:33:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 20:33:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257926.443526 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9CDW-0003F3-CE; Sun, 16 Jan 2022 20:33:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257926.443526; Sun, 16 Jan 2022 20:33:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9CDW-0003Ew-8y; Sun, 16 Jan 2022 20:33:34 +0000
Received: by outflank-mailman (input) for mailman id 257926;
 Sun, 16 Jan 2022 20:33:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g2po=SA=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n9CDU-0003Cl-8y
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 20:33:32 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8eb639fd-770b-11ec-a115-11989b9578b4;
 Sun, 16 Jan 2022 21:33:28 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id E95FB35D;
 Sun, 16 Jan 2022 21:33:25 +0100 (CET)
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 hCMMYMqtZtvI; Sun, 16 Jan 2022 21:33:24 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 8AD889E;
 Sun, 16 Jan 2022 21:33:24 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n9CDL-005uQa-HV;
 Sun, 16 Jan 2022 21:33:23 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8eb639fd-770b-11ec-a115-11989b9578b4
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 16 Jan 2022 21:33:23 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [MINIOS PATCH v3 2/5] reset file type in close() in one place
 only
Message-ID: <20220116203323.ebf75ksyfvy4qoim@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: <20220116064527.23519-1-jgross@suse.com>
 <20220116064527.23519-3-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220116064527.23519-3-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: E95FB35D
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le dim. 16 janv. 2022 07:45:24 +0100, a ecrit:
> Today the file type in struct file is set to FTYPE_NONE for each
> file type individually. Do that at the end of close() handling for
> all types.
> 
> While at it wipe the complete struct file, too, in order to avoid
> old data creeping into a new allocated struct file.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V2:
> - new patch
> V3:
> - add error handling (Andrew Cooper)
> - use BUILD_BUG_ON() (Andrew Cooper)
> ---
>  lib/sys.c | 56 ++++++++++++++++++++++++++++---------------------------
>  lib/xs.c  |  1 -
>  2 files changed, 29 insertions(+), 28 deletions(-)
> 
> diff --git a/lib/sys.c b/lib/sys.c
> index 9a03875c..7df77cc6 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -265,7 +265,7 @@ int read(int fd, void *buf, size_t nbytes)
>              return ret;
>          }
>  #ifdef HAVE_LWIP
> -	case FTYPE_SOCKET:
> +        case FTYPE_SOCKET:
>  	    return lwip_read(files[fd].fd, buf, nbytes);
>  #endif
>  #ifdef CONFIG_NETFRONT
> @@ -424,84 +424,86 @@ int fsync(int fd) {
>  
>  int close(int fd)
>  {
> +    int res = 0;
> +
> +    if ( fd < 0 || fd >= ARRAY_SIZE(files) )
> +        goto error;
> +
>      printk("close(%d)\n", fd);
>      switch (files[fd].type) {
>          default:
> -	    files[fd].type = FTYPE_NONE;
> -	    return 0;
> +            break;
>  #ifdef CONFIG_XENBUS
>  	case FTYPE_XENBUS:
>              xs_daemon_close((void*)(intptr_t) fd);
> -            return 0;
> +            break;
>  #endif
>  #ifdef HAVE_LWIP
> -	case FTYPE_SOCKET: {
> -	    int res = lwip_close(files[fd].fd);
> -	    files[fd].type = FTYPE_NONE;
> -	    return res;
> -	}
> +	case FTYPE_SOCKET:
> +            res = lwip_close(files[fd].fd);
> +            break;
>  #endif
>  #ifdef CONFIG_LIBXENCTRL
>  	case FTYPE_XC:
>  	    minios_interface_close_fd(fd);
> -	    return 0;
> +            break;
>  #endif
>  #ifdef CONFIG_LIBXENEVTCHN
>  	case FTYPE_EVTCHN:
>  	    minios_evtchn_close_fd(fd);
> -            return 0;
> +            break;
>  #endif
>  #ifdef CONFIG_LIBXENGNTTAB
>  	case FTYPE_GNTMAP:
>  	    minios_gnttab_close_fd(fd);
> -	    return 0;
> +            break;
>  #endif
>  #ifdef CONFIG_NETFRONT
>  	case FTYPE_TAP:
>  	    shutdown_netfront(files[fd].dev);
> -	    files[fd].type = FTYPE_NONE;
> -	    return 0;
> +            break;
>  #endif
>  #ifdef CONFIG_BLKFRONT
>  	case FTYPE_BLK:
>              shutdown_blkfront(files[fd].dev);
> -	    files[fd].type = FTYPE_NONE;
> -	    return 0;
> +            break;
>  #endif
>  #ifdef CONFIG_TPMFRONT
>  	case FTYPE_TPMFRONT:
>              shutdown_tpmfront(files[fd].dev);
> -	    files[fd].type = FTYPE_NONE;
> -	    return 0;
> +            break;
>  #endif
>  #ifdef CONFIG_TPM_TIS
>  	case FTYPE_TPM_TIS:
>              shutdown_tpm_tis(files[fd].dev);
> -	    files[fd].type = FTYPE_NONE;
> -	    return 0;
> +            break;
>  #endif
>  #ifdef CONFIG_KBDFRONT
>  	case FTYPE_KBD:
>              shutdown_kbdfront(files[fd].dev);
> -            files[fd].type = FTYPE_NONE;
> -            return 0;
> +            break;
>  #endif
>  #ifdef CONFIG_FBFRONT
>  	case FTYPE_FB:
>              shutdown_fbfront(files[fd].dev);
> -            files[fd].type = FTYPE_NONE;
> -            return 0;
> +            break;
>  #endif
>  #ifdef CONFIG_CONSFRONT
>          case FTYPE_SAVEFILE:
>          case FTYPE_CONSOLE:
>              fini_consfront(files[fd].dev);
> -            files[fd].type = FTYPE_NONE;
> -            return 0;
> +            break;
>  #endif
>  	case FTYPE_NONE:
> -	    break;
> +            goto error;
>      }
> +
> +    memset(files + fd, 0, sizeof(struct file));
> +    BUILD_BUG_ON(FTYPE_NONE != 0);
> +
> +    return res;
> +
> + error:
>      printk("close(%d): Bad descriptor\n", fd);
>      errno = EBADF;
>      return -1;
> diff --git a/lib/xs.c b/lib/xs.c
> index 0459f52f..4af0f960 100644
> --- a/lib/xs.c
> +++ b/lib/xs.c
> @@ -35,7 +35,6 @@ void xs_daemon_close(struct xs_handle *h)
>          next = event->next;
>          free(event);
>      }
> -    files[fd].type = FTYPE_NONE;
>  }
>  
>  int xs_fileno(struct xs_handle *h)
> -- 
> 2.26.2
> 

-- 
Samuel
/*
 * [...] Note that 120 sec is defined in the protocol as the maximum
 * possible RTT.  I guess we'll have to use something other than TCP
 * to talk to the University of Mars.
 * PAWS allows us longer timeouts and large windows, so once implemented
 * ftp to mars will work nicely.
 */
(from /usr/src/linux/net/inet/tcp.c, concerning RTT [retransmission timeout])


From xen-devel-bounces@lists.xenproject.org Sun Jan 16 20:34:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 20:34:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257929.443537 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9CEG-0003md-Ls; Sun, 16 Jan 2022 20:34:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257929.443537; Sun, 16 Jan 2022 20:34: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 1n9CEG-0003mW-Io; Sun, 16 Jan 2022 20:34:20 +0000
Received: by outflank-mailman (input) for mailman id 257929;
 Sun, 16 Jan 2022 20:34:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g2po=SA=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n9CEF-0003mQ-QI
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 20:34:19 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ad8dce45-770b-11ec-a115-11989b9578b4;
 Sun, 16 Jan 2022 21:34:18 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 0858635D;
 Sun, 16 Jan 2022 21:34:18 +0100 (CET)
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 4JUQfpPpOgIr; Sun, 16 Jan 2022 21:34:17 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 3E1178B;
 Sun, 16 Jan 2022 21:34:17 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n9CEC-005uRN-Hh;
 Sun, 16 Jan 2022 21:34:16 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ad8dce45-770b-11ec-a115-11989b9578b4
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 16 Jan 2022 21:34:16 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [MINIOS PATCH v3 3/5] remove file type FTYPE_XC
Message-ID: <20220116203416.qvna3buvtn52fjan@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: <20220116064527.23519-1-jgross@suse.com>
 <20220116064527.23519-4-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220116064527.23519-4-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 0858635D
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le dim. 16 janv. 2022 07:45:25 +0100, a ecrit:
> The only reason for the file type FTYPE_XC has been gone long time
> ago: it was needed for xc_map_foreign_bulk(), which has been switched
> to use libxenforeignmemory and doesn't need this special file any
> more.
> 
> So remove everything related to FTYPE_XC.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V2:
> - new patch
> V3:
> - moved patch in series (Andrew Cooper)
> ---
>  Config.mk                     |  1 -
>  arch/x86/testbuild/all-no     |  1 -
>  arch/x86/testbuild/all-yes    |  1 -
>  arch/x86/testbuild/newxen-yes |  1 -
>  include/lib.h                 |  1 -
>  lib/sys.c                     | 13 -------------
>  6 files changed, 18 deletions(-)
> 
> diff --git a/Config.mk b/Config.mk
> index 5e660891..1e083881 100644
> --- a/Config.mk
> +++ b/Config.mk
> @@ -197,7 +197,6 @@ CONFIG-n += CONFIG_PARAVIRT
>  endif
>  # Support legacy CONFIG_XC value
>  CONFIG_XC ?= $(libc)
> -CONFIG-$(CONFIG_XC) += CONFIG_LIBXENCTRL
>  CONFIG-$(CONFIG_XC) += CONFIG_LIBXENEVTCHN
>  CONFIG-$(CONFIG_XC) += CONFIG_LIBXENGNTTAB
>  
> diff --git a/arch/x86/testbuild/all-no b/arch/x86/testbuild/all-no
> index 7972ecd5..d6fc2608 100644
> --- a/arch/x86/testbuild/all-no
> +++ b/arch/x86/testbuild/all-no
> @@ -13,7 +13,6 @@ CONFIG_FBFRONT = n
>  CONFIG_KBDFRONT = n
>  CONFIG_CONSFRONT = n
>  CONFIG_XENBUS = n
> -CONFIG_LIBXENCTRL = n
>  CONFIG_LIBXENEVTCHN = n
>  CONFIG_LIBXENGNTTAB = n
>  CONFIG_LWIP = n
> diff --git a/arch/x86/testbuild/all-yes b/arch/x86/testbuild/all-yes
> index bc8eea57..98bbfebf 100644
> --- a/arch/x86/testbuild/all-yes
> +++ b/arch/x86/testbuild/all-yes
> @@ -16,7 +16,6 @@ CONFIG_XENBUS = y
>  CONFIG_BALLOON = y
>  CONFIG_USE_XEN_CONSOLE = y
>  # The following are special: they need support from outside
> -CONFIG_LIBXENCTRL = n
>  CONFIG_LIBXENEVTCHN = n
>  CONFIG_LIBXENGNTTAB = n
>  CONFIG_LWIP = n
> diff --git a/arch/x86/testbuild/newxen-yes b/arch/x86/testbuild/newxen-yes
> index f72123b5..06032004 100644
> --- a/arch/x86/testbuild/newxen-yes
> +++ b/arch/x86/testbuild/newxen-yes
> @@ -17,7 +17,6 @@ CONFIG_BALLOON = y
>  CONFIG_USE_XEN_CONSOLE = y
>  XEN_INTERFACE_VERSION=__XEN_LATEST_INTERFACE_VERSION__
>  # The following are special: they need support from outside
> -CONFIG_LIBXENCTRL = n
>  CONFIG_LIBXENEVTCHN = n
>  CONFIG_LIBXENGNTTAB = n
>  CONFIG_LWIP = n
> diff --git a/include/lib.h b/include/lib.h
> index 7a0546bd..7ca90768 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -159,7 +159,6 @@ enum fd_type {
>      FTYPE_CONSOLE,
>      FTYPE_FILE,
>      FTYPE_XENBUS,
> -    FTYPE_XC,
>      FTYPE_EVTCHN,
>      FTYPE_GNTMAP,
>      FTYPE_SOCKET,
> diff --git a/lib/sys.c b/lib/sys.c
> index 7df77cc6..a24687b7 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -87,7 +87,6 @@
>      }
>  
>  #define NOFILE 32
> -extern void minios_interface_close_fd(int fd);
>  extern void minios_evtchn_close_fd(int fd);
>  extern void minios_gnttab_close_fd(int fd);
>  
> @@ -443,11 +442,6 @@ int close(int fd)
>              res = lwip_close(files[fd].fd);
>              break;
>  #endif
> -#ifdef CONFIG_LIBXENCTRL
> -	case FTYPE_XC:
> -	    minios_interface_close_fd(fd);
> -            break;
> -#endif
>  #ifdef CONFIG_LIBXENEVTCHN
>  	case FTYPE_EVTCHN:
>  	    minios_evtchn_close_fd(fd);
> @@ -651,7 +645,6 @@ static const char file_types[] = {
>      [FTYPE_NONE]	= 'N',
>      [FTYPE_CONSOLE]	= 'C',
>      [FTYPE_XENBUS]	= 'S',
> -    [FTYPE_XC]		= 'X',
>      [FTYPE_EVTCHN]	= 'E',
>      [FTYPE_SOCKET]	= 's',
>      [FTYPE_TAP]		= 'T',
> @@ -1383,12 +1376,6 @@ void *mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset
>  
>      if (fd == -1)
>          return map_zero(n, 1);
> -#ifdef CONFIG_LIBXENCTRL
> -    else if (files[fd].type == FTYPE_XC) {
> -        unsigned long zero = 0;
> -        return map_frames_ex(&zero, n, 0, 0, 1, DOMID_SELF, NULL, 0);
> -    }
> -#endif
>      else if (files[fd].type == FTYPE_MEM) {
>          unsigned long first_mfn = offset >> PAGE_SHIFT;
>          return map_frames_ex(&first_mfn, n, 0, 1, 1, DOMID_IO, NULL, _PAGE_PRESENT|_PAGE_RW);
> -- 
> 2.26.2
> 

-- 
Samuel
$ du temp.iso 
2,0T    temp.iso
$ ls temp.iso -l
-r-xr-xr-x    1 samy     thibault      16E 2003-03-22 14:44 temp.iso*
 -+- je vous dirai pas la marque de mon disque dur, na :p -+- 


From xen-devel-bounces@lists.xenproject.org Sun Jan 16 20:39:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 20:39:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257933.443555 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9CJ1-0004gs-F4; Sun, 16 Jan 2022 20:39:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257933.443555; Sun, 16 Jan 2022 20:39:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9CJ1-0004gl-By; Sun, 16 Jan 2022 20:39:15 +0000
Received: by outflank-mailman (input) for mailman id 257933;
 Sun, 16 Jan 2022 20:39:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g2po=SA=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n9CJ0-0004ej-A5
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 20:39:14 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5c90f37c-770c-11ec-a115-11989b9578b4;
 Sun, 16 Jan 2022 21:39:12 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 402A835D;
 Sun, 16 Jan 2022 21:39:11 +0100 (CET)
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 XCzniMKdUBPS; Sun, 16 Jan 2022 21:39:10 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 794E89E;
 Sun, 16 Jan 2022 21:39:09 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n9CIt-005uTB-JB;
 Sun, 16 Jan 2022 21:39:07 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5c90f37c-770c-11ec-a115-11989b9578b4
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 16 Jan 2022 21:39:07 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [MINIOS PATCH v3 4/5] use function vectors instead of switch for
 file operations
Message-ID: <20220116203907.7nr3f42rl6gnwi3k@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: <20220116064527.23519-1-jgross@suse.com>
 <20220116064527.23519-5-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220116064527.23519-5-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 402A835D
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le dim. 16 janv. 2022 07:45:26 +0100, a ecrit:
> Introduce file type specific function vectors for all the needed file
> operations which are file type specific in order to prepare replacing
> the large switch statements in each generic file function.
> 
> Add a function to allocate a new file type dynamically in order to
> prepare removing direct dependencies to external components in the
> future. For this reason switch the file type from an enum to an
> unsigned int. Prepare removal of some statically defines file types
> by putting them at the end of the defined list.
> 
> Change the debug output for the file type from a single character to
> a string in order to support a future removal of the file_types[]
> array.
> 
> Provide some functions useful for file_ops in future patches.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V2:
> - new patch
> V3:
> - drop typedefs for callbacks (Andrew Cooper)
> - const (Andrew Cooper)
> - drop loop from alloc_file_type() (Andrew Cooper)
> - switch to struct file * as first parameter of callbacks (Andrew Cooper)
> ---
>  include/lib.h |  57 +++++++----
>  lib/sys.c     | 268 ++++++++++++++++++++++++++++++++++++++++++--------
>  2 files changed, 263 insertions(+), 62 deletions(-)
> 
> diff --git a/include/lib.h b/include/lib.h
> index 7ca90768..44696806 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -66,6 +66,7 @@
>  
>  #ifdef HAVE_LIBC
>  #include <sys/queue.h>
> +#include <sys/stat.h>
>  #include <stdio.h>
>  #include <string.h>
>  #else
> @@ -154,23 +155,23 @@ do {                                                           \
>  void sanity_check(void);
>  
>  #ifdef HAVE_LIBC
> -enum fd_type {
> -    FTYPE_NONE = 0,
> -    FTYPE_CONSOLE,
> -    FTYPE_FILE,
> -    FTYPE_XENBUS,
> -    FTYPE_EVTCHN,
> -    FTYPE_GNTMAP,
> -    FTYPE_SOCKET,
> -    FTYPE_TAP,
> -    FTYPE_BLK,
> -    FTYPE_KBD,
> -    FTYPE_FB,
> -    FTYPE_MEM,
> -    FTYPE_SAVEFILE,
> -    FTYPE_TPMFRONT,
> -    FTYPE_TPM_TIS,
> -};
> +#define FTYPE_NONE       0
> +#define FTYPE_CONSOLE    1
> +#define FTYPE_FILE       2
> +#define FTYPE_SOCKET     3
> +#define FTYPE_MEM        4
> +#define FTYPE_SAVEFILE   5
> +#define FTYPE_FB         6
> +#define FTYPE_KBD        7
> +#define FTYPE_TAP        8
> +#define FTYPE_BLK        9
> +#define FTYPE_TPMFRONT  10
> +#define FTYPE_TPM_TIS   11
> +#define FTYPE_XENBUS    12
> +#define FTYPE_GNTMAP    13
> +#define FTYPE_EVTCHN    14
> +#define FTYPE_N         15
> +#define FTYPE_SPARE     16
>  
>  LIST_HEAD(evtchn_port_list, evtchn_port_info);
>  
> @@ -182,7 +183,7 @@ struct evtchn_port_info {
>  };
>  
>  struct file {
> -    enum fd_type type;
> +    unsigned int type;
>      bool read;	/* maybe available for read */
>      off_t offset;
>      union {
> @@ -197,8 +198,26 @@ struct file {
>  
>  extern struct file files[];
>  
> +struct file_ops {
> +    const char *name;
> +    int (*read)(struct file *file, void *buf, size_t nbytes);
> +    int (*write)(struct file *file, const void *buf, size_t nbytes);
> +    off_t (*lseek)(struct file *file, off_t offset, int whence);
> +    int (*close)(struct file *file);
> +    int (*fstat)(struct file *file, struct stat *buf);
> +    int (*fcntl)(struct file *file, int cmd, va_list args);
> +    bool (*select_rd)(struct file *file);
> +    bool (*select_wr)(struct file *file);
> +};
> +
> +unsigned int alloc_file_type(const struct file_ops *ops);
> +
> +off_t lseek_default(struct file *file, off_t offset, int whence);
> +bool select_yes(struct file *file);
> +bool select_read_flag(struct file *file);
> +
>  struct file *get_file_from_fd(int fd);
> -int alloc_fd(enum fd_type type);
> +int alloc_fd(unsigned int type);
>  void close_all_files(void);
>  extern struct thread *main_thread;
>  void sparse(unsigned long data, size_t size);
> diff --git a/lib/sys.c b/lib/sys.c
> index a24687b7..7be01fd3 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -97,6 +97,40 @@ struct file files[NOFILE] = {
>      { .type = FTYPE_CONSOLE }, /* stderr */
>  };
>  
> +static const struct file_ops file_ops_none = {
> +    .name = "none",
> +};
> +
> +static const struct file_ops *file_ops[FTYPE_N + FTYPE_SPARE] = {
> +    [FTYPE_NONE] = &file_ops_none,
> +};
> +
> +unsigned int alloc_file_type(const struct file_ops *ops)
> +{
> +    static unsigned int i = FTYPE_N;
> +    unsigned int ret;
> +
> +    pthread_mutex_lock(&fd_lock);
> +
> +    BUG_ON(i == ARRAY_SIZE(file_ops));
> +    ret = i++;
> +    file_ops[ret] = ops;
> +
> +    pthread_mutex_unlock(&fd_lock);
> +
> +    printk("New file type \"%s\"(%u) allocated\n", ops->name, ret);
> +
> +    return ret;
> +}
> +
> +static const struct file_ops *get_file_ops(unsigned int type)
> +{
> +    if ( type >= ARRAY_SIZE(file_ops) || !file_ops[type] )
> +        return &file_ops_none;
> +
> +    return file_ops[type];
> +}
> +
>  struct file *get_file_from_fd(int fd)
>  {
>      if ( fd < 0 || fd >= ARRAY_SIZE(files) )
> @@ -107,7 +141,7 @@ struct file *get_file_from_fd(int fd)
>  
>  DECLARE_WAIT_QUEUE_HEAD(event_queue);
>  
> -int alloc_fd(enum fd_type type)
> +int alloc_fd(unsigned int type)
>  {
>      int i;
>      pthread_mutex_lock(&fd_lock);
> @@ -248,7 +282,17 @@ int isatty(int fd)
>  
>  int read(int fd, void *buf, size_t nbytes)
>  {
> -    switch (files[fd].type) {
> +    struct file *file = get_file_from_fd(fd);
> +    const struct file_ops *ops;
> +
> +    if ( !file )
> +        goto error;
> +
> +    ops = get_file_ops(file->type);
> +    if ( ops->read )
> +        return ops->read(file, buf, nbytes);
> +
> +    switch (file->type) {
>          case FTYPE_SAVEFILE:
>  	case FTYPE_CONSOLE: {
>  	    int ret;
> @@ -320,6 +364,8 @@ int read(int fd, void *buf, size_t nbytes)
>  	default:
>  	    break;
>      }
> +
> + error:
>      printk("read(%d): Bad descriptor\n", fd);
>      errno = EBADF;
>      return -1;
> @@ -327,7 +373,17 @@ int read(int fd, void *buf, size_t nbytes)
>  
>  int write(int fd, const void *buf, size_t nbytes)
>  {
> -    switch (files[fd].type) {
> +    struct file *file = get_file_from_fd(fd);
> +    const struct file_ops *ops;
> +
> +    if ( !file )
> +        goto error;
> +
> +    ops = get_file_ops(file->type);
> +    if ( ops->write )
> +        return ops->write(file, buf, nbytes);
> +
> +    switch (file->type) {
>          case FTYPE_SAVEFILE: {
>                  int ret = 0, tot = nbytes;
>                  while (nbytes > 0) {
> @@ -364,14 +420,61 @@ int write(int fd, const void *buf, size_t nbytes)
>  	default:
>  	    break;
>      }
> +
> + error:
>      printk("write(%d): Bad descriptor\n", fd);
>      errno = EBADF;
>      return -1;
>  }
>  
> +off_t lseek_default(struct file *file, off_t offset, int whence)
> +{
> +    switch ( whence )
> +    {
> +    case SEEK_SET:
> +        file->offset = offset;
> +        break;
> +
> +    case SEEK_CUR:
> +        file->offset += offset;
> +        break;
> +
> +    case SEEK_END:
> +    {
> +        struct stat st;
> +        int ret;
> +
> +        ret = fstat(file - files, &st);
> +        if ( ret )
> +            return -1;
> +        file->offset = st.st_size + offset;
> +        break;
> +    }
> +
> +    default:
> +        errno = EINVAL;
> +        return -1;
> +    }
> +
> +    return file->offset;
> +}
> +
>  off_t lseek(int fd, off_t offset, int whence)
>  {
> -    switch(files[fd].type) {
> +    struct file *file = get_file_from_fd(fd);
> +    const struct file_ops *ops;
> +
> +    if ( !file )
> +    {
> +        errno = EBADF;
> +        return (off_t)-1;
> +    }
> +
> +    ops = get_file_ops(file->type);
> +    if ( ops->lseek )
> +        return ops->lseek(file, offset, whence);
> +
> +    switch(file->type) {
>  #ifdef CONFIG_BLKFRONT
>         case FTYPE_BLK:
>            break;
> @@ -392,28 +495,7 @@ off_t lseek(int fd, off_t offset, int whence)
>            return (off_t) -1;
>      }
>  
> -    switch (whence) {
> -       case SEEK_SET:
> -          files[fd].offset = offset;
> -          break;
> -       case SEEK_CUR:
> -          files[fd].offset += offset;
> -          break;
> -       case SEEK_END:
> -          {
> -             struct stat st;
> -             int ret;
> -             ret = fstat(fd, &st);
> -             if (ret)
> -                return -1;
> -             files[fd].offset = st.st_size + offset;
> -             break;
> -          }
> -       default:
> -          errno = EINVAL;
> -          return -1;
> -    }
> -    return files[fd].offset;
> +    return lseek_default(file, offset, whence);
>  }
>  
>  int fsync(int fd) {
> @@ -424,12 +506,21 @@ int fsync(int fd) {
>  int close(int fd)
>  {
>      int res = 0;
> +    struct file *file = get_file_from_fd(fd);
> +    const struct file_ops *ops;
>  
> -    if ( fd < 0 || fd >= ARRAY_SIZE(files) )
> +    if ( !file )
>          goto error;
>  
> +    ops = get_file_ops(file->type);
>      printk("close(%d)\n", fd);
> -    switch (files[fd].type) {
> +    if ( ops->close )
> +    {
> +        res = ops->close(file);
> +        goto out;
> +    }
> +
> +    switch (file->type) {
>          default:
>              break;
>  #ifdef CONFIG_XENBUS
> @@ -492,6 +583,7 @@ int close(int fd)
>              goto error;
>      }
>  
> + out:
>      memset(files + fd, 0, sizeof(struct file));
>      BUILD_BUG_ON(FTYPE_NONE != 0);
>  
> @@ -522,8 +614,19 @@ int stat(const char *path, struct stat *buf)
>  
>  int fstat(int fd, struct stat *buf)
>  {
> +    struct file *file = get_file_from_fd(fd);
> +    const struct file_ops *ops;
> +
> +    if ( !file )
> +        goto error;
> +
>      init_stat(buf);
> -    switch (files[fd].type) {
> +
> +    ops = get_file_ops(file->type);
> +    if ( ops->fstat )
> +        return ops->fstat(file, buf);
> +
> +    switch (file->type) {
>  	case FTYPE_SAVEFILE:
>  	case FTYPE_CONSOLE:
>  	case FTYPE_SOCKET: {
> @@ -557,6 +660,7 @@ int fstat(int fd, struct stat *buf)
>  	    break;
>      }
>  
> + error:
>      printk("statf(%d): Bad descriptor\n", fd);
>      errno = EBADF;
>      return -1;
> @@ -588,6 +692,27 @@ int fcntl(int fd, int cmd, ...)
>  {
>      long arg;
>      va_list ap;
> +    int res;
> +    struct file *file = get_file_from_fd(fd);
> +    const struct file_ops *ops;
> +
> +    if ( !file )
> +    {
> +        errno = EBADF;
> +        return -1;
> +    }
> +
> +    ops = get_file_ops(files[fd].type);
> +
> +    if ( ops->fcntl )
> +    {
> +        va_start(ap, cmd);
> +        res = ops->fcntl(file, cmd, ap);
> +        va_end(ap);
> +
> +        return res;
> +    }
> +
>      va_start(ap, cmd);
>      arg = va_arg(ap, long);
>      va_end(ap);
> @@ -641,17 +766,28 @@ int closedir(DIR *dir)
>  /* We assume that only the main thread calls select(). */
>  
>  #if defined(LIBC_DEBUG) || defined(LIBC_VERBOSE)
> -static const char file_types[] = {
> -    [FTYPE_NONE]	= 'N',
> -    [FTYPE_CONSOLE]	= 'C',
> -    [FTYPE_XENBUS]	= 'S',
> -    [FTYPE_EVTCHN]	= 'E',
> -    [FTYPE_SOCKET]	= 's',
> -    [FTYPE_TAP]		= 'T',
> -    [FTYPE_BLK]		= 'B',
> -    [FTYPE_KBD]		= 'K',
> -    [FTYPE_FB]		= 'G',
> +static const char *const file_types[] = {
> +    [FTYPE_NONE]    = "none",
> +    [FTYPE_CONSOLE] = "console",
> +    [FTYPE_XENBUS]  = "xenbus",
> +    [FTYPE_EVTCHN]  = "evtchn",
> +    [FTYPE_SOCKET]  = "socket",
> +    [FTYPE_TAP]     = "net",
> +    [FTYPE_BLK]     = "blk",
> +    [FTYPE_KBD]     = "kbd",
> +    [FTYPE_FB]      = "fb",
>  };
> +
> +static const char *get_type_name(unsigned int type)
> +{
> +    if ( type < ARRAY_SIZE(file_ops) && file_ops[type] )
> +        return file_ops[type]->name;
> +
> +    if ( type < ARRAY_SIZE(file_types) && file_types[type] )
> +        return file_types[type];
> +
> +    return "none";
> +}
>  #endif
>  #ifdef LIBC_DEBUG
>  static void dump_set(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout)
> @@ -663,7 +799,7 @@ static void dump_set(int nfds, fd_set *readfds, fd_set *writefds, fd_set *except
>  	if (FD_ISSET(i, set)) { \
>  	    if (comma) \
>  		printk(", "); \
> -	    printk("%d(%c)", i, file_types[files[i].type]); \
> +            printk("%d(%s)", i, get_type_name(files[i].type)); \
>  	    comma = 1; \
>  	} \
>      } \
> @@ -697,7 +833,7 @@ static void dump_pollfds(struct pollfd *pfd, int nfds, int timeout)
>          fd = pfd[i].fd;
>          if (comma)
>              printk(", ");
> -        printk("%d(%c)/%02x", fd, file_types[files[fd].type],
> +        printk("%d(%s)/%02x", fd, get_type_name(files[fd].type),
>              pfd[i].events);
>              comma = 1;
>      }
> @@ -709,6 +845,16 @@ static void dump_pollfds(struct pollfd *pfd, int nfds, int timeout)
>  #define dump_pollfds(pfds, nfds, timeout)
>  #endif
>  
> +bool select_yes(struct file *file)
> +{
> +    return true;
> +}
> +
> +bool select_read_flag(struct file *file)
> +{
> +    return file->read;
> +}
> +
>  /* Just poll without blocking */
>  static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds)
>  {
> @@ -760,11 +906,47 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
>  
>      /* Then see others as well. */
>      for (i = 0; i < nfds; i++) {
> -	switch(files[i].type) {
> +        struct file *file = get_file_from_fd(i);
> +
> +        if ( !file )
> +        {
> +            FD_CLR(i, readfds);
> +            FD_CLR(i, writefds);
> +            FD_CLR(i, exceptfds);
> +            continue;
> +        }
> +
> +        switch(file->type) {
>  	default:
> +        {
> +            const struct file_ops *ops = file_ops[file->type];
> +
> +            if ( ops )
> +            {
> +                if ( FD_ISSET(i, readfds) )
> +                {
> +                    if ( ops->select_rd && ops->select_rd(file) )
> +                        n++;
> +                    else
> +                        FD_CLR(i, readfds);
> +                }
> +                if ( FD_ISSET(i, writefds) )
> +                {
> +                    if ( ops->select_wr && ops->select_wr(file) )
> +                        n++;
> +                    else
> +                        FD_CLR(i, writefds);
> +                }
> +                FD_CLR(i, exceptfds);
> +
> +                break;
> +            }
> +
>  	    if (FD_ISSET(i, readfds) || FD_ISSET(i, writefds) || FD_ISSET(i, exceptfds))
>  		printk("bogus fd %d in select\n", i);
>  	    /* Fallthrough.  */
> +        }
> +
>  	case FTYPE_CONSOLE:
>  	    if (FD_ISSET(i, readfds)) {
>                  if (xencons_ring_avail(files[i].dev))
> @@ -842,7 +1024,7 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
>  	printk("%d(%d): ", nb, sock_n);
>  	for (i = 0; i < nfds; i++) {
>  	    if (nbread[i] || nbwrite[i] || nbexcept[i])
> -		printk(" %d(%c):", i, file_types[files[i].type]);
> +                printk(" %d(%c):", i, get_type_name(files[i].type));
>  	    if (nbread[i])
>  	    	printk(" %dR", nbread[i]);
>  	    if (nbwrite[i])
> -- 
> 2.26.2
> 

-- 
Samuel
* D a decide de peter un cable dans son rapport de pfp
<c> et il a bien raison ;-)
<c> tu vas dire quoi ?
<D> j'ai mis les paroles de "le coq est mort" en en-tete
 -+- #ens-mim et la peufeupeu -+-


From xen-devel-bounces@lists.xenproject.org Sun Jan 16 20:41:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 20:41:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257935.443567 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9CKb-00061k-R6; Sun, 16 Jan 2022 20:40:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257935.443567; Sun, 16 Jan 2022 20:40:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9CKb-00061d-Ni; Sun, 16 Jan 2022 20:40:53 +0000
Received: by outflank-mailman (input) for mailman id 257935;
 Sun, 16 Jan 2022 20:40:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g2po=SA=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n9CKa-00061S-4g
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 20:40:52 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 97629077-770c-11ec-a115-11989b9578b4;
 Sun, 16 Jan 2022 21:40:51 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 4CFA235D;
 Sun, 16 Jan 2022 21:40:50 +0100 (CET)
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 9PwE0IZnYp5n; Sun, 16 Jan 2022 21:40:49 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 192978B;
 Sun, 16 Jan 2022 21:40:49 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n9CKW-005uTY-FK;
 Sun, 16 Jan 2022 21:40:48 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 97629077-770c-11ec-a115-11989b9578b4
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 16 Jan 2022 21:40:48 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [MINIOS PATCH v3 5/5] add CONFIG_LIBXS item
Message-ID: <20220116204048.ameywemmjyy6dtkm@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: <20220116064527.23519-1-jgross@suse.com>
 <20220116064527.23519-6-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220116064527.23519-6-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 4CFA235D
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le dim. 16 janv. 2022 07:45:27 +0100, a ecrit:
> Mini-OS contains a stripped down version of libxenstore in lib/xs.c.
> Today it is being built always if CONFIG_XENBUS is set and libc
> support is enabled.
> 
> In order to allow a Mini-OS specific build of libxenstore to be used
> instead add a new CONFIG_LIBXS item which per default will have the
> same setting as CONFIG_XENBUS. A user wanting to replace lib/xs.c
> with libxenstore would just need to set CONFIG_XENBUS=y and
> CONFIG_LIBXS=n.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - new patch
> ---
>  Config.mk                     | 10 ++++++++--
>  Makefile                      |  2 +-
>  arch/x86/testbuild/all-no     |  1 +
>  arch/x86/testbuild/all-yes    |  1 +
>  arch/x86/testbuild/newxen-yes |  1 +
>  lib/sys.c                     |  4 ++--
>  6 files changed, 14 insertions(+), 5 deletions(-)
> 
> diff --git a/Config.mk b/Config.mk
> index 1e083881..03023033 100644
> --- a/Config.mk
> +++ b/Config.mk
> @@ -171,7 +171,10 @@ endif
>  # arch/*/testbuild/*-yes and arch/*/testbuild/*-no should set ALL possible
>  # CONFIG_ variables.
>  
> -# Configuration defaults
> +# Configuration defaults:
> +# CONFIG-y contains all items defaulting to "y"
> +# CONFIG-n contains all items defaulting to "n"
> +# CONFIG-x contains all items being calculated if not set explicitly
>  CONFIG-y += CONFIG_START_NETWORK
>  CONFIG-y += CONFIG_SPARSE_BSS
>  CONFIG-y += CONFIG_BLKFRONT
> @@ -205,7 +208,10 @@ CONFIG-$(lwip) += CONFIG_LWIP
>  $(foreach i,$(CONFIG-y),$(eval $(i) ?= y))
>  $(foreach i,$(CONFIG-n),$(eval $(i) ?= n))
>  
> -CONFIG-all := $(CONFIG-y) $(CONFIG-n)
> +CONFIG-x += CONFIG_LIBXS
> +CONFIG_LIBXS ?= $(CONFIG_XENBUS)
> +
> +CONFIG-all := $(CONFIG-y) $(CONFIG-n) $(CONFIG-x)
>  
>  # Export config items as compiler directives
>  $(foreach i,$(CONFIG-all),$(eval DEFINES-$($(i)) += -D$(i)))
> diff --git a/Makefile b/Makefile
> index 06b60fc7..9f95d197 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -65,7 +65,7 @@ src-y += lib/stack_chk_fail.c
>  src-y += lib/string.c
>  src-y += lib/sys.c
>  src-y += lib/xmalloc.c
> -src-$(CONFIG_XENBUS) += lib/xs.c
> +src-$(CONFIG_LIBXS) += lib/xs.c
>  
>  src-$(CONFIG_XENBUS) += xenbus/xenbus.c
>  
> diff --git a/arch/x86/testbuild/all-no b/arch/x86/testbuild/all-no
> index d6fc2608..46f974de 100644
> --- a/arch/x86/testbuild/all-no
> +++ b/arch/x86/testbuild/all-no
> @@ -13,6 +13,7 @@ CONFIG_FBFRONT = n
>  CONFIG_KBDFRONT = n
>  CONFIG_CONSFRONT = n
>  CONFIG_XENBUS = n
> +CONFIG_LIBXS = n
>  CONFIG_LIBXENEVTCHN = n
>  CONFIG_LIBXENGNTTAB = n
>  CONFIG_LWIP = n
> diff --git a/arch/x86/testbuild/all-yes b/arch/x86/testbuild/all-yes
> index 98bbfebf..3ead12f1 100644
> --- a/arch/x86/testbuild/all-yes
> +++ b/arch/x86/testbuild/all-yes
> @@ -13,6 +13,7 @@ CONFIG_FBFRONT = y
>  CONFIG_KBDFRONT = y
>  CONFIG_CONSFRONT = y
>  CONFIG_XENBUS = y
> +CONFIG_LIBXS = y
>  CONFIG_BALLOON = y
>  CONFIG_USE_XEN_CONSOLE = y
>  # The following are special: they need support from outside
> diff --git a/arch/x86/testbuild/newxen-yes b/arch/x86/testbuild/newxen-yes
> index 06032004..5c0b3c80 100644
> --- a/arch/x86/testbuild/newxen-yes
> +++ b/arch/x86/testbuild/newxen-yes
> @@ -13,6 +13,7 @@ CONFIG_FBFRONT = y
>  CONFIG_KBDFRONT = y
>  CONFIG_CONSFRONT = y
>  CONFIG_XENBUS = y
> +CONFIG_LIBXS = y
>  CONFIG_BALLOON = y
>  CONFIG_USE_XEN_CONSOLE = y
>  XEN_INTERFACE_VERSION=__XEN_LATEST_INTERFACE_VERSION__
> diff --git a/lib/sys.c b/lib/sys.c
> index 7be01fd3..e0ac5099 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -523,7 +523,7 @@ int close(int fd)
>      switch (file->type) {
>          default:
>              break;
> -#ifdef CONFIG_XENBUS
> +#ifdef CONFIG_LIBXS
>  	case FTYPE_XENBUS:
>              xs_daemon_close((void*)(intptr_t) fd);
>              break;
> @@ -958,7 +958,7 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
>                  n++;
>  	    FD_CLR(i, exceptfds);
>  	    break;
> -#ifdef CONFIG_XENBUS
> +#ifdef CONFIG_LIBXS
>  	case FTYPE_XENBUS:
>  	    if (FD_ISSET(i, readfds)) {
>                  if (files[i].dev)
> -- 
> 2.26.2
> 

-- 
Samuel
<s> bah, j'aime bien les feux d'artifices, mais j'ai peur de me prendre un boeing sur le coin de la gueule si je vais sur le pont de brooklyn
 -+- #ens-mim - 11 septembre forever -+-


From xen-devel-bounces@lists.xenproject.org Sun Jan 16 20:41:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 20:41:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257938.443582 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9CKh-0006ME-60; Sun, 16 Jan 2022 20:40:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257938.443582; Sun, 16 Jan 2022 20: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 1n9CKh-0006M7-2Y; Sun, 16 Jan 2022 20:40:59 +0000
Received: by outflank-mailman (input) for mailman id 257938;
 Sun, 16 Jan 2022 20:40:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=53EP=SA=hawrylko.pl=lukasz@srs-se1.protection.inumbo.net>)
 id 1n9CKf-00061S-2N
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 20:40:57 +0000
Received: from hawrylko.pl (hawrylko.pl [54.37.138.145])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9a8f47ff-770c-11ec-a115-11989b9578b4;
 Sun, 16 Jan 2022 21:40:56 +0100 (CET)
Received: from shaman-lnx.home.arpa (apn-31-1-6-41.dynamic.gprs.plus.pl
 [31.1.6.41]) by hawrylko.pl (Postfix) with ESMTPSA id 9E7393F96C;
 Sun, 16 Jan 2022 21:21:28 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9a8f47ff-770c-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=hawrylko.pl;
	s=201812; t=1642364489;
	bh=QBdhab4vXaZQVdeUPhHxFZZ2mB7N3+8xGrptWMQzV7M=;
	h=From:To:Cc:Subject:Date:From;
	b=usnR0qk5c+JMF1XInxlxv723OGTaAXxvaAbqAeBOBxm4mENCisyvlRqJAWw4ZrBs+
	 OEygC+k5LhzpHfP6IpdyziqGCWz0STaviXiGWmeZciaEsT/fqDUwctStWa6PoTZuz+
	 igWLA+CxVeNOjMkqMaJFrLomHVwQvVLKPN59tWIXaIzyqyfRGvPZKfvbyRQPYgvTsZ
	 e2ujgHj/gcyP2k7/eNzfbsr6LJVEk0AHsczcHQjm+yVgedIY5m+xvOOK8WwClEF3cp
	 WH+D62PxpBFG71/SozXiepjyuTq2wyFgFNenWMVzQcDCyi5AbtGILHlElKjL4CDgDT
	 3y/OrUJy7NcJw==
From: Lukasz Hawrylko <lukasz@hawrylko.pl>
To: xen-devel@lists.xenproject.org
Cc: Lukasz Hawrylko <lukasz@hawrylko.pl>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH] MAINTAINERS: Email address update in TXT section
Date: Sun, 16 Jan 2022 21:20:31 +0100
Message-Id: <20220116202031.19598-1-lukasz@hawrylko.pl>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

As I am not working for Intel anymore, I would like to update my email address
to my private one.

Signed-off-by: Lukasz Hawrylko <lukasz@hawrylko.pl>
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 4a2884dfa7..899569f950 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -316,7 +316,7 @@ F:	xen/common/hypfs.c
 F:	xen/include/xen/hypfs.h
 
 INTEL(R) TRUSTED EXECUTION TECHNOLOGY (TXT)
-R:	Lukasz Hawrylko <lukasz.hawrylko@linux.intel.com>
+R:	Lukasz Hawrylko <lukasz@hawrylko.pl>
 R:	Daniel P. Smith <dpsmith@apertussolutions.com>
 S:	Odd Fixes
 F:	xen/arch/x86/include/asm/tboot.h
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Jan 16 20:41:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 20:41:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257941.443596 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9CKs-0006tK-G5; Sun, 16 Jan 2022 20:41:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257941.443596; Sun, 16 Jan 2022 20:41:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9CKs-0006tA-D9; Sun, 16 Jan 2022 20:41:10 +0000
Received: by outflank-mailman (input) for mailman id 257941;
 Sun, 16 Jan 2022 20:41:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g2po=SA=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n9CKr-00061S-N5
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 20:41:09 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a1a934a7-770c-11ec-a115-11989b9578b4;
 Sun, 16 Jan 2022 21:41:08 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 87D6235D;
 Sun, 16 Jan 2022 21:41:07 +0100 (CET)
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 wcgPmvj1aVF3; Sun, 16 Jan 2022 21:41:06 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id CEAEC9E;
 Sun, 16 Jan 2022 21:41:06 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n9CKn-005uTn-2A;
 Sun, 16 Jan 2022 21:41: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>
X-Inumbo-ID: a1a934a7-770c-11ec-a115-11989b9578b4
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 16 Jan 2022 21:41:05 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [MINIOS PATCH v3 0/5] mini-os: remove struct file dependency on
 config
Message-ID: <20220116204105.lf3uzw2u4hu3l2sx@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: <20220116064527.23519-1-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220116064527.23519-1-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 87D6235D
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le dim. 16 janv. 2022 07:45:22 +0100, a ecrit:
> Today the layout of struct file is depending on the Mini-OS
> configuration. This is especially bad as the layout is exported to
> external users like the Xen libraries built for Mini-OS, and those
> are being built only once for multiple stubdom configurations.
> 
> Today there is no direct problem resulting from this, as the main
> difference between struct file layouts is a large union containing all
> the device specific data for the different file types. The largest
> union member is not configuration dependant, so the build is currently
> not broken.
> 
> In order to avoid any future problems this patch series is eliminating
> the configuration dependency by replacing most of the device specific
> union members by a single pointer.
> 
> The two union members used by Xen libraries can't be replaced yet, as
> those need to be switched to use the generic pointer first.
> 
> In order to hide the Mini-OS internal implementation of the files
> array, patches 1, 2, and  4 are introducing a common framework to
> access a struct file via its file descriptor, and to allocate new file
> types dynamically instead of having them all pre-defined. The file type
> specific operations are supplied via a function vector in order to
> remove the dependency of lib/sys.c on all the various file types.
> 
> Patch 5 is preparing a possible future support of libxenstore instead
> of using the Mini-OS internal variant located in lib/xs.c.

Thanks!

Samuel


From xen-devel-bounces@lists.xenproject.org Sun Jan 16 20:49:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 20:49:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257946.443607 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9CSg-00087j-Ev; Sun, 16 Jan 2022 20:49:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257946.443607; Sun, 16 Jan 2022 20: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 1n9CSg-00087c-Bv; Sun, 16 Jan 2022 20:49:14 +0000
Received: by outflank-mailman (input) for mailman id 257946;
 Sun, 16 Jan 2022 20:49:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g2po=SA=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n9CSf-00087W-Bg
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 20:49:13 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c228fd24-770d-11ec-a115-11989b9578b4;
 Sun, 16 Jan 2022 21:49:12 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 28DDD18A;
 Sun, 16 Jan 2022 21:49:11 +0100 (CET)
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 z1P2OGxujzt1; Sun, 16 Jan 2022 21:49:09 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 6C61F9E;
 Sun, 16 Jan 2022 21:49:09 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n9CSa-005ua8-CD;
 Sun, 16 Jan 2022 21:49:08 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c228fd24-770d-11ec-a115-11989b9578b4
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 16 Jan 2022 21:49:08 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: Re: [PATCH v3 1/3] tools/libs/evtchn: decouple more from mini-os
Message-ID: <20220116204908.cdajqdwglubswloc@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org,
	Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20220116082346.26194-1-jgross@suse.com>
 <20220116082346.26194-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: <20220116082346.26194-2-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 28DDD18A
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le dim. 16 janv. 2022 09:23:44 +0100, a ecrit:
> Mini-OS and libevtchn are using implementation details of each other.
> Change that by letting libevtchn use the new alloc_file_type() and
> get_file_from_fd() function and the generic dev pointer of struct file
> from Mini-OS.
> 
> By using private struct declarations Mini-OS will be able to drop the
> libevtchn specific definitions of struct evtchn_port_info and
> evtchn_port_list in future. While at it use bool for "pending" and
> "bound".
> 
> Switch to use xce as function parameter instead of fd where possible.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V2:
> - use xce instead of fd as parameter internally (Andrew Cooper)
> - add alloc_file_type() support
> V3:
> - switch callback to use struct file * as a parameter (Andrew Cooper)
> - use __attribute__((constructor)) (Andrew Cooper)
> ---
>  tools/libs/evtchn/minios.c | 143 +++++++++++++++++++++++++------------
>  1 file changed, 96 insertions(+), 47 deletions(-)
> 
> diff --git a/tools/libs/evtchn/minios.c b/tools/libs/evtchn/minios.c
> index 8f84048b11..ee3da9f8fe 100644
> --- a/tools/libs/evtchn/minios.c
> +++ b/tools/libs/evtchn/minios.c
> @@ -38,29 +38,40 @@
>  
>  #include "private.h"
>  
> -extern void minios_evtchn_close_fd(int fd);
> +LIST_HEAD(port_list, port_info);
> +
> +struct port_info {
> +    LIST_ENTRY(port_info) list;
> +    evtchn_port_t port;
> +    bool pending;
> +    bool bound;
> +};
>  
>  extern struct wait_queue_head event_queue;
>  
> +void minios_evtchn_close_fd(int fd);
> +
>  /* XXX Note: This is not threadsafe */
> -static struct evtchn_port_info *port_alloc(int fd)
> +static struct port_info *port_alloc(xenevtchn_handle *xce)
>  {
> -    struct evtchn_port_info *port_info;
> +    struct port_info *port_info;
> +    struct file *file = get_file_from_fd(xce->fd);
> +    struct port_list *port_list = file->dev;
>  
> -    port_info = malloc(sizeof(struct evtchn_port_info));
> +    port_info = malloc(sizeof(struct port_info));
>      if ( port_info == NULL )
>          return NULL;
>  
> -    port_info->pending = 0;
> +    port_info->pending = false;
>      port_info->port = -1;
> -    port_info->bound = 0;
> +    port_info->bound = false;
>  
> -    LIST_INSERT_HEAD(&files[fd].evtchn.ports, port_info, list);
> +    LIST_INSERT_HEAD(port_list, port_info, list);
>  
>      return port_info;
>  }
>  
> -static void port_dealloc(struct evtchn_port_info *port_info)
> +static void port_dealloc(struct port_info *port_info)
>  {
>      if ( port_info->bound )
>          unbind_evtchn(port_info->port);
> @@ -69,18 +80,57 @@ static void port_dealloc(struct evtchn_port_info *port_info)
>      free(port_info);
>  }
>  
> +static int evtchn_close_fd(struct file *file)
> +{
> +    struct port_info *port_info, *tmp;
> +    struct port_list *port_list = file->dev;
> +
> +    LIST_FOREACH_SAFE(port_info, port_list, list, tmp)
> +        port_dealloc(port_info);
> +    free(port_list);
> +
> +    return 0;
> +}
> +
> +static const struct file_ops evtchn_ops = {
> +    .name = "evtchn",
> +    .close = evtchn_close_fd,
> +    .select_rd = select_read_flag,
> +};
> +
> +static unsigned int ftype_evtchn;
> +
> +__attribute__((constructor))
> +static void evtchn_initialize(void)
> +{
> +    ftype_evtchn = alloc_file_type(&evtchn_ops);
> +}
> +
>  /*
>   * XENEVTCHN_NO_CLOEXEC is being ignored, as there is no exec() call supported
>   * in Mini-OS.
>   */
>  int osdep_evtchn_open(xenevtchn_handle *xce, unsigned int flags)
>  {
> -    int fd = alloc_fd(FTYPE_EVTCHN);
> +    int fd;
> +    struct file *file;
> +    struct port_list *list;
>  
> -    if ( fd == -1 )
> +    list = malloc(sizeof(*list));
> +    if ( !list )
>          return -1;
>  
> -    LIST_INIT(&files[fd].evtchn.ports);
> +    fd = alloc_fd(ftype_evtchn);
> +    file = get_file_from_fd(fd);
> +
> +    if ( !file )
> +    {
> +        free(list);
> +        return -1;
> +    }
> +
> +    file->dev = list;
> +    LIST_INIT(list);
>      xce->fd = fd;
>      printf("evtchn_open() -> %d\n", fd);
>  
> @@ -104,12 +154,9 @@ int osdep_evtchn_restrict(xenevtchn_handle *xce, domid_t domid)
>  
>  void minios_evtchn_close_fd(int fd)
>  {
> -    struct evtchn_port_info *port_info, *tmp;
> +    struct file *file = get_file_from_fd(fd);
>  
> -    LIST_FOREACH_SAFE(port_info, &files[fd].evtchn.ports, list, tmp)
> -        port_dealloc(port_info);
> -
> -    files[fd].type = FTYPE_NONE;
> +    evtchn_close_fd(file);
>  }
>  
>  int xenevtchn_notify(xenevtchn_handle *xce, evtchn_port_t port)
> @@ -129,42 +176,43 @@ int xenevtchn_notify(xenevtchn_handle *xce, evtchn_port_t port)
>  
>  static void evtchn_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
>  {
> -    int fd = (int)(intptr_t)data;
> -    struct evtchn_port_info *port_info;
> +    xenevtchn_handle *xce = data;
> +    struct file *file = get_file_from_fd(xce->fd);
> +    struct port_info *port_info;
> +    struct port_list *port_list;
>  
> -    assert(files[fd].type == FTYPE_EVTCHN);
> +    assert(file);
> +    port_list = file->dev;
>      mask_evtchn(port);
> -    LIST_FOREACH(port_info, &files[fd].evtchn.ports, list)
> +    LIST_FOREACH(port_info, port_list, list)
>      {
>          if ( port_info->port == port )
>              goto found;
>      }
>  
> -    printk("Unknown port for handle %d\n", fd);
> +    printk("Unknown port %d for handle %d\n", port, xce->fd);
>      return;
>  
>   found:
> -    port_info->pending = 1;
> -    files[fd].read = 1;
> +    port_info->pending = true;
> +    file->read = true;
>      wake_up(&event_queue);
>  }
>  
>  xenevtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle *xce,
>                                                        uint32_t domid)
>  {
> -    int fd = xce->fd;
> -    struct evtchn_port_info *port_info;
> +    struct port_info *port_info;
>      int ret;
>      evtchn_port_t port;
>  
>      assert(get_current() == main_thread);
> -    port_info = port_alloc(fd);
> +    port_info = port_alloc(xce);
>      if ( port_info == NULL )
>          return -1;
>  
>      printf("xenevtchn_bind_unbound_port(%d)", domid);
> -    ret = evtchn_alloc_unbound(domid, evtchn_handler,
> -                               (void *)(intptr_t)fd, &port);
> +    ret = evtchn_alloc_unbound(domid, evtchn_handler, xce, &port);
>      printf(" = %d\n", ret);
>  
>      if ( ret < 0 )
> @@ -174,7 +222,7 @@ xenevtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle *xce,
>          return -1;
>      }
>  
> -    port_info->bound = 1;
> +    port_info->bound = true;
>      port_info->port = port;
>      unmask_evtchn(port);
>  
> @@ -185,19 +233,18 @@ xenevtchn_port_or_error_t xenevtchn_bind_interdomain(xenevtchn_handle *xce,
>                                                       uint32_t domid,
>                                                       evtchn_port_t remote_port)
>  {
> -    int fd = xce->fd;
> -    struct evtchn_port_info *port_info;
> +    struct port_info *port_info;
>      evtchn_port_t local_port;
>      int ret;
>  
>      assert(get_current() == main_thread);
> -    port_info = port_alloc(fd);
> +    port_info = port_alloc(xce);
>      if ( port_info == NULL )
>          return -1;
>  
>      printf("xenevtchn_bind_interdomain(%d, %"PRId32")", domid, remote_port);
>      ret = evtchn_bind_interdomain(domid, remote_port, evtchn_handler,
> -                                  (void *)(intptr_t)fd, &local_port);
> +                                  xce, &local_port);
>      printf(" = %d\n", ret);
>  
>      if ( ret < 0 )
> @@ -207,7 +254,7 @@ xenevtchn_port_or_error_t xenevtchn_bind_interdomain(xenevtchn_handle *xce,
>          return -1;
>      }
>  
> -    port_info->bound = 1;
> +    port_info->bound = true;
>      port_info->port = local_port;
>      unmask_evtchn(local_port);
>  
> @@ -217,9 +264,11 @@ xenevtchn_port_or_error_t xenevtchn_bind_interdomain(xenevtchn_handle *xce,
>  int xenevtchn_unbind(xenevtchn_handle *xce, evtchn_port_t port)
>  {
>      int fd = xce->fd;
> -    struct evtchn_port_info *port_info;
> +    struct file *file = get_file_from_fd(fd);
> +    struct port_info *port_info;
> +    struct port_list *port_list = file->dev;
>  
> -    LIST_FOREACH(port_info, &files[fd].evtchn.ports, list)
> +    LIST_FOREACH(port_info, port_list, list)
>      {
>          if ( port_info->port == port )
>          {
> @@ -238,17 +287,16 @@ int xenevtchn_unbind(xenevtchn_handle *xce, evtchn_port_t port)
>  xenevtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce,
>                                                unsigned int virq)
>  {
> -    int fd = xce->fd;
> -    struct evtchn_port_info *port_info;
> +    struct port_info *port_info;
>      evtchn_port_t port;
>  
>      assert(get_current() == main_thread);
> -    port_info = port_alloc(fd);
> +    port_info = port_alloc(xce);
>      if ( port_info == NULL )
>          return -1;
>  
>      printf("xenevtchn_bind_virq(%d)", virq);
> -    port = bind_virq(virq, evtchn_handler, (void *)(intptr_t)fd);
> +    port = bind_virq(virq, evtchn_handler, xce);
>      printf(" = %d\n", port);
>  
>      if ( port < 0 )
> @@ -258,7 +306,7 @@ xenevtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce,
>          return -1;
>      }
>  
> -    port_info->bound = 1;
> +    port_info->bound = true;
>      port_info->port = port;
>      unmask_evtchn(port);
>  
> @@ -267,27 +315,28 @@ xenevtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce,
>  
>  xenevtchn_port_or_error_t xenevtchn_pending(xenevtchn_handle *xce)
>  {
> -    int fd = xce->fd;
> -    struct evtchn_port_info *port_info;
> +    struct file *file = get_file_from_fd(xce->fd);
> +    struct port_info *port_info;
> +    struct port_list *port_list = file->dev;
>      unsigned long flags;
>      evtchn_port_t ret = -1;
>  
>      local_irq_save(flags);
>  
> -    files[fd].read = 0;
> +    file->read = false;
>  
> -    LIST_FOREACH(port_info, &files[fd].evtchn.ports, list)
> +    LIST_FOREACH(port_info, port_list, list)
>      {
>          if ( port_info->port != -1 && port_info->pending )
>          {
>              if ( ret == -1 )
>              {
>                  ret = port_info->port;
> -                port_info->pending = 0;
> +                port_info->pending = false;
>              }
>              else
>              {
> -                files[fd].read = 1;
> +                file->read = true;
>                  break;
>              }
>          }
> -- 
> 2.26.2
> 

-- 
Samuel
> Allez, soyez sympa ... traduisez-lui "linux"
Linux, c'est comme le miel : c'est vachement bon mais ça attire les
mouches. En plus, ça colle aux doigts et on a du mal à s'en défaire.
-+- TP in: Guide du linuxien pervers - "Barrez vous les mouches !"


From xen-devel-bounces@lists.xenproject.org Sun Jan 16 20:50:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 20:50:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257949.443618 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9CUC-0000zk-Pa; Sun, 16 Jan 2022 20:50:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257949.443618; Sun, 16 Jan 2022 20:50:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9CUC-0000zd-Mm; Sun, 16 Jan 2022 20:50:48 +0000
Received: by outflank-mailman (input) for mailman id 257949;
 Sun, 16 Jan 2022 20:50:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g2po=SA=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n9CUB-0000zX-IQ
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 20:50:47 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fa7e23fa-770d-11ec-9bbc-9dff3e4ee8c5;
 Sun, 16 Jan 2022 21:50:46 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 1908D18A;
 Sun, 16 Jan 2022 21:50:46 +0100 (CET)
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 7imR6Hv4x9dA; Sun, 16 Jan 2022 21:50:45 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 362AA8B;
 Sun, 16 Jan 2022 21:50:45 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n9CU8-005uaU-Fz;
 Sun, 16 Jan 2022 21:50:44 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fa7e23fa-770d-11ec-9bbc-9dff3e4ee8c5
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 16 Jan 2022 21:50:44 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: Re: [PATCH v3 2/3] tools/libs/gnttab: decouple more from mini-os
Message-ID: <20220116205044.bmwmrrh2rirwdr4u@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org,
	Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20220116082346.26194-1-jgross@suse.com>
 <20220116082346.26194-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: <20220116082346.26194-3-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 1908D18A
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le dim. 16 janv. 2022 09:23:45 +0100, a ecrit:
> libgnttab is using implementation details of Mini-OS. Change that by
> letting libgnttab use the new alloc_file_type() and get_file_from_fd()
> functions and the generic dev pointer of struct file from Mini-OS.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V2:
> - add alloc_file_type() support
> V3:
> - switch callback to use struct file * as a parameter (Andrew Cooper)
> - use __attribute__((constructor)) (Andrew Cooper)
> ---
>  tools/libs/gnttab/minios.c | 67 +++++++++++++++++++++++++++++---------
>  1 file changed, 52 insertions(+), 15 deletions(-)
> 
> diff --git a/tools/libs/gnttab/minios.c b/tools/libs/gnttab/minios.c
> index f78caadd30..f59fad3577 100644
> --- a/tools/libs/gnttab/minios.c
> +++ b/tools/libs/gnttab/minios.c
> @@ -28,18 +28,55 @@
>  #include <sys/mman.h>
>  
>  #include <errno.h>
> +#include <malloc.h>
>  #include <unistd.h>
>  
>  #include "private.h"
>  
>  void minios_gnttab_close_fd(int fd);
>  
> +static int gnttab_close_fd(struct file *file)
> +{
> +    gntmap_fini(file->dev);
> +    free(file->dev);
> +
> +    return 0;
> +}
> +
> +static const struct file_ops gnttab_ops = {
> +    .name = "gnttab",
> +    .close = gnttab_close_fd,
> +};
> +
> +static unsigned int ftype_gnttab;
> +
> +__attribute__((constructor))
> +static void gnttab_initialize(void)
> +{
> +    ftype_gnttab = alloc_file_type(&gnttab_ops);
> +}
> +
>  int osdep_gnttab_open(xengnttab_handle *xgt)
>  {
> -    int fd = alloc_fd(FTYPE_GNTMAP);
> -    if ( fd == -1 )
> +    int fd;
> +    struct file *file;
> +    struct gntmap *gntmap;
> +
> +    gntmap = malloc(sizeof(*gntmap));
> +    if ( !gntmap )
>          return -1;
> -    gntmap_init(&files[fd].gntmap);
> +
> +    fd = alloc_fd(ftype_gnttab);
> +    file = get_file_from_fd(fd);
> +
> +    if ( !file )
> +    {
> +        free(gntmap);
> +        return -1;
> +    }
> +
> +    file->dev = gntmap;
> +    gntmap_init(gntmap);
>      xgt->fd = fd;
>      return 0;
>  }
> @@ -54,8 +91,9 @@ int osdep_gnttab_close(xengnttab_handle *xgt)
>  
>  void minios_gnttab_close_fd(int fd)
>  {
> -    gntmap_fini(&files[fd].gntmap);
> -    files[fd].type = FTYPE_NONE;
> +    struct file *file = get_file_from_fd(fd);
> +
> +    gnttab_close_fd(file);
>  }
>  
>  void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
> @@ -64,16 +102,16 @@ void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
>                               uint32_t notify_offset,
>                               evtchn_port_t notify_port)
>  {
> -    int fd = xgt->fd;
> +    struct file *file = get_file_from_fd(xgt->fd);
>      int stride = 1;
> +
>      if (flags & XENGNTTAB_GRANT_MAP_SINGLE_DOMAIN)
>          stride = 0;
>      if (notify_offset != -1 || notify_port != -1) {
>          errno = ENOSYS;
>          return NULL;
>      }
> -    return gntmap_map_grant_refs(&files[fd].gntmap,
> -                                 count, domids, stride,
> +    return gntmap_map_grant_refs(file->dev, count, domids, stride,
>                                   refs, prot & PROT_WRITE);
>  }
>  
> @@ -81,11 +119,10 @@ int osdep_gnttab_unmap(xengnttab_handle *xgt,
>                         void *start_address,
>                         uint32_t count)
>  {
> -    int fd = xgt->fd;
> +    struct file *file = get_file_from_fd(xgt->fd);
>      int ret;
> -    ret = gntmap_munmap(&files[fd].gntmap,
> -                        (unsigned long) start_address,
> -                        count);
> +
> +    ret = gntmap_munmap(file->dev, (unsigned long) start_address, count);
>      if (ret < 0) {
>          errno = -ret;
>          return -1;
> @@ -95,10 +132,10 @@ int osdep_gnttab_unmap(xengnttab_handle *xgt,
>  
>  int osdep_gnttab_set_max_grants(xengnttab_handle *xgt, uint32_t count)
>  {
> -    int fd = xgt->fd;
> +    struct file *file = get_file_from_fd(xgt->fd);
>      int ret;
> -    ret = gntmap_set_max_grants(&files[fd].gntmap,
> -                                count);
> +
> +    ret = gntmap_set_max_grants(file->dev, count);
>      if (ret < 0) {
>          errno = -ret;
>          return -1;
> -- 
> 2.26.2
> 

-- 
Samuel
"c'est pas nous qui sommes à la rue, c'est la rue qui est à nous"


From xen-devel-bounces@lists.xenproject.org Sun Jan 16 20:51:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 20:51:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257952.443630 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9CUs-0001YC-2d; Sun, 16 Jan 2022 20:51:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257952.443630; Sun, 16 Jan 2022 20: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 1n9CUr-0001Y5-Vt; Sun, 16 Jan 2022 20:51:29 +0000
Received: by outflank-mailman (input) for mailman id 257952;
 Sun, 16 Jan 2022 20:51:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g2po=SA=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n9CUq-0001Xi-0P
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 20:51:28 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [2a0c:e300::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 120fea90-770e-11ec-a115-11989b9578b4;
 Sun, 16 Jan 2022 21:51:27 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 9B7DA18A;
 Sun, 16 Jan 2022 21:51:25 +0100 (CET)
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 VPmjaCNA4PIG; Sun, 16 Jan 2022 21:51:25 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id F3F819E;
 Sun, 16 Jan 2022 21:51:24 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n9CUm-005ubZ-7j;
 Sun, 16 Jan 2022 21:51: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>
X-Inumbo-ID: 120fea90-770e-11ec-a115-11989b9578b4
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 16 Jan 2022 21:51:24 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v3 3/3] tools/libs/ctrl: remove file related handling
Message-ID: <20220116205124.xkjvtagk2fo7p6uk@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org,
	Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
References: <20220116082346.26194-1-jgross@suse.com>
 <20220116082346.26194-4-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220116082346.26194-4-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 9B7DA18A
X-Spamd-Result: default: False [0.40 / 15.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 RCPT_COUNT_FIVE(0.00)[5];
	 HAS_ORG_HEADER(0.00)[];
	 RCVD_COUNT_THREE(0.00)[3];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le dim. 16 janv. 2022 09:23:46 +0100, a ecrit:
> There is no special file handling related to libxenctrl in Mini-OS
> any longer, so the close hook can be removed.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V2:
> - new patch
> ---
>  tools/libs/ctrl/xc_minios.c | 9 ---------
>  1 file changed, 9 deletions(-)
> 
> diff --git a/tools/libs/ctrl/xc_minios.c b/tools/libs/ctrl/xc_minios.c
> index 1799daafdc..3dea7a78a5 100644
> --- a/tools/libs/ctrl/xc_minios.c
> +++ b/tools/libs/ctrl/xc_minios.c
> @@ -35,15 +35,6 @@
>  
>  #include "xc_private.h"
>  
> -void minios_interface_close_fd(int fd);
> -
> -extern void minios_interface_close_fd(int fd);
> -
> -void minios_interface_close_fd(int fd)
> -{
> -    files[fd].type = FTYPE_NONE;
> -}
> -
>  /* Optionally flush file to disk and discard page cache */
>  void discard_file_cache(xc_interface *xch, int fd, int flush)
>  {
> -- 
> 2.26.2
> 

-- 
Samuel
After watching my newly-retired dad spend two weeks learning how to make a new
folder, it became obvious that "intuitive" mostly means "what the writer or
speaker of intuitive likes".
(Bruce Ediger, bediger@teal.csn.org, in comp.os.linux.misc, on X the
intuitiveness of a Mac interface.)


From xen-devel-bounces@lists.xenproject.org Sun Jan 16 20:51:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 20:51:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257953.443641 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9CUz-0001sg-Dd; Sun, 16 Jan 2022 20:51:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257953.443641; Sun, 16 Jan 2022 20: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 1n9CUz-0001sJ-8H; Sun, 16 Jan 2022 20:51:37 +0000
Received: by outflank-mailman (input) for mailman id 257953;
 Sun, 16 Jan 2022 20:51:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g2po=SA=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n9CUy-0000zX-95
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 20:51:36 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 17bbd1a8-770e-11ec-9bbc-9dff3e4ee8c5;
 Sun, 16 Jan 2022 21:51:35 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 21BCC18A;
 Sun, 16 Jan 2022 21:51:35 +0100 (CET)
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 dtDKsxmyGmo3; Sun, 16 Jan 2022 21:51:34 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 4EAED9E;
 Sun, 16 Jan 2022 21:51:34 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n9CUv-005ubn-Q9;
 Sun, 16 Jan 2022 21:51:33 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 17bbd1a8-770e-11ec-9bbc-9dff3e4ee8c5
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 16 Jan 2022 21:51:33 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: Re: [PATCH v3 0/3] tools/libs: decouple more from mini-os
Message-ID: <20220116205133.pq4qvtt5jv7v6r2n@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org,
	Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20220116082346.26194-1-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220116082346.26194-1-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 21BCC18A
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le dim. 16 janv. 2022 09:23:43 +0100, a ecrit:
> This small series removes some hard coupling of the Xen build with some
> Mini-OS internals, especially the struct file layout and the internal
> organization of the file handling.
> 
> This series depends on the Mini-OS series posted recently:
> 
> https://lists.xen.org/archives/html/xen-devel/2022-01/threads.html#00635
> 
> The main idea is to no longer have Xen library specific structures
> inside struct file, or to let struct file layout depend on the
> configuration of Mini-OS.
> 
> All Xen libraries needing a hook in struct file should use the now
> available generic dev pointer and allocate the needed data dynamically.
> 
> Additionally Xen libraries should get the pointer of struct file via
> the new get_file_from_fd() function instead of accessing directly the
> files[] array, which might go away in future (e.g. in order to support
> dynamic allocation of struct file as needed).
> 
> Via using alloc_file_type() the libs provide a function vector in
> order to enable Mini-OS to remove the dedicated callbacks into the
> libs via known function names and replacing them to use the new
> vector.

Thanks!


From xen-devel-bounces@lists.xenproject.org Sun Jan 16 20:53:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 20:53:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257960.443655 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9CWS-0002rW-Rx; Sun, 16 Jan 2022 20:53:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257960.443655; Sun, 16 Jan 2022 20:53:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9CWS-0002rP-Ov; Sun, 16 Jan 2022 20:53:08 +0000
Received: by outflank-mailman (input) for mailman id 257960;
 Sun, 16 Jan 2022 20:53:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g2po=SA=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n9CWR-0002oK-A5
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 20:53:07 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4d464ca7-770e-11ec-a115-11989b9578b4;
 Sun, 16 Jan 2022 21:53:05 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id F2829427;
 Sun, 16 Jan 2022 21:53:04 +0100 (CET)
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 FxKhzwWjZS1b; Sun, 16 Jan 2022 21:53:04 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id D766E18A;
 Sun, 16 Jan 2022 21:53:03 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n9CWM-005udx-Qy;
 Sun, 16 Jan 2022 21:53:02 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4d464ca7-770e-11ec-a115-11989b9578b4
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 16 Jan 2022 21:53:02 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [MINIOS PATCH v3 01/12] remove event channel specific struct
 file definitions
Message-ID: <20220116205302.bp3j62v47rvo6zci@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: <20220116083328.26524-1-jgross@suse.com>
 <20220116083328.26524-2-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220116083328.26524-2-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: F2829427
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le dim. 16 janv. 2022 09:33:17 +0100, a ecrit:
> The event channel specific union member in struct file is no longer
> needed, so remove it together with the associated structure
> definitions.
> 
> The event channel file type and its associated handling can be removed,
> too, as libxenevtchn is now supplying a struct file_ops via a call of
> alloc_file_type().
> 
> This removes all contents of CONFIG_LIBXENEVTCHN guarded sections, so
> this config option can be removed.
> 
> Add an extern declaration for event_queue as it is used by
> libxenevtchn.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - add extern declaration for event_queue (Andrew Cooper)
> ---
>  Config.mk                     |  1 -
>  arch/x86/testbuild/all-no     |  1 -
>  arch/x86/testbuild/all-yes    |  1 -
>  arch/x86/testbuild/newxen-yes |  1 -
>  include/lib.h                 | 17 +++--------------
>  lib/sys.c                     |  7 -------
>  6 files changed, 3 insertions(+), 25 deletions(-)
> 
> diff --git a/Config.mk b/Config.mk
> index 03023033..52eb26d8 100644
> --- a/Config.mk
> +++ b/Config.mk
> @@ -200,7 +200,6 @@ CONFIG-n += CONFIG_PARAVIRT
>  endif
>  # Support legacy CONFIG_XC value
>  CONFIG_XC ?= $(libc)
> -CONFIG-$(CONFIG_XC) += CONFIG_LIBXENEVTCHN
>  CONFIG-$(CONFIG_XC) += CONFIG_LIBXENGNTTAB
>  
>  CONFIG-$(lwip) += CONFIG_LWIP
> diff --git a/arch/x86/testbuild/all-no b/arch/x86/testbuild/all-no
> index 46f974de..15c954ff 100644
> --- a/arch/x86/testbuild/all-no
> +++ b/arch/x86/testbuild/all-no
> @@ -14,7 +14,6 @@ CONFIG_KBDFRONT = n
>  CONFIG_CONSFRONT = n
>  CONFIG_XENBUS = n
>  CONFIG_LIBXS = n
> -CONFIG_LIBXENEVTCHN = n
>  CONFIG_LIBXENGNTTAB = n
>  CONFIG_LWIP = n
>  CONFIG_BALLOON = n
> diff --git a/arch/x86/testbuild/all-yes b/arch/x86/testbuild/all-yes
> index 3ead12f1..9964d42f 100644
> --- a/arch/x86/testbuild/all-yes
> +++ b/arch/x86/testbuild/all-yes
> @@ -17,6 +17,5 @@ CONFIG_LIBXS = y
>  CONFIG_BALLOON = y
>  CONFIG_USE_XEN_CONSOLE = y
>  # The following are special: they need support from outside
> -CONFIG_LIBXENEVTCHN = n
>  CONFIG_LIBXENGNTTAB = n
>  CONFIG_LWIP = n
> diff --git a/arch/x86/testbuild/newxen-yes b/arch/x86/testbuild/newxen-yes
> index 5c0b3c80..c2519938 100644
> --- a/arch/x86/testbuild/newxen-yes
> +++ b/arch/x86/testbuild/newxen-yes
> @@ -18,6 +18,5 @@ CONFIG_BALLOON = y
>  CONFIG_USE_XEN_CONSOLE = y
>  XEN_INTERFACE_VERSION=__XEN_LATEST_INTERFACE_VERSION__
>  # The following are special: they need support from outside
> -CONFIG_LIBXENEVTCHN = n
>  CONFIG_LIBXENGNTTAB = n
>  CONFIG_LWIP = n
> diff --git a/include/lib.h b/include/lib.h
> index 44696806..5f24be5d 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -155,6 +155,8 @@ do {                                                           \
>  void sanity_check(void);
>  
>  #ifdef HAVE_LIBC
> +extern struct wait_queue_head event_queue;
> +
>  #define FTYPE_NONE       0
>  #define FTYPE_CONSOLE    1
>  #define FTYPE_FILE       2
> @@ -169,19 +171,9 @@ void sanity_check(void);
>  #define FTYPE_TPM_TIS   11
>  #define FTYPE_XENBUS    12
>  #define FTYPE_GNTMAP    13
> -#define FTYPE_EVTCHN    14
> -#define FTYPE_N         15
> +#define FTYPE_N         14
>  #define FTYPE_SPARE     16
>  
> -LIST_HEAD(evtchn_port_list, evtchn_port_info);
> -
> -struct evtchn_port_info {
> -        LIST_ENTRY(evtchn_port_info) list;
> -        evtchn_port_t port;
> -        unsigned long pending;
> -        int bound;
> -};
> -
>  struct file {
>      unsigned int type;
>      bool read;	/* maybe available for read */
> @@ -189,9 +181,6 @@ struct file {
>      union {
>          int fd; /* Any fd from an upper layer. */
>          void *dev;
> -	struct {
> -	    struct evtchn_port_list ports;
> -	} evtchn;
>  	struct gntmap gntmap;
>      };
>  };
> diff --git a/lib/sys.c b/lib/sys.c
> index e0ac5099..34f0193d 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -533,11 +533,6 @@ int close(int fd)
>              res = lwip_close(files[fd].fd);
>              break;
>  #endif
> -#ifdef CONFIG_LIBXENEVTCHN
> -	case FTYPE_EVTCHN:
> -	    minios_evtchn_close_fd(fd);
> -            break;
> -#endif
>  #ifdef CONFIG_LIBXENGNTTAB
>  	case FTYPE_GNTMAP:
>  	    minios_gnttab_close_fd(fd);
> @@ -770,7 +765,6 @@ static const char *const file_types[] = {
>      [FTYPE_NONE]    = "none",
>      [FTYPE_CONSOLE] = "console",
>      [FTYPE_XENBUS]  = "xenbus",
> -    [FTYPE_EVTCHN]  = "evtchn",
>      [FTYPE_SOCKET]  = "socket",
>      [FTYPE_TAP]     = "net",
>      [FTYPE_BLK]     = "blk",
> @@ -970,7 +964,6 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
>  	    FD_CLR(i, exceptfds);
>  	    break;
>  #endif
> -	case FTYPE_EVTCHN:
>  	case FTYPE_TAP:
>  	case FTYPE_BLK:
>  	case FTYPE_KBD:
> -- 
> 2.26.2
> 

-- 
Samuel
 tohi.cybercable.fr (212.198.0.3) si une personne se reconnait derriere
 cette adresse que ce soit un pirate ou une victime qu'il se manifeste,
 cette personne pourrait bien etre un petit malin
 -+- Fred in NPC : Mamaaaaan, y a le routeur qui veut me hacker -+-


From xen-devel-bounces@lists.xenproject.org Sun Jan 16 20:54:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 20:54:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257963.443671 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9CXs-0003X1-8L; Sun, 16 Jan 2022 20:54:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257963.443671; Sun, 16 Jan 2022 20: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 1n9CXs-0003Wt-5I; Sun, 16 Jan 2022 20:54:36 +0000
Received: by outflank-mailman (input) for mailman id 257963;
 Sun, 16 Jan 2022 20:54:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g2po=SA=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n9CXq-0003Up-AH
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 20:54:34 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 812140a0-770e-11ec-9bbc-9dff3e4ee8c5;
 Sun, 16 Jan 2022 21:54:32 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id BCA3018A;
 Sun, 16 Jan 2022 21:54:31 +0100 (CET)
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 zJEEp-MXQuam; Sun, 16 Jan 2022 21:54:31 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id DC1F98B;
 Sun, 16 Jan 2022 21:54:30 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n9CXm-005ueK-6L;
 Sun, 16 Jan 2022 21:54:30 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 812140a0-770e-11ec-9bbc-9dff3e4ee8c5
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 16 Jan 2022 21:54:30 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [MINIOS PATCH v3 03/12] use alloc_file_type() and
 get_file_from_fd() in xs
Message-ID: <20220116205430.k6xc6migl4c5iwcy@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: <20220116083328.26524-1-jgross@suse.com>
 <20220116083328.26524-4-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20220116083328.26524-4-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: BCA3018A
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le dim. 16 janv. 2022 09:33:19 +0100, a ecrit:
> Allocate the needed file type via alloc_file_type().
> 
> Instead of directly accessing the files[] array use get_file_from_fd().
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - switch to struct file * parameter for callbacks
> - use __attribute__((constructor))
> ---
>  include/lib.h   |  3 +--
>  lib/sys.c       | 18 --------------
>  lib/xs.c        | 65 +++++++++++++++++++++++++++++++++++++------------
>  xenbus/xenbus.c |  1 +
>  4 files changed, 52 insertions(+), 35 deletions(-)
> 
> diff --git a/include/lib.h b/include/lib.h
> index 5838b0d4..c5e47786 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -169,8 +169,7 @@ extern struct wait_queue_head event_queue;
>  #define FTYPE_BLK        9
>  #define FTYPE_TPMFRONT  10
>  #define FTYPE_TPM_TIS   11
> -#define FTYPE_XENBUS    12
> -#define FTYPE_N         13
> +#define FTYPE_N         12
>  #define FTYPE_SPARE     16
>  
>  struct file {
> diff --git a/lib/sys.c b/lib/sys.c
> index 6ba26294..53870aa4 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -523,11 +523,6 @@ int close(int fd)
>      switch (file->type) {
>          default:
>              break;
> -#ifdef CONFIG_LIBXS
> -	case FTYPE_XENBUS:
> -            xs_daemon_close((void*)(intptr_t) fd);
> -            break;
> -#endif
>  #ifdef HAVE_LWIP
>  	case FTYPE_SOCKET:
>              res = lwip_close(files[fd].fd);
> @@ -759,7 +754,6 @@ int closedir(DIR *dir)
>  static const char *const file_types[] = {
>      [FTYPE_NONE]    = "none",
>      [FTYPE_CONSOLE] = "console",
> -    [FTYPE_XENBUS]  = "xenbus",
>      [FTYPE_SOCKET]  = "socket",
>      [FTYPE_TAP]     = "net",
>      [FTYPE_BLK]     = "blk",
> @@ -947,18 +941,6 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
>                  n++;
>  	    FD_CLR(i, exceptfds);
>  	    break;
> -#ifdef CONFIG_LIBXS
> -	case FTYPE_XENBUS:
> -	    if (FD_ISSET(i, readfds)) {
> -                if (files[i].dev)
> -		    n++;
> -		else
> -		    FD_CLR(i, readfds);
> -	    }
> -	    FD_CLR(i, writefds);
> -	    FD_CLR(i, exceptfds);
> -	    break;
> -#endif
>  	case FTYPE_TAP:
>  	case FTYPE_BLK:
>  	case FTYPE_KBD:
> diff --git a/lib/xs.c b/lib/xs.c
> index 4af0f960..c12341aa 100644
> --- a/lib/xs.c
> +++ b/lib/xs.c
> @@ -18,23 +18,56 @@ static inline int _xs_fileno(struct xs_handle *h) {
>      return (intptr_t) h;
>  }
>  
> +static int xs_close_fd(struct file *file)
> +{
> +    struct xenbus_event *event, *next;
> +
> +    for (event = file->dev; event; event = next)
> +    {
> +        next = event->next;
> +        free(event);
> +    }
> +
> +    return 0;
> +}
> +
> +static bool xs_can_read(struct file *file)
> +{
> +    return file && file->dev;
> +}
> +
> +static const struct file_ops xenbus_ops = {
> +    .name = "xenbus",
> +    .close = xs_close_fd,
> +    .select_rd = xs_can_read,
> +};
> +
> +static unsigned int ftype_xenbus;
> +
> +__attribute__((constructor))
> +static void xs_initialize(void)
> +{
> +    ftype_xenbus = alloc_file_type(&xenbus_ops);
> +}
> +
>  struct xs_handle *xs_daemon_open()
>  {
> -    int fd = alloc_fd(FTYPE_XENBUS);
> -    files[fd].dev = NULL;
> -    printk("xs_daemon_open -> %d, %p\n", fd, &files[fd].dev);
> +    int fd;
> +    struct file *file;
> +
> +    fd = alloc_fd(ftype_xenbus);
> +    file = get_file_from_fd(fd);
> +    if ( !file )
> +        return NULL;
> +
> +    file->dev = NULL;
> +    printk("xs_daemon_open -> %d, %p\n", fd, &file->dev);
>      return (void*)(intptr_t) fd;
>  }
>  
>  void xs_daemon_close(struct xs_handle *h)
>  {
> -    int fd = _xs_fileno(h);
> -    struct xenbus_event *event, *next;
> -    for (event = files[fd].dev; event; event = next)
> -    {
> -        next = event->next;
> -        free(event);
> -    }
> +    close(_xs_fileno(h));
>  }
>  
>  int xs_fileno(struct xs_handle *h)
> @@ -169,18 +202,20 @@ char **xs_directory(struct xs_handle *h, xs_transaction_t t,
>  
>  bool xs_watch(struct xs_handle *h, const char *path, const char *token)
>  {
> -    int fd = _xs_fileno(h);
> +    struct file *file = get_file_from_fd(_xs_fileno(h));
> +
>      printk("xs_watch(%s, %s)\n", path, token);
>      return xs_bool(xenbus_watch_path_token(XBT_NULL, path, token,
> -                   (xenbus_event_queue *)&files[fd].dev));
> +                   (xenbus_event_queue *)&file->dev));
>  }
>  
>  char **xs_read_watch(struct xs_handle *h, unsigned int *num)
>  {
> -    int fd = _xs_fileno(h);
>      struct xenbus_event *event;
> -    event = files[fd].dev;
> -    files[fd].dev = event->next;
> +    struct file *file = get_file_from_fd(_xs_fileno(h));
> +
> +    event = file->dev;
> +    file->dev = event->next;
>      printk("xs_read_watch() -> %s %s\n", event->path, event->token);
>      *num = 2;
>      return (char **) &event->path;
> diff --git a/xenbus/xenbus.c b/xenbus/xenbus.c
> index b687678f..785389fb 100644
> --- a/xenbus/xenbus.c
> +++ b/xenbus/xenbus.c
> @@ -393,6 +393,7 @@ static int allocate_xenbus_id(void)
>  void init_xenbus(void)
>  {
>      int err;
> +
>      DEBUG("init_xenbus called.\n");
>      create_thread("xenstore", xenbus_thread_func, NULL);
>      DEBUG("buf at %p.\n", xenstore_buf);
> -- 
> 2.26.2
> 

-- 
Samuel
 RR> Ce que je cherche à démontrer, c'est qu'il est injuste de faire
 RR> l'amalgame entre du bulk mail et du courrier non-solicité très ciblé
 un suppositoire non reclamé, meme tres bien ciblé, reste un suppositoire.
 -+-OS in : Guide du Neuneu d'Usenet - Plein le cul de la pub à neuneu -+-


From xen-devel-bounces@lists.xenproject.org Sun Jan 16 20:56:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 20:56:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257965.443681 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9CZM-0004Af-Jm; Sun, 16 Jan 2022 20:56:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257965.443681; Sun, 16 Jan 2022 20: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 1n9CZM-0004AY-G8; Sun, 16 Jan 2022 20:56:08 +0000
Received: by outflank-mailman (input) for mailman id 257965;
 Sun, 16 Jan 2022 20:56:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g2po=SA=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n9CZL-0004AK-8S
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 20:56:07 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b8ef6927-770e-11ec-9bbc-9dff3e4ee8c5;
 Sun, 16 Jan 2022 21:56:06 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 967C618A;
 Sun, 16 Jan 2022 21:56:05 +0100 (CET)
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 mkK-BXapKSIo; Sun, 16 Jan 2022 21:56:04 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 6E41F8B;
 Sun, 16 Jan 2022 21:56:04 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n9CZH-005uei-NW;
 Sun, 16 Jan 2022 21:56:03 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b8ef6927-770e-11ec-9bbc-9dff3e4ee8c5
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 16 Jan 2022 21:56:03 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [MINIOS PATCH v3 04/12] use alloc_file_type() and
 get_file_from_fd() in tpm_tis
Message-ID: <20220116205603.xscu3yb4wrjxubeu@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: <20220116083328.26524-1-jgross@suse.com>
 <20220116083328.26524-5-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20220116083328.26524-5-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 967C618A
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le dim. 16 janv. 2022 09:33:20 +0100, a ecrit:
> Allocate a file type dynamically via alloc_file_type().
> 
> Instead of directly accessing the files[] array use get_file_from_fd().
> 
> Make some now local functions static and modify their prototypes to
> match the file_ops requirements.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - switch to struct file * parameter for callbacks
> - use __attribute__((constructor))
> ---
>  include/lib.h     |   3 +-
>  include/tpm_tis.h |   6 ---
>  lib/sys.c         |  23 ---------
>  tpm_tis.c         | 121 +++++++++++++++++++++++++++++-----------------
>  4 files changed, 78 insertions(+), 75 deletions(-)
> 
> diff --git a/include/lib.h b/include/lib.h
> index c5e47786..9dfb4689 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -168,8 +168,7 @@ extern struct wait_queue_head event_queue;
>  #define FTYPE_TAP        8
>  #define FTYPE_BLK        9
>  #define FTYPE_TPMFRONT  10
> -#define FTYPE_TPM_TIS   11
> -#define FTYPE_N         12
> +#define FTYPE_N         11
>  #define FTYPE_SPARE     16
>  
>  struct file {
> diff --git a/include/tpm_tis.h b/include/tpm_tis.h
> index 86e83f13..2af974db 100644
> --- a/include/tpm_tis.h
> +++ b/include/tpm_tis.h
> @@ -37,14 +37,11 @@ struct tpm_chip;
>  
>  struct tpm_chip* init_tpm_tis(unsigned long baseaddr, int localities, unsigned int irq);
>  struct tpm_chip* init_tpm2_tis(unsigned long baseaddr, int localities, unsigned int irq);
> -void shutdown_tpm_tis(struct tpm_chip* tpm);
>  
>  int tpm_tis_request_locality(struct tpm_chip* tpm, int locality);
>  int tpm_tis_cmd(struct tpm_chip* tpm, uint8_t* req, size_t reqlen, uint8_t** resp, size_t* resplen);
>  
>  #ifdef HAVE_LIBC
> -#include <sys/stat.h>
> -#include <fcntl.h>
>  /* POSIX IO functions:
>   * use tpm_tis_open() to get a file descriptor to the tpm device
>   * use write() on the fd to send a command to the backend. You must
> @@ -53,9 +50,6 @@ int tpm_tis_cmd(struct tpm_chip* tpm, uint8_t* req, size_t reqlen, uint8_t** res
>   * fstat() to get the size of the response and lseek() to seek on it.
>   */
>  int tpm_tis_open(struct tpm_chip* tpm);
> -int tpm_tis_posix_read(int fd, uint8_t* buf, size_t count);
> -int tpm_tis_posix_write(int fd, const uint8_t* buf, size_t count);
> -int tpm_tis_posix_fstat(int fd, struct stat* buf);
>  #endif
>  
>  #endif
> diff --git a/lib/sys.c b/lib/sys.c
> index 53870aa4..2fc81f20 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -29,7 +29,6 @@
>  #include <blkfront.h>
>  #include <fbfront.h>
>  #include <tpmfront.h>
> -#include <tpm_tis.h>
>  #include <xenbus.h>
>  #include <xenstore.h>
>  #include <poll.h>
> @@ -355,11 +354,6 @@ int read(int fd, void *buf, size_t nbytes)
>          case FTYPE_TPMFRONT: {
>  	    return tpmfront_posix_read(fd, buf, nbytes);
>          }
> -#endif
> -#ifdef CONFIG_TPM_TIS
> -        case FTYPE_TPM_TIS: {
> -	    return tpm_tis_posix_read(fd, buf, nbytes);
> -        }
>  #endif
>  	default:
>  	    break;
> @@ -412,10 +406,6 @@ int write(int fd, const void *buf, size_t nbytes)
>  #ifdef CONFIG_TPMFRONT
>  	case FTYPE_TPMFRONT:
>  	    return tpmfront_posix_write(fd, buf, nbytes);
> -#endif
> -#ifdef CONFIG_TPM_TIS
> -	case FTYPE_TPM_TIS:
> -	    return tpm_tis_posix_write(fd, buf, nbytes);
>  #endif
>  	default:
>  	    break;
> @@ -482,10 +472,6 @@ off_t lseek(int fd, off_t offset, int whence)
>  #ifdef CONFIG_TPMFRONT
>         case FTYPE_TPMFRONT:
>            break;
> -#endif
> -#ifdef CONFIG_TPM_TIS
> -       case FTYPE_TPM_TIS:
> -          break;
>  #endif
>         case FTYPE_FILE:
>            break;
> @@ -543,11 +529,6 @@ int close(int fd)
>              shutdown_tpmfront(files[fd].dev);
>              break;
>  #endif
> -#ifdef CONFIG_TPM_TIS
> -	case FTYPE_TPM_TIS:
> -            shutdown_tpm_tis(files[fd].dev);
> -            break;
> -#endif
>  #ifdef CONFIG_KBDFRONT
>  	case FTYPE_KBD:
>              shutdown_kbdfront(files[fd].dev);
> @@ -636,10 +617,6 @@ int fstat(int fd, struct stat *buf)
>  #ifdef CONFIG_TPMFRONT
>  	case FTYPE_TPMFRONT:
>  	   return tpmfront_posix_fstat(fd, buf);
> -#endif
> -#ifdef CONFIG_TPM_TIS
> -	case FTYPE_TPM_TIS:
> -	   return tpm_tis_posix_fstat(fd, buf);
>  #endif
>  	default:
>  	    break;
> diff --git a/tpm_tis.c b/tpm_tis.c
> index 477f5550..b88ec874 100644
> --- a/tpm_tis.c
> +++ b/tpm_tis.c
> @@ -792,6 +792,9 @@ int tpm_tis_send(struct tpm_chip* tpm, uint8_t* buf, size_t len) {
>     int status, burstcnt = 0;
>     int count = 0;
>     uint32_t ordinal;
> +#ifdef HAVE_LIBC
> +   struct file *file = get_file_from_fd(tpm->fd);
> +#endif
>  
>     if(tpm_tis_request_locality(tpm, tpm->locality) < 0) {
>        return -EBUSY;
> @@ -844,9 +847,10 @@ int tpm_tis_send(struct tpm_chip* tpm, uint8_t* buf, size_t len) {
>        }
>     }
>  #ifdef HAVE_LIBC
> -   if(tpm->fd >= 0) {
> -      files[tpm->fd].read = false;
> -      files[tpm->fd].offset = 0;
> +   if ( file )
> +   {
> +      file->read = false;
> +      file->offset = 0;
>     }
>  #endif
>     return len;
> @@ -1093,6 +1097,26 @@ ssize_t tpm_getcap(struct tpm_chip *chip, uint32_t subcap_id, cap_t *cap,
>          return rc;
>  }
>  
> +static void shutdown_tpm_tis(struct tpm_chip *tpm)
> +{
> +    int i;
> +
> +    printk("Shutting down tpm_tis device\n");
> +
> +    iowrite32(TPM_INT_ENABLE(tpm, tpm->locality), ~TPM_GLOBAL_INT_ENABLE);
> +
> +    /* Unmap all of the mmio pages */
> +    for ( i = 0; i < 5; ++i )
> +    {
> +        if ( tpm->pages[i] != NULL )
> +        {
> +            iounmap(tpm->pages[i], PAGE_SIZE);
> +            tpm->pages[i] = NULL;
> +        }
> +    }
> +    free(tpm);
> +    return;
> +}
>  
>  struct tpm_chip* init_tpm_tis(unsigned long baseaddr, int localities, unsigned int irq)
>  {
> @@ -1242,25 +1266,6 @@ abort_egress:
>     return NULL;
>  }
>  
> -void shutdown_tpm_tis(struct tpm_chip* tpm){
> -   int i;
> -
> -   printk("Shutting down tpm_tis device\n");
> -
> -   iowrite32(TPM_INT_ENABLE(tpm, tpm->locality), ~TPM_GLOBAL_INT_ENABLE);
> -
> -   /*Unmap all of the mmio pages */
> -   for(i = 0; i < 5; ++i) {
> -      if(tpm->pages[i] != NULL) {
> -	 iounmap(tpm->pages[i], PAGE_SIZE);
> -	 tpm->pages[i] = NULL;
> -      }
> -   }
> -   free(tpm);
> -   return;
> -}
> -
> -
>  int tpm_tis_cmd(struct tpm_chip* tpm, uint8_t* req, size_t reqlen, uint8_t** resp, size_t* resplen)
>  {
>     if(tpm->locality < 0) {
> @@ -1279,23 +1284,19 @@ int tpm_tis_cmd(struct tpm_chip* tpm, uint8_t* req, size_t reqlen, uint8_t** res
>  }
>  
>  #ifdef HAVE_LIBC
> -int tpm_tis_open(struct tpm_chip* tpm)
> +#include <sys/stat.h>
> +#include <fcntl.h>
> +
> +static int tpm_tis_close(struct file *file)
>  {
> -   /* Silently prevent multiple opens */
> -   if(tpm->fd != -1) {
> -      return tpm->fd;
> -   }
> +    shutdown_tpm_tis(file->dev);
>  
> -   tpm->fd = alloc_fd(FTYPE_TPM_TIS);
> -   printk("tpm_tis_open() -> %d\n", tpm->fd);
> -   files[tpm->fd].dev = tpm;
> -   return tpm->fd;
> +    return 0;
>  }
>  
> -int tpm_tis_posix_write(int fd, const uint8_t* buf, size_t count)
> +static int tpm_tis_posix_write(struct file *file, const void *buf, size_t count)
>  {
> -   struct tpm_chip* tpm;
> -   tpm = files[fd].dev;
> +   struct tpm_chip *tpm = file->dev;
>  
>     if(tpm->locality < 0) {
>        printk("tpm_tis_posix_write() failed! locality not set!\n");
> @@ -1319,11 +1320,10 @@ int tpm_tis_posix_write(int fd, const uint8_t* buf, size_t count)
>     return count;
>  }
>  
> -int tpm_tis_posix_read(int fd, uint8_t* buf, size_t count)
> +static int tpm_tis_posix_read(struct file *file, void *buf, size_t count)
>  {
>     int rc;
> -   struct tpm_chip* tpm;
> -   tpm = files[fd].dev;
> +   struct tpm_chip *tpm = file->dev;
>  
>     if(count == 0) {
>        return 0;
> @@ -1337,20 +1337,21 @@ int tpm_tis_posix_read(int fd, uint8_t* buf, size_t count)
>  
>  
>     /* Handle EOF case */
> -   if(files[fd].offset >= tpm->data_len) {
> +   if ( file->offset >= tpm->data_len )
> +   {
>        rc = 0;
>     } else {
> -      rc = min(tpm->data_len - files[fd].offset, count);
> -      memcpy(buf, tpm->data_buffer + files[fd].offset, rc);
> +      rc = min(tpm->data_len - file->offset, count);
> +      memcpy(buf, tpm->data_buffer + file->offset, rc);
>     }
> -   files[fd].offset += rc;
> +   file->offset += rc;
>     /* Reset the data pending flag */
>     return rc;
>  }
> -int tpm_tis_posix_fstat(int fd, struct stat* buf)
> +
> +static int tpm_tis_posix_fstat(struct file *file, struct stat *buf)
>  {
> -   struct tpm_chip* tpm;
> -   tpm = files[fd].dev;
> +   struct tpm_chip *tpm = file->dev;
>  
>     buf->st_mode = O_RDWR;
>     buf->st_uid = 0;
> @@ -1360,6 +1361,38 @@ int tpm_tis_posix_fstat(int fd, struct stat* buf)
>     return 0;
>  }
>  
> +static const struct file_ops tpm_tis_ops = {
> +    .name = "tpm_tis",
> +    .read = tpm_tis_posix_read,
> +    .write = tpm_tis_posix_write,
> +    .lseek = lseek_default,
> +    .close = tpm_tis_close,
> +    .fstat = tpm_tis_posix_fstat,
> +};
> +
> +static unsigned int ftype_tis;
> +
> +__attribute__((constructor))
> +static void tpm_tis_initialize(void)
> +{
> +    ftype_tis = alloc_file_type(&tpm_tis_ops);
> +}
> +
> +int tpm_tis_open(struct tpm_chip *tpm)
> +{
> +    struct file *file;
> +
> +    /* Silently prevent multiple opens */
> +    if ( tpm->fd != -1 )
> +        return tpm->fd;
> +
> +    tpm->fd = alloc_fd(ftype_tis);
> +    printk("tpm_tis_open() -> %d\n", tpm->fd);
> +    file = get_file_from_fd(tpm->fd);
> +    file->dev = tpm;
> +    return tpm->fd;
> +}
> +
>  /* TPM 2.0 */
>  
>  /*TPM2.0 Selftest*/
> -- 
> 2.26.2
> 

-- 
Samuel
 > et sinon, quand on s'interesse a un media que l'on ne maitrise pas,
 > on essaye de le comprendre d'abord.
 (Suivi par l'intégralité du message initial de 45 lignes.)
 -+-BM in : GNU - La maîtrise est un long apprentissage petit scarabé -+-


From xen-devel-bounces@lists.xenproject.org Sun Jan 16 20:57:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 20:57:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257970.443701 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Caa-0004xn-7Y; Sun, 16 Jan 2022 20:57:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257970.443701; Sun, 16 Jan 2022 20:57:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Caa-0004xg-44; Sun, 16 Jan 2022 20:57:24 +0000
Received: by outflank-mailman (input) for mailman id 257970;
 Sun, 16 Jan 2022 20:57:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g2po=SA=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n9CaZ-0004vO-3S
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 20:57:23 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e5a9602d-770e-11ec-9bbc-9dff3e4ee8c5;
 Sun, 16 Jan 2022 21:57:21 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 9F5D72BC;
 Sun, 16 Jan 2022 21:57:20 +0100 (CET)
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 iukV3sVfvEPg; Sun, 16 Jan 2022 21:57:19 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 97A3A9E;
 Sun, 16 Jan 2022 21:57:19 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n9CaU-005uf4-Tp;
 Sun, 16 Jan 2022 21:57:18 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e5a9602d-770e-11ec-9bbc-9dff3e4ee8c5
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 16 Jan 2022 21:57:18 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [MINIOS PATCH v3 05/12] use alloc_file_type() and
 get_file_from_fd() in tpmfront
Message-ID: <20220116205718.cyraq5u5zfqkuev2@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: <20220116083328.26524-1-jgross@suse.com>
 <20220116083328.26524-6-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220116083328.26524-6-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 9F5D72BC
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le dim. 16 janv. 2022 09:33:21 +0100, a ecrit:
> Allocate a file type dynamically via alloc_file_type().
> 
> Instead of directly accessing the files[] array use get_file_from_fd().
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - switch to struct file * parameter for callbacks
> - use __attribute__((constructor))
> ---
>  include/lib.h      |   3 +-
>  include/tpmfront.h |   5 ---
>  lib/sys.c          |  23 -----------
>  tpmfront.c         | 100 ++++++++++++++++++++++++++++++---------------
>  4 files changed, 69 insertions(+), 62 deletions(-)
> 
> diff --git a/include/lib.h b/include/lib.h
> index 9dfb4689..9b7eaae7 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -167,8 +167,7 @@ extern struct wait_queue_head event_queue;
>  #define FTYPE_KBD        7
>  #define FTYPE_TAP        8
>  #define FTYPE_BLK        9
> -#define FTYPE_TPMFRONT  10
> -#define FTYPE_N         11
> +#define FTYPE_N         10
>  #define FTYPE_SPARE     16
>  
>  struct file {
> diff --git a/include/tpmfront.h b/include/tpmfront.h
> index b7da50e3..a527371b 100644
> --- a/include/tpmfront.h
> +++ b/include/tpmfront.h
> @@ -81,7 +81,6 @@ int tpmfront_cmd(struct tpmfront_dev* dev, uint8_t* req, size_t reqlen, uint8_t*
>  int tpmfront_set_locality(struct tpmfront_dev* dev, int locality);
>  
>  #ifdef HAVE_LIBC
> -#include <sys/stat.h>
>  /* POSIX IO functions:
>   * use tpmfront_open() to get a file descriptor to the tpm device
>   * use write() on the fd to send a command to the backend. You must
> @@ -90,10 +89,6 @@ int tpmfront_set_locality(struct tpmfront_dev* dev, int locality);
>   * fstat() to get the size of the response and lseek() to seek on it.
>   */
>  int tpmfront_open(struct tpmfront_dev* dev);
> -int tpmfront_posix_read(int fd, uint8_t* buf, size_t count);
> -int tpmfront_posix_write(int fd, const uint8_t* buf, size_t count);
> -int tpmfront_posix_fstat(int fd, struct stat* buf);
>  #endif
>  
> -
>  #endif
> diff --git a/lib/sys.c b/lib/sys.c
> index 2fc81f20..39f51980 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -28,7 +28,6 @@
>  #include <netfront.h>
>  #include <blkfront.h>
>  #include <fbfront.h>
> -#include <tpmfront.h>
>  #include <xenbus.h>
>  #include <xenstore.h>
>  #include <poll.h>
> @@ -349,11 +348,6 @@ int read(int fd, void *buf, size_t nbytes)
>          case FTYPE_BLK: {
>  	    return blkfront_posix_read(fd, buf, nbytes);
>          }
> -#endif
> -#ifdef CONFIG_TPMFRONT
> -        case FTYPE_TPMFRONT: {
> -	    return tpmfront_posix_read(fd, buf, nbytes);
> -        }
>  #endif
>  	default:
>  	    break;
> @@ -402,10 +396,6 @@ int write(int fd, const void *buf, size_t nbytes)
>  #ifdef CONFIG_BLKFRONT
>  	case FTYPE_BLK:
>  	    return blkfront_posix_write(fd, buf, nbytes);
> -#endif
> -#ifdef CONFIG_TPMFRONT
> -	case FTYPE_TPMFRONT:
> -	    return tpmfront_posix_write(fd, buf, nbytes);
>  #endif
>  	default:
>  	    break;
> @@ -468,10 +458,6 @@ off_t lseek(int fd, off_t offset, int whence)
>  #ifdef CONFIG_BLKFRONT
>         case FTYPE_BLK:
>            break;
> -#endif
> -#ifdef CONFIG_TPMFRONT
> -       case FTYPE_TPMFRONT:
> -          break;
>  #endif
>         case FTYPE_FILE:
>            break;
> @@ -524,11 +510,6 @@ int close(int fd)
>              shutdown_blkfront(files[fd].dev);
>              break;
>  #endif
> -#ifdef CONFIG_TPMFRONT
> -	case FTYPE_TPMFRONT:
> -            shutdown_tpmfront(files[fd].dev);
> -            break;
> -#endif
>  #ifdef CONFIG_KBDFRONT
>  	case FTYPE_KBD:
>              shutdown_kbdfront(files[fd].dev);
> @@ -613,10 +594,6 @@ int fstat(int fd, struct stat *buf)
>  #ifdef CONFIG_BLKFRONT
>  	case FTYPE_BLK:
>  	   return blkfront_posix_fstat(fd, buf);
> -#endif
> -#ifdef CONFIG_TPMFRONT
> -	case FTYPE_TPMFRONT:
> -	   return tpmfront_posix_fstat(fd, buf);
>  #endif
>  	default:
>  	    break;
> diff --git a/tpmfront.c b/tpmfront.c
> index 0a2fefc5..13163ad6 100644
> --- a/tpmfront.c
> +++ b/tpmfront.c
> @@ -49,6 +49,10 @@
>  void tpmfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data) {
>     struct tpmfront_dev* dev = (struct tpmfront_dev*) data;
>     tpmif_shared_page_t *shr = dev->page;
> +#ifdef HAVE_LIBC
> +    struct file *file = get_file_from_fd(dev->fd);
> +#endif
> +
>     /*If we get a response when we didnt make a request, just ignore it */
>     if(!dev->waiting) {
>        return;
> @@ -65,8 +69,9 @@ void tpmfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data) {
>  
>     dev->waiting = 0;
>  #ifdef HAVE_LIBC
> -   if(dev->fd >= 0) {
> -      files[dev->fd].read = true;
> +   if ( file )
> +   {
> +      file->read = true;
>     }
>  #endif
>     wake_up(&dev->waitq);
> @@ -405,6 +410,10 @@ int tpmfront_send(struct tpmfront_dev* dev, const uint8_t* msg, size_t length)
>  #ifdef TPMFRONT_PRINT_DEBUG
>     int i;
>  #endif
> +#ifdef HAVE_LIBC
> +    struct file *file = dev ? get_file_from_fd(dev->fd) : NULL;
> +#endif
> +
>     /* Error Checking */
>     if(dev == NULL || dev->state != XenbusStateConnected) {
>        TPMFRONT_ERR("Tried to send message through disconnected frontend\n");
> @@ -437,9 +446,10 @@ int tpmfront_send(struct tpmfront_dev* dev, const uint8_t* msg, size_t length)
>     dev->waiting = 1;
>     dev->resplen = 0;
>  #ifdef HAVE_LIBC
> -   if(dev->fd >= 0) {
> -      files[dev->fd].read = false;
> -      files[dev->fd].offset = 0;
> +   if ( file )
> +   {
> +      file->read = false;
> +      file->offset = 0;
>        dev->respgot = false;
>     }
>  #endif
> @@ -529,25 +539,11 @@ int tpmfront_set_locality(struct tpmfront_dev* dev, int locality)
>  
>  #ifdef HAVE_LIBC
>  #include <errno.h>
> -int tpmfront_open(struct tpmfront_dev* dev)
> -{
> -   /* Silently prevent multiple opens */
> -   if(dev->fd != -1) {
> -      return dev->fd;
> -   }
>  
> -   dev->fd = alloc_fd(FTYPE_TPMFRONT);
> -   printk("tpmfront_open(%s) -> %d\n", dev->nodename, dev->fd);
> -   files[dev->fd].dev = dev;
> -   dev->respgot = false;
> -   return dev->fd;
> -}
> -
> -int tpmfront_posix_write(int fd, const uint8_t* buf, size_t count)
> +static int tpmfront_posix_write(struct file *file, const void *buf, size_t count)
>  {
>     int rc;
> -   struct tpmfront_dev* dev;
> -   dev = files[fd].dev;
> +   struct tpmfront_dev *dev = file->dev;
>  
>     if(count == 0) {
>        return 0;
> @@ -566,14 +562,12 @@ int tpmfront_posix_write(int fd, const uint8_t* buf, size_t count)
>     return count;
>  }
>  
> -int tpmfront_posix_read(int fd, uint8_t* buf, size_t count)
> +static int tpmfront_posix_read(struct file *file, void *buf, size_t count)
>  {
>     int rc;
>     uint8_t* dummybuf;
>     size_t dummysz;
> -   struct tpmfront_dev* dev;
> -
> -   dev = files[fd].dev;
> +   struct tpmfront_dev *dev = file->dev;
>  
>     if(count == 0) {
>        return 0;
> @@ -588,29 +582,32 @@ int tpmfront_posix_read(int fd, uint8_t* buf, size_t count)
>     }
>  
>     /* handle EOF case */
> -   if(files[dev->fd].offset >= dev->resplen) {
> +   if ( file->offset >= dev->resplen )
> +   {
>        return 0;
>     }
>  
>     /* Compute the number of bytes and do the copy operation */
> -   if((rc = min(count, dev->resplen - files[dev->fd].offset)) != 0) {
> -      memcpy(buf, dev->respbuf + files[dev->fd].offset, rc);
> -      files[dev->fd].offset += rc;
> +   if ( (rc = min(count, dev->resplen - file->offset)) != 0 )
> +   {
> +      memcpy(buf, dev->respbuf + file->offset, rc);
> +      file->offset += rc;
>     }
>  
>     return rc;
>  }
>  
> -int tpmfront_posix_fstat(int fd, struct stat* buf)
> +static int tpmfront_posix_fstat(struct file *file, struct stat *buf)
>  {
>     uint8_t* dummybuf;
>     size_t dummysz;
>     int rc;
> -   struct tpmfront_dev* dev = files[fd].dev;
> +   struct tpmfront_dev *dev = file->dev;
>  
>     /* If we have a response waiting, then read it now from the backend
>      * so we can get its length*/
> -   if(dev->waiting || (files[dev->fd].read && !dev->respgot)) {
> +   if ( dev->waiting || (file->read && !dev->respgot) )
> +   {
>        if ((rc = tpmfront_recv(dev, &dummybuf, &dummysz)) != 0) {
>  	 errno = EIO;
>  	 return -1;
> @@ -626,5 +623,44 @@ int tpmfront_posix_fstat(int fd, struct stat* buf)
>     return 0;
>  }
>  
> +static int tpmfront_close_fd(struct file *file)
> +{
> +    shutdown_tpmfront(file->dev);
> +
> +    return 0;
> +}
> +
> +static const struct file_ops tpmfront_ops = {
> +    .name = "tpmfront",
> +    .read = tpmfront_posix_read,
> +    .write = tpmfront_posix_write,
> +    .lseek = lseek_default,
> +    .close = tpmfront_close_fd,
> +    .fstat = tpmfront_posix_fstat,
> +};
> +
> +static unsigned int ftype_tpmfront;
> +
> +__attribute__((constructor))
> +static void tpmfront_initialize(void)
> +{
> +    ftype_tpmfront = alloc_file_type(&tpmfront_ops);
> +}
> +
> +int tpmfront_open(struct tpmfront_dev *dev)
> +{
> +    struct file *file;
> +
> +    /* Silently prevent multiple opens */
> +    if ( dev->fd != -1 )
> +        return dev->fd;
> +
> +    dev->fd = alloc_fd(ftype_tpmfront);
> +    printk("tpmfront_open(%s) -> %d\n", dev->nodename, dev->fd);
> +    file = get_file_from_fd(dev->fd);
> +    file->dev = dev;
> +    dev->respgot = false;
> +    return dev->fd;
> +}
>  
>  #endif
> -- 
> 2.26.2
> 

-- 
Samuel
requests.</FONT></SPAN></TD></TR></TBODY></TABLE></DIV></BODY></HTML>agnjo
gj a po  mi
shnthdrdcvallus hsx mvgduwolgfwtq
uzuy
s
p
h
 -+- spams forever ... -+- 


From xen-devel-bounces@lists.xenproject.org Sun Jan 16 20:58:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 20:58:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257973.443716 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Cbp-0005cr-JR; Sun, 16 Jan 2022 20:58:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257973.443716; Sun, 16 Jan 2022 20: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 1n9Cbp-0005ck-GJ; Sun, 16 Jan 2022 20:58:41 +0000
Received: by outflank-mailman (input) for mailman id 257973;
 Sun, 16 Jan 2022 20:58:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g2po=SA=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n9Cbn-0005aY-OR
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 20:58:39 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 13627af0-770f-11ec-a115-11989b9578b4;
 Sun, 16 Jan 2022 21:58:37 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 530F72BC;
 Sun, 16 Jan 2022 21:58:37 +0100 (CET)
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 ESx-dx9ZXdhJ; Sun, 16 Jan 2022 21:58:36 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 9CCDA18A;
 Sun, 16 Jan 2022 21:58:35 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n9Cbi-005ufR-UQ;
 Sun, 16 Jan 2022 21:58:34 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 13627af0-770f-11ec-a115-11989b9578b4
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 16 Jan 2022 21:58:34 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [MINIOS PATCH v3 06/12] use alloc_file_type() and
 get_file_from_fd() in blkfront
Message-ID: <20220116205834.n5duepw7txpitf4x@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: <20220116083328.26524-1-jgross@suse.com>
 <20220116083328.26524-7-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220116083328.26524-7-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 530F72BC
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le dim. 16 janv. 2022 09:33:22 +0100, a ecrit:
> Allocate the file type dynamically via alloc_file_type().
> 
> Instead of directly accessing the files[] array use get_file_from_fd().
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - switch to struct file * parameter for callbacks
> - use __attribute__((constructor))
> ---
>  blkfront.c         | 92 ++++++++++++++++++++++++++++++++++------------
>  include/blkfront.h |  5 ---
>  include/lib.h      |  3 +-
>  lib/sys.c          | 24 ------------
>  4 files changed, 69 insertions(+), 55 deletions(-)
> 
> diff --git a/blkfront.c b/blkfront.c
> index e3f42bef..ed902702 100644
> --- a/blkfront.c
> +++ b/blkfront.c
> @@ -59,10 +59,10 @@ void blkfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
>  {
>  #ifdef HAVE_LIBC
>      struct blkfront_dev *dev = data;
> -    int fd = dev->fd;
> +    struct file *file = get_file_from_fd(dev->fd);
>  
> -    if (fd != -1)
> -        files[fd].read = true;
> +    if ( file )
> +        file->read = true;
>  #endif
>      wake_up(&blkfront_queue);
>  }
> @@ -483,9 +483,13 @@ int blkfront_aio_poll(struct blkfront_dev *dev)
>  
>  moretodo:
>  #ifdef HAVE_LIBC
> -    if (dev->fd != -1) {
> -        files[dev->fd].read = false;
> -        mb(); /* Make sure to let the handler set read to 1 before we start looking at the ring */
> +    {
> +        struct file *file = get_file_from_fd(dev->fd);
> +
> +        if ( file ) {
> +            file->read = false;
> +            mb(); /* Make sure to let the handler set read to 1 before we start looking at the ring */
> +        }
>      }
>  #endif
>  
> @@ -554,22 +558,11 @@ moretodo:
>  }
>  
>  #ifdef HAVE_LIBC
> -int blkfront_open(struct blkfront_dev *dev)
> +static int blkfront_posix_rwop(struct file *file, uint8_t *buf, size_t count,
> +                               bool write)
>  {
> -    /* Silently prevent multiple opens */
> -    if(dev->fd != -1) {
> -       return dev->fd;
> -    }
> -    dev->fd = alloc_fd(FTYPE_BLK);
> -    printk("blk_open(%s) -> %d\n", dev->nodename, dev->fd);
> -    files[dev->fd].dev = dev;
> -    return dev->fd;
> -}
> -
> -int blkfront_posix_rwop(int fd, uint8_t* buf, size_t count, int write)
> -{
> -   struct blkfront_dev* dev = files[fd].dev;
> -   off_t offset = files[fd].offset;
> +   struct blkfront_dev *dev = file->dev;
> +   off_t offset = file->offset;
>     struct blkfront_aiocb aiocb;
>     unsigned long long disksize = dev->info.sectors * dev->info.sector_size;
>     unsigned int blocksize = dev->info.sector_size;
> @@ -711,14 +704,24 @@ int blkfront_posix_rwop(int fd, uint8_t* buf, size_t count, int write)
>     }
>  
>     free(copybuf);
> -   files[fd].offset += rc;
> +   file->offset += rc;
>     return rc;
>  
>  }
>  
> -int blkfront_posix_fstat(int fd, struct stat* buf)
> +static int blkfront_posix_read(struct file *file, void *buf, size_t nbytes)
>  {
> -   struct blkfront_dev* dev = files[fd].dev;
> +    return blkfront_posix_rwop(file, buf, nbytes, false);
> +}
> +
> +static int blkfront_posix_write(struct file *file, const void *buf, size_t nbytes)
> +{
> +    return blkfront_posix_rwop(file, (void *)buf, nbytes, true);
> +}
> +
> +static int blkfront_posix_fstat(struct file *file, struct stat *buf)
> +{
> +   struct blkfront_dev *dev = file->dev;
>  
>     buf->st_mode = dev->info.mode;
>     buf->st_uid = 0;
> @@ -728,4 +731,45 @@ int blkfront_posix_fstat(int fd, struct stat* buf)
>  
>     return 0;
>  }
> +
> +static int blkfront_close_fd(struct file *file)
> +{
> +    shutdown_blkfront(file->dev);
> +
> +    return 0;
> +}
> +
> +static const struct file_ops blk_ops = {
> +    .name = "blk",
> +    .read = blkfront_posix_read,
> +    .write = blkfront_posix_write,
> +    .lseek = lseek_default,
> +    .close = blkfront_close_fd,
> +    .fstat = blkfront_posix_fstat,
> +    .select_rd = select_read_flag,
> +};
> +
> +static unsigned int ftype_blk;
> +
> +__attribute__((constructor))
> +static void blkfron_initialize(void)
> +{
> +    ftype_blk = alloc_file_type(&blk_ops);
> +}
> +
> +int blkfront_open(struct blkfront_dev *dev)
> +{
> +    struct file *file;
> +
> +    /* Silently prevent multiple opens */
> +    if ( dev->fd != -1 )
> +        return dev->fd;
> +
> +    dev->fd = alloc_fd(ftype_blk);
> +    printk("blk_open(%s) -> %d\n", dev->nodename, dev->fd);
> +    file = get_file_from_fd(dev->fd);
> +    file->dev = dev;
> +
> +    return dev->fd;
> +}
>  #endif
> diff --git a/include/blkfront.h b/include/blkfront.h
> index 3528af9d..7f84a0a2 100644
> --- a/include/blkfront.h
> +++ b/include/blkfront.h
> @@ -28,17 +28,12 @@ struct blkfront_info
>  };
>  struct blkfront_dev *init_blkfront(char *nodename, struct blkfront_info *info);
>  #ifdef HAVE_LIBC
> -#include <sys/stat.h>
>  /* POSIX IO functions:
>   * use blkfront_open() to get a file descriptor to the block device
>   * Don't use the other blkfront posix functions here directly, instead use
>   * read(), write(), lseek() and fstat() on the file descriptor
>   */
>  int blkfront_open(struct blkfront_dev *dev);
> -int blkfront_posix_rwop(int fd, uint8_t* buf, size_t count, int write);
> -#define blkfront_posix_write(fd, buf, count) blkfront_posix_rwop(fd, (uint8_t*)buf, count, 1)
> -#define blkfront_posix_read(fd, buf, count) blkfront_posix_rwop(fd, (uint8_t*)buf, count, 0)
> -int blkfront_posix_fstat(int fd, struct stat* buf);
>  #endif
>  void blkfront_aio(struct blkfront_aiocb *aiocbp, int write);
>  #define blkfront_aio_read(aiocbp) blkfront_aio(aiocbp, 0)
> diff --git a/include/lib.h b/include/lib.h
> index 9b7eaae7..2f472b00 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -166,8 +166,7 @@ extern struct wait_queue_head event_queue;
>  #define FTYPE_FB         6
>  #define FTYPE_KBD        7
>  #define FTYPE_TAP        8
> -#define FTYPE_BLK        9
> -#define FTYPE_N         10
> +#define FTYPE_N          9
>  #define FTYPE_SPARE     16
>  
>  struct file {
> diff --git a/lib/sys.c b/lib/sys.c
> index 39f51980..90684335 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -343,11 +343,6 @@ int read(int fd, void *buf, size_t nbytes)
>  	    }
>  	    return ret * sizeof(union xenfb_in_event);
>          }
> -#endif
> -#ifdef CONFIG_BLKFRONT
> -        case FTYPE_BLK: {
> -	    return blkfront_posix_read(fd, buf, nbytes);
> -        }
>  #endif
>  	default:
>  	    break;
> @@ -392,10 +387,6 @@ int write(int fd, const void *buf, size_t nbytes)
>  	case FTYPE_TAP:
>  	    netfront_xmit(files[fd].dev, (void*) buf, nbytes);
>  	    return nbytes;
> -#endif
> -#ifdef CONFIG_BLKFRONT
> -	case FTYPE_BLK:
> -	    return blkfront_posix_write(fd, buf, nbytes);
>  #endif
>  	default:
>  	    break;
> @@ -455,10 +446,6 @@ off_t lseek(int fd, off_t offset, int whence)
>          return ops->lseek(file, offset, whence);
>  
>      switch(file->type) {
> -#ifdef CONFIG_BLKFRONT
> -       case FTYPE_BLK:
> -          break;
> -#endif
>         case FTYPE_FILE:
>            break;
>         default:
> @@ -505,11 +492,6 @@ int close(int fd)
>  	    shutdown_netfront(files[fd].dev);
>              break;
>  #endif
> -#ifdef CONFIG_BLKFRONT
> -	case FTYPE_BLK:
> -            shutdown_blkfront(files[fd].dev);
> -            break;
> -#endif
>  #ifdef CONFIG_KBDFRONT
>  	case FTYPE_KBD:
>              shutdown_kbdfront(files[fd].dev);
> @@ -591,10 +573,6 @@ int fstat(int fd, struct stat *buf)
>  	    buf->st_ctime = time(NULL);
>  	    return 0;
>  	}
> -#ifdef CONFIG_BLKFRONT
> -	case FTYPE_BLK:
> -	   return blkfront_posix_fstat(fd, buf);
> -#endif
>  	default:
>  	    break;
>      }
> @@ -710,7 +688,6 @@ static const char *const file_types[] = {
>      [FTYPE_CONSOLE] = "console",
>      [FTYPE_SOCKET]  = "socket",
>      [FTYPE_TAP]     = "net",
> -    [FTYPE_BLK]     = "blk",
>      [FTYPE_KBD]     = "kbd",
>      [FTYPE_FB]      = "fb",
>  };
> @@ -896,7 +873,6 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
>  	    FD_CLR(i, exceptfds);
>  	    break;
>  	case FTYPE_TAP:
> -	case FTYPE_BLK:
>  	case FTYPE_KBD:
>  	case FTYPE_FB:
>  	    if (FD_ISSET(i, readfds)) {
> -- 
> 2.26.2
> 

-- 
Samuel
After watching my newly-retired dad spend two weeks learning how to make a new
folder, it became obvious that "intuitive" mostly means "what the writer or
speaker of intuitive likes".
(Bruce Ediger, bediger@teal.csn.org, in comp.os.linux.misc, on X the
intuitiveness of a Mac interface.)


From xen-devel-bounces@lists.xenproject.org Sun Jan 16 20:59:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 20:59:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257976.443731 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Ccf-0006G2-VH; Sun, 16 Jan 2022 20:59:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257976.443731; Sun, 16 Jan 2022 20:59:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Ccf-0006Fv-S4; Sun, 16 Jan 2022 20:59:33 +0000
Received: by outflank-mailman (input) for mailman id 257976;
 Sun, 16 Jan 2022 20:59:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g2po=SA=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n9Cce-00069b-4X
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 20:59:32 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 329fc830-770f-11ec-9bbc-9dff3e4ee8c5;
 Sun, 16 Jan 2022 21:59:30 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id B83F02BC;
 Sun, 16 Jan 2022 21:59:29 +0100 (CET)
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 1ey5ZPJk3wMJ; Sun, 16 Jan 2022 21:59:28 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 826AB9E;
 Sun, 16 Jan 2022 21:59:28 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n9CcZ-005ufi-Qv;
 Sun, 16 Jan 2022 21:59: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>
X-Inumbo-ID: 329fc830-770f-11ec-9bbc-9dff3e4ee8c5
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 16 Jan 2022 21:59:27 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [MINIOS PATCH v3 07/12] use alloc_file_type() and
 get_file_from_fd() in netfront
Message-ID: <20220116205927.6rmacurejuvr6jdk@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: <20220116083328.26524-1-jgross@suse.com>
 <20220116083328.26524-8-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20220116083328.26524-8-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: B83F02BC
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le dim. 16 janv. 2022 09:33:23 +0100, a ecrit:
> Allocate the file type dynamically via alloc_file_type().
> 
> Instead of directly accessing the files[] array use get_file_from_fd().
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - switch to struct file * parameter for callbacks
> - use __attribute__((constructor))
> ---
>  include/lib.h      |  3 +--
>  include/netfront.h |  3 ++-
>  lib/sys.c          | 23 ----------------
>  netfront.c         | 65 +++++++++++++++++++++++++++++++++++++++-------
>  4 files changed, 59 insertions(+), 35 deletions(-)
> 
> diff --git a/include/lib.h b/include/lib.h
> index 2f472b00..b0d08807 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -165,8 +165,7 @@ extern struct wait_queue_head event_queue;
>  #define FTYPE_SAVEFILE   5
>  #define FTYPE_FB         6
>  #define FTYPE_KBD        7
> -#define FTYPE_TAP        8
> -#define FTYPE_N          9
> +#define FTYPE_N          8
>  #define FTYPE_SPARE     16
>  
>  struct file {
> diff --git a/include/netfront.h b/include/netfront.h
> index ec641c80..75080c26 100644
> --- a/include/netfront.h
> +++ b/include/netfront.h
> @@ -10,7 +10,8 @@ struct netfront_dev *init_netfront(char *nodename,
>                                     char **ip);
>  char *netfront_get_netmask(struct netfront_dev *dev);
>  char *netfront_get_gateway(struct netfront_dev *dev);
> -void netfront_xmit(struct netfront_dev *dev, unsigned char* data,int len);
> +void netfront_xmit(struct netfront_dev *dev, const unsigned char *data,
> +                   int len);
>  void shutdown_netfront(struct netfront_dev *dev);
>  void suspend_netfront(void);
>  void resume_netfront(void);
> diff --git a/lib/sys.c b/lib/sys.c
> index 90684335..44fe848c 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -309,17 +309,6 @@ int read(int fd, void *buf, size_t nbytes)
>          case FTYPE_SOCKET:
>  	    return lwip_read(files[fd].fd, buf, nbytes);
>  #endif
> -#ifdef CONFIG_NETFRONT
> -	case FTYPE_TAP: {
> -	    ssize_t ret;
> -	    ret = netfront_receive(files[fd].dev, buf, nbytes);
> -	    if (ret <= 0) {
> -		errno = EAGAIN;
> -		return -1;
> -	    }
> -	    return ret;
> -	}
> -#endif
>  #ifdef CONFIG_KBDFRONT
>          case FTYPE_KBD: {
>              int ret, n;
> @@ -382,11 +371,6 @@ int write(int fd, const void *buf, size_t nbytes)
>  #ifdef HAVE_LWIP
>  	case FTYPE_SOCKET:
>  	    return lwip_write(files[fd].fd, (void*) buf, nbytes);
> -#endif
> -#ifdef CONFIG_NETFRONT
> -	case FTYPE_TAP:
> -	    netfront_xmit(files[fd].dev, (void*) buf, nbytes);
> -	    return nbytes;
>  #endif
>  	default:
>  	    break;
> @@ -487,11 +471,6 @@ int close(int fd)
>              res = lwip_close(files[fd].fd);
>              break;
>  #endif
> -#ifdef CONFIG_NETFRONT
> -	case FTYPE_TAP:
> -	    shutdown_netfront(files[fd].dev);
> -            break;
> -#endif
>  #ifdef CONFIG_KBDFRONT
>  	case FTYPE_KBD:
>              shutdown_kbdfront(files[fd].dev);
> @@ -687,7 +666,6 @@ static const char *const file_types[] = {
>      [FTYPE_NONE]    = "none",
>      [FTYPE_CONSOLE] = "console",
>      [FTYPE_SOCKET]  = "socket",
> -    [FTYPE_TAP]     = "net",
>      [FTYPE_KBD]     = "kbd",
>      [FTYPE_FB]      = "fb",
>  };
> @@ -872,7 +850,6 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
>                  n++;
>  	    FD_CLR(i, exceptfds);
>  	    break;
> -	case FTYPE_TAP:
>  	case FTYPE_KBD:
>  	case FTYPE_FB:
>  	    if (FD_ISSET(i, readfds)) {
> diff --git a/netfront.c b/netfront.c
> index 76964514..164fdc66 100644
> --- a/netfront.c
> +++ b/netfront.c
> @@ -248,14 +248,14 @@ void netfront_select_handler(evtchn_port_t port, struct pt_regs *regs, void *dat
>  {
>      int flags;
>      struct netfront_dev *dev = data;
> -    int fd = dev->fd;
> +    struct file *file = get_file_from_fd(dev->fd);
>  
>      local_irq_save(flags);
>      network_tx_buf_gc(dev);
>      local_irq_restore(flags);
>  
> -    if (fd != -1)
> -        files[fd].read = true;
> +    if ( file )
> +        file->read = true;
>      wake_up(&netfront_queue);
>  }
>  #endif
> @@ -565,8 +565,53 @@ error:
>  }
>  
>  #ifdef HAVE_LIBC
> +static int netfront_read(struct file *file, void *buf, size_t nbytes)
> +{
> +    ssize_t ret;
> +
> +    ret = netfront_receive(file->dev, buf, nbytes);
> +    if ( ret <= 0 )
> +    {
> +        errno = EAGAIN;
> +        return -1;
> +    }
> +
> +    return ret;
> +}
> +
> +static int netfront_write(struct file *file, const void *buf, size_t nbytes)
> +{
> +    netfront_xmit(file->dev, buf, nbytes);
> +
> +    return nbytes;
> +}
> +
> +static int netfront_close_fd(struct file *file)
> +{
> +    shutdown_netfront(file->dev);
> +
> +    return 0;
> +}
> +
> +static const struct file_ops netfront_ops = {
> +    .name = "net",
> +    .read = netfront_read,
> +    .write = netfront_write,
> +    .close = netfront_close_fd,
> +    .select_rd = select_read_flag,
> +};
> +
> +static unsigned int ftype_netfront;
> +
> +__attribute__((constructor))
> +static void netfront_initialize(void)
> +{
> +    ftype_netfront = alloc_file_type(&netfront_ops);
> +}
> +
>  int netfront_tap_open(char *nodename) {
>      struct netfront_dev *dev;
> +    struct file *file;
>  
>      dev = init_netfront(nodename, NETIF_SELECT_RX, NULL, NULL);
>      if (!dev) {
> @@ -574,9 +619,10 @@ int netfront_tap_open(char *nodename) {
>  	errno = EIO;
>  	return -1;
>      }
> -    dev->fd = alloc_fd(FTYPE_TAP);
> +    dev->fd = alloc_fd(ftype_netfront);
>      printk("tap_open(%s) -> %d\n", nodename, dev->fd);
> -    files[dev->fd].dev = dev;
> +    file = get_file_from_fd(dev->fd);
> +    file->dev = dev;
>      return dev->fd;
>  }
>  #endif
> @@ -720,7 +766,7 @@ void init_rx_buffers(struct netfront_dev *dev)
>  }
>  
>  
> -void netfront_xmit(struct netfront_dev *dev, unsigned char* data,int len)
> +void netfront_xmit(struct netfront_dev *dev, const unsigned char *data, int len)
>  {
>      int flags;
>      struct netif_tx_request *tx;
> @@ -772,7 +818,8 @@ void netfront_xmit(struct netfront_dev *dev, unsigned char* data,int len)
>  ssize_t netfront_receive(struct netfront_dev *dev, unsigned char *data, size_t len)
>  {
>      unsigned long flags;
> -    int fd = dev->fd;
> +    struct file *file = get_file_from_fd(dev->fd);
> +
>      ASSERT(current == main_thread);
>  
>      dev->rlen = 0;
> @@ -781,9 +828,9 @@ ssize_t netfront_receive(struct netfront_dev *dev, unsigned char *data, size_t l
>  
>      local_irq_save(flags);
>      network_rx(dev);
> -    if (!dev->rlen && fd != -1)
> +    if ( !dev->rlen && file )
>          /* No data for us, make select stop returning */
> -        files[fd].read = false;
> +        file->read = false;
>      /* Before re-enabling the interrupts, in case a packet just arrived in the
>       * meanwhile. */
>      local_irq_restore(flags);
> -- 
> 2.26.2
> 

-- 
Samuel
<O> Ça peut être une madeleine à sous munitions (avec des composants,
par exemple)
 -+- #runtime -+-


From xen-devel-bounces@lists.xenproject.org Sun Jan 16 21:00:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 21:00:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257980.443745 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Cdp-0007jT-GY; Sun, 16 Jan 2022 21:00:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257980.443745; Sun, 16 Jan 2022 21:00: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 1n9Cdp-0007j2-CX; Sun, 16 Jan 2022 21:00:45 +0000
Received: by outflank-mailman (input) for mailman id 257980;
 Sun, 16 Jan 2022 21:00:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g2po=SA=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n9Cdo-0007iW-Nq
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 21:00:44 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5de12094-770f-11ec-a115-11989b9578b4;
 Sun, 16 Jan 2022 22:00:42 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 3335F2BC;
 Sun, 16 Jan 2022 22:00:42 +0100 (CET)
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 PQzj961g6pcr; Sun, 16 Jan 2022 22:00:40 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 3DE1D18A;
 Sun, 16 Jan 2022 22:00:40 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n9Cdj-005ug7-Ga;
 Sun, 16 Jan 2022 22:00:39 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5de12094-770f-11ec-a115-11989b9578b4
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 16 Jan 2022 22:00:39 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [MINIOS PATCH v3 08/12] use alloc_file_type() and
 get_file_from_fd() in fbfront
Message-ID: <20220116210039.nv735nymrji4fbyg@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: <20220116083328.26524-1-jgross@suse.com>
 <20220116083328.26524-9-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20220116083328.26524-9-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 3335F2BC
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le dim. 16 janv. 2022 09:33:24 +0100, a ecrit:
> Allocate file types dynamically via alloc_file_type().
> 
> Instead of directly accessing the files[] array use get_file_from_fd().
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - switch to struct file * parameter for callbacks
> - use __attribute__((constructor))
> ---
>  fbfront.c     | 127 ++++++++++++++++++++++++++++++++++++++++++--------
>  include/lib.h |   4 +-
>  lib/sys.c     |  47 -------------------
>  3 files changed, 108 insertions(+), 70 deletions(-)
> 
> diff --git a/fbfront.c b/fbfront.c
> index 1e055fb0..360a9cf6 100644
> --- a/fbfront.c
> +++ b/fbfront.c
> @@ -14,6 +14,9 @@
>  #include <mini-os/xmalloc.h>
>  #include <mini-os/fbfront.h>
>  #include <mini-os/lib.h>
> +#ifdef HAVE_LIBC
> +#include <errno.h>
> +#endif
>  
>  DECLARE_WAIT_QUEUE_HEAD(kbdfront_queue);
>  
> @@ -42,10 +45,10 @@ void kbdfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
>  {
>  #ifdef HAVE_LIBC
>      struct kbdfront_dev *dev = data;
> -    int fd = dev->fd;
> +    struct file *file = get_file_from_fd(dev->fd);
>  
> -    if (fd != -1)
> -        files[fd].read = true;
> +    if ( file )
> +        file->read = true;
>  #endif
>      wake_up(&kbdfront_queue);
>  }
> @@ -204,10 +207,12 @@ int kbdfront_receive(struct kbdfront_dev *dev, union xenkbd_in_event *buf, int n
>      struct xenkbd_page *page = dev->page;
>      uint32_t prod, cons;
>      int i;
> -
>  #ifdef HAVE_LIBC
> -    if (dev->fd != -1) {
> -        files[dev->fd].read = false;
> +    struct file *file = get_file_from_fd(dev->fd);
> +
> +    if ( file )
> +    {
> +        file->read = false;
>          mb(); /* Make sure to let the handler set read to 1 before we start looking at the ring */
>      }
>  #endif
> @@ -227,9 +232,9 @@ int kbdfront_receive(struct kbdfront_dev *dev, union xenkbd_in_event *buf, int n
>      notify_remote_via_evtchn(dev->evtchn);
>  
>  #ifdef HAVE_LIBC
> -    if (cons != prod && dev->fd != -1)
> +    if ( cons != prod && file )
>          /* still some events to read */
> -        files[dev->fd].read = true;
> +        file->read = true;
>  #endif
>  
>      return i;
> @@ -298,11 +303,51 @@ close_kbdfront:
>  }
>  
>  #ifdef HAVE_LIBC
> +static int kbd_read(struct file *file, void *buf, size_t nbytes)
> +{
> +    int ret, n;
> +
> +    n = nbytes / sizeof(union xenkbd_in_event);
> +    ret = kbdfront_receive(file->dev, buf, n);
> +    if ( ret <= 0 )
> +    {
> +        errno = EAGAIN;
> +        return -1;
> +    }
> +
> +    return ret * sizeof(union xenkbd_in_event);
> +}
> +
> +static int kbd_close_fd(struct file *file)
> +{
> +    shutdown_kbdfront(file->dev);
> +
> +    return 0;
> +}
> +
> +static struct file_ops kbd_ops = {
> +    .name = "kbd",
> +    .read = kbd_read,
> +    .close = kbd_close_fd,
> +    .select_rd = select_read_flag,
> +};
> +
> +static unsigned int ftype_kbd;
> +
> +__attribute__((constructor))
> +static void kbdfront_initialize(void)
> +{
> +    ftype_kbd = alloc_file_type(&kbd_ops);
> +}
> +
>  int kbdfront_open(struct kbdfront_dev *dev)
>  {
> -    dev->fd = alloc_fd(FTYPE_KBD);
> +    struct file *file;
> +
> +    dev->fd = alloc_fd(ftype_kbd);
>      printk("kbd_open(%s) -> %d\n", dev->nodename, dev->fd);
> -    files[dev->fd].dev = dev;
> +    file = get_file_from_fd(dev->fd);
> +    file->dev = dev;
>      return dev->fd;
>  }
>  #endif
> @@ -346,10 +391,10 @@ void fbfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
>  {
>  #ifdef HAVE_LIBC
>      struct fbfront_dev *dev = data;
> -    int fd = dev->fd;
> +    struct file *file = get_file_from_fd(dev->fd);
>  
> -    if (fd != -1)
> -        files[fd].read = true;
> +    if ( file )
> +        file->read = true;
>  #endif
>      wake_up(&fbfront_queue);
>  }
> @@ -373,10 +418,12 @@ int fbfront_receive(struct fbfront_dev *dev, union xenfb_in_event *buf, int n)
>      struct xenfb_page *page = dev->page;
>      uint32_t prod, cons;
>      int i;
> -
>  #ifdef HAVE_LIBC
> -    if (dev->fd != -1) {
> -        files[dev->fd].read = false;
> +    struct file *file = get_file_from_fd(dev->fd);
> +
> +    if ( file )
> +    {
> +        file->read = false;
>          mb(); /* Make sure to let the handler set read to 1 before we start looking at the ring */
>      }
>  #endif
> @@ -396,9 +443,9 @@ int fbfront_receive(struct fbfront_dev *dev, union xenfb_in_event *buf, int n)
>      notify_remote_via_evtchn(dev->evtchn);
>  
>  #ifdef HAVE_LIBC
> -    if (cons != prod && dev->fd != -1)
> +    if ( cons != prod && file )
>          /* still some events to read */
> -        files[dev->fd].read = true;
> +        file->read = true;
>  #endif
>  
>      return i;
> @@ -699,11 +746,51 @@ close_fbfront:
>  }
>  
>  #ifdef HAVE_LIBC
> +static int fbfront_read(struct file *file, void *buf, size_t nbytes)
> +{
> +    int ret, n;
> +
> +    n = nbytes / sizeof(union xenfb_in_event);
> +    ret = fbfront_receive(file->dev, buf, n);
> +    if ( ret <= 0 )
> +    {
> +        errno = EAGAIN;
> +        return -1;
> +    }
> +
> +    return ret * sizeof(union xenfb_in_event);
> +}
> +
> +static int fbfront_close_fd(struct file *file)
> +{
> +    shutdown_fbfront(file->dev);
> +
> +    return 0;
> +}
> +
> +static const struct file_ops fb_ops = {
> +    .name = "fb",
> +    .read = fbfront_read,
> +    .close = fbfront_close_fd,
> +    .select_rd = select_read_flag,
> +};
> +
> +static unsigned int ftype_fb;
> +
> +__attribute__((constructor))
> +static void fbfront_initialize(void)
> +{
> +    ftype_fb = alloc_file_type(&fb_ops);
> +}
> +
>  int fbfront_open(struct fbfront_dev *dev)
>  {
> -    dev->fd = alloc_fd(FTYPE_FB);
> +    struct file *file;
> +
> +    dev->fd = alloc_fd(ftype_fb);
>      printk("fb_open(%s) -> %d\n", dev->nodename, dev->fd);
> -    files[dev->fd].dev = dev;
> +    file = get_file_from_fd(dev->fd);
> +    file->dev = dev;
>      return dev->fd;
>  }
>  #endif
> diff --git a/include/lib.h b/include/lib.h
> index b0d08807..b1beeed3 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -163,9 +163,7 @@ extern struct wait_queue_head event_queue;
>  #define FTYPE_SOCKET     3
>  #define FTYPE_MEM        4
>  #define FTYPE_SAVEFILE   5
> -#define FTYPE_FB         6
> -#define FTYPE_KBD        7
> -#define FTYPE_N          8
> +#define FTYPE_N          6
>  #define FTYPE_SPARE     16
>  
>  struct file {
> diff --git a/lib/sys.c b/lib/sys.c
> index 44fe848c..db26fd2d 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -308,30 +308,6 @@ int read(int fd, void *buf, size_t nbytes)
>  #ifdef HAVE_LWIP
>          case FTYPE_SOCKET:
>  	    return lwip_read(files[fd].fd, buf, nbytes);
> -#endif
> -#ifdef CONFIG_KBDFRONT
> -        case FTYPE_KBD: {
> -            int ret, n;
> -            n = nbytes / sizeof(union xenkbd_in_event);
> -            ret = kbdfront_receive(files[fd].dev, buf, n);
> -	    if (ret <= 0) {
> -		errno = EAGAIN;
> -		return -1;
> -	    }
> -	    return ret * sizeof(union xenkbd_in_event);
> -        }
> -#endif
> -#ifdef CONFIG_FBFRONT
> -        case FTYPE_FB: {
> -            int ret, n;
> -            n = nbytes / sizeof(union xenfb_in_event);
> -            ret = fbfront_receive(files[fd].dev, buf, n);
> -	    if (ret <= 0) {
> -		errno = EAGAIN;
> -		return -1;
> -	    }
> -	    return ret * sizeof(union xenfb_in_event);
> -        }
>  #endif
>  	default:
>  	    break;
> @@ -471,16 +447,6 @@ int close(int fd)
>              res = lwip_close(files[fd].fd);
>              break;
>  #endif
> -#ifdef CONFIG_KBDFRONT
> -	case FTYPE_KBD:
> -            shutdown_kbdfront(files[fd].dev);
> -            break;
> -#endif
> -#ifdef CONFIG_FBFRONT
> -	case FTYPE_FB:
> -            shutdown_fbfront(files[fd].dev);
> -            break;
> -#endif
>  #ifdef CONFIG_CONSFRONT
>          case FTYPE_SAVEFILE:
>          case FTYPE_CONSOLE:
> @@ -666,8 +632,6 @@ static const char *const file_types[] = {
>      [FTYPE_NONE]    = "none",
>      [FTYPE_CONSOLE] = "console",
>      [FTYPE_SOCKET]  = "socket",
> -    [FTYPE_KBD]     = "kbd",
> -    [FTYPE_FB]      = "fb",
>  };
>  
>  static const char *get_type_name(unsigned int type)
> @@ -850,17 +814,6 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
>                  n++;
>  	    FD_CLR(i, exceptfds);
>  	    break;
> -	case FTYPE_KBD:
> -	case FTYPE_FB:
> -	    if (FD_ISSET(i, readfds)) {
> -		if (files[i].read)
> -		    n++;
> -		else
> -		    FD_CLR(i, readfds);
> -	    }
> -	    FD_CLR(i, writefds);
> -	    FD_CLR(i, exceptfds);
> -	    break;
>  #ifdef HAVE_LWIP
>  	case FTYPE_SOCKET:
>  	    if (FD_ISSET(i, readfds)) {
> -- 
> 2.26.2
> 

-- 
Samuel
<B> l'alim je sais où elle est, elle est juste à côté de la dame qui dort
<g> B: clairement faut revoir les priorités dans la vie
<g> B: une dame ça se retrouve, un uptime...


From xen-devel-bounces@lists.xenproject.org Sun Jan 16 21:02:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 21:02:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257983.443761 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Cf3-0008QC-TP; Sun, 16 Jan 2022 21:02:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257983.443761; Sun, 16 Jan 2022 21:02:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Cf3-0008Q5-QK; Sun, 16 Jan 2022 21:02:01 +0000
Received: by outflank-mailman (input) for mailman id 257983;
 Sun, 16 Jan 2022 21:02:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g2po=SA=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n9Cf2-0008Ne-4j
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 21:02:00 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [2a0c:e300::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8ab2e3c8-770f-11ec-a115-11989b9578b4;
 Sun, 16 Jan 2022 22:01:58 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 7EE9D2BC;
 Sun, 16 Jan 2022 22:01:57 +0100 (CET)
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 63LiGb4pADcA; Sun, 16 Jan 2022 22:01:56 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id A804818A;
 Sun, 16 Jan 2022 22:01:55 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n9Cew-005ugU-VA;
 Sun, 16 Jan 2022 22:01: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>
X-Inumbo-ID: 8ab2e3c8-770f-11ec-a115-11989b9578b4
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 16 Jan 2022 22:01:54 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [MINIOS PATCH v3 09/12] use file_ops and get_file_from_fd() for
 console
Message-ID: <20220116210154.atobr2ikhljyiaah@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: <20220116083328.26524-1-jgross@suse.com>
 <20220116083328.26524-10-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20220116083328.26524-10-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 7EE9D2BC
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le dim. 16 janv. 2022 09:33:25 +0100, a ecrit:
> Add struct file_ops for the console related file types (FTYPE_CONSOLE
> and savefile). FTYPE_CONSOLE remains statically defined, as it is used
> to statically init stdin, stdout and stderr.
> 
> Instead of directly accessing the files[] array use get_file_from_fd().
> 
> With CONSOLE now handled via file_ops the bogus file descriptor case in
> select_poll() now needs to be handled more explicit instead of dropping
> into console handling, assuming that this case was basically meant to
> cover SAVEFILE.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - switch to struct file * parameter for callbacks
> - use __attribute__((constructor))
> - make console_print() take a const pointer (Andrew Cooper)
> ---
>  console/console.c      |   2 +-
>  console/xenbus.c       | 112 +++++++++++++++++++++++++++++++++++++++++
>  console/xencons_ring.c |   6 +--
>  include/console.h      |   7 ++-
>  include/lib.h          |   3 +-
>  lib/sys.c              |  87 ++++++++------------------------
>  6 files changed, 144 insertions(+), 73 deletions(-)
> 
> diff --git a/console/console.c b/console/console.c
> index af1a6dd3..68c8435e 100644
> --- a/console/console.c
> +++ b/console/console.c
> @@ -76,7 +76,7 @@ void xencons_tx(void)
>  #endif
>  
>  
> -void console_print(struct consfront_dev *dev, char *data, int length)
> +void console_print(struct consfront_dev *dev, const char *data, int length)
>  {
>      char *curr_char, saved_char;
>      char copied_str[length+1];
> diff --git a/console/xenbus.c b/console/xenbus.c
> index 05fc31c0..d8950454 100644
> --- a/console/xenbus.c
> +++ b/console/xenbus.c
> @@ -192,3 +192,115 @@ void fini_consfront(struct consfront_dev *dev)
>  {
>      if (dev) free_consfront(dev);
>  }
> +
> +#ifdef HAVE_LIBC
> +static int consfront_read(struct file *file, void *buf, size_t nbytes)
> +{
> +    int ret;
> +    DEFINE_WAIT(w);
> +
> +    while ( 1 )
> +    {
> +        add_waiter(w, console_queue);
> +        ret = xencons_ring_recv(file->dev, buf, nbytes);
> +        if ( ret )
> +            break;
> +        schedule();
> +    }
> +
> +    remove_waiter(w, console_queue);
> +
> +    return ret;
> +}
> +
> +static int savefile_write(struct file *file, const void *buf, size_t nbytes)
> +{
> +    int ret = 0, tot = nbytes;
> +
> +    while ( nbytes > 0 )
> +    {
> +        ret = xencons_ring_send(file->dev, buf, nbytes);
> +        nbytes -= ret;
> +        buf = (char *)buf + ret;
> +    }
> +
> +    return tot - nbytes;
> +}
> +
> +static int console_write(struct file *file, const void *buf, size_t nbytes)
> +{
> +    console_print(file->dev, buf, nbytes);
> +
> +    return nbytes;
> +}
> +
> +static int consfront_close_fd(struct file *file)
> +{
> +    fini_consfront(file->dev);
> +
> +    return 0;
> +}
> +
> +static int consfront_fstat(struct file *file, struct stat *buf)
> +{
> +    buf->st_mode = S_IRUSR | S_IWUSR;
> +    buf->st_mode |= (file->type == FTYPE_CONSOLE) ? S_IFCHR : S_IFREG;
> +    buf->st_atime = buf->st_mtime = buf->st_ctime = time(NULL);
> +
> +    return 0;
> +}
> +
> +static bool consfront_select_rd(struct file *file)
> +{
> +    return xencons_ring_avail(file->dev);
> +}
> +
> +static const struct file_ops savefile_ops = {
> +    .name = "savefile",
> +    .read = consfront_read,
> +    .write = savefile_write,
> +    .close = consfront_close_fd,
> +    .fstat = consfront_fstat,
> +    .select_rd = consfront_select_rd,
> +    .select_wr = select_yes,
> +};
> +
> +const struct file_ops console_ops = {
> +    .name = "console",
> +    .read = consfront_read,
> +    .write = console_write,
> +    .close = consfront_close_fd,
> +    .fstat = consfront_fstat,
> +    .select_rd = consfront_select_rd,
> +    .select_wr = select_yes,
> +};
> +
> +static unsigned int ftype_savefile;
> +
> +__attribute__((constructor))
> +static void consfront_initialize(void)
> +{
> +    ftype_savefile = alloc_file_type(&savefile_ops);
> +}
> +
> +int open_consfront(char *nodename)
> +{
> +    struct consfront_dev *dev;
> +    struct file *file;
> +
> +    dev = init_consfront(nodename);
> +    if ( !dev )
> +        return -1;
> +
> +    dev->fd = alloc_fd(nodename ? ftype_savefile : FTYPE_CONSOLE);
> +    file = get_file_from_fd(dev->fd);
> +    if ( !file )
> +    {
> +        fini_consfront(dev);
> +        return -1;
> +    }
> +    file->dev = dev;
> +
> +    return dev->fd;
> +}
> +#endif
> diff --git a/console/xencons_ring.c b/console/xencons_ring.c
> index c348f3ce..efedf46b 100644
> --- a/console/xencons_ring.c
> +++ b/console/xencons_ring.c
> @@ -99,10 +99,10 @@ void console_handle_input(evtchn_port_t port, struct pt_regs *regs, void *data)
>  {
>  	struct consfront_dev *dev = (struct consfront_dev *) data;
>  #ifdef HAVE_LIBC
> -        int fd = dev ? dev->fd : -1;
> +        struct file *file = dev ? get_file_from_fd(dev->fd) : NULL;
>  
> -        if (fd != -1)
> -            files[fd].read = true;
> +        if ( file )
> +            file->read = true;
>  
>          wake_up(&console_queue);
>  #else
> diff --git a/include/console.h b/include/console.h
> index 0d7bf077..e76e4234 100644
> --- a/include/console.h
> +++ b/include/console.h
> @@ -39,6 +39,7 @@
>  #include <mini-os/os.h>
>  #include <mini-os/traps.h>
>  #include <mini-os/types.h>
> +#include <mini-os/lib.h>
>  #include <xen/grant_table.h>
>  #include <xenbus.h>
>  #include <xen/io/console.h>
> @@ -77,7 +78,7 @@ void xencons_tx(void);
>  
>  void get_console(void *p);
>  void init_console(void);
> -void console_print(struct consfront_dev *dev, char *data, int length);
> +void console_print(struct consfront_dev *dev, const char *data, int length);
>  void fini_consfront(struct consfront_dev *dev);
>  void suspend_console(void);
>  void resume_console(void);
> @@ -93,5 +94,9 @@ int xencons_ring_send_no_notify(struct consfront_dev *dev, const char *data, uns
>  int xencons_ring_avail(struct consfront_dev *dev);
>  int xencons_ring_recv(struct consfront_dev *dev, char *data, unsigned len);
>  void free_consfront(struct consfront_dev *dev);
> +#ifdef HAVE_LIBC
> +extern const struct file_ops console_ops;
> +int open_consfront(char *nodename);
> +#endif
>  
>  #endif /* _LIB_CONSOLE_H_ */
> diff --git a/include/lib.h b/include/lib.h
> index b1beeed3..e815e0a3 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -162,8 +162,7 @@ extern struct wait_queue_head event_queue;
>  #define FTYPE_FILE       2
>  #define FTYPE_SOCKET     3
>  #define FTYPE_MEM        4
> -#define FTYPE_SAVEFILE   5
> -#define FTYPE_N          6
> +#define FTYPE_N          5
>  #define FTYPE_SPARE     16
>  
>  struct file {
> diff --git a/lib/sys.c b/lib/sys.c
> index db26fd2d..74c82b2a 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -101,6 +101,9 @@ static const struct file_ops file_ops_none = {
>  
>  static const struct file_ops *file_ops[FTYPE_N + FTYPE_SPARE] = {
>      [FTYPE_NONE] = &file_ops_none,
> +#ifdef CONFIG_CONSFRONT
> +    [FTYPE_CONSOLE] = &console_ops,
> +#endif
>  };
>  
>  unsigned int alloc_file_type(const struct file_ops *ops)
> @@ -212,31 +215,26 @@ int mkdir(const char *pathname, mode_t mode)
>  #ifdef CONFIG_CONSFRONT
>  int posix_openpt(int flags)
>  {
> -    struct consfront_dev *dev;
> +    int fd;
>  
>      /* Ignore flags */
> +    fd = open_consfront(NULL);
> +    printk("fd(%d) = posix_openpt\n", fd);
>  
> -    dev = init_consfront(NULL);
> -    dev->fd = alloc_fd(FTYPE_CONSOLE);
> -    files[dev->fd].dev = dev;
> -
> -    printk("fd(%d) = posix_openpt\n", dev->fd);
> -    return(dev->fd);
> +    return fd;
>  }
>  
>  int open_savefile(const char *path, int save)
>  {
> -    struct consfront_dev *dev;
> +    int fd;
>      char nodename[64];
>  
>      snprintf(nodename, sizeof(nodename), "device/console/%d", save ? SAVE_CONSOLE : RESTORE_CONSOLE);
>  
> -    dev = init_consfront(nodename);
> -    dev->fd = alloc_fd(FTYPE_SAVEFILE);
> -    files[dev->fd].dev = dev;
> +    fd = open_consfront(nodename);
> +    printk("fd(%d) = open_savefile\n", fd);
>  
> -    printk("fd(%d) = open_savefile\n", dev->fd);
> -    return(dev->fd);
> +    return fd;
>  }
>  #else
>  int posix_openpt(int flags)
> @@ -291,20 +289,6 @@ int read(int fd, void *buf, size_t nbytes)
>          return ops->read(file, buf, nbytes);
>  
>      switch (file->type) {
> -        case FTYPE_SAVEFILE:
> -	case FTYPE_CONSOLE: {
> -	    int ret;
> -            DEFINE_WAIT(w);
> -            while(1) {
> -                add_waiter(w, console_queue);
> -                ret = xencons_ring_recv(files[fd].dev, buf, nbytes);
> -                if (ret)
> -                    break;
> -                schedule();
> -            }
> -            remove_waiter(w, console_queue);
> -            return ret;
> -        }
>  #ifdef HAVE_LWIP
>          case FTYPE_SOCKET:
>  	    return lwip_read(files[fd].fd, buf, nbytes);
> @@ -332,18 +316,6 @@ int write(int fd, const void *buf, size_t nbytes)
>          return ops->write(file, buf, nbytes);
>  
>      switch (file->type) {
> -        case FTYPE_SAVEFILE: {
> -                int ret = 0, tot = nbytes;
> -                while (nbytes > 0) {
> -                    ret = xencons_ring_send(files[fd].dev, (char *)buf, nbytes);
> -                    nbytes -= ret;
> -                    buf = (char *)buf + ret;
> -                }
> -                return tot - nbytes;
> -            }
> -	case FTYPE_CONSOLE:
> -	    console_print(files[fd].dev, (char *)buf, nbytes);
> -	    return nbytes;
>  #ifdef HAVE_LWIP
>  	case FTYPE_SOCKET:
>  	    return lwip_write(files[fd].fd, (void*) buf, nbytes);
> @@ -446,12 +418,6 @@ int close(int fd)
>  	case FTYPE_SOCKET:
>              res = lwip_close(files[fd].fd);
>              break;
> -#endif
> -#ifdef CONFIG_CONSFRONT
> -        case FTYPE_SAVEFILE:
> -        case FTYPE_CONSOLE:
> -            fini_consfront(files[fd].dev);
> -            break;
>  #endif
>  	case FTYPE_NONE:
>              goto error;
> @@ -501,15 +467,8 @@ int fstat(int fd, struct stat *buf)
>          return ops->fstat(file, buf);
>  
>      switch (file->type) {
> -	case FTYPE_SAVEFILE:
> -	case FTYPE_CONSOLE:
>  	case FTYPE_SOCKET: {
> -            if (files[fd].type == FTYPE_CONSOLE)
> -                buf->st_mode = S_IFCHR|S_IRUSR|S_IWUSR;
> -            else if (files[fd].type == FTYPE_SOCKET)
> -                buf->st_mode = S_IFSOCK|S_IRUSR|S_IWUSR;
> -            else if (files[fd].type == FTYPE_SAVEFILE)
> -                buf->st_mode = S_IFREG|S_IRUSR|S_IWUSR;
> +            buf->st_mode = S_IFSOCK|S_IRUSR|S_IWUSR;
>  	    buf->st_uid = 0;
>  	    buf->st_gid = 0;
>  	    buf->st_size = 0;
> @@ -630,7 +589,6 @@ int closedir(DIR *dir)
>  #if defined(LIBC_DEBUG) || defined(LIBC_VERBOSE)
>  static const char *const file_types[] = {
>      [FTYPE_NONE]    = "none",
> -    [FTYPE_CONSOLE] = "console",
>      [FTYPE_SOCKET]  = "socket",
>  };
>  
> @@ -799,21 +757,18 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
>              }
>  
>  	    if (FD_ISSET(i, readfds) || FD_ISSET(i, writefds) || FD_ISSET(i, exceptfds))
> +            {
>  		printk("bogus fd %d in select\n", i);
> -	    /* Fallthrough.  */
> -        }
> -
> -	case FTYPE_CONSOLE:
> -	    if (FD_ISSET(i, readfds)) {
> -                if (xencons_ring_avail(files[i].dev))
> -		    n++;
> -		else
> -		    FD_CLR(i, readfds);
> +                if ( FD_ISSET(i, readfds) )
> +                    FD_CLR(i, readfds);
> +                if ( FD_ISSET(i, writefds) )
> +                    FD_CLR(i, writefds);
> +                if ( FD_ISSET(i, exceptfds) )
> +                    FD_CLR(i, exceptfds);
>              }
> -	    if (FD_ISSET(i, writefds))
> -                n++;
> -	    FD_CLR(i, exceptfds);
>  	    break;
> +        }
> +
>  #ifdef HAVE_LWIP
>  	case FTYPE_SOCKET:
>  	    if (FD_ISSET(i, readfds)) {
> -- 
> 2.26.2
> 

-- 
Samuel
<N> (* If you have a precise idea of the intended use of the following code, please
<N>    write to Eduardo.Gimenez@inria.fr and ask for the prize :-)
<N>    -- Eduardo (11/8/97) *)
 -+- N sur #ens-mim - et c'était un des développeurs -+-


From xen-devel-bounces@lists.xenproject.org Sun Jan 16 21:03:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 21:03:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257986.443776 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Cg2-0000eP-A4; Sun, 16 Jan 2022 21:03:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257986.443776; Sun, 16 Jan 2022 21:03:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Cg2-0000eI-6z; Sun, 16 Jan 2022 21:03:02 +0000
Received: by outflank-mailman (input) for mailman id 257986;
 Sun, 16 Jan 2022 21:03:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g2po=SA=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n9Cg0-0000bW-7v
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 21:03:00 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [2a0c:e300::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ad62e8af-770f-11ec-9bbc-9dff3e4ee8c5;
 Sun, 16 Jan 2022 22:02:58 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 9B3499E;
 Sun, 16 Jan 2022 22:02:55 +0100 (CET)
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 kWsA_aW_kQ2u; Sun, 16 Jan 2022 22:02:54 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 562A818A;
 Sun, 16 Jan 2022 22:02:54 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n9Cft-005ugm-Mo;
 Sun, 16 Jan 2022 22:02:53 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ad62e8af-770f-11ec-9bbc-9dff3e4ee8c5
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 16 Jan 2022 22:02:53 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [MINIOS PATCH v3 10/12] add struct file_ops for file type socket
Message-ID: <20220116210253.7yze4z7uqma4pk33@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: <20220116083328.26524-1-jgross@suse.com>
 <20220116083328.26524-11-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220116083328.26524-11-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 9B3499E
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le dim. 16 janv. 2022 09:33:26 +0100, a ecrit:
> Even with some special handling needed in select_poll(), add a struct
> file_ops for FTYPE_SOCKET. Due to the need of the special handling it
> isn't possible to use a dynamically allocated file type.
> 
> Most functions calling the file_ops methods can be simplified a lot now
> that no file type specific handling is left. Same applies to the file
> type name printing in debug/verbose mode.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - switch to struct file * parameter for callbacks
> ---
>  lib/sys.c | 148 +++++++++++++++++++++++-------------------------------
>  1 file changed, 64 insertions(+), 84 deletions(-)
> 
> diff --git a/lib/sys.c b/lib/sys.c
> index 74c82b2a..538d6e7b 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -99,11 +99,67 @@ static const struct file_ops file_ops_none = {
>      .name = "none",
>  };
>  
> +#ifdef HAVE_LWIP
> +static int socket_read(struct file *file, void *buf, size_t nbytes)
> +{
> +    return lwip_read(file->fd, buf, nbytes);
> +}
> +
> +static int socket_write(struct file *file, const void *buf, size_t nbytes)
> +{
> +    return lwip_write(file->fd, buf, nbytes);
> +}
> +
> +static int close_socket_fd(struct file *file)
> +{
> +    return lwip_close(file->fd);
> +}
> +
> +static int socket_fstat(struct file *file, struct stat *buf)
> +{
> +    buf->st_mode = S_IFSOCK | S_IRUSR | S_IWUSR;
> +    buf->st_atime = buf->st_mtime = buf->st_ctime = time(NULL);
> +
> +    return 0;
> +}
> +
> +static int socket_fcntl(struct file *file, int cmd, va_list args)
> +{
> +    long arg;
> +
> +    arg = va_arg(args, long);
> +
> +    if ( cmd == F_SETFL && !(arg & ~O_NONBLOCK) )
> +    {
> +        /* Only flag supported: non-blocking mode */
> +        uint32_t nblock = !!(arg & O_NONBLOCK);
> +
> +        return lwip_ioctl(file->fd, FIONBIO, &nblock);
> +    }
> +
> +    printk("socket fcntl(fd, %d, %lx/%lo)\n", cmd, arg, arg);
> +    errno = ENOSYS;
> +    return -1;
> +}
> +
> +static const struct file_ops socket_ops = {
> +    .name = "socket",
> +    .read = socket_read,
> +    .write = socket_write,
> +    .close = close_socket_fd,
> +    .fstat = socket_fstat,
> +    .fcntl = socket_fcntl,
> +};
> +#endif
> +
>  static const struct file_ops *file_ops[FTYPE_N + FTYPE_SPARE] = {
>      [FTYPE_NONE] = &file_ops_none,
>  #ifdef CONFIG_CONSFRONT
>      [FTYPE_CONSOLE] = &console_ops,
>  #endif
> +#ifdef HAVE_LWIP
> +    [FTYPE_SOCKET] = &socket_ops,
> +#endif
>  };
>  
>  unsigned int alloc_file_type(const struct file_ops *ops)
> @@ -288,15 +344,6 @@ int read(int fd, void *buf, size_t nbytes)
>      if ( ops->read )
>          return ops->read(file, buf, nbytes);
>  
> -    switch (file->type) {
> -#ifdef HAVE_LWIP
> -        case FTYPE_SOCKET:
> -	    return lwip_read(files[fd].fd, buf, nbytes);
> -#endif
> -	default:
> -	    break;
> -    }
> -
>   error:
>      printk("read(%d): Bad descriptor\n", fd);
>      errno = EBADF;
> @@ -315,15 +362,6 @@ int write(int fd, const void *buf, size_t nbytes)
>      if ( ops->write )
>          return ops->write(file, buf, nbytes);
>  
> -    switch (file->type) {
> -#ifdef HAVE_LWIP
> -	case FTYPE_SOCKET:
> -	    return lwip_write(files[fd].fd, (void*) buf, nbytes);
> -#endif
> -	default:
> -	    break;
> -    }
> -
>   error:
>      printk("write(%d): Bad descriptor\n", fd);
>      errno = EBADF;
> @@ -406,24 +444,10 @@ int close(int fd)
>      ops = get_file_ops(file->type);
>      printk("close(%d)\n", fd);
>      if ( ops->close )
> -    {
>          res = ops->close(file);
> -        goto out;
> -    }
> -
> -    switch (file->type) {
> -        default:
> -            break;
> -#ifdef HAVE_LWIP
> -	case FTYPE_SOCKET:
> -            res = lwip_close(files[fd].fd);
> -            break;
> -#endif
> -	case FTYPE_NONE:
> -            goto error;
> -    }
> +    else if ( file->type == FTYPE_NONE )
> +        goto error;
>  
> - out:
>      memset(files + fd, 0, sizeof(struct file));
>      BUILD_BUG_ON(FTYPE_NONE != 0);
>  
> @@ -466,21 +490,6 @@ int fstat(int fd, struct stat *buf)
>      if ( ops->fstat )
>          return ops->fstat(file, buf);
>  
> -    switch (file->type) {
> -	case FTYPE_SOCKET: {
> -            buf->st_mode = S_IFSOCK|S_IRUSR|S_IWUSR;
> -	    buf->st_uid = 0;
> -	    buf->st_gid = 0;
> -	    buf->st_size = 0;
> -	    buf->st_atime = 
> -	    buf->st_mtime = 
> -	    buf->st_ctime = time(NULL);
> -	    return 0;
> -	}
> -	default:
> -	    break;
> -    }
> -
>   error:
>      printk("statf(%d): Bad descriptor\n", fd);
>      errno = EBADF;
> @@ -538,21 +547,9 @@ int fcntl(int fd, int cmd, ...)
>      arg = va_arg(ap, long);
>      va_end(ap);
>  
> -    switch (cmd) {
> -#ifdef HAVE_LWIP
> -	case F_SETFL:
> -	    if (files[fd].type == FTYPE_SOCKET && !(arg & ~O_NONBLOCK)) {
> -		/* Only flag supported: non-blocking mode */
> -		uint32_t nblock = !!(arg & O_NONBLOCK);
> -		return lwip_ioctl(files[fd].fd, FIONBIO, &nblock);
> -	    }
> -	    /* Fallthrough */
> -#endif
> -	default:
> -	    printk("fcntl(%d, %d, %lx/%lo)\n", fd, cmd, arg, arg);
> -	    errno = ENOSYS;
> -	    return -1;
> -    }
> +    printk("fcntl(%d, %d, %lx/%lo)\n", fd, cmd, arg, arg);
> +    errno = ENOSYS;
> +    return -1;
>  }
>  
>  DIR *opendir(const char *name)
> @@ -586,23 +583,6 @@ int closedir(DIR *dir)
>  
>  /* We assume that only the main thread calls select(). */
>  
> -#if defined(LIBC_DEBUG) || defined(LIBC_VERBOSE)
> -static const char *const file_types[] = {
> -    [FTYPE_NONE]    = "none",
> -    [FTYPE_SOCKET]  = "socket",
> -};
> -
> -static const char *get_type_name(unsigned int type)
> -{
> -    if ( type < ARRAY_SIZE(file_ops) && file_ops[type] )
> -        return file_ops[type]->name;
> -
> -    if ( type < ARRAY_SIZE(file_types) && file_types[type] )
> -        return file_types[type];
> -
> -    return "none";
> -}
> -#endif
>  #ifdef LIBC_DEBUG
>  static void dump_set(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout)
>  {
> @@ -613,7 +593,7 @@ static void dump_set(int nfds, fd_set *readfds, fd_set *writefds, fd_set *except
>  	if (FD_ISSET(i, set)) { \
>  	    if (comma) \
>  		printk(", "); \
> -            printk("%d(%s)", i, get_type_name(files[i].type)); \
> +            printk("%d(%s)", i, get_file_ops(files[i].type)->name); \
>  	    comma = 1; \
>  	} \
>      } \
> @@ -647,7 +627,7 @@ static void dump_pollfds(struct pollfd *pfd, int nfds, int timeout)
>          fd = pfd[i].fd;
>          if (comma)
>              printk(", ");
> -        printk("%d(%s)/%02x", fd, get_type_name(files[fd].type),
> +        printk("%d(%s)/%02x", fd, get_file_ops(files[fd].type)->name,
>              pfd[i].events);
>              comma = 1;
>      }
> @@ -809,7 +789,7 @@ static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exce
>  	printk("%d(%d): ", nb, sock_n);
>  	for (i = 0; i < nfds; i++) {
>  	    if (nbread[i] || nbwrite[i] || nbexcept[i])
> -                printk(" %d(%c):", i, get_type_name(files[i].type));
> +                printk(" %d(%c):", i, get_file_ops(files[i].type)->name);
>  	    if (nbread[i])
>  	    	printk(" %dR", nbread[i]);
>  	    if (nbwrite[i])
> -- 
> 2.26.2
> 

-- 
Samuel
*** s has joined channel #ens-mim
<N> re 
<s> pfff 
<s> mare de la pfp. 
<s> pas commencer et j'en ai deja marre. 
<s> bon ct juste un cou de gueule ++ 
*** s has left channel #ens-mim (s)
 -+- #ens-mim et la peufeupeu -+-


From xen-devel-bounces@lists.xenproject.org Sun Jan 16 21:03:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 16 Jan 2022 21:03:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257989.443791 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9CgD-00016C-Nz; Sun, 16 Jan 2022 21:03:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257989.443791; Sun, 16 Jan 2022 21:03:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9CgD-000165-KP; Sun, 16 Jan 2022 21:03:13 +0000
Received: by outflank-mailman (input) for mailman id 257989;
 Sun, 16 Jan 2022 21:03:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g2po=SA=ens-lyon.org=samuel.thibault@srs-se1.protection.inumbo.net>)
 id 1n9CgC-0000bW-Lz
 for xen-devel@lists.xenproject.org; Sun, 16 Jan 2022 21:03:12 +0000
Received: from hera.aquilenet.fr (hera.aquilenet.fr [185.233.100.1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b639847d-770f-11ec-9bbc-9dff3e4ee8c5;
 Sun, 16 Jan 2022 22:03:11 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id 876E318A;
 Sun, 16 Jan 2022 22:03:10 +0100 (CET)
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 wpgL5lKz2DMv; Sun, 16 Jan 2022 22:03:09 +0100 (CET)
Received: from begin (unknown [IPv6:2a01:cb19:956:1b00:de41:a9ff:fe47:ec49])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 8E3939E;
 Sun, 16 Jan 2022 22:03:09 +0100 (CET)
Received: from samy by begin with local (Exim 4.95)
 (envelope-from <samuel.thibault@ens-lyon.org>) id 1n9Cg9-005uh2-5z;
 Sun, 16 Jan 2022 22:03:09 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b639847d-770f-11ec-9bbc-9dff3e4ee8c5
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Date: Sun, 16 Jan 2022 22:03:09 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [MINIOS PATCH v3 00/12] remove device specific struct file
 members
Message-ID: <20220116210309.ye2w3uemapabcnq4@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: <20220116083328.26524-1-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20220116083328.26524-1-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)
X-Spamd-Bar: /
Authentication-Results: hera.aquilenet.fr;
	none
X-Rspamd-Server: hera
X-Rspamd-Queue-Id: 876E318A
X-Spamd-Result: default: False [0.40 / 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];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 MID_RHS_NOT_FQDN(0.50)[]

Juergen Gross, le dim. 16 janv. 2022 09:33:16 +0100, a ecrit:
> This series is a followup to the series sent recently:
> 
> https://lists.xen.org/archives/html/xen-devel/2022-01/threads.html#00635
> 
> It contains the last cleanups related to struct file and can only be
> applied after the Xen libraries have stopped using the related union
> members:
> 
> https://lists.xen.org/archives/html/xen-devel/2022-01/threads.html#00643
> 
> The three series applied have been tested to work with:
> 
> - xenstorepvh-stubdom
> - pv-grub
> - ioemu-stubdom

Thanks!

Samuel


From xen-devel-bounces@lists.xenproject.org Mon Jan 17 05:22:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 05:22:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.257995.443802 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9KSt-0007lD-9A; Mon, 17 Jan 2022 05:21:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 257995.443802; Mon, 17 Jan 2022 05: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 1n9KSt-0007l5-2g; Mon, 17 Jan 2022 05:21:59 +0000
Received: by outflank-mailman (input) for mailman id 257995;
 Mon, 17 Jan 2022 05:21: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 1n9KSs-0007kv-8C; Mon, 17 Jan 2022 05:21: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 1n9KSs-0003Ed-3J; Mon, 17 Jan 2022 05:21: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 1n9KSr-00040n-Pa; Mon, 17 Jan 2022 05:21:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n9KSr-0002S2-P7; Mon, 17 Jan 2022 05:21: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=9nNc0xTUjztgSkeFK3rHBAHVsHk881SKPYCKz2qXeQw=; b=bq2tYUGZdOabg0rIhyHuLfQWRs
	RohywjvNHyaQIoJhKwRUr+XZ0OqhG3y/M0RIb/12wQ9GPO4XxOpFpGbZX4yJALHQX0ROj0gnTY8Ua
	NHR6Q6ftrkbT3S7e9K5Y/zkEmVz7vKbx10hT5D/AHbx8ElPelabtAk6VDzJ2MPNwBmP4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167717-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167717: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-qemuu-rhel6hvm-amd:guest-start/redhat.repeat:fail:heisenbug
    qemu-mainline:test-amd64-amd64-qemuu-freebsd11-amd64:guest-start/freebsd.repeat: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-armhf-armhf-libvirt-qcow2: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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-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-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-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:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2: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
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=69353c332c558cead5f8081d0bb69f989fe33fa3
X-Osstest-Versions-That:
    qemuu=1cd2ad11d37c48f284f557954e1df675b126264c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 17 Jan 2022 05:21:57 +0000

flight 167717 qemu-mainline real [real]
flight 167720 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/167717/
http://logs.test-lab.xenproject.org/osstest/logs/167720/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd 14 guest-start/redhat.repeat fail pass in 167720-retest
 test-amd64-amd64-qemuu-freebsd11-amd64 21 guest-start/freebsd.repeat fail pass in 167720-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167706
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167706
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167706
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167706
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167706
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167706
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167706
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167706
 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-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-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-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 qemuu                69353c332c558cead5f8081d0bb69f989fe33fa3
baseline version:
 qemuu                1cd2ad11d37c48f284f557954e1df675b126264c

Last test of basis   167706  2022-01-15 13:08:28 Z    1 days
Testing same since   167717  2022-01-16 20:38:21 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Kostiantyn Kostiuk <kkostiuk@redhat.com>
  Kostiantyn Kostiuk <konstantin@daynix.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                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       fail    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   1cd2ad11d3..69353c332c  69353c332c558cead5f8081d0bb69f989fe33fa3 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Mon Jan 17 06:40:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 06:40:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258002.443813 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Lgb-0006zm-66; Mon, 17 Jan 2022 06:40:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258002.443813; Mon, 17 Jan 2022 06:40:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Lgb-0006zf-36; Mon, 17 Jan 2022 06:40:13 +0000
Received: by outflank-mailman (input) for mailman id 258002;
 Mon, 17 Jan 2022 06:40:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=d+jO=SB=gmail.com=gengdongjiu1@srs-se1.protection.inumbo.net>)
 id 1n9LgZ-0006zZ-99
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 06:40:11 +0000
Received: from mail-pf1-x442.google.com (mail-pf1-x442.google.com
 [2607:f8b0:4864:20::442])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4ffe58de-7760-11ec-9bbc-9dff3e4ee8c5;
 Mon, 17 Jan 2022 07:40:09 +0100 (CET)
Received: by mail-pf1-x442.google.com with SMTP id i129so9361834pfe.13
 for <xen-devel@lists.xenproject.org>; Sun, 16 Jan 2022 22:40:09 -0800 (PST)
Received: from localhost.localdomain ([47.89.83.13])
 by smtp.gmail.com with ESMTPSA id x26sm13398899pfh.192.2022.01.16.22.40.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 16 Jan 2022 22:40:07 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4ffe58de-7760-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=+CpLYOyG0BNntkXDdagzsAj0tl1dyHFJex6jdLEI2F8=;
        b=RTvV/Zx25GJe2+Z+0Ev+V3ZgJs+L/YSFjUJBpm1w9NeBFOcfja4kRqaKDRV7G6Do8H
         cacgL5Th9dSuCsmsnqqdMWy0pmUZuKVUXjWY4eUkSEaJ6uR3q4TkRJSv6GJ7NGJZ2b0m
         VRsDCT8K4jRdTHjJ5XXxQH7etGYT3km0PIqN6BKX9hyG+5L7DxeLYf64PFdZZD+Qr3qy
         31z1zO+bfB1f3zJJ5fUa/MjONqoMb48Vyvbx7Wt6WhdJuxdkIlJBdlbUJwine8v4dKgl
         ucVHbc9Pc+iq9YnGLsL33lzLnZiG9MR2IfI/70mkPnm3h9faL248u0CGvXQOenJOUNDk
         1lKA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=+CpLYOyG0BNntkXDdagzsAj0tl1dyHFJex6jdLEI2F8=;
        b=xhIfF8wlKFBlWrk2J3d+iBaJ6WWeEoQoBnYThSHh9syYWL+0YXtMIFXcMWes3/insU
         7kJ7uspV/wrkPgsOCQwq0eGBr+/Cn0VppEPlzE7DK9+QDobByqXK47r9Ub7KQ3KXEgKn
         D+5U9F3K7STaLUjC4EP8Fp2J8EmwzLhwTNiH2Ws/HlJkiTBw4EKOfES/WbSfxo2NqpKh
         wf9CUeDwcwSVMT/gTRg0SO5SvPpFP/h8Pjo+E6CIHd+FqQy5dJufwdFXsJI2FgiAkt72
         Wtp7ay0+xdIvfXVCdrQzQ+B1Eyy2cliV/fMg1I4YQV3p1pImICAtZLy7bXEKY/Z+kbDm
         ViTQ==
X-Gm-Message-State: AOAM531Hknop0upooSIOXQh+HvfbD3i1PVJkqvmrqWSe9NDJHhTlLQ1z
	x/tTaOe6cUTwuAhNPIKvfNY=
X-Google-Smtp-Source: ABdhPJzU7TfQGg8DTGlLDwSqA78GahWLJpXjLeY+avhq2SMuHYT9NsnME57geaBj2xML2eLyLiEN1w==
X-Received: by 2002:a63:385e:: with SMTP id h30mr17832797pgn.554.1642401607668;
        Sun, 16 Jan 2022 22:40:07 -0800 (PST)
From: Dongjiu Geng <gengdongjiu1@gmail.com>
To: sstabellini@kernel.org,
	julien@xen.org,
	Volodymyr_Babchuk@epam.com,
	bertrand.marquis@arm.com,
	xen-devel@lists.xenproject.org
Cc: gengdongjiu1@gmail.com
Subject: [PATCH v4] xen/arm: Allow QEMU platform to be built with GICv2
Date: Mon, 17 Jan 2022 14:40:03 +0800
Message-Id: <20220117064003.3367188-1-gengdongjiu1@gmail.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

It turns out that QEMU has been supporting GICv2 virtualization since
v3.1.0. So remove the dependencies on GICv3. If we want to use GICv3,
we can select the QEMU_LEGACY configuration.

Signed-off-by: Dongjiu Geng <gengdongjiu1@gmail.com>
---
 xen/arch/arm/platforms/Kconfig | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/platforms/Kconfig b/xen/arch/arm/platforms/Kconfig
index c93a6b2756..41e82a42ee 100644
--- a/xen/arch/arm/platforms/Kconfig
+++ b/xen/arch/arm/platforms/Kconfig
@@ -13,7 +13,15 @@ config ALL_PLAT
 	automatically select any of the related drivers.
 
 config QEMU
-	bool "QEMU aarch virt machine support"
+	bool "QEMU aarch virt machine support >= v3.1.0"
+	depends on ARM_64
+	select HAS_PL011
+	---help---
+	Enable all the required drivers for QEMU aarch64 virt emulated
+	machine.
+
+config QEMU_LEGACY
+	bool "QEMU aarch virt machine support < v3.1.0"
 	depends on ARM_64
 	select GICV3
 	select HAS_PL011
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 07:12:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 07:12:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258005.443824 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9MBu-0001u0-IJ; Mon, 17 Jan 2022 07:12:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258005.443824; Mon, 17 Jan 2022 07:12:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9MBu-0001tt-Ee; Mon, 17 Jan 2022 07:12:34 +0000
Received: by outflank-mailman (input) for mailman id 258005;
 Mon, 17 Jan 2022 07:12: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 1n9MBt-0001ti-6n; Mon, 17 Jan 2022 07:12: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 1n9MBt-0005A0-4A; Mon, 17 Jan 2022 07:12: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 1n9MBs-0000oY-Qx; Mon, 17 Jan 2022 07:12:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n9MBs-0004Bn-QT; Mon, 17 Jan 2022 07:12:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=AIseaX3GMLG5J+OCP9Z6Z1rjfv3Wp5mPibrYpN8VIOQ=; b=6OhrkjnzqUw2NrvP7jaPMMAARE
	0346TDfTY7Ho8HAHcfYNy1oQD8esWw/yNHEP7Ib1Z1QSvQhcogySX81nDKQqpwfRyivm8DV13rP7M
	yyIA2IQcPJQT7xnYtqPG+LToym09CUcklNvmT0kFUrYSIoCmiQJYsxKrBoROzT9Otp40=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167716-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167716: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl: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-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-armhf-armhf-libvirt-qcow2: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-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=79e06c4c4950be2abd8ca5d2428a8c915aa62c24
X-Osstest-Versions-That:
    linux=455e73a07f6e288b0061dfcf4fcf54fa9fe06458
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 17 Jan 2022 07:12:32 +0000

flight 167716 linux-linus real [real]
flight 167718 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/167716/
http://logs.test-lab.xenproject.org/osstest/logs/167718/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 167684
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 167684
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 167684
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 167684
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 167684
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 167684

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167684
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167684
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167684
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167684
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167684
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167684
 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-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                79e06c4c4950be2abd8ca5d2428a8c915aa62c24
baseline version:
 linux                455e73a07f6e288b0061dfcf4fcf54fa9fe06458

Last test of basis   167684  2022-01-13 07:47:42 Z    3 days
Failing since        167693  2022-01-13 22:41:04 Z    3 days    7 attempts
Testing same since   167716  2022-01-16 19:42:12 Z    0 days    1 attempts

------------------------------------------------------------
629 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                                fail    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 49380 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Jan 17 08:40:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 08:40:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258018.443835 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9NYl-0002bQ-I3; Mon, 17 Jan 2022 08:40:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258018.443835; Mon, 17 Jan 2022 08: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 1n9NYl-0002bH-Ez; Mon, 17 Jan 2022 08:40:15 +0000
Received: by outflank-mailman (input) for mailman id 258018;
 Mon, 17 Jan 2022 08:40:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ZUQe=SB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9NYk-0002bB-TP
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 08:40:14 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 16a3fa14-7771-11ec-a115-11989b9578b4;
 Mon, 17 Jan 2022 09:40:13 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2105.outbound.protection.outlook.com [104.47.18.105]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-30-BAs_4uA0Pbin6C-3kX53Dg-1; Mon, 17 Jan 2022 09:40:12 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM0PR04MB5667.eurprd04.prod.outlook.com (2603:10a6:208:12e::29)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.9; Mon, 17 Jan
 2022 08:40:11 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.013; Mon, 17 Jan 2022
 08:40: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: 16a3fa14-7771-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642408813;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=EXBI+jbDpbVm+39fD7xags9I7eg3O563CUjjNpqi+HA=;
	b=NmaEpNgtR/HtCqa2qd8+BpAOdRr49uT79PXljC6AMK/Gl3heb97eYSgn+XYGxN9cHvaUQP
	R/vTkLGhROi2cefkeFG7dBr8Ygu7HAuEW7iMoEyy/tSlrMT6yAwOnwnJhl6Ih5oWmFLMLJ
	CsbEKiiNkyEQAQVisSO1pBMvmX7iO9E=
X-MC-Unique: BAs_4uA0Pbin6C-3kX53Dg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=h2etC3MAfhN/R3qgny0O7g4Iic0evGA3TCOLc22tpw0Z4tJirCYlXNjlb/ZOn/AwCG15IqmSDx0tqdnIh2sEQ5kk+uVl/3W138Yzs/KAIfG85THQO5IhJxTNLDRLzHpKrvocEebLA8YCge2V07mtoqQLK7LQBp4dN426BzrPiUbQdTyrEETM6fg89o6C6d+z16PDVBLz2Sa/RpUIE9k0H9osMmva69asO/qnUVDAI4koChZZQIXNBK4Yn2IsYWBE5iyCX9cVc3LXKV/VDRogqcU0Cc+Es7aB6BGUMCoOjyWHS+wrC3SUjAyprUBb/5YUtFnDofu/sH+u8gEtWro0WQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4Lub6VoJCRb/tOK8VZv1GPR4pVEDTwDx13vn1yxivjQ=;
 b=CbRN5HUMsS2ZIgmS5EFVAJyXKcees7l2Kqp+5rS7tvosnJ+CDRJe1WQEQPADrsk1nPniNXryaqr8O+VhlsO33Mo8b1JXiTVqNgB8DfOizlzZbZWp5EMa6/wMCcEvyyQKH+JVus2ycozAqO1XMeV+41I11OJvYUHQk0v6HoNqSY1/vbEWWP3jQhatl9a5PEVxoPvCjAo7x313Uk90mlqPnl7ru7tyVrj3VLCg5Yp+b38K+XGRJ2LamyEFWGXwLVDD50ZG3oLvWIeW4w/Pplp7q7dNJdS1mYDvX5x6LpZpvo/ohE2PR69DLTMv8V5ntqbC0J0VZpmn/BIetAH0AzKnhg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <25c6055c-0ec6-863b-6a4f-6605f680709f@suse.com>
Date: Mon, 17 Jan 2022 09:40:09 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 2/2] x86/time: improve TSC / CPU freq calibration accuracy
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
References: <595b3447-0eba-dfc8-fa24-6bb8b964a137@suse.com>
 <85939a58-ab7f-31ea-1014-91cabe746046@suse.com>
 <Yd6zEgfPTdBdFR2y@Air-de-Roger>
 <8c18b93f-8da9-ff38-065a-5050767d17a0@suse.com>
In-Reply-To: <8c18b93f-8da9-ff38-065a-5050767d17a0@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS9PR06CA0077.eurprd06.prod.outlook.com
 (2603:10a6:20b:464::24) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d42fd3d5-36ce-4c19-7165-08d9d994f938
X-MS-TrafficTypeDiagnostic: AM0PR04MB5667:EE_
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB56679A4B97CAE0A7918A65F8B3579@AM0PR04MB5667.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:
	BKyswKbR4bVWWQuj4EnTQuCEbXOAY5r3g8PakUc3VhgWl3/3cBFm9MpXIm2j0OkDgb3/x6+s7r55CqBZq4+sjoNTPyFlzcZTTkrvGXLcUutHfwoMANnrh+F4GPt5SNlRNwaca/dfbFherdSCCaj3/HZZfsZnMmEyBWQmnkCYDCnLe6mrMdVSEqJZOxXrX3Rb3m3is7aNg2B+DUeqjg0vafcTQcx3s6Pj/2Rk14QT8Y+IAVuzTN+INnUHl2NEoYmVp6ILuoGIEnpxqGT4TQP9Ri7ou+/oeIfqy7nSVwj4EWbtIDj+IIZbOAuQeRZaZ+tnAe2wK4vtP9XgOkBtKPv/TFlxz1SalahCFUJ8deWjhGAar1oAz6TESS3kjvJ1xGxg85K9JiNagXT2+jQmSe5Y9malmLPuEA7uNwunATQ5LeR4ib4QhwaeH7mzZfpB+CHDga7NCsSI6Fx3vhvNlYGl3j5CwcfHFq2rJHqj2zfc4oo1fsXwERYBrddfydyA102NsYgGgUYlHW1Nl0LpAdKpkqybdsHQpsMpKiPPSI1c0o2BcaN11vtBtsasdVKmIXNNWjlrawmEVaYopKpFOVY7+GmAfieYhEp+PD0jOuAbbiP8AQDgXUc60tckN4SH1JDAgmJHKwPSmg/hXob7S1HXRWWjvrHlt5N3M6NCgQPOpwOD3aTwC4ZiDs7H+4B9RKhPV5mrcRBJTGEqnnkdiZRyYxMDYECwyTjGwdhef5Mr3ypjUek82RMx0VXbwFr83F8kB/RSUeArmdCGBPeAhTIDdlSQL93BJS6Nxri+qzHXxEYLhFIWZt7L6zEvltBo6W4y
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)(54906003)(8936002)(2616005)(4326008)(6916009)(316002)(2906002)(6512007)(186003)(508600001)(5660300002)(26005)(66476007)(66946007)(36756003)(86362001)(38100700002)(53546011)(6506007)(8676002)(31696002)(66556008)(6486002)(557034005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?Ytkt6lsXQvatz92IA9SFKXDOfMgLMDV3L7+psW1bVRaFr/JaPAIH+Yhw/rfE?=
 =?us-ascii?Q?S80n1219Dy+0zZXgMaxsdTxFZIhveI4O9T6vomznde0vKq3iUtbPkeVoGoIB?=
 =?us-ascii?Q?B0jVPV6RMy1aXTrulob+p2sEIdlLOTW1rV1qye1giodlOYku7GpD8IGkoYJo?=
 =?us-ascii?Q?TEIuu367pOREOrHPpxE3aKT9dgDweX65WpSmFqzL9ew5kRT9hbWykuuNP8hq?=
 =?us-ascii?Q?A55GgFf70z6LAoZ+4QhSnc3UGYuYkT3BxOXe+7MJLB+jJhL+YxJqf/9XhGxY?=
 =?us-ascii?Q?3HoTosrrsNgR6IZRnLTtWGH9onfU3ZkOX7ZV3/zK+OOTAczqkXPw25cktjeC?=
 =?us-ascii?Q?wBMq2Vl+UIPiPWd0C/3jXIQNS06NJuxAhzQzxfl9kX/u2LWws6ajMkrXRoNC?=
 =?us-ascii?Q?dd4n61KKTkdsgafAP5vKMC/z3wpU7+eqY1fpN0S5L34uS4qE2++gpc5Jolpy?=
 =?us-ascii?Q?UGAinkzujlQDDYuPNYP58Q4jey0K/cGBaoaFwEO/RsZnCLavYnmjcM3+e7mh?=
 =?us-ascii?Q?1SGs0c9E4BsJKo2z2TYxoLcwxC3dv9DEFb5wfIAt9O8X1qqbXcMo60eYdy97?=
 =?us-ascii?Q?OCjVXkjkKipCOOmCfmU9Xlq3LBpX1JENvhWwPi5etJaxLN+qbvxXojAoLGyz?=
 =?us-ascii?Q?/tvm3G34gxKWo+bNOb2QkBBi0yRt2b9ACJq5BHt+qSxfeZK3+Ecz3y8toKgB?=
 =?us-ascii?Q?74Hv7HkCiRy48k6IHKmISyR/5aQ9pUkHoVNdSQUCwKnC2EumMW7sKFMb2T1Z?=
 =?us-ascii?Q?bL8oRKHHgMvqS6Kwq1hdwpMR+y7cLX+KWE/RxNbS5GCXrTjpSU3yv8nDiwgv?=
 =?us-ascii?Q?oPHZYmPqbLpDBZ+DBYvjxuu8iP+Zpfe3QbcoCiT3UTTuLg6Ct9Jkv9CJanlF?=
 =?us-ascii?Q?hLDHsQ7tD246ODyolk+ndgb2tQ71oj03haAZn1GAyruo9Kdsc2mrQV2JPnJ5?=
 =?us-ascii?Q?mhwAdrJmJo8IX5CdDn0/UPaY/8aIXAmYQB86BNJ3hHwQAKvtDo7/jVo//Rfv?=
 =?us-ascii?Q?C7Cw2zoa0Fz2GbWI3yXOb75Sbr8Ttrhun2Ry2LnoTKgNalEnOXWMnO/XOgSO?=
 =?us-ascii?Q?6rzEkNXYHMcjbqWHRYF9yKt7EuzrinAaVgcUWM1bfrTAZQlMuGSmfy/WuLOt?=
 =?us-ascii?Q?4BK7OrfX4pNbqDKu1l7hfQUNIu1oAoAn2E1qBRc9xDWY9EFEEEX+JvD4A7tu?=
 =?us-ascii?Q?dD7kWapZfZqbPjKFXucEmy5t5LEziukU2+uwOqRt/Sqj5xgDlnnLTIMvDRu9?=
 =?us-ascii?Q?MCsq/ZrRb3Cn5AMNMZeuyHPz0oq5p0a1jolo1GTRctIP6y6+LmsnMWnGDU8U?=
 =?us-ascii?Q?BHQ2DQgaY3dWdtGJr9dHb4fvXPJmnt0rTszXTIZspZTKez0nhDZarqNTz0/C?=
 =?us-ascii?Q?PAjjxbcPal6dJRa9x/uIADux5T8JvYGEOMNZIF+EMVTk9F0CRbbXjOyfBPif?=
 =?us-ascii?Q?m8B/9kH9wfFQyO7CKwN4M43/LtLXfosHJ6eapCivtKRz9u97gJ07kX9Aujzm?=
 =?us-ascii?Q?dPm+U4srVzXSShCms3z2PKQfsUqiOAA/Svhube4ilP0b81pdMV4lqrtBKuTb?=
 =?us-ascii?Q?3QIfPF4aDm3pfhZdzLmc1/zRAtmSjm4pTJ2Jgip17GTgpYnBugyWRJcbwLTg?=
 =?us-ascii?Q?nI80AKmGBw70OLmR34yvaEs=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d42fd3d5-36ce-4c19-7165-08d9d994f938
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2022 08:40:11.2337
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2qkmCfN24A3NZL5daURqyaR/VoXuxIMAKouqyzXdYQxb4t3YEKxPGuD02Nt5khAQaE9VQIp7uMPxWOjkWlVpqg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5667

On 12.01.2022 12:32, Jan Beulich wrote:
> On 12.01.2022 11:53, Roger Pau Monn=C3=A9 wrote:
>> On Wed, Jan 12, 2022 at 09:56:12AM +0100, Jan Beulich wrote:
>>> I'm afraid I don't see a way to deal with the same issue in init_pit().
>>> In particular the (multiple) specs I have to hand don't make clear
>>> whether the counter would continue counting after having reached zero.
>>> Obviously it wouldn't help to check this on a few systems, as their
>>> behavior could still be implementation specific.
>>
>> We could likely set the counter to the maximum value it can hold
>> and then perform reads in a loop (like it's done for HPET or the PM
>> timers) and stop when start - target is reached. Not a great solution
>> either.
>=20
> Not the least because reading back the counter from the PIT requires
> multiple port operations, i.e. is overall quite a bit slower.

What's worse - even is programmed to the maximum value (65536) this
timer rolls over every 55ms; as said elsewhere SMIs have been observed
to take significantly longer. I conclude that PIT simply cannot safely
be used on platforms with such long lasting operations. As a further
consequence I wonder whether we wouldn't better calibrate the APIC
timer against the chosen platform timer rather than hardcoding this to
use the PIT.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 08:48:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 08:48:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258021.443846 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Ngk-0003Jd-DZ; Mon, 17 Jan 2022 08:48:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258021.443846; Mon, 17 Jan 2022 08: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 1n9Ngk-0003JW-8t; Mon, 17 Jan 2022 08:48:30 +0000
Received: by outflank-mailman (input) for mailman id 258021;
 Mon, 17 Jan 2022 08:48:28 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n9Ngi-0003JJ-OC; Mon, 17 Jan 2022 08:48:28 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n9Ngi-0007XC-LC; Mon, 17 Jan 2022 08:48:28 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n9Ngi-0005WT-E1; Mon, 17 Jan 2022 08:48:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n9Ngi-00032i-DY; Mon, 17 Jan 2022 08:48:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Wt4ZkdZ+9QWivRu/OmDGYEBaiWGL7zfK+SWRkAfW+lo=; b=dvt4az6TdEqCB7Ds06GzBZAfOE
	qbjwhG4mwaF6KH9ED7f7MWzi96IJWSsLNVI0Ven/HbKNhwdU9aAtPHbprNO+m7thWPpLUvctePweR
	ua8N4VuSvssBnI9SKCtFV3vmfGOw4QAxj0LOI/AUmhe+9ydNaAlF4QOcj+dRdYSN7qKs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167721-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 167721: regressions - FAIL
X-Osstest-Failures:
    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:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=4f6d5656d321a877bd750858e5d7819c15ec2a2c
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 17 Jan 2022 08:48:28 +0000

flight 167721 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167721/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              4f6d5656d321a877bd750858e5d7819c15ec2a2c
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  556 days
Failing since        151818  2020-07-11 04:18:52 Z  555 days  537 attempts
Testing same since   167710  2022-01-16 04:20:12 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>
  Ani Sinha <ani@anisinha.ca>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  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>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  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>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  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>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  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 Chevsky <nchevsky@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>
  Or Ozeri <oro@il.ibm.com>
  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>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott 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>
  Stefan Hajnoczi <stefanha@redhat.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>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Дамјан Георгиевски <gdamjan@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 92483 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Jan 17 09:00:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 09:00:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258030.443865 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9NsC-0005eD-IW; Mon, 17 Jan 2022 09:00:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258030.443865; Mon, 17 Jan 2022 09: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 1n9NsC-0005e6-FE; Mon, 17 Jan 2022 09:00:20 +0000
Received: by outflank-mailman (input) for mailman id 258030;
 Mon, 17 Jan 2022 09:00:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SSOx=SB=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1n9NsB-0005e0-BA
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 09:00:19 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20613.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::613])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e3bc235c-7773-11ec-9bbc-9dff3e4ee8c5;
 Mon, 17 Jan 2022 10:00:17 +0100 (CET)
Received: from DU2PR04CA0229.eurprd04.prod.outlook.com (2603:10a6:10:2b1::24)
 by DB6PR08MB2887.eurprd08.prod.outlook.com (2603:10a6:6:1f::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Mon, 17 Jan
 2022 09:00:12 +0000
Received: from DB5EUR03FT052.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:2b1:cafe::5d) by DU2PR04CA0229.outlook.office365.com
 (2603:10a6:10:2b1::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.10 via Frontend
 Transport; Mon, 17 Jan 2022 09:00:12 +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.4888.9 via Frontend Transport; Mon, 17 Jan 2022 09:00:11 +0000
Received: ("Tessian outbound c61f076cbd30:v110");
 Mon, 17 Jan 2022 09:00:11 +0000
Received: from 0a2cee3ee893.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 65E19168-1B47-473D-AE95-61C2008B3395.1; 
 Mon, 17 Jan 2022 09:00:05 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0a2cee3ee893.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 17 Jan 2022 09:00:05 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by DB9PR08MB6714.eurprd08.prod.outlook.com (2603:10a6:10:2a4::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Mon, 17 Jan
 2022 09:00:04 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::c0c1:d43a:acf3:a59d]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::c0c1:d43a:acf3:a59d%4]) with mapi id 15.20.4888.013; Mon, 17 Jan 2022
 09:00: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: e3bc235c-7773-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FsZfkdvA8kBRNbmaABERT3xwEZUZOrcVcPJhY73joag=;
 b=mF+uGzq3PQoi6sSfcGaIFOXhEdaIbN3t5NwIkxk/URSrRQXzmDSZM2Xt88/MPnldc5B5dqwN4fpbXisiPBodkyFfD/DfwbXIbhL/ZNtkyTau8J9rkIwBRKRE7fFGubCmfUGeYBPxeoxGdG1awEtfcDDzdBots1w7vkKcTfwq1Sw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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: 7fccb473c355e57d
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=j2uSh5vdyFgQPkjUs3B6EbX0buIG+v2lQLJ3RO1PiKAHQA5DwjQDeUk0DmKpawcUFBqQtkQ9ZUgv6s83ydlk9gYf68UVv7lZH+ZGHwKACDPUSLkyKXfreG9iZzw0qiPkq0MEE6IlIDZQT6QGGYutjRvXur0lTyDkCl+PvtgVVGkSoGASsQyxDTOlpQL5SD6cyh6nyBvmeU0m8JJwuM5QozTKxpXr64ruQg/5VCByLpkvcNbmihYPXCL66Yski2cSg5uTigg7xT69FQbkWga64L0BqfBIrZVtoHRxpYtPLmfYs8snuboTa+D/5evUmx7lD3FyYyyovn6Z5uO3go28vA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FsZfkdvA8kBRNbmaABERT3xwEZUZOrcVcPJhY73joag=;
 b=RoJ2qxyoKpsy06vlwlYwxIR0mP59MLLQxtDYAJzHZfeAl54hf9iFcLdnkLUDVVLcUZpwCGzB1lZCzyC3Yh0OsykdL8WPB9KUpED5NUwzFj858dvDYBrQQUoRxGrUic3Bx2Jm+rEblFGeDyOZOvAxrjxDvG1IEHZh+fIN8mJ0o0ViuYTabEx9huKwZ6D5tgLilhhe5xfc/0WCl+gUxV7Ikx2zwErw6vhbbH+ONypdAb75l68VCKIUnxwvH4FsYL0GyW0aMtcbTgpacZQClfxgRJbFFPxo0OXfD0+xcQVD79yT3946TIdqBnj82eU4KYi2YrUDlU9rWmkK+N0mJ8IZoA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FsZfkdvA8kBRNbmaABERT3xwEZUZOrcVcPJhY73joag=;
 b=mF+uGzq3PQoi6sSfcGaIFOXhEdaIbN3t5NwIkxk/URSrRQXzmDSZM2Xt88/MPnldc5B5dqwN4fpbXisiPBodkyFfD/DfwbXIbhL/ZNtkyTau8J9rkIwBRKRE7fFGubCmfUGeYBPxeoxGdG1awEtfcDDzdBots1w7vkKcTfwq1Sw=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Dongjiu Geng <gengdongjiu1@gmail.com>
CC: "sstabellini@kernel.org" <sstabellini@kernel.org>, "julien@xen.org"
	<julien@xen.org>, "Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v4] xen/arm: Allow QEMU platform to be built with GICv2
Thread-Topic: [PATCH v4] xen/arm: Allow QEMU platform to be built with GICv2
Thread-Index: AQHYC20k2h7y374id02KJynAohV9hqxm6mCA
Date: Mon, 17 Jan 2022 09:00:03 +0000
Message-ID: <94945C70-A608-47E9-890E-8CA6882D7379@arm.com>
References: <20220117064003.3367188-1-gengdongjiu1@gmail.com>
In-Reply-To: <20220117064003.3367188-1-gengdongjiu1@gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3654.120.0.1.13)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: ea0160c3-3fb4-45f9-95dd-08d9d997c505
x-ms-traffictypediagnostic:
	DB9PR08MB6714:EE_|DB5EUR03FT052:EE_|DB6PR08MB2887:EE_
X-Microsoft-Antispam-PRVS:
	<DB6PR08MB2887E2725A42AB9BA43C1BBE9D579@DB6PR08MB2887.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:
 FWgMYV7g6Jcud/BBzP9wJ4IVqCVR5xdXYZYLboN7H5Dom6bQ63JoyteaobzdYrAzWr4C92phIhKOQJXfIlaFTCw6wErGRqQAppPQEZoH0DXWWxlhJqQU1VvQVMImbtEeppkw1fOMXbkZ3xzcITK3NCwUzKVh/jJP9zjjRKyqtFhAcygCWgY8WBOBOyl+CMFTlPnm2g+nl8Hzo0kFUIEKI+QXp7GmQ/0BzQ/Ri/Wy8bz2uqJtss+FjMXz6/2l9AaUIaT57Kq3MHWSPmmg5cEJcBJNrbuAKroyt+5z8aEjNMNF5/vYD0YXZCsEvk7f+X0G7KqsVXRVGXeGdlWCYUgG50tbSRSxTDsTXEHv5p/IE7G9oWq/QLfT6u/qOvw/W2eV5HtWBJVJmk+gDBsxA/NRzfbdC6Tzm7lAvy00j4mvyJ4SkYmso6+bDQMnLDgteAcXsANI/lYo3tCjTpNukongepJCO5V9l0RP4sIIVLZhLRhsUYMCvbdznngAK1JMSJFNvSMfeg6xK+tmwyLAcfXeqUnJhSVmnclYXIO7qi8wgK8jGUss++jOwiiKhvNYxLUcMgPR1u2CJDAWc8NyEYvPVfVlAXcvoMPL8hd0GkAsFPppLf2yHbBqEmoh1X1ENFCSiZy476OWu09X4Nv9M6nsgogEu3MoSFfGMxr8JSqOKphOEH75eqgBmJjFOw32PfouGsuXP2a7lVse1QFy3QJqv8fIlLq61fQywraSQUo7pGypqzKoqeBbCGmESjXDsTBU
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(36756003)(71200400001)(76116006)(91956017)(8936002)(508600001)(2616005)(6916009)(316002)(5660300002)(6486002)(54906003)(66946007)(66446008)(66556008)(33656002)(38070700005)(6506007)(38100700002)(122000001)(86362001)(53546011)(2906002)(186003)(26005)(83380400001)(6512007)(4326008)(66476007)(8676002)(64756008)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <809AECB0A4B0BF4EAFD91DCE4C280B2A@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6714
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;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-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	bd2904c1-d6f6-4107-ba46-08d9d997c05d
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	OA4eACoKhv+647Xx9NMawx+R2ZWSXpmN7nZH7CJ56Uh1DQhzvXa7v7FChxICGZwYH1lm1A1IlJO/cfmmXjcqgvN1xqOI5CJf+hpCXMPzTyv+sn+LjI9zBS2KgJmXMl6mFbig3aH75RaQyBO6T4UiZBhnlN8z7ZJaVcSQkzCd5ojGQTTYSni2WDKnw7PU+3jAPAgkZSCJpN49WSmYhE301cB4ih3EnBBk+HuPzMSVcXeTEVcpNWEPgGO0meg8wtT89zuxquJKNPRL/sgDYjMtIXSvxWqSbvXVLGUzF/78YtVpCWy3MEkp00yPu/Y4qiFs7Pkz2REmnyQxOmIJpEJQe69Tj6FpPIwcA69XvqLC/wUqXLyY1axh1142+Sfe4Dx+CgQ7L86OMlZwOQP+xKq/G4fuwUclo4Kpz5KjIKrdhqpqBcZ+aV2QOgi3ddFPpL+vxIzs2NWY0mIrBNwRirp9Zz/xS+3AF7GiIIABuA2N2Rnc/gK6j4CsQj3TsgtSCwGTJJu8yA9rw6xOwyt+jyzs0h+CVK3hWtnlXfx6jCSgT/TKf82mbI/5nV94SsWa6bR1bnxzBVlfKk7+9NINXTM3sPYOFgedQVNinufflKNHvWrIcVytLUzU/XBli9fSwJsgE0+eFQKjR16h0fys3hyrfLAdd514/Ribb9Ve9VTNjiunQXE3kxbrmoSW/BY5swyZUNP3UAOFJwuw3vVCOVZk0g==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(6506007)(6512007)(8676002)(336012)(83380400001)(33656002)(4326008)(36756003)(86362001)(508600001)(356005)(70206006)(82310400004)(54906003)(316002)(8936002)(47076005)(70586007)(6486002)(2616005)(81166007)(53546011)(36860700001)(6862004)(186003)(5660300002)(26005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2022 09:00:11.8402
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ea0160c3-3fb4-45f9-95dd-08d9d997c505
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: DB6PR08MB2887

SGksDQoNCj4gT24gMTcgSmFuIDIwMjIsIGF0IDA2OjQwLCBEb25naml1IEdlbmcgPGdlbmdkb25n
aml1MUBnbWFpbC5jb20+IHdyb3RlOg0KPiANCj4gSXQgdHVybnMgb3V0IHRoYXQgUUVNVSBoYXMg
YmVlbiBzdXBwb3J0aW5nIEdJQ3YyIHZpcnR1YWxpemF0aW9uIHNpbmNlDQo+IHYzLjEuMC4gU28g
cmVtb3ZlIHRoZSBkZXBlbmRlbmNpZXMgb24gR0lDdjMuIElmIHdlIHdhbnQgdG8gdXNlIEdJQ3Yz
LA0KPiB3ZSBjYW4gc2VsZWN0IHRoZSBRRU1VX0xFR0FDWSBjb25maWd1cmF0aW9uLg0KDQpJIGFt
IGJpdCBwdXp6bGVkIGJ5IHRoaXMgY2hhbmdlIGludHJvZHVjaW5nIGEgbGVnYWN5IG9wdGlvbiBh
Y3R1YWxseSBzZWxlY3RpbmcgdGhlIG5ld2VzdCBHSUMgaW50ZXJmYWNlLg0KDQpDYW7igJl0IHdl
IGRvIHRoZSBvcHBvc2l0ZSBhbmQgaW50cm9kdWNlIGEgUUVNVV9HSUNWMiBpbnN0ZWFkID8NCg0K
QWxzbyB3aHkgZG8gd2UgbmVlZCB0byByZW1vdmUgZ2ljLXYzIHN1cHBvcnQgPyBUaGUgY29kZSBz
aG91bGQgYWN0dWFsbHkgc2VsZWN0IHdoaWNoIGdpYyB0byB1c2UgZGVwZW5kaW5nIG9uIHRoZSBk
ZXZpY2UgdHJlZS4NCg0KUmVnYXJkcw0KQmVydHJhbmQNCg0KPiANCj4gU2lnbmVkLW9mZi1ieTog
RG9uZ2ppdSBHZW5nIDxnZW5nZG9uZ2ppdTFAZ21haWwuY29tPg0KPiAtLS0NCj4geGVuL2FyY2gv
YXJtL3BsYXRmb3Jtcy9LY29uZmlnIHwgMTAgKysrKysrKysrLQ0KPiAxIGZpbGUgY2hhbmdlZCwg
OSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEveGVuL2Fy
Y2gvYXJtL3BsYXRmb3Jtcy9LY29uZmlnIGIveGVuL2FyY2gvYXJtL3BsYXRmb3Jtcy9LY29uZmln
DQo+IGluZGV4IGM5M2E2YjI3NTYuLjQxZTgyYTQyZWUgMTAwNjQ0DQo+IC0tLSBhL3hlbi9hcmNo
L2FybS9wbGF0Zm9ybXMvS2NvbmZpZw0KPiArKysgYi94ZW4vYXJjaC9hcm0vcGxhdGZvcm1zL0tj
b25maWcNCj4gQEAgLTEzLDcgKzEzLDE1IEBAIGNvbmZpZyBBTExfUExBVA0KPiAJYXV0b21hdGlj
YWxseSBzZWxlY3QgYW55IG9mIHRoZSByZWxhdGVkIGRyaXZlcnMuDQo+IA0KPiBjb25maWcgUUVN
VQ0KPiAtCWJvb2wgIlFFTVUgYWFyY2ggdmlydCBtYWNoaW5lIHN1cHBvcnQiDQo+ICsJYm9vbCAi
UUVNVSBhYXJjaCB2aXJ0IG1hY2hpbmUgc3VwcG9ydCA+PSB2My4xLjAiDQo+ICsJZGVwZW5kcyBv
biBBUk1fNjQNCj4gKwlzZWxlY3QgSEFTX1BMMDExDQo+ICsJLS0taGVscC0tLQ0KPiArCUVuYWJs
ZSBhbGwgdGhlIHJlcXVpcmVkIGRyaXZlcnMgZm9yIFFFTVUgYWFyY2g2NCB2aXJ0IGVtdWxhdGVk
DQo+ICsJbWFjaGluZS4NCj4gKw0KPiArY29uZmlnIFFFTVVfTEVHQUNZDQo+ICsJYm9vbCAiUUVN
VSBhYXJjaCB2aXJ0IG1hY2hpbmUgc3VwcG9ydCA8IHYzLjEuMCINCj4gCWRlcGVuZHMgb24gQVJN
XzY0DQo+IAlzZWxlY3QgR0lDVjMNCj4gCXNlbGVjdCBIQVNfUEwwMTENCj4gLS0gDQo+IDIuMjUu
MQ0KPiANCg0K


From xen-devel-bounces@lists.xenproject.org Mon Jan 17 09:13:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 09:13:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258033.443876 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9O4S-0007Cc-T6; Mon, 17 Jan 2022 09:13:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258033.443876; Mon, 17 Jan 2022 09:13:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9O4S-0007CV-OA; Mon, 17 Jan 2022 09:13:00 +0000
Received: by outflank-mailman (input) for mailman id 258033;
 Mon, 17 Jan 2022 09:12:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ZUQe=SB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9O4R-0007CP-CB
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 09:12:59 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a934fe8e-7775-11ec-9bbc-9dff3e4ee8c5;
 Mon, 17 Jan 2022 10:12:58 +0100 (CET)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2109.outbound.protection.outlook.com [104.47.17.109]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-14-XiSOLBP4OnmsRXDz5lW6uA-1; Mon, 17 Jan 2022 10:12:56 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by HE1PR0402MB2860.eurprd04.prod.outlook.com (2603:10a6:3:d6::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.9; Mon, 17 Jan
 2022 09:12:54 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.013; Mon, 17 Jan 2022
 09:12:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a934fe8e-7775-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642410777;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=43vWvcECMvRjGAhOZ+emyf/YwVuj0pETzGdu/vsehgs=;
	b=eyb6VIC0jNBMgXM6JhhVvcKtlSu4He5+ACPftRpqyr3NTJzLxDa+ylDiS/UvLvfytiUTQK
	IOop/F6DjbmlyqdhEWRC2EFwb+SWeALSxQ4aOjjOc030NFzEReZ3bp8ueBX+WkZeVsAPIy
	Kfk1KNOpJ7Sj3bfVHpOexYH9/PmmmAs=
X-MC-Unique: XiSOLBP4OnmsRXDz5lW6uA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mdO3+BiJj2+SPOBu8smrpUpLlTVtX4NkmXOqKMLVWjHj8lg0vBIFZB+/CRALYB2ig6ZPaxWsb7S50YUd9DqKD6ljy0NXgsy1au2cvdQvhkO7A1TLsoePtYylSaZFJvB0SXQ9Hujl+dEgQ9+tiPoTUTC8QE5uvHqBrFhwPmIoUSruh0sXCPEAOTAcWFDKKgHCdsAswb63opZuJFnx9TfURkEH1F5sYLgoqtCXItwTAIOSSpFz95W+CsaVw66cKiixDdjzro1tdjHp1RYkVpvzOVCOSQK3GaUJuMcRwQbaw4CvtstIug7RpAu8uPzW2JTqKQ3n8ePFI8nVFil+xLAsZw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=43vWvcECMvRjGAhOZ+emyf/YwVuj0pETzGdu/vsehgs=;
 b=FlL2fiuVvwyKjlatTEmd6WyVe6jbbRyilMLAAEUaEYCUjkSpTXyNqjVwZdr/6TJHX9H/CFSZuucikRlNJ3/r2xq0g3k8PoSvq0p+CywlEHaTQZytzU97SnZtf2CzmXqLVe4FSmUNcHzMfTR/2NFPyJHgp8en4A6ojFmSS1O6Z0GopQSYE0bj2Qys+VcREnAdAfAqjXr373fB+Fw+9vKnDyDSxOtBBpPw1xhfwMWMvlQuUVoy8rCztqHh+G+pY1pncRD7+9KV7kLfWJ+Ci8HcwC1fb/zAJIi2rTZV8LtkJ77SZP9A9yFuq9bpPBIdkcCRHJ/rSp6WNvvc7eCmW3fZGA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <369d9b15-d960-e71a-1338-1e53201842c3@suse.com>
Date: Mon, 17 Jan 2022 10:12:52 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH] Config.mk: update seabios to 1.15.0
Content-Language: en-US
To: Wei Liu <wl@xen.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Xen Development List <xen-devel@lists.xenproject.org>
References: <20220116125648.1200259-1-wl@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220116125648.1200259-1-wl@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR04CA0080.eurprd04.prod.outlook.com
 (2603:10a6:20b:313::25) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4b07aa42-1af9-4285-7916-08d9d9998b61
X-MS-TrafficTypeDiagnostic: HE1PR0402MB2860:EE_
X-Microsoft-Antispam-PRVS:
	<HE1PR0402MB28608D66B940FE3E942363DFB3579@HE1PR0402MB2860.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:
	ywI9dwQAsS8hczB2zqGhQ9pqn+uG/fFaKFe11QZVJJIj/WjpvL/lf/D56N8lMuSXMLmSxZe5nV1SYxxTdTOK8RXzpGxGtLhiRCTdFe3+GhNqgrb1weF0qZAFcFen5ThgTeJX8eoWeJHJjphcoxE3LB8x+33c2ZovH/VH3TTUlO4bYJkhk+HpFvBfVaIhejh5hE9NAoCP6R0XAw7/ID0pr8MCFXDRuVLiOb6sm6YzsJZO5jjpHQUpBEUArxiGyNPB+xvkbmIRf0hjV/T7Zn/YV/zz4H26R9e77vsyvs2SgOPUncCPTZ/vIaGb6ffQuhIX5UFmCWVlp8TGhHZwxR5vXNglB6cCk09m8555AYxjHujNyz7poYdAZ4UKUa06JQVPmUu7itnaromTQ9m0Zq7ILXysz7Fd9AXn3AL4NpfGcmAgxM0KTFeBSGZQAv0kMd7AgknbZEm2GARVn2L8jyaH/QQAaAVN14ZYUiLfBApHTdHWiTmVCFc3xQ+xeWBLoan132H4YWpPBywgngkeF5A/2hJ93GwZys7OipIvtypKMx/PfMj44QyKAOw4+joia6MRSUmkUKWd5D3ygJRrTm+2rLeAO5BSIWdVrzhWznJ7bwZWtzCrzC77lbDlBYk9lBjWMo9cTow3MUKzB2ynI9v2KSHlHv9yC3cIZ1uwvGSn/go9zrE8rGFRJStwtAwOIjOqK6Dz7u/iv8RPW0j8Xne+u6tU1GJQWT1DwJObX36BlZ0=
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)(186003)(26005)(54906003)(8676002)(6916009)(5660300002)(53546011)(6506007)(2906002)(8936002)(316002)(31696002)(86362001)(31686004)(558084003)(2616005)(38100700002)(6512007)(66476007)(66556008)(36756003)(66946007)(6486002)(508600001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RldPZTdJSXJwNnkyc0xpZDRFQmd6bHV6MWx4VGprbVJaTC9QV1EyZnJ3ejB2?=
 =?utf-8?B?M1gyTHVpSnNucGtxU2dNdCtiWDF6TGNYaHliY3JZeUd3dFBiY055dURzSjk4?=
 =?utf-8?B?TUFUeVpTZnpsVitEakE1emZDRkNtNXpuVnFuZW9iajIxR1ZjVWJFcjBreHpZ?=
 =?utf-8?B?T1VCL3ZGRjhZUjYvSW5pUWRKR0N2RTBJREFrQXA1bFBlRVgrdThJRS9XV3M2?=
 =?utf-8?B?dnBGL3dwRUluK0FBMjRBVlRpQjBlcDRIakhVUG0zcysxcDJuellTMHZUbXdZ?=
 =?utf-8?B?bSs0TjVHM2FSanUzblIrL3o3OENYeXkxbUZIRzZBcHJ5aUxONUJmc0lDOFor?=
 =?utf-8?B?Um5nUmxobHh6QldtS0VhcXpHLzlTSlprdWJaWjNOZDdoSTVWa3ErYnBIeUZ0?=
 =?utf-8?B?bDVzSzhZSkgxOVdVUEZGTjhxdm5sTW9kUWEzamd1V240cm5pakNCNERkZVBI?=
 =?utf-8?B?QWErYXZuZmMxVFJaVW9Ec2pkaTYrelRhUnBpMXh2Wi9QWlNDYW9RVWdkQmRC?=
 =?utf-8?B?RWpyWGZ4dFdCWHBwK1RhUlZvNnozMlI2WmVPMmxvZWc0dnFvWDFYWEk4R0RO?=
 =?utf-8?B?VXVEOWdXYzBwTU1ia1NWaXlFUkk3WWFTQkJYTnFQNW5Xeit5Q3orSWJrODlP?=
 =?utf-8?B?OVdCYytHYUIwZlpmUjVLYVBoZ0IvMWZZcVZKZ2JzWkM3VXdYWmltM3dYTzcz?=
 =?utf-8?B?aXZOS2V1aVF3Q0k2c2MxbFpMcGVHRmVkWmRJV0pWdk9JekhBRVFuQkowNDRj?=
 =?utf-8?B?R3BqV0M5dEtpU0V6ZEhzNStoblRyZDJBVTZ5RmJ0S21IUGJBUXFWcFNvQy9Q?=
 =?utf-8?B?ZWlTemlBcUtOWGJiZ0JFRHBta0NMeTU5eHZoUTNHQXVCeGttRlZ0S3gvcmtm?=
 =?utf-8?B?ZHZjUUtoTTJ0WUlkVlkzTlllVDBCVnRtWjJkbGpZRjdvcVNuVmUxMnBRNjVx?=
 =?utf-8?B?S25vdXpzY0NJTGtZQlFOTHdFOFp3Rk5mRUNNTDJhZk5ibHM0dXNrcitvTDBy?=
 =?utf-8?B?eVZPNTJ4U0pXRGV5T0lpaFJxN0xvQ2JTUGxKazZtU1Bxc2I2M05BV2IxWkpz?=
 =?utf-8?B?MEo5WG5XdzRaMzd5TEJsTzluREFwMFk5aFBIOE9waTJqWkhtaUtuVVJLUTBX?=
 =?utf-8?B?cnhDNURhR0xSeTNQT3RNZWw2Q0puWWRYZDRKcHRsbnp4M1o3OENvbHNyWUJ4?=
 =?utf-8?B?QXBMblpRZFpTODRiNTJXNFBaYi95MitSV2p5cURlUkoybXlzdlozV0thdnF6?=
 =?utf-8?B?TkpYTHUxcU5WMGZqU0VTYmFBOXhpTUVXeFJkZEdoZVNCWEF6bXJGanRMRmgz?=
 =?utf-8?B?S0owNEM2aGRjMjVEREZsRmtKbjZJZ3FLNzVpaXFodzFwMDB2djQ1MDZpVGNQ?=
 =?utf-8?B?eUJ4VlZaa3RWa2JYNDdrTEg3T2FLT1BIMEROTlJvTzY4eGROWTBCSVJyRTMv?=
 =?utf-8?B?dWhLMk53VGdCbC9lSzVUZVcxSVZKVDhKd0pnNnNmSXhCSTVDeFJ3WnNCdDh4?=
 =?utf-8?B?amFCUjZIdm5FT0RIa2dJVEp2U2ljMGFYVkFXR2t0d2o0YnpvUVIvcFdZVzFP?=
 =?utf-8?B?M2R0YU9Ta0tPcUNvcDljMC9wYXJGckNWUWVtd0c4WlAyTldlM3BKOVRvc2ow?=
 =?utf-8?B?SDQrM0doS2VEQ2tvMFEyVGJUcjU5NW9sa1hNL3p6VFNuL3huM2E3Yy9sdHRa?=
 =?utf-8?B?KzdpY2VFVFNUekF1VC8xU2RELzcyd0VaOFN4MHhKWjZlZkpvQ09LOXN5cTVt?=
 =?utf-8?B?bTlQUit4ejhCR3MyM0VQNU1OWEVNQkdkUjhldnF1NXd0dmgzMFNyNVJtM2E3?=
 =?utf-8?B?bnlOMXcyVXkyNVBVWGpmN3dDa1FwUFlHa3ovbFV1L3djWDZsbmVvZWc4M0N5?=
 =?utf-8?B?bTVFK3hQTnBzaW1pUTVkTGtkdjFKQURBZGRPc3UydjN1bVlwN3B6YmczSU9n?=
 =?utf-8?B?Znk4czNzTml0OFRBNnRsYmQyS0hoVUlpY1l1RENLUmM5YnVYNjFtc0IxVnNQ?=
 =?utf-8?B?QWgxMjNZeEFYN0dyVlZSaW5JVWtheHZPUXJtYWhiYUc4VzlYUUk2UU9Eb2lL?=
 =?utf-8?B?bWNWQ0VGQUNJVVhYUFJDYlJvMlNRRUQvK0hSd3lBVVZuVGhudFhjTkhFMG9m?=
 =?utf-8?B?YVBBMG1XcVgyc2FDNGtLVFhYUTlWb3JpRGFqNEc2dkEzWGFoTGFqVTlQSXA0?=
 =?utf-8?Q?Fr2wV4w3KAWOzByb90sUgS4=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4b07aa42-1af9-4285-7916-08d9d9998b61
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2022 09:12:54.4218
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: TGNhVWkg1l/S9SQmrgfYWFUxUsZ+VbQyO77E0+pytE/pimcxmu3VUeJBSUknGkzAQKIxFtGSq/yIXt0CVe9/ug==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0402MB2860

On 16.01.2022 13:56, Wei Liu wrote:
> Signed-off-by: Wei Liu <wl@xen.org>

Acked-by: Jan Beulich <jbeulich@suse.com>
(In case such is needed at all for things like this.)

Thanks, Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 09:21:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 09:21:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258036.443887 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9OCi-0000Bz-Oi; Mon, 17 Jan 2022 09:21:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258036.443887; Mon, 17 Jan 2022 09:21:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9OCi-0000Bs-Kg; Mon, 17 Jan 2022 09:21:32 +0000
Received: by outflank-mailman (input) for mailman id 258036;
 Mon, 17 Jan 2022 09:21:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ZUQe=SB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9OCh-0000Bl-QN
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 09:21:31 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id da57ad70-7776-11ec-a115-11989b9578b4;
 Mon, 17 Jan 2022 10:21:29 +0100 (CET)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2051.outbound.protection.outlook.com [104.47.14.51]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-22-t6nVw-r0M3OlJ8p1EU7k1Q-1; Mon, 17 Jan 2022 10:21:29 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DBAPR04MB7415.eurprd04.prod.outlook.com (2603:10a6:10:1aa::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Mon, 17 Jan
 2022 09:21:27 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.013; Mon, 17 Jan 2022
 09:21:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: da57ad70-7776-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642411290;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=UtlGm62QK5vvDPWCoiY8kMh8X5NyeROfuxabHiFCQOQ=;
	b=C8VX6cHUS7WE3K7O44tkYdK/ZWOkh3lguBxjl1JVVXMvsbqT1HU+mYFelGjYsYjrRKzxLZ
	sLq7EOWKiNy2yLHa/1PqiC3wXaROQFBjWAy+MECGww0dYCaOZxBCX1o/2bwWAQfLBaN9cq
	fsf2+m3HErtYQD9DCGZvJIlVy4S9BMc=
X-MC-Unique: t6nVw-r0M3OlJ8p1EU7k1Q-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=k5XZ1y4CklqnhRGdrLRmYVaWZfevu91IA/U3xI2wOKbkxkUSt7M08zO4ovwNSvuMbNJNWFzfiD0zCZyTKMoIDLNBE3QSsVY1IUtZEFqtoPgn8eGRX3K/8HlvIz0dEsrfmOqIX5pRU2l3PYq7aQBSvB7U9I4XE05ySDt6Zxt0gtDFLJKdz4GLNwltL9mDZghizpSG5B6qaNJacclOS75qfZtKYE4ixReKtbc7Yp9ESEbTM/b2medTituBlkUSLTQe5CaueCddkbxgh90Cx891nbfqcsQqAk/Af5A3UYkbMSyPzupJKmkgw4fXvwjsCV5x83tIhEW0G3oxfutmz8vGtQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=41x0D36Ab8/5Xyue/wcP6Z2ttVGUR5sCaCBD/lWC4PE=;
 b=E6yZ5buD9EhJnVULp3ig97bHC+zPRl/3N2GMdUXnNWSqnPeVj6CCaT7VnCPn02yLn/XXJcveki3n7YGycV7netU1qsx0wY/ItvhQFfYOglvmneUj6mqNM9Uha5k6vvClJudgxYBQkz1imkShO+1u0z+vx4eIpyv1NJ9zH5tK1rMsbNJgcYv+zYBDtJGxTbkzOH1Xkd/mXd0ucEEZRz8Jtfm+BZ9jylsoEorHLkxzJNPWUH6oY6dmU9t8ssUZMEHa2maSC+jDnKBemnFoEGgs+S251jYE4d1BoA5MgLkrqxgI5huNqsAZpVylgVg5LXHrHbBKxvFUi3wo3w6wNYIekA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <02bec1da-9ea8-3bca-519c-855332eedde1@suse.com>
Date: Mon, 17 Jan 2022 10:21:25 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 3/3] x86/spec-ctrl: Fix NMI race condition with VT-x
 MSR_SPEC_CTRL handling
Content-Language: en-US
To: Andrew Cooper <amc96@srcf.net>, Andrew Cooper <andrew.cooper3@citrix.com>
CC: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
 Kevin Tian <kevin.tian@intel.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220113163833.3831-1-andrew.cooper3@citrix.com>
 <20220113163833.3831-4-andrew.cooper3@citrix.com>
 <0745653b-6525-a7ba-f6c8-b47838559db2@srcf.net>
 <76f9d499-fabe-5d90-d769-bbd86ae421f8@srcf.net>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <76f9d499-fabe-5d90-d769-bbd86ae421f8@srcf.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS8PR07CA0016.eurprd07.prod.outlook.com
 (2603:10a6:20b:451::16) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 52f05718-3ef2-4fb2-7ba0-08d9d99abd06
X-MS-TrafficTypeDiagnostic: DBAPR04MB7415:EE_
X-Microsoft-Antispam-PRVS:
	<DBAPR04MB7415F46E682DCE8F1D40A80CB3579@DBAPR04MB7415.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:
	mXqUk42qK1hwXVjAsP9EVJJd661D9IUKhoSUiaR9DB0i50svoG1Yeihqj8fDvv74RHGb60X5XNvB7evJta6yhdc5u3+5p85QDDjPhkv7FDBoJYhF6wZD8vaNtU+GJ7Qi17AoPvSLBsTpWaixN8aGV0NbDM+0R65XJ66xE4YLczFXHCWiuWLg/i9GEVYtqG3lWhTlS4NHTaWcs+tOkftr/nMVk72d/GxwNC2BUKKcn8JEV95fly3s1TEYPMzcmfZmDH9WYRl7ge2TPts+TR+mxZy8au8vPM9JGEoVpTYLm27tnH3ViPww9FGj1jiOVxWVfcPbK4OyETSuGXA0orRLE6nJ4TvEpRmE23b6Nw5xzLJ8+zp1ATXS4nhVr6mVuT9IBZNpCsCJz1dbsUTwgA3UHc0hyVO0yHnaU3SRErroGZzwr5W0/de/S+qJ4KQXOSRkDGcLRHZBV9LHsRtjlOoJmD0RqgDrQy0ghjaFBD5XV3PA8ZBHDvEd7mMe68kxSZnxGTw7Nk4xZpkS6qDCptLt2jTVNfbWR7syhvQeLe4Dhf2Uk3Laxt9iViKeWiiD8FQNH/IIar36eweWY2b7YVCxnGkwJjglvXShbpqUZqQ+Z+z3NrXtmZoIjMV1um1ZbHxRhLHvVNk1kuM6q0RJ5hJiwBS4Ym1vf9rFN9lyFlbTifG0YRNkeCDRwutlHF1Yqni4krqAgGzvyu/1YyH8wf0p+abaE610eF8x71paiyR0i+4=
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)(6512007)(53546011)(66556008)(31696002)(2906002)(186003)(66476007)(316002)(66946007)(83380400001)(6506007)(2616005)(4326008)(86362001)(508600001)(110136005)(8676002)(5660300002)(8936002)(38100700002)(6486002)(36756003)(31686004)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?xI6EHqQcyQcvqudURR45RkIEMYPo/QIF5ogtq+a4aswk0xeW1hyOdbCOc/fT?=
 =?us-ascii?Q?imjxGhrnNzJhQfGNNekeOeZDSvNgmTHQBSVc+MnQqFrBsnULvIDmEqupcLy9?=
 =?us-ascii?Q?p2tOkCgzuFPd1A8E8Rb0cOKGk+rzdckloBQ+5r7RU431SEp88TmMbWSF6VeF?=
 =?us-ascii?Q?hsOGcBz8KAgOOb5BVW5Vny41rnrpc8+K29c8Em8iDov1eR8L4w5D05pNklsa?=
 =?us-ascii?Q?u1jvOEzATnvphisq/uuFm7rg9iqrgqcJ/HHKAjBARGDA+1YxImUFGdm6DAg+?=
 =?us-ascii?Q?iLSwuN5092Pdl340KwLY+1694XoFhRrjwthFO/pyv4DxbkNVna4/43SsXoGO?=
 =?us-ascii?Q?8GrJD9LImchIdGYB8GuoLJRjK7vHWHuUQ50xygm0AQN0qh9pmfmvLRnIFke9?=
 =?us-ascii?Q?5FY3l2c/o8jk0pPhb9eOd97GrApwgwPN9AFK3OyoXcwvl3ljRILMkGN1Y8dZ?=
 =?us-ascii?Q?hZWwEVY2Z+NgXGQm2Ov0I9YdI2BzmyalZrzk5hd+TfHkFsW2He/GxjFErU6A?=
 =?us-ascii?Q?WsawJZXOdtbJg3bxj9Ufjl+o0PR48m71bvCBuquUS2/5qM+bnhlelJMnwuZb?=
 =?us-ascii?Q?89U8p7PtVZyBnF0xhFg+oBe+EUFZgipI987cGMChXS9sp+95NqTxiou3aPJ4?=
 =?us-ascii?Q?sH2Z6aA/UpPBUAOwF6SRsNdG9G2coj8BMCsm25Rf5wFai8sDipzcNGIt4Klr?=
 =?us-ascii?Q?FDX6WpKbgai74Gvqd/uA93WAh7qg3+YGqNz1vyOkMlr8HGLMmipF9IxIKK7h?=
 =?us-ascii?Q?AwLUtkMnWy8whwp+WSLFeh1o+SahFDJFhPLYesbc+87b2zOopPcP6NNlD43B?=
 =?us-ascii?Q?YxBwBczf5fu2giBnFARk1Od62DuA/TQf1Jh00xEIIv9GL8yBFGYKLXKDld+w?=
 =?us-ascii?Q?NbG2vYbJbdzZe33v68IjtmkW5iL59FcY/K+3YstiueLNW9eeTe+kRRvh8ryo?=
 =?us-ascii?Q?M74P5Gya1e0GlBlNJXBztYiG0bzYpUtoB80tDlZkJFrw/wxtavZ9AnT7Sd0n?=
 =?us-ascii?Q?Nv/1HMD3p+I5WVF1AbR08+pCww74AHDVPD0r222JLYMG23rASbJBgXUwfxxx?=
 =?us-ascii?Q?z63FSZx5YtQI+cImhuQEf2DyElyWhwRyJvT7YUNLswtEvyzskxkmW16OFXLV?=
 =?us-ascii?Q?VFuJ8kygyY1PPjGr+c8Vkfs0BAukVnvvgX49S4wXDIWdBlvAm5s7JlXlDwj+?=
 =?us-ascii?Q?zmYu2UB2sxY/GDLSfx8a23q8QK2L6PXb/MLF0B8i8cOImRA7RGg3RrcFfVTU?=
 =?us-ascii?Q?aK2UpRnxdIelzLlYBnvBCiMbEu/n9sOqNe98men+gjJz54bSZ6LECz78azu+?=
 =?us-ascii?Q?NgyRjweXKO/v3QsFwvayrdOkK0buOuUEtVlTlcUnc3Z6JEhSw1rdg1JPJxJm?=
 =?us-ascii?Q?Yk2KPXXAhRePcF4U3Kw68scTanoADQ8osuIVjGW48lsb2c6KdM7wwuZNY7xn?=
 =?us-ascii?Q?yY5VoRroUeP1gBtoYU+LMBXbv03hLRhXXa7ZMvjCSuvWuQyFI6WCY0kvfNRn?=
 =?us-ascii?Q?I+BgtT30dHmfeh2Ow0ehH32LsFfLmd6A4Xxwx8cx8OoM9DDQwlkRLeuiSAM6?=
 =?us-ascii?Q?dybbJQS88zmY6eJTz+Aovamk0ZKLUxwqFXYdWq8r5j3gmoCEBzDrWigK6Gy1?=
 =?us-ascii?Q?rgKK3xL2Q7LYilVCvGOoXvA=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 52f05718-3ef2-4fb2-7ba0-08d9d99abd06
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2022 09:21:27.0774
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lhCW8fQOG6UwCwZm02vwqfNL1QNK86DUoYHzGaIG/nrEVRpFm6q+C3ZaQvsxJ/sEgKA9MKdshF4PMqwXSANH1A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7415

On 14.01.2022 15:41, Andrew Cooper wrote:
> On 14/01/2022 14:14, Andrew Cooper wrote:
>> On 13/01/2022 16:38, Andrew Cooper wrote:
>>> The logic was based on a mistaken understanding of how NMI blocking on =
vmexit
>>> works.  NMIs are only blocked for EXIT_REASON_NMI, and not for general =
exits.
>>> Therefore, an NMI can in general hit early in the vmx_asm_vmexit_handle=
r path,
>>> and the guest's value will be clobbered before it is saved.
>>>
>>> Switch to using MSR load/save lists.  This causes the guest value to be=
 saved
>>> atomically with respect to NMIs/MCEs/etc.
>>>
>>> First, update vmx_cpuid_policy_changed() to configure the load/save lis=
ts at
>>> the same time as configuring the intercepts.  This function is always u=
sed in
>>> remote context, so extend the vmx_vmcs_{enter,exit}() block to cover th=
e whole
>>> function, rather than having multiple remote acquisitions of the same V=
MCS.
>>>
>>> vmx_add_guest_msr() can fail, but only in ways which are entirely fatal=
 to the
>>> guest, so handle failures using domain_crash().  vmx_del_msr() can fail=
 with
>>> -ESRCH but we don't matter, and this path will be taken during domain c=
reate
>>> on a system lacking IBRSB.
>>>
>>> Second, update vmx_msr_{read,write}_intercept() to use the load/save li=
sts
>>> rather than vcpu_msrs, and update the comment to describe the new state
>>> location.
>>>
>>> Finally, adjust the entry/exit asm.  Drop DO_SPEC_CTRL_ENTRY_FROM_HVM
>>> entirely, and use a shorter code sequence to simply reload Xen's settin=
g from
>>> the top-of-stack block.
>>>
>>> Because the guest values are loaded/saved atomically, we do not need to=
 use
>>> the shadowing logic to cope with late NMIs/etc, so we can omit
>>> DO_SPEC_CTRL_EXIT_TO_GUEST entirely and VMRESUME/VMLAUNCH with Xen's va=
lue in
>>> context.  Furthermore, we can drop the SPEC_CTRL_ENTRY_FROM_PV too, as =
there's
>>> no need to switch back to Xen's context on an early failure.
>>>
>>> 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: Jun Nakajima <jun.nakajima@intel.com>
>>> CC: Kevin Tian <kevin.tian@intel.com>
>>>
>>> Needs backporting as far as people can tolerate.
>>>
>>> If the entry/exit logic were in C, I'd ASSERT() that shadow tracking is=
 off,
>>> but this is awkard to arrange in asm.
>> Actually, it's just occurred to me that an ASSERT is actually quite easy
>> here.=C2=A0 I'm proposing this additional delta (totally untested).
>>
>> diff --git a/xen/arch/x86/hvm/vmx/entry.S b/xen/arch/x86/hvm/vmx/entry.S
>> index 297ed8685126..f569c3259b32 100644
>> --- a/xen/arch/x86/hvm/vmx/entry.S
>> +++ b/xen/arch/x86/hvm/vmx/entry.S
>> @@ -41,6 +41,13 @@ ENTRY(vmx_asm_vmexit_handler)
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 movzbl CPUINFO_xen_spec_ctrl(%rsp), %eax
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 xor=C2=A0=C2=A0=C2=A0 %edx, %edx
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 wrmsr
>> +
>> +#ifdef CONFIG_DEBUG
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 test=
b $SCF_use_shadow, CPUINFO_spec_ctrl_flags(%rsp)
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 jz 1=
f
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ASSE=
RT_FAILED("MSR_SPEC_CTRL shadowing active")
>> +1:
>> +#endif
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 .endm
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ALTERNATIVE "", restore=
_spec_ctrl, X86_FEATURE_SC_MSR_HVM
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* WARNING! `ret`, `cal=
l *`, `jmp *` not safe before this point. */
>=20
> Irritatingly this doesn't work, because the metadata associated with the
> ud2 instruction is tied to the compiled position in
> .altinstr_replacement, not the runtime position after alternatives have r=
un.

Could we have the macro "return" ZF, leaving it to the invocation
site of the macro to act on it? ALTERNATIVE's first argument could
easily be "xor %reg, %reg" to set ZF without much other overhead.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 09:49:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 09:49:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258039.443898 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9OdO-0002gv-0x; Mon, 17 Jan 2022 09:49:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258039.443898; Mon, 17 Jan 2022 09:49:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9OdN-0002go-Tu; Mon, 17 Jan 2022 09:49:05 +0000
Received: by outflank-mailman (input) for mailman id 258039;
 Mon, 17 Jan 2022 09:49:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TAtW=SB=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n9OdM-0002gi-JI
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 09:49:04 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b1fa4dfa-777a-11ec-9bbc-9dff3e4ee8c5;
 Mon, 17 Jan 2022 10:49:01 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b1fa4dfa-777a-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642412941;
  h=from:to:cc:subject:date:message-id:
   content-transfer-encoding:mime-version;
  bh=FHga6QLtp6Qqg+MNoEEFLDgBVnQdz+4xyJu2bcqn3rU=;
  b=QQi9Uwd8XlQzW7lQk5cgeq/8P83DDX5h6ZpQc7+l8+hhbNveo0evwu3e
   Eh/YUoTy8GzsgULknzEDTjQZOfK6uj/Ec0B9QCMMisJ8OZCCXIjUI9D5g
   09LCgMwTY8lFgoJKUdSbOgLvphPSaz2A4umd2YL1ZndtarE1omUg3WSXX
   c=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: nhLzeuLLWpwfSw+IzBuaRByy6tJDO1wCO7HXnnyN5Ml5MxYiTghhsICYX3l95+Xb/PfqKHbNhx
 bsGuHIIsSnspnMjlUdx+ESUcikY47Pfet3hhimGEz8V3HU5jcx2IAPCUdXhC/I0VeuWuL5dTxX
 xCyCia8JQWxsaeEoDb+miBVfGi8th8QRk2fHF+LYAeS7FrMB3HDTMqEFchtJfnzato5t/sk6+E
 qLB/oi87Ep8MTaui+YOUNQK22fukF7COdm8pz6ORjXEtGeG+Y0uNzvYej+CkbXK3w3123XwEPt
 p/ZUZmHY0VwG3eA3L9xD32FK
X-SBRS: 5.2
X-MesageID: 61616882
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:P2f5Uaw4OJzmPhmW5Ht6t+fHwSrEfRIJ4+MujC+fZmUNrF6WrkUPy
 msaWjjQP/eIMzfzctB1YNy+8E8O7ZPdn9ZqTQE4+CAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnvopW1TYhSEUOZugH9IQM8aZfHAhLeNYYH1500g7wrdm2tcAbeWRWGthh
 /uj+6UzB3f9s9JEGjp8B3Wr8U4HUFza4Vv0j3RmDRx5lAa2e0o9VfrzEZqZPXrgKrS4K8bhL
 wr1IBNVyUuCl/slIovNfr8W6STmSJaKVeSFoiI+t6RPHnGuD8H9u0o2HKN0VKtZt9mGt9NLz
 dFhm76pchUkb/PTwbQeQyZWCD4raMWq+JefSZS+mcmazkmAeHrw2fR+SkoxOOX0+M4uXzsIr
 6ZBbmlQMFbT3Ipaw5riIgVort4kI8TxepsWp1lrzC3DDOZgSpfGK0nPzYEBgm5u1pAUdRrYT
 5o1YDhLPCTJWR5eYFIeM7lnlua2r3aqJlW0r3rK/PFqsgA/1jdZ0rf3N8HOUseXXsgTlUGdz
 krE9WnkBhARNPSE1CGItHmrg4fnjS79HY4fCrC83vprm0GIgHweDgUMUlm2quX/jVSxM/pAL
 2QE9yxoqrI9nHFHVfGkAUf++iTd+EdBBZwASIXW9T1h1ILX2QOdKkYmVwVTZY14q5ZmRiwV2
 ESWyoaB6SNUjJWZTneU97GxpDy0ODQIIWJqWRLoXTfp8PG4/tht00unosJLVffs04arQW2YL
 yWi9XBm390uYdg3O7JXFLwtqxalvdD3QwE8/W07tUr1v1oiNOZJi2FFgGU3DMqszq7EFDFtX
 1BewqByCdzi67nXzkRhp81XTdmUCw6tamG0vLKWN8BJG86R03CiZ5tMxzp1OV1kNM0JERewP
 hOJ4l4Bv88PYCX6BUOSX25XI553pUQHPY60Ps04k/IUOsQhHON51HwGibGsM5DFzxF3zPBX1
 WazesewF3cKYZmLPxLtL9rxJYQDn3hkrUuKHMiT503+jdK2OSDJIZ9YbgrmRr1pvcus/VSOm
 /4CZpTi9vmqeLCkCsUh2dRNfQliwLlSLc2elvG7gcbYc1U2Qz9wWqaBqV7jEqQ895loei7z1
 ijVcmdTyUblhG2BLgOPa3t5b6joU4o5pnU+VRHA937xs5T6SYrwvqoZabUterwrqL5qwfJuF
 qFXcMScGPVfDD/A/m1FP5X6qYVjcjWthB6PYHX5MGRuIcY4Slyb4MLgcyvu6DIKUni9u/whr
 uDyzQjcW5cCGVhvVZ6EdPK1wlqtlnEBg+YuDVDQK9xedRy0oohnIiD8lNEtJMQIJUmRzzeWz
 V/OUxwZufPMs8k+99yQ3fKIqIKgEu1fGEtGHjaEsebqZHeCpmf6mN1OSueFezzZRVjYwqT6a
 LUH1ez4Pd0GgE1O79h2HYF0wP9s/NDovbJbkFhpRS2Zc1SxB7p8CXCaxs0T5LZVz7pUtAbqC
 EKC/t5WZeeANM//SQNDIQMkaqKI1O0OmymU5vMweR2o6Chy9buBcENTIxjT13ANcOoraNsok
 bU7pcobyw2jkR57YN+Jgxdd+3mIMnFdAb4ssYsXAdOzhwcmor2YjUcw1sMiDEmzVuhx
IronPort-HdrOrdr: A9a23:VkMkcaO+NZfdksBcTy3155DYdb4zR+YMi2TDiHofdfUFSKClfp
 6V8cjztSWUtN4QMEtQ/exoX5PwO080lKQFmrX5WI3NYOCIghrPEGgP1/qB/9SCIVyAygc+79
 YYT0EWMrSZZjIb/KXHCWGDYqodKbK8gceVbInlvhJQpVYAUdAc0+41MHfTLmRGAC19QbYpHp
 uV4cRK4xKmZHQsd8y+Ql0IRfLKqdHnnI/vJUduPW9t1CC+yReTrJLqGRmR2RkTFxtJ3LcZ6G
 DA1yj0/L+qvf2XwgLVk0XT85NVst38zcYrPr3FtuElbhHXziq4boVoXLOP+BgzveGU8V4v1O
 LBph8xVv4Dn0/5TyWQm1/AygPg2DEh5zvJ0lmDm0bupsT/WXYTF9dBrZgxSGqU12MQ+PVHlI
 5b1WOQsJRaSTnamj7m2tTOXxZ20mKpvHsZl/IJhXA3a/pSVFZol/1QwKppKuZAIMqjg7pXUN
 WGTfusrsq+SGnqIEww5QJUsZ+RtndaJGbyfqFNgL3W79FspgEJ86Iv/r1sop4xzuNCd3B63Z
 W1Dk0RrsA3ciY3V9MLOA5Te7rANoTyKSi8Q156Z26XUZ06Bw==
X-IronPort-AV: E=Sophos;i="5.88,295,1635220800"; 
   d="scan'208";a="61616882"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cIvv/bwwvTP9kCe+5dKlLHmeRDPvIGPd2acuWjZxKsPPXVMVzwzPk/iM5Kd/FiPxulQKKXMrZXZcTY8BGitdDyby6qGrgwAr47ciTRgU/bSoNs1lpbGY7CLo/Z5MqXIn0/NI2RGAQD5p7mluDN097hEjGi8pDQ39hWmrz7pfLwVootnHZ0Xms+zWccPHc22LtaWensuvHVoptdONROy2ay4THlUcAmWc0qKf1qAcElqM1yxhbZocE4phJdBvQkBYcjRJ+bQYBslqbPUPlDwy7Cs377DCgv8UYS86qTlAXUY3IvBrsRfDxoBvxhaZXZ9fTNXr8HLShqUi1Na5bktRWg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9jPFzw4t+/chj9LsEJJtqma0zil4BQfocNH78tOpUow=;
 b=Z+WKQts4cAT8qI9qDK8b8SOqPVHCP4k9P/kea1MdShHiDlyugsZN2bxpt+UXzmH7iKwcDuOWrlpPNEwQpIknKA0EfFpxMyppRYDRtKxCtQCCxRux3PlNQzqFo8cK1WvaEYf4mnn0E0BWhRXBSms2Nad1mr9vb2rUK8C+oNAhdkCugExPaqT3CsZsjqFqCByXISkxApGYC8/kxhNN6EjIR3ldaNc3Po4rQchgdvpUXDuqrflHY/OxopDhQj3gkykTcycKAly7I7ke2FV8EvdBvxDbPvaanoXCKNMjmv+PGR6kOT2f6OXkIRBJX78hbv1UdqY0v9VPF1lskICBNuH2Cg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9jPFzw4t+/chj9LsEJJtqma0zil4BQfocNH78tOpUow=;
 b=UQ9ChEUX/dhDk/5wf6EB80ap9uxvcWJEnHOJo8ryV5A4Wd8ZSiFk4kxjU7iLyeWizHTWiDy6I9hMVeEVe0XUbACkbdZwRWxgQJmlmc57OAKg7oHVpYy/Nu6DZ+svUXgV2xsjTuIKzech7Hlvh6ms2dJPk7elnliRWnpVL9OZgs0=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Anthony
 PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, Jan
 Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v6 00/12] libs/guest: new CPUID/MSR interface
Date: Mon, 17 Jan 2022 10:48:15 +0100
Message-ID: <20220117094827.16756-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MR1P264CA0055.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:3e::16) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 255e38dd-5d7e-43b0-2229-08d9d99e9430
X-MS-TrafficTypeDiagnostic: DM6PR03MB4059:EE_
X-Microsoft-Antispam-PRVS: <DM6PR03MB40598CBBA760F1A80B71903C8F579@DM6PR03MB4059.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: 30/zElRhqjTaJydsu7aCWz6KptMyH3k91ki02kwfLKCSY3+A5UxmsFx0IP4Szx2ptbxzab4iBRtT/ET0qKg1eXz06nwAPBQWyLmPNNWEIKF+Wds2Y3pGQEUSJ/1Cm9fsW1VLs/JiuxS9eFHxxz2pgVu7YNAP/fk/mqYz4Wfio67QJb0wgeu8nwzquYtptFS0njtLsmAiFUTPZ63GjyqXkYmj3fzD9xx8XSeLVMdXPKRdYEj+3l2+n7QF4UIYi2pgerBALT7tlYcdAqUDk7SA0lpk0WtEOPIRXWmdv5UDkzfbaR8GKTQHYQjuwywDGMDsa1hIE0fGL3JVynK4SJLUkZ/l7JRBHBhaWy65UM1yAKmgdmg1KABqSb2NygUH6OV9yFfbE7c8eMB2D3ErFVNCdS6EFj9Tpt4k9xK4uOJHao+LAcG56ONnzOobdoyoSidaarXXexCtLrxu9FuL50C3MWO0wZxRGpL/LFQ1rYAjW25KD4jUFD+blIxTehCiHmABdtzrIarT8/PJxjifcvB6V/i9kOdUg8vYJzZmxxy/Dl7UZcUJOsTfZfF0JeI1QwLQ49OrvhfE1clKKftKPFYigHL+1SGQT5aPWkSnh/Zl2akMaZroWbPbvlFoN7WBDLFLHLe9X3y1SpN8CmCJyIgv4w==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(4326008)(107886003)(6512007)(8936002)(186003)(36756003)(6506007)(316002)(83380400001)(38100700002)(6486002)(26005)(6916009)(86362001)(6666004)(8676002)(54906003)(2616005)(82960400001)(2906002)(5660300002)(66946007)(66556008)(66476007)(1076003)(508600001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?di9FbkhDc2J6U2k4bEVYakliNEErTFFYYVh1UWFVUHlxZVQyMU5wVVdXVERm?=
 =?utf-8?B?clJtdVFmdVhNN3VUc1RleUV3U1VLMnhvZ1YzMEVJQm15aGFzNWtnVXZwN3Iz?=
 =?utf-8?B?MEsvNVVwNmxCYXBIWW52UjRQWG9Ua1IwenZGWEVMMHpKTTEvdmRXL1JRcTYr?=
 =?utf-8?B?ckJRaktEUnFzVlI0RzlGN3JCQTJuL1UvSzl0SzZJeUxXbnZIUEtHeDdOK2dM?=
 =?utf-8?B?MjJhT2NGVnpkRENjK3JkbjRtSCs4d0ZtK0dPMjhKK0Jta052Mlltb3hDUXV2?=
 =?utf-8?B?VXdKcU4wa1VnWTk4N2ZleEpSYS9sT3FHL0pwNk1qYzVUQVdjUzYxdkVFRTBz?=
 =?utf-8?B?Y0J3eDFDcXhBbmxROCtkZ0Z6cmg0bjY0MnVxYXMxSEhWazM4OUhRZ3JwTE5u?=
 =?utf-8?B?OEI4Q0hDa2lvclFTbHhyYWZCOFdxVnlDVVo4MkowdmwwMkd3ZTBLMGMwQVRm?=
 =?utf-8?B?bzNMeFMyLzhNYzV2SVI3NDUwenFXbmpRUGpLTXJxSTMxa3RBVzJKQ3NNSWE3?=
 =?utf-8?B?ejlrY2FyTlMwUEREcGFGMi80dHNDK2VKOGt6d3F1bDQ2ZFROdkp4dVRabGQ2?=
 =?utf-8?B?SFNVdTRPYUxqUlRIb0JiK2pic2VhYVFlZFRqU3p3aEtqTklQa0pBYis4TlBT?=
 =?utf-8?B?a1JnUVdoT2FFU3FUMWNVa1NYUGxSY3Fpc0cxLzBabDZjc05IUjBkRmd0MnB4?=
 =?utf-8?B?T2llRC9Sd2JoMFNOZWdiSmE0TXFRaG8zOSt5WWVza3lDM1o2aGtvS2t0S1ZH?=
 =?utf-8?B?Qm5wcXlwUXFKblRwSU0yVG1EWlYyTlRxblNHZXF5QUxzZTVzV0dZK2NkaGli?=
 =?utf-8?B?Q0hqckdRbFlOalpjd2dFVnN3SWdKUDhtZC95Syt3QUlsb2VEUVBvMHRQMGV0?=
 =?utf-8?B?OGJUbjZVL0kxYmFUZFR0QUdad2ZrT3dYWGh2VGRwbXJGeVZzNlM1akEyNGd1?=
 =?utf-8?B?RDgxNTYxR3BaSmtvRmNtTkVOSzhTQmRqYnpLZDArRU05OGVENkFzckJMeEZq?=
 =?utf-8?B?dnhwREI0aWJTdWJrUGtlcnVhazlOVVgyY2hKQmVQdmlJQXV6dGJnU0dCYjhQ?=
 =?utf-8?B?bnFuZFZvUE1BZmZ2YVpuSW1yd0Z4bVFzSW9XbFdSS3NleUJsNXo4dU41RGlJ?=
 =?utf-8?B?S0FwZEV2WVgzSkhDVHlIQjRQck5qeWRyRGhRVTVZbDhKK2h0d3BIL0lvUGxM?=
 =?utf-8?B?OVRuSmtzbXFiOTkwcEYrM2xYdmtObURUN1pPWDc4bFcwYWU0M21lMFo0U0Mv?=
 =?utf-8?B?VnM2bVBlR2lvY1RZc3pMcGVQN2h0b3dDY0VhNmw3TkQvU1lNd0tQYlQvaDd6?=
 =?utf-8?B?UWV3RG5BeDd2UVh6OU9RVUhReWFFT3IxSDRMTFpPNHNVbFhjZjM4aTVieCs1?=
 =?utf-8?B?TzFVVUtmczRDSkRLRjl1Ri8wbnorY2JZQTBCNHBHSkgxTnZRbEI5cU5zeVRa?=
 =?utf-8?B?eCszRWUzamcyNk90Q21Tbk9jeFVFMERORWVMdHlMZjlMRDRydGZETVN0d1RB?=
 =?utf-8?B?UVd6Z0g3WVU2alNqM1lWQkpUNllWVjEzNUNqenFEa2tBYlZqYkQxeUR5VWxC?=
 =?utf-8?B?cDQ2d1pRelhMRmFRR1JIY0sxZHFSSXpiejdtdEY4UW5ETnFFTXVZUjM1OFBI?=
 =?utf-8?B?YmFFeE12NVVVY2UyeTc4bmNHMzhudmx4S0dnTy9BK3ExcW5BRFJiaVk1MjA5?=
 =?utf-8?B?aWc5T1dxM1hCellBajhkT2dzMGo5N0JPcVoxdkNVTGpPM1hrUFprUzBoNzND?=
 =?utf-8?B?eFpWakxXRitONENyTWM1alRnenBCcytkUUp4QzZnb0p6RGdiMitMbUpOYmlG?=
 =?utf-8?B?Z1NET3ZETmRFSCttZlIvYWlLN2tIYW80Q2pCQ1hZNEIyMy9QQUVRd09kanpP?=
 =?utf-8?B?UmJoNTVMWmNPZ3pUcXR3V01ZdGhCTDNKTGRkSHpkUWlENThrWlRma3dNRmlq?=
 =?utf-8?B?ejRLNHFEeUkvZjArWHljVkNMV2JGaDQ2VUpYMWY5UHpreWpkNzRJNmt1aVpt?=
 =?utf-8?B?bzZ5TUZ2cGZmRkw1cmtLbGN4SlhOV21JQ2IxQ1JZMGlMYjVUSU0xTi9ENGEy?=
 =?utf-8?B?YklTaWVObStxUEo1YTVCYnpLSVljanJEd1lwMjd1TjZOVWY4a0FQVlZ1UEtM?=
 =?utf-8?B?dHJZS1kwZ2pQMjRobmhGVzdsVmN4QkZENDEvOElKQThOdzVLNlZaSWdCcXZn?=
 =?utf-8?Q?glq9CivF30KqXDIYPuw/Xsw=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 255e38dd-5d7e-43b0-2229-08d9d99e9430
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2022 09:48:56.6065
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: r6ttpp9u8KALbGhJ9ZP8zZ5UdCGAAxMooHKG57M5jEv6D7bRecH8yzDawVefw/+c/rBzYBr+qD5IhMO38ppvQQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4059
X-OriginatorOrg: citrix.com

Hello,

The following series introduces a new CPUID/MSR interface for the
xenguest library. Such interface handles both CPUID and MSRs using the
same opaque object, and provides some helpers for the user to peek or
modify such data without exposing the backing type. This is useful for
future development as CPUID and MSRs are closely related, so it makes
handling those much easier if they are inside the same object (ie: a
change to a CPUID bit might expose or hide an MSR).

In this patch series libxl and other in tree users have been switched to
use the new interface, so it shouldn't result in any functional change
from a user point of view.

Note there are still some missing pieces likely. The way to modify CPUID
data is not ideal, as it requires fetching a leaf and modifying it
directly. We might want some kind of interface in order to set specific
CPUID features more easily, but that's to be discussed, and would be
done as a follow up series.

The addition of a helper to generate compatible policies given two
inputs has been removed from this iteration, sine Andrew Cooper has
posted a patch to set the foundation for that, and further work should
be done against that baseline.

Thanks, Roger.

Jan Beulich (1):
  x86/CPUID: shrink max_{,sub}leaf fields according to actual leaf
    contents

Roger Pau Monne (11):
  libs/guest: move cpu policy related prototypes to xenguest.h
  libx86: introduce helper to fetch cpuid leaf
  libs/guest: allow fetching a specific CPUID leaf from a cpu policy
  libx86: introduce helper to fetch msr entry
  libs/guest: allow fetching a specific MSR entry from a cpu policy
  libs/guest: make a cpu policy compatible with older Xen versions
  libs/guest: introduce helper set cpu topology in cpu policy
  libs/guest: rework xc_cpuid_xend_policy
  libs/guest: apply a featureset into a cpu policy
  libs/{light,guest}: implement xc_cpuid_apply_policy in libxl
  libs/guest: (re)move xc_cpu_policy_apply_cpuid

 tools/include/libxl.h                    |   6 +-
 tools/include/xenctrl.h                  |  99 ----
 tools/include/xenguest.h                 |  77 +++
 tools/libs/ctrl/xc_bitops.h              |   6 +-
 tools/libs/guest/xg_cpuid_x86.c          | 645 ++++++++---------------
 tools/libs/guest/xg_private.h            |   1 +
 tools/libs/light/libxl_cpuid.c           | 233 +++++++-
 tools/libs/light/libxl_internal.h        |  26 +
 tools/misc/xen-cpuid.c                   |   1 +
 tools/tests/cpu-policy/test-cpu-policy.c | 224 +++++++-
 xen/arch/x86/cpuid.c                     |  55 +-
 xen/include/xen/lib/x86/cpuid.h          |  26 +
 xen/include/xen/lib/x86/msr.h            |  20 +-
 xen/lib/x86/cpuid.c                      |  91 ++++
 xen/lib/x86/msr.c                        |  41 +-
 15 files changed, 946 insertions(+), 605 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 09:49:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 09:49:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258040.443909 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9OdU-0002yA-CN; Mon, 17 Jan 2022 09:49:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258040.443909; Mon, 17 Jan 2022 09:49: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 1n9OdU-0002y3-99; Mon, 17 Jan 2022 09:49:12 +0000
Received: by outflank-mailman (input) for mailman id 258040;
 Mon, 17 Jan 2022 09:49:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TAtW=SB=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n9OdS-0002gi-4E
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 09:49:10 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b5a3a174-777a-11ec-9bbc-9dff3e4ee8c5;
 Mon, 17 Jan 2022 10:49:08 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b5a3a174-777a-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642412948;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=Wz93ug/FPNJSgHXPaEs9gVh/zmqAvZ/KFxPj6vDe+ao=;
  b=c3eFca7SENnGcxUJl6mYnsnVdVag7f6rzADA1GQTyguJA4fw2SpWvRBQ
   CsuYpcBo6y8eKPrbHmGOT3WgY8JAWrHDLDjtXyi/UpZl+KNeAsauWnh96
   Ffk13+rLL4NtZc57uHVCjd0k3SYHPvyCrTKV0tGeksdMJw2FZCpzZui2I
   0=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: 5o9VWThEf+1PV3GDUJxGHRVgwlGC6ZpJGykn1vwhgo7MlQZ3CKrTnHeRvnBYyGQ8/YiNqg+vTM
 nKdobOkOIXBn/Be2hLblTfS9YBYkbYnEgDl0PxxDwAnILfeU34+Pb4qCw2ALsChwBYDdmQxeOb
 Wdl1yx8VYftfvsPc1GoDUHiTbcLGaOl+PEEIV3ngbn5Dfkp4KIxZFnG8KlU9qy8USGeoIxgR8i
 w3ekaaGO4tbwvTkcW2vzfSUSVlGYb6kCggp4+QLA/v3oz/oUcUs+AxJD2SJMaq086LLed0Xaak
 pleo2aqAoK/GR43hLY5zOcYG
X-SBRS: 5.2
X-MesageID: 62542542
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:Fn8hC617YdHbhtP7WvbD5SN2kn2cJEfYwER7XKvMYLTBsI5bp2AHy
 zNLXWmHb/yJNGWnKt1zO4mz9hxTsZSAn4ViSgJrpC1hF35El5HIVI+TRqvS04J+DSFhoGZPt
 Zh2hgzodZhsJpPkS5PE3oHJ9RGQ74nRLlbHILOCanAZqTNMEn9700o6wrFh2+aEvPDia++zk
 YKqyyHgEAfNNw5cagr4PIra9XuDFNyr0N8plgRWicJj5TcypFFMZH4rHomjLmOQf2VhNrXSq
 9Avbl2O1jixEx8FUrtJm1tgG6EAaua60QOm0hK6V0U+6/TrS+NbPqsTbZIhhUlrZzqhk+pbl
 +5Al5GJU11xLLXt2+IZcDB4KnQrVUFG0OevzXmXtMWSywvNcmf2wuUoB0YzVWEa0r8pWycUr
 6VecW1TKEDY7w616OvTpu1EnMMsIdOtJIoCknph0SvYHbAtRpWrr6Diu4UFgG1t2pom8fD2V
 epFeQFxbzr6fV5dFX0RUrYAme2lvyyqG9FfgA3M/vdmi4TJ9yRz36LqK8H9YcGRSINemUPwj
 mDM8nn9AxoaHMeC0jfD+XWp7sffkCW+VI8MGbmQ8v9xnEbV1mEVEAcRV1awvb++kEHWc81bA
 1wZ/Gwpt6dayaCwZoCjBVvi+ifC50NCHYoLewEn1O2T4qbuyVmiC0oJdyQbMM4+lYwwQR8D9
 mbcyrsFGgdTmLGSTHuc8JKdojWzJTUZIAc+WMMUcecWy4K9+d9u13ojWv4mSffo1YOtRVkc1
 hjT9HBm74j/m/LnwElSEbrvpzu37qbEQQcujuk8djL0t1gpDGJJimHB1LQ60RqiBNvDJrVil
 CJd8yR70AzoJcvX/MBqaL9cdIxFH97fbFXhbadHRvHNDQiF9X+5Zpx36zpjPkpvOctsUWa3P
 BWI5FMKtMMPYivCgUpLj2SZUZlCIU/IT4WNaxwpRoAWPsgZmPGvoUmCmnJ8L0iyyRNxwMnTy
 L+QcNq2DGZyNEiU5GHeegvp6pdynnpW7TqKHfjTlk37uZLDOiL9YepbYTOmM7BohIvZ8V692
 4sOaKO3J+B3DbeWjt//q9BDdDjn7BETWPjLliCgXrXSfVo9RjBwUq+5LHFIU9UNopm5X9zgp
 xmVckRZ1ED+lTvALwCLYWpkc7ThQdB0qndTAMDmFQ/AN6ELbdn94aEBWYEweLV7puVvweQtF
 6sOetmaA+QJQTPComxPYZ74pY1kVRKqmQPRYHb1PGlhJ8ZtF17T59vpXgrz7y1SXCC5gtQz/
 u+73QTBTJtdGwk7VJTKaOiixk+atGQGnL4gRFPBJ9ReIR2+8IVjJyHroOUwJsUAdUfKyjeAj
 l7EChYEv+jd5YQy9YCR16yDqo6oFcp4H1ZbQDaHverna3GC8zP6k4FaUeuOcTTMb0/O+f2vN
 bdP0vXxEPwbh1IW4YByJKlmkPAl7Nz1qr4Ekgk9RCfXb06mA69LK2Wd2ZUdrbVEw7JUtFfkW
 k+L/dUGa7yFNNm8TQwULQshKO+CyesVin/Z6vFseBf24yp+/bymV0ROPkbT1HwBfeUtaI51k
 /08vMM26hCkjkt4O9mLuSlY6mCQIyFSSK4grJwbXNfmhwdDJouuunAA5vsaOK2yVug=
IronPort-HdrOrdr: A9a23:dY0mHqsEvc3GeonfSLCBeGJ/7skC7oMji2hC6mlwRA09TyXGra
 +TdaUguSMc1gx9ZJhBo7G90KnpewK5yXcT2/hsAV7CZniahILMFu9fBOTZslvd8kHFh4xgPO
 JbAtND4b7LfClHZKTBkXCF+r8bqbHtmsDY5ts2jU0dNz2CA5sQkTuRYTzrdXGeKjM2YKbQQ/
 Gnl7V6TnebCD8qR/X+IkNAc/nIptXNmp6jSRkaByQ/4A3LqT+z8rb1HzWRwx9bClp0sPof2F
 mAtza8yrSosvm9xBOZ/2jP765OkN+k7tdYHsSDhuUcNz2poAe1Y4ZKXaGEoVkO0auSwWdvtO
 OJjwYrPsx15X+UVmapoSH10w2l6zoq42+K8y7vvVLT5ejCAB4qActIgoxUNjHD7VA7gd162K
 VXm0qEqpt+F3r77WrAzumNcysvulu/oHIkn+JWpWdYS5EiZLhYqpFa1F9JEa0HADnx5OkcYa
 ZT5fnnlbZrmG6hHjPkVjEF+q3vYp1zJGbLfqE6gL3V79AM90oJinfxx6Qk7wA9HdwGOt15Dt
 //Q9dVfYd1P7srhJJGdZc8qPSMex7wqGr3QRqvyHTcZeg60iH22tbKCItc3pDeRHVP9up0pK
 j8
X-IronPort-AV: E=Sophos;i="5.88,295,1635220800"; 
   d="scan'208";a="62542542"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MIXjQTnjJj8j+GsfBW6xiPZzMhIgTCW3uci0+7TtDmOa8qPT3UYU2q60pLBpI0pove6rwik6v+U2P9BLdKw5u45n2ncSmIhv52aZdq0DJdAfxEAGUkMRJKobZJs+aT1MJbysjEktQIDfpr030AUxrLeIhQ8bQWtgeitynUL0YtWFq9kBrIFE4AFC5ycxj/VCTQz6fqS6RnfnlcspYgzDDme3cb74Jtloo89KMuttNgEsIHhu6NN6G9WmAWgqjtjUiZZ6mxLcmDZXCtUJ3OcYuLIyAYPvf2nol3ldvHyafnBQZ+OXm18j7oQa4/Ffw8gOZITtxgv/oRbhRaKUCJhTgA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ayDbTDiZzC5P0TCfS6qraBUi+bw0MzhwKU7e6ofLrXs=;
 b=D+qY2k/FZ7zxsC0Y4ZZFgjN7bIfK6+pmEROzAVN34PEI0+lgAqnsJrI9PcHhgosOx73IX3tRQaxXwL5x1uLTmWM7T04BRH5PBEkBtW1hDZgoCkDCadyweBV2BXkLxVmLwOUH1ZWyszd4W6mYJVaEgn5JcjVDjqno43QNCfkrSuTPDd6fYueZrErR99ROuDxG27s0Iz814mxOllz0+1p6z6WhLyzQD3iJ05AECrxZckPVX1vy3XBeX+U0EpqhVZESJGy7aXhAA+iIOrrGihfQJCwswbLliAcyR5SgYMkqgM0OABw1AXlb+3L6TMnrzIGahN+3gNPm+ZpmybGNRUZdgw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ayDbTDiZzC5P0TCfS6qraBUi+bw0MzhwKU7e6ofLrXs=;
 b=iD8mrxCg93t1VYff/0r5r/GK5len+SNCT0/rZk0l+iVErgkyx9uSf8BCOZH0elTjYbT8MNL10yLXqw7HZxmUXHxnOS4d2b8nC8d9ZLdpnSFGo4puecm315C24/VJt0zuJkIZ43WdhWLq4VTtDPiOwtfuVRn86t5N2MgXwpZbjtU=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Anthony
 PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, Jan
 Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v6 01/12] libs/guest: move cpu policy related prototypes to xenguest.h
Date: Mon, 17 Jan 2022 10:48:16 +0100
Message-ID: <20220117094827.16756-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220117094827.16756-1-roger.pau@citrix.com>
References: <20220117094827.16756-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MR2P264CA0165.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:1::28) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5763b145-3bf1-4090-9ad1-08d9d99e97b5
X-MS-TrafficTypeDiagnostic: DM6PR03MB4059:EE_
X-Microsoft-Antispam-PRVS: <DM6PR03MB4059B8005FA7EC0E43DF92F58F579@DM6PR03MB4059.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: Q7Qzipl0O5gPq4KJDrHfXmHBGDt1W7QQKXw3v0DLYLa9LOUlTw4IgGXlDH9oJs2Ioo661hj1QJdRzXnndE8YpWL3fMJlcLZxEce3hImsmo0MWmOL51pQVefBNspuo0KHLXCnwIzE4MWrZapLtKUZI72/rtnPpt6iarZ8OwwVwHBuwvBZfBxXvbnAD7ZtSx4ifFneHljeb0F9Hj+LdG2Ci8F/QirwGFLhz2Fo8mUwjLudgSc5GYSSJoLzQAVdBV1RGuuXyFYmq/Z81tRFv0MWtT4jcpI+0OcoYOlrLmyAav+tMVqy6lLFLHYvu0dXZPpdZhO1GejTxUs2XjiqnxLHdiZ8Kz2IRlioTHLj3Oz70C0LjK9eJg3aWjOtA8uk+84smLwWukI262n3f/BhXw+Ck5IsizhiuNcLlPmvyWtopkivG2KcEaQmLg4Z4MZZxYlquCa4EMaUImDY1uvQuOCfxRlaWgBvFdQtfWftuTpYNdVwlLnUdIARpeHPrMxJkE8plEC5gkI48v5g018DO8wXnh7ZPF4Q1DKU+4OPHO7pQLouLCnlu3ZHSwCYaCZwO4I9x5gA6N5T+FJQp6W7W3t2J22IEOSqMi3uSLlAuq3LHATGRSstKDhX2WqN77izS8+B0cxwQqIQOPz4SyF/3TxP+Q==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(4326008)(107886003)(6512007)(8936002)(186003)(36756003)(6506007)(316002)(83380400001)(38100700002)(6486002)(26005)(6916009)(86362001)(6666004)(8676002)(54906003)(2616005)(82960400001)(2906002)(5660300002)(66946007)(66556008)(66476007)(1076003)(508600001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VkFMWTQ3THV4TWxqSDh0Q1d5MUlMSzFEMExGN2Uyc3d3ZmpvYXlVOGJieVNj?=
 =?utf-8?B?U09KMG50MTZ5ZmMzdlNZRlIxUHlqano2eU16U2pTLzBhTzJSdEI2OWxsN2cv?=
 =?utf-8?B?cG1iZTVGcWtBVFZTOG40UEJ6S2txSlowMzZlbTlzSWFSYnA3WTNoNENtZTNt?=
 =?utf-8?B?VjBiNktIakdlejJDUnc5QXZhTTZTQVpFU0xmQVFudmJoWDM5OUxicE9BUy9J?=
 =?utf-8?B?YU85UnVpVUxTMG5pME0wakMrUVpnTm1GRjZoU2RzUWlUL3pmc045NzlidTVO?=
 =?utf-8?B?Z0ErckE4WHRtajFNS29KOG1sdXZkTVpzQ2V4VndGaFJLenJBMGpTUWRRb0ZE?=
 =?utf-8?B?aTc4VW9zZHVhaHZCQkNkcnRQNVhUYnoxWG5yQWtEdlpvc2F4eU5MbmJpZFQ1?=
 =?utf-8?B?NnRhcW9BUHkxUklLZmZZSnUxMEJHQ0RkNXI0Y1hRVDZJN09jWXJGVThCeDNr?=
 =?utf-8?B?S0lPQVNza3lXczRPRklHRnpmTjRCZWFDa1c4RHdiYnZFcFYxSnNTOU1xNDBw?=
 =?utf-8?B?SGZMRW12b3JYa1RERDVESkRvWkRuTUt4SS9iV0R1cTQ2TVU2UjM4U2ExL0ZE?=
 =?utf-8?B?L1VNOUxXcEZ1Y0tQK2VsbFJrbFp4eC9Ma244NmJsdW12NmJPTEVGYkQzK2FF?=
 =?utf-8?B?ajhNdnNxMDhnSXgrMjBvcnFYeWZvL2NxZzFiVDdadytnaGRsbVFFNUd1OFR2?=
 =?utf-8?B?dEFza0VzVkwyZnl6RXBETlV1M1hKaCtVMWFqZC9tN1E1TGdJeGxtd2dFRWJ0?=
 =?utf-8?B?RkxDWFJpYmxnUFdXejlNekkrWlJwQjExV3lQNFhwRFJGd1A3dEROcTB1YXRR?=
 =?utf-8?B?MmI3cHdwT2NQZ2g3R3NJTHBVVG8vZS8vSUMrQjkyOUhQeFltWDRuc1RDczYw?=
 =?utf-8?B?TmpFVWpIQ1llbXNScWsyTW0rQmJ3TkdZc2JSUXZaejdmR1dWUG85WlY5RWNB?=
 =?utf-8?B?WXB3RWVJbGdHR2tPOWlhbVBJY2h5YUR3bDAyQmVWWUVaekxOL0tQRFlJMUI2?=
 =?utf-8?B?MW1DNnd5a29jU0pzUHEwSjNQNERacEExakVvNHlqUDc0TlRCc1FMNXhVV1h2?=
 =?utf-8?B?VFltMllTQkZGNWI3REIycjkwTTFXUnVTcXZ5M2R4QzJlamdXaGRtWS9oNEN2?=
 =?utf-8?B?QVFIZXlIbEtuYXIrS2VaclYwV0F3aUYxVTh2akplbVFNN2NTclU4S01KMmNk?=
 =?utf-8?B?RGtnRUNremVOQk0yNldlZm5SOXNtczBCQ0hmVktKUFpxWk5tMzZodEVTNTVF?=
 =?utf-8?B?QjB4M1hzZUFWUmpsRTlIRnZYbDBIQUxkVG1sS00vSWZiZXJkSnRDZ1B5TUJk?=
 =?utf-8?B?dmFYMGdxMllIU0t6RWd5Q0JBUlc2MDY1elU3OHFPWHVqbFJKTjVqUVhTdDVB?=
 =?utf-8?B?MGdQT2Z6OExzTzh4ZFNqRlRqRmNOQk1GbkgyeWc4VWxuS3BYend0ci9ITzBl?=
 =?utf-8?B?UmdkRm52aGNhNHBTZys5WVBCcEhDNUNVVlpXbU9DNldwd3d1ZjdkOTc0UG9w?=
 =?utf-8?B?OTk5UkowSTNYRzlHUG9YWXpaVFA5K1BsdFdTcG53VE1CZ1F5U0tqOUsvZ0l4?=
 =?utf-8?B?ZjJmVnlXVnhTa2l2VTQ3Y1NoOW5ETDBJckh0cUpnV0tnbGxNYnBUU0VXSmlr?=
 =?utf-8?B?OThjVDJJN3FuVmhUdjVVUTZzQTNNZytNYklIRktjK3Q4b1FYbWlNYVJxdlIw?=
 =?utf-8?B?ZjNjQ3BmNmlsUGp6NE56Mk44Y21DSUZBdDZwVVNpanJTWEhENXkySmh3UGdl?=
 =?utf-8?B?WFhqOTk5WVJ6VzJicHFaZU5wbkRGODBKcTBNSFcvK2xXbXNReHgzVHBPdzk1?=
 =?utf-8?B?ekt1TFRCVEpReFVyZnZkajZ3MnQ1UHRFSklKMWVIenkzbVZzQkM3ZElKOUZ0?=
 =?utf-8?B?YVZ3dmRPUHZyQk5YS3M0ZFJGcWtoS3lvbG4wZVBkN2E0RUNoMG8vRG85Zngv?=
 =?utf-8?B?UXpPNW5YN25LbnovNzJGVDBlTkl4V0YwYm9UY1YvQk5adjBsZnRvbFhyd3Nt?=
 =?utf-8?B?eFNWM3BsZXExSjFOWUdiUklIeFA5Nnl0MExYb2tQcXlETTR6TVcwZjljN3BN?=
 =?utf-8?B?MnJ6QnhTUFNVdFJvQTdiQVlsTERLK0tjeEQ2YW54WW84SFJ3NnpmMzkxclFB?=
 =?utf-8?B?RWFFVVdYelRJN08vVW54bWswSGJudVl6V3g2SXplM2k0Q0MxWmZWQmVNUUl2?=
 =?utf-8?Q?X393D6nRx7mVNPln0vqts9o=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 5763b145-3bf1-4090-9ad1-08d9d99e97b5
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2022 09:49:02.4050
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6AL6G03OVTkcKCfJJcQbJ2Upj8z8tMUD5Jsvj4RsTicwVVanQCLuaJjGbXs19c1joZD8ahBnzdN+MGI5TcsXoQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4059
X-OriginatorOrg: citrix.com

Do this before adding any more stuff to xg_cpuid_x86.c.

The placement in xenctrl.h is wrong, as they are implemented by the
xenguest library. Note that xg_cpuid_x86.c needs to include
xg_private.h, and in turn also fix xg_private.h to include
xc_bitops.h. The bitops definition of BITS_PER_LONG needs to be
changed to not be an expression, so that xxhash.h can use it in a
preprocessor if directive.

As a result also modify xen-cpuid and the ocaml stubs to include
xenguest.h.

Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
Changes since v1:
 - Include xenguest.h in ocaml stubs.
 - Change BITS_PER_LONG definition in xc_bitops.h.
---
 tools/include/xenctrl.h         | 55 --------------------------------
 tools/include/xenguest.h        | 56 +++++++++++++++++++++++++++++++++
 tools/libs/ctrl/xc_bitops.h     |  6 +++-
 tools/libs/guest/xg_cpuid_x86.c |  1 -
 tools/libs/guest/xg_private.h   |  1 +
 tools/misc/xen-cpuid.c          |  1 +
 6 files changed, 63 insertions(+), 57 deletions(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 07b96e6671..95bd5eca67 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -2528,61 +2528,6 @@ int xc_psr_get_domain_data(xc_interface *xch, uint32_t domid,
                            uint64_t *data);
 int xc_psr_get_hw_info(xc_interface *xch, uint32_t socket,
                        xc_psr_feat_type type, xc_psr_hw_info *hw_info);
-
-typedef struct xc_cpu_policy xc_cpu_policy_t;
-
-/* Create and free a xc_cpu_policy object. */
-xc_cpu_policy_t *xc_cpu_policy_init(void);
-void xc_cpu_policy_destroy(xc_cpu_policy_t *policy);
-
-/* Retrieve a system policy, or get/set a domains policy. */
-int xc_cpu_policy_get_system(xc_interface *xch, unsigned int policy_idx,
-                             xc_cpu_policy_t *policy);
-int xc_cpu_policy_get_domain(xc_interface *xch, uint32_t domid,
-                             xc_cpu_policy_t *policy);
-int xc_cpu_policy_set_domain(xc_interface *xch, uint32_t domid,
-                             xc_cpu_policy_t *policy);
-
-/* Manipulate a policy via architectural representations. */
-int xc_cpu_policy_serialise(xc_interface *xch, const xc_cpu_policy_t *policy,
-                            xen_cpuid_leaf_t *leaves, uint32_t *nr_leaves,
-                            xen_msr_entry_t *msrs, uint32_t *nr_msrs);
-int xc_cpu_policy_update_cpuid(xc_interface *xch, xc_cpu_policy_t *policy,
-                               const xen_cpuid_leaf_t *leaves,
-                               uint32_t nr);
-int xc_cpu_policy_update_msrs(xc_interface *xch, xc_cpu_policy_t *policy,
-                              const xen_msr_entry_t *msrs, uint32_t nr);
-
-/* Compatibility calculations. */
-bool xc_cpu_policy_is_compatible(xc_interface *xch, xc_cpu_policy_t *host,
-                                 xc_cpu_policy_t *guest);
-
-int xc_get_cpu_levelling_caps(xc_interface *xch, uint32_t *caps);
-int xc_get_cpu_featureset(xc_interface *xch, uint32_t index,
-                          uint32_t *nr_features, uint32_t *featureset);
-
-int xc_cpu_policy_get_size(xc_interface *xch, uint32_t *nr_leaves,
-                           uint32_t *nr_msrs);
-int xc_set_domain_cpu_policy(xc_interface *xch, uint32_t domid,
-                             uint32_t nr_leaves, xen_cpuid_leaf_t *leaves,
-                             uint32_t nr_msrs, xen_msr_entry_t *msrs,
-                             uint32_t *err_leaf_p, uint32_t *err_subleaf_p,
-                             uint32_t *err_msr_p);
-
-uint32_t xc_get_cpu_featureset_size(void);
-
-enum xc_static_cpu_featuremask {
-    XC_FEATUREMASK_KNOWN,
-    XC_FEATUREMASK_SPECIAL,
-    XC_FEATUREMASK_PV_MAX,
-    XC_FEATUREMASK_PV_DEF,
-    XC_FEATUREMASK_HVM_SHADOW_MAX,
-    XC_FEATUREMASK_HVM_SHADOW_DEF,
-    XC_FEATUREMASK_HVM_HAP_MAX,
-    XC_FEATUREMASK_HVM_HAP_DEF,
-};
-const uint32_t *xc_get_static_cpu_featuremask(enum xc_static_cpu_featuremask);
-
 #endif
 
 int xc_livepatch_upload(xc_interface *xch,
diff --git a/tools/include/xenguest.h b/tools/include/xenguest.h
index 61d0a82f48..e01f494b77 100644
--- a/tools/include/xenguest.h
+++ b/tools/include/xenguest.h
@@ -782,4 +782,60 @@ xen_pfn_t *xc_map_m2p(xc_interface *xch,
                       unsigned long max_mfn,
                       int prot,
                       unsigned long *mfn0);
+
+#if defined(__i386__) || defined(__x86_64__)
+typedef struct xc_cpu_policy xc_cpu_policy_t;
+
+/* Create and free a xc_cpu_policy object. */
+xc_cpu_policy_t *xc_cpu_policy_init(void);
+void xc_cpu_policy_destroy(xc_cpu_policy_t *policy);
+
+/* Retrieve a system policy, or get/set a domains policy. */
+int xc_cpu_policy_get_system(xc_interface *xch, unsigned int policy_idx,
+                             xc_cpu_policy_t *policy);
+int xc_cpu_policy_get_domain(xc_interface *xch, uint32_t domid,
+                             xc_cpu_policy_t *policy);
+int xc_cpu_policy_set_domain(xc_interface *xch, uint32_t domid,
+                             xc_cpu_policy_t *policy);
+
+/* Manipulate a policy via architectural representations. */
+int xc_cpu_policy_serialise(xc_interface *xch, const xc_cpu_policy_t *policy,
+                            xen_cpuid_leaf_t *leaves, uint32_t *nr_leaves,
+                            xen_msr_entry_t *msrs, uint32_t *nr_msrs);
+int xc_cpu_policy_update_cpuid(xc_interface *xch, xc_cpu_policy_t *policy,
+                               const xen_cpuid_leaf_t *leaves,
+                               uint32_t nr);
+int xc_cpu_policy_update_msrs(xc_interface *xch, xc_cpu_policy_t *policy,
+                              const xen_msr_entry_t *msrs, uint32_t nr);
+
+/* Compatibility calculations. */
+bool xc_cpu_policy_is_compatible(xc_interface *xch, xc_cpu_policy_t *host,
+                                 xc_cpu_policy_t *guest);
+
+int xc_get_cpu_levelling_caps(xc_interface *xch, uint32_t *caps);
+int xc_get_cpu_featureset(xc_interface *xch, uint32_t index,
+                          uint32_t *nr_features, uint32_t *featureset);
+
+int xc_cpu_policy_get_size(xc_interface *xch, uint32_t *nr_leaves,
+                           uint32_t *nr_msrs);
+int xc_set_domain_cpu_policy(xc_interface *xch, uint32_t domid,
+                             uint32_t nr_leaves, xen_cpuid_leaf_t *leaves,
+                             uint32_t nr_msrs, xen_msr_entry_t *msrs,
+                             uint32_t *err_leaf_p, uint32_t *err_subleaf_p,
+                             uint32_t *err_msr_p);
+
+uint32_t xc_get_cpu_featureset_size(void);
+
+enum xc_static_cpu_featuremask {
+    XC_FEATUREMASK_KNOWN,
+    XC_FEATUREMASK_SPECIAL,
+    XC_FEATUREMASK_PV_MAX,
+    XC_FEATUREMASK_PV_DEF,
+    XC_FEATUREMASK_HVM_SHADOW_MAX,
+    XC_FEATUREMASK_HVM_SHADOW_DEF,
+    XC_FEATUREMASK_HVM_HAP_MAX,
+    XC_FEATUREMASK_HVM_HAP_DEF,
+};
+const uint32_t *xc_get_static_cpu_featuremask(enum xc_static_cpu_featuremask);
+#endif /* __i386__ || __x86_64__ */
 #endif /* XENGUEST_H */
diff --git a/tools/libs/ctrl/xc_bitops.h b/tools/libs/ctrl/xc_bitops.h
index f0bac4a071..4a776dc3a5 100644
--- a/tools/libs/ctrl/xc_bitops.h
+++ b/tools/libs/ctrl/xc_bitops.h
@@ -6,7 +6,11 @@
 #include <stdlib.h>
 #include <string.h>
 
-#define BITS_PER_LONG (sizeof(unsigned long) * 8)
+#ifdef __LP64__
+#define BITS_PER_LONG 64
+#else
+#define BITS_PER_LONG 32
+#endif
 
 #define BITMAP_ENTRY(_nr,_bmap) ((_bmap))[(_nr) / 8]
 #define BITMAP_SHIFT(_nr) ((_nr) % 8)
diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
index 198892ebdf..b9e827ce7e 100644
--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -23,7 +23,6 @@
 #include <stdbool.h>
 #include <limits.h>
 #include "xg_private.h"
-#include "xc_bitops.h"
 #include <xen/hvm/params.h>
 #include <xen-tools/libs.h>
 
diff --git a/tools/libs/guest/xg_private.h b/tools/libs/guest/xg_private.h
index 28441ee13f..09e24f1227 100644
--- a/tools/libs/guest/xg_private.h
+++ b/tools/libs/guest/xg_private.h
@@ -27,6 +27,7 @@
 #include <sys/stat.h>
 
 #include "xc_private.h"
+#include "xc_bitops.h"
 #include "xenguest.h"
 
 #include <xen/memory.h>
diff --git a/tools/misc/xen-cpuid.c b/tools/misc/xen-cpuid.c
index fb36cac07b..a3003245f1 100644
--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -8,6 +8,7 @@
 #include <inttypes.h>
 
 #include <xenctrl.h>
+#include <xenguest.h>
 
 #include <xen-tools/libs.h>
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 09:49:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 09:49:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258041.443920 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9OdY-0003H6-Ki; Mon, 17 Jan 2022 09:49:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258041.443920; Mon, 17 Jan 2022 09: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 1n9OdY-0003Gu-HN; Mon, 17 Jan 2022 09:49:16 +0000
Received: by outflank-mailman (input) for mailman id 258041;
 Mon, 17 Jan 2022 09:49:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TAtW=SB=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n9OdW-0002gi-Ik
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 09:49:14 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b8925665-777a-11ec-9bbc-9dff3e4ee8c5;
 Mon, 17 Jan 2022 10:49:12 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b8925665-777a-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642412953;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=W5pxdwQqMysZPVE+sPNorSRWEA6/ol2TOm/u2VyLMiM=;
  b=Np9kP/aJQ49aHGYfid91nwt/UupFaA/dIzEJKItqR+sFXvM8PdJaN2el
   CP2KOipow1ufmSYr2iKBXfHHIy2sgGZAR4B5UALn7tUdduwEXTTSbE4Am
   VsH3xIb61Q/s3oYG/ohQ2zPdj7VgkGxuoAWuCoUWjcqAC0kYc7OWQTC2K
   c=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: qTlKfe1ZZ+AmLjb52rVQcOL0KTM852hOEC6EjY2odKymqeqOO41uHWEe/ZUEucL48bcDPEUZRw
 j+35wGL9ir49ia2Au4/hJmHrssuV4ir5p8OI3eYtH/SGDl9BIcrKyal3zEVWJ3eC+yyouKCj7n
 RvM7ALtT+cWkR3vEWSfZGTqZvF4l84Zx+HIkvUInDwLiPr+u/ooOMEi6zJQiuMMscQHd+1Vcvr
 bnJKi99rDA6GKbcQt8jChwX6BW7gG6rBgZDJ9TQPk+elTVEjLKl9leRKF/wpJlXCieAT6eQ57Q
 W5TUP+WXC5FPen7Do8RvEhcP
X-SBRS: 5.2
X-MesageID: 62053269
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:H9oTDahkED1EycWIKtLdjsPIX161iBcKZh0ujC45NGQN5FlHY01je
 htvXTzQPfnfYWr2ct12btm2oxkE7JTRzoJrSgVkrykxRiob9cadCdqndUqhZCn6wu8v7a5EA
 2fyTvGacajYm1eF/k/F3oAMKRCQ7InQLlbGILes1htZGEk0GE/NtTo5w7Rj2tcx3oDga++wk
 YiaT/P3aQfNNwFcagr424rbwP+4lK2v0N+wlgVWicFj5DcypVFMZH4sDfjZw0/DaptVBoaHq
 9Prl9lVyI97EyAFUbtJmp6jGqEDryW70QKm0hK6UID66vROS7BbPg/W+5PwZG8O4whlkeydx
 /10iaDuFlwRDJbrlelHfRZlSRAvYodZreqvzXiX6aR/zmXDenrohf5vEFs3LcsT/eMf7WNmr
 KJCbmpXN1ba2rzwkOnTpupE36zPKOHxO4wSoDd4xCzxBvc6W5HTBa7N4Le02R9u3JgTRqyAN
 qL1bxJCZRf+cjJTO2wSM74Fpdypm0vNWT5H/Qf9Sa0fvDGIkV0ZPKLWGMXRUsyHQ4NShEnwj
 mDM8nn9AxoaHMeC0jfD+XWp7sffkCW+VI8MGbmQ8v9xnEbV1mEVEAcRV1awvb++kEHWZj5EA
 xVKoGx09/F0rRH1CImmN/GlnJKalicgZ4QPSNUI0yaAx/D67DvDNzlbZCEUPbTKq/QKbTAt0
 1aImfbgCjpurKCZRBqhy1uEkd+hEXNLdDFfPEfoWSNAuoC++99r0nojW/46SPbt5uAZDw0c1
 NxjQMIWo7wIxfAG2Kyglbwsq2L9/8OZJuLZC+i+Y45E0u+bTNP/D2BLwQKChRqlEGp/ZgPb1
 JTjs5LPhN3i9bnXyESwrB8xNL+o/e2ZFzbXnERiGZIsnxz0pSL5Jt0Au2EieBk5WirhRdMPS
 BWO0e+2zMUCVEZGkIctO97hYyjU5fWI+SvZugD8MYMVP8kZmP6v9yByf0+At10BY2B3+ZzTz
 ayzKJ72ZV5DUPwP5GPvG481jOF3rghjmzK7bc2rnnyPjOvFDFbIGOhtDbd7Rr1jhIuevh7v+
 spSX+PTjU03vBvWOHeHqOb+7DkicBAGOHwBg5cGKb7YfFs3QTFJ5j246epJRrGJVp99z4/g1
 nq8RlVZ2Bz4g3jGIh+NcXdtdPXkWpMXkJ7xFXdE0Y+A1ydxbICxwr0YcpdrL7Ar+PY6lax/T
 uUfetXGCfNKE2yV9zMYZJj7jYpjaBX02l7eY3v7OGAyL8x6WgjE2t74ZQ+zpiMAOTW66Jklq
 Lq62wKFHZdaH1Z+DNzbYe6Exk+quSRPg/p7WkbFe4EBeEjl/IVwBTb2i/s7f5MFJRnZn2PI3
 AeKGxYI4+LKptZtotXOgKmFqaavEvd/QRUGTzWKs+7uOHCDrGS5wIJGXOKZRhznVTv5qPe4e
 OFY7/DgK/lbzlxEhJVxTuRwxqUk6tqx+7IDllZ4HG/GZkiAA697JiXUxtFGs6BAy+MLuQayX
 U7TqNBWNa/QZZHgGV8VYgEkcv6CxbcfnTyLtaY5J0Dz5SlW+rubUBoNY0nQ2XIFdLYlYpk4x
 eoBudIN713tgxUnBd+KkyRI+jneNXcHSagm6skXDYKDZtDHEb2ejUgw0hPL3aw=
IronPort-HdrOrdr: A9a23:jDc7aKuYXn2UWEX54HGTQA0y7skC7oMji2hC6mlwRA09TyXGra
 +TdaUguSMc1gx9ZJhBo7G90KnpewK5yXcT2/hsAV7CZniahILMFu9fBOTZslvd8kHFh4xgPO
 JbAtND4b7LfClHZKTBkXCF+r8bqbHtmsDY5ts2jU0dNz2CA5sQkTuRYTzrdXGeKjM2YKbQQ/
 Gnl7V6TnebCD8qR/X+IkNAc/nIptXNmp6jSRkaByQ/4A3LqT+z8rb1HzWRwx9bClp0sPof2F
 mAtza8yrSosvm9xBOZ/2jP765OkN+k7tdYHsSDhuUcNz2poAe1Y4ZKXaGEoVkO0auSwWdvtO
 OJjwYrPsx15X+UVmapoSH10w2l6zoq42+K8y7vvVLT5ejCAB4qActIgoxUNjHD7VA7gd162K
 VXm0qEqpt+F3r77WrAzumNcysvulu/oHIkn+JWpWdYS5EiZLhYqpFa1F9JEa0HADnx5OkcYa
 ZT5fnnlbZrmG6hHjPkVjEF+q3vYp1zJGbLfqE6gL3V79AM90oJinfxx6Qk7wA9HdwGOt15Dt
 //Q9dVfYd1P7srhJJGdZc8qPSMex7wqGr3QRqvyHTcZeg60iH22tbKCItc3pDeRHVP9up0pK
 j8
X-IronPort-AV: E=Sophos;i="5.88,295,1635220800"; 
   d="scan'208";a="62053269"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=h4KPoWSOqJBCB/kkZi1NdQtkXoWgZ8vuSuNf16r93kuT3XAvxd1YmeKQOUzEsYEEBWQE0Mw+Q9tckjoRW64qyBtcEDPk2ASUHJe4zN6f8rlpwcMboAJm9GVneGoBFTiAOkKNV6aXg3kps+7RQH965NdqlaxPjZDzhuykWuZrOtl2LAEyz4gJFDkDmk8BCpINDg3AjQ9S+bZUD2KBtBk/yYB4yEPqntvi6cfpO1GpBCAn8DNR9fSPWf4Ti9Fyk6YbjfJjGxg3qDqS58Q30kjlNVVxoH9tAQTbdi5ra4I/a00wB1Fx8OqpUzScIy+Cja0woSzYW2hgS2WYGW9KIm7SMg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=c9+702mCtiIIBJRcU6EH6oz52cs5/19MUClB4O9/ed4=;
 b=bxrEowCZoRYxAsqJwDSy68I3MvImUG1MKmV0ArGwtfJHWHHNT4Q3LjW9pEUMCpqq1alIlBE9PRjLQ00S56yOLJrvl90ZwPsXuODJmhqSx/l8GQ15JJ5BOblCytC0uuSXuq8JNtjIs5Movkxg8tpny/dwbjMbMumC3MQodMOKgkkuUzeFgGuDHeJA7BKBHflyq5589nDidWmQlvd2+d3ePgC2ZT8IUUu9u+owcwRFbqhtmI2dpjH0RYf6gF1WD4sGdutcwXrTLCb9GuPK/tp0KI/j0DPK6dNmvKUGoMO8E30NaAiFW1P6KxF/0CQEEHC67z1aG8rl1Cenj+liHKjYnw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=c9+702mCtiIIBJRcU6EH6oz52cs5/19MUClB4O9/ed4=;
 b=V0To2AxthW6jvBr56Zs12RZsse6CR67bBESZbrY22Ltex0vh/2YLbuJKbkJxnpazOWFL8W061vKCbJUFMqN5OZGfBoDG5H+a2wGMhY/GBTBwOecBDAvxQKjCBhhkZ2PwaqRAf0C91tLaCo4DSGrHH7EgOISa5yIsADJhMtOdV+g=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>, "Anthony
 PERARD" <anthony.perard@citrix.com>
Subject: [PATCH v6 02/12] libx86: introduce helper to fetch cpuid leaf
Date: Mon, 17 Jan 2022 10:48:17 +0100
Message-ID: <20220117094827.16756-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220117094827.16756-1-roger.pau@citrix.com>
References: <20220117094827.16756-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MR1P264CA0054.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:3e::7) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6c189451-aa07-4286-bd65-08d9d99e9b14
X-MS-TrafficTypeDiagnostic: DM6PR03MB4059:EE_
X-Microsoft-Antispam-PRVS: <DM6PR03MB4059D96331C0FE956830697C8F579@DM6PR03MB4059.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:530;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 1UJpmelXSNOopWx+o8MFio6VT2w92DyRyJ0Q9VUqOU9ue92edtHFF1KEYzu2gLcNTBKyM5C73vMZZf7ynR3xPUce1DPg+agrNwd967+O9BxgMbfLFIZ1kxFBc2ZpYc7eESf5BwEvkFtjtRwINC7NPTHypuej87cd9wOd2eTnT6VUwczL7+CzRsUj8JykWG5kFcg7DHCPImxR4zA6HrshS/Hl3AUVdDNzjsyrp7MBXv+DtzoDJSrNuKxuG8V7qSTAMvVOlWP9pAbOOaZkE2ewq+jxoUPb6QrVSGjc8b1hnQ+eMzaGdbpN1Qu/CJK5rAwLHOIS4Ry1lSlmIhfHt10iDJYyoxScWKMazPwYC3oqqSRz4dOs3udja86MnQM6G4kri5HvdVRRGE1k0A9o8gaUbuNnPIQt6yTOuSfoCO8auALkf7bRv9+Bs0CisY/ZbG6gEGKzv0ASFuVMcVGWE3yV3+sIp1j9wnVt+0vomi9FzACDmvqxs8VkwGluGiy5lMsN152mfeO13AcFaDDm+HX/fORZ55pQ2HNkPA+a9HhTkmAADHTsg8Gmjyq4lNc0/FF5pjKxvhnuBJYHRWYsCraLIPUY/moI3L3PPImTIi5qwsmzwm65j6inAUNhfAVkvuuZB5XaNgkup+w2xRDzzAcC4Q==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(4326008)(107886003)(6512007)(8936002)(186003)(36756003)(6506007)(316002)(83380400001)(38100700002)(6486002)(26005)(6916009)(86362001)(6666004)(8676002)(54906003)(2616005)(82960400001)(2906002)(5660300002)(66946007)(66556008)(66476007)(1076003)(508600001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?OWF5Q0FPd2M1M3F2cTZwZlJYWjNCMTZKd2psL1hka1JweXlNWStOby9MR0FX?=
 =?utf-8?B?ZXJNM1NheHdmWmhhMkh5disyUnF1a2RIaFBINmNvbjFHNkZjRXlBL0kxdmVH?=
 =?utf-8?B?RUhCdkFLMDBYQ29td2ZhcGpQL2RJR3hGMWZXZVlycjBjdmd1YVRBSEVvaFdK?=
 =?utf-8?B?V3JSZUtYdkg2WW1HSm9Ec1MwbkhTRnVuS2FlNW1LUkNETjUzYzYzajhiZVJP?=
 =?utf-8?B?VDYzSU9UNWErck81TkRpTXpTYU5vZ2k0NTBhRWlCWmhiNjV5VmR3VFYraDQx?=
 =?utf-8?B?V0IzNG1XdHBKNitJeVl3TTJMRjk5bWFGNTdCS1YvTXhyYTByZWQ4ZW45ZFll?=
 =?utf-8?B?Z0JCVHRNOFhLVTQ0cWRUUi9JVUpYMVUwajVUNGlhQkJ5TUswU0RCYS9zRUNK?=
 =?utf-8?B?NzVxbUNhbWNGUXY3TWl3U29rQ2JmKzlGaXQ5bWpmcFRHNWxFSlA2ZW50Ny85?=
 =?utf-8?B?SG9UZFdPYmRQOUY0aXdJdFVFNXhxenppdWFNVFZKR3plSGpnazVTLzZlTGM1?=
 =?utf-8?B?VFA1WXVrc1JrNVl1N0lCVVVIdElzdzFhK2NMd1pRYnF5Uk0vcVo3WjVHQ2pJ?=
 =?utf-8?B?aVdxWU1sVFU5THY0dFNjSkRhTzkyNW9jRU5mVllmNGhJbHEyQnBMV1o3aVNY?=
 =?utf-8?B?bzNBV2IrNEI4N0JHd1RUN0FsVjZQRmdHUGc0NE5IUVZXSDBMeGFCZnZqcjJH?=
 =?utf-8?B?cHl4eng0ZDJsTVBPeFhtSlgwTmdsRW9NajlWTktXWm43Nnp1TXBUU1g0VXhB?=
 =?utf-8?B?OGFoYk1CRVZKMTYzam1tTjBTejkzYWNXTFJOOVRWSkMzT0szaG1xeFRScExD?=
 =?utf-8?B?d01EUlJUOWo1SUZJNCttWk9Va0d2dG5YQjFsM0MvNmRaQTRpS2xoRkg5NDli?=
 =?utf-8?B?aVhnRDZFRmdoaVlXb0ZJd284YjNzQlhwd1EycUN2d1VSRG44TG5Ia3E5eXM4?=
 =?utf-8?B?VEdnU05WN2NtZFRBditOTFdqdGt3Q2ZkN0lEVFVod1FhMVQzekZTZTdkNFJD?=
 =?utf-8?B?YUx2bXZ4Q01SNFFxbFcrUHI5M2dGbTRZZFRiaHFnRmVlMVFTMFpReUdEQS9G?=
 =?utf-8?B?dDBrOFZmczdiWlJlMW5YQ0c5YnhsUjk1QXhyVnQ2c0JrSjBNeXZkdzhFMVZF?=
 =?utf-8?B?TmxYZVJZZGtFTmQ2VlhSQi9odys0YnlJSllTdVM0SFl6bFpoNEpwaU9jRkNF?=
 =?utf-8?B?OHhGSWVUOElydDJlT3BBZDNIM01Pc0t6RjBvdU9Ga0xQTExsWVdpOTBVd2Z5?=
 =?utf-8?B?WDZaT09jbHNsSjlTZWRxNmpZRzRTR1gxUEdjMGtBNlJwNHNRRmsrNS9UUi94?=
 =?utf-8?B?QnVpaDhiWElLK2xub0xQU0xJUEZ1YjFyZHc4cVpGK3pNeHVSTitJNGJPdnVC?=
 =?utf-8?B?NWoyNVFqT2hvbDFRM2s5TVNSUnNpQ0NlV0RSdUhWOVFncVV5ajJ0Rnl4Vk5F?=
 =?utf-8?B?bEhYeHBSYmp1MXI5YnFhOFVCQTBCS3BtOStLWVRITVZOcG1iNjRydlovMXZ4?=
 =?utf-8?B?eXpveXVxL2RvcVU1TS9VazE1SC8rc1dmTUlNeVp0RCtEcGV1cUE4VmZabCt3?=
 =?utf-8?B?WFZwSlFBSjRXQVNIcmpVUG93VEFTQ25MWEJVTHRSZzJmVHgyYW9INThRakpN?=
 =?utf-8?B?OGkrcS9zRUNIVHU4YXQzMDFocmRhalVQTmRQSElqTnR0bUM3OVZtUGhsWHh6?=
 =?utf-8?B?VVllbzVKQk1vYmZrdEVLREorM296KzU3cThXUDFNeUg0NkFpTW9SUVE0QXU5?=
 =?utf-8?B?eVNJb1d2Ny9FMk5IWCsxQkRnWXByb3kyR1d3UVM5KzBCc1pYWk5BM2FhUnpO?=
 =?utf-8?B?WHpVWDVacUVWM2hmczdNeEVLUG0vUVFNS3FTeVpreEQ3RkVlek9nUnFUczhI?=
 =?utf-8?B?VDNYUHlaaTR1dWxFcmgxM3NueDROQlZmQWppbWl5SlMrYS81QXNNbW5zd2F3?=
 =?utf-8?B?OU84RE5SNU42NzFTb0d6akhkOUYxazRpRVhmYldXdkhVcGloNy9iSkozbEpJ?=
 =?utf-8?B?RE42b3J0SmxEdzZhOE54bUdMMU9CM0hSSmMzZTJwSXNJNU5HUGR2NjFlckVs?=
 =?utf-8?B?K0VOeUlSRXV2a1NnUU5ycTE5M0g3TDhwRXl6Qnp6UnQ5d3hyZzRMUm92enB3?=
 =?utf-8?B?UTdjaVgxYWdWTm51YkhuY2srWTRWRWx0cnZJRTVWRzZMN1VrMGlvZkJ6QVVV?=
 =?utf-8?Q?0L5qs7VXYidln6x7bO9EZbY=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 6c189451-aa07-4286-bd65-08d9d99e9b14
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2022 09:49:08.0474
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: RmBtm/ciOMLALYZPD9xuCrAtQcwwktzCUxoKpHiGMAtVX7mZlXPpthxnpZTnm1cSrxwWWhH83JHdBAGQX3322A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4059
X-OriginatorOrg: citrix.com

Introduce a helper based on the current Xen guest_cpuid code in order
to fetch a cpuid leaf from a policy. The newly introduced function in
cpuid.c should not be directly called and instead the provided
x86_cpuid_get_leaf macro should be used that will properly deal with
const and non-const inputs.

Also add a test to check that the introduced helper doesn't go over
the bounds of the policy.

Note the code in x86_cpuid_copy_from_buffer is not switched to use the
new function because of the boundary checks against the max fields of
the policy, which might not be properly set at the point where
x86_cpuid_copy_from_buffer get called, for example when filling an
empty policy from scratch.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes since v4:
 - Rename _x86_cpuid_get_leaf to x86_cpuid_get_leaf_const.

Changes since v3:
 - New in this version.
---
Regarding safety of the usage of array_access_nospec to obtain a
pointer to an element of an array, there are already other instances
of this usage, for example in viridian_time_wrmsr, so I would assume
this is fine.
---
 tools/tests/cpu-policy/test-cpu-policy.c | 75 ++++++++++++++++++++++++
 xen/arch/x86/cpuid.c                     | 55 +++--------------
 xen/include/xen/lib/x86/cpuid.h          | 19 ++++++
 xen/lib/x86/cpuid.c                      | 52 ++++++++++++++++
 4 files changed, 153 insertions(+), 48 deletions(-)

diff --git a/tools/tests/cpu-policy/test-cpu-policy.c b/tools/tests/cpu-policy/test-cpu-policy.c
index ed450a0997..3f777fc1fc 100644
--- a/tools/tests/cpu-policy/test-cpu-policy.c
+++ b/tools/tests/cpu-policy/test-cpu-policy.c
@@ -570,6 +570,80 @@ static void test_cpuid_out_of_range_clearing(void)
     }
 }
 
+static void test_cpuid_get_leaf_failure(void)
+{
+    static const struct test {
+        struct cpuid_policy p;
+        const char *name;
+        uint32_t leaf, subleaf;
+    } tests[] = {
+        /* Bound checking logic. */
+        {
+            .name = "Basic max leaf >= array size",
+            .p = {
+                .basic.max_leaf = CPUID_GUEST_NR_BASIC,
+            },
+        },
+        {
+            .name = "Feature max leaf >= array size",
+            .p = {
+                .basic.max_leaf = CPUID_GUEST_NR_BASIC - 1,
+                .feat.max_subleaf = CPUID_GUEST_NR_FEAT,
+            },
+            .leaf = 0x00000007,
+        },
+        {
+            .name = "Extended max leaf >= array size",
+            .p = {
+                .extd.max_leaf = 0x80000000 + CPUID_GUEST_NR_EXTD,
+            },
+            .leaf = 0x80000000,
+        },
+
+        {
+            .name = "Basic leaf >= max leaf",
+            .p = {
+                .basic.max_leaf = CPUID_GUEST_NR_BASIC - 1,
+            },
+            .leaf = CPUID_GUEST_NR_BASIC,
+        },
+        {
+            .name = "Feature leaf >= max leaf",
+            .p = {
+                .basic.max_leaf = CPUID_GUEST_NR_BASIC - 1,
+                .feat.max_subleaf = CPUID_GUEST_NR_FEAT - 1,
+            },
+            .leaf = 0x00000007,
+            .subleaf = CPUID_GUEST_NR_FEAT,
+        },
+        {
+            .name = "Extended leaf >= max leaf",
+            .p = {
+                .extd.max_leaf = 0x80000000 + CPUID_GUEST_NR_EXTD - 1,
+            },
+            .leaf = 0x80000000 + CPUID_GUEST_NR_EXTD,
+        },
+    };
+    const struct cpuid_policy pc;
+    const struct cpuid_leaf *lc;
+    struct cpuid_policy p;
+    struct cpuid_leaf *l;
+
+    /* Constness build test. */
+    lc = x86_cpuid_get_leaf(&pc, 0, 0);
+    l = x86_cpuid_get_leaf(&p, 0, 0);
+
+    printf("Testing CPUID get leaf bound checking:\n");
+
+    for ( size_t i = 0; i < ARRAY_SIZE(tests); ++i )
+    {
+        const struct test *t = &tests[i];
+
+        if ( x86_cpuid_get_leaf(&t->p, t->leaf, t->subleaf) )
+            fail("  Test %s get leaf fail\n", t->name);
+    }
+}
+
 static void test_is_compatible_success(void)
 {
     static struct test {
@@ -685,6 +759,7 @@ int main(int argc, char **argv)
     test_cpuid_serialise_success();
     test_cpuid_deserialise_failure();
     test_cpuid_out_of_range_clearing();
+    test_cpuid_get_leaf_failure();
 
     test_msr_serialise_success();
     test_msr_deserialise_failure();
diff --git a/xen/arch/x86/cpuid.c b/xen/arch/x86/cpuid.c
index b5af48324a..0407a54626 100644
--- a/xen/arch/x86/cpuid.c
+++ b/xen/arch/x86/cpuid.c
@@ -825,48 +825,16 @@ void guest_cpuid(const struct vcpu *v, uint32_t leaf,
     switch ( leaf )
     {
     case 0 ... CPUID_GUEST_NR_BASIC - 1:
-        ASSERT(p->basic.max_leaf < ARRAY_SIZE(p->basic.raw));
-        if ( leaf > min_t(uint32_t, p->basic.max_leaf,
-                          ARRAY_SIZE(p->basic.raw) - 1) )
-            return;
-
-        switch ( leaf )
-        {
-        case 0x4:
-            if ( subleaf >= ARRAY_SIZE(p->cache.raw) )
-                return;
-
-            *res = array_access_nospec(p->cache.raw, subleaf);
-            break;
-
-        case 0x7:
-            ASSERT(p->feat.max_subleaf < ARRAY_SIZE(p->feat.raw));
-            if ( subleaf > min_t(uint32_t, p->feat.max_subleaf,
-                                 ARRAY_SIZE(p->feat.raw) - 1) )
-                return;
-
-            *res = array_access_nospec(p->feat.raw, subleaf);
-            break;
-
-        case 0xb:
-            if ( subleaf >= ARRAY_SIZE(p->topo.raw) )
-                return;
-
-            *res = array_access_nospec(p->topo.raw, subleaf);
-            break;
-
-        case XSTATE_CPUID:
-            if ( !p->basic.xsave || subleaf >= ARRAY_SIZE(p->xstate.raw) )
-                return;
+    case 0x80000000 ... 0x80000000 + CPUID_GUEST_NR_EXTD - 1:
+    {
+        const struct cpuid_leaf *tmp = x86_cpuid_get_leaf(p, leaf, subleaf);
 
-            *res = array_access_nospec(p->xstate.raw, subleaf);
-            break;
+        if ( !tmp )
+            return;
 
-        default:
-            *res = array_access_nospec(p->basic.raw, leaf);
-            break;
-        }
+        *res = *tmp;
         break;
+    }
 
     case 0x40000000 ... 0x400000ff:
         if ( is_viridian_domain(d) )
@@ -881,15 +849,6 @@ void guest_cpuid(const struct vcpu *v, uint32_t leaf,
     case 0x40000100 ... 0x400001ff:
         return cpuid_hypervisor_leaves(v, leaf, subleaf, res);
 
-    case 0x80000000 ... 0x80000000 + CPUID_GUEST_NR_EXTD - 1:
-        ASSERT((p->extd.max_leaf & 0xffff) < ARRAY_SIZE(p->extd.raw));
-        if ( (leaf & 0xffff) > min_t(uint32_t, p->extd.max_leaf & 0xffff,
-                                     ARRAY_SIZE(p->extd.raw) - 1) )
-            return;
-
-        *res = array_access_nospec(p->extd.raw, leaf & 0xffff);
-        break;
-
     default:
         return;
     }
diff --git a/xen/include/xen/lib/x86/cpuid.h b/xen/include/xen/lib/x86/cpuid.h
index a4d254ea96..050cd4f9d1 100644
--- a/xen/include/xen/lib/x86/cpuid.h
+++ b/xen/include/xen/lib/x86/cpuid.h
@@ -431,6 +431,25 @@ int x86_cpuid_copy_from_buffer(struct cpuid_policy *policy,
                                uint32_t nr_entries, uint32_t *err_leaf,
                                uint32_t *err_subleaf);
 
+/**
+ * Get a cpuid leaf from a policy object.
+ *
+ * @param policy      The cpuid_policy object.
+ * @param leaf        The leaf index.
+ * @param subleaf     The subleaf index.
+ * @returns a pointer to the requested leaf or NULL in case of error.
+ *
+ * The function will perform out of bound checks. Do not call this function
+ * directly and instead use x86_cpuid_get_leaf that will deal with both const
+ * and non-const policies returning a pointer with constness matching that of
+ * the input.
+ */
+const struct cpuid_leaf *x86_cpuid_get_leaf_const(const struct cpuid_policy *p,
+                                                  uint32_t leaf,
+                                                  uint32_t subleaf);
+#define x86_cpuid_get_leaf(p, l, s) \
+    ((__typeof__(&(p)->basic.raw[0]))x86_cpuid_get_leaf_const(p, l, s))
+
 #endif /* !XEN_LIB_X86_CPUID_H */
 
 /*
diff --git a/xen/lib/x86/cpuid.c b/xen/lib/x86/cpuid.c
index 8eb88314f5..924f882fc4 100644
--- a/xen/lib/x86/cpuid.c
+++ b/xen/lib/x86/cpuid.c
@@ -493,6 +493,58 @@ int x86_cpuid_copy_from_buffer(struct cpuid_policy *p,
     return -ERANGE;
 }
 
+const struct cpuid_leaf *x86_cpuid_get_leaf_const(const struct cpuid_policy *p,
+                                                  uint32_t leaf,
+                                                  uint32_t subleaf)
+{
+    switch ( leaf )
+    {
+    case 0 ... CPUID_GUEST_NR_BASIC - 1:
+        if ( p->basic.max_leaf >= ARRAY_SIZE(p->basic.raw) ||
+             leaf > p->basic.max_leaf )
+            return NULL;
+
+        switch ( leaf )
+        {
+        case 0x4:
+            if ( subleaf >= ARRAY_SIZE(p->cache.raw) )
+                return NULL;
+
+            return &array_access_nospec(p->cache.raw, subleaf);
+
+        case 0x7:
+            if ( p->feat.max_subleaf >= ARRAY_SIZE(p->feat.raw) ||
+                 subleaf > p->feat.max_subleaf )
+                return NULL;
+
+            return &array_access_nospec(p->feat.raw, subleaf);
+
+        case 0xb:
+            if ( subleaf >= ARRAY_SIZE(p->topo.raw) )
+                return NULL;
+
+            return &array_access_nospec(p->topo.raw, subleaf);
+
+        case 0xd:
+            if ( !p->basic.xsave || subleaf >= ARRAY_SIZE(p->xstate.raw) )
+                return NULL;
+
+            return &array_access_nospec(p->xstate.raw, subleaf);
+        }
+
+        return &array_access_nospec(p->basic.raw, leaf);
+
+    case 0x80000000 ... 0x80000000 + CPUID_GUEST_NR_EXTD - 1:
+        if ( (p->extd.max_leaf & 0xffff) >= ARRAY_SIZE(p->extd.raw) ||
+             leaf > p->extd.max_leaf )
+            return NULL;
+
+        return &array_access_nospec(p->extd.raw, leaf & 0xffff);
+    }
+
+    return NULL;
+}
+
 /*
  * Local variables:
  * mode: C
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 09:49:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 09:49:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258043.443931 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Ode-0003ed-2C; Mon, 17 Jan 2022 09:49:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258043.443931; Mon, 17 Jan 2022 09:49:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Odd-0003eV-V1; Mon, 17 Jan 2022 09:49:21 +0000
Received: by outflank-mailman (input) for mailman id 258043;
 Mon, 17 Jan 2022 09:49:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TAtW=SB=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n9Odc-0003a5-Ia
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 09:49:20 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bb8f65b2-777a-11ec-a115-11989b9578b4;
 Mon, 17 Jan 2022 10:49:17 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bb8f65b2-777a-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642412957;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=A+Od6Bh7qsx7u4DTHy3nwSt/ug52iTXLpb6kGpq0i0I=;
  b=BbRf6ifAS68pK/sjlUfcbb/6DpVjZhFqL05Ey6J2BoGLB9Fl4B4Mk510
   3DMKkb/kT5apZen83/AexSGq7Bw7MRhzWcJ5aMfSzt3Zr28s18P1YHyIH
   Ikh6FwVMYeaVS3kWh/30CgBNWfz+PXOUj1whBu/o8G/Jw9JNcx2LeJ3/8
   M=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: vwd4nTW/xkcN7l6O6dhjK0P8Qiyd/rSZqNM7ztjEyiVzFGjzIG3oMXJX5aAUztNiotrRmESirR
 T0e68OrjoSOUGKXvDXBX3RzJegufO3mUuLzPy9dAvj1JhvjN+pMgQPxVIUOyS7WX13iSHfj38M
 TBkNuE8cxf+0oCdCovLd/BJ9GDtCKTbAnC9dko0yAy98UKUxr4tV/Z5mXqxhwjZQ6rSm5doY2r
 809UYRmmFiaZjqksaEHAK5GWfnhm8pwxU9S4unAR/dUPx4VSEomSMh5lr31EVGcTmpoRBViTOm
 a/Mb/KdivlunER18BI8tzmD7
X-SBRS: 5.2
X-MesageID: 62138819
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:JE/FralCdVQuy5Fj/KsrGbzo5gxmIURdPkR7XQ2eYbSJt1+Wr1Gzt
 xIaWjyHaPbeYGr8KYh2OYvj9EpQ7JeAn95qT1A++yoxRSMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BClVlxJVF/fngqoDUUYYoAQgsA180IMsdoUg7wbRh29c32YHR7z6l4
 rseneWOYDdJ5BYsWo4kw/rrRMRH5amaVJsw5zTSVNgT1LPsvyB94KE3fMldG0DQUIhMdtNWc
 s6YpF2PEsE1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXee0v0XRYRQR4/ttmHozx+4
 PhQrpbvaxxxB5yPlOcgaRoAI3tzZpQTrdcrIVDn2SCS50jPcn+qyPRyFkAme4Yf/46bA0kXq
 6ZecmpUKEne2aTmm9pXScE17ignBNPsM44F/Glp0BnSDOo8QICFSKLPjTNd9Glq35seTa+PD
 yYfQT5lKyTlQRRRA3U0As4clcWylHjkfBQN/Tp5ooJoujOOnWSdyoPFMtXPfceRbd5IhUver
 WXDl0zmBjkKOdrZziCKmlq8i+mKkS7lVYY6ELyj6uUskFCV3nYUChAdSR28u/bRt6Klc4sBc
 QpOoHNo9PVsshzwJjXgY/GmiFOZpRRDecEIKtx55AKw8KmM01yUXVFRG1atd+canMMxQDUr0
 HqAkNXoGSFjvdWpdJ6NyluHhWjsYHZIdAfucQdBFFJYuIe7/OnfmzqWFo47eJNZmOEZDt0ZL
 9qiiCElz4segscQv0lQ1QCW2mn8znQlo+Nc2+k2Yo5Hxl4jDGJGT9bxgbQ+0RqmBNzDJrVml
 CJV8/VyFMhUUfmweNWlGY3h5o2B6fefKyH7ilVyBZQn/DnF0yf9IdoLvWEldBs1bJZsldrVj
 Kn74145CHh7ZirCUEOKS9jpV5RCIVbISLwJqcw4nvIRO8MsJWdrDQllZFKK3nCFraTfufpXB
 HtvSu71VSxyIf0+lFKeHr5BuZd2mHxW7T6NFPjTkkT2uZLDNSX9YepUbzOzghURsfnsTPP9q
 YgPbqNnCnx3DYXDX8Ug2dVCcgBRcylqXMCeRg4+XrfrHzeK0VoJUpf56bggZ5Zkj+JSkOLJ9
 Wu6QUhW1Bz0gnivFOlAQikLhGrHUcktoHQlEzYrOFr0iXEvbZz2tPUUdoctfKlh/+tmlKYmQ
 /4AcsSGI/JOVjWYpGhNMcij9NRvJEaxmAaDHyu5ezxjLZRucBPEp43/dQz1+ShQUifu7Zkio
 6et3x/wSIYYQ1gwF97fbf+ilgvjvXUUlO9ocVHPJ91fJBfl/IRwcnSjhf4rOcAcbx7Ew2LCh
 QqRBB4Zo8jLopM0r4aV1fzV8d/xHrInTERAHmTd4bKnDgXg/zKukd1aTeKFXTHBT2eoqq+sU
 vpYkqPnO/odkVcU74clS+R3zbgz7sfErqNBylg2B23CalmmB+8yInSC2sUT5KRByqUA5FmzU
 0OLvNJbJa+IKIXuF1tIfFgpaeGK1Pc1nDjO7KtqfBWmtXEvpLfXA19POxSsiTBGKOonOYwo9
 u4tpcoK5lHtkREtKNuH0nhZ+mnkwqbsiEn7WkX22LPWtzc=
IronPort-HdrOrdr: A9a23:Jx8vaKqbtQOV6Z+zanlh480aV5uzL9V00zEX/kB9WHVpm5Oj+P
 xGzc526farslsssREb+OxpOMG7MBfhHPlOkPUs1NaZLXTbUQ6TQr2KgrGSpQEIdxeOlNK1kJ
 0QCJSWa+eAfGSS7/yKmTVQeuxIqLLskNHKuQ6d9QYWcegDUdAf0+4TMHf9LqQZfngiOXJvf6
 Dsmfav6gDQMkg/X4CePD0oTuLDr9rEmNbPZgMHPQcu7E2rgSmz4LD3PhCE1lNGOgk/jIsKwC
 zgqUjU96+ju/a0xlv10HLS1Y1fnJ/ExsFYDMKBp8AJInHHixquZq5mR7qe1QpF6t2H2RIPqp
 3hsh0gN8N85zf4eXy0mwLk303a3DMn+xbZuCmlqEqmhfa8aCMxCsJHi44cWADe8VAcsNZ117
 8O936FtrJMZCmw0hjV1pztbVVHh0C0qX0tnao4lHpES7YTb7dXsMg24F5VKpEdByj3gbpXX9
 WGNPuspMq+TGnqLEww5gJUsZ6RtzUIb1u7q3E5y42oO2M8pgE986MarPZv6UvouqhND6Ws3N
 60QZiAoos+OvP+XZgNdNvpfvHHeFAlOSi8SF56AW6XXZ3vaEi946Ie3t0OlZSXkdozvdwPpK
 g=
X-IronPort-AV: E=Sophos;i="5.88,295,1635220800"; 
   d="scan'208";a="62138819"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZYsFJuqmSgbx7pNgIk1rnnw+P9/3yUA1KvXKDgt5o2RMR3ZpvOWQHcDcrqN9aMBBSNyJetI5GpwPKFurpmN8Y7cXDxErI1Eyjk4oVzRkf155bw+21MH+vUEcBvWhkREDotfhizukjPjfhBqFgybSHno5dyVViZGLlcVbUrxQ2mFTjdULRWlb16IWJy4TC+PX9x21oQGnJ8+7R3yGt5m2MGsgvCjYWoU2XhWbeNliquOkZuNuz4N0KVRx1+zxWWxQLz6EjPGGHPplwUVf4rXwVUDS6vOza2W9B1ROC8iVNSL4FFgu3npv1ByrgporIkjSpKz5Slm2gXmGt7a+mpvzKA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ojngcjt1M2iDhn21AvZ+LOY3mmuCciu47e9GG4lJRbs=;
 b=C6oslnz5WWa5S/V2dagsREk/hlvqBB4+TQ/iZRHHZjykRB49vaJf35+0zZO5Pi1T6E03u7W8+jgUQMmMe4WeCUihAmTWvf8xPCV87/+9mA2smq7Hl5knvqwm8CjeeMNeGk0ss+QmRyTeGwXTKWGRs7FgMkF7icLkD87SqNMeIYqf9uIY3JYOMFck75EsZ+we37RnaXU0KqeRz/L1sEG4Ra4Bx4N5JuVrUtQo4b1JEhAPz50PUXCjn+fQgFgY/HfoHhoCjSw3l+VSaxBFJzoOGi/pkT3iF0mdMz/WnxMlK0acFbMlbdf1DYrijHg0f/Cq2D/82iTXOQjCWHl06/5ELQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ojngcjt1M2iDhn21AvZ+LOY3mmuCciu47e9GG4lJRbs=;
 b=Sftm+SavJd3M38DAGUKyfQMj6abKOuZPUSVGBgBpU0AJ+G9PojIo5F1EGoJ8WsvbqwX7rRNs496q6FRzmDbAHVbPT/oic/GfgD+J/sB7DvcCO/ZG9Q9stWmLg9XUVgff+KXLRxjcwBjNkW5P0eAb3ywQ4ZY451EFR8DgqE1qekc=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Anthony
 PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
Subject: [PATCH v6 03/12] libs/guest: allow fetching a specific CPUID leaf from a cpu policy
Date: Mon, 17 Jan 2022 10:48:18 +0100
Message-ID: <20220117094827.16756-4-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220117094827.16756-1-roger.pau@citrix.com>
References: <20220117094827.16756-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MR2P264CA0065.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:31::29) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 7a7ca300-544c-43ae-002d-08d9d99e9e3b
X-MS-TrafficTypeDiagnostic: DM6PR03MB4059:EE_
X-Microsoft-Antispam-PRVS: <DM6PR03MB405933432AF838FD18E10CB08F579@DM6PR03MB4059.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: M5fSwRpv7bxINY5RwbR8IPOpKzu5ob9ZFk+prqfgCGabSCmKVBX5l0rA3sxBe73lP7+5e56evczOZosGxtYRrzrJ3MZ+pyQJ43KKETVCbxc9lxio16+ashU/4a3VPgWO65evjW6flXjtPCjAuwP4U8afwNn+RKnN4GiuI1L0awFIJILLRTxHG49HaEmfELzMbAKhHVd7uzyKCoKsmw15muVk/txAXCy147I9PamclVZrzugk0OJ+4zV8L7nXaXFqGl0OcUw/9BMzC1Dm9Mqvs6ZucpwiBLP3Z+3cFePjoir36iBWI6QqivzXqElzNqQi0DMGB1u8doJoEAcT9UKPnH4LIxJ0Pms2yJy3pOxLK4pEMtI+6EZMo9zz1xF22MfQC+9StFo1FdkXr5NcZIQPZ8roUocsJL43QDCw8LH/eFTe86M1ekZ1tv5p4643zd5y5E+tFDy3kHf7vF2YHBS1J13pIt+AKudysywi6xOKrqtjGOngB1acAv+5wbtYOQpZ0TjSG+7Fjh9/7tNCPvBLqnpop578cDu/ejtEdol3NoD4l2BqBEhqIoXLoZcYP+BcHynRZ9VuPas5ny0kOEeaNt7OHwfQZ9ZwKNavNF6xuAOJueDhc1gMoilW0nADq9P2jEPADXjGJKA+cGpDdD06DA==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(4326008)(6512007)(8936002)(186003)(36756003)(6506007)(316002)(83380400001)(38100700002)(6486002)(26005)(6916009)(86362001)(8676002)(54906003)(2616005)(82960400001)(2906002)(5660300002)(66946007)(66556008)(66476007)(1076003)(508600001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SCs4YmpwMnN4ZDBsNGVLTXFab0Y0TTU0amd5MWFYTG5OWUM4OUo2ZzExVm4y?=
 =?utf-8?B?MnRLOHUzVlR5c2pmRytoM2l0STB1U0czMmJ2QzZ0L3lVcnJQdjhRK200U20x?=
 =?utf-8?B?N1hVRzFVTUFKdXpjQnEwdEJIQWZ4YW9paEo4cllCNjloRUNWd1h0cUEvUHBs?=
 =?utf-8?B?N2V4MWN1Yk9PYW9rSkRqMGs2MWZFeWkxeDlQbjJQd29aSTdPTTBRZVh3NEhC?=
 =?utf-8?B?Wi9SdVZPaWI4R0ovVWpONWdkWXdUUU03bG1LL3BkQnpGT3QzanFLdEJaNHYy?=
 =?utf-8?B?SjVLZU11YUo0SDZxUi9vSXR3blQzZlczdVVNVExMNHQ5ejlBTTVoWVEzb0N5?=
 =?utf-8?B?TVZxR3Y1cGFXY3VRdUFmeVNVclF5Ny92RldrcDhaeXRudHBMb2h2OVhQWDh0?=
 =?utf-8?B?SlV3QmFXckVkSS9ScThJcWh5cjNKQW1naDc2YUNIKzNDdmlWaWxObURXZFU1?=
 =?utf-8?B?R0Jua1hNVWRtaWRpcjl6RlpCaFdFUGdYNU1pcUNlOTRHWjdaTlo4MFNwOHFQ?=
 =?utf-8?B?VWdaUzZvNHZTNTlXL2lmYm11VTB0cDkzTTlja0F0R3c4TEdOUW5BeU5GQ0Ju?=
 =?utf-8?B?eFdzNE80QVlNZzlQUkVQK0VaY0pDaWQwRzBXMW9YKzlqVXNoY2l4eTh3MlU1?=
 =?utf-8?B?WjErbElCendFR3pxV1JCSXpVU25mTGk5WVdMOWsrSm9iTjFTYVI2N2Q0NjdE?=
 =?utf-8?B?MEp5RHhJT0pZMG02Yk5zbmtxaFZGK0hXb1VRUGhJZzY5KzF3aFVxUW4zY20y?=
 =?utf-8?B?aERMd0xNSjJGSGJmUlBVYmZ2ZVpSbDY1UGUxcVpMeng3RWZDVjJWVVUwRmtP?=
 =?utf-8?B?ZXNFbzBOd3hOZk9ET056VWVHZURUYU94TzR1YzdXR2lZby9VRUs0VWpIRVds?=
 =?utf-8?B?enVhQ2Z5KzYvOWVJZEoxTzVRcmlyYjZGNHFrU3FDUDV4WTZwRGhMNWRFMUZ6?=
 =?utf-8?B?c3M4Q2laNVdhR05oL2lPdXBYeEpxSWVYcUROK04yaFRkOVo5MVd5bXBhcDAz?=
 =?utf-8?B?QVpJMVByOHVaUTZ5R1hDd1hGNlN1Q0cxeklvT1BobXRjZzdxSDVkVDhYc3pk?=
 =?utf-8?B?MC9YdlRtZlYrSVViZnZhRDFyTG50R1JLelpTZkNlY0JUSlBqU1J2VTVDMUpz?=
 =?utf-8?B?ZHRaN0FucHlrcXU4azFXbW4xeFkyenhQY3AvSEc2MWNSbjJnWExmYWVZYnlC?=
 =?utf-8?B?RmJTKzFteXVQL2pDY3hRN0lvZWpBTHVITEVxTjREaHhnZnRZTG5yTGVjWFJT?=
 =?utf-8?B?YkpYY3Q1VWVhY3JFWktudFRjb2tZcCtDeWZOZ0ZHcXJ3VTRSSXVqL2tBcHZJ?=
 =?utf-8?B?OEZsTkdleUtXeUJHOGw0Tk5Nd0ZEdVhTVnlWS0t6eGEzalI1RG1QZ2EzOFMz?=
 =?utf-8?B?WkhXaEIrUWhjWFUxTDVwa3RqZ2JIVnk1WDdUMkRFYWMwUTZtamlib2FZYmUy?=
 =?utf-8?B?MmwrUUNZc0ZwRUliWTZCWmVoZ1pDU1dQNytoVGZYSTU5L2NJV3Y3WDgxVWs0?=
 =?utf-8?B?K3NpdEtvV253QVliK2NFQmFCUGZISjV3Z2VjK1FIOU5xUjZIWSswT2Q0T1Vj?=
 =?utf-8?B?M3lpSzAyZVpNR3FPSUVUMElycHB0cEdadm5oQWtuOUsyUUdWUEE3Y1p0V2Jr?=
 =?utf-8?B?K2JDMUJ6Q0xTVnhwZHFSNjJqVlhvNTlzNDM0QjRlZFdrRVpaNG4wdTJJR1dJ?=
 =?utf-8?B?K1c0QlFpZXR6Mmw2dnd2dVhqQ2RTbjg2eWJtZ1hnWmhoK1pxN2ZNaUtDcDVy?=
 =?utf-8?B?eWdKQzdqcGxhZ1hTWkp5RzRWR3d2NEJqK1ZCU2VqQXR3Mzk2T1FRcHZEYk5D?=
 =?utf-8?B?WDQrblFFY0h1Rk1DRjFQUy93STZGYUlwd1NRUmdXUEZ6UDF6VDlrUVhhSzZR?=
 =?utf-8?B?MUNyNUozQ0JOd0tLM2xwMzR4WWs0LzU3NFYvcFRXZmN5eW00QjlKNmxkRVJi?=
 =?utf-8?B?L3M1bFlQRldCaDhMQlEwM2dGOFhFMitXTWFEck5SM25YZys1MHM0aTdia0F5?=
 =?utf-8?B?bndyaXJEbGZGaHF5QUJSbVNLK2xTbzU2SDNEV0NBbEJUYkg0Y0RISlphQzZO?=
 =?utf-8?B?elc3M3FieFhKMklsQnVaVi9uRzBqK2VKcWJ1ejMvNmJKNXo3b1NkOXI0dlNu?=
 =?utf-8?B?WjZmNW95QW8yN2NvSy96SWgxcThiQkErMzZJaVRDd2ZOaHNlcGdpcndDTGhR?=
 =?utf-8?Q?NeCitfXRHaVT553bDmk1fwg=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 7a7ca300-544c-43ae-002d-08d9d99e9e3b
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2022 09:49:13.3143
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: t1+gboB2oGuf3WQDEqcDho8u28YTiWtMnGr7tvM3qqsStvB3jvotyCOdZKmHMijEj2AMOmkO7W89kbw6AWUYiA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4059
X-OriginatorOrg: citrix.com

Introduce an interface that returns a specific leaf/subleaf from a cpu
policy in xen_cpuid_leaf_t format.

This is useful to callers can peek data from the opaque
xc_cpu_policy_t type.

No caller of the interface introduced on this patch.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v5:
 - Zero out parameter.

Changes since v3:
 - Use x86_cpuid_get_leaf.

Changes since v1:
 - Use find leaf.
---
 tools/include/xenguest.h        |  3 +++
 tools/libs/guest/xg_cpuid_x86.c | 25 +++++++++++++++++++++++++
 2 files changed, 28 insertions(+)

diff --git a/tools/include/xenguest.h b/tools/include/xenguest.h
index e01f494b77..0a6fd99306 100644
--- a/tools/include/xenguest.h
+++ b/tools/include/xenguest.h
@@ -807,6 +807,9 @@ int xc_cpu_policy_update_cpuid(xc_interface *xch, xc_cpu_policy_t *policy,
                                uint32_t nr);
 int xc_cpu_policy_update_msrs(xc_interface *xch, xc_cpu_policy_t *policy,
                               const xen_msr_entry_t *msrs, uint32_t nr);
+int xc_cpu_policy_get_cpuid(xc_interface *xch, const xc_cpu_policy_t *policy,
+                            uint32_t leaf, uint32_t subleaf,
+                            xen_cpuid_leaf_t *out);
 
 /* Compatibility calculations. */
 bool xc_cpu_policy_is_compatible(xc_interface *xch, xc_cpu_policy_t *host,
diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
index b9e827ce7e..aff4efe78d 100644
--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -855,6 +855,31 @@ int xc_cpu_policy_update_msrs(xc_interface *xch, xc_cpu_policy_t *policy,
     return rc;
 }
 
+int xc_cpu_policy_get_cpuid(xc_interface *xch, const xc_cpu_policy_t *policy,
+                            uint32_t leaf, uint32_t subleaf,
+                            xen_cpuid_leaf_t *out)
+{
+    const struct cpuid_leaf *tmp;
+
+    *out = (xen_cpuid_leaf_t){};
+
+    tmp = x86_cpuid_get_leaf(&policy->cpuid, leaf, subleaf);
+    if ( !tmp )
+    {
+        /* Unable to find a matching leaf. */
+        errno = ENOENT;
+        return -1;
+    }
+
+    out->leaf = leaf;
+    out->subleaf = subleaf;
+    out->a = tmp->a;
+    out->b = tmp->b;
+    out->c = tmp->c;
+    out->d = tmp->d;
+    return 0;
+}
+
 bool xc_cpu_policy_is_compatible(xc_interface *xch, xc_cpu_policy_t *host,
                                  xc_cpu_policy_t *guest)
 {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 09:49:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 09:49:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258044.443941 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Odj-00047h-BA; Mon, 17 Jan 2022 09:49:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258044.443941; Mon, 17 Jan 2022 09: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 1n9Odj-00047S-6u; Mon, 17 Jan 2022 09:49:27 +0000
Received: by outflank-mailman (input) for mailman id 258044;
 Mon, 17 Jan 2022 09:49:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TAtW=SB=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n9Odh-0003a5-6c
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 09:49:25 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bf3cd636-777a-11ec-a115-11989b9578b4;
 Mon, 17 Jan 2022 10:49:23 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bf3cd636-777a-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642412963;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=vDeZNAfzjRCgFt8hGu55m0epQtOZNasdba7RtKoWkc4=;
  b=Peaz1VDE/CbAVVfdTmSrJIVZt/fLsIMxDKpD7mMEMRUIkk3I6kFNEggk
   xgb3ILVZCJ2kF8+Sq1qGs80xwG8vfvkmd61Hdop93EaC1I8q65gRP/CNO
   XpT08jOupL9lSEBD5xP9vqmVE/Um9THVUZ92qDl3V1+VuOxCnctXVAzea
   Y=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: LHh4JEJfGJpIDvJQ4mHWOOabhVQ4PisDz4BEA/cn0MyFydbQBPb0IWEyuwg2NaIEuwHTWlg6RT
 aUC+J3bikwrJXuzps0K62q/19MhiSMUvLHiHIyUZKqGY+dRIYrBS8BL1AjiHmExlNrWqgC1Iks
 wSiFaLpljVsR/ueUnorfqBVVgNHcDGdiCxFAnlSfh7cLEVSDbphj1ic0c0PWTrDCgeguZokbxf
 icjQncsl//wVP1tO1/qgZfZLjFowPcxJazfuZVUqp3iR/ATTyv7YXI+oZwRwv17lk2hdr1DfiC
 FR29K8EAIEZ72+WjyBORT1Wi
X-SBRS: 5.2
X-MesageID: 64269527
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:6zQ8QazULh17qXEIhlZ6t+fWwSrEfRIJ4+MujC+fZmUNrF6WrkUFy
 2UXDWyCOfmDNGr8fd8naIu+oBwC65eBx9FgTgRqpSAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnvopW1TYhSEUOZugH9IQM8aZfHAhLeNYYH1500g7wrdm2tcAbeWRWGthh
 /uj+6UzB3f9s9JEGjp8B3Wr8U4HUFza4Vv0j3RmDRx5lAa2e0o9VfrzEZqZPXrgKrS4K8bhL
 wr1IBNVyUuCl/slIovNfr8W6STmSJaKVeSFoiI+t6RPHnGuD8H9u0o2HKN0VKtZt9mGt/Ev4
 850msWAdQgOJpb3xbwveTJRAT4raMWq+JefSZS+mcmazkmAeHrw2fR+SkoxOOX0+M4uXzsIr
 6ZBbmlQMFbT3Ipaw5riIgVort4kI8TxepsWp1lrzC3DDOZgSpfGK0nPzYEEhmlh25oRdRrYT
 /QJMx8xaC7tWABoI3E0Aq8TzLe1pWaqJlW0r3rK/PFqsgA/1jdZz7zFINfTPNuQSq19nEyVu
 2bH9GTRGQwBOZqUzj/t2mKhgKrDkD32XKoWFaak7bh6jVuL3GsRBRYKE1yhrpGEZlWWAowFb
 RZOo2x38PZ0pBfDosTBswOQgSCvpSczAupsHMoi0zrQkpj+yA+LGT1RJtJeU+AOuMgzTD0s8
 1aGmdL1GDBi2IGopWKhGqS89m3rZ3VMRYMWTWpdFFZevYG/yG0mpkuXFo4LLUKjsjHi9dgcK
 RiupTN2ubgchNVjO06TrQGe2GLESnQko2cICuTrsoCNs1kRiG2NPdXABb3nARBodtzxor6p5
 ilspiRmxLpSZaxhbQTUKAn3IJmn5uyeLBrXikN1Ep8q+lyFoiD/J9sNsGoueBs3Yq7onAMFh
 meJ5Gu9A7cJbROXgVJfOdrtW6zGM4C9fTgaahwkRoUXOcUgHON21CpveVSRzwjQfLsEyskC1
 WOgWZ/0Vx4yUP0/pBLvHrt1+eJ1mkgWmD2CLbimn0XP+efPPxa9FOZaWGZim8hktstoVi2Pr
 YYGXyZLoj0CONDDjt7/qt9MfQtUfCliVfgbaaV/L4a+H+avI0l4Y9f5yrI9YY112aNTk+bD5
 HamXUFEjlH4gBX6xc+iMxiPsZvjAsRyq2wVJyspMQr60nQve9/3vqwea4E2bf8s8+k6lax4S
 PwMesOhBPVTS2uYp2RBPMel9IEyJg62gQ+uPja+ZGRtdZBXWAGUqMTveRHi9XdSA3Pv59c+u
 bCpyijSXYEHG1Z5FM/TZf/2lwGxsHERlfhcRUzNJtUPKkzg/JIzc376j+MtItFKIhLGn2PI2
 wGTCBYehO/Mv45qr4WZ2fHa99+kSrIsEFBbEm/X6aeNGRPbpmfzk5VdVOuofCzGUD+m8quVe
 ugIner3N+cKnQgWvtMkQapr1683+/Dmu6ReklZ/BHzOYlmmVuFgL32B0ZUdv6FB3OYE6w6/W
 0bJ8dhGI7SZfsjiFQdJdgYia+2C09ASmyXTsqtpcBmruncv8erVS1hWMjmNlDdZfel8P44Sy
 Os8vNIbtl6kgR0wP9fa1i1Z+gxg9JDbv3nLYn3CPLLWtw==
IronPort-HdrOrdr: A9a23:SAOUxa0m90BVA2mUqi1WqQqjBV5yeYIsimQD101hICG9Lfb2qy
 n+ppgmPEHP5Qr5OEtApTiBUJPwJU80kqQFm7X5XI3SJzUO3VHHEGgM1/qF/9SNIVydygc/79
 YeT0EdMqyIMbESt6+Ti2PZYrUdKbG8gdyVbIzlvhBQpG9RGsRdB1ATMHfnLqQ6fngOObMJUL
 6nouZXrTupfnoaKuy9G3k+RuDG4/nGjojvbxIqDwMurFDmt0Li1JfKVzyjmjsOWTJGxrkvtU
 DDjgzC/62m99W20AXV2WP/54lf3PHh1txALsqRjdV9EESlti+YIKBaH5GStjE8p++irH4sjd
 n3uh8le/9+7nvAF1vF1SfF6k3F6nID+nXiwViXjT/IusriXg83DMJHmMZwbgbZw1BIhqAx7I
 t7m0ai87ZHBxLJmyrwo/LSUQtxq0ayqX0+1cYOkn1kV5cEYrM5l/1TwKpsKuZPIMvG0vFnLA
 E3Z/uspMq+MGnqJUwxh1Mfj+BFBR8Ib1S7qktrgL3h79EZpgE686Ii/r1vop43zuNOd3B13Z
 W7Dk1WrsA/ciZvV9MEOA4ge7rBNoWfe2O7DIqtSW6XZ53vfUi97qLK3A==
X-IronPort-AV: E=Sophos;i="5.88,295,1635220800"; 
   d="scan'208";a="64269527"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eIe4jCzGQrUw8MIyG31vb7gSsQN66mh09Dx1BNNGSg/0NBnfC7qv/Mz8ZQUWF2w/x4+GRgQtRySorlgDfGqla72rh1MY0/+uG/UTWallejVwcRgjBWtotzQVo4+F85xAoDMaMNkFCh4kvee+ImQoWN3CRDe+AflhQ2m4gKWFlZeLuRLiVcnjnZLzZshLx/y/XQxwzdv4MAHkkDFt/7wnNs+vVWV8qo9Is2vsr1vJaWF7NB1LwEm6pYUGeEkCMOtMFb3E7ZxpbkFfx+4Vtk7yAMIAz+0rssjjPytvKhIPvkZJhNl4MhaEIquJstKOSef3w3/BPoFzdpP7eYhOAOTAUQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MQ4w732WigNqFyep8JcmK9zsMMm6uzHE9SmRsR9wkPA=;
 b=e/a4+YkbbsboMl5bZlUuujwGvzeMuEUqIytyA/cDP5tytR41rStr/dH+lvKnG7LfgeRGMHGHZ0RbaafRuNiX03ivmdCs6mlaDdH6uEjFT6kWUm2G4LDJo8XkBfW7e7hljHKtHqA2oK3KfAY1pVS4du8XqQSDRLvgy/7jLO8tC+eEJ8OLn+0q3Cth7lGoitl+g0WfXAHZoR1J86azoIZbwONDvl7KJIPIxf++fPTeBsuXoAAX6qDwbzOWIB44jCkkZQlJEfLkjb3wR2y1Dao48bJgbeXbUZ6qD6OGoJQSbPaxX8qUGhqhvpeaqrIUkkqOT0yFQL4J45+dd1/TGx8PuA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MQ4w732WigNqFyep8JcmK9zsMMm6uzHE9SmRsR9wkPA=;
 b=qswsX6/EBCB+y7PUFaAaD6X1LWa+DbVeUv5fFMkod7BqeL0No1icCtsIXkIL2ujGwGnHXJ64OVXxTpK75p3qrHBB2LEj8svvuRSrGPeGHcY/U0LiB1tvaQZFK3J9+00Mgd3Ef4yfZsfJ9MLAG2pNyJF4xlrrfC7EJKfQFEwHkRM=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>, "Anthony
 PERARD" <anthony.perard@citrix.com>
Subject: [PATCH v6 04/12] libx86: introduce helper to fetch msr entry
Date: Mon, 17 Jan 2022 10:48:19 +0100
Message-ID: <20220117094827.16756-5-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220117094827.16756-1-roger.pau@citrix.com>
References: <20220117094827.16756-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MR2P264CA0113.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:33::29) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 79fa31bf-a88f-43dd-613a-08d9d99ea15c
X-MS-TrafficTypeDiagnostic: DM6PR03MB4059:EE_
X-Microsoft-Antispam-PRVS: <DM6PR03MB4059C5EBC7E50A01302099028F579@DM6PR03MB4059.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: ukEnZ2PmybNUijujuE+p/pcUYQvoYeAeW2jCJBbw36bRszinBlEwGiB0so8MvVl5+Vr3RPy8BTDQ5PZtgxR6Xyc6wJIe85nhQn0a1c0P72nGiolV9DytM1kPHSBZkPmycH3/lskUg6IcCzVYYbFvq0r2pzJzN2oA7Sp29df4MyGCMF1AtNORaqO9hhx4HdbY6BSZ1ZDr0u5krsUufhOAX1FbrSJvG2aoFoeKcl8ogS6YO2NhBZgRnoPK2VBYy5WEn/VTSByI0FFjIkovNoLxM0lujkBkN8i4dqTAiNwL6Q+7OU4APjFwrpHaFl0MNYpPaWb5IB1Re90HCtDEzycnNl7ijep7BjGKLazFR2tTT/iHRaOuDYQFz9acvhae1LRNFN/9uayD5gGudWJzr8DUVJFXmRsazNvLQQTWLzD4TiPdPgdjiyb+NmeJMA48xNuoSqAp/SK9YWILQ/Mt7rCrSa4Dxd/M6PNQBKylOf5NjEvFJWxmka81wIPyFJJyUE0dLFe6B32F+RYnGda9GV11lLJFSBDyAmM4SJnlU712zPV5Yj8PF/xz3CvMVBOx09a1eHS7dsm8L6RUkkqJXJr15Z+ATVXbkg32hQPmrfI2TeN4O781lxtCH9KyhKIFKJAoTZWw+OYqF231MM06zmGg3GzxvTfdnXD+xco98K9yIQYtz1jWI3evKCzMiWN46K3f4K+sA5Xah1fJLcEZMY95jw==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(4326008)(107886003)(6512007)(8936002)(186003)(36756003)(6506007)(316002)(83380400001)(38100700002)(6486002)(26005)(6916009)(86362001)(8676002)(54906003)(2616005)(82960400001)(2906002)(5660300002)(66946007)(66556008)(66476007)(1076003)(508600001)(309714004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?QWpTeFhLSGdBSGFrRHNCN3E3azRXa25Ec1Nva0djSThHejhDaVRrVlZId0cx?=
 =?utf-8?B?V2JkL2thMXd3OUFjK3RQZU5GTDljRmNaQTFLU2hXQ1oxWS94Y2t3WmEvU2hE?=
 =?utf-8?B?cTVXcTdjWmFTS2FEQnRIRnpOU2Vtcmo0Q3U1YjVsK1BMR0VuQU5rMzBFK0Jt?=
 =?utf-8?B?Qlc0LzRjMWppbU52NVloMllobmJGRldaTlowYjh6UE80bExvOHBieDJZSVJU?=
 =?utf-8?B?RHV1ZVFqdDFHNGdQd3cvMTVXekdOSUNadzVaYW1EeGRkMndvM1kwZENrRjBm?=
 =?utf-8?B?eG1oRTZ3YnNrMmFzcWhabmhlQXFpdHV6d2pjelBGQVh6ZVBid0JFcmZpYTIw?=
 =?utf-8?B?MDJ4UmFpTlFYOHJpU201cysra0FrSnJ1K2FINGhTVDk5UVhPT2o4NForbXVR?=
 =?utf-8?B?UC9pZkUwNnd5M1JKekowWHc1MWdiMDB4UnFYaWt6UE4yWjFhd0puK3RpcmhY?=
 =?utf-8?B?by92UnRyWWM0RHZydVVHaDg1Q2JrT3dFd0RkUTJTUUNaL0JrRmpLNlBlcEY1?=
 =?utf-8?B?NklWSERZY3N5cXVLZWZqaEZDWnduWDZIeU5NcTg3OXBGblVhK1lGMno2NGFF?=
 =?utf-8?B?ZGJYZXJZN2g3Yi9taDVyUHhPUk5tbUI3Zks4aXBaNk9sK1I0c2JackljVUZu?=
 =?utf-8?B?bXZHYis5MitJZ1NVQmZyeUxlUVJobUJqa2xIbEtzdEVJc1owNkdWc0pCbnBZ?=
 =?utf-8?B?N0tXdzVwTW5qY2RJUmZBUmk3cXQ4OVVURTBUakJBWUdUeXpRUXNnc3NiVFUz?=
 =?utf-8?B?eExhMnIxc3JxUFlHcjlXYkQ3SmtyVklJcHJoeTQ5OW5VTkJjdnFEaFdMUFYr?=
 =?utf-8?B?WVBYYXUxL3NvQUdSL0M4R2R5bjVaZUQ1VjZ3WkE4WnZPZjUzSHc5STNnanVJ?=
 =?utf-8?B?bWRsSWhlb1RtejBpMHUwTFlnK1BmNldqOVB0QUxhd0sxeWxQWTZqTkkxLzdU?=
 =?utf-8?B?QmF5b0tnQkM3aFhhOUwwYzhmVXQrRlRKb0hxQzNhMTRZMGd6ckZJMGtWNEdi?=
 =?utf-8?B?dmx3Wjkxc3dwSEtzYUx0VnRSazZFSStqTG1nRjVrSHFhZnBHUTVaVHh5N3Q5?=
 =?utf-8?B?UGxURDcvMkZWcGcydzJ0Y05XQXBzOW5oR015NHJSTUdFNzFCMklmdzl2a3ox?=
 =?utf-8?B?ZnJoQ3BkQjRyLy9scnJGbDM3YkVZYTRRVmE3UTNMTmRIOGFLN2FOcHkwUytM?=
 =?utf-8?B?TDRYbm5NcjdpVXhmQUNUdUNpNVNwMlRaaVdKNk1PNnNFS2pXVHZkVHVlZW94?=
 =?utf-8?B?aVZ2UE9pQmZkYmNaYVdVZWEyY0xZOGNDdzZoeTVJQWFnbEM2OFd4dnFabzUr?=
 =?utf-8?B?VnBBd0FXaFd0SUp0Z0VtWktPSElRMDB4S0NLMU03Z1ArbzJUczlNWGZsR1lv?=
 =?utf-8?B?ZU5QYUQ4bHU1QVFPSkxvNmRWZVIvMEtRUkoyemd3M3Bad2JNa1VFMHQ2WFBa?=
 =?utf-8?B?Qy9kTGVKY1hFK1lEb3RZRm84ZnVJOWp4aXhwc2xnZVV0UEtKQ2lqWW9Dd3Nl?=
 =?utf-8?B?Z3pnSG1BbURkUGVSYzVMSmx1ZzZVcnpuNFpGQ1ZMcFBiU2dMK3h5TUx0TzN4?=
 =?utf-8?B?MGtLQXpQeWJRMTd6SGRvYVdpdGZXN2Y3UzhtVEk0SGo0L3JTdEMxNlJmMlJS?=
 =?utf-8?B?MTlEZllqWGp0Z1NxSDlHMnBXVk5rbklGMFBJSEROUG42VzFHTG9DWHhFd0lz?=
 =?utf-8?B?VmJRSzlWcnpzOHdBWUxxUlROVVdnOFZwaG5jWFg1K0hTSXk3SXY2RnpobCtx?=
 =?utf-8?B?WXY3c3hSQmZFRHZNQmMxSS9TdUpmdkVWT1dJVXNScHUwY0wrQjNOU2hQWnk3?=
 =?utf-8?B?QzFGdjArblhNWlBrYVY2ZTFJYzhVdk1hbXRqdXNBOUlqQ3M3OWlibU9qS2dP?=
 =?utf-8?B?bVptZG1oK2dodVFhY3FXTmd1dURmUWp5bkZBb3c4Skx3RjIwR0p3blN6MUd4?=
 =?utf-8?B?MWRnamJjN1VMR0RMVTVsdmxxNVlsNUhPV0pqWDEwaWtXMHJldUNIc1RMQkQx?=
 =?utf-8?B?UzhQNGlKemQ0SmwxSXpHQkh2UnhjNGk2M0xWRXJYUVZLYndtV0lkZDZweUgx?=
 =?utf-8?B?b1B4S09iM041SGl2YmdkWmp2b2hNRzJRdk94bC84Z04xanMwNjJvNnIrR2g2?=
 =?utf-8?B?VmJNNE5SOHhGMjBjdHBJeDJDcWZ5TE5JdE94MXJocWZndTlVdi81UDJrWFo0?=
 =?utf-8?Q?zxN87yrh0J24NZfk6T2w6S8=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 79fa31bf-a88f-43dd-613a-08d9d99ea15c
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2022 09:49:18.5663
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /+b9ap6zaIDHB2rAAdUG3vaZKkYFhaXIDwd20m6ijhjnED4xAL4IhCeMN5peAPS1xMPIij46PVrm5pIXpRzCeA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4059
X-OriginatorOrg: citrix.com

Use such helper in order to replace the code in
x86_msr_copy_from_buffer. Note the introduced helper should not be
directly called and instead x86_msr_get_entry should be used that will
properly deal with const and non-const inputs.

Note this requires making the raw fields uint64_t so that it can
accommodate the maximum size of MSRs values, and in turn removing the
truncation tests.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v4:
 - Rename _x86_msr_get_entry to x86_msr_get_entry_const.
 - Add newline before endif.

Changes since v3:
 - New in this version.
---
 tools/tests/cpu-policy/test-cpu-policy.c | 48 +++++++++++++++++++-----
 xen/include/xen/lib/x86/msr.h            | 20 +++++++++-
 xen/lib/x86/msr.c                        | 41 ++++++++++----------
 3 files changed, 76 insertions(+), 33 deletions(-)

diff --git a/tools/tests/cpu-policy/test-cpu-policy.c b/tools/tests/cpu-policy/test-cpu-policy.c
index 3f777fc1fc..686d7a886c 100644
--- a/tools/tests/cpu-policy/test-cpu-policy.c
+++ b/tools/tests/cpu-policy/test-cpu-policy.c
@@ -386,16 +386,6 @@ static void test_msr_deserialise_failure(void)
             .msr = { .idx = 0xce, .flags = 1 },
             .rc = -EINVAL,
         },
-        {
-            .name = "truncated val",
-            .msr = { .idx = 0xce, .val = ~0ull },
-            .rc = -EOVERFLOW,
-        },
-        {
-            .name = "truncated val",
-            .msr = { .idx = 0x10a, .val = ~0ull },
-            .rc = -EOVERFLOW,
-        },
     };
 
     printf("Testing MSR deserialise failure:\n");
@@ -644,6 +634,43 @@ static void test_cpuid_get_leaf_failure(void)
     }
 }
 
+static void test_msr_get_entry(void)
+{
+    static const struct test {
+        const char *name;
+        unsigned int idx;
+        bool success;
+    } tests[] = {
+        {
+            .name = "bad msr index",
+            .idx = -1,
+        },
+        {
+            .name = "good msr index",
+            .idx = 0xce,
+            .success = true,
+        },
+    };
+    const struct msr_policy pc;
+    const uint64_t *ec;
+    struct msr_policy p;
+    uint64_t *e;
+
+    /* Constness build test. */
+    ec = x86_msr_get_entry(&pc, 0);
+    e = x86_msr_get_entry(&p, 0);
+
+    printf("Testing MSR get leaf:\n");
+
+    for ( size_t i = 0; i < ARRAY_SIZE(tests); ++i )
+    {
+        const struct test *t = &tests[i];
+
+        if ( !!x86_msr_get_entry(&pc, t->idx) != t->success )
+            fail("  Test %s failed\n", t->name);
+    }
+}
+
 static void test_is_compatible_success(void)
 {
     static struct test {
@@ -763,6 +790,7 @@ int main(int argc, char **argv)
 
     test_msr_serialise_success();
     test_msr_deserialise_failure();
+    test_msr_get_entry();
 
     test_is_compatible_success();
     test_is_compatible_failure();
diff --git a/xen/include/xen/lib/x86/msr.h b/xen/include/xen/lib/x86/msr.h
index 48ba4a59c0..4d84b7cf27 100644
--- a/xen/include/xen/lib/x86/msr.h
+++ b/xen/include/xen/lib/x86/msr.h
@@ -17,7 +17,7 @@ struct msr_policy
      * is dependent on real hardware support.
      */
     union {
-        uint32_t raw;
+        uint64_t raw;
         struct {
             uint32_t :31;
             bool cpuid_faulting:1;
@@ -32,7 +32,7 @@ struct msr_policy
      * fixed in hardware.
      */
     union {
-        uint32_t raw;
+        uint64_t raw;
         struct {
             bool rdcl_no:1;
             bool ibrs_all:1;
@@ -91,6 +91,22 @@ int x86_msr_copy_from_buffer(struct msr_policy *policy,
                              const msr_entry_buffer_t msrs, uint32_t nr_entries,
                              uint32_t *err_msr);
 
+/**
+ * Get a MSR entry from a policy object.
+ *
+ * @param policy      The msr_policy object.
+ * @param idx         The index.
+ * @returns a pointer to the requested leaf or NULL in case of error.
+ *
+ * Do not call this function directly and instead use x86_msr_get_entry that
+ * will deal with both const and non-const policies returning a pointer with
+ * constness matching that of the input.
+ */
+const uint64_t *x86_msr_get_entry_const(const struct msr_policy *policy,
+                                        uint32_t idx);
+#define x86_msr_get_entry(p, i) \
+    ((__typeof__(&(p)->platform_info.raw))x86_msr_get_entry_const(p, i))
+
 #endif /* !XEN_LIB_X86_MSR_H */
 
 /*
diff --git a/xen/lib/x86/msr.c b/xen/lib/x86/msr.c
index 7d71e92a38..e9b337dd70 100644
--- a/xen/lib/x86/msr.c
+++ b/xen/lib/x86/msr.c
@@ -74,6 +74,8 @@ int x86_msr_copy_from_buffer(struct msr_policy *p,
 
     for ( i = 0; i < nr_entries; i++ )
     {
+        uint64_t *val;
+
         if ( copy_from_buffer_offset(&data, msrs, i, 1) )
             return -EFAULT;
 
@@ -83,31 +85,13 @@ int x86_msr_copy_from_buffer(struct msr_policy *p,
             goto err;
         }
 
-        switch ( data.idx )
+        val = x86_msr_get_entry(p, data.idx);
+        if ( !val )
         {
-            /*
-             * Assign data.val to p->field, checking for truncation if the
-             * backing storage for field is smaller than uint64_t
-             */
-#define ASSIGN(field)                             \
-({                                                \
-    if ( (typeof(p->field))data.val != data.val ) \
-    {                                             \
-        rc = -EOVERFLOW;                          \
-        goto err;                                 \
-    }                                             \
-    p->field = data.val;                          \
-})
-
-        case MSR_INTEL_PLATFORM_INFO: ASSIGN(platform_info.raw); break;
-        case MSR_ARCH_CAPABILITIES:   ASSIGN(arch_caps.raw);     break;
-
-#undef ASSIGN
-
-        default:
             rc = -ERANGE;
             goto err;
         }
+        *val = data.val;
     }
 
     return 0;
@@ -119,6 +103,21 @@ int x86_msr_copy_from_buffer(struct msr_policy *p,
     return rc;
 }
 
+const uint64_t *x86_msr_get_entry_const(const struct msr_policy *policy,
+                                        uint32_t idx)
+{
+    switch ( idx )
+    {
+    case MSR_INTEL_PLATFORM_INFO:
+        return &policy->platform_info.raw;
+
+    case MSR_ARCH_CAPABILITIES:
+        return &policy->arch_caps.raw;
+    }
+
+    return NULL;
+}
+
 /*
  * Local variables:
  * mode: C
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 09:49:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 09:49:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258048.443953 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Odm-0004Zt-Ry; Mon, 17 Jan 2022 09:49:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258048.443953; Mon, 17 Jan 2022 09:49:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Odm-0004Zi-OV; Mon, 17 Jan 2022 09:49:30 +0000
Received: by outflank-mailman (input) for mailman id 258048;
 Mon, 17 Jan 2022 09:49:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TAtW=SB=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n9Odl-0003a5-Nq
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 09:49:29 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c2566c26-777a-11ec-a115-11989b9578b4;
 Mon, 17 Jan 2022 10:49:28 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c2566c26-777a-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642412968;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=i/Ieolt0RmTqqhBWhTbcDNrdVcfCOwY0R0xAyfxSaGQ=;
  b=QzRSGHWI1s9MusYo/5E94NV8Rez1NZ9bn0SXDHNvRWBOgi4+QS1wK4M+
   PVbWfdw1PS9aPJ9r+ctLh8jkSkoih/YvyRNdO8fgsq3HFrNJcQH9fslgY
   7uC838BKjQs1Olj+huNCv4RAevEzvT6ehnusJ6QsWFBCsTC/HYy7VzGKs
   A=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: 2PcGYcKNwyYdslBSXkvrUVRGF57rDCnaKOvJuYzwfFn3KGOIJA812/cD3TkNxJ4Xuz1p8M7FZ8
 0TpewO7+2bz5W3kB7Vj3xLCXpesf0tLviJc1hGuoSKk9LxiXjAdFLTs86X3xZSqn7Zh5ZVXSrF
 U0cFU1Y7odF+uun3baEInsURHeh5O3CiTBBa0ursDtGj8ybjVFqjbjEQfPCO6HNahbvWtqHQwg
 ofBjAuyrsfLnMrzCuAQzPMMI1XBCHn7WwcNZTS+A92e/fStlM5mS7zRUpNWY7hP1dlCJ4Wo0Im
 gyDW13DBc+OSAPLx5c+WdfT/
X-SBRS: 5.2
X-MesageID: 62138835
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:LA4WQKOEqGZ1TnDvrR1CkMFynXyQoLVcMsEvi/4bfWQNrUom1zAEz
 WNNDWiAOa2IamH1etB+at++8BtXuJTdy99lHgto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdpJYz/uUGuCJQUNUjMlkfZKhTr6UUsxNbVU8En150Es8w7dRbrNA2rBVPSvc4
 bsenOWHULOV82Yc3rU8sv/rRLtH5ZweiRtA1rAMTakjUGz2zhH5OKk3N6CpR0YUd6EPdgKMq
 0Qv+5nilo/R109F5tpICd8XeGVSKlLZFVDmZna7x8FOK/WNz8A/+v9TCRYSVatYoySpjvdu7
 OpAjJzzdQkPHbyLyek4TDANRkmSPYUekFPGCX22sMjVxEzaaXr8hf5pCSnaP6VBpLwxWzsXs
 6VFdnZdNXhvhMrvqF6/YvNrick5atHiIasUu216zCGfBvEjKXzGa/uQvIQIjGxt7ixINd/4a
 sQdTGpeUBDncQFNKk8WVLM0ks790xETdBUH8QnI9MLb+VP7zgNr16P2GMHIYdHMTsJQ9m6Ho
 krW8mK/BQsVXPSPxDzA/n+yi+vnmSLgRJlUBLC+7uRtglCY2ioUEhJ+aLegiaDn0AjkAYsZc
 hFKvHp1xUQvyKC1ZsjdTjqnhEGJhx5fZ9R2MPx9uQyo1YOBtm51GVM4ZjJGbdUnsuo/Sjory
 kKFkrvVONB/jFGGYSnDr+nJ9FteLQBQdDZfPnFcEWPp9vG6+Nlr5i8jWOqPB0JcYjfdPTjri
 w6HoyEl71n4pZ5ajv7rlbwrbt/Fm3QocuLXzliNNo5GxlkgDGJAW2BOwQKBhRqnBNzIJmRtR
 FBex6CjABkmVPlhbhClTuQXB62O7P2YKjDailMHN8B/q272pi74LdwMvmEWyKJV3iAsI2KBj
 Kj741I52XOuFCHyMf8fj3yZVqzGMpQM5fy6D6uJP7Kik7B6dROd/TEGWKJj9zuFraTYqolmY
 c3zWZ/1VR4yUP07pBLrGbt1+eJ1l0gWmDOCLbimnk/P+efPOxaopUItbQHmghYRtv3U+W04M
 r93aqO39vmoeLavPXmMr99CdABiwLpSLcmelvG7v9Wre2JOMGogF+XQ0fUmfYlklL5SjeDG4
 je2XUow9bY1rSavxdyiZi8xZbXxc4x4qH5nbyUgMUzxgyooYJq17bdZfJwyJOF1+OtmxP9yb
 v8EZ8TfXagfFmWZo2wQPcvnsYhvVBW3ngbSbSCrVycyIsx7TAvT9966Iga2rHsSDjC6vNcVq
 qG70l+JWoIKQglvVZ6EaP+mw16rk2IaneZ+AxnBLtVJIR2++4l2MS3hyPQwJphUexnEwzKb0
 SeQAAsZ+raR89NkroGRiPnd/YmzEuZ4Ek5LJEXh7O67ZXvA426u4Y5cS+LULzrTY3z5pfe5b
 uJPwvCibPBexARWs5BxGqpAxL4l44e9vKdTywlpESmZb1mvDb88cHCK0dMW6/9Iz75d/wC3R
 liO6p9RPrDQYJHpF1sYJQwEaOWf1K5LxmmOvKpteEiqtjVq+LenUFlJO0jegSNQG7J5LYc5z
 Lpzo8UR8QG+1kInP9vuYvq4LIhQwqjsi5kai6w=
IronPort-HdrOrdr: A9a23:Xozhz68HMgJy9vR3JVtuk+FAdb1zdoMgy1knxilNoENuHfBwxv
 rDoB1E73LJYVYqOU3Jmbi7Sc29qBTnhOJICOgqTMqftWzd1ldAQ7sSi7cKrweQeREWs9Qtrp
 uIEJIOeeEYb2IK9PoSiTPQe71LoKjlzEnrv5al854Ed3AVV0gK1XYfNu/0KDwSeOEQbqBJa6
 Z0q/A37AaISDAyVICWF3MFV+/Mq5nik4/nWwcPA1oC5BOVhT2lxbbmG1zAty1uHg9n8PMHyy
 zoggb57qKsv7WSzQLd7Xba69BzlMH6wtVOKcSQgow+KynqiCyveIN9Mofy9gwdkaWK0hIHgd
 PMqxAvM4Ba7G7QRHi8pV/X1wzpwF8Vmgnf4G7dpUGmjd3yRTo8BcYEr5leaAHl500pu8w5+L
 5X3kqC3qAnQy/orWDY3ZzlRhtqnk27rT4JiugIlUFSVoMYdft4sZEfxkVIC50NdRiKp7zPKN
 MeTP002cwmMm9zNxvizytSKZ2XLzgO9y69Mwk/Upf/6UkSoJh7p3Fos/D30E1wsK7VcKM0lN
 gsBJ4Y4I2mfvVmHZ6VO91xM/dfcla9OS4kEFjiaGgPR5t3c04klfbMkcAIDaeRCds18Kc=
X-IronPort-AV: E=Sophos;i="5.88,295,1635220800"; 
   d="scan'208";a="62138835"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LdsrO2He3AM7acPokpEdm+diZdtQH0OUtl2hg7FStwSoYqG1VrO78wHJ7f9d+KWWs87maC3HNcZS/XW/Mnww6HGAyYeMiS6t027RjfAS4LZ+a8rM/hwL4T4nZ2v3iepbV68cJVyuZ2Ukq+meZtxZP+nf2wriEY+iBsHuxtaj2IqDxvMi9ya9WYaqwQvfROjmngx9hRQDWLYmWfhLbNQ3AtHh6GV2tWXRiykKJibOb6+3x4Cj9uEOIQ5ZW5hzR2F1+UV69nmenX8TL1Lk9JoCNbQPY3ILKV2tjvKgPiZKIqpTnBv4lGL9hrxaGAHHIe0ZmPvF1jr9oLq0gwQUSTbGGg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ttKOShXOtJhXrlltWfsF3kLq+OT0ydsXDZqofm2TxBw=;
 b=W4CpENHRVPhg6RVyHOgq7kkviIiMJPAqAFdlxfXpuoL4g5B/IHwbo8iwLMvp8t195YluRciDhrkS7qShCqkbvAxKiFllBqpS68837pxkM3i+navzXjEbCE+Spm8OXbqQDiO4WZr+wwhuBS/C4R5onR/W5m2B0t5dc2xsiBLi61WrE0BYSCeCqUcFFpOcJPEDPZ7pQvIsL7DmR4d9y6NdlzMv6Ur65Y/G6nw5WNTfOf4iTZ8OyHwLmkXkNAlTuaPX17nxKgIJ71v1ZdJreTdecz18W5hvVvPhRhi5z7OPTL/07676rjvFHnNSuJv6ZwTzjSFo/B+0pGrq8fr8G6hGuQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ttKOShXOtJhXrlltWfsF3kLq+OT0ydsXDZqofm2TxBw=;
 b=seBIjSvI09pZe6SaI010dqGnCdZRIUhk8MqDDBXQDITusJdxmvBzNq2qPwim889clSLwkmSzntsxRrcNpWy/b+1Jtv9VDJahr/dnNOr0NE9z3q9CZNNsrTDjfXnLQg58jgDCJSuz0GmjfUPKmxUYidgMCSwDwgCvewQXoXF7uOw=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, "Anthony
 PERARD" <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
Subject: [PATCH v6 05/12] libs/guest: allow fetching a specific MSR entry from a cpu policy
Date: Mon, 17 Jan 2022 10:48:20 +0100
Message-ID: <20220117094827.16756-6-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220117094827.16756-1-roger.pau@citrix.com>
References: <20220117094827.16756-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MR2P264CA0025.FRAP264.PROD.OUTLOOK.COM (2603:10a6:500::13)
 To DS7PR03MB5608.namprd03.prod.outlook.com (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 25836d79-59b6-4bd4-613b-08d9d99ea457
X-MS-TrafficTypeDiagnostic: DM6PR03MB4059:EE_
X-Microsoft-Antispam-PRVS: <DM6PR03MB4059B564A532B9490E1A9D5E8F579@DM6PR03MB4059.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: 7xsyYorgoLs+mDKoDidSQA9RePbHX74EQSpfxbOY7PrV32hoy1ephUbYsysN4d42YqM3MCKUU5s5McQbbVwMjDdBKa4bb9AxPPjoqjF1c0K4LbIpDLlCEXaOi44E0CZ/p/UEjcUUmStigIcyPg4cHYqzCysc8SIBy3IRQIVsj4makyf/EprY2hx3Vp+CmuI/d5rEYlrytZETnuMrI5nQ2gXk3d/08Z6fYhcb0DFFrLaQCW14B98NZH/rUJA6LwEPOniENUmLQP1niXOSaS09htVDWsKA+1CgxFj+pWbJw0+h6MUSZYiuC/CFr2KQGkqgVqIe/g7d4VtPclsEjaOGnPRcS+E97Lq8/sAjtUNeuGRLm5b1UsHCnBxaKSwfSIoOoZVuWspLwglNFqG8ZegWLdSoPN//qJtRSIA1OlbVxnIMhYuRCX4ofqgz3heWHPygTL194O3Je3T4MexBU+2M8raDN+pIe3rlTAigMflVmiRFI2BW4NptfMj0Iy+lqIIQqsjDAi74B9ZyvyIXshhieeTPpM0pj3JOIN+lIgkjq3pbNC1QJiTgo89YHIFcyH9LgImLIyZd8gMNsymdI0miipgMjwr8hUrvkpneUjeG9RaNpxYV+AlcS9/so4VJDzPQ+YTjOhARVwQgEWSTjDzg/Q==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(4326008)(6512007)(8936002)(186003)(36756003)(6506007)(316002)(83380400001)(38100700002)(6486002)(26005)(6916009)(86362001)(8676002)(54906003)(2616005)(82960400001)(2906002)(5660300002)(66946007)(66556008)(66476007)(1076003)(508600001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TFBNaFBWOFgvRm5wZ29BTEtIVlhpampnMHh2bzdWaEVmNkZOeTl4Y1lxaWps?=
 =?utf-8?B?RklTWG1JeWxTMjAyUXJzb0J5ejFLMUwzRjlZQVJ2dTdwYlo4ZmNLOGwyZmJP?=
 =?utf-8?B?TW8vdlBQUlFVMjlLL1VNK0pMSUwrbU51eWo2Y3A0R1FvSWRqY3BYTlUzWDgr?=
 =?utf-8?B?Wm8vamc3WnVxQjNHNzJrQjRSc1Nkb0tUNlI4a0U3VlhKUGlJWm05ak9jSmtu?=
 =?utf-8?B?dzNjNVRScDIrTEpxYVdNOGZXUGtORWhEMndzbnlPc3BnWEN1UllHYnFDUlN6?=
 =?utf-8?B?eEZHeWVmVEZIWm5xdGlpOWV3M3UrNHR5MCtSUnZaSE9DN1RMd3JSdDFqUnNY?=
 =?utf-8?B?enREbVpkNUpqemxpUmFqM3pCUEpQVGo0K0I2REVxYmRxMGZDZzluRG9WYW5Y?=
 =?utf-8?B?WHp0TFpIMVFHR0pKd2djdzhCNUFMdzRwSHV2aHA3SzRFRG5mWk1tcTNOdzJ5?=
 =?utf-8?B?VXlFZzdLbUhlS2pTYUU1L1RvV25GejhiR0NxM1E1RGEzcEF0dzA5OEtQZmZL?=
 =?utf-8?B?Qlc4MDRBVDZ6U3N6NUlGeGlHbnRReTBONWxSVmpVV25lKzMzQzlLM3phaCtJ?=
 =?utf-8?B?RHZDVDVEaEUyUmdGZUhBSmxIS3FUL0cxeHdDa3NUejBNVEEzWVdUWWZsZDNU?=
 =?utf-8?B?b0ZvV1o3eW1iV0Uyc2pycEJkMzlaL2ViWmVGSXd0VGVYemFuUzR6UWtTMGhN?=
 =?utf-8?B?ajFpa2xqaUZxdTFMeGw2UGxOWldLZSszcHV0YzRCQjNmRUo2SkY2ZzBWQ2ti?=
 =?utf-8?B?cWFRdXdFL1gyWkVGcW1mNmVvTER3YW1HbjVkZkdYYXM5MVBCa0IxUnJSNXBE?=
 =?utf-8?B?U1pobnRVaXc3T1VUSlk5NzdZRjhkRm5HVjJIY3VFejFKQnAreE1ZTGJMczZC?=
 =?utf-8?B?MCtMdXc1MWxDa05JSGhNeTlobzByclBjeDk5YzVmTThZMVBBWitvT2tvNm1z?=
 =?utf-8?B?ajZ5TXcvV3pBTG9FWDFralNncTJtZzB0bnhmVEdSc0VMOTBBMk4vY0FUTVYw?=
 =?utf-8?B?dDY4aGpLQlVtbUFhckE5dGpVdXNVazJXVzA3TExRQkZYeFNubVY5OGg1Sjcr?=
 =?utf-8?B?UzNYNjQrL2xRb3hOeTRHOUFMeG5jRkZCTGNKZFZZY3lSWFNUTEEyaHg1enlX?=
 =?utf-8?B?azIrNGw0RS9Qa0RrMEsrOTRnNDFpN0ExYzM1ZWhadldaRXI4ZHNPQmVXQ2o1?=
 =?utf-8?B?YU9BWTQvVFZaTUhSVnF0THVMRXA4WElDUFBGckIxMWtnQUQ4VHlzSWgwa2x3?=
 =?utf-8?B?b2dLdm14QjJFSVorRjVNUVRTVzNzTDdsdDc2WUY4SjloNkRZRVl1bEpmRXBP?=
 =?utf-8?B?WWRFb3NFcXZHTE1JcDdraXJPalMySDdPcENFam1XMTJoV21rcTNseEwyNnEx?=
 =?utf-8?B?aC9FVGJHL0hURmlBdXlqd2lkS2JIMWttQjd1bjNSdDVNS1JhUnd2bXhNdkJF?=
 =?utf-8?B?RWpld3c4MEFFbkwzbVF4TkVsd2pUWHFuTzRidCtlbTE1Q1JVQ2s5VmhXUkNE?=
 =?utf-8?B?UGVWcmhBUmZPY2Yzd3AxeEkwcVV5YkdhdllIQjZ5ak9sVzQxRWRhMHhON3ZP?=
 =?utf-8?B?Z2hNdTlrc1NFSHM5Y3c4ZFMrZWZJdFJwdmJYVEIxbUo5MWFLUXEyS2x3Qi9x?=
 =?utf-8?B?RGR4dDZ2RHBBN2Q2NTM4TkY1UUxQTWN2a3F0WnM4Qy9ESDhwVDZQbC9hL1U5?=
 =?utf-8?B?dWFQR1JJYjdUQzNpQ295c2RzdEkxaDY5MkhzS2VKeWVpTnJhYnJZTlJNMmUv?=
 =?utf-8?B?MHJ5UTRWeDNwemZCTTNac3dDNCttSy9nNXBiNmJCMXJKMVVkbEJyWVJ1eWtx?=
 =?utf-8?B?VFkvNDByMURLZnM4eW9ySmQ1NFlNb0RUYzFTWEpScTFJaVVjVkhqTWRtNFBv?=
 =?utf-8?B?QXkrV2xRVVd2VGRHVzFMQkVkWXhIS2F6bFlKM3M5MmZPeXN3aFRhTHYrUFFU?=
 =?utf-8?B?Y3F3NmZ2dU9TbXRvSk4xMTc2YjFJSFN2VVZxUGR5K2U3czdoV1h3UXBXbElj?=
 =?utf-8?B?Y0ppSklzRkIwa3d2RDdtdm5WZ3h6YktGU1VibmoxemdGM0hYZjJTR3Yxcjcz?=
 =?utf-8?B?NXZsS3ZqSUc0TkJJbGlBV3ZOVTRWcnZObE12cEttcWV4TVVTZkVkUkowdkV2?=
 =?utf-8?B?RTBuZ2NQb2E5ek5BRjk2UDFCNGdjc0Y3Yi9iTWpLZkNJaXl6M3hGZEhrNXhM?=
 =?utf-8?Q?5SyC2rz2JEEZvyrA1LsIQtk=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 25836d79-59b6-4bd4-613b-08d9d99ea457
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2022 09:49:23.6603
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: qQKKh8YNcmyMqzYbkmHDwak55UR6b/L1JTbGVvZsktJ24uUIuQMnKixAExZF0wNtfXSinT1iZU4FK1+Scez1jw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4059
X-OriginatorOrg: citrix.com

Introduce an interface that returns a specific MSR entry from a cpu
policy in xen_msr_entry_t format.

This is useful to callers can peek data from the opaque
xc_cpu_policy_t type.

No caller of the interface introduced on this patch.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v3:
 - Use x86_msr_get_entry.

Changes since v1:
 - Introduce a helper to perform a binary search of the MSR entries
   array.
---
 tools/include/xenguest.h        |  2 ++
 tools/libs/guest/xg_cpuid_x86.c | 20 ++++++++++++++++++++
 2 files changed, 22 insertions(+)

diff --git a/tools/include/xenguest.h b/tools/include/xenguest.h
index 0a6fd99306..2672fd043c 100644
--- a/tools/include/xenguest.h
+++ b/tools/include/xenguest.h
@@ -810,6 +810,8 @@ int xc_cpu_policy_update_msrs(xc_interface *xch, xc_cpu_policy_t *policy,
 int xc_cpu_policy_get_cpuid(xc_interface *xch, const xc_cpu_policy_t *policy,
                             uint32_t leaf, uint32_t subleaf,
                             xen_cpuid_leaf_t *out);
+int xc_cpu_policy_get_msr(xc_interface *xch, const xc_cpu_policy_t *policy,
+                          uint32_t msr, xen_msr_entry_t *out);
 
 /* Compatibility calculations. */
 bool xc_cpu_policy_is_compatible(xc_interface *xch, xc_cpu_policy_t *host,
diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
index aff4efe78d..67981b1711 100644
--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -880,6 +880,26 @@ int xc_cpu_policy_get_cpuid(xc_interface *xch, const xc_cpu_policy_t *policy,
     return 0;
 }
 
+int xc_cpu_policy_get_msr(xc_interface *xch, const xc_cpu_policy_t *policy,
+                          uint32_t msr, xen_msr_entry_t *out)
+{
+    const uint64_t *val;
+
+    *out = (xen_msr_entry_t){};
+
+    val = x86_msr_get_entry(&policy->msr, msr);
+    if ( !val )
+    {
+        errno = ENOENT;
+        return -1;
+    }
+
+    out->idx = msr;
+    out->val = *val;
+
+    return 0;
+}
+
 bool xc_cpu_policy_is_compatible(xc_interface *xch, xc_cpu_policy_t *host,
                                  xc_cpu_policy_t *guest)
 {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 09:49:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 09:49:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258051.443964 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Ods-00056r-7S; Mon, 17 Jan 2022 09:49:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258051.443964; Mon, 17 Jan 2022 09:49:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Ods-00056Z-3B; Mon, 17 Jan 2022 09:49:36 +0000
Received: by outflank-mailman (input) for mailman id 258051;
 Mon, 17 Jan 2022 09:49:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TAtW=SB=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n9Odr-0003a5-7u
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 09:49:35 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c516d209-777a-11ec-a115-11989b9578b4;
 Mon, 17 Jan 2022 10:49:33 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c516d209-777a-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642412973;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=eVONsRSw0hM6kYuHZCuW/qeP6R5RsnCA7OOJoUtWPtM=;
  b=hikEAdke6STaGVZYabEFdGfgqxDGgQzx6dYzrDJduruhwHWJgKpzPv79
   0Pdn+b39wlOsoOa7zlPrmHsb9j+nQLvPumAiF/JiS8sYQZpqDEzFaFTAX
   bYqP3Axc3eYCiHgHL4/LXZ6drcvz8JdUyYCEXTrTVswHQA1x+t8E9NKNg
   E=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: 7qHQzlt/Ii11qze0CWD93TdL234qqcewwzWkuESTdv9zyChvLFGu63M4ECBN/nTFeUl+LbB01D
 7V40RZl7zSE98bixaV+6nCiMcCNQLqBOdX0cLlzou3ZIW7ZJAe6wX8WI8gQ2HcWE9Vj51CRgAY
 5qwT3ITjfWd8Ci4nYkt1ziGb8brHI3RIXML492EGVsdXX16f0nftaHpa+eabxtizfmijCGnJ5G
 TMXBhXZEjNTfEN/BUQmch8zP56xD4pa39fZ9BQoCbYEObKVaK0maJwaPg3NyYpv63BywD+X+Mf
 XGISCvEPBjSicY7ch2yB6fcS
X-SBRS: 5.2
X-MesageID: 62131514
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:+IiBLK+YQZ/Qd7nHUnLiDrUDZ3mTJUtcMsCJ2f8bNWPcYEJGY0x3y
 2QXDz+FM6qLZzP2e4wjad6y8U8GusLWn4ViTVZvqC48E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7dg3dYx6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPhy+
 MpMrKeJRD0SN6bUl/ZecR1/CD1haPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguw5K8bmJsUHs2xIxjDFF/c2B5vERs0m4PcGhm5r350XQZ4yY
 eILYid3TBXDbyRsAXMSGo4hwaS5t0jGJmgwRFW9+vNsvjm7IBZK+LriKt3OYfSRWN5Y2E2fo
 wru4GDREhwcctuFxlKt4n+qw+PCgy7/cIYTD6GjsO5nhkWJwW4eAwFQUkG0ycRVkWbnBYgZc
 RZNvHNz8+5iryRHU+URQTW7kGGFpyUlVuBrGuYi5xPO6K7z+BqGUz1soiF6VPQqs8o/RDoP3
 1CPns/0CTEHjIB5WU5x5Z/P82rsZHF9wXsqIHZdEFBbu4WLTJQb10qXFr5e/LiJYsoZ8N0a6
 xSDt2AAiroalqbnPI3rrAmc01pASnUkJzPZBzk7vEr4tGuVh6b/PuREDGQ3C94adu51qXHb7
 RA5dzC2trxmMH10vHXlrB8xNL+o/e2ZFzbXnERiGZIsnxz0pSL5Jt0Au2EieBk5WirhRdMPS
 BWO0e+2zMUCVEZGkIctO97hYyjU5fWI+SvZugD8MYMVP8kZmP6v9yByf0+At10BY2B3+ZzTz
 ayzKJ72ZV5DUPwP5GPvG481jOF3rghjmzK7bc2rnnyPjOvFDFbIGOhtDbd7Rr1jhE9yiF+Lo
 4832grj40g3bdASlQGMoNFDdg5bfCFrbX00wuQOHtO+zsNdMDhJI9fawK87epwjmKJQl+zS+
 Wq6VFMew1367UAr4y3TApy6QL+wD5t5s1whOikgYQSh13Q5ON7956YDbZonO7Ig8bU7n/JzS
 vAEfeSGA+hOFWubq2hMM8GlodwwbgmviCKPIzGhPGo1cal/SlGb4dTjZAbuqnUDV3Llqcskr
 rS8/QrHWp5fFR96BcPbZav3nVO8tHQQgsxoWE7MLoUBcUng6tEyeSfwkuU2M4cHLhCanmmW0
 AOfABE5o+jRotBqrImV1P7c94rwSrlwBEtXGWXf/I2aDyiC8zrx25JEXcaJYSvZCDH+9pK9a
 LgH1Pr7KvAGwgpH6tIuD7ZxwKsizNLzvLsGnB98FXDGYln3WLNtJn6KgZtGuqFXn+ILvAK3X
 gSE+8VAOKXPM8TgSQZDKA0gZ+WF9PcVhjiNsqhlfBSkvHd6rOidTEFfHxiQkygMfrJ6PbQsz
 folpMNLuRe0jQAnM4regy1Zn4hWwqfsj0nzWkkmPbLW
IronPort-HdrOrdr: A9a23:+N5qzq8j4qk/FFh/l0Buk+FAdb1zdoMgy1knxilNoENuHfBwxv
 rDoB1E73LJYVYqOU3Jmbi7Sc29qBTnhOJICOgqTMqftWzd1ldAQ7sSi7cKrweQeREWs9Qtrp
 uIEJIOeeEYb2IK9PoSiTPQe71LoKjlzEnrv5al854Ed3AVV0gK1XYfNu/0KDwSeOEQbqBJa6
 Z0q/A37AaISDAyVICWF3MFV+/Mq5nik4/nWwcPA1oC5BOVhT2lxbbmG1zAty1uHg9n8PMHyy
 zoggb57qKsv7WSzQLd7Xba69BzlMH6wtVOKcSQgow+KynqiCyveIN9Mofy9gwdkaWK0hIHgd
 PMqxAvM4Ba7G7QRHi8pV/X1wzpwF8Vmgnf4G7dpUGmjd3yRTo8BcYEr5leaAHl500pu8w5+L
 5X3kqC3qAnQy/orWDY3ZzlRhtqnk27rT4JiugIlUFSVoMYdft4sZEfxkVIC50NdRiKp7zPKN
 MeTP002cwmMm9zNxvizytSKZ2XLzgO9y69Mwk/Upf/6UkSoJh7p3Fos/D30E1wsK7VcKM0lN
 gsBJ4Y4I2mfvVmHZ6VO91xM/dfcla9OS4kEFjiaGgPR5t3c04klfbMkcAIDaeRCds18Kc=
X-IronPort-AV: E=Sophos;i="5.88,295,1635220800"; 
   d="scan'208";a="62131514"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=L2FhsWEZVZCcOruOwcVZ8LMFvZtcgzAI/Fr6M4kIATCGrnB/BoeZ9yy0x6tge5+cdh+6P4NzFEPRwdaePLBLxm4yVLzdhj38sX+Hj1Cnb/HUHoj3O34sxqyxGMfxTvHt83GJ1YYxH2LN5mTOIXVg5UwBK6/ktRIXqdNQqPqSJFQIXyWcPHwJeaMCBGysTkbMzx2b+J3Oq5nj977XOoidsmEM2LGJYV6gQxOQjlwLnGH8l1vy9VeT/CKNOVcYmlYvifr420aqiVwQf9rAdWwDTBwflPWc1eXrGCkYG1R2cm1VIwcJwfz7+2daMs0opyK+5N5NAY0kGyEoB3P47M9QQQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cFYnv4t0Wef4nRu6jImjjppeuWl5RfgUPXEAxcSqT80=;
 b=bpReSdJiPvqaAKlHnqhJOUsJ1WwnFC33VOFnVnoxenpJwXjCCGx5cldMV3A2NsKg3nlteyDXaA+g4cMcPvkGPqdxWCOaRuTvR2Tn5IJuUeby6lqdqUwKRO02zWCKsFtipeBTQu0BkWV+nW01o7MluftEivWcSdQoi77dGf/8xyFo9HoU7X7SOIobUS8Q9XfJ7pZ8ioN8Ei9lv+Q28qpa+tGqMarXMytj65Ac5LmTSb0VJ6tDXUQRAQj4y7cSKYGcvXHBXs5oqbhIgD63aL3d90siLl0zKp4Pw+dXItLcBxzKLGkaNVjNoF4DHrvHc9ZL9B3UZZuu5XKrZ2TISlY9Ew==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cFYnv4t0Wef4nRu6jImjjppeuWl5RfgUPXEAxcSqT80=;
 b=q9inYwliNaH60OJhiHVfp48EbMV+Z7pNlva88B1iottH+6lIUt0P2SZ3ks6VMp+5E/TA7JwdLbQfzm2WL5N1NwKhr+bmq7cyl+p+0CypkuOYuyoKH9b8xNfEYwtugL/TOe+PJWSk7O9X8WT5ejjEQ5g8mb9FMsOoY4TPyAUIRXc=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Anthony
 PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
Subject: [PATCH v6 06/12] libs/guest: make a cpu policy compatible with older Xen versions
Date: Mon, 17 Jan 2022 10:48:21 +0100
Message-ID: <20220117094827.16756-7-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220117094827.16756-1-roger.pau@citrix.com>
References: <20220117094827.16756-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MR2P264CA0048.FRAP264.PROD.OUTLOOK.COM (2603:10a6:500::36)
 To DS7PR03MB5608.namprd03.prod.outlook.com (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 0cd6b8d2-0b74-42b9-0352-08d9d99ea780
X-MS-TrafficTypeDiagnostic: DM6PR03MB4059:EE_
X-Microsoft-Antispam-PRVS: <DM6PR03MB4059533F4CA152FDD84901A78F579@DM6PR03MB4059.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:3513;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: vLTFKxgK5QjXR4b+ancHUcdab0gwtDa9VhcpSCH8g9GQayELBAKh/7zC8e4FiVjbq/spCkdjTF8nSvE2gaWFxsNMRpBoAzobjdqmiJ5mtZz+8pVeCcfJJdOgerJNsn2pRQ62AsDdfWEEL4S1Sin3L5us6sihprSD/Xq1zJIJhXkQKF3I0dWz9nM4EI1Q8VRUq/nNOL7FvBzdDT6CLyRNdSa2I/FyW73MTP6D+bDaxqC+vUAW9/SdQKjnXbGEe3r/KRzxQWemE2zmwZiOP2+Q7ciyCqRbEiHlSIxveM+/XBgECp/Qbny312+tfRXJsBut0dxGHAqu8me9kqVmLeJbq67xaYllproDMIJbW4skrUAcou5MTZGNxBFX5/rSnCI16RwSOMVny5kxa0VgRFazweBJbcRlstNEw0oYU04X2l6QIdZxp57FMsgcQ3nkW+qfillw2qckmjA88uNcwcG3vgAvp14bawjI2nAW9pUj5RswbDw9D4/8cUKcgowl2sq9cIzMGJKAw6yaRwxqCrdwfFo+wdWTGSg4zA92+UnBSJbWvYnNhm4zN99QCLmBFFu9I/9mMWwKWnBbBDEfIc0m9BkTZdajHgfnP5b2dEpGF8J13KkJrS3gW+Y8UyRRgfWg3RZfT5BCo3m7fcTEbPaRfQ==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(4326008)(6512007)(8936002)(186003)(36756003)(6506007)(316002)(83380400001)(38100700002)(6486002)(26005)(6916009)(86362001)(6666004)(8676002)(54906003)(2616005)(82960400001)(2906002)(5660300002)(66946007)(66556008)(66476007)(1076003)(508600001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TldtSWJsSEVmUEN5ZW93Ukk4UmlRMXg5NGZKZnZRTlEzeFh6ditwNmNUVHVk?=
 =?utf-8?B?NVBPQi9yd1RSUCt0eFAzQ0Y4c2d0Vm1MZUVJeUF6OXA1cmdRVURMbmY0V3dt?=
 =?utf-8?B?NGppUFVXL2pPdlhybDRlTzdzSWltbGxZaXAvTlM2RVF2WVNydjdtZU1NUDVM?=
 =?utf-8?B?eFE3SUJwdGo4cnUyWWpOcE1rKzNES2FGSHB2b1MwQWtpSzVURXArRlBSMmRC?=
 =?utf-8?B?MjN1SmFTT29VVTJLbkwzbC82SnA3OFhXNDBlRW1xUXlpUk1Wb0t3b25TNW14?=
 =?utf-8?B?T05nem40OFp0TFd1cnQ1RGJNL1JBSjhXdTlhSzRESGI0L25OaEVRZXlvOXhr?=
 =?utf-8?B?YUN5cXozQnRES1YxZ3BhNGN6Nk03WWp5T0ZydTYzMXUyNFhRRG1JMWV2R282?=
 =?utf-8?B?M2pKWXltVEd3MkNMK1BlOTJIUDV1NzBTbmM0djc5QThpanNEK3l6QXF4V2d4?=
 =?utf-8?B?SUI4RU1PN0U2QkZZQmhXTUZpZ1dxOUVabG9QYTFrV2syRmFLb3RRQ3dROTJs?=
 =?utf-8?B?Nkk0SU9UcUp4dkd1WDBpWFN4bjFFOTN6alFQdHBCVFZ5REdwMTZ1MDZneEhE?=
 =?utf-8?B?YnVwTENUZWI1L2dBQlpuYmEyQTJ3NXJ5bVhTcS9ORTRteXJIRzZTL3hNR2p1?=
 =?utf-8?B?U09BK0habEZsK3E2L3V0TFp3S2NrU1pES1RQRTRHWHpwV2RlYk0wMUNkUjBr?=
 =?utf-8?B?YktoVnhST3kyTTZPcXBRUEJwRjJzdkFXa3dhOFR3Q2tZTFRvcDFVZCtMOWlN?=
 =?utf-8?B?ejhCb3NqK0RWMVhFV0d4bFhEaEQ5V1NvWFRVemg1R2lERVgwc0hxdVl5TnIx?=
 =?utf-8?B?aHhiUkl2em5EMzd0QU03V0k0QTJpdk5TeCtDRTd6VGZjMmV4TVp1Z2Z0NFJa?=
 =?utf-8?B?REhZUmJaS2l4UVUwbWFUcUpQUEoxVmhJWlJXaWl5WEwxY3RldzlUQVFUcng4?=
 =?utf-8?B?SzE5ajZYUCtVL1VOZnNJdjZ3aHB4SHRjRFRBYjlJTHZxQnZSdEhZRDdCbUY5?=
 =?utf-8?B?V2R0TWNUMDZBc2MzUFEyS2k2OHhhdSs1WDZnQUV5S01ZclYrcE1taFlOVEky?=
 =?utf-8?B?RWNneHVWb1JkVTR0dXNSTFhaR2ErcnlKZDdLenBmckZsdVlPNmFiZVVhMGJx?=
 =?utf-8?B?ZjgzTHE3cVBsUW9ST09MZTRHZHlYOHVUNENCUFZhS25CT0tucE9qK1p4NCtE?=
 =?utf-8?B?bHRkMlYvZXVyYk4zSFBLY1E3SlFPd1NQUGVRNVhnM1hMRldQTXhXYlpSRWpM?=
 =?utf-8?B?SXA1cUthNnFoWU5MVlRNcVpPK3BMTGU0L3lYeE5wUWRlWTY2cWV3NEVrUE55?=
 =?utf-8?B?YTlMN2VKQ2hOY2RaaGgxa0ZNc0JMR1hDRWNCMVkzUUlHWHl2L0dqbkg4MWw3?=
 =?utf-8?B?NFp3eHRZOHR5d1BnYTAyQlViZG81NmJtTkl1M0swK2tPbmE3N3QvU1NNYWRS?=
 =?utf-8?B?WjlFMjFFekU4MHJDVk4yekp6bXlDZnhkWXA2VkdINHk4aFVOK2RlMU5EOEdY?=
 =?utf-8?B?TFh5UHZsNSs2RjkvMUlVdnV2ZE1xNVNQclNuODdob2R1UGFrSW9nRjFFRlRI?=
 =?utf-8?B?NUhoLzJ0eG16aXphOWJYaHlHdUM4amhiSzJUdDNQU0JJRFFhWEdta1piYVFZ?=
 =?utf-8?B?WkFyZEs2enhISmRGeTZKeTY4K2RxcWViSGE4THVMSDNETy9sb1IwMnRFR2gr?=
 =?utf-8?B?ZkxrUWt3YkpacFJVcy91VGhjSmw2YW1IK2J5Ty82QU1XbXJBN0xHK0VOWDdi?=
 =?utf-8?B?SzQ0QzVrN0EwczZ3bXRVN1FJQityTUo3ekJBcnpSa1RnTTRTWXdnNTcxeDBm?=
 =?utf-8?B?NDhQYzI2bU8wcVcveWQ3MDEyQytCbXBWRzd2OE9jSExxSXBBU0JxTTBjNXBK?=
 =?utf-8?B?WGFjZFg1ckozVkZORi9jeFlsM3VpSjNQWFNTTjZaOUV2MzVxYmw3aEo1anda?=
 =?utf-8?B?MGJoaytISVc2SW9XOHBLdk1XbFJnYkZIWGtlL0RwcDErTzBaK3VPN1EyZEJT?=
 =?utf-8?B?K3FBSFFHREVGVGRjSnFYWWZ5RWpTWVBWNDgwZFBsRDVLYVVNNHdUUCtHb0Np?=
 =?utf-8?B?REhuQ2llMjgrcktHUVg5TDhlQWpoYkVUcytkNytlUTZ3VCtjajAwUHZRZ2cr?=
 =?utf-8?B?MDFpemNpM1FIenNHMURmWlU0OVk2M3k1RUluUGFaTzgwL0s2NUxIQXo4eWRV?=
 =?utf-8?Q?GkiZrBbo3pXMiSMSbTfzLnM=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 0cd6b8d2-0b74-42b9-0352-08d9d99ea780
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2022 09:49:28.8818
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: nCPhTdOBDyy2ALw6YmrF3aNHpHHkwmmz5Nkp+HMzM2+UYawVlaLA6mz4ufJ2PTAXC40VhmN5kZYrueVtJGAQaA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4059
X-OriginatorOrg: citrix.com

Older Xen versions used to expose some CPUID bits which are no longer
exposed by default. In order to keep a compatible behavior with
guests migrated from versions of Xen that don't encode the CPUID data
on the migration stream introduce a function that sets the same bits
as older Xen versions.

This is pulled out from xc_cpuid_apply_policy which already has this
logic present.

No functional change intended.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v3:
 - Rename function to xc_cpu_policy_make_compat_4_12.

Changes since v1:
 - Move comments and explicitly mention pre-4.13 Xen.
---
 tools/include/xenguest.h        |  4 +++
 tools/libs/guest/xg_cpuid_x86.c | 62 ++++++++++++++++++++++++---------
 2 files changed, 49 insertions(+), 17 deletions(-)

diff --git a/tools/include/xenguest.h b/tools/include/xenguest.h
index 2672fd043c..281454dc60 100644
--- a/tools/include/xenguest.h
+++ b/tools/include/xenguest.h
@@ -817,6 +817,10 @@ int xc_cpu_policy_get_msr(xc_interface *xch, const xc_cpu_policy_t *policy,
 bool xc_cpu_policy_is_compatible(xc_interface *xch, xc_cpu_policy_t *host,
                                  xc_cpu_policy_t *guest);
 
+/* Make a policy compatible with pre-4.13 Xen versions. */
+int xc_cpu_policy_make_compat_4_12(xc_interface *xch, xc_cpu_policy_t *policy,
+                                   bool hvm);
+
 int xc_get_cpu_levelling_caps(xc_interface *xch, uint32_t *caps);
 int xc_get_cpu_featureset(xc_interface *xch, uint32_t index,
                           uint32_t *nr_features, uint32_t *featureset);
diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
index 67981b1711..f1115ad480 100644
--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -432,6 +432,7 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
     unsigned int i, nr_leaves, nr_msrs;
     xen_cpuid_leaf_t *leaves = NULL;
     struct cpuid_policy *p = NULL;
+    struct xc_cpu_policy policy = { };
     uint32_t err_leaf = -1, err_subleaf = -1, err_msr = -1;
     uint32_t host_featureset[FEATURESET_NR_ENTRIES] = {};
     uint32_t len = ARRAY_SIZE(host_featureset);
@@ -496,23 +497,9 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
 
     if ( restore )
     {
-        /*
-         * Account for feature which have been disabled by default since Xen 4.13,
-         * so migrated-in VM's don't risk seeing features disappearing.
-         */
-        p->basic.rdrand = test_bit(X86_FEATURE_RDRAND, host_featureset);
-        p->feat.hle = test_bit(X86_FEATURE_HLE, host_featureset);
-        p->feat.rtm = test_bit(X86_FEATURE_RTM, host_featureset);
-
-        if ( di.hvm )
-        {
-            p->feat.mpx = test_bit(X86_FEATURE_MPX, host_featureset);
-        }
-
-        /* Clamp maximum leaves to the ones supported on 4.12. */
-        p->basic.max_leaf = min(p->basic.max_leaf, 0xdu);
-        p->feat.max_subleaf = 0;
-        p->extd.max_leaf = min(p->extd.max_leaf, 0x8000001c);
+        policy.cpuid = *p;
+        xc_cpu_policy_make_compat_4_12(xch, &policy, di.hvm);
+        *p = policy.cpuid;
     }
 
     if ( featureset )
@@ -918,3 +905,44 @@ bool xc_cpu_policy_is_compatible(xc_interface *xch, xc_cpu_policy_t *host,
 
     return false;
 }
+
+int xc_cpu_policy_make_compat_4_12(xc_interface *xch, xc_cpu_policy_t *policy,
+                                   bool hvm)
+{
+    xc_cpu_policy_t *host;
+    int rc;
+
+    host = xc_cpu_policy_init();
+    if ( !host )
+    {
+        errno = ENOMEM;
+        return -1;
+    }
+
+    rc = xc_cpu_policy_get_system(xch, XEN_SYSCTL_cpu_policy_host, host);
+    if ( rc )
+    {
+        ERROR("Failed to get host policy");
+        goto out;
+    }
+
+    /*
+     * Account for features which have been disabled by default since Xen 4.13,
+     * so migrated-in VM's don't risk seeing features disappearing.
+     */
+    policy->cpuid.basic.rdrand = host->cpuid.basic.rdrand;
+    policy->cpuid.feat.hle = host->cpuid.feat.hle;
+    policy->cpuid.feat.rtm = host->cpuid.feat.rtm;
+
+    if ( hvm )
+        policy->cpuid.feat.mpx = host->cpuid.feat.mpx;
+
+    /* Clamp maximum leaves to the ones supported on pre-4.13. */
+    policy->cpuid.basic.max_leaf = min(policy->cpuid.basic.max_leaf, 0xdu);
+    policy->cpuid.feat.max_subleaf = 0;
+    policy->cpuid.extd.max_leaf = min(policy->cpuid.extd.max_leaf, 0x8000001c);
+
+ out:
+    xc_cpu_policy_destroy(host);
+    return rc;
+}
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 09:50:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 09:50:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258054.443975 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Ody-0005iv-Ls; Mon, 17 Jan 2022 09:49:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258054.443975; Mon, 17 Jan 2022 09: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 1n9Ody-0005ii-Hw; Mon, 17 Jan 2022 09:49:42 +0000
Received: by outflank-mailman (input) for mailman id 258054;
 Mon, 17 Jan 2022 09:49:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TAtW=SB=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n9Odx-0003a5-2D
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 09:49:41 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c8eab3d8-777a-11ec-a115-11989b9578b4;
 Mon, 17 Jan 2022 10:49:39 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c8eab3d8-777a-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642412979;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=QLpgwnHtHqhSieNVxCla2oAfDWQ+1Xdr+4mwhUPQ5WY=;
  b=ciGKO6ThWEChDHi3tJfYjGnHkuop75CJzPDW0OfclZ6kynEfdmlJ2a78
   nKn9sLAitPrR7mmMZ0+YmE0pJH47+C4G6zzQ9fa9mDvgvn+i2yxQARU+T
   R3m+0CrA2fvANUp72j7ZR+4vU2KioKChNz8MHTogF7z7a71bv8r0ReLLO
   I=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: xiHqYWZFEvbjXhbma/2zhsPh8+lngKUIkt5ea/YRt9ro8cnu0eHDXpIguNrPZvkCDVSGb1Dk1J
 3T80P1g46gTd9TK+hstUIcJ5EaxUeZl4XI+kht7Yjlos3Wc3DyZutykdpaLjnnw5ZHvMqDEVzO
 8ruzfGjklFniDRsmQURnuQAPYGYLq1LpveO9zNFxIsWVXVJuh0qdkAtLY4JSABwu1+/ELIuYSF
 MqF30XupnXZJj6lTWxstYoBinCjM4+34zpqaJ64PEi82WHaqEp6X7I6iHykh2dA375l/vjCUNr
 225Si05BkwW0G40VlCF/beE5
X-SBRS: 5.2
X-MesageID: 61616920
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:OIPvsqIPgE1MddaAFE+RNpIlxSXFcZb7ZxGr2PjKsXjdYENS0DAGx
 2YYUTiEM/3YZ2X1e4x/PYy28xlU6sWEzdA1SFBlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokcxIn5BC5C5xZVG/fjgqoHUVaiUakideSc+EH170Us6xLZg6mJVqYPR7z2l6
 IuaT/L3YDdJ6xYsWo7Dw/vewP/HlK2aVAIw5jTSV9gS1LPtvyB94KYkDbOwNxPFrrx8RYZWc
 QphIIaRpQs19z91Yj+sfy2SnkciGtY+NiDW4pZatjTLbrGvaUXe345iXMfwZ3u7hB2ZtdJL6
 NJtl6CvbidxBPHKneEZckdXRnQW0a1uoNcrIFC6uM2XiUbHb2Ht07NlC0Re0Y8wo7gtRzsUr
 LpBdW5LPkvra+GemdpXTsF2gcsuNo/zNZ43sXB81zDJS/0hRPgvRo2UvIEBgmZq3qiiG97OJ
 M0oNxR2TSjabiZAEQtJJaw+sN6n0yyXnzpw9wvO+PtfD3Lo5A5+yr/2K/LOZ8eHA85Smy6wu
 Wbu72n/RBYAO7S32TeDt36hmOLLtSf6Q54JUq218OZwh1+ezXBVDwcZPWZXutHg1BT4AYgGb
 RVJpGx+9sDe6XBHUPHtdR+CgHmknCIDfPoIKbE87QSJ6/TbtlPx6nc/chZNb9kvtckTTDMs1
 0OUk96BOQGDoIF5WlrGqO7K8Gra1Tw9aDZbOHRaFVdtD8zL+dlr1nryosBf/LlZZzEfMRX52
 Hi0oSc3nN3/ZuZbhvzgrTgrb99Bz6UlrzLZBC2KBApJDSsjPeZJgrBED3CBt56sy67DHzG8U
 IAswZT20Qz3JcjleNaxaOsMBqq1wP2OLSfRh1Vid7F4qWj3oCPzJtAMvG8uTKuMDiriUWW0C
 KM0kVkAjKK/wVPwNfMnC25PI5lCIVfc+STNCamPM4smjmlZfw6b5iB+DXN8LEi2+HXAZZoXY
 M/BGe71VC5yIf0+kFKeGrlBuZd2mHFW7T6DFPjTkkX8uZLDNSH9dFvwGAbUBgzPxPna8Fy9H
 hc2H5bi9iizp8WlM3aHqtBCfAlaRZX5bLivw/Fqmie4ClMOMEkqCuPLwKNnfIpgnq9PkfzP8
 G37UUhdoGcTT1WeQelTQnw8Or7pQ7hlqnc3YX4lMVqygiBxaoez9qYPMZAweOB/puBkyPd1S
 dgDetmBXasTGmiWpWxFYMmvtpFmeTSqmRmKY3ivbg8gcsMyXAfO4NLlIFfirXFcEiqtuMIii
 LS8zQeHE4EbTgFvAZ+OOvKixl+8p1YHn+d2UxeaK9VfYhy0ooNrNzbwnrk8JMRVcUfPwT6T1
 gC3BxYEpLaS/99poYeR3a3d9tWnCepzGEZeDlL317fuOHmI5HenzK9BTP2MIWLXWlTr9fjwf
 u5S1fz9bqEKxQ4Yr4pmHr935qsi/N+z9aRCxwFpEXiXPVSmDrRsfiuP0cVV7/Afw7ZYvU29W
 16V+8kcMrKMYZu3HFkULQsjT+KCyfBLxWWCsaVreB33tH1t4b6KcUROJB3d2iVSIYx8PJ4h3
 ep86tUd7Bayi0ZyP9uL5syOG79g8pDUv30bi6wn
IronPort-HdrOrdr: A9a23:xz/lNq441NZ2M/vZlQPXwVCBI+orL9Y04lQ7vn2ZFiY7TiXIra
 yTdaoguCMc6AxxZJkh8erwXJVoJkmsiaKdgLNhQItKOTOJhILGFvAF0WKP+UyDJ8S6zJ8n6U
 4CSdkONDSTNykCsS+S2mDReLxBsbq6GeKT9J3jJh9WPH9XgspbnmBE42igYyhLrF4sP+tHKH
 PQ3LsNmxOQPVAsKuirDHgMWObO4/XNiZLdeBYDQzoq8hOHgz+E4KPzV0Hw5GZSbxp/hZMZtU
 TVmQ3w4auu99m91x/nzmfWq7BbgsHoxNdvDNGFzuIVNjLvoAC1Y5kJYczJgBkF5MWUrHo6mt
 jFpBkte+x19nPqZ2mw5SDg3gHxuQxenUPK+Bu9uz/OsMb5TDU1B45qnoRCaCbU7EImoZVVzL
 9L93jxjesYMTrw2ADGo/TYXRBjkUS55VA4l/QIsnBZWYwCLJdMsI0k+l9PGptoJlO01GkeKp
 gvMCjg3ocUTbvDBEqp/FWHgebcEkjbJy32A3Tr4aeuon1rdHMQ9Tpu+CVQpAZFyHsHceg22w
 3zCNUdqFh/dL5nUUtDPpZyfSLOMB20ffvtChPaHb21LtBOB5ryw6SHlYndotvaP6A18A==
X-IronPort-AV: E=Sophos;i="5.88,295,1635220800"; 
   d="scan'208";a="61616920"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=d0sZ0V98kprUswP+XkqBqKgwV7PUsfY8cas4LENLnfqVrmnMreMQru4T1sAvlgGwHks1EFvsoSoXdaOareEkCuZKwFrCx64iehfdbhZ/gcAb9F4KSLF8CaJqgaXZrh+npEc+wdD/kSLHuWIaDytbodxDJbqRcyffoYRzjfe/Nz3abFy/Pr1J+4UTqsKUEJ3tkimV2lHpXH3hlTZdTB8n9Jo6mYSzlXSKO0FK2WODy8/ZqLYwKpNjO4xAJQjiI1IVBO8z0sxTkeEPYczWGPuAspZqIPNzY2JK3CwzVMe5tV7iQodXs8IIsZg7MPRq+I4wMzK/UlWak3jYEEHM4KJWuA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VXlOuhvnx6XapUkjewvNTicZOL1G6NXO7zwA2fIJdPM=;
 b=DO4qwJjjDAwt/cdIzuRvjrNvxGtrRBtWYiLJXTlRZzc+8j+oYeGjVJDeVcyZvlejew+F4xow8mjnNo4Pt30I+JailBrHl3GF32OYB5VO9Ge5/ZanHVRUAAjGG4rmX5P9g3oKPsSSWFo/FsQByf1eL1cVwUaZTygubL0JDFFSpn2PzjVMUDaAnuXOdeBQgNM9pbHiydh0LcKT72RaAiezgjQxnjdQxD2lKkTXxcyxCpFr5cHjE1ppTehHc/L/hDQqtGgMKMEukknjOos0c30ULAliOxXisZ099uaGjVISIEvBNvb7egUo+cyQBNVx8BSVSMoyFNTA560oEEl4ffC9Iw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VXlOuhvnx6XapUkjewvNTicZOL1G6NXO7zwA2fIJdPM=;
 b=ZDqWLfRatoSLpwDnIqhzXLb69csK2KgidI+vG03VvEH2umCtlVGVZeRDUHQ69HNUv88ypx+0SFnT+Do8Y1RFXk34yqfZqiXJY+u2oIMjvoiM2D5gd3v12WDKGudFcungPpQm29mkXIK+I/qft63128rBd/J3l7b5z3RZ+baB6xg=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, "Anthony
 PERARD" <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
Subject: [PATCH v6 07/12] libs/guest: introduce helper set cpu topology in cpu policy
Date: Mon, 17 Jan 2022 10:48:22 +0100
Message-ID: <20220117094827.16756-8-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220117094827.16756-1-roger.pau@citrix.com>
References: <20220117094827.16756-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MR2P264CA0164.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:1::27) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a91cf014-e294-4d78-371e-08d9d99eaad3
X-MS-TrafficTypeDiagnostic: DM6PR03MB4059:EE_
X-Microsoft-Antispam-PRVS: <DM6PR03MB4059178D7EB34DDB4F74F7B98F579@DM6PR03MB4059.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:1169;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: vcBzUtWwU8oHGbf9mLaZZvpqUGpyfUuV9fAYg/FVp3rOlFHKeE+2AxLsf9QKR74aTx14wxYR+5yNXpW4DwO42T+SpgIgpz24qKMyHa+IcIfxSRlwAQwitet/raK/Tzb9dBx0guUa81dYy30HZOxziaIyWTUJ7g4RCfsaVCcvINmnwrwEQbzHeqINsncX4MvLJAHTqgMoDafIawm1JsgQadJdk/PNoLXVhJ1SSlEumtbaIrk+PghM9dMKV8q0JQsdyEPMH+1wum9ueOy8rkFp1GSrThfj85CjmzRHr0SOx1cwkFXVgxGVnQRv/OvDc3Y7993pKIUmHldl5Lv/wrNugrrv7s5B4o3xJFB8A+kv/t+3syAkpgH32uBQhkCbS+lXHQlHU3YH1vYtflQSl10cSGEV4zEigfy+lV6nBngIi2UoyE4Mu6nANyfSXDuNGuE4FyLDFNHM80gh0MNw/PPhsqQ+XRD7d8ZbHptFkMW66/MRAaGPg+Asu2YGHBgLDAx3a4xAK8tp4FN9SzApVir5zdPaJDCBN6WXGUoT3w8ZSEmn5ReyVNlcVnBxkfatsEz9qVKTa6mdQS9p4cAu8wLQw2X8stF5iyieyijC7fB+Ijg2ck9zaQJDMH854pfDGEgw+td7UFT/K9vmBfwYrnwL6g==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(4326008)(6512007)(8936002)(186003)(36756003)(6506007)(316002)(83380400001)(38100700002)(6486002)(26005)(6916009)(86362001)(6666004)(8676002)(54906003)(2616005)(82960400001)(2906002)(5660300002)(66946007)(66556008)(66476007)(1076003)(508600001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?U0lKeDhiUURRdmlPSFdjZTJmR2p0aHFXeWlyT1orK1pZTkNob2pvdCtrNXRQ?=
 =?utf-8?B?bWRPbHdzbDhxZGtxNnIxRGsxdHo3MGdWdFV5M0l1cHZ6b0ExK1R6RHFMbDZr?=
 =?utf-8?B?dDFGTGNnaDdRa0lEUUZNWFlFZFVNdW91SlE1a0Q0MllNWmNBcnk1Y0NTS2hn?=
 =?utf-8?B?cHVIaHlXdGprcWZYcmhUTW9PWTZ3eWNIK1FTTTFjWDNPVjVEVnVtbS9tUXd0?=
 =?utf-8?B?azN1eWQ2ZXYwTnFwcVJGTngzckQwczNrWVhhaVRJOG5JT2pUVzZVMzFuNEc3?=
 =?utf-8?B?ZDRML3lnNGdSaTB2ZkFzeTh1a3hmZUNpRExtY2FERjF6MzhNS3N4SUtXMjdp?=
 =?utf-8?B?Y0d0UnhBeHk3UElsQmJPd0ZtZkRieTI5TU5EanozR1ZaQU9IMm4rSFFmczc3?=
 =?utf-8?B?RGdKQ3pjd2JLaWNKWHRLNTNDQU0yZ2RoNEF3d3J2YVJuc3ErelhLbzc0OUlL?=
 =?utf-8?B?Y09yb2wwUTFMV0h6RmpIY0NYK0l6bjNsK0ZYdWFaK1ArRXdxL2VmUUhjcDQv?=
 =?utf-8?B?ZlNacG9MdWtnYWhTSjFleWhWc256UVlXQm5NNWp5OHRCN0doNThqUm5kbHpr?=
 =?utf-8?B?QWlTRlB2SlZJdGZvc1BhMlprem8rWStEaWprNW5Da0l5bXQ5c05ycEIyalo4?=
 =?utf-8?B?bkVwL3hjSis5N2NuUnp3ajZkY0hKZEJvV2czNzluZ25DbWZjcHpBMnNGWnBC?=
 =?utf-8?B?NkQvYWdVb2hZWDV3c00vYWJlNTNwendxakVRU1hXSXl0Wmp0TFRPU0dRdlNo?=
 =?utf-8?B?YncxYjhIbHJHN1doeHVOLzBlSWNlY2ErVmlzVW9RSVdEQWVlaW5GdmVWbVBZ?=
 =?utf-8?B?azlYOCs1SzhYbWRWb3ZxZUxZT3UvWWlHZE1QSlFtTXErTHFmYVl3Q3UvUlFX?=
 =?utf-8?B?THpzcFpONHllcHZwdkE1eFlSQVFsYjlqOW52bXprMEFXUGF0NVZ6eDFqMTAz?=
 =?utf-8?B?cXdKWEo0SC91WkgxMUhZRUhFaVlBT2JDclZ3a1JKcmFLUHZ1K3J2ODlvN0Z6?=
 =?utf-8?B?cDcyNmJQZ3ordVUvMDJET05INDVZUWJJMk1GellqdUpJMTFZTkhXVXN6SW1O?=
 =?utf-8?B?MnhHWEdYQm8zbVVHeVBsTllCVzJJbCtSTmYzVUp1NWtXT1lCbHVqQ3VBMS9i?=
 =?utf-8?B?cFVVSGdsYXBCRkQvYnMwdVkzSHB6WGRtbWFidExjWHNVVDhzVFd6OW84Vk1L?=
 =?utf-8?B?TnlYcjdURjU5NXRrbThrcW1IVFE0Z0xqS1VMR3h1Rzg3aDFPVmtYWUg2a0dR?=
 =?utf-8?B?SUhMNEtocy8zOHlXU1JVNXZTZzVEbnExOHlLNUd3eFliMmhkeGErVjVQM21G?=
 =?utf-8?B?d0RkZ1p1ckFOZ01PaHJUd2FmcllQTWRqd0c5TGtLb005c0VFMnlUWkM1WEdR?=
 =?utf-8?B?cERiMHVFQTFRc0Rta3hvUnlCSzZaQlcwdDMzTllTaEtoQjdqQTVSYzU4Z1By?=
 =?utf-8?B?UWg4dkYxRkdkTk4zdzhSV1NiNE5kcHFrdUFjeE9wZVpFWDUxMG9qNGlXZHgv?=
 =?utf-8?B?alV0ZEZ2N1FrU1J1MUE2RjQ3V2IyY00veHA1dnQ2T1hkL0d4NG5jZjRCbXk2?=
 =?utf-8?B?ZVFxVmp4TTJVbVFhRE9ONlVBa29wR0U1RmtDbmgwNXFNR2UvaTU5LzZPN3Fw?=
 =?utf-8?B?MW1NcE92VnhOVWlhM2ZpMURZR0dpWmZpWEcycXh6NUEvanNwaE1OMWtkeHU0?=
 =?utf-8?B?ZTRYWEVFSGlTNDBwa1QrN1ZXTHpaU1B5bkFYcHJSQ2UrMzk4Ni95ZUNSV0dm?=
 =?utf-8?B?NElRdEVjRFY5U0taQkhudTFkb0lSZUtNcXdxUWltRWh2S1hYQ0I5TVZTSE16?=
 =?utf-8?B?MkNaMklJMlBvZEgrV2xXdGl3b2NXZksrVDVMSmNZWFc0U2JiZmJWVFNBb1BO?=
 =?utf-8?B?MW5DYnROTE1jVEVIWU14bVF0ckI1Slp6T25IcU1lVkRzemJKejBWWnVYOUdX?=
 =?utf-8?B?dm15SHc1L1o3UWh4Y0FUSU93WHh6VThuMUxSczVXTTZJS3pkNmJHd1VhNHAr?=
 =?utf-8?B?RXlEeVBHaTgwd3VWNVhYdGF4N0FDbkdDZ1lHODRhVU9neWFpVUUzZUlRQTNq?=
 =?utf-8?B?K3NFTGRhUVpMWCt3MFhYZUxpTS94VFMwK1ZwQVp6elVqdTV3QzJYMStFQ0Z2?=
 =?utf-8?B?QUdBbk52bDM1U1R4ZTNCZnVQVnp2N3FKcjFSZ0VhQUhaS1RERHFWUnlGa1Nv?=
 =?utf-8?Q?nhLRNXfew2Ju3HasG+YDV/o=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: a91cf014-e294-4d78-371e-08d9d99eaad3
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2022 09:49:34.4446
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZSSP3fXsamVAqMAdq0Wa7uBfHgSXbGfpgr1BEdw0nfN13hZYc6/CgQR8Bguf4vj2GN04bBuL4kQ1Dnh5JZDeUw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4059
X-OriginatorOrg: citrix.com

This logic is pulled out from xc_cpuid_apply_policy and placed into a
separate helper. Note the legacy part of the introduced function, as
long term Xen will require a proper topology setter function capable
of expressing a more diverse set of topologies.

No functional change intended.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v5:
 - Keep using the host featureset.
 - Fix copied comment typo.

Changes since v4:
 - s/xc_cpu_policy_topology/xc_cpu_policy_legacy_topology/
---
 tools/include/xenguest.h        |   4 +
 tools/libs/guest/xg_cpuid_x86.c | 182 +++++++++++++++++---------------
 2 files changed, 101 insertions(+), 85 deletions(-)

diff --git a/tools/include/xenguest.h b/tools/include/xenguest.h
index 281454dc60..bea02cb542 100644
--- a/tools/include/xenguest.h
+++ b/tools/include/xenguest.h
@@ -821,6 +821,10 @@ bool xc_cpu_policy_is_compatible(xc_interface *xch, xc_cpu_policy_t *host,
 int xc_cpu_policy_make_compat_4_12(xc_interface *xch, xc_cpu_policy_t *policy,
                                    bool hvm);
 
+/* Setup the legacy policy topology. */
+int xc_cpu_policy_legacy_topology(xc_interface *xch, xc_cpu_policy_t *policy,
+                                  bool hvm);
+
 int xc_get_cpu_levelling_caps(xc_interface *xch, uint32_t *caps);
 int xc_get_cpu_featureset(xc_interface *xch, uint32_t index,
                           uint32_t *nr_features, uint32_t *featureset);
diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
index f1115ad480..e7ae133d8d 100644
--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -429,13 +429,11 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
 {
     int rc;
     xc_dominfo_t di;
-    unsigned int i, nr_leaves, nr_msrs;
+    unsigned int nr_leaves, nr_msrs;
     xen_cpuid_leaf_t *leaves = NULL;
     struct cpuid_policy *p = NULL;
     struct xc_cpu_policy policy = { };
     uint32_t err_leaf = -1, err_subleaf = -1, err_msr = -1;
-    uint32_t host_featureset[FEATURESET_NR_ENTRIES] = {};
-    uint32_t len = ARRAY_SIZE(host_featureset);
 
     if ( xc_domain_getinfo(xch, domid, 1, &di) != 1 ||
          di.domid != domid )
@@ -458,22 +456,6 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
          (p = calloc(1, sizeof(*p))) == NULL )
         goto out;
 
-    /* Get the host policy. */
-    rc = xc_get_cpu_featureset(xch, XEN_SYSCTL_cpu_featureset_host,
-                               &len, host_featureset);
-    if ( rc )
-    {
-        /* Tolerate "buffer too small", as we've got the bits we need. */
-        if ( errno == ENOBUFS )
-            rc = 0;
-        else
-        {
-            PERROR("Failed to obtain host featureset");
-            rc = -errno;
-            goto out;
-        }
-    }
-
     /* Get the domain's default policy. */
     nr_msrs = 0;
     rc = get_system_cpu_policy(xch, di.hvm ? XEN_SYSCTL_cpu_policy_hvm_default
@@ -557,72 +539,11 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
         }
     }
 
-    if ( !di.hvm )
-    {
-        /*
-         * On hardware without CPUID Faulting, PV guests see real topology.
-         * As a consequence, they also need to see the host htt/cmp fields.
-         */
-        p->basic.htt       = test_bit(X86_FEATURE_HTT, host_featureset);
-        p->extd.cmp_legacy = test_bit(X86_FEATURE_CMP_LEGACY, host_featureset);
-    }
-    else
-    {
-        /*
-         * Topology for HVM guests is entirely controlled by Xen.  For now, we
-         * hardcode APIC_ID = vcpu_id * 2 to give the illusion of no SMT.
-         */
-        p->basic.htt = true;
-        p->extd.cmp_legacy = false;
-
-        /*
-         * Leaf 1 EBX[23:16] is Maximum Logical Processors Per Package.
-         * Update to reflect vLAPIC_ID = vCPU_ID * 2, but make sure to avoid
-         * overflow.
-         */
-        if ( !p->basic.lppp )
-            p->basic.lppp = 2;
-        else if ( !(p->basic.lppp & 0x80) )
-            p->basic.lppp *= 2;
-
-        switch ( p->x86_vendor )
-        {
-        case X86_VENDOR_INTEL:
-            for ( i = 0; (p->cache.subleaf[i].type &&
-                          i < ARRAY_SIZE(p->cache.raw)); ++i )
-            {
-                p->cache.subleaf[i].cores_per_package =
-                    (p->cache.subleaf[i].cores_per_package << 1) | 1;
-                p->cache.subleaf[i].threads_per_cache = 0;
-            }
-            break;
-
-        case X86_VENDOR_AMD:
-        case X86_VENDOR_HYGON:
-            /*
-             * Leaf 0x80000008 ECX[15:12] is ApicIdCoreSize.
-             * Leaf 0x80000008 ECX[7:0] is NumberOfCores (minus one).
-             * Update to reflect vLAPIC_ID = vCPU_ID * 2.  But avoid
-             * - overflow,
-             * - going out of sync with leaf 1 EBX[23:16],
-             * - incrementing ApicIdCoreSize when it's zero (which changes the
-             *   meaning of bits 7:0).
-             *
-             * UPDATE: I addition to avoiding overflow, some
-             * proprietary operating systems have trouble with
-             * apic_id_size values greater than 7.  Limit the value to
-             * 7 for now.
-             */
-            if ( p->extd.nc < 0x7f )
-            {
-                if ( p->extd.apic_id_size != 0 && p->extd.apic_id_size < 0x7 )
-                    p->extd.apic_id_size++;
-
-                p->extd.nc = (p->extd.nc << 1) | 1;
-            }
-            break;
-        }
-    }
+    policy.cpuid = *p;
+    rc = xc_cpu_policy_legacy_topology(xch, &policy, di.hvm);
+    if ( rc )
+        goto out;
+    *p = policy.cpuid;
 
     rc = x86_cpuid_copy_to_buffer(p, leaves, &nr_leaves);
     if ( rc )
@@ -946,3 +867,94 @@ int xc_cpu_policy_make_compat_4_12(xc_interface *xch, xc_cpu_policy_t *policy,
     xc_cpu_policy_destroy(host);
     return rc;
 }
+
+int xc_cpu_policy_legacy_topology(xc_interface *xch, xc_cpu_policy_t *policy,
+                                  bool hvm)
+{
+    if ( !hvm )
+    {
+        uint32_t host_featureset[FEATURESET_NR_ENTRIES] = {};
+        uint32_t len = ARRAY_SIZE(host_featureset);
+        int rc;
+
+        /* Get the host policy. */
+        rc = xc_get_cpu_featureset(xch, XEN_SYSCTL_cpu_featureset_host,
+                                   &len, host_featureset);
+        if ( rc && errno != ENOBUFS )
+        {
+            /* Tolerate "buffer too small", as we've got the bits we need. */
+            ERROR("Failed to obtain host featureset");
+            return rc;
+        }
+
+        /*
+         * On hardware without CPUID Faulting, PV guests see real topology.
+         * As a consequence, they also need to see the host htt/cmp fields.
+         */
+        policy->cpuid.basic.htt = test_bit(X86_FEATURE_HTT, host_featureset);
+        policy->cpuid.extd.cmp_legacy = test_bit(X86_FEATURE_CMP_LEGACY,
+                                                 host_featureset);
+    }
+    else
+    {
+        unsigned int i;
+
+        /*
+         * Topology for HVM guests is entirely controlled by Xen.  For now, we
+         * hardcode APIC_ID = vcpu_id * 2 to give the illusion of no SMT.
+         */
+        policy->cpuid.basic.htt = true;
+        policy->cpuid.extd.cmp_legacy = false;
+
+        /*
+         * Leaf 1 EBX[23:16] is Maximum Logical Processors Per Package.
+         * Update to reflect vLAPIC_ID = vCPU_ID * 2, but make sure to avoid
+         * overflow.
+         */
+        if ( !policy->cpuid.basic.lppp )
+            policy->cpuid.basic.lppp = 2;
+        else if ( !(policy->cpuid.basic.lppp & 0x80) )
+            policy->cpuid.basic.lppp *= 2;
+
+        switch ( policy->cpuid.x86_vendor )
+        {
+        case X86_VENDOR_INTEL:
+            for ( i = 0; (policy->cpuid.cache.subleaf[i].type &&
+                          i < ARRAY_SIZE(policy->cpuid.cache.raw)); ++i )
+            {
+                policy->cpuid.cache.subleaf[i].cores_per_package =
+                  (policy->cpuid.cache.subleaf[i].cores_per_package << 1) | 1;
+                policy->cpuid.cache.subleaf[i].threads_per_cache = 0;
+            }
+            break;
+
+        case X86_VENDOR_AMD:
+        case X86_VENDOR_HYGON:
+            /*
+             * Leaf 0x80000008 ECX[15:12] is ApicIdCoreSize.
+             * Leaf 0x80000008 ECX[7:0] is NumberOfCores (minus one).
+             * Update to reflect vLAPIC_ID = vCPU_ID * 2.  But avoid
+             * - overflow,
+             * - going out of sync with leaf 1 EBX[23:16],
+             * - incrementing ApicIdCoreSize when it's zero (which changes the
+             *   meaning of bits 7:0).
+             *
+             * UPDATE: In addition to avoiding overflow, some
+             * proprietary operating systems have trouble with
+             * apic_id_size values greater than 7.  Limit the value to
+             * 7 for now.
+             */
+            if ( policy->cpuid.extd.nc < 0x7f )
+            {
+                if ( policy->cpuid.extd.apic_id_size != 0 &&
+                     policy->cpuid.extd.apic_id_size < 0x7 )
+                    policy->cpuid.extd.apic_id_size++;
+
+                policy->cpuid.extd.nc = (policy->cpuid.extd.nc << 1) | 1;
+            }
+            break;
+        }
+    }
+
+    return 0;
+}
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 09:57:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 09:57:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258063.443991 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Ol1-000053-2V; Mon, 17 Jan 2022 09:56:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258063.443991; Mon, 17 Jan 2022 09:56:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Ol0-0008VM-Qv; Mon, 17 Jan 2022 09:56:58 +0000
Received: by outflank-mailman (input) for mailman id 258063;
 Mon, 17 Jan 2022 09:56:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TAtW=SB=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n9Oe3-0003a5-Id
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 09:49:47 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cd0b6592-777a-11ec-a115-11989b9578b4;
 Mon, 17 Jan 2022 10:49:45 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cd0b6592-777a-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642412985;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=/O0U0KNImtCyb3JWdKQDPPV0OmQCunJL/NG5QQraSW4=;
  b=IlbFVL5zwezmMYEor9OEeHKMNlcGSmlFVsy3kUuA9b9By3Az310po0uc
   DnTCgMSPvVFZxu0a1ZyiJ5TdvFEZbikm7lPyQlRaknMp/raAiDL+qURJh
   UCfHs2DdxGbPKGocOAidY1cY2jcbE9mkiQvi2Lqy5xJyp+elb9vRYF/Lt
   Q=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: u1J2EPNJlQfj3cu5rxHMjyn/AX29nv9qxAeoGWL9V9BiXuUO2+0ZBWo33QoWGls8M9gpx444Zs
 H1nmnwv9Y5N6/O3UNaHfKz4jVKDqKmVhBkytmIKZQ3G+asIVURXnZb4PpxMS+q+ilKMzn662IH
 Vnf9DJwHWLILqlZUdLdnVX0PCpfzudQOG3B3vtL44CRE/b/yUuCbLfnCTJ2a0ieqWLnxPfQ+QW
 jgdO+H6APPOnQdC7NIeURFf+OWLsUroQcsPlOJiNvt0LuPcJEJk4v4Fo31X61UrlZn9YwX29Ru
 +umK8Deg3pB37UikveFEnfX5
X-SBRS: 5.2
X-MesageID: 61616927
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:hnXimqmcp44B8KjsBMLNPgjo5gxmIURdPkR7XQ2eYbSJt1+Wr1Gzt
 xIfUW2EM/bfYWCgfdl2Pt++/UgH7ZHXmIIwGlBvpX82QyMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BClVlxJVF/fngqoDUUYYoAQgsA180IMsdoUg7wbRh29c32YHR7z6l4
 rseneWOYDdJ5BYsWo4kw/rrRMRH5amaVJsw5zTSVNgT1LPsvyB94KE3fMldG0DQUIhMdtNWc
 s6YpF2PEsE1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXee0v0XRYRQR4/ttmHozx+4
 PFkq7yKTiMMBPTRncsUTUB1ITBSLYQTrdcrIVDn2SCS50jPcn+qyPRyFkAme4Yf/46bA0kXq
 6ZecmpUKEne2aTmm9pXScE17ignBNPsM44F/Glp0BnSDOo8QICFSKLPjTNd9Glp2JkQTKyBD
 yYfQQJTTiScUxdkAGZNA5RuwOCruGi4LgQN/Tp5ooJoujOOnWSdyoPFMtXPfceRbd5IhUver
 WXDl0zmBjkKOdrZziCKmlq8i+mKkS7lVYY6ELyj6uUskFCV3nYUChAdSR28u/bRt6Klc4sBc
 QpOoHNo9PVsshzwJjXgY/GmiFqtoD4mXP51KbQn7S6E1PP50Re1FkFRG1atd+canMMxQDUr0
 HqAkNXoGSFjvdWpdJ6NyluHhWjsYHZIdAfucQdBFFJYuIe7/OnfmzqWFo47eJNZmOEZDt0ZL
 9qiiCElz4segscQv0lQ1QCW2mn8znQlo+Nc2+k2Yo5Hxl4jDGJGT9bxgbQ+0RqmBNzDJrVml
 CJV8/VyFMhUUfmweNWlGY3h5o2B6fefKyH7ilVyBZQn/DnF0yf9IdoLvWEldBs1bJZsldrVj
 Kn74145CHh7ZirCUEOKS9jpV5RCIVbISLwJqcw4nvIRO8MsJWdrDQllZFKK3nCFraTfufpXB
 HtvSu71VSxyIf0+lFKeHr5BuZd2mHxW7T6NFPjTkkT2uZLDNSX9YepUbzOzghURsfnsTPP9q
 YgPbqNnCnx3DYXDX8Ug2dVCcgBRcylqXMCeRg4+XrfrHzeK0VoJUpf56bggZ5Zkj+JSkOLJ9
 Wu6QUhW1Bz0gnivFOlAQiwLhGrHUcktoHQlEzYrOFr0iXEvbZz2tPUUdoctfKlh/+tmlKYmQ
 /4AcsSGI/JOVjWYpGhNMcij9NRvJEaxmAaDHyu5ezxjLZRucBPEp43/dQz1+ShQUifu7Zkio
 6et3x/wSIYYQ1gwF97fbf+ilgvjvXUUlO9ocVHPJ91fJBfl/IRwcnSjhf4rOcAcbx7Ew2LCh
 QqRBB4Zo8jLopM0r4aV1fzV8d/xHrInTERAHmTd4bKnDgXg/zKukd1aTeKFXTHBT2eoqq+sU
 vpYkqPnO/odkVcU74clS+R3zbgz7sfErqNBylg2B23CalmmB+8yInSC2sUT5KRByqUA5FmzU
 0OLvNJbJa+IKIXuF1tIfFgpaeGK1Pc1nDjO7KtqfBWmtXEvpLfXA19POxSsiTBGKOonOYwo9
 u4tpcoK5lHtkREtKNuH0nhZ+mnkwqbsiEn7WkX22LPWtzc=
IronPort-HdrOrdr: A9a23:OY3P0K8JASlhKpBgPCBuk+FAdb1zdoMgy1knxilNoENuHfBwxv
 rDoB1E73LJYVYqOU3Jmbi7Sc29qBTnhOJICOgqTMqftWzd1ldAQ7sSi7cKrweQeREWs9Qtrp
 uIEJIOeeEYb2IK9PoSiTPQe71LoKjlzEnrv5al854Ed3AVV0gK1XYfNu/0KDwSeOEQbqBJa6
 Z0q/A37AaISDAyVICWF3MFV+/Mq5nik4/nWwcPA1oC5BOVhT2lxbbmG1zAty1uHg9n8PMHyy
 zoggb57qKsv7WSzQLd7Xba69BzlMH6wtVOKcSQgow+KynqiCyveIN9Mofy9gwdkaWK0hIHgd
 PMqxAvM4Ba7G7QRHi8pV/X1wzpwF8Vmgnf4G7dpUGmjd3yRTo8BcYEr5leaAHl500pu8w5+L
 5X3kqC3qAnQy/orWDY3ZzlRhtqnk27rT4JiugIlUFSVoMYdft4sZEfxkVIC50NdRiKp7zPKN
 MeTP002cwmMm9zNxvizytSKZ2XLzgO9y69Mwk/Upf/6UkSoJh7p3Fos/D30E1wsK7VcKM0lN
 gsBJ4Y4I2mfvVmHZ6VO91xM/dfcla9OS4kEFjiaGgPR5t3c04klfbMkcAIDaeRCds18Kc=
X-IronPort-AV: E=Sophos;i="5.88,295,1635220800"; 
   d="scan'208";a="61616927"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lODJahyR+Gh0vjD0yVnQx+fnm5t7iOrjEqSJ6uxlkXtQgK+Jg7/KjFtVtAH6hTXAkDEpSa+P1+WbNRrpGmOTwSGyMWRX4nC+CLocYEoGSzUgRlqumrOsAQPJ4sjwmp0jlA9YoJznyZaRyXjM8Mz6ykq2UPSHX3G4gJgFWsTDifdo1Qc/gsS+b3SdywJbYXUIy1p6NrokfEgpPqnFiZ9nK/wL/LMYgoKKy/KJAajs2arZn4H7ZhGFEBOkf9oeCpaE4nnsGbOQJkB4biPu4agiBiRj24OPw6aUarfB3QJ3mx46hwnSzNGsbni0hj1jQuAgyOEEp/LQu1+G5mQBnisrkw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CNUn5uJ+65mTyyLibJ5FdU7ew52MqXiRBT0tuNTGnXM=;
 b=ZXaYsRUKTtpkgTq9pUEaIanWJod6r5Wmi2VvO3Bsfp8YHvYD9C4kbLAUIgACxMkm6sGptvEZLMdJYJl7g1raA4IYJe1S0EtU/sTBRYj8zBlc/JqR80pjrTths+2v2XS1VSS/8xk6lVuAYjLh4K6XtiSgyrEjXc1iIc+dtpZe+RRlBFy2oWXYvhaWy9KmFxZfGKa76sdMy1I4cyqQMQ2Q3SEoQVtvNGy8al8xTfJ/E8vAJvrjtIgOzl88qWCRyaU/fTVexFOW5BtNW42OP6nam8PY7/QOiQYvCrIQlJmgTli0kuwtucp7Vath+Bpj/V6/MmaxhXOovOTE6ssBE25/5A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CNUn5uJ+65mTyyLibJ5FdU7ew52MqXiRBT0tuNTGnXM=;
 b=Wq1Mv8AkiHNeo+05+C1grTceFGXGL19JfQxfy4/PEjafdtumMQlXczDtK4lJ7DAh152HUj0SnwExaaOtUzobDQOkLPA46p1baecWNDhBDZa9PIVjhoqymveyZcyDu875PzvpVRKerbLHUYGxj8ltbc8eRpzxgmOS+RxZS2QPT/A=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, "Anthony
 PERARD" <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
Subject: [PATCH v6 08/12] libs/guest: rework xc_cpuid_xend_policy
Date: Mon, 17 Jan 2022 10:48:23 +0100
Message-ID: <20220117094827.16756-9-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220117094827.16756-1-roger.pau@citrix.com>
References: <20220117094827.16756-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MR2P264CA0145.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:1::8)
 To DS7PR03MB5608.namprd03.prod.outlook.com (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f2007200-2d9c-451a-86bb-08d9d99eaeaf
X-MS-TrafficTypeDiagnostic: DM6PR03MB4059:EE_
X-Microsoft-Antispam-PRVS: <DM6PR03MB4059E6E1609C227DB24E72B18F579@DM6PR03MB4059.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:65;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: q2QVtYbJTn+7nbwqbLQ26H8V4mtQNSZ5V9uB5Rxx1Z1ULlRIehMmuFGseTimFGisRK5mnGSdRVsu4Lp8+DV2Z0V5MxADkzFXKvZ0wxYce6qh8yMDSMwKdZGLgRHFYw/NNIY8SBhgePONyOXUzbPlW1wXZAnS7ZJWAIl4Huhix8cttK3GReD9qdaCgXuYo70Nz27Bp5flSOX2Eh1kNBn0dwrNfgSe3H2hIZ/bEZxErgp5Zwu2+4UfQyzD1Lz7QC4ryxLU0It2ZBJwzxvN0AiNNvp9VdDQoAsJyfY0JhcTvW9D0tgyTBa9Wig5Ieo6/fuj44fvhEfaWyZ4o3llD7GoLQj4VOARWeCOtUv8uuyD4TkIwj77wpnXGQks4mUfhXC90qacVfPxGxLBoklkfMY1vNilJx6+WiPLyDZlwQuDedoRcyVHzK4TQWXggpjyp/6RLZTY9lNHmmugtcgCjVbExP3kUzywiSzhq8hHeOLYgo55s8oorNr0qJpeZrZY8D6kJz7YfbehycrAmIeYFImWCCwrt6mqGkhIIxzbD684K5zyA0S25WqNLvVsVxWswFxDSB9L1AEiYkr/3D261ce2MIBfGH2tcxMGQjf6DdKKZipYUW9eWibVoNlxo3SHkEYD+o68MtFKa65PGBHahIY82A==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(4326008)(6512007)(8936002)(186003)(36756003)(6506007)(316002)(83380400001)(38100700002)(6486002)(26005)(6916009)(86362001)(6666004)(8676002)(54906003)(2616005)(82960400001)(2906002)(5660300002)(66946007)(66556008)(66476007)(1076003)(508600001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cEdsWWF3NUxlRUhRY2tsNGFzVE5aT1pIQ3BtVUdPNFZod1ZTYS9wb25uLzZI?=
 =?utf-8?B?Q0hRdzVKelYwNFVJREtCNnNoeDhjUnliNFdnTU1EWmFrQWF0Ukl6cHdtbjgr?=
 =?utf-8?B?VWI5SEJJUzhiZkhyTmtkNXVEREE3b2Noek1MN1p5NVorZ3NqWStETm9CTmly?=
 =?utf-8?B?V3ZsMVhqNW5WamI3b3FpdGpnZDNrbFB1ZVBwNDdUcUVLLzRWajdDdnBDK0pT?=
 =?utf-8?B?N2cySXQ0VHU2eXE2OFI2b0V0S3VSNjhXMFFGWjJ3L3dadzFyZHR6ZWJtZG9Y?=
 =?utf-8?B?RFZ5eXhOdlVPdGt3WThlUm5mV09Vazh6RGxOajhWaG04TnZ0ZU5KYmd0V2Zr?=
 =?utf-8?B?ZjlQU1NFdXZ5QmQ3VmNmTVE0OUp4L1YrYVUvdnFyM2ROOGhPVDVKS2tkak5k?=
 =?utf-8?B?TGx3K3JnMmJ1bnYvci9nR3pTMk5xUkFqQmlDMVl1YTlRK0k1Q2d5R3VFN1A2?=
 =?utf-8?B?VHdxZDh4dDJzdkJRaGo3VHJSQ2NQaTEyS3o5Zk11bkFtYnB3KzBwbGMyNGVR?=
 =?utf-8?B?ZmZqMzBEemg4YmtrcW1oQTQ0ciswTzR2NW13ZWtqSDdvWTRRa05xYVI4a3Zr?=
 =?utf-8?B?RUM5ZWJWRGs3SlJrKzFhWFEzZ3pJc29idDQ3c0F1Q3pXaG9KRzlZY0dDZ3Nm?=
 =?utf-8?B?UThhOTMzY3AveVZzTGtHR3VXZUplMndFeDlZMDFmdkIvQ1lGYms1QWF5eVNF?=
 =?utf-8?B?eDI2cEcxaGljNlRZWU9jSXYvcWJGWktGRURRR3IweGEwMGJkTlJyUDYwK2FL?=
 =?utf-8?B?VCt2dHk3RmZ4UW83Q0FWbk9rREpjekpnNFVINHI2eFpmaldpTzlET3BPUEc3?=
 =?utf-8?B?eDlmUUVhbzZpMEttMTdZVW1wRk1SRkladURpM3hNUVFxaElwSy9QVDVNbHZq?=
 =?utf-8?B?RjFvaVpaZlZUZGtrK244WkxFR3pwQnMxeFJMWWVlelgrMGkvbXBXK2JOblVn?=
 =?utf-8?B?WFd3UmpKaW45SEFSdFdBRDFrSm9meElka1R6bjNlSmNMM0pPZWVLbytDWTI0?=
 =?utf-8?B?SUN1VU8xYXhjeVozV285NXc3anJKMkx1MzVjMnVUSDBQQXNoNHdOTnhHZUU4?=
 =?utf-8?B?T2V4d0VYSzZJSXhNanl2MkRBZEduSUhYT2JQL3RTVWtVNHQ2alZMUUJET2hG?=
 =?utf-8?B?aC9IbWo0cTlGRmFCa2RvRTBNTnBiUXMzQUpRQ3lhMEk1eERNYzFsUDVseVFM?=
 =?utf-8?B?cjhNM3dOTFV4SlRVOHkrczlpaE5DcU1QaXBPQUd4dG54Wkx4b2xIVm1XaXcv?=
 =?utf-8?B?U3lCR0FhaWNzV2lhQ1dtTEQzU3A3VmhqTHRWcUJpdjdKOWoyaUZPWTlNdFcz?=
 =?utf-8?B?cTg3Ukt1K1JuM0FCNldmTnlyRFM1YXR2MGoyOTY3RlN0S0V0TjViQWNqRVRH?=
 =?utf-8?B?N0lFbW5IZGJ6b0w4ZFY2amlQUTBhVmdDeDNJTXhWeTlXSWFSNnFCeFJBWXpV?=
 =?utf-8?B?Wm51V1ppdHh4WVM4MXdGMFY4RUVFSHpaMitlSm5vZUp5VXlsMENBQmtTUmVt?=
 =?utf-8?B?dlhwRWRXWVhGL0c3OG5UWExQWWwxOHAzQnJOZmZHTWd1MW5yWUJkRStZenhJ?=
 =?utf-8?B?UlZlSFdtNWpLeEltY3BCUEVhamt5eTRubmdqMENmUThwamxpWjVvSGZ3bnBI?=
 =?utf-8?B?ZEdONjNPWU9yN1EwMktabHFnOXUyalNlTWJUS2xOZGlOSlArTkdZME1qUzla?=
 =?utf-8?B?Sms5NHNUVVZZL21RL0RHVC96UnlReTRmMk9iNmhNc2h0SFRoT2NycVVEVVRR?=
 =?utf-8?B?RlErZ2lKQWVuYU5SWkhEZ3I4YmcxU3RwWWFZVUczY0hhSkVpRUx5blhseUc5?=
 =?utf-8?B?K0JmRVNSVjYvM3RhVGt0QlpqNjVEeEh1NHQ0ZXZLeWMwUm0zRThFR3BiZGZ6?=
 =?utf-8?B?cFo1Rzk0VEU0NUI3MjVBVTIzT0dwYmRVNWVHWEdibTVZTVFGSGYrTzdBRDM4?=
 =?utf-8?B?R2hJakdHYkd4QXVIK1F5a1dyMElrMnpGTmJaNHlIem1zUmt6N0EzVGkrcGdJ?=
 =?utf-8?B?TWx0bEgwU1gvSkh6R293c2dEZ09keC9uYTl2dnVQL2VOZXpRMEZScWtneUhC?=
 =?utf-8?B?SDZ2cFNRUy96SHJyMmlaUllrRnFGVEhLWkRsRXNuWEUvS1dvRVRlK3Z6MmlE?=
 =?utf-8?B?UE44WWhveDJsTEZHS0NwL2J3N0VsbUlsdjVhdzE3TG1Yb01xK1dUVDBMNjdk?=
 =?utf-8?Q?0ghM7CFv64AuBAbRLjS6/n8=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: f2007200-2d9c-451a-86bb-08d9d99eaeaf
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2022 09:49:40.9372
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +e9K2tszI6YKcoB0XUwtCprNHzNNnsYKpWIfrXlg4jqqH52eEFNXWgWTVgivsurBq7R3U510fU7cjjvTZ9IKXg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4059
X-OriginatorOrg: citrix.com

Rename xc_cpuid_xend_policy to xc_cpu_policy_apply_cpuid and make it
public. Modify the function internally to use the new xc_cpu_policy_*
set of functions. Also don't apply the passed policy to a domain
directly, and instead modify the provided xc_cpu_policy_t. The caller
will be responsible of applying the modified cpu policy to the domain.

Note that further patches will end up removing this function, as the
callers should have the necessary helpers to modify an xc_cpu_policy_t
themselves.

The find_leaf helper and related comparison function is also removed,
as it's no longer needed to search for cpuid leafs as finding the
matching leaves is now done using xc_cpu_policy_get_cpuid.

No functional change intended.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v3:
 - Drop find_leaf and comparison helper.
---
 tools/include/xenguest.h        |   4 +
 tools/libs/guest/xg_cpuid_x86.c | 200 +++++++++++++-------------------
 2 files changed, 83 insertions(+), 121 deletions(-)

diff --git a/tools/include/xenguest.h b/tools/include/xenguest.h
index bea02cb542..9912116a51 100644
--- a/tools/include/xenguest.h
+++ b/tools/include/xenguest.h
@@ -825,6 +825,10 @@ int xc_cpu_policy_make_compat_4_12(xc_interface *xch, xc_cpu_policy_t *policy,
 int xc_cpu_policy_legacy_topology(xc_interface *xch, xc_cpu_policy_t *policy,
                                   bool hvm);
 
+/* Apply an xc_xend_cpuid object to the policy. */
+int xc_cpu_policy_apply_cpuid(xc_interface *xch, xc_cpu_policy_t *policy,
+                              const struct xc_xend_cpuid *cpuid, bool hvm);
+
 int xc_get_cpu_levelling_caps(xc_interface *xch, uint32_t *caps);
 int xc_get_cpu_featureset(xc_interface *xch, uint32_t index,
                           uint32_t *nr_features, uint32_t *featureset);
diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
index e7ae133d8d..9060a2f763 100644
--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -254,144 +254,107 @@ int xc_set_domain_cpu_policy(xc_interface *xch, uint32_t domid,
     return ret;
 }
 
-static int compare_leaves(const void *l, const void *r)
-{
-    const xen_cpuid_leaf_t *lhs = l;
-    const xen_cpuid_leaf_t *rhs = r;
-
-    if ( lhs->leaf != rhs->leaf )
-        return lhs->leaf < rhs->leaf ? -1 : 1;
-
-    if ( lhs->subleaf != rhs->subleaf )
-        return lhs->subleaf < rhs->subleaf ? -1 : 1;
-
-    return 0;
-}
-
-static xen_cpuid_leaf_t *find_leaf(
-    xen_cpuid_leaf_t *leaves, unsigned int nr_leaves,
-    const struct xc_xend_cpuid *xend)
-{
-    const xen_cpuid_leaf_t key = { xend->leaf, xend->subleaf };
-
-    return bsearch(&key, leaves, nr_leaves, sizeof(*leaves), compare_leaves);
-}
-
-static int xc_cpuid_xend_policy(
-    xc_interface *xch, uint32_t domid, const struct xc_xend_cpuid *xend)
+int xc_cpu_policy_apply_cpuid(xc_interface *xch, xc_cpu_policy_t *policy,
+                              const struct xc_xend_cpuid *cpuid, bool hvm)
 {
     int rc;
-    xc_dominfo_t di;
-    unsigned int nr_leaves, nr_msrs;
-    uint32_t err_leaf = -1, err_subleaf = -1, err_msr = -1;
-    /*
-     * Three full policies.  The host, default for the domain type,
-     * and domain current.
-     */
-    xen_cpuid_leaf_t *host = NULL, *def = NULL, *cur = NULL;
-    unsigned int nr_host, nr_def, nr_cur;
+    xc_cpu_policy_t *host = NULL, *def = NULL;
 
-    if ( xc_domain_getinfo(xch, domid, 1, &di) != 1 ||
-         di.domid != domid )
-    {
-        ERROR("Failed to obtain d%d info", domid);
-        rc = -ESRCH;
-        goto fail;
-    }
-
-    rc = xc_cpu_policy_get_size(xch, &nr_leaves, &nr_msrs);
-    if ( rc )
-    {
-        PERROR("Failed to obtain policy info size");
-        rc = -errno;
-        goto fail;
-    }
-
-    rc = -ENOMEM;
-    if ( (host = calloc(nr_leaves, sizeof(*host))) == NULL ||
-         (def  = calloc(nr_leaves, sizeof(*def)))  == NULL ||
-         (cur  = calloc(nr_leaves, sizeof(*cur)))  == NULL )
-    {
-        ERROR("Unable to allocate memory for %u CPUID leaves", nr_leaves);
-        goto fail;
-    }
-
-    /* Get the domain's current policy. */
-    nr_msrs = 0;
-    nr_cur = nr_leaves;
-    rc = get_domain_cpu_policy(xch, domid, &nr_cur, cur, &nr_msrs, NULL);
-    if ( rc )
+    host = xc_cpu_policy_init();
+    def = xc_cpu_policy_init();
+    if ( !host || !def )
     {
-        PERROR("Failed to obtain d%d current policy", domid);
-        rc = -errno;
-        goto fail;
+        PERROR("Failed to init policies");
+        rc = -ENOMEM;
+        goto out;
     }
 
     /* Get the domain type's default policy. */
-    nr_msrs = 0;
-    nr_def = nr_leaves;
-    rc = get_system_cpu_policy(xch, di.hvm ? XEN_SYSCTL_cpu_policy_hvm_default
+    rc = xc_cpu_policy_get_system(xch, hvm ? XEN_SYSCTL_cpu_policy_hvm_default
                                            : XEN_SYSCTL_cpu_policy_pv_default,
-                               &nr_def, def, &nr_msrs, NULL);
+                                  def);
     if ( rc )
     {
-        PERROR("Failed to obtain %s def policy", di.hvm ? "hvm" : "pv");
-        rc = -errno;
-        goto fail;
+        PERROR("Failed to obtain %s def policy", hvm ? "hvm" : "pv");
+        goto out;
     }
 
     /* Get the host policy. */
-    nr_msrs = 0;
-    nr_host = nr_leaves;
-    rc = get_system_cpu_policy(xch, XEN_SYSCTL_cpu_policy_host,
-                               &nr_host, host, &nr_msrs, NULL);
+    rc = xc_cpu_policy_get_system(xch, XEN_SYSCTL_cpu_policy_host, host);
     if ( rc )
     {
         PERROR("Failed to obtain host policy");
-        rc = -errno;
-        goto fail;
+        goto out;
     }
 
     rc = -EINVAL;
-    for ( ; xend->leaf != XEN_CPUID_INPUT_UNUSED; ++xend )
+    for ( ; cpuid->leaf != XEN_CPUID_INPUT_UNUSED; ++cpuid )
     {
-        xen_cpuid_leaf_t *cur_leaf = find_leaf(cur, nr_cur, xend);
-        const xen_cpuid_leaf_t *def_leaf = find_leaf(def, nr_def, xend);
-        const xen_cpuid_leaf_t *host_leaf = find_leaf(host, nr_host, xend);
+        xen_cpuid_leaf_t cur_leaf;
+        xen_cpuid_leaf_t def_leaf;
+        xen_cpuid_leaf_t host_leaf;
 
-        if ( cur_leaf == NULL || def_leaf == NULL || host_leaf == NULL )
+        rc = xc_cpu_policy_get_cpuid(xch, policy, cpuid->leaf, cpuid->subleaf,
+                                     &cur_leaf);
+        if ( rc )
+        {
+            ERROR("Failed to get current policy leaf %#x subleaf %#x",
+                  cpuid->leaf, cpuid->subleaf);
+            goto out;
+        }
+        rc = xc_cpu_policy_get_cpuid(xch, def, cpuid->leaf, cpuid->subleaf,
+                                     &def_leaf);
+        if ( rc )
+        {
+            ERROR("Failed to get def policy leaf %#x subleaf %#x",
+                  cpuid->leaf, cpuid->subleaf);
+            goto out;
+        }
+        rc = xc_cpu_policy_get_cpuid(xch, host, cpuid->leaf, cpuid->subleaf,
+                                     &host_leaf);
+        if ( rc )
         {
-            ERROR("Missing leaf %#x, subleaf %#x", xend->leaf, xend->subleaf);
-            goto fail;
+            ERROR("Failed to get host policy leaf %#x subleaf %#x",
+                  cpuid->leaf, cpuid->subleaf);
+            goto out;
         }
 
-        for ( unsigned int i = 0; i < ARRAY_SIZE(xend->policy); i++ )
+        for ( unsigned int i = 0; i < ARRAY_SIZE(cpuid->policy); i++ )
         {
-            uint32_t *cur_reg = &cur_leaf->a + i;
-            const uint32_t *def_reg = &def_leaf->a + i;
-            const uint32_t *host_reg = &host_leaf->a + i;
+            uint32_t *cur_reg = &cur_leaf.a + i;
+            const uint32_t *def_reg = &def_leaf.a + i;
+            const uint32_t *host_reg = &host_leaf.a + i;
 
-            if ( xend->policy[i] == NULL )
+            if ( cpuid->policy[i] == NULL )
                 continue;
 
             for ( unsigned int j = 0; j < 32; j++ )
             {
                 bool val;
 
-                if ( xend->policy[i][j] == '1' )
+                switch ( cpuid->policy[i][j] )
+                {
+                case '1':
                     val = true;
-                else if ( xend->policy[i][j] == '0' )
+                    break;
+
+                case '0':
                     val = false;
-                else if ( xend->policy[i][j] == 'x' )
+                    break;
+
+                case 'x':
                     val = test_bit(31 - j, def_reg);
-                else if ( xend->policy[i][j] == 'k' ||
-                          xend->policy[i][j] == 's' )
+                    break;
+
+                case 'k':
+                case 's':
                     val = test_bit(31 - j, host_reg);
-                else
-                {
+                    break;
+
+                default:
                     ERROR("Bad character '%c' in policy[%d] string '%s'",
-                          xend->policy[i][j], i, xend->policy[i]);
-                    goto fail;
+                          cpuid->policy[i][j], i, cpuid->policy[i]);
+                    goto out;
                 }
 
                 clear_bit(31 - j, cur_reg);
@@ -399,25 +362,19 @@ static int xc_cpuid_xend_policy(
                     set_bit(31 - j, cur_reg);
             }
         }
-    }
 
-    /* Feed the transformed currrent policy back up to Xen. */
-    rc = xc_set_domain_cpu_policy(xch, domid, nr_cur, cur, 0, NULL,
-                                  &err_leaf, &err_subleaf, &err_msr);
-    if ( rc )
-    {
-        PERROR("Failed to set d%d's policy (err leaf %#x, subleaf %#x, msr %#x)",
-               domid, err_leaf, err_subleaf, err_msr);
-        rc = -errno;
-        goto fail;
+        rc = xc_cpu_policy_update_cpuid(xch, policy, &cur_leaf, 1);
+        if ( rc )
+        {
+            PERROR("Failed to set policy leaf %#x subleaf %#x",
+                   cpuid->leaf, cpuid->subleaf);
+            goto out;
+        }
     }
 
-    /* Success! */
-
- fail:
-    free(cur);
-    free(def);
-    free(host);
+ out:
+    xc_cpu_policy_destroy(def);
+    xc_cpu_policy_destroy(host);
 
     return rc;
 }
@@ -425,7 +382,7 @@ static int xc_cpuid_xend_policy(
 int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
                           const uint32_t *featureset, unsigned int nr_features,
                           bool pae, bool itsc, bool nested_virt,
-                          const struct xc_xend_cpuid *xend)
+                          const struct xc_xend_cpuid *cpuid)
 {
     int rc;
     xc_dominfo_t di;
@@ -545,6 +502,10 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
         goto out;
     *p = policy.cpuid;
 
+    rc = xc_cpu_policy_apply_cpuid(xch, &policy, cpuid, di.hvm);
+    if ( rc )
+        goto out;
+
     rc = x86_cpuid_copy_to_buffer(p, leaves, &nr_leaves);
     if ( rc )
     {
@@ -562,9 +523,6 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
         goto out;
     }
 
-    if ( xend && (rc = xc_cpuid_xend_policy(xch, domid, xend)) )
-        goto out;
-
     rc = 0;
 
 out:
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 09:57:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 09:57:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258064.443998 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Ol1-00009l-EO; Mon, 17 Jan 2022 09:56:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258064.443998; Mon, 17 Jan 2022 09:56:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Ol1-00006m-5S; Mon, 17 Jan 2022 09:56:59 +0000
Received: by outflank-mailman (input) for mailman id 258064;
 Mon, 17 Jan 2022 09:56:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TAtW=SB=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n9OeK-0003a5-W7
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 09:50:05 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d65bf9bc-777a-11ec-a115-11989b9578b4;
 Mon, 17 Jan 2022 10:50:02 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d65bf9bc-777a-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642413002;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=hkQ2AWUnU776/5v7x7o+GfYEYjuYGTJaTIjvyxCIHGk=;
  b=Wv7cXjPCll1xeGfqJc9CX1f+iYZBRljiO/1+rvP4KtSmA3yz9hNAZmiB
   6E5+jyKy2/+TQTm2TNdcUwzm0OBYeuE6sYqHBaXK4QheY06gRiBb5idUA
   YWJ28Bq7Lq3KjLiXujcZp8+siBeBeQHlOst/GN6008djGv7Y8bXG725Tz
   0=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: 8nKOM2fLz4GgF6gh0go48lyr4jQ/s9FLLnaeltdEyjuGCWtBcNefo0vCmkZhBsg+UjniTAGpnn
 2UIThhsQElTmlhvA12M5CkIdIuv/0F0xjMhn7pZdI7UA/9/GdTVkfxTc1Dvl/NrKBC99cQMS8D
 h+haq6+1WAv/9kGvVcuPOXNqBCSbd7Ulk4ORxEVYJI1BBrxpS3WNf9XbmFtDckWmD2ZvQAsuiE
 97ztbd8LDgqMdpISV9jzMK6KCMuaLKJUDovZ4WGscjoSrVxyizooTUgHEG2DCYZ36H+9HyxnJ9
 yJdI6c5mcrOgN8RKg2Rapnv1
X-SBRS: 5.2
X-MesageID: 62138868
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:0ZRm7a8BZFmFX9A4vwZPDrUDZ3mTJUtcMsCJ2f8bNWPcYEJGY0x3z
 TEaXm6GPKmCNjP3e4xxYYjnphxVusXQn4RmGQZurik8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7dg3dYx6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPhJy
 tNJnpLuFjsmEYj1itsBQjljER9HaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguw5K8bmJsUHs2xIxjDFF/c2B5vERs0m4PcGhm5r1pAQTZ4yY
 eI5d2ZqQizsbCR0J3hMAZUVgNewhHfWJmgwRFW9+vNsvjm7IBZK+LriKt3OYfSRWN5Y2E2fo
 wru4GDREhwcctuFxlKt4n+qw+PCgy7/cIYTD6GjsO5nhkWJwW4eAwFQUkG0ycRVkWbnBYgZc
 RZNvHNz8+5iryRHU+URQTWAoniAlRBCBOZfPMgD+j6R24rv4TigUz1soiF6VPQqs8o/RDoP3
 1CPns/0CTEHjIB5WU5x5Z/P82rsZHF9wXsqIHZdEFBbu4WLTJQb10qXFr5e/LiJYsoZ8N0a6
 xSDt2AAiroalqbnPI3rrAmc01pASnUkJzPZBzk7vEr4tGuVh6b/PuREDGQ3C94adu51qXHb7
 RA5dzC2trxmMH10vHXlrB8xNL+o/e2ZFzbXnERiGZIsnxz0pSL5Jt0Au2EieBk5WirhRdMPS
 BWO0e+2zMUCVEZGkIctO97hYyjU5fWI+SvZugD8MYMVP8kZmP6v9yByf0+At10BY2B3+ZzTz
 ayzKJ72ZV5DUPwP5GPvG481jOF3rghjmzK7bc2rnnyPjOvFDFbIGOhtDbd7Rr1jhE9yiF+Lo
 4832grj40g3bdASlQGMoNFDdg5bfCFrbX00wuQOHtO+zsNdMDhJI9fawK87epwjmKJQl+zS+
 Wq6VFMew1367UAr4y3TApy6QL+wD5t5s1whOikgYQSh13Q5ON7956YDbZonO7Ig8bU7n/JzS
 vAEfeSGA+hOFWubq2hMM8GlodwwbgmviCKPIzGhPGo1cal/SlGb4dTjZAbuqnUDV3Llqcskr
 rS8/QrHWp5fFR96BcPbZav3nVO8tHQQgsxoWE7MLoUBcUng6tEyeSfwkuU2M4cHLhCanmmW0
 AOfABE5o+jRotBqrImV1P7c94rwSrlwBEtXGWXf/I2aDyiC8zrx25JEXcaJYSvZCDH+9pK9a
 LgH1Pr7KvAGwgpH6tIuD7ZxwKsizNLzvLsGnB98FXDGYln3WLNtJn6KgZtGuqFXn+ILvAK3X
 gSE+8VAOKXPM8TgSQZDKA0gZ+WF9PcVhjiNsqhlfBSkvHd6rOidTEFfHxiQkygMfrJ6PbQsz
 folpMNLuRe0jQAnM4regy1Zn4hWwqfsj0nzWkkmPbLW
IronPort-HdrOrdr: A9a23:pLDbSK9c1sy4KeeGgbpuk+FAdb1zdoMgy1knxilNoENuHfBwxv
 rDoB1E73LJYVYqOU3Jmbi7Sc29qBTnhOJICOgqTMqftWzd1ldAQ7sSi7cKrweQeREWs9Qtrp
 uIEJIOeeEYb2IK9PoSiTPQe71LoKjlzEnrv5al854Ed3AVV0gK1XYfNu/0KDwSeOEQbqBJa6
 Z0q/A37AaISDAyVICWF3MFV+/Mq5nik4/nWwcPA1oC5BOVhT2lxbbmG1zAty1uHg9n8PMHyy
 zoggb57qKsv7WSzQLd7Xba69BzlMH6wtVOKcSQgow+KynqiCyveIN9Mofy9gwdkaWK0hIHgd
 PMqxAvM4Ba7G7QRHi8pV/X1wzpwF8Vmgnf4G7dpUGmjd3yRTo8BcYEr5leaAHl500pu8w5+L
 5X3kqC3qAnQy/orWDY3ZzlRhtqnk27rT4JiugIlUFSVoMYdft4sZEfxkVIC50NdRiKp7zPKN
 MeTP002cwmMm9zNxvizytSKZ2XLzgO9y69Mwk/Upf/6UkSoJh7p3Fos/D30E1wsK7VcKM0lN
 gsBJ4Y4I2mfvVmHZ6VO91xM/dfcla9OS4kEFjiaGgPR5t3c04klfbMkcAIDaeRCds18Kc=
X-IronPort-AV: E=Sophos;i="5.88,295,1635220800"; 
   d="scan'208";a="62138868"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GhUXSSwaGlF2vMz2FYg86dHzCuLgWQKX43iLx8w/Q7IDeKe1jPrdyLYJ0uJYQmSth2vozFxuW4HerFufNIsIHAbD06n/0oeww7+Yg/Di1fpHG3GtUoBqKktQyEIcTut26DHvRHUaJO52h6aP6+Oown67XU3e8meQN6fL98FYyfnV/aXdCvgsSD8mrIIAkiwqg4zSkyPxdSt4oJWw5dFVZgGu8Ib/rwIEMEpc0pmGAvmdQUeK7MhfkzN4CmyHRhVo0e6N6gdt9YAhrfOS5Be2MmgpJn5iymXCFMA5uNTVAuUaezhQ2voVX1PqlKypR1PIaf+C4fJ6KOPCy2ubnO6kKQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=g+CVOtJHKY5btvqsgPmIHyF5mBuPcqGVSNvPsYPwWz0=;
 b=b1K/H04hu4zHCgGo5r9AucvJDiibSCAFolEMHg5ZTQd2tmmd2O+iIOm+ShptoP8qaMZ+nJXSiQy9iNQszYm+siEUjP/eHrA6N0wTrgUM6DcVxpdp4kGrPrgX0KfP0XBkz5Y+9Up2Atf5iFBUW+18/WQuophHh6q7RfDjsn7XHjtCzociZRUiC1ILrjI0DfFz1BFoRD5ovQ1Uhdv8aZZM+IW3rzKCLcZyy4YSuwbAe1fS5W0BkdpnV7PF31fhC1dTj/Ds+CcwCM6GCg5xTJVCzKGoX+qbkQSoSrKOp5uEdLn/UXgIZsV95yfGD2gXhcX+fkxmSSPCezRZzrbaUxeLcg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=g+CVOtJHKY5btvqsgPmIHyF5mBuPcqGVSNvPsYPwWz0=;
 b=g/gG4jW680+HU6UujuY8WRAn+1T9ycVdpxm+GyyNQxbqquXIzUko2u/wvKkLhCyksL74YuShuyU5weex0cCG6zqYSCcP3qh5iLEgy3Vnja/2Y/noqF7E65qfvhZW7T34qRyPKxjgjuEi+angXzoxTww9VCtrly3jRjhqvWwqiA4=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Anthony
 PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
Subject: [PATCH v6 11/12] libs/guest: (re)move xc_cpu_policy_apply_cpuid
Date: Mon, 17 Jan 2022 10:48:26 +0100
Message-ID: <20220117094827.16756-12-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220117094827.16756-1-roger.pau@citrix.com>
References: <20220117094827.16756-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MR2P264CA0170.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501::9)
 To DS7PR03MB5608.namprd03.prod.outlook.com (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b791d97b-b104-44bb-dffb-08d9d99eb890
X-MS-TrafficTypeDiagnostic: DM6PR03MB4059:EE_
X-Microsoft-Antispam-PRVS: <DM6PR03MB405907A50D3C111D2E0E28058F579@DM6PR03MB4059.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:272;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: L5cpUW3/mPcFULwZe3loqdlfNjA2vKyq3ejNy3R3S6b25fH3ewEIki3Wpz2lEibQdiYk7Lq6tFrjMpFiDDD7YjsHIYM5Ct9gW2cDn63n34ONnymyIlGjg89kEhgNRmfRTScGuk/P0tFYJ0YybZ9uaBktXKSTfwc77xhlk9Awabgrm6+5sjKCxoHQ0CnY7EUdXSM4UGl9tMd5OYzEFd0wH9CP3Cvfa5Eh6iRnf9/THzr0ufbokbSHBcks+AjTVhYChhywMYbXx5sYM0wJVk5D8bH+EMF2jlTGCFt0xPo1Pb65MizIGdm0SFVkqeDturPII1wZklb5EJcLGXuhB8u+Dbj93clEWX9jWCduA1mRzVLFWkpjcxowk0QL7P0j1U3LWwluYMfjhPG6/tJT3W9tcJhdCd3IkP717H4k1lI67lSUqK8OihxNnFPhtai5umIXvoaCuZBjwkYPH73N20n9HMZvrLGC2zc7/9qFa2OKAidakbB/am2fLzww2AllYjXM+4Bna5pYEIVnyNKDmzdmPaR/nFNKcObdfprev+8sw66WC7zdPT4nRry5PXSP68kwy7gyu3zhuy9fl2y/S6AaIo2avR7pbgdDSqVzm5MoDZ5l/2ecT2yswMmMXyDQDvxyAOYrK53PRKRoKKAuPTJqPQ==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(4326008)(6512007)(8936002)(186003)(36756003)(6506007)(316002)(83380400001)(38100700002)(30864003)(6486002)(26005)(6916009)(86362001)(6666004)(8676002)(54906003)(2616005)(82960400001)(2906002)(5660300002)(66946007)(66556008)(66476007)(1076003)(508600001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SzZKbEV4clhvNEk1cUhIRitjTU5rcVBWR2tiYXNQL3NYVXB2RXhWVlBDdTB6?=
 =?utf-8?B?YVFFWGFuNjRrRm90bjhwWWZtVjk5UEYvdlVZb2NxVFFWT2oxSjFMb2xpVnRL?=
 =?utf-8?B?YUo5bS9UVkZ4SkVmVFI4MGJidjZnOWtqR1JtOWwwQ0ZqZFdoc1BGVGp6bEFI?=
 =?utf-8?B?TmcyTEkzZDc5N2xBeFh3Z2RXcUwvMjM3QzhzQ1FBamFHaDZXNWt6UDhMRERa?=
 =?utf-8?B?MjN3blMycXVpYUFFeWJwVVBFVWp4OEl1aXlLSElSRC9tQmxsaDJmQk5NQ2pq?=
 =?utf-8?B?QWExK082b1dUZmFzeC9MSlhCYklDaUZWUFFzNGhlbW5vTFdEWFdqbjhlT05p?=
 =?utf-8?B?ejZ4TmVBNWNKd3NycjZHK0ZZbDV0RHRTejdCL0V2UDQ3aVcxNDJudlJCdCto?=
 =?utf-8?B?Ny9maUdKRDBiSUN1MjZDME9LT2VCRFcvUFVXdkIwSS9mbzNvcXJNTUpOejNj?=
 =?utf-8?B?R1JDSzJ5cUZBbkRDSnVHbEJyR1k4dFFSd0p0KzYxdjJmUXhPSVVuSS9BaGJ5?=
 =?utf-8?B?MURLclJhZGJtVzltNmFwRS83a3NscjFSTVlYNGNlY2dWaXY3VUx1OUdwTFcw?=
 =?utf-8?B?eXlIS2NReERXOS9wMGlFUDV6ZzNhNVloeFpxRnUzYUx2cVptbUkyUVp3VSt0?=
 =?utf-8?B?VXFFRUt2L1o4cWN1a0Yya3VyWFlYL1JXaEZrS3pDNWwxZzFlbDMxNGZKNVpO?=
 =?utf-8?B?ZzhRL2w0U3RmM0hxRDZEUzRpS245aGt5WGs5NHhRL3E3MXp5cFRud0lGRnEr?=
 =?utf-8?B?Mm5RdThEZ0ZmblR2elZScmJjTzE5QVdNQ2tCSmV5T3cxMTlhK0JtcTFjNDZ0?=
 =?utf-8?B?VlJndmU3TE1wdEpNWDNQb3pWWUFUQXdHSFhUQlgwM3ZlWnlTanB3OEJxZldm?=
 =?utf-8?B?MjIxV1ZJekFCcmxJRUVKajZ1Y1VQVWdOZVlDdmpFTW1EZW5iZnRRYWdwR1hP?=
 =?utf-8?B?MWNKVVphVDVLc2k0eE9WNVFadFNZTURZcXNTdnpyOExZVlBzS1RFYWdNRzBW?=
 =?utf-8?B?NGs2MDlGdHdCaG9SeWJKOTZnaC9Rcm40eTMrZjQ1VFoxVmU0SVlWWHlRN0cz?=
 =?utf-8?B?YUFwS0dIYUJhd3NWUnJKbHFhR055S254VlpKcXN3Qm9xYlNzQWVVOWF1Rml0?=
 =?utf-8?B?UU5SN2NiRmJxTGdaUkJYZVJqZHVSdVMzeldEeHVreTczY0R6cEhWSVlrRXlO?=
 =?utf-8?B?UW9kUUdEdEtXUEVMUXpNOEE2R3piQ1RMOUFoVFUwaFd6VkVRdlMzNkt1SWJv?=
 =?utf-8?B?RWlGdllyYjRxdDFsb1RBeU9iQ2hHNnB6SXRBTFBNdks3c29oQWVPME9od3Q4?=
 =?utf-8?B?N0RuWVFucFUraWUzT2hUcmlRTXlYRWYxdmFaanRmQlhSK3B1d2VEN0dhYmtL?=
 =?utf-8?B?SmY3SUxtUTN5R3lNMTJVcDk3QnlLcThlenk4cGJmZkN1WnVmV1BLYjJXVXNs?=
 =?utf-8?B?VUh4eW1iYi9QbWpYK0lKM291WnVuaytVR2RiUnlxWnhiWi9IcGI3QlMvK2Ry?=
 =?utf-8?B?SmFsQ2hNL1JsNm1ZeVp3RHY1MWc5OVhES242bElYM09jSSs1aGJseEZnbGNQ?=
 =?utf-8?B?eUgxaGprY1pKcWhsL3R0eFE2RDY0WVIyZHRBbEJOVG9HRlVab0M4QTJqM3ZV?=
 =?utf-8?B?cjRYeGtFUUFOaW1JU2ordzRBTDc2RjNwWjdhM2JHZDBtQnFBVlh1VktwWUll?=
 =?utf-8?B?bzRxOTFZUkhDeFdUSmJNR2pyN0MvTlBmRi8yTzJibndVS3RpRENrMStiWFk3?=
 =?utf-8?B?OEFNQzVLSjUrVVZpamlZUjVTSnRmblR6Rm1oRTZXL1FHYXRhZFZCWXhET2dW?=
 =?utf-8?B?ZER0cEJnZEU2TUNiMFdFREJDWkNzVUZnZDFmYjdqMTFMSkN1dEJJeWZ3Y01p?=
 =?utf-8?B?Q2h5eEo0cFRrNnlIRTVSTk4ycFZ1aHpyVnFZWmNWa2pTRVhyZnNRTVgwYUhX?=
 =?utf-8?B?dzhFVkVFTlpLTGRuVWgvanpuNjROa3lrZGNjS0FVVDArRzhXWHBVZ1g3UHNa?=
 =?utf-8?B?SVlLTng5S2xHMzZRUlRsYnYwSzZ0b081bWZKT3hMTGVpcVREdDkrU0NQMzBF?=
 =?utf-8?B?MXFuZmYwa0Fmc1pITTA0NEh0end2SjE1bG9VWGcrS2htNmg5SHBKWGtpVUpi?=
 =?utf-8?B?WU80Mm01UVJNUHoxejROSU1rNS9hdURvSUxPRXRTN1dFTlU2QS9CK0x6N0R3?=
 =?utf-8?Q?mFQWCSb9XHasU9hSYZ9fZAU=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: b791d97b-b104-44bb-dffb-08d9d99eb890
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2022 09:49:57.6072
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HQRy/r/4bSoqHZZnECeOQfScu8WabuUz9WdIVvzGEvK20qMUpF/pe6Rcv77IUrchonB8oZdcXUYafdwrM4HCqA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4059
X-OriginatorOrg: citrix.com

Move the logic from xc_cpu_policy_apply_cpuid into libxl, now that the
xc_cpu_policy_* helpers allow modifying a cpu policy. By moving such
parsing into libxl directly we can get rid of xc_xend_cpuid, as libxl
will now implement it's own private type for storing CPUID
information, which currently matches xc_xend_cpuid.

Note the function logic is moved as-is, but requires adapting to the
libxl coding style.

No functional change intended.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
---
Changes since v2:
 - Use LOG*D.
 - Pass a gc to apply_policy.
 - Use 'r' for libxc return values.
---
 tools/include/libxl.h             |   6 +-
 tools/include/xenctrl.h           |  26 ------
 tools/include/xenguest.h          |   4 -
 tools/libs/guest/xg_cpuid_x86.c   | 125 --------------------------
 tools/libs/light/libxl_cpuid.c    | 142 ++++++++++++++++++++++++++++--
 tools/libs/light/libxl_internal.h |  26 ++++++
 6 files changed, 165 insertions(+), 164 deletions(-)

diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index 2bbbd21f0b..8a8032ba25 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -1420,10 +1420,10 @@ void libxl_bitmap_init(libxl_bitmap *map);
 void libxl_bitmap_dispose(libxl_bitmap *map);
 
 /*
- * libxl_cpuid_policy is opaque in the libxl ABI.  Users of both libxl and
- * libxc may not make assumptions about xc_xend_cpuid.
+ * libxl_cpuid_policy is opaque in the libxl ABI. Users of libxl may not make
+ * assumptions about libxl__cpuid_policy.
  */
-typedef struct xc_xend_cpuid libxl_cpuid_policy;
+typedef struct libxl__cpuid_policy libxl_cpuid_policy;
 typedef libxl_cpuid_policy * libxl_cpuid_policy_list;
 void libxl_cpuid_dispose(libxl_cpuid_policy_list *cpuid_list);
 int libxl_cpuid_policy_list_length(const libxl_cpuid_policy_list *l);
diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 745d67c970..79169f8ace 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1803,32 +1803,6 @@ int xc_domain_debug_control(xc_interface *xch,
 
 #if defined(__i386__) || defined(__x86_64__)
 
-/*
- * CPUID policy data, expressed in the legacy XEND format.
- *
- * Policy is an array of strings, 32 chars long:
- *   policy[0] = eax
- *   policy[1] = ebx
- *   policy[2] = ecx
- *   policy[3] = edx
- *
- * The format of the string is the following:
- *   '1' -> force to 1
- *   '0' -> force to 0
- *   'x' -> we don't care (use default)
- *   'k' -> pass through host value
- *   's' -> legacy alias for 'k'
- */
-struct xc_xend_cpuid {
-    union {
-        struct {
-            uint32_t leaf, subleaf;
-        };
-        uint32_t input[2];
-    };
-    char *policy[4];
-};
-
 int xc_mca_op(xc_interface *xch, struct xen_mc *mc);
 int xc_mca_op_inject_v2(xc_interface *xch, unsigned int flags,
                         xc_cpumap_t cpumap, unsigned int nr_cpus);
diff --git a/tools/include/xenguest.h b/tools/include/xenguest.h
index 8f05d8aa66..3462d27516 100644
--- a/tools/include/xenguest.h
+++ b/tools/include/xenguest.h
@@ -825,10 +825,6 @@ int xc_cpu_policy_make_compat_4_12(xc_interface *xch, xc_cpu_policy_t *policy,
 int xc_cpu_policy_legacy_topology(xc_interface *xch, xc_cpu_policy_t *policy,
                                   bool hvm);
 
-/* Apply an xc_xend_cpuid object to the policy. */
-int xc_cpu_policy_apply_cpuid(xc_interface *xch, xc_cpu_policy_t *policy,
-                              const struct xc_xend_cpuid *cpuid, bool hvm);
-
 /* Apply a featureset to the policy. */
 int xc_cpu_policy_apply_featureset(xc_interface *xch, xc_cpu_policy_t *policy,
                                    const uint32_t *featureset,
diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
index 974549c0db..8bc7bd7224 100644
--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -254,131 +254,6 @@ int xc_set_domain_cpu_policy(xc_interface *xch, uint32_t domid,
     return ret;
 }
 
-int xc_cpu_policy_apply_cpuid(xc_interface *xch, xc_cpu_policy_t *policy,
-                              const struct xc_xend_cpuid *cpuid, bool hvm)
-{
-    int rc;
-    xc_cpu_policy_t *host = NULL, *def = NULL;
-
-    host = xc_cpu_policy_init();
-    def = xc_cpu_policy_init();
-    if ( !host || !def )
-    {
-        PERROR("Failed to init policies");
-        rc = -ENOMEM;
-        goto out;
-    }
-
-    /* Get the domain type's default policy. */
-    rc = xc_cpu_policy_get_system(xch, hvm ? XEN_SYSCTL_cpu_policy_hvm_default
-                                           : XEN_SYSCTL_cpu_policy_pv_default,
-                                  def);
-    if ( rc )
-    {
-        PERROR("Failed to obtain %s def policy", hvm ? "hvm" : "pv");
-        goto out;
-    }
-
-    /* Get the host policy. */
-    rc = xc_cpu_policy_get_system(xch, XEN_SYSCTL_cpu_policy_host, host);
-    if ( rc )
-    {
-        PERROR("Failed to obtain host policy");
-        goto out;
-    }
-
-    rc = -EINVAL;
-    for ( ; cpuid->leaf != XEN_CPUID_INPUT_UNUSED; ++cpuid )
-    {
-        xen_cpuid_leaf_t cur_leaf;
-        xen_cpuid_leaf_t def_leaf;
-        xen_cpuid_leaf_t host_leaf;
-
-        rc = xc_cpu_policy_get_cpuid(xch, policy, cpuid->leaf, cpuid->subleaf,
-                                     &cur_leaf);
-        if ( rc )
-        {
-            ERROR("Failed to get current policy leaf %#x subleaf %#x",
-                  cpuid->leaf, cpuid->subleaf);
-            goto out;
-        }
-        rc = xc_cpu_policy_get_cpuid(xch, def, cpuid->leaf, cpuid->subleaf,
-                                     &def_leaf);
-        if ( rc )
-        {
-            ERROR("Failed to get def policy leaf %#x subleaf %#x",
-                  cpuid->leaf, cpuid->subleaf);
-            goto out;
-        }
-        rc = xc_cpu_policy_get_cpuid(xch, host, cpuid->leaf, cpuid->subleaf,
-                                     &host_leaf);
-        if ( rc )
-        {
-            ERROR("Failed to get host policy leaf %#x subleaf %#x",
-                  cpuid->leaf, cpuid->subleaf);
-            goto out;
-        }
-
-        for ( unsigned int i = 0; i < ARRAY_SIZE(cpuid->policy); i++ )
-        {
-            uint32_t *cur_reg = &cur_leaf.a + i;
-            const uint32_t *def_reg = &def_leaf.a + i;
-            const uint32_t *host_reg = &host_leaf.a + i;
-
-            if ( cpuid->policy[i] == NULL )
-                continue;
-
-            for ( unsigned int j = 0; j < 32; j++ )
-            {
-                bool val;
-
-                switch ( cpuid->policy[i][j] )
-                {
-                case '1':
-                    val = true;
-                    break;
-
-                case '0':
-                    val = false;
-                    break;
-
-                case 'x':
-                    val = test_bit(31 - j, def_reg);
-                    break;
-
-                case 'k':
-                case 's':
-                    val = test_bit(31 - j, host_reg);
-                    break;
-
-                default:
-                    ERROR("Bad character '%c' in policy[%d] string '%s'",
-                          cpuid->policy[i][j], i, cpuid->policy[i]);
-                    goto out;
-                }
-
-                clear_bit(31 - j, cur_reg);
-                if ( val )
-                    set_bit(31 - j, cur_reg);
-            }
-        }
-
-        rc = xc_cpu_policy_update_cpuid(xch, policy, &cur_leaf, 1);
-        if ( rc )
-        {
-            PERROR("Failed to set policy leaf %#x subleaf %#x",
-                   cpuid->leaf, cpuid->subleaf);
-            goto out;
-        }
-    }
-
- out:
-    xc_cpu_policy_destroy(def);
-    xc_cpu_policy_destroy(host);
-
-    return rc;
-}
-
 xc_cpu_policy_t *xc_cpu_policy_init(void)
 {
     return calloc(1, sizeof(struct xc_cpu_policy));
diff --git a/tools/libs/light/libxl_cpuid.c b/tools/libs/light/libxl_cpuid.c
index 7dcdb35a4c..556e8f41a7 100644
--- a/tools/libs/light/libxl_cpuid.c
+++ b/tools/libs/light/libxl_cpuid.c
@@ -309,7 +309,7 @@ int libxl_cpuid_parse_config(libxl_cpuid_policy_list *cpuid, const char* str)
     char *sep, *val, *endptr;
     int i;
     const struct cpuid_flags *flag;
-    struct xc_xend_cpuid *entry;
+    struct libxl__cpuid_policy *entry;
     unsigned long num;
     char flags[33], *resstr;
 
@@ -387,7 +387,7 @@ int libxl_cpuid_parse_config_xend(libxl_cpuid_policy_list *cpuid,
     char *endptr;
     unsigned long value;
     uint32_t leaf, subleaf = XEN_CPUID_INPUT_UNUSED;
-    struct xc_xend_cpuid *entry;
+    struct libxl__cpuid_policy *entry;
 
     /* parse the leaf number */
     value = strtoul(str, &endptr, 0);
@@ -437,6 +437,137 @@ int libxl_cpuid_parse_config_xend(libxl_cpuid_policy_list *cpuid,
     return 0;
 }
 
+static int apply_cpuid(libxl__gc *gc, xc_cpu_policy_t *policy,
+                       libxl_cpuid_policy_list cpuid, bool hvm, domid_t domid)
+{
+    int r, rc = 0;
+    xc_cpu_policy_t *host = NULL, *def = NULL;
+
+    host = xc_cpu_policy_init();
+    def = xc_cpu_policy_init();
+    if (!host || !def) {
+        LOGD(ERROR, domid, "Failed to init policies");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    /* Get the domain type's default policy. */
+    r = xc_cpu_policy_get_system(CTX->xch,
+                                 hvm ? XEN_SYSCTL_cpu_policy_hvm_default
+                                     : XEN_SYSCTL_cpu_policy_pv_default,
+                                 def);
+    if (r) {
+        LOGED(ERROR, domid, "Failed to obtain %s def policy",
+              hvm ? "hvm" : "pv");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    /* Get the host policy. */
+    r = xc_cpu_policy_get_system(CTX->xch, XEN_SYSCTL_cpu_policy_host, host);
+    if (r) {
+        LOGED(ERROR, domid, "Failed to obtain host policy");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    for (; cpuid->leaf != XEN_CPUID_INPUT_UNUSED; ++cpuid) {
+        xen_cpuid_leaf_t cur_leaf;
+        xen_cpuid_leaf_t def_leaf;
+        xen_cpuid_leaf_t host_leaf;
+
+        r = xc_cpu_policy_get_cpuid(CTX->xch, policy, cpuid->leaf,
+                                    cpuid->subleaf, &cur_leaf);
+        if (r) {
+            LOGED(ERROR, domid,
+                  "Failed to get current policy leaf %#x subleaf %#x",
+                  cpuid->leaf, cpuid->subleaf);
+            r = ERROR_FAIL;
+            goto out;
+        }
+        r = xc_cpu_policy_get_cpuid(CTX->xch, def, cpuid->leaf, cpuid->subleaf,
+                                    &def_leaf);
+        if (r) {
+            LOGED(ERROR, domid,
+                  "Failed to get def policy leaf %#x subleaf %#x",
+                  cpuid->leaf, cpuid->subleaf);
+            rc = ERROR_FAIL;
+            goto out;
+        }
+        r = xc_cpu_policy_get_cpuid(CTX->xch, host, cpuid->leaf,
+                                    cpuid->subleaf, &host_leaf);
+        if (r) {
+            LOGED(ERROR, domid,
+                  "Failed to get host policy leaf %#x subleaf %#x",
+                  cpuid->leaf, cpuid->subleaf);
+            rc = ERROR_FAIL;
+            goto out;
+        }
+
+        for (unsigned int i = 0; i < ARRAY_SIZE(cpuid->policy); i++) {
+            uint32_t *cur_reg = &cur_leaf.a + i;
+            const uint32_t *def_reg = &def_leaf.a + i;
+            const uint32_t *host_reg = &host_leaf.a + i;
+
+            if (cpuid->policy[i] == NULL)
+                continue;
+
+#define test_bit(i, r) !!(*(r) & (1u << (i)))
+#define set_bit(i, r) (*(r) |= (1u << (i)))
+#define clear_bit(i, r)  (*(r) &= ~(1u << (i)))
+            for (unsigned int j = 0; j < 32; j++) {
+                bool val;
+
+                switch (cpuid->policy[i][j]) {
+                case '1':
+                    val = true;
+                    break;
+
+                case '0':
+                    val = false;
+                    break;
+
+                case 'x':
+                    val = test_bit(31 - j, def_reg);
+                    break;
+
+                case 'k':
+                case 's':
+                    val = test_bit(31 - j, host_reg);
+                    break;
+
+                default:
+                    LOGD(ERROR, domid,
+                         "Bad character '%c' in policy[%d] string '%s'",
+                         cpuid->policy[i][j], i, cpuid->policy[i]);
+                    rc = ERROR_FAIL;
+                    goto out;
+                }
+
+                clear_bit(31 - j, cur_reg);
+                if (val)
+                    set_bit(31 - j, cur_reg);
+            }
+#undef clear_bit
+#undef set_bit
+#undef test_bit
+        }
+
+        r = xc_cpu_policy_update_cpuid(CTX->xch, policy, &cur_leaf, 1);
+        if (r) {
+            LOGED(ERROR, domid, "Failed to set policy leaf %#x subleaf %#x",
+                  cpuid->leaf, cpuid->subleaf);
+            rc = ERROR_FAIL;
+            goto out;
+        }
+    }
+
+ out:
+    xc_cpu_policy_destroy(def);
+    xc_cpu_policy_destroy(host);
+    return rc;
+}
+
 int libxl__cpuid_legacy(libxl_ctx *ctx, uint32_t domid, bool restore,
                         libxl_domain_build_info *info)
 {
@@ -552,10 +683,9 @@ int libxl__cpuid_legacy(libxl_ctx *ctx, uint32_t domid, bool restore,
     }
 
     /* Apply the bits from info->cpuid if any. */
-    r = xc_cpu_policy_apply_cpuid(ctx->xch, policy, info->cpuid, hvm);
-    if (r) {
-        LOGEVD(ERROR, domid, -r, "Failed to apply CPUID changes");
-        rc = ERROR_FAIL;
+    rc = apply_cpuid(gc, policy, info->cpuid, hvm, domid);
+    if (rc) {
+        LOGD(ERROR, domid, "Failed to apply CPUID changes");
         goto out;
     }
 
diff --git a/tools/libs/light/libxl_internal.h b/tools/libs/light/libxl_internal.h
index 37d5c27756..c99b271f9c 100644
--- a/tools/libs/light/libxl_internal.h
+++ b/tools/libs/light/libxl_internal.h
@@ -2059,6 +2059,32 @@ typedef yajl_gen_status (*libxl__gen_json_callback)(yajl_gen hand, void *);
 _hidden char *libxl__object_to_json(libxl_ctx *ctx, const char *type,
                                     libxl__gen_json_callback gen, void *p);
 
+/*
+ * CPUID policy data, expressed in the internal libxl format.
+ *
+ * Policy is an array of strings, 32 chars long:
+ *   policy[0] = eax
+ *   policy[1] = ebx
+ *   policy[2] = ecx
+ *   policy[3] = edx
+ *
+ * The format of the string is the following:
+ *   '1' -> force to 1
+ *   '0' -> force to 0
+ *   'x' -> we don't care (use default)
+ *   'k' -> pass through host value
+ *   's' -> legacy alias for 'k'
+ */
+struct libxl__cpuid_policy {
+    union {
+        struct {
+            uint32_t leaf, subleaf;
+        };
+        uint32_t input[2];
+    };
+    char *policy[4];
+};
+
 _hidden int libxl__cpuid_legacy(libxl_ctx *ctx, uint32_t domid, bool retore,
                                 libxl_domain_build_info *info);
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 09:57:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 09:57:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258067.444005 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Ol1-0000F2-TO; Mon, 17 Jan 2022 09:56:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258067.444005; Mon, 17 Jan 2022 09:56:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Ol1-0000DK-GT; Mon, 17 Jan 2022 09:56:59 +0000
Received: by outflank-mailman (input) for mailman id 258067;
 Mon, 17 Jan 2022 09:56:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TAtW=SB=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n9Oe7-0002gi-Eg
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 09:49:51 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cf1df7a9-777a-11ec-9bbc-9dff3e4ee8c5;
 Mon, 17 Jan 2022 10:49:50 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cf1df7a9-777a-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642412990;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=GlovccLDToYwCvRVLd9sQIK0IeyVPStg1EO7D40y/DI=;
  b=PYywJCgfU+mao9KXaBxse5Eznf6M20/9B0NCXZQDUZX+E4U76FsoR1bS
   cuNa3V3DXlVRhFLgv6AoUQ7xtmkOWaiPFF8Gdt6Qq2TgNsSImh5d5Yz0q
   fjolDAfgEGL8On/v+nIprordspOwgUSKK3zuJAoBoY2Z0GDm6fDzTKdnQ
   I=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: qe64F4JRAwsG+7eT08XLyZDMYBBkZ3TBFwCMQwOoWQxnF+L1x+VtvTYnoOu0mqTGn5m6P7DgbA
 Wds4jgYFA32PZZ9PEatOAwgJkZ4nksnU2SpmWeZuLmmabUDYpyG0oIV2j2yT/V8ZTagMsFKi9U
 0DuHGej5QmedBi6x7puT/MUXfP4TQP/lPeWi7APtECwlHXfmpuGzk+z/uho+0tDuoYdxenSWCM
 kASlH1c2Ej7x6X02thYV2LWgPLXB/4p0lxBtwZvm8BUiiNvzvMQLofNlwYqCZxmYazGiqwjzAw
 ugEsxs2Csz9FP8H+13KVRoIi
X-SBRS: 5.2
X-MesageID: 62053317
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:VvuFjK/tU2+o9UhPk1t6DrUDcHmTJUtcMsCJ2f8bNWPcYEJGY0x3z
 2UfDTrTPPqCY2akeN8lb4vj8RwP6sSHyYRmGgs4/ns8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7dg3dYx6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPhJ8
 foX9rrsdT0UZPKPmvoAWjtqHCxxaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguw5K8bmJsUHs2xIxjDFF/c2B5vERs0m4PcGhm9t3ZsXQp4yY
 eIHVDo2TQmZYicIK3oeBqM6gL72pV3gJmgwRFW9+vNsvjm7IBZK+LriKt3OYfSRWN5Y2E2fo
 wru/W70HxUbP9y30iee/zSngeqntTP2XsceGaO18tZugUaP3SoDBRsOT1y5rPKlzEmkVLp3N
 Eg86ico668o+ySWosLVBkPi5iTe51hFBoQWQ7ZSBByxJrT82z+2XCsiEgJ7VYZ5980oWDUI5
 FCEkIa8bdBwi4G9RXWY/7aSiDq9PykJMGMPDRM5oRs5D8rL+99q0E+WJjp3OOvs14CuR2msq
 9yfhHFm3+17sCId60msEbkraRqIr4OBcAM67x6/somNvlIgP97Ni2BFBDHmARd8wGSxEwPpU
 JsswZH2AAUy4XelznblrAIlRuDB2hp9GGeA6WOD5rF4n9hXx1atfJpL/BZ1L1pzP8APdFfBO
 RGP41gMtMQDYCf0Pcebhr5d7exwkMAM8vy/B5jpgidmOMAtJGdrAgkzDaJv44wduBd1yvxuU
 XtqWc2tEWwbGcxaIMmeHI8gPUsQ7nlmnwv7HMmjpzz+iOb2TCPLFd8tbQXfBshkvPLsiFiEq
 L53aprVoyizpcWjOEE7B6ZJcwBTRZX6bLirw/FqmhmreVs5SDp/Wq6IkdvMueVNxsxoqwsBx
 VnkMmdww1vjn3zXbwKMb3FocrT0Wphj63k8OEQR0ZyAghDPuK6js/UScYUZZ74i+LAxxPJ4V
 aBdKc6BHu5OWnLM/DFENcvxq4lrdRKKgwOSPnX6PGhjLsA4HwGZqMX5egbP9TUVCnblv8UJv
 LD9hBjQRoAORlo+AZ+OOu6v1V64oVMUhPl2AxnTOtBWdUi1qNpqJiX9g+UZOcYJLRmflDKW2
 xzPWUUTpPXXop9z+97M3PjWo4CsGup4P0xbA2iEsurmaXiEpjKumNYSXvyJcDbRUHLP1J+jP
 egFnevhNPAnnUpRt9YuGbhc0q9jtcDkoKVXz1o4ESyTPUirEL5pPlKPwdJL6v9W3rZctAa7B
 hCP991dNenbMc/pCgdMdg8sb+DF3vAIgDjCq/8yJRyitiNw+bOGV2RUPgWN13MBfOckbtt9z
 LdzotMS5iy+lgEuY4SPgS1j/miRKmANDvc8vZYADY630gcmxzmuu3AH5vMaNH1XV+hxDw==
IronPort-HdrOrdr: A9a23:GmKyZqMvxRC0b8BcT1n155DYdb4zR+YMi2TDiHofdfUFSKClfp
 6V8cjztSWUtN4QMEtQ/exoX5PwPU80lKQFnLX5WI3NYOCIghrPEGgP1/qB/9SkIVyEygc/79
 YQT0EdMqyIMbESt6+Ti2PZYrUdKZu8gdqVbI/lvglQpGpRGsZdBmlCe2Om+hocfng4OXN1Lu
 vW2uN34x6bPVgHZMWyAXcIG8DFut3wjZrjJToLHQQu5gWihS6hrOeSKWnU4j4uFxd0hZsy+2
 nMlAL0oo2lrvGA0xfZk0ve9Y5fltfNwsZKQOaMls8WADPxjRvAXvUqZ5Sy+BQO5M2/4lcjl9
 fB5z8mIsRI8nvUOlq4pBP8sjOQpgoG2jvH8xu1kHHjqcv2SHYREMxan79UdRPf9g4JoMx8+L
 gj5RPWi7NnSTf72Ajt7dnBUB9n0mCup2A5rOIVh3tDFaMDdb5qq5AF9k89KuZOIMvD0vFmLA
 BSNrCe2B4PGmnqLUwx/1MfjOBEZ05DXytvGSM5y4moOzs/pgEP86JX/r1aop46zuNPd3Bz3Z
 WxDk1ZrsA/ciYoV9MOOA54e7rONoXse2OEDIvAGyWuKEk4U0i93qIfpo9Fo92XRA==
X-IronPort-AV: E=Sophos;i="5.88,295,1635220800"; 
   d="scan'208";a="62053317"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Dt+s23475bN6HFOOwEEMWv/89+WpGsQ68zzMa1TWjI5ztPhYcjWuYvj5hdLUrWHL1r7G/g7Uzh1dnhA3c6Fg0Mh0lpj5X2rIvk4JzNjYy0xet7ETHFZKdBAxTAaZxWz9J6R60qmx1chhPhsnXuRwvYDnRMOy2fw2IKeQpSgyBAFd9L+U6IGlflAutg36z5CCVkL8KJW10mI4+7IEaH/A57tHvAM41Y0cY8ZEkArwvqFhmx4zupBObxfxpHlUDVg3HvlFxWxNukFlI5F5UWfqnFU7qZ9yaxcGAXYnv3hXz4aVAMKHsqzquQfbQkjI4pXsMvnvOIaVkNpE6iP8iEkzbQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BvVyJPcTpNqTGKTTNLfJR3VNJZ2GihJ2r9YUvS7z6lk=;
 b=fqmpdUxJZoXQw7SIC+51Y1OcaSWYDDOitrgtQWqFyGL1g6eNBb6R2zyMAIMIpe/pETRryX5CU5+1UK1z/lPo6c9KCQVeBFJEzupEZ4khMEnu3OY/1FNFIlIfh7pi9VRVc8rZfWev0zvBfm21HZZeXdJP0oHO1Qk2k6coei181iX7+QlaxRk5znFTWc1/pzuCwbKmIotPv+bad/gqLlNP0WViB4FZG+DRLKPFpn+avHs0VblIwzuwOGzNIn90YX0/0Q0LTbOhtZfNg2rwEBnzEYcZD0/y7DOKqQjCx/FZUfaD3Emda/8EamcP6zvfwWYkUsP8nKP5ppHso+wfLks/fw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BvVyJPcTpNqTGKTTNLfJR3VNJZ2GihJ2r9YUvS7z6lk=;
 b=cvUHwlM3puKkR7++jtndfhuXDPkVTIUnS2k4pjRbARa5BtdkoZnacqo872ilq8GvK73++7IW1WE5NEbtzLMyqSuvctySP3To3qirURVi28FpXyw/F8MhHyKy47nLIrk4wUdnGtiE5E0RI+D45Cxl00iDZrXuP9rKdRzzr4+23oc=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Anthony
 PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, Jan
 Beulich <jbeulich@suse.com>
Subject: [PATCH v6 09/12] libs/guest: apply a featureset into a cpu policy
Date: Mon, 17 Jan 2022 10:48:24 +0100
Message-ID: <20220117094827.16756-10-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220117094827.16756-1-roger.pau@citrix.com>
References: <20220117094827.16756-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MR2P264CA0159.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:1::22) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 47315bec-4ad8-422c-bf4b-08d9d99eb1dc
X-MS-TrafficTypeDiagnostic: DM6PR03MB4059:EE_
X-Microsoft-Antispam-PRVS: <DM6PR03MB405936FF25FDFCAA9556F0E88F579@DM6PR03MB4059.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: CXOEFki770rVzKQbVs9FRWgOMlmozhoAU/n/ugTw3QFXoj26kCI8cG1sx4cPQtK2y7s2/qUu4RDGsPJbKN3PcKFe5/33ehspgUYzxUiHGUWWL2jytWbJ1eGbNKK1IGjfHhwqdn/GKkAdgxZbDM3piYibtuZ/q1MpoZ5cIRGPu2uCvHEP/DHNjAeaGEV6ZV0aipQTMC7oDsOW1lBDE/Pb+cYQv1PEzuBKg9utAXkE+v4o31capd0I4ZeXdisLTnt/K5nUrHyG9H+MOPBgwvDKJcn8w47AGxMi5hNNfbiHTLVRqqeH1AGre1Gi+yQtfKW2DeLV7W0AxnnwtmrPG7PT8q3kT9BivW6d2dM8DRBoA9bAUVTDst6TI3h57BboUu49DG/KnOUxMWa2rPOcgmnk11JMUPZFhs7RXpGZ3RpGF/Em8GnQtdwMDN0Diq6yZj5Z8wQ8DsUpsoAHYIlMzEHzJGaBP4frwfijzDmAqq3ajpnYWIu3qs96bm6oGRUdTe/25Fa+sADAfjjoCq7Nzq+dqn7FZiP6Y1eJZz+HjaCnS4TucTgDV19u4xJZVZi32km3qwZmzXbCcUbRXEeVLQKm7I5dt96EgPAPdoa0ZFpTV+2IH3RJQ9lVla+g2pgRN5GoWuzfcP2XqFeyFC8/g+DV1Q==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(4326008)(6512007)(8936002)(186003)(36756003)(6506007)(316002)(83380400001)(38100700002)(6486002)(26005)(6916009)(86362001)(6666004)(8676002)(54906003)(2616005)(82960400001)(2906002)(5660300002)(66946007)(66556008)(66476007)(1076003)(508600001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?WjYxNStJbTE4UEdISTNjblA0TkJWN0pSZGZ5MURYbEkyOFhhck1pSnM4U2hF?=
 =?utf-8?B?aXBhMStmdEx4MDZrUmFFaTVGOUhlRjVHUkRSRkhrWHRrd3VWOEVzUWZaR2Fp?=
 =?utf-8?B?aW5LamU2V200dEhsSzVJT0FTVURybm9Ja0sxTWpaTDEzejhFVk9HOVB0VmVa?=
 =?utf-8?B?bGVKdDJlVThUcEVmUVN6a0p3SHUvSnRsNFdQQzBDdFI4U0VUNnlBYkRaTUlT?=
 =?utf-8?B?SXhMaWZOcEJWL0JFSjFhbHh2QnJFa2xDVnFmWC9NMTNaNVlPVTEwU0F2REpz?=
 =?utf-8?B?U2oycnNZb1ZJd1hZdjhzNHNZZEh0WXR2b3E5cSs4U0tLdUhCcVNJQk9uWWt3?=
 =?utf-8?B?TWdORkp2MEZnYmZJanNFcUZiTmtPcE00MUhCeGdSWngzKzZMU3pyVVpxZkx0?=
 =?utf-8?B?QWJGK2JycmttczBDeG1PbFI0VXNtRWIvdk1zdWRCMU1xd0QxMklwdjlwMEZk?=
 =?utf-8?B?Qmo4Y29jZitSaFJtZXhNdWJSTFhjclBMcHFwR3VLQUVsY2lOSXRMS0xFa2M3?=
 =?utf-8?B?YUsyVWdWSkhuZTI2Z3NxenJqTzlwS2V6VHJpR09tdGRWbTRRRHFpYWRHU2hq?=
 =?utf-8?B?OWRvK1hXSlVSZDRnWnpIWGNqdFg4aWZEcHdjdytKMW43TGxXTzMxYURvVnRZ?=
 =?utf-8?B?dldJaFBvejhoVVR3MktmVzF5Tnh0QWo4R1BkYW92TG5CeFNXZmFpK2VzN3hJ?=
 =?utf-8?B?TExteW5ycEJtelpFVDBKRVpkUWlEUnFCMUlQTmFiUWJBczl3aUlYUmd5ZmxT?=
 =?utf-8?B?MFlwaytJTktZQ1gwVThXa0t0NU1RWllOdDlWVnI0NE1XMHA5bUZhT1kyZWlu?=
 =?utf-8?B?cGdxY21uckdUdFNvcTVnL2hnOVpVNmlEWW5sZGNpYlJSWnBKZGp4R2hBOHpK?=
 =?utf-8?B?L1JBU3VYeUVuSjYwZDBxVWRwaVdsdWJFQzdoaXcyYlpoN2E5Mit4Zi9RZzMw?=
 =?utf-8?B?eVRhWkozbEdLSkk5YUtYcy9wRnFRUW9pZjhnSlo5SDFjNXZoK0FuMUtEYlRC?=
 =?utf-8?B?Z1phV3dJZE4vZTUvdG5YYk9WdnR5ZFFEdU52ZmR3REdMc01qZUJoRzY1WHlr?=
 =?utf-8?B?bEsxc1BOYkhHTnBFVVZYWEpQRDZDcUFIUHhmVWFzKzQ2YTNSN0F1NC80dUlR?=
 =?utf-8?B?WjFyRk9JdGV3b2JEN05hc293RUw4UXZGcGNweHQ2UXRHd1F6Q0NkZzdMVkdr?=
 =?utf-8?B?TTQ1cUFMZnZZeERMcmR6dnFJeGhxaTN4b0ZRK1RIYVZMcTRicHFqZEJEbmdk?=
 =?utf-8?B?NE1iUytNL2dUVFhGd2hpRkxFR25rSDFEb25xa3Z0ZS9oZkU4MFlwTXU2VTRj?=
 =?utf-8?B?MTJXbHhwTTdFTytyZWphaWJSZnFFdFlNU3FybDB3R2JwUXhOV2V1U3ZwNzh5?=
 =?utf-8?B?Ukx6WGptMVVKM3RBYUd5K1BxN3RUS1J2RjNQTnVHZmRLVTh5RnM3Z1VDMzU0?=
 =?utf-8?B?bTB5YXRpUU9XR0FIR3F3T0k5aWVEMXdaUjFQaWhGOEoydkU0RW1sZXFmaklI?=
 =?utf-8?B?b2JNdmYzSm1iSUFmT2h1bDNiM25rVjloY2h0SlA4WUxZYjFCTFZpNFdQTTdt?=
 =?utf-8?B?aXFyM1NuWm5LR09PanQ2K0tndGhoZ2FCdTc2d0pEb2g1cHFlOTVlV0ZrUjJn?=
 =?utf-8?B?WDV1RS9nQTVlTklZZFAzUXV3dk85N3BDRXMzYmUxRmRHWkdvRGNnS0tGdjFG?=
 =?utf-8?B?RWVCNGV0WVkzY1ZKdUVMQzRoeDhXNnlKbk43Q3U5aEdRSXk5YnZBbXgyK1dj?=
 =?utf-8?B?anlRejVWcGh5ekx3ZVFzYis3bHlrZ29JRXZyeW1rWlhRUkEvMkxRTTJlUngr?=
 =?utf-8?B?RitMZ0pld3F5bTBxOWFIVVEyQXZkbDZZY3VQQ0pXNUtzUis0ODJxWWxyZVAw?=
 =?utf-8?B?U3hxKy9DZ2Vuc2RmN0ZGMzNzeHQ0Y1lVOFhCeEI2OHVoemlZaUR3endOMjJ4?=
 =?utf-8?B?VkZXQUsvVVltNno5VUtnYjFHM0lEME9ESVNZN3EzMUNQdEVnMkErdTQwc0h0?=
 =?utf-8?B?bDNmWG16NGNBeVJ0cVIzQ2tVOGVDS2dPTVZraXFacXVmMGU5UEE1SnpGc2Er?=
 =?utf-8?B?bVRnY3NEQ0xzY0IrUlRCOVk3aENjQktGTTFHSGk1cDNhZFBhOFlmdnA3U2pw?=
 =?utf-8?B?SzhGUkk3NVJkOHBNTEdNemNvS2hCb1NQditqdUxMdEN0bVZvaDNVdllDVjhK?=
 =?utf-8?Q?IjHheRf8yXPFwGhMjqUaRyU=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 47315bec-4ad8-422c-bf4b-08d9d99eb1dc
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2022 09:49:46.2511
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6gYmjf8TERdOjaKOred6IFIrHfDSp98QEjuM4ms7reLRGUaOcPi5kUyJUTPZIzr39Aq9Z92y/+dAK8q3b8Pn+A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4059
X-OriginatorOrg: citrix.com

Pull out the code from xc_cpuid_apply_policy that applies a featureset
to a cpu policy and place it on it's own standalone function that's
part of the public interface.

No functional change intended.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 tools/include/xenguest.h        |  5 ++
 tools/libs/guest/xg_cpuid_x86.c | 95 ++++++++++++++++++++-------------
 2 files changed, 62 insertions(+), 38 deletions(-)

diff --git a/tools/include/xenguest.h b/tools/include/xenguest.h
index 9912116a51..8f05d8aa66 100644
--- a/tools/include/xenguest.h
+++ b/tools/include/xenguest.h
@@ -829,6 +829,11 @@ int xc_cpu_policy_legacy_topology(xc_interface *xch, xc_cpu_policy_t *policy,
 int xc_cpu_policy_apply_cpuid(xc_interface *xch, xc_cpu_policy_t *policy,
                               const struct xc_xend_cpuid *cpuid, bool hvm);
 
+/* Apply a featureset to the policy. */
+int xc_cpu_policy_apply_featureset(xc_interface *xch, xc_cpu_policy_t *policy,
+                                   const uint32_t *featureset,
+                                   unsigned int nr_features);
+
 int xc_get_cpu_levelling_caps(xc_interface *xch, uint32_t *caps);
 int xc_get_cpu_featureset(xc_interface *xch, uint32_t index,
                           uint32_t *nr_features, uint32_t *featureset);
diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
index 9060a2f763..cf202671ed 100644
--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -443,46 +443,15 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
 
     if ( featureset )
     {
-        uint32_t disabled_features[FEATURESET_NR_ENTRIES],
-            feat[FEATURESET_NR_ENTRIES] = {};
-        static const uint32_t deep_features[] = INIT_DEEP_FEATURES;
-        unsigned int i, b;
-
-        /*
-         * The user supplied featureset may be shorter or longer than
-         * FEATURESET_NR_ENTRIES.  Shorter is fine, and we will zero-extend.
-         * Longer is fine, so long as it only padded with zeros.
-         */
-        unsigned int user_len = min(FEATURESET_NR_ENTRIES + 0u, nr_features);
-
-        /* Check for truncated set bits. */
-        rc = -EOPNOTSUPP;
-        for ( i = user_len; i < nr_features; ++i )
-            if ( featureset[i] != 0 )
-                goto out;
-
-        memcpy(feat, featureset, sizeof(*featureset) * user_len);
-
-        /* Disable deep dependencies of disabled features. */
-        for ( i = 0; i < ARRAY_SIZE(disabled_features); ++i )
-            disabled_features[i] = ~feat[i] & deep_features[i];
-
-        for ( b = 0; b < sizeof(disabled_features) * CHAR_BIT; ++b )
+        policy.cpuid = *p;
+        rc = xc_cpu_policy_apply_featureset(xch, &policy, featureset,
+                                            nr_features);
+        if ( rc )
         {
-            const uint32_t *dfs;
-
-            if ( !test_bit(b, disabled_features) ||
-                 !(dfs = x86_cpuid_lookup_deep_deps(b)) )
-                continue;
-
-            for ( i = 0; i < ARRAY_SIZE(disabled_features); ++i )
-            {
-                feat[i] &= ~dfs[i];
-                disabled_features[i] &= ~dfs[i];
-            }
+            ERROR("Failed to apply featureset to policy");
+            goto out;
         }
-
-        cpuid_featureset_to_policy(feat, p);
+        *p = policy.cpuid;
     }
     else
     {
@@ -916,3 +885,53 @@ int xc_cpu_policy_legacy_topology(xc_interface *xch, xc_cpu_policy_t *policy,
 
     return 0;
 }
+
+int xc_cpu_policy_apply_featureset(xc_interface *xch, xc_cpu_policy_t *policy,
+                                   const uint32_t *featureset,
+                                   unsigned int nr_features)
+{
+    uint32_t disabled_features[FEATURESET_NR_ENTRIES],
+        feat[FEATURESET_NR_ENTRIES] = {};
+    static const uint32_t deep_features[] = INIT_DEEP_FEATURES;
+    unsigned int i, b;
+
+    /*
+     * The user supplied featureset may be shorter or longer than
+     * FEATURESET_NR_ENTRIES.  Shorter is fine, and we will zero-extend.
+     * Longer is fine, so long as it only padded with zeros.
+     */
+    unsigned int user_len = min(FEATURESET_NR_ENTRIES + 0u, nr_features);
+
+    /* Check for truncated set bits. */
+    for ( i = user_len; i < nr_features; ++i )
+        if ( featureset[i] != 0 )
+        {
+            errno = EOPNOTSUPP;
+            return -1;
+        }
+
+    memcpy(feat, featureset, sizeof(*featureset) * user_len);
+
+    /* Disable deep dependencies of disabled features. */
+    for ( i = 0; i < ARRAY_SIZE(disabled_features); ++i )
+        disabled_features[i] = ~feat[i] & deep_features[i];
+
+    for ( b = 0; b < sizeof(disabled_features) * CHAR_BIT; ++b )
+    {
+        const uint32_t *dfs;
+
+        if ( !test_bit(b, disabled_features) ||
+             !(dfs = x86_cpuid_lookup_deep_deps(b)) )
+            continue;
+
+        for ( i = 0; i < ARRAY_SIZE(disabled_features); ++i )
+        {
+            feat[i] &= ~dfs[i];
+            disabled_features[i] &= ~dfs[i];
+        }
+    }
+
+    cpuid_featureset_to_policy(feat, &policy->cpuid);
+
+    return 0;
+}
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 09:57:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 09:57:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258070.444012 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Ol2-0000TN-DK; Mon, 17 Jan 2022 09:57:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258070.444012; Mon, 17 Jan 2022 09:57:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Ol2-0000P1-5V; Mon, 17 Jan 2022 09:57:00 +0000
Received: by outflank-mailman (input) for mailman id 258070;
 Mon, 17 Jan 2022 09:56:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TAtW=SB=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n9OeE-0002gi-Fw
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 09:49:58 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d2f2e699-777a-11ec-9bbc-9dff3e4ee8c5;
 Mon, 17 Jan 2022 10:49:56 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d2f2e699-777a-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642412997;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=iovEghoT8JMLNPfTSfeZnMsLNMaTz3gRKDzMAmf3b44=;
  b=JXlT2Hr61rO3Jjq5pD5roZOC2fsqsiB7LEmLP9RL25DO7k5ESEocRvbP
   FO0SNf+vCz2rsqi/8MckECv9DQhHGY1ozyVFsPLb+gWnwoXjGg7Uk9WGL
   viomIEpUd+EHgImG3L2F8BT3kCxSCoO6jql8++xfUs14OeMx9w9x3s2Pm
   o=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: c+EvjqZ+33Mg1IUHfX7m11tJ9MgoCmqFsFThOf5WD70CQwfqZWU0gvSEdjnPaZHkIMhP8Ixi/A
 SNiVKWuM98ngHH5NcfDBy0vCYSPHaPuOGouRFBhx5eJC80Fc5ryRUHAbW0FaZZGT7kbOO7jEwe
 Q4MOVXaIvV0oQL7OCT+7z9+fXHqnFRUiV+egja/h2RTIcY0fbcdMAZjDGNaqiMPtFHZSkfl3PT
 R006NDmG6JcZzBcUyT9eyB5jV4Ezr5iP+uVV1y400ZdLLWVLb9eEgWFjVj+22xNee1wLIVOY/i
 wOQvoTpGD4yVokRYCbx8TU/t
X-SBRS: 5.2
X-MesageID: 62542586
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:K27g9KDKlt3H1hVW/87kw5YqxClBgxIJ4kV8jS/XYbTApDx00WQBn
 TdMCDiHb/nYNzHxe9lzOty+pkgO7JfVx9NnQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMo/u1Si6FatANl1ElvU2zbue6WL6s1hxZH1c+En940E07wobVv6Yz6TSHK1LV0
 T/Ni5W31G+Ng1aY5UpNtspvADs21BjDkGtwUm4WPJinj3eH/5UhN7oNJLnZEpfNatI88thW5
 Qr05OrREmvxp3/BAz4++1rxWhVirrX6ZWBihpfKMkQLb9crSiEai84G2PQghUh/u3aLv9Nxm
 ex26t/paDoOIqfglO0TekwNe81+FfUuFL7vJHG+tYqYzlHccmuqyPJrZK00FdRGoKAtWzgIr
 KFGbmBWBvyAr7veLLaTUO5ji95lNMD2FIgepmth3XfSCvNOrZXrHf+XuYUFjGlYasZmJNT+e
 M0jaBxUVhnJQEIRMWYaMNU6tbL97pX4W2IB8w/EzUYt2EDRwxZ2y6PFK8fOd5qBQsA9tlmcj
 nLL+SL+GB5yHMySz3+J/2yhgsfLnDjnQ8QCGbug7PlojVaPgGsJB3UruUCT+KfjzBTkApQGd
 hJSqnFGQbUOGFKDfpr/fx648Ue/4V1Feud3D+cW5AiD4/+Bi+qGPVQsQjlEYd0gkcY5Qz02y
 1OE9+/U6SxTXK69EizEqOrNxd+mEW1MdDJZO3dYJecQy4C7+Nlbs/7Zcjp0/EdZZPXRECq4/
 T2FpTNWa1473Z9SjPXTEbwqbluRSnn1ouwdu1+/soGNtFoRiGuZi2qAswKzARFodtfxc7V5l
 CJY8/VyFchXZX13qASDQf8WAJai7OufPTvXjDZHRsd9rW/wqyXzIdwOsFmSwXuF1O5eJFcFh
 2eJ6GtsCGJ7ZiP2PcebnarsYyjV8UQQPYu8Da2FBja/SpNwaBWG7ElTib24hAjQfLwXufhnY
 /+zKJ/0ZV5DUPgP5GfoG481jOF6rghjlTK7bc2qlHyPjOvBDEN5vJ9YajNimMhjsvPdyOgUm
 v4CX/a3J+J3C7yhMnKJoN9KfTjn7xETXPjLliCeTcbaSiJOE2A9Ef7Bh7Qnfo1uhaNOkenUu
 Hq6XydlJJDX3BUr8C2GNSJubq3BR5F6oS5pNCAgJw/wiXMifZyu/OEUcJ5uJesr8+lqzPhVS
 fgZeprfXqQTG2qfozlNP4PgqIFCdQiwgV7cNSSSfzViLYVrQBbE+4G4c1K3pjUOFCe+qeA3v
 6akilHAWZMGSgk7VJTWZfujwkmfp38YnO4uDULELsMKIBfn8ZRwKjy3hfgyepleJRLGzzqc9
 gCXHRZH+rWd/95rqIHE3PnWoZ2oHu1yGlthM1PatbvmZzPH+meDwJNbVLradz7qS26pqr6pY
 v9Yzq+gPaRfzkpKqYd1D51i0bk6u4n0v7ZfwwlpQCfLYlCsBu8yK3WKx5AS5KhEx7sfsgqqQ
 EOfvNJdPOzRas/iFVcQIisjb/iCiq5IymWDs6xtLRWo/jJz8ZqGTV5WbkuFhyFqJbdoNJ8on
 LU6s8kM5g3j0hcnP75qVMyPG7hg+pDYb5gaiw==
IronPort-HdrOrdr: A9a23:ISg/LKtKfoFOlLKpDsTE8ZrE7skC7oMji2hC6mlwRA09TyXGra
 +TdaUguSMc1gx9ZJhBo7G90KnpewK5yXcT2/hsAV7CZniahILMFu9fBOTZslvd8kHFh4xgPO
 JbAtND4b7LfClHZKTBkXCF+r8bqbHtmsDY5ts2jU0dNz2CA5sQkTuRYTzrdXGeKjM2YKbQQ/
 Gnl7V6TnebCD8qR/X+IkNAc/nIptXNmp6jSRkaByQ/4A3LqT+z8rb1HzWRwx9bClp0sPof2F
 mAtza8yrSosvm9xBOZ/2jP765OkN+k7tdYHsSDhuUcNz2poAe1Y4ZKXaGEoVkO0auSwWdvtO
 OJjwYrPsx15X+UVmapoSH10w2l6zoq42+K8y7vvVLT5ejCAB4qActIgoxUNjHD7VA7gd162K
 VXm0qEqpt+F3r77WrAzumNcysvulu/oHIkn+JWpWdYS5EiZLhYqpFa1F9JEa0HADnx5OkcYa
 ZT5fnnlbZrmG6hHjPkVjEF+q3vYp1zJGbLfqE6gL3V79AM90oJinfxx6Qk7wA9HdwGOt15Dt
 //Q9dVfYd1P7srhJJGdZc8qPSMex7wqGr3QRqvyHTcZeg60iH22tbKCItc3pDeRHVP9up0pK
 j8
X-IronPort-AV: E=Sophos;i="5.88,295,1635220800"; 
   d="scan'208";a="62542586"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MNT8wusQLtp43BQGFdgTAwo+po0kJ1XEnzfKai/tQ2fcI5QFT2JepKHHqnp/XMz+H+sfR0PSmoOOCVcqOjgQpz4kakpewOddeHgNqk5NBHbzg6cbot0wlaieeC7cCYZ4v4BZGoxSfZjTgiDOnKIw8gBZKU+EpFK7Ax+BNmZARZeaLzMpEQihkTSzZplrD85H1P3OOZihnjF190oMxiqtX77drZpYP/LxPO6pTIrTP+XvwmtcqKkMRo93NydpITalS5NEq5MMbQuoem0djie8rs6ClZDXdRNa/LryJ9C46DpQdCUmwm+cActj41a7jXWhTlUXHGBSkKV0UC7tWMalsw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=shER43YyyQhVY1X+UAZxNkhxrqoglUfGVvwMDWcCp04=;
 b=Jo08DoCb/0OFTML/Bl3nS+suJuPBKc/ca/jelzQ+WAZCwsxmEYNj9/4Sh8tEQ8JjZCCPU3QjI5f0anqsf0I1RaDTb9cBNJ0+rIayOWmLswZ5KXukylwzxomMifrkmbxtz31h/HG6B4MOXEmpWdwvuMItNOerJnKLrCLghDal1SjtUp8wHwGgRDcC3tXpfSgiqzeTxwXXtIZqmGlrCWJWPJ8A0FDJpQfRqH4Psvm6gEkhFXd41I+neG7vDA+4ZFFAkjZRTPl0Q7SPzNNgRexBWFnz6D4+qpF5bZPjeC1uo/r/0v4z96safIkYGkUf5rRP54yYQzAj8adBpseQVfMcxA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=shER43YyyQhVY1X+UAZxNkhxrqoglUfGVvwMDWcCp04=;
 b=jDmOJnJLJOUYSg20nN3jm2L4O1Eo20XQMkxJkFI7R2CiC58VxGs/ccQAFiOYf4RZ88MxWFdHFyUUWDZ+53c4BWUBjoMz9BKKvO1we3z+icy8Zb4bxEELYAlGtCkZg6Bp+aq2OBI1kWVb+GdJ8+UDsLoAXXJlpmtqP4lydvgm08E=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Anthony
 PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
Subject: [PATCH v6 10/12] libs/{light,guest}: implement xc_cpuid_apply_policy in libxl
Date: Mon, 17 Jan 2022 10:48:25 +0100
Message-ID: <20220117094827.16756-11-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220117094827.16756-1-roger.pau@citrix.com>
References: <20220117094827.16756-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MRXP264CA0046.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:14::34) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 7bd941d9-348c-4f84-e34b-08d9d99eb55e
X-MS-TrafficTypeDiagnostic: DM6PR03MB4059:EE_
X-Microsoft-Antispam-PRVS: <DM6PR03MB40592D87508305A941ABE4CC8F579@DM6PR03MB4059.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:177;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: kIFx5Q8y1vlnUikXENkXiERWHcGKA5+YneZYJBfh3jMKwlNMt8NXKGLRuSeva7B4FWIEXgmTJINgHDTex8BBUvxduVqkAa0TOuALC3EkTO2MUBD/C+GNhynOJGD6i65TqzdW0moTA4mUg4d33Tb1ugwarveSEIurrgKCrK4s9i//tVtxQPRLbaX37bMo2VvT3LtT4Rk4Q526dDjm7pWd5xg+E9otjt1sHnfceNVHbkeX7W3EIgzRFCAZeM8P80Lof3PU2YZ8OA5laTsAOynNuUFBlNq71BIEBCFgmQGWAcaFx82627BQ15bowySqBiY9jDvZcXZzHhnDPJyRUYkdALTubzhcPKAum8hr92vieVL3jyq4LVqJiLXYxP6/pMhGf3rIMPzfRiF55QKgC4cXOYK2cbgGHS+gkwy4zrJjGrXZoCaefd27XR4lEZiEI5leqDiC7hxkhMOZ3o/xrxNgpQLU/5uKARnueSS6EkIeLwSBJAdw/lw+Q5OrnCN+7DhsdY4LcQ+CwA8vQvivvuAiNlQ4cugxaO7kLg3Ms6pHLMVQtzs+3U+MXMFqHlbtcNpSR6DI9blHN8QT7dWpKLjDzfdnqbiD+zEoL72yw9US8w1JKU6s7bCOBSggNrxo/wagd2LpSvHXVQI6MVSoC9WXXQ==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(4326008)(6512007)(8936002)(186003)(36756003)(6506007)(316002)(83380400001)(38100700002)(6486002)(26005)(6916009)(86362001)(6666004)(8676002)(54906003)(2616005)(82960400001)(2906002)(5660300002)(66946007)(66556008)(66476007)(1076003)(508600001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?T05EUXdHMFRDTXdqUzZjSU54M1FtMXRYSWpvaGdoWXNjWnFuc1JyOHdNN2Zx?=
 =?utf-8?B?dThlK2xhenhxeHM1R2ROeDlyU21GUlB5M1pVTHNsdG9Fa2p0ejdhK0JhZldq?=
 =?utf-8?B?ZytrN1pJNFd3NHdtYlQ1UEErOE94Q1pWR3RkZElJZFc4TTBFRkVIOXJjQ0VJ?=
 =?utf-8?B?UjI0TzR5bFNhNE5tYnB2NUtJYUxjNXdNdjlRdFU5S0hGUThLN0JsVlFKcWpJ?=
 =?utf-8?B?UEx5NWFDQTZORlA4enhHNlhCZi9NK1RNVVd2K0pSajJORElEd2w5OE5INGFt?=
 =?utf-8?B?d1VCVUhLcDQ4ZHNpYVJ4Y1ZhdzZzWFkxWDYyOGdadUtReHE3RFBNTkhIWnl3?=
 =?utf-8?B?eHAreTF3ZENBakJ6N0ZJMU1IYmZqQmc2MHBoVDlpVktwK0ZEaGFDZ1ZXMW0z?=
 =?utf-8?B?QVNPTmJFbzdvbzFWZEVCN0ROL3paTWZ4eGZDQnViWjljTkprbWVRbThlbXdN?=
 =?utf-8?B?MTEvemR2M1lTdzlWSDdldjNnOHZoQ25ISHZNcVF2SE1oQ2c0cFYxenZmbXhM?=
 =?utf-8?B?TkgvZklTSGg3cG85aCtsaDlDSU1ZVGlxTmNtM2M3cnlKcnNEK0F3dFpFN2p5?=
 =?utf-8?B?dEQ3ZXBkOTFUdWErR24zNlZ4S1lWU0g2S3o2dWVCcWVDSGpZWThXMUdwWGJq?=
 =?utf-8?B?a0gxdTg5ZEtIWWR3RVVxaCtkdFl5Y0VyV1hsaWFVd3lMSmR0eTlaUm9PUWxo?=
 =?utf-8?B?cUFpbExkUjVYQXhtWXRPWUpsT0RaUXVJZGFqTHBIMk1RR2t4cDZ4SEdDNWY1?=
 =?utf-8?B?a01NanFGNjZqV1NsU1dpdGswMy8vWHI0T085aHlFMTR5RmVuRHplUGR2K25V?=
 =?utf-8?B?VEZJUFF2bU41Sm5iTDBmOE01UTRiN3A4eEZFTVBRSkQ4MFZlV2NEckduTHBl?=
 =?utf-8?B?M3JQcnd6L1EzRjRkYlBIakNXRTBkS0RHM1RjM3hUNytkWlRjNVlqdHIvcUh1?=
 =?utf-8?B?NXNoeGdOQ2M2UndFK0tqbW80d1NNK3JWd0VCMkJhK29XZGNBMzloRTk5MHB2?=
 =?utf-8?B?YWVveFJ1dDhDWTBJRkQxakxwL0NoQ203VTdWV281OTJrMC9yejZQQmhUMVVT?=
 =?utf-8?B?dzFHZDlsVWRvSWo4VjFnZGEycC9FVC9kMTlwbTVoSEtNaEpUTkFDVm9WYmp1?=
 =?utf-8?B?VENPWVJ5cUN2SkpoUThHQ1NQVWQ4c3djYUZ6eTllem1DQkFpNjcyVkFRYms2?=
 =?utf-8?B?MFcwTVJFUWNmVFQyS0Z0SjJuSkhMKzBpZFlTSDgwS0JPYVlsUFpLYlBEUjhk?=
 =?utf-8?B?RHFwaGQ2andlV0lkRXYxSEtWQ3FpaEZQYzNIcFE5MWlsMHF4VWpLcjZHK0dk?=
 =?utf-8?B?VmYzYm8vYUVabEVYVEVXekwwZCt5UUo0TERqWmVXRWUvZ003clJCS2FUSWwv?=
 =?utf-8?B?cnQraHl4N0VVZTBIay9qbVJYYUpQRGJpbCtDMkxUR01zM1lwUEJTSFNDK3lH?=
 =?utf-8?B?VWJTK1I5UC90dWxadTZRNW5oRlo3K1ZpVCtQcWM0ZWVRYXFHMFlpYkdESzdl?=
 =?utf-8?B?M2Z3WmgwdmUrdWNhVWQzMkZWejJucFhONEl2U0djay94TGtNbDROZUpPZEJ2?=
 =?utf-8?B?enRMQU5uRWFDSThoVk9Dd0VRM3NTYlljNnl4VHc5RlUvV0ZxZzBhSmpIOGNH?=
 =?utf-8?B?Q0h4dVBENnV0R2tZQlJweDZKd0FQaTZGejRHMldja1VPWDZBcTZvMEhNekRz?=
 =?utf-8?B?VmlMYk1kMUxjUmMwWktwOXV1OS9NOUJiZmZDM1F3TjM4RVBvUVg4M1RCZTJa?=
 =?utf-8?B?R2ZtdnhUZ0ZNSDFBN1pmQktoM2Z2R3FkNXliRXNXd2Yzb2liZ1MxK2ZuRjZH?=
 =?utf-8?B?ZloxZGtjTXBtNjUySkt5UXc5a3hMdWpoTVZabEVEYWFXeGlTWDl1N3RkOXpP?=
 =?utf-8?B?Mmh1V3JWS2cyTmx0NmsyWXh5VG4zelZDNXRkc24wMXNIcWo0ZGRyQTZnd3JP?=
 =?utf-8?B?R0pLOGdWcHA3SlhQcWFocnFWTEpmNDZ2ZlYzejFiZ1dpZFIrS1pkQTI3Ykc3?=
 =?utf-8?B?QUUzQUV4ZGZSQkhWM1RnNWN5RStWaHdBYTFaMFN1bEpPcHh6ZVdHd1ROV0Fu?=
 =?utf-8?B?UkdML3NKVXVRNUNmYnlpQ21ZdUN4b0F2U0w0OWw2WFV1NXNVdUFpa1pDaVJ4?=
 =?utf-8?B?Rkc1NS92cWZxdHdvVDFCQ3ViTXJ3b01XR0VzK2xOUVFQc3ZSZm5YOXdqWUpM?=
 =?utf-8?Q?cs3ZwZACUgv7Yg7qIJMyh+M=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 7bd941d9-348c-4f84-e34b-08d9d99eb55e
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2022 09:49:52.1371
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: YbGN4/qe2SsjS6e/JCjX0dCZ7Lj6sqNJNPFD7jbZBat6VyrDKew2ZYglBUB7Kc9/MO5IhnNkQERxrjpvwco8pw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4059
X-OriginatorOrg: citrix.com

With the addition of the xc_cpu_policy_* now libxl can have better
control over the cpu policy, this allows removing the
xc_cpuid_apply_policy function and instead coding the required bits by
libxl in libxl__cpuid_legacy directly.

Remove xc_cpuid_apply_policy.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
---
Changes since v4:
 - Correctly account for PVH guests being HVM in libxl__cpuid_legacy.
 - PAE option is only available to HVM guests (_not_ including PVH).

Changes since v2:
 - Use 'r' for libxc return values.
 - Fix comment about making a cpu policy compatible.
 - Use LOG*D macros.
---
 tools/include/xenctrl.h         |  18 -----
 tools/libs/guest/xg_cpuid_x86.c | 122 --------------------------------
 tools/libs/light/libxl_cpuid.c  |  92 ++++++++++++++++++++++--
 3 files changed, 86 insertions(+), 146 deletions(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 95bd5eca67..745d67c970 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1829,24 +1829,6 @@ struct xc_xend_cpuid {
     char *policy[4];
 };
 
-/*
- * Make adjustments to the CPUID settings for a domain.
- *
- * This path is used in two cases.  First, for fresh boots of the domain, and
- * secondly for migrate-in/restore of pre-4.14 guests (where CPUID data was
- * missing from the stream).  The @restore parameter distinguishes these
- * cases, and the generated policy must be compatible with a 4.13.
- *
- * Either pass a full new @featureset (and @nr_features), or adjust individual
- * features (@pae, @itsc, @nested_virt).
- *
- * Then (optionally) apply legacy XEND overrides (@xend) to the result.
- */
-int xc_cpuid_apply_policy(xc_interface *xch,
-                          uint32_t domid, bool restore,
-                          const uint32_t *featureset,
-                          unsigned int nr_features, bool pae, bool itsc,
-                          bool nested_virt, const struct xc_xend_cpuid *xend);
 int xc_mca_op(xc_interface *xch, struct xen_mc *mc);
 int xc_mca_op_inject_v2(xc_interface *xch, unsigned int flags,
                         xc_cpumap_t cpumap, unsigned int nr_cpus);
diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
index cf202671ed..974549c0db 100644
--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -379,128 +379,6 @@ int xc_cpu_policy_apply_cpuid(xc_interface *xch, xc_cpu_policy_t *policy,
     return rc;
 }
 
-int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
-                          const uint32_t *featureset, unsigned int nr_features,
-                          bool pae, bool itsc, bool nested_virt,
-                          const struct xc_xend_cpuid *cpuid)
-{
-    int rc;
-    xc_dominfo_t di;
-    unsigned int nr_leaves, nr_msrs;
-    xen_cpuid_leaf_t *leaves = NULL;
-    struct cpuid_policy *p = NULL;
-    struct xc_cpu_policy policy = { };
-    uint32_t err_leaf = -1, err_subleaf = -1, err_msr = -1;
-
-    if ( xc_domain_getinfo(xch, domid, 1, &di) != 1 ||
-         di.domid != domid )
-    {
-        ERROR("Failed to obtain d%d info", domid);
-        rc = -ESRCH;
-        goto out;
-    }
-
-    rc = xc_cpu_policy_get_size(xch, &nr_leaves, &nr_msrs);
-    if ( rc )
-    {
-        PERROR("Failed to obtain policy info size");
-        rc = -errno;
-        goto out;
-    }
-
-    rc = -ENOMEM;
-    if ( (leaves = calloc(nr_leaves, sizeof(*leaves))) == NULL ||
-         (p = calloc(1, sizeof(*p))) == NULL )
-        goto out;
-
-    /* Get the domain's default policy. */
-    nr_msrs = 0;
-    rc = get_system_cpu_policy(xch, di.hvm ? XEN_SYSCTL_cpu_policy_hvm_default
-                                           : XEN_SYSCTL_cpu_policy_pv_default,
-                               &nr_leaves, leaves, &nr_msrs, NULL);
-    if ( rc )
-    {
-        PERROR("Failed to obtain %s default policy", di.hvm ? "hvm" : "pv");
-        rc = -errno;
-        goto out;
-    }
-
-    rc = x86_cpuid_copy_from_buffer(p, leaves, nr_leaves,
-                                    &err_leaf, &err_subleaf);
-    if ( rc )
-    {
-        ERROR("Failed to deserialise CPUID (err leaf %#x, subleaf %#x) (%d = %s)",
-              err_leaf, err_subleaf, -rc, strerror(-rc));
-        goto out;
-    }
-
-    if ( restore )
-    {
-        policy.cpuid = *p;
-        xc_cpu_policy_make_compat_4_12(xch, &policy, di.hvm);
-        *p = policy.cpuid;
-    }
-
-    if ( featureset )
-    {
-        policy.cpuid = *p;
-        rc = xc_cpu_policy_apply_featureset(xch, &policy, featureset,
-                                            nr_features);
-        if ( rc )
-        {
-            ERROR("Failed to apply featureset to policy");
-            goto out;
-        }
-        *p = policy.cpuid;
-    }
-    else
-    {
-        p->extd.itsc = itsc;
-
-        if ( di.hvm )
-        {
-            p->basic.pae = pae;
-            p->basic.vmx = nested_virt;
-            p->extd.svm = nested_virt;
-        }
-    }
-
-    policy.cpuid = *p;
-    rc = xc_cpu_policy_legacy_topology(xch, &policy, di.hvm);
-    if ( rc )
-        goto out;
-    *p = policy.cpuid;
-
-    rc = xc_cpu_policy_apply_cpuid(xch, &policy, cpuid, di.hvm);
-    if ( rc )
-        goto out;
-
-    rc = x86_cpuid_copy_to_buffer(p, leaves, &nr_leaves);
-    if ( rc )
-    {
-        ERROR("Failed to serialise CPUID (%d = %s)", -rc, strerror(-rc));
-        goto out;
-    }
-
-    rc = xc_set_domain_cpu_policy(xch, domid, nr_leaves, leaves, 0, NULL,
-                                  &err_leaf, &err_subleaf, &err_msr);
-    if ( rc )
-    {
-        PERROR("Failed to set d%d's policy (err leaf %#x, subleaf %#x, msr %#x)",
-               domid, err_leaf, err_subleaf, err_msr);
-        rc = -errno;
-        goto out;
-    }
-
-    rc = 0;
-
-out:
-    free(p);
-    free(leaves);
-
-    return rc;
-}
-
 xc_cpu_policy_t *xc_cpu_policy_init(void)
 {
     return calloc(1, sizeof(struct xc_cpu_policy));
diff --git a/tools/libs/light/libxl_cpuid.c b/tools/libs/light/libxl_cpuid.c
index e1acf6648d..7dcdb35a4c 100644
--- a/tools/libs/light/libxl_cpuid.c
+++ b/tools/libs/light/libxl_cpuid.c
@@ -441,9 +441,11 @@ int libxl__cpuid_legacy(libxl_ctx *ctx, uint32_t domid, bool restore,
                         libxl_domain_build_info *info)
 {
     GC_INIT(ctx);
+    xc_cpu_policy_t *policy = NULL;
+    bool hvm = info->type != LIBXL_DOMAIN_TYPE_PV;
     bool pae = true;
     bool itsc;
-    int r;
+    int r, rc = 0;
 
     /*
      * Gross hack.  Using libxl_defbool_val() here causes libvirt to crash in
@@ -454,6 +456,41 @@ int libxl__cpuid_legacy(libxl_ctx *ctx, uint32_t domid, bool restore,
      */
     bool nested_virt = info->nested_hvm.val > 0;
 
+    policy = xc_cpu_policy_init();
+    if (!policy) {
+        LOGED(ERROR, domid, "Failed to init CPU policy");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    r = xc_cpu_policy_get_domain(ctx->xch, domid, policy);
+    if (r) {
+        LOGED(ERROR, domid, "Failed to fetch domain CPU policy");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (restore) {
+        /*
+         * Make sure the policy is compatible with pre Xen 4.13. Note that
+         * newer Xen versions will pass policy data on the restore stream, so
+         * any adjustments done here will be superseded.
+         */
+        r = xc_cpu_policy_make_compat_4_12(ctx->xch, policy, hvm);
+        if (r) {
+            LOGED(ERROR, domid, "Failed to setup compatible CPU policy");
+            rc = ERROR_FAIL;
+            goto out;
+        }
+    }
+
+    r = xc_cpu_policy_legacy_topology(ctx->xch, policy, hvm);
+    if (r) {
+        LOGED(ERROR, domid, "Failed to setup CPU policy topology");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
     /*
      * For PV guests, PAE is Xen-controlled (it is the 'p' that differentiates
      * the xen-3.0-x86_32 and xen-3.0-x86_32p ABIs).  It is mandatory as Xen
@@ -466,6 +503,13 @@ int libxl__cpuid_legacy(libxl_ctx *ctx, uint32_t domid, bool restore,
      */
     if (info->type == LIBXL_DOMAIN_TYPE_HVM)
         pae = libxl_defbool_val(info->u.hvm.pae);
+    rc = libxl_cpuid_parse_config(&info->cpuid, GCSPRINTF("pae=%d", pae));
+    if (rc) {
+        LOGD(ERROR, domid, "Failed to set PAE CPUID flag");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
 
     /*
      * Advertising Invariant TSC to a guest means that the TSC frequency won't
@@ -481,14 +525,50 @@ int libxl__cpuid_legacy(libxl_ctx *ctx, uint32_t domid, bool restore,
      */
     itsc = (libxl_defbool_val(info->disable_migrate) ||
             info->tsc_mode == LIBXL_TSC_MODE_ALWAYS_EMULATE);
+    rc = libxl_cpuid_parse_config(&info->cpuid, GCSPRINTF("invtsc=%d", itsc));
+    if (rc) {
+        LOGD(ERROR, domid, "Failed to set Invariant TSC CPUID flag");
+        rc = ERROR_FAIL;
+        goto out;
+    }
 
-    r = xc_cpuid_apply_policy(ctx->xch, domid, restore, NULL, 0,
-                              pae, itsc, nested_virt, info->cpuid);
-    if (r)
-        LOGEVD(ERROR, -r, domid, "Failed to apply CPUID policy");
+    /* Set Nested virt CPUID bits for HVM. */
+    if (hvm) {
+        rc = libxl_cpuid_parse_config(&info->cpuid, GCSPRINTF("vmx=%d",
+                                                              nested_virt));
+        if (rc) {
+            LOGD(ERROR, domid, "Failed to set VMX CPUID flag");
+            rc = ERROR_FAIL;
+            goto out;
+        }
+
+        rc = libxl_cpuid_parse_config(&info->cpuid, GCSPRINTF("svm=%d",
+                                                              nested_virt));
+        if (rc) {
+            LOGD(ERROR, domid, "Failed to set SVM CPUID flag");
+            rc = ERROR_FAIL;
+            goto out;
+        }
+    }
+
+    /* Apply the bits from info->cpuid if any. */
+    r = xc_cpu_policy_apply_cpuid(ctx->xch, policy, info->cpuid, hvm);
+    if (r) {
+        LOGEVD(ERROR, domid, -r, "Failed to apply CPUID changes");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    r = xc_cpu_policy_set_domain(ctx->xch, domid, policy);
+    if (r) {
+        LOGED(ERROR, domid, "Failed to set domain CPUID policy");
+        rc = ERROR_FAIL;
+    }
 
+ out:
+    xc_cpu_policy_destroy(policy);
     GC_FREE;
-    return r ? ERROR_FAIL : 0;
+    return rc;
 }
 
 static const char *input_names[2] = { "leaf", "subleaf" };
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 09:57:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 09:57:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258059.443986 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Ol0-0008Qg-Gr; Mon, 17 Jan 2022 09:56:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258059.443986; Mon, 17 Jan 2022 09: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 1n9Ol0-0008QW-Az; Mon, 17 Jan 2022 09:56:58 +0000
Received: by outflank-mailman (input) for mailman id 258059;
 Mon, 17 Jan 2022 09:56:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TAtW=SB=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n9OeP-0003a5-2N
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 09:50:09 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d9618f1d-777a-11ec-a115-11989b9578b4;
 Mon, 17 Jan 2022 10:50:07 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d9618f1d-777a-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642413007;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=PpqceEVBU/IQyI58549xqPJzUhi2ZBLyq+Qisg1SH2M=;
  b=PVJIiyenJEBTbvNBem05Ul/wjwAeJyciyOe4ZDP0xG00Enqt7S9TuPh5
   lgurZ1Njxdsa6YjKva7IxjEuh+dZr2uGhS/E8snbvgmfrRUzI6D/a0OCx
   AeX0MCannkpItoNak3qwrF1s0bU4LMEssNQHBD1gJAf9Vy6ZBnzNeTvEb
   M=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: uOZwPq+4mfqmanm+MypQ7j9yVLmc2XDUEdMrSV9UX6CVOx5jHnfu2FbQD/LW/keXsobDwVSILQ
 8nImlKJQnHvq+xBDOQIKxcQa7Cyz303jaxModd1e5YcOoiMOI2TFGWUfuvHnMxDPwV9xy3sufi
 nRsK9jgccB/PX4uFQwIBB5jaGsNUxmNRem9A95mzwEELOvXOa1cgFecNHrkYO/jVJ8H+h62Bo9
 KZbYztsIe+pMRVDGAZzNBvXUqOUnvQX4Q7gfT03FFUrlPyFiZumR9ISgzUJkEL9GugI6NWXuyr
 DWPywS7njLLtRz4VxmXNUsyL
X-SBRS: 5.2
X-MesageID: 62131536
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:twtt+KBaWknUNBVW/9nkw5YqxClBgxIJ4kV8jS/XYbTApD8ghjRWm
 2QaCj2CbK2PMTGjKdh3Po/kp0gEscWEydIyQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMo/u1Si6FatANl1ElvU2zbue6WL6s1hxZH1c+En940E07wobVv6Yz6TSHK1LV0
 T/Ni5W31G+Ng1aY5UpNtspvADs21BjDkGtwUm4WPJinj3eH/5UhN7oNJLnZEpfNatI88thW5
 Qr05OrREmvxp3/BAz4++1rxWhVirrX6ZWBihpfKMkQLb9crSiEai84G2PQghUh/ugi5uc5Jx
 Yx26IWeWAENGILeh98WTEwNe81+FfUuFL7vJHG+tYqYzlHccmuqyPJrZK00FdRGoKAtWzgIr
 KFGbmBWBvyAr7veLLaTUO5ji95lNMD2FIgepmth3XfSCvNOrZXrHf+TvoYFh2lYasZmH9fRV
 8QbW2JWUi/lURFhAAgRUrgkpbL97pX4W2IB8w/EzUYt2EDMyCRh3b6rN8DaEvSISt9ShV2wv
 X/d8iLyBRRyHMySz3+J/2yhgsfLnDjnQ8QCGbug7PlojVaPgGsJB3U+V1G2vP24gU6WQM9EJ
 gof/S9GkEQp3BX1FJ+nBUT++SPa+E5HMzZNLwEkwDCw+ozK2wvAPTUdYC9HTPoJptANTiN/g
 zdlgOjVLTBotbSUT1eU+bGVsS6+NEApEIMSWcMXZVBbuoe++enfmjqKF48+S/Dt0rUZDBmpm
 2jSxBXSkYn/miLiO0+T2VncywyhqZHSJuLezlWGBzn1hu+ViWPMWmBJ1bQ5xasaRGp6ZgPY1
 JThpyR4xLpUZX1qvHbcKNjh5Jnzu5643MT02DaD5aUJ+TW34GKEdotN+jx4L0oBGp9aJWWyP
 R+I6V8Nus870J6WgUlfOd/Z5yMCl/mIKDgYfqqMMoomjmZZKWdrAx2ClWbPhjuwwSDAYIk0O
 IuBcNbEMJrpIf8P8dZCfM9EieVD7nlnnQv7HMmnpzz6j+b2TCPLGN8tbQvfBshkvfjsiFiEr
 L5i2z6ilk83vBvWOHeHqOb+7DkicBAGOHwBg5cGKb7YfFs3QTFJ5j246epJRrGJVp99z4/g1
 nq8RlVZ2Bz4g3jGIh+NcXdtdPXkWpMXkJ7xFXVE0Y+A1ydxbICxwr0YcpdrL7Ar+PY6lax/T
 uUfetXGCfNKE2yV9zMYZJj7jYpjaBX02l7eY3v7OGAyL8x6WgjE2t74ZQ+zpiMAOTW66Jklq
 Lq62wKFHZdaH1Z+DNzbYe6Exk+quSRPg/p7WkbFe4EBeEjl/IVwBTb2i/s7f5MFJRnZn2PI3
 AeKGxYI4+LKptZtotXOgKmFqaavEvd/QRUGTzWKs+7uOHCDrGS5wIJGXOKZRhznVTv5qPe4e
 OFY7/DgK/lbzlxEhJVxTuRwxqUk6tqx+7IDllZ4HG/GZkiAA697JiXUxtFGs6BAy+MLuQayX
 U7TqNBWNa/QZZHgGV8VYgEkcv6CxbcfnTyLtaY5J0Dz5SlW+rubUBoNY0nQ2XIFdLYlYpk4x
 eoBudIN713tgxUnBd+KkyRI+jneNXcHSagm6skXDYKDZtDHEb2ejUgw0hPL3aw=
IronPort-HdrOrdr: A9a23:HVcpza3SjzcMRgbnNzSJaAqjBSpyeYIsimQD101hICG9Lfb2qy
 n+ppgmPEHP5Qr5OEtApTiBUJPwJU80kqQFnbX5XI3SITUO3VHHEGgM1/qF/9SNIVydygcZ79
 YaT0EcMqyAMbEZt7eC3ODQKb9Jq7PmgcOVbKXlvg1QpGlRGt9dBmxCe2Gm+yNNNWx77c1TLu
 vi2iMLnUvqRV0nKuCAQlUVVenKoNPG0LrgfB49HhYirC2Dlymh5rLWGwWRmk52aUID/Z4StU
 z+1yDp7KSqtP+2jjfaym/o9pxT3P/s0MFKCsCggtUcbh/slgGrToJ8XKDqhkF+nMifrHIR1P
 XcqRYpOMp+r1vXY2GOuBPonzLt1T4/gkWSv2OwsD/Gm4jUVTg6A81OicZyaR3C8Xctu9l6ze
 Ziw3+Zn4A/N2KPoA3No/zzEz16nEu9pnQv1cQJiWZEbIcYYLhN6aQC4UJuFosaFi6S0vFpLA
 BXNrCd2B9qSyLYU5iA1VMfguBEH05DUitue3Jy+/B8iFNt7TVEJ0hx/r1pop5PzuN4d3B+3Z
 W2Dk1frsA7ciYnV9MMOA4/e7rENoW0e2O1DIuzGyWvKEhVAQOEl3bIiI9Fkd1CPqZ4i6cPpA
 ==
X-IronPort-AV: E=Sophos;i="5.88,295,1635220800"; 
   d="scan'208";a="62131536"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=c/9Xf+zSgXUkM8p+ZdFBBNEV5J9mtJJEkvftA/BqZzRlvnFQWS7FdKcGwEIFa4ySRD+q57LbExOSOLFl4pNy4M760EGNBc6jnYwFBhiLWbgKOeBz20DtTZpl29Fb+E4yj0ctwNMNTgnk3TT/xLgpy7K1ziz2Gk07aYbZF3sv6/+Coqzy+/hA0Aq9SFo4iuVxlzOXshGytkS4wSsIYMfRZBCcUasMibpGPJg4CoR+riN7IcqcnBuQ0rqSCh/OocjdQ4C1sRfBYSwTQXRNTkiLNlX8mfvTDPQrV09/yHOaEIcsGdB3uMeeU2DsSwg/NWLE/Ad8jGTCuOP196cTSOqJtQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LJf2xu1l9SXGnbg2Yt5yA3xSAk+yaXKaJteq7987IPQ=;
 b=FzeGBS1/XJE/zTgB6CPeSUPkLP41dZlO8MQtG+4lvuiBGjWq//RAHGpdQe5Hb6DGld+OQfbVqYyl+Zks/Rr5K+7Fck85hRP0wxf8LPUqtRgT4cBe95Z25aYM2SxiBhRPrnY/Kch2LKeBUeBju8Mc58T+JnWcyEM8FD+VgQe5JR2jZEtaODYiei4H+rU9wA/gHBmq5twfhKM1Xqf+5jnupRmFHZJbs5hKqBqIN/7EjGqeDNATBBOQwkP8s/1q8AO7bjKzI0ykx1VqrBr7h0f/OO8BPw35qbGIqgkYrLq7SppUAkm9iwq2ZOh+pBp71sJDD/6LAep5pb58kGDOcoTDBg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LJf2xu1l9SXGnbg2Yt5yA3xSAk+yaXKaJteq7987IPQ=;
 b=bLFirHRIMPUB/BJciGJNgsmDc3e15AayBF9gNGEcOrdto+xwFoWHtAz2YZ03g6vbno+xGOkorYln8wHSeJytmTrjFjtuDcn8BrW3P0AoF/PeHZl2eC3yafC8/kTwAEYMLfgs2hRe3C+KtmyBaqBxpcq6cq6t5ja5ixjlNoPCskQ=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>
Subject: [PATCH v6 12/12] x86/CPUID: shrink max_{,sub}leaf fields according to actual leaf contents
Date: Mon, 17 Jan 2022 10:48:27 +0100
Message-ID: <20220117094827.16756-13-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220117094827.16756-1-roger.pau@citrix.com>
References: <20220117094827.16756-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MR1P264CA0117.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:50::10) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8ed79bf0-6099-46ef-73d0-08d9d99ebbab
X-MS-TrafficTypeDiagnostic: DM6PR03MB4059:EE_
X-Microsoft-Antispam-PRVS: <DM6PR03MB4059405C864BA42C457E9ADE8F579@DM6PR03MB4059.namprd03.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: e3vYJb+ELqhaJELkGvtD15K+HiFIifcBtBR3QR7A/KxXDKG9YEnu9kuEEORbWTCHiQHu4E682Iqi+S0qui9GDrSfhalH+MjDcqHo4oXKwLVVoVu1MSZ2qKopKNH65acAw2yd3Bj+MeXWLx37dOgRvKCIhrefwjDZUCAiXrgmY2iIpxwXd4aCoMxhX33jwTzJFCGJgXNBI0wmJB3PzHzrnQLFcesaCu1kIgb4CMnCzAL7aSbO9WeZiDCyRU5nke0NhMEsf61eIkIEHtby/CdaDki87tVSB/iBXoHD4MIWX0c/k81uAa92lWoAZmYjND2wIiXjvGSDvg1ZIsyuJ99csLomCMZM9IRvf6vp52+NLBqMoFEewNOtP/YZXEmiZAtLulGZhl03XUkPyZrqGu2+uJxSVH+XOTUm1bxP08+42TA4DK/YEH2uj+yZnjJRUj5F5Am6vBzn7rS/3GPkuBkC/FnwdwM7ElvOpsmiJlhnGNkl/J7dmoQPvG4lRECxUliuft6jq/JGWs7C7r1uSi3uHE/IkuVsw/46wJPsZqNe7LtBZnErM4NiI6lfVQ3iQb2TloOTUq5I1vLHtNDkrdhgCW5dXA3cXW2WlfhilSb6M7wWO7csbqhUb907S8TN6lDnb1JV6L+/bGZOxfsGHkvk5g==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(4326008)(107886003)(6512007)(8936002)(186003)(36756003)(6506007)(316002)(83380400001)(38100700002)(6486002)(26005)(6916009)(86362001)(6666004)(8676002)(54906003)(2616005)(82960400001)(2906002)(5660300002)(66946007)(66556008)(66476007)(1076003)(508600001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NXBvS2Vkc3ZmK1UxbWRFc0ZXeGZzTzlPcVM0QTNDdVVLcWRJZlY5akF2TmJ0?=
 =?utf-8?B?R201UFhIblRJVm55NnRpcFFhRUZwRnB6VUc1M2R0UGY3MmJLQWkrL01ZcVJB?=
 =?utf-8?B?T3M3SzMrVUFzR2hyTmJjTnkxS2tCaUEweFJBVkIvWXVuUW5CZ0ZHL3VpQ0k5?=
 =?utf-8?B?bEp4enhPcnF6SXlmWWF1cW5Bc0V1ZlpSMHErcEF0NzlFcFhuOTV2ait1WXQr?=
 =?utf-8?B?UUZQcXV5UXdGRGtHYmlyUDJCYk5PTE5BQ3VKS2N6c2FUYW5NSzRmaG45UTJ1?=
 =?utf-8?B?dHBteTI0SEtmNE5jeWdUQk1SRzYvQnRDbGY2bU91dE51N25XS0x3MnhZTDBD?=
 =?utf-8?B?Ritic1l2WG9BWjkraUJCcFNUL0U3aEp1QkZBL1FCQkRtdUo5amFxSGEzZ2Qx?=
 =?utf-8?B?QTNvSjYxSDVGcEo2UTk3M2IvVkJCbXphdFdLSmdIMktKZGh6Q0pKWlRPelpT?=
 =?utf-8?B?Y1ZhT2hxSExqSUVVZ1IxdnV1eUVpNjk3MVpLRThXK29wcHEwZkFoS0FqUXl5?=
 =?utf-8?B?aDJiRzF2elVodE9aaDljQ3JsaVJUSEpUWEdBRFdHQkcxUkY3MzV3b01OQ2xv?=
 =?utf-8?B?RnlvQUZnWUcvVU8vcTd4djI5OXVaSkdFWkVnWGFGUGhmUU5UME1qSkdLYUZj?=
 =?utf-8?B?ZnFQNVBVUGhXdGU4bldpdm4yWkFhYm8wUGR1OXMzazZpRzlmSW9abzg3NEVT?=
 =?utf-8?B?OE5udlFrK0ZQdWY5SUI3RDUrZW1tNjIwQkp4dkFOYWFKL0ljOWFoMVVwQW8z?=
 =?utf-8?B?bk9DTHpXenpVR1hra3dBKzZ6RG5NbmJxc1k0Sjg4UXVWS3dlSXpJbTBReksy?=
 =?utf-8?B?TU4rYjdKaHhuclAxQTR3WTFZTHlYWUF1a2hJeTZEZm0wK29jY1R3aHprVHJT?=
 =?utf-8?B?TmhMYVV3YlZ5bWNrRUxKZ1pKc0VXaW5aNGs2alQyZFZXaVUzYVRyNmxOZXln?=
 =?utf-8?B?cWtMZCtWbmU2OGlXb1BUU0tNL3d5VjlocFpWUmdNMG90c1FoUjBJenZQeW1I?=
 =?utf-8?B?R1hRNXZDS0U5c2N1S1dwb1dETy93UEdqa2NXN0taRnpjcEh5N0o3eWhCY1Er?=
 =?utf-8?B?OTZzNjhLakJ2Y1lhOTJFNGV6TWU1V1ZqVWpQK0tKNWFHL3VZVnFjUDVjanVw?=
 =?utf-8?B?WS80M2VXWXY4NTZtTVF5dlQwZWtsWlR3a2tvSlpuOFlZQXdJNkNJZUZvK1B4?=
 =?utf-8?B?bTdYa2VudUlMUUh4V2RTVWxUbU0vMHJwZGxZQ2o2NGErS0ZzZkJGV0E5c0dw?=
 =?utf-8?B?Z0Q1OWZZU1JVeUIrdlQ3WUVqWW9qZTRleGtYUm51bVVTNHhScjczQmNsUXhw?=
 =?utf-8?B?c1FiOVRMZnAxWXFkRS91SjNaYU1oMnlBQXc3ZmpmQjJkTmQwdHlmaWcrQXUx?=
 =?utf-8?B?Yk5Wdy9DNVNiV3A5eEVqTjMvSkRFeGVkS2s2d3c0SHo5RFh2czBZTFdNY2lo?=
 =?utf-8?B?cWxXaEMvWFpBVGYvWXgrZmdYNXZmVi9BdG9wekJDaFA4OC8xN2xKTXM2REdm?=
 =?utf-8?B?K05IYmhrWXYvTjFMTHFhNlVoaStpK1JFOUROeVVJVnQ3eWRueTBYMzQ0Mktv?=
 =?utf-8?B?WUVGc2lGbFZ1ZzJNZ0tIaHQ0eHdNamtZKzhZS0djRnpxZTJpMTd5RTByMTBH?=
 =?utf-8?B?S01jQkFVN05PSXpvNFEvWHlHK0d5S2ljY1ROYjJnT3BtWDZzTXU3ZkswQU1D?=
 =?utf-8?B?aUhxZEZtUGlpbzFzcUF6TkZvdDloWlJmVjhFN08wdEx1TWd0WkRscU1RY3Ry?=
 =?utf-8?B?bXBkcUI0K2ZvYzA4U1REMmlzVXVobStuTGRlby9ZTGgvaVBheGM2NUtXWEVQ?=
 =?utf-8?B?WWpJSkFVQUZTR0VzeXRnTm8rZ0VhVzZUaGZNTElubDR6cEtnQXppaUNWL0lX?=
 =?utf-8?B?SGx4dTlLSXFuMGZ3enZ5QWRZSnowc3krci9zTUhUUWI3cWpzZjZjWG5YTjEw?=
 =?utf-8?B?TDg4bkt1NDNvYUNJaDFDaWdLZWxQTktROTZKRHMyYlhhRHlFZTY3TlE4a2pS?=
 =?utf-8?B?WVMxOHFaTUFVSkh0eTdZUG51Y3pVVG5oNUlLVW5xaG10Yk9wV3pzWkFGMUdG?=
 =?utf-8?B?YjhDaHhHMnNXeEordEl2bEIxYVgrQzF0OTFWOVE4SFpKODZvbEc0V2ZUaW8z?=
 =?utf-8?B?eWhsTnoxZitXOFRqVGlHUVM0UGY1NVFtQUI4MGlEMHNHU3BDTU9EZXdRVzQx?=
 =?utf-8?Q?jp3ZRPKztMCEWWIS3s1G3cE=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 8ed79bf0-6099-46ef-73d0-08d9d99ebbab
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2022 09:50:02.7990
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5dXjuMNVacLrT7PjnhCVMRvpU1fewsu+AqFamduZz9EWZMQJ3Vi2Nvv3c0MDZPyq/7Xt2kf5t3LSe3JSusjxgA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4059
X-OriginatorOrg: citrix.com

From: Jan Beulich <jbeulich@suse.com>

Zapping leaf data for out of range leaves is just one half of it: To
avoid guests (bogusly or worse) inferring information from mere leaf
presence, also shrink maximum indicators such that the respective
trailing entry is not all blank (unless of course it's the initial
subleaf of a leaf that's not the final one).

This is also in preparation of bumping the maximum basic leaf we
support, to ensure guests not getting exposed related features won't
observe a change in behavior.

Note that such shrinking is only done when creating a policy for a
domain from scratch. Migrated in domains keep their previous policy if
present untouched, and for migrated in domains not having CPUID data
the crafted Xen pre-4.13 policy is not trimmed to keep a behavior
compatible with those older Xen versions.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v4:
 - New in this version, picked up from 540d911c2813.
 - Only shrink policies for newly created domains.
---
 tools/include/xenguest.h                 |   3 +
 tools/libs/guest/xg_cpuid_x86.c          |   5 ++
 tools/libs/light/libxl_cpuid.c           |   7 ++
 tools/tests/cpu-policy/test-cpu-policy.c | 101 +++++++++++++++++++++++
 xen/include/xen/lib/x86/cpuid.h          |   7 ++
 xen/lib/x86/cpuid.c                      |  39 +++++++++
 6 files changed, 162 insertions(+)

diff --git a/tools/include/xenguest.h b/tools/include/xenguest.h
index 3462d27516..e8b0d3ff16 100644
--- a/tools/include/xenguest.h
+++ b/tools/include/xenguest.h
@@ -830,6 +830,9 @@ int xc_cpu_policy_apply_featureset(xc_interface *xch, xc_cpu_policy_t *policy,
                                    const uint32_t *featureset,
                                    unsigned int nr_features);
 
+/* Sanitize a policy: can change the contents of the passed policy. */
+void xc_cpu_policy_sanitize(xc_interface *xch, xc_cpu_policy_t *policy);
+
 int xc_get_cpu_levelling_caps(xc_interface *xch, uint32_t *caps);
 int xc_get_cpu_featureset(xc_interface *xch, uint32_t index,
                           uint32_t *nr_features, uint32_t *featureset);
diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
index 8bc7bd7224..c630dd8a73 100644
--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -688,3 +688,8 @@ int xc_cpu_policy_apply_featureset(xc_interface *xch, xc_cpu_policy_t *policy,
 
     return 0;
 }
+
+void xc_cpu_policy_sanitize(xc_interface *xch, xc_cpu_policy_t *policy)
+{
+    x86_cpuid_policy_shrink_max_leaves(&policy->cpuid);
+}
diff --git a/tools/libs/light/libxl_cpuid.c b/tools/libs/light/libxl_cpuid.c
index 556e8f41a7..c7294680d4 100644
--- a/tools/libs/light/libxl_cpuid.c
+++ b/tools/libs/light/libxl_cpuid.c
@@ -689,6 +689,13 @@ int libxl__cpuid_legacy(libxl_ctx *ctx, uint32_t domid, bool restore,
         goto out;
     }
 
+    /*
+     * Do not attempt any modifications if creating a policy that aims to be
+     * compatible with pre-4.13 Xen versions.
+     */
+    if (!restore)
+        xc_cpu_policy_sanitize(ctx->xch, policy);
+
     r = xc_cpu_policy_set_domain(ctx->xch, domid, policy);
     if (r) {
         LOGED(ERROR, domid, "Failed to set domain CPUID policy");
diff --git a/tools/tests/cpu-policy/test-cpu-policy.c b/tools/tests/cpu-policy/test-cpu-policy.c
index 686d7a886c..20419a6108 100644
--- a/tools/tests/cpu-policy/test-cpu-policy.c
+++ b/tools/tests/cpu-policy/test-cpu-policy.c
@@ -8,10 +8,13 @@
 #include <err.h>
 
 #include <xen-tools/libs.h>
+#include <xen/asm/x86-defns.h>
 #include <xen/asm/x86-vendors.h>
 #include <xen/lib/x86/cpu-policy.h>
 #include <xen/domctl.h>
 
+#define XSTATE_FP_SSE  (X86_XCR0_FP | X86_XCR0_SSE)
+
 static unsigned int nr_failures;
 #define fail(fmt, ...)                          \
 ({                                              \
@@ -671,6 +674,103 @@ static void test_msr_get_entry(void)
     }
 }
 
+static void test_cpuid_maximum_leaf_shrinking(void)
+{
+    static const struct test {
+        const char *name;
+        struct cpuid_policy p;
+    } tests[] = {
+        {
+            .name = "basic",
+            .p = {
+                /* Very basic information only. */
+                .basic.max_leaf = 1,
+                .basic.raw_fms = 0xc2,
+            },
+        },
+        {
+            .name = "cache",
+            .p = {
+                /* Cache subleaves present. */
+                .basic.max_leaf = 4,
+                .cache.subleaf[0].type = 1,
+            },
+        },
+        {
+            .name = "feat#0",
+            .p = {
+                /* Subleaf 0 only with some valid bit. */
+                .basic.max_leaf = 7,
+                .feat.max_subleaf = 0,
+                .feat.fsgsbase = 1,
+            },
+        },
+        {
+            .name = "feat#1",
+            .p = {
+                /* Subleaf 1 only with some valid bit. */
+                .basic.max_leaf = 7,
+                .feat.max_subleaf = 1,
+                .feat.avx_vnni = 1,
+            },
+        },
+        {
+            .name = "topo",
+            .p = {
+                /* Topology subleaves present. */
+                .basic.max_leaf = 0xb,
+                .topo.subleaf[0].type = 1,
+            },
+        },
+        {
+            .name = "xstate",
+            .p = {
+                /* First subleaf always valid (and then non-zero). */
+                .basic.max_leaf = 0xd,
+                .xstate.xcr0_low = XSTATE_FP_SSE,
+            },
+        },
+        {
+            .name = "extd",
+            .p = {
+                /* Commonly available information only. */
+                .extd.max_leaf = 0x80000008,
+                .extd.maxphysaddr = 0x28,
+                .extd.maxlinaddr = 0x30,
+            },
+        },
+    };
+
+    printf("Testing CPUID maximum leaf shrinking:\n");
+
+    for ( size_t i = 0; i < ARRAY_SIZE(tests); ++i )
+    {
+        const struct test *t = &tests[i];
+        struct cpuid_policy *p = memdup(&t->p);
+
+        p->basic.max_leaf = ARRAY_SIZE(p->basic.raw) - 1;
+        p->feat.max_subleaf = ARRAY_SIZE(p->feat.raw) - 1;
+        p->extd.max_leaf = 0x80000000 | (ARRAY_SIZE(p->extd.raw) - 1);
+
+        x86_cpuid_policy_shrink_max_leaves(p);
+
+        /* Check the the resulting max (sub)leaf values against expecations. */
+        if ( p->basic.max_leaf != t->p.basic.max_leaf )
+             fail("  Test %s basic fail - expected %#x, got %#x\n",
+                  t->name, t->p.basic.max_leaf, p->basic.max_leaf);
+
+        if ( p->extd.max_leaf != t->p.extd.max_leaf )
+             fail("  Test %s extd fail - expected %#x, got %#x\n",
+                  t->name, t->p.extd.max_leaf, p->extd.max_leaf);
+
+        if ( p->feat.max_subleaf != t->p.feat.max_subleaf )
+             fail("  Test %s feat fail - expected %#x, got %#x\n",
+                  t->name, t->p.feat.max_subleaf, p->feat.max_subleaf);
+
+        free(p);
+    }
+}
+
 static void test_is_compatible_success(void)
 {
     static struct test {
@@ -787,6 +887,7 @@ int main(int argc, char **argv)
     test_cpuid_deserialise_failure();
     test_cpuid_out_of_range_clearing();
     test_cpuid_get_leaf_failure();
+    test_cpuid_maximum_leaf_shrinking();
 
     test_msr_serialise_success();
     test_msr_deserialise_failure();
diff --git a/xen/include/xen/lib/x86/cpuid.h b/xen/include/xen/lib/x86/cpuid.h
index 050cd4f9d1..86cda38986 100644
--- a/xen/include/xen/lib/x86/cpuid.h
+++ b/xen/include/xen/lib/x86/cpuid.h
@@ -386,6 +386,13 @@ void x86_cpuid_policy_fill_native(struct cpuid_policy *p);
  */
 void x86_cpuid_policy_clear_out_of_range_leaves(struct cpuid_policy *p);
 
+/**
+ * Shrink max leaf/subleaf values such that the last respective valid entry
+ * isn't all blank.  While permitted by the spec, such extraneous leaves may
+ * provide undue "hints" to guests.
+ */
+void x86_cpuid_policy_shrink_max_leaves(struct cpuid_policy *p);
+
 #ifdef __XEN__
 #include <public/arch-x86/xen.h>
 typedef XEN_GUEST_HANDLE_64(xen_cpuid_leaf_t) cpuid_leaf_buffer_t;
diff --git a/xen/lib/x86/cpuid.c b/xen/lib/x86/cpuid.c
index 924f882fc4..6a943cd91b 100644
--- a/xen/lib/x86/cpuid.c
+++ b/xen/lib/x86/cpuid.c
@@ -236,6 +236,45 @@ void x86_cpuid_policy_clear_out_of_range_leaves(struct cpuid_policy *p)
                 ARRAY_SIZE(p->extd.raw) - 1);
 }
 
+void x86_cpuid_policy_shrink_max_leaves(struct cpuid_policy *p)
+{
+    unsigned int i;
+
+    p->basic.raw[0x4] = p->cache.raw[0];
+
+    for ( i = p->feat.max_subleaf; i; --i )
+        if ( p->feat.raw[i].a | p->feat.raw[i].b |
+             p->feat.raw[i].c | p->feat.raw[i].d )
+            break;
+    p->feat.max_subleaf = i;
+    p->basic.raw[0x7] = p->feat.raw[i];
+
+    p->basic.raw[0xb] = p->topo.raw[0];
+
+    /*
+     * Due to the way xstate gets handled in the hypervisor (see
+     * recalculate_xstate()) there is (for now at least) no need to fiddle
+     * with the xstate subleaves (IOW we assume they're already in consistent
+     * shape, for coming from either hardware or recalculate_xstate()).
+     */
+    p->basic.raw[0xd] = p->xstate.raw[0];
+
+    for ( i = p->basic.max_leaf; i; --i )
+        if ( p->basic.raw[i].a | p->basic.raw[i].b |
+             p->basic.raw[i].c | p->basic.raw[i].d )
+            break;
+    p->basic.max_leaf = i;
+
+    for ( i = p->extd.max_leaf & 0xffff; i; --i )
+        if ( p->extd.raw[i].a | p->extd.raw[i].b |
+             p->extd.raw[i].c | p->extd.raw[i].d )
+            break;
+    if ( i | p->extd.raw[0].b | p->extd.raw[0].c | p->extd.raw[0].d )
+        p->extd.max_leaf = 0x80000000 | i;
+    else
+        p->extd.max_leaf = 0;
+}
+
 const uint32_t *x86_cpuid_lookup_deep_deps(uint32_t feature)
 {
     static const uint32_t deep_features[] = INIT_DEEP_FEATURES;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 10:09:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 10:09:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258085.444041 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Ox9-00044h-0R; Mon, 17 Jan 2022 10:09:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258085.444041; Mon, 17 Jan 2022 10:09:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Ox8-00044a-T0; Mon, 17 Jan 2022 10:09:30 +0000
Received: by outflank-mailman (input) for mailman id 258085;
 Mon, 17 Jan 2022 10:09:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pHGG=SB=citrix.com=George.Dunlap@srs-se1.protection.inumbo.net>)
 id 1n9Ox7-00044U-VR
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 10:09:30 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8c172e08-777d-11ec-a115-11989b9578b4;
 Mon, 17 Jan 2022 11:09:26 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8c172e08-777d-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642414166;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=xFi329BGwF0h+A3uTscsqVT2GV06GQc/VORl0i3aitE=;
  b=JmYepinEDFtCLzeBZitt44lrGw9YZsx46QR9hajxpEHOpkz7kglg0qv4
   1KM/EP2Z/vyovSktjfs2MXOoFuQLD8YDgnAq02CKMI6+yY/TvAbERgbaO
   FWJB25sFueHJAe3nbiexmxFTA/ddaG2REq6NZD1FzSVSoFVPNgnywfy4e
   c=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: 5lEwLj4JH2OpLv2bqSE52uKakC9GF5WXUkmZEcu6xA1dpwQBk+NfbXiBXLEuQAyjQ8CM+PpR3r
 pITqXAiZgBHS5JFPc6eWoKYUlwKJTCwkoOYq1UfYGpNU1syoA17ese8hKi37G3m2ydRkf1334H
 b7Yo2ad6n9hVSv+HeTKhfUhq/z4w4aVAbyYB5ItXDPcC9G2NGf+1sFdAUyHrWJPbdc4xITo91o
 2aiDllzh93hzdXr8O2VJjETfp9+O7++cAv27za+FHsrjrIlPpk3H2bfopbVGGiifLGCrpsALwX
 sADc1ZFdaCU7U1liUKxeXPUg
X-SBRS: 5.2
X-MesageID: 64270758
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:OEMue6OnSew7pR/vrR0FkMFynXyQoLVcMsEvi/4bfWQNrUpz0TEHn
 GYdCzjVP/iDZ2uhf9lyb4XkpBwCvJWBn9ZqHQto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdpJYz/uUGuCJQUNUjMlkfZKhTr6UUsxNbVU8En150Es8w7dRbrNA2rBVPSvc4
 bsenOWHULOV82Yc3rU8sv/rRLtH5ZweiRtA1rAMTakjUGz2zhH5OKk3N6CpR0YUd6EPdgKMq
 0Qv+5nilo/R109F5tpICd8XeGVSKlLZFVDmZna7x8FOK/WNz8A/+v9TCRYSVatYozKvzs1Tw
 8pkicKpDhgEHILNvf0PVTANRkmSPYUekFPGCX22sMjVxEzaaXr8hf5pCSnaP6VBpLwxWzsXs
 6VFdnZdNXhvhMrvqF6/YsZhgd4sIY/HIYUbs2lIxjDFF/c2B5vERs0m4PcGgG1v3p8TTZ4yY
 eIeNAFqMFfyZCd0GRQwGrMds8Gu22DWJmgwRFW9+vNsvjm7IBZK+LrwNNvYfPSaSMMTmVyXz
 krd5HjwCBweMN2ZyBKG/2iqi+uJmjn0MKoNEJWo+/gsh0ecrkQJDwYcT1y8ov+RhUu3WtYZI
 EsRkgI+oK53+EG1Q93VWxyjvGXCrhMaQ8BXEeAx9EeK0KW8ywSTC3UATzVBQMc7r8JwTjsvv
 mJlhPuwW2Yp6ufMDyvAqPHE9lteJBT5M0cFQ34ZbwAayuW9ucYsozDgT/N6Aqic24id9S7L/
 xiGqy03hrM2hMEN1rmm8V2vvw9AtqQlXSZuuFyJAzvNAhdRIdf8Otf2sQSzAeNodd7BFjG8U
 G44d99yBQzkJbWEj2SzTeoEB9lFDN7VYWSH0TaD83TMnglBGkJPn6gNulmSx28za67onAMFh
 meJ42u9A7cJbROXgVdfOd7ZNijT5fGI+S7Zfv7VdMFSRZN6aRWK+ipjDWbJgTy3yxV8yvFjZ
 cnLGSpJMZr8If46pNZRb71MuYLHOwhknT+DLXwF50nPPUWiiI69Fu5ebQrmghER56KYugTFm
 +uzxOPRoyizpNbWO3GNmaZKdAhiBSFiWfje9pILHsbefFsOMDxxWpf5nOJ6E6Q4zvs9qws91
 iznMqOu4ACh1SSvxMTjQi0LVY4Dqr4k/C1rZnJ9bA/4s5XhCK72hJoim1IMVeBP3MRozOJuT
 ulDfMOFA/9VTS/A9ShbZp74xLGOvjz77e5XFyb6MjU5YbB6QAnFpo3tcgf1rXFcBSurr8ou5
 ban01qDE5YEQg1jCufQae6ukAzt7SRMxroqUhuaOMRXdWXt7JNud377gMgoLpxeMh7E3Dabi
 VqbWE9KuenXroYp29DVnqTY/ZyxGu5zExMCTWnW5Lq7LwfA+W+nzdMSWeqEZ2mFBmj15L+jd
 aNeyPSlaK8Lm1NDsoxdFbd3zP1hu4uz9uEClgk9RSfFdVWmDL9kM0Kq58gXu/0f3KJdtCu3R
 lmLpotQN4KWNZ63C1UWPgckMLiOjKlGhjnI4P0pC0zm/ysrrqGfWEBfMhTQ2ixQKLx5bNEsz
 es74ZNE7gW+jlwhM8qcjzAS/GOJdyRSX6Iiv5AcIYnqlgt0lQ0SPc2CUnf7sMOVdtFBEkg2O
 TvF1qPNioNVylfGb3duR2PG2vBQhMhWtR1HpLPYy49lRjYRaicL4SBs
IronPort-HdrOrdr: A9a23:CK1r7KzX7T4fZsapGvpkKrPxiOskLtp133Aq2lEZdPULSKOlfp
 GV8MjziyWYtN9IYgBcpTiBUJPwJE81bfZOkMcs1MSZLXXbUQyTXcBfBOrZsnLd8kjFmNK1up
 0QCpSWZOeAbmSSyPyKmjVQcOxQgOVvkprY/ds2pk0FJWoBCsFdBkVCe32m+yVNNVN77PECZf
 6hD7981lydkAMsH6OG7xc+Lor+juyOsKijTQ8NBhYh5gXLpyiv8qTGHx+R2Qpbey9TwJ85mF
 K10DDR1+GGibWW2xXc32jc49B9g9360OZOA8SKl4w8NijssAC1f45sMofy/gzd4dvfrWrCou
 O85CvIDP4DrU85uVvF+CcF7jOQlArGLUWSkWNwz0GT+vARDwhKdPapzbgpDCcxrXBQ4e2UmZ
 g7r16xpt5ZCwjNkz/64MWNXxZ2llCsqX5niuILiWdDOLFuIoO4PeQkjTJo+bo7bWrHAbocYa
 JT5QDnlYJrWELfa2qcsnhkwdSqUHh2FhCaQlIassjQ1zRNhnh2w0YR2cRaxx47hd4AYogB4/
 6BPrVjlblIQMNTZaVhBP0ZSc/yDmDWWxrDPG+bPFyiHqAaPHDGrYLx/dwOlayXUY1NyIF3lI
 XKUVteu2J3c0XyCdeW1JkO6RzJSHXVZ0Wl9iif3ekOhlTRfsuYDcSzciFYryL7mYRtPiTyYY
 fHBK5r
X-IronPort-AV: E=Sophos;i="5.88,295,1635220800"; 
   d="scan'208";a="64270758"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HnWmOA46/nq5Rd8KkXnTis+EX1fV579tfl11B5aDj+jgs7clNQjWyVTAolOqbH5IAchOlm7X4rWFEYemb2jycMbAVpAEvlpVj829HwRdM2qSmCPLenGUS+MXpbs4YkzuMNhV/LIkRRmIQyw+akycuCBd1npe6hNMd82HEqVB/5EBe7XuRiYuJUk3JvPiUgKzKc9/uwMt3DyBl+07iIpR1qXQtxwUaI2/nz2AA1JlM0U2559OWM8YyIdHCNqXO+cSwe6S7uQhPdp7+S23cLsE23K0VRjidejnKstsz6a/txYsB8OmUrTW7Qb5Rjm/wPJTNXBiUkFz+xdDVP6Q6DN1qg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xFi329BGwF0h+A3uTscsqVT2GV06GQc/VORl0i3aitE=;
 b=Q1/Z+IpwSZSFUROBKS+qRAnN45qYkmrCDuYBoqAkqaVDvZvXbtKIjY6Utli1Kb/xwJWCtt5zWkJUQ1wSskVJI/vaoxIcnBiP7mxMP87bm6M9axlq5Sj5xTmwq8OsF11q/zGo+LsPcxJgzwrcagCmnnhDpa7FkCnalqotla/5iZed6r66BySx7Gfd0mQMOK5mCTfQhN656WGq2NIb0SQVw6HHJ9TNa7yzZ/fJwuiCGwOjBrm0sX9XhuUwJD/CwK4hltmdSL/viVcyTGZJDNiWOn3y+BqHghq6ZSWR9lsSkCyW5A1p5bMw7NNSZOH77jyNFzuO94wZvmTJs37eBOevVg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xFi329BGwF0h+A3uTscsqVT2GV06GQc/VORl0i3aitE=;
 b=R8KTKNp3UnnONNLC+jPr+KCuYfydO5aLyxEwKweOIPxtW7nPBC+8fBS/prpU1EzHiKCKtyg8nXQF/VafezW+cK3qA1/BfUHSZ+IHT0uNRRpa5Yzp4iHOext5rwjMuLqcqAZjlf/SNIj3JCRIhN7GmC8JcQSQAUpbDYg1BA4DyFo=
From: George Dunlap <George.Dunlap@citrix.com>
To: Nick Rosbrook <rosbrookn@gmail.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "Andrew
 Cooper" <Andrew.Cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>, "Julien
 Grall" <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>
Subject: Re: [PATCH] MAINTAINERS: update my email address
Thread-Topic: [PATCH] MAINTAINERS: update my email address
Thread-Index: AQHYCWlKJtQQgPtdQU64QT/hPdjr9axnAb4A
Date: Mon, 17 Jan 2022 10:09:16 +0000
Message-ID: <0E37586A-9D88-415D-83E5-1DF57410718A@citrix.com>
References: <20220114170733.55750-1-rosbrookn@gmail.com>
In-Reply-To: <20220114170733.55750-1-rosbrookn@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3654.60.0.2.21)
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: e5ffd0e3-3a38-488c-350f-08d9d9a16bc9
x-ms-traffictypediagnostic: BN6PR03MB2849:EE_
x-microsoft-antispam-prvs: <BN6PR03MB284924F3B7DDA6002BC388C499579@BN6PR03MB2849.namprd03.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:651;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: b/S6tCQv9xPIiORdFuB5PNVyr33ytiLJwpa7LvPjbKo/hGSViRhywRk9UnUjKmw47sgVAPp1Jdj7/+L9p3dy27egwWmsiBPLKJsV1/wxa153RrDJbc1CqFoQSh8RriU3lVuQlLmEteb0EMP02ioWDiWyIcBXACTjaYU8WQ0yp0AIpJ92YKyhWsWv1tFCvRsnpHOhpamcYCDlsiuWS0SByq6G6tGupLqItHTMmkTWPxD7ft0p5l7EmSdH0MurH7LUQlHiT9F0W1RC0C6Z3Pe4Gxkjz6/Kr2lQGfcagaY1zG/OsNA6dMXyMCQqdcBeIA8boCX72u1Dmy5Y6IjiL5Lec+GTVQW5lmIrsckXxkfQxaDPrNm65k9aBu3l5cSO61u1i2nwcnHbRuLCEBiewI5p8/T/VNizTUfOckytt/sU7P6QFpLa6yfVDiN7SmmWgpJswx0WNiTMgSqcB0X0K8sFKJvz2dyz6dwJSR8dloRegIPSX5uyTSNgKqo7APNNzoT6NOb0qagqkr3bXoyPtcM4UeXUxhyi7ugFsi9h9FnOj2cA/qVeuFARJqNcJ2s29blhk1mdHCsWK/3qJBrv9sWP2EQ1aTFxO6UQDAmhV2W3A49BNvx34r2Tft12KUfD+wLnOi/GORqi6j7+xDGImB6EQ2T9rjFIcRhrpnvBariG/g4JjWixabcMWTTT0+upwgunJIe9DlVQ+uwjU20Jui7rIpBb3f3YWJgm7k+MFsuu2vm50klTSsmQt3oJSU8edJg+yZWlnnlMgPugNb7+WBhYVw==
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR03MB5669.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(186003)(6512007)(26005)(6486002)(2616005)(71200400001)(36756003)(53546011)(6506007)(82960400001)(6916009)(4326008)(8676002)(8936002)(2906002)(86362001)(38070700005)(66476007)(76116006)(91956017)(508600001)(5660300002)(38100700002)(66556008)(64756008)(66446008)(54906003)(66946007)(122000001)(33656002)(558084003)(316002)(356934004)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?HjMQjVxArLC6E0c7nCm71OZKkIDOkFNS6Mypa7e4zAFlVfW/iHf9tQ+dQPJM?=
 =?us-ascii?Q?ls66IEB/X7Jz9RvL+cMrj7gxPaDfWYYnx/X96UcanR8roZgJxZKPfsfdCL9P?=
 =?us-ascii?Q?zKRdli/O5e0DDr9GsCuJYPlAj4Wpv1cqESr9PiRZCsBAFXhyx+pxX8cfX459?=
 =?us-ascii?Q?mpkeGlDKScFKa4M+wxW6cTFxUKJ+nlLLcLZRXiWHM1HmG/liJKrDclI2Ck8w?=
 =?us-ascii?Q?bY8RCgcRwHqeqq1Tam4Oxb+EZJ3w9YP6+5s7adoLMVDXWBjajUn73kNTqrQP?=
 =?us-ascii?Q?DKTLdR5HXlcSBAY76J+SQe7Vf+0uR5mWxScQ9iVXw4lo+Y5gHn9fq80JFF0K?=
 =?us-ascii?Q?sKv2bRo6J1LB6jKupRfPz6+dB1ysvbnW3NFbVCmOzY6U/zgBZKPrRGdW/Jym?=
 =?us-ascii?Q?BIqHogSDquJwhT0lZNJ/ULniZ51+3x4eEcHw9Y9RrB1n06cLBMijw1HvWfCz?=
 =?us-ascii?Q?7nBDxEYP7SocyPeguobfYrfM8i/xuEqIKKStsYphvwCaKADyjHUqnjgpou+b?=
 =?us-ascii?Q?DajJOamj/N22cdTKOvebAfh0w85wG0m7AE5jR3FI6AQU9onxqWaK7qiKxIqc?=
 =?us-ascii?Q?iQNg2PVjstC27tlVxOtUMNBXHlC3CFZyY//V5DAJzxIspUfsy8cHIllKh4ES?=
 =?us-ascii?Q?73XMziZ5I/iQsBX64LAJ/VrleLrdS7ve48WnNtoJaY6GuDz8G8bWdJwD8k34?=
 =?us-ascii?Q?2zpUj+opcrwH8vSKJrFIWVNbSpt6R07NqNNAF8m1CUNbNnIuMw7xRiVdOX/I?=
 =?us-ascii?Q?NXEZf4NGhkRl1F3va5szJFF3AwOHou8i6YUByI/47MzI6Pw9ACllFXqhqdQp?=
 =?us-ascii?Q?MP3Mh6Fp5q4ZklZ/mZPw+L1fMUSDF7qA8Gkh29b3matJhPwNs/zeDCYQRTtU?=
 =?us-ascii?Q?GiA9nNuUzgd9RcEoArxnjmjgwRQO5bqncIWzM7kqTrHt+orF2OreAQVEwkVO?=
 =?us-ascii?Q?m97l2zK/yIFBRAITb5G7iT2ck7S9K6O3BARadUDyYFUtit7T/IhiNxjtRbIR?=
 =?us-ascii?Q?TnMhD/0mhyS5/MjuUpY3R+QORbxS4OSBdLbdssHLrUCJ8DC0WbmnUdW5aL4o?=
 =?us-ascii?Q?ayQ25m+bS7esl/XvpeQTjwrsS7wzbjgrsgE6TwLqNDRmYxHMnXkPPP28a/uu?=
 =?us-ascii?Q?FZoTaBshEDmoP9YrpKrde/PHOCRoO35GLl/+AHqiAJHxWtIGInzyV4+j/gdH?=
 =?us-ascii?Q?ECkjje3WoPLqTByZ7GI3wn1nMSwU/ICtq+Hc2nWNVFQGKflDlFKd3tBgcBRC?=
 =?us-ascii?Q?S1Hx/S+u7T/bjfvc76UvVBXM8KL+tbJ7k4/6RIucFfvGXtUcGOxivNiWWs3k?=
 =?us-ascii?Q?8+ozVxVAUJ0tXH2onm441exIcHrirmPzFaAb+ejqucf+4O/Ne/Kqxcada4Xs?=
 =?us-ascii?Q?WuSCpxyuJHZ5YQOhTzT/U4E59ZIixwRm8fYK+RHe5MRIuHnDqjHELjwWT6WY?=
 =?us-ascii?Q?VeoUvqDWcS00SH6kW5uTQEwJyBa1Xco3ZqWPC4TMJg7Wu+T7/v/5IqDJKgEE?=
 =?us-ascii?Q?3r/53XNVjyhE3V8JzX5T8nQFFaW3eS6DtlqnrcQIVhdjnfnR9tG53mFqsosi?=
 =?us-ascii?Q?aZ/svgJXtbEbRgsk7Wb13JNkNpOFhFpDvS/mntg+KSHSvy30u+M2yKfFAitK?=
 =?us-ascii?Q?AI6xxgWWmVG8C2gbevroAPXhh2C6nVRhZ7qdAb6sa07aUlZJeyShS+G+Vmdu?=
 =?us-ascii?Q?pfa22paH91+7COiQJ1pmqURz+ck=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <E55A2333CD3B0A408594C9CDAA1B30DA@namprd03.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PH0PR03MB5669.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e5ffd0e3-3a38-488c-350f-08d9d9a16bc9
X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jan 2022 10:09:16.9697
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 16SmMmhcHuhtyEXprwtCmc2cVhSX1ZpB7+3cfio++R04hML5sBL/zIjoiLV8WtOIrlab5Pbt6vZ/u2bnQ07MJ48dfxoaZ1sB4JgAWFF5SZk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR03MB2849
X-OriginatorOrg: citrix.com



> On Jan 14, 2022, at 5:07 PM, Nick Rosbrook <rosbrookn@gmail.com> wrote:
>=20
> I am no longer an employee at AIS. Use my personal email address
> instead.
>=20
> Signed-off-by: Nick Rosbrook <rosbrookn@gmail.com>

Reviewed-by: George Dunlap <george.dunlap@citrix.com>



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 10:22:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 10:22:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258089.444052 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9P9R-0006KM-5J; Mon, 17 Jan 2022 10:22:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258089.444052; Mon, 17 Jan 2022 10: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 1n9P9R-0006KF-1T; Mon, 17 Jan 2022 10:22:13 +0000
Received: by outflank-mailman (input) for mailman id 258089;
 Mon, 17 Jan 2022 10:22:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SSOx=SB=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1n9P9Q-0006K9-2m
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 10:22:12 +0000
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur03on0624.outbound.protection.outlook.com
 [2a01:111:f400:fe0a::624])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 54a924fb-777f-11ec-a115-11989b9578b4;
 Mon, 17 Jan 2022 11:22:11 +0100 (CET)
Received: from AM5P194CA0018.EURP194.PROD.OUTLOOK.COM (2603:10a6:203:8f::28)
 by DB7PR08MB4602.eurprd08.prod.outlook.com (2603:10a6:10:73::25) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.9; Mon, 17 Jan
 2022 10:22:07 +0000
Received: from VE1EUR03FT044.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:203:8f:cafe::88) by AM5P194CA0018.outlook.office365.com
 (2603:10a6:203:8f::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.10 via Frontend
 Transport; Mon, 17 Jan 2022 10:22:07 +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.4888.9 via Frontend Transport; Mon, 17 Jan 2022 10:22:07 +0000
Received: ("Tessian outbound f493ab4f1fb8:v110");
 Mon, 17 Jan 2022 10:22:07 +0000
Received: from 05e3f173c1a6.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 3ECFD60F-0A6D-4AA9-A986-0CBC126E1DB5.1; 
 Mon, 17 Jan 2022 10:22:00 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 05e3f173c1a6.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 17 Jan 2022 10:22:00 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by VE1PR08MB4685.eurprd08.prod.outlook.com (2603:10a6:802:ae::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.10; Mon, 17 Jan
 2022 10:21:56 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::c0c1:d43a:acf3:a59d]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::c0c1:d43a:acf3:a59d%4]) with mapi id 15.20.4888.013; Mon, 17 Jan 2022
 10: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>
X-Inumbo-ID: 54a924fb-777f-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6PTwpnwexCCnE1cJ//IMYJaY9lwOr1UoZQNknSCoboY=;
 b=BJHwBJ++Vhx6tt402lddVDNCLsdLGQ/+vlO47gQ4ZJpZsar4uvdX04Vxtqs0WkS2AZ3kvh1D1OwWy8hr5HuOzRuU7UExzbDUueHxcqjpz7AiYBE33uKkjxfvqPPXcJQaEdrIXt4wnIS/src8olUFe5YS4Zyi+TCXX9cCwQTYxD0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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: 2044f934f16f69b0
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EQZTKl2j8gnyDKIEtQYRGLtLT9f2FedGsxZtNWUEi0Jm7Zf3p/76nLDhjsTze9WY3k9RJ9LxVEiaC+49lhOa4PZkxnTqkopg4t7u4MtSFrU+KAAWKZUpbja9LuNXKvSg0YbfGZvzdeaUN/Re++M/qLkXUo8LpcmoOE2lVt6YJB02hal7MpevXjUDtFzohiuQIQ7clXFDXARgp6snDxS92AjAfWMnDJFeDAvdB0hFNA723BH0Lqa9N022aDsn6f9HRtQS6/kpjyZZmgJuPhT5APLW2CKVU3Zcg3hw7k7uJRlABFF4X9RaBmGB0S/DKX5itIz/aVUYYr/kzXvSNgr6iA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6PTwpnwexCCnE1cJ//IMYJaY9lwOr1UoZQNknSCoboY=;
 b=CTKLPHtEaMhKZEdW6qucLHPXJBZQfCV0xmg7cX4F5R/68SNR+GyGHH4sAvgGwaXN2s0LRI9QiLzZ3hHsuj7GcKhEUMO4KGdDwaMx8cylAyyaCvHFgsRY9wJp3cqCrmoAgBsQjRaV7sEwHtwT4fXD4p7fSdy05NksTzp8T74si22sE8L3rfkyU0gj1GuftcmIOITqXMGv9kkmOmux8Jx6s9jqNP1N1uT3MlCXI4wOvSd/Hjg8mPy0rYieNRdA+6Pq3ylvK2YSu83amZy4fCG/AZWIiBXDzRp/aSGIuFTVZonND1UEcJt6I3EO9MRNgDRxyDKUmmU6YucsjHyIdXYCgQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6PTwpnwexCCnE1cJ//IMYJaY9lwOr1UoZQNknSCoboY=;
 b=BJHwBJ++Vhx6tt402lddVDNCLsdLGQ/+vlO47gQ4ZJpZsar4uvdX04Vxtqs0WkS2AZ3kvh1D1OwWy8hr5HuOzRuU7UExzbDUueHxcqjpz7AiYBE33uKkjxfvqPPXcJQaEdrIXt4wnIS/src8olUFe5YS4Zyi+TCXX9cCwQTYxD0=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Nick Rosbrook <rosbrookn@gmail.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Jan
 Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH] MAINTAINERS: update my email address
Thread-Topic: [PATCH] MAINTAINERS: update my email address
Thread-Index: AQHYCWlQ7Wn/NVFPwk6SHdDVv/7d+KxnBUeA
Date: Mon, 17 Jan 2022 10:21:56 +0000
Message-ID: <E44AAA0C-25CF-4FE7-9915-FCA33F0BEAD9@arm.com>
References: <20220114170733.55750-1-rosbrookn@gmail.com>
In-Reply-To: <20220114170733.55750-1-rosbrookn@gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3654.120.0.1.13)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 01bc6120-1546-4b53-be4b-08d9d9a336d8
x-ms-traffictypediagnostic:
	VE1PR08MB4685:EE_|VE1EUR03FT044:EE_|DB7PR08MB4602:EE_
X-Microsoft-Antispam-PRVS:
	<DB7PR08MB46025C0A0EDC57A9EFE5C5D49D579@DB7PR08MB4602.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:478;OLM:478;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 /QkxgrhzI7c352ZiwhID90nXZa7efp4OWxYo6vmjLmqMwirNEKF27hwrsYEosk2GHq2zpa09/E3BIVsBmDWscTD7Sqydd7pJVYFzHkdFdhqrIL7+V7lMC3edglGPaNs+k1IjWZdjU+gG0lEWJO86q6tubaQHo7r1HEjVHuP6gLOEmt9g7PVqI1F7TwnFhyRKrB5vaoOpu3rhS8tBHqdoS6ekP18UlT56TMpAlIr3+Kwkdjv39i644slp76SuuPIf5YRaCr7Ifq1Pb4tcXDlwdQ8OHXK3Ov7i4ZzC2mHM1fL5bvVqdRvlUnJMYIEhPvOgpxmwmh/3qP6kr8nCYT5z3veWvxucKtPJGMniiKW8kCs5VXELw9/WIuz7aUr6hPF3eIj0SZAMGSepKqez+kyFhtUa8G8D6fqOH45Y/Wvacj/O+z4TXu2wqjqSzsZwgwC5jJuY3gOxTex0wWl+yntUhfX/T03r0QpTPAsnQInaZcAvZZ5ppVBySkfbuIrNnsulSOHkIzEPV5Tgkd3elvOrrpxM61i8nJeNDe+5oylXJASTxIKHm2igGamR+btVoDuLoRUhK0HUz2/gWBP1aDQhamCIfGL+53KIuknIX/HSkA5VZf2nEryszux8273ACJlarUQkiVPoosh0Wo4fB0bppHrZMijJ1UJh+D6Kn2vDODMMMrmCwINGB5YrAk41i+DJkgWPwTF76PMW6RZxD5EWWUKClgEAKLOZTHlRaqjINeQGBn+MBay/7vngytFfBlAodhGocAOHLYWYtMs60Ogr6g==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(6916009)(5660300002)(53546011)(2906002)(6506007)(316002)(4744005)(66946007)(66476007)(66446008)(8936002)(64756008)(66556008)(83380400001)(122000001)(26005)(186003)(91956017)(6486002)(8676002)(86362001)(36756003)(508600001)(71200400001)(2616005)(54906003)(33656002)(4326008)(38070700005)(76116006)(6512007)(38100700002)(356934004)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <34C9B4F89BFDE549A6BE77C20E63F1AD@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB4685
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT044.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	f80407ee-2d29-4ff3-b242-08d9d9a33086
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TdR+GyhSGBpLMh1KvRh8gXvGZ6lyPH3DFLKzI0ZWjSj3DYqbsiuUXqYCBw2dLdBi7zLkbQFsfxZim4t7YnZhbCxkHjYymC3zKwALyRrRaDmoiLg1LSLgkCfjG0io7kRLfY8GUOe5HSgT5Ugda05qY9T4fz47+1TyKTpkjV7Btf0rpTWs0jmHB1qS0Dbv11DuogoW1L+O7GciSgCYJNy/Pjgjtd7VKJ0do61F7h5XcmrLlZhgD95odOIE9v+2918buiQRH+zKJi5b11g+RanFRvDMIc+J8qvmMIyzHyL0yhB10JeCfM/sIXMA+nzSOaEU7UuPPZ1iN/GYVmkitEHd+ndaEmZ/5trlBwiP08FoPdWetT5ynAq+CLuWnOU+BwqcLM/7drSSC0auAvvBifJ1usa9dVgPfgosCe8byCOO86K2PryGVIgtKvI03IXmGiTI4WfTEKUcO8mxGW0CepJ921TLCkZU9jRFKRO5F9dE6IpIJPjY4ifeE2nhQjlvOqu0+Yh9p5Rb0BshbVOIMn4ICAKWf4leGeeLMwexBkeniP0RQYFma0ZvRr8O8Hm6pfC6MNBGoHTMXy+7sETazKJ2b6HgMCnGsAUIAXG6bVI/gfP42jSkEzA0oGi4eUWgARZK201578IbAuya1REusqEPTDSttG1qiBCf+q+uWM04Aw9bbLM1mBw3mVhjG1VutR8Xq6sDuhbWTdFLvYg0oWB7L1F7zJA1c0odGb7yRSdD+Vg=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(4744005)(5660300002)(26005)(70206006)(36756003)(8676002)(82310400004)(6506007)(47076005)(70586007)(4326008)(6862004)(86362001)(53546011)(54906003)(186003)(36860700001)(33656002)(336012)(6512007)(316002)(2906002)(508600001)(8936002)(6486002)(83380400001)(356005)(81166007)(2616005)(356934004);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2022 10:22:07.1623
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 01bc6120-1546-4b53-be4b-08d9d9a336d8
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: DB7PR08MB4602

Hi,

> On 14 Jan 2022, at 17:07, Nick Rosbrook <rosbrookn@gmail.com> wrote:
>=20
> I am no longer an employee at AIS. Use my personal email address
> instead.
>=20
> Signed-off-by: Nick Rosbrook <rosbrookn@gmail.com>

Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

> ---
> MAINTAINERS | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>=20
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 4a2884dfa7..feea7d14cf 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -302,7 +302,7 @@ F:	tools/debugger/gdbsx/
>=20
> GOLANG BINDINGS
> M:	George Dunlap <george.dunlap@citrix.com>
> -M:     Nick Rosbrook <rosbrookn@ainfosec.com>
> +M:	Nick Rosbrook <rosbrookn@gmail.com>
> S:	Maintained
> F:	tools/golang
>=20
> --=20
> 2.25.1
>=20
>=20



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 10:32:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 10:32:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258091.444062 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9PJD-0007n5-3M; Mon, 17 Jan 2022 10:32:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258091.444062; Mon, 17 Jan 2022 10:32: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 1n9PJD-0007my-06; Mon, 17 Jan 2022 10:32:19 +0000
Received: by outflank-mailman (input) for mailman id 258091;
 Mon, 17 Jan 2022 10:32:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ZUQe=SB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9PJB-0007ms-Sc
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 10:32:17 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bda1983d-7780-11ec-a115-11989b9578b4;
 Mon, 17 Jan 2022 11:32:16 +0100 (CET)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2052.outbound.protection.outlook.com [104.47.9.52]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-32-o30-2_7AOqSrc-r2smC8hQ-1; Mon, 17 Jan 2022 11:32:15 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by PA4PR04MB8061.eurprd04.prod.outlook.com (2603:10a6:102:bb::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Mon, 17 Jan
 2022 10:32:13 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.013; Mon, 17 Jan 2022
 10:32: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: bda1983d-7780-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642415536;
	h=from:from:reply-to:subject:subject: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=iJTv3lvJMS3Sd/lLe8RAePN9QmHhfw7Jcahlxzy1KOU=;
	b=VSjFnh2eVAu3uBRJx6GgsErROv9YmLHj0LZ9prBrsu+BGBAgBLxLAm5/gfIs/6PLoDkMLa
	agObkXZpWP1LPoS5yhJSIgU0r63G3QRuRlvyEtz1+GfJxGhuLQ8FEP57jiLDuWPWzmGEju
	733PSZSIeZxSgWX5TXWpEwXAC/sWBOo=
X-MC-Unique: o30-2_7AOqSrc-r2smC8hQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YGbN3ZjTCyMiN3fmPhNv35s0ZvxUBX21IQS9XOTYduqzRd+6zyDf+kuGEnf8BTmnPPtOGrBuROWaKOZWWGCdMSRdmDiTz1jBx+Zwez0b8+1zmXNE06u6EkARDdjfYpI1dbZMbSYlgfovL5IOT3p2DWfKtQdupWod3h9Pa78uji8Ns75c4vH08eQ3hYRQd9Iiq5QsHSTUfuYtMLDblfJVQJOPVo8gAF7VXpAhcOIYU95Uq94/YjEaBJc9Hm0usZhS71h05/feZ9i068AzMDBXzF7qFiIWwSPT23GMcl38VX3qqsmPUkAluJ/NQgqP5cuGmwrfH3Vb7acnJ3/Pkb12Ng==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iJTv3lvJMS3Sd/lLe8RAePN9QmHhfw7Jcahlxzy1KOU=;
 b=d254MCTXh9VNVHmL7aYLDwudTFo6KfizUE5oGlNxdTp7o02mdoYw/F7fplZDvUyBgicnbBYaTkqDlmuTqGuyJuWqdGQ2yBbcxfiIlBbbGUAYFC8aEHxzb3TocyMvQivogHO0WESpgM3dDMzPql29oJxOaY1PN3NZPYta0bRPgAW/2RmOYN5X9JA1PB3cMTyH9G4XUBrJ66dsoUQ/DVGtukO54mHTKVjETsYFERE1kyN2zM1KRwYE0g9WMJ5mzdwQsEM8fyJ4AHJQH/BWxsHqVfSIZuQYb1/OCUMMXhYKxqWtgtlQCEtFM0dErKvusDseRWHJaWAwHdwhJBs/2M0C3g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6f79f1e1-119b-b8fc-11a9-5f56bfc163e7@suse.com>
Date: Mon, 17 Jan 2022 11:32:11 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/APIC: no need for timer calibration when using TDT
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR0301CA0037.eurprd03.prod.outlook.com
 (2603:10a6:20b:469::22) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a8e2e9c0-6747-4f10-e8f6-08d9d9a49ff2
X-MS-TrafficTypeDiagnostic: PA4PR04MB8061:EE_
X-Microsoft-Antispam-PRVS:
	<PA4PR04MB80613CFE752E92EBB4DF4398B3579@PA4PR04MB8061.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:
	wWW+W9VdoNy4AzJOcUaPjuYFFSRbRdbCiNfSn0XT8Yp5lgcfzFiJeUsZMb/Ks17SF7csxxa8A1teTkH18N779eIYSSKaDm/SURqXOXgStIVptKwOiEzpFeQR2HDZNV7ZRlHaNAzvieX3Z6WsGDtfnJO9JRmZ2i+xteKxOgCEB91T4zIH62h+LWe1ujOAy81FeT658Py3Vuq9bkZyHBbXXQCDVIzTTtUG7AI+ke2q5fOPmOKhuFNUx/ZRG5wDj9YE/nEXTfIUxe+DGVC4bXnh2CcywWek9OjDuTvHNE40hf2Ls1FXmi/lA/i0Oe8j+h5ZOeRDhlDNHPEn+1Pb8JpKfzma+lj0MXRKMfguQor7K2KqZZ9bJdEDXNTMbjLQOADwFFnG0IAdZp+JaPCUv+NG5Mwp1C02T6TQxQNgxviqslz1LAUaryRVKcTU3L4O8b+b4+dCx6t0Ann3Rjl66YqSiNkm6m4801I7uivzp80obt9fYU52fxPjtvLytfO5wQ4uBaSZF7he2rIu+vP/mu9Tcgc1bI1yDq7nRZbkQtmxdPvmM0EXZIXOyLOt0B1VO5tr4XTV5H5/lZtWAENLQAzOu9jCXXcCjfR2gBDyt971pkshwaN4Zr0zel/MyL/p1/1LnzZiH9QwfN8PNmIh/ZgqcNjVjbls3SIin134dR5IejMnjMs++SmqjAHrYDEj48rsmZVr04ER/jQVqdxNTVPLmVjbR9zo90bjgX1ano0zwFc=
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)(5660300002)(8676002)(6506007)(26005)(38100700002)(8936002)(6486002)(2616005)(31696002)(86362001)(4326008)(66946007)(4744005)(6512007)(66476007)(66556008)(316002)(54906003)(6916009)(83380400001)(508600001)(2906002)(31686004)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d29hVVFkb0NCK3o5bmdhQXpKdXZ3MGFBWjFWTjNmREZQQlBoMERDQVRkVFhq?=
 =?utf-8?B?Und4cy8yMGhNUHBERG5CWHNVUDZoUlVNQllLdnRRWUEzTWRwUEZzWlhONElr?=
 =?utf-8?B?bTAva2hQT1dJTi9aS25UWTdLNVBRd1RxaU1MZ2JiMVV0OFd4SmEyNDZBdGRw?=
 =?utf-8?B?ZXZEWkpQWkJXY29XSy9DbjBsNENzOGFVbE92Nml1aEFOb3ZEM05vazFEd3VK?=
 =?utf-8?B?VHpoV1UvSnUwcWxPMUx2QWYzTk5OUFhOYXgyaFplZk5nc2R4TUFMRHQzOVl2?=
 =?utf-8?B?eForZS81WHdZQ0Y5aFdEU2xkSWxNZVBKZHdJVkdXT0V6dWgvc1ZiSVdkVHF5?=
 =?utf-8?B?dDk2U3dJbU9uK2hYWlQ0Wld6T0RBTUZYZTBLNUhxSE5tSnNkaFZyVW95M3ox?=
 =?utf-8?B?SjFxUkc1NCtCVXFIUmppL1Z1Z3oyWkJDQUovbGh4bE5Gd1dENVR4bzBobnNK?=
 =?utf-8?B?SXArd0g0TTlUWE5qWXdrNXZwWHpXMERrb1BLb3c5THJRcUFoSHNnUURBRUo1?=
 =?utf-8?B?eGVyYnhwemxieWxhengyci9IRlBEZ2Z4QmU0K3d0Um5ZQ2ZPQjZhRFFZNVND?=
 =?utf-8?B?VFBhYktoMVNleHhPdnpCNjNKYk5FWmVDSURmV1BETXV5aDRzU1BWQmdnV3pl?=
 =?utf-8?B?cW9EeWdQNmZnV0xBU241aUJ1R2ZYb1crcEYrWC9ETkFxdzliYWdYcTNRMmw2?=
 =?utf-8?B?L2hxSFRVSU9nVFhEUlFpbXNZK3cwcUxYdkdlRlRvSDJoN3V5dlVqSTNZMFpL?=
 =?utf-8?B?djl3c3RLMjA5NlppMWxyMDJ0WldMYTh3eFZodEF2MDVCa2JOQ3ZzcHZvSjZr?=
 =?utf-8?B?cDN1SE0vK3ZzUWY1WWE5TFhGc3NITnNjRkFKRkhPTmFuaGhCUUNoQUM1aVdJ?=
 =?utf-8?B?RmU4WDlBTHFWY1Z2eGNzQUNvbHZqcjZnMTlwL1FDYmFZVWExZ2dCVU1laTlx?=
 =?utf-8?B?OEVXL1dJd1YwRkFZcGhLd0R4TUJhVEF3bmlJekRQU01YbWRpd0dSZStFTHh1?=
 =?utf-8?B?NmNiSlcwYnMwNzlveXFaUlROK3lpa1EwTGFRVG56SHNlbHMxQUVNTjlUaG9l?=
 =?utf-8?B?VldsVHhCMVNjdzEyQUQvVENQZVdJQWN6TWRsYjI2REI5ckRGMWNIVGZiNnAx?=
 =?utf-8?B?SEQvMW9vckVycWU2ZXkrZ3dGYktYbm9IdG9TYjFpa0QrTEtyczR6c1QxRWVj?=
 =?utf-8?B?cjlack9PcU96dUh5Qmp3OEVCOTJ0SGNrMlZvajdOVXFDVXZTOGZTc1BEUVNa?=
 =?utf-8?B?UVJVTXMyWldVOExkL0E4QmtlSHZYbDhmUEc4Ky9ua2g2bmdQZkRScUVvUHJx?=
 =?utf-8?B?SXprelg3WmpnV09zNS80c1dKUUkxQmY5bUtEcFdkTXNobGJpbEdHd1RUdnVO?=
 =?utf-8?B?ZFp5K1lLai8rVm5HZE15eXJrOFhWMm5ER3E0TFMwVFFOTFI1WUcyZUdFUmVm?=
 =?utf-8?B?ZlNXTlBSUWRpTUZDLzNnaHRwaUxFbElLc0NwSnBhQUtaNFVKZFZlZ0ExNHBL?=
 =?utf-8?B?WVdkNHYraGNNc1dtZDU2Tm5ZTEdiNmRSOUJpVXBWR05UeVQzWm5LcEFDY1lp?=
 =?utf-8?B?RWR0Yy8zaG9YRFdiZ3g2dkcvN1Njb0RpWEdRTEFGZHVlc2VUeFdEOVlBU0tD?=
 =?utf-8?B?VTgwbzZpUUI5RXVxR3BqWjB5MkpCTS94MFEwdThWTkhZTVR5SlNUaXljTVhP?=
 =?utf-8?B?aXVoVGwxVFBJaEJXZWM1RVlrMGpCSktIM0h6T1hUc3I0aU0yZ1BYaTRkcXJk?=
 =?utf-8?B?RnJkem1JYWczaWpiTFByQVFPYWpUWGlPN0QrTFN2STc4VnE4VjFKS1g5aXVi?=
 =?utf-8?B?SldDK1JOREY2YkVHWHgvNFFIOVJoeTVkaGtMN3RRd2d0bmwwMzhpR0dXeEtG?=
 =?utf-8?B?d1JrN25wc25NbEh1L0ZTNHZONUI5VXNRYk9FZVBtenpEYkZyMkV1QlBwQ3lH?=
 =?utf-8?B?VDdaQWE2S1A4R2NkcjFLdk80aEJoVThXMVNPejN5a2ROekNkSGpjVEJwVUZp?=
 =?utf-8?B?MVgvMC9iMzdKdkVidkxxNXJRMFRtYm04ZWtLcmF1VXZvMGE1RUR1cTZpVU1S?=
 =?utf-8?B?QVdWU0hMcTNWRE1XaEdvcGpRNk5MT1d0QUxHRGswUVE3eDlxS09rL1loWjg2?=
 =?utf-8?B?eStzdEJST2NlSWdxb1VHcWV5bGdlMXZMVzlVRnU5YzkrcVh6M2pocUhybGpP?=
 =?utf-8?Q?mBzu9cc/7pmJSlGhDtcnnXY=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a8e2e9c0-6747-4f10-e8f6-08d9d9a49ff2
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2022 10:32:13.3075
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: k9Vc5hgyEj6klZp3lLmpqfpBdhknbIaEBVpQEcuYAWzHSqlGNpsue/5+30HsHPv/MUJ7ArJWD7d+VNGZOW3IHQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB8061

The only global effect of calibrate_APIC_clock() is the setting of
"bus_scale"; the final __setup_APIC_LVTT(0) is (at best) redundant with
the immediately following setup_APIC_timer() invocation. Yet "bus_scale"
isn't used when using TDT. Avoid wasting 100ms for calibration in this
case.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/apic.c
+++ b/xen/arch/x86/apic.c
@@ -1292,11 +1292,15 @@ void __init setup_boot_APIC_clock(void)
 
     check_deadline_errata();
 
+    if ( !boot_cpu_has(X86_FEATURE_TSC_DEADLINE) )
+        tdt_enable = false;
+
     local_irq_save(flags);
 
-    calibrate_APIC_clock();
+    if ( !tdt_enable || apic_verbosity )
+        calibrate_APIC_clock();
 
-    if ( tdt_enable && boot_cpu_has(X86_FEATURE_TSC_DEADLINE) )
+    if ( tdt_enable )
     {
         printk(KERN_DEBUG "TSC deadline timer enabled\n");
         tdt_enabled = true;



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 10:33:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 10:33:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258094.444073 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9PKG-0008PA-GX; Mon, 17 Jan 2022 10:33:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258094.444073; Mon, 17 Jan 2022 10:33:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9PKG-0008P3-DM; Mon, 17 Jan 2022 10:33:24 +0000
Received: by outflank-mailman (input) for mailman id 258094;
 Mon, 17 Jan 2022 10:33:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ZUQe=SB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9PKG-0008Ox-4S
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 10:33:24 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e5673353-7780-11ec-a115-11989b9578b4;
 Mon, 17 Jan 2022 11:33:23 +0100 (CET)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2050.outbound.protection.outlook.com [104.47.14.50]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-12-S_N6po9lOrG8jfAnsILlBw-1; Mon, 17 Jan 2022 11:33:21 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by PA4PR04MB8061.eurprd04.prod.outlook.com (2603:10a6:102:bb::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Mon, 17 Jan
 2022 10:33:20 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.013; Mon, 17 Jan 2022
 10:33:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e5673353-7780-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642415603;
	h=from:from:reply-to:subject:subject: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=9p2FnDlGq3VBWQOmMwyci8eqZUNpfuOw5fbZAPjHtec=;
	b=gXhosIYWv86JGcfDkow1uwgpFgCHk9rv2sGsJSppkr9Jufj+8RUh3nKlmE/wUVzJob0LFG
	+TKfez4Kud3P51OI10wAU5jUWxfZOEi7fa2R21UQzDKPYs9qm8fIMXES6QYd1qj8KhrjOq
	FTvOdh2NQpvx8TPbr/rsiDIRFPqMmEU=
X-MC-Unique: S_N6po9lOrG8jfAnsILlBw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CfObYwdVaSNb2BO9tDsRfmI5V//sQvqd34P1LD1ZQ+2XI2WAo8b+pT5Qw1N7YJsfm8EfqlHtPmKpf0xiZjpj+/7yKI8XqPofVL0yjJCful7zKLb9dy9IH6bnLjjVdWsD+Bj4Pcq/XAoE0RFVMvPYXWNXgSrdu0j9jNIF7EtvsycNb3kbOpkD3yFoKWRlyMLe24WPKlxe2Ib/YP8os0+XFPZ+xs8UZyjoURL34EWXCNpP2wmHVLJyaIiXJLMCkFJKI5j4d+2/HyIyA9OaHTxJe7ZcKhqP7bX7EdwWUHIxv1vn8+HIBydBcXtFKQ+fRcFkh8Asg2zONRRiUmIHZCBlPg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9p2FnDlGq3VBWQOmMwyci8eqZUNpfuOw5fbZAPjHtec=;
 b=BNrbCddovBo9lERnUDAnbLpvYKPNGCtQ8FY3ibKciAbCe9zALp/qRiA11oAhtVnAmks++X+TTGS5Tjjn49lmPtTz2jBtyHoUVNuJ3yTL0kmwEeyNSPW9wy8u21WsXCCIW4JSvydxTPQmkgRVo5qfjlozuFfPIEFgYvsbdd//DOWzATqYTI/Xgk41TJe8R71v+72lsAmee3nAutnyqHh47k5zae7zn9q8tHdqZp2xZXYpEhke4ccrw8kJMcmwWKwnYY8rkwn4CRgOJPGD/NeZogLj7RKsuAylQyeqktP+hEZqOKetc/IhBJe5puaCb8H/sysV4dWPMqhinUjL0m/7ew==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <362d1e97-c9c4-3d52-be6a-3fcd5fd0a27f@suse.com>
Date: Mon, 17 Jan 2022 11:33:10 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/APIC: drop 32-bit days remnants
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR0301CA0043.eurprd03.prod.outlook.com
 (2603:10a6:20b:469::35) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 88d1d4e7-778f-43a9-d10b-08d9d9a4c83d
X-MS-TrafficTypeDiagnostic: PA4PR04MB8061:EE_
X-Microsoft-Antispam-PRVS:
	<PA4PR04MB80610C305417E57FC62BEFC5B3579@PA4PR04MB8061.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:
	/fUHQfSlhgmNzrvcVlJi1TwEbQNMIkJfk7Bk0akpZoKsMaGF1DkTlnKpPM1O2NuqjHjdCGEzWitiUo3jfsjdSJhRY2lp5mw/TPw3qmg16/kD7q1qqoNUFsF5D5nu48HBH7JlUh151xKVDsk4fKh/nSY4G8d9GC0tDx9B7FZQifDbXiCOaKFyapkOS9AO5b1wv3AVYQxTNXjAKJEdy9Jt9qsbF+7o8pmqueQbHLNkKWBHxWbJ74VNCv/wykLU+NwAxmA4ceDJYLbIBD7+3DxXaqmrjDieXHhZ7WCAKhwNKEaPfm7H59mAZy+ciqHAyPvHN8IZOjDPy8CJhrcKMDPRFqxEBxxjGfrOMs/lXd5e14/QNtdu2l63Y5XrM+pMz0au8Ci/vdsrf3kPmweLlpji2oK1ha5n0R57Y+bAVIAJqFUiBcto9USJLsGdPdSNWbH4v2i/QgT/XMukRAbrsO/96Qlh06Gdm72/mAP3jWEpXl4V6/0zqjohJ6NPlGSnMUKE27JdyYnDC0JsCGQDs+skhzlsu7jhru7d9E7g/Hsyfz+OZ4x+g3G1pAK6TaoN3N9ZmrB874ZQt2h4dmZm7C4qWCYMZ/eOJZ0EU0mxjzs3qRGa8ZKILphI13aI0QI4P/dLmC4TwHkyqt1KV3IWjCm0rHHx7aFJL0h1cBEzXo8b+V9iHFFHPacuITO03g31VbiUB4pzCF3u4j6LUEBnBSnsE311OdTGvYoE15j/pNE0WvPAQAK1yMsVGl/7/csMTfLH
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)(5660300002)(8676002)(6506007)(26005)(38100700002)(8936002)(6486002)(2616005)(31696002)(86362001)(4326008)(66946007)(4744005)(6512007)(66476007)(66556008)(316002)(54906003)(6666004)(6916009)(508600001)(2906002)(31686004)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NWJBMnVaT2t3cE03UEhRSVNiNU05eWpjcEtDY1R6dlNJeHpUdytwZmFFRXJD?=
 =?utf-8?B?NFp5SXhSQVY3RWRiY2FiWEVPblUxY0NaSEZxaUpBd3FkUDJYSTZDU0l2VEpB?=
 =?utf-8?B?dzJJamFWME5Mczg4K0RPVXkxYS9xLzhGNFlEbzRoc3h6enYrb3pveTlWUWV3?=
 =?utf-8?B?STUyMldza0V2RmM5YzRZMXJHeVlXb2xsendLVTU3b1huNEl2eE5ld1FZYy8y?=
 =?utf-8?B?NlI3UkUyL3AvcEtCMDRqV0FubDA1OCtkM0pEa2hVeU8yTmxsYVN4MmV1bzhS?=
 =?utf-8?B?TTVxQUpuOWZtaUx0QSs4NHU2dnN0RUwxZXhwUmxVQ3k2Z290a3BTVVJxNElr?=
 =?utf-8?B?SFFuRFN4d3A1dHQyTS9rSWNHbEwzYXBPZkVEaS9PNEVyUHhvRFdPUlh1cnJq?=
 =?utf-8?B?MTdNUmpvVnhhbkZqdkQyekFmTEtnNklwWE1EQjBURGpEU2tGSDBuRDVBUnp2?=
 =?utf-8?B?YjZyQVM3MG9DV2Nncm43YkZoOE96cnU1Wnh2SFdRMjU4MFhnTGxIQ29pb3pX?=
 =?utf-8?B?RGZ3b1NlQW4xUGRtckNvdnNrQmlhNG1GdDhNaitQV2JlMzQwRi9GeVEvdjUx?=
 =?utf-8?B?MFlqc3Y1VlRJSCtOOUdIblBoNnhsNTVZcWJQeVVCS1ZScEU1dXdDV1BqZnQx?=
 =?utf-8?B?WDRMUWNtempGTVMxYW1GRWJGcEVBRzZLa3F6d3hkZzViNGtWalQxVXlqZDhy?=
 =?utf-8?B?RW5zSjNrT0JnSWJuUzZjQ3NIeVkyQmhnUTN6aXhvZzl0R0VoajdWUW5TZ1ZI?=
 =?utf-8?B?TnkyOWhnNElOaHpJTnIwdkxxSTdLRlc0V1h6bnV6aGJwYVhtU2hMaWhOMUdC?=
 =?utf-8?B?YS9mN1lFeVFPK0szOFR2a0dqRDNURFB0SXM4dU82WjVqd05PYnBDREx2WUNF?=
 =?utf-8?B?bjdQa0w1STlPQW9nRWR3eG9zeXBsbWhsK0ZBMjdkb1UzRXJjbU5lSWw3WFdB?=
 =?utf-8?B?ZWZTRWg0a212ZWsrYkFLNVFrUWdrcHF3L2RKOWtxWkFWT05VSUNlaEQ2MlNo?=
 =?utf-8?B?SzZvb3FxY2FwUjcrc210NitEQkhKQUhzM1hPNlRkczZ6Yng4akZpSmdFZjVh?=
 =?utf-8?B?bXVZRmhxWndoclViMmQydTVrMXAwREZ0bnFvL1d0M1FubU0xanNGNXVueFJF?=
 =?utf-8?B?T0NWR21JZ1lrTENhNUJOb2dPa3YrTDMxSitCSGxINTE1OVJiZGdMUXBoTm80?=
 =?utf-8?B?Tyt4ejFsZ2o2SzZGcDNGZ2FyNnNsVzgrOC9Uc0M5eUwvVXg3RE1CclBkdEhy?=
 =?utf-8?B?SlhnajNzczFXRFV2akVGRDFGUWRxUjFyR3NZVkVNZmtaREZQWVV4cE1rQTU0?=
 =?utf-8?B?U0xxemlnMlh5ckpaeGJkOWRtWkI5R0tOTHF6ZURjQzRiQldNYndDTDhJYlFC?=
 =?utf-8?B?N2orME9Xajdxd05YZUg5Z01tNVR5aXIxRyttK2gwTHU4N0hwSjRRL29kaHBk?=
 =?utf-8?B?Z0c4STVmQWVWd2tXU09GQWx6M2tLRlBzakJlVUJ4UjIxRDZqdzcrOGlYMU8y?=
 =?utf-8?B?Vlp2TEZiL0hiaFA2QjErcCtXSDRrWjBCQVpCanlPd285WnhTam10U0x4cUVz?=
 =?utf-8?B?T1dHSXZwOWVrV1JJYVZEaW1YeWxiTk53ZU5WbHV6dHBoT0hzNDBQRCt0bDVQ?=
 =?utf-8?B?Z042cXB3MjJSYlI5M0VnNmh5MXJvWWU1clQ2ditJOG51SEJDRUdNZ0xPMTN0?=
 =?utf-8?B?Z01uU2FWckVhdU5kYW9KRVJRRGtGSXRDQXZCdnJtbnJBMVFqbytSQTBsSnlC?=
 =?utf-8?B?dmNxWGplSXg0NFlmTkt6YXJFOHo3V0k4bGVSYUFIdGFwK09xUitaWjBCRnE2?=
 =?utf-8?B?TTMwUXBUYlFrVi91Z2F1SnZUalNqY2RhQm0wcnUySjVTSWV1bmNaNjY5ZXlN?=
 =?utf-8?B?OU1YOW0vcjhRdjBvS05kWFhVMmtlRFFQSG5NNGZPMVZxTytjVkRocHFLT1FJ?=
 =?utf-8?B?WXhIeGk1M0ZqQnhiS0FXMWQ4WGoybE1VUmNrMWl3UTNKOGZFbzhyeVRLUHEz?=
 =?utf-8?B?bGwxeEQwOC80d0pJeDFwRzBYY2Z6N3dnMFRHZzhLOGpRUS9oK1NEQ3F2NjN4?=
 =?utf-8?B?amJhYjM2WkRPYXZ1Y2ZHbXVrV2RzTVB3Ym9CbEF4WEJqUldQYnFTQ1RrMldD?=
 =?utf-8?B?akFORlNlNG45T2puMEZlUDdXTkpoM3grRG5DZ1pLSUdQRGFWbDRTUXQ0K0FG?=
 =?utf-8?Q?BMaOUBnd5c+6kjqzQFBdssU=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 88d1d4e7-778f-43a9-d10b-08d9d9a4c83d
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2022 10:33:20.8363
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 8J8Cp6ftQKZsieK7uSl54bc0G6+VhcG+lR+S7ZHfLb0bGnd6HUq+BlUfIvWC2ZqB6D3+mbVKzDlpmQc4tircdg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB8061

Mercury and Neptune were Pentium chipsets - no need to work around their
errata, even more so that the workaround looks fragile.

Also ditch a Pentium-related and stale part of a comment.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/apic.c
+++ b/xen/arch/x86/apic.c
@@ -1042,11 +1042,6 @@ static void __init wait_8254_wraparound(
     do {
         prev_count = curr_count;
         curr_count = get_8254_timer_count();
-
-        /* workaround for broken Mercury/Neptune */
-        if (prev_count >= curr_count + 0x100)
-            curr_count = get_8254_timer_count();
-        
     } while (prev_count >= curr_count);
 }
 
@@ -1056,9 +1051,6 @@ static void __init wait_8254_wraparound(
  * this function twice on the boot CPU, once with a bogus timeout
  * value, second time for real. The other (noncalibrating) CPUs
  * call this function only once, with the real, calibrated value.
- *
- * We do reads before writes even if unnecessary, to get around the
- * P5 APIC double write bug.
  */
 
 #define APIC_DIVISOR 1



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 10:34:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 10:34:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258097.444085 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9PLG-0000Zs-R2; Mon, 17 Jan 2022 10:34:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258097.444085; Mon, 17 Jan 2022 10:34: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 1n9PLG-0000Zl-NK; Mon, 17 Jan 2022 10:34:26 +0000
Received: by outflank-mailman (input) for mailman id 258097;
 Mon, 17 Jan 2022 10:34:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ZUQe=SB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9PLF-0000XT-Hl
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 10:34:25 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 09c93f5f-7781-11ec-9bbc-9dff3e4ee8c5;
 Mon, 17 Jan 2022 11:34:24 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2106.outbound.protection.outlook.com [104.47.18.106]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-10-6avXrmREOu2alFMh27Eu1g-1; Mon, 17 Jan 2022 11:34:23 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM6PR04MB4760.eurprd04.prod.outlook.com (2603:10a6:20b:3::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Mon, 17 Jan
 2022 10:34:22 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.013; Mon, 17 Jan 2022
 10:34: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: 09c93f5f-7781-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642415664;
	h=from:from:reply-to:subject:subject: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=sh5YJYp37wihM/w9WZNYSGnjr8sjGtViGutUnR7nldE=;
	b=jl2PxnFSf1xI2uhNxXJrKhTUNFPJXsvtU3Ua6E3ZIXPNgGYXUFyv3YYSvC9lsAL/hjNMLt
	ybHibWKl3VK/T/84SczNtDvR/bUChaEcmy+i8LzCdU0cjn27w1OyXg3tXnEC56xJxJeJN+
	RFYIiUSoPEwMnXWZ6SnWWsNPWMKeC7A=
X-MC-Unique: 6avXrmREOu2alFMh27Eu1g-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ljV4wPghNcPPHba/SQIWw4I/7j7J5Fiuw7B41GEacfC3r1pcJfpwylaByq6TebtiPIWQIfLtclU5NiGKhlBzho1TZrvn82I1yn12CUF3I+GQOOlplse12NxaKXb5zXq+zRSDyJnJYCq6JTlQPc3Ki5MQZz0u9MRvYNr30K4knuZDrlTXRl9fH4nqWap994QGUF23UVHhgxROD7oTGxs/HUJMaLyMyXjgvWqJs6p3Qhv6OWGzQeUI5gFqgErxDCBHPMXhUrF/01Yc31viYYHc4vSf4xyGibjn0ebx1PBQ5Xv2gjKOTgwklzktUvv+b4ulOcxWy/lQvekT64hQCJya8g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sh5YJYp37wihM/w9WZNYSGnjr8sjGtViGutUnR7nldE=;
 b=WFk0a0Es1hHYWctodJIemdWPUUHiwiP7bcBOn1d9UWL7Bj8UGalhvBJB0zCmJLVyZ2D4hv6Rza2nkA51NxnytjEetdMHcupJdbGpO6eP0PB0EcteILG+xLowIqqplgur9SiNnS8NobdvXinTypmnJGOWMxPNizDIpp8RlAeSRv5St2s/UXx3lHoieAQiBROHKV50deZQNeL2XjScS8s4prLI1DuzIIClW0fDCDGNOX1+4CMmmVT1Uu+3WJHqURn64qrl0EfTMVxczULR/CwwD5pLc79fWUgx3kGzU0hf/WjKD95sDbXCDNKRRNkII3Sfp1TBRdTL7AHmBpIWdbkLjA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <476e1c65-8883-16a2-996e-53d7c42638ed@suse.com>
Date: Mon, 17 Jan 2022 11:34:20 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/APIC: mark wait_tick_pvh() __init
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P193CA0112.EURP193.PROD.OUTLOOK.COM
 (2603:10a6:209:85::17) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 098cc1e6-4e83-4df3-965c-08d9d9a4ec92
X-MS-TrafficTypeDiagnostic: AM6PR04MB4760:EE_
X-Microsoft-Antispam-PRVS:
	<AM6PR04MB47600F0A1F5B45862AED8E2EB3579@AM6PR04MB4760.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:765;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ExsNQJf4FjL8JvK6FFQytVrGsrTPz2iJwfr92CcvqqxH0OeOxx+mlu0L0zbh13e/X4S42Qaah4+0NWtDjlCSFHKQUvyVPoQna2hVrB2l2JUwqbq1k1VVa1S7XyoXcVYXDwFMyfVtz53Ya0P0IONCioW6szjn4vjTJMHYzfU8Ak70zTf7XWnw1wPzriD/T2WqFo2Xcr6iCq1bi7Wn4Ybt2JY4yeNzHsOX2IalR8X5zmej7osm4RbnO9kZx/BpoKr/uCDaQMdfNGanlRcG2SlP/TsMOR7Fh2nq8QZ3KE10wetatf/pei7eMjCv8I+BijVmLTGqxCqGhhpil22ahkOI1npUe7MiffWQmeZmCOZQK/qNOFMyQT0I1GTmDf8bVh1Bi9MO/FRJFJfnpBnVwMYUgTvocW1deAKAQc299IHMZs8Dp1t1qgo0PEAmqywtFjCLw33SnnfMI8UuwY7pt4VV274wnVSdRWwEnwN3b10T2R6NVj6bZ8TeJTQZ7a/x7m76+T4cixfg2LSt67pooT/dW7XgLw4D3oWmcPVkb/xhr5UlemCiKKKQLr0KPVj96m7/K7aCAQGwSeWYRMTbnUgLH/9MxZMIxwRp0dOd3XB1c84Nh03zojjK3Kt6f1BoWiYjMRz1DnsW0R/YauyRmHc1ItxBgDvapAtBMUkHS3yGTFXf6IOWwU2jty6MTzMJjIzIfIR8uzwGfaINt5VPSpDFqz0Hr1Ew6seIKfqD3iQAtG0=
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)(26005)(31686004)(186003)(6486002)(6506007)(5660300002)(4744005)(6512007)(31696002)(66476007)(66946007)(66556008)(316002)(2616005)(8936002)(38100700002)(2906002)(83380400001)(4326008)(36756003)(54906003)(8676002)(6916009)(508600001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WWRoYTNkY1ZNaWIvRDczVUJneXZTckdnRzNDZGNCSkhzaE9IWkNXZzFZd2hY?=
 =?utf-8?B?aENFRjJDNy9YVGxWT3FWV29QUmp0ZkZnSVhpZ3h1OWRtRUgwTFlNL2xBZFFr?=
 =?utf-8?B?Rmx5aW9lMnpLRkd2WTZnS0VJbE5VT2NJLzlPVVVxVElSSkEwb1dodU1SZzEy?=
 =?utf-8?B?NXdIdjRxTVQ1dWhXektNS0ltbGMxRkZzbm14aFZFa0o4My9wWjF0SnNPTVBH?=
 =?utf-8?B?TnQyS0V5TVU1NVZ5QzcrUmsyMDYwMzNaclU2ZG4zYnB0aEtVdEtpcmJUSkVW?=
 =?utf-8?B?d09YTS80b051TGMyZ2hmOW5KR0xTWjFBTmVEZDEwOXEvUUN3SVpsTEVpeVlH?=
 =?utf-8?B?a1V1V201UXNrd1B3eTZpZHJid1lEd0NXQ1h4Q3VtL1JJR0VucHFycFZoeFI3?=
 =?utf-8?B?UkFLbUlsNXVqN3RBNXlqbG1DSWl6TXZwd3RpYTNEZ0RQN2huTEFqbGphUEJo?=
 =?utf-8?B?OTVWOU11RlhSTmxPY2c5Q2RGRE4vd1BjL2JhS3EvK3RtZm9WelozU01oeHI5?=
 =?utf-8?B?ejZ2VERUQTIrYjAxSlpTKzFUaEVxQWNXT2pTbFROczR4cTE4M21JbSt3SHFW?=
 =?utf-8?B?ZGl3WkN0TzFDVHRvT3VNOFFsM2NTenJlNGpLTm1wanhUM1VISVJML1BrOTJH?=
 =?utf-8?B?SDlxcjFzcFdReGxReGVnSXRZWloxMjl2SUJpVGQvYkoyWTMyUGdFYS9RaDBH?=
 =?utf-8?B?dlVOYlpmUElJLy9wK0s2SnYwbmhEUThNZm1CTnJiVHJYUzFVU041NlpHODcx?=
 =?utf-8?B?SlpVdEVmbjRpT3FOdnY5VWlrZnp2Y054U3Zocmo3T3lFaU1MblJxUnQzNkJj?=
 =?utf-8?B?cHNzZ2xpQUt1WmFsOFBhN3pVN2JFbFNaNlBjd1NOMVZ2Q1Z1c2xiZm5LejRa?=
 =?utf-8?B?bjZBQ1VhK0g1REpGNUxnblFCaUZrVWRqbEdOeGwyOVJkeVZIbThSdGlabG96?=
 =?utf-8?B?R3JnZm1ZSkNBcFVEZ21xd3JpZ3ltRldnVWVRdW5ic2gvdjdJYThncEpaVVhP?=
 =?utf-8?B?ZWRxT2hXN2NUTHFxUFVHN0RCWElNM0NmdHNxM09wVEhCSnlMZ1lrNUtmTHdV?=
 =?utf-8?B?anBXQUcxRkI3VzRtYnpTKzUxZEJBcDNGSXlyU0JBL0h0NFR5S1cxNmpLV1FE?=
 =?utf-8?B?Rk9GN1ptSWYxUUxUSm5XVUM5TUVpcG0wcFVINTJpK2NVeWM1Y2MxL0ZHZlM3?=
 =?utf-8?B?L2NCYUJIVEI2SldLcldLUHlJeUlJaitlOTJnYXJRQmEvZUF2eThLWHE1NDcr?=
 =?utf-8?B?RnNuWGlnL2NmSHhnbWVPdzhYQzhCT05KSDFWb05FTkFjNkFPU1lOS0tFQzNJ?=
 =?utf-8?B?czlhMlFTdW5BU2I5Q09vUmpJdlVmYmhtamw4akhMUnNRWndCeEVQdFBvMWw4?=
 =?utf-8?B?S1M1UlhFT1pQSjA2emhhRW5QeUVlWFRrZ25iT2QwZGx5RWdDd0hzbVVTYTFF?=
 =?utf-8?B?bWRTdHNlMkp6R3dwL29ZUmExWlpYSFRxb1V3U1NEaENPTldrM3JMQ0FodUpk?=
 =?utf-8?B?RzdKdVB1QTMvS1QvNHNuNVBzeDlnWnBVV28zRDgwU0ZVMUtJUDlDTjZDU0U4?=
 =?utf-8?B?Vkx1NWhRdTA2Rnh5cFZ0Mng5dkY3UzROb1FuNDF5dVRNVnQ4NnFoeUEzeWlG?=
 =?utf-8?B?ejJna0NLaFl6VTBBQmsyNjJ0ajlRU24xaFlhZ3Uwb0NSclJIODYzSjBnYzNI?=
 =?utf-8?B?U1N5Q1RWYXVrak5tY2tiVnlUNEVjTU1xTHY4ZyszL0wrM2pldWRNOGFMdS8r?=
 =?utf-8?B?ZzlBR1psUTlZRjFRUWtSdnJUdElzUXh5N0lkT01BVi8rUmVGeGs3N2hKZEtp?=
 =?utf-8?B?MEN0Z0dBNGZPRTR4QjhnVGZDbkpPT2M1eCt4UDlMN2xRaGY1SVcxdm5pbi93?=
 =?utf-8?B?R2ZWb293QUxIdTlzZDBPeVJiWkNHSXJ4VXhlMmhjcG53NG1tUFliSTVKaTc3?=
 =?utf-8?B?ODNIempvNWQ1SGdBM1RDS1I5MXNnbmRTVVF4NEJKMEtqeUJIZkpVNVpnRkNH?=
 =?utf-8?B?b2xqalg0d0NrNFRxVzViS2ZaM3VzVFprWUdsOUxGc1Z1L0w1UDdRZDJWWllq?=
 =?utf-8?B?ZUprUURmQzRrY1ZpSHJ3bk5uOTVkQUtjenVXSEJ4MkY0M1lpUlpwTVdRcTJB?=
 =?utf-8?B?SkJ5b21CUktQR1h5SDRacXkyRVd2ek5hVmhYMHUvYnZHVlNDalhmVVkyZ2Jq?=
 =?utf-8?Q?37xk9eOxaCKHSKoC4LXrfFo=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 098cc1e6-4e83-4df3-965c-08d9d9a4ec92
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2022 10:34:21.8378
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1MinucoqY3I/q3wQt3R/LHZIr9tFtIbFI7udPhE+T2O6AbfazYQUXuwpaklJTpznPEhZrkORlUrAtSP03ndamQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB4760

It should have been that way right from its introduction by 02e0de011555
("x86: APIC timer calibration when running as a guest").

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/apic.c
+++ b/xen/arch/x86/apic.c
@@ -1190,7 +1190,7 @@ static void __init check_deadline_errata
            "please update microcode to version %#x (or later)\n", rev);
 }
 
-static void wait_tick_pvh(void)
+static void __init wait_tick_pvh(void)
 {
     u64 lapse_ns = 1000000000ULL / HZ;
     s_time_t start, curr_time;



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 10:36:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 10:36:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258100.444096 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9PMz-0001CD-6D; Mon, 17 Jan 2022 10:36:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258100.444096; Mon, 17 Jan 2022 10:36:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9PMz-0001C6-2l; Mon, 17 Jan 2022 10:36:13 +0000
Received: by outflank-mailman (input) for mailman id 258100;
 Mon, 17 Jan 2022 10:36:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ZUQe=SB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9PMy-0001By-2z
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 10:36:12 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4981181b-7781-11ec-a115-11989b9578b4;
 Mon, 17 Jan 2022 11:36:11 +0100 (CET)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2050.outbound.protection.outlook.com [104.47.12.50]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-18-RjcETjaGOl6sld1TqBAHcQ-1; Mon, 17 Jan 2022 11:36:09 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4397.eurprd04.prod.outlook.com (2603:10a6:803:74::31)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.13; Mon, 17 Jan
 2022 10:36:08 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.013; Mon, 17 Jan 2022
 10:36:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4981181b-7781-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642415771;
	h=from:from:reply-to:subject:subject: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=PuPpMRe4iBZJ2b9btJlh43iuryshFfSWWcyP6KkV9CQ=;
	b=Z7zxDaOyAm9rL7QENWCVw0tLc/tNFwWe8i8gXyHXtj9c/lpEcUk4S3NjaKe4O7/fQ3tXql
	JSrJhKKW8O5G40Ttf4MgNOGNR+rpMI6FFI5EFStlo8wE3EvC/VRgEbm/KivahYc56j8Ji5
	wCw9JZ/stzF1NDNPEGNNoTX9sF68xdE=
X-MC-Unique: RjcETjaGOl6sld1TqBAHcQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ICNRnE9A4BXNZ0GwKxmRYLZm6Odxj/jIxH0XVBn9v73GSqQlveSp4QEX8sV3yppevzrufTRm10LABViSx9V/xTWRb3/ucfVhuh4ahC7qLCHNbWUotguNd9A4jJCMouukRdsLng0IkQ9oe6ODgDpBkq09beOGvAU5shTfOQv0gY1PNka6cMsI0aLbj91XhuutA5r4N+T8+9mkfv5ClI+aWCzwnUHbhCMKsyHUCfoHKC0k2RdgPWKVqEKG9Wn/NyV3yRpluRPGT0ZxcUxcCUciBgsjttq2Fv7MKvd8bwbTOpWMa8/Ba9OcRaaCFpBzbNuwchqhf82SWKrf41//klzSew==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PuPpMRe4iBZJ2b9btJlh43iuryshFfSWWcyP6KkV9CQ=;
 b=S3Qjxc2R+7Aq9Eyl7SF5PVxvCPHDkiQaoYslKnxSaFWHKltdNUQQn1JQ2/2DIWD/QUFcPbfuREILQsPJyywBzMgOdCz3hIaSgfBAVAQXWVeeHfb2397BTCN7p9iJSqmEKD+F9308DiXFa5ywENB8VottSxTaOtUSk99hRSTYgeoK7BanzjfhCGIQN+hdbwmYbHKS2ydYhojNDWfMO6/92VS+C7Xj0mzcCAlDjHYDeWKT+QamX4mbDHhyIIRpUrFIudrulGUxQO9XMfqx5KLJsbDCQvt8uCaIpFDE53THoKqWUJ3q5fOjdJ+M+Uh4KRGfnmoAxU5k18BULpQyqs/tMg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <08b293b3-e04a-9230-e7ec-dd7da9d198b1@suse.com>
Date: Mon, 17 Jan 2022 11:36:06 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/time: minor adjustments to init_pit()
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8P189CA0010.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:20b:31f::9) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 1098370e-ace2-4863-eca0-08d9d9a52c16
X-MS-TrafficTypeDiagnostic: VI1PR04MB4397:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB43974FF2056EC73C6A6BF4D3B3579@VI1PR04MB4397.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:
	1jcQlTHvC2ls/v9tQbs4+cMIYGqEJFs6VlGfhXVQEsfgA70tFH9yRAS8G4pq2csdXl9cbKs1U6gWE/1RqOjn4G8om36LSqBhoKbCYALQdc8yskkpUsApepgZjREuFuFZGX0HE2UIOF22kFPrv7CeRAdvvzKcowEaWL4Eedlg4lssIXYWBEwlAy71ak38srRZxsjIFHIb4kza6Di6wpIOIaHv/l2EAYsav1WYyuNRkql0J8GQkN1ANYXgYZteLPc37LnoRFtqJ0c8s52+ABD6Y9uV/AgUADuO1XG2ggf9iV+jtr+s0hC7NUmupWRBBtcyOdecz7GR+85VctwMDRYkdi/WGP36Ak81B6QIVe8Y8WUjSzPDAM7AhjZnpR4nLu1j4/rNT2BN4UcWO9R1uN6wsnDSMMVBUG3Q5ov5gHq4zON0GomBkdeOopVs43+EDzGpcHFG5g40GOZ/JdyQLzpSOgaoaYXoD6NNqysuStUWEtXMEN5s0Y9LfC3YS7KpChNWtjGpmBV9GepSRdqCO6SYH42AV3+lo+kF2TkN1WkhZuX4eBxsoEYIAkEXDJ0zFTzVzId82QbtZTMx87vBciGr/vVRUAxytZt2ZoxGA1Xp7xqUcduK2y94vg2RjpS+dazcSgrPWTEB4rJ4v0YgB1LPYdCtS1pIzAGJIQu2NmwmpaXGv7t+CXnUsLimvMza8CIa9WPOXAAIhXZFc6jDeAyq+dvecR8kXg8Ys8UdHlXXbF+Gw2t4GzzuPhA0Fn25rPyA
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)(2906002)(66946007)(66556008)(66476007)(316002)(8676002)(8936002)(26005)(6512007)(5660300002)(4326008)(6506007)(31696002)(508600001)(2616005)(31686004)(83380400001)(6486002)(86362001)(38100700002)(6916009)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ekFZSk94VDJEZE9jZkZVUzFMWDJ5N3ljQVV1UmNVUWpabEQ5N2FwSzd6Wnor?=
 =?utf-8?B?Qlp0aGppV3BzWm8xUE5qUFRUWElURk9Ub0p5Q1EvZHhsOFUwOUpNUDRMaEM1?=
 =?utf-8?B?SjJBUWltV0RnNGNoMzNXdUR3eXZFVW5acUxiaUkyS1FlVFY2bHFkaE13R1hZ?=
 =?utf-8?B?OTYvSldnbUxDOXVXSm1nSU53a2FzQkJhQVR5MUU0RDcxcENTc21NcTNwOW4y?=
 =?utf-8?B?MmViYS9GaHlWdTlDZmNia1B6eXhWamcrWXZYSDVXd21FQlBDampqdkwwUXA3?=
 =?utf-8?B?NW5xQVp5UUVYbGc2TmNFanAzMWlWQVVYT2RWWUNTOXdvb3VscHl4dVRKSVNm?=
 =?utf-8?B?M21pRUM5MmNmc01LbjZTN3ZTUTNvWlZYWnJjTU5NSzZSUHkvNEx3RmlKdm1v?=
 =?utf-8?B?UStyQ2pESXcvVnZiYTNhVlRqVnZVVmhMSTRleEc5ZDFTcEMvajRSeVlEOENX?=
 =?utf-8?B?VkNYYTJsQTh4TGUzZW1xZkNhY2RWWjc1MmZRUEVmOU0rN25udG5tWnpwa1ZW?=
 =?utf-8?B?RlZuRGlwUWdZSXR5aWRzTWhDQ056UUNlNGdVQ2RsS21TWndZcnlkb2lXQzdQ?=
 =?utf-8?B?c01UTDMzOWRlMnlKUnF2eVhFblNWb29yRG5YSEFyUmVsSk8rRVR0K0NvaXVi?=
 =?utf-8?B?VEhrMGt3UTl6VWpxdjN2dFBqdGJIOFVzUXdEOHlNL0UvT09iaXI1VDMwZ1dv?=
 =?utf-8?B?NERqUFhQTGJtTm4wbUpsM1dVMmkwWG1iUWpKMHFYV2lHcDhPVVQxa3hydUha?=
 =?utf-8?B?bXFYTTZDTjg3UWRZODA4ZFVLYS9TN25xNlY5VG5mbncyNmYwbWFrcFZuWlMw?=
 =?utf-8?B?ekxITGlJSVZSN0liZHd4NnFlZ1dUSlFrQmlrc0Z3ZDFkTVo2bVNBMkNxZHEr?=
 =?utf-8?B?SncrM0MrWHhwWlhPQVFYbUVCNmtlUkZaTWpNa2czZTZNdndTMENwK0YzTEJU?=
 =?utf-8?B?d0ZscUZyR2ozV09pVDg1VzRodGU0c2RFNmg2U3d4RFNDK1hCWGE4a2VUdm5T?=
 =?utf-8?B?UVk1RDZYdWtYczU3R2RYdlRzL1ZMSFlpN0xHa1hLODFGWW1MdDhxM0UyZVFS?=
 =?utf-8?B?dzljODEzSDRwSXljYlhaMVZQelpMRGNHclBvWnlKTEhna2RDeEhVYW1VL0FI?=
 =?utf-8?B?M0FaUVlUMFg0UW42OG1tTXo2L2QyUTVCYWI2bHRXWlNoS1A4bDkxaUMxL0E3?=
 =?utf-8?B?bm9aamtHTTVpUkgvU1dMdTQ5ZSs3cGh1MDVMNVZPdzdkcTZUMHNadHI5c0NN?=
 =?utf-8?B?ZC9aWHlxN3BBeUdWTi9icXV3ckZOYnlHbXpPWG1zcUdSNGc0TW0wUFJTVXIw?=
 =?utf-8?B?aXRnNGFPdWJkendmbnphYlYrWlhHWGhXNXJGZUVWTHV0SThLNnpRdE9GeEtN?=
 =?utf-8?B?VUMrRTRja0VMc1BFbG9oeWdIRkxEb3BpaWl1QXBvMzFXdGV0YUhFSkpaOVEr?=
 =?utf-8?B?dWpkaXQvWmg0bFJ2N3lpY0lyNXZuZkV3UkN1NmlHR1NHZ3pYRXBsb05VanlF?=
 =?utf-8?B?Z2ZBRG0zSnBCYjNMMXBRdlJtVVFpV3prU0F2Rk94aGJEaVl2MVNQVXFieVVq?=
 =?utf-8?B?Y1VKWGN1c0JEbzVjRTZ4S2V2aXhPUDVuWG0zTzRDTUlBQisxRGU0Q0RkdzE0?=
 =?utf-8?B?K3MzczJjK3NaZHY4end6UkxxamxySEEySnpBVlVxWGNUb01MVVBMMFNtY1Ay?=
 =?utf-8?B?TnlHck5UVm0xUm4rTEFudTJna3ZkZzNQaHBwSHo2VEdqSTVYSzlCcVZGbFRh?=
 =?utf-8?B?SS9vam5lN1RGRHdpd2w5VmI4MW93Rkd6THhoalNpUDlNd2s1bWppTEthakVu?=
 =?utf-8?B?QldNYmxONzNCcTRQcTNOQTNFVHVXT2tYb00wYXZORTl0SXdiU3FFc0FmdDl6?=
 =?utf-8?B?SWNNUXlCaElsZU1rUWEvN0h3MzkyWmpDRHJvenlacm9mc2NtUm1vNHdVaFZO?=
 =?utf-8?B?Y0Uxc1ltbWZRRXg4SnJtUm9ac0UydkJ2emx0TUZGSFJQTjdmQ0NrQndtQ1U4?=
 =?utf-8?B?aEFtakJoTnZHY0tDazd6RnFkaEhvZnNOR0Mwdld2SisxdzBla3FnejlVSFpm?=
 =?utf-8?B?emtCWkVyMmVOeFd1dDI2bGRPbnNJWVVUbzRSb1E2RnFNNGhuYlZ2Ni9mN1di?=
 =?utf-8?B?TGM4VXBGN1lsbHhqQ3kveWJqWVVlY0M5V0FKRGNXaDFXS1poNThTYjlaSjU3?=
 =?utf-8?Q?WKPj6qfKMhQN/VpijPu+9GU=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1098370e-ace2-4863-eca0-08d9d9a52c16
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2022 10:36:08.3356
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3QPzfe32id4icgfWEdXNV+oQp5DeKvTiJGRpie/lDQIBLnQaITlFv/mdmNELy6QsZeLFOgb/nwmzt5Ki90/tDw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4397

For one, "using_pit" shouldn't be set ahead of the function's last
(for now: only) error path. Otherwise "clocksource=pit" on the command
line can lead to misbehavior when actually taking that error path.

And then make an implicit assumption explicit: CALIBRATE_FRAC cannot,
for example, simply be changed to 10. The way init_pit() works, the
upper bound on the calibration period is about 54ms.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Really I've noticed this while considering what would happen if someone
specified  "clocksource=pit" on the shim's command line. Unlike "hpet"
and "acpi", "pit" presently wouldn't be (explicitly) ignored. While,
aiui, right now the only error path would be taken (due to port 0x61
reads being supposed to get back 0xff), I don't think we can build on
that longer term: Seeing what we use port 0x61 for in traps.c, I think
sooner or later we will need to have some form of emulation for it. Such
emulation is then not unlikely to continuously report 0 in the bit in
question. That would leed to an infinite loop here.

--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -333,8 +333,6 @@ static s64 __init init_pit(struct platfo
     u64 start, end;
     unsigned long count;
 
-    using_pit = true;
-
     /* Set the Gate high, disable speaker. */
     outb((portb & ~0x02) | 0x01, 0x61);
 
@@ -344,6 +342,7 @@ static s64 __init init_pit(struct platfo
      * (LSB and MSB) to begin countdown.
      */
 #define CALIBRATE_LATCH CALIBRATE_VALUE(CLOCK_TICK_RATE)
+    BUILD_BUG_ON(CALIBRATE_LATCH >> 16);
     outb(0xb0, PIT_MODE);                  /* binary, mode 0, LSB/MSB, Ch 2 */
     outb(CALIBRATE_LATCH & 0xff, PIT_CH2); /* LSB of count */
     outb(CALIBRATE_LATCH >> 8, PIT_CH2);   /* MSB of count */
@@ -361,6 +360,8 @@ static s64 __init init_pit(struct platfo
     if ( count == 0 )
         return 0;
 
+    using_pit = true;
+
     return (end - start) * CALIBRATE_FRAC;
 }
 



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 11:05:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 11:05:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258105.444107 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Pp3-0004Uh-K1; Mon, 17 Jan 2022 11:05:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258105.444107; Mon, 17 Jan 2022 11:05:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Pp3-0004Ua-GQ; Mon, 17 Jan 2022 11:05:13 +0000
Received: by outflank-mailman (input) for mailman id 258105;
 Mon, 17 Jan 2022 11:05:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pHGG=SB=citrix.com=George.Dunlap@srs-se1.protection.inumbo.net>)
 id 1n9Pp1-0004UU-EY
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 11:05:11 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5482f919-7785-11ec-a115-11989b9578b4;
 Mon, 17 Jan 2022 12:05:09 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5482f919-7785-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642417509;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=SlCsRUooNNaI5KVE5wRrRdgRQ/mD0PJpHLi1XoICSFI=;
  b=cnCrdR3F28m8XBu0e90V1QsjXo2az5V//4lHmQj+5PIs4+ZbNBNOTNTj
   5VR34noN/6w2NahMBvwge6NVmHCfcDZUskyrtRNdUZOMcuFDhTxn1PcSZ
   EibUz+nx2RqewJP+5l60QcaRBCO2yLONAc7ITrBoLc8lgDNN5Xmwrii0G
   U=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: 32dzvE535uf7MCDSzJ0w28+uHXI3IxlI04wGJY268HY1+FFajNLCwlnJqD9RdAx/ofEblnQVk1
 NRDDxIFrX80CuCgPyBkbvID2ExnWGTfJNE8epE5OkoNwLzOSMoq5msFsuQ1xkyCYk3yCOpawdT
 vVIDaUOAgPWjRZ3HhCr2IGJyBU7O3h89Ak4OF2dZT3DJX8rUCdktfrulCcAbQ33HxRkdpvkSeY
 ipVJxq9o3tyDxgkjiq81lr9j0//wFcv2IRQ+OJ3uK2f65jTanTFxOwlAyjVz+7M52UbKZTz991
 S1Riyo3nh9W0UJBt8KkaykEL
X-SBRS: 5.2
X-MesageID: 62546857
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:dTfvP63K59uDbRHT1/bD5Yl3kn2cJEfYwER7XKvMYLTBsI5bp2BTm
 2EeWjuObPfYYGahL4twa9ng80pS75DcyNRqSQJkpC1hF35El5HIVI+TRqvS04J+DSFhoGZPt
 Zh2hgzodZhsJpPkS5PE3oHJ9RGQ74nRLlbHILOCanAZqTNMEn9700o6wrFh2+aEvPDia++zk
 YKqyyHgEAfNNw5cagr4PIra9XuDFNyr0N8plgRWicJj5TcypFFMZH4rHomjLmOQf2VhNrXSq
 9Avbl2O1jixEx8FUrtJm1tgG6EAaua60QOm0hK6V0U+6/TrS+NbPqsTbZIhhUlrZzqhofBcj
 8lhlbuMW0QGYL/QqL4+VzZSOnQrVUFG0OevzXmXtMWSywvNcmf2wuUoB0YzVWEa0r8pWycUr
 6VecW1TKEDY7w616OvTpu1EqckkNsbmeq8CvHVp1RnSDOo8QICFSKLPjTNd9Glq25wQTauBD
 yYfQQFRXD/EODt0AWUWWJ99xuiQ2CffTCIN/Tp5ooJoujOOnWSdyoPFOtfPZsaDQ8kTm0+Cv
 3/H5EzwGBRcP9uaoRKn3WirnfTnhj7gVcQZE7jQ3u5nhhify3IeDDUSVECnur+ph0imQdVdJ
 kcIvC00osAaykuvSdXsWgyil1SNtBUcRtl4HvUz7UeGza+8ywqXD2cLTzlFafQ9qdQ7Azct0
 zehhMj1DDZitLmUT3O19bqOqz62fy8PIgcqRwUJUA8E6NnLu5wog1TESdMLOKyoitz4Hxngz
 jbMqzIx74j/luZSif/9pwqexWvx+N6ZFWbZ+zk7QEqbzi4+eKKFQLC6qneF/+pwdqWdYVOo6
 S1sd9el0MgCCpSElSqoSeoLHa206/vtDAAwkWKDDLF6qW3zpifLkZR4pWgneRw3appslSrBO
 ReL4WtsCIlv0GxGhEOdS6a4EIwUwKfpDrwJvdiEP4MVMvCdmOJqlRyChHJ8PUiwyiDAcollY
 P93lPpA615AU8yLKxLsFo8gPUcDnHxW+I8qbcmTI+6b+bSffmWJbrwOLUGDaOs0hIvd/lmPq
 IsPbJvWl0sPOAEbXsUx2dRORbztBSJqba0aVuQNLrLTSuaYMDxJ5wDtLUMJJNU+wvU9ehbg9
 XChQE5IoGcTdlWcQThmnktLMeu1Nb4m9CpTFXV1YT6AhiZ/Ca7ysvZ3X8ZnLNEPqb04pdYpH
 qZtRil1KqkVItgx025DPcCVQU0LXEnDuD9iyAL+MWdvJMAxFlWZkjImFyO2nBQz4uOMnZJWi
 5Wr1x/BQIpFQAJnDc3Mb+mowU/3tn8Y8N+elWOTSjWKUEmzooVsNQLrifo7f5MFJRnZn2PI3
 AeKGxYI4+LKptZtotXOgKmFqaavEvd/QRUGTzWKs+7uOHmI5HenzK9BTP2MIWLXWlTr9fjwf
 u5S1fz9bqEKxQ4Yr4pmHr935qsi/N+z9aRCxwFpESyTPVSmA79tOFec2sxLuvEfz7NVo1LuC
 EmO5sNbKfOCP8a8SAwdIw8sb+Ki0/AIm2aNsaRpcRuivCIupeiJS0RfORWImRdxFrotPdN32
 /olte4X9xe71kggPOGZg30G7G+LNHEBDfkq78lIHI/xhwM34VheepiAWDTu6ZSCZtgQYEknJ
 jiY2PjLi7hGnxeQdnMyET7G3PZHhIRIsxdPlQdQK1OMk9vDp/k2wBwOrmhnElULlk1Kg7BpJ
 2xmF0xpPqHfrT5nif9KU32oBwwcVgaS/Vb8ygdRmWDUJ6Vyurch8IHp1T6xwX0k
IronPort-HdrOrdr: A9a23:g7tw8KpDLkzr4MhEbeGTCvMaV5uPL9V00zEX/kB9WHVpm5Oj+P
 xGzc526farslsssSkb6K290KnpewK4yXbsibNhc4tKLzOWxFdAS7sSrLcKogeQVBEWk9Qy6U
 4OSdkGNDSdNykYsS++2njDLz9C+qjGzEnLv5an854Fd2gDAMsAjzuRSDzraXGeLDM2X6bRf6
 Dsgvav0gDQH0j/Gf7LYUXtMdKzxeHjpdbDW1orFhQn4A6BgXeD87jhCSWV2R8YTndm3aoi2X
 KtqX272oyT99WAjjPM3W7a6Jpb3PH7zMFYOcCKgs8Jbh3xlweTYph7UbHqhkF2nAjv0idurD
 D/mWZmAy1B0QKWQohzm2q15+DU6kdr15Yl8y7BvZKsm72jeNtwMbs/uWsQSGqm16NnhqAg7E
 sD5RPoi7NHSRzHhyjz/N7OSlVjkVe1u2MrlaoJg2VYSpZ2Us4akWSOlHklYavoMRiKoLzPKt
 MeR/00JcwmBW+yfjTcpC1i0dasVnM8ElOPRVUDoNWc13xTkGpix0UVycQDljNYnahNB6Vs9q
 DBKOBlhbtORsgZYeZ0A/oAW9K+DijITQjXOGyfLFz7HOUMOm7LqZTw/LIpjdvaNaAg3d83gt
 DMQVlYvWk9dwbnDtCPxoRC9lTXTGC0TV3Wu4hjDlhCy8vBrZbQQF++oWEV4rydSq8kc77mst
 6ISedrP8M=
X-IronPort-AV: E=Sophos;i="5.88,295,1635220800"; 
   d="scan'208";a="62546857"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PeiGdvnzyriyDCOpfxqOJdoXB7nCyZh+QdzL6b8lQV1Cb4cztnZw3MEmFdov7ZPWFT6XalVhuDW1zYfmrUyLBA1Ypavkpl9kWEjSajdxZ7M5rZ0MEpY1a/3SLKmwv4sTYSohL19VvxVzuR8TkEKtEKG/GrWAQUbkfE8B28imFqT980eRxtCf4sMgzIRnYUIpWj8RZKpWcMWPKYjNNdr06yJB83ehoHtq40dAz9gFoDZGbE80cVF/bpJ3XUtxHfGkvUhfmZy5oWr8D+vdaNqnx78liE3OlIxxLRPDIO1NNQ3TWO3G1nceXJy5jdr3F95dudJQuZ8Xrxqx2OFQ0Q48Ew==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SlCsRUooNNaI5KVE5wRrRdgRQ/mD0PJpHLi1XoICSFI=;
 b=GkcW0POdofOcwTyMLMKPw8DRJiSFG5pr/KSaWdgvD1BrAYHABGChc6aDVas0Wa5JlVDsmW4/Rh28wrkItqyTV06UPTY8emBxnizBPFIyIyoEMeTfGWwouQs+b62fUZUGYYkZsqF3Owsw6ItSJsQCmitQJgsz8RfytBDOYiWzTmkO+9TjA0hCtPZd+yxpxLSEchz57gp7lGD/PG4WhrLEbjJtOHs97LL23tQ2iOBkrBN24B+TCxgjUWzOFQv8m41umGT8jHJZsW2gPs6Xp4foUbXkkdZWSBJtLMBFN6OiBtK67BWNjQCFDdvNdltJEujaAONkZpT4CTwjM49fks8C/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=SlCsRUooNNaI5KVE5wRrRdgRQ/mD0PJpHLi1XoICSFI=;
 b=vWWEskIoSAhzpxF4Ccp0nqFrLfvNcbtiBkt/FKFgLhLa6gYZi1xnxE3182Eg+3b7f/LWNuPB4ig5ai7dRExqcA/f7lIIScAo12rnRujnxQwX2IRzAXVtGdhQZOhHep3iTyMOAKPeZH6o4NAUBiKJyqtgMstAKQU9u1GGjMToCxk=
From: George Dunlap <George.Dunlap@citrix.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Dario Faggioli <dfaggioli@suse.com>, "julien@xen.org" <julien@xen.org>,
	Jan Beulich <JBeulich@suse.com>, Juergen Gross <JGross@suse.com>,
	"bertrand.marquis@arm.com" <bertrand.marquis@arm.com>, Roger Pau Monne
	<roger.pau@citrix.com>, "Volodymyr_Babchuk@epam.com"
	<Volodymyr_Babchuk@epam.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Andrew Cooper <Andrew.Cooper3@citrix.com>
Subject: Re: sched=null vwfi=native and call_rcu()
Thread-Topic: sched=null vwfi=native and call_rcu()
Thread-Index: AQHYApYKcBQAyeId3UeWzqXDNXhpe6xVueAAgAETSYCADBqGAIAAJu+AgAQQWoA=
Date: Mon, 17 Jan 2022 11:05:02 +0000
Message-ID: <B9187426-3A8D-4687-A00B-487A6B4EF1D7@citrix.com>
References: <alpine.DEB.2.22.394.2201051615060.2060010@ubuntu-linux-20-04-desktop>
 <20fbb361-b416-6965-614d-a6283a7e7550@xen.org>
 <alpine.DEB.2.22.394.2201061747140.2060010@ubuntu-linux-20-04-desktop>
 <0cb5a1ceff3afc6c6d4319c9f6dd06a06a93a294.camel@suse.com>
 <alpine.DEB.2.22.394.2201141253080.19362@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2201141253080.19362@ubuntu-linux-20-04-desktop>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3654.60.0.2.21)
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 324a573b-da74-4885-d9aa-08d9d9a935cc
x-ms-traffictypediagnostic: SN6PR03MB4351:EE_
x-microsoft-antispam-prvs: <SN6PR03MB43513CB72902E34E34682E0A99579@SN6PR03MB4351.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: WmShd/KyB/SAwxbgSE3joYuR8WsrqCat1Gmuj9unvmKbq4LHzsWtmJz0DOsjD4Co0DfEhasdfe8GCOrO3H2YExrQpfM2r1HMDbIiDduOglqn/FriDhz2ew6Gcq+zNJN8loflAtIFA3GfgXXtSxWwEeQh/OSuhC3DxHEfRp/ruj4fkPT84Eu7Fhjf4YZKM7gSrBvzeW5v0RZj1KXjnjy95hl8mHWCiU0oa9TIMwgU8nl1HgamvNb0bEum+/QT3xzK2FCuYlPXoQwMnG8s2FyJBi/fiYKAC0FnPiHm6Ro2guSSh1psXoHYBnH37Ge5crOdR4I+JLr+bYuYO0Q1E14IpXIwYN14nPuRyUZ/7ZUVhT5XBDdb0Eztc+Iy3l8jtzNSmly59I9vTcV9b/oKLTTNmXVCSUZnGNea2MWLTALsP5aELoW7tMBB9Ng8xN2JILLdCwv9LDSk5qaB6z/APxs1guJ4bYjcXHW2fmbkKFTDx+7ToBuzA+Tg+Ys9Kb8l7+EcFs3ZgmBO6v9acqOpRRGrEJbQcNAtqr/6oH/rcOaN4nPx/LD+kOsQEQM1KduJIT48iDMmvOpHwAwjphvz0nSxDJFCNSVQq8cZwe7fgp4HRpxuDcYeHRyJhDs27Y3RX6Her/aTj7w7Q2wTfWQUvmLdCw9DRFaOmPQQLJ1qY8KLNhKj1hX0AES/rdnqLP6vxLua2dwQMmt5FqinmaG3nUTyIoodFtVkTFVepyvj0Paj5VBQFF9L3IJPeYN1szFNKhkBaooaVr2UyuB0Jih7BblWtdeTjM+poozOvB+lmLgo0d6RUD+LEL6LiFWqkRgfCtcT9t+0NoL3goWx45/NEtrT9ndfZ4n0Zy9lX4JMyt7WzQA=
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR03MB5669.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(71200400001)(966005)(8676002)(91956017)(6506007)(38100700002)(6486002)(8936002)(53546011)(122000001)(83380400001)(26005)(66476007)(66556008)(64756008)(66446008)(82960400001)(38070700005)(45080400002)(6916009)(2906002)(316002)(54906003)(86362001)(508600001)(5660300002)(4326008)(107886003)(2616005)(36756003)(33656002)(66946007)(76116006)(186003)(6512007)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RWFhT0g0UXRzZTZicW9PVy85MlVxNkxTcVZ2Ly9uZEJxd0t4c3VLZUduMEt2?=
 =?utf-8?B?U1pIT2RkUDNxYkNuVlJ4VGtoVjEzTzFPQ0FDQXVsRWVJREllOEFQMlkyVE4y?=
 =?utf-8?B?eEFCczdZaGhNNmRCZ0lHZFZTanhqbWp6SlZselNEdHh5dndmN2tuQThPZDNs?=
 =?utf-8?B?SWpsWm1DeWh5SDdHVTBPZnVXMjlJY0VUVlludUk5ZVJpR05CL093ODRBQUpy?=
 =?utf-8?B?VUZ4aDBXS3ppOW9DWWMxSmQ3MFZVbE1hTkdsRjdEYTNNVUJNeVRrWHlVL2Ji?=
 =?utf-8?B?UHhGVEFEYmNsMkI3ZXphYktNMHBMVEwxYXFnUndDOGg3QnNRUTdSRndzWERy?=
 =?utf-8?B?bzcwb09tcVVDWHJGTno3aWFyTzlsZkVrTXpaZEc0S0ZPRXZBSG1BNHhNTEtN?=
 =?utf-8?B?RFdDUDhmWVkraUI5UlYyWms1b3VuTkl5NkcrdnA2cGhoMnAxZjM1Y0RTSUFo?=
 =?utf-8?B?VW5Tc1BQSm9QQmkwbU9CQS80dlpPc0R1eUgwOVhuUzhNRDdlbDNFdUZUd0pE?=
 =?utf-8?B?WDFiZmtySXpXdVRFZDlkYXZYUmp0emRrZUVZYWFRNkdwQnc1YU1za09mNHVr?=
 =?utf-8?B?S0RLWmZwTGFMdXQrdG1PV2QxZVRRWGlmbERqMGRJTzIxZG5JYWt3MzVUWW14?=
 =?utf-8?B?UjR3QW5mRjZyK0ZNRm5TOUhCak1WT004MmhoTDI1Wkl3ZWI4d3U2cHoxY2Qw?=
 =?utf-8?B?enRrUWhGVjN3ZHJzTmhPd0FxVTE5eG5IYWZSRE1PblhvMFJjY3J3dTgyaElz?=
 =?utf-8?B?bmVJVVVxN281UGZDTmx4VmZGdkh6SS9oRHlhcXQ4Y1duVTdNYWVYU013a1hV?=
 =?utf-8?B?Z2xxWUV6QnFHaUZoZCtYUmJaNkNKOXJQVXFMUWM3UWRDUTlseWduS3JMWnJC?=
 =?utf-8?B?bXplRjlhODYzSlhGYnp5S1NoZHJJUExBSUoyWUdDK2ZESVpRdEdQTjRzbTh1?=
 =?utf-8?B?cDJYWTJ1TURGRXBlUkdFWHJISmRGcnl2K09hMHVPbGlVUmFQVWh1T1RSWnBy?=
 =?utf-8?B?NnZJM2YwUUhZNkxtNmp6VlJ4ZW9ZcHFqQ3J0SEpQcUNnTjcwYkE0MmsxVm1Z?=
 =?utf-8?B?N094SlZ2M0FiR1h1QUZwYUQ1N2lVU2l6blkzMytqZ0VUamtKOFAwU0ZUdy9n?=
 =?utf-8?B?RUFtUzRJQXBOUFk3dTZtMXB3M1JKYUpJcHJzaFJvRU5Md3BPM1lDTG9aYnR3?=
 =?utf-8?B?R0FrUDRpbFBSNWN6NWhnaVdJY0FNNVhHSHhETmh3cXMyUDFxRHBwTlNaY3RC?=
 =?utf-8?B?Nm1YdStPNy9qZkwxYjRqNWxjNVdyci8rZkxaSUhVZXUrK0RCZnprekpSdERw?=
 =?utf-8?B?dm9TTVkyUXFYRHJWaTRNYWVvSzV1N3ZjVW5iek12cXQ5UGlySTRmeGdJdTlG?=
 =?utf-8?B?Y1UrTmE5WE9wb2RBZmg2dWtBVTNHMnRoQ3lQSUt1akZ1U3NBSUovWElLSi9W?=
 =?utf-8?B?eExHbUduNW1ORWpoazBQVDVRMkhRWFd3RGV2OEc3cmxqQ0pabHVjemdLQlhS?=
 =?utf-8?B?S0RMSkc3c2oybHlEUnIzak9NcUZGakMydm91TkFMRHgxUytDb3VnK0VnTnBG?=
 =?utf-8?B?dEJOTjRtMVl6eVp3SW9tRG1STnpyNk1FRTI1TGZoUWs3cUZIWGpKTGxkYmxU?=
 =?utf-8?B?b2pvWnBGUGFnSytuaXVid29WYlBHMFZlQ0FlTzA4SWhVZ1Z1ZnJUV1VkRStS?=
 =?utf-8?B?enJWck5jbDNUMGQ3b2QrODJHUW8xUTg3eG5IZWd0Q1g1TmZoZW5YWno1dGR6?=
 =?utf-8?B?ZjNmWnpzZmJ2Q0psckVqL096eUFaWGI5Smd6cXg2S1g3VHJad0hueDZ4cE84?=
 =?utf-8?B?ODJnR3R1RVkwOUxha0JKTGtyWm5Sc3JwR0RoR2NpTG5tNithcHQyaUJKdFJL?=
 =?utf-8?B?Nno5cXpTRjBpaWo4MFRlUTFCTmtnalBrL21pTnpGRklxMEtSb0QwS3M5anN5?=
 =?utf-8?B?aXI1ZHNNM3JNVU4zYncvbG56Tms1VGZBcHpHcjBpQmUxQnVqMTlhbmwzdE1z?=
 =?utf-8?B?NzVONzAxa3laQU50SktqYllGT3lscTJCQi9WK2ZFV0NaZHh4UWJrUU9qODZI?=
 =?utf-8?B?SWZoL1pudFplSC84UU5YUTllSm1Sem5YSEtqSHNybWF0U0F2RkZnRThtWDNm?=
 =?utf-8?B?dVJ4a2FwUjhlUWlkR1ErMkg4eWNLNlUrTU8wQmdoT29jVHh6MmJJN2dsMnVn?=
 =?utf-8?B?cVVGSDg3Ky92Z0ZzNnczVGdPeExuMmN0M0dGc0t5Mm1mVHlWbFVpUHcxZkU1?=
 =?utf-8?Q?ko6tFForiMxmKT0dqWLmbBlt0OF5mdg7UmFO/tPihs=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <0AFC98F84CF7E048ABD5A5BF7DFF614C@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PH0PR03MB5669.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 324a573b-da74-4885-d9aa-08d9d9a935cc
X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jan 2022 11:05:02.4016
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: kXy5PFhCo4jeN5V+rIvlBMgrNPSV+ihoSD3ZURvYVij/8//kGZDbfzavzbHnr/kTh/2J+VqYTnrXiAhRaODlBvsi2HCIGjT2eHJ+bqrD228=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR03MB4351
X-OriginatorOrg: citrix.com

DQoNCj4gT24gSmFuIDE0LCAyMDIyLCBhdCA5OjAxIFBNLCBTdGVmYW5vIFN0YWJlbGxpbmkgPHNz
dGFiZWxsaW5pQGtlcm5lbC5vcmc+IHdyb3RlOg0KPiANCj4gT24gRnJpLCAxNCBKYW4gMjAyMiwg
RGFyaW8gRmFnZ2lvbGkgd3JvdGU6DQo+PiBPbiBUaHUsIDIwMjItMDEtMDYgYXQgMTc6NTIgLTA4
MDAsIFN0ZWZhbm8gU3RhYmVsbGluaSB3cm90ZToNCj4+PiBPbiBUaHUsIDYgSmFuIDIwMjIsIEp1
bGllbiBHcmFsbCB3cm90ZToNCj4+Pj4gDQo+Pj4+IFRoaXMgaXNzdWUgYW5kIHNvbHV0aW9uIHdl
cmUgZGlzY3Vzc2VkIG51bWVyb3VzIHRpbWUgb24gdGhlIE1MLiBJbg0KPj4+PiBzaG9ydCwgd2UN
Cj4+Pj4gd2FudCB0byB0ZWxsIHRoZSBSQ1UgdGhhdCBDUFUgcnVubmluZyBpbiBndWVzdCBjb250
ZXh0IGFyZSBhbHdheXMNCj4+Pj4gcXVpZXNjZWQuDQo+Pj4+IEZvciBtb3JlIGRldGFpbHMsIHlv
dSBjYW4gcmVhZCB0aGUgcHJldmlvdXMgdGhyZWFkICh3aGljaCBhbHNvDQo+Pj4+IGNvbnRhaW5z
IGEgbGluaw0KPj4+PiB0byB0aGUgb25lIGJlZm9yZSk6DQo+Pj4+IA0KPj4+PiBodHRwczovL25h
bTA0LnNhZmVsaW5rcy5wcm90ZWN0aW9uLm91dGxvb2suY29tLz91cmw9aHR0cHMlM0ElMkYlMkZs
b3JlLmtlcm5lbC5vcmclMkZ4ZW4tZGV2ZWwlMkZmZTNkZDlmMC1iMDM1LTAxZmUtM2UwMS1kZGYw
NjVmMTgyYWIlNDBjb2RpYXguc2UlMkYmYW1wO2RhdGE9MDQlN0MwMSU3Q0dlb3JnZS5EdW5sYXAl
NDBjaXRyaXguY29tJTdDYjY3OTVlMGJlM2FmNDE2ODQxYTQwOGQ5ZDdhMTIwMzAlN0MzMzU4MzZk
ZTQyZWY0M2EyYjE0NTM0OGMyZWU5Y2E1YiU3QzAlN0MwJTdDNjM3Nzc3OTA5MzA1NTY2MzMwJTdD
VW5rbm93biU3Q1RXRnBiR1pzYjNkOGV5SldJam9pTUM0d0xqQXdNREFpTENKUUlqb2lWMmx1TXpJ
aUxDSkJUaUk2SWsxaGFXd2lMQ0pYVkNJNk1uMCUzRCU3QzMwMDAmYW1wO3NkYXRhPTklMkJvaUZm
ZEszckdBZVdGU05DUnU1YVN1WWdxbDFYWmNhR0pnVDNhUnNPQSUzRCZhbXA7cmVzZXJ2ZWQ9MA0K
Pj4+IA0KPj4+IFRoYW5rcyBKdWxpZW4gZm9yIHRoZSBwb2ludGVyIQ0KPj4+IA0KPj4+IERhcmlv
LCBJIGZvcndhcmQtcG9ydGVkIHlvdXIgdGhyZWUgcGF0Y2hlcyB0byBzdGFnaW5nOg0KPj4+IGh0
dHBzOi8vbmFtMDQuc2FmZWxpbmtzLnByb3RlY3Rpb24ub3V0bG9vay5jb20vP3VybD1odHRwcyUz
QSUyRiUyRmdpdGxhYi5jb20lMkZ4ZW4tcHJvamVjdCUyRnBlb3BsZSUyRnNzdGFiZWxsaW5pJTJG
eGVuJTJGLSUyRnRyZWUlMkZyY3UtcXVpZXQmYW1wO2RhdGE9MDQlN0MwMSU3Q0dlb3JnZS5EdW5s
YXAlNDBjaXRyaXguY29tJTdDYjY3OTVlMGJlM2FmNDE2ODQxYTQwOGQ5ZDdhMTIwMzAlN0MzMzU4
MzZkZTQyZWY0M2EyYjE0NTM0OGMyZWU5Y2E1YiU3QzAlN0MwJTdDNjM3Nzc3OTA5MzA1NTY2MzMw
JTdDVW5rbm93biU3Q1RXRnBiR1pzYjNkOGV5SldJam9pTUM0d0xqQXdNREFpTENKUUlqb2lWMmx1
TXpJaUxDSkJUaUk2SWsxaGFXd2lMQ0pYVkNJNk1uMCUzRCU3QzMwMDAmYW1wO3NkYXRhPXZyTk41
S2d3WGo5M1pUaHJlSUROQjdVZ0tKZFBOeiUyQm9MOThiJTJGb29wTjh3JTNEJmFtcDtyZXNlcnZl
ZD0wDQo+Pj4gDQo+PiBIaSBTdGVmYW5vIQ0KPj4gDQo+PiBJIGRlZmluaXRlbHkgd291bGQgbGlr
ZSB0byBzZWUgdGhlIGVuZCBvZiB0aGlzIGlzc3VlLCBzbyB0aGFua3MgYSBsb3QNCj4+IGZvciB5
b3VyIGludGVyZXN0IGFuZCB5b3VyIGhlbHAgd2l0aCB0aGUgcGF0Y2hlcy4NCj4+IA0KPj4+IEkg
Y2FuIGNvbmZpcm0gdGhhdCB0aGV5IGZpeCB0aGUgYnVnLiBOb3RlIHRoYXQgSSBoYWQgdG8gYWRk
IGEgc21hbGwNCj4+PiBjaGFuZ2Ugb24gdG9wIHRvIHJlbW92ZSB0aGUgQVNTRVJUIGF0IHRoZSBi
ZWdpbm5pbmcgb2YNCj4+PiByY3VfcXVpZXRfZW50ZXI6DQo+Pj4gaHR0cHM6Ly9uYW0wNC5zYWZl
bGlua3MucHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHBzJTNBJTJGJTJGZ2l0bGFiLmNv
bSUyRnhlbi1wcm9qZWN0JTJGcGVvcGxlJTJGc3N0YWJlbGxpbmklMkZ4ZW4lMkYtJTJGY29tbWl0
JTJGNmZjMDJiOTA4MTRkM2ZlNjMwNzE1ZTM1M2QxNmYzOTdhNWIyODBmOSZhbXA7ZGF0YT0wNCU3
QzAxJTdDR2VvcmdlLkR1bmxhcCU0MGNpdHJpeC5jb20lN0NiNjc5NWUwYmUzYWY0MTY4NDFhNDA4
ZDlkN2ExMjAzMCU3QzMzNTgzNmRlNDJlZjQzYTJiMTQ1MzQ4YzJlZTljYTViJTdDMCU3QzAlN0M2
Mzc3Nzc5MDkzMDU1NjYzMzAlN0NVbmtub3duJTdDVFdGcGJHWnNiM2Q4ZXlKV0lqb2lNQzR3TGpB
d01EQWlMQ0pRSWpvaVYybHVNeklpTENKQlRpSTZJazFoYVd3aUxDSlhWQ0k2TW4wJTNEJTdDMzAw
MCZhbXA7c2RhdGE9dmp4VDM1YiUyRmdscXp6QTREQ0xxVGpibzBiQWZPanRMY3ZOOTBPRnM4VTlR
JTNEJmFtcDtyZXNlcnZlZD0wDQo+Pj4gDQo+PiBZZWFoLCB0aGF0IHNob3VsZCBiZSBmaW5lLg0K
Pj4gDQo+Pj4gV291bGQgeW91IGJlIHVwIGZvciBzdWJtaXR0aW5nIHRoZW0gZm9yIHVwc3RyZWFt
aW5nPyBJIHdvdWxkIHByZWZlcg0KPj4+IGlmDQo+Pj4geW91IHNlbmQgb3V0IHRoZSBwYXRjaGVz
IGJlY2F1c2UgSSBjYW5ub3QgY2xhaW0gdG8gdW5kZXJzdGFuZCB0aGVtDQo+Pj4gY29tcGxldGVs
eSAoZXhjZXB0IGZvciB0aGUgb25lIGRvaW5nIHJlbmFtaW5nIDotUCApDQo+Pj4gDQo+PiBIYWhh
ISBTbywgSSBhbSB1cCBmb3IgcHJvcGVybHkgc3VibWl0dGluZywgYnV0IHRoZXJlJ3Mgb25lIHBy
b2JsZW0uIEFzDQo+PiB5b3UndmUgcHJvYmFibHkgZ290LCB0aGUgaWRlYSBoZXJlIGlzIHRvIHVz
ZSB0cmFuc2l0aW9ucyB0b3dhcmQgdGhlDQo+PiBndWVzdCBhbmQgaW5zaWRlIHRoZSBoeXBlcnZp
c29yIGFzIFJDVSBxdWllc2NlbmNlIGFuZCAiYWN0aXZhdGlvbiINCj4+IHBvaW50cy4NCj4+IA0K
Pj4gTm93LCBvbiBBUk0sIHRoYXQganVzdCBtZWFudCBjYWxsaW5nIHJjdV9xdWlldF9leGl0KCkg
aW4NCj4+IGVudGVyX2h5cGVydmlzb3JfZnJvbV9ndWVzdCgpIGFuZCBjYWxsaW5nIHJjdV9xdWll
dF9lbnRlcigpIGluDQo+PiBsZWF2ZV9oeXBlcnZpc29yX3RvX2d1ZXN0KCkuIE5pY2UgYW5kIGVh
c3ksIGFuZCBldmVuIG15c2VsZiAtLWFuZCBJJ20NCj4+IGRlZmluaXRlbHkgbm90IGFuIEFSTSBw
ZXJzb24tLSBjbG91ZCB1bmRlcnN0YW5kIGl0IChhbHRob3VnaCB3aXRoIHNvbWUNCj4+IGhlbHAg
ZnJvbSBKdWxpZW4pIGFuZCBwdXQgdGhlIHBhdGNoZXMgdG9nZXRoZXIuDQo+PiANCj4+IEhvd2V2
ZXIsIHRoZSBwcm9ibGVtIGlzIHJlYWxseSBhcmNoIGluZGVwZW5kZW50IGFuZCwgZGVzcGl0ZSBu
b3QNCj4+IHN1cmZhY2luZyBlcXVhbGx5IGZyZXF1ZW50bHksIGl0IGFmZmVjdHMgeDg2IGFzIHdl
bGwuIEFuZCBmb3IgeDg2IHRoZQ0KPj4gc2l0dWF0aW9uIGlzIGJ5IGZhciBub3QgZXF1YWxseSBu
aWNlLCB3aGVuIGl0IGNvbWVzIHRvIGlkZW50aWZ5aW5nIGFsbA0KPj4gdGhlIHBsYWNlcyBmcm9t
IHdoZXJlIHRvIGNhbGwgcmN1X3F1aWV0X3tlbnRlcixleGl0fSgpLg0KPj4gDQo+PiBBbmQgZmlu
ZGluZyBvdXQgd2hlcmUgdG8gcHV0IHRoZW0sIGFtb25nIHRoZSB2YXJpb3VzIGZ1bmN0aW9ucyB0
aGF0IHdlDQo+PiBoYXZlIGluIHRoZSB2YXJpb3VzIGVudHJ5LlMgdmFyaWFudHMgaXMgd2hlcmUg
SSBzdG9wcGVkLiBUaGUgcGxhbiB3YXMNCj4+IHRvIGdldCBiYWNrIHRvIGl0LCBidXQgYXMgc2hh
bWVmdWxseSBhcyBpdCBzb3VuZHMsIEkgY291bGQgbm90IGRvIHRoYXQNCj4+IHlldC4NCj4+IA0K
Pj4gU28sIGlmIGFueW9uZSB3YW50cyB0byBoZWxwIHdpdGggdGhpcywgaGFuZGluZyBvdmVyIHN1
Z2dlc3Rpb25zIGZvcg0KPj4gcG90ZW50aWFsIGdvb2Qgc3BvdHMsIHRoYXQgd291bGQgaGVscCBh
IGxvdC4NCj4gDQo+IFVuZm9ydHVuYXRlbHkgSSBjYW5ub3Qgdm9sdW50ZWVyIGR1ZSB0byB0aW1l
IGFuZCBhbHNvIGJlY2F1c2UgSSB3b3VsZG4ndA0KPiBrbm93IHdoZXJlIHRvIGxvb2sgYW5kIEkg
ZG9uJ3QgaGF2ZSBhIHJlcHJvZHVjZXIgb3IgYSB0ZXN0IGVudmlyb25tZW50DQo+IG9uIHg4Ni4g
SSB3b3VsZCBiZSBmbHlpbmcgYmxpbmQuDQo+IA0KPiANCj4+IEFsdGVybmF0aXZlbHksIHdlIGNh
biBzdWJtaXQgdGhlIHNlcmllcyBhcyBBUk0tb25seS4uLiBCdXQgSSBmZWFyIHRoYXQNCj4+IHRo
ZSB4ODYgc2lkZSBvZiB0aGluZ3Mgd291bGQgdGhlbiBiZSBlYXNpbHkgZm9yZ290dGVuLiA6LSgN
Cj4gDQo+IEkgYWdyZWUgd2l0aCB5b3Ugb24gdGhpcywgYnV0IGF0IHRoZSBzYW1lIHRpbWUgd2Ug
YXJlIGhhdmluZyBwcm9ibGVtcw0KPiB3aXRoIGN1c3RvbWVycyBpbiB0aGUgZmllbGQgLS0gaXQg
aXMgbm90IGxpa2Ugd2UgY2FuIHdhaXQgdG8gc29sdmUgdGhlDQo+IHByb2JsZW0gb24gQVJNIGFu
eSBsb25nZXIuIEFuZCB0aGUgaXNzdWUgaXMgY2VydGFpbmx5IGZhciBsZXNzIGxpa2VseSB0bw0K
PiBoYXBwZW4gb24geDg2ICh0aGVyZSBpcyBubyB2d2ZpPW5hdGl2ZSwgcmlnaHQ/KSBJbiBvdGhl
ciB3b3JkcywgSSB0aGluaw0KPiBpdCBpcyBiZXR0ZXIgdG8gaGF2ZSBoYWxmIG9mIHRoZSBzb2x1
dGlvbiBub3cgdG8gc29sdmUgdGhlIHdvcnN0IHBhcnQgb2YNCj4gdGhlIHByb2JsZW0gdGhhbiB0
byB3YWl0IG1vcmUgbW9udGhzIGZvciBhIGZ1bGwgc29sdXRpb24uDQoNCkFuIHg4NiBlcXVpdmFs
ZW50IG9mIHZ3Zmk9bmF0aXZlIGNvdWxkIGJlIGltcGxlbWVudGVkIGVhc2lseSwgYnV0IEFGQUlL
IG5vYm9keSBoYXMgYXNrZWQgZm9yIGl0IHlldC4gIEkgYWdyZWUgdGhhdCB3ZSBuZWVkIHRvIGZp
eCBpZiBmb3IgQVJNLCBhbmQgc28gaW4gdGhlIGFic2VuY2Ugb2Ygc29tZW9uZSB3aXRoIHRoZSB0
aW1lIHRvIGZpeCB1cCB0aGUgeDg2IHNpZGUsIEkgdGhpbmsgZml4aW5nIEFSTS1vbmx5IGlzIHRo
ZSB3YXkgdG8gZ28uDQoNCkl0IHdvdWxkIGJlIGdvb2QgaWYgd2UgY291bGQgYWRkIGFwcHJvcHJp
YXRlIGNvbW1lbnRzIHdhcm5pbmcgYW55b25lIHdobyBpbXBsZW1lbnRzIGBobHQ9bmF0aXZlYCBv
biB4ODYgdGhlIHByb2JsZW1zIHRoZXnigJlsbCBmYWNlIGFuZCBob3cgdG8gZml4IHRoZW0uICBO
b3Qgc3VyZSB0aGUgYmVzdCBwbGFjZSB0byBkbyB0aGF0OyBpbiB0aGUgVk1YIC8gU1ZNIGNvZGUg
dGhhdCBzZXRzIHRoZSBleGl0IGZvciBITFQgJmM/DQoNCiAtR2VvcmdlDQoNCg==


From xen-devel-bounces@lists.xenproject.org Mon Jan 17 11:07:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 11:07:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258108.444118 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9PrX-00057E-2J; Mon, 17 Jan 2022 11:07:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258108.444118; Mon, 17 Jan 2022 11:07:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9PrW-00056w-Ug; Mon, 17 Jan 2022 11:07:46 +0000
Received: by outflank-mailman (input) for mailman id 258108;
 Mon, 17 Jan 2022 11:07:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ZUQe=SB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9PrV-00056q-4R
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 11:07:45 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b1bf8623-7785-11ec-9bbc-9dff3e4ee8c5;
 Mon, 17 Jan 2022 12:07:44 +0100 (CET)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2057.outbound.protection.outlook.com [104.47.14.57]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-40-MKB9EXg_P7u75f-inkB47A-1; Mon, 17 Jan 2022 12:07:41 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5774.eurprd04.prod.outlook.com (2603:10a6:803:eb::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.12; Mon, 17 Jan
 2022 11:07:40 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.013; Mon, 17 Jan 2022
 11:07:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b1bf8623-7785-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642417663;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=ihUnC56vuaM9FzmZhn8NfOhIp3Vv8NxTu0GYUJs7XcQ=;
	b=nTLUZrq20EByc1VblVWTj1X1c6+J1zK3Bo0orjnSKa93OIicwufTcowzaSVCqx2/PwP/cw
	BZEfVVY121ersiN2zVLRBC6POvdn61UPZW2E+AKhpkKRvYtfCvpLA1+qwdLHh5+a8GF8rb
	ZZfv+gBX4+p4lHNTDjILhUVhjgcOoeI=
X-MC-Unique: MKB9EXg_P7u75f-inkB47A-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gr5l2VQ5mQFG8gDGM4swD3CTOuzLgngXSqn0JjOk+spteIl7LnOOd4xyFZReIeWd76hmJ1HsiiNTM/MsFwpCYkQEyUAdg/GkZs1Vt4gQlWMTYJUPT5p9SKQ/SH+V+gapk3LNPE7iVW3ZDfZtiVktT7tXvDcorhw37OXFPTkyuovEv7JM3domKngWwz01RJW3pX+22pHJ/Xo/Jun9yy26OjYgcDwwyBcyZn3eP3jV3ymhZKBbpXuDtskRWj9v410Hyvqm2L3mY/MK0hotcPfz5iOwGSfa6+7Tl+JzTEgkH4vhuNZVyJHyXrvmbThfya5gFR2xyvBIm24K3EobeG0oyQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ihUnC56vuaM9FzmZhn8NfOhIp3Vv8NxTu0GYUJs7XcQ=;
 b=LiVP5jqXB+bqsd8GD7Ug29yoxRsVMlOE/kymnpzj6PaEQcQmqUVZDed16oV4sUypIZUTupv0Lq1j0OeTjWf8fzfj9HjQIkoYqjfPVqzdjh4xwKB7WL0+VZbl2pqojNGj7XAkxHfMHgCdic7uYgm1TvLdMA0SwmQ91MmFZXWoNVxkuqY/12g210oTh9J7D8BBu1D4s8cs+bdi5bx3/ZRVG3KvDVDgQVefm7bB+26IkjC9nn4maaLBsr5QZjChK614DGlqKfEKWv054UYJLtoFtXpsybHeO4cQlBZM0ICIrx3kisje6EjKvTXTC7BtRvEtADEh5ubt0SAkZcob6gg1dg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c060f55e-7b18-b559-f703-b3aace50f438@suse.com>
Date: Mon, 17 Jan 2022 12:07:38 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 1/3] x86/msr: Split MSR_SPEC_CTRL handling
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220113163833.3831-1-andrew.cooper3@citrix.com>
 <20220113163833.3831-2-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220113163833.3831-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P194CA0093.EURP194.PROD.OUTLOOK.COM
 (2603:10a6:209:8f::34) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b862f197-0805-4dd5-27d3-08d9d9a993f1
X-MS-TrafficTypeDiagnostic: VI1PR04MB5774:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB57741AEB64565A0F68C866F7B3579@VI1PR04MB5774.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:
	THKQ/jbeRm8SPHvq3Lyy0oZSjRzf0E2I7VqAeo8OfUE0MXqz2BpuiYq+xf9vds0ZTv0oExCw+wdnOT4KVVtHiqVswks0nfGSQB/d29CpUnS6bzS2Xofp8SSG44GWjxDRArIdqtj0GSk5sUGY2cGjsPC0adFj/I+kGedDC1G7FyIOkrJ6FJVJPlz6Iqp+qnBTsR/hlC6PzItwAgmr6xpjU+cBJVb1CtOHdxltwsn2Z1Hi4QnkP8HMRXZGjsW8ymjkxZSV4ezLF2vmsGbkUI4rB24tJX/APCqSXIbVV5u1h7QKkgsP9HlSs7vB18aeIjwND8nQyNIlKdCblDESdgzlElVP2d1gcQO9WX7CLyue0LXTzO7+QUMcs6vbaddraMyx3612On+APepJNrcM21GfnPq50Mv9GpEpscfI5ODvg/Xe3xDnkcBZG/NGYo+efNrhjHRSptOVcJhA5WAQd214BG1Lb20JoYYdH8OVsd0l0KyFnGGxf3kYDAVWvDrWohepcoglf0QjZt/aVXsPM3ZxqKRbS/2b6WPLD3lcS4hweGK8U4VqJukmJ/1JwaWTjyD/FQJf+/RUIX+2ZAObQbcsA6XthJxuvOtm/25DnWIFvVgCx3iHP4HzW0HtESr6GTx4/8y/KPsu48ettOjuZ8nW5yHabRMmaGGs6p+SLlEyj0hcHKw5LIm0279a5tfnSe0QoP9+ZMnoNrwibVlpr3fqPXffy5Xg4UD0KyajXjSBv/4=
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)(6506007)(2616005)(36756003)(83380400001)(31696002)(8676002)(2906002)(6916009)(66556008)(186003)(6486002)(316002)(38100700002)(4326008)(8936002)(54906003)(5660300002)(26005)(66946007)(508600001)(31686004)(86362001)(66476007)(6512007)(53546011)(4744005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RDVxR2cra0lUVHlFeXVMQ1JRQWIrRG50RnM5UDJtdUV1eUdhcFFNNHRXQXgz?=
 =?utf-8?B?MTdEcXI0M1pPbldGbGF2ZklyTGFyeVozTUYwTC9Mdkh1UkNVcFJpSFFTNldl?=
 =?utf-8?B?bVU4bEk2cHo3cnVZeGNHak9lc1EyaFZxcldpcEpvdjFHdG5peW5HeXd0ZGFC?=
 =?utf-8?B?clpIU1ArNkdTQnVrQnZQV3RQdzhKd2JXSzVyN2xYak8wL2lVUHVJVytZTURR?=
 =?utf-8?B?alh1QXZZcG91aWxkTFVMTXc2U3dOSG9pQXhVdG85MGx1a1VTQVJTNklFVEE5?=
 =?utf-8?B?ZkUxV0Q1T3VTQ01QYU9vZ2YzMk5LUVJwMm5jdDQ0NWVJVk1RbzcxZnNoVjgr?=
 =?utf-8?B?YzdpTWxqQysvNXM2dVNrWGJCelVBVWJONVZ1TklLclpSTEVpTTJtb3BhOXNa?=
 =?utf-8?B?WTFOSHdLVlBkS3d3alMrYVNzekFVbVdqK1RvWk5OY3RKOFBNSjhjWVZSZ1li?=
 =?utf-8?B?OGZHVEZGTUZ3TlVmckcvSGdFREwzdUVvS0NqdHZ4QWpGL0hCRGp6NkNIZEdZ?=
 =?utf-8?B?UzR0SEhKdDMrL3hDRXhkUjY3ejFZSnEwVTJJTVBIRnVjbWpsTS9nR2dFb282?=
 =?utf-8?B?N0o5bExDc0pLRHh4VjE5aUhjSFFMTi9EQjBOT3NtRXhHS0NLbS90TUJLL0dQ?=
 =?utf-8?B?RWlqOVJ5YjdNYWpvTDJUc3dnbzB5U08vZithWjJEVHkwdEZsNi9ZcDBDY1Ft?=
 =?utf-8?B?NFZqMDJkK0MyMHJ4LzlCamRXbkFFaGJNVjU1Q3N6dEN6UkIrQmVxL1gvcWR0?=
 =?utf-8?B?ZzhyQXJKR2dQampQUEErWVZvWmxuaGp2SDlxUHhuMzk0NmRKUWZ2ekxXcmJS?=
 =?utf-8?B?NkdZQncwaTQ5YkxZQUE0R0ZkN0QxZFhCUGIwRE9zOFVFcjI0blZmZjFjRy9o?=
 =?utf-8?B?dG01NllnOGY3VHJHV3hRWStqeDBWTVBIc284anB6d3E2NkpJSHJ4cVlEcTZa?=
 =?utf-8?B?UjBENFoySnJjTS9tUDcvTE1kKzlPSkZCZDh0VDhJOG1SVU1XQ3Q0M3p4UVpI?=
 =?utf-8?B?dGFUdzZIYlB6cmxlMkpXOVI5U21mUzFRNStZbG5qQmVhdjZpaTZteHhmR3JG?=
 =?utf-8?B?a05vL0dFbG1QSzFORDZYbWR6TUd0YnNlZ1NTb1FIYUtlOVJOU3ZhVzl6dFY5?=
 =?utf-8?B?bUtEeGcwMFRBU1hkeS9nOWVwVjE0NEVJNm1jdndHaW5NcVZBb0lVL3B5cEtS?=
 =?utf-8?B?UEZ2RlpXems0V0VsVnJTb1pGNEhkc2RIZEQ1SUdJdFd5M0FTTmU0SjhLSXpZ?=
 =?utf-8?B?RkZ0RFFXUERFRUVkbjhiZnJIcDdPTlYzcEJtcUhCYi9TaERYOE9hUk1rS0Nn?=
 =?utf-8?B?Wm53RmwyU3BoN29PTkxTcVF3TFN4MVpHVUJNaGVVVkN1ZGNZWjdqcGQwUGFI?=
 =?utf-8?B?czJSR3N1NG9VVGpycjJrQjFxa2JCbmF4MHRXVElTd0tWb2hFYmVUOFdBK1hl?=
 =?utf-8?B?Um0vMlpHcXRreXFmbkdkUGw5VFJ3RmJuZXVmU2J0V1RGOFM1VGJUTnVCTXFh?=
 =?utf-8?B?aVJBNmhVSi9RMzRnYzlJQ3FYK2Q2TURJMkx5WEs3TEpObC9TdEs0TVFQVzJX?=
 =?utf-8?B?OFJyTGFoOVM3N2hIbzZFazdQcGVmR3BvOGpVRHNpMGZsME1XbnpFM3pKamZr?=
 =?utf-8?B?aW96RW44aXpONHpVdGs1L3E0TWpxdHl0QWhEQVNEaDJ5aGlhQ3dUZWpES2xQ?=
 =?utf-8?B?U1FGbm82SkRhQWNSMmI3cWhSSW0vR1ZsTDJJakpYWkhTdTduM2NHR0ZxMjN4?=
 =?utf-8?B?U1VMRWhOWkFZYk9wT3VNWm0rRk1KWDllQ2dEL1RLaDZ1T3F5TitoS3Mwci9x?=
 =?utf-8?B?YVdmbWZyS1VUVUNCV1NBNDEyQjh3dllVK1hMbkVZSDRBU0dQWUtncjdiWWJs?=
 =?utf-8?B?S0ZGdnNYMUtZRTN5NDNkQmd5Z2QvN3Y4Zkp4WkRQbTlxTXJjK3MwSW1IZXVH?=
 =?utf-8?B?RzhsK3R1c3lFSXJ0elZnQlFzdDFTdGY4djBhSE94MFZkKzhtb0lMZi9RYnIy?=
 =?utf-8?B?dEpQQjlFUEtrcEtJUFA2YXhzZXpBeUJrQzMwV0hjVVlXdW9Bb2xVZVJYbnd3?=
 =?utf-8?B?WThWclo0MXVrSXp4V2xtaGh3cSt1YncvOEpFTFJqK00vOTQ1OU51SVNlbDlD?=
 =?utf-8?B?SFBibDJkdDlRZk5NeFBid1JMR09yS3JnRTMwM29LK3Z6ek1oY3Nsb3J5YUJC?=
 =?utf-8?Q?9Q+IBKF4NFmmtHJKycEJv/A=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b862f197-0805-4dd5-27d3-08d9d9a993f1
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2022 11:07:40.5600
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: w/qX9FuX85hVr1S+gDOPjkgYDQKURr2J1TuHkruyMSJNI2VteG1nRXUkLJqeTF9AReGf0igkB32R59A7dngd5A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5774

On 13.01.2022 17:38, Andrew Cooper wrote:
> In order to fix a VT-x bug, and support MSR_SPEC_CTRL on AMD, there will need
> to be three different access methods for where the guest's value lives.
> However, it would be better not to duplicate the #GP checking logic.
> 
> guest_{rd,wr}msr() are always called first in the PV and HVM MSR paths, so we
> can repurpose X86EMUL_UNHANDLEABLE slightly for this.  This is going to be a
> common pattern for other MSRs too in the future.

I consider this repurposing risky. Did you consider using e.g.
X86EMUL_DONE or X86EMUL_RETRY instead? Neither of the two is
presently used by the MSR machinery afaics.

What's worse, aren't you making it possible to hit the
ASSERT_UNREACHABLE() in hvm_save_cpu_msrs() as well as in
XEN_DOMCTL_get_vcpu_msrs handling? And have hvm_load_cpu_msrs()
produce -ENXIO and XEN_DOMCTL_set_vcpu_msrs return -EINVAL?

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 11:12:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 11:12:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258112.444128 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Pw0-0006Z1-Ob; Mon, 17 Jan 2022 11:12:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258112.444128; Mon, 17 Jan 2022 11:12:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Pw0-0006Yu-LJ; Mon, 17 Jan 2022 11:12:24 +0000
Received: by outflank-mailman (input) for mailman id 258112;
 Mon, 17 Jan 2022 11:12:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=d+jO=SB=gmail.com=gengdongjiu1@srs-se1.protection.inumbo.net>)
 id 1n9Pvz-0006Yo-9I
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 11:12:23 +0000
Received: from mail-lf1-x144.google.com (mail-lf1-x144.google.com
 [2a00:1450:4864:20::144])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 57947c91-7786-11ec-9bbc-9dff3e4ee8c5;
 Mon, 17 Jan 2022 12:12:22 +0100 (CET)
Received: by mail-lf1-x144.google.com with SMTP id x22so56113687lfd.10
 for <xen-devel@lists.xenproject.org>; Mon, 17 Jan 2022 03:12:22 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 57947c91-7786-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc:content-transfer-encoding;
        bh=E40JIKKcYDnRr291NMTuMudq+LmbDH8XKKLPSlP8GII=;
        b=cBQ9wfXDvwiSSaKbzhZbOXN5RkHeSqcFAWSbQ/0GbmHiOPHtFrQN+935y7yjGpHzxe
         3lMv9631G6usi9FipdeiymOgym9l0mwkSmEPrPEJIpgrmp00mOhIxpO6wdf6z45Q/IrA
         j1zU5Bq8yz/vdZCAS/nLzcc816pSuwetUaFnpSe1HOSMJlTGNxcZaWcvWJAP5aMwVkCt
         xwwpUWvzxk1+goqko12x6lfNd6UHxZGl8H0Mz3IcVsXhxxEg6ntZ2kSOO6EON643XTQS
         6DShYqbfmizwJqIgBZIG9lQC45+p/h89LXSF7uUvh4HjBrRw2TT693OVbyBOwVPzBh+m
         HeYA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc:content-transfer-encoding;
        bh=E40JIKKcYDnRr291NMTuMudq+LmbDH8XKKLPSlP8GII=;
        b=pH2Zo2qvycJa018OhJtwYaGxis0d/1jnSrsUYZtR1XLnLwwbWeHjPg42NOCmHiN23G
         ONn6+WPlFQKdfFAcmtcurRtybN6eVfE1uKO2V9rJLaJt3iufWKjClw3VlIQRSwQUhu8g
         w92386bDjZ2/rQkHbvYdQtJlfSrlVHBEOib0GM2Ygp9hRchgs0kUqIoF3shFLUcut9Ul
         GqmWNdHuXpGK1ZSx2ojVymdvqlg1DjMZklaz8qskbiMCDfht0Lm0nDkCFGlyf8cFYv7J
         yJu6YTBbyT1phCuPYnBiSE4JOGWyRAyCj2SXlKrJn2LmGyOJAHwTemYuBPjAmErb3h55
         1O1Q==
X-Gm-Message-State: AOAM533nqa2Kctq6nAbnHuxVSbOrBpqkCdGyCc7w2xbz10PuH/NYaOAq
	NO12z83lL42/hjvq2+Y8yVqdoI/Y/azKJhshdVg=
X-Google-Smtp-Source: ABdhPJz2gJXXNBJnVXy4VbWypioAYZg+GwRwEXk/grNPFn9CDO/55m4LRaJzNdZsKCK0iJ1vJiHBuMYh3f3M4c7KOFg=
X-Received: by 2002:a19:5e16:: with SMTP id s22mr15690205lfb.209.1642417941612;
 Mon, 17 Jan 2022 03:12:21 -0800 (PST)
MIME-Version: 1.0
References: <20220117064003.3367188-1-gengdongjiu1@gmail.com> <94945C70-A608-47E9-890E-8CA6882D7379@arm.com>
In-Reply-To: <94945C70-A608-47E9-890E-8CA6882D7379@arm.com>
From: Dongjiu Geng <gengdongjiu1@gmail.com>
Date: Mon, 17 Jan 2022 19:12:11 +0800
Message-ID: <CABSBigTdLbV4b8uB-MyoBuU2uFe2xc8ML4WizsHD80A3nygtCg@mail.gmail.com>
Subject: Re: [PATCH v4] xen/arm: Allow QEMU platform to be built with GICv2
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: "sstabellini@kernel.org" <sstabellini@kernel.org>, "julien@xen.org" <julien@xen.org>, 
	"Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>, 
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Bertrand Marquis <Bertrand.Marquis@arm.com> =E4=BA=8E2022=E5=B9=B41=E6=9C=
=8817=E6=97=A5=E5=91=A8=E4=B8=80 17:00=E5=86=99=E9=81=93=EF=BC=9A
>
> Hi,
>
> > On 17 Jan 2022, at 06:40, Dongjiu Geng <gengdongjiu1@gmail.com> wrote:
> >
> > It turns out that QEMU has been supporting GICv2 virtualization since
> > v3.1.0. So remove the dependencies on GICv3. If we want to use GICv3,
> > we can select the QEMU_LEGACY configuration.
>
> I am bit puzzled by this change introducing a legacy option actually sele=
cting the newest GIC interface.
>
> Can=E2=80=99t we do the opposite and introduce a QEMU_GICV2 instead ?
>
> Also why do we need to remove gic-v3 support ? The code should actually s=
elect which gic to use depending on the device tree.

QEMU platfrom only select GICv3,  so I remove this limitation,  let
user or developer selects gic version is better.

>
> Regards
> Bertrand
>
> >
> > Signed-off-by: Dongjiu Geng <gengdongjiu1@gmail.com>
> > ---
> > xen/arch/arm/platforms/Kconfig | 10 +++++++++-
> > 1 file changed, 9 insertions(+), 1 deletion(-)
> >
> > diff --git a/xen/arch/arm/platforms/Kconfig b/xen/arch/arm/platforms/Kc=
onfig
> > index c93a6b2756..41e82a42ee 100644
> > --- a/xen/arch/arm/platforms/Kconfig
> > +++ b/xen/arch/arm/platforms/Kconfig
> > @@ -13,7 +13,15 @@ config ALL_PLAT
> >       automatically select any of the related drivers.
> >
> > config QEMU
> > -     bool "QEMU aarch virt machine support"
> > +     bool "QEMU aarch virt machine support >=3D v3.1.0"
> > +     depends on ARM_64
> > +     select HAS_PL011
> > +     ---help---
> > +     Enable all the required drivers for QEMU aarch64 virt emulated
> > +     machine.
> > +
> > +config QEMU_LEGACY
> > +     bool "QEMU aarch virt machine support < v3.1.0"
> >       depends on ARM_64
> >       select GICV3
> >       select HAS_PL011
> > --
> > 2.25.1
> >
>


From xen-devel-bounces@lists.xenproject.org Mon Jan 17 11:13:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 11:13:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258115.444140 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Px4-00077h-2I; Mon, 17 Jan 2022 11:13:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258115.444140; Mon, 17 Jan 2022 11:13:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Px3-00077a-VV; Mon, 17 Jan 2022 11:13:29 +0000
Received: by outflank-mailman (input) for mailman id 258115;
 Mon, 17 Jan 2022 11:13:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=EaPS=SB=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n9Px2-00077G-PU
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 11:13:28 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7e739e35-7786-11ec-9bbc-9dff3e4ee8c5;
 Mon, 17 Jan 2022 12:13:27 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 0197921122;
 Mon, 17 Jan 2022 11:13:27 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id B32CE13AE2;
 Mon, 17 Jan 2022 11:13:26 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Me1iKlZP5WGncQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 17 Jan 2022 11:13:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7e739e35-7786-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642418007; 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=MHQU4SguvEvAxPxcRApfueFwZ+ZGVAMXWXUu2pVpxD8=;
	b=FAcz/wejdF8X0HqvtXeQfbXdjYYa1aP/iVnL4ZpB++vK5inOqbV7S74HAyXVvFWKAc2fEK
	1D75CGLZQHtlYryC3fMySHobIUhSEh0ZJ53dtD86fGcod/hYvWTAFtmo0YOsPK0Zui62Jb
	s5GhRh4Jq8BkmX03xx8WjKnHQt7ssDk=
Subject: Re: sched=null vwfi=native and call_rcu()
To: George Dunlap <George.Dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: Dario Faggioli <dfaggioli@suse.com>, "julien@xen.org" <julien@xen.org>,
 Jan Beulich <JBeulich@suse.com>,
 "bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
 Roger Pau Monne <roger.pau@citrix.com>,
 "Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <Andrew.Cooper3@citrix.com>
References: <alpine.DEB.2.22.394.2201051615060.2060010@ubuntu-linux-20-04-desktop>
 <20fbb361-b416-6965-614d-a6283a7e7550@xen.org>
 <alpine.DEB.2.22.394.2201061747140.2060010@ubuntu-linux-20-04-desktop>
 <0cb5a1ceff3afc6c6d4319c9f6dd06a06a93a294.camel@suse.com>
 <alpine.DEB.2.22.394.2201141253080.19362@ubuntu-linux-20-04-desktop>
 <B9187426-3A8D-4687-A00B-487A6B4EF1D7@citrix.com>
From: Juergen Gross <jgross@suse.com>
Message-ID: <619e264e-9d4e-f97b-227d-7917ade0bbe8@suse.com>
Date: Mon, 17 Jan 2022 12:13:26 +0100
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: <B9187426-3A8D-4687-A00B-487A6B4EF1D7@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="XGlj6sSaJbXukYxxtj91O8FWWiYEGRUCD"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--XGlj6sSaJbXukYxxtj91O8FWWiYEGRUCD
Content-Type: multipart/mixed; boundary="TUxQdIlz1eOkHPxUbbTMvg3sR7jAcbPB7";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: George Dunlap <George.Dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: Dario Faggioli <dfaggioli@suse.com>, "julien@xen.org" <julien@xen.org>,
 Jan Beulich <JBeulich@suse.com>,
 "bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
 Roger Pau Monne <roger.pau@citrix.com>,
 "Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <Andrew.Cooper3@citrix.com>
Message-ID: <619e264e-9d4e-f97b-227d-7917ade0bbe8@suse.com>
Subject: Re: sched=null vwfi=native and call_rcu()
References: <alpine.DEB.2.22.394.2201051615060.2060010@ubuntu-linux-20-04-desktop>
 <20fbb361-b416-6965-614d-a6283a7e7550@xen.org>
 <alpine.DEB.2.22.394.2201061747140.2060010@ubuntu-linux-20-04-desktop>
 <0cb5a1ceff3afc6c6d4319c9f6dd06a06a93a294.camel@suse.com>
 <alpine.DEB.2.22.394.2201141253080.19362@ubuntu-linux-20-04-desktop>
 <B9187426-3A8D-4687-A00B-487A6B4EF1D7@citrix.com>
In-Reply-To: <B9187426-3A8D-4687-A00B-487A6B4EF1D7@citrix.com>

--TUxQdIlz1eOkHPxUbbTMvg3sR7jAcbPB7
Content-Type: multipart/mixed;
 boundary="------------3AA6DD06B22624A73E490CD9"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------3AA6DD06B22624A73E490CD9
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 17.01.22 12:05, George Dunlap wrote:
>=20
>=20
>> On Jan 14, 2022, at 9:01 PM, Stefano Stabellini <sstabellini@kernel.or=
g> wrote:
>>
>> On Fri, 14 Jan 2022, Dario Faggioli wrote:
>>> On Thu, 2022-01-06 at 17:52 -0800, Stefano Stabellini wrote:
>>>> On Thu, 6 Jan 2022, Julien Grall wrote:
>>>>>
>>>>> This issue and solution were discussed numerous time on the ML. In
>>>>> short, we
>>>>> want to tell the RCU that CPU running in guest context are always
>>>>> quiesced.
>>>>> For more details, you can read the previous thread (which also
>>>>> contains a link
>>>>> to the one before):
>>>>>
>>>>> https://nam04.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2=
Flore.kernel.org%2Fxen-devel%2Ffe3dd9f0-b035-01fe-3e01-ddf065f182ab%40cod=
iax.se%2F&amp;data=3D04%7C01%7CGeorge.Dunlap%40citrix.com%7Cb6795e0be3af4=
16841a408d9d7a12030%7C335836de42ef43a2b145348c2ee9ca5b%7C0%7C0%7C63777790=
9305566330%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLC=
JBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=3D9%2BoiFfdK3rGAeWFSNCRu5aS=
uYgql1XZcaGJgT3aRsOA%3D&amp;reserved=3D0
>>>>
>>>> Thanks Julien for the pointer!
>>>>
>>>> Dario, I forward-ported your three patches to staging:
>>>> https://nam04.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2F=
gitlab.com%2Fxen-project%2Fpeople%2Fsstabellini%2Fxen%2F-%2Ftree%2Frcu-qu=
iet&amp;data=3D04%7C01%7CGeorge.Dunlap%40citrix.com%7Cb6795e0be3af416841a=
408d9d7a12030%7C335836de42ef43a2b145348c2ee9ca5b%7C0%7C0%7C63777790930556=
6330%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6=
Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=3DvrNN5KgwXj93ZThreIDNB7UgKJdPNz%=
2BoL98b%2FoopN8w%3D&amp;reserved=3D0
>>>>
>>> Hi Stefano!
>>>
>>> I definitely would like to see the end of this issue, so thanks a lot=

>>> for your interest and your help with the patches.
>>>
>>>> I can confirm that they fix the bug. Note that I had to add a small
>>>> change on top to remove the ASSERT at the beginning of
>>>> rcu_quiet_enter:
>>>> https://nam04.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2F=
gitlab.com%2Fxen-project%2Fpeople%2Fsstabellini%2Fxen%2F-%2Fcommit%2F6fc0=
2b90814d3fe630715e353d16f397a5b280f9&amp;data=3D04%7C01%7CGeorge.Dunlap%4=
0citrix.com%7Cb6795e0be3af416841a408d9d7a12030%7C335836de42ef43a2b145348c=
2ee9ca5b%7C0%7C0%7C637777909305566330%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4=
wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=3D=
vjxT35b%2FglqzzA4DCLqTjbo0bAfOjtLcvN90OFs8U9Q%3D&amp;reserved=3D0
>>>>
>>> Yeah, that should be fine.
>>>
>>>> Would you be up for submitting them for upstreaming? I would prefer
>>>> if
>>>> you send out the patches because I cannot claim to understand them
>>>> completely (except for the one doing renaming :-P )
>>>>
>>> Haha! So, I am up for properly submitting, but there's one problem. A=
s
>>> you've probably got, the idea here is to use transitions toward the
>>> guest and inside the hypervisor as RCU quiescence and "activation"
>>> points.
>>>
>>> Now, on ARM, that just meant calling rcu_quiet_exit() in
>>> enter_hypervisor_from_guest() and calling rcu_quiet_enter() in
>>> leave_hypervisor_to_guest(). Nice and easy, and even myself --and I'm=

>>> definitely not an ARM person-- cloud understand it (although with som=
e
>>> help from Julien) and put the patches together.
>>>
>>> However, the problem is really arch independent and, despite not
>>> surfacing equally frequently, it affects x86 as well. And for x86 the=

>>> situation is by far not equally nice, when it comes to identifying al=
l
>>> the places from where to call rcu_quiet_{enter,exit}().
>>>
>>> And finding out where to put them, among the various functions that w=
e
>>> have in the various entry.S variants is where I stopped. The plan was=

>>> to get back to it, but as shamefully as it sounds, I could not do tha=
t
>>> yet.
>>>
>>> So, if anyone wants to help with this, handing over suggestions for
>>> potential good spots, that would help a lot.
>>
>> Unfortunately I cannot volunteer due to time and also because I wouldn=
't
>> know where to look and I don't have a reproducer or a test environment=

>> on x86. I would be flying blind.
>>
>>
>>> Alternatively, we can submit the series as ARM-only... But I fear tha=
t
>>> the x86 side of things would then be easily forgotten. :-(
>>
>> I agree with you on this, but at the same time we are having problems
>> with customers in the field -- it is not like we can wait to solve the=

>> problem on ARM any longer. And the issue is certainly far less likely =
to
>> happen on x86 (there is no vwfi=3Dnative, right?) In other words, I th=
ink
>> it is better to have half of the solution now to solve the worst part =
of
>> the problem than to wait more months for a full solution.
>=20
> An x86 equivalent of vwfi=3Dnative could be implemented easily, but AFA=
IK nobody has asked for it yet.  I agree that we need to fix if for ARM, =
and so in the absence of someone with the time to fix up the x86 side, I =
think fixing ARM-only is the way to go.
>=20
> It would be good if we could add appropriate comments warning anyone wh=
o implements `hlt=3Dnative` on x86 the problems they=E2=80=99ll face and =
how to fix them.  Not sure the best place to do that; in the VMX / SVM co=
de that sets the exit for HLT &c?

But wouldn't a guest in a busy loop on x86 with NULL scheduler suffer
from the same problem?

And wouldn't that be a problem for PV guests, too?


Juergen

--------------3AA6DD06B22624A73E490CD9
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-----

--------------3AA6DD06B22624A73E490CD9--

--TUxQdIlz1eOkHPxUbbTMvg3sR7jAcbPB7--

--XGlj6sSaJbXukYxxtj91O8FWWiYEGRUCD
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHlT1YFAwAAAAAACgkQsN6d1ii/Ey9Y
Hwf+Ikk+WDVayiMbfrv13iI2bD7SE597j6OcBLMX1biP72dmxymvArDn1h2H2XmjvIPtkV6SUfJ1
bZAKYsT05BXVIfeBP3APhzL4Rr6N6AzH5q8BBi1Jm4eIUlWNw+D3A5F2v+A5S607WF8yo5nTkuwv
lTIJcazJRO909GcHMIYV/osxeg8yZRyG8Js6bd7ewquCyHE382X3BKFVdpn3fdoUg80yGyKGuCFH
3uBAlvTba1MFZ0UXrj+yN9rPdzM2vebtkSt4dxUSL1j+Xpcp8/fLzwTYnMeCW3m5GkXMUiign0XO
aWaNQDxIzcDfgiXRjiElKvcuzbuO6/02hKXti9MfJQ==
=D2HQ
-----END PGP SIGNATURE-----

--XGlj6sSaJbXukYxxtj91O8FWWiYEGRUCD--


From xen-devel-bounces@lists.xenproject.org Mon Jan 17 11:23:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 11:23:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258118.444150 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Q68-0000AK-VX; Mon, 17 Jan 2022 11:22:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258118.444150; Mon, 17 Jan 2022 11: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 1n9Q68-0000AD-SY; Mon, 17 Jan 2022 11:22:52 +0000
Received: by outflank-mailman (input) for mailman id 258118;
 Mon, 17 Jan 2022 11:22:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ZUQe=SB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9Q67-0000A1-EB
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 11:22:51 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cd9da4e5-7787-11ec-a115-11989b9578b4;
 Mon, 17 Jan 2022 12:22:50 +0100 (CET)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2051.outbound.protection.outlook.com [104.47.13.51]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-9-kLfYRzsmOjuWh4zHr0hPJg-1; Mon, 17 Jan 2022 12:22:48 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2430.eurprd04.prod.outlook.com (2603:10a6:800:2b::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.10; Mon, 17 Jan
 2022 11:22:45 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.013; Mon, 17 Jan 2022
 11:22:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cd9da4e5-7787-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642418569;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=SQ7ESBHdjDXa59A0M0501jtwdXB0Smdsc0zNZ+4Ggy8=;
	b=Z+Wst87VuRDUAWa5iaUwDXqfyhYLNLg8PR/G24jKNf3S+EiBtHn/Gv8vUwxA3K+t125/sK
	JLZGgQ/FDPR0Phnj7WwMK2SwM9NeLnwRczBUJR5mziZNR/rqCCp1RIVZ93bf0DdD7j3unx
	qNvTgLMtCLr1QwJxcxp/7MjCDtXmUsY=
X-MC-Unique: kLfYRzsmOjuWh4zHr0hPJg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XagqIlPjubytHun8e/EjHBx8Vun0EGqy7D7Fa8zBce+8mEKgUVtKX//WmjLml3EoxFj3pJMQuaYNGLq3dKtfTewGlHmCfJOibG/xzCMgPkBWJCkivlMBu0JW6Z1HfgId0Rl0aW5RvNzL3vjbpgorOqC28wlH6uSOUrfDGmNrdcm3djw6FfSaMMAfa6MVcysvLXBKaBuCKUaI/UnHL0XFkZeGlTfC+VIvaXusaxbMWA2H7RL9rxQG1fCHJAa0g4YRFqYWyTvOQDlGhxOBkflq5VPLioyxDxOAGMBPoym0uQmmaBK9DkCBXZi7MJA/bGHMyJS8HzeIhf+Dz5/5dntV9g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SQ7ESBHdjDXa59A0M0501jtwdXB0Smdsc0zNZ+4Ggy8=;
 b=NMiTr43WpTfBDqrktoeM1EHrWAhwICNgobjLCZhEjWPMU9r/xDurS3Q9p6L2OWXHKn7ZJLuwoR1d0UTH/y6wxVJfgb9J9NIkL3BL7l0OPomRnBYZ/fMA/wce5yEsoBM2/Kv7EczN/4TTbC6S4h6zXTJ4M548QUZJ5ZrsHEOVqtkwO9W+0GvJVvpHiQsl5GNRgtLHeMa1lF33WtcQsqXtuJNYn2YFBxQ5B3oQQFt5tWrIv3k83Aohxrb3cvfVzOyqa1F1THNpHSC7vp43TObp5utghVzzB6Y5wUCLllAK5UfGIC16ZJUC3Q55pQGxJYa/5JPFyrNgdXxZPbwwaTGnGA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <aebd4542-8eb8-5073-a578-5b96a6354b84@suse.com>
Date: Mon, 17 Jan 2022 12:22:41 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 2/3] x86/spec-ctrl: Drop
 SPEC_CTRL_{ENTRY_FROM,EXIT_TO}_HVM
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
 Kevin Tian <kevin.tian@intel.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220113163833.3831-1-andrew.cooper3@citrix.com>
 <20220113163833.3831-3-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220113163833.3831-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR05CA0031.eurprd05.prod.outlook.com
 (2603:10a6:20b:2e::44) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 61d22e53-2281-4d51-dc15-08d9d9abaef1
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2430:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB2430D6BBCC94FB8FEC39E202B3579@VI1PR0401MB2430.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:
	d97kUhRwFPFGxvN91ftyXhm6Qrq565HQN/5tTSktrqKo8hPJvUOOpZ73dEhi+AgRuvPj42++aezZgeLwCZh3hfds6hGdaweesLSv/zBWaGmmi7WB+ni5iCrk4z1e6QqMsKbzR+U9uPxa/AwatVLLxwccs1sQ+pkymr+ySrH5TdXIUit7NUgbnvMDiINtZODQMp6o56Tv4od7/nQN3bimU0EaM12j2qMUSCoNlCDuKXpi/yYTDsUROpmG9dWR/bSSA/N2tWqY+uu6eI7yg4bpT6qpBV8h3TG8MfyuLajG68G/Mw3mcdt0/oMrAbDr8dPrJEBANVyBRDvFK9ELO8OsnU4e3R673uD0Beku7h79UTfE8IA0PqxnNFaNUPLiqPQwz+PJitp8S+K6JuG/ReNNGZ9he1ZWXprqG4VpZdW3S0FJJBN8Ugmf3aYg8fXpJkXsbMmbBVX2t2C+cnqg4T5WmpYksUC0oZRj7TeuGdywAlnmuerf25sUNN/2b5zpo34xKcopN9FFgrhXu6I14NL2qXtPZIzOic54y947hhVQIJU/8L4Y9imLMeJjaUSc0DjeJNGq0BWoLFl3W5Kp9vTPkHWppzOkq6JVIEAH3wCa2e+2LiSlwOFKF0sucmJSAXbL1t9EsG5I2A6wqkZmrGUl3GP+Z9aASiudYziHocvw7qyIxsAPx86HVnGx2NIZQpgrP4N1T9nRiSEEgXY6La8cohtvlFjqaVycpbj2OuBlt2HTaQaL05R8FlYr5UgZ//uO
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)(86362001)(316002)(8676002)(6512007)(8936002)(2906002)(83380400001)(4326008)(38100700002)(54906003)(6666004)(31696002)(5660300002)(2616005)(6916009)(66946007)(66556008)(6506007)(53546011)(66476007)(508600001)(186003)(36756003)(26005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dVhuSzBVajgvQUpreDRLYytiSTdMbkNqcFVwcEVFaEY0YS9BVWtKRGtiV1BU?=
 =?utf-8?B?eHJibkZNN3JRMzNhL3hzdHFaeEZOVFFtYnlpQkxKWUMzVlJoM3owNXZBbmE2?=
 =?utf-8?B?TGJ6dHhYR1VZT09iN05ob292SVcvMnlnZEpLSS9kSngva1pjQ2t1TmNjdE4w?=
 =?utf-8?B?bm1oVkg3SzI4U3NhYnIzUUFSdXdIdnJ2YUxRT2pEZWRyaENhZGJiNFUwSUg3?=
 =?utf-8?B?WW9mUm5rZThwdStNME1RNzNRUHFNbStCMk1jci9GNFNqZU9YeXNYZXhtMHdD?=
 =?utf-8?B?NkdSakVhWmlNb0dPaEY5MHRvVnBUYXFoNkg2UGN5T2p6UW9aRG1XcGtGWEln?=
 =?utf-8?B?RHBwQk5nTmdyaGpKWU94Z3h0MXdDV3JtNHVmL0NiUHZ1OTFOejZuaU45MEMv?=
 =?utf-8?B?MnVEMUVxMWQ0RFNtQzBWaUZEckQ1czZST0JWTWJWT1BKTHdsZ2hid2FoOE1m?=
 =?utf-8?B?RDdDa0ErNVF1eTlYMEpWSGhJOG50YzJJbVo5dzM2SkFjMjZLRkszdFVFOEdR?=
 =?utf-8?B?UVNsUXBwRm1ZMnZRZ0NjR0xPRkdXSDJSOFlmSkhWeE9YN1BpbFBOOWdYNU0x?=
 =?utf-8?B?bmJhT0lFb2xsNmFVc2tpK0JXMWllcHBMbTN6WWh5dVJ6cDV0dXpTSStlMnpM?=
 =?utf-8?B?SG16KytZQVVpaC9yWU9XVk82U2tIbnJqR0trYXFGKzVuZndRTkt4a0VSaXJ0?=
 =?utf-8?B?YlJyOUNyZWxTRjNCVHRvZ25YRkk1UkRlTDl2amV4M3NBWTNqSGsxUU9DcE9k?=
 =?utf-8?B?VmdEOGpHaXJqQTlBemhMY2VOQVczUGxJbTJ3dXJYN3MzSmJSMXJ6L0JldmFx?=
 =?utf-8?B?YVovOHRsM3ZlSSsxN0V1dmZZSU5FOWVUMDBUZjNwcEpuZWhhYkxhZ3B1MXNx?=
 =?utf-8?B?a2lqdXR3aWFPcmR0SFlFTVU1NE1aaDY3QjZNTTRrUTdrZkppYytXY25lZndO?=
 =?utf-8?B?b1VQTDJoY1R3OG5RRCtlZTgvSkxYcHFjSmdIU25veFlGVlVIVWdTRTZ6dGNZ?=
 =?utf-8?B?aENwWnluTHpGUkVrNE9Nb0g4VmdtUEl1SFExVWMyR0ZoTUgwdnY2MFRmTS9X?=
 =?utf-8?B?bXplUmhoMU1RTDFoM3FLWDMzQlovV2VINkhONTVxcFFqNHBGQVFBZkFORHp0?=
 =?utf-8?B?ekUyR29FZFI5TFdac2JQY0hkMTFPYmg1MThxcGN3OUJWWFNSWjJhRlRIUWly?=
 =?utf-8?B?TzcvWS9CMWwxUFlzc0F5VjVHeXFlbUsvTWxraVRxZHpKSjI3bFJJbzBEVDdr?=
 =?utf-8?B?aFl3ejAyQW04ODFjeGp0aHp2WWR6RENFSlg5eXZEd2ViWGRnWnA3ZE95ZzR6?=
 =?utf-8?B?ZHVRNzFEZXV0ekZ2ZnoxcEtvbVNWbzJYY1RhbnpGN2M1YnZyRjI3TGNLcW5Z?=
 =?utf-8?B?TURvMWw5SW5GSUxJdTNlZXlGTGYxNnVnOEMxV012WUQ2VU1MUVNza3I5S1NX?=
 =?utf-8?B?eHVCM1NsU0toTGlpbERVV0laeDRYbExIV0hHRTIxaVNtaFg1Y1N4a3BzeGlT?=
 =?utf-8?B?aVZLVWFxZTN2SUlJc0dRTGFHSkVkd1dhem1qd2RxZkxiak9UNUJmclZ0LzJr?=
 =?utf-8?B?NzkzWklMTUtOcnNwN1I4ZEpSUnpQWkJxZkl6ZDNyRnZHdlNTRnpaQ1dtVFFO?=
 =?utf-8?B?OW5WbU5EMXZTcTdEbDBsTWtlZTkzWGNpUnZ0b0JYbmE2TnZhQnE0aE1FU1R4?=
 =?utf-8?B?MENYWFFQNHhXNlBTdnAwMlAwdkFOYUNIY2lWMk12Sm9MNTY5QU1GZGwzbDR4?=
 =?utf-8?B?dmhHZ0RMa1U5Ni9XbkwzeFBxa2NrNnhlZXNKTWw1K1pselhCM1VMeG03eHBm?=
 =?utf-8?B?My9nR1FoQVYwQ3ZuWERrM1IzQ0hkWUFRaHcrVVdsZEd1Y0pDZFNtcUoyMHF1?=
 =?utf-8?B?SVIyWDlVZEdaQ1Z5UFloTGF1cHdwNU14UUhmSElua1JjeGszQUxwbThxb0Rw?=
 =?utf-8?B?VzVhZXdLM1NkOTlPaGpJWFpvSHVNd1hWTm82dGhoZDNFdi8rdkN3SStXSFFk?=
 =?utf-8?B?ZzZEcnpxRkxTMnQ4QmdKYnc0eWFsTzV4eDQ0bGRVNHRYNzZuSzlsMW55TE1O?=
 =?utf-8?B?VWt0SURLeXU0ZU5Ed0ZwMDhzeUtOd0NkM3RMMTV4VmhRQjFTM2tRSzhTY0ti?=
 =?utf-8?B?TFltMGRZVHplQjl4cGNDY2Z4bTBxQVdkRWhLZktOaEZ4ZlFkZnYyYVZ2Y1RP?=
 =?utf-8?Q?A+fS2KP5nkFGmajnDoRV+DY=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 61d22e53-2281-4d51-dc15-08d9d9abaef1
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2022 11:22:45.0125
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ssqJ5JVvnYLJ6zil2p7OU0Ts5r0iJ7ik5cOXhly5z2SEqhZyHVrUxrrvnzCqwgXJO5ujufoWA37r/qvjfI1haQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2430

On 13.01.2022 17:38, Andrew Cooper wrote:
> --- a/xen/arch/x86/hvm/svm/entry.S
> +++ b/xen/arch/x86/hvm/svm/entry.S
> @@ -59,7 +59,7 @@ __UNLIKELY_END(nsvm_hap)
>          mov VCPUMSR_spec_ctrl_raw(%rax), %eax
>  
>          /* WARNING! `ret`, `call *`, `jmp *` not safe beyond this point. */
> -        SPEC_CTRL_EXIT_TO_HVM   /* Req: a=spec_ctrl %rsp=regs/cpuinfo, Clob: cd */
> +        /* SPEC_CTRL_EXIT_TO_SVM   (nothing currently) */
>  
>          pop  %r15
>          pop  %r14
> @@ -86,7 +86,8 @@ __UNLIKELY_END(nsvm_hap)
>  
>          GET_CURRENT(bx)
>  
> -        SPEC_CTRL_ENTRY_FROM_HVM    /* Req: b=curr %rsp=regs/cpuinfo, Clob: acd */
> +        /* SPEC_CTRL_ENTRY_FROM_SVM    Req: b=curr %rsp=regs/cpuinfo, Clob: ac  */
> +        ALTERNATIVE "", DO_OVERWRITE_RSB, X86_FEATURE_SC_RSB_HVM

Just for my own understanding: The comments you add aren't commented
out macro invocations (as I did read it first), but comments naming
would-be-macros which are then expanded "manually"? That is partly
because initially I read the description saying "Expand and drop the
macros" as meaning that the macros grow in what they contain, which
looked contradictory to them getting dropped at the same time.
Perhaps me not sufficiently understanding the difference between all
possible meanings of "expand" vs "extend" ...

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 11:24:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 11:24:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258122.444162 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Q7f-0000on-Es; Mon, 17 Jan 2022 11:24:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258122.444162; Mon, 17 Jan 2022 11:24:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Q7f-0000og-Bt; Mon, 17 Jan 2022 11:24:27 +0000
Received: by outflank-mailman (input) for mailman id 258122;
 Mon, 17 Jan 2022 11:24:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=SaLw=SB=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n9Q7e-0000oY-Hy
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 11:24:26 +0000
Received: from ppsw-43.csi.cam.ac.uk (ppsw-43.csi.cam.ac.uk [131.111.8.143])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 05b466d4-7788-11ec-9bbc-9dff3e4ee8c5;
 Mon, 17 Jan 2022 12:24:24 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:51790)
 by ppsw-43.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.139]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n9Q7b-000DUK-ng (Exim 4.95) (return-path <amc96@srcf.net>);
 Mon, 17 Jan 2022 11:24:23 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 1FA5D1FC70;
 Mon, 17 Jan 2022 11:24:23 +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: 05b466d4-7788-11ec-9bbc-9dff3e4ee8c5
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <63a36178-7ccf-c682-bbc1-5a9f812a47b9@srcf.net>
Date: Mon, 17 Jan 2022 11:24:22 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220113163833.3831-1-andrew.cooper3@citrix.com>
 <20220113163833.3831-2-andrew.cooper3@citrix.com>
 <c060f55e-7b18-b559-f703-b3aace50f438@suse.com>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: [PATCH 1/3] x86/msr: Split MSR_SPEC_CTRL handling
In-Reply-To: <c060f55e-7b18-b559-f703-b3aace50f438@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17/01/2022 11:07, Jan Beulich wrote:
> On 13.01.2022 17:38, Andrew Cooper wrote:
>> In order to fix a VT-x bug, and support MSR_SPEC_CTRL on AMD, there will need
>> to be three different access methods for where the guest's value lives.
>> However, it would be better not to duplicate the #GP checking logic.
>>
>> guest_{rd,wr}msr() are always called first in the PV and HVM MSR paths, so we
>> can repurpose X86EMUL_UNHANDLEABLE slightly for this.  This is going to be a
>> common pattern for other MSRs too in the future.
> I consider this repurposing risky. Did you consider using e.g.
> X86EMUL_DONE or X86EMUL_RETRY instead? Neither of the two is
> presently used by the MSR machinery afaics.

RETRY is used for the MSRs which can cause a p2m allocation and hit the
paging path.  DONE is not remotely appropriate for this purpose.

I also don't want to introduce a new PARTIAL because that is a recipe
for backport bugs.

> What's worse, aren't you making it possible to hit the
> ASSERT_UNREACHABLE() in hvm_save_cpu_msrs() as well as in
> XEN_DOMCTL_get_vcpu_msrs handling? And have hvm_load_cpu_msrs()
> produce -ENXIO and XEN_DOMCTL_set_vcpu_msrs return -EINVAL?

I found this bug after backporting the patches and getting them some
wider testing.  I'm doing a pre-req patch to rework the migration
machinery to call into the pv/hvm paths rather than into
guest_{rd,wr}msr() directly.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Jan 17 11:39:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 11:39:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258125.444173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9QLe-0002PP-Je; Mon, 17 Jan 2022 11:38:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258125.444173; Mon, 17 Jan 2022 11:38:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9QLe-0002PI-Fq; Mon, 17 Jan 2022 11:38:54 +0000
Received: by outflank-mailman (input) for mailman id 258125;
 Mon, 17 Jan 2022 11:38:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SSOx=SB=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1n9QLd-0002PC-T7
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 11:38:54 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur02on0605.outbound.protection.outlook.com
 [2a01:111:f400:fe06::605])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0b31e9d3-778a-11ec-a115-11989b9578b4;
 Mon, 17 Jan 2022 12:38:52 +0100 (CET)
Received: from DB7PR05CA0066.eurprd05.prod.outlook.com (2603:10a6:10:2e::43)
 by AS8PR08MB6712.eurprd08.prod.outlook.com (2603:10a6:20b:393::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.7; Mon, 17 Jan
 2022 11:38:50 +0000
Received: from DB5EUR03FT004.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:2e:cafe::da) by DB7PR05CA0066.outlook.office365.com
 (2603:10a6:10:2e::43) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.9 via Frontend
 Transport; Mon, 17 Jan 2022 11:38:50 +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.4888.9 via Frontend Transport; Mon, 17 Jan 2022 11:38:50 +0000
Received: ("Tessian outbound de6049708a0a:v110");
 Mon, 17 Jan 2022 11:38:50 +0000
Received: from b91ac24b819d.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B880CCCC-E5D7-43ED-A275-65EB9CF718C4.1; 
 Mon, 17 Jan 2022 11:38:35 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b91ac24b819d.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 17 Jan 2022 11:38:35 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AM0PR08MB4530.eurprd08.prod.outlook.com (2603:10a6:208:13c::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Mon, 17 Jan
 2022 11:38:33 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::c0c1:d43a:acf3:a59d]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::c0c1:d43a:acf3:a59d%4]) with mapi id 15.20.4888.013; Mon, 17 Jan 2022
 11: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>
X-Inumbo-ID: 0b31e9d3-778a-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iVobulXZF0s4vQ1oewlAvhCdEuRHV3M3/IVuxIgXPYs=;
 b=095rtqXvD8AmPyIEFmy4lNgyUwC98VjTaQGW/GsHqnL4srO18R1zZ6M/L2jets95gGk5PWSJtCtK4yGZ98qAIudiwgJiDe+Djgytf88YQpOKC2yIs8QKL/bLRk00MJbMPs4mjY/2vnARiERfSZ8earMdHgZS220Xc0YyBFdYwpk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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: 36b5b364f9ed7382
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Tlnaeub+wyeCwU514TpXihlqQSSibHq7vGTD76004s5r0KclHgtdAResdKPntUB/Jzz+jkRlL031jgX8AOjMVIf2YyYH1bywoWQD6r6t16qq82W0EMJJ7F5hQGHBdUigtPhqXJAMu47MmEqz6B7t6xZP6K1DQEAngXt2WJoXVAAZIN20VlZrJZfvEEyGjzXrOPP2sPkZ1JTKX/a/dZhNEY+bvSLmLQvTy3ZOj7VZZ/6XBDBSieLjKzSTUzIrE5FiPX9HqyS6X9ZEoF771ySqr/g8bfRd6bOZuYt9bsklOnUy8AXkLhhAunukQwbNU89KABS/vrwpDOd13fSixJ5Yow==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iVobulXZF0s4vQ1oewlAvhCdEuRHV3M3/IVuxIgXPYs=;
 b=Q4XNcWPImm0nKl9bt/NOSA2WjD7HLUGDBu2Ib+H9+RMqOv8m1oN2M2W4j7tzxfuHe/Ms6bHr02n0SvO31medNDC8j6yUK8mYcq7cr1I1Jk9vxBxQ4se/0OLohBV+4Aa6PnKW+1dNQzy7Y16nUetBzknbAXq0k9AjZRWgwxWxXcENVujx6cbBkUVBVFAht+6JtYzJWKKj0BD/DQhZh18njGVYZSrPl2DrjT/WjWNQNJgB5aetx9LWPXhnAiTP46asuAs9NBw6vHi5J/eOKFRMa3Q4RoRPayMnZOJAN7zNziuqPPvy/gYzGEmE3NukPHqja48fwdvmHxq7mBwIlV4OuA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iVobulXZF0s4vQ1oewlAvhCdEuRHV3M3/IVuxIgXPYs=;
 b=095rtqXvD8AmPyIEFmy4lNgyUwC98VjTaQGW/GsHqnL4srO18R1zZ6M/L2jets95gGk5PWSJtCtK4yGZ98qAIudiwgJiDe+Djgytf88YQpOKC2yIs8QKL/bLRk00MJbMPs4mjY/2vnARiERfSZ8earMdHgZS220Xc0YyBFdYwpk=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Dongjiu Geng <gengdongjiu1@gmail.com>
CC: "sstabellini@kernel.org" <sstabellini@kernel.org>, "julien@xen.org"
	<julien@xen.org>, "Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v4] xen/arm: Allow QEMU platform to be built with GICv2
Thread-Topic: [PATCH v4] xen/arm: Allow QEMU platform to be built with GICv2
Thread-Index: AQHYC20k2h7y374id02KJynAohV9hqxm6mCAgAAk64CAAAdegA==
Date: Mon, 17 Jan 2022 11:38:33 +0000
Message-ID: <ADF7B9AE-9E44-475A-A678-C6F81F1C9049@arm.com>
References: <20220117064003.3367188-1-gengdongjiu1@gmail.com>
 <94945C70-A608-47E9-890E-8CA6882D7379@arm.com>
 <CABSBigTdLbV4b8uB-MyoBuU2uFe2xc8ML4WizsHD80A3nygtCg@mail.gmail.com>
In-Reply-To:
 <CABSBigTdLbV4b8uB-MyoBuU2uFe2xc8ML4WizsHD80A3nygtCg@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3654.120.0.1.13)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 84e028f0-5dc6-410f-e7f5-08d9d9adee66
x-ms-traffictypediagnostic:
	AM0PR08MB4530:EE_|DB5EUR03FT004:EE_|AS8PR08MB6712:EE_
X-Microsoft-Antispam-PRVS:
	<AS8PR08MB6712160DFBF418ABC4CB4FC69D579@AS8PR08MB6712.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:
 tCgEm/jd4xZSYWRMC19vkCfU+HQYmx1U5CAZDS1qXrROeElNHngOMg+v8q1vIYzvYIxYX3rTTI0AKO58GbFRcMNIhtyhl4UusNYKpi6YW7qOdOLEkZHmk8vs7HRpW7Y5dnS5UZq+eEPwHFkyLNHaoiZqDBfhV+nO5NhG0s6cgWpaczmISN7JtCXlHPF0K5u7LQmiVqek0mVjIVz9VO3uROu45lS+6O2I43JhtD/38wpRLywIIKZizf/B8RmEx4pouuB1BfNksSQzwxTN2+dv06pPoLfnSdbkcOj/eI/nVatMEXV9WQtjUlLKZGBTlAbHgKytXFNaVt8Dm23yI3MH5Fh9FIzSKN3pfSBIUZP99ffoBqLthy0A6B5ZM0V0hSdg6gmYs1Aqb3Fcfkn+3t8rPm6xWyP3h7YGe/l5phyNbDUwqRSAZIyg5U83ICXWAkskSOw2uXPGPvx9hk7i5hrgpY+q7fb5mp1WwbENhKS0IFJ2wlE2CAIuC7amApke2cHTUXhFuOZB0AM5hdvNJSkX/Z3OsZnFVH+Onl0x/XXO08Rm7CvpDWm9f/o9afGmpQ5KDOCnyFRztyEiyLkXYgKhE6DWVCuu49WcVEJ7Zcqpj/nGMsdGufKYnEJHdhfUHTWC77NYpp6pHeOiMMATvBMLQNLkKuALx0jG5Ne8GVt74g+j/26wgUzf76N4bucYjxSKFflaKHK8dOMvlo9S/7GI2vbqCQHfI2L0x4HLmvpAI0ZE2Cn4YzlJDPb7hC/h/JCB
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(76116006)(508600001)(6512007)(26005)(6486002)(6916009)(2906002)(83380400001)(8676002)(36756003)(33656002)(91956017)(54906003)(66946007)(66476007)(71200400001)(66556008)(64756008)(38070700005)(186003)(4326008)(66446008)(316002)(86362001)(122000001)(38100700002)(53546011)(5660300002)(6506007)(8936002)(2616005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <8B37A2E0C77AFB43A22B072BAAFA3212@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4530
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;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-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	cdc20dcb-2362-463a-0e48-08d9d9ade477
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	g+VmYxy7IHyHP8Mhd0lhtqXnCoBQ6EK2uxB2YN8uLnF01lAqzoRt+qbtBbgCO0kEiGZ4CUrKd6J/yddlPUGiTxVTbEmxTScH9e/scGdWL2b2HlOWh+0QiOOJwJvORGuW/HG8705IBQMMNQR7FUnqOzAipMJgj+R1Nm44awfD81inx/EFw7+ZH5TOoVR2qv+gpQqOeOG+ZkAzoL2dgm6To2jo1yJKN19RvarRaGUlc1YXL7MSqDxos+pCjziAIeio/NVlxPGY6L0QtigPigASZuUYy99nvNMvGDUdxIwdkaWtVJJdc6eiFsm4G1YxDmElMsIcVminGm4+otcCEBzdzsHVtSbJ6r380yy+kbIJ8mA6bkY5DS4Gw/tiRejlpJGGRHAQrc+FOxw+Ctp5erIHiTYlSw99KyFClVUZ95IZcCkPXLC5MwXJ/BZZlI7lhVXSTFLI1qElFe6Lnmg78aDfI3KlsNWPaF/jNaKnMZtcA/flnNckVK8rx1J25jWyoQaYAXdLSsaCAIOgo9t/1wD7metFuSOwVZ67bFD8CWNxLCDTzNZSQ+eIkyYAWMTaDULDR1SGOO8CnVJwppnvpVS5AEObnHY7Ob4EBnyyjDkBQ0DwiXPdv2mF6xR+em2utMR83QIZI0cn7OjiF+XYJLil+uxG8/syTXtGXi0YVJXn9DPfF5d8r88GMe7KZfrtdMnUM12LNsAgsA2yswJE+KQSoXJfYZ5ah96fvymMw+BC5GfXnyC9L6XposdGDUQdok7cK/m3VtwFPjXUl/AMLfNUGA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(40470700002)(356005)(6862004)(36860700001)(6512007)(86362001)(26005)(8936002)(508600001)(6506007)(53546011)(40460700001)(33656002)(316002)(36756003)(47076005)(83380400001)(336012)(54906003)(4326008)(81166007)(6486002)(186003)(8676002)(70586007)(5660300002)(2906002)(70206006)(82310400004)(2616005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2022 11:38:50.1770
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 84e028f0-5dc6-410f-e7f5-08d9d9adee66
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: AS8PR08MB6712

SGksDQoNCj4gT24gMTcgSmFuIDIwMjIsIGF0IDExOjEyLCBEb25naml1IEdlbmcgPGdlbmdkb25n
aml1MUBnbWFpbC5jb20+IHdyb3RlOg0KPiANCj4gQmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQu
TWFycXVpc0Bhcm0uY29tPiDkuo4yMDIy5bm0MeaciDE35pel5ZGo5LiAIDE3OjAw5YaZ6YGT77ya
DQo+PiANCj4+IEhpLA0KPj4gDQo+Pj4gT24gMTcgSmFuIDIwMjIsIGF0IDA2OjQwLCBEb25naml1
IEdlbmcgPGdlbmdkb25naml1MUBnbWFpbC5jb20+IHdyb3RlOg0KPj4+IA0KPj4+IEl0IHR1cm5z
IG91dCB0aGF0IFFFTVUgaGFzIGJlZW4gc3VwcG9ydGluZyBHSUN2MiB2aXJ0dWFsaXphdGlvbiBz
aW5jZQ0KPj4+IHYzLjEuMC4gU28gcmVtb3ZlIHRoZSBkZXBlbmRlbmNpZXMgb24gR0lDdjMuIElm
IHdlIHdhbnQgdG8gdXNlIEdJQ3YzLA0KPj4+IHdlIGNhbiBzZWxlY3QgdGhlIFFFTVVfTEVHQUNZ
IGNvbmZpZ3VyYXRpb24uDQo+PiANCj4+IEkgYW0gYml0IHB1enpsZWQgYnkgdGhpcyBjaGFuZ2Ug
aW50cm9kdWNpbmcgYSBsZWdhY3kgb3B0aW9uIGFjdHVhbGx5IHNlbGVjdGluZyB0aGUgbmV3ZXN0
IEdJQyBpbnRlcmZhY2UuDQo+PiANCj4+IENhbuKAmXQgd2UgZG8gdGhlIG9wcG9zaXRlIGFuZCBp
bnRyb2R1Y2UgYSBRRU1VX0dJQ1YyIGluc3RlYWQgPw0KPj4gDQo+PiBBbHNvIHdoeSBkbyB3ZSBu
ZWVkIHRvIHJlbW92ZSBnaWMtdjMgc3VwcG9ydCA/IFRoZSBjb2RlIHNob3VsZCBhY3R1YWxseSBz
ZWxlY3Qgd2hpY2ggZ2ljIHRvIHVzZSBkZXBlbmRpbmcgb24gdGhlIGRldmljZSB0cmVlLg0KPiAN
Cj4gUUVNVSBwbGF0ZnJvbSBvbmx5IHNlbGVjdCBHSUN2MywgIHNvIEkgcmVtb3ZlIHRoaXMgbGlt
aXRhdGlvbiwgIGxldA0KPiB1c2VyIG9yIGRldmVsb3BlciBzZWxlY3RzIGdpYyB2ZXJzaW9uIGlz
IGJldHRlci4NCg0KVGhpcyBpcyB3aGVyZSBJIGFtIGxvc3QsIHRoZSBjb2RlIGlzIGFjdHVhbGx5
IGFsd2F5cyBjb21waWxpbmcgZ2ljLXYyIHN1cHBvcnQgaW4gdW5sZXNzIG5ldyB2Z2ljIGlzIHNl
bGVjdGVkIChzZWUgYXJjaC9hcm0vTWFrZWZpbGUpLg0KDQpDaGVlcnMNCkJlcnRyYW5kDQoNCj4g
DQo+PiANCj4+IFJlZ2FyZHMNCj4+IEJlcnRyYW5kDQo+PiANCj4+PiANCj4+PiBTaWduZWQtb2Zm
LWJ5OiBEb25naml1IEdlbmcgPGdlbmdkb25naml1MUBnbWFpbC5jb20+DQo+Pj4gLS0tDQo+Pj4g
eGVuL2FyY2gvYXJtL3BsYXRmb3Jtcy9LY29uZmlnIHwgMTAgKysrKysrKysrLQ0KPj4+IDEgZmls
ZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCj4+PiANCj4+PiBkaWZm
IC0tZ2l0IGEveGVuL2FyY2gvYXJtL3BsYXRmb3Jtcy9LY29uZmlnIGIveGVuL2FyY2gvYXJtL3Bs
YXRmb3Jtcy9LY29uZmlnDQo+Pj4gaW5kZXggYzkzYTZiMjc1Ni4uNDFlODJhNDJlZSAxMDA2NDQN
Cj4+PiAtLS0gYS94ZW4vYXJjaC9hcm0vcGxhdGZvcm1zL0tjb25maWcNCj4+PiArKysgYi94ZW4v
YXJjaC9hcm0vcGxhdGZvcm1zL0tjb25maWcNCj4+PiBAQCAtMTMsNyArMTMsMTUgQEAgY29uZmln
IEFMTF9QTEFUDQo+Pj4gICAgICBhdXRvbWF0aWNhbGx5IHNlbGVjdCBhbnkgb2YgdGhlIHJlbGF0
ZWQgZHJpdmVycy4NCj4+PiANCj4+PiBjb25maWcgUUVNVQ0KPj4+IC0gICAgIGJvb2wgIlFFTVUg
YWFyY2ggdmlydCBtYWNoaW5lIHN1cHBvcnQiDQo+Pj4gKyAgICAgYm9vbCAiUUVNVSBhYXJjaCB2
aXJ0IG1hY2hpbmUgc3VwcG9ydCA+PSB2My4xLjAiDQo+Pj4gKyAgICAgZGVwZW5kcyBvbiBBUk1f
NjQNCj4+PiArICAgICBzZWxlY3QgSEFTX1BMMDExDQo+Pj4gKyAgICAgLS0taGVscC0tLQ0KPj4+
ICsgICAgIEVuYWJsZSBhbGwgdGhlIHJlcXVpcmVkIGRyaXZlcnMgZm9yIFFFTVUgYWFyY2g2NCB2
aXJ0IGVtdWxhdGVkDQo+Pj4gKyAgICAgbWFjaGluZS4NCj4+PiArDQo+Pj4gK2NvbmZpZyBRRU1V
X0xFR0FDWQ0KPj4+ICsgICAgIGJvb2wgIlFFTVUgYWFyY2ggdmlydCBtYWNoaW5lIHN1cHBvcnQg
PCB2My4xLjAiDQo+Pj4gICAgICBkZXBlbmRzIG9uIEFSTV82NA0KPj4+ICAgICAgc2VsZWN0IEdJ
Q1YzDQo+Pj4gICAgICBzZWxlY3QgSEFTX1BMMDExDQo+Pj4gLS0NCj4+PiAyLjI1LjENCg0K


From xen-devel-bounces@lists.xenproject.org Mon Jan 17 11:41:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 11:41:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258128.444184 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9QOG-0003l1-0b; Mon, 17 Jan 2022 11:41:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258128.444184; Mon, 17 Jan 2022 11:41:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9QOF-0003ku-Th; Mon, 17 Jan 2022 11:41:35 +0000
Received: by outflank-mailman (input) for mailman id 258128;
 Mon, 17 Jan 2022 11:41:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=SaLw=SB=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n9QOF-0003km-4m
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 11:41:35 +0000
Received: from ppsw-33.csi.cam.ac.uk (ppsw-33.csi.cam.ac.uk [131.111.8.133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6b567a68-778a-11ec-9bbc-9dff3e4ee8c5;
 Mon, 17 Jan 2022 12:41:33 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:48654)
 by ppsw-33.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.137]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n9QO8-000kgf-g6 (Exim 4.95) (return-path <amc96@srcf.net>);
 Mon, 17 Jan 2022 11:41:28 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id BFCA61FC70;
 Mon, 17 Jan 2022 11:41:27 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6b567a68-778a-11ec-9bbc-9dff3e4ee8c5
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <c609152c-9a4c-2ce1-2d32-37b095c85181@srcf.net>
Date: Mon, 17 Jan 2022 11:41:27 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
 Kevin Tian <kevin.tian@intel.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220113163833.3831-1-andrew.cooper3@citrix.com>
 <20220113163833.3831-3-andrew.cooper3@citrix.com>
 <aebd4542-8eb8-5073-a578-5b96a6354b84@suse.com>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: [PATCH 2/3] x86/spec-ctrl: Drop
 SPEC_CTRL_{ENTRY_FROM,EXIT_TO}_HVM
In-Reply-To: <aebd4542-8eb8-5073-a578-5b96a6354b84@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17/01/2022 11:22, Jan Beulich wrote:
> On 13.01.2022 17:38, Andrew Cooper wrote:
>> --- a/xen/arch/x86/hvm/svm/entry.S
>> +++ b/xen/arch/x86/hvm/svm/entry.S
>> @@ -59,7 +59,7 @@ __UNLIKELY_END(nsvm_hap)
>>          mov VCPUMSR_spec_ctrl_raw(%rax), %eax
>>  
>>          /* WARNING! `ret`, `call *`, `jmp *` not safe beyond this point. */
>> -        SPEC_CTRL_EXIT_TO_HVM   /* Req: a=spec_ctrl %rsp=regs/cpuinfo, Clob: cd */
>> +        /* SPEC_CTRL_EXIT_TO_SVM   (nothing currently) */
>>  
>>          pop  %r15
>>          pop  %r14
>> @@ -86,7 +86,8 @@ __UNLIKELY_END(nsvm_hap)
>>  
>>          GET_CURRENT(bx)
>>  
>> -        SPEC_CTRL_ENTRY_FROM_HVM    /* Req: b=curr %rsp=regs/cpuinfo, Clob: acd */
>> +        /* SPEC_CTRL_ENTRY_FROM_SVM    Req: b=curr %rsp=regs/cpuinfo, Clob: ac  */
>> +        ALTERNATIVE "", DO_OVERWRITE_RSB, X86_FEATURE_SC_RSB_HVM
> Just for my own understanding: The comments you add aren't commented
> out macro invocations (as I did read it first), but comments naming
> would-be-macros which are then expanded "manually"? That is partly
> because initially I read the description saying "Expand and drop the
> macros" as meaning that the macros grow in what they contain, which
> looked contradictory to them getting dropped at the same time.
> Perhaps me not sufficiently understanding the difference between all
> possible meanings of "expand" vs "extend" ...

They're grep fodder to be able to easily locate where we're doing
entry/exit speculation logic.  These paths will continue to diverge over
time, and cannot have a common implementation.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Jan 17 11:43:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 11:43:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258131.444194 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9QPt-0004Mp-Bc; Mon, 17 Jan 2022 11:43:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258131.444194; Mon, 17 Jan 2022 11: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 1n9QPt-0004Mi-8O; Mon, 17 Jan 2022 11:43:17 +0000
Received: by outflank-mailman (input) for mailman id 258131;
 Mon, 17 Jan 2022 11:43:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=SaLw=SB=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n9QPr-0004MY-TR
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 11:43:15 +0000
Received: from ppsw-32.csi.cam.ac.uk (ppsw-32.csi.cam.ac.uk [131.111.8.132])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a7819f68-778a-11ec-9bbc-9dff3e4ee8c5;
 Mon, 17 Jan 2022 12:43:14 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:49190)
 by ppsw-32.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.136]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n9QPk-000oR4-0X (Exim 4.95) (return-path <amc96@srcf.net>);
 Mon, 17 Jan 2022 11:43:08 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id E80751FC70;
 Mon, 17 Jan 2022 11:43:07 +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: a7819f68-778a-11ec-9bbc-9dff3e4ee8c5
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <997c45b3-9346-57ce-56a5-52815edba3fb@srcf.net>
Date: Mon, 17 Jan 2022 11:43:07 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.0
Subject: Re: [PATCH 3/3] x86/spec-ctrl: Fix NMI race condition with VT-x
 MSR_SPEC_CTRL handling
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
 Kevin Tian <kevin.tian@intel.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220113163833.3831-1-andrew.cooper3@citrix.com>
 <20220113163833.3831-4-andrew.cooper3@citrix.com>
 <0745653b-6525-a7ba-f6c8-b47838559db2@srcf.net>
 <76f9d499-fabe-5d90-d769-bbd86ae421f8@srcf.net>
 <02bec1da-9ea8-3bca-519c-855332eedde1@suse.com>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <02bec1da-9ea8-3bca-519c-855332eedde1@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17/01/2022 09:21, Jan Beulich wrote:
> On 14.01.2022 15:41, Andrew Cooper wrote:
>> On 14/01/2022 14:14, Andrew Cooper wrote:
>>> On 13/01/2022 16:38, Andrew Cooper wrote:
>>>> The logic was based on a mistaken understanding of how NMI blocking on vmexit
>>>> works.  NMIs are only blocked for EXIT_REASON_NMI, and not for general exits.
>>>> Therefore, an NMI can in general hit early in the vmx_asm_vmexit_handler path,
>>>> and the guest's value will be clobbered before it is saved.
>>>>
>>>> Switch to using MSR load/save lists.  This causes the guest value to be saved
>>>> atomically with respect to NMIs/MCEs/etc.
>>>>
>>>> First, update vmx_cpuid_policy_changed() to configure the load/save lists at
>>>> the same time as configuring the intercepts.  This function is always used in
>>>> remote context, so extend the vmx_vmcs_{enter,exit}() block to cover the whole
>>>> function, rather than having multiple remote acquisitions of the same VMCS.
>>>>
>>>> vmx_add_guest_msr() can fail, but only in ways which are entirely fatal to the
>>>> guest, so handle failures using domain_crash().  vmx_del_msr() can fail with
>>>> -ESRCH but we don't matter, and this path will be taken during domain create
>>>> on a system lacking IBRSB.
>>>>
>>>> Second, update vmx_msr_{read,write}_intercept() to use the load/save lists
>>>> rather than vcpu_msrs, and update the comment to describe the new state
>>>> location.
>>>>
>>>> Finally, adjust the entry/exit asm.  Drop DO_SPEC_CTRL_ENTRY_FROM_HVM
>>>> entirely, and use a shorter code sequence to simply reload Xen's setting from
>>>> the top-of-stack block.
>>>>
>>>> Because the guest values are loaded/saved atomically, we do not need to use
>>>> the shadowing logic to cope with late NMIs/etc, so we can omit
>>>> DO_SPEC_CTRL_EXIT_TO_GUEST entirely and VMRESUME/VMLAUNCH with Xen's value in
>>>> context.  Furthermore, we can drop the SPEC_CTRL_ENTRY_FROM_PV too, as there's
>>>> no need to switch back to Xen's context on an early failure.
>>>>
>>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>>> ---
>>>> CC: Jan Beulich <JBeulich@suse.com>
>>>> CC: Roger Pau Monné <roger.pau@citrix.com>
>>>> CC: Wei Liu <wl@xen.org>
>>>> CC: Jun Nakajima <jun.nakajima@intel.com>
>>>> CC: Kevin Tian <kevin.tian@intel.com>
>>>>
>>>> Needs backporting as far as people can tolerate.
>>>>
>>>> If the entry/exit logic were in C, I'd ASSERT() that shadow tracking is off,
>>>> but this is awkard to arrange in asm.
>>> Actually, it's just occurred to me that an ASSERT is actually quite easy
>>> here.  I'm proposing this additional delta (totally untested).
>>>
>>> diff --git a/xen/arch/x86/hvm/vmx/entry.S b/xen/arch/x86/hvm/vmx/entry.S
>>> index 297ed8685126..f569c3259b32 100644
>>> --- a/xen/arch/x86/hvm/vmx/entry.S
>>> +++ b/xen/arch/x86/hvm/vmx/entry.S
>>> @@ -41,6 +41,13 @@ ENTRY(vmx_asm_vmexit_handler)
>>>              movzbl CPUINFO_xen_spec_ctrl(%rsp), %eax
>>>              xor    %edx, %edx
>>>              wrmsr
>>> +
>>> +#ifdef CONFIG_DEBUG
>>> +            testb $SCF_use_shadow, CPUINFO_spec_ctrl_flags(%rsp)
>>> +            jz 1f
>>> +            ASSERT_FAILED("MSR_SPEC_CTRL shadowing active")
>>> +1:
>>> +#endif
>>>          .endm
>>>          ALTERNATIVE "", restore_spec_ctrl, X86_FEATURE_SC_MSR_HVM
>>>          /* WARNING! `ret`, `call *`, `jmp *` not safe before this point. */
>> Irritatingly this doesn't work, because the metadata associated with the
>> ud2 instruction is tied to the compiled position in
>> .altinstr_replacement, not the runtime position after alternatives have run.
> Could we have the macro "return" ZF, leaving it to the invocation
> site of the macro to act on it? ALTERNATIVE's first argument could
> easily be "xor %reg, %reg" to set ZF without much other overhead.

That's very subtle, and a substantial layering violation.  I really
don't think the complexity is worth it.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Jan 17 11:50:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 11:50:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258134.444205 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9QWK-00052i-2w; Mon, 17 Jan 2022 11:49:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258134.444205; Mon, 17 Jan 2022 11: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 1n9QWJ-00052b-VV; Mon, 17 Jan 2022 11:49:55 +0000
Received: by outflank-mailman (input) for mailman id 258134;
 Mon, 17 Jan 2022 11:49:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=d+jO=SB=gmail.com=gengdongjiu1@srs-se1.protection.inumbo.net>)
 id 1n9QWI-00052V-Mm
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 11:49:54 +0000
Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com
 [2a00:1450:4864:20::132])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 95978a99-778b-11ec-a115-11989b9578b4;
 Mon, 17 Jan 2022 12:49:53 +0100 (CET)
Received: by mail-lf1-x132.google.com with SMTP id s30so56589173lfo.7
 for <xen-devel@lists.xenproject.org>; Mon, 17 Jan 2022 03:49:53 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 95978a99-778b-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc:content-transfer-encoding;
        bh=BtzJu75aIjrWjEqLqSrYepGaeIMc333zzSgoZOnDF7Y=;
        b=oBnWJLmZeN+FS14wLaOouNJ4+iUSEuZqbeMx9lQ956f2J8Q13Fr2OcAzHg28adFGMe
         N/+V1i5b0tc8xTevLG1ZJO5pxTvxwp+UGO0laglnJGa6o9TfkHNgrzrMe7zcBxmGUrAT
         tfuJtEuFi5OQYSsr+dZ5A1B2njEzV17fAGletFhkLXNXuEHeNvgerBCZlXkh+8d8Upcx
         qb6yJsvgZgfgclED8daykgAMy6R0qpwC8/H2NC5V3HTXxDlQAwGK7gtvyTbjA/x5Wgzb
         Bd3db2FbcK2a/kcbWFsPnODhwv9ie30Uh5oWVMMTf/z+i7iD5q1LQwGGUNKy9jsoc0Pr
         KsgQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc:content-transfer-encoding;
        bh=BtzJu75aIjrWjEqLqSrYepGaeIMc333zzSgoZOnDF7Y=;
        b=BzX2QgYkVxtyOIP1JqF86oVPh7h4E7PjC6YP8Bfe0cKnR7hRLbmzxE5WshAKav8fk0
         97m8LhmILJui+eol7jynzMu9sTzTH6lWit7ZTXqLqPz8G19VrbVqCv04J5NjBhmRRduw
         BsFZ9eheFDFeNEQVwsLEU3lOCjjwnm47h3CnjvxlBCan2/EeOS+G/osNLwsJmCtWY6Ah
         IXFxsV2njZ2rwQsQZX3G9/yCg4lOoRt2OfzRrPObLMGseLjlIJ9vjH6I3Ok+u9UiuWxK
         fSGvu2UlP1dTX35irvx1DvkpqMgMCuaBH2qhEbgcg0nPNuDj2DbSk6wjGvREQSK19iYD
         w/UA==
X-Gm-Message-State: AOAM530vQInyY3OeXx7JxwTy354CcqZw57kbqq1P6OyNpPQHZfKcpmyJ
	IAtd3Usb58QK+nOWre4tEwXKd0pvJmy8yEH4Ua8=
X-Google-Smtp-Source: ABdhPJxQIe6sFt34yX8Dqg/zlMsvBTUqMaWdc2sQquCHAdntGPuTwDCBRXqCYEub7o4QaFDMcFmwCJmzhQ8OfyneMDU=
X-Received: by 2002:a05:651c:b0b:: with SMTP id b11mr13257896ljr.26.1642420193138;
 Mon, 17 Jan 2022 03:49:53 -0800 (PST)
MIME-Version: 1.0
References: <20220117064003.3367188-1-gengdongjiu1@gmail.com>
 <94945C70-A608-47E9-890E-8CA6882D7379@arm.com> <CABSBigTdLbV4b8uB-MyoBuU2uFe2xc8ML4WizsHD80A3nygtCg@mail.gmail.com>
 <ADF7B9AE-9E44-475A-A678-C6F81F1C9049@arm.com>
In-Reply-To: <ADF7B9AE-9E44-475A-A678-C6F81F1C9049@arm.com>
From: Dongjiu Geng <gengdongjiu1@gmail.com>
Date: Mon, 17 Jan 2022 19:49:43 +0800
Message-ID: <CABSBigSy+8fedZCqFS5z3-RfWxDrzjB7ScjsjwCibCpNnpCbug@mail.gmail.com>
Subject: Re: [PATCH v4] xen/arm: Allow QEMU platform to be built with GICv2
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: "sstabellini@kernel.org" <sstabellini@kernel.org>, "julien@xen.org" <julien@xen.org>, 
	"Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>, 
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Bertrand Marquis <Bertrand.Marquis@arm.com> =E4=BA=8E2022=E5=B9=B41=E6=9C=
=8817=E6=97=A5=E5=91=A8=E4=B8=80 19:38=E5=86=99=E9=81=93=EF=BC=9A
>
> Hi,
>
> > On 17 Jan 2022, at 11:12, Dongjiu Geng <gengdongjiu1@gmail.com> wrote:
> >
> > Bertrand Marquis <Bertrand.Marquis@arm.com> =E4=BA=8E2022=E5=B9=B41=E6=
=9C=8817=E6=97=A5=E5=91=A8=E4=B8=80 17:00=E5=86=99=E9=81=93=EF=BC=9A
> >>
> >> Hi,
> >>
> >>> On 17 Jan 2022, at 06:40, Dongjiu Geng <gengdongjiu1@gmail.com> wrote=
:
> >>>
> >>> It turns out that QEMU has been supporting GICv2 virtualization since
> >>> v3.1.0. So remove the dependencies on GICv3. If we want to use GICv3,
> >>> we can select the QEMU_LEGACY configuration.
> >>
> >> I am bit puzzled by this change introducing a legacy option actually s=
electing the newest GIC interface.
> >>
> >> Can=E2=80=99t we do the opposite and introduce a QEMU_GICV2 instead ?
> >>
> >> Also why do we need to remove gic-v3 support ? The code should actuall=
y select which gic to use depending on the device tree.
> >
> > QEMU platfrom only select GICv3,  so I remove this limitation,  let
> > user or developer selects gic version is better.
>
> This is where I am lost, the code is actually always compiling gic-v2 sup=
port in unless new vgic is selected (see arch/arm/Makefile).

Yes=EF=BC=8C so can I think you do not have concern for this patch?

>
> Cheers
> Bertrand
>
> >
> >>
> >> Regards
> >> Bertrand
> >>
> >>>
> >>> Signed-off-by: Dongjiu Geng <gengdongjiu1@gmail.com>
> >>> ---
> >>> xen/arch/arm/platforms/Kconfig | 10 +++++++++-
> >>> 1 file changed, 9 insertions(+), 1 deletion(-)
> >>>
> >>> diff --git a/xen/arch/arm/platforms/Kconfig b/xen/arch/arm/platforms/=
Kconfig
> >>> index c93a6b2756..41e82a42ee 100644
> >>> --- a/xen/arch/arm/platforms/Kconfig
> >>> +++ b/xen/arch/arm/platforms/Kconfig
> >>> @@ -13,7 +13,15 @@ config ALL_PLAT
> >>>      automatically select any of the related drivers.
> >>>
> >>> config QEMU
> >>> -     bool "QEMU aarch virt machine support"
> >>> +     bool "QEMU aarch virt machine support >=3D v3.1.0"
> >>> +     depends on ARM_64
> >>> +     select HAS_PL011
> >>> +     ---help---
> >>> +     Enable all the required drivers for QEMU aarch64 virt emulated
> >>> +     machine.
> >>> +
> >>> +config QEMU_LEGACY
> >>> +     bool "QEMU aarch virt machine support < v3.1.0"
> >>>      depends on ARM_64
> >>>      select GICV3
> >>>      select HAS_PL011
> >>> --
> >>> 2.25.1
>


From xen-devel-bounces@lists.xenproject.org Mon Jan 17 11:52:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 11:52:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258138.444216 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9QYG-0006S0-Jh; Mon, 17 Jan 2022 11:51:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258138.444216; Mon, 17 Jan 2022 11:51:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9QYG-0006Rt-Gi; Mon, 17 Jan 2022 11:51:56 +0000
Received: by outflank-mailman (input) for mailman id 258138;
 Mon, 17 Jan 2022 11:51:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ZUQe=SB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9QYF-0006Rn-Gc
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 11:51:55 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dd7b833c-778b-11ec-a115-11989b9578b4;
 Mon, 17 Jan 2022 12:51:54 +0100 (CET)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2051.outbound.protection.outlook.com [104.47.0.51]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-33-6RZLI7S-O_q-s7KbGKGqWg-1; Mon, 17 Jan 2022 12:51:52 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM9PR04MB8353.eurprd04.prod.outlook.com (2603:10a6:20b:3ef::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.9; Mon, 17 Jan
 2022 11:51:51 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.013; Mon, 17 Jan 2022
 11:51:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dd7b833c-778b-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642420314;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=oc0MSvZetPBP31Vj6TBKcISpXRgjS84LLAn7LVAlxKY=;
	b=jUfCopHh55xXycItvUICJf+HKclrPbjDaDHCN2fMzGUbBYzM5Cd3JQZ/a7c19fJcTc92Dm
	3YLnOGL4JakPnK3OojGvTYAzlN6Qus/ckT3WZnLXRA3ldIAFDRt2/CC432PXguusT2WlPX
	VNfcw2Jwe/Gj+CuHsqt75GOljf+WK6o=
X-MC-Unique: 6RZLI7S-O_q-s7KbGKGqWg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aR0wlAnndNEuBsU5y3qMbTukLTUzQL2EXOBwDWJeIswPMrIu5gulSh4FjNsI4YB71G++B+qZ9PGIsvTjV31Xvrq0EkXbvk9fOUiMzE6RGpxTXCg0VmbV8Lq8lMxLGVagaNl88iWM2fBTrXR4W9rLW3uOmUd5y0aLIKFMhgWF2D7kIadrUsWVJbrBcvic07B4o8xHGKaco8wIsGjvUWwnsY5ARGA8yf9LDwhatLGLcsx+3XQlSDLn6wFViPGiWJE2lB+KdpPKzMzWY8QsV5461IAbVsQ1O4n1Ufgm/Og77/6klYOjXhog2mBnLhnCwVbA/fz7H5js55uPuZC5+7ISng==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oc0MSvZetPBP31Vj6TBKcISpXRgjS84LLAn7LVAlxKY=;
 b=ACmnIKv2IGgUOh7w1xb+w1M7P7ZhVF43ebiK403CS/0g2fQNOd33jiSGkgDxvzFmVuR2NVEk5TcvYxgHtewV3xLj+Tfh5fFCE3UIYijLEyvN3QHdswC0ZcxZV2phxNhkKjR4ZqxD3rnXXS5LkzcaW1g8LmB3XbRCSdxuHjb4JwCfBbeLJlVekjzi5QMcik7A8U6g7qJS0XwV6EoU/DyzTnn43yw+ZIEbrJeZZsqgUVSf5RVblZzj20PKrrWXF/HXCCj11k3+WXFf6zXJT65LfioIJe0akaQQwZTFkblOOTeNiIOwF2E2TAjajl0zkvnpB0uNiP/CB3rRWe4W9Mtgxg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5f2c932b-8e30-b636-76f9-d4b27a9f477b@suse.com>
Date: Mon, 17 Jan 2022 12:51:49 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 3/3] x86/spec-ctrl: Fix NMI race condition with VT-x
 MSR_SPEC_CTRL handling
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
 Kevin Tian <kevin.tian@intel.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220113163833.3831-1-andrew.cooper3@citrix.com>
 <20220113163833.3831-4-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220113163833.3831-4-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P195CA0082.EURP195.PROD.OUTLOOK.COM
 (2603:10a6:209:86::23) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 94ff01d4-c34a-4f0f-bc75-08d9d9afbfee
X-MS-TrafficTypeDiagnostic: AM9PR04MB8353:EE_
X-Microsoft-Antispam-PRVS:
	<AM9PR04MB835325EEAE31732AA482FC3CB3579@AM9PR04MB8353.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:
	YwvHBL+Zyz29NEnpshTnqfRVBuek/To9Gh/Flcis8Ykd5vDaz35oBusZ4Ld4zZBdRhNIUSvbrFtnzWzxcy/AZ/16r8V88e59yEKQIyDQGkswJQ19c0Z13MLJj/nUeVBpiNk6bq1ii3kTRoGCQUKiMvh+oTkQOhM0+7RMOgdkdgm6ZvC60zEXP+IZXo9prkFrxwHm7OluQn88dDnNlY/82vXU/VQsVFy11IkcWKi9vLxbNFjTtkPwS8iHNSOjnrA4cg7xNJk6y9o61oZlrLAp3fh00ZWm3rMIXDd28qvCZbJTcNla1uyJE6+Ua4Xd/X5lW0pq1Z3xfUqWT2ErfC6mVdPx/Ip1R5VmXH5Xos5HNg3f6GVxuRBGL+PKvgo9lqla3RGm8UcZJq1Q+clQ2ZxZyp/voi9/kopRtjZSa45udu4MbFVKQYuXPQld0eM7zlcbNXZa66rNqdBUP2pi1aZngaxvYRds/W2d+7H8ZhIxT9/KRu80WOgsby1wC3klo2s50g0aF+DPNat07xfxpUIl4++Q7bhxchFtHwfayxVEIqIO0hipDqs9osO32LI3xI8eeRura45iQcbH93AsJ2bgx/EvxMPOcHfdn3HjMvMI9FuJW/K17wEliEVvF6WrXAHLWnxR4nJHTZ3KoE04p4flXiuP0J2LSaFbcpXpPOiJKvTKkqBpMJlgLlBrFealqshEQGNDtRyk7zZoRf0a/tLiqkLkiCUdZjAEovs4spJlcyY=
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)(6506007)(2906002)(66946007)(54906003)(36756003)(6486002)(86362001)(66556008)(66476007)(6512007)(5660300002)(4326008)(38100700002)(316002)(31686004)(8936002)(508600001)(8676002)(26005)(6916009)(83380400001)(2616005)(186003)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QU9nT08rUDdPYmJ0cW5GU0U2R2tSUVhneDBZeHFnWFQyN3ZMVno1bUFudXRn?=
 =?utf-8?B?bGZzMmlYUmdDUnhTbXZTWHg5L2E1M2dDVzdsajVkS3g3ZWtuUDdHV0U1WUlC?=
 =?utf-8?B?ZmNVODlNNWkyeWpzRTkrdlVISnpNYUh5T0d1WExuRnpIdTQzVTZQQTd3MDFn?=
 =?utf-8?B?alc4TmswVnpjQS9aeUozTWc3ME5hYWRSTUpjaVBxUWFCd0IwR0lkMnZISU5z?=
 =?utf-8?B?bjM5T3AwNHI4MTQ2RHNYZi9uSmV2TlBiMmpoZVBoMExQNDgyekNJMmkxSVFv?=
 =?utf-8?B?R3JxSnBROGg4Yld6OG9vTllGVDBZZ2NvZUlKM0FJaTZBbExCMlkzbGp2Ny9w?=
 =?utf-8?B?YURHOXR0ZTBYUjV3WkZoa1BuMWd1MXVJQmZGblNsV0FZSmptNDlqdUxyWTFh?=
 =?utf-8?B?SnRqTnF0bE9MalFVcWkvZ1NkWXdNMEFtS3REcndZaVMvNE1sZUdZZkdRQTc0?=
 =?utf-8?B?djFjc3FmUUliT1JFTkJlKzVkeXZySXJSR0hYWjNoUUFEbkh6OU1aTzRqY3dF?=
 =?utf-8?B?MFBEOC9HU3Iwc01BSXkrN05wQm5OYTFZT0ZLMlRwRi90TFZySkI4UzFoYWZw?=
 =?utf-8?B?QnZIdm01amF1WGlHZkxlcWM0em5kQys2K09mRUhoT2IvSDg5emJ1ZHdLeUVR?=
 =?utf-8?B?TzdmUGFYMHBySms2NDYraTE4RXgyc3Bxb0owOFhycFAycTdhM09tNEd2VVRl?=
 =?utf-8?B?d2x1b1JkRTRGWE1yMmZFeFVRc1p0bXZhR1lYZHlSaFNrUFROcmVXWmpUK1lZ?=
 =?utf-8?B?N1pnTjRkNjZURlErdExZZkZaM1RBaHA3eE5KSXlSczBNNWxvWkp1dWFVK3dz?=
 =?utf-8?B?bEVIYW1heTRnWERLY2wzUnBzZ3BpYVR0eVNSQWtBSEpHbmI1aUFhNFpSc0dt?=
 =?utf-8?B?M3F6UVRtaEFUUEVRSFFCVTh4SFB5WTd2a2ZGbWw4UDUrTnV5Z0F3cUEwbVJD?=
 =?utf-8?B?b3ZjZEg2WGlFbmQxQVFhVE9oL1VzUTZOY0RFZXZBRytuemlUeDFKTnVtVHBa?=
 =?utf-8?B?NnNKZkZRSFpTREljTE1maVVoSUw1Tkk0Z05oWHN5b09qWVpIa0VXM0dsbVFS?=
 =?utf-8?B?dUpEUC96dXdQWkt5MVVCS2hCMnN5WmdRazh3eCtNb0w1SXRWS0pVU0pVNVlC?=
 =?utf-8?B?cEZleEpPNnY0aGZnRVl0TVJJVnhKOWZ2MFZ3Mno2bDhRME1iTVRWL1owMzRi?=
 =?utf-8?B?aituWG5qUXdZVS9GaFJCejMvaHYwTy9POXMwS2pWcEVUak50YWtOMCtuSnJF?=
 =?utf-8?B?ZlpsSU0wL0tGOU1LaThUNmFiVXZyYUVHNUp6NUltaThFMGJUR1phNWd6SmhS?=
 =?utf-8?B?emZDRlV2VHdpbDEvcjBLRVBCS3NJdVgxeE1wMmp4eVI0UktLQVQrOGw1QkZp?=
 =?utf-8?B?NlBrdXY5WmRSOElWd2lma3V5UEJPN2xFdmpaMnpJWVZrOW5JYnRMdzFpejBS?=
 =?utf-8?B?QWl3eG91bDVDeG9pY1RLamRqSllwZTBKNll1Z1M0T1lMMUZGZCt5NEd2Vk5T?=
 =?utf-8?B?NENNRFR1WVNYcDY1K1ZQU2ZQTjV0bWZQc3p3VzRFOHd1aUIrKzVTSFdhVDFh?=
 =?utf-8?B?T05PaThZSVg5Kzd0cWh4RnBGNFRRWG9mR3lzTkkvcytOQ3ZERWhlN2oyUDJw?=
 =?utf-8?B?VHZRRjZ1VHNUUm5nOVdZR05MYS9xaVpSVnFQZmhPdW5BVVZYaGIrekJoN2lR?=
 =?utf-8?B?YWxyRFh1WFBGNHd5M0t2ek1ySU1OUlNRRk9Ud0tXc1FtSmFkQ3NsZTkwekx4?=
 =?utf-8?B?KzNVRUw4OWhpR3JDKzNwS05rNEpYN3U5ZXJmeExQL0xKNHA3Mi92TldCbElz?=
 =?utf-8?B?WmZtcHFBS1h5NzlkVzZTMWFqL2FIRStHUk9na0VGRlJpWVo5eklYcHY4YkFK?=
 =?utf-8?B?a0RJSzQ1a0NUaDNjMy9KaHV4dlNvbTBMa1F3YUw5SzV4cDVYaEE2QTIxL0Vn?=
 =?utf-8?B?dXh2enZuSTVNVjBrVlh2RDBzV3Y2ZXkyNTVSRyt3c3RWbmd6VnBydGdMM0M0?=
 =?utf-8?B?cGRWOFJOR2NzMS9PYW00WFM5RlpTVUlXWkNDSlU4K1NEY21TMU5uQmhScG05?=
 =?utf-8?B?RnVGT3VBNzYvVGc0MW9YZFJRR1poaUxNK3R2T1k4R3E3c1ZGdjlISGRnbnVl?=
 =?utf-8?B?a1FKVXBDcVp1endsY0l4QTRzcnVrNVZRUk94UnFWRDFZamhyc0ZvSVhMUEUx?=
 =?utf-8?Q?3++y4WCAQSyxaim505XK38I=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 94ff01d4-c34a-4f0f-bc75-08d9d9afbfee
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2022 11:51:51.3843
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Na7a0pSfKY/eyiYbQT0lXH80BI9UFSwjEGy86x4syl0bqacApspdHlzwllKy02ICL9t//tP/TdW3TgImwmic5w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8353

On 13.01.2022 17:38, Andrew Cooper wrote:
> Second, update vmx_msr_{read,write}_intercept() to use the load/save lists
> rather than vcpu_msrs, and update the comment to describe the new state
> location.

Nit: Assuming "the comment" refers to something in the named function,
I'm afraid I can't spot any comment being updated there. Perhaps you
mean the comment in the declaration of struct vcpu_msrs?

> --- a/xen/arch/x86/hvm/vmx/entry.S
> +++ b/xen/arch/x86/hvm/vmx/entry.S
> @@ -35,7 +35,14 @@ ENTRY(vmx_asm_vmexit_handler)
>  
>          /* SPEC_CTRL_ENTRY_FROM_VMX    Req: b=curr %rsp=regs/cpuinfo, Clob: acd */
>          ALTERNATIVE "", DO_OVERWRITE_RSB, X86_FEATURE_SC_RSB_HVM
> -        ALTERNATIVE "", DO_SPEC_CTRL_ENTRY_FROM_HVM, X86_FEATURE_SC_MSR_HVM
> +
> +        .macro restore_spec_ctrl
> +            mov    $MSR_SPEC_CTRL, %ecx
> +            movzbl CPUINFO_xen_spec_ctrl(%rsp), %eax
> +            xor    %edx, %edx
> +            wrmsr
> +        .endm
> +        ALTERNATIVE "", restore_spec_ctrl, X86_FEATURE_SC_MSR_HVM
>          /* WARNING! `ret`, `call *`, `jmp *` not safe before this point. */
>  
>          /* Hardware clears MSR_DEBUGCTL on VMExit.  Reinstate it if debugging Xen. */
> @@ -83,7 +90,6 @@ UNLIKELY_END(realmode)
>  
>          /* WARNING! `ret`, `call *`, `jmp *` not safe beyond this point. */
>          /* SPEC_CTRL_EXIT_TO_VMX   Req: a=spec_ctrl %rsp=regs/cpuinfo, Clob: cd */
> -        ALTERNATIVE "", DO_SPEC_CTRL_EXIT_TO_GUEST, X86_FEATURE_SC_MSR_HVM
>          ALTERNATIVE "", __stringify(verw CPUINFO_verw_sel(%rsp)), X86_FEATURE_SC_VERW_HVM

Shouldn't you update the "Clob:" remarks here as well?

> @@ -119,12 +125,11 @@ UNLIKELY_END(realmode)
>          SAVE_ALL
>  
>          /*
> -         * PV variant needed here as no guest code has executed (so
> -         * MSR_SPEC_CTRL can't have changed value), and NMIs/MCEs are liable
> -         * to hit (in which case the HVM variant might corrupt things).
> +         * SPEC_CTRL_ENTRY notes
> +         *
> +         * If we end up here, no guest code has executed.  We still have Xen's
> +         * choice of MSR_SPEC_CTRL in context, and the RSB is safe.
>           */
> -        SPEC_CTRL_ENTRY_FROM_PV /* Req: %rsp=regs/cpuinfo Clob: acd */
> -        /* WARNING! `ret`, `call *`, `jmp *` not safe before this point. */

Is "no guest code has executed" actually enough here? If VM entry failed
due to a later MSR-load-list entry, SPEC_CTRL could have changed value
already, couldn't it?

> @@ -601,17 +602,27 @@ static void vmx_cpuid_policy_changed(struct vcpu *v)
>  
>      vmx_vmcs_enter(v);
>      vmx_update_exception_bitmap(v);
> -    vmx_vmcs_exit(v);
>  
>      /*
>       * We can safely pass MSR_SPEC_CTRL through to the guest, even if STIBP
>       * isn't enumerated in hardware, as SPEC_CTRL_STIBP is ignored.
>       */
>      if ( cp->feat.ibrsb )
> +    {
>          vmx_clear_msr_intercept(v, MSR_SPEC_CTRL, VMX_MSR_RW);
> +
> +        rc = vmx_add_guest_msr(v, MSR_SPEC_CTRL, 0);
> +        if ( rc )
> +            goto err;
> +    }
>      else
> +    {
>          vmx_set_msr_intercept(v, MSR_SPEC_CTRL, VMX_MSR_RW);
>  
> +        /* Can only fail with -ESRCH, and we don't care. */
> +        vmx_del_msr(v, MSR_SPEC_CTRL, VMX_MSR_GUEST);

To be forward-compatible with possible future changes to the
function (or load list handling as a whole), how about having an
assertion proving what the comment says:

        rc = vmx_del_msr(v, MSR_SPEC_CTRL, VMX_MSR_GUEST);
        if ( rc )
        {
            ASSERT(rc == -ESRCH);
            rc = 0;
        }

?

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 11:55:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 11:55:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258141.444228 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9QbG-00073U-3q; Mon, 17 Jan 2022 11:55:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258141.444228; Mon, 17 Jan 2022 11:55:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9QbG-00073N-0I; Mon, 17 Jan 2022 11:55:02 +0000
Received: by outflank-mailman (input) for mailman id 258141;
 Mon, 17 Jan 2022 11:55:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ZUQe=SB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9QbE-00073H-OO
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 11:55:00 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4bfca6b7-778c-11ec-9bbc-9dff3e4ee8c5;
 Mon, 17 Jan 2022 12:54:59 +0100 (CET)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2055.outbound.protection.outlook.com [104.47.14.55]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-18-Pnur6eeBNm2VAWP-d7f7fg-1; Mon, 17 Jan 2022 12:54:58 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DB7PR04MB5291.eurprd04.prod.outlook.com (2603:10a6:10:24::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.10; Mon, 17 Jan
 2022 11:54:56 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.013; Mon, 17 Jan 2022
 11:54: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: 4bfca6b7-778c-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642420499;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=tF7EoSdsXN5dsIB2FlfnzPAzm16dWjtNWjTI1dg5Vho=;
	b=XyjMsxVcrWNEoEzNeW6Dqr0jTZBiZ7veU4srdUGuyrwPDdskwTMnjQ1WngPKgv8hqxFerF
	Yl6t4d+OUsMb5WXzQl71mb+E0BsJFoaa4qkDlst6u1ked5cDNXPyQkNJ6nM8LXvi3/TSpY
	xRG15OIlcYWRIC0yC5UIGKjgpqctZR0=
X-MC-Unique: Pnur6eeBNm2VAWP-d7f7fg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hDhcGG+zVE1urjdJ6YoCClkbGf58EICEsaFIR3oGXd2hzJwnezD/TZnZI8ZA3l4bDwQsqxI7anVgj3UiWJUSww4HlFOGjwXUzgo6UddyTJNeCI3HiaUjIebyPefTOgc04UOM5DD5yu7lapfxuHlM1ipZCjwjpvr82P0vz9jnMdz/djKl4a7jSQY2KNT/Z1iDuTsAmFihPQQosrw0F/L5SZl+CAYV6QaIb1PTuyz7jN+GaP01S120RrgSPh+3YVKDCT6zqcCGXX09N3hWFgOTQ2FjuH18+e2EOWSjaFKabm2sigJmDh3AGqOggvRtcFGi6j8eFcdAZLfbN3RZE063FA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uWxoo2cH0Hp918njVehIXs7oY7R6eWjY8pcibjeLxVY=;
 b=CZ2Wha5g/oFfaOciQpyhUxxb4nsI2Pdd/zaI3LtQo5VCychfnidZLy/k96rtwLYfUbPNh2S3QcXJWiDfnHQR+BP0/C29/qVGFdhWYxRSLazqb4oV17kMfiEZ1bQrVz4rKc8fOXb+wnaA94nTx2VvOYcHT2UscZgzHiMXRSU4vGOyn8H82HT6BVFle8GA2fny0axTuSoXKxxg6d3++b1qXApKFK+DaA63hSupS9WrEa4uk1zz+cZ+LYbv2d2R1aRuK72F8XJiwBHgxNX5OXGvLWsTv1vR4cHdB1+CGM8racBqVfv9kZZ+do7Hed6Ce57zXFeDE/horenKPVp9KeQDkg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e25ea29d-d306-94b3-8659-07457fb1c498@suse.com>
Date: Mon, 17 Jan 2022 12:54:54 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 1/3] x86/msr: Split MSR_SPEC_CTRL handling
Content-Language: en-US
To: Andrew Cooper <amc96@srcf.net>, 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: <20220113163833.3831-1-andrew.cooper3@citrix.com>
 <20220113163833.3831-2-andrew.cooper3@citrix.com>
 <c060f55e-7b18-b559-f703-b3aace50f438@suse.com>
 <63a36178-7ccf-c682-bbc1-5a9f812a47b9@srcf.net>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <63a36178-7ccf-c682-bbc1-5a9f812a47b9@srcf.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM5PR04CA0013.eurprd04.prod.outlook.com
 (2603:10a6:206:1::26) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 34051d27-dcbb-4a34-ac93-08d9d9b02e49
X-MS-TrafficTypeDiagnostic: DB7PR04MB5291:EE_
X-Microsoft-Antispam-PRVS:
	<DB7PR04MB52913B9A0BC95920548BA515B3579@DB7PR04MB5291.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:
	aiETHE+cFBZMiGcABPUftAXb85jEDzPPVzBXo+/mlAjG17S4g8ZPuDsMdueJVkEXJtvg+ssZiUAzw7oFMBye0muCcgy0ZoOco6vBWBzuHEtqJrZx2m0MdI2ezUumkqXvU3iOyJtNMGmM14qQuxQfOBN5bepySUcjUMZIrWaNFcPSghBrkKafdjVonJ6w+47kWjrienjM37B+ZbA7JAoH/hYZj6qPNDJMSigIXBNZLvTSD4xjbKgixtTHKtYsEB3kGj1aH2cKT7pAo1iXomToCNzfr2uLL4b6oXYGyVOV2GK72eUfJ8kJzk8j1o6a/anCDVUfnzqkaJmHcvGcODDrA/pNP8kBkD88nWTliOyMe18osOzRv2VjPX/1HKjxjlhNKbMv5jo2ak8tyCSYxkxNO3OcjvABuiRxGxe3cTU0iHzhzmKW6a4q0TtLjIA08kDpUD1IMzCzXWr9mtVuknUesv6eL+6y7p36ietnBqo9J2Q5PmCwkgyPC7o9VEcojzb/WNLks4x3+fScSiQY3klvm9nKI9DhaU9fbjCvxd/5uaL8+HYQQefcgye+U6jTqalv7XlXeiRn3ISo7HeomD3UM1gh7Bfca6y15tqsKTzBZxc5CTiLk7imWfM5UFE8M12+zUvyztUDDbppflVyxXBj0gzXosoUqWPH5iszc0mshQ3nMbQFuJK4P2RtKL1Ok6TEJfvBFsVBDKEDIueQ1pzqMZVRQ18IWW2YzGZz3qvY2q/rV7yWSu6Yjbk2PPNteptO
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)(2616005)(316002)(508600001)(8936002)(2906002)(4744005)(110136005)(31686004)(54906003)(66946007)(4326008)(53546011)(8676002)(86362001)(83380400001)(31696002)(66556008)(186003)(66476007)(26005)(36756003)(6512007)(5660300002)(6506007)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?UuFkJi/MNHsOV4Qgg7hAVMzbqJ2n2X9vIT/F3PmN7tLD+phmWE70Px4afvyw?=
 =?us-ascii?Q?2TYiygxIq5DB7uTWe4ArgfbxNext6CZ2zEDVtzD1ZhexRXvpFGSN80ODf0N2?=
 =?us-ascii?Q?haCNmso7yxtNUXr7VidGx/cwgmkwrhZ4n2Ukhh7H1JFmDYg5o1SLk/ZbqNzp?=
 =?us-ascii?Q?RMDFNfoX7tDvfEpPffLStW+6OiQqC1Q2nGqJ/2kDSGKaiUaxEuG+5UHZKGPv?=
 =?us-ascii?Q?jGAFeHgyZVm1yTXIr8vKwos8XgR58biS88cj2A9WDvOukKWN3dCvu2S+TwlP?=
 =?us-ascii?Q?iw9H1kf/ederw1J7vfBRvnTNeF1vX2OjJFs9PFN7XUpTPevm7uSiU3rjohdQ?=
 =?us-ascii?Q?on1vWfC5azzDk7i1veme1CFFlt1Xo5aDhLg+ltwRzvMIgeFDuyppI+iV1Zmx?=
 =?us-ascii?Q?uH65QfgplfoXvliIZd5IecHzAd3pL94rcHQkvu5dzDcP/yTwOGDuttZwRDmx?=
 =?us-ascii?Q?OSOThjxRjZ8xkSoPzsWxRCh6WyFGiMe4R3Ncq5FdvgAzAg4KhGjYy2z3QvhK?=
 =?us-ascii?Q?MfkUkV6AaFkU7xsm101V13npTosLR2/BaimjZ6/6tN4gj7Hkc1Xc9d6nG3Oa?=
 =?us-ascii?Q?np+mi8v3YZVOdZNQoLKRLQRZIKCZvOdB8gIjqpbcldybtR+Ry5mDl+5TIdIC?=
 =?us-ascii?Q?Jm+Lefjz66e3epotHH3Wy2H7RNcks/hd7zdo5S1LurAg/gzpvaBKVR9akAIo?=
 =?us-ascii?Q?rxHDW+UvYI+bgNXZyhPqJHkw683QHEcBqcMldnKIxypkSFKTMkLF6Nb5p6P3?=
 =?us-ascii?Q?wIMNEHJmp5RtEx5eodSrd5gIVwpA0GSYmEb6j4yvOEOtcbJ99svFqQQxho+t?=
 =?us-ascii?Q?LItCaiusoP4FsDZauk+9rh10pTU5DDMwCO1dvcN2797XnGJgZQSGUV7e5QW8?=
 =?us-ascii?Q?DHwNwrYu2W81H9XUbXQfbON+GeweTvpoMDVmEQCpm+wag+Jpgf453VLMgyl4?=
 =?us-ascii?Q?/v2ag3NVNdsXHK9Jx6SdP7W+4o/ZpP+TnWADKyDRH/Umc6KS1k9mQEDKIwie?=
 =?us-ascii?Q?0cYDqixVMqQqsMyf2ZO1LC+B0LeL0WiBmtcZaDYFjqY3KqaaNluka0y44SEN?=
 =?us-ascii?Q?nNAF3DJTFTFJvAHJlqkP+pCjJeL2Ry9MJYYuKGqQ6KHLvAyZhPMc1DaSxjsv?=
 =?us-ascii?Q?sdr4pJ1Nj2SnqdZZ9NKC73ZHT2uIimspyVlKFvkHYuZO+uGIv7nsCetGanf8?=
 =?us-ascii?Q?MYi7T0HR1/blr905V/MQAFnsrA419b4A9eiwTZNz0C+K98OZp+ikjLmbg/hP?=
 =?us-ascii?Q?QFiNHz6On5gyZXY9g9L9r/jmA0vlDLyKAbWpIxtRrymJV9YLHZoMg0O5M/Fc?=
 =?us-ascii?Q?HMhN9N9FWUIL+xCa7uqcRbZweB1EFQunECyqck08AgHj+ccvxlUfySXbyV5R?=
 =?us-ascii?Q?64PV0K/XMOHKgoHYVyb20ZZ4YR/iy/GL/MzgWGw2T63xDIDg3YghMAlLZz7U?=
 =?us-ascii?Q?YRXvMMLnUVhifnzLVcUSwp+5MklsAWR93xr7pBUiGKpfVEy+XoSm8csRGQKf?=
 =?us-ascii?Q?Ng1ayU1KtpWQ+ITyTcqSKd6PMlCZYvLH/yRjY3hsAi+oM+XjOBao/5P9rEPh?=
 =?us-ascii?Q?XIDl7wxZD2A3ofQm6AVxkSSOHQEbuPx/c8A2IKfpIgUbDEc1TtNTOPKB8xDR?=
 =?us-ascii?Q?LOHJWCwOy/yxYr/tu5ZdNpw=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 34051d27-dcbb-4a34-ac93-08d9d9b02e49
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2022 11:54:56.4776
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xQRk0HrC+YhHdsgkJEqpNYvGthNT6WO0w8m1BwWZESYiE7AdOi+I13LtKI5MEOmYNRld+bGM60krN99bA2/BBQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB5291

On 17.01.2022 12:24, Andrew Cooper wrote:
> On 17/01/2022 11:07, Jan Beulich wrote:
>> On 13.01.2022 17:38, Andrew Cooper wrote:
>>> In order to fix a VT-x bug, and support MSR_SPEC_CTRL on AMD, there wil=
l need
>>> to be three different access methods for where the guest's value lives.
>>> However, it would be better not to duplicate the #GP checking logic.
>>>
>>> guest_{rd,wr}msr() are always called first in the PV and HVM MSR paths,=
 so we
>>> can repurpose X86EMUL_UNHANDLEABLE slightly for this.  This is going to=
 be a
>>> common pattern for other MSRs too in the future.
>> I consider this repurposing risky. Did you consider using e.g.
>> X86EMUL_DONE or X86EMUL_RETRY instead? Neither of the two is
>> presently used by the MSR machinery afaics.
>=20
> RETRY is used for the MSRs which can cause a p2m allocation and hit the
> paging path.=C2=A0 DONE is not remotely appropriate for this purpose.

Well, okay then. I would have said DONE is as (in)appropriate as
UNHANDLEABLE here.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 11:57:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 11:57:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258144.444239 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Qe1-0007h6-I0; Mon, 17 Jan 2022 11:57:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258144.444239; Mon, 17 Jan 2022 11:57:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Qe1-0007gz-ER; Mon, 17 Jan 2022 11:57:53 +0000
Received: by outflank-mailman (input) for mailman id 258144;
 Mon, 17 Jan 2022 11:57:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ZUQe=SB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9Qdz-0007gt-Ok
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 11:57:51 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b1ee0845-778c-11ec-9bbc-9dff3e4ee8c5;
 Mon, 17 Jan 2022 12:57:50 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2108.outbound.protection.outlook.com [104.47.18.108]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-35-IigfIFL9Mp-0kpkSceKHcw-2; Mon, 17 Jan 2022 12:57:49 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM6PR04MB5831.eurprd04.prod.outlook.com (2603:10a6:20b:a8::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.12; Mon, 17 Jan
 2022 11:57:47 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.013; Mon, 17 Jan 2022
 11:57:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b1ee0845-778c-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642420670;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=bLjFHx30tdnmm6vZASZrGCGa8HrGKg9EJEEFy5nLjww=;
	b=BNPMDrM3lGbTN5hDNiJrIk3KLeQHsuRoUQxJjdsKnBPZoah2lbVhHWxNORlNHkYS3IPC8L
	Yq1pvLfD18udB2XifQRm2ZuYkyomsAN3FrOHwxfJdLPFPSRkS7w+kHMjvjbc2ZOv17UA3c
	WenwZoi+yZUBj2gosNFZUaQEeaJFgNM=
X-MC-Unique: IigfIFL9Mp-0kpkSceKHcw-2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HmSOE+NMaJzofeOn+KNVmGE8N5V14LcdJAaZvw+FEU8n3Z+WO7l65ObDcUUXXE/EnCVT96z8NgqmHIptVvqiWLPchqJrfS7+2gcH01IcBxq5QLLPMkTW48Ho94sMUneFUcuax1Us5PW5YGAy7oHsl16TIX1KHeSoXi5M3Y9sj4tFA88b5aC6bJYWYiD+d4ITwsZ/3a1nxnHaSNPkOwK4OlzneLoeJQrQmViqzxd1ffqoolG5CBqlSpeCvw/4YNrMNelwTmBUL3+YK1NnnbIVwxIDDpDVlCDeisRWYI4Cefohwkb7Egt1ncOquJYe6i7NboJyVAPcPSBPwWYErbe8/A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AQ/zTNOMe0OArpgikcOSniJL63ljcgoh7uNa/JxE8R8=;
 b=kE+OBcm6GCIIsrBEYBo8VnNx9tvhBr7fkSUVPnTLg/L6l5pD7jEP+1rZBAVWIn09Y8IrowVmufzn7UhjJYz84M2MzIcgNDF7n1aGrjHsEXzUq2DCNy0TUOPFKjIGlouZO5URvoPjJRP1nIFlUez0LRy1k/II1tKmBjA4A02ajpJLV9ofs5orR/g3Li2TzC5hats++h/4K/FGl3dwz+kQHauavazx/l0EauEEI0PN31u2D4PWybRH9LPe0TQ367SAgJvTBsPdkUl2XWsSSRYG7yn+Wk7TewJYg1kxnM+biIL6HgQYPgABsr4pN5tF9UIHYItuBbUtvdq+EzNwgyQ1uw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d44be0c3-8514-4616-cc98-85f6b06d91f1@suse.com>
Date: Mon, 17 Jan 2022 12:57:46 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 2/3] x86/spec-ctrl: Drop
 SPEC_CTRL_{ENTRY_FROM,EXIT_TO}_HVM
Content-Language: en-US
To: Andrew Cooper <amc96@srcf.net>, Andrew Cooper <andrew.cooper3@citrix.com>
CC: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
 Kevin Tian <kevin.tian@intel.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220113163833.3831-1-andrew.cooper3@citrix.com>
 <20220113163833.3831-3-andrew.cooper3@citrix.com>
 <aebd4542-8eb8-5073-a578-5b96a6354b84@suse.com>
 <c609152c-9a4c-2ce1-2d32-37b095c85181@srcf.net>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <c609152c-9a4c-2ce1-2d32-37b095c85181@srcf.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS9PR06CA0270.eurprd06.prod.outlook.com
 (2603:10a6:20b:45f::31) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6da7bece-2999-438e-5277-08d9d9b0946b
X-MS-TrafficTypeDiagnostic: AM6PR04MB5831:EE_
X-Microsoft-Antispam-PRVS:
	<AM6PR04MB583121A858136FD707152849B3579@AM6PR04MB5831.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:
	56CvltdNs5VXvy+2DvMB376h9IDTndfstFzX/+JCT1Gvk8yXuapplNujMLklpZM8nwF0sTMf1i4ouHDq1la6oaO6N/OYcmi6u9K5/ZgEn9ghpN/vLmF3j/4T4Kmha5i8PrcKbgPBsyMSetb7ObrB1bvN24kS1oL0yP+0urcfMpj0FOmX5NhV7yX/aXLeoDTwd8OnBcmu631UUWB6bNj4jbEatAXloLqGRAWIATWGUkxpn3UJRa4C8nMLlA/rUrTpOU9qtQhaWLgUOOD3NkdV3FcK0ShO9QxwNWTG9/t/fxy0IVhVnXC6Z48PSgRhTdD2ZsUQuqVRHg0Zz8v4ImA1Wfcd1Rn3vPbcEA+XaDBpuUd53N03Haz7FpkM3tRY+qdXxjlWxj+LG58RHvCnfqOELjxQ5TTNcjCImlxj8/kwIm05iHXj8pcDixBsBR3RWlxzc+/Dj2xaCVxAWa5OFFF98BeLAwyehfiUeNMDqYErb3iHx4rSe+Xn+d+BmffcDiRqCswH3RLbNuk6MRkLUPupEsrilZ2NbNFBzt7aZBTyZNePw3FadDGRTFqkMlHijS2tTSgkZeS6BPcKkvDlWM0v3WJh/zG+VIY0OznHcuFrQSvsB3RuV7U46763OsJxLbYELmtH1DZaUZsqneB+0rXfObjdDSIVeTi+SlBvLLrXFuZgVxq6tbtQTzedhkrGi0nYiMWcwDp8OCjchncP9YUB6VSTqfVZUEuSNt5GrVDqCZWgRvaNz6zyCbPT+mhhZ1qR
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)(36756003)(26005)(86362001)(66556008)(66476007)(31696002)(66946007)(6486002)(8676002)(2616005)(2906002)(54906003)(186003)(53546011)(110136005)(6506007)(38100700002)(508600001)(4326008)(83380400001)(31686004)(5660300002)(8936002)(316002)(6512007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?4EnVw4heB1fZto6r6vh4CjFd/ntQ5TErAzxZF3uQXnCFAbIcwrnKOIKJUhqO?=
 =?us-ascii?Q?xSkvXh5uY4m97n5x3esM2scX+y5fvYxeJAdmbCmwGohsTIlX1qXp0VnwORb+?=
 =?us-ascii?Q?Hv+1WtC9As/IJbtjM8/mlxrb0dKFrStqcv3nnqIHI4OoQnDGcYjaVCNQ1ZjK?=
 =?us-ascii?Q?Td+T8+Zzww6dwQWZGs9SvR5SDY0JKa0NCD9U1h3N7VWyBH32a5Ii8o+PfILZ?=
 =?us-ascii?Q?gQ2yHCZuCc0l66zwsQey6+D0dyu7rAyLxBiHAsMeScUv6g+wNTV+YcduE9v7?=
 =?us-ascii?Q?hX0d98ZJweRY5yIZJsUJMO/3/W73FZfQT3LeCDmeNm+9PW1FpOg//c11Hx6Z?=
 =?us-ascii?Q?ZYGz5kqopSSjqeQYaGk/PJ/Uh85RRKvRTxOFb329m+7ppbBAVmoGDw4VlSvB?=
 =?us-ascii?Q?J4DjX7moxZnpON6rNmYqVxpWrI3R70E04F6Kf2zeZblWjiUAqIOBAXm1OOvT?=
 =?us-ascii?Q?KH44VWYJBf9W1zJi0X5CuZl5Vck4jqAPoA/K8e0BMXbfT5n1SZVF+XaseyK1?=
 =?us-ascii?Q?Es3PEEoxTwy3UfmYipi7OgmAEeNIHyE7IrOJWOPcKwEMBMgC1QXzeDmDl4jo?=
 =?us-ascii?Q?m7JiLtk7O0+vPL6KxYbVYGERm9WPx0VjkhWfcgnQqGI32LpQ4aWssqGT8+99?=
 =?us-ascii?Q?Ofy0a0mfNaCNyXU4uq+bxtgNRuEZlWEMxuOnq01VkmF/OCq0arAXM+QJJLxC?=
 =?us-ascii?Q?ejQ8mQpz1q+jnyGQwXKvg5+dG3syXkC1B2Ex1qoXjHwlDy/lJej18K7wwXe3?=
 =?us-ascii?Q?sEKTqwMvYiVTUJud/ECyZekUWdeO9aF9xpv8nq0NxvGRKL6kLdSA2BXDdjo0?=
 =?us-ascii?Q?n5oX0zVQsAt0D9Uo1Ns/Q/rEYOxEWJCshETKy14CiVugojYWpVTgfYnxvedh?=
 =?us-ascii?Q?dNoXKaGPk08QR0YYyaIRT9zeXUgcdl+XA3dCr2myXgRB72dwmT03dcbY8mqY?=
 =?us-ascii?Q?ZlsFDz946/SRtIKTe6l0q5vbn4b8pdxXsWpawkKPJoynU45PV+ZKld9+hFxw?=
 =?us-ascii?Q?Zy25fhlbBTCoS8Oqf5IgIK8jg15sZdEp1TZOyOAB6b/mANNvCoqg+p1kpISm?=
 =?us-ascii?Q?+lens3MP5ZNUWMBKPcPm1O1BUYzVfKi+7ZLLaRnp52xgZpU+YepI1MXt4CrP?=
 =?us-ascii?Q?0FRjlHY9QD4VZlBqgSt7ERUcwsCaTzYfIkm9TD5KC2nGVePGfOq1RZLwn7AW?=
 =?us-ascii?Q?5Qoh+ak/0vpVAFVNFNU4r7qMlAEHSNuWOl+wVM3ITq1Jz0sF1TcnvJWH7Pi1?=
 =?us-ascii?Q?wvcaMYJeVbARfUFg+g0coEAGZQG808wNpBGedh0NWVatJ8p25ALduDJgdgDF?=
 =?us-ascii?Q?tEo3fIyq1ldukaP9Etd53LcLy1Nyh8+JT8JevXKVdnn/WUP57Zw88XLMRd9J?=
 =?us-ascii?Q?latipH1ISb3I+YZqb4KzloZfVTiNRIvzz8BFLk5lKhKI6oDGVTyIZTMXnve8?=
 =?us-ascii?Q?8M3U8oCrZyhn6jNWh/kAvUnDpgjY2779vlYWJ19rqPUwh4hC/f/A+8mdK1u8?=
 =?us-ascii?Q?ZZjPxwKv+5lS1xJNT7NoBYDnJ8KBSzGZLIAIgIy+kR0taS17onqLs8bDybCn?=
 =?us-ascii?Q?11J3r12iqqzDvMuPt+HLAoT8oojlFpOTa+eY1W8OfYkecLfa91EGktY0DnHR?=
 =?us-ascii?Q?G0LCV9aj8fPhiiZbsTjFqsQ=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6da7bece-2999-438e-5277-08d9d9b0946b
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2022 11:57:47.8508
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wjG2W337OE1AcRdQMCkwghfb+F6CG4OodICCaABs1yvTYM5hhvOe7C8s4MXIjjMGbW4tbiSlPzamTI1acvVhNw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB5831

On 17.01.2022 12:41, Andrew Cooper wrote:
> On 17/01/2022 11:22, Jan Beulich wrote:
>> On 13.01.2022 17:38, Andrew Cooper wrote:
>>> --- a/xen/arch/x86/hvm/svm/entry.S
>>> +++ b/xen/arch/x86/hvm/svm/entry.S
>>> @@ -59,7 +59,7 @@ __UNLIKELY_END(nsvm_hap)
>>>          mov VCPUMSR_spec_ctrl_raw(%rax), %eax
>>> =20
>>>          /* WARNING! `ret`, `call *`, `jmp *` not safe beyond this poin=
t. */
>>> -        SPEC_CTRL_EXIT_TO_HVM   /* Req: a=3Dspec_ctrl %rsp=3Dregs/cpui=
nfo, Clob: cd */
>>> +        /* SPEC_CTRL_EXIT_TO_SVM   (nothing currently) */
>>> =20
>>>          pop  %r15
>>>          pop  %r14
>>> @@ -86,7 +86,8 @@ __UNLIKELY_END(nsvm_hap)
>>> =20
>>>          GET_CURRENT(bx)
>>> =20
>>> -        SPEC_CTRL_ENTRY_FROM_HVM    /* Req: b=3Dcurr %rsp=3Dregs/cpuin=
fo, Clob: acd */
>>> +        /* SPEC_CTRL_ENTRY_FROM_SVM    Req: b=3Dcurr %rsp=3Dregs/cpuin=
fo, Clob: ac  */
>>> +        ALTERNATIVE "", DO_OVERWRITE_RSB, X86_FEATURE_SC_RSB_HVM
>> Just for my own understanding: The comments you add aren't commented
>> out macro invocations (as I did read it first), but comments naming
>> would-be-macros which are then expanded "manually"? That is partly
>> because initially I read the description saying "Expand and drop the
>> macros" as meaning that the macros grow in what they contain, which
>> looked contradictory to them getting dropped at the same time.
>> Perhaps me not sufficiently understanding the difference between all
>> possible meanings of "expand" vs "extend" ...
>=20
> They're grep fodder to be able to easily locate where we're doing
> entry/exit speculation logic.

And I don't suppose I could talk you into replacing the use of "expand"
in the description, even if it was just me who was mislead? Perhaps by
"Open-code and drop the macros"?

>=C2=A0 These paths will continue to diverge over
> time, and cannot have a common implementation.

That's understood.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 12:22:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 12:22:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258149.444249 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9R22-0002VS-On; Mon, 17 Jan 2022 12:22:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258149.444249; Mon, 17 Jan 2022 12: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 1n9R22-0002VL-Lj; Mon, 17 Jan 2022 12:22:42 +0000
Received: by outflank-mailman (input) for mailman id 258149;
 Mon, 17 Jan 2022 12:22: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 1n9R20-0002VB-Kt; Mon, 17 Jan 2022 12:22: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 1n9R20-00031I-GM; Mon, 17 Jan 2022 12:22: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 1n9R20-0005vZ-5f; Mon, 17 Jan 2022 12:22:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n9R20-0000yT-5D; Mon, 17 Jan 2022 12:22: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=MMw2GHfweDh8Eg7nUMBTSu+8d/6PmWIbI+xvl7+3jEc=; b=DxWb0dArwcCDEYYI0Rcn5hF0J7
	9L3X6ottI7NFDqTpw2zYcTl1LFz+jxYfyP2wLzC0HD2pkFMd8rMkRSsLm8vuvBVHNBfdlr9hg4N9f
	96eiU3D9caKE78q2a+7WyNI2uJJ2OsgxJ5rIik89P0RsRoZmTI6TcJW/rJK6C10cayx8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167719-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167719: trouble: broken/fail/pass
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt-raw:<job status>:broken:regression
    xen-unstable:test-armhf-armhf-libvirt-raw:host-install(5):broken:heisenbug
    xen-unstable:test-amd64-i386-qemuu-rhel6hvm-amd:guest-start/redhat.repeat:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-rtds:guest-stop:fail:heisenbug
    xen-unstable:test-arm64-arm64-libvirt-xsm:debian-fixup:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt-raw: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-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-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-armhf-armhf-libvirt: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-armhf-armhf-libvirt-qcow2: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-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-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f
X-Osstest-Versions-That:
    xen=9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 17 Jan 2022 12:22:40 +0000

flight 167719 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167719/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-libvirt-raw    <job status>                 broken

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt-raw  5 host-install(5)          broken pass in 167709
 test-amd64-i386-qemuu-rhel6hvm-amd 14 guest-start/redhat.repeat fail in 167709 pass in 167719
 test-armhf-armhf-xl-rtds     17 guest-stop       fail in 167709 pass in 167719
 test-arm64-arm64-libvirt-xsm 13 debian-fixup               fail pass in 167709

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check fail in 167709 like 167702
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check fail in 167709 never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check fail in 167709 never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check fail in 167709 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167709
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167709
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167709
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167709
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167709
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167709
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167709
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167709
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167709
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167709
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167709
 test-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-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-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-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f
baseline version:
 xen                  9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f

Last test of basis   167719  2022-01-17 01:53:12 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 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-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 broken  
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-armhf-armhf-libvirt-raw broken
broken-step test-armhf-armhf-libvirt-raw host-install(5)

Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 12:24:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 12:24:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258156.444260 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9R3O-00033u-5M; Mon, 17 Jan 2022 12:24:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258156.444260; Mon, 17 Jan 2022 12:24:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9R3O-00033n-2P; Mon, 17 Jan 2022 12:24:06 +0000
Received: by outflank-mailman (input) for mailman id 258156;
 Mon, 17 Jan 2022 12:24:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ZUQe=SB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9R3M-00033h-PZ
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 12:24:04 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5b5f365a-7790-11ec-a115-11989b9578b4;
 Mon, 17 Jan 2022 13:24:03 +0100 (CET)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2055.outbound.protection.outlook.com [104.47.12.55]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-41-9hE3o65ZNLyCjK6-mBSbDA-1; Mon, 17 Jan 2022 13:24:02 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM6PR04MB3975.eurprd04.prod.outlook.com (2603:10a6:209:40::33)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.12; Mon, 17 Jan
 2022 12:23:59 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.013; Mon, 17 Jan 2022
 12:23:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5b5f365a-7790-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642422243;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=jNkvD2+GRaqZz9PTe/yp2vbKsCiHiJ53Qm9FoyYrtnE=;
	b=Y5ueyo5qSv47remcar7HgfMqQjnTsOP6QCSTf4K4HRZ016O/XC4P4W4P9CmerBUZxn5Gph
	V2UIhaI8paXdvcJYBwMtNKVi+cVsuqi65UTTB12kqmLPEpqjJ1pvznq48I51QILP053+xv
	/eZLauR0gEv62ABgzw0IMtDJp+dMRzo=
X-MC-Unique: 9hE3o65ZNLyCjK6-mBSbDA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=d0Rsji25YB6+ThZZViUubnQmgxauz1K5hRkoRCt5U27V1jOytSgkk5uIHFotCe96Y0G2Sq++oS39XACV9Qgdcj+C0x0Cckht+5gyVlqXHeUPEGhLwVETK+/gwNQDoj08LD/zfrhlTKmu8gtqjgnHDonfrnr94SyR1uSffOjKuLWDKAXxmY9ko6Tw/QH20xuc7s9m87szNLbX7byXLCAxC+Clbour9eN9UsnocjIsCV9FSdFTa393oqwTPg7THKgv3JwslgHb5z1Lk2Q2Oxmhwhx3fIQ7Ibt1eIyi9+tvO9LSB1F8ynU2ChGWyJZkl4NI20V2f3yB1xyq2EE2KFYc1w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jNkvD2+GRaqZz9PTe/yp2vbKsCiHiJ53Qm9FoyYrtnE=;
 b=O9pm5JuxKVp03QJFUsPeMkPaJ5acxHtyVpJG+85K4RR1YDWhoKEQy8VsoGVYLJfWm2ltuL6ERD5aA4YXtvRJ87WogXmtJSRPRwae9dQ1Uw7bHT1/hEIb4C6Faro71fbP5ziUrJaIBATUiDTrjn+gzHVNkhWHHhKjnc1dKeu0ebz3Z1/xmo+/ut6if+5wU+97+CA2cuqJ0FF6vztnqReSQa8DT3k2H0l2D5ZhEOSc+wzFQjUJR7SSIzhX9kc6dJTDuv5dlsCrqg3p4gstIuBAX/3XNQgh8cUjWz+tsl2mXJpgaywLTQILYZBq4lVUIayPfMQuKGz0wlJBY9+igjXWMw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <12f7359e-6331-011a-9d98-af63d0b2b644@suse.com>
Date: Mon, 17 Jan 2022 13:23:57 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [XEN PATCH] tools/firmware/hvmloader/smbios.c: Add new SMBIOS
 tables (7,8,9,26,27,28)
Content-Language: en-US
To: Anton Belousov <blsvntn@outlook.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 xen-devel@lists.xenproject.org
References: <AS8P193MB171873609ED0D3F997083C2DA3549@AS8P193MB1718.EURP193.PROD.OUTLOOK.COM>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <AS8P193MB171873609ED0D3F997083C2DA3549@AS8P193MB1718.EURP193.PROD.OUTLOOK.COM>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P194CA0056.EURP194.PROD.OUTLOOK.COM
 (2603:10a6:209:84::33) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e4f5782f-e0e4-46fe-5dd4-08d9d9b43d30
X-MS-TrafficTypeDiagnostic: AM6PR04MB3975:EE_
X-Microsoft-Antispam-PRVS:
	<AM6PR04MB3975F68E121B663B2D0937ADB3579@AM6PR04MB3975.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:
	qD8xbg5/2vRy/ndg9KVyQaDKulB14bWgC7s+EKiKtL5K3SJxx8Dp9tmgtcmXsYmuBYb9s5C+1oSEQjE/J1bRtFtQrdSNHNulhB/36SRUYhYLdrHev7HvqwMsKCdTqWrGR9wPDBpFisDIDkrhJvrjPRoSGn+wkzeCnmGt52U3aztGil+D3DWAd2vxT24XV2eqbYd9fb6BYPSB3iGcGPit9JD9dIwIqvJSqyGkNGfe8gIYNdsZHDYeMpGowsXzDQ/bRpBgUOYI6JchC7IXG/3iTxC8QOTN/GRuZV47/LZeM/iIuMwC9dgHXk/FIr3v5M1GMA5Q7Xw9qdSYGX9Cd28UEVNtYYaFS6rgBuLapnRAWbUsoJdGe21EkXG6YNcYuKzfHuLKHofNU1EbFbRxLwSX1DMpaoVD8Faj8j/r9x5oh0fcDFNyL/VaEeonwkkPWa2T2ubub48+RqRzTqbwCzgQrRpYyG2AnZYuIImnorDB9XjvNEbAb5aKWOtmlA/wyWYaWorW4CioGUDUcybbEJbwPK0fke9DjV254+GkNQYrNxSYN14Gq2JXLg4K+X5SxjSks80w/BhK3aQ5QQACw5em4K+UsroNxrIqeyzPlW6OY8BUNYNcLD+adIikAJ26q2255KTtkuU70buUiUqSkRPVaSJ7hBzNOwxIs8ixrLYMXd89RlLeTPj47B7bOqJNrPrHwV1BsU9fJka4a4f7UPhkk2fIETxdHP/ieVQJvr/y0JU=
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)(26005)(6512007)(8676002)(2906002)(508600001)(53546011)(6506007)(186003)(45080400002)(66556008)(66946007)(8936002)(66476007)(5660300002)(54906003)(86362001)(36756003)(4326008)(83380400001)(66574015)(31696002)(316002)(6916009)(31686004)(38100700002)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dk9EaUswOU1KTzNlaS9veWFYUWdndWRBMkd1bFdxNzZtWGpDalE1WUdKMWhF?=
 =?utf-8?B?dGxOL0h2Q3ZDUHlLK1YvbXVMNnUzT0hsU2hBcCtBQWFDUkZYZHBZU0Ywb1gx?=
 =?utf-8?B?SUtzZmZRY0xuZmVxVUkrMkFzRVdnVzBBemNpaTgxMDYrOWZpRVBHVk1DZHJC?=
 =?utf-8?B?M3Q1NUNhRGZ1VE1aQUNzM1d6QnA2QUh1T3ZMRFpHRUgzVzNUZDFrSDRDYTc3?=
 =?utf-8?B?am5KR0oyQUw0N24wY0EvQ3lOa0ZCeFdSWFc4bTVYYXNaQjBXUThVdVlyMmVQ?=
 =?utf-8?B?eEw4dys4b0p2SEFvWTZhL1ZZVDhXSHdqS2pCZTdPS1R1UlZpVU1DMy9xQkJW?=
 =?utf-8?B?MVVVQmdBZFVvb2c5SjRkcm9haHRSSUhTWlkrNkQ3dTFrZDZLWWh5WlFiV3U4?=
 =?utf-8?B?R2hEVGkxOGt3WEpCZ2FQNGJERGkyRW55Q0wzWTd5TDJLRGR2VE9sV1hKTUJz?=
 =?utf-8?B?VENxUDkzOGF0Tm9GcVRUbzZJSUZockdWakJiTkNKRk9MVkhPRUdKWGd0U0pW?=
 =?utf-8?B?Ui8zSTEyUFVEanpGRUMzMk1ZRWc0RnA0cW9nYjBoZ3FuamZveWFQZ05nMGxX?=
 =?utf-8?B?RFdlTXRDTmNFR1hMcWhNZU41N1hNenBNM21BR1p0VDc3bU5iWWRXOGYwLzBK?=
 =?utf-8?B?eXQydDJicmZ0Z0tPZ25vQnRJQy9XeW41NmdOamEvNXlHZVFUQXR2OWxkLzZS?=
 =?utf-8?B?NEVpbHJzYzZqdEFGdkdtTXdnK2dPQmFuc1g0NmlXMkZ3MHVQbzNxT1M0ZXFW?=
 =?utf-8?B?QUZPcU5nbmgvQnBhSVVVd2tROWxuNFllZE0rcXNudW93L0hDdkV0WkVDVTVI?=
 =?utf-8?B?cUVDVlRWU3Nta1o2WVdzMFZvR2t6YzdkVVFYNGdVQ1FWUTBTendGbXloeE0x?=
 =?utf-8?B?dWYrT3U0YnYyME0rMFFJRjdSdExSUWdkTjRldm5vdDNMS1NiUDZ0Q05NRGdh?=
 =?utf-8?B?Vm1uRU9Ma0t6UTM0NWpKMXFidldOcUl5eG14SGhBUW9BaDMyaldXL3V3UWlF?=
 =?utf-8?B?SEg0dlpJcU5YSXpCVTY4TUJjOE9YMGtzNGtMRk9CK0dUN2paRlpaK1d4S0ph?=
 =?utf-8?B?VEhtUGZwUGVqNW1tTHp0ZGl1THRLc3FCTXRzUVB1Z0RxK3IvbW5uVHEwS1ZM?=
 =?utf-8?B?UzBrOGg0a3NGSVVoMmNGNVltd3hqaEpWL1QzYktvVEF3SktTNkdrOVBxdWlM?=
 =?utf-8?B?NUxCQkVmcm0vSlBtWWtZRWozTkQxTjc3UzIya3NFazIycXdLTHF3OEdLbm9B?=
 =?utf-8?B?YzBKbXNQUEtUeEYwcHNJem5uK3FXVVhHVlpsdlczUGNPUWZPNkE4ZjBrVVgw?=
 =?utf-8?B?L3VQV3FSZG0ydzBNZERuYW1UQVBTQlQ4a244bi9HYXNRT3czQTZyaUtEZ0dR?=
 =?utf-8?B?TTlqcnR6ajdxM0NnelJ0M0pBK0ZyVnN6RURncW9VOTNEVjlWSjA5TjFYU1BM?=
 =?utf-8?B?aFN0ck93R0kwRlErbktwdE9IVlRoUGpIblJlWFhyNGtiaGR5eE1ac01wTytr?=
 =?utf-8?B?Zy9OUEFHNzZIYml0MDVjbDhaVzZKbk1qQ1lPcC9peVNyWDRGRmp0MnlubVVo?=
 =?utf-8?B?bWs5TWU5aVE4djhzdnh5eHJBaCs3RE5iazQ3NUVpOEpUdWQ2dTJPaVJVWlhN?=
 =?utf-8?B?bnRSZC9wVWlITFhBODJZN3pXejcwaWIvbENNYkFOZnkwSTljMnRhNmE0UG9Q?=
 =?utf-8?B?c05aczBwNjFObjUwa0VPTzlndjBGdXRPcVA5VkRzMG5XRnhTRDhFV0FaZ2lZ?=
 =?utf-8?B?dW01QXlmUG5mZ2dZd2NwM25NaVVId09iWTFiKzBnWFd1NkRNNXh1QzBWQ3B2?=
 =?utf-8?B?R1Jjelp5cjh1M3dvTHVYUzlwMWpKRzJvb2M5WHg3YnFNV0RlWDlJM1U3ai96?=
 =?utf-8?B?RzhVM1Frb1RXNGljT2VLZFpsZjBxUDFMeE43N21rZ1l5TWN5amtZMjRLbnZH?=
 =?utf-8?B?aUpZdUxZMTI1cGNSVy9aUC9nQ2xnbmo3NU5VT29zeVFPdjAzMUNNeENrdDNE?=
 =?utf-8?B?a0xDRUVGSUFGYTFlcHBNWGUxMFFmZm1saUErTnBQOFcvWXliZDhLZzU0Wnpp?=
 =?utf-8?B?WHE3VnoxY0l2RDF6eGxyMTFqcUhiODBrQU9vWkI5cFRDM3Y4aVQvVHBQS1ZX?=
 =?utf-8?B?L3piaWpKelZLZTMraXh4b1l2YlR0QTl5YmdSSkVnVFl0U3Q3VWNsZ1JEaHpM?=
 =?utf-8?Q?/sqJZQTVve5JSGqamOal7HY=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e4f5782f-e0e4-46fe-5dd4-08d9d9b43d30
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2022 12:23:59.4485
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: FpOFND0FbKVo1ApFeFIM9Q2SCCc5H81OfpFy7VAk8TQLPUFJLQTPg1j1H7aMupJ7MK8ZoCsEH439VUZdhGqvYw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB3975

On 14.01.2022 09:52, Anton Belousov wrote:
> SMBIOS tables like 7,8,9,26,27,28 are neccessary to prevent sandbox detection by malware
> using WMI-queries.

This is a statement without any proof. It may seem obvious to you, but
could you please make us properly see the value of your addition as
well as allow justification towards the completeness of your changes
(i.e. that there aren't further types specifying of which may also
help)?

Furthermore, with the original intention of the machinery having been
to pass through host SMBIOS structures, you will also want to say a
word on the (intended) source of the data here. If it's again the host
table, then you will want to also discuss the security of doing so.

> New tables can be mapped to memory from binary file specified in
> "smbios_firmware" parameter of domain configuration. If particular table is absent
> in binary file, then it will not be mapped to memory. This method works for Windows
> domains as tables 7,8,9,26,27,28 are not critical for OS boot and runtime. Also if "smbios_firmware"
> parameter is not provided, these tables will be skipped in write_smbios_tables function.
> 
> Signed-off-by: Anton Belousov <blsvntn@outlook.com>
> ---
>  tools/firmware/hvmloader/smbios.c       | 146 ++++++++++++++++++++++++
>  tools/firmware/hvmloader/smbios_types.h |  77 +++++++++++++
>  2 files changed, 223 insertions(+)

Somewhere here please have a brief description of what has changed
between versions. Also please properly tag you patch with a version
(this one looks to be v2).

> @@ -700,6 +724,66 @@ smbios_type_4_init(
>      return start+1;
>  }
>  
> +/* Type 7 -- Cache Information */
> +static void *
> +smbios_type_7_init(void *start)
> +{
> +    struct smbios_type_7 *p = (struct smbios_type_7 *)start;

Please avoid introducing casts when none are necessary.

> +    void *pts;
> +    uint32_t length;
> +
> +    pts = get_smbios_pt_struct(7, &length);
> +    if ( (pts != NULL)&&(length > 0) )

In reply to v1 I did ask you to avoid copying existing style violations.
In the example here there are missing blanks on either side of &&.

I further wonder whether indeed any non-zero length is fine. IOW it may
be worthwhile to first harden the pre-existing cases a little before
further cloning them. Actually, seeing that the smbios_type_<N>_init()
functions are all largely identical, it may be worthwhile to introduce
a single function doing what is needed for all overridable types.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 12:28:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 12:28:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258160.444272 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9R7p-0003ow-SR; Mon, 17 Jan 2022 12:28:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258160.444272; Mon, 17 Jan 2022 12:28:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9R7p-0003op-Ov; Mon, 17 Jan 2022 12:28:41 +0000
Received: by outflank-mailman (input) for mailman id 258160;
 Mon, 17 Jan 2022 12:28:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ZUQe=SB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9R7o-0003oj-Jb
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 12:28:40 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ffe33f79-7790-11ec-a115-11989b9578b4;
 Mon, 17 Jan 2022 13:28:39 +0100 (CET)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01lp2056.outbound.protection.outlook.com [104.47.1.56]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-27-OeFNjSnZOKWq0_8i6fR6vQ-2; Mon, 17 Jan 2022 13:28:38 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DB3PR0402MB3724.eurprd04.prod.outlook.com (2603:10a6:8:5::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.12; Mon, 17 Jan
 2022 12:28:35 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.013; Mon, 17 Jan 2022
 12:28: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: ffe33f79-7790-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642422519;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=AvZxWpmaRWj0+6dErva5UGvHDP2syDbguv9eZKqCvxs=;
	b=lasBIHpD6Cl10h9dUZI825/faa7YCjnKgiUMiOEQ5L4ueDegxEj7aSov8vNwBjcjuzqpqe
	W5ru+14SNBZtBbrgjuCWnKgMJO/EKjpXrehCLvtKb3QBX9UH5Ybb69LWwZd/9DvtvacHYJ
	EidEgXdX9ibsMV15IFKMTer/sykP2nw=
X-MC-Unique: OeFNjSnZOKWq0_8i6fR6vQ-2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CUeCcl/Dh9Ncuie2wrWgAOCJKGK18EiXXWS9oxcNv+kgKY5ArQ3vRR6Etg/5FDqgB52iSNgrvC+iNdLERtLrjiDMfm6Dml03WB7WZCxwGWIvViUCw24uxlK6K0Nydie7MwZb7yiUWtwJxgorV8K7N/tn0lBwe9L5z5bf6mXDFS24IlyO7mC0qU/zrLUz4cYvhAxKZqGIfPugo6JOZVhOLTdgUpcdGIjAwQHjHWPKPHlAgL133zmkWH5doRru2xCXumgUvM9stsEMjYHMz75JerIc59UFMtOH0ndZ9mzMx1Y+0c+Fv63OrRK2aR3HdRbMmbpn0fCNtL+IGTfwQdnDyw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rtWZEOfJ9AiHdhqjH4nGoRpCIwysbRJTTeRjHzakYi8=;
 b=AmnCHRKVjXVxdAft6Q/razNAf03+R2DnbRbVG4hDzhTt3wDQU4NOSF2x5QAMWjjEx+Fm3F5MI500q2cpbmTRlR8lbSzeuZ3BuD9oU37U2Vh9cFX6EjIaGQl5ekdNJS3IXb21Lbbuxeg6yQto0ZT2Y9rKGd3FRU9gTJPIEH8HAC1MX6ojvGVGqzfipXCOUDkSzxovbUaQtcizOHfF4lDBrVB2H8Eu/rXQWA9n0bu4Vjp2vCTB33ctWXRCCc7E/IcsE7msCwGll5jJE74Fi2dRuMxLUAVoQYxD8F2R6s8Tz08BEV6SlOs/qgi2tvb2OSVhoDcojPnD9llk0UKP4vb1fw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <eaa3e8e5-3793-78c5-2c29-ec043bad0d0b@suse.com>
Date: Mon, 17 Jan 2022 13:28:33 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v6 03/12] libs/guest: allow fetching a specific CPUID leaf
 from a cpu policy
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
References: <20220117094827.16756-1-roger.pau@citrix.com>
 <20220117094827.16756-4-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220117094827.16756-4-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: FR0P281CA0052.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::20) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 7b21ace1-135f-4cec-c4e9-08d9d9b4e190
X-MS-TrafficTypeDiagnostic: DB3PR0402MB3724:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-Microsoft-Antispam-PRVS:
	<DB3PR0402MB3724D23F071B6BC914EAA4C1B3579@DB3PR0402MB3724.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:
	UdGuPtjDVv077YY30kDu+yrv1Z7am2HSmECkISxSJRDX8MASNt8meI4clBJQtCrY7GoLcRg3HcSMJYp0pEwL3IlHV2V/hDIOlZQWpBIChnFCQ6DHDJpU867av1rxajywMXgekh8KBgAkLvOQ2Mg66hqFJ93QZc2nVneZWKWGNZpwyO40zu5Ld+XDq4I/1uJYH7lEM9uQH3IcEzHglhtiwj619wrU9UqsW7+ac5hQ6n4qMfif4nmJdaUHJwjrTX3pOM8lggUa4jNUxkVCNWXl1KkkyApYa+7vdQXzuFvWQ+ubWo7TbtVnP9ThoM4saMIdJviR6VsvL1h5MgB6HzMTB2Fzo/CHikmmjubrXCdKovI1ZCytM52b/GuNRmOcUxhYoca2q+7wwrOHYmTHLgMs5zcq/Elo0cGG2q2qIFTNr1h/I5XI27l8k9uiLoLOhh1tUYPaZNnjtYZbzcjM7KmIneqoC55XfCw3lbPonzNOFa6zlkjd47bvTJjWiY9AxngUydafMQ1bx2iOjP75uAv0grZ+DEBRPcxvq4oBE6Au8vp9O4QVH/EtplAh+YwTzJewKluL41/13BE0dPKFHv1IgeFdnKU2QnZoE3+Nd5ZGNyRP8KEqncjvMuKTbk8fNn3q8sPzbVhxKAH7Srmvx5tkS3xCYPoTPlGTe9kmryX6F80QTfrCDyEBZn7WecoR6EFkdZ9P+5tVi1vBetAJ2VugDx2VmQjCz6tabeJvG+bvhmk=
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)(86362001)(31696002)(508600001)(6916009)(6512007)(8936002)(6486002)(83380400001)(36756003)(5660300002)(31686004)(38100700002)(54906003)(6506007)(2906002)(316002)(53546011)(66946007)(2616005)(66556008)(66476007)(186003)(26005)(4326008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?z1MzVH4uMP3ZuWbDg05c7U4nbUXDz3zsKkDu80S72TJX71HoILiMqIoerM0+?=
 =?us-ascii?Q?YTHDbk8mvosS7sSNhT+SXMtEm7Zmo1QCWPmfqKLp42QYyD3Bh3TkPoFTYK8E?=
 =?us-ascii?Q?fl8lowpn4cgd990gmCCCmi09WYcxdOCcNW3wSKoT8xK7naXI3mICLDrW9GDV?=
 =?us-ascii?Q?lhOXGp6VydOnyf+GqWwshGIMmwXKXfme+O7o8d917vDOgLDP9pZtvPXBMgJm?=
 =?us-ascii?Q?z2khHijDNZcPJOk5b0s47Gncu0sPA/WqpXNxZgQg5piVaaGYH0yhgXHHAIZZ?=
 =?us-ascii?Q?AykXWF9ye3gJexOBYslJMkY9TkuLk78z/JBs6mwNgqqLw8ilXn9akTfGtbr4?=
 =?us-ascii?Q?EfaxE0XSXuDB/x7/1KJuMstCuECk7kHgrEEqdpu+DM7KmW2akrXN0EhB/khb?=
 =?us-ascii?Q?lBu24yPzIqsnZ2oWoqXPCJiTdZNhdJMTFxPZwIXAwtq7oP6geFSFe/SsIbRb?=
 =?us-ascii?Q?uSO1URjRcxezVDhZybfPZg02i8MhriUOrl7c4/1f4rkjGxwMXAerI3aGC0uf?=
 =?us-ascii?Q?06muN518sI2ZArM8QJr2kV0WiEXlK2l35tUhWMqgSUPC9Ouv3SYPTtHUTtb0?=
 =?us-ascii?Q?J+B+DS8kyzFvkd7YjxxvOSw5f0j9btLY4YesJ21GaxAXHIWDwKOKQ8yGwK5s?=
 =?us-ascii?Q?MSzpBvK+vB1/Jxk3ByTeZU1uxbVQR0aaAHxjM2Guor4W1xK/sDTmauMdky/y?=
 =?us-ascii?Q?yIadrhrNkdK6Ko1ug1TlQLo+sIsN57O78kpJTx+nRRxZYcfR3AKsFCueQquw?=
 =?us-ascii?Q?+eER5nHgD2umdtO7EnbslpT4DJN8u/fBoNV0Siu91woiXAGma4klc5ksjvSg?=
 =?us-ascii?Q?Kgl/0n1OWQso4mVKNxBrVd6JKHIo5PjZvlcualAbsqV/gBP/OsHncPX70y+P?=
 =?us-ascii?Q?UcyHeMdi5WO0eAMTfDf+qWiUHNuXxeJKmLFHN02DWgVo1Kj8Gw/yr4S8jUoF?=
 =?us-ascii?Q?0djljb4H4eFxUorrKTqxlAGeGntC7kCvyNTw7JJcemTeMHdBXnKrfT0+tzbQ?=
 =?us-ascii?Q?8gP6a4BrSBjFubCtMt733KnTem7GLf5SBCfjZl/8PGN02/bxRC1GmndfTPe/?=
 =?us-ascii?Q?QgNttzkEwBuk1wkXXm39p8139zl5j7cgUPhJGJ7Cm/bcKhFT57Q3+JPVwESy?=
 =?us-ascii?Q?ZTS6BrvBwawT6VkIRCRs115cuPuB9n/UkvExRqj2QgYk1GQjWx+JFlmnNcQt?=
 =?us-ascii?Q?AZFDiRde1aTnHLcTL2eJJ6szwkr8GCODbBVn4600zjJp+lok2wXQbZOh6USG?=
 =?us-ascii?Q?P0QLE22IUwcw7+zo+zAsoF/trzvcTZ5f6lbX6WF1fxsHavwv7Vwwdq15dSgx?=
 =?us-ascii?Q?Dzuq/PBGePgCUwTBUS3kOE83acAgjZmsvah1OfsOdq0+b67mawJs1lPFHUkt?=
 =?us-ascii?Q?hhAdTbprwNlo8627TJjLz9R9W9s9Uctm+8CB35NMmprl0AYN7PC7JkC7TnC4?=
 =?us-ascii?Q?VY+2DHhT/RFUovc2PBJpS8REG9I0O2O1jaNnkyxboBDDSggewHZ6FRCRppTc?=
 =?us-ascii?Q?DAmivKr9+4mZbJYo4754kd3nDYs5Z16SP1GuhfhpROPRg+sG6UdEk4kwaSoH?=
 =?us-ascii?Q?W0hbHJDV1XDIg/2QrP5e2W5e0fyfjH3fW8QUKyJ5Gq7WDp2UuEnqwBOfZa6G?=
 =?us-ascii?Q?L206Iy4Q8I1Hrxm+Fiw/yec=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7b21ace1-135f-4cec-c4e9-08d9d9b4e190
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2022 12:28:35.2596
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: I4oWqQSHi8Eti5AgykzT5NegHd2R8NVOSamDq/G7/mIVDNoLeALnJV3j1D0QQCSO8PDQTRR/b9eor8YgHWb5oQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0402MB3724

On 17.01.2022 10:48, Roger Pau Monne wrote:
> Introduce an interface that returns a specific leaf/subleaf from a cpu
> policy in xen_cpuid_leaf_t format.
>=20
> This is useful to callers can peek data from the opaque
> xc_cpu_policy_t type.
>=20
> No caller of the interface introduced on this patch.
>=20
> Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
with a nit:

> --- a/tools/libs/guest/xg_cpuid_x86.c
> +++ b/tools/libs/guest/xg_cpuid_x86.c
> @@ -855,6 +855,31 @@ int xc_cpu_policy_update_msrs(xc_interface *xch, xc_=
cpu_policy_t *policy,
>      return rc;
>  }
> =20
> +int xc_cpu_policy_get_cpuid(xc_interface *xch, const xc_cpu_policy_t *po=
licy,
> +                            uint32_t leaf, uint32_t subleaf,
> +                            xen_cpuid_leaf_t *out)
> +{
> +    const struct cpuid_leaf *tmp;
> +
> +    *out =3D (xen_cpuid_leaf_t){};
> +
> +    tmp =3D x86_cpuid_get_leaf(&policy->cpuid, leaf, subleaf);
> +    if ( !tmp )
> +    {
> +        /* Unable to find a matching leaf. */
> +        errno =3D ENOENT;
> +        return -1;
> +    }
> +
> +    out->leaf =3D leaf;
> +    out->subleaf =3D subleaf;
> +    out->a =3D tmp->a;
> +    out->b =3D tmp->b;
> +    out->c =3D tmp->c;
> +    out->d =3D tmp->d;
> +    return 0;
> +}

Hypervisor style, which aiui also applies to libxc, would prefer a blank
line before the main "return" of a function.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 12:29:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 12:29:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258163.444283 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9R8J-0004LL-57; Mon, 17 Jan 2022 12:29:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258163.444283; Mon, 17 Jan 2022 12:29:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9R8J-0004LE-1Q; Mon, 17 Jan 2022 12:29:11 +0000
Received: by outflank-mailman (input) for mailman id 258163;
 Mon, 17 Jan 2022 12:29:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ZUQe=SB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9R8H-0003oj-Ky
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 12:29:09 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 11705d8d-7791-11ec-a115-11989b9578b4;
 Mon, 17 Jan 2022 13:29:09 +0100 (CET)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2053.outbound.protection.outlook.com [104.47.6.53]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-5-2R3h94AoMpSqoaV1X-SxtA-1; Mon, 17 Jan 2022 13:29:07 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DB3PR0402MB3724.eurprd04.prod.outlook.com (2603:10a6:8:5::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.12; Mon, 17 Jan
 2022 12:29:05 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.013; Mon, 17 Jan 2022
 12: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: 11705d8d-7791-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642422548;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=gCmxGVbIXxPvDpmfAy3Iy8sAtMPrVrIZDTvqXcFswYg=;
	b=UyT31jPBzMKsfyvoNujsh/jTdWq497nlF3JuQ+cg/KPtWI8SrZAJASPZMnG+GNI+72SMmL
	twX2sM0lqTW9uZ7ZhOUuzPlMOZGSeKNCYSu9zw+GcKIiQTS2uH1brkl9ixrx2xP2iemaFI
	a+7LCL8kFwVXxEByEi8+jwux8icNOCI=
X-MC-Unique: 2R3h94AoMpSqoaV1X-SxtA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=N5t4rlqx2DK+MU2OAwuOKewWYaHHa+CLuwkNQ6GaWkoVzlInUYB2nAMhiCJsaEpKTMOo3npQyTEx4pIJcsQJ0KwWXQq8FYUYY+Q9o7V9NvxZllyvIYrAGi7w9IEf5/NcZjQv5lTS+nLp/jnP/923S2ONVEWS1AsODPxaVFNofQtnjrkp+LDJOR1a174HP1CH7hBjLJPDmJSMMPIwdeNoDakfcHfA0YclvkcQm7J+vg3Q5l3+KaPJL5gsR3IWIoRMtarW3us2iWB68CYywIO5iN4e6o4KAtR2ROFaUr8wzvfkB7ulNDGcuvBVT2TnC9j/dH4a0SZKoA83ZC3ZMuWilw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=G4wOsbXbPrlEBX5rLLoH2v3oYlqloQo3nYvo1wOAx/s=;
 b=SS6nfx3bxt5GAKv+1mG1NovnuoJW74jdgdvyNOVhJ5+H9sKxPd6cS8SS0IcHY2u/y2WbeZvSCsXjc/XRL8P/5TRARJz+48qUkPVoDuRCXuLFCK2OBIdRsnn5GtNFHkWL5L0UCtq+cPxm/a7keoOO4uWUSK8KbJff+hAbcBaY9TBNvO8WrLHjikbgVWaq48ZqShB4E+kfoqOlQ5S6TDgBVDmSZ9dqIJkYVGJqEyCJucfsN67hOfQoTxPTIKsKcwaJPsr5PLeTXAamo82OJGvsdW1fPwci6HlY/5tuVVLtmAPK0fVnhfz+RL4XAShvMLbiOdS4zvmgiuKZ3zF/WpNZAA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <782353d3-9f6d-b21e-7ef3-00bc204f11c7@suse.com>
Date: Mon, 17 Jan 2022 13:29:04 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v6 05/12] libs/guest: allow fetching a specific MSR entry
 from a cpu policy
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
References: <20220117094827.16756-1-roger.pau@citrix.com>
 <20220117094827.16756-6-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220117094827.16756-6-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: FR0P281CA0052.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::20) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 7b00f976-1c28-4f91-6d35-08d9d9b4f379
X-MS-TrafficTypeDiagnostic: DB3PR0402MB3724:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-Microsoft-Antispam-PRVS:
	<DB3PR0402MB3724220FA8A1B77544A91B80B3579@DB3PR0402MB3724.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:
	hYpY5iQo5AJdxlAt3lySvyNoC5q/HTn7YSPFDfaQc/48Y9flRA+lFCSDQBgvPVx6h82ICeOfpqPlX/NO2oNEBh9jjQkMWB2Ga/CWM8hKsLFmCeQ671TF3z/yqjLftiQXv6UeN1aKj8hpoKt0dUUQjk6ZUmrwmtIRb2KwttXAHai93T1JznAqVv2ywt8trLJyBhldD/cea2jDERVpi9/msFzXIqaEwxZqK7xkY59d/uYPlHsymho10MvYFgQhCkk3mSqBQptPVUn5mZ7VTIhhwMW+QlNdIFdQV9AvHawvxxYRi51XS7GCwo3oomc66YkBFvGgScbMQtvlTCQah+8xh6Imqz6M2RluRAMRu5Ek5h2QdDK4GTY67QysSXmC8bEqy7PNoXYPtMkPJ8AjMfhwCoAyjvZ1xED4Y5UTp6BoRQ9hFU/+puF42vvIdoKRgnJqsk0aFTjfG22zsERbKu/5Jlshk2MmqI+2Zl27KKTOyKFQ81IARLAwvajAGKqUA1kr8UcF5JUGHMDVXA8KvjzM1FhVyN9Im32nkdXbchgdw+LWK2262f6JBpxJk1ceC/jrlmnBPJmAS4Um6O7tIqMnMpC6yvICAPBErrnDDlc4esGis1fb5Xpwny1QiIzVaUvZBq16sQZplmsFaUK9xGwR8Das9YOwtntL630hzy+HOtiHTOUGkAS8s+M/TPB28uyGKfk1m251oo+jQi9g2k/Jb4LyvrebJCCS4FosW4rF9DM=
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)(86362001)(31696002)(508600001)(6916009)(6512007)(8936002)(6486002)(36756003)(4744005)(5660300002)(31686004)(38100700002)(54906003)(6506007)(2906002)(316002)(53546011)(66946007)(2616005)(66556008)(66476007)(186003)(26005)(4326008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?mhhEzb9aalxBhj91w20fTZgRKtTFAOGpFOi6WkKkwU6iY/REkUZxI/anOJBj?=
 =?us-ascii?Q?FnaEi3jGTSPadPusn/INt0YvR6g+nIPIxJXi9Dmu0XHIFMOqT2wHoBzAju5y?=
 =?us-ascii?Q?/yhw/tObQ29PKSRnz6Ir3IGS9xuOrcE745J/WNGIu6rHRIlOkpO/F93Mn7lV?=
 =?us-ascii?Q?bTTFZX3RxxWsxHGQJBZG5YgxCKS4+EzFcxrYeQuaJHTtfzk4k782AhVlp7GU?=
 =?us-ascii?Q?0lcWSLZ6lagSQvPQt0UHmV5e1Lmq3JRK9/+e9eTyjuQ8piHavqkquCEJMEbx?=
 =?us-ascii?Q?KfdeuHjnXXQWiQJ53NyQ/s39S8stzhN8fzKUKnbmhj2HbPJm7Zv4gkcSN7V/?=
 =?us-ascii?Q?sSTbw/8735hCdZ+6727I7FJoc22gyFDiuq1pqcIQ2ouQcWzFDJaboYa//iR7?=
 =?us-ascii?Q?pREDz2in0fYB0oqFPi7yrerb50jQTha4NtmhTfMHB95PTInkmPMxPtd7AaqI?=
 =?us-ascii?Q?lPd3tmbcfvTGNWLgO6rpFVLc3EbBkv/cHgmkSY/+kSYEqk4ZO51naOVdGAUJ?=
 =?us-ascii?Q?x/HqoOK6ILii7Z+reo7VzvVt+beN5pPAzv6YpIse2MPj4yXopTNYqm29A+0h?=
 =?us-ascii?Q?vpSFXrb3p32NvyprRYTudcGKutph0De3kKIlUKTVPet2T0Xj6lMyN0US7n6X?=
 =?us-ascii?Q?SbeP6hcyTelPjRi5ufKwlrn/BEarFdlnc5oQGxbR3Cbhz+bTXFhJsJl1kuO1?=
 =?us-ascii?Q?5V4ayuBOgidDaaHQx1EtHAIXD4ieID37bjX+LFfPeF+eHShKEfvKiJuTf49r?=
 =?us-ascii?Q?ZtcG0rT2FlO+B0sJRefpeejRfBShIpe+7NpJLHBC9wCOlTQGBmVwqw1TEtg8?=
 =?us-ascii?Q?4pAQnWhbgpzbTvaQEF/lgiMGlBdm/1umm+VLp6ZXeT47JoL/RizX/Tkev0yw?=
 =?us-ascii?Q?oYNn5AFUEhN3VyW7QvC9MN6vKa+2RGh0ocKwQAt8RslRqLcf9ekCTnq8TGQN?=
 =?us-ascii?Q?zXcRfWQH+b5azIEJ0FcsSzBAKIMX4JWaqnxew023GCJ2NA6FzoUNJW0lgUtf?=
 =?us-ascii?Q?unhxuFL3Zi9n5qkK0SfNwOqSDUWl+Svl1318gSkr/7XrVtjKctYzMIWgZRmR?=
 =?us-ascii?Q?VG8ML4qLiPyT2A/VjTw0Yp4Q6ul/0Ut1DuWaNhejgxYmpxI6YCl6blXvFSce?=
 =?us-ascii?Q?K0z5A6jw0hATFlWzftmKeGhA38ylLUZwGaGik5xPltZIQ91ftaODEVKNBfCJ?=
 =?us-ascii?Q?CWMDdvzEwliIWEc2rdkeh5mppxSjXUx/c5UxxCHtd6/ZTJ6mFVrtU2WEydAm?=
 =?us-ascii?Q?q6AGkIUl4/+173C08+Okob8LWCcyx7+3FMIizhR0S6KlB6HCF2s6+RXnhhJx?=
 =?us-ascii?Q?+dYeQIyzKn2PoKRsaFjjHcNk1aKAWUKHGs/k3d2RZSK0HgDa4/lrlCVEqghh?=
 =?us-ascii?Q?muv7R/GSY8ShEI6GW92Lg7kvRzAtheq8CNlT0dY9iwJY34OLu+yA8/JKVqdX?=
 =?us-ascii?Q?o6gVkP+Gwn8gDzyGfAJQRQNdLQ0LvLT3gYiFG6c3CaYCwRPzepQsZIRvM3jb?=
 =?us-ascii?Q?X+xiUC3pTCCtiMdMj6FEWtrvwYoyEmSeGHfs12TXoAyawlbakDea6royutfv?=
 =?us-ascii?Q?Pf/86h4y41WRSJtCu+gM7NruIzHC4ugUSqoOfN7vUaJA6u9iVbgxIzsRZwTf?=
 =?us-ascii?Q?gI8n1uO5u3EK39Mn6xRrUt4=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7b00f976-1c28-4f91-6d35-08d9d9b4f379
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2022 12:29:05.3017
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: QZQ4cuGcz4ujRbLtkeCmp03/HE8zKRz/J8wPRRua/FprdpnlNF/j9C8ZVT+JOCE+Tr9KQRYY+2LBIwbPbeqM3Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0402MB3724

On 17.01.2022 10:48, Roger Pau Monne wrote:
> Introduce an interface that returns a specific MSR entry from a cpu
> policy in xen_msr_entry_t format.
>=20
> This is useful to callers can peek data from the opaque
> xc_cpu_policy_t type.
>=20
> No caller of the interface introduced on this patch.
>=20
> Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 12:35:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 12:35:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258166.444293 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9REc-0005ml-Ps; Mon, 17 Jan 2022 12:35:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258166.444293; Mon, 17 Jan 2022 12:35:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9REc-0005me-Ms; Mon, 17 Jan 2022 12:35:42 +0000
Received: by outflank-mailman (input) for mailman id 258166;
 Mon, 17 Jan 2022 12:35:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wP1e=SB=gmail.com=wei.liu.xen@srs-se1.protection.inumbo.net>)
 id 1n9REb-0005mY-68
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 12:35:41 +0000
Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com
 [209.85.128.51]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fa7fd987-7791-11ec-9bbc-9dff3e4ee8c5;
 Mon, 17 Jan 2022 13:35:40 +0100 (CET)
Received: by mail-wm1-f51.google.com with SMTP id
 o7-20020a05600c510700b00347e10f66d1so7956506wms.0
 for <xen-devel@lists.xenproject.org>; Mon, 17 Jan 2022 04:35:40 -0800 (PST)
Received: from liuwe-devbox-debian-v2 ([51.145.34.42])
 by smtp.gmail.com with ESMTPSA id l25sm13042297wmh.18.2022.01.17.04.35.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 17 Jan 2022 04:35:39 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fa7fd987-7791-11ec-9bbc-9dff3e4ee8c5
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:date:from:to:cc:subject:message-id:references
         :mime-version:content-disposition:in-reply-to;
        bh=RV944q9qNTRUozn2SpcJn/8J4Zu/QpZpYR8MQlWa96w=;
        b=PeZEt73mIGDlsvCREJpML3w+zxbwqUSTpa/VM5fIt16Slo3za71Z/f+XU6OUW/SeiO
         f7JN9HvcfC7fcAeV/6mGj7WCWJkTBFqaheLUDrWY2l7TY6JFvs4MElU7Wo7HBoT00eFr
         Z91KosK4khrsaAHbThIfd8Z2W+J1NKxjNbm3octHoUjrPE7gTAH7t7vKkuHN+2Tz500b
         vvCMfHD+P8aad4E/E7JzKgjRPxzlQzUrq9YA+G7iURuhiBZ+0B451D910jPx1DxbuoPP
         WSqJY/kz3M2FL72UlF4zNGFTlV7t7fKTcj5xZydCXwQFnU60VX7Szia2q3caGXcV2/1y
         wDoA==
X-Gm-Message-State: AOAM530D05lUK06ONxzrrFuZqj4urdFxNBAR5bitB+gIUDfhOwFgFdK5
	QkJbWBUxMbvUABdlmsaluxk=
X-Google-Smtp-Source: ABdhPJxhEy1oce1tH7PUh5zOeqRy+eklR12RSqA8QBSP82Aonsz81baPSTIj19rANrn0/TTL0RFZuQ==
X-Received: by 2002:a05:6000:50b:: with SMTP id a11mr18922252wrf.387.1642422939448;
        Mon, 17 Jan 2022 04:35:39 -0800 (PST)
Date: Mon, 17 Jan 2022 12:35:37 +0000
From: Wei Liu <wl@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 =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Subject: Re: [PATCH] x86/APIC: mark wait_tick_pvh() __init
Message-ID: <20220117123537.odchl4syrw5n2oh2@liuwe-devbox-debian-v2>
References: <476e1c65-8883-16a2-996e-53d7c42638ed@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <476e1c65-8883-16a2-996e-53d7c42638ed@suse.com>

On Mon, Jan 17, 2022 at 11:34:20AM +0100, Jan Beulich wrote:
> It should have been that way right from its introduction by 02e0de011555
> ("x86: APIC timer calibration when running as a guest").
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Wei Liu <wl@xen.org>

> 
> --- a/xen/arch/x86/apic.c
> +++ b/xen/arch/x86/apic.c
> @@ -1190,7 +1190,7 @@ static void __init check_deadline_errata
>             "please update microcode to version %#x (or later)\n", rev);
>  }
>  
> -static void wait_tick_pvh(void)
> +static void __init wait_tick_pvh(void)
>  {
>      u64 lapse_ns = 1000000000ULL / HZ;
>      s_time_t start, curr_time;
> 


From xen-devel-bounces@lists.xenproject.org Mon Jan 17 12:43:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 12:43:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258169.444305 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9RM1-0007EM-Kf; Mon, 17 Jan 2022 12:43:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258169.444305; Mon, 17 Jan 2022 12:43:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9RM1-0007EF-Fl; Mon, 17 Jan 2022 12:43:21 +0000
Received: by outflank-mailman (input) for mailman id 258169;
 Mon, 17 Jan 2022 12:43:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6dQ8=SB=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1n9RM0-0007E3-7j
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 12:43:20 +0000
Received: from pb-smtp2.pobox.com (pb-smtp2.pobox.com [64.147.108.71])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0ac64bae-7793-11ec-9bbc-9dff3e4ee8c5;
 Mon, 17 Jan 2022 13:43:18 +0100 (CET)
Received: from pb-smtp2.pobox.com (unknown [127.0.0.1])
 by pb-smtp2.pobox.com (Postfix) with ESMTP id 2F8F4F22D7;
 Mon, 17 Jan 2022 07:43:16 -0500 (EST)
 (envelope-from sakib@darkstar.site)
Received: from pb-smtp2.nyi.icgroup.com (unknown [127.0.0.1])
 by pb-smtp2.pobox.com (Postfix) with ESMTP id 149B2F22D3;
 Mon, 17 Jan 2022 07:43:16 -0500 (EST)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [95.67.114.216])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by pb-smtp2.pobox.com (Postfix) with ESMTPSA id 52D28F22D1;
 Mon, 17 Jan 2022 07:43:15 -0500 (EST)
 (envelope-from sakib@darkstar.site)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0ac64bae-7793-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=pobox.com; h=from:to:cc
	:subject:date:message-id:mime-version:content-transfer-encoding;
	 s=sasl; bh=ehAvKLKV+FFZbbA6yJlt6Yxc1t4t8lw2qAF4cfwf4NQ=; b=jWNU
	smbIZto7i4w0s9wqxj4MKJCGARE7D0Rmq42K/mZotq+bib0nPvXjf/JYty2ttsOm
	lLkiJnHXtDrGXZARa/m4DurYNJfJpU6Bu1MkGQPFgzeeNVCRMETSoEDLKv3PwuHf
	fCH+pAxAgAzHI4v09+f+NqaLP9IqKONS1Ky9NDQ=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 0/2] Avoid using Xen DMA ops when the device is protected by an IOMMU
Date: Mon, 17 Jan 2022 12:32:49 +0000
Message-Id: <20220117123251.140867-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
X-Pobox-Relay-ID:
 0A04508A-7793-11EC-BB29-CB998F0A682E-90055647!pb-smtp2.pobox.com
Content-Transfer-Encoding: quoted-printable

At the moment, dom0 can't distinguish which devices are protected by
IOMMU and which are not. In some cases, this can cause swiotlb bounce
buffer use for DMA addresses above 32 bits, which in turn can lead
to poor performance.

Previous discussions at [1,2] agreed upon passing info about IOMMU via
device tree. This series does that in a way consistent with existing iomm=
u bindings.

[1] https://lore.kernel.org/all/1392913234-25429-1-git-send-email-julien.=
grall__16109.9684810781$1392913341$gmane$org@linaro.org/
[2] https://lore.kernel.org/all/cover.1633106362.git.roman_skakun@epam.co=
m/

Sergiy Kibrik (2):
  dt-bindings: arm: xen: document Xen iommu device
  arm/xen: don't use xen DMA ops when the device is protected by an
    IOMMU

 Documentation/devicetree/bindings/arm/xen.txt | 26 +++++++++++++++++++
 arch/arm/mm/dma-mapping.c                     |  2 +-
 arch/arm/xen/enlighten.c                      |  9 +++++++
 arch/arm64/mm/dma-mapping.c                   |  2 +-
 include/xen/swiotlb-xen.h                     |  1 +
 5 files changed, 38 insertions(+), 2 deletions(-)

Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Julien Grall <julien@xen.org>
Cc: Oleksandr Tyshchenko <olekstysh@gmail.com>
Cc: devicetree@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org

--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 12:43:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 12:43:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258170.444315 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9RM2-0007Ty-RQ; Mon, 17 Jan 2022 12:43:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258170.444315; Mon, 17 Jan 2022 12:43:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9RM2-0007Tr-OI; Mon, 17 Jan 2022 12:43:22 +0000
Received: by outflank-mailman (input) for mailman id 258170;
 Mon, 17 Jan 2022 12:43:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6dQ8=SB=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1n9RM1-0007E9-DS
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 12:43:21 +0000
Received: from pb-smtp1.pobox.com (pb-smtp1.pobox.com [64.147.108.70])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0c0175df-7793-11ec-a115-11989b9578b4;
 Mon, 17 Jan 2022 13:43:19 +0100 (CET)
Received: from pb-smtp1.pobox.com (unknown [127.0.0.1])
 by pb-smtp1.pobox.com (Postfix) with ESMTP id 59F8F10CFB2;
 Mon, 17 Jan 2022 07:43:18 -0500 (EST)
 (envelope-from sakib@darkstar.site)
Received: from pb-smtp1.nyi.icgroup.com (unknown [127.0.0.1])
 by pb-smtp1.pobox.com (Postfix) with ESMTP id 429ED10CFB1;
 Mon, 17 Jan 2022 07:43:18 -0500 (EST)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [95.67.114.216])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by pb-smtp1.pobox.com (Postfix) with ESMTPSA id 9854610CFB0;
 Mon, 17 Jan 2022 07:43:17 -0500 (EST)
 (envelope-from sakib@darkstar.site)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0c0175df-7793-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=pobox.com; h=from:to:cc
	:subject:date:message-id:in-reply-to:references:mime-version
	:content-transfer-encoding; s=sasl; bh=f0AlLUfRzkYVt5wQ5V5E+WuOQ
	hXu94EtTB2kwhRzmaM=; b=T55NzSTbB62XGFKxxkGi17J85nvNT+iAsS9+dZwuC
	zTbwZbZNpz6/RbBmFlZrkm7Uuitb53faAb+3dROo+i9vPKskRk5bGL3zODzRs3Fz
	bZuRc1JD89WyVT01F3OIBUO1NJG9OSvtxoul8HGRP8cdSGC4LjqOFnwWyZ3/gHGE
	5E=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 1/2] dt-bindings: arm: xen: document Xen iommu device
Date: Mon, 17 Jan 2022 12:32:50 +0000
Message-Id: <20220117123251.140867-2-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220117123251.140867-1-Sergiy_Kibrik@epam.com>
References: <20220117123251.140867-1-Sergiy_Kibrik@epam.com>
MIME-Version: 1.0
X-Pobox-Relay-ID:
 0B6155C2-7793-11EC-864F-5E84C8D8090B-90055647!pb-smtp1.pobox.com
Content-Transfer-Encoding: quoted-printable

In IOMMU-capable system hypervisor usually takes over IOMMU control.
Generally guest domains don't need to care about IOMMU management and tak=
e any
extra actions. Yet in some cases a knowledge about which device is protec=
ted
may be useful for privileged domain.

In compliance with iommu bindings this can be achieved with device-level
iommus property specified with dummy Xen iommu device.

Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 Documentation/devicetree/bindings/arm/xen.txt | 26 +++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/xen.txt b/Documentatio=
n/devicetree/bindings/arm/xen.txt
index db5c56db30ec..98efa95c0d1b 100644
--- a/Documentation/devicetree/bindings/arm/xen.txt
+++ b/Documentation/devicetree/bindings/arm/xen.txt
@@ -58,3 +58,29 @@ Documentation/arm/uefi.rst, which are provided by the =
regular UEFI stub. However
 they differ because they are provided by the Xen hypervisor, together wi=
th a set
 of UEFI runtime services implemented via hypercalls, see
 http://xenbits.xen.org/docs/unstable/hypercall/x86_64/include,public,pla=
tform.h.html.
+
+* XEN IOMMU device
+
+In compliance with iommu bindings Xen virtual IOMMU device node represen=
ts
+hypervisor-managed IOMMU [1]. Platform devices specified as IOMMU master=
s of
+this xen-iommu device are protected by hypervisor-managed platform IOMMU=
.
+
+Required properties:
+
+- compatible:	Should be "xen,iommu-el2-v1"
+- #iommu-cells: must be 0
+
+Example:
+
+xen-iommu {
+	compatible =3D "xen,iommu-el2-v1";
+	#iommu-cells =3D <0>;
+};
+
+video@fe001000 {
+	...
+	/* this platform device is IOMMU-protected by hypervisor */
+	iommus =3D <&xen-iommu 0x0>;
+};
+
+[1] Documentation/devicetree/bindings/iommu/iommu.txt
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 12:43:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 12:43:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258171.444326 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9RM4-0007kW-8J; Mon, 17 Jan 2022 12:43:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258171.444326; Mon, 17 Jan 2022 12:43:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9RM4-0007kO-4j; Mon, 17 Jan 2022 12:43:24 +0000
Received: by outflank-mailman (input) for mailman id 258171;
 Mon, 17 Jan 2022 12:43:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6dQ8=SB=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1n9RM2-0007E9-57
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 12:43:22 +0000
Received: from pb-smtp1.pobox.com (pb-smtp1.pobox.com [64.147.108.70])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0d18e35f-7793-11ec-a115-11989b9578b4;
 Mon, 17 Jan 2022 13:43:21 +0100 (CET)
Received: from pb-smtp1.pobox.com (unknown [127.0.0.1])
 by pb-smtp1.pobox.com (Postfix) with ESMTP id 24B6710CFB5;
 Mon, 17 Jan 2022 07:43:20 -0500 (EST)
 (envelope-from sakib@darkstar.site)
Received: from pb-smtp1.nyi.icgroup.com (unknown [127.0.0.1])
 by pb-smtp1.pobox.com (Postfix) with ESMTP id 1DA1210CFB4;
 Mon, 17 Jan 2022 07:43:20 -0500 (EST)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [95.67.114.216])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by pb-smtp1.pobox.com (Postfix) with ESMTPSA id 8609810CFB3;
 Mon, 17 Jan 2022 07:43:19 -0500 (EST)
 (envelope-from sakib@darkstar.site)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d18e35f-7793-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=pobox.com; h=from:to:cc
	:subject:date:message-id:in-reply-to:references:mime-version
	:content-transfer-encoding; s=sasl; bh=1Y9jeSy+H7oeySABufDfja5st
	9AviOj1ziyeeSJthVY=; b=VWyMejs5a88+TkTlBowB84FC9rpPD/V5BTX3fnLdx
	qqqCrHy/SmTMi9aUkUQkmSbcH5wSklQswbRrkq0umtxv6b4ixYShUzHXOYeY82CS
	CJmiseBGMr34WtpO5oTYs3qFiKO0HSeF+1ZzBtdAi/5QXfm5XZB3OwzuBeFFyW5x
	Bc=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 2/2] arm/xen: don't use xen DMA ops when the device is protected by an IOMMU
Date: Mon, 17 Jan 2022 12:32:51 +0000
Message-Id: <20220117123251.140867-3-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220117123251.140867-1-Sergiy_Kibrik@epam.com>
References: <20220117123251.140867-1-Sergiy_Kibrik@epam.com>
MIME-Version: 1.0
X-Pobox-Relay-ID:
 0C8633E6-7793-11EC-8825-5E84C8D8090B-90055647!pb-smtp1.pobox.com
Content-Transfer-Encoding: quoted-printable

Only Xen is able to know if a device can safely avoid to use xen-swiotlb.
However since Xen links FDT nodes of protected devices to special dummy
xen-iommu node we can use that information to decide whether
xen-swiotlb is needed.

Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
Changelog:

v3: rebased over master & documented DT binding
    https://lists.xenproject.org/archives/html/xen-devel/2021-12/msg01755=
.html

v2: re-use common iommu dt bindings to let guests know which devices are =
protected:
    https://lists.xenproject.org/archives/html/xen-devel/2021-10/msg00073=
.html

 arch/arm/mm/dma-mapping.c   | 2 +-
 arch/arm/xen/enlighten.c    | 9 +++++++++
 arch/arm64/mm/dma-mapping.c | 2 +-
 include/xen/swiotlb-xen.h   | 1 +
 4 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
index 4b61541853ea..73495f0b0a4d 100644
--- a/arch/arm/mm/dma-mapping.c
+++ b/arch/arm/mm/dma-mapping.c
@@ -2286,7 +2286,7 @@ void arch_setup_dma_ops(struct device *dev, u64 dma=
_base, u64 size,
 	set_dma_ops(dev, dma_ops);
=20
 #ifdef CONFIG_XEN
-	if (xen_initial_domain())
+	if (xen_initial_domain() && !xen_is_protected_device(dev))
 		dev->dma_ops =3D &xen_swiotlb_dma_ops;
 #endif
 	dev->archdata.dma_ops_setup =3D true;
diff --git a/arch/arm/xen/enlighten.c b/arch/arm/xen/enlighten.c
index 7619fbffcea2..0c2f0b77c8b9 100644
--- a/arch/arm/xen/enlighten.c
+++ b/arch/arm/xen/enlighten.c
@@ -63,6 +63,15 @@ static __read_mostly unsigned int xen_events_irq;
 uint32_t xen_start_flags;
 EXPORT_SYMBOL(xen_start_flags);
=20
+bool xen_is_protected_device(struct device *dev)
+{
+	struct fwnode_handle *fwnode =3D
+		fwnode_find_reference(dev_fwnode(dev), "iommus", 0) ;
+	if (IS_ERR(fwnode))
+		return false;
+	return of_device_is_compatible(to_of_node(fwnode), "xen,iommu-el2-v1");
+}
+
 int xen_unmap_domain_gfn_range(struct vm_area_struct *vma,
 			       int nr, struct page **pages)
 {
diff --git a/arch/arm64/mm/dma-mapping.c b/arch/arm64/mm/dma-mapping.c
index 6719f9efea09..2f2b5921bf68 100644
--- a/arch/arm64/mm/dma-mapping.c
+++ b/arch/arm64/mm/dma-mapping.c
@@ -53,7 +53,7 @@ void arch_setup_dma_ops(struct device *dev, u64 dma_bas=
e, u64 size,
 		iommu_setup_dma_ops(dev, dma_base, dma_base + size - 1);
=20
 #ifdef CONFIG_XEN
-	if (xen_swiotlb_detect())
+	if (xen_swiotlb_detect() && !xen_is_protected_device(dev))
 		dev->dma_ops =3D &xen_swiotlb_dma_ops;
 #endif
 }
diff --git a/include/xen/swiotlb-xen.h b/include/xen/swiotlb-xen.h
index b3e647f86e3e..f3d805f2246f 100644
--- a/include/xen/swiotlb-xen.h
+++ b/include/xen/swiotlb-xen.h
@@ -9,6 +9,7 @@ void xen_dma_sync_for_cpu(struct device *dev, dma_addr_t =
handle,
 			  size_t size, enum dma_data_direction dir);
 void xen_dma_sync_for_device(struct device *dev, dma_addr_t handle,
 			     size_t size, enum dma_data_direction dir);
+bool xen_is_protected_device(struct device *dev);
=20
 int xen_swiotlb_init(void);
 void __init xen_swiotlb_init_early(void);
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 13:48:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 13:48:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258176.444337 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9SMx-0005zp-2z; Mon, 17 Jan 2022 13:48:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258176.444337; Mon, 17 Jan 2022 13:48:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9SMx-0005zh-01; Mon, 17 Jan 2022 13:48:23 +0000
Received: by outflank-mailman (input) for mailman id 258176;
 Mon, 17 Jan 2022 13:48: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 1n9SMv-0005zW-5E
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 13:48: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 1n9SMo-0004i0-Lx; Mon, 17 Jan 2022 13:48:14 +0000
Received: from [202.153.81.7] (helo=[192.168.175.62])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1n9SMo-0001qn-8I; Mon, 17 Jan 2022 13: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=BzVJnIH9ur1be4iZ8VTxomRpO3sboGRN421B9Vnp5RI=; b=qpu3fWL6bt6+0YZaSOwdw0/kDg
	TNdmiXyjIfLrwafi52lOWao3psBYsyM2DWecV89R7GWjZ2fst9dvoDFDrYOU0YdkyXS1e9RMKdNe4
	P1xTyy/lDcd8vy13V+Ig9XhLawqMe4lUuK3p5bj49OKNUdPtiIIBhQp0YVUa98Bs4JWo=;
Message-ID: <b6ed9ee2-460b-f704-f3e7-b25d25aef337@xen.org>
Date: Mon, 17 Jan 2022 17:48:06 +0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.4.1
Subject: Re: sched=null vwfi=native and call_rcu()
To: Juergen Gross <jgross@suse.com>, George Dunlap
 <George.Dunlap@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
Cc: Dario Faggioli <dfaggioli@suse.com>, Jan Beulich <JBeulich@suse.com>,
 "bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
 Roger Pau Monne <roger.pau@citrix.com>,
 "Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <Andrew.Cooper3@citrix.com>
References: <alpine.DEB.2.22.394.2201051615060.2060010@ubuntu-linux-20-04-desktop>
 <20fbb361-b416-6965-614d-a6283a7e7550@xen.org>
 <alpine.DEB.2.22.394.2201061747140.2060010@ubuntu-linux-20-04-desktop>
 <0cb5a1ceff3afc6c6d4319c9f6dd06a06a93a294.camel@suse.com>
 <alpine.DEB.2.22.394.2201141253080.19362@ubuntu-linux-20-04-desktop>
 <B9187426-3A8D-4687-A00B-487A6B4EF1D7@citrix.com>
 <619e264e-9d4e-f97b-227d-7917ade0bbe8@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <619e264e-9d4e-f97b-227d-7917ade0bbe8@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 17/01/2022 15:13, Juergen Gross wrote:
> On 17.01.22 12:05, George Dunlap wrote:
>>> On Jan 14, 2022, at 9:01 PM, Stefano Stabellini 
>>> <sstabellini@kernel.org> wrote:
>>> On Fri, 14 Jan 2022, Dario Faggioli wrote:
>>>> On Thu, 2022-01-06 at 17:52 -0800, Stefano Stabellini wrote:
>>>>> On Thu, 6 Jan 2022, Julien Grall wrote:
>>>> Alternatively, we can submit the series as ARM-only... But I fear that
>>>> the x86 side of things would then be easily forgotten. :-(
>>>
>>> I agree with you on this, but at the same time we are having problems
>>> with customers in the field -- it is not like we can wait to solve the
>>> problem on ARM any longer. And the issue is certainly far less likely to
>>> happen on x86 (there is no vwfi=native, right?) In other words, I think
>>> it is better to have half of the solution now to solve the worst part of
>>> the problem than to wait more months for a full solution.

Well, it all depends on how your guest OS works A "malicious" guest that 
will configure the vCPU to busy loop without wfi will result to the same 
problem (this is one of the reason why NULL scheduler is not security 
supported).

>>
>> An x86 equivalent of vwfi=native could be implemented easily, but 
>> AFAIK nobody has asked for it yet.  I agree that we need to fix if for 
>> ARM, and so in the absence of someone with the time to fix up the x86 
>> side, I think fixing ARM-only is the way to go.
>>
>> It would be good if we could add appropriate comments warning anyone 
>> who implements `hlt=native` on x86 the problems they’ll face and how 
>> to fix them.  Not sure the best place to do that; in the VMX / SVM 
>> code that sets the exit for HLT &c?
> 
> But wouldn't a guest in a busy loop on x86 with NULL scheduler suffer
> from the same problem?

This is not a problem on x86 because there will always an exit to the 
hypervisor a timed interval (IIRC for some rendezvous?). On Arm, using 
the NULL scheduler will result to a completely tickless hypervisor.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Jan 17 14:00:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 14:00:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258179.444349 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9SYy-0008Hn-3r; Mon, 17 Jan 2022 14:00:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258179.444349; Mon, 17 Jan 2022 14:00:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9SYy-0008Hg-0J; Mon, 17 Jan 2022 14:00:48 +0000
Received: by outflank-mailman (input) for mailman id 258179;
 Mon, 17 Jan 2022 14:00:46 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n9SYw-0008HW-Tr; Mon, 17 Jan 2022 14:00:46 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n9SYw-0004zi-Ri; Mon, 17 Jan 2022 14:00:46 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n9SYw-0001m4-LM; Mon, 17 Jan 2022 14:00:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n9SYw-0002dN-Kx; Mon, 17 Jan 2022 14:00:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=F5fblpja85gMxgTqy4N9HhKzgvX3z+mNQxJbEpGxriI=; b=XuLfJ3z5mVLHfHjHsdC2vch4LC
	IcXmXt4A4IxHcNDNiPa73fneJc8vru5CvDt3spX1lOELrZ3hXXJjlNJwQKsuOQILZgW/S1/8/Y/8e
	fQb0m+9xNdcaJGMhPf/nwYVvP8CQ9eLF+7MchhBLMREVEDlxUy+4vtLxOGttRH9N81qw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167723-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 167723: trouble: broken/pass
X-Osstest-Failures:
    xen-unstable-smoke:test-armhf-armhf-xl:<job status>:broken:regression
    xen-unstable-smoke:test-armhf-armhf-xl:host-install(5):broken:regression
    xen-unstable-smoke:test-amd64-amd64-libvirt: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
X-Osstest-Versions-This:
    xen=27a63cdac3880c918848430eb25181437d5795e9
X-Osstest-Versions-That:
    xen=9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 17 Jan 2022 14:00:46 +0000

flight 167723 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167723/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl             <job status>                 broken
 test-armhf-armhf-xl           5 host-install(5)        broken REGR. vs. 167690

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

version targeted for testing:
 xen                  27a63cdac3880c918848430eb25181437d5795e9
baseline version:
 xen                  9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f

Last test of basis   167690  2022-01-13 17:00:27 Z    3 days
Testing same since   167723  2022-01-17 09:03:00 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          broken  
 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

broken-job test-armhf-armhf-xl broken
broken-step test-armhf-armhf-xl host-install(5)

Not pushing.

------------------------------------------------------------
commit 27a63cdac3880c918848430eb25181437d5795e9
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Jan 17 09:45:04 2022 +0100

    x86/HVM: convert remaining hvm_funcs hook invocations to alt-call
    
    The aim being to have as few indirect calls as possible (see [1]),
    whereas during initial conversion performance was the main aspect and
    hence rarely used hooks didn't get converted. Apparently one use of
    get_interrupt_shadow() was missed at the time.
    
    While doing this, drop NULL checks ahead of CPU management and .nhvm_*()
    calls when the hook is always present. Also convert the
    .nhvm_vcpu_reset() call to alternative_vcall(), as the return value is
    unused and the caller has currently no way of propagating it.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Tamas K Lengyel <tamas@tklengyel.com>
    
    [1] https://lists.xen.org/archives/html/xen-devel/2021-11/msg01822.html

commit 299deb9dd93e5aae2f3b24ec001214458077a185
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Jan 14 11:03:03 2022 +0100

    build: adjust include/xen/compile.h generation
    
    Prior to 19427e439e01 ("build: generate "include/xen/compile.h" with
    if_changed") running "make install-xen" as root would not have printed
    the banner under normal circumstances. Its printing would instead have
    indicated that something was wrong (or during a normal build the lack
    of printing would do so).
    
    Further aforementioned change had another undesirable effect, which I
    didn't notice during review: Originally compile.h would have been
    re-generated (and final binaries re-linked) when its dependencies were
    updated after an earlier build. This is no longer the case now, which
    means that if some other file also was updated, then the re-build done
    during "make install-xen" would happen with a stale compile.h (as its
    updating is suppressed in this case).
    
    Restore the earlier behavior for both aspects.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Mon Jan 17 14:16:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 14:16:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258186.444360 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Snj-0001RT-Bg; Mon, 17 Jan 2022 14:16:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258186.444360; Mon, 17 Jan 2022 14:16:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Snj-0001RM-8Q; Mon, 17 Jan 2022 14:16:03 +0000
Received: by outflank-mailman (input) for mailman id 258186;
 Mon, 17 Jan 2022 14:16: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 1n9Sni-0001RG-EV
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 14:16: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 1n9Sng-0005Ec-5b; Mon, 17 Jan 2022 14:16:00 +0000
Received: from [202.153.81.7] (helo=[192.168.175.62])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1n9Snf-00044k-In; Mon, 17 Jan 2022 14:16:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:To:Subject:MIME-Version:Date:Message-ID;
	bh=3uNZUHo9f86iIDSTgNlg44jVZ3jVx/Z5w5iXWJKkRj4=; b=o4fa7nmGwFFdGTrkFBf1ben6Sz
	ao9VJVydHntdUezHETp6p34y45r9luH7R+y2+7dew37P6q/ikdK0NrGX5BgIZL1J0ECvslUrXaGgG
	FcxnNW/ahdBzgSL5qVfxbgARuFh/G9GR/LSF/2g3fTIf+Bxda48oc3z7CqjMni8hs724=;
Message-ID: <2a1a0dd5-b8a7-8072-2961-b1fbe9ec746a@xen.org>
Date: Mon, 17 Jan 2022 18:15:53 +0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.4.1
Subject: Re: [PATCH v4] xen/arm: Allow QEMU platform to be built with GICv2
To: Dongjiu Geng <gengdongjiu1@gmail.com>, sstabellini@kernel.org,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com,
 xen-devel@lists.xenproject.org
References: <20220117064003.3367188-1-gengdongjiu1@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220117064003.3367188-1-gengdongjiu1@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 17/01/2022 10:40, Dongjiu Geng wrote:
> It turns out that QEMU has been supporting GICv2 virtualization since
> v3.1.0. So remove the dependencies on GICv3.


Technically, the current form of CONFIG_QEMU allows the same binary to 
boot on QEMU with GICv2 or GICv3.

> If we want to use GICv3,
> we can select the QEMU_LEGACY configuration.

AFAIK, GICv3 is not a legacy feature... So it feels a bit odd to name it 
like that (see more below).

> 
> Signed-off-by: Dongjiu Geng <gengdongjiu1@gmail.com>
> ---
>   xen/arch/arm/platforms/Kconfig | 10 +++++++++-
>   1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/arch/arm/platforms/Kconfig b/xen/arch/arm/platforms/Kconfig
> index c93a6b2756..41e82a42ee 100644
> --- a/xen/arch/arm/platforms/Kconfig
> +++ b/xen/arch/arm/platforms/Kconfig
> @@ -13,7 +13,15 @@ config ALL_PLAT
>   	automatically select any of the related drivers.
>   
>   config QEMU
> -	bool "QEMU aarch virt machine support"
> +	bool "QEMU aarch virt machine support >= v3.1.0"

This is a bit misleading. A user may select this thinking that this will 
select GICv3. However, this will not.

This also raises the question of what is the default GIC version in QEMU 
(i.e. if you don't pass anything on the command line)? If this is GICv3, 
then I am afraid that this patch would be a no-go for me.

Looking at overall discussion, you seem to push the patch only to allow 
building a tiny Xen for QEMU and the new vGIC.

The default Xen (i.e. make defconfig) will also work on QEMU. Given that 
the new vGIC is a still in development, I am seriously considering to 
say that if you want to try it then you have to use the default 
configuration.

@Dongjiu, is there any reason why you want to use the tiny QEMU config 
rather than the default configuration?

@Bertrand, @Stefano, what do you think?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Jan 17 15:31:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 15:31:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258191.444371 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9TyE-0000f3-Pd; Mon, 17 Jan 2022 15:30:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258191.444371; Mon, 17 Jan 2022 15:30:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9TyE-0000ew-MW; Mon, 17 Jan 2022 15:30:58 +0000
Received: by outflank-mailman (input) for mailman id 258191;
 Mon, 17 Jan 2022 15:30:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ZUQe=SB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9TyD-0000eq-5g
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 15:30:57 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 75b4deef-77aa-11ec-9bbc-9dff3e4ee8c5;
 Mon, 17 Jan 2022 16:30:55 +0100 (CET)
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur03lp2050.outbound.protection.outlook.com [104.47.10.50]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-36-TMPVKCSiO4uWYorb4a-ucw-1; Mon, 17 Jan 2022 16:30:53 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM0PR04MB5796.eurprd04.prod.outlook.com (2603:10a6:208:132::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.9; Mon, 17 Jan
 2022 15:30:51 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.013; Mon, 17 Jan 2022
 15:30:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 75b4deef-77aa-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642433454;
	h=from:from:reply-to:subject:subject: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=Q6gv1h2RMdK7i0YYgTFmkOi5GuFSDjmi48ccDRTcOR0=;
	b=Cco5tZXGukFcenI5xEC0jM3mUvlveIL5RLkbHrtTuLR2WwXyHQp+wu/nWCU47WURx3q9WI
	zlyyq/4HPOyXMxEL+om1YoNyCZxGnbqzidfvdU6ZrKgyzVVpZ5lHUgqJVhMK1Pq9jaCxMG
	NK+jYhTCy9oLyLZVdMne/C12KlGX7lQ=
X-MC-Unique: TMPVKCSiO4uWYorb4a-ucw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kRX2kFvuU02W7KsP9O9ZKSGvG3kZ4XNZwQbqttl/ndoAMXvsPNh/tOVBdrkVau4XYSMlSwdHhcPbNW3J/hihovP42yU4U+QF4a4+C5UNR/+hJeMJz6hPiippw7bb0h53xay5d/F4M7CCyrY+H9bbiVXFyXGCVPDyeaK3O/AUuBLWGHcJhtXD3ibcbGixCPHkX8z/Oi6mIM0/lJ29pSsc9MPY3IbZrOeAifrBZFx8k66NR9FQ0SgEvoGAHSA1V8w7EqQB7QdkWxaYJdbFSv02aEH4NyVd0JC033vzNZK1iXMsouZpSdsaulODZyseVKryOWk7ELOrdyN6y28/sgVSEw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Q6gv1h2RMdK7i0YYgTFmkOi5GuFSDjmi48ccDRTcOR0=;
 b=VspefEDu7/VxhTPb9Ve9KEX85ecMZeknBzE28FqZ9nJrbzpClBiYojRgpL6pZnPGJ14JcjDEhAUbK2tAi9jUmSxnfjMUI6665Sx5+XCvnQMll4PyoYE5heUQ3DThrgdI5B4DzEV9BYV8Gos643bCGRYpRJAvaEfBn0oIuiTM23dF8XdYPJuu1kCPYfcp7DqMUQbf0bzkYvSiJewNTlyYKPzTjmaC62qQzqmP4kWi64eongqAzgm3dtID45ovhP/NxCWY49QdTgPG/mnkGJ3zz22vY3sq/791wqNUoOOLLCfzDCWrjZ3f97wSeQ8nrv70YYAZVjSRkq+1XENhuU6NUg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <239d8868-0c8a-b512-a2bf-3e91689a8218@suse.com>
Date: Mon, 17 Jan 2022 16:30:49 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/Intel: use CPUID bit to determine PPIN availability
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR0301CA0050.eurprd03.prod.outlook.com
 (2603:10a6:20b:469::19) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 1a73ab39-7b25-4930-73ba-08d9d9ce5819
X-MS-TrafficTypeDiagnostic: AM0PR04MB5796:EE_
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB5796E866B6E9562FD64941BFB3579@AM0PR04MB5796.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:
	OXjIUlp0WnshiL+LQ7bOaTKzOicT5gcWd9/FX5pww/DCmxdKSF5vCijt6XkGX4xqxNA0gjc3pkuyQtMBhTgq/2IYA/A0qa7qPO96w8g1frCFHQ2YCfUTfwwbTv0ykIvPvByuH98/9YGEscGpgoKZpQDhK5yGz5uiWTmf6IZYA8Ao1gVi9nUb96Ux9exf3S14Jl+M9x917Y2JAAKVxylmsBOI2dAPPg26tdo4lBXrdhSrYxvAsuBm0Lbyebr317AReU9dthz+YJhCMpK57mYp4S/rRNdkXAGX6RsU/Qg9hpMEiqEZ/LPeCbBmNk3oEpqmacnsUcNK0ypHEgwvI8G3pd9iXBgk3FtuQG0LkU9A765J4cPg3ItMy6lsjXcvPhvrp2pvqpNUhPq/Ds7BaipA/jIUJWGdosw77TmltAIbk+ejTejb8peLP7Urpb04femogslwxvz2ZBWN8QvUjSX8eJ027whMm2jjkZk7DBm6El52tgkfdaxN3kzRawb5MINTtLlCG6zG4Un2UavQylZNbkpEGSweJdEr2SL/FZMMjk5sZNLxJXP/tX+pAEYEiBXXrmdf3vJqG6r/cg+44fx5lful5Nxewclf40VG1pxzlz70zgbPT2gQeySgzN4JPwch2gva4E0ADIb2vsnun6DPoh2FZbCjq08Y6c7R53UNwQCAfHUf+W/IVoOl3/bXzOOV3SRjXl3aEUCdnC3xklDm09Rip3iPbNk8aKYKh1vTF5k=
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)(36756003)(26005)(6506007)(508600001)(38100700002)(83380400001)(86362001)(31686004)(6486002)(66946007)(6512007)(66556008)(66476007)(2906002)(31696002)(6916009)(8676002)(8936002)(4326008)(316002)(2616005)(186003)(5660300002)(54906003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R2hFN1lkOThuUXRBcTlTK1JTQi9zenRKV0tKTzZKVXg1bFhteTAzWTMweTBn?=
 =?utf-8?B?OGVjc004N0xaZHZKM2NURzZPWnNWUi9rRnlsa1ZPRGFaR1lJODk1ZnYwZWVo?=
 =?utf-8?B?OUo5TlBVak1uVEN0S05sWlZJaUUxR21QbytjWndwVy9GZm1HaTVteVkzWlNa?=
 =?utf-8?B?TWJNOWp5NDdwTy9lcUVEL1p0czNBMWMyMWRuSFZCRTNYU0hOUS9uUXhSUi9M?=
 =?utf-8?B?RjVGdmZReFh6dUNKZlNiaTUvU1Z4aWlpMDl5VmFMWDVDc1l1TXhEazJya0t4?=
 =?utf-8?B?OWN2ZGFpWkdoTjFiUlNyTnczcmVlczZlekF0aExqYkZ3dDdlc2JaT0lIc2pC?=
 =?utf-8?B?ZzhjbW42WDRzdjVRdmFCZWFXQmxiUXF1bTJsd2xUMzhidFFUa0xKc1ppSUw5?=
 =?utf-8?B?R1dPWDBPUGZPZHJmV3ZqS2s0T3prOXBBNTVUTEdpcWVDWXdhd1oydllaR2lU?=
 =?utf-8?B?QW14QzErL0RkaVpHN2YvK3IvelVkMTRBZWVDcUFMS1p2djJtWk45SVFCU3ha?=
 =?utf-8?B?WC9aSVJESHVxTitFb0g3VTkrMjVxWEVIMnF2d3llUVh4K05VbDA1c0x1VGY2?=
 =?utf-8?B?RFF0WlVrWG9ST0t2ZnFTbDE0QmxRYVhWSDNnbFF0S2hPLytFbUZzRjZyWjlr?=
 =?utf-8?B?ZkZpeERvSmxUN2VMK0c5dmxLZFNmbDhsVGlDT3RuRWlmN3RzYndKbHk2Vml2?=
 =?utf-8?B?WmtXUjJ6SE1RQWJLVEE4NlFYZDB2enpWb0VYWlY1MmtnVUtPZGxZMFQrNXBv?=
 =?utf-8?B?dlpyZHR1T3Y3QVR3QkFRWnRTVlBtUHdWYlhQa05PWVVLZjFGWURzY2Jic2xM?=
 =?utf-8?B?SUdoTDN1Y25ZeEVueXhST0U3dzF1ZmUvSTlaYXVxNG10eG5Kcm1aTU5uamNo?=
 =?utf-8?B?N2tieU4yV2xKVlVHMWtRdGhzcG5hRGRwUExncndTSHliSXo0MWZ4QU5Yd1lM?=
 =?utf-8?B?dTdmNTFtL1kzMmZROTAyU3dVbEw5RFpuZ3J6ZXYzWWc1Z3dDMWN3aVlVak10?=
 =?utf-8?B?aXlrOUNjdVVFaDlXL2oxc2ZHUHBjVEV4RE1Xa3Y4cGhrUHZyVFFXdVBGdkxv?=
 =?utf-8?B?N0l1LytTOXM4V3ZmSVlobndxbmVJUmU1TTIvUEwwNytQeTQ5UWJieFdVQTIw?=
 =?utf-8?B?YWFuamkybjYzRWZ1Z01WSjg0N25NbkttRE5JSGMxOVh4VnNIM1ZsTnd6OE9k?=
 =?utf-8?B?ZzVnNEZYNnBYS3FjcGVaRXFGWkJuY3Y3dFlmOStQd1NKc1g0VzRiZzkzQVI3?=
 =?utf-8?B?SmZRWHdHaXNUbm9wSllFN0k3MjBuZEladmE2UURWK0dHN0Vkb2F1V0hPdkFx?=
 =?utf-8?B?YzQzRHo4bTBaNHBXa2Frb0tLRFNFQ2ZhdU9FdWNKWlkvc244Wk5TUTB2RTh2?=
 =?utf-8?B?OVNzL1dRYStibkJQU0ZGNDBNQmdCUFhkVEpkcjdaU0F3V3JVMWF0YThjQ0p6?=
 =?utf-8?B?bzhMdFJvWm4vQXhPYXBOdGJYd2dMWWlSSkZuMVM0cnJ4VVFoR3F1ZndxTVJS?=
 =?utf-8?B?a2lCZzdsNGEwcXFDbkpaOStnVnZiMXg3bnBxeHYzUnlaWWhENlgzL2VjOEk3?=
 =?utf-8?B?RW5UWnU3Nk1NdUJFRTZNakk5ZXhQNnZvQVVXTjRJZDFGOElPVndIRGN2aUo4?=
 =?utf-8?B?RHBuTGcyYVdtSGZkV1dhYlJpc2dzc2J1cjRwdTVEVXFZMlJuYzMvSjVFaEgz?=
 =?utf-8?B?cTlpUElMR2lBcE4vMFRZK0VKWWhnbGtWWXlLM2JibE9FMG5Jbis2UlhYcmU4?=
 =?utf-8?B?ZGNoc0NZRGE2NVpOMFBNTTZ6elhsb0pZQy96Z2RDOUJkS0tJb2MzZStFMzRJ?=
 =?utf-8?B?UzI2SW84eW9haVdFWW8vcmJ6cFdRK3I1QkFFb3FJR0hsVGlHSXhBL2dWS0ox?=
 =?utf-8?B?Wmdaendmdm1yOEVnWDR1NnAvLy90TlRsMjh2NkNhOFhSbGpuNWREQ3NDZzZ6?=
 =?utf-8?B?WnY3UHYyc0xuUE1ieWpQRFhLbGpLcGcrbFlYTE1FS1Z3R2F5a1M1V3l0YXly?=
 =?utf-8?B?VzdSWHdicTZsZS9tNEp1SHl5bWZSdmpOemVINEVnSHNPcE9PaXRpY0pKZ2pO?=
 =?utf-8?B?Z0RzbUROMGRUd3ZXdTQ2ekgwVjQxNC9hRTZFSlNwZHBKUE5UMVUvZkJtbWxq?=
 =?utf-8?B?cXgvUTlOSkVqOFJpUzZUZFB2cDhNNm5ONUxuRzc3ZXVHU2NoQ2o4cGFBWEZp?=
 =?utf-8?Q?a+/OE18FppLc7xH9yAEMkq4=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1a73ab39-7b25-4930-73ba-08d9d9ce5819
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2022 15:30:51.6078
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xOw/5/xH4o19q3iGG0u+5l2XKmBwGJhcn51GAAIlxtsasVAkHD1MrgT1GZqs2HYgAuHPWZr6NqlAs0J+hsQ6iA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5796

As of SDM revision 076 there is a CPUID bit for this functionality. Use
it to amend the existing model-based logic.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
In xen-cpuid.c I wasn't sure whether it's better to put the 7b1 table
next to the 7a1 one, or whether tables should continue to be placed by
feature set ABI identifier.

--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -156,7 +156,7 @@ static const char *const str_e8b[32] =
     [18] = "ibrs-fast",        [19] = "ibrs-same-mode",
 
     [20] = "no-lmsl",
-    /* [22] */                 [23] = "ppin",
+    /* [22] */                 [23] = "amd-ppin",
     [24] = "amd-ssbd",         [25] = "virt-ssbd",
     [26] = "ssb-no",
     [28] = "psfd",
@@ -188,6 +188,11 @@ static const char *const str_7a1[32] =
     [12] = "fsrcs",
 };
 
+static const char *const str_7b1[32] =
+{
+    [ 0] = "intel-ppin",
+};
+
 static const char *const str_e21a[32] =
 {
     [ 2] = "lfence+",
@@ -212,6 +217,7 @@ static const struct {
     { "0x00000007:0.edx", "7d0", str_7d0 },
     { "0x00000007:1.eax", "7a1", str_7a1 },
     { "0x80000021.eax",  "e21a", str_e21a },
+    { "0x00000007:1.ebx", "7b1", str_7b1 },
 };
 
 #define COL_ALIGN "18"
--- a/xen/arch/x86/cpu/mcheck/mce_intel.c
+++ b/xen/arch/x86/cpu/mcheck/mce_intel.c
@@ -865,6 +865,13 @@ static void intel_init_ppin(const struct
     {
         uint64_t val;
 
+    default:
+        if ( !cpu_has(c, X86_FEATURE_INTEL_PPIN) )
+        {
+            ppin_msr = 0;
+            return;
+        }
+        fallthrough;
     case 0x3e: /* IvyBridge X */
     case 0x3f: /* Haswell X */
     case 0x4f: /* Broadwell X */
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -299,6 +299,9 @@ XEN_CPUFEATURE(FSRCS,        10*32+12) /
 XEN_CPUFEATURE(LFENCE_DISPATCH,    11*32+ 2) /*A  LFENCE always serializing */
 XEN_CPUFEATURE(NSCB,               11*32+ 6) /*A  Null Selector Clears Base (and limit too) */
 
+/* Intel-defined CPU features, CPUID level 0x00000007:1.ebx, word 12 */
+XEN_CPUFEATURE(INTEL_PPIN,         12*32+ 0) /*   Protected Processor Inventory Number */
+
 #endif /* XEN_CPUFEATURE */
 
 /* Clean up from a default include.  Close the enum (for C). */
--- a/xen/include/xen/lib/x86/cpuid.h
+++ b/xen/include/xen/lib/x86/cpuid.h
@@ -16,6 +16,7 @@
 #define FEATURESET_7d0    9 /* 0x00000007:0.edx    */
 #define FEATURESET_7a1   10 /* 0x00000007:1.eax    */
 #define FEATURESET_e21a  11 /* 0x80000021.eax      */
+#define FEATURESET_7b1   12 /* 0x00000007:1.ebx    */
 
 struct cpuid_leaf
 {
@@ -188,6 +189,10 @@ struct cpuid_policy
                 uint32_t _7a1;
                 struct { DECL_BITFIELD(7a1); };
             };
+            union {
+                uint32_t _7b1;
+                struct { DECL_BITFIELD(7b1); };
+            };
         };
     } feat;
 



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 15:31:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 15:31:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258192.444382 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9TyN-0000wt-6E; Mon, 17 Jan 2022 15:31:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258192.444382; Mon, 17 Jan 2022 15: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 1n9TyN-0000wk-2e; Mon, 17 Jan 2022 15:31:07 +0000
Received: by outflank-mailman (input) for mailman id 258192;
 Mon, 17 Jan 2022 15:31:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RGs1=SB=arm.com=robin.murphy@srs-se1.protection.inumbo.net>)
 id 1n9TyL-0000vr-GD
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 15:31:05 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 79898509-77aa-11ec-a115-11989b9578b4;
 Mon, 17 Jan 2022 16:31:01 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 5F6561FB;
 Mon, 17 Jan 2022 07:31:00 -0800 (PST)
Received: from [10.57.67.190] (unknown [10.57.67.190])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 4556D3F766;
 Mon, 17 Jan 2022 07:30:59 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 79898509-77aa-11ec-a115-11989b9578b4
Message-ID: <e88b882f-4b5d-a801-fc68-66b7f790e11c@arm.com>
Date: Mon, 17 Jan 2022 15:30:55 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v3 1/2] dt-bindings: arm: xen: document Xen iommu device
Content-Language: en-GB
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Oleksandr Tyshchenko <olekstysh@gmail.com>,
 devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org
References: <20220117123251.140867-1-Sergiy_Kibrik@epam.com>
 <20220117123251.140867-2-Sergiy_Kibrik@epam.com>
From: Robin Murphy <robin.murphy@arm.com>
In-Reply-To: <20220117123251.140867-2-Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 2022-01-17 12:32, Sergiy Kibrik wrote:
> In IOMMU-capable system hypervisor usually takes over IOMMU control.
> Generally guest domains don't need to care about IOMMU management and take any
> extra actions. Yet in some cases a knowledge about which device is protected
> may be useful for privileged domain.
> 
> In compliance with iommu bindings this can be achieved with device-level
> iommus property specified with dummy Xen iommu device.

This could break Linux guests, since depending on the deferred probe 
timeout setting it could lead to drivers never probing because the 
"IOMMU" never becomes available.

Unless you intend to expose actual paravirtualised IOMMU translation 
functionality to guests (in which case virtio-iommu would be highly 
preferable anyway), I don't think this is the right approach. If there's 
no better alternative to using DT to communicate Xen-specific policy, 
then at least it should logically be via a Xen-specific DT property.

Thanks,
Robin.

> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> ---
>   Documentation/devicetree/bindings/arm/xen.txt | 26 +++++++++++++++++++
>   1 file changed, 26 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/arm/xen.txt b/Documentation/devicetree/bindings/arm/xen.txt
> index db5c56db30ec..98efa95c0d1b 100644
> --- a/Documentation/devicetree/bindings/arm/xen.txt
> +++ b/Documentation/devicetree/bindings/arm/xen.txt
> @@ -58,3 +58,29 @@ Documentation/arm/uefi.rst, which are provided by the regular UEFI stub. However
>   they differ because they are provided by the Xen hypervisor, together with a set
>   of UEFI runtime services implemented via hypercalls, see
>   http://xenbits.xen.org/docs/unstable/hypercall/x86_64/include,public,platform.h.html.
> +
> +* XEN IOMMU device
> +
> +In compliance with iommu bindings Xen virtual IOMMU device node represents
> +hypervisor-managed IOMMU [1]. Platform devices specified as IOMMU masters of
> +this xen-iommu device are protected by hypervisor-managed platform IOMMU.
> +
> +Required properties:
> +
> +- compatible:	Should be "xen,iommu-el2-v1"
> +- #iommu-cells: must be 0
> +
> +Example:
> +
> +xen-iommu {
> +	compatible = "xen,iommu-el2-v1";
> +	#iommu-cells = <0>;
> +};
> +
> +video@fe001000 {
> +	...
> +	/* this platform device is IOMMU-protected by hypervisor */
> +	iommus = <&xen-iommu 0x0>;
> +};
> +
> +[1] Documentation/devicetree/bindings/iommu/iommu.txt


From xen-devel-bounces@lists.xenproject.org Mon Jan 17 15:57:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 15:57:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258196.444392 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9UNy-0003lE-Bp; Mon, 17 Jan 2022 15:57:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258196.444392; Mon, 17 Jan 2022 15:57:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9UNy-0003l7-8t; Mon, 17 Jan 2022 15:57:34 +0000
Received: by outflank-mailman (input) for mailman id 258196;
 Mon, 17 Jan 2022 15:57:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MIPE=SB=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1n9UNw-0003kx-IK
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 15:57:32 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2c1a6251-77ae-11ec-9bbc-9dff3e4ee8c5;
 Mon, 17 Jan 2022 16:57:30 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2c1a6251-77ae-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642435050;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=EdC3KH93mB30h+nubuvYbgV46plAngv1iEt//C4ggZE=;
  b=S9X3VfsblCcGnTIHt2I8C68594ff0p3m6Dz/f3SIla8yI2ItBxCrzWKC
   G0wINd4V5V9vP7GpzmKtaacBCV2J1zfFrp1/GDfeoo7Ot4QMca8GC1TLO
   QiJgzLGvr77osLXkizjs1ktTjKd82ApnvbRoHoY6sw5zhdvazGAZTv/Kg
   s=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: 0Hf78XvPPhLf3O19dekpPUNTV4aHrIdL/rU4KYM0rt9kctCutlnAUwHfniEKGmtBHiTSfyWOP/
 IE3RK064kgIBT3slE3rnMk3PqdJQA+Mr1r5koY+pdWWrsL3Ie87pG9BwtALWwkIOhtlpJ0UFsr
 bYFDKFvYAjKtH5sA9+HNtPXdfjGky/TZ8BJZfQIat8zYTgJtfYMjliIyuPdSsKFeAkNiOIQ80m
 Dth0ES/kCMD80lREIHvCwyikzK8lnNE10Cq7dJxRNEAdF07ikStHjOW6SWawybL/pK68N8Q0uE
 M0ANvTSeZe8gb5QyDrSp1qRA
X-SBRS: 5.2
X-MesageID: 62564686
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:0MqbBK32r1OPfW2yhfbD5SB2kn2cJEfYwER7XKvMYLTBsI5bpzADx
 zMZWG3TbPuNNDb9eI13Pdjl9kJXv8PUzNFnGlE/pC1hF35El5HIVI+TRqvS04J+DSFhoGZPt
 Zh2hgzodZhsJpPkS5PE3oHJ9RGQ74nRLlbHILOCanAZqTNMEn9700o6wrFh2+aEvPDia++zk
 YKqyyHgEAfNNw5cagr4PIra9XuDFNyr0N8plgRWicJj5TcypFFMZH4rHomjLmOQf2VhNrXSq
 9Avbl2O1jixEx8FUrtJm1tgG6EAaua60QOm0hK6V0U+6/TrS+NbPqsTbZIhhUlrZzqhw9tdl
 8gUmLGLWShxEbzVuccZfgVAOnQrVUFG0OevzXmXtMWSywvNcmf2wuUoB0YzVWEa0r8pWycUr
 6VecW1TKEDY7w616OvTpu1Ej8I/LM7tLcUHt2tp1z3xBvc6W5HTBa7N4Le02R9u3J0QQaiOO
 aL1bxIwSjmaaA8VG20YUpQjzOD32HnvbyVX/Qf9Sa0fvDGIkV0ZPKLWGMXRUsyHQ4NShEnwj
 nLL+SH1Dw8XMPSbyCGZ6TS8i+nXhyT5VYkOUrqi+ZZCglOexmgSBzUNSEC25/K+jyaWV9xWJ
 EMV/S4vhbMv70HtRd74NzWaj2SDpQU0QMdLHqsx7wTl90bPy1/HXC5eFGcHMYF48p9tLdA36
 rOXt4/iKWNy6ZC4cmKyrpiFtBKRPQUJNUZXMEfoUjA5y9XkpYgyiDfGQdBiDLO5g7XJJN3g/
 9yZhHNg3utO1Kbnw43+pAma2Gz0+vAlWyZsvl2PNl9J+D+Vc2JMi2aAzVHApchNI4+CJrVql
 ChVwpPOhAzi4HzkqcBsfAnvNOzzjxpmGGeF6bKKI3XH3273k5JEVdoBiAyS3G8zbq45lcbBO
 Sc/Qz956p5JJ2eNZqRqeY+3AMlC5fG+SY6+C6CPPoYSPMgZmOq7EMdGPxP4M4fFyhlErE3CE
 c3DLZbE4YgyVMyLMwZat89CiOR2l0jSNEvYRIzhzgTP7FZtTCX9dFvxC3PXNrpRxPrd+G39q
 o8DX+PXlUk3eLCgM0H/rN5CRXhXfCNTLc2n9KRqmhurf1AO9JcJUaGBmNvMuuVNwsxoqws/1
 irsBR8Dlguu3C2vxMfjQikLVY4DlK1X9RoTVRHA9370s5T6SYrwvqoZabUterwrqL5qwfJuF
 qFXcMScGPVfDD/A/m1FP5X6qYVjcjWthB6PYHX5MGRuIcY4Slyb4MLgcyvu6DIKUni9u/whr
 uDyzQjcW5cCGVhvVZ6EdPK1wlqtlnEBg+YuDVDQK9xedRy0oohnIiD8lNEtJMQIJUmRzzeWz
 V/OUxwZufPMs8k+99yQ3fKIqIKgEu1fGEtGHjaEsebqZHeCpmf6mN1OSueFezzZRVjYwqT6a
 LUH1ez4Pd0GgE1O79h2HYF0wP9s/NDovbJbkFhpRS2Zc1SxB7p8CXCaxs0T5LZVz7pUtAbqC
 EKC/t5WZeeANM//SQNDIQMkaqKI1O0OmymU5vMweR2o6Chy9buBcENTIxjT13ANcOoraNsok
 bU7pcobyw2jkR57YN+Jgxdd+3mIMnFdAb4ssYsXAdOzhwcmor2YjUcw1sMiDEmzVuhx
IronPort-HdrOrdr: A9a23:vz0ytagkFCwaL0+mUCeIff9Vi3BQXtgji2hC6mlwRA09TySZ//
 rOoB0+726StN9xYgBFpTnuAsW9qB/nmqKdpLNhW4tKPzOW3VdATrsSjrcKqgeIc0aVm9K1l5
 0QEZSWYOeAdGSS5vyb3ODXKbgd/OU=
X-IronPort-AV: E=Sophos;i="5.88,295,1635220800"; 
   d="scan'208";a="62564686"
Date: Mon, 17 Jan 2022 15:56:56 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Dario Faggioli <dfaggioli@suse.com>
CC: Juergen Gross <JGross@suse.com>, Jim Fehlig <jfehlig@suse.com>,
	"wl@xen.org" <wl@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 1/2] tools/libs/light: numa placement: don't try to free
 a NULL list of vcpus
Message-ID: <YeWRyDGEFrOCeycP@perard>
References: <164200566223.24755.262723784847161301.stgit@work>
 <164200569629.24755.2980883411590685040.stgit@work>
 <YeAVjpmuV9LIRFpa@perard>
 <912014da2d821a14418e272f95c25e60be2b7a4e.camel@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <912014da2d821a14418e272f95c25e60be2b7a4e.camel@suse.com>

On Fri, Jan 14, 2022 at 11:22:00PM +0000, Dario Faggioli wrote:
> On Thu, 2022-01-13 at 12:05 +0000, Anthony PERARD wrote:
> > On Wed, Jan 12, 2022 at 05:41:36PM +0100, Dario Faggioli wrote:
> > 
> > > 2) there should be nothing to free anyway
> > 
> > The issue here is that it doesn't appear to be true. Even if "info"
> > is
> > NULL, "nr" have an other value than 0, so libxl_vcpuinfo_list_free()
> > will try to access random addresses.
> > 
> My point here was that if vinfo is NULL (because libxl_list_vcpu()
> returned NULL), there aren't any list element or any list to free, so
> we can avoid calling libxl_vcpuinfo_list_free().
> 
> Then, sure, if we call it with a NULL vinfo and a non-zero
> nr_dom_vcpus, things explode, but this was being addressed in patch 2.
> 
> This first one was really only about not trying to free an empty list.
> And not to workaround the fact that it currently can make things
> explode, just because it feels pointless.
> 
> > > Signed-off-by: Dario Faggioli <dfaggioli@suse.com>
> > > Tested-by: James Fehlig <jfehlig@suse.com>
> > 
> > Can I suggest to make libxl_vcpuinfo_list_free() work a bit better in
> > case it's "nr" parameter is wrong? It will do nothing if "list" is
> > NULL.
> >
> I thought about that, and we certainly can do it.
> 
> However, I think it's unrelated to this patch so, if I do it, I'll do
> it in its own one.
> 
> Also, if we go that way, I guess we want to change
> libxl_cputopology_list_free(), libxl_pcitopology_list_free(),
> libxl_numainfo_list_free(), libxl_dominfo_list_free(),
> libxl_vminfo_list_free() and libxl_cpupoolinfo_list_free(), don't we?

I actually don't know if that would be useful. Those functions do work
as expected (I think) with the right parameters: they do nothing when
called with (NULL, 0). free(NULL) does nothing.

So checking for NULL before using `nr` would probably just be a
workaround for programming mistake in the function allocating the object
or some missing initialisation in the caller. So I don't think it is
important anymore.

> > Also I think it is better to keep the free in the exit path at the
> > end
> > of the loop.
> > 
> Can I ask why as, as I was trying to say above, if we are sent directly
> to next by one of the goto, we do know that vinfo is NULL and
> libxl_vcpuinfo_list_free() will be basically a NOP, however it is
> implemented.
> 
> Of course, you're the maintainer of this code, so I'll do like that if
> you ask... I'm just curious. :-)

Freeing resources should always been attempted, even if that mean to
check whether there's something to free before calling the associated
free function. Imagine someone adding some code that could fail after
the libxl_list_vcpu(), then when that new code fails it would `goto
next;` and the allocated data from libxl_list_vcpu() would never be
freed.

> Actually, if you really think that the call to
> libxl_vcpuinfo_list_free() should stay where it is, I can just drop
> this patch and go on with patch 2 only, which is enough for fixing the
> crash.

This patch is just a workaround a bug in libxl_list_vcpu(), so I think
it can be dropped.

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Jan 17 16:11:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 16:11:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258199.444404 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Uaq-0006Vz-G9; Mon, 17 Jan 2022 16:10:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258199.444404; Mon, 17 Jan 2022 16:10:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Uaq-0006Vs-CF; Mon, 17 Jan 2022 16:10:52 +0000
Received: by outflank-mailman (input) for mailman id 258199;
 Mon, 17 Jan 2022 16:10:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ZUQe=SB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9Uap-0006Vm-T5
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 16:10:51 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 09b38788-77b0-11ec-9bbc-9dff3e4ee8c5;
 Mon, 17 Jan 2022 17:10:50 +0100 (CET)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2059.outbound.protection.outlook.com [104.47.12.59]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-41-SfwTZ9wlNVmC6PY6cT1YCw-1; Mon, 17 Jan 2022 17:10:48 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DB3PR0402MB3868.eurprd04.prod.outlook.com (2603:10a6:8:f::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.12; Mon, 17 Jan
 2022 16:10:46 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.013; Mon, 17 Jan 2022
 16:10:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 09b38788-77b0-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642435850;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=u1amZc2Q3D4e8l4yc7etdJ/t6PaP+XFOxFFp4mWKjl4=;
	b=Z9/G+QSRK5OWqnhr5VjV5YyRN0FjQ0ossa+7koZhN9qvTJc+n31ndL7YO1x9v85rZFHGn1
	e30gxOP213sxNfHDAEbCk3W5tS/c3bweqTPp5AfCFpOVJ4ToNMWO2Dz4mRxQQOAIpof9Im
	tXHX7Y1r2QQUrPiPEvKg3cXjLxBgXC0=
X-MC-Unique: SfwTZ9wlNVmC6PY6cT1YCw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Yabpt0KQoleTKRjd1VOMCfpXctx0v2SNIF+6ENtw1P56DaTpewsgtvhoQNk7Gq1ZnnDhQ744mnyhlSVJITUlHf8cIJQHVRGxcn+LH5ypfEShPcSUJJSLr4UB3SBI0tUBbW6uB05U3ay1Xv4cfMoujFM5WasKdogH3QdkQz4RF4C5QGoW25th8jew0MFWkMFJFTBy1xqtCeF0jHo4MmyQBVCeUVX+RqdkQ4vBoTCAZetGuAqmeoyEG7ao7/Kh665ngmgOZLlSxgioVEFShHKirk517f7FAWZaSYLoTLu1tMkzBcsj39MB7W7q4Anw/NEHsXU5aI7ZK+zlRup7nAz4TA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=u1amZc2Q3D4e8l4yc7etdJ/t6PaP+XFOxFFp4mWKjl4=;
 b=ZxmJxo/k+JowZ0GXGl/8MKvORKJM05iez8wzS0FxD337+B8CbeFl6sljx/cFHmb9MM/2V8Jik4SK+X8rIwFEePOChLhU0d0vUT1a82YkdXyA0S0MJO/brvugTDZfVAOzrCpl4RuBgK3AkET2BLIB5C2RbABl2B0AmzoNSxh7NJChDMlhB+fM0o6vzD3tsgDAfYFPPGpJZ8gUkhWLqYstrVARVfPeBPpFoVJGCbFVTNJRUYL6HtIpKHt+xxKkTYXQeYz5IfM1U5XP4E+AqG0Y0YjrPZaFVM7nF0Bys+lu+FYXzgiM5S81EtMpkPDScaH9qmPrdG8UzuPvdVd4Mtofkg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <345944c4-78dd-8009-6f64-f9c7901a5497@suse.com>
Date: Mon, 17 Jan 2022 17:10:43 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 04/37] xen: introduce an arch helper for default dma zone
 status
Content-Language: en-US
To: Wei Chen <wei.chen@arm.com>
Cc: Bertrand.Marquis@arm.com, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, julien@xen.org
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-5-wei.chen@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20210923120236.3692135-5-wei.chen@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0417.eurprd06.prod.outlook.com
 (2603:10a6:20b:461::21) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4fe36c93-0d3a-4ae8-1e10-08d9d9d3eb3d
X-MS-TrafficTypeDiagnostic: DB3PR0402MB3868:EE_
X-Microsoft-Antispam-PRVS:
	<DB3PR0402MB38683B70E324C8D190A16F30B3579@DB3PR0402MB3868.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:
	yFUF8m59m+YmCf7xo1cFLsH4o3/I69fejEQNIM9gAlJ1tFzFf42yhswhGCCuaFl7gAksPjBNPhcgtc+b9ZAlh4NHSNP59/z+tZ4faV6n8NWjIleUN2LWdslBWkrNzsARKE8XWMoLPTavi3NT+Ho1tQ5x6IJsSIibpcl1ZgcvIyJmgQl57XtV5pS68/aQsg8t+Yi5BFDukHEg3Hw3bSF8+m4RzPL4qC5tkqLPIrIwM6cA81QxFG2euNs9sypwRNtHft3qUN2uFiEYVYnhbBbes1n4XaG33ZnycNn0jTQkkDyyAhLD2Sl6GKLLHSoAghw5tAyj71tsxhOHnTeJtH1a0RxypSGfwf9EnYgKp2rUNkTlDG3Yib97WET7UkMvbESJgsSyEG737qoXl+JqNvchdioebkpEoMrqeaW6ejOpUMt8pWMWEF2mvBEfTnQSKIPNLGEHMXjki7kLan9TsDoRe3psBcFAgatrv17Ghzo/tQqZ+xTHmOaK/Q8q5xAODGOinyQLfGf8WS0F0kTOHMMvGIoBpHz24dY1k0ZyFsjcqDNdfkFz9sRJpHFriqXHDTZ6o+k5e1QelzmDjp8qFH5aFLyPNnvln5UuXZJgkNlElbhTt90c4Strl0aR5+iL2BVuKgbSGHhrBKvLiJ9lykqzlOZvd1BwgnzjFr1gUvXMsdoq8p+tCnz6pVxtD8usca08ZGMjH/7IMduAJ0+/pHYWaP+3YbdaS3dUT4ttzTQMNOloWKqhvix/DIz5A9mHfis2
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)(5660300002)(66556008)(31686004)(186003)(38100700002)(26005)(86362001)(508600001)(6486002)(8676002)(8936002)(31696002)(36756003)(66476007)(4326008)(6506007)(6512007)(2616005)(2906002)(6916009)(83380400001)(6666004)(53546011)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eFkwejdKYkNKSU1aU2tjejVsbkVRRktUeUJkWGdEZTk0SS9SYjVkZjhwN0pY?=
 =?utf-8?B?STdnWk1tNXZjVUJqa0NMY3c4TWlGVWdMWGltcEhURHQwTXJhcmlIdXRvU20z?=
 =?utf-8?B?NkZUMmlqWE9MR2oyQ1lUNy9ZNng3RlBEckdnaEdKRUxRZlhDSDZBb2p0dGR6?=
 =?utf-8?B?TURxUnJuanZLbE5BajV4VlROYXJwajZXNVdUUEN0VHF4Q1hvNUl0SWVUU0ZH?=
 =?utf-8?B?bU5UZ0tRd3RDam9uM0NRZ3JvM0dxMlJ6Mitld2hLbk9zS1ZLdlY5dW5XcHJH?=
 =?utf-8?B?aDZmN2lkaEJkYTlVQWRLTDBHU1dDRVRaazA4Y3NNeFp1QTU1NVgrTGcvcHFh?=
 =?utf-8?B?VUp2ejRlRHhqOWhzbDZkMVJHZll0YzRaaWRaTmVUU3Q4QVBHVFVTbmx2SHYv?=
 =?utf-8?B?Sm1YbXYwK1dxS1lkdWNJVjFRZGpmQlNSV2JLMDZQcVNTcWtCSS9lYXlidSs5?=
 =?utf-8?B?OVhjeVhhVEdxVzRlamN6bUZqaS9WTE1aU3VFZ3ZuOGJyL0ZqM3RaaGh0TmVU?=
 =?utf-8?B?Wk1JRERxQjU2eFlVNU43UGFQN1FZVWZKWFpGYzB6Rm54ZnNnMFJDaXgxSklY?=
 =?utf-8?B?WGxZa2dyVEtEK1ZmVWp5WmtxMDd2Qy9oK2ZvVGY5S3N3Uk4vRWFPU1J5NmM1?=
 =?utf-8?B?TU9ZRk1VdlJIc0VkMDRpNjh0aVJIRlRBNzNaOWFNLzU0R0lCSjN2V1lyUUt2?=
 =?utf-8?B?dlpMbHA2TjZkQXNUbXZDQzFpa2J6WkdRVDlQbHd1RmZhZTJ3NXFjaEZSTllG?=
 =?utf-8?B?YjlLV1dNRGNZcCtTSFlaMEo1NEVSNnFmQ2Z2L2QwNGtWZjhjQVVycXhzcjEz?=
 =?utf-8?B?TEhvSXNML21yS1BLL0dCRGJNNmI3SmxUWDRUWEsvMXhOREFTTXIzQkNGWTdL?=
 =?utf-8?B?QTBEYjFRY1BCK3EvbWgvM0xKL0FHUTJhWlZhaTdML1ptbVhXcHZuOGtzWUJa?=
 =?utf-8?B?cWtrbzJYT1Rpd1orVGhReWtlUDBFQUsySjZrODlKSndiZjFjb21WM3hJcFFN?=
 =?utf-8?B?L1dRQmVid0VidEtTcWl6bWIySG9XQk5LZ0R6cGxyOHV6dElGYStoUDdpZjdl?=
 =?utf-8?B?QStreTRDT1JLRkVuM2NQaElWdEthYVNycmlDKytMaDlIckx1dytQYkZKSFVh?=
 =?utf-8?B?NHJ0YmhISTZCSE5mSEtJN2NhSkg5cHFnWllpN3V0emZSTXI4T3NJRUo2WkFO?=
 =?utf-8?B?dHlJNkdIRUJTVERabHVSOEhlVDJsS0tVbnNjcjR6cDJKdkZRWlptZ0FORlBh?=
 =?utf-8?B?VzB4OWY4b2NLRnNLdHVaRlBuLzNwVHhWQlRzK1pZYkNGV2tkU2dMSWNvU0hU?=
 =?utf-8?B?V2FmM040S1hUOXFyVitmelRYOURKMHc2Sm9tU25MK0hwUGpBUTBiVGFINlh1?=
 =?utf-8?B?MnhMZEFQcVUyK2wxc3lPdVFXR2VkRnlvemtqMi91QndvVmFyQlZ6Zzd0TVI1?=
 =?utf-8?B?ek9OUkYrYnVXVytHMnJSMDZOWitUSlVaMUk1WU55Q25MNnBZdXhaUS9nTnFP?=
 =?utf-8?B?YU91U3ExQzBqdGU1d2NvTlhPRWVyVVhSeEtDdmEzVlAxWWY5TmJOWFVYZGFJ?=
 =?utf-8?B?WDFHb20vajg4U1l6WE1HMGgrUjBBSU9WK2Q4ZDRCN0Fuem1CbnRlU2o2NFly?=
 =?utf-8?B?VnA0WGRtdVExWnpjdTB2L3pSL0ZrNS9HRm9oNks1R2lIR3k0UXI2Ui80aHNy?=
 =?utf-8?B?SFYwUjRwMzBwZU1haURHV0h4ak1WOVE4NkZXa1hYK2wwSzIvazNjdng4cUtF?=
 =?utf-8?B?SGZxTkZ1VmZDRm9oRWViOHhpMklVcHRIS0xYYUg3bE1IeG9oQzhRckNTNXZv?=
 =?utf-8?B?UURJYWFjSUVLK3dFMnJIUjMxOWx6UkM3TVJ5V1ZXRDFrWGw0eTNVckJwL3E4?=
 =?utf-8?B?NFdNU1doQWF1bkVIWkRXUnM4ZHZMaDhXbmlLb09odmFXYjZVU1FrdXF4MUNS?=
 =?utf-8?B?L2l3RlV6bHhFNllDS21GbEZNWGZQZVB2NllZODlLQnRjSldiZHZUampGTnRr?=
 =?utf-8?B?YmI1eHdGV054QkcvaWp5Tm5vdzVRUU9nWXNmeWN3bGUyUmY4WFcyVDBQQWFt?=
 =?utf-8?B?VldjUlZiYmJiblhEYTNCRWlEV05tNkFWaTE0aUt2ZEdmNWFqRGFTOTdCYnU2?=
 =?utf-8?B?MFA5TXk1amlEKzdKQ1ZGN1kzREZWOEZEYmFmL2Y5UkVBdG4yR2Q2WDdjcTJ2?=
 =?utf-8?Q?ilTYhUv39fDJrK6ix5UnkJ0=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4fe36c93-0d3a-4ae8-1e10-08d9d9d3eb3d
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2022 16:10:45.9262
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: f9OYRM6M+sXnBennHk/0SmHKyOx3CLmtWh1RXYVPBYz50X7K5iRTk24xuMrA1dOtmdoGYVr7muLDE4oDuxYgJw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0402MB3868

I realize this series has been pending for a long time, but I don't
recall any indication that it would have been dropped. Hence as a
first try, a few comments on this relatively simple change. I'm
sorry it to have taken so long to get to it.

On 23.09.2021 14:02, Wei Chen wrote:
> In current code, when Xen is running in a multiple nodes NUMA
> system, it will set dma_bitsize in end_boot_allocator to reserve
> some low address memory for DMA.
> 
> There are some x86 implications in current implementation. Becuase
> on x86, memory starts from 0. On a multiple nodes NUMA system, if
> a single node contains the majority or all of the DMA memory. x86
> prefer to give out memory from non-local allocations rather than
> exhausting the DMA memory ranges. Hence x86 use dma_bitsize to set
> aside some largely arbitrary amount memory for DMA memory ranges.
> The allocations from these memory ranges would happen only after
> exhausting all other nodes' memory.
> 
> But the implications are not shared across all architectures. For
> example, Arm doesn't have these implications. So in this patch, we
> introduce an arch_have_default_dmazone helper for arch to determine
> that it need to set dma_bitsize for reserve DMA allocations or not.

How would Arm guarantee availability of memory below a certain
boundary for limited-capability devices? Or is there no need
because there's an assumption that I/O for such devices would
always pass through an IOMMU, lifting address size restrictions?
(I guess in a !PV build on x86 we could also get rid of such a
reservation.)

> --- a/xen/arch/x86/numa.c
> +++ b/xen/arch/x86/numa.c
> @@ -371,6 +371,11 @@ unsigned int __init arch_get_dma_bitsize(void)
>                   + PAGE_SHIFT, 32);
>  }
>  
> +unsigned int arch_have_default_dmazone(void)
> +{
> +    return ( num_online_nodes() > 1 ) ? 1 : 0;
> +}

According to the expression and ...

> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -1889,7 +1889,7 @@ void __init end_boot_allocator(void)
>      }
>      nr_bootmem_regions = 0;
>  
> -    if ( !dma_bitsize && (num_online_nodes() > 1) )
> +    if ( !dma_bitsize && arch_have_default_dmazone() )
>          dma_bitsize = arch_get_dma_bitsize();

... the use site, you mean the function to return boolean. Please
indicate so by making it have a return type of "bool". Independent
of that you don't need a conditional expression above, nor
(malformed) use of parentheses. I further wonder whether ...

> --- a/xen/include/asm-arm/numa.h
> +++ b/xen/include/asm-arm/numa.h
> @@ -25,6 +25,11 @@ extern mfn_t first_valid_mfn;
>  #define node_start_pfn(nid) (mfn_x(first_valid_mfn))
>  #define __node_distance(a, b) (20)
>  
> +static inline unsigned int arch_have_default_dmazone(void)
> +{
> +    return 0;
> +}

... like this one, x86'es couldn't be inline as well. If indeed
it can't be, making it a macro may still be better (and avoid a
further comment regarding the lack of __init).

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 16:22:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 16:22:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258202.444415 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Ula-000801-Hj; Mon, 17 Jan 2022 16:21:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258202.444415; Mon, 17 Jan 2022 16: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 1n9Ula-0007zu-Dz; Mon, 17 Jan 2022 16:21:58 +0000
Received: by outflank-mailman (input) for mailman id 258202;
 Mon, 17 Jan 2022 16:21:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ZUQe=SB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9UlZ-0007zo-B2
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 16:21:57 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 96858118-77b1-11ec-a115-11989b9578b4;
 Mon, 17 Jan 2022 17:21:56 +0100 (CET)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2108.outbound.protection.outlook.com [104.47.17.108]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-40-OKFmIB_BMYeNEmZ4IlyMow-1; Mon, 17 Jan 2022 17:21:54 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB6127.eurprd04.prod.outlook.com (2603:10a6:803:fa::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Mon, 17 Jan
 2022 16:21:53 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.013; Mon, 17 Jan 2022
 16:21:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 96858118-77b1-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642436515;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=bhIMUPvNMzJgnMwNtQ3ko7XekrpLYE2XNZmdfyEV5rA=;
	b=VGOBdez1YtbddAWiigybPCfCUhih4DI76iLNSp3GuHV0DWqPRs4/PSgoxWXZVqhQiDWvZo
	wA5D+fYPjITynLr5p0NqMOFTgYD7LLFawEgjF1WLxUrwjJGQpf1b0WVFuQJ69VCcLEmtCb
	caCEIg1YwoPK9jAGPL74W3WfCj4bBW0=
X-MC-Unique: OKFmIB_BMYeNEmZ4IlyMow-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=biXr5pHEY/pNNX4kSmelV+YFi+ggw1Rr8WGEJnDikYSw/g2aM/85Gq4Hdzcy3XP+HCbo3nuJw820EQUArQgPc0ugBAnNWwAdq6PnOUVBmxs/Rn+6lRPxkRbeo8Fi1P4/c2xJudd4lJUz+DIDErbrMAb0eqK75+XQxCFZh+oVG3sDrsRm4ePGI/3O9CWGLbvhET6DOMIIqJukLpzXXj2G1kexDUkfO8Su6YHsm/yDR0MiWFHzVv7mVFm5PxYdz1TBC+dsEBccYJ0fytpAjTNUBsnQf3qgsEXP8lYVrEA2cb17KxzU22st5yZ+SFPbAKR6Zpqf+XQx51sl0Pr3ABupRg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5Nx9XvAAsBuKMWe7wk0Gu6J6rItL5YmUsIVjL67O07g=;
 b=E0ELpAUse6fqrlQqmllRlH5tDenanzMLwehkT+4haYQR4d896J/5wePwCDXNtP/Q7oPnxDZxn6ej4PHqzdI9S6M3KRBi7ykLYAItGbHOKhai40nDL1HOrIOsx5vNXvUggiM+anPnNgAXHBagjDcjWxJq/ZPcgHEI7uwdItMOhELbDgtmGBZSIAYsqkXb9WaEUMe3Il42PBrp+qbJIfcLrR2c5JpWPPdoAZmaO6XQosu+8ZUobmZJFoH5dGXjCO+OxZKU8pHcPZ+gbuoABWxMQAaxZJ93mFadvRI4Bff1Ll7QUEaRgabkLVq9OCJTJuKzZSRG/nkgPyIa/3Cj975K7g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <18b1921e-44f9-3e4d-eafc-47ff88009b13@suse.com>
Date: Mon, 17 Jan 2022 17:21:51 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 19/37] xen/x86: promote VIRTUAL_BUG_ON to ASSERT in
Content-Language: en-US
To: Wei Chen <wei.chen@arm.com>
CC: Bertrand.Marquis@arm.com, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, julien@xen.org
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-20-wei.chen@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20210923120236.3692135-20-wei.chen@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS9PR06CA0117.eurprd06.prod.outlook.com
 (2603:10a6:20b:465::32) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 1373bf14-9435-437d-308d-08d9d9d578d1
X-MS-TrafficTypeDiagnostic: VI1PR04MB6127:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB61275B2B3EDD09E2DB9C3193B3579@VI1PR04MB6127.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:
	UeMpYpDKLbb85C9VkXf+xeaeojBbIfzTWvkFyQSTzsnIGpQ+qcCANdK5d46NFjYJRXmv1j2pDRrIxmpZoypPaA9aBrsfVJqqNYcm6W42xYkdqNO84mt9wX5JcPvmAMONu4Z7RdMGMFbSPkFnbkjJC7mPlKLS9rU/u5ZD35WhYtR/tQoqg4qpns3N1qAgkZ5Db65P3jVOKGYWvwU0QK2LSDWJtbbxJLyrxE8j6it5OVswsX8GJrZ4Cl3NX6iLQBIFG1UIuvTKU8eZzP9itZZEkIbBKmS1IPFXUmaww5UeLfyn0pvWpy1mj7fBp28AFmc4YEqyiPa61YBBJQmNDH96jklmgvO+ajZMqhQZE5OACO/n9URPjyrzP7IsBbb9W36PE+Flp/ofO4mJVnxrpDiIIkJQLjsiBAYHV0RBEj4MXk7AF9Ybd52YEo6ApO87b/jFtOaM6NoVbLdo6ut2GQwI8rOMuvn8ovypZ6dVuvmBYzPWfmNeAClFDL8ZawyGWlObSKzL8dviuQQIZ+un2gb2B9UK4JfFnePcTjU5l9vfM3a1pgukDucFQAdvumOQ6p+39q3jKKWMj8nH1NT5KYcgtCR/31Ejyeb/G02tSV6q0FkAt2U6gk7oghZWgQGls92ye/sE4sfxwV/KmTaCvjt9bcbkjZz64l0UDZOgDx6/OPhJsZkCzldYu4w1l8iQITqhyzrjZRu8+0YnxETmM5GDNlbqxElINA2hV4laA+vmTFSKSMJ/htFkIkzmzeYnm8BH
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)(6506007)(38100700002)(66556008)(66946007)(31696002)(86362001)(6916009)(2616005)(186003)(6486002)(4326008)(53546011)(36756003)(31686004)(2906002)(8936002)(26005)(508600001)(6512007)(5660300002)(66476007)(8676002)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?3nYdUF8Jdi256lPOPxsAofHhw5nbH5bhY9o+fMVETq5LvwAtDqNvcnDTpxYG?=
 =?us-ascii?Q?ADo2ctjgujrKJDMGe9Pl8KMpc/MnAruqLZBcBAVA9vShxjBwcu4C7qBuWaxg?=
 =?us-ascii?Q?wZZIMvxgWKHilQC7O0FR6K/dZNYKc0tqV4B3kkIvFWZxO7CiNrv9Uh4Iu95m?=
 =?us-ascii?Q?urpyQmstb6O31VP6SJr9zLA++LejSNLplYgxLS1XTlTcx8GG3xNZDyTCbF2v?=
 =?us-ascii?Q?bF5Sm7v5nwici5kxfclQxs+v2RRLqCJuEH2RCK49EL07cWmXPFlg23Fjdo6L?=
 =?us-ascii?Q?T7655TNBSOvBdjSlw6oJFMiCgfQ0EVQ6yyIJTPU2fo8tF6rd8KlS9THsNHoH?=
 =?us-ascii?Q?JJXBlBFyJKvDwTBXYEibWmU8Yd90Th3LvmDsGkn/RLO1n6ya61Nab1MWWhc3?=
 =?us-ascii?Q?aZfjl74hZfGwoovLm3gOXkLsH3rNctZLVheoirS8QguiJdhHFOKMP1JkvQHe?=
 =?us-ascii?Q?jwwd0hWj7wn/xltpnrBjKSmpl3ctMV4wdSfV6LG0Hse2mHvlZygx+z3dZdV7?=
 =?us-ascii?Q?t+gXo3mlQjBvbC4tj/FF7Gg05l24UKN86ofO/UstpCubGcE36h8hPGzvsdhv?=
 =?us-ascii?Q?3i0Xv08GtL8v7dHLqI7uf3D8CZmVSFuM4yHGAlR1rYxbx3dcocgmkCkeC7C1?=
 =?us-ascii?Q?V9zR61x54bPJwN+6HQKSgbhnLicOgY8vGPciSVLNZ8kM/+0eN/ECBZqBuA4Y?=
 =?us-ascii?Q?+9btIuhx+0/vZb4WJq57hAacytGcq0MtjzOKDjGBsGVcEisCuGMr1aTk82Hn?=
 =?us-ascii?Q?0RxNMcU9zklvKZqbmQUBnxl8dB4hkUe5n01mdfSaPIz3wRUmt7uOkt7KCeLd?=
 =?us-ascii?Q?BKaeSAr+BSuGF0d+O0UJm65I7jBiIkukOGrURhNKPPxPvKzODNbdVI5Gvaic?=
 =?us-ascii?Q?1+ubnF0d0W8XsBIHx+P/3hYky7M2sleQB8rCc3pJSVHMqHtQxFZQ+GEfdaHC?=
 =?us-ascii?Q?m6hT79Kzophy3uh18hVdNH0iuqGNcwIIDcvR/4hX4DDFmS4jGcem6b5DcXfx?=
 =?us-ascii?Q?xtQdXyE/nKT9FuJlCd4dESYZn21HiQVCU5Te5E3Hq1cy25d+OaUJEJAy3ALf?=
 =?us-ascii?Q?5cIrGhYumCdwEywqJqdjNu1F4pAd6ORB0Jyj2QdEO0VuLkKOSYTIyBTYdBmU?=
 =?us-ascii?Q?kQxqFdJ4mIKGGYse0CU6MxxxRFt6aLe5SNtVRE8zKAXK7oRzcySjaRAoe4tA?=
 =?us-ascii?Q?KkETej8s0u+E0Yjwq7JK5BsaOuWwH4y+mmQv7vKA723h4x452/vzFwmwp5Fr?=
 =?us-ascii?Q?XsfOEH5HUW4gL/LrZdM54BnB9UK6D5AozXGqMLC4ZnbZ29J1h+seOfZnRl89?=
 =?us-ascii?Q?3DOXwJnNotAKscbC0EqgeLUNtBRGtJXZq1L8rY5vGtS5C5hYqsCgU/XxPaev?=
 =?us-ascii?Q?AfsogST8oDrDSLF1mEM8DSz7ZJoecfJScalon+kEZQVPwRmreWkbAolTPwGs?=
 =?us-ascii?Q?1YtX4ueC7XRAXzPHfE1cnm4Fu19yMaWTZxOb2ab9bErjRpjq8xL/iOCwwC8Q?=
 =?us-ascii?Q?2SjFJmh9M55Nuxn9xcUm8YMuvxY51iF+NonVwiuA+3xZFlhJaBmVQIoKSJGs?=
 =?us-ascii?Q?YLX16z8Mnoq/NcdtR5dcNGztBzd84nGUc1ZxxeBqQhUH/K3rnGyTR6hZ8n64?=
 =?us-ascii?Q?DEKbvo3tHcivlEUOPUaDXSc=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1373bf14-9435-437d-308d-08d9d9d578d1
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2022 16:21:53.0041
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dEJbR9Rxra/p/FPkhGslWRZEOnJLf53rhWKsiMjNRlhe5liehwAo+NHdctngZCvbpppcnk3xSUzrf6zxU2rKmQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6127

On 23.09.2021 14:02, Wei Chen wrote:
> VIRTUAL_BUG_ON that is using in phys_to_nid is an empty macro. This
> results in two lines of error-checking code in phys_to_nid are not
> actually working. It also covers up two compilation errors:
> 1. error: =E2=80=98MAX_NUMNODES=E2=80=99 undeclared (first use in this fu=
nction).
>    This is because MAX_NUMNODES is defined in xen/numa.h.
>    But asm/numa.h is a dependent file of xen/numa.h, we can't
>    include xen/numa.h in asm/numa.h. This error has been fixed
>    after we move phys_to_nid to xen/numa.h.

This could easily be taken care of by move MAX_NUMNODES up ahead of
the asm/numa.h inclusion point. And then the change here would become
independent of the rest of the series (and could hence go in early).

> 2. error: wrong type argument to unary exclamation mark.
>    This is becuase, the error-checking code contains !node_data[nid].
>    But node_data is a data structure variable, it's not a pointer.
>=20
> So, in this patch, we use ASSERT in VIRTUAL_BUG_ON to enable the two
> lines of error-checking code.

May I suggest to drop VIRTUAL_BUG_ON() and instead use ASSERT()
directly?

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 16:54:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 16:54:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258210.444437 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9VGK-00030l-9Q; Mon, 17 Jan 2022 16:53:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258210.444437; Mon, 17 Jan 2022 16:53:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9VGK-00030e-6J; Mon, 17 Jan 2022 16:53:44 +0000
Received: by outflank-mailman (input) for mailman id 258210;
 Mon, 17 Jan 2022 16:53: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 1n9VGI-00030U-LA; Mon, 17 Jan 2022 16:53: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 1n9VGI-0008Ud-Ij; Mon, 17 Jan 2022 16:53: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 1n9VGI-0007NP-5s; Mon, 17 Jan 2022 16:53:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n9VGI-0000YD-5Q; Mon, 17 Jan 2022 16:53: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=I7kxu4zrBns1zpJKTxniUjg9hhfRecSymD6/uEiCWSA=; b=yEUKCpL6rweOmkGkCq5Y6ysDGO
	C1YVJMZs79F49AGyJ/76B8A5kjXCorEK1KrFfTSExYKOSBVH49NW1ihddZX+VPLyGVaYVQfyCKfas
	i+j59MRYmtndSOsPlFDEAH0KNcJAJS6C13h15RPGFs7RSiHfbKUV4LazH7ZWlF5gq5Ag=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167724-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167724: regressions - trouble: blocked/broken/fail/pass
X-Osstest-Failures:
    qemu-mainline:build-armhf:<job status>:broken:regression
    qemu-mainline:build-armhf:host-install(4):broken:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=6621441db50d5bae7e34dbd04bf3c57a27a71b32
X-Osstest-Versions-That:
    qemuu=69353c332c558cead5f8081d0bb69f989fe33fa3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 17 Jan 2022 16:53:42 +0000

flight 167724 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167724/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf                     <job status>                 broken
 build-armhf                   4 host-install(4)        broken REGR. vs. 167717
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 167717

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               blocked  n/a
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-arndale   1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167717
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167717
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167717
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167717
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167717
 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-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-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                6621441db50d5bae7e34dbd04bf3c57a27a71b32
baseline version:
 qemuu                69353c332c558cead5f8081d0bb69f989fe33fa3

Last test of basis   167717  2022-01-16 20:38:21 Z    0 days
Testing same since   167724  2022-01-17 11:06:55 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  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                                                  broken  
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          blocked 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          blocked 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-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                                  blocked 
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  blocked 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  blocked 
 test-armhf-armhf-xl-cubietruck                               blocked 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                blocked 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     blocked 
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      blocked 
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job build-armhf broken
broken-step build-armhf host-install(4)

Not pushing.

------------------------------------------------------------
commit 6621441db50d5bae7e34dbd04bf3c57a27a71b32
Merge: 69353c332c 8d7ebae480
Author: Peter Maydell <peter.maydell@linaro.org>
Date:   Sun Jan 16 20:12:23 2022 +0000

    Merge remote-tracking branch 'remotes/mcayland/tags/qemu-openbios-20220115' into staging
    
    qemu-openbios queue
    
    # gpg: Signature made Sat 15 Jan 2022 17:35:58 GMT
    # gpg:                using RSA key CC621AB98E82200D915CC9C45BC2C56FAE0F321F
    # gpg:                issuer "mark.cave-ayland@ilande.co.uk"
    # gpg: Good signature from "Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>" [full]
    # Primary key fingerprint: CC62 1AB9 8E82 200D 915C  C9C4 5BC2 C56F AE0F 321F
    
    * remotes/mcayland/tags/qemu-openbios-20220115:
      roms/openbios: update OpenBIOS images to 04dfc98 built from submodule
    
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

commit 8d7ebae4803611ebd03096fc4804396add52ec62
Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Date:   Sat Jan 15 14:24:36 2022 +0000

    roms/openbios: update OpenBIOS images to 04dfc98 built from submodule
    
    Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


From xen-devel-bounces@lists.xenproject.org Mon Jan 17 17:23:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 17:23:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258219.444449 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9VjJ-0006HN-On; Mon, 17 Jan 2022 17:23:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258219.444449; Mon, 17 Jan 2022 17:23:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9VjJ-0006HG-KA; Mon, 17 Jan 2022 17:23:41 +0000
Received: by outflank-mailman (input) for mailman id 258219;
 Mon, 17 Jan 2022 17:23:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=SaLw=SB=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n9VjH-0006HA-M6
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 17:23:39 +0000
Received: from ppsw-32.csi.cam.ac.uk (ppsw-32.csi.cam.ac.uk [131.111.8.132])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 347834ad-77ba-11ec-9bbc-9dff3e4ee8c5;
 Mon, 17 Jan 2022 18:23:38 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:49346)
 by ppsw-32.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.136]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n9Vj9-000ISq-0Q (Exim 4.95) (return-path <amc96@srcf.net>);
 Mon, 17 Jan 2022 17:23:31 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id E16BB1FC70;
 Mon, 17 Jan 2022 17:23:30 +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: 347834ad-77ba-11ec-9bbc-9dff3e4ee8c5
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <cf0b4480-ac1d-ce21-4829-9e02a01590f2@srcf.net>
Date: Mon, 17 Jan 2022 17:23:30 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
 Kevin Tian <kevin.tian@intel.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220113163833.3831-1-andrew.cooper3@citrix.com>
 <20220113163833.3831-4-andrew.cooper3@citrix.com>
 <5f2c932b-8e30-b636-76f9-d4b27a9f477b@suse.com>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: [PATCH 3/3] x86/spec-ctrl: Fix NMI race condition with VT-x
 MSR_SPEC_CTRL handling
In-Reply-To: <5f2c932b-8e30-b636-76f9-d4b27a9f477b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17/01/2022 11:51, Jan Beulich wrote:
> On 13.01.2022 17:38, Andrew Cooper wrote:
>> @@ -119,12 +125,11 @@ UNLIKELY_END(realmode)
>>          SAVE_ALL
>>  
>>          /*
>> -         * PV variant needed here as no guest code has executed (so
>> -         * MSR_SPEC_CTRL can't have changed value), and NMIs/MCEs are liable
>> -         * to hit (in which case the HVM variant might corrupt things).
>> +         * SPEC_CTRL_ENTRY notes
>> +         *
>> +         * If we end up here, no guest code has executed.  We still have Xen's
>> +         * choice of MSR_SPEC_CTRL in context, and the RSB is safe.
>>           */
>> -        SPEC_CTRL_ENTRY_FROM_PV /* Req: %rsp=regs/cpuinfo Clob: acd */
>> -        /* WARNING! `ret`, `call *`, `jmp *` not safe before this point. */
> Is "no guest code has executed" actually enough here? If VM entry failed
> due to a later MSR-load-list entry, SPEC_CTRL could have changed value
> already, couldn't it?

No, it can't.

See the very start of SDM Chapter 25 "VMEntries" for the distinction
between early and late entry failures.  (i.e. those which cause
execution to continue beyond VMLAUNCH/VMRESUME, and those which cause
execution to continue from the vmexit handler.)

Early failures are conditions such as `pop %ss; vmlaunch`, and bad host
state in the VMCS.

Everything pertaining to guest state is late failure, so by the time we
get to processing the MSR load/save list, we're definitely not taking
this path.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Jan 17 18:35:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 18:35:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258224.444472 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9WqA-0004qS-5k; Mon, 17 Jan 2022 18:34:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258224.444472; Mon, 17 Jan 2022 18: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 1n9Wq9-0004p5-VJ; Mon, 17 Jan 2022 18:34:49 +0000
Received: by outflank-mailman (input) for mailman id 258224;
 Mon, 17 Jan 2022 18:34:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PnDA=SB=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1n9Wq8-0004g9-3B
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 18:34:48 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 23055275-77c4-11ec-9bbc-9dff3e4ee8c5;
 Mon, 17 Jan 2022 19:34:44 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 23055275-77c4-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642444484;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=Zwn5MRarLJ0oVIY307wMx3v5HXxcZclkVzIjdNLbt8A=;
  b=QngXE8Nhe9r9npEQ2k5/tM3ruAX3InLu4owYNAa8jFmt+EdM/t2oqO3a
   nOMoekXmnxFYxTtdnCKip7uRVMfUN0N6Q2ucxB/uMmSO+I4TvvDZ5jtBt
   hv24kPqUy8zdryvIIpHW3Z4PZ5NfOpOI+BVfk7DOLiqfirY4F/eSwKTqQ
   c=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: 0hojTDwn5QxwEaNJts8iwFR+bWoGLPGkFNsYRnUzLcVTwkoy9hOD72b/3rLL/ZFcMDeI4Bl/ph
 JWpxaCPEoSnFBKlhDY5xyXJPCQEAnpmk1drLK0c52OvbAHTIIq0x/y0ZQMyEaA72zs+Rr7HFq3
 NflcoFqvoXQmiiHH3grfOjpa0kzKoZxOH3NZxN1j9/2klsEIhjrmnEnhwGFz014Kqlwva+zKQS
 1gVbO9Qk9hucdakxJiaBiCpQgQUnXNduNDkmDHJUgA2PtT1HtC124SopLgzIQTWj+EZ1pGVjdI
 rEK2YRuCFKwgEIeFdJAi3ACx
X-SBRS: 5.2
X-MesageID: 62170004
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:fIddM6LD7sQHhp8rFE+RXZIlxSXFcZb7ZxGr2PjKsXjdYENS32QBy
 jAfXmjTPa2KNzD1LtAkaN629RkE68PWmoIxHgJlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokcxIn5BC5C5xZVG/fjgqoHUVaiUakideSc+EH170Us6xLZj6mJVqYPR7z2l6
 IuaT/L3YDdJ6xYsWo7Dw/vewP/HlK2aVAIw5jTSV9gS1LPtvyB94KYkDbOwNxPFrrx8RYZWc
 QphIIaRpQs19z91Yj+sfy2SnkciGtY+NiDW4pZatjTLbrGvaUXe345iXMfwZ3u7hB3Okol/9
 PFrp6DpTBgXPoHug+ANQjtXRnQW0a1uoNcrIFC6uM2XiUbHb2Ht07NlC0Re0Y8wo7gtRzsUr
 LpBdW5LPkvra+GemdpXTsFFgMg5IdatF4QYonx6lhnSDOo8QICFSKLPjTNd9Glq358WRa6CD
 yYfQXlSYjnucxNUAXUsGY8RzOmpnyT0KhQN/Tp5ooJoujOOnWSdyoPFMsfTPNqDRsxXn0ORj
 mPA42n9RBodMbS3yjeb83Tqmu7Gmwv6Xp4fEPuz8fsCqEKX7nweDlsRT1TTiem0jAuyVsxSL
 2QQ+zEytu4i+UqzVN7/Uhak5nmesXY0efBdDuk74wGl0bfP7kCSAW1sc9JaQIV47olsH2Vsj
 wLX2YOybdByjFGLYTWQr7moiRWgBXEQMlECSQ0fSRsUwda29enfkSnzZtpkFae0iPj8Fjfx3
 y2GoUACulkDsSIY//7lpA6a2lpAsrCMF1dovVuPAgpJ+ysgPNb9D7FE/2Q3+hqpwGyxalCa9
 EYJlMGFhAzlJcHczXfdKAnh8VzA2hpkDNE+qQM1d3XC3270k5JGQWy2yGskTKuOGpxVEQIFm
 GeJ5WtsCGVvFHWrd7RrRIm6Ft4ny6Ptffy8CKyONYceOcgtKFHXlM2LWaJ29zqw+KTLuftuU
 ap3jO72VSpKYUiZ5GfeqxghPU8DmXllmDK7qWHTxBW7y7uODEN5up9eWGZimtsRtfveyC2Mq
 o43H5LTl313DbOiCgGKr997BQ1afBATWMGtw+QKJ7HrH+aTMDx7Y9fL36gbcpBo94wM0L+gE
 oeVABEIkTISRBTvdG23V5yUQOi+AsYk8yNqZHxE0JTB8yFLXLtDJZw3L/MfFYTLPsQ4pRKtZ
 /VaKciGHNpVTTHLp2YUYZXn9dQwfxW3nwOeeSGiZWFnLZJnQgXI/P7ifxfuq3ZSXnbm65Nmr
 u3yzB7fTLoCWx9mUJTcZsWwwg7jpnMagu9zARfFe4EBZEX2/YF2ACXtlftrcdoUIBDOy2LCh
 QabCBsVv8fXpIox/IWbjKyItd7xQeB/AlBbDy/Q6rPvbXvW+W+qwIlhVueUfG+CCDOoqfv6P
 egMlqPyKvwKmlpOorFQKbczwPJs/cbrqp9b0h9gQCfBYWO0B+4yOXKBx8RO6PFAn+cLpQusV
 0uT0dBGIrHVatj9GVscKQd5POSO0fYYxmvb4fgveRio4SZ2+PyMUFlIPgnKgytYdeMnPIQgy
 OYnmcgX9w3g1UZ6bofY1nhZpzaWM3gNc6Q7rZVLUobkhz0ixkxGfZGBWDT954uCaokUP0QnS
 tNOaHEuW1iIKpL+TkcO
IronPort-HdrOrdr: A9a23:8ZJwlq+duzs5v94UaXRuk+DUI+orL9Y04lQ7vn2YSXRuHPBw8P
 re+8jztCWE7Ar5N0tBpTntAsW9qBDnhPtICOsqTNSftWDd0QPCRuxfBOPZslvd8kbFl9K1u5
 0OT0EHMqyTMWRH
X-IronPort-AV: E=Sophos;i="5.88,296,1635220800"; 
   d="scan'208";a="62170004"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Jun Nakajima
	<jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>
Subject: [PATCH v2 0/4] x86/spec-ctrl: Fix NMI race condition
Date: Mon, 17 Jan 2022 18:34:11 +0000
Message-ID: <20220117183415.11150-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

v1 had an irritating breakage with VM migration, caused by the accessor logic
moving out of guest_{rd,wr}msr().  v2 takes an approach I'd previously put off
to one side, but which appears to be the least invasive way forward.

Andrew Cooper (4):
  x86/guest: Introduce {get,set}_reg() infrastructure
  x86/msr: Split MSR_SPEC_CTRL handling
  x86/spec-ctrl: Drop SPEC_CTRL_{ENTRY_FROM,EXIT_TO}_HVM
  x86/spec-ctrl: Fix NMI race condition with VT-x MSR_SPEC_CTRL handling

 xen/arch/x86/hvm/hvm.c                   | 22 +++++++++
 xen/arch/x86/hvm/svm/entry.S             |  5 +-
 xen/arch/x86/hvm/svm/svm.c               | 30 ++++++++++++
 xen/arch/x86/hvm/vmx/entry.S             | 23 +++++++---
 xen/arch/x86/hvm/vmx/vmx.c               | 78 +++++++++++++++++++++++++++++++-
 xen/arch/x86/include/asm/hvm/hvm.h       | 24 ++++++++++
 xen/arch/x86/include/asm/msr.h           | 10 +++-
 xen/arch/x86/include/asm/pv/domain.h     | 13 ++++++
 xen/arch/x86/include/asm/spec_ctrl_asm.h | 51 ++++-----------------
 xen/arch/x86/msr.c                       | 21 +++++++--
 xen/arch/x86/pv/emulate.c                | 40 ++++++++++++++++
 11 files changed, 259 insertions(+), 58 deletions(-)

-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 18:35:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 18:35:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258223.444465 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Wq9-0004kA-QN; Mon, 17 Jan 2022 18:34:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258223.444465; Mon, 17 Jan 2022 18:34:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Wq9-0004je-Ls; Mon, 17 Jan 2022 18:34:49 +0000
Received: by outflank-mailman (input) for mailman id 258223;
 Mon, 17 Jan 2022 18:34:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PnDA=SB=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1n9Wq7-0004g9-DQ
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 18:34:47 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 22f05d8a-77c4-11ec-9bbc-9dff3e4ee8c5;
 Mon, 17 Jan 2022 19:34:44 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 22f05d8a-77c4-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642444484;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=+dPlpy4gktrXn5Bej6AptKI40l2T8GyYSNyUi8f2DKA=;
  b=PyeZrXawAaDOvPAvGWMCToHsYUpT519merFvnAgQDpCkdVzjx3qUEfau
   XtzErn4WfM74PSuwGqNdJUj4QuJbuxehBTgWzxMw1sHNmOhRKzPn90jul
   Z37g91O+x1Wb6prOWleZyDjEcd4zD7yJDhlsV9hibCmD7QzAFzDDyPI66
   c=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: AcXdK4ySMDBBBQppmzuVuxVIEQ+DUHufiBHmQjiHxVkeC0ol0GSSGNr3Z2QMFn6DeiifmpNEFI
 +9kLsbTj7hAIEREZbYjXDxUFIhM3xzeRHH6D3uD4gqQwFO+Cc6ovL5lVrijOZSVt501LRgPimj
 bPsyjTZvRr7pl2t8FvSFlf3m+bilR8o+lEUNZhdK6rIloUkz1wAOgXDbn3nmhtFbfjfOiKgt5I
 8LZT9Y/dpNu6a/2tE9MB8rFMSroawfw7FryETUgQXbj5xppJE1jCJKkxEBz5m1Du3A7MPI0jZ7
 qOKKVMSTBLcdv9mp8q1HwUm8
X-SBRS: 5.2
X-MesageID: 62573947
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:7Byrcay4FV2vShLBXSt6t+eywSrEfRIJ4+MujC+fZmUNrF6WrkUCy
 WtLD2iDM/2CNGukKY8jPoS28BhS7ZTXn4NrTVZq+SAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnvopW1TYhSEUOZugH9IQM8aZfHAhLeNYYH1500g7wrdm2tQAbeWRWGthh
 /uj+6UzB3f9s9JEGjp8B3Wr8U4HUFza4Vv0j3RmDRx5lAa2e0o9VfrzEZqZPXrgKrS4K8bhL
 wr1IBNVyUuCl/slIovNfr8W6STmSJaKVeSFoiI+t6RPHnGuD8H9u0o2HKN0VKtZt9mGt4BQ7
 /N/7cyyckBzG43lo94MbB1JTD4raMWq+JefSZS+mcmazkmAeHrw2fR+SkoxOOX0+M4uXzsIr
 6ZBbmlQMFbT3Ipaw5riIgVoru0lINPmI8U0vXZ4wCuCJf0nXYrCU+PB4towMDIY2JoTQq2PO
 5VxhTxHUx3qQyMQJAssWKk6gM6z2EP/KQR4gQfAzUYwyzeKl1EguFT3C/LXZ9rMQ8xWl0SZo
 2vu/mLlDxVcP9uaoRKG/2ytgKnTnCr9cIMUCLC8sPVthTW72Wg7GBAQE1yhrpGRmkO4Ht5SN
 UEQ0i4vtrQpslymSMHnWB+1q2LCuQQTM/JyOeAn7ACGyoLP/h2UQGMDS1Z8hMcO7ZFsA2Zwj
 xnQwo2vVWcHXKCppWy1ppaziwHqaSouajUnRQY/dxo658i8v9Rm5v7QdepLHKmwh9zzPDj/x
 TGWsSQz74kuYd43O7aTpg6e3W/1znTdZktsv1iMADr5hu9sTNf9P9TA1LTN0RpXwG91pHGlt
 WNMpcWR5ftm4XqlxH3UG7Vl8F1ECp+43NzgbbxHQsNJG9eFoSfLkWVsDNdWfh0B3iEsI26BX
 aMrkVkNjKK/xVPzBUONX6q/Ct4x0Y/rHsn/W/bfY7JmO8YtLlTarHo+ORLOjwgBdXTAd4llZ
 P93lu72XB4n5VlPlmLqF4/xL5d2rszB+Y8jbc+ilEn2uVZvTHWUVa0EIDOzghMRt8u5TPHu2
 48HbaOikkwHOMWnO3W/2dNNcTgicCZqbbir+50/XrPSeWJORTB+Y8I9NJt8IeSJaYwPyLeRl
 px8M2cFoGfCaYrvclTVOis9OeK2Df6SbxsTZEQRALph4FB7Ca7H0UvVX8JfkWAP+LMxwPhqY
 eMCfsncUP1DRi6eo2YWbIXnrZwkfxOu3FrcMy2gaTk5XphhWw2WpYO0IlqxrHEDXnitqM8zg
 7y8zQeHE5ANcBtvUZTNY/W1wlLv4XVEwLBuX1HFK8V4cVn39NQ4MDT4i/I6epleKRjKyjaA+
 RyRBBMU+bvEr4MvqYGbjqGYtYa5VeB5GxMCTWXc6L+3Mwjc/3aintAcALrZI2iFWTqtqqu4Z
 OhTw/XtC9E9nQ5H49hmDrJm7aMi/N+z9bVU+RtpQSfQZFOxB7I+fnTfhZtTtrdAz6NysBetX
 h7d4cFTPLiENZ+3EFMVIwZ5PO2P2etNx2vX5PUxZk77+DV27PyMVkALZ0uAjylULb1UNoI5w
 Lh+5J5KulLn0hd6YMybii109niXKi1SWqoqgZgWHYv3h1d50VpFe5HdVnf77Zznhw+g6aX2z
 ut4XJb/uok=
IronPort-HdrOrdr: A9a23:X2q+xaEI5Zcu6F9tpLqE0MeALOsnbusQ8zAXP0AYc3Jom6uj5r
 mTdZUgpHnJYVkqOE3I9ertBEDEewK4yXcX2/h3AV7BZniEhILAFugLhuGO/9SjIVybygc079
 YZT0EUMrzN5DZB4voSmDPIceod/A==
X-IronPort-AV: E=Sophos;i="5.88,296,1635220800"; 
   d="scan'208";a="62573947"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Jun Nakajima
	<jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>
Subject: [PATCH v2 4/4] x86/spec-ctrl: Fix NMI race condition with VT-x MSR_SPEC_CTRL handling
Date: Mon, 17 Jan 2022 18:34:15 +0000
Message-ID: <20220117183415.11150-5-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220117183415.11150-1-andrew.cooper3@citrix.com>
References: <20220117183415.11150-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

The logic was based on a mistaken understanding of how NMI blocking on vmexit
works.  NMIs are only blocked for EXIT_REASON_NMI, and not for general exits.
Therefore, an NMI can in general hit early in the vmx_asm_vmexit_handler path,
and the guest's value will be clobbered before it is saved.

Switch to using MSR load/save lists.  This causes the guest value to be saved
atomically with respect to NMIs/MCEs/etc.

First, update vmx_cpuid_policy_changed() to configure the load/save lists at
the same time as configuring the intercepts.  This function is always used in
remote context, so extend the vmx_vmcs_{enter,exit}() block to cover the whole
function, rather than having multiple remote acquisitions of the same VMCS.

Both of vmx_{add,del}_guest_msr() can fail.  The -ESRCH delete case is fine,
but all others are fatal to the running of the VM, so handle them using
domain_crash() - this path is only used during domain construction anyway.

Second, update vmx_{get,set}_reg() to use the MSR load/save lists rather than
vcpu_msrs, and update the vcpu_msrs comment to describe the new state
location.

Finally, adjust the entry/exit asm.

Because the guest value is saved and loaded atomically, we do not need to
manually load the guest value, nor do we need to enable SCF_use_shadow.  This
lets us remove the use of DO_SPEC_CTRL_EXIT_TO_GUEST.  Additionally,
SPEC_CTRL_ENTRY_FROM_PV gets removed too, because on an early entry failure,
we're no longer in the guest MSR_SPEC_CTRL context needing to switch back to
Xen's context.

The only action remaining is to load Xen's MSR_SPEC_CTRL value on vmexit.  We
could in principle use the host msr list, but is expected to complicated
future work.  Delete DO_SPEC_CTRL_ENTRY_FROM_HVM entirely, and use a shorter
code sequence to simply reload Xen's setting from the top-of-stack block.

Adjust the comment at the top of spec_ctrl_asm.h in light of this bugfix.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
CC: Jun Nakajima <jun.nakajima@intel.com>
CC: Kevin Tian <kevin.tian@intel.com>

Needs backporting as far as people can tolerate.

If the entry/exit logic were in C, I'd ASSERT() that shadow tracking is off,
but this is awkard to arrange in asm.

v2:
 * Rework on top of {get,set}_reg() infrastructure.
 * Future-proof against other vmx_del_guest_msr() failures.
 * Rewrite the commit message to explain things better.
---
 xen/arch/x86/hvm/vmx/entry.S             | 21 +++++++++------
 xen/arch/x86/hvm/vmx/vmx.c               | 44 +++++++++++++++++++++++++++++---
 xen/arch/x86/include/asm/msr.h           | 10 +++++++-
 xen/arch/x86/include/asm/spec_ctrl_asm.h | 32 +++--------------------
 4 files changed, 67 insertions(+), 40 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/entry.S b/xen/arch/x86/hvm/vmx/entry.S
index 30139ae58e9d..ce7b48558ee1 100644
--- a/xen/arch/x86/hvm/vmx/entry.S
+++ b/xen/arch/x86/hvm/vmx/entry.S
@@ -35,7 +35,14 @@ ENTRY(vmx_asm_vmexit_handler)
 
         /* SPEC_CTRL_ENTRY_FROM_VMX    Req: b=curr %rsp=regs/cpuinfo, Clob: acd */
         ALTERNATIVE "", DO_OVERWRITE_RSB, X86_FEATURE_SC_RSB_HVM
-        ALTERNATIVE "", DO_SPEC_CTRL_ENTRY_FROM_HVM, X86_FEATURE_SC_MSR_HVM
+
+        .macro restore_spec_ctrl
+            mov    $MSR_SPEC_CTRL, %ecx
+            movzbl CPUINFO_xen_spec_ctrl(%rsp), %eax
+            xor    %edx, %edx
+            wrmsr
+        .endm
+        ALTERNATIVE "", restore_spec_ctrl, X86_FEATURE_SC_MSR_HVM
         /* WARNING! `ret`, `call *`, `jmp *` not safe before this point. */
 
         /* Hardware clears MSR_DEBUGCTL on VMExit.  Reinstate it if debugging Xen. */
@@ -82,8 +89,7 @@ UNLIKELY_END(realmode)
         mov VCPUMSR_spec_ctrl_raw(%rax), %eax
 
         /* WARNING! `ret`, `call *`, `jmp *` not safe beyond this point. */
-        /* SPEC_CTRL_EXIT_TO_VMX   Req: a=spec_ctrl %rsp=regs/cpuinfo, Clob: cd */
-        ALTERNATIVE "", DO_SPEC_CTRL_EXIT_TO_GUEST, X86_FEATURE_SC_MSR_HVM
+        /* SPEC_CTRL_EXIT_TO_VMX   Req: %rsp=regs/cpuinfo              Clob:    */
         ALTERNATIVE "", __stringify(verw CPUINFO_verw_sel(%rsp)), X86_FEATURE_SC_VERW_HVM
 
         mov  VCPU_hvm_guest_cr2(%rbx),%rax
@@ -119,12 +125,11 @@ UNLIKELY_END(realmode)
         SAVE_ALL
 
         /*
-         * PV variant needed here as no guest code has executed (so
-         * MSR_SPEC_CTRL can't have changed value), and NMIs/MCEs are liable
-         * to hit (in which case the HVM variant might corrupt things).
+         * SPEC_CTRL_ENTRY notes
+         *
+         * If we end up here, no guest code has executed.  We still have Xen's
+         * choice of MSR_SPEC_CTRL in context, and the RSB is safe.
          */
-        SPEC_CTRL_ENTRY_FROM_PV /* Req: %rsp=regs/cpuinfo Clob: acd */
-        /* WARNING! `ret`, `call *`, `jmp *` not safe before this point. */
 
         call vmx_vmentry_failure
         jmp  .Lvmx_process_softirqs
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index c32967f190ff..69e38d0fa8f9 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -592,6 +592,7 @@ void vmx_update_exception_bitmap(struct vcpu *v)
 static void vmx_cpuid_policy_changed(struct vcpu *v)
 {
     const struct cpuid_policy *cp = v->domain->arch.cpuid;
+    int rc = 0;
 
     if ( opt_hvm_fep ||
          (v->domain->arch.cpuid->x86_vendor != boot_cpu_data.x86_vendor) )
@@ -601,17 +602,29 @@ static void vmx_cpuid_policy_changed(struct vcpu *v)
 
     vmx_vmcs_enter(v);
     vmx_update_exception_bitmap(v);
-    vmx_vmcs_exit(v);
 
     /*
      * We can safely pass MSR_SPEC_CTRL through to the guest, even if STIBP
      * isn't enumerated in hardware, as SPEC_CTRL_STIBP is ignored.
      */
     if ( cp->feat.ibrsb )
+    {
         vmx_clear_msr_intercept(v, MSR_SPEC_CTRL, VMX_MSR_RW);
+
+        rc = vmx_add_guest_msr(v, MSR_SPEC_CTRL, 0);
+        if ( rc )
+            goto out;
+    }
     else
+    {
         vmx_set_msr_intercept(v, MSR_SPEC_CTRL, VMX_MSR_RW);
 
+        rc = vmx_del_msr(v, MSR_SPEC_CTRL, VMX_MSR_GUEST);
+        if ( rc && rc != -ESRCH )
+            goto out;
+        rc = 0; /* Tolerate -ESRCH */
+    }
+
     /* MSR_PRED_CMD is safe to pass through if the guest knows about it. */
     if ( cp->feat.ibrsb || cp->extd.ibpb )
         vmx_clear_msr_intercept(v, MSR_PRED_CMD,  VMX_MSR_RW);
@@ -623,6 +636,15 @@ static void vmx_cpuid_policy_changed(struct vcpu *v)
         vmx_clear_msr_intercept(v, MSR_FLUSH_CMD, VMX_MSR_RW);
     else
         vmx_set_msr_intercept(v, MSR_FLUSH_CMD, VMX_MSR_RW);
+
+ out:
+    vmx_vmcs_exit(v);
+
+    if ( rc )
+    {
+        printk(XENLOG_G_ERR "%pv MSR list error: %d", v, rc);
+        domain_crash(v->domain);
+    }
 }
 
 int vmx_guest_x86_mode(struct vcpu *v)
@@ -2407,11 +2429,20 @@ static int vmtrace_reset(struct vcpu *v)
 static uint64_t vmx_get_reg(struct vcpu *v, unsigned int reg)
 {
     struct domain *d = v->domain;
+    uint64_t val = 0;
+    int rc;
 
     switch ( reg )
     {
     case MSR_SPEC_CTRL:
-        return v->arch.msrs->spec_ctrl.raw;
+        rc = vmx_read_guest_msr(v, reg, &val);
+        if ( rc )
+        {
+            printk(XENLOG_G_ERR "%s(%pv, 0x%08x) MSR list error: %d\n",
+                   __func__, v, reg, rc);
+            domain_crash(d);
+        }
+        return val;
 
     default:
         printk(XENLOG_G_ERR "%s(%pv, 0x%08x) Bad register\n",
@@ -2424,11 +2455,18 @@ static uint64_t vmx_get_reg(struct vcpu *v, unsigned int reg)
 static void vmx_set_reg(struct vcpu *v, unsigned int reg, uint64_t val)
 {
     struct domain *d = v->domain;
+    int rc;
 
     switch ( reg )
     {
     case MSR_SPEC_CTRL:
-        v->arch.msrs->spec_ctrl.raw = val;
+        rc = vmx_write_guest_msr(v, reg, val);
+        if ( rc )
+        {
+            printk(XENLOG_G_ERR "%s(%pv, 0x%08x) MSR list error: %d\n",
+                   __func__, v, reg, rc);
+            domain_crash(d);
+        }
         break;
 
     default:
diff --git a/xen/arch/x86/include/asm/msr.h b/xen/arch/x86/include/asm/msr.h
index 1d3eca9063a2..10039c2d227b 100644
--- a/xen/arch/x86/include/asm/msr.h
+++ b/xen/arch/x86/include/asm/msr.h
@@ -287,7 +287,15 @@ extern struct msr_policy     raw_msr_policy,
 /* Container object for per-vCPU MSRs */
 struct vcpu_msrs
 {
-    /* 0x00000048 - MSR_SPEC_CTRL */
+    /*
+     * 0x00000048 - MSR_SPEC_CTRL
+     *
+     * For PV guests, this holds the guest kernel value.  It is accessed on
+     * every entry/exit path.
+     *
+     * For VT-x guests, the guest value is held in the MSR guest load/save
+     * list.
+     */
     struct {
         uint32_t raw;
     } spec_ctrl;
diff --git a/xen/arch/x86/include/asm/spec_ctrl_asm.h b/xen/arch/x86/include/asm/spec_ctrl_asm.h
index 2b3f123cb501..bf82528a12ae 100644
--- a/xen/arch/x86/include/asm/spec_ctrl_asm.h
+++ b/xen/arch/x86/include/asm/spec_ctrl_asm.h
@@ -42,9 +42,10 @@
  *     path, or late in the exit path after restoring the guest value.  This
  *     will corrupt the guest value.
  *
- * Factor 1 is dealt with by relying on NMIs/MCEs being blocked immediately
- * after VMEXIT.  The VMEXIT-specific code reads MSR_SPEC_CTRL and updates
- * current before loading Xen's MSR_SPEC_CTRL setting.
+ * Factor 1 is dealt with:
+ *   - On VMX by using MSR load/save lists to have vmentry/exit atomically
+ *     load/save the guest value.  Xen's value is loaded in regular code, and
+ *     there is no need to use the shadow logic (below).
  *
  * Factor 2 is harder.  We maintain a shadow_spec_ctrl value, and a use_shadow
  * boolean in the per cpu spec_ctrl_flags.  The synchronous use is:
@@ -128,31 +129,6 @@
 #endif
 .endm
 
-.macro DO_SPEC_CTRL_ENTRY_FROM_HVM
-/*
- * Requires %rbx=current, %rsp=regs/cpuinfo
- * Clobbers %rax, %rcx, %rdx
- *
- * The common case is that a guest has direct access to MSR_SPEC_CTRL, at
- * which point we need to save the guest value before setting IBRS for Xen.
- * Unilaterally saving the guest value is shorter and faster than checking.
- */
-    mov $MSR_SPEC_CTRL, %ecx
-    rdmsr
-
-    /* Stash the value from hardware. */
-    mov VCPU_arch_msrs(%rbx), %rdx
-    mov %eax, VCPUMSR_spec_ctrl_raw(%rdx)
-    xor %edx, %edx
-
-    /* Clear SPEC_CTRL shadowing *before* loading Xen's value. */
-    andb $~SCF_use_shadow, CPUINFO_spec_ctrl_flags(%rsp)
-
-    /* Load Xen's intended value. */
-    movzbl CPUINFO_xen_spec_ctrl(%rsp), %eax
-    wrmsr
-.endm
-
 .macro DO_SPEC_CTRL_ENTRY maybexen:req
 /*
  * Requires %rsp=regs (also cpuinfo if !maybexen)
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 18:35:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 18:35:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258226.444503 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9WqC-0005dB-6G; Mon, 17 Jan 2022 18:34:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258226.444503; Mon, 17 Jan 2022 18:34:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9WqB-0005b0-UQ; Mon, 17 Jan 2022 18:34:51 +0000
Received: by outflank-mailman (input) for mailman id 258226;
 Mon, 17 Jan 2022 18:34:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PnDA=SB=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1n9Wq9-0004g9-Sq
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 18:34:50 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 262bb5cc-77c4-11ec-9bbc-9dff3e4ee8c5;
 Mon, 17 Jan 2022 19:34:48 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 262bb5cc-77c4-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642444488;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=OEodxsk1Z+V+K/D8CnrkWqzHc3WZwn5T5qtHT3QZzcc=;
  b=HtyJ0IrzjxgEpOxTBwkbRYCon7hJMW6wKYMIVaNz9NiRdwzmT//+IcLb
   6YyZrM34Tw5LLXmTZxx56wLpzkRpySOs8eJN9kX9F+Xw+dOdmM+QZnCRL
   pg5UsYQacUaOwcoow63h89yk+bCLs0fg4eDu2m+xbOLCIIquQhKbau7LG
   Q=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: dEr7Ijtrnhr/isr6azX/ft7g2zfxD0T798i33uStTPmaEHGYXKF6fn3BooN4QVHbJR8ffPJXA4
 K5kMkmrKpQXKsa9vc/LeOUIVoUzZ+BGDs/gjTxWCDiAG8Dt0YBxTYwgbqSoXfg+Pdc20nZLAwy
 8GKJbWEfjbSzvYS9q9+LaweVzMS6/IB8MUEWMILPnyT2qiBihF4dEIrh0+QQCw2m19/uJIJ+uL
 7EQKKlnRsAxt+YrGIENUxSQ3p5J7VsTf18BoZECrWAX1lQ+enPZu8ho8ymuE0LLtS4OQ2Awk8a
 tiayvXI+Sj9hQQUt/NP5VY5Y
X-SBRS: 5.2
X-MesageID: 62573949
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:g4X77aNEyASi9E3vrR1ykMFynXyQoLVcMsEvi/4bfWQNrUok0zcCz
 TRNXjqHbPaDYTanKIp2bYni8htSvJ6Bn4M3SQto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdpJYz/uUGuCJQUNUjMlkfZKhTr6UUsxNbVU8En150Es8w7RRbrNA2rBVPSvc4
 bsenOWHULOV82Yc3rU8sv/rRLtH5ZweiRtA1rAMTakjUGz2zhH5OKk3N6CpR0YUd6EPdgKMq
 0Qv+5nilo/R109F5tpICd8XeGVSKlLZFVDmZna7x8FOK/WNz8A/+v9TCRYSVatYow2Iv5dxz
 uRvjKWxUjgxHKTApb8CcjANRkmSPYUekFPGCX22sMjVxEzaaXr8hf5pCSnaP6VBpLwxWzsXs
 6VFdnZdNXhvhMrvqF6/YsBqit4uM4/AO4QHt2s75TrYEewnUdbIRKCiCdpwgm1t2ZsfQae2i
 8wxMTRXZy7Jc152BXwWCLYXuvX3n0LDSmgNwL6SjfVuuDWCpOBr65DyNPLFd9rMQt9a9m66j
 G/b+2XyAjkBKceSjzGC9xqEluLJ2C/2Ro8WPLm57eJxxk2ewHQJDx8bXkf9puO24nNSQPoGd
 RZSoHB36/Fvqgr7FbERQiFUvla8vz5bW9xhMdQD6Rqy0ojd7zvCGUktG2sphMMdiOc6Qjkj1
 1msltzvBCByvLD9dU9x5ot4vhvpZ3FLcDZqiTssCFJcvoK9+N1bYgfnF447SMaIYsvJ9SYcK
 txghAw3nP0tgMECzM1XFniX0mv39vAlouPYjzg7v15JDCskPuZJhKTysDA3CMqsyq7DFDFtW
 1BeyqCjABgmV83lqcB0aLxl8EuVz/iEKibAplVkAoMs8T+gk1b6I9wKu2wufxc1bphUEdMMX
 KM1kVkMjHO0FCH7BZKbnqrrU5h6pUQePYmNug/ogipmPcEqKV7vENBGbk+MxWH9+HXAYolkU
 ap3hf2EVC5AYYw+lWLeb75EjdcDm35irUuOG8GT50n3gNK2OS/OIZ9YYQTmUwzMxP7eyOkj2
 4wBZ5LiJtQ2eLCWXxQ7BqZIfA9adiZqVMmmwyGVH8baSjdb9KgaI6e56dscl0ZNxsy5T8/Eo
 SOwXFF20l36iSGVIAmGcCk7OrjuQYx+vTQwOil1ZQSk3H0qYICO6qYDdsRoIel7pbI7lfMkH
 eMYf8igA+hUTmiV8ToqcpSg/pdpcw6mhFzSMnP9MiQ/ZZNpWyfA5sTgIln07CALAyfu7Zk+r
 rSs2xn1W50GQwg+Xs/aZOj2lwG6vGQHmfI0VEzNe4EBdELp+YlsCirwkv5ofJ1cdUSdnmOXj
 l/EDw0ZqO/Bp54O3OPI3a3U/Z20F+ZeH1ZBGzWJ57iBKiSHrHGoxpVNUbjUcGmFBn/04qire
 c5c0+r4bK8chF9PvodxT+RrwKY564e9rrNW1F05TnDCblDtAbJ8OHiWm8JIs/QVlLNevAK3X
 GOJ+8VbZurVaJ+0TgZJKVp3dPmH2NEVhiLWvKY8L0jN7SNq+KaKDBdJNB6WhS0BdLZ4PevJG
 wv6VBL6P+BnticXDw==
IronPort-HdrOrdr: A9a23:UVeoWK9sx0VSN3TLYTtuk+DiI+orL9Y04lQ7vn2YSXRuE/Bw8P
 re5MjztCWE8Qr5N0tQ+uxoVJPufZqYz+8Q3WBzB8bFYOCFghrLEGgK1+KLqFeMdxEWtNQtsp
 uIG5IOc+EYZmIbsS+V2meF+q4bsby6zJw=
X-IronPort-AV: E=Sophos;i="5.88,296,1635220800"; 
   d="scan'208";a="62573949"
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 v2 2/4] x86/msr: Split MSR_SPEC_CTRL handling
Date: Mon, 17 Jan 2022 18:34:13 +0000
Message-ID: <20220117183415.11150-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220117183415.11150-1-andrew.cooper3@citrix.com>
References: <20220117183415.11150-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

In order to fix a VT-x bug, and support MSR_SPEC_CTRL on AMD, move
MSR_SPEC_CTRL handling into the new {get,set}_reg() infrastructure.

Duplicate the msrs->spec_ctrl.raw accesses in the PV and VT-x paths for now.
The SVM path is currently unreachable because of the CPUID policy.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>

v2:
 * Rework on top of {get,set}_reg()
---
 xen/arch/x86/hvm/vmx/vmx.c |  7 +++++++
 xen/arch/x86/msr.c         | 21 +++++++++++++++++----
 xen/arch/x86/pv/emulate.c  |  9 +++++++++
 3 files changed, 33 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 4ff92ab4e94e..c32967f190ff 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2410,6 +2410,9 @@ static uint64_t vmx_get_reg(struct vcpu *v, unsigned int reg)
 
     switch ( reg )
     {
+    case MSR_SPEC_CTRL:
+        return v->arch.msrs->spec_ctrl.raw;
+
     default:
         printk(XENLOG_G_ERR "%s(%pv, 0x%08x) Bad register\n",
                __func__, v, reg);
@@ -2424,6 +2427,10 @@ static void vmx_set_reg(struct vcpu *v, unsigned int reg, uint64_t val)
 
     switch ( reg )
     {
+    case MSR_SPEC_CTRL:
+        v->arch.msrs->spec_ctrl.raw = val;
+        break;
+
     default:
         printk(XENLOG_G_ERR "%s(%pv, 0x%08x, 0x%016"PRIx64") Bad register\n",
                __func__, v, reg, val);
diff --git a/xen/arch/x86/msr.c b/xen/arch/x86/msr.c
index b834456c7b02..fd4012808472 100644
--- a/xen/arch/x86/msr.c
+++ b/xen/arch/x86/msr.c
@@ -28,6 +28,7 @@
 #include <asm/hvm/nestedhvm.h>
 #include <asm/hvm/viridian.h>
 #include <asm/msr.h>
+#include <asm/pv/domain.h>
 #include <asm/setup.h>
 
 #include <public/hvm/params.h>
@@ -265,8 +266,7 @@ int guest_rdmsr(struct vcpu *v, uint32_t msr, uint64_t *val)
     case MSR_SPEC_CTRL:
         if ( !cp->feat.ibrsb )
             goto gp_fault;
-        *val = msrs->spec_ctrl.raw;
-        break;
+        goto get_reg;
 
     case MSR_INTEL_PLATFORM_INFO:
         *val = mp->platform_info.raw;
@@ -424,6 +424,13 @@ int guest_rdmsr(struct vcpu *v, uint32_t msr, uint64_t *val)
 
     return ret;
 
+ get_reg: /* Delegate register access to per-vm-type logic. */
+    if ( is_pv_domain(d) )
+        *val = pv_get_reg(v, msr);
+    else
+        *val = hvm_get_reg(v, msr);
+    return X86EMUL_OKAY;
+
  gp_fault:
     return X86EMUL_EXCEPTION;
 }
@@ -514,8 +521,7 @@ int guest_wrmsr(struct vcpu *v, uint32_t msr, uint64_t val)
         if ( val & rsvd )
             goto gp_fault; /* Rsvd bit set? */
 
-        msrs->spec_ctrl.raw = val;
-        break;
+        goto set_reg;
 
     case MSR_PRED_CMD:
         if ( !cp->feat.ibrsb && !cp->extd.ibpb )
@@ -663,6 +669,13 @@ int guest_wrmsr(struct vcpu *v, uint32_t msr, uint64_t val)
 
     return ret;
 
+ set_reg: /* Delegate register access to per-vm-type logic. */
+    if ( is_pv_domain(d) )
+        pv_set_reg(v, msr, val);
+    else
+        hvm_set_reg(v, msr, val);
+    return X86EMUL_OKAY;
+
  gp_fault:
     return X86EMUL_EXCEPTION;
 }
diff --git a/xen/arch/x86/pv/emulate.c b/xen/arch/x86/pv/emulate.c
index ae049b60f2fc..0a7907ec5e84 100644
--- a/xen/arch/x86/pv/emulate.c
+++ b/xen/arch/x86/pv/emulate.c
@@ -92,12 +92,16 @@ void pv_emul_instruction_done(struct cpu_user_regs *regs, unsigned long rip)
 
 uint64_t pv_get_reg(struct vcpu *v, unsigned int reg)
 {
+    const struct vcpu_msrs *msrs = v->arch.msrs;
     struct domain *d = v->domain;
 
     ASSERT(v == current || !vcpu_runnable(v));
 
     switch ( reg )
     {
+    case MSR_SPEC_CTRL:
+        return msrs->spec_ctrl.raw;
+
     default:
         printk(XENLOG_G_ERR "%s(%pv, 0x%08x) Bad register\n",
                __func__, v, reg);
@@ -108,12 +112,17 @@ uint64_t pv_get_reg(struct vcpu *v, unsigned int reg)
 
 void pv_set_reg(struct vcpu *v, unsigned int reg, uint64_t val)
 {
+    struct vcpu_msrs *msrs = v->arch.msrs;
     struct domain *d = v->domain;
 
     ASSERT(v == current || !vcpu_runnable(v));
 
     switch ( reg )
     {
+    case MSR_SPEC_CTRL:
+        msrs->spec_ctrl.raw = val;
+        break;
+
     default:
         printk(XENLOG_G_ERR "%s(%pv, 0x%08x, 0x%016"PRIx64") Bad register\n",
                __func__, v, reg, val);
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 18:35:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 18:35:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258225.444478 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9WqA-00050F-J4; Mon, 17 Jan 2022 18:34:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258225.444478; Mon, 17 Jan 2022 18: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 1n9WqA-0004yq-Ea; Mon, 17 Jan 2022 18:34:50 +0000
Received: by outflank-mailman (input) for mailman id 258225;
 Mon, 17 Jan 2022 18:34:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PnDA=SB=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1n9Wq8-0004g9-Sm
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 18:34:49 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 25648e86-77c4-11ec-9bbc-9dff3e4ee8c5;
 Mon, 17 Jan 2022 19:34:46 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 25648e86-77c4-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642444486;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=/4/0GjuH2o/J2ZSoMPlStwoA5JUecXOYK7NCYxrZUco=;
  b=iWQ/pIZvOn+HQ5TtafsfgWdEjHJSHSb5gUPXsoLs3iGcxNO7U+eh0F+S
   vLJLIxpb+J2vFc7JLBykYucSYK+b4unt5yv+MNIGrnROXKEdptVU9vE+5
   c0gQ5bQeAbeJnBderxQihu5UikhyTgoQAvjLTy7z8uwNqexUMbf0CJOBv
   g=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: T8QlsTVmL9kjo6GaLrZ5PSdU3VOhmVi+vWpIQZ+Gh8Kp1Bk+LukNK+QqADKd6YN6jz92hEHp1t
 8e9yC/PnIa0+57Ar/7SheJ8QEmM1VR3YuHcad1+oh8tTelfzjUcwX9pqIU0vBSZElkx7wOvPoC
 xjzIiMltUH90aigvBPBAPozXtPTEwl5GAdhZb9fbJ9EfUtUu5/SmygM1H8aWItZ0N/FDkuMs+T
 711Jv7UD9MsuwVbs4F5M+/FMWbzKuAEnxD/KELcA0yEO3ow6eqKMrTeRipK1zgvosM+UUmX03M
 4ue3iVD01AH32zNj35O16uvh
X-SBRS: 5.2
X-MesageID: 62573948
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:4ysvdqwmiFV1hQB3ltt6t+eywSrEfRIJ4+MujC+fZmUNrF6WrkUHn
 DAWDW+PaPmMYWX9LtB0PIqxphwP65+GydY3SgY5qCAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnvopW1TYhSEUOZugH9IQM8aZfHAhLeNYYH1500g7wrdm2tQAbeWRWGthh
 /uj+6UzB3f9s9JEGjp8B3Wr8U4HUFza4Vv0j3RmDRx5lAa2e0o9VfrzEZqZPXrgKrS4K8bhL
 wr1IBNVyUuCl/slIovNfr8W6STmSJaKVeSFoiI+t6RPHnGuD8H9u0o2HKN0VKtZt9mGt4BQ7
 /N/7cyyckBzG43lo94MbB1JTD4raMWq+JefSZS+mcmazkmAeHrw2fR+SkoxOOX0+M4uXzsIr
 6ZBbmlQMFbT3Ipaw5riIgVoru0lINPmI8U0vXZ4wCuCJf0nXYrCU+PB4towMDIY2JoTQq2PO
 5pxhTxHVR3qOR1/NVwsUpMZzfy1giavSG1hkQfAzUYwyzeKl1EguFT3C/LXZ9rMQ8xWl0SZo
 2vu/mLlDxVcP9uaoRKG/2ytgKnTnCr9cIMUCLC8sPVthTW72Wg7GBAQE1yhrpGRmkO4Ht5SN
 UEQ0i4vtrQpslymSMHnWB+1q2LCuQQTM/JyOeAn7ACGyoLP/h2UQGMDS1Z8hMcO7ZFsA2Zwj
 xnQwo2vVWcHXKCppWy1ppaziwHqaSouajUnRQY/dxo658i8v9Rm5v7QdepLHKmwh9zzPDj/x
 TGWsSQz74kuYd43O7aTpg6e3W/1znTdZktsv1iMADr5hu9sTNf9P9TA1LTN0RpXwG91pHGlt
 WNMpcWR5ftm4XqlxH3UG7Vl8F1ECp+43NzgbbxHQsNJG9eFoSfLkWVsDNdWfh0B3iEsI26BX
 aMrkVkNjKK/xVPzBUONX6q/Ct4x0Y/rHsn/W/bfY7JmO8YtLlTarHo+ORLOjwgBdXTAd4llZ
 P93lu72XB4n5VlPlmLqF4/xL5d2rszB+Y8jbc+ilEn2uVZvTHWUVa0EIDOzghMRt8u5TPHu2
 48HbaOikkwHOMWnO3W/2dNNcTgicCZqbbir+50/XrPSeWJORTB+Y8I9NJt8IeSJaYwPyLeRl
 px8M2cFoGfCaYrvclTVOis9OeK2Df6SbxsTZEQRALph4FB7Ca7H0UvVX8JfkWAP+LMxwPhqY
 eMCfsncUP1DRi6eo2YWbIXnrZwkfxOu3FrcMy2gaTk5XphhWw2WpYO0IlqxrHEDXnitqM8zg
 7y8zQeHE5ANcBtvUZTNY/W1wlLv4XVEwLBuX1HFK8V4cVn39NQ4MDT4i/I6epleKRjKyjaA+
 RyRBBMU+bvEr4MvqYGbjqGYtYa5VeB5GxMCTWXc6L+3Mwjc/3aintAcALrZI2iFWTqtqqu4Z
 OhTw/XtC9E9nQ5H49hmDrJm7aMi/N+z9bVU+RtpQSfQZFOxB7I+fnTfhZtTtrdAz6NysBetX
 h7d4cFTPLiENZ+3EFMVIwZ5PO2P2etNx2vX5PUxZk77+DV27PyMVkALZ0uAjylULb1UNoI5w
 Lh+5J5KulLn0hd6YMybii109niXKi1SWqoqgZgWHYv3h1d50VpFe5HdVnf77Zznhw+g6aX2z
 ut4XJb/uok=
IronPort-HdrOrdr: A9a23:SD2w7K1wG9UwmsdJUNHAqgqjBIokLtp133Aq2lEZdPRUGvb3qy
 nIpoVj6faUskd2ZJhOo7C90cW7LU80sKQFhLX5Xo3SOzUO2lHYT72KhLGKq1aLdhEWtNQtsZ
 uIG5IOcOEYZmIasS+V2maF+q4bsbu6zJw=
X-IronPort-AV: E=Sophos;i="5.88,296,1635220800"; 
   d="scan'208";a="62573948"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Jun Nakajima
	<jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>
Subject: [PATCH v2 3/4] x86/spec-ctrl: Drop SPEC_CTRL_{ENTRY_FROM,EXIT_TO}_HVM
Date: Mon, 17 Jan 2022 18:34:14 +0000
Message-ID: <20220117183415.11150-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220117183415.11150-1-andrew.cooper3@citrix.com>
References: <20220117183415.11150-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

These were written before Spectre/Meltdown went public, and there was large
uncertainty in how the protections would evolve.  As it turns out, they're
very specific to Intel hardware, and not very suitable for AMD.

Drop the macros, opencoding the relevant subset of functionality, and leaving
grep-fodder to locate the logic.  No change at all for VT-x.

For AMD, the only relevant piece of functionality is DO_OVERWRITE_RSB,
although we will soon be adding (different) logic to handle MSR_SPEC_CTRL.

This has a marginal improvement of removing an unconditional pile of long-nops
from the vmentry/exit path.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
CC: Jun Nakajima <jun.nakajima@intel.com>
CC: Kevin Tian <kevin.tian@intel.com>

v2:
 * Tweak text.
---
 xen/arch/x86/hvm/svm/entry.S             |  5 +++--
 xen/arch/x86/hvm/vmx/entry.S             |  8 ++++++--
 xen/arch/x86/include/asm/spec_ctrl_asm.h | 19 ++++---------------
 3 files changed, 13 insertions(+), 19 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/entry.S b/xen/arch/x86/hvm/svm/entry.S
index e208a4b32ae7..276215d36aff 100644
--- a/xen/arch/x86/hvm/svm/entry.S
+++ b/xen/arch/x86/hvm/svm/entry.S
@@ -59,7 +59,7 @@ __UNLIKELY_END(nsvm_hap)
         mov VCPUMSR_spec_ctrl_raw(%rax), %eax
 
         /* WARNING! `ret`, `call *`, `jmp *` not safe beyond this point. */
-        SPEC_CTRL_EXIT_TO_HVM   /* Req: a=spec_ctrl %rsp=regs/cpuinfo, Clob: cd */
+        /* SPEC_CTRL_EXIT_TO_SVM   (nothing currently) */
 
         pop  %r15
         pop  %r14
@@ -86,7 +86,8 @@ __UNLIKELY_END(nsvm_hap)
 
         GET_CURRENT(bx)
 
-        SPEC_CTRL_ENTRY_FROM_HVM    /* Req: b=curr %rsp=regs/cpuinfo, Clob: acd */
+        /* SPEC_CTRL_ENTRY_FROM_SVM    Req: b=curr %rsp=regs/cpuinfo, Clob: ac  */
+        ALTERNATIVE "", DO_OVERWRITE_RSB, X86_FEATURE_SC_RSB_HVM
         /* WARNING! `ret`, `call *`, `jmp *` not safe before this point. */
 
         stgi
diff --git a/xen/arch/x86/hvm/vmx/entry.S b/xen/arch/x86/hvm/vmx/entry.S
index 27c8c5ca4943..30139ae58e9d 100644
--- a/xen/arch/x86/hvm/vmx/entry.S
+++ b/xen/arch/x86/hvm/vmx/entry.S
@@ -33,7 +33,9 @@ ENTRY(vmx_asm_vmexit_handler)
         movb $1,VCPU_vmx_launched(%rbx)
         mov  %rax,VCPU_hvm_guest_cr2(%rbx)
 
-        SPEC_CTRL_ENTRY_FROM_HVM    /* Req: b=curr %rsp=regs/cpuinfo, Clob: acd */
+        /* SPEC_CTRL_ENTRY_FROM_VMX    Req: b=curr %rsp=regs/cpuinfo, Clob: acd */
+        ALTERNATIVE "", DO_OVERWRITE_RSB, X86_FEATURE_SC_RSB_HVM
+        ALTERNATIVE "", DO_SPEC_CTRL_ENTRY_FROM_HVM, X86_FEATURE_SC_MSR_HVM
         /* WARNING! `ret`, `call *`, `jmp *` not safe before this point. */
 
         /* Hardware clears MSR_DEBUGCTL on VMExit.  Reinstate it if debugging Xen. */
@@ -80,7 +82,9 @@ UNLIKELY_END(realmode)
         mov VCPUMSR_spec_ctrl_raw(%rax), %eax
 
         /* WARNING! `ret`, `call *`, `jmp *` not safe beyond this point. */
-        SPEC_CTRL_EXIT_TO_HVM   /* Req: a=spec_ctrl %rsp=regs/cpuinfo, Clob: cd */
+        /* SPEC_CTRL_EXIT_TO_VMX   Req: a=spec_ctrl %rsp=regs/cpuinfo, Clob: cd */
+        ALTERNATIVE "", DO_SPEC_CTRL_EXIT_TO_GUEST, X86_FEATURE_SC_MSR_HVM
+        ALTERNATIVE "", __stringify(verw CPUINFO_verw_sel(%rsp)), X86_FEATURE_SC_VERW_HVM
 
         mov  VCPU_hvm_guest_cr2(%rbx),%rax
 
diff --git a/xen/arch/x86/include/asm/spec_ctrl_asm.h b/xen/arch/x86/include/asm/spec_ctrl_asm.h
index cb34299a865b..2b3f123cb501 100644
--- a/xen/arch/x86/include/asm/spec_ctrl_asm.h
+++ b/xen/arch/x86/include/asm/spec_ctrl_asm.h
@@ -68,14 +68,16 @@
  *
  * The following ASM fragments implement this algorithm.  See their local
  * comments for further details.
- *  - SPEC_CTRL_ENTRY_FROM_HVM
  *  - SPEC_CTRL_ENTRY_FROM_PV
  *  - SPEC_CTRL_ENTRY_FROM_INTR
  *  - SPEC_CTRL_ENTRY_FROM_INTR_IST
  *  - SPEC_CTRL_EXIT_TO_XEN_IST
  *  - SPEC_CTRL_EXIT_TO_XEN
  *  - SPEC_CTRL_EXIT_TO_PV
- *  - SPEC_CTRL_EXIT_TO_HVM
+ *
+ * Additionally, the following grep-fodder exists to find the HVM logic.
+ *  - SPEC_CTRL_ENTRY_FROM_{SVM,VMX}
+ *  - SPEC_CTRL_EXIT_TO_{SVM,VMX}
  */
 
 .macro DO_OVERWRITE_RSB tmp=rax
@@ -225,12 +227,6 @@
     wrmsr
 .endm
 
-/* Use after a VMEXIT from an HVM guest. */
-#define SPEC_CTRL_ENTRY_FROM_HVM                                        \
-    ALTERNATIVE "", DO_OVERWRITE_RSB, X86_FEATURE_SC_RSB_HVM;           \
-    ALTERNATIVE "", DO_SPEC_CTRL_ENTRY_FROM_HVM,                        \
-        X86_FEATURE_SC_MSR_HVM
-
 /* Use after an entry from PV context (syscall/sysenter/int80/int82/etc). */
 #define SPEC_CTRL_ENTRY_FROM_PV                                         \
     ALTERNATIVE "", DO_OVERWRITE_RSB, X86_FEATURE_SC_RSB_PV;            \
@@ -255,13 +251,6 @@
     ALTERNATIVE "", __stringify(verw CPUINFO_verw_sel(%rsp)),           \
         X86_FEATURE_SC_VERW_PV
 
-/* Use when exiting to HVM guest context. */
-#define SPEC_CTRL_EXIT_TO_HVM                                           \
-    ALTERNATIVE "",                                                     \
-        DO_SPEC_CTRL_EXIT_TO_GUEST, X86_FEATURE_SC_MSR_HVM;             \
-    ALTERNATIVE "", __stringify(verw CPUINFO_verw_sel(%rsp)),           \
-        X86_FEATURE_SC_VERW_HVM
-
 /*
  * Use in IST interrupt/exception context.  May interrupt Xen or PV context.
  * Fine grain control of SCF_ist_wrmsr is needed for safety in the S3 resume
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 18:35:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 18:35:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258222.444460 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Wq9-0004gb-GH; Mon, 17 Jan 2022 18:34:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258222.444460; Mon, 17 Jan 2022 18:34:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Wq9-0004gU-Cf; Mon, 17 Jan 2022 18:34:49 +0000
Received: by outflank-mailman (input) for mailman id 258222;
 Mon, 17 Jan 2022 18:34:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PnDA=SB=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1n9Wq7-0004g5-D6
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 18:34:47 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 22e155d3-77c4-11ec-a115-11989b9578b4;
 Mon, 17 Jan 2022 19:34:44 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 22e155d3-77c4-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642444484;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=HJvhAnanEqe+CxbLx0yf9TQAJKilHOHk3YDJCg2zxCg=;
  b=Hwgxf5jvdJQqp5UDJ/WmQLlr+AZyV1nTr/S1K0Nv4nmKKXdf9ixNNhaH
   NjKyaHwBcwdwYeP555X9ShyiGtWYLBq8xZUZwRFbn79SlqLQYS2nxWOy+
   mcki+/AK/81pZZgArcq4v3Ruf6PxTYK9Zri7vitLU2KmXDMtf1e93V/0f
   o=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: TB2XcwXV2wc3RobzdhHqcIalrDSepoqgFBepUAmWtUovaWdo/iWfmCLvgM4YxjqM1r1wpjFGjP
 N5VVoPLRuzr7/KXgPlnutWFLCRi/QMPdgh0HFja9X96JD06gy3lqJkBKVcrX5hTgEN5QuCDkld
 qgZGIsSjUAAG9m26+dQY66lm20cbmZfL3UEZy2jab/oz6Jo3v/ApaKBlObEfgrySTWZUZ51xeC
 sjHOch7sez0ykeit8OTNl+StdjXBhpI7iiJmZkxcoYI2jNaK2+7Yj+sO6ePnp2a4ZCHM2EdNr+
 VuJ5+rgUlHSUBiMOtoaOBHcD
X-SBRS: 5.2
X-MesageID: 62085888
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:cKW+JK7Wh512NJP8x6kEQwxRtL3AchMFZxGqfqrLsTDasY5as4F+v
 mJOD2/VO/ffNjb0c9BxaoXg8U1VvpXQyodnSANqrS8xHi5G8cbLO4+Ufxz6V8+wwmwvb67FA
 +E2MISowBUcFyeEzvuV3zyIQUBUjclkfJKlYAL/En03FV8MpBsJ00o5wbZg29Ew27BVPivW0
 T/Mi5yHULOa82Yc3lI8s8pvfzs24ZweEBtB1rAPTagjUG32zhH5P7pGTU2FFFPqQ5E8IwKPb
 72rIIdVXI/u10xF5tuNyt4Xe6CRK1LYFVDmZnF+A8BOjvXez8CbP2lS2Pc0MC9qZzu1c99Zk
 pZTkcSsERoVIYLowtU5UD4CDQZ7MvgTkFPHCSDXXc27ykTHdz3nwul0DVFwNoodkgp1KTgQr
 7pCcmlLN03dwbLtqF64YrAEasALBc/nJo4A/FpnyinUF60OSpHfWaTao9Rf2V/cg+gQR66OO
 ppJOVKDajzue0R0ZgYdFagfp+Clgj7wKCZ1skCa8P9fD2/7k1UqjemF3MDuUt6XQ4NTl0WRp
 GPD9kz4BA0XMJqUzj/t2nGhmO7J2z/6UYQ6Fbuk+/osi1qWrkQMDDUGWF39puO24mauVtQaJ
 0EK9y4Gqakp6FftXtT7Rwe/onOPolgbQdU4O88Q5RyJy6HUyx2EHWVCRTlEAOHKr+dvG2Zsj
 AXQ2Yq0W3o/69V5VE5x6J/O7i2WYTRNMFMdSgtefC8GxIP9h4Q820enoslYLIa5idj8GDfVy
 j+MrTQji7h7sfPnx5lX7nic3Wvy+8Ghohodo1yOAzn7tl8RiJuNPtTwsTDmAeB8wJF1p7Vrl
 FwNgICg4e8HFvlhfwTdEbxWTNlFCxtoWQAwYGKD/bF8rVxBGFb5JOi8BQ2Swm8zaK7onhezM
 SfuVft5vsM7AZdTRfYfj3iNI8or17P8Mt/uS+rZaNFDCrAoKlPdp3w+Ph7Mgz69+KTJrU3ZE
 c3GGSpLJSxLYZmLMRLsH7tNuVPV7n1WKZzvqWDTkE38jOv2iI+9QrYZKlqeBt3VH4vfyDg5B
 +13bpPQoz0GCbWWSnCOreY7cA5WRVBmW8Geg5EHJ4arf1s9cEl8WqC5/F/UU9E/90ijvr2Wr
 ijVt44x4AeXuEAr3i3ROy8zM+2+DM8vxZ/5VAR1VWuVN7EYSd7HxM8im1EfJ9HLLcRvkqx5S
 ecrYcKFDqgdQzjL4W1FP5L8sJZjZFKgggfXZ3ipZz02fphBQQ3V+4C7IluzpXdWVifn59Ejp
 7CA1x/ARcZRTQpVE8uLOumkyEm8vCZBlbsqDVfIONRaZG7l7JNud37qlvYyLsxVcUfDyzKW2
 hy4GxAdoeWR8YY5/MOQ3fKPrpuzEvs4FU1fRjGJ4bGzPCjc32yi3Y4fD7rYIWGDDDv5ofzwa
 /9UwvfwNOw8sGxL64csQax2ya8e5sf0o+MIxApTA3iWPU+gDaltIyfa0JAX5LFN3LJQpSC/R
 lmLpotBIbyMNc7oTAwRKQ4iYrjR3P0YgGCPv/E8IUG87y5r5ruXF05VOkDU2iBaKbJ0NqIjw
 Psg55FKu1Du1EJyP4bUlD1Q+kSNMmcEAvcuuZwtCYP2jhYmlwNZapvGBy6quJyCZr2g6KXxz
 uN4UEYau4lh+w==
IronPort-HdrOrdr: A9a23:Rau5CaNQvUNKXsBcTvmjsMiBIKoaSvp037Eqv3oedfUzSL3gqy
 nOpoV86faaslYssR0b9exofZPwJE80lqQFhrX5X43SPzUO0VHAROoJgLcKgQeQfxEWntQtrZ
 uIGJIeNDSfNzdHZL7BkWuFL+o=
X-IronPort-AV: E=Sophos;i="5.88,296,1635220800"; 
   d="scan'208";a="62085888"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Jun Nakajima
	<jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>
Subject: [PATCH v2 1/4] x86/guest: Introduce {get,set}_reg() infrastructure
Date: Mon, 17 Jan 2022 18:34:12 +0000
Message-ID: <20220117183415.11150-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220117183415.11150-1-andrew.cooper3@citrix.com>
References: <20220117183415.11150-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Various registers have per-guest-type or per-vendor locations or access
requirements.  To support their use from common code, provide accessors which
allow for per-guest-type behaviour.

For now, just infrastructure handling default cases and expectations.
Subsequent patches will start handling registers using this infrastructure.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
CC: Jun Nakajima <jun.nakajima@intel.com>
CC: Kevin Tian <kevin.tian@intel.com>

It is deliberately {get,set}_reg() because in the fullness of time, it will
handle more than just MSRs.  There's loads of space in the MSR index range
which we can reuse for non-MSRs.

v2:
 * New
---
 xen/arch/x86/hvm/hvm.c               | 22 ++++++++++++++++++++++
 xen/arch/x86/hvm/svm/svm.c           | 30 ++++++++++++++++++++++++++++++
 xen/arch/x86/hvm/vmx/vmx.c           | 31 +++++++++++++++++++++++++++++++
 xen/arch/x86/include/asm/hvm/hvm.h   | 24 ++++++++++++++++++++++++
 xen/arch/x86/include/asm/pv/domain.h | 13 +++++++++++++
 xen/arch/x86/pv/emulate.c            | 31 +++++++++++++++++++++++++++++++
 6 files changed, 151 insertions(+)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 3b87506ac4b3..b530e986e86c 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -3744,6 +3744,28 @@ int hvm_msr_write_intercept(unsigned int msr, uint64_t msr_content,
     return X86EMUL_EXCEPTION;
 }
 
+uint64_t hvm_get_reg(struct vcpu *v, unsigned int reg)
+{
+    ASSERT(v == current || !vcpu_runnable(v));
+
+    switch ( reg )
+    {
+    default:
+        return alternative_call(hvm_funcs.get_reg, v, reg);
+    }
+}
+
+void hvm_set_reg(struct vcpu *v, unsigned int reg, uint64_t val)
+{
+    ASSERT(v == current || !vcpu_runnable(v));
+
+    switch ( reg )
+    {
+    default:
+        return alternative_vcall(hvm_funcs.set_reg, v, reg, val);
+    }
+}
+
 static bool is_sysdesc_access(const struct x86_emulate_state *state,
                               const struct x86_emulate_ctxt *ctxt)
 {
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index fae39c4b4cbd..bb6b8e560a9f 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -2469,6 +2469,33 @@ static bool svm_get_pending_event(struct vcpu *v, struct x86_event *info)
     return true;
 }
 
+static uint64_t svm_get_reg(struct vcpu *v, unsigned int reg)
+{
+    struct domain *d = v->domain;
+
+    switch ( reg )
+    {
+    default:
+        printk(XENLOG_G_ERR "%s(%pv, 0x%08x) Bad register\n",
+               __func__, v, reg);
+        domain_crash(d);
+        return 0;
+    }
+}
+
+static void svm_set_reg(struct vcpu *v, unsigned int reg, uint64_t val)
+{
+    struct domain *d = v->domain;
+
+    switch ( reg )
+    {
+    default:
+        printk(XENLOG_G_ERR "%s(%pv, 0x%08x, 0x%016"PRIx64") Bad register\n",
+               __func__, v, reg, val);
+        domain_crash(d);
+    }
+}
+
 static struct hvm_function_table __initdata svm_function_table = {
     .name                 = "SVM",
     .cpu_up_prepare       = svm_cpu_up_prepare,
@@ -2518,6 +2545,9 @@ static struct hvm_function_table __initdata svm_function_table = {
     .nhvm_intr_blocked = nsvm_intr_blocked,
     .nhvm_hap_walk_L1_p2m = nsvm_hap_walk_L1_p2m,
 
+    .get_reg = svm_get_reg,
+    .set_reg = svm_set_reg,
+
     .tsc_scaling = {
         .max_ratio = ~TSC_RATIO_RSVD_BITS,
     },
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index a7a0d662342a..4ff92ab4e94e 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2404,6 +2404,33 @@ static int vmtrace_reset(struct vcpu *v)
     return 0;
 }
 
+static uint64_t vmx_get_reg(struct vcpu *v, unsigned int reg)
+{
+    struct domain *d = v->domain;
+
+    switch ( reg )
+    {
+    default:
+        printk(XENLOG_G_ERR "%s(%pv, 0x%08x) Bad register\n",
+               __func__, v, reg);
+        domain_crash(d);
+        return 0;
+    }
+}
+
+static void vmx_set_reg(struct vcpu *v, unsigned int reg, uint64_t val)
+{
+    struct domain *d = v->domain;
+
+    switch ( reg )
+    {
+    default:
+        printk(XENLOG_G_ERR "%s(%pv, 0x%08x, 0x%016"PRIx64") Bad register\n",
+               __func__, v, reg, val);
+        domain_crash(d);
+    }
+}
+
 static struct hvm_function_table __initdata vmx_function_table = {
     .name                 = "VMX",
     .cpu_up_prepare       = vmx_cpu_up_prepare,
@@ -2464,6 +2491,10 @@ static struct hvm_function_table __initdata vmx_function_table = {
     .vmtrace_set_option = vmtrace_set_option,
     .vmtrace_get_option = vmtrace_get_option,
     .vmtrace_reset = vmtrace_reset,
+
+    .get_reg = vmx_get_reg,
+    .set_reg = vmx_set_reg,
+
     .tsc_scaling = {
         .max_ratio = VMX_TSC_MULTIPLIER_MAX,
     },
diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/hvm/hvm.h
index b26302d9e769..c8b62b514b42 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -223,6 +223,9 @@ struct hvm_function_table {
     int (*vmtrace_get_option)(struct vcpu *v, uint64_t key, uint64_t *value);
     int (*vmtrace_reset)(struct vcpu *v);
 
+    uint64_t (*get_reg)(struct vcpu *v, unsigned int reg);
+    void (*set_reg)(struct vcpu *v, unsigned int reg, uint64_t val);
+
     /*
      * Parameters and callbacks for hardware-assisted TSC scaling,
      * which are valid only when the hardware feature is available.
@@ -730,6 +733,18 @@ static inline int hvm_vmtrace_reset(struct vcpu *v)
 }
 
 /*
+ * Accessors for registers which have per-guest-type or per-vendor locations
+ * (e.g. VMCS, msr load/save lists, VMCB, VMLOAD lazy, etc).
+ *
+ * The caller is responsible for all auditing - these accessors do not fail,
+ * but do use domain_crash() for usage errors.
+ *
+ * Must cope with being called in non-current context.
+ */
+uint64_t hvm_get_reg(struct vcpu *v, unsigned int reg);
+void hvm_set_reg(struct vcpu *v, unsigned int reg, uint64_t val);
+
+/*
  * This must be defined as a macro instead of an inline function,
  * because it uses 'struct vcpu' and 'struct domain' which have
  * not been defined yet.
@@ -852,6 +867,15 @@ static inline int hvm_vmtrace_get_option(
     return -EOPNOTSUPP;
 }
 
+static inline uint64_t pv_get_reg(struct vcpu *v, unsigned int reg)
+{
+    ASSERT_UNREACHABLE();
+}
+static inline void pv_set_reg(struct vcpu *v, unsigned int reg, uint64_t val)
+{
+    ASSERT_UNREACHABLE();
+}
+
 #define is_viridian_domain(d) ((void)(d), false)
 #define is_viridian_vcpu(v) ((void)(v), false)
 #define has_viridian_time_ref_count(d) ((void)(d), false)
diff --git a/xen/arch/x86/include/asm/pv/domain.h b/xen/arch/x86/include/asm/pv/domain.h
index df9716ff26a8..5fbf4043e0d9 100644
--- a/xen/arch/x86/include/asm/pv/domain.h
+++ b/xen/arch/x86/include/asm/pv/domain.h
@@ -72,6 +72,10 @@ int pv_vcpu_initialise(struct vcpu *v);
 void pv_domain_destroy(struct domain *d);
 int pv_domain_initialise(struct domain *d);
 
+/* See hvm_{get,set}_reg() for description. */
+uint64_t pv_get_reg(struct vcpu *v, unsigned int reg);
+void pv_set_reg(struct vcpu *v, unsigned int reg, uint64_t val);
+
 /*
  * Bits which a PV guest can toggle in its view of cr4.  Some are loaded into
  * hardware, while some are fully emulated.
@@ -100,6 +104,15 @@ static inline int pv_vcpu_initialise(struct vcpu *v) { return -EOPNOTSUPP; }
 static inline void pv_domain_destroy(struct domain *d) {}
 static inline int pv_domain_initialise(struct domain *d) { return -EOPNOTSUPP; }
 
+static inline uint64_t pv_get_reg(struct vcpu *v, unsigned int reg)
+{
+    ASSERT_UNREACHABLE();
+}
+static inline void pv_set_reg(struct vcpu *v, unsigned int reg, uint64_t val)
+{
+    ASSERT_UNREACHABLE();
+}
+
 static inline unsigned long pv_make_cr4(const struct vcpu *v) { return ~0ul; }
 
 #endif	/* CONFIG_PV */
diff --git a/xen/arch/x86/pv/emulate.c b/xen/arch/x86/pv/emulate.c
index e8bb326efdfe..ae049b60f2fc 100644
--- a/xen/arch/x86/pv/emulate.c
+++ b/xen/arch/x86/pv/emulate.c
@@ -90,6 +90,37 @@ void pv_emul_instruction_done(struct cpu_user_regs *regs, unsigned long rip)
     }
 }
 
+uint64_t pv_get_reg(struct vcpu *v, unsigned int reg)
+{
+    struct domain *d = v->domain;
+
+    ASSERT(v == current || !vcpu_runnable(v));
+
+    switch ( reg )
+    {
+    default:
+        printk(XENLOG_G_ERR "%s(%pv, 0x%08x) Bad register\n",
+               __func__, v, reg);
+        domain_crash(d);
+        return 0;
+    }
+}
+
+void pv_set_reg(struct vcpu *v, unsigned int reg, uint64_t val)
+{
+    struct domain *d = v->domain;
+
+    ASSERT(v == current || !vcpu_runnable(v));
+
+    switch ( reg )
+    {
+    default:
+        printk(XENLOG_G_ERR "%s(%pv, 0x%08x, 0x%016"PRIx64") Bad register\n",
+               __func__, v, reg, val);
+        domain_crash(d);
+    }
+}
+
 /*
  * Local variables:
  * mode: C
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 19:26:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 19:26:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258237.444514 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9Xdf-0003jl-Or; Mon, 17 Jan 2022 19:25:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258237.444514; Mon, 17 Jan 2022 19: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 1n9Xdf-0003je-Ls; Mon, 17 Jan 2022 19:25:59 +0000
Received: by outflank-mailman (input) for mailman id 258237;
 Mon, 17 Jan 2022 19:25:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PnDA=SB=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1n9Xdd-0003jY-Pz
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 19:25:57 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 49494667-77cb-11ec-9bbc-9dff3e4ee8c5;
 Mon, 17 Jan 2022 20:25:55 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 49494667-77cb-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642447555;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=TBxUQEv/8KGeyofIzKhKk3pEAr7Tyk9mYlDRniD8VBQ=;
  b=XFD0vVojkSWTAZmYBFQ9lNgYNsBasfmfKLoMaNkta7d+J1GNnPNbJdjD
   8nkOqaYSQaZkFBm1NqcPRQgj1mELRJC5e1YXtGHjsnu5u1lScrZayUd4T
   LcWrCCeVofwQ5/po7VYLxRr2dN7i6UuySwIB2MNlSvc/3tOAG6xzN0mla
   M=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: GjkUb/gmnaynm5e6p1c5O6X5SKz2XnJO/6zR3OuZj7jQsV+RaSYnjwKIjfglPcGdRM+TalHtUv
 J8BOk7D20tu33NX4SkPoM3FdQNbxY3QiuKtnh7S3vxwFxzw4NRG/qZEVGpDO9r/eJ30qI+n6BT
 68y0Smlby+pIo0S4jPtEnuAjxzKJ52GTTpCmlhXvqE8Pqs8bgnOGU1T76bafZ9RIeAICJa5bHy
 U0VACzxTp+KPQe/9O5fgDPCP2BbF838m4PeaABtuAGnvC/nHUlQrvEZws459pvXyqa8cpIGrxl
 eku8WzC6PjzV4KOEqqT7wJzA
X-SBRS: 5.2
X-MesageID: 62164950
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:glJ0LqPqB3rgiPTvrR0gkMFynXyQoLVcMsEvi/4bfWQNrUom1WZSn
 zAfCzuBa/uMYjSnfI8iO9my/UxSvceGmoUySgto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdpJYz/uUGuCJQUNUjMlkfZKhTr6UUsxNbVU8En150Es8w7RRbrNA2rBVPSvc4
 bsenOWHULOV82Yc3rU8sv/rRLtH5ZweiRtA1rAMTakjUGz2zhH5OKk3N6CpR0YUd6EPdgKMq
 0Qv+5nilo/R109F5tpICd8XeGVSKlLZFVDmZna7x8FOK/WNz8A/+v9TCRYSVatYoznTmNFt2
 vFgjLK1dQAvJq+Pw+EeejANRkmSPYUekFPGCX22sMjVxEzaaXr8hf5pCSnaP6VBpLwxWzsXs
 6VFdnZdNXhvhMrvqF6/YsBqit4uM4/AO4QHt2s75TrYEewnUdbIRKCiCdpwgm1p2JwfQK62i
 8wxexs+Lw7veBd0MwkHN8scncm51lfzWmgNwL6SjfVuuDWCpOBr65DvLdyTfNWJTMdUm0+wp
 2Ta8mC/CRYfXPScxCSE9DSwh+bJtSL9RI8WUra/85ZCn1m71mEVThoMWjOTsfS/z0KzRd9bA
 0gV4TY167g/8lSxSdvwVAH+p2SL1jY+cddNF+wx6CmW17HZpQ2eAwA5oiVpMYJ88pVsHHpzi
 wHPz4iB6SFTXKO9RSia96uGiR6LFy0pKmkaZ2xfSAgsyoy2yG0stS7nQtFmGa+zq9T6HzDs3
 jyHxBQDa6UvYd0jjPviow2e6964jt2QF1NuuF2LNo6wxlohPNbNWmC+1bTMAR+sxq69R0LJg
 nULktP2AAsmXcDUz3zlrAng8diUCxe53N/03AQH83oJrW3FF5ufkWZ4umsWyKBBaJdsRNMRS
 BWP0T69HbcKVJdQUYd5YpiqF+MhxrX6GNLuW5j8N4QSOMMsJFTXoH0wNSZ8OlwBdmB2zMnT3
 r/BIK6R4YsyU/w7nFJauc9AuVPU+szO7TyKHs2qp/hW+bGfeGSUWd843KimNYgEAFe/iFyNq
 b53bpLSoz0GCbGWSnSJreY7cA5bRVBmVcGeg5EGLYarf1s5cFzN/teMm9vNjaQ/wfQM/goJl
 1ngMnJlJK3X3iyYeV7UOyE6ONsCn/9X9BoGAMDlBn7ws1BLXGplxP53m0IfceZ1+ep94+RzS
 vVZKcyMDu4WEmbM+igHbIm7p4tnLUz5iQWLNiujQT4+Y58/GFCZpo66JlPipHsUEy66lcoiu
 Ln8hAnVdoUOGlZ5B8HMZfPxk17o5SoBmPh/VlfjK8VIfBm+65BjLiH816dlI8wFJRjZ6CGd0
 gKaXUURqeXX+tdn+9jVn6GU6YyuFrImTEZdGmDa65ewNDXboTX/kdMRDr7QcGmEBm3u+aika
 eFE9N3GMaUKzARQro5xM7d31qZitdHhkKBXk1Z/F3LRYlX1Vr45eiua3dNCv7Fmz6NCvVfkQ
 VqG/9RXNOnbOM7hF1JNdgMpYv7aiKMRkzjWq/80PF/79Gl8+7/eCRdeOByFiSp8KrppMdx6n
 bd96ZBOswHv2AA3NtumjzxP8zXeJ3MNZKwrq5UGDdK5kQEs0FxDPcTRByKeDEtjsDmQ3p3G+
 gOpuZc=
IronPort-HdrOrdr: A9a23:DCXioakX/Dwzo31t3dM4a0OkalHpDfIU3DAbv31ZSRFFG/Fxl6
 iV8sjzsiWE8Qr5OUtQ/+xoV5PhfZqxz/JICMwqTNKftWrdyQyVxeNZnOjfKlTbckWUnINgPO
 VbAsxD4bXLfCBHZK3BgTVQfexO/DD+ytHLudvj
X-IronPort-AV: E=Sophos;i="5.88,296,1635220800"; 
   d="scan'208";a="62164950"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Jun Nakajima
	<jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>
Subject: [PATCH v2 5/4] x86/hvm: Drop hvm_{get,set}_guest_bndcfgs() and use {get,set}_regs() instead
Date: Mon, 17 Jan 2022 19:25:33 +0000
Message-ID: <20220117192533.6048-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220117183415.11150-1-andrew.cooper3@citrix.com>
References: <20220117183415.11150-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

hvm_{get,set}_guest_bndcfgs() are thin wrappers around accessing MSR_BNDCFGS.

MPX was implemented on Skylake uarch CPUs and dropped in subsequent CPUs, and
is disabled by default in Xen VMs.

It would be nice to move all the logic into vmx_msr_{read,write}_intercept(),
but the common HVM migration code uses guest_{rd,wr}msr().  Therefore, use
{get,set}_regs() to reduce the quantity of "common" HVM code.

In lieu of having hvm_set_guest_bndcfgs() split out, use some #ifdef
CONFIG_HVM in guest_wrmsr().  In vmx_{get,set}_regs(), split the switch
statements into two depending on whether the require remote VMCS acquisition
or not.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
CC: Jun Nakajima <jun.nakajima@intel.com>
CC: Kevin Tian <kevin.tian@intel.com>

This counteracts the hvm_funcs size increase from {get,set}_regs(), and shows
how to use the new functionality to clean the HVM logic up.
---
 xen/arch/x86/hvm/hvm.c             | 37 --------------------------
 xen/arch/x86/hvm/vmx/vmx.c         | 54 ++++++++++++++++++--------------------
 xen/arch/x86/include/asm/hvm/hvm.h | 12 ---------
 xen/arch/x86/msr.c                 | 34 +++++++++++++++++++-----
 4 files changed, 53 insertions(+), 84 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index b530e986e86c..d7d3299b431e 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -324,43 +324,6 @@ int hvm_set_guest_pat(struct vcpu *v, uint64_t guest_pat)
     return 1;
 }
 
-bool hvm_set_guest_bndcfgs(struct vcpu *v, u64 val)
-{
-    if ( !hvm_funcs.set_guest_bndcfgs ||
-         !is_canonical_address(val) ||
-         (val & IA32_BNDCFGS_RESERVED) )
-        return false;
-
-    /*
-     * While MPX instructions are supposed to be gated on XCR0.BND*, let's
-     * nevertheless force the relevant XCR0 bits on when the feature is being
-     * enabled in BNDCFGS.
-     */
-    if ( (val & IA32_BNDCFGS_ENABLE) &&
-         !(v->arch.xcr0_accum & (X86_XCR0_BNDREGS | X86_XCR0_BNDCSR)) )
-    {
-        uint64_t xcr0 = get_xcr0();
-        int rc;
-
-        if ( v != current )
-            return false;
-
-        rc = handle_xsetbv(XCR_XFEATURE_ENABLED_MASK,
-                           xcr0 | X86_XCR0_BNDREGS | X86_XCR0_BNDCSR);
-
-        if ( rc )
-        {
-            HVM_DBG_LOG(DBG_LEVEL_1, "Failed to force XCR0.BND*: %d", rc);
-            return false;
-        }
-
-        if ( handle_xsetbv(XCR_XFEATURE_ENABLED_MASK, xcr0) )
-            /* nothing, best effort only */;
-    }
-
-    return alternative_call(hvm_funcs.set_guest_bndcfgs, v, val);
-}
-
 /*
  * Get the ratio to scale host TSC frequency to gtsc_khz. zero will be
  * returned if TSC scaling is unavailable or ratio cannot be handled
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 69e38d0fa8f9..8c55e56cbddb 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -1212,28 +1212,6 @@ static int vmx_get_guest_pat(struct vcpu *v, u64 *gpat)
     return 1;
 }
 
-static bool vmx_set_guest_bndcfgs(struct vcpu *v, u64 val)
-{
-    ASSERT(cpu_has_mpx && cpu_has_vmx_mpx);
-
-    vmx_vmcs_enter(v);
-    __vmwrite(GUEST_BNDCFGS, val);
-    vmx_vmcs_exit(v);
-
-    return true;
-}
-
-static bool vmx_get_guest_bndcfgs(struct vcpu *v, u64 *val)
-{
-    ASSERT(cpu_has_mpx && cpu_has_vmx_mpx);
-
-    vmx_vmcs_enter(v);
-    __vmread(GUEST_BNDCFGS, val);
-    vmx_vmcs_exit(v);
-
-    return true;
-}
-
 static void vmx_handle_cd(struct vcpu *v, unsigned long value)
 {
     if ( !paging_mode_hap(v->domain) )
@@ -2432,6 +2410,7 @@ static uint64_t vmx_get_reg(struct vcpu *v, unsigned int reg)
     uint64_t val = 0;
     int rc;
 
+    /* Logic which doesn't require remote VMCS acquisition. */
     switch ( reg )
     {
     case MSR_SPEC_CTRL:
@@ -2443,13 +2422,25 @@ static uint64_t vmx_get_reg(struct vcpu *v, unsigned int reg)
             domain_crash(d);
         }
         return val;
+    }
+
+    /* Logic which maybe requires remote VMCS acquisition. */
+    vmx_vmcs_enter(v);
+    switch ( reg )
+    {
+    case MSR_IA32_BNDCFGS:
+        __vmread(GUEST_BNDCFGS, &val);
+        break;
 
     default:
         printk(XENLOG_G_ERR "%s(%pv, 0x%08x) Bad register\n",
                __func__, v, reg);
         domain_crash(d);
-        return 0;
+        break;
     }
+    vmx_vmcs_exit(v);
+
+    return val;
 }
 
 static void vmx_set_reg(struct vcpu *v, unsigned int reg, uint64_t val)
@@ -2457,6 +2448,7 @@ static void vmx_set_reg(struct vcpu *v, unsigned int reg, uint64_t val)
     struct domain *d = v->domain;
     int rc;
 
+    /* Logic which doesn't require remote VMCS acquisition. */
     switch ( reg )
     {
     case MSR_SPEC_CTRL:
@@ -2467,6 +2459,15 @@ static void vmx_set_reg(struct vcpu *v, unsigned int reg, uint64_t val)
                    __func__, v, reg, rc);
             domain_crash(d);
         }
+        return;
+    }
+
+    /* Logic which maybe requires remote VMCS acquisition. */
+    vmx_vmcs_enter(v);
+    switch ( reg )
+    {
+    case MSR_IA32_BNDCFGS:
+        __vmwrite(GUEST_BNDCFGS, val);
         break;
 
     default:
@@ -2474,6 +2475,7 @@ static void vmx_set_reg(struct vcpu *v, unsigned int reg, uint64_t val)
                __func__, v, reg, val);
         domain_crash(d);
     }
+    vmx_vmcs_exit(v);
 }
 
 static struct hvm_function_table __initdata vmx_function_table = {
@@ -2796,12 +2798,6 @@ const struct hvm_function_table * __init start_vmx(void)
         vmx_function_table.tsc_scaling.setup = vmx_setup_tsc_scaling;
     }
 
-    if ( cpu_has_mpx && cpu_has_vmx_mpx )
-    {
-        vmx_function_table.set_guest_bndcfgs = vmx_set_guest_bndcfgs;
-        vmx_function_table.get_guest_bndcfgs = vmx_get_guest_bndcfgs;
-    }
-
     lbr_tsx_fixup_check();
     ler_to_fixup_check();
 
diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/hvm/hvm.h
index c8b62b514b42..7bb7d0b77d32 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -148,9 +148,6 @@ struct hvm_function_table {
     int  (*get_guest_pat)(struct vcpu *v, u64 *);
     int  (*set_guest_pat)(struct vcpu *v, u64);
 
-    bool (*get_guest_bndcfgs)(struct vcpu *v, u64 *);
-    bool (*set_guest_bndcfgs)(struct vcpu *v, u64);
-
     void (*set_tsc_offset)(struct vcpu *v, u64 offset, u64 at_tsc);
 
     void (*inject_event)(const struct x86_event *event);
@@ -291,8 +288,6 @@ void hvm_set_segment_register(struct vcpu *v, enum x86_segment seg,
 
 void hvm_set_info_guest(struct vcpu *v);
 
-bool hvm_set_guest_bndcfgs(struct vcpu *v, u64 val);
-
 int hvm_vmexit_cpuid(struct cpu_user_regs *regs, unsigned int inst_len);
 void hvm_migrate_timers(struct vcpu *v);
 void hvm_do_resume(struct vcpu *v);
@@ -479,12 +474,6 @@ static inline unsigned long hvm_get_shadow_gs_base(struct vcpu *v)
     return alternative_call(hvm_funcs.get_shadow_gs_base, v);
 }
 
-static inline bool hvm_get_guest_bndcfgs(struct vcpu *v, u64 *val)
-{
-    return hvm_funcs.get_guest_bndcfgs &&
-           alternative_call(hvm_funcs.get_guest_bndcfgs, v, val);
-}
-
 #define has_hvm_params(d) \
     ((d)->arch.hvm.params != NULL)
 
@@ -768,7 +757,6 @@ int hvm_guest_x86_mode(struct vcpu *v);
 unsigned long hvm_get_shadow_gs_base(struct vcpu *v);
 void hvm_cpuid_policy_changed(struct vcpu *v);
 void hvm_set_tsc_offset(struct vcpu *v, uint64_t offset, uint64_t at_tsc);
-bool hvm_get_guest_bndcfgs(struct vcpu *v, uint64_t *val);
 
 /* End of prototype list */
 
diff --git a/xen/arch/x86/msr.c b/xen/arch/x86/msr.c
index fd4012808472..9e22404eb24a 100644
--- a/xen/arch/x86/msr.c
+++ b/xen/arch/x86/msr.c
@@ -30,6 +30,7 @@
 #include <asm/msr.h>
 #include <asm/pv/domain.h>
 #include <asm/setup.h>
+#include <asm/xstate.h>
 
 #include <public/hvm/params.h>
 
@@ -323,10 +324,9 @@ int guest_rdmsr(struct vcpu *v, uint32_t msr, uint64_t *val)
         break;
 
     case MSR_IA32_BNDCFGS:
-        if ( !cp->feat.mpx || !is_hvm_domain(d) ||
-             !hvm_get_guest_bndcfgs(v, val) )
+        if ( !cp->feat.mpx ) /* Implies Intel HVM only */
             goto gp_fault;
-        break;
+        goto get_reg;
 
     case MSR_IA32_XSS:
         if ( !cp->xstate.xsaves )
@@ -594,11 +594,33 @@ int guest_wrmsr(struct vcpu *v, uint32_t msr, uint64_t val)
         ret = guest_wrmsr_x2apic(v, msr, val);
         break;
 
+#ifdef CONFIG_HVM
     case MSR_IA32_BNDCFGS:
-        if ( !cp->feat.mpx || !is_hvm_domain(d) ||
-             !hvm_set_guest_bndcfgs(v, val) )
+        if ( !cp->feat.mpx || /* Implies Intel HVM only */
+             !is_canonical_address(val) || (val & IA32_BNDCFGS_RESERVED) )
             goto gp_fault;
-        break;
+
+        /*
+         * While MPX instructions are supposed to be gated on XCR0.BND*, let's
+         * nevertheless force the relevant XCR0 bits on when the feature is
+         * being enabled in BNDCFGS.
+         */
+        if ( (val & IA32_BNDCFGS_ENABLE) &&
+             !(v->arch.xcr0_accum & (X86_XCR0_BNDREGS | X86_XCR0_BNDCSR)) )
+        {
+            uint64_t xcr0 = get_xcr0();
+
+            if ( v != current ||
+                 handle_xsetbv(XCR_XFEATURE_ENABLED_MASK,
+                               xcr0 | X86_XCR0_BNDREGS | X86_XCR0_BNDCSR) )
+                goto gp_fault;
+
+            if ( handle_xsetbv(XCR_XFEATURE_ENABLED_MASK, xcr0) )
+                /* nothing, best effort only */;
+        }
+
+        goto set_reg;
+#endif /* CONFIG_HVM */
 
     case MSR_IA32_XSS:
         if ( !cp->xstate.xsaves )
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Mon Jan 17 21:25:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 21:25:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258277.444549 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9ZUZ-0007gr-KH; Mon, 17 Jan 2022 21:24:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258277.444549; Mon, 17 Jan 2022 21:24:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9ZUZ-0007gk-HK; Mon, 17 Jan 2022 21:24:43 +0000
Received: by outflank-mailman (input) for mailman id 258277;
 Mon, 17 Jan 2022 21:24:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n9ZUX-0007ga-UO; Mon, 17 Jan 2022 21:24: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 1n9ZUX-0004wX-Ry; Mon, 17 Jan 2022 21:24: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 1n9ZUX-0008Kw-HZ; Mon, 17 Jan 2022 21:24:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n9ZUX-0004yT-H5; Mon, 17 Jan 2022 21:24: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=+XcGdqkatixo3XQgNZeACw6KQTPXgOJU9BTD02vd6Ls=; b=CdtCqwztAlCr/S1i7h0fP0MLV9
	vJf/DO4E0cbHyPV9sZ79MzVKiig5v9O9WJIUoaH68Kg60Dq+E1/h4+aTOLAv4KtGgrH5caF9zVAdj
	6AcrqSstweeeoBfCXK3f+F5bXzoWrdOnQ+v5Y0ryFMJWsVlRDN839OXTa+B3DIig4q0Q=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167722-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167722: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-xl-multivcpu:<job status>:broken:regression
    linux-linus:test-armhf-armhf-libvirt:<job status>:broken:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:<job status>:broken:regression
    linux-linus:test-armhf-armhf-libvirt-raw:<job status>:broken:regression
    linux-linus:test-armhf-armhf-libvirt:host-install(5):broken:regression
    linux-linus:test-armhf-armhf-libvirt-raw:host-install(5):broken:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:host-install(5):broken:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:host-install(5):broken:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop: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-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl: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-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=3c750c7b614322a4ab50be0d57a76addb598d51d
X-Osstest-Versions-That:
    linux=455e73a07f6e288b0061dfcf4fcf54fa9fe06458
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 17 Jan 2022 21:24:41 +0000

flight 167722 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167722/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-multivcpu    <job status>                 broken
 test-armhf-armhf-libvirt        <job status>                 broken
 test-armhf-armhf-libvirt-qcow2    <job status>                 broken
 test-armhf-armhf-libvirt-raw    <job status>                 broken
 test-armhf-armhf-libvirt      5 host-install(5)        broken REGR. vs. 167684
 test-armhf-armhf-libvirt-raw  5 host-install(5)        broken REGR. vs. 167684
 test-armhf-armhf-libvirt-qcow2  5 host-install(5)      broken REGR. vs. 167684
 test-armhf-armhf-xl-multivcpu  5 host-install(5)       broken REGR. vs. 167684
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 167684
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 167684
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 167684
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 167684
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 167684
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 167684
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 167684
 test-armhf-armhf-xl-vhd      12 debian-di-install        fail REGR. vs. 167684

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167684
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167684
 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-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          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-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

version targeted for testing:
 linux                3c750c7b614322a4ab50be0d57a76addb598d51d
baseline version:
 linux                455e73a07f6e288b0061dfcf4fcf54fa9fe06458

Last test of basis   167684  2022-01-13 07:47:42 Z    4 days
Failing since        167693  2022-01-13 22:41:04 Z    3 days    8 attempts
Testing same since   167722  2022-01-17 07:16:36 Z    0 days    1 attempts

------------------------------------------------------------
666 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                                fail    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     broken  
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                broken  
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               broken  
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 broken  
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-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

broken-job test-armhf-armhf-xl-multivcpu broken
broken-job test-armhf-armhf-libvirt broken
broken-job test-armhf-armhf-libvirt-qcow2 broken
broken-job test-armhf-armhf-libvirt-raw broken
broken-step test-armhf-armhf-libvirt host-install(5)
broken-step test-armhf-armhf-libvirt-raw host-install(5)
broken-step test-armhf-armhf-libvirt-qcow2 host-install(5)
broken-step test-armhf-armhf-xl-multivcpu host-install(5)

Not pushing.

(No revision log; it would be 52679 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Jan 17 22:13:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 17 Jan 2022 22:13:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258289.444564 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9aFb-0004Mi-L9; Mon, 17 Jan 2022 22:13:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258289.444564; Mon, 17 Jan 2022 22:13:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9aFb-0004Mb-Ht; Mon, 17 Jan 2022 22:13:19 +0000
Received: by outflank-mailman (input) for mailman id 258289;
 Mon, 17 Jan 2022 22:13: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 1n9aFa-0004MR-EA; Mon, 17 Jan 2022 22:13: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 1n9aFa-0005my-6W; Mon, 17 Jan 2022 22:13: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 1n9aFZ-0002XU-W1; Mon, 17 Jan 2022 22:13:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n9aFZ-0004QO-Va; Mon, 17 Jan 2022 22:13:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7UM+TZr2JcU7ImTVcsgX/lRYiC1YlDO+ZEP9R2cz0Ag=; b=OJJFVwdU2CHU2W1Eoyb4eXI66m
	6A7F7u6idkZMWbM4J+OV/IixsywLxUnRAj9r9DmCH8DJL0LSO8zptA3buHWM2ETNUQM96wrjznyKC
	/IfU3bxaoOcT2rbeCfRafn2H+MmD37PxtcmUoIJmHFrCFkdR/0ImC0l9Or0mD6lqoIIo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167727-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 167727: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=59c48c9314111e41550cac7875c5e9235809c3ef
X-Osstest-Versions-That:
    ovmf=5302bd81d9ba0c9e7f2371a81c438ec919ec8e1e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 17 Jan 2022 22:13:17 +0000

flight 167727 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167727/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 59c48c9314111e41550cac7875c5e9235809c3ef
baseline version:
 ovmf                 5302bd81d9ba0c9e7f2371a81c438ec919ec8e1e

Last test of basis   167689  2022-01-13 15:11:44 Z    4 days
Testing same since   167727  2022-01-17 18:40:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Xie, Yuanhao <yuanhao.xie@intel.com>
  Yuanhao Xie <yuanhao.xie@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   5302bd81d9..59c48c9314  59c48c9314111e41550cac7875c5e9235809c3ef -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 00:47:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 00:47:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258297.444575 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9ceg-0001oX-MC; Tue, 18 Jan 2022 00:47:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258297.444575; Tue, 18 Jan 2022 00:47:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9ceg-0001oQ-Ik; Tue, 18 Jan 2022 00:47:22 +0000
Received: by outflank-mailman (input) for mailman id 258297;
 Tue, 18 Jan 2022 00:47: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 1n9cef-0001oG-8Y; Tue, 18 Jan 2022 00:47: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 1n9cef-0000ci-64; Tue, 18 Jan 2022 00:47: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 1n9cee-0000iI-TK; Tue, 18 Jan 2022 00:47:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n9cee-0005ff-St; Tue, 18 Jan 2022 00:47:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7rvwArRZZMNAI2Qz0230qhYxY5gWJaG1g+2WByEV7PM=; b=qjUkZ0D2z0XdXOVMtbFPi/zick
	jBWb3fjuNhJdf0Bd4sp2+YIZOVw05SpCwKVx5D0MwJaYn2F4Y2fnC8gaC0h9S881HlKVvjWrdR5Oa
	DC66EOc4txZW/HgxudeAqA8lbdMVV868yHlPdBc9QmW/1ELDtXRry+7kuU9pUk9Rp8Ww=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167725-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 167725: 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=27a63cdac3880c918848430eb25181437d5795e9
X-Osstest-Versions-That:
    xen=9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 18 Jan 2022 00:47:20 +0000

flight 167725 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167725/

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                  27a63cdac3880c918848430eb25181437d5795e9
baseline version:
 xen                  9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f

Last test of basis   167690  2022-01-13 17:00:27 Z    4 days
Testing same since   167723  2022-01-17 09:03:00 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          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
   9ce0a5e207..27a63cdac3  27a63cdac3880c918848430eb25181437d5795e9 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 01:24:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 01:24:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258304.444586 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9dEJ-0007sj-Ke; Tue, 18 Jan 2022 01:24:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258304.444586; Tue, 18 Jan 2022 01:24: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 1n9dEJ-0007sc-Ha; Tue, 18 Jan 2022 01:24:11 +0000
Received: by outflank-mailman (input) for mailman id 258304;
 Tue, 18 Jan 2022 01:24: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 1n9dEI-0007sS-AN; Tue, 18 Jan 2022 01:24: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 1n9dEI-0002qn-12; Tue, 18 Jan 2022 01:24: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 1n9dEH-0001qK-Nx; Tue, 18 Jan 2022 01:24:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n9dEH-0003YL-NU; Tue, 18 Jan 2022 01:24:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=gE8qA6P6BrhNs5QOiHq9a0acTe3bORWDmNJyXviEGJs=; b=Y4fhiYV0ZRymTqHhYd3sW/mlki
	ChHBSEb7Hh11cdfJPDLK2HnZiFj9znvWSz9YkPPqiSdQzDRV9KDg5haw7Jb6hOiXOB3YetLGBB1DC
	XAhlKn1DWsk7JFRHj38WJ+DW1J6Vmv+7fiYV/LeLniYKFhad0jZQrBCCU7NmAAotuInI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167729-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 167729: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=5801910013757bd626f67ed77eea6c16a176eebf
X-Osstest-Versions-That:
    ovmf=59c48c9314111e41550cac7875c5e9235809c3ef
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 18 Jan 2022 01:24:09 +0000

flight 167729 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167729/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 5801910013757bd626f67ed77eea6c16a176eebf
baseline version:
 ovmf                 59c48c9314111e41550cac7875c5e9235809c3ef

Last test of basis   167727  2022-01-17 18:40:25 Z    0 days
Testing same since   167729  2022-01-17 22:40:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   59c48c9314..5801910013  5801910013757bd626f67ed77eea6c16a176eebf -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 05:06:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 05:06:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258240.444597 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9ggv-0003NO-Rc; Tue, 18 Jan 2022 05:05:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258240.444597; Tue, 18 Jan 2022 05:05:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9ggv-0003NG-Mi; Tue, 18 Jan 2022 05:05:57 +0000
Received: by outflank-mailman (input) for mailman id 258240;
 Mon, 17 Jan 2022 19:30:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=eBGH=SB=gmail.com=oddh879@srs-se1.protection.inumbo.net>)
 id 1n9XiK-000581-3W
 for xen-devel@lists.xenproject.org; Mon, 17 Jan 2022 19:30:48 +0000
Received: from mail-io1-xd2f.google.com (mail-io1-xd2f.google.com
 [2607:f8b0:4864:20::d2f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f7f90131-77cb-11ec-9bbc-9dff3e4ee8c5;
 Mon, 17 Jan 2022 20:30:47 +0100 (CET)
Received: by mail-io1-xd2f.google.com with SMTP id a12so17928533iod.9
 for <xen-devel@lists.xenproject.org>; Mon, 17 Jan 2022 11:30:47 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f7f90131-77cb-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to;
        bh=tyY1WJ+7yRPNL+WSjEtITtzSqdJZTKCq1loUCelNbv4=;
        b=nvBryLkKxpFZF/v82Ljm+xZWMExtiTPH/9zpxFEFdlrKQ74x779SDF+7VzdyI3PONz
         DSWFhx5+VxJrtDnCpsWJutnkrLbFWP7GcegSQ8GyJP4MRKXduFWY/wxGcXc0Avsg3ksi
         8LrZUValAVtRbTBLSbnjmZGC1S5Cls3oxHHAYnLp+gCjlp6ygHNYU0hqltTyogfrY8Rr
         /TzmronQDAWlx3ibvOiE9sLcppP0Q9Nai4GlEIJKq+R3N/JYZhMcUgfOe1LgkZ02o52w
         QPeh7nQ6wgdbBOEH/DLUr6RpfXuyTRsXRTeDVxJjv9k9KHIOKwh+Sq6hMa3AeOW5i0W2
         QSUg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to;
        bh=tyY1WJ+7yRPNL+WSjEtITtzSqdJZTKCq1loUCelNbv4=;
        b=K8P2o+Pd2kA3s20jk9vF5zQduXtUTn1V3HMtLZJ2RFou22QweZsLIKrEX0Hm3XKayQ
         nnJhzX1Df2bMPGGA6EUdJ9N3SCY9It2iHie5ug9fZz4xY3BLnNlkxRUGH+165j9rcdyx
         iLE2L/eifZIs365AnT073b958culC26vxJmRu3h57hUpz3NisKRYGbEvPkmsuB4aoQDO
         zZfWGY50bQvEwV3soAzW/5X3B/VaqBQZprWqYW0fDOEtYQuIIc8feC5U1I/wM18KUqwM
         7FHu+tBJmLfO1Y6wfnpugniMQR015dsHxv15ikSvkqSU1CJpU7o0qBvSMNXXiQBcI8BB
         iJqA==
X-Gm-Message-State: AOAM533/M0fLuPKJVNXP66++qiH3tdLIEJ0xuR5cd9KxUgYJz4IRtF/G
	pt6ziU60zBsehlfJUakJ7ElK6S1kMEwwQU0ej9vUovKR
X-Google-Smtp-Source: ABdhPJxeFaLG6unTYIZnNSuuX0rABQV1B4AKmHIG7J3QWh2rVxHlWqvoGx+bm/hhe/NFSRjzHHjFdeSVIX/9tW2vJoQ=
X-Received: by 2002:a02:5dc5:: with SMTP id w188mr9343387jaa.158.1642447845883;
 Mon, 17 Jan 2022 11:30:45 -0800 (PST)
MIME-Version: 1.0
References: <CAATqfqB5=mTtbnm1+mXR2U=G0pjjtX7z-brNCE_4us3LzNEojg@mail.gmail.com>
 <E658EC8C-3C13-4EFE-B5C9-6E91D30ED2F4@citrix.com>
In-Reply-To: <E658EC8C-3C13-4EFE-B5C9-6E91D30ED2F4@citrix.com>
From: The Person <oddh879@gmail.com>
Date: Mon, 17 Jan 2022 14:30:35 -0500
Message-ID: <CAATqfqD70LtuCUMVAcAG7yeZNU99P7a_3y007d-M+q3i0p1VPQ@mail.gmail.com>
Subject: Fwd: Reboot hangs on blank screen
To: xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="0000000000006a847405d5cc3056"

--0000000000006a847405d5cc3056
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

---------- Forwarded message ---------
From: George Dunlap <George.Dunlap@citrix.com>
Date: Mon, Jan 17, 2022, 6:32 AM
Subject: Re: Reboot hangs on blank screen
To: The Person <oddh879@gmail.com>
Cc: community.manager@xenproject.org <community.manager@xenproject.org>



> On Nov 29, 2021, at 6:51 PM, The Person <oddh879@gmail.com> wrote:
>
> I am using Qubes 4.1rc1 and i have a dell 7520 mobile workstation with a
xeon processor. The Qubes team believes that this reboot problem is
upstream with Xen. I would like to know whether the Xen development team is
aware of this issue and how it can be fixed. Qubes is the ONLY linux os
that won't gracefully reboot. I never had the problem with fedora
workstation or ubuntu. Is there a way to edit the boot file?

Hello,

Sorry for not responding to this earlier; I=E2=80=99ve just gotten back fro=
m
parental leave.

If you=E2=80=99re still having issues, please submit this report to
xen-devel@lists.xenproject.org .

Thanks,
 -George

--0000000000006a847405d5cc3056
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto"></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" cla=
ss=3D"gmail_attr">---------- Forwarded message ---------<br>From: <strong c=
lass=3D"gmail_sendername" dir=3D"auto">George Dunlap</strong> <span dir=3D"=
auto">&lt;<a href=3D"mailto:George.Dunlap@citrix.com">George.Dunlap@citrix.=
com</a>&gt;</span><br>Date: Mon, Jan 17, 2022, 6:32 AM<br>Subject: Re: Rebo=
ot hangs on blank screen<br>To: The Person &lt;<a href=3D"mailto:oddh879@gm=
ail.com">oddh879@gmail.com</a>&gt;<br>Cc: <a href=3D"mailto:community.manag=
er@xenproject.org">community.manager@xenproject.org</a> &lt;<a href=3D"mail=
to:community.manager@xenproject.org">community.manager@xenproject.org</a>&g=
t;<br></div><br><br><br>
&gt; On Nov 29, 2021, at 6:51 PM, The Person &lt;<a href=3D"mailto:oddh879@=
gmail.com" target=3D"_blank" rel=3D"noreferrer">oddh879@gmail.com</a>&gt; w=
rote:<br>
&gt; <br>
&gt; I am using Qubes 4.1rc1 and i have a dell 7520 mobile workstation with=
 a xeon processor. The Qubes team believes that this reboot problem is upst=
ream with Xen. I would like to know whether the Xen development team is awa=
re of this issue and how it can be fixed. Qubes is the ONLY linux os that w=
on&#39;t gracefully reboot. I never had the problem with fedora workstation=
 or ubuntu. Is there a way to edit the boot file?<br>
<br>
Hello,<br>
<br>
Sorry for not responding to this earlier; I=E2=80=99ve just gotten back fro=
m parental leave.<br>
<br>
If you=E2=80=99re still having issues, please submit this report to <a href=
=3D"mailto:xen-devel@lists.xenproject.org" target=3D"_blank" rel=3D"norefer=
rer">xen-devel@lists.xenproject.org</a> .<br>
<br>
Thanks,<br>
=C2=A0-George</div>

--0000000000006a847405d5cc3056--


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 05:57:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 05:57:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258314.444608 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9hUb-0008Ou-MB; Tue, 18 Jan 2022 05:57:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258314.444608; Tue, 18 Jan 2022 05:57:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9hUb-0008On-Ih; Tue, 18 Jan 2022 05:57:17 +0000
Received: by outflank-mailman (input) for mailman id 258314;
 Tue, 18 Jan 2022 05:57:16 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1n9hUa-0008Od-RZ; Tue, 18 Jan 2022 05:57: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 1n9hUa-0008Qk-Ou; Tue, 18 Jan 2022 05:57: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 1n9hUa-0005T3-Bt; Tue, 18 Jan 2022 05:57:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n9hUa-0003vr-BN; Tue, 18 Jan 2022 05:57:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=4w7L7WucfuItjXW33u5wfGjK0LAEtMkAzzkR3BvSStw=; b=5M2h7d776pX/+vbmW+D/3uNTE8
	RO/b8cMSKbxFMqb9yw/JcOyNAQWS1Z++RO/m0+ve5JYjJIS/WvbXBMUrOzkXuvEIVzDV1onxao6Y1
	PKzLLJtbt5SzBKpqAeodZtwjV1VAD2YdWuhVLIPbnA72BWrhimmSlePsv0lt8chI/w3I=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167730-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 167730: 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=ad47bc9a9742e73bea97ae791f66adf1caecaa63
X-Osstest-Versions-That:
    xen=27a63cdac3880c918848430eb25181437d5795e9
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 18 Jan 2022 05:57:16 +0000

flight 167730 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167730/

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                  ad47bc9a9742e73bea97ae791f66adf1caecaa63
baseline version:
 xen                  27a63cdac3880c918848430eb25181437d5795e9

Last test of basis   167725  2022-01-17 15:02:51 Z    0 days
Testing same since   167730  2022-01-18 01:01:38 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Lukasz Hawrylko <lukasz@hawrylko.pl>
  Nick Rosbrook <rosbrookn@gmail.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   27a63cdac3..ad47bc9a97  ad47bc9a9742e73bea97ae791f66adf1caecaa63 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 06:17:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 06:17:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258321.444618 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9hnQ-0002Ly-BD; Tue, 18 Jan 2022 06:16:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258321.444618; Tue, 18 Jan 2022 06:16: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 1n9hnQ-0002Lr-8H; Tue, 18 Jan 2022 06:16:44 +0000
Received: by outflank-mailman (input) for mailman id 258321;
 Tue, 18 Jan 2022 06:16: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 1n9hnO-0002Lh-Oz; Tue, 18 Jan 2022 06:16: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 1n9hnO-0000PU-MU; Tue, 18 Jan 2022 06:16: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 1n9hnO-0006JY-A6; Tue, 18 Jan 2022 06:16:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n9hnO-0000nk-9c; Tue, 18 Jan 2022 06:16:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=JbjPV/9gb47sqDje6BytLsxr7FyEhR14OVcDVfsH+/Q=; b=T0a3vP6TN4yDv9cxlHHnydAyc0
	wzfuOHiFnJtpeGI+6hyRbatBdc4Mxz2MOTCeABXPisnrSvDFgpeU6mOTsl+s7LZuTsp6GoO89ItUv
	1OGDgln5e4H1UCxFk6qAf/JGFJQ5ztg1u3Q5PgtOst+1RvHbqrbm3SxIZfG6ROJpERtI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167726-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167726: trouble: broken/fail/pass
X-Osstest-Failures:
    qemu-mainline:test-armhf-armhf-xl:<job status>:broken:regression
    qemu-mainline:test-armhf-armhf-xl-credit1:<job status>:broken:regression
    qemu-mainline:test-armhf-armhf-xl-arndale:<job status>:broken:regression
    qemu-mainline:test-armhf-armhf-xl-credit1:host-install(5):broken:regression
    qemu-mainline:test-armhf-armhf-xl:host-install(5):broken:regression
    qemu-mainline:test-armhf-armhf-xl-arndale:host-install(5):broken: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-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt: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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt: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-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
    qemu-mainline:test-armhf-armhf-libvirt-qcow2: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
X-Osstest-Versions-This:
    qemuu=6621441db50d5bae7e34dbd04bf3c57a27a71b32
X-Osstest-Versions-That:
    qemuu=69353c332c558cead5f8081d0bb69f989fe33fa3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 18 Jan 2022 06:16:42 +0000

flight 167726 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167726/

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-credit1     <job status>                 broken
 test-armhf-armhf-xl-arndale     <job status>                 broken
 test-armhf-armhf-xl-credit1   5 host-install(5)        broken REGR. vs. 167717
 test-armhf-armhf-xl           5 host-install(5)        broken REGR. vs. 167717
 test-armhf-armhf-xl-arndale   5 host-install(5)        broken REGR. vs. 167717

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167717
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167717
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167717
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167717
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167717
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167717
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167717
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167717
 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-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-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     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-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                6621441db50d5bae7e34dbd04bf3c57a27a71b32
baseline version:
 qemuu                69353c332c558cead5f8081d0bb69f989fe33fa3

Last test of basis   167717  2022-01-16 20:38:21 Z    1 days
Testing same since   167724  2022-01-17 11:06:55 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  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                                          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-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                                  broken  
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-armhf-armhf-xl broken
broken-job test-armhf-armhf-xl-credit1 broken
broken-job test-armhf-armhf-xl-arndale broken
broken-step test-armhf-armhf-xl-credit1 host-install(5)
broken-step test-armhf-armhf-xl host-install(5)
broken-step test-armhf-armhf-xl-arndale host-install(5)

Not pushing.

------------------------------------------------------------
commit 6621441db50d5bae7e34dbd04bf3c57a27a71b32
Merge: 69353c332c 8d7ebae480
Author: Peter Maydell <peter.maydell@linaro.org>
Date:   Sun Jan 16 20:12:23 2022 +0000

    Merge remote-tracking branch 'remotes/mcayland/tags/qemu-openbios-20220115' into staging
    
    qemu-openbios queue
    
    # gpg: Signature made Sat 15 Jan 2022 17:35:58 GMT
    # gpg:                using RSA key CC621AB98E82200D915CC9C45BC2C56FAE0F321F
    # gpg:                issuer "mark.cave-ayland@ilande.co.uk"
    # gpg: Good signature from "Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>" [full]
    # Primary key fingerprint: CC62 1AB9 8E82 200D 915C  C9C4 5BC2 C56F AE0F 321F
    
    * remotes/mcayland/tags/qemu-openbios-20220115:
      roms/openbios: update OpenBIOS images to 04dfc98 built from submodule
    
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

commit 8d7ebae4803611ebd03096fc4804396add52ec62
Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Date:   Sat Jan 15 14:24:36 2022 +0000

    roms/openbios: update OpenBIOS images to 04dfc98 built from submodule
    
    Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 07:20:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 07:20:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258334.444673 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9in1-0001gi-Tp; Tue, 18 Jan 2022 07:20:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258334.444673; Tue, 18 Jan 2022 07:20: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 1n9in1-0001dt-Kd; Tue, 18 Jan 2022 07:20:23 +0000
Received: by outflank-mailman (input) for mailman id 258334;
 Tue, 18 Jan 2022 07:20:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lOsy=SC=bombadil.srs.infradead.org=BATV+4fe6c3c60fc7db690b35+6722+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1n9in0-0000in-66
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 07:20:22 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 181cb5ce-782f-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 08:20:21 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a4a9:19c0:5242:7768] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1n9imm-000ZQV-P6; Tue, 18 Jan 2022 07:20:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 181cb5ce-782f-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=3LrK4aJmaFdogyqU1iGTwXaIOJsn5a0nWoXb/YpJask=; b=KNudhAOw7DTMe6XsXH/e/L9NC0
	lIgpiaErW+1q93h9TlguceCMvn6UIwYBQdRO5+rWpWYaHOJY3Gie+fV3w5orS/YQ6F9SkoV//J3QP
	mvJQtuUVHj8TgBFxAKRBShjHZZG5SVwLEdSmUb068TvRzuCBGBLeH3SR1ehvfFaymPK6U5oNeMhpW
	UI0Lj+U5QhdJimAnsvITr83nfrhhxsXJnK+f/0SolPx1c6U2XlyKLq2dR2A/uQp7l4C4uL1cFQ8NY
	XnRnlPdgoomm10NOYJq86ix5gVFOiOEGV8Nw7u/Z3dMylHWz3aFJUTcAaK8EQNOs0CSN5wrqEvf0o
	IRmov4dA==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com
Subject: [PATCH 05/19] dm: bio_alloc can't fail if it is allowed to sleep
Date: Tue, 18 Jan 2022 08:19:38 +0100
Message-Id: <20220118071952.1243143-6-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220118071952.1243143-1-hch@lst.de>
References: <20220118071952.1243143-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

Remove handling of NULL returns from sleeping bio_alloc calls given that
those can't fail.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 drivers/md/dm-crypt.c          |  5 +----
 drivers/md/dm-log-writes.c     | 18 ------------------
 drivers/md/dm-thin.c           | 25 +++++++++----------------
 drivers/md/dm-zoned-metadata.c | 11 -----------
 drivers/md/dm.c                |  2 --
 5 files changed, 10 insertions(+), 51 deletions(-)

diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c
index d4ae31558826a..20abe3486aba1 100644
--- a/drivers/md/dm-crypt.c
+++ b/drivers/md/dm-crypt.c
@@ -1673,9 +1673,6 @@ static struct bio *crypt_alloc_buffer(struct dm_crypt_io *io, unsigned size)
 		mutex_lock(&cc->bio_alloc_lock);
 
 	clone = bio_alloc_bioset(GFP_NOIO, nr_iovecs, &cc->bs);
-	if (!clone)
-		goto out;
-
 	clone_init(io, clone);
 
 	remaining_size = size;
@@ -1702,7 +1699,7 @@ static struct bio *crypt_alloc_buffer(struct dm_crypt_io *io, unsigned size)
 		bio_put(clone);
 		clone = NULL;
 	}
-out:
+
 	if (unlikely(gfp_mask & __GFP_DIRECT_RECLAIM))
 		mutex_unlock(&cc->bio_alloc_lock);
 
diff --git a/drivers/md/dm-log-writes.c b/drivers/md/dm-log-writes.c
index 139b09b06eda9..25f5e8d2d417b 100644
--- a/drivers/md/dm-log-writes.c
+++ b/drivers/md/dm-log-writes.c
@@ -218,10 +218,6 @@ static int write_metadata(struct log_writes_c *lc, void *entry,
 	size_t ret;
 
 	bio = bio_alloc(GFP_KERNEL, 1);
-	if (!bio) {
-		DMERR("Couldn't alloc log bio");
-		goto error;
-	}
 	bio->bi_iter.bi_size = 0;
 	bio->bi_iter.bi_sector = sector;
 	bio_set_dev(bio, lc->logdev->bdev);
@@ -276,11 +272,6 @@ static int write_inline_data(struct log_writes_c *lc, void *entry,
 		atomic_inc(&lc->io_blocks);
 
 		bio = bio_alloc(GFP_KERNEL, bio_pages);
-		if (!bio) {
-			DMERR("Couldn't alloc inline data bio");
-			goto error;
-		}
-
 		bio->bi_iter.bi_size = 0;
 		bio->bi_iter.bi_sector = sector;
 		bio_set_dev(bio, lc->logdev->bdev);
@@ -322,7 +313,6 @@ static int write_inline_data(struct log_writes_c *lc, void *entry,
 error_bio:
 	bio_free_pages(bio);
 	bio_put(bio);
-error:
 	put_io_block(lc);
 	return -1;
 }
@@ -364,10 +354,6 @@ static int log_one_block(struct log_writes_c *lc,
 
 	atomic_inc(&lc->io_blocks);
 	bio = bio_alloc(GFP_KERNEL, bio_max_segs(block->vec_cnt));
-	if (!bio) {
-		DMERR("Couldn't alloc log bio");
-		goto error;
-	}
 	bio->bi_iter.bi_size = 0;
 	bio->bi_iter.bi_sector = sector;
 	bio_set_dev(bio, lc->logdev->bdev);
@@ -387,10 +373,6 @@ static int log_one_block(struct log_writes_c *lc,
 			submit_bio(bio);
 			bio = bio_alloc(GFP_KERNEL,
 					bio_max_segs(block->vec_cnt - i));
-			if (!bio) {
-				DMERR("Couldn't alloc log bio");
-				goto error;
-			}
 			bio->bi_iter.bi_size = 0;
 			bio->bi_iter.bi_sector = sector;
 			bio_set_dev(bio, lc->logdev->bdev);
diff --git a/drivers/md/dm-thin.c b/drivers/md/dm-thin.c
index ec119d2422d5d..76a9c2e9aeeea 100644
--- a/drivers/md/dm-thin.c
+++ b/drivers/md/dm-thin.c
@@ -1180,24 +1180,17 @@ static void process_prepared_discard_passdown_pt1(struct dm_thin_new_mapping *m)
 	}
 
 	discard_parent = bio_alloc(GFP_NOIO, 1);
-	if (!discard_parent) {
-		DMWARN("%s: unable to allocate top level discard bio for passdown. Skipping passdown.",
-		       dm_device_name(tc->pool->pool_md));
-		queue_passdown_pt2(m);
+	discard_parent->bi_end_io = passdown_endio;
+	discard_parent->bi_private = m;
 
-	} else {
-		discard_parent->bi_end_io = passdown_endio;
-		discard_parent->bi_private = m;
-
-		if (m->maybe_shared)
-			passdown_double_checking_shared_status(m, discard_parent);
-		else {
-			struct discard_op op;
+	if (m->maybe_shared)
+		passdown_double_checking_shared_status(m, discard_parent);
+	else {
+		struct discard_op op;
 
-			begin_discard(&op, tc, discard_parent);
-			r = issue_discard(&op, m->data_block, data_end);
-			end_discard(&op, r);
-		}
+		begin_discard(&op, tc, discard_parent);
+		r = issue_discard(&op, m->data_block, data_end);
+		end_discard(&op, r);
 	}
 }
 
diff --git a/drivers/md/dm-zoned-metadata.c b/drivers/md/dm-zoned-metadata.c
index ee4626d085574..5718b83cc7182 100644
--- a/drivers/md/dm-zoned-metadata.c
+++ b/drivers/md/dm-zoned-metadata.c
@@ -551,10 +551,6 @@ static struct dmz_mblock *dmz_get_mblock_slow(struct dmz_metadata *zmd,
 		return ERR_PTR(-ENOMEM);
 
 	bio = bio_alloc(GFP_NOIO, 1);
-	if (!bio) {
-		dmz_free_mblock(zmd, mblk);
-		return ERR_PTR(-ENOMEM);
-	}
 
 	spin_lock(&zmd->mblk_lock);
 
@@ -726,10 +722,6 @@ static int dmz_write_mblock(struct dmz_metadata *zmd, struct dmz_mblock *mblk,
 		return -EIO;
 
 	bio = bio_alloc(GFP_NOIO, 1);
-	if (!bio) {
-		set_bit(DMZ_META_ERROR, &mblk->state);
-		return -ENOMEM;
-	}
 
 	set_bit(DMZ_META_WRITING, &mblk->state);
 
@@ -760,9 +752,6 @@ static int dmz_rdwr_block(struct dmz_dev *dev, int op,
 		return -EIO;
 
 	bio = bio_alloc(GFP_NOIO, 1);
-	if (!bio)
-		return -ENOMEM;
-
 	bio->bi_iter.bi_sector = dmz_blk2sect(block);
 	bio_set_dev(bio, dev->bdev);
 	bio_set_op_attrs(bio, op, REQ_SYNC | REQ_META | REQ_PRIO);
diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index c0ae8087c6027..81449cbdafa81 100644
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -520,8 +520,6 @@ static struct dm_io *alloc_io(struct mapped_device *md, struct bio *bio)
 	struct bio *clone;
 
 	clone = bio_alloc_bioset(GFP_NOIO, 0, &md->io_bs);
-	if (!clone)
-		return NULL;
 
 	tio = container_of(clone, struct dm_target_io, clone);
 	tio->inside_dm_io = true;
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 07:20:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 07:20:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258331.444652 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9imz-0001FP-MI; Tue, 18 Jan 2022 07:20:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258331.444652; Tue, 18 Jan 2022 07:20:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9imz-0001FI-It; Tue, 18 Jan 2022 07:20:21 +0000
Received: by outflank-mailman (input) for mailman id 258331;
 Tue, 18 Jan 2022 07:20:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lOsy=SC=bombadil.srs.infradead.org=BATV+4fe6c3c60fc7db690b35+6722+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1n9imx-0000yV-Pk
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 07:20:19 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 12eb9183-782f-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 08:20:16 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a4a9:19c0:5242:7768] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1n9ime-000ZNW-EE; Tue, 18 Jan 2022 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>
X-Inumbo-ID: 12eb9183-782f-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=7QPyuzOR2N2LqXuXA08GkKhJ7fsHc2fxZXqTeovi8aQ=; b=mwLo7/0/BOPnfEnPa3xkh1wtp3
	15wY0VF1l5wgNEmlmFx9qahgWnFhyJl6myyHdYnnzRUVdOqVBkw7UQ2s8GiXprR+T/gsvB/2g/F5v
	UCaXHspI+nVqVsB58mvQw0HRJkvSn89DW90IDAfE05lkscu3Lf/H7fIN1bqOWBihdD4Tp5Ut6juFU
	WNJ1skjZ7Xkx6wUi1wozYtRk77Q0Gy2FFrBE57k2vN/cSiZKuWEEa/FwDkaLAeAptVbMHq6BGRtqX
	s60rfzBqA3qtv2QplYalZU7PGOtQaONd/6YhcyxH1JxZ9Vqhkoc/TOJtrX45PcQTGjUSplXja4jev
	6N8KX46Q==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com
Subject: [PATCH 02/19] nilfs2: remove nilfs_alloc_seg_bio
Date: Tue, 18 Jan 2022 08:19:35 +0100
Message-Id: <20220118071952.1243143-3-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220118071952.1243143-1-hch@lst.de>
References: <20220118071952.1243143-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

bio_alloc will never fail when it can sleep.  Remove the now simple
nilfs_alloc_seg_bio helper and open code it in the only caller.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 fs/nilfs2/segbuf.c | 31 ++++---------------------------
 1 file changed, 4 insertions(+), 27 deletions(-)

diff --git a/fs/nilfs2/segbuf.c b/fs/nilfs2/segbuf.c
index 43287b0d3e9b6..53b7c6d21cdd8 100644
--- a/fs/nilfs2/segbuf.c
+++ b/fs/nilfs2/segbuf.c
@@ -371,29 +371,6 @@ static int nilfs_segbuf_submit_bio(struct nilfs_segment_buffer *segbuf,
 	return err;
 }
 
-/**
- * nilfs_alloc_seg_bio - allocate a new bio for writing log
- * @nilfs: nilfs object
- * @start: start block number of the bio
- * @nr_vecs: request size of page vector.
- *
- * Return Value: On success, pointer to the struct bio is returned.
- * On error, NULL is returned.
- */
-static struct bio *nilfs_alloc_seg_bio(struct the_nilfs *nilfs, sector_t start,
-				       int nr_vecs)
-{
-	struct bio *bio;
-
-	bio = bio_alloc(GFP_NOIO, nr_vecs);
-	if (likely(bio)) {
-		bio_set_dev(bio, nilfs->ns_bdev);
-		bio->bi_iter.bi_sector =
-			start << (nilfs->ns_blocksize_bits - 9);
-	}
-	return bio;
-}
-
 static void nilfs_segbuf_prepare_write(struct nilfs_segment_buffer *segbuf,
 				       struct nilfs_write_info *wi)
 {
@@ -414,10 +391,10 @@ static int nilfs_segbuf_submit_bh(struct nilfs_segment_buffer *segbuf,
 	BUG_ON(wi->nr_vecs <= 0);
  repeat:
 	if (!wi->bio) {
-		wi->bio = nilfs_alloc_seg_bio(wi->nilfs, wi->blocknr + wi->end,
-					      wi->nr_vecs);
-		if (unlikely(!wi->bio))
-			return -ENOMEM;
+		wi->bio = bio_alloc(GFP_NOIO, wi->nr_vecs);
+		bio_set_dev(wi->bio, wi->nilfs->ns_bdev);
+		wi->bio->bi_iter.bi_sector = (wi->blocknr + wi->end) <<
+			(wi->nilfs->ns_blocksize_bits - 9);
 	}
 
 	len = bio_add_page(wi->bio, bh->b_page, bh->b_size, bh_offset(bh));
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 07:20:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 07:20:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258333.444668 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9in1-0001Zg-En; Tue, 18 Jan 2022 07:20:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258333.444668; Tue, 18 Jan 2022 07:20: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 1n9in1-0001YT-8f; Tue, 18 Jan 2022 07:20:23 +0000
Received: by outflank-mailman (input) for mailman id 258333;
 Tue, 18 Jan 2022 07:20:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lOsy=SC=bombadil.srs.infradead.org=BATV+4fe6c3c60fc7db690b35+6722+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1n9imz-0000yV-KR
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 07:20:21 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 12273454-782f-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 08:20:16 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a4a9:19c0:5242:7768] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1n9imY-000ZMt-Pw; Tue, 18 Jan 2022 07:19:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 12273454-782f-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:
	Content-ID:Content-Description:In-Reply-To:References;
	bh=ScaZLB316TNMvWwlnv9wxx+Nw6Jl5Gr2bEFrm1gsbik=; b=BupyQ2oy6Mma4oohnbl5wchvqn
	3INPpJTxm/BBRl/t9RkPSLYcWQ6Tvy9mp7Gzpm+0XfdyXm9hy+6uiWuICZ0q1Htk22k/y8teJsmRy
	nw8Hc+t8NG4FQ9e2WfSH1NeRblFTaCCb+c/YF/d96imGOThenihSDQYboiaLfULXj4JsMClr6UIC2
	s11FIUZL0uM0O8ZekMG/XIa8RcIHxEdXx1AN/Gr2+nctRFbtEvw5nrOcHvfJbu44bXeZ4pqAcEen2
	6t9X9ewQ0wSnc8nb+GPTsZ14BMHsGKj3UtRC/RIttaD3ZIJbgV3w5SGL7zPOcrWkOSQ9ru5hPGHW9
	ILp/Ph/Q==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com
Subject: improve the bio allocation interface
Date: Tue, 18 Jan 2022 08:19:33 +0100
Message-Id: <20220118071952.1243143-1-hch@lst.de>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

Hi Jens,

this series is posted early because it has wide-ranging changes and could use some
early ACKs before -rc1.

It changes the interface to the bio allocators to always pass a block_device and
the operation, which is information needed for every bio submitted through
bio_submit.  This means the fields can be directly initialized in bio_init instead
of first being zeroed and thus should help to micro-optimize even better than the
__bio_set_dev that Pavel proposed while also cleaning up code.

I have a follow on series to also deal with the bio cloning interfaces that need
even more love, and additional cleanups for the callers which might be material
for the next merge window.

Diffstat:
 block/bio.c                         |   73 ++++++++++++++++++++++++------------
 block/blk-flush.c                   |    4 -
 block/blk-lib.c                     |   32 ++-------------
 block/blk-zoned.c                   |   14 +-----
 block/blk.h                         |    2 
 block/bounce.c                      |    6 --
 block/fops.c                        |   35 +++++++----------
 drivers/block/drbd/drbd_actlog.c    |    5 --
 drivers/block/drbd/drbd_bitmap.c    |    7 +--
 drivers/block/drbd/drbd_receiver.c  |   31 +++------------
 drivers/block/floppy.c              |    4 -
 drivers/block/pktcdvd.c             |    8 ---
 drivers/block/rnbd/rnbd-srv-dev.c   |   61 ------------------------------
 drivers/block/rnbd/rnbd-srv-dev.h   |   18 --------
 drivers/block/rnbd/rnbd-srv.c       |   45 ++++++++--------------
 drivers/block/rnbd/rnbd-srv.h       |    1 
 drivers/block/xen-blkback/blkback.c |   25 ++----------
 drivers/block/zram/zram_drv.c       |   16 ++-----
 drivers/md/bcache/io.c              |    3 -
 drivers/md/bcache/journal.c         |   16 ++-----
 drivers/md/bcache/movinggc.c        |    4 -
 drivers/md/bcache/request.c         |   18 +++-----
 drivers/md/bcache/super.c           |    8 +--
 drivers/md/bcache/writeback.c       |    4 -
 drivers/md/dm-crypt.c               |   27 ++++---------
 drivers/md/dm-io.c                  |    5 --
 drivers/md/dm-log-writes.c          |   39 +++----------------
 drivers/md/dm-snap.c                |   21 ----------
 drivers/md/dm-thin.c                |   41 +++++---------------
 drivers/md/dm-writecache.c          |    7 +--
 drivers/md/dm-zoned-metadata.c      |   26 ++----------
 drivers/md/dm.c                     |   12 ++---
 drivers/md/md-multipath.c           |    2 
 drivers/md/md.c                     |   24 +++++------
 drivers/md/raid1.c                  |    8 +--
 drivers/md/raid10.c                 |   14 ++----
 drivers/md/raid5-cache.c            |   19 +++------
 drivers/md/raid5-ppl.c              |   13 ++----
 drivers/md/raid5.c                  |   12 ++---
 drivers/nvdimm/nd_virtio.c          |    6 +-
 drivers/nvme/target/io-cmd-bdev.c   |   18 +++-----
 drivers/nvme/target/passthru.c      |    7 +--
 drivers/nvme/target/zns.c           |   14 +++---
 drivers/scsi/ufs/ufshpb.c           |    4 -
 drivers/target/target_core_iblock.c |   11 +----
 fs/btrfs/disk-io.c                  |   10 +---
 fs/btrfs/extent_io.c                |    2 
 fs/buffer.c                         |   14 ++----
 fs/crypto/bio.c                     |   13 ++----
 fs/direct-io.c                      |    5 --
 fs/erofs/zdata.c                    |    5 --
 fs/ext4/page-io.c                   |    3 -
 fs/ext4/readpage.c                  |    8 +--
 fs/f2fs/data.c                      |    7 +--
 fs/gfs2/lops.c                      |    8 +--
 fs/gfs2/meta_io.c                   |    4 -
 fs/gfs2/ops_fstype.c                |    4 -
 fs/hfsplus/wrapper.c                |    4 -
 fs/iomap/buffered-io.c              |   26 +++++-------
 fs/iomap/direct-io.c                |    8 ---
 fs/jfs/jfs_logmgr.c                 |   11 -----
 fs/jfs/jfs_metapage.c               |    9 +---
 fs/mpage.c                          |   34 ++--------------
 fs/nfs/blocklayout/blocklayout.c    |   26 +-----------
 fs/nilfs2/segbuf.c                  |   31 +--------------
 fs/ntfs3/fsntfs.c                   |   27 -------------
 fs/ocfs2/cluster/heartbeat.c        |    4 -
 fs/squashfs/block.c                 |   11 ++---
 fs/xfs/xfs_bio_io.c                 |   14 ++----
 fs/xfs/xfs_buf.c                    |    4 -
 fs/xfs/xfs_log.c                    |   14 +++---
 fs/zonefs/super.c                   |    9 +---
 include/linux/bio.h                 |   30 ++++++--------
 kernel/power/swap.c                 |    5 --
 mm/page_io.c                        |   10 +---
 75 files changed, 372 insertions(+), 758 deletions(-)


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 07:20:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 07:20:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258329.444630 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9imv-0000j6-6V; Tue, 18 Jan 2022 07:20:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258329.444630; Tue, 18 Jan 2022 07: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 1n9imv-0000iz-2A; Tue, 18 Jan 2022 07:20:17 +0000
Received: by outflank-mailman (input) for mailman id 258329;
 Tue, 18 Jan 2022 07:20:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lOsy=SC=bombadil.srs.infradead.org=BATV+4fe6c3c60fc7db690b35+6722+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1n9imt-0000in-J2
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 07:20:16 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 12198dee-782f-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 08:20:12 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a4a9:19c0:5242:7768] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1n9imb-000ZN9-IU; Tue, 18 Jan 2022 07:19:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 12198dee-782f-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=YxQPbVqFWlutwQ2g8QVoc6P1c2MdSC28Qzk+anwg+hU=; b=Aj57TSt044wK2CCPLfgXb0ZAwk
	9mWJT/5UNCkKd3f1yXIMAN9xyDLJUu3QU7reZqN8AlrNxLUkACdZGVqWAyrPW2DXx4b56mN360ajs
	tnrM1tSyMJMrxuGoWL7slxfWQQoTCNIGc+Rce+QIvDGRGudY75/w9mNMqH7INE3qjcSL6PPIQSpar
	izSBzVi51KHPBDpVwknJRkLmOKFNYTbqx6opFFMC7PlZQEtbU/zkFVQ4suZAA2E9o65JtfCHUoPjI
	mvtq0z4UUf/AABSsCrJejqHjARkD7w5ZiIc7BbCbrPrVs9JefbbyVyP6CMS+regjgEJQy9onPqeWH
	P5XYqC+Q==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com
Subject: [PATCH 01/19] fs: remove mpage_alloc
Date: Tue, 18 Jan 2022 08:19:34 +0100
Message-Id: <20220118071952.1243143-2-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220118071952.1243143-1-hch@lst.de>
References: <20220118071952.1243143-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

open code mpage_alloc in it's two callers and simplify the results
because of the context:

 - __mpage_writepage always passes GFP_NOFS and can thus always sleep and
    will never get a NULL return from bio_alloc at all.
 - do_mpage_readpage can only get a non-sleeping context for readahead
   which never sets PF_MEMALLOC and thus doesn't need the retry loop
   either.

Both cases will never have __GFP_HIGH set.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 fs/mpage.c | 35 ++++++-----------------------------
 1 file changed, 6 insertions(+), 29 deletions(-)

diff --git a/fs/mpage.c b/fs/mpage.c
index 334e7d09aa652..c5817699b369b 100644
--- a/fs/mpage.c
+++ b/fs/mpage.c
@@ -67,29 +67,6 @@ static struct bio *mpage_bio_submit(int op, int op_flags, struct bio *bio)
 	return NULL;
 }
 
-static struct bio *
-mpage_alloc(struct block_device *bdev,
-		sector_t first_sector, int nr_vecs,
-		gfp_t gfp_flags)
-{
-	struct bio *bio;
-
-	/* Restrict the given (page cache) mask for slab allocations */
-	gfp_flags &= GFP_KERNEL;
-	bio = bio_alloc(gfp_flags, nr_vecs);
-
-	if (bio == NULL && (current->flags & PF_MEMALLOC)) {
-		while (!bio && (nr_vecs /= 2))
-			bio = bio_alloc(gfp_flags, nr_vecs);
-	}
-
-	if (bio) {
-		bio_set_dev(bio, bdev);
-		bio->bi_iter.bi_sector = first_sector;
-	}
-	return bio;
-}
-
 /*
  * support function for mpage_readahead.  The fs supplied get_block might
  * return an up to date buffer.  This is used to map that buffer into
@@ -303,10 +280,11 @@ static struct bio *do_mpage_readpage(struct mpage_readpage_args *args)
 								page))
 				goto out;
 		}
-		args->bio = mpage_alloc(bdev, blocks[0] << (blkbits - 9),
-					bio_max_segs(args->nr_pages), gfp);
+		args->bio = bio_alloc(gfp, bio_max_segs(args->nr_pages));
 		if (args->bio == NULL)
 			goto confused;
+		bio_set_dev(args->bio, bdev);
+		args->bio->bi_iter.bi_sector = blocks[0] << (blkbits - 9);
 	}
 
 	length = first_hole << blkbits;
@@ -615,10 +593,9 @@ static int __mpage_writepage(struct page *page, struct writeback_control *wbc,
 								page, wbc))
 				goto out;
 		}
-		bio = mpage_alloc(bdev, blocks[0] << (blkbits - 9),
-				BIO_MAX_VECS, GFP_NOFS|__GFP_HIGH);
-		if (bio == NULL)
-			goto confused;
+		bio = bio_alloc(GFP_NOFS, BIO_MAX_VECS);
+		bio_set_dev(bio, bdev);
+		bio->bi_iter.bi_sector = blocks[0] << (blkbits - 9);
 
 		wbc_init_bio(wbc, bio);
 		bio->bi_write_hint = inode->i_write_hint;
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 07:20:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 07:20:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258332.444663 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9in1-0001WQ-1u; Tue, 18 Jan 2022 07:20:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258332.444663; Tue, 18 Jan 2022 07:20: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 1n9in0-0001WG-U8; Tue, 18 Jan 2022 07:20:22 +0000
Received: by outflank-mailman (input) for mailman id 258332;
 Tue, 18 Jan 2022 07:20:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lOsy=SC=bombadil.srs.infradead.org=BATV+4fe6c3c60fc7db690b35+6722+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1n9imy-0000yV-Ko
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 07:20:20 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 15b5f1cb-782f-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 08:20:17 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a4a9:19c0:5242:7768] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1n9imh-000ZOH-7s; Tue, 18 Jan 2022 07:20: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: 15b5f1cb-782f-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=pMAOIxwEWgivE8T/8jAutxBqi67ojpc7aSJ9Dfvp1Nk=; b=kFKC1f6LHbffT6qzEiLaEuNO4Z
	y5Wa6DZ64ihxEa532MbgjcReTwtC60BjPLQEj05bs6YuEeVI3sM977SdQzX4xmobJdlgPZVs2xWyC
	EMJ38PRJqUFy7XNiizvMrGIgprvIHQUp93bgTey3sz0jg7eZMOPncNFBYMmaEZWsV/sf41kUB2N71
	F5CwruEap8s8xzf4gj6k+YJ16+23/Z0Hl+DOqrPk1VXeoCpYu2IIRMb8Gs68ph2j0gtiX2+uWw4CJ
	twPIBYTRWRfw9YLbtir6ZkrrfCdWs9qy8EIvSFTnNOFAOKv/ZGihXdRGCZZictQuPhGrpOtQoXsyI
	Sb9DHpsQ==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com
Subject: [PATCH 03/19] nfs/blocklayout: remove bl_alloc_init_bio
Date: Tue, 18 Jan 2022 08:19:36 +0100
Message-Id: <20220118071952.1243143-4-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220118071952.1243143-1-hch@lst.de>
References: <20220118071952.1243143-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

bio_alloc will never fail when it can sleep.  Remove the now simple
bl_alloc_init_bio helper and open code it in the only caller.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 fs/nfs/blocklayout/blocklayout.c | 26 +++++---------------------
 1 file changed, 5 insertions(+), 21 deletions(-)

diff --git a/fs/nfs/blocklayout/blocklayout.c b/fs/nfs/blocklayout/blocklayout.c
index fe860c5387476..38e063af7e98a 100644
--- a/fs/nfs/blocklayout/blocklayout.c
+++ b/fs/nfs/blocklayout/blocklayout.c
@@ -115,23 +115,6 @@ bl_submit_bio(struct bio *bio)
 	return NULL;
 }
 
-static struct bio *bl_alloc_init_bio(unsigned int npg,
-		struct block_device *bdev, sector_t disk_sector,
-		bio_end_io_t end_io, struct parallel_io *par)
-{
-	struct bio *bio;
-
-	npg = bio_max_segs(npg);
-	bio = bio_alloc(GFP_NOIO, npg);
-	if (bio) {
-		bio->bi_iter.bi_sector = disk_sector;
-		bio_set_dev(bio, bdev);
-		bio->bi_end_io = end_io;
-		bio->bi_private = par;
-	}
-	return bio;
-}
-
 static bool offset_in_map(u64 offset, struct pnfs_block_dev_map *map)
 {
 	return offset >= map->start && offset < map->start + map->len;
@@ -171,10 +154,11 @@ do_add_page_to_bio(struct bio *bio, int npg, int rw, sector_t isect,
 
 retry:
 	if (!bio) {
-		bio = bl_alloc_init_bio(npg, map->bdev,
-				disk_addr >> SECTOR_SHIFT, end_io, par);
-		if (!bio)
-			return ERR_PTR(-ENOMEM);
+		bio = bio_alloc(GFP_NOIO, bio_max_segs(npg));
+		bio->bi_iter.bi_sector = disk_addr >> SECTOR_SHIFT;
+		bio_set_dev(bio, map->bdev);
+		bio->bi_end_io = end_io;
+		bio->bi_private = par;
 		bio_set_op_attrs(bio, rw, 0);
 	}
 	if (bio_add_page(bio, page, *len, offset) < *len) {
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 07:20:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 07:20:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258336.444704 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9in4-0002Sw-KU; Tue, 18 Jan 2022 07:20:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258336.444704; Tue, 18 Jan 2022 07: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 1n9in4-0002SN-BJ; Tue, 18 Jan 2022 07:20:26 +0000
Received: by outflank-mailman (input) for mailman id 258336;
 Tue, 18 Jan 2022 07:20:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lOsy=SC=bombadil.srs.infradead.org=BATV+4fe6c3c60fc7db690b35+6722+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1n9in2-0000in-WB
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 07:20:24 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 19e04a26-782f-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 08:20:24 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a4a9:19c0:5242:7768] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1n9ims-000ZTk-8m; Tue, 18 Jan 2022 07: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>
X-Inumbo-ID: 19e04a26-782f-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=cyA51tgTzJ0oURPYTTRoUDyOePKkV9xxN4Hqcjy0whE=; b=EZc+81CnUzY0T30EvM67aJI3+z
	2rcuaMsV8QKya0T+YqJZdegYjqp1PSm05E4gs6vx0Jt/MxKpnwmJHh4/aNoyUrZeAM3Prtq2GFePM
	BO4MGJtNsAatp0/5dziB1d4d4st+oJrfBxUUJQAiYMZ+KJovpwX39qCF8yUJCa825KYnFVdItc84c
	6xLHv/tfE20kLMoMKZxyxrkM62nSchOu0k3vrL0A26HdUN1YMVExtPahqJQnW425+XQ2iIzCQWeK2
	IPoxv0wlF2h4cuNTWml1G6MmXXo4IVVe+Y5OHqJChA16e9zR2aTSMLwE+hPB4fTw4oRJEB6F4uarB
	D3MrbYJQ==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com
Subject: [PATCH 07/19] dm-snap: use blkdev_issue_flush instead of open coding it
Date: Tue, 18 Jan 2022 08:19:40 +0100
Message-Id: <20220118071952.1243143-8-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220118071952.1243143-1-hch@lst.de>
References: <20220118071952.1243143-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

Use blkdev_issue_flush, which uses an on-stack bio instead of an
opencoded version with a bio embedded into struct dm_snapshot.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 drivers/md/dm-snap.c | 21 +--------------------
 1 file changed, 1 insertion(+), 20 deletions(-)

diff --git a/drivers/md/dm-snap.c b/drivers/md/dm-snap.c
index dcf34c6b05ad3..0d336b5ec5714 100644
--- a/drivers/md/dm-snap.c
+++ b/drivers/md/dm-snap.c
@@ -141,11 +141,6 @@ struct dm_snapshot {
 	 * for them to be committed.
 	 */
 	struct bio_list bios_queued_during_merge;
-
-	/*
-	 * Flush data after merge.
-	 */
-	struct bio flush_bio;
 };
 
 /*
@@ -1127,17 +1122,6 @@ static void snapshot_merge_next_chunks(struct dm_snapshot *s)
 
 static void error_bios(struct bio *bio);
 
-static int flush_data(struct dm_snapshot *s)
-{
-	struct bio *flush_bio = &s->flush_bio;
-
-	bio_reset(flush_bio);
-	bio_set_dev(flush_bio, s->origin->bdev);
-	flush_bio->bi_opf = REQ_OP_WRITE | REQ_PREFLUSH;
-
-	return submit_bio_wait(flush_bio);
-}
-
 static void merge_callback(int read_err, unsigned long write_err, void *context)
 {
 	struct dm_snapshot *s = context;
@@ -1151,7 +1135,7 @@ static void merge_callback(int read_err, unsigned long write_err, void *context)
 		goto shut;
 	}
 
-	if (flush_data(s) < 0) {
+	if (blkdev_issue_flush(s->origin->bdev) < 0) {
 		DMERR("Flush after merge failed: shutting down merge");
 		goto shut;
 	}
@@ -1340,7 +1324,6 @@ static int snapshot_ctr(struct dm_target *ti, unsigned int argc, char **argv)
 	s->first_merging_chunk = 0;
 	s->num_merging_chunks = 0;
 	bio_list_init(&s->bios_queued_during_merge);
-	bio_init(&s->flush_bio, NULL, 0);
 
 	/* Allocate hash table for COW data */
 	if (init_hash_tables(s)) {
@@ -1528,8 +1511,6 @@ static void snapshot_dtr(struct dm_target *ti)
 
 	dm_exception_store_destroy(s->store);
 
-	bio_uninit(&s->flush_bio);
-
 	dm_put_device(ti, s->cow);
 
 	dm_put_device(ti, s->origin);
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 07:20:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 07:20:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258335.444681 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9in2-0001sT-IF; Tue, 18 Jan 2022 07:20:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258335.444681; Tue, 18 Jan 2022 07: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 1n9in2-0001oC-94; Tue, 18 Jan 2022 07:20:24 +0000
Received: by outflank-mailman (input) for mailman id 258335;
 Tue, 18 Jan 2022 07:20:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lOsy=SC=bombadil.srs.infradead.org=BATV+4fe6c3c60fc7db690b35+6722+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1n9in0-0000yV-Kj
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 07:20:22 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 184f05d2-782f-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 08:20:21 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a4a9:19c0:5242:7768] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1n9imp-000ZRg-HC; Tue, 18 Jan 2022 07:20:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 184f05d2-782f-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=NiiyVm7T1RSoly2lncOqK9SkmVJ5v0QSThOfEky6q20=; b=MpqAqQ8K5Fa6Y5wTGJl/gbG8OO
	dn6PaxcYnaVlNfT2mS1jeUKelsFExp+uG3u9mIvCpmas8BzQ0HJleX15bQnbvwePmlkVlO5W0vzSK
	HvgBfIGs0RGASj9FFd6sE8tJ4qfhkmRCextanNUhqXChTqh8JwFoHdtpflmklbp5zQYV6ZVzOyC1T
	pwKLY+kGCwUQFPrabqHRfoONsuU1ADJ9WWyYqDlTyqsbbVI8ypgDGmJbl8/GUeu7NuW8yznpIFL9H
	xC7HLvhlMXxb+qdKze/uBd+r7dTrjI/Jf8j/c9/dF2KRq4+f8hr1Qn1e+/PCC7wHouMmupch1ruki
	Eavz2L2w==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com
Subject: [PATCH 06/19] dm-crypt: remove clone_init
Date: Tue, 18 Jan 2022 08:19:39 +0100
Message-Id: <20220118071952.1243143-7-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220118071952.1243143-1-hch@lst.de>
References: <20220118071952.1243143-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

Just open code it next to the bio allocations, which saves a few lines
of code, prepares for future changes and allows to remove the duplicate
bi_opf assignment for the bio_clone_fast case in kcryptd_io_read.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 drivers/md/dm-crypt.c | 21 ++++++++-------------
 1 file changed, 8 insertions(+), 13 deletions(-)

diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c
index 20abe3486aba1..3c5ecd35d3483 100644
--- a/drivers/md/dm-crypt.c
+++ b/drivers/md/dm-crypt.c
@@ -234,7 +234,7 @@ static volatile unsigned long dm_crypt_pages_per_client;
 #define DM_CRYPT_MEMORY_PERCENT			2
 #define DM_CRYPT_MIN_PAGES_PER_CLIENT		(BIO_MAX_VECS * 16)
 
-static void clone_init(struct dm_crypt_io *, struct bio *);
+static void crypt_endio(struct bio *clone);
 static void kcryptd_queue_crypt(struct dm_crypt_io *io);
 static struct scatterlist *crypt_get_sg_data(struct crypt_config *cc,
 					     struct scatterlist *sg);
@@ -1673,7 +1673,10 @@ static struct bio *crypt_alloc_buffer(struct dm_crypt_io *io, unsigned size)
 		mutex_lock(&cc->bio_alloc_lock);
 
 	clone = bio_alloc_bioset(GFP_NOIO, nr_iovecs, &cc->bs);
-	clone_init(io, clone);
+	clone->bi_private = io;
+	clone->bi_end_io = crypt_endio;
+	bio_set_dev(clone, cc->dev->bdev);
+	clone->bi_opf = io->base_bio->bi_opf;
 
 	remaining_size = size;
 
@@ -1826,16 +1829,6 @@ static void crypt_endio(struct bio *clone)
 	crypt_dec_pending(io);
 }
 
-static void clone_init(struct dm_crypt_io *io, struct bio *clone)
-{
-	struct crypt_config *cc = io->cc;
-
-	clone->bi_private = io;
-	clone->bi_end_io  = crypt_endio;
-	bio_set_dev(clone, cc->dev->bdev);
-	clone->bi_opf	  = io->base_bio->bi_opf;
-}
-
 static int kcryptd_io_read(struct dm_crypt_io *io, gfp_t gfp)
 {
 	struct crypt_config *cc = io->cc;
@@ -1850,10 +1843,12 @@ static int kcryptd_io_read(struct dm_crypt_io *io, gfp_t gfp)
 	clone = bio_clone_fast(io->base_bio, gfp, &cc->bs);
 	if (!clone)
 		return 1;
+	clone->bi_private = io;
+	clone->bi_end_io = crypt_endio;
+	bio_set_dev(clone, cc->dev->bdev);
 
 	crypt_inc_pending(io);
 
-	clone_init(io, clone);
 	clone->bi_iter.bi_sector = cc->start + io->sector;
 
 	if (dm_crypt_integrity_io_alloc(io, clone)) {
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 07:20:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 07:20:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258330.444641 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9imy-0000yv-DE; Tue, 18 Jan 2022 07:20:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258330.444641; Tue, 18 Jan 2022 07:20:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9imy-0000yo-9k; Tue, 18 Jan 2022 07:20:20 +0000
Received: by outflank-mailman (input) for mailman id 258330;
 Tue, 18 Jan 2022 07:20:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lOsy=SC=bombadil.srs.infradead.org=BATV+4fe6c3c60fc7db690b35+6722+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1n9imx-0000yV-Bu
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 07:20:19 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 151d6247-782f-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 08:20:16 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a4a9:19c0:5242:7768] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1n9imk-000ZPF-0i; Tue, 18 Jan 2022 07:20:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 151d6247-782f-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=EcXfe+QJLbyEaBSYcI8IdLx+VpwVU+Twsx7L0heUO1Q=; b=Crht+UUgONjGH1v8HmgHBuR0Pw
	3+FhXNSZnyjRNWPG58Wm2G5KNvvpy1aGmBMUIrUK1u4m17TdekCh3eo0S2wKQYJJCbvDqXQsRo2wK
	voVwIithhKd6AwW1XgXVCGDM2qY6luEVdRs+f8pN0VmiQubGiTFrLb9HST+OMYWI2ooLOR0H3H2W4
	vveuXxxHUHwA+40YbvmOhhsxe1wU4IgQ9dJEnKgPFvwGnegPrJbbGgCJPHOwX/k9PMvLPupdzEJoQ
	dshYui2V9dLVx8Ag4GNgYySKuflXOClHoN9+HnAX1vSgCn5EnBRDfedOUMh6tHzNLJ5kJKsxDwFUO
	XkKnK+AQ==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com
Subject: [PATCH 04/19] ntfs3: remove ntfs_alloc_bio
Date: Tue, 18 Jan 2022 08:19:37 +0100
Message-Id: <20220118071952.1243143-5-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220118071952.1243143-1-hch@lst.de>
References: <20220118071952.1243143-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

bio_alloc will never fail if it is allowed to sleep, so there is no
need for this loop.  Also remove the __GFP_HIGH specifier as it doesn't
make sense here given that we'll always fall back to the mempool anyway.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 fs/ntfs3/fsntfs.c | 23 ++---------------------
 1 file changed, 2 insertions(+), 21 deletions(-)

diff --git a/fs/ntfs3/fsntfs.c b/fs/ntfs3/fsntfs.c
index 4de9acb169689..4a255e21ecf5f 100644
--- a/fs/ntfs3/fsntfs.c
+++ b/fs/ntfs3/fsntfs.c
@@ -1443,17 +1443,6 @@ int ntfs_write_bh(struct ntfs_sb_info *sbi, struct NTFS_RECORD_HEADER *rhdr,
 	return err;
 }
 
-static inline struct bio *ntfs_alloc_bio(u32 nr_vecs)
-{
-	struct bio *bio = bio_alloc(GFP_NOFS | __GFP_HIGH, nr_vecs);
-
-	if (!bio && (current->flags & PF_MEMALLOC)) {
-		while (!bio && (nr_vecs /= 2))
-			bio = bio_alloc(GFP_NOFS | __GFP_HIGH, nr_vecs);
-	}
-	return bio;
-}
-
 /*
  * ntfs_bio_pages - Read/write pages from/to disk.
  */
@@ -1496,11 +1485,7 @@ int ntfs_bio_pages(struct ntfs_sb_info *sbi, const struct runs_tree *run,
 		lbo = ((u64)lcn << cluster_bits) + off;
 		len = ((u64)clen << cluster_bits) - off;
 new_bio:
-		new = ntfs_alloc_bio(nr_pages - page_idx);
-		if (!new) {
-			err = -ENOMEM;
-			goto out;
-		}
+		new = bio_alloc(GFP_NOFS, nr_pages - page_idx);
 		if (bio) {
 			bio_chain(bio, new);
 			submit_bio(bio);
@@ -1599,11 +1584,7 @@ int ntfs_bio_fill_1(struct ntfs_sb_info *sbi, const struct runs_tree *run)
 		lbo = (u64)lcn << cluster_bits;
 		len = (u64)clen << cluster_bits;
 new_bio:
-		new = ntfs_alloc_bio(BIO_MAX_VECS);
-		if (!new) {
-			err = -ENOMEM;
-			break;
-		}
+		new = bio_alloc(GFP_NOFS, BIO_MAX_VECS);
 		if (bio) {
 			bio_chain(bio, new);
 			submit_bio(bio);
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 07:20:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 07:20:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258337.444717 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9in9-0003BL-VF; Tue, 18 Jan 2022 07:20:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258337.444717; Tue, 18 Jan 2022 07:20:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9in9-0003An-R6; Tue, 18 Jan 2022 07:20:31 +0000
Received: by outflank-mailman (input) for mailman id 258337;
 Tue, 18 Jan 2022 07:20:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lOsy=SC=bombadil.srs.infradead.org=BATV+4fe6c3c60fc7db690b35+6722+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1n9in8-0000yV-Mp
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 07:20:30 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1d399519-782f-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 08:20:30 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a4a9:19c0:5242:7768] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1n9imv-000ZUu-0D; Tue, 18 Jan 2022 07:20: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: 1d399519-782f-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=Mjlg0k+4PavheCjtECQRQWUa0Hx79sA/tX844Pch6ns=; b=J16yfBYxqMqCR4/icZDJD57u2j
	DA/h/Bvx6tp5hUWp6T5hIN6kAo0h81u7VB5vX2PJFYPbA5Jip0zIxH0QF77uc+wv3Tt3bQNqL9zpU
	Xw1J5pCKIH4fMZo0zDzehCBQK4ptMHCf/kurjvoKFxzlkJPj1x3WnU1HronoCcx+5iVomGRe0jbQ5
	+9TeZAxV9SZXRFSdLXyyweZa76qUuxS8EEF2auFQY5FdB6lJIdHPnVZG9tukiFG1EbWFY3JNY3gYZ
	aZzw30AY/9fH2bVgiL3+07XqlleukFPs4e5SlLWaCZ9yT49wuT1K5cXjvZftA2oHDecikY339m78F
	GsPtzqbw==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com
Subject: [PATCH 08/19] dm-thin: use blkdev_issue_flush instead of open coding it
Date: Tue, 18 Jan 2022 08:19:41 +0100
Message-Id: <20220118071952.1243143-9-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220118071952.1243143-1-hch@lst.de>
References: <20220118071952.1243143-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

Use blkdev_issue_flush, which uses an on-stack bio instead of an
opencoded version with a bio embedded into struct pool.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 drivers/md/dm-thin.c | 11 +----------
 1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/drivers/md/dm-thin.c b/drivers/md/dm-thin.c
index 76a9c2e9aeeea..411a3f56ed90c 100644
--- a/drivers/md/dm-thin.c
+++ b/drivers/md/dm-thin.c
@@ -282,8 +282,6 @@ struct pool {
 	struct dm_bio_prison_cell **cell_sort_array;
 
 	mempool_t mapping_pool;
-
-	struct bio flush_bio;
 };
 
 static void metadata_operation_failed(struct pool *pool, const char *op, int r);
@@ -2906,7 +2904,6 @@ static void __pool_destroy(struct pool *pool)
 	if (pool->next_mapping)
 		mempool_free(pool->next_mapping, &pool->mapping_pool);
 	mempool_exit(&pool->mapping_pool);
-	bio_uninit(&pool->flush_bio);
 	dm_deferred_set_destroy(pool->shared_read_ds);
 	dm_deferred_set_destroy(pool->all_io_ds);
 	kfree(pool);
@@ -2987,7 +2984,6 @@ static struct pool *pool_create(struct mapped_device *pool_md,
 	pool->low_water_triggered = false;
 	pool->suspended = true;
 	pool->out_of_data_space = false;
-	bio_init(&pool->flush_bio, NULL, 0);
 
 	pool->shared_read_ds = dm_deferred_set_create();
 	if (!pool->shared_read_ds) {
@@ -3194,13 +3190,8 @@ static void metadata_low_callback(void *context)
 static int metadata_pre_commit_callback(void *context)
 {
 	struct pool *pool = context;
-	struct bio *flush_bio = &pool->flush_bio;
-
-	bio_reset(flush_bio);
-	bio_set_dev(flush_bio, pool->data_dev);
-	flush_bio->bi_opf = REQ_OP_WRITE | REQ_PREFLUSH;
 
-	return submit_bio_wait(flush_bio);
+	return blkdev_issue_flush(pool->data_dev);
 }
 
 static sector_t get_dev_size(struct block_device *bdev)
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 07:20:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 07:20:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258338.444723 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9inA-0003Fz-Id; Tue, 18 Jan 2022 07:20:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258338.444723; Tue, 18 Jan 2022 07:20:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9inA-0003E5-7p; Tue, 18 Jan 2022 07:20:32 +0000
Received: by outflank-mailman (input) for mailman id 258338;
 Tue, 18 Jan 2022 07:20:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lOsy=SC=bombadil.srs.infradead.org=BATV+4fe6c3c60fc7db690b35+6722+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1n9in8-0000in-V9
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 07:20:30 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1d704ffd-782f-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 08:20:30 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a4a9:19c0:5242:7768] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1n9imx-000ZVy-OM; Tue, 18 Jan 2022 07:20:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1d704ffd-782f-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=4PJ62PiUSqVTEDu9t5XKsdWvml10LeApsJZhDuN6muM=; b=1E+EvGeCylmw2Vxy3ARjESgm0u
	xduERX2fZIaBPTxxD3bpnYc4v1N6UmjdrlzyCHGGfnsuxIuHLrKUXtO51CWfWIQAcVVwXLTh5FnlV
	Gt3+QjZJxoXDYS8TVAmqdcKUDIV4+4bkdbu/VIzMduOfwc6FPdWyp/Q+tvUuCWisZ4CCevQy56u1n
	fFFppvRSAhllXSRXrpSpzugykBDM+io31+WbLWv/f17f3bWqAcEeykuA1oh5iwqoomBJnvDjSSCmO
	2nt+odbBMt3GudvV8wNpiLLTQc/hG0kdLg0RiW3tYuoK2E3yolmAhAadHlKrfaIim1NoqZW6ynTHD
	H2w3iUtg==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com
Subject: [PATCH 09/19] drbd: bio_alloc can't fail if it is allow to sleep
Date: Tue, 18 Jan 2022 08:19:42 +0100
Message-Id: <20220118071952.1243143-10-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220118071952.1243143-1-hch@lst.de>
References: <20220118071952.1243143-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

Remove handling of NULL returns from sleeping bio_alloc calls given that
those can't fail.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 drivers/block/drbd/drbd_receiver.c | 21 ++++-----------------
 1 file changed, 4 insertions(+), 17 deletions(-)

diff --git a/drivers/block/drbd/drbd_receiver.c b/drivers/block/drbd/drbd_receiver.c
index 6df2539e215ba..90402abb77e93 100644
--- a/drivers/block/drbd/drbd_receiver.c
+++ b/drivers/block/drbd/drbd_receiver.c
@@ -1281,14 +1281,13 @@ static void submit_one_flush(struct drbd_device *device, struct issue_flush_cont
 {
 	struct bio *bio = bio_alloc(GFP_NOIO, 0);
 	struct one_flush_context *octx = kmalloc(sizeof(*octx), GFP_NOIO);
-	if (!bio || !octx) {
-		drbd_warn(device, "Could not allocate a bio, CANNOT ISSUE FLUSH\n");
+
+	if (!octx) {
+		drbd_warn(device, "Could not allocate a octx, CANNOT ISSUE FLUSH\n");
 		/* FIXME: what else can I do now?  disconnecting or detaching
 		 * really does not help to improve the state of the world, either.
 		 */
-		kfree(octx);
-		if (bio)
-			bio_put(bio);
+		bio_put(bio);
 
 		ctx->error = -ENOMEM;
 		put_ldev(device);
@@ -1688,10 +1687,6 @@ int drbd_submit_peer_request(struct drbd_device *device,
 	 */
 next_bio:
 	bio = bio_alloc(GFP_NOIO, nr_pages);
-	if (!bio) {
-		drbd_err(device, "submit_ee: Allocation of a bio failed (nr_pages=%u)\n", nr_pages);
-		goto fail;
-	}
 	/* > peer_req->i.sector, unless this is the first bio */
 	bio->bi_iter.bi_sector = sector;
 	bio_set_dev(bio, device->ldev->backing_bdev);
@@ -1726,14 +1721,6 @@ int drbd_submit_peer_request(struct drbd_device *device,
 		drbd_submit_bio_noacct(device, fault_type, bio);
 	} while (bios);
 	return 0;
-
-fail:
-	while (bios) {
-		bio = bios;
-		bios = bios->bi_next;
-		bio_put(bio);
-	}
-	return err;
 }
 
 static void drbd_remove_epoch_entry_interval(struct drbd_device *device,
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 07:20:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 07:20:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258341.444740 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9inF-00044t-Ux; Tue, 18 Jan 2022 07:20:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258341.444740; Tue, 18 Jan 2022 07:20:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9inF-00044P-Of; Tue, 18 Jan 2022 07:20:37 +0000
Received: by outflank-mailman (input) for mailman id 258341;
 Tue, 18 Jan 2022 07:20:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lOsy=SC=bombadil.srs.infradead.org=BATV+4fe6c3c60fc7db690b35+6722+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1n9inE-0000in-Eg
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 07:20:36 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 20997ad1-782f-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 08:20:35 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a4a9:19c0:5242:7768] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1n9in3-000ZZB-B2; Tue, 18 Jan 2022 07:20:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 20997ad1-782f-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=TFuNjWOQggavORrRfTn7QEkmrXfbLN3s/zkt8VyCKDo=; b=Fvxex5DsH2HLixCtNE6GaXHXb9
	eb7X5NVH/zze+9OO124Q4i5lHHHoeMesXRUX/dgTu29ulCwPgxNXffPl6B3NZ6+ioOSlkh86HS0fk
	Q7Tw7HDU3omZEoU8kOrSwmkcVbExIt+e86DNCb9PEHbk7OXYZc7yt4sI0kQFwiK7yweFAGuKVIhHL
	mQZjqe4oVLEIkcf+/7LI26JSHgA59iL5Fjf/fZvxUcfinpD69gHjFUEG/z/VdVix3LNL/1k8IwA68
	qfkuJh1GeEBZ+yutZdyTlncbQhqHUTUPql/cTKjNL/r/lYX76kz0BIBHTh53XgPEIpaB5iVK1Ya9J
	pAUyh75Q==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com
Subject: [PATCH 11/19] rnbd-src: remove struct rnbd_dev_blk_io
Date: Tue, 18 Jan 2022 08:19:44 +0100
Message-Id: <20220118071952.1243143-12-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220118071952.1243143-1-hch@lst.de>
References: <20220118071952.1243143-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

Only the priv field of rnbd_dev_blk_io is used, so store the value of
that in bio->bi_private directly and remove the entire bio_set overhead.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 drivers/block/rnbd/rnbd-srv-dev.c |  4 +---
 drivers/block/rnbd/rnbd-srv-dev.h | 13 ++-----------
 drivers/block/rnbd/rnbd-srv.c     | 30 +++++-------------------------
 drivers/block/rnbd/rnbd-srv.h     |  1 -
 4 files changed, 8 insertions(+), 40 deletions(-)

diff --git a/drivers/block/rnbd/rnbd-srv-dev.c b/drivers/block/rnbd/rnbd-srv-dev.c
index 98d3e591a0885..c5d0a03911659 100644
--- a/drivers/block/rnbd/rnbd-srv-dev.c
+++ b/drivers/block/rnbd/rnbd-srv-dev.c
@@ -12,8 +12,7 @@
 #include "rnbd-srv-dev.h"
 #include "rnbd-log.h"
 
-struct rnbd_dev *rnbd_dev_open(const char *path, fmode_t flags,
-			       struct bio_set *bs)
+struct rnbd_dev *rnbd_dev_open(const char *path, fmode_t flags)
 {
 	struct rnbd_dev *dev;
 	int ret;
@@ -30,7 +29,6 @@ struct rnbd_dev *rnbd_dev_open(const char *path, fmode_t flags,
 
 	dev->blk_open_flags = flags;
 	bdevname(dev->bdev, dev->name);
-	dev->ibd_bio_set = bs;
 
 	return dev;
 
diff --git a/drivers/block/rnbd/rnbd-srv-dev.h b/drivers/block/rnbd/rnbd-srv-dev.h
index 1a14ece0be726..2c3df02b5e8ec 100644
--- a/drivers/block/rnbd/rnbd-srv-dev.h
+++ b/drivers/block/rnbd/rnbd-srv-dev.h
@@ -14,25 +14,16 @@
 
 struct rnbd_dev {
 	struct block_device	*bdev;
-	struct bio_set		*ibd_bio_set;
 	fmode_t			blk_open_flags;
 	char			name[BDEVNAME_SIZE];
 };
 
-struct rnbd_dev_blk_io {
-	struct rnbd_dev *dev;
-	void		 *priv;
-	/* have to be last member for front_pad usage of bioset_init */
-	struct bio	bio;
-};
-
 /**
  * rnbd_dev_open() - Open a device
+ * @path:	path to open
  * @flags:	open flags
- * @bs:		bio_set to use during block io,
  */
-struct rnbd_dev *rnbd_dev_open(const char *path, fmode_t flags,
-			       struct bio_set *bs);
+struct rnbd_dev *rnbd_dev_open(const char *path, fmode_t flags);
 
 /**
  * rnbd_dev_close() - Close a device
diff --git a/drivers/block/rnbd/rnbd-srv.c b/drivers/block/rnbd/rnbd-srv.c
index 65c670e96075b..b1ac1414b56d5 100644
--- a/drivers/block/rnbd/rnbd-srv.c
+++ b/drivers/block/rnbd/rnbd-srv.c
@@ -116,9 +116,7 @@ rnbd_get_sess_dev(int dev_id, struct rnbd_srv_session *srv_sess)
 
 static void rnbd_dev_bi_end_io(struct bio *bio)
 {
-	struct rnbd_dev_blk_io *io = bio->bi_private;
-
-	rnbd_endio(io->priv, blk_status_to_errno(bio->bi_status));
+	rnbd_endio(bio->bi_private, blk_status_to_errno(bio->bi_status));
 	bio_put(bio);
 }
 
@@ -131,7 +129,6 @@ static int process_rdma(struct rnbd_srv_session *srv_sess,
 	struct rnbd_srv_sess_dev *sess_dev;
 	u32 dev_id;
 	int err;
-	struct rnbd_dev_blk_io *io;
 	struct bio *bio;
 	short prio;
 
@@ -152,20 +149,16 @@ static int process_rdma(struct rnbd_srv_session *srv_sess,
 	priv->sess_dev = sess_dev;
 	priv->id = id;
 
-	bio = bio_alloc_bioset(GFP_KERNEL, 1, sess_dev->rnbd_dev->ibd_bio_set);
+	bio = bio_alloc(GFP_KERNEL, 1);
 	if (bio_add_page(bio, virt_to_page(data), datalen,
 			offset_in_page(data))) {
 		rnbd_srv_err(sess_dev, "Failed to map data to bio\n");
 		err = -EINVAL;
-		goto sess_dev_put;
+		goto bio_put;
 	}
 
-	io = container_of(bio, struct rnbd_dev_blk_io, bio);
-	io->dev = sess_dev->rnbd_dev;
-	io->priv = priv;
-
 	bio->bi_end_io = rnbd_dev_bi_end_io;
-	bio->bi_private = io;
+	bio->bi_private = priv;
 	bio->bi_opf = rnbd_to_bio_flags(le32_to_cpu(msg->rw));
 	bio->bi_iter.bi_sector = le64_to_cpu(msg->sector);
 	bio->bi_iter.bi_size = le32_to_cpu(msg->bi_size);
@@ -180,7 +173,6 @@ static int process_rdma(struct rnbd_srv_session *srv_sess,
 
 bio_put:
 	bio_put(bio);
-sess_dev_put:
 	rnbd_put_sess_dev(sess_dev);
 err:
 	kfree(priv);
@@ -261,7 +253,6 @@ static void destroy_sess(struct rnbd_srv_session *srv_sess)
 
 out:
 	xa_destroy(&srv_sess->index_idr);
-	bioset_exit(&srv_sess->sess_bio_set);
 
 	pr_info("RTRS Session %s disconnected\n", srv_sess->sessname);
 
@@ -290,16 +281,6 @@ static int create_sess(struct rtrs_srv_sess *rtrs)
 		return -ENOMEM;
 
 	srv_sess->queue_depth = rtrs_srv_get_queue_depth(rtrs);
-	err = bioset_init(&srv_sess->sess_bio_set, srv_sess->queue_depth,
-			  offsetof(struct rnbd_dev_blk_io, bio),
-			  BIOSET_NEED_BVECS);
-	if (err) {
-		pr_err("Allocating srv_session for path %s failed\n",
-		       pathname);
-		kfree(srv_sess);
-		return err;
-	}
-
 	xa_init_flags(&srv_sess->index_idr, XA_FLAGS_ALLOC);
 	INIT_LIST_HEAD(&srv_sess->sess_dev_list);
 	mutex_init(&srv_sess->lock);
@@ -748,8 +729,7 @@ static int process_msg_open(struct rnbd_srv_session *srv_sess,
 		goto reject;
 	}
 
-	rnbd_dev = rnbd_dev_open(full_path, open_flags,
-				 &srv_sess->sess_bio_set);
+	rnbd_dev = rnbd_dev_open(full_path, open_flags);
 	if (IS_ERR(rnbd_dev)) {
 		pr_err("Opening device '%s' on session %s failed, failed to open the block device, err: %ld\n",
 		       full_path, srv_sess->sessname, PTR_ERR(rnbd_dev));
diff --git a/drivers/block/rnbd/rnbd-srv.h b/drivers/block/rnbd/rnbd-srv.h
index e5604bce123ab..be2ae486d407e 100644
--- a/drivers/block/rnbd/rnbd-srv.h
+++ b/drivers/block/rnbd/rnbd-srv.h
@@ -23,7 +23,6 @@ struct rnbd_srv_session {
 	struct rtrs_srv_sess	*rtrs;
 	char			sessname[NAME_MAX];
 	int			queue_depth;
-	struct bio_set		sess_bio_set;
 
 	struct xarray		index_idr;
 	/* List of struct rnbd_srv_sess_dev */
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 07:20:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 07:20:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258342.444743 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9inG-0004DD-Gx; Tue, 18 Jan 2022 07:20:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258342.444743; Tue, 18 Jan 2022 07: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 1n9inG-0004BX-8A; Tue, 18 Jan 2022 07:20:38 +0000
Received: by outflank-mailman (input) for mailman id 258342;
 Tue, 18 Jan 2022 07:20:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lOsy=SC=bombadil.srs.infradead.org=BATV+4fe6c3c60fc7db690b35+6722+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1n9inE-0000yV-T4
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 07:20:37 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1ffd9e23-782f-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 08:20:34 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a4a9:19c0:5242:7768] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1n9in0-000ZXZ-GY; Tue, 18 Jan 2022 07:20:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1ffd9e23-782f-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=f2brK3c1r//byFNtb7H+AigJJebcgGaABpKjDxFp+eg=; b=u24yUmqxGf8p+pGDi/NFrHE6oM
	tiw9ctFdhfoYibfXwKUv3fIcDXOsDIFrGfOv4Px/yVVx5O3fJemb3jHK0ChVy2Zxxdw2O6vKLCjAu
	vWPIJnLQVQWOcBFRlCPyeoMNOO+Q4CVRU5MshJ99sGKuBHaPT4SgFnhjNMaD7dJRzew884XXg2d9u
	Z3KM/jwMW5XPRrVcvPhZ9TybnvF7+PrdUAiM57Ba/ijIX/UdOixiz9iNq2ll6gZU0zcT5QK/+NTDA
	13wiEXXo+DkO28tZczO8n6Z7sN3wC80auX/loORY0ucWpLjKoQNWoO0hfZJinRZxFQ+vnhVO9NB8D
	+pBCOQ6A==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com
Subject: [PATCH 10/19] rnbd-srv: simplify bio mapping in process_rdma
Date: Tue, 18 Jan 2022 08:19:43 +0100
Message-Id: <20220118071952.1243143-11-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220118071952.1243143-1-hch@lst.de>
References: <20220118071952.1243143-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

The memory mapped in process_rdma is contiguous, so there is no need
to loop over bio_add_page.  Remove rnbd_bio_map_kern and just open code
the bio allocation and mapping in the caller.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 drivers/block/rnbd/rnbd-srv-dev.c | 57 -------------------------------
 drivers/block/rnbd/rnbd-srv-dev.h |  5 ---
 drivers/block/rnbd/rnbd-srv.c     | 20 ++++++++---
 3 files changed, 15 insertions(+), 67 deletions(-)

diff --git a/drivers/block/rnbd/rnbd-srv-dev.c b/drivers/block/rnbd/rnbd-srv-dev.c
index b241a099aeae2..98d3e591a0885 100644
--- a/drivers/block/rnbd/rnbd-srv-dev.c
+++ b/drivers/block/rnbd/rnbd-srv-dev.c
@@ -44,60 +44,3 @@ void rnbd_dev_close(struct rnbd_dev *dev)
 	blkdev_put(dev->bdev, dev->blk_open_flags);
 	kfree(dev);
 }
-
-void rnbd_dev_bi_end_io(struct bio *bio)
-{
-	struct rnbd_dev_blk_io *io = bio->bi_private;
-
-	rnbd_endio(io->priv, blk_status_to_errno(bio->bi_status));
-	bio_put(bio);
-}
-
-/**
- *	rnbd_bio_map_kern	-	map kernel address into bio
- *	@data: pointer to buffer to map
- *	@bs: bio_set to use.
- *	@len: length in bytes
- *	@gfp_mask: allocation flags for bio allocation
- *
- *	Map the kernel address into a bio suitable for io to a block
- *	device. Returns an error pointer in case of error.
- */
-struct bio *rnbd_bio_map_kern(void *data, struct bio_set *bs,
-			      unsigned int len, gfp_t gfp_mask)
-{
-	unsigned long kaddr = (unsigned long)data;
-	unsigned long end = (kaddr + len + PAGE_SIZE - 1) >> PAGE_SHIFT;
-	unsigned long start = kaddr >> PAGE_SHIFT;
-	const int nr_pages = end - start;
-	int offset, i;
-	struct bio *bio;
-
-	bio = bio_alloc_bioset(gfp_mask, nr_pages, bs);
-	if (!bio)
-		return ERR_PTR(-ENOMEM);
-
-	offset = offset_in_page(kaddr);
-	for (i = 0; i < nr_pages; i++) {
-		unsigned int bytes = PAGE_SIZE - offset;
-
-		if (len <= 0)
-			break;
-
-		if (bytes > len)
-			bytes = len;
-
-		if (bio_add_page(bio, virt_to_page(data), bytes,
-				    offset) < bytes) {
-			/* we don't support partial mappings */
-			bio_put(bio);
-			return ERR_PTR(-EINVAL);
-		}
-
-		data += bytes;
-		len -= bytes;
-		offset = 0;
-	}
-
-	return bio;
-}
diff --git a/drivers/block/rnbd/rnbd-srv-dev.h b/drivers/block/rnbd/rnbd-srv-dev.h
index 0eb23850afb95..1a14ece0be726 100644
--- a/drivers/block/rnbd/rnbd-srv-dev.h
+++ b/drivers/block/rnbd/rnbd-srv-dev.h
@@ -41,11 +41,6 @@ void rnbd_dev_close(struct rnbd_dev *dev);
 
 void rnbd_endio(void *priv, int error);
 
-void rnbd_dev_bi_end_io(struct bio *bio);
-
-struct bio *rnbd_bio_map_kern(void *data, struct bio_set *bs,
-			      unsigned int len, gfp_t gfp_mask);
-
 static inline int rnbd_dev_get_max_segs(const struct rnbd_dev *dev)
 {
 	return queue_max_segments(bdev_get_queue(dev->bdev));
diff --git a/drivers/block/rnbd/rnbd-srv.c b/drivers/block/rnbd/rnbd-srv.c
index 1ee808fc600cf..65c670e96075b 100644
--- a/drivers/block/rnbd/rnbd-srv.c
+++ b/drivers/block/rnbd/rnbd-srv.c
@@ -114,6 +114,14 @@ rnbd_get_sess_dev(int dev_id, struct rnbd_srv_session *srv_sess)
 	return sess_dev;
 }
 
+static void rnbd_dev_bi_end_io(struct bio *bio)
+{
+	struct rnbd_dev_blk_io *io = bio->bi_private;
+
+	rnbd_endio(io->priv, blk_status_to_errno(bio->bi_status));
+	bio_put(bio);
+}
+
 static int process_rdma(struct rnbd_srv_session *srv_sess,
 			struct rtrs_srv_op *id, void *data, u32 datalen,
 			const void *usr, size_t usrlen)
@@ -144,11 +152,11 @@ static int process_rdma(struct rnbd_srv_session *srv_sess,
 	priv->sess_dev = sess_dev;
 	priv->id = id;
 
-	/* Generate bio with pages pointing to the rdma buffer */
-	bio = rnbd_bio_map_kern(data, sess_dev->rnbd_dev->ibd_bio_set, datalen, GFP_KERNEL);
-	if (IS_ERR(bio)) {
-		err = PTR_ERR(bio);
-		rnbd_srv_err(sess_dev, "Failed to generate bio, err: %d\n", err);
+	bio = bio_alloc_bioset(GFP_KERNEL, 1, sess_dev->rnbd_dev->ibd_bio_set);
+	if (bio_add_page(bio, virt_to_page(data), datalen,
+			offset_in_page(data))) {
+		rnbd_srv_err(sess_dev, "Failed to map data to bio\n");
+		err = -EINVAL;
 		goto sess_dev_put;
 	}
 
@@ -170,6 +178,8 @@ static int process_rdma(struct rnbd_srv_session *srv_sess,
 
 	return 0;
 
+bio_put:
+	bio_put(bio);
 sess_dev_put:
 	rnbd_put_sess_dev(sess_dev);
 err:
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 07:20:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 07:20:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258348.444762 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9inL-00058o-Bn; Tue, 18 Jan 2022 07:20:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258348.444762; Tue, 18 Jan 2022 07:20: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 1n9inL-00057z-2y; Tue, 18 Jan 2022 07:20:43 +0000
Received: by outflank-mailman (input) for mailman id 258348;
 Tue, 18 Jan 2022 07:20:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lOsy=SC=bombadil.srs.infradead.org=BATV+4fe6c3c60fc7db690b35+6722+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1n9inJ-0000yV-QP
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 07:20:41 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 23e91074-782f-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 08:20:41 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a4a9:19c0:5242:7768] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1n9in9-000Zd8-0E; Tue, 18 Jan 2022 07:20:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 23e91074-782f-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=RX0A67Z5lXd5GUygO0wrcZQvzaCMySR9CjBx906FeWo=; b=IsOgWQqM0RaGunI1SaCITwAnqb
	RpbPQlarkaevYy0aX2Swx1quQ9t8AB62WCRMZjYW6SuVsikXkDcnaDhEznC8sI388BOxrjs8GsLT/
	GW9QloSqKj0ccXbh/KCZlmgwRTGnnRlCqSWn/+IlPXwlbgxMN6IE2hAJYG4tJa2OchZm/pxRxKeTo
	3jkIwzknvQl02ek9uCzvqJSMxXp00ch06L74ynIJH1rh1keoTo/OJzKhPWXhQZCCZq1ebVWSu4bV5
	aH8Q/y0znAaQGAjAWmFBZBhOXDRxGBcw+wkD+OFf/TEeM34PxhIsl8SIssCM2WQaa8ZjDST8ZWZwe
	Y2IzxOhQ==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com
Subject: [PATCH 13/19] block: move blk_next_bio to bio.c
Date: Tue, 18 Jan 2022 08:19:46 +0100
Message-Id: <20220118071952.1243143-14-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220118071952.1243143-1-hch@lst.de>
References: <20220118071952.1243143-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

Keep blk_next_bio next to the core bio infrastructure.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 block/bio.c     | 13 +++++++++++++
 block/blk-lib.c | 13 -------------
 2 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/block/bio.c b/block/bio.c
index 0d400ba2dbd18..43fb28ac6b44e 100644
--- a/block/bio.c
+++ b/block/bio.c
@@ -344,6 +344,19 @@ void bio_chain(struct bio *bio, struct bio *parent)
 }
 EXPORT_SYMBOL(bio_chain);
 
+struct bio *blk_next_bio(struct bio *bio, unsigned int nr_pages, gfp_t gfp)
+{
+	struct bio *new = bio_alloc(gfp, nr_pages);
+
+	if (bio) {
+		bio_chain(bio, new);
+		submit_bio(bio);
+	}
+
+	return new;
+}
+EXPORT_SYMBOL_GPL(blk_next_bio);
+
 static void bio_alloc_rescue(struct work_struct *work)
 {
 	struct bio_set *bs = container_of(work, struct bio_set, rescue_work);
diff --git a/block/blk-lib.c b/block/blk-lib.c
index 9f09beadcbe30..9245b300ef73e 100644
--- a/block/blk-lib.c
+++ b/block/blk-lib.c
@@ -10,19 +10,6 @@
 
 #include "blk.h"
 
-struct bio *blk_next_bio(struct bio *bio, unsigned int nr_pages, gfp_t gfp)
-{
-	struct bio *new = bio_alloc(gfp, nr_pages);
-
-	if (bio) {
-		bio_chain(bio, new);
-		submit_bio(bio);
-	}
-
-	return new;
-}
-EXPORT_SYMBOL_GPL(blk_next_bio);
-
 int __blkdev_issue_discard(struct block_device *bdev, sector_t sector,
 		sector_t nr_sects, gfp_t gfp_mask, int flags,
 		struct bio **biop)
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 07:27:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 07:27:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258350.444773 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9itU-0008Tk-8z; Tue, 18 Jan 2022 07:27:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258350.444773; Tue, 18 Jan 2022 07:27:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9itU-0008Td-61; Tue, 18 Jan 2022 07:27:04 +0000
Received: by outflank-mailman (input) for mailman id 258350;
 Tue, 18 Jan 2022 07:27:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lOsy=SC=bombadil.srs.infradead.org=BATV+4fe6c3c60fc7db690b35+6722+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1n9inb-0000yV-7e
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 07:20:59 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2cfacd05-782f-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 08:20:56 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a4a9:19c0:5242:7768] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1n9inK-000ZjR-B3; Tue, 18 Jan 2022 07:20: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: 2cfacd05-782f-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=ToFav9PariBrHKkyOiW5b01dl7TKFglZQPKYUGLBuHk=; b=uiqQDDbtwkLviA5zBkbcQf7c0C
	8zMivXfoJx9O83epl8nkpTjyhK1C3QIjQbfg0lWoIe48kZHlzJipX6Xh9namDbhlyux9oDBcxzjJT
	txNZ+2IdLk7WA0PWTKofOvXzEpJSx/bMPyDaXP7NrKbn+XXdGiR8VAyiRilVnDCWIWHmjR7cvK1wa
	JQh+vBrgdsQ5Gc7Z+TnAk6ScNXfWqgr+d5g0332M11w/kKR3ko6pQAq/JElHyaSvrhqFyl4Ouxmlm
	4khXxsrsLBt5D5jytOPss9ccEVrVVcGo0TzQ34INNLC8E+8zHmM4+yJXhHjGRd33942k0+QrbP8hM
	knDH9/AA==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com
Subject: [PATCH 17/19] block: pass a block_device and opf to bio_alloc
Date: Tue, 18 Jan 2022 08:19:50 +0100
Message-Id: <20220118071952.1243143-18-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220118071952.1243143-1-hch@lst.de>
References: <20220118071952.1243143-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

Pass the block_device and operation that we plan to use this bio for to
bio_alloc to optimize the assigment.  NULL/0 can be passed, both for the
passthrough case on a raw request_queue and to temporarily avoid
refactoring some nasty code.

Also move the gfp_mask argument after the nr_vecs argument for a much
more logical calling convention matching what most of the kernel does.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 block/bio.c                         |  5 +----
 block/fops.c                        |  4 +---
 drivers/block/drbd/drbd_receiver.c  | 10 ++++------
 drivers/block/rnbd/rnbd-srv.c       |  5 ++---
 drivers/block/xen-blkback/blkback.c | 11 +++++------
 drivers/block/zram/zram_drv.c       | 11 ++++-------
 drivers/md/dm-log-writes.c          | 21 ++++++++-------------
 drivers/md/dm-thin.c                |  9 ++++-----
 drivers/md/dm-zoned-metadata.c      | 15 ++++++---------
 drivers/nvdimm/nd_virtio.c          |  6 +++---
 drivers/nvme/target/io-cmd-bdev.c   | 12 ++++++------
 drivers/nvme/target/passthru.c      |  5 +++--
 drivers/nvme/target/zns.c           |  6 +++---
 drivers/scsi/ufs/ufshpb.c           |  4 ++--
 drivers/target/target_core_iblock.c |  5 ++---
 fs/btrfs/disk-io.c                  |  6 +++---
 fs/buffer.c                         | 14 ++++++--------
 fs/crypto/bio.c                     | 13 +++++++------
 fs/direct-io.c                      |  5 +----
 fs/erofs/zdata.c                    |  5 ++---
 fs/ext4/page-io.c                   |  3 +--
 fs/ext4/readpage.c                  |  8 ++++----
 fs/gfs2/lops.c                      |  8 +++-----
 fs/gfs2/meta_io.c                   |  4 +---
 fs/gfs2/ops_fstype.c                |  4 +---
 fs/hfsplus/wrapper.c                |  4 +---
 fs/iomap/buffered-io.c              | 16 ++++++++--------
 fs/iomap/direct-io.c                |  8 ++------
 fs/jfs/jfs_logmgr.c                 | 11 ++---------
 fs/jfs/jfs_metapage.c               |  9 +++------
 fs/mpage.c                          |  7 +++----
 fs/nfs/blocklayout/blocklayout.c    |  4 +---
 fs/nilfs2/segbuf.c                  |  4 ++--
 fs/ntfs3/fsntfs.c                   |  8 ++------
 fs/ocfs2/cluster/heartbeat.c        |  4 +---
 fs/squashfs/block.c                 | 11 ++++++-----
 fs/xfs/xfs_bio_io.c                 | 10 ++++------
 fs/xfs/xfs_buf.c                    |  4 +---
 fs/zonefs/super.c                   |  5 ++---
 include/linux/bio.h                 |  5 +++--
 kernel/power/swap.c                 |  5 ++---
 mm/page_io.c                        | 10 ++++------
 42 files changed, 130 insertions(+), 194 deletions(-)

diff --git a/block/bio.c b/block/bio.c
index 8853ed6260cfd..5c97f56c1ee50 100644
--- a/block/bio.c
+++ b/block/bio.c
@@ -347,10 +347,7 @@ EXPORT_SYMBOL(bio_chain);
 struct bio *blk_next_bio(struct bio *bio, struct block_device *bdev,
 		unsigned int nr_pages, unsigned int opf, gfp_t gfp)
 {
-	struct bio *new = bio_alloc(gfp, nr_pages);
-
-	bio_set_dev(new, bdev);
-	new->bi_opf = opf;
+	struct bio *new = bio_alloc(bdev, nr_pages, opf, gfp);
 
 	if (bio) {
 		bio_chain(bio, new);
diff --git a/block/fops.c b/block/fops.c
index 3a62b8b912750..c683596847731 100644
--- a/block/fops.c
+++ b/block/fops.c
@@ -256,9 +256,7 @@ static ssize_t __blkdev_direct_IO(struct kiocb *iocb, struct iov_iter *iter,
 		}
 		atomic_inc(&dio->ref);
 		submit_bio(bio);
-		bio = bio_alloc(GFP_KERNEL, nr_pages);
-		bio_set_dev(bio, bdev);
-		bio->bi_opf = opf;
+		bio = bio_alloc(bdev, nr_pages, opf, GFP_KERNEL);
 	}
 
 	blk_finish_plug(&plug);
diff --git a/drivers/block/drbd/drbd_receiver.c b/drivers/block/drbd/drbd_receiver.c
index 90402abb77e93..6f589ed9fa0c5 100644
--- a/drivers/block/drbd/drbd_receiver.c
+++ b/drivers/block/drbd/drbd_receiver.c
@@ -1279,7 +1279,8 @@ static void one_flush_endio(struct bio *bio)
 
 static void submit_one_flush(struct drbd_device *device, struct issue_flush_context *ctx)
 {
-	struct bio *bio = bio_alloc(GFP_NOIO, 0);
+	struct bio *bio = bio_alloc(device->ldev->backing_bdev, 0,
+				    REQ_OP_FLUSH | REQ_PREFLUSH, GFP_NOIO);
 	struct one_flush_context *octx = kmalloc(sizeof(*octx), GFP_NOIO);
 
 	if (!octx) {
@@ -1297,10 +1298,8 @@ static void submit_one_flush(struct drbd_device *device, struct issue_flush_cont
 
 	octx->device = device;
 	octx->ctx = ctx;
-	bio_set_dev(bio, device->ldev->backing_bdev);
 	bio->bi_private = octx;
 	bio->bi_end_io = one_flush_endio;
-	bio->bi_opf = REQ_OP_FLUSH | REQ_PREFLUSH;
 
 	device->flush_jif = jiffies;
 	set_bit(FLUSH_PENDING, &device->flags);
@@ -1686,11 +1685,10 @@ int drbd_submit_peer_request(struct drbd_device *device,
 	 * generated bio, but a bio allocated on behalf of the peer.
 	 */
 next_bio:
-	bio = bio_alloc(GFP_NOIO, nr_pages);
+	bio = bio_alloc(device->ldev->backing_bdev, nr_pages, op | op_flags,
+			GFP_NOIO);
 	/* > peer_req->i.sector, unless this is the first bio */
 	bio->bi_iter.bi_sector = sector;
-	bio_set_dev(bio, device->ldev->backing_bdev);
-	bio_set_op_attrs(bio, op, op_flags);
 	bio->bi_private = peer_req;
 	bio->bi_end_io = drbd_peer_request_endio;
 
diff --git a/drivers/block/rnbd/rnbd-srv.c b/drivers/block/rnbd/rnbd-srv.c
index b1ac1414b56d5..021532ab9dc30 100644
--- a/drivers/block/rnbd/rnbd-srv.c
+++ b/drivers/block/rnbd/rnbd-srv.c
@@ -149,7 +149,8 @@ static int process_rdma(struct rnbd_srv_session *srv_sess,
 	priv->sess_dev = sess_dev;
 	priv->id = id;
 
-	bio = bio_alloc(GFP_KERNEL, 1);
+	bio = bio_alloc(sess_dev->rnbd_dev->bdev, 1,
+			rnbd_to_bio_flags(le32_to_cpu(msg->rw)), GFP_KERNEL);
 	if (bio_add_page(bio, virt_to_page(data), datalen,
 			offset_in_page(data))) {
 		rnbd_srv_err(sess_dev, "Failed to map data to bio\n");
@@ -159,13 +160,11 @@ static int process_rdma(struct rnbd_srv_session *srv_sess,
 
 	bio->bi_end_io = rnbd_dev_bi_end_io;
 	bio->bi_private = priv;
-	bio->bi_opf = rnbd_to_bio_flags(le32_to_cpu(msg->rw));
 	bio->bi_iter.bi_sector = le64_to_cpu(msg->sector);
 	bio->bi_iter.bi_size = le32_to_cpu(msg->bi_size);
 	prio = srv_sess->ver < RNBD_PROTO_VER_MAJOR ||
 	       usrlen < sizeof(*msg) ? 0 : le16_to_cpu(msg->prio);
 	bio_set_prio(bio, prio);
-	bio_set_dev(bio, sess_dev->rnbd_dev->bdev);
 
 	submit_bio(bio);
 
diff --git a/drivers/block/xen-blkback/blkback.c b/drivers/block/xen-blkback/blkback.c
index 6bb2ad7692065..d1e26461a64ed 100644
--- a/drivers/block/xen-blkback/blkback.c
+++ b/drivers/block/xen-blkback/blkback.c
@@ -1326,13 +1326,13 @@ static int dispatch_rw_block_io(struct xen_blkif_ring *ring,
 				     pages[i]->page,
 				     seg[i].nsec << 9,
 				     seg[i].offset) == 0)) {
-			bio = bio_alloc(GFP_KERNEL, bio_max_segs(nseg - i));
+			bio = bio_alloc(preq.bdev, bio_max_segs(nseg - i),
+					operation | operation_flags,
+					GFP_KERNEL);
 			biolist[nbio++] = bio;
-			bio_set_dev(bio, preq.bdev);
 			bio->bi_private = pending_req;
 			bio->bi_end_io  = end_block_io_op;
 			bio->bi_iter.bi_sector  = preq.sector_number;
-			bio_set_op_attrs(bio, operation, operation_flags);
 		}
 
 		preq.sector_number += seg[i].nsec;
@@ -1342,12 +1342,11 @@ static int dispatch_rw_block_io(struct xen_blkif_ring *ring,
 	if (!bio) {
 		BUG_ON(operation_flags != REQ_PREFLUSH);
 
-		bio = bio_alloc(GFP_KERNEL, 0);
+		bio = bio_alloc(preq.bdev, 0, operation | operation_flags,
+				GFP_KERNEL);
 		biolist[nbio++] = bio;
-		bio_set_dev(bio, preq.bdev);
 		bio->bi_private = pending_req;
 		bio->bi_end_io  = end_block_io_op;
-		bio_set_op_attrs(bio, operation, operation_flags);
 	}
 
 	atomic_set(&pending_req->pendcnt, nbio);
diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c
index cb253d80d72b9..d8dc7ed1c78fc 100644
--- a/drivers/block/zram/zram_drv.c
+++ b/drivers/block/zram/zram_drv.c
@@ -617,24 +617,21 @@ static int read_from_bdev_async(struct zram *zram, struct bio_vec *bvec,
 {
 	struct bio *bio;
 
-	bio = bio_alloc(GFP_NOIO, 1);
+	bio = bio_alloc(zram->bdev, 1, parent ? parent->bi_opf : REQ_OP_READ,
+			GFP_NOIO);
 	if (!bio)
 		return -ENOMEM;
 
 	bio->bi_iter.bi_sector = entry * (PAGE_SIZE >> 9);
-	bio_set_dev(bio, zram->bdev);
 	if (!bio_add_page(bio, bvec->bv_page, bvec->bv_len, bvec->bv_offset)) {
 		bio_put(bio);
 		return -EIO;
 	}
 
-	if (!parent) {
-		bio->bi_opf = REQ_OP_READ;
+	if (!parent)
 		bio->bi_end_io = zram_page_end_io;
-	} else {
-		bio->bi_opf = parent->bi_opf;
+	else
 		bio_chain(bio, parent);
-	}
 
 	submit_bio(bio);
 	return 1;
diff --git a/drivers/md/dm-log-writes.c b/drivers/md/dm-log-writes.c
index 25f5e8d2d417b..c9d036d6bb2ee 100644
--- a/drivers/md/dm-log-writes.c
+++ b/drivers/md/dm-log-writes.c
@@ -217,14 +217,12 @@ static int write_metadata(struct log_writes_c *lc, void *entry,
 	void *ptr;
 	size_t ret;
 
-	bio = bio_alloc(GFP_KERNEL, 1);
+	bio = bio_alloc(lc->logdev->bdev, 1, REQ_OP_WRITE, GFP_KERNEL);
 	bio->bi_iter.bi_size = 0;
 	bio->bi_iter.bi_sector = sector;
-	bio_set_dev(bio, lc->logdev->bdev);
 	bio->bi_end_io = (sector == WRITE_LOG_SUPER_SECTOR) ?
 			  log_end_super : log_end_io;
 	bio->bi_private = lc;
-	bio_set_op_attrs(bio, REQ_OP_WRITE, 0);
 
 	page = alloc_page(GFP_KERNEL);
 	if (!page) {
@@ -271,13 +269,12 @@ static int write_inline_data(struct log_writes_c *lc, void *entry,
 
 		atomic_inc(&lc->io_blocks);
 
-		bio = bio_alloc(GFP_KERNEL, bio_pages);
+		bio = bio_alloc(lc->logdev->bdev, bio_pages, REQ_OP_WRITE,
+				GFP_KERNEL);
 		bio->bi_iter.bi_size = 0;
 		bio->bi_iter.bi_sector = sector;
-		bio_set_dev(bio, lc->logdev->bdev);
 		bio->bi_end_io = log_end_io;
 		bio->bi_private = lc;
-		bio_set_op_attrs(bio, REQ_OP_WRITE, 0);
 
 		for (i = 0; i < bio_pages; i++) {
 			pg_datalen = min_t(int, datalen, PAGE_SIZE);
@@ -353,13 +350,12 @@ static int log_one_block(struct log_writes_c *lc,
 		goto out;
 
 	atomic_inc(&lc->io_blocks);
-	bio = bio_alloc(GFP_KERNEL, bio_max_segs(block->vec_cnt));
+	bio = bio_alloc(lc->logdev->bdev, bio_max_segs(block->vec_cnt),
+			REQ_OP_WRITE, GFP_KERNEL);
 	bio->bi_iter.bi_size = 0;
 	bio->bi_iter.bi_sector = sector;
-	bio_set_dev(bio, lc->logdev->bdev);
 	bio->bi_end_io = log_end_io;
 	bio->bi_private = lc;
-	bio_set_op_attrs(bio, REQ_OP_WRITE, 0);
 
 	for (i = 0; i < block->vec_cnt; i++) {
 		/*
@@ -371,14 +367,13 @@ static int log_one_block(struct log_writes_c *lc,
 		if (ret != block->vecs[i].bv_len) {
 			atomic_inc(&lc->io_blocks);
 			submit_bio(bio);
-			bio = bio_alloc(GFP_KERNEL,
-					bio_max_segs(block->vec_cnt - i));
+			bio = bio_alloc(lc->logdev->bdev,
+					bio_max_segs(block->vec_cnt - i),
+					REQ_OP_WRITE, GFP_KERNEL);
 			bio->bi_iter.bi_size = 0;
 			bio->bi_iter.bi_sector = sector;
-			bio_set_dev(bio, lc->logdev->bdev);
 			bio->bi_end_io = log_end_io;
 			bio->bi_private = lc;
-			bio_set_op_attrs(bio, REQ_OP_WRITE, 0);
 
 			ret = bio_add_page(bio, block->vecs[i].bv_page,
 					   block->vecs[i].bv_len, 0);
diff --git a/drivers/md/dm-thin.c b/drivers/md/dm-thin.c
index 411a3f56ed90c..f4234d615aa1b 100644
--- a/drivers/md/dm-thin.c
+++ b/drivers/md/dm-thin.c
@@ -1177,13 +1177,12 @@ static void process_prepared_discard_passdown_pt1(struct dm_thin_new_mapping *m)
 		return;
 	}
 
-	discard_parent = bio_alloc(GFP_NOIO, 1);
+	discard_parent = bio_alloc(NULL, 1, 0, GFP_NOIO);
 	discard_parent->bi_end_io = passdown_endio;
 	discard_parent->bi_private = m;
-
-	if (m->maybe_shared)
-		passdown_double_checking_shared_status(m, discard_parent);
-	else {
+ 	if (m->maybe_shared)
+ 		passdown_double_checking_shared_status(m, discard_parent);
+ 	else {
 		struct discard_op op;
 
 		begin_discard(&op, tc, discard_parent);
diff --git a/drivers/md/dm-zoned-metadata.c b/drivers/md/dm-zoned-metadata.c
index 5718b83cc7182..e5f1eb27ce2e9 100644
--- a/drivers/md/dm-zoned-metadata.c
+++ b/drivers/md/dm-zoned-metadata.c
@@ -550,7 +550,8 @@ static struct dmz_mblock *dmz_get_mblock_slow(struct dmz_metadata *zmd,
 	if (!mblk)
 		return ERR_PTR(-ENOMEM);
 
-	bio = bio_alloc(GFP_NOIO, 1);
+	bio = bio_alloc(dev->bdev, 1, REQ_OP_READ | REQ_META | REQ_PRIO,
+			GFP_NOIO);
 
 	spin_lock(&zmd->mblk_lock);
 
@@ -574,10 +575,8 @@ static struct dmz_mblock *dmz_get_mblock_slow(struct dmz_metadata *zmd,
 
 	/* Submit read BIO */
 	bio->bi_iter.bi_sector = dmz_blk2sect(block);
-	bio_set_dev(bio, dev->bdev);
 	bio->bi_private = mblk;
 	bio->bi_end_io = dmz_mblock_bio_end_io;
-	bio_set_op_attrs(bio, REQ_OP_READ, REQ_META | REQ_PRIO);
 	bio_add_page(bio, mblk->page, DMZ_BLOCK_SIZE, 0);
 	submit_bio(bio);
 
@@ -721,15 +720,14 @@ static int dmz_write_mblock(struct dmz_metadata *zmd, struct dmz_mblock *mblk,
 	if (dmz_bdev_is_dying(dev))
 		return -EIO;
 
-	bio = bio_alloc(GFP_NOIO, 1);
+	bio = bio_alloc(dev->bdev, 1, REQ_OP_WRITE | REQ_META | REQ_PRIO,
+			GFP_NOIO);
 
 	set_bit(DMZ_META_WRITING, &mblk->state);
 
 	bio->bi_iter.bi_sector = dmz_blk2sect(block);
-	bio_set_dev(bio, dev->bdev);
 	bio->bi_private = mblk;
 	bio->bi_end_io = dmz_mblock_bio_end_io;
-	bio_set_op_attrs(bio, REQ_OP_WRITE, REQ_META | REQ_PRIO);
 	bio_add_page(bio, mblk->page, DMZ_BLOCK_SIZE, 0);
 	submit_bio(bio);
 
@@ -751,10 +749,9 @@ static int dmz_rdwr_block(struct dmz_dev *dev, int op,
 	if (dmz_bdev_is_dying(dev))
 		return -EIO;
 
-	bio = bio_alloc(GFP_NOIO, 1);
+	bio = bio_alloc(dev->bdev, 1, op | REQ_SYNC | REQ_META | REQ_PRIO,
+			GFP_NOIO);
 	bio->bi_iter.bi_sector = dmz_blk2sect(block);
-	bio_set_dev(bio, dev->bdev);
-	bio_set_op_attrs(bio, op, REQ_SYNC | REQ_META | REQ_PRIO);
 	bio_add_page(bio, page, DMZ_BLOCK_SIZE, 0);
 	ret = submit_bio_wait(bio);
 	bio_put(bio);
diff --git a/drivers/nvdimm/nd_virtio.c b/drivers/nvdimm/nd_virtio.c
index 10351d5b49fac..c6a648fd8744a 100644
--- a/drivers/nvdimm/nd_virtio.c
+++ b/drivers/nvdimm/nd_virtio.c
@@ -105,12 +105,12 @@ int async_pmem_flush(struct nd_region *nd_region, struct bio *bio)
 	 * parent bio. Otherwise directly call nd_region flush.
 	 */
 	if (bio && bio->bi_iter.bi_sector != -1) {
-		struct bio *child = bio_alloc(GFP_ATOMIC, 0);
+		struct bio *child = bio_alloc(bio->bi_bdev, 0, REQ_PREFLUSH,
+					      GFP_ATOMIC);
 
 		if (!child)
 			return -ENOMEM;
-		bio_copy_dev(child, bio);
-		child->bi_opf = REQ_PREFLUSH;
+		bio_clone_blkg_association(child, bio);
 		child->bi_iter.bi_sector = -1;
 		bio_chain(child, bio);
 		submit_bio(child);
diff --git a/drivers/nvme/target/io-cmd-bdev.c b/drivers/nvme/target/io-cmd-bdev.c
index 70ca9dfc1771a..e092af3abc710 100644
--- a/drivers/nvme/target/io-cmd-bdev.c
+++ b/drivers/nvme/target/io-cmd-bdev.c
@@ -268,14 +268,15 @@ static void nvmet_bdev_execute_rw(struct nvmet_req *req)
 	if (nvmet_use_inline_bvec(req)) {
 		bio = &req->b.inline_bio;
 		bio_init(bio, req->inline_bvec, ARRAY_SIZE(req->inline_bvec));
+		bio_set_dev(bio, req->ns->bdev);
+		bio->bi_opf = op;
 	} else {
-		bio = bio_alloc(GFP_KERNEL, bio_max_segs(sg_cnt));
+		bio = bio_alloc(req->ns->bdev, bio_max_segs(sg_cnt), op,
+				GFP_KERNEL);
 	}
-	bio_set_dev(bio, req->ns->bdev);
 	bio->bi_iter.bi_sector = sector;
 	bio->bi_private = req;
 	bio->bi_end_io = nvmet_bio_done;
-	bio->bi_opf = op;
 
 	blk_start_plug(&plug);
 	if (req->metadata_len)
@@ -296,10 +297,9 @@ static void nvmet_bdev_execute_rw(struct nvmet_req *req)
 				}
 			}
 
-			bio = bio_alloc(GFP_KERNEL, bio_max_segs(sg_cnt));
-			bio_set_dev(bio, req->ns->bdev);
+			bio = bio_alloc(req->ns->bdev, bio_max_segs(sg_cnt),
+					op, GFP_KERNEL);
 			bio->bi_iter.bi_sector = sector;
-			bio->bi_opf = op;
 
 			bio_chain(bio, prev);
 			submit_bio(prev);
diff --git a/drivers/nvme/target/passthru.c b/drivers/nvme/target/passthru.c
index 9e5b89ae29dfe..38f72968c3fde 100644
--- a/drivers/nvme/target/passthru.c
+++ b/drivers/nvme/target/passthru.c
@@ -207,11 +207,12 @@ static int nvmet_passthru_map_sg(struct nvmet_req *req, struct request *rq)
 	if (nvmet_use_inline_bvec(req)) {
 		bio = &req->p.inline_bio;
 		bio_init(bio, req->inline_bvec, ARRAY_SIZE(req->inline_bvec));
+		bio->bi_opf = req_op(rq);
 	} else {
-		bio = bio_alloc(GFP_KERNEL, bio_max_segs(req->sg_cnt));
+		bio = bio_alloc(NULL, bio_max_segs(req->sg_cnt), req_op(rq),
+				GFP_KERNEL);
 		bio->bi_end_io = bio_put;
 	}
-	bio->bi_opf = req_op(rq);
 
 	for_each_sg(req->sg, sg, req->sg_cnt, i) {
 		if (bio_add_pc_page(rq->q, bio, sg_page(sg), sg->length,
diff --git a/drivers/nvme/target/zns.c b/drivers/nvme/target/zns.c
index 247de74247fab..62c53e8f26d35 100644
--- a/drivers/nvme/target/zns.c
+++ b/drivers/nvme/target/zns.c
@@ -522,6 +522,7 @@ static void nvmet_bdev_zone_append_bio_done(struct bio *bio)
 void nvmet_bdev_execute_zone_append(struct nvmet_req *req)
 {
 	sector_t sect = nvmet_lba_to_sect(req->ns, req->cmd->rw.slba);
+	const unsigned int op = REQ_OP_ZONE_APPEND | REQ_SYNC | REQ_IDLE;
 	u16 status = NVME_SC_SUCCESS;
 	unsigned int total_len = 0;
 	struct scatterlist *sg;
@@ -552,13 +553,12 @@ void nvmet_bdev_execute_zone_append(struct nvmet_req *req)
 	if (nvmet_use_inline_bvec(req)) {
 		bio = &req->z.inline_bio;
 		bio_init(bio, req->inline_bvec, ARRAY_SIZE(req->inline_bvec));
+		bio->bi_opf = op;
 	} else {
-		bio = bio_alloc(GFP_KERNEL, req->sg_cnt);
+		bio = bio_alloc(req->ns->bdev, req->sg_cnt, op, GFP_KERNEL);
 	}
 
-	bio->bi_opf = REQ_OP_ZONE_APPEND | REQ_SYNC | REQ_IDLE;
 	bio->bi_end_io = nvmet_bdev_zone_append_bio_done;
-	bio_set_dev(bio, req->ns->bdev);
 	bio->bi_iter.bi_sector = sect;
 	bio->bi_private = req;
 	if (req->cmd->rw.control & cpu_to_le16(NVME_RW_FUA))
diff --git a/drivers/scsi/ufs/ufshpb.c b/drivers/scsi/ufs/ufshpb.c
index 2d36a0715fca6..8970068314ef2 100644
--- a/drivers/scsi/ufs/ufshpb.c
+++ b/drivers/scsi/ufs/ufshpb.c
@@ -494,7 +494,7 @@ static struct ufshpb_req *ufshpb_get_map_req(struct ufshpb_lu *hpb,
 	if (!map_req)
 		return NULL;
 
-	bio = bio_alloc(GFP_KERNEL, hpb->pages_per_srgn);
+	bio = bio_alloc(NULL, hpb->pages_per_srgn, 0, GFP_KERNEL);
 	if (!bio) {
 		ufshpb_put_req(hpb, map_req);
 		return NULL;
@@ -2050,7 +2050,7 @@ static int ufshpb_pre_req_mempool_init(struct ufshpb_lu *hpb)
 		INIT_LIST_HEAD(&pre_req->list_req);
 		pre_req->req = NULL;
 
-		pre_req->bio = bio_alloc(GFP_KERNEL, 1);
+		pre_req->bio = bio_alloc(NULL, 1, 0, GFP_KERNEL);
 		if (!pre_req->bio)
 			goto release_mem;
 
diff --git a/drivers/target/target_core_iblock.c b/drivers/target/target_core_iblock.c
index f7c6e822f345a..0907fa3cf2b43 100644
--- a/drivers/target/target_core_iblock.c
+++ b/drivers/target/target_core_iblock.c
@@ -416,10 +416,9 @@ iblock_execute_sync_cache(struct se_cmd *cmd)
 	if (immed)
 		target_complete_cmd(cmd, SAM_STAT_GOOD);
 
-	bio = bio_alloc(GFP_KERNEL, 0);
+	bio = bio_alloc(ib_dev->ibd_bd, 0, REQ_OP_WRITE | REQ_PREFLUSH,
+			GFP_KERNEL);
 	bio->bi_end_io = iblock_end_io_flush;
-	bio_set_dev(bio, ib_dev->ibd_bd);
-	bio->bi_opf = REQ_OP_WRITE | REQ_PREFLUSH;
 	if (!immed)
 		bio->bi_private = cmd;
 	submit_bio(bio);
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 87a5addbedf6d..f45aa506f9a6f 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -4029,8 +4029,9 @@ static int write_dev_supers(struct btrfs_device *device,
 		 * to do I/O, so we don't lose the ability to do integrity
 		 * checking.
 		 */
-		bio = bio_alloc(GFP_NOFS, 1);
-		bio_set_dev(bio, device->bdev);
+		bio = bio_alloc(device->bdev, 1,
+				REQ_OP_WRITE | REQ_SYNC | REQ_META | REQ_PRIO,
+				GFP_NOFS);
 		bio->bi_iter.bi_sector = bytenr >> SECTOR_SHIFT;
 		bio->bi_private = device;
 		bio->bi_end_io = btrfs_end_super_write;
@@ -4042,7 +4043,6 @@ static int write_dev_supers(struct btrfs_device *device,
 		 * go down lazy and there's a short window where the on-disk
 		 * copies might still contain the older version.
 		 */
-		bio->bi_opf = REQ_OP_WRITE | REQ_SYNC | REQ_META | REQ_PRIO;
 		if (i == 0 && !btrfs_test_opt(device->fs_info, NOBARRIER))
 			bio->bi_opf |= REQ_FUA;
 
diff --git a/fs/buffer.c b/fs/buffer.c
index 8e112b6bd3719..a17c386a142c7 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -3024,12 +3024,16 @@ static int submit_bh_wbc(int op, int op_flags, struct buffer_head *bh,
 	if (test_set_buffer_req(bh) && (op == REQ_OP_WRITE))
 		clear_buffer_write_io_error(bh);
 
-	bio = bio_alloc(GFP_NOIO, 1);
+	if (buffer_meta(bh))
+		op_flags |= REQ_META;
+	if (buffer_prio(bh))
+		op_flags |= REQ_PRIO;
+
+	bio = bio_alloc(bh->b_bdev, 1, op | op_flags, GFP_NOIO);
 
 	fscrypt_set_bio_crypt_ctx_bh(bio, bh, GFP_NOIO);
 
 	bio->bi_iter.bi_sector = bh->b_blocknr * (bh->b_size >> 9);
-	bio_set_dev(bio, bh->b_bdev);
 	bio->bi_write_hint = write_hint;
 
 	bio_add_page(bio, bh->b_page, bh->b_size, bh_offset(bh));
@@ -3038,12 +3042,6 @@ static int submit_bh_wbc(int op, int op_flags, struct buffer_head *bh,
 	bio->bi_end_io = end_bio_bh_io_sync;
 	bio->bi_private = bh;
 
-	if (buffer_meta(bh))
-		op_flags |= REQ_META;
-	if (buffer_prio(bh))
-		op_flags |= REQ_PRIO;
-	bio_set_op_attrs(bio, op, op_flags);
-
 	/* Take care of bh's that straddle the end of the device */
 	guard_bio_eod(bio);
 
diff --git a/fs/crypto/bio.c b/fs/crypto/bio.c
index bfc2a5b74ed39..755e985a42e0b 100644
--- a/fs/crypto/bio.c
+++ b/fs/crypto/bio.c
@@ -54,7 +54,8 @@ static int fscrypt_zeroout_range_inline_crypt(const struct inode *inode,
 	int num_pages = 0;
 
 	/* This always succeeds since __GFP_DIRECT_RECLAIM is set. */
-	bio = bio_alloc(GFP_NOFS, BIO_MAX_VECS);
+	bio = bio_alloc(inode->i_sb->s_bdev, BIO_MAX_VECS, REQ_OP_WRITE,
+			GFP_NOFS);
 
 	while (len) {
 		unsigned int blocks_this_page = min(len, blocks_per_page);
@@ -62,10 +63,8 @@ static int fscrypt_zeroout_range_inline_crypt(const struct inode *inode,
 
 		if (num_pages == 0) {
 			fscrypt_set_bio_crypt_ctx(bio, inode, lblk, GFP_NOFS);
-			bio_set_dev(bio, inode->i_sb->s_bdev);
 			bio->bi_iter.bi_sector =
 					pblk << (blockbits - SECTOR_SHIFT);
-			bio_set_op_attrs(bio, REQ_OP_WRITE, 0);
 		}
 		ret = bio_add_page(bio, ZERO_PAGE(0), bytes_this_page, 0);
 		if (WARN_ON(ret != bytes_this_page)) {
@@ -82,6 +81,8 @@ static int fscrypt_zeroout_range_inline_crypt(const struct inode *inode,
 			if (err)
 				goto out;
 			bio_reset(bio);
+			bio_set_dev(bio, inode->i_sb->s_bdev);
+			bio->bi_opf = REQ_OP_WRITE;
 			num_pages = 0;
 		}
 	}
@@ -150,12 +151,10 @@ int fscrypt_zeroout_range(const struct inode *inode, pgoff_t lblk,
 		return -EINVAL;
 
 	/* This always succeeds since __GFP_DIRECT_RECLAIM is set. */
-	bio = bio_alloc(GFP_NOFS, nr_pages);
+	bio = bio_alloc(inode->i_sb->s_bdev, nr_pages, REQ_OP_WRITE, GFP_NOFS);
 
 	do {
-		bio_set_dev(bio, inode->i_sb->s_bdev);
 		bio->bi_iter.bi_sector = pblk << (blockbits - 9);
-		bio_set_op_attrs(bio, REQ_OP_WRITE, 0);
 
 		i = 0;
 		offset = 0;
@@ -183,6 +182,8 @@ int fscrypt_zeroout_range(const struct inode *inode, pgoff_t lblk,
 		if (err)
 			goto out;
 		bio_reset(bio);
+		bio_set_dev(bio, inode->i_sb->s_bdev);
+		bio->bi_opf = REQ_OP_WRITE;
 	} while (len != 0);
 	err = 0;
 out:
diff --git a/fs/direct-io.c b/fs/direct-io.c
index 6544435580470..38bca4980a1ca 100644
--- a/fs/direct-io.c
+++ b/fs/direct-io.c
@@ -396,11 +396,8 @@ dio_bio_alloc(struct dio *dio, struct dio_submit *sdio,
 	 * bio_alloc() is guaranteed to return a bio when allowed to sleep and
 	 * we request a valid number of vectors.
 	 */
-	bio = bio_alloc(GFP_KERNEL, nr_vecs);
-
-	bio_set_dev(bio, bdev);
+	bio = bio_alloc(bdev, nr_vecs, dio->op | dio->op_flags, GFP_KERNEL);
 	bio->bi_iter.bi_sector = first_sector;
-	bio_set_op_attrs(bio, dio->op, dio->op_flags);
 	if (dio->is_async)
 		bio->bi_end_io = dio_bio_end_aio;
 	else
diff --git a/fs/erofs/zdata.c b/fs/erofs/zdata.c
index 498b7666efe85..db7de2dbac739 100644
--- a/fs/erofs/zdata.c
+++ b/fs/erofs/zdata.c
@@ -1371,15 +1371,14 @@ static void z_erofs_submit_queue(struct super_block *sb,
 			}
 
 			if (!bio) {
-				bio = bio_alloc(GFP_NOIO, BIO_MAX_VECS);
+				bio = bio_alloc(mdev.m_bdev, BIO_MAX_VECS,
+						REQ_OP_READ, GFP_NOIO);
 				bio->bi_end_io = z_erofs_decompressqueue_endio;
 
-				bio_set_dev(bio, mdev.m_bdev);
 				last_bdev = mdev.m_bdev;
 				bio->bi_iter.bi_sector = (sector_t)cur <<
 					LOG_SECTORS_PER_BLOCK;
 				bio->bi_private = bi_private;
-				bio->bi_opf = REQ_OP_READ;
 				if (f->readahead)
 					bio->bi_opf |= REQ_RAHEAD;
 				++nr_bios;
diff --git a/fs/ext4/page-io.c b/fs/ext4/page-io.c
index 1d370364230e8..1253982268730 100644
--- a/fs/ext4/page-io.c
+++ b/fs/ext4/page-io.c
@@ -398,10 +398,9 @@ static void io_submit_init_bio(struct ext4_io_submit *io,
 	 * bio_alloc will _always_ be able to allocate a bio if
 	 * __GFP_DIRECT_RECLAIM is set, see comments for bio_alloc_bioset().
 	 */
-	bio = bio_alloc(GFP_NOIO, BIO_MAX_VECS);
+	bio = bio_alloc(bh->b_bdev, BIO_MAX_VECS, 0, GFP_NOIO);
 	fscrypt_set_bio_crypt_ctx_bh(bio, bh, GFP_NOIO);
 	bio->bi_iter.bi_sector = bh->b_blocknr * (bh->b_size >> 9);
-	bio_set_dev(bio, bh->b_bdev);
 	bio->bi_end_io = ext4_end_bio;
 	bio->bi_private = ext4_get_io_end(io->io_end);
 	io->io_bio = bio;
diff --git a/fs/ext4/readpage.c b/fs/ext4/readpage.c
index 3db9234035053..812b1871d8900 100644
--- a/fs/ext4/readpage.c
+++ b/fs/ext4/readpage.c
@@ -371,15 +371,15 @@ int ext4_mpage_readpages(struct inode *inode,
 			 * bio_alloc will _always_ be able to allocate a bio if
 			 * __GFP_DIRECT_RECLAIM is set, see bio_alloc_bioset().
 			 */
-			bio = bio_alloc(GFP_KERNEL, bio_max_segs(nr_pages));
+			bio = bio_alloc(bdev, bio_max_segs(nr_pages),
+					REQ_OP_READ, GFP_KERNEL);
 			fscrypt_set_bio_crypt_ctx(bio, inode, next_block,
 						  GFP_KERNEL);
 			ext4_set_bio_post_read_ctx(bio, inode, page->index);
-			bio_set_dev(bio, bdev);
 			bio->bi_iter.bi_sector = blocks[0] << (blkbits - 9);
 			bio->bi_end_io = mpage_end_io;
-			bio_set_op_attrs(bio, REQ_OP_READ,
-						rac ? REQ_RAHEAD : 0);
+			if (rac)
+				bio->bi_opf |= REQ_RAHEAD;
 		}
 
 		length = first_hole << blkbits;
diff --git a/fs/gfs2/lops.c b/fs/gfs2/lops.c
index ca0bb3a73912a..4ae1eefae616d 100644
--- a/fs/gfs2/lops.c
+++ b/fs/gfs2/lops.c
@@ -265,10 +265,9 @@ static struct bio *gfs2_log_alloc_bio(struct gfs2_sbd *sdp, u64 blkno,
 				      bio_end_io_t *end_io)
 {
 	struct super_block *sb = sdp->sd_vfs;
-	struct bio *bio = bio_alloc(GFP_NOIO, BIO_MAX_VECS);
+	struct bio *bio = bio_alloc(sb->s_bdev, BIO_MAX_VECS, 0, GFP_NOIO);
 
 	bio->bi_iter.bi_sector = blkno << sdp->sd_fsb2bb_shift;
-	bio_set_dev(bio, sb->s_bdev);
 	bio->bi_end_io = end_io;
 	bio->bi_private = sdp;
 
@@ -489,10 +488,9 @@ static struct bio *gfs2_chain_bio(struct bio *prev, unsigned int nr_iovecs)
 {
 	struct bio *new;
 
-	new = bio_alloc(GFP_NOIO, nr_iovecs);
-	bio_copy_dev(new, prev);
+	new = bio_alloc(prev->bi_bdev, nr_iovecs, prev->bi_opf, GFP_NOIO);
+	bio_clone_blkg_association(new, prev);
 	new->bi_iter.bi_sector = bio_end_sector(prev);
-	new->bi_opf = prev->bi_opf;
 	new->bi_write_hint = prev->bi_write_hint;
 	bio_chain(new, prev);
 	submit_bio(prev);
diff --git a/fs/gfs2/meta_io.c b/fs/gfs2/meta_io.c
index 72d30a682ecec..a580b90b75222 100644
--- a/fs/gfs2/meta_io.c
+++ b/fs/gfs2/meta_io.c
@@ -222,9 +222,8 @@ static void gfs2_submit_bhs(int op, int op_flags, struct buffer_head *bhs[],
 		struct buffer_head *bh = *bhs;
 		struct bio *bio;
 
-		bio = bio_alloc(GFP_NOIO, num);
+		bio = bio_alloc(bh->b_bdev, num, op | op_flags, GFP_NOIO);
 		bio->bi_iter.bi_sector = bh->b_blocknr * (bh->b_size >> 9);
-		bio_set_dev(bio, bh->b_bdev);
 		while (num > 0) {
 			bh = *bhs;
 			if (!bio_add_page(bio, bh->b_page, bh->b_size, bh_offset(bh))) {
@@ -235,7 +234,6 @@ static void gfs2_submit_bhs(int op, int op_flags, struct buffer_head *bhs[],
 			num--;
 		}
 		bio->bi_end_io = gfs2_meta_read_endio;
-		bio_set_op_attrs(bio, op, op_flags);
 		submit_bio(bio);
 	}
 }
diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c
index 7f8410d8fdc1d..c9b423c874a32 100644
--- a/fs/gfs2/ops_fstype.c
+++ b/fs/gfs2/ops_fstype.c
@@ -251,14 +251,12 @@ static int gfs2_read_super(struct gfs2_sbd *sdp, sector_t sector, int silent)
 	ClearPageDirty(page);
 	lock_page(page);
 
-	bio = bio_alloc(GFP_NOFS, 1);
+	bio = bio_alloc(sb->s_bdev, 1, REQ_OP_READ | REQ_META, GFP_NOFS);
 	bio->bi_iter.bi_sector = sector * (sb->s_blocksize >> 9);
-	bio_set_dev(bio, sb->s_bdev);
 	bio_add_page(bio, page, PAGE_SIZE, 0);
 
 	bio->bi_end_io = end_bio_io_page;
 	bio->bi_private = page;
-	bio_set_op_attrs(bio, REQ_OP_READ, REQ_META);
 	submit_bio(bio);
 	wait_on_page_locked(page);
 	bio_put(bio);
diff --git a/fs/hfsplus/wrapper.c b/fs/hfsplus/wrapper.c
index 51ae6f1eb4a55..6acce8563031d 100644
--- a/fs/hfsplus/wrapper.c
+++ b/fs/hfsplus/wrapper.c
@@ -64,10 +64,8 @@ int hfsplus_submit_bio(struct super_block *sb, sector_t sector,
 	offset = start & (io_size - 1);
 	sector &= ~((io_size >> HFSPLUS_SECTOR_SHIFT) - 1);
 
-	bio = bio_alloc(GFP_NOIO, 1);
+	bio = bio_alloc(sb->s_bdev, 1, op | op_flags, GFP_NOIO);
 	bio->bi_iter.bi_sector = sector;
-	bio_set_dev(bio, sb->s_bdev);
-	bio_set_op_attrs(bio, op, op_flags);
 
 	if (op != WRITE && data)
 		*data = (u8 *)buf + offset;
diff --git a/fs/iomap/buffered-io.c b/fs/iomap/buffered-io.c
index 340d373cb1bf9..70f3657a6ec06 100644
--- a/fs/iomap/buffered-io.c
+++ b/fs/iomap/buffered-io.c
@@ -290,19 +290,20 @@ static loff_t iomap_readpage_iter(const struct iomap_iter *iter,
 
 		if (ctx->rac) /* same as readahead_gfp_mask */
 			gfp |= __GFP_NORETRY | __GFP_NOWARN;
-		ctx->bio = bio_alloc(gfp, bio_max_segs(nr_vecs));
+		ctx->bio = bio_alloc(iomap->bdev, bio_max_segs(nr_vecs),
+				     REQ_OP_READ, gfp);
 		/*
 		 * If the bio_alloc fails, try it again for a single page to
 		 * avoid having to deal with partial page reads.  This emulates
 		 * what do_mpage_readpage does.
 		 */
-		if (!ctx->bio)
-			ctx->bio = bio_alloc(orig_gfp, 1);
-		ctx->bio->bi_opf = REQ_OP_READ;
+		if (!ctx->bio) {
+			ctx->bio = bio_alloc(iomap->bdev, 1, REQ_OP_READ,
+					     orig_gfp);
+		}
 		if (ctx->rac)
 			ctx->bio->bi_opf |= REQ_RAHEAD;
 		ctx->bio->bi_iter.bi_sector = sector;
-		bio_set_dev(ctx->bio, iomap->bdev);
 		ctx->bio->bi_end_io = iomap_read_end_io;
 		bio_add_folio(ctx->bio, folio, plen, poff);
 	}
@@ -1226,10 +1227,9 @@ iomap_chain_bio(struct bio *prev)
 {
 	struct bio *new;
 
-	new = bio_alloc(GFP_NOFS, BIO_MAX_VECS);
-	bio_copy_dev(new, prev);/* also copies over blkcg information */
+	new = bio_alloc(prev->bi_bdev, BIO_MAX_VECS, prev->bi_opf, GFP_NOFS);
+	bio_clone_blkg_association(new, prev);
 	new->bi_iter.bi_sector = bio_end_sector(prev);
-	new->bi_opf = prev->bi_opf;
 	new->bi_write_hint = prev->bi_write_hint;
 
 	bio_chain(prev, new);
diff --git a/fs/iomap/direct-io.c b/fs/iomap/direct-io.c
index 03ea367df19a4..e2ba13645ef28 100644
--- a/fs/iomap/direct-io.c
+++ b/fs/iomap/direct-io.c
@@ -183,15 +183,13 @@ static void iomap_dio_zero(const struct iomap_iter *iter, struct iomap_dio *dio,
 	int flags = REQ_SYNC | REQ_IDLE;
 	struct bio *bio;
 
-	bio = bio_alloc(GFP_KERNEL, 1);
-	bio_set_dev(bio, iter->iomap.bdev);
+	bio = bio_alloc(iter->iomap.bdev, 1, REQ_OP_WRITE | flags, GFP_KERNEL);
 	bio->bi_iter.bi_sector = iomap_sector(&iter->iomap, pos);
 	bio->bi_private = dio;
 	bio->bi_end_io = iomap_dio_bio_end_io;
 
 	get_page(page);
 	__bio_add_page(bio, page, len, 0);
-	bio_set_op_attrs(bio, REQ_OP_WRITE, flags);
 	iomap_dio_submit_bio(iter, dio, bio, pos);
 }
 
@@ -309,14 +307,12 @@ static loff_t iomap_dio_bio_iter(const struct iomap_iter *iter,
 			goto out;
 		}
 
-		bio = bio_alloc(GFP_KERNEL, nr_pages);
-		bio_set_dev(bio, iomap->bdev);
+		bio = bio_alloc(iomap->bdev, nr_pages, bio_opf, GFP_KERNEL);
 		bio->bi_iter.bi_sector = iomap_sector(iomap, pos);
 		bio->bi_write_hint = dio->iocb->ki_hint;
 		bio->bi_ioprio = dio->iocb->ki_ioprio;
 		bio->bi_private = dio;
 		bio->bi_end_io = iomap_dio_bio_end_io;
-		bio->bi_opf = bio_opf;
 
 		ret = bio_iov_iter_get_pages(bio, dio->submit.iter);
 		if (unlikely(ret)) {
diff --git a/fs/jfs/jfs_logmgr.c b/fs/jfs/jfs_logmgr.c
index 78fd136ac13b9..997c81fcea349 100644
--- a/fs/jfs/jfs_logmgr.c
+++ b/fs/jfs/jfs_logmgr.c
@@ -1980,17 +1980,13 @@ static int lbmRead(struct jfs_log * log, int pn, struct lbuf ** bpp)
 
 	bp->l_flag |= lbmREAD;
 
-	bio = bio_alloc(GFP_NOFS, 1);
-
+	bio = bio_alloc(log->bdev, 1, REQ_OP_READ, GFP_NOFS);
 	bio->bi_iter.bi_sector = bp->l_blkno << (log->l2bsize - 9);
-	bio_set_dev(bio, log->bdev);
-
 	bio_add_page(bio, bp->l_page, LOGPSIZE, bp->l_offset);
 	BUG_ON(bio->bi_iter.bi_size != LOGPSIZE);
 
 	bio->bi_end_io = lbmIODone;
 	bio->bi_private = bp;
-	bio->bi_opf = REQ_OP_READ;
 	/*check if journaling to disk has been disabled*/
 	if (log->no_integrity) {
 		bio->bi_iter.bi_size = 0;
@@ -2125,16 +2121,13 @@ static void lbmStartIO(struct lbuf * bp)
 
 	jfs_info("lbmStartIO");
 
-	bio = bio_alloc(GFP_NOFS, 1);
+	bio = bio_alloc(log->bdev, 1, REQ_OP_WRITE | REQ_SYNC, GFP_NOFS);
 	bio->bi_iter.bi_sector = bp->l_blkno << (log->l2bsize - 9);
-	bio_set_dev(bio, log->bdev);
-
 	bio_add_page(bio, bp->l_page, LOGPSIZE, bp->l_offset);
 	BUG_ON(bio->bi_iter.bi_size != LOGPSIZE);
 
 	bio->bi_end_io = lbmIODone;
 	bio->bi_private = bp;
-	bio->bi_opf = REQ_OP_WRITE | REQ_SYNC;
 
 	/* check if journaling to disk has been disabled */
 	if (log->no_integrity) {
diff --git a/fs/jfs/jfs_metapage.c b/fs/jfs/jfs_metapage.c
index 104ae698443ed..fde1a9cf902e8 100644
--- a/fs/jfs/jfs_metapage.c
+++ b/fs/jfs/jfs_metapage.c
@@ -417,12 +417,10 @@ static int metapage_writepage(struct page *page, struct writeback_control *wbc)
 		}
 		len = min(xlen, (int)JFS_SBI(inode->i_sb)->nbperpage);
 
-		bio = bio_alloc(GFP_NOFS, 1);
-		bio_set_dev(bio, inode->i_sb->s_bdev);
+		bio = bio_alloc(inode->i_sb->s_bdev, 1, REQ_OP_WRITE, GFP_NOFS);
 		bio->bi_iter.bi_sector = pblock << (inode->i_blkbits - 9);
 		bio->bi_end_io = metapage_write_end_io;
 		bio->bi_private = page;
-		bio_set_op_attrs(bio, REQ_OP_WRITE, 0);
 
 		/* Don't call bio_add_page yet, we may add to this vec */
 		bio_offset = offset;
@@ -497,13 +495,12 @@ static int metapage_readpage(struct file *fp, struct page *page)
 			if (bio)
 				submit_bio(bio);
 
-			bio = bio_alloc(GFP_NOFS, 1);
-			bio_set_dev(bio, inode->i_sb->s_bdev);
+			bio = bio_alloc(inode->i_sb->s_bdev, 1, REQ_OP_READ,
+					GFP_NOFS);
 			bio->bi_iter.bi_sector =
 				pblock << (inode->i_blkbits - 9);
 			bio->bi_end_io = metapage_read_end_io;
 			bio->bi_private = page;
-			bio_set_op_attrs(bio, REQ_OP_READ, 0);
 			len = xlen << inode->i_blkbits;
 			offset = block_offset << inode->i_blkbits;
 			if (bio_add_page(bio, page, len, offset) < len)
diff --git a/fs/mpage.c b/fs/mpage.c
index c5817699b369b..12f41de78c539 100644
--- a/fs/mpage.c
+++ b/fs/mpage.c
@@ -280,10 +280,10 @@ static struct bio *do_mpage_readpage(struct mpage_readpage_args *args)
 								page))
 				goto out;
 		}
-		args->bio = bio_alloc(gfp, bio_max_segs(args->nr_pages));
+		args->bio = bio_alloc(bdev, bio_max_segs(args->nr_pages), 0,
+				      gfp);
 		if (args->bio == NULL)
 			goto confused;
-		bio_set_dev(args->bio, bdev);
 		args->bio->bi_iter.bi_sector = blocks[0] << (blkbits - 9);
 	}
 
@@ -593,8 +593,7 @@ static int __mpage_writepage(struct page *page, struct writeback_control *wbc,
 								page, wbc))
 				goto out;
 		}
-		bio = bio_alloc(GFP_NOFS, BIO_MAX_VECS);
-		bio_set_dev(bio, bdev);
+		bio = bio_alloc(bdev, BIO_MAX_VECS, 0, GFP_NOFS);
 		bio->bi_iter.bi_sector = blocks[0] << (blkbits - 9);
 
 		wbc_init_bio(wbc, bio);
diff --git a/fs/nfs/blocklayout/blocklayout.c b/fs/nfs/blocklayout/blocklayout.c
index 38e063af7e98a..79a8b451791f5 100644
--- a/fs/nfs/blocklayout/blocklayout.c
+++ b/fs/nfs/blocklayout/blocklayout.c
@@ -154,12 +154,10 @@ do_add_page_to_bio(struct bio *bio, int npg, int rw, sector_t isect,
 
 retry:
 	if (!bio) {
-		bio = bio_alloc(GFP_NOIO, bio_max_segs(npg));
+		bio = bio_alloc(map->bdev, bio_max_segs(npg), rw, GFP_NOIO);
 		bio->bi_iter.bi_sector = disk_addr >> SECTOR_SHIFT;
-		bio_set_dev(bio, map->bdev);
 		bio->bi_end_io = end_io;
 		bio->bi_private = par;
-		bio_set_op_attrs(bio, rw, 0);
 	}
 	if (bio_add_page(bio, page, *len, offset) < *len) {
 		bio = bl_submit_bio(bio);
diff --git a/fs/nilfs2/segbuf.c b/fs/nilfs2/segbuf.c
index 53b7c6d21cdd8..4f71faacd8253 100644
--- a/fs/nilfs2/segbuf.c
+++ b/fs/nilfs2/segbuf.c
@@ -391,8 +391,8 @@ static int nilfs_segbuf_submit_bh(struct nilfs_segment_buffer *segbuf,
 	BUG_ON(wi->nr_vecs <= 0);
  repeat:
 	if (!wi->bio) {
-		wi->bio = bio_alloc(GFP_NOIO, wi->nr_vecs);
-		bio_set_dev(wi->bio, wi->nilfs->ns_bdev);
+		wi->bio = bio_alloc(wi->nilfs->ns_bdev, wi->nr_vecs, 0,
+				    GFP_NOIO);
 		wi->bio->bi_iter.bi_sector = (wi->blocknr + wi->end) <<
 			(wi->nilfs->ns_blocksize_bits - 9);
 	}
diff --git a/fs/ntfs3/fsntfs.c b/fs/ntfs3/fsntfs.c
index 4a255e21ecf5f..0660a07c5a96e 100644
--- a/fs/ntfs3/fsntfs.c
+++ b/fs/ntfs3/fsntfs.c
@@ -1485,15 +1485,13 @@ int ntfs_bio_pages(struct ntfs_sb_info *sbi, const struct runs_tree *run,
 		lbo = ((u64)lcn << cluster_bits) + off;
 		len = ((u64)clen << cluster_bits) - off;
 new_bio:
-		new = bio_alloc(GFP_NOFS, nr_pages - page_idx);
+		new = bio_alloc(bdev, nr_pages - page_idx, op, GFP_NOFS);
 		if (bio) {
 			bio_chain(bio, new);
 			submit_bio(bio);
 		}
 		bio = new;
-		bio_set_dev(bio, bdev);
 		bio->bi_iter.bi_sector = lbo >> 9;
-		bio->bi_opf = op;
 
 		while (len) {
 			off = vbo & (PAGE_SIZE - 1);
@@ -1584,14 +1582,12 @@ int ntfs_bio_fill_1(struct ntfs_sb_info *sbi, const struct runs_tree *run)
 		lbo = (u64)lcn << cluster_bits;
 		len = (u64)clen << cluster_bits;
 new_bio:
-		new = bio_alloc(GFP_NOFS, BIO_MAX_VECS);
+		new = bio_alloc(bdev, BIO_MAX_VECS, REQ_OP_WRITE, GFP_NOFS);
 		if (bio) {
 			bio_chain(bio, new);
 			submit_bio(bio);
 		}
 		bio = new;
-		bio_set_dev(bio, bdev);
-		bio->bi_opf = REQ_OP_WRITE;
 		bio->bi_iter.bi_sector = lbo >> 9;
 
 		for (;;) {
diff --git a/fs/ocfs2/cluster/heartbeat.c b/fs/ocfs2/cluster/heartbeat.c
index f89ffcbd585ff..5cef858264b60 100644
--- a/fs/ocfs2/cluster/heartbeat.c
+++ b/fs/ocfs2/cluster/heartbeat.c
@@ -518,7 +518,7 @@ static struct bio *o2hb_setup_one_bio(struct o2hb_region *reg,
 	 * GFP_KERNEL that the local node can get fenced. It would be
 	 * nicest if we could pre-allocate these bios and avoid this
 	 * all together. */
-	bio = bio_alloc(GFP_ATOMIC, 16);
+	bio = bio_alloc(reg->hr_bdev, 16, op | op_flags, GFP_ATOMIC);
 	if (!bio) {
 		mlog(ML_ERROR, "Could not alloc slots BIO!\n");
 		bio = ERR_PTR(-ENOMEM);
@@ -527,10 +527,8 @@ static struct bio *o2hb_setup_one_bio(struct o2hb_region *reg,
 
 	/* Must put everything in 512 byte sectors for the bio... */
 	bio->bi_iter.bi_sector = (reg->hr_start_block + cs) << (bits - 9);
-	bio_set_dev(bio, reg->hr_bdev);
 	bio->bi_private = wc;
 	bio->bi_end_io = o2hb_bio_end_io;
-	bio_set_op_attrs(bio, op, op_flags);
 
 	vec_start = (cs << bits) % PAGE_SIZE;
 	while(cs < max_slots) {
diff --git a/fs/squashfs/block.c b/fs/squashfs/block.c
index 2db8bcf7ff859..622c844f6d118 100644
--- a/fs/squashfs/block.c
+++ b/fs/squashfs/block.c
@@ -86,16 +86,17 @@ static int squashfs_bio_read(struct super_block *sb, u64 index, int length,
 	int error, i;
 	struct bio *bio;
 
-	if (page_count <= BIO_MAX_VECS)
-		bio = bio_alloc(GFP_NOIO, page_count);
-	else
+	if (page_count <= BIO_MAX_VECS) {
+		bio = bio_alloc(sb->s_bdev, page_count, REQ_OP_READ, GFP_NOIO);
+	} else {
 		bio = bio_kmalloc(GFP_NOIO, page_count);
+		bio_set_dev(bio, sb->s_bdev);
+		bio->bi_opf = REQ_OP_READ;
+	}
 
 	if (!bio)
 		return -ENOMEM;
 
-	bio_set_dev(bio, sb->s_bdev);
-	bio->bi_opf = READ;
 	bio->bi_iter.bi_sector = block * (msblk->devblksize >> SECTOR_SHIFT);
 
 	for (i = 0; i < page_count; ++i) {
diff --git a/fs/xfs/xfs_bio_io.c b/fs/xfs/xfs_bio_io.c
index 667e297f59b16..eff4a9f21dcff 100644
--- a/fs/xfs/xfs_bio_io.c
+++ b/fs/xfs/xfs_bio_io.c
@@ -61,10 +61,9 @@ xfs_rw_bdev(
 	if (is_vmalloc && op == REQ_OP_WRITE)
 		flush_kernel_vmap_range(data, count);
 
-	bio = bio_alloc(GFP_KERNEL, bio_max_vecs(left));
-	bio_set_dev(bio, bdev);
+	bio = bio_alloc(bdev, bio_max_vecs(left), op | REQ_META | REQ_SYNC,
+			GFP_KERNEL);
 	bio->bi_iter.bi_sector = sector;
-	bio->bi_opf = op | REQ_META | REQ_SYNC;
 
 	do {
 		struct page	*page = kmem_to_page(data);
@@ -74,10 +73,9 @@ xfs_rw_bdev(
 		while (bio_add_page(bio, page, len, off) != len) {
 			struct bio	*prev = bio;
 
-			bio = bio_alloc(GFP_KERNEL, bio_max_vecs(left));
-			bio_copy_dev(bio, prev);
+			bio = bio_alloc(prev->bi_bdev, bio_max_vecs(left),
+					prev->bi_opf, GFP_KERNEL);
 			bio->bi_iter.bi_sector = bio_end_sector(prev);
-			bio->bi_opf = prev->bi_opf;
 			bio_chain(prev, bio);
 
 			submit_bio(prev);
diff --git a/fs/xfs/xfs_buf.c b/fs/xfs/xfs_buf.c
index b45e0d50a4052..ae87fd95b17e2 100644
--- a/fs/xfs/xfs_buf.c
+++ b/fs/xfs/xfs_buf.c
@@ -1440,12 +1440,10 @@ xfs_buf_ioapply_map(
 	atomic_inc(&bp->b_io_remaining);
 	nr_pages = bio_max_segs(total_nr_pages);
 
-	bio = bio_alloc(GFP_NOIO, nr_pages);
-	bio_set_dev(bio, bp->b_target->bt_bdev);
+	bio = bio_alloc(bp->b_target->bt_bdev, nr_pages, op, GFP_NOIO);
 	bio->bi_iter.bi_sector = sector;
 	bio->bi_end_io = xfs_buf_bio_end_io;
 	bio->bi_private = bp;
-	bio->bi_opf = op;
 
 	for (; size && nr_pages; nr_pages--, page_index++) {
 		int	rbytes, nbytes = PAGE_SIZE - offset;
diff --git a/fs/zonefs/super.c b/fs/zonefs/super.c
index b76dfb310ab65..c0fc2c326dcee 100644
--- a/fs/zonefs/super.c
+++ b/fs/zonefs/super.c
@@ -692,12 +692,11 @@ static ssize_t zonefs_file_dio_append(struct kiocb *iocb, struct iov_iter *from)
 	if (!nr_pages)
 		return 0;
 
-	bio = bio_alloc(GFP_NOFS, nr_pages);
-	bio_set_dev(bio, bdev);
+	bio = bio_alloc(bdev, nr_pages,
+			REQ_OP_ZONE_APPEND | REQ_SYNC | REQ_IDLE, GFP_NOFS);
 	bio->bi_iter.bi_sector = zi->i_zsector;
 	bio->bi_write_hint = iocb->ki_hint;
 	bio->bi_ioprio = iocb->ki_ioprio;
-	bio->bi_opf = REQ_OP_ZONE_APPEND | REQ_SYNC | REQ_IDLE;
 	if (iocb->ki_flags & IOCB_DSYNC)
 		bio->bi_opf |= REQ_FUA;
 
diff --git a/include/linux/bio.h b/include/linux/bio.h
index 5c5ada2ebb270..be6ac92913d48 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -418,9 +418,10 @@ extern struct bio *bio_clone_fast(struct bio *, gfp_t, struct bio_set *);
 
 extern struct bio_set fs_bio_set;
 
-static inline struct bio *bio_alloc(gfp_t gfp_mask, unsigned short nr_iovecs)
+static inline struct bio *bio_alloc(struct block_device *bdev,
+		unsigned short nr_vecs, unsigned int opf, gfp_t gfp_mask)
 {
-	return bio_alloc_bioset(NULL, nr_iovecs, 0, gfp_mask, &fs_bio_set);
+	return bio_alloc_bioset(bdev, nr_vecs, opf, gfp_mask, &fs_bio_set);
 }
 
 void submit_bio(struct bio *bio);
diff --git a/kernel/power/swap.c b/kernel/power/swap.c
index ad10359030a4c..9bce177454b82 100644
--- a/kernel/power/swap.c
+++ b/kernel/power/swap.c
@@ -277,10 +277,9 @@ static int hib_submit_io(int op, int op_flags, pgoff_t page_off, void *addr,
 	struct bio *bio;
 	int error = 0;
 
-	bio = bio_alloc(GFP_NOIO | __GFP_HIGH, 1);
+	bio = bio_alloc(hib_resume_bdev, 1, op | op_flags,
+			GFP_NOIO | __GFP_HIGH);
 	bio->bi_iter.bi_sector = page_off * (PAGE_SIZE >> 9);
-	bio_set_dev(bio, hib_resume_bdev);
-	bio_set_op_attrs(bio, op, op_flags);
 
 	if (bio_add_page(bio, page, PAGE_SIZE, 0) < PAGE_SIZE) {
 		pr_err("Adding page to bio failed at %llu\n",
diff --git a/mm/page_io.c b/mm/page_io.c
index 9725c7e1eeea1..874f134d6d79c 100644
--- a/mm/page_io.c
+++ b/mm/page_io.c
@@ -337,10 +337,10 @@ int __swap_writepage(struct page *page, struct writeback_control *wbc,
 		return 0;
 	}
 
-	bio = bio_alloc(GFP_NOIO, 1);
-	bio_set_dev(bio, sis->bdev);
+	bio = bio_alloc(sis->bdev, 1,
+			REQ_OP_WRITE | REQ_SWAP | wbc_to_write_flags(wbc),
+			GFP_NOIO);
 	bio->bi_iter.bi_sector = swap_page_sector(page);
-	bio->bi_opf = REQ_OP_WRITE | REQ_SWAP | wbc_to_write_flags(wbc);
 	bio->bi_end_io = end_write_func;
 	bio_add_page(bio, page, thp_size(page), 0);
 
@@ -401,9 +401,7 @@ int swap_readpage(struct page *page, bool synchronous)
 	}
 
 	ret = 0;
-	bio = bio_alloc(GFP_KERNEL, 1);
-	bio_set_dev(bio, sis->bdev);
-	bio->bi_opf = REQ_OP_READ;
+	bio = bio_alloc(sis->bdev, 1, REQ_OP_READ, GFP_KERNEL);
 	bio->bi_iter.bi_sector = swap_page_sector(page);
 	bio->bi_end_io = end_swap_bio_read;
 	bio_add_page(bio, page, thp_size(page), 0);
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 07:27:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 07:27:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258351.444784 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9itd-0000NQ-MK; Tue, 18 Jan 2022 07:27:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258351.444784; Tue, 18 Jan 2022 07:27:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9itd-0000NJ-Hy; Tue, 18 Jan 2022 07:27:13 +0000
Received: by outflank-mailman (input) for mailman id 258351;
 Tue, 18 Jan 2022 07:27:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lOsy=SC=bombadil.srs.infradead.org=BATV+4fe6c3c60fc7db690b35+6722+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1n9inQ-0000yV-EB
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 07:20:48 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 27bc1daa-782f-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 08:20:47 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a4a9:19c0:5242:7768] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1n9inB-000Ze7-Pu; Tue, 18 Jan 2022 07:20:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 27bc1daa-782f-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=MsGvE+zelEtK2ZAmqGr9r296MUnHWlWqqYprZYaU/Qc=; b=ba9hoWbGUd3UF44k/Q1mMFZiw/
	LOquygFZ4fhHqFh6+gf7JrujgcajikANTdNBLN8MIZKyEmfaiCzXF4lNuEZJ2P6fTOau2sn65xU10
	dCFsIPaRlIlvRWyRLxkC0dwaoUvYxJMzRqOdN9r+LVMcgfm0g1jRbrYIAfo9C4GZ4pGYzj29CKWeT
	/D8geXLwV2aSF8lhOFYa0OFLvaAZOe40o22cAi0T6ocY3y96rkCMbjZR4HvNQ2M6Lo8+CeJ1M7Xem
	kgOPpweTULHdz/SQ1i1vLPacHvqCx/PgmlCIY+x4RGd/gEqdgOieJWLFN+AehcSJ/Ecv1SlLj/DYe
	FDD9lnOw==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com
Subject: [PATCH 14/19] block: pass a block_device and opf to blk_next_bio
Date: Tue, 18 Jan 2022 08:19:47 +0100
Message-Id: <20220118071952.1243143-15-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220118071952.1243143-1-hch@lst.de>
References: <20220118071952.1243143-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

All callers need to set the block_device and operation, so lift that into
the common code.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 block/bio.c               |  6 +++++-
 block/blk-lib.c           | 19 +++++--------------
 block/blk-zoned.c         |  9 +++------
 block/blk.h               |  2 --
 drivers/nvme/target/zns.c |  6 +++---
 include/linux/bio.h       |  3 ++-
 6 files changed, 18 insertions(+), 27 deletions(-)

diff --git a/block/bio.c b/block/bio.c
index 43fb28ac6b44e..52c99bfa8008d 100644
--- a/block/bio.c
+++ b/block/bio.c
@@ -344,10 +344,14 @@ void bio_chain(struct bio *bio, struct bio *parent)
 }
 EXPORT_SYMBOL(bio_chain);
 
-struct bio *blk_next_bio(struct bio *bio, unsigned int nr_pages, gfp_t gfp)
+struct bio *blk_next_bio(struct bio *bio, struct block_device *bdev,
+		unsigned int nr_pages, unsigned int opf, gfp_t gfp)
 {
 	struct bio *new = bio_alloc(gfp, nr_pages);
 
+	bio_set_dev(new, bdev);
+	new->bi_opf = opf;
+
 	if (bio) {
 		bio_chain(bio, new);
 		submit_bio(bio);
diff --git a/block/blk-lib.c b/block/blk-lib.c
index 9245b300ef73e..1b8ced45e4e55 100644
--- a/block/blk-lib.c
+++ b/block/blk-lib.c
@@ -82,11 +82,8 @@ int __blkdev_issue_discard(struct block_device *bdev, sector_t sector,
 
 		WARN_ON_ONCE((req_sects << 9) > UINT_MAX);
 
-		bio = blk_next_bio(bio, 0, gfp_mask);
+		bio = blk_next_bio(bio, bdev, 0, op, gfp_mask);
 		bio->bi_iter.bi_sector = sector;
-		bio_set_dev(bio, bdev);
-		bio_set_op_attrs(bio, op, 0);
-
 		bio->bi_iter.bi_size = req_sects << 9;
 		sector += req_sects;
 		nr_sects -= req_sects;
@@ -176,14 +173,12 @@ static int __blkdev_issue_write_same(struct block_device *bdev, sector_t sector,
 	max_write_same_sectors = bio_allowed_max_sectors(q);
 
 	while (nr_sects) {
-		bio = blk_next_bio(bio, 1, gfp_mask);
+		bio = blk_next_bio(bio, bdev, 1, REQ_OP_WRITE_SAME, gfp_mask);
 		bio->bi_iter.bi_sector = sector;
-		bio_set_dev(bio, bdev);
 		bio->bi_vcnt = 1;
 		bio->bi_io_vec->bv_page = page;
 		bio->bi_io_vec->bv_offset = 0;
 		bio->bi_io_vec->bv_len = bdev_logical_block_size(bdev);
-		bio_set_op_attrs(bio, REQ_OP_WRITE_SAME, 0);
 
 		if (nr_sects > max_write_same_sectors) {
 			bio->bi_iter.bi_size = max_write_same_sectors << 9;
@@ -252,10 +247,8 @@ static int __blkdev_issue_write_zeroes(struct block_device *bdev,
 		return -EOPNOTSUPP;
 
 	while (nr_sects) {
-		bio = blk_next_bio(bio, 0, gfp_mask);
+		bio = blk_next_bio(bio, bdev, 0, REQ_OP_WRITE_ZEROES, gfp_mask);
 		bio->bi_iter.bi_sector = sector;
-		bio_set_dev(bio, bdev);
-		bio->bi_opf = REQ_OP_WRITE_ZEROES;
 		if (flags & BLKDEV_ZERO_NOUNMAP)
 			bio->bi_opf |= REQ_NOUNMAP;
 
@@ -303,11 +296,9 @@ static int __blkdev_issue_zero_pages(struct block_device *bdev,
 		return -EPERM;
 
 	while (nr_sects != 0) {
-		bio = blk_next_bio(bio, __blkdev_sectors_to_bio_pages(nr_sects),
-				   gfp_mask);
+		bio = blk_next_bio(bio, bdev, __blkdev_sectors_to_bio_pages(nr_sects),
+				   REQ_OP_WRITE, gfp_mask);
 		bio->bi_iter.bi_sector = sector;
-		bio_set_dev(bio, bdev);
-		bio_set_op_attrs(bio, REQ_OP_WRITE, 0);
 
 		while (nr_sects != 0) {
 			sz = min((sector_t) PAGE_SIZE, nr_sects << 9);
diff --git a/block/blk-zoned.c b/block/blk-zoned.c
index 774ecc598bee2..5ab755d792c81 100644
--- a/block/blk-zoned.c
+++ b/block/blk-zoned.c
@@ -215,9 +215,8 @@ static int blkdev_zone_reset_all_emulated(struct block_device *bdev,
 			continue;
 		}
 
-		bio = blk_next_bio(bio, 0, gfp_mask);
-		bio_set_dev(bio, bdev);
-		bio->bi_opf = REQ_OP_ZONE_RESET | REQ_SYNC;
+		bio = blk_next_bio(bio, bdev, 0, REQ_OP_ZONE_RESET | REQ_SYNC,
+				   gfp_mask);
 		bio->bi_iter.bi_sector = sector;
 		sector += zone_sectors;
 
@@ -306,9 +305,7 @@ int blkdev_zone_mgmt(struct block_device *bdev, enum req_opf op,
 	}
 
 	while (sector < end_sector) {
-		bio = blk_next_bio(bio, 0, gfp_mask);
-		bio_set_dev(bio, bdev);
-		bio->bi_opf = op | REQ_SYNC;
+		bio = blk_next_bio(bio, bdev, 0, op | REQ_SYNC, gfp_mask);
 		bio->bi_iter.bi_sector = sector;
 		sector += zone_sectors;
 
diff --git a/block/blk.h b/block/blk.h
index 8bd43b3ad33d5..6b93de33e8a43 100644
--- a/block/blk.h
+++ b/block/blk.h
@@ -406,8 +406,6 @@ extern int blk_iolatency_init(struct request_queue *q);
 static inline int blk_iolatency_init(struct request_queue *q) { return 0; }
 #endif
 
-struct bio *blk_next_bio(struct bio *bio, unsigned int nr_pages, gfp_t gfp);
-
 #ifdef CONFIG_BLK_DEV_ZONED
 void blk_queue_free_zone_bitmaps(struct request_queue *q);
 void blk_queue_clear_zone_settings(struct request_queue *q);
diff --git a/drivers/nvme/target/zns.c b/drivers/nvme/target/zns.c
index 46bc30fe85d2b..247de74247fab 100644
--- a/drivers/nvme/target/zns.c
+++ b/drivers/nvme/target/zns.c
@@ -412,10 +412,10 @@ static u16 nvmet_bdev_zone_mgmt_emulate_all(struct nvmet_req *req)
 
 	while (sector < get_capacity(bdev->bd_disk)) {
 		if (test_bit(blk_queue_zone_no(q, sector), d.zbitmap)) {
-			bio = blk_next_bio(bio, 0, GFP_KERNEL);
-			bio->bi_opf = zsa_req_op(req->cmd->zms.zsa) | REQ_SYNC;
+			bio = blk_next_bio(bio, bdev, 0,
+				zsa_req_op(req->cmd->zms.zsa) | REQ_SYNC,
+				GFP_KERNEL);
 			bio->bi_iter.bi_sector = sector;
-			bio_set_dev(bio, bdev);
 			/* This may take a while, so be nice to others */
 			cond_resched();
 		}
diff --git a/include/linux/bio.h b/include/linux/bio.h
index 117d7f248ac96..edeae54074ede 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -790,6 +790,7 @@ static inline void bio_set_polled(struct bio *bio, struct kiocb *kiocb)
 		bio->bi_opf |= REQ_NOWAIT;
 }
 
-struct bio *blk_next_bio(struct bio *bio, unsigned int nr_pages, gfp_t gfp);
+struct bio *blk_next_bio(struct bio *bio, struct block_device *bdev,
+		unsigned int nr_pages, unsigned int opf, gfp_t gfp);
 
 #endif /* __LINUX_BIO_H */
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 07:27:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 07:27:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258352.444795 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9itf-0000eG-0b; Tue, 18 Jan 2022 07:27:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258352.444795; Tue, 18 Jan 2022 07: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 1n9ite-0000dP-S7; Tue, 18 Jan 2022 07:27:14 +0000
Received: by outflank-mailman (input) for mailman id 258352;
 Tue, 18 Jan 2022 07:27:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lOsy=SC=bombadil.srs.infradead.org=BATV+4fe6c3c60fc7db690b35+6722+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1n9ind-0000yV-Af
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 07:21:01 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2ed1fa34-782f-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 08:20:59 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a4a9:19c0:5242:7768] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1n9inN-000ZkP-C4; Tue, 18 Jan 2022 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: 2ed1fa34-782f-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=ZHCR86dUvAsW1hFD24j5JZjygD9LIhxqOvbL3HEZ6eU=; b=tV9sWST5pnKj9x5G2GKKTJOugK
	Pm4EGTafhFTeBb5Wlz4lMM4Hi7/iBT9zlVLvWnig3hM9GiW15a+CJKImfDRxg8hXg/PKInS/BLHIm
	RKjCEjS87LHn0FkG1D+c01bNx80UWtkT+lIhtHWE5PsHV1RzGS4sGhV0JIk3p5qArixNbbk06UOUD
	w+71jdOyLG0Uu/GxJaBLwpdedOMUASigACwdXouFLvlwWOig3ZQERWs9ruanDF9d6ygYVlTsshgI2
	nxxstoOi/QzAKh2YM56YCRDZHbl0FV04LQ4eliIlQ9dU/GAhoG2oktUxkN71A5/TTM0qUJyZBDRU8
	7c/6x+Ew==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com
Subject: [PATCH 18/19] block: pass a block_device and opf to bio_init
Date: Tue, 18 Jan 2022 08:19:51 +0100
Message-Id: <20220118071952.1243143-19-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220118071952.1243143-1-hch@lst.de>
References: <20220118071952.1243143-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

Pass the block_device that we plan to use this bio for and the
operation to bio_init to optimize the assigment.  A NULL block_device
can be passed, both for the passthrough case on a raw request_queue and
to temporarily avoid refactoring some nasty code.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 block/bio.c                       | 26 +++++++++++++-------------
 block/blk-flush.c                 |  4 +---
 block/blk-zoned.c                 |  5 +----
 block/fops.c                      | 18 +++++++++---------
 drivers/block/floppy.c            |  4 +---
 drivers/block/zram/zram_drv.c     |  5 ++---
 drivers/md/bcache/io.c            |  3 ++-
 drivers/md/bcache/journal.c       |  4 +---
 drivers/md/bcache/movinggc.c      |  4 ++--
 drivers/md/bcache/request.c       |  2 +-
 drivers/md/bcache/super.c         |  8 +++-----
 drivers/md/bcache/writeback.c     |  4 ++--
 drivers/md/dm.c                   |  5 ++---
 drivers/md/md-multipath.c         |  2 +-
 drivers/md/md.c                   |  8 +++-----
 drivers/md/raid5-cache.c          |  2 +-
 drivers/md/raid5-ppl.c            |  2 +-
 drivers/md/raid5.c                |  4 ++--
 drivers/nvme/target/io-cmd-bdev.c | 10 ++++------
 drivers/nvme/target/passthru.c    |  4 ++--
 drivers/nvme/target/zns.c         |  4 ++--
 fs/iomap/buffered-io.c            |  4 +---
 fs/xfs/xfs_bio_io.c               |  4 +---
 fs/xfs/xfs_log.c                  | 14 +++++++-------
 fs/zonefs/super.c                 |  4 +---
 include/linux/bio.h               |  4 ++--
 26 files changed, 68 insertions(+), 90 deletions(-)

diff --git a/block/bio.c b/block/bio.c
index 5c97f56c1ee50..2480f80296eac 100644
--- a/block/bio.c
+++ b/block/bio.c
@@ -249,12 +249,14 @@ static void bio_free(struct bio *bio)
  * they must remember to pair any call to bio_init() with bio_uninit()
  * when IO has completed, or when the bio is released.
  */
-void bio_init(struct bio *bio, struct bio_vec *table,
-	      unsigned short max_vecs)
+void bio_init(struct bio *bio, struct block_device *bdev, struct bio_vec *table,
+	      unsigned short max_vecs, unsigned int opf)
 {
 	bio->bi_next = NULL;
-	bio->bi_bdev = NULL;
-	bio->bi_opf = 0;
+	bio->bi_bdev = bdev;
+	if (bdev)
+		bio_associate_blkg(bio);
+	bio->bi_opf = opf;
 	bio->bi_flags = 0;
 	bio->bi_ioprio = 0;
 	bio->bi_write_hint = 0;
@@ -504,16 +506,14 @@ struct bio *bio_alloc_bioset(struct block_device *bdev, unsigned short nr_vecs,
 		if (unlikely(!bvl))
 			goto err_free;
 
-		bio_init(bio, bvl, nr_vecs);
+		bio_init(bio, bdev, bvl, nr_vecs, opf);
 	} else if (nr_vecs) {
-		bio_init(bio, bio->bi_inline_vecs, BIO_INLINE_VECS);
+		bio_init(bio, bdev, bio->bi_inline_vecs, BIO_INLINE_VECS, opf);
 	} else {
-		bio_init(bio, NULL, 0);
+		bio_init(bio, bdev, NULL, 0, opf);
 	}
 
 	bio->bi_pool = bs;
-	bio_set_dev(bio, bdev);
-	bio->bi_opf = opf;
 	return bio;
 
 err_free:
@@ -541,7 +541,8 @@ struct bio *bio_kmalloc(gfp_t gfp_mask, unsigned short nr_iovecs)
 	bio = kmalloc(struct_size(bio, bi_inline_vecs, nr_iovecs), gfp_mask);
 	if (unlikely(!bio))
 		return NULL;
-	bio_init(bio, nr_iovecs ? bio->bi_inline_vecs : NULL, nr_iovecs);
+	bio_init(bio, NULL, nr_iovecs ? bio->bi_inline_vecs : NULL, nr_iovecs,
+		 0);
 	bio->bi_pool = NULL;
 	return bio;
 }
@@ -1754,9 +1755,8 @@ struct bio *bio_alloc_kiocb(struct kiocb *kiocb, struct block_device *bdev,
 		cache->free_list = bio->bi_next;
 		cache->nr--;
 		put_cpu();
-		bio_init(bio, nr_vecs ? bio->bi_inline_vecs : NULL, nr_vecs);
-		bio_set_dev(bio, bdev);
-		bio->bi_opf = opf;
+		bio_init(bio, bdev, nr_vecs ? bio->bi_inline_vecs : NULL,
+			 nr_vecs, opf);
 		bio->bi_pool = bs;
 		bio_set_flag(bio, BIO_PERCPU_CACHE);
 		return bio;
diff --git a/block/blk-flush.c b/block/blk-flush.c
index e4df894189ced..c689687248706 100644
--- a/block/blk-flush.c
+++ b/block/blk-flush.c
@@ -460,9 +460,7 @@ int blkdev_issue_flush(struct block_device *bdev)
 {
 	struct bio bio;
 
-	bio_init(&bio, NULL, 0);
-	bio_set_dev(&bio, bdev);
-	bio.bi_opf = REQ_OP_WRITE | REQ_PREFLUSH;
+	bio_init(&bio, bdev, NULL, 0, REQ_OP_WRITE | REQ_PREFLUSH);
 	return submit_bio_wait(&bio);
 }
 EXPORT_SYMBOL(blkdev_issue_flush);
diff --git a/block/blk-zoned.c b/block/blk-zoned.c
index 5ab755d792c81..602bef54c8134 100644
--- a/block/blk-zoned.c
+++ b/block/blk-zoned.c
@@ -238,10 +238,7 @@ static int blkdev_zone_reset_all(struct block_device *bdev, gfp_t gfp_mask)
 {
 	struct bio bio;
 
-	bio_init(&bio, NULL, 0);
-	bio_set_dev(&bio, bdev);
-	bio.bi_opf = REQ_OP_ZONE_RESET_ALL | REQ_SYNC;
-
+	bio_init(&bio, bdev, NULL, 0, REQ_OP_ZONE_RESET_ALL | REQ_SYNC);
 	return submit_bio_wait(&bio);
 }
 
diff --git a/block/fops.c b/block/fops.c
index c683596847731..3696665e586a8 100644
--- a/block/fops.c
+++ b/block/fops.c
@@ -75,8 +75,13 @@ static ssize_t __blkdev_direct_IO_simple(struct kiocb *iocb,
 			return -ENOMEM;
 	}
 
-	bio_init(&bio, vecs, nr_pages);
-	bio_set_dev(&bio, bdev);
+	if (iov_iter_rw(iter) == READ) {
+		bio_init(&bio, bdev, vecs, nr_pages, REQ_OP_READ);
+		if (iter_is_iovec(iter))
+			should_dirty = true;
+	} else {
+		bio_init(&bio, bdev, vecs, nr_pages, dio_bio_write_op(iocb));
+	}
 	bio.bi_iter.bi_sector = pos >> SECTOR_SHIFT;
 	bio.bi_write_hint = iocb->ki_hint;
 	bio.bi_private = current;
@@ -88,14 +93,9 @@ static ssize_t __blkdev_direct_IO_simple(struct kiocb *iocb,
 		goto out;
 	ret = bio.bi_iter.bi_size;
 
-	if (iov_iter_rw(iter) == READ) {
-		bio.bi_opf = REQ_OP_READ;
-		if (iter_is_iovec(iter))
-			should_dirty = true;
-	} else {
-		bio.bi_opf = dio_bio_write_op(iocb);
+	if (iov_iter_rw(iter) == WRITE)
 		task_io_account_write(ret);
-	}
+
 	if (iocb->ki_flags & IOCB_NOWAIT)
 		bio.bi_opf |= REQ_NOWAIT;
 	if (iocb->ki_flags & IOCB_HIPRI)
diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c
index e611411a934ce..19c2d0327e157 100644
--- a/drivers/block/floppy.c
+++ b/drivers/block/floppy.c
@@ -4129,15 +4129,13 @@ static int __floppy_read_block_0(struct block_device *bdev, int drive)
 
 	cbdata.drive = drive;
 
-	bio_init(&bio, &bio_vec, 1);
-	bio_set_dev(&bio, bdev);
+	bio_init(&bio, bdev, &bio_vec, 1, REQ_OP_READ);
 	bio_add_page(&bio, page, block_size(bdev), 0);
 
 	bio.bi_iter.bi_sector = 0;
 	bio.bi_flags |= (1 << BIO_QUIET);
 	bio.bi_private = &cbdata;
 	bio.bi_end_io = floppy_rb0_cb;
-	bio_set_op_attrs(&bio, REQ_OP_READ, 0);
 
 	init_completion(&cbdata.complete);
 
diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c
index d8dc7ed1c78fc..47c966cffe690 100644
--- a/drivers/block/zram/zram_drv.c
+++ b/drivers/block/zram/zram_drv.c
@@ -744,10 +744,9 @@ static ssize_t writeback_store(struct device *dev,
 			continue;
 		}
 
-		bio_init(&bio, &bio_vec, 1);
-		bio_set_dev(&bio, zram->bdev);
+		bio_init(&bio, zram->bdev, &bio_vec, 1,
+			 REQ_OP_WRITE | REQ_SYNC);
 		bio.bi_iter.bi_sector = blk_idx * (PAGE_SIZE >> 9);
-		bio.bi_opf = REQ_OP_WRITE | REQ_SYNC;
 
 		bio_add_page(&bio, bvec.bv_page, bvec.bv_len,
 				bvec.bv_offset);
diff --git a/drivers/md/bcache/io.c b/drivers/md/bcache/io.c
index 9c6f9ec55b724..020712c5203fd 100644
--- a/drivers/md/bcache/io.c
+++ b/drivers/md/bcache/io.c
@@ -26,7 +26,8 @@ struct bio *bch_bbio_alloc(struct cache_set *c)
 	struct bbio *b = mempool_alloc(&c->bio_meta, GFP_NOIO);
 	struct bio *bio = &b->bio;
 
-	bio_init(bio, bio->bi_inline_vecs, meta_bucket_pages(&c->cache->sb));
+	bio_init(bio, NULL, bio->bi_inline_vecs,
+		 meta_bucket_pages(&c->cache->sb), 0);
 
 	return bio;
 }
diff --git a/drivers/md/bcache/journal.c b/drivers/md/bcache/journal.c
index 61bd79babf7ae..6d26c5b06e2b6 100644
--- a/drivers/md/bcache/journal.c
+++ b/drivers/md/bcache/journal.c
@@ -611,11 +611,9 @@ static void do_journal_discard(struct cache *ca)
 
 		atomic_set(&ja->discard_in_flight, DISCARD_IN_FLIGHT);
 
-		bio_init(bio, bio->bi_inline_vecs, 1);
-		bio_set_op_attrs(bio, REQ_OP_DISCARD, 0);
+		bio_init(bio, ca->bdev, bio->bi_inline_vecs, 1, REQ_OP_DISCARD);
 		bio->bi_iter.bi_sector	= bucket_to_sector(ca->set,
 						ca->sb.d[ja->discard_idx]);
-		bio_set_dev(bio, ca->bdev);
 		bio->bi_iter.bi_size	= bucket_bytes(ca);
 		bio->bi_end_io		= journal_discard_endio;
 
diff --git a/drivers/md/bcache/movinggc.c b/drivers/md/bcache/movinggc.c
index b9c3d27ec093a..99499d1f6e666 100644
--- a/drivers/md/bcache/movinggc.c
+++ b/drivers/md/bcache/movinggc.c
@@ -79,8 +79,8 @@ static void moving_init(struct moving_io *io)
 {
 	struct bio *bio = &io->bio.bio;
 
-	bio_init(bio, bio->bi_inline_vecs,
-		 DIV_ROUND_UP(KEY_SIZE(&io->w->key), PAGE_SECTORS));
+	bio_init(bio, NULL, bio->bi_inline_vecs,
+		 DIV_ROUND_UP(KEY_SIZE(&io->w->key), PAGE_SECTORS), 0);
 	bio_get(bio);
 	bio_set_prio(bio, IOPRIO_PRIO_VALUE(IOPRIO_CLASS_IDLE, 0));
 
diff --git a/drivers/md/bcache/request.c b/drivers/md/bcache/request.c
index c4b7e434de8ac..d4b98ebffd948 100644
--- a/drivers/md/bcache/request.c
+++ b/drivers/md/bcache/request.c
@@ -685,7 +685,7 @@ static void do_bio_hook(struct search *s,
 {
 	struct bio *bio = &s->bio.bio;
 
-	bio_init(bio, NULL, 0);
+	bio_init(bio, NULL, NULL, 0, 0);
 	__bio_clone_fast(bio, orig_bio);
 	/*
 	 * bi_end_io can be set separately somewhere else, e.g. the
diff --git a/drivers/md/bcache/super.c b/drivers/md/bcache/super.c
index 140f35dc0c457..85577c9f971d2 100644
--- a/drivers/md/bcache/super.c
+++ b/drivers/md/bcache/super.c
@@ -343,8 +343,7 @@ void bch_write_bdev_super(struct cached_dev *dc, struct closure *parent)
 	down(&dc->sb_write_mutex);
 	closure_init(cl, parent);
 
-	bio_init(bio, dc->sb_bv, 1);
-	bio_set_dev(bio, dc->bdev);
+	bio_init(bio, dc->bdev, dc->sb_bv, 1, 0);
 	bio->bi_end_io	= write_bdev_super_endio;
 	bio->bi_private = dc;
 
@@ -387,8 +386,7 @@ void bcache_write_super(struct cache_set *c)
 	if (ca->sb.version < version)
 		ca->sb.version = version;
 
-	bio_init(bio, ca->sb_bv, 1);
-	bio_set_dev(bio, ca->bdev);
+	bio_init(bio, ca->bdev, ca->sb_bv, 1, 0);
 	bio->bi_end_io	= write_super_endio;
 	bio->bi_private = ca;
 
@@ -2240,7 +2238,7 @@ static int cache_alloc(struct cache *ca)
 	__module_get(THIS_MODULE);
 	kobject_init(&ca->kobj, &bch_cache_ktype);
 
-	bio_init(&ca->journal.bio, ca->journal.bio.bi_inline_vecs, 8);
+	bio_init(&ca->journal.bio, NULL, ca->journal.bio.bi_inline_vecs, 8, 0);
 
 	/*
 	 * when ca->sb.njournal_buckets is not zero, journal exists,
diff --git a/drivers/md/bcache/writeback.c b/drivers/md/bcache/writeback.c
index c7560f66dca88..d42301e6309d4 100644
--- a/drivers/md/bcache/writeback.c
+++ b/drivers/md/bcache/writeback.c
@@ -292,8 +292,8 @@ static void dirty_init(struct keybuf_key *w)
 	struct dirty_io *io = w->private;
 	struct bio *bio = &io->bio;
 
-	bio_init(bio, bio->bi_inline_vecs,
-		 DIV_ROUND_UP(KEY_SIZE(&w->key), PAGE_SECTORS));
+	bio_init(bio, NULL, bio->bi_inline_vecs,
+		 DIV_ROUND_UP(KEY_SIZE(&w->key), PAGE_SECTORS), 0);
 	if (!io->dc->writeback_percent)
 		bio_set_prio(bio, IOPRIO_PRIO_VALUE(IOPRIO_CLASS_IDLE, 0));
 
diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index 84f3dd58d1a16..09d9b674bd851 100644
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -1303,9 +1303,8 @@ static int __send_empty_flush(struct clone_info *ci)
 	 * need to reference it after submit. It's just used as
 	 * the basis for the clone(s).
 	 */
-	bio_init(&flush_bio, NULL, 0);
-	flush_bio.bi_opf = REQ_OP_WRITE | REQ_PREFLUSH | REQ_SYNC;
-	bio_set_dev(&flush_bio, ci->io->md->disk->part0);
+	bio_init(&flush_bio, ci->io->md->disk->part0, NULL, 0,
+		 REQ_OP_WRITE | REQ_PREFLUSH | REQ_SYNC);
 
 	ci->bio = &flush_bio;
 	ci->sector_count = 0;
diff --git a/drivers/md/md-multipath.c b/drivers/md/md-multipath.c
index e7d6486f090ff..5e15940634d85 100644
--- a/drivers/md/md-multipath.c
+++ b/drivers/md/md-multipath.c
@@ -121,7 +121,7 @@ static bool multipath_make_request(struct mddev *mddev, struct bio * bio)
 	}
 	multipath = conf->multipaths + mp_bh->path;
 
-	bio_init(&mp_bh->bio, NULL, 0);
+	bio_init(&mp_bh->bio, NULL, NULL, 0, 0);
 	__bio_clone_fast(&mp_bh->bio, bio);
 
 	mp_bh->bio.bi_iter.bi_sector += multipath->rdev->data_offset;
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 40fc1f7e65c5d..0a89f072dae0d 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -998,13 +998,11 @@ int sync_page_io(struct md_rdev *rdev, sector_t sector, int size,
 	struct bio bio;
 	struct bio_vec bvec;
 
-	bio_init(&bio, &bvec, 1);
-
 	if (metadata_op && rdev->meta_bdev)
-		bio_set_dev(&bio, rdev->meta_bdev);
+		bio_init(&bio, rdev->meta_bdev, &bvec, 1, op | op_flags);
 	else
-		bio_set_dev(&bio, rdev->bdev);
-	bio.bi_opf = op | op_flags;
+		bio_init(&bio, rdev->bdev, &bvec, 1, op | op_flags);
+
 	if (metadata_op)
 		bio.bi_iter.bi_sector = sector + rdev->sb_start;
 	else if (rdev->mddev->reshape_position != MaxSector &&
diff --git a/drivers/md/raid5-cache.c b/drivers/md/raid5-cache.c
index 66313adf99875..98b9ca11c28d8 100644
--- a/drivers/md/raid5-cache.c
+++ b/drivers/md/raid5-cache.c
@@ -3108,7 +3108,7 @@ int r5l_init_log(struct r5conf *conf, struct md_rdev *rdev)
 	INIT_LIST_HEAD(&log->io_end_ios);
 	INIT_LIST_HEAD(&log->flushing_ios);
 	INIT_LIST_HEAD(&log->finished_ios);
-	bio_init(&log->flush_bio, NULL, 0);
+	bio_init(&log->flush_bio, NULL, NULL, 0, 0);
 
 	log->io_kc = KMEM_CACHE(r5l_io_unit, 0);
 	if (!log->io_kc)
diff --git a/drivers/md/raid5-ppl.c b/drivers/md/raid5-ppl.c
index 054d3bb252d48..3446797fa0aca 100644
--- a/drivers/md/raid5-ppl.c
+++ b/drivers/md/raid5-ppl.c
@@ -250,7 +250,7 @@ static struct ppl_io_unit *ppl_new_iounit(struct ppl_log *log,
 	INIT_LIST_HEAD(&io->stripe_list);
 	atomic_set(&io->pending_stripes, 0);
 	atomic_set(&io->pending_flushes, 0);
-	bio_init(&io->bio, io->biovec, PPL_IO_INLINE_BVECS);
+	bio_init(&io->bio, NULL, io->biovec, PPL_IO_INLINE_BVECS, 0);
 
 	pplhdr = page_address(io->header_page);
 	clear_page(pplhdr);
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
index ffe720c73b0a5..a9dcc5bc9c329 100644
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
@@ -2310,8 +2310,8 @@ static struct stripe_head *alloc_stripe(struct kmem_cache *sc, gfp_t gfp,
 		for (i = 0; i < disks; i++) {
 			struct r5dev *dev = &sh->dev[i];
 
-			bio_init(&dev->req, &dev->vec, 1);
-			bio_init(&dev->rreq, &dev->rvec, 1);
+			bio_init(&dev->req, NULL, &dev->vec, 1, 0);
+			bio_init(&dev->rreq, NULL, &dev->rvec, 1, 0);
 		}
 
 		if (raid5_has_ppl(conf)) {
diff --git a/drivers/nvme/target/io-cmd-bdev.c b/drivers/nvme/target/io-cmd-bdev.c
index e092af3abc710..95c2bbb0b2f5f 100644
--- a/drivers/nvme/target/io-cmd-bdev.c
+++ b/drivers/nvme/target/io-cmd-bdev.c
@@ -267,9 +267,8 @@ static void nvmet_bdev_execute_rw(struct nvmet_req *req)
 
 	if (nvmet_use_inline_bvec(req)) {
 		bio = &req->b.inline_bio;
-		bio_init(bio, req->inline_bvec, ARRAY_SIZE(req->inline_bvec));
-		bio_set_dev(bio, req->ns->bdev);
-		bio->bi_opf = op;
+		bio_init(bio, req->ns->bdev, req->inline_bvec,
+			 ARRAY_SIZE(req->inline_bvec), op);
 	} else {
 		bio = bio_alloc(req->ns->bdev, bio_max_segs(sg_cnt), op,
 				GFP_KERNEL);
@@ -328,11 +327,10 @@ static void nvmet_bdev_execute_flush(struct nvmet_req *req)
 	if (!nvmet_check_transfer_len(req, 0))
 		return;
 
-	bio_init(bio, req->inline_bvec, ARRAY_SIZE(req->inline_bvec));
-	bio_set_dev(bio, req->ns->bdev);
+	bio_init(bio, req->ns->bdev, req->inline_bvec,
+		 ARRAY_SIZE(req->inline_bvec), REQ_OP_WRITE | REQ_PREFLUSH);
 	bio->bi_private = req;
 	bio->bi_end_io = nvmet_bio_done;
-	bio->bi_opf = REQ_OP_WRITE | REQ_PREFLUSH;
 
 	submit_bio(bio);
 }
diff --git a/drivers/nvme/target/passthru.c b/drivers/nvme/target/passthru.c
index 38f72968c3fde..a810bf569fff8 100644
--- a/drivers/nvme/target/passthru.c
+++ b/drivers/nvme/target/passthru.c
@@ -206,8 +206,8 @@ static int nvmet_passthru_map_sg(struct nvmet_req *req, struct request *rq)
 
 	if (nvmet_use_inline_bvec(req)) {
 		bio = &req->p.inline_bio;
-		bio_init(bio, req->inline_bvec, ARRAY_SIZE(req->inline_bvec));
-		bio->bi_opf = req_op(rq);
+		bio_init(bio, NULL, req->inline_bvec,
+			 ARRAY_SIZE(req->inline_bvec), req_op(rq));
 	} else {
 		bio = bio_alloc(NULL, bio_max_segs(req->sg_cnt), req_op(rq),
 				GFP_KERNEL);
diff --git a/drivers/nvme/target/zns.c b/drivers/nvme/target/zns.c
index 62c53e8f26d35..3e421217a7ade 100644
--- a/drivers/nvme/target/zns.c
+++ b/drivers/nvme/target/zns.c
@@ -552,8 +552,8 @@ void nvmet_bdev_execute_zone_append(struct nvmet_req *req)
 
 	if (nvmet_use_inline_bvec(req)) {
 		bio = &req->z.inline_bio;
-		bio_init(bio, req->inline_bvec, ARRAY_SIZE(req->inline_bvec));
-		bio->bi_opf = op;
+		bio_init(bio, req->ns->bdev, req->inline_bvec,
+			 ARRAY_SIZE(req->inline_bvec), op);
 	} else {
 		bio = bio_alloc(req->ns->bdev, req->sg_cnt, op, GFP_KERNEL);
 	}
diff --git a/fs/iomap/buffered-io.c b/fs/iomap/buffered-io.c
index 70f3657a6ec06..491534e908615 100644
--- a/fs/iomap/buffered-io.c
+++ b/fs/iomap/buffered-io.c
@@ -549,10 +549,8 @@ static int iomap_read_folio_sync(loff_t block_start, struct folio *folio,
 	struct bio_vec bvec;
 	struct bio bio;
 
-	bio_init(&bio, &bvec, 1);
-	bio.bi_opf = REQ_OP_READ;
+	bio_init(&bio, iomap->bdev, &bvec, 1, REQ_OP_READ);
 	bio.bi_iter.bi_sector = iomap_sector(iomap, block_start);
-	bio_set_dev(&bio, iomap->bdev);
 	bio_add_folio(&bio, folio, plen, poff);
 	return submit_bio_wait(&bio);
 }
diff --git a/fs/xfs/xfs_bio_io.c b/fs/xfs/xfs_bio_io.c
index eff4a9f21dcff..32fa02945f739 100644
--- a/fs/xfs/xfs_bio_io.c
+++ b/fs/xfs/xfs_bio_io.c
@@ -36,9 +36,7 @@ xfs_flush_bdev_async(
 		return;
 	}
 
-	bio_init(bio, NULL, 0);
-	bio_set_dev(bio, bdev);
-	bio->bi_opf = REQ_OP_WRITE | REQ_PREFLUSH | REQ_SYNC;
+	bio_init(bio, bdev, NULL, 0, REQ_OP_WRITE | REQ_PREFLUSH | REQ_SYNC);
 	bio->bi_private = done;
 	bio->bi_end_io = xfs_flush_bdev_async_endio;
 
diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c
index 89fec9a18c349..16f9edbda4eb3 100644
--- a/fs/xfs/xfs_log.c
+++ b/fs/xfs/xfs_log.c
@@ -1883,19 +1883,19 @@ xlog_write_iclog(
 		return;
 	}
 
-	bio_init(&iclog->ic_bio, iclog->ic_bvec, howmany(count, PAGE_SIZE));
-	bio_set_dev(&iclog->ic_bio, log->l_targ->bt_bdev);
-	iclog->ic_bio.bi_iter.bi_sector = log->l_logBBstart + bno;
-	iclog->ic_bio.bi_end_io = xlog_bio_end_io;
-	iclog->ic_bio.bi_private = iclog;
-
 	/*
 	 * We use REQ_SYNC | REQ_IDLE here to tell the block layer the are more
 	 * IOs coming immediately after this one. This prevents the block layer
 	 * writeback throttle from throttling log writes behind background
 	 * metadata writeback and causing priority inversions.
 	 */
-	iclog->ic_bio.bi_opf = REQ_OP_WRITE | REQ_META | REQ_SYNC | REQ_IDLE;
+	bio_init(&iclog->ic_bio, log->l_targ->bt_bdev, iclog->ic_bvec,
+		 howmany(count, PAGE_SIZE),
+		 REQ_OP_WRITE | REQ_META | REQ_SYNC | REQ_IDLE);
+	iclog->ic_bio.bi_iter.bi_sector = log->l_logBBstart + bno;
+	iclog->ic_bio.bi_end_io = xlog_bio_end_io;
+	iclog->ic_bio.bi_private = iclog;
+
 	if (iclog->ic_flags & XLOG_ICL_NEED_FLUSH) {
 		iclog->ic_bio.bi_opf |= REQ_PREFLUSH;
 		/*
diff --git a/fs/zonefs/super.c b/fs/zonefs/super.c
index c0fc2c326dcee..d331b52592a0a 100644
--- a/fs/zonefs/super.c
+++ b/fs/zonefs/super.c
@@ -1540,10 +1540,8 @@ static int zonefs_read_super(struct super_block *sb)
 	if (!page)
 		return -ENOMEM;
 
-	bio_init(&bio, &bio_vec, 1);
+	bio_init(&bio, sb->s_bdev, &bio_vec, 1, REQ_OP_READ);
 	bio.bi_iter.bi_sector = 0;
-	bio.bi_opf = REQ_OP_READ;
-	bio_set_dev(&bio, sb->s_bdev);
 	bio_add_page(&bio, page, PAGE_SIZE, 0);
 
 	ret = submit_bio_wait(&bio);
diff --git a/include/linux/bio.h b/include/linux/bio.h
index be6ac92913d48..41bedf727f59c 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -456,8 +456,8 @@ static inline int bio_iov_vecs_to_alloc(struct iov_iter *iter, int max_segs)
 struct request_queue;
 
 extern int submit_bio_wait(struct bio *bio);
-extern void bio_init(struct bio *bio, struct bio_vec *table,
-		     unsigned short max_vecs);
+void bio_init(struct bio *bio, struct block_device *bdev, struct bio_vec *table,
+	      unsigned short max_vecs, unsigned int opf);
 extern void bio_uninit(struct bio *);
 extern void bio_reset(struct bio *);
 void bio_chain(struct bio *, struct bio *);
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 07:27:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 07:27:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258353.444801 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9itf-0000iO-JO; Tue, 18 Jan 2022 07:27:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258353.444801; Tue, 18 Jan 2022 07:27:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9itf-0000hF-86; Tue, 18 Jan 2022 07:27:15 +0000
Received: by outflank-mailman (input) for mailman id 258353;
 Tue, 18 Jan 2022 07:27:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lOsy=SC=bombadil.srs.infradead.org=BATV+4fe6c3c60fc7db690b35+6722+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1n9inK-0000in-FW
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 07:20:42 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2284326c-782f-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 08:20:38 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a4a9:19c0:5242:7768] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1n9in6-000Zaz-6Z; Tue, 18 Jan 2022 07: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: 2284326c-782f-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=Hmdul2b824Aw+W7hsxfLRPm+W2xGls7ShW1BUgArE2A=; b=FlSg7Ip4B3XJbqRLUazSGBl6sY
	aCwhXTmbowZx9b2j7qi2Hd8DnfbGH4eiPxuAaA2nRPne046/wmkaYlrnWHmDzVrmLfbwtcNrB2Y5G
	L2k1rbD83lcM9y55YgCjdm3x34WIVHPPGGKbMAMBTkOlHX1/RYAWfOSXMvKfFfvu+z6XGHMVcEUOc
	GTFWU4kS/QuprLIJtVIfCwCheJZFCG7BPLBRkxMUGQVd05jFWnJg0a/6rUFRuwjohPcbkpzQsrxtv
	nMW27Vau8u3rAodC7STr3O6ThI27hF4j362D5p61hPICn2G3bNrEpQc2H7FsOMM9QEe/wLR7EuIoO
	m2N3R2JA==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com
Subject: [PATCH 12/19] xen-blkback: bio_alloc can't fail if it is allow to sleep
Date: Tue, 18 Jan 2022 08:19:45 +0100
Message-Id: <20220118071952.1243143-13-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220118071952.1243143-1-hch@lst.de>
References: <20220118071952.1243143-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

Remove handling of NULL returns from sleeping bio_alloc calls given that
those can't fail.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 drivers/block/xen-blkback/blkback.c | 14 --------------
 1 file changed, 14 deletions(-)

diff --git a/drivers/block/xen-blkback/blkback.c b/drivers/block/xen-blkback/blkback.c
index 14e452896d04c..6bb2ad7692065 100644
--- a/drivers/block/xen-blkback/blkback.c
+++ b/drivers/block/xen-blkback/blkback.c
@@ -1327,9 +1327,6 @@ static int dispatch_rw_block_io(struct xen_blkif_ring *ring,
 				     seg[i].nsec << 9,
 				     seg[i].offset) == 0)) {
 			bio = bio_alloc(GFP_KERNEL, bio_max_segs(nseg - i));
-			if (unlikely(bio == NULL))
-				goto fail_put_bio;
-
 			biolist[nbio++] = bio;
 			bio_set_dev(bio, preq.bdev);
 			bio->bi_private = pending_req;
@@ -1346,9 +1343,6 @@ static int dispatch_rw_block_io(struct xen_blkif_ring *ring,
 		BUG_ON(operation_flags != REQ_PREFLUSH);
 
 		bio = bio_alloc(GFP_KERNEL, 0);
-		if (unlikely(bio == NULL))
-			goto fail_put_bio;
-
 		biolist[nbio++] = bio;
 		bio_set_dev(bio, preq.bdev);
 		bio->bi_private = pending_req;
@@ -1381,14 +1375,6 @@ static int dispatch_rw_block_io(struct xen_blkif_ring *ring,
 	free_req(ring, pending_req);
 	msleep(1); /* back off a bit */
 	return -EIO;
-
- fail_put_bio:
-	for (i = 0; i < nbio; i++)
-		bio_put(biolist[i]);
-	atomic_set(&pending_req->pendcnt, 1);
-	__end_block_io_op(pending_req, BLK_STS_RESOURCE);
-	msleep(1); /* back off a bit */
-	return -EIO;
 }
 
 
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 07:27:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 07:27:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258359.444817 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9iu3-0002Cz-SM; Tue, 18 Jan 2022 07:27:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258359.444817; Tue, 18 Jan 2022 07:27:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9iu3-0002Cs-P8; Tue, 18 Jan 2022 07:27:39 +0000
Received: by outflank-mailman (input) for mailman id 258359;
 Tue, 18 Jan 2022 07:27:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lOsy=SC=bombadil.srs.infradead.org=BATV+4fe6c3c60fc7db690b35+6722+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1n9ind-0000in-P5
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 07:21:01 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2f682136-782f-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 08:21:00 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a4a9:19c0:5242:7768] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1n9inQ-000Zlb-97; Tue, 18 Jan 2022 07: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>
X-Inumbo-ID: 2f682136-782f-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=uW2mc9iWaFckCAcp0+ZfendEWrcDkE662kty754dA0k=; b=tZb6X2SFk3AoLZl4MFFNrJNAVh
	18JZLt1KWqP3DAtfpomGX0IflVAXcruOAEh1YiU+9I8odpyf6+No3+TjObDON1RWjxVy/IGtNnG8E
	LvCQEm/YAFQpwN8mA83LMBjnUK9UJkaTlVQqgASznI94zbmjmbVNclg+N9/qXCNccrg6ElamC+FFk
	/kIiDwhlzSLMtTWTB+8fCoB3lLJ0HOe6/hR7/3f4flFFFNA1IDQvQeoCvdgSp019KSjaRpMBSbvvJ
	Mu02rz/w0rXlf++ocMqZKX0syk1fzhMYadUObkhG8P65d51v9r9RXk76lBvqvNVrKN+/uZhqSSrfQ
	l9mMFOCg==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com
Subject: [PATCH 19/19] block: pass a block_device and opf to bio_reset
Date: Tue, 18 Jan 2022 08:19:52 +0100
Message-Id: <20220118071952.1243143-20-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220118071952.1243143-1-hch@lst.de>
References: <20220118071952.1243143-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

Pass the block_device that we plan to use this bio for and the
operation to bio_reset to optimize the assigment.  A NULL block_device
can be passed, both for the passthrough case on a raw request_queue and
to temporarily avoid refactoring some nasty code.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 block/bio.c                 |  6 +++++-
 drivers/block/pktcdvd.c     |  8 ++------
 drivers/md/bcache/journal.c | 12 ++++--------
 drivers/md/bcache/request.c |  4 ++--
 drivers/md/raid1.c          |  5 ++---
 drivers/md/raid10.c         |  8 +++-----
 drivers/md/raid5-cache.c    |  9 +++------
 drivers/md/raid5.c          |  8 ++++----
 fs/btrfs/disk-io.c          |  4 +---
 fs/crypto/bio.c             |  8 ++------
 include/linux/bio.h         |  9 +--------
 11 files changed, 29 insertions(+), 52 deletions(-)

diff --git a/block/bio.c b/block/bio.c
index 2480f80296eac..9050b0cc1e43e 100644
--- a/block/bio.c
+++ b/block/bio.c
@@ -295,6 +295,8 @@ EXPORT_SYMBOL(bio_init);
 /**
  * bio_reset - reinitialize a bio
  * @bio:	bio to reset
+ * @bdev:	block device to use the bio for
+ * @opf:	operation and flags for bio
  *
  * Description:
  *   After calling bio_reset(), @bio will be in the same state as a freshly
@@ -302,11 +304,13 @@ EXPORT_SYMBOL(bio_init);
  *   preserved are the ones that are initialized by bio_alloc_bioset(). See
  *   comment in struct bio.
  */
-void bio_reset(struct bio *bio)
+void bio_reset(struct bio *bio, struct block_device *bdev, unsigned int opf)
 {
 	bio_uninit(bio);
 	memset(bio, 0, BIO_RESET_BYTES);
 	atomic_set(&bio->__bi_remaining, 1);
+	bio->bi_bdev = bdev;
+	bio->bi_opf = opf;
 }
 EXPORT_SYMBOL(bio_reset);
 
diff --git a/drivers/block/pktcdvd.c b/drivers/block/pktcdvd.c
index 2b6b70a39e760..3aa5954429462 100644
--- a/drivers/block/pktcdvd.c
+++ b/drivers/block/pktcdvd.c
@@ -1020,9 +1020,8 @@ static void pkt_gather_data(struct pktcdvd_device *pd, struct packet_data *pkt)
 			continue;
 
 		bio = pkt->r_bios[f];
-		bio_reset(bio);
+		bio_reset(bio, pd->bdev, REQ_OP_READ);
 		bio->bi_iter.bi_sector = pkt->sector + f * (CD_FRAMESIZE >> 9);
-		bio_set_dev(bio, pd->bdev);
 		bio->bi_end_io = pkt_end_io_read;
 		bio->bi_private = pkt;
 
@@ -1034,7 +1033,6 @@ static void pkt_gather_data(struct pktcdvd_device *pd, struct packet_data *pkt)
 			BUG();
 
 		atomic_inc(&pkt->io_wait);
-		bio_set_op_attrs(bio, REQ_OP_READ, 0);
 		pkt_queue_bio(pd, bio);
 		frames_read++;
 	}
@@ -1235,9 +1233,8 @@ static void pkt_start_write(struct pktcdvd_device *pd, struct packet_data *pkt)
 {
 	int f;
 
-	bio_reset(pkt->w_bio);
+	bio_reset(pkt->w_bio, pd->bdev, REQ_OP_WRITE);
 	pkt->w_bio->bi_iter.bi_sector = pkt->sector;
-	bio_set_dev(pkt->w_bio, pd->bdev);
 	pkt->w_bio->bi_end_io = pkt_end_io_packet_write;
 	pkt->w_bio->bi_private = pkt;
 
@@ -1270,7 +1267,6 @@ static void pkt_start_write(struct pktcdvd_device *pd, struct packet_data *pkt)
 
 	/* Start the write request */
 	atomic_set(&pkt->io_wait, 1);
-	bio_set_op_attrs(pkt->w_bio, REQ_OP_WRITE, 0);
 	pkt_queue_bio(pd, pkt->w_bio);
 }
 
diff --git a/drivers/md/bcache/journal.c b/drivers/md/bcache/journal.c
index 6d26c5b06e2b6..7c2ca52ca3e43 100644
--- a/drivers/md/bcache/journal.c
+++ b/drivers/md/bcache/journal.c
@@ -53,14 +53,12 @@ static int journal_read_bucket(struct cache *ca, struct list_head *list,
 reread:		left = ca->sb.bucket_size - offset;
 		len = min_t(unsigned int, left, PAGE_SECTORS << JSET_BITS);
 
-		bio_reset(bio);
+		bio_reset(bio, ca->bdev, REQ_OP_READ);
 		bio->bi_iter.bi_sector	= bucket + offset;
-		bio_set_dev(bio, ca->bdev);
 		bio->bi_iter.bi_size	= len << 9;
 
 		bio->bi_end_io	= journal_read_endio;
 		bio->bi_private = &cl;
-		bio_set_op_attrs(bio, REQ_OP_READ, 0);
 		bch_bio_map(bio, data);
 
 		closure_bio_submit(ca->set, bio, &cl);
@@ -771,16 +769,14 @@ static void journal_write_unlocked(struct closure *cl)
 
 		atomic_long_add(sectors, &ca->meta_sectors_written);
 
-		bio_reset(bio);
+		bio_reset(bio, ca->bdev, REQ_OP_WRITE | 
+			  REQ_SYNC | REQ_META | REQ_PREFLUSH | REQ_FUA);
+		bch_bio_map(bio, w->data);
 		bio->bi_iter.bi_sector	= PTR_OFFSET(k, i);
-		bio_set_dev(bio, ca->bdev);
 		bio->bi_iter.bi_size = sectors << 9;
 
 		bio->bi_end_io	= journal_write_endio;
 		bio->bi_private = w;
-		bio_set_op_attrs(bio, REQ_OP_WRITE,
-				 REQ_SYNC|REQ_META|REQ_PREFLUSH|REQ_FUA);
-		bch_bio_map(bio, w->data);
 
 		trace_bcache_journal_write(bio, w->data->keys);
 		bio_list_add(&list, bio);
diff --git a/drivers/md/bcache/request.c b/drivers/md/bcache/request.c
index d4b98ebffd948..7ba59d08ed870 100644
--- a/drivers/md/bcache/request.c
+++ b/drivers/md/bcache/request.c
@@ -831,11 +831,11 @@ static void cached_dev_read_done(struct closure *cl)
 	 */
 
 	if (s->iop.bio) {
-		bio_reset(s->iop.bio);
+		bio_reset(s->iop.bio, s->cache_miss->bi_bdev, REQ_OP_READ);
 		s->iop.bio->bi_iter.bi_sector =
 			s->cache_miss->bi_iter.bi_sector;
-		bio_copy_dev(s->iop.bio, s->cache_miss);
 		s->iop.bio->bi_iter.bi_size = s->insert_bio_sectors << 9;
+		bio_clone_blkg_association(s->iop.bio, s->cache_miss);
 		bch_bio_map(s->iop.bio, NULL);
 
 		bio_copy_data(s->cache_miss, s->iop.bio);
diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c
index 43276f8fdc815..e7710fb5befb4 100644
--- a/drivers/md/raid1.c
+++ b/drivers/md/raid1.c
@@ -2166,11 +2166,10 @@ static void process_checks(struct r1bio *r1_bio)
 			continue;
 		/* fixup the bio for reuse, but preserve errno */
 		status = b->bi_status;
-		bio_reset(b);
+		bio_reset(b, conf->mirrors[i].rdev->bdev, REQ_OP_READ);
 		b->bi_status = status;
 		b->bi_iter.bi_sector = r1_bio->sector +
 			conf->mirrors[i].rdev->data_offset;
-		bio_set_dev(b, conf->mirrors[i].rdev->bdev);
 		b->bi_end_io = end_sync_read;
 		rp->raid_bio = r1_bio;
 		b->bi_private = rp;
@@ -2651,7 +2650,7 @@ static struct r1bio *raid1_alloc_init_r1buf(struct r1conf *conf)
 	for (i = conf->poolinfo->raid_disks; i--; ) {
 		bio = r1bio->bios[i];
 		rps = bio->bi_private;
-		bio_reset(bio);
+		bio_reset(bio, NULL, 0);
 		bio->bi_private = rps;
 	}
 	r1bio->master_bio = NULL;
diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c
index cb7c58050708e..da07bcbc06d08 100644
--- a/drivers/md/raid10.c
+++ b/drivers/md/raid10.c
@@ -2422,7 +2422,7 @@ static void sync_request_write(struct mddev *mddev, struct r10bio *r10_bio)
 		 * bi_vecs, as the read request might have corrupted these
 		 */
 		rp = get_resync_pages(tbio);
-		bio_reset(tbio);
+		bio_reset(tbio, conf->mirrors[d].rdev->bdev, REQ_OP_WRITE);
 
 		md_bio_reset_resync_pages(tbio, rp, fbio->bi_iter.bi_size);
 
@@ -2430,7 +2430,6 @@ static void sync_request_write(struct mddev *mddev, struct r10bio *r10_bio)
 		tbio->bi_private = rp;
 		tbio->bi_iter.bi_sector = r10_bio->devs[i].addr;
 		tbio->bi_end_io = end_sync_write;
-		bio_set_op_attrs(tbio, REQ_OP_WRITE, 0);
 
 		bio_copy_data(tbio, fbio);
 
@@ -2441,7 +2440,6 @@ static void sync_request_write(struct mddev *mddev, struct r10bio *r10_bio)
 		if (test_bit(FailFast, &conf->mirrors[d].rdev->flags))
 			tbio->bi_opf |= MD_FAILFAST;
 		tbio->bi_iter.bi_sector += conf->mirrors[d].rdev->data_offset;
-		bio_set_dev(tbio, conf->mirrors[d].rdev->bdev);
 		submit_bio_noacct(tbio);
 	}
 
@@ -3160,12 +3158,12 @@ static struct r10bio *raid10_alloc_init_r10buf(struct r10conf *conf)
 	for (i = 0; i < nalloc; i++) {
 		bio = r10bio->devs[i].bio;
 		rp = bio->bi_private;
-		bio_reset(bio);
+		bio_reset(bio, NULL, 0);
 		bio->bi_private = rp;
 		bio = r10bio->devs[i].repl_bio;
 		if (bio) {
 			rp = bio->bi_private;
-			bio_reset(bio);
+			bio_reset(bio, NULL, 0);
 			bio->bi_private = rp;
 		}
 	}
diff --git a/drivers/md/raid5-cache.c b/drivers/md/raid5-cache.c
index 98b9ca11c28d8..86e2bb89d9c7b 100644
--- a/drivers/md/raid5-cache.c
+++ b/drivers/md/raid5-cache.c
@@ -1301,10 +1301,9 @@ void r5l_flush_stripe_to_raid(struct r5l_log *log)
 
 	if (!do_flush)
 		return;
-	bio_reset(&log->flush_bio);
-	bio_set_dev(&log->flush_bio, log->rdev->bdev);
+	bio_reset(&log->flush_bio, log->rdev->bdev,
+		  REQ_OP_WRITE | REQ_PREFLUSH);
 	log->flush_bio.bi_end_io = r5l_log_flush_endio;
-	log->flush_bio.bi_opf = REQ_OP_WRITE | REQ_PREFLUSH;
 	submit_bio(&log->flush_bio);
 }
 
@@ -1678,9 +1677,7 @@ static int r5l_recovery_fetch_ra_pool(struct r5l_log *log,
 				      struct r5l_recovery_ctx *ctx,
 				      sector_t offset)
 {
-	bio_reset(ctx->ra_bio);
-	bio_set_dev(ctx->ra_bio, log->rdev->bdev);
-	bio_set_op_attrs(ctx->ra_bio, REQ_OP_READ, 0);
+	bio_reset(ctx->ra_bio, log->rdev->bdev, REQ_OP_READ);
 	ctx->ra_bio->bi_iter.bi_sector = log->rdev->data_offset + offset;
 
 	ctx->valid_pages = 0;
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
index a9dcc5bc9c329..7c119208a2143 100644
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
@@ -2677,7 +2677,7 @@ static void raid5_end_read_request(struct bio * bi)
 		(unsigned long long)sh->sector, i, atomic_read(&sh->count),
 		bi->bi_status);
 	if (i == disks) {
-		bio_reset(bi);
+		bio_reset(bi, NULL, 0);
 		BUG();
 		return;
 	}
@@ -2785,7 +2785,7 @@ static void raid5_end_read_request(struct bio * bi)
 		}
 	}
 	rdev_dec_pending(rdev, conf->mddev);
-	bio_reset(bi);
+	bio_reset(bi, NULL, 0);
 	clear_bit(R5_LOCKED, &sh->dev[i].flags);
 	set_bit(STRIPE_HANDLE, &sh->state);
 	raid5_release_stripe(sh);
@@ -2823,7 +2823,7 @@ static void raid5_end_write_request(struct bio *bi)
 		(unsigned long long)sh->sector, i, atomic_read(&sh->count),
 		bi->bi_status);
 	if (i == disks) {
-		bio_reset(bi);
+		bio_reset(bi, NULL, 0);
 		BUG();
 		return;
 	}
@@ -2860,7 +2860,7 @@ static void raid5_end_write_request(struct bio *bi)
 	if (sh->batch_head && bi->bi_status && !replacement)
 		set_bit(STRIPE_BATCH_ERR, &sh->batch_head->state);
 
-	bio_reset(bi);
+	bio_reset(bi, NULL, 0);
 	if (!test_and_clear_bit(R5_DOUBLE_LOCKED, &sh->dev[i].flags))
 		clear_bit(R5_LOCKED, &sh->dev[i].flags);
 	set_bit(STRIPE_HANDLE, &sh->state);
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index f45aa506f9a6f..505ba21230b1f 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -4154,10 +4154,8 @@ static void write_dev_flush(struct btrfs_device *device)
 		return;
 #endif
 
-	bio_reset(bio);
+	bio_reset(bio, device->bdev, REQ_OP_WRITE | REQ_SYNC | REQ_PREFLUSH);
 	bio->bi_end_io = btrfs_end_empty_barrier;
-	bio_set_dev(bio, device->bdev);
-	bio->bi_opf = REQ_OP_WRITE | REQ_SYNC | REQ_PREFLUSH;
 	init_completion(&device->flush_wait);
 	bio->bi_private = &device->flush_wait;
 
diff --git a/fs/crypto/bio.c b/fs/crypto/bio.c
index 755e985a42e0b..2217fe5ece6f9 100644
--- a/fs/crypto/bio.c
+++ b/fs/crypto/bio.c
@@ -80,9 +80,7 @@ static int fscrypt_zeroout_range_inline_crypt(const struct inode *inode,
 			err = submit_bio_wait(bio);
 			if (err)
 				goto out;
-			bio_reset(bio);
-			bio_set_dev(bio, inode->i_sb->s_bdev);
-			bio->bi_opf = REQ_OP_WRITE;
+			bio_reset(bio, inode->i_sb->s_bdev, REQ_OP_WRITE);
 			num_pages = 0;
 		}
 	}
@@ -181,9 +179,7 @@ int fscrypt_zeroout_range(const struct inode *inode, pgoff_t lblk,
 		err = submit_bio_wait(bio);
 		if (err)
 			goto out;
-		bio_reset(bio);
-		bio_set_dev(bio, inode->i_sb->s_bdev);
-		bio->bi_opf = REQ_OP_WRITE;
+		bio_reset(bio, inode->i_sb->s_bdev, REQ_OP_WRITE);
 	} while (len != 0);
 	err = 0;
 out:
diff --git a/include/linux/bio.h b/include/linux/bio.h
index 41bedf727f59c..18cfe5bb41ea8 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -459,7 +459,7 @@ extern int submit_bio_wait(struct bio *bio);
 void bio_init(struct bio *bio, struct block_device *bdev, struct bio_vec *table,
 	      unsigned short max_vecs, unsigned int opf);
 extern void bio_uninit(struct bio *);
-extern void bio_reset(struct bio *);
+void bio_reset(struct bio *bio, struct block_device *bdev, unsigned int opf);
 void bio_chain(struct bio *, struct bio *);
 
 int bio_add_page(struct bio *, struct page *, unsigned len, unsigned off);
@@ -517,13 +517,6 @@ static inline void bio_set_dev(struct bio *bio, struct block_device *bdev)
 	bio_associate_blkg(bio);
 }
 
-static inline void bio_copy_dev(struct bio *dst, struct bio *src)
-{
-	bio_clear_flag(dst, BIO_REMAPPED);
-	dst->bi_bdev = src->bi_bdev;
-	bio_clone_blkg_association(dst, src);
-}
-
 /*
  * BIO list management for use by remapping drivers (e.g. DM or MD) and loop.
  *
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 07:27:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 07:27:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258361.444828 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9iuH-0002ic-8I; Tue, 18 Jan 2022 07:27:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258361.444828; Tue, 18 Jan 2022 07:27:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9iuH-0002iQ-13; Tue, 18 Jan 2022 07:27:53 +0000
Received: by outflank-mailman (input) for mailman id 258361;
 Tue, 18 Jan 2022 07:27:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lOsy=SC=bombadil.srs.infradead.org=BATV+4fe6c3c60fc7db690b35+6722+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1n9inT-0000yV-OD
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 07:20:51 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 29b0e064-782f-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 08:20:50 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a4a9:19c0:5242:7768] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1n9inH-000Zhx-H9; Tue, 18 Jan 2022 07:20:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 29b0e064-782f-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=n+SGsohM60cq+fLGHc5ijGdJnd672X25O1+AlD3fwoU=; b=E5qQ7cHCOB8E5bse+tfL2AKcZK
	r+SfsD7Dse7W4376XjX/QMJ3A15ruK5ZcxbJcXmMEYkcE3n1zgc/FbS+E78yMDWaDo7TjSLed4zHS
	UX8TKNFcL7+8tC5b0P0ZCbplAUzHZL17b6Votek9v8psQp4i37B4UiesYYjdetvfMgwbwI3VXoNEx
	Ly2I/tz0F2Q6gikjx+gTbistLA4dF+KwUu75WyYYUmhPJPAH+44s66SgzcfaVpZ9L08+q/GLDWM8l
	y4oJ2U73CDZnNUsIRRFFFPQthdNAAweAsRtQqFmobRBqBabHbc3WIaMe/oOMesrFh/+6qGdvosiOW
	Voei4a8g==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com
Subject: [PATCH 16/19] block: pass a block_device and opf to bio_alloc_kiocb
Date: Tue, 18 Jan 2022 08:19:49 +0100
Message-Id: <20220118071952.1243143-17-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220118071952.1243143-1-hch@lst.de>
References: <20220118071952.1243143-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

Pass the block_device and operation that we plan to use this bio for to
bio_alloc_kiocb to optimize the assigment.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 block/bio.c         | 12 ++++++++----
 block/fops.c        | 17 ++++++++---------
 include/linux/bio.h |  4 ++--
 3 files changed, 18 insertions(+), 15 deletions(-)

diff --git a/block/bio.c b/block/bio.c
index a58bc82d3c85f..8853ed6260cfd 100644
--- a/block/bio.c
+++ b/block/bio.c
@@ -1729,7 +1729,9 @@ EXPORT_SYMBOL(bioset_init_from_src);
 /**
  * bio_alloc_kiocb - Allocate a bio from bio_set based on kiocb
  * @kiocb:	kiocb describing the IO
+ * @bdev:	block device to allocate the bio for (can be %NULL)
  * @nr_vecs:	number of iovecs to pre-allocate
+ * @opf:	operation and flags for bio
  * @bs:		bio_set to allocate from
  *
  * Description:
@@ -1740,14 +1742,14 @@ EXPORT_SYMBOL(bioset_init_from_src);
  *    MUST be done from process context, not hard/soft IRQ.
  *
  */
-struct bio *bio_alloc_kiocb(struct kiocb *kiocb, unsigned short nr_vecs,
-			    struct bio_set *bs)
+struct bio *bio_alloc_kiocb(struct kiocb *kiocb, struct block_device *bdev,
+		unsigned short nr_vecs, unsigned int opf, struct bio_set *bs)
 {
 	struct bio_alloc_cache *cache;
 	struct bio *bio;
 
 	if (!(kiocb->ki_flags & IOCB_ALLOC_CACHE) || nr_vecs > BIO_INLINE_VECS)
-		return bio_alloc_bioset(NULL, nr_vecs, 0, GFP_KERNEL, bs);
+		return bio_alloc_bioset(bdev, nr_vecs, opf, GFP_KERNEL, bs);
 
 	cache = per_cpu_ptr(bs->cache, get_cpu());
 	if (cache->free_list) {
@@ -1756,12 +1758,14 @@ struct bio *bio_alloc_kiocb(struct kiocb *kiocb, unsigned short nr_vecs,
 		cache->nr--;
 		put_cpu();
 		bio_init(bio, nr_vecs ? bio->bi_inline_vecs : NULL, nr_vecs);
+		bio_set_dev(bio, bdev);
+		bio->bi_opf = opf;
 		bio->bi_pool = bs;
 		bio_set_flag(bio, BIO_PERCPU_CACHE);
 		return bio;
 	}
 	put_cpu();
-	bio = bio_alloc_bioset(NULL, nr_vecs, 0, GFP_KERNEL, bs);
+	bio = bio_alloc_bioset(bdev, nr_vecs, opf, GFP_KERNEL, bs);
 	bio_set_flag(bio, BIO_PERCPU_CACHE);
 	return bio;
 }
diff --git a/block/fops.c b/block/fops.c
index 26bf15c770d21..3a62b8b912750 100644
--- a/block/fops.c
+++ b/block/fops.c
@@ -190,6 +190,7 @@ static ssize_t __blkdev_direct_IO(struct kiocb *iocb, struct iov_iter *iter,
 	struct blkdev_dio *dio;
 	struct bio *bio;
 	bool is_read = (iov_iter_rw(iter) == READ), is_sync;
+	unsigned int opf = is_read ? REQ_OP_READ : dio_bio_write_op(iocb);
 	loff_t pos = iocb->ki_pos;
 	int ret = 0;
 
@@ -197,7 +198,7 @@ static ssize_t __blkdev_direct_IO(struct kiocb *iocb, struct iov_iter *iter,
 	    (bdev_logical_block_size(bdev) - 1))
 		return -EINVAL;
 
-	bio = bio_alloc_kiocb(iocb, nr_pages, &blkdev_dio_pool);
+	bio = bio_alloc_kiocb(iocb, bdev, nr_pages, opf, &blkdev_dio_pool);
 
 	dio = container_of(bio, struct blkdev_dio, bio);
 	atomic_set(&dio->ref, 1);
@@ -223,7 +224,6 @@ static ssize_t __blkdev_direct_IO(struct kiocb *iocb, struct iov_iter *iter,
 	blk_start_plug(&plug);
 
 	for (;;) {
-		bio_set_dev(bio, bdev);
 		bio->bi_iter.bi_sector = pos >> SECTOR_SHIFT;
 		bio->bi_write_hint = iocb->ki_hint;
 		bio->bi_private = dio;
@@ -238,11 +238,9 @@ static ssize_t __blkdev_direct_IO(struct kiocb *iocb, struct iov_iter *iter,
 		}
 
 		if (is_read) {
-			bio->bi_opf = REQ_OP_READ;
 			if (dio->flags & DIO_SHOULD_DIRTY)
 				bio_set_pages_dirty(bio);
 		} else {
-			bio->bi_opf = dio_bio_write_op(iocb);
 			task_io_account_write(bio->bi_iter.bi_size);
 		}
 		if (iocb->ki_flags & IOCB_NOWAIT)
@@ -259,6 +257,8 @@ static ssize_t __blkdev_direct_IO(struct kiocb *iocb, struct iov_iter *iter,
 		atomic_inc(&dio->ref);
 		submit_bio(bio);
 		bio = bio_alloc(GFP_KERNEL, nr_pages);
+		bio_set_dev(bio, bdev);
+		bio->bi_opf = opf;
 	}
 
 	blk_finish_plug(&plug);
@@ -311,6 +311,8 @@ static ssize_t __blkdev_direct_IO_async(struct kiocb *iocb,
 					unsigned int nr_pages)
 {
 	struct block_device *bdev = iocb->ki_filp->private_data;
+	bool is_read = iov_iter_rw(iter) == READ;
+	unsigned int opf = is_read ? REQ_OP_READ : dio_bio_write_op(iocb);
 	struct blkdev_dio *dio;
 	struct bio *bio;
 	loff_t pos = iocb->ki_pos;
@@ -320,11 +322,10 @@ static ssize_t __blkdev_direct_IO_async(struct kiocb *iocb,
 	    (bdev_logical_block_size(bdev) - 1))
 		return -EINVAL;
 
-	bio = bio_alloc_kiocb(iocb, nr_pages, &blkdev_dio_pool);
+	bio = bio_alloc_kiocb(iocb, bdev, nr_pages, opf, &blkdev_dio_pool);
 	dio = container_of(bio, struct blkdev_dio, bio);
 	dio->flags = 0;
 	dio->iocb = iocb;
-	bio_set_dev(bio, bdev);
 	bio->bi_iter.bi_sector = pos >> SECTOR_SHIFT;
 	bio->bi_write_hint = iocb->ki_hint;
 	bio->bi_end_io = blkdev_bio_end_io_async;
@@ -347,14 +348,12 @@ static ssize_t __blkdev_direct_IO_async(struct kiocb *iocb,
 	}
 	dio->size = bio->bi_iter.bi_size;
 
-	if (iov_iter_rw(iter) == READ) {
-		bio->bi_opf = REQ_OP_READ;
+	if (is_read) {
 		if (iter_is_iovec(iter)) {
 			dio->flags |= DIO_SHOULD_DIRTY;
 			bio_set_pages_dirty(bio);
 		}
 	} else {
-		bio->bi_opf = dio_bio_write_op(iocb);
 		task_io_account_write(bio->bi_iter.bi_size);
 	}
 
diff --git a/include/linux/bio.h b/include/linux/bio.h
index 2f63ae9a71e1a..5c5ada2ebb270 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -408,8 +408,8 @@ extern int bioset_init_from_src(struct bio_set *bs, struct bio_set *src);
 struct bio *bio_alloc_bioset(struct block_device *bdev, unsigned short nr_vecs,
 			     unsigned int opf, gfp_t gfp_mask,
 			     struct bio_set *bs);
-struct bio *bio_alloc_kiocb(struct kiocb *kiocb, unsigned short nr_vecs,
-		struct bio_set *bs);
+struct bio *bio_alloc_kiocb(struct kiocb *kiocb, struct block_device *bdev,
+		unsigned short nr_vecs, unsigned int opf, struct bio_set *bs);
 struct bio *bio_kmalloc(gfp_t gfp_mask, unsigned short nr_iovecs);
 extern void bio_put(struct bio *);
 
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 07:27:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 07:27:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258365.444839 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9iuJ-00034S-EM; Tue, 18 Jan 2022 07:27:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258365.444839; Tue, 18 Jan 2022 07: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 1n9iuJ-00034J-AM; Tue, 18 Jan 2022 07:27:55 +0000
Received: by outflank-mailman (input) for mailman id 258365;
 Tue, 18 Jan 2022 07:27:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lOsy=SC=bombadil.srs.infradead.org=BATV+4fe6c3c60fc7db690b35+6722+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1n9inV-0000yV-Og
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 07:20:53 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 29edb380-782f-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 08:20:51 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a4a9:19c0:5242:7768] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1n9inE-000Zg8-Lu; Tue, 18 Jan 2022 07:20:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 29edb380-782f-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=2tJLPdED4SGW7vJ+FwaWFHXC0m4BTaKxi6F9pfd4VTw=; b=Iyoh+Rz2uIOTM/jdoHtisuE4MS
	1lMaLS2Gx18JfZpvcTj6vRtv8q0hizPNrgXSN4AeLB632Naqe/uHKRAzP+ft0o4tRmGx7WnA7zovL
	uvfA8fZG7T/OM2S0se5fT6ySrM4db6TLCqncJKE1zfD9Gi4Uxa9Dr4ODgkf33zu0zb94/NCHtUHU3
	aqx42oON5Unsqj6PvSH+7AkFJQR6XHPnV0Q7WQr/1eibQAw3c877Hpb/7xp6f4h7+nyAuKGQE/dxF
	6rUG/MSeN1Ydc5mjbpl18/4yxnBnoZJrRG1MmFbdfcxBIvxdujM/Ch6/YT+fuBG8gNSnu4QYt3dp1
	Ua1CpJDw==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com
Subject: [PATCH 15/19] block: pass a block_device and opf to bio_alloc_bioset
Date: Tue, 18 Jan 2022 08:19:48 +0100
Message-Id: <20220118071952.1243143-16-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220118071952.1243143-1-hch@lst.de>
References: <20220118071952.1243143-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

Pass the block_device and operation that we plan to use this bio for to
bio_alloc_bioset to optimize the assigment.  NULL/0 can be passed, both
for the passthrough case on a raw request_queue and to temporarily avoid
refactoring some nasty code.

Also move the gfp_mask argument after the nr_vecs argument for a much
more logical calling convention matching what most of the kernel does.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 block/bio.c                         | 29 +++++++++++++++++------------
 block/bounce.c                      |  6 ++----
 drivers/block/drbd/drbd_actlog.c    |  5 ++---
 drivers/block/drbd/drbd_bitmap.c    |  7 +++----
 drivers/md/bcache/request.c         | 12 +++++-------
 drivers/md/dm-crypt.c               |  5 ++---
 drivers/md/dm-io.c                  |  5 ++---
 drivers/md/dm-writecache.c          |  7 ++++---
 drivers/md/dm.c                     |  5 +++--
 drivers/md/md.c                     | 16 ++++++++--------
 drivers/md/raid1.c                  |  3 ++-
 drivers/md/raid10.c                 |  6 ++----
 drivers/md/raid5-cache.c            |  8 ++++----
 drivers/md/raid5-ppl.c              | 11 +++++------
 drivers/target/target_core_iblock.c |  6 ++----
 fs/btrfs/extent_io.c                |  2 +-
 fs/f2fs/data.c                      |  7 +++----
 fs/iomap/buffered-io.c              |  6 +++---
 include/linux/bio.h                 |  7 ++++---
 19 files changed, 74 insertions(+), 79 deletions(-)

diff --git a/block/bio.c b/block/bio.c
index 52c99bfa8008d..a58bc82d3c85f 100644
--- a/block/bio.c
+++ b/block/bio.c
@@ -417,8 +417,10 @@ static void punt_bios_to_rescuer(struct bio_set *bs)
 
 /**
  * bio_alloc_bioset - allocate a bio for I/O
+ * @bdev:	block device to allocate the bio for (can be %NULL)
+ * @nr_vecs:	number of bvecs to pre-allocate
+ * @opf:	operation and flags for bio
  * @gfp_mask:   the GFP_* mask given to the slab allocator
- * @nr_iovecs:	number of iovecs to pre-allocate
  * @bs:		the bio_set to allocate from.
  *
  * Allocate a bio from the mempools in @bs.
@@ -447,15 +449,16 @@ static void punt_bios_to_rescuer(struct bio_set *bs)
  *
  * Returns: Pointer to new bio on success, NULL on failure.
  */
-struct bio *bio_alloc_bioset(gfp_t gfp_mask, unsigned short nr_iovecs,
+struct bio *bio_alloc_bioset(struct block_device *bdev, unsigned short nr_vecs,
+			     unsigned int opf, gfp_t gfp_mask,
 			     struct bio_set *bs)
 {
 	gfp_t saved_gfp = gfp_mask;
 	struct bio *bio;
 	void *p;
 
-	/* should not use nobvec bioset for nr_iovecs > 0 */
-	if (WARN_ON_ONCE(!mempool_initialized(&bs->bvec_pool) && nr_iovecs > 0))
+	/* should not use nobvec bioset for nr_vecs > 0 */
+	if (WARN_ON_ONCE(!mempool_initialized(&bs->bvec_pool) && nr_vecs > 0))
 		return NULL;
 
 	/*
@@ -492,26 +495,28 @@ struct bio *bio_alloc_bioset(gfp_t gfp_mask, unsigned short nr_iovecs,
 		return NULL;
 
 	bio = p + bs->front_pad;
-	if (nr_iovecs > BIO_INLINE_VECS) {
+	if (nr_vecs > BIO_INLINE_VECS) {
 		struct bio_vec *bvl = NULL;
 
-		bvl = bvec_alloc(&bs->bvec_pool, &nr_iovecs, gfp_mask);
+		bvl = bvec_alloc(&bs->bvec_pool, &nr_vecs, gfp_mask);
 		if (!bvl && gfp_mask != saved_gfp) {
 			punt_bios_to_rescuer(bs);
 			gfp_mask = saved_gfp;
-			bvl = bvec_alloc(&bs->bvec_pool, &nr_iovecs, gfp_mask);
+			bvl = bvec_alloc(&bs->bvec_pool, &nr_vecs, gfp_mask);
 		}
 		if (unlikely(!bvl))
 			goto err_free;
 
-		bio_init(bio, bvl, nr_iovecs);
-	} else if (nr_iovecs) {
+		bio_init(bio, bvl, nr_vecs);
+	} else if (nr_vecs) {
 		bio_init(bio, bio->bi_inline_vecs, BIO_INLINE_VECS);
 	} else {
 		bio_init(bio, NULL, 0);
 	}
 
 	bio->bi_pool = bs;
+	bio_set_dev(bio, bdev);
+	bio->bi_opf = opf;
 	return bio;
 
 err_free:
@@ -766,7 +771,7 @@ struct bio *bio_clone_fast(struct bio *bio, gfp_t gfp_mask, struct bio_set *bs)
 {
 	struct bio *b;
 
-	b = bio_alloc_bioset(gfp_mask, 0, bs);
+	b = bio_alloc_bioset(NULL, 0, 0, gfp_mask, bs);
 	if (!b)
 		return NULL;
 
@@ -1742,7 +1747,7 @@ struct bio *bio_alloc_kiocb(struct kiocb *kiocb, unsigned short nr_vecs,
 	struct bio *bio;
 
 	if (!(kiocb->ki_flags & IOCB_ALLOC_CACHE) || nr_vecs > BIO_INLINE_VECS)
-		return bio_alloc_bioset(GFP_KERNEL, nr_vecs, bs);
+		return bio_alloc_bioset(NULL, nr_vecs, 0, GFP_KERNEL, bs);
 
 	cache = per_cpu_ptr(bs->cache, get_cpu());
 	if (cache->free_list) {
@@ -1756,7 +1761,7 @@ struct bio *bio_alloc_kiocb(struct kiocb *kiocb, unsigned short nr_vecs,
 		return bio;
 	}
 	put_cpu();
-	bio = bio_alloc_bioset(GFP_KERNEL, nr_vecs, bs);
+	bio = bio_alloc_bioset(NULL, nr_vecs, 0, GFP_KERNEL, bs);
 	bio_set_flag(bio, BIO_PERCPU_CACHE);
 	return bio;
 }
diff --git a/block/bounce.c b/block/bounce.c
index 7af1a72835b99..330ddde25b460 100644
--- a/block/bounce.c
+++ b/block/bounce.c
@@ -165,12 +165,10 @@ static struct bio *bounce_clone_bio(struct bio *bio_src)
 	 *    asking for trouble and would force extra work on
 	 *    __bio_clone_fast() anyways.
 	 */
-	bio = bio_alloc_bioset(GFP_NOIO, bio_segments(bio_src),
-			       &bounce_bio_set);
-	bio->bi_bdev		= bio_src->bi_bdev;
+	bio = bio_alloc_bioset(bio_src->bi_bdev, bio_segments(bio_src),
+			       bio_src->bi_opf, GFP_NOIO, &bounce_bio_set);
 	if (bio_flagged(bio_src, BIO_REMAPPED))
 		bio_set_flag(bio, BIO_REMAPPED);
-	bio->bi_opf		= bio_src->bi_opf;
 	bio->bi_ioprio		= bio_src->bi_ioprio;
 	bio->bi_write_hint	= bio_src->bi_write_hint;
 	bio->bi_iter.bi_sector	= bio_src->bi_iter.bi_sector;
diff --git a/drivers/block/drbd/drbd_actlog.c b/drivers/block/drbd/drbd_actlog.c
index 72cf7603d51fc..f5bcded3640da 100644
--- a/drivers/block/drbd/drbd_actlog.c
+++ b/drivers/block/drbd/drbd_actlog.c
@@ -138,15 +138,14 @@ static int _drbd_md_sync_page_io(struct drbd_device *device,
 		op_flags |= REQ_FUA | REQ_PREFLUSH;
 	op_flags |= REQ_SYNC;
 
-	bio = bio_alloc_bioset(GFP_NOIO, 1, &drbd_md_io_bio_set);
-	bio_set_dev(bio, bdev->md_bdev);
+	bio = bio_alloc_bioset(bdev->md_bdev, 1, op | op_flags, GFP_NOIO,
+			       &drbd_md_io_bio_set);
 	bio->bi_iter.bi_sector = sector;
 	err = -EIO;
 	if (bio_add_page(bio, device->md_io.page, size, 0) != size)
 		goto out;
 	bio->bi_private = device;
 	bio->bi_end_io = drbd_md_endio;
-	bio_set_op_attrs(bio, op, op_flags);
 
 	if (op != REQ_OP_WRITE && device->state.disk == D_DISKLESS && device->ldev == NULL)
 		/* special case, drbd_md_read() during drbd_adm_attach(): no get_ldev */
diff --git a/drivers/block/drbd/drbd_bitmap.c b/drivers/block/drbd/drbd_bitmap.c
index c1f816f896a89..df25eecf80af0 100644
--- a/drivers/block/drbd/drbd_bitmap.c
+++ b/drivers/block/drbd/drbd_bitmap.c
@@ -976,12 +976,13 @@ static void drbd_bm_endio(struct bio *bio)
 
 static void bm_page_io_async(struct drbd_bm_aio_ctx *ctx, int page_nr) __must_hold(local)
 {
-	struct bio *bio = bio_alloc_bioset(GFP_NOIO, 1, &drbd_md_io_bio_set);
 	struct drbd_device *device = ctx->device;
+	unsigned int op = (ctx->flags & BM_AIO_READ) ? REQ_OP_READ : REQ_OP_WRITE;
+	struct bio *bio = bio_alloc_bioset(device->ldev->md_bdev, 1, op,
+					   GFP_NOIO, &drbd_md_io_bio_set);
 	struct drbd_bitmap *b = device->bitmap;
 	struct page *page;
 	unsigned int len;
-	unsigned int op = (ctx->flags & BM_AIO_READ) ? REQ_OP_READ : REQ_OP_WRITE;
 
 	sector_t on_disk_sector =
 		device->ldev->md.md_offset + device->ldev->md.bm_offset;
@@ -1006,14 +1007,12 @@ static void bm_page_io_async(struct drbd_bm_aio_ctx *ctx, int page_nr) __must_ho
 		bm_store_page_idx(page, page_nr);
 	} else
 		page = b->bm_pages[page_nr];
-	bio_set_dev(bio, device->ldev->md_bdev);
 	bio->bi_iter.bi_sector = on_disk_sector;
 	/* bio_add_page of a single page to an empty bio will always succeed,
 	 * according to api.  Do we want to assert that? */
 	bio_add_page(bio, page, len, 0);
 	bio->bi_private = ctx;
 	bio->bi_end_io = drbd_bm_endio;
-	bio_set_op_attrs(bio, op, 0);
 
 	if (drbd_insert_fault(device, (op == REQ_OP_WRITE) ? DRBD_FAULT_MD_WR : DRBD_FAULT_MD_RD)) {
 		bio_io_error(bio);
diff --git a/drivers/md/bcache/request.c b/drivers/md/bcache/request.c
index d15aae6c51c13..c4b7e434de8ac 100644
--- a/drivers/md/bcache/request.c
+++ b/drivers/md/bcache/request.c
@@ -913,14 +913,13 @@ static int cached_dev_cache_miss(struct btree *b, struct search *s,
 	/* btree_search_recurse()'s btree iterator is no good anymore */
 	ret = miss == bio ? MAP_DONE : -EINTR;
 
-	cache_bio = bio_alloc_bioset(GFP_NOWAIT,
+	cache_bio = bio_alloc_bioset(miss->bi_bdev,
 			DIV_ROUND_UP(s->insert_bio_sectors, PAGE_SECTORS),
-			&dc->disk.bio_split);
+			0, GFP_NOWAIT, &dc->disk.bio_split);
 	if (!cache_bio)
 		goto out_submit;
 
 	cache_bio->bi_iter.bi_sector	= miss->bi_iter.bi_sector;
-	bio_copy_dev(cache_bio, miss);
 	cache_bio->bi_iter.bi_size	= s->insert_bio_sectors << 9;
 
 	cache_bio->bi_end_io	= backing_request_endio;
@@ -1025,16 +1024,15 @@ static void cached_dev_write(struct cached_dev *dc, struct search *s)
 			 */
 			struct bio *flush;
 
-			flush = bio_alloc_bioset(GFP_NOIO, 0,
-						 &dc->disk.bio_split);
+			flush = bio_alloc_bioset(bio->bi_bdev, 0,
+						 REQ_OP_WRITE | REQ_PREFLUSH,
+						 GFP_NOIO, &dc->disk.bio_split);
 			if (!flush) {
 				s->iop.status = BLK_STS_RESOURCE;
 				goto insert_data;
 			}
-			bio_copy_dev(flush, bio);
 			flush->bi_end_io = backing_request_endio;
 			flush->bi_private = cl;
-			flush->bi_opf = REQ_OP_WRITE | REQ_PREFLUSH;
 			/* I/O request sent to backing device */
 			closure_bio_submit(s->iop.c, flush, cl);
 		}
diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c
index 3c5ecd35d3483..f7e4435b7439a 100644
--- a/drivers/md/dm-crypt.c
+++ b/drivers/md/dm-crypt.c
@@ -1672,11 +1672,10 @@ static struct bio *crypt_alloc_buffer(struct dm_crypt_io *io, unsigned size)
 	if (unlikely(gfp_mask & __GFP_DIRECT_RECLAIM))
 		mutex_lock(&cc->bio_alloc_lock);
 
-	clone = bio_alloc_bioset(GFP_NOIO, nr_iovecs, &cc->bs);
+	clone = bio_alloc_bioset(cc->dev->bdev, nr_iovecs, io->base_bio->bi_opf,
+				 GFP_NOIO, &cc->bs);
 	clone->bi_private = io;
 	clone->bi_end_io = crypt_endio;
-	bio_set_dev(clone, cc->dev->bdev);
-	clone->bi_opf = io->base_bio->bi_opf;
 
 	remaining_size = size;
 
diff --git a/drivers/md/dm-io.c b/drivers/md/dm-io.c
index 2d3cda0acacb6..23e038f8dc845 100644
--- a/drivers/md/dm-io.c
+++ b/drivers/md/dm-io.c
@@ -345,11 +345,10 @@ static void do_region(int op, int op_flags, unsigned region,
 						(PAGE_SIZE >> SECTOR_SHIFT)));
 		}
 
-		bio = bio_alloc_bioset(GFP_NOIO, num_bvecs, &io->client->bios);
+		bio = bio_alloc_bioset(where->bdev, num_bvecs, op | op_flags,
+				       GFP_NOIO, &io->client->bios);
 		bio->bi_iter.bi_sector = where->sector + (where->count - remaining);
-		bio_set_dev(bio, where->bdev);
 		bio->bi_end_io = endio;
-		bio_set_op_attrs(bio, op, op_flags);
 		store_io_and_region_in_bio(bio, io, region);
 
 		if (op == REQ_OP_DISCARD || op == REQ_OP_WRITE_ZEROES) {
diff --git a/drivers/md/dm-writecache.c b/drivers/md/dm-writecache.c
index 4f31591d2d25e..5630b470ba429 100644
--- a/drivers/md/dm-writecache.c
+++ b/drivers/md/dm-writecache.c
@@ -1821,11 +1821,11 @@ static void __writecache_writeback_pmem(struct dm_writecache *wc, struct writeba
 
 		max_pages = e->wc_list_contiguous;
 
-		bio = bio_alloc_bioset(GFP_NOIO, max_pages, &wc->bio_set);
+		bio = bio_alloc_bioset(wc->dev->bdev, max_pages, REQ_OP_WRITE,
+				       GFP_NOIO, &wc->bio_set);
 		wb = container_of(bio, struct writeback_struct, bio);
 		wb->wc = wc;
 		bio->bi_end_io = writecache_writeback_endio;
-		bio_set_dev(bio, wc->dev->bdev);
 		bio->bi_iter.bi_sector = read_original_sector(wc, e);
 		if (max_pages <= WB_LIST_INLINE ||
 		    unlikely(!(wb->wc_list = kmalloc_array(max_pages, sizeof(struct wc_entry *),
@@ -1852,7 +1852,8 @@ static void __writecache_writeback_pmem(struct dm_writecache *wc, struct writeba
 			wb->wc_list[wb->wc_list_n++] = f;
 			e = f;
 		}
-		bio_set_op_attrs(bio, REQ_OP_WRITE, WC_MODE_FUA(wc) * REQ_FUA);
+		if (WC_MODE_FUA(wc))
+			bio->bi_opf |= REQ_FUA;
 		if (writecache_has_error(wc)) {
 			bio->bi_status = BLK_STS_IOERR;
 			bio_endio(bio);
diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index 81449cbdafa81..84f3dd58d1a16 100644
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -519,7 +519,7 @@ static struct dm_io *alloc_io(struct mapped_device *md, struct bio *bio)
 	struct dm_target_io *tio;
 	struct bio *clone;
 
-	clone = bio_alloc_bioset(GFP_NOIO, 0, &md->io_bs);
+	clone = bio_alloc_bioset(NULL, 0, 0, GFP_NOIO, &md->io_bs);
 
 	tio = container_of(clone, struct dm_target_io, clone);
 	tio->inside_dm_io = true;
@@ -552,7 +552,8 @@ static struct dm_target_io *alloc_tio(struct clone_info *ci, struct dm_target *t
 		/* the dm_target_io embedded in ci->io is available */
 		tio = &ci->io->tio;
 	} else {
-		struct bio *clone = bio_alloc_bioset(gfp_mask, 0, &ci->io->md->bs);
+		struct bio *clone = bio_alloc_bioset(NULL, 0, 0, gfp_mask,
+						     &ci->io->md->bs);
 		if (!clone)
 			return NULL;
 
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 5881d05a76ebc..40fc1f7e65c5d 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -562,11 +562,11 @@ static void submit_flushes(struct work_struct *ws)
 			atomic_inc(&rdev->nr_pending);
 			atomic_inc(&rdev->nr_pending);
 			rcu_read_unlock();
-			bi = bio_alloc_bioset(GFP_NOIO, 0, &mddev->bio_set);
+			bi = bio_alloc_bioset(rdev->bdev, 0,
+					      REQ_OP_WRITE | REQ_PREFLUSH,
+					      GFP_NOIO, &mddev->bio_set);
 			bi->bi_end_io = md_end_flush;
 			bi->bi_private = rdev;
-			bio_set_dev(bi, rdev->bdev);
-			bi->bi_opf = REQ_OP_WRITE | REQ_PREFLUSH;
 			atomic_inc(&mddev->flush_pending);
 			submit_bio(bi);
 			rcu_read_lock();
@@ -955,7 +955,6 @@ void md_super_write(struct mddev *mddev, struct md_rdev *rdev,
 	 * If an error occurred, call md_error
 	 */
 	struct bio *bio;
-	int ff = 0;
 
 	if (!page)
 		return;
@@ -963,11 +962,13 @@ void md_super_write(struct mddev *mddev, struct md_rdev *rdev,
 	if (test_bit(Faulty, &rdev->flags))
 		return;
 
-	bio = bio_alloc_bioset(GFP_NOIO, 1, &mddev->sync_set);
+	bio = bio_alloc_bioset(rdev->meta_bdev ? rdev->meta_bdev : rdev->bdev,
+			       1,
+			       REQ_OP_WRITE | REQ_SYNC | REQ_PREFLUSH | REQ_FUA,
+			       GFP_NOIO, &mddev->sync_set);
 
 	atomic_inc(&rdev->nr_pending);
 
-	bio_set_dev(bio, rdev->meta_bdev ? rdev->meta_bdev : rdev->bdev);
 	bio->bi_iter.bi_sector = sector;
 	bio_add_page(bio, page, size, 0);
 	bio->bi_private = rdev;
@@ -976,8 +977,7 @@ void md_super_write(struct mddev *mddev, struct md_rdev *rdev,
 	if (test_bit(MD_FAILFAST_SUPPORTED, &mddev->flags) &&
 	    test_bit(FailFast, &rdev->flags) &&
 	    !test_bit(LastDev, &rdev->flags))
-		ff = MD_FAILFAST;
-	bio->bi_opf = REQ_OP_WRITE | REQ_SYNC | REQ_PREFLUSH | REQ_FUA | ff;
+		bio->bi_opf |= MD_FAILFAST;
 
 	atomic_inc(&mddev->pending_writes);
 	submit_bio(bio);
diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c
index e2d8acb1e9881..43276f8fdc815 100644
--- a/drivers/md/raid1.c
+++ b/drivers/md/raid1.c
@@ -1126,7 +1126,8 @@ static void alloc_behind_master_bio(struct r1bio *r1_bio,
 	int i = 0;
 	struct bio *behind_bio = NULL;
 
-	behind_bio = bio_alloc_bioset(GFP_NOIO, vcnt, &r1_bio->mddev->bio_set);
+	behind_bio = bio_alloc_bioset(NULL, vcnt, 0, GFP_NOIO,
+				      &r1_bio->mddev->bio_set);
 	if (!behind_bio)
 		return;
 
diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c
index 2b969f70a31fb..cb7c58050708e 100644
--- a/drivers/md/raid10.c
+++ b/drivers/md/raid10.c
@@ -4892,14 +4892,12 @@ static sector_t reshape_request(struct mddev *mddev, sector_t sector_nr,
 		return sectors_done;
 	}
 
-	read_bio = bio_alloc_bioset(GFP_KERNEL, RESYNC_PAGES, &mddev->bio_set);
-
-	bio_set_dev(read_bio, rdev->bdev);
+	read_bio = bio_alloc_bioset(rdev->bdev, RESYNC_PAGES, REQ_OP_READ,
+				    GFP_KERNEL, &mddev->bio_set);
 	read_bio->bi_iter.bi_sector = (r10_bio->devs[r10_bio->read_slot].addr
 			       + rdev->data_offset);
 	read_bio->bi_private = r10_bio;
 	read_bio->bi_end_io = end_reshape_read;
-	bio_set_op_attrs(read_bio, REQ_OP_READ, 0);
 	r10_bio->master_bio = read_bio;
 	r10_bio->read_slot = r10_bio->devs[r10_bio->read_slot].devnum;
 
diff --git a/drivers/md/raid5-cache.c b/drivers/md/raid5-cache.c
index 0b5dcaabbc155..66313adf99875 100644
--- a/drivers/md/raid5-cache.c
+++ b/drivers/md/raid5-cache.c
@@ -735,10 +735,9 @@ static void r5l_submit_current_io(struct r5l_log *log)
 
 static struct bio *r5l_bio_alloc(struct r5l_log *log)
 {
-	struct bio *bio = bio_alloc_bioset(GFP_NOIO, BIO_MAX_VECS, &log->bs);
+	struct bio *bio = bio_alloc_bioset(log->rdev->bdev, BIO_MAX_VECS,
+					   REQ_OP_WRITE, GFP_NOIO, &log->bs);
 
-	bio_set_op_attrs(bio, REQ_OP_WRITE, 0);
-	bio_set_dev(bio, log->rdev->bdev);
 	bio->bi_iter.bi_sector = log->rdev->data_offset + log->log_start;
 
 	return bio;
@@ -1634,7 +1633,8 @@ static int r5l_recovery_allocate_ra_pool(struct r5l_log *log,
 {
 	struct page *page;
 
-	ctx->ra_bio = bio_alloc_bioset(GFP_KERNEL, BIO_MAX_VECS, &log->bs);
+	ctx->ra_bio = bio_alloc_bioset(NULL, BIO_MAX_VECS, 0, GFP_KERNEL,
+				       &log->bs);
 	if (!ctx->ra_bio)
 		return -ENOMEM;
 
diff --git a/drivers/md/raid5-ppl.c b/drivers/md/raid5-ppl.c
index 4ab417915d7f1..054d3bb252d48 100644
--- a/drivers/md/raid5-ppl.c
+++ b/drivers/md/raid5-ppl.c
@@ -496,11 +496,10 @@ static void ppl_submit_iounit(struct ppl_io_unit *io)
 		if (!bio_add_page(bio, sh->ppl_page, PAGE_SIZE, 0)) {
 			struct bio *prev = bio;
 
-			bio = bio_alloc_bioset(GFP_NOIO, BIO_MAX_VECS,
+			bio = bio_alloc_bioset(prev->bi_bdev, BIO_MAX_VECS,
+					       prev->bi_opf, GFP_NOIO,
 					       &ppl_conf->bs);
-			bio->bi_opf = prev->bi_opf;
 			bio->bi_write_hint = prev->bi_write_hint;
-			bio_copy_dev(bio, prev);
 			bio->bi_iter.bi_sector = bio_end_sector(prev);
 			bio_add_page(bio, sh->ppl_page, PAGE_SIZE, 0);
 
@@ -637,10 +636,10 @@ static void ppl_do_flush(struct ppl_io_unit *io)
 			struct bio *bio;
 			char b[BDEVNAME_SIZE];
 
-			bio = bio_alloc_bioset(GFP_NOIO, 0, &ppl_conf->flush_bs);
-			bio_set_dev(bio, bdev);
+			bio = bio_alloc_bioset(bdev, 0, GFP_NOIO,
+					       REQ_OP_WRITE | REQ_PREFLUSH,
+					       &ppl_conf->flush_bs);
 			bio->bi_private = io;
-			bio->bi_opf = REQ_OP_WRITE | REQ_PREFLUSH;
 			bio->bi_end_io = ppl_flush_endio;
 
 			pr_debug("%s: dev: %s\n", __func__,
diff --git a/drivers/target/target_core_iblock.c b/drivers/target/target_core_iblock.c
index bf8ae4825a06e..f7c6e822f345a 100644
--- a/drivers/target/target_core_iblock.c
+++ b/drivers/target/target_core_iblock.c
@@ -353,18 +353,16 @@ static struct bio *iblock_get_bio(struct se_cmd *cmd, sector_t lba, u32 sg_num,
 	 * Only allocate as many vector entries as the bio code allows us to,
 	 * we'll loop later on until we have handled the whole request.
 	 */
-	bio = bio_alloc_bioset(GFP_NOIO, bio_max_segs(sg_num),
-				&ib_dev->ibd_bio_set);
+	bio = bio_alloc_bioset(ib_dev->ibd_bd, bio_max_segs(sg_num), opf,
+			       GFP_NOIO, &ib_dev->ibd_bio_set);
 	if (!bio) {
 		pr_err("Unable to allocate memory for bio\n");
 		return NULL;
 	}
 
-	bio_set_dev(bio, ib_dev->ibd_bd);
 	bio->bi_private = cmd;
 	bio->bi_end_io = &iblock_bio_done;
 	bio->bi_iter.bi_sector = lba;
-	bio->bi_opf = opf;
 
 	return bio;
 }
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
index d6d48ecf823c9..f982687c5b00d 100644
--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
@@ -3144,7 +3144,7 @@ struct bio *btrfs_bio_alloc(unsigned int nr_iovecs)
 	struct bio *bio;
 
 	ASSERT(0 < nr_iovecs && nr_iovecs <= BIO_MAX_VECS);
-	bio = bio_alloc_bioset(GFP_NOFS, nr_iovecs, &btrfs_bioset);
+	bio = bio_alloc_bioset(NULL, nr_iovecs, 0, GFP_NOFS, &btrfs_bioset);
 	btrfs_bio_init(btrfs_bio(bio));
 	return bio;
 }
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index aacf5e4dcc576..5cb07ca7c4f52 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -394,7 +394,7 @@ static struct bio *__bio_alloc(struct f2fs_io_info *fio, int npages)
 	struct f2fs_sb_info *sbi = fio->sbi;
 	struct bio *bio;
 
-	bio = bio_alloc_bioset(GFP_NOIO, npages, &f2fs_bioset);
+	bio = bio_alloc_bioset(NULL, npages, 0, GFP_NOIO, &f2fs_bioset);
 
 	f2fs_target_device(sbi, fio->new_blkaddr, bio);
 	if (is_read_io(fio->op)) {
@@ -985,8 +985,8 @@ static struct bio *f2fs_grab_read_bio(struct inode *inode, block_t blkaddr,
 	struct bio_post_read_ctx *ctx = NULL;
 	unsigned int post_read_steps = 0;
 
-	bio = bio_alloc_bioset(for_write ? GFP_NOIO : GFP_KERNEL,
-			       bio_max_segs(nr_pages), &f2fs_bioset);
+	bio = bio_alloc_bioset(NULL, bio_max_segs(nr_pages), REQ_OP_READ,
+			       for_write ? GFP_NOIO : GFP_KERNEL, &f2fs_bioset);
 	if (!bio)
 		return ERR_PTR(-ENOMEM);
 
@@ -994,7 +994,6 @@ static struct bio *f2fs_grab_read_bio(struct inode *inode, block_t blkaddr,
 
 	f2fs_target_device(sbi, blkaddr, bio);
 	bio->bi_end_io = f2fs_read_end_io;
-	bio_set_op_attrs(bio, REQ_OP_READ, op_flag);
 
 	if (fscrypt_inode_uses_fs_layer_crypto(inode))
 		post_read_steps |= STEP_DECRYPT;
diff --git a/fs/iomap/buffered-io.c b/fs/iomap/buffered-io.c
index c938bbad075e1..340d373cb1bf9 100644
--- a/fs/iomap/buffered-io.c
+++ b/fs/iomap/buffered-io.c
@@ -1196,10 +1196,10 @@ iomap_alloc_ioend(struct inode *inode, struct iomap_writepage_ctx *wpc,
 	struct iomap_ioend *ioend;
 	struct bio *bio;
 
-	bio = bio_alloc_bioset(GFP_NOFS, BIO_MAX_VECS, &iomap_ioend_bioset);
-	bio_set_dev(bio, wpc->iomap.bdev);
+	bio = bio_alloc_bioset(wpc->iomap.bdev, BIO_MAX_VECS,
+			       REQ_OP_WRITE | wbc_to_write_flags(wbc),
+			       GFP_NOFS, &iomap_ioend_bioset);
 	bio->bi_iter.bi_sector = sector;
-	bio->bi_opf = REQ_OP_WRITE | wbc_to_write_flags(wbc);
 	bio->bi_write_hint = inode->i_write_hint;
 	wbc_init_bio(wbc, bio);
 
diff --git a/include/linux/bio.h b/include/linux/bio.h
index edeae54074ede..2f63ae9a71e1a 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -405,8 +405,9 @@ extern void bioset_exit(struct bio_set *);
 extern int biovec_init_pool(mempool_t *pool, int pool_entries);
 extern int bioset_init_from_src(struct bio_set *bs, struct bio_set *src);
 
-struct bio *bio_alloc_bioset(gfp_t gfp, unsigned short nr_iovecs,
-		struct bio_set *bs);
+struct bio *bio_alloc_bioset(struct block_device *bdev, unsigned short nr_vecs,
+			     unsigned int opf, gfp_t gfp_mask,
+			     struct bio_set *bs);
 struct bio *bio_alloc_kiocb(struct kiocb *kiocb, unsigned short nr_vecs,
 		struct bio_set *bs);
 struct bio *bio_kmalloc(gfp_t gfp_mask, unsigned short nr_iovecs);
@@ -419,7 +420,7 @@ extern struct bio_set fs_bio_set;
 
 static inline struct bio *bio_alloc(gfp_t gfp_mask, unsigned short nr_iovecs)
 {
-	return bio_alloc_bioset(gfp_mask, nr_iovecs, &fs_bio_set);
+	return bio_alloc_bioset(NULL, nr_iovecs, 0, gfp_mask, &fs_bio_set);
 }
 
 void submit_bio(struct bio *bio);
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 07:51:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 07:51:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258370.444850 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9jH6-0006zk-K5; Tue, 18 Jan 2022 07:51:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258370.444850; Tue, 18 Jan 2022 07:51:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9jH6-0006zd-Gs; Tue, 18 Jan 2022 07:51:28 +0000
Received: by outflank-mailman (input) for mailman id 258370;
 Tue, 18 Jan 2022 07:51:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=K2lf=SC=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1n9jH4-0006zX-Qw
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 07:51:27 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on062b.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6f30000a-7833-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 08:51:25 +0100 (CET)
Received: from AS9PR06CA0061.eurprd06.prod.outlook.com (2603:10a6:20b:464::35)
 by VI1PR08MB3678.eurprd08.prod.outlook.com (2603:10a6:803:89::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Tue, 18 Jan
 2022 07:51:21 +0000
Received: from VE1EUR03FT035.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:464:cafe::7a) by AS9PR06CA0061.outlook.office365.com
 (2603:10a6:20b:464::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.10 via Frontend
 Transport; Tue, 18 Jan 2022 07:51:21 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT035.mail.protection.outlook.com (10.152.18.110) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4888.9 via Frontend Transport; Tue, 18 Jan 2022 07:51:21 +0000
Received: ("Tessian outbound 157533e214a9:v110");
 Tue, 18 Jan 2022 07:51:20 +0000
Received: from b2ee4554d203.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 C6850EAC-B0BF-48D0-9011-E36760215C18.1; 
 Tue, 18 Jan 2022 07:51:10 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b2ee4554d203.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 18 Jan 2022 07:51:10 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by PAXPR08MB7185.eurprd08.prod.outlook.com (2603:10a6:102:207::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.7; Tue, 18 Jan
 2022 07:51:09 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0%6]) with mapi id 15.20.4888.013; Tue, 18 Jan 2022
 07:51: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: 6f30000a-7833-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mICl6khP2BfVYkr4LeNqE1HhE/4I6l1fCFrCf0qZ4MI=;
 b=wAi35VbZdiXXIQXoRXRNtZuBd1s+jIBm2e33QdOcJRVQFYYcTAYQ/zqkTAJ3Y00S5FW25CazTucU2wFCsk4rJ5Q/3UHj3LCykafqJ655Qyqi93BPgM3areqLBIPTrPP2PzP6EtEt14LUcnzSlxGo24Y/L1VH49PpRyaODm6VTFg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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=I47DiDbUX7t/q9wWaaJyfWuuwvUzLm+08LfHlMckizvegRk7x4NtqtqQbrbxkZzwxBV6Z/oaAqrJ2bmmUGRoLUxBVchk5VkRrS8fz+CE6i4Qh53QgBpfyCxJtUe3IN5ekEjecRERJOl3jGDGvdnMXzuk58dsdAnzv3CCq79RmnhKqs021kOO+yKs/zZHGidwlT1fsqclDbSyc6QXpgH8pYP+wCMvR9xO4xA6PKRbvaChvj/wqN80XLhkFVwfkfQ5/+7lGgfNJvTfRp3QqCdANSJuK7rHZemVonAaL/EpaMNUlWY0vqRelKnNyAaLFZaSdzzbM+dOiVPVospBix9ENg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mICl6khP2BfVYkr4LeNqE1HhE/4I6l1fCFrCf0qZ4MI=;
 b=QPMXqvutuR7Rkk5+qAZ8Sy0PrZF8O8ov7i6h2Y/R9SnEdN9alf4ucHMQq4gqnvTuNojtadfXDkAxxQnISjXjVHo4qHm6TX25ADRHyND9fegukx/KeZlmMiBCS5eBhetJs0mJogYQCQxkXcVX5LQD89CCNAgb0OCI8of7DGAZmTfT1EMZp9rCGmyD9Oe7iB+3sXegywrI+tfyuNcbOpCj1CIOlwfWabwB1zHg1aSzGaFcx9iJAfLXHwE5tcpC2ao4dRlBFEv16U4h7Zz+D1GcdkARTOjXeF2jPmvHDAcC2eVHIgKNNkvUwrqg/nvYQa9HAFHNn4Z56lmXkigBD7DV9w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mICl6khP2BfVYkr4LeNqE1HhE/4I6l1fCFrCf0qZ4MI=;
 b=wAi35VbZdiXXIQXoRXRNtZuBd1s+jIBm2e33QdOcJRVQFYYcTAYQ/zqkTAJ3Y00S5FW25CazTucU2wFCsk4rJ5Q/3UHj3LCykafqJ655Qyqi93BPgM3areqLBIPTrPP2PzP6EtEt14LUcnzSlxGo24Y/L1VH49PpRyaODm6VTFg=
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: [PATCH 04/37] xen: introduce an arch helper for default dma zone
 status
Thread-Topic: [PATCH 04/37] xen: introduce an arch helper for default dma zone
 status
Thread-Index: AQHXsHMGx8xGhif/FUCDSa9NS/fSLqxoGKiAgAD49HA=
Date: Tue, 18 Jan 2022 07:51:08 +0000
Message-ID:
 <PAXPR08MB7420CD3B7CFB4D2D81019F479E589@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-5-wei.chen@arm.com>
 <345944c4-78dd-8009-6f64-f9c7901a5497@suse.com>
In-Reply-To: <345944c4-78dd-8009-6f64-f9c7901a5497@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 2865EEDF098CA2409B9E848F555144EC.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 7a18d88d-f88d-487e-6b83-08d9da57515a
x-ms-traffictypediagnostic:
	PAXPR08MB7185:EE_|VE1EUR03FT035:EE_|VI1PR08MB3678:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR08MB367884D1B414D26B343A904B9E589@VI1PR08MB3678.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:
 Ci/N20RXzuDnkcmlimV9ywmbMA/vDkmnLMkLkwHbkTxzayiQAiGB1NHHGaV8VdtwQnWJdxpNcoGaXzTJ7GxA86kMV4NaS6EWmYPLDdneB/j7WPUP+rv2Km+oz7w/7BN/JoOw+2J7so61x6xWe6rT0ZbQ49ZDPaoMvnTpom/20P6J7y/7eJnJcvfrnDQdWZjnDmj/8saNid/Bv8IMyLTDwUDYQm0DCbEIInJrtmi28isijqXMQFB6950xiyJiEv7bIc6FEWI/t/Y429GFzPJnRBrvqYNbiLgQEYDcbnO4rE/yBO0ew/fxyzirPfb7qDLLLpVZYsfQ9TWGxukNOFZora0GMhYlrk7ErzXNmofWSDSsZDq46sKiXKhS8xLsg2VU6U50wLb/W87jgskvvFZehgqjSLBRAvRovY4OCykixWhP+cQJtRmnNETIUJea5eAcLuAb1Ys2yo2FdgWAxWUwe7Mg3dYETk40xWRR/CfPG4OztBzLc6lNrjH6Af+lq9PqZqJXRQkc9qdRBkX7Q4qHLp8UPg3DrLCJWEQtYN/d3Du0V/Duvrtxw9F9EQ28y1R8nrtrLcFQAO+95cqqFs14q0j0boVyOc33CNvvubDXhWp6xbgeLPn5rf5BSJxIuhnzvVnXMgIARenhjuB8nMA8bnWPS52QlzGXW4JU6vGrn3McB/cu1O+zlWO+QkmsA7M1ZLO0MTVTWmG0WR8PYEeNCHRcuIfRa3+BHaiB8em/XWOiDjUqzw1VQUa6zV53E6k/FgpwJ4iqRWQP6/U3gXde/MaasJGQwFlEA9SjR1bWrIw=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(64756008)(6506007)(26005)(66476007)(2906002)(76116006)(66556008)(86362001)(38100700002)(66446008)(316002)(71200400001)(6916009)(5660300002)(33656002)(8936002)(508600001)(9686003)(55016003)(122000001)(54906003)(186003)(53546011)(7696005)(38070700005)(52536014)(4326008)(966005)(83380400001)(8676002)(66946007);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB7185
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT035.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	1980e29b-e1bf-497f-6fca-08d9da574a0a
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	k6otgLqftYZXhK25uVA9z8cpVNkM1lV4uvDTlayBIu1BUSgyfDiAtLksX/t80vrjYc8GCWrQZzPZCIE6jmGnrIS+NJaTRxyDpoutWIseOOb4rOGFRlvF1TDzdVHwmGISJVpwEBLzTrangdtV8MJjt2NQRpv/TedwX4ywgLJ5fP7tmkdwBuBIz378R9OMU/WOysPAz68bKSLV2o8tPLTu9Je4gqwZgVBUeXyAHbdqf/gt7d+CDMgmCCqjgvkVLWD5QFzItD0g33w7CjmqaYHXE2m4Gu5O1FZL4x72NF7GOiKuGzjtzA5uiGkJmtJy1MHeOWcamf5MyfIOyP0tY+CoAfGTdLMkqKtHcvaLWpU5dYJfuWPCfrj5y0oSwt74U4zwSpxKwJCsq10d6XoBuNtVzpigA7erg1IoUB7psgNd3um4vATPD4eIiZQE14U4nS8bZOHkOy29krPWW/cCc1F9zxsikKf9ELKbSvfIetcyuMd9z4uBAamhlOg2zp8q+i59/fIKIYRGPe/fxEKTb7jXgaljBmUgeaVrUxUI68KEMfYQ+OcyEvQ3+KMpMRuMdttK6RPxiD8X527hZmfmmwLICuzZ/wZ0qelVYNOQR/f94c+Zz5P+3xlRAOodHJkgxRGymUTVKtit6lgw7LYiPKWCS7tU1xbySwRc7VH6E/ye/K23uK2cOyYsaa1OquuCSzi8g0VtIp0evazSWEjDjJblAQvOyMZ20zwq629I2dcsqw6DsAnJqfF9ZPz0+rmkWoNgPJVsSv0xpXVOW2hZrylcnxcZ3m8QPFmVCh14dIf72W8=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(47076005)(83380400001)(6506007)(53546011)(86362001)(966005)(7696005)(508600001)(4326008)(26005)(33656002)(36860700001)(70586007)(2906002)(186003)(55016003)(54906003)(336012)(70206006)(356005)(8676002)(6862004)(81166007)(5660300002)(9686003)(82310400004)(316002)(52536014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 07:51:21.0119
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7a18d88d-f88d-487e-6b83-08d9da57515a
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT035.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3678

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMuW5tDHmnIgxOOaXpSAwOjExDQo+
IFRvOiBXZWkgQ2hlbiA8V2VpLkNoZW5AYXJtLmNvbT4NCj4gQ2M6IEJlcnRyYW5kIE1hcnF1aXMg
PEJlcnRyYW5kLk1hcnF1aXNAYXJtLmNvbT47IHhlbi0NCj4gZGV2ZWxAbGlzdHMueGVucHJvamVj
dC5vcmc7IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc7IGp1bGllbkB4ZW4ub3JnDQo+IFN1YmplY3Q6
IFJlOiBbUEFUQ0ggMDQvMzddIHhlbjogaW50cm9kdWNlIGFuIGFyY2ggaGVscGVyIGZvciBkZWZh
dWx0IGRtYQ0KPiB6b25lIHN0YXR1cw0KPiANCj4gSSByZWFsaXplIHRoaXMgc2VyaWVzIGhhcyBi
ZWVuIHBlbmRpbmcgZm9yIGEgbG9uZyB0aW1lLCBidXQgSSBkb24ndA0KPiByZWNhbGwgYW55IGlu
ZGljYXRpb24gdGhhdCBpdCB3b3VsZCBoYXZlIGJlZW4gZHJvcHBlZC4gSGVuY2UgYXMgYQ0KPiBm
aXJzdCB0cnksIGEgZmV3IGNvbW1lbnRzIG9uIHRoaXMgcmVsYXRpdmVseSBzaW1wbGUgY2hhbmdl
LiBJJ20NCj4gc29ycnkgaXQgdG8gaGF2ZSB0YWtlbiBzbyBsb25nIHRvIGdldCB0byBpdC4NCj4g
DQoNClRoYW5rcyBmb3IgcmV2aWV3aW5nIHRoaXMgc2VyaWVzIGFuZCBsaWZ0IGl0IHVwLiBXZSBh
cmUgc3RpbGwNCndvcmtpbmcgb24gdGhpcyBzZXJpZXMgYW5kIHdpbGwgc2VuZCBhIG5ldyB2ZXJz
aW9uIHNvb24uDQoNCj4gT24gMjMuMDkuMjAyMSAxNDowMiwgV2VpIENoZW4gd3JvdGU6DQo+ID4g
SW4gY3VycmVudCBjb2RlLCB3aGVuIFhlbiBpcyBydW5uaW5nIGluIGEgbXVsdGlwbGUgbm9kZXMg
TlVNQQ0KPiA+IHN5c3RlbSwgaXQgd2lsbCBzZXQgZG1hX2JpdHNpemUgaW4gZW5kX2Jvb3RfYWxs
b2NhdG9yIHRvIHJlc2VydmUNCj4gPiBzb21lIGxvdyBhZGRyZXNzIG1lbW9yeSBmb3IgRE1BLg0K
PiA+DQo+ID4gVGhlcmUgYXJlIHNvbWUgeDg2IGltcGxpY2F0aW9ucyBpbiBjdXJyZW50IGltcGxl
bWVudGF0aW9uLiBCZWN1YXNlDQo+ID4gb24geDg2LCBtZW1vcnkgc3RhcnRzIGZyb20gMC4gT24g
YSBtdWx0aXBsZSBub2RlcyBOVU1BIHN5c3RlbSwgaWYNCj4gPiBhIHNpbmdsZSBub2RlIGNvbnRh
aW5zIHRoZSBtYWpvcml0eSBvciBhbGwgb2YgdGhlIERNQSBtZW1vcnkuIHg4Ng0KPiA+IHByZWZl
ciB0byBnaXZlIG91dCBtZW1vcnkgZnJvbSBub24tbG9jYWwgYWxsb2NhdGlvbnMgcmF0aGVyIHRo
YW4NCj4gPiBleGhhdXN0aW5nIHRoZSBETUEgbWVtb3J5IHJhbmdlcy4gSGVuY2UgeDg2IHVzZSBk
bWFfYml0c2l6ZSB0byBzZXQNCj4gPiBhc2lkZSBzb21lIGxhcmdlbHkgYXJiaXRyYXJ5IGFtb3Vu
dCBtZW1vcnkgZm9yIERNQSBtZW1vcnkgcmFuZ2VzLg0KPiA+IFRoZSBhbGxvY2F0aW9ucyBmcm9t
IHRoZXNlIG1lbW9yeSByYW5nZXMgd291bGQgaGFwcGVuIG9ubHkgYWZ0ZXINCj4gPiBleGhhdXN0
aW5nIGFsbCBvdGhlciBub2RlcycgbWVtb3J5Lg0KPiA+DQo+ID4gQnV0IHRoZSBpbXBsaWNhdGlv
bnMgYXJlIG5vdCBzaGFyZWQgYWNyb3NzIGFsbCBhcmNoaXRlY3R1cmVzLiBGb3INCj4gPiBleGFt
cGxlLCBBcm0gZG9lc24ndCBoYXZlIHRoZXNlIGltcGxpY2F0aW9ucy4gU28gaW4gdGhpcyBwYXRj
aCwgd2UNCj4gPiBpbnRyb2R1Y2UgYW4gYXJjaF9oYXZlX2RlZmF1bHRfZG1hem9uZSBoZWxwZXIg
Zm9yIGFyY2ggdG8gZGV0ZXJtaW5lDQo+ID4gdGhhdCBpdCBuZWVkIHRvIHNldCBkbWFfYml0c2l6
ZSBmb3IgcmVzZXJ2ZSBETUEgYWxsb2NhdGlvbnMgb3Igbm90Lg0KPiANCj4gSG93IHdvdWxkIEFy
bSBndWFyYW50ZWUgYXZhaWxhYmlsaXR5IG9mIG1lbW9yeSBiZWxvdyBhIGNlcnRhaW4NCj4gYm91
bmRhcnkgZm9yIGxpbWl0ZWQtY2FwYWJpbGl0eSBkZXZpY2VzPyBPciBpcyB0aGVyZSBubyBuZWVk
DQo+IGJlY2F1c2UgdGhlcmUncyBhbiBhc3N1bXB0aW9uIHRoYXQgSS9PIGZvciBzdWNoIGRldmlj
ZXMgd291bGQNCj4gYWx3YXlzIHBhc3MgdGhyb3VnaCBhbiBJT01NVSwgbGlmdGluZyBhZGRyZXNz
IHNpemUgcmVzdHJpY3Rpb25zPw0KPiAoSSBndWVzcyBpbiBhICFQViBidWlsZCBvbiB4ODYgd2Ug
Y291bGQgYWxzbyBnZXQgcmlkIG9mIHN1Y2ggYQ0KPiByZXNlcnZhdGlvbi4pDQoNCk9uIEFybSwg
d2Ugc3RpbGwgY2FuIGhhdmUgc29tZSBkZXZpY2VzIHdpdGggbGltaXRlZCBETUEgY2FwYWJpbGl0
eS4NCkFuZCB3ZSBhbHNvIGRvbid0IGZvcmNlIGFsbCBzdWNoIGRldmljZXMgdG8gdXNlIElPTU1V
LiBUaGlzIGRldmljZXMNCndpbGwgYWZmZWN0IHRoZSBkbWFfYml0c2l6ZS4gTGlrZSBSUGkgcGxh
dGZvcm0sIGl0IHNldHMgaXRzIGRtYV9iaXRzaXplDQp0byAzMC4gQnV0IGluIG11bHRpcGxlIE5V
TUEgbm9kZXMgc3lzdGVtLCBBcm0gZG9lc24ndCBoYXZlIGEgZGVmYXVsdA0KRE1BIHpvbmUuIE11
bHRpcGxlIG5vZGVzIGlzIG5vdCBhIGNvbnN0cmFpbnQgb24gZG1hX2JpdHNpemUuIEFuZCBzb21l
DQpwcmV2aW91cyBkaXNjdXNzaW9ucyBhcmUgcGxhY2VkIGhlcmUgWzFdLg0KDQo+IA0KPiA+IC0t
LSBhL3hlbi9hcmNoL3g4Ni9udW1hLmMNCj4gPiArKysgYi94ZW4vYXJjaC94ODYvbnVtYS5jDQo+
ID4gQEAgLTM3MSw2ICszNzEsMTEgQEAgdW5zaWduZWQgaW50IF9faW5pdCBhcmNoX2dldF9kbWFf
Yml0c2l6ZSh2b2lkKQ0KPiA+ICAgICAgICAgICAgICAgICAgICsgUEFHRV9TSElGVCwgMzIpOw0K
PiA+ICB9DQo+ID4NCj4gPiArdW5zaWduZWQgaW50IGFyY2hfaGF2ZV9kZWZhdWx0X2RtYXpvbmUo
dm9pZCkNCj4gPiArew0KPiA+ICsgICAgcmV0dXJuICggbnVtX29ubGluZV9ub2RlcygpID4gMSAp
ID8gMSA6IDA7DQo+ID4gK30NCj4gDQo+IEFjY29yZGluZyB0byB0aGUgZXhwcmVzc2lvbiBhbmQg
Li4uDQo+IA0KPiA+IC0tLSBhL3hlbi9jb21tb24vcGFnZV9hbGxvYy5jDQo+ID4gKysrIGIveGVu
L2NvbW1vbi9wYWdlX2FsbG9jLmMNCj4gPiBAQCAtMTg4OSw3ICsxODg5LDcgQEAgdm9pZCBfX2lu
aXQgZW5kX2Jvb3RfYWxsb2NhdG9yKHZvaWQpDQo+ID4gICAgICB9DQo+ID4gICAgICBucl9ib290
bWVtX3JlZ2lvbnMgPSAwOw0KPiA+DQo+ID4gLSAgICBpZiAoICFkbWFfYml0c2l6ZSAmJiAobnVt
X29ubGluZV9ub2RlcygpID4gMSkgKQ0KPiA+ICsgICAgaWYgKCAhZG1hX2JpdHNpemUgJiYgYXJj
aF9oYXZlX2RlZmF1bHRfZG1hem9uZSgpICkNCj4gPiAgICAgICAgICBkbWFfYml0c2l6ZSA9IGFy
Y2hfZ2V0X2RtYV9iaXRzaXplKCk7DQo+IA0KPiAuLi4gdGhlIHVzZSBzaXRlLCB5b3UgbWVhbiB0
aGUgZnVuY3Rpb24gdG8gcmV0dXJuIGJvb2xlYW4uIFBsZWFzZQ0KPiBpbmRpY2F0ZSBzbyBieSBt
YWtpbmcgaXQgaGF2ZSBhIHJldHVybiB0eXBlIG9mICJib29sIi4gSW5kZXBlbmRlbnQNCj4gb2Yg
dGhhdCB5b3UgZG9uJ3QgbmVlZCBhIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24gYWJvdmUsIG5vcg0K
PiAobWFsZm9ybWVkKSB1c2Ugb2YgcGFyZW50aGVzZXMuIEkgZnVydGhlciB3b25kZXIgd2hldGhl
ciAuLi4NCj4gDQoNCkkgd2lsbCBmaXggdGhlbSBpbiBuZXh0IHZlcnNpb24uIEJ1dCBJIGFtIG5v
dCB2ZXJ5IGNsZWFyIGFib3V0DQp0aGlzIGNvbW1lbnQgIm9mIHRoYXQgeW91IGRvbid0IG5lZWQg
YSBjb25kaXRpb25hbCBleHByZXNzaW9uIGFib3ZlIiwNClRoZSAiYWJvdmUiIGluZGljYXRlcyB0
aGlzIGxpbmU6DQoicmV0dXJuICggbnVtX29ubGluZV9ub2RlcygpID4gMSApID8gMSA6IDA7Ij8N
Cg0KPiA+IC0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vbnVtYS5oDQo+ID4gKysrIGIveGVuL2lu
Y2x1ZGUvYXNtLWFybS9udW1hLmgNCj4gPiBAQCAtMjUsNiArMjUsMTEgQEAgZXh0ZXJuIG1mbl90
IGZpcnN0X3ZhbGlkX21mbjsNCj4gPiAgI2RlZmluZSBub2RlX3N0YXJ0X3BmbihuaWQpIChtZm5f
eChmaXJzdF92YWxpZF9tZm4pKQ0KPiA+ICAjZGVmaW5lIF9fbm9kZV9kaXN0YW5jZShhLCBiKSAo
MjApDQo+ID4NCj4gPiArc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgYXJjaF9oYXZlX2RlZmF1
bHRfZG1hem9uZSh2b2lkKQ0KPiA+ICt7DQo+ID4gKyAgICByZXR1cm4gMDsNCj4gPiArfQ0KPiAN
Cj4gLi4uIGxpa2UgdGhpcyBvbmUsIHg4NidlcyBjb3VsZG4ndCBiZSBpbmxpbmUgYXMgd2VsbC4g
SWYgaW5kZWVkDQo+IGl0IGNhbid0IGJlLCBtYWtpbmcgaXQgYSBtYWNybyBtYXkgc3RpbGwgYmUg
YmV0dGVyIChhbmQgYXZvaWQgYQ0KPiBmdXJ0aGVyIGNvbW1lbnQgcmVnYXJkaW5nIHRoZSBsYWNr
IG9mIF9faW5pdCkuDQoNCk9rLCB0aGF0IHdvdWxkIGJlIGJldHRlciwgSSB3aWxsIGRvIGl0IGlu
IG5leHQgdmVyc2lvbi4NCg0KPiANCj4gSmFuDQoNClsxXSBodHRwczovL2xpc3RzLnhlbnByb2pl
Y3Qub3JnL2FyY2hpdmVzL2h0bWwveGVuLWRldmVsLzIwMjEtMDgvbXNnMDA3NzIuaHRtbA0KDQoN
Cg==


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 07:52:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 07:52:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258373.444860 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9jIM-0007ZP-0P; Tue, 18 Jan 2022 07:52:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258373.444860; Tue, 18 Jan 2022 07:52:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9jIL-0007ZG-TX; Tue, 18 Jan 2022 07:52:45 +0000
Received: by outflank-mailman (input) for mailman id 258373;
 Tue, 18 Jan 2022 07:52:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=K2lf=SC=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1n9jIK-0007Z6-B6
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 07:52:44 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur02on061f.outbound.protection.outlook.com
 [2a01:111:f400:fe06::61f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9dd2cb65-7833-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 08:52:42 +0100 (CET)
Received: from DB8PR04CA0011.eurprd04.prod.outlook.com (2603:10a6:10:110::21)
 by AM6PR08MB3943.eurprd08.prod.outlook.com (2603:10a6:20b:a0::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.12; Tue, 18 Jan
 2022 07:52:30 +0000
Received: from DB5EUR03FT027.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:110:cafe::3c) by DB8PR04CA0011.outlook.office365.com
 (2603:10a6:10:110::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.10 via Frontend
 Transport; Tue, 18 Jan 2022 07:52:30 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT027.mail.protection.outlook.com (10.152.20.121) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4888.9 via Frontend Transport; Tue, 18 Jan 2022 07:52:30 +0000
Received: ("Tessian outbound 1cd1a01725a6:v110");
 Tue, 18 Jan 2022 07:52:30 +0000
Received: from aa0ed9061391.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B4C3D0DE-2719-4917-BE34-51A0F521D721.1; 
 Tue, 18 Jan 2022 07:52:24 +0000
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id aa0ed9061391.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 18 Jan 2022 07:52:24 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by DB6PR0802MB2245.eurprd08.prod.outlook.com (2603:10a6:4:84::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Tue, 18 Jan
 2022 07:52:23 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0%6]) with mapi id 15.20.4888.013; Tue, 18 Jan 2022
 07:52:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9dd2cb65-7833-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=R0bC3nRW2CkyJey2gRqlaMlCg/riHqtqLAkbv8PXnIU=;
 b=rRoZmD1nUR8zQVmQccPDang+ERTwZFgM1DL7vh6Aj6IpUw41RDJWC8fRli204inEiMPyc05IrkM7+/qy013EfoXsjcxUR5Krcpz+PAklrsp5CBkpVw54sgI5LU86GiuaLWYLATwVLR71LaExHshWmekctCdEWCBPUwRytn+CbbA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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=EjobZpHltx4b78ZA7wWkQ3IK5Qq/uwTVQwSNhQr3a/e+Tw0cCND6SGZHTlhvN3f8p0Z1AD4NOYQMpL7vGuj0+2e3vKdg4NS/N30+4iPJJDqNMzwVKwSLCFqtrKjq+5QYzYX/dJMEqXoxsDRm846aJSowbjw41uZmf6Y4HwC5yLVTT1NfYDXCphRW1jPZI0lxpSJMw2Wxb636NFkTbX4BTBh3TzvHdAwVXkeHr3FU9Y/NXZ7Qx/bWhBTDgGYcU1aQ+iR0L4Fc4ios/N4WDHoW2tkETAZXNpNUPuwoaVwcxNd3D1q2TF6+/QZtdN819QfRVIdk+06mZLa/hqZrW7BF+g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=R0bC3nRW2CkyJey2gRqlaMlCg/riHqtqLAkbv8PXnIU=;
 b=Gwh6J+Nkt2KqZ8fsWdeMhGjC5zSVD1ceT2Scm3jMc2cTLNR0F/Xsy1d56g8OOS41jxCT5CBV0gB4nOUalgzT/WdNeg5i6uJtweSt7PRQOephV4wG8voJc0vdRTn2QxK5jaR/LTc+zRYny+5OQuUGvihHmsiyQxb3RpI8VjHBcAfYiAuklHBPp2QiUlUhfUdfHRUOjCfWPV9mKhxUMzhDFys0ks2o3UQHgNlE6ojBbUYycY8VG4vOdck6iMTDxPWMpmLpjNF0/T3Xn1atmwKMl7AuD1SEwtNkANeDoFOFLQtHBbRl1fhHbfv/66uKf7yqLTB+CsaElk16jb6bzvwG0g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=R0bC3nRW2CkyJey2gRqlaMlCg/riHqtqLAkbv8PXnIU=;
 b=rRoZmD1nUR8zQVmQccPDang+ERTwZFgM1DL7vh6Aj6IpUw41RDJWC8fRli204inEiMPyc05IrkM7+/qy013EfoXsjcxUR5Krcpz+PAklrsp5CBkpVw54sgI5LU86GiuaLWYLATwVLR71LaExHshWmekctCdEWCBPUwRytn+CbbA=
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: [PATCH 19/37] xen/x86: promote VIRTUAL_BUG_ON to ASSERT in
Thread-Topic: [PATCH 19/37] xen/x86: promote VIRTUAL_BUG_ON to ASSERT in
Thread-Index: AQHXsHMn8Y5/XlVHUEa264O87lW9PqxoG8SAgAED8gA=
Date: Tue, 18 Jan 2022 07:52:22 +0000
Message-ID:
 <PAXPR08MB742088A99A66E06D15B006A59E589@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-20-wei.chen@arm.com>
 <18b1921e-44f9-3e4d-eafc-47ff88009b13@suse.com>
In-Reply-To: <18b1921e-44f9-3e4d-eafc-47ff88009b13@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: DF4747394B100744853261DDA49A64BD.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: ca76bfda-ec53-402e-6b18-08d9da577aa7
x-ms-traffictypediagnostic:
	DB6PR0802MB2245:EE_|DB5EUR03FT027:EE_|AM6PR08MB3943:EE_
X-Microsoft-Antispam-PRVS:
	<AM6PR08MB394371C303733C997D8C41FD9E589@AM6PR08MB3943.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:
 7pxd/oWJ7J4tqXC69Rbl9WiqyI68TOLmYPJiD/XqnFPoz4vOClaRtxwn5PqwbbzzQrjloPNoNPpWeMBP3dqjqQ94V3URKfYq+hDj2J7tmmWSmr9FC5frJScyTanPU7hD64b1/a9rYDPRNwYsZJJm4za8pYecEZXtRQXDffRkAVgsk7PgLjM30fZZREp/WiXcuCbfNisbYaFJlcQoJuSexiuUdDWWgiVXvABW1Hn66sJtRW9UOqw84ZIqTk4dMwDhM4IlM+2H8oX5do2AKDFaMDMbV7X+2+rZk/h3/ep2loeG5Nx7WeBdzo9Wx3gF4JSyZ28bc0ioiRa705bxsIX7RyMsvulTsxDtTOm9n/F66Ny8ja3fYBarY49s9kJ5XrmiA+ewkPaObsD4xYmwg47mK8w+owyMer+UVsRKYMf+/+sdiI+Me4zOKn+/OlbtpmBxcVrHjjw14g0O9cVjhbvl4nW8NWNN5mf0l2qOWUSpIZ2/TAGHG2hrJgpAIf6wj9ODRTU9zrfCo4gWLVhKT9KQvveqWT4BpTuvMvkT1KDOmM0k/Vullt0yPRATTLfnnkLFyxLjLN/dhsJgopq5ORS9o8TBmP0R16N37sLkE+imck/OPXGFggJNIQmHj4qma7jXuVdz0gmld+g5yEZa0BNT706WdPinWSOdcOmIuoWSiudDcacUdz70tlgTQhrcnVpx7aY1gW1ojCxsmqZQT5iKZA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(53546011)(6506007)(508600001)(26005)(8936002)(2906002)(64756008)(38100700002)(186003)(4326008)(76116006)(9686003)(8676002)(66946007)(7696005)(71200400001)(66556008)(66476007)(66446008)(54906003)(6916009)(316002)(55016003)(38070700005)(52536014)(83380400001)(33656002)(122000001)(86362001)(5660300002);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2245
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT027.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	30a94361-86c4-4568-69b6-08d9da57763a
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	eVlxMFbtVaPIHyoaW0BsjuIYw2KQjSaQpvoNJWRKND0Z3qThWnWZhAuA1JLnL3OW130y87/LEE1ae44PtaC1htzo7m7ASB6NSLSGTYsesWHIpOCgxAEdhKs4rp3LBKNl2haB0w0EgiZa1RLofNuI4jDxZAdqwGVfBUmZC4b5PBg0gyFWKadoL+CPYOXK/a4VM9o+PLMJAQAXEOJaOS8TQmB7bke+ryzkDyBt+PEa3YG9xxIfTozYj7WxiuHzabp4Te321rZKZ8bL0aTQq2ebQ66cN7iyr5Lt8MQzis6Bwx7QTp2bHYZu9DZOzOEfX7tg9AWuASxtu0EaG4Eu5npWleLjGtcFRZZyKIxDQtTi7nCuv4rK17IVl0xH5PCDMKPPfXVHmMKYYSTnG+05oWyDj6/iaVi308ET1+QhzEUaIOpMVPuPugEhCDqR7JdTYxtFIR0uQ8CltHRFUnH6/fXQM8M3Ls0it5Qo4/OcF/g5jzr6hP51IBk3r+H13kbqJxTyLO0XpTQqXGtreePfDPDUWnfeA/mDRzMTVQf9ehyZWHEFsdl0B43tosJQ/qnVCPSuuW7cyHqGcN2iaWUxmoQNqAZyU6XPrm24GdPGLmBmaMyAxLtprEOrRKHs++HWDG5JNbIeHny0EbLVnVhKaqJ+Ar4qz6sllfatT3fyVVN8+sWP7U2q5YeSQFKjrp2Rdy0D6jX1hbNG0ZscXFwhtZ8olutCnlCqLoqJsWub2tltOUVftn1oaOWLS89OJLtZo5F1kIM11zvrzStOGhI1c3aqgQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(40470700002)(36840700001)(186003)(81166007)(7696005)(6506007)(8936002)(356005)(53546011)(70206006)(2906002)(70586007)(26005)(508600001)(336012)(5660300002)(54906003)(316002)(6862004)(52536014)(9686003)(33656002)(86362001)(83380400001)(82310400004)(36860700001)(55016003)(8676002)(47076005)(40460700001)(4326008);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 07:52:30.4438
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ca76bfda-ec53-402e-6b18-08d9da577aa7
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT027.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3943

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMuW5tDHmnIgxOOaXpSAwOjIyDQo+
IFRvOiBXZWkgQ2hlbiA8V2VpLkNoZW5AYXJtLmNvbT4NCj4gQ2M6IEJlcnRyYW5kIE1hcnF1aXMg
PEJlcnRyYW5kLk1hcnF1aXNAYXJtLmNvbT47IHhlbi0NCj4gZGV2ZWxAbGlzdHMueGVucHJvamVj
dC5vcmc7IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc7IGp1bGllbkB4ZW4ub3JnDQo+IFN1YmplY3Q6
IFJlOiBbUEFUQ0ggMTkvMzddIHhlbi94ODY6IHByb21vdGUgVklSVFVBTF9CVUdfT04gdG8gQVNT
RVJUIGluDQo+IA0KPiBPbiAyMy4wOS4yMDIxIDE0OjAyLCBXZWkgQ2hlbiB3cm90ZToNCj4gPiBW
SVJUVUFMX0JVR19PTiB0aGF0IGlzIHVzaW5nIGluIHBoeXNfdG9fbmlkIGlzIGFuIGVtcHR5IG1h
Y3JvLiBUaGlzDQo+ID4gcmVzdWx0cyBpbiB0d28gbGluZXMgb2YgZXJyb3ItY2hlY2tpbmcgY29k
ZSBpbiBwaHlzX3RvX25pZCBhcmUgbm90DQo+ID4gYWN0dWFsbHkgd29ya2luZy4gSXQgYWxzbyBj
b3ZlcnMgdXAgdHdvIGNvbXBpbGF0aW9uIGVycm9yczoNCj4gPiAxLiBlcnJvcjog4oCYTUFYX05V
TU5PREVT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKS4NCj4gPiAg
ICBUaGlzIGlzIGJlY2F1c2UgTUFYX05VTU5PREVTIGlzIGRlZmluZWQgaW4geGVuL251bWEuaC4N
Cj4gPiAgICBCdXQgYXNtL251bWEuaCBpcyBhIGRlcGVuZGVudCBmaWxlIG9mIHhlbi9udW1hLmgs
IHdlIGNhbid0DQo+ID4gICAgaW5jbHVkZSB4ZW4vbnVtYS5oIGluIGFzbS9udW1hLmguIFRoaXMg
ZXJyb3IgaGFzIGJlZW4gZml4ZWQNCj4gPiAgICBhZnRlciB3ZSBtb3ZlIHBoeXNfdG9fbmlkIHRv
IHhlbi9udW1hLmguDQo+IA0KPiBUaGlzIGNvdWxkIGVhc2lseSBiZSB0YWtlbiBjYXJlIG9mIGJ5
IG1vdmUgTUFYX05VTU5PREVTIHVwIGFoZWFkIG9mDQo+IHRoZSBhc20vbnVtYS5oIGluY2x1c2lv
biBwb2ludC4gQW5kIHRoZW4gdGhlIGNoYW5nZSBoZXJlIHdvdWxkIGJlY29tZQ0KPiBpbmRlcGVu
ZGVudCBvZiB0aGUgcmVzdCBvZiB0aGUgc2VyaWVzIChhbmQgY291bGQgaGVuY2UgZ28gaW4gZWFy
bHkpLg0KPiANCj4gPiAyLiBlcnJvcjogd3JvbmcgdHlwZSBhcmd1bWVudCB0byB1bmFyeSBleGNs
YW1hdGlvbiBtYXJrLg0KPiA+ICAgIFRoaXMgaXMgYmVjdWFzZSwgdGhlIGVycm9yLWNoZWNraW5n
IGNvZGUgY29udGFpbnMgIW5vZGVfZGF0YVtuaWRdLg0KPiA+ICAgIEJ1dCBub2RlX2RhdGEgaXMg
YSBkYXRhIHN0cnVjdHVyZSB2YXJpYWJsZSwgaXQncyBub3QgYSBwb2ludGVyLg0KPiA+DQo+ID4g
U28sIGluIHRoaXMgcGF0Y2gsIHdlIHVzZSBBU1NFUlQgaW4gVklSVFVBTF9CVUdfT04gdG8gZW5h
YmxlIHRoZSB0d28NCj4gPiBsaW5lcyBvZiBlcnJvci1jaGVja2luZyBjb2RlLg0KPiANCj4gTWF5
IEkgc3VnZ2VzdCB0byBkcm9wIFZJUlRVQUxfQlVHX09OKCkgYW5kIGluc3RlYWQgdXNlIEFTU0VS
VCgpDQo+IGRpcmVjdGx5Pw0KPiANCg0KU3VyZSENCg0KPiBKYW4NCg0K


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 07:57:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 07:57:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258377.444872 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9jMk-0008Kh-MB; Tue, 18 Jan 2022 07:57:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258377.444872; Tue, 18 Jan 2022 07:57:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9jMk-0008Ka-J0; Tue, 18 Jan 2022 07:57:18 +0000
Received: by outflank-mailman (input) for mailman id 258377;
 Tue, 18 Jan 2022 07:57:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aElt=SC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9jMi-0008KU-OQ
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 07:57:16 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3f79ee6b-7834-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 08:57:14 +0100 (CET)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2051.outbound.protection.outlook.com [104.47.2.51]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-36-MZAkpkg_M_GltIV2JW7djA-1; Tue, 18 Jan 2022 08:57:13 +0100
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.4888.13; Tue, 18 Jan
 2022 07:57:11 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.014; Tue, 18 Jan 2022
 07:57: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: 3f79ee6b-7834-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642492634;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=NsErlAkpuYlNAZok3ODQP+FNUM8+lKcGyfyK4sa2Udg=;
	b=eApHuvLq4Qs2PIkBOa2ejTgz78T7uMdxrU6LIxmMDFcaXTbItTmx2OSGKSHPN8Mhy+QHHq
	76+No/rqdqO0r1oVwWt91Uk9F1LWn6FV8sziT4DcESrodztqaiqUFD4690j/8BWMFd7nkZ
	eG8SyXbupve6M27IY8LsEIemKcqus4I=
X-MC-Unique: MZAkpkg_M_GltIV2JW7djA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kTuCB9HRAnJXlUEDsY0DG0h2zbLV45O/dvth1W3UXLFo4ggBmReBwrg0RxmBa5/zYE5HOPUDUL59qjN7Tgzf3iesx7mTmQsrAzEl7nw9KM9J1t9BLT3EAcKnLjeehhH1CqHAX/OiUUC2lVyU1fiEWMER2OMG+GYRBebgl040wIc8bH3PXdjYgUJXCCbRIXsysVxOJVDCTFmI73eGdyXSa+5DJAcuSehFBO/uYGoCtFKkAKSfmEa8za4oqYrfwMha8HhtbDo8gf1Rl9pMX/VgiXjIUlsZvEpMNw0xpJ0tP1NMJkM7qoHDCBlV8P7ugWu0jDCzTrgUwFKWWDWEvucc0A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JIs5Oyn/us1ATLGHw0TuZHph47YdgDQJxfIkbWG/fFY=;
 b=YE1X1VyadONk1lYnjYlhuDhUMCWQGCguijMy+unKltFJlSVxr0WGzVkwltWlQMG6qP9ep4bmWjkwBbe+yn+KPoZNSGFF35JQnaFPLbEij9+O6eAdsjWKlUez0otzC0fVJPfXnDhdCdsQdBBScictpwVGeWWFlJADAMdoMAFxwkVhhVDaljknkx6dikeK8KXYGXxamA8Dubi98KgEIHpqyrSMMIGN5myxVQWYEU5z81xSt1Jx4e/IiNlPLkraSsTnjlCTcu5M14yJs5NGwADrX4bwbOPxvS/iM0aYhbs+KodhIBedGxYxpC3DtGQUjmTNUW/i7gOpqY1mCbDmIJ6w8g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <69b41772-6dde-38fa-f17c-367deef58888@suse.com>
Date: Tue, 18 Jan 2022 08:57:09 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 3/3] x86/spec-ctrl: Fix NMI race condition with VT-x
 MSR_SPEC_CTRL handling
Content-Language: en-US
To: Andrew Cooper <amc96@srcf.net>, Andrew Cooper <andrew.cooper3@citrix.com>
CC: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
 Kevin Tian <kevin.tian@intel.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220113163833.3831-1-andrew.cooper3@citrix.com>
 <20220113163833.3831-4-andrew.cooper3@citrix.com>
 <5f2c932b-8e30-b636-76f9-d4b27a9f477b@suse.com>
 <cf0b4480-ac1d-ce21-4829-9e02a01590f2@srcf.net>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <cf0b4480-ac1d-ce21-4829-9e02a01590f2@srcf.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM6P193CA0083.EURP193.PROD.OUTLOOK.COM
 (2603:10a6:209:88::24) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e5e5db48-b995-43d9-e629-08d9da58217d
X-MS-TrafficTypeDiagnostic: VI1PR04MB4445:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB44450FB53C67BBA5DDCB1AFCB3589@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:
	xGZeDWS24wfYzf+TPfi+lNNGKvQpmh0w478RR2LEGPXNE4ViZ47+nCNEm2A7KzH/JnspMpdcL3j2oxU1y+iBy7JnLrQoj9/o9k5/KpBX0WQmTsQBdE9NHc1Wrv37tHYmypqMknmvP7rEIYCjuARXTe3zBR0XYnfqXPOdemjA0ZdQD/0a10uclohD9AQf+CYZkzztu31DZXp8/x6E8G3uFo2vVyl4YMrklyAQsom35R4EIyCgEzI0OTa1+FQKJ9AFfbPClJQkHLwP1Mo43DFCnNW7UB4fkvRwq9+5QSozh/QgUeqDePQbCGLVxft9copkcWNP/PxP9dXasgL/w/Jeb0GbMiJBsfC76QbfC2YnAMhRWZkXTscIu1YJkXoLix7IwSZRvCOVN2oEOUcgrOWWHJK3U5gO8+ovDGFu2HjYAlJTxvJAiYJEeLqns32aRV6bm3JjP3rlzMy4CkyYwEp+QJbRyU0uJTb7M6ndgd9eW24RpxEhbzQoxlD0T9+ciQcJsv2pCWi20nDNyXcA4LSzhJxLvdqGtPnk1swOosgxjsBDh28LrYDXIgv3CL3zQrYK0S/BLDzVHzQOwaivaDMNpUlu4JltEIwDY5xxwkhqw3mwizfmvLwNabxbH7IZlzo811Egfz0OfT1RgTOgx/2grc0YKNd2E7/ZZN2x59yQGCTfWNaqkmdge+BnMlOylobwMsSdOq6o4wl+tkYeadxrGk6z/oYKHV2MOYj/cecvrHE=
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)(66556008)(6512007)(5660300002)(66476007)(31686004)(110136005)(4326008)(36756003)(8676002)(6506007)(26005)(66946007)(186003)(53546011)(2906002)(8936002)(83380400001)(31696002)(6486002)(54906003)(316002)(86362001)(38100700002)(508600001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?1yqPlXNoSDrs6mv51LLAzg3vjbBb6i5/psvldkE7VX0P3TjegUA4PfvPCpUR?=
 =?us-ascii?Q?oY5fbdfZ0TRr6dJn6VvbtlfjikSghAwiRfyQdtjPsBgXW5aOIEcAvzS039Hm?=
 =?us-ascii?Q?Rk3k81m5wAcjn44PIH6Ps27DDxwNY17oEa7I5TYWoVnzFUJ5xWgkDlh8iaJ4?=
 =?us-ascii?Q?fZHz/ewEE9EZ9z0gR/xKziI6bkX9myEk+kUVE2NiTJbW94tC/aT6SWP6wuky?=
 =?us-ascii?Q?N7ndniuSSohxBp0VfoyDFzR6mskDpdvGCvMqcvVVD0nzlFxQoX+M7AEvhNqv?=
 =?us-ascii?Q?pH4A4MoLRjHt+z/GC+zzFhwhDsStv4CVwu8NZBuEewzGef18l3z/C9x/WPYG?=
 =?us-ascii?Q?8DC/kl1dG8vzHlSXH5vZR/dCDwzqzDxcuNfhw5+xtpsr/OngZrUQ7X9k6Cqx?=
 =?us-ascii?Q?9Fo93AYQWqzhwSlgF0Fz0xC5dboaa6A/jyajxIB6qhNSjg0LVE/BC014o36m?=
 =?us-ascii?Q?lrV8OERvdJkNBk6+WcoZOszw29Kx+ZIvTQyH8xAZOqnF93MXePYWnOj550Tw?=
 =?us-ascii?Q?P6KPmtM+QsUlUwJPW2Nkb+kBwEuxDzmGNw/uAF/9y62LEhIVCC8cmdyAiwK0?=
 =?us-ascii?Q?kl4Sm+XSE8GT3Xankx9jYhsV9LMpxwgs0rf7EMLtdjuJLRbNbVM9SadjVzr3?=
 =?us-ascii?Q?vp85ZhzLBWqTv1tIweAoguHtXkILBUWHWvxPMf4UGP/oKPQuA+KIS/OTd2gY?=
 =?us-ascii?Q?nkzBwFlCGeime2B0MxoY8DkxJJeQ9+Klwa/d0xIgfi6B+4/aviB1Joa0GIzj?=
 =?us-ascii?Q?RG5V7wXuKhg4BZQVszPtW5PRbEto1Wfdx67moNYhhoMQvXqYyNdgay75ti2l?=
 =?us-ascii?Q?riaw9VNg1Vfk/OXsPCTrsOVVZTxg8ndrPQCkwSUJBZh++sCUb/FJuMPlMkdf?=
 =?us-ascii?Q?dOXNqGW02REsxUaiij4MIR88NpTvUkMbWJqD1WyH0JBmzOq8LsVMjJinXecf?=
 =?us-ascii?Q?C2rslOGU6yyUiPVMCxJX0W6N3jIDYr9d+0nTpQndVR0XSln9F+Mdxwel3Wh9?=
 =?us-ascii?Q?bwGxLnUUUsWx6ynBn5/Ns2B7pG+z6o/iGSnu89i+jrcsLHTUNzdZzudII/xU?=
 =?us-ascii?Q?ehAzg/bRfJbR4hxaG9oVopg4vQVq+oLbyy13ZnvUXvB/AN3nqm3PhXw/lTzE?=
 =?us-ascii?Q?FgkutnsgASweoy0ZPQp2WNDtq/yU6andgyFiKurJSsZs+jNDYiaf00z8wo8h?=
 =?us-ascii?Q?q+a57ohcydnkkkSeFFdO73ahf8c8ja+hLjI/UBoH3B3DEUPvLaACCKFBj+Yq?=
 =?us-ascii?Q?du2N4fWW72i+kYSqyEcubZ68DOgy2RUmw4lU8XXcrLEVGJWu9Y6jAlm0gfwU?=
 =?us-ascii?Q?uTOyGIuLrp2e1yoW2oS9101DmV+I4VvSvDRELnfGMnAMo24I6hM8D+HidzO0?=
 =?us-ascii?Q?g9MyDuFI6DdBIIR+CLAbrjxnmyryWqXObGqw3An9bUc6j2+xaAMn2tVJuqQy?=
 =?us-ascii?Q?NfPNocsfASJfVddyTOiFNWZKnROKGwXsty9e4Rn3SY8YXf9zgUFYl1iIKwfP?=
 =?us-ascii?Q?/053pz6C5rxkBfoqD5ZVD177uSHXptwEo7i+7ufPRxwOIWQ6wP1CCcwx7qFL?=
 =?us-ascii?Q?WYMbaOWqSC4EqLDkwz8UzpgiZqBTtor9ZG6e1cihT7v44TAAQhoKlVT2AA/U?=
 =?us-ascii?Q?lMVia33T/CeObk8rgIcnXhk=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e5e5db48-b995-43d9-e629-08d9da58217d
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 07:57:10.6470
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rxUFGHwVDxbadyyqaD7768Evydrz9PCjnZx7ZhdHz5d8gDDeTlR7WeFLs3Ceo3qgAiyetEAl8yaNZu+MKEUYBw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4445

On 17.01.2022 18:23, Andrew Cooper wrote:
> On 17/01/2022 11:51, Jan Beulich wrote:
>> On 13.01.2022 17:38, Andrew Cooper wrote:
>>> @@ -119,12 +125,11 @@ UNLIKELY_END(realmode)
>>>          SAVE_ALL
>>> =20
>>>          /*
>>> -         * PV variant needed here as no guest code has executed (so
>>> -         * MSR_SPEC_CTRL can't have changed value), and NMIs/MCEs are =
liable
>>> -         * to hit (in which case the HVM variant might corrupt things)=
.
>>> +         * SPEC_CTRL_ENTRY notes
>>> +         *
>>> +         * If we end up here, no guest code has executed.  We still ha=
ve Xen's
>>> +         * choice of MSR_SPEC_CTRL in context, and the RSB is safe.
>>>           */
>>> -        SPEC_CTRL_ENTRY_FROM_PV /* Req: %rsp=3Dregs/cpuinfo Clob: acd =
*/
>>> -        /* WARNING! `ret`, `call *`, `jmp *` not safe before this poin=
t. */
>> Is "no guest code has executed" actually enough here? If VM entry failed
>> due to a later MSR-load-list entry, SPEC_CTRL could have changed value
>> already, couldn't it?
>=20
> No, it can't.
>=20
> See the very start of SDM Chapter 25 "VMEntries" for the distinction
> between early and late entry failures.=C2=A0 (i.e. those which cause
> execution to continue beyond VMLAUNCH/VMRESUME, and those which cause
> execution to continue from the vmexit handler.)
>=20
> Early failures are conditions such as `pop %ss; vmlaunch`, and bad host
> state in the VMCS.
>=20
> Everything pertaining to guest state is late failure, so by the time we
> get to processing the MSR load/save list, we're definitely not taking
> this path.

I see. This still means that the answer to my 1st question is "yes". In
which case I'd like to ask to extend the comment to include "no MSRs
have been loaded from the load list" or something equivalent, despite
realizing that such an amendment would have helped already before your
change.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 08:08:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 08:08:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258387.444882 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9jXa-0001up-SS; Tue, 18 Jan 2022 08:08:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258387.444882; Tue, 18 Jan 2022 08: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 1n9jXa-0001ui-PS; Tue, 18 Jan 2022 08:08:30 +0000
Received: by outflank-mailman (input) for mailman id 258387;
 Tue, 18 Jan 2022 08:08:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aElt=SC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9jXZ-0001uc-Pk
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 08:08:29 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d0f5e5aa-7835-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 09:08:27 +0100 (CET)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2059.outbound.protection.outlook.com [104.47.9.59]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-38-Jn2aLjOxN1mxaqkP4-rwcg-1; Tue, 18 Jan 2022 09:08:27 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0402MB2703.eurprd04.prod.outlook.com (2603:10a6:800:ae::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.12; Tue, 18 Jan
 2022 08:08:26 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.014; Tue, 18 Jan 2022
 08:08:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d0f5e5aa-7835-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642493308;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=khh3DAmBezr4X69sQrRIi1cs5bgWKcSWj6U1iiuP5jM=;
	b=Wx6VDmUbgmUy9N14DsuZb+aE1WHUmVvYbraRdNXzyqRLPQPSMc2oQT9o4yd+GHRgoW+mwD
	e/MIwKKr6BN7HP+GeV9xT3rcKPDE1dVPKwa3GEb+iTiLlCRYtctUEvjayfxN/XYWDa50pT
	oxXwUb1PSz9bC66XC/t49oggJZ+lRsM=
X-MC-Unique: Jn2aLjOxN1mxaqkP4-rwcg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hS4hPRpdOZVT8BO6mDMiQAA0H1AUQ1Kbrrvqiq9C0HnDjfsiFiJJv1NghT2/8PhBual1d/Cw50PHocTSXvICHnkqUGWJNHBw8/CWvPTvLYydsljOKLXuPGZ1K3YTD4HKX9YZxhSS1dHpd4UpdnwiE5S8sKEhzeH6UNtzRdSaXY98TY86z/FLbq3Ec74p2xAWbuZVqnBrud0cfKpZof9QFv6Urt/Tgwctd+GRj/q7znqRzGzEd1zPiERMxw4EqIY8PD04/Nevwx2NOPtSsKZY9vhi4l3IUEzECH6126+CTpQvoZiTZL9WISxAelie50qlHrblgAIJjL2L0d0WGB83wQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Z10DVoe2B9qoWsWBTasR/Jlp+h/FmGYKdClr1dOwOZg=;
 b=YS6ZP4+Zar+2D5dY1OWLs/zQaken7HIvo6OEN/uYIw+iJAyZjJPtYG3ecGIdvZDyOgnMBPFqfyRAa+JaYyskw7y0WfNBGC/h8vo94WW1SGdGFVU7ef6POmFNjVfOox+fqB955AcYu0i8jrEvSXRYnGDP5HUjyL5xDhda/fyP9sTCkZeDGB9eiDO6jvEtBBYZl9rff4XEHW/MZPILifbW4CsyTVEFIySnqbBddYOlYUVFfFzEg7Hswk67S8rzeGwlodW9v2dntHIzOT6YFdFoFkAYmgaNwj+M9rLKvMlW5n5DWEVdkv/vVAqRZNg8NqVwRg7ARXvsC7WuFpy9dBw6CQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6a0fb3b0-e3b0-464e-5cd3-26b378942e51@suse.com>
Date: Tue, 18 Jan 2022 09:08:25 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: Fwd: Reboot hangs on blank screen
Content-Language: en-US
To: The Person <oddh879@gmail.com>
References: <CAATqfqB5=mTtbnm1+mXR2U=G0pjjtX7z-brNCE_4us3LzNEojg@mail.gmail.com>
 <E658EC8C-3C13-4EFE-B5C9-6E91D30ED2F4@citrix.com>
 <CAATqfqD70LtuCUMVAcAG7yeZNU99P7a_3y007d-M+q3i0p1VPQ@mail.gmail.com>
CC: xen-devel@lists.xenproject.org
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <CAATqfqD70LtuCUMVAcAG7yeZNU99P7a_3y007d-M+q3i0p1VPQ@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM5PR0402CA0007.eurprd04.prod.outlook.com
 (2603:10a6:203:90::17) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b06ac766-1c8b-4ea9-fd2a-08d9da59b415
X-MS-TrafficTypeDiagnostic: VI1PR0402MB2703:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB27030AC60FDB9A486A655477B3589@VI1PR0402MB2703.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:
	qAVOxSJ4RwL9wWxgTOAgYxgWtKRFCX0TWWH4GqchOdSeNsuqaX5+M4DeWt/wrTB4uSE5YwD1eJyc8ASfQIzvz/BW58PLIYrmErW5R+DUsx+wssPZSedpMBLNsp+x90vWyN6aAgugG+gh+wX7zGcsFRyCkj0cr/fvMRV8S8X+6pS2j6OASgCRGOjpKxFVHRUgPKSsMOWlqXUEb/D2Kypu/rsCO9gX4hwOvTEbSVYXwkqaZqYlVlApMCFqCp6n2gKsdmH+KNK6Ay46iGcZKcITyUvbP+HAxUOltOc76mB7RKm9+ry2soPefUn8g5sAC87NN9Jqg4WnYt99ZVA4qP3NcjXifvXzFqs/DibAna+RwkPDbXoWUk4FKSOVRk6DXtyzxMpYAwfATB6s38WCpN0x1N+XwrgIJnI1lLiuUiOMXPOeae3RUdd57bxXPsvhKxuGkwY2ds4rEk5ggT4coTqtLCi8TfEVDhaHn1DtNseOzXoQHWNYsgaKiSLMG0djFZl2mZQa8GuzTmZLbiXC5PYv3+PJErqq21FnB2HaeJ/Lr92aw+XmJXAoGbCoZ8hObE2wZWI1nRL63Q/AroyxbFmSZl+YJChPaKLzb14udsGsFFiabuPV3sglEFbNjwpNxyUqX+jtoy6oMduE/NIw4PImnSS+o4LfbhPTgFcklOqDawhOdxWM4JwOELTdzY3TvtDGE1Q4/cjYGAoyZi/jJR7vktWhv73iuB6XbwaeaCVMBXqUZaEOWG5QfMP4ZfyMbscq/X6kNqSvyHsJ4RCuzFyTKR/iR0pJvglnTHnTAteTvJBZ8rN0elInrpqqNHvpAXlr
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)(53546011)(66946007)(6506007)(83380400001)(6916009)(186003)(4326008)(6512007)(8936002)(2616005)(2906002)(31686004)(316002)(6486002)(36756003)(966005)(86362001)(31696002)(66556008)(38100700002)(66476007)(8676002)(5660300002)(508600001)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?9CseZAwCv6VnnYdlTRoSLerpTLq+RbSmYCrPnB9ALcuMazADyP331Nh8UrxJ?=
 =?us-ascii?Q?B74AHZR5nMtPOE1K/ffcNtCOloVNWc+7Zeww47c4OBrSZOCL+MvmcXtoN1TW?=
 =?us-ascii?Q?JtaiH9mAArZKynof2BDBCie/fLb4MVwelaRfNxUvfYHMSp5zhQLTbGIH0X+a?=
 =?us-ascii?Q?ipg5Hh+4g8vu2Qr8M3X4pk0jOUazcmzaPCTgYMW7Rvm35yvNLu+4WWk1Ctb9?=
 =?us-ascii?Q?X3AiYgj2nJelqy/8nUzgu+9hLyCR6UajGcXVbsPe9ggY+fLFDxIwg1plfMIF?=
 =?us-ascii?Q?IV0O/XJv823Iq1muH3rIpNdupA25lmJP5tMDtP0r3KKrq5TFM8QzGDFXOmxX?=
 =?us-ascii?Q?aoZnPUO9UTbeITpaYd/gwEaxmjT4QnbQxfDGzy8ocPVegED4l+LTcXbLTDUI?=
 =?us-ascii?Q?/p2asDgI8wiXrnJPgLVv6DbMdzAqeUageVfm+nCQEouh1ERdzJs/yuCjO7iI?=
 =?us-ascii?Q?YIqL8kJX954CQ4LYVGNkGK+qZ6c1HO9t7pE5213x3bD6GOmQvmtgMfRxFKKd?=
 =?us-ascii?Q?sMMkniJI3Yby8SVPitjS8N9T74x/PxqhZAfbihE6OaWR8UNVqSo1exGnnt8H?=
 =?us-ascii?Q?4v2/blIRuRJmLRDJATLGtCB0ssA1I7JKl6pKF4pgeTXahRMJTj6lUPfOLI4m?=
 =?us-ascii?Q?hvY1hqCu+XJiYkBKj3h28zMvYADRycogj8qe8TpmBFTjMKDgmeXBuJmHplbJ?=
 =?us-ascii?Q?uM33psh1wDNO40J+3TUKExMIq0yCuVj6XYZmtsqqklTrasJwZmhIbqUN2KXn?=
 =?us-ascii?Q?55EZ8djwk6ga+C/SQyDb5/I7NMHJs6X/ZGlk9mwurKXFVgRaNf5P+lnZt8h/?=
 =?us-ascii?Q?mNqohKYAlED72JPBwyDjMzMa4H5vzuAMl+ewODX47XireHHw3IdFnqzTELBM?=
 =?us-ascii?Q?KGswrzohzajfFWhYEeP0Q6uUbaK58nJfYd8CWNAEn95T/QMjqZZ7uSMhXIcc?=
 =?us-ascii?Q?r39fB8Vg7MKy9RiFQgIXvs9Ptb1RKKMouzErEtF6xDrRkpJJxl7ZnYPA6N9x?=
 =?us-ascii?Q?3q0JdZW56efLRdqLNHDPrEjS+71XDHVfvsSlxYIxd67Sq0cjke2lXcI6G/Kx?=
 =?us-ascii?Q?RcDZS3NmjIU2h02icUKI08Ka7aAy/sTcn4AZgjsl4b3M53GrB/7tKM++K749?=
 =?us-ascii?Q?iEqbixhdw/R/RPtKGCNCwbPD3Lj48fqKh41bn67IwRqtj8Alj6VVWoRNiDCe?=
 =?us-ascii?Q?soBenejWAXaARrr+2wJNGvgntQpZKdUOjAK0vkl57puHdFMpxsHs/agdSl9E?=
 =?us-ascii?Q?hJnjgFBoV0CRFlHOMd4YbEM66UGZet8CwmHit7pldxqntwXQGEpoOLpWOneQ?=
 =?us-ascii?Q?IBXJI7oH3+KSsKLozKqbGrWRY7yTVXTaI3NtCmp/rtOVF1YULsQJUZbFT8YY?=
 =?us-ascii?Q?1SloESO01x8aqRA1qewZNvpt/Pwg3NnfJPksOWS34cXBc7RtgoWZc7JQi0yE?=
 =?us-ascii?Q?vJTKkigHRRSgECnxqjk6JaFE583Okdtc9J4EIBHUAzbi5ZpsWwB+GtUQ6JBJ?=
 =?us-ascii?Q?C2M/kW9Cc7SKXhLmYQNss6HAT+itSElypy8wToHda0GYWRHHBG8QsfTwyJ69?=
 =?us-ascii?Q?yqPemLsbBhKmcsiBszmTKnIRfeFgOttyoksaM0eX26Sm4Mz4/FhHv5WW7LT+?=
 =?us-ascii?Q?lXf84yjradNydMGcYm7BocQ=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b06ac766-1c8b-4ea9-fd2a-08d9da59b415
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 08:08:25.9789
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: VwMCf508OzMbyaC9mqMqDLUc+5rSSIKIm7uKZmKnEeyFn+PNMiyr9icMMKFt4H8YB5p6h3Ss71//KX8w1UkOHw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB2703

On 17.01.2022 20:30, The Person wrote:
> ---------- Forwarded message ---------
> From: George Dunlap <George.Dunlap@citrix.com>
> Date: Mon, Jan 17, 2022, 6:32 AM
> Subject: Re: Reboot hangs on blank screen
> To: The Person <oddh879@gmail.com>
> Cc: community.manager@xenproject.org <community.manager@xenproject.org>
>=20
>=20
>=20
>> On Nov 29, 2021, at 6:51 PM, The Person <oddh879@gmail.com> wrote:
>>
>> I am using Qubes 4.1rc1 and i have a dell 7520 mobile workstation with a
> xeon processor. The Qubes team believes that this reboot problem is
> upstream with Xen. I would like to know whether the Xen development team =
is
> aware of this issue and how it can be fixed. Qubes is the ONLY linux os
> that won't gracefully reboot. I never had the problem with fedora
> workstation or ubuntu. Is there a way to edit the boot file?
>=20
> Hello,
>=20
> Sorry for not responding to this earlier; I=E2=80=99ve just gotten back f=
rom
> parental leave.
>=20
> If you=E2=80=99re still having issues, please submit this report to
> xen-devel@lists.xenproject.org .

I'm afraid the above is too little information to do anything about it.
It's also not clear whether what's seen above is all that was visible
to George when he suggested to submit the report here. Please supply
all technical information you've collected so far in the context of
this issue. This being a "mobile workstation" (whatever exactly this
means; some quick googling suggests a laptop) may imply you have no
option to make use of a serial console, which may make debugging of
this issue more complicated. Please clarify this aspect.

Please also consult Xen's command line documentation [1] and see
whether making use of one of the "reboot=3D" sub-options would help you
get around the issue. If one helps, please also report back here.

Additionally I'm afraid I can't make sense of "Is there a way to edit
the boot file?" What "boot file" are you talking about?

Jan

[1] https://xenbits.xen.org/docs/unstable/misc/xen-command-line.html



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 08:16:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 08:16:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258390.444894 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9jf4-0003JN-HO; Tue, 18 Jan 2022 08:16:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258390.444894; Tue, 18 Jan 2022 08: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 1n9jf4-0003JG-Ds; Tue, 18 Jan 2022 08:16:14 +0000
Received: by outflank-mailman (input) for mailman id 258390;
 Tue, 18 Jan 2022 08:16:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aElt=SC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9jf3-0003JA-Jr
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 08:16:13 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e5d9fc87-7836-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 09:16:12 +0100 (CET)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2058.outbound.protection.outlook.com [104.47.9.58]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-26-v7JG6QZrO1-3MjvLkXTbVg-1; Tue, 18 Jan 2022 09:16:11 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM6PR04MB4742.eurprd04.prod.outlook.com (2603:10a6:20b:4::26) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.12; Tue, 18 Jan
 2022 08:16:09 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.014; Tue, 18 Jan 2022
 08: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: e5d9fc87-7836-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642493772;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=0OiYb9wV1ry7Z284wPCB52iavL8ljanLW1tBfyVkkB4=;
	b=NV/R7or0RjXyyoC2Tc3W+uVBVIJ7Q3spS5VGyS4geuZcm2kBFL2Go9aYIHJ3xksxUZIYXO
	qIBLEBsrvsYxeYwbN02fRPxYV/DDdpOib9S2+T1Xt9Q6GK/hDi8f1yEFcaHXSJF8nWmi21
	7zxMr8+GQ+0Nro3cjHhhSruA0drfTfY=
X-MC-Unique: v7JG6QZrO1-3MjvLkXTbVg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LiJVgXSP37GpEX7c994rpnTZqtrBn3it8g/1zTRSMFEY0a0sW1H09FyHfozmzwshoMOAAsi8PJNpEGsHt2K04EG+uFDgzMi6x1uGVm9oTfjZ/D6E8eWMd06G9aSybxsEM0YyXGP9Bod3s0MMbfVimO9ji2twIFairbWB0WcK4UxTaOkH/7vJiJ3HePTVaBDzSyokYI3f7jGPnGX/2MPrV7YVcn1CK7YMiR9qoXviaP1TRjbVEIQqlnxCrPJNYfl0MoBsSTCwg7DiBbBfx2xpHrpKV/NzF8OyMMz5Ipf2AdXPUwGviwS0QbBVeviNOKlUo09RkOFXq+XJH2c5o55eXA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gS5BkIRrIqGVc2dfwZpVVXgS/zG8ipuBjlUp7oRQ+DM=;
 b=EHGIbQ8cXovshGGU/zoKyitcwpJfmYwYTNPrllvnGiVUtfd5YNuDlQ2ls+KEdZnwfXS+4Z6q1uM7cTtu3YmFEq5c3GihcatLw3zsb2Ix4/TPxLwXaCNoZKCixGfDYHBoT+lQ39YFZMKfRkKdp5P2jpzqg/DtJIMlgHyWkHdJYbhdrcqK64LAC8OF8Eu7NBmluI66HrM2bdgk6Pw6zbDJSzL6SuHe0eU7sA2NZOPJqaIHGB00+A09BprNnl2W4EgqdhXjuccIfJfwpdxztlSdyHBnt0jXrJCuxGhBN6AKSdt2PerDL583p1suOm25BG8J9TP3jmMqcQpkJ3z+XutJWw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <378fcc9b-abfe-28f2-ee67-f5510e99436c@suse.com>
Date: Tue, 18 Jan 2022 09:16:08 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 04/37] xen: introduce an arch helper for default dma zone
 status
Content-Language: en-US
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: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-5-wei.chen@arm.com>
 <345944c4-78dd-8009-6f64-f9c7901a5497@suse.com>
 <PAXPR08MB7420CD3B7CFB4D2D81019F479E589@PAXPR08MB7420.eurprd08.prod.outlook.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <PAXPR08MB7420CD3B7CFB4D2D81019F479E589@PAXPR08MB7420.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: FR2P281CA0005.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::15) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c2772c62-1a1d-4930-301e-08d9da5ac871
X-MS-TrafficTypeDiagnostic: AM6PR04MB4742:EE_
X-Microsoft-Antispam-PRVS:
	<AM6PR04MB4742DF22E1994FA99F3DBCD4B3589@AM6PR04MB4742.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:
	rQPeN6QY5t3ZJV8Xs6FTY/WlMufPTQaoKivGjXqImU09XTBJJCU7xeFsCosU3h6T1FFoZINeFLuP+OzFbW1xpGx6qoMR9lxNHfUtDS0Nn3Tnw3emdZX4fvaH3pGwVMLpjcU+p+g0S9bbPlqrOF2AUpHLQXpSKahVEqWLPex63+XV+7wEPto3W9rwD3z6iHUGgdu/lNRt9D2xOlpBxVeqXeTpxCueqN30kTGCiAM1yJAOdjlRejbUDNqQh1L+AairZ2E0uHJxaAhTENVEpStBsWCuhtStZ6muNE9kVrcUKi+tdGxr2bonkMPWrbUvDCNPXenmvXDIIZft26XphxkzrPHPeOgKoQkbG7yL1NlCw0B9kVa8qu6IEoU26XmYDkfaSnW46Vj4b0/RFffweZT4PNF9BWtkADJylJFmf1/PybiLCSW/ryHTa66OkCeEHOK0G5IziXNmMSjQdW5b7cgRRz/kvvT5MZJSfoVIBq90w905TVb+w7dZzbTJD4LQ43ZpVNp14i1O23pm0Hvz3kTTekDrkRGRHJO5P8wjq+FLTmJRDHn/C2pOUPILr7ew1/agUzMp6lmGvSwD8p80wmh09X99g4HDjRM/1+hvQVd6HY8oXEIR3su+JvkaTC6EfWsQXEl2FCNE3/nQcH658xiqolQcUyVCk8xJPwenWA5xTx5Dmr9G/BYt27GWbjjhF6ykyLiVaNQE8cIyGkDqT/OBK5obbN2KPw0brGfiZGwlpLpM2FOsQCfXLEuXjIARVwTRghmQwpHGkjTY1WVPTn/0tp7zPPSXruSR2HN+2ziJIXdL3inArSdu3/AS/Zx/UQcSOQwwuQmZ/dF23T8zPQ3j/g==
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)(6506007)(53546011)(54906003)(316002)(31686004)(36756003)(966005)(26005)(4326008)(2616005)(86362001)(83380400001)(5660300002)(66946007)(6512007)(38100700002)(8676002)(6486002)(2906002)(186003)(31696002)(6916009)(508600001)(8936002)(66476007)(66556008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?DDsY/pF4nU4UBqOUQ2beUBHU69SYLI4BoVGkwVbvFQwrI5gaS3mUHDEBznWt?=
 =?us-ascii?Q?gbpFLlhPUrO2B2pi/9pTrX+L+tb1/W09Hra01ODxbivCmyzTnJwkyym442k/?=
 =?us-ascii?Q?z8iq+rEk3sVojE1OM7bRiqGDiQRw1O4jOF1hNDpq/eKCcc3bukXpWAEX4Z6h?=
 =?us-ascii?Q?0gCUEfbbUwOeai+Y+iNMrYnxxz2LJ1tNalD7FrqVir6FhnYlow2RUiNUkj4R?=
 =?us-ascii?Q?w8+VI3pkZDk0Wz36oOqj95X9g+Qpt8HK1BH5iGmSsV2W55BtqjPZYzkLJwht?=
 =?us-ascii?Q?wqMLmdtp5hFSTg78dyMTpkDI5HIIu/2IZWTzbYSIKFB7mJERXCJStUGOOSD3?=
 =?us-ascii?Q?BN+7RyQahx516eg/K2PFiVR98LgUJnffRTQibLbqqye/f7t2BF4r9Z04dWgY?=
 =?us-ascii?Q?gj4i8/IMA8aWh1Xjt8k7eDgqLLcvFTi/t8uB7O6ySniU+QfnVb/GqIR3xNJD?=
 =?us-ascii?Q?U2XXNsDTF/n2dUQjhr+tLWE4QrcNWNc4+jWYPA7ZR5FpZO8NNy2WXQkG99BN?=
 =?us-ascii?Q?ETluMW+F6UIxbcas7+2ra7j7RdRWIFPkZf2Mnt2H2yzocdvo0i3fNTYF3RoE?=
 =?us-ascii?Q?LUTUbcqn4T9S0V3GQXSurXuMMYag6QOtUpc/c8P2fnuaJHStZZAdUCY2yb0M?=
 =?us-ascii?Q?QrmVkgnLPSNNTAH34Bb5vvFmlvORehLofrDRKuZjW80WdR09dB5T6DrkCTtI?=
 =?us-ascii?Q?REq95pOQ9CH1l9Hgct9wa4CekDiYxI7X7+anKYg1Nov1Wc5YS58U8Wc8NRbU?=
 =?us-ascii?Q?WkvkGYisvRl1cm4rkoxyxh6n1rPhpRcLO7qwRNSYL/F7zKbb9AvAB380NGSs?=
 =?us-ascii?Q?bbbXM/WXgONxP7g5sT+P1wv0HCztpDz44k7I+3N/oSYEEWxTpTXVSbXCFkl9?=
 =?us-ascii?Q?D99wo9CZQniKuydeJLHiW/014YzqFI9y9LFAThwF0fElbBKZ8DRDECu6UAGx?=
 =?us-ascii?Q?aAhAnSjYnOaSHjDeLzLiUZuLwBx//UwpTjoTbQ9fa23lsrlA2aXPq223RF7V?=
 =?us-ascii?Q?Ib8/h8mfIb8RBopyBau0F7iFu69UoMf6RUd3NoEFCuWtfKuHoAkDTi5mUKVB?=
 =?us-ascii?Q?kKrqmrVTggIhvywmfaJmRyaqKkg/MxrklVPqvOiWdBKsBiVLlPpyjQiA+4tf?=
 =?us-ascii?Q?0RlfGmqmBKx/6tVuWluo8w95xCsuxNIagYoaPK6zhkiD1XwvRpI2CzVrLVE+?=
 =?us-ascii?Q?Qk8xEewLoQ6W6p7YPqqKEP6pWOKLQ+ZLcOJxvoAFjXe1GnX9kXHqqhOA9acK?=
 =?us-ascii?Q?Msjxf3x+LAsg+/++NlICegSdWfpqNT8SsvnPUhAvKV6X3lcZb7PxL92HFtWV?=
 =?us-ascii?Q?vNrleHdCHUSCa8NR5xrKwQyzp3ndf5qMeBKAV56ft2HxScJjdc1FMbrXbyC6?=
 =?us-ascii?Q?xiLCFBQqHzCVpp7P7njJhsp+iJieiB8Lv3o9OzrZmH3iXMKIYdipOyCh0QmC?=
 =?us-ascii?Q?KcuJoPDkgLOEfZPueC9nqPK30Vhopdeq//xZch0Oy67Fryji+1/uk/9Fe196?=
 =?us-ascii?Q?xrM38/ymphL7QBJO6vp5QTiZGi1R0PAhBUqNnQ0Qzc5VIHzdINqnpsHn8hHr?=
 =?us-ascii?Q?/hHH1momzZNy1VrS+zWUeyWvNz5aJ089oCYb0NyZ0/2DtcwxpGIvw52XJP3t?=
 =?us-ascii?Q?Xs4sKGVDUDSsqLZ/0rO4y18=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c2772c62-1a1d-4930-301e-08d9da5ac871
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 08:16:09.5787
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: QfE0IOogsT1VcQ+wGoQ7Zj0SeW7OrlDFeOpTMrWbjPrPl2bZJMgbaLoS/ihN4v73T0BKYkzm9tSqJZjrxGcaFw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB4742

On 18.01.2022 08:51, Wei Chen wrote:
>> -----Original Message-----
>> From: Jan Beulich <jbeulich@suse.com>
>> Sent: 2022=E5=B9=B41=E6=9C=8818=E6=97=A5 0:11
>> On 23.09.2021 14:02, Wei Chen wrote:
>>> In current code, when Xen is running in a multiple nodes NUMA
>>> system, it will set dma_bitsize in end_boot_allocator to reserve
>>> some low address memory for DMA.
>>>
>>> There are some x86 implications in current implementation. Becuase
>>> on x86, memory starts from 0. On a multiple nodes NUMA system, if
>>> a single node contains the majority or all of the DMA memory. x86
>>> prefer to give out memory from non-local allocations rather than
>>> exhausting the DMA memory ranges. Hence x86 use dma_bitsize to set
>>> aside some largely arbitrary amount memory for DMA memory ranges.
>>> The allocations from these memory ranges would happen only after
>>> exhausting all other nodes' memory.
>>>
>>> But the implications are not shared across all architectures. For
>>> example, Arm doesn't have these implications. So in this patch, we
>>> introduce an arch_have_default_dmazone helper for arch to determine
>>> that it need to set dma_bitsize for reserve DMA allocations or not.
>>
>> How would Arm guarantee availability of memory below a certain
>> boundary for limited-capability devices? Or is there no need
>> because there's an assumption that I/O for such devices would
>> always pass through an IOMMU, lifting address size restrictions?
>> (I guess in a !PV build on x86 we could also get rid of such a
>> reservation.)
>=20
> On Arm, we still can have some devices with limited DMA capability.
> And we also don't force all such devices to use IOMMU. This devices
> will affect the dma_bitsize. Like RPi platform, it sets its dma_bitsize
> to 30. But in multiple NUMA nodes system, Arm doesn't have a default
> DMA zone. Multiple nodes is not a constraint on dma_bitsize. And some
> previous discussions are placed here [1].

I'm afraid that doesn't give me more clues. For example, in the mail
being replied to there I find "That means, only first 4GB memory can
be used for DMA." Yet that's not an implication from setting
dma_bitsize. DMA is fine to occur to any address. The special address
range is being held back in case in particular Dom0 is in need of such
a range to perform I/O to _some_ devices.

>>> --- a/xen/arch/x86/numa.c
>>> +++ b/xen/arch/x86/numa.c
>>> @@ -371,6 +371,11 @@ unsigned int __init arch_get_dma_bitsize(void)
>>>                   + PAGE_SHIFT, 32);
>>>  }
>>>
>>> +unsigned int arch_have_default_dmazone(void)
>>> +{
>>> +    return ( num_online_nodes() > 1 ) ? 1 : 0;
>>> +}
>>
>> According to the expression and ...
>>
>>> --- a/xen/common/page_alloc.c
>>> +++ b/xen/common/page_alloc.c
>>> @@ -1889,7 +1889,7 @@ void __init end_boot_allocator(void)
>>>      }
>>>      nr_bootmem_regions =3D 0;
>>>
>>> -    if ( !dma_bitsize && (num_online_nodes() > 1) )
>>> +    if ( !dma_bitsize && arch_have_default_dmazone() )
>>>          dma_bitsize =3D arch_get_dma_bitsize();
>>
>> ... the use site, you mean the function to return boolean. Please
>> indicate so by making it have a return type of "bool". Independent
>> of that you don't need a conditional expression above, nor
>> (malformed) use of parentheses. I further wonder whether ...
>>
>=20
> I will fix them in next version. But I am not very clear about
> this comment "of that you don't need a conditional expression above",
> The "above" indicates this line:
> "return ( num_online_nodes() > 1 ) ? 1 : 0;"?

Yes. Even without the use of bool such an expression is a more
complicated form of

    return num_online_nodes() > 1;

where we'd prefer to use the simpler variant for being easier to
read / follow.

Jan

> [1] https://lists.xenproject.org/archives/html/xen-devel/2021-08/msg00772=
.html
>=20
>=20



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 08:33:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 08:33:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258394.444905 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9juv-0005fe-2D; Tue, 18 Jan 2022 08:32:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258394.444905; Tue, 18 Jan 2022 08: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 1n9juu-0005fX-VH; Tue, 18 Jan 2022 08:32:36 +0000
Received: by outflank-mailman (input) for mailman id 258394;
 Tue, 18 Jan 2022 08:32:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2vFr=SC=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1n9jut-0005fQ-MX
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 08:32:35 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20607.outbound.protection.outlook.com
 [2a01:111:f400:7d00::607])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2d80cda9-7839-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 09:32:32 +0100 (CET)
Received: from DB8PR04CA0003.eurprd04.prod.outlook.com (2603:10a6:10:110::13)
 by VE1PR08MB5165.eurprd08.prod.outlook.com (2603:10a6:803:10b::32)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.12; Tue, 18 Jan
 2022 08:32:28 +0000
Received: from DB5EUR03FT058.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:110:cafe::ac) by DB8PR04CA0003.outlook.office365.com
 (2603:10a6:10:110::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.10 via Frontend
 Transport; Tue, 18 Jan 2022 08:32:27 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT058.mail.protection.outlook.com (10.152.20.255) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4888.9 via Frontend Transport; Tue, 18 Jan 2022 08:32:27 +0000
Received: ("Tessian outbound c61f076cbd30:v110");
 Tue, 18 Jan 2022 08:32:27 +0000
Received: from 7c2de0889281.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 8340A0BA-2D47-4844-A21C-2B7C0E9C8D28.1; 
 Tue, 18 Jan 2022 08:32:21 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 7c2de0889281.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 18 Jan 2022 08:32:21 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by VI1PR0802MB2288.eurprd08.prod.outlook.com (2603:10a6:800:a6::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Tue, 18 Jan
 2022 08:32:19 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::c0c1:d43a:acf3:a59d]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::c0c1:d43a:acf3:a59d%4]) with mapi id 15.20.4888.013; Tue, 18 Jan 2022
 08:32: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: 2d80cda9-7839-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zui3mzrWowvP2UVkbklwW9uySkuwdYf62gqZKhMTkWU=;
 b=PSAdQ8Sk/cJ9HnxZcr46xC8RItylQ1DgvNMKjW61eZQo82FySL22ZLn/LL5MeouVvat4AIdvh1IwLwf5CI91lBL/qfsA7IbcMFkI2uL5tyfzbA9zk3Xs/pQfCpZ1Ps43zel/IKGiRyyQYcKn7+KxNuK6zJ6i5PevtXtv3fDXrhM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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: 8c5bc42530f3efc0
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JMTZ6wS+3k4y32fbYIDx00ycp4cMpaa2npJca28TahnS8ZLeRmvlXB17Z5K1e5J0ZhjcKT3wO0VfJli0g34EIEibMY5M8Bg4B+XwdY5Cx5dqZOkP4Pjx/mVPvHpK/UrgrQBK1y6L4xiVwg4TVXxlNJ/dntHpYI718TJTpjChaR6xnSXp/fZP5pc7o4YgNm3qxK9yWbHQK8HRZtaymfIMXrbzaIETX1edbBkY+iRePAQsgHzHsgZtF/VPNX7a1brVvYpnSVihCe2T/C1MONcINx5tZ81XL3v6deyVXE2W2KDm/WkTTu73MTfBSvpTNoz6q3lc3PWmmpHeppSnnXli/g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zui3mzrWowvP2UVkbklwW9uySkuwdYf62gqZKhMTkWU=;
 b=U4HUGQBc3Hs1LeFMe9YYMPltigb/h9rWzL/D4H+a0GidDqUlGyHoV/LFEQNXFFM+iwcXl1wlFGmgcsGUB3j775baKxN/mZXgI2MesyB8OkWKuj0reBY5DJRDmkwDiD+AXsR1F2ZXqQNqOoiGZe5gbvFKGKrg9sF66VE4DYfnNzHEnAS3fnQfRcRmzMLMnG408ZRRAD+uNcv87vUDwGzryknXEW/tNdJW3DXOH/C9nLCTNi396QshSCvFDXmeOhF2O3IR7MQnWGa2joXVq1TDoBzeHLixLEvyXwTlmqt+fN73QPrG9H74AOZA6xDXgTHLEaNPnJVczogWgd52D9Uufw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zui3mzrWowvP2UVkbklwW9uySkuwdYf62gqZKhMTkWU=;
 b=PSAdQ8Sk/cJ9HnxZcr46xC8RItylQ1DgvNMKjW61eZQo82FySL22ZLn/LL5MeouVvat4AIdvh1IwLwf5CI91lBL/qfsA7IbcMFkI2uL5tyfzbA9zk3Xs/pQfCpZ1Ps43zel/IKGiRyyQYcKn7+KxNuK6zJ6i5PevtXtv3fDXrhM=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: Dongjiu Geng <gengdongjiu1@gmail.com>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, "Volodymyr_Babchuk@epam.com"
	<Volodymyr_Babchuk@epam.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v4] xen/arm: Allow QEMU platform to be built with GICv2
Thread-Topic: [PATCH v4] xen/arm: Allow QEMU platform to be built with GICv2
Thread-Index: AQHYC20k2h7y374id02KJynAohV9hqxnQp6AgAEyVgA=
Date: Tue, 18 Jan 2022 08:32:19 +0000
Message-ID: <C744D1DD-9AF1-4CBA-96F1-1338A44F7C53@arm.com>
References: <20220117064003.3367188-1-gengdongjiu1@gmail.com>
 <2a1a0dd5-b8a7-8072-2961-b1fbe9ec746a@xen.org>
In-Reply-To: <2a1a0dd5-b8a7-8072-2961-b1fbe9ec746a@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: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: ee3b017a-d0c7-43bc-82ae-08d9da5d0f7b
x-ms-traffictypediagnostic:
	VI1PR0802MB2288:EE_|DB5EUR03FT058:EE_|VE1PR08MB5165:EE_
X-Microsoft-Antispam-PRVS:
	<VE1PR08MB51657CC49272A466D90F734E9D589@VE1PR08MB5165.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:
 mZF7K1Jjjpx60uuvZW4zcZIlDHJfmuNBz+x2sTnSOmkkGV4W7nfm5VYmmaN+VBlNoSkttslJtMwSc7aHEI7+EuuaGdkVNIuIZIrEFRHMcWnXg3jR0QvvmE+qb04oNJU9AgwamU+KrPOC44iJ9RbfxqJnqlHAdA1EBt3rvQXOFT7kVnr4I0uBl6MoyuV85X7w0CL15LdFPdwFWfQ4BYXC1QteGVz7JcJaavO0l0s4qgD6Z35VAWeStuRXVXedqfw+/N3oDH+kZM+1QWrDOasULlzL+rbC6HQro0xYThcW4or6U/EYZha9Yd3kN7m5iyoLi5xu2OkZzbga+ZmPiaAk6e9J77CJC+XLDirmVhEJSSGe+vUSkBNNvAbFkfy0O+i/p4SrWAdYDy7yBmEnRHsO6rLd4eQP76W8JT1556nVxWKqeunttQS+ZZvGgEUuWoyvFZ7BXrYTdGzalctSUmCxe1G3hUkW6b45Yl8qOqjApyrkXADJwO78YIW+I3bjiopZncen3+rXqiJ2gqsNBU5dQay6Ez5+t54xCV4wjxbAcZ3TTXug7g1IMYkzThJfVNl07co/38CIMl6MqN2GKgFiXQMZLNrYHI0HSQoBcOLY9PVxUAD8hY8L2Q2cZHCEH5LNlFWQdEv9vi5YEd8owsk2xPUcNoNA+h6Wg3X/9yv9rD9uyAcm7tPRRxaJPBpYwQcSviO649148wB3tA71qFaXbjboYsn4EFqJkCoeb2d8UMDsKIkxPcoRjrzOMD67ye9U
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(6512007)(38070700005)(2616005)(5660300002)(66946007)(71200400001)(64756008)(66476007)(54906003)(8936002)(8676002)(6486002)(66556008)(76116006)(4326008)(66446008)(508600001)(6506007)(186003)(91956017)(33656002)(6916009)(38100700002)(122000001)(53546011)(316002)(26005)(86362001)(2906002)(83380400001)(36756003)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <56950A15704955458C3BAEC55B540D57@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0802MB2288
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT058.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	c9e48c4e-9912-4cfa-7244-08d9da5d0a89
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Vrl7ppOiR0dCcqM3NpV9q/W/0lBL5F7EJxyHivisFav7mAJBYFJwFi6B3UNPDEhBpb6Bw8cIrAG3BpkWg1g8mqDwkRNM82aagzi5n52NAdHfuIaLq003CSOIXt8jPxrOUuM8BWpMayUlKQAZa2cOBsBX87Df385zFC3g2GPpXiU6Hu0y57wm7yJWgIcZAN/Pts1mxsAB7vnkVkQu3pZucdmqrNR4ur8UNWlypq7dBMc7t2C34NMOAf3V97+Wp86eUZjxtaBPZHvklRfLz9g9vELkpMC0WesPw15yuG7sRVX/Lqwly1nS+O0vZvZRpZF+rAP5TW93qw6gHVnUPd5accREjYnA4SDgBtRoiQlq7KQnyq20fUg1/cagIsrA2iP1ShEPBIYaty4zwMOTRI15GtODjMu19MhPuVQJzrUFrBFjC3CB5fvjQVoPJs1nJfXTR28zB4CEXtieAE6O2Q+YEm0vzwRFbmnmH1stVCLqLAlR9NG0w8rN5aYKS9t+F+WnNuJwB5RYH64K3ACzVaANLx7nFU44sYsgLcq3XirufnnJs12DFWDyhz9W3NVGeCSzZwbwp/WkFdFSkhaSrqatF0K1x8WnwM6kQS/fuxbs+RiXnijuFYZwkeX1kUWNLZaGYgjJxWbPHNQWjdAXCLE4X3HiQxu41QvtEMWET0YapFLZWGyH56tI4lVNaFUJUi6Q1rthJY6rLjkfRDBK100yBw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(47076005)(186003)(82310400004)(356005)(36860700001)(5660300002)(26005)(336012)(6862004)(2906002)(4326008)(83380400001)(70206006)(70586007)(81166007)(33656002)(86362001)(36756003)(8676002)(6512007)(8936002)(6506007)(53546011)(2616005)(54906003)(6486002)(316002)(508600001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 08:32:27.6045
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ee3b017a-d0c7-43bc-82ae-08d9da5d0f7b
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT058.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5165

Hi,

> On 17 Jan 2022, at 14:15, Julien Grall <julien@xen.org> wrote:
>=20
> Hi,
>=20
> On 17/01/2022 10:40, Dongjiu Geng wrote:
>> It turns out that QEMU has been supporting GICv2 virtualization since
>> v3.1.0. So remove the dependencies on GICv3.
>=20
>=20
> Technically, the current form of CONFIG_QEMU allows the same binary to bo=
ot on QEMU with GICv2 or GICv3.
>=20
>> If we want to use GICv3,
>> we can select the QEMU_LEGACY configuration.
>=20
> AFAIK, GICv3 is not a legacy feature... So it feels a bit odd to name it =
like that (see more below).
>=20
>> Signed-off-by: Dongjiu Geng <gengdongjiu1@gmail.com>
>> ---
>>  xen/arch/arm/platforms/Kconfig | 10 +++++++++-
>>  1 file changed, 9 insertions(+), 1 deletion(-)
>> diff --git a/xen/arch/arm/platforms/Kconfig b/xen/arch/arm/platforms/Kco=
nfig
>> index c93a6b2756..41e82a42ee 100644
>> --- a/xen/arch/arm/platforms/Kconfig
>> +++ b/xen/arch/arm/platforms/Kconfig
>> @@ -13,7 +13,15 @@ config ALL_PLAT
>>  	automatically select any of the related drivers.
>>    config QEMU
>> -	bool "QEMU aarch virt machine support"
>> +	bool "QEMU aarch virt machine support >=3D v3.1.0"
>=20
> This is a bit misleading. A user may select this thinking that this will =
select GICv3. However, this will not.
>=20
> This also raises the question of what is the default GIC version in QEMU =
(i.e. if you don't pass anything on the command line)? If this is GICv3, th=
en I am afraid that this patch would be a no-go for me.
>=20
> Looking at overall discussion, you seem to push the patch only to allow b=
uilding a tiny Xen for QEMU and the new vGIC.
>=20
> The default Xen (i.e. make defconfig) will also work on QEMU. Given that =
the new vGIC is a still in development, I am seriously considering to say t=
hat if you want to try it then you have to use the default configuration.
>=20
> @Dongjiu, is there any reason why you want to use the tiny QEMU config ra=
ther than the default configuration?
>=20
> @Bertrand, @Stefano, what do you think?

I do think that the new Legacy option is very misleading and users will ten=
d to select Qemu instead of the legacy one where having GICv3 makes more se=
nse.
Using the new VGIC which is unsupported is not a standard use case so maybe=
 it would make more sense to create a specific Qemu entry for GICv2 using n=
ew VGIC instead and keep the default as is.
To sum up I am no in favour of a solution changing the existing QEMU. A sol=
ution creating a new one for the wanted use case would be better for me.

Cheers
Bertrand

>=20
> Cheers,
>=20
> --=20
> Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 08:45:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 08:45:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258396.444916 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9k7a-0007CN-7n; Tue, 18 Jan 2022 08:45:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258396.444916; Tue, 18 Jan 2022 08:45:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9k7a-0007CG-4X; Tue, 18 Jan 2022 08:45:42 +0000
Received: by outflank-mailman (input) for mailman id 258396;
 Tue, 18 Jan 2022 08:45:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9uWz=SC=gmail.com=gengdongjiu1@srs-se1.protection.inumbo.net>)
 id 1n9k7Y-0007C6-Vi
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 08:45:41 +0000
Received: from mail-lf1-x135.google.com (mail-lf1-x135.google.com
 [2a00:1450:4864:20::135])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 03690ac8-783b-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 09:45:39 +0100 (CET)
Received: by mail-lf1-x135.google.com with SMTP id o15so67646545lfo.11
 for <xen-devel@lists.xenproject.org>; Tue, 18 Jan 2022 00:45:39 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 03690ac8-783b-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc:content-transfer-encoding;
        bh=53Y9XNRQIP/ZWA6H6OV0LmYLgUysqj/JBTf1VdkMq1Y=;
        b=o47fye0Cmq6kklRHHtA/PQU7Bb6F4RizYW+1H8NFSFg0cJyTwyV9UrMHQmXPXLi/l0
         imRubE4zJpFhiZhEuQ9XNOLsfylLpSQCz0DqYdjKgAk0Geccl7qjVS3YTCU2v9jra7nz
         U4YZASFOeSpIIYCzuRJcQbuBsWH5w5sqZXioAN9tuLQnwpVpnFdNf4y5I0L9ev4MXrwm
         kE4JmsNNpNlxqmG45pBfa29udXdC2WmQrO2L4V7tf8oSdQIwrZsReuDx2HhKT8PMLrmm
         yT1eaJhsXDDC2d4/9bYyYSduEtsOOrvBcrjdNwVl4EA3439+3rICSo4JLcrBTVYbznUB
         74PA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc:content-transfer-encoding;
        bh=53Y9XNRQIP/ZWA6H6OV0LmYLgUysqj/JBTf1VdkMq1Y=;
        b=ZE7PwqX7fQ3SZNvcVHgqPuYIUsdihwN53CIQJMpJAXLw4efyiJyLE8rl8kFJTdMWQq
         5VMSYp2Q6ttsmU0RK0dtnZc45JGsv2dCZj0pNN1h0553QOzHRfkqyg0nrL1P/5c8ZP9n
         VMZsfxRHT2bBCN9MB+Mp8IOEiWrs5QDaP+VyIEqlf1t3B237sKtG353LM8IJS1TEEI/i
         Qn4Pe6Y4vCbrMzQ7dFUcTX3mbdZIwb7OSCASyp0/auC0HCVZm6PVK4di4R9xiNBrQKKy
         5aFdZXjPQiAuNddjrYz4dquSv7k9DvbY6IpFNEDaffqDMyC3N9oen8Xh+cayBxyBC7eN
         Db6Q==
X-Gm-Message-State: AOAM531vZ6iLKtPZgKZZgUeHqx2F6pEM09EpPR6yqPuacE0fCOEshZW0
	fxOtOz9nPoWpgA+7sn558LUrV4fExIBV4mdgWKc=
X-Google-Smtp-Source: ABdhPJzNpqHtYfFiahZe1gt8fpK95T4/n6x0kndDydXZ84NLnqYp+nuXSIOEJ6Ix0cB/EKVPUc0QGFtRhf8cLCs2GxE=
X-Received: by 2002:a05:651c:542:: with SMTP id q2mr1145837ljp.201.1642495539314;
 Tue, 18 Jan 2022 00:45:39 -0800 (PST)
MIME-Version: 1.0
References: <20220117064003.3367188-1-gengdongjiu1@gmail.com> <2a1a0dd5-b8a7-8072-2961-b1fbe9ec746a@xen.org>
In-Reply-To: <2a1a0dd5-b8a7-8072-2961-b1fbe9ec746a@xen.org>
From: Dongjiu Geng <gengdongjiu1@gmail.com>
Date: Tue, 18 Jan 2022 16:45:29 +0800
Message-ID: <CABSBigSOjoXABoYoe+SahQyX0P045YjgK3A=7yyxw_aX8nzTqg@mail.gmail.com>
Subject: Re: [PATCH v4] xen/arm: Allow QEMU platform to be built with GICv2
To: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
	Bertrand Marquis <bertrand.marquis@arm.com>, xen-devel <xen-devel@lists.xenproject.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Julien Grall <julien@xen.org> =E4=BA=8E2022=E5=B9=B41=E6=9C=8817=E6=97=A5=
=E5=91=A8=E4=B8=80 22:16=E5=86=99=E9=81=93=EF=BC=9A
>
> Hi,
>
> On 17/01/2022 10:40, Dongjiu Geng wrote:
> > It turns out that QEMU has been supporting GICv2 virtualization since
> > v3.1.0. So remove the dependencies on GICv3.
>
>
> Technically, the current form of CONFIG_QEMU allows the same binary to
> boot on QEMU with GICv2 or GICv3.
>
> > If we want to use GICv3,
> > we can select the QEMU_LEGACY configuration.
>
> AFAIK, GICv3 is not a legacy feature... So it feels a bit odd to name it
> like that (see more below).

Legacy means QEMU platform only supports GICV3, now it can support
both GICv2 and GICv3. The scope of support has been expanded
Not mean GICv3 is a legacy feature.

>
> >
> > Signed-off-by: Dongjiu Geng <gengdongjiu1@gmail.com>
> > ---
> >   xen/arch/arm/platforms/Kconfig | 10 +++++++++-
> >   1 file changed, 9 insertions(+), 1 deletion(-)
> >
> > diff --git a/xen/arch/arm/platforms/Kconfig b/xen/arch/arm/platforms/Kc=
onfig
> > index c93a6b2756..41e82a42ee 100644
> > --- a/xen/arch/arm/platforms/Kconfig
> > +++ b/xen/arch/arm/platforms/Kconfig
> > @@ -13,7 +13,15 @@ config ALL_PLAT
> >       automatically select any of the related drivers.
> >
> >   config QEMU
> > -     bool "QEMU aarch virt machine support"
> > +     bool "QEMU aarch virt machine support >=3D v3.1.0"
>
> This is a bit misleading. A user may select this thinking that this will
> select GICv3. However, this will not.
>
> This also raises the question of what is the default GIC version in QEMU
> (i.e. if you don't pass anything on the command line)? If this is GICv3,
> then I am afraid that this patch would be a no-go for me.
>
> Looking at overall discussion, you seem to push the patch only to allow
> building a tiny Xen for QEMU and the new vGIC.
>
> The default Xen (i.e. make defconfig) will also work on QEMU. Given that
> the new vGIC is a still in development, I am seriously considering to
> say that if you want to try it then you have to use the default
> configuration.
>
> @Dongjiu, is there any reason why you want to use the tiny QEMU config
> rather than the default configuration?

Hi Julien, thanks for the reply, I do not use the tiny QEMU config. I
used the default configuration and selected the platform as QEMU.
But QEMU platform only slects GICV3, so I submit this patch to remove
the limitation because I want to use VGIC. VGIC can already support
GICv2 now.

>
> @Bertrand, @Stefano, what do you think?
>
> Cheers,
>
> --
> Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 08:49:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 08:49:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258399.444926 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9kAd-0007qE-Nd; Tue, 18 Jan 2022 08:48:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258399.444926; Tue, 18 Jan 2022 08: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 1n9kAd-0007q7-KX; Tue, 18 Jan 2022 08:48:51 +0000
Received: by outflank-mailman (input) for mailman id 258399;
 Tue, 18 Jan 2022 08:48:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2vFr=SC=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1n9kAc-0007q1-HY
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 08:48:50 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on062e.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 746148e6-783b-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 09:48:49 +0100 (CET)
Received: from AM6P195CA0039.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:87::16)
 by VI1PR08MB2927.eurprd08.prod.outlook.com (2603:10a6:802:21::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.10; Tue, 18 Jan
 2022 08:48:44 +0000
Received: from VE1EUR03FT040.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:87:cafe::98) by AM6P195CA0039.outlook.office365.com
 (2603:10a6:209:87::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11 via Frontend
 Transport; Tue, 18 Jan 2022 08:48:43 +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.4888.9 via Frontend Transport; Tue, 18 Jan 2022 08:48:43 +0000
Received: ("Tessian outbound dbb52aec1fa6:v110");
 Tue, 18 Jan 2022 08:48:42 +0000
Received: from 209a2e7eaef6.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 74A3BEE4-9479-4817-BF73-E1F859D8D43A.1; 
 Tue, 18 Jan 2022 08:48:36 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 209a2e7eaef6.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 18 Jan 2022 08:48:36 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AM6PR08MB3767.eurprd08.prod.outlook.com (2603:10a6:20b:84::28)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Tue, 18 Jan
 2022 08:48:34 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::c0c1:d43a:acf3:a59d]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::c0c1:d43a:acf3:a59d%4]) with mapi id 15.20.4888.013; Tue, 18 Jan 2022
 08:48: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: 746148e6-783b-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5rFuzBQEQg1HkDI7xTNGydfivitOZLGznSGA2tORs/s=;
 b=SsYrRFPfFWSUckO1wL/+6btNcTZdoJBIk/P5WxL6zkJc5wxnhPnL5yo7zEV7uOivLv7kVjZ4SxVxD0b7uN/7iV8GI2qaoHGr99e3KY/8V4UgIF31y+hOQZPahIxmtgGrAYKq2ojoFx0uzLL/TjkeRaxVQnEurcUoakHcPKYXGHM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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: 042febbad23cbbdf
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MRWOJrsvKSxs7pwFR3WU72EM9yOMy49YVpCTAzN9kZs3T5483lQ6Ih8pkDVGQDWFzj1kp8KLwq0sIDS1uEfQN/Zc6PtC/Iio81KkA/Me161TMA52mFwne7K6YkdBFbVKma6dIUwcqMHhMtFFccT49rF20m8bff+hOit0q9fddUHYHhq71g2yHL0TPzFpzZWMHaTGqDp2jiIKpQCDAz3ZtN0QLbkxlBj/QeDOS9tFJkYvp13LabQadlBgydn94vlqBJmsSwsH8AetFYm+6C9E7BY/nWGangKKk5fISMFJOGsxJsoC0qQTbJNi0UHm08a2vuYLW6KovL7nSDpZhzQzZA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5rFuzBQEQg1HkDI7xTNGydfivitOZLGznSGA2tORs/s=;
 b=DM8rOvwKR9YIGQ3KSfvvC3B2X+6vxTAz/2U0PSANN/SwiqUO5ZqZfD/3hQCgDjGsvjiZKAfbtmHSdDT84w7d0L/+XRkZZuBrWa/JmtQO635KhxBHICzvmmSnPtYrMFEWf4hcz4zao5S9B+oIFFuyEr+j5qtjttyRvufdQCn3MeBYg5c5TpsLqz2nD+oAaQrTB699mGtnpjdehrT+RJuXbZAxLXjq2yCtRcHjgM/RxR52mHJY8DB1ol/pypWg2Kg4D9ev7hhkK3ioD9tqEWcwUuGQ820YKlojW5Yqq+OmKG5bs1wqYpmC0UNdN6cS+CnvrOs4Nb6QyzbXidP/jF2SHQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5rFuzBQEQg1HkDI7xTNGydfivitOZLGznSGA2tORs/s=;
 b=SsYrRFPfFWSUckO1wL/+6btNcTZdoJBIk/P5WxL6zkJc5wxnhPnL5yo7zEV7uOivLv7kVjZ4SxVxD0b7uN/7iV8GI2qaoHGr99e3KY/8V4UgIF31y+hOQZPahIxmtgGrAYKq2ojoFx0uzLL/TjkeRaxVQnEurcUoakHcPKYXGHM=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Dongjiu Geng <gengdongjiu1@gmail.com>
CC: Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v4] xen/arm: Allow QEMU platform to be built with GICv2
Thread-Topic: [PATCH v4] xen/arm: Allow QEMU platform to be built with GICv2
Thread-Index: AQHYC20k2h7y374id02KJynAohV9hqxnQp6AgAE2BYCAAADaAA==
Date: Tue, 18 Jan 2022 08:48:33 +0000
Message-ID: <9A7FAD16-3D4A-4C22-8288-A4719A993CDD@arm.com>
References: <20220117064003.3367188-1-gengdongjiu1@gmail.com>
 <2a1a0dd5-b8a7-8072-2961-b1fbe9ec746a@xen.org>
 <CABSBigSOjoXABoYoe+SahQyX0P045YjgK3A=7yyxw_aX8nzTqg@mail.gmail.com>
In-Reply-To:
 <CABSBigSOjoXABoYoe+SahQyX0P045YjgK3A=7yyxw_aX8nzTqg@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3654.120.0.1.13)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 9b1ee88d-083c-4cb2-8d93-08d9da5f54f4
x-ms-traffictypediagnostic:
	AM6PR08MB3767:EE_|VE1EUR03FT040:EE_|VI1PR08MB2927:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR08MB2927085A7DCA62170251B3D79D589@VI1PR08MB2927.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:
 FAz2sj2wSnvp1J50yi2bKySxcE5uQE1X43Tdos5+7+HHuDMW18I8K292bbTgcFwoqShx4re784D/u+zP+9+BWF/hpDbIQBhong91AwQ8XZxj/hjfgFZwEjFNfXYXlqqPl9HTSKPpcg7RxweLemJJDenBo1duYwBn5C8lndsdM/VNg04VkGSzZKv9rreltLnikVQCs63QiazUaUs+2SeZkCYn7PC12pTZW5jmz2D3GB1YN0k71LtVNnW5stBazzRG2tlVJPTRuybL7zPvCV3XOZqw05xOAnIpYWyvYn7GmUnCtCWhjd+6ReoUwcbQwsdxzetCHDLU5/UEOQfJXUEfj8MRorCGTDuVEixScU45H0Hkg6JoFgSEX4/mWcPSZiZc5DOUh3xZqG6VbrCRAUie5c5kMswPQ7l7kvvy2fWurdTepsxVtNfk80qjd+r1nAWfBYSH/Z0HvGP8uDFcZMUYqBHlrGfAnBO1CP+jCs2VB6wKdIGJICqJRXHf8Gxj8XpduQOcR72Jb7TgbT6OvRUqAd53AJ59q8hgrKWv1H6csLfEPrieXoIElCHTDmaSpkvaKnxK/KwIsH2LByfxGSAWLa1ll8TJpCEyFvzPFoOAAjEMbIiV4gjn8oPEGxsHIVF7yWTBjOl6ru4ZjyB95gyiY331tzJcBFpdBqvHEnPrpql7ZtfY6H0yLGlxQfF1uHQp4XnyY41l2p9o80Zlq5f8Kno3VQuitHIoPqSuzA8dmWutOYJGutsTjHL5lQ0FMCUs
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(5660300002)(83380400001)(36756003)(2616005)(122000001)(54906003)(6506007)(186003)(6916009)(91956017)(38070700005)(86362001)(76116006)(6512007)(64756008)(71200400001)(66946007)(66556008)(508600001)(66476007)(2906002)(8676002)(26005)(38100700002)(316002)(53546011)(8936002)(33656002)(66446008)(6486002)(4326008)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <E5D75D857CF90B48A1DDDF583A08272D@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3767
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT040.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b83f97b2-b134-4adb-d947-08d9da5f4f1f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	brEKz0pQw0rWf5VXPek1qcHofAJx36zZirqbkb42UGcfcquekidO1BSSAk+vsL+XusVe65B8Du/rvalIGTOrnsEe0xX+tR32WbJcR7KnERlJTukob9B0G7ZVzV6RdWljeKRhGhPMv5W/bfmpr3fpC+FPzFRP0xR0cD9k7pfeDBJF3wJ5uwq83qTIbJ1OVjFdWbeo3b1vFnaqPgFPgql6a9V3tm7Xs2tZLjbJLhJX4JZZDU9MjETenL/EPR7pqYxdYCXiUYBDZrF5PvkmO0qE93WQgehIYBSsBIi9Y34Egg6CFVM04/iUli+56paBHaMj7x4cdE/9/UBlx5FU30CRmD+EfQMlnZEHBqcIgoXFbCnz338em1lKgRgyVg8qjfRbmMLnHFSEtXHUeKwH4zOt441ImLZItkuOZWRFpuCMQXbhzDF+Ic3y9Mgc1vRYO9TCcNjuZv1g+XBMkaGzCfSfBD4WXhBknHIzRaWUSfNBIQWwlx5X7FWHY0g2TwEhj0ayMEIFIXbljV2y6owmKNpEMQszO/zhL68mCANqB6FupLYYqmLg7sJP5ZScLzV5GlR8o41EO3tvHyDQEE06nGaeiC+aDjOPaGbz1BjRVmYBP0qqZlDx17+Qwt9Xevl7V9MIBLx5o03gP2Yx9XERQdbxiBTZqOD/OvhGr+wUBBjrVkJNuW3gKCKCUQ/5L+lx+oHVECb2hLwF5NOCc89DWPn9Yw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(6512007)(86362001)(54906003)(6486002)(5660300002)(2906002)(336012)(356005)(36756003)(70206006)(83380400001)(6506007)(70586007)(6862004)(53546011)(508600001)(26005)(186003)(81166007)(8936002)(82310400004)(33656002)(4326008)(8676002)(36860700001)(47076005)(316002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 08:48:43.0603
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9b1ee88d-083c-4cb2-8d93-08d9da5f54f4
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: VI1PR08MB2927

SGkgRG9uZ2p1LA0KDQo+IE9uIDE4IEphbiAyMDIyLCBhdCAwODo0NSwgRG9uZ2ppdSBHZW5nIDxn
ZW5nZG9uZ2ppdTFAZ21haWwuY29tPiB3cm90ZToNCj4gDQo+IEp1bGllbiBHcmFsbCA8anVsaWVu
QHhlbi5vcmc+IOS6jjIwMjLlubQx5pyIMTfml6XlkajkuIAgMjI6MTblhpnpgZPvvJoNCj4+IA0K
Pj4gSGksDQo+PiANCj4+IE9uIDE3LzAxLzIwMjIgMTA6NDAsIERvbmdqaXUgR2VuZyB3cm90ZToN
Cj4+PiBJdCB0dXJucyBvdXQgdGhhdCBRRU1VIGhhcyBiZWVuIHN1cHBvcnRpbmcgR0lDdjIgdmly
dHVhbGl6YXRpb24gc2luY2UNCj4+PiB2My4xLjAuIFNvIHJlbW92ZSB0aGUgZGVwZW5kZW5jaWVz
IG9uIEdJQ3YzLg0KPj4gDQo+PiANCj4+IFRlY2huaWNhbGx5LCB0aGUgY3VycmVudCBmb3JtIG9m
IENPTkZJR19RRU1VIGFsbG93cyB0aGUgc2FtZSBiaW5hcnkgdG8NCj4+IGJvb3Qgb24gUUVNVSB3
aXRoIEdJQ3YyIG9yIEdJQ3YzLg0KPj4gDQo+Pj4gSWYgd2Ugd2FudCB0byB1c2UgR0lDdjMsDQo+
Pj4gd2UgY2FuIHNlbGVjdCB0aGUgUUVNVV9MRUdBQ1kgY29uZmlndXJhdGlvbi4NCj4+IA0KPj4g
QUZBSUssIEdJQ3YzIGlzIG5vdCBhIGxlZ2FjeSBmZWF0dXJlLi4uIFNvIGl0IGZlZWxzIGEgYml0
IG9kZCB0byBuYW1lIGl0DQo+PiBsaWtlIHRoYXQgKHNlZSBtb3JlIGJlbG93KS4NCj4gDQo+IExl
Z2FjeSBtZWFucyBRRU1VIHBsYXRmb3JtIG9ubHkgc3VwcG9ydHMgR0lDVjMsIG5vdyBpdCBjYW4g
c3VwcG9ydA0KPiBib3RoIEdJQ3YyIGFuZCBHSUN2My4gVGhlIHNjb3BlIG9mIHN1cHBvcnQgaGFz
IGJlZW4gZXhwYW5kZWQNCj4gTm90IG1lYW4gR0lDdjMgaXMgYSBsZWdhY3kgZmVhdHVyZS4NCg0K
WW91IG1pZ2h0IGJlIG1pc2xlYWRpbmcgYSBiaXQgaGVyZS4NCkluIHRoZSBjdXJyZW50IGNvbmZp
Z3VyYXRpb24sIFhlbiBzdXBwb3J0IEdJQ3YyLCBHSUN2MyBhbmQgdmdpYy4NClRoZSBvbmx5IHRo
aW5nIG5vdCBzdXBwb3J0ZWQgaXMgYWN0dWFsbHkgdGhlIG5ldyBWR0lDIGJ1dCB0aGlzIGlzIGFu
IHVuc3VwcG9ydGVkIGZlYXR1cmUgbm90IGZ1bGx5IGZ1bmN0aW9uYWwgd2hpY2ggc2hhbGwgYmUg
dXNlZCB3aXRoIGNhdXRpb24uDQoNCldoYXQgaXNzdWUgZXhhY3RseSBkbyB5b3UgaGF2ZSBpbiBR
ZW11IGNvbmZpZ3VyZWQgZm9yIGdpY3YyIHdoZW4geW91IHVzZSB0aGUgZGVmYXVsdCBjb25maWd1
cmF0aW9uID8NCg0KQ2hlZXJzDQpCZXJ0cmFuZA0KDQo+IA0KPj4gDQo+Pj4gDQo+Pj4gU2lnbmVk
LW9mZi1ieTogRG9uZ2ppdSBHZW5nIDxnZW5nZG9uZ2ppdTFAZ21haWwuY29tPg0KPj4+IC0tLQ0K
Pj4+ICB4ZW4vYXJjaC9hcm0vcGxhdGZvcm1zL0tjb25maWcgfCAxMCArKysrKysrKystDQo+Pj4g
IDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCj4+PiANCj4+
PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3BsYXRmb3Jtcy9LY29uZmlnIGIveGVuL2FyY2gv
YXJtL3BsYXRmb3Jtcy9LY29uZmlnDQo+Pj4gaW5kZXggYzkzYTZiMjc1Ni4uNDFlODJhNDJlZSAx
MDA2NDQNCj4+PiAtLS0gYS94ZW4vYXJjaC9hcm0vcGxhdGZvcm1zL0tjb25maWcNCj4+PiArKysg
Yi94ZW4vYXJjaC9hcm0vcGxhdGZvcm1zL0tjb25maWcNCj4+PiBAQCAtMTMsNyArMTMsMTUgQEAg
Y29uZmlnIEFMTF9QTEFUDQo+Pj4gICAgICBhdXRvbWF0aWNhbGx5IHNlbGVjdCBhbnkgb2YgdGhl
IHJlbGF0ZWQgZHJpdmVycy4NCj4+PiANCj4+PiAgY29uZmlnIFFFTVUNCj4+PiAtICAgICBib29s
ICJRRU1VIGFhcmNoIHZpcnQgbWFjaGluZSBzdXBwb3J0Ig0KPj4+ICsgICAgIGJvb2wgIlFFTVUg
YWFyY2ggdmlydCBtYWNoaW5lIHN1cHBvcnQgPj0gdjMuMS4wIg0KPj4gDQo+PiBUaGlzIGlzIGEg
Yml0IG1pc2xlYWRpbmcuIEEgdXNlciBtYXkgc2VsZWN0IHRoaXMgdGhpbmtpbmcgdGhhdCB0aGlz
IHdpbGwNCj4+IHNlbGVjdCBHSUN2My4gSG93ZXZlciwgdGhpcyB3aWxsIG5vdC4NCj4+IA0KPj4g
VGhpcyBhbHNvIHJhaXNlcyB0aGUgcXVlc3Rpb24gb2Ygd2hhdCBpcyB0aGUgZGVmYXVsdCBHSUMg
dmVyc2lvbiBpbiBRRU1VDQo+PiAoaS5lLiBpZiB5b3UgZG9uJ3QgcGFzcyBhbnl0aGluZyBvbiB0
aGUgY29tbWFuZCBsaW5lKT8gSWYgdGhpcyBpcyBHSUN2MywNCj4+IHRoZW4gSSBhbSBhZnJhaWQg
dGhhdCB0aGlzIHBhdGNoIHdvdWxkIGJlIGEgbm8tZ28gZm9yIG1lLg0KPj4gDQo+PiBMb29raW5n
IGF0IG92ZXJhbGwgZGlzY3Vzc2lvbiwgeW91IHNlZW0gdG8gcHVzaCB0aGUgcGF0Y2ggb25seSB0
byBhbGxvdw0KPj4gYnVpbGRpbmcgYSB0aW55IFhlbiBmb3IgUUVNVSBhbmQgdGhlIG5ldyB2R0lD
Lg0KPj4gDQo+PiBUaGUgZGVmYXVsdCBYZW4gKGkuZS4gbWFrZSBkZWZjb25maWcpIHdpbGwgYWxz
byB3b3JrIG9uIFFFTVUuIEdpdmVuIHRoYXQNCj4+IHRoZSBuZXcgdkdJQyBpcyBhIHN0aWxsIGlu
IGRldmVsb3BtZW50LCBJIGFtIHNlcmlvdXNseSBjb25zaWRlcmluZyB0bw0KPj4gc2F5IHRoYXQg
aWYgeW91IHdhbnQgdG8gdHJ5IGl0IHRoZW4geW91IGhhdmUgdG8gdXNlIHRoZSBkZWZhdWx0DQo+
PiBjb25maWd1cmF0aW9uLg0KPj4gDQo+PiBARG9uZ2ppdSwgaXMgdGhlcmUgYW55IHJlYXNvbiB3
aHkgeW91IHdhbnQgdG8gdXNlIHRoZSB0aW55IFFFTVUgY29uZmlnDQo+PiByYXRoZXIgdGhhbiB0
aGUgZGVmYXVsdCBjb25maWd1cmF0aW9uPw0KPiANCj4gSGkgSnVsaWVuLCB0aGFua3MgZm9yIHRo
ZSByZXBseSwgSSBkbyBub3QgdXNlIHRoZSB0aW55IFFFTVUgY29uZmlnLiBJDQo+IHVzZWQgdGhl
IGRlZmF1bHQgY29uZmlndXJhdGlvbiBhbmQgc2VsZWN0ZWQgdGhlIHBsYXRmb3JtIGFzIFFFTVUu
DQo+IEJ1dCBRRU1VIHBsYXRmb3JtIG9ubHkgc2xlY3RzIEdJQ1YzLCBzbyBJIHN1Ym1pdCB0aGlz
IHBhdGNoIHRvIHJlbW92ZQ0KPiB0aGUgbGltaXRhdGlvbiBiZWNhdXNlIEkgd2FudCB0byB1c2Ug
VkdJQy4gVkdJQyBjYW4gYWxyZWFkeSBzdXBwb3J0DQo+IEdJQ3YyIG5vdy4NCj4gDQo+PiANCj4+
IEBCZXJ0cmFuZCwgQFN0ZWZhbm8sIHdoYXQgZG8geW91IHRoaW5rPw0KPj4gDQo+PiBDaGVlcnMs
DQo+PiANCj4+IC0tDQo+PiBKdWxpZW4gR3JhbGwNCg0K


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 08:50:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 08:50:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258402.444937 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9kCC-0000nE-7n; Tue, 18 Jan 2022 08:50:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258402.444937; Tue, 18 Jan 2022 08: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 1n9kCC-0000n7-4O; Tue, 18 Jan 2022 08:50:28 +0000
Received: by outflank-mailman (input) for mailman id 258402;
 Tue, 18 Jan 2022 08:50:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aElt=SC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9kCA-0000mz-PG
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 08:50:26 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id adc3f946-783b-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 09:50:25 +0100 (CET)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2058.outbound.protection.outlook.com [104.47.14.58]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-31-Hfbj3UlgNAWOmjWqnZM46A-1; Tue, 18 Jan 2022 09:50:24 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VE1PR04MB7311.eurprd04.prod.outlook.com (2603:10a6:800:1ae::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.10; Tue, 18 Jan
 2022 08:50:22 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.014; Tue, 18 Jan 2022
 08:50:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: adc3f946-783b-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642495825;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=42jnB9CDBgye4KjnlWYZmpwy6JCXdP80FMVvwpSacPs=;
	b=O5vqGnlnghDkyfQ8/xOV/naAgiOjLztLdp6/k0og7u/VWmYT5kRTdzHwSFtxAgpLV7Evrn
	1nkBJalqZCryQksQUm3ezyOcuqjDrQtKz2xhaOKo1w1DXWg4zix29gEcYV+mJnBssZgLrn
	L9ezNdQxtWyowtk0dSGGDA3/oeeJQ1o=
X-MC-Unique: Hfbj3UlgNAWOmjWqnZM46A-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VHqUsJVANspelGGFnij++cLKJx0Z01jtsoEQYUuQ4K8QXMRoqQTbWJcoREK1qhSIGgCkJoTLidevmIypCi9fvd1ez1ZAw3fgljw++sH6fHLe51t+Nd3R5CsaTRBTp8pBrBd4HBOUQBhjEwoYlM6hworRgjZafUE6k1kGj6jGYJ/UAmt0uUsKyjTGGors4hWvXt6A577FtdjHCese8opFF8c5Qgi6G7WIv88ouaA5Qv5l1X/GDguTCERaqYFYHgksSzEkRlb+iLKNzCDERgOSpBCW6ytPgwpaQA89A9253ttYZgd7uCBxPRQJ2zJEj+JcDazp58348aiYSU5WpbaQkA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=42jnB9CDBgye4KjnlWYZmpwy6JCXdP80FMVvwpSacPs=;
 b=X2C0uy+Ev92NKo/czakNVH11OmdgSRaeOg+UTPJWeVx5hGFt+lwy4XYGb6Df/iiirhN8Xb90SDQp5TwLNfzLCqH0zjnlIUA4gxWT7JJbKCYWHrR85TnzKW68qb9UtTtF+GXqmW2XO7MzHh4ULvLKbUAYzvw9Nhkfw1tVAV1C3E9s/HcqtyLUfUqEy+0J6f/zAngRV5J2wQYX43hy12qlTQmj6LdH5+fFotypOKkj/l+6gT66rEWL7oydg6Jos4D5KPE7h9bD4fnOrxS8tI1zO8fFXMxe67vi3KXxOwl0xm8pd9hozY+8VRmVa4Hq1SDlowEdGyBugN/Kdo04ejukcA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5d3db5f4-44db-b782-656b-d755fbf4c441@suse.com>
Date: Tue, 18 Jan 2022 09:50:21 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH] x86/time: further improve TSC / CPU freq calibration
 accuracy
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <6c50c7b6-e521-e34f-1808-a4e2961b807e@suse.com>
In-Reply-To: <6c50c7b6-e521-e34f-1808-a4e2961b807e@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR04CA0062.eurprd04.prod.outlook.com
 (2603:10a6:20b:f0::39) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5d915778-4dc5-4d7b-70f0-08d9da5f8ff3
X-MS-TrafficTypeDiagnostic: VE1PR04MB7311:EE_
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB7311B7CE9D7C92AB936DCBBBB3589@VE1PR04MB7311.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:
	M3v0wjacIpdBzd/EGO772SEVCOCwBu5EwhTvqhxd1daVbMG8pW1nCxoos5CX1butXlhl8cWkLKj7Rs5dDQe7xj1GYcZrRIuot1/ki1GhgjwE9hSE/oZ8MSlajeZwBTTrSHpyzscpiBum5wOepp1fqzC8beG6tQL3zxhDoCB277nS8MibzhUiuPPfLZS830N/nNnciVkgxG4OcGhg/KbeTU56yt+ReaxSNOpqEEgMZvYPBd3tfyJnP0ZfoAWtkhWqaJldC1QMVnpY5xAxTwbBGNTLmgd68Y4nveiswjC/Km7WVKHMv0Ogw+EOZHpMnBDfkD0OfoTHHbs7w8KpEnW8tHbZpJXvLxTR7pURvZ8CFPQ1qdN4kcc7eBWhOPUyQSEYW8dj9JeV+Vft7/CNSFIZr7yMoCdTtqDdGl3hB2c0990ucLy4pbeEcCnyterZFT2ThX4ElkT7ECMR8Xee81d4TF+llmz4JqRCwjCiEin8KKYcVg/DdDnuHup1ohXd3aufVvEQliBwMpLou7QT4VS46K2MsbR63D0ALuoV0e6VX5fOZzV7qYMonwtyLfR9v3BSOuSrJZvUfDp2UDJRqbH7qJXPv8JQI6VvWlxEOVfNJKPXgtYI6eYQyYcPh8wwexD5NNBsmlqnCUV5/2bvyUHil0rVR7Lym8t+0H46lAyM/vRA2dvq1BCk2iiT36ul+xemFY4RJHY5pELGwCoNDth1ZUSSNIbSNzHvgJV3ZVq4Mlw=
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)(53546011)(6506007)(8676002)(83380400001)(2616005)(508600001)(6916009)(316002)(54906003)(4744005)(86362001)(8936002)(5660300002)(4326008)(31686004)(38100700002)(6512007)(26005)(66476007)(2906002)(66946007)(6486002)(66556008)(186003)(31696002)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ekRTY2ZkWm9wTC9oRE5KOHY3aXI1TzlFL2VmTlY2UFF1WTZwR2FPTGRTVFBr?=
 =?utf-8?B?N1FnTGJsZTh2Ry9iZWdpeTNBaExEK0N0UUVnNXpXaWFaMDFNcTlFWUtEZ1ZT?=
 =?utf-8?B?dkREQnZBR0RYTFlvVkQ4RzlPQjNQM09BbUFWWlN5UG1kTjIrS0x0SVFLbno1?=
 =?utf-8?B?d28wOXp3cEpTck9GTUxJNmRLRXFHeE1Na3YwODZlRkt0WmYzVEFTSzVMemFY?=
 =?utf-8?B?U2FMdWRSUkJyN3hhR0hJUmVxenpMVkZWV2RUa0J5NGtsQU5vbGV0T3h5Z2R6?=
 =?utf-8?B?Z1lnbHJGVll2OGs1T1lVdHNrSk5iQllMajFoRS9vamZGZFU3RXBwOHR5dmRV?=
 =?utf-8?B?d3JDWkNFeUpDU3FialJTTnN2N29JVjdoZ05tQlFyWi9ZYlcvaFlSNUNFTy9s?=
 =?utf-8?B?SWlaVHpzcnNyMEY3cU1uRnlrUkhYa3U0YlNRYVkzcGR6cjc4bTJhKzFjYUNP?=
 =?utf-8?B?c1FIaDg2MCtZalg2NUswV2Z4eE5XMW1QUzZaRlREZ1hIb0ZjM0t0SlduYWp6?=
 =?utf-8?B?TzhTYlFrUytteE1LYWpxN3BEc2IrVm5WQmJuSE5iNFVxVitraFVjMjlnbFQ0?=
 =?utf-8?B?a0FiS2pYVTJUZUszM09FVnE3OXBBN0lqWmtCNVlHLzA2RlVQUU1Md2NpM09a?=
 =?utf-8?B?NHg2M0NySkVmbkRWNmRSUEJwRjNIV3FsRDM3cEJYZy9BTHowV2R1amxoZ01l?=
 =?utf-8?B?d3MwV0tBaGZzYkZvRHBEOVAvWlg3a2wvRUoyOG9wYWFZT01Ec2tlc2xSQXBM?=
 =?utf-8?B?VVlTZzNRWUFiakZsdmFNdVVKcEZXSHBZRXVaTVYvbkt2WnlKcWp1L1BRVFcr?=
 =?utf-8?B?QkZ0NVpYZEVwR0hNb3duaUlhTzVGZUs1Ym5hTFdXdWlQdmxDQStVU2t0aCtw?=
 =?utf-8?B?NGd5YVZCWC9FREVUUWlpRVJZb0tMV1BJRmllTkE0YnA2dUc0WWFNWXNlcm1u?=
 =?utf-8?B?VS9hSkJQc0FYLzA2Ry9QZnVxYkM4UlArYkMzdkRIU2hXMzYzcWNWeXJFekZz?=
 =?utf-8?B?WDZ4RExlOHhFdkphWUZPQU9ibU84RHJvZDNzcFA0QUhCVlZYQVhHTW5xRERk?=
 =?utf-8?B?ZHowcCtkbjdDZW5KVFZUcFRTeVdnU1R6NmVoZk5sWWxnZXp2cWl5NzFSZHdv?=
 =?utf-8?B?VmZNcjAwZFlaa3JFOUVXTXJiVUNMSnVPeWdqMFQ1K3B5OHRuMVljektXRWpt?=
 =?utf-8?B?Yjh3SHJzc3dCV013VWZwT2d6dVdhRXNFaVlZWUcwalBpeEYxdjhqZmdudTJm?=
 =?utf-8?B?U2ZGMEdCMDVDbEJ0UzdFby92akdQSnhTVFlQTUpzN3hrb2NHV2VGRW42aVdi?=
 =?utf-8?B?bGluemNkTWhSd2dhbmVzcTg4a2dlMmJEOHhBVTdSdkxZbDVhb2hDSUFReGJE?=
 =?utf-8?B?NExYdXpYdk9icTBlbmhNbDBScFpmbkNjMnlCajBDSXhqak5RK0hkaHlWZjBH?=
 =?utf-8?B?UkIyK2tPYWFsaUJackpKek9odHhqekpUNVo4TmF3M0xkMklyOWprK2gzRGJ5?=
 =?utf-8?B?bXdoNVdqZWYyTXFYTWdCL3UwMU5pUExiY1hkMjQrK3g3YW5sRWQ1TkkzSWl6?=
 =?utf-8?B?L3ZMdExIWnpKWmZTTE8vKzFwV002NnVsekZvblh2alJGb3Q4Y2h3ejhqVHU5?=
 =?utf-8?B?QXN2QUhMWVZoK29uaWVQejZXWHB2UWVrT0o0Mk9qQjk5YTRuSFlPSkMrelhw?=
 =?utf-8?B?MDJSckgzNGlpZjlJMUFlZEFNWFBhMjRxUVVmMkNLVk8vNEtUclpzbG9UWVE4?=
 =?utf-8?B?R0RLdlQ4T3NMUkl6WFVaeEZwZEx4cElaR3ZsT09xcjR4UndSUzVWeUw1cjJt?=
 =?utf-8?B?YnlhN002WW9laUNScmh3TmZMMEVLUmNKcGFwVUp3KzZYdklUblFldCtSV0kr?=
 =?utf-8?B?RlpmTjhadXNBQWRzNzd6WXpobTdWYkVERjVCL0U0QWh0YkZ1ZFlyNjhhTFhG?=
 =?utf-8?B?aEZZNEZ6aHNreTNuSC9pelltdTJ5endCZHd1S1pKeUNLVGQvT2NDVEdPdDVE?=
 =?utf-8?B?NFdZZzRpMTk3aUNBSHM4Y3RtSEpXVGtSak12VmI5T2Vpd2treWd5NXY1OEpZ?=
 =?utf-8?B?NmNaUFphNE96Y0pUZWdsbHQ3M1NnUFVaeFVLalgvNXhYS1FsU3lmVjhtaGtn?=
 =?utf-8?B?dkZza0hEaDNrVk9wTFV2a1JIVDlEK294NlNXL3JyRHNaZUx2Q3ZxUEp6S2RZ?=
 =?utf-8?Q?dxh4FXDjiNfhpdd29dJnUSg=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5d915778-4dc5-4d7b-70f0-08d9da5f8ff3
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 08:50:22.3349
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mnBdeQisbQzofjw7h5InSmJeW7MySI9IoEdPPoUBB8vMOoYJcJY/wYwMMX4Mmpw0jncnUUDFcZ65KkSbCynN1A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7311

On 13.01.2022 14:41, Jan Beulich wrote:
> Calibration logic assumes that the platform timer (HPET or ACPI PM
> timer) and the TSC are read at about the same time. This assumption may
> not hold when a long latency event (e.g. SMI or NMI) occurs between the
> two reads. Reduce the risk of reading uncorrelated values by doing at
> least four pairs of reads, using the tuple where the delta between the
> enclosing TSC reads was smallest. From the fourth iteration onwards bail
> if the new TSC delta isn't better (smaller) than the best earlier one.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

When running virtualized, scheduling in the host would also constitute
long latency events. I wonder whether, to compensate for that, we'd want
more than 3 "base" iterations, as I would expect scheduling events to
occur more frequently than e.g. SMI (and with a higher probability of
multiple ones occurring in close succession).

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 08:58:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 08:58:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258405.444948 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9kJl-0001Vg-2S; Tue, 18 Jan 2022 08:58:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258405.444948; Tue, 18 Jan 2022 08: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 1n9kJk-0001VZ-Vk; Tue, 18 Jan 2022 08:58:16 +0000
Received: by outflank-mailman (input) for mailman id 258405;
 Tue, 18 Jan 2022 08:58:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9uWz=SC=gmail.com=gengdongjiu1@srs-se1.protection.inumbo.net>)
 id 1n9kJi-0001VT-Vp
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 08:58:15 +0000
Received: from mail-lf1-x130.google.com (mail-lf1-x130.google.com
 [2a00:1450:4864:20::130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c4e5e075-783c-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 09:58:13 +0100 (CET)
Received: by mail-lf1-x130.google.com with SMTP id x11so42093984lfa.2
 for <xen-devel@lists.xenproject.org>; Tue, 18 Jan 2022 00:58:13 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c4e5e075-783c-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc:content-transfer-encoding;
        bh=cbbC7njoQiCI+pJ3A+jBYzdVhH+bdsBlJDpCjJipZ1k=;
        b=DL9w/tbX2EpUxLZUWcvEeG+GisPJZHxbXfV4fVea40a2jU1MgQa/Ay/asBpuOkD0/K
         P3rpL/65TSJjZH7I8wzT0ZCtZ73a+Y7fPQeeS6ay7xGy6O+Xxs569oYrJ0ESshUOWdZ6
         dP9JysU/njkBnlLNq8Me6PxrLNEkDp9Ua+nmUP8eU3kfsPMT/DQLbS21eHGab0KMsVpv
         iiG2y/17J+CC5f8GiE9Bv2QG2crpgc9daHCpSVoF/699MvdiIherWn3oWbanH8guFi8L
         NvxLsKi+mkqM/UVbVtlPcwSCuol0iTfSVlH0Sf918r+GjYetplNHEqz8dVJpSUdNaiHE
         fR8g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc:content-transfer-encoding;
        bh=cbbC7njoQiCI+pJ3A+jBYzdVhH+bdsBlJDpCjJipZ1k=;
        b=bQcG/aRYlOg4GkuFTK1cQOwg6iNC0o7mvGMHlRwoStvFzK+ddXcxWjd5M114rJcGV0
         tXJVPQ/7t2BXjAdwWc5+9UiZhqhrDt7DvITU5G3M0URhECySdKxbl4Z7sWtX4dISA9BB
         W5Rnei92eRcMwzWegy6c574lNrkukKVgidF4X20+Xg3GeFl6NQ2o+Vat4RqXZztaiR9a
         5tCgvpWUkni3HoH3SqQ+QYJAVUNwyyA+hSQIV7JUUmdd/KqWuN2uY2suzzMwTBHb4Kyv
         DpYIAf3/exk7RubNiQVAOLI7IMfmc7Twa24vSW+DjhkJszi6t2j5LpA8SbWP2fO2t7UT
         DL1g==
X-Gm-Message-State: AOAM530xZQRLHPul6p7UZC66DyT3vjr/YoN5uio8A3R82fcC31wWoWuH
	IM08pJlCnv4SYI0g64QXGOJ5cnv8MjQ7vsM0Fas=
X-Google-Smtp-Source: ABdhPJxf7E4NO8+vtFSE+kHcSeuGHH3g4PAROZ0XsvhLUznbXvda0HMZLAfNtDSxoYVJ/t1GkRSUaAM5VGijcqvh+Y0=
X-Received: by 2002:a05:6512:400b:: with SMTP id br11mr18979675lfb.108.1642496293549;
 Tue, 18 Jan 2022 00:58:13 -0800 (PST)
MIME-Version: 1.0
References: <20220117064003.3367188-1-gengdongjiu1@gmail.com>
 <2a1a0dd5-b8a7-8072-2961-b1fbe9ec746a@xen.org> <CABSBigSOjoXABoYoe+SahQyX0P045YjgK3A=7yyxw_aX8nzTqg@mail.gmail.com>
 <9A7FAD16-3D4A-4C22-8288-A4719A993CDD@arm.com>
In-Reply-To: <9A7FAD16-3D4A-4C22-8288-A4719A993CDD@arm.com>
From: Dongjiu Geng <gengdongjiu1@gmail.com>
Date: Tue, 18 Jan 2022 16:58:03 +0800
Message-ID: <CABSBigSba0ENZ-AvDN7bPGNqS5zQKceL901BxhjR8pkRntgnrw@mail.gmail.com>
Subject: Re: [PATCH v4] xen/arm: Allow QEMU platform to be built with GICv2
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, xen-devel <xen-devel@lists.xenproject.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Bertrand Marquis <Bertrand.Marquis@arm.com> =E4=BA=8E2022=E5=B9=B41=E6=9C=
=8818=E6=97=A5=E5=91=A8=E4=BA=8C 16:48=E5=86=99=E9=81=93=EF=BC=9A
>
> Hi Dongju,
>
> > On 18 Jan 2022, at 08:45, Dongjiu Geng <gengdongjiu1@gmail.com> wrote:
> >
> > Julien Grall <julien@xen.org> =E4=BA=8E2022=E5=B9=B41=E6=9C=8817=E6=97=
=A5=E5=91=A8=E4=B8=80 22:16=E5=86=99=E9=81=93=EF=BC=9A
> >>
> >> Hi,
> >>
> >> On 17/01/2022 10:40, Dongjiu Geng wrote:
> >>> It turns out that QEMU has been supporting GICv2 virtualization since
> >>> v3.1.0. So remove the dependencies on GICv3.
> >>
> >>
> >> Technically, the current form of CONFIG_QEMU allows the same binary to
> >> boot on QEMU with GICv2 or GICv3.
> >>
> >>> If we want to use GICv3,
> >>> we can select the QEMU_LEGACY configuration.
> >>
> >> AFAIK, GICv3 is not a legacy feature... So it feels a bit odd to name =
it
> >> like that (see more below).
> >
> > Legacy means QEMU platform only supports GICV3, now it can support
> > both GICv2 and GICv3. The scope of support has been expanded
> > Not mean GICv3 is a legacy feature.
>
> You might be misleading a bit here.
> In the current configuration, Xen support GICv2, GICv3 and vgic.
> The only thing not supported is actually the new VGIC but this is an unsu=
pported feature not fully functional which shall be used with caution.
>
> What issue exactly do you have in Qemu configured for gicv2 when you use =
the default configuration ?

I want to use NEW_VGIC with GICv2, but QEMU only select GICV3,  when
GICv3 is select, the NEW_VGIC can not be used.   I try the NEW_VGIC
with GICv2, not found issue. so I want to remove this limitation.
If  you think we should not support NEW_VGIC feature,  we can ignore
this patch.  thanks!

>
> Cheers
> Bertrand
>
> >
> >>
> >>>
> >>> Signed-off-by: Dongjiu Geng <gengdongjiu1@gmail.com>
> >>> ---
> >>>  xen/arch/arm/platforms/Kconfig | 10 +++++++++-
> >>>  1 file changed, 9 insertions(+), 1 deletion(-)
> >>>
> >>> diff --git a/xen/arch/arm/platforms/Kconfig b/xen/arch/arm/platforms/=
Kconfig
> >>> index c93a6b2756..41e82a42ee 100644
> >>> --- a/xen/arch/arm/platforms/Kconfig
> >>> +++ b/xen/arch/arm/platforms/Kconfig
> >>> @@ -13,7 +13,15 @@ config ALL_PLAT
> >>>      automatically select any of the related drivers.
> >>>
> >>>  config QEMU
> >>> -     bool "QEMU aarch virt machine support"
> >>> +     bool "QEMU aarch virt machine support >=3D v3.1.0"
> >>
> >> This is a bit misleading. A user may select this thinking that this wi=
ll
> >> select GICv3. However, this will not.
> >>
> >> This also raises the question of what is the default GIC version in QE=
MU
> >> (i.e. if you don't pass anything on the command line)? If this is GICv=
3,
> >> then I am afraid that this patch would be a no-go for me.
> >>
> >> Looking at overall discussion, you seem to push the patch only to allo=
w
> >> building a tiny Xen for QEMU and the new vGIC.
> >>
> >> The default Xen (i.e. make defconfig) will also work on QEMU. Given th=
at
> >> the new vGIC is a still in development, I am seriously considering to
> >> say that if you want to try it then you have to use the default
> >> configuration.
> >>
> >> @Dongjiu, is there any reason why you want to use the tiny QEMU config
> >> rather than the default configuration?
> >
> > Hi Julien, thanks for the reply, I do not use the tiny QEMU config. I
> > used the default configuration and selected the platform as QEMU.
> > But QEMU platform only slects GICV3, so I submit this patch to remove
> > the limitation because I want to use VGIC. VGIC can already support
> > GICv2 now.
> >
> >>
> >> @Bertrand, @Stefano, what do you think?
> >>
> >> Cheers,
> >>
> >> --
> >> Julien Grall
>


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 09:18:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 09:18:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258410.444960 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9kco-0003s3-Qb; Tue, 18 Jan 2022 09:17:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258410.444960; Tue, 18 Jan 2022 09: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 1n9kco-0003rw-Mw; Tue, 18 Jan 2022 09:17:58 +0000
Received: by outflank-mailman (input) for mailman id 258410;
 Tue, 18 Jan 2022 09:17:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2vFr=SC=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1n9kcm-0003rq-Ej
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 09:17:56 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on0630.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8416b8c6-783f-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 10:17:54 +0100 (CET)
Received: from DB9PR05CA0003.eurprd05.prod.outlook.com (2603:10a6:10:1da::8)
 by AM6PR08MB5158.eurprd08.prod.outlook.com (2603:10a6:20b:ec::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.9; Tue, 18 Jan
 2022 09:17:51 +0000
Received: from DB5EUR03FT053.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:1da:cafe::54) by DB9PR05CA0003.outlook.office365.com
 (2603:10a6:10:1da::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.7 via Frontend
 Transport; Tue, 18 Jan 2022 09:17:51 +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.4888.9 via Frontend Transport; Tue, 18 Jan 2022 09:17:51 +0000
Received: ("Tessian outbound 157533e214a9:v110");
 Tue, 18 Jan 2022 09:17:51 +0000
Received: from fac997395aa3.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 21CBD0B1-235E-4A21-ADEF-20BB9EF0E045.1; 
 Tue, 18 Jan 2022 09:17:45 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id fac997395aa3.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 18 Jan 2022 09:17:45 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 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.4909.7; Tue, 18 Jan
 2022 09:17:42 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::c0c1:d43a:acf3:a59d]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::c0c1:d43a:acf3:a59d%4]) with mapi id 15.20.4888.013; Tue, 18 Jan 2022
 09: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: 8416b8c6-783f-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=V9CEQQgRQs63+leoGkBBlg1QFh3RJgZmigbnjFZsIyk=;
 b=dbvX1dfKEJp5S1xf0ep00aJkmpGuVwb0QuL0O6QrDoYdspsYvcAVNbBY7c9i7Fye85vw53vTxN907SuJLB8RQDTtLKohAMEfnjnFpABvfGNiyHCQ5a9A81OMLLiy7Lr3WAXEsOng6vLQoPzNHaA3F2aqRFG/JgZfwPkMnH8Tfik=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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: 0d7c0210b0ecf426
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NHBSu0HJJ0eyLJAp5Er5NXs15tj0g9oHN985Q0EA7IkRBsrpRepreGph3ynSVIQNNHrhHU4Ie2oSQ8gk9hGg30Fxpc+ph00PFz6/WCNdYdZBt6BjbJUX1ZxKUAH4E6OaXUPKtLy+yp8TAapWB4+c9gul3tNL2jbw3uPLdPbX8gif40MFxnH2o1TvtgAfDvWJu/hg5CMNeejod4bNlv47/yUTLAQkFsKe+Fq0A6S1cA7qJxw0+ZK7sSrDCTPTpnwXiRiWpj2iijl3wvcIex4vtAOh8X/Sm7GhZ1y32wawBQkg7IYbs7EYteTEW3IWb2FfTo4dhK//BIkotyODwL3xbw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=V9CEQQgRQs63+leoGkBBlg1QFh3RJgZmigbnjFZsIyk=;
 b=IvYzYMcaZoYrBDAG9+akuwfufNZ7RkLFYnvYmgDw7BB9gxR+TjXEpN0n3JPSoGvlkwKN95OtPjkRFOOiEZkRf25jahtpstOXtNd6tceglRy4zvaLUXgHgp3MjrdafP7cBPpRkOlpnxnDgCm9b1lmDR38/jMr+1YAhWecsI3CsTWzVFxWcLVE4ipDk2EJFhUdDpidQiJrqIsMYVuvpbV94NOAVD/7y1g8E8xs5ynMbsrw+Yo+ayrhWbuuNSL7ZArltw2P5sLeylWb1t6hwCKaXka6N8FlMgn1bVeCRiOs54J5F7XwJx6FOSLtv/1zuzpec44cS2lbaG4HWczMNex5YQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=V9CEQQgRQs63+leoGkBBlg1QFh3RJgZmigbnjFZsIyk=;
 b=dbvX1dfKEJp5S1xf0ep00aJkmpGuVwb0QuL0O6QrDoYdspsYvcAVNbBY7c9i7Fye85vw53vTxN907SuJLB8RQDTtLKohAMEfnjnFpABvfGNiyHCQ5a9A81OMLLiy7Lr3WAXEsOng6vLQoPzNHaA3F2aqRFG/JgZfwPkMnH8Tfik=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Dongjiu Geng <gengdongjiu1@gmail.com>
CC: Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v4] xen/arm: Allow QEMU platform to be built with GICv2
Thread-Topic: [PATCH v4] xen/arm: Allow QEMU platform to be built with GICv2
Thread-Index: AQHYC20k2h7y374id02KJynAohV9hqxnQp6AgAE2BYCAAADaAIAAAqmAgAAFfIA=
Date: Tue, 18 Jan 2022 09:17:42 +0000
Message-ID: <A5AC5212-A9FD-4027-893D-24A5A8DFD825@arm.com>
References: <20220117064003.3367188-1-gengdongjiu1@gmail.com>
 <2a1a0dd5-b8a7-8072-2961-b1fbe9ec746a@xen.org>
 <CABSBigSOjoXABoYoe+SahQyX0P045YjgK3A=7yyxw_aX8nzTqg@mail.gmail.com>
 <9A7FAD16-3D4A-4C22-8288-A4719A993CDD@arm.com>
 <CABSBigSba0ENZ-AvDN7bPGNqS5zQKceL901BxhjR8pkRntgnrw@mail.gmail.com>
In-Reply-To:
 <CABSBigSba0ENZ-AvDN7bPGNqS5zQKceL901BxhjR8pkRntgnrw@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3654.120.0.1.13)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 31ac384e-422a-4368-f688-08d9da63670d
x-ms-traffictypediagnostic:
	AM5PR0802MB2401:EE_|DB5EUR03FT053:EE_|AM6PR08MB5158:EE_
X-Microsoft-Antispam-PRVS:
	<AM6PR08MB51581F5C4E5F9AE75C14B97F9D589@AM6PR08MB5158.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:
 bVUglsoqwAGHthsDsAlmbV+tJvX4GG2znDDDBPdXRjwX2hmIgSXJf6/fNhXqftAETDCej6Imvkk3Uk63ZAydJo6OCSfsmMohWE+CPmg+r8pFyQCTAcsxFBDqhFWk7YYBh4H+xt0uNzU8fY7wNxuzMAF1ClKysX78FMQRPkF30nMcAulEnlQS7ePOEN+5XJC+VH9D2f5cRbbWrhFauHi/0qI7RYq6FyYIgilwDdZEh3dJDvAfiaPTv41XhDRkdEEzak08DX15wsKdQghDHzIvUGlQrCJl+5ST5T9z4OeqfxwPv4y2uHJflan7im3yhqGOGyKxLDwuAKAo8jiP6zokY7GPZEnt2+mPicHILHQfZFmAJBJDyBydpIqufRW8qPDgRS3927QVaeWBGShwGtAA26ljYoMT1RgkrjKb9cTnrm5vHEy6UsBdA9sPMgJiay3V/YoXNtQg6j1f3WKk+HWBc3niVE4jXdudxgxa7Ly8+HYcry30SDm2Xml+fBxRVJYBPdNs+cV2D1iivhqaVHmGVKwiV9i4C5B8XL0K10r6Yr8AUaUIAbWZZFNPU8vGjA5dB4unyY/ucpwHnGLciWrY0j69RqX0ijeHDMEhBKZcqkADfwywSKunOfWZ68AnAR+07ry7IwhjW2Ertp0LR8mj51YRGdX3cJRvbvz/OqqI+GnQHdRucMEpA9Dmd9KBHNHl8seN9UoMt8iBJNldhB6sUY9hfdoY2MJDZX2AignCt9pZm9PX+arZ1Jt/9nvY876s
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(83380400001)(4326008)(26005)(508600001)(316002)(186003)(54906003)(6916009)(86362001)(53546011)(6506007)(6512007)(38070700005)(2616005)(2906002)(6486002)(5660300002)(8936002)(33656002)(38100700002)(122000001)(36756003)(66446008)(66556008)(66476007)(64756008)(91956017)(66946007)(71200400001)(76116006)(8676002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <34110B56117D544D8F544F3C173380CC@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0802MB2401
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;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-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	bc9acdba-0deb-4785-4782-08d9da636192
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VYNXEmQ474Zx2eA1cJxcPvIBD65cyqMXfludh7yso4XAtedvV4gk1k0sGNlZLWzZRND6NI3DoA8RhWVDjxGEGH3mXzOvoewaTPksPCG2G04oOlgd/Iv0UJHHY/gr+e0W3dCS4FldV5shr6X9ynutDB8l4TQBnJxuyvAC3sXpTen6wHZpCt6CUZnlKI6W6iH67pDsUkB7EX+lhGhgC1X7z8zyB27WgSrhbi/pUz2VozdEiswFfBU55HBkWvEUrSynNiGmHSUkVB4Th7VmW6yRC5l2++78Zux0hGjACReiO4VGDwvP1F1CCF4CLhGZ8cgWRjgzxizbuRfZV5UW7V6pLXTCELagOlyg8mXp/OFcCDw/BLTM0s48qZ4cq69fIkLXHeWM2m14dAsnlwbFhkIuvHDSRCRdqvfLRqEIFL5/27IhoAOgarCVxuDWuIjM/Id2nUHhayoG8oZQAr8Kqho3SiSF2Q490zwdK4ykcD0OOqM7c3DtfP7q5hILk6w4EwwXriHBTDJngvvZlQ+x3WJupx31gUkzrk41ifpeBHUwtog4kJhouUJY1w89s8M91xTAla3BjyduOZDz9OKlrZCvTgJviBILgRLN6j2xVkdRwfG+MENvmT7vJ2S+KkjjYCC3GdmP/i7Cmt9298kSdGQwgUS+CNiZWGeLJhsJQRCy1qqXLfcgxwotBF6Kw9sa/07RZhm6o5GsuyPWy4k0owoeix2mnIopEERWCxAR1Ak/r+IO1cKXZtnq313ODhPAwuNfp9+Az+uppZVCm8auD6K4Pg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(40470700002)(46966006)(36840700001)(2616005)(47076005)(4326008)(356005)(2906002)(336012)(86362001)(6862004)(508600001)(82310400004)(40460700001)(36756003)(6486002)(186003)(6506007)(70586007)(53546011)(70206006)(316002)(8676002)(36860700001)(26005)(83380400001)(6512007)(8936002)(54906003)(81166007)(33656002)(5660300002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 09:17:51.5065
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 31ac384e-422a-4368-f688-08d9da63670d
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: AM6PR08MB5158

SGkgRG9uZ2p1LA0KDQo+IE9uIDE4IEphbiAyMDIyLCBhdCAwODo1OCwgRG9uZ2ppdSBHZW5nIDxn
ZW5nZG9uZ2ppdTFAZ21haWwuY29tPiB3cm90ZToNCj4gDQo+IEJlcnRyYW5kIE1hcnF1aXMgPEJl
cnRyYW5kLk1hcnF1aXNAYXJtLmNvbT4g5LqOMjAyMuW5tDHmnIgxOOaXpeWRqOS6jCAxNjo0OOWG
memBk++8mg0KPj4gDQo+PiBIaSBEb25nanUsDQo+PiANCj4+PiBPbiAxOCBKYW4gMjAyMiwgYXQg
MDg6NDUsIERvbmdqaXUgR2VuZyA8Z2VuZ2RvbmdqaXUxQGdtYWlsLmNvbT4gd3JvdGU6DQo+Pj4g
DQo+Pj4gSnVsaWVuIEdyYWxsIDxqdWxpZW5AeGVuLm9yZz4g5LqOMjAyMuW5tDHmnIgxN+aXpeWR
qOS4gCAyMjoxNuWGmemBk++8mg0KPj4+PiANCj4+Pj4gSGksDQo+Pj4+IA0KPj4+PiBPbiAxNy8w
MS8yMDIyIDEwOjQwLCBEb25naml1IEdlbmcgd3JvdGU6DQo+Pj4+PiBJdCB0dXJucyBvdXQgdGhh
dCBRRU1VIGhhcyBiZWVuIHN1cHBvcnRpbmcgR0lDdjIgdmlydHVhbGl6YXRpb24gc2luY2UNCj4+
Pj4+IHYzLjEuMC4gU28gcmVtb3ZlIHRoZSBkZXBlbmRlbmNpZXMgb24gR0lDdjMuDQo+Pj4+IA0K
Pj4+PiANCj4+Pj4gVGVjaG5pY2FsbHksIHRoZSBjdXJyZW50IGZvcm0gb2YgQ09ORklHX1FFTVUg
YWxsb3dzIHRoZSBzYW1lIGJpbmFyeSB0bw0KPj4+PiBib290IG9uIFFFTVUgd2l0aCBHSUN2MiBv
ciBHSUN2My4NCj4+Pj4gDQo+Pj4+PiBJZiB3ZSB3YW50IHRvIHVzZSBHSUN2MywNCj4+Pj4+IHdl
IGNhbiBzZWxlY3QgdGhlIFFFTVVfTEVHQUNZIGNvbmZpZ3VyYXRpb24uDQo+Pj4+IA0KPj4+PiBB
RkFJSywgR0lDdjMgaXMgbm90IGEgbGVnYWN5IGZlYXR1cmUuLi4gU28gaXQgZmVlbHMgYSBiaXQg
b2RkIHRvIG5hbWUgaXQNCj4+Pj4gbGlrZSB0aGF0IChzZWUgbW9yZSBiZWxvdykuDQo+Pj4gDQo+
Pj4gTGVnYWN5IG1lYW5zIFFFTVUgcGxhdGZvcm0gb25seSBzdXBwb3J0cyBHSUNWMywgbm93IGl0
IGNhbiBzdXBwb3J0DQo+Pj4gYm90aCBHSUN2MiBhbmQgR0lDdjMuIFRoZSBzY29wZSBvZiBzdXBw
b3J0IGhhcyBiZWVuIGV4cGFuZGVkDQo+Pj4gTm90IG1lYW4gR0lDdjMgaXMgYSBsZWdhY3kgZmVh
dHVyZS4NCj4+IA0KPj4gWW91IG1pZ2h0IGJlIG1pc2xlYWRpbmcgYSBiaXQgaGVyZS4NCj4+IElu
IHRoZSBjdXJyZW50IGNvbmZpZ3VyYXRpb24sIFhlbiBzdXBwb3J0IEdJQ3YyLCBHSUN2MyBhbmQg
dmdpYy4NCj4+IFRoZSBvbmx5IHRoaW5nIG5vdCBzdXBwb3J0ZWQgaXMgYWN0dWFsbHkgdGhlIG5l
dyBWR0lDIGJ1dCB0aGlzIGlzIGFuIHVuc3VwcG9ydGVkIGZlYXR1cmUgbm90IGZ1bGx5IGZ1bmN0
aW9uYWwgd2hpY2ggc2hhbGwgYmUgdXNlZCB3aXRoIGNhdXRpb24uDQo+PiANCj4+IFdoYXQgaXNz
dWUgZXhhY3RseSBkbyB5b3UgaGF2ZSBpbiBRZW11IGNvbmZpZ3VyZWQgZm9yIGdpY3YyIHdoZW4g
eW91IHVzZSB0aGUgZGVmYXVsdCBjb25maWd1cmF0aW9uID8NCj4gDQo+IEkgd2FudCB0byB1c2Ug
TkVXX1ZHSUMgd2l0aCBHSUN2MiwgYnV0IFFFTVUgb25seSBzZWxlY3QgR0lDVjMsICB3aGVuDQo+
IEdJQ3YzIGlzIHNlbGVjdCwgdGhlIE5FV19WR0lDIGNhbiBub3QgYmUgdXNlZC4gICBJIHRyeSB0
aGUgTkVXX1ZHSUMNCj4gd2l0aCBHSUN2Miwgbm90IGZvdW5kIGlzc3VlLiBzbyBJIHdhbnQgdG8g
cmVtb3ZlIHRoaXMgbGltaXRhdGlvbi4NCj4gSWYgIHlvdSB0aGluayB3ZSBzaG91bGQgbm90IHN1
cHBvcnQgTkVXX1ZHSUMgZmVhdHVyZSwgIHdlIGNhbiBpZ25vcmUNCj4gdGhpcyBwYXRjaC4gIHRo
YW5rcyENCg0KU3VwcG9ydGluZyBHSUN2MiBtYWtlcyBzZW5zZSBidXQgdXNpbmcgTkVXX1ZHSUMg
aW4gWGVuIG1pZ2h0IG5vdCBhcyBpdCBpcyBub3Qgc2VjdXJpdHkgc3VwcG9ydGVkIGFuZCBkb2Vz
IG5vdCBzdXBwb3J0IElUUyBhbmQgTVNJcy4NCg0KRG8geW91IGhhdmUgYSByZWFzb24gdG8gdXNl
IHRoZSBORVdfVkdJQyBpbXBsZW1lbnRhdGlvbiBpbnN0ZWFkIG9mIHRoZSBzdGFuZGFyZCBvbmUg
Pw0KDQpDaGVlcnMNCkJlcnRyYW5kDQoNCj4gDQo+PiANCj4+IENoZWVycw0KPj4gQmVydHJhbmQN
Cj4+IA0KPj4+IA0KPj4+PiANCj4+Pj4+IA0KPj4+Pj4gU2lnbmVkLW9mZi1ieTogRG9uZ2ppdSBH
ZW5nIDxnZW5nZG9uZ2ppdTFAZ21haWwuY29tPg0KPj4+Pj4gLS0tDQo+Pj4+PiB4ZW4vYXJjaC9h
cm0vcGxhdGZvcm1zL0tjb25maWcgfCAxMCArKysrKysrKystDQo+Pj4+PiAxIGZpbGUgY2hhbmdl
ZCwgOSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQo+Pj4+PiANCj4+Pj4+IGRpZmYgLS1n
aXQgYS94ZW4vYXJjaC9hcm0vcGxhdGZvcm1zL0tjb25maWcgYi94ZW4vYXJjaC9hcm0vcGxhdGZv
cm1zL0tjb25maWcNCj4+Pj4+IGluZGV4IGM5M2E2YjI3NTYuLjQxZTgyYTQyZWUgMTAwNjQ0DQo+
Pj4+PiAtLS0gYS94ZW4vYXJjaC9hcm0vcGxhdGZvcm1zL0tjb25maWcNCj4+Pj4+ICsrKyBiL3hl
bi9hcmNoL2FybS9wbGF0Zm9ybXMvS2NvbmZpZw0KPj4+Pj4gQEAgLTEzLDcgKzEzLDE1IEBAIGNv
bmZpZyBBTExfUExBVA0KPj4+Pj4gICAgIGF1dG9tYXRpY2FsbHkgc2VsZWN0IGFueSBvZiB0aGUg
cmVsYXRlZCBkcml2ZXJzLg0KPj4+Pj4gDQo+Pj4+PiBjb25maWcgUUVNVQ0KPj4+Pj4gLSAgICAg
Ym9vbCAiUUVNVSBhYXJjaCB2aXJ0IG1hY2hpbmUgc3VwcG9ydCINCj4+Pj4+ICsgICAgIGJvb2wg
IlFFTVUgYWFyY2ggdmlydCBtYWNoaW5lIHN1cHBvcnQgPj0gdjMuMS4wIg0KPj4+PiANCj4+Pj4g
VGhpcyBpcyBhIGJpdCBtaXNsZWFkaW5nLiBBIHVzZXIgbWF5IHNlbGVjdCB0aGlzIHRoaW5raW5n
IHRoYXQgdGhpcyB3aWxsDQo+Pj4+IHNlbGVjdCBHSUN2My4gSG93ZXZlciwgdGhpcyB3aWxsIG5v
dC4NCj4+Pj4gDQo+Pj4+IFRoaXMgYWxzbyByYWlzZXMgdGhlIHF1ZXN0aW9uIG9mIHdoYXQgaXMg
dGhlIGRlZmF1bHQgR0lDIHZlcnNpb24gaW4gUUVNVQ0KPj4+PiAoaS5lLiBpZiB5b3UgZG9uJ3Qg
cGFzcyBhbnl0aGluZyBvbiB0aGUgY29tbWFuZCBsaW5lKT8gSWYgdGhpcyBpcyBHSUN2MywNCj4+
Pj4gdGhlbiBJIGFtIGFmcmFpZCB0aGF0IHRoaXMgcGF0Y2ggd291bGQgYmUgYSBuby1nbyBmb3Ig
bWUuDQo+Pj4+IA0KPj4+PiBMb29raW5nIGF0IG92ZXJhbGwgZGlzY3Vzc2lvbiwgeW91IHNlZW0g
dG8gcHVzaCB0aGUgcGF0Y2ggb25seSB0byBhbGxvdw0KPj4+PiBidWlsZGluZyBhIHRpbnkgWGVu
IGZvciBRRU1VIGFuZCB0aGUgbmV3IHZHSUMuDQo+Pj4+IA0KPj4+PiBUaGUgZGVmYXVsdCBYZW4g
KGkuZS4gbWFrZSBkZWZjb25maWcpIHdpbGwgYWxzbyB3b3JrIG9uIFFFTVUuIEdpdmVuIHRoYXQN
Cj4+Pj4gdGhlIG5ldyB2R0lDIGlzIGEgc3RpbGwgaW4gZGV2ZWxvcG1lbnQsIEkgYW0gc2VyaW91
c2x5IGNvbnNpZGVyaW5nIHRvDQo+Pj4+IHNheSB0aGF0IGlmIHlvdSB3YW50IHRvIHRyeSBpdCB0
aGVuIHlvdSBoYXZlIHRvIHVzZSB0aGUgZGVmYXVsdA0KPj4+PiBjb25maWd1cmF0aW9uLg0KPj4+
PiANCj4+Pj4gQERvbmdqaXUsIGlzIHRoZXJlIGFueSByZWFzb24gd2h5IHlvdSB3YW50IHRvIHVz
ZSB0aGUgdGlueSBRRU1VIGNvbmZpZw0KPj4+PiByYXRoZXIgdGhhbiB0aGUgZGVmYXVsdCBjb25m
aWd1cmF0aW9uPw0KPj4+IA0KPj4+IEhpIEp1bGllbiwgdGhhbmtzIGZvciB0aGUgcmVwbHksIEkg
ZG8gbm90IHVzZSB0aGUgdGlueSBRRU1VIGNvbmZpZy4gSQ0KPj4+IHVzZWQgdGhlIGRlZmF1bHQg
Y29uZmlndXJhdGlvbiBhbmQgc2VsZWN0ZWQgdGhlIHBsYXRmb3JtIGFzIFFFTVUuDQo+Pj4gQnV0
IFFFTVUgcGxhdGZvcm0gb25seSBzbGVjdHMgR0lDVjMsIHNvIEkgc3VibWl0IHRoaXMgcGF0Y2gg
dG8gcmVtb3ZlDQo+Pj4gdGhlIGxpbWl0YXRpb24gYmVjYXVzZSBJIHdhbnQgdG8gdXNlIFZHSUMu
IFZHSUMgY2FuIGFscmVhZHkgc3VwcG9ydA0KPj4+IEdJQ3YyIG5vdy4NCj4+PiANCj4+Pj4gDQo+
Pj4+IEBCZXJ0cmFuZCwgQFN0ZWZhbm8sIHdoYXQgZG8geW91IHRoaW5rPw0KPj4+PiANCj4+Pj4g
Q2hlZXJzLA0KPj4+PiANCj4+Pj4gLS0NCj4+Pj4gSnVsaWVuIEdyYWxsDQoNCg==


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 09:20:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 09:20:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258414.444971 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9kfd-0005GM-D9; Tue, 18 Jan 2022 09:20:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258414.444971; Tue, 18 Jan 2022 09: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 1n9kfd-0005GF-93; Tue, 18 Jan 2022 09:20:53 +0000
Received: by outflank-mailman (input) for mailman id 258414;
 Tue, 18 Jan 2022 09:20:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=K2lf=SC=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1n9kfc-0005G5-GX
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 09:20:52 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20625.outbound.protection.outlook.com
 [2a01:111:f400:7d00::625])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ea71a14e-783f-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 10:20:51 +0100 (CET)
Received: from DU2PR04CA0158.eurprd04.prod.outlook.com (2603:10a6:10:2b0::13)
 by AM0PR08MB3682.eurprd08.prod.outlook.com (2603:10a6:208:fb::27)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Tue, 18 Jan
 2022 09:20:43 +0000
Received: from DB5EUR03FT060.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:2b0:cafe::33) by DU2PR04CA0158.outlook.office365.com
 (2603:10a6:10:2b0::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.7 via Frontend
 Transport; Tue, 18 Jan 2022 09:20:43 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT060.mail.protection.outlook.com (10.152.21.231) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4888.9 via Frontend Transport; Tue, 18 Jan 2022 09:20:42 +0000
Received: ("Tessian outbound 157533e214a9:v110");
 Tue, 18 Jan 2022 09:20:42 +0000
Received: from fc43cc23d167.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 3F2ADC25-59F5-4FA8-AA28-C9B843B62A96.1; 
 Tue, 18 Jan 2022 09:20:31 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id fc43cc23d167.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 18 Jan 2022 09:20:31 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by DB9PR08MB6363.eurprd08.prod.outlook.com (2603:10a6:10:257::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.9; Tue, 18 Jan
 2022 09:20:28 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0%6]) with mapi id 15.20.4888.013; Tue, 18 Jan 2022
 09:20:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ea71a14e-783f-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EgKBSZI6WBu4A1igR03S/OdhhRxqqrR7ly1AKYJ1Noo=;
 b=j9oojzSF/tgv4seBnw3JslISlAsmThpDmYXa7xfOI3eMeKAl9n2+Dw6FZTjIGUrdgA/uxzXs2bVv18P612mZPHhclkZx32tqr7OhHO9RDOU5KbcyhwX6HowOVETKQ83SBcq34gn25E7N9amSRPO27AmxHfupyL+ZOve1MX45lK8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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=VW1M3QTPEHcGUc6S31H1yZh+U1epA9QyhB/wsf1GzoIXxVFynldmlkNHwa3MQsf6YiwBVLeguyrdPa6xUtdglAu3uXLjEOyJg6ZXkGGWP2vMgoRwRvTcDgxFuGBGxWCIL9KP4Z+T8v+qQ13C6H70IVB9VUTNS/Kn10gQ9mwetg6F/8PXaQQ0wsr5Zd33GSC8uui1zQ+lYz7GChTpaZHs8d/o0ud2OgVCgm3ufbGdlfN07BQ86qj3LQNrStMoi90+x/u9IAh1Z+fnil8+qG/h5g59OAG57dkMpOEJZHcdrD4EZ6xp6t/04Qia1jq62se89uaffiSX0/Han65IlcS11Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EgKBSZI6WBu4A1igR03S/OdhhRxqqrR7ly1AKYJ1Noo=;
 b=f6R5AYnGA+Cepv55Rarwl46+tDMsjs47e7SWopwm9+PD9pQb4bTEmYTeEkeY4iKmJO3zJdlukLXuRdqtaN+BRuKIY1j1bAIhROM46L+1fNS4/SsYAJcxuUSo8kZPvpltPG32ualu/iqW4bu1A2WQPG3880xM5BtOl0vlx9W8ZxvzYZ8QO+n3iMoML0iDOIMzsrIA5n5e2oOOMCL9PwaBE+2vh8HAmOqjH14Df6Es1n/K1srrerPKgeXk7wk9pniHzkmRZMJ13l3tBl35KV6ROt2uasNfjqiqVtaksdgn7rL/SEpa3sLMakAUyJo+mZ4U1VryfsXBHymuU5auElkiow==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EgKBSZI6WBu4A1igR03S/OdhhRxqqrR7ly1AKYJ1Noo=;
 b=j9oojzSF/tgv4seBnw3JslISlAsmThpDmYXa7xfOI3eMeKAl9n2+Dw6FZTjIGUrdgA/uxzXs2bVv18P612mZPHhclkZx32tqr7OhHO9RDOU5KbcyhwX6HowOVETKQ83SBcq34gn25E7N9amSRPO27AmxHfupyL+ZOve1MX45lK8=
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: [PATCH 04/37] xen: introduce an arch helper for default dma zone
 status
Thread-Topic: [PATCH 04/37] xen: introduce an arch helper for default dma zone
 status
Thread-Index: AQHXsHMGx8xGhif/FUCDSa9NS/fSLqxoGKiAgAD49HCAABTIAIAACXAA
Date: Tue, 18 Jan 2022 09:20:27 +0000
Message-ID:
 <PAXPR08MB7420FE209E822108AB1B41E19E589@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-5-wei.chen@arm.com>
 <345944c4-78dd-8009-6f64-f9c7901a5497@suse.com>
 <PAXPR08MB7420CD3B7CFB4D2D81019F479E589@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <378fcc9b-abfe-28f2-ee67-f5510e99436c@suse.com>
In-Reply-To: <378fcc9b-abfe-28f2-ee67-f5510e99436c@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 3F3ABE64025B194AB6CBA235F5DCB5A9.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: a733bc4f-fc65-4623-4b61-08d9da63cd3c
x-ms-traffictypediagnostic:
	DB9PR08MB6363:EE_|DB5EUR03FT060:EE_|AM0PR08MB3682:EE_
X-Microsoft-Antispam-PRVS:
	<AM0PR08MB368229BCE17F52A7C40E5BBF9E589@AM0PR08MB3682.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:
 C2O9skU5sRQezE9eInq0BcmEKrzNz25zp27RmP1qJNuGEJOeGotKMzNrIfw0oTpAC0KupaULV5tEYRQ0+cNDmqZGb4MAC7C7Ewt8c0M85BUGiDNbsNpk9j0/24ow8AjUdYEHjYkTReY7H6b8TpVPjpePGl9IQiK3PLwHHOP+GMGFNWG403YWYIgiUBy+uWG4cpgbF2BookDJFHtYNwMR1Wv6jATjBaTr70R0UDpDauZvn9ZMKsI7M5ura/31MfoVsQvU1QQ3J0p/Gyl9NlEJy06CDWBFsMnuvQjIcTJZX96Ri6LUk7kV5QBWx2hJvEIbATSrL0BWDVZjJiJC0hV8+UTZ5W7RVSoPKTqqNPnbh9R638yUcGteNaGeLLVuFLMB7h3ZKWTwGErn9J+Yi9wCfXPSqVY/u6cknZyCEcyK9IWtkXskNCqei5/Lf854q6BSKfvWN/Jwq/FhJmVTMcMjfLMsMAno5r9IWAfvlpQ14+wGeOxe3y2Yno6kFyaxgD7yKTIgyXqVsRpC0Zb9ULXSadViXgFm4LjY5Db2y1T9ybw+oNJlabyHJM7Qc06KM5VvaheaZanr9FrlDkL1A5VMCYMZstZRL+dSUjttlfKK60/J2aG90ONKBEHXYe3+OC9LjdRyM6A4z9kgiUc2+kBPcSl4/04TfvuPdqy7TM+KhXqw6QAZN8N4x2TTQIBpTLg5KxQTLyY1ePEj+LNeJ0zKmCSPAHKP54WBw/+WHVFtaBwVJUBaUIRSslvxd8vX0OjwCckDIo+GZGyuKljuGOQ4DipeBIpLv8V6feNpVZeTumM=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(71200400001)(86362001)(66476007)(66946007)(83380400001)(52536014)(38070700005)(4326008)(5660300002)(55016003)(38100700002)(122000001)(508600001)(8936002)(9686003)(33656002)(316002)(7696005)(2906002)(64756008)(6916009)(54906003)(26005)(76116006)(186003)(6506007)(53546011)(8676002)(66446008)(66556008)(966005);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6363
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT060.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	75385843-e2ad-4f73-eeba-08d9da63c43f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QLautPI4XEWfxA2v+xKXVXbL1rF0Cj8rmnNh4Diuo0A57nDVgvvTDYFNEp4CKQwD5Br2gA5xNA2mwFb1pfmWotl1KhCznZ71jDaPs19WidegG9+tovE8hhCu79ecrw3jmHHzoW3kWy24qqh0T4rxjTAkOdUt3jtsePPHHG1lyHgiYX8r6EdspV9sxUn0j8Unf9js146AKKAiKarWCdKqgge/ClhcvYPTrdZDSC7jtTojG9sMtnSszPoHmL5C+UPSHfJz3QQigGbRaVqOojw9XNrI9+GW3YZqZ3QstQazLL0XUIRSy2KgojlGZPgO+zMq+CB+K9Fsbyj5uQft3GQB3MoLbfKUE8781juhzqmAk5itemcxIO1tbFig+VlrZwBYr58GmZzdn7eWl3cizC+tKCNjrhgVoncX/yx2DdzeZMmzN1iQdlAorPlERavv1BpW+1Hgth7Q1tdtay2cagOCiYEa6+wRxtxYNqd7hq7igN4lXxcLHA+jc7r2pG4UACzv5jKd3s6YCsr44lCH8Gup8VkaWDOrG8Qf4ieR7BJpSa8oLp07wmVdCoFSBFI5WkJRN/mlP7JgAyMNLODb4UCyZrLKNd5rfKn0HgHE1ZOAdG2fCya0TQaL1FVpxkRZq7Y1PCstjIEvDi6U1u5T1lAgDMLlgB8+svoZvu88CC23ZJlRRWFHdywlDhDr2/P0g8sI+EoCsMd5P4mTAVe7WXxoWKqzWpkWqSI1YOErNIRi2enNuqJa2ZzOA3dmJFmkRIokmk6qNSYKFFd86viI82v276OrxhTEQ6sp4JlYtUQ6HvOJrymUbHX5ynjI5G2lFwht3nA0+67ULA6ixa0kIEWxTmbnpR/ir3NgInU5YFUz1XY=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(40470700002)(46966006)(4326008)(47076005)(54906003)(508600001)(356005)(36860700001)(83380400001)(70206006)(52536014)(86362001)(6506007)(186003)(2906002)(55016003)(8676002)(8936002)(53546011)(81166007)(5660300002)(26005)(82310400004)(70586007)(7696005)(6862004)(966005)(316002)(9686003)(40460700001)(336012)(33656002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 09:20:42.9364
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a733bc4f-fc65-4623-4b61-08d9da63cd3c
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT060.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3682

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMuW5tDHmnIgxOOaXpSAxNjoxNg0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiBCZXJ0cmFuZCBNYXJxdWlz
IDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyB4ZW4tDQo+IGRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnOyBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqdWxpZW5AeGVuLm9yZw0KPiBTdWJqZWN0
OiBSZTogW1BBVENIIDA0LzM3XSB4ZW46IGludHJvZHVjZSBhbiBhcmNoIGhlbHBlciBmb3IgZGVm
YXVsdCBkbWENCj4gem9uZSBzdGF0dXMNCj4gDQo+IE9uIDE4LjAxLjIwMjIgMDg6NTEsIFdlaSBD
aGVuIHdyb3RlOg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBK
YW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+ID4+IFNlbnQ6IDIwMjLlubQx5pyIMTjm
l6UgMDoxMQ0KPiA+PiBPbiAyMy4wOS4yMDIxIDE0OjAyLCBXZWkgQ2hlbiB3cm90ZToNCj4gPj4+
IEluIGN1cnJlbnQgY29kZSwgd2hlbiBYZW4gaXMgcnVubmluZyBpbiBhIG11bHRpcGxlIG5vZGVz
IE5VTUENCj4gPj4+IHN5c3RlbSwgaXQgd2lsbCBzZXQgZG1hX2JpdHNpemUgaW4gZW5kX2Jvb3Rf
YWxsb2NhdG9yIHRvIHJlc2VydmUNCj4gPj4+IHNvbWUgbG93IGFkZHJlc3MgbWVtb3J5IGZvciBE
TUEuDQo+ID4+Pg0KPiA+Pj4gVGhlcmUgYXJlIHNvbWUgeDg2IGltcGxpY2F0aW9ucyBpbiBjdXJy
ZW50IGltcGxlbWVudGF0aW9uLiBCZWN1YXNlDQo+ID4+PiBvbiB4ODYsIG1lbW9yeSBzdGFydHMg
ZnJvbSAwLiBPbiBhIG11bHRpcGxlIG5vZGVzIE5VTUEgc3lzdGVtLCBpZg0KPiA+Pj4gYSBzaW5n
bGUgbm9kZSBjb250YWlucyB0aGUgbWFqb3JpdHkgb3IgYWxsIG9mIHRoZSBETUEgbWVtb3J5LiB4
ODYNCj4gPj4+IHByZWZlciB0byBnaXZlIG91dCBtZW1vcnkgZnJvbSBub24tbG9jYWwgYWxsb2Nh
dGlvbnMgcmF0aGVyIHRoYW4NCj4gPj4+IGV4aGF1c3RpbmcgdGhlIERNQSBtZW1vcnkgcmFuZ2Vz
LiBIZW5jZSB4ODYgdXNlIGRtYV9iaXRzaXplIHRvIHNldA0KPiA+Pj4gYXNpZGUgc29tZSBsYXJn
ZWx5IGFyYml0cmFyeSBhbW91bnQgbWVtb3J5IGZvciBETUEgbWVtb3J5IHJhbmdlcy4NCj4gPj4+
IFRoZSBhbGxvY2F0aW9ucyBmcm9tIHRoZXNlIG1lbW9yeSByYW5nZXMgd291bGQgaGFwcGVuIG9u
bHkgYWZ0ZXINCj4gPj4+IGV4aGF1c3RpbmcgYWxsIG90aGVyIG5vZGVzJyBtZW1vcnkuDQo+ID4+
Pg0KPiA+Pj4gQnV0IHRoZSBpbXBsaWNhdGlvbnMgYXJlIG5vdCBzaGFyZWQgYWNyb3NzIGFsbCBh
cmNoaXRlY3R1cmVzLiBGb3INCj4gPj4+IGV4YW1wbGUsIEFybSBkb2Vzbid0IGhhdmUgdGhlc2Ug
aW1wbGljYXRpb25zLiBTbyBpbiB0aGlzIHBhdGNoLCB3ZQ0KPiA+Pj4gaW50cm9kdWNlIGFuIGFy
Y2hfaGF2ZV9kZWZhdWx0X2RtYXpvbmUgaGVscGVyIGZvciBhcmNoIHRvIGRldGVybWluZQ0KPiA+
Pj4gdGhhdCBpdCBuZWVkIHRvIHNldCBkbWFfYml0c2l6ZSBmb3IgcmVzZXJ2ZSBETUEgYWxsb2Nh
dGlvbnMgb3Igbm90Lg0KPiA+Pg0KPiA+PiBIb3cgd291bGQgQXJtIGd1YXJhbnRlZSBhdmFpbGFi
aWxpdHkgb2YgbWVtb3J5IGJlbG93IGEgY2VydGFpbg0KPiA+PiBib3VuZGFyeSBmb3IgbGltaXRl
ZC1jYXBhYmlsaXR5IGRldmljZXM/IE9yIGlzIHRoZXJlIG5vIG5lZWQNCj4gPj4gYmVjYXVzZSB0
aGVyZSdzIGFuIGFzc3VtcHRpb24gdGhhdCBJL08gZm9yIHN1Y2ggZGV2aWNlcyB3b3VsZA0KPiA+
PiBhbHdheXMgcGFzcyB0aHJvdWdoIGFuIElPTU1VLCBsaWZ0aW5nIGFkZHJlc3Mgc2l6ZSByZXN0
cmljdGlvbnM/DQo+ID4+IChJIGd1ZXNzIGluIGEgIVBWIGJ1aWxkIG9uIHg4NiB3ZSBjb3VsZCBh
bHNvIGdldCByaWQgb2Ygc3VjaCBhDQo+ID4+IHJlc2VydmF0aW9uLikNCj4gPg0KPiA+IE9uIEFy
bSwgd2Ugc3RpbGwgY2FuIGhhdmUgc29tZSBkZXZpY2VzIHdpdGggbGltaXRlZCBETUEgY2FwYWJp
bGl0eS4NCj4gPiBBbmQgd2UgYWxzbyBkb24ndCBmb3JjZSBhbGwgc3VjaCBkZXZpY2VzIHRvIHVz
ZSBJT01NVS4gVGhpcyBkZXZpY2VzDQo+ID4gd2lsbCBhZmZlY3QgdGhlIGRtYV9iaXRzaXplLiBM
aWtlIFJQaSBwbGF0Zm9ybSwgaXQgc2V0cyBpdHMgZG1hX2JpdHNpemUNCj4gPiB0byAzMC4gQnV0
IGluIG11bHRpcGxlIE5VTUEgbm9kZXMgc3lzdGVtLCBBcm0gZG9lc24ndCBoYXZlIGEgZGVmYXVs
dA0KPiA+IERNQSB6b25lLiBNdWx0aXBsZSBub2RlcyBpcyBub3QgYSBjb25zdHJhaW50IG9uIGRt
YV9iaXRzaXplLiBBbmQgc29tZQ0KPiA+IHByZXZpb3VzIGRpc2N1c3Npb25zIGFyZSBwbGFjZWQg
aGVyZSBbMV0uDQo+IA0KPiBJJ20gYWZyYWlkIHRoYXQgZG9lc24ndCBnaXZlIG1lIG1vcmUgY2x1
ZXMuIEZvciBleGFtcGxlLCBpbiB0aGUgbWFpbA0KPiBiZWluZyByZXBsaWVkIHRvIHRoZXJlIEkg
ZmluZCAiVGhhdCBtZWFucywgb25seSBmaXJzdCA0R0IgbWVtb3J5IGNhbg0KPiBiZSB1c2VkIGZv
ciBETUEuIiBZZXQgdGhhdCdzIG5vdCBhbiBpbXBsaWNhdGlvbiBmcm9tIHNldHRpbmcNCj4gZG1h
X2JpdHNpemUuIERNQSBpcyBmaW5lIHRvIG9jY3VyIHRvIGFueSBhZGRyZXNzLiBUaGUgc3BlY2lh
bCBhZGRyZXNzDQo+IHJhbmdlIGlzIGJlaW5nIGhlbGQgYmFjayBpbiBjYXNlIGluIHBhcnRpY3Vs
YXIgRG9tMCBpcyBpbiBuZWVkIG9mIHN1Y2gNCj4gYSByYW5nZSB0byBwZXJmb3JtIEkvTyB0byBf
c29tZV8gZGV2aWNlcy4NCg0KSSBhbSBzb3JyeSB0aGF0IG15IGxhc3QgcmVwbHkgaGFzbid0IGdp
dmVuIHlvdSBtb3JlIGNsdWVzLiBPbiBBcm0sIG9ubHkNCkRvbTAgY2FuIGhhdmUgRE1BIHdpdGhv
dXQgSU9NTVUuIFNvIHdoZW4gd2UgYWxsb2NhdGUgbWVtb3J5IGZvciBEb20wLA0Kd2UncmUgdHJ5
aW5nIHRvIGFsbG9jYXRlIG1lbW9yeSB1bmRlciA0R0Igb3IgaW4gdGhlIHJhbmdlIG9mIGRtYV9i
aXRzaXplDQppbmRpY2F0ZWQuIEkgdGhpbmsgdGhlc2Ugb3BlcmF0aW9ucyBtZWV0IHlvdXIgYWJv
dmUgRG9tMCBzcGVjaWFsIGFkZHJlc3MNCnJhbmdlIGRlc2NyaXB0aW9uLiBBcyB3ZSBoYXZlIGFs
cmVhZHkgYWxsb2NhdGVkIG1lbW9yeSBmb3IgRE1BLCBzbyBJDQp0aGluayB3ZSBkb24ndCBuZWVk
IGEgRE1BIHpvbmUgaW4gcGFnZSBhbGxvY2F0aW9uLiBJIGFtIG5vdCBzdXJlIGlzIHRoYXQNCmFu
c3dlcnMgeW91ciBlYXJsaWVyIHF1ZXN0aW9uPw0KDQo+IA0KPiA+Pj4gLS0tIGEveGVuL2FyY2gv
eDg2L251bWEuYw0KPiA+Pj4gKysrIGIveGVuL2FyY2gveDg2L251bWEuYw0KPiA+Pj4gQEAgLTM3
MSw2ICszNzEsMTEgQEAgdW5zaWduZWQgaW50IF9faW5pdCBhcmNoX2dldF9kbWFfYml0c2l6ZSh2
b2lkKQ0KPiA+Pj4gICAgICAgICAgICAgICAgICAgKyBQQUdFX1NISUZULCAzMik7DQo+ID4+PiAg
fQ0KPiA+Pj4NCj4gPj4+ICt1bnNpZ25lZCBpbnQgYXJjaF9oYXZlX2RlZmF1bHRfZG1hem9uZSh2
b2lkKQ0KPiA+Pj4gK3sNCj4gPj4+ICsgICAgcmV0dXJuICggbnVtX29ubGluZV9ub2RlcygpID4g
MSApID8gMSA6IDA7DQo+ID4+PiArfQ0KPiA+Pg0KPiA+PiBBY2NvcmRpbmcgdG8gdGhlIGV4cHJl
c3Npb24gYW5kIC4uLg0KPiA+Pg0KPiA+Pj4gLS0tIGEveGVuL2NvbW1vbi9wYWdlX2FsbG9jLmMN
Cj4gPj4+ICsrKyBiL3hlbi9jb21tb24vcGFnZV9hbGxvYy5jDQo+ID4+PiBAQCAtMTg4OSw3ICsx
ODg5LDcgQEAgdm9pZCBfX2luaXQgZW5kX2Jvb3RfYWxsb2NhdG9yKHZvaWQpDQo+ID4+PiAgICAg
IH0NCj4gPj4+ICAgICAgbnJfYm9vdG1lbV9yZWdpb25zID0gMDsNCj4gPj4+DQo+ID4+PiAtICAg
IGlmICggIWRtYV9iaXRzaXplICYmIChudW1fb25saW5lX25vZGVzKCkgPiAxKSApDQo+ID4+PiAr
ICAgIGlmICggIWRtYV9iaXRzaXplICYmIGFyY2hfaGF2ZV9kZWZhdWx0X2RtYXpvbmUoKSApDQo+
ID4+PiAgICAgICAgICBkbWFfYml0c2l6ZSA9IGFyY2hfZ2V0X2RtYV9iaXRzaXplKCk7DQo+ID4+
DQo+ID4+IC4uLiB0aGUgdXNlIHNpdGUsIHlvdSBtZWFuIHRoZSBmdW5jdGlvbiB0byByZXR1cm4g
Ym9vbGVhbi4gUGxlYXNlDQo+ID4+IGluZGljYXRlIHNvIGJ5IG1ha2luZyBpdCBoYXZlIGEgcmV0
dXJuIHR5cGUgb2YgImJvb2wiLiBJbmRlcGVuZGVudA0KPiA+PiBvZiB0aGF0IHlvdSBkb24ndCBu
ZWVkIGEgY29uZGl0aW9uYWwgZXhwcmVzc2lvbiBhYm92ZSwgbm9yDQo+ID4+IChtYWxmb3JtZWQp
IHVzZSBvZiBwYXJlbnRoZXNlcy4gSSBmdXJ0aGVyIHdvbmRlciB3aGV0aGVyIC4uLg0KPiA+Pg0K
PiA+DQo+ID4gSSB3aWxsIGZpeCB0aGVtIGluIG5leHQgdmVyc2lvbi4gQnV0IEkgYW0gbm90IHZl
cnkgY2xlYXIgYWJvdXQNCj4gPiB0aGlzIGNvbW1lbnQgIm9mIHRoYXQgeW91IGRvbid0IG5lZWQg
YSBjb25kaXRpb25hbCBleHByZXNzaW9uIGFib3ZlIiwNCj4gPiBUaGUgImFib3ZlIiBpbmRpY2F0
ZXMgdGhpcyBsaW5lOg0KPiA+ICJyZXR1cm4gKCBudW1fb25saW5lX25vZGVzKCkgPiAxICkgPyAx
IDogMDsiPw0KPiANCj4gWWVzLiBFdmVuIHdpdGhvdXQgdGhlIHVzZSBvZiBib29sIHN1Y2ggYW4g
ZXhwcmVzc2lvbiBpcyBhIG1vcmUNCj4gY29tcGxpY2F0ZWQgZm9ybSBvZg0KPiANCj4gICAgIHJl
dHVybiBudW1fb25saW5lX25vZGVzKCkgPiAxOw0KPiANCj4gd2hlcmUgd2UnZCBwcmVmZXIgdG8g
dXNlIHRoZSBzaW1wbGVyIHZhcmlhbnQgZm9yIGJlaW5nIGVhc2llciB0bw0KPiByZWFkIC8gZm9s
bG93Lg0KPiANCg0KVGhhbmtzIGZvciBjbGFyaWZpY2F0aW9uLCBJIHdpbGwgZml4IGl0LiANCg0K
PiBKYW4NCj4gDQo+ID4gWzFdIGh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvYXJjaGl2ZXMv
aHRtbC94ZW4tZGV2ZWwvMjAyMS0NCj4gMDgvbXNnMDA3NzIuaHRtbA0KPiA+DQo+ID4NCg0K


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 09:56:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 09:56:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258417.444982 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9lDZ-00006p-5L; Tue, 18 Jan 2022 09:55:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258417.444982; Tue, 18 Jan 2022 09:55:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9lDZ-00006i-1q; Tue, 18 Jan 2022 09:55:57 +0000
Received: by outflank-mailman (input) for mailman id 258417;
 Tue, 18 Jan 2022 09:55:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4BW1=SC=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1n9lDX-00006c-8V
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 09:55:55 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d12cbfd8-7844-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 10:55:53 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d12cbfd8-7844-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642499752;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:content-transfer-encoding:in-reply-to;
  bh=ZuOli/wuQtowMR4L5j91WuiavUS/ZEtkZ+CwtGm8Rvs=;
  b=I16yQwxSl0akMTeJSCFqjF5RtuMcNZmrhVkFMnH9J5pzPqgdvMwYK1Qg
   0X2CHRFTcNs/W6nQwc6hy4faCo1ExqUBoNkMY6U3P/V5VZLvuRNzIHzsP
   bNaQhwlybFbzQHdo1/zhLTYoz+SEGFP8+tDXh1ydAqmnQs+w8QBv3lq+9
   E=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: Eno0jErlkLeZJJsbRB7lqKy3FbDrGmDiQQ7Og7L/612FLm1Jz4PcT/9gL5jBNXjtDIyqXDM4WC
 gq5KqCw31SlLzKKzkvpJ6n1ROt00CZrkWCt7WazD+PT1ON0IX3HyXKW2NYigUrK7RL/vsS8Gc6
 2mMnomiujcQx1FMlc5iGWOSZ5GXYpMyuKgkS0d+9SLAnS30DP9YTelGAPR+EGVdXFBUREZJiG0
 M3a/RjAo1jqoprD2Q+KMzuBAXcoU9gQyRPVS7KBSV3/gKHo+og+J5OkfckPnjV/4TjeuopHfQa
 aJMqQ+bD0uRUsz0ckRcOdl7F
X-SBRS: 5.2
X-MesageID: 62206003
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:TkaU56szISD6q9Uom0aR5ZptcOfnVLBZMUV32f8akzHdYApBsoF/q
 tZmKT/XbvaJZWTyL9B3OYTk9xkAvcXdx4JrT1E9/Cw1RSlE+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZQP0VOZigHtIQMsadUsxKbVIiGHdJZS5LwbZj2NYx2IjhWmthh
 PupyyHhEA79s9JLGjp8B5Kr8HuDa9yr5Vv0FnRnDRx6lAe2e0s9VfrzFonoR5fMeaFGH/bSe
 gr25OrRElU1XfsaIojNfr7TKiXmS1NJVOSEoiI+t6OK2nCuqsGuu0qS2TV1hUp/0l20c95NJ
 Npll82ARQIYYJL3xsctczRzQmZDDY9f9+qSSZS/mZT7I0zudnLtx7NlDV0sPJ1e8eFyaY1M3
 aVGcnZXNEnF3r/ohuLgIgVvrp1LwM3DNYUDunZm3HfBAOwvW5zrSKTW/95Imjw3g6iiGN6AP
 ZBBN2I3N3wsZTUTCnIPUNEfttv1j3SifgZ9tEuf+LAetj27IAtZj+G2bYu9lsaxbcdahEGDv
 Urd4n/0RBodMbS3yzCI73atje/nhj7gVcQZE7jQ3u5nhhify3IeDDUSVECnur+ph0imQdVdJ
 kcIvC00osAa60iDXtT7GRqirxa5UgU0AoQKVbdgsUfUl/SSs13x6nU4oiBpSo0WuMoHGwMRi
 Hy5v/7CVHtSgJ+MRifInluLlg+aNS8QJG4EQCYLSwoZ/tXuyL0OYgLzosVLS/Ds0ICscd3k6
 3XT9XVl2e1P5SIe//zjpQivvt66mnTeoufZDC3zV3nt0A52bZXNi2eAuQmCtqYowGp0ozC8U
 Jk4dyq2sbhm4XKlznXlrAAx8FeBvant3Nr02w8HInXZ327xk0NPhKgJiN2EGG9nM9wfZRjia
 1LJtAVa6fd7ZSX2N/MrP9PvV59wkMAM8OgJsNiOMbKihbArJWe6ENxGPxbMjwgBbmBx+U3AB
 XtrWZn1VitLYUiW5DG3W/0cwdcWKtMWngvuqWTA503/i9K2PSfNIZ9caQfmRr1nsMus/VuEm
 /4CZ5ri40gOC4XWP3iImbP/2HhXdxDX87is9ZwOHgNCSyI7cFwc5wj5muJ+K9c7zvUMxo8lP
 BiVAydl9bY2vlWfQS3iV5ypQOmHsU9XoS1pMCoyE0yv3nR/M4+j4L1GL8k8fKU99fwlxvlxF
 qFXd8KFC/VJazLG5zVCMsWt8N08LEym1VCUIi6oQDkjZJo8FQbHzcDpI1n0/y4UAyvp6cZn+
 ++81hnWSIYoThh5CJqEc+qmyl685CBPmO97U0bSDMNUfUHgrNpjJyDr16dlKMAQMxTTgDCd0
 l/OUxsfoODMpa4z8cXI2v/Y/9v4TbMmExMDTWfB7LuwOS3LxUaZwNdNALSSYDTQdGLo46H+N
 +9b+O7xba8cl1FQvosiT7sylfAi58HirqNxxxh/GCmZdEyiD75tLyXU3cRLsaERlLZVtRHvB
 xCK89hef76IJNnkABgaIw98NraP0vQdmz/z6/UpIRqluH8rreTfCUgCbQORjCF9LaduNNJ3y
 Ogsj8ca9gijh0d4Kd2BlC1VqzyBI3Fov3/LbX3G7FsHUjYW92w=
IronPort-HdrOrdr: A9a23:GzCYUKiqx3CAOrU1YfDe3au07XBQXt4ji2hC6mlwRA09TyX+rb
 HIoB17726RtN91YhodcL+7VJVoLUmyyXcX2+ks1NWZMjUO0VHAROsO0WKI+VzdMhy72ulB1b
 pxN4hSYeeAaGSSVPyKgzVQxexQouW6zA==
X-IronPort-AV: E=Sophos;i="5.88,297,1635220800"; 
   d="scan'208";a="62206003"
Date: Tue, 18 Jan 2022 09:55:45 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, Juergen Gross
	<jgross@suse.com>, Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>
Subject: Re: [PATCH v6 01/12] libs/guest: move cpu policy related prototypes
 to xenguest.h
Message-ID: <YeaOoQ1ELpJpL/cg@perard>
References: <20220117094827.16756-1-roger.pau@citrix.com>
 <20220117094827.16756-2-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20220117094827.16756-2-roger.pau@citrix.com>

On Mon, Jan 17, 2022 at 10:48:16AM +0100, Roger Pau Monne wrote:
> Do this before adding any more stuff to xg_cpuid_x86.c.
> 
> The placement in xenctrl.h is wrong, as they are implemented by the
> xenguest library. Note that xg_cpuid_x86.c needs to include
> xg_private.h, and in turn also fix xg_private.h to include
> xc_bitops.h. The bitops definition of BITS_PER_LONG needs to be
> changed to not be an expression, so that xxhash.h can use it in a
> preprocessor if directive.
> 
> As a result also modify xen-cpuid and the ocaml stubs to include
> xenguest.h.

Adding xenguest.h to ocaml stub has been done so it isn't part of this
patch anymore ;-).

> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Roger Pau Monn <roger.pau@citrix.com>
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 10:17:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 10:17:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258421.444993 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9lYR-0002Zy-Tw; Tue, 18 Jan 2022 10:17:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258421.444993; Tue, 18 Jan 2022 10:17:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9lYR-0002Zr-QN; Tue, 18 Jan 2022 10:17:31 +0000
Received: by outflank-mailman (input) for mailman id 258421;
 Tue, 18 Jan 2022 10:17:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pp88=SC=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n9lYP-0002Zl-S6
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 10:17:30 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d59f760a-7847-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 11:17:27 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d59f760a-7847-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642501048;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=QSO95uZ33vLAtqE8pOLwgTLAXlhRTAIR11A3x1gWmHI=;
  b=LEmxUUbi7mQY3P6A20QpJ41EY/JggcZ2ARChUMs+1ZSypGGhqEhhvMON
   sCiCovJMqVdLblp7PizAgqRkScu7YcTkghDh2ThsbsZAIIjK+oqag5Hkq
   AIpwQwdmSG5kZIGDwOS1wx+olo+zSBvtpc4jNfRUcRET5KeeDcW9t2kFO
   U=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: NM58ZcSebPjYaGAFHeHC8AHP7xiFqvCnXtdz0wsQBYaqNecmVoDPGUwDlDmD+/2s1bB/p3+cQa
 DwFnWtl+bXVp/SagXAG+qxJjdJH6uuYRlTzDse1pDsIDl3shy+3K8qCIsGQZP+W5GWZWHyBiT7
 ZKuYHsjzRG+r3FfqUmuFigGrfhuqXWVdjOtVWs0j/FEa6pi4g8k1dsun67nr5QXO4Es/qjRs59
 11OgJouQ7+qN0W/IqA6m7bUlP1hdGK7fY+WubVxq0+rd7aqeK8u2qr+DUUDfTIqufbnEeGq2hT
 C4YhMOS2ZPIBKUtjxotDwQa5
X-SBRS: 5.2
X-MesageID: 62200197
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:wyTAl6kXm2akHGSM/6Iy9jfo5gxgIURdPkR7XQ2eYbSJt1+Wr1Gzt
 xJJUGqFPPmKZ2qmcttwPdy08U1V7MPUz9UyS1c/pCFhESMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BClVlxJVF/fngqoDUUYYoAQgsA180IMsdoUg7wbRh29c42YHR7z6l4
 rseneWOYDdJ5BYsWo4kw/rrRMRH5amaVJsw5zTSVNgT1LPsvyB94KE3fMldG0DQUIhMdtNWc
 s6YpF2PEsE1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXee0v0XRYRQR4/ttmHozx+4
 PVmh6yzFzooBe7doehCSDVSVD9TAKITrdcrIVDn2SCS50jPcn+qyPRyFkAme4Yf/46bA0kXq
 6ZecmpUKEne2aTmm9pXScE17ignBNPsM44F/Glp0BnSDOo8QICFSKLPjTNd9Glq3JgWRKeBD
 yYfQT5ETUTnaDxzAXZJVI5im/j1hyP9KgQN/Tp5ooJoujOOnWSdyoPFL979atGMA8JPkS6wt
 m/Aumj0HBweHNie0iaetGKhgPfVmiH2U55UE6e3ntZoilCOwm0YCDUNSEC25/K+jyaDt8l3c
 hJOvHB09O5rqRLtHoKVswCETGCsnjUua9kOLuwBqxC0xvXPzwzeGEU5QWsUADA5j/MeSTsv3
 16PutrmAz1zrbGYIU6gGqeoQSCaYnZMczJbDcMQZU5cuoS4/tlv5v7aZo87SPbdszHjJd3nL
 9lmRgAajq5bs8ME3r7TEbvv02P1/cihouLYC2zqsoOZAuFROdbNi2+AswGzARN8wGCxFAbpU
 J8swZn20Qz2JcvR/BFhuc1UdF1T296LMSfHnXlkFIQ7+jKm9haLJN4Mum0ieBY3bp1eJFcFh
 XM/XysLu/e/21PwPMdKj3+ZUZx2ncAM6/y4PhwrUja+SscoL1LWlM2fTUWRw3rsgCARfVIXY
 v+mnTKXJS9CU8xPlWPuL89EiOND7n1gmQv7GM6qpzz6gev2TCPEEt8tbQrRBt3VGYvZ+m05B
 f4FaZvTo/ieOcWjChTqHXk7dgFVfSNlVMGv+6S6tIere2JbJY3oMNeIqZsJcI15haVF0ODO+
 3C2QEhDz1Tjw3bALG23hrpLMdsDhL5z8iA2OzICJ1Gt1yRxaIqj9v5HJZA2YaMm5KpoyvstF
 6sJfMCJA/JuTDXb+mtCMcmh/dI6LBn71xiTOyeFYSQke8IyTQL+5dK5LBDk8zMDD3TruJJm8
 aGgzA7SXbEKWx9mUJTNcPuqwl7o5Sodlet+UlHmON5WfEmwooFmJzao1q08It0WKAWFzTyfj
 l7EDRAdrOjLgok07NiW2vzU89b3S7NzRxMIEXPa4LC6MTjh0lCimYIQAvyVeT39VX/v/Pnwb
 +ti0PyhYuYMm0xHstQgHu8zn74+/dbmu5RT0h9gQCfQd12uB75tfiuG0M1IuvEfz7NVo1LrC
 EeG+90cMrSVIsL1VlUWIVN9POiE0PgVnBjU7Og0fxqmtHMmouLfXBUAJQSIhQxcMKBxYdEsz
 uoWscIL7xCy10gxOdGcgyEIr2mBIxTsiUn8Wk321GMztjcW9w==
IronPort-HdrOrdr: A9a23:Jav6XKCJ2pUyj0blHemi55DYdb4zR+YMi2TDtnocdfUxSKelfq
 +V88jzuSWbtN9yYhEdcKG7WZVoKEm0nfQZ3WB7B8bAYOCJghrMEKhSqafk3j38C2nf24dmpM
 NdmnFFeb/NMWQ=
X-IronPort-AV: E=Sophos;i="5.88,297,1635220800"; 
   d="scan'208";a="62200197"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZRiTqo7371f/gz0A5jNYLf9ZMBwKlel/gATTrr1JPR8U12FIZ0jbmRzk+mF5h3rCsPGUagJ437DlxHXFoKk46ZivBfBsIE3F+J1yHsh8AS2PmXhPJSkHAoWbKdcSGPnkVQgZb7LGKZgpVwLSyFTQ8JoQXima3bMyWJROvtJ6IGvBiQi0Ts4Ck5D85TCv4QYDNpjcM9bVFhEuCGADZK+H6HQVyxJ82JAEkwIfdORWjIGsUOZ71Sh1P0vh/9vQxwZjmdF+a2AKVuQ3TWJH7IbBhTmT3o8iNKIy6/JluRVlKl83lAewO32YncDf21aI8tH1X+t6q9ZDN76y06y0uM6Xhg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qw3wDa9wMxqYSpvwIpNB9KZvGJXGKQSUl51dLxhgRAM=;
 b=A4WmA40eQcHBdJqxyP1DhESSmWvUHdoyh6VmL5GU3p3Dudog8c9jUFMR5D6m5XPufTjndRb5Wh8wiApySfzdyRgG0VugRAqZ5GREPvqnhnqIPFKJDm/pXSJl7zEvxvQgM88z5X1kS3W8buNrwgxJVazakWv92A97IN12iR14vjRQq6uwM4KM9K1ZvZEBZbLIWoM8Plhnrk6/ymVxb/uZLVjxWyR7jPWgrBKOTzICh2l3h5Ad8dIm7BPRnF5EWrCvePccAHZQARHBfNVtEuNWzMLcNlGbMWNYJuzB8voqlODgrLJgl4UYs1FiCckKKMfagr8V8kZGzFBzmJjKV6N9jw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qw3wDa9wMxqYSpvwIpNB9KZvGJXGKQSUl51dLxhgRAM=;
 b=psajJ+BvoHCee7mVm7OST4M7HHT78lhidrZHMd2CR2EnivvmvsQOOAaIsK+FR/y1DZOVzoVNA+nWbCm93SHyS3nnM1BNX85xCzUH1z/ZVGi4rP2UkT6lZfIbSblU1fbXgbz6XamLD+lepyo8u2g4zT+TY9iQ50HFdPDwuYfiq6I=
Date: Tue, 18 Jan 2022 11:17:15 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "Andrew
 Cooper" <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH 2/5] x86/mwait-idle: add SnowRidge C-state table
Message-ID: <YeaTqyt3ZoFTx/Ee@Air-de-Roger>
References: <e16ff1ad-b1c5-f4e0-9336-716eceb93a9f@suse.com>
 <b21c106b-b852-b4f0-efa9-fb5c465bfdac@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <b21c106b-b852-b4f0-efa9-fb5c465bfdac@suse.com>
X-ClientProxiedBy: MR2P264CA0182.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501::21)
 To DS7PR03MB5608.namprd03.prod.outlook.com (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 766a341b-0490-4623-64c0-08d9da6bb740
X-MS-TrafficTypeDiagnostic: SN6PR03MB3952:EE_
X-Microsoft-Antispam-PRVS: <SN6PR03MB3952AA5A20D2BFDA28E541948F589@SN6PR03MB3952.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: vsLFzLF9K39Dy14bUQdJIxURgUy5aULThOp1hB++sd/hD4q6ZaN5bxswf4f6RdtkXlTIoJBGbZ66fOVjFScjri+FujdXkoCWjU+FNS2Gva+zP1J5CtlXq+CCcPEfNIqOs11V4X4J7Z+9wdNDLtLS3dT9nopO8/I5wvLZTtTs0wS/nZn1VwAYltnFWMtYV0eD8WyUXX50hlvIPY8zvcmUThIR/Zrj42Gy+EPZa+lpZxt/6v1qT5rWvUJheYIyRHTYUBh2d0JxPjOJ8T3IRVtnYF5KtKaA46jrSiseyIgjSkFNygfT5AzFEyRFJtefy6lYTB0Rks63HoKPWPHra/CpZjBO1R/iSkIGHo6og9v7OuINGvPZGpgtbxATYHyZ9+b43/FHctgWZbmFg0Z+49d41bekMISSK7ZFy9mOCzeVBwKOlTpzRF31g4Jq9aPi3YaQIkr8ZKQ+NAVuxxKWvVmo7vOsmHhM27R1csLolBPrY68ibLiwvqNZ7NjhnP22+AIV1450/zCHBg4FUviEIyXt0mK5ymk2ofq4Ww6FWgedUNnK/47Q/2AwaRSIgeWS76PSVWhz42XwQx/Jt6ffoXB7v6VapTAg9/Z/UJJIOL30y5s6NbQkR4lmWiYpS5QOX7ku7CvfgZgEqN20GVPUOxCl/A==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(82960400001)(33716001)(2906002)(86362001)(85182001)(186003)(54906003)(316002)(38100700002)(6486002)(8936002)(6916009)(26005)(6666004)(4326008)(8676002)(66556008)(5660300002)(66476007)(66946007)(6506007)(9686003)(508600001)(6512007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?S0gxTjJrZEJsZTE2TGZnb3dTYTBOVWQrNGMxL1NEd1JjSktjRmVjNGVTc3lv?=
 =?utf-8?B?NCtxWG9NTUhGSWRUT1pwbmJ3WHNpQS9rSmJyZFlITC8wcXRoS2wrNTllTzlj?=
 =?utf-8?B?V0pRNkVPTGNzUnZCaDQxclNpNHpuaFBjcHVqVEJJWURLMmRIU2FkRUQ2bEh3?=
 =?utf-8?B?ekJIeGpCNDQ4dzZYODJORHl3Uk4yanF2YWdwaTJvR3kvTVo3Ujd1L2E1eUxl?=
 =?utf-8?B?M2FFakMyV3Bha2RJa3krS253Nys4RG9YM2NhNHJtYjZpeGh3VnV0SEIwUWtk?=
 =?utf-8?B?bS9taW9HVUFUbTFIUFpyL2NkYTEweDRXZnF1aVU0T0ozYkM2SUYrejhheHIr?=
 =?utf-8?B?cXFVc0l6NzkvM3FQZ0RSRW1VTmVPRXp6YTJDZVk2Y1VXdk0wUmVvZWpYdTRX?=
 =?utf-8?B?WlErbzNnMTVoYVZVZmlkeTRJdnNEeUplWEZnOEh0ajMwMG5pMjFYZitHTXZH?=
 =?utf-8?B?R2duMTY5b3pIMmRLdWNsS3J4UWJBWGxQeGdiWkZBR2RVRGRnMEV5dWNUcmIz?=
 =?utf-8?B?QXJHVVk2YnI4bHBwTUFIQVFLQWRjYWdKS0QrdTRNZ0Jpb0p6eldyWm54dmxU?=
 =?utf-8?B?d3BDQVd6NkpGNElZb2gyanVrU3VXeThzNE5mamNlTkVGM2Jua0xCa2RIbk5P?=
 =?utf-8?B?ZjZRd2ZhRXdISlNMZjU0djN2YW1YOVZlazByNUMrVXlQOWpSTXNydUJDVlg4?=
 =?utf-8?B?OUVDVXFOd3N3NitLL1dZenQwbURZNmIvZ2VDSmllclhZcEVET0UzMWJucEZI?=
 =?utf-8?B?YkpxZHNCZGRJZDlCWnFxc0RUYldCMERwT1VqdGEvUVBCNGVLQ1NNQ2pGWkFI?=
 =?utf-8?B?VVExZmJsbWhIb2pjQ0g3eDVhRHpHOUtNcVp2MXhLbUZ2RUIzTWs5cENZeXJm?=
 =?utf-8?B?WHBhWUpsVU1xSnVpU0E0N0luUEE1VUFYNm10NERiNmpBVUVuYnV6QWllZU5G?=
 =?utf-8?B?OWlkNEpzd0VHMWdNSUgrakpYb1F1dHF2WjdST2hzc084TWw2cFJHM0N4REV5?=
 =?utf-8?B?ejVYWEFKRExqeWZoc1kxcURKdHp1KzZ4OWg2ZTNQTmpPLzdHRGdrMTAwWUZv?=
 =?utf-8?B?di9VMytIbWlTYjQrNENiQitFOWhpUFRwM2xwbXo4TWFDd3pTbWtuNDl2UlJR?=
 =?utf-8?B?Ym5ZMjJINkRPVzlXTXpja04xazRlZFFSK01taktXSmJQTzFJUUw4S0tGeGZ0?=
 =?utf-8?B?UEQvMmxtQXU1NGNjVUorbE9tT1FnUmZaMFFoT0hIb1FqWUdVUGNOdXlXRUM1?=
 =?utf-8?B?a1VWV2R0cWc1ZERrbE5ZRUlJaEozOWpUMERTRDZBdDgxaVgrQURlUjJXTmM4?=
 =?utf-8?B?K3ViViswWHAyblM0UElPdUlBL2VleU53UDlnbmhwOUlPOUsxN0o2cDhzNHdG?=
 =?utf-8?B?SDZkTlpadGdlZjdacEh2SmJvZThsSFI5T1YxZkpDd1JSczZZTnJSL0Y3aEwr?=
 =?utf-8?B?WkdjVXdsUEpxZzV6b29iYXFjNWVXTVlUOGFrKy9tN0JIYk8yRTFKcVVGbms2?=
 =?utf-8?B?NzZ6a3pmamM2REJoams1M3B3MExEbHVWRXMzN0E0M2hTNC9YajR6TGorc2ln?=
 =?utf-8?B?eGx4M2NVbU5NU1J1cDZNTEczREpoOUd5U3YrS3NzMGJ6R1FiRk41MytPOHI5?=
 =?utf-8?B?cW9qTlNaSURtcEsvVE1ha0VxOWZmaHJzMXNmSE1TbG5pSUdrQW9lMkJjVnF6?=
 =?utf-8?B?bzdsT3BKZjRqUHg0MnlpVXM1Z25sa3lIaWFhNkpLeXpSRFVOZ2l5YXUvclNP?=
 =?utf-8?B?YVF3MW96Wk52UjM2TXRxUnU0QTFGcklObnRhb0JOb1VsL3M0NmxBOFlQSXY4?=
 =?utf-8?B?N3NwYUdTQmNwRW43UzNSRERIWE5zVUFuMmVjeXFibGhjR3RraVRBdWRZZEFD?=
 =?utf-8?B?ekF5czI3Vi9UWHpEQUdmSXFYRnlIMTh5QmZ0VW5acVBLVlAyYi9NNUFRbG80?=
 =?utf-8?B?MlFZdUFjWG1nY21FWnp6Y1F5T3c2QmVHZzRCTnF2dGdJRzBRUk5ZOTBpVnJ4?=
 =?utf-8?B?YXBTSndjdXhXKzhpaVMwNG5DNlFQUDJ2WXNZaG41TUZySzhyUDVsOHRCR2lQ?=
 =?utf-8?B?MTVRamx0QW1ZUTliUERFT1pxczdQNzlvdGYzdDZtVXhaNWFEMkNWeTJPdkJC?=
 =?utf-8?B?eUV4c21hdUd1am9peWd1L1BEd0NTOUxQQVJXVlJmZUZqNnNKN2JSeVluLzE5?=
 =?utf-8?Q?WbrtOSJ/6gbgKOyF0KnNd2o=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 766a341b-0490-4623-64c0-08d9da6bb740
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 10:17:22.2786
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7rcgFm9lZ9C++vTUwnBtdAksH2kprMl9+emNo1YlkyVx3Yn5XBQKTMW6+yqi8kSFP1iW42FZaDKudOeyNcQutA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR03MB3952
X-OriginatorOrg: citrix.com

On Mon, Sep 06, 2021 at 03:00:46PM +0200, Jan Beulich wrote:
> From: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
> 
> Add C-state table for the SnowRidge SoC which is found on Intel Jacobsville
> platforms.
> 
> The following has been changed.
> 
>  1. C1E latency changed from 10us to 15us. It was measured using the
>     open source "wult" tool (the "nic" method, 15us is the 99.99th
>     percentile).
> 
>  2. C1E power break even changed from 20us to 25us, which may result
>     in less C1E residency in some workloads.
> 
>  3. C6 latency changed from 50us to 130us. Measured the same way as C1E.
> 
> The C6 C-state is supported only by some SnowRidge revisions, so add a C-state
> table commentary about this.
> 
> On SnowRidge, C6 support is enumerated via the usual mechanism: "mwait" leaf of
> the "cpuid" instruction. The 'intel_idle' driver does check this leaf, so even
> though C6 is present in the table, the driver will only use it if the CPU does
> support it.
> 
> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> [Linux commit: 9cf93f056f783f986c19f40d5304d1bcffa0fc0d]
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> --- a/xen/arch/x86/cpu/mwait-idle.c
> +++ b/xen/arch/x86/cpu/mwait-idle.c
> @@ -742,6 +742,32 @@ static const struct cpuidle_state dnv_cs
>  	{}
>  };
>  
> +/*
> + * Note, depending on HW and FW revision, SnowRidge SoC may or may not support
> + * C6, and this is indicated in the CPUID mwait leaf.
> + */
> +static const struct cpuidle_state snr_cstates[] = {
> +	{
> +		.name = "C1",

We usually use names like "C1-SNR" or similar in other cpuidle_state
structs. Is using plain "C1" intentional here?

> +		.flags = MWAIT2flg(0x00),
> +		.exit_latency = 2,
> +		.target_residency = 2,
> +	},
> +	{
> +		.name = "C1E",
> +		.flags = MWAIT2flg(0x01),
> +		.exit_latency = 15,
> +		.target_residency = 25,
> +	},
> +	{
> +		.name = "C6",
> +		.flags = MWAIT2flg(0x20) | CPUIDLE_FLAG_TLB_FLUSHED,
> +		.exit_latency = 130,
> +		.target_residency = 500,
> +	},
> +	{}
> +};
> +
>  static void mwait_idle(void)
>  {
>  	unsigned int cpu = smp_processor_id();
> @@ -954,6 +980,11 @@ static const struct idle_cpu idle_cpu_dn
>  	.disable_promotion_to_c1e = 1,
>  };
>  
> +static const struct idle_cpu idle_cpu_snr = {
> +	.state_table = snr_cstates,
> +	.disable_promotion_to_c1e = true,

This likely wants to be 1 because the type is bool_t.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 10:18:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 10:18:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258423.445004 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9lZd-0003Bc-CS; Tue, 18 Jan 2022 10:18:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258423.445004; Tue, 18 Jan 2022 10:18:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9lZd-0003BV-8x; Tue, 18 Jan 2022 10:18:45 +0000
Received: by outflank-mailman (input) for mailman id 258423;
 Tue, 18 Jan 2022 10:18:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pp88=SC=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n9lZb-0003BJ-SM
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 10:18:43 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 01c34a71-7848-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 11:18:42 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 01c34a71-7848-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642501122;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=jo0SUgBr3ozx4mBnkX9E58Tv5X7GQEfN3DoFeKmUyhE=;
  b=N/CqISSiMHsCOFubGqxb60sEnEcCbn5QM8FLxZXMb02GlrgS6HyHiBpE
   K63kJAAwtD7lCWiIuMy+6Xdeh5x0cl1I3Sh9AI0MTN9+rBd39olAJU8eM
   paBK+NEkmi5NalgQ0XjykJCbvyMYp7wF56vYgHeWo90u5ZsenDPj9d6mw
   U=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: 1lh6RYAEaDucqum+IADq/clDzhu7xtlkhJ05xAogjqk1Ot1inOxvzZuV1EPle4S13+POd/UYwD
 qUD0RS2Vhq0nW1C4GbbSZ/VvhAqGvqKjCh72+KB92UtwGPcQY7iWdR7tsaK9DhZr0q283mxtxf
 c2YBuW6QzqPxYgbAluhM6V85UqMqi0a2O7nksqXbze7XGpr/f5Magt1VETbIRQDl3K7by6wm+X
 8v0eFDsgrrRtxzXrZXxJl3L7N2iozNMGs25XkMi23qcmYhz+5mr2E+FCQg6T4Z3cGVcHtuAMNp
 1WWOZ4C1S8YkwXgSGI9bRwaK
X-SBRS: 5.2
X-MesageID: 62123856
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:6n1aVqsmLbwqZKVCIQBatyDY4OfnVLZZMUV32f8akzHdYApBsoF/q
 tZmKTiFaKzZZGbze9xybYjlp0pTuZSBzdI2TgJprC0yES0U+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZQP0VOZigHtIQMsadUsxKbVIiGHdJZS5LwbZj2NYx2IjhWmthh
 PupyyHhEA79s9JLGjp8B5Kr8HuDa9yr5Vv0FnRnDRx6lAe2e0s9VfrzFonoR5fMeaFGH/bSe
 gr25OrRElU1XfsaIojNfr7TKiXmS1NJVOSEoiI+t6OK2nCuqsGuu0qS2TV1hUp/0l20c95NJ
 Npl67upayFyBfPwvPU6WkUCSTxeA6ZM5+qSSZS/mZT7I0zudnLtx7NlDV0sPJ1e8eFyaY1M3
 aVGcnZXNEnF3r/ohuLgIgVvrp1LwM3DJoQQt2sm1TjEJf0nXYrCU+PB4towMDIY2JoXR62OO
 pRxhTxHdEXySQEUFk4sM8x9vMuXqFuiQhZmgQfAzUYwyzeKl1EguFT3C/LKfvSaSMMTmVyXz
 krW8mK8DhwEOdi3zTue7mnqluLJhTn8Wo8ZCPu/7PECqF+Zy3EXCRYWfUCmuvT/gUm7M++zM
 GRNpHBo9/JrshX2EJ+tBHVUvUJooDZCfMNyNbYBtj2p243dv1zDG0g6RTRePYlOWNANeRQm0
 VqAntXMDDNpsaGIRX/1yop4vQ9eKgBOczZcOHZsoR8tpoC6/dpt1k6nosNLSfbt1rXI9SfML
 ydmRcTUr5EaloY12qqy5jgraBr898GSHmbZCug6N19JDz+Vhqb4P+RECnCBtJ6sybp1qHHb4
 xDofODEvYgz4WmlznDlfQn0NOjBCwy5GDPdm0VzOJIq6i6g/XWuFagJvm0keBs1Y5hYImW0C
 KM2he+3zMUMVJdNRfUmC79d9uxwlfSwfTgbfq28giVyjmhZK1bcoXAGib+41GHxikk8+ZzTy
 r/AGftA+U0yUPw9pBLvHr91+eZymkgWmD2PLbimkUXP+efONRa9FOZeWHPTP79R0U9xiFiPm
 zqpH5HUm0w3vSyXSnS/zLP/2nhRfCdrXs6n+pUHHgNBSyI/cFwc5zbq6epJU6RunrhPl/eO+
 Xe4W0RCz0H4i2GBIgKPAk2Popu2Bf6TdFo3Yn4hO0iGwX8mbdr95asTbcJvL7Im6PZi3bh/S
 PxcI5eMBfFGSzLm/TUBbMai8Nw+JUrz3Q/ebTC4ZDUffoJ7Q1Cb8NHTYQaypjIFCTC6tJVir
 uT4hB/bW5cKWy9rEN3SNKC011q0sHVEwLByUkLEL8N9YkLp9IQ2eSX9guVue5MHKAnZxyvc3
 AGTWE9Kqe7Iqo4z0d/ImaHb8Nv5T7ogRhJXRjCJ46y3OC/W+nuY7bVBCOvYLyrAUG7U+bm5Y
 bkHxf/LL/Bazk1BtJBxEug3wPtmtcfvvbJT0i9tAG7PMwawErplL3SLgZtPu6lKyuMLsAe6Q
 BvSqNxTOLHPM8L5Cl8BYgEia73bh/0TnzDT69UzIVn7u3ArrObWDx0KMknekjFZIZt0LJghk
 LUot8Mh4gCijgYnb4SdhSdO+mXQdnENXs3LbH3B7FMHXubz9mx/XA==
IronPort-HdrOrdr: A9a23:MMWCia6QYH7eYlUzJAPXwVCBI+orL9Y04lQ7vn2ZFiY7TiXIra
 yTdaoguCMc6AxxZJkh8erwX5VoZUmsj6KdhrNhQItKPTOWw1dASbsN0WKM+UyDJ8STzJ856U
 4kSdkDNDSSNykKsS+Z2njALz9I+rDum8rJ9ITjJjVWPHlXgslbnnlE422gYytLrWd9dP4E/M
 323Ls5m9PsQwVdUu2LQl0+G8TTrdzCk5zrJTYAGh4c8QGLyRel8qTzHRS01goXF2on+8ZuzU
 H11yjCoomzufCyzRHRk0fV8pRtgdPkjv9OHtaFhMQ5IijlziyoeINicbufuy1dmpDk1H8a1P
 335zswNcV67H3cOkmzvBvWwgHllA0j7nfzoGXo90fLkIjcfnYXGsBBjYVWfl/y8Ew7puxx16
 pNwiawq4dXJQmoplWy2/H4EzVR0makq3srluAey1ZFV5EFVbNXpYsDuGtIDZY7Gj7g4oxPKp
 ggMCjl3ocXTbqmVQGbgoE2q+bcHEjbXy32DnTqg/blkgS/xxtCvg4lLM92pAZ2yHtycegB2w
 3+CNUaqFh5dL5jUUtMPpZwfSKJMB2+ffvtChPaHb21LtBOB5ryw6SHlYndotvaP6A18A==
X-IronPort-AV: E=Sophos;i="5.88,297,1635220800"; 
   d="scan'208";a="62123856"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YWE0mJTeDmqalH/txl6aoCQXOccMPMngOeVmsRi27b7GxRKNngoXq6wuY80eXmkYhqgPFigNJNPtsiXy7RE6JOBxdHca5Qtj1dAXh+Up5wnuOUSbC2lgJPr5W1HPEIGZBbV34EgZoKT7TCiI6xN3C95rInw4yeMdmkSimc8Sl9P5gRT+idcDHD+l9/XfokG8fwh6/XHRpbClSOIQqHg45cpXeuyI5Vg6YONWplfbno0cCPjsCt4/egPLVcJq0lx5E7hjQxi3YrPIgARwIOY4SScbCBXRKtfrg3ky7N25tHJlad83NyB0TVEQF3r5gOGvQZj+l7wrFo3z3i/ya/h+8w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2tgf4MXKWPkhZJdX9p26p28RqL6p0tLHs30ZpbPiOGE=;
 b=AaHBs9pvYUeb9ex6KTF4u0ldQqZiePdbe639Ij55IwQyyL3lirf/o+FOueIFvvWaSeJshGhedJOktUqgpXFJcd7wiZgZwySTZkq5mV/OcOKxSZ2/56qyblyYP5XKmmPTZNZtENCIaWoNI8My01kNi8zH0/1O/2voOJo/fPbR1a72SSh0KyU3PWQzm88JizV57M58NUaFU1UrhkeSPHOp647/FVTIIOZFrZyy8Jvrk+xqAC1Ja/WIq7+dxRPEdLxFKR242mE8LCmzWxz7i78vkh0gu99lJi9Ec/nakuygHWMmV0oFXWSy8HJYVBBOgVKd828e/rqRe8zwmwV+fqUU7g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2tgf4MXKWPkhZJdX9p26p28RqL6p0tLHs30ZpbPiOGE=;
 b=xbA3yvPnZ7UJmON13yg24Mzp+NvdEjguTLujPIxshT4xloNqMwWUud16UWRwjFbD66uPi5/22Vs+RPwW2110FXWnyPWy1pu9y7k/ZvYSdbT/Ojo2jtcZCwph3parOGYJZGkOp7pbtD9g6CiiuMFJUJRF/ROsgt7iX+BxCFlmWtA=
Date: Tue, 18 Jan 2022 11:18:32 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH 1/5] x86/mwait-idle: mention assumption that WBINVD is
 not needed
Message-ID: <YeaT+LkWbH8Yx5qm@Air-de-Roger>
References: <e16ff1ad-b1c5-f4e0-9336-716eceb93a9f@suse.com>
 <0ebb0de3-2500-a9a2-8128-64b9d4a27cb7@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <0ebb0de3-2500-a9a2-8128-64b9d4a27cb7@suse.com>
X-ClientProxiedBy: MR1P264CA0140.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:51::6) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5e271d97-492d-45c5-70a7-08d9da6be3c4
X-MS-TrafficTypeDiagnostic: CH0PR03MB6065:EE_
X-Microsoft-Antispam-PRVS: <CH0PR03MB6065F39B30479D38B6F801DA8F589@CH0PR03MB6065.namprd03.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: /K6jETxt+fY7co2BKq2wMlx2Z+oyM85CyAVF2pTFzk89IbQbWlcGRfG/9uE0fCmO9PlN0nk5/s8nDiRJkYSmQJIq3XbZSijopOkngQ8z3utSbTuSvojeEfjiigmLcjk1n62a38vFmxC5XqaQKqghSxmkXjqa4LGbX2BM3F8Ec9UduZc3kYfiq0P2aXrmB9N+/Byr8uK3I1xyFtjq+K/g6/6sfQFi85dJIfRJCTNGQwQJqi1FfRi2E7DCq8WC/Sz9xrpo4KJ6ANIxpMzZ03YNL5e4CRvGmqdxuYwOGYRRgblOuZiyG3sfukoBLBobQc3WNlACy46YEAr6F84U6Gusbd5amTOH9SzuBh8SVzgMksGuC2XpiIsYRNjvBd6lKgfNBbl+qsx/P6VJiGXsyC0RnnC9YYDyph9cG6gmiI9ly1Tq6rZoIpgAFxCZSKqKZAc5NGsoChRL09obkHTDmkpZJ1VI9TLj0vQKu4QbPV+5UFtA8bvUUoKjyaDDAK3BOIGvmwYeDHETygwqRjzFey8xMf78g/Ke1QS9Cs6IiUkjCN9BiD4Ulk4LRGDaLSDlbZwps9joNbBCRswcNu1PsRy1ZVQbJfsCTfOMjK2tDeM++dK/5jSArmmCA6EvokqKVO7+4HdY6wvYwvVAKftn8c0NPwthH1Gree1x4oHJvehJ44+aQsJP2wA660e1Ez3pYjWnSu5CCXcaNvx2hSMQ0OdoTg==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(6512007)(9686003)(6486002)(316002)(54906003)(508600001)(38100700002)(33716001)(83380400001)(4326008)(2906002)(26005)(66946007)(86362001)(8936002)(66476007)(66556008)(6916009)(6506007)(5660300002)(186003)(85182001)(6666004)(82960400001)(8676002)(67856001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?OVIvQW1OMkZCMDFMTGlEWlFINWEvOVY0c2dBb1pUQzFRQ2lDRWNCUy9MK3h1?=
 =?utf-8?B?dkFiSlVuLzJLZkl6K0ZRcFFWVWFKa0dwVHBQczcyekxjaFd4NkhyUEEzVmlr?=
 =?utf-8?B?ckdHV2h4TU1mRUNLR1lJYUU3aUFVVGx3WitUSzV2RTBodEQ1VWhGKzB1SkdX?=
 =?utf-8?B?Q05WaFJXcHlvZEpnTUZEMS9qNVd0RC8yUEhXemNKd1phQWRWeVVieURQM29W?=
 =?utf-8?B?RllOZTR1RllxSEtUOEJRdU5FenFYaGhrODMwRHhScHNLaFF3b1UxM3p4NUVW?=
 =?utf-8?B?d3dicS9sMnJ3S3NKN1pidXh3L3NPYzBTUGNzMXQvc3J6RGdDZ2JITWRXTENS?=
 =?utf-8?B?S2VMd0h2ek5WWDZUWXhvYTF0VWxucXEwMS9oQTBBT0I0ajZiQlBISnp1OVEy?=
 =?utf-8?B?ZklDQk9rN01laUxHeFpkU0d5VFhHU0dFNTlPV2VqR24vRk44RDkySHVROEsx?=
 =?utf-8?B?aGhKVy82a3NIQWhkMXJIY1NwZUJUV2IxQXJ4RUtmbWJJN0I2ZUYyRXpmSEc2?=
 =?utf-8?B?eW5JWnJ5czJGa0dtYy9IVzVxSnV4b01wdkVOWUFnb25KWDZsc21rNlpnN0N4?=
 =?utf-8?B?Ry9SeXA0T25USXBMdE4zcUNQUGE2RDVBTll6ckFqR3J6MGJoS2o4am5VTCtx?=
 =?utf-8?B?bEV6ZDM2MUZEZTdBMDJXTTNRaXBPWHJqZ2lnRi9neFBVV3d1WUlDNnVRMlNt?=
 =?utf-8?B?SSt5V2ZKV09Md1VWMW5SZzJJcmRBQzd0OHZ0QW9uNnRpdlAyM2huUysza1VD?=
 =?utf-8?B?VCs0UWM2UDk3b2RLSDZ5TDhoZXlIMHUvOUFUd09vdmcvSkFpTi9sVWw5ejNF?=
 =?utf-8?B?YmpXR2FnMVFNbzNMMENkeU5WOHdxemYxejZMNDlHZXlQandWaFRHQ0pKeEZT?=
 =?utf-8?B?MWFQazZ1WWZNcVBmUW9qdjEweWZiMVEzRm03K1BXU1kvUUlTbXVLdTBBeCsy?=
 =?utf-8?B?Ty9SVnpGRGcwb21WTzNTMHJlUEFhbUxNZVNjSjFTRTVXNTkzZjI3QzhaT1Fs?=
 =?utf-8?B?dUpEdVJyeXpwM3RWMUFrRXdDcVBpM3pzL0ordlBTVWl0SWppV3hmb09PQTFI?=
 =?utf-8?B?Q2RNVnAySzdKcUtNTWFValBRQmZoZEhoSkNWd0pEOHllbnZYd1JyR2szeXZx?=
 =?utf-8?B?OWVwSlFia1Mxd1BCK3VCczg3ajcxZ1IzZWF3SW0yWldEM1ZSVFByL2Fua2lK?=
 =?utf-8?B?UU4yTmtEVmp1YnRnQkdMdXFOUTBhazI5QndqQlBJNUd3dUg1YUVEemFDOWhl?=
 =?utf-8?B?RWt0clV5Y3JpTmxrYis3Z3VRd2ZkdkM5Mk5ZNlVRZmZRVTgrVmZ5VjNBUGJt?=
 =?utf-8?B?NVJhVzRuZ1NDazVpbWZ6VC9xd1pUczZUbmF0Rmkzc0tMRkRwR0Zxako0NlpL?=
 =?utf-8?B?aXhjTVFReHpOKzk5eTIreHJtSmY2aXVTNG5PN0JTSUpnZzJYVzl4VU1zL2sv?=
 =?utf-8?B?cFpIdXNlbFN3R2JpZzR6SDJGYk1TNWdDdzRjV3VtSlRMa2lVMjZLeW9NZ0ls?=
 =?utf-8?B?eVZ3bUttRUtMekFmNW5DM0NXUWdwN3g4YnBKemp0cFlvTnVxMmxzYmk3aEJK?=
 =?utf-8?B?WFQvWXlWYTNjc0FkQ1lKbXo2L0lWT21KNG1RVEo3QXlnWngwSEcvU284eU41?=
 =?utf-8?B?YXJxK0s2cngzQkVzck5QeUtkRnBvWVY4VkNiZ1ZuN1FqQmpEdG4zVnBwTUo3?=
 =?utf-8?B?K1NXTnd1b3NwNG04Y2NCeVQ4Z3JKM2dnVGVmZDA0WmQ2bUZ5T0hjNHA3Vk9t?=
 =?utf-8?B?d01KQU0wMWJMMi82VC8zbDNEQVBqYTNuMFZpQlpjYzgwWlI3WHpRdHRQbnFI?=
 =?utf-8?B?K3JwUEd4R0tJNngzcnVsR2dVc1ZjWXhhNkJvd0lsVzhEWFpxT1ZsYThRUzVE?=
 =?utf-8?B?MmhVMlpreDlsY3FnVGFrUTVmWEVzZFZEV3lNRDNnSm1EWTdYazV0eWpBYU5m?=
 =?utf-8?B?SmV2azRhd1FUdnZiTTRQa093NjVHYnJmaHhtZzZzMHoxSHJiTTRQckZkRCtB?=
 =?utf-8?B?cGZOK2VQZjJoTTQwVCs2My84R09oWGE1THBCNllORXJhK3NHdGRJSjREa3Rm?=
 =?utf-8?B?U1E1MUtwTVRFb1hla21KK09UcERnU2ZwRDZaSUVjVU1CQTVpSzdZSzlMc29x?=
 =?utf-8?B?aVdDTU1vZ3Nod25BVldzRUtmQ1pyelh3d0dpNHFyZHEzMnZRaXpuYTVxQnBS?=
 =?utf-8?Q?Z17oEzq9Vx8rFAQILuEfB+I=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 5e271d97-492d-45c5-70a7-08d9da6be3c4
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 10:18:36.9168
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: b8SP0BYEEITVSINR8CXc1FCATFIhsnOfQDYOgkuNTuQjtaJ0Y/WVhIIi9cWPhBfcrg52syKe2aYqtf/ubD83hA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR03MB6065
X-OriginatorOrg: citrix.com

On Mon, Sep 06, 2021 at 02:59:46PM +0200, Jan Beulich wrote:
> From: Alexander Monakov <amonakov@ispras.ru>
> 
> Intel SDM does not explicitly say that entering a C-state via MWAIT will
> implicitly flush CPU caches as appropriate for that C-state. However,
> documentation for individual Intel CPU generations does mention this
> behavior.
> 
> Since intel_idle binds to any Intel CPU with MWAIT, list this assumption
> of MWAIT behavior.
> 
> In passing, reword opening comment to make it clear that the driver can
> load on any old and future Intel CPU with MWAIT.
> 
> Signed-off-by: Alexander Monakov <amonakov@ispras.ru>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> [Linux commit: 8bb2e2a887afdf8a39e68fa0dccf82a168aae655]
> 
> Dropped "reword opending comment" part - this doesn't apply to our code:
> First thing mwait_idle_probe() does is call x86_match_cpu(); we do not
> have a 2nd such call looking for just MWAIT (in order to the use _CST
> data directly, which we can't get our hands at _CST at this point yet).
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 10:20:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 10:20:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258426.445015 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9lbd-0004Xy-PE; Tue, 18 Jan 2022 10:20:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258426.445015; Tue, 18 Jan 2022 10:20: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 1n9lbd-0004Xr-LV; Tue, 18 Jan 2022 10:20:49 +0000
Received: by outflank-mailman (input) for mailman id 258426;
 Tue, 18 Jan 2022 10:20:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pp88=SC=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n9lbc-0004Xj-Pu
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 10:20:48 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4c5970a9-7848-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 11:20:47 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4c5970a9-7848-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642501247;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=I41wQbo2yaYCJs7RYQNJYml0utR3f9jkO1nmY3//ydc=;
  b=HpqRD8D3RMU3auMU8eSLQ9yfi3r8PCnl7LmH6gOztxEOO2GZOYr9TTZ+
   AN5le6fGMzSEewtDgry42WKCZckkv0mPuOM5Z4DVlIeDwA1THRXjADjd2
   GWsBO1jgk7TFYb75uW3gfVmmw3g3YxJMEfCC+Jnh16zau/pg5D9oOiCGV
   Y=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: CqRQnbFxtx1dNYUwGWL2DnTKnBjn3q5FJpjuAsgEKMoe4itmvpYMQ/odig7dN30ph7aV3rykJm
 qgN91lYe65L6OGVlq/UAoenHU0f/rhsksnOKMlW1pkMO/yOGUFe38AxDMybLb+alCEmue4eMx0
 P3aPVCJQQwCghhFR/CILAIsxrxQTPgOQ8DGUgxqf5g67J+4cp1fEPZ2Et9rOgHBoNuYHjGpm8Y
 3eWqWcDdLyOiI7HMLPCA15JeJ0n2Zs+mBQZgK3UV/tfb3fYmU/9VhYvbgRrGuhR2HHzaW6mIrI
 Qg5jK3QGhhSeJa99tJduowwE
X-SBRS: 5.2
X-MesageID: 64341516
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:AWG/z6g0OsMj/omuDaaNGWCqX161gRcKZh0ujC45NGQN5FlHY01je
 htvXTqOPvuKZmGkfIolPYTk8k9TucPWytQ3TFRuqCgxQXgb9cadCdqndUqhZCn6wu8v7a5EA
 2fyTvGacajYm1eF/k/F3oAMKRCQ7InQLlbGILes1htZGEk0GE/NtTo5w7Rj2tcx0YDga++wk
 YiaT/P3aQfNNwFcagr424rbwP+4lK2v0N+wlgVWicFj5DcypVFMZH4sDfjZw0/DaptVBoaHq
 9Prl9lVyI97EyAFUbtJmp6jGqEDryW70QKm0hK6UID66vROS7BbPg/W+5PwZG8O4whlkeydx
 /1pj6bzVD0gfZTTv74PEAtCGBF0Jq5vreqvzXiX6aR/zmXDenrohf5vEFs3LcsT/eMf7WNmr
 KJCbmpXN1ba2rzwkOnTpupE36zPKOHxO4wSoDd4xCzxBvc6W5HTBa7N4Le02R9u2psSRKuHO
 aL1bxJUK0jNaThPOGsUUsoho8CtqX2lLRph/Qf9Sa0fvDGIkV0ZPKLWGMXRUsyHQ4NShEnwj
 nLL+SH1Dw8XMPSbyCGZ6TS8i+nXhyT5VYkOUrqi+ZZCglee22gSAx0+TkagrL+yjUvWZj5EA
 xVKoGx09/F0rRH1CImmN/GlnJKaljomYZlNKeR50R6qkLiX8RySNmIfTRcUPbTKq/QKbTAt0
 1aImfbgCjpurKCZRBqhy1uEkd+hEXNLdDFfPEfoWSNAuoC++99r0nojW/46SPbt5uAZDw0c1
 NxjQMIWo7wIxfAG2Kyglbwsq2L9/8OZJuLZC+i+Y45E0u+bTNP9D2BLwQKChRqlEGp/ZgPe1
 JTjs5LPhN3i9bnXyESwrBwlRdlFHcqtPjzGmkJIFJI87Tmr8HPLVdkOvGsieBs4bJpfI2KBj
 KrvVeV5vsA70JyCN/4fXm5MI55ykfiI+SrNC5g4keaikrAuLVTarUmClGab3nz3kVhErE3ME
 czzTCpYNl5DUf4P5GPvH481iOZ3rghjmz+7bc2lnnyPjOrPDFbIGOxtGAbfMYgEAFas/V+9H
 yB3bZXakn2ykYTWP0HqzGLkBQtbcihgW8Gn8pw/myzqClMOJVzNwsT5mNsJU4dkg75UhqHP+
 HS8UVVf013xmTvMLgDiV5ypQOqHsU9XoS1pMCoyE0yv3nR/M4+j4L1GL8k8fKU99fwlxvlxF
 qFXd8KFC/VJazLG5zVCMsWt8N08LEym1VCUIi6oQDkjZJo8FQbHzcDpI1n0/y4UAyvp6cZn+
 ++81hnWSIYoThh5CJqEc+qmyl685CBPmO97U0bSDMNUfUHgrNpjJyDr16dlKMAQMxTTgDCd0
 l/OUxsfoODMpa4z8cXI2v/Y/9v4TbMmExMDTWfB7LuwOS3LxUaZwNdNALSSYDTQdGLo46H+N
 +9b+O7xba8cl1FQvosiT7sylfAi58HirqNxxxh/GCmZdEyiD75tLyXU3cRLsaERlLZVtRHvB
 xCK89hef76IJNnkABgaIw98NraP0vQdmz/z6/UpIRqluH8rreTfCUgCbQORjCF9LaduNNJ3y
 Ogsj8ca9gijh0d4Kd2BlC1VqzyBI3Fov3/LbX3G7FsHUjYW92w=
IronPort-HdrOrdr: A9a23:3PDULq9dTuvE7BwkFPVuk+FCdb1zdoMgy1knxilNoENuHPBwxv
 rAoB1E73PJYVYqOE3Jmbi7Sc+9qFfnhONICO4qTMuftWjdyRGVxeRZjLcKrAeQfhEWmtQtsZ
 uINpIOd+EYbmIK/foSgjPIa+rIqePvmMvD6Ja8vhVQpENRGtpdBm9Ce3em+yZNNXB77PQCZf
 2hDp0tnUvfRZ1bVLXwOlA1G8z44/HbnpPvZhALQzYh9Qm1lDutrJr3CQKR0BsyWy5Ghe5Kyx
 mIryXJooGY992rwB7V0GHeq7xQhdva09NGQOiBkNIcJDnAghuhIK5hR7qBljYop/zH0idmrP
 D85zMbe+hj4XLYeW+45TPrxgnbyT4rr0TvzFeJ6EGT6PDRdXYfMY5slIhZehzW5w4Lp9dnyp
 9G2Gqfqt5+EQ7AtD6V3amIazha0m6P5VYym+8aiHJSFaEEbqVKkIAZ9ERJVL8dASPB7pw9Gu
 UGNrCT2B9vSyLYU5nlhBgs/DT1NU5DWytuA3Jy9fB96gIm3EyQlCAjtYgidnRpzuNKd3AL3Z
 WCDk1SrsA9ciYhV9MLOA4we7rFNoXze2O4DIuzGyWuKEhVAQOHl3bIiI9FkN1CPqZ4iqcPpA
 ==
X-IronPort-AV: E=Sophos;i="5.88,297,1635220800"; 
   d="scan'208";a="64341516"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dyTnXEe6YELZ3JkqqflS55D5Te9JQEz4Hbc19rujHvJ5YxRAk/5LNQ5OMAqydJER+SgrrGEUIuWXdz90clKnSQV1NeSW5EsoMC+qh4Ain3ffAOQY9h4A/yHeL1FaOtKxYPB3weg5e1nAGHwRr/sCagzRkOhla5s9yucCt99nfj7K/xmkDmPH9mBMicUqpO5jsBe+ASFTtwIa0QOfGWrj9twuQJbLWveQ+btoL1TiTqRTF9WgKQT7/cs+L9W2bwrZcT7qPH6teK9UaKoPjrxoEc+eLu7TnJTEzgJpFqLXCzy1hEHsqApbbANHJBJMXDLPl4jur4VtVU9BMHKGTlEdNQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dJdWyIisY65i69klBX2Fmu4PK658Hnb/9w6ZHg7fPok=;
 b=J7dWfR12zX1SI6pjzIF7PZCFEg1yzif5H7XwRYXFKPB/Uw4RNf/Fp1B2HOYKFgGv6exsDC7Wjd/YS2nkxnyBRYIifTGCq87F7HO3c57/eXPIuIIMOxZ/qE7zuEyWsFscss7FZ3B1Tq1We0I0nisPd6GnbQiC3EeoIn0+TEkkopVDc2rFP3XgonHVmoLrqhbHFwOljAei0FdFqPga+V/03A+LyRMeDkvOMcG8jmU+MFgxEUDcYL4qzinI4bOO4iYliYIgQXBK496eQHod8y/z3bwwTKE5oiUsnOT9t8jnaXueRpxkK+PdtJs+9TTLu3Ek1Ogke7v0Q7wIewOWi5mB8w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dJdWyIisY65i69klBX2Fmu4PK658Hnb/9w6ZHg7fPok=;
 b=lK2ADEVjD3OljJYw3D632WkEaQzT//10aLjHiHq8sMDpUpaHl9KLm/2b0tXrSOAQM3lW1Ksnor7ZnM+msb8uQ9lPTBmEy1cXje/+WTAF1YpQDLv/gGpa7YhYZE8IkqiG/u6jUNYKMvRxAb5mzn0CBu16R6wjTPcc9DPiXhkuuxo=
Date: Tue, 18 Jan 2022 11:20:36 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "Andrew
 Cooper" <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH 3/5] x86/mwait-idle: update ICX C6 data
Message-ID: <YeaUdIHubGgtVpV2@Air-de-Roger>
References: <e16ff1ad-b1c5-f4e0-9336-716eceb93a9f@suse.com>
 <fbe74c84-c9f9-dc00-a614-151634747f33@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <fbe74c84-c9f9-dc00-a614-151634747f33@suse.com>
X-ClientProxiedBy: MR2P264CA0103.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:33::19) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f927c0e2-63d9-484d-9bb6-08d9da6c2e6c
X-MS-TrafficTypeDiagnostic: CH0PR03MB6065:EE_
X-Microsoft-Antispam-PRVS: <CH0PR03MB606510418D084D90DB1161648F589@CH0PR03MB6065.namprd03.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: JMPrlh/BzWG/44bYWAv6gVh71vCT6D3InHTB2kIGMEZ20zailhND2enucI3V4d+3Daj5WXIL8WEen4IGRbZru1GMedFjdsXpsaG9zo7Ogg2b/dkahLRvw4cwhIm0lm+CiJ96yjop/xDSw0pAyazapBb/5uYyMbsD6LEbfrGQH7f0Ww3SNl17W7oyNMzSbQeQDOdLZr4YyL5dGxzQTxXXcCeTrJfBautNHpMKWdLVVmyPH7z7sl3ATxJHoSKtNGMCrTqBmzluMRP8JLH2TGAyAapTF1arZodNSZfXFE+v/yNkLWrkm4Oogv7J+uynegQ4j8/VkCF7XEA2IL7GLVwvyiuH4MbUwL5jMWSnuj01lvr++q2bNZ5SeNU4GW28FJEBkoFgN69jK9VCqIa9Bu4JHF681jb5gpwCmN6LZEMaeTRR4Nk9g01DP1b00ujpXyRxr0LGJoLVpERwgp8ey+Lw269dyQaTdZYLgIdCx9ns6EDEBH51QE2w42hCxmgC2QuBkapV/AA7jLRpc/JwtjjEmfsQGfdqDBfOQrnEfZ8iAhbKGxOohfRx2Whrr6dSldG+G/1WLOZESJ/N3tuPyUwRAmgN2YocPHEs9X6ktjOlJ5cSirk5GtjXWItNS6T4f2HWIYfF/D3EVGhxX1BjnT6wWw==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(6512007)(9686003)(6486002)(316002)(54906003)(508600001)(38100700002)(33716001)(4326008)(2906002)(26005)(66946007)(86362001)(8936002)(66476007)(66556008)(6916009)(6506007)(5660300002)(186003)(85182001)(6666004)(82960400001)(8676002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Sm5ZT1AxYTNFRVZEV0FoaEI5aG00VnVaQTFhUjk2SnRNdU9nV3lsWlhmYTEz?=
 =?utf-8?B?T0lMaEQyZFJieStHQ0YzWjdIYVplZlBNVkZUdFFURzNoUFFYRVBQMlh2eHpI?=
 =?utf-8?B?VHZEUUtBOHZjS2tGZG56OVB0ck9PVlB1bHdWWE1UL21BVzBmZisxRzZKRFp2?=
 =?utf-8?B?ZW1UTjJtcGgxSkdxZlFmc3JIbEF1bk5xMDV4dXJnZTgyalpqdklMSW0wODVz?=
 =?utf-8?B?YmI2cVRneElEVXBCL3FzUUdVTGhMSU85SGxqOUpzTDdwZ1lId2pxbEV5NDN1?=
 =?utf-8?B?Tm5KSWNrMXppWS92TEo5clZKV0MvT0xTM09oemk0YkxvN1VJbjdGWU96OEVZ?=
 =?utf-8?B?cEtKbXZSZ3hveG91MExERzdhdkJaOUN1VVdFUStXd1FucHdOTXUzcnZPekl1?=
 =?utf-8?B?am9PUS9US1dDc2plT3cwRndleVlHb2FXNDUyeGdjRis2R0d6dDk1OEkzeURM?=
 =?utf-8?B?QUxNa25TeGErc1FFcmlSRGcrQ005aGl0V2tvbkRQenZVM0xZU09tNDlEZTc4?=
 =?utf-8?B?VmVjd2tNcjIzelZ1MXI5ZDdYdXJqY00zL0liTXU0bENtR2s0Q1NqWDI2OG52?=
 =?utf-8?B?RDIvNllMa2FHMlJMQ0gxTGRkZGhGQmZtb3VsMEZOR29hSE5jREZlTGFSUWlV?=
 =?utf-8?B?NWlZZWptOS9IM2Fsb1VSaVRiR1R6bytOSFVNdm95amFFbElHSzBaa25NbHJC?=
 =?utf-8?B?MklGU3d2N2NFZFpFY1l5cFJrUXlKakhnd0lxQUVjclJFS2J4VEpkYmNwQ1VG?=
 =?utf-8?B?OXJZYmwzQ1VISVh5KzA5blVPMnBvMlpRQW1ERCtMbzRhTGZmdUl3QmxPckhQ?=
 =?utf-8?B?dDRDdGtuNkhwMXh2Sk1ZWVpPV1F5Q0xSSjh0YkdNUjFzb0JYNnNEbnJ6R1RW?=
 =?utf-8?B?bmNRMVExdlZjb1hTTjNNd2ZQTk12UDdxcW9ReXlzYnNHbEprZU1hNTBJUlFk?=
 =?utf-8?B?d2lXb2t4M1lRQzRpQm14Z3ZsUkJxTFMzenpxL2dMYzhNc1dXODNWNVRZRGhx?=
 =?utf-8?B?QXJXcWxpZ0pwTGVleWkvOFJXalh3VUpnbHdQQ0p4eGZHcVFlUGxFTGthOWZ4?=
 =?utf-8?B?ZDBOL2pXUUxvbmI5dG1aZTFFWHF1R01RRDhySmRkTVlzenhGam13Tm9Vd0Ni?=
 =?utf-8?B?bThhN0NaUWdGQUdEVndWaVRxM3NFQzhkZ3RmbkYzSkRpZGtydG5UaTUwNWha?=
 =?utf-8?B?UHFaTUJKOGNxUHI1bGZwWmNtQVl4UlNOMC9kdHZYZks5MnNnR09xWVl4eTA1?=
 =?utf-8?B?R0xYMlVKMmJqTDh0Zm11YTFlNmdycGVNeGtQN1M3U2RlM2ovTVhGKzBmWEtj?=
 =?utf-8?B?L21HcXhCUVZBamZOOTlnTUdFM0V2Nk1uUlhGNlcvUkExdWpkaGpJZ200TGZ3?=
 =?utf-8?B?OTVZbGh6WnoybkdOa3o0LzVXQllVc3docVpaa2JmN3JJenVBZmRySEdJZndB?=
 =?utf-8?B?cGZBTENmNnBxMXhFd3lzaUlEREs4YTFDK0JvbEdwUVE1a0xzSDFtVlhzalpt?=
 =?utf-8?B?enp4UVp4bGRFRTgwanhkN3QxNkJKVDluSUNoZDdiUnJKQzMxR0dVOG9qSWk2?=
 =?utf-8?B?QVp0dk00cU1IM0o5Wjl0MCs5Yjc1cEJPeXM2VXBrejZWMFpqZjJRbnF3aFd1?=
 =?utf-8?B?TVNDbmNIS21QQ25YQW1wZGJ4dm1kNE9MQTFLeHFORzNWYU1LWXpXSzhzNGJP?=
 =?utf-8?B?MkgycC9lbmt5eXo2Y1h4eUFCbGIxd0IxT0plYjd5SE1GRG5DQkhzWUw3M2VU?=
 =?utf-8?B?c2FpckUxdUVwQTJGa3hZV2dQcTBXa011cHRHQS9IUUJnekdudllwdWlFZVZO?=
 =?utf-8?B?dmpMNmR2TnJxMkR4ekVIanlCYWdIU3VSbkJtYWJjMEFENjJlU1ZwM3p0ZzJH?=
 =?utf-8?B?S1VqemxwbHpvaWl0QU12OFYyK2VwMGxvK3JpYnU4WEZ4NWJ5aWthb2dlaldE?=
 =?utf-8?B?Mmd0MnpoaGg4Zk0wTXJCZzhNQ05zOFoxNVdqSGdtNGZqWXZsSlB2OTN0ck4y?=
 =?utf-8?B?VThtY0tJN0FUOXl3NDRGSUJObGZhcGxVbFRhdDZ0YzBsSlMrT1hNYS9PTGo2?=
 =?utf-8?B?RHFleDR3bjJ6dDE0WlhpbDhpVjhnQ1dYYmc4ZVZtT25qRi9pT0xXZStCQzlP?=
 =?utf-8?B?bmRXS3htQnJqSkRzd1hmVHM4dDRvV2pWOGI0YlJpWEZ6RitscURmR2RhSTha?=
 =?utf-8?Q?TP6MNXiQmyXGmnzNTt3Qe+c=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: f927c0e2-63d9-484d-9bb6-08d9da6c2e6c
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 10:20:42.2654
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: p87Z/6cZafs/muDoEhPS4UiEAJw27UA48eMIxdm9SLNHgf9L5Wk3SBUZiZhzvqLE3PEIvkj9ob17yDcpzpKJDw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR03MB6065
X-OriginatorOrg: citrix.com

On Mon, Sep 06, 2021 at 03:01:12PM +0200, Jan Beulich wrote:
> From: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
> 
> Change IceLake Xeon C6 latency from 128 us to 170 us. The latency
> was measured with the "wult" tool and corresponds to the 99.99th
> percentile when measuring with the "nic" method. Note, the 128 us
> figure correspond to the median latency, but in intel_idle we use
> the "worst case" latency figure instead.
> 
> C6 target residency was increased from 384 us to 600 us, which may
> result in less C6 residency in some workloads. This value was tested
> and compared to values 384, and 1000. Value 600 is a reasonable
> tradeoff between power and performance.
> 
> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
> Acked-by: Zhang Rui <rui.zhang@intel.com>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> [Linux commit: d484b8bfc6fa71a088e4ac85d9ce11aa0385867e]
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Roger Pau Monné <roger.pau@citrix.com>

AFAICT those values are all from measurements, and not in any manual
or specification?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 10:32:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 10:32:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258429.445026 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9lmN-00063M-Qe; Tue, 18 Jan 2022 10:31:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258429.445026; Tue, 18 Jan 2022 10: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 1n9lmN-00063F-NL; Tue, 18 Jan 2022 10:31:55 +0000
Received: by outflank-mailman (input) for mailman id 258429;
 Tue, 18 Jan 2022 10:31:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pp88=SC=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n9lmM-000639-9G
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 10:31:54 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d10df90b-7849-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 11:31:52 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d10df90b-7849-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642501912;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=GWqqN1sIHcAORxE6g2na17l0tNHcvpFgdP7GxxxROoY=;
  b=gmqgd6wz6ZBPZgSwEOsnGruK5lzdmVtYcxx5HxJENSrG5J09mRLU1F3G
   0IffTSqMdcmaMdWC9kTvTBIuBKxNjXnIJc09R+dMDRUiOiq5OJyrex+UE
   ySkMbdgAFjfZG4jn+KcgARwIvwRGej8MacTkak1qXmbvZmMuoH+lu/0zx
   Q=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: r1MxCONqFcHnxo4ge2TbCxQlpT6zWyGkbGSpO/ukOr+83051aD6NM1IIIfVISkJ8/k+ot2ltLw
 6ANQJbsJ2wFUgWvFipBONh3pSe6mjp4rZlw6y9weZ+037VZjjpy9+qf7nu9o7STj2xBd7pOL86
 5Vea3UzlS+sNBZ577eqgiv2PhkUvctisQVTXVyxJjFE3YJ8ZVHqHgLDZnLOT+zf3igTiQ6CQ3b
 t0tYi3YdeCyYl07RZesIiI4udVK6GpKAR/+X6XJyyqbtMy2U8NQrPo5CYuhuQCpDWeLIgVZfZy
 n+eDMBOw0685KvNqYUCwEuzv
X-SBRS: 5.2
X-MesageID: 62208202
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:KhMbe6rCwhdcRaBWo9ulqx29KAteBmL5YhIvgKrLsJaIsI4StFCzt
 garIBmBP/7cZGX0eNogPonn9U5T7JfUytA3HFQ6/ns1Fn8S+JuZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlZT4vE2xbuKU5NTsY0idfic5Dndx4f5fs7Rh2NQw2IHpW1rlV
 e7a+KUzBnf0g1aYDUpMg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJ8DO+iL
 9sv+Znilo/vE7XBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XnRfTAKtao2zhojx/9
 DlCnaCRUggGMoPDpO8+CyJ2KQV4JJJq26CSdBBTseTLp6HHW37lwvEoB0AqJ4wIvO1wBAmi9
 9RBdmpLNErawbvrnvTrEYGAhex6RCXvFJkYtXx6iynQEN4tQIzZQrWM7thdtNs1rp4UR66OP
 ZJDAdZpREjCXRhEHGclNJJgzMWhpVukVwxZh03A8MLb5ECMlVcsgdABKuH9ZdiiVchT2EGCq
 Qru72n/Rx0XKtGb4T6E6W63wP/CmzvhX4AfH6H+8eRl6HWRzGEODBwdVXOgvOK0zEW5Xrpix
 1c8o3R06/JorQryE4e7D0bQTGO4UgA0Z/tLHMI2xg6xwYmM2CijIm4dcRJid4lz3CMpfgAC2
 liMltLvIDVgtryJVH6QnoupQSOO1Ts9djFbO3JdJecRy5y6+dxo0EqTJjp2OPft1oWdJN3m/
 9ydQMHSbZ03hNVD6ai09Euvb9mE9smQFV5dCuk6swuYAuJFiGyNOtTABbvzt68owGOlor+p5
 idsdy+2trFmMH11vHbRKNjh5Znwjxp/DBXSgER0A74q/Cm39niocOh4uW8ifhs1bpdaJWSzP
 Sc/XD+9ArcJYxNGioctMuqM5zkCl/C8RbwJqNiJBjaxXnSBXFDep3w/DaJh92vsjFItgckC1
 WSzKq6R4YIhIf0/llKeHr5FuZdyn3xW7T6NGfjTkkr2uZLDNC/9YepUazOmM7FmhJ5oVS2Iq
 b6zwePQlUUGOAA/CwGKmbMuwacidilkVcuo+p0OJoZu4GNOQQkcNhMY+pt4E6RNlKVJjObYu
 Ha7X05T0l3kgnPbbw6NbxhehHnHAf6TdFo3Yn4hO0iGwX8mbdr95asTbcJvL7Im6PZi3bh/S
 PxcI5eMBfFGSzLm/TUBbMai8Nw+JUrz3Q/ebTC4ZDUffoJ7Q1Cb8NHTYQaypjIFCTC6tJVir
 uT4hB/bW5cKWy9rEN3SNKC011q0sHVEwLByUkLEL8N9YkLp9IQ2eSX9guVue5MHKAnZxyvc3
 AGTWE9Kqe7Iqo4z0d/ImaHb8Nv5T7ogRhJXRjCJ46y3OC/W+nuY7bVBCOvYLyrAUG7U+bm5Y
 bkHxf/LL/Bazk1BtJBxEug3wPtmtcfvvbJT0i9tAG7PMwawErplL3SLgZtPu6lKyuMLsAe6Q
 BvSqNxTOLHPM8L5Cl8BYgEia73bh/0TnzDT69UzIVn7u3ArrObWDx0KMknekjFZIZt0LJghk
 LUot8Mh4gCijgYnb4SdhSdO+mXQdnENXs3LbH3B7FMHXubz9mx/XA==
IronPort-HdrOrdr: A9a23:DWOqRaj3E8lZ6bQtq91wlS567XBQX0B13DAbv31ZSRFFG/FwyP
 rBoB1L73DJYWgqNE3I+erhBEGBKUmsk6KdxbNhQItKOzOWxFdATbsSl7cKpgeAJ8SQzJ856U
 4NSdkbNDS0NykEsS+Y2njJLz9D+qj+zEnAv463pB0BPGIaCZ2IrT0JcTpzencGNTWubqBJba
 Z0iPA3wAZJLh8sH7qG7zQ+LqL+juyOsKijTQ8NBhYh5gXLpTS06ITiGxzd+hsFSTtAzZor7G
 CAymXCl+memsD+7iWZ+37Y7pxQltek4txfBPaUgsxQDjn3kA6naKloRrXHljEop+OE7kosjb
 D30lodFvU2z0mUUnC+oBPr1QWl+DEy60X6wVvdunfnqdyRfkNyN+NxwaZiNjfJ4Uspu99xlI
 hR2XiCipZRBRTc2Azg+tnhTXhR5wuJiEtntdRWo21UUIMYZrMUh5cY5llpHJAJGz+/wJw7Ed
 NpENrX6J9tAB2nhkjizypSKeGXLzYO9k/seDlGhiXV6UkYoJlB9TpZ+CRF9U1wsK7USPF/lp
 L52+pT5fZzp/QtHNBA7dE6MLyK41z2MGHx2V2pUCHa/YE8SjrwQs3Mkf4IDN/DQu198HJ1ou
 WGbG9l
X-IronPort-AV: E=Sophos;i="5.88,297,1635220800"; 
   d="scan'208";a="62208202"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oXXhzDQ/t1kI4nyZYT4z4N4/cGykZSHZs+I0Yg126S+B5yZFEGTUVrTD37cxhOT7KjpTnV5qepA5yehPKTVnT8BkjJK6Uhgxz4K8lsqP7ndjTNTltMd7lpSSrgBcY8BQRHGutsggi2wuHlhmxrsL0ruGRlCcvuIrie4g9xtWLeWYhQnmXcwKO1sEXHnOBjVaw9+n3JRVEuavDVEvaKtjLIIPpVdduiQ++Pb5G9IU4QNIpvuDuL6Gj5qOgnlayG8b3TR3AGNFJ00jLfNwEkQC6nA9fXz4glzbiDpc5a28jm8BiTJ2ZRp77Ko+xXEIBvRz5pdST5Ov6kD1m6TxoOHhyQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XU+QjsQJ+kqVNabDdctrPGwhPgWnfwdES/6YbjcWp+M=;
 b=gBPVmTVq7ZxZv3Ft/5Zgf9/qjPKX9C9dLzAzDl8yF13eXYOA5QSlbT2uMzZzAOCM4PwvNrh0Ed9K8EQIPAVsNSefOoRJ384bD+gFPMKRE/swY763uv7+ioi9hRcBd84/d0TbLKnCwtkcIoX0zCYJeLV+MQ13nJg6qQOYew8uLVZaWykLvy2/7KIDaYbWNgyn15JRFP+IVhQjvKNA8kuvvYaYmnRVpAkqlBfN32ZL3FVim6LcNFfzneGG+8i40+I4rpxSh5JsfHYzVh/7vGIYRmyW3scQitMOqFjRy9izcbzMGkm3sVMOOPKt25kvUZykegTl4u92Iw5Tt2ZGVY1p7w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XU+QjsQJ+kqVNabDdctrPGwhPgWnfwdES/6YbjcWp+M=;
 b=oBAGiAZuMZnsPPxo9sMNWUT0WcdrOZHflAq9IhsriQ5O4ERyU2CybQr24KgZBfrcfgUYYmGhi/mlKJmGc6Nwo4FKjTCX7QLs9+0cEelJ6zmmRjrM3a3l2135grevNa2VlEevZXk7deoVIKN8YrJ1UmFyIlOb/LFQERX+/ea418g=
Date: Tue, 18 Jan 2022 11:31:02 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "Andrew
 Cooper" <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH 4/5] x86/mwait-idle: add Icelake-D support
Message-ID: <YeaW5qoXahwHTrV2@Air-de-Roger>
References: <e16ff1ad-b1c5-f4e0-9336-716eceb93a9f@suse.com>
 <f18d6203-7cde-40be-e645-f5460259c416@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <f18d6203-7cde-40be-e645-f5460259c416@suse.com>
X-ClientProxiedBy: MR2P264CA0094.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:32::34) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ce98448e-2978-4015-a375-08d9da6da3b3
X-MS-TrafficTypeDiagnostic: BYAPR03MB4406:EE_
X-Microsoft-Antispam-PRVS: <BYAPR03MB4406C946DA5482AB2E4B8DB48F589@BYAPR03MB4406.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:1122;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: XB6YCGUWT+9rTC7s4bK1isNI/Ep4MUKoHouYq/hKo+tBKtBIKOFOq3Phl5CmldFUIkducAYGu7yZMdbXu2J+RtD1P0UI9/CdpYgiUKSv9fsQ8QngLshzZ22F/O0DQmScaai0/vfkf0QH0z7LBF2opo6Bha3RG1U3DX5facCAOS7I4/RHzKonoQUhCSJ+Kf5M6J2bpERCeiKM5hCmFY2XmzMef4ZL44aGe3hrq6/VzfVidIQeqyxjVm0FgD91fdN60qqDDqLO3+VXpWQTf2/rhmoomJBuBfyb3urWCmVEU6CvCljfsLmtL8pnje4BGlEIOd3rLuVgHdKPCd+uixonZPEhz0qD1tJc6X/5SV9wamkrMbTxNJGDBpSQcnQcl2yvLaUbDnnqaG0++wUIQe0zIbCOs6IZByZTXyW4cWWvarZCfauEgHlY1np9y9+COC6MwcIiC5HH2KljF5M34kkGAqp9pIgkitcVt6vsKDLZJ9C83Ocg2CvDKKFLirnfTTr/hl82wtsIad6lb/zaTs1GV0TdGxBE3TsmqDt25zADSEJ1hf/QafHSFrOcARSzyGyBVk97OM9i3DwJD/hwXnqMYOQgpfsjHRS0D1raewdN79PcVEb7JUprf6TRp89bcMekfeJOU4nE2JHmFF8t+TBxhQ==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(33716001)(6666004)(5660300002)(38100700002)(508600001)(6916009)(66556008)(66476007)(86362001)(186003)(26005)(2906002)(82960400001)(85182001)(6512007)(9686003)(316002)(4744005)(4326008)(8676002)(8936002)(6506007)(66946007)(6486002)(54906003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?WWF1cVNVT1JVdlJ4SVZuYXB6WDRvU2NpOTJqK3EvNnY3WU1HUzBERGdaVXZE?=
 =?utf-8?B?M2dOOHhNRUZWMHV5dWpZa0xzT3c2YUxGekRBL3NHeUtOTExhdXZTUElmN0Q5?=
 =?utf-8?B?aFdKZU0vNE8yakdhK2Z5YXNIbEkxMTlMT2VvTi9ERkZlRkdoNVgrQitVZmg2?=
 =?utf-8?B?OHUyK1dHQjlheE0yemtoQlNyWHgwYjR0N2hwQk9jZXFaQ3A0ZDZPc01VUC9j?=
 =?utf-8?B?WGR4MEl5UnVyeHd0Mlhjb0hHdHI2akhEWUJXRlkxZjZiZHJvU0I1L0JSbWJo?=
 =?utf-8?B?Y2w4YlcrQjl6b0huYzZlVjR0RUEveVNzQmhIRmE5bXdNaU5BOWMrelp0Y25F?=
 =?utf-8?B?OVVOeU1lUmdOV2psU2lCZ0RSNEhVZEt1QW5uNHc3MWFLVnJPZFFjNzJ1VTdK?=
 =?utf-8?B?OFdLMnp4eDhXdVpHaW9kRXk1bTdHZFVabnNzOHhZWVR5RXdBdGZhcHZxcTNR?=
 =?utf-8?B?YnhwZXBzeWplSW55UWFiRkxHUlQ0RVBlcmo4TlA1RGtuTTdYQUMydGRxUm9i?=
 =?utf-8?B?UkdRci9XS2c2VStSZHRiWEJmOXFTZGtuV2Rncm9CM2xGNlhja05GWFh0bFBP?=
 =?utf-8?B?NW9WY2luUHlzZ0xoY0hBZ1I0SUxhL3p5SlByeHM1RUR5N3U5Qmc5N24wVU1W?=
 =?utf-8?B?YXh6UG9KTTVPekVjbVdlNndFV0QwUUd1YWtOT0FpL2FVUGExMDB0ejBGQ2dG?=
 =?utf-8?B?aHhYbFZJdjhKRDFqVlY5bmduOVIxMkg5VkhrUy9tK0RxeU5aVC9sM1pMT1Uz?=
 =?utf-8?B?ODVQTlg0c0FRZWtHSlc4WUJ1THJVR3dxSm5Ud1lUTlIwZzFqTGMzOU9mR0lN?=
 =?utf-8?B?Z1Zsc0tzUEVHTnlVc3ZHK0hJbTJ1VTUxZGFWSmFja1VQWGR6REFYUjR0SDBE?=
 =?utf-8?B?eXNhZzZhdlUrMVQ2MmplSzF3ZnBCYlVLYXE3YWpaQWJ4bzV3WFcxUmZpRGRz?=
 =?utf-8?B?OFlQRUFPMzhXVlloeThSSHVackRWQjY0WXFSaGE1N3UvYk9IOVo4ZnZBaTF2?=
 =?utf-8?B?VU5jSjh1RXNPNWM4S1kxREQ5Tk9sWDhYdzI4eXZBQWlaRGJRV0xZb3MzZGNz?=
 =?utf-8?B?RFh3VWJhVE0xUlF1RHF6ZDRLZTFuV1RBR2FPaXFUbHAwVG1mZGlRL3pVVHlo?=
 =?utf-8?B?Q1Fyalo3R1ozYVN4Wm4ySXFxMjkwTXA2RXZyRDZObm0yaU9qckZiMFBVNUxQ?=
 =?utf-8?B?TktadEN1eVdaOWVWNWxkcldaV0NNTHlxYzlrNGlTdERnOXc3ZFlvOVJ6d3hD?=
 =?utf-8?B?eEdmKzBxcUgzTjZiZ3lPeVRQQ1c1Q0NGcDlNVFNnL3M0RklNeTBtTkYwckpt?=
 =?utf-8?B?ZFBPWk5xWTNNb05BeVJMeTNwWmF6Qmt2UW83M01hVHJqTkdMQm5Yck5NNU9t?=
 =?utf-8?B?SHVpZ1BQdUtJR0JxRUQ0Q2xlL0RwbTJ3RTFUbHZHMkdlQXQ5bk1nSmdYT3Q5?=
 =?utf-8?B?UUFFQnNKNGlFdnptZFMreU4wUlRDUGxJTWF2NDBsYU1iRGRtTy92YWo1M3BG?=
 =?utf-8?B?OTFLSmppbkFhZnl3RXdyUS95dlhKd0NWdjF5dXdKcHJHTlRtVmhPemJaUktG?=
 =?utf-8?B?TnpqRFd1TFNUeDRVb3hvM1YvTEVJMnBMTDJDdnNXYmN5UC9lS3FFU3NaQlUv?=
 =?utf-8?B?UElxMTZPWm1YMTVRdmw1SU8xcmNrcmZpeTFDUzdheE9OZ25zTU1PVEJQRmtn?=
 =?utf-8?B?L21PeVdHTmlJbmNqVEFNSlFaK1E5NlZXSDEwSXF6eFZUSldqMjVqY1Q1UmNV?=
 =?utf-8?B?M2Ftd2lKS2w5ZlVHenNBZFpmM3p1Y0FpbGdRdGRaKy9IdmxkZ3BNTkIzWWxj?=
 =?utf-8?B?eHFabEZhRzI5VlpJeHI1OThzTzFnTzNOQ1Nod1o3clc3RHphVGdOK2I5WGpr?=
 =?utf-8?B?aEVlQ1VydjFFWG9DT05yS1p4VXVVbXFZQ0ZVSVF4SnQ5T2ViQmN1ZmNlMm9Q?=
 =?utf-8?B?WktaVSszZVc4UExaV0RtN0c4YXpoR2NOd2JHYTg2U1dBaVREejdNZG93Mmlm?=
 =?utf-8?B?MEFaNE9oOVlsUytVelBrempIYm9tS3B4NXVvT3hKeVhSVXR1NXJEZ0kvd3kr?=
 =?utf-8?B?N1FpZlFwVENoTTAyTmZtYW1Jb1lPb2hsbktVV1FwcUR6MGVoMS96N1NoUGVH?=
 =?utf-8?B?dVZ1T1BsamhOT3A5QzhpZStHY2JsNmJRbktSTUdBTy93aUVRQUhkakcrVmJV?=
 =?utf-8?Q?XuV1wvDKQk7ln3x8g6yG4r0=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: ce98448e-2978-4015-a375-08d9da6da3b3
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 10:31:08.3322
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: QcLD6Fyrj+u4SLyZqewgIDmjoXXDWC46uYEGLfwrrABsjT8z1N7uUB2J6OVwdv/hZWhVNbUttdyRb3Eu0TcW7g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB4406
X-OriginatorOrg: citrix.com

On Mon, Sep 06, 2021 at 03:01:46PM +0200, Jan Beulich wrote:
> This patch adds Icelake Xeon D support to the intel_idle driver.
> 
> Since Icelake D and Icelake SP C-state characteristics the same,
> we use Icelake SP C-states table for Icelake D as well.
> 
> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
> Acked-by: Chen Yu <yu.c.chen@intel.com>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> [Linux commit: 22141d5f411895bb1b0df2a6b05f702e11e63918]
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 10:34:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 10:34:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258433.445037 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9loQ-0006hU-Bp; Tue, 18 Jan 2022 10:34:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258433.445037; Tue, 18 Jan 2022 10:34:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9loQ-0006hN-81; Tue, 18 Jan 2022 10:34:02 +0000
Received: by outflank-mailman (input) for mailman id 258433;
 Tue, 18 Jan 2022 10:34:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4BW1=SC=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1n9loO-0006hF-Ma
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 10:34:00 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 24a47ce6-784a-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 11:33:59 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 24a47ce6-784a-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642502039;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=GSRT+ChDKqUOQlXWWTUMyxQ2zCQkmUxGyD6pgljReUM=;
  b=KBz8OTp75szZZLUVAqrGQdQbkxFurcQ69Hsv3T4ZLB6E8B8yUuyujY7J
   PcjtIrgjekKJJoqRrQF8wNcaD1teOxJRpT6YGafsHbOgRSfsKPpgCYILO
   Ln86ONHRs01CZ8KBqOeYa8nbfuCdUP3mZOACqPubxiOGfCSOpOgdWcW6r
   s=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: ravQVB5qqZzQnM2bqsDL55nxSRm9POqT47PKZxPhGcBolCR7LcBM8yOWCeDd0clF1+QaDXr30U
 tMhLz03WPnBGjuKhsYXtQwYkWU7cLFOc0IlfF9trx3kIVNKSDBxudQYBR2NGnAPgmzDBW+ZrTX
 pHEWEreoP8LGYF+VaY1VdWUIyBIiO7EQZkzh9GF9LTcUqUTHc8iZuU2usPeApT3X+2FB2rGpQb
 pFpp5lA0TyJ1TuKNR2Ej8dPXCY4VmAR0ke7vqmlz8LPBqy4O0kGx36Qhk0zM63HjLsQwHssAST
 n6jXZLSgbVWog4I1QGjq6I4t
X-SBRS: 5.2
X-MesageID: 62124524
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:Xz5aHKxDc98WpB6hLmJ6t+dSwyrEfRIJ4+MujC+fZmUNrF6WrkUAz
 WUbXG2Dbq3cZmukco9xYYjk8kxT6JDWmoQ3HQNq+CAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnvopW1TYhSEUOZugH9IQM8aZfHAhLeNYYH1500g7wrdp2tcAbeWRWGthh
 /uj+6UzB3f9s9JEGjp8B3Wr8U4HUFza4Vv0j3RmDRx5lAa2e0o9VfrzEZqZPXrgKrS4K8bhL
 wr1IBNVyUuCl/slIovNfr8W6STmSJaKVeSFoiI+t6RPHnGuD8H9u0o2HKN0VKtZt9mGt4107
 NNMlMOCcwMCYPadhtY+YSF7Hj4raMWq+JefSZS+mcmazkmAeHrw2fR+SkoxOOX0+M4uXzsIr
 6ZBbmlQMFbT3Ipaw5riIgVors0lMMnsOpJZonx6xCvVJf0nXYrCU+PB4towMDIY2JoXR6qDP
 ZZxhTxHXFPsfl5Ma3AtIrECxtuIrUvufCxztwfAzUYwyzeKl1EguFT3C/LNc8GObdVYmACfv
 G2u12jhGRQbKNy3wCKI6G6xnfTImT7nWYUUD/uz8fsCqEGaw2UIIAEVUVa9rui0jgi1XNc3A
 0YZ4DY0pK4+skmiVMDgXgaQqWSB+BUbXrJ4Geow4hCA0arQ7gOQAEALSzdAbJots8pebT430
 l6Emfv5CDopt6eaIVqN+7HRoT6sNCw9KW4ZeTRCXQYD+8Pkoow4klTIVNkLOLWuktT/FDX0w
 jaLhCsznbMeiYgMzarT1W7AhzWgt53YVDkf7w/cXn+mxg5hbYvjbIutgXDD9fdaJ4+dR1Ocl
 HIFh8ST4u0IAZyX0ieKRY0lHqyvofCMMzTegFtmN5gn6zmpvXWkeOh46TV/P1tgM9xCdyXgZ
 kTSoitO6JQVN3yvBYdoZ6qhBsJsyrLvffznXP3JattFYrBqaRSKuippYCa41mH2mUkomIk1O
 IuXfMihC3oXE+Jsyz/eb+wa17ksxCw322LIbZ/+xhWjl7GZYRa9Qr4fPFyDRusw9q+DrUPe9
 NM3H8iH1RRZFvH/ay//8IgPIFRMJn8+bbj6pMBaefSKChZ3E2EmTfnKyPUufJINt6dSkP3B8
 jeiW0tb4F3ljHbDJEOBbXULVV/0dc8h9zRhZ3VqZAv2nSh4CWqy0EsBX8YyWb8m1bNR9/pfE
 aJUZfejMMxsRyuSrlzxcqLBhIBlcR2qgyeHMCykfCUzcvZceuDZxjP3VlCxrXdTV0JboeN7+
 uT9jV2DHfLvUiw7VJ6OAM9D2W9dqpT0dAhae0LTauded0z3mGSBA3yg16RnSy3gxPiq+9d76
 +p0KUpAzQUui9VsmDUsuUxih932eweZNhALd1Q3FZ7saUHnEpOLmOesqtqgczHHT3/T866/f
 +hTxPyUGKRZwAwW79YtTeowl/9WCz7TS1lylFsM8JLjNQXDN1+dCiPegZknWlNlm9e1Rjdaq
 mrQo4IHaN1lyevuEUILJRpNUwhw/ap8p9Um1txseB+SzHYupNKvCBwOVzHR1nA1BOYrYesNn
 Ldw0OZLulfXokd7bb67YtV8qj7kwoooCft37/n3webD12IW9721SceNVX+tvsDeMoUk34tDC
 mb8uZcuTo90niLqG0ff31CXtQaErZhR6h1M0nEYIFGFxojMivMthUUD+jUrVAVFiB5A1rsra
 GRsMkR0I4SI/itp25cfDzz9RVkZCU3L4FH1xnsIiHbdExuiWFvSITBvIu2K5k0YrT5RJ2AJ4
 LGCxW/5ej/2Z8WtjDAqUEtopqW7H9x8/wHPgu69GMGBE8VoaDbpmPb2N2EJtwHmEYU6g0ie/
 btm++N5aKvaMy8MovJkV9nGhOpIEB3dfT5MW/Bs+q8NDFrwQjDq1GjcMV21d+NMO+fOrR2yB
 ftxK58dTB+5ziuP8GwWXPZeP79ukfc1z9MeYbe3d3Ueur6Sozc14pLd8i/y2D0iT9l0yJtvL
 4rQc3SJE3CKhGsSkGjI9ZEWNm29aNgCRQv9wOHqr7lZS8Nd6LlhIRMoz7+5n3SJKw82rRubs
 TTKa7LS0+E/m59nmJHhE/kbCgi5QT8puD9kLOxnXwxyUO7y
IronPort-HdrOrdr: A9a23:e9VMhaAy5eaPIJflHems55DYdb4zR+YMi2TC1yhKJyC9Vvbo8/
 xG/c5rsCMc5wx9ZJhNo7y90ey7MBThHP1OkOss1NWZPDUO0VHAROoJ0WKh+UyCJ8SXzJ866U
 4KSclD4bPLYmRHsQ==
X-IronPort-AV: E=Sophos;i="5.88,297,1635220800"; 
   d="scan'208";a="62124524"
Date: Tue, 18 Jan 2022 10:33:51 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Alexandru Isaila <aisaila@bitdefender.com>, Wei Liu <wl@xen.org>, "Jun
 Nakajima" <jun.nakajima@intel.com>, Roger Pau =?iso-8859-1?Q?Monn=E9?=
	<roger.pau@citrix.com>, Alistair Francis <alistair.francis@wdc.com>, "Daniel
 De Graaf" <dgdegra@tycho.nsa.gov>, Konrad Rzeszutek Wilk
	<konrad.wilk@oracle.com>, Kevin Tian <kevin.tian@intel.com>, Connor Davis
	<connojdavis@gmail.com>, Doug Goldstein <cardoe@cardoe.com>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Ross Lagerwall <ross.lagerwall@citrix.com>, "Bob
 Eshleman" <bobbyeshleman@gmail.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Tamas K Lengyel <tamas@tklengyel.com>, "Paul
 Durrant" <paul@xen.org>, "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Petre Pircalabu
	<ppircalabu@bitdefender.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>, George Dunlap <george.dunlap@citrix.com>,
	<xen-devel@lists.xenproject.org>
Subject: Re: [XEN PATCH v8 00/47] xen: Build system improvements, now with
 out-of-tree build!
Message-ID: <YeaXj5FkcHltEPKo@perard>
References: <20211125134006.1076646-1-anthony.perard@citrix.com>
 <f8cde73b-0e5f-1b3d-c51a-9fef6092dabf@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <f8cde73b-0e5f-1b3d-c51a-9fef6092dabf@suse.com>

On Tue, Dec 21, 2021 at 04:26:48PM +0100, Jan Beulich wrote:
> On 25.11.2021 14:39, Anthony PERARD wrote:
> >     Also this v8 present a work-in-progress of the ability to do out-of-tree
> >     build without setting VPATH. This is presented as an alternative to force
> >     use of out-of-tree build. As the last patch show, it allows to build the
> >     xen-shim without the linkfarm and we don't need to make any other changes
> >     to any thing that build xen (osstest, distribution packages, xen.git, ...,
> >     and developers finger macros). The patches are only there as WIP / RFC as
> >     they were some concern about the usefulness and extra changes needed.
> >     We can decide whether those changes are good or if this is too much and we
> >     should force out-of-tree build for the hypervisor.
> 
> I'm afraid I'm of two minds here. I don't think we want to force people to
> do out-of-tree builds, but I also dislike the idea of mixing in-tree and
> out-of-tree builds. Yet reading the above I understand that the shim build
> would conflict with an in-tree build because certain files would be picked
> (the shim build being an out-of-tree one) from the (dirtied) source tree,
> rather than the shim's build tree. Perhaps the extra path prefixes that I
> commented upon in an individual patch are then indeed the least bad route
> to take.

To me, the problem is with a few build artefact and configuration: the
".config" file that osstest write and edit, and the final location of
the "xen*" artefacts. Having something or someone wanting to edit
".config" breaks out-of-tree build. Otherwise, we could have forced
out-of-tree build like libvirt or qemu are doing.

> There's one compromise which comes to mind, but which may also not be
> liked: We could simply fail out-of-tree builds when the source tree is
> dirty. Then people wanting the shim built would need to use out-of-tree

This isn't a compromise, it is already implemented in "build: adding
out-of-tree support to the xen build". I revert this in patch "RFC,
no-VPATH: remove check for clean source tree for out-of-tree".

> builds also for the "main" hypervisor, but people suppressing the shim
> build anyway (or doing it separately, e.g. using a non-default .config)
> could continue to do in-tree builds. The one puzzle piece I'm lacking so
> far (perhaps simply because of having overlooked where it is) is how, for
> a full-build-of-everything, one would control where the xen/ part of the
> build would go _outside_ of the source (sub-)tree.

I guess that's not really an issue. It would be easy to run `make -C
xen-build -f ../xen/Makefile` (or `make -C xen O=../xen-build`, or even
`make -C xen O=build` would be fine too). With maybe a make variable to
let someone specify a different output tree.

For a full-build-of-everything, we can easily do out-of-tree build. The
full-install-of-everything can pick the build artefact from the new
place. The issue is when someone want that and edit ".config" of the
hypervisor, as adding the file will stop out-of-tree build, so pv shim
will not be able to use out-of-tree build.


But maybe going with mixing in-tree and out-of-tree build is going to be
too complicated. The hard part is for the build system to differentiate
between source file and generated source file, so that might break from
time to time. So maybe avoiding mixing and thus breaking build of some
users might be better and more reliable in the long term.

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 10:49:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 10:49:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258437.445048 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9m37-0008Fq-Mm; Tue, 18 Jan 2022 10:49:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258437.445048; Tue, 18 Jan 2022 10:49: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 1n9m37-0008Fj-JZ; Tue, 18 Jan 2022 10:49:13 +0000
Received: by outflank-mailman (input) for mailman id 258437;
 Tue, 18 Jan 2022 10:49:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pp88=SC=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n9m36-0008Fd-4n
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 10:49:12 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4249e1c8-784c-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 11:49:08 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4249e1c8-784c-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642502948;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=4NjB+Rw11wJQ0N/6s8l/xdKbUQeboG5ADxAazDoiumo=;
  b=gNo6m/NNjBzhZcRf+eZenpj+3XEFYv06z1to1lMG7GLMU6snDQg5BOiB
   UfB3h7jAxEaLLrQ8TAe5ATawBkF5zQnJAO/CxyTY73QXs0TS0RmeT47+5
   bDpZoFli6XtYCRojkFrAcej/ok6zHakAGbPAr0dtZmYtjAJaWjvm76f6d
   4=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: BxNoaZOB672/btLLRLCzdxljOBN52+BjBKXu24QRB274o12yHwrsqrG1quVW5UtZxkram6LaQZ
 K/VlS8gbOdwLujs+I7OD4wCRdwXtjMn26eia536uN3DoyTEbjAS1GVCQczcYh27E+X0B/N7/YR
 NOIMFss+V9UEe7Im884FAiNQ6c0GLK32n03gHqv67DV2Cd3D+ftNxdkHR3IgkxsO26q/Vz3elo
 TaTnmsOAta1r2E36t+l6h/9Z5zWKiaquOTSBFp4YNLDK62SW2mxlzfjoyjkceJ+vEimkcH4EyN
 YQ0Z3q2JTYhTFxNBQBpt3GrR
X-SBRS: 5.2
X-MesageID: 61686907
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:krLj1K5so0sg7J3etCOOPgxRtNnAchMFZxGqfqrLsTDasY5as4F+v
 jQeWD2EPqrfMGHxLtF+Ptni/UgBsZLcytU2SlBqrikzHi5G8cbLO4+Ufxz6V8+wwmwvb67FA
 +E2MISowBUcFyeEzvuV3zyIQUBUjclkfJKlYAL/En03FV8MpBsJ00o5wbZg294w2LBVPivW0
 T/Mi5yHULOa82Yc3lI8s8pvfzs24ZweEBtB1rAPTagjUG32zhH5P7pGTU2FFFPqQ5E8IwKPb
 72rIIdVXI/u10xF5tuNyt4Xe6CRK1LYFVDmZnF+A8BOjvXez8CbP2lS2Pc0MC9qZzu1c99Z1
 ttQn6awaioTJ4advsoaV0JUMCpMMvgTkFPHCSDXXc27ykTHdz3nwul0DVFwNoodkgp1KTgQr
 7pCcmlLN03dwbLtqF64YrAEasALNs7kMZlZonh95TrYEewnUdbIRKCiCdpwgm5u1p4fRam2i
 8wxRGt/cy7yM0R2fQ0eVZgFu+vztmv+fGgNwL6SjfVuuDWCpOBr65DyNPLFd9rMQt9a9m6Iq
 2SD82nnDxUyMN2E1SHD4n+qnvXIny7wRMQVDrLQ3vxgjUCXx2cTIAYLTlb9qv684nNSQPoGd
 RZSoHB36/Fvqgr7FbERQiFUvlaasAM2YdpzPtcjw1Cr5K3QuAq6DVoLG2sphMMdiOc6Qjkj1
 1msltzvBCByvLD9dU9x5ot4vhvpZ3FLcDZqiTssCFJcvoK9+N1bYgfnF447SMaIYsvJ9SYcK
 txghAw3nP0tgMECzM1XFniX0mv39vAlouPYjzg7v15JDCskPOZJhKTysDA3CMqsyq7DETFtW
 1BeyqCjABgmV83lqcB0aLxl8EuVz/iEKibAplVkAoMs8T+gk1b6I9wKvG0idRk1aZxZEdMMX
 KM1kVkOjHO0FCH7BZKbnqrrU5h6pUQePYmNug/ogipmPcEqKV7vENBGbk+MxWH9+HXAYolkU
 ap3hf2EVC5AYYw+lWLeb75EjdcDm35irUuOG8GT50n3gNK2OS/OIZ9YYQTmUwzMxP7eyOkj2
 4wBZ5LiJtQ2eLCWXxQ7BqZIfA9adiZqVMmmwyGVH8baSjdb9KgaI6a56ZsqepB/nrQTkeHN/
 3qnXVRfxka5jnrCQThmoFg6AF82dZog/389IwI2OlOkhyoqbYq1tf9NfJorZ7g3sudkyKcsH
 fUCfsyBBNVJSyjGpGtBPcWs8tQ6eUT5nx+KMgqkfCM7I8xqSTvW94K2ZQDo7iQPUHa67JNsv
 7262wrHapMfXAA+Xt3OYfeiwgrp73gQke5/RWXSJdxXdBm++YRmMXWp3PQ2P9sNOVPIwT7Dj
 1SaBhIRpO/spY4p8YaW2fDY/tnxS+YnRxhUBWjW67qyJBL2xGv7zN8SSvuMcBDcSHjwpPeoa
 9JKwqyuK/YAhltL7dZxSu450aIk6tLzjLZG1QA4Tm7TZlGmB748cHmL2c5D6v9EyrND4FbkX
 0uO/p9ROKmTOdOjG1kUfVJ3YuOG3PASuz/T8fVqfxmquH4ppOKKARdIIh2BqC1BN78kYooqz
 NAotNMS9wHi2AEhNcyLj3wM+mmBRpDav37Lan3O7FfXtzcW
IronPort-HdrOrdr: A9a23:9N8fV6DGfp7lLgnlHeg0sceALOsnbusQ8zAXPh9KJiC9I/b1qy
 nxppkmPH/P6Qr4WBkb6Le90Y27MAnhHPlOkPQs1NaZLXLbUQ6TQr2KgrGSoQEIdxeOk9K1kJ
 0QD5SWa+eAfGSS7/yKmTVQeuxIqLLskNHKuQ6d9QYUcegDUdAf0+4TMHf8LqQZfngjOXJvf6
 Dsmfav6gDQMkg/X4CePD0oTuLDr9rEmNbPZgMHPQcu7E2rgSmz4LD3PhCE1lNGOgk/jIsKwC
 zgqUjU96+ju/a0xlv10HLS1Y1fnJ/ExsFYDMKBp8AJInHHixquZq5mR7qe1QpF6t2H2RIPqp
 3hsh0gN8N85zf4eXy0mwLk303a3DMn+xbZuCmlqEqmhfa8aCMxCsJHi44cWADe8VAcsNZ117
 8O936FtrJMZCmw0hjV1pztbVVHh0C0qX0tnao4lHpES7YTb7dXsMg24F5VKpEdByj3gbpXX9
 WGNPuspMq+TGnqLEww5gJUsZ6RtzUIb1u7q3E5y42oO2M8pgE986MarPZv6UvouqhND6Ws3N
 60QZiAoos+OvP+XZgNdNvpfvHHeFAlYSi8eV56cm6XXJ3uBRr22uvKCfMOlaaXRKA=
X-IronPort-AV: E=Sophos;i="5.88,297,1635220800"; 
   d="scan'208";a="61686907"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TGtXCQQE16ga5/DvAPjomhtrHq1Gj0wZAHhe/xaRrn/2Fmxtri8Yx07Bmxyryxodqs5nG+5BlQOb/PI05fOjfk9Y8NgCZMpY0yqOclf9n0FAUkyd0l7zoUyzLLZSzElQ3eDrrPoMyTa4OxpZqFBydRr4k9b60d6vThFmwWfGz3TaJRf5QJs/Yogd8Xn3FObXKMuWo+MPXsvHtZnH1i3nhtQnR2cNNo3ECrgwNY+U4N2KSOZH755lLSVwY31fvjVSClAVrQ5PerLnSqGUjP87ElHlb/OLw1vMMoJJZJa/I1MCnn8gGRKJY1ETALttTs5KVu8Fg51dK7ruBgYYuv7qMA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TxbWUtXZ3qbijCMTcJyNHiBKsRg8gWYdceS9My5WQXw=;
 b=JojArRsLImT8Qxx/9BbCzdfudEBOD+JPGNuzz1NpjY3Fg79UufqZm27prxmyGHvntzOUw+g3wcRO3qjJ/bUfHPzkR9SSiCyayS3Fpcgjf/5q63T+dpeM98o+rZnSEH3biQw9nTqmdRuffzLy/pcNpjalG0MbW2uVqiQOsAo8boi2oOjcfs/XUjG07b5eA6+IZO4+0NZpQOlk7bA9UTAFDzrymxIiFSWa28WzQ/EOga6JusZh/a0K8Yf40+gUjb4pyDAFg1k6fq31Zwx5w7Z1mPNLUdb+qK3PCvzDAdbCVOt4jQxe317cfhqNRkMg5cWdPpQTobNSkhmYxSEadzY7Bw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TxbWUtXZ3qbijCMTcJyNHiBKsRg8gWYdceS9My5WQXw=;
 b=dMvzkC5M0jNbiAhbhQkT1CN2ysVz65DzZE9qdGjeSIqQahLqmdg45rEFFLAJDLHc523exaRlEAcV3XtQ8sNhQvvhsLVM/nwNCP9oZ5yX3glWxIFvCDmfyyCg0W9etiPc5Q+grUMxg5hsyrafFwN7Ot7BOpTUuGF1VOQv789eQAM=
Date: Tue, 18 Jan 2022 11:48:52 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH 5/5] x86/mwait-idle: adjust the SKX C6 parameters if PC6
 is disabled
Message-ID: <YeabFE5v5tQvM0eP@Air-de-Roger>
References: <e16ff1ad-b1c5-f4e0-9336-716eceb93a9f@suse.com>
 <aa7dc2e4-6a80-dd7a-81d6-92690f6e0bfb@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <aa7dc2e4-6a80-dd7a-81d6-92690f6e0bfb@suse.com>
X-ClientProxiedBy: MR1P264CA0011.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:2e::16) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8432c1c5-7fef-44d2-527a-08d9da70216d
X-MS-TrafficTypeDiagnostic: PH0PR03MB6445:EE_
X-Microsoft-Antispam-PRVS: <PH0PR03MB6445054CDFA1E61073AB14698F589@PH0PR03MB6445.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: oHl8O831M5O0wHPP1MBgxBHot0wTz/TkRx4gY3XtH7L9p3u+ID3Iyo3VAwsltisEKkm/aXTWIin/+hiKE4PebnwhTeRS5erqL5pQuD1smbs//YRaBtWGB3XSo4MkGGMbsgUoM+I5jSq23W9PzgOGX7Ou96o/b3d7QybW8aEi+wWYTQNe2ImbikJ72yHnw/ZGaaZwhKfOkDEzozjb0mU0VpWBf9zdYOGTsFFrKRlfy9xoWVLWgTDHIPR50F7ZT3T3G8zBRMJtifNAGO0Ga2Y0BEZJQ+3p1YUrob0XQIqlNFH9LH23AOPtht8oMvWTmzzZd6h3nUHMX4IohamZEAb0RSpL3vt7Xn+mK9WII4NQHnrQcjnkJM5zVWdsjtf1o065TBprb8T90dJFfk2FMSKAZeci1GAlqta+DIS3JU+8lFeymOvyIIWtcSUNRSFq6yXHHsFWu2KksB+CmxpenDk1ihYS2f36wD62UhnN+K9tc3APQpkPRFxhrDPC8HZrrMaFz3o0PMcl66k4+wPB94qFj7UobwN9JowiBoWTuORD4cNNJ4aSM/Tp0SfdSAHWLCcVElnTQfNDTeVLcFrwHKbPzJnXb8wGKya08uHg2Ol5cYgoDunlfRRzn+XHzfO5C8527m6XLHA8gbZtroCXhXk8RT4tule3asvjVjJtga45hBLAu49Fw73Z6qqAL8fbY9lm8Rc8D/+OXZOgf8hWigPz6ft0VIjQVuAvs5IFE1b+QLQ=
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(4326008)(8676002)(8936002)(6666004)(508600001)(45080400002)(33716001)(6506007)(54906003)(85182001)(6916009)(186003)(316002)(26005)(966005)(66946007)(2906002)(83380400001)(6512007)(82960400001)(9686003)(6486002)(66556008)(86362001)(5660300002)(66476007)(38100700002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?a2l6cU9UYlJtcFJtbFFybXIzM1ArbjJJalYrY0xYdkhqVUpCc1FBSGZYWmpB?=
 =?utf-8?B?d1ZmMy81QjJrNktOMjRaUUp1TWRBWDVYcVl3bG1xc0JsNm9UQ0tZTGJvVnM3?=
 =?utf-8?B?ZDdacXVWd3NHQUhRdnRmRFJqWVlTYjljV1BHVmphS2J0NGRnWHlvL0xUMmlh?=
 =?utf-8?B?dmxoUU1RWjdVSlM3aGFLZG8xTDJKbUNNYWNCenRyRDB3TVcvaDRXRXh3czNh?=
 =?utf-8?B?MzYrOWs2MHlSS296RXZVVS9vWlQ3TnB5TDgwRW1JZ0h1VkVMS2toQS9QMHNt?=
 =?utf-8?B?RHU1aW5xZjEvZllCU0FNV3ZRd3BKZmZrLzg0c2Rsbkk3RzBpSkFQd08xc0t1?=
 =?utf-8?B?NC9WeFZ1cll0UHNCcGErbW1pMkgrSUNxSDZacndRS0pjTjRXREJrRnlyVFho?=
 =?utf-8?B?eUdyK1BGdkNEczl6TlBacklvMFJ4UGlzR1VQV2hpbmFvcmNuaU9pemhYWElI?=
 =?utf-8?B?SFhXU2haaUVWbTJWak5xMXl3aWtFc2hpUVdYNk0xakxVQTR4RC9LbGEydEhK?=
 =?utf-8?B?QzFrYW1mVUowb2tMbGhOSGNLTnd0VEJMQ1BMQmQzM3pNOTdVbkNtVWVpSXNP?=
 =?utf-8?B?Yms5RE96dmMzK1kwT1NtOERic3hVcitCZUF0TVRESGxNcnNUYXMwZTc1cjR6?=
 =?utf-8?B?WlQvenRvcHMzTHBSaE00dTBqaWxKcUNLSEU2VE9jcjFPVDNHQnpKL21td0dC?=
 =?utf-8?B?V0xBTHlaL0J6Tks3M0t6VzJZS3QyTzhtQmgrekpUWE1IZXcvMFRCWTVyQWpD?=
 =?utf-8?B?VHJoMHZFRnJHTTVSNnd5NFdyTFhjMTArVzdwN0ZyYUFyM2FNZUtqZWlPdUF3?=
 =?utf-8?B?VmtIenRncTltM0UvZjlURGF5OXlycWRvRWV4Nm5UamdBSkNMOUJNZlYwM1VP?=
 =?utf-8?B?Ri9lUGRDZDlMRldITUp3ZmFoK1JXa2FRcVJ5OXg2UGRnczlIV1dxMlh1NVFF?=
 =?utf-8?B?R3d6NjRSOHl0MWZpV3lhcDFFSzA4K0RhUDhUUy90Ym5hWVBkMmZJQmlNZ3l6?=
 =?utf-8?B?b2lRYTZ1dFgwcjgzVjM0V0J4eDdQdUtjWmFwVFNVdSsyWWlSb0hubWNPaTdY?=
 =?utf-8?B?clFBSTFhNURxRCtxU2wyTzJrVG1OREh2d2h6elU5VFF6VjIyMXA4VTRuOFdo?=
 =?utf-8?B?dUtoL1JPWkVmTmpHRFFFRlNzYVRNbkp6RVdzUDJqckdiMjNxUUg3WXRQaFVv?=
 =?utf-8?B?Z3FSbWFGUGp1aG96L1pqRWFMY0JPdzBKZXNyVFk1YWg1ZTJNM0l3ZWdNZ2Zs?=
 =?utf-8?B?V3oyS1RIeEFOcS9rY2hLQ3ZrWmVxc3JHcHZkYzJnTkdxSWJkNlV6NTFJRCtH?=
 =?utf-8?B?M3J4WXRtL3ROc2c2cXlCQWpGdm0zRlN3RFlTUFROZDJJdWo5Y1B1c3NjeWVh?=
 =?utf-8?B?ZkZVRWsxNkFGaDZJbGNOR0wvVmlmUmpoSHgyQnI2b0NuOCsvTWVrSkszVEdK?=
 =?utf-8?B?QnJmWFRkQS9VSTdqdTcydndjUmZ0R1ZBQW5uZWZCWGUzSklIUjNDQWdXWFYr?=
 =?utf-8?B?ems2amtsVWZaTGNiWlRLNHRKNTZiRnh4bHBsVS9xN0xOZXNZR3RhQVd6R1VI?=
 =?utf-8?B?NVc5Y0pwc2MxUGJjNGp6dlZZdVF2b2h3YXFiOC9UbjdwQi82Y2NNZFJXaFlY?=
 =?utf-8?B?WEFQWTJ2aVZraVRzekV0QURxL0pMN1BFTzE2U0MrSkp6NHFvbEN4bk1GajFI?=
 =?utf-8?B?eDBLZk1za0JxR1A3bFFSOXpkRTZoV0hzV1Zoak5JeHhmamZPR2h4UWUyNitW?=
 =?utf-8?B?Y1dtcEk5ZzFrbTQ0cjhCd1NSRFNtMEV0cEtkTmFtbzdjQlRjMUhBTkZCRHdR?=
 =?utf-8?B?Z1dtb2JDbnlRdzMxMUtRZkZaT3lZRE9JRkN6d2JGeHVtREtjVmdyOHljMTNC?=
 =?utf-8?B?Wml3Q3FISmlWR0RnY2FESVAxQnhCeWdEYy9OMi9vVzRMZ2s2RVJmdmdiU3N1?=
 =?utf-8?B?Y2ZSZVZWUXRhejFvendSVmo1Mlg4OTVsaWp4TGRIMStaYm1OSU1MeVpVNm13?=
 =?utf-8?B?S3NDQXNyRnRqM0lHZGRIU2I2SHlLam5mS0d6aHRyTzhhRTIvVUwxZkwzWmR5?=
 =?utf-8?B?NVJ1eEJKVlN4WWN3ZklNa0kxdEdjOVRyemJUSXV5Q01jNUpTeWVsSVBKblZV?=
 =?utf-8?B?UzBiMHZTRVN5MmJjbXl6R0s5b2RTWGJXNzA0VWczOGxUamJWUGVNaHJhVHFR?=
 =?utf-8?Q?xJXzBpjIfYsKQPZJlP5FzPA=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 8432c1c5-7fef-44d2-527a-08d9da70216d
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 10:48:58.2421
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9WiJxUwlQSB+p1cR+SLI17kN2BUoFFZRhP5I22VGotcb8bTrJQ8NdHyrW794xV4SpJLOU/ipOhrN7Ll1e2T8GA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6445
X-OriginatorOrg: citrix.com

On Mon, Sep 06, 2021 at 03:02:12PM +0200, Jan Beulich wrote:
> From: Chen Yu <yu.c.chen@intel.com>
> 
> Because cpuidle assumes worst-case C-state parameters, PC6 parameters
> are used for describing C6, which is worst-case for requesting CC6.
> When PC6 is enabled, this is appropriate. But if PC6 is disabled
> in the BIOS, the exit latency and target residency should be adjusted
> accordingly.
> 
> Exit latency:
> Previously the C6 exit latency was measured as the PC6 exit latency.
> With PC6 disabled, the C6 exit latency should be the one of CC6.
> 
> Target residency:
> With PC6 disabled, the idle duration within [CC6, PC6) would make the
> idle governor choose C1E over C6. This would cause low energy-efficiency.
> We should lower the bar to request C6 when PC6 is disabled.
> 
> To fill this gap, check if PC6 is disabled in the BIOS in the
> MSR_PKG_CST_CONFIG_CONTROL(0xe2) register. If so, use the CC6 exit latency
> for C6 and set target_residency to 3 times of the new exit latency. [This
> is consistent with how intel_idle driver uses _CST to calculate the
> target_residency.] As a result, the OS would be more likely to choose C6
> over C1E when PC6 is disabled, which is reasonable, because if C6 is
> enabled, it implies that the user cares about energy, so choosing C6 more
> frequently makes sense.
> 
> The new CC6 exit latency of 92us was measured with wult[1] on SKX via NIC
> wakeup as the 99.99th percentile. Also CLX and CPX both have the same CPU
> model number as SkX, but their CC6 exit latencies are similar to the SKX
> one, 96us and 89us respectively, so reuse the SKX value for them.
> 
> There is a concern that it might be better to use a more generic approach
> instead of optimizing every platform. However, if the required code
> complexity and different PC6 bit interpretation on different platforms
> are taken into account, tuning the code per platform seems to be an
> acceptable tradeoff.
> 
> Link: https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fintel.github.io%2Fwult%2F&amp;data=04%7C01%7Croger.pau%40citrix.com%7Ccdf115e71eb14429868408d97136a902%7C335836de42ef43a2b145348c2ee9ca5b%7C0%7C0%7C637665301851513469%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=D9sIoe%2BFAvia3OuRsT19VAxkTqrlnPHnKqTSKiW6pRM%3D&amp;reserved=0 # [1]
> Suggested-by: Len Brown <len.brown@intel.com>
> Signed-off-by: Chen Yu <yu.c.chen@intel.com>
> Reviewed-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
> [ rjw: Subject and changelog edits ]
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> [Linux commit: 64233338499126c5c31e07165735ab5441c7e45a]
> 
> Pull in Linux'es MSR_PKG_CST_CONFIG_CONTROL. Alongside the dropping of
> "const" from skx_cstates[] add __read_mostly, and extend that to other
> similar non-const tables.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Roger Pau Monné <roger.pau@citrix.com>

> 
> --- a/xen/arch/x86/cpu/mwait-idle.c
> +++ b/xen/arch/x86/cpu/mwait-idle.c
> @@ -484,7 +484,7 @@ static const struct cpuidle_state bdw_cs
>  	{}
>  };
>  
> -static struct cpuidle_state skl_cstates[] = {
> +static struct cpuidle_state __read_mostly skl_cstates[] = {
>  	{
>  		.name = "C1-SKL",
>  		.flags = MWAIT2flg(0x00),
> @@ -536,7 +536,7 @@ static struct cpuidle_state skl_cstates[
>  	{}
>  };
>  
> -static const struct cpuidle_state skx_cstates[] = {
> +static struct cpuidle_state __read_mostly skx_cstates[] = {
>  	{
>  		.name = "C1-SKX",
>  		.flags = MWAIT2flg(0x00),
> @@ -674,7 +674,7 @@ static const struct cpuidle_state knl_cs
>  	{}
>  };
>  
> -static struct cpuidle_state bxt_cstates[] = {
> +static struct cpuidle_state __read_mostly bxt_cstates[] = {
>  	{
>  		.name = "C1-BXT",
>  		.flags = MWAIT2flg(0x00),
> @@ -870,9 +870,9 @@ static void auto_demotion_disable(void *
>  {
>  	u64 msr_bits;
>  
> -	rdmsrl(MSR_NHM_SNB_PKG_CST_CFG_CTL, msr_bits);
> +	rdmsrl(MSR_PKG_CST_CONFIG_CONTROL, msr_bits);
>  	msr_bits &= ~(icpu->auto_demotion_disable_flags);
> -	wrmsrl(MSR_NHM_SNB_PKG_CST_CFG_CTL, msr_bits);
> +	wrmsrl(MSR_PKG_CST_CONFIG_CONTROL, msr_bits);
>  }
>  
>  static void byt_auto_demotion_disable(void *dummy)
> @@ -1141,7 +1141,7 @@ static void __init sklh_idle_state_table
>  	if ((mwait_substates & (MWAIT_CSTATE_MASK << 28)) == 0)
>  		return;
>  
> -	rdmsrl(MSR_NHM_SNB_PKG_CST_CFG_CTL, msr);
> +	rdmsrl(MSR_PKG_CST_CONFIG_CONTROL, msr);
>  
>  	/* PC10 is not enabled in PKG C-state limit */
>  	if ((msr & 0xF) != 8)
> @@ -1161,6 +1161,36 @@ static void __init sklh_idle_state_table
>  }
>  
>  /*
> + * skx_idle_state_table_update - Adjust the Sky Lake/Cascade Lake
> + * idle states table.
> + */
> +static void __init skx_idle_state_table_update(void)
> +{
> +	unsigned long long msr;
> +
> +	rdmsrl(MSR_PKG_CST_CONFIG_CONTROL, msr);
> +
> +	/*
> +	 * 000b: C0/C1 (no package C-state support)
> +	 * 001b: C2
> +	 * 010b: C6 (non-retention)
> +	 * 011b: C6 (retention)
> +	 * 111b: No Package C state limits.
> +	 */
> +	if ((msr & 0x7) < 2) {

I wouldn't mind adding this mask field to msr-index.h.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 10:51:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 10:51:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258439.445059 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9m4a-00017b-3r; Tue, 18 Jan 2022 10:50:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258439.445059; Tue, 18 Jan 2022 10: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 1n9m4Z-00017U-Uz; Tue, 18 Jan 2022 10:50:43 +0000
Received: by outflank-mailman (input) for mailman id 258439;
 Tue, 18 Jan 2022 10:50:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pp88=SC=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n9m4Y-00017M-Qd
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 10:50:42 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 79a9fc76-784c-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 11:50:41 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 79a9fc76-784c-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642503041;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=2rd0dRxurMeCld1piTRTkR3LaNJjUeBSUgGst226drw=;
  b=XEmjW+2JPm2qhLSl5yBnFV+ZrovglKmIGWaRPr6hUtRTMwqFEKEAj+jy
   4lgxWV3/if5OhuOkyO6gcoD34XKfBEGHx0nVQh5Nqm00iZnuQKtIqYVIb
   RVCE/PmHBffcFA2IdcDk3uATR/fnh6RlaYidoEer+WSenirYHlL6ATFV3
   Q=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: MCm9ZsqU8SHhHK7lzyT6SMCONDk11yi2eQx6hD4HRgb7UT/Cbl1In5k4or3Mb7AGlWFNOVbMa2
 0u5TJeLPwziUG29fIiF+zKWvpblBkEb1++aXsTr+MOViDzHcOYhoXy50zYEQZelakO+sww7tO0
 vYceI5/3Pk9Yn3C7oEc1Wjb1NlTALQzm5VbGsmxjb/m1UlOQapKpjxAFKeg7j8B/YzC+m3LkBj
 Y06lCvyzWizjjeKmfMzEz9XgLDeVew8Wn+qiBlSV35NPknkSLfSFBhByq6WhplHl5Bs5iMts7P
 u4aS4IcBl5hYoxdI6krBplmS
X-SBRS: 5.2
X-MesageID: 62201888
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:7z0ZG6pHvGGd6pRrOKvZ1H9JXGBeBmLoYhIvgKrLsJaIsI4StFCzt
 garIBmGO6veMWTzKtslYNnn80IG68SDzNNhQQFp/n1jFHtD9puZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlZT4vE2xbuKU5NTsY0idfic5Dndx4f5fs7Rh2NQw2IHpW1rlV
 e7a+KUzBnf0g1aYDUpMg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJ8DO+iL
 9sv+Znilo/vE7XBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XnRfTAKtao2zhojx/9
 DlCnaSNUTgNH4Hzo/QQSVpCIgRQPrJt2paSdBBTseTLp6HHW37lwvEoB0AqJ4wIvO1wBAmi9
 9RBdmpLNErawbvrnvTrEYGAhex6RCXvFJkYtXx6iynQEN4tQIzZQrWM7thdtNs1rp4UR66HN
 5pJAdZpRDffYyBoKHsUMo0nobuzuVXHdBQDi13A8MLb5ECMlVcsgdABKuH9eNOQQt5Otl2Fv
 W+A9GP8ajkYPtGCzTuO8lq3m/TC2yj8Xeo6BLC+s/JnnlCX7mgSEwENE0u2p+GjjUyzUM4ZL
 FYbkgIxqYAi+UrtScPyNyBUu1bd4ERaAYAJVbRntkfdkcI4/jp1GEA8cyZ+TP0Ki/QmSCZpz
 G6ssdD2Lh5G5ej9pW2myp+Yqja7OC4wJGAEZDMZQQZt3+QPsL3fnTqUEI89TffdYsndXGipn
 mvU9HRWa6A71JZTj82GEUb7byVAT3QjZio8/U3pU22s9WuVj6b1NtXzuTA3ARutRbt1r2VtX
 lBZw6ByD8hUVPlhcRBhps1XQ9lFAN7fYVXhbaZHRcVJythU0yfLkXpsyD9/Plx1Fc0PZCXkZ
 kTe0SsIusMJYCf2PPErONjsYyjP8UQGPY66PhwzRoAfCqWdiSfdpH0+DaJu9z2FfLcQfVEXZ
 s7ALJfE4YcyAqV71jumL9rxIpdwrh3SMVj7HMihpzz+iOL2TCfMFd8tbQXSBshksvLsiFiFo
 r53aprRoz0CAbKWX8Ui2dNJRbz8BSJlVcmeRg0+XrPrHzeK70l6WqCBmu1wKtU190mX/8+Rl
 kyAtoZj4AOXrVXMKBmQa2Alb7XqXJ1lqmk8MzBqNlGts0XPq672hEvGX5doL7Qh6sJ5yvt4E
 6sMd8maW6wdQTXb4TUNK5L6qdU6JhisgAuPOQujYSQ+IME8F1CYpIe8c1u97jQKAwq2qdA6/
 ++q2DTETMdRXA9lFsvXNq6ilgvjoXgHletudELUOd0PKl70+Y1nJnWp3P86Ks0BMzvZwT6e2
 1rECBsUv7CV8YQ07MPIleaPqILwS7lyGU9THm/667eqNHaFojr/kNEYCOvRJGLTTmL5/qmmd
 N559fCkPa1VhktOvqp9D61vkfA06ezwquII1Q9jBnjKMQimU+syPnmc0MBTnaRR3bsF6xCuU
 0eC99QGa7WEPMTpTAwYKAY/N7nR0PgVnn/Z7OgvIVW87yhypeLVXUJXNhiKqSpcMLoqb991n
 bZ/4JYbu16llx4nEtealSQFpW2DI0sJX7gjqpxHUpTgjRAmyw0abJHRYsMsDEpjtzmY3pEWH
 wKp
IronPort-HdrOrdr: A9a23:2bW7Ca6YllSDz2yVpAPXwVCBI+orL9Y04lQ7vn2ZFiY7TiXIra
 yTdaoguCMc6AxxZJkh8erwX5VoZUmsj6KdhrNhQItKPTOWw1dASbsN0WKM+UyDJ8STzJ856U
 4kSdkDNDSSNykKsS+Z2njALz9I+rDum8rJ9ITjJjVWPHlXgslbnnlE422gYytLrWd9dP4E/M
 323Ls5m9PsQwVdUu2LQl0+G8TTrdzCk5zrJTYAGh4c8QGLyRel8qTzHRS01goXF2on+8ZuzU
 H11yjCoomzufCyzRHRk0fV8pRtgdPkjv9OHtaFhMQ5IijlziyoeINicbufuy1dmpDk1H8a1P
 335zswNcV67H3cOkmzvBvWwgHllA0j7nfzoGXo90fLkIjcfnYXGsBBjYVWfl/y8Ew7puxx16
 pNwiawq4dXJQmoplWy2/H4EzVR0makq3srluAey1ZFV5EFVbNXpYsDuGtIDZY7Gj7g4oxPKp
 ggMCjl3ocXTbqmVQGbgoE2q+bcHEjbXy32DnTqg/blkgS/xxtCvg4lLM92pAZ2yHtycegB2w
 3+CNUaqFh5dL5jUUtMPpZwfSKJMB2+ffvtChPaHb21LtBOB5ryw6SHlYndotvaP6A18A==
X-IronPort-AV: E=Sophos;i="5.88,297,1635220800"; 
   d="scan'208";a="62201888"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BayoOyWnJA+mfx3SlFv4XR24D9ch5FQHR1+AJpUNaAulOQIAPkQI/RAP0nkwPTtjgXUtHsst5egAyCWpAgjkPng6dpNoy1lpfyfr9bH0/FxqvIvr8naMoBiNPVEw3LMXdBKWFgrXqOfh0/2YcONQ1oTA6BtgMfT31s+1+Pt785G2kUW0C/yNaXfRVsBxjdzvwKQzdq8lpn25eZowasjWr4l/OsFY7plqwqm4yz4KFljjuKxhVRRmSQxH92NOrPg0Iuw1E5+Vwmk6EUUcdjQb9R6IpghqEtVBEGmzlY0zh01lQVXmJ0mlUvXc+BqH5Z7bK2BBFZmaScDhfdrOqWL16A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SfHRzazomr6Mxwdfj8yoJaVfINXi330K/rGVj2005Co=;
 b=UcOwrQskcYVfZ4zLTJLMMZFtjAtosOoizFBBSH/34izijib9Ue11KH/8vM7Yyrjmit8eCGaetG3/63IM3flwARDmsBm4KzdALPyR3nCgoYo1tVlnv3fNLXe/Ypu3ooQ2PglvTL2csFVVYpv3XZ7z7FWwizqlg9Ri8HbidxuRe+dv/maqL9+V+wahzjGnNZlkbGEu58Arm2ahLZ+bh5fzKZXSjZgOPYoPkT99TA5p4oQ+L2kHKf8RijNcWuvnK+ZpIe4DJzb86wRn8FuRkvTzSNnjYAW5rdFeH1eb5H6k2HRCU8iXlW58VEk92kKl9wPMR9Hw/VVPy73KdUp7O1VOyw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SfHRzazomr6Mxwdfj8yoJaVfINXi330K/rGVj2005Co=;
 b=RjvzhqelomtfKHhjLCaaF0pOKg/m5IznjwUv/e2FuaKLJ1m6AhHUH5cOPmG5pPs6kPjCnX5oA0PsuSoGva/VADx8Kn9UPkIm9pN0Vl3ceT4WQgqQuAdRpf4H7a98P/vBIrGN2DzWX03CBhLstwXIq9/aPptNc/2M3O9fg0MPJTk=
Date: Tue, 18 Jan 2022 11:50:31 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Anthony PERARD <anthony.perard@citrix.com>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, Juergen Gross
	<jgross@suse.com>, Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>
Subject: Re: [PATCH v6 01/12] libs/guest: move cpu policy related prototypes
 to xenguest.h
Message-ID: <Yeabd8eme6UOIA4J@Air-de-Roger>
References: <20220117094827.16756-1-roger.pau@citrix.com>
 <20220117094827.16756-2-roger.pau@citrix.com> <YeaOoQ1ELpJpL/cg@perard>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <YeaOoQ1ELpJpL/cg@perard>
X-ClientProxiedBy: MR2P264CA0159.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:1::22) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c7990411-b894-47f3-b9f4-08d9da705baa
X-MS-TrafficTypeDiagnostic: PH0PR03MB6445:EE_
X-Microsoft-Antispam-PRVS: <PH0PR03MB6445082BAF84FDBD5A7886F48F589@PH0PR03MB6445.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: w/rFVXF7kFkHNvIru3wJRDLYZGvJ7vSSt3lSe3aPnMk4kbjk90afUtRQ3hHq+Mwcyg2y06t3JTCzmMHEpxxEDqg3v2kFM9bY/EPh52BhhBlGl8fjnioCi9TW5/lnYPStu4P0EWlaNyZvppb2vpbssFupaxp+Y5b3CfTAQsX7/h4OtSUxcNNiWXYYmyckIMwr6hyuzVQQYV/dcESxXL9SJ5vT7+zf23/ixIjXjFx4ip893NuGPZYKUrsgmyzP5bOZcXMkTjcv3lZUoeXVc+8CYy1UTctFLyP0b8zCyym3mKnkx4xCcpA8PdazArGdGuBsPL36AbevOUTTimawun9MKyFJxCxjWo3Rd7FZ74UT9RKWdPCbZIhKdjBoSqjBdR60CNnjHgnHbbNuICIWcPUxx+CWDGcuMAgJuX9w7XlJDDbf5GDtwTbIWcJuhewUsxLCCvaI4pKufAzLA5XZzwn9VZndzFjqpBL4o2hju3K6GdpfC5DjxOUe+uoS9+vZri+PDAqSI7zZu/toRi9tGzXS1Q69JEQv3zQJY8a8TeKbmm7HHTiAhiHRJY+2NYtqFrnsxiTj8Wh6zBSSxK2IdDo0abjJwVwP3YeMspsd3KjknP7jv9JRdDk/OH7pe4XrZr1FlAdyIEm+RlOkteuNHoROoA==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(4326008)(8676002)(8936002)(6666004)(508600001)(107886003)(33716001)(6506007)(54906003)(85182001)(186003)(6862004)(316002)(26005)(66946007)(2906002)(6512007)(82960400001)(9686003)(6486002)(66556008)(6636002)(86362001)(5660300002)(66476007)(38100700002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ak01NDk5UllXVU11aTcyUmhtT3hmSGpPbERoWlhROHdlZ3ZKUVRXSitqb1Nu?=
 =?utf-8?B?akFjZWluNmZNRVkwa2tBdzN0S096NFNZRjN6UGVMOFE3c2JwREFFUS91b1Q5?=
 =?utf-8?B?Q0ZxZFRibEkvNnFmMFVwaGY4c3JzS0lZYWQxNURGWjZydHE3d0Y3LzZIUTZR?=
 =?utf-8?B?Y2lQajFkbk9rNm8zWHZxbXdhWHozbHE3S05GZjcwOUMxamZrek1zbXh6a3cv?=
 =?utf-8?B?dm82clVrY2JuNVFNd1kvdFZzalFicFNMck5na0tsUkxKTFFMRjArV2h3T05Q?=
 =?utf-8?B?bkZSWHA1RkZKU1BuTmxjcjVla1poVlpZUnhDOURiYXpKZmhSdGVGQjJONW02?=
 =?utf-8?B?YlRBV2Y4cjdubk5lQmRmOHJHc1FCOEwrL1hOc0U5NjFNOGtpN1dqanl6QVJL?=
 =?utf-8?B?S2ZOazluT3ZZMXl6TVB2V1dvNjRqN1ptV0h6YmNadWNlKy96WlM3aWNWNXBp?=
 =?utf-8?B?WmdNYWg2bTArYjlyQ1lJdkYrNHRDRHpIWVVKcERaeUZVYlJBNVp4ODFwazFS?=
 =?utf-8?B?ZVBXZEd6Y1VUY1ptUVBtcGhkNVEyQTdVSUJZbkZ1SEhnZS9lTHQ0UU9ZWkQx?=
 =?utf-8?B?a2ZPc2lIeVNkMlArVmhBckZLVzlzc0F5ZlVVMlEyMXI1bSszZmlUVjltcG5B?=
 =?utf-8?B?bTFaNzFHczA0eS9QZWhqaFRmV1E0cjRSS2xqVXd5blVQYXQzVVVwRkl3c0d5?=
 =?utf-8?B?aUdQdTk5cXBCd283UXJzK3Y0VnRJT2tqZXVsQ3pvTC8rVWo1OHRwTWhaS2Rh?=
 =?utf-8?B?RVBhOVhpaUhUblhGUkhBUUZLZG5JMmtRZHovb205OW0wSXUvanBlTjlhWWFu?=
 =?utf-8?B?eEQraEtKSnZDZE5aSTZtOXlQN2o2NmpBaFBKL1AzUXdmeHIvZno2RzhpWHZo?=
 =?utf-8?B?cHJzenJhc2NmMkNpYWhKdEROZ3IvYnFXQlcxOHd3V3RyVlVIZVV6ZE1QdEdh?=
 =?utf-8?B?RFFTMzZMWjV2SXd5bG9WU2tkcGY3QS8rTDliS3BhSTdWRGRoOUQvWTB4c0Q1?=
 =?utf-8?B?MWFZZE9CQWg0OWh6TFM0RFpaUWJEb2lZdU1LN3hYdWNFUE1KQkZxaExleTJo?=
 =?utf-8?B?dEpicEtaQ3hxbkhvc3lEUjFqQi9NaGZDMzk2bmFwT1lhQmt0RjRORXcvc09w?=
 =?utf-8?B?RHlLYWxUb24yU01vQmhyVEZNYzFSNUVTclJzOUplK3JidWVOZmZ0L0FRUkFw?=
 =?utf-8?B?YTMzZXdSVnlOTlZBc21SeTFsU3ErZTZJc2F1cnhmcC9XQ201ZkxRZVdRbVEz?=
 =?utf-8?B?Z01aNHZmMndCOHFVbG4vWU1aNUNoWFg0SHBuYlVTQjBKckJrNnpGZElWVWhK?=
 =?utf-8?B?R1VNQjk0VHlMTFVXVUVlNWlCUmJKRUhKd2x6UnJ0UXF6NHVnUVoyU3piMzQ2?=
 =?utf-8?B?cFVLL1NkWUF4VzdrNThkM0M0TEEwMnlJaE12WTFNRG9KemJwM2d3Y3hlM1Rs?=
 =?utf-8?B?L1RHcEI2aDhqME5JdnNlOTRFRU93dFRaTHk2MThwdXBwTi94T1Q3RSs4NjdY?=
 =?utf-8?B?UlZzbXZFcDhDT2paa2NkUGtucm1MNG5aSmxRR1crRFVBdXhHOE1kZysrZnRr?=
 =?utf-8?B?bmhoUEpiWFBSRW1MVmk4bkNubURMUWtabU5XUnV4Y1Y3NU9SdnhFQnEvWFo0?=
 =?utf-8?B?SHVWWS9lcmtOM3ZUeVdSRGJVcFd5emczaVBLV3M4UVNodTFQY00yaDBYMXRw?=
 =?utf-8?B?NW9GSFJmYlV1TzVqU1ZzMEhmNjNKeTZWSEpGbjRmb3NTYVppenZtazJzZUlO?=
 =?utf-8?B?amowT0RmbEtXUWljYWFEVXBFR2dCb0RtaVpJbnA5Yks3TGNudGx2MGZYc2NM?=
 =?utf-8?B?aEhCeDc2VjFtK1VibE1Fa3pkYjl1Q1hxTDNMaXNrQWFCR0hRaHdGdzhsVWJn?=
 =?utf-8?B?NTVHS21ZNy8wMWZrTDluakZIWHpLSG8wcE5seGUyU1M5UTlaMWd2MFRFTldj?=
 =?utf-8?B?amJrbnQ5elM0TFdFU05kallpK21IK3RmRHpOWEwxb3ZLanpLWUR4S2l4S0k5?=
 =?utf-8?B?VjFscVlsTjVIWVhMU01pMjJYcHNuVnlFN1RmL2ZXTGtoVDFNSjA5NTlZU2l2?=
 =?utf-8?B?UXZSQlM4ai9zY1NxUStlTVIwa1VkS1g0OU1OeEtvUjJiOTJMSk9QUzhha1RJ?=
 =?utf-8?B?dFBaQ3BpOHFheEY1UFhHM1Rpa0tiTTFtZmJXR0lETXlXWmkrOWJyM2Y3MjVB?=
 =?utf-8?Q?dSvZWF9I94YRmJIcWWsYXhc=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: c7990411-b894-47f3-b9f4-08d9da705baa
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 10:50:36.0617
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: eLdetkZ7NPL5VVcPkqezi2pltvZ7LNnxYkYrJXWYl5MJum8aPx6gqr6ME609LjVksMq7eB9YX/wTJUoAL2Xj7w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6445
X-OriginatorOrg: citrix.com

On Tue, Jan 18, 2022 at 09:55:45AM +0000, Anthony PERARD wrote:
> On Mon, Jan 17, 2022 at 10:48:16AM +0100, Roger Pau Monne wrote:
> > Do this before adding any more stuff to xg_cpuid_x86.c.
> > 
> > The placement in xenctrl.h is wrong, as they are implemented by the
> > xenguest library. Note that xg_cpuid_x86.c needs to include
> > xg_private.h, and in turn also fix xg_private.h to include
> > xc_bitops.h. The bitops definition of BITS_PER_LONG needs to be
> > changed to not be an expression, so that xxhash.h can use it in a
> > preprocessor if directive.
> > 
> > As a result also modify xen-cpuid and the ocaml stubs to include
> > xenguest.h.
> 
> Adding xenguest.h to ocaml stub has been done so it isn't part of this
> patch anymore ;-).

I assume it was removed on rebase and I didn't even realize.

> > Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> > Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> Acked-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks.


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 10:51:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 10:51:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258440.445069 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9m4j-0001Sf-Eo; Tue, 18 Jan 2022 10:50:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258440.445069; Tue, 18 Jan 2022 10:50:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9m4j-0001SW-Ba; Tue, 18 Jan 2022 10:50:53 +0000
Received: by outflank-mailman (input) for mailman id 258440;
 Tue, 18 Jan 2022 10:50:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4BW1=SC=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1n9m4i-0001Rc-DC
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 10:50:52 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7f916900-784c-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 11:50:51 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7f916900-784c-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642503050;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=PrW11ZQqHwXAoWym8+utnWzmgPtCkPoTIZxVSj4yQN0=;
  b=DOhgNknHrmERIJPNXqFA4JOrZdZLcFF9iVlZAwYzC9t5vF4CfazfxDmB
   Or9areHoXf6TUTpb31VSLDzt7ai5FS54RUs9eAt3YxyDBbElAVP33XGct
   MkCQEmI2JdZb1Kf+XoOUAYyt+EPd/GxCBQFiwfYrffshnRLhjvgnzDqg+
   E=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: FgI9JUDwQA8yZL3NL4Of1gR0+TkMe+Ij9TlxF5LeLQVQdKem03+YrNfMfXOp3qJel0WwUSWMc9
 2oLv2vrMbt6xtuiEZQdPxHOJ9Rfv/e1gjcajD5h860bvXmAakSVhMlIvpPh3uga9qRCspoHoIT
 GijxHxW64UbsSQfMzNnNWvmps8SEss4DPt84K21oJKaObXZbQxcO6EkPmzpiUxqnD2zogghbRF
 yvHJM4gfhB7uMDkPHCi8F8dxoTUvzUGL/7/v2jUXpcYgjlHNLZSYG4Od8fdOpnDDioTvgZGjo1
 06sHGLhLdmieHX2+lsQPLi+Y
X-SBRS: 5.2
X-MesageID: 62209229
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:exDtb6NpYe8Gy/7vrR0ukMFynXyQoLVcMsEvi/4bfWQNrUol0DAFm
 2IbUWyEbqrcNzT0fIp+aYS/oEMEuZfWmNVqGQto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdpJYz/uUGuCJQUNUjMlkfZKhTr6UUsxNbVU8En150Eszw7dRbrNA2rBVPSvc4
 bsenOWHULOV82Yc3rU8sv/rRLtH5ZweiRtA1rAMTakjUGz2zhH5OKk3N6CpR0YUd6EPdgKMq
 0Qv+5nilo/R109F5tpICd8XeGVSKlLZFVDmZna7x8FOK/WNz8A/+v9TCRYSVatYoz61settk
 cgRiZq1Wz0lL5fQl+8nSxYNRkmSPYUekFPGCX22sMjVxEzaaXr8hf5pCSnaP6VBpLwxWzsXs
 6VFdnZdNXhvhMrvqF6/YuBqmsQkKtitJI4Fs2ts5TrYEewnUdbIRKCiCdpwgm1q3pEUR6e2i
 8wxWHlqMk3pWDN1PVZQM7I0lb35vnrxfGgNwL6SjfVuuDWCpOBr65D2K8bccNGOQcRTn26bq
 3jA8mC/BQsVXPSAzRKV/3TqgfXA9QvrVYRXGLCm+/pChFyI2ndVGBAQTUG8o/Sylgi5Qd03A
 04e9zcqrKMy3Fe2VdS7VBq9yFaFoRw0S9dWC/c96gyG1uzT+QnxLmoZSj9MbvQ2uclwQiYlv
 mJlhPuwW2Yp6ufMDyvAqPHE9lteJBT5M0cJWQE/UVIYv+XlpZMJggP1UtloKra624id9S7L/
 xiGqy03hrM2hMEN1rmm8V2vvw9AtqQlXSZuuFyJAzvNAhdRIdf8Otf2sQSzAeNodd7BFjG8U
 G44d99yBQzkJbWEj2SzTeoEB9lFDN7VYWSH0TaD83TMnglBGkJPn6gNuFmSx28za67onAMFh
 meJ5mu9A7cJbROXgVdfOd7ZNijT5fGI+S7Zfv7VdMFSRZN6aRWK+ipjDWbJgTy3zBRwwP9jY
 s3GGSpJMZr8If44pNZRb71MuYLHOwhknT+DLXwF50nPPUWiiI69Fu5ebQrmghER56KYugTFm
 +uzxOPRoyizpNbWO3GNmaZKdAhiBSFiWfje9pILHsbefFsOMDxxWpf5nOJ6E6Q4zvs9qws91
 iznMqOu4ACh1SSvxMTjQi0LVY4Dqr4k/C1rZnJ9bA/4s5XhCK72hJoim1IMVeFP3IReITRcF
 JHpou2MXaZCTCrp4TMYYcWvpYBubk3z1wmPIzCkcH40eJs5H17F/drtfw3O8igSD3Xo6Zti8
 uP4jg6LE4AeQwlCDdrNbK79xV2GonVAyvl5WFHFI4cPdRy0opRqMSH4ktQ+P9oIdUfY3jKf2
 gvPWUUYqODBrpUb6t7MgazY/Y6lH/EnRhhRHnXB7KbwPi7fpzLxzYhFWeeOXDbcSGKrp/nyO
 bQLl6nxaaRVkkxLvoxwF6dQ4Zg/v9a/9aVHyglEHWnQawj5AL1XPXTbj9JEsbdAx+EFtFLuC
 F6P4NRTJZ6AJNjhTAwKPAMgY+mOiaMUlz3V4ahnKUn2/nYqrr+OUEEUNBiQki1NarByNdp9k
 +smvccX7S25iwYrbYna3nwFqTzUIyxSSbgju7EbHJTv21gixVx1aJDBDjP7vcOUYNJWP0h2e
 jKZicIuXViHKpYup5brKUXw4A==
IronPort-HdrOrdr: A9a23:51/wvq4Sd1s5A9UGHAPXwMjXdLJyesId70hD6qhwISY6TiW9rb
 HLoB17726QtN9/YhwdcLy7VJVoBEmskqKdgrNhX4tKPjOHhILAFugLhuHfKn/bak7DH4ZmpM
 FdmsNFaeEYY2IUsfrH
X-IronPort-AV: E=Sophos;i="5.88,297,1635220800"; 
   d="scan'208";a="62209229"
Date: Tue, 18 Jan 2022 10:50:44 +0000
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>, Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	<xen-devel@lists.xenproject.org>
Subject: Re: [XEN PATCH v8 26/47] build,x86: remove the need for build32.mk
Message-ID: <YeabhMhQe/+Pfll4@perard>
References: <20211125134006.1076646-1-anthony.perard@citrix.com>
 <20211125134006.1076646-27-anthony.perard@citrix.com>
 <8d7694a4-d7aa-200e-d29a-f055909a13ea@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <8d7694a4-d7aa-200e-d29a-f055909a13ea@suse.com>

On Tue, Dec 21, 2021 at 02:33:18PM +0100, Jan Beulich wrote:
> On 25.11.2021 14:39, Anthony PERARD wrote:
> > --- a/xen/Makefile
> > +++ b/xen/Makefile
> > @@ -171,6 +171,10 @@ export LEX = $(if $(FLEX),$(FLEX),flex)
> >  # Default file for 'make defconfig'.
> >  export KBUILD_DEFCONFIG := $(ARCH)_defconfig
> >  
> > +# Copy CFLAGS generated by "Config.mk" so they can be reused later without
> > +# reparsing Config.mk by e.g. arch/x86/boot/.
> > +export XEN_COMMON_CFLAGS := $(CFLAGS)
> 
> For my own understanding (it's hard to check being half way through the
> series): At this point there are no further adjustments expected to
> CFLAGS?

I'm not sure what you mean. The comment should be explicit.

CFLAGS is going to be adjusted after the copy, for the benefit of all
the 64bit code (when building x86_64). The "renamed" to XEN_CFLAGS to be
useable by the rest of the tree.

The name "XEN_COMMON_CFLAGS" might not be the right one, it is only
common to everything in xen.git, so same flags that the toolstack would
work with.

> > --- a/xen/arch/x86/boot/Makefile
> > +++ b/xen/arch/x86/boot/Makefile
> > @@ -1,25 +1,45 @@
> >  obj-bin-y += head.o
> > +head-objs := cmdline.S reloc.S
> 
> Is "-objs" really a suitable part of the name for a list of *.S?

Maybe not. I think this "x-objs" naming is used in Linux to build
modules with more than one object. But I guess here we have an object
with more than one source. Maybe "head-srcs" is better, even if it's
compiled code made ready to include into a .S source file.

> > -DEFS_H_DEPS = $(abs_srctree)/$(src)/defs.h $(abs_srctree)/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) $(abs_srctree)/$(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
> > +$(head-objs:.S=.lnk): LDFLAGS_DIRECT := $(subst x86_64,i386,$(LDFLAGS_DIRECT))
> 
> Considering there's just a single use of LDFLAGS_DIRECT below, wouldn't
> it make sense to avoid overriding the variable and doing the $(subst ...)
> right at the use site instead?

Yes, that might be ok to do.

> > -$(obj)/cmdline.S: $(src)/cmdline.c $(CMDLINE_DEPS) $(src)/build32.lds
> > -	$(MAKE) -f $(abs_srctree)/$(src)/build32.mk -C $(obj) $(@F) CMDLINE_DEPS="$(CMDLINE_DEPS)"
> > +CFLAGS_x86_32 := $(subst -m64,-m32 -march=i686,$(XEN_COMMON_CFLAGS))
> 
> I can't seem to be able to spot -march=i686 in the old code. Or wait -
> Is this duplicating what config/x86_32.mk has?

Yes.

> > +$(call cc-options-add,CFLAGS_x86_32,CC,$(EMBEDDED_EXTRA_CFLAGS))
> > +CFLAGS_x86_32 += -Werror -fno-builtin -g0 -msoft-float
> 
> You did inherit -Werror and -fno-builtin from $(XEN_COMMON_CFLAGS)
> already, so I don't think you need to specify these again?

No, because I didn't want to change the CFLAGS used to build the 32bits
binaries in this patch. So XEN_COMMON_CFLAGS just hold the CFLAGS
produced by "Config.mk" for the x86_32 arch. So XEN_COMMON_CFLAGS is
different from XEN_CFLAGS.

If we want to use the same CFLAGS to build head.o, then I think it would
be better to do in it's own patch. I can probably do it before or after
this patch as XEN_CFLAGS is already available.

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 11:07:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 11:07:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258444.445080 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9mK8-0003L0-Ro; Tue, 18 Jan 2022 11:06:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258444.445080; Tue, 18 Jan 2022 11: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 1n9mK8-0003Kt-Oq; Tue, 18 Jan 2022 11:06:48 +0000
Received: by outflank-mailman (input) for mailman id 258444;
 Tue, 18 Jan 2022 11:06:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4BW1=SC=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1n9mK6-0003Km-N7
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 11:06:46 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b760fa70-784e-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 12:06:44 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b760fa70-784e-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642504003;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=W9o9aB525ouKi+ttuwuEZSJfGMXE46ZE5pNNJZbB/rk=;
  b=hcFA7tJ+PaLrBbwhSrld/78wCe8hFtqJyMk2xiGSFGvKEXcS9ThELGo0
   sE2SrzOQsK/GCvaRocPzJ1aT2o4VziT7NJv8bYo7DHvpfgg0JFsX5z2xV
   Lvs877dtYN5TnWHGrSWyTX5xXe5Xsuv62KdaKTfBuGB2FVs+StexHd7rs
   A=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: ChdYE/vdGSAz2qcyWQuw83sP9mfLWSz5EIR5TZnfeXePX8l/rjgiwijEW+5wtmDdML3C8FVEkQ
 m8aUjNVzCAfirI/NYszpFnsDakBkQs5eIGO+EoQpGAAz2SETJ+hAz2V3OtziNHehG+TTLfwTsn
 qmnhXo9K9cvT3OSgmyopfhbRRSfKwzU+cj+ANud3gEVIhyWurDP7LA5AjrlvIPXXj6gA0EFRhe
 RmkWHbT4gHJEAV6AsZOkTjp/9NAxlqSGVs9UIRr0r7lC0uPJ0psptkELxmH4DBZ9nyG7hRgQC2
 R1HdP4Dtjt1eQww4PGtjtvnE
X-SBRS: 5.2
X-MesageID: 62615171
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:Skpvpao4MyXqAd8O7/WCD5dNs+peBmJZYxIvgKrLsJaIsI4StFCzt
 garIBmEOvzfazegfdgibNi/90ID6pbcxt4wSgI/rH9jFCkWo5uZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlZT4vE2xbuKU5NTsY0idfic5Dndx4f5fs7Rh2NQw2IHpW1rlV
 e7a+KUzBnf0g1aYDUpMg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJ8DO+iL
 9sv+Znilo/vE7XBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XnRfTAKtao2zhojx/9
 DlCnZyvWQsjJaDiosoUbTRnOnhmIep86JaSdBBTseTLp6HHW37lwvEoB0AqJ4wIvO1wBAmi9
 9RBdmpLNErawbvrnvTrEYGAhex6RCXvFIoZpnFnyyCfFfs8SIrPa67L+cVZzHE7gcUm8fP2O
 ZBHMGc2M02ojxtnC1xJL6lltdiU33jEfh5Zg1+fhoBp/D2GpOB2+Oe0a4eEEjCQfu1rmUKfq
 nPD7n7OKBgQP9yCyhKI6nupwOTImEvTR4Y6BLC+sPlwjzW71mEVTREbS1a/if24kVKlHcJSL
 VQO/SgjprR081akJvH3UgekuneCslgZUsBJDuwhwAiXz+zf5APxLmkbTBZRZdo+rsg0SDc2k
 FiTkLvBBzZirbmUQnK17aqPoHW5Pi19BXQZeSYOQA8B4t/iiII+lBTCSpBkCqHdpt/oHTD9x
 RiaoS54gK8c5fPnzI3iowqB2Wj14MGUEEhlvW07Q15J8Ct5e56pbZelx2L15MhtE6/AVkXGh
 mgtzp32AP81MbmBkymEQeMoFb6v5uqYPDC0vWODD6XN5Bz2pSf9INk4DCVWYR4wb51aIWOBj
 Fr74FsJvPdu0G2Wgbibim5bI+Aj1uDeGNvsTZg4hfIeM8EqJGdrEMyDDHN8PlwBcmBxycnT2
 r/BKK5A6Er274w9k1JaoM9HgNcWKtgWnz+7eHwC503PPUCiTHCUU6wZF1CFc/o06qiJyC2Mr
 YoFa5fWmksDC7ejCsUyzWL1BQpVRZTcLcqnw/G7i8bZelY2cI3fI6K5LUwdl3xNwP0Oy7agE
 oCVUU5E0lvv7UAr2i3RAk2PnIjHBM4lxVpiZHREFQ/xhxALPNjzhI9CKcpfVeR3pYRLkK8vJ
 9FYKproPxi6Ymmdk9jrRcOj/NUKmdXCrV/mAhdJlxBkLsEwHFKYq4a0FuYtnQFXZheKWQIFi
 +XI/mvmrVArHWyO1e7aN6CiyU2fp38YlL4gVkfEOIALKk7t7JJrO2r6ifpue5MALhDKxz270
 QeKAEhH+bmR8tFtqNSZ17qZq4qJEvdlGhYIFWfs8rvrZzLR+XCuwNEcXb/QLyzdTm795I6re
 f5Rk6PnKPQCkVsT69h8Hr9nwLgQ/dzqo7MGnA1oEG+SNwagC696I2nA1s5K7/UfyrhcsAqwe
 0SO5tgFZunZZJK7SAYcfVN3YP6C2PcYnijpwc40eEiqtjVq+LenUFlJO0XegiJqM7YoYpgux
 v0suZBK5lXn2AYqKNuPkgtd63+Ici4bS6wiu5wXXN3rhw4sxg0QaJDQEHarspSGatEKOUg2O
 D6EwqHFgu0ElEbFdnMyE1nL3PZc2stS6EwbkgdaKgTbgMfBi982wAZVoGY+QQlixxla1/5+Z
 zpwPEpvKKTSpzpliaCvhYx3992t0PFBxnHM9g==
IronPort-HdrOrdr: A9a23:z46oZqNLsjutOMBcTsWjsMiBIKoaSvp037BN7TEXdfU1SL39qy
 nKpp8mPHDP5Ar5NEtOpTniAsm9qBHnm6KdiLN5Vd3OYOCMggqVBbAnwYz+wyDxXw3Sn9QtsJ
 uIqpIOa+EY22IK7/rH3A==
X-IronPort-AV: E=Sophos;i="5.88,297,1635220800"; 
   d="scan'208";a="62615171"
Date: Tue, 18 Jan 2022 11:06:26 +0000
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>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, "Bertrand
 Marquis" <bertrand.marquis@arm.com>, Roger Pau =?iso-8859-1?Q?Monn=E9?=
	<roger.pau@citrix.com>, <xen-devel@lists.xenproject.org>
Subject: Re: [XEN PATCH v8 27/47] build: grab common EFI source files in arch
 specific dir
Message-ID: <YeafMh0du+5K8YDD@perard>
References: <20211125134006.1076646-1-anthony.perard@citrix.com>
 <20211125134006.1076646-28-anthony.perard@citrix.com>
 <57f03aed-c260-1c80-c604-0223d4603b4a@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <57f03aed-c260-1c80-c604-0223d4603b4a@suse.com>

On Tue, Dec 21, 2021 at 02:53:49PM +0100, Jan Beulich wrote:
> On 25.11.2021 14:39, Anthony PERARD wrote:
> > Rather than preparing the efi source file, we will make the symbolic
> > link as needed from the build location.
> > 
> > The `ln` command is run every time to allow to update the link in case
> > the source tree change location.
> 
> Btw, since symlinks aren't being liked, would there be a way to make
> things work using vpath?

No, that's not possible. With "vpath = /build/xen/common/efi", make
would look at path "/build/xen/common/efi/arch/x86/efi/runtime.c" to
build "arch/x86/efi/runtime.o".

> > This patch also introduce "efi_common.mk" which allow to reuse the
> > common make instructions without having to duplicate them into each
> > arch.
> > 
> > And now that we have a list of common source file, we can start to
> > remove the links to the source files on clean.
> > 
> > Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> > ---
> > 
> > Notes:
> >     v8:
> >     - use symbolic link instead of making a copy of the source
> >     - introduce efi_common.mk
> >     - remove links to source file on clean
> >     - use -iquote for "efi.h" headers in common/efi
> > 
> >  xen/Makefile                 |  5 -----
> >  xen/arch/arm/efi/Makefile    |  4 ++--
> >  xen/arch/x86/Makefile        |  1 +
> >  xen/arch/x86/efi/Makefile    |  5 +----
> >  xen/common/efi/efi_common.mk | 12 ++++++++++++
> 
> Could I talk you into avoiding _ when - is suitable, which is the case not
> only for (non-exported) make variables, but also file names?

I'll try. I'll change this one.

> > --- a/xen/arch/arm/efi/Makefile
> > +++ b/xen/arch/arm/efi/Makefile
> > @@ -1,4 +1,4 @@
> > -CFLAGS-y += -fshort-wchar
> > +include $(srctree)/common/efi/efi_common.mk
> >  
> > -obj-y += boot.init.o pe.init.o ebmalloc.o runtime.o
> > +obj-y += $(EFIOBJ-y)
> >  obj-$(CONFIG_ACPI) +=  efi-dom0.init.o
> > diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
> > index e8151bf4b111..eabd8d3919a4 100644
> > --- a/xen/arch/x86/Makefile
> > +++ b/xen/arch/x86/Makefile
> > @@ -79,6 +79,7 @@ endif
> >  
> >  # Allows "clean" to descend into boot/
> >  subdir- += boot
> > +subdir- += efi
> 
> This renders the comment stale - please generalize it.
> 
> Also, any reason a similar adjustment isn't needed for Arm?

Yes, there's already "obj- += efi/" on the arm side. On x86, efi/ is
only in ALL_OBJS which make.clean doesn't use.

> > --- /dev/null
> > +++ b/xen/common/efi/efi_common.mk
> > @@ -0,0 +1,12 @@
> > +EFIOBJ-y := boot.init.o pe.init.o ebmalloc.o runtime.o
> > +EFIOBJ-$(CONFIG_COMPAT) += compat.o
> > +
> > +CFLAGS-y += -fshort-wchar
> > +CFLAGS-y += -iquote $(srctree)/common/efi
> > +
> > +$(obj)/%.c: $(abs_srctree)/common/efi/%.c FORCE
> > +	$(Q)ln -nfs $< $@
> 
> Like was the case before, I think it would be better if the links were
> relative ones, at least when srctree == objtree (but ideally always).

I can give it a try.

> > +clean-files += $(patsubst %.o,%.c, $(EFIOBJ-y:.init.o=.o) $(EFIOBJ-))
> 
> Nit: Please be consistent (at least within a single line) about blanks
> following commas.

You mean to never put spaces after a comma because they are sometime
significant? That's the only way I know how to be consistent.

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 11:10:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 11:10:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258446.445092 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9mNU-0004iM-Cv; Tue, 18 Jan 2022 11:10:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258446.445092; Tue, 18 Jan 2022 11:10:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9mNU-0004iF-90; Tue, 18 Jan 2022 11:10:16 +0000
Received: by outflank-mailman (input) for mailman id 258446;
 Tue, 18 Jan 2022 11:10:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lNq4=SC=eikelenboom.it=linux@srs-se1.protection.inumbo.net>)
 id 1n9mNR-0004i1-Du
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 11:10:14 +0000
Received: from server.eikelenboom.it (server.eikelenboom.it [91.121.65.215])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 32faa34a-784f-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 12:10:09 +0100 (CET)
Received: from 76-24-144-85.ftth.glasoperator.nl ([85.144.24.76]:46966
 helo=[172.16.1.50])
 by server.eikelenboom.it with esmtpsa (TLS1.2) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2)
 (envelope-from <linux@eikelenboom.it>)
 id 1n9m7x-0005gz-AN; Tue, 18 Jan 2022 11:54:13 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 32faa34a-784f-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=eikelenboom.it; s=20180706; h=Content-Transfer-Encoding:Content-Type:
	MIME-Version:Date:Message-ID:Cc:To:Subject:From:Sender:Reply-To: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=fweT58g+nzRNYrbee5HhkkpgpSfuMakuvHFsyP2sN3o=; b=lcIKpN1PT4rkKIUhL6HOY91Q9z
	kkxzSICIEpfdJi8/abkot2dF0i4yscsWOoAZjshLiilgnc8V1oEGTRG5hyVfHd+iO3Sdw/O548VRN
	iHjosC+q4F4nggOh89mDVn1nZtQbXIvq2QfdgGZgCcVemFeXBD+Qs2p5HZIo6VrjmIo8=;
From: Sander Eikelenboom <linux@eikelenboom.it>
Subject: Regression booting Linux kernel 5.16.1 under Xen: Failed to update
 kernel mapping for mfn=6930582 pfn=524288
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Juergen Gross <jgross@suse.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>
Message-ID: <d3ba970c-3930-fb4e-4fd2-4246700fd11e@eikelenboom.it>
Date: Tue, 18 Jan 2022 11:53:26 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: nl-NL
Content-Transfer-Encoding: 7bit

L.S.,

Both Linux kernel 5.16.0 and 5.16.1 fail to boot as Dom0 under xen-unstable and crash early in boot on my hardware.
With Linux 5.15.13 it boots fine. Serial log is below.

--
Sander



  __  __            _  _    _ _____                  _        _     _
  \ \/ /___ _ __   | || |  / |___  | _   _ _ __  ___| |_ __ _| |__ | | ___
   \  // _ \ '_ \  | || |_ | |  / /_| | | | '_ \/ __| __/ _` | '_ \| |/ _ \
   /  \  __/ | | | |__   _|| | / /__| |_| | | | \__ \ || (_| | |_) | |  __/
  /_/\_\___|_| |_|    |_|(_)_|/_/    \__,_|_| |_|___/\__\__,_|_.__/|_|\___|

(XEN) [0000001b0dcbb4f3] Xen version 4.17-unstable (root@dyndns.org) (gcc (Debian 8.3.0-6) 8.3.0) debug=y Mon Jan 10 12:12:50 CET 2022
(XEN) [0000001b148a4b40] Latest ChangeSet: Thu Jan 6 16:12:39 2022 +0100 git:ced5685208
(XEN) [0000001b18f43943] build-id: b35a2db45523c90536e3926c378d9e07cc54a5dd
(XEN) [0000001b1cc5ab10] Bootloader: GRUB 2.02+dfsg1-20+deb10u4
(XEN) [0000001b1ffedeb8] Command line: dom0_mem=2048M,max:2048M loglvl=all guest_loglvl=all console_timestamps=datems vga=gfx-1280x1024x32 no-cpuidle com1=38400,8n1 console=vga,com1 ivrs_ioapic[6]=00:14.0 iommu=on,verbose,debug conring_size=128k ucode=scan sched=credit2 gnttab_max_frames=64 reboot=a
(XEN) [0000001b2ef8ee5e] Xen image load base address: 0
(XEN) [0000001b31cc8d9a] Video information:
(XEN) [0000001b3407cb63]  VGA is graphics mode 1280x1024, 32 bpp
(XEN) [0000001b374dc4b3]  VBE/DDC methods: V2; EDID transfer time: 1 seconds
(XEN) [0000001b3b2be9cd] Disc information:
(XEN) [0000001b3d5a8f53]  Found 4 MBR signatures
(XEN) [0000001b3fd55c5e]  Found 4 EDD information structures
(XEN) [0000001b42e8717e] CPU Vendor: AMD, Family 16 (0x10), Model 10 (0xa), Stepping 0 (raw 00100fa0)
(XEN) [0000001b48040516] Xen-e820 RAM map:
(XEN) [0000001b4a3297f3]  [0000000000000000, 00000000000963ff] (usable)
(XEN) [0000001b4dd165de]  [0000000000096400, 000000000009ffff] (reserved)
(XEN) [0000001b51899605]  [00000000000e4000, 00000000000fffff] (reserved)
(XEN) [0000001b5541b55a]  [0000000000100000, 00000000c7f8ffff] (usable)
(XEN) [0000001b58e06b73]  [00000000c7f90000, 00000000c7f9dfff] (ACPI data)
(XEN) [0000001b5ca54d9b]  [00000000c7f9e000, 00000000c7fdffff] (ACPI NVS)
(XEN) [0000001b605d8132]  [00000000c7fe0000, 00000000c7ffffff] (reserved)
(XEN) [0000001b641590e5]  [00000000ffe00000, 00000000ffffffff] (reserved)
(XEN) [0000001b67cdc533]  [0000000100000000, 00000006b7ffffff] (usable)
(XEN) [0000001b715ce9d2] New Xen image base address: 0xc7800000
(XEN) [0000001b7495f3bd] ACPI: RSDP 000FB100, 0014 (r0 ACPIAM)
(XEN) [0000001b77c280ad] ACPI: RSDT C7F90000, 0048 (r1 MSI    OEMSLIC  20100913 MSFT       97)
(XEN) [0000001b7c853af0] ACPI: FACP C7F90200, 0084 (r1 7640MS A7640100 20100913 MSFT       97)
(XEN) [0000001b81480525] ACPI: DSDT C7F905E0, 9427 (r1  A7640 A7640100      100 INTL 20051117)
(XEN) [0000001b860aa800] ACPI: FACS C7F9E000, 0040
(XEN) [0000001b889ee203] ACPI: APIC C7F90390, 0088 (r1 7640MS A7640100 20100913 MSFT       97)
(XEN) [0000001b8d61a07a] ACPI: MCFG C7F90420, 003C (r1 7640MS OEMMCFG  20100913 MSFT       97)
(XEN) [0000001b9224616d] ACPI: SLIC C7F90460, 0176 (r1 MSI    OEMSLIC  20100913 MSFT       97)
(XEN) [0000001b96e720ad] ACPI: OEMB C7F9E040, 0072 (r1 7640MS A7640100 20100913 MSFT       97)
(XEN) [0000001b9ba9e2ed] ACPI: SRAT C7F9A5E0, 0108 (r3 AMD    FAM_F_10        2 AMD         1)
(XEN) [0000001ba06ca34d] ACPI: HPET C7F9A6F0, 0038 (r1 7640MS OEMHPET  20100913 MSFT       97)
(XEN) [0000001ba52f67cd] ACPI: IVRS C7F9A730, 0108 (r1  AMD     RD890S   202031 AMD         0)
(XEN) [0000001ba9f22920] ACPI: SSDT C7F9A840, 0DA4 (r1 A M I  POWERNOW        1 AMD         1)
(XEN) [0000001baeb4e776] System RAM: 26623MB (27262104kB)
(XEN) [0000001bbc9a237a] SRAT: Node 0 PXM 0 0-a0000
(XEN) [0000001bbf3aeee6] SRAT: Node 0 PXM 0 100000-c8000000
(XEN) [0000001bc2415b3a] SRAT: Node 0 PXM 0 100000000-6b8000000
(XEN) [0000001bc57a825a] NUMA: Allocated memnodemap from 6a4b2f000 - 6a4b36000
(XEN) [0000001bc97225cb] NUMA: Using 8 for the hash shift.
(XEN) [0000001c2f923edd] Domain heap initialised
(XEN) [0000001c320d106a] Allocated console ring of 128 KiB.
(XEN) [0000001c483551ed] vesafb: framebuffer at 0x00000000fb000000, mapped to 0xffff82c000201000, using 6144k, total 14336k
(XEN) [0000001c4e684dee] vesafb: mode is 1280x1024x32, linelength=5120, font 8x16
(XEN) [0000001c5285ece5] vesafb: Truecolor: size=8:8:8:8, shift=24:16:8:0
(XEN) [0000001c5a9b3d32] found SMP MP-table at 000ff780
(XEN) [0000001c5d6eabd5] DMI present.
(XEN) [0000001c5f5dd0ca] AMD-Vi: IVRS Block: Found type 0x10 flags 0x3e len 0xd8 id 0x2
(XEN) [0000001c63c7bf86] AMD-Vi: Using IVHD type 0x10
(XEN) [0000001c6681efaa] AMD-Vi: EFRSup not set in ACPI table; will fall back to hardware
(XEN) [0000001c6b052ea5] AMD-Vi: Found MSI capability block at 0x54
(XEN) [0000001c6e713f6d] Using APIC driver default
(XEN) [0000001c71055a85] ACPI: PM-Timer IO Port: 0x808 (32 bits)
(XEN) [0000001c744b2ac6] ACPI: SLEEP INFO: pm1x_cnt[1:804,1:0], pm1x_evt[1:800,1:0]
(XEN) [0000001c788254c0] ACPI:             wakeup_vec[c7f9e00c], vec_size[20]
(XEN) [0000001c7c6d3df3] ACPI: Local APIC address 0xfee00000
(XEN) [0000001c7f806a52] ACPI: IOAPIC (id[0x06] address[0xfec00000] gsi_base[0])
(XEN) [0000001c83915965] IOAPIC[0]: apic_id 6, version 33, address 0xfec00000, GSI 0-23
(XEN) [0000001c87fb44ae] ACPI: IOAPIC (id[0x07] address[0xfec20000] gsi_base[24])
(XEN) [0000001c8c18f965] IOAPIC[1]: apic_id 7, version 33, address 0xfec20000, GSI 24-55
(XEN) [0000001c908f88b6] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
(XEN) [0000001c94ad3815] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
(XEN) [0000001c98e45f36] ACPI: IRQ0 used by override.
(XEN) [0000001c9b9eae76] ACPI: IRQ2 used by override.
(XEN) [0000001c9e58e016] ACPI: IRQ9 used by override.
(XEN) [0000001ca11315cd] ACPI: HPET id: 0x8300 base: 0xfed00000
(XEN) [0000001ca44c59e3] PCI: MCFG configuration 0: base e0000000 segment 0000 buses 00 - ff
(XEN) [0000001ca8f5aa0d] PCI: Not using MCFG for segment 0000 bus 00-ff
(XEN) [0000001cac9468bd] Using ACPI (MADT) for SMP configuration information
(XEN) [0000001cb072a3bb] SMP: Allowing 6 CPUs (0 hotplug CPUs)
(XEN) [0000001cb39f1ba2] IRQ limits: 56 GSI, 1192 MSI/MSI-X
(XEN) [0000001cb6a593ca] microcode: CPU0 updated from revision 0x10000bf to 0x10000dc, date = 2011-10-24
(XEN) [0000001cbbe749c3] No SSBD controls available
(XEN) [0000001cbe881d6a] CPU0: 3200 (800 ... 3600) MHz
(XEN) [0000001cc14f20bb] CPU0: AMD Fam10h machine check reporting enabled
(XEN) [0000001cc5073336] Speculative mitigation facilities:
(XEN) [0000001cc80d975b]   Hardware hints:
(XEN) [0000001cca3c3272]   Hardware features:
(XEN) [0000001ccc90e37a]   Compiled-in support: INDIRECT_THUNK SHADOW_PAGING
(XEN) [0000001cd06f22fe]   Xen settings: BTI-Thunk LFENCE, SPEC_CTRL: No, Other: BRANCH_HARDEN
(XEN) [0000001cd531e0a2]   Support for HVM VMs: RSB
(XEN) [0000001cd7d2c6e2]   Support for PV VMs: RSB
(XEN) [0000001cda66e30a]   XPTI (64-bit PV only): Dom0 disabled, DomU disabled (without PCID)
(XEN) [0000001cdf1cee12]   PV L1TF shadowing: Dom0 disabled, DomU disabled
(XEN) [0000001ce2e1d868] Using scheduler: SMP Credit Scheduler rev2 (credit2)
(XEN) [0000001ce6ccc4b2] Initializing Credit2 scheduler
(XEN) [0000001ce9a05b18]  load_precision_shift: 18
(XEN) [0000001cec347966]  load_window_shift: 30
(XEN) [0000001ceea29722]  underload_balance_tolerance: 0
(XEN) [0000001cf182efd8]  overload_balance_tolerance: -3
(XEN) [0000001cf46347c2]  runqueues arrangement: socket
(XEN) [0000001cf736e2eb]  cap enforcement granularity: 10ms
(XEN) [0000001cfa3d5730] load tracking window length 1073741824 ns
(XEN) [0000001d07141acb] Platform timer is 14.318MHz HPET
(XEN) [    3.477854] Detected 3200.139 MHz processor.
(XEN) [    3.494274] Freed 1024kB unused BSS memory
(XEN) [    3.508052] alt table ffff82d040492650 -> ffff82d04049ffa4
(XEN) [    3.534558] AMD-Vi: ACPI Table:
(XEN) [    3.545478] AMD-Vi:  Signature IVRS
(XEN) [    3.557438] AMD-Vi:  Length 0x108
(XEN) [    3.568877] AMD-Vi:  Revision 0x1
(XEN) [    3.580318] AMD-Vi:  CheckSum 0x79
(XEN) [    3.592016] AMD-Vi:  OEM_Id AMD
(XEN) [    3.603457] AMD-Vi:  OEM_Table_Id RD890S
(XEN) [    3.616714] AMD-Vi:  OEM_Revision 0x202031
(XEN) [    3.630494] AMD-Vi:  Creator_Id AMD
(XEN) [    3.642715] AMD-Vi:  Creator_Revision 0
(XEN) [    3.655714] AMD-Vi: IVRS Block: type 0x10 flags 0x3e len 0xd8 id 0x2
(XEN) [    3.676253] AMD-Vi: IVHD Device Entry: type 0x3 id 0 flags 0
(XEN) [    3.700015] AMD-Vi:  Dev_Id Range: 0 -> 0x2
(XEN) [    3.719332] AMD-Vi: IVHD Device Entry: type 0x2 id 0x10 flags 0
(XEN) [    3.743850] AMD-Vi: IVHD Device Entry: type 0x2 id 0xe00 flags 0
(XEN) [    3.768626] AMD-Vi: IVHD Device Entry: type 0x2 id 0x18 flags 0
(XEN) [    3.793103] AMD-Vi: IVHD Device Entry: type 0x2 id 0xd00 flags 0
(XEN) [    3.817828] AMD-Vi: IVHD Device Entry: type 0x2 id 0x28 flags 0
(XEN) [    3.842319] AMD-Vi: IVHD Device Entry: type 0x2 id 0xc00 flags 0
(XEN) [    3.867110] AMD-Vi: IVHD Device Entry: type 0x2 id 0x30 flags 0
(XEN) [    3.891626] AMD-Vi: IVHD Device Entry: type 0x2 id 0xb00 flags 0
(XEN) [    3.916351] AMD-Vi: IVHD Device Entry: type 0x2 id 0x48 flags 0
(XEN) [    3.940829] AMD-Vi: IVHD Device Entry: type 0x2 id 0xa00 flags 0
(XEN) [    3.965581] AMD-Vi: IVHD Device Entry: type 0x2 id 0x50 flags 0
(XEN) [    3.990045] AMD-Vi: IVHD Device Entry: type 0x3 id 0x900 flags 0
(XEN) [    4.014719] AMD-Vi:  Dev_Id Range: 0x900 -> 0x907
(XEN) [    4.035480] AMD-Vi: IVHD Device Entry: type 0x2 id 0x60 flags 0
(XEN) [    4.059839] AMD-Vi: IVHD Device Entry: type 0x2 id 0x500 flags 0
(XEN) [    4.084487] AMD-Vi: IVHD Device Entry: type 0x2 id 0x608 flags 0
(XEN) [    4.109095] AMD-Vi: IVHD Device Entry: type 0x2 id 0x800 flags 0
(XEN) [    4.133741] AMD-Vi: IVHD Device Entry: type 0x2 id 0x610 flags 0
(XEN) [    4.158439] AMD-Vi: IVHD Device Entry: type 0x2 id 0x700 flags 0
(XEN) [    4.183125] AMD-Vi: IVHD Device Entry: type 0x2 id 0x68 flags 0
(XEN) [    4.207553] AMD-Vi: IVHD Device Entry: type 0x3 id 0x400 flags 0
(XEN) [    4.232185] AMD-Vi:  Dev_Id Range: 0x400 -> 0x407
(XEN) [    4.252934] AMD-Vi: IVHD Device Entry: type 0x2 id 0x88 flags 0
(XEN) [    4.277294] AMD-Vi: IVHD Device Entry: type 0x3 id 0x90 flags 0
(XEN) [    4.301668] AMD-Vi:  Dev_Id Range: 0x90 -> 0x92
(XEN) [    4.321816] AMD-Vi: IVHD Device Entry: type 0x3 id 0x98 flags 0
(XEN) [    4.346128] AMD-Vi:  Dev_Id Range: 0x98 -> 0x9a
(XEN) [    4.366276] AMD-Vi: IVHD Device Entry: type 0x2 id 0xa0 flags 0xd7
(XEN) [    4.391391] AMD-Vi: IVHD Device Entry: type 0x2 id 0xa2 flags 0
(XEN) [    4.415726] AMD-Vi: IVHD Device Entry: type 0x2 id 0xa3 flags 0
(XEN) [    4.440086] AMD-Vi: IVHD Device Entry: type 0x2 id 0xa4 flags 0
(XEN) [    4.464526] AMD-Vi: IVHD Device Entry: type 0 id 0 flags 0
(XEN) [    4.487613] AMD-Vi: IVHD Device Entry: type 0x43 id 0x300 flags 0
(XEN) [    4.512531] AMD-Vi:  Dev_Id Range: 0x300 -> 0x3ff alias 0xa4
(XEN) [    4.536127] AMD-Vi: IVHD Device Entry: type 0x2 id 0xa5 flags 0
(XEN) [    4.560551] AMD-Vi: IVHD Device Entry: type 0x2 id 0xa8 flags 0
(XEN) [    4.584938] AMD-Vi: IVHD Device Entry: type 0x2 id 0xa9 flags 0
(XEN) [    4.609275] AMD-Vi: IVHD Device Entry: type 0x2 id 0x100 flags 0
(XEN) [    4.633895] AMD-Vi: IVHD Device Entry: type 0x3 id 0xb0 flags 0
(XEN) [    4.658230] AMD-Vi:  Dev_Id Range: 0xb0 -> 0xb2
(XEN) [    4.678431] AMD-Vi: IVHD Device Entry: type 0 id 0 flags 0
(XEN) [    4.701531] AMD-Vi: IVHD Device Entry: type 0x48 id 0 flags 0xd7
(XEN) [    4.726205] AMD-Vi: IVHD Special: 0000:00:14.0 variety 0x2 handle 0
(XEN) [    4.751684] AMD-Vi: IVHD Device Entry: type 0x48 id 0 flags 0
(XEN) [    4.775628] AMD-Vi: IVHD Special: 0000:00:00.1 variety 0x1 handle 0x7
(XEN) [    4.801808] AMD-Vi: Disabled HAP memory map sharing with IOMMU
(XEN) [    4.826078] AMD-Vi: using 256-entry cmd ring(s)
(XEN) [    4.846475] AMD-Vi: IOMMU 0 Enabled.
(XEN) [    4.864089] I/O virtualisation enabled
(XEN) [    4.882067]  - Dom0 mode: Relaxed
(XEN) [    4.898706] Interrupt remapping enabled
(XEN) [    4.916931] nr_sockets: 1
(XEN) [    4.931504] Enabling APIC mode:  Flat.  Using 2 I/O APICs
(XEN) [    4.954773] ENABLING IO-APIC IRQs
(XEN) [    4.971491]  -> Using new ACK method
(XEN) [    4.989169] ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1
(XEN) [2022-01-18 10:40:41.000] HVM: ASIDs enabled.
(XEN) [2022-01-18 10:40:41.006] SVM: Supported advanced features:
(XEN) [2022-01-18 10:40:41.012]  - Nested Page Tables (NPT)
(XEN) [2022-01-18 10:40:41.018]  - Last Branch Record (LBR) Virtualisation
(XEN) [2022-01-18 10:40:41.024]  - Next-RIP Saved on #VMEXIT
(XEN) [2022-01-18 10:40:41.030]  - Pause-Intercept Filter
(XEN) [2022-01-18 10:40:41.036] HVM: SVM enabled
(XEN) [2022-01-18 10:40:41.042] HVM: Hardware Assisted Paging (HAP) detected
(XEN) [2022-01-18 10:40:41.048] HVM: HAP page sizes: 4kB, 2MB, 1GB
(XEN) [2022-01-18 10:40:41.055] alt table ffff82d040492650 -> ffff82d04049ffa4
(XEN) [2022-01-18 10:40:35.778] microcode: CPU1 updated from revision 0x10000bf to 0x10000dc, date = 2011-10-24
(XEN) [2022-01-18 10:40:35.778] microcode: CPU2 updated from revision 0x10000bf to 0x10000dc, date = 2011-10-24
(XEN) [2022-01-18 10:40:35.778] microcode: CPU3 updated from revision 0x10000bf to 0x10000dc, date = 2011-10-24
(XEN) [2022-01-18 10:40:35.778] microcode: CPU4 updated from revision 0x10000bf to 0x10000dc, date = 2011-10-24
(XEN) [2022-01-18 10:40:35.778] microcode: CPU5 updated from revision 0x10000bf to 0x10000dc, date = 2011-10-24
(XEN) [2022-01-18 10:40:41.145] Brought up 6 CPUs
(XEN) [2022-01-18 10:40:41.158] Scheduling granularity: cpu, 1 CPU per sched-resource
(XEN) [2022-01-18 10:40:41.164] Adding cpu 0 to runqueue 0
(XEN) [2022-01-18 10:40:41.170]  First cpu on runqueue, activating
(XEN) [2022-01-18 10:40:41.176] Adding cpu 1 to runqueue 0
(XEN) [2022-01-18 10:40:41.182] Adding cpu 2 to runqueue 0
(XEN) [2022-01-18 10:40:41.189] Adding cpu 3 to runqueue 0
(XEN) [2022-01-18 10:40:41.195] Adding cpu 4 to runqueue 0
(XEN) [2022-01-18 10:40:41.201] Adding cpu 5 to runqueue 0
(XEN) [2022-01-18 10:40:41.207] MCA: Use hw thresholding to adjust polling frequency
(XEN) [2022-01-18 10:40:41.213] mcheck_poll: Machine check polling timer started.
(XEN) [2022-01-18 10:40:41.219] Xenoprofile: Failed to setup IBS LVT offset, IBSCTL = 0xffffffff
(XEN) [2022-01-18 10:40:41.226] Running stub recovery selftests...
(XEN) [2022-01-18 10:40:41.232] Fixup #UD[0000]: ffff82d07fffe040 [ffff82d07fffe040] -> ffff82d040392839
(XEN) [2022-01-18 10:40:41.238] Fixup #GP[0000]: ffff82d07fffe041 [ffff82d07fffe041] -> ffff82d040392839
(XEN) [2022-01-18 10:40:41.245] Fixup #SS[0000]: ffff82d07fffe040 [ffff82d07fffe040] -> ffff82d040392839
(XEN) [2022-01-18 10:40:41.251] Fixup #BP[0000]: ffff82d07fffe041 [ffff82d07fffe041] -> ffff82d040392839
(XEN) [2022-01-18 10:40:41.278] NX (Execute Disable) protection active
(XEN) [2022-01-18 10:40:41.284] Multiple initrd candidates, picking module #1
(XEN) [2022-01-18 10:40:41.290] Dom0 has maximum 680 PIRQs
(XEN) [2022-01-18 10:40:41.297] *** Building a PV Dom0 ***
(XEN) [2022-01-18 10:40:41.522] ELF: phdr: paddr=0x1000000 memsz=0x1ca1a40
(XEN) [2022-01-18 10:40:41.528] ELF: phdr: paddr=0x2e00000 memsz=0xbed000
(XEN) [2022-01-18 10:40:41.534] ELF: phdr: paddr=0x39ed000 memsz=0x2c458
(XEN) [2022-01-18 10:40:41.541] ELF: phdr: paddr=0x3a1a000 memsz=0x40c000
(XEN) [2022-01-18 10:40:41.547] ELF: memory: 0x1000000 -> 0x3e26000
(XEN) [2022-01-18 10:40:41.554] ELF: note: GUEST_OS = "linux"
(XEN) [2022-01-18 10:40:41.560] ELF: note: GUEST_VERSION = "2.6"
(XEN) [2022-01-18 10:40:41.566] ELF: note: XEN_VERSION = "xen-3.0"
(XEN) [2022-01-18 10:40:41.573] ELF: note: VIRT_BASE = 0xffffffff80000000
(XEN) [2022-01-18 10:40:41.579] ELF: note: INIT_P2M = 0x8000000000
(XEN) [2022-01-18 10:40:41.586] ELF: note: ENTRY = 0xffffffff83a1a160
(XEN) [2022-01-18 10:40:41.592] ELF: note: HYPERCALL_PAGE = 0xffffffff821da000
(XEN) [2022-01-18 10:40:41.598] ELF: note: FEATURES = "!writable_page_tables|pae_pgdir_above_4gb"
(XEN) [2022-01-18 10:40:41.605] ELF: note: SUPPORTED_FEATURES = 0x8801
(XEN) [2022-01-18 10:40:41.611] ELF: note: PAE_MODE = "yes"
(XEN) [2022-01-18 10:40:41.618] ELF: note: LOADER = "generic"
(XEN) [2022-01-18 10:40:41.624] ELF: note: unknown (0xd)
(XEN) [2022-01-18 10:40:41.630] ELF: note: SUSPEND_CANCEL = 0x1
(XEN) [2022-01-18 10:40:41.637] ELF: note: MOD_START_PFN = 0x1
(XEN) [2022-01-18 10:40:41.643] ELF: note: HV_START_LOW = 0xffff800000000000
(XEN) [2022-01-18 10:40:41.650] ELF: note: PADDR_OFFSET = 0
(XEN) [2022-01-18 10:40:41.656] ELF: note: PHYS32_ENTRY = 0x10004a0
(XEN) [2022-01-18 10:40:41.663] ELF: addresses:
(XEN) [2022-01-18 10:40:41.669]     virt_base        = 0xffffffff80000000
(XEN) [2022-01-18 10:40:41.676]     elf_paddr_offset = 0x0
(XEN) [2022-01-18 10:40:41.682]     virt_offset      = 0xffffffff80000000
(XEN) [2022-01-18 10:40:41.689]     virt_kstart      = 0xffffffff81000000
(XEN) [2022-01-18 10:40:41.695]     virt_kend        = 0xffffffff83e26000
(XEN) [2022-01-18 10:40:41.702]     virt_entry       = 0xffffffff83a1a160
(XEN) [2022-01-18 10:40:41.709]     p2m_base         = 0x8000000000
(XEN) [2022-01-18 10:40:41.715]  Xen  kernel: 64-bit, lsb
(XEN) [2022-01-18 10:40:41.722]  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x3e26000
(XEN) [2022-01-18 10:40:41.729] PHYSICAL MEMORY ARRANGEMENT:
(XEN) [2022-01-18 10:40:41.736]  Dom0 alloc.:   000000069c000000->00000006a0000000 (500421 pages to be allocated)
(XEN) [2022-01-18 10:40:41.743]  Init. ramdisk: 00000006b62c1000->00000006b7ffb1b8
(XEN) [2022-01-18 10:40:41.750] VIRTUAL MEMORY ARRANGEMENT:
(XEN) [2022-01-18 10:40:41.757]  Loaded kernel: ffffffff81000000->ffffffff83e26000
(XEN) [2022-01-18 10:40:41.763]  Phys-Mach map: 0000008000000000->0000008000400000
(XEN) [2022-01-18 10:40:41.770]  Start info:    ffffffff83e26000->ffffffff83e264b8
(XEN) [2022-01-18 10:40:41.777]  Page tables:   ffffffff83e27000->ffffffff83e4a000
(XEN) [2022-01-18 10:40:41.784]  Boot stack:    ffffffff83e4a000->ffffffff83e4b000
(XEN) [2022-01-18 10:40:41.790]  TOTAL:         ffffffff80000000->ffffffff84000000
(XEN) [2022-01-18 10:40:41.797]  ENTRY ADDRESS: ffffffff83a1a160
(XEN) [2022-01-18 10:40:41.804] Dom0 has maximum 6 VCPUs
(XEN) [2022-01-18 10:40:41.811] ELF: phdr 0 at 0xffffffff81000000 -> 0xffffffff82ca1a40
(XEN) [2022-01-18 10:40:41.839] ELF: phdr 1 at 0xffffffff82e00000 -> 0xffffffff839ed000
(XEN) [2022-01-18 10:40:41.854] ELF: phdr 2 at 0xffffffff839ed000 -> 0xffffffff83a19458
(XEN) [2022-01-18 10:40:41.861] ELF: phdr 3 at 0xffffffff83a1a000 -> 0xffffffff83b79000
(XEN) [2022-01-18 10:40:43.557] AMD-Vi: Setup I/O page table: device id = 0, type = 0x6, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.564] AMD-Vi: Setup I/O page table: device id = 0x10, type = 0x2, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.571] AMD-Vi: Setup I/O page table: device id = 0x18, type = 0x2, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.579] AMD-Vi: Setup I/O page table: device id = 0x28, type = 0x2, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.586] AMD-Vi: Setup I/O page table: device id = 0x30, type = 0x2, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.593] AMD-Vi: Setup I/O page table: device id = 0x48, type = 0x2, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.601] AMD-Vi: Setup I/O page table: device id = 0x50, type = 0x2, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.608] AMD-Vi: Setup I/O page table: device id = 0x60, type = 0x2, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.616] AMD-Vi: Setup I/O page table: device id = 0x68, type = 0x2, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.624] AMD-Vi: Setup I/O page table: device id = 0x88, type = 0x7, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.631] AMD-Vi: Setup I/O page table: device id = 0x90, type = 0x7, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.639] AMD-Vi: Setup I/O page table: device id = 0x92, type = 0x7, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.647] AMD-Vi: Setup I/O page table: device id = 0x98, type = 0x7, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.655] AMD-Vi: Setup I/O page table: device id = 0x9a, type = 0x7, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.663] AMD-Vi: Setup I/O page table: device id = 0xa0, type = 0x7, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.671] AMD-Vi: Setup I/O page table: device id = 0xa2, type = 0x7, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.680] AMD-Vi: Setup I/O page table: device id = 0xa3, type = 0x7, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.688] AMD-Vi: Setup I/O page table: device id = 0xa4, type = 0x5, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.697] AMD-Vi: Setup I/O page table: device id = 0xa5, type = 0x7, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.705] AMD-Vi: Setup I/O page table: device id = 0xa8, type = 0x2, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.714] AMD-Vi: Setup I/O page table: device id = 0xb0, type = 0x7, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.723] AMD-Vi: Setup I/O page table: device id = 0xb2, type = 0x7, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.732] AMD-Vi: Skipping host bridge 0000:00:18.0
(XEN) [2022-01-18 10:40:43.741] AMD-Vi: Skipping host bridge 0000:00:18.1
(XEN) [2022-01-18 10:40:43.750] AMD-Vi: Skipping host bridge 0000:00:18.2
(XEN) [2022-01-18 10:40:43.759] AMD-Vi: Skipping host bridge 0000:00:18.3
(XEN) [2022-01-18 10:40:43.768] AMD-Vi: Skipping host bridge 0000:00:18.4
(XEN) [2022-01-18 10:40:43.776] AMD-Vi: Setup I/O page table: device id = 0x400, type = 0x1, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.786] AMD-Vi: Setup I/O page table: device id = 0x401, type = 0x1, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.795] AMD-Vi: Setup I/O page table: device id = 0x402, type = 0x1, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.804] AMD-Vi: Setup I/O page table: device id = 0x403, type = 0x1, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.814] AMD-Vi: Setup I/O page table: device id = 0x404, type = 0x1, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.823] AMD-Vi: Setup I/O page table: device id = 0x405, type = 0x1, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.833] AMD-Vi: Setup I/O page table: device id = 0x406, type = 0x1, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.843] AMD-Vi: Setup I/O page table: device id = 0x407, type = 0x1, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.853] AMD-Vi: Setup I/O page table: device id = 0x500, type = 0x2, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.863] AMD-Vi: Setup I/O page table: device id = 0x608, type = 0x2, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.873] AMD-Vi: Setup I/O page table: device id = 0x610, type = 0x2, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.884] AMD-Vi: Setup I/O page table: device id = 0x700, type = 0x1, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.894] AMD-Vi: Setup I/O page table: device id = 0x800, type = 0x1, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.905] AMD-Vi: Setup I/O page table: device id = 0x900, type = 0x1, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.915] AMD-Vi: Setup I/O page table: device id = 0x901, type = 0x1, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.926] AMD-Vi: Setup I/O page table: device id = 0x902, type = 0x1, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.937] AMD-Vi: Setup I/O page table: device id = 0x903, type = 0x1, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.948] AMD-Vi: Setup I/O page table: device id = 0x904, type = 0x1, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.959] AMD-Vi: Setup I/O page table: device id = 0x905, type = 0x1, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.970] AMD-Vi: Setup I/O page table: device id = 0x906, type = 0x1, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.982] AMD-Vi: Setup I/O page table: device id = 0x907, type = 0x1, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:43.993] AMD-Vi: Setup I/O page table: device id = 0xa00, type = 0x1, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:44.004] AMD-Vi: Setup I/O page table: device id = 0xb00, type = 0x1, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:44.016] AMD-Vi: Setup I/O page table: device id = 0xc00, type = 0x1, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:44.028] AMD-Vi: Setup I/O page table: device id = 0xd00, type = 0x1, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:44.039] AMD-Vi: Setup I/O page table: device id = 0xe00, type = 0x1, root table = 0x6a137a000, domain = 0, paging mode = 3
(XEN) [2022-01-18 10:40:44.058] Initial low memory virq threshold set at 0x4000 pages.
(XEN) [2022-01-18 10:40:44.070] Scrubbing Free RAM in background
(XEN) [2022-01-18 10:40:44.081] Std. Loglevel: All
(XEN) [2022-01-18 10:40:44.093] Guest Loglevel: All
(XEN) [2022-01-18 10:40:44.105] Xen is relinquishing VGA console.
(XEN) [2022-01-18 10:40:44.200] *** Serial input to DOM0 (type 'CTRL-a' three times to switch input)
(XEN) [2022-01-18 10:40:44.200] Freed 588kB init memory
mapping kernel into physical memory
about to get started...
[    0.000000] Linux version 5.16.1-20220118-doflr-mac80211debug+ (root@serveerstertje) (gcc (Debian 8.3.0-6) 8.3.0, GNU ld (GNU Binutils for Debian) 2.31.1) #1 SMP PREEMPT Tue Jan 18 10:49:09 CET 2022
[    0.000000] Command line: root=/dev/mapper/serveerstertje_ssd-root ro verbose earlyprintk=xen mem=2048M console=hvc0 scsi_mod.use_blk_mq=1 console=tty0 acpi_enforce_resources=lax max_loop=30 loop_max_part=10 r8169.use_dac=1 loglevel=10 nomodeset net.ifnames=0 biosdevname=0 xen-pciback.hide=(00:14.2)(04:00.*)(08:00.0)(09:00.*)(0a:00.0)(0d:00.0)
[    0.000000] x86/fpu: x87 FPU will use FXSAVE
[    0.000000] signal: max sigframe size: 1440
[    0.000000] Released 0 page(s)
[    0.000000] BIOS-provided physical RAM map:
[    0.000000] Xen: [mem 0x0000000000000000-0x0000000000095fff] usable
[    0.000000] Xen: [mem 0x0000000000096400-0x00000000000fffff] reserved
[    0.000000] Xen: [mem 0x0000000000100000-0x0000000080069fff] usable
[    0.000000] Xen: [mem 0x00000000c7f90000-0x00000000c7f9dfff] ACPI data
[    0.000000] Xen: [mem 0x00000000c7f9e000-0x00000000c7fdffff] ACPI NVS
[    0.000000] Xen: [mem 0x00000000c7fe0000-0x00000000c7ffffff] reserved
[    0.000000] Xen: [mem 0x00000000f6000000-0x00000000f6003fff] reserved
[    0.000000] Xen: [mem 0x00000000fec00000-0x00000000fec00fff] reserved
[    0.000000] Xen: [mem 0x00000000fec20000-0x00000000fec20fff] reserved
[    0.000000] Xen: [mem 0x00000000fee00000-0x00000000feefffff] reserved
[    0.000000] Xen: [mem 0x00000000ffe00000-0x00000000ffffffff] reserved
[    0.000000] Xen: [mem 0x000000fd00000000-0x000000ffffffffff] reserved
[    0.000000] printk: bootconsole [xenboot0] enabled
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] user-defined physical RAM map:
[    0.000000] user: [mem 0x0000000000000000-0x0000000000095fff] usable
[    0.000000] user: [mem 0x0000000000096400-0x00000000000fffff] reserved
[    0.000000] user: [mem 0x0000000000100000-0x000000007fffffff] usable
[    0.000000] user: [mem 0x00000000c7f90000-0x00000000c7f9dfff] ACPI data
[    0.000000] user: [mem 0x00000000c7f9e000-0x00000000c7fdffff] ACPI NVS
[    0.000000] user: [mem 0x00000000c7fe0000-0x00000000c7ffffff] reserved
[    0.000000] user: [mem 0x00000000f6000000-0x00000000f6003fff] reserved
[    0.000000] user: [mem 0x00000000fec00000-0x00000000fec00fff] reserved
[    0.000000] user: [mem 0x00000000fec20000-0x00000000fec20fff] reserved
[    0.000000] user: [mem 0x00000000fee00000-0x00000000feefffff] reserved
[    0.000000] user: [mem 0x00000000ffe00000-0x00000000ffffffff] reserved
[    0.000000] user: [mem 0x000000fd00000000-0x000000ffffffffff] reserved
[    0.000000] SMBIOS 2.5 present.
[    0.000000] DMI: MSI MS-7640/890FXA-GD70 (MS-7640)  , BIOS V1.8B1 09/13/2010
[    0.000000] Hypervisor detected: Xen PV
[    0.023838] tsc: Fast TSC calibration using PIT
[    0.023841] tsc: Detected 3200.101 MHz processor
[    0.023843] tsc: Detected 3200.138 MHz TSC
[    0.023951] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
[    0.023956] e820: remove [mem 0x000a0000-0x000fffff] usable
[    0.037056] AGP: No AGP bridge found
[    0.037178] last_pfn = 0x80000 max_arch_pfn = 0x400000000
[    0.037181] Disabled
[    0.037184] x86/PAT: MTRRs disabled, skipping PAT initialization too.
[    0.037189] x86/PAT: Configuration [0-7]: WB  WT  UC- UC  WC  WP  UC  UC
[    0.108383] RAMDISK: [mem 0x04000000-0x05d3afff]
[    0.108408] ACPI: Early table checksum verification disabled
[    0.109270] ACPI: RSDP 0x00000000000FB100 000014 (v00 ACPIAM)
[    0.109280] ACPI: RSDT 0x00000000C7F90000 000048 (v01 MSI    OEMSLIC  20100913 MSFT 00000097)
[    0.109302] ACPI: FACP 0x00000000C7F90200 000084 (v01 7640MS A7640100 20100913 MSFT 00000097)
[    0.109348] ACPI: DSDT 0x00000000C7F905E0 009427 (v01 A7640  A7640100 00000100 INTL 20051117)
[    0.109357] ACPI: FACS 0x00000000C7F9E000 000040
[    0.109366] ACPI: APIC 0x00000000C7F90390 000088 (v01 7640MS A7640100 20100913 MSFT 00000097)
[    0.109375] ACPI: MCFG 0x00000000C7F90420 00003C (v01 7640MS OEMMCFG  20100913 MSFT 00000097)
[    0.109384] ACPI: SLIC 0x00000000C7F90460 000176 (v01 MSI    OEMSLIC  20100913 MSFT 00000097)
[    0.109392] ACPI: OEMB 0x00000000C7F9E040 000072 (v01 7640MS A7640100 20100913 MSFT 00000097)
[    0.109402] ACPI: SRAT 0x00000000C7F9A5E0 000108 (v03 AMD    FAM_F_10 00000002 AMD  00000001)
[    0.109411] ACPI: HPET 0x00000000C7F9A6F0 000038 (v01 7640MS OEMHPET  20100913 MSFT 00000097)
[    0.109420] ACPI: IVRS 0x00000000C7F9A730 000108 (v01 AMD    RD890S   00202031 AMD  00000000)
[    0.109429] ACPI: SSDT 0x00000000C7F9A840 000DA4 (v01 A M I  POWERNOW 00000001 AMD  00000001)
[    0.109434] ACPI: Reserving FACP table memory at [mem 0xc7f90200-0xc7f90283]
[    0.109437] ACPI: Reserving DSDT table memory at [mem 0xc7f905e0-0xc7f99a06]
[    0.109440] ACPI: Reserving FACS table memory at [mem 0xc7f9e000-0xc7f9e03f]
[    0.109442] ACPI: Reserving APIC table memory at [mem 0xc7f90390-0xc7f90417]
[    0.109444] ACPI: Reserving MCFG table memory at [mem 0xc7f90420-0xc7f9045b]
[    0.109446] ACPI: Reserving SLIC table memory at [mem 0xc7f90460-0xc7f905d5]
[    0.109448] ACPI: Reserving OEMB table memory at [mem 0xc7f9e040-0xc7f9e0b1]
[    0.109451] ACPI: Reserving SRAT table memory at [mem 0xc7f9a5e0-0xc7f9a6e7]
[    0.109453] ACPI: Reserving HPET table memory at [mem 0xc7f9a6f0-0xc7f9a727]
[    0.109455] ACPI: Reserving IVRS table memory at [mem 0xc7f9a730-0xc7f9a837]
[    0.109457] ACPI: Reserving SSDT table memory at [mem 0xc7f9a840-0xc7f9b5e3]
[    0.109490] Setting APIC routing to Xen PV.
[    0.109543] NUMA turned off
[    0.109545] Faking a node at [mem 0x0000000000000000-0x000000007fffffff]
[    0.109553] NODE_DATA(0) allocated [mem 0x7fc1b000-0x7fc24fff]
[    0.114078] Zone ranges:
[    0.114085]   DMA      [mem 0x0000000000001000-0x0000000000ffffff]
[    0.114089]   DMA32    [mem 0x0000000001000000-0x000000007fffffff]
[    0.114091]   Normal   empty
[    0.114094] Movable zone start for each node
[    0.114096] Early memory node ranges
[    0.114098]   node   0: [mem 0x0000000000001000-0x0000000000095fff]
[    0.114100]   node   0: [mem 0x0000000000100000-0x000000007fffffff]
[    0.114104] Initmem setup node 0 [mem 0x0000000000001000-0x000000007fffffff]
[    0.114114] On node 0, zone DMA: 1 pages in unavailable ranges
[    0.114203] On node 0, zone DMA: 106 pages in unavailable ranges
[    0.128587] p2m virtual area at (____ptrval____), size is 600000
[    0.135670] ------------[ cut here ]------------
[    0.135690] Failed to update kernel mapping for mfn=6930582 pfn=524288
[    0.135701] WARNING: CPU: 0 PID: 0 at arch/x86/xen/setup.c:312 xen_remap_memory+0x191/0x26c
[    0.135715] Modules linked in:
[    0.135721] CPU: 0 PID: 0 Comm: swapper Not tainted 5.16.1-20220118-doflr-mac80211debug+ #1
[    0.135726] Hardware name: MSI MS-7640/890FXA-GD70 (MS-7640)  , BIOS V1.8B1 09/13/2010
[    0.135729] RIP: e030:xen_remap_memory+0x191/0x26c
[    0.135734] Code: d2 48 c1 e7 0c 48 c1 e0 27 48 01 c7 e8 0d 6d 7b fe 48 ff c3 85 c0 74 16 4c 89 e2 48 89 ee 48 c7 c7 18 ae ab 82 e8 f3 01 72 fe <0f> 0b 0f 0b 49 ff c4 e9 15 ff ff ff 48 8b 6c 24 08 48 8b 05 24 9b
[    0.135740] RSP: e02b:ffffffff82e03d48 EFLAGS: 00010086 ORIG_RAX: 0000000000000000
[    0.135744] RAX: 0000000000000000 RBX: 0000000000000001 RCX: 0000000000000002
[    0.135746] RDX: 0000000000000002 RSI: ffffffff82e03bd0 RDI: 00000000ffffffff
[    0.135749] RBP: 000000000069c096 R08: 0000000000000000 R09: c0000000ffff7fff
[    0.135751] R10: 0000000000000001 R11: ffffffff82e03b70 R12: 0000000000080000
[    0.135753] R13: 0000000000000000 R14: ffffffffffffffff R15: 000000069c096000
[    0.135771] FS:  0000000000000000(0000) GS:ffffffff839ed000(0000) knlGS:0000000000000000
[    0.135774] CS:  10000e030 DS: 0000 ES: 0000 CR0: 0000000080050033
[    0.135777] CR2: ffffc90000400000 CR3: 0000000002e24000 CR4: 0000000000000660
[    0.135782] Call Trace:
[    0.135785]  <TASK>
[    0.135790]  ? 0xffffffff81000000
[    0.135793]  ? xen_pagetable_init+0x3be/0x3d1
[    0.135797]  ? 0xffffffff81000000
[    0.135800]  ? setup_arch+0x735/0x816
[    0.135803]  ? default_get_nmi_reason+0x10/0x10
[    0.135809]  ? start_kernel+0x67/0x673
[    0.135814]  ? default_get_nmi_reason+0x10/0x10
[    0.135817]  ? xen_start_kernel+0x4d5/0x4df
[    0.135820]  ? startup_xen+0x3e/0x3e
[    0.135823]  </TASK>
[    0.135827] random: get_random_bytes called from print_oops_end_marker+0x21/0x40 with crng_init=0
[    0.135834] ---[ end trace 4dcf5c6dcd41cee3 ]---
[    0.135839] ------------[ cut here ]------------
[    0.135841] kernel BUG at arch/x86/xen/setup.c:313!
PANIC: early exception 0x06 IP 10000e030:ffffffff83a234ce error 0 cr2 0xffffc90000400000
[    0.135846] CPU: 0 PID: 0 Comm: swapper Tainted: G        W         5.16.1-20220118-doflr-mac80211debug+ #1
[    0.135849] Hardware name: MSI MS-7640/890FXA-GD70 (MS-7640)  , BIOS V1.8B1 09/13/2010
[    0.135851] RIP: e030:xen_remap_memory+0x193/0x26c
[    0.135854] Code: c1 e7 0c 48 c1 e0 27 48 01 c7 e8 0d 6d 7b fe 48 ff c3 85 c0 74 16 4c 89 e2 48 89 ee 48 c7 c7 18 ae ab 82 e8 f3 01 72 fe 0f 0b <0f> 0b 49 ff c4 e9 15 ff ff ff 48 8b 6c 24 08 48 8b 05 24 9b 09 00
[    0.135858] RSP: e02b:ffffffff82e03d48 EFLAGS: 00010086 ORIG_RAX: 0000000000000000
[    0.135862] RAX: 0000000000000000 RBX: 0000000000000001 RCX: 0000000000000002
[    0.135864] RDX: 0000000000000002 RSI: ffffffff82e03bd0 RDI: 00000000ffffffff
[    0.135867] RBP: 000000000069c096 R08: 0000000000000000 R09: c0000000ffff7fff
[    0.135869] R10: 0000000000000001 R11: ffffffff82e03b70 R12: 0000000000080000
[    0.135871] R13: 0000000000000000 R14: ffffffffffffffff R15: 000000069c096000
[    0.135875] FS:  0000000000000000(0000) GS:ffffffff839ed000(0000) knlGS:0000000000000000
[    0.135878] CS:  10000e030 DS: 0000 ES: 0000 CR0: 0000000080050033
[    0.135880] CR2: ffffc90000400000 CR3: 0000000002e24000 CR4: 0000000000000660
[    0.135883] Call Trace:
[    0.135884]  <TASK>
[    0.135886]  ? 0xffffffff81000000
[    0.135888]  ? xen_pagetable_init+0x3be/0x3d1
[    0.135891]  ? 0xffffffff81000000
[    0.135893]  ? setup_arch+0x735/0x816
[    0.135896]  ? default_get_nmi_reason+0x10/0x10
[    0.135898]  ? start_kernel+0x67/0x673
[    0.135901]  ? default_get_nmi_reason+0x10/0x10
[    0.135903]  ? xen_start_kernel+0x4d5/0x4df
[    0.135906]  ? startup_xen+0x3e/0x3e
[    0.135909]  </TASK>
(XEN) [2022-01-18 10:40:44.346] Hardware Dom0 halted: halting machine




From xen-devel-bounces@lists.xenproject.org Tue Jan 18 11:13:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 11:13:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258449.445103 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9mQm-0005Pm-0K; Tue, 18 Jan 2022 11:13:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258449.445103; Tue, 18 Jan 2022 11:13:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9mQl-0005Pf-TU; Tue, 18 Jan 2022 11:13:39 +0000
Received: by outflank-mailman (input) for mailman id 258449;
 Tue, 18 Jan 2022 11:13:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=tdM9=SC=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n9mQl-0005PZ-3U
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 11:13:39 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id af2945a2-784f-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 12:13:38 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 87AA91F3C5;
 Tue, 18 Jan 2022 11:13:37 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 678C813DC7;
 Tue, 18 Jan 2022 11:13:37 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 01qvF+Gg5mGGRQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 18 Jan 2022 11:13: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: af2945a2-784f-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642504417; 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=uoxFEPOrySa2QnKccs7jNF4BSjpQcFJTGngSa8iYQVM=;
	b=h/p+ZsNhdzme++URWLalnnjz+ro4XrTTGIKN+LQdnZjgSpQS8bBtow0sMn+wVeIuvCaggC
	W5wrkI3QtTUITTP7DnfMxNpGYDsyDQDz9Bm/4qzytrHHkXSy1Q7uOX5E7EDclX113t1KUo
	+M0DOY772BRFf5dj36kyfSw16NSWk9E=
Message-ID: <39794058-78ce-994c-c854-cea206ff938e@suse.com>
Date: Tue, 18 Jan 2022 12:13:36 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Content-Language: en-US
To: Sander Eikelenboom <linux@eikelenboom.it>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
References: <d3ba970c-3930-fb4e-4fd2-4246700fd11e@eikelenboom.it>
From: Juergen Gross <jgross@suse.com>
Subject: Re: Regression booting Linux kernel 5.16.1 under Xen: Failed to
 update kernel mapping for mfn=6930582 pfn=524288
In-Reply-To: <d3ba970c-3930-fb4e-4fd2-4246700fd11e@eikelenboom.it>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------jvfAnIsMy3dwSTsYSsr0sjtQ"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------jvfAnIsMy3dwSTsYSsr0sjtQ
Content-Type: multipart/mixed; boundary="------------jCVkok2zMNd9da8Jz3TC0aPu";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Sander Eikelenboom <linux@eikelenboom.it>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Message-ID: <39794058-78ce-994c-c854-cea206ff938e@suse.com>
Subject: Re: Regression booting Linux kernel 5.16.1 under Xen: Failed to
 update kernel mapping for mfn=6930582 pfn=524288
References: <d3ba970c-3930-fb4e-4fd2-4246700fd11e@eikelenboom.it>
In-Reply-To: <d3ba970c-3930-fb4e-4fd2-4246700fd11e@eikelenboom.it>

--------------jCVkok2zMNd9da8Jz3TC0aPu
Content-Type: multipart/mixed; boundary="------------ELYkvZFuPF9RyRclbXgQMN0H"

--------------ELYkvZFuPF9RyRclbXgQMN0H
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTguMDEuMjIgMTE6NTMsIFNhbmRlciBFaWtlbGVuYm9vbSB3cm90ZToNCj4gTC5TLiwN
Cj4gDQo+IEJvdGggTGludXgga2VybmVsIDUuMTYuMCBhbmQgNS4xNi4xIGZhaWwgdG8gYm9v
dCBhcyBEb20wIHVuZGVyIA0KPiB4ZW4tdW5zdGFibGUgYW5kIGNyYXNoIGVhcmx5IGluIGJv
b3Qgb24gbXkgaGFyZHdhcmUuDQo+IFdpdGggTGludXggNS4xNS4xMyBpdCBib290cyBmaW5l
LiBTZXJpYWwgbG9nIGlzIGJlbG93Lg0KDQouLi4NCg0KPiAoWEVOKSBbMDAwMDAwMWIxZmZl
ZGViOF0gQ29tbWFuZCBsaW5lOiBkb20wX21lbT0yMDQ4TSxtYXg6MjA0OE0gDQo+IGxvZ2x2
bD1hbGwgZ3Vlc3RfbG9nbHZsPWFsbCBjb25zb2xlX3RpbWVzdGFtcHM9ZGF0ZW1zIA0KPiB2
Z2E9Z2Z4LTEyODB4MTAyNHgzMiBuby1jcHVpZGxlIGNvbTE9Mzg0MDAsOG4xIGNvbnNvbGU9
dmdhLGNvbTEgDQo+IGl2cnNfaW9hcGljWzZdPTAwOjE0LjAgaW9tbXU9b24sdmVyYm9zZSxk
ZWJ1ZyBjb25yaW5nX3NpemU9MTI4ayANCj4gdWNvZGU9c2NhbiBzY2hlZD1jcmVkaXQyIGdu
dHRhYl9tYXhfZnJhbWVzPTY0IHJlYm9vdD1hDQoNCi4uLg0KDQo+IG1hcHBpbmcga2VybmVs
IGludG8gcGh5c2ljYWwgbWVtb3J5DQo+IGFib3V0IHRvIGdldCBzdGFydGVkLi4uDQo+IFvC
oMKgwqAgMC4wMDAwMDBdIExpbnV4IHZlcnNpb24gNS4xNi4xLTIwMjIwMTE4LWRvZmxyLW1h
YzgwMjExZGVidWcrIA0KPiAocm9vdEBzZXJ2ZWVyc3RlcnRqZSkgKGdjYyAoRGViaWFuIDgu
My4wLTYpIDguMy4wLCBHTlUgbGQgKEdOVSBCaW51dGlscyANCj4gZm9yIERlYmlhbikgMi4z
MS4xKSAjMSBTTVAgUFJFRU1QVCBUdWUgSmFuIDE4IDEwOjQ5OjA5IENFVCAyMDIyDQo+IFvC
oMKgwqAgMC4wMDAwMDBdIENvbW1hbmQgbGluZTogcm9vdD0vZGV2L21hcHBlci9zZXJ2ZWVy
c3RlcnRqZV9zc2Qtcm9vdCBybyANCj4gdmVyYm9zZSBlYXJseXByaW50az14ZW4gbWVtPTIw
NDhNIGNvbnNvbGU9aHZjMCBzY3NpX21vZC51c2VfYmxrX21xPTEgDQo+IGNvbnNvbGU9dHR5
MCBhY3BpX2VuZm9yY2VfcmVzb3VyY2VzPWxheCBtYXhfbG9vcD0zMCBsb29wX21heF9wYXJ0
PTEwIA0KPiByODE2OS51c2VfZGFjPTEgbG9nbGV2ZWw9MTAgbm9tb2Rlc2V0IG5ldC5pZm5h
bWVzPTAgYmlvc2Rldm5hbWU9MCANCj4geGVuLXBjaWJhY2suaGlkZT0oMDA6MTQuMikoMDQ6
MDAuKikoMDg6MDAuMCkoMDk6MDAuKikoMGE6MDAuMCkoMGQ6MDAuMCkNCg0KLi4uDQoNCj4g
W8KgwqDCoCAwLjEzNTY3MF0gLS0tLS0tLS0tLS0tWyBjdXQgaGVyZSBdLS0tLS0tLS0tLS0t
DQo+IFvCoMKgwqAgMC4xMzU2OTBdIEZhaWxlZCB0byB1cGRhdGUga2VybmVsIG1hcHBpbmcg
Zm9yIG1mbj02OTMwNTgyIHBmbj01MjQyODgNCj4gW8KgwqDCoCAwLjEzNTcwMV0gV0FSTklO
RzogQ1BVOiAwIFBJRDogMCBhdCBhcmNoL3g4Ni94ZW4vc2V0dXAuYzozMTIgDQo+IHhlbl9y
ZW1hcF9tZW1vcnkrMHgxOTEvMHgyNmMNCg0KVGhlcmUgc2VlbXMgdG8gYmUgYSBwcm9ibGVt
IHdpdGggcmVhcnJhbmdpbmcgdGhlIGRvbTAgbWVtb3J5IGxheW91dA0KdG8gbWF0Y2ggdGhh
dCBvZiB0aGUgaG9zdC4gRXNwZWNpYWxseSBpdCBpcyBnb2luZyBzaWRld2F5cyB3aGVuIHRy
eWluZw0KdG8gcmVtYXAgYSBtZW1vcnkgZnJhbWUgdG8gUEZOIDUyNDI4OCAoMHg4MDAwMCku
DQoNCllvdSBhcmUgbGltaXRpbmcgZG9tMCBtZW1vcnkgdG8gMiBHQiB2aWEgWGVuIGNvbW1h
bmQgbGluZSwgYnV0IGluDQphZGRpdGlvbiB0byB0aGF0IHlvdSBzcGVjaWZ5ICJtZW09MjA0
OE0iIGZvciB0aGUgZG9tMCBrZXJuZWwsIHRvby4gVGhpcw0Kc2hvdWxkIGNhcCBtZW1vcnkg
ZnJvbSBQRk4gMHg4MDAwMCBvbndhcmRzLCBoZW5jZSB0aGUgZmFpbHVyZSB3aGVuIGRvbTAN
CnRyaWVzIHRvIHJlbWFwIGEgZnJhbWUgaW50byB0aGlzIGFyZWEuDQoNCkNhbiB5b3UgcGxl
YXNlIHRyeSByZW1vdmluZyB0aGUgIm1lbT0yMDQ4TSIgZnJvbSB0aGUgZG9tMCBwYXJhbWV0
ZXJzPw0KDQpJIHRoaW5rIHRoZXJlIGhhcyBiZWVuIGEga2VybmVsIGNvbW1pdCBmaXhpbmcg
dGhlIGNvcnJlY3QgaGFuZGxpbmcgb2YNCnRoZSAibWVtPSIgcGFyYW1ldGVyIGluIDUuMTYs
IHdoaWNoIG1pZ2h0IGJlIHRoZSByZWFzb24gd2h5IHlvdSBhcmUNCnNlZWluZyB0aGUgY3Jh
c2ggb25seSBub3cuDQoNCg0KSnVlcmdlbg0K
--------------ELYkvZFuPF9RyRclbXgQMN0H
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------ELYkvZFuPF9RyRclbXgQMN0H--

--------------jCVkok2zMNd9da8Jz3TC0aPu--

--------------jvfAnIsMy3dwSTsYSsr0sjtQ
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHmoOAFAwAAAAAACgkQsN6d1ii/Ey+W
UAgAmh50jJaibsSkjwO/nlmDP61xYgJdKbm/VE+4FOikjgHAo1NGX2btsgY0yaKcjhJcfEjzvFIj
WeMaCHOco7v/fOupz2OzEdc/eFfSqe5CQIae58UBxXWTDNFOQwAM1DkojbmAjV7pa0rqdnmSZC/h
H0l9B1m5VszLjHNT0dC+FnmuAruWh54s2P35sV0JChby1ENvnF8AxfDXR8wzFHxqtDyvJBuMUIs4
NkSw13kTBW+2uANDo2cS9prYsa2/fKZJeygFBjZBz83ZEjcsW8GTYoAWSoH/T1VJu4YVDjae6zIZ
+NdJ7uEFtR/s77C0+I+IGfwGxKf72sgb5nUVxhQBKQ==
=DT5b
-----END PGP SIGNATURE-----

--------------jvfAnIsMy3dwSTsYSsr0sjtQ--


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 11:37:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 11:37:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258452.445114 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9mnn-0007qg-Uu; Tue, 18 Jan 2022 11:37:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258452.445114; Tue, 18 Jan 2022 11: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 1n9mnn-0007qZ-Rm; Tue, 18 Jan 2022 11:37:27 +0000
Received: by outflank-mailman (input) for mailman id 258452;
 Tue, 18 Jan 2022 11:37:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=iVgW=SC=cantab.net=dvrabel@srs-se1.protection.inumbo.net>)
 id 1n9mnm-0007qT-6D
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 11:37:26 +0000
Received: from smarthost01c.ixn.mail.zen.net.uk
 (smarthost01c.ixn.mail.zen.net.uk [212.23.1.22])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0130b2a6-7853-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 12:37:24 +0100 (CET)
Received: from [82.70.146.41] (helo=pear.davidvrabel.org.uk)
 by smarthost01c.ixn.mail.zen.net.uk with esmtps
 (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1)
 (envelope-from <dvrabel@cantab.net>)
 id 1n9mnk-0000SO-29; Tue, 18 Jan 2022 11:37:24 +0000
Received: from apple.davidvrabel.org.uk ([82.70.146.43])
 by pear.davidvrabel.org.uk with esmtp (Exim 4.92)
 (envelope-from <dvrabel@cantab.net>)
 id 1n9mnj-0007o5-5T; Tue, 18 Jan 2022 11:37:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0130b2a6-7853-11ec-9bbc-9dff3e4ee8c5
Message-ID: <a4eedbc9-f5bd-2195-679a-77747614c258@cantab.net>
Date: Tue, 18 Jan 2022 11:37:22 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <6c50c7b6-e521-e34f-1808-a4e2961b807e@suse.com>
 <5d3db5f4-44db-b782-656b-d755fbf4c441@suse.com>
From: David Vrabel <dvrabel@cantab.net>
In-Reply-To: <5d3db5f4-44db-b782-656b-d755fbf4c441@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-SA-Exim-Connect-IP: 82.70.146.43
X-SA-Exim-Mail-From: dvrabel@cantab.net
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on
	pear.davidvrabel.org.uk
X-Spam-Level: 
X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,SPF_NEUTRAL,
	URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2
Subject: Re: [PATCH] x86/time: further improve TSC / CPU freq calibration
 accuracy
X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000)
X-SA-Exim-Scanned: Yes (on pear.davidvrabel.org.uk)
X-Originating-smarthost01c-IP: [82.70.146.41]
Feedback-ID: 82.70.146.41



On 18/01/2022 08:50, Jan Beulich wrote:
> On 13.01.2022 14:41, Jan Beulich wrote:
>> Calibration logic assumes that the platform timer (HPET or ACPI PM
>> timer) and the TSC are read at about the same time. This assumption may
>> not hold when a long latency event (e.g. SMI or NMI) occurs between the
>> two reads. Reduce the risk of reading uncorrelated values by doing at
>> least four pairs of reads, using the tuple where the delta between the
>> enclosing TSC reads was smallest. From the fourth iteration onwards bail
>> if the new TSC delta isn't better (smaller) than the best earlier one.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> When running virtualized, scheduling in the host would also constitute
> long latency events. I wonder whether, to compensate for that, we'd want
> more than 3 "base" iterations, as I would expect scheduling events to
> occur more frequently than e.g. SMI (and with a higher probability of
> multiple ones occurring in close succession).

Should Xen be continually or periodically recalibrating? Rather than 
trying to get it perfect at the start of day?

You may also be able to find inspiration from the design or 
implementation of the Precision Time Protocol which has to similarly 
filter out outliers due to transmission delays.

David


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 11:41:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 11:41:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258455.445124 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9mrP-0000ku-FH; Tue, 18 Jan 2022 11:41:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258455.445124; Tue, 18 Jan 2022 11:41:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9mrP-0000kn-CD; Tue, 18 Jan 2022 11:41:11 +0000
Received: by outflank-mailman (input) for mailman id 258455;
 Tue, 18 Jan 2022 11:41:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4BW1=SC=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1n9mrO-0000ke-1E
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 11:41:10 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 84db028f-7853-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 12:41:06 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 84db028f-7853-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642506067;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=Yh2q8WWVm18AcF8TwG6hB8sfVb3dSI9zWs8lOCBxGmw=;
  b=ZjJYbN1tf6qte23ww7vEHZllKMehvKZOi3P1647HvZHza16bHmlvlege
   JxLGck5lD3gdHHCLUbxrMdAJu9CeTmL902ajBmudxPFkY8tQ5piAqW37F
   69FOS05Exesprh4lkpR0eQIwUgrZD4Mv9PXjSnoWsYU93ZZ94nOTc/Wie
   s=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: hesjMCSwHbE2QiGA8GD6g8Cr5Gw7sOHzM3frikIUszfVeKvsli9qhqpLNDge0JpgOB0kV6pBy8
 /UPEriuD8LECow81JLRSqONyhjrYVbKkC2mhnW2mvMzz7UW/WOyaueZH6Zmptuvq01DKM1vx+N
 1BLVUk4ZFv4N9aRWpdYDVW78kqiD0elFnGjP1zmFZBmVPsmMZWIzvld9iGIlYSR5mCwX6O/XuY
 0gi5IF1YWN40p5lMyhCdZtO9MLQNKW/KZpXimIcR6ObnFct9Vdh+H5uzrIoT4UFJZfAaP9qIaQ
 pkuU5Te4gvcP4MvjhdlOozca
X-SBRS: 5.2
X-MesageID: 64345779
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:VghI4qpZDg+uwa212LMZThifWyReBmKTYhIvgKrLsJaIsI4StFCzt
 garIBnQOP7famKgKI8lbYqyoBhT6J/dmINmTARlqy02QihG9JuZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlZT4vE2xbuKU5NTsY0idfic5Dndx4f5fs7Rh2NQw2IHpW1rlV
 e7a+KUzBnf0g1aYDUpMg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJ8DO+iL
 9sv+Znilo/vE7XBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XnRfTAKtao2zhojx/9
 DlCnZ2QViZqLozvocgcXDRaPT1OAf0cqIaSdBBTseTLp6HHW37lwvEoB0AqJ4wIvO1wBAmi9
 9RBdmpLNErawbvrnvTrEYGAhex6RCXvFIoZpnFnyyCfFfs8SIrPa67L+cVZzHE7gcUm8fP2O
 ZZCNWcwM0WojxtnFQ0mV5QSgr+RmiP1bCV29lHFvJAM2j2GpOB2+Oe0a4eEEjCQfu1OhVqRr
 G/C+2X/AzkZOcaZxD7D9Wij7sfQmQvrVYRUE6e3ntZ6jVvWymENBRk+UVqgveL/mkO4Q8hYK
 UEf5mwpt6da3E6hQ8T5Xha4iGWZpRNaUN1Ve8U79wOl2qfS+xyeBGUPUnhGctNOnM0rQT0n0
 HeZktWvAiZg2IB5UlrEqO3S92nrf3FIcylSPkfoUDfp/fHigJ4SzQLube9PEaGYjPPpKQ2gm
 WCz+X1Wa6ooseYH0KCy/Fbiij2qp4TUQgNd2jg7Tl5J/SsiOtf7OtXABUzzqK8Zcd3HFgXpU
 G0swpDGtIgz4YexeDthqQnnNJWg/L67PTLVmjaD9LFxpm32qxZPkW29iQySxXuF0O5ZIVcFg
 2eJ4Gu9AaO/2lPwMsebhKrrWqwXIVDIT4iNaxwtRoMmjmJNXAGG5jpyQkWbwnrglkMh+YlmZ
 8vBLZrwXChGUv46pNZTewv7+eV0rszZ7TmCLa0XMjz9iebODJJrYept3KSyghARs/rf/VS9H
 yd3PMqW0RRPONASkQGMmbP/2WsidCBhbbiv8pQ/XrfafmJORT99Y9eMn+JJU9E1zsx9y7aTl
 lngCxAw9bYKrSCdQel8Qio9OOqHsFcWhS9TABHAyn7ziidzOtj+vf5PH3b1FJF+nNFeITdPZ
 6FtU6297j5nE1wrIhwRMsvwqpJMbhOuiV7cNiapemFnLZVhWxbI6pnveQ62rHsCCS++tM0fp
 by811yEHcpfFlo6VMuGOuiyy16RvGQGnL4gVUX/PdQOKl7n95JnKnKtg6Zvcd0MMxjK2hCTy
 x2SXUUDveDIroJsqIvJiKmIop2HCex7GkYGTWDX4azvbXvR/3a5wJ8GW+GNJGiPWGTx8aSkR
 ONU0/Cjb6FXwAcU69JxSu85w7g/6t3jo65h4j5lRHibPU62Dr5AI2Wd2ZUdvKN62bIE6xC9X
 ViC+4cGNOzRat/lClMYOCEscv+HiaMPgjDX4Pk4fBf66Stw8ObVWEleJUDR2ilULb8zO4I52
 +Yx/sUR7lXn2BYtN9+HiAFS9niNcSNcA/l26MlCDd+5kBcvx3FDfYfYW33/75y4YtlRNlUnf
 22Pj63YirUAnkfPfhLfz5QWMTaxUXjWhC138Q==
IronPort-HdrOrdr: A9a23:OB+0Iqu3VFTfxxSHTNlq0D9q7skDdtV00zEX/kB9WHVpmszxra
 6TddAgpHvJYVcqKRQdcL+7VZVoLUmxyXcx2/h3AV7AZniFhILLFuFfBOLZqlWKcREWtNQttp
 uIG5IObuEYZmIasS+V2maFL+o=
X-IronPort-AV: E=Sophos;i="5.88,297,1635220800"; 
   d="scan'208";a="64345779"
Date: Tue, 18 Jan 2022 11:41:01 +0000
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 v8 30/47] build: rework "headers*.chk" prerequisite
 in include/
Message-ID: <YeanTdmX8Kynig18@perard>
References: <20211125134006.1076646-1-anthony.perard@citrix.com>
 <20211125134006.1076646-31-anthony.perard@citrix.com>
 <dcd485e8-3c46-460c-7d0e-13f50aebbf87@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <dcd485e8-3c46-460c-7d0e-13f50aebbf87@suse.com>

On Tue, Dec 21, 2021 at 03:07:52PM +0100, Jan Beulich wrote:
> On 25.11.2021 14:39, Anthony PERARD wrote:
> > @@ -81,10 +81,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) $(public-y))
> > +public-hdrs-path := $(srcdir)/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))
> > +public-list-headers = $(wildcard $1/*.h $1/*/*.h)
> > +public-filter-headers = $(filter-out $(addprefix $(public-hdrs-path)/,$($1-filter)), $($1))
> > +
> > +public-c99-headers := io/9pfs.h io/pvcalls.h
> > +public-headers := $(call public-list-headers,$(public-hdrs-path)) $(public-y)
> > +public-ansi-headers := $(public-headers)
> 
> Personally I find it odd for public-c99-headers to be first in this group.
> Further down, in the upper-case counterparts, you have it at the end (still
> in context below).
> 
> > +public-headers-filter := dom0_ops.h arch-%
> 
> What is the criteria to be listed here vs ...
> 
> > +public-ansi-headers-filter := %ctl.h xsm/% %hvm/save.h $(public-headers-filter) $(public-c99-headers)
> 
> ... outside of that macro's expansion here? There's no other use of the
> macro that I can spot, so its presence is puzzling me.

The "%-filter" macro are used by the macro "public-filter-headers",
which takes "$(%)" and filter-out "$(%-filter)".

Currently, PUBLIC_ANSI_HEADERS is PUBLIC_HEADERS with headers
filtered-out.
And PUBLIC_HEADERS is public-y with headers filtered-out.

In my patch, I derive PUBLIC_ANSI_HEADERS from public-y, so I also need
to use the filter used to generate PUBLIC_HEADERS. So
$(public-headers-filter) is both used on its own and in the ansi-filter.

> > +PUBLIC_HEADERS := $(call public-filter-headers,public-headers)
> > +PUBLIC_ANSI_HEADERS := $(call public-filter-headers,public-ansi-headers)
> > +PUBLIC_C99_HEADERS := $(addprefix $(public-hdrs-path)/, $(public-c99-headers))
> 
> While benign right now, wouldn't it be more consistent if
> public-filter-headers was also applied in this last case? Or is
> there a reason not to?

It wouldn't work at the moment because $(public-c99-headers) aren't
prefix with "$(public-hdrs-path)" like $(public-headers). This is
because I'm using $(public-c99-headers) in
$(public-ansi-headers-filter).

Maybe I should just had the prefix to the c99-headers and removing the
prefix when using it in the filter, something like that:

    public-c99-headers := $(addprefix $(public-hdrs-path)/,io/9pfs.h io/pvcalls.h)
    public-ansi-headers-filter := %ctl.h xsm/% %hvm/save.h $(public-headers-filter) \
        $(patsubst $(public-hdrs-path)/%,%,$(public-c99-headers))

then I thin that would work:
    PUBLIC_C99_HEADERS := $(call public-filter-headers,public-c99-headers)

I could put an empty "public-c99-headers-filter :=" somewhere, just in
case one is looking for it later.

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 12:15:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 12:15:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258466.445136 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9nOH-0004J6-En; Tue, 18 Jan 2022 12:15:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258466.445136; Tue, 18 Jan 2022 12:15:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9nOH-0004Iz-Bi; Tue, 18 Jan 2022 12:15:09 +0000
Received: by outflank-mailman (input) for mailman id 258466;
 Tue, 18 Jan 2022 12:15:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4BW1=SC=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1n9nOG-0004It-8g
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 12:15:08 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 44c4fa5e-7858-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 13:15:06 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 44c4fa5e-7858-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642508106;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=OCBpBS1RS9kF2/KyjcHxkiDJe6gxmB9kFBdnfVPdVfQ=;
  b=QEBo7mHmQV54tRPbaNxfz/iRWkcb91FhydVJOfO5O9ShPlKr8KHRZsTl
   W5W+zZB0buFvkc9ytL82WPSopVbVl03GW+sWk4btfChcngnYrf74F7B+c
   kfFveF6B0XgXta7NAZx7CsBc/VKDzG44Ffg94CXR3peab8pvV6UaBRgAc
   s=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: C1cXWPd3E0f8AL5RvYKrrsn30z8pGBeF9ZE5+D1ysIeH+cEJ/2JmBwGbTVpByC/tMmhqzvMEY3
 rBl9KwbNPuzfbSHeryA3htloNtUtoUEI9y0QksXW948bcwfD5x1G93oWgrultdvWNkxhgT+bZK
 B6oZmPZ6GUH6iduphZTynFOClweCPcyYM7RsoTVCEyc43kmP3Yp9+rom5BKCBSpI8ww7rhWwZu
 dqcgV+yMaKVgowdkXhlsIcx/9G02+b4kKOK32eQcEjqgm948YcHlfjtiddDO+8KBGGQCfL67gm
 HJfGJU1OgGpAYayCDkbPh+EB
X-SBRS: 5.2
X-MesageID: 64347479
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:taE2WaMm9QMsA3zvrR0ukMFynXyQoLVcMsEvi/4bfWQNrUog1z0Ay
 zdOCm/QaPyKNGf3fNB0YNzg9R8Bu5TdzdNgQQto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdpJYz/uUGuCJQUNUjMlkfZKhTr6UUsxNbVU8En150Eszw7dRbrNA2rBVPSvc4
 bsenOWHULOV82Yc3rU8sv/rRLtH5ZweiRtA1rAMTakjUGz2zhH5OKk3N6CpR0YUd6EPdgKMq
 0Qv+5nilo/R109F5tpICd8XeGVSKlLZFVDmZna7x8FOK/WNz8A/+v9TCRYSVatYo22bgtpg8
 I5ij4SPeCsvZfH3v/Q7AjANRkmSPYUekFPGCX22sMjVxEzaaXr8hf5pCSnaP6VBpLwxWzsXs
 6VFdnZdNXhvhMrvqF6/YuBqmsQkKtitJI4Fs2ts5TrYEewnUdbIRKCiCdpwgmtr2p8SQqe2i
 8wxOR9rK0iRYwx2J15HLYMMv8KIjSj6SmgNwL6SjfVuuDWCpOBr65D2K8bccNGOQcRTn26bq
 3jA8mC/BQsVXPSAzRKV/3TqgfXA9QvrVYRXGLCm+/pChFyI2ndVGBAQTUG8o/Sylgi5Qd03A
 04e9zcqrKMy3Fe2VdS7VBq9yFaFoRw0S9dWC/c96gyG1uzT+QnxLmoZSj9MbvQ2uclwQiYlv
 mJlhPuwW2Yp6ufMDyvAqPHE9lteJBT5M0dadzIOXDNezOP7n7AfiEmTdfFzNv+c24id9S7L/
 xiGqy03hrM2hMEN1rmm8V2vvw9AtqQlXSZuuFyJAzvNAhdRIdf8Otf2sQSzAeNodd7BFjG8U
 G44d99yBQzkJbWEj2SzTeoEB9lFDN7VYWSH0TaD83TMnglBGkJPn6gNuFmSx28za67onAMFh
 meJ5mu9A7cJbROXgVdfOd7ZNijT5fGI+S7Zfv7VdMFSRZN6aRWK+ipjDWbJgTy3zBRwwP9jY
 s3GGSpJMZr8If44pNZRb71MuYLHOwhknT+DLXwF50nPPUWiiI69Fu5ebQrmghER56KYugTFm
 +uzxOPRoyizpNbWO3GNmaZKdAhiBSFiWfje9pILHsbefFsOMDxxWpf5nOJ6E6Q4zvs9qws91
 iznMqOu4ACh1SSvxMTjQi0LVY4Dqr4k/C1rZnJ9bA/4s5XhCK72hJoim1IMVeFP3IReITRcF
 pHpou2MXaZCTCrp4TMYYcWvpYBubk3z1wmPIzCkcH40eJs5H17F/drtfw3O8igSD3Xo6Zti8
 uP4jg6LE4AeQwlCDdrNbK79xV2GonVAyvl5WFHFI4cPdRy0opRqMSH4ktQ+P9oIdUfY3jKf2
 gvPWUUYqODBrpUb6t7MgazY/Y6lH/EnRhhRHnXB7KbwPi7fpzLxzYhFWeeOXDbcSGKrp/nyO
 bQLl6nxaaRVkkxLvoxwF6dQ4Zg/v9a/9aVHyglEHWnQawj5AL1XPXTbj9JEsbdAx+EFtFLuC
 F6P4NRTJZ6AJNjhTAwKPAMgY+mOiaMUlz3V4ahnKUn2/nYqrr+OUEEUNBiQki1NarByNdp9k
 +smvccX7S25iwYrbYna3nwFqTzUIyxSSbgju7EbHJTv21gixVx1aJDBDjP7vcOUYNJWP0h2e
 jKZicIuXViHKpYup5brKUXw4A==
IronPort-HdrOrdr: A9a23:yHVYxK19ThJ4wtZ/vCi2RQqjBLwkLtp133Aq2lEZdPU1SKClfq
 WV98jzuiWatN98Yh8dcLK7WJVoMEm8yXcd2+B4V9qftWLdyQiVxe9ZnO7f6gylNyri9vNMkY
 dMGpIObOEY1GIK7/rH3A==
X-IronPort-AV: E=Sophos;i="5.88,297,1635220800"; 
   d="scan'208";a="64347479"
Date: Tue, 18 Jan 2022 12:14:59 +0000
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 v8 31/47] build: specify source tree in include/ for
 prerequisite
Message-ID: <YeavQyhA9VdKEpuh@perard>
References: <20211125134006.1076646-1-anthony.perard@citrix.com>
 <20211125134006.1076646-32-anthony.perard@citrix.com>
 <a8045db2-a647-fc5b-0c98-890edce10dc8@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <a8045db2-a647-fc5b-0c98-890edce10dc8@suse.com>

On Tue, Dec 21, 2021 at 03:16:25PM +0100, Jan Beulich wrote:
> On 25.11.2021 14:39, Anthony PERARD wrote:
> > When doing an out-of-tree build, and thus setting VPATH,
> > GNU Make 3.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.
> 
> A circular dependency would mean that besides the expected dependency
> there is also one of include/Makefile on include/xlat.lst. Where is
> that? I'm not aware of anything include/Makefile depends on. Is there
> any dependency being introduced in this series, perhaps by way of new
> (generated) dependency files? It would be good to have a clear
> understanding of the issue - as you describe it, it could as well be
> a make flaw.

I've got a bunch of:
make[2]: Circular include/compat/arch-x86_32.i <- include/Makefile dependency dropped.


Maybe the issue is with:
    make[2]: Circular include/compat/.xlat/arch-x86/pmu.lst <- include/xlat.lst dependency dropped.
    make[2]: Circular include/compat/.xlat/arch-x86/pmu.lst <- include/Makefile dependency dropped.

with rule
     $(obj)/compat/.xlat/%.lst:  $(src)/xlat.lst $(src)/Makefile

at that mean %.lst have no prerequisite left, so $< is empty in
"grep pattern $<" so there's nothing to grep.

But that doesn't happen every time.

I can't think of anything or find anything which would introduce a
prerequisite for "xlat.lst".

The build seems to work if I only change this rule, to avoid make
looking into VPATH to find $(src)/xlat.lst. Changing this to
"$(srcdir)/xlat.lst" works. But of course, make still complain about
circular dependencies on include/Makefile.

I think I've look for this issue online at the time, but I probably
found the workaround rather than a bug report.

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 12:18:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 12:18:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258469.445147 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9nRO-0004xD-U3; Tue, 18 Jan 2022 12:18:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258469.445147; Tue, 18 Jan 2022 12:18: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 1n9nRO-0004x6-Qz; Tue, 18 Jan 2022 12:18:22 +0000
Received: by outflank-mailman (input) for mailman id 258469;
 Tue, 18 Jan 2022 12:18:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1rGk=SC=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n9nRN-0004wz-CF
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 12:18:21 +0000
Received: from ppsw-32.csi.cam.ac.uk (ppsw-32.csi.cam.ac.uk [131.111.8.132])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b89e0756-7858-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 13:18:19 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:49474)
 by ppsw-32.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.136]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n9nRJ-000Ntf-2d (Exim 4.95) (return-path <amc96@srcf.net>);
 Tue, 18 Jan 2022 12:18:17 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 75D981FCF5;
 Tue, 18 Jan 2022 12:18:17 +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: b89e0756-7858-11ec-a115-11989b9578b4
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Content-Type: multipart/alternative;
 boundary="------------H50j0bhPslycXtbAYE7C9vgd"
Message-ID: <5fa523ca-0a14-862b-94f4-3e7a78319496@srcf.net>
Date: Tue, 18 Jan 2022 12:18:17 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <239d8868-0c8a-b512-a2bf-3e91689a8218@suse.com>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: [PATCH] x86/Intel: use CPUID bit to determine PPIN availability
In-Reply-To: <239d8868-0c8a-b512-a2bf-3e91689a8218@suse.com>

This is a multi-part message in MIME format.
--------------H50j0bhPslycXtbAYE7C9vgd
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17/01/2022 15:30, Jan Beulich wrote:
> As of SDM revision 076 there is a CPUID bit for this functionality. Use
> it to amend the existing model-based logic.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> In xen-cpuid.c I wasn't sure whether it's better to put the 7b1 table
> next to the 7a1 one, or whether tables should continue to be placed by
> feature set ABI identifier.

They're in FEATURESET_* order, which is also chronological order. 
str_7b1 wants to be after str_e21a.

> --- a/tools/misc/xen-cpuid.c
> +++ b/tools/misc/xen-cpuid.c
> @@ -156,7 +156,7 @@ static const char *const str_e8b[32] =
>      [18] = "ibrs-fast",        [19] = "ibrs-same-mode",
>  
>      [20] = "no-lmsl",
> -    /* [22] */                 [23] = "ppin",
> +    /* [22] */                 [23] = "amd-ppin",

We don't retrofit names like this.  If we did, loads of the speculation
bits would need to change.

The Intel vs AMD split is clear from the leaf index, and the only reason
we have the distinction is to fit the two bits into the same namespace.

Please leave this as was, to match its name in the source code.

> --- a/xen/arch/x86/cpu/mcheck/mce_intel.c
> +++ b/xen/arch/x86/cpu/mcheck/mce_intel.c
> @@ -865,6 +865,13 @@ static void intel_init_ppin(const struct
>      {
>          uint64_t val;
>  
> +    default:

Considering the comment above this switch statement, which you haven't
edited at all, this wants a note saying that a CPUID bit was added in
Sapphire Rapids, but older CPUs still require model-specific enumeration.

~Andrew
--------------H50j0bhPslycXtbAYE7C9vgd
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <div class="moz-cite-prefix">On 17/01/2022 15:30, Jan Beulich wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:239d8868-0c8a-b512-a2bf-3e91689a8218@suse.com">
      <pre class="moz-quote-pre" wrap="">As of SDM revision 076 there is a CPUID bit for this functionality. Use
it to amend the existing model-based logic.

Signed-off-by: Jan Beulich <a class="moz-txt-link-rfc2396E" href="mailto:jbeulich@suse.com">&lt;jbeulich@suse.com&gt;</a>
---
In xen-cpuid.c I wasn't sure whether it's better to put the 7b1 table
next to the 7a1 one, or whether tables should continue to be placed by
feature set ABI identifier.</pre>
    </blockquote>
    <br>
    They're in FEATURESET_* order, which is also chronological order. 
    str_7b1 wants to be after str_e21a.<br>
    <br>
    <blockquote type="cite"
      cite="mid:239d8868-0c8a-b512-a2bf-3e91689a8218@suse.com">
      <pre class="moz-quote-pre" wrap="">--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -156,7 +156,7 @@ static const char *const str_e8b[32] =
     [18] = "ibrs-fast",        [19] = "ibrs-same-mode",
 
     [20] = "no-lmsl",
-    /* [22] */                 [23] = "ppin",
+    /* [22] */                 [23] = "amd-ppin",</pre>
    </blockquote>
    <br>
    We don't retrofit names like this.  If we did, loads of the
    speculation bits would need to change.<br>
    <br>
    The Intel vs AMD split is clear from the leaf index, and the only
    reason we have the distinction is to fit the two bits into the same
    namespace.<br>
    <br>
    Please leave this as was, to match its name in the source code<font
      size="4">.</font><br>
    <br>
    <blockquote type="cite"
      cite="mid:239d8868-0c8a-b512-a2bf-3e91689a8218@suse.com">
      <pre class="moz-quote-pre" wrap="">--- a/xen/arch/x86/cpu/mcheck/mce_intel.c
+++ b/xen/arch/x86/cpu/mcheck/mce_intel.c
@@ -865,6 +865,13 @@ static void intel_init_ppin(const struct
     {
         uint64_t val;
 
+    default:</pre>
    </blockquote>
    <br>
    Considering the comment above this switch statement, which you
    haven't edited at all, this wants a note saying that a CPUID bit was
    added in Sapphire Rapids, but older CPUs still require
    model-specific enumeration.<br>
    <br>
    ~Andrew<br>
  </body>
</html>

--------------H50j0bhPslycXtbAYE7C9vgd--


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 12:26:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 12:26:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258472.445157 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9nZ8-0006Mz-NX; Tue, 18 Jan 2022 12:26:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258472.445157; Tue, 18 Jan 2022 12:26:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9nZ8-0006Ms-KO; Tue, 18 Jan 2022 12:26:22 +0000
Received: by outflank-mailman (input) for mailman id 258472;
 Tue, 18 Jan 2022 12:26:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1rGk=SC=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n9nZ6-0006Mm-Lt
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 12:26:20 +0000
Received: from ppsw-43.csi.cam.ac.uk (ppsw-43.csi.cam.ac.uk [131.111.8.143])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d67b18bc-7859-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 13:26:19 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:52094)
 by ppsw-43.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.139]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n9nZ4-000xjD-o7 (Exim 4.95) (return-path <amc96@srcf.net>);
 Tue, 18 Jan 2022 12:26:18 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 3EA7D1FC87;
 Tue, 18 Jan 2022 12:26:18 +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: d67b18bc-7859-11ec-a115-11989b9578b4
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <5a9c0bdc-e996-436d-0b08-b7422f47f694@srcf.net>
Date: Tue, 18 Jan 2022 12:26:18 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Content-Language: en-GB
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20220117094827.16756-1-roger.pau@citrix.com>
 <20220117094827.16756-3-roger.pau@citrix.com>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: [PATCH v6 02/12] libx86: introduce helper to fetch cpuid leaf
In-Reply-To: <20220117094827.16756-3-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17/01/2022 09:48, Roger Pau Monne wrote:
> Introduce a helper based on the current Xen guest_cpuid code in order
> to fetch a cpuid leaf from a policy. The newly introduced function in
> cpuid.c should not be directly called and instead the provided
> x86_cpuid_get_leaf macro should be used that will properly deal with
> const and non-const inputs.
>
> Also add a test to check that the introduced helper doesn't go over
> the bounds of the policy.
>
> Note the code in x86_cpuid_copy_from_buffer is not switched to use the
> new function because of the boundary checks against the max fields of
> the policy, which might not be properly set at the point where
> x86_cpuid_copy_from_buffer get called, for example when filling an
> empty policy from scratch.

Filling an empty policy from scratch will be fine, because we always
ascend through leaves.  This also matches the chronology of how CPUID
developed.

The most likely case to go wrong is enabling an optional feature above
max_leaf, and getting the bump to max_leaf out of order.  That said, I
suspect such logic would be working on an object, rather than a list.

The important point is that x86_cpuid_copy_from_buffer() is deliberately
invariant to the order of entries for compatibility reasons, even if we
don't expect it to matter in practice.

>
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> ---
> Changes since v4:
>  - Rename _x86_cpuid_get_leaf to x86_cpuid_get_leaf_const.
>
> Changes since v3:
>  - New in this version.
> ---
> Regarding safety of the usage of array_access_nospec to obtain a
> pointer to an element of an array, there are already other instances
> of this usage, for example in viridian_time_wrmsr, so I would assume
> this is fine.

It's a bit of a weird construct, and both GCC and Clang could generate
better code, but it does look to be safe.

> ---
>  tools/tests/cpu-policy/test-cpu-policy.c | 75 ++++++++++++++++++++++++
>  xen/arch/x86/cpuid.c                     | 55 +++--------------
>  xen/include/xen/lib/x86/cpuid.h          | 19 ++++++
>  xen/lib/x86/cpuid.c                      | 52 ++++++++++++++++
>  4 files changed, 153 insertions(+), 48 deletions(-)
>
> diff --git a/tools/tests/cpu-policy/test-cpu-policy.c b/tools/tests/cpu-policy/test-cpu-policy.c
> index ed450a0997..3f777fc1fc 100644
> --- a/tools/tests/cpu-policy/test-cpu-policy.c
> +++ b/tools/tests/cpu-policy/test-cpu-policy.c
> @@ -570,6 +570,80 @@ static void test_cpuid_out_of_range_clearing(void)
>      }
>  }
>  
> +static void test_cpuid_get_leaf_failure(void)
> +{
> +    static const struct test {
> +        struct cpuid_policy p;
> +        const char *name;
> +        uint32_t leaf, subleaf;
> +    } tests[] = {
> +        /* Bound checking logic. */
> +        {
> +            .name = "Basic max leaf >= array size",
> +            .p = {
> +                .basic.max_leaf = CPUID_GUEST_NR_BASIC,
> +            },
> +        },
> +        {
> +            .name = "Feature max leaf >= array size",
> +            .p = {
> +                .basic.max_leaf = CPUID_GUEST_NR_BASIC - 1,
> +                .feat.max_subleaf = CPUID_GUEST_NR_FEAT,
> +            },
> +            .leaf = 0x00000007,
> +        },
> +        {
> +            .name = "Extended max leaf >= array size",
> +            .p = {
> +                .extd.max_leaf = 0x80000000 + CPUID_GUEST_NR_EXTD,
> +            },
> +            .leaf = 0x80000000,
> +        },
> +
> +        {
> +            .name = "Basic leaf >= max leaf",
> +            .p = {
> +                .basic.max_leaf = CPUID_GUEST_NR_BASIC - 1,
> +            },
> +            .leaf = CPUID_GUEST_NR_BASIC,
> +        },
> +        {
> +            .name = "Feature leaf >= max leaf",
> +            .p = {
> +                .basic.max_leaf = CPUID_GUEST_NR_BASIC - 1,
> +                .feat.max_subleaf = CPUID_GUEST_NR_FEAT - 1,
> +            },
> +            .leaf = 0x00000007,
> +            .subleaf = CPUID_GUEST_NR_FEAT,
> +        },
> +        {
> +            .name = "Extended leaf >= max leaf",
> +            .p = {
> +                .extd.max_leaf = 0x80000000 + CPUID_GUEST_NR_EXTD - 1,
> +            },
> +            .leaf = 0x80000000 + CPUID_GUEST_NR_EXTD,
> +        },
> +    };
> +    const struct cpuid_policy pc;
> +    const struct cpuid_leaf *lc;
> +    struct cpuid_policy p;
> +    struct cpuid_leaf *l;
> +
> +    /* Constness build test. */
> +    lc = x86_cpuid_get_leaf(&pc, 0, 0);
> +    l = x86_cpuid_get_leaf(&p, 0, 0);
> +
> +    printf("Testing CPUID get leaf bound checking:\n");
> +
> +    for ( size_t i = 0; i < ARRAY_SIZE(tests); ++i )
> +    {
> +        const struct test *t = &tests[i];

memdup().  It is important for tests which potentially reach out of
bounds, so ASAN can work.


That said, you're only testing half of the boundary cases.  Perhaps more
important important is the case where max_leaf is really out of legal
bounds.  Further, it is also important to check the non-NULL cases too.

It would probably be better to have a single cpuid_policy object, and a
list of pointers (perhaps offsets) to interesting max_leaf fields, along
with their relevant compile time bounds.  That way, you can try all the
interesting max_leaf values (0, limit-1, limit, ~0) and check
NULL/non-NULLness of the answer with a simple min() calculation.

> diff --git a/xen/include/xen/lib/x86/cpuid.h b/xen/include/xen/lib/x86/cpuid.h
> index a4d254ea96..050cd4f9d1 100644
> --- a/xen/include/xen/lib/x86/cpuid.h
> +++ b/xen/include/xen/lib/x86/cpuid.h
> @@ -431,6 +431,25 @@ int x86_cpuid_copy_from_buffer(struct cpuid_policy *policy,
>                                 uint32_t nr_entries, uint32_t *err_leaf,
>                                 uint32_t *err_subleaf);
>  
> +/**
> + * Get a cpuid leaf from a policy object.
> + *
> + * @param policy      The cpuid_policy object.
> + * @param leaf        The leaf index.
> + * @param subleaf     The subleaf index.
> + * @returns a pointer to the requested leaf or NULL in case of error.
> + *
> + * The function will perform out of bound checks. Do not call this function
> + * directly and instead use x86_cpuid_get_leaf that will deal with both const
> + * and non-const policies returning a pointer with constness matching that of
> + * the input.
> + */
> +const struct cpuid_leaf *x86_cpuid_get_leaf_const(const struct cpuid_policy *p,
> +                                                  uint32_t leaf,
> +                                                  uint32_t subleaf);

Examples like this demonstrate obviously why

const struct cpuid_leaf *x86_cpuid_get_leaf_const(
    const struct cpuid_policy *p, uint32_t leaf, uint32_t subleaf);

is a better layout.

> +#define x86_cpuid_get_leaf(p, l, s) \
> +    ((__typeof__(&(p)->basic.raw[0]))x86_cpuid_get_leaf_const(p, l, s))

You can drop the outermost brackets.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 12:45:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 12:45:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258475.445169 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9nrk-0000Kb-AY; Tue, 18 Jan 2022 12:45:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258475.445169; Tue, 18 Jan 2022 12: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 1n9nrk-0000KU-6v; Tue, 18 Jan 2022 12:45:36 +0000
Received: by outflank-mailman (input) for mailman id 258475;
 Tue, 18 Jan 2022 12:45:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pp88=SC=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n9nrj-0000KN-6Q
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 12:45:35 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 85604172-785c-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 13:45:33 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 85604172-785c-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642509933;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=4BubdTAbofzqa/SS89aNll8e3uMUBBan5kLFhgd0KSU=;
  b=XxdcKcNTlfLQDGW39viWINBT2PIvzk6OuVVMW6THT3Q0JWZYfidcMZfr
   Z59kByBQZbseSKchz+bq8lS2b3Z3J7eKsMnwPQZkaU0LkKQL9ItmmiUW1
   0cU1XyTiOjgxuKKNe1OrwmIp+7x96eMQvr7tdX0MLXzcPG2qXMHJqbcJw
   w=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: z/U7XjDqLD4W0NKUCmKjsVj6PupdXDh2sFgP8BQ0h0E0SzOwKil+jk1x71EA8FihYBeqIecE6O
 MNR2+2lMxP3vmECvAYqc1srOWMPHkB9nnVQC7Ls9bzljdZ2PVAJWQUutgQg4+88E6UnxqChyyP
 GRiHBWCGrzMw2fJ0kwwCk6zU69Ej747j9weet5KvKMUB0454fUKo1lePCN4II3wvXMqWjYd+sd
 JUHu9t94ktwcWViyZxn0K/8WBsBiPbT3W2JxE3+FLpxBVWYoWaHbKSBa6+Jyti01uGDoFfxda8
 6btH+YnsUAduhQ7vFSovt4+q
X-SBRS: 5.2
X-MesageID: 64349220
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:FVWnx6vo1DQHGQC33Bxo88ERh+fnVLdZMUV32f8akzHdYApBsoF/q
 tZmKW+Cb/mDYzT0L9p+PNvj80oG7ZWAyd5qGQBuqSlkFXsa+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZQP0VOZigHtIQMsadUsxKbVIiGHdJZS5LwbZj2NYx2IjhWmthh
 PupyyHhEA79s9JLGjp8B5Kr8HuDa9yr5Vv0FnRnDRx6lAe2e0s9VfrzFonoR5fMeaFGH/bSe
 gr25OrRElU1XfsaIojNfr7TKiXmS1NJVOSEoiI+t6OK2nCuqsGuu0qS2TV1hUp/0l20c95NJ
 Npl5LiAFh4PY5b3gu0EUhdSCjN3P/Jb0eqSSZS/mZT7I0zudnLtx7NlDV0sPJ1e8eFyaY1M3
 aVGcnZXNEnF3r/ohuLgIgVvrp1LwM3DJoQQt2sm1TjEJf0nXYrCU+PB4towMDIY2JwVQaeEP
 ZJxhTxHbwiRYRtuMUYsMIsyjsOP3XzvYSZFtwfAzUYwyzeKl1EguFT3C/LKfvSaSMMTmVyXz
 krW8mK8DhwEOdi3zTue7mnqluLJhTn8Wo8ZCPu/7PECqF+Zy3EXCRYWfUCmuvT/gUm7M++zM
 GRNpHBo9/JrshX2EJ+tBHVUvUJooDZNf+oPCstn0zqXw7PV7QyAFGEGESNoPYlOWNANeRQm0
 VqAntXMDDNpsaGIRX/1yop4vQ9eKgBOczZcOHZsoR8tpoC6/dpt1k6nosNLSfbt1rXI9SfML
 ydmRcTUr5EaloY12qqy5jgraBr898GSHmbZCug6N19JDz+Vhqb4P+RECnCBtJ6sybp1qHHb4
 xDofODEvYgz4WmlznDlfQn0NOjBCwy5GDPdm0VzOJIq6i6g/XWuFagJvm0keBs1Y5hYImW0C
 KM2he+3zMUMVJdNRfUmC79d9uxwlfSwfTgbfq28giVyjmhZK1bcoXAGib+41GHxikk8+ZzTy
 r/AGftA+U0yUPw9pBLvHr91+eZymkgWmD2PLbimkUXP+efONRa9FOZeWHPTP79R0U9xiFiPm
 zqpH5HUm0w3vSyXSnS/zLP/2nhRfCdrXs6n+pUHHgNBSyI/cFwc5zbq6epJU6RunrhPl/eO+
 Xe4W0RCz0H4i2GBIgKPAk2Popu2NXqmhX5kbyEqI3iy3H0vPdSm4KsFLsNldrg77u1zi/VzS
 qBdKcmHB/1OTBXB+igcMsah/NAzKkzziFLcJTehbRg+Y4VkG17D9Oj7c1a97yIJFCe265cz+
 uXyygPBTJMfbA1+F8KKOum3xla8sCFFyuJ/VkfFOPdJf0Do/NQ4IiD9lKZvccoNNQ/C1n2R0
 APPWUUUouzEookU9tjVhP/b89f1QrUmRkcDRjvV97e7MyXe71GP+44YXbbaZy3ZWUP15L6mO
 bdfwcbjPaBVh11NqYd9TepmlPps+9v1qrZG5Q14B3GXPU+zA7ZtL3Taj8lCsqpBmu1QtQesA
 x/d/9BbPfOCOd//EU5XLw0gN7zR2fYRkzjUzPI0PESlu3MnoOvZCR1fb0uWlShQDLppK4d0k
 +4utfkf5xG7lhd3YM2NiTpZ9jjUI3ENO0n9Wkr23GM/ZtIX92x/
IronPort-HdrOrdr: A9a23:6czsOa9CuKEUd8QI2H1uk+E6db1zdoMgy1knxilNoENuHfBwxv
 rDoB1E73LJYVYqOU3Jmbi7Sc69qFfnhORICOgqTMyftWzd1ldAQ7sSj7cKrweQfhEWs9QtqJ
 uIEJIOduEYb2IK9PoSiTPQe71LoKjlzEnrv5an854Ed3AUV0gK1XYeNu/0KDwTeOEQbqBJaK
 Z0q/A37waISDAyVICWF3MFV+/Mq5nik4/nWwcPA1oC5BOVhT2lxbbmG1zAty1uGQ9n8PMHyy
 zoggb57qKsv7WSzQLd7Xba69BzlMH6wtVOKcSQgow+KynqiCyveIN9Mofy9wwdkaWK0hIHgd
 PMqxAvM4Ba7G7QRHi8pV/X1wzpwF8Vmgjf4G7dpUGmjd3yRTo8BcYEr5leaAHl500pu8w5+L
 5X3kqC3qAnQi/orWDY3ZzlRhtqnk27rT4JiugIlUFSVoMYdft4sZEfxkVIC50NdRiKpLzPKN
 MeTf002cwmMW9zNxvizypSKZ2XLzkO9y69MwY/Upf/6UkVoJh7p3FosPD30E1wsa7VcKM0l9
 gsBJ4Y4Y2mfvVmHJ6VO91xMvdfKla9Ny4kY1jiaGgOKsk8SgDwQtjMkfEI2N0=
X-IronPort-AV: E=Sophos;i="5.88,297,1635220800"; 
   d="scan'208";a="64349220"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CZ1wLv2+jV4t7ot+cvRriOhk0NXbGeicT5mcydezrl015T/4K5s/ZBweJrS3rXBFgfCDTGgbtkYfImecD5rjfpgtCSO4v/7+RsLIBcesu87CmW3nOBsWGKWFJ3JRhMDS9j5/UEMGsgcyMrB19FgMccbvnulJy76sGnEsMD1Hs4Jx/RfVqNLS7jnjvjWJ+RMF37W4Wu7zQ3fyHtD2tUZnDQifRQ78JQn2DcMsnVVJv/mg+MnfeHtDRt9u9YcCtkhiS7PU80FJKh74W8ffpeI9T5E9TULLbuVJwkW34hHjWAHGWcW8TWbNSSBJ3exunSnt9wdzcdAiAhU5EZUMMH4ZAQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=H3IhpHkgH3+YnSr4acbdkM+taRDBNemAk9nA1ypjnBc=;
 b=R/7RcgkVDR72VElFDueOLDug33lEzemEd9CuQyQ1nrcbel8SYlcBkPyB4PzQ5p2Og7obYalD9A3vt17bZywrQHngdslWDRNVVDpypnkOZXHoEgKWI2khlYcFEod1XpqlyR8tcf7C2H21gEGtXEfGxXwbn3GeKvT/ux1PKZbCkQ86wRB0e/kKGOd8v72ikVAXdiO5btcEqzzsZURT6CZg7fkWX14kvqDHHBoiVtIoKfYUNAj2bpBYG6Q4KO6eY2kcmCivK0bq3GwW6DllY7P/ex8CMocs4YyLnoZu/XiX2K6tOx42r7F4dA6PBKY4dxhZyyK0KplSKYy1H7/FB1jC+g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=H3IhpHkgH3+YnSr4acbdkM+taRDBNemAk9nA1ypjnBc=;
 b=r+lsmuitlP4WQrPof7hpnRzBVEZpjIs2Dpt+70aOj/qCS7Gu4cH7BLBHSfs3LOMRf//3TcGj+BNPKcqbheE1CfcamdvBFMjLnRbbtGFvNmJQ7w5iyNfIzRvVmi7/ZJyhx+6otCWykHrsWxu4NElnS9va0W7nZGWC5vJ8fsSJgTU=
Date: Tue, 18 Jan 2022 13:45:17 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH] x86/time: further improve TSC / CPU freq calibration
 accuracy
Message-ID: <Yea2XRrFn7qCIx/h@Air-de-Roger>
References: <6c50c7b6-e521-e34f-1808-a4e2961b807e@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <6c50c7b6-e521-e34f-1808-a4e2961b807e@suse.com>
X-ClientProxiedBy: MR2P264CA0007.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:1::19) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c3223e6d-e345-4714-300f-08d9da8064a9
X-MS-TrafficTypeDiagnostic: DM5PR03MB3100:EE_
X-Microsoft-Antispam-PRVS: <DM5PR03MB3100321A2DBF407F246745B08F589@DM5PR03MB3100.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: 9kPV+tUyO/GPkm22JP4DxnYxiH5iSDyojflpDLTixrdhnmIOisX7mWXI/mnGUdz6Cx2+R9vDemTaX8hqspsQrq3The5JPx7QGHwpZv0MTySt68DkzLvMB5odIlDFe0JSRT25oETExI0kgKEsiqeFBWzFfh8Ebb5EMn/G7byBy2DzD8b5tMdS1xll3KEZyWnXnbaNEzIxUlMnExAiF1ICOG5RD38sIaM0UUQPAworr7pko9zDbB9F2ILp5z+aMGR6kcWnKrrnkkFAqgWSexhk5RVc6+9Ek0GwLrjeC+JpHmtv3UzlJ9keAO9AoSl7M1zRgqxnPEanZLDQ4vqEE57AK157hxE+QZ99YKpp5UXH5FhErHAVCzxh8B5HvsxZec5HPQ+eMhzFywiG8FBTmKzAFK89PiNo91hs0xMjZgLo+dk1TvvhkT+RTqgdMk78a3MwA7OK36S/VjlY50dMkUnCltwPpCFaUjHF/BSL3ejoAUY+V/NSD/XTU7TvtAmDqRcTGDDnXqGhOCDd5JkeDq7KMWrcKPCwTU3rPGaJJyN2DlMsLzFnGS4SEmcwxCjclnsVaHuBiToV/eC8cXqwjIIltjz4TZQY1ZCyR0obnntR60UCP0STFTn2bZ+UeaERY7thmzg97TWP4nmHNAYfEJpADw==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(6506007)(66476007)(6916009)(86362001)(6486002)(186003)(5660300002)(66946007)(8676002)(83380400001)(4326008)(6666004)(33716001)(66556008)(8936002)(85182001)(6512007)(9686003)(508600001)(26005)(82960400001)(54906003)(2906002)(38100700002)(316002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?M0N2MGljUDl0VVVBdSt0eElQNWhieU96NjYxRElzWjBNK1BOREtHWDZ5MTRO?=
 =?utf-8?B?NkZSU1FOVzZOZGRtbjl5NFI4Z3RVWGt3Z3gvQ09JZlFOcHh1dE5aK0QvZWxW?=
 =?utf-8?B?WGVsTjYwOVF0d09IVldqRzlOV2hlZzVFVWt6amxrR2RZZldxZWdNUlZKVnJT?=
 =?utf-8?B?QTlDeG9PM1VtcHh5TXlXWUhFSG9mVkl0YkU1WHpTek0veUZyMGN3OGorb0Fv?=
 =?utf-8?B?bFhtTkNMd0x5MkJySE8ydy91ZzdWbTNMdE9tSEljb0J2cHgxOXRPZkFuQy9U?=
 =?utf-8?B?UDI2aDdNMnZuRVV0dFRyVUhPNUVETWJ3aE9VM1h2NWJRZThycHFxaDlRN3Yv?=
 =?utf-8?B?aS9OL2ptSnliOHlxSEJ3Q3JjcExEUmpuaG51bEtlckQ5ek1JNUNIWWJIb2xr?=
 =?utf-8?B?MUFjVDhEejhpcWgvMU8wZ0FWWU5CQnJrZElrTkV6RG5TYVEyTmN2LzJ4amli?=
 =?utf-8?B?RlJsenkvYjEweUJ2MEF0ZHc4ODR3R1N4Q280dCtxRFV0WS9UWjFISzRHVkVT?=
 =?utf-8?B?TVZMOWVzL1JNUTUwcWVEQUJqemNiSnlvUEE2NXROZzFucHp3Ykh1Vk5wb2hS?=
 =?utf-8?B?d3BCOEoxUFFIdXc3S01lcHNJQlBXYUcwN3VCdG5FNkhVUkM2dklDN3FzTmZG?=
 =?utf-8?B?TGQ5d3VBWjlpNkVQWXFudGFFa2xKbzQzOUJybERTR2R2RDhKTFRaSnZCVUhG?=
 =?utf-8?B?QmRETzJianhOam1EdGVxRWlONCtFck9pQVBpN1RoamlSaUw3NzUvUzU2VlpF?=
 =?utf-8?B?dGFSbktaRW9Xa3VDV3BTb29EQXlhUjUvV01RK20wWitOTjIzK3NrZk5WQzRz?=
 =?utf-8?B?NUJRVzBMMjEza2t0eE82cFVzdnF6enU4bjV2WHlpL1dUa09VSWRwc01OQ3Ey?=
 =?utf-8?B?VFpJMEswUkkrdVNYYW5ncVc2Zm5rNkJlZElPVmxXVUc3RHVWazQxMFBuSjB4?=
 =?utf-8?B?QnFUR3NKRDdLMjZJeFVBaG9GVkhYUWE4Z3hIbWtScmJ0eTU5YytpcVU0VWk4?=
 =?utf-8?B?ajBGRDRlRXZqdEZFdFhJN3lQZzJEU0NUK1B0K1RTTUc1MlJQdThzU0JiMzdh?=
 =?utf-8?B?eE1IVzdabGNLWnBjVlkrZWM3R1RwYjhTODc1d1R6T29taGdUS1AwSWJUMzBY?=
 =?utf-8?B?M3Vvc2hrUXFCMTdrcGk2bHJVVExraTEyNFIwd00yM1BRdEduSDFpZUpFY2Rj?=
 =?utf-8?B?Rkh3eUd6UU94SURtQkNmTVRxRWh6dGEzem96QUJpSlU3N2FPc1FtUmRwZ3Ay?=
 =?utf-8?B?Tm43aWFVWFNROUs1empidjlidTcyWE84T3RBcWVRMWlxMXllTTEyQTREYkhh?=
 =?utf-8?B?YUZ5L20vZWJQWkVDbEQwQWhHTWJ6dmJBNUhDRE5WR3JyR1htelA4eEhNamVR?=
 =?utf-8?B?MnZ0VkdBOWRSc0FDTEQyWFQ2QXBvaVJkdUZGNXJ5Q25Za0VDRHpwa3Y3WDdZ?=
 =?utf-8?B?bjNPZ2o3RzllZ0VYcWh0NmhDY2d2V2hXM0NsYU9mTHRhY1ZSc2NoaSt3M1ZQ?=
 =?utf-8?B?NERKNlVSMWZZYUJJRFB1ZExXUVg3VnpXbGl6OEtwZjFGeElzOFhvZGY1WWll?=
 =?utf-8?B?V1NpemdmdThNdjRNRE5abm5VQTZjR1NEUnZVSk5DUUgwRUdJRnllSy96TEl6?=
 =?utf-8?B?SHM3NURKZEg3ZXFiL2VjeWhLKzRyWHFxTnZlaXlkKzNaUGhHUFNvOHRrZU5m?=
 =?utf-8?B?anZWRlFDZk42YVZDZVR3QWhMMjFEeVI5SnQ5dVNySHFkb0Z0SWlwbGo1bDdn?=
 =?utf-8?B?V0ZSRjVpd0NnMUVPQlk2ZWtENHJ5azBPZW5qM2pzZUp2SmcrZVNKaEE2WUlp?=
 =?utf-8?B?VFZMZkVmYlNjM2RYOXBKUDFsU0tNcStHQ2RpVndPRmIxM3dYY2JuVnF2Zjht?=
 =?utf-8?B?MEMvQnd1SWJmcW9UOStiOFZHK0trQVEvTnJjUTZKRzBsWGUrbDZXY1V5Tkd6?=
 =?utf-8?B?enYzYWF1TnZSazZ4LzdnZ3ltbkR3cjdRTUtCYWtNc1JXM2ZoZlVvdkFaYytz?=
 =?utf-8?B?SE12TEpEN3VmVi80Mzk0MEZ2OElMNGJqcHNmWU0xNE5LdURoSERtdjMyUm4v?=
 =?utf-8?B?YTVZM1FkY2RyOXhiako3c3hVb2FEL0pDT1hMa1o2SGVoMGdrN243TGF2OGNx?=
 =?utf-8?B?Q3F6L3Z6dnE1WWplRThvZDROQjlucVhiYTVUWFBGaEF1UUZIWVI5dk15dnFx?=
 =?utf-8?Q?xMHjVK05nj8iSY1VbMZoTms=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: c3223e6d-e345-4714-300f-08d9da8064a9
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 12:45:23.1458
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ecVMVquuiFa2MQG8HVIDkKdHNLXFkT/SrIJVbyjZ7gjxn6OV0n3Jvxwijd6ym5B3AMnVqU8Ry51ApX9QElkriA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR03MB3100
X-OriginatorOrg: citrix.com

On Thu, Jan 13, 2022 at 02:41:31PM +0100, Jan Beulich wrote:
> Calibration logic assumes that the platform timer (HPET or ACPI PM
> timer) and the TSC are read at about the same time. This assumption may
> not hold when a long latency event (e.g. SMI or NMI) occurs between the
> two reads. Reduce the risk of reading uncorrelated values by doing at
> least four pairs of reads, using the tuple where the delta between the
> enclosing TSC reads was smallest. From the fourth iteration onwards bail
> if the new TSC delta isn't better (smaller) than the best earlier one.

Do you have some measurements as to whether this makes the frequency
detection any more accurate?

> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> Obviously (I think) instead of having both read_{hpet,pmtmr}_and_tsc()
> the calibration logic could be folded between HPET and PMTMR, at the

As an intermediate solution you could have a read_counter_and_tsc I
would think?

> expense of a couple more indirect calls (which may not be that much of a
> problem as this is all boot-time only). Really such folding would have
> been possible already before, just that the amount of duplicate code
> hasn't been this large so far. IOW if so desired, then perhaps the
> folding should be a separate prereq patch.

You could even pass a platform_timesource as a parameter to that
generic read counter and TSC helper.

> --- a/xen/arch/x86/time.c
> +++ b/xen/arch/x86/time.c
> @@ -392,9 +392,36 @@ static u64 read_hpet_count(void)
>      return hpet_read32(HPET_COUNTER);
>  }
>  
> +static uint32_t __init read_hpet_and_tsc(uint64_t *tsc)
> +{
> +    uint64_t tsc_prev = *tsc = rdtsc_ordered(), tsc_min = ~0;
> +    uint32_t best = best;
> +    unsigned int i;
> +
> +    for ( i = 0; ; ++i )
> +    {
> +        uint32_t hpet = hpet_read32(HPET_COUNTER);
> +        uint64_t tsc_cur = rdtsc_ordered();
> +        uint64_t tsc_delta = tsc_cur - tsc_prev;
> +
> +        if ( tsc_delta < tsc_min )
> +        {
> +            tsc_min = tsc_delta;
> +            *tsc = tsc_cur;
> +            best = hpet;
> +        }
> +        else if ( i > 2 )
> +            break;
> +
> +        tsc_prev = tsc_cur;

Would it be better to set tsc_prev to the current TSC value here in
order to minimize the window you are measuring? Or else tsc_delta will
also account for the time in the loop code, and there's more
likeliness from being interrupted?

I guess being interrupted four times so that all loops are bad is very
unlikely.

Since this loop could in theory run multiple times, do we need to
check that the counter doesn't overflow? Or else the elapsed counter
value would be miscalculated.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 13:19:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 13:19:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258480.445179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9oO0-0003kw-30; Tue, 18 Jan 2022 13:18:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258480.445179; Tue, 18 Jan 2022 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 1n9oNz-0003kp-W6; Tue, 18 Jan 2022 13:18:55 +0000
Received: by outflank-mailman (input) for mailman id 258480;
 Tue, 18 Jan 2022 13:18:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aElt=SC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9oNz-0003kj-47
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 13:18:55 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2eaf0670-7861-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 14:18:53 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2104.outbound.protection.outlook.com [104.47.18.104]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-11-dJlZZHQGOQaqhyckG3fMNw-1; Tue, 18 Jan 2022 14:18:52 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM5PR0401MB2435.eurprd04.prod.outlook.com (2603:10a6:203:36::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.9; Tue, 18 Jan
 2022 13:18:50 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.014; Tue, 18 Jan 2022
 13:18:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2eaf0670-7861-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642511933;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=rN/pcYDgKi9S9+FHngAonSfjJ4ZATOReaSHk9xDICYY=;
	b=TRIZszrc35EwDSvJF8Y00egyIqvFvH8Y9r3pzSRakPPK4LPA5NR7/S/etHxPDUiKofIeDX
	4d0xJ7FGwMlmlAQ1+ocDNvzoaASxmMh3is1aVPADYBGyPtlj/07Au/GvS1NApA6Dw7OL/r
	CK11baOkDwbbHHzhhAfXfsQdKVbQ1pA=
X-MC-Unique: dJlZZHQGOQaqhyckG3fMNw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GIA0vu6nZGGNgpZpBvbEoM3My/Zc1jUJ/l5yyAOvYhaaC50EyXl43DQMVbajRia0KXsfGmT7pPt9R0VgvQfyAZBFpvIEtMGfIVbhZf6e9sfC28Ci0asroGnEGkJZ+hk6WBXt6SbFhr+sKh0ZY1vGYpSo3mAea7WOwGhsZ7OGZBRvciFpvbi2qQrcWq/J46nqSzuVdUULeS030mF5H/4M5JY6W8Oava44aNPl2ux3wB2Z6yGIaa6qCvqUQX2JDPMmTftJh2jIknkLWWYxX9BbuhFoyppeBMZDCKSqyn3BwzuG0FK6xlJg+fUwR1Xlm0WkbicBTl7FwEjcdEciFjqdeA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rN/pcYDgKi9S9+FHngAonSfjJ4ZATOReaSHk9xDICYY=;
 b=TIgL/RVyYLbffxJMqZL4dMWtyXTeFvf76fUiBcAi+XXWFyN7Q6XLSHO2wmgfel92GuQWHXU4Cg9hq+ndqi1Jcvam0Kp1jNea+jzS6M7wMoyiy5C1nQDORpBdl7WDDioCedDZv6rGD4M7cHFltaH0O7O6j3dXUhH7BRq7G4+IePqUcHdR//hRMNgdHVjVE8sILPPiwK2BIVvJastaLglhHpeoBAvgcYEbv5HWRvSWbEQE2/CUWExqaxfPHCWrc0rf4tSmyXr0lCD7tn4PS5Da90XonC6C3Igtqq7ERvcta3iPuS6byx0WvpyM1f7/zbbATjpcyzAFa1f+PeuemdEvWQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <954ed59e-7c7d-c8d4-a9e2-d7e4d55c2726@suse.com>
Date: Tue, 18 Jan 2022 14:18:49 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v6 02/12] libx86: introduce helper to fetch cpuid leaf
Content-Language: en-US
To: Andrew Cooper <amc96@srcf.net>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org,
 Roger Pau Monne <roger.pau@citrix.com>
References: <20220117094827.16756-1-roger.pau@citrix.com>
 <20220117094827.16756-3-roger.pau@citrix.com>
 <5a9c0bdc-e996-436d-0b08-b7422f47f694@srcf.net>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <5a9c0bdc-e996-436d-0b08-b7422f47f694@srcf.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR10CA0050.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:209:80::27) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b6530e5e-2fc2-4706-087a-08d9da851118
X-MS-TrafficTypeDiagnostic: AM5PR0401MB2435:EE_
X-Microsoft-Antispam-PRVS:
	<AM5PR0401MB2435F1EE78E2ED455B09E13AB3589@AM5PR0401MB2435.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:248;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gt1hPsccoVRkm0Y7Uvq7tBst/Nl2fWS8waoZmtioJCPJCeMtMaBtlgxcbLlcpT+z88kedEauYDAbYbWcnhyniVlLbQjqLf3VMUOHVAUAtMnfBBGcbRnmik751jFEKmQ3A8lRN7+PgbVh1R7CxKm0GVijD3unnKR1rM0fK223zDp59gGXwlTL0hDhbsD8siVD/1sKFQzHWkZS7HNeCf4WU6Mg0IB/ixBsyYa1yX5LpROcYOdcihtxsT3I4bA0dPSajduH2uyNYxUePU+bohHn+rKCnvhZDOHeJRAFrSN2WM6B+44Lpcyz12+hIfWgzLB7gSa1JhoNsw6FSZ2Fnyfd3c5dTxL+qxBMA51DPLVFzZZsdMIubraJOVZpVxb0atu4TgQajbXUzmfjJNiIvrFtlWRvHx82FhZyUHgfbF4CdxVbrwyGU3IBrcZCtE+vYjflq8Ea9E/9UK83zR7ih07G2Fi4kM7vv5DCYLmAtsX3z0qOMlnR4yZYzg9QFpU63etnubocusoC3n9BaGq7fqMWF8IrY25QAC5Ij0PiTtTtaH1ajmvZauCEXv71s1+h9QEGqv6FNTmgNPt57qgj8A1tjFW8DrTNtcIFMnH4P/uAe/Gt0dIx3uwCFcGY6h8YyQa6AifDNzuDFKfEcobGp9u/dtXqxHJJmT/wByLwLlOXQB+nI00QnXPgzIyZK8SGp4BF8vJsHns8bwC0SYDCOvJ3fg15YwWFZ/6bD1CURVeQJ/c=
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)(38100700002)(54906003)(2906002)(4744005)(6512007)(316002)(66476007)(2616005)(6916009)(31686004)(6506007)(86362001)(36756003)(508600001)(8676002)(8936002)(186003)(5660300002)(26005)(6486002)(31696002)(66556008)(4326008)(66946007)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SlFHWXorZ1Z4UWlrWVdrT0ZQb1ZBMFV2MHJwUjB6V1k1UTJJY2FmUTdHc1Y4?=
 =?utf-8?B?N0tOYTd4YXNTdXlYN2F3cVR3ZWFSWTk2Z0RvN0owMTFGeGt5QXZFc1NaeDdm?=
 =?utf-8?B?NDQxdTVtbUFiQWU4MzlyZ21UOVNVNVE1NWdYZzVKNzlHRzNybDBIMjQvUzVW?=
 =?utf-8?B?MjEwUE16alV2Lys0bGVzbU1MblNuM25nUEJWNlpLRzRZUVVabitwa0Y0dEJK?=
 =?utf-8?B?U2V0Nk5zaHRHMDkrWS8rdE5BR294Wmhvb3ovVk1tQ2ljWEZncXBIVXN4US9k?=
 =?utf-8?B?M2JmODc5aGIxMWFma3QvenN6WWQzbERmem1ib3ZCQkF6MmtCYlh2M3d2REZp?=
 =?utf-8?B?Nmlkc2NEYmJ6S0pUUVdGTlJ6ejYwT0dNQW1rOVdha0MrYjliWGFRbGg2Mmx3?=
 =?utf-8?B?NkwyT3dTVUNtcjJSaCsreHowZnAveERIb0JtZkJqMGxnYUlPK2hWUGEvcEZk?=
 =?utf-8?B?cnl1SWZnZ0gxNHF4c3kwNkt4RFlLa2JUUnNOT1NwaUZRWGxPRWE2R3hGLyth?=
 =?utf-8?B?UUlRYUJ5ZnNCWmt5WStlZXAxVmR5OXZURGVnMEk4dHVIWGdSQ21Pa25HeXN5?=
 =?utf-8?B?dEJIbjFSdS93VWJsNThNL2ZVcGxpZWVia3NORmJ1NkpjTXZvVm4wd0tjd3FT?=
 =?utf-8?B?UTFRbXFxMUhtZmhrMksvNDFRSGxpN01LeHF0dVZOTGI0RXJNNTgwMXlvY2tF?=
 =?utf-8?B?ak4yZzJVMXlZS1l6M1Jmc2ViaStvbFdUdTMyUVM5aS9zZVRUZG10QngyL1c2?=
 =?utf-8?B?UG9wRC9URituY3hFSXRQU2hQSCt2Mmo5dnloNGd3Q3FSdi9haTVUaU9paW9q?=
 =?utf-8?B?VGl4cWFVNTRVR240ZjFNS0M4TW91VVhWWTVVTjhQblM4UEM5ejZZb29OMkg0?=
 =?utf-8?B?emZaaUUxcnNYVXNLd0xmVXRzdUNoeGIwRFV2VnpJZ0lWS3YwWG4vRDYzL29k?=
 =?utf-8?B?Skt6TnVVSCtOY2VZY1ZxVkUxYU1TZDR2dEpORFlrTTk2aDMrOTQySi9qOXJ4?=
 =?utf-8?B?a1BHRW5Icmwrb0hnQkZOUVNxT1pjanJIdm5BSVU3QzJ0Y2huR0d6ZFM3ai9i?=
 =?utf-8?B?T2FZVFpENGthMjliOWtpc0FSTjQ0ektLOTFRTlpvK3FDZUJwbDNTZUt2MW9Z?=
 =?utf-8?B?WWZNNnpwN3o1d1o0WkVzWEFYdTNxV3hDTTFHVnhEOU9paVE5MjQ3aHlQWUN4?=
 =?utf-8?B?bjhTcDdZVXZSQkxKZm9RY1JDNzhSWks5MnRmcWU1TkdjUW1vSld1ZzlLV3ZU?=
 =?utf-8?B?UmZweU1rL3JZc3hRZUJYWm5ORkRZaDNKWHg0WXJQemwydDZ0cjlmU2VHRHp5?=
 =?utf-8?B?SExBaFB6Tmh4WXVBayszOUZhUjlkTWdNby9MOXRwS3hXRFFIMDEvNHFldEFv?=
 =?utf-8?B?bU9xUEVGMUtIYjVLdGRYZElDTmZySnFSQVV1ZjBLM1kzTDdhT0FnVTRwSk44?=
 =?utf-8?B?Y1JYc0dBeStDQ0VXTGNzK1dYRTJFK2Rua2swVldzRy9Mc0dSWjhXVkdxY2Nn?=
 =?utf-8?B?WDZzSlE2NThLbW5tMDd3LzBnTkN5bE5kdWdqWlBGNDEybzRFdk1qaUF4cGlQ?=
 =?utf-8?B?bDhTRWlUdEFrNWJlT2t4Njc3UzNhcXRJK2NLT2NXdCt0M2J6OHh5YUdUVDFK?=
 =?utf-8?B?NzlKOGM3VVJnaWZDb1ErVXYvWkQ1ajVualFCeGZ5VHhvWkora1lkVEtFSGE4?=
 =?utf-8?B?MXJqTCtoZjVmSENJV1I3ZTcwdkFxQzhVK1NaRGx0L3B4MVlCR04zNHRZbFBC?=
 =?utf-8?B?OGIrWUlKMHJ3S0dSemRyVjRFMDk2K2ZMWCsrQlA5aVc3eitTODNVUlI3cGRS?=
 =?utf-8?B?Q2RSTkpJa3RwczlkRVM5QWM1UGsrUXYvOGE1Q2M5UVFKMk1Pd0wzTDQ4L1Bq?=
 =?utf-8?B?T1EwdlFKc2kza0hrZDVUMEJiUk5lRUd4RGtrVFk3RGgxRCt2cjEyVWw5akd0?=
 =?utf-8?B?ejdNMy8wOGFBTHJRZkptMEM1OXhoYlBZY2V5ZTBZOUJ5QWNtemx0WDA1WC9B?=
 =?utf-8?B?enlQZW5rTGJCWFNuc1NtSDFleG44TldPemtNNUFxNjFPME1lcXhJVVl2Sk4y?=
 =?utf-8?B?Rlp3cWdmZHVvUUg5UHRITzZsWG1zMkNhSytINjB6eUt1cXVUQmwxVTlPNTRC?=
 =?utf-8?B?bDB4RTFNSnpBNUJLUko5c3E2Q0pHanFYblhKYkNaWHVPQXM1TWZVY2tYNzNt?=
 =?utf-8?Q?lUoNIbfkzbJydN1cTOgv5qM=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b6530e5e-2fc2-4706-087a-08d9da851118
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 13:18:50.5147
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7wbXepaI4bmgKGU9q5wWHqI9GhNUHH5L+WXBA4/brStMPMpCoAxFaVaRne1CxKmGt/Fw4ucmIb6OJEApL2hJ+w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0401MB2435

On 18.01.2022 13:26, Andrew Cooper wrote:
> On 17/01/2022 09:48, Roger Pau Monne wrote:
>> +#define x86_cpuid_get_leaf(p, l, s) \
>> +    ((__typeof__(&(p)->basic.raw[0]))x86_cpuid_get_leaf_const(p, l, s))
> 
> You can drop the outermost brackets.

How that? While people aren't expected to write
x86_cpuid_get_leaf(p, l, s)[0], such a case shouldn't result in misleading
compiler diagnostics. Afaict omitting outermost parentheses is only ever
safe on postfix expressions.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 13:27:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 13:27:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258483.445190 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9oWF-0005Bz-U7; Tue, 18 Jan 2022 13:27:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258483.445190; Tue, 18 Jan 2022 13:27:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9oWF-0005Bs-R5; Tue, 18 Jan 2022 13:27:27 +0000
Received: by outflank-mailman (input) for mailman id 258483;
 Tue, 18 Jan 2022 13: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 1n9oWE-0005Bi-3T; Tue, 18 Jan 2022 13: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 1n9oWE-0000ZS-0s; Tue, 18 Jan 2022 13: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 1n9oWD-0006Fi-KF; Tue, 18 Jan 2022 13:27:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n9oWD-00038R-Jo; Tue, 18 Jan 2022 13: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=IPk2MFHzTRIL006KMnMssCFzDPhNtwANxQUXLTX0XTk=; b=p7oH8pF4IuagrYgd951MYK9cbb
	u7xii14DLE9YzSg8uucOEjZ2MbQRA37M2cnEBWilTZSCwEVC5V0SeQcsnVNm+xbVZ4x8HNegk6Q/+
	BkdN4NKHcf1AJ8xZoRNIii811k32pzgtjTaeEEXWv6h0iyT1H0jAD3aoeASDRnhhCRuo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167728-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167728: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot: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-qcow2: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-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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: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-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-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
X-Osstest-Versions-This:
    linux=0c947b893d69231a9add855939da7c66237ab44f
X-Osstest-Versions-That:
    linux=455e73a07f6e288b0061dfcf4fcf54fa9fe06458
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 18 Jan 2022 13:27:25 +0000

flight 167728 linux-linus real [real]
flight 167734 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/167728/
http://logs.test-lab.xenproject.org/osstest/logs/167734/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 167684
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 167684
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 167684
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 167684
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 167684
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 167684
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 167684

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 167684

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167684
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167684
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167684
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167684
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167684
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167684
 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-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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          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-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-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                0c947b893d69231a9add855939da7c66237ab44f
baseline version:
 linux                455e73a07f6e288b0061dfcf4fcf54fa9fe06458

Last test of basis   167684  2022-01-13 07:47:42 Z    5 days
Failing since        167693  2022-01-13 22:41:04 Z    4 days    9 attempts
Testing same since   167728  2022-01-17 21:42:09 Z    0 days    1 attempts

------------------------------------------------------------
670 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                                fail    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 52975 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 13:28:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 13:28:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258488.445202 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9oWl-0005iW-9V; Tue, 18 Jan 2022 13:27:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258488.445202; Tue, 18 Jan 2022 13:27:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9oWl-0005iP-6A; Tue, 18 Jan 2022 13:27:59 +0000
Received: by outflank-mailman (input) for mailman id 258488;
 Tue, 18 Jan 2022 13:27:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aElt=SC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9oWj-0005Wh-C1
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 13:27:57 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 726364cf-7862-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 14:27:56 +0100 (CET)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2177.outbound.protection.outlook.com [104.47.17.177]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-31-qwh92FpON4Klke4q0aGHNg-1; Tue, 18 Jan 2022 14:27:55 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4623.eurprd04.prod.outlook.com (2603:10a6:803:70::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Tue, 18 Jan
 2022 13:27:54 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.014; Tue, 18 Jan 2022
 13:27:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 726364cf-7862-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642512476;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=M0x2HS6zU0So9+LsEtyLtK2XgLgm7TSdIHGA5J0yMb0=;
	b=Hx4lRK+oatRfKw0XsQWWHE260dn5jcNgtdZobJd9MtcHv6GHBSACmmB0j7+LrvC8iar2Ev
	33KkrxGTSc4mf924psCK1s73iJqXIEOTQ8MOaN1LgTGVwj6pXTwX0MIFGsYWgbOjIkiEYf
	4a53Z0UTTyFmp7egx9E8boFgt9Jwq1w=
X-MC-Unique: qwh92FpON4Klke4q0aGHNg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hUDJOgwAO3VBQ7SPLYG/BWV6FAHXQwPGj2DUqzJs7XfatUkcnPY7ufzTjDNhY0jzYAZTHrnttWiP/2AV+X2G808vfRpf1l19FZ99cdgmFoRHIfHopyMWmUZdDVu/Ykv6NPM1qhw8TfvUMRA62A4qJMqYUMKmP6PXprolGiYgIFMEGrex7cXZGYisuJJm2rB+3uUnLdwpH/4n8UVYpRShhXaNu4Xjm3D4Nm47P64bqMqf8uXSE3HaHvbkTsxr7sDztEO6bRKwVIHvNYW/Oq2vOqiZJidgeIAr+SAigGuZEau4VVkU3NNMeqahDYKv3LekphMKhgC+IL/5mcaczpB32g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rKa7NzZ3aDrnL+HnhEGCJXWcP3oVhCrE/ec2hBfHROM=;
 b=RbrQHyu9D//J6+xnthjjCbYgYwNN0uZXwZ2PZUBOZajy/8QKY2xmUgFOKjWLRhVHBaOu0O59V7aZDF5xyzeB+nJSS2jnPhjp/cUyz/sHI/55skOvso+2NYnMxoTG0oG2qylPZ9fq0oj/uXjhT1OnIHkcEUENcIA2LJGSkYlbbLaIhIO5f/H3RB3BtQ0/wwmQ1VA9tSdxnTOIRa6Wb6yHc4X2dpA7PyO4dKMTxLwiApO/JMcdxyQi2INgFlU77ACXlf/VM+1hHdFWlWY6qFuJCHTO2gkXzrKMd+6T/05QuMKkWj0abb0J3/TqJ+sZSGVmnRqllGCFbHX/fmvn/S9MVA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9712f1e7-4dd8-dded-4d87-b6a31e2eba40@suse.com>
Date: Tue, 18 Jan 2022 14:27:52 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH] x86/Intel: use CPUID bit to determine PPIN availability
Content-Language: en-US
To: Andrew Cooper <amc96@srcf.net>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <239d8868-0c8a-b512-a2bf-3e91689a8218@suse.com>
 <5fa523ca-0a14-862b-94f4-3e7a78319496@srcf.net>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <5fa523ca-0a14-862b-94f4-3e7a78319496@srcf.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM7PR02CA0030.eurprd02.prod.outlook.com
 (2603:10a6:20b:100::40) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 88dda9a6-33bd-45c0-a12b-08d9da86555b
X-MS-TrafficTypeDiagnostic: VI1PR04MB4623:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4623EC63EEF19DA6DA1B5DA5B3589@VI1PR04MB4623.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:
	mVedk9qdOstszhHqlSOJEkTyDcJnlRdOb1caF86tPzgS2p5WqO1A7d86FX7Hj5khbgJgUr27UJF4iPNMfpCkBH5K80xq9WedYOzgrJ9D5LTUnczI85SceEtC71IY9wEQpHGp+NGcKBHjlM3O/nGIhmxDaZaA7yN1EQLCqoTFs5DDlgajbT2ROH+xF9Rksrjk/utNEKfVKE5meX8S00ZWxx/64kz671yb4icPraKtNjcMsxDuziQwD1z0ncJfC2pBRvr52XoyTSKS0sBJKYQeW/2lMZZPCrd1o+gTS6X7B7wJEBqJZ7uqweyH2YCTVby+kkRxef1p3M2lYDAN83O9dRqV7eAt5vSTU4MxbiSLuvVMcb/uKWx4/hYJq+zSajgQBU7QoZXPHA+aHIxHxpQTYjKZ6PzTNEfqWNsJP1rlfGP9VWI1dfIGJHTuSW0enrPn+VpMuv9JIH+NSR3huq0EORMdfJb2ZUG39d2Dyvv6qTIzDN/UHMiJNzWa51V5AtpCbefKTrC34Yy6OaA4UHaz+jx4hUmyPbl2c5ZDP0A8mrDqANJybrrxsrVFCxUE+6tRvgCeEnMfWBnIPCKmzfR98lDLJI4fyrB+TxAakVjDzYDuPUbMG/v/nOpH/PG64PB733JfS91AVcT6rMNdOQI3pCqy55J5//7VVbcRW8t2oUCkDvfR6nWnk7Hy8TgLTJ60+eewZfCPif3671qdpRTB13JyRyf1XpFM5wM8dWlKuYHErRVLlBIGnaB7/wwRd2AA
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)(508600001)(4326008)(86362001)(31686004)(5660300002)(6486002)(54906003)(6512007)(2906002)(316002)(38100700002)(31696002)(8676002)(66476007)(66556008)(26005)(8936002)(2616005)(186003)(6916009)(36756003)(6506007)(53546011)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?e4zFyWJqHrM0oxy2iT6W9Fe135SdW+xEOdiL643SdhmnQJu13V1fP4tWeCYj?=
 =?us-ascii?Q?On/TNSFOobuWuoPX3iRVMJJukT50WcuBWTKt4RMuv7yElXQKvWnh6mH0PEif?=
 =?us-ascii?Q?vxqW5lzLuus8BbAmhLOBehj67ty7zsXKSzUTRy8DrzMixce6XuIOxAbZmAf+?=
 =?us-ascii?Q?FQrBAxS2vhL85HAy87ILYspa4evg3h2L83nUlkUf1dWeiE2tl/ge1Ur8cjPW?=
 =?us-ascii?Q?b94zogUCxJp3tGVQwkGfcHuo6ag2yM6ndTYD1QuPQpWZ+pFzz1QvIXE2X8dQ?=
 =?us-ascii?Q?gy1DWrQ0H7zLjCobAaAaTecGiIRNUJT83CaRZc1z/99Z2fwiXZhdNcoHVOip?=
 =?us-ascii?Q?JklQuLJN8X8qebsWZ+LMPOwa/5pPUF88iRqivaKmnaE2SyTQOBGgSbsNN0aE?=
 =?us-ascii?Q?1VNKJf4gs2Bxb9K/f4T+t28toYMbWTkC+kiDFHS7skuUMuqtcm2wJs/dGxzi?=
 =?us-ascii?Q?fZJKa4GqoMHFftTWp6XpVz1Dzb0BInfxGiUnTxNB/A7xyzl+vDOige5RfULg?=
 =?us-ascii?Q?3jyRW2HTG/CoE+SvjwcvBMgyhZxJpfB/kRddf6dKae7b+4yXkFr6C/VSoO0V?=
 =?us-ascii?Q?kRDN9GC1Eqc1BPf4y4QDzloTd9OXSdN3Rl1LOiDy8w4rPa0OtN+0LtdiBhYO?=
 =?us-ascii?Q?YJSSfyxIWtc/iJOSj9pSUZQ6K+xawDC8QDt8xsdk2innGD5Zabic/Q50jH08?=
 =?us-ascii?Q?cEwzHfeZRQo7CdsFyw5Nv/rMv4P37hWcIPKM9RTineE7xSs32komOKcR9Z2k?=
 =?us-ascii?Q?YFpUyQCOi8BnXNMbrAL9v+bQSKcmF6Mma98fwn8E1oAJU3IldpRvpzjp3wRg?=
 =?us-ascii?Q?5OlU+NFiUUAjtl+K86mpz2JG507MW3dqWmCu0FlL124/DWgcUJUbRzb2ybbO?=
 =?us-ascii?Q?UvmAb+4ZC9g010xJ3YLelIRdkPJCzsm02iZaToBqJ4PKS8D05Pf63/kJVaTI?=
 =?us-ascii?Q?BLuYmz3elJDplbqWFA9jLKg8xsqMNcxjoFE+dJCOT2YdzfDenZUAgkvVMZFb?=
 =?us-ascii?Q?2yu4E1mi4sheanFJkPGxXn333S+ujwpopq3TrhvTUvJDBzh0nrgk7eIGxJfY?=
 =?us-ascii?Q?qIW2Rb+/RrwA6D7CyLh4edr4LjX5HUEg5/3TdFB9BkNGGyJDOQe2hj7JEjeX?=
 =?us-ascii?Q?CwKd5+/1uj8bxIOqTN6wF6ypFf3KA7luNyvkOVgDztUjrxrd3Bt/nywzbluL?=
 =?us-ascii?Q?4LpUPbeFg/JCmMw8nZfK2dHZOB0UgjAXEBNVIthgkctyXjHB2BK3Mkum9R4S?=
 =?us-ascii?Q?9zxPy0ZIYET7Tj6fii+rAnec9XX+Kkp4vuYnq0a96B1HVq8UXZjVA0KXfX6U?=
 =?us-ascii?Q?CVb7NlSM7HIAPtXPavdSObt2uT6MMA92mYrz0ZmoUoGq7GhsZe74C75WjISJ?=
 =?us-ascii?Q?L8Egc6EQYac8XzrJivXyY5+ChFySreWMjsH1ffZmcRQ/pltR7TNgNkbh3Jgc?=
 =?us-ascii?Q?ZIMx6zUwe+xRXt7xDBx/DqXwHvSADG2aeNGu8AiHvR29rqqPMZn930Z2Dmi1?=
 =?us-ascii?Q?5uYmYjWGo94I2brx8HE/s5GffiqC8duvJXDO/JcdwFBl1TolbDA7t6PF4GUA?=
 =?us-ascii?Q?+UMPA5HK9r5LgGYkRxluEKmgLx120JsWZxY8LT/28Zsi+jRxT9rpB0old31H?=
 =?us-ascii?Q?Jw+hh4H1QsUj/mjicigFB2A=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 88dda9a6-33bd-45c0-a12b-08d9da86555b
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 13:27:54.3466
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wOPsKpjOLicuxphEPEeli+XSiJIWEcu3CIN6LY7zLNSXKkDo3xcwUmsXKBRvlm35J88QWcFnMzOy2RfStmszug==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4623

On 18.01.2022 13:18, Andrew Cooper wrote:
> On 17/01/2022 15:30, Jan Beulich wrote:
>> As of SDM revision 076 there is a CPUID bit for this functionality. Use
>> it to amend the existing model-based logic.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> In xen-cpuid.c I wasn't sure whether it's better to put the 7b1 table
>> next to the 7a1 one, or whether tables should continue to be placed by
>> feature set ABI identifier.
>=20
> They're in FEATURESET_* order, which is also chronological order.=C2=A0
> str_7b1 wants to be after str_e21a.

I can see the ordering being necessary for decodes[], but I have a
hard time seeing why there would be any strict need for a particular
ordering model for the str_...[] objects; there it would seem
slightly more natural to me to have adjacent registers / leaves
next to each other. But since I don't care that much, I'll switch.

>> --- a/tools/misc/xen-cpuid.c
>> +++ b/tools/misc/xen-cpuid.c
>> @@ -156,7 +156,7 @@ static const char *const str_e8b[32] =3D
>>      [18] =3D "ibrs-fast",        [19] =3D "ibrs-same-mode",
>> =20
>>      [20] =3D "no-lmsl",
>> -    /* [22] */                 [23] =3D "ppin",
>> +    /* [22] */                 [23] =3D "amd-ppin",
>=20
> We don't retrofit names like this.=C2=A0 If we did, loads of the speculat=
ion
> bits would need to change.
>=20
> The Intel vs AMD split is clear from the leaf index, and the only reason
> we have the distinction is to fit the two bits into the same namespace.

In which case are you also asking to make the new leave simply say
"ppin"?

> Please leave this as was, to match its name in the source code.

By match you mean what? Hardly

XEN_CPUFEATURE(AMD_PPIN,      8*32+23) /*   Protected Processor Inventory N=
umber */

?

>> --- a/xen/arch/x86/cpu/mcheck/mce_intel.c
>> +++ b/xen/arch/x86/cpu/mcheck/mce_intel.c
>> @@ -865,6 +865,13 @@ static void intel_init_ppin(const struct
>>      {
>>          uint64_t val;
>> =20
>> +    default:
>=20
> Considering the comment above this switch statement, which you haven't
> edited at all, this wants a note saying that a CPUID bit was added in
> Sapphire Rapids, but older CPUs still require model-specific enumeration.

Oh, yes, I should have paid attention to that comment. Will edit.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 13:30:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 13:30:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258494.445213 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9oZ9-0007DE-Qm; Tue, 18 Jan 2022 13:30:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258494.445213; Tue, 18 Jan 2022 13:30: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 1n9oZ9-0007D7-NX; Tue, 18 Jan 2022 13:30:27 +0000
Received: by outflank-mailman (input) for mailman id 258494;
 Tue, 18 Jan 2022 13:30:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aElt=SC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9oZ9-0007D1-1I
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 13:30:27 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cb46152d-7862-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 14:30:26 +0100 (CET)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2170.outbound.protection.outlook.com [104.47.17.170]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-39-axlo66_SPe2y-l6jrLzv0Q-1; Tue, 18 Jan 2022 14:30:24 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4623.eurprd04.prod.outlook.com (2603:10a6:803:70::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Tue, 18 Jan
 2022 13:30:23 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.014; Tue, 18 Jan 2022
 13:30:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cb46152d-7862-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642512625;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=gpKfqx5aEEgF36yelLlI0u+lg4U2VNri6Kbi+HKlieE=;
	b=Ma5WAV3hYAwxPY8Byh6IFZd84R9TTyyAL3+DmkKvFO/R8MzY++KAOF1UYOzculJvEmhZwc
	My9czKOiYtTLN247BGYkaBD5HxzijKUu6o9sv5J802lUy4775B7F+bXTuzEg/2owSl9jcE
	/0x1cuIhns4xXFknAyYqrWnsU6Dtrvw=
X-MC-Unique: axlo66_SPe2y-l6jrLzv0Q-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=K+dznToF/+0U+4usy2LYRbT1Z85xXc3hYy04zuEzRKMG9ctqwnIcnFyjMxyiztcBeJAtC21SzTUSs9tIldTofzh3qANMol9ocHeJgato+3lwdq5Cerodd686CVLYVVWUfROgMqB0BN/vHQZyjzNgkwPvY16BRFmNgQ2M3z7xVCsMJCwSddVxtbd3cQeup9BPnUGc/y4DcrNIQI+gIBAlxqIFCVgKVWkpI52+OhV5KRmPOAfW7pEScnsjYcOugVuanFFtwMeSinvMG70lCbh7iGoD7yRU9axBegXZlfbb9SwF01JA4iJpNPb+DMDDJMBvcb2YGa8Mb5g0I8d8gigvpQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gpKfqx5aEEgF36yelLlI0u+lg4U2VNri6Kbi+HKlieE=;
 b=jfXdwNx/akJOEJpHS5ROq8D2St2xDt6WuAdhQNDL3bHq+bCgO7q+omXdN+DfaysgjQTwueb9Be0CCsqCBvJ0TVG3UAdx/mL/zN6ZOY57L+Zs0d5a1ZvRq+q+89TUkld5gRhi2W6WqZsskMgLuHCB6q0r5/aWSEO3xSUeBT2EKl0B6MAcGl06/8z8J0LmEIAbrfwHLwAFU4HRPftBVkHTwb1IeCcAAFr2M4P1OlNT63n6gkZsn4BWHiSXWx2+rTNZd8tbAoVFzS/UdDBrz1TmjS2YaEoG51mRmZHeRY4kweclPt3QHWqOvtldxLppm3xtM8BtDrAkelAax2echBty9w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <db51c954-d8a1-8fd0-54c7-c0791edac765@suse.com>
Date: Tue, 18 Jan 2022 14:30:21 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH] x86/time: further improve TSC / CPU freq calibration
 accuracy
Content-Language: en-US
To: David Vrabel <dvrabel@cantab.net>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <6c50c7b6-e521-e34f-1808-a4e2961b807e@suse.com>
 <5d3db5f4-44db-b782-656b-d755fbf4c441@suse.com>
 <a4eedbc9-f5bd-2195-679a-77747614c258@cantab.net>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <a4eedbc9-f5bd-2195-679a-77747614c258@cantab.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR05CA0025.eurprd05.prod.outlook.com
 (2603:10a6:20b:311::30) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4364b571-f6e9-4ef2-e757-08d9da86adb7
X-MS-TrafficTypeDiagnostic: VI1PR04MB4623:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4623F022647483C6B12FC0C2B3589@VI1PR04MB4623.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:
	E2Rq0NHJSpG1/EuVi6ejj6o9586b6dw0ao17mI+VozYVllcaoI0Eva0r3GrklQtUNVeZoJMJsKkh0sjw3sX3kmlQ9znJ0Pv5TImBy4iaoumAl5kbI8mAVyworvPArE7El+AU8ZrtD5suNG9cCbSJT4/BwfgZJbEloLNICiq1D2du6BC7kpDM12Dj2NyH0FVoQXulBHMKYY3WpytPOCuVmeePYgesc56D441tVECV4XvL/NGo0ckP8JTV9HWILVay0k6A/h3cQS/KpEI9Se5jDOQgwAjebWOXKz6Bzmc3Jx9ms4l1rPVyMKG9e8tiX095BYrUAwSYNXvmLZdbbtLa0fhrLisJqbD04nBzdLHuyR+A9CXb78k2FKp7ASyVrbnueZ7Y0NnKv0kGxCqqBT2QEwCxSfCuxhyH0UsfKfwozOAXAuQh5NtuL/dvNQoQGJDXD5gORHuwLkgvRqXictK97e4ZInA/z5/WRmxA626ko8KhKr67RxLcVhrbjY/UIQJ9kejcHG9BeqNPIvYnKLK29A0go6yCjG59B+mdvhLh+dtaA0vdJ2j4crZNSzAKOyONdW9ShIxkzhlAitI+8u0dgutDjbJFGbYxnvaecp8HtyCFpP5lZVZlZvn2Hv5eWZ4jRQWHp1pwZEeDzahaVDhSKAhQNovApSjLX1HTuyZyoqkHdjufot2Sf3qN0Czsxx6TZfByA9UZ+xE5oxTnuFjytH/6ybGiyUDo6ttS0fwNlsSTyQmDX6cAm8+LlzyAmiJG
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)(508600001)(4326008)(86362001)(31686004)(5660300002)(6486002)(54906003)(6512007)(2906002)(316002)(38100700002)(31696002)(8676002)(66476007)(66556008)(26005)(8936002)(2616005)(186003)(6916009)(36756003)(6506007)(53546011)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NTZDOTl3SW95WVdpZlhmWk52dnV0ZElWeHpwUzJyN0dvOGhTUW1zNkpOOWY4?=
 =?utf-8?B?LzMzVVFFeFBNNjR1eFNHNmVRL2gwTjR5NEZGRkdGbHQ3YUFOMXVDZVpuTkdk?=
 =?utf-8?B?NzNzVmlxRWZMRm1QR0VhNnBLRldiWEJNQ3h1R2J2RmFiemFtaFNITjlzZXMv?=
 =?utf-8?B?S1pwdzlISXEzelFkRXV0U3RmRUdETjJrSmI3bnd3RHFUaktuaGtKc0c4OTZr?=
 =?utf-8?B?S0pzT3Z5SVU3Q2dBSHNzbnZlUGhwcFhEUjF2UHJJM0RQK1pUZmkvajBIa01s?=
 =?utf-8?B?bjJpaVZHYnRvNHJxVGdDZUtzSGhEQi94Ynd6cGJqZlNXZjVBb2xDaUgyV0Uz?=
 =?utf-8?B?djVCV3lEMHFuNytuVkp5cXNrTXZkODlYOFdDaWE0ckdQRDRmZjhTT2xKWXB1?=
 =?utf-8?B?bkVua2Y1SW5OM0J3UjdRQ1M5ak5vbXZSOUZFTmhiVTA4NW02Y3krVy9saExD?=
 =?utf-8?B?WHlvdkdHRm9PVmxISHFlNjdJSnFYMmx1eW9JekNqaksvV2NWaVNZSHU4TUtV?=
 =?utf-8?B?dENXOGZzTVJBbjkwNzdZbmtIbUgwK0pmN0lJMjdoMWRCbzRVUGpJSUQyVHRw?=
 =?utf-8?B?aHR3WjJER2wwaWpCTWt6N2pkZXQvbnlMWm1OLzZPN0hWSTYyK2toTnJYUlpO?=
 =?utf-8?B?V0xuRFRtejU1UWVjeGYrMEtnRTdlMzZoNGh0Skt2ZFQvemdRSDF3NWpXTitN?=
 =?utf-8?B?Mm5BNGY4ZXBGTENOWDBTZlJwM3FzSjBrS3dMeG44L2ZGUnlYeDdvUk9pbkR4?=
 =?utf-8?B?QVl0ekxsM3RYTGE3K0tIRXAxYUNDZ3pOVkpYWGhORzk0WWpVYlVSMjh4OHZ3?=
 =?utf-8?B?c0JaYnZwTnNSWG84ZkpVeGhPa04yWkNuRUNWLzBkTlhRV09EbzhvdDc4VGxm?=
 =?utf-8?B?bHM4K2dtWGY3SVUvaURldmQ4TFhSdGZjYUM5YzIrWE9DNjJVbmVXNGxvMVhY?=
 =?utf-8?B?S0FkTERXeEVkNFlIUG9hT1o5YlBpclJsY21jejYrNWFuS2lqWFNwd0Q5MlIr?=
 =?utf-8?B?QWY5N0pNV1VpS215UFNDaVowS3NCL3pzMUxBOXRXL2tIZWlkdFB4VEVBSG9i?=
 =?utf-8?B?RERvbk92OTd4VHdWd3Nzbko5UE52S1MyeFhkVS90bElKTGFVREtnZldic2NI?=
 =?utf-8?B?djhGSFVxNDFSY0EvRWkvVk1yUVZobzBJQ3pGdjN4aEFVSUpsOXAvY2h6TTdj?=
 =?utf-8?B?bkVXM09wSVF4VTdYYVh5emM0eFZ4R0I4eTc3TlpUY0gvUVQ0dW9LMUJyYStM?=
 =?utf-8?B?elZxZEo2c0V2NzhLMktucTlJR29aV250Tk90V3dtS2QvUFZzMjBWdVkzTVpN?=
 =?utf-8?B?MmROdDhYZlhpRjVVMW9rMDdESWh5T0Z2WVZiRWdYdTNnSlZHWUc1UzR5bldN?=
 =?utf-8?B?MGptZzc2MDdjcnNFY2ZhVUxPM2Rja0thWEY0czdhZXp3RHNXYWxzaHFXR1Fr?=
 =?utf-8?B?d2lQQzJYeUpnNXRzQzllWm02RlpEeVdhTUdZRk51QklpejJGYm5UUUFweGlO?=
 =?utf-8?B?S0hjWjROc3dDVjlNK1l5dFZINmxrV2NNc290LzU2alphTE8yaW9zLzZlV2xJ?=
 =?utf-8?B?MnNMK29TbzRBeURzczg3T2xnZXFsNFpEWkhYVVFkTmU0VFZoU2lnRDRzbzBz?=
 =?utf-8?B?eTV4akthRHRtLzlwSHRMenBNTUtSaUI0VWlPM0JSSE55UG1iNk1UdjMyR1NC?=
 =?utf-8?B?K21KamxBTGlaZmVJSTI2cWJnN3Naa1hVQm00dXdOTWg0QURwaVBtUUZtRE1t?=
 =?utf-8?B?bEJVV0c5eEg3ZEV4TjVMNDZiMS9wY0M2VVIzU2hOT0pqYzEyUGtoK0hIeStI?=
 =?utf-8?B?UDh1RWg0Y1o5dEcvSTRtMDhiUWhBMW1GVjhsbEd1UWYrZjVvcmZHTzdIZHVR?=
 =?utf-8?B?ZzluMEtnMXVqQ0NqVlFCS05NY1FETnFoRlRVTFBOditzcVdMWG5MUzNHU1Rx?=
 =?utf-8?B?am9VM2I1L2t4N2IyWUVjbWhTY1lOd21yOUNOeDlkRmZWeW1ONENQN1Irbk9l?=
 =?utf-8?B?TDNrRTg4VXZwNTluMjdEWGE4T0ZPRnMwV0tUK2kyQjhiUlRMK3dYNHRHL3g3?=
 =?utf-8?B?QlpYdWxCY2dUSmNIa2lsVGxqMUlHWUY5bWdzcXB1amdXV0NYNkUzZlVJdjFl?=
 =?utf-8?B?Q1ZEdUkrYVNNaFBrUk1uS2FUZTJMYWM5Rkt4UDBVaFA4Vm83MTIrQlZ2ZkZo?=
 =?utf-8?Q?FrWp60FYcKM1ng+KHTYmgF8=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4364b571-f6e9-4ef2-e757-08d9da86adb7
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 13:30:22.6008
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +HP0XaEG34nRrCQWmgvPOpPpWOLN3X+pzQ91QuwJHBja0SLI7a84aOt8Krj9Y1ypaPmkO6avOcA6metlXlzhVQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4623

On 18.01.2022 12:37, David Vrabel wrote:
> 
> 
> On 18/01/2022 08:50, Jan Beulich wrote:
>> On 13.01.2022 14:41, Jan Beulich wrote:
>>> Calibration logic assumes that the platform timer (HPET or ACPI PM
>>> timer) and the TSC are read at about the same time. This assumption may
>>> not hold when a long latency event (e.g. SMI or NMI) occurs between the
>>> two reads. Reduce the risk of reading uncorrelated values by doing at
>>> least four pairs of reads, using the tuple where the delta between the
>>> enclosing TSC reads was smallest. From the fourth iteration onwards bail
>>> if the new TSC delta isn't better (smaller) than the best earlier one.
>>>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> When running virtualized, scheduling in the host would also constitute
>> long latency events. I wonder whether, to compensate for that, we'd want
>> more than 3 "base" iterations, as I would expect scheduling events to
>> occur more frequently than e.g. SMI (and with a higher probability of
>> multiple ones occurring in close succession).
> 
> Should Xen be continually or periodically recalibrating? Rather than 
> trying to get it perfect at the start of day?

I wouldn't call dealing with bad samples "getting it perfect". IOW I
think recalibrating later may be an option, but independent of what
I'm doing here.

> You may also be able to find inspiration from the design or 
> implementation of the Precision Time Protocol which has to similarly 
> filter out outliers due to transmission delays.

Thanks for the pointer.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 13:31:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 13:31:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258498.445224 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9oaM-0007n1-6F; Tue, 18 Jan 2022 13:31:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258498.445224; Tue, 18 Jan 2022 13:31:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9oaM-0007mu-1R; Tue, 18 Jan 2022 13:31:42 +0000
Received: by outflank-mailman (input) for mailman id 258498;
 Tue, 18 Jan 2022 13:31: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 1n9oaK-0007mk-HV; Tue, 18 Jan 2022 13:31: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 1n9oaK-0000f4-F5; Tue, 18 Jan 2022 13:31: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 1n9oaK-0006Lu-5v; Tue, 18 Jan 2022 13:31:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n9oaK-0003pa-5W; Tue, 18 Jan 2022 13:31:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=O4KdJZFgMETMEzkuM9OocHwo4eXjXBsKAtqgiiLb+VI=; b=IN2LdDZYe2CDz/WbY2KERRm4NC
	mFlt4y2kbwjcWOog9LoTEDXPpVVeImbAEY2J6ktC1QDIoVnqh6mjlS7/y2+Ehur6yUwxu9wJxkva9
	uaH/RYlaz4t/9qXH0BhuiJg2lUhT6pM91l63st35BJIFKa0GDEgV6xagIgJVDPqUFLnc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167731-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167731: trouble: broken/fail/pass
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-xl-arndale:<job status>:broken:regression
    xen-unstable:test-armhf-armhf-xl-vhd:<job status>:broken:regression
    xen-unstable:test-armhf-armhf-xl-arndale:host-install(5):broken:regression
    xen-unstable:test-armhf-armhf-examine:host-install:broken:regression
    xen-unstable:test-armhf-armhf-xl-vhd:host-install(5):broken:regression
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-armhf-armhf-libvirt: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-armhf-armhf-libvirt-qcow2: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-amd64-i386-libvirt: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-xl-pvshim:guest-start: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-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-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-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-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=27a63cdac3880c918848430eb25181437d5795e9
X-Osstest-Versions-That:
    xen=9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 18 Jan 2022 13:31:40 +0000

flight 167731 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167731/

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-vhd         <job status>                 broken
 test-armhf-armhf-xl-arndale   5 host-install(5)        broken REGR. vs. 167719
 test-armhf-armhf-examine      5 host-install           broken REGR. vs. 167719
 test-armhf-armhf-xl-vhd       5 host-install(5)        broken REGR. vs. 167719

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167709
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167719
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167719
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167719
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167719
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167719
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167719
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167719
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167719
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167719
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167719
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167719
 test-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-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          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-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-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-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-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  27a63cdac3880c918848430eb25181437d5795e9
baseline version:
 xen                  9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f

Last test of basis   167719  2022-01-17 01:53:12 Z    1 days
Testing same since   167731  2022-01-18 01:06:55 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  broken  
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     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-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      broken  
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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-vhd broken
broken-step test-armhf-armhf-xl-arndale host-install(5)
broken-step test-armhf-armhf-examine host-install
broken-step test-armhf-armhf-xl-vhd host-install(5)

Not pushing.

------------------------------------------------------------
commit 27a63cdac3880c918848430eb25181437d5795e9
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Jan 17 09:45:04 2022 +0100

    x86/HVM: convert remaining hvm_funcs hook invocations to alt-call
    
    The aim being to have as few indirect calls as possible (see [1]),
    whereas during initial conversion performance was the main aspect and
    hence rarely used hooks didn't get converted. Apparently one use of
    get_interrupt_shadow() was missed at the time.
    
    While doing this, drop NULL checks ahead of CPU management and .nhvm_*()
    calls when the hook is always present. Also convert the
    .nhvm_vcpu_reset() call to alternative_vcall(), as the return value is
    unused and the caller has currently no way of propagating it.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Tamas K Lengyel <tamas@tklengyel.com>
    
    [1] https://lists.xen.org/archives/html/xen-devel/2021-11/msg01822.html

commit 299deb9dd93e5aae2f3b24ec001214458077a185
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Jan 14 11:03:03 2022 +0100

    build: adjust include/xen/compile.h generation
    
    Prior to 19427e439e01 ("build: generate "include/xen/compile.h" with
    if_changed") running "make install-xen" as root would not have printed
    the banner under normal circumstances. Its printing would instead have
    indicated that something was wrong (or during a normal build the lack
    of printing would do so).
    
    Further aforementioned change had another undesirable effect, which I
    didn't notice during review: Originally compile.h would have been
    re-generated (and final binaries re-linked) when its dependencies were
    updated after an earlier build. This is no longer the case now, which
    means that if some other file also was updated, then the re-build done
    during "make install-xen" would happen with a stale compile.h (as its
    updating is suppressed in this case).
    
    Restore the earlier behavior for both aspects.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 13:37:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 13:37:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258506.445235 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9ofr-000099-Uy; Tue, 18 Jan 2022 13:37:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258506.445235; Tue, 18 Jan 2022 13:37: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 1n9ofr-000092-Rf; Tue, 18 Jan 2022 13:37:23 +0000
Received: by outflank-mailman (input) for mailman id 258506;
 Tue, 18 Jan 2022 13:37:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1rGk=SC=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n9ofq-00008w-3t
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 13:37:22 +0000
Received: from ppsw-33.csi.cam.ac.uk (ppsw-33.csi.cam.ac.uk [131.111.8.133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c219e77f-7863-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 14:37:20 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:48958)
 by ppsw-33.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.137]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n9ofn-000TCm-gO (Exim 4.95) (return-path <amc96@srcf.net>);
 Tue, 18 Jan 2022 13:37:19 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id DC7BD1FCF5;
 Tue, 18 Jan 2022 13:37:18 +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: c219e77f-7863-11ec-a115-11989b9578b4
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <71b5f77b-acf5-fbeb-b442-9d6207dd3131@srcf.net>
Date: Tue, 18 Jan 2022 13:37:18 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Content-Language: en-GB
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>
References: <20220117094827.16756-1-roger.pau@citrix.com>
 <20220117094827.16756-11-roger.pau@citrix.com>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: [PATCH v6 10/12] libs/{light,guest}: implement
 xc_cpuid_apply_policy in libxl
In-Reply-To: <20220117094827.16756-11-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17/01/2022 09:48, Roger Pau Monne wrote:
> diff --git a/tools/libs/light/libxl_cpuid.c b/tools/libs/light/libxl_cpuid.c
> index e1acf6648d..7dcdb35a4c 100644
> --- a/tools/libs/light/libxl_cpuid.c
> +++ b/tools/libs/light/libxl_cpuid.c
> @@ -454,6 +456,41 @@ int libxl__cpuid_legacy(libxl_ctx *ctx, uint32_t domid, bool restore,
>       */
>      bool nested_virt = info->nested_hvm.val > 0;
>  
> +    policy = xc_cpu_policy_init();
> +    if (!policy) {
> +        LOGED(ERROR, domid, "Failed to init CPU policy");
> +        rc = ERROR_FAIL;
> +        goto out;
> +    }
> +
> +    r = xc_cpu_policy_get_domain(ctx->xch, domid, policy);
> +    if (r) {
> +        LOGED(ERROR, domid, "Failed to fetch domain CPU policy");
> +        rc = ERROR_FAIL;
> +        goto out;
> +    }
> +
> +    if (restore) {
> +        /*
> +         * Make sure the policy is compatible with pre Xen 4.13. Note that
> +         * newer Xen versions will pass policy data on the restore stream, so
> +         * any adjustments done here will be superseded.
> +         */
> +        r = xc_cpu_policy_make_compat_4_12(ctx->xch, policy, hvm);

One hidden host policy acquisition, and ...

> +        if (r) {
> +            LOGED(ERROR, domid, "Failed to setup compatible CPU policy");
> +            rc = ERROR_FAIL;
> +            goto out;
> +        }
> +    }
> +
> +    r = xc_cpu_policy_legacy_topology(ctx->xch, policy, hvm);

... one host featureset and ... (final comment)

> +    if (r) {
> +        LOGED(ERROR, domid, "Failed to setup CPU policy topology");
> +        rc = ERROR_FAIL;
> +        goto out;
> +    }
> +
>      /*
>       * For PV guests, PAE is Xen-controlled (it is the 'p' that differentiates
>       * the xen-3.0-x86_32 and xen-3.0-x86_32p ABIs).  It is mandatory as Xen
> @@ -466,6 +503,13 @@ int libxl__cpuid_legacy(libxl_ctx *ctx, uint32_t domid, bool restore,
>       */
>      if (info->type == LIBXL_DOMAIN_TYPE_HVM)
>          pae = libxl_defbool_val(info->u.hvm.pae);
> +    rc = libxl_cpuid_parse_config(&info->cpuid, GCSPRINTF("pae=%d", pae));
> +    if (rc) {
> +        LOGD(ERROR, domid, "Failed to set PAE CPUID flag");
> +        rc = ERROR_FAIL;
> +        goto out;
> +    }
> +
>  
>      /*
>       * Advertising Invariant TSC to a guest means that the TSC frequency won't
> @@ -481,14 +525,50 @@ int libxl__cpuid_legacy(libxl_ctx *ctx, uint32_t domid, bool restore,
>       */
>      itsc = (libxl_defbool_val(info->disable_migrate) ||
>              info->tsc_mode == LIBXL_TSC_MODE_ALWAYS_EMULATE);
> +    rc = libxl_cpuid_parse_config(&info->cpuid, GCSPRINTF("invtsc=%d", itsc));
> +    if (rc) {
> +        LOGD(ERROR, domid, "Failed to set Invariant TSC CPUID flag");
> +        rc = ERROR_FAIL;
> +        goto out;
> +    }
>  
> -    r = xc_cpuid_apply_policy(ctx->xch, domid, restore, NULL, 0,
> -                              pae, itsc, nested_virt, info->cpuid);
> -    if (r)
> -        LOGEVD(ERROR, -r, domid, "Failed to apply CPUID policy");
> +    /* Set Nested virt CPUID bits for HVM. */
> +    if (hvm) {
> +        rc = libxl_cpuid_parse_config(&info->cpuid, GCSPRINTF("vmx=%d",
> +                                                              nested_virt));
> +        if (rc) {
> +            LOGD(ERROR, domid, "Failed to set VMX CPUID flag");
> +            rc = ERROR_FAIL;
> +            goto out;
> +        }
> +
> +        rc = libxl_cpuid_parse_config(&info->cpuid, GCSPRINTF("svm=%d",
> +                                                              nested_virt));
> +        if (rc) {
> +            LOGD(ERROR, domid, "Failed to set SVM CPUID flag");
> +            rc = ERROR_FAIL;
> +            goto out;
> +        }
> +    }

libxl_cpuid_parse_config() is a large overhead, and cannot suffer errors
because libxl crashes rather than failing memory allocations.  The
invasiveness would be reduced substantially by having:

str = GCSPRINTF("pae=%d,invtsc=%d", pae, itsc);
if ( hvm )
    append GCSPRINTF("vmx=%d,svm=%d", nested_virt, nested_virt);

and a single call to libxl_cpuid_parse_config().


Depending on how much we care, these need inserting at the head of the
info->cpuid list so they get processed in the same order as before.

> +
> +    /* Apply the bits from info->cpuid if any. */

'if any' is stale now.

> +    r = xc_cpu_policy_apply_cpuid(ctx->xch, policy, info->cpuid, hvm);

... and both a host and default policy.

That is a lot of overhead added behind the scenes.  It would be rather
better to have this function obtain the host policy and pass it to all 3
helpers.  Default policy is harder to judge, but it would avoid needing
to pass an `hvm` boolean down into this helper.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 13:39:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 13:39:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258509.445245 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9ohb-0000k0-9Z; Tue, 18 Jan 2022 13:39:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258509.445245; Tue, 18 Jan 2022 13:39:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9ohb-0000jt-6a; Tue, 18 Jan 2022 13:39:11 +0000
Received: by outflank-mailman (input) for mailman id 258509;
 Tue, 18 Jan 2022 13:39:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aElt=SC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9ohZ-0000jl-81
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 13:39:09 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0288c671-7864-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 14:39:08 +0100 (CET)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2059.outbound.protection.outlook.com [104.47.2.59]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-36-6MJ52gYLO5GhamqoXG-yog-1; Tue, 18 Jan 2022 14:39:06 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM4PR0401MB2388.eurprd04.prod.outlook.com (2603:10a6:200:54::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.10; Tue, 18 Jan
 2022 13:39:04 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.014; Tue, 18 Jan 2022
 13:39:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0288c671-7864-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642513147;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=pvbZPZZ3GTXXxQZNTQLenn3sdgw1sOYj6KMQbhe1c3k=;
	b=ET6aUDe725nUBO71SkQAZ/A0y6+pzf9UY58qoX7j9QJldDjT7nM4lAVcdvILUrCYPcDGTB
	BKlEXxFqgzogQnIHHc+ehLjdLb/7vQLPXQ+aPSTRAW4Zl78Gg2mS3a9diiKjkeBv00I1Qd
	H1hn9OQv3/hSMmeNAMS3e2O/ZcVIWqw=
X-MC-Unique: 6MJ52gYLO5GhamqoXG-yog-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C5igp/YCnJTOAcHoCQ2OBJzOBw5rSXlBio2UUDwxZZdPcE8tQZQvTlEbAA9kT1u3ZRVyvvcQQXTKOP3lzyK+no/EPJqqdSDdhwU4lmBcfm/qo2F7Fw3aTcTU8HuLU5hQhb6NBp5msBNgOxaIiu/Y+EpmL1DPqIiqzto4rIcgR4Zf0sMIRfBPiSNxi5zQsvqLb9aaR7tyq7W6TXuGM5jOtOKCacwTwuZAdnfpjSobIJT8Z5NHCmo320gMOpKI/3vvOuC0LsbeSxBHnFwvQkLPoVUxwpLwqEdcSO3owIk16HCpu/m4ByXwCuOTKQ05SRLSQ55nElkidMP92+0/KKN7hQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=46/AV6e9Ml293GQJtOOgTGpbANnAuqmnD4/momB9YNs=;
 b=NLj08Gl1DfcusZ6gkGbrerYlMJpFpI+Mk9BTKzCC0D9NXpB/W8kVPkQruuy935NgqmPXczbdngTQ7BD5K9EXZVXy7aMN3kJFz6zCKRlY3JIuSdj6oHuGHqp4Dzo5ZW9Gw+dmVNN/b6w5+p7sqJfzxq0b7jLXLzbwkPsyLzGDhPkq4StQm+vhxkDsj5Ff2a3NOL4N7YZIlUooMG4NUnXCp2xNdo1ntQu6wugYkatwdqJT2/+Rg6RPd+FRwTilKKMQL+jNNurGWkTWaFmEXRjKZG/gEZywDYRpiupMDObR5i6BPK2Oq2R04Iyh2R8Z1SrCdOZDqC/IuqBr+HIjvjYFbw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4bc4e379-fc9c-581a-3b03-9025e9fd92cc@suse.com>
Date: Tue, 18 Jan 2022 14:39:03 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH] x86/time: further improve TSC / CPU freq calibration
 accuracy
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
References: <6c50c7b6-e521-e34f-1808-a4e2961b807e@suse.com>
 <Yea2XRrFn7qCIx/h@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <Yea2XRrFn7qCIx/h@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS9PR04CA0084.eurprd04.prod.outlook.com
 (2603:10a6:20b:48b::26) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6f8a1fd4-ac0e-498b-a688-08d9da87e4ab
X-MS-TrafficTypeDiagnostic: AM4PR0401MB2388:EE_
X-Microsoft-Antispam-PRVS:
	<AM4PR0401MB238825FC2239872B8C9DB8F2B3589@AM4PR0401MB2388.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:
	nY/cT/l/sgnH3fSm3tm4u2WRV+WDvGpvtMT26TnRyjQuWsVPoh/zRK7TejL5f9rM+uXN+HlbliqWdUTDzvEjK+AUsaXit+NsffDtSY1coj1xfLYzhyQ6Y1NOJnhawjdCJNBujpN2VUFnawOpudE7aao2aYHiwiwHqWP+HBG6utSU6kQ4leP5aHt4mV9lzNVYnQfu+0Si1OqdkFybbKGVdO+WJxYGuOr0LoWGu1X+0lDgNRHpYN3tMo0FI/mVPksKzQ8K0JoZ4dtAr/Cmeq4CpSNcFNhVAZGdsXQTz7nYbim5ywqCwUwCEGUxMSupI+pbLKOQb8gKXByiKymevRUUcHzSP+Q3fwPHGk/x0fxzX6nHSNDAeRmTzA3DNhnmVKvhswnYa0c3lXITkH5xhjtQKqFHSgeXRBGlUQSEQpG0YqvBMNWbf8BT8BFyII0C9mllcnMX7DLnW7r8d+YTjqXEkwzTgVywcuCE2Abq7iPRXS5rHWzybmaf/27SmS6vKvKYBclFTg2qMCbBLBsVEwI/zRqdETdcm+QajRk0p08xEuwAcL3+pAxyhL3BT0PfCDZX/GmTwbPfPIBKFkNtHanBxXBhsRTG8xzAg3UnQgJ2f6bcT9PmWyCjPQcRmAe7WvsSwW7R/+A4tOmKgB5JlVRaGfZI85DNLfxJaC+/iD7rTW6P23gGeLjtCJIZm1IJxJ+633mMFfc3yLZ98TnE5G11s/PDZEjf9kaeR8FmBKRRuBw+tbqBXxXLthI9sx0j1BEl
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)(36756003)(8936002)(5660300002)(8676002)(83380400001)(6916009)(31696002)(186003)(38100700002)(66946007)(6512007)(4326008)(6486002)(2616005)(508600001)(66476007)(66556008)(54906003)(2906002)(31686004)(26005)(86362001)(53546011)(6506007)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?/lXmbs9r13dP9IbJYsYM//llLjZqFUayJjSWT9EUMdQN8swdWcLcXOeQM1ri?=
 =?us-ascii?Q?SoFqDYraFbi0Mfnap4PyJe70KISukbfS3PFl72gaaFKI+wZaqTnbi07eq55a?=
 =?us-ascii?Q?tRgGUGtYY1eEJLd1sfakkEvnCt9t9FXCPzem/N5HKXQ4bWdYQbTpeneGZ8Lp?=
 =?us-ascii?Q?qUecDRtehLSJtVO5fxHgqUNBs4affxniCEsuIyTQWsZ5ISO6KHM2e6wyiSh+?=
 =?us-ascii?Q?8q8JzsNdDw8ZqgdKWMkcdsAOwWu/kMULy+aYzn+Touu0nlsEEZu+TZZk6Qz+?=
 =?us-ascii?Q?OlYQFYW79y2kS8+ZnFFZY/JbSk2rGFrebpQsmCSYRXOwliyVS1COmsbq7iB1?=
 =?us-ascii?Q?iNRq4U70xv74srbLGznv9U3LqMiihY2rT/btb2Us+EbpyyNPwvpBjXn9IWNz?=
 =?us-ascii?Q?iEZnkuSuCZtcYNCZqxSG6HwbFFzW4WhgFlngqDA8UnukZrNytebd/1XUkG2T?=
 =?us-ascii?Q?wZib0IEE4u97N3V5d5zvlzehS6cgJYmLSQvODASXZ0bHmCkajAUiwPToDEoa?=
 =?us-ascii?Q?DxOwrgzmJXoGQAgRr3K1HZve+2Pb6l2Xc8DR8vqqkePeslQLwWEu9iHkXSPP?=
 =?us-ascii?Q?rHDcs76Y3irCFDNWUva+jrByHOp9aCZ0oIyoaHSUnch4Y/CHqcHoYZXOghZ2?=
 =?us-ascii?Q?ryipRrt+JdsFh+qyswuD7Ttk423CVUNShKU4ecIAjFQs1DSAG28wpP329ne7?=
 =?us-ascii?Q?bFSTSa8Sb7lSMusGt7kb/d4RDHS5FH4tELGftBZb95oZMVeJ5k674fpGY7Ls?=
 =?us-ascii?Q?zUT9v33U/5CS303G/3b/R18ZDJpIowB79TQkdmhDi2N7QTgpN9MEH1YDoBUY?=
 =?us-ascii?Q?e61zlj3fy6p7sCq/WyfbiLjX1Z0ILlbnUFrVYIV+HAkXUU1oPYFLzvcMX577?=
 =?us-ascii?Q?l+/fBGK68NBMeO4dxJbeluHQ+1n24ZpGINnYFg0zDk9pR5sI385oLz14dS6R?=
 =?us-ascii?Q?pPFXZvU9/Ihh40nI0WH1dpt4kw3N8e8CucDH9y34E6vyH296/OZkw3dmg60K?=
 =?us-ascii?Q?sei7esyo1u8Yni4Z+HsYT2Gxk+0QhVq8SdKc+lqEwy0RikWbzx1JuidAyfwW?=
 =?us-ascii?Q?NJ8KA6HsN73AIwR5CJkylai5SL3nDSGJ0s/pA1jIZk6dmt0HBjwCp7EGLnWJ?=
 =?us-ascii?Q?vEMXofVoLeSDoH9LxniNvl1/y9ZGWxzfynHeC8V/UBP0NSwBJEMmdp1l7tVZ?=
 =?us-ascii?Q?ctakt9PPBflS2JM7iQf+IGDYzOZ8NusBYTFfOzqpnbRCls7ypUDkeIw95ODX?=
 =?us-ascii?Q?T3IL75aTGmX1UaJRqD+y0G32iohqzq6u9skLFEBbweIw1XHJ+fTjZzTww0MG?=
 =?us-ascii?Q?vgCKZDTrsS6QjjZPeXSZCq8tmVi2rh3yNdb2Y3BD+LmyuZM8cEPVGWkEboLL?=
 =?us-ascii?Q?SYP1c1E3Vehb4GGIZ+k4vs3u5sHGGq2iNey6c763obZrAjzEzQt86wNatjNv?=
 =?us-ascii?Q?y+G72luxPFW/QA1zRIIbqD90jf5OXd92TpVRx+z0yAd2IKegSbmsxh3fXX9b?=
 =?us-ascii?Q?OKFlbdH3NEGdwt18LDdjjmPbUTZgMD3yXw2Zs1U2wgqLOPZ8YqSZK+07wtPZ?=
 =?us-ascii?Q?v0cIc0NV0UQKBltxfbn0i9NASZNdG7Q60L5xgpaDmSNldrDMHfXwbDNjyxxw?=
 =?us-ascii?Q?pFEw635RdFq6sPFE+kA7ft0=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6f8a1fd4-ac0e-498b-a688-08d9da87e4ab
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 13:39:04.2829
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jkEOvp0o0Ug8UxROEregMEPojpjP2KLzzs59z86GOKgPEbaEry+feEhveKWO8h4f+7T2HPkxge61chM8ef6ABg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0401MB2388

On 18.01.2022 13:45, Roger Pau Monn=C3=A9 wrote:
> On Thu, Jan 13, 2022 at 02:41:31PM +0100, Jan Beulich wrote:
>> Calibration logic assumes that the platform timer (HPET or ACPI PM
>> timer) and the TSC are read at about the same time. This assumption may
>> not hold when a long latency event (e.g. SMI or NMI) occurs between the
>> two reads. Reduce the risk of reading uncorrelated values by doing at
>> least four pairs of reads, using the tuple where the delta between the
>> enclosing TSC reads was smallest. From the fourth iteration onwards bail
>> if the new TSC delta isn't better (smaller) than the best earlier one.
>=20
> Do you have some measurements as to whether this makes the frequency
> detection any more accurate?

In the normal case (no SMI or alike) I haven't observed any further
improvement on top of the earlier patch.

>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> Obviously (I think) instead of having both read_{hpet,pmtmr}_and_tsc()
>> the calibration logic could be folded between HPET and PMTMR, at the
>=20
> As an intermediate solution you could have a read_counter_and_tsc I
> would think?

Not sure in which way you view this as "intermediate".

>> expense of a couple more indirect calls (which may not be that much of a
>> problem as this is all boot-time only). Really such folding would have
>> been possible already before, just that the amount of duplicate code
>> hasn't been this large so far. IOW if so desired, then perhaps the
>> folding should be a separate prereq patch.
>=20
> You could even pass a platform_timesource as a parameter to that
> generic read counter and TSC helper.

This was the plan, yes, in case I was asked to follow that route (or
if I decided myself that I'd prefer that significantly over the
redundancy).

>> --- a/xen/arch/x86/time.c
>> +++ b/xen/arch/x86/time.c
>> @@ -392,9 +392,36 @@ static u64 read_hpet_count(void)
>>      return hpet_read32(HPET_COUNTER);
>>  }
>> =20
>> +static uint32_t __init read_hpet_and_tsc(uint64_t *tsc)
>> +{
>> +    uint64_t tsc_prev =3D *tsc =3D rdtsc_ordered(), tsc_min =3D ~0;
>> +    uint32_t best =3D best;
>> +    unsigned int i;
>> +
>> +    for ( i =3D 0; ; ++i )
>> +    {
>> +        uint32_t hpet =3D hpet_read32(HPET_COUNTER);
>> +        uint64_t tsc_cur =3D rdtsc_ordered();
>> +        uint64_t tsc_delta =3D tsc_cur - tsc_prev;
>> +
>> +        if ( tsc_delta < tsc_min )
>> +        {
>> +            tsc_min =3D tsc_delta;
>> +            *tsc =3D tsc_cur;
>> +            best =3D hpet;
>> +        }
>> +        else if ( i > 2 )
>> +            break;
>> +
>> +        tsc_prev =3D tsc_cur;
>=20
> Would it be better to set tsc_prev to the current TSC value here in
> order to minimize the window you are measuring? Or else tsc_delta will
> also account for the time in the loop code, and there's more
> likeliness from being interrupted?

I did consider this (or some variant thereof), but did for the moment
conclude that it wouldn't make enough of a difference. If you think
it would be meaningfully better that way, I'll switch.

Both here and for the aspect above, please express you preference (i.e.
not in the form of a question).

> I guess being interrupted four times so that all loops are bad is very
> unlikely.
>=20
> Since this loop could in theory run multiple times, do we need to
> check that the counter doesn't overflow? Or else the elapsed counter
> value would be miscalculated.

I don't think I see any issue with overflow here. It's the callers
who need to care about that. And I don't think this function will run
for long enough such that a counter would not only wrap, but also
reach its initial count again.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 13:44:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 13:44:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258512.445257 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9omy-00028w-VL; Tue, 18 Jan 2022 13:44:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258512.445257; Tue, 18 Jan 2022 13: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 1n9omy-00028p-R2; Tue, 18 Jan 2022 13:44:44 +0000
Received: by outflank-mailman (input) for mailman id 258512;
 Tue, 18 Jan 2022 13:44:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aElt=SC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9omx-00028j-Sk
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 13:44:43 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ca2445a6-7864-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 14:44:42 +0100 (CET)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2053.outbound.protection.outlook.com [104.47.13.53]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-20-rpYF5XotN9eFTd5YxO8i4w-1; Tue, 18 Jan 2022 14:44:41 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by PAXPR04MB8240.eurprd04.prod.outlook.com (2603:10a6:102:1c5::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Tue, 18 Jan
 2022 13:44:38 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.014; Tue, 18 Jan 2022
 13:44:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ca2445a6-7864-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642513482;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=YowkjhqgZsRcfRARselDYsf8HqzUDToEU+CM+fbKVsM=;
	b=MmjSMALFqgwk/v2xuGKfIOpcHX5IgTotxBkR+67DpxsaCjuA7bzoi4HUZ3wy5bblHZNQKU
	5e2bIVqUqaIEM+mp2FIEFynW+jkECBoXY1gnqb4yyEOTvXO1pCJ1k2wxD2U6V6RlWmwz8j
	NWI61rz3Axl4w+evQ8VZQTjJ59wgEXE=
X-MC-Unique: rpYF5XotN9eFTd5YxO8i4w-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dlejXKPnfBCCkcSNcZlLcYwQ++ejsgq8Trrj2ZW/kVfQCvK97NkKbxj6KmTf7VW+C1Ia7C8ntnRm3X7c/EdOi1WCU93cICZSspTpQy6Qd8e0ZnWdLWF4jyrHWWuyi9Mq4xh5lJ8VCbnyMiHQy4e6Q1bMgS+2lmVoWEWQ+F2qfmIkpVEPKAuWzsy5dOLbvw1guHpYuke01EXIwcVMhk4ghjtaJi/e82mH8b7Mz1p4WcPiPGhQf5HC/A5FXnWsMNFtcaPLmzo0x2DRwauz3qLRCZv8xgyykqU545cjnVAPFeKIusPFuAxNtYAkowMKQPwHogmv7ZoS9ld0K/gh3GVnQg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YowkjhqgZsRcfRARselDYsf8HqzUDToEU+CM+fbKVsM=;
 b=CcSohgQVWdM6qFDDqd+IxxVLaE59OemfyWOFEQRWK1HGlwTPkWAUcMna+4iBqydbYaMY1hEvLI9efbUQpQjfjCOtSHBQ1AKOrpquZ19brQa/ERK3o546TC4nKnI83glCp1ka57yCc6TPbqgAPrBlscYJ99QmFfNUv8H82r6QEp/agrBSbbFfoXFV1XJgTHQeXP81nJaCRM0j9KrKjK1XdYCp4Z7PCpYLNJQmd9ET6C+KoZDfLXt2/tioR6fOAlljkGV8V0lLY9kFo0gKPw3pVOPta5yp4c+kvvTWsLBY1k6TD7du293b2E0WYVuiqQFAn9YngMMqFCcby1LXZi82xg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <565915d4-6ff6-4b2c-04fd-8a1f9d46bdac@suse.com>
Date: Tue, 18 Jan 2022 14:44:37 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [XEN PATCH v8 26/47] build,x86: remove the need for build32.mk
Content-Language: en-US
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>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <20211125134006.1076646-1-anthony.perard@citrix.com>
 <20211125134006.1076646-27-anthony.perard@citrix.com>
 <8d7694a4-d7aa-200e-d29a-f055909a13ea@suse.com> <YeabhMhQe/+Pfll4@perard>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YeabhMhQe/+Pfll4@perard>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P194CA0056.EURP194.PROD.OUTLOOK.COM
 (2603:10a6:209:84::33) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: bcf4df6b-0b53-4235-901f-08d9da88abf2
X-MS-TrafficTypeDiagnostic: PAXPR04MB8240:EE_
X-Microsoft-Antispam-PRVS:
	<PAXPR04MB8240AA116DA82779CE2D4DA1B3589@PAXPR04MB8240.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:
	i7gGJmiIDl1v7AEAvK7MQVRpysYSCrLPg+3q0ZmOZqHBfgQxbCP3wVtRxEq453uVOhEavMsIwHKLREDtPebSsX+Q7CaXFYVNOU9lgJEgoPLt/Bh/tuncfvR9l+DHAplLOXw8ozSs68zVzFE9mvbm2Gs+yO9o0OxAl3VriNjCaZdByD0lrRodxuFpb/cJ4ck1JUZVJiIOpcMgxPXTb259mlz1sXe9CGaHwB9dv0epS0+LWUAzt7vpkLqV8Sj9Gy3+EPNrNhjwL1coEQPfKj2R4g0I8XAqTYuVYCz43zot5Y7qvZcpD+VnRUnnI+6w6jZWZ/JM0bdikqz+D8CFoEF/6VH15SW5LWhsvJW0ziNKTXirLK+AdkBz4qMLNS0pG4CuQ7XXvDBBYrCCyYcOdVXRru0fkDZYJxyUSt48E0Xib1ZmkWIxt/ytCS0g/awA5i3QEJY7E05AVlnljy5XkIEMPvaV46tdDJqI50/1c5Xq33Fr1dDjfi5BlG44GETMqq0fm5x/vt1x2oKAWeZn0IAQY9/NOL2TGvidTSUTuNt/rwPWMMH3oWI9n7ka2vOeaL5bMWtTJhtzXEyz29TN7gBUtLXJfz9eJl440mQlZ+ZO8s4jl0kEa8sEr/U+jIlAIg92EIsjh4FzzK7iupbr2L3997RCQOo0b1dhzWwcaUwOmVSBEjn6wGnl10blINBemQKgopfdPRy6lHjP9H3AXblfNcH1XUwGgU3nf7bwC3iNfPvBr0cViz+t9sF47PS0FvDB
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)(36756003)(316002)(186003)(86362001)(31696002)(38100700002)(6506007)(4326008)(508600001)(6512007)(54906003)(66556008)(26005)(8936002)(5660300002)(6916009)(2616005)(6486002)(53546011)(66946007)(66476007)(31686004)(8676002)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZzNya0VtbXF4aTFiNkNaeGtlbjZyWFVqeGNIUjNGMFJUMHpSdjdPbVRBb29O?=
 =?utf-8?B?czRwdW1mNU52UVlUUEZvME5tcXlwd3EzVGhibHZpWlRlL3ZEUytDaEpoSGh3?=
 =?utf-8?B?MmpVYVhTN0xNajRNOVgzTnpwY3pKb0tQdUhBY3doeG5ZZ00zbHpLK2FoTlNF?=
 =?utf-8?B?VWR0SDhzTnBMY1FwNVU0YWhIR2Rrb2gybHVsYXpjdzVMMktZN3BrLzVpRFZD?=
 =?utf-8?B?VldwSXJyL3lUUjJtc0ozS1FxeVVFdWx3SmlBNzJYZ2RmenVTdWZLSFJSOGpl?=
 =?utf-8?B?aWYyN1R4dGhYNExJME5BK0RYaHRxaHRGREQ2MkZyN1R4SnE5MEhwR200M0hP?=
 =?utf-8?B?OVFrRHJoSjhzMW1KcmlMR1dwdk14L0ljYjlRbG5mNTQ5dmpwVmxPTWFReHhN?=
 =?utf-8?B?Y0xTMjVyK2ZoWFBxTWh5aXBQdkF3VmtVWUpWdmtXWUpGdkg1S2pkVGI1NHNX?=
 =?utf-8?B?MnE5MnlPN2ZGZmxkS0R0YzhEQUF2UW9sT2JZejFXNXJsRkRxYVk3eTMvRXRn?=
 =?utf-8?B?RkgrZU82NSs2Y0RIbGtGNXpzVmxxdExvKzA1YTdSL3lGK0RpaUZrRzhBRHd1?=
 =?utf-8?B?dkdSMmp0Nk91MDlWSjhzNXE0b25pZm5EZGt0L3NEQnlJSitoeUZ6ZlVCbHlF?=
 =?utf-8?B?TWx4a1VRU3hRVk1XbW1BQTF2dXFjNldqRkNOZTgvemVmcmRDelJXRktEcFZL?=
 =?utf-8?B?alhHbHhzQXB2SS95SFRBRXZxQWpmVEZFWk80VUcrSmtYelpHVkVzaDdqTU5t?=
 =?utf-8?B?VnlKZi9idDZ5azc3SENXOTljY2ZHRlVjTnN3SDRVcGVNYTUvY3VDWDFzREFC?=
 =?utf-8?B?OHlPQ2N2VCtsbWdmU2Zpc3ZLcVNZb0l3MldjZzBBMjl0V05JRTh0SUhMd1Vh?=
 =?utf-8?B?YkxmQWF2Zi96WnlKWnF5WFcrd0FVRUNkeVdFRCsxY04vbU9QTVdWbTJUTzAy?=
 =?utf-8?B?MEJJSkE1S2xjNXlaY0ZRQXFYUU4rSWRlTGRHNnJxWE52b21lemFQZFh4Nkc2?=
 =?utf-8?B?a3RVWXNLYklCRGJvWnVUTHU1MWVXTXZhZzBibjZxd0U4QldzNmhLMXRQNVhv?=
 =?utf-8?B?NkxmenQvQ3VFWTJ6V2FkZXdZLzdxWUVZcDN1RmpSNm9ZWUhyMUF6cFBvd2VD?=
 =?utf-8?B?dXp6dUxWNkpaQlVGVnlkK2pOaFpPQmtjZCtRb2RKZG03Q1JZZEdMNzErR08w?=
 =?utf-8?B?WVdYeVhkMVljNUplQzhxS1ZMRnJsbWtzcmN4S1ovM1lvdDJMY1YwcnM0a1VY?=
 =?utf-8?B?dmpIRWJoWWRseitUb3p1NkpVL1MwUHRPVkVXNFQzZ213MXlXQXA1OFNkdjky?=
 =?utf-8?B?NTdCOS80Z3FpbUROTm11VnBIU2ZFNlBiNUZUU0s3UDVNWVZ1MzZ1djBKREVy?=
 =?utf-8?B?T083b1AwMmo4U3YwMFhMRkVSd0E0cUVHM0N1YWV2N3B0aWYzU0VaYWZnSVNI?=
 =?utf-8?B?SWVlOUdNYldWSll6SkJPUjZXMjRjUjZ5MU9FZ3NmbThzSnpQTkhjdnhzek1G?=
 =?utf-8?B?SFpCMlpHTm00dVQ4eE5td3pHano3cG1TVURjVUlZdi9Ya1dCWHRaM3lTK293?=
 =?utf-8?B?aE10eXBRMVFCUXkrLzFiUmRiV3pXOG5KTkhURGJsZmxuKzZST3pzek5NRGdq?=
 =?utf-8?B?clZHaEU1OEh3UW9Zb3VKNTA5UlduMDQzVmZBTmtIM1poTWlWWlNMUXRVa2tx?=
 =?utf-8?B?NzRlMTBYVG5DS28xSnpuU3dTVVM3ZktCOWtZV3IxZEs1ZVRvUEo5SG1oVWdu?=
 =?utf-8?B?NGcwTDB5Q1l3N05DaGRlSzUzUXB0bWpOQUF4NWR2OFFwdkpyZnR5T0tYMG1F?=
 =?utf-8?B?RDZFMW02dnpydGdtQVV1SWhoRUZWZlJwbHJrU1FHZE5BaWt3bXFvWk1DR2I3?=
 =?utf-8?B?QVhkamFYdk9lU3hORUFlYkQ5TmJpL2Y5WVBWMDllZnVjcGtPTERCZlVrN0ho?=
 =?utf-8?B?L0I2T3RldVl2Wk0rQm5LYklnVFpuMWY2YTVCeE1PRDdCeEQyQVMzSSsxTHVa?=
 =?utf-8?B?OGx6ZGluM1BzdGpjNGpYMGFSZ2FPOVgrcDhwU2ZEMVY5TTEvMVY1cUwwbFVn?=
 =?utf-8?B?VUVWb3dsdGpmTkR5Ym1PZ2ptaGRQVEllY1ZBSjRybWxuVEZ6Q1lYTzJEeGEr?=
 =?utf-8?B?bTVZVnI0aCtrSTNjMG5SL0RTRGZlLzFVK0IzRCtLQnQwRkVrajNTVVB2ZVVR?=
 =?utf-8?Q?3wP3/fSavvvW4HA8jxhL85Y=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bcf4df6b-0b53-4235-901f-08d9da88abf2
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 13:44:38.6902
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /oT8QNFox+LM6QgeOIIwDJF+7eiqX7dWX7nf94XUJB85xeZCKIWPfxrlELFUxG71vE7akbIstkwvDgss/pk9Mg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8240

On 18.01.2022 11:50, Anthony PERARD wrote:
> On Tue, Dec 21, 2021 at 02:33:18PM +0100, Jan Beulich wrote:
>> On 25.11.2021 14:39, Anthony PERARD wrote:
>>> --- a/xen/Makefile
>>> +++ b/xen/Makefile
>>> @@ -171,6 +171,10 @@ export LEX = $(if $(FLEX),$(FLEX),flex)
>>>  # Default file for 'make defconfig'.
>>>  export KBUILD_DEFCONFIG := $(ARCH)_defconfig
>>>  
>>> +# Copy CFLAGS generated by "Config.mk" so they can be reused later without
>>> +# reparsing Config.mk by e.g. arch/x86/boot/.
>>> +export XEN_COMMON_CFLAGS := $(CFLAGS)
>>
>> For my own understanding (it's hard to check being half way through the
>> series): At this point there are no further adjustments expected to
>> CFLAGS?
> 
> I'm not sure what you mean. The comment should be explicit.
> 
> CFLAGS is going to be adjusted after the copy, for the benefit of all
> the 64bit code (when building x86_64). The "renamed" to XEN_CFLAGS to be
> useable by the rest of the tree.

I guess I misread the comment, sorry.

> The name "XEN_COMMON_CFLAGS" might not be the right one, it is only
> common to everything in xen.git, so same flags that the toolstack would
> work with.

XEN_GLOBAL_CFLAGS would come to mind, but is unlikely to be viewed
as significantly better. Maybe XEN_TREEWIDE_CFLAGS?

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 13:49:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 13:49:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258516.445268 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9orn-0002sf-KK; Tue, 18 Jan 2022 13:49:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258516.445268; Tue, 18 Jan 2022 13: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 1n9orn-0002sY-Fk; Tue, 18 Jan 2022 13:49:43 +0000
Received: by outflank-mailman (input) for mailman id 258516;
 Tue, 18 Jan 2022 13:49:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aElt=SC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9orm-0002sS-2k
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 13:49:42 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7bf63240-7865-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 14:49:41 +0100 (CET)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2055.outbound.protection.outlook.com [104.47.9.55]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-38-bYOmFCpDO0y1pMdiJORhCw-1; Tue, 18 Jan 2022 14:49:39 +0100
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.4888.11; Tue, 18 Jan
 2022 13:49:38 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.014; Tue, 18 Jan 2022
 13:49: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: 7bf63240-7865-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642513780;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=OiSrMyvy11sETXxtcHBLqKvAV6wHG1/jA9t2YzsOriY=;
	b=KUIkP7bAPUo6K+ZynBoDhSQuw9kQp4jezfvLoA+SQGaw5WOWK2UJi4WrD1JTHCWM4OXWoq
	8oWPKSSGSEB5sj7jyYUlBNIBOxO3OoCXpnEvMIBsycrqcNudrq1/b7T0tfbeMX6jiIGr0E
	qiZ5Lp0pqc9hF+IzdXpHel0HcFbR5p8=
X-MC-Unique: bYOmFCpDO0y1pMdiJORhCw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ec3l84c5El+qpJBOfWF6zHvSki3+tlJhaE2YiOzjcf4MyjNsSqWwLoHB0amEWC7uHJs+z+IH5sUQUnxjtLQpi/b9FjPGkJZ5f9UyuSqkNEj4RRrWPFk8G8SdqnhCdxQ93a38t8AnDMy5iWFwQhw+TKjJyPZjB6lYPhk9mCb4REew/SVXWkkNnQBrsYfjEpACqXgMLwTSxnR9Law9a2AMDHKrqeS6X0flogfK7TCkmFplXOPTDk6uGwlIZNcv2SDzyWa/LH97FKw5GgT07CAuB4SFPm08vsFyDEDaZ+v5l9Ezkdrc+BwgN80GIqK5YR5hHDuzcwvobaXIMhb/I3m64g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OiSrMyvy11sETXxtcHBLqKvAV6wHG1/jA9t2YzsOriY=;
 b=K7d88YkaLx53DWw82G+f/qcFYCVmktDtYLbFFgPCy2+/bxDu3ZGwrgXGXcviMa/kOJSbZfjcAo6KN3axlcRHZMx+SiltTIGOAKZPGk0SI0VuTwfI0XLAG18wv1BkDXom29IdIPTLXIuDeAmK+k+Tt3Wp6F5QZfJGYiTpX72306IRKaxnha2PI7LqIJ3ROYGMd97ZFBn4HeXlhUpHXzfuhPTJyJlER9T6laNHXNw1R26CcjHXngCbc9kYZ5Ds9ZxEcGWFasHroF7e4GrXvZSxqISkN4vY8VFSqwSUPW4Tk+PwP/GXBUGxEwvPWv2fE6w/x4zgB0ElrUo8MVl5zQOteA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c947e8b1-7319-2c88-da05-3c0cc2d7822f@suse.com>
Date: Tue, 18 Jan 2022 14:49:37 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [XEN PATCH v8 27/47] build: grab common EFI source files in arch
 specific dir
Content-Language: en-US
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>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20211125134006.1076646-1-anthony.perard@citrix.com>
 <20211125134006.1076646-28-anthony.perard@citrix.com>
 <57f03aed-c260-1c80-c604-0223d4603b4a@suse.com> <YeafMh0du+5K8YDD@perard>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YeafMh0du+5K8YDD@perard>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0019.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:14::6) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: bc32b862-63b2-4a5b-4b1f-08d9da895eb3
X-MS-TrafficTypeDiagnostic: VI1PR04MB7151:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB7151A4B5AFACC568AA34C181B3589@VI1PR04MB7151.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:
	xJQWSDRUTbK7l4S1zkeekxZk6OrxQVBFccpKpIpKEhQ4uW9dJpS6OOgmE1qghUxNor4XT2Jf4gXZ5Ypz5hNKXFZ2zshElQVD1xSfUaKDPMFsX0kQX/dmuo2L75s//APfa7N8GJq/vqfbaUFsXPZ+bHNqofviOkSi6f7CXoEz3R/e7FyiJgz5cl7yve6k+Fb3d3MSQTdW34uBweIDPMW7GR3qgz7DSAfd02R1jzHmKlRRtD0O80Y2cXkfWq1KmxsLnGPqVE1nhkGiGfJc5wIrz0VpRCu+cFt1+e1bon6/vTzdZAqwk6QVVoDqMDIDq2VYmBZ2pxPo2Mvqmbf0a343sQMFA2nh0IrveJTRFVGQp4Ay6f9RF06n4xwyzk7PuIi5g+rn6Py7gkC3eqA00pb4Cw8qBUdNrce/kIKWla4frFhWv/9q1oYoeeQZmYlhoXJGi3gQYpNnuu/Papwx4k4LLz9HzJHADxi1IvwSY2MSxlmpgVDUwA/7nWH7Kp7yZmTpVElJ9WJ+p2a2MJNazBj3JTuOO0mYn8SZHoIovEf/Woqfai20uN/Onxhu5yzvLacyE86RT7JWpx3KrOJvsYAjqREkbxDpENCZ+ajyacBUCQaqu9BsHb+Jno+3hGQEtrETt0nz58tg/ZdVD31aS2Le3DVasCE4Qne/pqt4kn9u/4pHcSNhIhGLweu2TZY8hEBOQuX8E2zFOuQdDXE3qS0buxvS+ssjiCWXCwEJ519o9CCZ9L+Q/xaM+VTDlq7COW+w
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)(53546011)(36756003)(5660300002)(66556008)(66946007)(31696002)(66476007)(2616005)(6916009)(4326008)(316002)(186003)(2906002)(38100700002)(6512007)(7416002)(31686004)(83380400001)(8936002)(54906003)(6506007)(8676002)(508600001)(6486002)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?KzZRdDBzRVU3eFdkQlVBcWl5cWRoYzkxMzludVo5bmRHMm92enhUTGVBR1FL?=
 =?utf-8?B?VTFpMlc5emQvYzBXREFIN2k4WnlYY1FRQlgxaUhwRWNQNCtxdjFhdmd6bmk5?=
 =?utf-8?B?bWY1SnJzM1ZkTUQzQS9kNTlmM3NiSzJNeS9VMUhNWjlMcWh6RHNXV1NxSG51?=
 =?utf-8?B?N1JCYWwzL2NFQklOcDl3TGVVNG1QbWRTK1pCNjliM0YzSGhNZVFwVFBTbG5u?=
 =?utf-8?B?V2pxWEhCTUhLaXJPYXB4dlJ4bE1CWW5lNldEUmw0NE5LMllQZEhXcVQxU2hJ?=
 =?utf-8?B?QkFlanBwMUpycElhMk1Qck45Nkl0WFZDYmJPazNnNXFYTmU2dFlDUi9Sc0VY?=
 =?utf-8?B?ZWtmdUUwd1Q4cHo4clJBSzZLRGdJbWc2REFsREp3YnNkcmw2TE9SQ01pcFJU?=
 =?utf-8?B?Ri9zMW5FdStOKy9TbVhoOUlDeW9aZys3aC9vQjNlRE9IUFdKQ2pYUTc4cUF4?=
 =?utf-8?B?M0hsSlp4ZXBCQlFrSjNNdnYxNkFSSmhlNFJNelZJOUhzV3M2bzM2eHhyVDhj?=
 =?utf-8?B?MlJRL2pUdnVOTXZJTWRPSEVwczNYd0cyQStxRWF1OTNjczNPSDZBcTNuY3Q1?=
 =?utf-8?B?ak81cmt3TVl3LzYrYUUzeVhNRncveG9TNFJpQlh5ZkNicjFCTGc5YlVCV3ZD?=
 =?utf-8?B?V2FudkRpbDhWM2FFa2dLczJPVXlwRjVXbEd4YThSVlE5Zm9Vc0xsUWZFNTVJ?=
 =?utf-8?B?VVBCdi9KdEtwL2JDQm5iRElRT3RPZkROSUMzRGg1UnlBa2txZ0ZDbGlMdzcv?=
 =?utf-8?B?QVVsZ0ZubGZRVE9YbHBoaWNJQllMWktoYWNRQTZDZURtdElzSElqYnZvOGhx?=
 =?utf-8?B?UUNhc3NsbUFVUzd2Ym5ZOW1rYUR3MERlZjdvU3NEQTJMQnkzb1pmbzFOYVAz?=
 =?utf-8?B?OGZ1QThWY3FUb3FieWlZdWdaQ1lCWGtzemQ1aHgxbUR3UEFNRDlEOHBOYzdo?=
 =?utf-8?B?aUNVdS9hdHE0bzNjM0sxYlJjZlgrajVEdUVVRUFvNVhyeVpnbG9IbENOdXRU?=
 =?utf-8?B?NG5MWWJPb0pKK0x4citJaUxQRDlpKzgzaFRVaHJ4TFRMblVTN0pkZHU2TnF3?=
 =?utf-8?B?SkZHQVo2dVR6aTdTSXl1N2tYLzhGeGtnZk56RFEvaFVEcDV3dEp3VUhGaklo?=
 =?utf-8?B?L2FZWWJUZlJKWE9ZZ0d3TDlmRmJuMTBzajJ1a3NrTWpKeUFYS1I3aXNSN2pC?=
 =?utf-8?B?dDlqdlN4aUU5NVg5UlFQcktQRzQrZUNESGViNzJTUURpcXR6WTVoaG4zQUJS?=
 =?utf-8?B?RVZqN2FJUEJLZkhUS3ptZDN3SEU3b05qMkhTcVFGM0Y0LzFXOS9FWCtlaGtX?=
 =?utf-8?B?cHp0Q05MWjRQeFpLVHJ3V2VXYysyUHpUMkJNYlgvdWdDMVhIWVUySjhCaUJa?=
 =?utf-8?B?SlZhc0pUZGhsTmE0Tm5hVHdlYmlZN1NjZVpsYk15MkNYL211a2pWbnc0Qklv?=
 =?utf-8?B?MWMzZXpIa2QrdzZ4ZVF2RjhQL0ZIQzNWVVBFcE1pR0cxTW1YTUJaUndMVnJz?=
 =?utf-8?B?d3M3cVVpdzVWRUU2ekErbmFoRVNuc3NvSFVRMlFkY2xBSEdWUmVBUzlGSllP?=
 =?utf-8?B?emFUMDVEOHZ1TmltSUtkbmg5Q3Mxb1RtQ1RYVzhsbk5BTVcxd01GRDg2ZTBX?=
 =?utf-8?B?S2JLVFliQ3FaLytidWVxNGJCWWlGd2RWMEgxbC9sTThiQUVHOHVFWUNUYmpl?=
 =?utf-8?B?cHdWSVBJZENqY0dqaHVLRmhtTnhVRlBuWEZMdmRCKzRPc1RlU3BpeVVFTEIv?=
 =?utf-8?B?YzVDcWJiU2VjREdHWjltdG9EelVveGZpR3hidGJjZUFHWEt4UGNOODFXc3ZU?=
 =?utf-8?B?TGIwRkhha0k3eFVKeVJDOUU5WDhvN3ZQOWRxL3BObHJYcE53SEZ4SUVHOXJz?=
 =?utf-8?B?ZUNSZXNheGJaa1p6Z040RzBJbldTTFZsanV5VjA4RDFWR1l2Yld6Q2syTGxN?=
 =?utf-8?B?WUVzcXdieUZ1OU1HRDR4cGhRRElLdkIvOFc4SU1wZWNKcjE3M24yZ0g4Wjc1?=
 =?utf-8?B?KzhWVFlWZFNocjZlYTV0VVhHN1J0U211eDg3dUdZU3Boa0pOL1R5STNlT20w?=
 =?utf-8?B?bEx3TUczU1N0RVFzRWVpR1c2QVlneHJRRk83VHdoaWxMelQ4dGRLdE00QlY0?=
 =?utf-8?B?ZGlOODdtVkhTc2ROaW5rNktlU1ZjL1BwUzZRTTdtZGx0ZVRHSCtJaGJ6M09k?=
 =?utf-8?Q?Y9DTZ4MZj57WbDhcXh4E3PU=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bc32b862-63b2-4a5b-4b1f-08d9da895eb3
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 13:49:38.5578
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xy/2RMk83Xfnnm0BC+8seeUOsSPd00KXYqzJhQTvCch7eRhywnLX9Kn7WYVVGVS0fEYhS0rLhhMQb21DOfiNHQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7151

On 18.01.2022 12:06, Anthony PERARD wrote:
> On Tue, Dec 21, 2021 at 02:53:49PM +0100, Jan Beulich wrote:
>> On 25.11.2021 14:39, Anthony PERARD wrote:
>>> Rather than preparing the efi source file, we will make the symbolic
>>> link as needed from the build location.
>>>
>>> The `ln` command is run every time to allow to update the link in case
>>> the source tree change location.
>>
>> Btw, since symlinks aren't being liked, would there be a way to make
>> things work using vpath?
> 
> No, that's not possible. With "vpath = /build/xen/common/efi", make
> would look at path "/build/xen/common/efi/arch/x86/efi/runtime.c" to
> build "arch/x86/efi/runtime.o".

But /build/xen/common/efi/arch/x86/efi/runtime.c doesn't exist (and
never will afaict), so wouldn't make go on finding the file elsewhere?

>>> +clean-files += $(patsubst %.o,%.c, $(EFIOBJ-y:.init.o=.o) $(EFIOBJ-))
>>
>> Nit: Please be consistent (at least within a single line) about blanks
>> following commas.
> 
> You mean to never put spaces after a comma because they are sometime
> significant? That's the only way I know how to be consistent.

When spaces are significant, they of course cannot be stripped. But here
they aren't (afaict), and hence

clean-files += $(patsubst %.o,%.c,$(EFIOBJ-y:.init.o=.o) $(EFIOBJ-))

or

clean-files += $(patsubst %.o, %.c, $(EFIOBJ-y:.init.o=.o) $(EFIOBJ-))

are the two consistent (in my eyes) forms.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 13:55:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 13:55:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258519.445279 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9oxY-0004GU-7t; Tue, 18 Jan 2022 13:55:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258519.445279; Tue, 18 Jan 2022 13:55:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9oxY-0004GN-4F; Tue, 18 Jan 2022 13:55:40 +0000
Received: by outflank-mailman (input) for mailman id 258519;
 Tue, 18 Jan 2022 13:55:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lNq4=SC=eikelenboom.it=linux@srs-se1.protection.inumbo.net>)
 id 1n9oxW-0004GF-HX
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 13:55:38 +0000
Received: from server.eikelenboom.it (server.eikelenboom.it [91.121.65.215])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4f9e59fb-7866-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 14:55:36 +0100 (CET)
Received: from 76-24-144-85.ftth.glasoperator.nl ([85.144.24.76]:46968
 helo=[172.16.1.50])
 by server.eikelenboom.it with esmtpsa (TLS1.2) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2)
 (envelope-from <linux@eikelenboom.it>)
 id 1n9oyB-00061X-Ff; Tue, 18 Jan 2022 14:56:19 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4f9e59fb-7866-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=eikelenboom.it; s=20180706; h=Content-Transfer-Encoding:Content-Type:
	In-Reply-To:MIME-Version:Date:Message-ID:From:References:Cc:To:Subject:Sender
	:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:
	Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:
	List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive;
	bh=1ebZoXdoVWwnn+lE+GWqYbcCfKYPYRMZcdHTANCZtcE=; b=aDojNB1XvrB5LtH+fbAwbe38gk
	nLiMmg8Gk/s9XREuHuFKWJvsX+qMaGehZb3d9U+bDdxy3sz+f3UDmQ0AlrYCP5d3tl7qH9yhPVWq9
	438gqJaRinzgqScFaSPiC2WOsPX95C7Ce+sqqQL+mM4Ya/j7vn+PSlzQj6EH0i+vZbrg=;
Subject: Re: Regression booting Linux kernel 5.16.1 under Xen: Failed to
 update kernel mapping for mfn=6930582 pfn=524288
To: Juergen Gross <jgross@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
References: <d3ba970c-3930-fb4e-4fd2-4246700fd11e@eikelenboom.it>
 <39794058-78ce-994c-c854-cea206ff938e@suse.com>
From: Sander Eikelenboom <linux@eikelenboom.it>
Message-ID: <ef7f62cf-82a7-22f7-2cf6-2ffb584ea5da@eikelenboom.it>
Date: Tue, 18 Jan 2022 14:55:33 +0100
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: <39794058-78ce-994c-c854-cea206ff938e@suse.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 8bit

On 18/01/2022 12:13, Juergen Gross wrote:
> On 18.01.22 11:53, Sander Eikelenboom wrote:
>> L.S.,
>>
>> Both Linux kernel 5.16.0 and 5.16.1 fail to boot as Dom0 under
>> xen-unstable and crash early in boot on my hardware.
>> With Linux 5.15.13 it boots fine. Serial log is below.
> 
> ...
> 
>> (XEN) [0000001b1ffedeb8] Command line: dom0_mem=2048M,max:2048M
>> loglvl=all guest_loglvl=all console_timestamps=datems
>> vga=gfx-1280x1024x32 no-cpuidle com1=38400,8n1 console=vga,com1
>> ivrs_ioapic[6]=00:14.0 iommu=on,verbose,debug conring_size=128k
>> ucode=scan sched=credit2 gnttab_max_frames=64 reboot=a
> 
> ...
> 
>> mapping kernel into physical memory
>> about to get started...
>> [    0.000000] Linux version 5.16.1-20220118-doflr-mac80211debug+
>> (root@serveerstertje) (gcc (Debian 8.3.0-6) 8.3.0, GNU ld (GNU Binutils
>> for Debian) 2.31.1) #1 SMP PREEMPT Tue Jan 18 10:49:09 CET 2022
>> [    0.000000] Command line: root=/dev/mapper/serveerstertje_ssd-root ro
>> verbose earlyprintk=xen mem=2048M console=hvc0 scsi_mod.use_blk_mq=1
>> console=tty0 acpi_enforce_resources=lax max_loop=30 loop_max_part=10
>> r8169.use_dac=1 loglevel=10 nomodeset net.ifnames=0 biosdevname=0
>> xen-pciback.hide=(00:14.2)(04:00.*)(08:00.0)(09:00.*)(0a:00.0)(0d:00.0)
> 
> ...
> 
>> [    0.135670] ------------[ cut here ]------------
>> [    0.135690] Failed to update kernel mapping for mfn=6930582 pfn=524288
>> [    0.135701] WARNING: CPU: 0 PID: 0 at arch/x86/xen/setup.c:312
>> xen_remap_memory+0x191/0x26c
> 
> There seems to be a problem with rearranging the dom0 memory layout
> to match that of the host. Especially it is going sideways when trying
> to remap a memory frame to PFN 524288 (0x80000).
> 
> You are limiting dom0 memory to 2 GB via Xen command line, but in
> addition to that you specify "mem=2048M" for the dom0 kernel, too. This
> should cap memory from PFN 0x80000 onwards, hence the failure when dom0
> tries to remap a frame into this area.
> 
> Can you please try removing the "mem=2048M" from the dom0 parameters?
> 
> I think there has been a kernel commit fixing the correct handling of
> the "mem=" parameter in 5.16, which might be the reason why you are
> seeing the crash only now.
> 
> 
> Juergen
> 

Ah that sounds plausible, will test tomorrow and report back.
Thanks once again !

--
Sander


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 14:02:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 14:02:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258522.445290 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9p3l-0005pA-UA; Tue, 18 Jan 2022 14:02:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258522.445290; Tue, 18 Jan 2022 14: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 1n9p3l-0005p3-QA; Tue, 18 Jan 2022 14:02:05 +0000
Received: by outflank-mailman (input) for mailman id 258522;
 Tue, 18 Jan 2022 14: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 1n9p3k-0005oB-Fw; Tue, 18 Jan 2022 14: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 1n9p3k-0001IB-Cr; Tue, 18 Jan 2022 14: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 1n9p3k-00070Q-4B; Tue, 18 Jan 2022 14:02:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n9p3k-0003u8-3c; Tue, 18 Jan 2022 14: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=yrta0T/9U81AHs0YkSAuxlIuiMesL4ydHHMa/fFFOlM=; b=369TnbpIcp8LFoO+BOV7vxEu+V
	jwXA2j4dKZ6KKUUhPXSCYWoO09gGrV1ipZAgioYvA68rMJGBTMI4cv1Wx3vLjGtseti9MOStH08b8
	wGvE6xArKst7iNiSKQifKFaMTIEBJD7vZK3wn0J/MiNgiu6B+k9adaTbWBl+C+bxR3OQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167732-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 167732: regressions - FAIL
X-Osstest-Failures:
    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:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=d2fb6b4b217cef0c5232f7b7304b7b359ccab78f
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 18 Jan 2022 14:02:04 +0000

flight 167732 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167732/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              d2fb6b4b217cef0c5232f7b7304b7b359ccab78f
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  557 days
Failing since        151818  2020-07-11 04:18:52 Z  556 days  538 attempts
Testing same since   167732  2022-01-18 04:20:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Ani Sinha <ani@anisinha.ca>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  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>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  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>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  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>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  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 Chevsky <nchevsky@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>
  Or Ozeri <oro@il.ibm.com>
  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>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott 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>
  Stefan Hajnoczi <stefanha@redhat.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>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Дамјан Георгиевски <gdamjan@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 92886 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 14:06:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 14:06:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258530.445301 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9p7Z-0006VX-Ll; Tue, 18 Jan 2022 14:06:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258530.445301; Tue, 18 Jan 2022 14:06: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 1n9p7Z-0006VQ-Gi; Tue, 18 Jan 2022 14:06:01 +0000
Received: by outflank-mailman (input) for mailman id 258530;
 Tue, 18 Jan 2022 14:06:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aElt=SC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9p7Y-0006VK-Qe
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 14:06:00 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c3480932-7867-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 15:05:59 +0100 (CET)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01lp2055.outbound.protection.outlook.com [104.47.1.55]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-37-grv7j6w9M22KVN1sPbjKUQ-1; Tue, 18 Jan 2022 15:05:58 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DU2PR04MB9081.eurprd04.prod.outlook.com (2603:10a6:10:2f0::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Tue, 18 Jan
 2022 14:05:56 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.014; Tue, 18 Jan 2022
 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: c3480932-7867-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642514759;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=3qjWuA2QWAmWA6BwQTHF69OOQMH179mY+X5Jf1ZoAtk=;
	b=Sz7x+c/T4d808Gyn8rSrBUYoEUAb4JszugG2VGK99Nj8FdIqURfKwYHSktv83ItJ/JQ7MG
	Xl81BgHb/MIilt5XVXLIAoTevR+WnK2IZHC0HVIJuKMjs3uEbUhSsISpU99U5zc8lhsdQk
	PDdApXZM9iWDEy+WhbvEZIpRoLJ5WgI=
X-MC-Unique: grv7j6w9M22KVN1sPbjKUQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FrPQXFfLqrypWDZ08cKKocjkDrrtpmyAgPus/86QHHnXB2rq0BjoL2ccN0xu+RhJocJxBlu1FP2m91WnMOO/Jd61aHfwBzfu0scj2ZoYW1aNav3XDn9+rUPTvSHiKVY282JaoVRQLGAy+EiXsDAc1Ivy+Gm0lfismw8TJC9I8EPnRY4KduuZ5zXoKnRS7rI0vbm52+JGcFl6hoLrpLRwLSp+4EN005/5VUF58v96xzjcJXYwxdUIIk492DAT4dJVmdAk9i2I4p/6cOTKnsur/vTqo8ZOR80LFISBkVxRFnJt8/ISf+w7r+cna4gr1pHT2EJ5AqdzDUX9zPmnGwc9fA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CY01eDPIdNUgaM0W0u+a4b0Y9vXWduh1ER7pUfvEAiY=;
 b=FGJTYvMYPXCRYrzYWKyOCljeZtDdA3ntX4SkGPRn8EH1iWcoTTNBl+tQGqufAaqjROLy05SmeqwSKfPWfbwPqDzalr2V0rP0FUnZusHKpArkGzgB0ycZcdkPgU96DwkXGq5iAfpIJKyIpUIpTeNZrx4EiGtdyD3wDFnsEj0Usp8yklsfKWj064VKLEOkXc6mCj3ETGne5SPJaPFufawmO4TXi0n1i5z7iy1TK0YSz7VR+TbaUFl58LZtgwNXtyKDSkebIprf0A0QUO5nuxBtH2dJgGSAGsAb8Zo0/pZeWU9pb1bL2psVR0ut5dYBPUJfvbIxZ1c3umKW7m4rswRXzw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3bdf57ab-d658-f26f-6ef3-23e08aaf5aa4@suse.com>
Date: Tue, 18 Jan 2022 15:05:54 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 2/5] x86/mwait-idle: add SnowRidge C-state table
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
References: <e16ff1ad-b1c5-f4e0-9336-716eceb93a9f@suse.com>
 <b21c106b-b852-b4f0-efa9-fb5c465bfdac@suse.com>
 <YeaTqyt3ZoFTx/Ee@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YeaTqyt3ZoFTx/Ee@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM5PR0202CA0012.eurprd02.prod.outlook.com
 (2603:10a6:203:69::22) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3f33642c-3ed9-481e-8e0b-08d9da8ba550
X-MS-TrafficTypeDiagnostic: DU2PR04MB9081:EE_
X-Microsoft-Antispam-PRVS:
	<DU2PR04MB90818C7DE07790636518391AB3589@DU2PR04MB9081.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:
	QQK8Y75+iarkyRrZ2mMbsPEQeTcvk254NIPOIslcwPFm7ByqT6LGTgp4cwDRnEKCcvQ+AnhCWluhXa0d3UkrDU2XjrQK9LFAg5KSa35QToIAiUJ+5IqMYBME4knTzjgpGMPH7g/TI94ubbfGm5KQXBnoK40M5rlb9K0dH5HSUu60A8nrKn8PNXMYq6eu3cqOUV2zM24wcL2y9JNM870/bBaftzQteNh13BMeUrp+VhQoVRUl8nxzEextID+yCsPc27AwcSFP0XiS4PVX3bhLQR1wpTFRm7NAda/C7HcVQNi0yinAhP/g2JwW21lW+KHu1jsGroZNiV/gWdZ5BFVDRXsi8u3dK58014o/0BpBiFmRecJNaszQNKeExqy0wMhPw9/O88wYvjPZKdm5oQvFj2o5dCYK8OGmb3QF0qIeYXjWjiSVlWjWMDFSOU5q1Md5u89EtqajTN4G8KbWiMl5NFbJ3dIADp2UD7X6bn4EQKV2Wxulq/1rKyXhDlB6Gt6ggh+71lWGCr8399hZzxZuHYeEyy5UIctrV3BCgpBTAjz7jYbXMCbcPCFsJgPF27CWwekxOmQL4wIvO7/jZ4A9ddF0TGCz8N17/dlgkigW8a3mLJujoQIU3x0a2ffq6M+9zK74sUNNJmduMKoRzKQgdUjWLnP3oZv9BGJ3FgWMn9sqVhGFKz1FPZs2rdDWH16ZFI1OdwW83UTwkOarHOmfjGdcR2he25WXRktp+u7hKZk=
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)(6506007)(31696002)(53546011)(36756003)(4326008)(86362001)(508600001)(6486002)(26005)(31686004)(66476007)(186003)(38100700002)(2906002)(54906003)(8676002)(66946007)(66556008)(6916009)(2616005)(5660300002)(6512007)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?m8mITHRQQP+AxnyPeD8zWpiwWWvj3S1TJxwLSWtnp2SQ1T7f1+fPHIHwM0SZ?=
 =?us-ascii?Q?gcGnQinFewks5d+mYFnoEInJiGdNxAfxlspFWXSfn1OKKbyTk344nAek0rTV?=
 =?us-ascii?Q?EyFHwq9hIN5vx99+vcC5TjVHhs+RipxSKblnCg2MHwxPSLRBu3p6kjU0PaAf?=
 =?us-ascii?Q?VdFrcFEt+JH9oYkXfDT9aU8yfsT4pNyboM59c8pkHUUd9dD3Yg6aW3Xp1C4h?=
 =?us-ascii?Q?Ln6uvjeGI0LIY7RZE0giKoMPcjc5ToP1dRkozACzuv97N62zXLzWV4lnqe+0?=
 =?us-ascii?Q?vBYIyN9lJwZcFTnoajyIE8nlBKhHHvtYlpXWlRAxOXmOmf0CC4V+zbYDRyjT?=
 =?us-ascii?Q?HME35OJFzJC03nvIl69vG00eatRz0IMiN9rA09bKVc+r9CBgkXQMlDiW6EvE?=
 =?us-ascii?Q?c3N0nAFZBCLApDJoVD4ZbcYxzX051LHRRSfoydyNiqrvvb14JJtbWG/Hxx4O?=
 =?us-ascii?Q?FDSBVOW/LHF2Redf+O55rxK7l/t19BtM4jZcFGQhH5YYF7V+T8Yl/lzXo+LJ?=
 =?us-ascii?Q?ok4u+PYPzws+LRV5ws5misv2vCmLzshF+tF0LMfkqk5nHQNrvySEfkyCjp9b?=
 =?us-ascii?Q?x9X2zZrphQhhMugrCAs7lx8SwjExvcH6i9/ncBWSs03wmkpgO62cE0ogEBQ+?=
 =?us-ascii?Q?Zg7Q3tXvD1eVcjkOqIP/h9SRIEE3kXmyRr2aVumgBPOVgkHUVcJWPYBYzxM7?=
 =?us-ascii?Q?esRULlo+LsVyJYLSL3pzYNshOQ29td3zzUzjkkWdOJl8FCBaV0do9Sgm0Kp9?=
 =?us-ascii?Q?J86pdNlcQvEyWWLDc3ir2ruxvXvDVJqFP9SDNYDI2Gp7E9RzHEjhbHOG25qB?=
 =?us-ascii?Q?24MmreUCLnli3ZhBK3e16wE2RhySSv/9h4yifmZ+zr7JPLkWmzWJGMa4pjd0?=
 =?us-ascii?Q?IUnQLTkfSmhQ5MMWjFuWsbT7U5neTGynm9Mk93i0hAtcnONtSaL5J35EW/JI?=
 =?us-ascii?Q?UTE+q12Umtm/LPS3k49dguM11G1s5zmvKuu+VfKH9XRaKLsKYlsYzRQe/iPx?=
 =?us-ascii?Q?Lsf7+dTje1tZ6kAtU5Yn3+qgF/xcxLLh/ug0Eq/cnAj/0so3VSMqGtFSa9Sp?=
 =?us-ascii?Q?SXB9NekyYDmrrBfqujGv8jMxIcfU/723D56wA7RAeqQLFoDln+W3enQzTRs3?=
 =?us-ascii?Q?8MbwhF7KRUGBmorF7mH2D80cYjEBnlRE0XWeno6Tl4kdSnfXi39vBE0qEpw/?=
 =?us-ascii?Q?M/GWvB/CJepOMFGDh8P0xKxfNhYTrS4cEqgUo87fYt8PObIVLM2XX307Ke0b?=
 =?us-ascii?Q?6O+ikTQVP8OkJX3jnscevOj3xcmnbiYO0CG8MTg15S5GbpF/WrE2WONfBB3f?=
 =?us-ascii?Q?2SgRoVXeNZcdlI8Hw5/46iQQWA9YgW+4I14k3paAKtnD2AHV3NuNCv1NBoaY?=
 =?us-ascii?Q?4ahZkhPrWjSvX2Fi6ciJ9ibssXo114yQIoYKZpIykXt1yHN5dUqPrFLUwbnM?=
 =?us-ascii?Q?Nd9XOvpsIPUCAm+HrgIMEl62Eufz7CMKFQT+2of5mWQTOr9nC+YMvpQ1Gi0N?=
 =?us-ascii?Q?T20eEzdAnCc7QwOQ4md48V0UQ34sKsuZgc/sBC9hl7hIAo5VTYYaaTZQV50Q?=
 =?us-ascii?Q?lQpoBfXXDt36KlC2BP8RRKrxZfFVWF17KFogMnOEK5kkMju8HrTvvp+6nGt1?=
 =?us-ascii?Q?6XxW+ImtB56++HOnuv2e7js=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3f33642c-3ed9-481e-8e0b-08d9da8ba550
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 14:05:56.0064
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: s3AFlTXHp2xrCKSK8ThkiagKp67MUh7JbluSUxMoanSmxFYYF7q0NoJo1L8PzgKMPzaYz2rp2kKMDRuElxXw3g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB9081

On 18.01.2022 11:17, Roger Pau Monn=C3=A9 wrote:
> On Mon, Sep 06, 2021 at 03:00:46PM +0200, Jan Beulich wrote:
>> --- a/xen/arch/x86/cpu/mwait-idle.c
>> +++ b/xen/arch/x86/cpu/mwait-idle.c
>> @@ -742,6 +742,32 @@ static const struct cpuidle_state dnv_cs
>>  	{}
>>  };
>> =20
>> +/*
>> + * Note, depending on HW and FW revision, SnowRidge SoC may or may not =
support
>> + * C6, and this is indicated in the CPUID mwait leaf.
>> + */
>> +static const struct cpuidle_state snr_cstates[] =3D {
>> +	{
>> +		.name =3D "C1",
>=20
> We usually use names like "C1-SNR" or similar in other cpuidle_state
> structs. Is using plain "C1" intentional here?

I don't know. We're simply following the Linux side change. If we're
unhappy with their naming (it indeed looks inconsistent), then we
ought to make a separate patch on top (and maybe submit that also to
Linux).

>> @@ -954,6 +980,11 @@ static const struct idle_cpu idle_cpu_dn
>>  	.disable_promotion_to_c1e =3D 1,
>>  };
>> =20
>> +static const struct idle_cpu idle_cpu_snr =3D {
>> +	.state_table =3D snr_cstates,
>> +	.disable_promotion_to_c1e =3D true,
>=20
> This likely wants to be 1 because the type is bool_t.

bool_t is just an alias of bool, so "true" ought to be fine. We may
want to follow Linux in switching to bool altogether - iirc we didn't
have bool yet at the time the driver (or the first commit needing it)
was ported. I guess I'll make a patch ...

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 14:06:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 14:06:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258531.445312 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9p81-000700-Sf; Tue, 18 Jan 2022 14:06:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258531.445312; Tue, 18 Jan 2022 14:06:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9p81-0006zt-Pd; Tue, 18 Jan 2022 14:06:29 +0000
Received: by outflank-mailman (input) for mailman id 258531;
 Tue, 18 Jan 2022 14:06:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1rGk=SC=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n9p80-0006yT-Hs
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 14:06:28 +0000
Received: from ppsw-42.csi.cam.ac.uk (ppsw-42.csi.cam.ac.uk [131.111.8.142])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d3418a54-7867-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 15:06:27 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:48428)
 by ppsw-42.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.138]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n9p7y-000z6m-6d (Exim 4.95) (return-path <amc96@srcf.net>);
 Tue, 18 Jan 2022 14:06:26 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id CAC871FC87;
 Tue, 18 Jan 2022 14:06:25 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d3418a54-7867-11ec-a115-11989b9578b4
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <f20a04e6-cfc6-1099-0944-eadf8192ae6f@srcf.net>
Date: Tue, 18 Jan 2022 14:06:25 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Content-Language: en-GB
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>
References: <20220117094827.16756-1-roger.pau@citrix.com>
 <20220117094827.16756-9-roger.pau@citrix.com>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: [PATCH v6 08/12] libs/guest: rework xc_cpuid_xend_policy
In-Reply-To: <20220117094827.16756-9-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17/01/2022 09:48, Roger Pau Monne wrote:
> Rename xc_cpuid_xend_policy to xc_cpu_policy_apply_cpuid

I'm not convinced by this name.  'xend' is important because it's the
format of the data passed, which 'cpuid' is not.

It is a horribly inefficient format, and really doesn't want to survive
cleanup to the internals of libxl.

> diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
> index e7ae133d8d..9060a2f763 100644
> --- a/tools/libs/guest/xg_cpuid_x86.c
> +++ b/tools/libs/guest/xg_cpuid_x86.c
> @@ -254,144 +254,107 @@ int xc_set_domain_cpu_policy(xc_interface *xch, uint32_t domid,
>      return ret;
>  }
>  
> -static int compare_leaves(const void *l, const void *r)
> -{
> -    const xen_cpuid_leaf_t *lhs = l;
> -    const xen_cpuid_leaf_t *rhs = r;
> -
> -    if ( lhs->leaf != rhs->leaf )
> -        return lhs->leaf < rhs->leaf ? -1 : 1;
> -
> -    if ( lhs->subleaf != rhs->subleaf )
> -        return lhs->subleaf < rhs->subleaf ? -1 : 1;
> -
> -    return 0;
> -}
> -
> -static xen_cpuid_leaf_t *find_leaf(
> -    xen_cpuid_leaf_t *leaves, unsigned int nr_leaves,
> -    const struct xc_xend_cpuid *xend)
> -{
> -    const xen_cpuid_leaf_t key = { xend->leaf, xend->subleaf };
> -
> -    return bsearch(&key, leaves, nr_leaves, sizeof(*leaves), compare_leaves);
> -}
> -
> -static int xc_cpuid_xend_policy(
> -    xc_interface *xch, uint32_t domid, const struct xc_xend_cpuid *xend)
> +int xc_cpu_policy_apply_cpuid(xc_interface *xch, xc_cpu_policy_t *policy,
> +                              const struct xc_xend_cpuid *cpuid, bool hvm)
>  {
>      int rc;
> -    xc_dominfo_t di;
> -    unsigned int nr_leaves, nr_msrs;
> -    uint32_t err_leaf = -1, err_subleaf = -1, err_msr = -1;
> -    /*
> -     * Three full policies.  The host, default for the domain type,
> -     * and domain current.
> -     */
> -    xen_cpuid_leaf_t *host = NULL, *def = NULL, *cur = NULL;
> -    unsigned int nr_host, nr_def, nr_cur;
> +    xc_cpu_policy_t *host = NULL, *def = NULL;
>  
> -    if ( xc_domain_getinfo(xch, domid, 1, &di) != 1 ||
> -         di.domid != domid )
> -    {
> -        ERROR("Failed to obtain d%d info", domid);
> -        rc = -ESRCH;
> -        goto fail;
> -    }
> -
> -    rc = xc_cpu_policy_get_size(xch, &nr_leaves, &nr_msrs);
> -    if ( rc )
> -    {
> -        PERROR("Failed to obtain policy info size");
> -        rc = -errno;
> -        goto fail;
> -    }
> -
> -    rc = -ENOMEM;
> -    if ( (host = calloc(nr_leaves, sizeof(*host))) == NULL ||
> -         (def  = calloc(nr_leaves, sizeof(*def)))  == NULL ||
> -         (cur  = calloc(nr_leaves, sizeof(*cur)))  == NULL )
> -    {
> -        ERROR("Unable to allocate memory for %u CPUID leaves", nr_leaves);
> -        goto fail;
> -    }
> -
> -    /* Get the domain's current policy. */
> -    nr_msrs = 0;
> -    nr_cur = nr_leaves;
> -    rc = get_domain_cpu_policy(xch, domid, &nr_cur, cur, &nr_msrs, NULL);
> -    if ( rc )
> +    host = xc_cpu_policy_init();
> +    def = xc_cpu_policy_init();
> +    if ( !host || !def )
>      {
> -        PERROR("Failed to obtain d%d current policy", domid);
> -        rc = -errno;
> -        goto fail;
> +        PERROR("Failed to init policies");
> +        rc = -ENOMEM;
> +        goto out;
>      }
>  
>      /* Get the domain type's default policy. */
> -    nr_msrs = 0;
> -    nr_def = nr_leaves;
> -    rc = get_system_cpu_policy(xch, di.hvm ? XEN_SYSCTL_cpu_policy_hvm_default
> +    rc = xc_cpu_policy_get_system(xch, hvm ? XEN_SYSCTL_cpu_policy_hvm_default
>                                             : XEN_SYSCTL_cpu_policy_pv_default,
> -                               &nr_def, def, &nr_msrs, NULL);
> +                                  def);
>      if ( rc )
>      {
> -        PERROR("Failed to obtain %s def policy", di.hvm ? "hvm" : "pv");
> -        rc = -errno;
> -        goto fail;
> +        PERROR("Failed to obtain %s def policy", hvm ? "hvm" : "pv");
> +        goto out;
>      }
>  
>      /* Get the host policy. */
> -    nr_msrs = 0;
> -    nr_host = nr_leaves;
> -    rc = get_system_cpu_policy(xch, XEN_SYSCTL_cpu_policy_host,
> -                               &nr_host, host, &nr_msrs, NULL);
> +    rc = xc_cpu_policy_get_system(xch, XEN_SYSCTL_cpu_policy_host, host);
>      if ( rc )
>      {
>          PERROR("Failed to obtain host policy");
> -        rc = -errno;
> -        goto fail;
> +        goto out;
>      }
>  
>      rc = -EINVAL;
> -    for ( ; xend->leaf != XEN_CPUID_INPUT_UNUSED; ++xend )
> +    for ( ; cpuid->leaf != XEN_CPUID_INPUT_UNUSED; ++cpuid )
>      {
> -        xen_cpuid_leaf_t *cur_leaf = find_leaf(cur, nr_cur, xend);
> -        const xen_cpuid_leaf_t *def_leaf = find_leaf(def, nr_def, xend);
> -        const xen_cpuid_leaf_t *host_leaf = find_leaf(host, nr_host, xend);
> +        xen_cpuid_leaf_t cur_leaf;
> +        xen_cpuid_leaf_t def_leaf;
> +        xen_cpuid_leaf_t host_leaf;
>  
> -        if ( cur_leaf == NULL || def_leaf == NULL || host_leaf == NULL )
> +        rc = xc_cpu_policy_get_cpuid(xch, policy, cpuid->leaf, cpuid->subleaf,
> +                                     &cur_leaf);

This is a crazy increase in data shuffling.

Use x86_cpuid_get_leaf() from patch 2, which *is* find_leaf() for
objects rather than lists, and removes the need to further-shuffle the
data later now that you're not modifying cur in place.

It also removes the churn introduced by changing the indirection of
these variables.

It also removes all callers of xc_cpu_policy_get_cpuid(), which don't
have an obvious purpose to begin with.  Relatedly,
xc_cpu_policy_get_msr() has no users at all, that I can see.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 14:06:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 14:06:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258532.445323 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9p8B-0007L8-5R; Tue, 18 Jan 2022 14:06:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258532.445323; Tue, 18 Jan 2022 14: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 1n9p8B-0007Kz-20; Tue, 18 Jan 2022 14:06:39 +0000
Received: by outflank-mailman (input) for mailman id 258532;
 Tue, 18 Jan 2022 14:06:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pp88=SC=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n9p89-0007Jz-7J
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 14:06:37 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d774b12b-7867-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 15:06:34 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d774b12b-7867-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642514794;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=xpZeB98MRvunGHTwdfN1FuWFQu5wd4CHj84sjZpyltI=;
  b=LdatlkXq8xuBe/eJAHvsfJS8asnf9S5ho+TePJCtgT3Sd6xdWClogbU5
   hVZykx+Sy4tpU59VTO6L9E9R/pCX7BRStNu72Bg28n+j6K2BkT1UvEyze
   mywrLnkDqYfPSIbMP24d+TP02RU8w7oKH50OkrZCzeVrdDP79sN9+yz7V
   Q=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: r7W+RfDM/OHrA9HBZf7sAf9xmqHNf+29umpYLYfyR5+BXuFk1M5lrvVRbV4Fniq2hsNeh/IuYz
 3r8mmEX2cDyN01ZMMXkJYcjtP1cS1zC57Ejrdo7izjp1l2fwq4+JMRYXI91flx/dp0PGfOUsgg
 VC8sZKhB1BvQ5pdISANowrxuuWGZ7YzbRZm6mYYiJlBAXqqN6WeJi8vj9gGQ8KHOEsieeW3kOT
 bM/OnEUTgjCcWCmjWckRum4GV3PLnts6gi45oMAo7Dp5EXLKlMvY/Tu6Kmfq1yfD7gBu/4Va49
 s9ynxMW5vBr1RVUBT5Hj/Jlv
X-SBRS: 5.2
X-MesageID: 62138822
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:GEwWzqhBiYdAswVjfip+c9gkX161gRcKZh0ujC45NGQN5FlHY01je
 htvWT3TP/zfN2TxKNhzad/l9h5Xv8eGyoQxHVY5qHwxRS8b9cadCdqndUqhZCn6wu8v7a5EA
 2fyTvGacajYm1eF/k/F3oAMKRCQ7InQLlbGILes1htZGEk0GE/NtTo5w7Rj2tcx0YDga++wk
 YiaT/P3aQfNNwFcagr424rbwP+4lK2v0N+wlgVWicFj5DcypVFMZH4sDfjZw0/DaptVBoaHq
 9Prl9lVyI97EyAFUbtJmp6jGqEDryW70QKm0hK6UID66vROS7BbPg/W+5PwZG8O4whlkeydx
 /1g7KWLTgcIZpfWp/0RQxx5MiwvZqR/reqvzXiX6aR/zmXDenrohf5vEFs3LcsT/eMf7WNmr
 KJCbmpXN1ba2rzwkOnTpupE36zPKOHxO4wSoDd4xCzxBvc6W5HTBa7N4Le02R9u3JkVTaaEP
 aL1bxJ1Zh+dXAJ/Z2sYJ85kns2YmWncbWFH/Qf9Sa0fvDGIkV0ZPKLWGMXRUsyHQ4NShEnwj
 nLL+SH1Dw8XMPSbyCGZ6TS8i+nXhyT5VYkOUrqi+ZZCglee22gSAx0+TkagrL+yjUvWZj5EA
 xVKoGx09/F0rRH1CImmN/GlnJKaljNFYuFXE8xi0huy06bE5ie4CzlfRwcUPbTKq/QKbTAt0
 1aImfbgCjpurKCZRBqhy1uEkd+hEXNLdDFfPEfoWSNAuoC++99r0nojW/46SPbt5uAZDw0c1
 NxjQMIWo7wIxfAG2Kyglbwsq2L9/8OZJuLZC+i+Y45E0u+bTNP9D2BLwQKChRqlEGp/ZgPe1
 JTjs5LPhN3i9bnXyESwrBwlRdlFHcqtPjzGmkJIFJI87Tmr8HPLVdkOvGsieBs4bJpfI2KBj
 KrvVeV5vsA70JyCN/4fXm5MI55ykfiI+SrNC5g4keaikrAuLVTarUmClGab3nz3kVhErE3ME
 czzTCpYNl5DUf4P5GPvH481iOZ3rghjmz+7bc2lnnyPjOrPDFbIGOxtGAbfMYgEAFas/V+9H
 yB3bZXakn2ykYTWP0HqzGLkBQtbcihgW8Gn8pw/myzqClMOJVzNwsT5mNsJU4dkg75UhqHP+
 HS8UVVf013xmTvMLgDiV5ypQOmHsU9XoS1pMCoyE0yv3nR/M4+j4L1GL8k8fKU99fwlxvlxF
 qFXd8KFC/VJazLG5zVCMsWt8N08LEym1VCUIi6oQDkjZJo8FQbHzcDpI1n0/y4UAyvp6cZn+
 ++81hnWSIYoThh5CJqEc+qmyl685CBPmO97U0bSDMNUfUHgrNpjJyDr16dlKMAQMxTTgDCd0
 l/OUxsfoODMpa4z8cXI2v/Y/9v4TbMmExMDTWfB7LuwOS3LxUaZwNdNALSSYDTQdGLo46H+N
 +9b+O7xba8cl1FQvosiT7sylfAi58HirqNxxxh/GCmZdEyiD75tLyXU3cRLsaERlLZVtRHvB
 xCK89hef76IJNnkABgaIw98NraP0vQdmz/z6/UpIRqluH8rreTfCUgCbQORjCF9LaduNNJ3y
 Ogsj8ca9gijh0d4Kd2BlC1VqzyBI3Fov3/LbX3G7FsHUjYW92w=
IronPort-HdrOrdr: A9a23:VNwmZKkyrRpolSIhsE6PK/2INRHpDfO0imdD5ihNYBxZY6Wkfp
 +V88jzhCWZtN9OYhwdcLC7WZVpQRvnhPlICK0qTM2ftW7dyRaVxeBZnPDfKljbdREWmdQtt5
 uIH5IObeEYSGIK8foSgzPIYurIouP3iZxA7N22pxwGLXAIV0gj1XYANu/yKDwJeOAsP+teKH
 Pz3Lsim9L2Ek5nEfhTS0N1FNTrlpnurtbLcBQGDxko5E2nii6p0qfzF1y90g0FWz1C7L8++S
 yd+jaJq5mLgrWe8FvxxmXT55NZlJ/IzcZCPtWFjowwJi/3ggilSYx9U/mpvSwzosuo9FE2+e
 O86SsIDoBW0Tf8b2u1qRzi103J1ysv0WbrzRuijX7qsaXCNUQHIvsEobgcXgrS6kImst05+r
 lMxXilu51eCg6FtDjh5vDTPisa2HackD4Hq6o+nnZfWYwRZPt6tooE5n5YF58GAWbT9J0nKu
 9zF8vRjcwmPm9yV0qp/lWH/ebcHUjaRny9Mwo/U42uonRrdUlCvgolLJd1pAZEyHo/I6M0kN
 gsfJ4Y0I2mdfVmHp6VMt1xNfdfOla9MS4kD1jiU2gPNJt3ck4l+KSHqInc2omRCek1Jd0J6d
 P8bG8=
X-IronPort-AV: E=Sophos;i="5.88,297,1635220800"; 
   d="scan'208";a="62138822"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fFcsE7tv7qygXGJvA00mjvqsASUiJecE52s229tlYLA6WTJLseH8fkb3Wla2gqcribMYagfbKGQcRxgJSyziWE49APXgZSy1Mu9WJGYtE6kzGPSMEqgxrIUev8glol3LRvBPpryJNSB329w+xgfl9PNJIs9MqbDJkQ+RrOMohZVbrGj/qgcfM0W9DulXnjZUVapCIdWXdpASkRy9Y3QQhm9mymzXp52UK5kX8mAb99i3TWxUd+azgPgMGq6CiF7MYjO8083PJL0+utb7zeSA2e8zE8tKHaXA/qlSoHnotu4cai1Ke8ug27qwY9MVKBN7omg7ZbjNhR1Cc3jJn4NaLg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0M0vdyEYS3ZOxqgoOxTEqX6+LI9CLvjLbRdsOhObzdo=;
 b=icJbjLg7mBaNNizXvG//l5pzukB4hwxlQ95tqJaZS/cjn6cacz2fLvvp0JVW6vvdoX0p0F8nEdsb9JV9UT49EOM1JJ4kOtIZBKkXIwENqCwSAseVK6dcBbhpr2oUhUDZsQuLkU7WCY+HmmInnvOg8ZWkalFJ+2g5Vw2yL6PSTAacnsBezrqlsso6heJ0mqD0bm29i7oRHD/6W1W7TBSEvFhewAJdTO+29HhxwpiJzZFDGnbzq5rCeRAniBq/irZYoMJ2tCWZNkSC9w9wvtuPxlN4/p+AnVt2wIrnLSw06GbU6w1TTJ+DQd8W5y4XdKdfhuOJV79m9YUM0LdaOSbqyg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0M0vdyEYS3ZOxqgoOxTEqX6+LI9CLvjLbRdsOhObzdo=;
 b=qLgAG1z8Jlxt4OwCyg6W1HShkGwrw2n5JX1RfPQfYqTwtPbP3ouyl6b6IoGy7VT9cfAjsERXfRjIXV99IJLwznmxZ+LkSSp90NNF/YNsGVNv/GxianbPJAzZ8JU8eoHKAa1fLohPMrEKJdSLGGKvWaInDDZyElQCQXrHdyJIc/8=
Date: Tue, 18 Jan 2022 15:05:49 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH] x86/time: further improve TSC / CPU freq calibration
 accuracy
Message-ID: <YebJPd62a7rB+KTw@Air-de-Roger>
References: <6c50c7b6-e521-e34f-1808-a4e2961b807e@suse.com>
 <Yea2XRrFn7qCIx/h@Air-de-Roger>
 <4bc4e379-fc9c-581a-3b03-9025e9fd92cc@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <4bc4e379-fc9c-581a-3b03-9025e9fd92cc@suse.com>
X-ClientProxiedBy: FR0P281CA0045.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::14) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 681b7d6d-f293-4b3a-736e-08d9da8ba3f8
X-MS-TrafficTypeDiagnostic: DM6PR03MB4105:EE_
X-Microsoft-Antispam-PRVS: <DM6PR03MB4105515D6152061AC68A3B4E8F589@DM6PR03MB4105.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: X53f1a7rr6goRgf7BQ7TrZaMSQbkpAnYSVVtLT1ZdIM16M6MD9UnIbn3NclqOHzNVFvFj7yA1oO9/xjX8+t3UCia0fUbR3jKZXekX/6ML3W3/wEXAge3Gcp+TcvkAGn76uIBOvaJVCBGBylLUWvPNTnlTlIUJnx9RM0fCR9sZzy5hoUsUBysjugDLAQdx67AzvywN0Pk/slad6bRgyaA8M2EcLsqiAgZEY9gzYTE5QYo92GMVJvU8vLJyALGu8+kli2RkDZBrYq6vth4P6Oa/jTAmx6FNCJ9fmNPlV2prOX0N90ZlxEyKjJXNChARz0dpHI6szi0jro/tEOhbE1lKXBiFaEdfgFQVAeiaOHaML5KOG40qHAFGyv0IlQMXXdMoU7pRp8grKzdJJfuczwGQ33I/A1zuniy1Ua3p4HIZ9nIlZOlJKxpF8xirIeXK74wC/2AVmMKbVZjXO+qq+o7PaknbaSzpkq3BscIHtD+GnI86qcSl7/Vpnrt+ZflNhh0U1Zf+EFyrpm1hgyNtAXeR2INt/nexTa+S1aFIsdKnZYVfpyrsM30enM+v/XFHmj8E0ZKUpKUsV+sOpcJpp3H6jYOCx9usw+hxm8o14sfm9TqhvakIK6Re5B+TXvktn45RTCSJPguAVy8uu5ZuIKnJeuJQ1pjxrgG6jw0gQb0DzxYMiBmdLQgpoeg8Yd9JwSxevvCjv1jgYUGOg7i0gzEXA==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(186003)(33716001)(6486002)(66556008)(66476007)(86362001)(66946007)(5660300002)(85182001)(4326008)(82960400001)(6666004)(316002)(508600001)(9686003)(6512007)(54906003)(53546011)(6506007)(6916009)(2906002)(83380400001)(38100700002)(8936002)(26005)(8676002)(67856001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?QXBUSFYyRSs5OFdwdk03Y1lpVHNEUlZYcmdaUERONWhWdkNiczZlOENITnF4?=
 =?utf-8?B?RWhSbkVacG4vbkNEcGFvSWJCNkVuUlg2MFFwanNYckNVdUpUcmZ1U25UcFhi?=
 =?utf-8?B?aFlKV2VybjluZXBwcmJYOFFrbnVScDI2Nk4vUzNoeHI2cHlOQWJMZDZ5Mk5r?=
 =?utf-8?B?TE8xQ0dFbytKdHFPaE16b0RxQ096dGZRUXFRNEVxUnVsQWgybHQ0b1dxazho?=
 =?utf-8?B?U0ZvYy8yOWRycExmSXJ2Wm1vOXhxWUk0cEtvaFZKZGZmWVVMYW1QWXlQcktL?=
 =?utf-8?B?SzA0NE0xQldsRE5SWWIwV1llTzBKNGNJMjNuMVAxMWJEcDk0OHRmbU9TVzl1?=
 =?utf-8?B?YWJ1djRCdGMxUDR5ckc3OGJBUFI3aFlnancvYkhldmk5N0pnOWVnNDZxam1T?=
 =?utf-8?B?b0NQRytUU1RWOUFLRnFDMGtSWlJKU29FU25lTko1SXhNT1NqTVhKS0VMcGpn?=
 =?utf-8?B?bnZ3L3JyVThzc1VJRlhqNFgvNDZMYmwyK295MWNVelFTaldNNnp2VjlNZWlr?=
 =?utf-8?B?cmRNUmUyK1lWRnJEYzZZbGJ3dU5CYWJUSTQ3akFLN2pDdVZRakltNC9uQlB3?=
 =?utf-8?B?TW9uS3M5OXd3T0I0YU5zUUVyM1RvaDhXdlNhSEpHRklRN0RHK0xTMkE2Z21y?=
 =?utf-8?B?THBkRHFUdk53QXM4a3hJUWJlSGhodnU1VnVlL25KT3VENng4R09TMXNLRUZR?=
 =?utf-8?B?TzRnYWZkdWx3LzlLN2FUU0t0akRVTENvVjVXV3ZIK3R0b2dsV24vK0RJTW5L?=
 =?utf-8?B?UEwxVndUS3dTemVtSC9Fbk42VzhiMkU5NnEyNmhPOVM4NXFpWkVidmFFTmdz?=
 =?utf-8?B?RVVoWTcycXB5Nkt6MDM5djNGOG5ZYi8zVThmQSt5dHRxaWs5SHp3SHIwem5t?=
 =?utf-8?B?ZFR1b0dNR3Y2cVVlY00wOXl4cFExSlExZ0JTMFd4UFZITTU5MGFFK2wzcnpK?=
 =?utf-8?B?cllRMk9NK244NE1iNFNOdDFsbitPMGNOUkVYZXVnWGRUR3BoMVZOQ3BDcC80?=
 =?utf-8?B?VEV6a0hBR3R2NUFiWDZsS1hCL1l3UDExaVIzeWt3c1BTVC9DK3Z3aWNTNjhK?=
 =?utf-8?B?ZXl3QTY2SHBmdWgwQ2RaNzdNWWJBa29OK3ltVjhLTEx5djc0VDd2VytwL25x?=
 =?utf-8?B?cG15ZEhtZGRKUnAwSk5zOEprd04vVk1KbTlCVElheVd0RkFoZHdaTHBER0ti?=
 =?utf-8?B?Slhvb1l2d1k4T0JyN0tCSkRQbFUzeXRqRnJ3OVBVREdOdXZCZ0VxRmlxQlNH?=
 =?utf-8?B?VERTbkpRVWtNZ3F6WjZMd3BEZnhVNHpOMnE3ZHRjemFRNlhiQUpld2FtMXBV?=
 =?utf-8?B?emhPd1hUbTE2Yy9KaVBuWTV4RU5nL3JTRE5hekphdHllVUgycXlLMjhMMUto?=
 =?utf-8?B?aXhINXdDL0h0NmhFbkZoVVY1SndnSm1qMStaNTlQUEtRa0ZpWDFWL09hU2tj?=
 =?utf-8?B?dFVLcXU4Znd0Zk9LRFBpYlJIRjhqTUEwZkMwaVMvUWJQSm50SFg3ZjN0dFlR?=
 =?utf-8?B?Qmo1TWh1dmRhYjFuTWtlZW5RbWNTYlh3dXZSbW9VWmZEeGFzOWRDZTVmQnFX?=
 =?utf-8?B?QnpBWi9TeThjbStidlFhcEpoOVdyQUorK29SbTl5blFnYTRsU3JuRmU5N2pE?=
 =?utf-8?B?MTdXZjYxUDBHRTY1bXRDd3FUNzR1ZUNabG1ZQXhScW9Pci82MDRwWGJVbENt?=
 =?utf-8?B?c3A3NmFaTkRJMVltUmxSekg1RkRZaFFqL1U1QklUTlJCcENLNkIvODNockto?=
 =?utf-8?B?OGE0dm8wSkdSdWM0TUlISDhKNUxndVloYnFPbXk0MlBRT1hBZDJ4TmhmeTNx?=
 =?utf-8?B?ZjVWQlZPL1FJVC81R01IM2ZUNjkvTUxNT3d2Q2ZVcHRtSGYvN0oxNERJVDB2?=
 =?utf-8?B?RFpkR2U2YnJYMnBZUzFWSzl2ZG9vNDZFL3NVMXF1b04vb3pQc0haRnUxK1FG?=
 =?utf-8?B?bW4xcmc4WjR4aTlqZWlULzlLZUkyQ3NzR2FoZG5lclhpZU5nd0V5UVJ3V0tw?=
 =?utf-8?B?dVhRcXBTVlJKZmR2ZVZxekhIbXR6Y0NZSklwbjdUbWtYVTEvN3ZxRXd6bENv?=
 =?utf-8?B?dVM1YXl4OWY2M24wMW5TQzhkN2JvWTR1Qnd2eXNFSElEUlBESjlzbGZ6Rkxu?=
 =?utf-8?B?L05ucnhibGtDSldwVDdOdmMybGVKb2dGek5IWXVXNFNIQzRNUU1FUjNQVGJR?=
 =?utf-8?Q?uiY/hZ5yj4BFAdXPkiF3FfI=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 681b7d6d-f293-4b3a-736e-08d9da8ba3f8
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 14:05:53.8257
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: SNyIBBX3KWn9OoTiLuOdZlQjiAZUxawUDK9HWtkSSNLPgwEFSfHpnO8amcbshrvj09RydJgWg0xJ935+AqxuzA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4105
X-OriginatorOrg: citrix.com

On Tue, Jan 18, 2022 at 02:39:03PM +0100, Jan Beulich wrote:
> On 18.01.2022 13:45, Roger Pau Monné wrote:
> > On Thu, Jan 13, 2022 at 02:41:31PM +0100, Jan Beulich wrote:
> >> Calibration logic assumes that the platform timer (HPET or ACPI PM
> >> timer) and the TSC are read at about the same time. This assumption may
> >> not hold when a long latency event (e.g. SMI or NMI) occurs between the
> >> two reads. Reduce the risk of reading uncorrelated values by doing at
> >> least four pairs of reads, using the tuple where the delta between the
> >> enclosing TSC reads was smallest. From the fourth iteration onwards bail
> >> if the new TSC delta isn't better (smaller) than the best earlier one.
> > 
> > Do you have some measurements as to whether this makes the frequency
> > detection any more accurate?
> 
> In the normal case (no SMI or alike) I haven't observed any further
> improvement on top of the earlier patch.
> 
> >> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> >> ---
> >> Obviously (I think) instead of having both read_{hpet,pmtmr}_and_tsc()
> >> the calibration logic could be folded between HPET and PMTMR, at the
> > 
> > As an intermediate solution you could have a read_counter_and_tsc I
> > would think?
> 
> Not sure in which way you view this as "intermediate".

As in not unifying both calibration logic into a single function, but
rather just use a generic function to read the counter and TSC.

With your original remark I assumed that you wanted to unify all the
calibration code in init_hpet and init_pmtimer into a generic
function, but maybe I've misunderstood.

> >> expense of a couple more indirect calls (which may not be that much of a
> >> problem as this is all boot-time only). Really such folding would have
> >> been possible already before, just that the amount of duplicate code
> >> hasn't been this large so far. IOW if so desired, then perhaps the
> >> folding should be a separate prereq patch.
> > 
> > You could even pass a platform_timesource as a parameter to that
> > generic read counter and TSC helper.
> 
> This was the plan, yes, in case I was asked to follow that route (or
> if I decided myself that I'd prefer that significantly over the
> redundancy).

I think having a generic read_counter_and_tsc would be better than
having read_{hpet,pmtmr}_and_tsc.

> 
> >> --- a/xen/arch/x86/time.c
> >> +++ b/xen/arch/x86/time.c
> >> @@ -392,9 +392,36 @@ static u64 read_hpet_count(void)
> >>      return hpet_read32(HPET_COUNTER);
> >>  }
> >>  
> >> +static uint32_t __init read_hpet_and_tsc(uint64_t *tsc)
> >> +{
> >> +    uint64_t tsc_prev = *tsc = rdtsc_ordered(), tsc_min = ~0;
> >> +    uint32_t best = best;
> >> +    unsigned int i;
> >> +
> >> +    for ( i = 0; ; ++i )
> >> +    {
> >> +        uint32_t hpet = hpet_read32(HPET_COUNTER);
> >> +        uint64_t tsc_cur = rdtsc_ordered();
> >> +        uint64_t tsc_delta = tsc_cur - tsc_prev;
> >> +
> >> +        if ( tsc_delta < tsc_min )
> >> +        {
> >> +            tsc_min = tsc_delta;
> >> +            *tsc = tsc_cur;
> >> +            best = hpet;
> >> +        }
> >> +        else if ( i > 2 )
> >> +            break;
> >> +
> >> +        tsc_prev = tsc_cur;
> > 
> > Would it be better to set tsc_prev to the current TSC value here in
> > order to minimize the window you are measuring? Or else tsc_delta will
> > also account for the time in the loop code, and there's more
> > likeliness from being interrupted?
> 
> I did consider this (or some variant thereof), but did for the moment
> conclude that it wouldn't make enough of a difference. If you think
> it would be meaningfully better that way, I'll switch.
> 
> Both here and for the aspect above, please express you preference (i.e.
> not in the form of a question).

Let's leave it as-is (just one TSC read per loop iteration).

> > I guess being interrupted four times so that all loops are bad is very
> > unlikely.
> > 
> > Since this loop could in theory run multiple times, do we need to
> > check that the counter doesn't overflow? Or else the elapsed counter
> > value would be miscalculated.
> 
> I don't think I see any issue with overflow here. It's the callers
> who need to care about that. And I don't think this function will run
> for long enough such that a counter would not only wrap, but also
> reach its initial count again.

Right, I haven't expressed myself correctly. It's not overflowing the
issue, but rather wrapping to the start count value. Limiting the
iterations to some fixed value (10?) in order to remove that
possibility completely would be OK for me.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 14:08:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 14:08:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258538.445334 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9pAA-0008OR-ND; Tue, 18 Jan 2022 14:08:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258538.445334; Tue, 18 Jan 2022 14:08:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9pAA-0008OK-KC; Tue, 18 Jan 2022 14:08:42 +0000
Received: by outflank-mailman (input) for mailman id 258538;
 Tue, 18 Jan 2022 14:08:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aElt=SC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9pA9-0008OC-Et
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 14:08:41 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 231f6607-7868-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 15:08:40 +0100 (CET)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2057.outbound.protection.outlook.com [104.47.2.57]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-30-8p7R7Bx4N-uEpqs2g30hrQ-1; Tue, 18 Jan 2022 15:08:32 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4173.eurprd04.prod.outlook.com (2603:10a6:803:47::33)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Tue, 18 Jan
 2022 14:08:30 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.014; Tue, 18 Jan 2022
 14:08:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 231f6607-7868-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642514920;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=48Ri3L3TRZ1rPxR1j3QqBLtMcgZcG3PY360F+0mOFIg=;
	b=gBVvjlSk7XaXCCbfwiYItkM5Q9tgs6fr+F2m6TItzJ+0QE//XnjhOUo4clYkpoNjhx9w+C
	fj6GRsm8TlVUh+fZqXxyCkpbqr39h3lRZOfEK91UHLclaY/96UD4uoHThmG3Nsdf0548uk
	aep9aZCclGKwYBUOmOT1OZoRTzQ8Mg4=
X-MC-Unique: 8p7R7Bx4N-uEpqs2g30hrQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C1gIoHZBwgI0fee1aQ48pLqNuboI3JR7AG1IPGlVA6ye+oOmM1ivMb6ZzfoDaOCorIKDc4CzvSIcgudY0/ZdK6MfWwLICEPAyqC2TTlaEuIN4AAidU8db3oNF0j+lN9jMlIfnCzStKCQ9XsvM4m6hWfQUqFVN3LP12IG1KzCsErg9kNLTvz++QAJ135xbi0mK7GwJLFG/nBGgkzEWUeXXgo7tvINz4itnZK66TiMtl5PaHPLG+Wungy7ZRiy1Z9hM1i3z/kkqaVHR3Zwh6wOOZG7wPVDdr/yUJNEf7D8pbL3drH634rBypjf+TQp5CVH8KlkuQXW2NKuLwzOZ1jv6g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gSwYRH9xFRaYOZorirwZXSm6rDeA43745477ocxH9Jk=;
 b=bt+QjyWOmGa2q73iQ8PO4UnfTfqPUK3mdpG58jZ5EedDVlh/DkWKzgIt/cwwHCmHfEZjE79taUSOQvpBkqeJYEYJOQnhioInEcoqHlsPrzorTCkHEOWp9mAjvsZp/Znr5QPDlMsnvriuPbUE+mqG+6rleXj3e4cV34JXDZrbPt+InVO1nbrv6qGa7LzIYR3YthoQsNtRXZNCY1OSehJYo+L/Zk83QXW7FbYq4nVtB2mpSk4agtBj+W0Ev96Geb+oTzvoDcTGcgr/2s0MmuHISfpLNzT3kIsuY3T/iNzcXyy+SToHCrcmW7DLoq/sLJKeqWWg+Nd1lrWuXiwd60lgmA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <65dafbcc-d627-623b-ed78-83c3bfa25e00@suse.com>
Date: Tue, 18 Jan 2022 15:08:29 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 3/5] x86/mwait-idle: update ICX C6 data
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
References: <e16ff1ad-b1c5-f4e0-9336-716eceb93a9f@suse.com>
 <fbe74c84-c9f9-dc00-a614-151634747f33@suse.com>
 <YeaUdIHubGgtVpV2@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YeaUdIHubGgtVpV2@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS9PR06CA0218.eurprd06.prod.outlook.com
 (2603:10a6:20b:45e::7) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: eeb66f19-6594-4fdb-e65c-08d9da8c0115
X-MS-TrafficTypeDiagnostic: VI1PR04MB4173:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB41735EACB787F3F36815B6FEB3589@VI1PR04MB4173.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:
	T3f9wzflvjIzlCf7HdZESzXXJwWixis+OM9Bs2n0uljaqbQ3mTnRFKne7iTBQIlrgpjV4rGuFp98ZzQGeUDxeeKpupX3K+WMP7slVxuIeCDm3KF6cxv9/fdzZpaQO/SasMEb/JzByMUU9OZCjYpC7gQLn+clMv9HfSGC1N97M16aVjUMlJVWAnzBfZOm1wBKRvFOvsSXyBUjlm2oHovILs1cNgu8sEa1soF1XtZjwMuFwEMwjkrtbhH+bDC+jE+7yGtwSw+EioDPGR3tN+ZIoAi3lt4A3Zyq6ZB+ueFix5osS09kB1EUQN7RQfewR6pZ3ddg/awlB5byS6uq3tR3oiKuK8BzzWG2ykQ2IX8leqVJ6bu7idtN9/OHQvU8+G8lddRu/H9aRC3o/VqKUVcF3+amL8VzoUnSCqg5NfYV8rVhVKjSBynMwUapo5+grlmIIJbq/6w20GhA4VSDh5fw/q7CYsIGJ88Q3vEh4OBzBIbwPVg598J97ieVjBhfsDbQYCS8VTlcngOWZAzECBew6FkLyMMpYJ+5BlIPmxb2do9gDSuneeWDMDVfHIRQ2nZh1WrLULnC7TbYLj3C4KrXNY8uJ6yRrOwUMwx6O0RR4oLxchPBb1NoltSN7pj3NV+P95RMpiobW9P25wDjThKe3KsTY3d1bR9qJFGefd8bH34WEw2pbKa1Yhj1aHnTMo0MlmaHi8cmvPElmtBA9c+6cGITOvIL+sBFExuYVUD2G9OiX2CDrBOkQ+sfhb9cErZb
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)(6486002)(316002)(54906003)(26005)(53546011)(2616005)(66946007)(66556008)(508600001)(36756003)(66476007)(6916009)(6506007)(86362001)(5660300002)(6512007)(4326008)(8676002)(38100700002)(8936002)(2906002)(31686004)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?rgJs0rMZzTsRHET2xstx0An5jrYwaDBKhsEmMooeo5CSGz6+gTCbSBEb96f/?=
 =?us-ascii?Q?C7fqnVU2C4M4q9+OHnt1lklPwepLpicjT6IZ26EdNq2zY4TPr1lKb8yugJn9?=
 =?us-ascii?Q?x4WGtsp+/5M1MR+/ZRWJ6RXR0u2kVqOBa3YVVRhMm81t+Ojx+aFN7bdkWfVG?=
 =?us-ascii?Q?UaZJuFjvZmqA1DYvurlV8om/L+SW6wxpjaCMH+VrgVTlWTWVmDcOm2XSkWY+?=
 =?us-ascii?Q?lx1ReqbGeYs3rrqx1zAZDUSzy72kxWwcFjkjIpgR+bdjH4eazPE5rWRG/PAC?=
 =?us-ascii?Q?ez4s/YhcJLSqU6/JLicoo07kIsUovzNhYC90wv+m01vSAUQHZkW1Ucw0O+sb?=
 =?us-ascii?Q?/qrgjntMKHQvpbBavLpwYTTi+p6j/DukVulihkWhN8PaAWUKmrRUW98w3VkX?=
 =?us-ascii?Q?2xc+TCuLUUOQmQTSDCJGtMQD9IKVhYh1wKwXYpsH1H/diOWRU6IWBbm+BzSS?=
 =?us-ascii?Q?3+3XURSaeN9MdpnP2uHbUc6vnugRXzCdmeK1RASKJEP6XS42NFzK3HhbdCcM?=
 =?us-ascii?Q?Pqq2pJyi3TeyvDgsFdjBoehRFnXXUBBf2KHcDpTJku1MIQ/8ayAfwAgUkuv/?=
 =?us-ascii?Q?IhuBRE0PJ7dZKdYlkUlMXOI2NI7quFvLQfc401ytYy3Dhmo0ZJSjJLjT4ysC?=
 =?us-ascii?Q?ujhodkpe01ahcuhTELExgBFhqBOiOD0HfrFVo2zG1cQ6oUR0wKvqAH8oHRpg?=
 =?us-ascii?Q?7VgLiX/fSppq96zYI9iMcKo/9WX5/KR1FGetO4VpMRKzQ+FLE+/AsqIINWdY?=
 =?us-ascii?Q?8ZeH66d9LC5hxjNwKV6v20NjNk4kR7oM/YL7/N2IPigid4BQ23kyAgE8xT8R?=
 =?us-ascii?Q?hQqB3cLe/THE9rLpnbMiHVNs8VXMMteGyY6PG2cxz06groc0bDDYyRggr/rj?=
 =?us-ascii?Q?rP43wv5MOw0k0iHsMwAHmnvG5/S4VtDJAcIEZiKFt+1c+Qid7GpvMqQYqPqO?=
 =?us-ascii?Q?D5tBCu//NIE57E530s/38Zb1UvFehJgyyWWDsLd5yH0Lr+bUu79sygBITENS?=
 =?us-ascii?Q?XmcunKALRpmBVCUrSwkb/akD1SAdnfvM8Y+DiCYwt5c2kW53zzoGRLInqRKW?=
 =?us-ascii?Q?bCgZ5bTE2BVgKZOGS9talgN5Ajwn97xugJhfA0YHPFxQjEW/ASAt2AnMkbQe?=
 =?us-ascii?Q?U6vLWSMNycMTVzijRCo1o5B2HWyrTwitfWixbCnma3lUSxj/gjjBhtf8uwMA?=
 =?us-ascii?Q?PgcyW8YNkQtoh7wSjzPCvxD2ANMFRY0yIifmo3Q82mZzzESqEMn6LbmrkYvi?=
 =?us-ascii?Q?Ng6ZAveZgQtjmf+ZwRvWbIeiuPwx1yjK/xoV+7eQxMDd6ABKGgp31R0O9C0x?=
 =?us-ascii?Q?nuu5WHDUf+4wLQjR0X6joQxNx+ANk1MsKtnjzTKmbHzxI/BWSKUBbPnxaTD5?=
 =?us-ascii?Q?E2RHPzQIUniTcPE/5ZBn8yadhwZFjyDucz41ai3HSu0I/wH60Q1/W7rbtX72?=
 =?us-ascii?Q?I4cg715WG1g2nUaW12IKtulk1HycIL+g2GndiT8hAda6KYioajvVcVAMHfrW?=
 =?us-ascii?Q?cp35iBA9Xs2ODsOeDNYJiO1pcO7FBcJKCpDcu82S/++S1NVdfhBjvi0K2b3f?=
 =?us-ascii?Q?CpcGf4fMeOAoTRQVrWOwTDOOB+adlG7+2aUbBfWoenZmy9rw663n/NDropsn?=
 =?us-ascii?Q?d0jmcGrP4oOTNuP67HJOwgU=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: eeb66f19-6594-4fdb-e65c-08d9da8c0115
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 14:08:29.9484
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: suWjtdit1s5HG7fXdmeFyAWOFCKdS+gwDNGlDsLNz9gBpltXCJL6HRE/CHQKZ6mG/zuJo+TFmsSUdJE4pbsuGg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4173

On 18.01.2022 11:20, Roger Pau Monn=C3=A9 wrote:
> On Mon, Sep 06, 2021 at 03:01:12PM +0200, Jan Beulich wrote:
>> From: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
>>
>> Change IceLake Xeon C6 latency from 128 us to 170 us. The latency
>> was measured with the "wult" tool and corresponds to the 99.99th
>> percentile when measuring with the "nic" method. Note, the 128 us
>> figure correspond to the median latency, but in intel_idle we use
>> the "worst case" latency figure instead.
>>
>> C6 target residency was increased from 384 us to 600 us, which may
>> result in less C6 residency in some workloads. This value was tested
>> and compared to values 384, and 1000. Value 600 is a reasonable
>> tradeoff between power and performance.
>>
>> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
>> Acked-by: Zhang Rui <rui.zhang@intel.com>
>> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>> [Linux commit: d484b8bfc6fa71a088e4ac85d9ce11aa0385867e]
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>=20
> Acked-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>

Thanks.

> AFAICT those values are all from measurements, and not in any manual
> or specification?

That's my understanding of the description, yes.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 14:11:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 14:11:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258541.445345 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9pCx-0001JC-60; Tue, 18 Jan 2022 14:11:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258541.445345; Tue, 18 Jan 2022 14:11:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9pCx-0001J5-28; Tue, 18 Jan 2022 14:11:35 +0000
Received: by outflank-mailman (input) for mailman id 258541;
 Tue, 18 Jan 2022 14:11:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aElt=SC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9pCw-0001Iz-00
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 14:11:34 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 89d76c2d-7868-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 15:11:32 +0100 (CET)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2055.outbound.protection.outlook.com [104.47.2.55]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-7-e6IM-UZZNmyCiWcS_OHoxw-1; Tue, 18 Jan 2022 15:11:31 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4173.eurprd04.prod.outlook.com (2603:10a6:803:47::33)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Tue, 18 Jan
 2022 14:11:30 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.014; Tue, 18 Jan 2022
 14:11: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: 89d76c2d-7868-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642515092;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=mkrATZkogV5dYH78q4Xf8RG02xN0uAFaU98dSXY8AoY=;
	b=OfgAw9LuPKcZCtmmdquafm2/T20l/sLw15sHlScoGCNqO4YLRVcJ67fxsG+5vRCkKrDchP
	5jCeINJ66fajdhK2iA9XVA25j5JhbxuzAAjgZtiVYULCAcXeYGeI8+BPg793dXXZLATP/0
	9ZD3nzWJTATSh6/vN2sZkmzR45onCTM=
X-MC-Unique: e6IM-UZZNmyCiWcS_OHoxw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IhOGbIhfaLecuRUY93coZAL8ylVAJ2GzAG4l0OLAu+mrRJsC20rEPC/dNVtHmGS0KtOLXD0ZU9NDkbwpPzOOtEQvKKQHAIcSdmedLMPhM5j+cN/1xHafgWEwhQ3S9cce/hMwaGx6CujHIDR8xU+LjlcqtlwFkQ0kOXepI+PXhAEv01Oeu/Hr6MJoCqb8K7eUM6UJ2i/ghzOnHYNlg2xf2H28lyJtyPD8mR9OG1hk4oXMjZgeaRIRE4suVanUjyGTzEXVOWPUmiz8XGRCOnnUrSM2DpJaqKT2VxMF1xQKUuHqJ2mD1ObdcU2+AddD9GAANmLqq+rJxI8EUAuSVmIn6Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EoPkVXf6WvDD8510zSmkNj5376jmeCzr0LeqNmW1j0k=;
 b=fwYyvQ/m+XAYhpgzjOquowdPWBWQTdtzviOxtTiqkRa978VPh8fDiPK6rSorU1+yIs8YN9Mehd2/rPPu9gqXZsiv+uLIAaBF82r9XkkyrRpuvcGwb7pDkVCtqZChBqPdlRmvGyKeyBd2eBmTSGYpMeDYgcJ7S9XZGE3uAhZKKCGnaQJXEGod4OGBgF76JOilYbbnGOl/0Tj0bdzB6GmWzGIX74dBP2ch88yuEf0QhMlZyaXXQVZouqM+8WXAP8gcnn1dMSetnXV9J+3DXJQwfrhvrsro1xdwBbwaR71MobBL4GsefO+eGB4UPUZ+GoJN/Xglephr4fZKbkB99A87sA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ee3bccb6-591d-233c-22ea-e3f95256b056@suse.com>
Date: Tue, 18 Jan 2022 15:11:28 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 5/5] x86/mwait-idle: adjust the SKX C6 parameters if PC6
 is disabled
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
References: <e16ff1ad-b1c5-f4e0-9336-716eceb93a9f@suse.com>
 <aa7dc2e4-6a80-dd7a-81d6-92690f6e0bfb@suse.com>
 <YeabFE5v5tQvM0eP@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YeabFE5v5tQvM0eP@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM5P194CA0003.EURP194.PROD.OUTLOOK.COM
 (2603:10a6:203:8f::13) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 44a4d4ed-9dbc-4979-763e-08d9da8c6c3b
X-MS-TrafficTypeDiagnostic: VI1PR04MB4173:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB417389EF07F785B432420261B3589@VI1PR04MB4173.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:
	58q7dL+N4FTclgi743BRdOC5mzt34IkPISRJoUED6NrGLrazQPb6fnLpwqRidYG74ktAC+grNUy0AA9PV+vXnxL2SuawC1Scap2M494Zt5l+SkP7zG3x0vQ6nzXh6jmIULif6ZAXsKVjVeQRZPZDIYIM+KBvh2M1kbghfB3nnw2fDpfb0ARV7uKt2+JQ42dzdpxzvQT91hACKQ89VrjMhMepcyn1bZ1TZVh55tQq2qJUHpUNO2KLCXr+XpHYZVmXVYuwmdKQs2qlIXXjXRPFEcgvdqX10wzr3jhbmP50j+gjYRp/iF6ZU3fd6EsTEn/m9vDbrgXc5XabcXQX/aOPSbnu5zPPCTO2d9iiLZJD6JcE6C/dKRyaZM0Kt5OwzsdSwc7bJ+ZYrPiDko3PSTyzVbobBg5JDQI2Z302p03ND3cbtyBseoiaEYR0AUqEBDafRnqh9SHkelDBD4cHF4Jn+CpbLVgtsoiGOYoOP0REajTutmb73wBw5KT9nri5//juryJ5cYtMMWed2S/82AE6Q15FEgQf0h4A8Ie3oxFbqyJFhE4tPQZnW1U/HuLtwLqJIOs46HkN6q8A8PehNy0K57boBLJ8lZlMX8QDFJE0GECyhUSim2IGLiMNU7DSdV63EjBQUqrNIP8tG+i2ozgyHogbfJ5pLolkrm64BbZ8mVny+HlQMIcklhND672UX6ev6bWyLKqzbYem5Pl5JLSh3tgXqlm1s/oXfGERkbjrcFugqg0I42juZ931QbB8Zl866e2qHrad7UeYrq5gCtIl20jG9ToFtJC/pobejrNRftnFVhq44+0SUX/XKcII1EoC
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)(6486002)(316002)(54906003)(26005)(966005)(53546011)(2616005)(66946007)(66556008)(508600001)(36756003)(66476007)(6916009)(6506007)(86362001)(83380400001)(45080400002)(5660300002)(6512007)(4326008)(8676002)(38100700002)(8936002)(2906002)(31686004)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?J60lGmyMjdWFrWut/t24sS/oZwRLh45CzMBRuKK7aKKEk8FPix6Z5+29u4te?=
 =?us-ascii?Q?FeSN02F+REh/5/Sz/4YMPwVxHSn18jRyKSOOK07yImje0Py/wd1iSfPHQ0yP?=
 =?us-ascii?Q?sdS/bZ+1RETx51tRSe2ixxDUp/wg2HwBeyY9kwzbFlcaTCoa83OSjeH0WgYM?=
 =?us-ascii?Q?jhoTDHXwpX0K36v/8jS6nx08KG8o57sXpDIHgouykJhd4D0yyFzfhtRM3OJP?=
 =?us-ascii?Q?fTNSzyp2vj4SdJ3l1mAlJNGNG5mlJgUx8piaUQcHGGfPpkP13O/UsQx29lLu?=
 =?us-ascii?Q?MALXVQI1IuyO78zLQngM1rLfqMA+w8EbVuwq78ezilvyh9yBz2iVv2erdgc5?=
 =?us-ascii?Q?NLS0FuxPop4G4S6i9t/7cq7SvufAgFSLL07ud5PJSV+v76u/M8pveq2pxKDa?=
 =?us-ascii?Q?m5gZEHkIJ0NJISb6qKyXXall1zi+gYvay39IJWznKnBArp+M0O+ctqO+Nbu7?=
 =?us-ascii?Q?cQbZ5zLeipTN6BM0QwmAIWI5MxFzeBLOnad1YptC3rmGzEoXIXv5rcPLpsoj?=
 =?us-ascii?Q?QVzBRaulIYiq9SeSP67aWCK4xvUt0qJnD0LpgKmyZ1kns/x5AW7aHQA5AFOv?=
 =?us-ascii?Q?pSs6bPINMKGcgoAq9c3irsvffKDeEs4lNBPkXY+tCBJbz6iCK+iyRqWu0BKH?=
 =?us-ascii?Q?JZoPYAsm47Xg03oOrJxwJip5YWQZV+aT0dKf1XyIyYxzmuxGUe2rS97hP+um?=
 =?us-ascii?Q?mbscISou8zzhpcVLDvkkzrvUXxDtPKnA/SqL5B3urTpc6hsoPwKou/R1pkMJ?=
 =?us-ascii?Q?koaNv3nKRQTEvybom2zuVsqKsDFN17HE3W8lePzOSFpYe7ltzOrD/Vr0U+TM?=
 =?us-ascii?Q?k4tq5cIkLz1LIsJ0erHAn43VTzDNE7jy2lfqPqMJTr64e8VoRJM7bMu5L5HD?=
 =?us-ascii?Q?RpSjOmT9+IaynhW18pnSCsAYJFNhqaOuGVreaoZ9ORThvPtUkNC+4vXgD+tg?=
 =?us-ascii?Q?3e9wuRvKX2Zo6HiEwfZqGc9vnl7t9PtKnOgfTke+PX4ZdSq86Jc4kEV7gZVV?=
 =?us-ascii?Q?CbF7uTxDHet251uUdctKQHkbheMO/Ah6bZbu8wLU/lDnmbz4Eyg74crcIV5M?=
 =?us-ascii?Q?Rcp1ZdXVqA22U4NF2aAqsPaPqIb2jsn3pmUPZ16mnIpQi7F6UFbmboGWVc9d?=
 =?us-ascii?Q?AGsa3WX0b4UdkKyCWcs/oOVct+kQFT/PLdc1GfGdEess5f1QEdjDbm+poZwG?=
 =?us-ascii?Q?STOWWUfeQrHUdKvQkEphrRyDsYClykTYxrsHV006hTxTF6CpGOqKcmBjay8O?=
 =?us-ascii?Q?2cJNupo9VPAkiV8pcorJoft8B3sl25Vtlj0WCl31V8TZjq6kbeX6xPK4a4Rw?=
 =?us-ascii?Q?Pl30wUnNinp91pxHxXArH3lNZEGb09IZfpbjfEZhHgq2QGwJXYJaNXu46r5A?=
 =?us-ascii?Q?YL0fvxb0S6Wd7MuHPz9ao9gcY38vmFsoNVAPhoTWBoTjqewXzkUlOUHIqG1L?=
 =?us-ascii?Q?U4pyCg5kcOJ93wwBcT//AOGBAXxnW3v6Dxut1liqFv9eRkpthRvlrNU3Ufu5?=
 =?us-ascii?Q?mWeXmk+8E+GHXjLVIZO4katoJKWnstV7WQs4opW/yribBR0vy0AfHz1hQI9i?=
 =?us-ascii?Q?KidLDtJAm6dRaJ3zMUlz/iU0WnhSZehtjga5P0qGMCu4zeHEeX0fFn4HVE59?=
 =?us-ascii?Q?Fv5Ck3VKm6hPZtoVFKLn4MM=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 44a4d4ed-9dbc-4979-763e-08d9da8c6c3b
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 14:11:29.8657
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OVneu/pEagV7Mst5tDtlgjEea3lXthplyY5hrFY8srqRCV6HSuR+lzQXz6Y1aZuVFt9InKyy5HHY8ipylbOzXQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4173

On 18.01.2022 11:48, Roger Pau Monn=C3=A9 wrote:
> On Mon, Sep 06, 2021 at 03:02:12PM +0200, Jan Beulich wrote:
>> From: Chen Yu <yu.c.chen@intel.com>
>>
>> Because cpuidle assumes worst-case C-state parameters, PC6 parameters
>> are used for describing C6, which is worst-case for requesting CC6.
>> When PC6 is enabled, this is appropriate. But if PC6 is disabled
>> in the BIOS, the exit latency and target residency should be adjusted
>> accordingly.
>>
>> Exit latency:
>> Previously the C6 exit latency was measured as the PC6 exit latency.
>> With PC6 disabled, the C6 exit latency should be the one of CC6.
>>
>> Target residency:
>> With PC6 disabled, the idle duration within [CC6, PC6) would make the
>> idle governor choose C1E over C6. This would cause low energy-efficiency=
.
>> We should lower the bar to request C6 when PC6 is disabled.
>>
>> To fill this gap, check if PC6 is disabled in the BIOS in the
>> MSR_PKG_CST_CONFIG_CONTROL(0xe2) register. If so, use the CC6 exit laten=
cy
>> for C6 and set target_residency to 3 times of the new exit latency. [Thi=
s
>> is consistent with how intel_idle driver uses _CST to calculate the
>> target_residency.] As a result, the OS would be more likely to choose C6
>> over C1E when PC6 is disabled, which is reasonable, because if C6 is
>> enabled, it implies that the user cares about energy, so choosing C6 mor=
e
>> frequently makes sense.
>>
>> The new CC6 exit latency of 92us was measured with wult[1] on SKX via NI=
C
>> wakeup as the 99.99th percentile. Also CLX and CPX both have the same CP=
U
>> model number as SkX, but their CC6 exit latencies are similar to the SKX
>> one, 96us and 89us respectively, so reuse the SKX value for them.
>>
>> There is a concern that it might be better to use a more generic approac=
h
>> instead of optimizing every platform. However, if the required code
>> complexity and different PC6 bit interpretation on different platforms
>> are taken into account, tuning the code per platform seems to be an
>> acceptable tradeoff.
>>
>> Link: https://nam04.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%=
2Fintel.github.io%2Fwult%2F&amp;data=3D04%7C01%7Croger.pau%40citrix.com%7Cc=
df115e71eb14429868408d97136a902%7C335836de42ef43a2b145348c2ee9ca5b%7C0%7C0%=
7C637665301851513469%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2=
luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=3DD9sIoe%2BFAvia3OuRs=
T19VAxkTqrlnPHnKqTSKiW6pRM%3D&amp;reserved=3D0 # [1]
>> Suggested-by: Len Brown <len.brown@intel.com>
>> Signed-off-by: Chen Yu <yu.c.chen@intel.com>
>> Reviewed-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
>> [ rjw: Subject and changelog edits ]
>> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>> [Linux commit: 64233338499126c5c31e07165735ab5441c7e45a]
>>
>> Pull in Linux'es MSR_PKG_CST_CONFIG_CONTROL. Alongside the dropping of
>> "const" from skx_cstates[] add __read_mostly, and extend that to other
>> similar non-const tables.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>=20
> Acked-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>

Thanks.

>> @@ -1161,6 +1161,36 @@ static void __init sklh_idle_state_table
>>  }
>> =20
>>  /*
>> + * skx_idle_state_table_update - Adjust the Sky Lake/Cascade Lake
>> + * idle states table.
>> + */
>> +static void __init skx_idle_state_table_update(void)
>> +{
>> +	unsigned long long msr;
>> +
>> +	rdmsrl(MSR_PKG_CST_CONFIG_CONTROL, msr);
>> +
>> +	/*
>> +	 * 000b: C0/C1 (no package C-state support)
>> +	 * 001b: C2
>> +	 * 010b: C6 (non-retention)
>> +	 * 011b: C6 (retention)
>> +	 * 111b: No Package C state limits.
>> +	 */
>> +	if ((msr & 0x7) < 2) {
>=20
> I wouldn't mind adding this mask field to msr-index.h.

This wouldn't buy us much since - as per the original Linux change - the
manifest constant then still wouldn't be used here.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 14:16:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 14:16:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258544.445359 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9pHW-0001xL-PR; Tue, 18 Jan 2022 14:16:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258544.445359; Tue, 18 Jan 2022 14:16: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 1n9pHW-0001xE-MO; Tue, 18 Jan 2022 14:16:18 +0000
Received: by outflank-mailman (input) for mailman id 258544;
 Tue, 18 Jan 2022 14:16:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aElt=SC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9pHV-0001x8-5O
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 14:16:17 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 32a96cb9-7869-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 15:16:16 +0100 (CET)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2055.outbound.protection.outlook.com [104.47.12.55]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-29--l--WyWiN3-AD8BFedjpxA-1; Tue, 18 Jan 2022 15:16:14 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM0PR04MB4020.eurprd04.prod.outlook.com (2603:10a6:208:56::29)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.9; Tue, 18 Jan
 2022 14:16:12 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.014; Tue, 18 Jan 2022
 14:16:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 32a96cb9-7869-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642515375;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=edV45wDljfcuoSROdpoGxbHpCv+TOxhJ1sQVVID205A=;
	b=LrVQwGBAcC9/gNg26u6lER0pNGfBMUgzfexEUys2fZL7/tRFTS/WkFe8O7QQvBQSDKhGRM
	2i8+BSY71/a9S7WO+0fJsblzkgtVkD99pmchgYIHkbMmV1TWag/G4FQmICOCPjMZbnUazM
	SUm8RyKc06SbP8cDSztAqu+96lePOrE=
X-MC-Unique: -l--WyWiN3-AD8BFedjpxA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bd6H6feR8OWuMxGPLAkMPWemuQlDB95Vy9JrcwyOSS+MCXNSpV05rCJg3DxPyueRzBFx2bZAsAqtit9fcNxBBzTwo5mKYtE7ANBQq4a/Q9AdMJDJT4O+ie+yChLLy+lKqf2/SBvPbJBK5nhVSKaQ3z4ZhQBKo7mNyHBhJbPkoXbT5erFAze749nSSGmJUPll7PivRjeHAIP7zPAa6Af8U2HQLeDjjNuOGBpCVc6+TEbzsnnfh0dO2F530jV8DkwBflX8W+tw65kO2wTyOaLVdaC87EGlUh642r7C4FtFziTW7RQR6SmmDvMxsUe6o5mN/vSiN/kn+/gKgSTr+uG+4Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZEi+ZCD2UgLOFL2wrufm4kKuZwhdggncBRl3JRhZrU8=;
 b=gmy8RVQmKs+VtN/PQZ7Y2i2SdK+L960Vv1KLU7PUW9P+PD8jB/8+JEMt9k2oMtMOaJODXSnHApfBoYQ3p21wXJqHzmb72OEt9vsnd1t3/2PydCjyO+wC6QQATsLGoX5GbpsbwMieaoBpkp4R65r83ycK41Hc8Db10Zkf/zd66aXVyZf0ZwkGYaB1msfJDVCB6Wbamdgo6RCCPLOMhFEodK5apVd7UEdH+VWq6JCvfggvzch16cEjlwUDzo6V6KekygV+ukfh0jvirvRl6yyvC+0ybv7Gn1ILwUUaM7ZexM3FlthlOqK/AEMKtUUaItjlGnr8lAK+XCab7ygz122KAw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <fd328410-caf0-274e-08b0-f775a6c9a08c@suse.com>
Date: Tue, 18 Jan 2022 15:16:11 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 04/37] xen: introduce an arch helper for default dma zone
 status
Content-Language: en-US
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: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-5-wei.chen@arm.com>
 <345944c4-78dd-8009-6f64-f9c7901a5497@suse.com>
 <PAXPR08MB7420CD3B7CFB4D2D81019F479E589@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <378fcc9b-abfe-28f2-ee67-f5510e99436c@suse.com>
 <PAXPR08MB7420FE209E822108AB1B41E19E589@PAXPR08MB7420.eurprd08.prod.outlook.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <PAXPR08MB7420FE209E822108AB1B41E19E589@PAXPR08MB7420.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS9PR06CA0043.eurprd06.prod.outlook.com
 (2603:10a6:20b:463::19) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 03ef1c36-a33f-4a25-d9e7-08d9da8d14e0
X-MS-TrafficTypeDiagnostic: AM0PR04MB4020:EE_
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB402002C6DAFE5ACABBE45C3DB3589@AM0PR04MB4020.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:
	IFOa9KALDIcwKKH85sPMWivb7DVlpEC9JQj1dagQ+Z95f5p93t97ozNHumZqowAqor5YIhUY+f00EEQh3IdK6Lo2IPu7OOyKWcLMLiFMUFqMu8zqWW2kIvKqC5rcUgHKcednaR6umRGbyn1y8ziWltt12ZF0IA8FbApQLZ4viyxXtPKRCrTNOdMjmk3TwADsBnDSEsUwSgkyFx5pE4e9EIA3pt8YDJ/OutefyO6Na3vykMFMR7JeUqnPWTW5lLnizTQaXAiH9ISVCdqtcOtuaf8e4Le0XlbPJTMV+h4M1959OLaR/K8QqsDQxY5E9Tils02lpEwbOr1EN8A+9fGHSoY92f/mivRf2ym7/j3TlwRTnJyaX/2SeQ4W/8vywrTIHIKYLuywGogKcuF4RJstXu7zpJP6FXCewju8fyOrDzQvMzRzoEOcxpxpFxbl3EXeU7KwTODFGtgIhGHerI6QBj4/B3R5T0lps2YU4kKGjOgc64PJVMU6nPEIpqHOTPykKbfZTQnqIpf9VNBeqlOxXovLddOqWgxjZ2dwnxOfMaLNWPh3i4cObQnBRkJu1BWpxy2MWZpOL/PFgWe+z+uysAlL8YjNlUKVaiXumIJLKdrlZSJ/MI23tNwtTN3+bMeO4Ge69J0e26448Jyki8ByAxefrmbgB5mCs2/brGlTBSyg337OGDGSfXORT0CLfbiMgbt6YUudJY/7OlpK/1ABaVcAR2y4Mr0NxeSVDwWxf64=
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)(83380400001)(66946007)(36756003)(66556008)(86362001)(66476007)(31686004)(6916009)(53546011)(2616005)(8676002)(8936002)(5660300002)(38100700002)(6506007)(6512007)(6486002)(54906003)(316002)(26005)(31696002)(2906002)(508600001)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?MwR0GSbDnUxK7mqLYsnmE1qHyoPzlIgPpUsJCXNuPUuHdGE/H3sjrrz/7eGg?=
 =?us-ascii?Q?Lk+np70Npx4EfzQ9QhjM00ABWxArXX4a2RA8w/s/+Ef7ifCdfyohNMkU/TPi?=
 =?us-ascii?Q?8gJwgs2XZnKeCwLCdqoPGDVTVkEl6NdooaJMtGm37HWzHOd6Tk/u9lV0Sbq9?=
 =?us-ascii?Q?xTOgDKrjSyhhmOt9Kh7jONpZLNH9kY3PU9UaQntEVvhjoBO9u/Wybwozuxti?=
 =?us-ascii?Q?aZZj9VG8gDzbLRVGKZ9YhApX1c06YO7rtFUV+nXQvgjRfVkKYDPaiS5LZr8P?=
 =?us-ascii?Q?qHLg7FJpqDX3ut2J7bzf37Il4RCbbvRya5i440La8yDe5FeHRHDgTjwHshY7?=
 =?us-ascii?Q?a7YNl8YiCEzOmXxUy4MO6mmn2wF7V+/GcyXySg8jzbDrqDRWyqW8FcIElw/e?=
 =?us-ascii?Q?Tu/n3w289xSSbwVM5QF4wdDDhHGHXT1K21Kyy5MfC8rT2a/b2TD3qCfvQgRP?=
 =?us-ascii?Q?I63DcXTL/X6k2MkVenx1fkZCFI0Hcr06XUMA5z3qzT3SEM4mX7+sPFK8EeYQ?=
 =?us-ascii?Q?nQ4jm12LdADEvczH7LXCG5W+A0KicLOsUmRRvcWruo2al+b3cg6lhFIxEzzw?=
 =?us-ascii?Q?8sHb8tloyVvVLFEmTXSQKmIUnwmexZFoe/7pSK8pQSy4FUuir6ZHWFK4g8VI?=
 =?us-ascii?Q?HFSqxGkzwm6Ya9QlBcpT17V5jSbbTV9tbwxZUVmk+IF28ThFpdth/rO9xf8k?=
 =?us-ascii?Q?WEBaeRK2yLMSE9NyiBznylt875WqRixSQgR5H8M7kwkkVhQUghA1BGE9LN9T?=
 =?us-ascii?Q?obAVnzM0vZNckrN/H31fgS4Qbrani5BR0CAQDVn+UQ8RZrsGpo5+aakC7n8Z?=
 =?us-ascii?Q?eHuj/ytYaYvFI76zxYIxcqcP1YSR8qj82ji/LmdbIqYYDtb4hBhQQYTSSyCA?=
 =?us-ascii?Q?K4Vunlwyu8gJgmm4d/DlfgqsmjfmHmtUN/7i9OHl7AGsoDWzy/ineEwMcylO?=
 =?us-ascii?Q?Q3MX4OvXwY8mHqma5rmLXghurQw5+RlVdIVxmb4DOYRnwJvOMoaP0v8qEAmI?=
 =?us-ascii?Q?CxFIX225/eDW3ahq/TyDCSrPDPGKODnMowSFcgu40W3NZ+WM1DAm1t7VnPo3?=
 =?us-ascii?Q?4y5o12LxG1tcORfj6GYP9Bn2SMTieKMMcCzpEogM1lniKuX632+A9vN52eAe?=
 =?us-ascii?Q?riWGYtitmWAg2p52Uf3UpEK7rLgA3b/xXukda9Elxwgxxe//PyJXwjx//ly/?=
 =?us-ascii?Q?Sjl2Q79UByEdu4qXwkKd1CpNOiUx1YfENsMR3sSPUTHIpLO9+Y8j6x3srSR2?=
 =?us-ascii?Q?jBUnFUhTOz26Ar6oVJj0RmmFmvXMUIqbHMn1IE+wlpi+/bcsNHmGlYs4rVHS?=
 =?us-ascii?Q?yGD/PrYEmmMxWgLZSmD0f4xihv4uzI/33x8yeIVGS3CVr+bF8iMHsZxmIU06?=
 =?us-ascii?Q?jjkNiS6E/hfJKYPsLgF+rKodarK6ad1away634Jh5wn55LKMnypnWXugld1K?=
 =?us-ascii?Q?GJImZyAmFf1Bf9ANPSNmL2kmCfQoGM0KJenVSHdzdfGQjwcyRgBugoqB6nVv?=
 =?us-ascii?Q?+MRhHtRnKxob8AcnJKKuHwNeT3jNQzNrEnI+FAi+uPnBrA3V/ecyxz0D7nii?=
 =?us-ascii?Q?BmHOaMdMAi7awzNAn5RErHmrkhkMsEh8oRsWAur4ij8c/XVJfsnC6y7d0Z9Q?=
 =?us-ascii?Q?tyrkXbdk1eTQBkrD9Rwmzx8=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 03ef1c36-a33f-4a25-d9e7-08d9da8d14e0
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 14:16:12.6479
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7/9/Z/cvkcsPLA4J/KVXasD7PjfW6lqU3ufa3mooYSoa57/HcH39oJwmwvcyhrHzM2eSKxrJl3ScEPv8Px90Nw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4020

On 18.01.2022 10:20, Wei Chen wrote:
>> From: Jan Beulich <jbeulich@suse.com>
>> Sent: 2022=E5=B9=B41=E6=9C=8818=E6=97=A5 16:16
>>
>> On 18.01.2022 08:51, Wei Chen wrote:
>>>> From: Jan Beulich <jbeulich@suse.com>
>>>> Sent: 2022=E5=B9=B41=E6=9C=8818=E6=97=A5 0:11
>>>> On 23.09.2021 14:02, Wei Chen wrote:
>>>>> In current code, when Xen is running in a multiple nodes NUMA
>>>>> system, it will set dma_bitsize in end_boot_allocator to reserve
>>>>> some low address memory for DMA.
>>>>>
>>>>> There are some x86 implications in current implementation. Becuase
>>>>> on x86, memory starts from 0. On a multiple nodes NUMA system, if
>>>>> a single node contains the majority or all of the DMA memory. x86
>>>>> prefer to give out memory from non-local allocations rather than
>>>>> exhausting the DMA memory ranges. Hence x86 use dma_bitsize to set
>>>>> aside some largely arbitrary amount memory for DMA memory ranges.
>>>>> The allocations from these memory ranges would happen only after
>>>>> exhausting all other nodes' memory.
>>>>>
>>>>> But the implications are not shared across all architectures. For
>>>>> example, Arm doesn't have these implications. So in this patch, we
>>>>> introduce an arch_have_default_dmazone helper for arch to determine
>>>>> that it need to set dma_bitsize for reserve DMA allocations or not.
>>>>
>>>> How would Arm guarantee availability of memory below a certain
>>>> boundary for limited-capability devices? Or is there no need
>>>> because there's an assumption that I/O for such devices would
>>>> always pass through an IOMMU, lifting address size restrictions?
>>>> (I guess in a !PV build on x86 we could also get rid of such a
>>>> reservation.)
>>>
>>> On Arm, we still can have some devices with limited DMA capability.
>>> And we also don't force all such devices to use IOMMU. This devices
>>> will affect the dma_bitsize. Like RPi platform, it sets its dma_bitsize
>>> to 30. But in multiple NUMA nodes system, Arm doesn't have a default
>>> DMA zone. Multiple nodes is not a constraint on dma_bitsize. And some
>>> previous discussions are placed here [1].
>>
>> I'm afraid that doesn't give me more clues. For example, in the mail
>> being replied to there I find "That means, only first 4GB memory can
>> be used for DMA." Yet that's not an implication from setting
>> dma_bitsize. DMA is fine to occur to any address. The special address
>> range is being held back in case in particular Dom0 is in need of such
>> a range to perform I/O to _some_ devices.
>=20
> I am sorry that my last reply hasn't given you more clues. On Arm, only
> Dom0 can have DMA without IOMMU. So when we allocate memory for Dom0,
> we're trying to allocate memory under 4GB or in the range of dma_bitsize
> indicated. I think these operations meet your above Dom0 special address
> range description. As we have already allocated memory for DMA, so I
> think we don't need a DMA zone in page allocation. I am not sure is that
> answers your earlier question?

I view all of this as flawed, or as a workaround at best. Xen shouldn't
make assumptions on what Dom0 may need. Instead Dom0 should make
arrangements such that it can do I/O to/from all devices of interest.
This may involve arranging for address restricted buffers. And for this
to be possible, Xen would need to have available some suitable memory.
I understand this is complicated by the fact that despite being HVM-like,
due to the lack of an IOMMU in front of certain devices address
restrictions on Dom0 address space alone (i.e. without any Xen
involvement) won't help ...

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 14:21:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 14:21:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258547.445370 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9pME-0003R1-IA; Tue, 18 Jan 2022 14:21:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258547.445370; Tue, 18 Jan 2022 14: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 1n9pME-0003Qu-F2; Tue, 18 Jan 2022 14:21:10 +0000
Received: by outflank-mailman (input) for mailman id 258547;
 Tue, 18 Jan 2022 14:21:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=tdM9=SC=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n9pMC-0003Qo-AB
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 14:21:08 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id df60f8f3-7869-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 15:21:06 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 64434212B9;
 Tue, 18 Jan 2022 14:21:05 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 1A3F813AAD;
 Tue, 18 Jan 2022 14:21:05 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id FKkXBdHM5mEROwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 18 Jan 2022 14: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: df60f8f3-7869-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642515665; h=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=y8mU3P7cNOu8GPigvqeeGPam6gyJRsQM2Giy0P8gEK4=;
	b=tkBSeNKC61ghN4GIQnZkAZoEHaXgklVRnYRqQuZJrjmBKW+7u/TWMJlJJAdCc1iJWZTSl4
	z5LieIU1ROIKSO93EaLKLTKgHErOaKCvUIZWAjYNukeGmJ6h4nZrkfFhSNoNhjvFXGElSZ
	wQRyB3qP9JI/jy+xbcxI9weNh5uv6kU=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH] config: use more recent mini-os commit
Date: Tue, 18 Jan 2022 15:21:02 +0100
Message-Id: <20220118142102.22796-1-jgross@suse.com>
X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In order to be able to use the recent Mini-OS features switch to the
most recent commit.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 Config.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Config.mk b/Config.mk
index 1c1998a5a8..5c8c737fe4 100644
--- a/Config.mk
+++ b/Config.mk
@@ -231,7 +231,7 @@ MINIOS_UPSTREAM_URL ?= git://xenbits.xen.org/mini-os.git
 endif
 OVMF_UPSTREAM_REVISION ?= 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5
 QEMU_UPSTREAM_REVISION ?= master
-MINIOS_UPSTREAM_REVISION ?= 9f09744aa3e5982a083ecf8e9cd2123f477081f9
+MINIOS_UPSTREAM_REVISION ?= a91161eb0f92dac4ad6d41f91117268bc23ef28d
 
 SEABIOS_UPSTREAM_REVISION ?= rel-1.14.0
 
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 14:26:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 14:26:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258555.445401 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9pRd-0004JD-EX; Tue, 18 Jan 2022 14:26:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258555.445401; Tue, 18 Jan 2022 14:26:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9pRd-0004J6-BD; Tue, 18 Jan 2022 14:26:45 +0000
Received: by outflank-mailman (input) for mailman id 258555;
 Tue, 18 Jan 2022 14:26:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aElt=SC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9pRc-0004J0-5L
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 14:26:44 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a8480e74-786a-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 15:26:42 +0100 (CET)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2057.outbound.protection.outlook.com [104.47.2.57]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-40-moJH_iqqNd-HxMATo5IGcA-1; Tue, 18 Jan 2022 15:26:41 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM5PR04MB3202.eurprd04.prod.outlook.com (2603:10a6:206:8::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.9; Tue, 18 Jan
 2022 14:26:38 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.014; Tue, 18 Jan 2022
 14:26:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a8480e74-786a-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642516002;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=RWC3okJsKmTqW49xrdoEpCW2bgXyfiNuxpHL7Kvq3k4=;
	b=VEJgJ7to6Vla5tYEjN8McNWbfan5DaK1kJaZc6g8FiFLJztmqQ3HvXkIM2M9qAGmV+lYMD
	hbNpv6wCa8RpvTbn2r0ijiSjt/NoPtVY2LNcz51HE7LyGwUcSBtUyzrdpjMV42rcffKVqw
	qWV4SFolK0Q35RGqjPL6A30u9CiBME0=
X-MC-Unique: moJH_iqqNd-HxMATo5IGcA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iDcXwyUVCwnUP8GZ9vYt/NXr+cbuv1fVtYBzuQtV8WQ2VNe3O2G2MxhunK5Zn0ze+hnvZhvNT4AHQV9/xdXCKODsYUDocDIWbKDt61cmbozXIXprYctlULeRuA45CURLGiGk5X2zKOh/Jp4ysCPlktTyZ3fsLC9FTOu7HSMeUI0qdbq2Snna0UN9VTxP5nT+XWfuVOZTAaXTgbtsxobXvP4rmXslpYqrD8/uYrPpbaOVKIEOlUUCSb9abm8DnK6138qobv0H19vNvCUEcLP78YIgMLyz40V3wnpRvkwbM/5IrMxHCvAnQfE5kozhp+vMBcSF8n3f5aGdNfP6kOo7Eg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LSw8brPdtKgdAQpTO47YYQG7Ao7t2Fjiv+gR2rCJHqk=;
 b=fj1PRS42sBlKlrLBlw+QjKJ95PE+tXxYKQYr6ZwAfSWkfy1sYy66t1ZazkFKh0jJ1iHX6+eJEHO8MYjOdfV5igtfdzZRIo7HpDVgfvM1CCMLn4E9ZH5kuuzVNWoL8ckiLepfARPVlQuTmorcCTWWMu9ave65l5jQGsbjMWx2BTD6BUnoXooKnbVbDlkWdmLRDHktkCWB1O+iE2511due2O7Ry1crjb/VXQl60j0ckvQARpv13S4doGCeiitCkgDrK0szpwVKKRhfOZUB6Ie1pyzC3hkJasOyqfniyDKzd6/DURbTyGzYtN+RcmH6AyVorm3UbsKjq/u5LcmAj6Q4mQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1bc72631-6d76-d25c-bbab-6a7ae6f8260d@suse.com>
Date: Tue, 18 Jan 2022 15:26:36 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH] x86/time: further improve TSC / CPU freq calibration
 accuracy
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
References: <6c50c7b6-e521-e34f-1808-a4e2961b807e@suse.com>
 <Yea2XRrFn7qCIx/h@Air-de-Roger>
 <4bc4e379-fc9c-581a-3b03-9025e9fd92cc@suse.com>
 <YebJPd62a7rB+KTw@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YebJPd62a7rB+KTw@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS9P194CA0025.EURP194.PROD.OUTLOOK.COM
 (2603:10a6:20b:46d::15) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5dd5afdd-d7a8-4491-bb5e-08d9da8e896d
X-MS-TrafficTypeDiagnostic: AM5PR04MB3202:EE_
X-Microsoft-Antispam-PRVS:
	<AM5PR04MB32023D789208992BD20F9A72B3589@AM5PR04MB3202.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:
	mT8E4ufYZHjifFACBNNNVTQ+Jd+k41NZX2FxJeYWQiluK48xJH6LFxWipOgH6bZWU8x4VSytEHAUe4Iv2tsSo8oA/DZpVDk1FQcNAUJoOd39zQFAIlKq7XVgjBQbuv373KCFZV6Wv/VJxWlzIrNBBI27Lf9ePGMabuuEACKdt+XCP6cBxMMdX8yOVJ/idpd8NLuEsA0jJ9APyD47VBHrY4rkwgwJArAwPGYhJ/S4/YHYHSOiphEtmoiCSaT5OR4A0/jpDUV0iaS8iaJpXJC5nngr7++UOEp0jm7mnjIZWNtxKt2LjY/+rykA4Vo6vSg/3trNKlmEKePymqZi0It6LS9mLaCZh0/NHMhHaoBBHLIimKeP0WVyQiwMEpzLGRFkf03heGdrYiqXnMTLto+Un5h4DuaxMAasuWfIDyCNrXhT4O8RnpURA9VpoyWlW8Voz3BlnCd8mEjWzcaZFTgSKbn/BGWTEj4H92tmLobMZwedilksW5YhEoEQhr3XmECSNMWLEDitl4543CA91EzcPrgIEb4Xm5a78PD1/w5J1VGThN8m12zlESa0jACsScQ3oXxdBFXyB5K8kdJ74E4uZrfGYGvGbUaPj8FcwFUCn1wFsba0WOj8E+V+vbj/vVU1oDmHzy3d4aLdTxTufwmj9hDyg6cuiiOY+SchQNH9Mv/pQYaiWDXtFfUYTSxekHpC9LJuDX9p+d7SlLN0cV/9nF1iKYyQgPO1+vN/yOYsm0o=
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)(6512007)(6486002)(508600001)(6916009)(54906003)(186003)(316002)(31686004)(8676002)(38100700002)(66556008)(2616005)(5660300002)(4326008)(66946007)(36756003)(53546011)(31696002)(6506007)(2906002)(86362001)(8936002)(66476007)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?/F3qvM8lQNr/edWI1HYOV44mRGrPjktxto86Fq/Q2glAypNQyuNrWeZZdlhB?=
 =?us-ascii?Q?fiQHOVZ3rqzKJ8ilAO9tFAeCfJJxLc+VK3CK9CptOX31sSjK8RlJkCxXgX9z?=
 =?us-ascii?Q?+F8BrgqDssoVBgshwWc83+3Fp7kvDa0BYXz5NKstrFsnAjbCjKqBROgLKVCm?=
 =?us-ascii?Q?6ZAxfE0hxgTMLcfO3z/2ch1TXMwLY4juyq1Q2uILwT5aSS8F4xP9tbI09JVT?=
 =?us-ascii?Q?cHQQdpsq83eujffF4ciF5Q/PXaMNeRfYfSBRHncuQwyW5EoIZwjW67BR0JB2?=
 =?us-ascii?Q?Q9Ou3pC48GKpq6mmfThhU+Yertrd5LXrqFlkDJkrtBgbzTg/QiStH+wk/Nb5?=
 =?us-ascii?Q?r1BGCJ92Lj1eAx1mVmemZUreVjGPTO39KaBfc8e4IvoM+OE/kMuKy2gsm8rQ?=
 =?us-ascii?Q?+1ZM4gVOr2x5X+Hhef+vTlOblDcgqW8CBA9lTGBUJubneHuA2KYiIXthAWsj?=
 =?us-ascii?Q?3J0DV9gjOXHXZrKl16mfbivSbvLRK8n73/uvYP2t8/ph8rTWrsLk5/PXLe4k?=
 =?us-ascii?Q?0Z2uTqnO6xQ63ETl1JFClVrAz+3pSvFA7Oiekzt+WBsDOLhQDVmNjQz441Kr?=
 =?us-ascii?Q?rjHJcTQv7Qc8wJ4854Gx7xZrQTH834B0bUXay6DgjAXbYUsK0Kgtn/LWZjIj?=
 =?us-ascii?Q?gbgbdzjRvcd8aAH24uIr238NJP3dB+z5KgeXWEg3IM4dDqvysNJWtBrd2CBz?=
 =?us-ascii?Q?a2UDyLTn7SAvrZBm1ookOYVKX4tJ+532bF3x8MkqSp2yLXUqioNnzIan5FUo?=
 =?us-ascii?Q?fclyXuRyohczqzTBT+7ekyvsqrTomJ2TDEjdud79N7HtJazwheYjg9u5gV7h?=
 =?us-ascii?Q?Q2d0jiRbUdlshrcQQVnWFrq9Q8mWS96XR9+W3AaB0jDzU8TlQEyZgXCh2p2h?=
 =?us-ascii?Q?opezthQEp15AZbqFen8LHYDTgOvKIdOcHxcnXNl+fgof5IkCuWqlj5sgcokP?=
 =?us-ascii?Q?slJLEtw1iugZfVxv/IqDaDUkjsvgOzJCNM7c6yPbHSh9bNzndaza873qeUIt?=
 =?us-ascii?Q?qPijtV3/7ptc7QX+ZgvzvuQan7Pr1Ign+drtz9GvwHoxQVu4iV5/wg1qwxqZ?=
 =?us-ascii?Q?+uesx6LbjXrR0KFWfv6SKHHFg8TeatVcKzM7DoEkhWcfz14zaUHOmHnFshhB?=
 =?us-ascii?Q?V7Dtj6uQMMCKOOX5qm+deswLjlyDBsy81xD0DvHFWe7mUOi8i6WeVJuisQMp?=
 =?us-ascii?Q?LuCyGEhOPd3viAKg5uaKPNBPoQX7KlvAKvvPTEEjFqDG6m+LiY4ncxeML9Tk?=
 =?us-ascii?Q?nDjT6wciAZJCxPlKmQzgVSiYsELS3Q+T+MKaCbPRfzL4TYt6T/qKjbev+EwO?=
 =?us-ascii?Q?y1vgBAdXGYeqX8YWQvzcpTGF66yUQExknY+2jGOTL1jgt1VjJ9S3IjriluXy?=
 =?us-ascii?Q?YS3X7IxaspGTcfDHRvad7s2Lhqape1T6ragZhufeeYzRxz8E19hUtwJw+PIV?=
 =?us-ascii?Q?siUHPvkV77AKfKZXTXUe9twc3zv+kt8UaZrdpeJgmdB/36Tiq7cn7q1SDbH8?=
 =?us-ascii?Q?uKh+sQug0zvbRByPurRHIAt6RSv/fEYFWIiZYu7UxvoqNH8G8gRdzw8LEzWG?=
 =?us-ascii?Q?zbrtC1xzO8AHEAjSix2miLZ5flwDC4+GZeN53xLnQAqWntoNnx5UUtR+HT8S?=
 =?us-ascii?Q?qVlbcj1nbSJP2NKJvsAxMmI=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5dd5afdd-d7a8-4491-bb5e-08d9da8e896d
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 14:26:37.7465
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: S69shqZ6LasrmQyIFi3LCd5+8TSEwXJkxq7tV0e+ekMeOuGi8z1/yG878o1j5QoSAY7rVbgDYkt0f7FNpjE8eQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR04MB3202

On 18.01.2022 15:05, Roger Pau Monn=C3=A9 wrote:
> On Tue, Jan 18, 2022 at 02:39:03PM +0100, Jan Beulich wrote:
>> On 18.01.2022 13:45, Roger Pau Monn=C3=A9 wrote:
>>> On Thu, Jan 13, 2022 at 02:41:31PM +0100, Jan Beulich wrote:
>>>> Calibration logic assumes that the platform timer (HPET or ACPI PM
>>>> timer) and the TSC are read at about the same time. This assumption ma=
y
>>>> not hold when a long latency event (e.g. SMI or NMI) occurs between th=
e
>>>> two reads. Reduce the risk of reading uncorrelated values by doing at
>>>> least four pairs of reads, using the tuple where the delta between the
>>>> enclosing TSC reads was smallest. From the fourth iteration onwards ba=
il
>>>> if the new TSC delta isn't better (smaller) than the best earlier one.
>>>
>>> Do you have some measurements as to whether this makes the frequency
>>> detection any more accurate?
>>
>> In the normal case (no SMI or alike) I haven't observed any further
>> improvement on top of the earlier patch.
>>
>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>> ---
>>>> Obviously (I think) instead of having both read_{hpet,pmtmr}_and_tsc()
>>>> the calibration logic could be folded between HPET and PMTMR, at the
>>>
>>> As an intermediate solution you could have a read_counter_and_tsc I
>>> would think?
>>
>> Not sure in which way you view this as "intermediate".
>=20
> As in not unifying both calibration logic into a single function, but
> rather just use a generic function to read the counter and TSC.
>=20
> With your original remark I assumed that you wanted to unify all the
> calibration code in init_hpet and init_pmtimer into a generic
> function, but maybe I've misunderstood.

Oh, I see. I have to admit that I see little value (at this point) to
break out just the pair-read logic. While I did say we have similar
issues elsewhere, my initial analysis has left me with the impression
that those other cases are sufficiently different for such a helper to
be of no use there.

>>>> expense of a couple more indirect calls (which may not be that much of=
 a
>>>> problem as this is all boot-time only). Really such folding would have
>>>> been possible already before, just that the amount of duplicate code
>>>> hasn't been this large so far. IOW if so desired, then perhaps the
>>>> folding should be a separate prereq patch.
>>>
>>> You could even pass a platform_timesource as a parameter to that
>>> generic read counter and TSC helper.
>>
>> This was the plan, yes, in case I was asked to follow that route (or
>> if I decided myself that I'd prefer that significantly over the
>> redundancy).
>=20
> I think having a generic read_counter_and_tsc would be better than
> having read_{hpet,pmtmr}_and_tsc.
>=20
>>
>>>> --- a/xen/arch/x86/time.c
>>>> +++ b/xen/arch/x86/time.c
>>>> @@ -392,9 +392,36 @@ static u64 read_hpet_count(void)
>>>>      return hpet_read32(HPET_COUNTER);
>>>>  }
>>>> =20
>>>> +static uint32_t __init read_hpet_and_tsc(uint64_t *tsc)
>>>> +{
>>>> +    uint64_t tsc_prev =3D *tsc =3D rdtsc_ordered(), tsc_min =3D ~0;
>>>> +    uint32_t best =3D best;
>>>> +    unsigned int i;
>>>> +
>>>> +    for ( i =3D 0; ; ++i )
>>>> +    {
>>>> +        uint32_t hpet =3D hpet_read32(HPET_COUNTER);
>>>> +        uint64_t tsc_cur =3D rdtsc_ordered();
>>>> +        uint64_t tsc_delta =3D tsc_cur - tsc_prev;
>>>> +
>>>> +        if ( tsc_delta < tsc_min )
>>>> +        {
>>>> +            tsc_min =3D tsc_delta;
>>>> +            *tsc =3D tsc_cur;
>>>> +            best =3D hpet;
>>>> +        }
>>>> +        else if ( i > 2 )
>>>> +            break;
>>>> +
>>>> +        tsc_prev =3D tsc_cur;
>>>
>>> Would it be better to set tsc_prev to the current TSC value here in
>>> order to minimize the window you are measuring? Or else tsc_delta will
>>> also account for the time in the loop code, and there's more
>>> likeliness from being interrupted?
>>
>> I did consider this (or some variant thereof), but did for the moment
>> conclude that it wouldn't make enough of a difference. If you think
>> it would be meaningfully better that way, I'll switch.
>>
>> Both here and for the aspect above, please express you preference (i.e.
>> not in the form of a question).
>=20
> Let's leave it as-is (just one TSC read per loop iteration).
>=20
>>> I guess being interrupted four times so that all loops are bad is very
>>> unlikely.
>>>
>>> Since this loop could in theory run multiple times, do we need to
>>> check that the counter doesn't overflow? Or else the elapsed counter
>>> value would be miscalculated.
>>
>> I don't think I see any issue with overflow here. It's the callers
>> who need to care about that. And I don't think this function will run
>> for long enough such that a counter would not only wrap, but also
>> reach its initial count again.
>=20
> Right, I haven't expressed myself correctly. It's not overflowing the
> issue, but rather wrapping to the start count value. Limiting the
> iterations to some fixed value (10?) in order to remove that
> possibility completely would be OK for me.

Hmm, I was in fact hoping (and trying) to get away without any arbitrarily
chosen numbers. The loop cannot be infinite in any event ... Please let me
know how strong you feel about putting in place such an arbitrary limit.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 14:29:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 14:29:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258560.445419 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9pTz-00050y-U6; Tue, 18 Jan 2022 14:29:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258560.445419; Tue, 18 Jan 2022 14:29:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9pTz-00050r-Ql; Tue, 18 Jan 2022 14:29:11 +0000
Received: by outflank-mailman (input) for mailman id 258560;
 Tue, 18 Jan 2022 14:29:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1rGk=SC=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n9pTy-0004yn-01
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 14:29:10 +0000
Received: from ppsw-42.csi.cam.ac.uk (ppsw-42.csi.cam.ac.uk [131.111.8.142])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fe802bc6-786a-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 15:29:08 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:48430)
 by ppsw-42.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.138]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n9pTv-0002td-6X (Exim 4.95) (return-path <amc96@srcf.net>);
 Tue, 18 Jan 2022 14:29:07 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id CCE4F1FC87;
 Tue, 18 Jan 2022 14:29:06 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fe802bc6-786a-11ec-a115-11989b9578b4
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <44a8d75f-718c-ce72-4b5e-cd67df6087be@srcf.net>
Date: Tue, 18 Jan 2022 14:29:06 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20220116083328.26524-1-jgross@suse.com>
 <20220116083328.26524-4-jgross@suse.com>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: [MINIOS PATCH v3 03/12] use alloc_file_type() and
 get_file_from_fd() in xs
In-Reply-To: <20220116083328.26524-4-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 16/01/2022 08:33, Juergen Gross wrote:
> diff --git a/lib/xs.c b/lib/xs.c
> index 4af0f960..c12341aa 100644
> --- a/lib/xs.c
> +++ b/lib/xs.c
> @@ -18,23 +18,56 @@ static inline int _xs_fileno(struct xs_handle *h) {
>      return (intptr_t) h;
>  }
>  
> +static int xs_close_fd(struct file *file)
> +{
> +    struct xenbus_event *event, *next;
> +
> +    for (event = file->dev; event; event = next)
> +    {
> +        next = event->next;
> +        free(event);
> +    }
> +
> +    return 0;
> +}
> +
> +static bool xs_can_read(struct file *file)
> +{
> +    return file && file->dev;

Just 'return file->dev;' ?

> @@ -169,18 +202,20 @@ char **xs_directory(struct xs_handle *h, xs_transaction_t t,
>  
>  bool xs_watch(struct xs_handle *h, const char *path, const char *token)
>  {
> -    int fd = _xs_fileno(h);
> +    struct file *file = get_file_from_fd(_xs_fileno(h));
> +
>      printk("xs_watch(%s, %s)\n", path, token);
>      return xs_bool(xenbus_watch_path_token(XBT_NULL, path, token,
> -                   (xenbus_event_queue *)&files[fd].dev));
> +                   (xenbus_event_queue *)&file->dev));

This is utterly mad.  In particular, close() looks to be very racy with
new watches arriving.

However, can the indentation at least be fixed here as the line is
changing.  That's a parameter to xenbus_watch_path_token(), not xs_bool().

> diff --git a/xenbus/xenbus.c b/xenbus/xenbus.c
> index b687678f..785389fb 100644
> --- a/xenbus/xenbus.c
> +++ b/xenbus/xenbus.c
> @@ -393,6 +393,7 @@ static int allocate_xenbus_id(void)
>  void init_xenbus(void)
>  {
>      int err;
> +

Spurious hunk?

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 14:32:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 14:32:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258563.445430 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9pWt-0006Qw-AP; Tue, 18 Jan 2022 14:32:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258563.445430; Tue, 18 Jan 2022 14: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 1n9pWt-0006Qp-70; Tue, 18 Jan 2022 14:32:11 +0000
Received: by outflank-mailman (input) for mailman id 258563;
 Tue, 18 Jan 2022 14:32:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1rGk=SC=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n9pWr-0006Qe-MX
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 14:32:09 +0000
Received: from ppsw-32.csi.cam.ac.uk (ppsw-32.csi.cam.ac.uk [131.111.8.132])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 695fd4dd-786b-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 15:32:08 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:49506)
 by ppsw-32.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.136]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n9pWo-000xQR-1A (Exim 4.95) (return-path <amc96@srcf.net>);
 Tue, 18 Jan 2022 14:32:06 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 1DD101FA12;
 Tue, 18 Jan 2022 14:32:06 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 695fd4dd-786b-11ec-9bbc-9dff3e4ee8c5
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <fe8f11f6-fdcf-f99f-4767-8248c6f0c2cf@srcf.net>
Date: Tue, 18 Jan 2022 14:32:05 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [MINIOS PATCH v3 04/12] use alloc_file_type() and
 get_file_from_fd() in tpm_tis
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20220116083328.26524-1-jgross@suse.com>
 <20220116083328.26524-5-jgross@suse.com>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <20220116083328.26524-5-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 16/01/2022 08:33, Juergen Gross wrote:
> diff --git a/tpm_tis.c b/tpm_tis.c
> index 477f5550..b88ec874 100644
> --- a/tpm_tis.c
> +++ b/tpm_tis.c
> @@ -1093,6 +1097,26 @@ ssize_t tpm_getcap(struct tpm_chip *chip, uint32_t subcap_id, cap_t *cap,
>          return rc;
>  }
>  
> +static void shutdown_tpm_tis(struct tpm_chip *tpm)
> +{
> +    int i;
> +
> +    printk("Shutting down tpm_tis device\n");
> +
> +    iowrite32(TPM_INT_ENABLE(tpm, tpm->locality), ~TPM_GLOBAL_INT_ENABLE);
> +
> +    /* Unmap all of the mmio pages */
> +    for ( i = 0; i < 5; ++i )
> +    {
> +        if ( tpm->pages[i] != NULL )
> +        {
> +            iounmap(tpm->pages[i], PAGE_SIZE);
> +            tpm->pages[i] = NULL;
> +        }
> +    }
> +    free(tpm);
> +    return;

Seeing as the function is moving anyway, this spurious return can go too.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 14:33:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 14:33:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258567.445445 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9pXw-00073j-NB; Tue, 18 Jan 2022 14:33:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258567.445445; Tue, 18 Jan 2022 14: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 1n9pXw-00073c-It; Tue, 18 Jan 2022 14:33:16 +0000
Received: by outflank-mailman (input) for mailman id 258567;
 Tue, 18 Jan 2022 14:33:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1rGk=SC=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n9pXw-00073U-Az
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 14:33:16 +0000
Received: from ppsw-43.csi.cam.ac.uk (ppsw-43.csi.cam.ac.uk [131.111.8.143])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 920d86be-786b-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 15:33:15 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:52122)
 by ppsw-43.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.139]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n9pXm-000S8w-o6 (Exim 4.95) (return-path <amc96@srcf.net>);
 Tue, 18 Jan 2022 14:33:06 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 520301FA12;
 Tue, 18 Jan 2022 14:33:06 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 920d86be-786b-11ec-9bbc-9dff3e4ee8c5
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <5230bbdf-c82c-44b7-8395-ef93c8e7a689@srcf.net>
Date: Tue, 18 Jan 2022 14:33:06 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH] config: use more recent mini-os commit
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>
References: <20220118142102.22796-1-jgross@suse.com>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <20220118142102.22796-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 18/01/2022 14:21, Juergen Gross wrote:
> In order to be able to use the recent Mini-OS features switch to the
> most recent commit.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

Just to double check, this needs to be a prerequisite to your xen.git
series?


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 14:41:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 14:41:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258571.445459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9pfV-00005q-JF; Tue, 18 Jan 2022 14:41:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258571.445459; Tue, 18 Jan 2022 14:41: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 1n9pfV-00005d-Ed; Tue, 18 Jan 2022 14:41:05 +0000
Received: by outflank-mailman (input) for mailman id 258571;
 Tue, 18 Jan 2022 14:41:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1rGk=SC=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n9pfU-00005D-RJ
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 14:41:04 +0000
Received: from ppsw-43.csi.cam.ac.uk (ppsw-43.csi.cam.ac.uk [131.111.8.143])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a8804c08-786c-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 15:41:02 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:52128)
 by ppsw-43.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.139]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n9pfR-000UDf-p2 (Exim 4.95) (return-path <amc96@srcf.net>);
 Tue, 18 Jan 2022 14:41:01 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id A48A21FC61;
 Tue, 18 Jan 2022 14:41:01 +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: a8804c08-786c-11ec-9bbc-9dff3e4ee8c5
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <5dda5d9b-3488-04d2-0692-9ee12ae26ec7@srcf.net>
Date: Tue, 18 Jan 2022 14:41:01 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [MINIOS PATCH v3 06/12] use alloc_file_type() and
 get_file_from_fd() in blkfront
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20220116083328.26524-1-jgross@suse.com>
 <20220116083328.26524-7-jgross@suse.com>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <20220116083328.26524-7-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 16/01/2022 08:33, Juergen Gross wrote:
> diff --git a/blkfront.c b/blkfront.c
> index e3f42bef..ed902702 100644
> --- a/blkfront.c
> +++ b/blkfront.c
> @@ -483,9 +483,13 @@ int blkfront_aio_poll(struct blkfront_dev *dev)
>  
>  moretodo:
>  #ifdef HAVE_LIBC
> -    if (dev->fd != -1) {
> -        files[dev->fd].read = false;
> -        mb(); /* Make sure to let the handler set read to 1 before we start looking at the ring */
> +    {
> +        struct file *file = get_file_from_fd(dev->fd);
> +
> +        if ( file ) {

Style, as this is is being indented.

> +            file->read = false;
> +            mb(); /* Make sure to let the handler set read to 1 before we start looking at the ring */

MiniOS is in desperate need of being dragged over to LKMM, and to stop
using inappropriate fences.  Things will go much faster when these have
all been corrected to smp barriers.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 14:43:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 14:43:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258578.445470 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9pi9-0000sQ-5F; Tue, 18 Jan 2022 14:43:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258578.445470; Tue, 18 Jan 2022 14:43:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9pi9-0000sJ-2G; Tue, 18 Jan 2022 14:43:49 +0000
Received: by outflank-mailman (input) for mailman id 258578;
 Tue, 18 Jan 2022 14:43:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=tdM9=SC=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n9pi7-0000sC-Bx
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 14:43:47 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0a2152d0-786d-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 15:43:46 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 9C9EC1F3C0;
 Tue, 18 Jan 2022 14:43:45 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 622E413ABA;
 Tue, 18 Jan 2022 14:43:45 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 5fmcFiHS5mFbSAAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 18 Jan 2022 14:43: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: 0a2152d0-786d-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642517025; 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=z72KvQFm+wp+mPQAuQBrJB1Q65rjPtpLOH+GxVkfkUM=;
	b=t2BwszoZCHz9/4xEsaKDJFeTYT616hfVjUsMlJLudVgI9OShbY4Qfm4qbPwkAMkE50cjVt
	ygPlkSLD7yaPF1MiPtQlmeGif5yd3CQYBSPHr0lXOAH7y2SdsAS1q/1ZoDwNVz5OgY/lYM
	wBMSgye9okFlQu/x01VbteqmZYhFvzY=
Message-ID: <e6757319-9d79-09bf-e928-42557532a8d9@suse.com>
Date: Tue, 18 Jan 2022 15:43:44 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH] config: use more recent mini-os commit
Content-Language: en-US
To: Andrew Cooper <amc96@srcf.net>, 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: <20220118142102.22796-1-jgross@suse.com>
 <5230bbdf-c82c-44b7-8395-ef93c8e7a689@srcf.net>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <5230bbdf-c82c-44b7-8395-ef93c8e7a689@srcf.net>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------YT4KsrV09CoS0m8LlUugtnVL"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------YT4KsrV09CoS0m8LlUugtnVL
Content-Type: multipart/mixed; boundary="------------o05GaBOtWtWpQD3LMbaSgf3w";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <amc96@srcf.net>, 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: <e6757319-9d79-09bf-e928-42557532a8d9@suse.com>
Subject: Re: [PATCH] config: use more recent mini-os commit
References: <20220118142102.22796-1-jgross@suse.com>
 <5230bbdf-c82c-44b7-8395-ef93c8e7a689@srcf.net>
In-Reply-To: <5230bbdf-c82c-44b7-8395-ef93c8e7a689@srcf.net>

--------------o05GaBOtWtWpQD3LMbaSgf3w
Content-Type: multipart/mixed; boundary="------------br5LhqCpm55HX6Z08S0jE6pd"

--------------br5LhqCpm55HX6Z08S0jE6pd
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTguMDEuMjIgMTU6MzMsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+IE9uIDE4LzAxLzIw
MjIgMTQ6MjEsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBJbiBvcmRlciB0byBiZSBhYmxl
IHRvIHVzZSB0aGUgcmVjZW50IE1pbmktT1MgZmVhdHVyZXMgc3dpdGNoIHRvIHRoZQ0KPj4g
bW9zdCByZWNlbnQgY29tbWl0Lg0KPj4NCj4+IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jv
c3MgPGpncm9zc0BzdXNlLmNvbT4NCj4gDQo+IEFja2VkLWJ5OiBBbmRyZXcgQ29vcGVyIDxh
bmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0KPiANCj4gSnVzdCB0byBkb3VibGUgY2hlY2ss
IHRoaXMgbmVlZHMgdG8gYmUgYSBwcmVyZXF1aXNpdGUgdG8geW91ciB4ZW4uZ2l0DQo+IHNl
cmllcz8NCj4gDQoNClllcy4NCg0KDQpKdWVyZ2VuDQo=
--------------br5LhqCpm55HX6Z08S0jE6pd
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------br5LhqCpm55HX6Z08S0jE6pd--

--------------o05GaBOtWtWpQD3LMbaSgf3w--

--------------YT4KsrV09CoS0m8LlUugtnVL
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHm0iAFAwAAAAAACgkQsN6d1ii/Ey9M
ZAf9H6joYxRTBAzIm1KyK0p4AB55yMvmRtWNftZI2VziLoMhJ9U3tZccKtCQn79oYSbnAar908r6
o1D22z4BZSGKLhRj3/SOqPk6/d4WucY5Pw+makOTsnRYCtjxskyBtkaKYtHcuHIH8u7W9eHMYxlb
Rs4PJvl2Gb+13Teu/MjCoIQmGRza0c7kX55PevKrnW9lhmqQTYao3KimywXl1pxXo3qvRusdxDo1
sPQIQ8W6s1vfxZVxXF6JI0qnKe+9syv7dbUapsroVTbfjKZRtpqrz8V19F2DL7IYuy1yjQDgZzJP
YQuMjkWZkzWLkyDUwDaFDfecXSG7I+JI3E6HprZXXg==
=3qJL
-----END PGP SIGNATURE-----

--------------YT4KsrV09CoS0m8LlUugtnVL--


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 14:54:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 14:54:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258582.445485 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9ps0-0002Lg-70; Tue, 18 Jan 2022 14:54:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258582.445485; Tue, 18 Jan 2022 14: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 1n9ps0-0002LZ-36; Tue, 18 Jan 2022 14:54:00 +0000
Received: by outflank-mailman (input) for mailman id 258582;
 Tue, 18 Jan 2022 14:53:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=tdM9=SC=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n9pry-0002LL-57
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 14:53:58 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 762b625f-786e-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 15:53:56 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 5B877212BB;
 Tue, 18 Jan 2022 14:53:56 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 2F49E13AC3;
 Tue, 18 Jan 2022 14:53:56 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id vS0BCoTU5mEwTgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 18 Jan 2022 14: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: 762b625f-786e-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642517636; 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=CAhh4ZMU+oM8Y33MkhKncq4h5rdl6IAEpDySUqphsbM=;
	b=uInbOgJvHLdXCiMBsirG6n27Xzng9VGSdER6OocI+49rqWaiD4mpbLidNhsnBSPCK05lwu
	/rFW4dvTkb5zMhX8EGtD6DTAhWdRsVZR9vnj0zzWAyCepK412KCa6C/wloSSmYaMUFnIR9
	Gs0a7OYI2Cxsf3XHkzuOEiLpEwvr4YI=
Message-ID: <919fd8ba-40f5-11e4-e0f2-cb48fe29136c@suse.com>
Date: Tue, 18 Jan 2022 15:53:55 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [MINIOS PATCH v3 03/12] use alloc_file_type() and
 get_file_from_fd() in xs
Content-Language: en-US
To: Andrew Cooper <amc96@srcf.net>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20220116083328.26524-1-jgross@suse.com>
 <20220116083328.26524-4-jgross@suse.com>
 <44a8d75f-718c-ce72-4b5e-cd67df6087be@srcf.net>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <44a8d75f-718c-ce72-4b5e-cd67df6087be@srcf.net>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------yqXgzFfgQBlIPCz66Gny16Le"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------yqXgzFfgQBlIPCz66Gny16Le
Content-Type: multipart/mixed; boundary="------------QbVBSHwhpK0DNosr701TSjzS";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <amc96@srcf.net>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
Message-ID: <919fd8ba-40f5-11e4-e0f2-cb48fe29136c@suse.com>
Subject: Re: [MINIOS PATCH v3 03/12] use alloc_file_type() and
 get_file_from_fd() in xs
References: <20220116083328.26524-1-jgross@suse.com>
 <20220116083328.26524-4-jgross@suse.com>
 <44a8d75f-718c-ce72-4b5e-cd67df6087be@srcf.net>
In-Reply-To: <44a8d75f-718c-ce72-4b5e-cd67df6087be@srcf.net>

--------------QbVBSHwhpK0DNosr701TSjzS
Content-Type: multipart/mixed; boundary="------------fZRF4F45JwJoJR7GGdKXfzaA"

--------------fZRF4F45JwJoJR7GGdKXfzaA
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTguMDEuMjIgMTU6MjksIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+IE9uIDE2LzAxLzIw
MjIgMDg6MzMsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBkaWZmIC0tZ2l0IGEvbGliL3hz
LmMgYi9saWIveHMuYw0KPj4gaW5kZXggNGFmMGY5NjAuLmMxMjM0MWFhIDEwMDY0NA0KPj4g
LS0tIGEvbGliL3hzLmMNCj4+ICsrKyBiL2xpYi94cy5jDQo+PiBAQCAtMTgsMjMgKzE4LDU2
IEBAIHN0YXRpYyBpbmxpbmUgaW50IF94c19maWxlbm8oc3RydWN0IHhzX2hhbmRsZSAqaCkg
ew0KPj4gICAgICAgcmV0dXJuIChpbnRwdHJfdCkgaDsNCj4+ICAgfQ0KPj4gICANCj4+ICtz
dGF0aWMgaW50IHhzX2Nsb3NlX2ZkKHN0cnVjdCBmaWxlICpmaWxlKQ0KPj4gK3sNCj4+ICsg
ICAgc3RydWN0IHhlbmJ1c19ldmVudCAqZXZlbnQsICpuZXh0Ow0KPj4gKw0KPj4gKyAgICBm
b3IgKGV2ZW50ID0gZmlsZS0+ZGV2OyBldmVudDsgZXZlbnQgPSBuZXh0KQ0KPj4gKyAgICB7
DQo+PiArICAgICAgICBuZXh0ID0gZXZlbnQtPm5leHQ7DQo+PiArICAgICAgICBmcmVlKGV2
ZW50KTsNCj4+ICsgICAgfQ0KPj4gKw0KPj4gKyAgICByZXR1cm4gMDsNCj4+ICt9DQo+PiAr
DQo+PiArc3RhdGljIGJvb2wgeHNfY2FuX3JlYWQoc3RydWN0IGZpbGUgKmZpbGUpDQo+PiAr
ew0KPj4gKyAgICByZXR1cm4gZmlsZSAmJiBmaWxlLT5kZXY7DQo+IA0KPiBKdXN0ICdyZXR1
cm4gZmlsZS0+ZGV2OycgPw0KDQpZZXMuDQoNCj4gDQo+PiBAQCAtMTY5LDE4ICsyMDIsMjAg
QEAgY2hhciAqKnhzX2RpcmVjdG9yeShzdHJ1Y3QgeHNfaGFuZGxlICpoLCB4c190cmFuc2Fj
dGlvbl90IHQsDQo+PiAgIA0KPj4gICBib29sIHhzX3dhdGNoKHN0cnVjdCB4c19oYW5kbGUg
KmgsIGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKnRva2VuKQ0KPj4gICB7DQo+PiAt
ICAgIGludCBmZCA9IF94c19maWxlbm8oaCk7DQo+PiArICAgIHN0cnVjdCBmaWxlICpmaWxl
ID0gZ2V0X2ZpbGVfZnJvbV9mZChfeHNfZmlsZW5vKGgpKTsNCj4+ICsNCj4+ICAgICAgIHBy
aW50aygieHNfd2F0Y2goJXMsICVzKVxuIiwgcGF0aCwgdG9rZW4pOw0KPj4gICAgICAgcmV0
dXJuIHhzX2Jvb2woeGVuYnVzX3dhdGNoX3BhdGhfdG9rZW4oWEJUX05VTEwsIHBhdGgsIHRv
a2VuLA0KPj4gLSAgICAgICAgICAgICAgICAgICAoeGVuYnVzX2V2ZW50X3F1ZXVlICopJmZp
bGVzW2ZkXS5kZXYpKTsNCj4+ICsgICAgICAgICAgICAgICAgICAgKHhlbmJ1c19ldmVudF9x
dWV1ZSAqKSZmaWxlLT5kZXYpKTsNCj4gDQo+IFRoaXMgaXMgdXR0ZXJseSBtYWQuwqAgSW4g
cGFydGljdWxhciwgY2xvc2UoKSBsb29rcyB0byBiZSB2ZXJ5IHJhY3kgd2l0aA0KPiBuZXcg
d2F0Y2hlcyBhcnJpdmluZy4NCg0KSW4gcHJhY3RpY2UgaXQgc2hvdWxkIGJlIG5vIHByb2Js
ZW0sIHRob3VnaCAoY2xvc2luZyB0aGUgZmlsZSBpbiBvbmUNCnRocmVhZCB3aGlsZSB0aGUg
b3RoZXIgb25lIGlzIGFkZGluZyBhIHdhdGNoIHdvdWxkIGJlIHJhdGhlciBzdHJhbmdlKS4N
Cg0KQWRkaXRpb25hbGx5IGNsb3NlKCkgZm9yIHhlbmJ1cyBpbiBNaW5pLU9TIGlzIGNhbGxl
ZCBvbmx5IHdoZW4gc3RvcHBpbmcNCnRoZSBkb21haW4gdG9kYXkuDQoNCj4gSG93ZXZlciwg
Y2FuIHRoZSBpbmRlbnRhdGlvbiBhdCBsZWFzdCBiZSBmaXhlZCBoZXJlIGFzIHRoZSBsaW5l
IGlzDQo+IGNoYW5naW5nLsKgIFRoYXQncyBhIHBhcmFtZXRlciB0byB4ZW5idXNfd2F0Y2hf
cGF0aF90b2tlbigpLCBub3QgeHNfYm9vbCgpLg0KDQpZZXMsIHRoYXQgc2hvdWxkIGJlIGRv
bmUuDQoNCj4gDQo+PiBkaWZmIC0tZ2l0IGEveGVuYnVzL3hlbmJ1cy5jIGIveGVuYnVzL3hl
bmJ1cy5jDQo+PiBpbmRleCBiNjg3Njc4Zi4uNzg1Mzg5ZmIgMTAwNjQ0DQo+PiAtLS0gYS94
ZW5idXMveGVuYnVzLmMNCj4+ICsrKyBiL3hlbmJ1cy94ZW5idXMuYw0KPj4gQEAgLTM5Myw2
ICszOTMsNyBAQCBzdGF0aWMgaW50IGFsbG9jYXRlX3hlbmJ1c19pZCh2b2lkKQ0KPj4gICB2
b2lkIGluaXRfeGVuYnVzKHZvaWQpDQo+PiAgIHsNCj4+ICAgICAgIGludCBlcnI7DQo+PiAr
DQo+IA0KPiBTcHVyaW91cyBodW5rPw0KDQpZZXMuDQoNCg0KSnVlcmdlbg0K
--------------fZRF4F45JwJoJR7GGdKXfzaA
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------fZRF4F45JwJoJR7GGdKXfzaA--

--------------QbVBSHwhpK0DNosr701TSjzS--

--------------yqXgzFfgQBlIPCz66Gny16Le
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHm1IMFAwAAAAAACgkQsN6d1ii/Ey8k
CQf9FsCXFo47IY8bBPFR9XlpCHae3WH6DWTTzvZ9E4ZNWXtu5LHMze0TRGF5DYpcGirkGlwia00E
VkBICoWb02RIg4QkBYqblST5ij3Ity8/0eVcpwyFal55IkOXG3pk6LFtrHaXXLK4gWYPXvPiuZBy
lTZw6PqEZASvy7FoacM+Kn7tYDv4wGlfTeWWIqCALqrKzW1NKwInAU0M4h+EwxVnbkCdN03JCvWf
4OdntoEktgFPJzzCXAcXULmp9VYQS4HW6pmj65y5ZBFJTFHwhNokTM35JSgBeBZzHB5caQaOHJ6C
V5TsIpxj1oepHPq1WTxu82l1IyC6uBC7AT+HONam6A==
=ONXC
-----END PGP SIGNATURE-----

--------------yqXgzFfgQBlIPCz66Gny16Le--


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 14:54:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 14:54:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258587.445504 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9psY-0002xC-Jn; Tue, 18 Jan 2022 14:54:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258587.445504; Tue, 18 Jan 2022 14:54:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9psY-0002x5-Gj; Tue, 18 Jan 2022 14:54:34 +0000
Received: by outflank-mailman (input) for mailman id 258587;
 Tue, 18 Jan 2022 14:54:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=tdM9=SC=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n9psX-0002j7-N4
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 14:54:33 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8b221ab9-786e-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 15:54:31 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id AECD6218A9;
 Tue, 18 Jan 2022 14:54: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 85A8B13AC3;
 Tue, 18 Jan 2022 14:54:31 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id q41tH6fU5mGSTgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 18 Jan 2022 14:54: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: 8b221ab9-786e-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642517671; 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=DkqqooiueTSRrpomD9t4NXqh0JZYEpWP21NNPgurwUs=;
	b=e44Z/zgurXoTc9BpiV6oVxkLyrC9HgmMQ2IWLuFuZ5NylFiBm0Qd1pKx4jlm5b6fgX4o6k
	kk6gSXOVaaLqSE6H8FkMSEIbuRy/rLhmvbnzhM9YT7sWDqE+XyKt+AUMjZpzFJSiz8fa6/
	66me5ff4bkJnhNGoubnJ8hQBLmfFFL8=
Message-ID: <7eb2b1da-310c-009e-e06c-fb10d950e517@suse.com>
Date: Tue, 18 Jan 2022 15:54:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [MINIOS PATCH v3 04/12] use alloc_file_type() and
 get_file_from_fd() in tpm_tis
Content-Language: en-US
To: Andrew Cooper <amc96@srcf.net>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20220116083328.26524-1-jgross@suse.com>
 <20220116083328.26524-5-jgross@suse.com>
 <fe8f11f6-fdcf-f99f-4767-8248c6f0c2cf@srcf.net>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <fe8f11f6-fdcf-f99f-4767-8248c6f0c2cf@srcf.net>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------JmznQ2LzEbK0m5IKJmzCqAK6"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------JmznQ2LzEbK0m5IKJmzCqAK6
Content-Type: multipart/mixed; boundary="------------ZCqPjPVfbqxtsYwd02it6Tjf";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <amc96@srcf.net>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
Message-ID: <7eb2b1da-310c-009e-e06c-fb10d950e517@suse.com>
Subject: Re: [MINIOS PATCH v3 04/12] use alloc_file_type() and
 get_file_from_fd() in tpm_tis
References: <20220116083328.26524-1-jgross@suse.com>
 <20220116083328.26524-5-jgross@suse.com>
 <fe8f11f6-fdcf-f99f-4767-8248c6f0c2cf@srcf.net>
In-Reply-To: <fe8f11f6-fdcf-f99f-4767-8248c6f0c2cf@srcf.net>

--------------ZCqPjPVfbqxtsYwd02it6Tjf
Content-Type: multipart/mixed; boundary="------------hkhEPsBsvqqIYS9Boh2Co5X8"

--------------hkhEPsBsvqqIYS9Boh2Co5X8
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTguMDEuMjIgMTU6MzIsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+IE9uIDE2LzAxLzIw
MjIgMDg6MzMsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBkaWZmIC0tZ2l0IGEvdHBtX3Rp
cy5jIGIvdHBtX3Rpcy5jDQo+PiBpbmRleCA0NzdmNTU1MC4uYjg4ZWM4NzQgMTAwNjQ0DQo+
PiAtLS0gYS90cG1fdGlzLmMNCj4+ICsrKyBiL3RwbV90aXMuYw0KPj4gQEAgLTEwOTMsNiAr
MTA5NywyNiBAQCBzc2l6ZV90IHRwbV9nZXRjYXAoc3RydWN0IHRwbV9jaGlwICpjaGlwLCB1
aW50MzJfdCBzdWJjYXBfaWQsIGNhcF90ICpjYXAsDQo+PiAgICAgICAgICAgcmV0dXJuIHJj
Ow0KPj4gICB9DQo+PiAgIA0KPj4gK3N0YXRpYyB2b2lkIHNodXRkb3duX3RwbV90aXMoc3Ry
dWN0IHRwbV9jaGlwICp0cG0pDQo+PiArew0KPj4gKyAgICBpbnQgaTsNCj4+ICsNCj4+ICsg
ICAgcHJpbnRrKCJTaHV0dGluZyBkb3duIHRwbV90aXMgZGV2aWNlXG4iKTsNCj4+ICsNCj4+
ICsgICAgaW93cml0ZTMyKFRQTV9JTlRfRU5BQkxFKHRwbSwgdHBtLT5sb2NhbGl0eSksIH5U
UE1fR0xPQkFMX0lOVF9FTkFCTEUpOw0KPj4gKw0KPj4gKyAgICAvKiBVbm1hcCBhbGwgb2Yg
dGhlIG1taW8gcGFnZXMgKi8NCj4+ICsgICAgZm9yICggaSA9IDA7IGkgPCA1OyArK2kgKQ0K
Pj4gKyAgICB7DQo+PiArICAgICAgICBpZiAoIHRwbS0+cGFnZXNbaV0gIT0gTlVMTCApDQo+
PiArICAgICAgICB7DQo+PiArICAgICAgICAgICAgaW91bm1hcCh0cG0tPnBhZ2VzW2ldLCBQ
QUdFX1NJWkUpOw0KPj4gKyAgICAgICAgICAgIHRwbS0+cGFnZXNbaV0gPSBOVUxMOw0KPj4g
KyAgICAgICAgfQ0KPj4gKyAgICB9DQo+PiArICAgIGZyZWUodHBtKTsNCj4+ICsgICAgcmV0
dXJuOw0KPiANCj4gU2VlaW5nIGFzIHRoZSBmdW5jdGlvbiBpcyBtb3ZpbmcgYW55d2F5LCB0
aGlzIHNwdXJpb3VzIHJldHVybiBjYW4gZ28gdG9vLg0KDQpZZXMuDQoNCg0KSnVlcmdlbg0K
DQo=
--------------hkhEPsBsvqqIYS9Boh2Co5X8
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------hkhEPsBsvqqIYS9Boh2Co5X8--

--------------ZCqPjPVfbqxtsYwd02it6Tjf--

--------------JmznQ2LzEbK0m5IKJmzCqAK6
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHm1KcFAwAAAAAACgkQsN6d1ii/Ey+W
Ewf9ENFVlvSLJHbuYVboHNtdGuGvtq93TM1v7tkuXch0GuciRcjUylg9wW4OVdyIrJvV1Ch9ZwyZ
ZXT3GrWk2KEWLbH3xtdDp9G4/g+IPXQL1kH/BQRtUQ5G0yuCkjjainL3sGTzehfi+3rPLOhpn0vP
A0LE6RrwAMtCjN1joZz5bzjTJCaA5T8Iv8Y8ghOV3dW//6nEsvKohtSDcMsF0L8uVIl24dlIxMVf
o2/9O8HiAT2lSD6S6dhHtVFOerm/21sFEwmifEyrgeHEhM1d2jdjV7IPUMSc5zEyOZmijC1uhwPJ
jxXLZoD/cA4kg4WqKI9NtaBnbOGiOr5A2HbTYYDD9w==
=KFaX
-----END PGP SIGNATURE-----

--------------JmznQ2LzEbK0m5IKJmzCqAK6--


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 14:55:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 14:55:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258593.445519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9pto-0003jS-6g; Tue, 18 Jan 2022 14:55:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258593.445519; Tue, 18 Jan 2022 14:55:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9pto-0003jL-2X; Tue, 18 Jan 2022 14:55:52 +0000
Received: by outflank-mailman (input) for mailman id 258593;
 Tue, 18 Jan 2022 14:55:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=tdM9=SC=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1n9ptm-0003h3-Cx
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 14:55:50 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b8e798f4-786e-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 15:55:48 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 7E6D7212BB;
 Tue, 18 Jan 2022 14:55:48 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 56DDB13AC3;
 Tue, 18 Jan 2022 14:55:48 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Z6oQFPTU5mFdTwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 18 Jan 2022 14:55: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: b8e798f4-786e-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642517748; 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=or2PiCDNGQe2X0Sg/R4r64z6A8ES3IgWNQu0DofNAtw=;
	b=F54U1AfYIQGIcDEAinzuzRZhuyZtKs5HsN7+0pcYhiasIKsUOAoTH3H9oikyQ2NhJzmt/Y
	fpWtXyMEb8eWRRIb1jYqpzAXZwNOdPb2xeAYtCsxIlHL/3i/Ck4krKGxf79rAxcU7JmUhi
	rQ10N9meXKBJtpyE+pHiI0xEbWDamDc=
Message-ID: <6b951401-a62a-5397-9b00-7daae27d2ed5@suse.com>
Date: Tue, 18 Jan 2022 15:55:47 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [MINIOS PATCH v3 06/12] use alloc_file_type() and
 get_file_from_fd() in blkfront
Content-Language: en-US
To: Andrew Cooper <amc96@srcf.net>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20220116083328.26524-1-jgross@suse.com>
 <20220116083328.26524-7-jgross@suse.com>
 <5dda5d9b-3488-04d2-0692-9ee12ae26ec7@srcf.net>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <5dda5d9b-3488-04d2-0692-9ee12ae26ec7@srcf.net>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------NR3lvnkhe8nAeosTfSbHapfW"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------NR3lvnkhe8nAeosTfSbHapfW
Content-Type: multipart/mixed; boundary="------------ZS2T2Ptfx9VRRLCWQ6tB8HK2";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <amc96@srcf.net>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
Message-ID: <6b951401-a62a-5397-9b00-7daae27d2ed5@suse.com>
Subject: Re: [MINIOS PATCH v3 06/12] use alloc_file_type() and
 get_file_from_fd() in blkfront
References: <20220116083328.26524-1-jgross@suse.com>
 <20220116083328.26524-7-jgross@suse.com>
 <5dda5d9b-3488-04d2-0692-9ee12ae26ec7@srcf.net>
In-Reply-To: <5dda5d9b-3488-04d2-0692-9ee12ae26ec7@srcf.net>

--------------ZS2T2Ptfx9VRRLCWQ6tB8HK2
Content-Type: multipart/mixed; boundary="------------20AIdZ8ov2ThYDD9BQREECju"

--------------20AIdZ8ov2ThYDD9BQREECju
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTguMDEuMjIgMTU6NDEsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+IE9uIDE2LzAxLzIw
MjIgMDg6MzMsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBkaWZmIC0tZ2l0IGEvYmxrZnJv
bnQuYyBiL2Jsa2Zyb250LmMNCj4+IGluZGV4IGUzZjQyYmVmLi5lZDkwMjcwMiAxMDA2NDQN
Cj4+IC0tLSBhL2Jsa2Zyb250LmMNCj4+ICsrKyBiL2Jsa2Zyb250LmMNCj4+IEBAIC00ODMs
OSArNDgzLDEzIEBAIGludCBibGtmcm9udF9haW9fcG9sbChzdHJ1Y3QgYmxrZnJvbnRfZGV2
ICpkZXYpDQo+PiAgIA0KPj4gICBtb3JldG9kbzoNCj4+ICAgI2lmZGVmIEhBVkVfTElCQw0K
Pj4gLSAgICBpZiAoZGV2LT5mZCAhPSAtMSkgew0KPj4gLSAgICAgICAgZmlsZXNbZGV2LT5m
ZF0ucmVhZCA9IGZhbHNlOw0KPj4gLSAgICAgICAgbWIoKTsgLyogTWFrZSBzdXJlIHRvIGxl
dCB0aGUgaGFuZGxlciBzZXQgcmVhZCB0byAxIGJlZm9yZSB3ZSBzdGFydCBsb29raW5nIGF0
IHRoZSByaW5nICovDQo+PiArICAgIHsNCj4+ICsgICAgICAgIHN0cnVjdCBmaWxlICpmaWxl
ID0gZ2V0X2ZpbGVfZnJvbV9mZChkZXYtPmZkKTsNCj4+ICsNCj4+ICsgICAgICAgIGlmICgg
ZmlsZSApIHsNCj4gDQo+IFN0eWxlLCBhcyB0aGlzIGlzIGlzIGJlaW5nIGluZGVudGVkLg0K
DQpPaCwgbWlzc2VkIHRoYXQgb25lLiA6LSgNCg0KPiANCj4+ICsgICAgICAgICAgICBmaWxl
LT5yZWFkID0gZmFsc2U7DQo+PiArICAgICAgICAgICAgbWIoKTsgLyogTWFrZSBzdXJlIHRv
IGxldCB0aGUgaGFuZGxlciBzZXQgcmVhZCB0byAxIGJlZm9yZSB3ZSBzdGFydCBsb29raW5n
IGF0IHRoZSByaW5nICovDQo+IA0KPiBNaW5pT1MgaXMgaW4gZGVzcGVyYXRlIG5lZWQgb2Yg
YmVpbmcgZHJhZ2dlZCBvdmVyIHRvIExLTU0sIGFuZCB0byBzdG9wDQo+IHVzaW5nIGluYXBw
cm9wcmlhdGUgZmVuY2VzLsKgIFRoaW5ncyB3aWxsIGdvIG11Y2ggZmFzdGVyIHdoZW4gdGhl
c2UgaGF2ZQ0KPiBhbGwgYmVlbiBjb3JyZWN0ZWQgdG8gc21wIGJhcnJpZXJzLg0KDQpJbmRl
ZWQuDQoNCg0KSnVlcmdlbg0K
--------------20AIdZ8ov2ThYDD9BQREECju
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------20AIdZ8ov2ThYDD9BQREECju--

--------------ZS2T2Ptfx9VRRLCWQ6tB8HK2--

--------------NR3lvnkhe8nAeosTfSbHapfW
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmHm1PMFAwAAAAAACgkQsN6d1ii/Ey/V
/wf/cX5zQ6inizr/t9ikrUnteHhjP577v/c345akQAWXI3FceoicY69N6WOR4/Q24ZnlYsH2knBD
l7pPXIj4ifg5B2hnSyO8XFHQU8PRpLsZGSW/yc4+XZiRlb5OKlwY6Oqh/ythLFshhSfUf9fTkGfM
JFJulO1KNWMIM9s3X5faJXv5fkspxSaYmfEmdWogLtukb/Kfs8os8/yAjZVxTIyYc91uXCc6Ldu+
i/fx5XvoykPo+wwiM1LU4TVQjAIA6/Bt6Lja8z2Cd0VLvJw8Cc80rcdTBIUS88i5ii73Jmoiuzau
sxm6zvZbQGkiXmdtw27o3p8VLILR0VMc3buHs/s5Wg==
=0gQK
-----END PGP SIGNATURE-----

--------------NR3lvnkhe8nAeosTfSbHapfW--


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 15:04:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 15:04:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258596.445530 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9q1l-0005GL-16; Tue, 18 Jan 2022 15:04:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258596.445530; Tue, 18 Jan 2022 15: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 1n9q1k-0005GE-UB; Tue, 18 Jan 2022 15:04:04 +0000
Received: by outflank-mailman (input) for mailman id 258596;
 Tue, 18 Jan 2022 15:04:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aElt=SC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9q1i-0005G8-Uj
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 15:04:02 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dea47917-786f-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 16:04:01 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2106.outbound.protection.outlook.com [104.47.18.106]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-4-qEF06yAePLGGLuEYbn7cbQ-2; Tue, 18 Jan 2022 16:04:00 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DBBPR04MB7932.eurprd04.prod.outlook.com (2603:10a6:10:1ef::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Tue, 18 Jan
 2022 15:03:58 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.014; Tue, 18 Jan 2022
 15: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: dea47917-786f-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642518241;
	h=from:from:reply-to:subject:subject: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=v71U7bKeX34bVzkLSSSx/pXCeCSUsgtz4pi0lrhww9U=;
	b=Pk7aJmivoSXOSecGGpMYisNVbA1RbTcJef5LU6H/aHXji7VPcVZK+o1txiuy7V+1qZ+cE5
	yDsMpOQFuMVkfCNXHOrGu0ZgHl2p1MMlwWpHfwHQEOY7ewiz1TatQszLC9zwn0TiMHcxfh
	3BhUyrVCPN4e/tLj+HP6Cid8B8TVdTQ=
X-MC-Unique: qEF06yAePLGGLuEYbn7cbQ-2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jVgyraamcb/eoMvaGOVA41A+FuW0ETxmcp2l9tNs295SZI721ZHS0541xbQjzf8ECOWJNSlVgwl/2ijf5ItvcNQS9vILBVuvJcESUTWnJqYxVamhfdfRy0XBIU4Fx40Zt3gUSC8H09QADL9msZld0e6Rxoxx4UPa6Z35ongGyQOuPow3cXSz80DLOclrn0kxJwZ4Lc2WrKzCuKE5f0N+KUCyU0jzfVkW8+QsuYReqM/sygVhaWKU3EYzx78k2tGpu82XJqtLi4amr1iwhnv2Vx8Kv/RV13KvWMbSxY5jh+9XQ12OjxKtULst0RhNlNj9BPec26oWtvC7b/SsWzewIQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=v71U7bKeX34bVzkLSSSx/pXCeCSUsgtz4pi0lrhww9U=;
 b=GwBXh+Vp5aZftHUPWBDH+SnTvPfEVlqePpd/yStlIm7ntg5SHTdDkiezNRnAuxRCiQjOjSPWpYWzSIuSFA44x2cwAJSXMq5dll0LpMoD8I66PCdmGjgaYDChFs0e7Fr8O09Dl/NvtbvvRlfTgblV5gzs4FZksLnBl0VasYvhr8eWwRXrsci8psQ66nWAH0WxFjZiRecFHorxSjMnIqWkX4PEJydibC46AA6KBVLmNnX5hpQGg+QWOHHJSXdD0maoIz/cRNaGIB3c2FjhrpKCjxFcGRbksl8Ehj/cZE0IHsTwuOAJCb0HbHATwKYJdQxvvMgP2LCurxOEQP5PqIi+uQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1ea5815b-df22-7884-d28b-bdcc1741e349@suse.com>
Date: Tue, 18 Jan 2022 16:03:56 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: statistical time calibration
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR1001CA0024.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:206:2::37) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 28860d53-c8bf-4ca5-2b12-08d9da93c0d6
X-MS-TrafficTypeDiagnostic: DBBPR04MB7932:EE_
X-Microsoft-Antispam-PRVS:
	<DBBPR04MB79321B12A7F77779EEDE2D7EB3589@DBBPR04MB7932.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:
	zUshmnI6BoZ+X3MCzdiMaA0L7oWx9Mxti811qaP7gYIH0+PIKvWYDtLD3Hag8yu9dxUg/5cyTGwGKOl0tl1SQG48VNjTh6Ce5Zi/pzNYH80He9RPwTRyKyV20M9QjC/Z4S6swMZU+Ikx4f24XrVJ6GTKEfLP2slucWMxVCLGBf74ZNrReT9dj2TPANbcMcsVKxE52GBe5KZKSjDDrgBmEonA1XJkdHYbCrL9N98nLea0XCuj3ufw9McCTExSTNm6gbVMcT9ONare1q42jXdxdXYzxE3d2wEO4vNxYGPVbV/fLsglOOs7dJxZPNQ3c8uiY6hGPysdTpQFsDGwYsmDLxtCuSz2Z8QF7Fdf50onTE8F9IU07Fbwwybr7bAEJj+mjwFVk9BNWSge5TU5L59VfFEfOGuUfmWUVjR/dubbcSzAT2C485RyxtKKxOHXXtVhPlt3TipBLMS7qrcmVCiulJP30QdGf7ONQ2QU9HqUOztMVzwavmoqkfqNdglFqpS6RIdn7HbzwgxL0U8HG4W8s6dRgBazDAy2vgl54LtcMItdl3C8E0RbPk6uVY9mZ9/Fjdb4uFI0SQHxv5wtgppxdfWakuAUXIOf8rrsUv8BjmulWNtvQLEZ1yxIzLjZZyDJmc9eKiujShkkwzEys1UeO95m8dG25gLGDYDhtx9bMDrKpFhA6cXLiVFcA8gdiejZlkQbBdPZdOeNg1Ic3KWNq6uAXYzCNwQKWidYL1XQAKoTD4oztObcP1krv5BJ/mu+ud2oFebs5nxi1WuQIu2sC7VLyCshGf70NVAsCm/IPbkmFzTcuy2MUmQq7JBcBFYcSZ9seoNne03sMQ7+wkJn+HTKAfAFGVMTXiIvLKoji/g=
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)(5660300002)(6506007)(38100700002)(66946007)(6916009)(26005)(2616005)(86362001)(8936002)(66476007)(6512007)(66556008)(54906003)(8676002)(31696002)(6486002)(966005)(83380400001)(508600001)(7116003)(2906002)(4326008)(31686004)(186003)(36756003)(316002)(3480700007)(133083001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UTV4dU9Ud05FWTAvTEM2VGo2S3dlcEh2amZOS0owTlduOHB4L3YwYXE1M1Nz?=
 =?utf-8?B?Um5vcmRXcFEzUjlYZ3FzcEtjRG1lUWJGUzdObDFpdTUybFhUd0M1c1J6UDRo?=
 =?utf-8?B?RzZvU2xUZmFjMGY4emlNYXM0OGI2VDU1K0lQRnNYaG1BR0NvZHQrV0lLNnZC?=
 =?utf-8?B?UUg4dWt3TG9GR3ZlWWRFYzZhNnVLejVTUFRBRlZ4OXBXY3puUWtiNkxzb0xi?=
 =?utf-8?B?SUVTWVh0OXc0Z0MraW1yRkVoNUlOQVVELzhKcXlsRHVheURhTGdveGJUTTRz?=
 =?utf-8?B?K05SVkllMHhZeVJ0TmNDOXJkOFBHYm11MFgyaGF6RndvVFo3c0tDakRBeGpt?=
 =?utf-8?B?UndXZmFNK09HeVJZcmFBODRSVERTVTc4RVNxUTRHLzlPZ3ZsenJOb2RpYjRq?=
 =?utf-8?B?Ny9FaEJnazVUWlR5Si8yK1k1WUV2alRTM2gvSzBObDZXRUl3WmFiNzVTUmdQ?=
 =?utf-8?B?cXNXTWNrY09IQ3Z4Z1NhVXpGVlpvNHRMRlcxNnMyOWFNT2N1TkF1SEpoYmZl?=
 =?utf-8?B?R2JxQUVnQzd1cnJuKzV4VnR4dWlPZFVEVzUvYlpUT2Rva2pYUWVlZkZQMFg1?=
 =?utf-8?B?UDdMM3FJWDRJbFA0ZXF6OWZTUVJKM3JRbE04VSswVEZ4amlvQmZlb05rN3h3?=
 =?utf-8?B?YjFza2VHcU5pN1h2dExKaXBwN0lVc09HVTM1Q3hwU1ZoZlcxclc5RWtOTUZR?=
 =?utf-8?B?VVFDVHhldEs4dWRiVUZPRktuaGFDVFlVRHlBZ0hrdUpnUklTWkFtRklxcnds?=
 =?utf-8?B?U1BrNkdkM2lsMWhuYjFRMjgwZFBYTEhYV2N0eGJvanozWkJsUHg5V0poZVVh?=
 =?utf-8?B?Ym5zcWhQbW1wb2tleEhERmIxVkViWFBqdFgvRHFIcjFQTkd4WkFIUFZmNEx1?=
 =?utf-8?B?VWRhVjJUbjFvWVRKNTBweGlWS1RQb3NWV2hXTmlxTExneCs1MmJQOWpuS0dj?=
 =?utf-8?B?dTg3cmdPMHBaQ2ZvOWFQVGlMOXA3aVVrcVNCNmVERkQ5RElreFRPR0JZM3E1?=
 =?utf-8?B?SHQzazVjakJkV1cva0x5My85SDRyZHE4VjFod2JKUVlXRXlaSjRBaTRlSnRt?=
 =?utf-8?B?SVhMTVB0SE9LcW1uWitEWkUwQUVpaUhUK0U5L0d2a3hBc0pIU1EwUkhEQnhp?=
 =?utf-8?B?NFllY1NuWUx5d0ZDOVR6bitmK2FXMiszOVlKdWkrUzJlUklxSmNYQ01EalBK?=
 =?utf-8?B?b0FDODNTQ2ovWmRaTm94L3FqWjhGUXZ6TkhhUHlkeTF6amgxVERDbDhmY3Er?=
 =?utf-8?B?S29pZm1aUllDTDhPR1gwZVNYdUNOa3ZVeVVNZHI0eCtXU0J6YkhvS2pFQlVG?=
 =?utf-8?B?NnZWS1o3R0RhTW92SHR4OUVCR2c2Q3BOZkw2dWo5enVKYmhaMXM3VG9TNzdj?=
 =?utf-8?B?QXhBSStQQ3o0RmVabVlRdXZYaklBb200b3VwTlEwZzY1U3J4eTU5VFJDOGtE?=
 =?utf-8?B?UnV6WmoyWlpzdGxRT3ovam9hMzZpTS8yY044b3g0QWRIZ2MvY2c0TkJadXZC?=
 =?utf-8?B?aE9PaEtMSkZnSGpiWEZZVDExSGRWRUZMOHdjL2JWeVlmMGdNbTBQOWFrcmlU?=
 =?utf-8?B?YTlRU0hXTmN1VStuVVNFaytzLy94N29wSTJuaHRpVjZOSGhjei84Y0kzTWp0?=
 =?utf-8?B?QWdFSzl5ajVtelJySG43TVhkUUxoU2xEVUZZdzFmd0lCc3ptd3BROEM0bmhW?=
 =?utf-8?B?bE9YMGtZelZhR0R1TzBjREFqQlRTbzdML2RqM2N6Wmg0akN3aDdEY28vN0hO?=
 =?utf-8?B?TlZIYWhYcU94SnU1cmYwSElRcHI4R3hLTDJOYzdqTXFoK2N0c1U1alY4d3Fv?=
 =?utf-8?B?OGRveURFaTVuSTRlblBNQnQxbjZtSHdZUWw3RFV1MVpkdldBbGxXc1Z6UFh0?=
 =?utf-8?B?UkhjZXpWOHRiSDc1Qk1wRWIzaDE1c053djh3Y0lYeFAvWXJET3BJcFdZaVJn?=
 =?utf-8?B?TUt2WExvb1Q1SDNDSzZnVDV3UnpJaGlLWkRqTHp6WXFaSFFQbnloSFpGaG5S?=
 =?utf-8?B?aFUyNEE2ZUlUdjhmcXNSVHM1OU1LcnllWmVveDhOZ2gwNFJuM05oM2FnT1Nx?=
 =?utf-8?B?TmdULzFTVGg1UGtjd2I1UUR5Q3MvUHJJWDhYemdKUmprUmcrRGpxc2VzWTJo?=
 =?utf-8?B?UEtzUFVXcUEzdXBia29PQ01hZFQrQkZtS1ZiL3VvMDdWVDMxazJlL2N3dDhs?=
 =?utf-8?Q?greafWQygtI0t4dYHOG2OrY=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 28860d53-c8bf-4ca5-2b12-08d9da93c0d6
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 15:03:58.2203
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: TD3CGIHgdLu7DIaPdx0J7wTWSgfoP+KCo055J8iGLZnD7VVWeBFPxFzx7nNxTcdF6SVhMl9flkE9LPR6AU1+FQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7932

Hello,

Roger pointer me to a FreeBSD commit [1] introducing such there. While
we don't start at 2000ms (but rather at 50), this still looked interesting
enough to take a closer look. I think I've mostly understood the idea and
implementation now, with the exception of three things:

1) When deciding whether to increment "passes", both variance values have
an arbitrary value of 4 added to them. There's a sentence about this in
the earlier (big) comment, but it lacks any justification as to the chosen
value. What's worse, variance is not a plain number, but a quantity in the
same units as the base values. Since typically both clocks will run at
very difference frequencies, using the same (constant) value here has much
more of an effect on the lower frequency clock's value than on the higher
frequency one's.

2) The second of the "important formulas" is nothing I could recall or was
able to look up. All I could find are somewhat similar, but still
sufficiently different ones. Perhaps my "introductory statistics" have
meanwhile been too long ago ... (In this context I'd like to also mention
that it took me quite a while to prove to myself that the degenerate case
of, in particular, the first iteration wouldn't lead to an early exit
from the function.)

3) At the bottom of the loop there is some delaying logic, leading to
later data points coming in closer succession than earlier ones. I'm
afraid I don't understand the "theoretical risk of aliasing", and hence
I'm seeing more risks than benefits from this construct.

Beyond that there are implementation aspects that I'm not happy with,
like aforementioned delay loop not dealing with a TSC which did start
from a large "negative" value, and which hence would eventually wrap. Nor
is the SMI (or other long latency events) aspect being taken care of. But
any such concern could of course be dealt with as we port over this
logic, if we decided we want to go that route.

My main concern is with the goal of reaching accuracy of 1PPM, and the
loop ending only after a full second (if I got that right) if that
accuracy cannot be reached. Afaict there's no guarantee that 1PPM is
reachable. My recent observations suggest that with HPET that's
feasible (but only barely), but with PMTMR it might be more like 3 or
more.

The other slight concern I have, as previously voiced on IRC, is the use
of floating point here.

Jan

[1] https://cgit.freebsd.org/src/commit/?id=c2705ceaeb09d8579661097fd358ffb5defb5624



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 15:23:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 15:23:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258600.445540 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9qK1-0007aZ-Ja; Tue, 18 Jan 2022 15:22:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258600.445540; Tue, 18 Jan 2022 15: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 1n9qK1-0007aS-GX; Tue, 18 Jan 2022 15:22:57 +0000
Received: by outflank-mailman (input) for mailman id 258600;
 Tue, 18 Jan 2022 15:22:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aElt=SC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9qJz-0007aM-QA
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 15:22:56 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8134b407-7872-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 16:22:53 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2109.outbound.protection.outlook.com [104.47.18.109]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-41-fkWo3o0QPrGr_IIbpDscbw-1; Tue, 18 Jan 2022 16:22:51 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM6PR04MB4535.eurprd04.prod.outlook.com (2603:10a6:20b:17::28)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.12; Tue, 18 Jan
 2022 15:22:50 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.014; Tue, 18 Jan 2022
 15:22: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: 8134b407-7872-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642519373;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=qY+zkviUaTJdFINFr0LJAdxZeeCgqLUR4vnVi52YXvU=;
	b=QgfxJ3CZAjdn7aLm8RaBI+mDFEhzrq82aJeZyWUZ2z7MtBWclauIfDLnVHRj5A+WZMx6uU
	Wf+tTo+IXwLPzQMkkm1s2EyUvgoVJjJqOMAiAVDLyGXGOJk3zY1n7U5gzvhVpFkNv6m4kF
	WyWLqWw7sg6dzcTRTS4tLTi//h0qGJA=
X-MC-Unique: fkWo3o0QPrGr_IIbpDscbw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Udm6GCUR4ccIJYuU4guqcuwHXZNhITL1ygG5IdGfmlvrypb+FvsYL04Hv5B7oxpg8wNDgNyEYf3ghMvucMvXAtJ+FVjS1sFD591hUMOZF1ZZJxIGh0ZvOxvQ2q8+ieJtXqV+EH+/J9KNSVPzqNjHz/HB8/Em/LcDcTgAQD7+etfvn8tgcMx2WALnBMBlbHqxz2vCGe+GedelXys7BFGV/gpAW+CQRWaUquKje3k8LDtpGqB3ZIichQ1hFxS3sd8y5gYD+ywPrIelGyO/7JThd8aXAmycIgxs75z7Ski0eTR4Kx3YMXT6ncn8TBy8nO4F3keynLIV3sIsvOdtPQOiSA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qY+zkviUaTJdFINFr0LJAdxZeeCgqLUR4vnVi52YXvU=;
 b=M3DscRjfOSppoGONY0ntOEcznzY9IP5k0nxZAckj8YFIdb2nACpUtbKxloED4ZASRH9xikoJ9i/Er4WpLqjVP9njA9CLqbkVsMFX8sXvu4zsZnI41MIY/TlHsldLmEJfzHWAIv16EnD45XNg4XG9nAeQTwwPZFsEViFySeG+ZjzMxxEdJsSpAsIS8jTjPRzVCujx1sdvYerLy1GBDtMw2RN6ahUc4l87pLS6+uwS+KJtijiBxS8UuJLiCuoUV0pfFbPRJsydK6PyTdc+Xms6+w2yy6rlzUr7ex9pP4NX2C4pYN9gAwcS07uGHRY0lBeCA/7XdUH826wj13/Wf3NoLw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a1d96556-5da4-0c73-0d87-f24758866d7d@suse.com>
Date: Tue, 18 Jan 2022 16:22:49 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 07/37] xen/x86: use paddr_t for addresses in NUMA node
 structure
Content-Language: en-US
To: Wei Chen <wei.chen@arm.com>
Cc: Bertrand.Marquis@arm.com, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, julien@xen.org
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-8-wei.chen@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20210923120236.3692135-8-wei.chen@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P192CA0059.EURP192.PROD.OUTLOOK.COM
 (2603:10a6:209:82::36) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4d2f9592-1757-468d-35d1-08d9da96639a
X-MS-TrafficTypeDiagnostic: AM6PR04MB4535:EE_
X-Microsoft-Antispam-PRVS:
	<AM6PR04MB453521F7B0A17EC5C11C285AB3589@AM6PR04MB4535.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:
	zxjZsp+9OAl8HJkZ4eUzjFLYYyamIuyhK7VljmIj5IQA8i7MB4Y1B5qyy0pI0DpczPse35hsY3WaE85EDXsjRBTvmUeLKGGibtae1HlIAvbzDBzNPUxEeV/k5KDq4pEEoCVdJmq0l5hfvJWyMiTlqGM4voZQ9cZNnouDVck8gPHEiwGeiaU/asaMzg9t2uU+a07q/Yi1KZjv/ofIrW5SjAxGQgvqm5YYbVIPijUnIKhRwP5VhZUbyB4i5sjwwTAuscACEhZKbTdR+LIaBAIQIEYtfEUkNS1SmU1+x2FiFHf7RsnwAHu+F3rnAhzxvQDG5YLUJdEHz3iYESvypDpTL5Y4pRuuCzcT1Z82gss9LcNlDYfQZ8aP05/1qRhDSvBLu7z9nFn4uF16jRHCsd/BD5Mzw9Hnr7OyMplspNNeXO42szHM/oqAeLddoZ1jE0g0qSOraewRa2sdsje5hqqgMYpUFbbwuLN/lU2REwt5FVUmg0rHM2ANrFVKPUyNw/6vJ6DLK3axgE9+GYjUWaCc0cIcdv4xul0A2C8b3FnIvJMD35aV2tmRRGGNOKc6qTkUyyAKvjKstH8OLW8qS40+D+MQMgrm/VJDjNRFca0Bq8GsxLw4bH/O+a5GPCQy/1kwGS+wc3wKbhZcORRPurdCn23HP0eOOUY76fBrK4MuC2jv+2I4052OKKcIR17sZOnbIlAXq9ZIVsIrgf0eUOiAxXYB16IDItsJrx1C/MpZZ30qlHFic8nQxq0+b/nR9Md8
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)(86362001)(2616005)(186003)(316002)(6916009)(5660300002)(6512007)(66476007)(66556008)(2906002)(8936002)(31686004)(66946007)(6486002)(53546011)(6506007)(38100700002)(8676002)(36756003)(26005)(508600001)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SVlTa3hsME85Y21KTTdwa1hXaEE2U3orc01NZWdlbDdEU3M5NDg2QmFvNjhH?=
 =?utf-8?B?TnZqSUR5WndIWXlrcUd6L3ZVN2JGWTMrT2pFd2JjbEVVaU1idTQ0VzBYblF6?=
 =?utf-8?B?QnJHbjB6TGRDVlN5SWtjSlFtOGIyei9saXpHckNqb2xMVGlRa1BFWEFpSURV?=
 =?utf-8?B?dlFjSE55NjM4bmZMS3htRlR0RE9xbVRxeGU3bC8xc2tMb011Qm5sK0dqSVdI?=
 =?utf-8?B?aHFSa3FnOTVJZ2xiL2NKaCs4NWxSRisyc3dFYWJOcFFpenJWVFFuQmxYMnk5?=
 =?utf-8?B?MFNreFdLMDd3NlNIaWViRVkyUml6cFgyQkRicXk1aHFtcFhzSk82bnF0Y0Zx?=
 =?utf-8?B?QS9mektsTUN0bVFzWGkwS3RzVjlpaStIY08zdFQwQ2RBNlp5dHM4WFFWVVpu?=
 =?utf-8?B?RFB5UDFSejlwNjlTa3hpRXBLWm8zNGdYeGxYbXltdUtCbTJLOE5jUTR3d1Ji?=
 =?utf-8?B?dzd4NzlkMURNeEU5c0l0cCtjM2tOQXVLb01HdmlDYXM0emtBTmE1ZENxUjZN?=
 =?utf-8?B?UlVwSzQ3VU5TbHdGZTRUYVVMSTJFbFNpbnRzN2FSeUNZMDJlTWRPN2VYM0FM?=
 =?utf-8?B?T1R4MGp5WU9hQUwyVFRlRDk1OUZPME50TEk3NmZuUXB1dy9wNjQ1SWQxc1M0?=
 =?utf-8?B?NWN6R3d6VUhqRDA2Sk5GK1VZS1pkTml5bVBJT2FMcitOTXNoVWdLV3JkdGZ4?=
 =?utf-8?B?RTZ4NXdFREFMdUV2UGM1ZmV5dkg2WUNaazM1T1FnM0RYbVpmcUVIbldCMFNP?=
 =?utf-8?B?VVBjdk9VSUY0NDZzYU4vc2NsaERtemxLMUlPMTVieGV4Z2w5cHpBWllsUThN?=
 =?utf-8?B?THNjcmx2OTg3RVhwZFBlSmpLd2F1QW5QMWI0MmM1Q0Z1T0traFA2dHJhZGha?=
 =?utf-8?B?ZlBWWDRDVDBtakZyZCtWVzdJS1Jxell0ZFhSc0FkYWdwMkEycUFtMkw2MFow?=
 =?utf-8?B?N2xuRG1ySW0wOWprWTVyK0lmVS9kYTdBOWY4VE9ocDJHNW9TclpISmw0eDNY?=
 =?utf-8?B?cmRZSEtGTWdvcFdKMmgzUkNBVFAyZU1EWmMzZjA5MnpZZi9iTFZuMUQydVk4?=
 =?utf-8?B?UFd4R3Ryeml5RUgwcC9Sd1hiWEZKc29Pa2RML0NMWXkwTXJKUDlHem9RRmZG?=
 =?utf-8?B?T0xUQ3JLV2RQbHQ4NEU0Y2ZqbU9WTkhjWGU1Mk1DWkpPaU9IbHBQd2VmS1lz?=
 =?utf-8?B?QmgwbnVUY3hWTTZxL1NaMHl2bXFLblRjQVpBZmlLN1hZaWZOWCtoWVNRSVFt?=
 =?utf-8?B?VHhXQmZPWTNGZjA4MTB1dWRWYXNJRnZxN0trUXFINkJieWVzYnpmeXpHRzFT?=
 =?utf-8?B?WWk0a0g0SFRPQXBrV1hYSUdNcUlUblEzQTlIM3hSOWNubXpRQlAvaXgwL21T?=
 =?utf-8?B?RkpvaVpLN2JaWUJ4QWlkbHNVNXhVQlAxbjhReEhQVXBISE02bEdjbXlodlcz?=
 =?utf-8?B?UFVUZjRaT1ZXclB1ZjRWZHVuZFdyV0ZjVDRXQkpYMHVnY1cySlR2QXNqYjA4?=
 =?utf-8?B?NE1DZW9ISlN5cEd3NlUzb2tlNDZkekNjVCtKWG5ObXp1L1N0NVFFU2pEYTQ5?=
 =?utf-8?B?eDBPTHF4TnhnY21EWWlTYzg0d2EvampuTEd2eFJrT3RLOGw2Tm5qRXJXZyts?=
 =?utf-8?B?TVkxTFd4UnpNL3ArV0R4cmZPcmpVS1AwYUpVeXY1QXBsSnRVZE9XcmxKQlEw?=
 =?utf-8?B?QnRMMSsweEhhNXJyNU5Oa0ZBRDM0VmM0WElLVFkxSWRiaE0wYmRxNHJTNEpC?=
 =?utf-8?B?NEtsRkZRK2o5UGU4aEt6ZGR3cTBaMG5PTEFsamoxb2ZVbFZuT3Y5b3NYb2pa?=
 =?utf-8?B?YjJNOEtlcmhoMGcvdzZrYWNzWmh1cGswMVFrRGd3aEhlSnNmczhEaWhTT1g0?=
 =?utf-8?B?MUtmK1ZKRktoVEk2Um9VdUsrbmhHL1QrSTRab1pvRjdtWEI0SVZWN016VERW?=
 =?utf-8?B?MU1Oa3k3dkVFSjg0RERrUnU2Rlg4U1BnbUpLOUdJenNTR3NqaUk3WE5nSmIv?=
 =?utf-8?B?bURyZHBrVGdJOGd0RWVZemFTZDhubGlCZjBIZTJCWDlkVS80U2pwN1JVT3Yv?=
 =?utf-8?B?aVk2MjZTdTNPQ25zZEtNdXpJVG5WdlVKK0pydXVLK2Y4c3dXcE81MnB2U0dQ?=
 =?utf-8?B?cVozbzREektTNWJhTFc5eUFNMVUrQjBLd2NWOWFNQUh1b2Fyc1BNQXVzUnZT?=
 =?utf-8?Q?CRxtpJDQSultLHGkMFnzqtU=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4d2f9592-1757-468d-35d1-08d9da96639a
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 15:22:50.1905
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DIw08djmbDXgml9mk9hE+hx0DnXK6qJXNzKRk/zlsGhFAvROaBE1rOgH5Hw9HrKEDum5LX52kPXIJ5b8ECFlbg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB4535

On 23.09.2021 14:02, Wei Chen wrote:
> @@ -201,11 +201,12 @@ void __init numa_init_array(void)
>  static int numa_fake __initdata = 0;
>  
>  /* Numa emulation */
> -static int __init numa_emulation(u64 start_pfn, u64 end_pfn)
> +static int __init numa_emulation(unsigned long start_pfn,
> +                                 unsigned long end_pfn)
>  {
>      int i;
>      struct node nodes[MAX_NUMNODES];
> -    u64 sz = ((end_pfn - start_pfn)<<PAGE_SHIFT) / numa_fake;
> +    u64 sz = pfn_to_paddr(end_pfn - start_pfn) / numa_fake;

Nit: Please convert to uint64_t (and alike) whenever you touch a line
anyway that uses being-phased-out types.

> @@ -249,24 +250,26 @@ static int __init numa_emulation(u64 start_pfn, u64 end_pfn)
>  void __init numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn)
>  { 
>      int i;
> +    paddr_t start, end;
>  
>  #ifdef CONFIG_NUMA_EMU
>      if ( numa_fake && !numa_emulation(start_pfn, end_pfn) )
>          return;
>  #endif
>  
> +    start = pfn_to_paddr(start_pfn);
> +    end = pfn_to_paddr(end_pfn);

Nit: Would be slightly neater if these were the initializers of the
variables.

>  #ifdef CONFIG_ACPI_NUMA
> -    if ( !numa_off && !acpi_scan_nodes((u64)start_pfn << PAGE_SHIFT,
> -         (u64)end_pfn << PAGE_SHIFT) )
> +    if ( !numa_off && !acpi_scan_nodes(start, end) )
>          return;
>  #endif
>  
>      printk(KERN_INFO "%s\n",
>             numa_off ? "NUMA turned off" : "No NUMA configuration found");
>  
> -    printk(KERN_INFO "Faking a node at %016"PRIx64"-%016"PRIx64"\n",
> -           (u64)start_pfn << PAGE_SHIFT,
> -           (u64)end_pfn << PAGE_SHIFT);
> +    printk(KERN_INFO "Faking a node at %016"PRIpaddr"-%016"PRIpaddr"\n",
> +           start, end);

When switching to PRIpaddr I suppose you did look up what that one
expands to? IOW - please drop the 016 from here.

> @@ -441,7 +441,7 @@ void __init srat_parse_regions(u64 addr)
>  	    acpi_table_parse(ACPI_SIG_SRAT, acpi_parse_srat))
>  		return;
>  
> -	srat_region_mask = pdx_init_mask(addr);
> +	srat_region_mask = pdx_init_mask((u64)addr);

I don't see the need for a cast here.

> @@ -489,7 +489,7 @@ int __init acpi_scan_nodes(u64 start, u64 end)
>  	/* Finally register nodes */
>  	for_each_node_mask(i, all_nodes_parsed)
>  	{
> -		u64 size = nodes[i].end - nodes[i].start;
> +		paddr_t size = nodes[i].end - nodes[i].start;
>  		if ( size == 0 )

Please take the opportunity and add the missing blank line between
declarations and statements.

> --- a/xen/include/asm-x86/numa.h
> +++ b/xen/include/asm-x86/numa.h
> @@ -16,7 +16,7 @@ extern cpumask_t     node_to_cpumask[];
>  #define node_to_cpumask(node)    (node_to_cpumask[node])
>  
>  struct node { 
> -	u64 start,end; 
> +	paddr_t start,end;

Please take the opportunity and add the missing blank after the comma.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 16:13:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 16:13:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258602.445552 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9r6d-0004gv-Ly; Tue, 18 Jan 2022 16:13:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258602.445552; Tue, 18 Jan 2022 16:13:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9r6d-0004go-IK; Tue, 18 Jan 2022 16:13:11 +0000
Received: by outflank-mailman (input) for mailman id 258602;
 Tue, 18 Jan 2022 16:13:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aElt=SC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1n9r6b-0004gi-V8
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 16:13:09 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 860bdd63-7879-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 17:13:07 +0100 (CET)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2056.outbound.protection.outlook.com [104.47.14.56]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-3-_fisqoFkMTKaigKpTddzJg-1; Tue, 18 Jan 2022 17:13:06 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM0PR04MB5618.eurprd04.prod.outlook.com (2603:10a6:208:123::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Tue, 18 Jan
 2022 16:13:05 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.014; Tue, 18 Jan 2022
 16:13:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 860bdd63-7879-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642522387;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=9UFVMblRFW7m+oaFwR03YITvijHcUty1Y7Fdf1lt1cU=;
	b=lghL6J8yexyJ72yXPJ89+Qkda4HI18c6EMdM1SijOibvupVI92t0vnGCovImbHnzQA81ne
	7HcPOxFWEJDgOJ8F475v6OyNXiPj08evtlRPNbSK6dl8qtM3mRfeWdSux1FKFG9BYwKsIx
	JkwtSgtefez+1/Unxsd6/yhtWeWP8Rk=
X-MC-Unique: _fisqoFkMTKaigKpTddzJg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dKqv757hjc4vnEmOdLnvYIRSqF4oEKcHAUfINxq/if9QcGSZMgNTqOEzGT7HlNIiMd2XJGzlQU7+uYeG+gp5veWHDSDpFqwualAk115lIdNCKQcfGlKqY9DA+o8CM6YsDNO+P5yUSTWhbAEozs/nFfdHsZUyH8iZz5Jf9aBZ3fMPFdyaIZSi4WlwZRrZRNFYRlmaQ3Nh0WCPSI4XYcc6VFCizPtBgdt+NBw4s2TAlJjbKoJx+l300WMkai6OhMErci2IorKfyt0Fd0kQKBNmtzEMxny9Uj8rFufrfALlSyaig7YJ7kf6hVzR2MPH9kt4YRUetxhr0DL2qeJM8K4vAg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9UFVMblRFW7m+oaFwR03YITvijHcUty1Y7Fdf1lt1cU=;
 b=i1EG/31tFCQFLhHRecTW94P6VR+3EoEekRurgWZLRvz9lQ0TWi9ehxmd/PfffP8nnQV9oGFXDnKnmaIKGKOwO5xdiarTf8LGbKOp7G7IUvGFCR0fz02jm1n5HdFNlccyF/XFvbO46HoNDjsqL9bpTPvaw/Z+htYT2MRXB5CFZ5L0AR6Ei5LFdJ4QB+Lxtwo6UmxjcSkfCJqAxkUB3Jmh2mfjjoLx2KgYkCQfEWCUqyC5boJoKCKHLSfK8A+6plQutetWH98vMFPqI+b8xoOxDhMuXt3A17v49pxIYvU4f4dBiiLYNLwmSfPTmUvi4cMb9DWv1TGLBB0K0jIGzFfvcw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3fe681fa-d01f-d5df-23f2-6c6d8089fd8a@suse.com>
Date: Tue, 18 Jan 2022 17:13:02 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 08/37] xen/x86: add detection of discontinous node memory
 range
Content-Language: en-US
To: Wei Chen <wei.chen@arm.com>
Cc: Bertrand.Marquis@arm.com, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, julien@xen.org
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-9-wei.chen@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20210923120236.3692135-9-wei.chen@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR08CA0025.eurprd08.prod.outlook.com
 (2603:10a6:20b:c0::13) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: aa384769-b6f0-426e-5fca-08d9da9d687d
X-MS-TrafficTypeDiagnostic: AM0PR04MB5618:EE_
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB56189324B3154058F5470354B3589@AM0PR04MB5618.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:
	x7Pv9UndX8M+YksT1915ecSwXI/EeNbT+zddlVpwgn85HOayabELJ8XEyxPdvBcF1ejqmyl0kmvsb0MHPHZJ+mBsVBPbwMh7Mhl6cOxNtVuiR5+2dSOVcAh15xGqSmctCeM3lJNJjVhPtCDi5dNQtzYmGI/d59oTd1OcVP0v/Tb+ebPJoZw8vv07N2vaolpwR+Eb33nAzVJ5hhzJorB+iIU1wFbgbzDQNnVhZSFzvmztJu2ZdZzECOS45suLEaTni8A5P4gj6K2ACTZRfrcMgbmKbc7O/IWt7Ot7rh1sjw/XCKjltsjdvtydMAigrNa9mB3Xn3LYlSNblfZtuzmt/WMl+S1j/shpH2DlIZrBi+pleh16ZkOPwoiPMLrYJa4ripRoDqzHVGrqCFNzWSEPBLt2HCBhSd0/Evg1m8g0joIOyQQ9sMImu7iAuDeKzF/d1rtxHWzk47OKa/cYFxBPnZWzIoBihwaBlqBPjzfcSWNdkvcZi5TKAuf2YFaFKbx1jo0h0v2Nk5ptf31BqtMc4458nef2O54Odya2gC96Eeb80E28emQJpjUb4xF9MmmRX4a9Y0Yt1hLxmkhS/lGH50s2zwCYdNvnKPNy3jHtlDTaHApl/rCUt4Dr3zcaEs+Jj85pngWFt+ph8dLJHaIsl5AopeajAy191LjoXEC6X/gMhhymLEcYVBm3QqPsLK7mBdqYrAfRwR6hN4JgECZsIiEtfiN0M7+Xb/q1Mao6yPag9PYOo0pc+bBoyJe3szQE
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)(5660300002)(8676002)(8936002)(36756003)(2616005)(31696002)(2906002)(6916009)(38100700002)(83380400001)(508600001)(186003)(6486002)(26005)(66556008)(66476007)(86362001)(31686004)(66946007)(6506007)(316002)(53546011)(6512007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MUJuR1VXWE4xWHNDQU51RHBkYjlSVU14NnlHeFEyWnpPZGdKbnJ0UlJicnps?=
 =?utf-8?B?YWpQR2p0UGFaaDNEMDJZK2UrSjZCRjZHRDBjQXExcGZKSjZnWitFYnJCKzdI?=
 =?utf-8?B?WEpJTHk0eHFaZjc2bStyMzREOWo4bTNLbUNVUVloSExrakliaFpjUXFKREtj?=
 =?utf-8?B?TmtIRDhjZVBaa2RuQzdNRGJQVE9aM0grUTZuQW1LOFZlaFZJYWdFZDZGcW01?=
 =?utf-8?B?NzVnZmdyenJPL2hUYmVxK0U3UmlxVDZqVzlJVDdPZFByMGJJVXZSNFFHQjlF?=
 =?utf-8?B?NkpiNTBQN2lWWFd5bVVYMlgxdkJCQzVveXVRN3BFdmV0R2pyYS9OV1Y3QXJl?=
 =?utf-8?B?WUpzTUpyV014L2dMcElGYUJQdTRSUHAxM0FBUGF0bElBUmtXKzZKZm00Wmt2?=
 =?utf-8?B?MHZQa1lDaUQzZGpSR1g0S1ZGazNPak4wdk44SmhyUm55ckZ3QWlpd2RONzVV?=
 =?utf-8?B?RFAxNzR1MWhrYVRSSUVyaXhmQ3ljVElsVFA2dStrYityNFRlOWRpU3BJZUJr?=
 =?utf-8?B?VGpxVC9pSUI2empXL3BldSttUzdsWFVxMUhUY3haVmF3T1pOWCtrU2h1NUxR?=
 =?utf-8?B?UXdDUmkvanYzTmZhQkFjb2RkeWdORmlqeGdzakFMUVd4WDd1WS9FVGdBOXBK?=
 =?utf-8?B?SkVwcnRtS09hYmpaU0d6a3piaFhmUlN5bUk0Kzd4RVVDUThvUEFFWURFUmxD?=
 =?utf-8?B?N3hta09OdkZLVjNRZDNGYWtGcnlYN043UVcxN21DanlLL3N0VXlpTlpvWWF3?=
 =?utf-8?B?azVwRVZGOFFUZDdES0Q5WTZlVlg3dVdsZDhCdTZsbnBNNTlYRTFtU1FURi96?=
 =?utf-8?B?MlF0YnFaM3UvMzBuY3Vpekc2MStlUTl2WWVHRTNuZ3BwVVNRdjlUZDIzaVVY?=
 =?utf-8?B?M2tHZVVRTm5na1o3azVWcmkwTncwUDBsR1ZMc1BMRTIrQUF6bVFJSnY2NTN5?=
 =?utf-8?B?azY3Tmg4dmIrTzZMdHMxRzFzL3B3dDV3bytLMkhrUTZCOGlKMU1vRnA4S2VH?=
 =?utf-8?B?YTFYZ2JCUkdBTkJyTHVHTDhFTHo2eE15SVJwRFJsU3VoNjN0V3ZFQkFvZmFo?=
 =?utf-8?B?YjNFZmpWQy83T203a1JIRTZnQnpZQmwxYWZMY1JDZXg2bnlQNjJzcmxyN2to?=
 =?utf-8?B?VU9xRy9KV3gxWXN1QVNxY3NUeHZqeVJZdFQ3VEhHZUJLaVRad25sTDJyUlRT?=
 =?utf-8?B?cHlPN3FuQlZTSG9iVzI5Sm5OZGlYZ0NuTmdiMnlKRGk4UU16SEFETWZmY2I0?=
 =?utf-8?B?REovNnFuaFpHUVU2SFpDcHFPeHE1Y2huOGt0bWpNdFJ4NmlvRjBWM2NJaFZj?=
 =?utf-8?B?WnRUMDJxcFo5emUrVWhDVndWN1liL3BwRGdDcExlRExqdHVHMGVBanVxb2xI?=
 =?utf-8?B?TzlyMlZ5MFM5Mmc0QjI4MXlxSFNuK0Uxdk9vQzVDUnRWbkF0eEZlbk5VZW41?=
 =?utf-8?B?Q2dpZzlZaXZNczgycVdnVXQvTjkySVU0d3dJNytGTy8ydksxQUhmTWZHVG90?=
 =?utf-8?B?bXI2eE0wcmNKdzBZV00zbndhNll2OTFPQ1hteXBPUTdkOHpBTUFRcGxsYVlL?=
 =?utf-8?B?NERNU3lFemlKTUNmd3BYNXRYSngzM2xteVdRUXQrZFgxaHk0cU84VGlVei9x?=
 =?utf-8?B?U2hUZElWalVxVi9oRk1iRXk0eWdnRis4VlpGK2M5ODFJSmVkcVhYMHlPbU5M?=
 =?utf-8?B?VDFYdDYvTzNjU3oxSEkvSTRnQjhyeUZsNnlkb1JCUHJ0bEJSZkhzaFdwb0Vt?=
 =?utf-8?B?b29EQ1JSWTN5ZVZoWFR0Nno5dzJWdXB4ZnlmdDVRb25hNkNnVnp5cTV2M1hk?=
 =?utf-8?B?RmtpSTlCN0J4NStLRUxUbFNsUk1QQm45NWFPaEREN0RFbWhaa2plb25qL0hN?=
 =?utf-8?B?cHd0MkVQeHR3cml4TW01UzRyZm4yN2Y3ZzQ1UUhjeUdWY2dHb00rTFFWcElL?=
 =?utf-8?B?VUdPYnNpSmp0Yk1JcjVXQlB5cHF5ZmlHMUNFZERyWnN5a2ZqWHJ1YXpzakox?=
 =?utf-8?B?REpMdlBNWWRJcmMzYU1DTHdHODZKNW1qRi9Kd3BlMEs1SGVsTDlzZFJQajBR?=
 =?utf-8?B?c3NNOFJmSjRZVkpaSUhVVWFDQmMyR3BzTnpNeDBrbnpDNnl3d1VnZXlRQlFy?=
 =?utf-8?B?Tmc3YmFVOHlHNk1SNGsvUk1wcm1Uald0MGRNZGVvUUtwTEVxZlE0dm42RmFX?=
 =?utf-8?Q?BljZ9TPJHSri3pKrDg0QiAo=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: aa384769-b6f0-426e-5fca-08d9da9d687d
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 16:13:04.8572
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Cpht0QS/YZmDjhxkWOb/Kcn/RqcghEh8eb+2B7dZSU7ipZfKa9T7B6uN3TkzgOfgpoXPme8scULq75XZBfPm/A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5618

On 23.09.2021 14:02, Wei Chen wrote:
> One NUMA node may contain several memory blocks. In current Xen
> code, Xen will maintain a node memory range for each node to cover
> all its memory blocks. But here comes the problem, in the gap of
> one node's two memory blocks, if there are some memory blocks don't
> belong to this node (remote memory blocks). This node's memory range
> will be expanded to cover these remote memory blocks.
> 
> One node's memory range contains othe nodes' memory, this is obviously
> not very reasonable. This means current NUMA code only can support
> node has continous memory blocks. However, on a physical machine, the
> addresses of multiple nodes can be interleaved.
> 
> So in this patch, we add code to detect discontinous memory blocks
> for one node. NUMA initializtion will be failed and error messages
> will be printed when Xen detect such hardware configuration.

Luckily what you actually check for isn't as strict as "discontinuous":
What you're after is no interleaving of memory. A single nod can still
have multiple discontiguous ranges (and that'll often be the case on
x86). Please adjust description and function name accordingly.

> --- a/xen/arch/x86/srat.c
> +++ b/xen/arch/x86/srat.c
> @@ -271,6 +271,36 @@ acpi_numa_processor_affinity_init(const struct acpi_srat_cpu_affinity *pa)
>  		       pxm, pa->apic_id, node);
>  }
>  
> +/*
> + * Check to see if there are other nodes within this node's range.
> + * We just need to check full contains situation. Because overlaps
> + * have been checked before by conflicting_memblks.
> + */
> +static bool __init is_node_memory_continuous(nodeid_t nid,
> +    paddr_t start, paddr_t end)

This indentation style demands indenting like ...

> +{
> +	nodeid_t i;

... variable declarations at function scope, i.e. in a Linux-style
file by a tab.

> +
> +	struct node *nd = &nodes[nid];
> +	for_each_node_mask(i, memory_nodes_parsed)

Please move the blank line to be between declarations and statements.

Also please make nd pointer-to const.

> +	{

In a Linux-style file opening braces do not belong on their own lines.

> +		/* Skip itself */
> +		if (i == nid)
> +			continue;
> +
> +		nd = &nodes[i];
> +		if (start < nd->start && nd->end < end)
> +		{
> +			printk(KERN_ERR
> +			       "NODE %u: (%"PRIpaddr"-%"PRIpaddr") intertwine with NODE %u (%"PRIpaddr"-%"PRIpaddr")\n",

s/intertwine/interleaves/ ?

> @@ -344,6 +374,12 @@ acpi_numa_memory_affinity_init(const struct acpi_srat_mem_affinity *ma)
>  				nd->start = start;
>  			if (nd->end < end)
>  				nd->end = end;
> +
> +			/* Check whether this range contains memory for other nodes */
> +			if (!is_node_memory_continuous(node, nd->start, nd->end)) {
> +				bad_srat();
> +				return;
> +			}

I think this check would better come before nodes[] gets updated? Otoh
bad_srat() will zap everything anyway ...

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 18 16:18:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 16:18:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258604.445563 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9rBZ-0005LQ-9j; Tue, 18 Jan 2022 16:18:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258604.445563; Tue, 18 Jan 2022 16: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 1n9rBZ-0005LJ-5D; Tue, 18 Jan 2022 16:18:17 +0000
Received: by outflank-mailman (input) for mailman id 258604;
 Tue, 18 Jan 2022 16:18:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pp88=SC=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1n9rBX-0005LD-MR
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 16:18:16 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3b0d089c-787a-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 17:18:13 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3b0d089c-787a-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642522693;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=aF96mxvPRc3tj1gGumviBBL7E6YEnHPqBYEvgnEOOSw=;
  b=ZzcTz4je5SzUc5G59b8nDEd20kYXg2w78xAR92QjXLp71PBkG89n7gWF
   aOPTwr1P+7N1xNAL9EAIGjZlWk2jBuRc8yuWxD3DjM0F65ZVwwsxlsEOF
   4McGrbseiZwN78bALLQnwzlaLsEI9iVutGiMdaC1dLsoyY6V3Z0hjfPID
   A=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: TM1IjXZT3Xqq4zutQtxBlQU37CGQrlm5O4bk8Q5uXORVbV9iNmcALS8l0KErUKib80JBIyqjNH
 TLmeq/ja7E4XT4e8LFXpxjmLHi7IIubeTJ8G8Y2ZdDlCyKe0MvctMdZLF7mXuqJC3BfThzrlzq
 KEyH7GmrsBNj569tuf+bo35+OTdB3N/jr11PIBlrsZMiWXivQNBfkdbL2qwYvCVMOG6q0036G0
 KdXuVljH/DWo3JsTaDxF39oxd0EnGe7Ozz1fP4/GkMLACSDGl1e9Y+6O83llIUKyjviqTSq/HV
 FDQ=
X-SBRS: 5.2
X-MesageID: 62642953
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:hrN+Pq7R8DS3ohNOuwJzuAxRtA3HchMFZxGqfqrLsTDasY5as4F+v
 jMdUD+DPPmOYWDzf9lwbom08R8B75OAzt9gSFNqr3thHi5G8cbLO4+Ufxz6V8+wwmwvb67FA
 +E2MISowBUcFyeEzvuV3zyIQUBUjclkfJKlYAL/En03FV8MpBsJ00o5wbZg294w2LBVPivW0
 T/Mi5yHULOa82Yc3lI8s8pvfzs24ZweEBtB1rAPTagjUG32zhH5P7pGTU2FFFPqQ5E8IwKPb
 72rIIdVXI/u10xF5tuNyt4Xe6CRK1LYFVDmZnF+A8BOjvXez8CbP2lS2Pc0MC9qZzu1c99Zy
 4RkrLOPCi0VILDx3+ccTCtBFhh4BPgTkFPHCSDXXc27ykTHdz3nwul0DVFwNoodkgp1KTgQr
 7pCcmlLN03dwbLtqF64YrAEasALNs7kMZlZonh95TrYEewnUdbIRKCiCdpwgm1u2pofQK22i
 8wxcj5tKzrkQDd2alYeD780ze7zqXPdWmgNwL6SjfVuuDWCpOBr65DvOtfIft2BRe1Og12V4
 GnB+gzRHRUyJNGZjz2f/RqEj+rEzH3TQ5gZGvu+++ICqE2ewCkfBQMbUXO/oOKlkQiuVtRHM
 UsW9yEy668o+ySWosLVBkPi5iTe51hFBoQWQ7ZSBByxJrT84FewH0c7DRR9dsEb88w3Wg4z0
 2aPpoa8bdBwi4G9RXWY/7aSiDq9PykJMGMPDRM5oRs5D8rL+99q0E+WJjp3OOvs14CuR2msq
 9yfhHFm3+17sCId60msEbkraRqIr4OBcAM67x6/somNvlIgP97Ni2BFBDHmARd8wGSxEwHpU
 JsswZH2AAUy4XelznPlrAIlRuDB2hp9GGeA6WOD5rF4n9hXx1atfJpL/BZ1L1pzP8APdFfBO
 RGP418NuM4NYCDwMMebhr5d7exwksAM8vy/B5jpgidmOMAtJGdrAgkzDaJv44wduBd1yvxuU
 XtqWc2tEWwbGcxaIMmeHI8gPUsQ7nlmnwv7HMmjpzz+iOb2TCPLFd8tbQXfBshkvPLsiFiEq
 L53aprVoyizpcWjOEE7B6ZJcwBTRZX6bLirw/FqmhmreVs5SDp/Wq6IkdvMueVNxsxoqwsBx
 VnkMmdww1vjn3zXbwKMb3FocrT0Wphj63k8OEQR0ZyAgBDPzK7/tPl3m0cfFVX/yNFe8A==
IronPort-HdrOrdr: A9a23:JpNWCqpj43AfPy+41UewDWsaV5s6LNV00zEX/kB9WHVpm5Oj5q
 KTdaUgpHzJYWgqOE3IwerwSZVpQRvnhOZICPoqTMeftWjdySiVxeRZh/qG/9SOIVyCygcw79
 YHT0E6MqyPMbEYt7e53ODbKadd/DDvysnB7oqzoBkNPGUaDJ2M9z0JVjpzUHcGOzWubqBJRK
 Z0k/A33QZIDk5nFfhTaEN1JtTrlpnurtbLcBQGDxko5E2lljWz8oP3FBCew1M3Ty5P6a1Kyx
 mBryXJooGY992rwB7V0GHeq75MnsH699dFDMuQzuAINzTXjBqybogJYczHgNl1mpDp1L8Zqq
 iUn/4SBbUq15oXRBDvnfLZ4Xin7N/p0Q659bbXuwq/nSWzfkNINyMIv/MqTvKe0Tt+gPhMlJ
 tR2WSXrpxWCg6FshjcyrHzJk9Xv3vxmGEll+ELiXxZTM85U59+6aIi3G49KuZQIMrdgLpXQt
 WGyPust8p+YBeRanjCpGlhwNalQ3Q0GX69Mz0/k93Q3D5MkH9jyUwEgMQZg3cb7Zo4D4JJ/u
 LeL81T5f9zp+ItHO5A7d06MISK4632MFrxGXPXJU6iGLAMOnrLpZKy6LIp5PuycJhNyJcpgp
 zOXF5RqGZ3IivVeI2z9YwO9gqITHS2XDzrxM0b759luqfkTL6uNSGYUlghn8apvv1aCMzGXP
 S4Po5QHpbYXCrTMJcM2xe7V4hZKHEYXsFQstEnW0iWqsaOMYHuvvyzSoefGFMsK0dvZorSOA
 p0YNHDHrQK0qnwYA6OvPH4YQKlRqRJl6gAZJTnww==
X-IronPort-AV: E=Sophos;i="5.88,297,1635220800"; 
   d="scan'208";a="62642953"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KpPC93tqZYELmU0wShaQRxVfAOYblOtHYBnIucymcXAMyyOrzmJwALmZ3RwPVyWFQPHVCncaeDrWKz1YkqZXWfGOOC1YZd1fY7SvhFIvA6d5LgW3YmBoe7AwA4qQbuTP2ToxWBsGJCSZp3vAPzW1mj/hLNvdKSBw5yzXGssoPnfEHAe01rX4SrozFTpk0jOCN7sLWlCSZHCdAshHMixV7RD93QOxw0oibg+laatk4VloF+iYnLDFXOuC9BbGzmby3soTqzpPFte3yN+ICTnfBKLfhXprrPYnlTP1Cu66ooxGnZIFVnLdVObyw8jWwBZDY11wJZYieb50iD+3Cyjvpg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dX9q8j8NX9h/9vRwrio+aMOebKffHZxdKayjUcKJNSI=;
 b=f/dIx96F/rx5oeNsLVZir0GaXlC/D2CU2NYSItNezNTY1yQ2XrqEo/C2h73h4oh+4mNyZpACkWAch0HMlVCff/f88ig5S4sC3rUmIM7mzjQCuIrqFCQDJ0howxu1wmP/RH1RybY+sY6EOvC0B1LKr2rsiz0pl5ermqzPEQBhHAudCuqwe2v2JUjeiTQSw8NFh7i+39k0hNDAfLpI5hh6o4Q5cDEN5jeTSnvlwu0NmAJDX8DVqU7ADrPuH+qxhklQclkhGWaOX33i/RuTQw3+0q9kAX9yr4u3J56RZUlUbPAG5QHmQW1MsdY+tiRtsAi0/YTrJ5tNHSK6dw/fCp3obg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dX9q8j8NX9h/9vRwrio+aMOebKffHZxdKayjUcKJNSI=;
 b=roajrSB///srq0hsYm2NRDzhY7S83WAgHX1cvVyUJdefBs0HktOAGoPjecZGCgSSf7SDq0ZKNOkrNtdlhewSS5v9CO8x9pLqmwtCYqmEm/Hu4eXJJPBHaQ7Notqqba6N0Es5dq5CPN/HKZUxLAdld7t+AC97TltV5/EFgcHBZis=
Date: Tue, 18 Jan 2022 17:17:45 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <amc96@srcf.net>
CC: <xen-devel@lists.xenproject.org>, Jan Beulich <jbeulich@suse.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>
Subject: Re: [PATCH v6 02/12] libx86: introduce helper to fetch cpuid leaf
Message-ID: <YeboKbhW0/M+mipK@Air-de-Roger>
References: <20220117094827.16756-1-roger.pau@citrix.com>
 <20220117094827.16756-3-roger.pau@citrix.com>
 <5a9c0bdc-e996-436d-0b08-b7422f47f694@srcf.net>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <5a9c0bdc-e996-436d-0b08-b7422f47f694@srcf.net>
X-ClientProxiedBy: MR2P264CA0143.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:30::35) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 37e172c5-c600-4309-55e6-08d9da9e1387
X-MS-TrafficTypeDiagnostic: MN2PR03MB5119:EE_
X-Microsoft-Antispam-PRVS: <MN2PR03MB5119B7F86292741BEED193C98F589@MN2PR03MB5119.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: cIU8k02Wpbelll0sav7bwB3Z1V8rnA2HKESdHYzlZwEtCN1wvLPksoVCh5X2CTYdjAnWtxDffSVLeLg9Uf5f3ug7W/xksPMC5DUdncQZ9QYhxyFBcHErG5gNRbG4ezQwiLwCTHnTERKSLkppYhWybIz7Wm2nU3xx+yDcmQ2SBJVd68AakGzvC99bldplq6xIrRkXbd4c0El0D+6KaUIHjibnVY9zOh2Pri1bzehe0XGWm4dOHtkus0We8jkwvi8f+1fSuCkY8WCw2wODmafANntedWFkpCk108AkIMomzVwsdKZ6pIVzqaJfBUacM4YY36JuBre+/aYSs9i8O5Ia67Y+QYhcbcIQhotiKV5e/WPcQ7Hh109beNmGj/Ow7sCasyMrOWjqdonuUfUf+9JAUp/22iFzF5LIJ6HdrN674I4u1nMedpmeQDI3S4AMEuN69G99zVGyVjvzl2cE0rcj78Us6CeL6LWa+73+96XI+fGQfuMPTLQVkY95jQezO/y0MlE8bJlapwHAHhpmSQ0Ta0kqb8E+qhAOeH/7si/S76cR92Wp3ecfLKphUGE6SVjYnd9C5E6naC0X7VL6qXxJam2OJ574Vces4Z8H/gezuCFazTBdhFGljS+y8b6N/2B8uKW5pR9BkiHjyLyIs7jUrg==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(6506007)(6486002)(8936002)(6916009)(4326008)(107886003)(5660300002)(33716001)(9686003)(53546011)(38100700002)(6666004)(85182001)(186003)(2906002)(66556008)(83380400001)(66946007)(8676002)(508600001)(86362001)(26005)(82960400001)(54906003)(6512007)(66476007)(316002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?a1JURHpJNUFDd1NyNlJMUi8zQnRJakFFdUVmWDNEVHVydXhmcHVXeXpYcUlz?=
 =?utf-8?B?MERpMzg1QlZhVldTODA1MHhLSVJMTVcvdERoVUNXRE8vYklRd0dvVEtCVFJE?=
 =?utf-8?B?eE9wdXYySFI2TGhWSlpEVmJDOXJRckMxem5nWkR3dmM4cWUrY2lBL0g3b01n?=
 =?utf-8?B?WFFmbTZIRE91dDFvMFNTUm9OOWtvdHBSMlJNSCtaZTF3dmRxOEJueDdORFJ1?=
 =?utf-8?B?VWc2NjBtcytpbmNITlVlWjIyUGFNWlVaTmI2T2txc1ZObno0SFpOblhPdzRv?=
 =?utf-8?B?TVVhR0xDUDUvYm5aY1ZudHIxb09Dc2ppVk82UUtQVmRNVTZZNkpHQnZqY1hL?=
 =?utf-8?B?NXlkdzZhbVNlYUhDTU9zNFdiU294ZWNQNFI1UnNoVit4ZUgyVUtuYWxRUGd1?=
 =?utf-8?B?MGJYQmc5SC94eWQ1MGw5YmRDcVdadkdEM0NQQ2JUZnl0dmRyODdGNko2OHBv?=
 =?utf-8?B?WnlnMmlDc0RrUDdKMktNOXdpOWdtak84dGNlMElmRUdYa0F1eGVoVCtnRFdY?=
 =?utf-8?B?NjQyWEpMUzNEQ2VxT1RCamRRYWxZYTF2NDdrS2ozci9DMkltNWdzUnY3VGY1?=
 =?utf-8?B?MjhQSFlqRFYveXgyMXZIVytMdE5pU085RzlVNzk1QlhSWFdZb3BoWnFaRUYz?=
 =?utf-8?B?bUVhdjVGTVpZTk4xWm9vUThhekhWdmw0VlNCa0xuYTRDZ2VDSFViTXAwVml2?=
 =?utf-8?B?WTVIR0J2QUhycy9MK211TjRsWEFGVEYwbEQ0V2tGQU9hNnVrbjN5L2IwY0x2?=
 =?utf-8?B?V0VpY25HSnhEaWJhS04yU0ZyMlBoYkhLVTlJajY0NisrdDM2NDdLOWhqYXlw?=
 =?utf-8?B?Y2NjS1BWM1ZhYkdhQWJ6OEtWVE5IVXNaUVJPSllNVnFLY1N6SkEyV0JlV2NU?=
 =?utf-8?B?V2lKbTVlUGk2VXp1TE5HYmd4dnIyazBqSFdVdHhVTGppYWZCQVZqRzZzZG5y?=
 =?utf-8?B?SS85czBDOWNPVi9KU09Paytna3VzQ2ZPeDV5T0xORFc5ZEs2MmI3THdWUXdt?=
 =?utf-8?B?ZHdXcWxrb3AyTElJOU41ckJvb2hEWDNCc1JtMk9LMldRQStZYWxuY1NiNndI?=
 =?utf-8?B?NS9VanAvNm1nQkVsdmh1cTljZ1lsYVB4M0s1aW1SRkJLRWVwZXh6Tk9QQXBk?=
 =?utf-8?B?Z3BKREFmY3VPUTJsTWI3aGtyLys1Z2pQNG9oV0kyR29YZG9ncHVkM1ozUVB0?=
 =?utf-8?B?cksrbXk2c1RIQXpUQ3JSZGYxWmUzY2h3MDdYYi9mNC90Wjl6VVY4SXZyazMx?=
 =?utf-8?B?YmFEY3BYeHl2bVdHWlZrbGIyT1JnbFZnMDh4THo2N3M3bWEzZ21sbEkzdHk2?=
 =?utf-8?B?UExqSHNsckYvaWk2Q3hZUjdldXNrMk5JRzJSMlIvOUJwWGhHSXErQk5uMHNQ?=
 =?utf-8?B?b0MxSVpzSTJqMks5Z2JEZzljSGxkdi96ZjkvYmEza3krZmVoaU5JUkM1bUwz?=
 =?utf-8?B?M0l3WXpiUXJkSzB4K3hVMkR5OWY5V3djYUNrUlZhcEJIMTVIMkxXOXEwQXp1?=
 =?utf-8?B?QUxYekxRZFV1S2NFSlZIeG5hTWgvUytZdEV6TUgzNEh1SW9wdlA5a3kvR3Yz?=
 =?utf-8?B?Y1BDYy9OOFppTzZzZWpHZlVYQjI2OXU1ZWswTytBdDhFYzVGbTdaYTFjSyt3?=
 =?utf-8?B?WXhsSVRoN2lGNWV4dVRTT0t6QUJwWUVFUVdpVHFiTmJIWERPYTZlMHBteFhX?=
 =?utf-8?B?eEZQbmIxTkFuSXJzLy9mYm1GcGE4Q25zV0NNaVp3MlZEZ3llcWw3VmFENVQ2?=
 =?utf-8?B?SDBZMk9vRjRZSGhUNG5uZEM2OFo1ZGFVc0xSUGswN3NRK2ZtRkh6OWpZaWcr?=
 =?utf-8?B?K0hvbmpnaU1CZzlGMFdzSmpvUVViMEFucENvaUtrQW1yZm9CcUNKSGpDY0VQ?=
 =?utf-8?B?QXIrSXdlRVphblhlYUJLOUFPKzJ4MENRait0akJkLy91RmRJV3p4L3FoZVVF?=
 =?utf-8?B?TEpjL0w0UmFjRlVzcUF2SnVsWnpCQXRBejJoM3lxQUZvQksrT1J3SGhzTnc4?=
 =?utf-8?B?ZXFrQ0Z6andwRThvbnFJeTNkRFV6ci9kQlFxNW45cGRBT0NwQ3NsYVZTeHgr?=
 =?utf-8?B?YUowUnVFa0J1YXFkaUEzYVdSOW1qSEVYWmphUEdySU9OZzE4TEFxdnhlcmM3?=
 =?utf-8?B?ZTJNdStITGxEdXUvUHZNTXQ3ZWVML3hpZHJVSDdrQ3FlMkhQSHp6M1FDUGFr?=
 =?utf-8?Q?KGQHgyZrQlLNTnni31aRsic=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 37e172c5-c600-4309-55e6-08d9da9e1387
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2022 16:17:51.9303
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mgkVSv4gaSrKmA2RkbJKSHdPA04nJbN8OwEDJZBhhv8HNRYx9+JQPriFU0muGlWKRDNm/tpQtC5r2yQ0nD8TWQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5119
X-OriginatorOrg: citrix.com

On Tue, Jan 18, 2022 at 12:26:18PM +0000, Andrew Cooper wrote:
> On 17/01/2022 09:48, Roger Pau Monne wrote:
> > Introduce a helper based on the current Xen guest_cpuid code in order
> > to fetch a cpuid leaf from a policy. The newly introduced function in
> > cpuid.c should not be directly called and instead the provided
> > x86_cpuid_get_leaf macro should be used that will properly deal with
> > const and non-const inputs.
> >
> > Also add a test to check that the introduced helper doesn't go over
> > the bounds of the policy.
> >
> > Note the code in x86_cpuid_copy_from_buffer is not switched to use the
> > new function because of the boundary checks against the max fields of
> > the policy, which might not be properly set at the point where
> > x86_cpuid_copy_from_buffer get called, for example when filling an
> > empty policy from scratch.
> 
> Filling an empty policy from scratch will be fine, because we always
> ascend through leaves.  This also matches the chronology of how CPUID
> developed.

I'm slightly confused by this. The main point I wanted to make here is
that x86_cpuid_copy_from_buffer cannot be switched to use
x86_cpuid_get_leaf because the later relies on accessing the different
maximum leaf/subleaf fields in the policy object: basic.max_leaf,
feat.max_subleaf and extd.max_leaf.

That would for example make the existing
test_cpuid_deserialise_failure hit a page fault, since it passes NULL
as a policy object.

I don't really felt like changing test_cpuid_deserialise_failure to
cope with the new behavior of x86_cpuid_copy_from_buffer if it was
switched to use x86_cpuid_get_leaf.

Let me know if that's OK, or if you would like
x86_cpuid_copy_from_buffer switched to use x86_cpuid_get_leaf and
consequently have the callers also adjusted.

> The most likely case to go wrong is enabling an optional feature above
> max_leaf, and getting the bump to max_leaf out of order.  That said, I
> suspect such logic would be working on an object, rather than a list.
> 
> The important point is that x86_cpuid_copy_from_buffer() is deliberately
> invariant to the order of entries for compatibility reasons, even if we
> don't expect it to matter in practice.
> 
> >
> > Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> > Reviewed-by: Jan Beulich <jbeulich@suse.com>
> > ---
> > Changes since v4:
> >  - Rename _x86_cpuid_get_leaf to x86_cpuid_get_leaf_const.
> >
> > Changes since v3:
> >  - New in this version.
> > ---
> > Regarding safety of the usage of array_access_nospec to obtain a
> > pointer to an element of an array, there are already other instances
> > of this usage, for example in viridian_time_wrmsr, so I would assume
> > this is fine.
> 
> It's a bit of a weird construct, and both GCC and Clang could generate
> better code, but it does look to be safe.
> 
> > ---
> >  tools/tests/cpu-policy/test-cpu-policy.c | 75 ++++++++++++++++++++++++
> >  xen/arch/x86/cpuid.c                     | 55 +++--------------
> >  xen/include/xen/lib/x86/cpuid.h          | 19 ++++++
> >  xen/lib/x86/cpuid.c                      | 52 ++++++++++++++++
> >  4 files changed, 153 insertions(+), 48 deletions(-)
> >
> > diff --git a/tools/tests/cpu-policy/test-cpu-policy.c b/tools/tests/cpu-policy/test-cpu-policy.c
> > index ed450a0997..3f777fc1fc 100644
> > --- a/tools/tests/cpu-policy/test-cpu-policy.c
> > +++ b/tools/tests/cpu-policy/test-cpu-policy.c
> > @@ -570,6 +570,80 @@ static void test_cpuid_out_of_range_clearing(void)
> >      }
> >  }
> >  
> > +static void test_cpuid_get_leaf_failure(void)
> > +{
> > +    static const struct test {
> > +        struct cpuid_policy p;
> > +        const char *name;
> > +        uint32_t leaf, subleaf;
> > +    } tests[] = {
> > +        /* Bound checking logic. */
> > +        {
> > +            .name = "Basic max leaf >= array size",
> > +            .p = {
> > +                .basic.max_leaf = CPUID_GUEST_NR_BASIC,
> > +            },
> > +        },
> > +        {
> > +            .name = "Feature max leaf >= array size",
> > +            .p = {
> > +                .basic.max_leaf = CPUID_GUEST_NR_BASIC - 1,
> > +                .feat.max_subleaf = CPUID_GUEST_NR_FEAT,
> > +            },
> > +            .leaf = 0x00000007,
> > +        },
> > +        {
> > +            .name = "Extended max leaf >= array size",
> > +            .p = {
> > +                .extd.max_leaf = 0x80000000 + CPUID_GUEST_NR_EXTD,
> > +            },
> > +            .leaf = 0x80000000,
> > +        },
> > +
> > +        {
> > +            .name = "Basic leaf >= max leaf",
> > +            .p = {
> > +                .basic.max_leaf = CPUID_GUEST_NR_BASIC - 1,
> > +            },
> > +            .leaf = CPUID_GUEST_NR_BASIC,
> > +        },
> > +        {
> > +            .name = "Feature leaf >= max leaf",
> > +            .p = {
> > +                .basic.max_leaf = CPUID_GUEST_NR_BASIC - 1,
> > +                .feat.max_subleaf = CPUID_GUEST_NR_FEAT - 1,
> > +            },
> > +            .leaf = 0x00000007,
> > +            .subleaf = CPUID_GUEST_NR_FEAT,
> > +        },
> > +        {
> > +            .name = "Extended leaf >= max leaf",
> > +            .p = {
> > +                .extd.max_leaf = 0x80000000 + CPUID_GUEST_NR_EXTD - 1,
> > +            },
> > +            .leaf = 0x80000000 + CPUID_GUEST_NR_EXTD,
> > +        },
> > +    };
> > +    const struct cpuid_policy pc;
> > +    const struct cpuid_leaf *lc;
> > +    struct cpuid_policy p;
> > +    struct cpuid_leaf *l;
> > +
> > +    /* Constness build test. */
> > +    lc = x86_cpuid_get_leaf(&pc, 0, 0);
> > +    l = x86_cpuid_get_leaf(&p, 0, 0);
> > +
> > +    printf("Testing CPUID get leaf bound checking:\n");
> > +
> > +    for ( size_t i = 0; i < ARRAY_SIZE(tests); ++i )
> > +    {
> > +        const struct test *t = &tests[i];
> 
> memdup().  It is important for tests which potentially reach out of
> bounds, so ASAN can work.

Done.

> 
> That said, you're only testing half of the boundary cases.  Perhaps more
> important important is the case where max_leaf is really out of legal
> bounds.

I was attempting to test this in the first two tests, by setting
max_leaf = CPUID_GUEST_NR_BASIC, max_subleaf = CPUID_GUEST_NR_FEAT and
extd.max_leaf also to it's max value (ie: out of legal bounds). I
could set them to ~0 if that's clearer.

> Further, it is also important to check the non-NULL cases too.
> 
> It would probably be better to have a single cpuid_policy object, and a
> list of pointers (perhaps offsets) to interesting max_leaf fields, along
> with their relevant compile time bounds.  That way, you can try all the
> interesting max_leaf values (0, limit-1, limit, ~0) and check
> NULL/non-NULLness of the answer with a simple min() calculation.

Then it would make sense to rename to test_cpuid_get_leaf_boundary.

I'm not sure I get the part of having a single cpuid_policy object, as
then we would have to go changing it's contents in order to do the
different tests rather than just having a const one for each single
test that's already setup as expected. Also I'm confused at the usage
of min(), but that's likely because I don't really get the part of
having a single cpuid_policy object.

I assume you would rather prefer your suggested testing to be
implemented here rather than in a follow up patch?

> > diff --git a/xen/include/xen/lib/x86/cpuid.h b/xen/include/xen/lib/x86/cpuid.h
> > index a4d254ea96..050cd4f9d1 100644
> > --- a/xen/include/xen/lib/x86/cpuid.h
> > +++ b/xen/include/xen/lib/x86/cpuid.h
> > @@ -431,6 +431,25 @@ int x86_cpuid_copy_from_buffer(struct cpuid_policy *policy,
> >                                 uint32_t nr_entries, uint32_t *err_leaf,
> >                                 uint32_t *err_subleaf);
> >  
> > +/**
> > + * Get a cpuid leaf from a policy object.
> > + *
> > + * @param policy      The cpuid_policy object.
> > + * @param leaf        The leaf index.
> > + * @param subleaf     The subleaf index.
> > + * @returns a pointer to the requested leaf or NULL in case of error.
> > + *
> > + * The function will perform out of bound checks. Do not call this function
> > + * directly and instead use x86_cpuid_get_leaf that will deal with both const
> > + * and non-const policies returning a pointer with constness matching that of
> > + * the input.
> > + */
> > +const struct cpuid_leaf *x86_cpuid_get_leaf_const(const struct cpuid_policy *p,
> > +                                                  uint32_t leaf,
> > +                                                  uint32_t subleaf);
> 
> Examples like this demonstrate obviously why
> 
> const struct cpuid_leaf *x86_cpuid_get_leaf_const(
>     const struct cpuid_policy *p, uint32_t leaf, uint32_t subleaf);
> 
> is a better layout.

I don't care that much in this case TBH. One way or another this is
the style used currently on the file, so it's likely better to keep it
that way.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 16:22:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 16:22:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258608.445573 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9rF8-0006mj-Rl; Tue, 18 Jan 2022 16:21:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258608.445573; Tue, 18 Jan 2022 16: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 1n9rF8-0006mc-Od; Tue, 18 Jan 2022 16:21:58 +0000
Received: by outflank-mailman (input) for mailman id 258608;
 Tue, 18 Jan 2022 16:21:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4BW1=SC=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1n9rF6-0006mW-Up
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 16:21:56 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bf9a2b69-787a-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 17:21:55 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bf9a2b69-787a-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642522915;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=cwPQlDwWU3IB3UlzNCSViyJ1tqa02RhqE+hVPqHbGOQ=;
  b=herKAHsz1xmCWd5hS3VDAbxlwcgL6GL5zupFx1KI0H3Oz8JoGCG1ir0E
   T8c3o3N8+DUOQ4KGZn0sFIsivlvHZS1nmRUXqe91LbppWRF/UT2WzzorM
   qK9cBXATQwyl0Vf5QGJAhCrwDOpnG7T9WelpRRpuFhbckM7J5hgpplYsf
   k=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: Rh3eWGnNFzhivLJzHitEowFhLZEiq+PQsNlZTaZE1d9E94wXKo7P2PO2CJQUyznkZ7ctFOHtfU
 SaRlKmcIyby1SGYZAxzFxg8ycFwpLb7Tvc/jDY3eJsUE1JcmU3cpT/81k2deYzxRlnEc040Fsq
 tUMTxWcZH2BQJuQEBotnhymsw35vPEvFJtqnEcYOODhBxhaUQjvQ45fv1X26rIOkgAUeUWKXyR
 bFwPf8nT20JRikZ1VYF2LTlR0wWqPD7g3d122HAA9e4Oq3I9KgkSwzs040SA5NwZnY5OWdYYar
 cJMY/ZV+mAvK38rnY39KtZA9
X-SBRS: 5.2
X-MesageID: 62156418
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:bi9kWq4B9NYhSo6bYoDQkwxRtHnBchMFZxGqfqrLsTDasY5as4F+v
 mobD2CGMvjZZjD2KIp0Oonjph9QsMLTzNZhSgRp/Cs2Hi5G8cbLO4+Ufxz6V8+wwmwvb67FA
 +E2MISowBUcFyeEzvuV3zyIQUBUjclkfJKlYAL/En03FV8MpBsJ00o5wbZg294w2LBVPivW0
 T/Mi5yHULOa82Yc3lI8s8pvfzs24ZweEBtB1rAPTagjUG32zhH5P7pGTU2FFFPqQ5E8IwKPb
 72rIIdVXI/u10xF5tuNyt4Xe6CRK1LYFVDmZnF+A8BOjvXez8CbP2lS2Pc0MC9qZzu1c99Zy
 9lUlbXvdxcQGqz8nbQkbzR2My9sIvgTkFPHCSDXXc27ykTHdz3nwul0DVFwNoodkgp1KTgQr
 7pCcmlLN03dwbLtqF64YrAEasALJc/3PIQZqzd4wCvQF/oOSpHfWaTao9Rf2V/cg+gQR6+DO
 ZZAOVKDajztfCxLOgsxNahikd+E3HPkNAZ0j2ya8P9fD2/7k1UqjemF3MDuUuKNQcJZj0OJv
 FXs9m7yAgwZHNGHwD/D+XWp7sfQmQvrVYRUE6e3ntZ6jVvWymENBRk+UVqgveL/mkO4Q8hYK
 UEf5mwpt6da3EamVMXnVhu05nuNpAcBWsF4Gvc/rgqKz8L84hmbLngJSCZbb94rv9NwQiYlv
 neLld70AT1ksJWOVGmQsLyTqFuaIjMJJGUPYSsFSwot4NT5pow3yBXVQb5LErOxj9DzMSH9x
 XaNtidWulkIpZdVjePhpwmB2m/y4MiSJuIo2unJdmGp9yNQO7C1Xqip2V2L1MptAqaXXEbU6
 RDohPOixOwJCJiMkgmET+MMAKyl6p65DdHMvbJ8N8J/rmrwohZPaagVuWgjfxkxbq7obBewO
 BeL0T698qO/K5dDgUVfR4uqQ/onwqH7fTgOfqCFN4EeCnSdmeLuwc2PWaJy9z21+KTPuftmU
 Xt+TSpKJSxFYUiA5GDnL9rxKZdxmkgDKZr7HPgXNSiP37uEf2KyQrwYKlaIZe1RxPra/F+Jr
 4oOaZfRkUg3vAjCjs//q9F7wbcidylTOHwLg5YPKr7rzvRORQnN9MM9MZt+Itc4zsy5Z8/D/
 22nW18w9bYMrSavFOl+UVg6MOmHdc8m9RoTZHVwVX71hSRLSdvxvc83KstmFZF6pbcL5aMlE
 JE4lzCoX64npsLvoWpNNPEQbeVKKXyWuO55F3H0P2hkIc8xHlyhFx2NVlKHyRTixxGf7aMWy
 4BMHCuCKXbabwg9XsvQdty1yFa94SoUlO5oBhOaKdhPYkT8toNtLnWp3PMwJsgNLzTFxyebi
 FnKUUtJ+7GVrt9n6sTNiICFs5ytT7l0EH1FEjSJ9r2xLyTboDaumNcSTOaScDnBf2ro46H+N
 /5NxvTxPaRfzlZHuoZxCZhxyqc664e9rrNW1F08Tn7Kc06qGvVrJXzfhZtDsahEx7l4vwqqW
 x3QpokGaOvRYM68SQwfPgsoaOiHxMo4oDiK4KRnOlj+6Q924KGDDRdYMS6ThXEPN7ByKo4kn
 7ss4ZZE9wylhxM2Gd+alSQIpX+UJ3kNXqh75JEXBIjn1lgixl1YOMGODyb35NeEaslWM1lsK
 TiR3fKQi7NZz0vEUnwyCXmSgrYN2cVQ4EhHnA0YOlCEutvZnftmjhRe/AM+QhlR0hgagfl4P
 XJmNhEtKKiDl9uyaBOvg4x499l9OSCk
IronPort-HdrOrdr: A9a23:WhwAG6qnNrdyWMyassCRiYIaV5oreYIsimQD101hICG8cqSj+f
 xGuM5rsSMc6QxhPU3I9ursBEDtex/hHNtOkO4s1NSZLWvbUQmTTL2KhLGKq1aLJ8S9zJ8/6U
 4JSdkZNDSaNzlHZKjBjzWFLw==
X-IronPort-AV: E=Sophos;i="5.88,297,1635220800"; 
   d="scan'208";a="62156418"
Date: Tue, 18 Jan 2022 16:21:48 +0000
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>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, "Bertrand
 Marquis" <bertrand.marquis@arm.com>, Roger Pau =?iso-8859-1?Q?Monn=E9?=
	<roger.pau@citrix.com>, <xen-devel@lists.xenproject.org>
Subject: Re: [XEN PATCH v8 27/47] build: grab common EFI source files in arch
 specific dir
Message-ID: <YebpHJk1JIArcdvW@perard>
References: <20211125134006.1076646-1-anthony.perard@citrix.com>
 <20211125134006.1076646-28-anthony.perard@citrix.com>
 <57f03aed-c260-1c80-c604-0223d4603b4a@suse.com>
 <YeafMh0du+5K8YDD@perard>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <YeafMh0du+5K8YDD@perard>

On Tue, Jan 18, 2022 at 11:06:38AM +0000, Anthony PERARD wrote:
> On Tue, Dec 21, 2021 at 02:53:49PM +0100, Jan Beulich wrote:
> > On 25.11.2021 14:39, Anthony PERARD wrote:
> > > +$(obj)/%.c: $(abs_srctree)/common/efi/%.c FORCE
> > > +	$(Q)ln -nfs $< $@
> > 
> > Like was the case before, I think it would be better if the links were
> > relative ones, at least when srctree == objtree (but ideally always).
> 
> I can give it a try.

How about:
    ln -nfs $(subst $(space),/,$(patsubst %,..,$(subst /, ,$(obj))))/$(if $(building_out_of_srctree),source/)common/efi/$(<F) $@

This will result in the relative path "../../../common/efi/runtime.c"
for in-tree builds, and "../../../source/common/efi/runtime.c" for
out-of-tree builds. There's a "source" symlink that can be used which
point to the source tree when doing out-of-tree builds.

The part:
    $(subst $(space),/,$(patsubst %,..,$(subst /, ,$(obj))))
means that if $(obj) were to be something other than "arch/*/efi", the
command would still works and give the right number of "../".
It does this steps to "arch/x86/efi":
    arch x86 efi
    .. .. ..
    ../../..

The added "source/" depends on whether we do out-of-tree build or not.

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 16:49:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 16:49:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258610.445585 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9rfw-0000mc-0i; Tue, 18 Jan 2022 16:49:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258610.445585; Tue, 18 Jan 2022 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 1n9rfv-0000mV-Tx; Tue, 18 Jan 2022 16:49:39 +0000
Received: by outflank-mailman (input) for mailman id 258610;
 Tue, 18 Jan 2022 16:49:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4BW1=SC=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1n9rfu-0000mP-7p
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 16:49:38 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9d899385-787e-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 17:49:36 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9d899385-787e-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642524576;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=B7AYMVvBmFRDqWJCIIkgTsVN7bI045gCoVOFgBPjw+0=;
  b=CZyRJbWC9wbZPN8NoPXOLN6U5Y9HDmVdVdrOXZftfsM46Dm11+YOmLYh
   oiN7ie1DTkHAA5n7SrqzuJMyw3PZ3OIrKv31fzNsE0Yg/jPMrDhdAULPj
   McjHEF5N7swOewwnhWJF3FrA1dBF0g1mUszl8jnVDhubNZOF0t/qxcNFr
   4=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: P36h00nDnj/631sx2cXE7KFAKE1rCXI5WuCg921nMGWCkYfeCBK+7DrXSdA3aym83Q9r9mUSot
 eGiCu9ckyg53CT/xgLJzecqLAZDgdafrqS2eQS+2xasW4M+BdYbyCdc1emF+D7fjJUDNK4Wzso
 DKj2T7XoOfU90i1A96WVxN4gXIs7IggFWEYJs4jjWMSHVMWXFER6jh74mmHz6heYqBGAdONVvv
 mp1dqqI7UZ4uZH+WDzNV25eYF1XBzpnV5gmIeT25eiNcHbEO/bIFUSiFOTI7o269q3HJb16DuV
 ylMPIDXXDbdjWCQ7qs4qff2m
X-SBRS: 5.2
X-MesageID: 64377955
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:AOBKBauyDN0yIi1vfxYkqTxasefnVBdYMUV32f8akzHdYApBsoF/q
 tZmKTuEOfmJZTakfdwjatvioEwH7cTXz9U2T1Bqqy1mFyMV+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZQP0VOZigHtIQMsadUsxKbVIiGHdJZS5LwbZj2NYx2IjhWmthh
 PupyyHhEA79s9JLGjp8B5Kr8HuDa9yr5Vv0FnRnDRx6lAe2e0s9VfrzFonoR5fMeaFGH/bSe
 gr25OrRElU1XfsaIojNfr7TKiXmS1NJVOSEoiI+t6OK2nCuqsGuu0qS2TV1hUp/0l20c95NJ
 NpliMa/VQoXfa33n7oWdT16GAEkEIdX5+qSSZS/mZT7I0zudnLtx7NlDV0sPJ1e8eFyaY1M3
 aVGcnZXNEnF3r/ohuLgIgVvrp1LwM3DNYUDunZm3HfBAOwvW5zrSKTW/95Imjw3g6iiGN6AO
 5FGNmsyMXwsZTVyKEgVDps/rdu2xSXAWRdG8lLI/oQ4tj27IAtZj+G2bYu9lsaxbftSmkGUt
 2fX5VPTCxsRNMGc4Ted+3fqjejK9QvkXKoCGbv+8eRl6HWDy2pWBBAIWF+TpfiillX4S99ZM
 1YT+Cclse417kPDZtPwRQGiqXiI+BsVQcNNEvYS4RuIjKHT5m6xB3cGZi5MbsQ8s807TiBs0
 UWG9/vrDzFytLyeSVqG66yZ6zi1PEA9NnQebCUJSQ8E5djLo4wpiB/LCNF5H8adjMDxGDz26
 yCHqm45nbp7sCIQ//zlpxad2Wvq/8WXCF5ujunKYo67xj4ja5KoWc+o0l+F5tBkDo25FHSrr
 WdRzqBy89syJZ2KkSWMRsAEE7eo++uJPVXgvLJ/I3Uy32/zoiD+JOi89Bk7fR40aZhcJVcFd
 WeK4VsJjKK/KkdGekOej2iZL80xhZbtGt3+Phw/RoofO8MhHONrEcwHWKJx44wPuBV0+U3cE
 c3CGSpJMZr8If44pNZRb71MuYLHPghkmQvuqWnTlnxLK4a2an+PUqsiO1CTdO0/567siFyLr
 4wDa5fblUkECrCWjszrHWg7dw9iwZ8TX8GeliCqXrTbfloO9J8JVpc9Po/Ni6Q6xv8Ix48kD
 1m2W1NCyUqXuJE0AV7iV5yXU5u2BcwXhStiZUQEZA/0s1B+P9rHxPpBJvMfIOl2nMQ+nKUcZ
 6RUJK297gFnF26vF8I1N8et9eSPtX2D2GqzAsZSSGNuIM47GV2Yo4+Mk8mG3HBmMxdbfPAW+
 9WIvj43i7JaL+i7JMqJOv+p0X2run0RxLB7U0fSe4EBc0Tw6ol6bSf2i6Zvcc0LLBzCwBqc1
 hqXXkhE9bWc/ddt/Ymbn72AoqeoD/B6QhhQEV7E4OvkLiLd5Gein9NNCb7aYTDHWWro06y+f
 uEJnerkOfgKkQ8S4YpxGrpm14wk4N7rq+MIxwhoBiyTPV+qFqlhMj+N2swW7v9BwbpQuA2XX
 EOT+4YFZeXVaZ29SFNIfVgrdOWO0/0QiwL+1/VtLRWo/jJz8ZqGTV5WY0uGhhtCIeYnK4gi2
 +og5pIbslTtlhowP9+apSlI7GDQfGcYWqAqu5xGUo/mjg0nlgNLbZDGU3Kk5ZiOb5NHM1UwI
 y/Sj63H3uwOyk3Hens1NH7MwesC2she5EEUlAcPdwaTh97Ipv4rxxkAoz04QzNcwghDz+8ua
 HNgMFd4JPnW8jpl7CSZs7tAx+2V6MWlx3HM
IronPort-HdrOrdr: A9a23:YuJ4RKyFk+TZTk9NiFQiKrPwLL1zdoMgy1knxilNoRw8SKKlfu
 SV7ZAmPH7P+VMssR4b9OxoVJPtfZqYz+8T3WBzB8bBYOCFgguVxehZhOOIqQEIWReOldK1vZ
 0QFZSWY+eQMbEVt6nH3DU=
X-IronPort-AV: E=Sophos;i="5.88,297,1635220800"; 
   d="scan'208";a="64377955"
Date: Tue, 18 Jan 2022 16:49:29 +0000
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>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, "Bertrand
 Marquis" <bertrand.marquis@arm.com>, Roger Pau =?iso-8859-1?Q?Monn=E9?=
	<roger.pau@citrix.com>, <xen-devel@lists.xenproject.org>
Subject: Re: [XEN PATCH v8 27/47] build: grab common EFI source files in arch
 specific dir
Message-ID: <Yebvmf1MZHla0Z6S@perard>
References: <20211125134006.1076646-1-anthony.perard@citrix.com>
 <20211125134006.1076646-28-anthony.perard@citrix.com>
 <57f03aed-c260-1c80-c604-0223d4603b4a@suse.com>
 <YeafMh0du+5K8YDD@perard>
 <c947e8b1-7319-2c88-da05-3c0cc2d7822f@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <c947e8b1-7319-2c88-da05-3c0cc2d7822f@suse.com>

On Tue, Jan 18, 2022 at 02:49:37PM +0100, Jan Beulich wrote:
> On 18.01.2022 12:06, Anthony PERARD wrote:
> > On Tue, Dec 21, 2021 at 02:53:49PM +0100, Jan Beulich wrote:
> >> On 25.11.2021 14:39, Anthony PERARD wrote:
> >>> Rather than preparing the efi source file, we will make the symbolic
> >>> link as needed from the build location.
> >>>
> >>> The `ln` command is run every time to allow to update the link in case
> >>> the source tree change location.
> >>
> >> Btw, since symlinks aren't being liked, would there be a way to make
> >> things work using vpath?
> > 
> > No, that's not possible. With "vpath = /build/xen/common/efi", make
> > would look at path "/build/xen/common/efi/arch/x86/efi/runtime.c" to
> > build "arch/x86/efi/runtime.o".
> 
> But /build/xen/common/efi/arch/x86/efi/runtime.c doesn't exist (and
> never will afaict), so wouldn't make go on finding the file elsewhere?

If we have the implicit rule
    %.o: %.c

and vpath set.
When trying to build the target "arch/x86/efi/runtime.o", make will try
our above rule and look for "arch/x86/efi/runtime.c" as make will not
remove the directory part from the path. If that prerequisite isn't
found, make will also try to prepend $(VPATH) to it.

I don't think it's not possible to tell make to substitute a directory
for vpath, in a target or prerequisite.

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 17:49:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 17:49:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258613.445596 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9sbe-0006i8-BV; Tue, 18 Jan 2022 17:49:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258613.445596; Tue, 18 Jan 2022 17:49:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9sbe-0006i1-8Q; Tue, 18 Jan 2022 17:49:18 +0000
Received: by outflank-mailman (input) for mailman id 258613;
 Tue, 18 Jan 2022 17:49:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gQbF=SC=suse.com=dfaggioli@srs-se1.protection.inumbo.net>)
 id 1n9sbc-0006hv-Ug
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 17:49:17 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f387ab7b-7886-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 18:49:15 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 8CF34212BC;
 Tue, 18 Jan 2022 17:49:14 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 0700113DC8;
 Tue, 18 Jan 2022 17:49:13 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Psh2Opn95mHrLAAAMHmgww
 (envelope-from <dfaggioli@suse.com>); Tue, 18 Jan 2022 17:49:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f387ab7b-7886-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642528154; 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=5EYQbuSQS57q+0J/ylkYt0w+G1ZK6xicD017oib6dvs=;
	b=el7THgtJhJcp+Nj76iHHl98TQllFCSYyo88jhM29jbDC+pKjxfchwRWB+ijl6Wop+m5DmR
	ylupbIeK3R+kGadaMXQsUOScDPPHcX2LfwvstSz72HupLUQ5wNVS6TqxXzwY6iiZLMh/dr
	ltWhiJf9UiiJGLHNiWoVxeiQsKjeDtw=
Message-ID: <8bae88c3e3ddd777537ed942943b0a871cd65f36.camel@suse.com>
Subject: Re: sched=null vwfi=native and call_rcu()
From: Dario Faggioli <dfaggioli@suse.com>
To: Juergen Gross <jgross@suse.com>, George Dunlap
 <George.Dunlap@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>
Cc: "julien@xen.org" <julien@xen.org>, Jan Beulich <JBeulich@suse.com>, 
 "bertrand.marquis@arm.com" <bertrand.marquis@arm.com>, Roger Pau Monne
 <roger.pau@citrix.com>,  "Volodymyr_Babchuk@epam.com"
 <Volodymyr_Babchuk@epam.com>, "xen-devel@lists.xenproject.org"
 <xen-devel@lists.xenproject.org>, Andrew Cooper <Andrew.Cooper3@citrix.com>
Date: Tue, 18 Jan 2022 18:49:12 +0100
In-Reply-To: <619e264e-9d4e-f97b-227d-7917ade0bbe8@suse.com>
References: 
	<alpine.DEB.2.22.394.2201051615060.2060010@ubuntu-linux-20-04-desktop>
	 <20fbb361-b416-6965-614d-a6283a7e7550@xen.org>
	 <alpine.DEB.2.22.394.2201061747140.2060010@ubuntu-linux-20-04-desktop>
	 <0cb5a1ceff3afc6c6d4319c9f6dd06a06a93a294.camel@suse.com>
	 <alpine.DEB.2.22.394.2201141253080.19362@ubuntu-linux-20-04-desktop>
	 <B9187426-3A8D-4687-A00B-487A6B4EF1D7@citrix.com>
	 <619e264e-9d4e-f97b-227d-7917ade0bbe8@suse.com>
Content-Type: multipart/signed; micalg="pgp-sha256";
	protocol="application/pgp-signature"; boundary="=-T/tAcri0S1JrRXMlwOXy"
User-Agent: Evolution 3.42.3 (flatpak git) 
MIME-Version: 1.0


--=-T/tAcri0S1JrRXMlwOXy
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, 2022-01-17 at 12:13 +0100, Juergen Gross wrote:
> On 17.01.22 12:05, George Dunlap wrote:
> >=20
> > An x86 equivalent of vwfi=3Dnative could be implemented easily, but
> > AFAIK nobody has asked for it yet.=C2=A0 I agree that we need to fix if
> > for ARM, and so in the absence of someone with the time to fix up
> > the x86 side, I think fixing ARM-only is the way to go.
> >=20
> > It would be good if we could add appropriate comments warning
> > anyone who implements `hlt=3Dnative` on x86 the problems they=E2=80=99l=
l face
> > and how to fix them.=C2=A0 Not sure the best place to do that; in the
> > VMX / SVM code that sets the exit for HLT &c?
>=20
> But wouldn't a guest in a busy loop on x86 with NULL scheduler suffer
> from the same problem?
>=20
Right, and even more 'idle=3Dpoll' as a _guest_ kernel command line
parameter, IMO.

That does not change what happens when the guest issue an HLT, but it
drastically reduces the frequency of it doing so (or at least, it did
the last time I tried it).

So it's not exactly like wfi=3Dnative on ARM, but on the other hand, it
can be under the guest's control.

> And wouldn't that be a problem for PV guests, too?
>=20
Yeah, that's one of the things that makes it tricky

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)

--=-T/tAcri0S1JrRXMlwOXy
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+4FAmHm/ZkACgkQFkJ4iaW4
c+6LQBAA59mduTzrLvBqfABMoKcjgIVML+GxuVZvgZZAWPLvwE8uK0drx9Z68AZ2
IpuADH6TB0lE8Tza4gZj63+TVensijINYC3j008GVcsR3pDmBTvvkw1ddPEAPf9Q
41XHnjiuk9fAEt8gIFdOXs/yEi76qs3rS3uOnxg/B3QpHKYII1VLDA1FeVFMOAnI
MDZrJFYVQWYQx4mOgukCfC8+a4Ocee8Q7lFoytJzDPFPTXApSGCrgORTb3Cim9jp
ImGLToEj3TUYFEwVL8v2UfL4ln1lod78ejecAW0MOEf62SYRMCR769z4CPO41cYg
+gRkFWYHibZdDVZYVZA5peD6Emr/9czPffANt2wRqvx0vv7IKGWaYVa1dJ+FCjKH
zwGeO3vgbfowIiYOCYNvyGvuA0f3MI3DscRDnUWVeq1Feayk+LHyKp0PImTidoGO
GWBpIzW+QE3Ebq0Gp6+OSaEKFD+y7r+5paU1GvEsTwccEpEr1pMlf9iag4frEhEm
5rAqhp3ksYsSmg/5HJ8zuYYmBDG0kdHnq0Q04UHiAf8mWJypXzgmldh8Q/8SUzFs
kqaNEKdv3Vgm3+XC8DDjOV7JJpt6wtExDuObHBLBvtBQIv7Ghbl0lrQOuKc/gT+R
XpfgMKmF8WqoI1YHFVMb+WuZlsxWJC3y0v80SxS8p1ZUKl7fdqM=
=AgFr
-----END PGP SIGNATURE-----

--=-T/tAcri0S1JrRXMlwOXy--


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 18:10:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 18:10:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258620.445622 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9svc-0000si-9U; Tue, 18 Jan 2022 18:09:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258620.445622; Tue, 18 Jan 2022 18: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 1n9svc-0000sb-6Y; Tue, 18 Jan 2022 18:09:56 +0000
Received: by outflank-mailman (input) for mailman id 258620;
 Tue, 18 Jan 2022 18:09: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 1n9svb-0000sR-1l; Tue, 18 Jan 2022 18:09: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 1n9sva-0006Nr-Uz; Tue, 18 Jan 2022 18:09: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 1n9sva-0002L9-CH; Tue, 18 Jan 2022 18:09:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n9sva-0003Lb-Bl; Tue, 18 Jan 2022 18:09:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=1lpW2PwyOKSg4uQNtAgDDPsa6mI71f2Qj+HCEhS9ZF0=; b=Ax0EfC98FThFcsOXTVKGc0cSKn
	ANk9zeIAZqL3Ab/QsCV+OAp1fcno2P79W8wyxWR10EcVL+Kmcdeh2dH13yzT6y4F/cnF3f9+5pXrc
	SskKuXeUGwDj/arKaXSm4Z0nXNybWeq4cF2jI1z7ycYAy+K++BBQFUyFofsR0fvUvWag=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167733-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167733: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-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-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt: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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-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-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: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
    qemu-mainline:test-armhf-armhf-libvirt-qcow2: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
X-Osstest-Versions-This:
    qemuu=6621441db50d5bae7e34dbd04bf3c57a27a71b32
X-Osstest-Versions-That:
    qemuu=69353c332c558cead5f8081d0bb69f989fe33fa3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 18 Jan 2022 18:09:54 +0000

flight 167733 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167733/

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 167717
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167717
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167717
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167717
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167717
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167717
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167717
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167717
 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-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-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-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                6621441db50d5bae7e34dbd04bf3c57a27a71b32
baseline version:
 qemuu                69353c332c558cead5f8081d0bb69f989fe33fa3

Last test of basis   167717  2022-01-16 20:38:21 Z    1 days
Testing same since   167724  2022-01-17 11:06:55 Z    1 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  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-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   69353c332c..6621441db5  6621441db50d5bae7e34dbd04bf3c57a27a71b32 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 20:29:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 20:29:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258640.445681 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9v5y-0005zt-AG; Tue, 18 Jan 2022 20:28:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258640.445681; Tue, 18 Jan 2022 20: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 1n9v5y-0005zm-7K; Tue, 18 Jan 2022 20:28:46 +0000
Received: by outflank-mailman (input) for mailman id 258640;
 Tue, 18 Jan 2022 20:28:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1rGk=SC=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1n9v5w-0005zg-Vl
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 20:28:44 +0000
Received: from ppsw-42.csi.cam.ac.uk (ppsw-42.csi.cam.ac.uk [131.111.8.142])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 39ee75dd-789d-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 21:28:43 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:48518)
 by ppsw-42.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.138]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1n9v5t-000Le4-8F (Exim 4.95) (return-path <amc96@srcf.net>);
 Tue, 18 Jan 2022 20:28:41 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 4EDC21FA12;
 Tue, 18 Jan 2022 20:28:41 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 39ee75dd-789d-11ec-9bbc-9dff3e4ee8c5
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <e076f39f-7364-b9a2-ba0c-fd84e7f19ab0@srcf.net>
Date: Tue, 18 Jan 2022 20:28:40 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH] x86/Intel: use CPUID bit to determine PPIN availability
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <239d8868-0c8a-b512-a2bf-3e91689a8218@suse.com>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <239d8868-0c8a-b512-a2bf-3e91689a8218@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17/01/2022 15:30, Jan Beulich wrote:
> As of SDM revision 076 there is a CPUID bit for this functionality. Use
> it to amend the existing model-based logic.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

https://lore.kernel.org/lkml/20220107225442.1690165-1-tony.luck@intel.com/T/#u
suggests that Sapphire Rapids also needs the model specific treatment.

I agree with the "only-expose-on-error" observation, so perhaps we ought
to make these details available to the hardware domain in a suitable form.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 22:10:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 22:10:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258643.445693 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9wgN-0007gl-Mp; Tue, 18 Jan 2022 22:10:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258643.445693; Tue, 18 Jan 2022 22:10: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 1n9wgN-0007ge-JM; Tue, 18 Jan 2022 22:10:27 +0000
Received: by outflank-mailman (input) for mailman id 258643;
 Tue, 18 Jan 2022 22:10:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9ZWs=SC=nvidia.com=chaitanyak@srs-se1.protection.inumbo.net>)
 id 1n9wgL-0007gY-Oq
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 22:10:26 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20608.outbound.protection.outlook.com
 [2a01:111:f400:7eab::608])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6cc837dd-78ab-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 23:10:22 +0100 (CET)
Received: from MW2PR12MB4667.namprd12.prod.outlook.com (2603:10b6:302:12::28)
 by MW2PR12MB2379.namprd12.prod.outlook.com (2603:10b6:907:9::24) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.7; Tue, 18 Jan
 2022 22:10:17 +0000
Received: from MW2PR12MB4667.namprd12.prod.outlook.com
 ([fe80::75e8:6970:bbc9:df6f]) by MW2PR12MB4667.namprd12.prod.outlook.com
 ([fe80::75e8:6970:bbc9:df6f%6]) with mapi id 15.20.4909.007; Tue, 18 Jan 2022
 22:10:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6cc837dd-78ab-11ec-a115-11989b9578b4
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fTxRABRUhmS/yBeBy4NYJORHrHnnNss0PH+mgSJ0hAlIVWp7Htbu20cXjIy2RjretjHTMhHwXofgSKJ1EUUr7xk+Nn/2ZUYcYZtfIGjCUrAKczG/K6R0z5n8TIRkc/K8ifs1XJdejW9sEgx9bZ2SsXynBOAIZw/8JHo8AghaT38rDztmqKOa1VbSZe0uaRM3I4SHJqTSeeXqV72M7mxa5sAm9IyWSkvba38sj+2aRS5i98a/MYVTAz/Xtssw3a79JMwW98ZYnyFXtTf/VywwbnLAQ56XHoN55blee/Jd2NyoBUUzxcXIMzQ7VjF3P+0v0LOVYMblLItRsm+aSHSgeg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=10TAAnZvOSR4S0y2NuqUH4W60yc9IevVM3hnAGv74bc=;
 b=oAc1oucyUMt7e/0jx2XtEhXIV3/yPfGQ4pSOT1YfIyDV+6nFi+tvCJ7eSK78fcTx1eK98GRubjoPsbg11Ia433gLG1PNUrsLWnoyu+nJjvZjrZpmRpxWd6E3qeoYVhrECRuMQg4WZdGS7FRE5YWMDkI8fIYU+QRKkGJNBBuY8PQ5BGTYRDnKtkNUCu0Svo2vK79rlphbG+38sa7JDUNARihIiLazNvGhoF+ap+UouYGecBJQb7V8oVWsCDuiSWsgGSHwV1VRFmoerthZplu3MZTSsgY2j/L8ENfi+1kYG97lYJr2noug3P+Wqo11X61BGoq+ztJTin7KsGEecivvtQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;
 dkim=pass header.d=nvidia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
 s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=10TAAnZvOSR4S0y2NuqUH4W60yc9IevVM3hnAGv74bc=;
 b=FhXV9Xl012EiGpClBUVVB8qPdyvxDkKnr5exmZ2iEUFQt7zImZmW9VVJDXZcagdYqGYNJxzP0jHifQ5OSrksjNkg/czJQX91qU/TKVvDdpAYnYo+MuRHqVUGKixBRXKG8Y+c/j5H4VUkVjhvkRnjkTGV1/qDOPvYx2EmfMXppiGSNA7A/DXelI29lqc3sUzj4Cey6XJoHRVAvahqcV+GxQ6sQ8fdkJfakpeeti/rmQuUw+cMgCiaR+FtrhVQi8ebUUeYCgklDblHrRLRKhunNSV9HsJtOM2D/4ovfTSaNQ+DmnuRWYSHqIobASY3dXsnA+0JvbgIc2Q4q1ETfu58+w==
From: Chaitanya Kulkarni <chaitanyak@nvidia.com>
To: Christoph Hellwig <hch@lst.de>, Jens Axboe <axboe@kernel.dk>
CC: Pavel Begunkov <asml.silence@gmail.com>, Mike Snitzer
	<snitzer@redhat.com>, Ryusuke Konishi <konishi.ryusuke@gmail.com>, Konstantin
 Komarov <almaz.alexandrovich@paragon-software.com>, Andrew Morton
	<akpm@linux-foundation.org>, "Md . Haris Iqbal" <haris.iqbal@ionos.com>, Jack
 Wang <jinpu.wang@ionos.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.co>, Philipp Reisner <philipp.reisner@linbit.com>, Lars
 Ellenberg <lars.ellenberg@linbit.com>, "linux-block@vger.kernel.org"
	<linux-block@vger.kernel.org>, "dm-devel@redhat.com" <dm-devel@redhat.com>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
	"linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>,
	"linux-nilfs@vger.kernel.org" <linux-nilfs@vger.kernel.org>,
	"ntfs3@lists.linux.dev" <ntfs3@lists.linux.dev>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"drbd-dev@lists.linbit.com" <drbd-dev@lists.linbit.com>
Subject: Re: [PATCH 13/19] block: move blk_next_bio to bio.c
Thread-Topic: [PATCH 13/19] block: move blk_next_bio to bio.c
Thread-Index: AQHYDDwIi23zfbZWP02cbOp5v0GjmqxpV+AA
Date: Tue, 18 Jan 2022 22:10:17 +0000
Message-ID: <898045a2-19a4-15ba-a352-ce1767f17cac@nvidia.com>
References: <20220118071952.1243143-1-hch@lst.de>
 <20220118071952.1243143-14-hch@lst.de>
In-Reply-To: <20220118071952.1243143-14-hch@lst.de>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=nvidia.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 3621004d-42ef-40d2-624d-08d9dacf4f4e
x-ms-traffictypediagnostic: MW2PR12MB2379:EE_
x-microsoft-antispam-prvs:
 <MW2PR12MB237997490FA666B9FF821D5FA3589@MW2PR12MB2379.namprd12.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:949;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 s02X2IWbX4rKx8KySN+biMpWmkIFrCBJBvbfdvBsF2wiHI8e/5CB5IcNgwc6amdCF73sviR5k5KMr5Z4ll36fqJXTZU0hQfniPWiPeJfPbUgJdSJjJljUVThr74/33qayKtzM9+PGtJILtW+BdTvO4LamCTArcZVsBX0We3rJHMdN9QAyYxr0NUquqlgQq3a2M8e/kWZ9DFGMrtlHZ/Mgiroqb2XS4Z3E62A0OyL73LPNMqfX8HX5UaT7t+nBjBqJ0RLeAoueglXtTwNx9NDUR9tDSMo2j+aNwZjGWblJmD4GhCvWSDcoST19IcyvTRqppgaPX+LIu0X4NVJTk/4FkFhfd6s4eXt6lpfioAyjapjwAyuCZ3YulUfmFVsDxBkUq4GACtJUZyz2soaPKPSdB7yx6gLRFel/IUa16h3tztRHZlRf2uCsVRqIjr9qYipvuNKA4vd88L4013HJIBT66SIhQ/3uFuntGqtSIraDJkOownNEfXzd/G4WQ01byRy5KThFSqsW3ePI2hQ2MONg2RE82RfI0IodeyQeBt3SDxb6+43DVAHZ4IMH62eSWkwyF/RgBii/4drf+CQOhohzGsv6uYT+alaTO4prvKQewa0+DX9qFazy4NpWgajuuYuKxrI/4JVDMS/xyZhgBIYO0azX8tp9dq3JlDMy23Z/wzQhLVPR7zTyg1NCwBL4cHWyOXpH1jqGXYDPehWmsKMva7i65WuVcYCey8vtnqToQzTulI1kEIgocmmp2s+Faa/sM9z+8rolOUFWd0mwWOnLg==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW2PR12MB4667.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(122000001)(38100700002)(558084003)(36756003)(54906003)(8936002)(91956017)(71200400001)(8676002)(66446008)(64756008)(66556008)(66476007)(76116006)(66946007)(31686004)(316002)(186003)(86362001)(53546011)(6506007)(4326008)(6486002)(110136005)(2906002)(5660300002)(2616005)(38070700005)(7416002)(31696002)(6512007)(508600001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?VUZ6YmhENUNEd0hLU3BzWlhWYmJlVm5YamdCNDBrNDNJcUlyZ3hDMnlRcUJN?=
 =?utf-8?B?bEZtMEZqMlduNy9VUVJHKzBLa3Y3dlN0QXFJTFl0VUtrZURQZWJ5OHNHMlg4?=
 =?utf-8?B?b1lsVnBVQVczTG8wT2pYUVhzOXdxeUphNnZEZGpZVFcxY2lZN08zR05UMmlV?=
 =?utf-8?B?ZTFjV2x1eEc3QnJVcDlsSWhQYnhkTis0T1EzWTgxc2hkWFBxSUtFV2F2MzZr?=
 =?utf-8?B?aTFWbm52NmNmZ05SRUh2RXQ4clZiemFObnVQTW9Td290ZElsVDNraThOSE1r?=
 =?utf-8?B?TW5PM1FtYklna29GTENDcjJYdDFuNWlNNXJuU241TFdFNWpMMCsxRE5FZklm?=
 =?utf-8?B?ZncxaDRkankwWFhnT2N3ZC85VlNqN29HM3pwZElvQyszV3UxTFVTKytncVA3?=
 =?utf-8?B?Q24vaFVQa3RkOUx2TmxBUXJVa3Z0bVVLKzNUSzJOUmpPUS9WTlQzUHRDYUdL?=
 =?utf-8?B?OFZmTnJGM1pIRjQxZS9yY2g4djNiYlBuRWZ2elVZeWxLdElGU1o4ZER3c0ZP?=
 =?utf-8?B?b1ViM0ltWkFRaHRtR3FEWkNTdGFpQ3JBRW9FdDkwcXN6R1ZGK01XdWs2S0Ra?=
 =?utf-8?B?OWFXNWw2bDBkNG93ZlpwWVJlNjY2WWxlUXFnWFhXUDRaRDNNUzVpbmdMd2Zy?=
 =?utf-8?B?RGlZc2ZHSjJGRDltVldJY2Z5WVc5VmJTd0FSbTVEM3Nnd3BaWVR0TDN4YXFy?=
 =?utf-8?B?OEgzY0Q2aGthUk5LMDBlelM4UlBHNytpOE9ya21NZFhicmFiZjdqRUxqSi9o?=
 =?utf-8?B?S0k5clg4QUhSZTg2STY5VmZUUVhFTXFNTHIyYytJMU1mZ05yc1M2VlBldXY5?=
 =?utf-8?B?ald3cHpqYy9id29UWkQvOGpmbDJMWXlSU2dyYWwvK0F0NENaQTlScnZtNnRq?=
 =?utf-8?B?REMybHNSUTQrYnZzRDVocjdjWGVUY0NVTlNKYXFJYTVXMHFlRGVjai9XV1B1?=
 =?utf-8?B?K3ppWTNpS2J4WlRNZWxDd2VRQTZKNDRBQmRlOWUwR25WNUorQ1BRSDZiNE5a?=
 =?utf-8?B?cVFaM2gyRE5iODE0djU5bVlVUEo1c3k1eHVES1VsdzJ1b0h0d3dlSlBUWmVB?=
 =?utf-8?B?M2lnbjh4UEJsRFhXQXJqdW5mbjA5YWsxQkhsNGlLNlQ4RTk2dXp6VjNQTC9K?=
 =?utf-8?B?Umo5OEo1cHpRWENKc2YrU0hOYzdibFZyQ0g3N1d2bFNPTkNVamZDUFl5K1VJ?=
 =?utf-8?B?MzluSGlxR0h1SkhBUEVCaDd3OWovajQxUWJFYXJidWtONTl2V1lLaTZUaFdn?=
 =?utf-8?B?QVpXU3lQSDZHc1BycEh3MmFUSGhXTllGeXJteTRtUEpocWhCYlVEK0grQmxs?=
 =?utf-8?B?ZmtMS3EyL3BtZEE2UG9FOTg2NzhqbTdtNHpyTW5zYmM4QjM5Ym1Gdjg4MUFE?=
 =?utf-8?B?cHBiY0grRkZaWXlDa0l1cFFGMmtzS0FRT3hQendVV3p4Y1Q2Z09XVExvcklG?=
 =?utf-8?B?VEZiajJjdkpEcUh2S3V4cW8wRFZMaU0zNkt3RGNna0tSQnNWNVpmZDZ4UjQ5?=
 =?utf-8?B?UHpiZk5Id2Q4cGV3WXo1NHVURWNidzIydUQ3Rm1kaUR0YkdPRnlKTUszK3Bs?=
 =?utf-8?B?YmlsQTI0YVB3Sy9kYjNKc3Erb2wzVEZ3RkFYTXRpQ2Z4ZjdNVXFORjU2R2NT?=
 =?utf-8?B?Mnhtc3duYjBxTHlpZ1ArYVQ0NWpBMnEydmYzSUZaSVNoUVBkQVZVbWMxOUhE?=
 =?utf-8?B?WDh1bTRyYThHSnozUGxLT0c1ZVFJTU9ZcHZ1QU5WWEx1SWJ2VzZIUDNPb1g2?=
 =?utf-8?B?cFRjK2V3Zk5jMFQrRXc4N3gzc3dFWkFXeThKMUJFZ1laenFWTWpiczRtNi9B?=
 =?utf-8?B?U3N4YlBmb09CTkcvRjUxTVRGSnJ3Yk5NaEhSRG9zZk5NMFh4VjVnY01qbGdu?=
 =?utf-8?B?MldrZUxrTWxGQjNTTmw3bnpJNFBDOEp5Y1NUQTJpOWFmd0dLZGJEWnBFWFl1?=
 =?utf-8?B?SG1WRWRoVDJQUXV6QmhUazFybCs2bERQa0NsTzZnK1BtOFdDUzRpc2cyMWVu?=
 =?utf-8?B?bGlPejg3SmxpMlJWQXluN3NBQmZSUCtWY1hHdlRGRllFT3ZBWklNOU12M2Jn?=
 =?utf-8?B?TnhlMDRlbG9Vb0FlZDlPSEpTYXltUzlnVmM1TGZ3K3U1WXNMOHlBMjlHcGx4?=
 =?utf-8?B?QzRETlRVWnpBQnprTnZ6V21GT1NXWnVuZFpieFk5ZVVDOFZiWVFaNFdJTlZv?=
 =?utf-8?Q?iCDaB4IKaPjMnFjoRwrMGDEO3HjW+GEP0SrMW/NArikj?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <B517DE78369F2A41BFFA7CE0A7153DC7@namprd12.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MW2PR12MB4667.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3621004d-42ef-40d2-624d-08d9dacf4f4e
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Jan 2022 22:10:17.2320
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Zj5k0blmXFkwJkXgnsmSuImlrYYFcoQQK20MteejdX9QG8EDrKYlnMCCxPbP8Ay7cdDtxYWYd2jyIv9ntTJBfA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW2PR12MB2379

T24gMS8xNy8yMiAxMToxOSBQTSwgQ2hyaXN0b3BoIEhlbGx3aWcgd3JvdGU6DQo+IEtlZXAgYmxr
X25leHRfYmlvIG5leHQgdG8gdGhlIGNvcmUgYmlvIGluZnJhc3RydWN0dXJlLg0KPiANCj4gU2ln
bmVkLW9mZi1ieTogQ2hyaXN0b3BoIEhlbGx3aWcgPGhjaEBsc3QuZGU+DQoNCg0KTG9va3MgZ29v
ZC4NCg0KUmV2aWV3ZWQtYnk6IENoYWl0YW55YSBLdWxrYXJuaSA8a2NoQG52aWRpYS5jb20+DQoN
Cg0K


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 22:11:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 22:11:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258645.445704 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9wh9-0008CG-0U; Tue, 18 Jan 2022 22:11:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258645.445704; Tue, 18 Jan 2022 22:11:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9wh8-0008C9-TM; Tue, 18 Jan 2022 22:11:14 +0000
Received: by outflank-mailman (input) for mailman id 258645;
 Tue, 18 Jan 2022 22:11:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9ZWs=SC=nvidia.com=chaitanyak@srs-se1.protection.inumbo.net>)
 id 1n9wh7-0008Bx-9b
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 22:11:13 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20621.outbound.protection.outlook.com
 [2a01:111:f400:7eab::621])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8976ba0d-78ab-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 23:11:09 +0100 (CET)
Received: from MW2PR12MB4667.namprd12.prod.outlook.com (2603:10b6:302:12::28)
 by MW2PR12MB2379.namprd12.prod.outlook.com (2603:10b6:907:9::24) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.7; Tue, 18 Jan
 2022 22:11:06 +0000
Received: from MW2PR12MB4667.namprd12.prod.outlook.com
 ([fe80::75e8:6970:bbc9:df6f]) by MW2PR12MB4667.namprd12.prod.outlook.com
 ([fe80::75e8:6970:bbc9:df6f%6]) with mapi id 15.20.4909.007; Tue, 18 Jan 2022
 22:11: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: 8976ba0d-78ab-11ec-9bbc-9dff3e4ee8c5
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YUOkrdhvsiYQ0h8Cd2JFAvkSxchABjF8D2ZuYQuyalz5hm3Wh0Hc/lxKinT+DGs5PnvMe0c8MjOU4LYBWVLtYjmVpa9HBc+hMBjKr/PU1h3XxFOO7A+3VKx2lXcP75CnAOtMeloCQdqMfwcWOBSyH2Hbani7osf4nqJkij15KUrHxjHxYoxK2kA59BW70vs94dTUUs4oAxKgWxRsRDYJFWyoli00XpbdOmGoKUhD5d2Kbe5FVTP0jCWq8lr2sXy4O+IHQnlM5kzMCBylxV+XdsM8ftnOoIlIErAXtNtkMrjzUELza7cGaZNnF+qEVC79ImG0TLN1B4n9MvI8mqSeJg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Y7W6lHAj2LoZRdhgNrVK68jx3YXevYUKyU9h4DHJ8Ns=;
 b=ge9GII017o4g2mydJwuNzpgZ0UNRr/EGcur2oU/1eIThpqqGynCQN83+rCwTEdApSN5UV6L4kCgztLOGshn583DYXrX+UfHr0917oppYjlUgYeMfbygcIWMEKyXmtkN4wv3wTMrM+qD/nQgHvDvJ8n5E9NWEo+CicSBqD2tfb0w/r8JKwN8bSoCjTTIPxhISJObAk2hJGKrIyPBMofz02Pkc8UyHX7JUrD40GRsUUCgYLaLPUTEAWChsbv/pEm0dCEqpxBA29lUi1rpBZxPzQLHRIuwpK6uGzkF/RnIfoB5uBjIKKGW32UFlIseG2LTF092kAf8eaLMZsMznGasdjQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;
 dkim=pass header.d=nvidia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
 s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Y7W6lHAj2LoZRdhgNrVK68jx3YXevYUKyU9h4DHJ8Ns=;
 b=Smu0nY/ooUtddj+lq9zl50nZjjD5oZNrnOdKX8SdwuTOOiHb+aUmU41D+R90jUgwZ+Xwo0dJpfzObi/exMhlyDhLtPobJdTjGwdExzuRzHVj2NmtKKBSfdJKmjIaDbX4S0YBRjHGth64KFjszs8X3jV6RE3ZH4n1E3cKZDKCsQdCoytOzaV/lDb2mrpmi+FQhXk1kgOf7Y3xwkh9iAPQdSPj1ODdFSksJyrlv85Ixw5tbwD/acHb7WGNRgz6B8KAUCE2tKcsnEBifFY85rqoAyCJIdIPnXHY3pRqO3wnZV3O9JhZAZ1FCFx5QlFMgbkm5Y4+ie2rs0wE7pvFqDIkJQ==
From: Chaitanya Kulkarni <chaitanyak@nvidia.com>
To: Christoph Hellwig <hch@lst.de>, Jens Axboe <axboe@kernel.dk>
CC: Pavel Begunkov <asml.silence@gmail.com>, Mike Snitzer
	<snitzer@redhat.com>, Ryusuke Konishi <konishi.ryusuke@gmail.com>, Konstantin
 Komarov <almaz.alexandrovich@paragon-software.com>, Andrew Morton
	<akpm@linux-foundation.org>, "Md . Haris Iqbal" <haris.iqbal@ionos.com>, Jack
 Wang <jinpu.wang@ionos.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.co>, Philipp Reisner <philipp.reisner@linbit.com>, Lars
 Ellenberg <lars.ellenberg@linbit.com>, "linux-block@vger.kernel.org"
	<linux-block@vger.kernel.org>, "dm-devel@redhat.com" <dm-devel@redhat.com>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
	"linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>,
	"linux-nilfs@vger.kernel.org" <linux-nilfs@vger.kernel.org>,
	"ntfs3@lists.linux.dev" <ntfs3@lists.linux.dev>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"drbd-dev@lists.linbit.com" <drbd-dev@lists.linbit.com>
Subject: Re: [PATCH 14/19] block: pass a block_device and opf to blk_next_bio
Thread-Topic: [PATCH 14/19] block: pass a block_device and opf to blk_next_bio
Thread-Index: AQHYDDwGw/z8koRieUq7/a1KG8yv26xpWBsA
Date: Tue, 18 Jan 2022 22:11:06 +0000
Message-ID: <245eaa0a-0796-0227-4abf-d1b78953557e@nvidia.com>
References: <20220118071952.1243143-1-hch@lst.de>
 <20220118071952.1243143-15-hch@lst.de>
In-Reply-To: <20220118071952.1243143-15-hch@lst.de>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=nvidia.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: a888d85c-26d6-4ada-9ceb-08d9dacf6cb9
x-ms-traffictypediagnostic: MW2PR12MB2379:EE_
x-microsoft-antispam-prvs:
 <MW2PR12MB23797C1654E266B5F4D43140A3589@MW2PR12MB2379.namprd12.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:
 SIy/rV163bbf5Quo5xEqWxZ7KNopDmfTIGB4GjyFSO6ZUfw/v3nHaAUJp6utstP31pP5VJSzYjDbMxSqvLKEt2vWCYCbSKHxyJGto/EmEv5xIrmXe7Jt8UqziohVSVNray7WmySDQQKGQ1BkzGqEASoB38lt0mm6KfAvQdIMBYilYudAhX7L41ou7Zsqb05to0hm/xhRJYNUujoPz8YNbaAcZ2QHGb1RylFyd4HAw8kA/MZAlOetMMvrlUNiCxm9zsNrMd42DZp34T3DOOcJ/alQXN6UVxRjWyy60F+gyALLPcnDBWeg0cfPjjcyo1LK80cb/oWcjZerg7q9mEgbeA4Rjkl1il8KkDOsg669Hdz/OGGkHTREZ25xr2FpW8+ZUPnMXgF8v9nxZ8Vb3g6B2hmfVLvS5zWayJMUQVlp2YG99AUl5wtk32ktaM4Sq//Qhrlyhb6AdbqFkmgs6EmeRw0QSHNTeDTP5RFqJnqeskCSaui2+8uKzJ7IN8CORiJmYzGAVEC3UMotxbnQu1fwDrBTM4LgArHyTHR763HHjHAT75YlNCRVbL2Rp0oPC125/VHNJMyU4boILGnFkt83T2pBrYI0i5KvnAExQe4Zn399iUnj7d4B/GjlFhsqoBCbBmE6xbNoPglzWprklHbB/g5MgjuwhakxgrvbuG+T/GlZA6pfrhaBv5PwhVkyULgVw39CquozpGUdmSmziM+Tb1WDDOMFZJ7vsT3ew7ecv/hn7hC9wO93bNIun34Arvxby8phcnxoCNxAhMcCJJ9ypQ==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW2PR12MB4667.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(122000001)(38100700002)(558084003)(36756003)(54906003)(8936002)(91956017)(71200400001)(8676002)(66446008)(64756008)(66556008)(66476007)(76116006)(66946007)(31686004)(316002)(186003)(86362001)(53546011)(6506007)(83380400001)(4326008)(6486002)(110136005)(2906002)(5660300002)(2616005)(38070700005)(7416002)(31696002)(6512007)(508600001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?bXNOTlY5VmsrVVQyS2xlTFJXMVRFaVN1ZmlZQlQvdWg0eXgyS2J5ODBXSm84?=
 =?utf-8?B?MGFHNnlOY3lRa3BZb3QrdlVxY3ZFRTlrR052ZEZZb1JFc1RlamUzNFdlcEY4?=
 =?utf-8?B?ZmU4YXpqMDgyUHJYZmcvKzlRRCs2MHJkc01EUysvbGZPTlZHZU1YblB5anIy?=
 =?utf-8?B?OXhwTkY1TDZxbUM2cEVwQ01DK0VYSjVSSmRnVnRBUmlMVm4vTGdGR3FBUnJG?=
 =?utf-8?B?bGlNdGhwSGY2VnZOSjVkSEY1cG5iUXJjVU9FcEc1SDNpNWJrYnBtejVkNkg4?=
 =?utf-8?B?T2NqeHBWRnkrSGgzSm9NeTJrQlczSXd2ZVNNZTJtU1Fuamh0WitwamNsUDFO?=
 =?utf-8?B?aGFSbXY4am5wdGF3blZibXpSNTNwcjdka0U1RWt2UCtpOS9UemVFOUtaWlBX?=
 =?utf-8?B?Zmd3T0NhWUl0VHFSOFBUOUx3S2V5NHhHRzg4K3IwU3BrZC9ZSXJicUczM3h0?=
 =?utf-8?B?ejRzakRzRy9IQ3Y2aHc3dWxWSisrbStxZGxWN01aR05KNUdKZityZFNuTG9L?=
 =?utf-8?B?SzdwdnFqejBEczJWN2MzMGJXNTNGYUt3TTBpbjg0eGUyRk9VeWRmMTA2NFZv?=
 =?utf-8?B?ZFZlT1ZUZEVRa3hIRDZka1hhUjlSQjVPS0hVYUw4YllqWFRNcGIvQVQ0dHZz?=
 =?utf-8?B?a2dLTDBlSlRrUkFxMnZBSCtmRTM5THBTVG1LbXJvYXg2cWtwd3QrbnV6ZWVI?=
 =?utf-8?B?Nnkwd1lINEIwZ3I3U2djZGQ1RVJkdWZBUWVhQjluTUpQNHZsektsdFdqcjZM?=
 =?utf-8?B?NlUrM014bFE2T3ZzTy8vZmxpdVRQUHorRHkvQXZqQ1ZwNGQzRHJ6dE5JbzBX?=
 =?utf-8?B?Q2VRZExIOGx5Nk5hb0wzU2ZvR3ExcmtNS2lsNDlsalYzQVRZVG1MVmJIM0xS?=
 =?utf-8?B?YWhRMVJnNVNBTXNpUmRPMzczVzZzRW0vNWNxK3QydEFpaVVXNzdkTWtzdGJP?=
 =?utf-8?B?eTN0L21jQW45MzBsWDdDWmhIY29UczVkWGduTExzd1Q5Rlh6dHZjNGd1YzEy?=
 =?utf-8?B?NGVhc3VqTTRwUkUycGdGNWUxTkVtYjRQRmRrMFBLOU93akc1MnpiQXozcmNk?=
 =?utf-8?B?MFMya0RXclUwY3grU3g2QW5QbVhNMXJyNFhzNVhVQllIRk9YajhJRmxsNkFL?=
 =?utf-8?B?WU1razRCU21rQlNTT2FLU3hTR3JPS0RjVVZ5V0NpNXp1dE9KVlY1V1MzZ3VE?=
 =?utf-8?B?aDMvNzZWVnQvWHlwN0hkMHJWZ0JobFZFTldmSkEwWCs3ZHhUSTB3djV0cGtS?=
 =?utf-8?B?T1VpQXdwTklGYWFwRERYbjdadWh6NHcyYUs1L2RBTnp1WmVaUGY1RFFQcHdK?=
 =?utf-8?B?QnZONWh5aTZhcXJNaE56Q2oxWGxTT1dqamY0TTQxWFBLbzAzUlRuUkVVWjUy?=
 =?utf-8?B?M2lBZ1VwZG9DN3lDdzBnNndRZ25aVXlRaFR6cWRXY2FEMDFhTVJ6Y1JGNkxa?=
 =?utf-8?B?bldjUkZITWRzK2p0NmtTTkt4Z0JLaldQZ1Q0UUVzL2oxMjNrMFUvcGl6YzlG?=
 =?utf-8?B?Y1g5Njd6VWVtUE9nNDUxUU1YL0tzdTZZQVBPU1hxbDdESzZNYUt2T2dWQzBs?=
 =?utf-8?B?VDlwbXplU1hHMlFDQWFsSTQrSWFEOXZOaDI2YVAvaFd5dWtNOFdJUzlyVXB0?=
 =?utf-8?B?WDc5VFR6Zkt6OC9zQzhWTDFaNWhXamtwbFFqL2M4NCtLUVM1SlVuRnRvNmxa?=
 =?utf-8?B?UTRXWE5wS3RWZnNaZnR4WDhPcWdjTU9DOFIzRVl4MnBiSUw2amdybkp4ODh4?=
 =?utf-8?B?NWEzODdSazA1TnErby9OWVh6aEpQeDFxYmFUOXRPVWFPQldmeWhiK3ZMZjVX?=
 =?utf-8?B?d0RyY05qTVV0cndPMUJYbk4zV0tmeVo4SjYxeVZGUnBmU29VdUtJQ0dwS2dG?=
 =?utf-8?B?dXNQdEprRDZmZ3FoV0Z6VDduZmRCTU1uVHRNK1QxN0UxUDZnNG4wcnhvQlNm?=
 =?utf-8?B?bTVpRytvL3BOeUdvd0FUNWJmckc2RzlSWC9JWUU5Wm01Rzh0NnJ3R3hSODFq?=
 =?utf-8?B?a1V6YUJMVkZmMElWUk5ueWtXZnQxUUJDWkFielZrckp1TkRPaTYxaW1uRHl4?=
 =?utf-8?B?OWxpL1pKVXg5TFgzWWNKQTQwRktCZVJLU1A0Y1U4R0s3WWJ0UWM5QTVVcnNQ?=
 =?utf-8?B?OVF0dU9BbWJHL1Z1Q3lSNWNMdUcrVnRxR1dUczUrVkg5QmZxc2ZEOHlnR2ZQ?=
 =?utf-8?Q?KEmWXYPX+xGG2zwoV91NUDuw1pwSUPp6qnAM3pkHYbuB?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <72D9A4819752A44299892B2C633A7AB8@namprd12.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MW2PR12MB4667.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a888d85c-26d6-4ada-9ceb-08d9dacf6cb9
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Jan 2022 22:11:06.6199
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: a2HPNadh3RAvu5rrPYoSKIG/9zBtGDAHn9makgk4Sctcy2J/SjLXcjcFMvQtiY5cGE4LckViTTCGAB+0JCJP1Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW2PR12MB2379

T24gMS8xNy8yMiAxMToxOSBQTSwgQ2hyaXN0b3BoIEhlbGx3aWcgd3JvdGU6DQo+IEFsbCBjYWxs
ZXJzIG5lZWQgdG8gc2V0IHRoZSBibG9ja19kZXZpY2UgYW5kIG9wZXJhdGlvbiwgc28gbGlmdCB0
aGF0IGludG8NCj4gdGhlIGNvbW1vbiBjb2RlLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogQ2hyaXN0
b3BoIEhlbGx3aWcgPGhjaEBsc3QuZGU+DQo+IC0tLQ0KDQpJIHNlbnQgb3V0IHRoZSBleGFjdCBw
YXRjaCBmb3IgdGhpcyBvbmUsIGFueXdheXMgbG9va3MgZ29vZC4NCg0KUmV2aWV3ZWQtYnk6IENo
YWl0YW55YSBLdWxrYXJuaSA8a2NoQG52aWRpYS5jb20+DQoNCg==


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 22:12:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 22:12:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258649.445715 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9wiT-0000Pz-Az; Tue, 18 Jan 2022 22:12:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258649.445715; Tue, 18 Jan 2022 22: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 1n9wiT-0000Ps-7b; Tue, 18 Jan 2022 22:12:37 +0000
Received: by outflank-mailman (input) for mailman id 258649;
 Tue, 18 Jan 2022 22:12:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9ZWs=SC=nvidia.com=chaitanyak@srs-se1.protection.inumbo.net>)
 id 1n9wiS-0000Pk-3N
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 22:12:36 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20626.outbound.protection.outlook.com
 [2a01:111:f400:7e89::626])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bbbbb1b2-78ab-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 23:12:34 +0100 (CET)
Received: from MW2PR12MB4667.namprd12.prod.outlook.com (2603:10b6:302:12::28)
 by BN8PR12MB3137.namprd12.prod.outlook.com (2603:10b6:408:48::30)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.7; Tue, 18 Jan
 2022 22:12:25 +0000
Received: from MW2PR12MB4667.namprd12.prod.outlook.com
 ([fe80::75e8:6970:bbc9:df6f]) by MW2PR12MB4667.namprd12.prod.outlook.com
 ([fe80::75e8:6970:bbc9:df6f%6]) with mapi id 15.20.4909.007; Tue, 18 Jan 2022
 22: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>
X-Inumbo-ID: bbbbb1b2-78ab-11ec-a115-11989b9578b4
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jKR/HKXa4felQpSIvpc4TxodyJEUY56WZUGTzwDSvvK+hktw56PHM2zDjP6ur8VGV86RgDWRcgK9WCpYgujHk5Mg6aQVqscbYbg4dhKW0VfYMzeq5Lz7QkEasfni2tIEegBhKucjcX7pyFCQ51yngR0koTaa8wtf8eHE8Rsb3Sn/m1yTlaMlCwiQDVCAZEyCYbdgMVx3jlyxMBpC5P+m33/0YnkxA3+KaWwU1ea5ATeZlEKg3gD8Cg0F1w6c+fjmR0BYtYT+8n0jT8mROVK+fAGIlD76MXlkzlpvyZ5TUoNKxZWeMCckePYfabBPOMb6FP0Pm2V3FAUBYWCUrv11kg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uQcGE2RD5vm8sY+bJefQtU5ebnJe2jUx0ztTnDFLA3c=;
 b=V1WznV5siXl1FGLGS2ZmNGU981eLIfwEAJ01DX3Y5YkFPR0u/Iil7yxx+6iBAXowNYzn7Ia3fcGjwAvS9KgT1V1wSUbzUlVZQkyJH7zaqaIL6S3wMAoLnMYAFKeNErtUVZHX6RhA/saJe1oj0VpOgAWFDnMrDusuaTPvcYSgn0/UeDLB1g2TRNVZKjRtwfzesNpfaCECuM//N2nfdgNBtuEsF4ItiZk8BlWR1Z0t2+mmpdrRlLSNmD/+W5aL/rf2YSjCZAgb5qM+MkdpKODPwRZoj5R2FxWZbGFkab0/wBt7cbgOFhaNZv1grpTiHVIXURHO9cxSOh93UzJrp9jT3g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;
 dkim=pass header.d=nvidia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
 s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uQcGE2RD5vm8sY+bJefQtU5ebnJe2jUx0ztTnDFLA3c=;
 b=JcmykTlfYTcbTqgMj5FEPa54w1Z8qFwrH0IeEPNKrDXFeA1YFSO2fnxbvP11fmdOkeJgkztshHDES3uqwAzgTf2xwUGlenrJL0ybkjmUDq1RWNupkP8c8kcetY7FKDMuiuIb39d/TXnzKvzu6nfueR2B0DlWZ0MOiT0S4ZiAxJi2HWJaaoKvYJfV779dHnVWTGMn5aoFYMxuWBiVTtslEiMAX/J9bYKOV2RBPrxu+r2cJHVGDxoVIsWPsUrJ/PKPIJ4Nf6YHRKYHMb4K0CtUoojKceim3khQk//bTbPZgYsVeeZdQOOyfolvacKzbpk8BbvXWQp+PhK2a9g3+PlaTQ==
From: Chaitanya Kulkarni <chaitanyak@nvidia.com>
To: Christoph Hellwig <hch@lst.de>, Jens Axboe <axboe@kernel.dk>
CC: Pavel Begunkov <asml.silence@gmail.com>, Mike Snitzer
	<snitzer@redhat.com>, Ryusuke Konishi <konishi.ryusuke@gmail.com>, Konstantin
 Komarov <almaz.alexandrovich@paragon-software.com>, Andrew Morton
	<akpm@linux-foundation.org>, "Md . Haris Iqbal" <haris.iqbal@ionos.com>, Jack
 Wang <jinpu.wang@ionos.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.co>, Philipp Reisner <philipp.reisner@linbit.com>, Lars
 Ellenberg <lars.ellenberg@linbit.com>, "linux-block@vger.kernel.org"
	<linux-block@vger.kernel.org>, "dm-devel@redhat.com" <dm-devel@redhat.com>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
	"linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>,
	"linux-nilfs@vger.kernel.org" <linux-nilfs@vger.kernel.org>,
	"ntfs3@lists.linux.dev" <ntfs3@lists.linux.dev>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"drbd-dev@lists.linbit.com" <drbd-dev@lists.linbit.com>
Subject: Re: [PATCH 15/19] block: pass a block_device and opf to
 bio_alloc_bioset
Thread-Topic: [PATCH 15/19] block: pass a block_device and opf to
 bio_alloc_bioset
Thread-Index: AQHYDDwKaEQTLVOZi0Cg/CObFHXAKqxpWHgA
Date: Tue, 18 Jan 2022 22:12:25 +0000
Message-ID: <c4d0db2c-b487-e965-30da-507b30f29a6e@nvidia.com>
References: <20220118071952.1243143-1-hch@lst.de>
 <20220118071952.1243143-16-hch@lst.de>
In-Reply-To: <20220118071952.1243143-16-hch@lst.de>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=nvidia.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 402ac08f-9cce-4f55-b50e-08d9dacf9b80
x-ms-traffictypediagnostic: BN8PR12MB3137:EE_
x-microsoft-antispam-prvs:
 <BN8PR12MB31375ABE3B2CA93FC2F5BFF8A3589@BN8PR12MB3137.namprd12.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:
 P35+9WhpGmOgRscDuEjiAXZtjgzZyeaINJltJOo3NmdDyvm/8qz0gfIYUXbwFPBAXxHjzKko9dVUuZupQ7cq7kSd+rRY2GbBx43hhAprkPLMxJy7gJY940XJpQb+o1JQwK/s05WwbQsdbeF96cnOTUHc9QUFuQa4u7Fl7yX543g6+LK2bT+3AknsTHCVFnnscgUO1IAHXHZxUVjXzrgZPs8gZdzgbIGDoi/n9sxeaFY5J1dGPiSmgXKQe5wzEW1af+lw3OmZcX1/C48rgbrxLwNE+8R0yYyjCjC3hUgiQcBZzl9izH2YyKZ9W4Zt/+QAbNi3XSxzG2MXhI+VuQ/rBjDEqbZV3WceHFlTqGxSmMgn8ABxIBiTHO0HQ5FTXkL+uA22Kevmd6mu+fbLQHd7abrSpMidRp/K9M3Llal3T8rU7J7LjzLr3C6zjRYIqO97lM8tD6/45fJQv4tT26kKUxQ9QIkJBJV8R9oQpOE41MzMSBg35aHfEe0u1ECmCGII4MkRU+v2fKCRrZmRiyo7quaMyWex8Oz3u9MBnLx3a/ErB/GYqbfSRKvn1WVnk1e+YrvY18NM5Z+mEPqEYoqgpJW5qc9neuJeUp/mXw0ONV2gunz5DKK+3haidH4TBrHi/D7i08BFVrc/lJr7kh7x3z1rLomTyRlAfe80RT2ZzgkMld/kAxlTTKQm9xwMUzXGqsI+LcKvBGTxtjaFFJRZlFSn19ms2mzFT6MT4yoqjuCVSUcdKuqSa+C4ccjyiBaiJye6LLwMnQaPHFgp9ITvPg==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW2PR12MB4667.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(36756003)(4326008)(66946007)(6486002)(38100700002)(76116006)(6506007)(7416002)(2906002)(53546011)(66446008)(64756008)(38070700005)(4744005)(83380400001)(71200400001)(122000001)(5660300002)(186003)(66476007)(91956017)(6512007)(508600001)(86362001)(31686004)(31696002)(54906003)(66556008)(2616005)(8676002)(110136005)(8936002)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?NW1yYlRJbmJhK2hEZVVJOSt4VEIvTkt3ZWs2RWpwQ0MyZFBaQnMwaTNqM0Vp?=
 =?utf-8?B?TzltK1Rxb3FNMEZ0Z1BuaG9zUm9HQVJhSlN5VVdwLys5TnVIR1dCL3czY29n?=
 =?utf-8?B?aW9KWW5rT0NiNGhtME1PZCtXLzdjL2xTS1ZtbmRrYTVOS3F6UGJPQlVCbXVS?=
 =?utf-8?B?ZDZJWXM1TWtqQWFSMHIxTmdBM0NUWUF4WHdQaG1TajE2VTNKNStnLzhKc0th?=
 =?utf-8?B?K3llTENXdGQ5QXM1WVg4aUM3am5MWHZTSUtPbjdkemZObndkYjV4Ky9XYWkx?=
 =?utf-8?B?bWhMMkQvZXlDVGk0TTRxQUFvZnh1WHp3TXNVUjIwbWduUTZtRmNMTFJhUlYr?=
 =?utf-8?B?VHMzL05qUktMRlZ0bEcrOE5aTzdULzJqYWoyTURjOVF1ZldrazliSVBPN0JT?=
 =?utf-8?B?eWtVcGRjeDZDV2ZJT1NqOUdRMURDRjRFL1hDd0ljY1JIVStwaUc1ZXJjM1N4?=
 =?utf-8?B?Um5jZkZkRHZMTWo2emhWTVVXcXlaVDlmMnIzeUNXRTREZlZCLzNucEZ5MmFx?=
 =?utf-8?B?ek5SYkFSYU1jbXQwa3JMMmNEYUNEcjdjWjZNVmZiNVpKcERvZ2RFdC9Lc2oz?=
 =?utf-8?B?Nnk4MHdSUzFxN1pTbzRZM2s5ZmFzdUUxWThFWmppd1Nxd29yQTNVQjAySXQ4?=
 =?utf-8?B?Y0IyRUR1SmkzdW1heUo2M1Ewc0FxaUkwQkV6ZUV5VVo4TkFLbWF5a05MM1FN?=
 =?utf-8?B?STZBNUw3N1BZb3VlMTdZRkRjNGtxb2ExblV2MENxbE42dW5wM2JBdnFwVzFD?=
 =?utf-8?B?c2hCckVQeWd3cjBva3VvTElUUDljd2ZGTU50VmFxUUwzcWdXaFFEUjgreVRO?=
 =?utf-8?B?ZjNyY1doTS8zWnNUeEFscjEvSHZUZUt6VmwwdWhhY0E2SHJ0c2QxQml2K0ZX?=
 =?utf-8?B?UE9xczBhT3F4cG1CdTdMMitveEQ0a3RPZDFEUUNELzhCL2N5cTlmQ2lqcENw?=
 =?utf-8?B?b1kyL3NTeEZuNTU0azEvUm1HK05MRmF6eXdyU0lNV0ZBRWRHbWtYTlJiL3VJ?=
 =?utf-8?B?aEFNTklKeTlRWDJGR2F2V2twU3YySnBsMzQwamE0M3M2Tkt6SEZuRWM0dWE5?=
 =?utf-8?B?RFduNERRKzNwSDhQSW5VQ3lRQ2pNS0E3ckMzM1lGbTFvK0pwaGcwNlhzZW5u?=
 =?utf-8?B?UWtXWTFVQkN5cWN1NmhGNzQzanp5VEREMDFNRm14K1RpUElINU9yZFZDMURJ?=
 =?utf-8?B?TERaUUFnOVRnY24wU05TRjRkd3d2VmtCVkNLbE5CRmREY3p5dlRqTGVaNm1v?=
 =?utf-8?B?VWdUOXAySHZDUEhtanBkSVByZXd3Sm9YaDZVQ3ZUaERRYUd5R0Izem96TmE1?=
 =?utf-8?B?MzRoM0grc1RTMStpZlA0ZC82UXVoRDFLTE1yYmVkNUJhTFdaYWI3VENwQXpE?=
 =?utf-8?B?T3I5c1ZpL0FobWo0RHZlZ0R3OWtHamN3YmJaN3h5UW1DbDdqZ25OTHRKRC82?=
 =?utf-8?B?dnArVGh2cCs1bnlUZ2JTR0JyeWI3SmNaQzk1MmprMFVjb1lsUlhMQzBIYVZW?=
 =?utf-8?B?dFNybC84Mjl1aFRBc0FQdEV1S3ZUQjhSaUc0enRaejhxTFBKVE9oeDNqbUlG?=
 =?utf-8?B?N21weHBlRHNDeG1pc2tTczdWS092RzR2OUNRM3RTMEZmRjdTdU9ycndNY1Zn?=
 =?utf-8?B?aE9hdDY5YXFaUW80N2dpTXdGT05XdEw4dHVVeUV0UnVjai9OZFVtV3dpNFk0?=
 =?utf-8?B?WE51clVhcm5JR2ttVEJUT1kxWnFMMklzMFl4QS9yaHVjYzY5K3FwQlJUR0FU?=
 =?utf-8?B?SXdOaDFuK3k2dmpiR1VEdG1mOVVncVo2MUtiNnJEVFA1U3dYczIrSmxYV25r?=
 =?utf-8?B?b2xYbW9xeGl2djJBQW5vV01SdWd1RkRtaHBaMUp4am9yWUJHRm5pdGVKS21y?=
 =?utf-8?B?c3FmMGVVWjZ6dncybGFpV0FWc1VOUFBhejhnejhtS2szb3llZ29hZ0poVTBl?=
 =?utf-8?B?K3FmbGp2TUc3cUpBdlR0bnhVWXczK2hmM245L1dQZ1NNem0xQlV3dFB1R3Ru?=
 =?utf-8?B?WWJJdkkreVoyQW0yNlgrMW10NXdjcEZZcVRMcThWZnh5ZEYxWDFVSTJhM3RC?=
 =?utf-8?B?WUZISmt5b3hwK0tJaXQ5Q2h2MWhpUkxDeThXcnprWTRCdVVBL3lGaGVVd2dq?=
 =?utf-8?B?RGRSMUhZc3U4YWc4NnFVcHR4Rmk2RWZsMW5SWkJIZkV1eEhJd1Y2TW92eU5T?=
 =?utf-8?Q?GzMzaljxOGpsCDb6F1z9WUGXGqC9AqrRcbuFf0wR+ZkJ?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <E00E6E42D2517540A652FBBB17F3A16F@namprd12.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MW2PR12MB4667.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 402ac08f-9cce-4f55-b50e-08d9dacf9b80
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Jan 2022 22:12:25.0999
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: UzO8dghXgOa2yP3PXOxNcApzIWQklEaL++I44FdcYTVju3yQ15cJa9x3zbVzJjKWKtZU0ribL4KiyYEDdcT9PA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR12MB3137

T24gMS8xNy8yMiAxMToxOSBQTSwgQ2hyaXN0b3BoIEhlbGx3aWcgd3JvdGU6DQo+IFBhc3MgdGhl
IGJsb2NrX2RldmljZSBhbmQgb3BlcmF0aW9uIHRoYXQgd2UgcGxhbiB0byB1c2UgdGhpcyBiaW8g
Zm9yIHRvDQo+IGJpb19hbGxvY19iaW9zZXQgdG8gb3B0aW1pemUgdGhlIGFzc2lnbWVudC4gIE5V
TEwvMCBjYW4gYmUgcGFzc2VkLCBib3RoDQo+IGZvciB0aGUgcGFzc3Rocm91Z2ggY2FzZSBvbiBh
IHJhdyByZXF1ZXN0X3F1ZXVlIGFuZCB0byB0ZW1wb3JhcmlseSBhdm9pZA0KPiByZWZhY3Rvcmlu
ZyBzb21lIG5hc3R5IGNvZGUuDQo+IA0KPiBBbHNvIG1vdmUgdGhlIGdmcF9tYXNrIGFyZ3VtZW50
IGFmdGVyIHRoZSBucl92ZWNzIGFyZ3VtZW50IGZvciBhIG11Y2gNCj4gbW9yZSBsb2dpY2FsIGNh
bGxpbmcgY29udmVudGlvbiBtYXRjaGluZyB3aGF0IG1vc3Qgb2YgdGhlIGtlcm5lbCBkb2VzLg0K
PiANCj4gU2lnbmVkLW9mZi1ieTogQ2hyaXN0b3BoIEhlbGx3aWcgPGhjaEBsc3QuZGU+DQoNCg0K
TG9va3MgZ29vZC4NCg0KUmV2aWV3ZWQtYnk6IENoYWl0YW55YSBLdWxrYXJuaSA8a2NoQG52aWRp
YS5jb20+DQoNCg0K


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 22:13:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 22:13:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258652.445726 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9wis-00010r-Nj; Tue, 18 Jan 2022 22:13:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258652.445726; Tue, 18 Jan 2022 22:13:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9wis-00010k-KN; Tue, 18 Jan 2022 22:13:02 +0000
Received: by outflank-mailman (input) for mailman id 258652;
 Tue, 18 Jan 2022 22:13:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9ZWs=SC=nvidia.com=chaitanyak@srs-se1.protection.inumbo.net>)
 id 1n9wir-0000Pk-Og
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 22:13:01 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20615.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::615])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cba3cf6a-78ab-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 23:13:00 +0100 (CET)
Received: from MW2PR12MB4667.namprd12.prod.outlook.com (2603:10b6:302:12::28)
 by BYAPR12MB2869.namprd12.prod.outlook.com (2603:10b6:a03:132::30)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.12; Tue, 18 Jan
 2022 22:12:57 +0000
Received: from MW2PR12MB4667.namprd12.prod.outlook.com
 ([fe80::75e8:6970:bbc9:df6f]) by MW2PR12MB4667.namprd12.prod.outlook.com
 ([fe80::75e8:6970:bbc9:df6f%6]) with mapi id 15.20.4909.007; Tue, 18 Jan 2022
 22:12: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: cba3cf6a-78ab-11ec-a115-11989b9578b4
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nw/zXXIihkclJzP11XNh412j4BFUW3lkuEID0OIlZi4cFybcp1t9B51WLwBakChWHyZ5P1Y0GWjHjttSPLzLK1dGpiLlJA1WcY1LnchkSKr3mM7zdhLCOG4CkD/hZJgIhEp+iFPGfptCRJo0RPXxoJ9o/txccPb/scORe6mr6KTv/ZV90jNzREtO4MMXAjksVUAQEYtDQ2KdLbAixS6pQDOmiD+pXBOTV56uVoE6A1j89nrY56+zsQ/OTKiEKrVNhR7+8OveGhPfn4o/fpGCnpauZmdBLSSAGN/WvqDJz66BnD3QywVp5ZmX6jCoTu3eLUuVJWMhZLrLpLaobQk3AA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=v3XTQo/k3Ao88p0VxQnnj38+oL2wFdpJ5odlYOeRklo=;
 b=BkTjiTyyp9QCUcT+EQcrWMyQfwxnA5tdOl2wQb8RUADvalbAzQZl7xAa7J/kuzvDgELT3TjoewTyAEb/asbDte3NbSxCRlEb2tFs/F/nThzSIVJ6voV4MEXcKV7FC/xN3feCAuzEhB9vivCVp8SONRT6KIHhKyaoOnp1qFbkY+2d3hS+dLUjyGc+tdNgWPUM5JvZYZXFZkCTGLf4bUdbTH3QSCu/bS1FYR9+kClzPynVDdrjpxdwc3tDlfCHBQN7DBD0Zs5PaNighTZy3KewCMkerX8YXSzMVg/icSyxpluS7GGkGJuq3jLiCt4qBuCIOipphQNSGmcXtI2nfDQqVw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;
 dkim=pass header.d=nvidia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
 s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=v3XTQo/k3Ao88p0VxQnnj38+oL2wFdpJ5odlYOeRklo=;
 b=tuNHWo5YnOBhbreXH5o6kgeBTwTSKWVhKt52sB2MHhIzF3gkFxyjMZ+AzqNPva3P8nw+u7xEyebuRzaPARZhbCbx2a9Ya6xt+q0itShDJYJEcRV7UrDZrAQvaWm3rvvEaVyzGWX5eOT+FmYrC73eZO1wE6Bx18dXAh96HVcUg1hEzn0GhJ8YKSlFOkjwM7yWr8gJTjdlDPo8KXaTV1oFe5A/NteXnXOJAKnbxclGLZ+lMWPTbzeCHms+uz0NRAPD428lGqg1S7HlP5UcxXfajmvJ2XJ296Bz/I8RoeJx528gKQIfqjklzgIWttoY48LsQ6NHmmTrEQ4UEDQXGx9SUw==
From: Chaitanya Kulkarni <chaitanyak@nvidia.com>
To: Christoph Hellwig <hch@lst.de>, Jens Axboe <axboe@kernel.dk>
CC: Pavel Begunkov <asml.silence@gmail.com>, Mike Snitzer
	<snitzer@redhat.com>, Ryusuke Konishi <konishi.ryusuke@gmail.com>, Konstantin
 Komarov <almaz.alexandrovich@paragon-software.com>, Andrew Morton
	<akpm@linux-foundation.org>, "Md . Haris Iqbal" <haris.iqbal@ionos.com>, Jack
 Wang <jinpu.wang@ionos.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.co>, Philipp Reisner <philipp.reisner@linbit.com>, Lars
 Ellenberg <lars.ellenberg@linbit.com>, "linux-block@vger.kernel.org"
	<linux-block@vger.kernel.org>, "dm-devel@redhat.com" <dm-devel@redhat.com>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
	"linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>,
	"linux-nilfs@vger.kernel.org" <linux-nilfs@vger.kernel.org>,
	"ntfs3@lists.linux.dev" <ntfs3@lists.linux.dev>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"drbd-dev@lists.linbit.com" <drbd-dev@lists.linbit.com>
Subject: Re: [PATCH 16/19] block: pass a block_device and opf to
 bio_alloc_kiocb
Thread-Topic: [PATCH 16/19] block: pass a block_device and opf to
 bio_alloc_kiocb
Thread-Index: AQHYDDwLgxrf9A6iukmI9OhMnvmluaxpWJ+A
Date: Tue, 18 Jan 2022 22:12:57 +0000
Message-ID: <8838ff19-5e17-1d3a-f751-6b1e21d7d799@nvidia.com>
References: <20220118071952.1243143-1-hch@lst.de>
 <20220118071952.1243143-17-hch@lst.de>
In-Reply-To: <20220118071952.1243143-17-hch@lst.de>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=nvidia.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 8c6f3e30-efe2-4559-882f-08d9dacfaedf
x-ms-traffictypediagnostic: BYAPR12MB2869:EE_
x-microsoft-antispam-prvs:
 <BYAPR12MB28693FE86B27FC5F0F66C5AEA3589@BYAPR12MB2869.namprd12.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:
 sbKOleeczD7PQYPJnEb+ImIz3jxCZLuDbtJcfmJFaPVBgt2LnczGpT/ll+gOsPqNbeDYZ1LshIvLaBSpserfKG3CaXoLrPADfJae8bbk6o089jVDEm7lst0HNLnjzotAn5ChnZBClDy9Xl/65x0zRqJOTApGydVqzC7f80B+2iA/+bJcVO2c5aUCybo7z7vkwn/kA1vXJYxL1uYCQ8djz3BzCuA5sbn+T7jMRqCkvZnqrs/BR1gCKM9yWe5O7IV50RX6C8al+kI7MPxFJaIt9wX9bCOj7ZR7i/B7SsaW3O4G1cPRnAhmMQEON0Kdzbhj+5Tndgyvwzm8LtalNdVoOb0LeHkAWD55D/viV5IeYS3TtZ7gmJDjvkKsVrhlvuNnp3R2AuoXsaSwxxTU8E92MCS418Fn84gkjTPFBfeUeifS0Oa8s4cX0YYt37+Gl7a+mN85/e3dR1Dm53ZdRX1Bx0wFl4tnUzZ8Q0xqmhZpAOtOHvpp0mV0unlt/WNVCXKvkkrNCAxvxxMkHdaKcCQ+YhqdwU5QwpoOnisdeHsf4QMr4cjaY9Vv8hbtwYCYENNHftKPDq+IvFYGb5iDUV4zed7xRC+hHIH43YLyR27+4yynt1D9dMtGx8bKFFZH3CT5aIB7jh6Ffa3Z0y4c8QIlqJvIf95Ak1oG2IE7kBj7XWlsaFrllgO2bJfZAFooXaPI//aSXQNwHszQwo9EtFoHflgKDPTXbPidKfsXL9kdYB069Sna4coimsj6UNcC6+szfYv7GfW3FETlWWspaitDDg==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW2PR12MB4667.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(6512007)(316002)(86362001)(31696002)(8936002)(71200400001)(66556008)(8676002)(64756008)(31686004)(36756003)(38070700005)(558084003)(83380400001)(5660300002)(66946007)(91956017)(2906002)(66446008)(66476007)(186003)(2616005)(6486002)(38100700002)(122000001)(54906003)(508600001)(4326008)(76116006)(110136005)(53546011)(6506007)(7416002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?c2FCU2s5M0VrOTVudFFoSnU4S3hvaXU2Y2VWeWw4aXdXdTIvQUs5NDBISVhB?=
 =?utf-8?B?WFZ0elRDdzNPZ1JkeXRoZlFyV1dBcmVwbDZ6WDhiTkIzZ0pxRnlyMXdhb05Q?=
 =?utf-8?B?c3k2MmZwMllJejFXVnpaYWZlTEoyc3k0UkdyVDNqL0lKRTVWdVRBVEFDVlpO?=
 =?utf-8?B?bG1FcHhsTnhKVVRGNllSQjdLZTdSV0t5M1EyRWRMWkVBV2xEV0FMTHV6bStC?=
 =?utf-8?B?eEQvU1pRRTZEd0tTaTZjWGc5aHFsTC9rZ2pqcXlBdW5mK0VJTFVRandMUnV5?=
 =?utf-8?B?YjhKTXpvYTI5RElibkxuQmhYWW0vV1hseEQzY2IyRGNNbjZRU1FtcnRoeWZH?=
 =?utf-8?B?RlR2SzlsS2F2UUZyOVR2K05UOFVKMkxLWjNSUnI0SytuM09HUlFjUkx0SUUw?=
 =?utf-8?B?MVVCNHQwbW1Nc1Y1ZVVod1dscno1anBDRXBEa3Y0c1lMTHhmOWk2SWYydTBi?=
 =?utf-8?B?TUJCdHhiZXFoTVlueDlmb1U0WG0yaVZmSnRlUmxiRmk5SGZxMkVrSEZ4Nm8v?=
 =?utf-8?B?YWJEYy9mRGdTNDhjYVp5a28raUVHOXdYRHhTblV3aW1SR2dGdkNvSGdRQU00?=
 =?utf-8?B?cGdzSlJnZkx2dDhScEt6L0FFZXgwQ3luYUFWMm0vTWtZNy9SbERkekkxOHNM?=
 =?utf-8?B?NGc3QUhCMnFmTTVJNWNMUzZPbFJ1WS9WaHRuU3Vtb1dUM3Fja0R5aXBrblFp?=
 =?utf-8?B?ckdYdmJyY2tnTW0wbUNOQUdzNGRncTY0TEtyMStBZC9TT2NETlg0WEx3OVNB?=
 =?utf-8?B?eXNLaFYwNWJ5b3FQVG5BZ2JMNXduL1VHVmZVL1lhV2Zod2F4SXZZOUlOTGNI?=
 =?utf-8?B?VkhJOTJSZmhLeHpaandFTTZqWjlBbXRkYzBsSHh5SzdJcVNFeU0rbTEzN2Y2?=
 =?utf-8?B?QjNYOUYzTVYyTUFDNHd2eWovVDIvcStmRHVUbkhCbjdSU29jZFJiSE1rakcz?=
 =?utf-8?B?MDFiZnNRQlFPRmlVUmZTRmdaSWNvMXBGLzBtUmkxRlBEa1VUNDlQYk1kL2VH?=
 =?utf-8?B?eDVsVDZ0WHZCYVYxZ2wxTHozM3RjMTNaeDJCTGswL3hHWlp6ZGltOGtwV1V6?=
 =?utf-8?B?U0d3SXB4ZlhJSVNpU1RUdmxWNEw4UWZqQ3pHekxoV1c4NWx1YURSUzQyMXFC?=
 =?utf-8?B?SjQ2aDFJM3FSWHhNVG5nMEYvZUhBK0xLZVZuUEkwQTRKMWl3YTQzVFR1ZTcr?=
 =?utf-8?B?WmRoVnE1NXhpVmliVGRHTHc1WHFvOUxWb1d0cjBSWEFkZmkxMS8wT2tDSGU5?=
 =?utf-8?B?OFJ5T1ljbmVGTjZIV0NxcCs0V0RuZ0gvVGR2QVkvK01nODc4ekZFa1BLTEtL?=
 =?utf-8?B?SFhZL0QybjlFcjRZbHErdzhOYkJDaXhKNXYvam1UZHhHb2dWQ25NSisxWjU4?=
 =?utf-8?B?anVjMTZ1cVI2cnpDS3dLNnRKSGhRN0pBTytuU0YyWnJZVUtrYkwvUDVyQVk1?=
 =?utf-8?B?bUNwdUc3eFNtT3ZqbEdDejh2YS96ai83d3hPTnI2S3BNbVg1NUp2TWdtbEVM?=
 =?utf-8?B?RFA1M1E3ZkpJRHZ0L1R5ZmRCbXEyNk5kb3RaeXlid2R4TEtrNmNSNWdSaERR?=
 =?utf-8?B?bDkvZGxTTkE3Y3hKZ3JGUXJFclhpVmR3WTdOd2FQVHNzbXZjSWk4bXBoU0lL?=
 =?utf-8?B?eDEwY2dDcHNscXZiTDdieHNrOTBBc0RwOWlsZFhLcVBLVUpDb3pUR1oxa29E?=
 =?utf-8?B?Q3ZMMEtrSlBzRUJLV25NZU1lRWJya2dTdnYwRzhVTzlUS0FnNFVmSXZFZWNU?=
 =?utf-8?B?VWdnMTFMdU5oa29hMzg1T0hTZDRLMEtUbEd3ZXZNR2FJYjdnZnZJY0hOeFUr?=
 =?utf-8?B?RE5VOG14alpWb1J4L29XQ0tUYkJvUzJxeVgrV05xSG5Lc0h4YzN6ZTY3c1Vo?=
 =?utf-8?B?N1puRDVQY0F0Q0tGQVZYMVVYUGE3UUYxTEpuRUVkVnR4dW9VdWVrUFk0Y0R4?=
 =?utf-8?B?ZXl2ZGRqZXdzQ2xjYW9MRHZsNWJ0SURVTlVBazZNOVpKcFVDaVRGMDhkMFBK?=
 =?utf-8?B?Ny9lYlBBOGF5WE1EOHFOcmtaM0l3LzVCMlRSdEtQZzZwZHVjcnpqK0lHMUgw?=
 =?utf-8?B?RVljbGJ0MlEzbmE1ekFLc3RWYTVnd0x2MjhLK3FnTTk0WVU4NnZQRk50anEv?=
 =?utf-8?B?czBrdU1ha01qZzBtbzREdUVPcit2NFphN2Mxc294NGUyZjVKcitXei8zNkNq?=
 =?utf-8?Q?VUeNPKVksg5EijULXPb6tqDz9nzl9a+TxVlUt8ToCnzY?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <2F4563EDE021F847919851EF702ECCC8@namprd12.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MW2PR12MB4667.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8c6f3e30-efe2-4559-882f-08d9dacfaedf
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Jan 2022 22:12:57.5981
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: YcFKlJkqGI/oYw70LvuZjBLJRQozSkOGF5HC0fPl/L3xvJT+J4npLTDpyaiVGV/6UeNnJwTSC5bs4nTs1XQrDA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR12MB2869

T24gMS8xNy8yMiAxMToxOSBQTSwgQ2hyaXN0b3BoIEhlbGx3aWcgd3JvdGU6DQo+IFBhc3MgdGhl
IGJsb2NrX2RldmljZSBhbmQgb3BlcmF0aW9uIHRoYXQgd2UgcGxhbiB0byB1c2UgdGhpcyBiaW8g
Zm9yIHRvDQo+IGJpb19hbGxvY19raW9jYiB0byBvcHRpbWl6ZSB0aGUgYXNzaWdtZW50Lg0KPiAN
Cj4gU2lnbmVkLW9mZi1ieTogQ2hyaXN0b3BoIEhlbGx3aWcgPGhjaEBsc3QuZGU+DQo+IC0tLQ0K
DQoNCkxvb2tzIGdvb2QuDQoNClJldmlld2VkLWJ5OiBDaGFpdGFueWEgS3Vsa2FybmkgPGtjaEBu
dmlkaWEuY29tPg0KDQoNCg==


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 22:14:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 22:14:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258656.445736 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9wkD-0001fk-3B; Tue, 18 Jan 2022 22:14:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258656.445736; Tue, 18 Jan 2022 22:14:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9wkD-0001fd-03; Tue, 18 Jan 2022 22:14:25 +0000
Received: by outflank-mailman (input) for mailman id 258656;
 Tue, 18 Jan 2022 22:14:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9ZWs=SC=nvidia.com=chaitanyak@srs-se1.protection.inumbo.net>)
 id 1n9wkC-0001fP-40
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 22:14:24 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20627.outbound.protection.outlook.com
 [2a01:111:f400:7e89::627])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id faf6f200-78ab-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 23:14:22 +0100 (CET)
Received: from MW2PR12MB4667.namprd12.prod.outlook.com (2603:10b6:302:12::28)
 by BN8PR12MB3137.namprd12.prod.outlook.com (2603:10b6:408:48::30)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.7; Tue, 18 Jan
 2022 22:14:17 +0000
Received: from MW2PR12MB4667.namprd12.prod.outlook.com
 ([fe80::75e8:6970:bbc9:df6f]) by MW2PR12MB4667.namprd12.prod.outlook.com
 ([fe80::75e8:6970:bbc9:df6f%6]) with mapi id 15.20.4909.007; Tue, 18 Jan 2022
 22:14:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: faf6f200-78ab-11ec-9bbc-9dff3e4ee8c5
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kiuAV0MFiE8h5Eq3aaohkVMf81XBM+WzNGwxu6yyDKLW1MVeGGIceRGfCyNLVarzSzVSR6nNj5t3wK6HOIw//j1SJcNX5TLqZTxAfWC8K7kjgLLMNZEXQim0kBh6V/YgpBeM2t/M/JJOZrZZSENNXICfii7b69FnKnnBMjAulnFrwaqUcp5h/8dpsgi70a9BurJHFQbisyJZD8zfgzNfdU7t+S2hcOkqrA+vVDWIkm+H0q/i9itzhpmKIEkHqiKdACNHURIX2/q6i4U1uLjxZI5JRll9z3r/11vG5e/1VBpuUvD5KxnRL04dvxFl7Kj0dTEmJfhpxyGUUo8+mCEHrg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zSJliUmMKGywiR7aX2A0K7VaQAgJnTUG4RzJwOOxmtY=;
 b=UAgv6P/KTlFBeVyfCrB6leBJABVI8j89enDpk7dmiUdc/rWA+rZdhUsC8248SkLa2RbeSTY53PRFbHgQdvoFVdbU0QAwq/hJavwFdL1SEBMHdMDwzxDnQeq+8PmEYISspgapAwTLUNjyaz0zpoqoHulcFNiS7cW+HNGn7ISHtTi7JPFe6nZsof4mPZP4HHoNy8nVnkxtTj0kjASXENzkzQq4oGTvcpKVaPUk3d/raTFLODLG/2JHNVuNnxwwI1UkN8420YmXnTU0cXd800y56hAZZlRu5HaZ9Utpxt1FTpTvanQspV6jy15QBA4tS31K+eRBo6PVKy2vGTbRhFoaJg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;
 dkim=pass header.d=nvidia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
 s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zSJliUmMKGywiR7aX2A0K7VaQAgJnTUG4RzJwOOxmtY=;
 b=pLVZEiVMX0zPE2061UG/7mMXj+M4+oYQfJxoqh5U8gcSd/4phNII+UDan9y6AKa0ylV41BjaDy2pKeJxWGCa+RxGDdCddb8Xq4iVX9C9RzKna/GFHnU6aWoU5lAq76t7r2xQWSjVnFFjsmKhGStLxD4zk++2K5lyS9/VH4gLYL31Q74ltNxKUsgxWsfBSPsFm+YsLxrgX34k7msAGjmxbffPzke999a6cj99ZZ2P/ySJboeNXdwjyzFbUo0zEZ0rJ08ZBlGr5MTb/F6Tf2fQ6rX97R81rEJj/7ElPqCbZs/cTynrFzt+F2KysLuqrp/ghvXFcZqII+adsAD5qgvhYg==
From: Chaitanya Kulkarni <chaitanyak@nvidia.com>
To: Christoph Hellwig <hch@lst.de>, Jens Axboe <axboe@kernel.dk>
CC: Pavel Begunkov <asml.silence@gmail.com>, Mike Snitzer
	<snitzer@redhat.com>, Ryusuke Konishi <konishi.ryusuke@gmail.com>, Konstantin
 Komarov <almaz.alexandrovich@paragon-software.com>, Andrew Morton
	<akpm@linux-foundation.org>, "Md . Haris Iqbal" <haris.iqbal@ionos.com>, Jack
 Wang <jinpu.wang@ionos.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.co>, Philipp Reisner <philipp.reisner@linbit.com>, Lars
 Ellenberg <lars.ellenberg@linbit.com>, "linux-block@vger.kernel.org"
	<linux-block@vger.kernel.org>, "dm-devel@redhat.com" <dm-devel@redhat.com>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
	"linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>,
	"linux-nilfs@vger.kernel.org" <linux-nilfs@vger.kernel.org>,
	"ntfs3@lists.linux.dev" <ntfs3@lists.linux.dev>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"drbd-dev@lists.linbit.com" <drbd-dev@lists.linbit.com>
Subject: Re: [PATCH 17/19] block: pass a block_device and opf to bio_alloc
Thread-Topic: [PATCH 17/19] block: pass a block_device and opf to bio_alloc
Thread-Index: AQHYDDwKKixcCpXXJkOK/9EcGjgKbKxpWP4A
Date: Tue, 18 Jan 2022 22:14:17 +0000
Message-ID: <8f26d2c5-2ff3-68b6-c883-567f16bf57f8@nvidia.com>
References: <20220118071952.1243143-1-hch@lst.de>
 <20220118071952.1243143-18-hch@lst.de>
In-Reply-To: <20220118071952.1243143-18-hch@lst.de>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=nvidia.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 75e5db58-c69c-4913-1bdb-08d9dacfde4b
x-ms-traffictypediagnostic: BN8PR12MB3137:EE_
x-microsoft-antispam-prvs:
 <BN8PR12MB3137697F3560C2747A23B819A3589@BN8PR12MB3137.namprd12.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:
 yIqHevk5Q31Y018/APuyJpjCvc4MuP6L3KNxHsB+Syf8GhPUFnRb4242wipQ1DI1RsTU4V54nGmIo+fAuZjOLjf5Pfn7Ts0eP+oQSv1VFAdxzqLbnWMkgOMg3hwu+EBIy+W68t6lTAjUx80fJexTwkfKez7tAsi9/CRYnlt+ENXdSbxB6wmVNAM14GzEu08fhq8QOptJZLdNTJdBlVuxtO/pXP7W+oa404XHe04q1+ffpqbqdl/LHoScD4jhYJgbUcU0SKuv88xzsagktB+Zsko4RRXAo3ajeOUH3uFx2gGu8m7fjo94WFwC3FSaxrzwRDtaMtlrRUVxdm1aMvtUH3TsmiwUqIMAnl4nq8RQuB6WhPOLqAqp6w2U5LlrPCF9LMIi9jljq89ki9z6vxvhznTyCEMuCjrM+9TkhATWC994BhW5We+zeDPtaLUkyUq4pGTRo8rIzhG4XwIHcUPvS+6efN1aJkptQ4ZeP6HgROe4kXrYOrSyqqy1zdjZaDsM9iD0yGiiEYAVbwWVcRDQdhrleHPYPDylICN9MuNWtczNc45pjpBCsr3cfNt49PLZ/troYdp8G4XZ52ojWPCBdljlg39kyGIwHeyyzQSyItNlFTV3kCD2uUmvrmGb+pXMVN90QMPGo/r5qbYelnGd9H0EUG4Qm7sGID5xaaMROVa/PyAkqwiShdFFwBsp05mTun4OUw2bpu9/VqXltw8ZZz7VOsOCN/DF+has09dU8Dfu6NU5lZGxK4V9UOSVATsL/gS304qwNaZqLnqYwXE5ZA==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW2PR12MB4667.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(36756003)(4326008)(66946007)(6486002)(38100700002)(76116006)(6506007)(7416002)(2906002)(53546011)(66446008)(64756008)(38070700005)(4744005)(83380400001)(71200400001)(122000001)(5660300002)(186003)(66476007)(91956017)(6512007)(508600001)(86362001)(31686004)(31696002)(54906003)(66556008)(2616005)(8676002)(110136005)(8936002)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?VDQ5WWdNeGxDeVc5TUd5cnRpejJzT1kyU2grZEwzaHY0YlB5QnJMYUNDZVp6?=
 =?utf-8?B?VitPcHlLZnpSZzV1ZWlVZmRJME9YelN6RytWSGd4K2lvMkQ2MHpJSHZuYzg4?=
 =?utf-8?B?MWwvTlZqNlQ1enV6MEkya2VsbTdyNHdoRFJQMnlsTzRxT015aWV4S3ZYS2l6?=
 =?utf-8?B?WkU0Tjl1YVNIdGJKclZ5UkxVUm5ybW5WT2pIdHNBNVFiUmdyRHN6Unh0SEw4?=
 =?utf-8?B?Z0dNaGkwQk81S1QxZCtKcDVYUHlQZGFZa0xrZndmYlRNdFZvUWN6YUxmaFRn?=
 =?utf-8?B?UklyaFl1NSt2NlZFSzF1VVJsb0NYN0ZETFZ1ZTExZ3dJS2tsOHhyQUxyT2d2?=
 =?utf-8?B?aDMzREkvekhTUlYvOVlYUGlsUk9BK3pRUzFFTElIMkJTWCtiZklSSVUycXhO?=
 =?utf-8?B?YTYreVFCRkV5Ui82UUV1K280VGp2TEVsVFpCaVErTCt6WTZ4blJDMlcxTVhy?=
 =?utf-8?B?UWJ0emNEZHFLbklHVitzRVdlRitMc1VFSDgyeHR5VkZNL2VlLzFVUklSVjUv?=
 =?utf-8?B?cElrVTlWRmZ0cTlFUEtLOWMzSDM5K3JhSHRsWTk1a3gyR1ZWU1ZObkJDNnR3?=
 =?utf-8?B?eTgvcVBQYkNMRjV6Wjd0R3ZMRkhMbmdEWnFibEtBbG1sQSsvenozd21OV3JU?=
 =?utf-8?B?SHlrckNSQzFkU1RzOUpoS0pEYkJsazI4TGE5WVNHcDFXLzZDM2lnTXI1YUUv?=
 =?utf-8?B?b3JUaUV4UnFvWWNhbDhETjZwaGJ5UTJCZlZ4VHNKZE5hVkxzZVMxczI0MGRM?=
 =?utf-8?B?WWhiMElnRHNVYjFoTnMxTWZHMGtrc3RZUWh4SEdBL2NBRmhEUm9tWncvVzc2?=
 =?utf-8?B?NDVDUHNnWUJJd0lBbGsrNW4rUE9QbGhZd1pDNkdRRjFZZ0FiUkNMcEZCbExO?=
 =?utf-8?B?ZTJUNU5TZU4vRUlSbGxBY0ZvemR6VE5pMTE1UGxhLzBtWmJUampnSUE1cXp1?=
 =?utf-8?B?YUx5SUwyVFNZeVNIT2dkU0Nwclp0cHJXSW4zb0l6WWFSckR6eGVxMyttSjhj?=
 =?utf-8?B?TkhhK1d6MjhMNzNiZ1VGNFVUcHFMa2tpU1dkL1RYUnRJRG0vS1pGVm4wbElM?=
 =?utf-8?B?VXpoaFlSazJJekJsYXRjV1h4MGZZejlacTJoeC9JWFVQZW9KeWIrNldudEs4?=
 =?utf-8?B?dUNOYTBMbm1FOXk5S0MyYkxyMk42RkM4RFBXZkRRdG41bVM1Y3ZUYWVuYzdQ?=
 =?utf-8?B?ZE5yamw2WWFyTHBJemlwcnBNRkdQREpkWDEwRVJwMWQ0cmY3dmZxV2d4Y2cx?=
 =?utf-8?B?V2lpa0hSRjJpdXljMUFQelJLWDBnSHlVSDEwbUp4QWlaN3huNGhmb05vejFj?=
 =?utf-8?B?Q0tFL0lvejNvTFNpb3hPUWFNSGlCUWFPT1ZzTFQ2R091WEJGa3Z4azN3SjBu?=
 =?utf-8?B?NXllQjhZVEl4LzJTMERrbXdLZmlEZ3VmcUlTWWk3MDZKeDZpTTM5YWRmQU5V?=
 =?utf-8?B?K0NiVittZDNoR29Rd1BROVNNMlEzbVBOY2RDVjM1TjgzQVhiSUFmdzZtMW14?=
 =?utf-8?B?NXlnQnV5S0FNc0dzTUtqSGhwRFNrOVA0ZGk3K2xheXNpR0dETHU4VFNZcmNO?=
 =?utf-8?B?UGwwaUZtM1RJclNHOHpOVHJpSnFEV0ZGOHhXemV2VWdXZVV6QW83K1ltR2RE?=
 =?utf-8?B?NDBaZW1UcVNVZEZwNEVqOFhpNDRXWTdZQkc3N0E2QWQveVpmNi8vYVhHeFlu?=
 =?utf-8?B?L0ZhMG9jWFUrTHJFOFNYOHc4ODJ3OFdMRDd4aExndlk5elVma3J6NFVrQytT?=
 =?utf-8?B?aE9sOStFK3pHM1Y1TUc5OHpOdEMwQUYrM0tKUnpyQUpoRTZxc2lTRHozSlFu?=
 =?utf-8?B?Nlc3N2pUZTZyMW82YlNLTTVOR0NqU0tGQk4rOXR3aEViZERXcU9oKysxTzhj?=
 =?utf-8?B?andvc2RUYmwxcEJkZDc2MTV1QTFlUWpHTUVwcTFoU1QrK0Jndm5GZWxZbE9P?=
 =?utf-8?B?U0JsZGxyZFlNTFJrWTdzV1ZVNVRTNFRRWnJNY0tNLzZiWnM1ODRCVjJ3Skgy?=
 =?utf-8?B?RExXeGlYNWdMWjhoVVpTTDEvQW44d0ZEaVFXL0hodW1ubU1pbWhsc0dta0FE?=
 =?utf-8?B?ckFqeHl6KytLZS85U0VJTFViV1ZuWURmRVpJZG5lbWNBRU02ZDl6NkVqYTdu?=
 =?utf-8?B?Y3ZCVFE3ZnJQUGRneWFTTWFsLzNsMHhpa1RGTXlReGpGZitqMjRKMW5pWDJQ?=
 =?utf-8?Q?HjS/IsDZ6Eu75zn82osp6jvH6C5xTqqRk5TiS/NKtgVK?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <C34C2F0A08E43545A50616A425CD9E1A@namprd12.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MW2PR12MB4667.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 75e5db58-c69c-4913-1bdb-08d9dacfde4b
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Jan 2022 22:14:17.1560
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 41tINHyfYfm00bMWoiZd7KQRHKf/Bl76fGX2jOjsh+lytQSuc7GElpuRjLzOF7Q/yRtVkzBmf9NVJreNENHzOw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR12MB3137

T24gMS8xNy8yMiAxMToxOSBQTSwgQ2hyaXN0b3BoIEhlbGx3aWcgd3JvdGU6DQo+IFBhc3MgdGhl
IGJsb2NrX2RldmljZSBhbmQgb3BlcmF0aW9uIHRoYXQgd2UgcGxhbiB0byB1c2UgdGhpcyBiaW8g
Zm9yIHRvDQo+IGJpb19hbGxvYyB0byBvcHRpbWl6ZSB0aGUgYXNzaWdtZW50LiAgTlVMTC8wIGNh
biBiZSBwYXNzZWQsIGJvdGggZm9yIHRoZQ0KDQoncy9hc3NpZ21lbnQvYXNzaWdubWVudC8nDQoN
Cj4gcGFzc3Rocm91Z2ggY2FzZSBvbiBhIHJhdyByZXF1ZXN0X3F1ZXVlIGFuZCB0byB0ZW1wb3Jh
cmlseSBhdm9pZA0KPiByZWZhY3RvcmluZyBzb21lIG5hc3R5IGNvZGUuDQo+IA0KPiBBbHNvIG1v
dmUgdGhlIGdmcF9tYXNrIGFyZ3VtZW50IGFmdGVyIHRoZSBucl92ZWNzIGFyZ3VtZW50IGZvciBh
IG11Y2gNCj4gbW9yZSBsb2dpY2FsIGNhbGxpbmcgY29udmVudGlvbiBtYXRjaGluZyB3aGF0IG1v
c3Qgb2YgdGhlIGtlcm5lbCBkb2VzLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogQ2hyaXN0b3BoIEhl
bGx3aWcgPGhjaEBsc3QuZGU+DQo+IC0tLQ0KDQpMb29rcyBnb29kLg0KDQpSZXZpZXdlZC1ieTog
Q2hhaXRhbnlhIEt1bGthcm5pIDxrY2hAbnZpZGlhLmNvbT4NCg0K


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 22:15:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 22:15:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258659.445747 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9wlR-0002Gk-Dl; Tue, 18 Jan 2022 22:15:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258659.445747; Tue, 18 Jan 2022 22:15:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9wlR-0002Gd-AK; Tue, 18 Jan 2022 22:15:41 +0000
Received: by outflank-mailman (input) for mailman id 258659;
 Tue, 18 Jan 2022 22:15:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9ZWs=SC=nvidia.com=chaitanyak@srs-se1.protection.inumbo.net>)
 id 1n9wlQ-0002GV-4m
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 22:15:40 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20620.outbound.protection.outlook.com
 [2a01:111:f400:fe59::620])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 29ebfec5-78ac-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 23:15:39 +0100 (CET)
Received: from MW2PR12MB4667.namprd12.prod.outlook.com (2603:10b6:302:12::28)
 by MWHPR12MB1487.namprd12.prod.outlook.com (2603:10b6:301:3::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.12; Tue, 18 Jan
 2022 22:15:36 +0000
Received: from MW2PR12MB4667.namprd12.prod.outlook.com
 ([fe80::75e8:6970:bbc9:df6f]) by MW2PR12MB4667.namprd12.prod.outlook.com
 ([fe80::75e8:6970:bbc9:df6f%6]) with mapi id 15.20.4909.007; Tue, 18 Jan 2022
 22:15:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 29ebfec5-78ac-11ec-9bbc-9dff3e4ee8c5
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Mt2QnJgZ2pgX4Ce6c8snCh/DgpmHXZNqY4RM5OySSUDxkGt+UzESOZFx5Y8RnXnoVwXC+jM9VxNTr8v7eWTN9eu0a1sKybNu1CRhfcrgmsjr9aOxbvvcgGA0mNSvJTn0GtYEeWXdkn24dbtxALTzboUYcXyZVRU2o/+n3xEs9ll6bvl890eJj5uLG6I5xgTDb/hDHV9wvQk3d7APLwKjc+ppbdaLOLxxvUh8V7nMum2uHfvcBrixPRl509Od7qaNoxGYxgxKlcLuXhW6ur7I0q8/KRFPogW+QjPeSbpHqnPPuijJrWEEYtQkhPrjFVguBT4t5baM/8fyNLFmsNhcLw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7+NRM5dbEf/ywcja/WF6bJ0xMCvzgQeV/oka59TCa2E=;
 b=DLZBaT/clReMU9AuSXZvUpqJj/O4YFr74DSo6G3OBGS9LvS5cSZQYQGlqyhyDFg5tuIaS5lMn6rjyD8lTTmDwMCkVLBUu4DdlMdHvOjXVXt5ZmS8hqqxt/eWKmKkx0QT7XttZUfZ3BdKTi/P7Yn9+GcvDxgaGk7Ru8hl5fEr4DXhcqZVVH5CJj+ZOla1uXgw6G0GjdUgb+pZmFFC8uQ2l9GVMM8M732BEuQRaplgkT+DgfvNrPNfXvuezSW0ML7OZdm1BTj7CEWaV5T3yXz3ba/AB0WoR5BTyxeKIzyGcLZzAko4u6G5TZYYK+fy/JJ2GckJ/HtS4WuEviQMZDvmKg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;
 dkim=pass header.d=nvidia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
 s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7+NRM5dbEf/ywcja/WF6bJ0xMCvzgQeV/oka59TCa2E=;
 b=ihulHJIy+zKFG2NtDqIiiB+lxa5r89dSuqiqrFbL/+FEFrqNYbYXH956G0GKkcA3EccGGAJ3CoODZUNR/fDyjUZtM38BKTY4DNU5xRfC19rcraeN9BRGUsGR4I3DqIwZoV6YPsaBSOAovKaqeLyPbxk7kCkk4c/iQoA3gBvoePAPaKkbfNeU66zAcb6V0GSa+j1iR6/vtwUx0xWcJuPIGv5i2wMhHRf7rVtEB68Z5yj7RSOinVg2zympniAoLpDRvwtV+B/s8V+V2lJ59lJv7F+SAyiRmwjz3QMC7CqB5yGdqmGHXdBgJdTzeFk3Zy5jZmS9Fp0LpH7KY4Xx2DtXhQ==
From: Chaitanya Kulkarni <chaitanyak@nvidia.com>
To: Christoph Hellwig <hch@lst.de>, Jens Axboe <axboe@kernel.dk>
CC: Pavel Begunkov <asml.silence@gmail.com>, Mike Snitzer
	<snitzer@redhat.com>, Ryusuke Konishi <konishi.ryusuke@gmail.com>, Konstantin
 Komarov <almaz.alexandrovich@paragon-software.com>, Andrew Morton
	<akpm@linux-foundation.org>, "Md . Haris Iqbal" <haris.iqbal@ionos.com>, Jack
 Wang <jinpu.wang@ionos.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.co>, Philipp Reisner <philipp.reisner@linbit.com>, Lars
 Ellenberg <lars.ellenberg@linbit.com>, "linux-block@vger.kernel.org"
	<linux-block@vger.kernel.org>, "dm-devel@redhat.com" <dm-devel@redhat.com>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
	"linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>,
	"linux-nilfs@vger.kernel.org" <linux-nilfs@vger.kernel.org>,
	"ntfs3@lists.linux.dev" <ntfs3@lists.linux.dev>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"drbd-dev@lists.linbit.com" <drbd-dev@lists.linbit.com>
Subject: Re: [PATCH 18/19] block: pass a block_device and opf to bio_init
Thread-Topic: [PATCH 18/19] block: pass a block_device and opf to bio_init
Thread-Index: AQHYDDwP0FUTxCXhd0WAkIDGBDECvqxpWVyA
Date: Tue, 18 Jan 2022 22:15:35 +0000
Message-ID: <43d7b708-317c-4dd2-2de3-dc1755c4f835@nvidia.com>
References: <20220118071952.1243143-1-hch@lst.de>
 <20220118071952.1243143-19-hch@lst.de>
In-Reply-To: <20220118071952.1243143-19-hch@lst.de>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=nvidia.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: dff6305c-f2a0-4116-c79e-08d9dad00d4d
x-ms-traffictypediagnostic: MWHPR12MB1487:EE_
x-microsoft-antispam-prvs:
 <MWHPR12MB1487B7C156211F4604E38DBAA3589@MWHPR12MB1487.namprd12.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:
 SVCJDi8ZcS1n9FhIO0eir1HHemKxQQzTcac8TYXBH2eaU06/p37GyHRCxF33XoA9v/4gKrU2rTLOVbAdwEcFrVk1ZnqYaPuJkG1B6IShIA3kB957I90gfZ9SIjOMsuAkJmRKAnIvhvxfKkouV7caLF0LmA4ZmTxTYHN1NYF6Cfu86BpVzlr1xsUJaFlcu3oIzoPXyFUBkh4QGxwnAHy+t7PDE3ox2QG+QE9jUWznGKBF47bZMYNabnV+HHLY1i/bi0+ujqHqQKYUXYgzM3P96BSHf48m0PEOFnUsjlj1i8WEaXEuovnDc5hKCSnq/VYkxsSzwmSppUxdknfP+7vyuaUJ6v3J57p1BtWA/JtUeixNPpFuUK0nvdZbMqJw7EgOaGuW0IQne7xAM3zMHnfkXPXm03edwvibmaeDYtIZ7pf/DzK8b/P52zep4QFEEsSMhhVVT0ZbNKsmUKzB0kaHpCNCNr/x5cM3n3s8DIhgXMXbZJAYt66jJ9V9lUKWx0QUFhMyTQ7O3EE5tV/JHNUT4vf5XlwA0IyalWVpYU1W0apGLAZBCW19gH3ldbOw198IGQ0CEKGH3pCSrn8tO0inn1es31Mf6JNXpX2TeGuoN6XcLugQ4mbdq6h6fnSJWi2mrPcAB1WYSJic6QTopEn7/bJgoxNdbm0v2oDJUj+I22kBWs4wIxn8GC7HOIbxYz4X9tFuLltXbL8D3nRLturCqgJhHPvMoL+Pm4Q5mHK8Vgceai9GyCPMEM/0Ow7b1TAJbKEdu+EH2pZ22nwFZlvmPg==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW2PR12MB4667.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(186003)(31686004)(6486002)(316002)(66446008)(64756008)(66556008)(83380400001)(54906003)(6512007)(2906002)(66946007)(110136005)(66476007)(38100700002)(71200400001)(2616005)(86362001)(7416002)(36756003)(31696002)(5660300002)(4744005)(53546011)(6506007)(8676002)(91956017)(508600001)(38070700005)(122000001)(4326008)(76116006)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?RVJZdVBYd0FmSEF6NFBXTFY5Tk9hc3VqWVQ1ZVZzWEV5NDVVOEdNbGlJa2E5?=
 =?utf-8?B?VXd0TmpxdjNLM1cvZVErZm1uQ283RVlNdjNraE5UaENaRmFEQVY5S21VUlFP?=
 =?utf-8?B?VG4zSCtmamtLczhaK3ZFMjNCWmhiTXpJT2dxcS9ySVNETnhNUFFIUUl4MTRj?=
 =?utf-8?B?VkVQV21jMTBNNWQxc2MxMG10ZEMrMXU2UXBWQktyT25Gc2tsWnczdTVUZi9F?=
 =?utf-8?B?K2VlcW41cGFSNTNaSDdQODYrbWVYY042a2FWS3FCWGhxK2hjclFEZmRnUVpV?=
 =?utf-8?B?RHZzdm5uN1YvS1lKb0pyU3NDN3o0TDkwSjl5N0lBeWdwUEJ6amZKR0NyZ1hv?=
 =?utf-8?B?YkUzd1hkLzVLZjJDcU9hNEpORTJhK3R5UDE3ZTFpUUc2SmNqYnFpOTdnZWZk?=
 =?utf-8?B?bVBaV2g1cFEvOVpoK0lBN1VYeVgvK2ZKWEptRWJvRU9IQnZVQWhkTU95dHJl?=
 =?utf-8?B?Yy83SzVKdTQ0MXNBRmhQMXozQm5OUFRmRVJDYmRnSGF1Qmo5S3BHN2U0V2VO?=
 =?utf-8?B?ZW5OVlFSbG9oYUhPbGduQXM5U0l4d1lOQjJiZkZ0SGpkd254alRUU3QzOE0w?=
 =?utf-8?B?NDdEb3NEV0N6TW1NMVd5KzRiczdNUkkwRU9ya2Q2RWpuSVFzYnJyS0ljREFS?=
 =?utf-8?B?KzZqYTVJajhqeXV1TUVuWTlEWEs1RUpNL25Pbi9pc2wwMHR1enZDNUgvenc5?=
 =?utf-8?B?NXdDdnYzYTNnZEwvcFhNbmg0MTlXVXNQeGdtUWkremxtN3l6VzYzL2V3N3Vk?=
 =?utf-8?B?bDF1U0pIcTBFUkFVV0htR3dBYmlyakhIU3d6SUR2ZE5VcFFicTNteXpFN3Zy?=
 =?utf-8?B?T0xPeTlpVEhTZFI5a2p1WEl3NitDUzl2SUlxL3huaDJMT1RpQzQ5dTJ2T3Nj?=
 =?utf-8?B?bTcwSTJ0SThZOHQ1Ym85VEpDN0tCWDhuaWpqWlZ2YzJrd2t0SHlUMjR2RVI3?=
 =?utf-8?B?Wi9IdzlDRFRBcjF3Y1Y2MHFUcE40RDhDTEl5b2VRMmxOdTBrM1BzdjJyanR5?=
 =?utf-8?B?cVdXRGgrUGx0T3NzdkJhdEk1UHRMbXZ3bXZ6aVFoaUpsWStzaVJIZm5uS0NV?=
 =?utf-8?B?NFpLOTFTU3IzMElTbzJBdGN2dHVIU1p3bGI1SXRLK0owSDhTTEdwSWdEdXlW?=
 =?utf-8?B?N2xoWXZGNFdncDVPQldrZG9QWmlzVTRzVkRCMEhzVDFrUC9WV3ZXU25GblQ3?=
 =?utf-8?B?SDRoNlNSRUZvQkRLNXBTSEZibXVHSGsvSHJBZVdxUUZPbnJFcW1QcjNUNWRB?=
 =?utf-8?B?NnErbjFteFkrNmhhTHZFT1ZaOUdzcURUcTZRZlc5a1crNStsUUlPZnJQM2M2?=
 =?utf-8?B?czVOa3N6WStpSXNlVHFxZjBNT3lqTG1QYWdVblluVnJFS1hoZlhXZjhxWEZD?=
 =?utf-8?B?Y1Vackt2MnUyVWhHUlV4YjBFNnRSOE1ERm1VVk5GR2VieXYvSk1lTjJJSXJZ?=
 =?utf-8?B?aGFoQk9JRzRHRnlxakYwQitOUkFveUI4cWZjdFBBWXVIc1JXTnlXWExQNG02?=
 =?utf-8?B?ZnNJcDlnU3lZUnloMFVzQzhqMTI1NVRLaHZuTFMyTC9SSkRuemhYcjI3a1h2?=
 =?utf-8?B?dlAwelE2MWpUeUtjaU1vWWxzbm9pMERmOXdCSFRYS1kreDlCUlVaeEQwUnVi?=
 =?utf-8?B?L2wxWDdPQUE0Lzd3bG52SUt5QVUyKzJ2Z2QzVTBUWUFsbWpQbTlNMDFjUFNU?=
 =?utf-8?B?TU9WQVM5UEgxUGFPNDlhNFI0dWg0dDdOZ0V1RXk3TFkwOTFpWWliU3k0UlNW?=
 =?utf-8?B?M1BidGFXb1NSOWRSUm90VVAwVWJTRFJwTW1BU1J3Y0xsbHBqU2ZXTlYwQVN1?=
 =?utf-8?B?MXNiSzRRT0VuZ0xVbHhVYWtDd2txNGd3c3ZpbFM4TkRWYk1xeHoyeDduV2o3?=
 =?utf-8?B?TnBLVnFnSUU4YS9xa1AyY1hzbU00dFBUbEZhbkVRYlNqa2RqdVIwdDBqTzRT?=
 =?utf-8?B?bFRmbHdPWEZMTmpxUkcxUGJWNXNUZFFzRmpNcGlLdjFzd1JWbnBjNmloejNJ?=
 =?utf-8?B?a3VsRjdXTThQb1QyNWw3d2JwTnNkU2lpeElUdDZaaEVCYlVHNnlkU3dwVUh5?=
 =?utf-8?B?T0FJWVlrUE1Ycnl2eW0vT3ZTZTljb3dJTTAvMGlJc2JkRStnTmRHbmlwc2Jm?=
 =?utf-8?B?VkR4aUJBdE9Tb1VTUndCdnBTc0M0TVM0b01YUU82ZVpMMGYrTjE4QUhVM0xj?=
 =?utf-8?Q?rscnqK0o0qupS9+NTKy9cIQYJCKrGdlFA5Ful94BdGp1?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <68497571FD293D40AE092A66BF25DCEA@namprd12.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MW2PR12MB4667.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dff6305c-f2a0-4116-c79e-08d9dad00d4d
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Jan 2022 22:15:36.0108
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: ksLd6ZhMAtnLpZpsyVDoqMcBc8UcliI0ru2az7JqJo8go0JRBSW3C9lvIPVFu2POPBBejeAtjU6sXmExYzh0/A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR12MB1487

T24gMS8xNy8yMiAxMToxOSBQTSwgQ2hyaXN0b3BoIEhlbGx3aWcgd3JvdGU6DQo+IFBhc3MgdGhl
IGJsb2NrX2RldmljZSB0aGF0IHdlIHBsYW4gdG8gdXNlIHRoaXMgYmlvIGZvciBhbmQgdGhlDQo+
IG9wZXJhdGlvbiB0byBiaW9faW5pdCB0byBvcHRpbWl6ZSB0aGUgYXNzaWdtZW50LiAgQSBOVUxM
IGJsb2NrX2RldmljZQ0KJ3MvYXNzaWdtZW50L2Fzc2lnbm1lbnQnID8NCj4gY2FuIGJlIHBhc3Nl
ZCwgYm90aCBmb3IgdGhlIHBhc3N0aHJvdWdoIGNhc2Ugb24gYSByYXcgcmVxdWVzdF9xdWV1ZSBh
bmQNCj4gdG8gdGVtcG9yYXJpbHkgYXZvaWQgcmVmYWN0b3Jpbmcgc29tZSBuYXN0eSBjb2RlLg0K
PiANCj4gU2lnbmVkLW9mZi1ieTogQ2hyaXN0b3BoIEhlbGx3aWcgPGhjaEBsc3QuZGU+DQo+IC0t
LQ0KDQpMb29rcyBnb29kLg0KDQpSZXZpZXdlZC1ieTogQ2hhaXRhbnlhIEt1bGthcm5pIDxrY2hA
bnZpZGlhLmNvbT4NCg0K


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 22:16:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 22:16:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258663.445759 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9wlv-0002sA-R5; Tue, 18 Jan 2022 22:16:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258663.445759; Tue, 18 Jan 2022 22: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 1n9wlv-0002s1-NU; Tue, 18 Jan 2022 22:16:11 +0000
Received: by outflank-mailman (input) for mailman id 258663;
 Tue, 18 Jan 2022 22:16:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9ZWs=SC=nvidia.com=chaitanyak@srs-se1.protection.inumbo.net>)
 id 1n9wlu-0002GV-AX
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 22:16:10 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam08on2062b.outbound.protection.outlook.com
 [2a01:111:f400:7e8d::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3bb1b429-78ac-11ec-9bbc-9dff3e4ee8c5;
 Tue, 18 Jan 2022 23:16:09 +0100 (CET)
Received: from MW2PR12MB4667.namprd12.prod.outlook.com (2603:10b6:302:12::28)
 by MWHPR12MB1487.namprd12.prod.outlook.com (2603:10b6:301:3::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.12; Tue, 18 Jan
 2022 22:16:06 +0000
Received: from MW2PR12MB4667.namprd12.prod.outlook.com
 ([fe80::75e8:6970:bbc9:df6f]) by MW2PR12MB4667.namprd12.prod.outlook.com
 ([fe80::75e8:6970:bbc9:df6f%6]) with mapi id 15.20.4909.007; Tue, 18 Jan 2022
 22:16:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3bb1b429-78ac-11ec-9bbc-9dff3e4ee8c5
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GPKz00TVbG5PH+sEPTUHdJrm/dJVoyoLjvMlQKQwgdzMvoYaMR6c+xk/+8vX3kk7VEREmAn7gtIsov67EkgEuUGgUs5QOJelavDqMkbUeWFADEhIWUrdVsqh8gPj3xLRdx6fWeFRa9JcGwUSMC/CXi8afw+a6A0lrpKa0tDdfOhSMPzthMwzjpRy6f5deAYrcL7GDPVW+RX/Tl1rLvgSRQIx7pLEVD/sTOZ2dLwvVKYa1dyvUOPz0FGxssjm8/qlZZqgPfmNYxmSE0dd3ZjX26m0X9TjNzUsgAgJYMqWVJIjz/BsxaY3rBCwmTTAstdL5oRbO/gKVV7MgYaPmAIUKw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7ZSiXN0jlndrXjj1b4wa9kUUdCNmCG91kc9Ols66x+s=;
 b=isNm0tpIGm0DnVYJLOOROeiZiXWkVVQkEUhRNTjNf6luScX17k9D3d+nneN28a8yWi5pmXBLjwPpU2547P/5Ks+rGLxMQaDUXdj2VcsQ8uAzULUwYnrLnCnPBYyRdW0BoKhij08AbpL7nXap4bMcOpsDjP+w4oEUMRKJ/Aad0TDl5vF7PwLMxKlTGGbAdNcacyNq/D05re2tvDrYRzEs6cR9qFroeFPZSAbc+a6wn8aHRdNH7eOT+tsk+C3y0gZ7Oh4VWg6/1deiA5iQ8EO0O0RbmQiIWi/YIVnxZN/dlDoXy2M0giMV7SEObaWtshdJB0LrWCZzABey0RMLMjIOsg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;
 dkim=pass header.d=nvidia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
 s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7ZSiXN0jlndrXjj1b4wa9kUUdCNmCG91kc9Ols66x+s=;
 b=HBcpijMicyIwzHnSbIlGaNqNINL1v7Pjes5O88tizzN3H8L5SSm8rqLvBvwmM58oXuD/2epxA4KiaSeLO7Ql5OyhrpnNDUx++hQukKoT0+VTH3OWE7tyj+bWzrAtE6pfWa91u5Wk9yEovSbKfBTXALnFtJjMp5zvlMCP68VJQZMWvWfcIdTfF6Y0F1Jsh1l2K6B5HbeedD900uuln72ZVygE3BGLF9ueMGynuSsQi+AE/nb6Ol4RJafPbebVlL6HjKLDH+kPOIaQSRJq++id31s2xcpl6o5Y7HKnmiHChJBeTGyWZmy1A7lojkWtdFchU9YWfjvqnyXHHpNNksPFXg==
From: Chaitanya Kulkarni <chaitanyak@nvidia.com>
To: Christoph Hellwig <hch@lst.de>, Jens Axboe <axboe@kernel.dk>
CC: Pavel Begunkov <asml.silence@gmail.com>, Mike Snitzer
	<snitzer@redhat.com>, Ryusuke Konishi <konishi.ryusuke@gmail.com>, Konstantin
 Komarov <almaz.alexandrovich@paragon-software.com>, Andrew Morton
	<akpm@linux-foundation.org>, "Md . Haris Iqbal" <haris.iqbal@ionos.com>, Jack
 Wang <jinpu.wang@ionos.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.co>, Philipp Reisner <philipp.reisner@linbit.com>, Lars
 Ellenberg <lars.ellenberg@linbit.com>, "linux-block@vger.kernel.org"
	<linux-block@vger.kernel.org>, "dm-devel@redhat.com" <dm-devel@redhat.com>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
	"linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>,
	"linux-nilfs@vger.kernel.org" <linux-nilfs@vger.kernel.org>,
	"ntfs3@lists.linux.dev" <ntfs3@lists.linux.dev>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"drbd-dev@lists.linbit.com" <drbd-dev@lists.linbit.com>
Subject: Re: [PATCH 19/19] block: pass a block_device and opf to bio_reset
Thread-Topic: [PATCH 19/19] block: pass a block_device and opf to bio_reset
Thread-Index: AQHYDDwO0g1B+gUH7U+xTMvaoQ/ZbqxpWYCA
Date: Tue, 18 Jan 2022 22:16:06 +0000
Message-ID: <d7068c68-17f5-86d3-6901-b747d41ac346@nvidia.com>
References: <20220118071952.1243143-1-hch@lst.de>
 <20220118071952.1243143-20-hch@lst.de>
In-Reply-To: <20220118071952.1243143-20-hch@lst.de>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=nvidia.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 831e1521-8843-4b6e-2440-08d9dad01f4e
x-ms-traffictypediagnostic: MWHPR12MB1487:EE_
x-microsoft-antispam-prvs:
 <MWHPR12MB1487185DBB1CA4391C897A0BA3589@MWHPR12MB1487.namprd12.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:
 WnAebCZtNHiQ63I0CU1rijEJS4dszLTxPk6xkcV4rhmVbrukxa/Tb8aOd2CE0JlslROAS7YaqeuSyjqGTc0ko15/Y4sdtDmgoEY+u1hT3XoPO9Na+ieR9TmG6WcFZxzL4cWfFOSyU8HqhO0iOuwbQfEKblAJAlv+xWyH8U9lrd9P1ohHl5CMiKSv96xA/YdtnPPVUc5DFiWmIOVXTMhp7MQh3NzC3zITr5Jhi5Wrzfsf//HMPWeOIDO2+XTbnfqBhbSA54I5RNq3qS7TwHVRyXw2gvBgu6v3rq22G9Qug8WYH9Sr9AXXoaurcMq4Jdq6YK+HO28XNdjOXcWtC9HjYKEBzZaB1KBy4Rw1rIgZgcT5D0+sb5WZ8ys02UZaUX+9kqYRHpjd1ahBM67asTJbz5cuMRd6UZgHVB5uNk+ksO7iWdZMD4uB+GSiMZxYMIxh72xdcRJXtM7uNfNmNF4WsZWgYgQkv8RZz1yDtKCUqAYweYDb+LMAH3EANEZDWuscx7yU+bKGRV98VgvOsHKLXBzum5E+lafv5o+SC0DHSVsGtSjwyghN+68ViCO4QYcgzbTxtyRbKc5zyaSArWijyxEB9ZGDsMTXMWjm74ys03s8U5Wg13f+9YDUwvzdRtLebTbvZ6Vec3Z/X9ppLNMsvDtir6TspLwf1i/mCsHcySCU92JyRY2RJwDE6bVa/90zkNHYllAWa/OAqXh3xysI/wM+l0yfMjYmvvqRt94Ru4TFon/xGA8E+2buYTbwVHXQINl9QPze5cQsxB1e1NaLGw==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW2PR12MB4667.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(186003)(31686004)(6486002)(316002)(66446008)(64756008)(66556008)(83380400001)(54906003)(6512007)(2906002)(66946007)(110136005)(66476007)(38100700002)(71200400001)(2616005)(86362001)(7416002)(36756003)(31696002)(5660300002)(4744005)(53546011)(6506007)(8676002)(91956017)(508600001)(38070700005)(122000001)(4326008)(76116006)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?eFI1TlhHSFJiRVh6Q2RXK3ozRUhZdUdLL05aK3lhclBRREQvQzFEZjZHU2xN?=
 =?utf-8?B?YUUyQUVjMnJMNGFWWm1YcU5EOEVPVTdocVZLN3VRVWFoRk5SMCtCQXFWSFh4?=
 =?utf-8?B?ZG5ocEtFUWdUV2czT3dhU3VBN2lDeERwZ0RXMEErR0Y0VVA1bUNkUzY2UDVi?=
 =?utf-8?B?WFdOUWVuYWVVMlB6T0J4azBZTVU4Unl1WTBOaDJvVjdGSVZCMUVYN1FnSUVa?=
 =?utf-8?B?NEw5c2haU055Q0VsbWxpZnFJWHZMMjR2VlZDcXBIYW12cnhaSFhSbmNpQmZN?=
 =?utf-8?B?R3NNSGJTeklocXpJS3M2RTRFeXVZeDN2RUZ2MTRkank0ZVorYW9HY2x4Q0RO?=
 =?utf-8?B?NDhkZEprWS9FbktOejJIUkFxWnAwQnFiejdGcVlqZ1dsWENFb0MvRmtkY24v?=
 =?utf-8?B?RnZsTUpsNUdHQU1kMmtlb05SbVd5ZTVKYVpjaFBna1RVR2E4dThrdEswWXpB?=
 =?utf-8?B?ZTdiTmFrRHl4Wmd4SnIremFqeVlLenZ6NjlieWlocUVwTStoa0s0YzhJaXhL?=
 =?utf-8?B?VzE1eU9mbDZucTYvUGpkNmx5L1ZwSXpuRDBIdWxYL0VxSlo1Zi81NU95Sk5j?=
 =?utf-8?B?NlFNbjZPaEN5bFpIQUN5WEZVZXRsM3pXeERtYzI3cG4ydDQ1K0NML0hsVGN3?=
 =?utf-8?B?aFRWWUhqRSttZStQYkw1MGRiSHRicjVOWjladUR3NmlTM05wL1lQeEhoVFpz?=
 =?utf-8?B?S1dUUThHVVF3MGxMMk51M3VhRHdybG1YNm9WeDh4aWxsT1o4a1cvRTROeE5D?=
 =?utf-8?B?N2VObENRRkpTZnhzc0N3WHNSdFJndkdQc3BHTEM4TWhqbzB1RTF5bENkYnZD?=
 =?utf-8?B?dStzUmZXMFFVMVJtaGNPSWM4SXhkUEFYRjI4ZzNKQnNPdVl0elpwb0N4WU8r?=
 =?utf-8?B?T3U0L1J0QmZKeHZKckgwbHB0bm9zTzNpN2ZXdExGcUYzOEJEVHZlbDBlYXFK?=
 =?utf-8?B?aHAzZnJtc2NneXM1VmxURFZFWmZsMFJDUENqa3VtMTgrbmRjZkg4a1BrQzZE?=
 =?utf-8?B?MU1lZUtrcHZtT0RJNXd0YVNOb1hsN1dibnpWUXlFVEZwN25pZ1o2ZEF1OVYx?=
 =?utf-8?B?NjljMmtoQWF6T3lISjVpREU4czFNdm9vTjJGK0RYVDdTY0QvRXh4YU5VS1pU?=
 =?utf-8?B?WUpISHFwdFhmeEE0MytLQUZJVEJ0czJTc2UxVUI2UmphdG1rM3J0am9PbGVw?=
 =?utf-8?B?THdtQ3hEUGYwNDZ6SjlTcndQbDYzZ3k3UGx6dnJ2endheDRPUW5PZW1Gc21H?=
 =?utf-8?B?SE5VUEszZXZxbHhjTGgycHlHeVJJcjg1U3hjUUk5OWVnbUIxRTZ6bWxMTGlL?=
 =?utf-8?B?a1NkV2F6a0gzOXI0Y1MzYlgxY0l3MUdzYkN0emtEbWJFYTJaRlNPQWRRb2RM?=
 =?utf-8?B?K0RjYStNdXluR1BGZ3VkYVErNXZzVkx1VVRVeEF3bTY5aDdTQVVoTlMxZDVP?=
 =?utf-8?B?dmRMcXpBaHlYOUkwZW1sa1k5OFd4U1lvUDVxMWxDbDRrMFJ0VHQrdVpyRE1H?=
 =?utf-8?B?T3hTLzhUeXRjY0oveVB2enowL2srQW1JTnQ5cXRNeldqWDRCLzRmMWpRYVh5?=
 =?utf-8?B?alBSbFZjL2Vob3Zkc3RMNUVZVFZpTGk0cWRRc1YrRC8veU82Mm1MRnJUZ2R5?=
 =?utf-8?B?UUZHS3VGQmtaVnQvODM3ZEg5amplb2NMVk1SRzVSTkhkRCtNTWgwN0VOem9v?=
 =?utf-8?B?K1h0KzhzYkpDZEhiQU1HZVJobFpMV2tqaE1hQmllTlEzTVdxQmhSL2VHUDhk?=
 =?utf-8?B?U2JpMkIvdHhlRWJkSkZuZ1VRTndGRkVDYTNrVUlnbjJpSDAwcGtTeUNwVzlC?=
 =?utf-8?B?NndVTUhQbHRiY3NGVDdxQjRXbnVIUkxVTWhCVjZNSnVmVzljc1NKTDFlcFdt?=
 =?utf-8?B?U0RnczZrWlJxRXZ0eXQyY3g1MVIvOWJ2dnBGSjU1Z2tnS1RhNlhjQkN0Y3Vt?=
 =?utf-8?B?V0kzSTdUa0lmVjZXejUxd2poTWxXOEVyVStiZUgrRjJwaDJsZ0tnZDJWVkUy?=
 =?utf-8?B?c0VqcDJLbldvaGQxL3QxWDFhYmQrTFBiK091SmRaSjZ1NzRXbjJtVXltcS91?=
 =?utf-8?B?c2dOdUhubkZaYmloQVJCNDIyZW9UUXZjU1BCME5Kd0cwSExaT0EzbVN5Qk1C?=
 =?utf-8?B?MTZRZGRXb1FqQmo5dngzUEZ6bW8yM3ZnZWJKWGU1S0NkTU9penA1ekRZRnRF?=
 =?utf-8?Q?Oqh76GcaHS+12mx+bmYaJ8dR+eb5USyGg2vkJEV/4cmY?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <CB5A6D32F2CA9E46A3FB208AE3C086E5@namprd12.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MW2PR12MB4667.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 831e1521-8843-4b6e-2440-08d9dad01f4e
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Jan 2022 22:16:06.2434
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: zhgqUXrvNb/Sk3JfwAVTJ2HFQSrGiEXMY8570UQk/nK1iWw/uj3cd57rMnrBNW+w2qyHg7y8hRgCPDtNgxG41g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR12MB1487

T24gMS8xNy8yMiAxMToxOSBQTSwgQ2hyaXN0b3BoIEhlbGx3aWcgd3JvdGU6DQo+IFBhc3MgdGhl
IGJsb2NrX2RldmljZSB0aGF0IHdlIHBsYW4gdG8gdXNlIHRoaXMgYmlvIGZvciBhbmQgdGhlDQo+
IG9wZXJhdGlvbiB0byBiaW9fcmVzZXQgdG8gb3B0aW1pemUgdGhlIGFzc2lnbWVudC4gIEEgTlVM
TCBibG9ja19kZXZpY2UNCj4gY2FuIGJlIHBhc3NlZCwgYm90aCBmb3IgdGhlIHBhc3N0aHJvdWdo
IGNhc2Ugb24gYSByYXcgcmVxdWVzdF9xdWV1ZSBhbmQNCj4gdG8gdGVtcG9yYXJpbHkgYXZvaWQg
cmVmYWN0b3Jpbmcgc29tZSBuYXN0eSBjb2RlLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogQ2hyaXN0
b3BoIEhlbGx3aWcgPGhjaEBsc3QuZGU+DQo+IC0tLQ0KDQpMb29rcyBnb29kLg0KDQpSZXZpZXdl
ZC1ieTogQ2hhaXRhbnlhIEt1bGthcm5pIDxrY2hAbnZpZGlhLmNvbT4NCg0K


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 22:32:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 22:32:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258666.445770 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9x1s-0005GY-8y; Tue, 18 Jan 2022 22:32:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258666.445770; Tue, 18 Jan 2022 22:32:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9x1s-0005GR-5Q; Tue, 18 Jan 2022 22:32:40 +0000
Received: by outflank-mailman (input) for mailman id 258666;
 Tue, 18 Jan 2022 22:32:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SZQb=SC=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1n9x1r-0005GL-5E
 for xen-devel@lists.xenproject.org; Tue, 18 Jan 2022 22:32:39 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8911c5b9-78ae-11ec-a115-11989b9578b4;
 Tue, 18 Jan 2022 23:32:37 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 95498612D3;
 Tue, 18 Jan 2022 22:32:35 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9B637C340E0;
 Tue, 18 Jan 2022 22:32: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: 8911c5b9-78ae-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1642545155;
	bh=wrKf60ktIkW6VTtuXH9B9S+PIjuTy45WxiJW6NYFq+o=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=hXXVRXM7APKET+taqZFpjFFJU711gXnwXO16qNq/Qhxr7qfSWOMOk+Erlqnu3TnL9
	 F0FBFqkpa8UbuUPSdVD4eu1vhbfAZCytJwfXoYcUxz3uJibGxcftFgNdCOepPvQdqv
	 QYaeOZMeYtvjL+fEa7EP6lRrXIfZpgD/F1zlpTVIQCihh5yXlAUNI/SpOeQWqBvd7I
	 FYyCVrfquyFsoDewNMzABpMWeOLmpYJ0cFLX61t3oB9a/VTuOBlpwDfbqBOoY8Y3Ur
	 OGji3npzcBY0t7kec4PvkHNkxQBIcv/7fmW4uZvtE5Jd4M+fGzQiV9k+wltpL8BuBn
	 tpaJBv54J+mIA==
Date: Tue, 18 Jan 2022 14:32:33 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Robin Murphy <robin.murphy@arm.com>
cc: Sergiy Kibrik <Sergiy_Kibrik@epam.com>, xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Oleksandr Tyshchenko <olekstysh@gmail.com>, devicetree@vger.kernel.org, 
    linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v3 1/2] dt-bindings: arm: xen: document Xen iommu
 device
In-Reply-To: <e88b882f-4b5d-a801-fc68-66b7f790e11c@arm.com>
Message-ID: <alpine.DEB.2.22.394.2201181317570.19362@ubuntu-linux-20-04-desktop>
References: <20220117123251.140867-1-Sergiy_Kibrik@epam.com> <20220117123251.140867-2-Sergiy_Kibrik@epam.com> <e88b882f-4b5d-a801-fc68-66b7f790e11c@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 17 Jan 2022, Robin Murphy wrote:
> On 2022-01-17 12:32, Sergiy Kibrik wrote:
> > In IOMMU-capable system hypervisor usually takes over IOMMU control.
> > Generally guest domains don't need to care about IOMMU management and take
> > any
> > extra actions. Yet in some cases a knowledge about which device is protected
> > may be useful for privileged domain.
> > 
> > In compliance with iommu bindings this can be achieved with device-level
> > iommus property specified with dummy Xen iommu device.
> 
> This could break Linux guests, since depending on the deferred probe timeout
> setting it could lead to drivers never probing because the "IOMMU" never
> becomes available.
> 
> Unless you intend to expose actual paravirtualised IOMMU translation
> functionality to guests (in which case virtio-iommu would be highly preferable
> anyway), I don't think this is the right approach. If there's no better
> alternative to using DT to communicate Xen-specific policy, then at least it
> should logically be via a Xen-specific DT property.

Hi Robin,

Let me explain why this is useful and how it differs from something like
virtio-iommu.

When Linux is running as dom0 it uses a swiotlb-based driver to ensure
that DMA operations involving foreign (foreign == owned by other VMs)
pages can work successfully. The driver is drivers/xen/swiotlb-xen.c.
For this discussion the interesting thing about swiotlb-xen is that it
is complex, it can be slow, and it is not actually always needed. You
can imagine that somebody might want to disable swiotlb-xen whenever
possible.

Specifically, if a DMA-capable device is behind an IOMMU, then there is
no need for Linux to use swiotlb-xen.

The problem is that Linux doesn't know when a device is protected by an
IOMMU because the IOMMU is used by Xen and not exposed to Linux.

This bindings is a way for Xen to provide information to Linux, so that
Linux knows when to safely skip swiotlb-xen. It is telling Linux that
the device is protected by an IOMMU, even if Linux is not expected to
use it or do anything with it.

The initial idea was actually to write a Xen-specific DT property for
this. Then a member of the community suggested to re-use the IOMMU
bindings given that after all this is an IOMMU; the only thing special
about it is that the Linux driver is not supposed to do anything with
it. In my mind there should actually be a driver for "xen,iommu-el2-v1"
in Linux, it is just that the driver would "return 0" without doing
anything. (Note that the current patch series doesn't do this as it
turned out not to be currently necessary.)

This is a long way to say that:

1) from my point of view it is also OK to introduce a Xen-specific
   property for this if you think it is best (it doesn't look like it
   would make the code more complex either)
2) at the same time I think that reusing the IOMMU bindings seems fit
   for purpose


In regards to the "deferred probe timeout", I take it wouldn't be an
issue if we use a Xen-specific property instead? Also, would the
presence of an empty IOMMU driver for it (one that just return success
from the probing function without doing anything) solve the problem too?

Thanks for taking a look.

Cheers,

Stefano


> > Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> > ---
> >   Documentation/devicetree/bindings/arm/xen.txt | 26 +++++++++++++++++++
> >   1 file changed, 26 insertions(+)
> > 
> > diff --git a/Documentation/devicetree/bindings/arm/xen.txt
> > b/Documentation/devicetree/bindings/arm/xen.txt
> > index db5c56db30ec..98efa95c0d1b 100644
> > --- a/Documentation/devicetree/bindings/arm/xen.txt
> > +++ b/Documentation/devicetree/bindings/arm/xen.txt
> > @@ -58,3 +58,29 @@ Documentation/arm/uefi.rst, which are provided by the
> > regular UEFI stub. However
> >   they differ because they are provided by the Xen hypervisor, together with
> > a set
> >   of UEFI runtime services implemented via hypercalls, see
> >   http://xenbits.xen.org/docs/unstable/hypercall/x86_64/include,public,platform.h.html.
> > +
> > +* XEN IOMMU device
> > +
> > +In compliance with iommu bindings Xen virtual IOMMU device node represents
> > +hypervisor-managed IOMMU [1]. Platform devices specified as IOMMU masters
> > of
> > +this xen-iommu device are protected by hypervisor-managed platform IOMMU.
> > +
> > +Required properties:
> > +
> > +- compatible:	Should be "xen,iommu-el2-v1"
> > +- #iommu-cells: must be 0
> > +
> > +Example:
> > +
> > +xen-iommu {
> > +	compatible = "xen,iommu-el2-v1";
> > +	#iommu-cells = <0>;
> > +};
> > +
> > +video@fe001000 {
> > +	...
> > +	/* this platform device is IOMMU-protected by hypervisor */
> > +	iommus = <&xen-iommu 0x0>;
> > +};
> > +
> > +[1] Documentation/devicetree/bindings/iommu/iommu.txt
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> 


From xen-devel-bounces@lists.xenproject.org Tue Jan 18 23:43:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 18 Jan 2022 23:43:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258668.445781 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9y7u-0003gq-FK; Tue, 18 Jan 2022 23:42:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258668.445781; Tue, 18 Jan 2022 23: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 1n9y7u-0003gj-Bz; Tue, 18 Jan 2022 23:42:58 +0000
Received: by outflank-mailman (input) for mailman id 258668;
 Tue, 18 Jan 2022 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 1n9y7t-0003gX-Ai; Tue, 18 Jan 2022 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 1n9y7t-0003nh-9b; Tue, 18 Jan 2022 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 1n9y7t-0001lf-2Z; Tue, 18 Jan 2022 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 1n9y7t-0002Ix-26; Tue, 18 Jan 2022 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=zscsAkRma9PAhqnIn1uNST2VGn/k2NXVqq+nhE2/zjc=; b=wLkgJ8JLj8qE4IbkTIQErQO7zS
	qa6w6Pbz7lW5duNEl/A2EP3MGhDj+6WQDTq+/AiQ2dc0Tpuc9PkTm9nlrcYqs/QG3jEBKCZEWjr3p
	fsECoN2PWP68RlGIl7utIM2dF25XDXnbAWMkpjspCpuyoR8SX35ASTEKLaU46M3OBgsY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167740-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 167740: 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=444597436d08ccae6d210a2b1b877fef636796ea
X-Osstest-Versions-That:
    xen=ad47bc9a9742e73bea97ae791f66adf1caecaa63
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 18 Jan 2022 23:42:57 +0000

flight 167740 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167740/

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                  444597436d08ccae6d210a2b1b877fef636796ea
baseline version:
 xen                  ad47bc9a9742e73bea97ae791f66adf1caecaa63

Last test of basis   167730  2022-01-18 01:01:38 Z    0 days
Testing same since   167740  2022-01-18 18:01:37 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Juergen Gross <jgross@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
   ad47bc9a97..444597436d  444597436d08ccae6d210a2b1b877fef636796ea -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Jan 19 00:00:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 00:00:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258676.445792 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9yOi-0006Qw-Hd; Wed, 19 Jan 2022 00:00:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258676.445792; Wed, 19 Jan 2022 00: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 1n9yOi-0006Qp-DR; Wed, 19 Jan 2022 00:00:20 +0000
Received: by outflank-mailman (input) for mailman id 258676;
 Wed, 19 Jan 2022 00:00:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xtCf=SD=linutronix.de=tglx@srs-se1.protection.inumbo.net>)
 id 1n9yOg-0006Qg-5q
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 00:00:18 +0000
Received: from galois.linutronix.de (galois.linutronix.de [193.142.43.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c84c4bc3-78ba-11ec-9bbc-9dff3e4ee8c5;
 Wed, 19 Jan 2022 01:00:16 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c84c4bc3-78ba-11ec-9bbc-9dff3e4ee8c5
From: Thomas Gleixner <tglx@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020; t=1642550414;
	h=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=GJoRNYCC0qaPQvmOXkM+nCsiL5/VV0xKtAJ9Mq0RcS0=;
	b=a9MMj8QkoBwPjJ9s10Nj5dcTSEk5744AcGkY+mIqMyhSCNoNM/Icm0kXybWpkbKJFQighH
	1X9AZdGGKDLG3+SXqsfjv3JU9dRsBhgMjiZAZM0AF1fjiNoc/kyGj1WDfc13cCOD1x5fM6
	DWSEKg44FhgPmXAqIs3WIgSBCgxKc4pq7CN7jLxDnudGUV+EF6aJnCe5DaLVzCN42mwLal
	ceQwErmCYN5iHW/wBdHkoTdvHTRAkVF0oCvKcxs9zruKkcZH+DR26Tu171bTrPE0yo9FHi
	4rwrLMfSKfXYBCD5gQy/e3+J5TmjTVIfxiIu8I3nLvdQFvwghW7JJWPQwhCnjQ==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020e; t=1642550414;
	h=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=GJoRNYCC0qaPQvmOXkM+nCsiL5/VV0xKtAJ9Mq0RcS0=;
	b=m3IN+KU7X9XD5oXfHjNVtst6/jOc72hQesIDxbDqdrCWfpXMC6egl9W2w2q0aW8wkvWOLE
	kL3K2AGDiz3SUfAA==
To: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>, LKML
 <linux-kernel@vger.kernel.org>
Cc: Bjorn Helgaas <helgaas@kernel.org>, Marc Zygnier <maz@kernel.org>, Alex
 Williamson <alex.williamson@redhat.com>, Kevin Tian
 <kevin.tian@intel.com>, Jason Gunthorpe <jgg@nvidia.com>, Megha Dey
 <megha.dey@intel.com>, Ashok Raj <ashok.raj@intel.com>,
 linux-pci@vger.kernel.org, Cedric Le Goater <clg@kaod.org>,
 xen-devel@lists.xenproject.org, Juergen Gross <jgross@suse.com>, Greg
 Kroah-Hartman <gregkh@linuxfoundation.org>, Niklas Schnelle
 <schnelle@linux.ibm.com>, linux-s390@vger.kernel.org, Heiko Carstens
 <hca@linux.ibm.com>, Christian Borntraeger <borntraeger@de.ibm.com>, Logan
 Gunthorpe <logang@deltatee.com>, Jon Mason <jdmason@kudzu.us>, Dave Jiang
 <dave.jiang@intel.com>, Allen Hubbe <allenbh@gmail.com>,
 linux-ntb@googlegroups.com
Subject: Re: [patch] genirq/msi: Populate sysfs entry only once
In-Reply-To: <1d5711be-c26d-d57b-10db-1b45d279515d@socionext.com>
References: <20211206210600.123171746@linutronix.de>
 <20211206210749.224917330@linutronix.de> <87leznqx2a.ffs@tglx>
 <1d5711be-c26d-d57b-10db-1b45d279515d@socionext.com>
Date: Wed, 19 Jan 2022 00:59:58 +0100
Message-ID: <87a6fsa935.ffs@tglx>
MIME-Version: 1.0
Content-Type: text/plain

Kunihiko,

On Wed, Jan 12 2022 at 09:05, Kunihiko Hayashi wrote:
> Is this fix the same as below?
> https://marc.info/?l=linux-kernel&m=164061119923119&w=2

pretty much the same, but I missed that patch. I was off for 2+ weeks
and on return Boris poked me about this issue and I fixed it. Then I
went ahead and marked all vacation mail read as I always do :)

So sorry for not noticing that patch.

Thanks,

        Thomas


From xen-devel-bounces@lists.xenproject.org Wed Jan 19 00:15:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 00:15:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258679.445803 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9ydE-0008A8-Rf; Wed, 19 Jan 2022 00:15:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258679.445803; Wed, 19 Jan 2022 00: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 1n9ydE-0008A1-OF; Wed, 19 Jan 2022 00:15:20 +0000
Received: by outflank-mailman (input) for mailman id 258679;
 Wed, 19 Jan 2022 00: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 1n9ydD-00089r-OG; Wed, 19 Jan 2022 00: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 1n9ydD-0004zP-Je; Wed, 19 Jan 2022 00: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 1n9ydD-0002j8-88; Wed, 19 Jan 2022 00:15:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1n9ydD-0004Jy-7g; Wed, 19 Jan 2022 00: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=kCNQe4NkHbkLbYVYWKaTmr2rbRW8syYsjbXZtxfGXdo=; b=Q+6B8/PJRBfkMaCxB6/ko2vxsS
	zFcfEDJMWiMy00B2R4luvhCKqiFMmAef1FycFrCLiK34ybQSWqQaAfi8JwP2R7ARg94v2PWwJcE5f
	/VaWH35VW3ayXeQgDbDVFwugbSAwc79diSUUvXjYbHofQscSa+QOyb5X/sfoUsJ1zIEQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167735-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167735: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl: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-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-qcow2: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-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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: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-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-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
X-Osstest-Versions-This:
    linux=99613159ad749543621da8238acf1a122880144e
X-Osstest-Versions-That:
    linux=455e73a07f6e288b0061dfcf4fcf54fa9fe06458
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 19 Jan 2022 00:15:19 +0000

flight 167735 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167735/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 167684
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 167684
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 167684
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 167684
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 167684
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 167684
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 167684
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 167684

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167684
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167684
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167684
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167684
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167684
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167684
 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-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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          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-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-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                99613159ad749543621da8238acf1a122880144e
baseline version:
 linux                455e73a07f6e288b0061dfcf4fcf54fa9fe06458

Last test of basis   167684  2022-01-13 07:47:42 Z    5 days
Failing since        167693  2022-01-13 22:41:04 Z    5 days   10 attempts
Testing same since   167735  2022-01-18 13:32:59 Z    0 days    1 attempts

------------------------------------------------------------
737 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                                fail    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 62592 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Jan 19 00:21:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 00:21:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258686.445814 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9yit-0001C3-LX; Wed, 19 Jan 2022 00:21:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258686.445814; Wed, 19 Jan 2022 00: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 1n9yit-0001Bw-IU; Wed, 19 Jan 2022 00:21:11 +0000
Received: by outflank-mailman (input) for mailman id 258686;
 Wed, 19 Jan 2022 00:21:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qd5e=SD=ionos.com=jinpu.wang@srs-se1.protection.inumbo.net>)
 id 1n9yir-0001Bq-QB
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 00:21:09 +0000
Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com
 [2a00:1450:4864:20::52a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b133e5f8-78bd-11ec-9bbc-9dff3e4ee8c5;
 Wed, 19 Jan 2022 01:21:06 +0100 (CET)
Received: by mail-ed1-x52a.google.com with SMTP id f21so2848831eds.11
 for <xen-devel@lists.xenproject.org>; Tue, 18 Jan 2022 16:21:06 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b133e5f8-78bd-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=ionos.com; s=google;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=bmeqfE1RuOXde41Zr3CQ/9tcb+03J/6w+lG9hJ7A4Ho=;
        b=Ybqt4L8XARDalF5U3jxiomW7vn0XAjkMf9MRDY2CLKnxrl9ZFVPOy45252iZ/ahaBE
         Uul8Do3DwK3+IhjDQEsQqZ25qhbKav+CsP+D/VRz8S/JP1MCrWjpPNAT2T6HpwQO2Kaj
         U+mXSh1wrYynaFmrl3R954SKWovO2KgQQwMuFgk3bN6254exjP5wW45dCjMVUb5YwN8a
         VxuJ4073q87irF35SwVs1OSriqyn3iO2/rrlt98SROIN6upeJLmrkKzh1HvDiSu1wNK0
         Osy4+7YgQ8hN9QPHR4VjTrEWqZipRE0LQfv8aN/2JjfC3ryAYgT+7fuyuH/QIVRL+JSD
         L94g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=bmeqfE1RuOXde41Zr3CQ/9tcb+03J/6w+lG9hJ7A4Ho=;
        b=UCY7W8G32ubZEXALLFqQMTdD9FZBtnxPbfFCPIH0xYqIBWFGc876vdXz/daw6pd7iB
         KIIJoZyNINipxTtebkz+Jcz9g8u+AjNpsSR1JOGjwvn9DdAK6YlVc1hjtCJqmK40h/IB
         T9IR0mCH3hYr/NbmyZadvI54LghlYL4pcBa27KsJ/x1WRU6fvegEGwn6JNY733PYaU8M
         6hFp7K0Vb5wdlYioAe1PoGvqp9Sj2l/m3XBwys47xsfUj7FD8FzQFQAxvgnck5WrDL4v
         gx3cA44mrpfpNEEz5dhkfdlofS6kUEbp2z0PKoYZuG79p99JC6mIiO4NUTzkYT0knHw/
         +7gg==
X-Gm-Message-State: AOAM532xjds6vOpJQkeeQvwE89/oILXHC07vT/NkgY/yN4pmWBrzWELV
	bnJd9fHi7mvzkwNtNFV+2EoXi0E6qUTypMmefc+y2g==
X-Google-Smtp-Source: ABdhPJzX/FVgzC0EPKMvsUUn84DEffG26tohBKCZtOfTfxVCmLokcVuYpKW6O9EGM43LUqr04D+DAH09ngv7yEmd1xc=
X-Received: by 2002:a05:6402:14f:: with SMTP id s15mr27553335edu.118.1642551665549;
 Tue, 18 Jan 2022 16:21:05 -0800 (PST)
MIME-Version: 1.0
References: <20220118071952.1243143-1-hch@lst.de> <20220118071952.1243143-11-hch@lst.de>
In-Reply-To: <20220118071952.1243143-11-hch@lst.de>
From: Jinpu Wang <jinpu.wang@ionos.com>
Date: Wed, 19 Jan 2022 01:20:54 +0100
Message-ID: <CAMGffEmFZB1PPE09bfxQjKw-tJhdprEkF-OWrVF4Kjsf1OwQ_g@mail.gmail.com>
Subject: Re: [PATCH 10/19] rnbd-srv: simplify bio mapping in process_rdma
To: Christoph Hellwig <hch@lst.de>
Cc: Jens Axboe <axboe@kernel.dk>, Pavel Begunkov <asml.silence@gmail.com>, 
	Mike Snitzer <snitzer@redhat.com>, Ryusuke Konishi <konishi.ryusuke@gmail.com>, 
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>, 
	Andrew Morton <akpm@linux-foundation.org>, "Md . Haris Iqbal" <haris.iqbal@ionos.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.co>, 
	Philipp Reisner <philipp.reisner@linbit.com>, Lars Ellenberg <lars.ellenberg@linbit.com>, 
	linux-block@vger.kernel.org, dm-devel@redhat.com, 
	linux-fsdevel@vger.kernel.org, linux-nfs@vger.kernel.org, 
	linux-nilfs@vger.kernel.org, ntfs3@lists.linux.dev, 
	xen-devel@lists.xenproject.org, drbd-dev@lists.linbit.com
Content-Type: text/plain; charset="UTF-8"

Hi Christoph,

Thanks for the patch.

On Tue, Jan 18, 2022 at 8:20 AM Christoph Hellwig <hch@lst.de> wrote:
>
> The memory mapped in process_rdma is contiguous, so there is no need
> to loop over bio_add_page.  Remove rnbd_bio_map_kern and just open code
> the bio allocation and mapping in the caller.
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> ---
>  drivers/block/rnbd/rnbd-srv-dev.c | 57 -------------------------------
>  drivers/block/rnbd/rnbd-srv-dev.h |  5 ---
>  drivers/block/rnbd/rnbd-srv.c     | 20 ++++++++---
>  3 files changed, 15 insertions(+), 67 deletions(-)
>
> diff --git a/drivers/block/rnbd/rnbd-srv-dev.c b/drivers/block/rnbd/rnbd-srv-dev.c
> index b241a099aeae2..98d3e591a0885 100644
> --- a/drivers/block/rnbd/rnbd-srv-dev.c
> +++ b/drivers/block/rnbd/rnbd-srv-dev.c
> @@ -44,60 +44,3 @@ void rnbd_dev_close(struct rnbd_dev *dev)
>         blkdev_put(dev->bdev, dev->blk_open_flags);
>         kfree(dev);
>  }
> -
> -void rnbd_dev_bi_end_io(struct bio *bio)
> -{
> -       struct rnbd_dev_blk_io *io = bio->bi_private;
> -
> -       rnbd_endio(io->priv, blk_status_to_errno(bio->bi_status));
> -       bio_put(bio);
> -}
> -
> -/**
> - *     rnbd_bio_map_kern       -       map kernel address into bio
> - *     @data: pointer to buffer to map
> - *     @bs: bio_set to use.
> - *     @len: length in bytes
> - *     @gfp_mask: allocation flags for bio allocation
> - *
> - *     Map the kernel address into a bio suitable for io to a block
> - *     device. Returns an error pointer in case of error.
> - */
> -struct bio *rnbd_bio_map_kern(void *data, struct bio_set *bs,
> -                             unsigned int len, gfp_t gfp_mask)
> -{
> -       unsigned long kaddr = (unsigned long)data;
> -       unsigned long end = (kaddr + len + PAGE_SIZE - 1) >> PAGE_SHIFT;
> -       unsigned long start = kaddr >> PAGE_SHIFT;
> -       const int nr_pages = end - start;
> -       int offset, i;
> -       struct bio *bio;
> -
> -       bio = bio_alloc_bioset(gfp_mask, nr_pages, bs);
> -       if (!bio)
> -               return ERR_PTR(-ENOMEM);
> -
> -       offset = offset_in_page(kaddr);
> -       for (i = 0; i < nr_pages; i++) {
> -               unsigned int bytes = PAGE_SIZE - offset;
> -
> -               if (len <= 0)
> -                       break;
> -
> -               if (bytes > len)
> -                       bytes = len;
> -
> -               if (bio_add_page(bio, virt_to_page(data), bytes,
> -                                   offset) < bytes) {
> -                       /* we don't support partial mappings */
> -                       bio_put(bio);
> -                       return ERR_PTR(-EINVAL);
> -               }
> -
> -               data += bytes;
> -               len -= bytes;
> -               offset = 0;
> -       }
> -
> -       return bio;
> -}
> diff --git a/drivers/block/rnbd/rnbd-srv-dev.h b/drivers/block/rnbd/rnbd-srv-dev.h
> index 0eb23850afb95..1a14ece0be726 100644
> --- a/drivers/block/rnbd/rnbd-srv-dev.h
> +++ b/drivers/block/rnbd/rnbd-srv-dev.h
> @@ -41,11 +41,6 @@ void rnbd_dev_close(struct rnbd_dev *dev);
>
>  void rnbd_endio(void *priv, int error);
>
> -void rnbd_dev_bi_end_io(struct bio *bio);
> -
> -struct bio *rnbd_bio_map_kern(void *data, struct bio_set *bs,
> -                             unsigned int len, gfp_t gfp_mask);
> -
>  static inline int rnbd_dev_get_max_segs(const struct rnbd_dev *dev)
>  {
>         return queue_max_segments(bdev_get_queue(dev->bdev));
> diff --git a/drivers/block/rnbd/rnbd-srv.c b/drivers/block/rnbd/rnbd-srv.c
> index 1ee808fc600cf..65c670e96075b 100644
> --- a/drivers/block/rnbd/rnbd-srv.c
> +++ b/drivers/block/rnbd/rnbd-srv.c
> @@ -114,6 +114,14 @@ rnbd_get_sess_dev(int dev_id, struct rnbd_srv_session *srv_sess)
>         return sess_dev;
>  }
>
> +static void rnbd_dev_bi_end_io(struct bio *bio)
> +{
> +       struct rnbd_dev_blk_io *io = bio->bi_private;
> +
> +       rnbd_endio(io->priv, blk_status_to_errno(bio->bi_status));
> +       bio_put(bio);
> +}
> +
>  static int process_rdma(struct rnbd_srv_session *srv_sess,
>                         struct rtrs_srv_op *id, void *data, u32 datalen,
>                         const void *usr, size_t usrlen)
> @@ -144,11 +152,11 @@ static int process_rdma(struct rnbd_srv_session *srv_sess,
>         priv->sess_dev = sess_dev;
>         priv->id = id;
>
> -       /* Generate bio with pages pointing to the rdma buffer */
> -       bio = rnbd_bio_map_kern(data, sess_dev->rnbd_dev->ibd_bio_set, datalen, GFP_KERNEL);
> -       if (IS_ERR(bio)) {
> -               err = PTR_ERR(bio);
> -               rnbd_srv_err(sess_dev, "Failed to generate bio, err: %d\n", err);
> +       bio = bio_alloc_bioset(GFP_KERNEL, 1, sess_dev->rnbd_dev->ibd_bio_set);
> +       if (bio_add_page(bio, virt_to_page(data), datalen,
> +                       offset_in_page(data))) {
this changes lead to IO error all the time, because bio_add_page return len.
We need  if (bio_add_page(bio, virt_to_page(data), datalen,
                     offset_in_page(data)) < datalen)

Thanks!
> +               rnbd_srv_err(sess_dev, "Failed to map data to bio\n");
> +               err = -EINVAL;
>                 goto sess_dev_put;
>         }
>
> @@ -170,6 +178,8 @@ static int process_rdma(struct rnbd_srv_session *srv_sess,
>
>         return 0;
>
> +bio_put:
> +       bio_put(bio);
>  sess_dev_put:
>         rnbd_put_sess_dev(sess_dev);
>  err:
> --
> 2.30.2
>


From xen-devel-bounces@lists.xenproject.org Wed Jan 19 00:48:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 00:48:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258689.445825 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9z9H-0003cQ-St; Wed, 19 Jan 2022 00:48:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258689.445825; Wed, 19 Jan 2022 00:48:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1n9z9H-0003cJ-PJ; Wed, 19 Jan 2022 00:48:27 +0000
Received: by outflank-mailman (input) for mailman id 258689;
 Wed, 19 Jan 2022 00:48:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qd5e=SD=ionos.com=jinpu.wang@srs-se1.protection.inumbo.net>)
 id 1n9z9F-0003cD-On
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 00:48:25 +0000
Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com
 [2a00:1450:4864:20::531])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 814d3638-78c1-11ec-9bbc-9dff3e4ee8c5;
 Wed, 19 Jan 2022 01:48:23 +0100 (CET)
Received: by mail-ed1-x531.google.com with SMTP id b13so3448510edn.0
 for <xen-devel@lists.xenproject.org>; Tue, 18 Jan 2022 16:48:23 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 814d3638-78c1-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=ionos.com; s=google;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=PAK4mW8hYoqrJ21zjz/l0DR61Bn1u+hWmA/ygwKpR6A=;
        b=SQ3H6Qc9RZNxAmcSFllQOOFG3yg91OTSmj2gmpE3fpQkDrrsoBOB6ydcmoJOu9UA57
         +j/ZzPkXrgRAlZ6C2fF+2yfdVbMPE3/xMK6g3CVDAQjj9HbIl7kDv0ep3bml8wS6pYpc
         ja8hXr1DNG/LV35KH+Bn9KFuQyCPtK51Klo04YrgE44CMJHpm5Awv1SO0dH+tqBFOoZF
         PAEqQjfzUXpqTAd9zrTAudxarFP+UTahdMIlCt2SxSqvwYGPoZOr4o/frkIPgqjbxFsd
         WyjmmrY9xl/B1aq+lfouAaj1zJovUnyR0fBjUAyQOGkMBYIMDba7MB/bWami13YQl70t
         QfCw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=PAK4mW8hYoqrJ21zjz/l0DR61Bn1u+hWmA/ygwKpR6A=;
        b=zkd9/aVecflk7+BIAHIIMucw7TygsxgYzGH7VHo4kAv/likPU6L3biXQAsgFEeGNsW
         QQWDqBQb+8i5yc51UScGWzrlnsDlKDkpTOtcWOHp4u6W9d3nAk5utmQ982jkON4duh+q
         JerJFJvHZGnmpj6dYOeQGMN7ahp9Y6p5JiGOO4h+7F8BVZfoTtxaH/vpc08CWS7vU3OD
         pOeBSV6p1vkBzHGjFKq7sMzRh9Aemrwb/7KDCvs7xF1+XS64Gip+98QFLamcpWU/tLux
         HjXvhpex7SASWqnLlvANqDM6OH+vWVoAsJgIjBegH7iuasmNj+cGF8qTiV4TxAK8dRhI
         l6dQ==
X-Gm-Message-State: AOAM5325lX6zmGVB3gOFuEWfFFGxDbl1zVWWGQ3ZP8CG4KGklwMlbGct
	6MnyY2snQqp18/tP+IxBVjdb8Fliq+UXn81dnEmAEA==
X-Google-Smtp-Source: ABdhPJwQjghAznMK411R8b9/ZDbYdnQBr2j4+YDtGVUTaFkxr/2dQA+aeV/q08/V3OevBldMGzoi+KYmS0TVluHMgAk=
X-Received: by 2002:a17:906:1f15:: with SMTP id w21mr18364838ejj.205.1642553303188;
 Tue, 18 Jan 2022 16:48:23 -0800 (PST)
MIME-Version: 1.0
References: <20220118071952.1243143-1-hch@lst.de> <20220118071952.1243143-11-hch@lst.de>
 <CAMGffEmFZB1PPE09bfxQjKw-tJhdprEkF-OWrVF4Kjsf1OwQ_g@mail.gmail.com>
In-Reply-To: <CAMGffEmFZB1PPE09bfxQjKw-tJhdprEkF-OWrVF4Kjsf1OwQ_g@mail.gmail.com>
From: Jinpu Wang <jinpu.wang@ionos.com>
Date: Wed, 19 Jan 2022 01:48:12 +0100
Message-ID: <CAMGffEnZT_uU-CdACiW7cPQ_fRtUasMOHzr0VUrG4QmkJHF76g@mail.gmail.com>
Subject: Re: [PATCH 10/19] rnbd-srv: simplify bio mapping in process_rdma
To: Christoph Hellwig <hch@lst.de>
Cc: Jens Axboe <axboe@kernel.dk>, Pavel Begunkov <asml.silence@gmail.com>, 
	Mike Snitzer <snitzer@redhat.com>, Ryusuke Konishi <konishi.ryusuke@gmail.com>, 
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>, 
	Andrew Morton <akpm@linux-foundation.org>, "Md . Haris Iqbal" <haris.iqbal@ionos.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.co>, 
	Philipp Reisner <philipp.reisner@linbit.com>, Lars Ellenberg <lars.ellenberg@linbit.com>, 
	linux-block@vger.kernel.org, dm-devel@redhat.com, 
	linux-fsdevel@vger.kernel.org, linux-nfs@vger.kernel.org, 
	linux-nilfs@vger.kernel.org, ntfs3@lists.linux.dev, 
	xen-devel@lists.xenproject.org, drbd-dev@lists.linbit.com
Content-Type: text/plain; charset="UTF-8"

On Wed, Jan 19, 2022 at 1:20 AM Jinpu Wang <jinpu.wang@ionos.com> wrote:
>
> Hi Christoph,
>
> Thanks for the patch.
>
> On Tue, Jan 18, 2022 at 8:20 AM Christoph Hellwig <hch@lst.de> wrote:
> >
> > The memory mapped in process_rdma is contiguous, so there is no need
> > to loop over bio_add_page.  Remove rnbd_bio_map_kern and just open code
> > the bio allocation and mapping in the caller.
> >
> > Signed-off-by: Christoph Hellwig <hch@lst.de>
> > ---
> >  drivers/block/rnbd/rnbd-srv-dev.c | 57 -------------------------------
> >  drivers/block/rnbd/rnbd-srv-dev.h |  5 ---
> >  drivers/block/rnbd/rnbd-srv.c     | 20 ++++++++---
> >  3 files changed, 15 insertions(+), 67 deletions(-)
> >
> > diff --git a/drivers/block/rnbd/rnbd-srv-dev.c b/drivers/block/rnbd/rnbd-srv-dev.c
> > index b241a099aeae2..98d3e591a0885 100644
> > --- a/drivers/block/rnbd/rnbd-srv-dev.c
> > +++ b/drivers/block/rnbd/rnbd-srv-dev.c
> > @@ -44,60 +44,3 @@ void rnbd_dev_close(struct rnbd_dev *dev)
> >         blkdev_put(dev->bdev, dev->blk_open_flags);
> >         kfree(dev);
> >  }
> > -
> > -void rnbd_dev_bi_end_io(struct bio *bio)
> > -{
> > -       struct rnbd_dev_blk_io *io = bio->bi_private;
> > -
> > -       rnbd_endio(io->priv, blk_status_to_errno(bio->bi_status));
> > -       bio_put(bio);
> > -}
> > -
> > -/**
> > - *     rnbd_bio_map_kern       -       map kernel address into bio
> > - *     @data: pointer to buffer to map
> > - *     @bs: bio_set to use.
> > - *     @len: length in bytes
> > - *     @gfp_mask: allocation flags for bio allocation
> > - *
> > - *     Map the kernel address into a bio suitable for io to a block
> > - *     device. Returns an error pointer in case of error.
> > - */
> > -struct bio *rnbd_bio_map_kern(void *data, struct bio_set *bs,
> > -                             unsigned int len, gfp_t gfp_mask)
> > -{
> > -       unsigned long kaddr = (unsigned long)data;
> > -       unsigned long end = (kaddr + len + PAGE_SIZE - 1) >> PAGE_SHIFT;
> > -       unsigned long start = kaddr >> PAGE_SHIFT;
> > -       const int nr_pages = end - start;
> > -       int offset, i;
> > -       struct bio *bio;
> > -
> > -       bio = bio_alloc_bioset(gfp_mask, nr_pages, bs);
> > -       if (!bio)
> > -               return ERR_PTR(-ENOMEM);
> > -
> > -       offset = offset_in_page(kaddr);
> > -       for (i = 0; i < nr_pages; i++) {
> > -               unsigned int bytes = PAGE_SIZE - offset;
> > -
> > -               if (len <= 0)
> > -                       break;
> > -
> > -               if (bytes > len)
> > -                       bytes = len;
> > -
> > -               if (bio_add_page(bio, virt_to_page(data), bytes,
> > -                                   offset) < bytes) {
> > -                       /* we don't support partial mappings */
> > -                       bio_put(bio);
> > -                       return ERR_PTR(-EINVAL);
> > -               }
> > -
> > -               data += bytes;
> > -               len -= bytes;
> > -               offset = 0;
> > -       }
> > -
> > -       return bio;
> > -}
> > diff --git a/drivers/block/rnbd/rnbd-srv-dev.h b/drivers/block/rnbd/rnbd-srv-dev.h
> > index 0eb23850afb95..1a14ece0be726 100644
> > --- a/drivers/block/rnbd/rnbd-srv-dev.h
> > +++ b/drivers/block/rnbd/rnbd-srv-dev.h
> > @@ -41,11 +41,6 @@ void rnbd_dev_close(struct rnbd_dev *dev);
> >
> >  void rnbd_endio(void *priv, int error);
> >
> > -void rnbd_dev_bi_end_io(struct bio *bio);
> > -
> > -struct bio *rnbd_bio_map_kern(void *data, struct bio_set *bs,
> > -                             unsigned int len, gfp_t gfp_mask);
> > -
> >  static inline int rnbd_dev_get_max_segs(const struct rnbd_dev *dev)
> >  {
> >         return queue_max_segments(bdev_get_queue(dev->bdev));
> > diff --git a/drivers/block/rnbd/rnbd-srv.c b/drivers/block/rnbd/rnbd-srv.c
> > index 1ee808fc600cf..65c670e96075b 100644
> > --- a/drivers/block/rnbd/rnbd-srv.c
> > +++ b/drivers/block/rnbd/rnbd-srv.c
> > @@ -114,6 +114,14 @@ rnbd_get_sess_dev(int dev_id, struct rnbd_srv_session *srv_sess)
> >         return sess_dev;
> >  }
> >
> > +static void rnbd_dev_bi_end_io(struct bio *bio)
> > +{
> > +       struct rnbd_dev_blk_io *io = bio->bi_private;
> > +
> > +       rnbd_endio(io->priv, blk_status_to_errno(bio->bi_status));
> > +       bio_put(bio);
> > +}
> > +
> >  static int process_rdma(struct rnbd_srv_session *srv_sess,
> >                         struct rtrs_srv_op *id, void *data, u32 datalen,
> >                         const void *usr, size_t usrlen)
> > @@ -144,11 +152,11 @@ static int process_rdma(struct rnbd_srv_session *srv_sess,
> >         priv->sess_dev = sess_dev;
> >         priv->id = id;
> >
> > -       /* Generate bio with pages pointing to the rdma buffer */
> > -       bio = rnbd_bio_map_kern(data, sess_dev->rnbd_dev->ibd_bio_set, datalen, GFP_KERNEL);
> > -       if (IS_ERR(bio)) {
> > -               err = PTR_ERR(bio);
> > -               rnbd_srv_err(sess_dev, "Failed to generate bio, err: %d\n", err);
> > +       bio = bio_alloc_bioset(GFP_KERNEL, 1, sess_dev->rnbd_dev->ibd_bio_set);
> > +       if (bio_add_page(bio, virt_to_page(data), datalen,
> > +                       offset_in_page(data))) {
> this changes lead to IO error all the time, because bio_add_page return len.
> We need  if (bio_add_page(bio, virt_to_page(data), datalen,
>                      offset_in_page(data)) < datalen)
>
> Thanks!
> > +               rnbd_srv_err(sess_dev, "Failed to map data to bio\n");
> > +               err = -EINVAL;
> >                 goto sess_dev_put;
> >         }
> >
> > @@ -170,6 +178,8 @@ static int process_rdma(struct rnbd_srv_session *srv_sess,
> >
> >         return 0;
> >
> > +bio_put:
> > +       bio_put(bio);
and bio_put is not used, should move bio_put(bio); below, no need for
bio_put: label.
> >  sess_dev_put:
> >         rnbd_put_sess_dev(sess_dev);
> >  err:
> > --
> > 2.30.2
> >


From xen-devel-bounces@lists.xenproject.org Wed Jan 19 02:50:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 02:50:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258693.445836 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA12j-0000HL-Pm; Wed, 19 Jan 2022 02:49:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258693.445836; Wed, 19 Jan 2022 02:49:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA12j-0000HC-Je; Wed, 19 Jan 2022 02:49:49 +0000
Received: by outflank-mailman (input) for mailman id 258693;
 Wed, 19 Jan 2022 02:49:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=CaTf=SD=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1nA12i-0000H6-CW
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 02:49:48 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr50088.outbound.protection.outlook.com [40.107.5.88])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 758917d9-78d2-11ec-a115-11989b9578b4;
 Wed, 19 Jan 2022 03:49:45 +0100 (CET)
Received: from DU2PR04CA0204.eurprd04.prod.outlook.com (2603:10a6:10:28d::29)
 by AM8PR08MB6580.eurprd08.prod.outlook.com (2603:10a6:20b:369::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Wed, 19 Jan
 2022 02:49:11 +0000
Received: from DB5EUR03FT025.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:28d:cafe::6f) by DU2PR04CA0204.outlook.office365.com
 (2603:10a6:10:28d::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11 via Frontend
 Transport; Wed, 19 Jan 2022 02:49:11 +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.4888.9 via Frontend Transport; Wed, 19 Jan 2022 02:49:11 +0000
Received: ("Tessian outbound 741ca6c82739:v113");
 Wed, 19 Jan 2022 02:49:11 +0000
Received: from af079e4da500.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 677A0DF4-75F7-4FB7-88FA-50CFA8952044.1; 
 Wed, 19 Jan 2022 02:49:05 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id af079e4da500.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 19 Jan 2022 02:49:05 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by DB8PR08MB4188.eurprd08.prod.outlook.com (2603:10a6:10:b0::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.7; Wed, 19 Jan
 2022 02:49:02 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0%6]) with mapi id 15.20.4888.013; Wed, 19 Jan 2022
 02:49: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: 758917d9-78d2-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ytwro7Mk5CruANDZuOOefJLoX/o3qtD2UMYOdtJ+P7s=;
 b=4rk6fzslOFjGui5pVwFaRFIrptr3m6X7EJ/Lh+Z1gHUW6RBNDXHAXajqImUS59RyhGRihnCZ7YU/OjLfAnaGatUrcWtS23AFMjqOaZ0WcUzHGDiGfjxQlGWeUZ29qQgH3GRC4FsI/6MQ6iieyC1sq2FRAn/sGYftV7aHZ50UMzM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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=j9MuXT2szxhgWuz5M3JbMWYhSXokp/HGps57c3U3bpkJRkqCTRoR4Sv60xLj1F5vq6RX+6U08p7d848qii+fo4gsRvU6IKyBgMWVaqSqEfCxOoL7nNCCQOZXQEcL6Ef+j8yeYmiTQ/3aQF8KzzbqcmgZtENGTeRK8hq2rXQngRB7NRAqvuNqFARU2nb0C5eU1T0AzhJDFVM5x0wB9FW7V38/GyAuvngopjIjUSJIK+hbwLXWHPggqRgP/2L29NsmuDwYcI1wgf7UX9fUKEZxrXr13SkQqpPynGAV3CVlsXoOqfHVg3vfVZCX2nDicUjRm69nuaCYBvnAJ7wRx+UFsQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ytwro7Mk5CruANDZuOOefJLoX/o3qtD2UMYOdtJ+P7s=;
 b=O6Xr0Ami+2dko/Y4BqRPXQrD9LeiH9WSEtC1qmJwRslr4yB42ioTUQt8kOVuFussr5KUJgPv8mXbtIc3NqnzK1zZaNw31J11INRA5S6b+AKAB1LYeJyZ2l5A5/scoAMaogXZgNan1mTILDjcLRP+p7GsZEnvJdNi1rMqZXvKX5ysWrJBS3sJKPb+gFbm8qnFNTzXXqhnAa8KFobxckSIz3p9UuNWSv8ERcMrB+QDDZpHlrMGkRMcn9+5I132uUSKbZOLeU5jSGmKcRmSMIyz2zKrC2yI2SEHAdPdjUkTCJuNMANm6vXvhtG4N24kH8KwUFVVh/WujSDqIN4rGKkajw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ytwro7Mk5CruANDZuOOefJLoX/o3qtD2UMYOdtJ+P7s=;
 b=4rk6fzslOFjGui5pVwFaRFIrptr3m6X7EJ/Lh+Z1gHUW6RBNDXHAXajqImUS59RyhGRihnCZ7YU/OjLfAnaGatUrcWtS23AFMjqOaZ0WcUzHGDiGfjxQlGWeUZ29qQgH3GRC4FsI/6MQ6iieyC1sq2FRAn/sGYftV7aHZ50UMzM=
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: [PATCH 04/37] xen: introduce an arch helper for default dma zone
 status
Thread-Topic: [PATCH 04/37] xen: introduce an arch helper for default dma zone
 status
Thread-Index:
 AQHXsHMGx8xGhif/FUCDSa9NS/fSLqxoGKiAgAD49HCAABTIAIAACXAAgABbKICAANEXUA==
Date: Wed, 19 Jan 2022 02:49:02 +0000
Message-ID:
 <PAXPR08MB742030298FE53A7B5AB5D1499E599@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-5-wei.chen@arm.com>
 <345944c4-78dd-8009-6f64-f9c7901a5497@suse.com>
 <PAXPR08MB7420CD3B7CFB4D2D81019F479E589@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <378fcc9b-abfe-28f2-ee67-f5510e99436c@suse.com>
 <PAXPR08MB7420FE209E822108AB1B41E19E589@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <fd328410-caf0-274e-08b0-f775a6c9a08c@suse.com>
In-Reply-To: <fd328410-caf0-274e-08b0-f775a6c9a08c@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: E90370D0568F4A4EB51CFD63032B53CB.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 5e3989a3-ba42-4c81-b3ae-08d9daf64570
x-ms-traffictypediagnostic:
	DB8PR08MB4188:EE_|DB5EUR03FT025:EE_|AM8PR08MB6580:EE_
X-Microsoft-Antispam-PRVS:
	<AM8PR08MB65809E7F6764EB0CB3260EAB9E599@AM8PR08MB6580.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:
 VSeYgvriZy2u8CfQSKotn1yB9fqTA4WIYBQSe6tn9kuECdA2SqYMRJ++6kXum9bAocfduMaSvqpULDxB98a+lafnTg5wFfaohBmaePjVYU9Xo4sNTVctN+OiYTelJPKC9uzn+uLRC3wlVqFQUiZ3zw6QcUwcULybKV2i7XIxgsJy9w6FnUuaVEpdOuvOE19y33pARMIydobF74zYKWmVCLyj7aVomS0zqIMyI7DLExAseVySuFAb1NNbghovnAP5l+C6pSZtAWpIdHsQfaI5KT/VzhEtXkwa3U+USZszEbnlA1IiCxCWkdzJUgjNVOU3Z2MopTCIUFqOYGEzRB2dU35dgBgWqYOZcs/YkYnSrzzusXsRvFNcwc8MuD2XoVH9CJ3i2DvpMj+3HqP32Tq0MearRT1/ld9nHepLZr86GMNSwqKG+t/mLQaOmClBUoEYLOQaHZs6u6xYLGt5PDX1GiiYXtupFeYXA6xGybYWpjx6P7fN+MteqvgzJ+gZ1KZz797Q2VAYLfWE7qm04xgr/OZqBcvRkYuyoOt5zqDjDbRSnVekjLoyKDpllcO+FzmSDEVk+vxEC9FZzPQy3NmosGydm8B2UcI/lvPH2J7xmlgj+J+bkFzjkP7mShu/v6Uxmaar88Jx9Jw5bcq9XQ67AZB/BHzFSz7ZtJKGVJgkMUzzONudeZQe/Ot8j8W772CX8p92VYOVGubYPCenlxWGdA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(5660300002)(71200400001)(38100700002)(122000001)(55016003)(2906002)(508600001)(66946007)(52536014)(8936002)(76116006)(8676002)(38070700005)(6916009)(33656002)(64756008)(66556008)(66476007)(26005)(186003)(4326008)(6506007)(53546011)(86362001)(7696005)(66446008)(54906003)(316002)(9686003)(83380400001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB4188
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT025.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	fd20471b-0a09-44ee-c03c-08d9daf6407f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	iUDIs5bBSKMkVqUzoLGrcmC10kYGaPiiSRcPYFi3C8bs1enBZYY3rGj/8qcr6qkPli/rDFTTjO03a2QOCKYnSUb1VEsK8eKBHumnP8RCF4NDAsXGyvbIBUrS4XSX26kkUSj1zXiG6zSjvmkAxy9FMi88DEyJHlJlMlkCMuRQaZWS5CcR5ScOD1exZKesdtkcdYrfDA6iQ5T+X9geZSoueYfZyHSQrI3zyO4YypTwoezbLqV9qFp5T6pJowcX9ZQffVWHWfwxQkNN7gRKOLxLwpEknszoZJTW5S64qiaPGj4C7wGFVMqsZezyI7dwzdtzfi6nlD0DfrxzaLWE1bmnWLPGdPyxOTe0KOgiZSOpjzSraC7dnXlDmkUdFZRGav0Wjfkqi8piZ8976A6fQLrNUAJc5T5CCs1CHOTf5Q+lPBmT0YG5eqzukUP1nXqCej2lsEY5CW3qH+eU/dlhm+wuUCyZrcrOdv6YzgGGGEdeyQyEbpLGLoGG9lhcYBSIR0noVWVNXViFPS+yzgjSzergBLBjUEFwYCXCfiQPGOjhHb1yQkRN7LoJOnWc/8fjBq6OfcJIvqcuTpk6f8HHFmrX4SVhP6+oPC2sRNcCCEu4+Zubs8cca4rsl5Bdk1c3+jdpp/Te3Xgi2qFqQEeVU9kGNDSfqtmvD2ONywnjYOXg8lp2pO37V0K/ffEEe/EszotaKpJyCT37GnM0EWBhS/PDDuseVBmGsHpoiSQCOcHFayCeLoCptmOgTRhLFKHHI42N8jS6YKSS6wBUuaM7BOUr5Q==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(40470700002)(316002)(8676002)(9686003)(186003)(6862004)(40460700001)(4326008)(26005)(508600001)(8936002)(70206006)(36860700001)(356005)(7696005)(54906003)(47076005)(6506007)(83380400001)(70586007)(55016003)(52536014)(5660300002)(336012)(53546011)(33656002)(82310400004)(81166007)(86362001)(2906002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2022 02:49:11.1303
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5e3989a3-ba42-4c81-b3ae-08d9daf64570
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: AM8PR08MB6580

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMuW5tDHmnIgxOOaXpSAyMjoxNg0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiBCZXJ0cmFuZCBNYXJxdWlz
IDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyB4ZW4tDQo+IGRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnOyBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqdWxpZW5AeGVuLm9yZw0KPiBTdWJqZWN0
OiBSZTogW1BBVENIIDA0LzM3XSB4ZW46IGludHJvZHVjZSBhbiBhcmNoIGhlbHBlciBmb3IgZGVm
YXVsdCBkbWENCj4gem9uZSBzdGF0dXMNCj4gDQo+IE9uIDE4LjAxLjIwMjIgMTA6MjAsIFdlaSBD
aGVuIHdyb3RlOg0KPiA+PiBGcm9tOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+
ID4+IFNlbnQ6IDIwMjLlubQx5pyIMTjml6UgMTY6MTYNCj4gPj4NCj4gPj4gT24gMTguMDEuMjAy
MiAwODo1MSwgV2VpIENoZW4gd3JvdGU6DQo+ID4+Pj4gRnJvbTogSmFuIEJldWxpY2ggPGpiZXVs
aWNoQHN1c2UuY29tPg0KPiA+Pj4+IFNlbnQ6IDIwMjLlubQx5pyIMTjml6UgMDoxMQ0KPiA+Pj4+
IE9uIDIzLjA5LjIwMjEgMTQ6MDIsIFdlaSBDaGVuIHdyb3RlOg0KPiA+Pj4+PiBJbiBjdXJyZW50
IGNvZGUsIHdoZW4gWGVuIGlzIHJ1bm5pbmcgaW4gYSBtdWx0aXBsZSBub2RlcyBOVU1BDQo+ID4+
Pj4+IHN5c3RlbSwgaXQgd2lsbCBzZXQgZG1hX2JpdHNpemUgaW4gZW5kX2Jvb3RfYWxsb2NhdG9y
IHRvIHJlc2VydmUNCj4gPj4+Pj4gc29tZSBsb3cgYWRkcmVzcyBtZW1vcnkgZm9yIERNQS4NCj4g
Pj4+Pj4NCj4gPj4+Pj4gVGhlcmUgYXJlIHNvbWUgeDg2IGltcGxpY2F0aW9ucyBpbiBjdXJyZW50
IGltcGxlbWVudGF0aW9uLiBCZWN1YXNlDQo+ID4+Pj4+IG9uIHg4NiwgbWVtb3J5IHN0YXJ0cyBm
cm9tIDAuIE9uIGEgbXVsdGlwbGUgbm9kZXMgTlVNQSBzeXN0ZW0sIGlmDQo+ID4+Pj4+IGEgc2lu
Z2xlIG5vZGUgY29udGFpbnMgdGhlIG1ham9yaXR5IG9yIGFsbCBvZiB0aGUgRE1BIG1lbW9yeS4g
eDg2DQo+ID4+Pj4+IHByZWZlciB0byBnaXZlIG91dCBtZW1vcnkgZnJvbSBub24tbG9jYWwgYWxs
b2NhdGlvbnMgcmF0aGVyIHRoYW4NCj4gPj4+Pj4gZXhoYXVzdGluZyB0aGUgRE1BIG1lbW9yeSBy
YW5nZXMuIEhlbmNlIHg4NiB1c2UgZG1hX2JpdHNpemUgdG8gc2V0DQo+ID4+Pj4+IGFzaWRlIHNv
bWUgbGFyZ2VseSBhcmJpdHJhcnkgYW1vdW50IG1lbW9yeSBmb3IgRE1BIG1lbW9yeSByYW5nZXMu
DQo+ID4+Pj4+IFRoZSBhbGxvY2F0aW9ucyBmcm9tIHRoZXNlIG1lbW9yeSByYW5nZXMgd291bGQg
aGFwcGVuIG9ubHkgYWZ0ZXINCj4gPj4+Pj4gZXhoYXVzdGluZyBhbGwgb3RoZXIgbm9kZXMnIG1l
bW9yeS4NCj4gPj4+Pj4NCj4gPj4+Pj4gQnV0IHRoZSBpbXBsaWNhdGlvbnMgYXJlIG5vdCBzaGFy
ZWQgYWNyb3NzIGFsbCBhcmNoaXRlY3R1cmVzLiBGb3INCj4gPj4+Pj4gZXhhbXBsZSwgQXJtIGRv
ZXNuJ3QgaGF2ZSB0aGVzZSBpbXBsaWNhdGlvbnMuIFNvIGluIHRoaXMgcGF0Y2gsIHdlDQo+ID4+
Pj4+IGludHJvZHVjZSBhbiBhcmNoX2hhdmVfZGVmYXVsdF9kbWF6b25lIGhlbHBlciBmb3IgYXJj
aCB0byBkZXRlcm1pbmUNCj4gPj4+Pj4gdGhhdCBpdCBuZWVkIHRvIHNldCBkbWFfYml0c2l6ZSBm
b3IgcmVzZXJ2ZSBETUEgYWxsb2NhdGlvbnMgb3Igbm90Lg0KPiA+Pj4+DQo+ID4+Pj4gSG93IHdv
dWxkIEFybSBndWFyYW50ZWUgYXZhaWxhYmlsaXR5IG9mIG1lbW9yeSBiZWxvdyBhIGNlcnRhaW4N
Cj4gPj4+PiBib3VuZGFyeSBmb3IgbGltaXRlZC1jYXBhYmlsaXR5IGRldmljZXM/IE9yIGlzIHRo
ZXJlIG5vIG5lZWQNCj4gPj4+PiBiZWNhdXNlIHRoZXJlJ3MgYW4gYXNzdW1wdGlvbiB0aGF0IEkv
TyBmb3Igc3VjaCBkZXZpY2VzIHdvdWxkDQo+ID4+Pj4gYWx3YXlzIHBhc3MgdGhyb3VnaCBhbiBJ
T01NVSwgbGlmdGluZyBhZGRyZXNzIHNpemUgcmVzdHJpY3Rpb25zPw0KPiA+Pj4+IChJIGd1ZXNz
IGluIGEgIVBWIGJ1aWxkIG9uIHg4NiB3ZSBjb3VsZCBhbHNvIGdldCByaWQgb2Ygc3VjaCBhDQo+
ID4+Pj4gcmVzZXJ2YXRpb24uKQ0KPiA+Pj4NCj4gPj4+IE9uIEFybSwgd2Ugc3RpbGwgY2FuIGhh
dmUgc29tZSBkZXZpY2VzIHdpdGggbGltaXRlZCBETUEgY2FwYWJpbGl0eS4NCj4gPj4+IEFuZCB3
ZSBhbHNvIGRvbid0IGZvcmNlIGFsbCBzdWNoIGRldmljZXMgdG8gdXNlIElPTU1VLiBUaGlzIGRl
dmljZXMNCj4gPj4+IHdpbGwgYWZmZWN0IHRoZSBkbWFfYml0c2l6ZS4gTGlrZSBSUGkgcGxhdGZv
cm0sIGl0IHNldHMgaXRzDQo+IGRtYV9iaXRzaXplDQo+ID4+PiB0byAzMC4gQnV0IGluIG11bHRp
cGxlIE5VTUEgbm9kZXMgc3lzdGVtLCBBcm0gZG9lc24ndCBoYXZlIGEgZGVmYXVsdA0KPiA+Pj4g
RE1BIHpvbmUuIE11bHRpcGxlIG5vZGVzIGlzIG5vdCBhIGNvbnN0cmFpbnQgb24gZG1hX2JpdHNp
emUuIEFuZCBzb21lDQo+ID4+PiBwcmV2aW91cyBkaXNjdXNzaW9ucyBhcmUgcGxhY2VkIGhlcmUg
WzFdLg0KPiA+Pg0KPiA+PiBJJ20gYWZyYWlkIHRoYXQgZG9lc24ndCBnaXZlIG1lIG1vcmUgY2x1
ZXMuIEZvciBleGFtcGxlLCBpbiB0aGUgbWFpbA0KPiA+PiBiZWluZyByZXBsaWVkIHRvIHRoZXJl
IEkgZmluZCAiVGhhdCBtZWFucywgb25seSBmaXJzdCA0R0IgbWVtb3J5IGNhbg0KPiA+PiBiZSB1
c2VkIGZvciBETUEuIiBZZXQgdGhhdCdzIG5vdCBhbiBpbXBsaWNhdGlvbiBmcm9tIHNldHRpbmcN
Cj4gPj4gZG1hX2JpdHNpemUuIERNQSBpcyBmaW5lIHRvIG9jY3VyIHRvIGFueSBhZGRyZXNzLiBU
aGUgc3BlY2lhbCBhZGRyZXNzDQo+ID4+IHJhbmdlIGlzIGJlaW5nIGhlbGQgYmFjayBpbiBjYXNl
IGluIHBhcnRpY3VsYXIgRG9tMCBpcyBpbiBuZWVkIG9mIHN1Y2gNCj4gPj4gYSByYW5nZSB0byBw
ZXJmb3JtIEkvTyB0byBfc29tZV8gZGV2aWNlcy4NCj4gPg0KPiA+IEkgYW0gc29ycnkgdGhhdCBt
eSBsYXN0IHJlcGx5IGhhc24ndCBnaXZlbiB5b3UgbW9yZSBjbHVlcy4gT24gQXJtLCBvbmx5DQo+
ID4gRG9tMCBjYW4gaGF2ZSBETUEgd2l0aG91dCBJT01NVS4gU28gd2hlbiB3ZSBhbGxvY2F0ZSBt
ZW1vcnkgZm9yIERvbTAsDQo+ID4gd2UncmUgdHJ5aW5nIHRvIGFsbG9jYXRlIG1lbW9yeSB1bmRl
ciA0R0Igb3IgaW4gdGhlIHJhbmdlIG9mIGRtYV9iaXRzaXplDQo+ID4gaW5kaWNhdGVkLiBJIHRo
aW5rIHRoZXNlIG9wZXJhdGlvbnMgbWVldCB5b3VyIGFib3ZlIERvbTAgc3BlY2lhbCBhZGRyZXNz
DQo+ID4gcmFuZ2UgZGVzY3JpcHRpb24uIEFzIHdlIGhhdmUgYWxyZWFkeSBhbGxvY2F0ZWQgbWVt
b3J5IGZvciBETUEsIHNvIEkNCj4gPiB0aGluayB3ZSBkb24ndCBuZWVkIGEgRE1BIHpvbmUgaW4g
cGFnZSBhbGxvY2F0aW9uLiBJIGFtIG5vdCBzdXJlIGlzIHRoYXQNCj4gPiBhbnN3ZXJzIHlvdXIg
ZWFybGllciBxdWVzdGlvbj8NCj4gDQo+IEkgdmlldyBhbGwgb2YgdGhpcyBhcyBmbGF3ZWQsIG9y
IGFzIGEgd29ya2Fyb3VuZCBhdCBiZXN0LiBYZW4gc2hvdWxkbid0DQo+IG1ha2UgYXNzdW1wdGlv
bnMgb24gd2hhdCBEb20wIG1heSBuZWVkLiBJbnN0ZWFkIERvbTAgc2hvdWxkIG1ha2UNCj4gYXJy
YW5nZW1lbnRzIHN1Y2ggdGhhdCBpdCBjYW4gZG8gSS9PIHRvL2Zyb20gYWxsIGRldmljZXMgb2Yg
aW50ZXJlc3QuDQo+IFRoaXMgbWF5IGludm9sdmUgYXJyYW5naW5nIGZvciBhZGRyZXNzIHJlc3Ry
aWN0ZWQgYnVmZmVycy4gQW5kIGZvciB0aGlzDQo+IHRvIGJlIHBvc3NpYmxlLCBYZW4gd291bGQg
bmVlZCB0byBoYXZlIGF2YWlsYWJsZSBzb21lIHN1aXRhYmxlIG1lbW9yeS4NCj4gSSB1bmRlcnN0
YW5kIHRoaXMgaXMgY29tcGxpY2F0ZWQgYnkgdGhlIGZhY3QgdGhhdCBkZXNwaXRlIGJlaW5nIEhW
TS1saWtlLA0KPiBkdWUgdG8gdGhlIGxhY2sgb2YgYW4gSU9NTVUgaW4gZnJvbnQgb2YgY2VydGFp
biBkZXZpY2VzIGFkZHJlc3MNCj4gcmVzdHJpY3Rpb25zIG9uIERvbTAgYWRkcmVzcyBzcGFjZSBh
bG9uZSAoaS5lLiB3aXRob3V0IGFueSBYZW4NCj4gaW52b2x2ZW1lbnQpIHdvbid0IGhlbHAgLi4u
DQo+IA0KDQpJIGFncmVlIHdpdGggeW91IHRoYXQgdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24g
aXMgcHJvYmFibHkgdGhlIGJlc3QNCmtpbmQgb2Ygd29ya2Fyb3VuZC4gRG8geW91IGhhdmUgc29t
ZSBzdWdnZXN0aW9ucyBmb3IgdGhpcyBwYXRjaCB0bw0KYWRkcmVzcyBhYm92ZSBjb21tZW50cz8g
T3Igc2hvdWxkIEkganVzdCBuZWVkIHRvIG1vZGlmeSB0aGUgY29tbWl0IGxvZw0KdG8gY29udGFp
biBzb21lIG9mIG91ciBhYm92ZSBkaXNjdXNzaW9ucz8NCg0KVGhhbmtzLA0KV2VpIENoZW4NCg0K
PiBKYW4NCg0K


From xen-devel-bounces@lists.xenproject.org Wed Jan 19 02:51:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 02:51:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258697.445847 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA14W-0001e9-6l; Wed, 19 Jan 2022 02:51:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258697.445847; Wed, 19 Jan 2022 02: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 1nA14W-0001e2-3V; Wed, 19 Jan 2022 02:51:40 +0000
Received: by outflank-mailman (input) for mailman id 258697;
 Wed, 19 Jan 2022 02:51: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 1nA14U-0001de-KY; Wed, 19 Jan 2022 02:51: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 1nA14U-0001Ir-Fr; Wed, 19 Jan 2022 02:51: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 1nA14U-0001Oh-7d; Wed, 19 Jan 2022 02:51:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nA14U-0005uu-7A; Wed, 19 Jan 2022 02:51:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=2DNHAPepQ1qvLkyoRMGBryPThuy05lX9d8hG7jqfPJc=; b=fc2afkufth+eM/sPsBn2Q3KIgs
	XdW73wIMlOXPYzuTcAZ6FqmO6fApzkuLetiiMLUiLzWKnXE4alMfXb3PZ3u1afPR47J2yQGu2Y9fM
	hLmVWG8geR04n9Gqw/Ivc1graLNgco5FIZWtw7UrVZh8P3ViLzRhsDxeL1l0hjpok97w=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167736-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167736: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-armhf-armhf-libvirt: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-armhf-armhf-libvirt-qcow2: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-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-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=ad47bc9a9742e73bea97ae791f66adf1caecaa63
X-Osstest-Versions-That:
    xen=9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 19 Jan 2022 02:51:38 +0000

flight 167736 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167736/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167709
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167719
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167719
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167719
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167719
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167719
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167719
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167719
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167719
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167719
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167719
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167719
 test-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-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          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-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  ad47bc9a9742e73bea97ae791f66adf1caecaa63
baseline version:
 xen                  9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f

Last test of basis   167719  2022-01-17 01:53:12 Z    2 days
Failing since        167731  2022-01-18 01:06:55 Z    1 days    2 attempts
Testing same since   167736  2022-01-18 13:33:46 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Lukasz Hawrylko <lukasz@hawrylko.pl>
  Nick Rosbrook <rosbrookn@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   9ce0a5e207..ad47bc9a97  ad47bc9a9742e73bea97ae791f66adf1caecaa63 -> master


From xen-devel-bounces@lists.xenproject.org Wed Jan 19 05:41:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 05:41:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258710.445878 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA3iz-0001B0-BV; Wed, 19 Jan 2022 05:41:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258710.445878; Wed, 19 Jan 2022 05:41: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 1nA3iz-0001At-8C; Wed, 19 Jan 2022 05:41:37 +0000
Received: by outflank-mailman (input) for mailman id 258710;
 Wed, 19 Jan 2022 05:41: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 1nA3iy-0001Aj-4o; Wed, 19 Jan 2022 05:41: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 1nA3iy-0004iS-0Z; Wed, 19 Jan 2022 05:41: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 1nA3ix-0000y7-Mn; Wed, 19 Jan 2022 05:41:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nA3ix-0007oe-MJ; Wed, 19 Jan 2022 05:41:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=udAi9779TZQCcBKsRx+XE4biOjWIiLhOjAUCOP0rKTo=; b=B+vl7EZRt4rN1h/shxl8IJFPX1
	I2n/5bbvmBMZPm9vUSdRih+z09OnSYkzd+AglN0wB+u9d5XAk1h9uvTU4tko6B0/z3E2ok2uam44Y
	cU2jFDAGfrriszxUzYmdivDRmieCa4zpR0WIFU4YLyGFQKyqM3GkS+CjxQjLn2ouUMp4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167741-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167741: 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-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:saverestore-support-check: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-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt: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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-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-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: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
    qemu-mainline:test-armhf-armhf-libvirt-qcow2: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
X-Osstest-Versions-This:
    qemuu=8b846207151955a7d4de2d33d07645991824e345
X-Osstest-Versions-That:
    qemuu=6621441db50d5bae7e34dbd04bf3c57a27a71b32
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 19 Jan 2022 05:41:35 +0000

flight 167741 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167741/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     20 guest-localmigrate/x10   fail REGR. vs. 167733

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167733
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167733
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167733
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167733
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167733
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167733
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167733
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167733
 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-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-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-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                8b846207151955a7d4de2d33d07645991824e345
baseline version:
 qemuu                6621441db50d5bae7e34dbd04bf3c57a27a71b32

Last test of basis   167733  2022-01-18 06:19:52 Z    0 days
Testing same since   167741  2022-01-18 20:09:22 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex Bennée <alex.bennee@linaro.org>
  David Hildenbrand <david@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <f4bug@amsat.org>
  Philippe Mathieu-Daudé <philmd@redhat.com>
  Yuval Shaia <yuval.shaia.ml@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     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-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   6621441db5..8b84620715  8b846207151955a7d4de2d33d07645991824e345 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Wed Jan 19 06:34:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 06:34:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258718.445889 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA4Xx-0006Kw-IG; Wed, 19 Jan 2022 06:34:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258718.445889; Wed, 19 Jan 2022 06:34:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA4Xx-0006Kp-FL; Wed, 19 Jan 2022 06:34:17 +0000
Received: by outflank-mailman (input) for mailman id 258718;
 Wed, 19 Jan 2022 06:34:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=CaTf=SD=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1nA4Xw-0006KT-DH
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 06:34:16 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0627.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::627])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d1821cfa-78f1-11ec-9bbc-9dff3e4ee8c5;
 Wed, 19 Jan 2022 07:34:15 +0100 (CET)
Received: from DB7PR05CA0053.eurprd05.prod.outlook.com (2603:10a6:10:2e::30)
 by DB7PR08MB3114.eurprd08.prod.outlook.com (2603:10a6:5:1b::30) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.12; Wed, 19 Jan
 2022 06:34:07 +0000
Received: from DB5EUR03FT009.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:2e:cafe::30) by DB7PR05CA0053.outlook.office365.com
 (2603:10a6:10:2e::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.7 via Frontend
 Transport; Wed, 19 Jan 2022 06:34:07 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT009.mail.protection.outlook.com (10.152.20.117) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4888.9 via Frontend Transport; Wed, 19 Jan 2022 06:34:07 +0000
Received: ("Tessian outbound 741ca6c82739:v113");
 Wed, 19 Jan 2022 06:34:07 +0000
Received: from 11f1ef9620da.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 23D8AF84-32CD-483F-BB6B-E60A44FA8448.1; 
 Wed, 19 Jan 2022 06:34:01 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 11f1ef9620da.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 19 Jan 2022 06:34:01 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by VE1PR08MB4975.eurprd08.prod.outlook.com (2603:10a6:803:10d::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Wed, 19 Jan
 2022 06:33:58 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0%6]) with mapi id 15.20.4888.013; Wed, 19 Jan 2022
 06:33:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d1821cfa-78f1-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=axrDoozhRsWwFXPY+RsC9c2DcNVIDRbpT9/kt++voIM=;
 b=NFc29Fpmx5DHvbsKejYuNWOjaHcwLiFLBYMP8+c7pYCpk5n2SQP9PZn9aeAfNF7BBGoiLZQ6jH2E8jjvJL9GKPwEiKMuvoLnuJXTbs7c06UdCI5UgsyvaS3bXvMwHESaKY+RiC8PurAmPMp9dx1U5QTiDHd/xNyw58uiOXz30xo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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=SIccQifoY6xYbE1Wv7non/RGhXxkdKCptTVE8fJzrczMnrq4+em3p7Q2K5YRYCvxWIIiTHIWoSqtRPdf5m45WL+lq9vhDId6JslZaDJ/WEoCnLxO1mzFQX0vxSZHUyJrzSaHuDP04i6tqFenfddqJ8bLi6yv/llRxeC1UktvSQ0dplXLRfh2ybGeAzZWgXnhrCs1V5zLCp1a4Y/qbeFtGwgzSlvNu17QzJI2x3N8uGG3/qyjqsbweKhAUxirWzWEFGP37MgMODmh67EV7pATSegq57bN/XFLm+EJZIK3i95W0pt5cbqhvqLGPF/qLicjNcS63TZPiZgqBrYjsP5CJg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=axrDoozhRsWwFXPY+RsC9c2DcNVIDRbpT9/kt++voIM=;
 b=nlVy+fBn+GH98E372dlzan/jmsk36CcI0G5SbmCr7D9qqhOSMgFYTfPvGeTemWO461wExdCX1xghxo9rAbUke+L3GBjlH57ZojUHlfKe90Z5bTQWm2F38r74PfktAg2XW4MXwuhPQv7AAYX/q/hk9JRuMS82B9WmNdw42PELgVfTXJeE9vqD5+jrYSEV4oS6bCN1Y9xMos4kDkqBmr1gcFJrKUK5+57iicmO9ERPWKaMzC8Mump9kDxpLkH4HkHHJk2d1d9hBf1Fk3j88CNx2Cv878r2vTuPFoGIpsbt4aBfgccuJ/0QzUvccrIGuqzj/g+dWf3zFPx4JXnWgz50sg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=axrDoozhRsWwFXPY+RsC9c2DcNVIDRbpT9/kt++voIM=;
 b=NFc29Fpmx5DHvbsKejYuNWOjaHcwLiFLBYMP8+c7pYCpk5n2SQP9PZn9aeAfNF7BBGoiLZQ6jH2E8jjvJL9GKPwEiKMuvoLnuJXTbs7c06UdCI5UgsyvaS3bXvMwHESaKY+RiC8PurAmPMp9dx1U5QTiDHd/xNyw58uiOXz30xo=
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: [PATCH 07/37] xen/x86: use paddr_t for addresses in NUMA node
 structure
Thread-Topic: [PATCH 07/37] xen/x86: use paddr_t for addresses in NUMA node
 structure
Thread-Index: AQHXsHMRNGZeupZbtEeYycYXK8HrbKxpnZqAgAD0aqA=
Date: Wed, 19 Jan 2022 06:33:58 +0000
Message-ID:
 <PAXPR08MB7420654893AFC5E9941C398A9E599@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-8-wei.chen@arm.com>
 <a1d96556-5da4-0c73-0d87-f24758866d7d@suse.com>
In-Reply-To: <a1d96556-5da4-0c73-0d87-f24758866d7d@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 7B009E28DEC3224CA61A94088790E2D6.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 1dffafb5-c36d-4c68-338e-08d9db15b1e7
x-ms-traffictypediagnostic:
	VE1PR08MB4975:EE_|DB5EUR03FT009:EE_|DB7PR08MB3114:EE_
X-Microsoft-Antispam-PRVS:
	<DB7PR08MB311429922EEEE063E46CC2069E599@DB7PR08MB3114.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:
 KRlgN5MDk/RKCHwESetL1gUtYpJKm5UtZaWCjeSnxLRrxraWHf0kcZZpByukFq6cW4re+Ws8md6/Xx2+t9TXom1ETPk5VJzo6OHAHk3r+CT7lX/YyeAj4WNZxkbPhvzdQw1CE8J8jLjWmhfb3h9A1kXED8YGtahCxP2qcHS17rn5E0nctjceA6J04+/2yaU5WcLHsDzY+dijFdRTHlJZuwxI0fLFJ+HkVPzjB49ZlTCJicgrF7sx+uLTW973DGCX2HYZNGQv2lh2tT8Frb8im1BijEhuYunxN4HWeN/e7/umBBw656i3yDXzHuw12thQTVD1try9mSy9ihp6tU38yewop7DDS3COS4qWqsPXcNPuwwesJIKTm6GbFvBiIM6r9pMt77Z8Xma6jgGusLCQ59DQ5x6FCf3LYA/gWN8g/wGa3vqEJ5nBvdv39ZG09OU8f5VAt/QH8H10bxtMKScJEB89wKd4+ifclrQuCNw0d/WhbyWQf+T7EgVrEqkD7Sw1T2YM8S95kdcFasczXqSVckZkoERr26CrWQ+m5qMevMm2llSLHFv6I52Hvj3ZVI9uqqYyM5x5/ij51JZ4fLQUzhWn8rhplXGyyJkXjJ1VuTrdJm71yl4iLNjlLn97+zgf1PZrhqSGajUd54Fz+6suVf90a7G9sQgvik6FmK5wB8QUXFKoXQ+fqh4m2lN+V6DaZzNlze1GeE8c5GVv6fZ/eA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(7696005)(8676002)(9686003)(54906003)(33656002)(53546011)(55016003)(5660300002)(26005)(86362001)(6916009)(71200400001)(2906002)(38100700002)(66946007)(83380400001)(316002)(66446008)(186003)(4326008)(508600001)(52536014)(8936002)(76116006)(38070700005)(66556008)(122000001)(66476007)(6506007)(64756008);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB4975
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT009.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	99603d2c-e6cf-4e83-a748-08d9db15ac7f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	d/O4WOyONDAo8HVdvZkoStgIq10kGLrXxLlxdRM8iPrMnWgToytKPaXSQ6yLABpi3Q7nvv5HZeQdB32TYCThm3cPP1KGnRmX9gjuccW5Ra3+4oPBUS2ukfr8XrjjVArnMipUz/Qrwn+cMRqaosRyJyGwHgfydLMvmt15Foc4GwLSrHIVkXaSWSOXO+C4FHTwohl3A9d0+sJfmrXW9hHN+A/ErNrz28s4jeJgxm2SKtAk4Xy6pvDNcSac7Vf+iOJ7Yz7E0MdkQUVODoRlkdRCtxCOIwtRq988Siz8//DEFoqNxcYQ1mC3eOXKYvvFjIQbfW24i5MQ4NjHWkKPSfq85G5erstO4LLdoHBJHCjVxA4rHR/14/nn0zt8NVQCH3WkEvFTqBdpEZrPtMVxiEAtncZmgEb0R0CfINyhYs0/ytsoZunoDd/V9uaCoV14irXUgAqaTWQKgZYpEmT1UAkFEjbWlOWTGjCOGGN1ZVf3dG4Rkvsw8wwcJhiB7pnLIgJ+kMuoRUMP4B5ESSXhfzwb7wl2Lgq4/A+MXg2Bdhj1lGqUtRrykGDL9SKV+pe3FLkQSlE7H/x3ywN55IBg2rsO6urWD9kyKkCmlbByw+sUMtX8aLbdE1axMAoFSUh5wJ50rWZFuoIX68RfUsym230yjE7+1X5HjJkVrWg3MWqoCPbXtjNWJrUMEedIT2+5pLnA2phuB44TrMOcVZ6hZ9sHaMrxPTf7p1fQK+b7haXBGUpAehT836KwP8K9VLI3v5H6Rd/pfvZWw0q9FKT10L53tw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(40470700002)(36840700001)(8676002)(54906003)(86362001)(2906002)(47076005)(336012)(6506007)(33656002)(8936002)(316002)(7696005)(40460700001)(53546011)(26005)(186003)(55016003)(52536014)(6862004)(508600001)(82310400004)(9686003)(81166007)(70586007)(70206006)(4326008)(83380400001)(5660300002)(36860700001)(356005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2022 06:34:07.5151
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1dffafb5-c36d-4c68-338e-08d9db15b1e7
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT009.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3114

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMuW5tDHmnIgxOOaXpSAyMzoyMw0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiBCZXJ0cmFuZCBNYXJxdWlz
IDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyB4ZW4tDQo+IGRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnOyBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqdWxpZW5AeGVuLm9yZw0KPiBTdWJqZWN0
OiBSZTogW1BBVENIIDA3LzM3XSB4ZW4veDg2OiB1c2UgcGFkZHJfdCBmb3IgYWRkcmVzc2VzIGlu
IE5VTUEgbm9kZQ0KPiBzdHJ1Y3R1cmUNCj4gDQo+IE9uIDIzLjA5LjIwMjEgMTQ6MDIsIFdlaSBD
aGVuIHdyb3RlOg0KPiA+IEBAIC0yMDEsMTEgKzIwMSwxMiBAQCB2b2lkIF9faW5pdCBudW1hX2lu
aXRfYXJyYXkodm9pZCkNCj4gPiAgc3RhdGljIGludCBudW1hX2Zha2UgX19pbml0ZGF0YSA9IDA7
DQo+ID4NCj4gPiAgLyogTnVtYSBlbXVsYXRpb24gKi8NCj4gPiAtc3RhdGljIGludCBfX2luaXQg
bnVtYV9lbXVsYXRpb24odTY0IHN0YXJ0X3BmbiwgdTY0IGVuZF9wZm4pDQo+ID4gK3N0YXRpYyBp
bnQgX19pbml0IG51bWFfZW11bGF0aW9uKHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLA0KPiA+ICsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGVuZF9wZm4pDQo+
ID4gIHsNCj4gPiAgICAgIGludCBpOw0KPiA+ICAgICAgc3RydWN0IG5vZGUgbm9kZXNbTUFYX05V
TU5PREVTXTsNCj4gPiAtICAgIHU2NCBzeiA9ICgoZW5kX3BmbiAtIHN0YXJ0X3Bmbik8PFBBR0Vf
U0hJRlQpIC8gbnVtYV9mYWtlOw0KPiA+ICsgICAgdTY0IHN6ID0gcGZuX3RvX3BhZGRyKGVuZF9w
Zm4gLSBzdGFydF9wZm4pIC8gbnVtYV9mYWtlOw0KPiANCj4gTml0OiBQbGVhc2UgY29udmVydCB0
byB1aW50NjRfdCAoYW5kIGFsaWtlKSB3aGVuZXZlciB5b3UgdG91Y2ggYSBsaW5lDQo+IGFueXdh
eSB0aGF0IHVzZXMgYmVpbmctcGhhc2VkLW91dCB0eXBlcy4NCj4gDQoNCk9rLCBJIHdpbGwgZG8g
aXQuDQoNCj4gPiBAQCAtMjQ5LDI0ICsyNTAsMjYgQEAgc3RhdGljIGludCBfX2luaXQgbnVtYV9l
bXVsYXRpb24odTY0IHN0YXJ0X3BmbiwNCj4gdTY0IGVuZF9wZm4pDQo+ID4gIHZvaWQgX19pbml0
IG51bWFfaW5pdG1lbV9pbml0KHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLCB1bnNpZ25lZCBsb25n
DQo+IGVuZF9wZm4pDQo+ID4gIHsNCj4gPiAgICAgIGludCBpOw0KPiA+ICsgICAgcGFkZHJfdCBz
dGFydCwgZW5kOw0KPiA+DQo+ID4gICNpZmRlZiBDT05GSUdfTlVNQV9FTVUNCj4gPiAgICAgIGlm
ICggbnVtYV9mYWtlICYmICFudW1hX2VtdWxhdGlvbihzdGFydF9wZm4sIGVuZF9wZm4pICkNCj4g
PiAgICAgICAgICByZXR1cm47DQo+ID4gICNlbmRpZg0KPiA+DQo+ID4gKyAgICBzdGFydCA9IHBm
bl90b19wYWRkcihzdGFydF9wZm4pOw0KPiA+ICsgICAgZW5kID0gcGZuX3RvX3BhZGRyKGVuZF9w
Zm4pOw0KPiANCj4gTml0OiBXb3VsZCBiZSBzbGlnaHRseSBuZWF0ZXIgaWYgdGhlc2Ugd2VyZSB0
aGUgaW5pdGlhbGl6ZXJzIG9mIHRoZQ0KPiB2YXJpYWJsZXMuDQoNCkJ1dCBpZiB0aGlzIGZ1bmN0
aW9uIHJldHVybnMgaW4gbnVtYV9mYWtlICYmICFudW1hX2VtdWxhdGlvbiwNCndpbGwgdGhlIHR3
byBwZm5fdG9fcGFkZHIgb3BlcmF0aW9ucyBiZSB3YXN0ZT8NCg0KPiANCj4gPiAgI2lmZGVmIENP
TkZJR19BQ1BJX05VTUENCj4gPiAtICAgIGlmICggIW51bWFfb2ZmICYmICFhY3BpX3NjYW5fbm9k
ZXMoKHU2NClzdGFydF9wZm4gPDwgUEFHRV9TSElGVCwNCj4gPiAtICAgICAgICAgKHU2NCllbmRf
cGZuIDw8IFBBR0VfU0hJRlQpICkNCj4gPiArICAgIGlmICggIW51bWFfb2ZmICYmICFhY3BpX3Nj
YW5fbm9kZXMoc3RhcnQsIGVuZCkgKQ0KPiA+ICAgICAgICAgIHJldHVybjsNCj4gPiAgI2VuZGlm
DQo+ID4NCj4gPiAgICAgIHByaW50ayhLRVJOX0lORk8gIiVzXG4iLA0KPiA+ICAgICAgICAgICAg
IG51bWFfb2ZmID8gIk5VTUEgdHVybmVkIG9mZiIgOiAiTm8gTlVNQSBjb25maWd1cmF0aW9uDQo+
IGZvdW5kIik7DQo+ID4NCj4gPiAtICAgIHByaW50ayhLRVJOX0lORk8gIkZha2luZyBhIG5vZGUg
YXQgJTAxNiJQUkl4NjQiLSUwMTYiUFJJeDY0IlxuIiwNCj4gPiAtICAgICAgICAgICAodTY0KXN0
YXJ0X3BmbiA8PCBQQUdFX1NISUZULA0KPiA+IC0gICAgICAgICAgICh1NjQpZW5kX3BmbiA8PCBQ
QUdFX1NISUZUKTsNCj4gPiArICAgIHByaW50ayhLRVJOX0lORk8gIkZha2luZyBhIG5vZGUgYXQg
JTAxNiJQUklwYWRkciItJTAxNiJQUklwYWRkciJcbiIsDQo+ID4gKyAgICAgICAgICAgc3RhcnQs
IGVuZCk7DQo+IA0KPiBXaGVuIHN3aXRjaGluZyB0byBQUklwYWRkciBJIHN1cHBvc2UgeW91IGRp
ZCBsb29rIHVwIHdoYXQgdGhhdCBvbmUNCj4gZXhwYW5kcyB0bz8gSU9XIC0gcGxlYXNlIGRyb3Ag
dGhlIDAxNiBmcm9tIGhlcmUuDQoNCk9oLCB5ZXMsIEkgZm9yZ290IHRvIGRyb3AgdGhlIGR1cGxp
Y2F0ZWQgMDE2LiBJIHdvdWxkIGRvIGl0Lg0KDQo+IA0KPiA+IEBAIC00NDEsNyArNDQxLDcgQEAg
dm9pZCBfX2luaXQgc3JhdF9wYXJzZV9yZWdpb25zKHU2NCBhZGRyKQ0KPiA+ICAJICAgIGFjcGlf
dGFibGVfcGFyc2UoQUNQSV9TSUdfU1JBVCwgYWNwaV9wYXJzZV9zcmF0KSkNCj4gPiAgCQlyZXR1
cm47DQo+ID4NCj4gPiAtCXNyYXRfcmVnaW9uX21hc2sgPSBwZHhfaW5pdF9tYXNrKGFkZHIpOw0K
PiA+ICsJc3JhdF9yZWdpb25fbWFzayA9IHBkeF9pbml0X21hc2soKHU2NClhZGRyKTsNCj4gDQo+
IEkgZG9uJ3Qgc2VlIHRoZSBuZWVkIGZvciBhIGNhc3QgaGVyZS4NCj4gDQoNCmN1cnJlbnQgYWRk
ciB0eXBlIGhhcyBiZWVuIGNoYW5nZWQgdG8gcGFkZHJfdCwgYnV0IHBkeF9pbml0X21hc2sNCmFj
Y2VwdCBwYXJhbWV0ZXIgdHlwZSBpcyB1NjQuIEkga25vdyBwYWRkcl90IGlzIGEgdHlwZWRlZiBv
Zg0KdTY0IG9uIEFybTY0LzMyLCBvciB1bnNpbmdlZCBsb25nIG9uIHg4Ni4gSW4gY3VycmVudCBz
dGFnZSwNCnRoZWlyIG1hY2hpbmUgYnl0ZS1sZW5ndGhzIGFyZSB0aGUgc2FtZS4gQnV0IGluIGNh
c2Ugb2YgZnV0dXJlDQpjaGFuZ2VzIEkgdGhpbmsgYW4gZXhwbGljaXQgY2FzZSBoZXJlIG1heWJl
IGJldHRlcj8gDQoNCj4gPiBAQCAtNDg5LDcgKzQ4OSw3IEBAIGludCBfX2luaXQgYWNwaV9zY2Fu
X25vZGVzKHU2NCBzdGFydCwgdTY0IGVuZCkNCj4gPiAgCS8qIEZpbmFsbHkgcmVnaXN0ZXIgbm9k
ZXMgKi8NCj4gPiAgCWZvcl9lYWNoX25vZGVfbWFzayhpLCBhbGxfbm9kZXNfcGFyc2VkKQ0KPiA+
ICAJew0KPiA+IC0JCXU2NCBzaXplID0gbm9kZXNbaV0uZW5kIC0gbm9kZXNbaV0uc3RhcnQ7DQo+
ID4gKwkJcGFkZHJfdCBzaXplID0gbm9kZXNbaV0uZW5kIC0gbm9kZXNbaV0uc3RhcnQ7DQo+ID4g
IAkJaWYgKCBzaXplID09IDAgKQ0KPiANCj4gUGxlYXNlIHRha2UgdGhlIG9wcG9ydHVuaXR5IGFu
ZCBhZGQgdGhlIG1pc3NpbmcgYmxhbmsgbGluZSBiZXR3ZWVuDQo+IGRlY2xhcmF0aW9ucyBhbmQg
c3RhdGVtZW50cy4NCj4gDQoNCk9rDQoNCj4gPiAtLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L251
bWEuaA0KPiA+ICsrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvbnVtYS5oDQo+ID4gQEAgLTE2LDcg
KzE2LDcgQEAgZXh0ZXJuIGNwdW1hc2tfdCAgICAgbm9kZV90b19jcHVtYXNrW107DQo+ID4gICNk
ZWZpbmUgbm9kZV90b19jcHVtYXNrKG5vZGUpICAgIChub2RlX3RvX2NwdW1hc2tbbm9kZV0pDQo+
ID4NCj4gPiAgc3RydWN0IG5vZGUgew0KPiA+IC0JdTY0IHN0YXJ0LGVuZDsNCj4gPiArCXBhZGRy
X3Qgc3RhcnQsZW5kOw0KPiANCj4gUGxlYXNlIHRha2UgdGhlIG9wcG9ydHVuaXR5IGFuZCBhZGQg
dGhlIG1pc3NpbmcgYmxhbmsgYWZ0ZXIgdGhlIGNvbW1hLg0KPiANCg0KT2sNCg0KPiBKYW4NCg0K


From xen-devel-bounces@lists.xenproject.org Wed Jan 19 07:15:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 07:15:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258721.445899 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA5BY-00021l-MM; Wed, 19 Jan 2022 07:15:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258721.445899; Wed, 19 Jan 2022 07: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 1nA5BY-00021e-J9; Wed, 19 Jan 2022 07:15:12 +0000
Received: by outflank-mailman (input) for mailman id 258721;
 Wed, 19 Jan 2022 07:15:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uvFD=SD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nA5BX-00021Y-Rz
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 07:15:11 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 88deb65f-78f7-11ec-9bbc-9dff3e4ee8c5;
 Wed, 19 Jan 2022 08:15:09 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2112.outbound.protection.outlook.com [104.47.18.112]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-13-GYKxruwTNa-wCG1JeZtGsw-1; Wed, 19 Jan 2022 08:15:07 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by PAXPR04MB8351.eurprd04.prod.outlook.com (2603:10a6:102:1c4::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Wed, 19 Jan
 2022 07:15:05 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.014; Wed, 19 Jan 2022
 07:15: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: 88deb65f-78f7-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642576508;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=3WbpwSGDEL7bbFVKcC0OXzFkI4gtVXjLCNtFpo/m3tY=;
	b=IlC8sRHk9cWOVmNxqM2mwMStCNSWbdC42FL/i5asNYCGAclpx8AtaIcEG7te1Lm0cQWzOg
	btDjGUF7xpKWLpiRvQpuZMoBa+WtMaRqe7iCQNmTsm4MVXW4F04YA+d0LAfgFuHRXKZMUt
	srZ1nGYU8lMxzcLZU6AdSGLmchjO+HA=
X-MC-Unique: GYKxruwTNa-wCG1JeZtGsw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HJ69vmF5NY/dtMhyKUlnyVlGRtuOcNrhPVjhk7EXc0cv7h3zB0PQheIMH4V/gjVSWjOEWV0EjDJ1cCo5TEWsM54oQuTrZK76TL+dI+HsbHam6VgkfFThmd/MUIikoHia3Oz0uWlutmtXui0xJss+cMycQ06lzrokAqJImcwEEza32o5DfUEtVdMOGHrMmNjTOWTZ8iG8c9ps+VOHfajqiSSOlcgshdU24gJpCIKKhKHzjh9xjbCYJlTPwfcZwuI+dux0O5EX50TLWT8z+1N0N6djlSjKc5f1avw+uEZIJdXYQJjVSpU30SB6n4cD62h5ELhfoljp57lOk/t1AMGsPg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3WbpwSGDEL7bbFVKcC0OXzFkI4gtVXjLCNtFpo/m3tY=;
 b=Tq+m4rgl5KtZZBHkTLYbhthcgbSqreY17YsUlafNWjXuY2QnAFDyd6V5j+whqTV+e/HmXdMcTJUKVUmaZZNCLAZ7nOkJx7QuNKluNZn36Xnq/Fl/WzVm6aEZsC6e7/FA6zOEY+XaJnP+3dx7iYNfCsfqT+ZT0Zyz6tI5x5B9FJXWpWBgk4CkuJI2qTlTq54h4Q8dVhE0FkH9NTuFHTejaxFLyW3hPEmN8O+5TOi0V1c+96LCLGtisemKJdbvYsb2jiblTI5fiMyKup8HCyU7/U9nt02q9heyhBBe2IVdlE504R3ZXZHN31JgFpxaAg3blxZmDjrPRSZsy/Sz9MMODg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ad334ab7-d829-bb02-7562-327a72e834da@suse.com>
Date: Wed, 19 Jan 2022 08:15:04 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH] x86/Intel: use CPUID bit to determine PPIN availability
Content-Language: en-US
To: Andrew Cooper <amc96@srcf.net>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <239d8868-0c8a-b512-a2bf-3e91689a8218@suse.com>
 <e076f39f-7364-b9a2-ba0c-fd84e7f19ab0@srcf.net>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <e076f39f-7364-b9a2-ba0c-fd84e7f19ab0@srcf.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR0101CA0018.eurprd01.prod.exchangelabs.com
 (2603:10a6:206:16::31) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 1a03f69a-7534-4ea1-6e7e-08d9db1b6a9d
X-MS-TrafficTypeDiagnostic: PAXPR04MB8351:EE_
X-Microsoft-Antispam-PRVS:
	<PAXPR04MB8351BCBDC28F4310754ECB0AB3599@PAXPR04MB8351.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:
	YAsn8gb48rDFTq2zpRWNlPSA/Gm9MP54ZA+uz9HUbWlSa4zOochIPzXy6/i1mMhhThAN+f9dd+/jPiopFU1CblIPDAweUsT4yiBC5es4O4GQ2CxhxNOthILKOWffg7g+9CLEdIhHUfoKWBvPTwxji9sUilut5fhY/t+GhZm49Cg9yToQitj8iX0mcx97j+GfPKfKzkHh/jmPal9MuoTVkHgftG+fNUhOW2mUKlQZS5Vb15hhA8ewM/qDWv4t4jQsbPdumgpRymzZhIZ3RgdZlLTfQU+3sVOwDLCozNoEpphccu6M1BwM4VISz5VLhqsp0Yjd5CL67tOaHqQ8A2QhvWMXD9431z7cRWL8Zd06D+aQmHeqjK0SHlvzavEaE8QNQpdyvCmgqg3XcyCQlzeUICZtbz6q67H4NpkS/S5wKhw4vu3QHals8wADcQHgfzaEwzmOjouAdcxkoXuwND41Paw7SkJRfPU2z950DjjYlZmR9zQuBQbwr3J46/OOg0GnTlmAZmAYRvcP0B6j3y8ZFgzD5ewqCT0mEOYg3whg/uNMP+u//eqME2B+RqJeYG1vBG0BGZ9QgtsTK5ye1rNnRikM7G5eXj64NSDRoGcYZ1NRJP6lVIB6/d/ZtFnO2CGsTOyZ4br54i+kb1kC4llV+DwNiNIJAcyifFJwupjvWatozTIOSRcRL/tgKm+gahVjL4l5Id9CcryLzFy2CtO19fwwDfvFA9KaYuBO9HsIy0ZInSt19cD0k3ZSSYJbZ1+S2zO0nPmioekH9HiOQo7QtSORdxNcQAtEZwlVzYLr7p7p3OLMutPptAeGmg/XZz+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:(366004)(66946007)(186003)(31686004)(6916009)(6486002)(508600001)(26005)(31696002)(4326008)(54906003)(4744005)(966005)(5660300002)(66476007)(38100700002)(316002)(6506007)(86362001)(53546011)(66556008)(8936002)(6512007)(2616005)(36756003)(2906002)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MUgyNkRsUmlzVFpETGZPQnBzUVlUMG4vOUFNRVhPb2FEMTJyVzZxaGhKOFhn?=
 =?utf-8?B?UHE1TFNGeWUzUU9JaHVOYUxGTEJzMlJYb0g0V0lZVGtNclRoclhaL0RINEtM?=
 =?utf-8?B?ZkQyR3RWR0dWQ3FpdHlHaGMyV2V6c0k4aldkUDJ4ak5rQWVsaTdGbVNMK1FG?=
 =?utf-8?B?SkYvQkpDd2tta0hhVGQyNlRqa1A4dG5qYUxiL3kwZXNWWnJKeWVrek85eTYr?=
 =?utf-8?B?Qy9ucFlub1RxR1RsYkJ2dENhM1BTeE4wSlNUQkl1OU1zR3B0VkIzRGd2cktx?=
 =?utf-8?B?K3pMK1Q2N3VzK0NCWEhueU5xK29qejVqbTR1WllZTTBKV0dxQ05IamRReG9E?=
 =?utf-8?B?STU0VGNmN2JrREhBOWY0TDZnTGxaK292YTE2MVBaVGJRZ28rUjhIci90TmtQ?=
 =?utf-8?B?T29RVFN6QjNSMTVnTjZBN2xvSVdpS0J4d0xtU1p5dnZaeWNSTE1DRmZ0aGUz?=
 =?utf-8?B?TXd6UU1QQW1pMmttNUNFMjFjM002M3lZcXJjaXYwSTRxbFJlSTdVcUNtMHJQ?=
 =?utf-8?B?Q1dJVWdNR2JRRlp6Y3NkRUhUb2h1TUluRTVaSzVwTGk3ckQrNUVTR1B0aDB5?=
 =?utf-8?B?bGhhaHNvSE4zQlBBMDdLaUUrWlh3Q1Y3YkNReEJSVUJxeHB2MCt3QkNUYjFr?=
 =?utf-8?B?b1diSkpYR3p0TFE3YXdYbi93ZG5LbzRLd0E3Mm9xcmhzWWh4WU9DSHY1K0NU?=
 =?utf-8?B?K01wVkx5aDBaWVhkYVZEdXJERllNUmEyZ3kweXVFeUZ3SWg5bDdiRWNsdFZa?=
 =?utf-8?B?eTBtT1JzV0x0bDZOSUUzdERJdWpYTEZ0OXdTMC9tM2F4MUJUNTBqVE9EQXVk?=
 =?utf-8?B?RmdHbHhtd1NPRVJZL09ZOXRYbURQMTlzNUFGblFPalp5UnRRaHQ5UENFK095?=
 =?utf-8?B?djFhQ0wrdFp0ZDVreWZ2WlBVTkxRZVhwSHhOazg2eGgxTHNvazhoa0xCcmph?=
 =?utf-8?B?YWJOMzJCTjd1RWRWVDVpcFlwUFlQR1pNeFArbmtQbU5WNUtkczIrSnlJNlVZ?=
 =?utf-8?B?OTlIU3pyOVZaR0pRQzJWd3YzTzRXWGFoc0QrQWU0N1pSekNkN2VjK2ZBUS8z?=
 =?utf-8?B?T3JQdlVMbFdjeFlZMS9tWC9McTNCVVRRbGpLMUVPdmNHaTk0QkUyQUlzOFI3?=
 =?utf-8?B?a0dkbklCdTZDQnVycnpDNFRGa0UzT3NMbGU2Z0pSQWF6OW5Fb1JPRHlBUzYv?=
 =?utf-8?B?eXVVd3BDRGdJTU00ZUdaN0dEYzZhQit0UHE4dUR2VldpbFdKUVl3V2J6dzlh?=
 =?utf-8?B?VmxxWEFMeFhieHdlcnFUOGRERnlpVUhtUEdSek9lNW0yQkh1cERiY1d3TkNh?=
 =?utf-8?B?RlA4Z0huWGUrc1c4Mk5WOEcyd1lxMHBSQjBMTmlISjMrU2M1V3lTRmdEZTM2?=
 =?utf-8?B?MW4vRjJ3SUs1OWJSQ0RzeG1WOHRZc05LMUlzRHdrZlo1VmVGRVRMMjdkSTdF?=
 =?utf-8?B?d3R5b0hWV0tZdHRTTEZWVWlsa0ZCK0NDRzE4bFNibXZOVnFUQXBWTG5sMG1h?=
 =?utf-8?B?aUdGdVIzRWxQR1pNaUFhZTZoV2pUREdUWHFmeFBzYkxPMWRUeXFpNlFqd2hv?=
 =?utf-8?B?WXFLSnJJd2cxalJ6bno3TFh2WFJQaGFSSlZDY2Z0bER6TkZvbUJZMDFaMVdr?=
 =?utf-8?B?QnRvd25LT2RCTXNzaFVxQ2ZsUG91N3p6dlBxVFl2UTF3Wm5wczllRzZCVlQ5?=
 =?utf-8?B?RFNxOHhMNTV2aGJidi8xRnh2QW5UdFhPRVBtR1VwYU5CZG9WaGNPYW9aakla?=
 =?utf-8?B?M2xMSFJhZVplSGhsdjBRNXA3YUhYbFJVWWlXUWZkTkNoN01wQnJabmxOeit2?=
 =?utf-8?B?eE04ZjNqL09FTk1KenEvOVBmaWNKWnQwQSs5NzEydi8xRFppT3NwR0ZrWmtz?=
 =?utf-8?B?SmFLZGZsWWRQVFhtWjFhZWc5MnNvU0c0THd3SWhwcm1kdGZkbG9MNEFoZUQ0?=
 =?utf-8?B?eVFwY3VlTUFsYytMRC90YllyZjBqYTZ4dUtNcjcrcVFPOGo5VklaenY0V0Rq?=
 =?utf-8?B?SlZKRTdLRW5tWDBmTDAwcGZ3eWNva2RkOUFzN0h1U0xPNFIrOVByT2U3c1hV?=
 =?utf-8?B?S1pqeURZM0lKTUJHaEdZdmRIeC82UEJCWE5mVGVUdWVHR3FySGtlbUVHaHZj?=
 =?utf-8?B?TnZkNU9IUUx2TGlNNlo5M21DNGtVcFhnZkhnY0FGdkkxZy9MWkFJVHpCYjZz?=
 =?utf-8?Q?MCluzR/8usCw0l6WTUzfpQs=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1a03f69a-7534-4ea1-6e7e-08d9db1b6a9d
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2022 07:15:05.6413
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: goQGwDu8lE3tFg0RhtpR+88fbmk+fy5eT6ZiMh00cmqoG++4usfe8piPNfuYncLc8vGGbhresJWrYkwt6TIVUA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8351

On 18.01.2022 21:28, Andrew Cooper wrote:
> On 17/01/2022 15:30, Jan Beulich wrote:
>> As of SDM revision 076 there is a CPUID bit for this functionality. Use
>> it to amend the existing model-based logic.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> https://lore.kernel.org/lkml/20220107225442.1690165-1-tony.luck@intel.com/T/#u
> suggests that Sapphire Rapids also needs the model specific treatment.

Well, I can go and pull in their a331f5fdd36 just to be on the safe side.
I have to admit that it's not clear to me whether that older commit is
made obsolete by the CPUID bit check about to be added.

> I agree with the "only-expose-on-error" observation, so perhaps we ought
> to make these details available to the hardware domain in a suitable form.

hypfs?

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 19 07:28:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 07:28:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258728.445932 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA5OZ-0003tG-5Z; Wed, 19 Jan 2022 07:28:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258728.445932; Wed, 19 Jan 2022 07:28:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA5OY-0003rx-TK; Wed, 19 Jan 2022 07:28:38 +0000
Received: by outflank-mailman (input) for mailman id 258728;
 Wed, 19 Jan 2022 07:28:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7l/E=SD=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1nA5OX-0003Y7-54
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 07:28:37 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 69112513-78f9-11ec-a115-11989b9578b4;
 Wed, 19 Jan 2022 08:28:35 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 831B4218B1;
 Wed, 19 Jan 2022 07:28:34 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 6344413B28;
 Wed, 19 Jan 2022 07:28:34 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id wDcjF6K952EyZQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 19 Jan 2022 07:28: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: 69112513-78f9-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642577314; h=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=5Q8/hUXGqsnYkvw1oVYpCRHGGrTKxx6BfGMzSIWuIkk=;
	b=tPl30SlYFSZSWhgQFeaYYbXXz67N4URWouXDF1+5GpYXsugscg4DmYIVI7QVy9xPdeLQHz
	devaCFqz+Em7u0pzm0OMNk4RYmQckWr5sXfF48LOzAY9BslLNJzKCbDMutWY0GCgo4rk/a
	Lujhcorw5vyXBwmwbVAUGCJssmomqIQ=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 3/3] tools/libs/gnttab: remove old mini-os callback
Date: Wed, 19 Jan 2022 08:28:23 +0100
Message-Id: <20220119072823.21025-4-jgross@suse.com>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20220119072823.21025-1-jgross@suse.com>
References: <20220119072823.21025-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

It is possible now to delete minios_gnttab_close_fd().

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- rebase
---
 tools/libs/gnttab/minios.c | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/tools/libs/gnttab/minios.c b/tools/libs/gnttab/minios.c
index f59fad3577..cac89f0ba6 100644
--- a/tools/libs/gnttab/minios.c
+++ b/tools/libs/gnttab/minios.c
@@ -33,8 +33,6 @@
 
 #include "private.h"
 
-void minios_gnttab_close_fd(int fd);
-
 static int gnttab_close_fd(struct file *file)
 {
     gntmap_fini(file->dev);
@@ -89,13 +87,6 @@ int osdep_gnttab_close(xengnttab_handle *xgt)
     return close(xgt->fd);
 }
 
-void minios_gnttab_close_fd(int fd)
-{
-    struct file *file = get_file_from_fd(fd);
-
-    gnttab_close_fd(file);
-}
-
 void *osdep_gnttab_grant_map(xengnttab_handle *xgt,
                              uint32_t count, int flags, int prot,
                              uint32_t *domids, uint32_t *refs,
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Wed Jan 19 07:28:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 07:28:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258727.445921 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA5OY-0003h5-I3; Wed, 19 Jan 2022 07:28:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258727.445921; Wed, 19 Jan 2022 07:28:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA5OY-0003fV-Cb; Wed, 19 Jan 2022 07:28:38 +0000
Received: by outflank-mailman (input) for mailman id 258727;
 Wed, 19 Jan 2022 07:28:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7l/E=SD=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1nA5OW-0003Y6-Uf
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 07:28:36 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 68f5772c-78f9-11ec-9bbc-9dff3e4ee8c5;
 Wed, 19 Jan 2022 08:28:35 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 5D97E218A9;
 Wed, 19 Jan 2022 07:28:34 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 3BEB313B28;
 Wed, 19 Jan 2022 07:28:34 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id uD16DaK952EyZQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 19 Jan 2022 07:28: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: 68f5772c-78f9-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642577314; h=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=IsvRZQmjV7CnvRfLpi5YfUDyG/LXLUAroV6J520N8oI=;
	b=Cv5vnxnkQ0OvUxrwzCEFGs/LGsUTgjV1zPZstuhlMr3TAXv8/2eq9OTzLfeoBy+Z2849q4
	zFBah217L23cMfHr6+0n7hE7HWCgu7gPOJlT2q3bFcdpDahcTjd6ZSPMo5uzGQID1nIGBI
	HNWH+PhyNoAHw9gjS301f0MNZaCtOgA=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 2/3] tools/libs/evtchn: remove old mini-os callback
Date: Wed, 19 Jan 2022 08:28:22 +0100
Message-Id: <20220119072823.21025-3-jgross@suse.com>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20220119072823.21025-1-jgross@suse.com>
References: <20220119072823.21025-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

It is possible now to delete minios_evtchn_close_fd() and the extern
declaration of event_queue.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- rebase
---
 tools/libs/evtchn/minios.c | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/tools/libs/evtchn/minios.c b/tools/libs/evtchn/minios.c
index ee3da9f8fe..30f98bc7e4 100644
--- a/tools/libs/evtchn/minios.c
+++ b/tools/libs/evtchn/minios.c
@@ -47,10 +47,6 @@ struct port_info {
     bool bound;
 };
 
-extern struct wait_queue_head event_queue;
-
-void minios_evtchn_close_fd(int fd);
-
 /* XXX Note: This is not threadsafe */
 static struct port_info *port_alloc(xenevtchn_handle *xce)
 {
@@ -152,13 +148,6 @@ int osdep_evtchn_restrict(xenevtchn_handle *xce, domid_t domid)
     return -1;
 }
 
-void minios_evtchn_close_fd(int fd)
-{
-    struct file *file = get_file_from_fd(fd);
-
-    evtchn_close_fd(file);
-}
-
 int xenevtchn_notify(xenevtchn_handle *xce, evtchn_port_t port)
 {
     int ret;
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Wed Jan 19 07:28:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 07:28:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258725.445911 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA5OX-0003YZ-Uw; Wed, 19 Jan 2022 07:28:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258725.445911; Wed, 19 Jan 2022 07:28:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA5OX-0003YS-Rc; Wed, 19 Jan 2022 07:28:37 +0000
Received: by outflank-mailman (input) for mailman id 258725;
 Wed, 19 Jan 2022 07:28:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7l/E=SD=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1nA5OW-0003Y6-5M
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 07:28:36 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 68db0e19-78f9-11ec-9bbc-9dff3e4ee8c5;
 Wed, 19 Jan 2022 08:28:35 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 365D02170E;
 Wed, 19 Jan 2022 07:28:34 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id EA62213B6D;
 Wed, 19 Jan 2022 07:28:33 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id QKglOKG952EyZQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 19 Jan 2022 07:28: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: 68db0e19-78f9-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642577314; h=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=KYSZ4YoetIiNwYERXNj7SwMwS/sdGLv5NUxQ/ovPRA8=;
	b=GvDWzdFZ8sDfCnuZWedXJS0PWIjZ7l4Z+uwcLhm0U2x2yEuqB1nYbOtZ/uCW3f+R5nfPBD
	yu9MTRMm0KOWd6gRCie/WlEVONXNpBjqL4huk3cdYz8j9wVtJWu3o+FVI7U+PTlNk3uayx
	qcBXLj4bW1/LmTAKGKAwj7qoOgIFgPk=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v2 1/3] config: use more recent mini-os commit
Date: Wed, 19 Jan 2022 08:28:21 +0100
Message-Id: <20220119072823.21025-2-jgross@suse.com>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20220119072823.21025-1-jgross@suse.com>
References: <20220119072823.21025-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In order to be able to use the recent Mini-OS features switch to the
most recent commit.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 Config.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Config.mk b/Config.mk
index 5c8c737fe4..168273e157 100644
--- a/Config.mk
+++ b/Config.mk
@@ -231,7 +231,7 @@ MINIOS_UPSTREAM_URL ?= git://xenbits.xen.org/mini-os.git
 endif
 OVMF_UPSTREAM_REVISION ?= 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5
 QEMU_UPSTREAM_REVISION ?= master
-MINIOS_UPSTREAM_REVISION ?= a91161eb0f92dac4ad6d41f91117268bc23ef28d
+MINIOS_UPSTREAM_REVISION ?= 83ff43bff4bdd6879539fcb2b3d6ba5e61a64135
 
 SEABIOS_UPSTREAM_REVISION ?= rel-1.14.0
 
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Wed Jan 19 07:28:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 07:28:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258726.445916 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA5OY-0003bR-8k; Wed, 19 Jan 2022 07:28:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258726.445916; Wed, 19 Jan 2022 07:28:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA5OY-0003aJ-3a; Wed, 19 Jan 2022 07:28:38 +0000
Received: by outflank-mailman (input) for mailman id 258726;
 Wed, 19 Jan 2022 07:28:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7l/E=SD=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1nA5OW-0003Y7-Bh
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 07:28:36 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 68ccbc8b-78f9-11ec-a115-11989b9578b4;
 Wed, 19 Jan 2022 08:28:35 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id EC91C2114D;
 Wed, 19 Jan 2022 07:28:33 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 9F6FD13B28;
 Wed, 19 Jan 2022 07:28:33 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Wu1XJaG952EyZQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 19 Jan 2022 07:28: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: 68ccbc8b-78f9-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642577313; h=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=K2I+O6xkUbxJsn0i8xI3kunjK9MPh3RJPHeGA1FDxQ8=;
	b=eHDwj27Q85oY+7ekgsxKKjv74Knp8JUSlWxFII0cP7Sx1cr3m8SL1SmWjzKADY/4BZokMx
	zJ7/DhO7dKiHFJHzVIxBWhzBaBZh4TCChUAWqS8CcRWz4AizNk4lei5bH3sK8xsZ9Vg6py
	v1J30uBZ3tvtplekV75DimzNa5+MuZU=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 0/3] tools/libs: final cleanup removing old mini-os callbacks
Date: Wed, 19 Jan 2022 08:28:20 +0100
Message-Id: <20220119072823.21025-1-jgross@suse.com>
X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This is a final patch series removing the library callbacks referenced
directly by Mini-OS.

Changes in V2:
- added patch 1
- rebase

Juergen Gross (3):
  config: use more recent mini-os commit
  tools/libs/evtchn: remove old mini-os callback
  tools/libs/gnttab: remove old mini-os callback

 Config.mk                  |  2 +-
 tools/libs/evtchn/minios.c | 11 -----------
 tools/libs/gnttab/minios.c |  9 ---------
 3 files changed, 1 insertion(+), 21 deletions(-)

-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Wed Jan 19 07:33:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 07:33:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258737.445954 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA5TX-0006jl-Pf; Wed, 19 Jan 2022 07:33:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258737.445954; Wed, 19 Jan 2022 07: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 1nA5TX-0006je-MX; Wed, 19 Jan 2022 07:33:47 +0000
Received: by outflank-mailman (input) for mailman id 258737;
 Wed, 19 Jan 2022 07:33:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=CaTf=SD=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1nA5TV-0006jY-KL
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 07:33:45 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20623.outbound.protection.outlook.com
 [2a01:111:f400:7d00::623])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 20c859bd-78fa-11ec-a115-11989b9578b4;
 Wed, 19 Jan 2022 08:33:43 +0100 (CET)
Received: from AM6PR10CA0007.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:209:89::20)
 by AM8PR08MB5636.eurprd08.prod.outlook.com (2603:10a6:20b:1c6::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.7; Wed, 19 Jan
 2022 07:33:40 +0000
Received: from VE1EUR03FT061.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:89:cafe::bb) 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.4888.10 via Frontend
 Transport; Wed, 19 Jan 2022 07:33:40 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT061.mail.protection.outlook.com (10.152.19.220) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4888.9 via Frontend Transport; Wed, 19 Jan 2022 07:33:40 +0000
Received: ("Tessian outbound 63bb5eb69ee8:v113");
 Wed, 19 Jan 2022 07:33:39 +0000
Received: from d5b884c1f6fb.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F812D8D5-4C68-44D8-A425-49FA6F63BEC0.1; 
 Wed, 19 Jan 2022 07:33:33 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d5b884c1f6fb.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 19 Jan 2022 07:33:33 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by DB9PR08MB6921.eurprd08.prod.outlook.com (2603:10a6:10:2a5::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.10; Wed, 19 Jan
 2022 07:33:31 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0%6]) with mapi id 15.20.4888.013; Wed, 19 Jan 2022
 07: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: 20c859bd-78fa-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=41FLYyYNG/aJJDaOInaSy6ofBFgrSA8YQnqsStWmG+8=;
 b=QzkOTH1P9PCTRz9pxKR594UJEaj5sxv1oHUX9UinKDyibOh5rWOpWJEUY43pOJenMkbNAio1jnKngBeoUVB29oHOKRwxWoc37v8pH7uUyjvza/l9SvPTjyCSFJLONn9If0NF5Skoh3UTMb9Qr571etMikNEBt0o8a4MYgy3TdJE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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=AOMcF6DwKsDG40Dxgwvc86JDNd+6W9G4I3aQhAnSdbB0zLXzJji2leQPK+UvLccMJaZEKgXcieedBfPQr6K92dBzTZ4p0WZaOl69gAL8Idhe6Nz9XhFJQbb+qyzCPjJe+iDOg/Cu5Pxn5JC2jdqBu9opT+k1YPmqIu9QPkRV15DRaGRTCnefJj3LRbqt4nRIBSZCyXz2C191GD28GneqOnnjuL3aRVRJsX+6+tqMgbxQCJcdYXcWc16YqL+ZiicsCxLbWzAiEFfnNzdvFzxp+ix293w0zaHUyghMPXrMlhKXuKOKmbfleJhs2iYRnJ261hfiv6m7CaZQ0wNzHfUp5g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=41FLYyYNG/aJJDaOInaSy6ofBFgrSA8YQnqsStWmG+8=;
 b=RbkgPF9DhQf3kodvUwcdbCTycEGLGdHRwBJhxFQHL3YNffu5VYz7FfJ+WEUVJ3PVaS64cshFQMchqDphkBc4y0h59YdFYzOawWlUkmjUEN9KHPH0BOWL3rZWw30Rsv5366WNNKl20VtvoRBdFmYsGW7gktA7XNUfsLJtNTswgugy6RfsW2uR9FMEKM0n+b4uYdDmVwmGPYcj8+yN5eRzGD9skRMBfjwT3fKTP/os4wEv97ibm3rvMjF/jMCxqh6aaTQoDPsQrKN5Ttm+g2VjgCivJkKz3kU4tXn0jYVZuFJ/Og+9vlmFdLHzPBVPGUKPBlegrD5OXURNismhiFROSw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=41FLYyYNG/aJJDaOInaSy6ofBFgrSA8YQnqsStWmG+8=;
 b=QzkOTH1P9PCTRz9pxKR594UJEaj5sxv1oHUX9UinKDyibOh5rWOpWJEUY43pOJenMkbNAio1jnKngBeoUVB29oHOKRwxWoc37v8pH7uUyjvza/l9SvPTjyCSFJLONn9If0NF5Skoh3UTMb9Qr571etMikNEBt0o8a4MYgy3TdJE=
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: [PATCH 08/37] xen/x86: add detection of discontinous node memory
 range
Thread-Topic: [PATCH 08/37] xen/x86: add detection of discontinous node memory
 range
Thread-Index: AQHXsHMRZjZ8eZQrbkW8SEq2x0f00Kxpq6IAgAD9ltA=
Date: Wed, 19 Jan 2022 07:33:31 +0000
Message-ID:
 <PAXPR08MB74209486B9983A392AB66E059E599@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-9-wei.chen@arm.com>
 <3fe681fa-d01f-d5df-23f2-6c6d8089fd8a@suse.com>
In-Reply-To: <3fe681fa-d01f-d5df-23f2-6c6d8089fd8a@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 43E8886BEC7819458D084DCBF5F66293.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 0d4ac33a-4506-4ace-833e-08d9db1e0374
x-ms-traffictypediagnostic:
	DB9PR08MB6921:EE_|VE1EUR03FT061:EE_|AM8PR08MB5636:EE_
X-Microsoft-Antispam-PRVS:
	<AM8PR08MB5636E101575A3960A95F05249E599@AM8PR08MB5636.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:
 vFh/6W9moJWbg1ifkXj2wjPwI+xargyYh+h2bY1knWwXLVOTykuom6IkFFlWjHP3ts4t4NGh6CZ7oE7UQwX7dQpL4YgXS+kI+8Z8cxfX9o0SgJ14JKozyY0c+Sx3uB3FauxVdmhNJIrI1Hn6G7FQTYqX+acod661S7BwSGRRuAXx0kkAMG/yNtDpHaaf3FqTlna6BWWoYNaiCd38LAsETybGJ0gxWsw6LbKUl1tNfGMouW9GV9KicyUAC7aifeYwnT8vn4CoNn96flHXZsSU4w4qY09dMI4FXgOpQRDX7NIYGNM1hwEXG1mjafOWVw+Fw0UOdatheeeSX4dH97nQ1jYmixcOwVHmrk5yBPuYPUeZqhgiraJHciDUnXgudcdbjkh37MyAE9RyymKJZ+E/IEmRzbsYERvRu1qCaGnAQASkCxXkUfFG4GZyz/idN8BwBBinJiQMjajAlhqmuO+ZIOIzzLHz0a+m7zHRqowXHZXgnyafJYFEEJoIHpxNa/P631/60OfUxWU7Eefa9AAch7P6N8dl0zjloi5f+bBclmjEKt9GymAZtTSxqqKj68SjG7yTNyZyyHC73okn9GzC7XrR6dhM7GsV4wcBObRqH4stZuucY4VjwKIq2nJ8ISG1hP1Gnux7vqbPSZzm7yWPsGLCVkRaunMuEeRARTZXN8crxvR7Dq7BY6/7XaX5M9v1HS74fPINcZpXnNHSCkIItQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(6916009)(83380400001)(64756008)(66556008)(66476007)(2906002)(66446008)(76116006)(66946007)(9686003)(4326008)(26005)(508600001)(55016003)(5660300002)(52536014)(38100700002)(71200400001)(122000001)(316002)(53546011)(6506007)(86362001)(7696005)(186003)(8676002)(8936002)(38070700005)(33656002)(54906003);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6921
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT061.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ff386235-720d-4623-1764-08d9db1dfe30
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	RMoJOB3lIoP+qVSTdVSOSu06qqANxKJ6pg9ZKKf6zn67v0gqGNbH75m2j1JbimadqYsR8I49aD/qLT35XqnPQcXbubWFBM00QAzVfc18vOQi7EaxqWI43fjqEbBvOKClyCT/BRuxI0viaCbjaOdkr+v0KROcrfpvcsJ2QgxcOCEN7s3IfuxfyANP8QPBUww6xDOvMdazfYWBb3QdZlXW3JudwguQsSRlCe+icf1ledKWk9xO8jW1F7XFYAr6Tso6eUqDtOPz2idYixXgxisR3mS0z/p/jjosShcU21B2OFWtuhWjtP8F4gEFa2iUTaHAgjlUOfs4WRy4Of+xjPvhNKQJOnTdcdFQ68xKE0A2D9yHzGIQR1+JnUpQX13uJO+K3eMYssEZ3mfmgJG7jyjKr9CQ3dpSs311HXTby5gk1MIuwAeFCVW4UH3CNDVf7TMjDOS54UOETf5Twcrwz++4yklug8/aGkVSLs21orFawYnndiP0sqpmS8rjsT4sImVtHWkDUCD94U3z4NoHqLDYwcWtAQrGmW8CjZd1QtWn3eVABmE2IbFFFiLnz0rQSKagXd7NMWE3Z0B7lP+hZUDPr7vMtyPmFl/NXk+YqRIWplmR8rMWOdy3VaaYtyNE0jPJ9ZMBDK4Fo0VE/lSZEsHGhwyitz368KsjPbsfC5pZyifpTKsU99OeH7cL3NhO/tSWnTfcXw+WznKtkJik1xc/KNEpWDnZVlCb9v8hPWNl1zd1dQMVjwFrF54e4SYVQ/MPlvmxl1AMFdrS9ZzS8Spvgw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(40470700002)(46966006)(36840700001)(6506007)(8676002)(8936002)(36860700001)(9686003)(83380400001)(2906002)(6862004)(316002)(4326008)(53546011)(7696005)(40460700001)(26005)(5660300002)(47076005)(356005)(186003)(86362001)(82310400004)(33656002)(508600001)(52536014)(54906003)(55016003)(70206006)(70586007)(81166007)(336012);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2022 07:33:40.1698
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0d4ac33a-4506-4ace-833e-08d9db1e0374
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT061.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5636

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMuW5tDHmnIgxOeaXpSAwOjEzDQo+
IFRvOiBXZWkgQ2hlbiA8V2VpLkNoZW5AYXJtLmNvbT4NCj4gQ2M6IEJlcnRyYW5kIE1hcnF1aXMg
PEJlcnRyYW5kLk1hcnF1aXNAYXJtLmNvbT47IHhlbi0NCj4gZGV2ZWxAbGlzdHMueGVucHJvamVj
dC5vcmc7IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc7IGp1bGllbkB4ZW4ub3JnDQo+IFN1YmplY3Q6
IFJlOiBbUEFUQ0ggMDgvMzddIHhlbi94ODY6IGFkZCBkZXRlY3Rpb24gb2YgZGlzY29udGlub3Vz
IG5vZGUNCj4gbWVtb3J5IHJhbmdlDQo+IA0KPiBPbiAyMy4wOS4yMDIxIDE0OjAyLCBXZWkgQ2hl
biB3cm90ZToNCj4gPiBPbmUgTlVNQSBub2RlIG1heSBjb250YWluIHNldmVyYWwgbWVtb3J5IGJs
b2Nrcy4gSW4gY3VycmVudCBYZW4NCj4gPiBjb2RlLCBYZW4gd2lsbCBtYWludGFpbiBhIG5vZGUg
bWVtb3J5IHJhbmdlIGZvciBlYWNoIG5vZGUgdG8gY292ZXINCj4gPiBhbGwgaXRzIG1lbW9yeSBi
bG9ja3MuIEJ1dCBoZXJlIGNvbWVzIHRoZSBwcm9ibGVtLCBpbiB0aGUgZ2FwIG9mDQo+ID4gb25l
IG5vZGUncyB0d28gbWVtb3J5IGJsb2NrcywgaWYgdGhlcmUgYXJlIHNvbWUgbWVtb3J5IGJsb2Nr
cyBkb24ndA0KPiA+IGJlbG9uZyB0byB0aGlzIG5vZGUgKHJlbW90ZSBtZW1vcnkgYmxvY2tzKS4g
VGhpcyBub2RlJ3MgbWVtb3J5IHJhbmdlDQo+ID4gd2lsbCBiZSBleHBhbmRlZCB0byBjb3ZlciB0
aGVzZSByZW1vdGUgbWVtb3J5IGJsb2Nrcy4NCj4gPg0KPiA+IE9uZSBub2RlJ3MgbWVtb3J5IHJh
bmdlIGNvbnRhaW5zIG90aGUgbm9kZXMnIG1lbW9yeSwgdGhpcyBpcyBvYnZpb3VzbHkNCj4gPiBu
b3QgdmVyeSByZWFzb25hYmxlLiBUaGlzIG1lYW5zIGN1cnJlbnQgTlVNQSBjb2RlIG9ubHkgY2Fu
IHN1cHBvcnQNCj4gPiBub2RlIGhhcyBjb250aW5vdXMgbWVtb3J5IGJsb2Nrcy4gSG93ZXZlciwg
b24gYSBwaHlzaWNhbCBtYWNoaW5lLCB0aGUNCj4gPiBhZGRyZXNzZXMgb2YgbXVsdGlwbGUgbm9k
ZXMgY2FuIGJlIGludGVybGVhdmVkLg0KPiA+DQoNCkkgd2lsbCBhZGp1c3QgYWJvdmUgcGFyYWdy
YXBoIHRvOg0KLi4uIFRoaXMgbWVhbnMgY3VycmVudCBOVU1BIGNvZGUgb25seSBjYW4gc3VwcG9y
dCBub2RlIGhhcyBubyBpbnRlcmxhY2VkDQptZW1vcnkgYmxvY2tzLiAuLi4NCg0KPiA+IFNvIGlu
IHRoaXMgcGF0Y2gsIHdlIGFkZCBjb2RlIHRvIGRldGVjdCBkaXNjb250aW5vdXMgbWVtb3J5IGJs
b2Nrcw0KPiA+IGZvciBvbmUgbm9kZS4gTlVNQSBpbml0aWFsaXp0aW9uIHdpbGwgYmUgZmFpbGVk
IGFuZCBlcnJvciBtZXNzYWdlcw0KPiA+IHdpbGwgYmUgcHJpbnRlZCB3aGVuIFhlbiBkZXRlY3Qg
c3VjaCBoYXJkd2FyZSBjb25maWd1cmF0aW9uLg0KDQpJIHdpbGwgYWRqdXN0IGFib3ZlIHBhcmFn
cmFwaCB0bzoNClNvIGluIHRoaXMgcGF0Y2gsIHdlIGFkZCBjb2RlIHRvIGRldGVjdCBpbnRlcmxl
YXZlIG9mIGRpZmZlcmVudCBub2RlcycNCm1lbW9yeSBibG9ja3MuIE5VTUEgaW5pdGlhbGl6YXRp
b24gd2lsbCBiZSAuLi4NCg0KPiANCj4gTHVja2lseSB3aGF0IHlvdSBhY3R1YWxseSBjaGVjayBm
b3IgaXNuJ3QgYXMgc3RyaWN0IGFzICJkaXNjb250aW51b3VzIjoNCj4gV2hhdCB5b3UncmUgYWZ0
ZXIgaXMgbm8gaW50ZXJsZWF2aW5nIG9mIG1lbW9yeS4gQSBzaW5nbGUgbm9kIGNhbiBzdGlsbA0K
PiBoYXZlIG11bHRpcGxlIGRpc2NvbnRpZ3VvdXMgcmFuZ2VzIChhbmQgdGhhdCdsbCBvZnRlbiBi
ZSB0aGUgY2FzZSBvbg0KPiB4ODYpLiBQbGVhc2UgYWRqdXN0IGRlc2NyaXB0aW9uIGFuZCBmdW5j
dGlvbiBuYW1lIGFjY29yZGluZ2x5Lg0KPiANCg0KWWVzLCB3ZSdyZSBjaGVja2luZyBmb3Igbm8g
aW50ZXJsYWNlZCBtZW1vcnkgYW1vbmcgbm9kZXMuIEluIG9uZQ0Kbm9kZSdzIG1lbW9yeSByYW5n
ZSwgdGhlIG1lbW9yeSBibG9jayBzdGlsbCBjYW4gYmUgZGlzY29udGludW91cy4NCg0KSSB3aWxs
IHJlbmFtZSB0aGUgc3ViamVjdCB0bzoNCiJhZGQgZGV0ZWN0aW9uIG9mIGludGVybGFjZWQgbWVt
b3J5IGZvciBkaWZmZXJlbnQgbm9kZXMiDQpBbmQgSSB3b3VsZCByZW5hbWUgaXNfbm9kZV9tZW1v
cnlfY29udGludW91cyB0bzoNCm5vZGVfd2l0aG91dF9pbnRlcmxlYXZlX21lbW9yeS4NCg0KPiA+
IC0tLSBhL3hlbi9hcmNoL3g4Ni9zcmF0LmMNCj4gPiArKysgYi94ZW4vYXJjaC94ODYvc3JhdC5j
DQo+ID4gQEAgLTI3MSw2ICsyNzEsMzYgQEAgYWNwaV9udW1hX3Byb2Nlc3Nvcl9hZmZpbml0eV9p
bml0KGNvbnN0IHN0cnVjdA0KPiBhY3BpX3NyYXRfY3B1X2FmZmluaXR5ICpwYSkNCj4gPiAgCQkg
ICAgICAgcHhtLCBwYS0+YXBpY19pZCwgbm9kZSk7DQo+ID4gIH0NCj4gPg0KPiA+ICsvKg0KPiA+
ICsgKiBDaGVjayB0byBzZWUgaWYgdGhlcmUgYXJlIG90aGVyIG5vZGVzIHdpdGhpbiB0aGlzIG5v
ZGUncyByYW5nZS4NCj4gPiArICogV2UganVzdCBuZWVkIHRvIGNoZWNrIGZ1bGwgY29udGFpbnMg
c2l0dWF0aW9uLiBCZWNhdXNlIG92ZXJsYXBzDQo+ID4gKyAqIGhhdmUgYmVlbiBjaGVja2VkIGJl
Zm9yZSBieSBjb25mbGljdGluZ19tZW1ibGtzLg0KPiA+ICsgKi8NCj4gPiArc3RhdGljIGJvb2wg
X19pbml0IGlzX25vZGVfbWVtb3J5X2NvbnRpbnVvdXMobm9kZWlkX3QgbmlkLA0KPiA+ICsgICAg
cGFkZHJfdCBzdGFydCwgcGFkZHJfdCBlbmQpDQo+IA0KPiBUaGlzIGluZGVudGF0aW9uIHN0eWxl
IGRlbWFuZHMgaW5kZW50aW5nIGxpa2UgLi4uDQo+IA0KDQpPay4NCg0KPiA+ICt7DQo+ID4gKwlu
b2RlaWRfdCBpOw0KPiANCj4gLi4uIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyBhdCBmdW5jdGlvbiBz
Y29wZSwgaS5lLiBpbiBhIExpbnV4LXN0eWxlDQo+IGZpbGUgYnkgYSB0YWIuDQo+IA0KPiA+ICsN
Cj4gPiArCXN0cnVjdCBub2RlICpuZCA9ICZub2Rlc1tuaWRdOw0KPiA+ICsJZm9yX2VhY2hfbm9k
ZV9tYXNrKGksIG1lbW9yeV9ub2Rlc19wYXJzZWQpDQo+IA0KPiBQbGVhc2UgbW92ZSB0aGUgYmxh
bmsgbGluZSB0byBiZSBiZXR3ZWVuIGRlY2xhcmF0aW9ucyBhbmQgc3RhdGVtZW50cy4NCj4gDQo+
IEFsc28gcGxlYXNlIG1ha2UgbmQgcG9pbnRlci10byBjb25zdC4NCg0KT2suDQoNCj4gDQo+ID4g
Kwl7DQo+IA0KPiBJbiBhIExpbnV4LXN0eWxlIGZpbGUgb3BlbmluZyBicmFjZXMgZG8gbm90IGJl
bG9uZyBvbiB0aGVpciBvd24gbGluZXMuDQo+IA0KDQpPay4NCg0KPiA+ICsJCS8qIFNraXAgaXRz
ZWxmICovDQo+ID4gKwkJaWYgKGkgPT0gbmlkKQ0KPiA+ICsJCQljb250aW51ZTsNCj4gPiArDQo+
ID4gKwkJbmQgPSAmbm9kZXNbaV07DQo+ID4gKwkJaWYgKHN0YXJ0IDwgbmQtPnN0YXJ0ICYmIG5k
LT5lbmQgPCBlbmQpDQo+ID4gKwkJew0KPiA+ICsJCQlwcmludGsoS0VSTl9FUlINCj4gPiArCQkJ
ICAgICAgICJOT0RFICV1OiAoJSJQUklwYWRkciItJSJQUklwYWRkciIpIGludGVydHdpbmUNCj4g
d2l0aCBOT0RFICV1ICglIlBSSXBhZGRyIi0lIlBSSXBhZGRyIilcbiIsDQo+IA0KPiBzL2ludGVy
dHdpbmUvaW50ZXJsZWF2ZXMvID8NCg0KWWVzLCBpbnRlcmxlYXZlcy4gSSB3aWxsIGZpeCBpdC4N
Cg0KPiANCj4gPiBAQCAtMzQ0LDYgKzM3NCwxMiBAQCBhY3BpX251bWFfbWVtb3J5X2FmZmluaXR5
X2luaXQoY29uc3Qgc3RydWN0DQo+IGFjcGlfc3JhdF9tZW1fYWZmaW5pdHkgKm1hKQ0KPiA+ICAJ
CQkJbmQtPnN0YXJ0ID0gc3RhcnQ7DQo+ID4gIAkJCWlmIChuZC0+ZW5kIDwgZW5kKQ0KPiA+ICAJ
CQkJbmQtPmVuZCA9IGVuZDsNCj4gPiArDQo+ID4gKwkJCS8qIENoZWNrIHdoZXRoZXIgdGhpcyBy
YW5nZSBjb250YWlucyBtZW1vcnkgZm9yIG90aGVyDQo+IG5vZGVzICovDQo+ID4gKwkJCWlmICgh
aXNfbm9kZV9tZW1vcnlfY29udGludW91cyhub2RlLCBuZC0+c3RhcnQsIG5kLT5lbmQpKQ0KPiB7
DQo+ID4gKwkJCQliYWRfc3JhdCgpOw0KPiA+ICsJCQkJcmV0dXJuOw0KPiA+ICsJCQl9DQo+IA0K
PiBJIHRoaW5rIHRoaXMgY2hlY2sgd291bGQgYmV0dGVyIGNvbWUgYmVmb3JlIG5vZGVzW10gZ2V0
cyB1cGRhdGVkPyBPdG9oDQo+IGJhZF9zcmF0KCkgd2lsbCB6YXAgZXZlcnl0aGluZyBhbnl3YXkg
Li4uDQoNClllcywgd2hlbiBJIHdyb3RlIHRoaXMgY2hlY2ssIEkgY29uc2lkZXJlZCB3aGVuIHRo
ZSBjaGVjayB3YXMgZmFpbGVkLA0KYmFkX3NyYXQgd291bGQgbWFrZSBudW1hIGluaXRpYWxpemF0
aW9uIGJlIGZhaWxlZC4gVGhlIHZhbHVlcyBpbiBub2Rlc1tdDQp3aWxsIG5vdCB0YWtlIGFueSBl
ZmZlY3QuIFNvIEkgZGlkbid0IGFkanVzdCB0aGUgb3JkZXIuIEJ1dCBpZiB0aGUgYmFkX3NyYXQN
CndpbGwgYmUgY2hhbmdlZCBpbiBmdXR1cmUsIGFuZCBub2Rlc1tdIHdpbGwgYmUgdXNlZCBpbiBm
YWxsYmFjayBwcm9ncmVzcywNCnRoaXMgd2lsbCB0YWtlIG1vcmUgZWZmb3J0IHRvIGRlYnVnLiBJ
biB0aGlzIGNhc2UsIEkgYWdyZWUgd2l0aCB5b3UsDQpJIHdpbGwgdXBkYXRlIHRoZSBvcmRlciBp
biBuZXh0IHZlcnNpb24uDQoNClRoYW5rcywNCldlaSBDaGVuDQoNCj4gDQo+IEphbg0KDQo=


From xen-devel-bounces@lists.xenproject.org Wed Jan 19 07:46:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 07:46:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258740.445966 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA5fb-0008FO-Vc; Wed, 19 Jan 2022 07:46:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258740.445966; Wed, 19 Jan 2022 07:46:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA5fb-0008FH-SE; Wed, 19 Jan 2022 07:46:15 +0000
Received: by outflank-mailman (input) for mailman id 258740;
 Wed, 19 Jan 2022 07:46:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uvFD=SD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nA5fa-0008FB-Un
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 07:46:14 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e030eeaa-78fb-11ec-9bbc-9dff3e4ee8c5;
 Wed, 19 Jan 2022 08:46:13 +0100 (CET)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2053.outbound.protection.outlook.com [104.47.13.53]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-24-FrskXjqXNMmYAbRVtPV6GA-1; Wed, 19 Jan 2022 08:46:12 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM7PR04MB6806.eurprd04.prod.outlook.com (2603:10a6:20b:103::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Wed, 19 Jan
 2022 07:46:10 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.014; Wed, 19 Jan 2022
 07:46:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e030eeaa-78fb-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642578373;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=gK2tpSNIlHt8JUBdl8amXvbyMv2LkCQhitl+LQjc0ag=;
	b=TEtzzi3Z+HNDGYCA+uljJN2Hm3MM4xr53O055e6QklsoCotUqq3KaOhR1CZbfu/oNfyMSn
	J5EuVWWpDFfDG2Mj5RQ8nAasCgRM1tvONxp2BpcGpMSSuR4w3bavrYzsFxG6jr0mcLcwRw
	es8LN87+2/f5FmTU9AZUBJdLmvXuCG4=
X-MC-Unique: FrskXjqXNMmYAbRVtPV6GA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KWKBPr+PnfWUjRqDusi+YP4HMfydH5GDttc++5+af1+gt8GBuz1d47BNtee9GY28Wd9o1iNqFb36O06ES0kfQm7JYSA6+NyWrYPfzwRkl6sWzK4xlwEm8RSax/RSyu3lz81mETv65WhBHRbsBfbF+0GW7WMBMftmo5mKU2YcVHy73mTKbHXYa0LhVhkaftjPReJiTwQh2PMZLdo3TnUHGV5h0lPcWaJzAJTHfgae7gCMED/aI+1EMtw4t2FVZNt+5tgStsRjeCcJBgtrubMYcR/2gGINZAzBxeYbfE8gGCoFex4ivYA4Tzv8B0Bb2fe8C2whtP0IpwuSVDxBeXUgIg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gK2tpSNIlHt8JUBdl8amXvbyMv2LkCQhitl+LQjc0ag=;
 b=FisOFqpKisHecGY13zyHJfun2XmRC2Ms2NowkN34BnwW8UfkmE92v/ok9zAcVc10UST5QcF1C80EgtgbIkQt3/TAl/30KIonku9S4r8KwO4V9jMV0XO/QvG6k0EuVqYRfqHWyvx80SG4Ewcj+ia2NBHrAyRd4DR1kJsnNGVAfXYagWE9cuyI01QJbLAfqGay1wrHe9jxB5wy1lhViEXkHAeuWw1fpuhDBy5iOeHdl8VkCXaAeE44RUADJvVzexKfPCQSsiQL/SJj9+6kMgXwrNvY0OyMaJwIKw/WhVCOdYZeBxoBk0IWbw8Zvp6WIG3hO+tQUu1CYrlmaHyo0jWorg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2689b94b-7576-307c-0e2d-edd60354f161@suse.com>
Date: Wed, 19 Jan 2022 08:46:09 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [XEN PATCH v8 27/47] build: grab common EFI source files in arch
 specific dir
Content-Language: en-US
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>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20211125134006.1076646-1-anthony.perard@citrix.com>
 <20211125134006.1076646-28-anthony.perard@citrix.com>
 <57f03aed-c260-1c80-c604-0223d4603b4a@suse.com> <YeafMh0du+5K8YDD@perard>
 <YebpHJk1JIArcdvW@perard>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YebpHJk1JIArcdvW@perard>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR04CA0107.eurprd04.prod.outlook.com
 (2603:10a6:20b:31e::22) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 248246ea-e197-498d-d166-08d9db1fc289
X-MS-TrafficTypeDiagnostic: AM7PR04MB6806:EE_
X-Microsoft-Antispam-PRVS:
	<AM7PR04MB68068241950AC9AAF4C957E0B3599@AM7PR04MB6806.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:
	qdMvkuXx0SVhB5wIl6ft/6DW/4tjxA1FseS0Yu/AIqVPDW9u5y1J8tfWMpmoTz7bX4VybBUvQqQpkBqNETpMGBmkxf7Lr0uW3sFMTmcM3kHEQnkquqVFa5V47VH1r1wBdlsWD1+/weULrtc2V/xQ/YZL5s0ImQ7KFpx0NxJNtLDLmlMPpZsukQycTe/I7W7PezDOBWeQcyGMBEvnaQYjCE7Rg9ipOq93uou/cvbyQwJT/eC76EtWaAF0nMMo3j4jx07m/whRKazJTmT8lY8LBW1uC+XptFuoetL4+SFf2mmXH0YRQTtRyZi+bafZUvJPIVJjxhXxVGuDUt+mNxz5eWKW8ZXQgKl9xjxfN2WodR7EmHX/u/KQsGjsaQdeDAzRr5HOY5F9Wa4e672ON6R1G4hZbCoplZ28z2nMWpmMW8Yvwkfmzb54vXq2PcmeTDqtaVJYhmaPbwdRzAUbrdvnKDRVWDT5MvpxaJkBCvjllcKEFPO6nOxUl+M6MhM10qMmQgG3/0kcifms+6cLvIuyBoRInqsnyJZInzAe188s1JX8DqtoxjWJWbRicNGTn0dGsFzvhtLHlc3m12swtp5ZWVu0H9imHKLVraOi6U48S667zt4wv+79S61gosmtX/p0atSGuyXEhSw2KHABlrqANSHFiFdswC0392ihD9ZuKjQSrJ/Q/Y5Wb0PGQXeTdC1bvQVbqieyMmmQZ8pGJiam1uJh9EKbNBlDNH/od7i2jw5JchyFG4FP+ph9m71LXn+n
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)(6486002)(26005)(4326008)(7416002)(53546011)(6506007)(186003)(5660300002)(36756003)(8936002)(8676002)(2906002)(54906003)(38100700002)(86362001)(6512007)(508600001)(66476007)(2616005)(6916009)(66556008)(66946007)(31696002)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?am9od3ZrM0grNG50VW15MldLc3BhK0NzTFlyTHgxaVNaT3JFcllHdGpqRHF0?=
 =?utf-8?B?UVhES1pkUitpV2F1RmFDZWFLTkR6L20zSlRFNWpNQUR3QXZEeHZzQjR1dm0w?=
 =?utf-8?B?Z1hncVJpREQwa215VVg0TW9MRDhheDc5MTRaT1U0aklsL2ZNZTNxblBSSmZK?=
 =?utf-8?B?bU56cjhSNC8zS1NuMHdJV1JoNTZIUDZxbnNzTUFvK1dNMDBNL0RhMnhXdHh0?=
 =?utf-8?B?YWNZS0gvekRCaGdFSFB0Y1A3Qk4wZUR5cWZ5elJCWW5oa1l3bFR3Y0EyRnc4?=
 =?utf-8?B?Y29ZZlVJN2VNZDh4NEU2T2g5V3Vrb21KU2Q0Sm9YQ2FMamJoYlpiNVZrUEVL?=
 =?utf-8?B?YVNNQURMOTBlcHVaaHEwUFRYL2ova1VkRXk5MS9xd0FqamhZOFJsMUdNa0Nk?=
 =?utf-8?B?b2luV2NFM2NESTlwRmtaeGNVc3RXWDc5a3pSS2s0V25wZEJqa2tYU0xnZTlX?=
 =?utf-8?B?MXlRa0Y4U1plYzVxTnoxSmpqTDVjVUZ3YVoybkZ4Yjc2am80T2hvL3NlY3Jp?=
 =?utf-8?B?MXRFbUFFdDNZNDdTcWhPUXZiSXBRNDNkbnNPYU9yZndjZ0tPN3RLOEQ3Y0tk?=
 =?utf-8?B?cCt6NXUzZHJ1eUJUcDJTZlIrNVVMQTdaajJNVUowd3d5R0hRWlRZVEtLYXBU?=
 =?utf-8?B?SlNYbS9oMWtySG5NOVQwTmpqak1uOEp5Y0hqWVBVdXlHZlk2WDQ2NG10OW9n?=
 =?utf-8?B?RFRIVHNpVENsTWQ5OUlzVHhuVzR6Ums3Q0lkMXZaWnQ2TVg5dDFpZm8yYkVY?=
 =?utf-8?B?OHVGTXM0TjIyRXBRZitGY0hBazU1cDh5MGlIVitsRXVjRlc2Zkp2dDh4bW5D?=
 =?utf-8?B?Y2N5ejFUdWJVSy93VnUzaFhJOHcvSUF5VWJCQkJ3c1BTbDc4aTNSdVpoNzdj?=
 =?utf-8?B?TGExOW5pU3JNbG5oWVRtdjN0ZjFLQjN0OGczZzlEN0V3RnJJMFZSUmhuckU4?=
 =?utf-8?B?dkFUZU5QRzByV3ROMmxvNWNCU3BFNXFRSHBQL0lwcEwyL2dRd0VTdzVXNXIz?=
 =?utf-8?B?WktvZ1IxMFBPWFhQU2xRMFp6UGp3L3RJZmFUUXZtb0c0dDYzQWx1VlJweFZS?=
 =?utf-8?B?SWdPQ0IveTdQVWtLQnZEelhKK0s5WW9LK0h5WDhGeFFSY1EwdDh2emVDL0dL?=
 =?utf-8?B?UDB6M3pBUmhMKzZrYTNFb2hJOFYvRUY3bGxOdjdtblI5RlBUVkM5SnhEeGpO?=
 =?utf-8?B?UGxWZENmdzFDVkpQZzlxdUM5dzZyYk5kaHVvY0tkUnFlS2VvWlJwVzN6Rjd1?=
 =?utf-8?B?UGsxN2U5NXlyNlZadENucndUeUQzRXBDaUZKTEFPQzNMd2I1UHZiSHR2amk4?=
 =?utf-8?B?ZUdqZDZoS3hsa1pBMFFWR0dCcDg3WEtuSXlmamtEL25vaEpaY2hCM3VHOVdm?=
 =?utf-8?B?YU1TS1k0T0ZvMklpTEFmRkMydGpmY1VNNjlQdDdNVWVyZzdHUjQ5VW1jTkVm?=
 =?utf-8?B?N0wxdnRKR2RmbUVINC94QTlLdlMwSkVlU1FpWmM1bFBVdmIvK2l4SnU4MEFH?=
 =?utf-8?B?aFd2d2VyNzVnUzZIYlg4RjhpY05wdDB4L0tualM3MUthcUNoNGdVb1QxZklE?=
 =?utf-8?B?TGdBVC9oeFJ3SHJEbXJ3eVBNOHhsd3hsZk9GbHFvZ0JhVWg3YmN6ejE4ZHhS?=
 =?utf-8?B?WmxLaE9aSnpyYzJTNzFUS1pTZFJuQ0NmQnQwS2lBY1Y0bERzTFJOZnRDRFpt?=
 =?utf-8?B?aG93T1BSRE9OcE5ZMmJIc2ZWQ1JTN3pPMml2enBEWVlGWkJnUWZRUys5Yi90?=
 =?utf-8?B?YnJQSXBJQS9uS2JSSDZXR1N2NlY2a1dJaXZaU2luVW9rVDNhRWFWZjBkdXpi?=
 =?utf-8?B?S3BkS00yQlBLUHdLRW5YVEJMNXNaU1ZTaFoxN2hSaGErOHJ0a0srZVVpUGxn?=
 =?utf-8?B?a3dOWlc3WHhSWGM0UUoreWo0OE9IRHNKTjhjakptUitJMDZoYXNxckx3VnhS?=
 =?utf-8?B?WnViWitiRWdRclpVNGhxTmNKYmh3eGRjblBEckVkZlY0cnRrSm01Y091bFBh?=
 =?utf-8?B?elhQK1FQeDRtSytENzRPYzQybyt0YUZRYmVRV1lDVUlidkNsdlBDKzZvWG4x?=
 =?utf-8?B?cEtyM3c0ZGQvR1EyRXZXa1NxcEpDcHZZZ21qUGhBY1NwUjNPWjBjSTh1TWlE?=
 =?utf-8?B?WGRsSTZwSkU5Y2twT1NuNlh0b1VxQ2swNzc5WEJOV2tNaWpLTmJWT2Z1WVJl?=
 =?utf-8?Q?N40WDg1KC5FptChOVvc7jD0=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 248246ea-e197-498d-d166-08d9db1fc289
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2022 07:46:10.5316
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: T5ypdcXV1eiunctNSgCKcMY4pHc8+g1J71HoTSkDOAkpJxrl3woQbNabF7kk6U6qufXJjnxnhPeTFEOvOY+LpQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB6806

On 18.01.2022 17:21, Anthony PERARD wrote:
> On Tue, Jan 18, 2022 at 11:06:38AM +0000, Anthony PERARD wrote:
>> On Tue, Dec 21, 2021 at 02:53:49PM +0100, Jan Beulich wrote:
>>> On 25.11.2021 14:39, Anthony PERARD wrote:
>>>> +$(obj)/%.c: $(abs_srctree)/common/efi/%.c FORCE
>>>> +	$(Q)ln -nfs $< $@
>>>
>>> Like was the case before, I think it would be better if the links were
>>> relative ones, at least when srctree == objtree (but ideally always).
>>
>> I can give it a try.
> 
> How about:
>     ln -nfs $(subst $(space),/,$(patsubst %,..,$(subst /, ,$(obj))))/$(if $(building_out_of_srctree),source/)common/efi/$(<F) $@
> 
> This will result in the relative path "../../../common/efi/runtime.c"
> for in-tree builds, and "../../../source/common/efi/runtime.c" for
> out-of-tree builds. There's a "source" symlink that can be used which
> point to the source tree when doing out-of-tree builds.
> 
> The part:
>     $(subst $(space),/,$(patsubst %,..,$(subst /, ,$(obj))))
> means that if $(obj) were to be something other than "arch/*/efi", the
> command would still works and give the right number of "../".
> It does this steps to "arch/x86/efi":
>     arch x86 efi
>     .. .. ..
>     ../../..

Looks good to me.

> The added "source/" depends on whether we do out-of-tree build or not.

Well, I guess we're free to add a "source => ." symlink even in the
in-tree build case, deviating slightly from what Linux does? That
would then slightly simplify your construct.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 19 07:50:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 07:50:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258742.445977 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA5jY-0001Gx-J9; Wed, 19 Jan 2022 07:50:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258742.445977; Wed, 19 Jan 2022 07:50:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA5jY-0001Gq-Fy; Wed, 19 Jan 2022 07:50:20 +0000
Received: by outflank-mailman (input) for mailman id 258742;
 Wed, 19 Jan 2022 07:50:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uvFD=SD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nA5jX-0001Gk-DI
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 07:50:19 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 71d3efe4-78fc-11ec-9bbc-9dff3e4ee8c5;
 Wed, 19 Jan 2022 08:50:18 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2110.outbound.protection.outlook.com [104.47.18.110]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-41---kyqnXaNvaFeyveHSGepw-1; Wed, 19 Jan 2022 08:50:16 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM6PR04MB5351.eurprd04.prod.outlook.com (2603:10a6:20b:29::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.10; Wed, 19 Jan
 2022 07:50:15 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.014; Wed, 19 Jan 2022
 07:50:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 71d3efe4-78fc-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642578617;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=PgtqKpFuc92UFqln487rkGHNVxVYGaArOtELtpcxTOM=;
	b=mb8/BGg8GdRLZ4ihyixZEk4qJFQusMb96HNtA9hLmUWFIee1mSOsNJL6t7CmO1PTqhWc3M
	J4YKjQ9NL5LCrzaiX5NBwxEp9SkP5h95f5c21hczNigCwJwLj1QtZ2KJbIcg4TtcDc5yeJ
	LqVsGWGI49RxH3mIDE2ETVt+/upAVS0=
X-MC-Unique: --kyqnXaNvaFeyveHSGepw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XyfbYjWZuhDOoYFtbm/vLtvnjAdjQGwOL/WK8SgwAlVureRK5dmjtU/l+N/vpHMUpopbXSls6uyp38KWPIH6iElpZMeCLkNDuPRCxjVqX308ZoHCjOh0Q/jZX68RGdjosXQi+nKk2WOfNN8RFw8PO30rlClf8joDBL/oOgMFymk390uDdV8nAtp4ICfBWDjJVISLl2+TgFUni+09J2MnrQkfOsQ3n5n879hrSj1dUY4pneMm8I9kybUdlqo+DTwRXz3B0TBVkvMck2L0ewXP7hGlzEWQFhqJD5aBO4gORJp9r6LpNcRUnVo7jFoe0xi4oWq6xaJ3xpltkA+M2aQxfQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cTnud6A1IA2hwuRO4p/GXZP+Kz5qqVc+gGNkYw3vgWo=;
 b=XX5cNzviWxo4Cp4TYPppFzHQPTvJ7j4NKpKhMfg8E2XRMg5YXEZYqr9wbpx6uDOkVTkZmJ743TFjpxl6RMomDlmVpCshNkGdMB6FbSEY8j0UN9az58fQdj+CU6jox2gPQqhxCNGU/NUmTMU9x15529FB0HouLRONsWfFXCAgOZQTsohv4MA8t8jGm80Uhp+KfIANqPFjgOeKP4LPmCMGI2xASz+RHQF4G8/JClm2DO070d8E3RTKdAXwycAqbhG7WiX16Gs7qqgNF8eXUyelr2oznKYszfNkbhoCphZU6rpqwBlPljcB3qNW8rOcLhKwJe8JNyuxa0CEYrbA+ijeeQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <22c2134d-40b2-fd5f-aeec-edabf6151ce5@suse.com>
Date: Wed, 19 Jan 2022 08:50:12 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 04/37] xen: introduce an arch helper for default dma zone
 status
Content-Language: en-US
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: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-5-wei.chen@arm.com>
 <345944c4-78dd-8009-6f64-f9c7901a5497@suse.com>
 <PAXPR08MB7420CD3B7CFB4D2D81019F479E589@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <378fcc9b-abfe-28f2-ee67-f5510e99436c@suse.com>
 <PAXPR08MB7420FE209E822108AB1B41E19E589@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <fd328410-caf0-274e-08b0-f775a6c9a08c@suse.com>
 <PAXPR08MB742030298FE53A7B5AB5D1499E599@PAXPR08MB7420.eurprd08.prod.outlook.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <PAXPR08MB742030298FE53A7B5AB5D1499E599@PAXPR08MB7420.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS8PR04CA0076.eurprd04.prod.outlook.com
 (2603:10a6:20b:313::21) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 12fb2461-e0af-4cbe-3c7c-08d9db205480
X-MS-TrafficTypeDiagnostic: AM6PR04MB5351:EE_
X-Microsoft-Antispam-PRVS:
	<AM6PR04MB5351901293699EC5E9E43B39B3599@AM6PR04MB5351.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:
	9scTcpNVnV1V5xjUHZjRpBP2EN6Bqys/JATtXlCLGV++vZSoDZ9R2QCbe7C8CpH+/PrKbMHPhN7ZXdLqkCRXBDA/VdobM1taAoHO08VJQrnsFv3qGm7yg3x8uQxjrB0DJ3MJqnBL+pQQAajFKX9lQ2LooPv2BVK4ezCi2RiBlrLVcJVV5TT1akuKEJa0WHUoFUDkKInsqbgB+13QdaNvAu3UesqdU+I52mzJj2+CrY5ryXgCSkywIQVBKnFsfpQ5xdPQPCPZGQD5BjsLAuSlwYZAOFLpq0R8HdjwKNJz6KVo2NBPSdHASfKT8JCJgNUaAUHub/p9dUNsOPUtuG1LKzsVzSjSLYppw3/ZB7dJxOufe9Fbn5MYpjZkjVdDYt5WZdd4sdwBgC92aUm5GKOpE4PI488D757QMyns20an0Om6kBwVip7cHeDKQM+BoTmMBhVltQozvTFWG9u97AKpID3naSHdf7wyw+qKTQ0+nsbrIkmN65sxXTPWr+WpvSB2MHvqnUzD3tfeQabiXd/ARvAKb63O7Iio4eBXso8CEW5XfRb5j5nEsC84YqpahiAnp1tkUqiALR72/qKuYP3Cwyhsg0L2V5aVdOyAdWG//7wkgbj/awSmzNH0GIqVmD71BQ6e0snkqYJyHFwY07PBt4JLybDgkoT2SH0ULhp++qbpfpowYpUWDsldA7ZhDsgIcID/R8oyfgZFUb/krrHcUOJEV/dPD1ug+meIGv9fdaEwRmf8DTeJWeEaxltPy26U
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)(6512007)(2616005)(83380400001)(8676002)(8936002)(66946007)(6916009)(66556008)(26005)(66476007)(6666004)(6486002)(5660300002)(38100700002)(2906002)(86362001)(31696002)(36756003)(53546011)(316002)(508600001)(6506007)(186003)(54906003)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?WE4GBgexZz7opydsXr18KkKk15rKR7yu/CBOUWfIPL9pJIvVuhX+htHk1TXr?=
 =?us-ascii?Q?uChg53KOsH6guC63YkispliQHKS7qTIG/pVd8nhJMemEzWLmyacxAgoOH6kM?=
 =?us-ascii?Q?DL3aHwwq8yPYw9jISo3twK7i/K1T6se3uhe1SrpYpQM8Z1WMsMtJ0+Zek7tH?=
 =?us-ascii?Q?9gMJ4yNowFcUUowkLZw1drrXYsO4ub/E09SWI+TUPPeMKBZ6PCBNg/uvuowG?=
 =?us-ascii?Q?irXotMpUf63+guC4AWK4hz5zdMOfTYDNWq9YauciEtT8V5w976AReyBPLQkf?=
 =?us-ascii?Q?az6WbiwFsd9enAsBKcf3380jU7q0tWT73GkNhLNKTmaLETUKqb+qwiJAAxCH?=
 =?us-ascii?Q?Fwp/n3tjN3Ct6HuonismTwv1XCo/a0+QNSajZswHeUqRYTt8Sw61DUXYlBKn?=
 =?us-ascii?Q?LZbhxwjlknLCyU4o8QjAzo+cjtVGgrPJFtvswidPX0EBdvxGcY76gnqm9QaP?=
 =?us-ascii?Q?SJB3IeUwhA+ZhsV6eyrBzDnmnaIHv4Ht4VAM7HLZLp4I0EbU/rZqEr9EfTMi?=
 =?us-ascii?Q?RSHGw0Qg8MASG5ydOuXaMRuP49FMMSSN8JeZPmT0nCSQt5ImlIywjmHyZ33v?=
 =?us-ascii?Q?IWdEXwUjx9AYy/mA5glBNCmkow5oE755ICySrVJ8DK1wcOYH+rlmF7KXAOtk?=
 =?us-ascii?Q?IrXS6yxcxDBJUSglQpPWUaZoV+hmDGzymaQF4uaWBX6kcheY09FE3crncrgy?=
 =?us-ascii?Q?0qxV3Z7YPaKmnJMr23g6XsuKO6RR74BJR939jS2bopzkZhA0MVAPD1cVwqKi?=
 =?us-ascii?Q?mhNCScAj0HxzYSPOdZ5sHhAe29lBILccCIBAvmtQ8U3DebSTC7mx2iqpta4X?=
 =?us-ascii?Q?HRljMo3QZr1GEqNaDJM2daU9uxvPgnYhA+GN29zSPF2HKNeX+gH0uZwJ4kft?=
 =?us-ascii?Q?c97t6AQI4EuyHqIwz1vngN89hN7CEIQNfxPdP0qUMs4FW0ZfhcAvTM0eNMEu?=
 =?us-ascii?Q?Ppa0RcmrrNOTgA6kyq0oFJqpwRCy7ViVzYvuVwcFAYil/wrzpXQIDAcPxIWO?=
 =?us-ascii?Q?bTvCiRJ6wCTekXX8WPgYPbniutR5Q5CWg79ri/4EEf6pRw1Y3hJUnKQKYz7e?=
 =?us-ascii?Q?VSDGZiFu3HilXoAd9Zn98Dkzcd2yXSMd4+8whsp0wQRPUr3a85Ul7YMrqOG5?=
 =?us-ascii?Q?B35a8xP4wYjQ7bmjF0skZ556STtcxYPUkzHtoDSEMoxbeSew/V+AUEhs8zCy?=
 =?us-ascii?Q?OhpP45/CyJQHwP7qLAUqn6yiu6GewrvVwYbXneIpUxUPAFWIzbuYV+stvsgo?=
 =?us-ascii?Q?oXXpd38/Dfy2YSL5Xa6KizAGLfL/1XcWe9CRPq9PSKoSvMz6kcfqmBiOVJ+P?=
 =?us-ascii?Q?odMmNdDRTzlyVzFM8zkoS2IX45jgXaU6fBeVh62q6nElrJQIsg2M45sCkps7?=
 =?us-ascii?Q?c+jYLFd4VC4y6T/0OyBjY4S9+XViHSwSji5HXSGYg7xjMO6B1R6OAr9pgafW?=
 =?us-ascii?Q?L5YTZFAmoufyD6k21/xAJeHJ0DADlf5rKduijqw8MsPN97UyXgsiUs412JAc?=
 =?us-ascii?Q?S+wcHIqaGBB5zc58v07DUF01e5PSrFJ7HD6ggSe0rUX9AapSIiidDIIcUgc6?=
 =?us-ascii?Q?lqCu4Ae9y4yXBVVVWE3/vwnVnNyJcA3QhC0UrVAVHx5ru8CxUopQHTGaFFSp?=
 =?us-ascii?Q?hBATg3XnLKSqoaS62yPVze4=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 12fb2461-e0af-4cbe-3c7c-08d9db205480
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2022 07:50:15.4191
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Pn43WuHpFjFsJRYnd068ClXOhUxWl0DKuAhG59mjVVYIA8cBQ+8dCFneoSdd3aX7Zg0QkxpIw6YjDhjxcYrkLA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB5351

On 19.01.2022 03:49, Wei Chen wrote:
> Hi Jan,
>=20
>> -----Original Message-----
>> From: Jan Beulich <jbeulich@suse.com>
>> Sent: 2022=E5=B9=B41=E6=9C=8818=E6=97=A5 22:16
>> To: Wei Chen <Wei.Chen@arm.com>
>> Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>; xen-
>> devel@lists.xenproject.org; sstabellini@kernel.org; julien@xen.org
>> Subject: Re: [PATCH 04/37] xen: introduce an arch helper for default dma
>> zone status
>>
>> On 18.01.2022 10:20, Wei Chen wrote:
>>>> From: Jan Beulich <jbeulich@suse.com>
>>>> Sent: 2022=E5=B9=B41=E6=9C=8818=E6=97=A5 16:16
>>>>
>>>> On 18.01.2022 08:51, Wei Chen wrote:
>>>>>> From: Jan Beulich <jbeulich@suse.com>
>>>>>> Sent: 2022=E5=B9=B41=E6=9C=8818=E6=97=A5 0:11
>>>>>> On 23.09.2021 14:02, Wei Chen wrote:
>>>>>>> In current code, when Xen is running in a multiple nodes NUMA
>>>>>>> system, it will set dma_bitsize in end_boot_allocator to reserve
>>>>>>> some low address memory for DMA.
>>>>>>>
>>>>>>> There are some x86 implications in current implementation. Becuase
>>>>>>> on x86, memory starts from 0. On a multiple nodes NUMA system, if
>>>>>>> a single node contains the majority or all of the DMA memory. x86
>>>>>>> prefer to give out memory from non-local allocations rather than
>>>>>>> exhausting the DMA memory ranges. Hence x86 use dma_bitsize to set
>>>>>>> aside some largely arbitrary amount memory for DMA memory ranges.
>>>>>>> The allocations from these memory ranges would happen only after
>>>>>>> exhausting all other nodes' memory.
>>>>>>>
>>>>>>> But the implications are not shared across all architectures. For
>>>>>>> example, Arm doesn't have these implications. So in this patch, we
>>>>>>> introduce an arch_have_default_dmazone helper for arch to determine
>>>>>>> that it need to set dma_bitsize for reserve DMA allocations or not.
>>>>>>
>>>>>> How would Arm guarantee availability of memory below a certain
>>>>>> boundary for limited-capability devices? Or is there no need
>>>>>> because there's an assumption that I/O for such devices would
>>>>>> always pass through an IOMMU, lifting address size restrictions?
>>>>>> (I guess in a !PV build on x86 we could also get rid of such a
>>>>>> reservation.)
>>>>>
>>>>> On Arm, we still can have some devices with limited DMA capability.
>>>>> And we also don't force all such devices to use IOMMU. This devices
>>>>> will affect the dma_bitsize. Like RPi platform, it sets its
>> dma_bitsize
>>>>> to 30. But in multiple NUMA nodes system, Arm doesn't have a default
>>>>> DMA zone. Multiple nodes is not a constraint on dma_bitsize. And some
>>>>> previous discussions are placed here [1].
>>>>
>>>> I'm afraid that doesn't give me more clues. For example, in the mail
>>>> being replied to there I find "That means, only first 4GB memory can
>>>> be used for DMA." Yet that's not an implication from setting
>>>> dma_bitsize. DMA is fine to occur to any address. The special address
>>>> range is being held back in case in particular Dom0 is in need of such
>>>> a range to perform I/O to _some_ devices.
>>>
>>> I am sorry that my last reply hasn't given you more clues. On Arm, only
>>> Dom0 can have DMA without IOMMU. So when we allocate memory for Dom0,
>>> we're trying to allocate memory under 4GB or in the range of dma_bitsiz=
e
>>> indicated. I think these operations meet your above Dom0 special addres=
s
>>> range description. As we have already allocated memory for DMA, so I
>>> think we don't need a DMA zone in page allocation. I am not sure is tha=
t
>>> answers your earlier question?
>>
>> I view all of this as flawed, or as a workaround at best. Xen shouldn't
>> make assumptions on what Dom0 may need. Instead Dom0 should make
>> arrangements such that it can do I/O to/from all devices of interest.
>> This may involve arranging for address restricted buffers. And for this
>> to be possible, Xen would need to have available some suitable memory.
>> I understand this is complicated by the fact that despite being HVM-like=
,
>> due to the lack of an IOMMU in front of certain devices address
>> restrictions on Dom0 address space alone (i.e. without any Xen
>> involvement) won't help ...
>>
>=20
> I agree with you that the current implementation is probably the best
> kind of workaround. Do you have some suggestions for this patch to
> address above comments? Or should I just need to modify the commit log
> to contain some of our above discussions?

Extending the description is my primary request, or else we may end up
having the same discussion every time you submit a new version. As to
improving the situation such that preferably per-arch customization
wouldn't be necessary - that's perhaps better to be thought about by
Arm folks. Otoh, as said, an x86 build with CONFIG_PV=3Dn could probably
leverage the new hook to actually not trigger reservation.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 19 07:55:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 07:55:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258745.445988 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA5oO-0001um-9L; Wed, 19 Jan 2022 07:55:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258745.445988; Wed, 19 Jan 2022 07: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 1nA5oO-0001uf-4Z; Wed, 19 Jan 2022 07:55:20 +0000
Received: by outflank-mailman (input) for mailman id 258745;
 Wed, 19 Jan 2022 07:55:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uvFD=SD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nA5oM-0001uZ-R6
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 07:55:18 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2469ccc1-78fd-11ec-a115-11989b9578b4;
 Wed, 19 Jan 2022 08:55:17 +0100 (CET)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2058.outbound.protection.outlook.com [104.47.0.58]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-40-QQzdclr-OGymXoceOJXJ3A-1; Wed, 19 Jan 2022 08:55:16 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VE1PR04MB7326.eurprd04.prod.outlook.com (2603:10a6:800:1b0::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.9; Wed, 19 Jan
 2022 07:55:14 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.014; Wed, 19 Jan 2022
 07:55:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2469ccc1-78fd-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642578917;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=TgIVQs2ZRoecTaGNepQSlgSTzmAbFdZ7Jcw93DOtC5A=;
	b=kd3at8EUThjZjHB5MAdXtiC1m5a5BpIQw/OCceBgs8Wrmbjiw/xJrk8GBK/oT3xbcT6ECd
	/GLPbuylsYeE1Mv91qgmZk67i3q6e28e2rTS0GI1SSaOJtdA5mk/Tkf75Yl+R9PgwPgG1n
	/hmzDJWOxV0Ew9jHq9UIr+rsj92oIXM=
X-MC-Unique: QQzdclr-OGymXoceOJXJ3A-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UqXqdrS1rvzx6iXRfN+wx+IwFuCMOVWooaXNzdTf4keGkvJuhPr24NlqYtJMFs2tuCw8xoi4DK4t6T83jwji1By0qWOExFLXuH30wUYD6I7A/6PkYC9UP0yrRJBt/dY3cBdeCCTt+BeJ9Lk6gRjVHFsoxwDXj33RuHNeTHefZO0Uv+FzWDr8vtIjhmsLKUxwJIKECptxLt7UMktRhnkmeQDwEPCJCqJVeBKU3CXG4Z78fdN+uq8U+k83JzYfJOKaKIZC/TGMjg4hqSG87ckJ9y0eURBYuHHNDBUUk72ACeAg+auJmKdnlTI/3cQ6FY4rWB0EGKxvqjOLso/Z1cHz4w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=g0U6oOn6KRiFjOO6BAnB7j0SDUpwov2umluK7tI/wD0=;
 b=n5OGIa5oe31GrWYNLemRK+zRiX/wYr6ZJutIH01YUK6orrjRXX8TNg5sADQvTPfeAA40nxZEKtwcyyH/6H9l5LY6UzZOliWrbt5qFkTyfcUwrJlhmxl+l5YXpwZEj6pVSh21E2DPz1V3iOYl0KnA8R2Rb/PRtoy/3ncsBlk6fKvwNei7a8of+IsJXuA+fjKMET+LlPOjftEfbxYEF9uMqyQwUqm1u7YRT/F29kklkfrrrY3Pp6F4VlgitYxjb+1lGvcx1wm2atXyZAU1t4wH1gEpYoAsk9cZQt4Wl2O3jFHD7v+xvMH+B/a6rSl/NLXdY7fpBn48fs1e2I5/X45phA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f712c0b8-d539-9121-cb23-28954280b57c@suse.com>
Date: Wed, 19 Jan 2022 08:55:13 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 07/37] xen/x86: use paddr_t for addresses in NUMA node
 structure
Content-Language: en-US
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: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-8-wei.chen@arm.com>
 <a1d96556-5da4-0c73-0d87-f24758866d7d@suse.com>
 <PAXPR08MB7420654893AFC5E9941C398A9E599@PAXPR08MB7420.eurprd08.prod.outlook.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <PAXPR08MB7420654893AFC5E9941C398A9E599@PAXPR08MB7420.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS9P194CA0005.EURP194.PROD.OUTLOOK.COM
 (2603:10a6:20b:46d::13) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 03995e4b-f926-4909-4893-08d9db2106d0
X-MS-TrafficTypeDiagnostic: VE1PR04MB7326:EE_
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB7326027E2403C9B0645A73AFB3599@VE1PR04MB7326.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:
	UZwjNezB5P3ZpZyNZtJflEUC8G00hwNTU5Qf591moEUZ915plDj33vnF5pmSQmEqXBxJlAEjKV+dGax8MMuhvmRucpaIysQawqSkXRX5TK/wL3DgdFPY1gBqDofsZ9Tsg0r9gxjSojxYLEMttlr0IyZi0wrILvOy0ijtN9xn30WHl0n4UZD0AsoO3Z7a3wt7hkwTKwElPPXdnEghZ7wTf1rENv0xdYaaw/CN1tf5XLfeguwbM9fRyukYHGOyfoV+YivwStaHYI4WW2wiQy1kEj6PW1PCU4TEYMjz401vLXW0D1pDUojCNk4MsXuBSyKj6T5UNVxMDqs5HutDxicjisYIk4ypgwWjGtYdC7Jht2R69c3rkBXdEFJecWHW65kIVRzuZ0qDBFj/827d7YVLiBKZPWF+eBAl1THV+kUJEc+T/a5kbD+4xyNyq2kgdmZcAAu96/fWKyza5nINc7iV++ZQXYbtVfroY+3uxjum1T6UKNMhq/0l7AzfTk/huBEHfk9kEy6ZP6hLCz9Y12t82n3mXiHY3QM/UTQHSB428n494SKlP1TEc8c1f/KbPoxSFdyuGw2iuDSaTPkYJuOoIRuRrz19JkbDwtxHwWOj/VMorD8+fri/bxXsiez6bTBFcyiGNNOw+mQE1zHJVeX3qB7BEFD9/F2n/U2Epr5l4tfadPQnV5IGQVrRXyKCeikb+FWpHEy60PlWKYGmU8mkh7uJAG3oG6yuiHpWPGFOisc8D9JPCI7jtGhy+VDXBBR+
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)(38100700002)(36756003)(5660300002)(6506007)(8936002)(508600001)(6916009)(8676002)(6486002)(2616005)(53546011)(31686004)(66946007)(86362001)(186003)(2906002)(66556008)(54906003)(26005)(66476007)(4326008)(316002)(83380400001)(6512007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?3sWVjogDWfKUxYh94DmhjVgL6S+8nMsBTfZkOorcbsUxiQajsHM0SGDGD/Gx?=
 =?us-ascii?Q?UgnLhAYLkyeztl2ibgcT0QtpFar/4CdXCK9LyaGCGHVc/5Edo6za05YHtSqW?=
 =?us-ascii?Q?QHbCqTcXpA8C8heewBpPSZKj1PhmEeEGDOqFMnDC5N5LH94nntsCLkW4RlKJ?=
 =?us-ascii?Q?RN9I6fwJIRxu4OjPd0effUsyXbF4ZRuBYJo2mneaNSNhZzVVfxjsMhZJ2TcH?=
 =?us-ascii?Q?oJ9US2/gF4SkTruvsSCyDxOvAhWAmaHGpOo2n07eLC/7RgVW3lhj3EAtjTFU?=
 =?us-ascii?Q?jm4LLsiFIkiX2PqtgMv97nNhhj+34iv8nZSC9KW8Owfti+SmhJjs9FIUB1vY?=
 =?us-ascii?Q?HKyvlJ1+S2xkpZ1/p/l/kA165FPAL6EJi8H1pKV/2t4OZ3+2BCsWNqphsiya?=
 =?us-ascii?Q?yt+4mhTypWpaMzJbyVyhyklQQ0EdPB7FZDxN92skvhXoE8tN3PHHeBHe9fZh?=
 =?us-ascii?Q?JOq9dZpeokLwfJISadibb94UuWFLly7wYjgqJA4xIUE4qdvor8i2gTxqiX70?=
 =?us-ascii?Q?mPkVWqcxvSqFSTN/NO3U+5YJwRFXcBr8cwoiwjw5xMpfrtx1ozREZ75wkgbc?=
 =?us-ascii?Q?0BUUmLI+/CCBwm76e/4yLWoijUZg1ybe/emq4UEOpFQjGQdGHS2zhj70mD5A?=
 =?us-ascii?Q?xR+8iHPyArNNSgT14y3OmI2t6qT7xLCAWA0BYy2T6/lL3kcw8adPuhQ7FVzz?=
 =?us-ascii?Q?739Qj6eaP7o2bGSVTK60BvUZv22Cumu/sIJGmcEe3WJ0wKlvDC5DTwtt9hG5?=
 =?us-ascii?Q?dSLXJ7S+UU1oBx/OweYLm6ZhhpB22AoPGPrFZwOO1No+t2lxXsyBKxU48vOK?=
 =?us-ascii?Q?aIDMpWqFpeB3meHzVA7Krgm+7Wbpcd8qH2YywsNkWWI7+UdUZa2UDToXJAV1?=
 =?us-ascii?Q?VtAdk/6/YlM5soyO6+vFec0N19+xw0xMKeNVOLAc4eYB4tqAPUeth0zqSnHD?=
 =?us-ascii?Q?n05DXg09zZJx3Hk9Ae7UKiMvfOxO8SkNH8BFi3ePcPQIzSb1Sm60UTu+uE1D?=
 =?us-ascii?Q?4pwZVTRlCeJdF1dsnVuKukZV/1NfNbu6yiSEAdyy3QMdKQ6se1zmvP54dsi4?=
 =?us-ascii?Q?au5TCcsQsbtKSCmuQ01u1BXCSCPRfpuLXIQXZJaw10T2LcLCr8SazkWCEB6w?=
 =?us-ascii?Q?em6gM+/iwIR4kd1yndqt4ukr8q6TCoyYSRjHUW5hZCdMHGyAt5fVyR8RXTz5?=
 =?us-ascii?Q?X3/uLaekGSRCvc5UR+mBuaGr60dNPxkObfF3IsD7RJsuDRgkHMWvAk0tcbI9?=
 =?us-ascii?Q?9qpPMhJM+LV8uCga/eaKxscGxkUFXUXLEX0ZfU5dUYyIhV6Qv9lCYrO8yGe5?=
 =?us-ascii?Q?4Xzquth7/+KKXNVcS/MC8ZDiymW4UwkF/ATSzldzRHsRh5VDbPY/ll0a5xFm?=
 =?us-ascii?Q?o4PKLNK1SrzDCoWz6ksYnMayJCeTji+a137qCVe/j5c82h2XfngjHO6sXCu0?=
 =?us-ascii?Q?c4E1uH0gTde2gxAn2BHoNXiXd9t66FEJNmBDd6Gc2Ig5+JuzJCnw3Jqmhi3E?=
 =?us-ascii?Q?8vX7Nq8MXs1y0Y79r9rhA+Gd0vttcfmeRGRmKalB7BA4/GlCyU7Qbt7N23K6?=
 =?us-ascii?Q?eaQYKHRUToUdM7jqhOlno8me3IoDDY3j7V2mXUJHlaWQqi3426W04F8G/Nn+?=
 =?us-ascii?Q?s2yS7HK+qzAoR7NDA7CC0gQ=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 03995e4b-f926-4909-4893-08d9db2106d0
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2022 07:55:14.5672
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6bE7kLFa6THmnt1ynWtX+p5qbaUhjspan3QtsCmTVQBClfs7clSPaoDan1BJ+fOT6Z26cruz4R1FOLprwnXrBg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7326

On 19.01.2022 07:33, Wei Chen wrote:
>> From: Jan Beulich <jbeulich@suse.com>
>> Sent: 2022=E5=B9=B41=E6=9C=8818=E6=97=A5 23:23
>>
>> On 23.09.2021 14:02, Wei Chen wrote:
>>> @@ -249,24 +250,26 @@ static int __init numa_emulation(u64 start_pfn,
>> u64 end_pfn)
>>>  void __init numa_initmem_init(unsigned long start_pfn, unsigned long
>> end_pfn)
>>>  {
>>>      int i;
>>> +    paddr_t start, end;
>>>
>>>  #ifdef CONFIG_NUMA_EMU
>>>      if ( numa_fake && !numa_emulation(start_pfn, end_pfn) )
>>>          return;
>>>  #endif
>>>
>>> +    start =3D pfn_to_paddr(start_pfn);
>>> +    end =3D pfn_to_paddr(end_pfn);
>>
>> Nit: Would be slightly neater if these were the initializers of the
>> variables.
>=20
> But if this function returns in numa_fake && !numa_emulation,
> will the two pfn_to_paddr operations be waste?

And what harm would that do?

>>> @@ -441,7 +441,7 @@ void __init srat_parse_regions(u64 addr)
>>>  	    acpi_table_parse(ACPI_SIG_SRAT, acpi_parse_srat))
>>>  		return;
>>>
>>> -	srat_region_mask =3D pdx_init_mask(addr);
>>> +	srat_region_mask =3D pdx_init_mask((u64)addr);
>>
>> I don't see the need for a cast here.
>>
>=20
> current addr type has been changed to paddr_t, but pdx_init_mask
> accept parameter type is u64. I know paddr_t is a typedef of
> u64 on Arm64/32, or unsinged long on x86. In current stage,
> their machine byte-lengths are the same. But in case of future
> changes I think an explicit case here maybe better?=20

It may only ever be an up-cast, yet the compiler would do a widening
conversion (according to the usual type conversion rules) for us
anyway no matter whether there's a cast. Down-casts (in the general
compiler case, i.e. considering a wider set than just gcc and clang)
sometimes need making explicit to silence compiler warnings about
truncation, but I've not observed any compiler warning when widening
values.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 19 08:01:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 08:01:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258752.445999 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA5u1-0003rb-2q; Wed, 19 Jan 2022 08:01:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258752.445999; Wed, 19 Jan 2022 08: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 1nA5u0-0003rU-W4; Wed, 19 Jan 2022 08:01:08 +0000
Received: by outflank-mailman (input) for mailman id 258752;
 Wed, 19 Jan 2022 08:01:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uvFD=SD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nA5u0-0003rO-6i
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 08:01:08 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f498ac65-78fd-11ec-9bbc-9dff3e4ee8c5;
 Wed, 19 Jan 2022 09:01:07 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2110.outbound.protection.outlook.com [104.47.18.110]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-37-aFHZw4pAN9CtAye-ixSSwg-1; Wed, 19 Jan 2022 09:01:05 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4189.eurprd04.prod.outlook.com (2603:10a6:803:3d::26)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.10; Wed, 19 Jan
 2022 08:01:03 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.014; Wed, 19 Jan 2022
 08:01:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f498ac65-78fd-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642579266;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=+FtF9TJjmzIV8qT2rKaIME+8pKJBchWwwz0fT/555Xw=;
	b=dmWwt8D53+lefDyM3MCqfetYEAVCHCM4wIfblWncrfdndbyMAnH1sOuf4Ou+1tVfaNS2lp
	yK+rRkuuPRC/vJS/WPU/ZZgSE487mPN5c+KkxGQw6Mrszez75DFCkGTI2YDnMHRnEZvKfm
	H7Wzp/0WlIs3o+em68U4cSspMUOL4as=
X-MC-Unique: aFHZw4pAN9CtAye-ixSSwg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hAfOTZ7Egh3rzKn4rR3p/b/2RjseSAV10fhj72sHxZI7N/cRrsY2i0a6HNlDtHuFqKdQqy4pbceNoeawhsa+V90bPQZa0v9E+LekG9br8H8weOftkIDA1FIeFYfi3hpaVOxRqLxZEBl6hmhSWobqOZWcUm1pFPvggUwpN7eimSqOJmhm1pmvRTsGKAXg9Z846K1NukPGaBJBZDd3OyNovvYpqTNbMD/fIh0aNT8x0oFAJVgp/PakmmpwgLVEW6f/qQr1v0/C2d3Axw5jFJoRJqMZsi4nfQKQFMlyC2FwlC0o5/rhyCOMfQmj0c32+gXQDcH6rY9d1qXSCtRVoMuiWw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=r34Yo6NQ4MAu+j7w5zvsrNHhgIa89o6u00DxsWPYDoU=;
 b=m6/ChCPHKohU2jimQ+TkAioX8APhVQ/MDHI0vzvFOiry9m/hWUILSUnFyhuBXxqZ9lbd4eKkGBcYOvhvY03jxLJdjNywj3wOJY+BKi+RZOMMz0kEHLQ1G2spW8SewfjFvKgkNbZ4oT0lHKaekbR+MmNvwjCmoXjUinXhn854CPmLJQu7qoDQck294g7i92byp3lCp40kcyRfJ3nlufInaNxuF0j+N/rykYudFDyrwxVJindrHF1U5UMDKzC+ntoTQ2VyF03p47ZMbrX8kry0qBgpvCAtVANN30XgAD1PSF3YE0kSB0TWZLzqT58heJRquYgi8Ae9xlmhH67zFUKkQQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ee91673b-9bbf-c4fa-583d-a080f5f5426d@suse.com>
Date: Wed, 19 Jan 2022 09:01:02 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 08/37] xen/x86: add detection of discontinous node memory
 range
Content-Language: en-US
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: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-9-wei.chen@arm.com>
 <3fe681fa-d01f-d5df-23f2-6c6d8089fd8a@suse.com>
 <PAXPR08MB74209486B9983A392AB66E059E599@PAXPR08MB7420.eurprd08.prod.outlook.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <PAXPR08MB74209486B9983A392AB66E059E599@PAXPR08MB7420.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM5PR0202CA0009.eurprd02.prod.outlook.com
 (2603:10a6:203:69::19) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 099cc534-8e8a-4b2c-1026-08d9db21d695
X-MS-TrafficTypeDiagnostic: VI1PR04MB4189:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB418990474EC19B34D9CF3D27B3599@VI1PR04MB4189.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:
	QTDIxHPnqEjfnQKUJcrS/o2RtjcjRiGFpNJgieCQOV4TQ6aJ4EfiTg9tyweUI3rUay/6oiCpVYr5UNs2mqa0+OvNQRuMEYcYnpfiwPbT078WT7Dc4qT2qZenEW2Yqn/oKETwwjbyFSRCp32hfLamKrsKVyhOBIg1xgatWvVeJLwS1f1MvaZdMmlWHYbo8v2w3Yc7xI+HKyqRXQBGZpk3kBSq87l64KFSk9aJ4E+MKA9Vh/zyruHGmrER97qcDR1qWFIyOpEyjdOT+hkkraIunxSKkVs+83dkZRA/zd8tCsLezCAVxWcRr7w2KD7I/b8mjbGegkwYpei6i3Zk1DUOLFpXlFxqVT5jN9DyJgFwCQ5IoF0jX3AXWoMESow1fG0qcPH2moAo1TeUsDk9gCLRC4b4C8zjGq84AfFdfNqls/Bh5slufZkUivxOMwnvNi0CrleeIziZVSwanSgW61VJHvMKdppDPQP5yQsFB5E2F4W5MC4kNwCBgPMdl2bMirCII5gVHlgpF5MEOGVdKPUn5+dSbx5crejUuC8uyIgHNxzgfUAx5DmxNKtMWZxEAkiI/nGUCY/BZMdZcf5/28wVB/W4qx7MjQwNX5mfode9v6QI4mROGQ/zJWVmtXcr2uRWikwL1tzHTwNkNsNTw5NfJwmwc0KNAqTVK45ViaWEaIhFFievU5ublbmw4fl+udKz6tzr9KFTpne7svwlIoH61nAG1yQHn3inr5QXUysS5KAWrRGQ7jqFnX4npFrFT8y2
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)(2906002)(4326008)(2616005)(6916009)(316002)(8936002)(54906003)(36756003)(6506007)(508600001)(6486002)(31686004)(8676002)(5660300002)(26005)(6512007)(53546011)(186003)(38100700002)(66556008)(31696002)(86362001)(66946007)(66476007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?/D6m1GH4/4Mf6ag2zjV7yA7BvfmiWJY1h6wiBpwzdK44j3hbpQBJpnIY5XmI?=
 =?us-ascii?Q?RQE+vS5c27KBaG26M5gHkk0HTXSDF/CTHVlhAwYunlxxnXbhuB0f3JSmMyxT?=
 =?us-ascii?Q?FFBd60+dKWlxXht9sbavDejz36XCCNhAlSOyYzL/gOaHA9O6RWNjyecasd3Y?=
 =?us-ascii?Q?SWUoGwWgGVd+mPpoJ/ZvZy45iUf4EmXzIGkkgQPOtFMpYapByx9zUwSwte0q?=
 =?us-ascii?Q?Z28h642h9l9TpzourmFcpZnseO0rtTXSkFyEQXjrY6zlFWVeK/X0bpeaLb5H?=
 =?us-ascii?Q?HrziK39uKyLhxz/ikzI3N8bl8A3KLdVjof/oh89X6/vUTPmXFTEx5/oNk7ZR?=
 =?us-ascii?Q?HDCG3S/wM0yXQx/qwCBg/9gW0+Vs0aDkw2vL190/h0JSnCLh+soXP8vsgUNK?=
 =?us-ascii?Q?M3wcjZkAIswZSRU7Y0VUUhnw4r1DNohye7Gdn5XDYICsmhJxNuvu6KuEHyfA?=
 =?us-ascii?Q?BtztBVtq+AvWdYFeuRQcExLqSWqSzjMtYGTfWqa+mIKuJxiPBlNskVM2UB+w?=
 =?us-ascii?Q?4YNTG/C8vO2lNBHRa4BJGhMQukzqJjcQKWV2ru9ga4LjDyEW8CA3erfUMQQe?=
 =?us-ascii?Q?EtUI8xgOO4UmBRgyUC4mtQOtOkC/UDx/DqtyrLv8U0GQxJshhrwZJOo/vz6O?=
 =?us-ascii?Q?N57FsddYcXypJdd4oD4zqKpbF/ZeznBLJdSa86OzOhxGGeTWzpYtqy3ZXbU0?=
 =?us-ascii?Q?G5mLwYpkwE5Amq3sJyYhyFECi05cWKFO2sF/MCYyTFYyRBRF1cIhSkck2zFk?=
 =?us-ascii?Q?jOayIT5DdqolxPX8wXT+UfISFOmNPeSgRS9kYbr2h/e9L/fow8R3J/+rAhkt?=
 =?us-ascii?Q?9/qymqrNdBBQxQtqISsvSmcbpqLRfVtlQiZYqG5jRzJnwxqXhm/0qUQIxhwa?=
 =?us-ascii?Q?eRvNFR1F/Exl5fDG7CFrZdvS/UB+yH6rpM6HT1//zgySPIMqr3FX8wM+eTR4?=
 =?us-ascii?Q?R1xn3XCpUDH7IMh30rABTJ8G60vOZdvrPCqfzdoxEZfCcNhC424dsExHT7Zb?=
 =?us-ascii?Q?LdgX2HfY0vCrtUptjc4z9b3xoREH5vjxAUoqDipIUm9QfTe3hg8XZngQ2QZA?=
 =?us-ascii?Q?38IJOVPzkH8OsxP412oUrpocmDVyfX0lumgJqge7vlrDlTOZL6xj4WEB4ZNX?=
 =?us-ascii?Q?nicyZPxpKctgVTtiX6Cyz12if9XKWTDKWETiqfHhRsP986GT3Nolbl27dez3?=
 =?us-ascii?Q?CWZc77wtKZajEnqIohZvF/fIyUmvoguIDJTKn4xEwAfpM3kihQPF0M+gEK4j?=
 =?us-ascii?Q?tGHotdQBwzAaEzRgpyDGVAPMtI9c1mkzBQqQTHLGhhYd64zzvPblZc8tg4nT?=
 =?us-ascii?Q?qc8meVZFcWwGbH59jXAmzK/zLixvmiEPsuIN79HnHQfLOSX6sdoPypWZfS8f?=
 =?us-ascii?Q?XiNL7dPFADpo2xo1ESxHh8d059cwW9ldFMIwLR682S6F15bTzwyYny5TycVD?=
 =?us-ascii?Q?C8Fs1sbXbMLM3ccJOkeqy4i+iSFPtnIVWg6fyUDbeGHShWtAQZcECkYzfnX4?=
 =?us-ascii?Q?xVOVQK6WaFZpnngiI7uJRiOTpkMmA7eE6zAYMiWMdHwj111BP3+mJEOZL0s3?=
 =?us-ascii?Q?+Y4uGNUGiar32Nt55d6wSCJ9llVrvXSXOn8etGIGJMIlFNB9diVl36KEeRZt?=
 =?us-ascii?Q?8t10trebClzNkeykEHOFQro=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 099cc534-8e8a-4b2c-1026-08d9db21d695
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2022 08:01:03.1521
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: hvEEtJ1rqL0dpA0YsAzIcyoTJvB99oBtSvGxn0LyokE3TSwoImDr2ZD4lg0OxuGAb4s3COAxbzUkWYtKb6RcyA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4189

On 19.01.2022 08:33, Wei Chen wrote:
>> From: Jan Beulich <jbeulich@suse.com>
>> Sent: 2022=E5=B9=B41=E6=9C=8819=E6=97=A5 0:13
>>
>> On 23.09.2021 14:02, Wei Chen wrote:
>>> One NUMA node may contain several memory blocks. In current Xen
>>> code, Xen will maintain a node memory range for each node to cover
>>> all its memory blocks. But here comes the problem, in the gap of
>>> one node's two memory blocks, if there are some memory blocks don't
>>> belong to this node (remote memory blocks). This node's memory range
>>> will be expanded to cover these remote memory blocks.
>>>
>>> One node's memory range contains othe nodes' memory, this is obviously
>>> not very reasonable. This means current NUMA code only can support
>>> node has continous memory blocks. However, on a physical machine, the
>>> addresses of multiple nodes can be interleaved.
>>>
>=20
> I will adjust above paragraph to:
> ... This means current NUMA code only can support node has no interlaced
> memory blocks. ...
>=20
>>> So in this patch, we add code to detect discontinous memory blocks
>>> for one node. NUMA initializtion will be failed and error messages
>>> will be printed when Xen detect such hardware configuration.
>=20
> I will adjust above paragraph to:
> So in this patch, we add code to detect interleave of different nodes'
> memory blocks. NUMA initialization will be ...

Taking just this part of your reply (the issue continues later), may I
ask that you use a consistent term throughout this single patch? Mixing
"interlace" and "interleave" like you do may make people wonder whether
the two are intended to express slightly different aspects. Personally,
as per my suggestion, I'd prefer "interleave", but I'm not a native
speaker.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 19 08:24:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 08:24:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258756.446010 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA6Go-0006Qd-66; Wed, 19 Jan 2022 08:24:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258756.446010; Wed, 19 Jan 2022 08:24:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA6Go-0006QW-1T; Wed, 19 Jan 2022 08:24:42 +0000
Received: by outflank-mailman (input) for mailman id 258756;
 Wed, 19 Jan 2022 08:24:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=CaTf=SD=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1nA6Gm-0006QQ-Ln
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 08:24:41 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on061a.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::61a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3dbaad90-7901-11ec-9bbc-9dff3e4ee8c5;
 Wed, 19 Jan 2022 09:24:38 +0100 (CET)
Received: from DB6PR0501CA0031.eurprd05.prod.outlook.com (2603:10a6:4:67::17)
 by HE1PR0802MB2217.eurprd08.prod.outlook.com (2603:10a6:3:c4::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.7; Wed, 19 Jan
 2022 08:24:26 +0000
Received: from DB5EUR03FT031.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:67:cafe::8e) by DB6PR0501CA0031.outlook.office365.com
 (2603:10a6:4:67::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.8 via Frontend
 Transport; Wed, 19 Jan 2022 08:24:26 +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.4888.9 via Frontend Transport; Wed, 19 Jan 2022 08:24:25 +0000
Received: ("Tessian outbound 1f399c739551:v113");
 Wed, 19 Jan 2022 08:24:25 +0000
Received: from 5894f04a59d0.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 57931595-5B60-47F0-88EA-0F89CE9CB624.1; 
 Wed, 19 Jan 2022 08:24:15 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 5894f04a59d0.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 19 Jan 2022 08:24:15 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by DBBPR08MB6236.eurprd08.prod.outlook.com (2603:10a6:10:20c::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Wed, 19 Jan
 2022 08:24:13 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0%6]) with mapi id 15.20.4888.013; Wed, 19 Jan 2022
 08:24:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3dbaad90-7901-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pJPq4LA+48QB9n3yPWRQlfEKr37PxNYKSCHYHSgRDCk=;
 b=NsqqaWpTLLKZLnpxmCr3butyCu6gL3cQRrva2/aUhnTHtd8A3EKvaSupfXPxbHV0N9jgEZQPQAqQYqovJxlRkRALy3MaKh4rq/fb2sr/JEy+e+wQDyZJuYG18HcUOToQc5V8MDswMe8AOrvijAnFnGuNMDw+gwuJZJ9lXD/FASE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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=erfniPX4O+Y+ayoV3I65hQNYcHL+P0FsfXqm/qRHIviFe7PpKn5n63duCapzP5bpY8CbegCG+gFcquD6m8oI/TGGei0ZwpHJyUxEfJoBnJwCBrYsd1MZFu01s6zGEi5NOQl8v0BMQF6ltb2dSfUgzjVjNkEF7UKhFnrE5uwJlZWGQms7ETeBkTXBzUXhO8BGK+at4Bv8Z+VRXizpynRFPX6s9np1f8nFM2RhcfUywckZgNYZFsgS4CrLfU/lsC2IdelA4j6/W2JETxTI0azCUr1nW1rgWgmJEmb8u7B+61x1YUyIHvxhVtMvPTcGhqSiy6WSzHbkIboy55bcJUtbzw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pJPq4LA+48QB9n3yPWRQlfEKr37PxNYKSCHYHSgRDCk=;
 b=c7AQRCMQEemMr+Z2Z+x9X09q7MFDiFMy3Yjbcn3o1d4mbPoUiCPAW4JiDbuyC0pUJrF6zJgz/sG+zDHmp81M7k140epK4ig4u+HEix7K0hqrIZ5Buho8MHFIj8/pXVOG3FFsVvVhj9nnFWamcHAciSeLmFII1iMvEO9/d5jtMn/RIDDhk9KII8TsE6Famke2RRcavrDYRhr5wiYuiiLAzLTT3/DaT7tkgDyIQOhRnN+KjT7xy5gO9RztoYqra2EvSfGZJOYZ6VPUrgkF/SyJdYTPrzQhLpMM54pM6B8CihddiOpnCSQAIlhyRdCLJ0zdDEiSfFiFiAwoHXJKIC9pWg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pJPq4LA+48QB9n3yPWRQlfEKr37PxNYKSCHYHSgRDCk=;
 b=NsqqaWpTLLKZLnpxmCr3butyCu6gL3cQRrva2/aUhnTHtd8A3EKvaSupfXPxbHV0N9jgEZQPQAqQYqovJxlRkRALy3MaKh4rq/fb2sr/JEy+e+wQDyZJuYG18HcUOToQc5V8MDswMe8AOrvijAnFnGuNMDw+gwuJZJ9lXD/FASE=
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: [PATCH 08/37] xen/x86: add detection of discontinous node memory
 range
Thread-Topic: [PATCH 08/37] xen/x86: add detection of discontinous node memory
 range
Thread-Index: AQHXsHMRZjZ8eZQrbkW8SEq2x0f00Kxpq6IAgAD9ltCAAAtIAIAAA/Jg
Date: Wed, 19 Jan 2022 08:24:13 +0000
Message-ID:
 <PAXPR08MB742002F6C5AFF45266EDB6769E599@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-9-wei.chen@arm.com>
 <3fe681fa-d01f-d5df-23f2-6c6d8089fd8a@suse.com>
 <PAXPR08MB74209486B9983A392AB66E059E599@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <ee91673b-9bbf-c4fa-583d-a080f5f5426d@suse.com>
In-Reply-To: <ee91673b-9bbf-c4fa-583d-a080f5f5426d@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 3A34716C815B524AABBB099FCD307CD4.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 566986b1-03dd-495f-0fe8-08d9db251ad0
x-ms-traffictypediagnostic:
	DBBPR08MB6236:EE_|DB5EUR03FT031:EE_|HE1PR0802MB2217:EE_
X-Microsoft-Antispam-PRVS:
	<HE1PR0802MB22177E320DDDFA471DF073E09E599@HE1PR0802MB2217.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:
 RY+sPsSt5hQMoJEGLSTYD838pK2mgco/Fg2cLZz7xt4l67qGQLQdZ48RgSZfRPp94iCTnxFshO0CXXZ/uDOg+nL85Lj0PyndmlheH5JYQu5eDjVys1z6hiI0w8E2I9fOBDCslmT8Wn7u5tLX3ZaGnJNnTvMBVl5fZB+ajlCZ+Eott3JE8R4owSBGFAkdiVBMZxfa7x6B8e+O5H+uYk75A8Sk5uf7U29C6GX/6Z3dh9VMJn5qF0yC9VU/btlNj618MBrbDhsKlIEhcERPk12Rs1lRbrcmWz0PL1Sso6hcmBj1Ttge6F8JD0rbsi6JAcQEXlf5g1dcQIEuqA80DmAj2pk5YrBwo1vBRuW8Es4RM3LWAb4fNztusAdcjx4TlODL/Fo5UAg4HlTspkW94r/oYjAt4esS3CVYyTZ8NjQjt2FHXuxDj3Od411ObV3ndECt/m697UD2AiAHSSFXq+JE+wVI5hDWj62r924g1D9ilmiaAlYkdzdLw1megiCstKL4PAY0AYxvD7b0rOPvEUB4VTCMMtGEtByPDeoCIo3aez/ZCgbmkoHV5VdT/cUuZjaAgmlJeZm00evoF2NNQVBu1LObcZF3jl1JJIktnk69LhR/TeVBvIPV9YtoJwVU5+JpMBq67dj8JoIHhiRffX1EOUnNHxwdeQl+L78zT/aA5UQFGmwoXPBS92WZxHCnQXCrKFFJjlxm7WN4eUJWkNNgzbL34CRnMilcYDQdXSZH2lsSq/JZkkV/yEn0K/Lae2lkw4+uNmkUt1KxGPooaYbrVPTV7zIq8uDETZyryEEzvKE=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(54906003)(9686003)(2906002)(5660300002)(38100700002)(52536014)(122000001)(6916009)(8936002)(6506007)(316002)(7696005)(66446008)(53546011)(83380400001)(76116006)(66476007)(66556008)(8676002)(966005)(186003)(66946007)(4326008)(38070700005)(26005)(33656002)(64756008)(55016003)(71200400001)(508600001)(86362001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6236
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;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-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	51a069e8-8b48-4578-0e5c-08d9db25133d
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	etQq7YMlZQOxxOBkKv7R+MTEBWHVxqUIOvzeWc1tjrnvig4aSHw1psgUtEX/ZNF/zkgNe6JiFklzwEOcdtsPsMkznsqaAIB7Vnu9mKyWMnNlkb4vFHnH4nGg6GIQY9uPuzU88QTG1L3lRU/L/y9c0x33MonVwvBbTz8GqrxgEHCkbZdFffJQKE4zInQ5cPYoHmRrqCZU/UKyjYyfog49HoyPHSIumY6HBxhw3qz6EVCebKyvALaIovkTD11ss5TXgN+CcV/ikvZ1ZSLkYUyybWvLtbLxHRpIaKXTiB1gVZijiVD6GeIan5rZEJRq05J/Mib7FifflIVU0Y4aZ9T3eBsovFZCBnrFHIgXnGnoeVXsc4Q3sd0h1New+shP2NE/q4Z6C51j8ABXrIiu/3EryP7G2W1namOKikxMQMYSOlAIjARid87KFlqjw2H7b7rNeFSYuc5lmaSN4p9FBWwu6gzGQiO4+aXnDmJwDUGHMobCtQswb+p3qCKgLlM3RNju80VlJJHGgC2V/nFXapiax+SmNPe+oRV49llUDKAFNx+V0ZivgwDJOEt5RX0R8xSHueBdBXzDjrl4KzsWXuBalHe+8T0251RJFiZuL1YZVHZCiNxVCCZkxCyRu12hqLgLkZUuyDtcoHv1XLbbqz+q0JEUFXyUoupGmCWQX5fEH0h4a3ryCnE8NbBO1G71nzvvNGCS30DhB/xvIx8typZA9XcRDr0lpkQgmmEb7nJfiVTvsA8KFt4Ph5yaxWgqis3SoEV2sSxozqclQWCKQtR8rlHj1CNv0tj2PYc1/6KaBg3xt1arDqK0xWElcNzFIFoNGB+YiV3HnB6HQExvxKJRu3x0qnNa6nScbdLcF31tnyw=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(40470700002)(55016003)(82310400004)(36860700001)(40460700001)(47076005)(52536014)(86362001)(83380400001)(7696005)(508600001)(966005)(53546011)(6506007)(26005)(5660300002)(4326008)(336012)(81166007)(8936002)(8676002)(70206006)(70586007)(316002)(186003)(9686003)(6862004)(356005)(33656002)(2906002)(54906003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2022 08:24:25.9595
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 566986b1-03dd-495f-0fe8-08d9db251ad0
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: HE1PR0802MB2217

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMuW5tDHmnIgxOeaXpSAxNjowMQ0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiBCZXJ0cmFuZCBNYXJxdWlz
IDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyB4ZW4tDQo+IGRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnOyBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqdWxpZW5AeGVuLm9yZw0KPiBTdWJqZWN0
OiBSZTogW1BBVENIIDA4LzM3XSB4ZW4veDg2OiBhZGQgZGV0ZWN0aW9uIG9mIGRpc2NvbnRpbm91
cyBub2RlDQo+IG1lbW9yeSByYW5nZQ0KPiANCj4gT24gMTkuMDEuMjAyMiAwODozMywgV2VpIENo
ZW4gd3JvdGU6DQo+ID4+IEZyb206IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4g
Pj4gU2VudDogMjAyMuW5tDHmnIgxOeaXpSAwOjEzDQo+ID4+DQo+ID4+IE9uIDIzLjA5LjIwMjEg
MTQ6MDIsIFdlaSBDaGVuIHdyb3RlOg0KPiA+Pj4gT25lIE5VTUEgbm9kZSBtYXkgY29udGFpbiBz
ZXZlcmFsIG1lbW9yeSBibG9ja3MuIEluIGN1cnJlbnQgWGVuDQo+ID4+PiBjb2RlLCBYZW4gd2ls
bCBtYWludGFpbiBhIG5vZGUgbWVtb3J5IHJhbmdlIGZvciBlYWNoIG5vZGUgdG8gY292ZXINCj4g
Pj4+IGFsbCBpdHMgbWVtb3J5IGJsb2Nrcy4gQnV0IGhlcmUgY29tZXMgdGhlIHByb2JsZW0sIGlu
IHRoZSBnYXAgb2YNCj4gPj4+IG9uZSBub2RlJ3MgdHdvIG1lbW9yeSBibG9ja3MsIGlmIHRoZXJl
IGFyZSBzb21lIG1lbW9yeSBibG9ja3MgZG9uJ3QNCj4gPj4+IGJlbG9uZyB0byB0aGlzIG5vZGUg
KHJlbW90ZSBtZW1vcnkgYmxvY2tzKS4gVGhpcyBub2RlJ3MgbWVtb3J5IHJhbmdlDQo+ID4+PiB3
aWxsIGJlIGV4cGFuZGVkIHRvIGNvdmVyIHRoZXNlIHJlbW90ZSBtZW1vcnkgYmxvY2tzLg0KPiA+
Pj4NCj4gPj4+IE9uZSBub2RlJ3MgbWVtb3J5IHJhbmdlIGNvbnRhaW5zIG90aGUgbm9kZXMnIG1l
bW9yeSwgdGhpcyBpcyBvYnZpb3VzbHkNCj4gPj4+IG5vdCB2ZXJ5IHJlYXNvbmFibGUuIFRoaXMg
bWVhbnMgY3VycmVudCBOVU1BIGNvZGUgb25seSBjYW4gc3VwcG9ydA0KPiA+Pj4gbm9kZSBoYXMg
Y29udGlub3VzIG1lbW9yeSBibG9ja3MuIEhvd2V2ZXIsIG9uIGEgcGh5c2ljYWwgbWFjaGluZSwg
dGhlDQo+ID4+PiBhZGRyZXNzZXMgb2YgbXVsdGlwbGUgbm9kZXMgY2FuIGJlIGludGVybGVhdmVk
Lg0KPiA+Pj4NCj4gPg0KPiA+IEkgd2lsbCBhZGp1c3QgYWJvdmUgcGFyYWdyYXBoIHRvOg0KPiA+
IC4uLiBUaGlzIG1lYW5zIGN1cnJlbnQgTlVNQSBjb2RlIG9ubHkgY2FuIHN1cHBvcnQgbm9kZSBo
YXMgbm8gaW50ZXJsYWNlZA0KPiA+IG1lbW9yeSBibG9ja3MuIC4uLg0KPiA+DQo+ID4+PiBTbyBp
biB0aGlzIHBhdGNoLCB3ZSBhZGQgY29kZSB0byBkZXRlY3QgZGlzY29udGlub3VzIG1lbW9yeSBi
bG9ja3MNCj4gPj4+IGZvciBvbmUgbm9kZS4gTlVNQSBpbml0aWFsaXp0aW9uIHdpbGwgYmUgZmFp
bGVkIGFuZCBlcnJvciBtZXNzYWdlcw0KPiA+Pj4gd2lsbCBiZSBwcmludGVkIHdoZW4gWGVuIGRl
dGVjdCBzdWNoIGhhcmR3YXJlIGNvbmZpZ3VyYXRpb24uDQo+ID4NCj4gPiBJIHdpbGwgYWRqdXN0
IGFib3ZlIHBhcmFncmFwaCB0bzoNCj4gPiBTbyBpbiB0aGlzIHBhdGNoLCB3ZSBhZGQgY29kZSB0
byBkZXRlY3QgaW50ZXJsZWF2ZSBvZiBkaWZmZXJlbnQgbm9kZXMnDQo+ID4gbWVtb3J5IGJsb2Nr
cy4gTlVNQSBpbml0aWFsaXphdGlvbiB3aWxsIGJlIC4uLg0KPiANCj4gVGFraW5nIGp1c3QgdGhp
cyBwYXJ0IG9mIHlvdXIgcmVwbHkgKHRoZSBpc3N1ZSBjb250aW51ZXMgbGF0ZXIpLCBtYXkgSQ0K
PiBhc2sgdGhhdCB5b3UgdXNlIGEgY29uc2lzdGVudCB0ZXJtIHRocm91Z2hvdXQgdGhpcyBzaW5n
bGUgcGF0Y2g/IE1peGluZw0KPiAiaW50ZXJsYWNlIiBhbmQgImludGVybGVhdmUiIGxpa2UgeW91
IGRvIG1heSBtYWtlIHBlb3BsZSB3b25kZXIgd2hldGhlcg0KPiB0aGUgdHdvIGFyZSBpbnRlbmRl
ZCB0byBleHByZXNzIHNsaWdodGx5IGRpZmZlcmVudCBhc3BlY3RzLiBQZXJzb25hbGx5LA0KPiBh
cyBwZXIgbXkgc3VnZ2VzdGlvbiwgSSdkIHByZWZlciAiaW50ZXJsZWF2ZSIsIGJ1dCBJJ20gbm90
IGEgbmF0aXZlDQo+IHNwZWFrZXIuDQo+IA0KDQpTb3JyeSwgSSBhbSBub3QgYSBuYXRpdmUgc3Bl
YWtlciB0b28sIEkgaGFkIGNoZWNrZWQgZGljdCBmb3IgaW50ZXJsYWNlZA0KYmVmb3JlIEkgdXNl
ZCBpdC4gaHR0cHM6Ly93d3cubWVycmlhbS13ZWJzdGVyLmNvbS90aGVzYXVydXMvaW50ZXJsYWNl
ZA0KDQpPYnZpb3VzbHksIEknbSBwcm9iYWJseSB1c2luZyBpdCBpbmNvcnJlY3RseSBhbmQgbWFr
aW5nIGl0IGhhcmRlciB0bw0KdW5kZXJzdGFuZCwgSSB3aWxsIHVzZSAiaW50ZXJsZWF2ZSIgaW4g
bXkgcGF0Y2hlcy4NCg0KVGhhbmtzLA0KV2VpIENoZW4NCg0KDQo+IEphbg0KDQo=


From xen-devel-bounces@lists.xenproject.org Wed Jan 19 08:28:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 08:28:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258759.446020 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA6K0-00074B-Kv; Wed, 19 Jan 2022 08:28:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258759.446020; Wed, 19 Jan 2022 08:28:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA6K0-000744-Hq; Wed, 19 Jan 2022 08:28:00 +0000
Received: by outflank-mailman (input) for mailman id 258759;
 Wed, 19 Jan 2022 08:27:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uvFD=SD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nA6Jz-00073y-B1
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 08:27:59 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b4d074a6-7901-11ec-9bbc-9dff3e4ee8c5;
 Wed, 19 Jan 2022 09:27:58 +0100 (CET)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2177.outbound.protection.outlook.com [104.47.17.177]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-41-KFSXCX37NpGPAzMpBKMpdQ-1; Wed, 19 Jan 2022 09:27:56 +0100
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.4888.11; Wed, 19 Jan
 2022 08:27:54 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.014; Wed, 19 Jan 2022
 08:27:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b4d074a6-7901-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642580877;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=fSG2ZEVFFTEb1Dh+9z06QL4a/OjzOPWshVMJE/WqzNg=;
	b=QnJFPzw1oypZWPJjnrjUhQS0YVnTfWEArQ8zP37YbtOE1QyP8OTNjSl1s4mkt2LL7vkYiu
	kjZoGZs45ejbXYbDfnFbgUQYw79H6v0qNUbhOvQaFCVlRF8DuTs4hROwDtOuTwxAkDLgri
	VSePNFCXxT2grRL9PY/UnbzFcu6P3Uo=
X-MC-Unique: KFSXCX37NpGPAzMpBKMpdQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ryxqjoe4+Xm+vduv6GBAbB4ssVdFqo62h1vPrCJy9SJZD7fiDvAS4ZHTADJODxIiV12jBKsbY/KJIGIsmIMRBXbNis3vEdKogWSMfmZVKu42+UecH5fg4SZJllrfjKQNltMXxHs7M4p9j2JDB6CAKAUXWD6XBANm0sJzpQsBFsUENl6Yaee5uczcIRqLzVpYFbrMa1GjAmxrxLB9ylEMnc4eFpgpgGAh7jU8v99JNDtGGszRhmBPxeQOOMt0AuIP+kCRjWlMc1HOtr6wMjAxiV1moeD4ouJKpuq69wGw7d0RA6d+HNCg9jck6IQ+ITwVVLAxv5vbX7lbahmmZfos3g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fSG2ZEVFFTEb1Dh+9z06QL4a/OjzOPWshVMJE/WqzNg=;
 b=YCJpM1+t0KpH7Gf30VuwZGZ/qQXBlKRRQlXR2yMK7wdXrrftTdmXlqRAlUG9ujR6ciIc5j8JI9pdMvGddQI+flwOSML5inrT+XXa4NdV1w67jw/3aUqTeFtnkhHNNN+PcsFMqfP34yZCTQk9KyIz81zn4SiVIeiDV1LhjQVxRLrOCpIztDz6b5U/5GVgYZom12UQLBffn5bgw0tI0YjmAOX9u1V0L7gwAoj23NLf9YSa2sPB4xYulEi6J1JTzakpcOgoostdOupWNVLqgQsA7xyHRvcuT5EQ9KzjLhixRM/zsohPNTSAOy0JjZPmjYkWlE79u9cGX1aaFqplvGp8Hg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c78a8b70-b677-a14a-2371-d71a562284b1@suse.com>
Date: Wed, 19 Jan 2022 09:27:53 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: statistical time calibration
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <1ea5815b-df22-7884-d28b-bdcc1741e349@suse.com>
In-Reply-To: <1ea5815b-df22-7884-d28b-bdcc1741e349@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0188.eurprd06.prod.outlook.com
 (2603:10a6:20b:45d::15) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9b74160b-ea96-44ea-d5f7-08d9db2596c0
X-MS-TrafficTypeDiagnostic: VI1PR04MB5741:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB574108BDBC9C27311675C910B3599@VI1PR04MB5741.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:
	LwYS3QctXecf0AqrzSu32ItoP9mcaDSr+AmDln8R+0yS/88BVXbiUTk+xS/SpqTJkkM5/7KblofuvhrGJc10XpEs0pSIC/9ar52H9XGjP88qDw0IoG7gcoMNVuAfmhb/skXgnJceHZMbm0SFbOsexgZiXgxDacGYses1cC+OIOyH/4QnUKW8fneSB6d0LneU6q+rXauiOiSnop8kSqXBo5MEOibADf7nCKxQIyiZ5uBJHfSaohAPB57IuXm4xGuCwL5GsFuPRzXPcNj073fjLFiLjXuhEnZoUTECOqCXGCjfbYxlETY2n5OCcguIkO8B/mM9CQaRyT5N3jpwn0fiMNvLCPT3icuZO4AtFrHCft8ayMtb4gSz86+UPCCMVpVCo7BUaBAn9d/19GQFbqKKy2Q//uDAUfanOqPYX+4h1ws1JRaXXec8Zj/rXJzaS8vNXIJAr2HHxxvaSpMaw+S3+VW14vZbdk16M3ARE5qQC9ghcjBn402YGkf3MvL3d9fErhvlpsXK591YPhMgNtn3SxTf2aGgAlEnBs8e6Inf3dSZEIsnD/Ymj0Hmoxv3TAXhhCjwCjvMjYTfdPFBu7q3cFZ7jj5f7WXwccs7aLkt5kfl0hIclo3a9W1injQPBfjyGkwADc5X7Rn07EdiZ/qNJjRNFuOTwSw9+73+b55pV+6BVYp6CSXbTOP48VeSOyvFIT6xX00ZqArmTzxfiR6OX4HYi5DpGKllH//kBpRWvSmfevuzVN8uY649BFvxJ4Y+
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)(6506007)(53546011)(31696002)(6916009)(31686004)(38100700002)(8936002)(508600001)(26005)(66476007)(4326008)(83380400001)(8676002)(66556008)(66946007)(6486002)(54906003)(5660300002)(3480700007)(186003)(6512007)(7116003)(86362001)(2616005)(2906002)(966005)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	3MklajIjel+MZP1SZUhMSR6Ibmbv+9L1rpz5xXSMRrwrP55ZuhbtMzFqgH8Korqk8L4CB0m70iEkBz0mm/VauzbyapCoTx/Y7xlMhnR8sDzP3SfOwditV+Ct/kqqnq8hTVf6mzFa6ZA7kmyy++NyegAoPQTLOyu3SugtXxECYJD8ykmFOV63xklIwOKlyGO1WQwTjenbMvLlIqT0RgPgAgRvGjOZFbxWXPQBoNU7HgsZ2V3MDnNlRmz0qVHulYMrqjSWlzSRzprWOOFrnlPW113Jz8BXW1ztz2n8deGCOtVkncT7Jx3CqPHeuxEYJflNptdEuW21ln6q5Z6izxmYVSMI2EA1S8VKjJ/i4gwGLmzthI+3iISq/+bOJ8yx4NL4VgzfO8+pLWaghk2LXtBD2w+Kr1kh26rGp9L/daUilwFya621XRAYFmWD8OsZsPvQ
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9b74160b-ea96-44ea-d5f7-08d9db2596c0
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2022 08:27:54.0178
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: BuDLODtlGDC6v/gXZmo6z+B35+PIW7MzoKn6Z4UPnckP3mcd2RsLHqk+oIeSeJOWoAyj3wHwG7UZYgT2m4Osfg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5741

On 18.01.2022 16:03, Jan Beulich wrote:
> Hello,
> 
> Roger pointer me to a FreeBSD commit [1] introducing such there. While
> we don't start at 2000ms (but rather at 50), this still looked interesting
> enough to take a closer look. I think I've mostly understood the idea and
> implementation now, with the exception of three things:
> 
> 1) When deciding whether to increment "passes", both variance values have
> an arbitrary value of 4 added to them. There's a sentence about this in
> the earlier (big) comment, but it lacks any justification as to the chosen
> value. What's worse, variance is not a plain number, but a quantity in the
> same units as the base values.

While not relevant for the eventual usage, I'd like to correct myself here:
The unit of variance (and covariance) is the square of the base unit
(assuming, in the covariance case, the units of both values are the same,
as is the case here, where fundamentally both use Hz, and just the scales
may - and typically will - be different). Which ...

> Since typically both clocks will run at
> very difference frequencies, using the same (constant) value here has much
> more of an effect on the lower frequency clock's value than on the higher
> frequency one's.

... means the difference in (relative) effect on the two values is even
more significant.

Jan

> 2) The second of the "important formulas" is nothing I could recall or was
> able to look up. All I could find are somewhat similar, but still
> sufficiently different ones. Perhaps my "introductory statistics" have
> meanwhile been too long ago ... (In this context I'd like to also mention
> that it took me quite a while to prove to myself that the degenerate case
> of, in particular, the first iteration wouldn't lead to an early exit
> from the function.)
> 
> 3) At the bottom of the loop there is some delaying logic, leading to
> later data points coming in closer succession than earlier ones. I'm
> afraid I don't understand the "theoretical risk of aliasing", and hence
> I'm seeing more risks than benefits from this construct.
> 
> Beyond that there are implementation aspects that I'm not happy with,
> like aforementioned delay loop not dealing with a TSC which did start
> from a large "negative" value, and which hence would eventually wrap. Nor
> is the SMI (or other long latency events) aspect being taken care of. But
> any such concern could of course be dealt with as we port over this
> logic, if we decided we want to go that route.
> 
> My main concern is with the goal of reaching accuracy of 1PPM, and the
> loop ending only after a full second (if I got that right) if that
> accuracy cannot be reached. Afaict there's no guarantee that 1PPM is
> reachable. My recent observations suggest that with HPET that's
> feasible (but only barely), but with PMTMR it might be more like 3 or
> more.
> 
> The other slight concern I have, as previously voiced on IRC, is the use
> of floating point here.
> 
> Jan
> 
> [1] https://cgit.freebsd.org/src/commit/?id=c2705ceaeb09d8579661097fd358ffb5defb5624
> 
> 



From xen-devel-bounces@lists.xenproject.org Wed Jan 19 08:34:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 08:34:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258764.446032 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA6Pl-0008Sn-Ab; Wed, 19 Jan 2022 08:33:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258764.446032; Wed, 19 Jan 2022 08: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 1nA6Pl-0008Sg-6R; Wed, 19 Jan 2022 08:33:57 +0000
Received: by outflank-mailman (input) for mailman id 258764;
 Wed, 19 Jan 2022 08:33:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=CaTf=SD=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1nA6Pj-0008Sa-9q
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 08:33:55 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2062e.outbound.protection.outlook.com
 [2a01:111:f400:7d00::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 877bbbb7-7902-11ec-9bbc-9dff3e4ee8c5;
 Wed, 19 Jan 2022 09:33:53 +0100 (CET)
Received: from DB6PR0301CA0081.eurprd03.prod.outlook.com (2603:10a6:6:30::28)
 by VE1PR08MB4766.eurprd08.prod.outlook.com (2603:10a6:802:a9::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.12; Wed, 19 Jan
 2022 08:33:49 +0000
Received: from DB5EUR03FT040.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:6:30:cafe::bd) by DB6PR0301CA0081.outlook.office365.com
 (2603:10a6:6:30::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11 via Frontend
 Transport; Wed, 19 Jan 2022 08:33:49 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT040.mail.protection.outlook.com (10.152.20.243) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4888.9 via Frontend Transport; Wed, 19 Jan 2022 08:33:48 +0000
Received: ("Tessian outbound 741ca6c82739:v113");
 Wed, 19 Jan 2022 08:33:48 +0000
Received: from 041b8bf567ad.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 FB7D4F29-C8AC-474B-B9F1-5BEEB336FECA.1; 
 Wed, 19 Jan 2022 08:33:42 +0000
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 041b8bf567ad.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 19 Jan 2022 08:33:42 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by DBAPR08MB5622.eurprd08.prod.outlook.com (2603:10a6:10:1af::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Wed, 19 Jan
 2022 08:33:41 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0%6]) with mapi id 15.20.4888.013; Wed, 19 Jan 2022
 08:33: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: 877bbbb7-7902-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6qwy9k64ifZJ0zdhC3c3QPVRCXjZcEOI7lHqezt0o54=;
 b=nQRMPSfJlK847/agRghxXBh+4VuHKSvbxtAidRHhRdIUkDmN9HjTfmBtKA3rtaWZkSMLNx5xDnNLH6zEKBL3/NNRonz0SJiUmKVKlD2T8yunqG+Ifn3JGwE9PvW1wEDvvCO0iEIWE4PLBL5mEf9Xy5Z96di8sOSpoT0X7HWNr7M=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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=UtKooMe9HqNjHCKD7Rsj37JMIf4Dq9vtRG5QRrB/rnIVjXEVx05mLuxE5Tyn6hJZzk1bt6e30UiCnn6bxD/s51jxVDUEOOSNRdXwmWzksjqq1FdKkyivfKjynqbShkg93NPuGIULrL8mnFiTKvdY5Uyg//GH0a95/gvI4lHPW374b/Um/btXFvflBmXrCy6sp22BMuNRryKPeNLNnpR7gWBYu6RK4xdzVl07bXU3pcPzqMGFEdBtxayrKYeKQv1vK/0WkqqKVqtnMpEcmKemMs1Zl0Lje3i4OypTj33zoiTNVlD4odqz15Ch8eQD+I2+6WWGorWMR4ULMBxqcAV+Ww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6qwy9k64ifZJ0zdhC3c3QPVRCXjZcEOI7lHqezt0o54=;
 b=gENRhZk9zuY3jq/ml8RX5fzSgSCgSiG/xghPTIOTFd7JFMPhhiERweiHGHpWLu7dWPswwyOGkFex+e5J+qP6zA9NHaqhnIxCE0ySdlTjpnTbdCd2hOlr8mSXD4KJ+uxhtv1rs+7LlJ7MBD6S6tuIbKlD4TF/qs8Osn6oiBUZcwws7YUSBRNSnjhaKlN0k9RB8k5qOycf7OGCW8mD0YArXgI7qsXJPjdHu5sU1y7I4wnflf78X+vkp+GaLzdZtCMxjlJY0mBMkpJNy48Ce9uaKcnIOChCWtM8rcjnor8sVQzIUaj1/KuhG1LpgyVDFCSYmzO6EvjWBxsnlzUoHZqriA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6qwy9k64ifZJ0zdhC3c3QPVRCXjZcEOI7lHqezt0o54=;
 b=nQRMPSfJlK847/agRghxXBh+4VuHKSvbxtAidRHhRdIUkDmN9HjTfmBtKA3rtaWZkSMLNx5xDnNLH6zEKBL3/NNRonz0SJiUmKVKlD2T8yunqG+Ifn3JGwE9PvW1wEDvvCO0iEIWE4PLBL5mEf9Xy5Z96di8sOSpoT0X7HWNr7M=
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: [PATCH 04/37] xen: introduce an arch helper for default dma zone
 status
Thread-Topic: [PATCH 04/37] xen: introduce an arch helper for default dma zone
 status
Thread-Index:
 AQHXsHMGx8xGhif/FUCDSa9NS/fSLqxoGKiAgAD49HCAABTIAIAACXAAgABbKICAANEXUIAAVWcAgAAL52A=
Date: Wed, 19 Jan 2022 08:33:41 +0000
Message-ID:
 <PAXPR08MB74207E49B9C424CEDA7C1D4B9E599@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-5-wei.chen@arm.com>
 <345944c4-78dd-8009-6f64-f9c7901a5497@suse.com>
 <PAXPR08MB7420CD3B7CFB4D2D81019F479E589@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <378fcc9b-abfe-28f2-ee67-f5510e99436c@suse.com>
 <PAXPR08MB7420FE209E822108AB1B41E19E589@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <fd328410-caf0-274e-08b0-f775a6c9a08c@suse.com>
 <PAXPR08MB742030298FE53A7B5AB5D1499E599@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <22c2134d-40b2-fd5f-aeec-edabf6151ce5@suse.com>
In-Reply-To: <22c2134d-40b2-fd5f-aeec-edabf6151ce5@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 5AD9856F3E4321488BEEC0C9042947DA.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 915d0d9c-f39a-428a-2faa-08d9db266a48
x-ms-traffictypediagnostic:
	DBAPR08MB5622:EE_|DB5EUR03FT040:EE_|VE1PR08MB4766:EE_
X-Microsoft-Antispam-PRVS:
	<VE1PR08MB476625FA96DD2CEBD6AA2ADF9E599@VE1PR08MB4766.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:
 fN6vmnv5Zlt3WoMg26YIKYuVfHs/3AJJqDrQOl4YudAwwUsh3CXOu9bQo+ULTeywdMOOsbXcQDGzdNVeafa5UztTdrH53LSINk0K8RJesv985I/KZvLFQoHa5Xv00kI+ZqcAABVpjK+LallkMWnpSoPKz1NY5b5iQOAQMcsYfoniERNhNCbSpqdeECUFSPYRyhJT0P/qHg/2Yfsh9hyEnyjCkFHfZ2qmd5bRP3NJKN1Y6nR4BRfLDN6QjmqyQrOEKHXz5TFLfyaaxcsU2rE7w53yvWxcj2MGoR3nekMpxUQ4uRd7VR3SgcnoFHudfTGgwuDveNx5KSpSL2u6TFaNQSAgCNq9tOrB5wUowXBKSJ7fKrpnDX3ub+bjBXa0YxZDsPIAFgE7L2YbQA8GBT/7FZPNdKmTrFYER7zPtet4pNU2BKRaNcyPwnB94TRf2eKPNRRCPllNovI4vHVanSuqb/HWgp7wjZPGrmvmtxoJfe6ke0Zw+lzjvrPzNjJk1+xYfv2YvZ3pMWysQvf+2pGJNPd+iencVhCxzz6b6T4KBf5r80dtxfHm2NkG48yAR0ff2tPIU5gHnINFIC9FjgURFMXkrU13CZQNJJOBYpn7U/ktgS7cIouygWQ6TihiLhsBoVDDSFZONrpblqEviNRupVA/+1i8xcGsugNkKr2EEU/Yy3hNQ3ytwFlF0h9G8Xep5LKbZ77vuZvlE50Nlb8GtA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(8936002)(6506007)(83380400001)(66446008)(66556008)(122000001)(64756008)(186003)(52536014)(26005)(76116006)(53546011)(71200400001)(66946007)(54906003)(9686003)(6916009)(316002)(2906002)(5660300002)(7696005)(66476007)(508600001)(38100700002)(33656002)(8676002)(38070700005)(86362001)(4326008)(55016003);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5622
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT040.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	49a84285-4469-4fa8-7bf5-08d9db2665d4
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3cpI0fh+g58HXd4ntWRPIxGU5RQtvsbyQ6ARrPQXqvbQAWukbIPC8pO4Wn+nelqrKbs4nu41NMXKKyKLdJdcCTe7tYByDAx6URZzK4DYXxFH3yyB5bwmqAfpijn0GULy0m3A4Tc0NmopBDicyC+0gR17x4XO03o6rcWwyLXKPQ4CAj8IHyWklhg8VXrdZQoON8xI28CfbQ9XhXgmkfP94Q4hJ0h4XWYIl8eBkFiA93kHO/41PUkl2iociex+BGldbOlu0dcnWEsNB6laSTstYhuKxPx7bY6tWS74SR5vQ8dgLeu1xLgTc8knHd8qe4o0wQKt0qqRBgaGzAppcySCVar+Ftt80qvt8ho0cruuCBpRxoLSVMcEF7ujatt5UXYhmh++OihpW3hEiAktqg5Kp+tTcCHQLoV2fXBCSJbnrrR6XJdOjg9iqZt8SAW/Qa7spkLDJ3vynPg9aUnYf4Uit7sZ+VKP32r8apK2jBw6jt2c12Co6PTH7T9wVSsuJjt/1fX0bLwzHZ+5zlQokPO7Aprdhp7pYDRYBUZnOKT3AjJbx3xRac+8X9hAg+2vuVUoq5c5nTg5ND6TK5T+qcUChtdUQXAY3LcpcjcPfnlcdvkAX/czxF3Z3lYF3pmL1KScpqwMWQkxrUTB13vrPS2n8Q+0ZVQoKv7tLOoBXqLZsCOId6KLhx+0IOx9AxPtXmq/hhi410hyd+Ijip417Es/PiZAOB1D4sxd33L8sUxNIqjYl8eL3tygJmbRj2kTgq1c03oJXY19b+80FzX1I4Qtvg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(40470700002)(6862004)(70206006)(26005)(53546011)(5660300002)(186003)(86362001)(336012)(508600001)(8936002)(81166007)(8676002)(6506007)(33656002)(47076005)(356005)(4326008)(52536014)(83380400001)(2906002)(9686003)(54906003)(40460700001)(82310400004)(55016003)(7696005)(70586007)(316002)(36860700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2022 08:33:48.7835
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 915d0d9c-f39a-428a-2faa-08d9db266a48
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT040.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB4766

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMuW5tDHmnIgxOeaXpSAxNTo1MA0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiBCZXJ0cmFuZCBNYXJxdWlz
IDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyB4ZW4tDQo+IGRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnOyBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqdWxpZW5AeGVuLm9yZw0KPiBTdWJqZWN0
OiBSZTogW1BBVENIIDA0LzM3XSB4ZW46IGludHJvZHVjZSBhbiBhcmNoIGhlbHBlciBmb3IgZGVm
YXVsdCBkbWENCj4gem9uZSBzdGF0dXMNCj4gDQo+IE9uIDE5LjAxLjIwMjIgMDM6NDksIFdlaSBD
aGVuIHdyb3RlOg0KPiA+IEhpIEphbiwNCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut
LS0tLQ0KPiA+PiBGcm9tOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+ID4+IFNl
bnQ6IDIwMjLlubQx5pyIMTjml6UgMjI6MTYNCj4gPj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBh
cm0uY29tPg0KPiA+PiBDYzogQmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0u
Y29tPjsgeGVuLQ0KPiA+PiBkZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZzsgc3N0YWJlbGxpbmlA
a2VybmVsLm9yZzsganVsaWVuQHhlbi5vcmcNCj4gPj4gU3ViamVjdDogUmU6IFtQQVRDSCAwNC8z
N10geGVuOiBpbnRyb2R1Y2UgYW4gYXJjaCBoZWxwZXIgZm9yIGRlZmF1bHQNCj4gZG1hDQo+ID4+
IHpvbmUgc3RhdHVzDQo+ID4+DQo+ID4+IE9uIDE4LjAxLjIwMjIgMTA6MjAsIFdlaSBDaGVuIHdy
b3RlOg0KPiA+Pj4+IEZyb206IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gPj4+
PiBTZW50OiAyMDIy5bm0MeaciDE45pelIDE2OjE2DQo+ID4+Pj4NCj4gPj4+PiBPbiAxOC4wMS4y
MDIyIDA4OjUxLCBXZWkgQ2hlbiB3cm90ZToNCj4gPj4+Pj4+IEZyb206IEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4NCj4gPj4+Pj4+IFNlbnQ6IDIwMjLlubQx5pyIMTjml6UgMDoxMQ0K
PiA+Pj4+Pj4gT24gMjMuMDkuMjAyMSAxNDowMiwgV2VpIENoZW4gd3JvdGU6DQo+ID4+Pj4+Pj4g
SW4gY3VycmVudCBjb2RlLCB3aGVuIFhlbiBpcyBydW5uaW5nIGluIGEgbXVsdGlwbGUgbm9kZXMg
TlVNQQ0KPiA+Pj4+Pj4+IHN5c3RlbSwgaXQgd2lsbCBzZXQgZG1hX2JpdHNpemUgaW4gZW5kX2Jv
b3RfYWxsb2NhdG9yIHRvIHJlc2VydmUNCj4gPj4+Pj4+PiBzb21lIGxvdyBhZGRyZXNzIG1lbW9y
eSBmb3IgRE1BLg0KPiA+Pj4+Pj4+DQo+ID4+Pj4+Pj4gVGhlcmUgYXJlIHNvbWUgeDg2IGltcGxp
Y2F0aW9ucyBpbiBjdXJyZW50IGltcGxlbWVudGF0aW9uLiBCZWN1YXNlDQo+ID4+Pj4+Pj4gb24g
eDg2LCBtZW1vcnkgc3RhcnRzIGZyb20gMC4gT24gYSBtdWx0aXBsZSBub2RlcyBOVU1BIHN5c3Rl
bSwgaWYNCj4gPj4+Pj4+PiBhIHNpbmdsZSBub2RlIGNvbnRhaW5zIHRoZSBtYWpvcml0eSBvciBh
bGwgb2YgdGhlIERNQSBtZW1vcnkuIHg4Ng0KPiA+Pj4+Pj4+IHByZWZlciB0byBnaXZlIG91dCBt
ZW1vcnkgZnJvbSBub24tbG9jYWwgYWxsb2NhdGlvbnMgcmF0aGVyIHRoYW4NCj4gPj4+Pj4+PiBl
eGhhdXN0aW5nIHRoZSBETUEgbWVtb3J5IHJhbmdlcy4gSGVuY2UgeDg2IHVzZSBkbWFfYml0c2l6
ZSB0byBzZXQNCj4gPj4+Pj4+PiBhc2lkZSBzb21lIGxhcmdlbHkgYXJiaXRyYXJ5IGFtb3VudCBt
ZW1vcnkgZm9yIERNQSBtZW1vcnkgcmFuZ2VzLg0KPiA+Pj4+Pj4+IFRoZSBhbGxvY2F0aW9ucyBm
cm9tIHRoZXNlIG1lbW9yeSByYW5nZXMgd291bGQgaGFwcGVuIG9ubHkgYWZ0ZXINCj4gPj4+Pj4+
PiBleGhhdXN0aW5nIGFsbCBvdGhlciBub2RlcycgbWVtb3J5Lg0KPiA+Pj4+Pj4+DQo+ID4+Pj4+
Pj4gQnV0IHRoZSBpbXBsaWNhdGlvbnMgYXJlIG5vdCBzaGFyZWQgYWNyb3NzIGFsbCBhcmNoaXRl
Y3R1cmVzLiBGb3INCj4gPj4+Pj4+PiBleGFtcGxlLCBBcm0gZG9lc24ndCBoYXZlIHRoZXNlIGlt
cGxpY2F0aW9ucy4gU28gaW4gdGhpcyBwYXRjaCwgd2UNCj4gPj4+Pj4+PiBpbnRyb2R1Y2UgYW4g
YXJjaF9oYXZlX2RlZmF1bHRfZG1hem9uZSBoZWxwZXIgZm9yIGFyY2ggdG8NCj4gZGV0ZXJtaW5l
DQo+ID4+Pj4+Pj4gdGhhdCBpdCBuZWVkIHRvIHNldCBkbWFfYml0c2l6ZSBmb3IgcmVzZXJ2ZSBE
TUEgYWxsb2NhdGlvbnMgb3Igbm90Lg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IEhvdyB3b3VsZCBBcm0g
Z3VhcmFudGVlIGF2YWlsYWJpbGl0eSBvZiBtZW1vcnkgYmVsb3cgYSBjZXJ0YWluDQo+ID4+Pj4+
PiBib3VuZGFyeSBmb3IgbGltaXRlZC1jYXBhYmlsaXR5IGRldmljZXM/IE9yIGlzIHRoZXJlIG5v
IG5lZWQNCj4gPj4+Pj4+IGJlY2F1c2UgdGhlcmUncyBhbiBhc3N1bXB0aW9uIHRoYXQgSS9PIGZv
ciBzdWNoIGRldmljZXMgd291bGQNCj4gPj4+Pj4+IGFsd2F5cyBwYXNzIHRocm91Z2ggYW4gSU9N
TVUsIGxpZnRpbmcgYWRkcmVzcyBzaXplIHJlc3RyaWN0aW9ucz8NCj4gPj4+Pj4+IChJIGd1ZXNz
IGluIGEgIVBWIGJ1aWxkIG9uIHg4NiB3ZSBjb3VsZCBhbHNvIGdldCByaWQgb2Ygc3VjaCBhDQo+
ID4+Pj4+PiByZXNlcnZhdGlvbi4pDQo+ID4+Pj4+DQo+ID4+Pj4+IE9uIEFybSwgd2Ugc3RpbGwg
Y2FuIGhhdmUgc29tZSBkZXZpY2VzIHdpdGggbGltaXRlZCBETUEgY2FwYWJpbGl0eS4NCj4gPj4+
Pj4gQW5kIHdlIGFsc28gZG9uJ3QgZm9yY2UgYWxsIHN1Y2ggZGV2aWNlcyB0byB1c2UgSU9NTVUu
IFRoaXMgZGV2aWNlcw0KPiA+Pj4+PiB3aWxsIGFmZmVjdCB0aGUgZG1hX2JpdHNpemUuIExpa2Ug
UlBpIHBsYXRmb3JtLCBpdCBzZXRzIGl0cw0KPiA+PiBkbWFfYml0c2l6ZQ0KPiA+Pj4+PiB0byAz
MC4gQnV0IGluIG11bHRpcGxlIE5VTUEgbm9kZXMgc3lzdGVtLCBBcm0gZG9lc24ndCBoYXZlIGEg
ZGVmYXVsdA0KPiA+Pj4+PiBETUEgem9uZS4gTXVsdGlwbGUgbm9kZXMgaXMgbm90IGEgY29uc3Ry
YWludCBvbiBkbWFfYml0c2l6ZS4gQW5kDQo+IHNvbWUNCj4gPj4+Pj4gcHJldmlvdXMgZGlzY3Vz
c2lvbnMgYXJlIHBsYWNlZCBoZXJlIFsxXS4NCj4gPj4+Pg0KPiA+Pj4+IEknbSBhZnJhaWQgdGhh
dCBkb2Vzbid0IGdpdmUgbWUgbW9yZSBjbHVlcy4gRm9yIGV4YW1wbGUsIGluIHRoZSBtYWlsDQo+
ID4+Pj4gYmVpbmcgcmVwbGllZCB0byB0aGVyZSBJIGZpbmQgIlRoYXQgbWVhbnMsIG9ubHkgZmly
c3QgNEdCIG1lbW9yeSBjYW4NCj4gPj4+PiBiZSB1c2VkIGZvciBETUEuIiBZZXQgdGhhdCdzIG5v
dCBhbiBpbXBsaWNhdGlvbiBmcm9tIHNldHRpbmcNCj4gPj4+PiBkbWFfYml0c2l6ZS4gRE1BIGlz
IGZpbmUgdG8gb2NjdXIgdG8gYW55IGFkZHJlc3MuIFRoZSBzcGVjaWFsIGFkZHJlc3MNCj4gPj4+
PiByYW5nZSBpcyBiZWluZyBoZWxkIGJhY2sgaW4gY2FzZSBpbiBwYXJ0aWN1bGFyIERvbTAgaXMg
aW4gbmVlZCBvZg0KPiBzdWNoDQo+ID4+Pj4gYSByYW5nZSB0byBwZXJmb3JtIEkvTyB0byBfc29t
ZV8gZGV2aWNlcy4NCj4gPj4+DQo+ID4+PiBJIGFtIHNvcnJ5IHRoYXQgbXkgbGFzdCByZXBseSBo
YXNuJ3QgZ2l2ZW4geW91IG1vcmUgY2x1ZXMuIE9uIEFybSwNCj4gb25seQ0KPiA+Pj4gRG9tMCBj
YW4gaGF2ZSBETUEgd2l0aG91dCBJT01NVS4gU28gd2hlbiB3ZSBhbGxvY2F0ZSBtZW1vcnkgZm9y
IERvbTAsDQo+ID4+PiB3ZSdyZSB0cnlpbmcgdG8gYWxsb2NhdGUgbWVtb3J5IHVuZGVyIDRHQiBv
ciBpbiB0aGUgcmFuZ2Ugb2YNCj4gZG1hX2JpdHNpemUNCj4gPj4+IGluZGljYXRlZC4gSSB0aGlu
ayB0aGVzZSBvcGVyYXRpb25zIG1lZXQgeW91ciBhYm92ZSBEb20wIHNwZWNpYWwNCj4gYWRkcmVz
cw0KPiA+Pj4gcmFuZ2UgZGVzY3JpcHRpb24uIEFzIHdlIGhhdmUgYWxyZWFkeSBhbGxvY2F0ZWQg
bWVtb3J5IGZvciBETUEsIHNvIEkNCj4gPj4+IHRoaW5rIHdlIGRvbid0IG5lZWQgYSBETUEgem9u
ZSBpbiBwYWdlIGFsbG9jYXRpb24uIEkgYW0gbm90IHN1cmUgaXMNCj4gdGhhdA0KPiA+Pj4gYW5z
d2VycyB5b3VyIGVhcmxpZXIgcXVlc3Rpb24/DQo+ID4+DQo+ID4+IEkgdmlldyBhbGwgb2YgdGhp
cyBhcyBmbGF3ZWQsIG9yIGFzIGEgd29ya2Fyb3VuZCBhdCBiZXN0LiBYZW4gc2hvdWxkbid0DQo+
ID4+IG1ha2UgYXNzdW1wdGlvbnMgb24gd2hhdCBEb20wIG1heSBuZWVkLiBJbnN0ZWFkIERvbTAg
c2hvdWxkIG1ha2UNCj4gPj4gYXJyYW5nZW1lbnRzIHN1Y2ggdGhhdCBpdCBjYW4gZG8gSS9PIHRv
L2Zyb20gYWxsIGRldmljZXMgb2YgaW50ZXJlc3QuDQo+ID4+IFRoaXMgbWF5IGludm9sdmUgYXJy
YW5naW5nIGZvciBhZGRyZXNzIHJlc3RyaWN0ZWQgYnVmZmVycy4gQW5kIGZvciB0aGlzDQo+ID4+
IHRvIGJlIHBvc3NpYmxlLCBYZW4gd291bGQgbmVlZCB0byBoYXZlIGF2YWlsYWJsZSBzb21lIHN1
aXRhYmxlIG1lbW9yeS4NCj4gPj4gSSB1bmRlcnN0YW5kIHRoaXMgaXMgY29tcGxpY2F0ZWQgYnkg
dGhlIGZhY3QgdGhhdCBkZXNwaXRlIGJlaW5nIEhWTS0NCj4gbGlrZSwNCj4gPj4gZHVlIHRvIHRo
ZSBsYWNrIG9mIGFuIElPTU1VIGluIGZyb250IG9mIGNlcnRhaW4gZGV2aWNlcyBhZGRyZXNzDQo+
ID4+IHJlc3RyaWN0aW9ucyBvbiBEb20wIGFkZHJlc3Mgc3BhY2UgYWxvbmUgKGkuZS4gd2l0aG91
dCBhbnkgWGVuDQo+ID4+IGludm9sdmVtZW50KSB3b24ndCBoZWxwIC4uLg0KPiA+Pg0KPiA+DQo+
ID4gSSBhZ3JlZSB3aXRoIHlvdSB0aGF0IHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIGlzIHBy
b2JhYmx5IHRoZSBiZXN0DQo+ID4ga2luZCBvZiB3b3JrYXJvdW5kLiBEbyB5b3UgaGF2ZSBzb21l
IHN1Z2dlc3Rpb25zIGZvciB0aGlzIHBhdGNoIHRvDQo+ID4gYWRkcmVzcyBhYm92ZSBjb21tZW50
cz8gT3Igc2hvdWxkIEkganVzdCBuZWVkIHRvIG1vZGlmeSB0aGUgY29tbWl0IGxvZw0KPiA+IHRv
IGNvbnRhaW4gc29tZSBvZiBvdXIgYWJvdmUgZGlzY3Vzc2lvbnM/DQo+IA0KPiBFeHRlbmRpbmcg
dGhlIGRlc2NyaXB0aW9uIGlzIG15IHByaW1hcnkgcmVxdWVzdCwgb3IgZWxzZSB3ZSBtYXkgZW5k
IHVwDQo+IGhhdmluZyB0aGUgc2FtZSBkaXNjdXNzaW9uIGV2ZXJ5IHRpbWUgeW91IHN1Ym1pdCBh
IG5ldyB2ZXJzaW9uLiBBcyB0bw0KPiBpbXByb3ZpbmcgdGhlIHNpdHVhdGlvbiBzdWNoIHRoYXQg
cHJlZmVyYWJseSBwZXItYXJjaCBjdXN0b21pemF0aW9uDQo+IHdvdWxkbid0IGJlIG5lY2Vzc2Fy
eSAtIHRoYXQncyBwZXJoYXBzIGJldHRlciB0byBiZSB0aG91Z2h0IGFib3V0IGJ5DQo+IEFybSBm
b2xrcy4gT3RvaCwgYXMgc2FpZCwgYW4geDg2IGJ1aWxkIHdpdGggQ09ORklHX1BWPW4gY291bGQg
cHJvYmFibHkNCj4gbGV2ZXJhZ2UgdGhlIG5ldyBob29rIHRvIGFjdHVhbGx5IG5vdCB0cmlnZ2Vy
IHJlc2VydmF0aW9uLg0KPiANCg0KT2ssIEkgd2lsbCB0cnkgdG8gZXh0ZW5kIHRoZSBkZXNjcmlw
dGlvbiB0byBhdm9pZCB0aGUgc2FtZSBkaXNjdXNzaW9uDQppbiBuZXh0IHZlcnNpb24uDQoNCj4g
SmFuDQoNCg==


From xen-devel-bounces@lists.xenproject.org Wed Jan 19 08:36:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 08:36:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258768.446043 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA6Sa-0000ik-Su; Wed, 19 Jan 2022 08:36:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258768.446043; Wed, 19 Jan 2022 08: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 1nA6Sa-0000id-Ox; Wed, 19 Jan 2022 08:36:52 +0000
Received: by outflank-mailman (input) for mailman id 258768;
 Wed, 19 Jan 2022 08:36:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=CaTf=SD=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1nA6SZ-0000h2-H6
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 08:36:51 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on0624.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::624])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f1cbaa8e-7902-11ec-9bbc-9dff3e4ee8c5;
 Wed, 19 Jan 2022 09:36:50 +0100 (CET)
Received: from DB9PR02CA0007.eurprd02.prod.outlook.com (2603:10a6:10:1d9::12)
 by VE1PR08MB5646.eurprd08.prod.outlook.com (2603:10a6:800:1a9::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.8; Wed, 19 Jan
 2022 08:36:46 +0000
Received: from DB5EUR03FT009.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:1d9:cafe::fb) by DB9PR02CA0007.outlook.office365.com
 (2603:10a6:10:1d9::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.7 via Frontend
 Transport; Wed, 19 Jan 2022 08:36:46 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT009.mail.protection.outlook.com (10.152.20.117) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4888.9 via Frontend Transport; Wed, 19 Jan 2022 08:36:46 +0000
Received: ("Tessian outbound 63bb5eb69ee8:v113");
 Wed, 19 Jan 2022 08:36:46 +0000
Received: from b64e53074a2c.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D6447A16-1F4C-4C77-9B74-99D2C6D1FCC6.1; 
 Wed, 19 Jan 2022 08:36:39 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b64e53074a2c.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 19 Jan 2022 08:36:39 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by PAXPR08MB7263.eurprd08.prod.outlook.com (2603:10a6:102:212::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.12; Wed, 19 Jan
 2022 08:36:38 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0%6]) with mapi id 15.20.4888.013; Wed, 19 Jan 2022
 08:36:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f1cbaa8e-7902-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=asmlneFWSKypadQxTIj5OMq1etjWDUh/XoRMH1iPduE=;
 b=tPz5ITcaGrHH6x02zzY0EZP5IrSIu8Qp7rcXuS6skrYcCc/k/sVKaoTrjnGW4JPPzc7i7xTFSWiQI8ovyRZZltGwF+iVMNmJKA0iEy5nJ8IOexXgH5npI9Bl2bmv/uetUnzMP7ftMyGMX9tUnhDZG+DM0J0+HmhDVfi23DWCq+4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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=Y446pT2rkeC3Tn/Pvr6uJuUzIpoNtRToqEsgjwEt2sUYoJfLaAYdJFhaYOdy89A7Y31Ashm4uCrfcK4Vq6z3qG6Dk4pqIgJQQlGRIyNxOOBATvuGzU9zCz+8YsI0l2eoZwny23ZFdm1ludlNi3pqTDSnjVZ1sXgZgjJ39fAIMAurWozWoMMmHs8wzWQnsXAx5wsgxxv0/jj3EWjl9+fazNQHRGcIjLaFGL0a8Aqb0V298ovEuF6mpumwPBUJDClLWhcOFIcsJq1rALyVKhuip70mAX47U8wY6rBCg2surIctTgPtiZJC9xPU15gzhVmzgdiNrwwgTEKDw+4FUtRUvQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=asmlneFWSKypadQxTIj5OMq1etjWDUh/XoRMH1iPduE=;
 b=JJO9UN87F05DDwi7lGwljEiVPj0ng+q+sgAiadfYLX9nxMWmsCqnxK9xXFfVWYr0Nc9hbqGFThuX0+HqjIzdyqOAJEEfHYSidssdxI5LluM69siFxX84BgzN5hdgbslg2XT5nT9MyUOu5Ts5uHuig4Bx0zX24VrlzhNvE9ngCnQBZwTmtt+ZTrxuwdd9ENMPGcHyLEA1RCj8lxh0ZLztFzGn3Xry3q+7NPJAq2IeejXgODObHnzxUC/hrxfmBu4/FOEqoHQ0ql37hdw5KNj6h0z6bisoMugHvFvwkfOePupzHxHsRKe+Ha2x6x3z/2heoupWphWuGtwn5bI6MHnPxA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=asmlneFWSKypadQxTIj5OMq1etjWDUh/XoRMH1iPduE=;
 b=tPz5ITcaGrHH6x02zzY0EZP5IrSIu8Qp7rcXuS6skrYcCc/k/sVKaoTrjnGW4JPPzc7i7xTFSWiQI8ovyRZZltGwF+iVMNmJKA0iEy5nJ8IOexXgH5npI9Bl2bmv/uetUnzMP7ftMyGMX9tUnhDZG+DM0J0+HmhDVfi23DWCq+4=
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: [PATCH 07/37] xen/x86: use paddr_t for addresses in NUMA node
 structure
Thread-Topic: [PATCH 07/37] xen/x86: use paddr_t for addresses in NUMA node
 structure
Thread-Index: AQHXsHMRNGZeupZbtEeYycYXK8HrbKxpnZqAgAD0aqCAACDcgIAACs8w
Date: Wed, 19 Jan 2022 08:36:38 +0000
Message-ID:
 <PAXPR08MB742093D8C74D8DDCB71A43069E599@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-8-wei.chen@arm.com>
 <a1d96556-5da4-0c73-0d87-f24758866d7d@suse.com>
 <PAXPR08MB7420654893AFC5E9941C398A9E599@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <f712c0b8-d539-9121-cb23-28954280b57c@suse.com>
In-Reply-To: <f712c0b8-d539-9121-cb23-28954280b57c@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: F69168CCDCC9B04FA3988679F2A43E9C.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 8d8d087e-0ef7-417d-556a-08d9db26d41e
x-ms-traffictypediagnostic:
	PAXPR08MB7263:EE_|DB5EUR03FT009:EE_|VE1PR08MB5646:EE_
X-Microsoft-Antispam-PRVS:
	<VE1PR08MB56469B61D3A1AB3A707F514F9E599@VE1PR08MB5646.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:
 X9XDW3czJIhu0MXnTIDC0aWiIFnZPYpd4ODLBoDsVss+Dr21ZkhzRUcPlxLldBOakH00TIFcQHcY+yW4URRwx9nHuKJWKCp9av8Q1QWMv2jCFvNeOBhJ44CL/6xR+j5RTKpg9pgiYyxBdVuDCTq4OC2MCvtpcgN95MsOsw2OrBTQ1vrjNbt+3y+i4mEJbAZyEz8tmdB6Ocg6cB5bVbp+yot06nu9RR9XftuHgMz483d0HBQJ+XaLQkN/UuF13WUpPHwGXhdPhDuQbURVNyiGZwEMmocgKhVqk0JSXvUoHIGW68iFuOPLHLiV7kX0tejRqk3iTIbdjdwi+PvP+tP7iEz7rWc95mYpz4dyesKvpKBthEAcpWb9uIle+PtDkrSReLBuaxbgPa6XtjzOIoLFq8ZVg3Fc+vF5B1LLgy8rakoNYuAMRV9Lt9qz9R4VXgNccZyM25ar+dntrHtvrI5SIRI0BBbCkv5QyAKy6Iv7QKHqcGYTgjtdm5aN8ewWA3wKJTs1La5tb0cZuPVSY0osz9d8KwOzAiaGFgjE5Bbzcy76tpXrjrm2IopGxbEmSdkOh5yVlHaSzyqtLTzmh8dYYDwIrrWxu1fz2ZgRZIdWf8W0ItKcAthXBPNIbjMIj4KerYkD8LRP+MQEwy/xd5DDPZnwe/SY+68dMHSOkTFI00EjitH7UlfxiRmhdDGy934z8mqCI28baH4TaPcmfAk3Iw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(38100700002)(6916009)(186003)(8676002)(508600001)(8936002)(55016003)(9686003)(5660300002)(38070700005)(2906002)(33656002)(7696005)(86362001)(54906003)(76116006)(64756008)(71200400001)(6506007)(66556008)(66946007)(66476007)(26005)(53546011)(83380400001)(316002)(122000001)(52536014)(4326008)(66446008);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB7263
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT009.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b0654217-d303-4aa9-53bc-08d9db26cf83
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yR4BAOjm3X0eVaBoFcZ1eoqarxRrpPrr5u1Fw5RhjCVSzD81ugq4PiGTW5/pVTKzrSXPxyopcdoVDf52PMBKHqlRrAfyhk8KLuQkJiaPLpWOmjtGi9MZeT1slJuG+5sxdTTDNgcCSb/xEj6RahIErJXlU7QKnRPDSk4UoZo7L3V+6tsbjbWGlPkt5NVf6ySUrybd0Gds2jnzPabiK1+O2nZk3hohy57VDpJKmx7cb0scpDDcurhdcNzZ2IwGk+c8RJ1BAubky4H7NUCCXWHQVHeVqAZT1VBOWdxHedZkrySQGzfSG50XUGJUylAoDBcvWhpOoUdBKjFs11y4jZ035Hjpcgx4OcLVh5ZC8Vx1tdholJOLHN1gHDHcm6tcInOxu1Ymb2g4GC8ESWuC34yqSozsdPCLgCDKaTjt8TzIEzOzyLT4evcTdIqRVp7CxI3Bh1xHLCh7EZWKXd9JBnUwzjfR7Z92/D8REim7A6cag8QpHCGHt4oV1By/IRhW8XBSMqnRFg7NfaCGPy/YQA75iKtJkaBK8TT+SUyju37I5+Qr6y0RT9+qW7hIOiN2JFJ5THYL3YGHQ2GJkqhq0M32v+edJWlZXYhjmboucu4L5tj0JUVNxqa2GxzblU2BzJukleNrwtpqJeOwsfrte0AUb2tN4eFG3cBz0ohx22ffio5i3MNJJFWYgRkqnI4Wiah19KimGKRfG+bW65v08+4qBsw3loBxrFQBcPjsa/nUoozCL21hYi2RgNYQR7S4yl3G0DkvLasyytfLfdzWMpQOPw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(40470700002)(36840700001)(8676002)(70586007)(70206006)(8936002)(4326008)(336012)(81166007)(356005)(6862004)(33656002)(2906002)(54906003)(5660300002)(186003)(316002)(9686003)(52536014)(47076005)(86362001)(36860700001)(40460700001)(55016003)(82310400004)(53546011)(508600001)(6506007)(26005)(83380400001)(7696005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2022 08:36:46.3477
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8d8d087e-0ef7-417d-556a-08d9db26d41e
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT009.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5646

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMuW5tDHmnIgxOeaXpSAxNTo1NQ0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiBCZXJ0cmFuZCBNYXJxdWlz
IDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyB4ZW4tDQo+IGRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnOyBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqdWxpZW5AeGVuLm9yZw0KPiBTdWJqZWN0
OiBSZTogW1BBVENIIDA3LzM3XSB4ZW4veDg2OiB1c2UgcGFkZHJfdCBmb3IgYWRkcmVzc2VzIGlu
IE5VTUEgbm9kZQ0KPiBzdHJ1Y3R1cmUNCj4gDQo+IE9uIDE5LjAxLjIwMjIgMDc6MzMsIFdlaSBD
aGVuIHdyb3RlOg0KPiA+PiBGcm9tOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+
ID4+IFNlbnQ6IDIwMjLlubQx5pyIMTjml6UgMjM6MjMNCj4gPj4NCj4gPj4gT24gMjMuMDkuMjAy
MSAxNDowMiwgV2VpIENoZW4gd3JvdGU6DQo+ID4+PiBAQCAtMjQ5LDI0ICsyNTAsMjYgQEAgc3Rh
dGljIGludCBfX2luaXQgbnVtYV9lbXVsYXRpb24odTY0IHN0YXJ0X3BmbiwNCj4gPj4gdTY0IGVu
ZF9wZm4pDQo+ID4+PiAgdm9pZCBfX2luaXQgbnVtYV9pbml0bWVtX2luaXQodW5zaWduZWQgbG9u
ZyBzdGFydF9wZm4sIHVuc2lnbmVkIGxvbmcNCj4gPj4gZW5kX3BmbikNCj4gPj4+ICB7DQo+ID4+
PiAgICAgIGludCBpOw0KPiA+Pj4gKyAgICBwYWRkcl90IHN0YXJ0LCBlbmQ7DQo+ID4+Pg0KPiA+
Pj4gICNpZmRlZiBDT05GSUdfTlVNQV9FTVUNCj4gPj4+ICAgICAgaWYgKCBudW1hX2Zha2UgJiYg
IW51bWFfZW11bGF0aW9uKHN0YXJ0X3BmbiwgZW5kX3BmbikgKQ0KPiA+Pj4gICAgICAgICAgcmV0
dXJuOw0KPiA+Pj4gICNlbmRpZg0KPiA+Pj4NCj4gPj4+ICsgICAgc3RhcnQgPSBwZm5fdG9fcGFk
ZHIoc3RhcnRfcGZuKTsNCj4gPj4+ICsgICAgZW5kID0gcGZuX3RvX3BhZGRyKGVuZF9wZm4pOw0K
PiA+Pg0KPiA+PiBOaXQ6IFdvdWxkIGJlIHNsaWdodGx5IG5lYXRlciBpZiB0aGVzZSB3ZXJlIHRo
ZSBpbml0aWFsaXplcnMgb2YgdGhlDQo+ID4+IHZhcmlhYmxlcy4NCj4gPg0KPiA+IEJ1dCBpZiB0
aGlzIGZ1bmN0aW9uIHJldHVybnMgaW4gbnVtYV9mYWtlICYmICFudW1hX2VtdWxhdGlvbiwNCj4g
PiB3aWxsIHRoZSB0d28gcGZuX3RvX3BhZGRyIG9wZXJhdGlvbnMgYmUgd2FzdGU/DQo+IA0KPiBB
bmQgd2hhdCBoYXJtIHdvdWxkIHRoYXQgZG8/DQoNCk9rLCB0d28gb3IgdGhyZWUgaW5zdHJ1Y3Rp
b25zIHdhc3RlIGluIGluaXQgdGltZSB3aWxsIG5vdA0KdGFrZSB0b28gbXVjaCBoYXJtLiBJIHdp
bGwgbW92ZSB0aGVtIGFib3ZlIHdpdGggaW5pdGlhbGl6ZXJzLg0KDQo+IA0KPiA+Pj4gQEAgLTQ0
MSw3ICs0NDEsNyBAQCB2b2lkIF9faW5pdCBzcmF0X3BhcnNlX3JlZ2lvbnModTY0IGFkZHIpDQo+
ID4+PiAgCSAgICBhY3BpX3RhYmxlX3BhcnNlKEFDUElfU0lHX1NSQVQsIGFjcGlfcGFyc2Vfc3Jh
dCkpDQo+ID4+PiAgCQlyZXR1cm47DQo+ID4+Pg0KPiA+Pj4gLQlzcmF0X3JlZ2lvbl9tYXNrID0g
cGR4X2luaXRfbWFzayhhZGRyKTsNCj4gPj4+ICsJc3JhdF9yZWdpb25fbWFzayA9IHBkeF9pbml0
X21hc2soKHU2NClhZGRyKTsNCj4gPj4NCj4gPj4gSSBkb24ndCBzZWUgdGhlIG5lZWQgZm9yIGEg
Y2FzdCBoZXJlLg0KPiA+Pg0KPiA+DQo+ID4gY3VycmVudCBhZGRyIHR5cGUgaGFzIGJlZW4gY2hh
bmdlZCB0byBwYWRkcl90LCBidXQgcGR4X2luaXRfbWFzaw0KPiA+IGFjY2VwdCBwYXJhbWV0ZXIg
dHlwZSBpcyB1NjQuIEkga25vdyBwYWRkcl90IGlzIGEgdHlwZWRlZiBvZg0KPiA+IHU2NCBvbiBB
cm02NC8zMiwgb3IgdW5zaW5nZWQgbG9uZyBvbiB4ODYuIEluIGN1cnJlbnQgc3RhZ2UsDQo+ID4g
dGhlaXIgbWFjaGluZSBieXRlLWxlbmd0aHMgYXJlIHRoZSBzYW1lLiBCdXQgaW4gY2FzZSBvZiBm
dXR1cmUNCj4gPiBjaGFuZ2VzIEkgdGhpbmsgYW4gZXhwbGljaXQgY2FzZSBoZXJlIG1heWJlIGJl
dHRlcj8NCj4gDQo+IEl0IG1heSBvbmx5IGV2ZXIgYmUgYW4gdXAtY2FzdCwgeWV0IHRoZSBjb21w
aWxlciB3b3VsZCBkbyBhIHdpZGVuaW5nDQo+IGNvbnZlcnNpb24gKGFjY29yZGluZyB0byB0aGUg
dXN1YWwgdHlwZSBjb252ZXJzaW9uIHJ1bGVzKSBmb3IgdXMNCj4gYW55d2F5IG5vIG1hdHRlciB3
aGV0aGVyIHRoZXJlJ3MgYSBjYXN0LiBEb3duLWNhc3RzIChpbiB0aGUgZ2VuZXJhbA0KPiBjb21w
aWxlciBjYXNlLCBpLmUuIGNvbnNpZGVyaW5nIGEgd2lkZXIgc2V0IHRoYW4ganVzdCBnY2MgYW5k
IGNsYW5nKQ0KPiBzb21ldGltZXMgbmVlZCBtYWtpbmcgZXhwbGljaXQgdG8gc2lsZW5jZSBjb21w
aWxlciB3YXJuaW5ncyBhYm91dA0KPiB0cnVuY2F0aW9uLCBidXQgSSd2ZSBub3Qgb2JzZXJ2ZWQg
YW55IGNvbXBpbGVyIHdhcm5pbmcgd2hlbiB3aWRlbmluZw0KPiB2YWx1ZXMuDQoNCk9rLCBJIHdp
bGwgZHJvcCB0aGF0IGNhc3QuDQoNCj4gDQo+IEphbg0KDQo=


From xen-devel-bounces@lists.xenproject.org Wed Jan 19 08:45:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 08:45:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258772.446053 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA6ae-00029P-Na; Wed, 19 Jan 2022 08:45:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258772.446053; Wed, 19 Jan 2022 08:45:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA6ae-00029I-Kd; Wed, 19 Jan 2022 08:45:12 +0000
Received: by outflank-mailman (input) for mailman id 258772;
 Wed, 19 Jan 2022 08:45:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lqGR=SD=socionext.com=hayashi.kunihiko@srs-se1.protection.inumbo.net>)
 id 1nA6ac-00029C-UG
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 08:45:10 +0000
Received: from mx.socionext.com (mx.socionext.com [202.248.49.38])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 1912fd0f-7904-11ec-a115-11989b9578b4;
 Wed, 19 Jan 2022 09:45:07 +0100 (CET)
Received: from unknown (HELO kinkan2-ex.css.socionext.com) ([172.31.9.52])
 by mx.socionext.com with ESMTP; 19 Jan 2022 17:45:04 +0900
Received: from mail.mfilter.local (m-filter-2 [10.213.24.62])
 by kinkan2-ex.css.socionext.com (Postfix) with ESMTP id F085B2059054;
 Wed, 19 Jan 2022 17:45:03 +0900 (JST)
Received: from 172.31.9.51 (172.31.9.51) by m-FILTER with ESMTP;
 Wed, 19 Jan 2022 17:45:03 +0900
Received: from [10.212.181.226] (unknown [10.212.181.226])
 by kinkan2.css.socionext.com (Postfix) with ESMTP id 11233B62A1;
 Wed, 19 Jan 2022 17:45:02 +0900 (JST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1912fd0f-7904-11ec-a115-11989b9578b4
Subject: Re: [patch] genirq/msi: Populate sysfs entry only once
To: Thomas Gleixner <tglx@linutronix.de>, LKML <linux-kernel@vger.kernel.org>
Cc: Bjorn Helgaas <helgaas@kernel.org>, Marc Zygnier <maz@kernel.org>,
 Alex Williamson <alex.williamson@redhat.com>,
 Kevin Tian <kevin.tian@intel.com>, Jason Gunthorpe <jgg@nvidia.com>,
 Megha Dey <megha.dey@intel.com>, Ashok Raj <ashok.raj@intel.com>,
 linux-pci@vger.kernel.org, Cedric Le Goater <clg@kaod.org>,
 xen-devel@lists.xenproject.org, Juergen Gross <jgross@suse.com>,
 Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
 Niklas Schnelle <schnelle@linux.ibm.com>, linux-s390@vger.kernel.org,
 Heiko Carstens <hca@linux.ibm.com>,
 Christian Borntraeger <borntraeger@de.ibm.com>,
 Logan Gunthorpe <logang@deltatee.com>, Jon Mason <jdmason@kudzu.us>,
 Dave Jiang <dave.jiang@intel.com>, Allen Hubbe <allenbh@gmail.com>,
 linux-ntb@googlegroups.com
References: <20211206210600.123171746@linutronix.de>
 <20211206210749.224917330@linutronix.de> <87leznqx2a.ffs@tglx>
 <1d5711be-c26d-d57b-10db-1b45d279515d@socionext.com> <87a6fsa935.ffs@tglx>
From: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Message-ID: <7d6445e9-011f-60ec-0fd0-3c354d507d57@socionext.com>
Date: Wed, 19 Jan 2022 17:45:01 +0900
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <87a6fsa935.ffs@tglx>
Content-Type: text/plain; charset=iso-2022-jp; format=flowed; delsp=yes
Content-Language: en-US
Content-Transfer-Encoding: 7bit

Hi Thomas,

On 2022/01/19 8:59, Thomas Gleixner wrote:
> Kunihiko,
> 
> On Wed, Jan 12 2022 at 09:05, Kunihiko Hayashi wrote:
>> Is this fix the same as below?
>> https://marc.info/?l=linux-kernel&m=164061119923119&w=2
> 
> pretty much the same, but I missed that patch. I was off for 2+ weeks
> and on return Boris poked me about this issue and I fixed it. Then I
> went ahead and marked all vacation mail read as I always do :)
> 
> So sorry for not noticing that patch.

No problem. If this issue wansn't resolved, the PCIe controller wouldn't
work properly, so I'm relieved to solve the issue and get your response.

Thank you,

---
Best Regards
Kunihiko Hayashi


From xen-devel-bounces@lists.xenproject.org Wed Jan 19 08:46:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 08:46:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258775.446065 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA6c6-0002j6-31; Wed, 19 Jan 2022 08:46:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258775.446065; Wed, 19 Jan 2022 08:46:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA6c5-0002iz-Vm; Wed, 19 Jan 2022 08:46:41 +0000
Received: by outflank-mailman (input) for mailman id 258775;
 Wed, 19 Jan 2022 08:46:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SXRn=SD=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nA6c4-0002io-3C
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 08:46:40 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4f735d6a-7904-11ec-a115-11989b9578b4;
 Wed, 19 Jan 2022 09:46:38 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4f735d6a-7904-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642581997;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=7/rYP3S/GTuHtnWE/vpk0E/tpwCH17y5ZhjylmZ3/9U=;
  b=F8bAX2Gdqb5bExYPrnIDSGOW8PLoGn7GWVRpSxx/aMNHB+V+nytFB/vM
   /T9FC+/cv13JL2PmvpvD8KG1G3/Z2luG1mRbCXWyn6rU6ShCCRIchGKV5
   UvxtRGGz2C5NmykoHhsOiFIcWGnDxU7/CH/RtiGCI/vNoftz5rSJ1WzzO
   Q=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: 1zgF++htwVn4p8NMbXFpxH/6FLFHfETlW3zL4sbV9ffkDY8WddiBR7UqYdjWR7aoRqzYX5gCV/
 zEn0ZedqjE7bSFN6dxbVLFwEQ1jpj7usOAJfBhnX2pSVYpZ10juRKsA15S3IoLYZtoy+7LqKAG
 jvWnZgjPCeqvGfzVpDxn+rNkaLagQ4ReKzr+8i0fmUe9hjEhZcv2nVwhlF9nt3ncgWIQcTj1i+
 CDMquik7meD7KaGsxpWu0ptn7jvAtGZdYOegbgpYw8i8kNejmP7YKZctK7usj0C/ST5rvbV4ow
 PORbKSUsIc79CiI4Z+XzCWQZ
X-SBRS: 5.2
X-MesageID: 62294697
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:1BF9zKrXnqQrtQDKUwBK+tO4AXBeBmL5YhIvgKrLsJaIsI4StFCzt
 garIBmFM/iOMDDyedAiPIq0oUICsMCAx4M1TlA/qy83EX8S8JuZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlZT4vE2xbuKU5NTsY0idfic5Dndx4f5fs7Rh2NQw2IHoW1rlV
 e7a+KUzBnf0g1aYDUpMg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJ8DO+iL
 9sv+Znilo/vE7XBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XnRfTAKtao2zhojx/9
 DlCnZWreyMRDK3eousiYT9hFQNUOIYb6rCSdBBTseTLp6HHW37lwvEoB0AqJ4wIvO1wBAmi9
 9RBdmpLNErawbvrnvTrEYGAhex6RCXvFJkYtXx6iynQEN4tQIzZQrWM7thdtNs1rp4UR6eCO
 ZtGAdZpRBjAPidFJVtOM4AZgNWMm2e8LzAEsWvA8MLb5ECMlVcsgdABKuH9ZdiiVchT2EGCq
 Qru72n/Rx0XKtGb4T6E6W63wP/CmzvhX4AfH6H+8eRl6HWRzGEODBwdVXOgvOK0zEW5Xrpix
 1c8o3R06/JorQryE4e7D0bQTGO4UgA0UsFiN9UI6BO3xZXmxT+fJEIBZWNTZ4lz3CMpfgAC2
 liMltLvIDVgtryJVH6QnoupQSOO1Ts9djFbO3JdJecRy5y6+dxo0EqTJjp2OPft1oWdJN3m/
 9ydQMHSbZ03hNVD6ai09Euvb9mE9smQFV5dCuk6swuYAuJFiGyNO93ABbvzt68owGOlor+p5
 ihsdy+2trFmMH11vHbRKNjh5Znwjxp/DBXSgER0A74q/Cm39niocOh4uW8ifhoya5peJmGzO
 Sc/XD+9ArcJbBNGioctMuqM5zkCl/C8RbwJqNiJBjaxXnSBXFDep3w/DaJh92vsjFItgckC1
 WSzKq6R4YIhIf0/llKeHr5FuZdyn3xW7T6NGfjTkkr2uZLDNC/9YepUazOmM7FmhJ5oVS2Iq
 b6zwePQlUUGOAA/CwGKmbMuwacidilkVcuo+p0OJoZu4GNOQQkcNhMY+pt4E6RNlKVJjObYu
 Ha7X05T0l3kgnPbbw6NbxhehHnHB/6TdFo3Yn4hO0iGwX8mbdr95asTbcJvL7Im6PZi3bh/S
 PxcI5eMBfFGSzLm/TUBbMai8Nw+JUrz3Q/ebTC4ZDUffoJ7Q1Cb8NHTYQaypjIFCTC6tJVir
 uT4hB/bW5cKWy9rEN3SNKC011q0sHVEwLByUkLEL8N9YkLp9IQ2eSX9guVue5MHKAnZxyvc3
 AGTWE9Kqe7Iqo4z0d/ImaHb8Nv5T7ogRhJXRjCJ46y3OC/W+nuY7bVBCOvYLyrAUG7U+bm5Y
 bkHxf/LL/Bazk1BtJBxEug3wPtmtcfvvbJT0i9tAG7PMwawErplL3SLgZtPu6lKyuMLsAe6Q
 BvSqNxTOLHPM8L5Cl8BYgEia73bh/0TnzDT69UzIVn7u3ArrObWDx0KMknekjFZIZt0LJghk
 LUot8Mh4gCijgYnb4SdhSdO+mXQdnENXs3LbH3B7FMHXubz9mx/XA==
IronPort-HdrOrdr: A9a23:4bzBvKuTQm1v2MY0/aAMq1G07skC7oMji2hC6mlwRA09TyXGra
 +TdaUguSMc1gx9ZJhBo7G90KnpewK6yXdQ2/hqAV7EZniahILIFvAY0WKG+VPd8kLFh4xgPM
 tbAs1D4ZjLfCRHZKXBkXiF+rQbsaC6GcmT7I+0pRcdLj2CKZsQlzuRYjzrbHGeLzM2Y6bReq
 Dsgvau8FGbCAsqh4mAdzI4dtmGg+eOuIPtYBYACRJiwA6SjQmw4Lq/NxSDxB8RXx5G3L9nqA
 H+4kHEz5Tml8v+5g7X1mfV4ZgTsNz9yuFbDMjJrsQOMD3jhiuheYwkcbyfuzIepv2p9T8R4Z
 PxiiZlG/42x2Laf2mzrxeo8w780Aw243un8lOciWuLm72OeBsKT+56wa5JeBrQ7EQt+Ptm1r
 hQ4m6fv51LSTvdgSXU/bHzJl9Xv3vxhUBnvf8YjnRZX4dbQqRWt5Yj8ERcF4pFND7m6bogDP
 JlAKjnlblrmGuhHjDkV1RUsZ+RtixZJGbFfqFCgL3Y79FupgE586NCr/Zv20vp9/oGOu55Dq
 r/Q+BVfYp1P7wrhJRGdZM8qPuMexzwqC33QRCvyHTcZeg60iH22tbKCItc3pDeRHVP9up0pK
 j8
X-IronPort-AV: E=Sophos;i="5.88,299,1635220800"; 
   d="scan'208";a="62294697"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IWdBsWd8fmZov+220hplsvyJSLqQrkvQVuYj5zWnCcQsvOHgiJUou4Rv2/WE6bQvJzvcOQh6FGVbg33D9oWrp0drnDoqH14gB1ySwSsExjU/Ce/thfHfkRnJ6jy/ZLZhA/mQelA9vzFC/rrEVqhnQbKjZQvTmIJLPJkSUR/wVwt90tJVEFQBTRp4CAYyE8WLPIIauFg/b0Ja1tdqqMjIEDCd67lNPVv/UTgUBBaJUZLBH7X+bBHZL6weRsS9Z3ltv04k8Yne8RYhAPNGFWMQa9zMkKnZl0jpqw4qtU4bTdtDMivVCkUZ4bOqrWhL9wvNPdtCgGKDljSf1qirbfp+nw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JeLSh4Yg6b3fmZr3jFmOSIw8LngkfrgTdBlog1LrqeM=;
 b=JrbkuqnmMX/BtHBdHF0T5QMmVCdkuAdEB585WeOCK97wfzojo50qEBLi2hj8u/xUfv7k3I7svYrzpyYbrK9JVB3Cc34CE+SfnYEMdXwneuWdAJb13gHBqg86F4ViUy+UIHwUPrdqWLoWElescXB2yxsxfFhRqoZXZaxy5/i0qnBPCW9F9/IszWIqBQ/RNs6Muf+XOg1+nbHZNxJVGOE8lv1LGhoebhGnNi6XbM1E20NPj9pbJ/nrY8E/h+owHnsdHxZZbvO5iolH/owkLLsUpn493/Bam8w5EtQRK2LdJ4sXc0ANBcubvhKpea4xnxeP7UWrdfbdz7Qx6BzCrYa8kA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JeLSh4Yg6b3fmZr3jFmOSIw8LngkfrgTdBlog1LrqeM=;
 b=F+cwpsqB95Ej8sRpZd7il6Ijdo4K6VYzVoybsIbEdkaUEwKKbK70yude96ksv99FeIKJ4Wq8eK3W/qxaIitkLYrDZv2MsctKKvDe8oYjfAkKL2oB8KxF1d9YimMChw5T1JenWcXoyw0Yl50JSaoKyMpOT2s/l4gfofDfCFsAdk8=
Date: Wed, 19 Jan 2022 09:46:26 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH] x86/time: further improve TSC / CPU freq calibration
 accuracy
Message-ID: <YefP4if57LzJGr45@Air-de-Roger>
References: <6c50c7b6-e521-e34f-1808-a4e2961b807e@suse.com>
 <Yea2XRrFn7qCIx/h@Air-de-Roger>
 <4bc4e379-fc9c-581a-3b03-9025e9fd92cc@suse.com>
 <YebJPd62a7rB+KTw@Air-de-Roger>
 <1bc72631-6d76-d25c-bbab-6a7ae6f8260d@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <1bc72631-6d76-d25c-bbab-6a7ae6f8260d@suse.com>
X-ClientProxiedBy: MR2P264CA0144.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:30::36) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ba23a8e2-a300-43ea-48a6-08d9db283184
X-MS-TrafficTypeDiagnostic: PH0PR03MB6365:EE_
X-Microsoft-Antispam-PRVS: <PH0PR03MB6365BFC86B35A4E71A01D63F8F599@PH0PR03MB6365.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: JP2VIQpBgNPDIcoMiI0Wl5pTE02d5JpcF6kEE0/0j1wX21GWOXMT52gyetxs6bFb8I+AIWwbEJ9Spax1cxLav1z0Ui0+QJfrO0/pBWmB7ZGGmWPiTaPI+mjZwa+XcQJz23y9t59qi5QAzkwvbPvGuQVu2+iJ+k9ClqxDibmkDi4mg9E9eiXZqTZOcwymV9vJvRLoJx85qLlSQc3DWGdWp/o8a1GHKZ9kbn0Uo9P/X/nlIBRzR8zZnothKvd9K2jZsYbASoEDU93lcjxnKyWZg8MOvldHovitOxQTU18EV2ghzJSNXQR3rwQez7DyD6cgxx0cC0SaIxoRTHAzPauEu62LvaoXxYPyyMfHc0MESLajYrAfp6z7XMCOsi8KoSHLdpvIlH2+b50ZR6lDwJbp6FYAPi4PM6AKii8tLKuGS8AUPQuSSWvzxlkfMdZF3OOfZCCidCLMx12gWpKHEHOvvN41ZD5d2w8U6iVt3kuY6CxMEhvxt8kg1r31txWsOmJTVBmEsFMaCtcz35s0OXkMyDEthtr9n305zLUbgy1ilwez2znVrQ7xdnzvJGk+hz2t
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(186003)(38100700002)(6486002)(6916009)(6512007)(53546011)(6506007)(9686003)(26005)(86362001)(82960400001)(66556008)(66476007)(6666004)(2906002)(66946007)(54906003)(5660300002)(8676002)(33716001)(316002)(508600001)(85182001)(4326008)(83380400001)(8936002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 35AQVS1qf8UkjBT1Bdm/kz/1+3DsWp67ypGY7D6UUtr9mBwnlFx6xyPF+ZAUs4POSQlqRHTY7/V42kiIqAJWnocFTPdCC3ICEAFWuO0po/jfJo964MC3qIKiqb/mxnQTYuFy/fwFGieaRTaYcfn7GNzrh8SK6WBQLznsbFk6BwZQCVJFI9DMSLig/u8ynfBWwjyHg0z12SNmkN/jsSnaIy8Zy8bQFgDsnEMxTM5s3EYbWHHCMAXou/Ab8BeaMzA9BICmJNKVq9IEpTHYi8nBnhNBG76+lGmBvPeS7DfLrci/aOm9xxr7ffysOwVZXtoWEE3jAl6jX4/VOSHBdQe9RVzcATImCDh9S2nu2yF1gDAYgFKreccFhrrg0/LeingEGopAZ+aLrFZ2W6IPFyb2JEIKD26nVqPIThSuHn0oKXlElsuJf62xVjjzKL7fbH9+
X-MS-Exchange-CrossTenant-Network-Message-Id: ba23a8e2-a300-43ea-48a6-08d9db283184
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2022 08:46:32.7750
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: TA/MCqFbOG7E/m8d6Q9VVwAkLOyzz4c9cILl6HhNnM8bfLcLDYBmRlHW8scTax2E2CLIJUFtaSOJ6RrvQDyvdQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6365
X-OriginatorOrg: citrix.com

On Tue, Jan 18, 2022 at 03:26:36PM +0100, Jan Beulich wrote:
> On 18.01.2022 15:05, Roger Pau Monné wrote:
> > On Tue, Jan 18, 2022 at 02:39:03PM +0100, Jan Beulich wrote:
> >> On 18.01.2022 13:45, Roger Pau Monné wrote:
> >>> On Thu, Jan 13, 2022 at 02:41:31PM +0100, Jan Beulich wrote:
> >>>> Calibration logic assumes that the platform timer (HPET or ACPI PM
> >>>> timer) and the TSC are read at about the same time. This assumption may
> >>>> not hold when a long latency event (e.g. SMI or NMI) occurs between the
> >>>> two reads. Reduce the risk of reading uncorrelated values by doing at
> >>>> least four pairs of reads, using the tuple where the delta between the
> >>>> enclosing TSC reads was smallest. From the fourth iteration onwards bail
> >>>> if the new TSC delta isn't better (smaller) than the best earlier one.
> >>>
> >>> Do you have some measurements as to whether this makes the frequency
> >>> detection any more accurate?
> >>
> >> In the normal case (no SMI or alike) I haven't observed any further
> >> improvement on top of the earlier patch.
> >>
> >>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> >>>> ---
> >>>> Obviously (I think) instead of having both read_{hpet,pmtmr}_and_tsc()
> >>>> the calibration logic could be folded between HPET and PMTMR, at the
> >>>
> >>> As an intermediate solution you could have a read_counter_and_tsc I
> >>> would think?
> >>
> >> Not sure in which way you view this as "intermediate".
> > 
> > As in not unifying both calibration logic into a single function, but
> > rather just use a generic function to read the counter and TSC.
> > 
> > With your original remark I assumed that you wanted to unify all the
> > calibration code in init_hpet and init_pmtimer into a generic
> > function, but maybe I've misunderstood.
> 
> Oh, I see. I have to admit that I see little value (at this point) to
> break out just the pair-read logic. While I did say we have similar
> issues elsewhere, my initial analysis has left me with the impression
> that those other cases are sufficiently different for such a helper to
> be of no use there.
> 
> >>>> expense of a couple more indirect calls (which may not be that much of a
> >>>> problem as this is all boot-time only). Really such folding would have
> >>>> been possible already before, just that the amount of duplicate code
> >>>> hasn't been this large so far. IOW if so desired, then perhaps the
> >>>> folding should be a separate prereq patch.
> >>>
> >>> You could even pass a platform_timesource as a parameter to that
> >>> generic read counter and TSC helper.
> >>
> >> This was the plan, yes, in case I was asked to follow that route (or
> >> if I decided myself that I'd prefer that significantly over the
> >> redundancy).
> > 
> > I think having a generic read_counter_and_tsc would be better than
> > having read_{hpet,pmtmr}_and_tsc.
> > 
> >>
> >>>> --- a/xen/arch/x86/time.c
> >>>> +++ b/xen/arch/x86/time.c
> >>>> @@ -392,9 +392,36 @@ static u64 read_hpet_count(void)
> >>>>      return hpet_read32(HPET_COUNTER);
> >>>>  }
> >>>>  
> >>>> +static uint32_t __init read_hpet_and_tsc(uint64_t *tsc)
> >>>> +{
> >>>> +    uint64_t tsc_prev = *tsc = rdtsc_ordered(), tsc_min = ~0;
> >>>> +    uint32_t best = best;
> >>>> +    unsigned int i;
> >>>> +
> >>>> +    for ( i = 0; ; ++i )
> >>>> +    {
> >>>> +        uint32_t hpet = hpet_read32(HPET_COUNTER);
> >>>> +        uint64_t tsc_cur = rdtsc_ordered();
> >>>> +        uint64_t tsc_delta = tsc_cur - tsc_prev;
> >>>> +
> >>>> +        if ( tsc_delta < tsc_min )
> >>>> +        {
> >>>> +            tsc_min = tsc_delta;
> >>>> +            *tsc = tsc_cur;
> >>>> +            best = hpet;
> >>>> +        }
> >>>> +        else if ( i > 2 )
> >>>> +            break;
> >>>> +
> >>>> +        tsc_prev = tsc_cur;
> >>>
> >>> Would it be better to set tsc_prev to the current TSC value here in
> >>> order to minimize the window you are measuring? Or else tsc_delta will
> >>> also account for the time in the loop code, and there's more
> >>> likeliness from being interrupted?
> >>
> >> I did consider this (or some variant thereof), but did for the moment
> >> conclude that it wouldn't make enough of a difference. If you think
> >> it would be meaningfully better that way, I'll switch.
> >>
> >> Both here and for the aspect above, please express you preference (i.e.
> >> not in the form of a question).
> > 
> > Let's leave it as-is (just one TSC read per loop iteration).
> > 
> >>> I guess being interrupted four times so that all loops are bad is very
> >>> unlikely.
> >>>
> >>> Since this loop could in theory run multiple times, do we need to
> >>> check that the counter doesn't overflow? Or else the elapsed counter
> >>> value would be miscalculated.
> >>
> >> I don't think I see any issue with overflow here. It's the callers
> >> who need to care about that. And I don't think this function will run
> >> for long enough such that a counter would not only wrap, but also
> >> reach its initial count again.
> > 
> > Right, I haven't expressed myself correctly. It's not overflowing the
> > issue, but rather wrapping to the start count value. Limiting the
> > iterations to some fixed value (10?) in order to remove that
> > possibility completely would be OK for me.
> 
> Hmm, I was in fact hoping (and trying) to get away without any arbitrarily
> chosen numbers. The loop cannot be infinite in any event ... Please let me
> know how strong you feel about putting in place such an arbitrary limit.

It was mostly for safety reasons, I wouldn't expect that loop to need
more than 4 iterations really (which is also an arbitrary chosen
number). Let's leave it without any limit then for the time being.

Roger.


From xen-devel-bounces@lists.xenproject.org Wed Jan 19 08:51:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 08:51:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258778.446076 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA6gM-0004Cn-N7; Wed, 19 Jan 2022 08:51:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258778.446076; Wed, 19 Jan 2022 08: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 1nA6gM-0004Cg-JV; Wed, 19 Jan 2022 08:51:06 +0000
Received: by outflank-mailman (input) for mailman id 258778;
 Wed, 19 Jan 2022 08:51:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uvFD=SD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nA6gL-0004Ca-0R
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 08:51:05 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eec2389f-7904-11ec-a115-11989b9578b4;
 Wed, 19 Jan 2022 09:51:03 +0100 (CET)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2111.outbound.protection.outlook.com [104.47.17.111]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-14-CHHVAtvUN32LrK7sCaQ4yA-1; Wed, 19 Jan 2022 09:51:02 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DB7PR04MB5945.eurprd04.prod.outlook.com (2603:10a6:10:87::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.8; Wed, 19 Jan
 2022 08:51:00 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.014; Wed, 19 Jan 2022
 08:51:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eec2389f-7904-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642582263;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=EklnftRDum7HT1aafqN2umGleKiF5ziptCVMnujYoEY=;
	b=PL5BZ88ANEnu/edBKulZ0cRTPxRQdvA/vVewElpRZjlsKLTqMdEaN7aE36gOpeoY+EedRr
	8GbjlWgKlEAGjgQPPNpO+nuj8uQIYU7zf6I1MUc94Yk7ILR9vn8HjgKin6Xlg+wHpNzzeY
	8dnPbPQ5ZgVZvC2xwQb9ZddK/AQKZrw=
X-MC-Unique: CHHVAtvUN32LrK7sCaQ4yA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IdPv73rkDuR0FTLADqlvRpmlkvlc5In/J0CVmtS4nKB5KFxsj3hHXp6vlqPqgmnCBGeUO3w8boe6YK0dYKoUCg7pOMgK9WjKTBfMgiQ4cAdj21ieUHIoaiPgEDpuNxjxu0kEy/DixvX2Va5ko/hvo36d5NFTZ4IKgKkH8Q1xQ+H6feoNanYHO0aMoGe4Vd8+UilP1leChwfxjXn9a7oeKoK8sdqffAV8kq/rJ9PqNQboh8VpM3C4xxgfwhjMeQgoUbc0KBvyowDr3SlAwY8mYwF4E60vPK8DWzhNkIspCblZ+OJF7BA/3WsfOYUkSktpBpK2qScHf9l3+f26ma/pXw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=33QpueoLz64GhrcHzT18N/M0iNqcNVFbyEsLhN19/4A=;
 b=FcADnnscrE8nWni96mXAsux4hBpglU+r/DtElrJ0IBNu1PcQpCiao3udMCyk/0OfVDSxqikIhOYe/DCVuzR70w0x65AYU0d4glIF67PY0axz6uPqlxvHKdaDjWz4fsMok0EAcl18rNBKfDE0QN2MwpaJkry2iNAplvE31kvjcelRjOxSDSy35vVdnD8aeFzludYEJLRCLDqH2cxcwS08fjoxEkvRXZyx1K+J429Bm1qju6G6ORqUtxZOjg/zKa5rXv8+tP4o1dYdm0ChOjSSBM3fPRrhIA/T4TJOcSE90330ckiH5t506JHa3E8Yvwnlgpc0yDrIHQb6mcCGaCMr7A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3ee31401-11b9-a85b-cbb1-3210fafc1529@suse.com>
Date: Wed, 19 Jan 2022 09:50:59 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH] x86/time: further improve TSC / CPU freq calibration
 accuracy
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
References: <6c50c7b6-e521-e34f-1808-a4e2961b807e@suse.com>
 <Yea2XRrFn7qCIx/h@Air-de-Roger>
 <4bc4e379-fc9c-581a-3b03-9025e9fd92cc@suse.com>
 <YebJPd62a7rB+KTw@Air-de-Roger>
 <1bc72631-6d76-d25c-bbab-6a7ae6f8260d@suse.com>
 <YefP4if57LzJGr45@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YefP4if57LzJGr45@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM6PR04CA0058.eurprd04.prod.outlook.com
 (2603:10a6:20b:f0::35) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2b859ca4-ed06-4b65-b732-08d9db28d0ec
X-MS-TrafficTypeDiagnostic: DB7PR04MB5945:EE_
X-Microsoft-Antispam-PRVS:
	<DB7PR04MB594519165608AE4D8449D7CEB3599@DB7PR04MB5945.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:
	C/5rgBikAvvvX/InwWa9VCvSsmeOeFg9FULRJ+BhgZZOcl+dTDJOhQwWdul8w6jWUdOdutHH9PI6XxJ79PT4krjpB6E9mbnxRxJwXzJdSDZQbwNdMS4pe3SEwnGszGUKLj/NZdQaaE8DOeH9QCRQ9sqlE9rP5o6u5EJM3khRWcD1djeELU5JocEXMjljCNe9vxwq5K7L49i+wvjAYSLrCqAcO+NATnbRsW6BNQS0lOha29iR0WG4LmrrvMgVFfIOnu6+eh9CESwN0zSfA423h0J3aeAWSb30MpyhrL6O+SblJ3vf0vAuEJK+2QWFIFtKEeMNSPOe8GyU/2tvEYXuIKia8A7dFPFJw+bwUW/ajR92h3CJpI3H0lj6lYP/S9/R3nf0GAbQ/SLdMvZg7DLqV4VIkBo/f+63fByXb+bTnzg4JehuM43teBxOMbp8sgGxEYO+jC184vOlCFCk7a4dCHYiESike3zOdi+UXTiDw8/fWf4KAhd7iFk9gHd2vqUggDe9cNtw8aS63Lh1udIclBtcZUrVMaVMxHUFc5fTLsDIp1p06QklxZ5c0nxRvM9R3249LVrUWZQjz88435e0j/JkC7qeNuDbOYjUi2Ca7StmYJweB0xZquCzt5miJdnWtz5E6rqfYIjBSXXYP3Q69s+mxgiFxHdh/mryNBzSY5E=
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)(2906002)(8936002)(2616005)(508600001)(8676002)(6916009)(36756003)(66556008)(66476007)(53546011)(6506007)(54906003)(6486002)(26005)(5660300002)(38100700002)(316002)(6512007)(186003)(4326008)(86362001)(31686004)(31696002)(83380400001)(66946007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	f8xCKickrWkeBkSAjC144+kI2r1q+RNObXlmYfqOt7UhrUIioW6riOq34M2+uFGt70rFw42gh3ILxPcxO2fW4b7XfWfVTmXCqZwHGM8sPmu0Dz6S90/1i9JB9vlwKEl18VSASPS5TVnX3BGVO+2H108p9wm3FtoV2qQj231+GZWKGkTHQWDw/drvWIW4C7oGnpVXp1IJi1Ch7Wdh7EcUpwxP1w/LhIJqhnUhwfV+A/T5WXmw5WjoPCUQZSngGvWx8sucBHwW0o1r4y1KtpGIQQfUN9SSclThNdZ8aaDLqk8MMvOKYJm6P7zA/iKuCePIttK9cOeMoMTU6pPaytFY7tJvvKDipKggVEU7uiZs8Qu2kedZsrDVaXNIEjoPYCwUYk6OnwOgg7Pc2N8qpQpZCrlCix/OSwTdYWtddrunVEJLJZeBXeNCt1Ol0fkkj1TS
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2b859ca4-ed06-4b65-b732-08d9db28d0ec
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2022 08:51:00.0954
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: H+7dZqCujGtoL9grAdSV0tRMgFXMynuFUP4CWPbV8LdTIgDML4d32Ibs2pKPoOHRoP6iw/T69mZgaKSa1S3PgA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB5945

On 19.01.2022 09:46, Roger Pau Monn=C3=A9 wrote:
> On Tue, Jan 18, 2022 at 03:26:36PM +0100, Jan Beulich wrote:
>> On 18.01.2022 15:05, Roger Pau Monn=C3=A9 wrote:
>>> On Tue, Jan 18, 2022 at 02:39:03PM +0100, Jan Beulich wrote:
>>>> On 18.01.2022 13:45, Roger Pau Monn=C3=A9 wrote:
>>>>> On Thu, Jan 13, 2022 at 02:41:31PM +0100, Jan Beulich wrote:
>>>>>> Calibration logic assumes that the platform timer (HPET or ACPI PM
>>>>>> timer) and the TSC are read at about the same time. This assumption =
may
>>>>>> not hold when a long latency event (e.g. SMI or NMI) occurs between =
the
>>>>>> two reads. Reduce the risk of reading uncorrelated values by doing a=
t
>>>>>> least four pairs of reads, using the tuple where the delta between t=
he
>>>>>> enclosing TSC reads was smallest. From the fourth iteration onwards =
bail
>>>>>> if the new TSC delta isn't better (smaller) than the best earlier on=
e.
>>>>>
>>>>> Do you have some measurements as to whether this makes the frequency
>>>>> detection any more accurate?
>>>>
>>>> In the normal case (no SMI or alike) I haven't observed any further
>>>> improvement on top of the earlier patch.
>>>>
>>>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>>>> ---
>>>>>> Obviously (I think) instead of having both read_{hpet,pmtmr}_and_tsc=
()
>>>>>> the calibration logic could be folded between HPET and PMTMR, at the
>>>>>
>>>>> As an intermediate solution you could have a read_counter_and_tsc I
>>>>> would think?
>>>>
>>>> Not sure in which way you view this as "intermediate".
>>>
>>> As in not unifying both calibration logic into a single function, but
>>> rather just use a generic function to read the counter and TSC.
>>>
>>> With your original remark I assumed that you wanted to unify all the
>>> calibration code in init_hpet and init_pmtimer into a generic
>>> function, but maybe I've misunderstood.
>>
>> Oh, I see. I have to admit that I see little value (at this point) to
>> break out just the pair-read logic. While I did say we have similar
>> issues elsewhere, my initial analysis has left me with the impression
>> that those other cases are sufficiently different for such a helper to
>> be of no use there.
>>
>>>>>> expense of a couple more indirect calls (which may not be that much =
of a
>>>>>> problem as this is all boot-time only). Really such folding would ha=
ve
>>>>>> been possible already before, just that the amount of duplicate code
>>>>>> hasn't been this large so far. IOW if so desired, then perhaps the
>>>>>> folding should be a separate prereq patch.
>>>>>
>>>>> You could even pass a platform_timesource as a parameter to that
>>>>> generic read counter and TSC helper.
>>>>
>>>> This was the plan, yes, in case I was asked to follow that route (or
>>>> if I decided myself that I'd prefer that significantly over the
>>>> redundancy).
>>>
>>> I think having a generic read_counter_and_tsc would be better than
>>> having read_{hpet,pmtmr}_and_tsc.

Btw, I think I will want to break out the full calibration logic, to then
further generalize it to make suitable for LAPIC timer calibration (then
no longer against the PIT, but against the earlier chosen platform timer).

>>>>>> --- a/xen/arch/x86/time.c
>>>>>> +++ b/xen/arch/x86/time.c
>>>>>> @@ -392,9 +392,36 @@ static u64 read_hpet_count(void)
>>>>>>      return hpet_read32(HPET_COUNTER);
>>>>>>  }
>>>>>> =20
>>>>>> +static uint32_t __init read_hpet_and_tsc(uint64_t *tsc)
>>>>>> +{
>>>>>> +    uint64_t tsc_prev =3D *tsc =3D rdtsc_ordered(), tsc_min =3D ~0;
>>>>>> +    uint32_t best =3D best;
>>>>>> +    unsigned int i;
>>>>>> +
>>>>>> +    for ( i =3D 0; ; ++i )
>>>>>> +    {
>>>>>> +        uint32_t hpet =3D hpet_read32(HPET_COUNTER);
>>>>>> +        uint64_t tsc_cur =3D rdtsc_ordered();
>>>>>> +        uint64_t tsc_delta =3D tsc_cur - tsc_prev;
>>>>>> +
>>>>>> +        if ( tsc_delta < tsc_min )
>>>>>> +        {
>>>>>> +            tsc_min =3D tsc_delta;
>>>>>> +            *tsc =3D tsc_cur;
>>>>>> +            best =3D hpet;
>>>>>> +        }
>>>>>> +        else if ( i > 2 )
>>>>>> +            break;
>>>>>> +
>>>>>> +        tsc_prev =3D tsc_cur;
>>>>>
>>>>> Would it be better to set tsc_prev to the current TSC value here in
>>>>> order to minimize the window you are measuring? Or else tsc_delta wil=
l
>>>>> also account for the time in the loop code, and there's more
>>>>> likeliness from being interrupted?
>>>>
>>>> I did consider this (or some variant thereof), but did for the moment
>>>> conclude that it wouldn't make enough of a difference. If you think
>>>> it would be meaningfully better that way, I'll switch.
>>>>
>>>> Both here and for the aspect above, please express you preference (i.e=
.
>>>> not in the form of a question).
>>>
>>> Let's leave it as-is (just one TSC read per loop iteration).
>>>
>>>>> I guess being interrupted four times so that all loops are bad is ver=
y
>>>>> unlikely.
>>>>>
>>>>> Since this loop could in theory run multiple times, do we need to
>>>>> check that the counter doesn't overflow? Or else the elapsed counter
>>>>> value would be miscalculated.
>>>>
>>>> I don't think I see any issue with overflow here. It's the callers
>>>> who need to care about that. And I don't think this function will run
>>>> for long enough such that a counter would not only wrap, but also
>>>> reach its initial count again.
>>>
>>> Right, I haven't expressed myself correctly. It's not overflowing the
>>> issue, but rather wrapping to the start count value. Limiting the
>>> iterations to some fixed value (10?) in order to remove that
>>> possibility completely would be OK for me.
>>
>> Hmm, I was in fact hoping (and trying) to get away without any arbitrari=
ly
>> chosen numbers. The loop cannot be infinite in any event ... Please let =
me
>> know how strong you feel about putting in place such an arbitrary limit.
>=20
> It was mostly for safety reasons, I wouldn't expect that loop to need
> more than 4 iterations really (which is also an arbitrary chosen
> number).

Fair point - I should have said "without further arbitrarily chosen
numbers".

> Let's leave it without any limit then for the time being.

Thanks.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 19 09:03:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 09:03:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258783.446087 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA6rl-0005l3-Qt; Wed, 19 Jan 2022 09:02:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258783.446087; Wed, 19 Jan 2022 09:02:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA6rl-0005kw-NU; Wed, 19 Jan 2022 09:02:53 +0000
Received: by outflank-mailman (input) for mailman id 258783;
 Wed, 19 Jan 2022 09:02:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=skML=SD=suse.com=dfaggioli@srs-se1.protection.inumbo.net>)
 id 1nA6rk-0005kq-JT
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 09:02:52 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9493e363-7906-11ec-9bbc-9dff3e4ee8c5;
 Wed, 19 Jan 2022 10:02:51 +0100 (CET)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2059.outbound.protection.outlook.com [104.47.0.59]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-20-STav_W4eMW2KGUfOvBbJ6A-1; Wed, 19 Jan 2022 10:02:49 +0100
Received: from AM0PR04MB5826.eurprd04.prod.outlook.com (2603:10a6:208:134::22)
 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.4888.12; Wed, 19 Jan
 2022 09:02:46 +0000
Received: from AM0PR04MB5826.eurprd04.prod.outlook.com
 ([fe80::89d1:c043:73b0:be06]) by AM0PR04MB5826.eurprd04.prod.outlook.com
 ([fe80::89d1:c043:73b0:be06%6]) with mapi id 15.20.4888.014; Wed, 19 Jan 2022
 09:02:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9493e363-7906-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642582971;
	h=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=q1nCisR+MpxMjCvUUdyHb0D1eVkTXqFbRGIji655TQI=;
	b=RUP+Wl6+SvDpSCPeSr1Cd/544sqcjL7QLFbPOJeu9JTvnguM8Jc5d9NcEwi4PPHQ6NVd7j
	97Djp8JXAWuGZ0NUZC/PMDb5eVZ6i4rmdg7d/RJ0uVm+B189L8WlO7xV7X3YPbT3VufWl7
	cQP7fniuvEXdIFdjNzwsbHNc+cwMkxU=
X-MC-Unique: STav_W4eMW2KGUfOvBbJ6A-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nOw6WYiUV2E2sgU6ibKwx4ZEJA1OxuxO8JfPSSlCQEYZxch3WU0QGdoUtqO5yeZiyldl3cLat9NDr7QCFfzvGgbh05N0gitoEVpjYS+WgRR0UE6yE9lSqcM0BF9KJlrQ0yThYeB08p573hG47Sxf3mz2moGbW7zCl9ArUwh/8AK06j6IcaVvPI5qJ6uPgC9M3AGDYly6Qsi4ZcXW7gzzSOW/TtRPyuaolE7slSIyXRiStyZddwPh1FlX5L/TyuZw1g35wvvclGyGPvZiOHh7j5A0s07p5pelh1i0KfDv8Niz9eUtwNMY14d3TYKQxAde9QjTkG62eHgBPCiZr3JypQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=q1nCisR+MpxMjCvUUdyHb0D1eVkTXqFbRGIji655TQI=;
 b=E3eHApyMsuWKb7e9L1qUygszpG15ipe0zPi5yMNrJfLYtnEuC92OOwVgeN6da6nqADxxQvIaW8yataZzS9eFsR6KVfLG7PPKqZo7A41+Y/pHwCncwKN8Id+Ha5X54w4iv0+gyxzNwbegk1djDzjA2wHrce9XShBWyhKAVwTpaES9lTiFzQ6IwKFhrlxsXAjVqRsW8FKzIlNeT3yhFyflkPn/8ewhvCfagMvRfAYW9Cx1zz//vieHp4Znku4RUqpqtlFt3/UXHvQRdqC3IJZPemhDj45Tnpc+sPjLiD60bTI1hzwGBGGD3dgHg87a+Jn/DqvyW5oMCtic1LbydpKCnA==
ARC-Authentication-Results: i=1; mx.microsoft.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: "anthony.perard@citrix.com" <anthony.perard@citrix.com>
CC: Juergen Gross <JGross@suse.com>, Jim Fehlig <jfehlig@suse.com>,
	"wl@xen.org" <wl@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 1/2] tools/libs/light: numa placement: don't try to free a
 NULL list of vcpus
Thread-Topic: [PATCH 1/2] tools/libs/light: numa placement: don't try to free
 a NULL list of vcpus
Thread-Index: AQHYCHXrUuOcqEMe8ki4TaQGMIKek6xjKiKAgAQ6pgCAArDxgA==
Date: Wed, 19 Jan 2022 09:02:46 +0000
Message-ID: <0e957283f60595cffdbbef2a8d72ea66b459cafa.camel@suse.com>
References: <164200566223.24755.262723784847161301.stgit@work>
	 <164200569629.24755.2980883411590685040.stgit@work>
	 <YeAVjpmuV9LIRFpa@perard>
	 <912014da2d821a14418e272f95c25e60be2b7a4e.camel@suse.com>
	 <YeWRyDGEFrOCeycP@perard>
In-Reply-To: <YeWRyDGEFrOCeycP@perard>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
user-agent: Evolution 3.42.3 (flatpak git) 
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 4ee0d671-a427-405c-929c-08d9db2a75dc
x-ms-traffictypediagnostic: VI1PR04MB5901:EE_
x-ld-processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
x-microsoft-antispam-prvs:
 <VI1PR04MB5901184E9DEEFB817835F459C5599@VI1PR04MB5901.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:
 hODPFfzAyZRN0XdrWObwcaBq3PgvOC6FJw/2xOffrL5Ov5786WCp3B9yOAGE3S9o7Im6GXxWv7Yyg/cok+bnjC7hATBwZ59/4sM9nhRYrjSzIaA7KFspM5JtRPX7LTurywWukp3kPq0jkfrRF0y+8Ie0TgcmhF9ohnTEAQ/mMK65TKrtL7hjxkfhKAAj867mqrqtX35999DZjrguZ6iUfMe9CMddXDrkhi4PSmUZVZ+9cQ1jNNRjE/0EijMqf8zv6fSLlogoR3l4iUTpAxubNKpjDQAM1Eh8EUVTbdlwVr/NyWgr5k41eDus7/L/fkh+8B9uiM0GAJzYLtvYlRkqsXz+eZopb8O/c0NiTtAsXcIhhwCPg6pwF8K0uXW3aHnk2+Bwn54vzD7VRQO6m1zIobHq8v0Ko2wdIYIhiCrTMjvp6EeT8sA6d0sRkadWT4xbwqzaQoStu9g+UbarT8IKqAx8GQtHmPBDcbdLEYPWeq7IdqeBMQHvsu+Ags4/jiqxFctPLfFMQCchjyoSz1AdL6uI9HHiyBua5IxHWXrZBD2ig5IaczJcrQCHjjDP2KvGlnnxHNs9ZW54UYG1j6aVwEZ1XC3129TFe4lDs9CEY2xmPpfUu7ugV+yHB0esocpu9oGPGKoR9PzpzR4Ozx521EE1dhZFCMme0wGCgbrpCeKSpF0WU2RrnntJ3P9XOX1NiQ/0LNscxlF47dvjgccI+HRZ1GlZivmGa9xAXzbo/ooYUMGrYJeq0AjKB/uu+w8kbu6TB7un0taaNRpFdKGNPnBKGcJZ6dYNPyqFB2HKwRpc828FSTvH9MDls5olGr+4
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)(966005)(122000001)(8676002)(5660300002)(316002)(36756003)(54906003)(64756008)(2906002)(186003)(4326008)(6506007)(91956017)(66556008)(86362001)(8936002)(76116006)(508600001)(71200400001)(99936003)(26005)(66946007)(38070700005)(6916009)(2616005)(6512007)(66446008)(66476007)(6486002)(38100700002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?QWV4cHE3UGpvR21PZ3hXWG9PckRONG5SYzlVVHYvYi9ubFVoUVFxSm5CdTJ1?=
 =?utf-8?B?Y2lOSFNlbGhtdGFQMnJpOTJkNms2MjV1cEdkb3JocTVsODRIWXBVQ3dLOHlu?=
 =?utf-8?B?Q3BUbDdXMkVSSUxoeWlIek1abDBpV0V1YjNlV3dCMWlUdE9hanA5QkJaYzh3?=
 =?utf-8?B?WStZR2VXTkUycVozamt4bmlDZ2pqQkxuZXFiK1lVN3VNSVVqeW9yQzR3TUgz?=
 =?utf-8?B?Y25IbXhodW1IRUo1M0VxZzh3LzhKV3d4RHZuSWJrY2dCU0JyU043UEFBQUJ1?=
 =?utf-8?B?aUxzNkxFS1RXWmF6TWhDdndPVDVEcUFKQnF6L1NHM3pGTWdoVDZMeTN2eGJC?=
 =?utf-8?B?YWFkM2VMUWFoSFlvbHlwUzJvb0ZiSTZEQVFMZzNoa1JNUU56YjNYWDZTMDNT?=
 =?utf-8?B?K3ZWWGlBdFFzTCthZzR4UHgzdmt1NUpCeStLRVV6QVgvSFlwRHRQU1lVMTcr?=
 =?utf-8?B?OVArbjRWL0FJVWNxcUVwUXBnZlhxbk5nWjIwSWpWZWJLZmdHWWFkeERUMFpZ?=
 =?utf-8?B?K0VlZnUxeUZTdlhlOVA4N25meTRwSDZlWUZJcEhxVHBzNWh5NU85R1psb0Rp?=
 =?utf-8?B?ZnRMelJQNDFLZ1NRaitCS2NUTWdJd3VuZzFWbWpuSzBDUjU3ZS9IUVlMUjg4?=
 =?utf-8?B?WFpzVzM3RXNLMndiQVBQYjRmdWRKMXdOekhyN0xYeGJwMHNxb2tJVGJVVnRT?=
 =?utf-8?B?RjJhMDYxbjVyYjErMUJ6bWozQ1A4OU5NT2laQ295bFdSUHVaL1kzM29rQ21a?=
 =?utf-8?B?QTJpd0VIYnpOWFRnanFjZ1AxNHZXVTVEK21MSVhRZzNmRHJtdEZZYkM3Yll2?=
 =?utf-8?B?dVpSUVFhL2xTdEp6RkYvK1hBODJiQi9xYS9yNWhSbWlzc05uUHZnckpibVd6?=
 =?utf-8?B?YXV0MThNSTdpVXpLUDRubEpnRUdkb0JVUC9NU08yVGhiZVBMa1JmcFpVLzRs?=
 =?utf-8?B?SWxlZHkyd0s1WW8yanN3L2hySWdIRC9NT1RvLy9CcFI3T085T21qQ3c0b1JP?=
 =?utf-8?B?WlF4SklWTnByTTNnYnpkMnFOSFNhUThnU2syZDV3dkdPZjYzc1ZFWS83OHJP?=
 =?utf-8?B?VUxuZ2I5UzFLTCtoY29OQ3VmUHlsSDFud2lLMG40NFh4RHY0N1hmTVRXOU1s?=
 =?utf-8?B?eXc4REwvczM1U2JCWUM4MUlqTHFzcG1RamZkRjVScjYyQ1FodXZIZ2gvR3Q0?=
 =?utf-8?B?ejJ0cmdvbEJBZFpVY095NUJScTd5Skl6WnR1d2JKMC8zVDdmaWFHbitHVVpY?=
 =?utf-8?B?VkFaay9WNDVhbnVJbkV4SWtBZVNJcDNMR1lpVDVYcngrbkpHa1RiWHdDTlRi?=
 =?utf-8?B?Y21EdW85SnN3N2dhbkNxblJ5aURWMXp3TU00UUdVRmV1UE11MkRELzdGcFI4?=
 =?utf-8?B?N2JYVEtWMmg1RkRza0xYRGNPNG91QXRwVmhLMGNLbThVRVhiKzBwbDFHdlV1?=
 =?utf-8?B?SkNucnhrOHJGd0ZrRU9iY243em1GajRqdE5ETmlXQnhpSGF2SE5LdENhVUhS?=
 =?utf-8?B?TWsxQlBRZjd6SmRsNG80N09FYUNhQnRoTjI4SEFITDhmOXJHaXFMaVlWU0Iw?=
 =?utf-8?B?TGxrSU5CNGJ1a0h0dWlHeUllQzR2b1dyUDVxUy9rOFcxQjJQaFZZTSthNzli?=
 =?utf-8?B?MU50WllXQmJtaHV5NG11K29SQ1NySE1Fd0hVZnVOYnBaZkR6Z0dHUHJaRlVE?=
 =?utf-8?B?NTE1Njl0aXZ4VkpTSHVUZzViZTMwamVJTTBsV0pXNjdCUkVKaStlQ2RRWi9U?=
 =?utf-8?B?QU1VTEZha1R0cGYwaHUyWCtJYmNETHBGQWJlRWNPUWVLRFp2bjVRVVVEOVVa?=
 =?utf-8?B?WlhvVTFsU1BQVnlkZ0lOMTZ6cGJQYkhmNFltNkZTYWoxTkRmNk9WcFZtcXAz?=
 =?utf-8?B?QlFMZFR5S3U5U01UYmswZnQzRVZjcjUyY2hyZk5mbDFpUTVraEN5ZEttcHhu?=
 =?utf-8?B?V2p6bnhidWJoUFFRWmNuRWFQU1NVQm16Mm9Za2htajZVUkFGZFNoMjkxcVFL?=
 =?utf-8?B?U2t5VDJCQUNINmJacnlQV0wxOW4wUkk2bzA3NmxRMWNhVzN0bk5oM0x0MUFP?=
 =?utf-8?B?bTJ3d1QvZ0VrQXJOWWhjdW03MVpIK3BvWHVnV2luSi9TSVB3T2NEakQ1dk9y?=
 =?utf-8?B?VFE0VmFkT0tSS3lGaCtVM2haNVNLQkxXMUcrY0VrYVVJTkdoNVlqQWw0Q3RL?=
 =?utf-8?Q?aCStZCBOVR+L+9Y6QEiK3iE=3D?=
Content-Type: multipart/signed; micalg="pgp-sha256";
	protocol="application/pgp-signature"; boundary="=-NhZT698sNnUSGCgTEgfH"
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: 4ee0d671-a427-405c-929c-08d9db2a75dc
X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Jan 2022 09:02:46.1197
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: I6nq78uIdNbGKogb5wdxwJFDbPnRTOsfr3+qlvnJfWbUKgb2LzfWM3S3cy2AOq6nCNymqcPJnH2A6YRqb0g7ww==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5901

--=-NhZT698sNnUSGCgTEgfH
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, 2022-01-17 at 15:56 +0000, Anthony PERARD wrote:
> On Fri, Jan 14, 2022 at 11:22:00PM +0000, Dario Faggioli wrote:
> >=20
> > Also, if we go that way, I guess we want to change
> > libxl_cputopology_list_free(), libxl_pcitopology_list_free(),
> > libxl_numainfo_list_free(), libxl_dominfo_list_free(),
> > libxl_vminfo_list_free() and libxl_cpupoolinfo_list_free(), don't
> > we?
>=20
> I actually don't know if that would be useful. Those functions do
> work
> as expected (I think) with the right parameters: they do nothing when
> called with (NULL, 0). free(NULL) does nothing.
>=20
Right.

> So checking for NULL before using `nr` would probably just be a
> workaround for programming mistake in the function allocating the
> object
> or some missing initialisation in the caller. So I don't think it is
> important anymore.
>=20
Agreed. That's why, as I said, I though about doing something like
that, but ended up deciding not to.

> > > Also I think it is better to keep the free in the exit path at
> > > the
> > > end
> > > of the loop.
> > >=20
> > Can I ask why as, as I was trying to say above, if we are sent
> > directly
> > to next by one of the goto, we do know that vinfo is NULL and
> > libxl_vcpuinfo_list_free() will be basically a NOP, however it is
> > implemented.
> >=20
> > Of course, you're the maintainer of this code, so I'll do like that
> > if
> > you ask... I'm just curious. :-)
>=20
> Freeing resources should always been attempted, even if that mean to
> check whether there's something to free before calling the associated
> free function. Imagine someone adding some code that could fail after
> the libxl_list_vcpu(), then when that new code fails it would `goto
> next;` and the allocated data from libxl_list_vcpu() would never be
> freed.
>=20
Yeah, sure, whoever adds code that does a 'goto next' with an allocated
list, should also realize that libxl_vcpuinfo_list_free() needs to be
moved after 'next' itself, as a consequence of the very change being
done, and this seems fair to me.

But, at the end of the day, it's not a big deal at all. Thanks for
satisfying my curiosity and, since you also agree on...

> > Actually, if you really think that the call to
> > libxl_vcpuinfo_list_free() should stay where it is, I can just drop
> > this patch and go on with patch 2 only, which is enough for fixing
> > the
> > crash.
>=20
> This patch is just a workaround a bug in libxl_list_vcpu(), so I
> think
> it can be dropped.
>=20
...this, I'll just drop this patch and proceed with just what, in this
series, was patch 2.

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)

--=-NhZT698sNnUSGCgTEgfH
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEES5ssOj3Vhr0WPnOLFkJ4iaW4c+4FAmHn07UACgkQFkJ4iaW4
c+4nIhAAlK1mmyQ8jN1DwUPVEH0UDxMM6aY9QUxd3XP1TziMyLvDtsx1e/UFl0C3
3goZPZ2vhcRbT9RU7BiOMco9UhPW1QanRMch+qQTYcB6Mn6r2qif+H6rymG8+3Wh
Z5Fs2SPP3jjDOcjgnSN8exVasr7cFIUkPmy8vPOdq9A0GFrFTEUXdGuKYkzC3Ig0
Vv7a1mG69UBvfcJl3NuCLF3WuynOQsdBdDeh2bT7gain+M2IeXG/KoPigmyoHp2t
JIlqHY/8jeJqqbzKox2Z0NVL7TWY270olp5hwo7mQU7qf6AlijdO2iYgldsZOIB7
7gAk4MwI0uzG8RyO1W/3mfPhVp94DdEXAoSdy/94SPJuKI7XBVkzJWx1iGHoMsfD
dqUodGxGo4IL2Iilb/gHKVLAnshla4KCe2YYoidchZqnyAFrQnPY6YvWsDPFX3GO
QAOPVj0GaFBF4rc1p+rmSM0H0g01D0TkenahxjCGIwF8EW5Lhqr8jL0Ns6SdCZ4y
o/sjkmYv0rDRIGSCFuU1N5qXsHPoj1hnngXS1r0BXwIChw7hskjNJQ9/QBTOH+RE
tK3fGONPD2n8RzfG4ennL/08wP704/bVfhdUJO1OFbUc0pucN0ItgKQ1uJXOhEe8
5szD9fWlDEFf98YGmIfJ3B+ITQL0iDPJUYP40LDZ1D7oO39H5lw=
=/whO
-----END PGP SIGNATURE-----

--=-NhZT698sNnUSGCgTEgfH--



From xen-devel-bounces@lists.xenproject.org Wed Jan 19 09:40:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 09:40:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258787.446098 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA7SC-0001T1-Qj; Wed, 19 Jan 2022 09:40:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258787.446098; Wed, 19 Jan 2022 09:40:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA7SC-0001Su-NH; Wed, 19 Jan 2022 09:40:32 +0000
Received: by outflank-mailman (input) for mailman id 258787;
 Wed, 19 Jan 2022 09:40:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yAwr=SD=epam.com=prvs=30181e5aeb=oleksii_moisieiev@srs-se1.protection.inumbo.net>)
 id 1nA7SB-0001So-Pa
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 09:40:31 +0000
Received: from mx0b-0039f301.pphosted.com (mx0b-0039f301.pphosted.com
 [148.163.137.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d65a0464-790b-11ec-9bbc-9dff3e4ee8c5;
 Wed, 19 Jan 2022 10:40:29 +0100 (CET)
Received: from pps.filterd (m0174681.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20J92YeP002608;
 Wed, 19 Jan 2022 09:40:19 GMT
Received: from eur03-db5-obe.outbound.protection.outlook.com
 (mail-db5eur03lp2059.outbound.protection.outlook.com [104.47.10.59])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3dpfnsr5be-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 19 Jan 2022 09:40:18 +0000
Received: from PA4PR03MB7136.eurprd03.prod.outlook.com (2603:10a6:102:ea::23)
 by PA4PR03MB7470.eurprd03.prod.outlook.com (2603:10a6:102:108::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Wed, 19 Jan
 2022 09:40:13 +0000
Received: from PA4PR03MB7136.eurprd03.prod.outlook.com
 ([fe80::85d2:c8aa:2196:21c6]) by PA4PR03MB7136.eurprd03.prod.outlook.com
 ([fe80::85d2:c8aa:2196:21c6%9]) with mapi id 15.20.4888.014; Wed, 19 Jan 2022
 09:40:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d65a0464-790b-11ec-9bbc-9dff3e4ee8c5
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZqKN9YZQayXV4oRCwgXz+yBXxlerN1w4clkbPIgn70NNQvqbMcUz+7oFB4PUtDnnL3oLxeTzcaY86bOQa4bqfQ3XaEJcLFa7jXK+fwrSqJpGW0nv7bo5jsLtHOaYl00yruns5wpdmybox5urrVZQD7MehScpFSF7PVKM2pblQYF4JW85JRPK4ScEWMat+UZw1D+tA3BhuEo6blHu27IJRbgYxUQyuStAh8khKOEemt6ZGhfnqJ6Ov3NunT319E7JtD4bo0XhGV89KAQFTJ7T3/ayX7vGVEcMapL+tesuu/FPgW4CELlB4xUnzM/reOKRS9Nh7hDiKc2IQoraBPj8zg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YOZ4WMERj1a4/HyXu3p9Qi+rE7GWKSukMgF5jzAPfhE=;
 b=WlTbirjgL4VtV9RCXVJeRCBTuiHnlxOCMx376LFf22VQUUTPOkFq59r1PW7CqsyUr2JeKpwEvX9f0E/VUuX/edy0phMgUMho29i9GoA2PmakHzLg8Kd1ZO7OwmUJaxyBb1iwzdH6jL0URE4GpYHz6MRi3fuB8dhe7cth7q4izJNP0uZ9iDwKlQ1bcD1pmiVkrjvzGF6fkk7xb9r0S83806enUMYCOkpYrtQr4GhgeBvCZbVJv/fvPg55Eb2/n4UF4uKwdBg5KgOwX2qAHFUbbZec8OtBODfO5seuWUKjCxdOEUvLC+SrLM5dVFYHHhYj9x9QPthog3rObIN4/Ljp0w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YOZ4WMERj1a4/HyXu3p9Qi+rE7GWKSukMgF5jzAPfhE=;
 b=lH9CyXqSDNTvL8UvXzUAs5Jf0YfhONKqufdpUucjodyaMu6Q+tMw1YOSKmmmNFCBqqwr8Io0m8IGUdmORLdtCC1n60pDtgMklJfI61JI86lk1oRNl7awm8d8Elze0u76c5LMQkds2dL8BmAcLkuJiAlRUgrjz9tkECmjjETPeJhoUjOlbXrhCR4EHNivHpB/RSXy+s8W3BAupRw7ey8Fl08YooP69t2yQEaRHXRC4MMzEdJpMcPgXhjTA5CscqqYV+svHjLFe8j9aIzzALzzGqjLrZSdV3///tTA47gFdC9F6x3SD60DDkiM2sKqEP6TCTqLDifXkJHbgnQKMQIubw==
From: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
To: Julien Grall <julien@xen.org>
CC: Stefano Stabellini <sstabellini@kernel.org>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Anthony PERARD <anthony.perard@citrix.com>,
        Oleksandr <olekstysh@gmail.com>,
        "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>,
        Wei Liu <wl@xen.org>, Juergen Gross
	<jgross@suse.com>,
        Andrew Cooper <andrew.cooper3@citrix.com>,
        George Dunlap
	<george.dunlap@citrix.com>,
        Jan Beulich <jbeulich@suse.com>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>
Subject: Re: [RFC v1 5/5] xen/arm: add SCI mediator support for DomUs
Thread-Topic: [RFC v1 5/5] xen/arm: add SCI mediator support for DomUs
Thread-Index: 
 AQHX8M3LpzWz4l8PQUiIA2nAUV0H+qw0P2iAgAJehQCABnNTgIAAc5MAgADFCgCAAB+dgIAAA54AgAARtoCAABUwgIAA0niAgAEYP4CAATSeAIAonC6A
Date: Wed, 19 Jan 2022 09:40:13 +0000
Message-ID: <20220119094013.GA3756156@EPUAKYIW015D>
References: <YcHol8ads22asXGF@perard>
 <alpine.DEB.2.22.394.2112211330310.2060010@ubuntu-linux-20-04-desktop>
 <bc6d7529-337d-a4e1-664a-dddd68ecf5cb@xen.org> <87lf0cx50o.fsf@epam.com>
 <3967a86d-295f-7672-9ce3-71e1c393dcbd@xen.org> <87ee64x1hf.fsf@epam.com>
 <796960e7-62ab-6f05-b3c0-cd02d7e8a8ba@xen.org>
 <alpine.DEB.2.22.394.2112221636530.2060010@ubuntu-linux-20-04-desktop>
 <alpine.DEB.2.22.394.2112231056380.2060010@ubuntu-linux-20-04-desktop>
 <b85f7ea3-dd0c-1281-d1e2-1010fb2f5892@xen.org>
In-Reply-To: <b85f7ea3-dd0c-1281-d1e2-1010fb2f5892@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 5b474c8c-5314-418a-aba6-08d9db2fb194
x-ms-traffictypediagnostic: PA4PR03MB7470:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <PA4PR03MB74707A673B79D48D983B9085E3599@PA4PR03MB7470.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: 
 eIAcklOEr2toCU/3xOvSrdAc1Vx8I28Le8FLl8v7PEIt1ZNpDxhvLW+97007TnPvFzlAX2a2jS+2ORLsHhGts2rb1cr8hgA3waKNnMnSO96YeaHmmT0zReD0j2iudOYulDDJMiJZIi7v4M4T087IbT4IclStDzIkzVf3rVC1lj2UyBnzbXZiZyDFrYPrx9JZUdu1XXfE12L9uOeUgLT/2CDK+HmlY//PMr2GzDg7TizMpEXcBD6FCtuq/tOwnS2fXQjFcKcCy6r+VmYIDFbDQrxZIO9cZIaMEdcNWBylvdoeOVlXQ6DicUaGoMlR4+UlfKPj+B1UgqR0D+nkyCyYEkRzSSx+Ha6EtOEwNuW8tdqY7NWhfZf7OOjPtKvfHZT/g9x4bpyMdAsH0itjgziA3DTBinsudNT1lrF6Aiu4wcVPpZyHa/bFXGUZtbvnod4u9cAlCsIRY3S+j44qtNuwzrjySZCZAEhZG9OYHwlqjm58AMmPh2ShhM5ZyEr4AVEVPqy+YzIfAoMmalUYpAGoet41pojoEN1Ge3imbjk8C5kFm1jjLvPjAHP4qpXhwqzIgBpDSNoID1m5qldsWTPWLM111zuIoOvZRKXkJYszfGZ+BU/uv2s4/Vae8quiiL7stq2XOVE7Eu0AbIaSQqfjULyLYrRMlipTYgMpuf+COrhWk3BrLACZHqtjiAHVWt+UZJyZU0nJJICcx+BSHKmISLK8xHs+N/ATeIi1NkqCdgc=
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR03MB7136.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(1076003)(8936002)(4326008)(508600001)(33656002)(6486002)(8676002)(33716001)(71200400001)(6916009)(83380400001)(64756008)(66556008)(66476007)(66946007)(66446008)(86362001)(7416002)(186003)(5660300002)(76116006)(2906002)(91956017)(53546011)(122000001)(6506007)(38070700005)(38100700002)(26005)(6512007)(54906003)(9686003)(316002)(21314003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?us-ascii?Q?J8hLLYGXMTPcqOagzDaAi08H21AM3eCVRtFLtwj+hne8H3iRLw7kARUshAG3?=
 =?us-ascii?Q?T4io99KpUedtMiv84L3L0xalz0Oeza6O11RRg/ll/Pt6hONTdYTeCmk+mD+r?=
 =?us-ascii?Q?/eR85LQJyQ9Rsyb94xfr0upz1lpkV/icXZKufBEHGCUbRSXfsDyRt1SS0v0P?=
 =?us-ascii?Q?WAfVtIHqNoXGgKXrPjbiiEZ1KqKIL5Ums/QkNB5xa7554V3YVOXsXZJTpyEK?=
 =?us-ascii?Q?V+KzWCyn4af9HBftreLicygfwkcyAKR+Lel1frnK6boSx0JjNQOoG6lGT1SP?=
 =?us-ascii?Q?gUzaiQ7ynOlNkTT1urpug6yANxfZAJzwqnA330+SswiQthY+Vwia19EmGxrV?=
 =?us-ascii?Q?PDHPNTAj78ow1Hoo5hYMClkh42DkAIhilcxlTX+jBdOGbq0rvjkiC//29M6x?=
 =?us-ascii?Q?EZYvt6+d/CxJQqjRoZWshfQwErxy+L6Vpv6OJa/xh/CvAbYwlPDBUs9HL/WJ?=
 =?us-ascii?Q?5uFLRcdUZ1FxN/w9Tv480jQBucGDyS1kRQ0dZAiLbPolWdZkaZ6ieeJCT5L7?=
 =?us-ascii?Q?hN+7ybWRRmdQBL2CW+qs2B6jknQhvYrchTMq5XQVonBjzhkk9cJWXZOdQd1O?=
 =?us-ascii?Q?++k0gFa7W6PCUKJ0U6w0cM7ke+r8+32hMRkr1dn/tG4pz5A6qS3tjc2mirQk?=
 =?us-ascii?Q?mypUO6NsEBIRbYBk6mGP78/3aVMQe63wmr+Rg4YPfQbLj8wnn5WenI9vVBy9?=
 =?us-ascii?Q?F9poUrPKK+SvwxuVn1fd3FHRfTz9Z5CqGQkIFpxvaAxGgs5LfEndir5YRka8?=
 =?us-ascii?Q?IVuZ66O0xbL85J1gFlPkxh+7my0vvdyL2nnPUs4OH4IaB7TyNAwxIQFZJagl?=
 =?us-ascii?Q?i3kyAaxx/xE795dBf0uZMr8L7uT+yeu+tte1iei+qBM3KOF32VOy3n4uieJk?=
 =?us-ascii?Q?CBIRQFqTMBE63GID8SoDT318xwwqghseCBdvAMYCzMnSH5aiwcmlzqZLXQDY?=
 =?us-ascii?Q?93uxhiXmv+g56sFhQnxWwV8vBz5w95U7VI3Q1PgxHPxH3ozd/VfH7DlXtTNc?=
 =?us-ascii?Q?S/AS3WtLhBt2k+Y7CuJmgQ2LdxwcZehSrEjRhvk2O/veTvlDWlNnfmToB/Dx?=
 =?us-ascii?Q?hYCRFZ6a73X8fc9cWKl7nO5AxyHc2LPCbqjDonTgv5cQUUCtkv0zKSJRcV6f?=
 =?us-ascii?Q?BO7Gt+MthdlWCsR3atf00WHbJKeEV9ri+K21Ei1RErNXt2HBL+jugaJrsXAb?=
 =?us-ascii?Q?KP05UpNcbtpAA832R1fue1lgzNBKLUqebRAhTpKzeUbB4MqWjLCPmMOLSr40?=
 =?us-ascii?Q?jfAiy4i+IIaixZbTaD3rpPy46C/UarXGK2aLYoq6QoVu22aPVnBOzVcYMrFp?=
 =?us-ascii?Q?4c/4DLd/QB8Nej8liJFyZHNOuw4RmshjKUS1yDH1Y08IyEzqSEu59Ml8jUWA?=
 =?us-ascii?Q?4JApI8hPb+C8M7XPgo5Nk5s39A8pPeI2YKlFdxnmq0/ypJjHWR5GBAMISyjw?=
 =?us-ascii?Q?dZxc1aZo+bpzG+by3ec1OK3q0XugFm/lgget+NRuL6rHMPVVa6WSHYzlsqlE?=
 =?us-ascii?Q?9225N7mzBVCWtw0stxtqnUa/irqcS/dapiP9Q8clZ0nV3VZM2OsgCaKwYyeN?=
 =?us-ascii?Q?6Z31T9LBHXdtv5OkZYOTGrt1+mCoOTpBR8d+k79vSOuO+IPHuNqMkN3Z/CT2?=
 =?us-ascii?Q?rCckdu8RNYPZ3OPD0Un2molO9XyPOwkXdUBNv2ICbf7vBJCRWRXXp2MCRYN2?=
 =?us-ascii?Q?k5zimE9zfOb++f64A6+0DYQXsm8=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <5D5C38384D22A1498067AD2AB45FA59A@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PA4PR03MB7136.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5b474c8c-5314-418a-aba6-08d9db2fb194
X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Jan 2022 09:40:13.8111
 (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: 3ScB55u2FwQdgeWWldyC4o2G+RxaIIaLdJfvaA6CbAlNGZ4aCIqmEc/CsAzhELpZjCIyDJG8H1iL83A/FbBa+2MjsVOPhdIF0u6aPgbRd7M=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR03MB7470
X-Proofpoint-GUID: FTiBLIj3ag21Nng4292pG0zHwB3ptUyt
X-Proofpoint-ORIG-GUID: FTiBLIj3ag21Nng4292pG0zHwB3ptUyt
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-19_06,2022-01-18_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 spamscore=0
 clxscore=1011 malwarescore=0 mlxscore=0 bulkscore=0 impostorscore=0
 lowpriorityscore=0 phishscore=0 priorityscore=1501 mlxlogscore=999
 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2110150000 definitions=main-2201190052

Hi Julien,

On Fri, Dec 24, 2021 at 02:30:50PM +0100, Julien Grall wrote:
> Hi,
>=20
> On 23/12/2021 20:06, Stefano Stabellini wrote:
> > On Wed, 22 Dec 2021, Stefano Stabellini wrote:
> > > # Future Ideas
> > >=20
> > > A great suggestion by Julien is to start supporting the dom0less part=
ial
> > > device tree format in xl/libxl as well so that we can have a single
> > > "device_tree" option in dom.cfg instead of 4 (device_tree, iomem, irq=
s,
> > > dtdev).
> > >=20
> > > Even with that implemented, the user has still to provide a partial d=
tb,
> > > xen,reg and xen,path. I think this is a great step forward and we sho=
uld
> > > do that, if nothing else to make it easier to switch between dom0less
> > > and normal domU configurations. But the number of options and
> > > information that the user has to provide is still similar to what we
> > > have today.
> >=20
> > I have just realized that if we start to parse the partial DTB in
> > xl/libxl the same way that we do for dom0less guests (parse "xen,path",
> > "xen,reg", and "interrupts", making dtdev, irqs and iomem optional)
> > actually we can achieve the goal below thanks to the combination:
> > "xen,path" + "xen,force-assign-without-iommu".
> >=20
> > In other words, with dom0less we already have a way to specify the link
> > to the host node even if the device is not a DMA master. We can do that
> > by specifying both xen,path and xen,force-assign-without-iommu for a
> > device.
> >=20
> > This is just FYI. I am not suggesting we should introduce dom0less-styl=
e
> > partial DTBs in order to get SCMI support in guests (although it would
> > be great to have). I think the best way forward for this series is one
> > of the combinations below, like a) + d), or a) + c)
>=20
> I strongly prefer a) + c) because a warning is easy to miss/ignore. At le=
ast
> with the extra property the user made an action to think about it and agr=
ee
> that this is the way do it.
>=20
> It is also easier to spot if we ask the user to provide the configuration
> file.
>=20

Let me share my thoughts about c), which is:
c) require force-assign-without-iommu=3D"true" in dom.cfg

Adding this parameter to domain config means removing
xen,force-assign-without-iommu param from partial DTB. This will affect
dom0less configuration, which I can't test for now without extra effort.

What I suggest is to implement a) + d) in this patch series, which is:
    a) extend dtdev to cover all devices, including non-DMA masters
    d) or print a warning like:
    "WARNING: device assignment safety for device XXX cannot be
    verified. Please make sure XXX is not a DMA mastering device."

And introduce a) + c) with the next patch series where dom0less scmi
support will be done.
Maybe leave a comment in code that force-assign-without-iommu config parame=
ter
should be implemened.

What do you think about this?

--
Best regards,
Oleksii.=


From xen-devel-bounces@lists.xenproject.org Wed Jan 19 09:50:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 09:50:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258791.446109 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA7bH-0002GA-SX; Wed, 19 Jan 2022 09:49:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258791.446109; Wed, 19 Jan 2022 09:49:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA7bH-0002G3-PA; Wed, 19 Jan 2022 09:49:55 +0000
Received: by outflank-mailman (input) for mailman id 258791;
 Wed, 19 Jan 2022 09:49:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nA7bG-0002Ft-HQ; Wed, 19 Jan 2022 09:49:54 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nA7bG-0001DU-EK; Wed, 19 Jan 2022 09:49:54 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nA7bG-0004rE-75; Wed, 19 Jan 2022 09:49:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nA7bG-000459-6c; Wed, 19 Jan 2022 09:49:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=dFpIhqSfT8jkRAmgyfhbkr3qjiGp22xxt9bdbpe+LR8=; b=NH02cozqSU8spGGeCliPorvx6N
	O9PHqklSnWmvXrBFc1Yl+GSaqNVqj9/xBA+JOmbDjn88dxXLJ80UNkSVBBIlq4i48B5XaTHXDuHjM
	2U8OKAJsPqer1lvgHhPdaJ/JiwmQ8HtLR3Jx8p6neWVch4+ab9I35LLdDaqayPY4ZHAo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167746-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-coverity test] 167746: all pass - PUSHED
X-Osstest-Versions-This:
    xen=444597436d08ccae6d210a2b1b877fef636796ea
X-Osstest-Versions-That:
    xen=9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 19 Jan 2022 09:49:54 +0000

flight 167746 xen-unstable-coverity real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167746/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 xen                  444597436d08ccae6d210a2b1b877fef636796ea
baseline version:
 xen                  9ce0a5e207f3968e65d0af33a15bee5bdf5c8a7f

Last test of basis   167714  2022-01-16 09:19:39 Z    3 days
Testing same since   167746  2022-01-19 09:19:44 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Lukasz Hawrylko <lukasz@hawrylko.pl>
  Nick Rosbrook <rosbrookn@gmail.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
   9ce0a5e207..444597436d  444597436d08ccae6d210a2b1b877fef636796ea -> coverity-tested/smoke


From xen-devel-bounces@lists.xenproject.org Wed Jan 19 10:37:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 10:37:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258799.446119 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA8LP-0007PI-IO; Wed, 19 Jan 2022 10:37:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258799.446119; Wed, 19 Jan 2022 10: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 1nA8LP-0007PB-FC; Wed, 19 Jan 2022 10:37:35 +0000
Received: by outflank-mailman (input) for mailman id 258799;
 Wed, 19 Jan 2022 10:37:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yAwr=SD=epam.com=prvs=30181e5aeb=oleksii_moisieiev@srs-se1.protection.inumbo.net>)
 id 1nA8LO-0007P5-0s
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 10:37:34 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cdfa62eb-7913-11ec-9bbc-9dff3e4ee8c5;
 Wed, 19 Jan 2022 11:37:32 +0100 (CET)
Received: from pps.filterd (m0174676.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20JAZPxf001374;
 Wed, 19 Jan 2022 10:37:21 GMT
Received: from eur04-he1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2053.outbound.protection.outlook.com [104.47.13.53])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3dpfhurb3s-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 19 Jan 2022 10:37:21 +0000
Received: from PA4PR03MB7136.eurprd03.prod.outlook.com (2603:10a6:102:ea::23)
 by AM6PR03MB4245.eurprd03.prod.outlook.com (2603:10a6:20b:b::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Wed, 19 Jan
 2022 10:37:15 +0000
Received: from PA4PR03MB7136.eurprd03.prod.outlook.com
 ([fe80::85d2:c8aa:2196:21c6]) by PA4PR03MB7136.eurprd03.prod.outlook.com
 ([fe80::85d2:c8aa:2196:21c6%9]) with mapi id 15.20.4888.014; Wed, 19 Jan 2022
 10:37:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cdfa62eb-7913-11ec-9bbc-9dff3e4ee8c5
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VY/BKyMJVynwgVl9uT9kxe7z5GlK6dditXSm9nfjb6HrJOppUmR+bgKQO05ZnJFJnloucAaewU4edER5T511KCNUigkir7vmO6t0YHsDm5kKeuEpG9O7ZVMCH1Kf7cI7giOoiH+5rUQumuyAHAcNvibG/gikLequ5KmZJFFo/JyJ6voU+R8sh18m+mLMZTwVglcSnd4MvOuUVwrzgv8xJEZiH3nGJxtWQ/rTctvFVeaNMO1ZzIGcprmaW5asalc77LVvezmt/gfwsotXfEXFgArQcqWNTpQf8MQ4k0PpkR3mZVWRWXFFWCKacV67L9/WB8T0+BHfrPNOsdjmbFEvug==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DAfxaFcPwTSEPGACiGT0lrm3EISMJk4FBhWpufo50gs=;
 b=SuiKNICzkhOLNM7zETgGHU4XAGiNr9oXf796EJzWipKBL+xQNuNRAJYOFYHFlFpxsDu2m7UGm4xrsFNRaNStbqtMQh7cA+F6v79ZuZB+Y7Ke0H2uifuNodeHOtirS4HZzDejbyBsUvutwGGSBrQ1yfepCgmQLd9f0HG5zYcnYsUETEHBPKOkA8eA00pZwrPRPFAx6whAN4+RjjqktEp4L8PB7qCwwY47EMJbvWbl2InoxhFAf8FZX8W9NruaUBc/e6hyLQEE/5UFw56yaAH4Yr6t+acGSN1mAC7xTmVLmnAb2E7e+jl33eO9ymP/m+5sCSEnPsPm78KQYhpDohqaiw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DAfxaFcPwTSEPGACiGT0lrm3EISMJk4FBhWpufo50gs=;
 b=VdYM4x+PE0Zk7BJ8VUSmJN+rpfG6DPRaL2oEQpi4II/yYoJlPKzmzvx7SjPVvwgyKP9G/nwXYji0K4W7lVTUu3wRY6aa8nisTHL27fQHDlO6H7vEhRiEfn14WxTs1OSFiDuIOgwVU++T48x8AJG/qmfM02fsrOUgf2599SbchtbPn2+s7wl0mM0iQZeNk+FcWkywLHU3qnBAut+NmTUrMvPg0snlpEoVG6Eekqaq0E/Ou9pyysDUx5kFqaejqJQPmTtQCZotAiq1fDaWjRdzMN7crp2K7AE7wQMf7+JQoMj+2W4WKJK2fPNlqpkEMMOIq3+LqyEXmbGJOodv3zgmrA==
From: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
To: Julien Grall <julien@xen.org>
CC: Oleksandr <olekstysh@gmail.com>,
        "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
Thread-Topic: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
Thread-Index: 
 AQHX8M3JF7Ng56/tV0+8/7pODiaWfKw2ks6AgAAeBwCAAAQPgIAABfaAgAAsl4CABKcNgIAGOOkAgAAnH4CAD3d9gIAEwfEAgAACbgCAABxaAIAABdkAgBQS24A=
Date: Wed, 19 Jan 2022 10:37:15 +0000
Message-ID: <20220119103715.GA3772829@EPUAKYIW015D>
References: <20211217135855.GA4072899@EPUAKYIW015D>
 <7924e699-5e70-6fdc-8633-6a15894d66db@xen.org>
 <20211220154127.GA1688861@EPUAKYIW015D>
 <7b0d3f0d-bdf1-ac59-0ef8-bb7ec2d802d8@xen.org>
 <20211224170243.GA1022822@EPUAKYIW015D>
 <045b2836-c95d-541b-462b-d276ae058b0d@xen.org>
 <20220106135328.GA1413532@EPUAKYIW015D>
 <55954632-e2c7-5455-6538-29c7990c8f62@xen.org>
 <20220106154338.GA1460271@EPUAKYIW015D>
 <548d4954-96bf-6522-6cfc-98b4a0e02b51@xen.org>
In-Reply-To: <548d4954-96bf-6522-6cfc-98b4a0e02b51@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 974373bb-c819-49e0-1003-08d9db37a931
x-ms-traffictypediagnostic: AM6PR03MB4245:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <AM6PR03MB4245D048EDC62DC6362954B5E3599@AM6PR03MB4245.eurprd03.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: 
 890rdB+JMxGdRDrBzgsiEu2DYmFSUuwEzo0NKFVjEZy/+aVemvECsFGD+l1d0WPh5lVbINJP6C6x/gHERxEcIF0ji1fOm4A7sEXv3CCmAFWW1k4RxgJD/ReIcbjIMlNaXxEPl0rJ8Lscy5WBu0J3JZ72fzRFAAipxrnrH1DGZoepf6YyT/zJHh+Wc9Et6+me05oi6cVaJvVOjxAHzsXhfF682kWhMLDBA+lufrTFayhGANoqevCFpcsYwWrxyjxHHqpbt1Mj/x0fegQRBbdKoU9P8w+h3Sch4E7ZAdFzE2B4da8GX4bNRW3aMPdq/Ig5tjXvxxX0t6IV51za3O191GAVgjo+AhuIRBTLLuSF1lLa/TIBG5z7RwsSkAF/A66lAjzltNNI2/2V904AJk++RrVeEgu5tDK3HmEUBXkWyWYMidwIKGyMYnnUFhSkx8aT/njKJKvsXRYzX6TM3BANDkYayGQWWedg/XIYtLRtonQZPhLlgUkTYcK/2QnCTQdp+UBZ8MABMEsv+ShDxvcbliIkNMDVXGMZvAttd+50+dZ1xcotABZ77rv+Lxt5Sn3WcKTjAdQpsT/d7sam8Sus+/pdQWIPBnJYPWG7kk0SBbozAwxF+z9VzZ2UpdYXCV1X1ebhSUoMOI2CzmRhCgtf90R4tzGKUia3In4aucK/tSdl70eFCKps8+HVRdDSz5pvRVnWRV4xz+FfsxvXoFC3Tg==
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR03MB7136.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(6486002)(8936002)(508600001)(33656002)(53546011)(83380400001)(6916009)(6506007)(8676002)(4326008)(38070700005)(1076003)(86362001)(2906002)(5660300002)(33716001)(6512007)(9686003)(66946007)(66476007)(66556008)(76116006)(66446008)(64756008)(91956017)(71200400001)(26005)(54906003)(316002)(38100700002)(122000001)(186003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?us-ascii?Q?V1KaJUig2GC7Mj/zZxHuhxFU/hW0rphSO7OX2H9cQV9gLE54ZhEt6A4c7IhG?=
 =?us-ascii?Q?YqkWPbChM888yGgpNVs1lNow9MPBYX5WiZM740AcP2buVZbIAGtX2ecBpgkE?=
 =?us-ascii?Q?0EzX9d0YsEBILyenlEL5Phhw3+n9OanGVDNIEKBYGN7nLlRDBv6dowMQWJPZ?=
 =?us-ascii?Q?u6XZiwva5IUfk+1WhnH2NqcSkDR4nGndyBvo029/DK1UcGoobzZHObSoqc15?=
 =?us-ascii?Q?wXpRbZwNIubahlqhO6wKVteXENuOrSgeu015Pq6jzYtCobqwt+scmAI7VbaJ?=
 =?us-ascii?Q?oIgCmQQr7HNdNx3B5dJ831CLM5wqfdnBLmtCqoJHhYnR3lNzM3yGRpHIq/fo?=
 =?us-ascii?Q?vW/wxN6vl1wtE5AIYbgsDMjafpRmd3zVHL4S/wOcQ6IGowZzq8sb3Evaigxu?=
 =?us-ascii?Q?3E/ZWdPFf9bVs2OuNtKv1OQlZhiQ+v4kIQI9zTC/+c3cxfK4ADiGnI/5xwDX?=
 =?us-ascii?Q?eTa491uEXs/NwlL7Uax7rHajUJC+LpqmqJ3Wi68ydT85sDKs5dQ4E3QwTW0q?=
 =?us-ascii?Q?Mei7CbYq0awoPSmG0Ys5MHoEPLwzXCJu2KI8gajYnAQAbS4iQdxRZhrZxUqD?=
 =?us-ascii?Q?3jgB/RT4BIcoyaWwlfjJ779NBGAmhdPYpy6YubxMyCQjHDo+VcXOGRRrCGIa?=
 =?us-ascii?Q?KfPpm+Bqq0aqZiFVi6fensYOvCPO/vTlZlofEJ7DszxcTTLndsh1r9gqVeIb?=
 =?us-ascii?Q?j9LL9XMGSrn5bfxN5IHnbwerzzh1+plAsYttyDGGRDTTpS2vFenZVtXwTHjR?=
 =?us-ascii?Q?zVcliFQY8gQKovjiDhFEn4ADUl0fAguSCRZOhplewuW2clPDQcMk82GVUY/d?=
 =?us-ascii?Q?I+DLoReH2GVLDHy/Gmv8rFkjncxALnDrNVjldqJI4x8LkSIONF9g/8IKcejc?=
 =?us-ascii?Q?Vf1/wjbIJ0ecW/j+JXg9zlWfxJmorbGTchl7e5qgrfpnpTCtF1KaAIaovl9u?=
 =?us-ascii?Q?2NkQJ9wOBmZwfL8sipyEq3inHGQMT85kavwpMx2Ogc13N7Xe8jc65VcP22qt?=
 =?us-ascii?Q?WojM0QOPWwDJpbcg8sfzzaI+jzx5P06eIDrWIl9gJk/XkOtJeRgAFiJsWH/X?=
 =?us-ascii?Q?ntq6a3iaFJi+PM05fA5syfLrUNeBhFkDadFNk2l2KOyzgcBJQJaMPIuG/+UQ?=
 =?us-ascii?Q?1jVwocMNpPibOW+MjfvFzbvuZIDzYyLd4bXGop6MELThtpI3lH76D16CiB+U?=
 =?us-ascii?Q?zVVUmsVVEdx1KcIDFWg1vhetTrZJc/Jj91b4xk+lxrvJp3eSZ7TSEm0JqZC8?=
 =?us-ascii?Q?Ry8JN5YmzJTQM5bRiTxr210NT90koGWW1CJwN10m1Z30penMeMoiWHaTcRh/?=
 =?us-ascii?Q?Ul8nI+YHwpzIjd3eW2zBfsRTFz1YWxxJncTHkKfChh5IGtqu/9G9vS+hkzwJ?=
 =?us-ascii?Q?KKuyzOtVHDua1AOX2hhELY9JYWY4vXxaTQviFJ/nZMlKAGPfxk0sUd3Xtoje?=
 =?us-ascii?Q?S5gfCbOc2POXlN9PgtREQWSeNY7z0rnfmCHhi2g+3RSXKTWa56QfYXn5b6Kc?=
 =?us-ascii?Q?eVj8ayO+/OQ8wwBWuCXjGPyt/lDycHmPvFUS7IK4CPIGgQ7C48uq38S2Qf08?=
 =?us-ascii?Q?ZygjRM51RHOGzbAj48bikK2JRCVmF95beob5D/uGMSr1R7vG+yhMG0o0rXMy?=
 =?us-ascii?Q?GLThxulfTniv5bsf2G43hMSEwUnJC0eWDboUtS3v+DZ/qvnBAQ4Dc/IqAfKh?=
 =?us-ascii?Q?4Fj2RpssCTYocnz4WLMsswyUzmQ=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <60B91E6ED0A22449878771BF74756DFF@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PA4PR03MB7136.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 974373bb-c819-49e0-1003-08d9db37a931
X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Jan 2022 10:37:15.7416
 (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: ZywwZag5CQ0ExYxwoOOBZ+O/YQOMPJfW9HsWXlsJkRJ7Bxnn2hB1wXpxOxK2x9f1Do6Ig9NIxBBWDfhxQ9xzz4wD8cwUa27rqhXwPcNoKW8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR03MB4245
X-Proofpoint-ORIG-GUID: aRzq1bgV56jUKzYWImjlCC_wYV5lH2JW
X-Proofpoint-GUID: aRzq1bgV56jUKzYWImjlCC_wYV5lH2JW
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-19_06,2022-01-19_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 suspectscore=0
 impostorscore=0 lowpriorityscore=0 mlxlogscore=999 adultscore=0
 spamscore=0 bulkscore=0 priorityscore=1501 mlxscore=0 phishscore=0
 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2110150000 definitions=main-2201190057

Hi Julien,

On Thu, Jan 06, 2022 at 04:04:34PM +0000, Julien Grall wrote:
> Hi,
>=20
> On 06/01/2022 15:43, Oleksii Moisieiev wrote:
> > On Thu, Jan 06, 2022 at 02:02:10PM +0000, Julien Grall wrote:
> > >=20
> > >=20
> > > On 06/01/2022 13:53, Oleksii Moisieiev wrote:
> > > > Hi Julien,
> > >=20
> > > Hi,
> > >=20
> > > >=20
> > > > On Mon, Jan 03, 2022 at 01:14:17PM +0000, Julien Grall wrote:
> > > > > Hi,
> > > > >=20
> > > > > On 24/12/2021 17:02, Oleksii Moisieiev wrote:
> > > > > > On Fri, Dec 24, 2021 at 03:42:42PM +0100, Julien Grall wrote:
> > > > > > > On 20/12/2021 16:41, Oleksii Moisieiev wrote:
> > > > > > > > >       2) What are the expected memory attribute for the r=
egions?
> > > > > > > >=20
> > > > > > > > xen uses iommu_permit_access to pass agent page to the gues=
t. So guest can access the page directly.
> > > > > > >=20
> > > > > > > I think you misunderstood my comment. Memory can be mapped wi=
th various type
> > > > > > > (e.g. Device, Memory) and attribute (cacheable, non-cacheable=
...). What will
> > > > > > > the firmware expect? What will the guest OS usually?
> > > > > > >=20
> > > > > > > The reason I am asking is the attributes have to matched to a=
void any
> > > > > > > coherency issues. At the moment, if you use XEN_DOMCTL_memory=
_mapping, Xen
> > > > > > > will configure the stage-2 to use Device nGnRnE. As the resul=
t, the result
> > > > > > > memory access will be Device nGnRnE which is very strict.
> > > > > > >=20
> > > > > >=20
> > > > > > Let me share with you the configuration example:
> > > > > > scmi expects memory to be configured in the device-tree:
> > > > > >=20
> > > > > > cpu_scp_shm: scp-shmem@0xXXXXXXX {
> > > > > > 	compatible =3D "arm,scmi-shmem";
> > > > > > 	reg =3D <0x0 0xXXXXXX 0x0 0x1000>;
> > > > > > };
> > > > > >=20
> > > > > > where XXXXXX address I allocate in alloc_magic_pages function.
> > > > >=20
> > > > > The goal of alloc_magic_pages() is to allocate RAM. However, what=
 you want
> > > > > is a guest physical address and then map a part of the shared pag=
e.
> > > >=20
> > > > Do you mean that I can't use alloc_magic_pages to allocate shared
> > > > memory region for SCMI?
> > > Correct. alloc_magic_pages() will allocate a RAM page and then assign=
 to the
> > > guest. From your description, this is not what you want because you w=
ill
> > > call XEN_DOMCTL_memory_mapping (and therefore replace the mapping).
> > >=20
> >=20
> > Ok thanks, I will refactor this part in v2.
> >=20
> > > >=20
> > > > >=20
> > > > > I can see two options here:
> > > > >     1) Hardcode the SCMI region in the memory map
> > > > >     2) Create a new region in the memory map that can be used for=
 reserving
> > > > > memory for mapping.
> > > >=20
> > > > Could you please explain what do you mean under the "new region in =
the
> > > > memory map"?
> > >=20
> > > I mean reserving some guest physical address that could be used for m=
ap host
> > > physical address (e.g. SCMI region, GIC CPU interface...).
> > >=20
> > > So rather than hardcoding the address, we have something more flexibl=
e.
> > >=20
> >=20
> > Ok, I will fix that in v2.
>=20
> Just for avoidance of doubt. I was clarify option 2 and not requesting to
> implement. That said, if you want to implement option 2 I would be happy =
to
> review it.
>=20

I'm thinking about the best way to reserve address for the domain.
We have xen_pfn_t shared_info_pfn in struct xc_dom_image which is not
used for Arm architecture. It can be set from shared_info_arm callback,
defined in xg_dom_arm.c.
I can use shared_info to store address of the SCMI and then use map_sci_pag=
e to
call XEN_DOMCTL_memory_mapping.

This will allow me to reuse existing functionality and do not allocate
extra RAM.

What do you think about that?

--
Best regards,
Oleksii.


> >=20
> > > >=20
> > > > >=20
> > > > > We still have plenty of space in the guest memory map. So the for=
mer is
> > > > > probably going to be fine for now.
> > > > >=20
> > > > > > Then I get paddr of the scmi channel for this domain and use
> > > > > > XEN_DOMCTL_memory_mapping to map scmi channel address to gfn.
> > > > > >    > Hope I wass able to answer your question.
> > > > >=20
> > > > > What you provided me is how the guest OS will locate the shared m=
emory. This
> > > > > still doesn't tell me which memory attribute will be used to map =
the page in
> > > > > Stage-1 (guest page-tables).
> > > > >=20
> > > > > To find that out, you want to look at the driver and how the mapp=
ing is
> > > > > done. The Linux driver (drivers/firmware/arm_scmi) is using devm_=
ioremap()
> > > > > (see smc_chan_setup()).
> > > > >=20
> > > > > Under the hood, the function devm_ioremap() is using PROT_DEVICE_=
nGnRE
> > > > > (arm64) which is one of the most restrictive memory attribute.
> > > > >=20
> > > > > This means the firmware should be able to deal with the most rest=
rictive
> > > > > attribute and therefore using XEN_DOMCTL_memory_mapping to map th=
e shared
> > > > > page in stage-2 should be fine.
> > > > >=20
> > > >=20
> > > > I'm using vmap call to map channel memory (see smc_create_channel()=
).
> > > > vmap call sets PAGE_HYPERVISOR flag which sets MT_NORMAL (0x7) flag=
.
> > >=20
> > > You want to use ioremap().
> > >=20
> >=20
> > I've used ioremap originally, but changed it to vmap because ioremap
> > doesn't support memcpy.
> > What if I use __vmap with MT_DEVICE_nGnRE flag?
>=20
> That's not going to help. Our implementation of memcpy() is using unalign=
ed
> access (which is forbidden on Device memory).
>=20
> You will need something similar to memcpy_toio() in Linux. I don't think =
we
> have one today in Xen, so I would suggest to import the implementation fr=
om
> Linux.
>=20
> >=20
> > > > Considering that protocol is synchronous and only one agent per cha=
nnel is
> > > > expected - this works fine for now.
> > > > But I agree that the same memory attributes should be used in xen a=
nd
> > > > kernel. I fill fix that in v2.
> > >=20
> > > I am a bit confused. Are you mapping the full shared memory area in X=
en? If
> > > yes, why do you need to map the memory that is going to be shared wit=
h a
> > > domain?
> > >=20
> >=20
> > Xen should have an access to all agent channels because it should send
> > SCMI_BASE_DISCOVER_AGENT to each channel and receive agent_id during
> > scmi_probe call.
>=20
> Hmmm... Just to confirm, this will only happen during Xen boot? IOW, Xen
> will never write to the channel when a domain is running?
>=20
> If yes, then I think it would be best to unmap the channel once they are
> used. This would prevent all sort of issues (e.g. Xen mistakenly written =
in
> them).
>=20
> Cheers,
>=20
> --=20
> Julien Grall=


From xen-devel-bounces@lists.xenproject.org Wed Jan 19 10:45:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 10:45:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258803.446131 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA8TK-0000Q2-E1; Wed, 19 Jan 2022 10:45:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258803.446131; Wed, 19 Jan 2022 10:45:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA8TK-0000Pv-Ao; Wed, 19 Jan 2022 10:45:46 +0000
Received: by outflank-mailman (input) for mailman id 258803;
 Wed, 19 Jan 2022 10:45:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SXRn=SD=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nA8TJ-0000Pn-93
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 10:45:45 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f1f4d3e4-7914-11ec-a115-11989b9578b4;
 Wed, 19 Jan 2022 11:45:42 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f1f4d3e4-7914-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642589142;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=cywRElMNjwXcRapN0oiSf4d2ojn5r7upoQm8+s41MYs=;
  b=NWTHbIMZKa2qAllly8hN1a3HaU0VrDp1VE/CFl35kGjC2WQKj4NI+rUP
   +lnLcCAgjpQ4r1eIbsCL1Vzlnad79mWBjfMecquLbvPhVoqQjU/PSd2UW
   xx9AYvRuHPus/QhYhEz3soLV1jo30WDHyGhn7z3px10dM1/y71+UrZdNY
   0=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: vaAa96CUTzFj0zu838nvT4nmUQEwVEScoIxg+fNaGmfJhMNn6iEJQcmYJaL8ew+7C5gz5Ds63x
 2SfNdTFHgR/EYOsvRlNdNzV0WEVwtXI49i5xhZxwCmHfCAW+GqcHQ99mhDqKCAxk3OEJfULHm8
 hqk/ELd4g4Ri8o/tJP0UJ6qyfEJ/4yeqaqX7DBN1YmEqEICn8426dsgI3YZuGbdttK5YWagw9O
 Or0XWU1a9cO5IJ5ybhcVXQr/fhKhDhFzxoQrHu3CTmVpflTW2f+QcMtJfql7BBZcvfzzCS2q61
 ToW6byOxCVfbXh68QLoB0tv7
X-SBRS: 5.2
X-MesageID: 62217023
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:1tQ2XqPBslefyffvrR1SkMFynXyQoLVcMsEvi/4bfWQNrUpz0TwCn
 2IWWmyEOP3YMzT3Kt92Po22p0lSvJ/cnIVnSgto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdpJYz/uUGuCJQUNUjMlkfZKhTr6UUsxNbVU8En150Esyw7dRbrNA2rBVPSvc4
 bsenOWHULOV82Yc3rU8sv/rRLtH5ZweiRtA1rAMTakjUGz2zhH5OKk3N6CpR0YUd6EPdgKMq
 0Qv+5nilo/R109F5tpICd8XeGVSKlLZFVDmZna7x8FOK/WNz8A/+v9TCRYSVatYoxWEh4FL8
 cpNjMKxVxoxP/fzofsgdzANRkmSPYUekFPGCX22sMjVxEzaaXr8hf5pCSnaP6VBpLwxWzsXs
 6VFdnZdNXhvhMrvqF6/YvNrick5atHiIasUu216zCGfBvEjKXzGa/uQv4YHhG1r7ixINcrmS
 O0+ewIxVUnvYB1LEU0OVq8mjs790xETdBUH8QnI9MLb+VP70whZwLXrdt3PdbSiR8pPmV2Dj
 nnb5Gm/CRYfXPSWzDHUrFq3nOTB2yX2ROo6BLC+s/JnnlCX7mgSEwENE0u2p+GjjUyzUM4ZL
 FYbkhfCtoBrqhbtFIOkGUTl/jjU5XbwRua8DcUa5Rnc8JPL4z/HB3YZVj8bV+U5iesfEGlCO
 kCyo/vlAjlmsbuwQH2b96uJoT7aBRX5PVPudgdfE1JbvoCLTJUby0uWE409SPLdYsjdQGmom
 1i3QD4Ca6L/ZCLh/4Gy5hj5jj2lvfAlpSZlt1yMDgpJAu6UDbNJhrBEC3CHvJ6sz67DFzFtW
 UTofeDEvIji6rnXxUSwrB0lRu3B2hp8GGS0baRTN5cg7S+x3HWoYJpd5jpzTG8wbJpeJGSwP
 BWM51kIjHO2AJdMRfUnC25WI557pZUM6Py/DqyEBjawSsUZmPC7ENFGOhfLgjGFfLkEmqAjI
 5aLGftA/l5BYZmLOAGeHr9HuZdyn3hW7TqKGfjTkkr7uZLDOi/9YepVYTOmM7FihIvZ8Vq9z
 jqqH5bQo/mpeLegMnC/HE96BQ1iEEXX8rit+pMHLbDSc1M2cIzjYteIqY4cl0Vet/09vs/D/
 22nW18ez1z6hHbdLh6NZGwlY7TqNauTZ1pgVcD1FVr3iXUlf6i166ITK8k+cbU9rbQxxv9oV
 fgVPc6HB60XGDjA/j0ca7j7rZBjK0v31V7fYXL9bWhtZYNkSizI5sTgIlnl+h4RA3flrsA5u
 bChiF/WGMJRWwR4Ac/KQ/uz1Fft72MFked/UhKQcNlecUnh6qZwLCn1gqNlKs0AM0yblDCby
 xyXEVETouyU+90599zAhKalqYa1ErQhQhoGTjeDtbvvbHvU5Guux4NEQd2kRzGFWTOm4rima
 MVU0+r4bK8NkmFVvtcuCL1s168/uYfi/ucI0gR+EXzXRF23Ebc8cGKe1MxCu6ARlL9UvQy6B
 hCG9tVAYOjbPcrkFBgaJRY/b/TF3vYRw2GA4fMwKUT8xSl24LvYDhkCY0jS0HRQfOlvLYco4
 eY9o8pHuQWwhy0jPsuCki0JpX+HKWYNUvl/u5wXaGMxZtHHFr2WjUTgNxLL
IronPort-HdrOrdr: A9a23:TVAqkKNKgnhVG8BcT1v155DYdb4zR+YMi2TDiHoedfUFSKOlfp
 6V8MjztSWVtN4QMEtQ/+xoHJPwPE80kqQFnbX5XI3SJjUO3VHIEGgM1/qG/9SNIVybygcZ79
 YeT0EcMqyBMbEZt7eD3ODQKb9Jq7PrgcPY59s2jU0dNj2CA5sQnjuRYTzra3GeKjM2YqbQQ/
 Gnl7R6TnebCD4qR/X+IkNAc/nIptXNmp6jSRkaByQ/4A3LqT+z8rb1HzWRwx9bClp0sPsf2F
 mAtza8yrSosvm9xBOZ/2jP765OkN+k7tdYHsSDhuUcNz2poAe1Y4ZKXaGEoVkO0aySwWdvtO
 OJjwYrPsx15X+UVmapoSH10w2l6zoq42+K8y7QvVLT5ejCAB4qActIgoxUNjHD7VA7gd162K
 VXm0qEqpt+F3r77WXAzumNcysvulu/oHIkn+JWpWdYS5EiZLhYqpFa1F9JEa0HADnx5OkcYa
 dT5fnnlbVrmG6hHjLkVjEF+q3oYp1zJGbIfqE6gL3U79AM90oJi3fxx6Qk7wE9HdwGOt55Dt
 //Q9ZVfYd1P7grhJJGdZQ8qPSMexnwqDL3QSqvyAfcZeo600ykke+C3Fxy3pDtRKA1
X-IronPort-AV: E=Sophos;i="5.88,299,1635220800"; 
   d="scan'208";a="62217023"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WfSO+7+19vXhqFwXfaraM/yCDkQD4WLHur28hscrQw34Ju4xce1vY6fLYrCcIimBJBU6xtfJvQ/49YQT5aYFZm0TGg1C5FNojNAJ0649eh6ItyjYqHDtYZUHqPl2LZONhYm1vyOPgbrGiRDGG+AN2CeN+4WfnU9JWHUyb28pdMU/7KlCkD7XLLCvWthjLOMhPZK0L87hAyJnTN/Mi1BUPI/x6Wo9eTNE7yHc8J5W+Zfj6vSy2cPUpU5xszLNEKWUn0v/Cp0A0oD3m5IjTTz3weC6jBsyKb0K9ADJOap/sPxnbOrOs2IJkly77Q1esNNYnRIFx3Tv2XMRQLn10MCARQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LYrW1CN/BFtNfd52IQQkrGsT3O2O+i9L+EpTHOjbg8g=;
 b=HwuqruZ4V/TdzYdtPPx1IjEDuzC2n/uKIXv/N/R0Xpb/gXZdVcaP30acJSUR8vFHgXMp7uWJ0kfbmE0xQmyisIr4MRTf0qsf7PQ+E0zY4nEvZ5twLVfqGd5rsIeJuSaRZuH/eh/PcdExfZluP3V/bx74cqcnqsDCx2My4dUP5Rnp6eLhBT5qDT+gnFlFNtTatdmC5pCyVBUdVmj0q5TCgpCa+tLfxt/gOCbUnEptibdE27ZI+lIyE8c3gRNneToOb1+SzWQdxI9KFFFh5t3MWwjmc9M+GfxY8KBGzKCVO1GTE0PJpGRjXQ1T6CXX/92k7UmbY/x/lIEkQrHg85Vlug==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LYrW1CN/BFtNfd52IQQkrGsT3O2O+i9L+EpTHOjbg8g=;
 b=S0I350E2/RljNYrt5NgboLN6nhGhVflqvCmQ/GK+RwkIN6B7Iy8XJb2a3lZsPcyRcVBb6MdK+y8+v7IjCJLDhN72URfN0Fw8vAXhXilWkLPJXNYGSgfdo7/da5VdmpiUvpIpwGXMpKF7U4cLGSaP6rkpHYw9qBdtrWCXsKxPzH4=
Date: Wed, 19 Jan 2022 11:45:30 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <amc96@srcf.net>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH v6 08/12] libs/guest: rework xc_cpuid_xend_policy
Message-ID: <YefryjrREotJfl8F@Air-de-Roger>
References: <20220117094827.16756-1-roger.pau@citrix.com>
 <20220117094827.16756-9-roger.pau@citrix.com>
 <f20a04e6-cfc6-1099-0944-eadf8192ae6f@srcf.net>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <f20a04e6-cfc6-1099-0944-eadf8192ae6f@srcf.net>
X-ClientProxiedBy: MR2P264CA0173.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501::12)
 To DS7PR03MB5608.namprd03.prod.outlook.com (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ef2ce963-80c9-4b10-01de-08d9db38d387
X-MS-TrafficTypeDiagnostic: DM6PR03MB3737:EE_
X-Microsoft-Antispam-PRVS: <DM6PR03MB3737DA37CA2D6AE9627232F98F599@DM6PR03MB3737.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: DIGePvAgJB0/2+VmnOizGoc7WfA/IwxLOPb5Lssnm1dN3binEQzTfMjQQe87fNBgmZp6ZOvaF2wU9QmgKMYlPcwvf+be6blLhU3Q90G0bbdvCYDNjAmUs5vT72eA0Jwvv/FcKL61Hz6r/DnfGRmpH8kTS/3lYReBuIfEIAna79TA8vmGj3YQrzPoZyza2tWFuFJjzi4zFIkFqMh0pDqZKIbLTMvBvp/RVIzfUF37ej8JsTFS01HZb8g9m8Ri3Xm+8qKoIUqWaHKEWV24TQ9Z1UN7vhEPIjs+dK67zmN5/QwUVeaRcSHgzW0iVl8L2X0pBhJopS7vUV6r+bp6y6+fimyzgPK7Zw9sGy0UZ6M5xJYbUur9n6kTc4ThUY2yOPPQRobftFp91Hxd2QDj9NrcK9eVtgQVUVr1HwUNDJf2Z4PfZm/s3kB5YBVeGLgsgaOzQfyUipR33qTR9pvwIVp4RcVnWrXAbicw72y8RM5kmQEJ+iK4gHWJ3YIZu//GTsyc6u8CcKdRH98IOnnRk/wHYFYDHEdeTdu8mnt5YM3ONGfb6UbgvTV2sUC/6tPt1g4dWdDQwQbfEWBjtdoe/ZkHRZXp3o7VwofFYBnalQtqZ5ipRKHDYjYnKN7PlWAtdrW/uH0rSSvBP+9yner1vjRv6g==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(26005)(86362001)(508600001)(83380400001)(6486002)(66946007)(53546011)(186003)(66556008)(66476007)(5660300002)(6666004)(6506007)(54906003)(85182001)(33716001)(6916009)(316002)(38100700002)(9686003)(82960400001)(8676002)(2906002)(8936002)(6512007)(4326008);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?T09McTlVSkx0bkt3WXhIZTdLOW1HTTRiVTF2aVQ0bWlCT1hkelJ4M3dNbVA1?=
 =?utf-8?B?L3BwT0h5SmVkMDlaWkh1MjB3bEU1bklkWVhLbm8wd09zK1BRaFJGbG1yVFhm?=
 =?utf-8?B?OHc1eFQ4cDloRXVraVRCMFFXbCtqYUhjeEM2ZmNRQy9CRkNPQmNpS0tvUUFG?=
 =?utf-8?B?ZnZiaWtmemtpNUl6NzBMdGhPdGZwSjJ1WFNNTWxDSVdkcHhWd2h1cFgwNEky?=
 =?utf-8?B?NjlOU3JJY2EvcWhlV0JHcVpzUFIyZ1BUNHQxVmc3b1pRS0pvUFZjZUVNUVpE?=
 =?utf-8?B?SklKdmwwYUZvT0J1a2xnUWJST0RtZDlsM0dpbm42a0FzMHVHQ1Y0S1FGeFFj?=
 =?utf-8?B?SUtiRTNZODFZSkFpOURVcmVaK3pnT0ZBc3NjWHNFMWFqQTBKWEtVajdLbnpt?=
 =?utf-8?B?VjJPaGx2YTBaTzZwNEJGbDh0dXJidDNiQUIwb1k5TE1ieW1qbHY5SkoxSkg0?=
 =?utf-8?B?YUpKa1A5cDlEZmdEeGpFemt5TzNVYTFadjJMZFJBRUhwYk9Odjc3MFJobkc0?=
 =?utf-8?B?Yjg0LzhrVHhwZXErWTZjRTd0NVR3K3IxZGg3MTlaZTJkaCtRSWRUSUt3SHov?=
 =?utf-8?B?MWFUaGphMzdpR0NLcVFyLzh2QkIxOHkvYnVjTUd0M1ZiT2V0dldsNU9uYTRM?=
 =?utf-8?B?RjI0ZENWQlYvVGxwd05aZGV5MnNaVm15YkYydnVrcDFzdVNmajJjZkl0ODFL?=
 =?utf-8?B?VmdlM2RBc3Azd1kzUFFNSE94UEdaMUQzeW1hOVoxTStWSUd5NnhBRWh1VEZj?=
 =?utf-8?B?MGphOTNaQXVTNGlhU1ZsZXBkUXl5b0JvNGcyTE5rQklLdkltTitzNFAxczZT?=
 =?utf-8?B?aEFXcGZaakpwc1JIR29FQm5sb2hMQUdUMm9OOWEvbGkzd296WVhpVkFzMmxh?=
 =?utf-8?B?dXZEY2RBQm5qMWpPbzgzenY3SjZHR2FVVVlVS2IyUlJUL2JWYldLYUJuTmcy?=
 =?utf-8?B?WFFWYlYzMDIvUmdWc1JaVEVEaXkwcmRPcW5RUzRKVkhrbm9zSzdabW5JcnRG?=
 =?utf-8?B?VzFXZ1R6LzQyOHczWXJSZVhhdXdFTmx4L3BiUGVnRC9yMTFZV0QzVHRURy9u?=
 =?utf-8?B?UlNqeXhmNjN1eU4zM3VJTEhiSHEyTU50Zms1bWEwc2pOVGdIUVIzZ0VsdXdl?=
 =?utf-8?B?QndrMWJxM3A2T3NIeFU0cUFKSmE0YTk1L0xHZ0h1V2NyVldhT2xLWlN1bjRW?=
 =?utf-8?B?ZFBJdGxoNU5XOUpncHFHVTV2V0dXWHhmcGN6ZHYxaXhLQ1JSZFgxeVdTenpI?=
 =?utf-8?B?cG9pWU9sT2poSExiMy9saDdZbzdHZ2c1cE5wSTdXQ2djMEVCSkxSQndGOTlw?=
 =?utf-8?B?alpCR3k3eFV5UEduSmZTN0hQeGxmZXBlcGhLM3NId2crQXpsTGpuV3RGUUVT?=
 =?utf-8?B?WFlMdDd0eG1IU3hJaUkvcUdXN3B6Q0RacVJQb2xucTV1S3BHR0lReXRPczBw?=
 =?utf-8?B?VHpLanpJQTQyZW5jUFpJZzJsZUQ2cG03QlExa251UTVGc1F6YWJ3ZnZZb1Uy?=
 =?utf-8?B?dlM0OWlZUUhlV240WlJSRVIxUC9xbjd0Y01wQzRKbTNZV08wRGM5UHBEZUkr?=
 =?utf-8?B?dkRIVkh0Y2FqaUhObVZZTFhOemZyaE9PY3doY0VUMXhCMjRwN3ZLMXZmZEg4?=
 =?utf-8?B?b0ZmYXpLUlF3WHhNUzYvbFZSOTBScFp6UHp4cnZIZUpoOHo1OWZlQkdpaGRo?=
 =?utf-8?B?SUsra0xDUXZ5WmZ1b2tNNldRZU14aDUzVEh6TmkybUNyL1B5NmIwUnNMUVlM?=
 =?utf-8?B?Z0l1V0s4ZGJ3WWlGQmYyZTJQZ2wyMkJ5UVdPdGRmMklzcTBFRXIxQ0g5dlRE?=
 =?utf-8?B?OG9raUN2VGxhd3dxa1B1c3J0RG5QZXBWZklnemxIS3lxRDJ2UzFSRTlxUVpl?=
 =?utf-8?B?NmRsRTVlUklTQXk4NHhaUGt1aTBkc1kwQVQ5ektSRjVTNGYrckR1UERMbmxI?=
 =?utf-8?B?R0hLM1ZKRlNrYlpRV0hNMlpyVEg3cDV1VHdEY242WUEzeTJvQVgvbXI4V3g3?=
 =?utf-8?B?Z3JsWml2N1pGTEZRN1oyZHU0OHh4UzN0MnBiOWVKRS9ObXhJVStKRmhreFdN?=
 =?utf-8?B?K1hrUU1lTFFuczhqcklQUC9Ec3crT2ROQzlyblF5dzczZkFIcVZaOFBRMVNL?=
 =?utf-8?B?OWhvc1l0Uy9FQUhnZ0psRFpmTG1UZkhVcVAvNXVKbnlwMXVSeGJyOUsrc3Jh?=
 =?utf-8?Q?K3CKMFkSe//yik3SGLCeWmg=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: ef2ce963-80c9-4b10-01de-08d9db38d387
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2022 10:45:36.4846
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5S58ERUpUJHrj4KTBLu/SFP5Z9NVg2m1cclulzuvCwZpDJvvVLjrNjh/tYW3qBFU2LTDyMp4FrZzoL9lA9u5vg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB3737
X-OriginatorOrg: citrix.com

On Tue, Jan 18, 2022 at 02:06:25PM +0000, Andrew Cooper wrote:
> On 17/01/2022 09:48, Roger Pau Monne wrote:
> > Rename xc_cpuid_xend_policy to xc_cpu_policy_apply_cpuid
> 
> I'm not convinced by this name.  'xend' is important because it's the
> format of the data passed, which 'cpuid' is not.

The format would be the libxc format now. Having xend here is a
layering violation IMO.

Note this function goes away in patch 11, so I'm unsure there's a lot
of value in discussing over the name of a function that's about to
disappear.

> It is a horribly inefficient format, and really doesn't want to survive
> cleanup to the internals of libxl.

Even when moved to the internals of libxl the format is not exposed to
users of libxl (it's a libxl__cpuid_policy in libxl_internal.h), so we
are free to modify it at our own will. I would defer the changes to
the format to a separate series, there's enough churn here already. My
aim was to provide a new interface while keeping the functional
changes to a minimum.

> > diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
> > index e7ae133d8d..9060a2f763 100644
> > --- a/tools/libs/guest/xg_cpuid_x86.c
> > +++ b/tools/libs/guest/xg_cpuid_x86.c
> > @@ -254,144 +254,107 @@ int xc_set_domain_cpu_policy(xc_interface *xch, uint32_t domid,
> >      return ret;
> >  }
> >  
> > -static int compare_leaves(const void *l, const void *r)
> > -{
> > -    const xen_cpuid_leaf_t *lhs = l;
> > -    const xen_cpuid_leaf_t *rhs = r;
> > -
> > -    if ( lhs->leaf != rhs->leaf )
> > -        return lhs->leaf < rhs->leaf ? -1 : 1;
> > -
> > -    if ( lhs->subleaf != rhs->subleaf )
> > -        return lhs->subleaf < rhs->subleaf ? -1 : 1;
> > -
> > -    return 0;
> > -}
> > -
> > -static xen_cpuid_leaf_t *find_leaf(
> > -    xen_cpuid_leaf_t *leaves, unsigned int nr_leaves,
> > -    const struct xc_xend_cpuid *xend)
> > -{
> > -    const xen_cpuid_leaf_t key = { xend->leaf, xend->subleaf };
> > -
> > -    return bsearch(&key, leaves, nr_leaves, sizeof(*leaves), compare_leaves);
> > -}
> > -
> > -static int xc_cpuid_xend_policy(
> > -    xc_interface *xch, uint32_t domid, const struct xc_xend_cpuid *xend)
> > +int xc_cpu_policy_apply_cpuid(xc_interface *xch, xc_cpu_policy_t *policy,
> > +                              const struct xc_xend_cpuid *cpuid, bool hvm)
> >  {
> >      int rc;
> > -    xc_dominfo_t di;
> > -    unsigned int nr_leaves, nr_msrs;
> > -    uint32_t err_leaf = -1, err_subleaf = -1, err_msr = -1;
> > -    /*
> > -     * Three full policies.  The host, default for the domain type,
> > -     * and domain current.
> > -     */
> > -    xen_cpuid_leaf_t *host = NULL, *def = NULL, *cur = NULL;
> > -    unsigned int nr_host, nr_def, nr_cur;
> > +    xc_cpu_policy_t *host = NULL, *def = NULL;
> >  
> > -    if ( xc_domain_getinfo(xch, domid, 1, &di) != 1 ||
> > -         di.domid != domid )
> > -    {
> > -        ERROR("Failed to obtain d%d info", domid);
> > -        rc = -ESRCH;
> > -        goto fail;
> > -    }
> > -
> > -    rc = xc_cpu_policy_get_size(xch, &nr_leaves, &nr_msrs);
> > -    if ( rc )
> > -    {
> > -        PERROR("Failed to obtain policy info size");
> > -        rc = -errno;
> > -        goto fail;
> > -    }
> > -
> > -    rc = -ENOMEM;
> > -    if ( (host = calloc(nr_leaves, sizeof(*host))) == NULL ||
> > -         (def  = calloc(nr_leaves, sizeof(*def)))  == NULL ||
> > -         (cur  = calloc(nr_leaves, sizeof(*cur)))  == NULL )
> > -    {
> > -        ERROR("Unable to allocate memory for %u CPUID leaves", nr_leaves);
> > -        goto fail;
> > -    }
> > -
> > -    /* Get the domain's current policy. */
> > -    nr_msrs = 0;
> > -    nr_cur = nr_leaves;
> > -    rc = get_domain_cpu_policy(xch, domid, &nr_cur, cur, &nr_msrs, NULL);
> > -    if ( rc )
> > +    host = xc_cpu_policy_init();
> > +    def = xc_cpu_policy_init();
> > +    if ( !host || !def )
> >      {
> > -        PERROR("Failed to obtain d%d current policy", domid);
> > -        rc = -errno;
> > -        goto fail;
> > +        PERROR("Failed to init policies");
> > +        rc = -ENOMEM;
> > +        goto out;
> >      }
> >  
> >      /* Get the domain type's default policy. */
> > -    nr_msrs = 0;
> > -    nr_def = nr_leaves;
> > -    rc = get_system_cpu_policy(xch, di.hvm ? XEN_SYSCTL_cpu_policy_hvm_default
> > +    rc = xc_cpu_policy_get_system(xch, hvm ? XEN_SYSCTL_cpu_policy_hvm_default
> >                                             : XEN_SYSCTL_cpu_policy_pv_default,
> > -                               &nr_def, def, &nr_msrs, NULL);
> > +                                  def);
> >      if ( rc )
> >      {
> > -        PERROR("Failed to obtain %s def policy", di.hvm ? "hvm" : "pv");
> > -        rc = -errno;
> > -        goto fail;
> > +        PERROR("Failed to obtain %s def policy", hvm ? "hvm" : "pv");
> > +        goto out;
> >      }
> >  
> >      /* Get the host policy. */
> > -    nr_msrs = 0;
> > -    nr_host = nr_leaves;
> > -    rc = get_system_cpu_policy(xch, XEN_SYSCTL_cpu_policy_host,
> > -                               &nr_host, host, &nr_msrs, NULL);
> > +    rc = xc_cpu_policy_get_system(xch, XEN_SYSCTL_cpu_policy_host, host);
> >      if ( rc )
> >      {
> >          PERROR("Failed to obtain host policy");
> > -        rc = -errno;
> > -        goto fail;
> > +        goto out;
> >      }
> >  
> >      rc = -EINVAL;
> > -    for ( ; xend->leaf != XEN_CPUID_INPUT_UNUSED; ++xend )
> > +    for ( ; cpuid->leaf != XEN_CPUID_INPUT_UNUSED; ++cpuid )
> >      {
> > -        xen_cpuid_leaf_t *cur_leaf = find_leaf(cur, nr_cur, xend);
> > -        const xen_cpuid_leaf_t *def_leaf = find_leaf(def, nr_def, xend);
> > -        const xen_cpuid_leaf_t *host_leaf = find_leaf(host, nr_host, xend);
> > +        xen_cpuid_leaf_t cur_leaf;
> > +        xen_cpuid_leaf_t def_leaf;
> > +        xen_cpuid_leaf_t host_leaf;
> >  
> > -        if ( cur_leaf == NULL || def_leaf == NULL || host_leaf == NULL )
> > +        rc = xc_cpu_policy_get_cpuid(xch, policy, cpuid->leaf, cpuid->subleaf,
> > +                                     &cur_leaf);
> 
> This is a crazy increase in data shuffling.
> 
> Use x86_cpuid_get_leaf() from patch 2, which *is* find_leaf() for
> objects rather than lists, and removes the need to further-shuffle the
> data later now that you're not modifying cur in place.

This function will get moved into libxl in patch 11, and then it would
be a layering violation to call x86_cpuid_get_leaf, so it needs to use
the xc wrapper.

> It also removes the churn introduced by changing the indirection of
> these variables.
> 
> It also removes all callers of xc_cpu_policy_get_cpuid(), which don't
> have an obvious purpose to begin with.  Relatedly,
> xc_cpu_policy_get_msr() has no users at all, that I can see.

This was introduced in order to provide a sensible interface. It
doesn't make sense to allow getting cpuid leafs but not MSRs from a
policy IMO. I would expect other toolstacks, or libxl in the future to
make use of it.

If you don't think that's enough justification we can leave that patch
aside.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Jan 19 11:30:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 11:30:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258807.446142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA9Ak-0005TE-0j; Wed, 19 Jan 2022 11:30:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258807.446142; Wed, 19 Jan 2022 11:30:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA9Aj-0005T7-Ts; Wed, 19 Jan 2022 11:30:37 +0000
Received: by outflank-mailman (input) for mailman id 258807;
 Wed, 19 Jan 2022 11:30:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kB+X=SD=gmail.com=gengdongjiu1@srs-se1.protection.inumbo.net>)
 id 1nA9Ai-0005T1-D1
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 11:30:36 +0000
Received: from mail-lf1-x143.google.com (mail-lf1-x143.google.com
 [2a00:1450:4864:20::143])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 379ea793-791b-11ec-a115-11989b9578b4;
 Wed, 19 Jan 2022 12:30:34 +0100 (CET)
Received: by mail-lf1-x143.google.com with SMTP id bu18so8119661lfb.5
 for <xen-devel@lists.xenproject.org>; Wed, 19 Jan 2022 03:30:35 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 379ea793-791b-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc:content-transfer-encoding;
        bh=q43cqyxfEmnMEIhCkOcgzroAj3DW/hzFJmxRaO8jgQU=;
        b=i5g4BrZGC4dMIuAxySXpTW62RPr4TBWFiIsBiidRNF0qnwW/bhmVzjfoRfkqWUlssM
         rtkoCQTLtjIySf3hWAp0b3G3QU2suvA9cw/hZNmvlD/jj+aCxE1HzwfSKg9m6NSaWcmV
         SX48Nwys3duAC5XZZrvkK3Z4ZXkiJXqg16inG/gOjHY6T0w7VzIki7gcgjTmhd63U0KB
         KwNJTt1HP1RnPdc0b1SwfphwlcIkUCk5bCTCc2FnOiwSjn+7PquF3Md4IgyxyrkhcdLn
         /wkln19K69Esjaf/dnjog0YIlHPDAD9eIQO8pzvQRj7K1AYUoi0yI3BLKZTrM6EW7Q6F
         gXGg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc:content-transfer-encoding;
        bh=q43cqyxfEmnMEIhCkOcgzroAj3DW/hzFJmxRaO8jgQU=;
        b=IsmHYrcYpF0T1QxdshBzUSYnDQaSDYWK19ZbpNUdMojMsQa6u13NVI/EVYrCZy81TR
         grXRoBUlzBwzk1Gyhg7fmp2iZRqkJrNKzep4WrFR6PNFLVc6f7LjDMJQfdtQdy029GcH
         2UpqUXqfWx3mjAD8V9fKNMwV++OGdBaDpyO06qKCg43/1aYxs0foUUZaxpdTd4vtWmAs
         Tklz7QtjYMjW3B6eF+0H0fI2S64Qd59fF2yI7q7WWXtz8KtmZ0YFMyVibo5yLAgQgmmk
         LX+kyWQBh5fGObwvRfQY3sGz9mCEoyyA0BFW/9FTBYF43bPMbEf65ziJ+1bllFjWsldH
         wi2g==
X-Gm-Message-State: AOAM531KyYGsxqSlyiYmITvqXILRkxckwiP5dCZn1cXWHtPMM3zMVSKV
	IQn4Fi1fDaV/YHHqjhoVX/J0ygEQDCuDmP9GVeA=
X-Google-Smtp-Source: ABdhPJztgSNQZy6W5424hDrR5WPdPGPOq4jNSA8ZUAMfspWSAsig4EZ+vYfva4Zo4bXGBH9Pc3CmHSlARAM0Y7PFuSY=
X-Received: by 2002:a2e:968e:: with SMTP id q14mr23978075lji.404.1642591834264;
 Wed, 19 Jan 2022 03:30:34 -0800 (PST)
MIME-Version: 1.0
References: <20220117064003.3367188-1-gengdongjiu1@gmail.com>
 <2a1a0dd5-b8a7-8072-2961-b1fbe9ec746a@xen.org> <CABSBigSOjoXABoYoe+SahQyX0P045YjgK3A=7yyxw_aX8nzTqg@mail.gmail.com>
 <9A7FAD16-3D4A-4C22-8288-A4719A993CDD@arm.com> <CABSBigSba0ENZ-AvDN7bPGNqS5zQKceL901BxhjR8pkRntgnrw@mail.gmail.com>
 <A5AC5212-A9FD-4027-893D-24A5A8DFD825@arm.com>
In-Reply-To: <A5AC5212-A9FD-4027-893D-24A5A8DFD825@arm.com>
From: Dongjiu Geng <gengdongjiu1@gmail.com>
Date: Wed, 19 Jan 2022 19:30:23 +0800
Message-ID: <CABSBigRR+QEbPcibGmHAi1egY1XegPDZ_n2zmJftG49+-dOk4w@mail.gmail.com>
Subject: Re: [PATCH v4] xen/arm: Allow QEMU platform to be built with GICv2
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, xen-devel <xen-devel@lists.xenproject.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Bertrand Marquis <Bertrand.Marquis@arm.com> =E4=BA=8E2022=E5=B9=B41=E6=9C=
=8818=E6=97=A5=E5=91=A8=E4=BA=8C 17:17=E5=86=99=E9=81=93=EF=BC=9A
>
> Hi Dongju,
>
> > On 18 Jan 2022, at 08:58, Dongjiu Geng <gengdongjiu1@gmail.com> wrote:
> >
> > Bertrand Marquis <Bertrand.Marquis@arm.com> =E4=BA=8E2022=E5=B9=B41=E6=
=9C=8818=E6=97=A5=E5=91=A8=E4=BA=8C 16:48=E5=86=99=E9=81=93=EF=BC=9A
> >>
> >> Hi Dongju,
> >>
> >>> On 18 Jan 2022, at 08:45, Dongjiu Geng <gengdongjiu1@gmail.com> wrote=
:
> >>>
> >>> Julien Grall <julien@xen.org> =E4=BA=8E2022=E5=B9=B41=E6=9C=8817=E6=
=97=A5=E5=91=A8=E4=B8=80 22:16=E5=86=99=E9=81=93=EF=BC=9A
> >>>>
> >>>> Hi,
> >>>>
> >>>> On 17/01/2022 10:40, Dongjiu Geng wrote:
> >>>>> It turns out that QEMU has been supporting GICv2 virtualization sin=
ce
> >>>>> v3.1.0. So remove the dependencies on GICv3.
> >>>>
> >>>>
> >>>> Technically, the current form of CONFIG_QEMU allows the same binary =
to
> >>>> boot on QEMU with GICv2 or GICv3.
> >>>>
> >>>>> If we want to use GICv3,
> >>>>> we can select the QEMU_LEGACY configuration.
> >>>>
> >>>> AFAIK, GICv3 is not a legacy feature... So it feels a bit odd to nam=
e it
> >>>> like that (see more below).
> >>>
> >>> Legacy means QEMU platform only supports GICV3, now it can support
> >>> both GICv2 and GICv3. The scope of support has been expanded
> >>> Not mean GICv3 is a legacy feature.
> >>
> >> You might be misleading a bit here.
> >> In the current configuration, Xen support GICv2, GICv3 and vgic.
> >> The only thing not supported is actually the new VGIC but this is an u=
nsupported feature not fully functional which shall be used with caution.
> >>
> >> What issue exactly do you have in Qemu configured for gicv2 when you u=
se the default configuration ?
> >
> > I want to use NEW_VGIC with GICv2, but QEMU only select GICV3,  when
> > GICv3 is select, the NEW_VGIC can not be used.   I try the NEW_VGIC
> > with GICv2, not found issue. so I want to remove this limitation.
> > If  you think we should not support NEW_VGIC feature,  we can ignore
> > this patch.  thanks!
>
> Supporting GICv2 makes sense but using NEW_VGIC in Xen might not as it is=
 not security supported and does not support ITS and MSIs.
   It is surely that NEW_VGIC not support ITS and MSI.  but I think
QEMU platform should not limit user select it.  Selecting GICv2=E3=80=81GIC=
v3
or NEW_VGIC may be chosen by users. But I find user can select it at
all.

>
> Do you have a reason to use the NEW_VGIC implementation instead of the st=
andard one ?

I add some features which is ported from KVM,  NEW_VGIC is refereed to
KVM=EF=BC=8Cso it easily integrate


>
> Cheers
> Bertrand
>
> >
> >>
> >> Cheers
> >> Bertrand
> >>
> >>>
> >>>>
> >>>>>
> >>>>> Signed-off-by: Dongjiu Geng <gengdongjiu1@gmail.com>
> >>>>> ---
> >>>>> xen/arch/arm/platforms/Kconfig | 10 +++++++++-
> >>>>> 1 file changed, 9 insertions(+), 1 deletion(-)
> >>>>>
> >>>>> diff --git a/xen/arch/arm/platforms/Kconfig b/xen/arch/arm/platform=
s/Kconfig
> >>>>> index c93a6b2756..41e82a42ee 100644
> >>>>> --- a/xen/arch/arm/platforms/Kconfig
> >>>>> +++ b/xen/arch/arm/platforms/Kconfig
> >>>>> @@ -13,7 +13,15 @@ config ALL_PLAT
> >>>>>     automatically select any of the related drivers.
> >>>>>
> >>>>> config QEMU
> >>>>> -     bool "QEMU aarch virt machine support"
> >>>>> +     bool "QEMU aarch virt machine support >=3D v3.1.0"
> >>>>
> >>>> This is a bit misleading. A user may select this thinking that this =
will
> >>>> select GICv3. However, this will not.
> >>>>
> >>>> This also raises the question of what is the default GIC version in =
QEMU
> >>>> (i.e. if you don't pass anything on the command line)? If this is GI=
Cv3,
> >>>> then I am afraid that this patch would be a no-go for me.
> >>>>
> >>>> Looking at overall discussion, you seem to push the patch only to al=
low
> >>>> building a tiny Xen for QEMU and the new vGIC.
> >>>>
> >>>> The default Xen (i.e. make defconfig) will also work on QEMU. Given =
that
> >>>> the new vGIC is a still in development, I am seriously considering t=
o
> >>>> say that if you want to try it then you have to use the default
> >>>> configuration.
> >>>>
> >>>> @Dongjiu, is there any reason why you want to use the tiny QEMU conf=
ig
> >>>> rather than the default configuration?
> >>>
> >>> Hi Julien, thanks for the reply, I do not use the tiny QEMU config. I
> >>> used the default configuration and selected the platform as QEMU.
> >>> But QEMU platform only slects GICV3, so I submit this patch to remove
> >>> the limitation because I want to use VGIC. VGIC can already support
> >>> GICv2 now.
> >>>
> >>>>
> >>>> @Bertrand, @Stefano, what do you think?
> >>>>
> >>>> Cheers,
> >>>>
> >>>> --
> >>>> Julien Grall
>


From xen-devel-bounces@lists.xenproject.org Wed Jan 19 12:03:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 12:03:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258812.446153 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA9gn-0000Uc-JP; Wed, 19 Jan 2022 12:03:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258812.446153; Wed, 19 Jan 2022 12:03:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA9gn-0000UV-G5; Wed, 19 Jan 2022 12:03:45 +0000
Received: by outflank-mailman (input) for mailman id 258812;
 Wed, 19 Jan 2022 12:03:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SXRn=SD=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nA9gl-0000UP-QF
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 12:03:44 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d63f5756-791f-11ec-a115-11989b9578b4;
 Wed, 19 Jan 2022 13:03:40 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d63f5756-791f-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642593820;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=+hcRZpUw+8LijXGFDaP+uVYDP0lImUfOoE8UOQdWdRU=;
  b=eBCxwdhZxYCoojD8ULl8Nrc4N8OmXpzoic+Du+WxiEtmjtjpx3kgn6Wc
   WIQW23fmgAIU9haAbjrX1KJuOaoi9S4LStLgU0hQqweUzqH7N41wqgAgi
   FhkD6y9nFM2FmM5xkXQrjjT1JVloidubUIjUd0/tjWpDvGynzn4VJVxFL
   k=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: jvMCmv4cHK5Z4uALZ3Lq0A3C9oVmsCdRtKKlybDhQjFXM2/ICjLdHwIHrM3RwJ2y54oNU6bN7X
 DLeM+LP8Xj0d2aT6c6Tr/7CFbkk6g4hO+c4kZAe4ojtA86dFVM+yETp6FYqeeODBBpCa+Z/MTh
 bs8rGm85PrKBxva3/fFPcTwZvE+9UHSJyzaq/aFtCDfnzkncCMfQjX0aFaUGERCP2VpREDt5Ym
 z4AY/+1+QI/DBgEYsDRlEC6/jvQNVSMK5gsMBW6NEXd9P1AFoFszpLBmzJojWdw6mIFLlvPAWy
 Xv304our2pwglbyqxwXUQTTI
X-SBRS: 5.2
X-MesageID: 62708775
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:BCdBYqNKUZvTSR/vrR1EkMFynXyQoLVcMsEvi/4bfWQNrUp3gzQHz
 mIZUWCOPPaOZGPxetwlYN7loBxUv8SHzdUyTAto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdpJYz/uUGuCJQUNUjMlkfZKhTr6UUsxNbVU8En150Esyw7dRbrNA2rBVPSvc4
 bsenOWHULOV82Yc3rU8sv/rRLtH5ZweiRtA1rAMTakjUGz2zhH5OKk3N6CpR0YUd6EPdgKMq
 0Qv+5nilo/R109F5tpICd8XeGVSKlLZFVDmZna7x8FOK/WNz8A/+v9TCRYSVatYoyuuo/Qyx
 /xPjqCfDhkWAvPcmcobYiANRkmSPYUekFPGCX22sMjVxEzaaXr8hf5pCSnaP6VBpLwxWzsXs
 6VFdnZdNXhvhMrvqF6/YvNrick5atHiIasUu216zCGfBvEjKXzGa/uQuocIg2ht7ixINfbgY
 o0GYyUwUE3BRz8SMXQ8NYkTsvj90xETdBUH8QnI9MLb+VP70whZwLXrdt3PdbSiVchT20qVu
 G/C12D4GQ0BcsySzyKf9XChjfOJmjn0MKoQHrCl8v9hgHWI23ceThYRUDOGTeKR0xDkHYgFc
 gpNp3Ro/fNaGFGXosfVQTqEhD2LlxwnZ/UXDdIGthGM5Kzl2lPMboQbdQJpZNsjvc4wYDUl0
 F6Vgt/kbQBSXK2ppWG1renN827rUcQBBSpbPHJfE1NZizX2iNhr1kqnczp1LEKiYjQZ8xnUy
 ivCkiUxjq57YSUjh/TipgCvb95BS/H0ou8JCuf/AjPNAuBRPtfNi2mUBb7zt6YowGGxFAjpg
 ZT8s5LChN3i9LnU/MB3fM0DHauy+9GOOyDGjFhkEvEJrmrxoSP4JNwKv28kfS+F1/ronxezM
 Cc/XisLtfdu0IaCN/crM+pd9ex3pUQfKTgVfq+NNYcfCnSAXASG4DtvdSatM5PFyyARfVUEE
 c7DK66EVC9CYYw+lWbeb7pDjdcDm35vrUuOFcGT50n2itK2OS/KIYrpxXPTNIjVGove/lWMm
 zueXuPXoyhivBrWOXiIodVNfAFTfRDWx/ne8qRqSwJKGSI/cEkJAP7N27IxPYtjmqVejODT+
 X+hHERfzTLCabfvcG1ms1hvN+HiW4hRt3U+MXB+NFqkwSF7M42u8L0eZ908erx+rL5vyvt9T
 v8kfcScA6sQFmSbqmpFNZSt/pZ/cBmLhB6VO3b3ajYIYJM9FRfC/cXpf1Wz+XBWXDa3r8Y3v
 5apyhjfHcgYXw1nAcuPMKCvwlq9sGIzguV3W0eUcNBfdF+1qNphKjDrj+9xKMYJcE2Ryjyf3
 geQIBEZueiS/NNlrIiX3fiJ9t77HfF/E0xWG3jgwYy3bSSKrHC+xYJgUfqTeWyPXm3D56j/N
 /5eyOvxMaNbkQ8S4ZZ8Cbti0Yk3+8Dr++1B1g1hEXjGMwarB7dnLiXU1MVDrPQQlLpQuA/wU
 UOT4NhKf76OPZq9QlIWIQMkaMWF1O0VxWaOvahkfh2i6X8l5qeDXGVTIwKI2X5UI7ZCOY84x
 fss5ZwN4Aulhxt2atuLg0i4LYhXwqDsh0n/iqwnPQ==
IronPort-HdrOrdr: A9a23:Y2pRu6xvt0yg3Mhc/yhMKrPw871zdoMgy1knxilNoHtuA6ilfq
 GV7ZEmPHrP4gr5N0tOpTntAse9qBDnhPxICOsqXYtKNTOO0ADEQL2KhrGSoAEIdReeysdtkZ
 56da5wEdvxCkU/o/rbzWCDYrEd6ejCybuvg+jGyXdrUEVNUIFPqylEKivzKDwReOFhbaBJbK
 Z0IvA33gadRQ==
X-IronPort-AV: E=Sophos;i="5.88,299,1635220800"; 
   d="scan'208";a="62708775"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bsHNGjmSgwc9jB50b6CugQ6v6hOedaQV1KGkCMi2jwNpKQw3wkG4RiPkhf1m5scIB2F7Tl1fK2E53hnTevGX/Gudo0Q8I4Npms/72FtTSbAvYuKQ6UvqhNFtIxjET8ZWn9nRH738pbm1/NVvLiMz6VU5j5Lu2my9jhlq5F4rdgchImot/RY6U8CJb/c7JCW326DhzUaxXTyPc7RcIt2ciT87UQABvUCJbb/iP3x86RlidMDhXCetBIZFWVTg9r4czXGn618UgwWr6YX9tpjzG33FUi93xYp40LzGS2o9rFPLFMOn7zyPRbNcXiE+p3L0FUGNNczwmNlr9WFY5Pw2dQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JLDoJGqeyVOqoYGF1B9eA2OtkKsDK5I4ihKh3wUrkw4=;
 b=O14oxO59KqoApPo55h3nQRypJNdW/WXfpNEX5BkJprDIpS3SUK1AgNfwDQ+rRUNaLl9At4iU/LRHTrM4JHqaX0uEklUVgeTjQnyLUWW8ahdaLc38lrIFMHpNBlpHyv1S/STMvuCSFZ3uS+d2EdZgtSeCa+AcEkeS6jSTd9ICXHTvNZWHhglv/fjC9EDdvJcsUw3dI0V73YcvPdv+HI7NFlx+FquudtR1vngVsl5ys7WBXvRxA7KpLpjPA9ejl/s885UuwQLJ+DsLTpeW6+qYnGPO1yvWB1XboJCI312iocSyb8pr5k1flJBE2QoAVJYXlIKhh0kVQRW5pP0c2dC27w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JLDoJGqeyVOqoYGF1B9eA2OtkKsDK5I4ihKh3wUrkw4=;
 b=dikk668ULbYEOpsvscMeOkDG6Uan2u6do0j9fOUMiWE9DaJxmUorA9LAVgY/8DFtbXo6Ta4D0fMueXB8/J6BHcTaayykfwpePwt9wNYJ8mwiGdc0I9D0J9Gc1VTV/A0R2KqkhQ+Lz3uQGRnk/DExXMKRWLyzBjxH9OH7oWnycpM=
Date: Wed, 19 Jan 2022 13:03:22 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH 2/5] x86/mwait-idle: add SnowRidge C-state table
Message-ID: <Yef+ClTpFgXSzfuL@Air-de-Roger>
References: <e16ff1ad-b1c5-f4e0-9336-716eceb93a9f@suse.com>
 <b21c106b-b852-b4f0-efa9-fb5c465bfdac@suse.com>
 <YeaTqyt3ZoFTx/Ee@Air-de-Roger>
 <3bdf57ab-d658-f26f-6ef3-23e08aaf5aa4@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <3bdf57ab-d658-f26f-6ef3-23e08aaf5aa4@suse.com>
X-ClientProxiedBy: MR1P264CA0117.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:50::10) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e41e1770-fabe-457e-0e38-08d9db43b48a
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6256:EE_
X-Microsoft-Antispam-PRVS: <SJ0PR03MB625663C61032B312E99A5EB08F599@SJ0PR03MB6256.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:3383;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: TPtmG0cEGsf1mp8ZpE6qUHeSmEismumGyhjT3bSMiKkJ1UOyoWMTnEg93o0UW4mzfaGTIqO/FC/r/mfHbS+hrQbsl5UnoK9UNA5EUu3uqmhKxsXBjWb6WS7XipAHrwrpv8CyEFi76qVKD8nwADap9gGBKdPTwrAQHr1VGaEdD0pJR8RsF3JatFZk27CM9hgsKphWdvCz/LilK+cPbGVGRLZa9HD5GUfnaOxcY5SLHl1aNw60M1tiCqMxvzYupgipCwOsyrpCBMnQE58cLvdcnF/8DNYmFQRax/l5yzZTnqLccHbahCV1u5luB/GfW4VKrc75UkOo53uWEbQjZCRpgOA+mGbww2l5k7cBR81b9GOWwhaxj4kMx89EInv831itIdfPLINGb8AT8iwxprSRdaVfo7FQzXVTkotCmK1sHM+v8nm+IcRXj1l0MsHTQIu/BbR34UfZYnnBYiGxRdMrp2tA/jR/o9EmNQCfE6bhjJwI/twbYWoIs72hH5KsV/tJg1eG+Ns/JxqqjSGPD7w0AUdcws0s2qmFlEWMy0k2yQQye6YhCimKcZDNPoPXSpU+N2pYbc95mrx7HPU1vvt0iWCVlhQ98FLAClGr2WEsDajcwB0dVYGeVrYXro/26NY2GWnRZTZJQ8JVxI+o3jUeTuvHetDtBUF6G+hgLrgOL11sA8xbgY+L/kbh6fRoqXB5Guwe7d0Fem94CD6wtTBcRQ==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(8936002)(6916009)(186003)(508600001)(6486002)(2906002)(38100700002)(82960400001)(26005)(4326008)(66476007)(85182001)(86362001)(6666004)(33716001)(66946007)(8676002)(5660300002)(66556008)(6512007)(9686003)(54906003)(53546011)(316002)(6506007)(67856001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cHY0N2dIbGlGTjVINkZIYzgrd2hwQjdkYm4wYTRMSXprMVVSYTBoT1l5bC8w?=
 =?utf-8?B?UzF2ODdkVDV0NCtqR09ZUUpUajQrSVZta0lKS3ZDUXM4dHJ4blFiVDlKRzND?=
 =?utf-8?B?TjlaK2hjcmEvcU13UnQzN2RiZnhwTkkwby9WbldIZDRkOG1hbTdycDZVbUpK?=
 =?utf-8?B?VmVWbFJOc3h1aHkwNDdKNmhrWldnMnV5OFB0Q3BlUTlnY2tTVkRlUTkzbEQ0?=
 =?utf-8?B?VVVHUHhLV0xiSEJRNkw0a0pIMnlzdGgza2s1ZHgzSHBZL1gwN1hXSlBoUVZ4?=
 =?utf-8?B?OEdkUnVweFVKQ0doTkljTldKbDVnOUdhNlhyNWpYa0tKbUUxb1NacC94Y1ln?=
 =?utf-8?B?K1hXVWpTcXlOMGZ0QkJyRlpuZTFSM1J1MzNvVEJickY4ZDNGa3djd3RZOHJj?=
 =?utf-8?B?Y0hqZ010VFJrSkludzA4MVlwRTJzdmt2eDFOZ1FNNFQzTk56My91Y0M5LzJE?=
 =?utf-8?B?Z205bU50M3hBYit4QTVza2VpaDZnSi91OThrdEVTc3NKYkluK1YyVE44K3Vs?=
 =?utf-8?B?dmp0RVFyUUdVRW9tTXpFcWd5Mml3cHNCWFlDZ2dDSCtPMmlEb3ZyYllkS0tT?=
 =?utf-8?B?ckFUNllKZ1RxV0J4ZTUyTGFNeFE0elFoVHVYRjk4NDBYMzYvZGVyVVhpWEMv?=
 =?utf-8?B?d1Q2VUc3TmRQRXhrQWlSdzJPdWgzV3F2QnI3eUk5bkNMRGZmdGhqWmlvYTlv?=
 =?utf-8?B?N3dpcDk0VVVNUVVrSlUyeUFZcHd5UG1jeVZ2NE9IUHp6eW55OCtHbVRzODJL?=
 =?utf-8?B?ZEliRS9HcWJPeUhyMDJ4WGNLeTA0SlE1N21NWDlzV1hQejhLbEd6M2VLaFVM?=
 =?utf-8?B?NlFVc0Z6Zkd6RGFJZGpGMytzNWJwOUpKN0o1anRzc2pTZWxaZzArRUx6Y3Js?=
 =?utf-8?B?TFlYbk8ycHJNZnNjTGZyVWtMTjN2L21mU1JLaTFLc1RvenV2M2p3dnhwK2s1?=
 =?utf-8?B?QU8rN0V6ckNEbVl4bHNORyt2OGdSQlJoSkk0OGlkdmErRVhrMEt6UTA0cHYv?=
 =?utf-8?B?ckIrU1ZBMlNyaGlEK25SbUFuY1MyZFBSejM0a0JuWktPV1VyVmprQUd5VkJT?=
 =?utf-8?B?bUlMallUTXNqNWFhb3NjcG5vOStZMFh5QUtaR0lRWlJDa2hPNys1T3RYS2Mv?=
 =?utf-8?B?bm1PRXRoTno0NUQyc1ZvMTN6KzNRSkpoZ1NCTjVFQWNFTW9FUUhaTVdVRDNq?=
 =?utf-8?B?WUY2RnVNU2tTNkMzNFdsWDFLRDYvakovRlFVY3BnZksxa1NhVkdVNDBFTGJY?=
 =?utf-8?B?N0hxd093R3drUG93VzE2MFQvRm9IMDJPNWlub1R3d2xhMnVpbVhnakk1bHNU?=
 =?utf-8?B?UWhtMS94cFJMdGdkNUVZVVZ4Sk5iUTZQU2JiSVNUa05uYkt1UC9lUW1Ecjlq?=
 =?utf-8?B?RHZEdkYyek5oTEFSaGVnYnI4cGl5VTRUU3c3SUQ1Zkh0b0JQZmFySEZTKzdy?=
 =?utf-8?B?MElmUHJIT0FIRW9ST0Zjc2plTyt0Z3dPUXVYclNDTWhvUzdSM2hDTTBGVXZk?=
 =?utf-8?B?Vk1rOWN4T3RUZlpwSS9wdjMzTHFkTEZGYUgvbm4zeGZoN2t6MjAzV3VLN0JD?=
 =?utf-8?B?UEFzb3JQUmQvY0daWnNZNk55ZmNyS0c4QlZ3bjJPeWxMSGV4MWxaUnNKcG5V?=
 =?utf-8?B?QytYcXRJQjdnYlRxR2hMYVNERDBuMERwc1pOdnZmN0xYcXhyMStMMVBselpS?=
 =?utf-8?B?cm5aZUdvNGJXcmdaZXRYK1BKOUtlUUZ3ZWZGNlZ4emVxOGFTeDQ5NFo0SHpD?=
 =?utf-8?B?dVZVWlM4SmQwdnloc1o2WGNNSGsrRVBRMEZ4WGJjZWlxaHYycFkyc2MyWTFB?=
 =?utf-8?B?SmU4T0luY1FqWTFUdmFmYlBveVZVYVdxTWRMTGs5L1dTZXQvSHZoOGcxNE5j?=
 =?utf-8?B?SVdNTEkxZW5GZUV3aHJ5aUx4dUx0NVk2eVBQTWZBT1VJd2ppdjRyREM2V1hN?=
 =?utf-8?B?bU9IN0ZKRHJtaHpSVU5aWCtsbHhYQlFnSmVDL0M0VjVYZDBRMTVXVFh5aktv?=
 =?utf-8?B?VjZ4Ym5JSWNLQndUZk4vM1BsdGt6SkxRa3RYTjdlQnZLbTcwZWI3VWR0aGxZ?=
 =?utf-8?B?MlI2UTR3d0FxL3RZUkJnRTFTeHBodTBpVUV0bUgzWEwvR09LdzR0eFJ2MWw2?=
 =?utf-8?B?clJqcTJYdmhWdGpISXlZSXBCeDU4dSt2d0N0bGYrRm13c3E4UWMxazdTM1k5?=
 =?utf-8?Q?A3e1l9c4X3sMWeNdal2Nwws=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: e41e1770-fabe-457e-0e38-08d9db43b48a
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2022 12:03:28.9904
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lE5WAw0pEevvzXd5MBXe4h2NCITXqA9pptWi2kjTHkgZpjZx74mIoP6D3HvhE9Lk5d1loOZ7Tk82ub72DUU1vw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6256
X-OriginatorOrg: citrix.com

On Tue, Jan 18, 2022 at 03:05:54PM +0100, Jan Beulich wrote:
> On 18.01.2022 11:17, Roger Pau Monné wrote:
> > On Mon, Sep 06, 2021 at 03:00:46PM +0200, Jan Beulich wrote:
> >> --- a/xen/arch/x86/cpu/mwait-idle.c
> >> +++ b/xen/arch/x86/cpu/mwait-idle.c
> >> @@ -742,6 +742,32 @@ static const struct cpuidle_state dnv_cs
> >>  	{}
> >>  };
> >>  
> >> +/*
> >> + * Note, depending on HW and FW revision, SnowRidge SoC may or may not support
> >> + * C6, and this is indicated in the CPUID mwait leaf.
> >> + */
> >> +static const struct cpuidle_state snr_cstates[] = {
> >> +	{
> >> +		.name = "C1",
> > 
> > We usually use names like "C1-SNR" or similar in other cpuidle_state
> > structs. Is using plain "C1" intentional here?
> 
> I don't know. We're simply following the Linux side change. If we're
> unhappy with their naming (it indeed looks inconsistent), then we
> ought to make a separate patch on top (and maybe submit that also to
> Linux).

Looks like at some point Linux dropped the '-SNR' and similar suffixes
from the state names, so we should likely import that patch as a
pre-req for consistency? It's commit:

de09cdd09fa1 intel_idle: stop exposing platform acronyms in sysfs

> 
> >> @@ -954,6 +980,11 @@ static const struct idle_cpu idle_cpu_dn
> >>  	.disable_promotion_to_c1e = 1,
> >>  };
> >>  
> >> +static const struct idle_cpu idle_cpu_snr = {
> >> +	.state_table = snr_cstates,
> >> +	.disable_promotion_to_c1e = true,
> > 
> > This likely wants to be 1 because the type is bool_t.
> 
> bool_t is just an alias of bool, so "true" ought to be fine. We may
> want to follow Linux in switching to bool altogether - iirc we didn't
> have bool yet at the time the driver (or the first commit needing it)
> was ported. I guess I'll make a patch ...

OK, thanks!

I guess for the patch itself then:

Acked-by: Roger Pau Monné <roger.pau@citrix.com>

Would be nice to get those things fixed for consistency.

Roger.


From xen-devel-bounces@lists.xenproject.org Wed Jan 19 12:04:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 12:04:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258814.446163 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA9hI-0000ua-ST; Wed, 19 Jan 2022 12:04:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258814.446163; Wed, 19 Jan 2022 12:04:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nA9hI-0000uT-PM; Wed, 19 Jan 2022 12:04:16 +0000
Received: by outflank-mailman (input) for mailman id 258814;
 Wed, 19 Jan 2022 12:04:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yAwr=SD=epam.com=prvs=30181e5aeb=oleksii_moisieiev@srs-se1.protection.inumbo.net>)
 id 1nA9hH-0000uF-4P
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 12:04:15 +0000
Received: from mx0b-0039f301.pphosted.com (mx0b-0039f301.pphosted.com
 [148.163.137.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e8f08e9c-791f-11ec-9bbc-9dff3e4ee8c5;
 Wed, 19 Jan 2022 13:04:11 +0100 (CET)
Received: from pps.filterd (m0174680.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20JBrLdN029653;
 Wed, 19 Jan 2022 12:04:06 GMT
Received: from eur05-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2175.outbound.protection.outlook.com [104.47.17.175])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3dpe4grxwb-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 19 Jan 2022 12:04:06 +0000
Received: from PA4PR03MB7136.eurprd03.prod.outlook.com (2603:10a6:102:ea::23)
 by PA4PR03MB7200.eurprd03.prod.outlook.com (2603:10a6:102:100::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.8; Wed, 19 Jan
 2022 12:04:02 +0000
Received: from PA4PR03MB7136.eurprd03.prod.outlook.com
 ([fe80::85d2:c8aa:2196:21c6]) by PA4PR03MB7136.eurprd03.prod.outlook.com
 ([fe80::85d2:c8aa:2196:21c6%9]) with mapi id 15.20.4888.014; Wed, 19 Jan 2022
 12:04: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: e8f08e9c-791f-11ec-9bbc-9dff3e4ee8c5
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OOFVdQlbA5vwQBc06qLhD4oNlX3VYmw9EDp+VpykRVtoqEGfaLL/X6wHQryBchaUhTTO49CMCUrfhFjpyA4++887JexGaYA8tkDttKgSYqgcTKl8mIWJW81OiMXSaFRPjLF5QL/s1hI3s9Mqt4JH5Gqo7Qkxxf8NVsEXRWVmjWLKQS0Z4WYtlRw2u9LY1FuFpXfvPlsCwS3l4w2E1iEYFTUZixCjpx3oX43gUFPzcC0WKS+sxi8xLHqKtrCdy7eZJUqW5s4XKrOIrG6rHav1tzDEbf4Vweu8UvF5yUNWHJHsJQogOqSNHB3/pK0pnY4eVJS8fOI+L8FsKbMclGdG8A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7XuaHi1boNJTDz8+F86As4AaBFPlt73xVG1JuUX7TdE=;
 b=nayS+0o2/eOObcDPtCHF37pZQ/TUe39+rerSZxPFKapP0sN+YNnIkwKoKV9NjFyKjYHRJ2WaeKihPOyYvzC9YuOwHD8Uo4I8kshHXJ+ISvfpR3fiWYXBT77Uoq0ZmFlmR8DoYWvXVT89CXjwrb77zC+iDQCvjG3lBucwlS4HA816VPwPt0tRfQLIW0PzfErhCvbOHDnYEoaqXtfICBszznd2QI3tihDCMq9LzhHUj1Cea7zMD/0OAY6ppqiQ7U5s01b5rOwyWMnQ06CRU06zssFEJhM2KUyrJoGFaoFB8IsXKBUAMInlbKC6tti1+vVlWrdF22wxCIaJLCOxgFIIRQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7XuaHi1boNJTDz8+F86As4AaBFPlt73xVG1JuUX7TdE=;
 b=I+ImqF3g8f/Isc3Jsstb380Hyt/TygZkjjg25eLeIJCpniz/nMTZ+hid9VHPvLkpBWckr5MUvrmYabFvcflawTIval4c44cyC6R8G3E6DwBK/Fp4RGXpJpZiSLxthsjNJWxbHFs5CGksUVhzW2dvuT+YmeWt3dMTRmgtfxnH2CISjNhWnpIFtv8KjLNeO/+BFZKCjK54EO6GtFH76p5gnQdmXE8Rwp1IFR3XmD1LeHtxef0JwsaS5yDPwTHkzeew49fxjQn4AP+gbWsQ0MAbtgg3BmuQxQOgiuEh71QKWV/4Cenre6MRIZFc05QKJqWmWidba6UKRDKs6hE1c2gXdQ==
From: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        Julien
 Grall <julien@xen.org>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
Thread-Topic: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
Thread-Index: 
 AQHX8M3JF7Ng56/tV0+8/7pODiaWfKw3iHyAgAQwJICAAG+xgIABQZuAgAAWSACAAOV/AIABANAAgCsRKgA=
Date: Wed, 19 Jan 2022 12:04:01 +0000
Message-ID: <20220119120400.GA3779126@EPUAKYIW015D>
References: <cover.1639472078.git.oleksii_moisieiev@epam.com>
 <e9dadd96aa5b64b9232e10a083ce393af620adde.1639472078.git.oleksii_moisieiev@epam.com>
 <alpine.DEB.2.22.394.2112171709140.2060010@ubuntu-linux-20-04-desktop>
 <20211220181215.GA1702335@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2112201613210.2060010@ubuntu-linux-20-04-desktop>
 <20211221200305.GA2460476@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2112211310000.2060010@ubuntu-linux-20-04-desktop>
 <20211222110414.GA2883815@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2112221627190.2060010@ubuntu-linux-20-04-desktop>
In-Reply-To: 
 <alpine.DEB.2.22.394.2112221627190.2060010@ubuntu-linux-20-04-desktop>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: b3a59415-1162-4e3b-b784-08d9db43c871
x-ms-traffictypediagnostic: PA4PR03MB7200:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <PA4PR03MB72009BA9D5E1B71F438A69D5E3599@PA4PR03MB7200.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: 
 Lw5s6wEPUub/G7B5FHO7t/CCw8jl6q/Dgua+82/q5jgDrEA8zHubveOEuGmNnl7ywnU5Ar4aButZiXyW92r2m+kYT2m3Kwg/oyOy5Jo+vQJoEE+IKU/72z4r2iTl+O95O7nXhds4+uW4imvav6pMIHUT5BJgU7n+dL9GgHpJqF2udKl4MCzkjmrkaD96L+R5FmFWgWdLKDe5dpJ38pILC5EBrJyeMvCyUs6ahZlGP4qxFXu102Nhbh7f/z6PimIiKSipS7JsKxoZtIVaWoyGMY5dOqQy3WmFFFfiAFPiXkDaQ0Em45Y7XLlTBve5GiLTCs4b86zTXDKPt5WI9OPet8cW4e2O3Gms/OyUaGmRHk9PLaO5WrynDnDDbXsv4fnNIuYz2mQ2v8Zz3ffa5b4ykHULRjVzx8BQlnL6OIdatfqNHrnJHsSK7wIsDAWe+C7OKbWF86oGWqTlRM1Xxg+smaAVWqIGzHe8NZUK95rxIjV6Z/VAWRXYCF1eCUyKReXBjiJcnfYSEeO4i2jyLohMrN64E0zKhXfaakjxsdys7a9dUCkytkYqhO/nIyyVJdmpXFySilI7XoAUo5uQaamEtzEg3+1qf6BWYUbvDtXmpUB73xbDZhi4Y1fxN7sf2j2dVPXYyDmum8MC+jwiZo/vRpMjZvzB4QMOhdkodjCdGSTDxw3JY5bG3Xd+5oDop9Cc9S9WRsZ4t/sxVijQ15z532Sf7A+zM6Jtu+/GP3nqVwWHyq0hRv+MyQRVrRwMUdLgnhYvGfr6mIRydW8kEWP/XT+qwje4Erw9dC+/OKHgEyHV0IJpWj09bxl1PNqEDf00
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR03MB7136.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(84040400005)(8676002)(6486002)(66946007)(71200400001)(64756008)(66446008)(66476007)(66556008)(8936002)(91956017)(76116006)(1076003)(2906002)(5660300002)(4326008)(33656002)(186003)(316002)(6512007)(9686003)(30864003)(54906003)(33716001)(86362001)(26005)(38070700005)(122000001)(508600001)(6916009)(966005)(38100700002)(6506007)(83380400001)(2004002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?us-ascii?Q?AvQhS9BkyzFF2rjSSg5AHfWSzpp5Ue/yTagC+UFPf+lpXg95ek7HfE7YYYxl?=
 =?us-ascii?Q?C5JeZkm0BenvfWTg2kvvp5YutzB8XuZNltR7SQ6Wq//bMs6mBs5z/4A1mQ1F?=
 =?us-ascii?Q?vPSPBVGWj8jnO7HzQoDNq588NulNJUPdzh+Qs6OhrC0tQuvIi63JS/t8w7wN?=
 =?us-ascii?Q?jQfR63hBN+JcQI4u7pQuq/mC9nGIpKtGltNLIijJWz5LlB2iXoc5XggDsJco?=
 =?us-ascii?Q?E5hkhJcckmHYh6jLZmJq+0BDdA26gjj/TwwObRSnlKiPHi9XlSGUAPyBjbZq?=
 =?us-ascii?Q?Xsd9actPr7GAOgJUS5SVdGMMpoG++zbyr2+d1QlTwBONUDc5JFacrI0E0VOn?=
 =?us-ascii?Q?lbGIYWCstbw5TYMnTrEKhTeIG7oZxkeJd+5AUcCelFmIkHYOx454k5c6YjCf?=
 =?us-ascii?Q?+Fz54uMYO/aytRlQVGZ2wUiogPKuRyIG4hkRjCd8ceMmB73L1zN9YN5jceDY?=
 =?us-ascii?Q?6MNBqssnw0HsHUiOURcnhbmOZrF8M8g0GwKwSBF2IO+IUP0Wrnu5xouFrSo9?=
 =?us-ascii?Q?I64+siEkJbtEUXF6SgeqCHnaNI87C5AAbQhe/GJdW6fHrSObQWRDkZ6d1uak?=
 =?us-ascii?Q?EZ28GIbdDmbaw57gbQuBib0sFKZ2Fip2TlCVUdRbLGjQtO+GbbG3BUKicwDz?=
 =?us-ascii?Q?CuioQWNVVJCvyv1cLhneZvfxMz5YPGaUk+qCNhoX5xZVFKpt23mImMke+my+?=
 =?us-ascii?Q?bLYpkIZC1OlFHF67P9izbUOo50uD2Z7mUUSfg5N0/QCdYhLSR5lhkpknMvzT?=
 =?us-ascii?Q?QwzQua7mn11G+31mOcVuLPikYfTENuVW8B/Cuza0S/8PgFI3ecpQMAc/Mrlm?=
 =?us-ascii?Q?54AeE8bHzWjBXf9+ZZdyXhHuu/oJET4DrOxtPLSmbMHlTl81k5GF8mXSCSnd?=
 =?us-ascii?Q?rY29YEeKG1SJ5DznZTgVLEvAK0CZLrpxpQ1w3TmVYXj02pmYcX3BVC/tShnf?=
 =?us-ascii?Q?DoVkcqBc53W1fmvFygqxPQ6B7wKEpAdSdgzKfgkfZsZWTG3vkOAtrORwHjSW?=
 =?us-ascii?Q?FzO7Fz/U5WsBSXEi0pBzDCnPv4Jm+l8bfnUMKl7pf1PMh8tsKfGGTrkVzNTM?=
 =?us-ascii?Q?LVP14al1NfIs0LdoUyw2bP/AGaEepd+1UJaCbiH6lkv8EWxVZBeJE9+/9Ihs?=
 =?us-ascii?Q?6MBCfHAIDBZNqUv+9z72/kEj21z66YngEZLGF5WT5IcHTFp0SoCYUZ5qc+vk?=
 =?us-ascii?Q?WVjEXoXcbL33V+GpONXjKT/G+RYafmnPz/vU6gN/7vTZtbpOWfL22KvT5FJ7?=
 =?us-ascii?Q?OsUV193f9YcJGPSdYhsb4ko3aksw0A1ego39Eblt9TloGKW5+5AMS/jfGST5?=
 =?us-ascii?Q?VKwbuvS/PENmlU/a5tr8MdMuH00fzveM7nNBKIq9JfrfKa1aZiOdzg1XkjOq?=
 =?us-ascii?Q?u+jmqbc1p7CYkm7YBeL/SriXD6gl7AV+OEPVA50b+78icE10DtQ8vwCbwYNA?=
 =?us-ascii?Q?3ddcZ7QX1/xuxlcosWA9KSWSTTLE46qo7HpP381TWIWPiB+KNw0k9lqgfHPe?=
 =?us-ascii?Q?v+OQ+UVavmJ7+tbPW+TJO7k2fwCpUQVyF/nuZNQuHacabHFd9MRzsB7oPod0?=
 =?us-ascii?Q?cxm0z2Ksl6yX5F3D0cwS2T+x/ElX3a4Rx/fMhuFMeO0otlTHc3pO7K4yEmui?=
 =?us-ascii?Q?xFZUJSG4NObPfjCXlCEYkGRsQ62y/JfYUGN+FlwvF7N6oco8FWo6h40+isJk?=
 =?us-ascii?Q?6uzr+7YR5z0wUKah2lJvaxDPuAM=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <60116B4AD751DB4FB934386D5C544C7F@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PA4PR03MB7136.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b3a59415-1162-4e3b-b784-08d9db43c871
X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Jan 2022 12:04:02.0886
 (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: 5By454Kdp9jBBudbXUODm5/5Ve5vQj6fUD+mOTOp9T0gmeqSRMILw3YLdgMqoTdUGhiynos6/IIB2T20RQYqvrLdn4DmAEc5YhQIHHalDTY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR03MB7200
X-Proofpoint-GUID: t2vGQbv43QaPcbF-24VTDr45RM6NctK4
X-Proofpoint-ORIG-GUID: t2vGQbv43QaPcbF-24VTDr45RM6NctK4
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-19_07,2022-01-19_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501
 lowpriorityscore=0 malwarescore=0 mlxscore=0 adultscore=0 clxscore=1015
 impostorscore=0 spamscore=0 bulkscore=0 suspectscore=0 mlxlogscore=999
 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2110150000 definitions=main-2201190070

On Wed, Dec 22, 2021 at 06:23:24PM -0800, Stefano Stabellini wrote:
> On Wed, 22 Dec 2021, Oleksii Moisieiev wrote:
> > On Tue, Dec 21, 2021 at 01:22:50PM -0800, Stefano Stabellini wrote:
> > > On Tue, 21 Dec 2021, Oleksii Moisieiev wrote:
> > > > Hi Stefano,
> > > >=20
> > > > On Mon, Dec 20, 2021 at 04:52:01PM -0800, Stefano Stabellini wrote:
> > > > > On Mon, 20 Dec 2021, Oleksii Moisieiev wrote:
> > > > > > Hi Stefano,
> > > > > >=20
> > > > > > On Fri, Dec 17, 2021 at 06:14:55PM -0800, Stefano Stabellini wr=
ote:
> > > > > > > On Tue, 14 Dec 2021, Oleksii Moisieiev wrote:
> > > > > > > > This is the implementation of SCI interface, called SCMI-SM=
C driver,
> > > > > > > > which works as the mediator between XEN Domains and Firmwar=
e (SCP, ATF etc).
> > > > > > > > This allows devices from the Domains to work with clocks, r=
esets and
> > > > > > > > power-domains without access to CPG.
> > > > > > > >=20
> > > > > > > > The following features are implemented:
> > > > > > > > - request SCMI channels from ATF and pass channels to Domai=
ns;
> > > > > > > > - set device permissions for Domains based on the Domain pa=
rtial
> > > > > > > > device-tree. Devices with permissions are able to work with=
 clocks,
> > > > > > > > resets and power-domains via SCMI;
> > > > > > > > - redirect scmi messages from Domains to ATF.
> > > > > > > >=20
> > > > > > > > Signed-off-by: Oleksii Moisieiev <oleksii_moisieiev@epam.co=
m>
> > > > > > > > ---
> > > > > > > >  xen/arch/arm/Kconfig          |   2 +
> > > > > > > >  xen/arch/arm/sci/Kconfig      |  10 +
> > > > > > > >  xen/arch/arm/sci/Makefile     |   1 +
> > > > > > > >  xen/arch/arm/sci/scmi_smc.c   | 795 ++++++++++++++++++++++=
++++++++++++
> > > > > > > >  xen/include/public/arch-arm.h |   1 +
> > > > > > > >  5 files changed, 809 insertions(+)
> > > > > > > >  create mode 100644 xen/arch/arm/sci/Kconfig
> > > > > > > >  create mode 100644 xen/arch/arm/sci/scmi_smc.c
> > > > > > > >=20
> > > > > > > > diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> > > > > > > > index 186e1db389..02d96c6cfc 100644
> > > > > > > > --- a/xen/arch/arm/Kconfig
> > > > > > > > +++ b/xen/arch/arm/Kconfig
> > > > > > > > @@ -114,6 +114,8 @@ config SCI
> > > > > > > >  	  support. It allows guests to control system resourcess =
via one of
> > > > > > > >  	  SCI mediators implemented in XEN.
> > > > > > > > =20
> > > > > > > > +source "arch/arm/sci/Kconfig"
> > > > > > > > +
> > > > > > > >  endmenu
> > > > > > > > =20
> > > > > > > >  menu "ARM errata workaround via the alternative framework"
> > > > > > > > diff --git a/xen/arch/arm/sci/Kconfig b/xen/arch/arm/sci/Kc=
onfig
> > > > > > > > new file mode 100644
> > > > > > > > index 0000000000..9563067ddc
> > > > > > > > --- /dev/null
> > > > > > > > +++ b/xen/arch/arm/sci/Kconfig
> > > > > > > > @@ -0,0 +1,10 @@
> > > > > > > > +config SCMI_SMC
> > > > > > > > +	bool "Enable SCMI-SMC mediator driver"
> > > > > > > > +	default n
> > > > > > > > +	depends on SCI
> > > > > > > > +	---help---
> > > > > > > > +
> > > > > > > > +	Enables mediator in XEN to pass SCMI requests from Domain=
s to ATF.
> > > > > > > > +	This feature allows drivers from Domains to work with Sys=
tem
> > > > > > > > +	Controllers (such as power,resets,clock etc.). SCP is use=
d as transport
> > > > > > > > +	for communication.
> > > > > > > > diff --git a/xen/arch/arm/sci/Makefile b/xen/arch/arm/sci/M=
akefile
> > > > > > > > index 837dc7492b..67f2611872 100644
> > > > > > > > --- a/xen/arch/arm/sci/Makefile
> > > > > > > > +++ b/xen/arch/arm/sci/Makefile
> > > > > > > > @@ -1 +1,2 @@
> > > > > > > >  obj-y +=3D sci.o
> > > > > > > > +obj-$(CONFIG_SCMI_SMC) +=3D scmi_smc.o
> > > > > > > > diff --git a/xen/arch/arm/sci/scmi_smc.c b/xen/arch/arm/sci=
/scmi_smc.c
> > > > > > > > new file mode 100644
> > > > > > > > index 0000000000..2eb01ea82d
> > > > > > > > --- /dev/null
> > > > > > > > +++ b/xen/arch/arm/sci/scmi_smc.c
> > > > > > > > @@ -0,0 +1,795 @@
> > > > > > > > +/*
> > > > > > > > + * xen/arch/arm/sci/scmi_smc.c
> > > > > > > > + *
> > > > > > > > + * SCMI mediator driver, using SCP as transport.
> > > > > > > > + *
> > > > > > > > + * Oleksii Moisieiev <oleksii_moisieiev@epam.com>
> > > > > > > > + * Copyright (C) 2021, EPAM Systems.
> > > > > > > > + *
> > > > > > > > + * This program is free software; you can redistribute it =
and/or modify
> > > > > > > > + * it under the terms of the GNU General Public License as=
 published by
> > > > > > > > + * the Free Software Foundation; either version 2 of the L=
icense, 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 warr=
anty of
> > > > > > > > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  S=
ee the
> > > > > > > > + * GNU General Public License for more details.
> > > > > > > > + */
> > > > > > > > +
> > > > > > > > +#include <asm/sci/sci.h>
> > > > > > > > +#include <asm/smccc.h>
> > > > > > > > +#include <asm/io.h>
> > > > > > > > +#include <xen/bitops.h>
> > > > > > > > +#include <xen/config.h>
> > > > > > > > +#include <xen/sched.h>
> > > > > > > > +#include <xen/device_tree.h>
> > > > > > > > +#include <xen/iocap.h>
> > > > > > > > +#include <xen/init.h>
> > > > > > > > +#include <xen/err.h>
> > > > > > > > +#include <xen/lib.h>
> > > > > > > > +#include <xen/list.h>
> > > > > > > > +#include <xen/mm.h>
> > > > > > > > +#include <xen/string.h>
> > > > > > > > +#include <xen/time.h>
> > > > > > > > +#include <xen/vmap.h>
> > > > > > > > +
> > > > > > > > +#define SCMI_BASE_PROTOCOL                  0x10
> > > > > > > > +#define SCMI_BASE_PROTOCOL_ATTIBUTES        0x1
> > > > > > > > +#define SCMI_BASE_SET_DEVICE_PERMISSIONS    0x9
> > > > > > > > +#define SCMI_BASE_RESET_AGENT_CONFIGURATION 0xB
> > > > > > > > +#define SCMI_BASE_DISCOVER_AGENT            0x7
> > > > > > > > +
> > > > > > > > +/* SCMI return codes. See section 4.1.4 of SCMI spec (DEN0=
056C) */
> > > > > > > > +#define SCMI_SUCCESS              0
> > > > > > > > +#define SCMI_NOT_SUPPORTED      (-1)
> > > > > > > > +#define SCMI_INVALID_PARAMETERS (-2)
> > > > > > > > +#define SCMI_DENIED             (-3)
> > > > > > > > +#define SCMI_NOT_FOUND          (-4)
> > > > > > > > +#define SCMI_OUT_OF_RANGE       (-5)
> > > > > > > > +#define SCMI_BUSY               (-6)
> > > > > > > > +#define SCMI_COMMS_ERROR        (-7)
> > > > > > > > +#define SCMI_GENERIC_ERROR      (-8)
> > > > > > > > +#define SCMI_HARDWARE_ERROR     (-9)
> > > > > > > > +#define SCMI_PROTOCOL_ERROR     (-10)
> > > > > > > > +
> > > > > > > > +#define DT_MATCH_SCMI_SMC DT_MATCH_COMPATIBLE("arm,scmi-sm=
c")
> > > > > > > > +
> > > > > > > > +#define SCMI_SMC_ID                        "arm,smc-id"
> > > > > > > > +#define SCMI_SHARED_MEMORY                 "linux,scmi_mem=
"
> > > > > > >=20
> > > > > > > I could find the following SCMI binding in Linux, which descr=
ibes
> > > > > > > the arm,scmi-smc compatible and the arm,smc-id property:
> > > > > > >=20
> > > > > > > Documentation/devicetree/bindings/firmware/arm,scmi.yaml
> > > > > > >=20
> > > > > > > However, linux,scmi_mem is not described. Aren't you supposed=
 to read
> > > > > > > the "shmem" property instead? And the compatible string used =
for this
> > > > > > > seems to be "arm,scmi-shmem".
> > > > > > >=20
> > > > > >=20
> > > > > > We use linux,scmi_mem node to reserve memory, needed for all
> > > > > > channels:
> > > > > >=20
> > > > > > reserved-memory {
> > > > > >     /* reserved region for scmi channels*/
> > > > > >     scmi_memory: linux,scmi_mem@53FF0000 {
> > > > > >         no-map;
> > > > > >         reg =3D <0x0 0x53FF0000 0x0 0x10000>;
> > > > > >     };
> > > > > > };
> > > > > >=20
> > > > > > arm,scmi-shmem node used in shmem property defines only 1 page =
needed to
> > > > > > the current scmi channel:
> > > > > >=20
> > > > > > cpu_scp_shm: scp-shmem@0x53FF0000 {
> > > > > >     compatible =3D "arm,scmi-shmem";
> > > > > >     reg =3D <0x0 0x53FF0000 0x0 0x1000>;
> > > > > > };
> > > > > >=20
> > > > > > For each Domain reg points to unigue page from linux,scmi_mem r=
egion,
> > > > > > assigned to this agent.
> > > > >=20
> > > > > If we were to use "linux,scmi_mem" we would have to introduce it =
as a
> > > > > compatible string, not as a node name, and it would need to be de=
scribed
> > > > > in Documentation/devicetree/bindings/firmware/arm,scmi.yaml.
> > > > >=20
> > > > > But from your description I don't think it is necessary. We can j=
ust use
> > > > > "arm,scmi-shmem" to describe all the required regions:
> > > > >=20
> > > > > reserved-memory {
> > > > >     scp-shmem@0x53FF0000 {
> > > > >         compatible =3D "arm,scmi-shmem";
> > > > >         reg =3D <0x0 0x53FF0000 0x0 0x1000>;
> > > > >     };
> > > > >     scp-shmem@0x53FF1000 {
> > > > >         compatible =3D "arm,scmi-shmem";
> > > > >         reg =3D <0x0 0x53FF1000 0x0 0x1000>;
> > > > >     };
> > > > >     scp-shmem@0x53FF2000 {
> > > > >         compatible =3D "arm,scmi-shmem";
> > > > >         reg =3D <0x0 0x53FF2000 0x0 0x1000>;
> > > > >     };
> > > > >     ...
> > > > >=20
> > > > > In other words, if all the individual channel pages are described=
 as
> > > > > "arm,scmi-shmem", why do we also need a single larger region as
> > > > > "linux,scmi_mem"?
> > > > >=20
> > > >=20
> > > > That was my first implementation. But I've met a problem with
> > > > scmi driver in kernel. I don't remember the exact place, but I reme=
mber
> > > > there were some if, checking if memory weren't reserved.
> > > > That's why I ended up splitting nodes reserved memory region and ac=
tual
> > > > shmem page.
> > > > For linux,scmi_mem node I took format from /reserved-memory/linux,l=
ossy_decompress@54000000,
> > > > which has no compatible string and provides no-map property.
> > > > linux,scmi_shmem node is needed to prevent xen from allocating this
> > > > space for the domain.
> > > >=20
> > > > Very interesting question about should I introduce linux,scmi_mem n=
ode
> > > > and scmi_devid property to the
> > > > Documentation/devicetree/bindings/firmware/arm,scmi.yaml?
> > > > Those node and property are needed only for Xen and useless for
> > > > non-virtualized systems. I can add this node and property descripti=
on to
> > > > arm,scmi.yaml, but leave a note that this is Xen specific params.
> > > > What do you think about it?
> > >=20
> > > Reply below
> > >=20
> > > [...]
> > > =20
> > >=20
> > > > > In general we can't use properties that are not part of the devic=
e tree
> > > > > spec, either https://urldefense.com/v3/__https://www.devicetree.o=
rg/specifications/__;!!GF_29dbcQIUBPA!kNodtgmOQBc1iO76_6vTK-O1SoLxee_ChowYQ=
iQYC595rMOsrnmof2zmk7BnhXCSnJPN$ [devicetree[.]org] or
> > > > > https://urldefense.com/v3/__https://git.kernel.org/pub/scm/linux/=
kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings__;!!GF=
_29dbcQIUBPA!kNodtgmOQBc1iO76_6vTK-O1SoLxee_ChowYQiQYC595rMOsrnmof2zmk7BnhX=
loYUaj$ [git[.]kernel[.]org]
> > > > >=20
> > > > > "linux,scmi_mem" is currently absent. Are you aware of any upstre=
aming
> > > > > activities to get "linux,scmi_mem" upstream under
> > > > > Documentation/devicetree/bindings in Linux?
> > > > >=20
> > > > > If "linux,scmi_mem" is going upstream in Linux, then we could use=
 it.
> > > > > Otherwise, first "linux,scmi_mem" needs to be added somewhere und=
er
> > > > > Documentation/devicetree/bindings (probably
> > > > > Documentation/devicetree/bindings/firmware/arm,scmi.yaml), then w=
e can
> > > > > work on the Xen code that makes use of it.
> > > > >=20
> > > > > Does it make sense?
> > > > >=20
> > > >=20
> > > > Yes I agree. I think linux,scmi_mem and scmi_devid should be upstre=
amed.
> > > > I will add those properties to arm,scmi.yaml, mark them as related =
to XEN and send patch.
> > >=20
> > > I didn't realize that linux,scmi_mem and scmi_devid are supposed to b=
e
> > > Xen specific. In general, it would be best not to introduce Xen speci=
fic
> > > properties into generic bindings. It is a problem both from a
> > > specification perspective (because it has hard to handle Xen specific
> > > cases in fully generic bindings, especially as those bindings are
> > > maintained as part of the Linux kernel) and from a user perspective
> > > (because now the user has to deal with a Xen-specific dtb, or has to
> > > modify the host dtb to add Xen-specific information by hand.)
> > >=20
> > >=20
> > > Let me start from scmi_devid.  Why would scmi_devid be Xen-specific? =
It
> > > looks like a generic property that should be needed for the Linux SCM=
I
> > > driver too. Why the Linux driver doesn't need it?
> > >=20
> >=20
> > scmi_devid used during domain build. It passed as input parameter for S=
CMI_BASE_SET_DEVICE_PERMISSIONS message.
> > On non-virtualized systems - there is no need of this call, because OS
> > is the only one entity, running on the system.
>=20
> OK. Even if it is only required for virtualized systems, I think that
> scmi_devid is important enough that should be part of the upstream
> binding. I think it is worth starting an email thread on the LKML with
> Rob Herring and the SCMI maintainers to discuss the addition of
> scmi_devid to the binding.
>=20
>=20
> > I've chatted with Volodymyr_Babchuk and he gave a great idea to add a
> > list of device_ids to dom.cfg, such as:
> > sci_devs =3D [ 0, 1, 15, 35 ];
> >=20
> > Using this approach, we can remove scmi_devid from the device tree and
> > just pass a list of scmi_devids to XEN using additional hypercall.
> > We can probably make hypercall taking devid list as input parameter.
> > This will take only 1 hypercall to setup sci permissions.
>=20
> But how would a user know which are the right SCMI IDs to add to the
> sci_devs list? Would the user have to go and read the reference manual
> of the platform to find the SCMI IDs and then write sci_devs by hand?
> If that is the case, then I think that it would be better to add
> scmi_devid to device tree.
>=20
> In general, I think this configuration should happen automatically
> without user intervention. The user should just specify "enable SCMI"
> and it should work.
>=20
>=20
> > > In regards to linux,scmi_mem, I think it would be best to do without =
it
> > > and fix the Linux SCMI driver if we need to do so. Xen should be able=
 to
> > > parse the native "arm,scmi-shmem" nodes and Linux (dom0 or domU) shou=
ld
> > > be able to parse the "arm,scmi-shmem" nodes generated by Xen. Either
> > > way, I don't think we should need linux,scmi_mem.
> >=20
> > This requires further investigation. I will try to make implementation
> > without linux,scmi_mem, using only arm,scmi-shmem nodes and share
> > reuslts with you.
>=20
> OK, thanks.

Hi Stefano,

As I did some investigation about using reserved-memory area
linux,scmi_mem and now I need your advice.

I see 2 possible implementations for now:
1) Add memory-region parameter to cpu_scp_shm node which points to the
reserved memory region.
So device-tree will look like this:

	reserved-memory {
		/* reserved region for scmi channels*/
		scmi_memory: region@53FF0000{
			no-map;
			reg =3D <0x0 0x53FF0000 0x0 0x10000>;
		};
	};
	cpu_scp_shm: scp-shmem@0x53FF0000 {
		compatible =3D "arm,scmi-shmem";
		reg =3D <0x0 0x53FF0000 0x0 0x1000>;
		memory-region =3D <&scmi_memory>;
	};

So cpu_scp_shm node has a reference to scmi_memory region. This mean
that xen can find reserved memory region without adding additional names
to the device-tree bindings.
memory-region parameter as a reference to reserved memory and region
creation described in:
https://github.com/torvalds/linux/blob/v5.15/Documentation/devicetree/bindi=
ngs/reserved-memory/reserved-memory.txt

This approach I've implemented already and it works.

2) The second approach is the format you suggested:
> > > > > reserved-memory {
> > > > >     scp-shmem@0x53FF0000 {
> > > > >         compatible =3D "arm,scmi-shmem";
> > > > >         reg =3D <0x0 0x53FF0000 0x0 0x1000>;
> > > > >     };
> > > > >     scp-shmem@0x53FF1000 {
> > > > >         compatible =3D "arm,scmi-shmem";
> > > > >         reg =3D <0x0 0x53FF1000 0x0 0x1000>;
> > > > >     };
> > > > >     scp-shmem@0x53FF2000 {
> > > > >         compatible =3D "arm,scmi-shmem";
> > > > >         reg =3D <0x0 0x53FF2000 0x0 0x1000>;
> > > > >     };
> > > > >     ...

This approach has an advantage that xen ARM_SCI driver do not know about
how channels are placed in the reserved memory, but introduces some
disadvantages:
a) We provide extra 14 (in our case) arm,scmi-shmem nodes which are not use=
d
in the device-tree. In current implementation I have separate scmi.dtsi
file which introduces scmi support for both XEN-based and
non-virtualized systems. Having 14 extra channels in the device-tree may
be confusing.
b) In case if we have all 15 channels, described in partial device-tree,
we should not copy any node to the domain device-tree. I think it will
be better to generate arm,scmi-shmem node in the Domain device-tree. The
problem is that arm,scmi-smc node, which is using arm,scmi-shmem node
can't be generated. I prefer it to be copied from the partial
device-tree because it includes some platform specific configuration,
such as func-id and list of the protocols (for example different
platforms may require different list of the protocols). So in this case
we will have 1 node copied and 1 node generated.

I think even for dom0less we should use arm,scmi-smc node from the
device-tree because protocol configuration and funcid is related to the
platform.

I prefer the second approach and will try to make it if it's OK to copy
arm,scmi-smc node from partial Device-tree and generate arm,scmi-shmem
node.

What do you think about that?

Also I wanted to mention that I'm not planning to make ARM_SCI support for
dom0less in terms of this patch series bacause I can't test
dom0less configuration for now. So let me know if some of my
functionality breaks dom0less.
--
Best regards
Oleksii.


From xen-devel-bounces@lists.xenproject.org Wed Jan 19 12:25:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 12:25:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258816.446174 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAA1y-0003ej-PG; Wed, 19 Jan 2022 12:25:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258816.446174; Wed, 19 Jan 2022 12:25:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAA1y-0003ec-MH; Wed, 19 Jan 2022 12:25:38 +0000
Received: by outflank-mailman (input) for mailman id 258816;
 Wed, 19 Jan 2022 12:25: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 1nAA1x-0003eS-1V; Wed, 19 Jan 2022 12:25: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 1nAA1w-0003xV-Ua; Wed, 19 Jan 2022 12:25:36 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nAA1w-0002in-Lp; Wed, 19 Jan 2022 12:25:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nAA1w-0004GA-LN; Wed, 19 Jan 2022 12:25:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=YPCU9g0n7ifat+PxKAOtzdlgZmbo+4nd9QBTR08LyPM=; b=4TRZGruDoLb6T/7mBYh69/1zac
	WiuAqH++/NOtj4S+Enalpkx18uli0MLYeYPlrtiws33cN+RUdpMha7D4pxRoZhlhSui2buYDcn5Sc
	w8s6z4NJxCIUPsIJixn2HiJLt66AmfDxO1FOyI2NrZzTa1Ab5rdW2KpGmZe3Pz9deLQI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167742-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167742: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:guest-start/debian.repeat: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-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-qcow2: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-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl: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
X-Osstest-Versions-This:
    linux=99613159ad749543621da8238acf1a122880144e
X-Osstest-Versions-That:
    linux=455e73a07f6e288b0061dfcf4fcf54fa9fe06458
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 19 Jan 2022 12:25:36 +0000

flight 167742 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167742/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 167684
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 167684
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 167684
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 167684
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 167684
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 167684
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 167684
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 167684

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat  fail pass in 167735

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167684
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167684
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167684
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167684
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167684
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167684
 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-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-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                99613159ad749543621da8238acf1a122880144e
baseline version:
 linux                455e73a07f6e288b0061dfcf4fcf54fa9fe06458

Last test of basis   167684  2022-01-13 07:47:42 Z    6 days
Failing since        167693  2022-01-13 22:41:04 Z    5 days   11 attempts
Testing same since   167735  2022-01-18 13:32:59 Z    0 days    2 attempts

------------------------------------------------------------
737 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                                fail    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 62592 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Jan 19 13:06:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 13:06:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258834.446226 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAAf8-0008HR-FW; Wed, 19 Jan 2022 13:06:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258834.446226; Wed, 19 Jan 2022 13:06:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAAf8-0008HE-9W; Wed, 19 Jan 2022 13:06:06 +0000
Received: by outflank-mailman (input) for mailman id 258834;
 Wed, 19 Jan 2022 13:06:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7l/E=SD=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1nAAf6-0008Gr-Se
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 13:06:04 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8de5fc63-7928-11ec-9bbc-9dff3e4ee8c5;
 Wed, 19 Jan 2022 14:06:03 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 6FAD421122;
 Wed, 19 Jan 2022 13:06: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 3BB2613B61;
 Wed, 19 Jan 2022 13:06:02 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id HJ1FDboM6GEzMAAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 19 Jan 2022 13:06: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: 8de5fc63-7928-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642597562; h=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=X9TF0UCrVN8MPXUemayk1jcTqVk+WiDi0ZPq15Svabs=;
	b=BCTE42a/5QwlUsQifKXEorG4GOX7pqBhlbbxrz40hmVSj0XKxcn+485uIMrrL5nagkpW0m
	NU+NXfX4NW9OAN1da8ZwFXDQZdiGTXnGp/j2tEuvaHLTXIwAJ6a7IMSphS837g2TpcgEfL
	O7t79vPkXqp3C+2jg06dc3B654eqC4c=
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] fix wrong function declaration
Date: Wed, 19 Jan 2022 14:06:00 +0100
Message-Id: <20220119130600.27579-1-jgross@suse.com>
X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Coverity spotted a wrong function declaration, fix it.

Coverity-Id: 1497423
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 include/balloon.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/balloon.h b/include/balloon.h
index 8f7c8bd8..510e475a 100644
--- a/include/balloon.h
+++ b/include/balloon.h
@@ -50,7 +50,7 @@ static inline int chk_free_pages(unsigned long needed)
 {
     return needed <= nr_free_pages;
 }
-static inline balloon_set_nr_pages(unsigned long pages, unsigned long pfn) { }
+static inline void balloon_set_nr_pages(unsigned long pages, unsigned long pfn) { }
 
 #endif /* CONFIG_BALLOON */
 #endif /* _BALLOON_H_ */
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Wed Jan 19 13:06:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 13:06:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258836.446237 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAAfm-0000Pd-N9; Wed, 19 Jan 2022 13:06:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258836.446237; Wed, 19 Jan 2022 13:06:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAAfm-0000PW-Jf; Wed, 19 Jan 2022 13:06:46 +0000
Received: by outflank-mailman (input) for mailman id 258836;
 Wed, 19 Jan 2022 13:06:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nAAfl-0000PH-JD; Wed, 19 Jan 2022 13:06:45 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nAAfl-0004j1-G0; Wed, 19 Jan 2022 13:06:45 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nAAfl-0004k9-4N; Wed, 19 Jan 2022 13:06:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nAAfl-00069r-3c; Wed, 19 Jan 2022 13:06:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=aqU+nyZB/IdfOcBtWAs/ho2uG7+s0qPHDQmsE34LIwY=; b=PPbkjiNQsxuc1zNk6KmddZvHPn
	bQGM4KHiEr8WpJPZoMqx8rg/9L/duntK0yXX3J/VYYJD3Ril0nPyrdPvhmCzbIFJdg5F1fSqlF01s
	wEfFUipikFrAkj+kJIoZlrkPb+9htSTogUll6d2nITCp3HPBipVuKRxGbwCWBNZdJwRo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167744-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 167744: regressions - FAIL
X-Osstest-Failures:
    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:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=ae8add363a54e30ebf1c71e8644fe626a5029c33
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 19 Jan 2022 13:06:45 +0000

flight 167744 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167744/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              ae8add363a54e30ebf1c71e8644fe626a5029c33
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  558 days
Failing since        151818  2020-07-11 04:18:52 Z  557 days  539 attempts
Testing same since   167744  2022-01-19 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>
  Ani Sinha <ani@anisinha.ca>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  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>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  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>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  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>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  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 Chevsky <nchevsky@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>
  Or Ozeri <oro@il.ibm.com>
  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>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott 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>
  Stefan Hajnoczi <stefanha@redhat.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>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Дамјан Георгиевски <gdamjan@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 93282 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Jan 19 13:09:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 13:09:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258845.446248 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAAiI-0001FA-BY; Wed, 19 Jan 2022 13:09:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258845.446248; Wed, 19 Jan 2022 13:09:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAAiI-0001F3-6w; Wed, 19 Jan 2022 13:09:22 +0000
Received: by outflank-mailman (input) for mailman id 258845;
 Wed, 19 Jan 2022 13:09:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lbi1=SD=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1nAAiH-0001EW-Aj
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 13:09:21 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur02on0604.outbound.protection.outlook.com
 [2a01:111:f400:fe05::604])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 022ae907-7929-11ec-9bbc-9dff3e4ee8c5;
 Wed, 19 Jan 2022 14:09:19 +0100 (CET)
Received: from AS8PR07CA0022.eurprd07.prod.outlook.com (2603:10a6:20b:451::17)
 by PA4PR08MB5888.eurprd08.prod.outlook.com (2603:10a6:102:e8::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.8; Wed, 19 Jan
 2022 13:09:16 +0000
Received: from VE1EUR03FT025.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:451:cafe::8f) by AS8PR07CA0022.outlook.office365.com
 (2603:10a6:20b:451::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.7 via Frontend
 Transport; Wed, 19 Jan 2022 13:09:16 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT025.mail.protection.outlook.com (10.152.18.74) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4888.9 via Frontend Transport; Wed, 19 Jan 2022 13:09:15 +0000
Received: ("Tessian outbound 63bb5eb69ee8:v113");
 Wed, 19 Jan 2022 13:09:15 +0000
Received: from fcf92a7f9406.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 488D478F-0478-4542-A764-AE3F860AF7C8.1; 
 Wed, 19 Jan 2022 13:09:09 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id fcf92a7f9406.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 19 Jan 2022 13:09:09 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by HE1PR08MB2683.eurprd08.prod.outlook.com (2603:10a6:7:2b::26) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.7; Wed, 19 Jan
 2022 13:09:06 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::c0c1:d43a:acf3:a59d]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::c0c1:d43a:acf3:a59d%4]) with mapi id 15.20.4888.013; Wed, 19 Jan 2022
 13: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>
X-Inumbo-ID: 022ae907-7929-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=y/715q9jbYoSzpiUtBQ/I08OdDVXTaUfZ8kkEa9ql4c=;
 b=Y0olfXQLt2soFPTx52iUKd+1PjeVZgJj4akKzpQWfevwxyKaVWJW/J3essbwgGI24dIDBxBkt/yZ55pw0eOBLkZMNjsei40zyCMi+5GeUR9nD07gA71X9OuHbUzkKzi6QDkCmIhIxKKolmhbjY5KNXBPUhGrRViUZokcCtMqlbM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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: 37082d2364c00b75
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AuE9EShkIZYuotCZuJ8ZlgBC/UtRHSCmdy+lm9NNeGCPwugOJAdSdF5+wW5XbuobPHQtKSmQShn/RMuxCsi/EFc3r2QQHJEb7zWmUMeEvx4ZGlWnyDaWa9YAp8Zn+IipQTr+whbvBRVUj8oJ8O54rrlTfXkZcSzFQIfDDh6BQduuywtHHJZOHFkcErRyyKgxsCodgszjAn+qonZIs1+YSVX+zTEPnIWg6uQ5vEqvyf5s4Ogf4/iJy+S+IU3TN3HDwmBk8PSYvtlSiN9K4fngvz16LC9B+4JIRgDT07RPH38gx0zYbNS2xRA3ODFSQC4omdqtEwr5x2Hyuo9llTU+qA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=y/715q9jbYoSzpiUtBQ/I08OdDVXTaUfZ8kkEa9ql4c=;
 b=oDuYFyG5jUXM/aCTygajhaiOHb3cYCa3L20cO1GAZ+Vw1dd6y/rePHrpBxmMsjonBU5DhZEckprDRp5ww2OZydC740zSkT5hUwECiaRp3GJcik0l5TA1vQFMqtnHvgnF3MHztTawVdgHWxpn/9okLBz9+3HeqdxaWamCn0hw9844M7hP/I/EElj8yQ4s1xwO83Lajwco8m+IDASJrSML9EYmk6wvHQ9zcOwbG+IT4ec6dxn3PxPuMhTSVkWviW9n/DyA2ToI7U+rLRzeOvBP/+W6Zfc/tr/EWNNeJAtOobhHWwbsAVI5YhZrH9i1derhTDKFQ85X4XSG8E6VIaloow==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=y/715q9jbYoSzpiUtBQ/I08OdDVXTaUfZ8kkEa9ql4c=;
 b=Y0olfXQLt2soFPTx52iUKd+1PjeVZgJj4akKzpQWfevwxyKaVWJW/J3essbwgGI24dIDBxBkt/yZ55pw0eOBLkZMNjsei40zyCMi+5GeUR9nD07gA71X9OuHbUzkKzi6QDkCmIhIxKKolmhbjY5KNXBPUhGrRViUZokcCtMqlbM=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Juergen Gross <jgross@suse.com>
CC: "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"samuel.thibault@ens-lyon.org" <samuel.thibault@ens-lyon.org>, "wl@xen.org"
	<wl@xen.org>
Subject: Re: [PATCH] fix wrong function declaration
Thread-Topic: [PATCH] fix wrong function declaration
Thread-Index: AQHYDTViKGGEIvvAiECyA/XXcXARI6xqUQ2A
Date: Wed, 19 Jan 2022 13:09:06 +0000
Message-ID: <5EAA8A4E-BF07-4D13-93F2-B09A4C124528@arm.com>
References: <20220119130600.27579-1-jgross@suse.com>
In-Reply-To: <20220119130600.27579-1-jgross@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3654.120.0.1.13)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 705cfa84-463f-4a6c-0427-08d9db4ce534
x-ms-traffictypediagnostic:
	HE1PR08MB2683:EE_|VE1EUR03FT025:EE_|PA4PR08MB5888:EE_
X-Microsoft-Antispam-PRVS:
	<PA4PR08MB588836340716D7A72099F2229D599@PA4PR08MB5888.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:741;OLM:741;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 SJmWlU4AeaKvG1C0OO7fnBnzQVrQxuGjkBbsoVk3b1N++iHWmrTELLyqyqFDw3SBTTsa87wmwWV7FkCpgmiGUiHhkXbxie2E6faJJJV8pAegp01cHiDK23FKUZc+QpwFNpcGw8hcW0AjBvTczJT0Uptvf5o4G6nY5ldXK6ryJrO52Ou2XEjpAfIMPOQ7jMtbMDdOnC0iYXusckVqfwVea5zP06KHHRSY6oKjVkvA5UuW0NkqLxpxuoNec3HFQXrhsjHUybUJ1Llwk90ma9/A8oDxsD+9BnxAKZXuNzHAUyybfvesKjLGTUqfn2FMTsgn41yDGulsiq84+XjRHQf7bjG5K6SreaMYacdJ4Zyov4e1f1QpTgut1sXICs/mWjvSQoL29xaKRdqaZFsfjIqx3fty5QYrQL63byfSBIEfqzYWAzQJUT+jgn/mt9RPxNt7S80sT0QikuHGhOuDHmIeVtoM7OGfX95OfMf9XsLq3PpXvQUS0EiO/CCTPVMR+8d7+zZHHYnKLYMgy+NA/VIwfi2s8EomDZWcXZuw9y1VgcjDlY51QrBUDPBAKtNY6B31v4civYEQa9sffDi/Wm3cvBSypu4UIGfBwLt1Ww+0CmXyvTRn8Fkn0hI+Z+6jw/T+esiHBRUi5rqkqgn02mCNnbbrt1QmSn+or9jQlOLnHoZm4rhx2jPNavQL8ChlfJvo+mCQG/BHpakybJ96ScQYKHQHCgwztLz1nKKcPgPIXUFbh3kpcQAs3wq1b4UFvf83
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(8676002)(6486002)(71200400001)(66946007)(66446008)(66476007)(36756003)(66556008)(64756008)(8936002)(91956017)(2616005)(76116006)(4744005)(4326008)(5660300002)(2906002)(33656002)(186003)(316002)(6512007)(26005)(54906003)(86362001)(38070700005)(6916009)(53546011)(508600001)(122000001)(38100700002)(6506007)(83380400001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <5DB3FF56B895B04BACD80C1C62071D96@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR08MB2683
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT025.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	e9b0ea04-9dee-4786-e8cf-08d9db4cdfa2
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	DLNwQ3qSavbJnlsueCwa3ZvNjvdiI+DJTC/r6J8yYOZx69DY/d+Tdk8Xu002+ubX3tyMVu8Gc0QE+ZSFP1Bqx+CulgRpNAXPUwgX0ZTiM1vsZ8YAyvhdl97cLEiWpUOVSJo1R4OIWqV2Aw9KAYmHY9jIF6AXGZNKtxpfjhl8z39YcCnR0ATxKOoLbzaDQgxEj12RWwoZAPbLkRym+Ceb9eEfcDUR22S5VFE/ca6IkcF4dEz3IYZIILqCuN26B0Qma0qS3pAZaeAEetB5PTkR0he1w9OjXMcCBy05nNRmoRBgeoqpzJsumHPMozWSKffpiTIBudVgvkKmlq2PPCQ6ZI03praBYWVghCoK80qnsLepoSga56dGz0gcnHViGWWm9j8+0AfnS9VN3Rh3Bj454hVQHMCR/tQ/v5UJsK/qCEU+rT09oKMDwtfOc7aX/51eRpI5DKtxv4zRN3iKxoEEcOv00lN1VVOWZNZHyvAa4F+Uhj2eC4A3r722aToQzH2Gu7ueZssxsvLQ6jie+8TN7v6VVH4CNizB4SeTh57aM7zjPLn7UdzK9s/FsjBehYLld6fU8Ie+wrMynjTLezILh+66263ilZDQQsCO9+2b5igAlIqg0GiRyRgXrIdHlsYXsxjEM1tuvmkXKDWrPBoHPtocxA7L93yoPKica1FL47wgcur69//v+ECy8s//5W0+Eb4ebjYR9i04Fr+wYijd4gjeaobkU72TAgj+XuxwQv89rwOiUEnbkHgsFVL6u9OpHVdAf/yK4+JdJXEZkWw3qw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(40470700002)(186003)(508600001)(40460700001)(26005)(4744005)(82310400004)(47076005)(86362001)(36756003)(5660300002)(6506007)(6512007)(6862004)(450100002)(4326008)(53546011)(336012)(6486002)(33656002)(70586007)(70206006)(8936002)(8676002)(81166007)(2616005)(2906002)(316002)(83380400001)(36860700001)(356005)(54906003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2022 13:09:15.7149
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 705cfa84-463f-4a6c-0427-08d9db4ce534
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT025.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB5888

Hi Juergen,

> On 19 Jan 2022, at 13:06, Juergen Gross <jgross@suse.com> wrote:
>=20
> Coverity spotted a wrong function declaration, fix it.
>=20
> Coverity-Id: 1497423
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

> ---
> include/balloon.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>=20
> diff --git a/include/balloon.h b/include/balloon.h
> index 8f7c8bd8..510e475a 100644
> --- a/include/balloon.h
> +++ b/include/balloon.h
> @@ -50,7 +50,7 @@ static inline int chk_free_pages(unsigned long needed)
> {
>     return needed <=3D nr_free_pages;
> }
> -static inline balloon_set_nr_pages(unsigned long pages, unsigned long pf=
n) { }
> +static inline void balloon_set_nr_pages(unsigned long pages, unsigned lo=
ng pfn) { }
>=20
> #endif /* CONFIG_BALLOON */
> #endif /* _BALLOON_H_ */
> --=20
> 2.31.1
>=20
>=20



From xen-devel-bounces@lists.xenproject.org Wed Jan 19 13:27:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 13:27:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258849.446259 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAAzV-0003bb-Uh; Wed, 19 Jan 2022 13:27:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258849.446259; Wed, 19 Jan 2022 13:27:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAAzV-0003bU-QU; Wed, 19 Jan 2022 13:27:09 +0000
Received: by outflank-mailman (input) for mailman id 258849;
 Wed, 19 Jan 2022 13:27:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GOcB=SD=kernel.dk=axboe@srs-se1.protection.inumbo.net>)
 id 1nAAzU-0003bO-BV
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 13:27:08 +0000
Received: from mail-il1-x132.google.com (mail-il1-x132.google.com
 [2607:f8b0:4864:20::132])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7f0b1700-792b-11ec-9bbc-9dff3e4ee8c5;
 Wed, 19 Jan 2022 14:27:07 +0100 (CET)
Received: by mail-il1-x132.google.com with SMTP id r16so2140731ile.8
 for <xen-devel@lists.xenproject.org>; Wed, 19 Jan 2022 05:27:07 -0800 (PST)
Received: from [192.168.1.116] ([66.219.217.159])
 by smtp.gmail.com with ESMTPSA id c7sm4569815ioi.18.2022.01.19.05.27.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 19 Jan 2022 05:27:05 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7f0b1700-792b-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=kernel-dk.20210112.gappssmtp.com; s=20210112;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=bOtjTSupMPdLeWMiVKrD7jaORGYKT+sk6BwRJT6YH5k=;
        b=7BEfqJqRzXAE088B+2bHOpvIL0UUVYOZUvHjaUycgtIQCZS6qJSTGhtIwa1Xa6EPfk
         oV2YXPGcxgiVF5LaQHluLKvgATLLAeZKgM3nn6DNYQRh6ifI6cdJPU7ZNOAzZ5g1fFkO
         MWYcErn30fkxjWY45t9Yboy2jcExTsCrzys7xQCWMUAHOZ2PvIOKEUon3RlzTMdRHOFW
         W8Ams8MdRsSgkRcx2W8R30267oa8zRJAWTCRB6MNRYIPNawBrTjM+yr6IoXc6oDoeZjs
         ao5paPXCdk//Rx9HxN4miEoGhchTg9VDu7RK7HyILmak+tgC3BqPCX5DU7MxKWRj66d8
         cjpA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        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=bOtjTSupMPdLeWMiVKrD7jaORGYKT+sk6BwRJT6YH5k=;
        b=4p4OgccJJX/nqZWwlLBsiM5bdNuUacByBCHlc5FiRbYIB5k4rIv6l7bBgD6RK2TUr7
         +W1FHjRQ/iDaNGiE6Fw1CVPgHJieOt+pT0pH7t4GwrSzZc4MNdGQj19MMD5/gKfbme+7
         gt+OfObMUArmeeDaUW03M/LsPtfUB0o7FoZsh5rFvcSZKfEX2H+gYbWcX96pY5O97XXH
         LXptEpULf+5D4tpxVcanpXar3+eaqztAiz3DVrEe/yFtUOllXNGGjvWXytkSjoySD/t7
         ntbF5RFdpza9JuIlsaSQ9qCC5j0hdZLCd/hTBEclb3pEkqubYG/+tdPtOfbq9Fu8tcK8
         JBrQ==
X-Gm-Message-State: AOAM532YzxmMYyE4qPIinAI9M9wfpTGEK0LYcVZU/WS0kNXYgwfhOmMU
	LNOTs4M7dtFmTu7s5FqAoe65hg==
X-Google-Smtp-Source: ABdhPJy/gK+ACUkzeActiCIlSLAxm2cSY3hrzhU1AqADv9+8T7xomkwrCDZtFgg9hB/5uCyhH7Qi5A==
X-Received: by 2002:a05:6e02:144a:: with SMTP id p10mr9326688ilo.152.1642598825847;
        Wed, 19 Jan 2022 05:27:05 -0800 (PST)
Subject: Re: improve the bio allocation interface
To: Christoph Hellwig <hch@lst.de>
Cc: Pavel Begunkov <asml.silence@gmail.com>, Mike Snitzer
 <snitzer@redhat.com>, Ryusuke Konishi <konishi.ryusuke@gmail.com>,
 Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 "Md . Haris Iqbal" <haris.iqbal@ionos.com>, Jack Wang
 <jinpu.wang@ionos.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.co>, Philipp Reisner <philipp.reisner@linbit.com>,
 Lars Ellenberg <lars.ellenberg@linbit.com>, linux-block@vger.kernel.org,
 dm-devel@redhat.com, linux-fsdevel@vger.kernel.org,
 linux-nfs@vger.kernel.org, linux-nilfs@vger.kernel.org,
 ntfs3@lists.linux.dev, xen-devel@lists.xenproject.org,
 drbd-dev@lists.linbit.com
References: <20220118071952.1243143-1-hch@lst.de>
From: Jens Axboe <axboe@kernel.dk>
Message-ID: <2b9aedb6-4531-91fe-3493-133470ebee80@kernel.dk>
Date: Wed, 19 Jan 2022 06:27:04 -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: <20220118071952.1243143-1-hch@lst.de>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit

On 1/18/22 12:19 AM, Christoph Hellwig wrote:
> Hi Jens,
> 
> this series is posted early because it has wide-ranging changes and
> could use some early ACKs before -rc1.
> 
> It changes the interface to the bio allocators to always pass a
> block_device and the operation, which is information needed for every
> bio submitted through bio_submit.  This means the fields can be
> directly initialized in bio_init instead of first being zeroed and
> thus should help to micro-optimize even better than the __bio_set_dev
> that Pavel proposed while also cleaning up code.

Looks pretty straight forward from the block core point of view. Didn't
look too closely at the fs/driver changes yet.

-- 
Jens Axboe



From xen-devel-bounces@lists.xenproject.org Wed Jan 19 13:28:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 13:28:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258852.446269 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAB0t-0004BA-7n; Wed, 19 Jan 2022 13:28:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258852.446269; Wed, 19 Jan 2022 13:28:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAB0t-0004B3-4x; Wed, 19 Jan 2022 13:28:35 +0000
Received: by outflank-mailman (input) for mailman id 258852;
 Wed, 19 Jan 2022 13:28:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uvFD=SD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nAB0r-0004Ar-UF
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 13:28:33 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b260bcb5-792b-11ec-9bbc-9dff3e4ee8c5;
 Wed, 19 Jan 2022 14:28:32 +0100 (CET)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2110.outbound.protection.outlook.com [104.47.17.110]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-11-sXMnF_WNMi64L7j1bWK0lQ-1; Wed, 19 Jan 2022 14:28:31 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DB8PR04MB6443.eurprd04.prod.outlook.com (2603:10a6:10:107::27)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.7; Wed, 19 Jan
 2022 13:28:29 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.014; Wed, 19 Jan 2022
 13:28: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: b260bcb5-792b-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642598912;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=zEMX9WE0p4zqIthayNM4ih2MCHjWwIm14mOVjDOi5nw=;
	b=hr1BkQUMvKgSrIgSOXFa2aGtc3SmdmYwxMDTuWEmJOn10qyDaKsaz3uJwfIR875OUEgvjB
	3+KATVtoIpEZ33gpbNpV/bQ1OXRfPSBiPMBnKTs/Rogk21qxLDQd9oubqvukqwrQdoY0J7
	aJrSlIXCBiC0/AxrEiOEsdDjy9/4Da8=
X-MC-Unique: sXMnF_WNMi64L7j1bWK0lQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Fqf352TyQ4vKqBbT1SbM4cwEdvpz5iDoRYLYchBoUj6TbxcZ+GAxuYtzqTlTB3S+sksXznwFo3uqU6d5S+8pOMAiZQBAcKVLVBCMBz/l6jrjRlCObX9AVMDIku4nqdjVaAlee4sCaKSV0BRYBYzWbAorj5ZvHQmfDaglymS76/PE4RbBnBD19rjQw3G79tzQt0YKsvwM6/mdMgAZXjCPwnM4725T4g6A1iY6ksaTLERKvcSviV7LYgHOWpcoKYwohHLx/7AmA7+YiCShiL+daBfwidmwRCUNkRf1V9ZkvlZspENHktcHbqpvkck81h0sc9ObCntvJm1S3N3wjsKxPw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zEMX9WE0p4zqIthayNM4ih2MCHjWwIm14mOVjDOi5nw=;
 b=hgi3C/Y9sHoXkc+uYwSSO3RBwsuTfAvdjrsIbQ24b8qF1yTfw/Qu3y4MofEhxJuZEZJYihOZzcATRluhyj545Zl8biH3cCaKj3jvkVfV/1HVvgpA9DAh1IUSDq62VUAsB8YuFs2RW0YZs1s32Le+9CQvWZg8wLH0GLM/R4VpmmlBOt9CrfFshB3bJPtMQ8bXn+j0I9r6BupIzIjtLl7rqHH+B3YisVHMQ1+2DwPVfsTEEuC/1eZi5kqNU6lo8QzJrYQ6MZMgLIkgV5rtjw8jKXS5PXbWgMrqla83FVN5mGgBzAM5yAXbiNCAj205ZIjpLbp4+4Xt0f6jfHGIF2TBIA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <752485db-deec-1011-f65a-d277fc3e404a@suse.com>
Date: Wed, 19 Jan 2022 14:28:28 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v2 1/4] x86/guest: Introduce {get,set}_reg()
 infrastructure
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
 Kevin Tian <kevin.tian@intel.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220117183415.11150-1-andrew.cooper3@citrix.com>
 <20220117183415.11150-2-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220117183415.11150-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM7PR02CA0020.eurprd02.prod.outlook.com
 (2603:10a6:20b:100::30) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c4d64103-e658-4105-5e98-08d9db4f94b0
X-MS-TrafficTypeDiagnostic: DB8PR04MB6443:EE_
X-Microsoft-Antispam-PRVS:
	<DB8PR04MB6443B301F438F9386C39900FB3599@DB8PR04MB6443.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:
	lkNruGkUg0KKoTLqwMOSw6OLhkrvqqNSC8R6EI84/m1qevIBv+lmDp3lkKXPUzfqz1v92d2963q+YbEzV3Q5VAEHq84Bhzdq01PYQEfavyvpHfRyDjPHkC9BD8gR/cQryBKvuUrQxdDZYqDZ/MXu0tNYgim4b/GfJ+ZXLoJai9YbU3uGrEe9y7Nl4jNZq3H06F7Dk5HauW/Qz6vrfToy3B0Lio/HautZJBWWeqjrvhPo3Dsx+N/3nKAHc74ugLzoWvVqq/UZPN3JxkZDtlG41ndqUIFqUEunupAp2WCg6uxfxRiqJKSWR3OGpB13QMNVPmVA1TBAbR/ct7EV4rGqjQknILLGipoxoeclStoAWSyUcliawct6X0CGgsrLvErpM2rt+Iay8x0GBiHj3qfC28fJEx/d2urwtmNd8cn+FA9fC0W6ze7yTMhg44Nwt/28U0m/7DGJc5I9sXWpsDuhYwpGNTPzuI+kH7zNMBnjegThUF+RFy731DDqmWI8tTAlyU6a/UsWLavEZD20FJzu952iBZk/RMDYxbKd/tPDlp61zn5vKoFGX3vA4B1cUlok9zKX101olt7ZyQnSI9Zvaz2GR5R1TF8W7YfGXUca4k27/87VVsTIAKkD981TWuOv/tKadwgfx5MraW0pz+u6xjFyWG7+4ZPiJ8JL/U6pJBveXkIft785bpEVjjyurYL3QOqq0d2rBV6n/bVmwLuRUc2f8wTRPfmZt9ZqXacSeHE=
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)(2616005)(31686004)(86362001)(316002)(54906003)(8936002)(31696002)(4326008)(6512007)(508600001)(26005)(6486002)(6916009)(6506007)(53546011)(8676002)(2906002)(5660300002)(36756003)(38100700002)(66476007)(66556008)(66946007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b1c1WDBUd1c5QUZ5U2FkM2dBQVdOVGwzby9CNi9EZHltTzV2dGNhYXZ0bDdT?=
 =?utf-8?B?c3RiQ2NnczQyMnJFTEU5MGNJQ2ZMcFVGaUYwcjljRCtieSt5RFlrc0pUeWdZ?=
 =?utf-8?B?eWI5dzBJTktrdkwvUzUya3ZwMnNoK2FPM3p2UnhmaHBKbmxuR25pTVZuUFlw?=
 =?utf-8?B?Y2dRRzNXZlM5S0gwVDRtUGlHQ1FkeXJsdkk3M2JNMUVjb2NaTGp0Uk5LOGM5?=
 =?utf-8?B?VnJubHVUMDVMSmxvR09mekpYdHdZNFl1TDY1QmtoVW9NMGM4QktIWFdDUlNQ?=
 =?utf-8?B?TWF0Vng0SHdkYkg2aG1DNGVEeDFyS0pVZ0JXaEdYdTEzQjErYStCSmdpaWF2?=
 =?utf-8?B?UXg3Tkx3WFNIT2orcUJCbmJpN2FmQXhUL3dKdmt0czJ2RHZRM2hqK1Q5SDk2?=
 =?utf-8?B?ejRFNDBJMDdXK1dEVS9Jb2ZyY0I1dFRCajI3SzEvK1NZYzhYNXc4bGo5TlBn?=
 =?utf-8?B?Y3F4MnpqVlF0U1hLVTdsZnYzVkNpMk91R1pEcFc3Y0toR1pPem1YbzFNRVZJ?=
 =?utf-8?B?RGVSOFhlRG9YaWVNalJLVEhoTFlxQmUyanFOS3g1UWRlTXVGQnZPNzRwTHVO?=
 =?utf-8?B?QVV3OHNPOUhib2x6cjNnTjdWY0w0Y05KeDNpM3NVSG9mYnltMUhJVmovMTNt?=
 =?utf-8?B?SGdBVy9kL2NaTTFsT2xQa3ZFOGI2bEJ3UnVTeS95TnhmNllCRXRWYUhHYVRa?=
 =?utf-8?B?dW5aZWt1MTFkendqaXFtVEZQNXd3WWlmZHRTdVBoVTZlMHpUeWU2cnlCbkUy?=
 =?utf-8?B?dkZ5eUE4ZjBNQVp0NUc4RGhvZ29mNU14Y1RDSzBCTkdvZmNEU0lnWDZWNDRi?=
 =?utf-8?B?UnlHWGdva3ppNEVvYkxjaElLODJiWG1ISTg3LzBqWGgvZlRQVUppcCtQei9j?=
 =?utf-8?B?QTQrRm9WdVhOdCt0Szk2WTdkdEJHQ1RHV3lBRWZCR1hXb1dROEFDUENPOUh4?=
 =?utf-8?B?ckp6TXhhcWsranVFRnhWdUVqZnBlTjhSSW9hM3R2MkNZcm54NGtlWUl6cm8y?=
 =?utf-8?B?QVZvSXVtaGpNOW9hUk1iSCtQVzNTc1VOODVvNjFnaVk3bktDK083Z3hoOUhp?=
 =?utf-8?B?MlR0Q2plVFVmVS9LL0g4L1djM3BxT1pYMHlKaW53ZE1VOXBrT0YvTTJoQ1NB?=
 =?utf-8?B?azE1RlpiWW9QRVN1Y0greUczc3B1TjlLdzdIWXRvSVZqVXRSZitRdXlHaFow?=
 =?utf-8?B?OXpKL1lJdlNlSDh1eVBOU1ZYZ3BxWnZxTWxOOGZra3Z5QitpUS9na3cveHBZ?=
 =?utf-8?B?bGl6elhzZ095SmtWM1o4c3Qxemt0Y1hVQWxKVEsrVnBrdEJudTFEdG8zcVJ3?=
 =?utf-8?B?RjV3bW5TQjdvUzljY0lhVnZxTW5IL1VWVXlMMzE4VTdGMDhHT0NNVlFyWUw4?=
 =?utf-8?B?Vzl0STRDVDFJS01weWtDeFA5NG5NN0tSN0x5ZXZzVGxld0h1eWZhMkxVMEx4?=
 =?utf-8?B?dUNwWHgwemtKcG92MmZZTUI3S3NOTU9RVEhhZGo3enQxNVR4Nk9kM1Y0RXA4?=
 =?utf-8?B?M3hBTzBJRXh2Q0p6aS9FRWpRNjNpZDRTRHRQVmV2a3pjcXAvd1hBb0lXYTNn?=
 =?utf-8?B?YjljYnNBQ25hQVhMMFd0emtzMXU3VlU3UHI3R3ZGM1psalIyQW5EZzFvS1lp?=
 =?utf-8?B?STFQeGh5QVhHQW8wM3k4WXhPdnkwaEZ6K2RTU3Y5VlNtSURWMkhQOUNZcVJO?=
 =?utf-8?B?V0tlVmlBeFV1ZDhzbVFQYVdoaHFRMFhPVFBhSnV4UkY3Q0VOQ1djSjhERW9i?=
 =?utf-8?B?TmcwcUdzdDVzSWVWYTg2YUNnc1YxRFkvUXlJVkRiaXloQmJTRXZpWFcwbmlZ?=
 =?utf-8?B?c1d4a2pkb0lqNEZSVGd5YmttQkRFZHordzBCemdheGVTcWlPMFp6ZnFqSGI4?=
 =?utf-8?B?TWdZM1E1YTRrTmxaay9VVElJNk9IM2VDdDA3TFZzQmROY05nT0NoSXZ1Y2d6?=
 =?utf-8?B?emtqTS9jVlFkdjh4R0MzSU15bG5WUUZXQUZGRVFVejg1MzA5VWNld1lXR256?=
 =?utf-8?B?OFI3RXBNWGtoWGRtaWVVYjlmZUlJUzhhYi9nRnBsVkUydmI5R1hsU2lJVm9m?=
 =?utf-8?B?TWlDSitWaHJLallEVzdRL3hCK1cxaGkvV3hMZDkvNFJFTlY1TXo1QlNkM0RW?=
 =?utf-8?B?Yk9OcngrcUhRa0pmbEZ0OGk5dkd0R2VtYWMzUUh2Qm1jYWFiZkJ6eGZ4QTh0?=
 =?utf-8?Q?Bo5v/2XPlmdw97QxdvAfcL0=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c4d64103-e658-4105-5e98-08d9db4f94b0
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2022 13:28:29.5910
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7td2Zfh3X7JjwdBZ02FgtbNKO8C9xBSFAU4dpOPInICc2omMxz4q4dvnyWKPtdJDknGfxgDN9/LsM0Cwx+S5xA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6443

On 17.01.2022 19:34, Andrew Cooper wrote:
> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -3744,6 +3744,28 @@ int hvm_msr_write_intercept(unsigned int msr, uint64_t msr_content,
>      return X86EMUL_EXCEPTION;
>  }
>  
> +uint64_t hvm_get_reg(struct vcpu *v, unsigned int reg)
> +{
> +    ASSERT(v == current || !vcpu_runnable(v));
> +
> +    switch ( reg )
> +    {
> +    default:
> +        return alternative_call(hvm_funcs.get_reg, v, reg);
> +    }
> +}
> +
> +void hvm_set_reg(struct vcpu *v, unsigned int reg, uint64_t val)
> +{
> +    ASSERT(v == current || !vcpu_runnable(v));
> +
> +    switch ( reg )
> +    {
> +    default:
> +        return alternative_vcall(hvm_funcs.set_reg, v, reg, val);

I'm inclined to ask to drop "return" from here.

Also, for both functions, without it being clear for what kind of
registers beyond MSRs this may want using down the road, I wonder
whether uint64_t is actually wide enough.

> --- a/xen/arch/x86/hvm/svm/svm.c
> +++ b/xen/arch/x86/hvm/svm/svm.c
> @@ -2469,6 +2469,33 @@ static bool svm_get_pending_event(struct vcpu *v, struct x86_event *info)
>      return true;
>  }
>  
> +static uint64_t svm_get_reg(struct vcpu *v, unsigned int reg)
> +{
> +    struct domain *d = v->domain;
> +
> +    switch ( reg )
> +    {
> +    default:
> +        printk(XENLOG_G_ERR "%s(%pv, 0x%08x) Bad register\n",
> +               __func__, v, reg);

Is __func__ actually of much use here and in similar further places?

> @@ -852,6 +867,15 @@ static inline int hvm_vmtrace_get_option(
>      return -EOPNOTSUPP;
>  }
>  
> +static inline uint64_t pv_get_reg(struct vcpu *v, unsigned int reg)
> +{
> +    ASSERT_UNREACHABLE();
> +}
> +static inline void pv_set_reg(struct vcpu *v, unsigned int reg, uint64_t val)
> +{
> +    ASSERT_UNREACHABLE();
> +}

Were these meant to have hvm_ prefixes?

With at least this last aspect addressed
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 19 13:30:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 13:30:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258855.446281 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAB3A-0005Wd-Kx; Wed, 19 Jan 2022 13:30:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258855.446281; Wed, 19 Jan 2022 13:30:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAB3A-0005WW-Hm; Wed, 19 Jan 2022 13:30:56 +0000
Received: by outflank-mailman (input) for mailman id 258855;
 Wed, 19 Jan 2022 13:30:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uvFD=SD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nAB39-0005WQ-77
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 13:30:55 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 06b9eb3b-792c-11ec-a115-11989b9578b4;
 Wed, 19 Jan 2022 14:30:54 +0100 (CET)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2110.outbound.protection.outlook.com [104.47.17.110]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-13--e8eXu-vP26_6m-DtWlc-g-1; Wed, 19 Jan 2022 14:30:52 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DB8PR04MB6953.eurprd04.prod.outlook.com (2603:10a6:10:111::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.7; Wed, 19 Jan
 2022 13:30:50 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.014; Wed, 19 Jan 2022
 13:30:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 06b9eb3b-792c-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642599053;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=aEyUfoIuHdydQaGGNuOQwpqGavMjO7GL7rt/7KqQCEo=;
	b=BPIZ0g5IeWY9lxm+iMhzBiD8XGyDJXkgg5XngSzeAe4Z1AqUJStC2KuVqUPFFmUdlMFTdz
	vmHetmdhMeIfMCkDmA5vpDwvsAA8D87ycnfD6z2cBiEdKIW/vhi1SMsFBHl9gYElYOrGmS
	IsoYisLo+S2HQXiGGQPuaOdaNG3+OCw=
X-MC-Unique: -e8eXu-vP26_6m-DtWlc-g-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=S0G6OSwJ341hp7rshcaSX2XaEV7HRGXBGFPGrG/f0hZKLO/MemlQhSP3K2Nue21Sgm2JuQa/rCL/ontTU+SO93H8L62AkSTcLHnjDG1b4QtQkj3pLuLnYzZdSK/MUATJjXNjPmd9QkNdi2d147aV+APZdPubYoli4N1r05rBeKm/i2d13vNpJuLa64dD1A+V0nAEQWrHG/cAyqaY6YG63RUtpkkgmG6jZ0KZQ9LyF/rr8WejGQW0fsQDmkxeAMi00GSmwFoB8YddSqBjv8Z7VV8+ylQFR2+QAE1/H5QYuW1vVuLQ5WWGVF2Vygy4UgUmA6WvKRfd6AIQOoZZYeYZJA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aEyUfoIuHdydQaGGNuOQwpqGavMjO7GL7rt/7KqQCEo=;
 b=F2g2k6cULL/6nuPeoJIh7v6qShsM5K+G/mSM0JiVDY224MWHRsXDk/hKUmFTzs+ducnK5pPuhE4zE3VWrDCSqNmYmmVYAOo5olJFgGocVFs8wr5GHggRlZ7an/7njwmDNyK78ygt4SbX7UAQ9nFXuTBFxFnErgbEY/C2Cmd5Ce5to8DdNJK7vYXsPM+D9TpOOhpW3QqK7wRjZR7yjytjryJDH7f2P9/zLasZsAPN4r83QtF8o1sam0gLVGzfqSmyjwHZpuJKQS9bL328p1ojGoezKExOVWiEsCMpZiZ/LL8kAVzS0Tv2SezVGp2Blin9BhHqvn+v40Rpx76ugFH3Og==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7aec2bdf-efcd-2b26-5c85-80b3226cf1a0@suse.com>
Date: Wed, 19 Jan 2022 14:30:49 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v2 2/4] x86/msr: Split MSR_SPEC_CTRL handling
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220117183415.11150-1-andrew.cooper3@citrix.com>
 <20220117183415.11150-3-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220117183415.11150-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P192CA0106.EURP192.PROD.OUTLOOK.COM
 (2603:10a6:209:8d::47) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4add454f-7fe6-4dfc-d18a-08d9db4fe8ac
X-MS-TrafficTypeDiagnostic: DB8PR04MB6953:EE_
X-Microsoft-Antispam-PRVS:
	<DB8PR04MB6953E2772FCA93007CCA794BB3599@DB8PR04MB6953.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:
	IC6Y0yTUqT7D7pXbTdiGWra7zspvqmeCtpEJiqcjQqgKF6deyKKfvkeenE9MdlH9576IRg6wt8O0mhiMIuuayEzJk55K7Ducpw6gQknJqjWrEcQXRfT0tn/FjRAPEEUqpZTpbbBiGeMonhF53HhSkasG7fAelh1l4Y/UnAdslZ9/r2CA7bOViYQkbWv3fieJIvmEGAwsI2KQoUQhhwfBoJMqwE5kOiBPQ/E700IZbgWdAg+E3mlJs4OHxkMPt6y5qM0+vlA7QAPiYtkeEnKSMW6wHW2slsq5z17j8JnMpTl19SoBVLMJrexqahSkUBrGKXTZIgtxsXafRz5xa8BslvMhjfpJJNL2YFg+sfDVi8mPSzxuac84UsFlo9VOgOc0zB2Wlh9FEEMG6fPkHWjNiIp4gYacjZTAn6bE85N9VTxPZGxb8GkcdTu6yJOiQX9//GgQMF9Cd+EnJdt0HMWIB9yUQRmCMfWW17OSyDSOOChu9zWfzMpxLEsKJllV/Up95baYKZKDFBUt8Jn1VjHDBaA+otbgCaI1obKm2NaUSOA/pSsxxTUGzKXBKRQyVEgAwP4h97JGqqpfX3EhV6vhvnVWLzrhltQeZxi/m6hMjJANY0R8HFu/MT8uXVfHdLNrlk9ZMG1dur0fIReX3NmkedAS02c8cXsN1H5airzFWs44+aYdBcXAL3fRWxaIwlt26FvdLm/37IlKzCXlwObFaMLEHGDhlQf3cbiYKyvs0yfKNL+d1Qwn3SCIT8SxJiiX
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)(186003)(8936002)(26005)(8676002)(53546011)(6506007)(2906002)(6486002)(83380400001)(36756003)(31686004)(6512007)(4744005)(5660300002)(31696002)(2616005)(66556008)(66476007)(66946007)(86362001)(54906003)(316002)(38100700002)(4326008)(6916009)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cnBidnlUWHRmckNmM3pRT3FlMzhrRDVpZ0JCM212NUJJYnVMQ2pPekprVk5F?=
 =?utf-8?B?NHJUbmw4UTFFaXNpLzhRdEtRUCtBU1BydUFNZkprbnllU2xlZ1ZuSy8vV3oy?=
 =?utf-8?B?RVRPaU5qaEh3YWlqN3I2MFVKdS9LblJzUVAwMEU2N25HZ0pPWFZ2TVlIY2Ry?=
 =?utf-8?B?dWxYNSsxK0JuMWRTMlVjdmFtd2RDSUJtWHlvYnltY3ZKcHVibDVmNHhEdDla?=
 =?utf-8?B?UVhmc0pCdGYrdnlPN3A4WVVZekNFaHg1YVdCcng4Z28wem5kdm10VjltN3Vm?=
 =?utf-8?B?YWJzMUFzT3ZmTUNnVkdoVlVnamVxaU5qVDRyampjcXdPazFwSzFvRkp3YVV5?=
 =?utf-8?B?cWJBNzAvRzBGeWYzNGRab1VBSDg4VGtXbjMwOE9EWnMybFlrRjJGYVByNGpX?=
 =?utf-8?B?bHZ3RCtOWkZvQ0NvZVZxTXovZ3g2OEdFUm1rVnFLVU5aZzMrWnhsUHJ5ZTBO?=
 =?utf-8?B?Q3lPVkZ0QWk1QUc2TVQ3anYzNzhGRGErd3B0Mkk1RzJmVndkY3M0Vy80dHNj?=
 =?utf-8?B?VlN3TW9uMGtFNzBncWxvOXdjbUdjUEh2c0dDWWVVMDh4TzZhemNpMkxicG9q?=
 =?utf-8?B?MjRDSnNyZnhKUE5GZUNYR2haaVhaUnUyQVVlbmsrMXF2MmtsVVhEeWpkRHFW?=
 =?utf-8?B?emNveGlZdWNEV0FwTnI3SjR2MHlCUTJtRGNBN21kU2FlQjNKQ2ZKRW0zTzJv?=
 =?utf-8?B?cUJWUWZ2Y2E2TDNYVzBpYjNLRno2RkV1VWFCeks5dTFKZ0hKN0ltWjF0dEFa?=
 =?utf-8?B?ZmtsTmVpc0dkbnlVVFd4K2krMi9NUzR6eFVqNjBEd2V2NkR5amVXWVllaHJE?=
 =?utf-8?B?ck5CWVlaTWpjbUdTcEtRVUZxSHJ1MmZJU2NWSVFwcjFKZkg1N0h5SGZIbjlD?=
 =?utf-8?B?Q0srOC8vWXJBUlVQeWdReEJFWjY5ejBwaDg3QWR5MzEwRUpTVUprQjNpbi90?=
 =?utf-8?B?NkhNM2kwK0xYOEdocndVRmpONVNPbVNjNzZUeGxkSHJPQUxIRndCOElkSTc5?=
 =?utf-8?B?NUJEZFFuZHJzSXRsUjN4QktkMk9vVlEzZzRGMnRaeWNxZlVoU3ZETTF0N3dl?=
 =?utf-8?B?bm4yTVlCSURNaTZEdHAyaEFmWWI2S2hNTHFnL2Y0OWhyWmFhdXRnSHhtallz?=
 =?utf-8?B?ZWdUVmtwa20yY095eEplYjBBRDZydWVSbjJ0Q3BqdXlSdHVDWk9MWEFHNndm?=
 =?utf-8?B?YW5sV3duOWtnTE00RzlQR1QxUnlhM2lmZ0EyYWFGM1RiSERXeEljT09WNjFD?=
 =?utf-8?B?NnZJRk53eS9nWmxtdEJId2w2N3IwR3Y5UU05dU9MVlFyOXVhbnh3K25ZQXVF?=
 =?utf-8?B?V2c1TU1rRkNMRTliZkE0TjJnTFZDeGo4VG1IUXRyZHlkNnlFSGwxell6TUYx?=
 =?utf-8?B?UFNWSFJBMTZ0U2FaSkdCNGM5d2pNYmd0VDBhaHRVN1FGZVBFWmhJQmNxWElB?=
 =?utf-8?B?YVRib29mL292QWdLdExoQ3FQQXU1VzVpQ1BiMzAvM08zZW1MQm4wTVYvL01p?=
 =?utf-8?B?SFl6Mm5vVzcweGpCM20weGVVbUZWaG5BM3VqSjNrT2FJTnpDTHhQcHRFK1Rx?=
 =?utf-8?B?bTNSWTZXRHJqUTVBbGZIVUljRHFQU0dGeDNMNnMvVmxWVTZDUU44UzNCNzVS?=
 =?utf-8?B?VzlKcHdOdlJxOUJIUjgzbkJxSSs2bmpVTEM0WGdpTERhZmZmR29JM3JZeFVw?=
 =?utf-8?B?YXlISFlHUnNrSWsrQ0ZZQUNqQlRJNWVqM1RVdTB5d2ZTdEcwZEljZDR0cVdv?=
 =?utf-8?B?NkxXS0pJUXVlbm4rdVoyVEpjSjZuNkxwQkNJNUVwUVdTTlJJYXl3MHJWcnhl?=
 =?utf-8?B?TTZKQXZVMW9zM0RWTHBFMXJOKzdOMStMRkY3L0taK1Vwb1kxNmRUUVNpL3lx?=
 =?utf-8?B?eG12djZOMmtaRW1BNzVFOXRaQ1F3Z0xaK3ovQjFPZ1VrQjg5bUJ1WmNLTmE5?=
 =?utf-8?B?U1d2RWdkTkc3T0RHenFIa1BoR0czaGpTak91bFVBbld6bXRVQ3J1cUVRdGFY?=
 =?utf-8?B?dVJoenlabUk5dGlieHB4UGYraUdLNzJ4cDQzaTFUbnloV0t4N0ZTRWR4d3pk?=
 =?utf-8?B?SHRTWjJkT0I2Ulp1eTQyM0syb3VRRWhTSDh5QW1vclRJY3lwWGI0dkczd0FS?=
 =?utf-8?B?Zjl4MU9zNmRlc1FIV3FpdmkydXZvZVc0eXh3MlZ6TFpLbmhVb3ZuZ1FmSm43?=
 =?utf-8?Q?tVbrSxWnCbZOdpcPOXp1MgA=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4add454f-7fe6-4dfc-d18a-08d9db4fe8ac
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2022 13:30:50.4104
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 06tJhLPkYauMKQtJrW//dS61sDbFnDEoHe07v8hpU1JMZ7GKsDvkPyVGA8n/U+KnYdo0QpJEXBdb1pMS7RK+Bg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6953

On 17.01.2022 19:34, Andrew Cooper wrote:
> In order to fix a VT-x bug, and support MSR_SPEC_CTRL on AMD, move
> MSR_SPEC_CTRL handling into the new {get,set}_reg() infrastructure.
> 
> Duplicate the msrs->spec_ctrl.raw accesses in the PV and VT-x paths for now.
> The SVM path is currently unreachable because of the CPUID policy.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Wed Jan 19 13:38:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 13:38:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258859.446291 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAB9x-0006Jb-HR; Wed, 19 Jan 2022 13:37:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258859.446291; Wed, 19 Jan 2022 13:37:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAB9x-0006JU-EX; Wed, 19 Jan 2022 13:37:57 +0000
Received: by outflank-mailman (input) for mailman id 258859;
 Wed, 19 Jan 2022 13:37:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SXRn=SD=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nAB9v-0006JO-OZ
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 13:37:55 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ff95da0c-792c-11ec-9bbc-9dff3e4ee8c5;
 Wed, 19 Jan 2022 14:37:53 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff95da0c-792c-11ec-9bbc-9dff3e4ee8c5
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642599473;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=rjRAUCzAwfgCFilrGVUPim9q7mEmJmDSoxX0MKWWWXU=;
  b=d2rWwQq+nZVWbBu20GDu9yzF6lMoFGzS/EGSu8CnHgIlo+Sayd/QmlqH
   ZLNLF2yxDwall1+jJ1wFnA0cKAQ0+QKrwlTZ3vcQqpX4SoOdN9RGkjzjN
   yI/EP+aht/Q31QytRCIHHz4vPbUlqK8CPl9qqdtmQ9SXKn0xP5Q69jXx0
   Y=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: fOSgpSQUrrUNMTxkLBvEvsj30pIXKiO/q8x/uD29g7OcfS5bRGk5qWF+iB9DLNie6UXPFA5Bcx
 NRWHG2NhvCpihuJrosJ51BYY7QVzjJdP8ZmcltOArTb/zIRaLp4MtyOxX7/9Hf7LowbdpOUUpz
 SEMtdMqTf3nu9ipz2H1luC5hQ8oHRw2DcQsJsH6Jw5JANaSAlIO1F/ukwt1Nnf3D7mjfThwKBV
 tCG3kmSyedYUJbUSVNBUmT9K+Y7qXgtbumfrNpyoZNGIZEqYtYuXpTxMLSLrGILBU+AO59gQ6e
 tuVqIMHh+LcUzQ/cVGdZBVth
X-SBRS: 5.2
X-MesageID: 62227437
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:LZaHXK0fcpZkHgjJ+vbD5SR2kn2cJEfYwER7XKvMYLTBsI5bpzIGm
 zQcWTrVP/fbZmf9e40lYY+/oE8PsJWGndAxQFdqpC1hF35El5HIVI+TRqvS04J+DSFhoGZPt
 Zh2hgzodZhsJpPkS5PE3oHJ9RGQ74nRLlbHILOCanAZqTNMEn9700o6wr9h2+aEvPDia++zk
 YKqyyHgEAfNNw5cagr4PIra9XuDFNyr0N8plgRWicJj5TcypFFMZH4rHomjLmOQf2VhNrXSq
 9Avbl2O1jixEx8FUrtJm1tgG6EAaua60QOm0hK6V0U+6/TrS+NbPqsTbZIhhUlrZzqhgv5Ai
 95t76aMZzh3A7PqsdUZQR1CHHQrVUFG0OevzXmXtMWSywvNcmf2wuUoB0YzVWEa0r8pWycUr
 6VecW1TKEDY7w616OvTpu1EnMMsIdOtJIoCknph0SvYHbAtRpWrr6Diu4UChmhs3Z8m8fD2O
 JcBZmphdQn5cTJ+P3EGDpkHx/jviSyqG9FfgA3M/vdmi4TJ9yRu1JD9PdyTfcaFLe1XkVyfv
 Xnu5HniD1cRM9n34TOA+SPyrvTVli29Xo8OfJWo+/gvjFCNy2g7DBwNSUD9sfS/klS5Wd9UN
 woT4CVGkEQp3BX1FJ+nBUT++SPa+E5HMzZNLwEkwByj++nfw1yjOkY7EANfTvUXsN0yXzN/g
 zdlgOjVLTBotbSUT1eU+bGVsS6+NEApEIMSWcMXZVBbuoe++enfmjqKF48+S/Dt0rUZDBmpm
 2jSxBXSkYn/miLiO0+T2VncywyhqZHSJuLezlWGBzn1hu+ViWPMWmBJ1bQ5xaoRRGp6ZgPY1
 JThpyR4xLpeZX1qvHbcKNjh5Jnzu5643MT02DaD5aUJ+TW34GKEdotN+jx4L0oBGp9aJWW0O
 xaP41wPvsY70J6WgUlfOdLZ5yMCl/mIKDgYfqqMMoomjmZZKWdrAx2ClWbPhjuwwSDAYIk0O
 IuBcNbEMJrpIf8P8dZCfM9EieVD7nlnnQv7HMmnpzz6j+b2TCPLGN8tbQvfBshkvfjsiFiEr
 L5i2z6ilk83vBvWOHeHqOb+7DkicBAGOHwBg5cGKb7YfFs3QTFJ5j246epJRrGJVp99z4/g1
 nq8RlVZ2Bz4g3jGIh+NcXdtdPXkWpMXkJ7xFXVE0Y+A1ydxbICxwr0YcpdrL7Ar+PY6lax/T
 uUfetXGCfNKE2yV9zMYZJj7jYpjaBX02l7eY3v7OGAyL8x6WgjE2t74ZQ+zpiMAOTW66Jklq
 Lq62wKFHZdaH1Z+DNzbYe6Exk+quSRPg/p7WkbFe4EBeEjl/IVwBTb2i/s7f5MFJRnZn2PI3
 AeKGxYI4+LKptZtotXOgKmFqaavEvd/QRUGTzWKs+7uOHCDrGS5wIJGXOKZRhznVTv5qPe4e
 OFY7/DgK/lbzlxEhJVxTuRwxqUk6tqx+7IDllZ4HG/GZkiAA697JiXUxtFGs6BAy+MLuQayX
 U7TqNBWNa/QZZHgGV8VYgEkcv6CxbcfnTyLtaY5J0Dz5SlW+rubUBoNY0nQ2XIFdLYlYpk4x
 eoBudIN713tgxUnBd+KkyRI+jneNXcHSagm6skXDYKDZtDHEb2ejUgw0hPL3aw=
IronPort-HdrOrdr: A9a23:lScdm6yf9gVrccpnjbSpKrPwKL1zdoMgy1knxilNoHtuA6ulfq
 GV7ZAmPHrP4wr5N0tNpTntAsa9qBDnlaKdg7N+AV7KZmCP0gaVxepZjLfK8nnNHDD/6/4Y9Y
 oISdkaNDQoNykYsS8t2njbL+od
X-IronPort-AV: E=Sophos;i="5.88,299,1635220800"; 
   d="scan'208";a="62227437"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IFAPAfYl5tDcsO5s1w/HgWUy0/+qtSsfLmK45kD6XZivJ6BpR6LLXZ7qz8nZFJ+So0g015qKxKjzVcihyZWjjbH+R23I1kuexeH/IOAhymr/E8h+0H4IfW4vexRpk6u5ccVso/+oK8/vbkRonsHX+E8ZL60odn7ep1sGC4NmRy/zCE48TkxHFF2NaUwrLJXoSypoWjtbM5o338u3SRXR3YDrQZOktjtUf1y6A5Gg6EWYO62DRX6MsmGGNE6xuV383JKL8e0syc/xQ0CvcWSU0y9kl8QbMlICBRl3vdFOxn/SZdV/mPHXVpEgS1HgqUAwMR4HEejgG5ZZ1DANQjM5vw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WRYcuvoEpQZ1z62aG4uQGDfsmnSdz9orQ1fFOYkXY3I=;
 b=VgQMW2Bgb3lVPnMFR6AuNQVIhLFjwvlTNiZpNrmXtiXWWFh1JSqCPJ5uabCrSxWzrntU4zHfDvfzXXaZJ9YcrQ97ZuDD1s8zko6HOWZT3z5uzSUcSz9BZsF5jBVCzddmVcqSFH5GDdiVimQHZgUg+P9v6vBmJbBAmlIkEOLI2v+fgENZvLIGuiYwc4QhNzMekgLXvURmN1K6AHRNxrmdysfWua8bKMg3n4m/rce+yBq0eM7EfBmou7Nei+8dc3pSLq8rbnoMV8WyichX/6CIVnPP4b3jtWs8T313GX0gKnJf/qeEhUn8Pad3cMNfdiuFuQK8CSIwcsaIgS9N21+8WA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WRYcuvoEpQZ1z62aG4uQGDfsmnSdz9orQ1fFOYkXY3I=;
 b=T2PSROneYLD7v0XGVLsc0OWU27tfdlDamjf1E/zF9+Gud7gGjMtBYqR9wyDKV+m7iG3FM+LPTnRpRufX4VqWc0nhc2qyy/AGuYTBWanx8UBH9mPv7wrvCgy/QLfcBgSZZmjWmRKh6g8H4pAgBJEPC+GkSlXCbOXoegQ0SE75lnk=
Date: Wed, 19 Jan 2022 14:37:38 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <amc96@srcf.net>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH v6 10/12] libs/{light,guest}: implement
 xc_cpuid_apply_policy in libxl
Message-ID: <YegUIsHs2dUQTKKi@Air-de-Roger>
References: <20220117094827.16756-1-roger.pau@citrix.com>
 <20220117094827.16756-11-roger.pau@citrix.com>
 <71b5f77b-acf5-fbeb-b442-9d6207dd3131@srcf.net>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <71b5f77b-acf5-fbeb-b442-9d6207dd3131@srcf.net>
X-ClientProxiedBy: MR2P264CA0039.FRAP264.PROD.OUTLOOK.COM (2603:10a6:500::27)
 To DS7PR03MB5608.namprd03.prod.outlook.com (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 55292476-23fb-4075-729c-08d9db50dfcf
X-MS-TrafficTypeDiagnostic: CY4PR03MB2904:EE_
X-Microsoft-Antispam-PRVS: <CY4PR03MB2904D83DC944B60A50F233E98F599@CY4PR03MB2904.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: GY8GXfdfG6h58WJdIjdxyEe+qFxxB41u2rKHN52IkwTHFfSSHIu1Y+Qp3t7N7h1Qgxu8SJzf9kgDlRoLeIrAFQMfR9HC9KOx71DCJkRqf6YxSVRmQVodWKAvtSfysglqVhEuU+33Tt62jL0BbZpWAFKJ5wf/ZWiwERshB7wxhtpYpvrkc3xLuyfTCPvrtiq7vOtYwmA0/IIMXeMYCelapcC202ft3LcaCwZhqQ1i0nIXqZwbFk4+agvRFXgGYonH5zhCHrgcYNxVuj2lnEcroYQvYi8WKfweslVAdVs6QW4vKxfpRDtceOoWIfAUOr2J86+rPaSKVJJaOwlNjXnp+YrqDzURqw7TxmkmHlfZPn2i/SVfLRYJpCKr0npbjPea9Dnbe/0/3UwUE5ItKXNccO/1f630QC7axO5637OjlSfQowc0+vImUF202Qc6YQx6qQ6jCIol/xtC11C0jFqymb9TD5j42q8m9+NjIwRshYtlJX8qT+OIwTKemMAiixe+ghp5Dk9CHWXy8wNYZyevW+W3tA/wrU5x6u2v0k2D1V0MqJcR9+Dn1L1Tmd/4VyrA77du60bsWRPZJUKFkwP8tm/lpuLapRAtps+rDLIFB8aii+cIND8nqeXI6uLx5Jg/1ulMBvfrM9/WuodMOYV9OQ==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(316002)(6506007)(186003)(66476007)(5660300002)(53546011)(6916009)(8676002)(6512007)(38100700002)(66556008)(54906003)(86362001)(33716001)(85182001)(508600001)(6486002)(6666004)(8936002)(4326008)(2906002)(9686003)(66946007)(82960400001)(26005)(83380400001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?aEQvQmttUjBoSGdTWGNDS2t3OVVQZ2VlOEVtd29KY2pvMVNJbFdoQ0l3eXN1?=
 =?utf-8?B?REFiQ3JnditzKy9xT2wrMDV4YTM5MnBZUy9TbVlISGMyMy9ITjQ5R1JKSGIr?=
 =?utf-8?B?WGdTSnhZMWdtaHBUcU9JTk5hZmFHYlRYTzI1eFNxOWlmeXBnTytmSXVONDg0?=
 =?utf-8?B?YWNwT09uS1gyMTV2TGE0cEFkVXM2TmhnMGlTQlErWk5mOUtTQUtmdGE5SXoz?=
 =?utf-8?B?SGEwcVFUbkJmaHJYTVlUcFVzaE5XRmM5L2U0ZU5kb04wcWYzZHkwazBZRTND?=
 =?utf-8?B?ZzBIc0k3S2prRHBIM2p2QnpYc3U1MG1TRnE1bGwvRVdrdlgyTUVWcUQ2MnZZ?=
 =?utf-8?B?ZEJ3V24wM3grampmZnAzeGZkcFpUY2trdTlRZElXMzV3c3JuaU4rL21iSjlF?=
 =?utf-8?B?U1ZYSE5hNHhYNkprR3dFUGhOMWhpam8zbDhtQ2FGT0hnd2I0bTJVb29YMDR0?=
 =?utf-8?B?WUp3RWljcURpQ0JWb1prNHgvVHBxU05pZWNZT0VOdEpDOHNEdmxRUTMyVXlq?=
 =?utf-8?B?ZTdybTJoVk52a1NBM0hCQnYvaGJNK3ZKZ3NQNUErMUxsMmZTSlJ2SkdsTTJH?=
 =?utf-8?B?WXlEekNQZERhOXNTV2pabmFtcFpad0VmTlRPaFZ0a01IZFlFclZyaERoZHZz?=
 =?utf-8?B?WWU1VVVnNWxkTnpBMVF0SE5jME9LZTgxU3piOW1DRzdCSGV4RnIwamNMV3FF?=
 =?utf-8?B?dVhrVVNJdFVKeHVyRHRadzlidVJValJ0MitZbGR6OE1sV2NlMyswTFBGYkc3?=
 =?utf-8?B?c1BCK212TUxoeVh6R01vVHF2eVpUS0NXOFlPeXA1S0laY0tKMGRYU0pvZThw?=
 =?utf-8?B?RFJoNU1KcjNwVmMyamdUK0p4djgwaVdCYVNldXBSSWdpdW5vTnFXSEJMRVIv?=
 =?utf-8?B?NVNKbTRVZ0NyYnpyVFV1V3RJUHNMdmsrYU43dzlsell6empXVndOTEhXYmcy?=
 =?utf-8?B?dGJIZ3BJd1hJUkhJUEFUbHZodjBObG94US9TbGE3bkhrT1pGL1UzbUNZbDlC?=
 =?utf-8?B?cjJOc0J1aGJvQ1d4b2lldGgxUVRzTTFadEVpN0lPWWtnT084YUo2WXRwUlFq?=
 =?utf-8?B?RHZtQzJwZ0JDSVRQZzZKSGMrUEtmTjJ4Z1lIR0pzYVZvYVNOMVhoUy9jZWVh?=
 =?utf-8?B?Zk9idnoxOHVwc29XT1dEdU9Da0dCSXZBei9mU3J6OHhuQWo5ZThvdmsyeFM2?=
 =?utf-8?B?QWE4dThGYXdlaldFYW1CZVJkdG8wN2haeGt5YXZaVkNRdnJVR3VXamxpcjFj?=
 =?utf-8?B?UWtDTGU5cmxZQUxpQjRVTXdIMlVYVElwTXlkYWJ6RHQvR3R6eEJCbEhjTmZJ?=
 =?utf-8?B?WmNOYldhK3JMZkpvUHlCeWJsZnZWL0EwSVJ0aDBKV09PaGszWDBnS0lZb2hl?=
 =?utf-8?B?U1J3b1U1eFN4R24zUXd6dkt2TWJQRllsaDVudy80MjNJblkzenhJSDJtVzk5?=
 =?utf-8?B?OGg3dW9WUkxDMHZ2NSsxaVZiODVqbkJ4TE1aalNKcmRLemc2VmFzcmxvMlZB?=
 =?utf-8?B?TmgyNGhDbDVtTGhBaHhRMXlmU2tXUzQxNXp2UVNGY3dBOFNzMWZEVjUvQ0p3?=
 =?utf-8?B?TGxDTkY5WlM0YUw2UG9HZGxVOUs5UGtFWFpxNXN5V2E0a2NQQll5REROdC9p?=
 =?utf-8?B?V0NmdlNZa08xNGp1d0VCRnJlWTlZUHA2WGovejFiemdqRmR5TkFDNnJKNWxK?=
 =?utf-8?B?TFNGak1qZGlOdEJOYjVsSGNyZ0JCeXB5RkNuQU9wdXVxTlJPY3ZXOU4zWXVQ?=
 =?utf-8?B?WGc3bllnZm1reG0wZm5FY3RzUzRYa2ZWNnNjK0dVaXZieXJJbEdKQWVzTEc3?=
 =?utf-8?B?ZGgrSklpVFZHaFZaRWJrMU81YWxOOGt1UEFPY09mRkhSOVNoa3paV2pDUzcr?=
 =?utf-8?B?c0hrRi96VDV0NndRWjJHUUpUc2sxMFd4dTR2Rmg5WFBCRjd2VzQ5eEJhQUdZ?=
 =?utf-8?B?TXZwU254K2U4MDVPQWtRSDJiUFA3bjdlWHhZMis0NGtiS09qRjZqVWpyR0x3?=
 =?utf-8?B?MFZwVTVJVXI4MElPVkJaTXg4OEtvM1RRd0xFOEhzWWl3WlJ0YnIxRkdjNDBj?=
 =?utf-8?B?SFpYWld5cGRzbTgyYWh2Mng4a2hzMHNQUVkrMFBhRlVUazFJdlBwOTZQeGtp?=
 =?utf-8?B?NmZWMHBGcjBhcEhEc1FwMlp3cCtLcmVLV29DVE9rTTZuMDg5MExBd3AvbzNU?=
 =?utf-8?Q?ViLtJDBfGO7jhHscduKdfiM=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 55292476-23fb-4075-729c-08d9db50dfcf
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2022 13:37:45.0135
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: tr1FENzlJ2YPPFzfwZ9PuKifoF/BWqfwEKbBb9OUAjrdcZp8nPDnCHJLOjflOvwbRcexipdSCom96ah2m6iXlQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR03MB2904
X-OriginatorOrg: citrix.com

On Tue, Jan 18, 2022 at 01:37:18PM +0000, Andrew Cooper wrote:
> On 17/01/2022 09:48, Roger Pau Monne wrote:
> > diff --git a/tools/libs/light/libxl_cpuid.c b/tools/libs/light/libxl_cpuid.c
> > index e1acf6648d..7dcdb35a4c 100644
> > --- a/tools/libs/light/libxl_cpuid.c
> > +++ b/tools/libs/light/libxl_cpuid.c
> > @@ -454,6 +456,41 @@ int libxl__cpuid_legacy(libxl_ctx *ctx, uint32_t domid, bool restore,
> >       */
> >      bool nested_virt = info->nested_hvm.val > 0;
> >  
> > +    policy = xc_cpu_policy_init();
> > +    if (!policy) {
> > +        LOGED(ERROR, domid, "Failed to init CPU policy");
> > +        rc = ERROR_FAIL;
> > +        goto out;
> > +    }
> > +
> > +    r = xc_cpu_policy_get_domain(ctx->xch, domid, policy);
> > +    if (r) {
> > +        LOGED(ERROR, domid, "Failed to fetch domain CPU policy");
> > +        rc = ERROR_FAIL;
> > +        goto out;
> > +    }
> > +
> > +    if (restore) {
> > +        /*
> > +         * Make sure the policy is compatible with pre Xen 4.13. Note that
> > +         * newer Xen versions will pass policy data on the restore stream, so
> > +         * any adjustments done here will be superseded.
> > +         */
> > +        r = xc_cpu_policy_make_compat_4_12(ctx->xch, policy, hvm);
> 
> One hidden host policy acquisition, and ...
> 
> > +        if (r) {
> > +            LOGED(ERROR, domid, "Failed to setup compatible CPU policy");
> > +            rc = ERROR_FAIL;
> > +            goto out;
> > +        }
> > +    }
> > +
> > +    r = xc_cpu_policy_legacy_topology(ctx->xch, policy, hvm);
> 
> ... one host featureset and ... (final comment)
> 
> > +    if (r) {
> > +        LOGED(ERROR, domid, "Failed to setup CPU policy topology");
> > +        rc = ERROR_FAIL;
> > +        goto out;
> > +    }
> > +
> >      /*
> >       * For PV guests, PAE is Xen-controlled (it is the 'p' that differentiates
> >       * the xen-3.0-x86_32 and xen-3.0-x86_32p ABIs).  It is mandatory as Xen
> > @@ -466,6 +503,13 @@ int libxl__cpuid_legacy(libxl_ctx *ctx, uint32_t domid, bool restore,
> >       */
> >      if (info->type == LIBXL_DOMAIN_TYPE_HVM)
> >          pae = libxl_defbool_val(info->u.hvm.pae);
> > +    rc = libxl_cpuid_parse_config(&info->cpuid, GCSPRINTF("pae=%d", pae));
> > +    if (rc) {
> > +        LOGD(ERROR, domid, "Failed to set PAE CPUID flag");
> > +        rc = ERROR_FAIL;
> > +        goto out;
> > +    }
> > +
> >  
> >      /*
> >       * Advertising Invariant TSC to a guest means that the TSC frequency won't
> > @@ -481,14 +525,50 @@ int libxl__cpuid_legacy(libxl_ctx *ctx, uint32_t domid, bool restore,
> >       */
> >      itsc = (libxl_defbool_val(info->disable_migrate) ||
> >              info->tsc_mode == LIBXL_TSC_MODE_ALWAYS_EMULATE);
> > +    rc = libxl_cpuid_parse_config(&info->cpuid, GCSPRINTF("invtsc=%d", itsc));
> > +    if (rc) {
> > +        LOGD(ERROR, domid, "Failed to set Invariant TSC CPUID flag");
> > +        rc = ERROR_FAIL;
> > +        goto out;
> > +    }
> >  
> > -    r = xc_cpuid_apply_policy(ctx->xch, domid, restore, NULL, 0,
> > -                              pae, itsc, nested_virt, info->cpuid);
> > -    if (r)
> > -        LOGEVD(ERROR, -r, domid, "Failed to apply CPUID policy");
> > +    /* Set Nested virt CPUID bits for HVM. */
> > +    if (hvm) {
> > +        rc = libxl_cpuid_parse_config(&info->cpuid, GCSPRINTF("vmx=%d",
> > +                                                              nested_virt));
> > +        if (rc) {
> > +            LOGD(ERROR, domid, "Failed to set VMX CPUID flag");
> > +            rc = ERROR_FAIL;
> > +            goto out;
> > +        }
> > +
> > +        rc = libxl_cpuid_parse_config(&info->cpuid, GCSPRINTF("svm=%d",
> > +                                                              nested_virt));
> > +        if (rc) {
> > +            LOGD(ERROR, domid, "Failed to set SVM CPUID flag");
> > +            rc = ERROR_FAIL;
> > +            goto out;
> > +        }
> > +    }
> 
> libxl_cpuid_parse_config() is a large overhead, and cannot suffer errors
> because libxl crashes rather than failing memory allocations.  The
> invasiveness would be reduced substantially by having:
> 
> str = GCSPRINTF("pae=%d,invtsc=%d", pae, itsc);
> if ( hvm )
>     append GCSPRINTF("vmx=%d,svm=%d", nested_virt, nested_virt);
> 
> and a single call to libxl_cpuid_parse_config().
> 
> 
> Depending on how much we care, these need inserting at the head of the
> info->cpuid list so they get processed in the same order as before.
> 
> > +
> > +    /* Apply the bits from info->cpuid if any. */
> 
> 'if any' is stale now.
> 
> > +    r = xc_cpu_policy_apply_cpuid(ctx->xch, policy, info->cpuid, hvm);
> 
> ... and both a host and default policy.
> 
> That is a lot of overhead added behind the scenes.  It would be rather
> better to have this function obtain the host policy and pass it to all 3
> helpers.  Default policy is harder to judge, but it would avoid needing
> to pass an `hvm` boolean down into this helper.

I've fixed all the above, but haven't added a default policy parameter
to xc_cpu_policy_apply_cpuid. Let me know how strongly you feel about
that.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Jan 19 13:42:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 13:42:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258862.446303 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nABEP-0007gh-4s; Wed, 19 Jan 2022 13:42:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258862.446303; Wed, 19 Jan 2022 13: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 1nABEP-0007ga-1E; Wed, 19 Jan 2022 13:42:33 +0000
Received: by outflank-mailman (input) for mailman id 258862;
 Wed, 19 Jan 2022 13:42:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uvFD=SD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nABEN-0007gR-Kk
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 13:42:31 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a5ce4d53-792d-11ec-a115-11989b9578b4;
 Wed, 19 Jan 2022 14:42:30 +0100 (CET)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2176.outbound.protection.outlook.com [104.47.17.176]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-10-OGPPcF3WM0idDUUnpBcqPg-1; Wed, 19 Jan 2022 14:42:29 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM6PR0402MB3477.eurprd04.prod.outlook.com (2603:10a6:209:12::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.7; Wed, 19 Jan
 2022 13:42:27 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.014; Wed, 19 Jan 2022
 13:42:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a5ce4d53-792d-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642599750;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=qe5G8AAbk3c9GVBW4sjMFyXmYsej6fV3Uco9Ow5qGHY=;
	b=WWOVF54RGsPcv5ZvI/lgbFowLYo+5tEnoL2HihWYqBTHDdlPdio0THs82GzuKea8Z47BTm
	zhxYxNFwWP2Ey2XigMU13y9una2r19Xhv5ddLmp6pr3oIaEN8Bc1Iox8sjVzrKn4xsb/H0
	i6EyKky46D2uGqt/vZYSb+9QAR4Ckhk=
X-MC-Unique: OGPPcF3WM0idDUUnpBcqPg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FFNC8J+2Ct57+DU2dsgURRVeOjpFEG6cal7A/BecDG96x+/HMiPsSLL9dEv4Y3khKTZp+1AmBItjd/F/GYSmFahPExUEJJwsynXD75u/tubPKBT9cYDz3UumWh6vRd/QDfxxYRAl02p8f9pZn09GpB7xsgbNZaAMJ9GFNnz6ADfoByRFSS/I53YsMsXBGtbHvfL0qfDbJII9mZrpVuBvbfOoKI2Rd4abLGsmDHtTkBPbcoxSKNkw7xIc2dOsx/RWA5ABvdUvZSszkDJ1S5oIll7h9bUVjJVqfInwRnVM5fqmmh8lOUa5tnYeR7ZRLyiGzzzoAZyp7SNe1J78p6pGlA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qe5G8AAbk3c9GVBW4sjMFyXmYsej6fV3Uco9Ow5qGHY=;
 b=P1+JUd/CwY5M+8auQeHSqjVmz6xezqYV3x9xSi0uIAYc7Tw7nQ6tlY8qBVnp6hUmKj+WK4DwmKqwS3vwgEqqT7yJwXsnOeHqFjYaw2sh44W4cC+ljlYxMmgiSCtFWn0HR7p+CmoCOOz1gfL9XA+7R8yXsqagQWF17jM8j65AyCHNYtPToThemwjbcFH8QeO9YXl2Kn92O1qOVPD7rM8sNwdZwDk17DQgkYt0gHXCIFuEJ1XU1v0N8GNM71OeQROdhdWiIOQ0LxFkSzPSPMMvksJHQEEyuY5goX85UBYbk+xiqS1I89KnTSzlmt0UfPuBmiZLcmfNC0ChMbapp2Qf7w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3395e756-fa47-8d94-148a-03a573331e5a@suse.com>
Date: Wed, 19 Jan 2022 14:42:26 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v2 4/4] x86/spec-ctrl: Fix NMI race condition with VT-x
 MSR_SPEC_CTRL handling
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
 Kevin Tian <kevin.tian@intel.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220117183415.11150-1-andrew.cooper3@citrix.com>
 <20220117183415.11150-5-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220117183415.11150-5-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0035.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::8) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 635084c5-6ec3-4c99-f99c-08d9db5187db
X-MS-TrafficTypeDiagnostic: AM6PR0402MB3477:EE_
X-Microsoft-Antispam-PRVS:
	<AM6PR0402MB347720F63C3C43F0B05BC2A0B3599@AM6PR0402MB3477.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:
	Ian8azgz4eznVBJsHV7Vp3wm1+C+BPn2aYrKDfeFZDqCyWVaYVRjMV0JpQfiINNKJyvuAPFfuYb030zHuDGQy6Y2F3qMrGF5ED0IqcJvgXyDURaeIpTf0TDzYu/RK2O2+U2rCNdwTHTZzF3X1m0UtxPAO2UMUC/8lHunOd1XBWlkc8TbQwtEN3knbP7X5YT4IUNu4vLLp4yfyHCmBdqhbNeqtK7Zb8f5xNAO2VazUyCBfnZPPr+ZBmIjIPC4xYPz90a/HXq267SMPvVJtYhfQ+UYVjTzXXv/yn6abxG5365l7arX89j8R5O8zgGxOYLwYp6VgJI15EHXQInEN+AqW/8b8J5Q1y48+3EU6qu6RPElP97zU1Se+MkARkdC6uqbXHI+gr/tCXw49wJqzipG4CLaKQgKf8OGOHmrteuthFSjTr6BjXKAUeJSMxmIoPacbRpehyirV3Q0Rg9ttiTdQc81+K5bCp5xpHs+g5VcGJYZtlOvg5/rXr9Bt/hoq63V63iuOdFwWG0kYO/bDLcuYZE1zFmJmwVqDBssa/IDTNrnV8PwjjkVdBcyzNx2brtlXHz3B2tLcwi4KThF6TCzyXzT5A4gRSLh4M4YnEvFHlWMp3+PKwHbl2LkFWk9v6mx2LAK2Sya7QlG4FChpAXQxjaerCvl8Yl61QA8VxAysAI4BIV2Y58BFvmd5xZ1/g0bJWFa8Ilmb+tGNPJhhtr6VJD60ZLmVLYo/bRfSVula+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:(366004)(508600001)(53546011)(6506007)(26005)(8676002)(8936002)(86362001)(2616005)(186003)(31686004)(31696002)(83380400001)(6486002)(2906002)(66556008)(66476007)(54906003)(6916009)(66946007)(36756003)(316002)(6512007)(4326008)(5660300002)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Ri9SK1hPZU84aGo0UW9tc3VYampZbkt4VjVySWoxRzNFaGswNzVidjhITmVi?=
 =?utf-8?B?bVNYS1dPU3ZPVHJ2NExJNFpZdnRZYnFsZXIza05DVzFiRldKazd0czIwZnBJ?=
 =?utf-8?B?OTBZakthQVJDR1hrTU5jOFkweWJIN3FPRU5wNnhyMEtiNXFrTEllWFU3Ry96?=
 =?utf-8?B?VEg2eTBpNEhRdXBFbmU4Sk9sdjZuajF5Qkk4OE5wV0RYTFhSd21PNnh5TnNr?=
 =?utf-8?B?enZQRktpNzh6YnN2M3hybDFteHREUG0zMzM4WUhFZ0wzdElsUXFTcmRoRmhN?=
 =?utf-8?B?aFZnWEloZWZBZjhPSEtTa1F2WmVQYm9nQWlySlQ0bzhsd3RaYjFocHcvSnc1?=
 =?utf-8?B?MDZOYVd5RHRyQ3RmMW0rMXdOMUJwSVJlT2dVWTBaWVdaV3dxaDNMQ0xhMzRE?=
 =?utf-8?B?SlpCbmRkTnE3cmlDZ0Z5M1RhL1M4WlRsVWVpUVBRRTgwajNyMUNDd2FTU2g0?=
 =?utf-8?B?MVJMNlZLRU1zcmJtdEhRZWdqS3VFSDIwbktzQmN2V3BBaVZGdUFIZkd1aU9X?=
 =?utf-8?B?SmFISlRrMmc0Z1FwNEt4SkVLL2xUY21xeGFOQjByQjJuSm10RVgzd1ZrUUxj?=
 =?utf-8?B?eGJLVk5XbEpTSlJ0YjNQNzdxWEg4WkkwUUhQMjZkVS8yeTY5Z2F1RzZ2SVlG?=
 =?utf-8?B?dzRxWFVLTVM2aVFmQVRvSDV0QXd6Y2J1Rm5pMWlqenZTckI0K0UzTjVzbVFl?=
 =?utf-8?B?cHpVd0kxdEp2NFkyRUp4VXYyMTNVK0IwQVRBZSt0UUJZUHVxcWJIR2JEUEhL?=
 =?utf-8?B?aERCdy90Z0hQK3lZNWswd2c4ZWZkQWdSR2tuQjV0Njd3WmxzVjVSc1QyNmhU?=
 =?utf-8?B?UkNHR3J1TnpuT1ovUW9nbm5xSW8xTHhMalVSd3dmSnBuTXI4MHZEOGRkNTY4?=
 =?utf-8?B?QVFqMURROWdyN0oxaHlQOWpVYk1GcFRZSm92MTRCOEp5Z3hselEvZFA0eHFE?=
 =?utf-8?B?bzRoVkVkZjBmY1BjVjZzTThhMEQ3OWRFeHVtWUVZWjF5ZHdVaklCd1JPbU1V?=
 =?utf-8?B?eGIzTjJNU0w0UWwyeUV6MW4zSHF5OWh4Q0w0YmtKeTdiMWdRQ0lTdGJSNTY2?=
 =?utf-8?B?c0trTmJubEZHbW1RcjBQT3NwL2dMempjNE93SWZGN3owVkMvRk5Sc01PaDRJ?=
 =?utf-8?B?a0JZVXl5UUpEOFp3QnpKWHFrN1ZSWjBsWFl3SjEvOGRWQit1Rlk3YmxYSHIv?=
 =?utf-8?B?ZWxXUmZuc2xyRVh1MkRZWmxRd2VUbkYwTU52cEUrZmJsRWRML0IrN3ZhUUYz?=
 =?utf-8?B?dTdNUXlBbmk1TEpNUHBJcE1ORlpkOVphWG9ZSld0c05wZXJFMWhEaTB3NEw3?=
 =?utf-8?B?Nzl3QmZPVy8rbzNPUFpMZ1N1ZTMvUGx0TlFsd0EzMWxSWnpiaU1zTnBNSUpN?=
 =?utf-8?B?Rk1jenVyVkNvNjVOVUFhS2d3NTFGa1BhUEd3eHgyeVRsZldRMGNZTi9GU1Rj?=
 =?utf-8?B?TGtKSUdncWx2Y25QWXAvUVp6VmJOSkJrWkI4SnEyVHp6ZzB2WU5YeVNMR1hW?=
 =?utf-8?B?L1BwaWxTNmoycDUyd1FYcUVNNTAvZU52T2xMclF4Zlk4WmEva3JmUnFaN203?=
 =?utf-8?B?aFo5UUlEZktOajg0bktSYXpadzBFL3dzL2lFRHYwV1ZNY0xSeWkxZkNoY1RS?=
 =?utf-8?B?SFB3ZmVldkdWOVVTVEh6TlI1R3czR2hoR2VpRG8yTVhPSGIvWXBVa3pVNEJm?=
 =?utf-8?B?azRGL240bnNEYXMzM0R4V0VRdGZ1RXlEZFAydDQ3ampsZlJLN0hObjkzcGJt?=
 =?utf-8?B?WitDb3lHS0pvY3gxeHppNkMzOC9abnNsUG1vNHNIelIzckJBV2JFcEJ5Zk1x?=
 =?utf-8?B?ZnhENnhBd1E4WGRQWG8xUmdLZmc2eURLTGhjNGdYdmZ0N3ZJdVllRkVDVnBm?=
 =?utf-8?B?UUx0KzJacUFPZk45aXJSUGpYRk1mNFdhY3VuVURtQ1lzV3lKbE1DTmZOV3Jh?=
 =?utf-8?B?dlB3K3BURnRpN09nNUxKbW5rVklWUWUyckJEakcwUFA5QlNsM1prQ1pZVFlD?=
 =?utf-8?B?b3dZSURFZXdBVC93eDNUY1prcVdySHhkR2poWm1kamZxOVoxa0pyK3JsTVFo?=
 =?utf-8?B?cWo0RU44KzNRaS9JTFNGY0ZqQm5BV1JiRDRMcTZ4N2ZZLzlsMzZ5OElZUGVG?=
 =?utf-8?B?UlI2TnFOcXU5L1hpQWp4cjFmRTNvOENpMzRUMXpING9iVVVUUzl4SXplY1VX?=
 =?utf-8?Q?hJ61B0j0jTwikbve91n4TMM=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 635084c5-6ec3-4c99-f99c-08d9db5187db
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2022 13:42:26.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: CvujXcGZ34Ai0aW92G8D5ON8BnbN9g38H43YNB08n7/uBmmEUy3QZQBHebZx632Te6+F1GQ0PsDCJzF/ea3yfQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR0402MB3477

On 17.01.2022 19:34, Andrew Cooper wrote:
> --- a/xen/arch/x86/hvm/vmx/entry.S
> +++ b/xen/arch/x86/hvm/vmx/entry.S
> @@ -35,7 +35,14 @@ ENTRY(vmx_asm_vmexit_handler)
>  
>          /* SPEC_CTRL_ENTRY_FROM_VMX    Req: b=curr %rsp=regs/cpuinfo, Clob: acd */
>          ALTERNATIVE "", DO_OVERWRITE_RSB, X86_FEATURE_SC_RSB_HVM
> -        ALTERNATIVE "", DO_SPEC_CTRL_ENTRY_FROM_HVM, X86_FEATURE_SC_MSR_HVM
> +
> +        .macro restore_spec_ctrl
> +            mov    $MSR_SPEC_CTRL, %ecx
> +            movzbl CPUINFO_xen_spec_ctrl(%rsp), %eax
> +            xor    %edx, %edx
> +            wrmsr
> +        .endm
> +        ALTERNATIVE "", restore_spec_ctrl, X86_FEATURE_SC_MSR_HVM
>          /* WARNING! `ret`, `call *`, `jmp *` not safe before this point. */
>  
>          /* Hardware clears MSR_DEBUGCTL on VMExit.  Reinstate it if debugging Xen. */
> @@ -82,8 +89,7 @@ UNLIKELY_END(realmode)
>          mov VCPUMSR_spec_ctrl_raw(%rax), %eax
>  
>          /* WARNING! `ret`, `call *`, `jmp *` not safe beyond this point. */
> -        /* SPEC_CTRL_EXIT_TO_VMX   Req: a=spec_ctrl %rsp=regs/cpuinfo, Clob: cd */
> -        ALTERNATIVE "", DO_SPEC_CTRL_EXIT_TO_GUEST, X86_FEATURE_SC_MSR_HVM
> +        /* SPEC_CTRL_EXIT_TO_VMX   Req: %rsp=regs/cpuinfo              Clob:    */
>          ALTERNATIVE "", __stringify(verw CPUINFO_verw_sel(%rsp)), X86_FEATURE_SC_VERW_HVM

I notice you did update this clobber remark, but what about the one further
up in context?

> --- a/xen/arch/x86/include/asm/msr.h
> +++ b/xen/arch/x86/include/asm/msr.h
> @@ -287,7 +287,15 @@ extern struct msr_policy     raw_msr_policy,
>  /* Container object for per-vCPU MSRs */
>  struct vcpu_msrs
>  {
> -    /* 0x00000048 - MSR_SPEC_CTRL */
> +    /*
> +     * 0x00000048 - MSR_SPEC_CTRL
> +     *
> +     * For PV guests, this holds the guest kernel value.  It is accessed on
> +     * every entry/exit path.
> +     *
> +     * For VT-x guests, the guest value is held in the MSR guest load/save
> +     * list.
> +     */
>      struct {
>          uint32_t raw;
>      } spec_ctrl;

To stand a chance of noticing bad use of this field for VT-x guests, would
it make sense to store some sentinel value into this field for all involved
vCPU-s?

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 19 13:51:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 13:51:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258865.446314 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nABMg-0000hH-Ve; Wed, 19 Jan 2022 13:51:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258865.446314; Wed, 19 Jan 2022 13: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 1nABMg-0000hA-SF; Wed, 19 Jan 2022 13:51:06 +0000
Received: by outflank-mailman (input) for mailman id 258865;
 Wed, 19 Jan 2022 13:51:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uvFD=SD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nABMf-0000h4-5p
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 13:51:05 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d7f54450-792e-11ec-a115-11989b9578b4;
 Wed, 19 Jan 2022 14:51:04 +0100 (CET)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2053.outbound.protection.outlook.com [104.47.13.53]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-23-bCgevLqmNq6cOfmG-EaH-A-1; Wed, 19 Jan 2022 14:51:02 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DB9PR04MB9233.eurprd04.prod.outlook.com (2603:10a6:10:373::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.8; Wed, 19 Jan
 2022 13:51:00 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4888.014; Wed, 19 Jan 2022
 13:51:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d7f54450-792e-11ec-a115-11989b9578b4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642600263;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=CpC6hIhFyhNsB5EmZgPhkJi4wbmloz50+KsjrFaJzlU=;
	b=gDSmlukeLrudM/ysxp3tc1ZR1xfX41+SN36hiGr39XGxFVBnqjweNKK3Qz61UzOSzvwgVb
	x9/zoWIP6XE4TMZ6AgeKfHZYKxCNvuseuUF5imWkvSiG1Ixz/mK2EtmzWtzdZskjXPABtW
	CvzV0BrFE/qau4RGOYTLF8xVfemF+Oc=
X-MC-Unique: bCgevLqmNq6cOfmG-EaH-A-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iRWKfMzhyxrGZDJLzper9e1EB7nDPi526bI9cLTJG+VwdWFdh1spN//Arq4Aw8hzloi8ybBsU/cDNl+gN5ykknJ1AXtdy8BOuaTB6slS3exYUhBAs6RRRAXE2MWjZelQV7nXTbg0XiZWDLxkxGgXEByW3g3WMho/E6C0qWn09t+f1SInnqOy4RLSYBqPXjHdUMc3+KnycD1WavQrzcD6fRcJCfurikZGjYfNhkz5Ovxrdpu0KwPN/bdGps3em6/WwmWSsod1QcwKqx0OttwdVqVKPJIqEPFXClEhjf+b9B86YzkcxEZP0cEp0cWk9nX3HpZZVXX4O3rf1ODsjuIiww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CpC6hIhFyhNsB5EmZgPhkJi4wbmloz50+KsjrFaJzlU=;
 b=VKVQpxmbCjVvyv88mBSEvppl8grdpoG7ypY4OAO0VaJLQOu67+CneL2cyXnxtiG96Rt41YstXsN+QrQj9iiD8VK1m5JpJR6sjUwGHumdJ9Rc5rH59xAkNjcPDURQ8moVeenzdW85jxYdZHao/r1tI5v64AHYgVjyYFJymfeHwYkRxDBMJzn0FmYABDMLKu+aqzvartOwMmxZvngP0FwZgdrgGW8JodnpeJ/ET2tfECoi/kDISPDIEQ38DgCi0Cxykg8jf2A57uato0MRw8AqiyoHbSD88xAJKqYFCz1bgPRBHH1ERfFI6rXu5xjrkTxwpDv3Whpy/xIlemrJrGjVRA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <93ec9bab-0a21-365b-3bcd-0fbf70bdbbbb@suse.com>
Date: Wed, 19 Jan 2022 14:50:58 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v2 5/4] x86/hvm: Drop hvm_{get,set}_guest_bndcfgs() and
 use {get,set}_regs() instead
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
 Kevin Tian <kevin.tian@intel.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220117183415.11150-1-andrew.cooper3@citrix.com>
 <20220117192533.6048-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220117192533.6048-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR04CA0024.eurprd04.prod.outlook.com
 (2603:10a6:20b:92::37) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5c38ffca-7833-4676-6e00-08d9db52ba10
X-MS-TrafficTypeDiagnostic: DB9PR04MB9233:EE_
X-Microsoft-Antispam-PRVS:
	<DB9PR04MB92331FCFF05AE420DC4A9C21B3599@DB9PR04MB9233.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:
	GvEolbcqGJ8LyjiVibrDhJkRujXTqeTfcp4H+pKWbyorx5Hk6DPwt/nBoent6nlGJnOIk7m5c+NNuasAffiUNyZpdGgQiP3rwZUyXiPEnIt4kTQMOjfVjZwonl3SgLJdA3FjGYVs2htEseFnXn+a2bT04SUXL1hIU/PkCfyG+CrODONEZqHcFNbl6MYjEnGtLuv1P/gG9WmU+YphWRa1hZoh4Gc/jT4oADYiubasr9wTpUfEdMdvB6oNXCDSW8NxZ6Y8WPHjPRtbyFXeA8jhJYnEqp2+VM4FZg8zMpJV7rkfoHKiXz5hv1QRi6EhMpNLvOlDg6pnZedg9+8NOwno/qDVcsodQubEcXVpygM74relQ0PdRrYDZ46mJfuWZU1TXl3wlZyAM90suSwiab/uX+lXJTFy/5HLNgU8x5pE4Hl7V5PaBnWtwsvu+dUtjeTKvWL6oKJqT/7y37dSDGkvV/+g9KXV9Xdg7ZT8eMxrGbQdgz/TcSyOJJMXY8tI7FCBS7Od2TMJWF1szJ5s4NjZIKA+81GWaecqSRrzQSJf/G99or1Ob69Y+Bjh4fE3Mi8gPtKQ+80KAbFL5/qUOYD/jKicQ/9Iwt/MprY5oVVQ/Sy2quE1jCZDWiSeZsSJoBZoADSpHAZG7yVkbRBn86N4GLtYEE+caJBL57WxeYe8AVLUqDohxdA9pkDEzJpTkuin2e3f8TEv32m5f+64KuWKQQSaWLcfrHmNt3++sQyB2gc=
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)(6506007)(36756003)(53546011)(4326008)(2906002)(86362001)(6486002)(38100700002)(6512007)(6916009)(316002)(31696002)(54906003)(2616005)(66946007)(66476007)(66556008)(8676002)(508600001)(8936002)(26005)(5660300002)(83380400001)(31686004)(186003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z1JNUE5MdUJqd0V5VDc1Q0FEV0N6bWdrdGlsNndGZUtPaXVPRjQ1bWtTSk5W?=
 =?utf-8?B?UnRlNkl3TVhjY0tWWjlRTWdxa0w2TTAxMVBTcERPQnVDVDlMZU9MaFlONUVq?=
 =?utf-8?B?cm5HaFRHMEVWZFhuUmJZbVJ5QTJyRGxBZUM0UFFWV1V1a0Y5OUtwWWpRenpC?=
 =?utf-8?B?M1lHK3REOHdWenNNYUhHYmFxeEFmSHQwcm00MFFpZEpRUUhMTnZZNUJzY2h0?=
 =?utf-8?B?aEYreGovVHp1bCs0SHdLRDR4cmpvZUIreFUvT1pJaUtHcmMyc2pkSG9OQ2l0?=
 =?utf-8?B?VjVDcUp4VnV1R1IrSzFncnl5cnY1VmdsZmxlbVF3MnV5NVBEN0NObDRHVEJa?=
 =?utf-8?B?UHkvUVdXU08wRmp5UHJxWGNkRWZkSXVpTG9RaHhNazhKQXYxQ1BBcjA1SjhT?=
 =?utf-8?B?aXFDcTBPOWRtMGdQSVNwMjZEVnNnajJUTURaQjl3ZFVXWlZlSHozUjVEbDVH?=
 =?utf-8?B?TUN3MFVWQUxqRTF1dFNUS21BVnJVUXMzaDFOVVlBQnhPc2ZVR2wzREpvOGYw?=
 =?utf-8?B?eE51NDVMN2QwSjgzZldRekpGVjNhb1djUDVhM011WTRxLzJLMGdWNm1xalBr?=
 =?utf-8?B?TUlHdE9IWXMvTmtMeVVEVVBQajJ1T1BLVkhJME1PSktRY082UWVHSC94UHVv?=
 =?utf-8?B?ak1wSTk0NFpuRHVrN25sV1lJZ2JGN1FpaG0vRWhRU1VoM3pLVStzNklzT2gz?=
 =?utf-8?B?YUFmaGhaRGZ3Vk13Vjl4YnpEdk9pWHJhQkMrL3hoeUpqVEs2RGx2cGZPWlR4?=
 =?utf-8?B?S3NUVTVINUprdGppRU1YODlsdkZZYzkrT2FsaE9yelJQWnZxdm1HenNOUjBX?=
 =?utf-8?B?ZlgvTDY2ZlBmeWpXOTdTSmNVZmRpNzJ1VC8zSmIzOEJhZEZSNjJTamR3UEJ3?=
 =?utf-8?B?N3EwWTZOOFk0U1Q0ODVDQkxYTlBSYU16OE9WVkxobkZKT0Z1MDFqNXErMXFD?=
 =?utf-8?B?bmlOdjlYN0lxVEJudmJabnd5eUZHR2dyVHV3QmZXYVRnV3U2M3JscUpkckkw?=
 =?utf-8?B?Sk5sZGhLU1hWV0pmaU9MRnBMVVg1N3JnWUNxUGVHQ1htYTRrWG45dnRpTUcy?=
 =?utf-8?B?bWlJWUVuVFJWVVVxclZEaGYwVktwMi9haExjL1QwYXZGZnFyNVFacWRINzAw?=
 =?utf-8?B?RUJkM2tySTVRNm0wdnE5SGFNbWJVZXlEbHg2dU8rRWNGcXN2eExUTkxjM3JU?=
 =?utf-8?B?djB6Mk0vcUZSd3ZzSXNXbW56czI3VVRHWFJESlkrWGFmMWpLaGp0SUxtSWdP?=
 =?utf-8?B?SDBpb0REdVA3c09WV2pyZ0VKT2RpYU8vOG4ySmt2S1M2Z3VOai8rb25EbjRP?=
 =?utf-8?B?ekJ3bjBWaHg1a0hvWWpCc1FLUHNYQjlLNkRiaWs2TUM4R2QvSkxsRlEzL2px?=
 =?utf-8?B?TkhOaC9wczVxbkJXWDEwcHVPZDltMUlNQ0JWdW9XQlRHVGdwUmpvRU5nZ0ph?=
 =?utf-8?B?NUhEdjI0THh2M2hSUFQ3d3lRcDdUM2FRY2VXcVdTTjc4ZXpBMkZRbVVWTFVj?=
 =?utf-8?B?ZUlrRWEySG1ZMjlXUGRDaWNxRk5waUNrMHVGK3A5ZVJkM2I5ckExTWhLVjlJ?=
 =?utf-8?B?VVRRVHY0UFVwa2FoaVloTDUxWmh5RXNXYWJpZlBPc2RpeGdxTGFrVlZZNThX?=
 =?utf-8?B?UWt1cTJ0YUJEa3FVVHJwWFd1T3kveGdrNG9LdWRrTXViZ254RzMrNTkzYlRG?=
 =?utf-8?B?emFNSjJvV3A4azdtVGhXdWFTbkE3R1RXaFlqOS9lTDlGV280QzhGMnNTQ3lq?=
 =?utf-8?B?djczaUNwaURPeUJkTlNrckE4UzJQMmhSVE9aNlE4NzZINFl4Q2ttMEJlbElH?=
 =?utf-8?B?TkpwRWR4VVZta2svVzFFNk9oYW5Daks3M3dSc3lLTjNZNXcxcHhpUmtPRGVR?=
 =?utf-8?B?VWRGajZzU0dqL1BQVDdCOFViNlN4UUt3S0FZUlBLOEYyTkY4OXhma3l2djNJ?=
 =?utf-8?B?dm5kTFFsdTQ0VDJyRVFudmppRTdnWCtsMU55Slk2clduUDEzYmZXYk9JRnlL?=
 =?utf-8?B?SzNzd2M5QnprWkd4WEI3UzFvOGo2U1NnVGlUdHVHM0ducjRmUHJtUURzRS94?=
 =?utf-8?B?T1o3aThjNE85cjEraXZaT01OUmFDTlNEV09ONWVrRXFFZEVLTEVEQ21MbStx?=
 =?utf-8?B?U3g1dElkSjNkTTU3bXBHc0xvK1g2S2FYOFJGY3JPZnFOeE5Zc3JGZDdxa3J5?=
 =?utf-8?Q?oY87xn6tkxTcWFw952U3hSU=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5c38ffca-7833-4676-6e00-08d9db52ba10
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2022 13:51:00.6355
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0gHRZUu8hH23lq1mcjBnAasRPFwyXyaZG2NLcovQfsWBgukstM0lCuGcCfyAvwXnFkJdSBuPNF9YnCIKRpBiwg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9233

On 17.01.2022 20:25, Andrew Cooper wrote:
> hvm_{get,set}_guest_bndcfgs() are thin wrappers around accessing MSR_BNDCFGS.
> 
> MPX was implemented on Skylake uarch CPUs and dropped in subsequent CPUs, and
> is disabled by default in Xen VMs.
> 
> It would be nice to move all the logic into vmx_msr_{read,write}_intercept(),
> but the common HVM migration code uses guest_{rd,wr}msr().  Therefore, use
> {get,set}_regs() to reduce the quantity of "common" HVM code.
> 
> In lieu of having hvm_set_guest_bndcfgs() split out, use some #ifdef
> CONFIG_HVM in guest_wrmsr().  In vmx_{get,set}_regs(), split the switch
> statements into two depending on whether the require remote VMCS acquisition
> or not.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

One remark:

> @@ -323,10 +324,9 @@ int guest_rdmsr(struct vcpu *v, uint32_t msr, uint64_t *val)
>          break;
>  
>      case MSR_IA32_BNDCFGS:
> -        if ( !cp->feat.mpx || !is_hvm_domain(d) ||
> -             !hvm_get_guest_bndcfgs(v, val) )
> +        if ( !cp->feat.mpx ) /* Implies Intel HVM only */

Wouldn't it make sense to accompany this comment by ...

>              goto gp_fault;
> -        break;

    ASSERT(is_hvm_domain(d));

(and then the same on the "set" path)?

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 19 14:47:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 14:47:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258874.446341 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nACF3-0006Hb-Id; Wed, 19 Jan 2022 14:47:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258874.446341; Wed, 19 Jan 2022 14: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 1nACF3-0006HU-FH; Wed, 19 Jan 2022 14:47:17 +0000
Received: by outflank-mailman (input) for mailman id 258874;
 Wed, 19 Jan 2022 14:47: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 1nACF2-0006HK-93; Wed, 19 Jan 2022 14:47: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 1nACF2-0006Wf-6i; Wed, 19 Jan 2022 14:47: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 1nACF1-0001cv-Qy; Wed, 19 Jan 2022 14:47:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nACF1-0004ep-QX; Wed, 19 Jan 2022 14:47: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=YQWrdu3QyvACbAKPurbDkiWs02CkiqPRJjWiBXHIw48=; b=mEwKZjb/VRHfYiJocnszFSno+f
	un/D3LrKFgivyFMZ0xItdDxdGjn/JhdTw5/Q7ez6sf7df/mnjX51Ywg9BAITKTZKduFmFv5HypEVR
	Im64GZtGbw8qDKL4L/p3jjYsKRKTN6Y6GWbYaPepALMhjyjRz824ddluzwMQSARrks3U=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167743-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167743: 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-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-armhf-armhf-libvirt: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-armhf-armhf-libvirt-qcow2: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-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-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=444597436d08ccae6d210a2b1b877fef636796ea
X-Osstest-Versions-That:
    xen=ad47bc9a9742e73bea97ae791f66adf1caecaa63
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 19 Jan 2022 14:47:15 +0000

flight 167743 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167743/

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 167736
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167736
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167736
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167736
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167736
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167736
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167736
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167736
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167736
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167736
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167736
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167736
 test-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-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          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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-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-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  444597436d08ccae6d210a2b1b877fef636796ea
baseline version:
 xen                  ad47bc9a9742e73bea97ae791f66adf1caecaa63

Last test of basis   167736  2022-01-18 13:33:46 Z    1 days
Testing same since   167743  2022-01-19 02:54:59 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.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                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   ad47bc9a97..444597436d  444597436d08ccae6d210a2b1b877fef636796ea -> master


From xen-devel-bounces@lists.xenproject.org Wed Jan 19 15:33:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 15:33:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258881.446352 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nACxW-0002sS-4i; Wed, 19 Jan 2022 15:33:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258881.446352; Wed, 19 Jan 2022 15:33:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nACxW-0002sL-1S; Wed, 19 Jan 2022 15:33:14 +0000
Received: by outflank-mailman (input) for mailman id 258881;
 Wed, 19 Jan 2022 15:33:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qd5e=SD=ionos.com=jinpu.wang@srs-se1.protection.inumbo.net>)
 id 1nACxU-0002sF-To
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 15:33:12 +0000
Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com
 [2a00:1450:4864:20::52f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1b8f90c0-793d-11ec-bc18-3156f6d857e4;
 Wed, 19 Jan 2022 16:33:11 +0100 (CET)
Received: by mail-ed1-x52f.google.com with SMTP id p12so13780498edq.9
 for <xen-devel@lists.xenproject.org>; Wed, 19 Jan 2022 07:33:10 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1b8f90c0-793d-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=ionos.com; s=google;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=4ls4oJs6fjZ2al5mHDHmAP430pKGIHTChze7QOzvid0=;
        b=RkLog8m2MYBMRLjnz/lmwOPkWvyatJOpnc2C+SFqCB8A5+CgOtZNqgIcBiMLkIoMyh
         gEr8s1UGmpgpAGNwUfZNYyRI9qEflB+nBcS9X+xsueK5rC4Ez4sCexRGgPhN4+3TFriB
         ojHLQx/So9q0DEpS6wCB+RQONR2hQN+ZDAFsafTmgU6TGyrFxA/6lV1xY4IJet52lmjl
         bSyn079RsjIcJeBi+nhFSujNuqtCPXIfKFb/dYwAiTdrCxy5wjkDmXd+/ZabmuFSO4A1
         5WQvp91C0WXDM8k7HDlkHelCzGm9OlpjE9UBZJN4WZKlgYFI7B59vtkfpfd/tSS650gp
         aHmw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=4ls4oJs6fjZ2al5mHDHmAP430pKGIHTChze7QOzvid0=;
        b=x2iOIzhaTgVhLpYHnSK4u8S0tabiH+6TDtM33gx080Iw8DwmF2SkQRJdXFIEHXnAux
         N1/C5ruYvgiWb/BLkb1cNmCqOM5caC764L1Q8LKorhxJT2ZQ0+yvDlWm8ZUoypAkPk8a
         pe+kP5+MERbyV1t3LYFAwkrhMsJwtP5u6yNYfZToO5TZYzdJdcspSfutVXbQtsVCwbNb
         Hq/su9A/YO5hxjlfEK9XCZvuIAgWj3OfqdamuiS7Bo+suH/0C9cWsGdySO0YCNgcEKet
         IEiTouyAut7NX36E5p8UTIOJYAx459vtZ9fmDcq1YxbDluA5ZpvtQMVKTaVsfu6G3Mxw
         MmfQ==
X-Gm-Message-State: AOAM530MVwJCOGs5JM+p9B0gXutJ9i7Wow5xQ508Xcmo4pa6UhHPBEN5
	lKLQcr/Mi7FBi0UIhsdMW3tv8+jIwV0+8Y0dHPr+qQ==
X-Google-Smtp-Source: ABdhPJxQu27Nzc9iLtmZju+JlEp2t2xBOVP/vALHsIADO5/2M/D93HCsSqLZHtj0tHiYz0k26Hu4vZztU4HAIUpxob0=
X-Received: by 2002:a05:6402:195:: with SMTP id r21mr30344219edv.174.1642606389887;
 Wed, 19 Jan 2022 07:33:09 -0800 (PST)
MIME-Version: 1.0
References: <20220118071952.1243143-1-hch@lst.de> <20220118071952.1243143-12-hch@lst.de>
In-Reply-To: <20220118071952.1243143-12-hch@lst.de>
From: Jinpu Wang <jinpu.wang@ionos.com>
Date: Wed, 19 Jan 2022 16:32:58 +0100
Message-ID: <CAMGffE=gbN_oxdvzBdX66CaEPKQr6oc1TS1mf8GVz39e5Jme7Q@mail.gmail.com>
Subject: Re: [PATCH 11/19] rnbd-src: remove struct rnbd_dev_blk_io
To: Christoph Hellwig <hch@lst.de>
Cc: Jens Axboe <axboe@kernel.dk>, Pavel Begunkov <asml.silence@gmail.com>, 
	Mike Snitzer <snitzer@redhat.com>, Ryusuke Konishi <konishi.ryusuke@gmail.com>, 
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>, 
	Andrew Morton <akpm@linux-foundation.org>, "Md . Haris Iqbal" <haris.iqbal@ionos.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.co>, 
	Philipp Reisner <philipp.reisner@linbit.com>, Lars Ellenberg <lars.ellenberg@linbit.com>, 
	linux-block@vger.kernel.org, dm-devel@redhat.com, 
	linux-fsdevel@vger.kernel.org, linux-nfs@vger.kernel.org, 
	linux-nilfs@vger.kernel.org, ntfs3@lists.linux.dev, 
	xen-devel@lists.xenproject.org, drbd-dev@lists.linbit.com
Content-Type: text/plain; charset="UTF-8"

On Tue, Jan 18, 2022 at 8:20 AM Christoph Hellwig <hch@lst.de> wrote:
>
> Only the priv field of rnbd_dev_blk_io is used, so store the value of
> that in bio->bi_private directly and remove the entire bio_set overhead.
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
there is one typo in the subject line, should be rnbd-srv.
> ---
>  drivers/block/rnbd/rnbd-srv-dev.c |  4 +---
>  drivers/block/rnbd/rnbd-srv-dev.h | 13 ++-----------
>  drivers/block/rnbd/rnbd-srv.c     | 30 +++++-------------------------
>  drivers/block/rnbd/rnbd-srv.h     |  1 -
>  4 files changed, 8 insertions(+), 40 deletions(-)
>
> diff --git a/drivers/block/rnbd/rnbd-srv-dev.c b/drivers/block/rnbd/rnbd-srv-dev.c
> index 98d3e591a0885..c5d0a03911659 100644
> --- a/drivers/block/rnbd/rnbd-srv-dev.c
> +++ b/drivers/block/rnbd/rnbd-srv-dev.c
> @@ -12,8 +12,7 @@
>  #include "rnbd-srv-dev.h"
>  #include "rnbd-log.h"
>
> -struct rnbd_dev *rnbd_dev_open(const char *path, fmode_t flags,
> -                              struct bio_set *bs)
> +struct rnbd_dev *rnbd_dev_open(const char *path, fmode_t flags)
>  {
>         struct rnbd_dev *dev;
>         int ret;
> @@ -30,7 +29,6 @@ struct rnbd_dev *rnbd_dev_open(const char *path, fmode_t flags,
>
>         dev->blk_open_flags = flags;
>         bdevname(dev->bdev, dev->name);
> -       dev->ibd_bio_set = bs;
>
>         return dev;
>
> diff --git a/drivers/block/rnbd/rnbd-srv-dev.h b/drivers/block/rnbd/rnbd-srv-dev.h
> index 1a14ece0be726..2c3df02b5e8ec 100644
> --- a/drivers/block/rnbd/rnbd-srv-dev.h
> +++ b/drivers/block/rnbd/rnbd-srv-dev.h
> @@ -14,25 +14,16 @@
>
>  struct rnbd_dev {
>         struct block_device     *bdev;
> -       struct bio_set          *ibd_bio_set;
>         fmode_t                 blk_open_flags;
>         char                    name[BDEVNAME_SIZE];
>  };
>
> -struct rnbd_dev_blk_io {
> -       struct rnbd_dev *dev;
> -       void             *priv;
> -       /* have to be last member for front_pad usage of bioset_init */
> -       struct bio      bio;
> -};
> -
>  /**
>   * rnbd_dev_open() - Open a device
> + * @path:      path to open
>   * @flags:     open flags
> - * @bs:                bio_set to use during block io,
>   */
> -struct rnbd_dev *rnbd_dev_open(const char *path, fmode_t flags,
> -                              struct bio_set *bs);
> +struct rnbd_dev *rnbd_dev_open(const char *path, fmode_t flags);
>
>  /**
>   * rnbd_dev_close() - Close a device
> diff --git a/drivers/block/rnbd/rnbd-srv.c b/drivers/block/rnbd/rnbd-srv.c
> index 65c670e96075b..b1ac1414b56d5 100644
> --- a/drivers/block/rnbd/rnbd-srv.c
> +++ b/drivers/block/rnbd/rnbd-srv.c
> @@ -116,9 +116,7 @@ rnbd_get_sess_dev(int dev_id, struct rnbd_srv_session *srv_sess)
>
>  static void rnbd_dev_bi_end_io(struct bio *bio)
>  {
> -       struct rnbd_dev_blk_io *io = bio->bi_private;
> -
> -       rnbd_endio(io->priv, blk_status_to_errno(bio->bi_status));
> +       rnbd_endio(bio->bi_private, blk_status_to_errno(bio->bi_status));
>         bio_put(bio);
>  }
>
> @@ -131,7 +129,6 @@ static int process_rdma(struct rnbd_srv_session *srv_sess,
>         struct rnbd_srv_sess_dev *sess_dev;
>         u32 dev_id;
>         int err;
> -       struct rnbd_dev_blk_io *io;
>         struct bio *bio;
>         short prio;
>
> @@ -152,20 +149,16 @@ static int process_rdma(struct rnbd_srv_session *srv_sess,
>         priv->sess_dev = sess_dev;
>         priv->id = id;
>
> -       bio = bio_alloc_bioset(GFP_KERNEL, 1, sess_dev->rnbd_dev->ibd_bio_set);
> +       bio = bio_alloc(GFP_KERNEL, 1);
>         if (bio_add_page(bio, virt_to_page(data), datalen,
>                         offset_in_page(data))) {
>                 rnbd_srv_err(sess_dev, "Failed to map data to bio\n");
>                 err = -EINVAL;
> -               goto sess_dev_put;
> +               goto bio_put;
ok, bio_put is used here, I think it's better the move to patch 10.
>         }
>
> -       io = container_of(bio, struct rnbd_dev_blk_io, bio);
> -       io->dev = sess_dev->rnbd_dev;
> -       io->priv = priv;
> -
>         bio->bi_end_io = rnbd_dev_bi_end_io;
> -       bio->bi_private = io;
> +       bio->bi_private = priv;
>         bio->bi_opf = rnbd_to_bio_flags(le32_to_cpu(msg->rw));
>         bio->bi_iter.bi_sector = le64_to_cpu(msg->sector);
>         bio->bi_iter.bi_size = le32_to_cpu(msg->bi_size);
> @@ -180,7 +173,6 @@ static int process_rdma(struct rnbd_srv_session *srv_sess,
>
>  bio_put:
>         bio_put(bio);
> -sess_dev_put:
>         rnbd_put_sess_dev(sess_dev);
>  err:
>         kfree(priv);
> @@ -261,7 +253,6 @@ static void destroy_sess(struct rnbd_srv_session *srv_sess)
>
>  out:
>         xa_destroy(&srv_sess->index_idr);
> -       bioset_exit(&srv_sess->sess_bio_set);
>
>         pr_info("RTRS Session %s disconnected\n", srv_sess->sessname);
>
> @@ -290,16 +281,6 @@ static int create_sess(struct rtrs_srv_sess *rtrs)
>                 return -ENOMEM;
>
>         srv_sess->queue_depth = rtrs_srv_get_queue_depth(rtrs);
> -       err = bioset_init(&srv_sess->sess_bio_set, srv_sess->queue_depth,
> -                         offsetof(struct rnbd_dev_blk_io, bio),
> -                         BIOSET_NEED_BVECS);
> -       if (err) {
> -               pr_err("Allocating srv_session for path %s failed\n",
> -                      pathname);
> -               kfree(srv_sess);
> -               return err;
> -       }
> -
>         xa_init_flags(&srv_sess->index_idr, XA_FLAGS_ALLOC);
>         INIT_LIST_HEAD(&srv_sess->sess_dev_list);
>         mutex_init(&srv_sess->lock);
> @@ -748,8 +729,7 @@ static int process_msg_open(struct rnbd_srv_session *srv_sess,
>                 goto reject;
>         }
>
> -       rnbd_dev = rnbd_dev_open(full_path, open_flags,
> -                                &srv_sess->sess_bio_set);
> +       rnbd_dev = rnbd_dev_open(full_path, open_flags);
>         if (IS_ERR(rnbd_dev)) {
>                 pr_err("Opening device '%s' on session %s failed, failed to open the block device, err: %ld\n",
>                        full_path, srv_sess->sessname, PTR_ERR(rnbd_dev));
> diff --git a/drivers/block/rnbd/rnbd-srv.h b/drivers/block/rnbd/rnbd-srv.h
> index e5604bce123ab..be2ae486d407e 100644
> --- a/drivers/block/rnbd/rnbd-srv.h
> +++ b/drivers/block/rnbd/rnbd-srv.h
> @@ -23,7 +23,6 @@ struct rnbd_srv_session {
>         struct rtrs_srv_sess    *rtrs;
>         char                    sessname[NAME_MAX];
>         int                     queue_depth;
> -       struct bio_set          sess_bio_set;
>
>         struct xarray           index_idr;
>         /* List of struct rnbd_srv_sess_dev */
> --
> 2.30.2
>
with it fixed,  the patch looks good to me.

Thanks!


From xen-devel-bounces@lists.xenproject.org Wed Jan 19 16:04:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 16:04:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258887.446363 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nADRg-0006mR-Ok; Wed, 19 Jan 2022 16:04:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258887.446363; Wed, 19 Jan 2022 16:04:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nADRg-0006mK-La; Wed, 19 Jan 2022 16:04:24 +0000
Received: by outflank-mailman (input) for mailman id 258887;
 Wed, 19 Jan 2022 16:04:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nADRf-0006mA-Ba; Wed, 19 Jan 2022 16:04:23 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nADRf-0008Qr-9g; Wed, 19 Jan 2022 16:04:23 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nADRf-0004dg-0B; Wed, 19 Jan 2022 16:04:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nADRe-0005GY-Vv; Wed, 19 Jan 2022 16:04:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=LlDeh7vPAaYzKzEDgS97sS4zCny05v3TMw31QWMf9Vw=; b=sm4I0Y4EH+IuCwDrTPfHfpVVTe
	4KSP/wBbudOVZH1odkr0tiDVmdwYF9zucaymVbe6Gg10jGQOhZOpKASZCuaCuID/bB7YZSAZZw0ya
	WYFTllXeDn0IXX4Rx91A85hi02dbNLymVN0NdSkK6HopyMdP8YtAWJPkBuUf7asIDVLE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167748-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 167748: 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=2fc98a9587704b3cdedfe3ae2a6104e7d9e251bd
X-Osstest-Versions-That:
    xen=444597436d08ccae6d210a2b1b877fef636796ea
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 19 Jan 2022 16:04:22 +0000

flight 167748 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167748/

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                  2fc98a9587704b3cdedfe3ae2a6104e7d9e251bd
baseline version:
 xen                  444597436d08ccae6d210a2b1b877fef636796ea

Last test of basis   167740  2022-01-18 18:01:37 Z    0 days
Testing same since   167748  2022-01-19 13:00:35 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexander Monakov <amonakov@ispras.ru>
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
  Chen Yu <yu.c.chen@intel.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Zhang Rui <rui.zhang@intel.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
   444597436d..2fc98a9587  2fc98a9587704b3cdedfe3ae2a6104e7d9e251bd -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Jan 19 16:53:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 16:53:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258896.446377 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAECs-0003MP-HO; Wed, 19 Jan 2022 16:53:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258896.446377; Wed, 19 Jan 2022 16:53:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAECs-0003MI-DI; Wed, 19 Jan 2022 16:53:10 +0000
Received: by outflank-mailman (input) for mailman id 258896;
 Wed, 19 Jan 2022 16:53:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=VeFE=SD=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1nAECr-0003MC-Ow
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 16:53:09 +0000
Received: from ppsw-33.csi.cam.ac.uk (ppsw-33.csi.cam.ac.uk [131.111.8.133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 46d65d45-7948-11ec-bc18-3156f6d857e4;
 Wed, 19 Jan 2022 17:53:08 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:49288)
 by ppsw-33.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.137]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1nAECk-000X2x-g5 (Exim 4.95) (return-path <amc96@srcf.net>);
 Wed, 19 Jan 2022 16:53:02 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id B31221FC25;
 Wed, 19 Jan 2022 16:53:01 +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: 46d65d45-7948-11ec-bc18-3156f6d857e4
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <00b2e4ee-eb60-d336-b9af-04e410fdc5e2@srcf.net>
Date: Wed, 19 Jan 2022 16:53:01 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
 Kevin Tian <kevin.tian@intel.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220117183415.11150-1-andrew.cooper3@citrix.com>
 <20220117192533.6048-1-andrew.cooper3@citrix.com>
 <93ec9bab-0a21-365b-3bcd-0fbf70bdbbbb@suse.com>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: [PATCH v2 5/4] x86/hvm: Drop hvm_{get,set}_guest_bndcfgs() and
 use {get,set}_regs() instead
In-Reply-To: <93ec9bab-0a21-365b-3bcd-0fbf70bdbbbb@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 19/01/2022 13:50, Jan Beulich wrote:
> On 17.01.2022 20:25, Andrew Cooper wrote:
>> hvm_{get,set}_guest_bndcfgs() are thin wrappers around accessing MSR_BNDCFGS.
>>
>> MPX was implemented on Skylake uarch CPUs and dropped in subsequent CPUs, and
>> is disabled by default in Xen VMs.
>>
>> It would be nice to move all the logic into vmx_msr_{read,write}_intercept(),
>> but the common HVM migration code uses guest_{rd,wr}msr().  Therefore, use
>> {get,set}_regs() to reduce the quantity of "common" HVM code.
>>
>> In lieu of having hvm_set_guest_bndcfgs() split out, use some #ifdef
>> CONFIG_HVM in guest_wrmsr().  In vmx_{get,set}_regs(), split the switch
>> statements into two depending on whether the require remote VMCS acquisition
>> or not.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>
> One remark:
>
>> @@ -323,10 +324,9 @@ int guest_rdmsr(struct vcpu *v, uint32_t msr, uint64_t *val)
>>          break;
>>  
>>      case MSR_IA32_BNDCFGS:
>> -        if ( !cp->feat.mpx || !is_hvm_domain(d) ||
>> -             !hvm_get_guest_bndcfgs(v, val) )
>> +        if ( !cp->feat.mpx ) /* Implies Intel HVM only */
> Wouldn't it make sense to accompany this comment by ...
>
>>              goto gp_fault;
>> -        break;
>     ASSERT(is_hvm_domain(d));
>
> (and then the same on the "set" path)?

So this is the reason for the default logic in the {get,set}_reg()
path.  The absence of MSR_BNDCFGS in the PV and SVM paths will cause the
VM to be crashed cleanly.  If you're on a VMX on a non-MPX capable
system, the VMREAD/VMWRITE will hit a BUG (which in due course I want to
downgrade to a domain crash).

It's a bit more friendly than an ASSERT() (doesn't take the system
down), is present in release builds too, and more precise as it excludes
SVM too.

~Andrew

P.S. I'm still trying to decide on an acceptable name to hide {
ASSERT_UNREACHABLE(); gprink(); domain_crash() } behind, so we can
downgrade more BUG()/etc to more runtime-friendly options.


From xen-devel-bounces@lists.xenproject.org Wed Jan 19 17:01:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 17:01:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258900.446388 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAEKd-0004nr-AP; Wed, 19 Jan 2022 17:01:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258900.446388; Wed, 19 Jan 2022 17:01:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAEKd-0004nk-7U; Wed, 19 Jan 2022 17:01:11 +0000
Received: by outflank-mailman (input) for mailman id 258900;
 Wed, 19 Jan 2022 17:01:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=VeFE=SD=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1nAEKb-0004ne-Si
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 17:01:09 +0000
Received: from ppsw-43.csi.cam.ac.uk (ppsw-43.csi.cam.ac.uk [131.111.8.143])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 64135b87-7949-11ec-8fa7-f31e035a9116;
 Wed, 19 Jan 2022 18:01:08 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:52442)
 by ppsw-43.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.139]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1nAEKR-000GO8-pV (Exim 4.95) (return-path <amc96@srcf.net>);
 Wed, 19 Jan 2022 17:00:59 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id AC8E11FC61;
 Wed, 19 Jan 2022 17:00:59 +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: 64135b87-7949-11ec-8fa7-f31e035a9116
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <74c2961b-29e1-9641-8a8b-b7cb0598b7be@srcf.net>
Date: Wed, 19 Jan 2022 17:00:59 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
 Kevin Tian <kevin.tian@intel.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220117183415.11150-1-andrew.cooper3@citrix.com>
 <20220117183415.11150-5-andrew.cooper3@citrix.com>
 <3395e756-fa47-8d94-148a-03a573331e5a@suse.com>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: [PATCH v2 4/4] x86/spec-ctrl: Fix NMI race condition with VT-x
 MSR_SPEC_CTRL handling
In-Reply-To: <3395e756-fa47-8d94-148a-03a573331e5a@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 19/01/2022 13:42, Jan Beulich wrote:
> On 17.01.2022 19:34, Andrew Cooper wrote:
>> --- a/xen/arch/x86/hvm/vmx/entry.S
>> +++ b/xen/arch/x86/hvm/vmx/entry.S
>> @@ -35,7 +35,14 @@ ENTRY(vmx_asm_vmexit_handler)
>>  
>>          /* SPEC_CTRL_ENTRY_FROM_VMX    Req: b=curr %rsp=regs/cpuinfo, Clob: acd */
>>          ALTERNATIVE "", DO_OVERWRITE_RSB, X86_FEATURE_SC_RSB_HVM
>> -        ALTERNATIVE "", DO_SPEC_CTRL_ENTRY_FROM_HVM, X86_FEATURE_SC_MSR_HVM
>> +
>> +        .macro restore_spec_ctrl
>> +            mov    $MSR_SPEC_CTRL, %ecx
>> +            movzbl CPUINFO_xen_spec_ctrl(%rsp), %eax
>> +            xor    %edx, %edx
>> +            wrmsr
>> +        .endm
>> +        ALTERNATIVE "", restore_spec_ctrl, X86_FEATURE_SC_MSR_HVM
>>          /* WARNING! `ret`, `call *`, `jmp *` not safe before this point. */
>>  
>>          /* Hardware clears MSR_DEBUGCTL on VMExit.  Reinstate it if debugging Xen. */
>> @@ -82,8 +89,7 @@ UNLIKELY_END(realmode)
>>          mov VCPUMSR_spec_ctrl_raw(%rax), %eax
>>  
>>          /* WARNING! `ret`, `call *`, `jmp *` not safe beyond this point. */
>> -        /* SPEC_CTRL_EXIT_TO_VMX   Req: a=spec_ctrl %rsp=regs/cpuinfo, Clob: cd */
>> -        ALTERNATIVE "", DO_SPEC_CTRL_EXIT_TO_GUEST, X86_FEATURE_SC_MSR_HVM
>> +        /* SPEC_CTRL_EXIT_TO_VMX   Req: %rsp=regs/cpuinfo              Clob:    */
>>          ALTERNATIVE "", __stringify(verw CPUINFO_verw_sel(%rsp)), X86_FEATURE_SC_VERW_HVM
> I notice you did update this clobber remark, but what about the one further
> up in context?

What about it?  It still clobbers %eax, %ecx and %edx.

>> --- a/xen/arch/x86/include/asm/msr.h
>> +++ b/xen/arch/x86/include/asm/msr.h
>> @@ -287,7 +287,15 @@ extern struct msr_policy     raw_msr_policy,
>>  /* Container object for per-vCPU MSRs */
>>  struct vcpu_msrs
>>  {
>> -    /* 0x00000048 - MSR_SPEC_CTRL */
>> +    /*
>> +     * 0x00000048 - MSR_SPEC_CTRL
>> +     *
>> +     * For PV guests, this holds the guest kernel value.  It is accessed on
>> +     * every entry/exit path.
>> +     *
>> +     * For VT-x guests, the guest value is held in the MSR guest load/save
>> +     * list.
>> +     */
>>      struct {
>>          uint32_t raw;
>>      } spec_ctrl;
> To stand a chance of noticing bad use of this field for VT-x guests, would
> it make sense to store some sentinel value into this field for all involved
> vCPU-s?

The usage is going to get more complicated before we're done.  I'd like
to wait until the churn reduces before applying invariants like that.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Jan 19 18:00:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 18:00:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258903.446399 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAFFs-0002G7-Kp; Wed, 19 Jan 2022 18:00:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258903.446399; Wed, 19 Jan 2022 18: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 1nAFFs-0002G0-HU; Wed, 19 Jan 2022 18:00:20 +0000
Received: by outflank-mailman (input) for mailman id 258903;
 Wed, 19 Jan 2022 18:00:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=VeFE=SD=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1nAFFq-0002Fu-PP
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 18:00:18 +0000
Received: from ppsw-43.csi.cam.ac.uk (ppsw-43.csi.cam.ac.uk [131.111.8.143])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a653c8c1-7951-11ec-bc18-3156f6d857e4;
 Wed, 19 Jan 2022 19:00:15 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:52462)
 by ppsw-43.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.139]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1nAFFg-000SwA-pL (Exim 4.95) (return-path <amc96@srcf.net>);
 Wed, 19 Jan 2022 18:00:08 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 9BBE11FA77;
 Wed, 19 Jan 2022 18:00:08 +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: a653c8c1-7951-11ec-bc18-3156f6d857e4
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <fe416bfa-9f10-229f-1786-10c95cbcd05c@srcf.net>
Date: Wed, 19 Jan 2022 18:00:08 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
 Kevin Tian <kevin.tian@intel.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220117183415.11150-1-andrew.cooper3@citrix.com>
 <20220117183415.11150-2-andrew.cooper3@citrix.com>
 <752485db-deec-1011-f65a-d277fc3e404a@suse.com>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: [PATCH v2 1/4] x86/guest: Introduce {get,set}_reg()
 infrastructure
In-Reply-To: <752485db-deec-1011-f65a-d277fc3e404a@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 19/01/2022 13:28, Jan Beulich wrote:
> On 17.01.2022 19:34, Andrew Cooper wrote:
>> --- a/xen/arch/x86/hvm/hvm.c
>> +++ b/xen/arch/x86/hvm/hvm.c
>> @@ -3744,6 +3744,28 @@ int hvm_msr_write_intercept(unsigned int msr, uint64_t msr_content,
>>      return X86EMUL_EXCEPTION;
>>  }
>>  
>> +uint64_t hvm_get_reg(struct vcpu *v, unsigned int reg)
>> +{
>> +    ASSERT(v == current || !vcpu_runnable(v));
>> +
>> +    switch ( reg )
>> +    {
>> +    default:
>> +        return alternative_call(hvm_funcs.get_reg, v, reg);
>> +    }
>> +}
>> +
>> +void hvm_set_reg(struct vcpu *v, unsigned int reg, uint64_t val)
>> +{
>> +    ASSERT(v == current || !vcpu_runnable(v));
>> +
>> +    switch ( reg )
>> +    {
>> +    default:
>> +        return alternative_vcall(hvm_funcs.set_reg, v, reg, val);
> I'm inclined to ask to drop "return" from here.

It's a tossup between this, and a following break.  I was guestimating
based on the subsequent patches, because there is isn't a plausible use
for common logic following the switch statement.

> Also, for both functions, without it being clear for what kind of
> registers beyond MSRs this may want using down the road, I wonder
> whether uint64_t is actually wide enough.

The tsc scaling/offset registers will probably be the easiest to move,
because they're driven almost exclusively from common code. 
nhvm_vcpu_p2m_base() too, because it is only read, and is trivial.

cr2 would be easy example, except it's probably not useful to split out
of the general cr paths.

Another MSR example which is simple to move (and drop hooks) is
get_shadow_gs_base().


The segment registers are the only obvious examples which don't fit into
uint64_t.

As a tangent, code generation for get/set_sreg() would probably be far
better if get() returned by value, and set() took by value.  struct
segment_register is only a pair of registers, and the optimiser can
probably keep most callsites from spilling to the stack.

>> --- a/xen/arch/x86/hvm/svm/svm.c
>> +++ b/xen/arch/x86/hvm/svm/svm.c
>> @@ -2469,6 +2469,33 @@ static bool svm_get_pending_event(struct vcpu *v, struct x86_event *info)
>>      return true;
>>  }
>>  
>> +static uint64_t svm_get_reg(struct vcpu *v, unsigned int reg)
>> +{
>> +    struct domain *d = v->domain;
>> +
>> +    switch ( reg )
>> +    {
>> +    default:
>> +        printk(XENLOG_G_ERR "%s(%pv, 0x%08x) Bad register\n",
>> +               __func__, v, reg);
> Is __func__ actually of much use here and in similar further places?

Yes.  Admittedly moreso before I added the domain_crash(), but it is
information not printed.

It is specifically useful because nothing in the domain_crash() path
distinguishes PV and HVM guests, meaning that the output is ambiguous at
a glance when investigating customer logs.  VTx vs SVM is less ambiguous
at a glance because Intel vs AMD information is plentiful in dmesg, but
there's no harm making it clearer.

>> @@ -852,6 +867,15 @@ static inline int hvm_vmtrace_get_option(
>>      return -EOPNOTSUPP;
>>  }
>>  
>> +static inline uint64_t pv_get_reg(struct vcpu *v, unsigned int reg)
>> +{
>> +    ASSERT_UNREACHABLE();
>> +}
>> +static inline void pv_set_reg(struct vcpu *v, unsigned int reg, uint64_t val)
>> +{
>> +    ASSERT_UNREACHABLE();
>> +}
> Were these meant to have hvm_ prefixes?

Oops yes.  I'm not entirely sure if the stubs are necessary, given our
usual DCE rule.  I'll try some !PV and !HVM builds and see whether I can
drop them entirely.

> With at least this last aspect addressed
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Jan 19 18:27:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 18:27:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258906.446410 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAFfi-0004hT-H9; Wed, 19 Jan 2022 18:27:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258906.446410; Wed, 19 Jan 2022 18:27:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAFfi-0004hM-E2; Wed, 19 Jan 2022 18:27:02 +0000
Received: by outflank-mailman (input) for mailman id 258906;
 Wed, 19 Jan 2022 18:27:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zsuW=SD=eikelenboom.it=linux@srs-se1.protection.inumbo.net>)
 id 1nAFfg-0004hG-L6
 for xen-devel@lists.xenproject.org; Wed, 19 Jan 2022 18:27:01 +0000
Received: from server.eikelenboom.it (server.eikelenboom.it [91.121.65.215])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 63118e73-7955-11ec-bc18-3156f6d857e4;
 Wed, 19 Jan 2022 19:26:59 +0100 (CET)
Received: from 76-24-144-85.ftth.glasoperator.nl ([85.144.24.76]:34506
 helo=[172.16.1.50])
 by server.eikelenboom.it with esmtpsa (TLS1.2) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2)
 (envelope-from <linux@eikelenboom.it>)
 id 1nAFgN-00010r-Fc; Wed, 19 Jan 2022 19:27:43 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 63118e73-7955-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=eikelenboom.it; s=20180706; h=Content-Transfer-Encoding:Content-Type:
	In-Reply-To:MIME-Version:Date:Message-ID:References:Cc:To:From:Subject:Sender
	:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:
	Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:
	List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive;
	bh=EaSTjipOuBT861aSRDtUI1rpXsQTwxohUEiwfdgy3zU=; b=DSahA0sdBDJK0Q2y07AWF0C4Em
	ErjIZC/iG03/fH/9IEcfgmQMUFZLtjeqIK5HeNpesKIJYay9FvtJipyWGJ/dEAazAnze3NGYDHOuf
	yzDSwWlBex1u949oQOaW7fRmINbAn/8TzCRwXyLv1leuN9aVA+YwLv2FQoKMIVqlkvt0=;
Subject: Re: Regression booting Linux kernel 5.16.1 under Xen: Failed to
 update kernel mapping for mfn=6930582 pfn=524288
From: Sander Eikelenboom <linux@eikelenboom.it>
To: Juergen Gross <jgross@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
References: <d3ba970c-3930-fb4e-4fd2-4246700fd11e@eikelenboom.it>
 <39794058-78ce-994c-c854-cea206ff938e@suse.com>
 <ef7f62cf-82a7-22f7-2cf6-2ffb584ea5da@eikelenboom.it>
Message-ID: <666c2522-e0b2-3a9c-0a0c-9c492f0ac00c@eikelenboom.it>
Date: Wed, 19 Jan 2022 19:26:55 +0100
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: <ef7f62cf-82a7-22f7-2cf6-2ffb584ea5da@eikelenboom.it>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: nl-NL
Content-Transfer-Encoding: 8bit

On 18/01/2022 14:55, Sander Eikelenboom wrote:
> On 18/01/2022 12:13, Juergen Gross wrote:
>> On 18.01.22 11:53, Sander Eikelenboom wrote:
>>> L.S.,
>>>
>>> Both Linux kernel 5.16.0 and 5.16.1 fail to boot as Dom0 under
>>> xen-unstable and crash early in boot on my hardware.
>>> With Linux 5.15.13 it boots fine. Serial log is below.
>> ...
>>
>>> (XEN) [0000001b1ffedeb8] Command line: dom0_mem=2048M,max:2048M
>>> loglvl=all guest_loglvl=all console_timestamps=datems
>>> vga=gfx-1280x1024x32 no-cpuidle com1=38400,8n1 console=vga,com1
>>> ivrs_ioapic[6]=00:14.0 iommu=on,verbose,debug conring_size=128k
>>> ucode=scan sched=credit2 gnttab_max_frames=64 reboot=a
>> ...
>>
>>> mapping kernel into physical memory
>>> about to get started...
>>> [    0.000000] Linux version 5.16.1-20220118-doflr-mac80211debug+
>>> (root@serveerstertje) (gcc (Debian 8.3.0-6) 8.3.0, GNU ld (GNU Binutils
>>> for Debian) 2.31.1) #1 SMP PREEMPT Tue Jan 18 10:49:09 CET 2022
>>> [    0.000000] Command line: root=/dev/mapper/serveerstertje_ssd-root ro
>>> verbose earlyprintk=xen mem=2048M console=hvc0 scsi_mod.use_blk_mq=1
>>> console=tty0 acpi_enforce_resources=lax max_loop=30 loop_max_part=10
>>> r8169.use_dac=1 loglevel=10 nomodeset net.ifnames=0 biosdevname=0
>>> xen-pciback.hide=(00:14.2)(04:00.*)(08:00.0)(09:00.*)(0a:00.0)(0d:00.0)
>> ...
>>
>>> [    0.135670] ------------[ cut here ]------------
>>> [    0.135690] Failed to update kernel mapping for mfn=6930582 pfn=524288
>>> [    0.135701] WARNING: CPU: 0 PID: 0 at arch/x86/xen/setup.c:312
>>> xen_remap_memory+0x191/0x26c
>> There seems to be a problem with rearranging the dom0 memory layout
>> to match that of the host. Especially it is going sideways when trying
>> to remap a memory frame to PFN 524288 (0x80000).
>>
>> You are limiting dom0 memory to 2 GB via Xen command line, but in
>> addition to that you specify "mem=2048M" for the dom0 kernel, too. This
>> should cap memory from PFN 0x80000 onwards, hence the failure when dom0
>> tries to remap a frame into this area.
>>
>> Can you please try removing the "mem=2048M" from the dom0 parameters?
>>
>> I think there has been a kernel commit fixing the correct handling of
>> the "mem=" parameter in 5.16, which might be the reason why you are
>> seeing the crash only now.
>>
>>
>> Juergen
>>
> Ah that sounds plausible, will test tomorrow and report back.
> Thanks once again !
> 
> --
> Sander

Hi Juergen,

Just tested without "mem=2048M" and with that the machine boots fine.
Thanks for the help and sorry for the noise !

--
Sander



From xen-devel-bounces@lists.xenproject.org Wed Jan 19 19:10:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 19:10:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258909.446421 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAGLV-00018k-PC; Wed, 19 Jan 2022 19:10:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258909.446421; Wed, 19 Jan 2022 19: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 1nAGLV-00018d-LP; Wed, 19 Jan 2022 19:10:13 +0000
Received: by outflank-mailman (input) for mailman id 258909;
 Wed, 19 Jan 2022 19:10: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 1nAGLT-00018T-U0; Wed, 19 Jan 2022 19:10: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 1nAGLT-0003Fn-Qo; Wed, 19 Jan 2022 19:10: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 1nAGLT-0004Cl-Iu; Wed, 19 Jan 2022 19:10:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nAGLT-00082P-IS; Wed, 19 Jan 2022 19:10: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=a2yfXJ9ItmHacsPkLL87Lfbopr6/cV1RST2Pq8zLXw0=; b=wr9zkq5wlKdwQPfBTIS6MrW6MR
	+hIZfljO3C63qDKzdlBVU68HTcSJghJccUWN7b/97KiLcncgmj6Uk387vlPpd5n/E56Pwf35XWqH7
	6olIIkGKiIx+fRqVmjwrnHO7wwPOnb5CkUrExYOobrviFQsEIDl/AYbzr8FUsk/KlbHI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167745-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167745: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-arm64-arm64-xl-vhd:xen-boot:fail:heisenbug
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-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-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt: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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-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-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-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl: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-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:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw: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-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=0dabdd6b3a7ead1183d6f26eaded7d0c332e4cc7
X-Osstest-Versions-That:
    qemuu=8b846207151955a7d4de2d33d07645991824e345
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 19 Jan 2022 19:10:11 +0000

flight 167745 qemu-mainline real [real]
flight 167750 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/167745/
http://logs.test-lab.xenproject.org/osstest/logs/167750/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl-vhd       8 xen-boot            fail pass in 167750-retest

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-vhd     14 migrate-support-check fail in 167750 never pass
 test-arm64-arm64-xl-vhd 15 saverestore-support-check fail in 167750 never pass
 test-amd64-amd64-xl-rtds     20 guest-localmigrate/x10       fail  like 167741
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167741
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167741
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167741
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167741
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167741
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167741
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167741
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167741
 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-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-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          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-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
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                0dabdd6b3a7ead1183d6f26eaded7d0c332e4cc7
baseline version:
 qemuu                8b846207151955a7d4de2d33d07645991824e345

Last test of basis   167741  2022-01-18 20:09:22 Z    0 days
Testing same since   167745  2022-01-19 05:43:42 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Cédric Le Goater <clg@kaod.org>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Fabiano Rosas <farosas@linux.ibm.com>
  Leonardo Garcia <lagarcia@br.ibm.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-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   8b84620715..0dabdd6b3a  0dabdd6b3a7ead1183d6f26eaded7d0c332e4cc7 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Wed Jan 19 20:40:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 19 Jan 2022 20:40:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258917.446431 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAHkO-0000ZA-Ok; Wed, 19 Jan 2022 20:40:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258917.446431; Wed, 19 Jan 2022 20: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 1nAHkO-0000Z3-Lq; Wed, 19 Jan 2022 20:40:00 +0000
Received: by outflank-mailman (input) for mailman id 258917;
 Wed, 19 Jan 2022 20:39: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 1nAHkN-0000Yt-Lk; Wed, 19 Jan 2022 20:39: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 1nAHkN-0004rd-JD; Wed, 19 Jan 2022 20:39: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 1nAHkN-0007kY-86; Wed, 19 Jan 2022 20:39:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nAHkN-0004mC-7d; Wed, 19 Jan 2022 20:39: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=pGAJPihYQzCXKNCRk62T4lOeQOIlXFB2BSvq2oXLQi4=; b=wVrqoUeP8wH88yHVGLjTcQRsO4
	EWk1+emIAOC2TLLHxNR0CdxWjviEXGabsrgzt7y+88z2Vucf1epdUSPtd7JxlKEi3p2nBbF8QCypy
	6wWPHhL3hSYohYeiuHa1Xd9HTR64I+5Ti2yoJaH0yZChNWwiCrzlWgTX3224mzVbiGC0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167747-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167747: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl: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-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-qcow2: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-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl: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
X-Osstest-Versions-This:
    linux=1d1df41c5a33359a00e919d54eaebfb789711fdc
X-Osstest-Versions-That:
    linux=455e73a07f6e288b0061dfcf4fcf54fa9fe06458
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 19 Jan 2022 20:39:59 +0000

flight 167747 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167747/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 167684
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 167684
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 167684
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 167684
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 167684
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 167684
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 167684
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 167684
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 167684

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167684
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167684
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167684
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167684
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167684
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167684
 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-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-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                1d1df41c5a33359a00e919d54eaebfb789711fdc
baseline version:
 linux                455e73a07f6e288b0061dfcf4fcf54fa9fe06458

Last test of basis   167684  2022-01-13 07:47:42 Z    6 days
Failing since        167693  2022-01-13 22:41:04 Z    5 days   12 attempts
Testing same since   167747  2022-01-19 12:29:29 Z    0 days    1 attempts

------------------------------------------------------------
760 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                                fail    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 65426 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Jan 20 01:28:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 01:28:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258929.446447 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAMFa-0003t3-Vx; Thu, 20 Jan 2022 01:28:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258929.446447; Thu, 20 Jan 2022 01:28: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 1nAMFa-0003st-Rp; Thu, 20 Jan 2022 01:28:30 +0000
Received: by outflank-mailman (input) for mailman id 258929;
 Thu, 20 Jan 2022 01:28:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4vKw=SE=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nAMFZ-0003sX-1N
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 01:28:29 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4334f7bf-7990-11ec-8fa7-f31e035a9116;
 Thu, 20 Jan 2022 02:28:26 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 939816152B;
 Thu, 20 Jan 2022 01:28:24 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A3716C340E3;
 Thu, 20 Jan 2022 01:28: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: 4334f7bf-7990-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1642642104;
	bh=kAtV/ltM9FkVByfFGUmsG/SUhGbLw6EM8pspv+JESRw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=cMLsuGG0yQxTGUYzcNKDdmVr2/5fWnHC1BgQcz4lAmQvh8KAdtLSF7DCygttUh6SA
	 f9njjRNP3mwfsVcwhUgELIHMxM3miiRhntKz0hqMOCkp6NJ5s+4VIQ2Ki4fIdKgE4M
	 LI6T3fLZjNlmnN8NAKhtNrXXAYUxqwiplJ2aW7rH2l3aTMAeBXeSzgNrN5EaXkmPI5
	 tXptjdbNAz/YVNB8RScXxtAJu0KjrA+nb1I9ykX8OK5mWw2z3SsKA4kVxCR6OPmXc3
	 +3meG6RFwYxhXw01u44YXfn9GWAuZuUPIM699Qxjqw51W0N+0o77S9hm67JwP7GHxk
	 dJR7CDoqe3XqA==
Date: Wed, 19 Jan 2022 17:28:21 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    Julien Grall <julien@xen.org>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
In-Reply-To: <20220119120400.GA3779126@EPUAKYIW015D>
Message-ID: <alpine.DEB.2.22.394.2201191644400.19362@ubuntu-linux-20-04-desktop>
References: <cover.1639472078.git.oleksii_moisieiev@epam.com> <e9dadd96aa5b64b9232e10a083ce393af620adde.1639472078.git.oleksii_moisieiev@epam.com> <alpine.DEB.2.22.394.2112171709140.2060010@ubuntu-linux-20-04-desktop> <20211220181215.GA1702335@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2112201613210.2060010@ubuntu-linux-20-04-desktop> <20211221200305.GA2460476@EPUAKYIW015D> <alpine.DEB.2.22.394.2112211310000.2060010@ubuntu-linux-20-04-desktop> <20211222110414.GA2883815@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2112221627190.2060010@ubuntu-linux-20-04-desktop> <20220119120400.GA3779126@EPUAKYIW015D>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 19 Jan 2022, Oleksii Moisieiev wrote:
> On Wed, Dec 22, 2021 at 06:23:24PM -0800, Stefano Stabellini wrote:
> > On Wed, 22 Dec 2021, Oleksii Moisieiev wrote:
> > > On Tue, Dec 21, 2021 at 01:22:50PM -0800, Stefano Stabellini wrote:
> > > > On Tue, 21 Dec 2021, Oleksii Moisieiev wrote:
> > > > > Hi Stefano,
> > > > > 
> > > > > On Mon, Dec 20, 2021 at 04:52:01PM -0800, Stefano Stabellini wrote:
> > > > > > On Mon, 20 Dec 2021, Oleksii Moisieiev wrote:
> > > > > > > Hi Stefano,
> > > > > > > 
> > > > > > > On Fri, Dec 17, 2021 at 06:14:55PM -0800, Stefano Stabellini wrote:
> > > > > > > > On Tue, 14 Dec 2021, Oleksii Moisieiev wrote:
> > > > > > > > > This is the implementation of SCI interface, called SCMI-SMC driver,
> > > > > > > > > which works as the mediator between XEN Domains and Firmware (SCP, ATF etc).
> > > > > > > > > This allows devices from the Domains to work with clocks, resets and
> > > > > > > > > power-domains without access to CPG.
> > > > > > > > > 
> > > > > > > > > The following features are implemented:
> > > > > > > > > - request SCMI channels from ATF and pass channels to Domains;
> > > > > > > > > - set device permissions for Domains based on the Domain partial
> > > > > > > > > device-tree. Devices with permissions are able to work with clocks,
> > > > > > > > > resets and power-domains via SCMI;
> > > > > > > > > - redirect scmi messages from Domains to ATF.
> > > > > > > > > 
> > > > > > > > > Signed-off-by: Oleksii Moisieiev <oleksii_moisieiev@epam.com>
> > > > > > > > > ---
> > > > > > > > >  xen/arch/arm/Kconfig          |   2 +
> > > > > > > > >  xen/arch/arm/sci/Kconfig      |  10 +
> > > > > > > > >  xen/arch/arm/sci/Makefile     |   1 +
> > > > > > > > >  xen/arch/arm/sci/scmi_smc.c   | 795 ++++++++++++++++++++++++++++++++++
> > > > > > > > >  xen/include/public/arch-arm.h |   1 +
> > > > > > > > >  5 files changed, 809 insertions(+)
> > > > > > > > >  create mode 100644 xen/arch/arm/sci/Kconfig
> > > > > > > > >  create mode 100644 xen/arch/arm/sci/scmi_smc.c
> > > > > > > > > 
> > > > > > > > > diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> > > > > > > > > index 186e1db389..02d96c6cfc 100644
> > > > > > > > > --- a/xen/arch/arm/Kconfig
> > > > > > > > > +++ b/xen/arch/arm/Kconfig
> > > > > > > > > @@ -114,6 +114,8 @@ config SCI
> > > > > > > > >  	  support. It allows guests to control system resourcess via one of
> > > > > > > > >  	  SCI mediators implemented in XEN.
> > > > > > > > >  
> > > > > > > > > +source "arch/arm/sci/Kconfig"
> > > > > > > > > +
> > > > > > > > >  endmenu
> > > > > > > > >  
> > > > > > > > >  menu "ARM errata workaround via the alternative framework"
> > > > > > > > > diff --git a/xen/arch/arm/sci/Kconfig b/xen/arch/arm/sci/Kconfig
> > > > > > > > > new file mode 100644
> > > > > > > > > index 0000000000..9563067ddc
> > > > > > > > > --- /dev/null
> > > > > > > > > +++ b/xen/arch/arm/sci/Kconfig
> > > > > > > > > @@ -0,0 +1,10 @@
> > > > > > > > > +config SCMI_SMC
> > > > > > > > > +	bool "Enable SCMI-SMC mediator driver"
> > > > > > > > > +	default n
> > > > > > > > > +	depends on SCI
> > > > > > > > > +	---help---
> > > > > > > > > +
> > > > > > > > > +	Enables mediator in XEN to pass SCMI requests from Domains to ATF.
> > > > > > > > > +	This feature allows drivers from Domains to work with System
> > > > > > > > > +	Controllers (such as power,resets,clock etc.). SCP is used as transport
> > > > > > > > > +	for communication.
> > > > > > > > > diff --git a/xen/arch/arm/sci/Makefile b/xen/arch/arm/sci/Makefile
> > > > > > > > > index 837dc7492b..67f2611872 100644
> > > > > > > > > --- a/xen/arch/arm/sci/Makefile
> > > > > > > > > +++ b/xen/arch/arm/sci/Makefile
> > > > > > > > > @@ -1 +1,2 @@
> > > > > > > > >  obj-y += sci.o
> > > > > > > > > +obj-$(CONFIG_SCMI_SMC) += scmi_smc.o
> > > > > > > > > diff --git a/xen/arch/arm/sci/scmi_smc.c b/xen/arch/arm/sci/scmi_smc.c
> > > > > > > > > new file mode 100644
> > > > > > > > > index 0000000000..2eb01ea82d
> > > > > > > > > --- /dev/null
> > > > > > > > > +++ b/xen/arch/arm/sci/scmi_smc.c
> > > > > > > > > @@ -0,0 +1,795 @@
> > > > > > > > > +/*
> > > > > > > > > + * xen/arch/arm/sci/scmi_smc.c
> > > > > > > > > + *
> > > > > > > > > + * SCMI mediator driver, using SCP as transport.
> > > > > > > > > + *
> > > > > > > > > + * Oleksii Moisieiev <oleksii_moisieiev@epam.com>
> > > > > > > > > + * Copyright (C) 2021, EPAM Systems.
> > > > > > > > > + *
> > > > > > > > > + * This program is free software; you can redistribute it and/or modify
> > > > > > > > > + * it under the terms of the GNU General Public License as published by
> > > > > > > > > + * the Free Software Foundation; either version 2 of the License, or
> > > > > > > > > + * (at your option) any later version.
> > > > > > > > > + *
> > > > > > > > > + * This program is distributed in the hope that it will be useful,
> > > > > > > > > + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> > > > > > > > > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> > > > > > > > > + * GNU General Public License for more details.
> > > > > > > > > + */
> > > > > > > > > +
> > > > > > > > > +#include <asm/sci/sci.h>
> > > > > > > > > +#include <asm/smccc.h>
> > > > > > > > > +#include <asm/io.h>
> > > > > > > > > +#include <xen/bitops.h>
> > > > > > > > > +#include <xen/config.h>
> > > > > > > > > +#include <xen/sched.h>
> > > > > > > > > +#include <xen/device_tree.h>
> > > > > > > > > +#include <xen/iocap.h>
> > > > > > > > > +#include <xen/init.h>
> > > > > > > > > +#include <xen/err.h>
> > > > > > > > > +#include <xen/lib.h>
> > > > > > > > > +#include <xen/list.h>
> > > > > > > > > +#include <xen/mm.h>
> > > > > > > > > +#include <xen/string.h>
> > > > > > > > > +#include <xen/time.h>
> > > > > > > > > +#include <xen/vmap.h>
> > > > > > > > > +
> > > > > > > > > +#define SCMI_BASE_PROTOCOL                  0x10
> > > > > > > > > +#define SCMI_BASE_PROTOCOL_ATTIBUTES        0x1
> > > > > > > > > +#define SCMI_BASE_SET_DEVICE_PERMISSIONS    0x9
> > > > > > > > > +#define SCMI_BASE_RESET_AGENT_CONFIGURATION 0xB
> > > > > > > > > +#define SCMI_BASE_DISCOVER_AGENT            0x7
> > > > > > > > > +
> > > > > > > > > +/* SCMI return codes. See section 4.1.4 of SCMI spec (DEN0056C) */
> > > > > > > > > +#define SCMI_SUCCESS              0
> > > > > > > > > +#define SCMI_NOT_SUPPORTED      (-1)
> > > > > > > > > +#define SCMI_INVALID_PARAMETERS (-2)
> > > > > > > > > +#define SCMI_DENIED             (-3)
> > > > > > > > > +#define SCMI_NOT_FOUND          (-4)
> > > > > > > > > +#define SCMI_OUT_OF_RANGE       (-5)
> > > > > > > > > +#define SCMI_BUSY               (-6)
> > > > > > > > > +#define SCMI_COMMS_ERROR        (-7)
> > > > > > > > > +#define SCMI_GENERIC_ERROR      (-8)
> > > > > > > > > +#define SCMI_HARDWARE_ERROR     (-9)
> > > > > > > > > +#define SCMI_PROTOCOL_ERROR     (-10)
> > > > > > > > > +
> > > > > > > > > +#define DT_MATCH_SCMI_SMC DT_MATCH_COMPATIBLE("arm,scmi-smc")
> > > > > > > > > +
> > > > > > > > > +#define SCMI_SMC_ID                        "arm,smc-id"
> > > > > > > > > +#define SCMI_SHARED_MEMORY                 "linux,scmi_mem"
> > > > > > > > 
> > > > > > > > I could find the following SCMI binding in Linux, which describes
> > > > > > > > the arm,scmi-smc compatible and the arm,smc-id property:
> > > > > > > > 
> > > > > > > > Documentation/devicetree/bindings/firmware/arm,scmi.yaml
> > > > > > > > 
> > > > > > > > However, linux,scmi_mem is not described. Aren't you supposed to read
> > > > > > > > the "shmem" property instead? And the compatible string used for this
> > > > > > > > seems to be "arm,scmi-shmem".
> > > > > > > > 
> > > > > > > 
> > > > > > > We use linux,scmi_mem node to reserve memory, needed for all
> > > > > > > channels:
> > > > > > > 
> > > > > > > reserved-memory {
> > > > > > >     /* reserved region for scmi channels*/
> > > > > > >     scmi_memory: linux,scmi_mem@53FF0000 {
> > > > > > >         no-map;
> > > > > > >         reg = <0x0 0x53FF0000 0x0 0x10000>;
> > > > > > >     };
> > > > > > > };
> > > > > > > 
> > > > > > > arm,scmi-shmem node used in shmem property defines only 1 page needed to
> > > > > > > the current scmi channel:
> > > > > > > 
> > > > > > > cpu_scp_shm: scp-shmem@0x53FF0000 {
> > > > > > >     compatible = "arm,scmi-shmem";
> > > > > > >     reg = <0x0 0x53FF0000 0x0 0x1000>;
> > > > > > > };
> > > > > > > 
> > > > > > > For each Domain reg points to unigue page from linux,scmi_mem region,
> > > > > > > assigned to this agent.
> > > > > > 
> > > > > > If we were to use "linux,scmi_mem" we would have to introduce it as a
> > > > > > compatible string, not as a node name, and it would need to be described
> > > > > > in Documentation/devicetree/bindings/firmware/arm,scmi.yaml.
> > > > > > 
> > > > > > But from your description I don't think it is necessary. We can just use
> > > > > > "arm,scmi-shmem" to describe all the required regions:
> > > > > > 
> > > > > > reserved-memory {
> > > > > >     scp-shmem@0x53FF0000 {
> > > > > >         compatible = "arm,scmi-shmem";
> > > > > >         reg = <0x0 0x53FF0000 0x0 0x1000>;
> > > > > >     };
> > > > > >     scp-shmem@0x53FF1000 {
> > > > > >         compatible = "arm,scmi-shmem";
> > > > > >         reg = <0x0 0x53FF1000 0x0 0x1000>;
> > > > > >     };
> > > > > >     scp-shmem@0x53FF2000 {
> > > > > >         compatible = "arm,scmi-shmem";
> > > > > >         reg = <0x0 0x53FF2000 0x0 0x1000>;
> > > > > >     };
> > > > > >     ...
> > > > > > 
> > > > > > In other words, if all the individual channel pages are described as
> > > > > > "arm,scmi-shmem", why do we also need a single larger region as
> > > > > > "linux,scmi_mem"?
> > > > > > 
> > > > > 
> > > > > That was my first implementation. But I've met a problem with
> > > > > scmi driver in kernel. I don't remember the exact place, but I remember
> > > > > there were some if, checking if memory weren't reserved.
> > > > > That's why I ended up splitting nodes reserved memory region and actual
> > > > > shmem page.
> > > > > For linux,scmi_mem node I took format from /reserved-memory/linux,lossy_decompress@54000000,
> > > > > which has no compatible string and provides no-map property.
> > > > > linux,scmi_shmem node is needed to prevent xen from allocating this
> > > > > space for the domain.
> > > > > 
> > > > > Very interesting question about should I introduce linux,scmi_mem node
> > > > > and scmi_devid property to the
> > > > > Documentation/devicetree/bindings/firmware/arm,scmi.yaml?
> > > > > Those node and property are needed only for Xen and useless for
> > > > > non-virtualized systems. I can add this node and property description to
> > > > > arm,scmi.yaml, but leave a note that this is Xen specific params.
> > > > > What do you think about it?
> > > > 
> > > > Reply below
> > > > 
> > > > [...]
> > > >  
> > > > 
> > > > > > In general we can't use properties that are not part of the device tree
> > > > > > spec, either https://urldefense.com/v3/__https://www.devicetree.org/specifications/__;!!GF_29dbcQIUBPA!kNodtgmOQBc1iO76_6vTK-O1SoLxee_ChowYQiQYC595rMOsrnmof2zmk7BnhXCSnJPN$ [devicetree[.]org] or
> > > > > > https://urldefense.com/v3/__https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings__;!!GF_29dbcQIUBPA!kNodtgmOQBc1iO76_6vTK-O1SoLxee_ChowYQiQYC595rMOsrnmof2zmk7BnhXloYUaj$ [git[.]kernel[.]org]
> > > > > > 
> > > > > > "linux,scmi_mem" is currently absent. Are you aware of any upstreaming
> > > > > > activities to get "linux,scmi_mem" upstream under
> > > > > > Documentation/devicetree/bindings in Linux?
> > > > > > 
> > > > > > If "linux,scmi_mem" is going upstream in Linux, then we could use it.
> > > > > > Otherwise, first "linux,scmi_mem" needs to be added somewhere under
> > > > > > Documentation/devicetree/bindings (probably
> > > > > > Documentation/devicetree/bindings/firmware/arm,scmi.yaml), then we can
> > > > > > work on the Xen code that makes use of it.
> > > > > > 
> > > > > > Does it make sense?
> > > > > > 
> > > > > 
> > > > > Yes I agree. I think linux,scmi_mem and scmi_devid should be upstreamed.
> > > > > I will add those properties to arm,scmi.yaml, mark them as related to XEN and send patch.
> > > > 
> > > > I didn't realize that linux,scmi_mem and scmi_devid are supposed to be
> > > > Xen specific. In general, it would be best not to introduce Xen specific
> > > > properties into generic bindings. It is a problem both from a
> > > > specification perspective (because it has hard to handle Xen specific
> > > > cases in fully generic bindings, especially as those bindings are
> > > > maintained as part of the Linux kernel) and from a user perspective
> > > > (because now the user has to deal with a Xen-specific dtb, or has to
> > > > modify the host dtb to add Xen-specific information by hand.)
> > > > 
> > > > 
> > > > Let me start from scmi_devid.  Why would scmi_devid be Xen-specific? It
> > > > looks like a generic property that should be needed for the Linux SCMI
> > > > driver too. Why the Linux driver doesn't need it?
> > > > 
> > > 
> > > scmi_devid used during domain build. It passed as input parameter for SCMI_BASE_SET_DEVICE_PERMISSIONS message.
> > > On non-virtualized systems - there is no need of this call, because OS
> > > is the only one entity, running on the system.
> > 
> > OK. Even if it is only required for virtualized systems, I think that
> > scmi_devid is important enough that should be part of the upstream
> > binding. I think it is worth starting an email thread on the LKML with
> > Rob Herring and the SCMI maintainers to discuss the addition of
> > scmi_devid to the binding.
> > 
> > 
> > > I've chatted with Volodymyr_Babchuk and he gave a great idea to add a
> > > list of device_ids to dom.cfg, such as:
> > > sci_devs = [ 0, 1, 15, 35 ];
> > > 
> > > Using this approach, we can remove scmi_devid from the device tree and
> > > just pass a list of scmi_devids to XEN using additional hypercall.
> > > We can probably make hypercall taking devid list as input parameter.
> > > This will take only 1 hypercall to setup sci permissions.
> > 
> > But how would a user know which are the right SCMI IDs to add to the
> > sci_devs list? Would the user have to go and read the reference manual
> > of the platform to find the SCMI IDs and then write sci_devs by hand?
> > If that is the case, then I think that it would be better to add
> > scmi_devid to device tree.
> > 
> > In general, I think this configuration should happen automatically
> > without user intervention. The user should just specify "enable SCMI"
> > and it should work.
> > 
> > 
> > > > In regards to linux,scmi_mem, I think it would be best to do without it
> > > > and fix the Linux SCMI driver if we need to do so. Xen should be able to
> > > > parse the native "arm,scmi-shmem" nodes and Linux (dom0 or domU) should
> > > > be able to parse the "arm,scmi-shmem" nodes generated by Xen. Either
> > > > way, I don't think we should need linux,scmi_mem.
> > > 
> > > This requires further investigation. I will try to make implementation
> > > without linux,scmi_mem, using only arm,scmi-shmem nodes and share
> > > reuslts with you.
> > 
> > OK, thanks.
> 
> Hi Stefano,
> 
> As I did some investigation about using reserved-memory area
> linux,scmi_mem and now I need your advice.
> 
> I see 2 possible implementations for now:
> 1) Add memory-region parameter to cpu_scp_shm node which points to the
> reserved memory region.
> So device-tree will look like this:
> 
> 	reserved-memory {
> 		/* reserved region for scmi channels*/
> 		scmi_memory: region@53FF0000{
> 			no-map;
> 			reg = <0x0 0x53FF0000 0x0 0x10000>;
> 		};
> 	};
> 	cpu_scp_shm: scp-shmem@0x53FF0000 {
> 		compatible = "arm,scmi-shmem";
> 		reg = <0x0 0x53FF0000 0x0 0x1000>;
> 		memory-region = <&scmi_memory>;
> 	};
> 
> So cpu_scp_shm node has a reference to scmi_memory region. This mean
> that xen can find reserved memory region without adding additional names
> to the device-tree bindings.
> memory-region parameter as a reference to reserved memory and region
> creation described in:
> https://github.com/torvalds/linux/blob/v5.15/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
> 
> This approach I've implemented already and it works.

This approach would require a discussion with the upstream device tree
maintainers. Likely, we would need to add a note about the usage of the
"memory-region" property to arm,scmi.yaml.

Also, I have the feeling that they would ask to add the "memory-region"
property directly to the "arm,scmi-smc" node, as an alternative (or
in addition) to the existing "shmem" property.

That said, from my point of view this approach is also a viable option.
I don't see any major problems.

The main question (after reading everything else that you wrote below)
is whether the "arm,scmi-smc" node in this case could be automatically
generated.


> 2) The second approach is the format you suggested:
> > > > > > reserved-memory {
> > > > > >     scp-shmem@0x53FF0000 {
> > > > > >         compatible = "arm,scmi-shmem";
> > > > > >         reg = <0x0 0x53FF0000 0x0 0x1000>;
> > > > > >     };
> > > > > >     scp-shmem@0x53FF1000 {
> > > > > >         compatible = "arm,scmi-shmem";
> > > > > >         reg = <0x0 0x53FF1000 0x0 0x1000>;
> > > > > >     };
> > > > > >     scp-shmem@0x53FF2000 {
> > > > > >         compatible = "arm,scmi-shmem";
> > > > > >         reg = <0x0 0x53FF2000 0x0 0x1000>;
> > > > > >     };
> > > > > >     ...
> 
> This approach has an advantage that xen ARM_SCI driver do not know about
> how channels are placed in the reserved memory, but introduces some
> disadvantages:
> a) We provide extra 14 (in our case) arm,scmi-shmem nodes which are not used
> in the device-tree. In current implementation I have separate scmi.dtsi
> file which introduces scmi support for both XEN-based and
> non-virtualized systems. Having 14 extra channels in the device-tree may
> be confusing.

I can see that while it would be ideal for Xen to see all 14+1 channels
in device tree (on the host device tree), we wouldn't want to expose all
of them to the domains, not even to dom0. 

How many channels do we want dom0 to see by the way? For this
discussion, I'll just assume for now that dom0 only sees 1 channel like
the domUs.

Now we have a problem: how do we go about "filtering" the
"arm,scmi-shmem" device tree nodes? Which is also what you are asking
below in point b).


> b) In case if we have all 15 channels, described in partial device-tree,

I think you meant "described in the host device tree", right?


> we should not copy any node to the domain device-tree. I think it will
> be better to generate arm,scmi-shmem node in the Domain device-tree.

Yes, I think it makes sense for Xen to generate the "arm,scmi-shmem"
device tree description for the DomU/Dom0 based on the channels
allocated to the domain.


> The problem is that arm,scmi-smc node, which is using arm,scmi-shmem
> node can't be generated. I prefer it to be copied from the partial
> device-tree because it includes some platform specific configuration,
> such as func-id and list of the protocols (for example different
> platforms may require different list of the protocols). So in this
> case we will have 1 node copied and 1 node generated.
>
> I think even for dom0less we should use arm,scmi-smc node from the
> device-tree because protocol configuration and funcid is related to the
> platform.

I am not sure I understood what you wrote. You are saying that the
"arm,scmi-smc" node includes some platform specific configurations so
it cannot be automatically generated by Xen (or by the tools) and
instead it needs to be manually provided as part of the partial dtb for
the domU. Is that correct?

If so, I would like to understand the reasons behind it. Manual
device tree editing is problematic.

I looked for "func-id" in
Documentation/devicetree/bindings/firmware/arm,scmi.yaml but couldn't
find any results. Do you have an example of the platform specific
configuration or protocol configuration that would make it difficult to
automatically generate the "arm,scmi-smc" node for the domains?

Also, is this a problem just for approach #2 or also for approach #1?
If it is a problem only for approach #2, then let's just go with
approach #1.


> I prefer the second approach and will try to make it if it's OK to copy
> arm,scmi-smc node from partial Device-tree and generate arm,scmi-shmem
> node.
> 
> What do you think about that?

>From a device tree specification perspective, I think both approaches
are OK (with a minor comment on the first approach as I wrote above.)

But from a Xen perspective I think it is important that we don't require
the user to manually provide the SCMI configuration in the partial DTB.
It would be better if we could generate it automatically from Xen or the
tools (or even an independent script). Or copy the "arm,scmi-smc" node
from the host device tree to the domU device tree without modifications.

So if using approach #1 allows us to automatically generate the
"arm,scmi-smc" node for the guest, then I think it's best for sure.


> Also I wanted to mention that I'm not planning to make ARM_SCI support for
> dom0less in terms of this patch series bacause I can't test
> dom0less configuration for now. So let me know if some of my
> functionality breaks dom0less.
 
That's fine. I don't mean to scope-creep your patch series, which is
extremely valuable as is.

That said, I would be happy to provide you with a very simple dom0less
configuration for your platform to enable you to test, or alternatively
I could write a patch to add dom0less domU support if you are happy to
help reviewing and testing it.


From xen-devel-bounces@lists.xenproject.org Thu Jan 20 01:54:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 01:54:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258931.446457 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAMeI-00073W-1z; Thu, 20 Jan 2022 01:54:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258931.446457; Thu, 20 Jan 2022 01:54:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAMeH-00073M-Ub; Thu, 20 Jan 2022 01:54:01 +0000
Received: by outflank-mailman (input) for mailman id 258931;
 Thu, 20 Jan 2022 01:54:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4vKw=SE=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nAMeG-00073G-VC
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 01:54:00 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d57deaab-7993-11ec-8fa7-f31e035a9116;
 Thu, 20 Jan 2022 02:53:59 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 6B8B8B81BFA;
 Thu, 20 Jan 2022 01:53:58 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8472EC004E1;
 Thu, 20 Jan 2022 01:53: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: d57deaab-7993-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1642643637;
	bh=R95tjV/8iYfQdaCIq0E0eOSAYDmpJ0f6xfnifO1XRSw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=KeqR55/IuAcwo+wRTuk4FUG0Ybnk1bW+XLqtH7nYoV6HCKWvLr5Y4hakQeomHbTFJ
	 pP9ysY8Qawd/RQiMxa6T3ukqXWQbRdTxKt2MYLZEjv6yYvba7Qh47D0Nif61xwW/QY
	 82a9ugbVktl+7raTIiFm0pJLlOCb/z6KWCfZwBK1mxczKn4DTVkOTvvk2Eullm7feG
	 d2Q3lOkXevIlM2zUn56IECcix1G/uq3WzbTO0sLIHZJLsZ3TEVbTttTcmXVBNeC3g2
	 V/Iat7phI7EUZGcVDWNn77RBK9k22M/VDuGCMmGeVExIcVaNs/3XEmhXYca8uPGY7X
	 MdN0BLB/V1jiw==
Date: Wed, 19 Jan 2022 17:53:55 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
cc: Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Anthony PERARD <anthony.perard@citrix.com>, 
    Oleksandr <olekstysh@gmail.com>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [RFC v1 5/5] xen/arm: add SCI mediator support for DomUs
In-Reply-To: <20220119094013.GA3756156@EPUAKYIW015D>
Message-ID: <alpine.DEB.2.22.394.2201191733320.19362@ubuntu-linux-20-04-desktop>
References: <YcHol8ads22asXGF@perard> <alpine.DEB.2.22.394.2112211330310.2060010@ubuntu-linux-20-04-desktop> <bc6d7529-337d-a4e1-664a-dddd68ecf5cb@xen.org> <87lf0cx50o.fsf@epam.com> <3967a86d-295f-7672-9ce3-71e1c393dcbd@xen.org> <87ee64x1hf.fsf@epam.com>
 <796960e7-62ab-6f05-b3c0-cd02d7e8a8ba@xen.org> <alpine.DEB.2.22.394.2112221636530.2060010@ubuntu-linux-20-04-desktop> <alpine.DEB.2.22.394.2112231056380.2060010@ubuntu-linux-20-04-desktop> <b85f7ea3-dd0c-1281-d1e2-1010fb2f5892@xen.org>
 <20220119094013.GA3756156@EPUAKYIW015D>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 19 Jan 2022, Oleksii Moisieiev wrote:
> On Fri, Dec 24, 2021 at 02:30:50PM +0100, Julien Grall wrote:
> > Hi,
> > 
> > On 23/12/2021 20:06, Stefano Stabellini wrote:
> > > On Wed, 22 Dec 2021, Stefano Stabellini wrote:
> > > > # Future Ideas
> > > > 
> > > > A great suggestion by Julien is to start supporting the dom0less partial
> > > > device tree format in xl/libxl as well so that we can have a single
> > > > "device_tree" option in dom.cfg instead of 4 (device_tree, iomem, irqs,
> > > > dtdev).
> > > > 
> > > > Even with that implemented, the user has still to provide a partial dtb,
> > > > xen,reg and xen,path. I think this is a great step forward and we should
> > > > do that, if nothing else to make it easier to switch between dom0less
> > > > and normal domU configurations. But the number of options and
> > > > information that the user has to provide is still similar to what we
> > > > have today.
> > > 
> > > I have just realized that if we start to parse the partial DTB in
> > > xl/libxl the same way that we do for dom0less guests (parse "xen,path",
> > > "xen,reg", and "interrupts", making dtdev, irqs and iomem optional)
> > > actually we can achieve the goal below thanks to the combination:
> > > "xen,path" + "xen,force-assign-without-iommu".
> > > 
> > > In other words, with dom0less we already have a way to specify the link
> > > to the host node even if the device is not a DMA master. We can do that
> > > by specifying both xen,path and xen,force-assign-without-iommu for a
> > > device.
> > > 
> > > This is just FYI. I am not suggesting we should introduce dom0less-style
> > > partial DTBs in order to get SCMI support in guests (although it would
> > > be great to have). I think the best way forward for this series is one
> > > of the combinations below, like a) + d), or a) + c)
> > 
> > I strongly prefer a) + c) because a warning is easy to miss/ignore. At least
> > with the extra property the user made an action to think about it and agree
> > that this is the way do it.
> > 
> > It is also easier to spot if we ask the user to provide the configuration
> > file.
> > 
> 
> Let me share my thoughts about c), which is:
> c) require force-assign-without-iommu="true" in dom.cfg
> 
> Adding this parameter to domain config means removing
> xen,force-assign-without-iommu param from partial DTB.

Why? No I don't think so.


> This will affect dom0less configuration, which I can't test for now
> without extra effort.

We are just talking about adding:

force-assign-without-iommu="true"

to the xl config file. For instance:

dtdev = [ "/amba/serial@ff000000" ]
iomem = ["0xff000,1"]
force-assign-without-iommu="true"

It is unrelated to the dom0less partial DTB. There is no need to test
dom0less to do this.



From xen-devel-bounces@lists.xenproject.org Thu Jan 20 02:05:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 02:05:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258934.446469 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAMp5-0000SJ-2R; Thu, 20 Jan 2022 02:05:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258934.446469; Thu, 20 Jan 2022 02:05:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAMp4-0000SC-Vj; Thu, 20 Jan 2022 02:05:10 +0000
Received: by outflank-mailman (input) for mailman id 258934;
 Thu, 20 Jan 2022 02:05: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 1nAMp3-0000S0-GU; Thu, 20 Jan 2022 02:05: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 1nAMp3-0004cE-Ef; Thu, 20 Jan 2022 02:05: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 1nAMp3-0008JF-5H; Thu, 20 Jan 2022 02:05:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nAMp3-00007Z-3H; Thu, 20 Jan 2022 02:05: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=1tBCg8znT9hae91wN5qgdNg75gRaPOvpXyWUpofI6ak=; b=VapIEfeR9Ki2eUKIIu0ArmDgq+
	32SUquRErJjd5SgPSQ2ufmL2xHU6JWbE7Nf5QA8pSae74y2gFnT0SfQW8/mDr/Fran5qDVdT5+X8r
	4yR48XATukbtWHp7y5nIBI+DnN8Ud5gwny+Gf99scTapY9E+tXS1BO47BLtZAbpQzx+E=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167753-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 167753: 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=9b7cdb83fccf59912e56714dd79dbfab57518a65
X-Osstest-Versions-That:
    xen=2fc98a9587704b3cdedfe3ae2a6104e7d9e251bd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 20 Jan 2022 02:05:09 +0000

flight 167753 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167753/

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                  9b7cdb83fccf59912e56714dd79dbfab57518a65
baseline version:
 xen                  2fc98a9587704b3cdedfe3ae2a6104e7d9e251bd

Last test of basis   167748  2022-01-19 13:00:35 Z    0 days
Testing same since   167753  2022-01-19 23:01:48 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Wei Liu <wl@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
   2fc98a9587..9b7cdb83fc  9b7cdb83fccf59912e56714dd79dbfab57518a65 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Jan 20 02:10:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 02:10:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258941.446479 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAMua-0001rK-Ni; Thu, 20 Jan 2022 02:10:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258941.446479; Thu, 20 Jan 2022 02:10:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAMua-0001rD-Kd; Thu, 20 Jan 2022 02:10:52 +0000
Received: by outflank-mailman (input) for mailman id 258941;
 Thu, 20 Jan 2022 02:10:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4vKw=SE=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nAMuZ-0001r7-Dc
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 02:10:51 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2f4fea05-7996-11ec-bc18-3156f6d857e4;
 Thu, 20 Jan 2022 03:10:49 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 64BE961522;
 Thu, 20 Jan 2022 02:10:48 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 77D99C004E1;
 Thu, 20 Jan 2022 02:10: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: 2f4fea05-7996-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1642644647;
	bh=TDJke1ZqFtkGO4bePNqkbw8NMFzvpGlonZhRBuEwIss=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=jBnjNqDSxC7LqO2JS8jRNLrJUwFc2WOKH0BVU43oVkiI8nGbhKbPwJQt2jKqOD8Uz
	 jw45O3J1A+J93jqpx/i2ZD782r2q/RtgGSGbKaBys/SfG9NUdnHfgd+eJcxWM2NvZD
	 NtIgfArdOhOQNJnfmkDHoj+0pTe/c+ugg5T8sNdhP+G85ol6GZV2kiozqvLktHn1P3
	 pQY8XVKZAjqQhfkGQTml6cMFxmQJJQkLl0e/hcRuM9we76Iv1Ax3g8gHCzuzpo+Y85
	 0g1pswZy6+jt3LEDmKJ1sF5TaYzzpc9svtNyR6DpSn8oIgqdegGm/WAj8bMiPUwZYi
	 BgRAZmK8m45Cg==
Date: Wed, 19 Jan 2022 18:10:46 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
cc: Julien Grall <julien@xen.org>, Oleksandr <olekstysh@gmail.com>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
In-Reply-To: <20220119103715.GA3772829@EPUAKYIW015D>
Message-ID: <alpine.DEB.2.22.394.2201191755250.19362@ubuntu-linux-20-04-desktop>
References: <20211217135855.GA4072899@EPUAKYIW015D> <7924e699-5e70-6fdc-8633-6a15894d66db@xen.org> <20211220154127.GA1688861@EPUAKYIW015D> <7b0d3f0d-bdf1-ac59-0ef8-bb7ec2d802d8@xen.org> <20211224170243.GA1022822@EPUAKYIW015D> <045b2836-c95d-541b-462b-d276ae058b0d@xen.org>
 <20220106135328.GA1413532@EPUAKYIW015D> <55954632-e2c7-5455-6538-29c7990c8f62@xen.org> <20220106154338.GA1460271@EPUAKYIW015D> <548d4954-96bf-6522-6cfc-98b4a0e02b51@xen.org> <20220119103715.GA3772829@EPUAKYIW015D>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 19 Jan 2022, Oleksii Moisieiev wrote:
> On Thu, Jan 06, 2022 at 04:04:34PM +0000, Julien Grall wrote:
> > On 06/01/2022 15:43, Oleksii Moisieiev wrote:
> > > On Thu, Jan 06, 2022 at 02:02:10PM +0000, Julien Grall wrote:
> > > > On 06/01/2022 13:53, Oleksii Moisieiev wrote:
> > > > > Hi Julien,
> > > > > 
> > > > > On Mon, Jan 03, 2022 at 01:14:17PM +0000, Julien Grall wrote:
> > > > > > Hi,
> > > > > > 
> > > > > > On 24/12/2021 17:02, Oleksii Moisieiev wrote:
> > > > > > > On Fri, Dec 24, 2021 at 03:42:42PM +0100, Julien Grall wrote:
> > > > > > > > On 20/12/2021 16:41, Oleksii Moisieiev wrote:
> > > > > > > > > >       2) What are the expected memory attribute for the regions?
> > > > > > > > > 
> > > > > > > > > xen uses iommu_permit_access to pass agent page to the guest. So guest can access the page directly.
> > > > > > > > 
> > > > > > > > I think you misunderstood my comment. Memory can be mapped with various type
> > > > > > > > (e.g. Device, Memory) and attribute (cacheable, non-cacheable...). What will
> > > > > > > > the firmware expect? What will the guest OS usually?
> > > > > > > > 
> > > > > > > > The reason I am asking is the attributes have to matched to avoid any
> > > > > > > > coherency issues. At the moment, if you use XEN_DOMCTL_memory_mapping, Xen
> > > > > > > > will configure the stage-2 to use Device nGnRnE. As the result, the result
> > > > > > > > memory access will be Device nGnRnE which is very strict.
> > > > > > > > :w
> > > > > > > 
> > > > > > > Let me share with you the configuration example:
> > > > > > > scmi expects memory to be configured in the device-tree:
> > > > > > > 
> > > > > > > cpu_scp_shm: scp-shmem@0xXXXXXXX {
> > > > > > > 	compatible = "arm,scmi-shmem";
> > > > > > > 	reg = <0x0 0xXXXXXX 0x0 0x1000>;
> > > > > > > };
> > > > > > > 
> > > > > > > where XXXXXX address I allocate in alloc_magic_pages function.
> > > > > > 
> > > > > > The goal of alloc_magic_pages() is to allocate RAM. However, what you want
> > > > > > is a guest physical address and then map a part of the shared page.
> > > > > 
> > > > > Do you mean that I can't use alloc_magic_pages to allocate shared
> > > > > memory region for SCMI?
> > > > Correct. alloc_magic_pages() will allocate a RAM page and then assign to the
> > > > guest. From your description, this is not what you want because you will
> > > > call XEN_DOMCTL_memory_mapping (and therefore replace the mapping).
> > > > 
> > > 
> > > Ok thanks, I will refactor this part in v2.
> > > 
> > > > > 
> > > > > > 
> > > > > > I can see two options here:
> > > > > >     1) Hardcode the SCMI region in the memory map
> > > > > >     2) Create a new region in the memory map that can be used for reserving
> > > > > > memory for mapping.
> > > > > 
> > > > > Could you please explain what do you mean under the "new region in the
> > > > > memory map"?
> > > > 
> > > > I mean reserving some guest physical address that could be used for map host
> > > > physical address (e.g. SCMI region, GIC CPU interface...).
> > > > 
> > > > So rather than hardcoding the address, we have something more flexible.
> > > > 
> > > 
> > > Ok, I will fix that in v2.
> > 
> > Just for avoidance of doubt. I was clarify option 2 and not requesting to
> > implement. That said, if you want to implement option 2 I would be happy to
> > review it.
> > 
> 
> I'm thinking about the best way to reserve address for the domain.
> We have xen_pfn_t shared_info_pfn in struct xc_dom_image which is not
> used for Arm architecture. It can be set from shared_info_arm callback,
> defined in xg_dom_arm.c.
> I can use shared_info to store address of the SCMI and then use map_sci_page to
> call XEN_DOMCTL_memory_mapping.
> 
> This will allow me to reuse existing functionality and do not allocate
> extra RAM.
> 
> What do you think about that?

I cannot speak for Julien but I think he meant something else (Julien
please correct me if I am wrong.) Exposing addresses via device tree is
not a problem.

Normally we pick a fixed address for guest resources, for instance
GUEST_GICD_BASE, see xen/include/public/arch-arm.h. We could do that for
SCMI as well and it is basically approach 1).

However, it is a bit inflexible and could cause issues with things like
direct-map (https://marc.info/?l=xen-devel&m=163997768108997). A more
flexible way would be for the SCMI guest address to be dynamically
generated somehow.

I am not sure how Julien envisioned the address to be generated exactly.

Thanks to Oleksandr's work we have a way to find large regions of "free"
address space. It is currently used for grant-table mappings. Maybe we
could use a subset of it for SCMI? It might be best to wait for Julien's
answer as he might have a better idea.


From xen-devel-bounces@lists.xenproject.org Thu Jan 20 02:21:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 02:21:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258944.446491 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAN56-0003KG-OH; Thu, 20 Jan 2022 02:21:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258944.446491; Thu, 20 Jan 2022 02: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 1nAN56-0003K9-LH; Thu, 20 Jan 2022 02:21:44 +0000
Received: by outflank-mailman (input) for mailman id 258944;
 Thu, 20 Jan 2022 02:21: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 1nAN55-0003Jz-98; Thu, 20 Jan 2022 02:21: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 1nAN55-0004vF-3U; Thu, 20 Jan 2022 02:21: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 1nAN54-0000y7-Pc; Thu, 20 Jan 2022 02:21:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nAN54-0003AT-Os; Thu, 20 Jan 2022 02:21:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=C3GP/bHB2FB5LrCB6yakN2+mmDUBrVvA2be4f6lKZlI=; b=JTmOKVaEypss6Yx7gSuV415pW8
	FQ2hqKz6QSW+5IwUQ6FFS8olYH4wh6CLSucQj7GirBJRE+BedRx0LtI8mc3ojTlNwOeFVwExMihcb
	HRbk7HXFGI8MxYwvTeQ5nbgSC2ZpkKN1jzq0C6dAHVeCUOPaoGwe4XY686OFWOYd0+ZI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167749-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167749: 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-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-armhf-armhf-libvirt: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-armhf-armhf-libvirt-qcow2: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-amd64-i386-libvirt-xsm:migrate-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-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=2fc98a9587704b3cdedfe3ae2a6104e7d9e251bd
X-Osstest-Versions-That:
    xen=444597436d08ccae6d210a2b1b877fef636796ea
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 20 Jan 2022 02:21:42 +0000

flight 167749 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167749/

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. 167743

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167743
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167743
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167743
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167743
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167743
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167743
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167743
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167743
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167743
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167743
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167743
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167743
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-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-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  2fc98a9587704b3cdedfe3ae2a6104e7d9e251bd
baseline version:
 xen                  444597436d08ccae6d210a2b1b877fef636796ea

Last test of basis   167743  2022-01-19 02:54:59 Z    0 days
Testing same since   167749  2022-01-19 16:09:20 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexander Monakov <amonakov@ispras.ru>
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
  Chen Yu <yu.c.chen@intel.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Zhang Rui <rui.zhang@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   444597436d..2fc98a9587  2fc98a9587704b3cdedfe3ae2a6104e7d9e251bd -> master


From xen-devel-bounces@lists.xenproject.org Thu Jan 20 04:02:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 04:02:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258961.446538 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAOec-0004rd-Dq; Thu, 20 Jan 2022 04:02:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258961.446538; Thu, 20 Jan 2022 04:02:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAOec-0004rW-AT; Thu, 20 Jan 2022 04:02:30 +0000
Received: by outflank-mailman (input) for mailman id 258961;
 Thu, 20 Jan 2022 04:02:29 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nAOeb-0004rM-BU; Thu, 20 Jan 2022 04:02:29 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nAOeb-0006rt-8t; Thu, 20 Jan 2022 04:02:29 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nAOea-0004IC-Vx; Thu, 20 Jan 2022 04:02:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nAOea-0008SF-VX; Thu, 20 Jan 2022 04:02:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=uf3aHmKtJtAUCfNRTJHH3QcjfaQ55KCIQ9Lm6p9KQsw=; b=aKzrWKfbbRWOifhM/dkrGCKyPQ
	CaDqtWj4OtKV1siiDhGXnJUKXDjcaycXfWvk1mCV/6yDNiX8m87AzGCQFhWbeTBK7TZ27yN0CY9d8
	gY6jOunSWeZ0jvp0FzPzSIHGGrFEFcR3pLZwb0VpKaxOpEyafbV7FuFcgmrA3co18CXM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167754-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 167754: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=772c5bb8dcb9841f1839dec02f33324e31b36d25
X-Osstest-Versions-That:
    ovmf=5801910013757bd626f67ed77eea6c16a176eebf
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 20 Jan 2022 04:02:28 +0000

flight 167754 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167754/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 772c5bb8dcb9841f1839dec02f33324e31b36d25
baseline version:
 ovmf                 5801910013757bd626f67ed77eea6c16a176eebf

Last test of basis   167729  2022-01-17 22:40:27 Z    2 days
Testing same since   167754  2022-01-20 01:56:46 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michael Kubacki <michael.kubacki@microsoft.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   5801910013..772c5bb8dc  772c5bb8dcb9841f1839dec02f33324e31b36d25 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Jan 20 05:09:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 05:09:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258968.446549 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAPhC-0002qb-FO; Thu, 20 Jan 2022 05:09:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258968.446549; Thu, 20 Jan 2022 05:09:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAPhC-0002qU-CN; Thu, 20 Jan 2022 05:09:14 +0000
Received: by outflank-mailman (input) for mailman id 258968;
 Thu, 20 Jan 2022 05:09: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 1nAPhB-0002qK-0Y; Thu, 20 Jan 2022 05:09: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 1nAPhA-0008HF-TY; Thu, 20 Jan 2022 05:09: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 1nAPhA-00077h-I6; Thu, 20 Jan 2022 05:09:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nAPhA-0000ys-He; Thu, 20 Jan 2022 05:09:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=3N+QchrMnVF82hX5+W7Y7skEuQhtsFuBudjOZirAIAo=; b=5Qryk/ShEtDy0BXqI7IwSX1/48
	ze1uhBDlcGK6M17W7uzHEXfT7VH7vCqbfrsDcb2pYhgOqJMRQCKItq1pzjOTdkZMP+c0mlr3dVaUz
	t/v9H3QODCIujawTVrWgyDk0dIaOXj32WBdcDmsGpUzBFrmmJsgeSEg/qBKushpFERgU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167751-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167751: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-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-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt: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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-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-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-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw: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-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=5e0214cdeee17de949f2565f4429c15173179ae3
X-Osstest-Versions-That:
    qemuu=0dabdd6b3a7ead1183d6f26eaded7d0c332e4cc7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 20 Jan 2022 05:09:12 +0000

flight 167751 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167751/

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 167745
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167745
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167745
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167745
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167745
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167745
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167745
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167745
 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-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-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          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-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                5e0214cdeee17de949f2565f4429c15173179ae3
baseline version:
 qemuu                0dabdd6b3a7ead1183d6f26eaded7d0c332e4cc7

Last test of basis   167745  2022-01-19 05:43:42 Z    0 days
Testing same since   167751  2022-01-19 19:38:19 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex Bennée <alex.bennee@linaro.org>
  Beraldo Leal <bleal@redhat.com>
  Bernhard Beschow <shentey@gmail.com>
  Brad Smith <brad@comstyle.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Borntraeger <borntraeger@linux.ibm.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  David Hildenbrand <david@redhat.com>
  Eric Farman <farman@linux.ibm.com>
  Halil Pasic <pasic@linux.ibm.com>
  Heinrich Schuchardt <xypron.glpk@gmx.de>
  Ilias Apalodimas <ilias.apalodimas@linaro.org>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Jerome Forissier <jerome@forissier.org>
  John Snow <jsnow@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Nico Boehr <nrb@linux.ibm.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <f4bug@amsat.org>
  Philippe Mathieu-Daudé <philmd@redhat.com>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Taylor Simpson <tsimpson@quicinc.com>
  Thomas Huth <thuth@redhat.com>
  Viktor Mihajlovski <mihajlov@de.ibm.com>
  Warner Losh <imp@bsdimp.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   0dabdd6b3a..5e0214cdee  5e0214cdeee17de949f2565f4429c15173179ae3 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Thu Jan 20 07:00:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 07:00:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258977.446560 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nARQG-0004j1-Hw; Thu, 20 Jan 2022 06:59:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258977.446560; Thu, 20 Jan 2022 06: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 1nARQG-0004iu-Eg; Thu, 20 Jan 2022 06:59:52 +0000
Received: by outflank-mailman (input) for mailman id 258977;
 Thu, 20 Jan 2022 06:59:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fK7G=SE=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1nARQF-0004io-RV
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 06:59:51 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8f7d965c-79be-11ec-8fa7-f31e035a9116;
 Thu, 20 Jan 2022 07:59:50 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id A82321F391;
 Thu, 20 Jan 2022 06:59:49 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 7323913CFB;
 Thu, 20 Jan 2022 06:59:49 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id oaxVGmUI6WG0eQAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 20 Jan 2022 06:59: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: 8f7d965c-79be-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642661989; h=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=2KZJ7dpOrpoQgnfImzy80Zel1Z7WNKKERfI5Sl9gGsg=;
	b=mlicGFTyn5+v/dVBkz9rp/r3LFNJGxAISEEb5sytWveoC05SqABTlHfrOHosFx+s2MQa9B
	+PSCvPZ/4jxN3aZnPACxx6PGnhj0H/ADfCDOEs4bDxSlD3QhWNsGox8/ZqLwXWk2F2P2oo
	yBkbzzwt4q4e2penQwALQCGufrkB8zA=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH] tools/xenstore: use talloc_asprintf_append() in do_control_help()
Date: Thu, 20 Jan 2022 07:59:47 +0100
Message-Id: <20220120065947.31587-1-jgross@suse.com>
X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Instead of calculating the length of all help output and then
allocating the space for it, just use talloc_asprintf_append() to
expand the text as needed.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstore/xenstored_control.c | 27 +++++++--------------------
 1 file changed, 7 insertions(+), 20 deletions(-)

diff --git a/tools/xenstore/xenstored_control.c b/tools/xenstore/xenstored_control.c
index adb8d51b04..61bcbc069d 100644
--- a/tools/xenstore/xenstored_control.c
+++ b/tools/xenstore/xenstored_control.c
@@ -853,36 +853,23 @@ static struct cmd_s cmds[] = {
 static int do_control_help(void *ctx, struct connection *conn,
 			   char **vec, int num)
 {
-	int cmd, len = 0;
+	int cmd;
 	char *resp;
 
 	if (num)
 		return EINVAL;
 
-	for (cmd = 0; cmd < ARRAY_SIZE(cmds); cmd++) {
-		len += strlen(cmds[cmd].cmd) + 1;
-		len += strlen(cmds[cmd].pars) + 1;
-	}
-	len++;
-
-	resp = talloc_array(ctx, char, len);
+	resp = talloc_asprintf(ctx, "%s", "");
 	if (!resp)
 		return ENOMEM;
-
-	len = 0;
 	for (cmd = 0; cmd < ARRAY_SIZE(cmds); cmd++) {
-		strcpy(resp + len, cmds[cmd].cmd);
-		len += strlen(cmds[cmd].cmd);
-		resp[len] = '\t';
-		len++;
-		strcpy(resp + len, cmds[cmd].pars);
-		len += strlen(cmds[cmd].pars);
-		resp[len] = '\n';
-		len++;
+		resp = talloc_asprintf_append(resp, "%s\t%s\n",
+					      cmds[cmd].cmd, cmds[cmd].pars);
+		if (!resp)
+			return ENOMEM;
 	}
-	resp[len] = 0;
 
-	send_reply(conn, XS_CONTROL, resp, len);
+	send_reply(conn, XS_CONTROL, resp, strlen(resp) + 1);
 	return 0;
 }
 
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Thu Jan 20 08:14:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 08:14:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258985.446571 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nASaI-0004QJ-Cm; Thu, 20 Jan 2022 08:14:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258985.446571; Thu, 20 Jan 2022 08:14:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nASaI-0004QC-8C; Thu, 20 Jan 2022 08:14:18 +0000
Received: by outflank-mailman (input) for mailman id 258985;
 Thu, 20 Jan 2022 08:14:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YGoM=SE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nASaG-0004Q6-H0
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 08:14:16 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f490c5ea-79c8-11ec-8fa7-f31e035a9116;
 Thu, 20 Jan 2022 09:14:15 +0100 (CET)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2171.outbound.protection.outlook.com [104.47.17.171]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-17-ik-nS1s0O0uqvhw2ZgDs2A-1; Thu, 20 Jan 2022 09:14:13 +0100
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.4909.10; Thu, 20 Jan
 2022 08:14:11 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.010; Thu, 20 Jan 2022
 08:14: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: f490c5ea-79c8-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642666454;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=JOexWuRP+a4nNbGsQFwHnkFkOyyaYXZnRWWHsSi/nNo=;
	b=bnSUqmE6jqWIFAogxfUoVeUuF6KHA+FLT6eftVFfN7p5NLbo/oOyKhYDKvaRskQtvbwrg2
	XjL05d2oWpd8p6EodNo8iMi4/gaQeJrhc9W7UlhGq2YCPdU3QbjfV1lM8Vkefpo5Ul1NRu
	zWeYwHeJBY6nPU961hgK9vJhUBuVAeU=
X-MC-Unique: ik-nS1s0O0uqvhw2ZgDs2A-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MbUAxqKcStDTe0DiJ5Qy8oEd6wqUJze3OhKej/jdQg4VCUUVnSivdOrce9KtIxNm7U0zuTuym2OAEJ8C+9vs/QhzfEB4nf7JRZRTOlIw3ySxckhJ1PZH9av5FHraUL8R4/uabipvftqcsxfCfORyVGYpfMBoiJ7EBBn8Tey4Jiko6RLA3OIvH8opKy3etDHqGYfqc3G7+NVUCVJQryUb9zbwauIhvjSIOjHS4zP5OAGiVkLO1FJ5+OHk1E7FuWozqqNB+7DzdH/dxWBzFN49YVsZwCwjwvp+OM5rEegpzy2OxRSNFKG20j0bbHoSY1teiry4PoTu0Xtjk8uweV7J9A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=u0x7qwCjE9UBVPjoPWKclpkFOfPmomR+s1KzDPSfnTc=;
 b=etkMdg3kjeVllB6H+Qu8kHUp06L3il1VPSfwWiHbL+vsymZYF85yS01d0tLZtQUoacGPdihyhMqRWIt1KwJORmsI1k3gEQueaZ7pXxeanP2CCfAcjwExyM8qBooleppx4jA9qj0E9B2HUiIf35NLQxJsKS5zKGCVFoYCMVhYc5KMFJwiDPFpKtYAmPmUTdzBTjet0ihyGj6TJEJb5FwyHJ0AHDDKzPnRsGoQyLhcKptnl2Z78v9FNfnwu2bY31yJPxv1HeRUSU9Sm5GmfrmLjktnrhAtMMGJT+TufdelWn2oSSBvyQcKX6+8LvnkGRoG5xihxe5sx1nVGdzhWdhsuQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ad0c183a-ff7b-c560-ed3b-469d3f5c5b0a@suse.com>
Date: Thu, 20 Jan 2022 09:14:09 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v2 4/4] x86/spec-ctrl: Fix NMI race condition with VT-x
 MSR_SPEC_CTRL handling
Content-Language: en-US
To: Andrew Cooper <amc96@srcf.net>, Andrew Cooper <andrew.cooper3@citrix.com>
CC: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
 Kevin Tian <kevin.tian@intel.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220117183415.11150-1-andrew.cooper3@citrix.com>
 <20220117183415.11150-5-andrew.cooper3@citrix.com>
 <3395e756-fa47-8d94-148a-03a573331e5a@suse.com>
 <74c2961b-29e1-9641-8a8b-b7cb0598b7be@srcf.net>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <74c2961b-29e1-9641-8a8b-b7cb0598b7be@srcf.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM6P192CA0010.EURP192.PROD.OUTLOOK.COM
 (2603:10a6:209:83::23) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f830a537-d1d0-4e89-b042-08d9dbecd689
X-MS-TrafficTypeDiagnostic: VI1PR04MB5741:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB5741BB1890939831F7ADC808B35A9@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:
	RWnJt/h8tvIoZCqKoZoeQs27R/7UxkAUPpjTyMT5AmSIYlZ/DlCV3ft3ZPK/iUU0ENKqGeAC5HEXZU4z8iQcXOrHvdlxKoNnJ2Hnam/JSIeZK7JOib57TGKJIYISb7TfkXhpds0nv5TlKGvQsMIPG1LWafUOOQmM2iF7w3/eAAIce4Tj+1NALgpdR1SOcuswLlBp5rLsrrlDRPXrCDi14xn9UpBuYj13lDLbkheIyQrD8wKX9s+nl5jQNI7ExdPUzpAL03we4l5v4Q0yz7u7J0hvMauX9tx1j3Qr2YlOonfOvGnJjjtWvQrkzFwaN9qWaoViGwas/h4N0rNZZbk8tNcBUdQEV1KD1oatAl9KbWMoKY1qfZDZaLUotGxH/N7jcNrbEjj5OuuPhxpW4vJ3EvVDktaBeemu4iHyg1vOFGnqfbkPA4Jy0IiujNbR/chK4ErTVtIgDHksi8L2v3YjdNGsw+LKrE4mscBVJYvvHsCrQm9GfQvkTXl34j1JF3OThy/sTfnV1dxp0gS9u7aNGOYzaRuyYr74BdquvN+YyezbFTaRNOzKRGZv1ecYs1dJV9Q/s64w69k429dn7+sSoGBAKxwFtiLftvPRaewVq9hKckxC4MRooVRZz3BXMio9E0cpBw44ejUW1dHYzceaN79vHXmihogUeFeNnXGvQLtT7XnsQT6cJdEfdbBcfa1owBhrZ07XqTVnlM612vxyB5tjOrEFFMvrilwwIFm0k6E=
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)(38100700002)(4326008)(508600001)(31696002)(86362001)(316002)(6512007)(26005)(5660300002)(36756003)(110136005)(54906003)(8676002)(53546011)(8936002)(66476007)(66556008)(186003)(6486002)(31686004)(2616005)(6506007)(2906002)(83380400001)(66946007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?VdzegPPkq+yWX09P2sEgjuf5V87uDpdJgqmoQ+QPExMwDS+x9JcBuQIVCqDj?=
 =?us-ascii?Q?qqKaYdaC9MTg9t2OcC1CBJU56/sIhjkAHIQgbrPGUhTNEUObTBR9VOZePwWd?=
 =?us-ascii?Q?MrxvmpYhzPmnH0AU34ycYATHp65xQkGxpcCK8ly9ZS/+4mvh9hYTQ8edyBMS?=
 =?us-ascii?Q?YuljCc8Mj5HrEhOqvIp/sZas2+KkE5W76qdXzBGAMuzb6JZih83uw4uoazsl?=
 =?us-ascii?Q?FXY4CM2WgMrZQRB9OXftn9taqxfoqfCJD4bb2/LkVXYRnDwtUqA9xf8pM03U?=
 =?us-ascii?Q?ZNzfxJDgeblfP9X4UT11iae3ereW07xJ5HB/XWCFXy31h189dLydzChfOKu3?=
 =?us-ascii?Q?p8CFkyn23GNOw3rJLQ80PAZL2quLNvx0PyYuD0xMKb3jVOwUtuUYMCsK51W5?=
 =?us-ascii?Q?5OXerNkHS9lryADYZLHLcvo1LpEJS2WNOEwm61aOwn26fW9X9ij8UcXq7Av+?=
 =?us-ascii?Q?KFA8Vue0dPPAIWgGO9p4RNgd6wqhSCA1tW02Hk54SpN5ZBd3340CTt6uFsyk?=
 =?us-ascii?Q?aNaU36HjTeSydW/V6Nq2VFcwYU7SODw83Lw+yX4KplADywxQD+H815WLDqrg?=
 =?us-ascii?Q?FDzp3RpKo0piGXn3ekkWSbxJKSuDyVG5R0U3/OmFkV9pU6HrAuMv+PDCR1LE?=
 =?us-ascii?Q?aOusyprF9eQW8x/QytMSuRk+rnTEKP0Oveeddqrqew4ZLU1TSWjc1LVSqANa?=
 =?us-ascii?Q?kjZrisYXbEA8v9+Jlo8KGu2SdWiAPg49uik5Z1OKGSVkNtbIdvTANhNwnqzU?=
 =?us-ascii?Q?4sQHbwQeQjkm0EB3tZzGsXGjGandpzALa7bl0F0SELQXGfYwfxvMYnOgqkuw?=
 =?us-ascii?Q?K3QG51sahO0Wp9g6ce89RQVVzj3z6+U4O++fF4moR+xhtvjmpHNICjBNpF/L?=
 =?us-ascii?Q?mZib/ep38gFJFeC/cMadVFJeOQw+n/3hb1d0BZT+F6/W0vddp4La48Iv+gxF?=
 =?us-ascii?Q?YOLGfscW7/UpHWLTgU0CvxXOwihNr7qZzYjAqHmzi6QSFNCuxSu9o/pR5yZ3?=
 =?us-ascii?Q?96kYhvrb/aDw/84doxFN41QcKfARka/aFfXHEYa1IkI2zR3w3ZlqRbFXUUTb?=
 =?us-ascii?Q?HCZQ+F5YzoKKovirTyN9hwLAaDN/jzpPFqBVogvVct+4Gp9ORvdX+10uDX+U?=
 =?us-ascii?Q?CeB0/2VQyAWG+okQofEt89sdpzCX78q6ydisIucP9Vtx2CqA0pG+k4Z0OrLp?=
 =?us-ascii?Q?JwQ/dWG2tpkqAWpY7m/NUpCZavziHtHBsOYUoe0ZJ0+8nC71rmeN0oIC9MHx?=
 =?us-ascii?Q?FdAI1Sx71OnUPPogaUFaQ8xHoP7RT51xrURMUBhbluUFn6DxvlYflj/H+qhS?=
 =?us-ascii?Q?wS+7phHpadks8auAQG26vf4qe/ZCcXkyDT0slcMl+ZF67rBSRv/dPNBHqSlr?=
 =?us-ascii?Q?1p/l6X/VQi2UqPUCxm5NjWDgtQVE11/CNnnmraQtwgdOIyr+zt+RzaMRw0RO?=
 =?us-ascii?Q?Tj6ntKfpyZiY8vM7ufSABGUn4JsVL7K/kLKO58E7GV3cjTTR9UspckEkssC+?=
 =?us-ascii?Q?/8vGY+TkHLJD1a17dO+etuLO12NhcZrHvNOit+moKdwRwixBRXacU3/TWYxV?=
 =?us-ascii?Q?CXmW8xvyxwdUjNG8AYTs2xpctDn1u+H7E2vb+iF0iiua/w0mpvl6KRO62rL+?=
 =?us-ascii?Q?wg5x4sGpzwYf4nKqEn8rzAc=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f830a537-d1d0-4e89-b042-08d9dbecd689
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2022 08:14:10.9637
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jfZDFpe19X1b3x8JOZI9ltJ14b2pEBylt5kmIZgbLstACS9SzPMbL7XoCKlBI1ckfCEXb9CsdnhBIBG/gZwTjQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5741

On 19.01.2022 18:00, Andrew Cooper wrote:
> On 19/01/2022 13:42, Jan Beulich wrote:
>> On 17.01.2022 19:34, Andrew Cooper wrote:
>>> --- a/xen/arch/x86/hvm/vmx/entry.S
>>> +++ b/xen/arch/x86/hvm/vmx/entry.S
>>> @@ -35,7 +35,14 @@ ENTRY(vmx_asm_vmexit_handler)
>>> =20
>>>          /* SPEC_CTRL_ENTRY_FROM_VMX    Req: b=3Dcurr %rsp=3Dregs/cpuin=
fo, Clob: acd */
>>>          ALTERNATIVE "", DO_OVERWRITE_RSB, X86_FEATURE_SC_RSB_HVM
>>> -        ALTERNATIVE "", DO_SPEC_CTRL_ENTRY_FROM_HVM, X86_FEATURE_SC_MS=
R_HVM
>>> +
>>> +        .macro restore_spec_ctrl
>>> +            mov    $MSR_SPEC_CTRL, %ecx
>>> +            movzbl CPUINFO_xen_spec_ctrl(%rsp), %eax
>>> +            xor    %edx, %edx
>>> +            wrmsr
>>> +        .endm
>>> +        ALTERNATIVE "", restore_spec_ctrl, X86_FEATURE_SC_MSR_HVM
>>>          /* WARNING! `ret`, `call *`, `jmp *` not safe before this poin=
t. */
>>> =20
>>>          /* Hardware clears MSR_DEBUGCTL on VMExit.  Reinstate it if de=
bugging Xen. */
>>> @@ -82,8 +89,7 @@ UNLIKELY_END(realmode)
>>>          mov VCPUMSR_spec_ctrl_raw(%rax), %eax
>>> =20
>>>          /* WARNING! `ret`, `call *`, `jmp *` not safe beyond this poin=
t. */
>>> -        /* SPEC_CTRL_EXIT_TO_VMX   Req: a=3Dspec_ctrl %rsp=3Dregs/cpui=
nfo, Clob: cd */
>>> -        ALTERNATIVE "", DO_SPEC_CTRL_EXIT_TO_GUEST, X86_FEATURE_SC_MSR=
_HVM
>>> +        /* SPEC_CTRL_EXIT_TO_VMX   Req: %rsp=3Dregs/cpuinfo           =
   Clob:    */
>>>          ALTERNATIVE "", __stringify(verw CPUINFO_verw_sel(%rsp)), X86_=
FEATURE_SC_VERW_HVM
>> I notice you did update this clobber remark, but what about the one furt=
her
>> up in context?
>=20
> What about it?=C2=A0 It still clobbers %eax, %ecx and %edx.

Oh, sorry - I did look at DO_OVERWRITE_RSB only, not paying attention
to the now open-coded 2nd part, which - due to the blank line - doesn't
appear connected to the comment anymore.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 20 08:20:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 08:20:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258988.446582 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nASgF-0005t5-4r; Thu, 20 Jan 2022 08:20:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258988.446582; Thu, 20 Jan 2022 08:20:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nASgF-0005sy-1l; Thu, 20 Jan 2022 08:20:27 +0000
Received: by outflank-mailman (input) for mailman id 258988;
 Thu, 20 Jan 2022 08:20:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YGoM=SE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nASgD-0005ss-II
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 08:20:25 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d0effeb5-79c9-11ec-8fa7-f31e035a9116;
 Thu, 20 Jan 2022 09:20:24 +0100 (CET)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2110.outbound.protection.outlook.com [104.47.17.110]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-6-1HQw7YFVOaO7c-LBcwPFtA-1; Thu, 20 Jan 2022 09:20:22 +0100
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.4909.7; Thu, 20 Jan
 2022 08:20:21 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.010; Thu, 20 Jan 2022
 08: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: d0effeb5-79c9-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642666824;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=CW5edXKsYj6Jy3FFLIJTcNmSAo0W82FFljm293DnGD0=;
	b=kgqUtA2NNbRnuTO7S9D7HHHTjrYVKu3kOQSSteEzwqEx33WiTWubYpGe+n7Ncn7GRSkioP
	FG5kc9EPghxB/smmW+enWKpjm/5NvQcve0ERM7tIQrBFFl8X+BXJ5Sj8wnqn7GPNvoLBts
	6Mb7MiWVwm7SQO61HshyMy1HE4pVcCE=
X-MC-Unique: 1HQw7YFVOaO7c-LBcwPFtA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eo2b1AH7EuDTX5CKlFl/+uo4zFU9X5X1/SB8qGwXKLGPZjeSD6YWF6sQpDyfCoooitbD63UTn7y+MH2dETV5gBobbJVJTnKB+YdC601f6R0LGB25kJhRjVoAraw4xrrAxF6ejR9UylDFDYT4Roll94rkVPailpsW86S7Pl+fZC+q567yPgsA2Sxq1PBV7HvIGVr24rN15pwzpgdC3G9M1yw/Oy/xYNrhaKkavg8vGlZbvuytm8GnL5FMaTPe4u6uWFZTfkJ33AHRLgheT5sFVUBxTtSmDp6slczmq+cA7GMmF/7bKV3n8pW/Ee2sc731/rANplnMCszfIHUQ1hpEKg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SVIK3q3Oud0kz3uUhJVhqPyT6WLzLJHxvBedrAC3yy4=;
 b=bdzy2Acj+efynAkpJTZPwsBHu6PLh5Z1zZJbMOwmuKdhipUDWFVyi2YlPzoEdMwLZkPgm91wxIyEbxrKcLPpcY2TfF8KfwVMZmaJZ7db30M+4YuqXgOCukxOKL9tbf2/qByR02+1HXVk9YfZZDGGQw0Rcj4W36mQxZnuqLXwu0GABRv8rcH5uNRPsq5zo955/WDsHdb+lsYF6UxkxSA+T40Pjn50YuSU0jgOuvBZN58uS/CN4JIB7DB0/W1PdsIvLCiMiokD+5IAtL30tVWiAc6tKAyjK9zNa3CTFPhddx569V1PT8LEIkJABUShEaEjlU1lA78Ih743KTztEhJyuQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0323edc1-338c-a1a4-d5e0-a59950bb8dba@suse.com>
Date: Thu, 20 Jan 2022 09:20:18 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v2 5/4] x86/hvm: Drop hvm_{get,set}_guest_bndcfgs() and
 use {get,set}_regs() instead
Content-Language: en-US
To: Andrew Cooper <amc96@srcf.net>, Andrew Cooper <andrew.cooper3@citrix.com>
CC: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
 Kevin Tian <kevin.tian@intel.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220117183415.11150-1-andrew.cooper3@citrix.com>
 <20220117192533.6048-1-andrew.cooper3@citrix.com>
 <93ec9bab-0a21-365b-3bcd-0fbf70bdbbbb@suse.com>
 <00b2e4ee-eb60-d336-b9af-04e410fdc5e2@srcf.net>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <00b2e4ee-eb60-d336-b9af-04e410fdc5e2@srcf.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM5PR1001CA0025.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:206:2::38) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ee4478c5-97ae-4e5a-0295-08d9dbedb323
X-MS-TrafficTypeDiagnostic: VE1PR04MB6480:EE_
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB6480098699B4661212BD768BB35A9@VE1PR04MB6480.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:
	5IdysYlGUMBusrZYOrKV0YFnQkEuCC1MTExel/0hE2wBtMylLClzj37P1q6VR7YaD9QAnHCdTXVFVqW5JSzHZ1ldANgqHEpapCUGiH3bsoFvH9LRniNCnw1N/fbaenTu6rWQ80FyaeknprfUepj+R8s1wGQiHPaIQiE5Np4fYZgsenmQXG6luPMtYtp9Daxa6U3AlcDTp1si7diq+7nhF4CUl5xnvnd9Lwym0dhd3xgnVbeS5gVGbpUc3xX47M392J/LRqxal/YYocnxKl4b1vARS3Y3K55NvfMr2M0CcDF58TaUGpKKQsqfLKWPbkSrnum+czS9BXVGx5JIF8JArMhVp7JqKgJ9q9QOCpCc5ThlxRQA379EFe9e9xBOp2LV7zIOKG6QdIzj+gZg5/7iqHjBIF9Z5H0QPX617K3GyNRPfdDhUcUrmt73LmDoWHIcwYxHFG+2DC0OM5BXYb30f9Te5vrKPb6QcEoKoO9pqz8U8h/O3e2xkp+eWHJtaPurkbXANXFzX/Dh2biKuufPlGorBpVmjFt4hCwMNVmr9dN4TpKfE/inZ853nKu3QpRVvtjBz6NIfi9AAzM36qZq4TDy+rc0IwXLT1119+0FT19LMIXgomc9lQ+kMGsLN5sWFGxlerR7y28d1Zi8u8WFvRAixUZN7u4gjOu7RUb3A8v6vHSfKu67yJL+XFT2MweHc7CYcmMiBZBrU2UfzYEh3a0f3ISUCadiEtkPeOb3Zmw=
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)(36756003)(5660300002)(8676002)(8936002)(4326008)(54906003)(66946007)(66476007)(66556008)(6666004)(6512007)(110136005)(2616005)(6486002)(31696002)(26005)(316002)(508600001)(53546011)(6506007)(31686004)(186003)(38100700002)(86362001)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?peGM71ZajEYHfWmR97rdGO7lnNTbg5gIuHh0bFPOiGr1XrlGmi8io0Bk7vzj?=
 =?us-ascii?Q?mUCZgU9vwISpTxqaym/tdakGS+4THDGCuoXmOYePI6+8qmdDXpyYHI3ROrAa?=
 =?us-ascii?Q?qZjIkcIUOe92dMCuaq0ITRUux07WQTyaySZ1owUiaF3xqNpgEDihIcteqQhC?=
 =?us-ascii?Q?soUCXG6hGbQfXCYhPk7e7wv4/F0fXNrpvXB8kLz+G09jd6kChyW4lRBxK7fI?=
 =?us-ascii?Q?oh0EFPP+2at4yjsM7TLF7wNVwyEzB1qDhDsZbKIrE6UZz5rSiQWmL2Dl89VA?=
 =?us-ascii?Q?1X0S7tXPQENFsOYUReYHp2pYwt2TDJb+qtwD54ryddu0hEEwKoNms1lC6pGq?=
 =?us-ascii?Q?sbEiiICGrO1b8llqNkyJvDCoDfb0xbsy3KAgDUwq6DLiXSkUvqHMCE/N2wx0?=
 =?us-ascii?Q?9zVV1diOzNUJUTCh7Z6A3o/piHjtAw+ChNSs4+qeU8DVSsoYE9/4gb8Qk3Xw?=
 =?us-ascii?Q?tRYrKYevRSRzylXs5tYAod1uV+WwIkBxRMOm3h6mxSiWQNkBe9KC+DGl1hd/?=
 =?us-ascii?Q?vGPXysiaYqJx5eWxEmGSemf1gMg2yObFDI807VN0iqxNHrThwMzC5sUOkeC1?=
 =?us-ascii?Q?ogok1y8IwWLawbGwuHRRa+N35vw5rG4mWknsmbGd1dCLQhnhbH5x75e8LWhF?=
 =?us-ascii?Q?kzZelpu0/29U5xqwMJblouo5FAY++z80rwlqbVmxjc04Ps6rJyfu73qcv0jj?=
 =?us-ascii?Q?C/yONekTAdSuY9CtVjYmCc6kqOyBkm4dcdTg5d8rrDt7aEk6eQ1L3vfLzbNH?=
 =?us-ascii?Q?+2AcU4CSsaN5cmgICzmUxSHpXHupRHBOnCArSyF6D0GkOHm0glqdMcIuAXOL?=
 =?us-ascii?Q?PmikfIdyuKisLab6vjt+Ua7Fjw74qIwclTrYhvOgtCaNj/Vt+voS1K4Et5Pv?=
 =?us-ascii?Q?7L1n0rW7ombV3PwjTQr2JA/qHJ42dRT7k0MxxzuMxTeueHAMxPfdOHzTeRsp?=
 =?us-ascii?Q?GCeJb5mXgwFn3XzlsBOC1F6JptnYrENxbWUTRCJc/AwMv17/MS+/6zrlGzL6?=
 =?us-ascii?Q?IUsYFbSxgGsOyN1rRVcdYncmT828bHsRmjMcO48PrimH4snqCNvHtLVv/9it?=
 =?us-ascii?Q?cQz7ji9cu6PMbR/CiCDrzVKjPzxAQGYQdHAGf1joLtIz55l/wd6k5aP9yNUS?=
 =?us-ascii?Q?FPyTRoMdknLEYwnzpiHKzr63wTGSV59ox87h0TKFyuyjsYBizxXgIbHVrANT?=
 =?us-ascii?Q?Kf/u91RtPNCb++pKQ3yBNROuePydFrgWkospqrEEGd3HQkllTKxgM8MqAKXR?=
 =?us-ascii?Q?y/8X7FtqlV1nQv8J7hk3Gls6ef3hLBtLx03/sjer2ig3SVAsNZMBfzP2Y6nx?=
 =?us-ascii?Q?wII3mVezQMF5f7kQ0OADlknkjmZLXgVLifnuqOpUZemXbcdKFize6k5xd4sH?=
 =?us-ascii?Q?0a389X4OsB5UJPOiGJ2W+X9vKasqFaps6vDR0pMoO3h2CsQ16jMFzOeaEU/T?=
 =?us-ascii?Q?xWzKDjGNSRi3vX/tgO/biA+L8zTgIWKx2FPQGh7FV/8lIJtvBUef5tcZ9Ehm?=
 =?us-ascii?Q?ESP+EQpIaD7OJrfDRLHiTHu2XdCHtZl9+Z/jB8DptIi3xxKvDxi/z3diJpm6?=
 =?us-ascii?Q?5Z0SKG6A7ZZIWwPa/2VBKhQXe4HCmyRFf28J5JRqG7CQ27LPcWLS/l4k/xi2?=
 =?us-ascii?Q?byjwbRJKu4vGawTmN+BZ/eI=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ee4478c5-97ae-4e5a-0295-08d9dbedb323
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2022 08:20:21.0213
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1YwNMvFc+ltqMxkuEX/QAuVB78ZAjHEG3o5n0JlRelfwIVldhwhPFdareF/aCpCw4WnIzk246wIiZQGSCp9O5Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6480

On 19.01.2022 17:53, Andrew Cooper wrote:
> On 19/01/2022 13:50, Jan Beulich wrote:
>> On 17.01.2022 20:25, Andrew Cooper wrote:
>>> @@ -323,10 +324,9 @@ int guest_rdmsr(struct vcpu *v, uint32_t msr, uint=
64_t *val)
>>>          break;
>>> =20
>>>      case MSR_IA32_BNDCFGS:
>>> -        if ( !cp->feat.mpx || !is_hvm_domain(d) ||
>>> -             !hvm_get_guest_bndcfgs(v, val) )
>>> +        if ( !cp->feat.mpx ) /* Implies Intel HVM only */
>> Wouldn't it make sense to accompany this comment by ...
>>
>>>              goto gp_fault;
>>> -        break;
>>     ASSERT(is_hvm_domain(d));
>>
>> (and then the same on the "set" path)?
>=20
> So this is the reason for the default logic in the {get,set}_reg()
> path.=C2=A0 The absence of MSR_BNDCFGS in the PV and SVM paths will cause=
 the
> VM to be crashed cleanly.=C2=A0 If you're on a VMX on a non-MPX capable
> system, the VMREAD/VMWRITE will hit a BUG (which in due course I want to
> downgrade to a domain crash).
>=20
> It's a bit more friendly than an ASSERT() (doesn't take the system
> down), is present in release builds too, and more precise as it excludes
> SVM too.

I see, makes sense.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 20 08:34:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 08:34:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258991.446593 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAStc-0007O4-Ep; Thu, 20 Jan 2022 08:34:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258991.446593; Thu, 20 Jan 2022 08: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 1nAStc-0007Nx-Bm; Thu, 20 Jan 2022 08:34:16 +0000
Received: by outflank-mailman (input) for mailman id 258991;
 Thu, 20 Jan 2022 08:34:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=UNBF=SE=lst.de=hch@srs-se1.protection.inumbo.net>)
 id 1nAStb-0007Nr-9o
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 08:34:15 +0000
Received: from verein.lst.de (verein.lst.de [213.95.11.211])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bdd17b4e-79cb-11ec-bc18-3156f6d857e4;
 Thu, 20 Jan 2022 09:34:11 +0100 (CET)
Received: by verein.lst.de (Postfix, from userid 2407)
 id E093568AA6; Thu, 20 Jan 2022 09:34:07 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bdd17b4e-79cb-11ec-bc18-3156f6d857e4
Date: Thu, 20 Jan 2022 09:34:07 +0100
From: Christoph Hellwig <hch@lst.de>
To: Chaitanya Kulkarni <chaitanyak@nvidia.com>
Cc: Christoph Hellwig <hch@lst.de>, Jens Axboe <axboe@kernel.dk>,
	Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal" <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	"linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
	"dm-devel@redhat.com" <dm-devel@redhat.com>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
	"linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>,
	"linux-nilfs@vger.kernel.org" <linux-nilfs@vger.kernel.org>,
	"ntfs3@lists.linux.dev" <ntfs3@lists.linux.dev>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"drbd-dev@lists.linbit.com" <drbd-dev@lists.linbit.com>
Subject: Re: [PATCH 14/19] block: pass a block_device and opf to
 blk_next_bio
Message-ID: <20220120083407.GA5321@lst.de>
References: <20220118071952.1243143-1-hch@lst.de> <20220118071952.1243143-15-hch@lst.de> <245eaa0a-0796-0227-4abf-d1b78953557e@nvidia.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <245eaa0a-0796-0227-4abf-d1b78953557e@nvidia.com>
User-Agent: Mutt/1.5.17 (2007-11-01)

On Tue, Jan 18, 2022 at 10:11:06PM +0000, Chaitanya Kulkarni wrote:
> On 1/17/22 11:19 PM, Christoph Hellwig wrote:
> > All callers need to set the block_device and operation, so lift that into
> > the common code.
> > 
> > Signed-off-by: Christoph Hellwig <hch@lst.de>
> > ---
> 
> I sent out the exact patch for this one, anyways looks good.
> 
> Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>

I'll switch attribution to you.


From xen-devel-bounces@lists.xenproject.org Thu Jan 20 08:37:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 08:37:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258994.446603 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nASx5-00081x-Vf; Thu, 20 Jan 2022 08:37:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258994.446603; Thu, 20 Jan 2022 08: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 1nASx5-00081q-SU; Thu, 20 Jan 2022 08:37:51 +0000
Received: by outflank-mailman (input) for mailman id 258994;
 Thu, 20 Jan 2022 08:37:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=UNBF=SE=lst.de=hch@srs-se1.protection.inumbo.net>)
 id 1nASx4-00081k-Tm
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 08:37:50 +0000
Received: from verein.lst.de (verein.lst.de [213.95.11.211])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4025aab8-79cc-11ec-8fa7-f31e035a9116;
 Thu, 20 Jan 2022 09:37:50 +0100 (CET)
Received: by verein.lst.de (Postfix, from userid 2407)
 id D6EFC68B05; Thu, 20 Jan 2022 09:37:46 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4025aab8-79cc-11ec-8fa7-f31e035a9116
Date: Thu, 20 Jan 2022 09:37:46 +0100
From: Christoph Hellwig <hch@lst.de>
To: Jinpu Wang <jinpu.wang@ionos.com>
Cc: Christoph Hellwig <hch@lst.de>, Jens Axboe <axboe@kernel.dk>,
	Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal" <haris.iqbal@ionos.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org, dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org, linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org, ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org, drbd-dev@lists.linbit.com
Subject: Re: [PATCH 10/19] rnbd-srv: simplify bio mapping in process_rdma
Message-ID: <20220120083746.GA5622@lst.de>
References: <20220118071952.1243143-1-hch@lst.de> <20220118071952.1243143-11-hch@lst.de> <CAMGffEmFZB1PPE09bfxQjKw-tJhdprEkF-OWrVF4Kjsf1OwQ_g@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <CAMGffEmFZB1PPE09bfxQjKw-tJhdprEkF-OWrVF4Kjsf1OwQ_g@mail.gmail.com>
User-Agent: Mutt/1.5.17 (2007-11-01)

On Wed, Jan 19, 2022 at 01:20:54AM +0100, Jinpu Wang wrote:
> this changes lead to IO error all the time, because bio_add_page return len.
> We need  if (bio_add_page(bio, virt_to_page(data), datalen,
>                      offset_in_page(data)) < datalen)

Does this version look good to you?

http://git.infradead.org/users/hch/block.git/commitdiff/62adb08e765b889dd8db4227cad33a710e36d631


From xen-devel-bounces@lists.xenproject.org Thu Jan 20 08:46:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 08:46:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.258997.446615 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAT5Z-00010o-RE; Thu, 20 Jan 2022 08:46:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 258997.446615; Thu, 20 Jan 2022 08:46:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAT5Z-00010h-NT; Thu, 20 Jan 2022 08:46:37 +0000
Received: by outflank-mailman (input) for mailman id 258997;
 Thu, 20 Jan 2022 08:46:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YbOW=SE=ionos.com=jinpu.wang@srs-se1.protection.inumbo.net>)
 id 1nAT5Y-00010b-Fy
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 08:46:36 +0000
Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com
 [2a00:1450:4864:20::534])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 790d3e33-79cd-11ec-bc18-3156f6d857e4;
 Thu, 20 Jan 2022 09:46:35 +0100 (CET)
Received: by mail-ed1-x534.google.com with SMTP id m4so25409045edb.10
 for <xen-devel@lists.xenproject.org>; Thu, 20 Jan 2022 00:46:34 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 790d3e33-79cd-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=ionos.com; s=google;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=cgwK+h4TcKTuzoMVgpyjaT6hqJgZPgeFi9/82jcEytw=;
        b=bSaFa+URfbmU/MszEXVOlamjch2d/bVKLmiJuU4jZJRaWnRGqGHrY9tAQfmQRbRXiV
         uc/9kTk3/S5l1jHMLdTRmVU57otES44XeerqdTVprmM6I9EDUZQLX+yH0h63YbxWR9mE
         9nbGRPoufn7nse+dFWj62siY9k2GshoKLCrxbi33+uXmG5HvTOiNXAwJCNJOjjOHmaSp
         XOP01luyWgvqHzNdBA4wIYoRQp0k9Ft6zqCX+Ra/R90oY2R7/AxbMlg/sS1PwZuWZg03
         Z3JDZLtjXW1ZdUyTLOQOdSV8iGdn5zWa6hPXzsGCHlb9LWK1Z0CByscOqozFwyTfAd7X
         /t3g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=cgwK+h4TcKTuzoMVgpyjaT6hqJgZPgeFi9/82jcEytw=;
        b=yZRWVUi81W0QNsLqeyq3zlHT9lg5hU/P0eAV1BlfntXncPYSH/ku58ruYHNFCI3rrG
         Oz/nvGouMfCYvH6hT1c2/tPFO7Ox5aqjxDPjQUa76v4ImitY+vl6KvMCKNVNtX7XPm9L
         Wb+g58NZ6eOiobFQV6y6Ku3dWVedIFNUu34lCm04OXEZLJ+03tvqSSquTYgVG9Vd4iZs
         r6D+Mj9m/ywIfshfMO1PL8JUXNQj6XZNv2vZivQatlJjgGPn7E34Ni1egjJUF1BSwkb6
         sMVsF64vHDVO2QMBTB3ka+WGnJq5gdRA824h1qE/6eWGoyzmivsmwpr1Ye9B32cgUcI6
         Fq0Q==
X-Gm-Message-State: AOAM533iBIQ5pY9B0GqszzcAJJJEF/pp5RoTt7HiAYWKfkXSqVyoI8Mt
	6NWyFMoi+PN89cjG5DCC9tMsnJeVCDA7qWyXOVjRww==
X-Google-Smtp-Source: ABdhPJxuyj+5hYqiz1QG79H/zXO6tZsV+Dq+Pw3BW6UC4M2lhhCbPthTcTo8B1M9EwB4FqJ6g90lXSpEfvPIb7w08Cw=
X-Received: by 2002:a05:6402:195:: with SMTP id r21mr34247351edv.174.1642668394471;
 Thu, 20 Jan 2022 00:46:34 -0800 (PST)
MIME-Version: 1.0
References: <20220118071952.1243143-1-hch@lst.de> <20220118071952.1243143-11-hch@lst.de>
 <CAMGffEmFZB1PPE09bfxQjKw-tJhdprEkF-OWrVF4Kjsf1OwQ_g@mail.gmail.com> <20220120083746.GA5622@lst.de>
In-Reply-To: <20220120083746.GA5622@lst.de>
From: Jinpu Wang <jinpu.wang@ionos.com>
Date: Thu, 20 Jan 2022 09:46:23 +0100
Message-ID: <CAMGffE=+ENBdRfugG4k3yB_ca3rqwnaKFXC4+8=CZ=LGvggA6w@mail.gmail.com>
Subject: Re: [PATCH 10/19] rnbd-srv: simplify bio mapping in process_rdma
To: Christoph Hellwig <hch@lst.de>
Cc: Jens Axboe <axboe@kernel.dk>, Pavel Begunkov <asml.silence@gmail.com>, 
	Mike Snitzer <snitzer@redhat.com>, Ryusuke Konishi <konishi.ryusuke@gmail.com>, 
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>, 
	Andrew Morton <akpm@linux-foundation.org>, "Md . Haris Iqbal" <haris.iqbal@ionos.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.co>, 
	Philipp Reisner <philipp.reisner@linbit.com>, Lars Ellenberg <lars.ellenberg@linbit.com>, 
	linux-block@vger.kernel.org, dm-devel@redhat.com, 
	linux-fsdevel@vger.kernel.org, linux-nfs@vger.kernel.org, 
	linux-nilfs@vger.kernel.org, ntfs3@lists.linux.dev, 
	xen-devel@lists.xenproject.org, drbd-dev@lists.linbit.com
Content-Type: text/plain; charset="UTF-8"

On Thu, Jan 20, 2022 at 9:37 AM Christoph Hellwig <hch@lst.de> wrote:
>
> On Wed, Jan 19, 2022 at 01:20:54AM +0100, Jinpu Wang wrote:
> > this changes lead to IO error all the time, because bio_add_page return len.
> > We need  if (bio_add_page(bio, virt_to_page(data), datalen,
> >                      offset_in_page(data)) < datalen)
>
> Does this version look good to you?
>
> http://git.infradead.org/users/hch/block.git/commitdiff/62adb08e765b889dd8db4227cad33a710e36d631

Yes, lgtm, thank you!
Reviewed-by: Jack Wang <jinpu.wang@ionons.com>
Tested-by: Jack Wang <jinpu.wang@ionos.com>


From xen-devel-bounces@lists.xenproject.org Thu Jan 20 09:23:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 09:23:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259000.446626 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nATey-0005AQ-Ly; Thu, 20 Jan 2022 09:23:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259000.446626; Thu, 20 Jan 2022 09:23: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 1nATey-0005AJ-IZ; Thu, 20 Jan 2022 09:23:12 +0000
Received: by outflank-mailman (input) for mailman id 259000;
 Thu, 20 Jan 2022 09:23: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 1nATex-0005A9-5U; Thu, 20 Jan 2022 09:23: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 1nATex-0004pZ-26; Thu, 20 Jan 2022 09: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 1nATew-0002UW-Nt; Thu, 20 Jan 2022 09:23:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nATew-0007WE-NO; Thu, 20 Jan 2022 09:23: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=TO+FFa8wht9XM5mW7SM7RJ/xp7QA2kDnv45vd1bT9IU=; b=Oaq9Gz1wYTIv/dJxUsyEmZxzmi
	hGjVSTOP1fv0Q6Lsmd2PrLH+RXCAzMoSEXB3AqGkA+0nZvHR8JH66IlUeImdux/kcWkO0q9arIuI5
	4Bv3NA+NOAsQRyPc34Qo1YLeR0U/amXMhR49jUljDOvQ2MGPR0bEtCk1ZiGVPsIItoD8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167752-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167752: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl: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-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-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw: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-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-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-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-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl: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
X-Osstest-Versions-This:
    linux=1d1df41c5a33359a00e919d54eaebfb789711fdc
X-Osstest-Versions-That:
    linux=455e73a07f6e288b0061dfcf4fcf54fa9fe06458
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 20 Jan 2022 09:23:10 +0000

flight 167752 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167752/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 167684
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 167684
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 167684
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 167684
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 167684
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 167684
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 167684
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 167684

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167684
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167684
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167684
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167684
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167684
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167684
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-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-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-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-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                1d1df41c5a33359a00e919d54eaebfb789711fdc
baseline version:
 linux                455e73a07f6e288b0061dfcf4fcf54fa9fe06458

Last test of basis   167684  2022-01-13 07:47:42 Z    7 days
Failing since        167693  2022-01-13 22:41:04 Z    6 days   13 attempts
Testing same since   167747  2022-01-19 12:29:29 Z    0 days    2 attempts

------------------------------------------------------------
760 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                                fail    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 65426 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Jan 20 10:16:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 10:16:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259011.446639 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAUUH-0001zp-1Y; Thu, 20 Jan 2022 10:16:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259011.446639; Thu, 20 Jan 2022 10:16:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAUUG-0001zi-Up; Thu, 20 Jan 2022 10:16:12 +0000
Received: by outflank-mailman (input) for mailman id 259011;
 Thu, 20 Jan 2022 10:16:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UD6j=SE=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nAUUF-0001zc-Vw
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 10:16:11 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fb146737-79d9-11ec-8fa7-f31e035a9116;
 Thu, 20 Jan 2022 11:16:10 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fb146737-79d9-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642673769;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=9ktOEAffOvuUAbiQjz89m46oAE0pAfVhfqNmOSlqF+Y=;
  b=Y8p3j8RGNMmq2uiPYOYz83BBYcTeC5hLlLnLQgrPNrbftz5kL22THRxE
   pcYeOJLOkg8KjrtpWEqsxUAqg5DO5gVQz2956hBJq3A+svfawUgLHxaki
   BARdlMD9+qLD9AkE9zrongBpLs8sh7dtVFHCPE22XSPQFEeSbg7BbmVaz
   Y=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: AcKzM1i3MgHBuRm3fJraVDYE24bs8RZZf6Qp9+TA0diMTWl6L4zTtqCVzOn6QOW4Ts1e3nzqWC
 pir6Nd/4Va0/DS8z6t1rLCu9VJLore5Vi3YrV6jUNCk0bUWnqE3JxJNhNgUF5BTTVBMuoG8bVx
 PsZmiYmR40AJswZvDb1pRZW1zVjz9HVsfIjK8kJqPf1MaUsZbx9gqLBjKSit9oRMCDFjLDQon/
 ZW/BBxMRTX5QogQqi7/S1GJ1/8mClt+eTLWFuIe57itkWi1O6yF5cUenzgO+zCUSq6AwYL7api
 k+jpcp+ZTve1QCplYncIowCr
X-SBRS: 5.2
X-MesageID: 64536588
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:D43GL6DYAQmkNhVW/2jlw5YqxClBgxIJ4kV8jS/XYbTApDNwhGRWn
 WoZUDvTMvfeNzTxKI1zaInjo0hQu56EmNZlQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMo/u1Si6FatANl1ElvU2zbue6WL6s1hxZH1c+En9400o7wYbVv6Yz6TSHK1LV0
 T/Ni5W31G+Ng1aY5UpNtspvADs21BjDkGtwUm4WPJinj3eH/5UhN7oNJLnZEpfNatI88thW5
 Qr05OrREmvxp3/BAz4++1rxWhVirrX6ZWBihpfKMkQLb9crSiEai84G2PQghUh/1TTWloh47
 8lx75mWFD8tAJXriNstTEwNe81+FfUuFL7vJHG+tYqYzlHccmuqyPJrZK00FdRGoKAtWzgIr
 KFGbmBWBvyAr7veLLaTQ+9whsMlPY/zMZkWoH1IxjDFF/c2B5vERs0m4PcGgGpr2J0eTZ4yY
 eI+bz93UD/AQSdUJ29NIZYkovenq2bgJmgwRFW9+vNsvjm7IBZK+IbqNN3Za9mbX/J/l0yTp
 n/F12nhCxRcP9uaoRKa9lq8i+mJmjn0MKoCGbv9+vN0jVm7wm0IFAZQRVa9ueO+iEO1R5RYM
 UN80iAjt7Qo/UqnCNz0RQSloWWstwQZHdFXFoUS6R6P4rrZ5R6DAWoJRSIHb8Yp3Oc0TzE30
 l6Cn/vyGCdi9raSTBq17ayIpDm/PSwUK24qZiIeSwYBpd75r+kbjA/LT9tlOL64iJvyAz6Y/
 tyRhHFg3fNJ15dNjvjluwCc696xmnTXZlA0uQyPV0W50ll8QtOdY7KQzkjk3ekVee51UWK9l
 HQDnsGf6sUHApeMiDGBTY0xIV252xqWGGaC2AAyRvHN4xzooif+Jt4IvFmSMW8wap5cEQIFd
 nM/ru+4CHV7GHKxJZF6bIuqYyjB5fixTI+1Phw4gzcnX3SQSONl1H0/DaJz9zq0+KTJrU3ZE
 c3HGSpLJSxLYZmLNBLsG48gPUYDn0jSP1/7S5Hh1AiA2rGDfnOTQrptGALQMrpntfzU/FuJq
 oY32y62J/N3CrGWjs7/qtZ7ELz3BSJjWcCeRzJ/K4Zv3TaK6El+UqSMkNvNiqRunrhPl/egw
 51OchQw9bYLvlWecV/iQik6MNvHBM8jxVpmY3BEFQv2ihALPNb+hI9CJsBfVeR2q4ReIQtcE
 qNtlzOoWKofE1wqOl01MPHAkWCVXE373F3VZ3v8PmFXklwJb1Whx+IItzDHrEEmZhdbf+Nny
 1F5/g+EE5cFWSp4C8PaNKCmw1+r5CBPk+NuRUrYZNJUfRy0ooRtLiXwiN4xIt0NdkqflmfLi
 V7ODEdKv/TJrq807MLN2fKOobC2HrYsBUFdBWTas+q7bHGI4mq5zIZce++UZjSBBnjs8aCva
 LwNnfHxOfEKhnhQtI94H+o5xK4y/YK39bRb0h5lDDPAaFHyUuFsJXyP3M9usKxRx+AG5VvqC
 xzXotQDYOeHIsLoFlIVNTEJVOXb2KFGgCTW4NQ0PF7+uH198o2YXBgAJBKLkiFccud4adt33
 ec7tccKwAWjkR52YM2ehyVZ+mnQfHwNV6Ir6sMTDIPx01d5z1hDZdrXCzPs4YHJYNJJaxF4L
 jiRjavEprJd2kudLCZjSSmThbJQ1cYUpRRH7F4ePFDYyNPKi8g+0ABV7TlqHB9eyQ9K0r4rN
 2VmX6GvyX5iI9u8aBB/Yl2R
IronPort-HdrOrdr: A9a23:s7BEvq8SvQrOlLQ/nENuk+DcI+orL9Y04lQ7vn2ZLiYlFfBw9v
 re+MjzsCWetN9/Yh0dcLy7V5VoIkm9yXcW2+cs1N6ZNWGN1VdAR7sC0aLShxHmBi3i5qp8+M
 5bAs1D4QTLfDtHZBDBkWuFL+o=
X-IronPort-AV: E=Sophos;i="5.88,302,1635220800"; 
   d="scan'208";a="64536588"
Date: Thu, 20 Jan 2022 10:16:02 +0000
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>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, "Bertrand
 Marquis" <bertrand.marquis@arm.com>, Roger Pau =?iso-8859-1?Q?Monn=E9?=
	<roger.pau@citrix.com>, <xen-devel@lists.xenproject.org>
Subject: Re: [XEN PATCH v8 27/47] build: grab common EFI source files in arch
 specific dir
Message-ID: <Yek2YmixXsWWMQ/q@perard>
References: <20211125134006.1076646-1-anthony.perard@citrix.com>
 <20211125134006.1076646-28-anthony.perard@citrix.com>
 <57f03aed-c260-1c80-c604-0223d4603b4a@suse.com>
 <YeafMh0du+5K8YDD@perard>
 <YebpHJk1JIArcdvW@perard>
 <2689b94b-7576-307c-0e2d-edd60354f161@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <2689b94b-7576-307c-0e2d-edd60354f161@suse.com>

On Wed, Jan 19, 2022 at 08:46:09AM +0100, Jan Beulich wrote:
> On 18.01.2022 17:21, Anthony PERARD wrote:
> > The added "source/" depends on whether we do out-of-tree build or not.
> 
> Well, I guess we're free to add a "source => ." symlink even in the
> in-tree build case, deviating slightly from what Linux does? That
> would then slightly simplify your construct.

I'm not sure about that, but I can see only one issue with that: if one
was to use "source/" in a make rules (in target or prerequisite), make
would potentially have two different path leading to the same file when
running out-of-tree. But that shouldn't happen has we have "$(srctree)".
Currently, Kbuild doesn't remove "source" on distclean, but I guess we
can do that, which would avoid the potential issue.

I don't see other reason a link "source -> ." would be an issue, so I'll
add that to the patch "build: adding out-of-tree support to the xen
build".

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Jan 20 10:22:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 10:22:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259014.446651 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAUa1-0003RJ-I5; Thu, 20 Jan 2022 10:22:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259014.446651; Thu, 20 Jan 2022 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 1nAUa1-0003RC-EC; Thu, 20 Jan 2022 10:22:09 +0000
Received: by outflank-mailman (input) for mailman id 259014;
 Thu, 20 Jan 2022 10:22:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dqpm=SE=epam.com=prvs=3019806f6f=oleksii_moisieiev@srs-se1.protection.inumbo.net>)
 id 1nAUZz-0003R6-Pr
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 10:22:08 +0000
Received: from mx0b-0039f301.pphosted.com (mx0b-0039f301.pphosted.com
 [148.163.137.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cfc36db1-79da-11ec-bc18-3156f6d857e4;
 Thu, 20 Jan 2022 11:22:04 +0100 (CET)
Received: from pps.filterd (m0174683.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20K9xnSB003574;
 Thu, 20 Jan 2022 10:21:54 GMT
Received: from eur04-he1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2058.outbound.protection.outlook.com [104.47.13.58])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3dprt69saq-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 20 Jan 2022 10:21:54 +0000
Received: from PA4PR03MB7136.eurprd03.prod.outlook.com (2603:10a6:102:ea::23)
 by HE1PR0302MB2763.eurprd03.prod.outlook.com (2603:10a6:3:f3::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.8; Thu, 20 Jan
 2022 10:21:49 +0000
Received: from PA4PR03MB7136.eurprd03.prod.outlook.com
 ([fe80::85d2:c8aa:2196:21c6]) by PA4PR03MB7136.eurprd03.prod.outlook.com
 ([fe80::85d2:c8aa:2196:21c6%9]) with mapi id 15.20.4888.014; Thu, 20 Jan 2022
 10: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: cfc36db1-79da-11ec-bc18-3156f6d857e4
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iuQu6P4yUnU4PeEzvhGov7N2acl9mkBVGztVsNtGkqZo3VdAQq1StIGYTQ6LcD1s+ji0ZEfPn6utD5YwjPv3Q8RPgjXFxbkN/Heoff9DOEziL4FZSeSXWz0piNabfANxmtrzvkgntwNmihhdkKnnUqJ5qQOl2aj72TNAzlETrNvPqTna/s+dVXGdZmdMfXM4UKaIqv88Hj86mPmqTCs5TiY/MrropTxBlhF+t7rUlSph/IhPlYw4JomQiB8CDQCy/XTIfi0MMlkYCtrUnVv4o34ZOuYtFNMGru2iV51D/B4hC0tj2g2fu8kvJ3OKQgRSS2LfLV9QVAY3zjQllHDhIQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9qrIWTBxqkIMgjqrCeqrgMpf7m7XRUfQShLc/W6s+ls=;
 b=a068S5JNoGbxObTmb2S+eyN1EkVq/MYtrLTeAKeh6jKZdhUw7UQiZzQkSh/Gfp5hi6uvL3pELSdDx4Oj1UYYdFKdQCprP+wwEeYj9/zvMA2B4nymG3wpRs/dvdrNWpxtQppCKwJsXR8VMPT6wEDqtLi7W3HjmrOoLuTtbRIIsACtxf3WFt+txtf10bEtRG6FX75YUyGoN0Qvovt5HWxaE8x2M/5og77dIzkT7DDibfFYu+RqLvGAxghRQdFm7/iFCK4PsBPHqIqRzep+5VBT1eYii9nZ+KtuuXjLseeGZsanfStWQpeFasTQntQPLi4acc8G7J/WZE2DloHiwsT8Pw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9qrIWTBxqkIMgjqrCeqrgMpf7m7XRUfQShLc/W6s+ls=;
 b=Dm/NzJxL5faLDWQhAqW+x84JFhGTGAnrRSuMr7SJkCL6l3NrO8TqTCwHCJ3I1YHIgypS5LmuX0ERGPniuBSZkcYcjKucNx3RxWM5A9gbRkP3+4N6vzMZdjMqf7KAgXrqdgiVcimhRpF7ExSyYUWaTY/UfvoJ0XHjqvvVcVnqiYK8anLUJjS0XxpoLcd0EYWsUqawp0Vp1nRYtzqxazt0L2y+Si/MmaYLwMJUC5DQL1V84+DyVw5t6de5LBVJgePvomsxcv3pAAGjletgCwQqU6Kt0Ur4sqS+Ttce4iacrfZxIE6hj2dcX7UNEOdyStEHCqNGCYC006gdh5W+A+33Mw==
From: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        Julien
 Grall <julien@xen.org>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
Thread-Topic: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
Thread-Index: 
 AQHX8M3JF7Ng56/tV0+8/7pODiaWfKw3iHyAgAQwJICAAG+xgIABQZuAgAAWSACAAOV/AIABANAAgCsRKgCAAOC8gIAAlQqA
Date: Thu, 20 Jan 2022 10:21:49 +0000
Message-ID: <20220120102147.GA4153317@EPUAKYIW015D>
References: 
 <e9dadd96aa5b64b9232e10a083ce393af620adde.1639472078.git.oleksii_moisieiev@epam.com>
 <alpine.DEB.2.22.394.2112171709140.2060010@ubuntu-linux-20-04-desktop>
 <20211220181215.GA1702335@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2112201613210.2060010@ubuntu-linux-20-04-desktop>
 <20211221200305.GA2460476@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2112211310000.2060010@ubuntu-linux-20-04-desktop>
 <20211222110414.GA2883815@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2112221627190.2060010@ubuntu-linux-20-04-desktop>
 <20220119120400.GA3779126@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2201191644400.19362@ubuntu-linux-20-04-desktop>
In-Reply-To: 
 <alpine.DEB.2.22.394.2201191644400.19362@ubuntu-linux-20-04-desktop>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 45fcb455-7537-409a-da2a-08d9dbfeab43
x-ms-traffictypediagnostic: HE1PR0302MB2763:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <HE1PR0302MB276377087DFD2E0177629C5AE35A9@HE1PR0302MB2763.eurprd03.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: 
 dT+vltFizz1EyrtjXagI5h1y2BkIb/CaxwaU2Q0KXX/no1nsl9QxFQS13vbnRXgVZQZUD001bBI7gRofnP5vKfY4QwQeomeh8rptyu3hmiGwRS5ZmBhkddVIBPBBR3Wc3ZJyUU0lD0vPaPdU1JDxRneHWKZ2gMj1wTh612NOANO6/sfC7GszzSLcRsgM9zYczfxvV4OThIH3VTrfyTjp7fpHCci43FcHi/eXIU0OZhckEi2qb2RE3r8Tua+pb4WRXnduG5u/G11+kP2YEbY2JxaCE6fGaVQ/3t4ApPLSLbvKqrDschgcYv8nCciUTCYbCPx+dK65wHO7lORN7wnOJPIB6SEDU+A49pm/mnt6XakwcwYgxa09PBpuOIKbR6k+q2b4Vw+plcDEsFrN0PL/sQahplyoBXe8xp59WqNHb40ZxNw85GIZ5RizNZrTeGKMiNvvTwqEBKkMbQLRvsISdqBNQ/gKl7rA45emqmwt08ybn5e3WcdJdC+Uey7DjtTaPvEZesSvnQIqEX4oiXV+B3rPQvyAl/ltZMVHMbITtFQwP5JoazlKXGoUNUsQCIpSXAHMZ2D9VP65kKjmFoLrqhUMaXbQMJuvHfLBM6U/sKB9s8lKR6wkM9/3ax2LsILK7ztRkKchmRaM6oSMno75ps+a/ahkLw4av5ieb10ub42DyxOvIXTgIruLlGuCJEofPGfxHZDxukISSYobWrjbPbyASMSa0ZBOPMdDiERo56pwpohDahcuwDulBnO+HYkhDmOsrukw1KN2b26X5f6tmTlf2GcmdxeSUJS88pxB11HIgQtuq6wijyeujYAmekJuZNChNRtxQakInKrg898NJ9V35Jk4PWOkVbHDAhy5cbc=
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR03MB7136.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(84040400005)(66946007)(33656002)(30864003)(86362001)(38070700005)(6486002)(9686003)(8936002)(66446008)(66476007)(966005)(38100700002)(2906002)(122000001)(1076003)(66556008)(64756008)(186003)(8676002)(6512007)(26005)(508600001)(76116006)(91956017)(71200400001)(54906003)(6506007)(6916009)(4326008)(33716001)(316002)(83380400001)(5660300002)(2004002)(559001)(579004);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?us-ascii?Q?yE2y9Y7vxrox0NayFtDXyFSTGGzfmXIOo358IDjJ5dXCEWp5jq2bPD3f7WQg?=
 =?us-ascii?Q?bVCK1euPW4IA/9+JgyGRYMZf/CX+oUeappPGHhsAp65sXUl56LB0a79a8pl/?=
 =?us-ascii?Q?am36EYbEhr4xtw5vnGhZ53/B0f1A10Zmc5iPvQFJgOALq2E2v8RZeiI9JXV9?=
 =?us-ascii?Q?c14ybAcaqQj+BR/JCWrxgR1nXKIY13G7bBUEg80oF1Uz2365ZSQZw/7LhWjJ?=
 =?us-ascii?Q?x7+KQ4WnAxREfIMg24neRZf051wK02mq5QM8TGcJhnxMC/2YfYjxNwwAr3LR?=
 =?us-ascii?Q?7aVZdseGeZug1XpeLRW17v0Ilxyz+lAgfVJDho/wWNCgCLiWlX82AiSPcdDF?=
 =?us-ascii?Q?5tb37U6kEKpuTpQ07BnXojdr62Qm4i0wV8sMHY62ssYjrS+Cj8mjaeuHz1Gr?=
 =?us-ascii?Q?G8x6A1D6q4Ux+7xpxXspzKLVauZ8FXAsBjBkZ+fWjtwD+u5h+MiOjXaVw8Db?=
 =?us-ascii?Q?h7/HJWebgZdBKU5KJxnzS8mqQfgTd5gUZhrYnDJG1muBuqrT2m/KSSoQjpOU?=
 =?us-ascii?Q?0YLbNZv80SeFRCCPwF5cBkzIlZii7kark+grYh8OJ9eEi8EXsN3/zjLAJOvE?=
 =?us-ascii?Q?/N2SMODBiQeKd26WqsHMqf5XaGnC0QJht+JcatXOJdOysby7ZcD2U35Atptj?=
 =?us-ascii?Q?akXNrCuhGTDq6DBFwXFZU/3o9TphebGxIrbaDEtydIlpPvV5Px1Ei+y4VZ1C?=
 =?us-ascii?Q?YyZUchvFU8wbVIViczrCBidC0x3YT223+fOotcaoA1FVJlamU+sdTUT9DTzO?=
 =?us-ascii?Q?2p04Cz704atp4U8DGXKngj2ZHwty2KGMycclz5g/DKYHI/ysJqW2sviHaKu/?=
 =?us-ascii?Q?ANRNYDgyzpIvG0/0qpoJHk4Kn7EGP5uBlAbf41NreaKVKJa1F0AeY5uncFAP?=
 =?us-ascii?Q?EBPvA/Vwldh6Y6lWL8zbMVyaC1MptGQHSZNYX5xNoL3CJivfcUUuIpONPxL2?=
 =?us-ascii?Q?ruG7QR82VVpBteZcA5Q+I8OWtxOsuIF27GMoaLv444F69v19NXKOOaCKG/Td?=
 =?us-ascii?Q?iwxRC2bBbzmtlIuAYzv+75JSR6EzqOKGWU+ZPcs+xIUlwJuUWtyF6I1ymXaM?=
 =?us-ascii?Q?r8R2sdinM6MfEsVO+nx73vg1k+9VE4dtrV8+yvTRHDGRx6tNlmtlQEnaGUAR?=
 =?us-ascii?Q?kLoVSciPJLcxJPdB4sQHeKASoxY/viyltCi0dXxyXqxmQi/hNZNw8B+SQyAj?=
 =?us-ascii?Q?fOQLEv2TIkocvHPOecFaWODrVypd/MsSajTaY++EHwQK1kuZsJiVhycRbkPS?=
 =?us-ascii?Q?NMULQ/hfOmOtOL3AQ89xd8cLSxyhvYpNGdHVkhQLuoS99Ll2s1ESLPZkIImX?=
 =?us-ascii?Q?jxnjXwqjeThqqI2h0Ogjv5PpHr2iaPVy9ytFJhTmWZ0vosQmke3VtYvNM0ik?=
 =?us-ascii?Q?emAbioBgvxjouZ1TWLgeHIKV2qGgKYh4FeiV0zl347Md+8S8QCyVEbhlYQy+?=
 =?us-ascii?Q?XTARBXuEJfyKICg5Gh1djbL4jIPVU1X3Ocq+j9tyu10g+MRbBo1YjiBVhFMz?=
 =?us-ascii?Q?esQ1okMEa9D+9q94qseU7wSt/orcqmzgduJJfocB12FOwsfvXIJF478ECJHu?=
 =?us-ascii?Q?0R6yk/T901CNDDTt/U98vdSdTwJrdh6slwmhtMTD5W1kevCmvrdo6dBzGpUi?=
 =?us-ascii?Q?tWHsy3jca9OSbwj60h0XkSNRV12xq8dvaa5ECEcmhwNaPXsWesnRUcN5q/IB?=
 =?us-ascii?Q?Qp49gzZrM3wZq2OtY4mlKbjfx78=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <BA8ECBE9683CDE45941C7823CDFB3125@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PA4PR03MB7136.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 45fcb455-7537-409a-da2a-08d9dbfeab43
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Jan 2022 10:21:49.0537
 (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: 71dWUFzaSgEj0rWIfdQ24HAZCXc1DT5QlaTxOu34glPh6+EF9mP+rIEl+fBPMfY6hkbQYouptIGMTraYZAlBxoNaoR0vCrgfsOwiJtn4/GY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0302MB2763
X-Proofpoint-ORIG-GUID: FAdMEtLvd5L3PbF00aziilh6Pdcv4MaI
X-Proofpoint-GUID: FAdMEtLvd5L3PbF00aziilh6Pdcv4MaI
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-20_03,2022-01-20_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 impostorscore=0
 adultscore=0 malwarescore=0 bulkscore=0 phishscore=0 mlxlogscore=999
 mlxscore=0 suspectscore=0 lowpriorityscore=0 priorityscore=1501
 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2110150000 definitions=main-2201200051

Hi Stefano,

On Wed, Jan 19, 2022 at 05:28:21PM -0800, Stefano Stabellini wrote:
> On Wed, 19 Jan 2022, Oleksii Moisieiev wrote:
> > On Wed, Dec 22, 2021 at 06:23:24PM -0800, Stefano Stabellini wrote:
> > > On Wed, 22 Dec 2021, Oleksii Moisieiev wrote:
> > > > On Tue, Dec 21, 2021 at 01:22:50PM -0800, Stefano Stabellini wrote:
> > > > > On Tue, 21 Dec 2021, Oleksii Moisieiev wrote:
> > > > > > Hi Stefano,
> > > > > >
> > > > > > On Mon, Dec 20, 2021 at 04:52:01PM -0800, Stefano Stabellini wr=
ote:
> > > > > > > On Mon, 20 Dec 2021, Oleksii Moisieiev wrote:
> > > > > > > > Hi Stefano,
> > > > > > > >
> > > > > > > > On Fri, Dec 17, 2021 at 06:14:55PM -0800, Stefano Stabellin=
i wrote:
> > > > > > > > > On Tue, 14 Dec 2021, Oleksii Moisieiev wrote:
> > > > > > > > > > This is the implementation of SCI interface, called SCM=
I-SMC driver,
> > > > > > > > > > which works as the mediator between XEN Domains and Fir=
mware (SCP, ATF etc).
> > > > > > > > > > This allows devices from the Domains to work with clock=
s, resets and
> > > > > > > > > > power-domains without access to CPG.
> > > > > > > > > >
> > > > > > > > > > The following features are implemented:
> > > > > > > > > > - request SCMI channels from ATF and pass channels to D=
omains;
> > > > > > > > > > - set device permissions for Domains based on the Domai=
n partial
> > > > > > > > > > device-tree. Devices with permissions are able to work =
with clocks,
> > > > > > > > > > resets and power-domains via SCMI;
> > > > > > > > > > - redirect scmi messages from Domains to ATF.
> > > > > > > > > >
> > > > > > > > > > Signed-off-by: Oleksii Moisieiev <oleksii_moisieiev@epa=
m.com>
> > > > > > > > > > ---
> > > > > > > > > >  xen/arch/arm/Kconfig          |   2 +
> > > > > > > > > >  xen/arch/arm/sci/Kconfig      |  10 +
> > > > > > > > > >  xen/arch/arm/sci/Makefile     |   1 +
> > > > > > > > > >  xen/arch/arm/sci/scmi_smc.c   | 795 ++++++++++++++++++=
++++++++++++++++
> > > > > > > > > >  xen/include/public/arch-arm.h |   1 +
> > > > > > > > > >  5 files changed, 809 insertions(+)
> > > > > > > > > >  create mode 100644 xen/arch/arm/sci/Kconfig
> > > > > > > > > >  create mode 100644 xen/arch/arm/sci/scmi_smc.c
> > > > > > > > > >
> > > > > > > > > > diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfi=
g
> > > > > > > > > > index 186e1db389..02d96c6cfc 100644
> > > > > > > > > > --- a/xen/arch/arm/Kconfig
> > > > > > > > > > +++ b/xen/arch/arm/Kconfig
> > > > > > > > > > @@ -114,6 +114,8 @@ config SCI
> > > > > > > > > >  	  support. It allows guests to control system resourc=
ess via one of
> > > > > > > > > >  	  SCI mediators implemented in XEN.
> > > > > > > > > >
> > > > > > > > > > +source "arch/arm/sci/Kconfig"
> > > > > > > > > > +
> > > > > > > > > >  endmenu
> > > > > > > > > >
> > > > > > > > > >  menu "ARM errata workaround via the alternative framew=
ork"
> > > > > > > > > > diff --git a/xen/arch/arm/sci/Kconfig b/xen/arch/arm/sc=
i/Kconfig
> > > > > > > > > > new file mode 100644
> > > > > > > > > > index 0000000000..9563067ddc
> > > > > > > > > > --- /dev/null
> > > > > > > > > > +++ b/xen/arch/arm/sci/Kconfig
> > > > > > > > > > @@ -0,0 +1,10 @@
> > > > > > > > > > +config SCMI_SMC
> > > > > > > > > > +	bool "Enable SCMI-SMC mediator driver"
> > > > > > > > > > +	default n
> > > > > > > > > > +	depends on SCI
> > > > > > > > > > +	---help---
> > > > > > > > > > +
> > > > > > > > > > +	Enables mediator in XEN to pass SCMI requests from Do=
mains to ATF.
> > > > > > > > > > +	This feature allows drivers from Domains to work with=
 System
> > > > > > > > > > +	Controllers (such as power,resets,clock etc.). SCP is=
 used as transport
> > > > > > > > > > +	for communication.
> > > > > > > > > > diff --git a/xen/arch/arm/sci/Makefile b/xen/arch/arm/s=
ci/Makefile
> > > > > > > > > > index 837dc7492b..67f2611872 100644
> > > > > > > > > > --- a/xen/arch/arm/sci/Makefile
> > > > > > > > > > +++ b/xen/arch/arm/sci/Makefile
> > > > > > > > > > @@ -1 +1,2 @@
> > > > > > > > > >  obj-y +=3D sci.o
> > > > > > > > > > +obj-$(CONFIG_SCMI_SMC) +=3D scmi_smc.o
> > > > > > > > > > diff --git a/xen/arch/arm/sci/scmi_smc.c b/xen/arch/arm=
/sci/scmi_smc.c
> > > > > > > > > > new file mode 100644
> > > > > > > > > > index 0000000000..2eb01ea82d
> > > > > > > > > > --- /dev/null
> > > > > > > > > > +++ b/xen/arch/arm/sci/scmi_smc.c
> > > > > > > > > > @@ -0,0 +1,795 @@
> > > > > > > > > > +/*
> > > > > > > > > > + * xen/arch/arm/sci/scmi_smc.c
> > > > > > > > > > + *
> > > > > > > > > > + * SCMI mediator driver, using SCP as transport.
> > > > > > > > > > + *
> > > > > > > > > > + * Oleksii Moisieiev <oleksii_moisieiev@epam.com>
> > > > > > > > > > + * Copyright (C) 2021, EPAM Systems.
> > > > > > > > > > + *
> > > > > > > > > > + * This program is free software; you can redistribute=
 it and/or modify
> > > > > > > > > > + * it under the terms of the GNU General Public Licens=
e as published by
> > > > > > > > > > + * the Free Software Foundation; either version 2 of t=
he License, or
> > > > > > > > > > + * (at your option) any later version.
> > > > > > > > > > + *
> > > > > > > > > > + * This program is distributed in the hope that it wil=
l be useful,
> > > > > > > > > > + * but WITHOUT ANY WARRANTY; without even the implied =
warranty of
> > > > > > > > > > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE=
.  See the
> > > > > > > > > > + * GNU General Public License for more details.
> > > > > > > > > > + */
> > > > > > > > > > +
> > > > > > > > > > +#include <asm/sci/sci.h>
> > > > > > > > > > +#include <asm/smccc.h>
> > > > > > > > > > +#include <asm/io.h>
> > > > > > > > > > +#include <xen/bitops.h>
> > > > > > > > > > +#include <xen/config.h>
> > > > > > > > > > +#include <xen/sched.h>
> > > > > > > > > > +#include <xen/device_tree.h>
> > > > > > > > > > +#include <xen/iocap.h>
> > > > > > > > > > +#include <xen/init.h>
> > > > > > > > > > +#include <xen/err.h>
> > > > > > > > > > +#include <xen/lib.h>
> > > > > > > > > > +#include <xen/list.h>
> > > > > > > > > > +#include <xen/mm.h>
> > > > > > > > > > +#include <xen/string.h>
> > > > > > > > > > +#include <xen/time.h>
> > > > > > > > > > +#include <xen/vmap.h>
> > > > > > > > > > +
> > > > > > > > > > +#define SCMI_BASE_PROTOCOL                  0x10
> > > > > > > > > > +#define SCMI_BASE_PROTOCOL_ATTIBUTES        0x1
> > > > > > > > > > +#define SCMI_BASE_SET_DEVICE_PERMISSIONS    0x9
> > > > > > > > > > +#define SCMI_BASE_RESET_AGENT_CONFIGURATION 0xB
> > > > > > > > > > +#define SCMI_BASE_DISCOVER_AGENT            0x7
> > > > > > > > > > +
> > > > > > > > > > +/* SCMI return codes. See section 4.1.4 of SCMI spec (=
DEN0056C) */
> > > > > > > > > > +#define SCMI_SUCCESS              0
> > > > > > > > > > +#define SCMI_NOT_SUPPORTED      (-1)
> > > > > > > > > > +#define SCMI_INVALID_PARAMETERS (-2)
> > > > > > > > > > +#define SCMI_DENIED             (-3)
> > > > > > > > > > +#define SCMI_NOT_FOUND          (-4)
> > > > > > > > > > +#define SCMI_OUT_OF_RANGE       (-5)
> > > > > > > > > > +#define SCMI_BUSY               (-6)
> > > > > > > > > > +#define SCMI_COMMS_ERROR        (-7)
> > > > > > > > > > +#define SCMI_GENERIC_ERROR      (-8)
> > > > > > > > > > +#define SCMI_HARDWARE_ERROR     (-9)
> > > > > > > > > > +#define SCMI_PROTOCOL_ERROR     (-10)
> > > > > > > > > > +
> > > > > > > > > > +#define DT_MATCH_SCMI_SMC DT_MATCH_COMPATIBLE("arm,scm=
i-smc")
> > > > > > > > > > +
> > > > > > > > > > +#define SCMI_SMC_ID                        "arm,smc-id=
"
> > > > > > > > > > +#define SCMI_SHARED_MEMORY                 "linux,scmi=
_mem"
> > > > > > > > >
> > > > > > > > > I could find the following SCMI binding in Linux, which d=
escribes
> > > > > > > > > the arm,scmi-smc compatible and the arm,smc-id property:
> > > > > > > > >
> > > > > > > > > Documentation/devicetree/bindings/firmware/arm,scmi.yaml
> > > > > > > > >
> > > > > > > > > However, linux,scmi_mem is not described. Aren't you supp=
osed to read
> > > > > > > > > the "shmem" property instead? And the compatible string u=
sed for this
> > > > > > > > > seems to be "arm,scmi-shmem".
> > > > > > > > >
> > > > > > > >
> > > > > > > > We use linux,scmi_mem node to reserve memory, needed for al=
l
> > > > > > > > channels:
> > > > > > > >
> > > > > > > > reserved-memory {
> > > > > > > >     /* reserved region for scmi channels*/
> > > > > > > >     scmi_memory: linux,scmi_mem@53FF0000 {
> > > > > > > >         no-map;
> > > > > > > >         reg =3D <0x0 0x53FF0000 0x0 0x10000>;
> > > > > > > >     };
> > > > > > > > };
> > > > > > > >
> > > > > > > > arm,scmi-shmem node used in shmem property defines only 1 p=
age needed to
> > > > > > > > the current scmi channel:
> > > > > > > >
> > > > > > > > cpu_scp_shm: scp-shmem@0x53FF0000 {
> > > > > > > >     compatible =3D "arm,scmi-shmem";
> > > > > > > >     reg =3D <0x0 0x53FF0000 0x0 0x1000>;
> > > > > > > > };
> > > > > > > >
> > > > > > > > For each Domain reg points to unigue page from linux,scmi_m=
em region,
> > > > > > > > assigned to this agent.
> > > > > > >
> > > > > > > If we were to use "linux,scmi_mem" we would have to introduce=
 it as a
> > > > > > > compatible string, not as a node name, and it would need to b=
e described
> > > > > > > in Documentation/devicetree/bindings/firmware/arm,scmi.yaml.
> > > > > > >
> > > > > > > But from your description I don't think it is necessary. We c=
an just use
> > > > > > > "arm,scmi-shmem" to describe all the required regions:
> > > > > > >
> > > > > > > reserved-memory {
> > > > > > >     scp-shmem@0x53FF0000 {
> > > > > > >         compatible =3D "arm,scmi-shmem";
> > > > > > >         reg =3D <0x0 0x53FF0000 0x0 0x1000>;
> > > > > > >     };
> > > > > > >     scp-shmem@0x53FF1000 {
> > > > > > >         compatible =3D "arm,scmi-shmem";
> > > > > > >         reg =3D <0x0 0x53FF1000 0x0 0x1000>;
> > > > > > >     };
> > > > > > >     scp-shmem@0x53FF2000 {
> > > > > > >         compatible =3D "arm,scmi-shmem";
> > > > > > >         reg =3D <0x0 0x53FF2000 0x0 0x1000>;
> > > > > > >     };
> > > > > > >     ...
> > > > > > >
> > > > > > > In other words, if all the individual channel pages are descr=
ibed as
> > > > > > > "arm,scmi-shmem", why do we also need a single larger region =
as
> > > > > > > "linux,scmi_mem"?
> > > > > > >
> > > > > >
> > > > > > That was my first implementation. But I've met a problem with
> > > > > > scmi driver in kernel. I don't remember the exact place, but I =
remember
> > > > > > there were some if, checking if memory weren't reserved.
> > > > > > That's why I ended up splitting nodes reserved memory region an=
d actual
> > > > > > shmem page.
> > > > > > For linux,scmi_mem node I took format from /reserved-memory/lin=
ux,lossy_decompress@54000000,
> > > > > > which has no compatible string and provides no-map property.
> > > > > > linux,scmi_shmem node is needed to prevent xen from allocating =
this
> > > > > > space for the domain.
> > > > > >
> > > > > > Very interesting question about should I introduce linux,scmi_m=
em node
> > > > > > and scmi_devid property to the
> > > > > > Documentation/devicetree/bindings/firmware/arm,scmi.yaml?
> > > > > > Those node and property are needed only for Xen and useless for
> > > > > > non-virtualized systems. I can add this node and property descr=
iption to
> > > > > > arm,scmi.yaml, but leave a note that this is Xen specific param=
s.
> > > > > > What do you think about it?
> > > > >
> > > > > Reply below
> > > > >
> > > > > [...]
> > > > >
> > > > >
> > > > > > > In general we can't use properties that are not part of the d=
evice tree
> > > > > > > spec, either https://urldefense.com/v3/__https://www.devicetr=
ee.org/specifications/__;!!GF_29dbcQIUBPA!kNodtgmOQBc1iO76_6vTK-O1SoLxee_Ch=
owYQiQYC595rMOsrnmof2zmk7BnhXCSnJPN$ [devicetree[.]org] or
> > > > > > > https://urldefense.com/v3/__https://git.kernel.org/pub/scm/li=
nux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings__;=
!!GF_29dbcQIUBPA!kNodtgmOQBc1iO76_6vTK-O1SoLxee_ChowYQiQYC595rMOsrnmof2zmk7=
BnhXloYUaj$ [git[.]kernel[.]org]
> > > > > > >
> > > > > > > "linux,scmi_mem" is currently absent. Are you aware of any up=
streaming
> > > > > > > activities to get "linux,scmi_mem" upstream under
> > > > > > > Documentation/devicetree/bindings in Linux?
> > > > > > >
> > > > > > > If "linux,scmi_mem" is going upstream in Linux, then we could=
 use it.
> > > > > > > Otherwise, first "linux,scmi_mem" needs to be added somewhere=
 under
> > > > > > > Documentation/devicetree/bindings (probably
> > > > > > > Documentation/devicetree/bindings/firmware/arm,scmi.yaml), th=
en we can
> > > > > > > work on the Xen code that makes use of it.
> > > > > > >
> > > > > > > Does it make sense?
> > > > > > >
> > > > > >
> > > > > > Yes I agree. I think linux,scmi_mem and scmi_devid should be up=
streamed.
> > > > > > I will add those properties to arm,scmi.yaml, mark them as rela=
ted to XEN and send patch.
> > > > >
> > > > > I didn't realize that linux,scmi_mem and scmi_devid are supposed =
to be
> > > > > Xen specific. In general, it would be best not to introduce Xen s=
pecific
> > > > > properties into generic bindings. It is a problem both from a
> > > > > specification perspective (because it has hard to handle Xen spec=
ific
> > > > > cases in fully generic bindings, especially as those bindings are
> > > > > maintained as part of the Linux kernel) and from a user perspecti=
ve
> > > > > (because now the user has to deal with a Xen-specific dtb, or has=
 to
> > > > > modify the host dtb to add Xen-specific information by hand.)
> > > > >
> > > > >
> > > > > Let me start from scmi_devid.  Why would scmi_devid be Xen-specif=
ic? It
> > > > > looks like a generic property that should be needed for the Linux=
 SCMI
> > > > > driver too. Why the Linux driver doesn't need it?
> > > > >
> > > >
> > > > scmi_devid used during domain build. It passed as input parameter f=
or SCMI_BASE_SET_DEVICE_PERMISSIONS message.
> > > > On non-virtualized systems - there is no need of this call, because=
 OS
> > > > is the only one entity, running on the system.
> > >
> > > OK. Even if it is only required for virtualized systems, I think that
> > > scmi_devid is important enough that should be part of the upstream
> > > binding. I think it is worth starting an email thread on the LKML wit=
h
> > > Rob Herring and the SCMI maintainers to discuss the addition of
> > > scmi_devid to the binding.
> > >
> > >
> > > > I've chatted with Volodymyr_Babchuk and he gave a great idea to add=
 a
> > > > list of device_ids to dom.cfg, such as:
> > > > sci_devs =3D [ 0, 1, 15, 35 ];
> > > >
> > > > Using this approach, we can remove scmi_devid from the device tree =
and
> > > > just pass a list of scmi_devids to XEN using additional hypercall.
> > > > We can probably make hypercall taking devid list as input parameter=
.
> > > > This will take only 1 hypercall to setup sci permissions.
> > >
> > > But how would a user know which are the right SCMI IDs to add to the
> > > sci_devs list? Would the user have to go and read the reference manua=
l
> > > of the platform to find the SCMI IDs and then write sci_devs by hand?
> > > If that is the case, then I think that it would be better to add
> > > scmi_devid to device tree.
> > >
> > > In general, I think this configuration should happen automatically
> > > without user intervention. The user should just specify "enable SCMI"
> > > and it should work.
> > >
> > >
> > > > > In regards to linux,scmi_mem, I think it would be best to do with=
out it
> > > > > and fix the Linux SCMI driver if we need to do so. Xen should be =
able to
> > > > > parse the native "arm,scmi-shmem" nodes and Linux (dom0 or domU) =
should
> > > > > be able to parse the "arm,scmi-shmem" nodes generated by Xen. Eit=
her
> > > > > way, I don't think we should need linux,scmi_mem.
> > > >
> > > > This requires further investigation. I will try to make implementat=
ion
> > > > without linux,scmi_mem, using only arm,scmi-shmem nodes and share
> > > > reuslts with you.
> > >
> > > OK, thanks.
> >
> > Hi Stefano,
> >
> > As I did some investigation about using reserved-memory area
> > linux,scmi_mem and now I need your advice.
> >
> > I see 2 possible implementations for now:
> > 1) Add memory-region parameter to cpu_scp_shm node which points to the
> > reserved memory region.
> > So device-tree will look like this:
> >
> > 	reserved-memory {
> > 		/* reserved region for scmi channels*/
> > 		scmi_memory: region@53FF0000{
> > 			no-map;
> > 			reg =3D <0x0 0x53FF0000 0x0 0x10000>;
> > 		};
> > 	};
> > 	cpu_scp_shm: scp-shmem@0x53FF0000 {
> > 		compatible =3D "arm,scmi-shmem";
> > 		reg =3D <0x0 0x53FF0000 0x0 0x1000>;
> > 		memory-region =3D <&scmi_memory>;
> > 	};
> >
> > So cpu_scp_shm node has a reference to scmi_memory region. This mean
> > that xen can find reserved memory region without adding additional name=
s
> > to the device-tree bindings.
> > memory-region parameter as a reference to reserved memory and region
> > creation described in:
> > https://urldefense.com/v3/__https://github.com/torvalds/linux/blob/v5.1=
5/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt__;!=
!GF_29dbcQIUBPA!k6x19x1gYF1CPlgAZj7std3ifqhq-9DXvuF0nwonNPUwMzZpYHYbrRJziJr=
gdFIOjyan$ [github[.]com]
> >
> > This approach I've implemented already and it works.
>
> This approach would require a discussion with the upstream device tree
> maintainers. Likely, we would need to add a note about the usage of the
> "memory-region" property to arm,scmi.yaml.
>
> Also, I have the feeling that they would ask to add the "memory-region"
> property directly to the "arm,scmi-smc" node, as an alternative (or
> in addition) to the existing "shmem" property.
>
> That said, from my point of view this approach is also a viable option.
> I don't see any major problems.
>
> The main question (after reading everything else that you wrote below)
> is whether the "arm,scmi-smc" node in this case could be automatically
> generated.
>

arm,scmi-smc node can be generated in both cases. I think I'd leave it
as backup in case if the second approach will not work.

>
> > 2) The second approach is the format you suggested:
> > > > > > > reserved-memory {
> > > > > > >     scp-shmem@0x53FF0000 {
> > > > > > >         compatible =3D "arm,scmi-shmem";
> > > > > > >         reg =3D <0x0 0x53FF0000 0x0 0x1000>;
> > > > > > >     };
> > > > > > >     scp-shmem@0x53FF1000 {
> > > > > > >         compatible =3D "arm,scmi-shmem";
> > > > > > >         reg =3D <0x0 0x53FF1000 0x0 0x1000>;
> > > > > > >     };
> > > > > > >     scp-shmem@0x53FF2000 {
> > > > > > >         compatible =3D "arm,scmi-shmem";
> > > > > > >         reg =3D <0x0 0x53FF2000 0x0 0x1000>;
> > > > > > >     };
> > > > > > >     ...
> >
> > This approach has an advantage that xen ARM_SCI driver do not know abou=
t
> > how channels are placed in the reserved memory, but introduces some
> > disadvantages:
> > a) We provide extra 14 (in our case) arm,scmi-shmem nodes which are not=
 used
> > in the device-tree. In current implementation I have separate scmi.dtsi
> > file which introduces scmi support for both XEN-based and
> > non-virtualized systems. Having 14 extra channels in the device-tree ma=
y
> > be confusing.
>
> I can see that while it would be ideal for Xen to see all 14+1 channels
> in device tree (on the host device tree), we wouldn't want to expose all
> of them to the domains, not even to dom0.
>
> How many channels do we want dom0 to see by the way? For this
> discussion, I'll just assume for now that dom0 only sees 1 channel like
> the domUs.

For dom0 we need only one channel.

>
> Now we have a problem: how do we go about "filtering" the
> "arm,scmi-shmem" device tree nodes? Which is also what you are asking
> below in point b).
>

Xen will not need to filter "arm,scmi-shmem" node. It will just
create shmem node in Domain device-tree. I don't see any problem for xen
configuration here.
What bothers me here is that I set scmi configuration for platform dts,
not for xen or domu dts files.
So for example I have the following structure of the dts files for my
platform (r8a77961-salvator-xs):
 * r8a77961-scmi.dtsi - this file includes all scmi related nodes and set
scmi_devid for the devices, that should use scmi.
 * r8a77961-salvator-xs.dts - dts file which generates dtb for the platform=
.
It includes r8a77961-scmi.dtsi so I populate scmi to platform dtb, which
is used for system with no hypervisor.
 * r8a77961-salvator-xs-xen.dts - dts file for xen which includes
r8a77961-salvator-xs.dts and inherits scmi configuration from it.
 * r8a77961-salvator-xs-domu.dts - dts file for DomU which includes
r8a77961-salvator-xs.dts and inherits scmi configuration from it.

In this case r8a77961-salvator-xs.dtb r8a77961-salvator-xs-xen.dtb
r8a77961-salvator-xs-domu.dtb files will inherit 14+1 channel.

I can give you a link to Merge request with this changes if you need it.

For xen and domu dtb it is not a problem because all "arm,scmi-shmem"
nodes will be omitted and new will be generated for the domains.

What bothers me is that r8a77961-salvator-xs.dtb will have 14 unused channe=
ls.

Just got an idea while writing this: I can create only one
"arm,scmi-shmem" node in r8a77961-scmi.dtsi and add 14 more nodes,
needed for xen explicitly in r8a77961-salvator-xs-xen.dts.

Then we will have valid configurations for all cases.
This can be a solution. What do you think?

>
> > b) In case if we have all 15 channels, described in partial device-tree=
,
>
> I think you meant "described in the host device tree", right?
>
Yeah that's what I've meant.
>
> > we should not copy any node to the domain device-tree. I think it will
> > be better to generate arm,scmi-shmem node in the Domain device-tree.
>
> Yes, I think it makes sense for Xen to generate the "arm,scmi-shmem"
> device tree description for the DomU/Dom0 based on the channels
> allocated to the domain.
>
>
> > The problem is that arm,scmi-smc node, which is using arm,scmi-shmem
> > node can't be generated. I prefer it to be copied from the partial
> > device-tree because it includes some platform specific configuration,
> > such as func-id and list of the protocols (for example different
> > platforms may require different list of the protocols). So in this
> > case we will have 1 node copied and 1 node generated.
> >
> > I think even for dom0less we should use arm,scmi-smc node from the
> > device-tree because protocol configuration and funcid is related to the
> > platform.
>
> I am not sure I understood what you wrote. You are saying that the
> "arm,scmi-smc" node includes some platform specific configurations so
> it cannot be automatically generated by Xen (or by the tools) and
> instead it needs to be manually provided as part of the partial dtb for
> the domU. Is that correct?
>
> If so, I would like to understand the reasons behind it. Manual
> device tree editing is problematic.
>
> I looked for "func-id" in
> Documentation/devicetree/bindings/firmware/arm,scmi.yaml but couldn't
> find any results. Do you have an example of the platform specific
> configuration or protocol configuration that would make it difficult to
> automatically generate the "arm,scmi-smc" node for the domains?

Sorry, I used wrong term (used term from the specification), arm,smc-id
of cause.

>
> Also, is this a problem just for approach #2 or also for approach #1?
> If it is a problem only for approach #2, then let's just go with
> approach #1.
>

We can't copy "arm,scmi-smc" in both approaches. The difference is that
in the first approach we can copy both "arm,scmi-smc" and
"arm,scmi-shmem" nodes while in the second approach we should copy
"arm,scmi-smc", but we have to generate "arm,scmi-shmem" node.

arm,scmi-smc node can't be generated because it includes properties and
configurations that depends from platform and should be get from the
device tree.
Here is "arm,scmi-smc" node expample:
firmware {
    scmi {
        compatible =3D "arm,scmi-smc"
        arm,smc-id =3D <0x82000002>;
        shmem =3D <&cpu_scp_shm>;
        #address-cells =3D <1>;
        #size-cells =3D <0>;
        scmi_power: protocol@11 {
            reg =3D <0x11>;
            #power-domain-cells =3D <1>;
        };

        scmi_clock: protocol@14 {
            ...
        };

        scmi_reset: protocol@16 {
            ...
        };
        ...
    };
};

It has 3 configurable options:
 * arm,smc-id parameter, setting func_id for scmi protocol. This id can be
different for different platforms.
For example stm32mp1 architecture use different scm-id for different
agents:
https://github.com/ARM-software/arm-trusted-firmware/blob/0586c41b3f2d52aae=
847b7212e7b0c7e19197ea2/plat/st/stm32mp1/include/stm32mp1_smc.h#L39

 * shmem which includes phandle to arm,scmi-shmem node. But this is not
a problem and can be updated.

 * list of the protocol subnodes. This is also configurable parameter,
not regs or names, but the number of the protocols. For example onle
platform can use power-domains/clock/resets via scmi, when another will
require volage-control and sensor-management to be added.

Xen should know this parameters to be able to generate "arm,scmi-smc" node.

Also we're currently discussing new scmi protocol with ARM: Pinctrl over
SCMI.

It should allow domains to access pinctrl subsystem, placed in Firmware
through SCMI protocol.
scmi_pinctrl node will look like this:

	firmware {
		scmi {
			...
			scmi_pinctrl: protocol@18 {
				reg =3D <0x18>;
				#pinctrl-cells =3D <0>;

				i2c2_pins: i2c2 {
					groups =3D <74>; /* i2c2_a */
					function =3D <15>; /* i2c2 */
				};

				irq0_pins: irq0 {
					groups =3D <81>; /* intc_ex_irq0 */
					function =3D <19>; /* intc_ex */
				};

				avb_pins: avb {
					mux {
						/* avb_link, avb_mdio, avb_mii */
						groups =3D <17>, <21>, <22>;
						function =3D <1>; /* avb */
					};

					pins_mdio {
						groups =3D <21>; /* avb_mdio */
						drive-strength =3D <24>;
					};

					pins_mii_tx {
						/* PIN_AVB_TX_CTL, PIN_AVB_TXC, PIN_AVB_TD0,
						       PIN_AVB_TD1, PIN_AVB_TD2, PIN_AVB_TD3 */
						pins =3D <242>, <240>, <236>, <237>, <238>, <239>;
						drive-strength =3D <12>;
					};
				};
				...
			};
		};
	};

So "arm,scmi-smc" node will have even more platform specific settings.

>
> > I prefer the second approach and will try to make it if it's OK to copy
> > arm,scmi-smc node from partial Device-tree and generate arm,scmi-shmem
> > node.
> >
> > What do you think about that?
>
> From a device tree specification perspective, I think both approaches
> are OK (with a minor comment on the first approach as I wrote above.)
>
> But from a Xen perspective I think it is important that we don't require
> the user to manually provide the SCMI configuration in the partial DTB.
> It would be better if we could generate it automatically from Xen or the
> tools (or even an independent script). Or copy the "arm,scmi-smc" node
> from the host device tree to the domU device tree without modifications.

I think copy "arm,scmi-smc" node is the only option we have.
I'm not sure what do you mean under "host device tree" if you mean Xen
device-tree - then I think it will not cover the case with stm32mp1 I've
mentioned above. I think it will be better to copy "arm,scmi-smc" node
from Domu partial Device-tree to Domu device-tree.
So AGENT0 smc-id will be set in xen device-tree and copied to dom0 and
AGENT1 scm-is set in domu device-tree and copied to dom-u.

Do you agree with my points?

>
> So if using approach #1 allows us to automatically generate the
> "arm,scmi-smc" node for the guest, then I think it's best for sure.
>

Summarizing all written above I would focus on the second approach
and put aside the first approach implementation. If you don't mind.

>
> > Also I wanted to mention that I'm not planning to make ARM_SCI support =
for
> > dom0less in terms of this patch series bacause I can't test
> > dom0less configuration for now. So let me know if some of my
> > functionality breaks dom0less.
>
> That's fine. I don't mean to scope-creep your patch series, which is
> extremely valuable as is.
>
> That said, I would be happy to provide you with a very simple dom0less
> configuration for your platform to enable you to test, or alternatively
> I could write a patch to add dom0less domU support if you are happy to
> help reviewing and testing it.

I was thinking about making dom0less support in the different
patch-series because there are still questions to be discussed.

For example, how arm,scmi-smc node will be generated for DomUs and how
the case, when scmi configuration is different for DomU1 and DomU2 (as
in case of stm32mp1 when smc-id is different) should be handled.

What do you think about continue without dom0less support and discuss
dom0less once we done with the main part?

Oleksii.=


From xen-devel-bounces@lists.xenproject.org Thu Jan 20 10:25:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 10:25:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259016.446662 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAUdG-00046R-7Q; Thu, 20 Jan 2022 10:25:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259016.446662; Thu, 20 Jan 2022 10: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 1nAUdG-00046K-39; Thu, 20 Jan 2022 10:25:30 +0000
Received: by outflank-mailman (input) for mailman id 259016;
 Thu, 20 Jan 2022 10:25:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dqpm=SE=epam.com=prvs=3019806f6f=oleksii_moisieiev@srs-se1.protection.inumbo.net>)
 id 1nAUdE-00046E-9Y
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 10:25:28 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 47b2a979-79db-11ec-8fa7-f31e035a9116;
 Thu, 20 Jan 2022 11:25:26 +0100 (CET)
Received: from pps.filterd (m0174678.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20KA0hTK015143;
 Thu, 20 Jan 2022 10:25:21 GMT
Received: from eur05-am6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2108.outbound.protection.outlook.com [104.47.18.108])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3dpxy7h36e-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 20 Jan 2022 10:25:21 +0000
Received: from PA4PR03MB7136.eurprd03.prod.outlook.com (2603:10a6:102:ea::23)
 by AM5PR03MB3041.eurprd03.prod.outlook.com (2603:10a6:206:17::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.10; Thu, 20 Jan
 2022 10:25:17 +0000
Received: from PA4PR03MB7136.eurprd03.prod.outlook.com
 ([fe80::85d2:c8aa:2196:21c6]) by PA4PR03MB7136.eurprd03.prod.outlook.com
 ([fe80::85d2:c8aa:2196:21c6%9]) with mapi id 15.20.4888.014; Thu, 20 Jan 2022
 10:25:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 47b2a979-79db-11ec-8fa7-f31e035a9116
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lO0mlRJtvKTG4UFnMD8mesYQpgZD3hEIc+FSlkUisd695m66fGmWvnsrX9ChZ/cI5h5La5IMBbnqKyyBko9SPZXXZHpE9G5iks9rR78gUKsNE5aBug3IMJVoGxYD0mHwv7L2Hi9m6j+LxWJWGE9ddEvE+FaXcw72ymM9sqN/O3K6fw/+E/CZ/bJKdqBYmx0xyGCvkBZ1BkLJCi+g7yuQfsSUoZBjQtv3SU7Zot5EM8tEpOuqDsKfqgrXOcsxCa9J5nqtiHXpjOQCI3Zh2rpQXVt0ZuLaFwXkTc2lgav23S4p/lrko3GRuvKzkS1fIxWfP5KQRMXx28FTX6CwYPrvdA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xhLNhiSU1aVebUVKe98g2OAl40IQJdfNuti5nr/SUEc=;
 b=Lx3xqudQDlxEZI+CPyvl2o/jy0M0rN+Mq0RmDa8FaIhgHUZEIJv4pXuy6EElIfvY2yh09gDeGapoHNQgtUUWZnguFx4a1C0Ex4Jjou+LF2LCU6VAcSq2H304iWSoCkXEufIJ1Ry/isTIv03mPARa55tFlcy4ajtVGvBNInlIwKs7eO+Bacj4gcP3BCh2NYjEEwBQ/vBysRFstj6mI2AzQM/twcLV1nZQgkRU2eWMh0SebaYie4WlCOTdBdwSwtLcvgox5c6uFmnAhTog5E2fX+YsTR7KKwIoLcJo/O9MG3NDuGUnI4sUXNj+jyZnVfPl1qv7C6TrXW4ook7B5KE4gQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xhLNhiSU1aVebUVKe98g2OAl40IQJdfNuti5nr/SUEc=;
 b=Q0xx8kUfwCYI7ces+vHd1YhAzJwVZh3bea9OVcKvTv8qyMvQTSnK1KLa7HR6iDxr+0Rn1dPpa4ZZZKt4M79o/IEfdU3TW3IQ6JR4JH9VAz4L/bpblv60nKP5IDgjjy85vzYtJdxifgbzI0pYfw4DA0TuiDPfhoYzp/PzBV3uHZxDlDZW55u+42szw4+ComxWrifRngn6ic9V0KOsm52KlNzBcj5C+1S89Dftd8o5kxBYd21o9a9/OENI17ixIkAmiIMhQpgE+uwj8fzPKfKReUOoCIqlatJK5JzMYFOb1tW0/Gf1V1B8SQFsLcfu7SgRhNdfat+WKT4a4fJ3V2wfrw==
From: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>, Oleksandr <olekstysh@gmail.com>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>
Subject: Re: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
Thread-Topic: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
Thread-Index: 
 AQHX8M3JF7Ng56/tV0+8/7pODiaWfKw2ks6AgAAeBwCAAAQPgIAABfaAgAAsl4CABKcNgIAGOOkAgAAnH4CAD3d9gIAEwfEAgAACbgCAABxaAIAABdkAgBQS24CAAQTTAIAAiikA
Date: Thu, 20 Jan 2022 10:25:17 +0000
Message-ID: <20220120102516.GA4187695@EPUAKYIW015D>
References: <20211220154127.GA1688861@EPUAKYIW015D>
 <7b0d3f0d-bdf1-ac59-0ef8-bb7ec2d802d8@xen.org>
 <20211224170243.GA1022822@EPUAKYIW015D>
 <045b2836-c95d-541b-462b-d276ae058b0d@xen.org>
 <20220106135328.GA1413532@EPUAKYIW015D>
 <55954632-e2c7-5455-6538-29c7990c8f62@xen.org>
 <20220106154338.GA1460271@EPUAKYIW015D>
 <548d4954-96bf-6522-6cfc-98b4a0e02b51@xen.org>
 <20220119103715.GA3772829@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2201191755250.19362@ubuntu-linux-20-04-desktop>
In-Reply-To: 
 <alpine.DEB.2.22.394.2201191755250.19362@ubuntu-linux-20-04-desktop>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: fd8b120d-2cfa-4182-4c63-08d9dbff276f
x-ms-traffictypediagnostic: AM5PR03MB3041:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <AM5PR03MB30415E023286D3428EB8454FE35A9@AM5PR03MB3041.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: 
 DmKtpiIn+gafVF6q2whm7VhInex+PSQQha08vyxbvLlJ8/a9CPTCWaVLaFF3QvmeIO9HEnh0QMZnMW2VStRb5Dr1jNYFVQDOPTCD4FtJKBHq5BvhHUX0dz3RF4YOL2sTxEIGqFEK+GfpgUk/++jN4QJqm6MlLM2qt/o/J2eJyfVAk49Qi0jMS6ZDA7/Tk919BEB2TgKkbifFC112EbT4V+gSm3bXTe/2ec4wfPWdK2ebXtlNZmu8e5IT57nCvehmxpEp+eWDN+QHuj2gxUhHRCrgFPtiofVf50VE1lgAFBv9g/sU3YQeXAcCtNPHbJBsJUZulyQKnSOP4hJJZdqOx7LxEuWukKTtFKIFRsTU7+tFKESNlxRytI4fQ9Qg/n7lvqhUrtoCJPGK7Jtc3/duN4CiNldohwkTXcLFR9kBtwt9lFFUNPxpzN9nNw8/WabSlAeUns3P2aWCEFCZruh4nn7P8hTwikmvQIj1NXRBiWfByzE7pdwQb0ck269rFwH60cPu9OFrT1GWRMExWSmgtlnvoIwMk4TDFChtNXfz0ZGB3n62FCT6l/vKocAZRzSaBX2/z0gdLqWZzkVscAYhj0chUxx3HODO+4eQ3jxKe0Zz5SdAEyLZg5rv/gW+KIgERFxTNbBAU0E687C4QdWknrbUh1corbzqLaSSPcZ83rEiJi5fxjbz+1KTN4yOeMFTj2b+Z+C7Wr0NcTpDgft/Gdz1BdpkptkqG/rBLTQIWdpHwx1EX3SjYviLXp8DCs54Qcxi4QdGMwub1faW5v8FDOzPXIwWIbU5yHmBpk1Xfzs=
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR03MB7136.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(38100700002)(53546011)(33656002)(71200400001)(6506007)(64756008)(6512007)(66446008)(5660300002)(26005)(122000001)(86362001)(316002)(83380400001)(54906003)(66476007)(4326008)(38070700005)(186003)(76116006)(33716001)(8936002)(66556008)(2906002)(8676002)(91956017)(9686003)(1076003)(6916009)(508600001)(66946007)(6486002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?us-ascii?Q?xqC4I4u9KXei3gSfhwmb6JOy64bX4XYM54tocPHERIPCHdvrKmUbeX6+nWBL?=
 =?us-ascii?Q?UqNj93iglVqj83fUtsfk7kzMRw3jlD8Yd3UXJf2ryJuyIV3GKCoaSzd473fS?=
 =?us-ascii?Q?M6cVPk0LbQpUrrDifv+2ktz6A0IG1GOfgXimAeTjUK8h4hHt5+X5wAenUD7x?=
 =?us-ascii?Q?k44+4u0bhjNdHUvn77ZNEqBmqRH+HII3Uc8TjGI1y94C4b03qhgDDSWQRHM/?=
 =?us-ascii?Q?KdVszqm6j4RO231NtsnXIKSNyFgs8aGM9EOcjCVYTp1G4G1LkrdrTfV2Oi74?=
 =?us-ascii?Q?pSBbkW+VkbRkcpel4L2ZW1ARCNTXNZ90T/uqpYPUI0nOnc2pGn3CAWF2DEB1?=
 =?us-ascii?Q?Nag83StnfOj3mD8YiCwnfoQPTDjVZB20AzAGlnGUCdzQn1jab2+l8FvgQ0HE?=
 =?us-ascii?Q?yW5p6i+OJUjn29T8igHqqmHqFo5qnbOXYaU5HCAjnpdeZ/lCQRlSFEhG7B0i?=
 =?us-ascii?Q?yfAhqKNpyioo4wBV7j7TZb54ZsVr4uWD48ITgnGw66LDQwNntUPZYtzipMLJ?=
 =?us-ascii?Q?nLuy2z9vfIkQbP9xLkiOSgHnWaKUjSpFG2Una8SrbnzageWfe5YXl0KfI0cZ?=
 =?us-ascii?Q?Uo6yJeZgnQOLWKh1LsLcrjkr48rKofDZ058uuHN3+tpn/w9eYmXnJW+9GEEe?=
 =?us-ascii?Q?oMVFG34NntuOwzrWuEMsSdLMSJ7nnwdwAFkR/adtRu1p2hKFgEO5wmINXAEG?=
 =?us-ascii?Q?9NxH0oYjn6BEG7/3ioyL/CoJvp80ImoIFpADp1D5s9+JY7ysvMfcRwX3A4Db?=
 =?us-ascii?Q?pkK61Y+0eGIQp5BzfwDwYCOoYN+QGcCaJbClAXZPKNNIHYxOsaOi9ArPRjIF?=
 =?us-ascii?Q?RzbkApZ5lBCNoVNxrCjLhuHccCIjVMJhx2rq+HMl/z7PCgtI4VfDmA0ugqnt?=
 =?us-ascii?Q?yRM47GBPCBguNWv2lxzqAXUURLa0rNPQCdl2LWS7PaGD2M765hXnO/XWVa2T?=
 =?us-ascii?Q?n7RNrElZdke2DcnlPn1ADxr2htJAtdCMsCTRM91B6Xj81wIv5cok8s/6F8Dh?=
 =?us-ascii?Q?EIOvFOgpDUriDxuv5xNneUmajAryyHwwM5pHAnRhCLtikOvEsp1ajVg/eB8C?=
 =?us-ascii?Q?nuXxgEBiCx1Hx2ASkbw5+mEbg9Te4i4Jq8V733KV6LhSOqg1moR7+zsbvncC?=
 =?us-ascii?Q?CBVHLx8ORwe+7OR8MZJ6PplPQDBgEJpJBI10xKoajTxQx0atjWHLomXcFkYT?=
 =?us-ascii?Q?88SqnOK/LQal2mLG/eycNfTtDydB2h6a9RrxDgwOfAICGe8PJSDn2uBWsjBT?=
 =?us-ascii?Q?wot0HdUEsWtMjrjxAXwJhOQd5ckg7y31JZoDNmiqcb/E79QrkHdzrcfFasGs?=
 =?us-ascii?Q?yq/oeFBjlp1RmOQf2FvbhCwXwurjXWqxXXDfM70JUvS8Y3DZ1WAbjJmX3q5D?=
 =?us-ascii?Q?LhD+a7sANxeBCNleyHN10Zwrmb41PbCrPIxVgd/0zAzqeEHbBpBDrR04Oxuk?=
 =?us-ascii?Q?R8+GQTLmWvnjmCfAxayWP7/TZM7KG2wNKxC0VH+fYeLKJtQW8brMAVWewt23?=
 =?us-ascii?Q?c3yLVc21st5A12XLpFY90MD5Vqt2s4sqS2W046+0FcZ5TzArzfrkou7vwGtH?=
 =?us-ascii?Q?RQP8IJV8RJp75jSJa8b/WIZ49I02646nyTKzOwvfMBIPGmAR6mlf7shLEcqO?=
 =?us-ascii?Q?hzc37XdEIrHKPJGdEKXA6rpU2N3Dqm1agdKkz5OU+q62RGPMFPkRK1YyWZTb?=
 =?us-ascii?Q?nCqtlc95LKrUUSpWGqR15TQTfbE=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <7E5699F484ED2D4E8810766159E9530B@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PA4PR03MB7136.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fd8b120d-2cfa-4182-4c63-08d9dbff276f
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Jan 2022 10:25:17.3603
 (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: bruTYPrQjo2ZvMNFivpiepTp6ERhzxF460FnQ1tUdUS8+s1OlrsdD6PYxGtQNGz9fVah2B11YgBda3vjJSPN/J/YOuHGXtwxWLEa+eAWuik=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR03MB3041
X-Proofpoint-ORIG-GUID: ihTgqgVfVxE40HM8RwsbfPzaKn0OW8x2
X-Proofpoint-GUID: ihTgqgVfVxE40HM8RwsbfPzaKn0OW8x2
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-20_03,2022-01-20_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=999 mlxscore=0
 clxscore=1015 lowpriorityscore=0 phishscore=0 bulkscore=0
 priorityscore=1501 spamscore=0 adultscore=0 impostorscore=0 suspectscore=0
 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2110150000 definitions=main-2201200051

On Wed, Jan 19, 2022 at 06:10:46PM -0800, Stefano Stabellini wrote:
> On Wed, 19 Jan 2022, Oleksii Moisieiev wrote:
> > On Thu, Jan 06, 2022 at 04:04:34PM +0000, Julien Grall wrote:
> > > On 06/01/2022 15:43, Oleksii Moisieiev wrote:
> > > > On Thu, Jan 06, 2022 at 02:02:10PM +0000, Julien Grall wrote:
> > > > > On 06/01/2022 13:53, Oleksii Moisieiev wrote:
> > > > > > Hi Julien,
> > > > > >=20
> > > > > > On Mon, Jan 03, 2022 at 01:14:17PM +0000, Julien Grall wrote:
> > > > > > > Hi,
> > > > > > >=20
> > > > > > > On 24/12/2021 17:02, Oleksii Moisieiev wrote:
> > > > > > > > On Fri, Dec 24, 2021 at 03:42:42PM +0100, Julien Grall wrot=
e:
> > > > > > > > > On 20/12/2021 16:41, Oleksii Moisieiev wrote:
> > > > > > > > > > >       2) What are the expected memory attribute for t=
he regions?
> > > > > > > > > >=20
> > > > > > > > > > xen uses iommu_permit_access to pass agent page to the =
guest. So guest can access the page directly.
> > > > > > > > >=20
> > > > > > > > > I think you misunderstood my comment. Memory can be mappe=
d with various type
> > > > > > > > > (e.g. Device, Memory) and attribute (cacheable, non-cache=
able...). What will
> > > > > > > > > the firmware expect? What will the guest OS usually?
> > > > > > > > >=20
> > > > > > > > > The reason I am asking is the attributes have to matched =
to avoid any
> > > > > > > > > coherency issues. At the moment, if you use XEN_DOMCTL_me=
mory_mapping, Xen
> > > > > > > > > will configure the stage-2 to use Device nGnRnE. As the r=
esult, the result
> > > > > > > > > memory access will be Device nGnRnE which is very strict.
> > > > > > > > > :w
> > > > > > > >=20
> > > > > > > > Let me share with you the configuration example:
> > > > > > > > scmi expects memory to be configured in the device-tree:
> > > > > > > >=20
> > > > > > > > cpu_scp_shm: scp-shmem@0xXXXXXXX {
> > > > > > > > 	compatible =3D "arm,scmi-shmem";
> > > > > > > > 	reg =3D <0x0 0xXXXXXX 0x0 0x1000>;
> > > > > > > > };
> > > > > > > >=20
> > > > > > > > where XXXXXX address I allocate in alloc_magic_pages functi=
on.
> > > > > > >=20
> > > > > > > The goal of alloc_magic_pages() is to allocate RAM. However, =
what you want
> > > > > > > is a guest physical address and then map a part of the shared=
 page.
> > > > > >=20
> > > > > > Do you mean that I can't use alloc_magic_pages to allocate shar=
ed
> > > > > > memory region for SCMI?
> > > > > Correct. alloc_magic_pages() will allocate a RAM page and then as=
sign to the
> > > > > guest. From your description, this is not what you want because y=
ou will
> > > > > call XEN_DOMCTL_memory_mapping (and therefore replace the mapping=
).
> > > > >=20
> > > >=20
> > > > Ok thanks, I will refactor this part in v2.
> > > >=20
> > > > > >=20
> > > > > > >=20
> > > > > > > I can see two options here:
> > > > > > >     1) Hardcode the SCMI region in the memory map
> > > > > > >     2) Create a new region in the memory map that can be used=
 for reserving
> > > > > > > memory for mapping.
> > > > > >=20
> > > > > > Could you please explain what do you mean under the "new region=
 in the
> > > > > > memory map"?
> > > > >=20
> > > > > I mean reserving some guest physical address that could be used f=
or map host
> > > > > physical address (e.g. SCMI region, GIC CPU interface...).
> > > > >=20
> > > > > So rather than hardcoding the address, we have something more fle=
xible.
> > > > >=20
> > > >=20
> > > > Ok, I will fix that in v2.
> > >=20
> > > Just for avoidance of doubt. I was clarify option 2 and not requestin=
g to
> > > implement. That said, if you want to implement option 2 I would be ha=
ppy to
> > > review it.
> > >=20
> >=20
> > I'm thinking about the best way to reserve address for the domain.
> > We have xen_pfn_t shared_info_pfn in struct xc_dom_image which is not
> > used for Arm architecture. It can be set from shared_info_arm callback,
> > defined in xg_dom_arm.c.
> > I can use shared_info to store address of the SCMI and then use map_sci=
_page to
> > call XEN_DOMCTL_memory_mapping.
> >=20
> > This will allow me to reuse existing functionality and do not allocate
> > extra RAM.
> >=20
> > What do you think about that?
>=20
> I cannot speak for Julien but I think he meant something else (Julien
> please correct me if I am wrong.) Exposing addresses via device tree is
> not a problem.
>=20
> Normally we pick a fixed address for guest resources, for instance
> GUEST_GICD_BASE, see xen/include/public/arch-arm.h. We could do that for
> SCMI as well and it is basically approach 1).
>=20
> However, it is a bit inflexible and could cause issues with things like
> direct-map (https://urldefense.com/v3/__https://marc.info/?l=3Dxen-devel&=
m=3D163997768108997__;!!GF_29dbcQIUBPA!kvNsu9pjqIwZ42N2q6aSQhTT_zA3OCEDkr7D=
wmAiuldEMwj2UiFReaPI8XlxsG-HOZ6v$ [marc[.]info]). A more
> flexible way would be for the SCMI guest address to be dynamically
> generated somehow.
>=20
> I am not sure how Julien envisioned the address to be generated exactly.
>=20
> Thanks to Oleksandr's work we have a way to find large regions of "free"
> address space. It is currently used for grant-table mappings. Maybe we
> could use a subset of it for SCMI? It might be best to wait for Julien's
> answer as he might have a better idea.

Thank you for the answer.
I think it will be best to reserve some space and generate address for
SMCI. Hope Julien will advise how it can be done.=20



From xen-devel-bounces@lists.xenproject.org Thu Jan 20 10:27:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 10:27:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259019.446673 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAUf9-0004iv-JO; Thu, 20 Jan 2022 10:27:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259019.446673; Thu, 20 Jan 2022 10:27:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAUf9-0004io-FK; Thu, 20 Jan 2022 10:27:27 +0000
Received: by outflank-mailman (input) for mailman id 259019;
 Thu, 20 Jan 2022 10:27:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dqpm=SE=epam.com=prvs=3019806f6f=oleksii_moisieiev@srs-se1.protection.inumbo.net>)
 id 1nAUf9-0004ih-1J
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 10:27:27 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8edbd30c-79db-11ec-bc18-3156f6d857e4;
 Thu, 20 Jan 2022 11:27:25 +0100 (CET)
Received: from pps.filterd (m0174678.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20KA0gHh015137;
 Thu, 20 Jan 2022 10:27:21 GMT
Received: from eur05-db8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2104.outbound.protection.outlook.com [104.47.17.104])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3dpxy7h3d8-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 20 Jan 2022 10:27:21 +0000
Received: from PA4PR03MB7136.eurprd03.prod.outlook.com (2603:10a6:102:ea::23)
 by AM6PR03MB4743.eurprd03.prod.outlook.com (2603:10a6:20b:e::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.7; Thu, 20 Jan
 2022 10:27:17 +0000
Received: from PA4PR03MB7136.eurprd03.prod.outlook.com
 ([fe80::85d2:c8aa:2196:21c6]) by PA4PR03MB7136.eurprd03.prod.outlook.com
 ([fe80::85d2:c8aa:2196:21c6%9]) with mapi id 15.20.4888.014; Thu, 20 Jan 2022
 10:27:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8edbd30c-79db-11ec-bc18-3156f6d857e4
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lyVRkMafX8i8NVIlhUueBgbq+8qG2onT2jqjbTBg472jppyPZUONHZy+5usy2k7K9lm+NcDIO4JG4cQOLSjDT55EfM0rFz8mjEL2ORQqGIbXBKAjLqnaWDDU/i8LIshSkRMnIjnWYQugsOhi/Jcp3r0AtoRzfM+829NwzoYpfn45eJOxZxHFyaeIKpJ8bDZBcF8okYatrgnOTkttqSm9Lh0LtFj6pZejIHhawPUB773vnkxYBMCfR75foAcYqYT8HpVwoJMxRHDdwsSv3B72vaWhzMg7e/X1uMyDMR1+SQLXz6KXjscP0mFq67U+eu6h6t5xfrc8aVlIQT2d2ZcMcA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Pc9b+WskC5Hu1LYFS6ZaqKPPfra/MYV78DT6EwdnI5M=;
 b=E4RGIK6x/DZmVRvdTn8gZTDBE9T8lVVoAcOZbZYbG2TzMlaDQPhs0bVx1RJESDARM2ZWbkW4C40P9B/f9+sSgnqBnQIxjEronHsqcaDCYSOqVO/6tlyRnlPw8pNUJ6tSJqfzE44GrZjyKrpcHd+zH3R2mHiHlp5KA/lIe/eqPtuPQ9hNYv6pHn+TSIbSPembVp4XN8jbnMsQID4/NLqhBwbOlUTnDNR342jdJ+7WrdJq5On7MN38IRvJrq9WaCeQemU7tn8w02VD2OY6kw/cgKqKCedKWv7VR+X86IOwhN/0PB5QTv8FSwjgIFsGlvKSIR4SHLxUHz8enj3UI6KvQQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Pc9b+WskC5Hu1LYFS6ZaqKPPfra/MYV78DT6EwdnI5M=;
 b=S5fvokUssjWglfRDi3cP6xVkATVSFpZLQydbI8oTQkCwqwsyh5vakVKrCCMdp2ygmI8Gri6sG2EJHR9I8EK3e9cSADlzRgZgv9cK/n4UcYqsu2UwsY9/pByCOi11ErEl+Ekf9uSbtFZj5Db8EOBmNbGR79ymE0hHg8Oz8He5/QvPxPxhHRi4KAAeK0IZssUpN22LFCxXfMXnF7Q4hYqLF3v7qyIY5aurP5R1n33iCB7w204jzFI2I5mlpTfC6RKbXRZdTNOQYMGgpPl62qOGS5ORGO5kKpNReFX+m9753qH4HN69hC+59X2Kr4UWs62CHP2XUgsHN2hnd7PJsCZbVA==
From: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Anthony PERARD <anthony.perard@citrix.com>,
        Oleksandr <olekstysh@gmail.com>,
        "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>,
        Wei Liu <wl@xen.org>, Juergen Gross
	<jgross@suse.com>,
        Andrew Cooper <andrew.cooper3@citrix.com>,
        George Dunlap
	<george.dunlap@citrix.com>,
        Jan Beulich <jbeulich@suse.com>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>
Subject: Re: [RFC v1 5/5] xen/arm: add SCI mediator support for DomUs
Thread-Topic: [RFC v1 5/5] xen/arm: add SCI mediator support for DomUs
Thread-Index: 
 AQHX8M3LpzWz4l8PQUiIA2nAUV0H+qw0P2iAgAJehQCABnNTgIAAc5MAgADFCgCAAB+dgIAAA54AgAARtoCAABUwgIAA0niAgAEYP4CAATSeAIAonC6AgAEQDYCAAI9tAA==
Date: Thu, 20 Jan 2022 10:27:17 +0000
Message-ID: <20220120102716.GB4187695@EPUAKYIW015D>
References: <bc6d7529-337d-a4e1-664a-dddd68ecf5cb@xen.org>
 <87lf0cx50o.fsf@epam.com> <3967a86d-295f-7672-9ce3-71e1c393dcbd@xen.org>
 <87ee64x1hf.fsf@epam.com> <796960e7-62ab-6f05-b3c0-cd02d7e8a8ba@xen.org>
 <alpine.DEB.2.22.394.2112221636530.2060010@ubuntu-linux-20-04-desktop>
 <alpine.DEB.2.22.394.2112231056380.2060010@ubuntu-linux-20-04-desktop>
 <b85f7ea3-dd0c-1281-d1e2-1010fb2f5892@xen.org>
 <20220119094013.GA3756156@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2201191733320.19362@ubuntu-linux-20-04-desktop>
In-Reply-To: 
 <alpine.DEB.2.22.394.2201191733320.19362@ubuntu-linux-20-04-desktop>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 54bafeb8-37e9-498c-a33a-08d9dbff6f03
x-ms-traffictypediagnostic: AM6PR03MB4743:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <AM6PR03MB474360FE437B7FC751EDF957E35A9@AM6PR03MB4743.eurprd03.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: 
 CkK8HIKayADR02ZssA5UqoUcrndoH0r4p+vO3vdxpm5RMMEeOrEAAni4eh7cQBZXOGUNG1Ksg5tdOosYtSzFdEe/qPBufHLy4jFK2b0MDF000bRZ9EwNcGNMCw0RcBVGzYLcW44VEV9YfzsW+5gIEcVXtgqxBZF3SA1umInv/Urg+NBQnJR7F/uA6p0VzzG5sq0TSTplXl+TE/vazQS246g8kdVHHNxBTy5aD1pPgU7WQsuQunQjDSQlNKcQr1uBFN6v3M1QMYbuuE4gIKSM9y59TQ1ivzpJX9Stj12QplAAdAQRbK0Eph+5DrwQpgY1kqTZvS8zDjrpJudsOVklLNaKxqmnhXQiBu1fMeZ79T81u44Lf7dST6evUSfx/r7dt2nTtfscm0+la7Bm4eo7X3SoAAO5u2x+W0h1dmjxP2TPzWEZlDNxdePYE3U9Rcv4fga1uzEdQmPaprirUstBekXbywxoIBfBn7RejAefI2HQeDnQ4ZRnCgiWBsg5k/qPeUVbcU2nCGYHVIqzB/OyunPMveoJErx8SAAGsZ6N0zxpABYK3l//H5zWHvuwsVyZ/frKWsteVhe/57jJWFoA9Qh7DtBPgT4o6L/7pcfqTXgReQSDVoDJX5pf66h9aD70Z2QG/h2nA9cHvE5foa1zxS50qXT5AeWGv6irKABovoacMlNsXT+SUdglqumNnK3xyjZOi1QBNsxq6a6nbnHQPQ==
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR03MB7136.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(53546011)(6506007)(5660300002)(6916009)(83380400001)(38100700002)(6486002)(2906002)(9686003)(6512007)(4326008)(1076003)(66556008)(64756008)(86362001)(66946007)(33716001)(71200400001)(316002)(66446008)(66476007)(186003)(8936002)(38070700005)(8676002)(26005)(7416002)(508600001)(122000001)(76116006)(54906003)(91956017)(33656002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?us-ascii?Q?JIo53VsVL+bOXZwCrsfgFi9FJlOR71rTKPteJ8MtyBvzHF/oOkxYG+k/8r37?=
 =?us-ascii?Q?5mX68fIxqqYwun6YMNP336nbd8Yr6Y5i2LMFvSRhgfhCXrOuQEQSGalvkUwq?=
 =?us-ascii?Q?qzLGJDedcli5GIssTNOIw0aosjsnYpv1zir6Qgv/ftqrcD2VMt+pJIuNu/Z5?=
 =?us-ascii?Q?04xOMklok9oTZj4xOqaGOktLjJ0B0hHi5r+pkv7toZu2M/2Rr7EcMWdoFCPu?=
 =?us-ascii?Q?W9CjIPTB8/RSbrBq2Fp+bY0fyBSW1bsB1w1ZS8Zp2a1Ylg5hUZgOrQFlqqeG?=
 =?us-ascii?Q?gQ/WbTEvrZpVvkMTYaEX+U16EQDi9kQVJHUUCdBDb2VOdPiWkPDdqz1I1r7a?=
 =?us-ascii?Q?NVshSRTAwER/uDnqYStmdGpnyRMz6g+CkW+cLvTDOXwYpT4hWEfPjZBGdXKK?=
 =?us-ascii?Q?V+YvIrjTS6ycsxGAvp0hgdfcUjh7SSzyMAGuXGiNA52n3zkskULm2PSDUXzn?=
 =?us-ascii?Q?8d+RBluPLBj/WfrLxK2STMqtn5IPEJcGd132TEe9rKWprrPLxNSejnJ31XRX?=
 =?us-ascii?Q?9WZrLFkXKq17WXNVWFr0w0B6+3QAcZeGGq49oZc/OQB4D3i6A2lDbF0+QaDx?=
 =?us-ascii?Q?/w4G2KH47g9Yj6/dO//Zk3/z5YqJVXyLdnP2o+JIo8Uba0IByCWo8dvh819d?=
 =?us-ascii?Q?RIZLT68pBOu3oit4pcmBJXWM5N9PBZLZNxQhXTA/+TOS1N5X4Qz93orarJE/?=
 =?us-ascii?Q?kVE/9omJJTeDvC5Ok+g+/3FyBNKV2HfFtoLi+8HUMsg01AZiVcuoWrGlUgWb?=
 =?us-ascii?Q?gwmRh3Oj8Jd5y9GaUfOp/BJf4+EDN6xUU+hwFUAb28m7NQNn8HWmOAnB9iLe?=
 =?us-ascii?Q?63TQ5EM0+FoFn3Pev/j5Qe78gY78VuwowHzawN8wHQS9K4B8qPKxf8QEcgpl?=
 =?us-ascii?Q?wr0HZtFYvnJXV4PFd+zijwn7NIEdU934ILIF2Z1gDNBmSTHkSX3RyCJ4Ud4s?=
 =?us-ascii?Q?qDtejPa4hcG327phuopok1JEcWmOfWwy57LOGkfltSlghBtMoILEPka8FjRc?=
 =?us-ascii?Q?JOJCjGHwihsVttiqJIBQ5i7/ctgHVAl8eEaVz+NPMaE3oy5htFSzTQh8bI0Q?=
 =?us-ascii?Q?pZq4NZlOtp/M7s0My28kEgp7jSOvKde0KFy0PNrJ2Oi0zr843C3E4dHTDlXV?=
 =?us-ascii?Q?cgTqAGoM6US3yQlcqZWBrD/l460D0ytO89COdvv+L+E64PmtI0fIc53HxxO6?=
 =?us-ascii?Q?xdAzMrfLJzZ7XLDiZQS5yW3IsY/vfz8s0piEet/TqwQ3rJcogkXib9SeqF5V?=
 =?us-ascii?Q?MjczQ+EapC7aNE2ks//NgzUk5IxYKOpameR78xxPvYWbs6KyEKIMkdUHZ7sC?=
 =?us-ascii?Q?h0y4HNBNmeo+cb8lEKWPO7bCyvyDrU7oPq9Dyhq1LYzTB0Kkqlv4iNayX9M4?=
 =?us-ascii?Q?Pba48LUOxwGuCtTDAXJIPhD+uWJ5j7cJUrXtXcPPCf7KUubEiHOz/X2BHV7h?=
 =?us-ascii?Q?QQdZa3qaCu4fm9YiREeXQik+2EajUlDoD4IF+AKGZKuVi+whmF+6+Z/fXdQX?=
 =?us-ascii?Q?zuSyxufDPKXOUTwPzvD9xgQBYdl6LF1Hb5xFyph6eSgxmpxELfNU4cLnaJc8?=
 =?us-ascii?Q?bG4MUQ/sy+7OysVulxzQcPfoatbKPzOVTE+uOCtMqcdiGh/373ALjphX+4jt?=
 =?us-ascii?Q?2d/FKBZdnToYrdqwVBxCXhZoWf52yViea7lXelRc8uSy7vuGidvMac9vKL2w?=
 =?us-ascii?Q?/JenmPTkFahmyZI6aSERm+sQygs=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <1BB2E34EE530764C9D67459CE51520DB@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PA4PR03MB7136.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 54bafeb8-37e9-498c-a33a-08d9dbff6f03
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Jan 2022 10:27:17.4351
 (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: pPtcQ52d1hIXuX3Htrxhp5vzM65Ok/KG0O54JH2+T777BNVMVmBWYdhpxhghf94YoXMY2zXdQy57E37y7QH2c2IoVAmXynBh5igHDgPkudM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR03MB4743
X-Proofpoint-ORIG-GUID: 4kYmbRM4yyJ8ftEtTAXdClt2ZGdM3s8K
X-Proofpoint-GUID: 4kYmbRM4yyJ8ftEtTAXdClt2ZGdM3s8K
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-20_03,2022-01-20_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=999 mlxscore=0
 clxscore=1015 lowpriorityscore=0 phishscore=0 bulkscore=0
 priorityscore=1501 spamscore=0 adultscore=0 impostorscore=0 suspectscore=0
 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2110150000 definitions=main-2201200051

On Wed, Jan 19, 2022 at 05:53:55PM -0800, Stefano Stabellini wrote:
> On Wed, 19 Jan 2022, Oleksii Moisieiev wrote:
> > On Fri, Dec 24, 2021 at 02:30:50PM +0100, Julien Grall wrote:
> > > Hi,
> > >=20
> > > On 23/12/2021 20:06, Stefano Stabellini wrote:
> > > > On Wed, 22 Dec 2021, Stefano Stabellini wrote:
> > > > > # Future Ideas
> > > > >=20
> > > > > A great suggestion by Julien is to start supporting the dom0less =
partial
> > > > > device tree format in xl/libxl as well so that we can have a sing=
le
> > > > > "device_tree" option in dom.cfg instead of 4 (device_tree, iomem,=
 irqs,
> > > > > dtdev).
> > > > >=20
> > > > > Even with that implemented, the user has still to provide a parti=
al dtb,
> > > > > xen,reg and xen,path. I think this is a great step forward and we=
 should
> > > > > do that, if nothing else to make it easier to switch between dom0=
less
> > > > > and normal domU configurations. But the number of options and
> > > > > information that the user has to provide is still similar to what=
 we
> > > > > have today.
> > > >=20
> > > > I have just realized that if we start to parse the partial DTB in
> > > > xl/libxl the same way that we do for dom0less guests (parse "xen,pa=
th",
> > > > "xen,reg", and "interrupts", making dtdev, irqs and iomem optional)
> > > > actually we can achieve the goal below thanks to the combination:
> > > > "xen,path" + "xen,force-assign-without-iommu".
> > > >=20
> > > > In other words, with dom0less we already have a way to specify the =
link
> > > > to the host node even if the device is not a DMA master. We can do =
that
> > > > by specifying both xen,path and xen,force-assign-without-iommu for =
a
> > > > device.
> > > >=20
> > > > This is just FYI. I am not suggesting we should introduce dom0less-=
style
> > > > partial DTBs in order to get SCMI support in guests (although it wo=
uld
> > > > be great to have). I think the best way forward for this series is =
one
> > > > of the combinations below, like a) + d), or a) + c)
> > >=20
> > > I strongly prefer a) + c) because a warning is easy to miss/ignore. A=
t least
> > > with the extra property the user made an action to think about it and=
 agree
> > > that this is the way do it.
> > >=20
> > > It is also easier to spot if we ask the user to provide the configura=
tion
> > > file.
> > >=20
> >=20
> > Let me share my thoughts about c), which is:
> > c) require force-assign-without-iommu=3D"true" in dom.cfg
> >=20
> > Adding this parameter to domain config means removing
> > xen,force-assign-without-iommu param from partial DTB.
>=20
> Why? No I don't think so.
>=20
>=20
> > This will affect dom0less configuration, which I can't test for now
> > without extra effort.
>=20
> We are just talking about adding:
>=20
> force-assign-without-iommu=3D"true"
>=20
> to the xl config file. For instance:
>=20
> dtdev =3D [ "/amba/serial@ff000000" ]
> iomem =3D ["0xff000,1"]
> force-assign-without-iommu=3D"true"
>=20
> It is unrelated to the dom0less partial DTB. There is no need to test
> dom0less to do this.
>=20

Oh. In this case I would be happy to add it in this patch series.

Best regards,
Oleksii. =


From xen-devel-bounces@lists.xenproject.org Thu Jan 20 10:42:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 10:42:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259023.446684 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAUtL-000758-0a; Thu, 20 Jan 2022 10:42:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259023.446684; Thu, 20 Jan 2022 10:42:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAUtK-000751-St; Thu, 20 Jan 2022 10:42:06 +0000
Received: by outflank-mailman (input) for mailman id 259023;
 Thu, 20 Jan 2022 10:42:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IXKg=SE=citrix.com=George.Dunlap@srs-se1.protection.inumbo.net>)
 id 1nAUtJ-00074v-CZ
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 10:42:05 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9955b8e6-79dd-11ec-8fa7-f31e035a9116;
 Thu, 20 Jan 2022 11:42:03 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9955b8e6-79dd-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642675322;
  h=from:to:cc:subject:date:message-id:content-id:
   content-transfer-encoding:mime-version;
  bh=kDLtlWQqNzg2kghQsdID9mdmxnN6XGhx23AX6/vcdxg=;
  b=fDjMEa/g6QIJ5IuEuSd2z+qDV9I0C/i4U7OHTQr5+LSHmNJaEEZraDL0
   E1lRG4zgHeEOZeFuZG2pBlniBlEEuBIN1lvj8KAK50ShGm/9/pxDrxeDz
   cuopENSU3fW1QMiGY0baGxaXNUO13NtE7CXus8idBeyfpAokyedlLLU52
   w=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: IHODTg/5XDj1sDEBs6bvdcn41MPViB82bWRCAPuHbrxkfblKwz3Dn0IsKXXOdzXCpiW0iSgIcS
 IQOlIuFyEJN2BrSqHb4Emqql3A79PCnlPw0Ic1itV4vCzpgB36eWbgBGjUCf8Ra/TA8mumJ8bi
 BhA+kRdY97f74j5OXtCf1GiDeHi66s8WRbroX1WSrvxrrXKDg9TXpxzZ52LOIXgtWrwLGXmY0O
 NHTb+Xiswq571ahUD93yhfzL3TafT51LMWpIS+BOUd5ILknZhPWkdgoqePEbGxYm5iGfgc9Elw
 y0h91g+qMdq6U8Efh9yshges
X-SBRS: 5.2
X-MesageID: 62796213
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:HHHh2K+TDQmc0iCbRDiXDrUDDXmTJUtcMsCJ2f8bNWPcYEJGY0x3n
 GoWC2+HMqyLMGDwed0iaN628x5V75GEz9U1SlNurSs8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7dj2tYy6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPhxz
 ft9nq2BcDwoFbTnxtQWdgJhTShxaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguwMIc7xM45ZlmxmyTjBJf0nXYrCU+PB4towMDIY2JoRTKiEP
 pFxhTxHfjuaJDdiNQ0uCK03o/y4hGD7fGEBpwfAzUYwyzeKl1EguFT3C/LFd9rPSchLk0Kwo
 mPd43+/EhwcLMaYyzeO7jSrnOCntSj8XYcPEryk57hviVuayWEJIA0bU0Ohpvu0gVL4XMhQQ
 2QX9ysyre4580imS9D7dxviu3OeoBMGQJxbFOhS1e2W4vOKuUDDXDFCF2MfLox93CMredA0/
 l+MsePCNA1Wi7y+UFnDxryxtgrsMCdAeAfuehQ4ZQcC5tDipqQ6gRTOUstvHcaJszHlJd3j6
 2vU9XZj3t3/meZOjvzmpg6f31pAs7CQFlZtjjg7SF5J+e+QiGSNQ4WzoWbW4v9bRGpyZgnQ5
 SNU8yRyAQ1nMH1sqMBvaLlcdF1Kz6zcWNE5vbKJN8N9n9hK0yTyFb28GBkkeC9U3j8sIFcFm
 nP7twJL/4N0N3C3d6JxaI/ZI510kfK+TIu1Cq6IN4omjn1NmOmvpn0Giam4hDiFraTRuftnZ
 cfznTiEUB729piLPBLpHrxAgNfHNwg1xH/JRICT8vhU+eH2WZJhcp9caAHmRrlgtMus+VyJm
 /4CaZfi40gBAYXWP3mGmaZOfAtiBSVqWvjLRzl/K7TrzvxOQj9xUpc8ANoJJuRYokiivr6Yp
 y7mAh4BlgOXaL+uAVziV02PoYjHBP5XhXk6ITYtLRCv3X0iapyo96ARa908erxPyQCp5acco
 yAtd5rSD/JRZC7A/jhBP5DxoJY7LEaghB6UPjrjaz86JsYySwvM897iXw3u6ChRUXbn6Zpg+
 +WthlHBXJ4OZwV+F8KKOvih+Ey84CoGk+VoUkqWftQKIBfw8JJnIjDah+MsJ51eMg3KwzaXj
 l7EARoRqeTXjZUy9d3F2fKNo4uzSrMsFUtGBWjLq72xMHCCrGakxIZBVseOfCzcCzyoqPnzO
 70NwqilYvMdnVtMv45tKJpRzPozt4n1urtX7gV4B3GXPV6lPaxtfyud1s5Vu6wTmrIA4VmqW
 liC88VxMKmSPJ+3C0YYIQcoY7jR1fwQnTWOv/05LF+juX1y9buDF05TIwONmGpWK74saNEpx
 uIoucg37Q2ji0V1boba334Mr2ncfGYdV6gHt40BBN65gwUm/VhOfJjAB3Kk+5qIcdhNbhEnL
 zL8aHAuXFiAKp4uq0YOKEU=
IronPort-HdrOrdr: A9a23:ZVa5WqC7/jZSQenlHemo55DYdb4zR+YMi2TDsHoBLiC9E/bo8/
 xG+c5x6faaslossR0b9uxoW5PhfZq/z/BICOAqVN/JMTUO01HIEKhSqafk3j38C2nf24dmpM
 JdmnFFeb7N5I5B/KTH3DU=
X-IronPort-AV: E=Sophos;i="5.88,302,1635220800"; 
   d="scan'208";a="62796213"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=V9Lp393azELZDF4/nm0Ks/KVSYkPBTw9KMYbP/3ZnhH+WHlmKEY0NSFOeHA/ZUXRTYfFhOZEERWpxQXVG61paheQMff5nIzeqd34KuEmIisN+LqqcyG2Ms1aGe1dEJURyED6s3r91nm1hi0g6pF5p88UIJ17xUUMJYtH6TfXAJxpgT/5k356l5pGn5/BtRfKB2DaORTs0kcSpt71iq7GqDpI5jOdGMa3+djaN+6IylP7avvylNwbedc8kT22rj/f1FLno9Lcyncq9ZlGbDuHZBv/0Citwu+yqlg1PxSmhsflgGfP7zJj+kQVhEZ0GQ/dQD/KogRzJnJuQNlec8MhRQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kDLtlWQqNzg2kghQsdID9mdmxnN6XGhx23AX6/vcdxg=;
 b=az9c9KSXNLn7Kk0OeNxk2g9cTWvaZwcPxTj6UjLsWPStQSTrQepVK1QLw/BGYQIuFCdoXD1KacdNateSIaAMsAL4ZMNdTFXwLZnanb/saM6KEkAZqvO6Nhow0ZGEOa+oHWE2pZGV4DfqvlTF+2n34lqdhagZmL69Uwvxm1lIqKjphIfVUJR3XUsFhacJ96LFL1ahes+tJme4AfiWzwWzKxIFpVZmI6nCsC3iC6ZI31BcR6VHPHTVRXfrEZfCwJFmxvKPSLwsTREE0uKso1r1v2UOmPdEscX5OF7j1yl4ml0DI/qDdNohWRnLzG+TFGYxdu5NwYBhCq0iANGV/EPmrg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kDLtlWQqNzg2kghQsdID9mdmxnN6XGhx23AX6/vcdxg=;
 b=UGTbYzI2ByqCDzEMfd37GMVX7jwbEZFgrULRkXkHbWAdIEboZw9YzRQ/QFMfWE0Et3Tbh0JQqEkOfD5DcqSctov2tyBr3fhNUubC0idw8LBklhTBvQyiO9jIeu+RAd+PN8XXDDCbkCyH9rW2n4H7jUpvhMHSds3D/1Xisvfwi6E=
From: George Dunlap <George.Dunlap@citrix.com>
To: Keith Coleman <keith.coleman@n2servers.com>
CC: communitymanager <community.manager@xenproject.org>, xen-devel
	<xen-devel@lists.xenproject.org>
Subject: Retirement of XenProject 3.4 Code Signing Key
Thread-Topic: Retirement of XenProject 3.4 Code Signing Key
Thread-Index: AQHYDepT2VbTXNP18EWm59/QsD5Z/g==
Date: Thu, 20 Jan 2022 10:41:48 +0000
Message-ID: <F388AF1F-1E62-48F5-9CB6-A4197BD6F9D4@citrix.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3654.60.0.2.21)
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: f8530fbe-7b4f-4799-cd65-08d9dc017685
x-ms-traffictypediagnostic: DM5PR03MB2601:EE_
x-microsoft-antispam-prvs: <DM5PR03MB2601F33D446AD9365D9C65EC995A9@DM5PR03MB2601.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: TnsMzCerpabgfeBwPMeUxEBfB4zK6tMvW2JqT0c2Ljdi/eBBGS9Jrm3j6FfOD9wdW8uYNnL8aqThHM7DFntc4eWShEI7s2UUUsNmh5tjS1fuhwG0Ql8rmPJ86nZ+RvK+ioPNbn90r0lgWbDS4QoZqHhMVTfHc5u6favjgTCTBmAU//oHtogN66T+tyYQVo4akTVqyBzgY2Z1G8EQs+o9dF65I3WSrsYTCL4bzThMclJI/VMZscABri13fYRkiEzU2fnI40cRswfCxK0ydADXcr9WW9TByxxm4e6p9Lwrx7iNs/6wq0sSmyFAyAvze0NJp0G3dlg/wPrb5Azn1ZsalIUDUI+xfgraqH+pJvKn9E5M1RjhoXCyEWFIcc5+0Y+Mz/upNqj7HfqcYN1ooeCqCDQ6fPkG3NYQpNbnu7jC/eMZXKwvoOOe8adoLj66Lo33ZBhgNKvafS1ma/TOAzeE2TLwuepA9GUp1gADpIdQh2rsW7yGfkrgmivIo3hrhzKwWvLP8JC4eFwu9ibyy0uiB+GcbQjLJF9sNiztYtKTOUT9bxW5HKeHG64HkFVzChYS9fNVHhuwNtGQ+aFel6J7uJ198wzICdy5zE040ta0b/ksD/1LlLPX3aDisvR0pRR8dvmLQffelUFaSFSHSsVuvr+wqKSgW09yPJnnzQJs3n1YnG06oSqbBwuH7eI7HBtFeTm8a8XSmuLVZgQYXsbLeqzFdUZzssUcLM0Nm5kxEW1OMlfyWhRIum6D7aH7ZmePQP99C6W66OZ8Fi2XtM5Ka28IQKahReoD5s/OBVvxWaCe6/mSDLe8HS+/xBZZjij/
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR03MB5669.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(6916009)(83380400001)(6486002)(38100700002)(54906003)(2616005)(122000001)(64756008)(5660300002)(4326008)(71200400001)(2906002)(8676002)(508600001)(91956017)(8936002)(316002)(186003)(38070700005)(76116006)(6512007)(82960400001)(4744005)(26005)(86362001)(33656002)(966005)(66446008)(36756003)(6506007)(66556008)(66476007)(66946007)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?QVNUd3RFQjZJQzg4K0pJZER0N2V0OWptakZPeG5QeFJ4Mi8zZFo0dHNwanZH?=
 =?utf-8?B?Z2Qvc2hXL2RucGVhelQrM1MveEpIV3pGMVRkbmFrN2Rnc0g2dEZ2Q295YXlv?=
 =?utf-8?B?NFBRNjd0STJ2em1CTEJQcVJtR2VLSU16NVBCMm5VZmo1N3Vpc2pZOFN5R2dP?=
 =?utf-8?B?KzdzeVJTUyswODRuaGxJeTVUdzYwQmozRGpkc3ZWRDc5dmJiWDdIcEVGVkZD?=
 =?utf-8?B?OTIxcHozU2VZVEw5dUtGU3VNVlFKL1JnbXQwUi9BUXVCTmkwNkp1bzBJRHps?=
 =?utf-8?B?djBtWWxEYnIvamU1OFBMZG9jdFExYjJFb2xqQUo0U0xReUJadEZnUmpsdEQr?=
 =?utf-8?B?elpQOEgyQjhTdE5MeWhlZmsyNTVWVmE3LzFuL1p5U0NmanlELy8vclh1RTNW?=
 =?utf-8?B?Q1dxa0Yzbk1yWjRFVXJtVXM2cTlPY0JLMlU4cVYwQVZmSjZvZlY3ZCtibmo0?=
 =?utf-8?B?clVTdzBqcGRkaktHYmRIYWxod05Ddm9vR2ZIVU9lN05sM2xlVmxlRFc4Szly?=
 =?utf-8?B?bEI0c09uc0VNVmxEL1ptMWZPa1lEeWpIM3Q1UExUK0YvZm1hRkhPQXF2ZzFh?=
 =?utf-8?B?d1hrbUV0eUhMaVozQnQyUHFhaTdhZmJ5ZmNXYXJyR0NXQzc1Tm4zdk4rOWU4?=
 =?utf-8?B?Z3YrMEo2b21oYnk4cnFPVFVpTGVMWUcrMmhydkJVYUphSnhUaHRhM0xqLzA2?=
 =?utf-8?B?RFlZT3BjdnlqTWFYdVVwRUc2V0lXOXYyRGNCQmJvdGJBNFRqOFpXZDg0bnR1?=
 =?utf-8?B?VGtNTDlRMmsxV3NFbXh6WEg4TnZkczJuYUdEWHc3dWtrdy9KUzNjU3NMWEVn?=
 =?utf-8?B?cDR6OFVSa3ZIaVlGT1ZnTHNOQTlOVnVCRThMT0QrTEgrYjJWU3MzNnh3VVBS?=
 =?utf-8?B?Tlo3ZlhsYkRheng3dmFrbkpIaE5kRUlPYzdmcjFEMXRPK2tISGRMcGlabVZJ?=
 =?utf-8?B?R25zaGdiNFZjOENLMnhMOFpoYkh3RXBuV2xYeHQ3d1dUZUUwVUwzK1BjZG9a?=
 =?utf-8?B?NytnWm1kZS9BeHNhc1BGWURhQUhPZjJqT0d2TFJaKzVuR3RMMXhpNC9TM3J3?=
 =?utf-8?B?U0hJV1JEOEhST1Qzclp1MENwU0E1UnB2bjhQT01BeW5BTUJIdHNHdVJnZ3R4?=
 =?utf-8?B?L0sxbit3RXAzaFY3eURKRXJqaWNoVVB6b09ZNEpmcHBLZ0tRS2pzMmZtbTlD?=
 =?utf-8?B?M2NpRnRiWEN4NlNLVnpNRjlibUZlQUFlZzgwajZZaGZoZHpRelNWTnlNUDZK?=
 =?utf-8?B?TE1ESGxxMGM0eVpQWWdMaThXMks5OHA2NVJxQTM2aDlPSFNPRGFwVFNESTUv?=
 =?utf-8?B?OU9kRS9UUGJCOWVQWU1pVGNnMnNTcVU5VTdoQTMrNFdmaTlNelhnOWZUUFQz?=
 =?utf-8?B?ZmN5eDZyb3FaUFo0cXQ4TFpEeXZQc21nTmRubjhQZ2FlMnM5OTMwMWs0cTZZ?=
 =?utf-8?B?cS9jOElKQXg1ekE5M0txMTJSSTFPVkFMN1RPMEpEUmxYbHNCWitma053WWNU?=
 =?utf-8?B?ZUZ6Y284ZXB1dWNpS0JMdkdxd3VoR1Z4R3dlQXJ5bzZSSFFNbjBPWit4Ykxr?=
 =?utf-8?B?MnVmOGJDendaR2l0eEtqaHUrL09SUW1peG0xQWYyZEhDclR0UnU4ZlR0MG8v?=
 =?utf-8?B?RmROY1VrMXhmSjBpUUFFRHFsS3ZWbWRqKzZ3L2pONDZ6Z0tVNGJrdGJBNCtN?=
 =?utf-8?B?SEh4bGJsbnI1OGxXUm9wMmRCY1dlY2o2Z0c5ME1xSnZ3ZnJWYjcvMU8vS2Vt?=
 =?utf-8?B?NzlFNEVJVnRNRUw4akhiVVFJZEZOMEZ2MmRUeWZjSCtpSzVNRWk2TVRveUJw?=
 =?utf-8?B?Z212Q01TUHd0MUJ6bWpHWVdESFBUZzZJTElqQ0xCbWxyREZhRThLbEErdGxh?=
 =?utf-8?B?T3FrSU1CK2MrTkNaUXoyUE85MWVUS1FCSnBTakwxZ3ZmQXRZT3lHTHVMTTFl?=
 =?utf-8?B?NDdUNWVQN3RkZEk0Tk56MVltckZ0bHRsVjJYRHE5Z3JHMW8yS3lZUjZQcHR6?=
 =?utf-8?B?bTN0QW43WDNsV0dtWWppSmVzd0lFYUJ2K1NGZ2JLUDJEWHZaUERYU2hZY21S?=
 =?utf-8?B?N2hWaWJFR3NDenFhTHFoSGZjK0NUVmpPQUdZOHplS21zMmJ6ZnZvZHB2NXE4?=
 =?utf-8?B?RHExYkZZQWRhNFFXQXUyaHdYRVZWR2pTbitwenVOT0NxRGNIR1RpUXRUSTN0?=
 =?utf-8?B?R3p1VC9NUnFMWUpPV291R3hZZEFDd3FwVlhldFNmZHdaSDErVkFaaG56OTlj?=
 =?utf-8?Q?qpt84JngpYZr20+x8rNAXwb11naflKOo+MfyTj7EIw=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <48B26BAF3E6C6C4582AA3F47A1DDDCAF@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PH0PR03MB5669.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f8530fbe-7b4f-4799-cd65-08d9dc017685
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Jan 2022 10:41:49.0100
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: gHrMjaaAFrphK/zkpK7IQLyxbzrYufKW5ctnqy1YH8NfAfIttVKo0JEPhVgFW8yqWiiufNFI4w66XHegexrs5BIwMqltvUCzSN7uG/tUBqw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR03MB2601
X-OriginatorOrg: citrix.com

SGVsbG8gS2VpdGgsDQoNCknigJltIGN1cnJlbnRseSB0aGUgY29tbXVuaXR5IG1hbmFnZXIgZm9y
IHRoZSBYZW5Qcm9qZWN0LiAgV2hpbGUgZ29pbmcgdGhyb3VnaCB0aGUgbGlzdCBvZiBYZW5Qcm9q
ZWN0IGtleXMgWzFdIEkgbm90ZWQgdGhhdCB3ZSBzdGlsbCBsaXN0IGEgY29kZSBzaWduaW5nIGtl
eSBmb3IgMy40LiAgU2luY2UgdGhlcmUgYXBwZWFyIHRvIGhhdmUgYmVlbiBubyBjb21taXRzIG9u
IHRoaXMgYnJhbmNoIHNpbmNlIE5vdmVtYmVyIDIwMTIgWzJdLCBJIHBsYW4gdG8gcmVtb3ZlIHRo
ZSBwdWJsaWMga2V5IGZyb20gdGhlIHdlYiBwYWdlIHVubGVzcyBJIGhlYXIgYW55IG9iamVjdGlv
bnMgYnkgMTAgRmVicnVhcnkuDQoNClRoYW5rcywNCiAtR2VvcmdlIER1bmxhcA0KDQpbMV0gaHR0
cHM6Ly94ZW5wcm9qZWN0Lm9yZy9kZXZlbG9wZXJzL3RlYW1zL3hlbi1oeXBlcnZpc29yL29wZW5w
Z3Ata2V5cy8NClsyXSBodHRwOi8veGVuYml0cy54ZW5zb3VyY2UuY29tL2hnL3hlbi0zLjQtdGVz
dGluZy5oZy8=


From xen-devel-bounces@lists.xenproject.org Thu Jan 20 10:57:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 10:57:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259026.446695 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAV8L-0000Bu-CS; Thu, 20 Jan 2022 10:57:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259026.446695; Thu, 20 Jan 2022 10:57:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAV8L-0000Bm-8x; Thu, 20 Jan 2022 10:57:37 +0000
Received: by outflank-mailman (input) for mailman id 259026;
 Thu, 20 Jan 2022 10:57: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 1nAV8J-0000Bc-RP; Thu, 20 Jan 2022 10:57: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 1nAV8J-0006X7-O2; Thu, 20 Jan 2022 10:57: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 1nAV8J-0007Pm-AU; Thu, 20 Jan 2022 10:57:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nAV8J-00039R-7u; Thu, 20 Jan 2022 10:57:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=FdTFGpUP5HiXL5TxXHJYNw9LLngnUmS2gq2DsDKeIzI=; b=3FCw9rGqb+CP9U69ERNYeUdy3e
	datY0nFHg2zelvmSQqlFnWzIhu42F0WQ99jueWmUzB40U0DqsxB4DpM1pLvWU2VUGFzacVuBDovYl
	znLY+FzwaVT7xZKu/7DH8OD8Vj5jb2kA7tHC8lzIpYeIwRDU3qtojvngC9ozEGrU4sXE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167756-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 167756: regressions - FAIL
X-Osstest-Failures:
    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:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=755b16d10a90617b57dbaf900abe3ccadbe45324
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 20 Jan 2022 10:57:35 +0000

flight 167756 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167756/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              755b16d10a90617b57dbaf900abe3ccadbe45324
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  559 days
Failing since        151818  2020-07-11 04:18:52 Z  558 days  540 attempts
Testing same since   167756  2022-01-20 04:21:35 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
    Adolfo Jayme Barrientos <fitoschido@gmail.com>
  Aleksandr Alekseev <alexander.alekseev@virtuozzo.com>
  Aleksei Zakharov <zaharov@selectel.ru>
  Andika Triwidada <andika@gmail.com>
  Andrea Bolognani <abologna@redhat.com>
  Ani Sinha <ani@anisinha.ca>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  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>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  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>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  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>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  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 Chevsky <nchevsky@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>
  Or Ozeri <oro@il.ibm.com>
  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>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott 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>
  Stefan Hajnoczi <stefanha@redhat.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>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Дамјан Георгиевски <gdamjan@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 93722 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Jan 20 11:55:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 11:55:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259033.446707 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAW2J-00063K-KZ; Thu, 20 Jan 2022 11:55:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259033.446707; Thu, 20 Jan 2022 11:55:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAW2J-00063D-Fc; Thu, 20 Jan 2022 11:55:27 +0000
Received: by outflank-mailman (input) for mailman id 259033;
 Thu, 20 Jan 2022 11:55:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YFdd=SE=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1nAW2H-000637-Vn
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 11:55:25 +0000
Received: from ppsw-42.csi.cam.ac.uk (ppsw-42.csi.cam.ac.uk [131.111.8.142])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d91dacc4-79e7-11ec-8fa7-f31e035a9116;
 Thu, 20 Jan 2022 12:55:24 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:49014)
 by ppsw-42.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.138]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1nAW29-0010RV-8b (Exim 4.95) (return-path <amc96@srcf.net>);
 Thu, 20 Jan 2022 11:55:17 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 5DC2D1FADB;
 Thu, 20 Jan 2022 11:55:17 +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: d91dacc4-79e7-11ec-8fa7-f31e035a9116
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <914f2264-d424-e42b-31ac-1832224cc1d9@srcf.net>
Date: Thu, 20 Jan 2022 11:55:17 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
 Kevin Tian <kevin.tian@intel.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220117183415.11150-1-andrew.cooper3@citrix.com>
 <20220117183415.11150-5-andrew.cooper3@citrix.com>
 <3395e756-fa47-8d94-148a-03a573331e5a@suse.com>
 <74c2961b-29e1-9641-8a8b-b7cb0598b7be@srcf.net>
 <ad0c183a-ff7b-c560-ed3b-469d3f5c5b0a@suse.com>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: [PATCH v2 4/4] x86/spec-ctrl: Fix NMI race condition with VT-x
 MSR_SPEC_CTRL handling
In-Reply-To: <ad0c183a-ff7b-c560-ed3b-469d3f5c5b0a@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20/01/2022 08:14, Jan Beulich wrote:
> On 19.01.2022 18:00, Andrew Cooper wrote:
>> On 19/01/2022 13:42, Jan Beulich wrote:
>>> On 17.01.2022 19:34, Andrew Cooper wrote:
>>>> --- a/xen/arch/x86/hvm/vmx/entry.S
>>>> +++ b/xen/arch/x86/hvm/vmx/entry.S
>>>> @@ -35,7 +35,14 @@ ENTRY(vmx_asm_vmexit_handler)
>>>>  
>>>>          /* SPEC_CTRL_ENTRY_FROM_VMX    Req: b=curr %rsp=regs/cpuinfo, Clob: acd */
>>>>          ALTERNATIVE "", DO_OVERWRITE_RSB, X86_FEATURE_SC_RSB_HVM
>>>> -        ALTERNATIVE "", DO_SPEC_CTRL_ENTRY_FROM_HVM, X86_FEATURE_SC_MSR_HVM
>>>> +
>>>> +        .macro restore_spec_ctrl
>>>> +            mov    $MSR_SPEC_CTRL, %ecx
>>>> +            movzbl CPUINFO_xen_spec_ctrl(%rsp), %eax
>>>> +            xor    %edx, %edx
>>>> +            wrmsr
>>>> +        .endm
>>>> +        ALTERNATIVE "", restore_spec_ctrl, X86_FEATURE_SC_MSR_HVM
>>>>          /* WARNING! `ret`, `call *`, `jmp *` not safe before this point. */
>>>>  
>>>>          /* Hardware clears MSR_DEBUGCTL on VMExit.  Reinstate it if debugging Xen. */
>>>> @@ -82,8 +89,7 @@ UNLIKELY_END(realmode)
>>>>          mov VCPUMSR_spec_ctrl_raw(%rax), %eax
>>>>  
>>>>          /* WARNING! `ret`, `call *`, `jmp *` not safe beyond this point. */
>>>> -        /* SPEC_CTRL_EXIT_TO_VMX   Req: a=spec_ctrl %rsp=regs/cpuinfo, Clob: cd */
>>>> -        ALTERNATIVE "", DO_SPEC_CTRL_EXIT_TO_GUEST, X86_FEATURE_SC_MSR_HVM
>>>> +        /* SPEC_CTRL_EXIT_TO_VMX   Req: %rsp=regs/cpuinfo              Clob:    */
>>>>          ALTERNATIVE "", __stringify(verw CPUINFO_verw_sel(%rsp)), X86_FEATURE_SC_VERW_HVM
>>> I notice you did update this clobber remark, but what about the one further
>>> up in context?
>> What about it?  It still clobbers %eax, %ecx and %edx.
> Oh, sorry - I did look at DO_OVERWRITE_RSB only, not paying attention
> to the now open-coded 2nd part, which - due to the blank line - doesn't
> appear connected to the comment anymore.

Yeah - it's a little harder now that it isn't a single line.  The
req/clob information really is most useful at the start of the block,
because that's where it is important to get the context correct.

Can I take this as an R-by then?

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Jan 20 12:02:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 12:02:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259039.446722 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAW9K-0007dX-Oi; Thu, 20 Jan 2022 12:02:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259039.446722; Thu, 20 Jan 2022 12:02:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAW9K-0007d4-Ik; Thu, 20 Jan 2022 12:02:42 +0000
Received: by outflank-mailman (input) for mailman id 259039;
 Thu, 20 Jan 2022 12:02:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fK7G=SE=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1nAW9J-0007ap-Fy
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 12:02:41 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dd852dac-79e8-11ec-8fa7-f31e035a9116;
 Thu, 20 Jan 2022 13:02:39 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id AABF61F3A9;
 Thu, 20 Jan 2022 12:02:39 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 7FCD613B51;
 Thu, 20 Jan 2022 12:02:39 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id QCPyHV9P6WF5UwAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 20 Jan 2022 12:02: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: dd852dac-79e8-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642680159; h=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=CfrxD3KienyM7pfSnYwZtHjuwO56/KVSIOkTvQ20tA0=;
	b=QsjSp3f9qxpoAl3MSrZV4OTsuhqapl0c2HpKntCjxdFTn1PZ7lnU0YaXx96zA+kqRG7su4
	jf8uXkkoxpzfUZdqALbbB2Txco0cFFysTIojS6pqVf6gq6BN8Nyuwk3wCpW+zYxCT/gEjZ
	MBxmFlEqISGoW3GWPXw/W0Zlh5tLack=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 2/3] tools/xenstore: fix hashtable_expand() zeroing new area
Date: Thu, 20 Jan 2022 13:02:35 +0100
Message-Id: <20220120120236.13826-3-jgross@suse.com>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20220120120236.13826-1-jgross@suse.com>
References: <20220120120236.13826-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When realloc()ing the hashtable for expanding it, zero out all the new
bytes at the end of the table, not only one byte for each new element.

Fixes: 186f0e02a1c ("Added hashtable implementation")
Signed-off-by: Juergen Gross <jgross@suse.com>
---
This might be a backport candidate
---
 tools/xenstore/hashtable.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/xenstore/hashtable.c b/tools/xenstore/hashtable.c
index 39fb3ed338..6ac336eff1 100644
--- a/tools/xenstore/hashtable.c
+++ b/tools/xenstore/hashtable.c
@@ -136,7 +136,8 @@ hashtable_expand(struct hashtable *h)
                    realloc(h->table, newsize * sizeof(struct entry *));
         if (NULL == newtable) { (h->primeindex)--; return 0; }
         h->table = newtable;
-        memset(newtable[h->tablelength], 0, newsize - h->tablelength);
+        memset(newtable + h->tablelength, 0,
+               (newsize - h->tablelength) * sizeof(*newtable));
         for (i = 0; i < h->tablelength; i++) {
             for (pE = &(newtable[i]), e = *pE; e != NULL; e = *pE) {
                 index = indexFor(newsize,e->h);
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Thu Jan 20 12:02:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 12:02:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259040.446728 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAW9L-0007jd-1S; Thu, 20 Jan 2022 12:02:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259040.446728; Thu, 20 Jan 2022 12:02:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAW9K-0007hL-RN; Thu, 20 Jan 2022 12:02:42 +0000
Received: by outflank-mailman (input) for mailman id 259040;
 Thu, 20 Jan 2022 12:02:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fK7G=SE=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1nAW9J-0007aq-So
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 12:02:41 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dd6fc94d-79e8-11ec-bc18-3156f6d857e4;
 Thu, 20 Jan 2022 13:02:39 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 7AC18210F4;
 Thu, 20 Jan 2022 12:02:39 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 4E6FD13B51;
 Thu, 20 Jan 2022 12:02:39 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id qOi8EV9P6WF5UwAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 20 Jan 2022 12:02: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: dd6fc94d-79e8-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642680159; h=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=x2+28yARsMBGoNNBZObngFgGHwW0iOq0F8K+hZixmwk=;
	b=o1CHZg1fBbqBSi6K3Vuu2Q6zcwr+Zs+zXgskdbZ/rD66srJMGZKXOdpj6gvlrUFiCooc17
	tq7xFKusJscxHCaJmOjRtTObRkEaroavgZ9N8nsmqqtv9wGfvSowm+6o15mgQirpsfKdBW
	VJSV2N4kLz6oZBVthuUtA818AwsfGY8=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 1/3] tools/xenstore: merge hashtable_private.h into hashtable.c
Date: Thu, 20 Jan 2022 13:02:34 +0100
Message-Id: <20220120120236.13826-2-jgross@suse.com>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20220120120236.13826-1-jgross@suse.com>
References: <20220120120236.13826-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

hashtable_private.h is used in hashtable.c only.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstore/hashtable.c         | 31 +++++++++--
 tools/xenstore/hashtable_private.h | 85 ------------------------------
 2 files changed, 27 insertions(+), 89 deletions(-)
 delete mode 100644 tools/xenstore/hashtable_private.h

diff --git a/tools/xenstore/hashtable.c b/tools/xenstore/hashtable.c
index 394b1cf9d0..39fb3ed338 100644
--- a/tools/xenstore/hashtable.c
+++ b/tools/xenstore/hashtable.c
@@ -1,13 +1,29 @@
 /* Copyright (C) 2004 Christopher Clark <firstname.lastname@cl.cam.ac.uk> */
 
 #include "hashtable.h"
-#include "hashtable_private.h"
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
 #include <math.h>
 #include <stdint.h>
 
+struct entry
+{
+    void *k, *v;
+    unsigned int h;
+    struct entry *next;
+};
+
+struct hashtable {
+    unsigned int tablelength;
+    struct entry **table;
+    unsigned int entrycount;
+    unsigned int loadlimit;
+    unsigned int primeindex;
+    unsigned int (*hashfn) (void *k);
+    int (*eqfn) (void *k1, void *k2);
+};
+
 /*
 Credit for primes table: Aaron Krowne
  http://br.endernet.org/~akrowne/
@@ -25,6 +41,13 @@ static const unsigned int primes[] = {
 const unsigned int prime_table_length = sizeof(primes)/sizeof(primes[0]);
 const unsigned int max_load_factor = 65; /* percentage */
 
+/*****************************************************************************/
+/* indexFor */
+static inline unsigned int
+indexFor(unsigned int tablelength, unsigned int hashvalue) {
+    return (hashvalue % tablelength);
+}
+
 /*****************************************************************************/
 struct hashtable *
 create_hashtable(unsigned int minsize,
@@ -211,7 +234,7 @@ hashtable_remove(struct hashtable *h, void *k)
             *pE = e->next;
             h->entrycount--;
             v = e->v;
-            freekey(e->k);
+            free(e->k);
             free(e);
             return v;
         }
@@ -235,7 +258,7 @@ hashtable_destroy(struct hashtable *h, int free_values)
         {
             e = table[i];
             while (NULL != e)
-            { f = e; e = e->next; freekey(f->k); free(f->v); free(f); }
+            { f = e; e = e->next; free(f->k); free(f->v); free(f); }
         }
     }
     else
@@ -244,7 +267,7 @@ hashtable_destroy(struct hashtable *h, int free_values)
         {
             e = table[i];
             while (NULL != e)
-            { f = e; e = e->next; freekey(f->k); free(f); }
+            { f = e; e = e->next; free(f->k); free(f); }
         }
     }
     free(h->table);
diff --git a/tools/xenstore/hashtable_private.h b/tools/xenstore/hashtable_private.h
deleted file mode 100644
index 3e95f60057..0000000000
--- a/tools/xenstore/hashtable_private.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/* Copyright (C) 2002, 2004 Christopher Clark <firstname.lastname@cl.cam.ac.uk> */
-
-#ifndef __HASHTABLE_PRIVATE_CWC22_H__
-#define __HASHTABLE_PRIVATE_CWC22_H__
-
-#include "hashtable.h"
-
-/*****************************************************************************/
-struct entry
-{
-    void *k, *v;
-    unsigned int h;
-    struct entry *next;
-};
-
-struct hashtable {
-    unsigned int tablelength;
-    struct entry **table;
-    unsigned int entrycount;
-    unsigned int loadlimit;
-    unsigned int primeindex;
-    unsigned int (*hashfn) (void *k);
-    int (*eqfn) (void *k1, void *k2);
-};
-
-/*****************************************************************************/
-unsigned int
-hash(struct hashtable *h, void *k);
-
-/*****************************************************************************/
-/* indexFor */
-static inline unsigned int
-indexFor(unsigned int tablelength, unsigned int hashvalue) {
-    return (hashvalue % tablelength);
-};
-
-/* Only works if tablelength == 2^N */
-/*static inline unsigned int
-indexFor(unsigned int tablelength, unsigned int hashvalue)
-{
-    return (hashvalue & (tablelength - 1u));
-}
-*/
-
-/*****************************************************************************/
-#define freekey(X) free(X)
-/*define freekey(X) ; */
-
-
-/*****************************************************************************/
-
-#endif /* __HASHTABLE_PRIVATE_CWC22_H__*/
-
-/*
- * Copyright (c) 2002, Christopher Clark
- * All rights reserved.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 
- * * Neither the name of the original author; nor the names of any contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- * 
- * 
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER
- * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Thu Jan 20 12:02:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 12:02:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259038.446717 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAW9K-0007bD-EW; Thu, 20 Jan 2022 12:02:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259038.446717; Thu, 20 Jan 2022 12:02:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAW9K-0007b6-BO; Thu, 20 Jan 2022 12:02:42 +0000
Received: by outflank-mailman (input) for mailman id 259038;
 Thu, 20 Jan 2022 12:02:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fK7G=SE=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1nAW9I-0007ap-OR
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 12:02:40 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dd5fd82b-79e8-11ec-8fa7-f31e035a9116;
 Thu, 20 Jan 2022 13:02:39 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 46747210F3;
 Thu, 20 Jan 2022 12:02:39 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 0EAC213B51;
 Thu, 20 Jan 2022 12:02:39 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id e8A9Al9P6WF5UwAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 20 Jan 2022 12:02: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: dd5fd82b-79e8-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642680159; h=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=pu+D+XCV5vakBgyLlB2J5yNghvXJQ9cT+8my8T+L11k=;
	b=X6beP5Ngcl4eVjHJpM0EKkOCYAV4C41eLBljmf7IWzB+hQrR2tWmlcoNq3itVBPCeYkTtx
	FPVE1smtCfVw4mb4iiR3tvDNkR6bVX0br/9xMHTCH4kCPD6IX/+qyG1JK2R+ZZ1TuDDRcI
	FhX7eZQpY97ijjNr3OmeQOqJtpvFkDg=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 0/3] tools/xenstore: simplify hashtable implementation
Date: Thu, 20 Jan 2022 13:02:33 +0100
Message-Id: <20220120120236.13826-1-jgross@suse.com>
X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Do some simplifications in the hashtable implementation not touching
the hashtable interfaces.

Juergen Gross (3):
  tools/xenstore: merge hashtable_private.h into hashtable.c
  tools/xenstore: fix hashtable_expand() zeroing new area
  tools/xenstore: drop DEFINE_HASHTABLE_* macros and usage intro

 tools/xenstore/hashtable.c         | 34 ++++++++++--
 tools/xenstore/hashtable.h         | 76 --------------------------
 tools/xenstore/hashtable_private.h | 85 ------------------------------
 3 files changed, 29 insertions(+), 166 deletions(-)
 delete mode 100644 tools/xenstore/hashtable_private.h

-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Thu Jan 20 12:02:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 12:02:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259041.446749 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAW9M-0008GE-DP; Thu, 20 Jan 2022 12:02:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259041.446749; Thu, 20 Jan 2022 12:02:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAW9M-0008Fi-4y; Thu, 20 Jan 2022 12:02:44 +0000
Received: by outflank-mailman (input) for mailman id 259041;
 Thu, 20 Jan 2022 12:02:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fK7G=SE=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1nAW9K-0007aq-DS
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 12:02:42 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ddb15cdf-79e8-11ec-bc18-3156f6d857e4;
 Thu, 20 Jan 2022 13:02:40 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id DD3ED210FA;
 Thu, 20 Jan 2022 12:02:39 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id B0C7A13B51;
 Thu, 20 Jan 2022 12:02:39 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id sFvjKV9P6WF5UwAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 20 Jan 2022 12:02: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: ddb15cdf-79e8-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642680159; h=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=4wm40Alsny5wX/z5bwEa7HgretT0TQtgGgtRQ8V8VBY=;
	b=Zjw18zdEMPiJnP2Fud4sGP8xYZciGwKS4XM18OxVGyk+rEq9gZWW0Shs5X71YfIS6uzkNg
	sYrSTH1fftPapS3m/Gem0wcgbVI6XDUMA/cJ26wMpM+TcWkGQ/lf+FO90+6zp3HbW+pcrc
	Z0YYO2kTtpm1DoTI8dnKhbC66y85RNA=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 3/3] tools/xenstore: drop DEFINE_HASHTABLE_* macros and usage intro
Date: Thu, 20 Jan 2022 13:02:36 +0100
Message-Id: <20220120120236.13826-4-jgross@suse.com>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20220120120236.13826-1-jgross@suse.com>
References: <20220120120236.13826-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The DEFINE_HASHTABLE_* macros are used nowhere, so drop them. The usage
intro isn't needed either with those macros dropped.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstore/hashtable.h | 76 --------------------------------------
 1 file changed, 76 deletions(-)

diff --git a/tools/xenstore/hashtable.h b/tools/xenstore/hashtable.h
index b90781abd4..62fef6081a 100644
--- a/tools/xenstore/hashtable.h
+++ b/tools/xenstore/hashtable.h
@@ -5,62 +5,6 @@
 
 struct hashtable;
 
-/* Example of use:
- *
- *      struct hashtable  *h;
- *      struct some_key   *k;
- *      struct some_value *v;
- *
- *      static unsigned int         hash_from_key_fn( void *k );
- *      static int                  keys_equal_fn ( void *key1, void *key2 );
- *
- *      h = create_hashtable(16, hash_from_key_fn, keys_equal_fn);
- *      k = (struct some_key *)     malloc(sizeof(struct some_key));
- *      v = (struct some_value *)   malloc(sizeof(struct some_value));
- *
- *      (initialise k and v to suitable values)
- * 
- *      if (! hashtable_insert(h,k,v) )
- *      {     exit(-1);               }
- *
- *      if (NULL == (found = hashtable_search(h,k) ))
- *      {    printf("not found!");                  }
- *
- *      if (NULL == (found = hashtable_remove(h,k) ))
- *      {    printf("Not found\n");                 }
- *
- */
-
-/* Macros may be used to define type-safe(r) hashtable access functions, with
- * methods specialized to take known key and value types as parameters.
- * 
- * Example:
- *
- * Insert this at the start of your file:
- *
- * DEFINE_HASHTABLE_INSERT(insert_some, struct some_key, struct some_value);
- * DEFINE_HASHTABLE_SEARCH(search_some, struct some_key, struct some_value);
- * DEFINE_HASHTABLE_REMOVE(remove_some, struct some_key, struct some_value);
- *
- * This defines the functions 'insert_some', 'search_some' and 'remove_some'.
- * These operate just like hashtable_insert etc., with the same parameters,
- * but their function signatures have 'struct some_key *' rather than
- * 'void *', and hence can generate compile time errors if your program is
- * supplying incorrect data as a key (and similarly for value).
- *
- * Note that the hash and key equality functions passed to create_hashtable
- * still take 'void *' parameters instead of 'some key *'. This shouldn't be
- * a difficult issue as they're only defined and passed once, and the other
- * functions will ensure that only valid keys are supplied to them.
- *
- * The cost for this checking is increased code size and runtime overhead
- * - if performance is important, it may be worth switching back to the
- * unsafe methods once your program has been debugged with the safe methods.
- * This just requires switching to some simple alternative defines - eg:
- * #define insert_some hashtable_insert
- *
- */
-
 /*****************************************************************************
  * create_hashtable
    
@@ -98,12 +42,6 @@ create_hashtable(unsigned int minsize,
 int 
 hashtable_insert(struct hashtable *h, void *k, void *v);
 
-#define DEFINE_HASHTABLE_INSERT(fnname, keytype, valuetype) \
-int fnname (struct hashtable *h, keytype *k, valuetype *v) \
-{ \
-    return hashtable_insert(h,k,v); \
-}
-
 /*****************************************************************************
  * hashtable_search
    
@@ -116,12 +54,6 @@ int fnname (struct hashtable *h, keytype *k, valuetype *v) \
 void *
 hashtable_search(struct hashtable *h, void *k);
 
-#define DEFINE_HASHTABLE_SEARCH(fnname, keytype, valuetype) \
-valuetype * fnname (struct hashtable *h, keytype *k) \
-{ \
-    return (valuetype *) (hashtable_search(h,k)); \
-}
-
 /*****************************************************************************
  * hashtable_remove
    
@@ -134,13 +66,6 @@ valuetype * fnname (struct hashtable *h, keytype *k) \
 void * /* returns value */
 hashtable_remove(struct hashtable *h, void *k);
 
-#define DEFINE_HASHTABLE_REMOVE(fnname, keytype, valuetype) \
-valuetype * fnname (struct hashtable *h, keytype *k) \
-{ \
-    return (valuetype *) (hashtable_remove(h,k)); \
-}
-
-
 /*****************************************************************************
  * hashtable_count
    
@@ -151,7 +76,6 @@ valuetype * fnname (struct hashtable *h, keytype *k) \
 unsigned int
 hashtable_count(struct hashtable *h);
 
-
 /*****************************************************************************
  * hashtable_destroy
    
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Thu Jan 20 12:12:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 12:12:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259050.446761 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAWIK-0002Lk-8L; Thu, 20 Jan 2022 12:12:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259050.446761; Thu, 20 Jan 2022 12:12:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAWIK-0002Ld-4e; Thu, 20 Jan 2022 12:12:00 +0000
Received: by outflank-mailman (input) for mailman id 259050;
 Thu, 20 Jan 2022 12:11:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YGoM=SE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nAWII-0002LX-2a
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 12:11:58 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 29773efd-79ea-11ec-8fa7-f31e035a9116;
 Thu, 20 Jan 2022 13:11:56 +0100 (CET)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01lp2055.outbound.protection.outlook.com [104.47.1.55]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-28-2JZvl0YSNYKAEJmZ6860pg-1; Thu, 20 Jan 2022 13:11:55 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VE1PR04MB6640.eurprd04.prod.outlook.com (2603:10a6:803:122::32)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.13; Thu, 20 Jan
 2022 12:11:53 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.010; Thu, 20 Jan 2022
 12:11: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: 29773efd-79ea-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642680716;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=MMFhlv/jVLmaztbXUrwP4iQBATdsre24+z2M6YAYe2M=;
	b=k1AgtwQOkOOdCRAe48nDA3zFHV6f3ThAES9TaEP9ZekjHJvP6QgpOcOpHdA8uEUfQ4jEX/
	CSJ3wHmFSDdU2cBWE7dtlSVfb57VjWI8SuluyL/PEqiFX3RFpDcND678ZeJyWaDZNjiYPc
	XtVNHTdDsaaFLh63LCVESR0jLQ+aP1U=
X-MC-Unique: 2JZvl0YSNYKAEJmZ6860pg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kXGLwOsTsGZ4G6L+v1mT59ezz03Jw3a/OKN1R9ctR6Mw6rTIkwcx5w3km8xuMk2+7qN/PixDgyRO53IXjRAJK7cUykmG9W9lz+a+2aKv5bV861ZOyy0bMp7gzew/SQG2SdmfMV89CGUdA6hOxUtCZe1HYXM7enLhzcvzm/JxOKmJl1phY9Bo4Bw2UYy+3jZI5D7FsYBfF73cmasvwZ0SLyt3DJgeDFfNTFBCpgQWFCg9MXGmZtG1KHMzZqvgSZXoQsmXoEABypx4negb7hTURNksVPhfcuxhQph6XbGNuPR91JDBU9e04AEvudvkm6BezbS0M7j+W3wG9kVz80AKCA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=czqdFnZttwMubhs8eB3lB+M+pU60vueqHCcOymGIL20=;
 b=d2f1PHeXNGSKpwgxWpj0Sbhlj9qxQ9TQfxH4u6zKT2dhIaMWkEguxHS0eJ4btD8XyVKhVfRp5n8R0bWPcKCme/RpKj/yrH5y+jXIbM2Vtwkocmhv6zE56Ba5NNmhCBzAJoFSMYLagNOY5ak6g16jUIv0EsEd4Ak0sXiA3ztT5O9mIKX07uMa+X6IfAZZ3jk7zkSJzJd1tfqVEe7WCASyT5WGcywIl99I8DLxCDJq9DBmTZT3++9EnoslpxBUYKNP0LpVIDzhPMllEbFiNzKm7feY/cE2Qj6F+m+iShwawZsoO+xRlHOqQ7msZ4OiqJWcj5l6QqZPYG7cLsMmmeuyYA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9415e194-3c31-b7cb-3a6a-3ab6aa432908@suse.com>
Date: Thu, 20 Jan 2022 13:11:51 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v2 4/4] x86/spec-ctrl: Fix NMI race condition with VT-x
 MSR_SPEC_CTRL handling
Content-Language: en-US
To: Andrew Cooper <amc96@srcf.net>, Andrew Cooper <andrew.cooper3@citrix.com>
CC: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
 Kevin Tian <kevin.tian@intel.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220117183415.11150-1-andrew.cooper3@citrix.com>
 <20220117183415.11150-5-andrew.cooper3@citrix.com>
 <3395e756-fa47-8d94-148a-03a573331e5a@suse.com>
 <74c2961b-29e1-9641-8a8b-b7cb0598b7be@srcf.net>
 <ad0c183a-ff7b-c560-ed3b-469d3f5c5b0a@suse.com>
 <914f2264-d424-e42b-31ac-1832224cc1d9@srcf.net>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <914f2264-d424-e42b-31ac-1832224cc1d9@srcf.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM6PR0502CA0056.eurprd05.prod.outlook.com
 (2603:10a6:20b:56::33) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f9aff40c-7485-42a8-0e7d-08d9dc0e0b9c
X-MS-TrafficTypeDiagnostic: VE1PR04MB6640:EE_
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB6640B2ACB77E14F2E2EB2958B35A9@VE1PR04MB6640.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:
	u8ZmlPsXziCQF5EjGpZDqHwcJoUPbYdYpUzgYBT00Xm5pZ7MOQyADjlolODGDXp2QSrEmSkQp+yjf+ZmEui2Nwis7iwnnKrF97qyb+jSeoUWVRl8cLkL+IHHoRFJ47hF5Kf2ycgYBonnO1LFtDF21OWHbqQhpFQm3y5xckJCPx0ONwPZg8ZLCucPTVE+i5kEgnss2RRWHAIx3BBkIMyy82//3DJpgglZgs8ThbLatB7+GW1ufliAAknU7TllBlP+e+m1/RvxsVbdxi/uoU89NdeJbMixrHPEedX2QJF8SE3MXoxWg9IYv5YQvyz/oauLVicS+fh/gYTt/Z1dxfGFEtzm7ifJqzAuUQne8pZkTehscuqcUKZMepEhxf6v0c3HBQQZ8Zw3Sxx9MatGaosJ5sqUkbRp1OwHCXpUdSZAGGTLI0LAqBlyV1ipn/JUgO4aaDRWCgV2Wd2YxPTKUqCkwXVhE/odIPx2PY4AVE/7VhfoyCw98hXciWoQ9AYc54raIgD33RGsS5MpE+ALwnZXRCQHhPosemKexNsNjABANr1+nhtkXRUVhnI7nA/jGsvLqxQIOUKW0f/B5g0RqJekhgFuNTNbjg+UWmCNkM3P8ql9je7pRg2/rCiyaHNfNc5fsuywEti/LDaKFVx0rO+DD9VV0zo0BpoWMpQNoRgT23gECIvAZCP6zhmL4nqRtnpJ4ujE/xuINnU005uxE6pr7m/6m9pEmcupwN+gFRpXM0I=
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)(6486002)(2616005)(316002)(66946007)(66476007)(8936002)(83380400001)(66556008)(38100700002)(8676002)(36756003)(110136005)(53546011)(26005)(2906002)(6506007)(86362001)(5660300002)(508600001)(31696002)(6512007)(186003)(54906003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?nWmw0nLE40S0pK+Nmxq2OZalF+p5yd7O5G//eQH+lWeIRJCUmMgEtVSedlxK?=
 =?us-ascii?Q?FntYEZXQFJV+tNr/1nKxAuHQNOlqY6vTJ1Q9pZphOSygsOTQNXc/M3l2/he7?=
 =?us-ascii?Q?V5PRfJXUZ6iHtfoM0v+6VjQImS7oT9iQidhewccgic4ilCEHnWtbqJ5ItfQ5?=
 =?us-ascii?Q?MiA02wTj0/HVcDRes0ovNF87rIbLHABDaTdHgjNWQ917WUcxRYdKaAt1ByaY?=
 =?us-ascii?Q?H0XOV+4W70AuZ6/NnRHhaW/MW/ITRhz18iphKro3HUTmFIwLeHjnwaMs0AdL?=
 =?us-ascii?Q?wXOF1728pSSscLWbvtlBEwuONnSJpXQQMwjmxOpq/V4Qor9laQhshhERpaDm?=
 =?us-ascii?Q?5kPA47QImgqh7EqfrYvhkAcqzJqOiatCXtx7iXexDz1ebTje8t5wn1zMakzZ?=
 =?us-ascii?Q?ounX8En7EKkw9HgLZZmp5Ao98gvH5/IBGr7nF43TgXqG5xCwepaz41VluiKk?=
 =?us-ascii?Q?HRbKvDCK4CF4HprIelwY9UuirupU3M4iGWK2kqoh/rvfAooViUoMHX9JZg5X?=
 =?us-ascii?Q?zcYTzu9Ct6yZWK1hw2aVvmGEM/5/vv/MicL6Ycc+0GS+Ge02HXkNgcMDA/39?=
 =?us-ascii?Q?Dx5Z+juQ2JqRbcKx7VLTeovhRQk/2Z2ljI59xUrjm8ivX1Wk7aikXdbKDMbC?=
 =?us-ascii?Q?/JmhUDKx4enP4B4f9tcoM1JCnDv8ujqeYcHiVHpjxubWo6w3nx/0ARRVhKzT?=
 =?us-ascii?Q?FInRdBiPmkXYFuUdvmuT3pSYKRh8nyJKjmRkldexn/+cDOep3Hf7POl+hbfk?=
 =?us-ascii?Q?IBEwM9drmBnhbQZA3nLYxnBO5J8rYtFAlcBG7VGqgw51cAAlSnO0/FrAhuBJ?=
 =?us-ascii?Q?FiHIzYtwFaRoY1WYWuLQxN1CDKnMYo2WJ/WsQOuqrbxLaFAlRn8Rhp7Zsr1I?=
 =?us-ascii?Q?J3EJ2NlDeU64k6MvzOX8nQbns8GW8duticE9u+vbw07TQS3LICdtovSZ0yJC?=
 =?us-ascii?Q?21z/WCJUytDcWXjJazNi5l0TzxHow6B1VOcJxAh3UREzcWmiOUzTywt6AWLC?=
 =?us-ascii?Q?ZCmv4v9+gABYFg8R4VwIR4dq+P2ntmQbYrrI2oQNwqSwvPJTLg+WmVC/alfd?=
 =?us-ascii?Q?QgPIxjhEPaciA8qI4UXU4XkaqZQe7YwFmHjSglf/vi7F3+x9TkQ13AiZJIHW?=
 =?us-ascii?Q?2Mj56sIaWaBhT031LJLh0m1W8TNGlepbpC4KkFZC4+AtWLVcO2adTsWoAyTA?=
 =?us-ascii?Q?TGDEFQUs6H40ee2BzkVo7SMOp/OHak9TcccU5CanYPpma+CfbgzrXIwmqhhZ?=
 =?us-ascii?Q?xvox59R+TMif7LpVzG1A/JYUwCFpsDBWME8cp002S0XHSRhXdEmSRmPxGc8Y?=
 =?us-ascii?Q?Cr82MJpc2JOawl0qHEh1dtSvXHZANxhEOyNMI+OV90ozBKcx6jXGpyiSRJFF?=
 =?us-ascii?Q?xj/ugYDGySP69+JimCIPOJzbUtE+DVqy1Uy7HnJ5/FcYQEA/dWbT1MWVIzbs?=
 =?us-ascii?Q?im2zjCHtvoHg0YdUDFvtstrtQlFEt694/bnH39hj07rCrSJ3l7GlDC3PvUNp?=
 =?us-ascii?Q?IUloboZ9cUYZYHLTpMqVyR6iWR00o34U7Kc3OdiGs7C/ULOLVOSUkX+6uy2K?=
 =?us-ascii?Q?rChzbPEO/liy7U0Y2pmQDC+pM92WA7cF0/iggaOhvVZuK6SuOINx65Ta8nN0?=
 =?us-ascii?Q?ZIObK3Tpw2wb5/3TcII2RUE=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f9aff40c-7485-42a8-0e7d-08d9dc0e0b9c
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2022 12:11:53.3594
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EorCGWfQFTskfn7kROZsq4tHOK/d7efewvfvPXrdNuKKjQJIxWtlJNQYxBLQdSu93yg50Ed3OCthDRg8cOtl+w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6640

On 20.01.2022 12:55, Andrew Cooper wrote:
> On 20/01/2022 08:14, Jan Beulich wrote:
>> On 19.01.2022 18:00, Andrew Cooper wrote:
>>> On 19/01/2022 13:42, Jan Beulich wrote:
>>>> On 17.01.2022 19:34, Andrew Cooper wrote:
>>>>> --- a/xen/arch/x86/hvm/vmx/entry.S
>>>>> +++ b/xen/arch/x86/hvm/vmx/entry.S
>>>>> @@ -35,7 +35,14 @@ ENTRY(vmx_asm_vmexit_handler)
>>>>> =20
>>>>>          /* SPEC_CTRL_ENTRY_FROM_VMX    Req: b=3Dcurr %rsp=3Dregs/cpu=
info, Clob: acd */
>>>>>          ALTERNATIVE "", DO_OVERWRITE_RSB, X86_FEATURE_SC_RSB_HVM
>>>>> -        ALTERNATIVE "", DO_SPEC_CTRL_ENTRY_FROM_HVM, X86_FEATURE_SC_=
MSR_HVM
>>>>> +
>>>>> +        .macro restore_spec_ctrl
>>>>> +            mov    $MSR_SPEC_CTRL, %ecx
>>>>> +            movzbl CPUINFO_xen_spec_ctrl(%rsp), %eax
>>>>> +            xor    %edx, %edx
>>>>> +            wrmsr
>>>>> +        .endm
>>>>> +        ALTERNATIVE "", restore_spec_ctrl, X86_FEATURE_SC_MSR_HVM
>>>>>          /* WARNING! `ret`, `call *`, `jmp *` not safe before this po=
int. */
>>>>> =20
>>>>>          /* Hardware clears MSR_DEBUGCTL on VMExit.  Reinstate it if =
debugging Xen. */
>>>>> @@ -82,8 +89,7 @@ UNLIKELY_END(realmode)
>>>>>          mov VCPUMSR_spec_ctrl_raw(%rax), %eax
>>>>> =20
>>>>>          /* WARNING! `ret`, `call *`, `jmp *` not safe beyond this po=
int. */
>>>>> -        /* SPEC_CTRL_EXIT_TO_VMX   Req: a=3Dspec_ctrl %rsp=3Dregs/cp=
uinfo, Clob: cd */
>>>>> -        ALTERNATIVE "", DO_SPEC_CTRL_EXIT_TO_GUEST, X86_FEATURE_SC_M=
SR_HVM
>>>>> +        /* SPEC_CTRL_EXIT_TO_VMX   Req: %rsp=3Dregs/cpuinfo         =
     Clob:    */
>>>>>          ALTERNATIVE "", __stringify(verw CPUINFO_verw_sel(%rsp)), X8=
6_FEATURE_SC_VERW_HVM
>>>> I notice you did update this clobber remark, but what about the one fu=
rther
>>>> up in context?
>>> What about it?=C2=A0 It still clobbers %eax, %ecx and %edx.
>> Oh, sorry - I did look at DO_OVERWRITE_RSB only, not paying attention
>> to the now open-coded 2nd part, which - due to the blank line - doesn't
>> appear connected to the comment anymore.
>=20
> Yeah - it's a little harder now that it isn't a single line.=C2=A0 The
> req/clob information really is most useful at the start of the block,
> because that's where it is important to get the context correct.
>=20
> Can I take this as an R-by then?

Please do; I should have said so earlier on.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 20 12:40:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 12:40:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259054.446772 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAWjo-0005dO-Jv; Thu, 20 Jan 2022 12:40:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259054.446772; Thu, 20 Jan 2022 12:40:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAWjo-0005dH-G1; Thu, 20 Jan 2022 12:40:24 +0000
Received: by outflank-mailman (input) for mailman id 259054;
 Thu, 20 Jan 2022 12:40:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nAWjn-0005d7-3Z; Thu, 20 Jan 2022 12:40: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 1nAWjn-0008M1-0O; Thu, 20 Jan 2022 12:40: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 1nAWjm-0004hS-HB; Thu, 20 Jan 2022 12:40:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nAWjm-0003V7-Gg; Thu, 20 Jan 2022 12:40:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=XgB0BV4MxzVzqFcLsFPlWTs6bmN0XIZOB41cRZaTg3Q=; b=Sp30cxEE4h19PquxI3z9MzJZgU
	I/d7vppRt9YyFyUGkIfTcHVAh4mBAAUPMjbqecyOK547QXr+TvWDvedBYK+fgu6MLROCgz7gXErxs
	kewAKKQnxioONSgT6GeWQvAFLYH/kzyUpYKesCnWDGNZtqfpwLpIq5aeLpE3UTXUCme8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167755-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167755: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt: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-armhf-armhf-libvirt-qcow2: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-amd64-i386-libvirt-xsm:migrate-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-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=9b7cdb83fccf59912e56714dd79dbfab57518a65
X-Osstest-Versions-That:
    xen=2fc98a9587704b3cdedfe3ae2a6104e7d9e251bd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 20 Jan 2022 12:40:22 +0000

flight 167755 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167755/

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 167749
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167749
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167749
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167749
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167749
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167749
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 167749
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167749
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167749
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167749
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167749
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167749
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167749
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-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-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  9b7cdb83fccf59912e56714dd79dbfab57518a65
baseline version:
 xen                  2fc98a9587704b3cdedfe3ae2a6104e7d9e251bd

Last test of basis   167749  2022-01-19 16:09:20 Z    0 days
Testing same since   167755  2022-01-20 02:23:41 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Wei Liu <wl@xen.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   2fc98a9587..9b7cdb83fc  9b7cdb83fccf59912e56714dd79dbfab57518a65 -> master


From xen-devel-bounces@lists.xenproject.org Thu Jan 20 14:00:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 14:00:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259065.446791 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAXzX-00057j-Dz; Thu, 20 Jan 2022 14:00:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259065.446791; Thu, 20 Jan 2022 14:00: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 1nAXzX-00057c-AB; Thu, 20 Jan 2022 14:00:43 +0000
Received: by outflank-mailman (input) for mailman id 259065;
 Thu, 20 Jan 2022 14:00:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YGoM=SE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nAXzW-00057W-Ep
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 14:00:42 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 59cfdb2d-79f9-11ec-8fa7-f31e035a9116;
 Thu, 20 Jan 2022 15:00:40 +0100 (CET)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2050.outbound.protection.outlook.com [104.47.13.50]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-29-efJ8GxvjM6-3RN71HmrO-w-1; Thu, 20 Jan 2022 15:00:38 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB3966.eurprd04.prod.outlook.com (2603:10a6:803:4e::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.7; Thu, 20 Jan
 2022 14:00:36 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.010; Thu, 20 Jan 2022
 14:00:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 59cfdb2d-79f9-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642687240;
	h=from:from:reply-to:subject:subject: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=Pn8MUYECdd99UlXTjh8FIDsdBFCYTiXsFNaqwLg0X4I=;
	b=CHO5Mw9u5KlIvEVMi51bgTb9LN61Y0ERsZwLPniSTXWzUu2yZX4p3kH9aWm18UJ1SsfnGr
	0M8UPviohgoC9NePO57S014I+rlRht4z+PgRJ7FIbLDeNgIyw+dsKtaqxSJO/grVZp2jTQ
	z+HfrLO5rSPeuT2AkrU4pr4NZ81dG5E=
X-MC-Unique: efJ8GxvjM6-3RN71HmrO-w-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GHElwSa2TZGHAuUSrWi5YW8X/lQC47SP9AuCUO8wOBc0MyRn52louegpAkjQ8Grvh5A7RNcys6Jmxe4rMr6+Hkp4h3sJ9OA0DYzLVtn/M68ns4rVsj6k3ZHPy/bmHpk/xb0e8/1CxIWTcYdmpnFBasy9GKyILzxp365DdboXuFcPz0fGs8fS3Qq5MucthaFngQIrMtBBqysofqISzbqeZLaB8uRsUzmK8qiJxrhxRMjEOMnjUgZVSsIS4IbIqH+pPU09vhXnPShw3MrU9AFk9pja66kBioNw0adWJFMsskjUQn/wCj7b9c3PE/58JW/PdD15OT8ph/67xSWpEDcNwQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Pn8MUYECdd99UlXTjh8FIDsdBFCYTiXsFNaqwLg0X4I=;
 b=ZVim81nz16VsiYrJupP7thENk0aS9Ld+uHPf4j1kXWiMpZNxgzX0ZCSpySfMfGuGGqoHhTkJjRpAmAjhptvqnNSA++56IgopfI766QaHqJhovYrSX2MQ2o79R9rtSE7j6Rk/gdx1l/ERJH06OBKQ8FnKqlAVr9sFLpxXDjv0IifnflNJtoUqGKo/tC80YJzHx5P/aDg7Iyzc7LLUfmYvFBO0lHQgHNlVjiD3FZTdtc3JARoW4Ok5mJLEEM4KxeP3FhAj6eifVkimxS6l+j6uWa6ZsmuhyOP9f+fEoF1bWYacchG/DNqIne2V/60NPn78Fur4YWgPpvs5kOm/CHfzPA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <568cb6dc-127a-9c8f-0073-2df173d4677b@suse.com>
Date: Thu, 20 Jan 2022 15:00:34 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2 0/5] x86/mwait-idle: updates from Linux (and more)
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR0402CA0012.eurprd04.prod.outlook.com
 (2603:10a6:203:90::22) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 15321522-c1cd-45ce-98a1-08d9dc1d3bb8
X-MS-TrafficTypeDiagnostic: VI1PR04MB3966:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB39666C7B4155E021D7DF558BB35A9@VI1PR04MB3966.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:
	xf7P1rpmw/PUTszZZefTFG1XXHllCuMx4jn3qaFUqRL7fTGWFRTCBrEg7wdV2sK4GCeLg7ZCCixSJtuaIhyV1UkZXTC5uRNb+ZEjpuVCxMaN9dtBIXKn6DtgblDauM5avZgxM+ju2q6ManmU11byZ+pxUUYaO/C8XWUp/reR83TKu6Ao8wY/L9jqhGkR9YkCT3wHYR3fmHtTGLWt7T6i0UZCjZKcQ1fFLYDmYYctbIV0eAQ0VDmhwJdEwL6RSxQxzM2M/v447kEpapqrZr01ejj68Wv7Hct4huKkaafIuh0DyiwspgGRDCrNK/Ja5H4lvXBV8IMsR9Tavs4mQ1x/pLO8xx6XkvIg77qPgHuL9ISyYpKGVTmwg0g6TyFfcwQRe6iTwsAMFVOQIHwzwSbb2KTFY3K9SQ9nXbRKYRd+KDNZsjhQxJBFsNTZaR9aBhxDGzBttXm9W7RAhEVc1MwLfx5SlaoWT6uRvH5J4h0mHh+aIagef/YJBDVA4L129iHXCb2H7cX3MPMqzdZ29hkytLCLaS2j5YBYCOYf+6AS3Jh/jolsjMUPppQCYCXq66r8OQN17kk8tG9ZDXdkgKdea8WWVncD5AcL+PvY2Xy6o80uF92m/KS2fnBOGOUS3bAp1RNmX17AmQwQDXEqU0MoHoBYNqz/0pOX642tSRjUMEk+S1+jRKZjE77rKVesqHAbQ+byXiLjPBFqBnLuzmG2l6/5KlObbjb8wUXW3/ggTRo=
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)(6512007)(26005)(2616005)(15650500001)(38100700002)(36756003)(31696002)(8676002)(83380400001)(31686004)(54906003)(66946007)(4326008)(66556008)(66476007)(316002)(8936002)(4744005)(6916009)(6486002)(6506007)(86362001)(2906002)(5660300002)(508600001)(186003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d0ozcHZBbUdPaUl2MVNmVEgyVm14TlVUaUVmWTE1QXJaTTc1YytLOTBRWUhr?=
 =?utf-8?B?SDJzOTNYYzl3Rk5BUkJQMWE1M1pYakZacVVkenU2dWUrT0FvMGRUc0kzZi9F?=
 =?utf-8?B?T1Q3L0FlL0pCSHA5Y1NoMHRXMkw4Q2w1Ym91SE5ZV2NRZWFoZnh3K1R4MlhU?=
 =?utf-8?B?QlJFSmdhOGtJa0ZYK0ZOdkEwUE9Hdzk3d3Jlc3pTRWNjdEh4Y0VnMHQvaDR2?=
 =?utf-8?B?Y00vMFNrUEtFQUVrUnJ5cXBKWnE3SnNPUk16TFplRVlLRmU4N0FVZWJoVTJ0?=
 =?utf-8?B?OU5RSXFnaEJiaHBWc3JkNEJiNmdvK1lhUE91dXAxRTlrNEQyZDRNK0pwcU11?=
 =?utf-8?B?SDQ4N3UwNXk1Rk9YV1IvRTBMRG9PNU93QjJOQnpJeXVzL3lUczVsSkFIZGYr?=
 =?utf-8?B?aWRkSldQQ2IrblMwT2V6Unhzc1AxU0ZqcGJJbldlMTMyc2RTZkN2ZjhNZm1y?=
 =?utf-8?B?Yk93czFHK3ZEUjlrWE03VzV5VVJZUUJRUjhQZ0FoVktIcTdpdEVCajFtcTE5?=
 =?utf-8?B?b2g0UGVoWlRlS2VGR0Q3NWRCQjh6SVNtcnR3T1JEa1NnVGhZMXB6T2JReFlC?=
 =?utf-8?B?dGlFNFR0V3ZlR1A0OXY2VU44K2N6ZW9CeWV4NTEza0s1WTJ2cWJlMWJpK0dl?=
 =?utf-8?B?YXF4UU1KMTg0ZzU5Y1JucEtCWDlucmw4cnhYNERqRVdEMXZxUnNiaGtLREVj?=
 =?utf-8?B?TWpqTkZ6SjZSMUp5OEtxem43SjhwbWhMd1Z3ZFRZbGVPWk91SVZscU5La0lX?=
 =?utf-8?B?bW9kVkxCa2tPNW0rQjcwVy9BdVd0OXpVcXBEVE5WWERNbDQzSmU1eVVUOHpx?=
 =?utf-8?B?ZUMzdGo4dmJWakE0WWJ1Y3hsbGtzODlJL0c4N1pEWW1uRVBMc3dxK2JmWUp1?=
 =?utf-8?B?d3VucytSSkNEMFJmNWhxZzc1N3Y2cW1VTWxyeVF1U2hOeEU0ckg3cXJpWHFi?=
 =?utf-8?B?UHJ6dnBWdnZZODV5bzNPSEVSUnR0WU03NFF5VVhnSEpoZTY3VGZ2ek9MOVVZ?=
 =?utf-8?B?Rm9yNU8yOHJZOHZ5Vm16d2VXMDREVDBLdzBhU0xnS1lmS0lmbTVMUXJxaVVY?=
 =?utf-8?B?SVBWSVJraXNKZGpVcjVYUVZuN01aekdKQVkrcEJYUFNCWE9ENDI0MG4vU2JZ?=
 =?utf-8?B?djhVWGZaQ2hiQ1Y2eC9QeDAwT3dNeUZmWEpjcDdxMmFxRmtCZURKU1FZcDQ3?=
 =?utf-8?B?b0l4WHZOc1c5MVhTNkVUT05zenBNWmhXTFQvbEdiajIwd1h3dkdQTXFOaGNU?=
 =?utf-8?B?eHJkZFJRQy9Vay9ZT0MxTWdEcEkxeCt3ZC8rU0hpZWJ4OWRPNGt4dnd0YUxL?=
 =?utf-8?B?SWhhZVgyaU5aMUVCajVKaUd1Vkw2eFBHeThyUjkrN2dDYnNKcnhTR3JsUXY4?=
 =?utf-8?B?a0tZNS9HQm9oYTBGZklQdTkrdVN0akFlRnpqNFpPZGdGZWJoYmhDNVZFRWpN?=
 =?utf-8?B?VDAwd0h3U2c3dlcyd2dEMGlPaElzUEM0VktEMEhpcXVQemx2cVVxVUtiQlFK?=
 =?utf-8?B?VEI2ZlBwWkR5TW9IZERLMFdJcEJyNVJHZjZVVm92RUwrTEFxNmQ1cERNRzJo?=
 =?utf-8?B?ZFFUK2liWXBzUEpVOVpNT2FhZ3dDT0M1TVMwRFl0SEFIRzY4RTV1bEI3MUxJ?=
 =?utf-8?B?N2dncXNrdHRTYUFXSEc1dldkZGc0cjU4LzB0aU55S0RreWdhRUVlaFBtUmpo?=
 =?utf-8?B?Vys3N0gxMVJLaTE3bHE4RUJuVzMrVGluY3FOdnlXNi8xcjVucU53LzRmeHor?=
 =?utf-8?B?QURTMk5MUDRDSW9tUjVlRXNJMW05OGpaU0VmSThiRCs4OXBJbjFoY2w2aXN6?=
 =?utf-8?B?Z2FkNkpWZm4waUZjWm1maHJUMGF3R3lEUWl0aWpQV3ZPZTJUZkdKNHUwSXFR?=
 =?utf-8?B?RXE5UFJOOGdpTXJ5KzdPN0pmV2xnY2xCSGE3aHJmb2Vud21vZlpjNkxXSUpx?=
 =?utf-8?B?K1kwSnY3NTdFd2puamlWalp4RHlwOTNHM25sbkNyQXc3WWdBUzdjRk5xRmtw?=
 =?utf-8?B?N04vN1BNVklHUzFHaFhLaTVHd2EySjdBR1hONkY2UE5TV1JBR255NWFqdWZy?=
 =?utf-8?B?anAyVDc3SlA4VWVUaG5LL2lrdkF0ZGxVT2laSENnTGkzcVZVTGEzM1ZCV3c5?=
 =?utf-8?B?cnk2K1BraWswbGdqVTdNYzdlZ2x4NkZDd3dnTmpFNVI3RmpqNnZFSUkvOE96?=
 =?utf-8?Q?VND9NdljYXljYB8p+11XxU4=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 15321522-c1cd-45ce-98a1-08d9dc1d3bb8
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2022 14:00:36.6410
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HcPPvv5PDKMI9DweWFQ3ENQVjd3cjuKjLbYOksUNc7eJAb/9qieuzn71W3VdG/cisYFVmRvBd0D4l8OyT4J0Dw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3966

Besides the prereqs requested to the remaining patch from v1 there's
yet one more thing to consider pulling in (RFC for now), and one
further custom change I'd like us to consider making (potentially
even going farther than presented here).

1: stop exposing platform acronyms
2: switch to using bool
3: add SnowRidge C-state table
4: enable interrupts before C1 on Xeons
5: squash stats update when not actually entering C-state

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 20 14:01:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 14:01:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259069.446802 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAY0f-0005iC-SM; Thu, 20 Jan 2022 14:01:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259069.446802; Thu, 20 Jan 2022 14: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 1nAY0f-0005i5-PH; Thu, 20 Jan 2022 14:01:53 +0000
Received: by outflank-mailman (input) for mailman id 259069;
 Thu, 20 Jan 2022 14:01:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YGoM=SE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nAY0e-0005h6-2w
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 14:01:52 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 83ab6f8f-79f9-11ec-8fa7-f31e035a9116;
 Thu, 20 Jan 2022 15:01:50 +0100 (CET)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2105.outbound.protection.outlook.com [104.47.17.105]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-13-SYN7Nkm2PJWCzfBHQO-EaA-1; Thu, 20 Jan 2022 15:01:49 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DBBPR04MB7643.eurprd04.prod.outlook.com (2603:10a6:10:203::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Thu, 20 Jan
 2022 14:01:47 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.010; Thu, 20 Jan 2022
 14:01: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: 83ab6f8f-79f9-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642687310;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=m0YsKdV6uZ18YqS08UEoyfFYI3+Qi3Lvp81hkT8LibU=;
	b=WFhDGRAMcvfJ/k9c+fCHm06a9jgHgeHoM1b2eRTz4Pc49S9f0DXkj7sgnAL1jxOA+gpy8I
	6j3Km/XbSda98HnSF05ZL76Disd26nqEFAcfzSLAOdPILuK5ZdvdJuavXL+vuciokAaPpn
	q4Tyn23HDLkUDX1oX1s2hHiS1ayXwB0=
X-MC-Unique: SYN7Nkm2PJWCzfBHQO-EaA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kJkIRTDdr9yTKKlRy4+aMI71fgNTuGzMQoypgdp+uaC8+BzWJldx15BwnoX1S3wnU16X0h+a8fbNWHWDjIU3hoDbTGQ2p3HUUddZTE9SMNGXQ4N4fELshJuVudV3e7JaaxoIkKTfh3QOtvQIQX/2L41uTHmD6fT5lGeyn96N54k9WxrqXRdxzoj2tgK2TzorwzHUVGz9fL7Wt81hhY8SFr2L/eXssjPomEsC/Q4uXo6nWStqxi/fC2Ql7UOvPHH+TebuMNNs728NF542ftJqXWhMJWzwGod1KsgPfxJAdH1RQDjb9dkwAxWPtEyFUIC1X+dYE/kpS0m+FQzfh/3d8Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PBVJF/blL7ivJrHo/Fn27+e07AgCpQ/eYBa2em1lgw8=;
 b=OuLJECBNq5s1nKFUzJuNvntvOFyltXQsJhfWQJtwSfYvYf+o87PtC2RF6yY5E4YGUTpvOR7NoGG/eT12MksJbnJMWmkiaHV6afAtK2xS73D+lBGB+eepZH39POTDPEfRa6bv8AUBdfDWcw1dIfyQoVh1gaQRwMeloFN0atmqKk4AWYkIh7+rjQy6wZkXLGh2BPC8gsPJ+Dqnn1mBjrqHHR0/JLK7bhwpBRBOUFbBYohZWSjXY+a5P0d++w6wug980AmAGFKErlwlFGluDiWhuwfRfQFUHClA/WbIUtaDYgI1yO2s9DUqaFFnCxTSJyBblOTrxvHvOiQ7dYIlJ8C4kw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <39f83895-e01a-bfd8-708b-eedbb145d5fb@suse.com>
Date: Thu, 20 Jan 2022 15:01:45 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: [PATCH v2 1/5] x86/mwait-idle: stop exposing platform acronyms
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <568cb6dc-127a-9c8f-0073-2df173d4677b@suse.com>
In-Reply-To: <568cb6dc-127a-9c8f-0073-2df173d4677b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS8P189CA0021.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:20b:31f::25) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: bd3d7a9b-d959-426c-e598-08d9dc1d65d8
X-MS-TrafficTypeDiagnostic: DBBPR04MB7643:EE_
X-Microsoft-Antispam-PRVS:
	<DBBPR04MB7643429200BD7DAA94723C28B35A9@DBBPR04MB7643.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:529;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	EMnrL4LdkpRLnz7pxv/BOLzv95JsWGAQA2tfWERhhwW7k/32hA9Wkrmm8GKFN4RLRgh/STisCDNWXxhkpi3P7SZTR7YoC0tsz7RKsYoPEz4fiG8JXCzHEyC3whT3QY7RtxiGVAKJq8A/JwA2TlJV0Rt0Uu3WwtdzCQdrm/5B6cDzKgLks3LH9EM1zAgJy4xZU2bjLom2XrVq3nabLQ6sEP9cKCXsE4WHa2ZpgAAhsy2heOcoDuwaSI4l3IHim0DsqGx6KcgkkOiBpRuCfL6asAXNQ3HoGPmnRz/cz/yrtBg0ABdzLJr/rliV8Y2q1Fuj1dmDakUzTjfE1P69UNpCraB3P3KbWdENJjhbXh4nVTeTTMzGlnPw+ZbOw/L//rlxA9ppj27lIuVL9hHhyosw71OKNJmXELtIEqflYRSGy6f8FpiCRT+YYVZZBTVl06drE8u3hSbmkJNbYc8SRSQGIIW9O6/YhvaI7TBEuVXdCRU6NSvT5IlgzEtd8gg9UAk9PmPS7MwQCuKBRtcNUTLvpN2eeg61q6ru1WX+VhFgQB/tBqDa5mzHbIT2nlofzJ36awgQcHLXct138Vatwcnz9xOlBDiRjJNZ1VbE1I1rsJsV6jy0PTSlGiB2uQkujhyaOU56oD3402DKeOJpZyceCPDMYT7bNbhWY4/u/3PrxBgaO5KqrlpEH9Oh3eKMQL6HjnKfz0g5itOh3Jaj2+QyHrGDoWC5mafp0LEb4T+YhX0=
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)(6506007)(31686004)(36756003)(30864003)(66476007)(508600001)(8676002)(31696002)(8936002)(38100700002)(6486002)(86362001)(186003)(2616005)(83380400001)(6916009)(66556008)(66946007)(316002)(2906002)(5660300002)(26005)(6512007)(54906003)(4326008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?l0+1Nf18YJRU2ATFHY/NPiYGcUmLYFlsLwK7g9f24wUF9xJWSX6iyanuqtne?=
 =?us-ascii?Q?U7ljTS7cM7uo72noHg1CQwMSS0WCNvXVC/D5K+jUj7Y8ds8Dgdh4aHclR8dJ?=
 =?us-ascii?Q?ka24AWokO6ttIxpC64Ye41/+/vJ3atLXVZCkRVxbtyN/gAPQmecWwAETZPXl?=
 =?us-ascii?Q?7RhOM7zRTGMyg2SPQeuTPGZ5zqCBwOPx3GRvP7pwK0MriUwW5/W3KUEwYuJW?=
 =?us-ascii?Q?G2yxiylMuraaq6kAA4qHGI9BSNF3+bpK0urUeZmN8SAOpdEbfWhham0Wk7ML?=
 =?us-ascii?Q?J5vxl79GPFISRbLqLWkcS2RmI3dfx8oUwSnJUsuRAimsKXlskieluAfCmBQv?=
 =?us-ascii?Q?9OwgZ/ZfYpmzWYU3D08Hy4xd0DvqnIoUzTvmX5pLHqZUIskfF1morp6kVe1F?=
 =?us-ascii?Q?ENOckHrPTcOEGw/OZPFpyZF+QRt9CrnpZc1LIBHy80dCRMLmEH0iFHXhTqFb?=
 =?us-ascii?Q?TOGQWiaylKINXAoyw8tS3L2LnohLwLoBryZPYPGdb//beGvEwJMwlQr5nzUO?=
 =?us-ascii?Q?LBKA7B+Uj9ZQKmjpkPTRd5BGdAmPjs27iSOS5dRF/fXHPRE4ZwN+ZsCVGXZb?=
 =?us-ascii?Q?LoAqkNZLrGmbZVIJNr9AivcDs3pXu1TnANtmYzwElHP3S7eGPSuxj0VjgnZr?=
 =?us-ascii?Q?yr89cA0jebGbFBdOWs/jIhwKZxsYRWDkmFbOfo4xXnMwe15WE5y382Ut/4aa?=
 =?us-ascii?Q?EmppIwxhZYCbLhUJqDAk18zwBZcuM/2j8OpUvlZyHRi0qAb+I22O0c2YgTQ/?=
 =?us-ascii?Q?+SEwMrmzZYLsdApp567Bqpvab3Tku8lVy09VTHP/eO3zw7FIrpL3IzgGmfAZ?=
 =?us-ascii?Q?vznDUowIbzVvjHYmwS2fPE5zpZxtXdpT/kQVSlG3mbeofvpYK53F319jHN17?=
 =?us-ascii?Q?9lxPqnNyzwSoEK0I6cWoWqb0ruiRl/AxMXVhQKke0JSoDGTO2BYqmhz7ebYQ?=
 =?us-ascii?Q?AlTQcttcr9XXRt69sNU2GJjsFevgY/qmVdGhhWaOg78grH/YhooM6jj+mgNJ?=
 =?us-ascii?Q?iQg4BWiM4xPqUueRrXeh/ptv77MgohDyAzhSzfXh+NFu7qY5GJ+Iz6idMyIz?=
 =?us-ascii?Q?nyMmJJd8GT/7Mx+PyoR9jA5eQO4diday1I3TyxHeousumg7oBhqJHwo4Fku3?=
 =?us-ascii?Q?NwpdAIqGrY1CCOeEOZqAlrOH+zShF6ZI7xFkbSaMDAMJXLRxzZxsJxrFko7z?=
 =?us-ascii?Q?ubroHrE+0eo3U79gv08UZcq/xnGul6zPNsWyUdxhpNSo99grhyDZeOO6geky?=
 =?us-ascii?Q?ir20X9o2sfLcxHRMTAeppkTSUqpnS12cMb6psspCXoBKrmqWbuz73WG5P5l/?=
 =?us-ascii?Q?sITh2MdK5Bp/OSOXSeGjTWeGEAlTAHjbVTz0d5s0osBRGpjq4HJI4BwokH3R?=
 =?us-ascii?Q?9wljZ+2ekjAT3yyDxeYaPVQNmMdmhXSLFcDuzsHCsElSDChVc2ZOJN1kM/w3?=
 =?us-ascii?Q?lCdWkFDBkkfxkmy+isI3xLi9KExDDIKY3Y3kSc7G1ySpIBlOKswHZ2XMhY6l?=
 =?us-ascii?Q?1H85BSkWwot+RJaAwTkd9c7w/opdl9a2TcS3AkNBX8e9uAP1gBjLE0ojlsHF?=
 =?us-ascii?Q?slzwzVdAIss0vNtfY+X35Kwx9AsxIk01oR8Fl+1s6vkaC6RBT4Txnj1DUQxu?=
 =?us-ascii?Q?KZdDJkcIVd6ysln7Hk0my9Y=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bd3d7a9b-d959-426c-e598-08d9dc1d65d8
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2022 14:01:47.1990
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: sFe1zjVDv13gpXjix8+osDLCj9Jgin8nhoIw+ROZFxOXTQ97A3rXx2GlEYFjcCDs3B5TJsUcJaXvrAHV7ZrGFA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7643

This follows Linux commit de09cdd09fa1 ("intel_idle: stop exposing
platform acronyms in sysfs"), but their main justifications (sysfs
exposure and similarity with acpi-idle) don't apply to us. The field is
only used in a single printk() right now, but having the platform tags
there isn't useful either.

Requested-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: New.

--- a/xen/arch/x86/cpu/mwait-idle.c
+++ b/xen/arch/x86/cpu/mwait-idle.c
@@ -134,25 +134,25 @@ static const struct cpuidle_state {
  */
 static const struct cpuidle_state nehalem_cstates[] =3D {
 	{
-		.name =3D "C1-NHM",
+		.name =3D "C1",
 		.flags =3D MWAIT2flg(0x00),
 		.exit_latency =3D 3,
 		.target_residency =3D 6,
 	},
 	{
-		.name =3D "C1E-NHM",
+		.name =3D "C1E",
 		.flags =3D MWAIT2flg(0x01),
 		.exit_latency =3D 10,
 		.target_residency =3D 20,
 	},
 	{
-		.name =3D "C3-NHM",
+		.name =3D "C3",
 		.flags =3D MWAIT2flg(0x10) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 20,
 		.target_residency =3D 80,
 	},
 	{
-		.name =3D "C6-NHM",
+		.name =3D "C6",
 		.flags =3D MWAIT2flg(0x20) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 200,
 		.target_residency =3D 800,
@@ -162,31 +162,31 @@ static const struct cpuidle_state nehale
=20
 static const struct cpuidle_state snb_cstates[] =3D {
 	{
-		.name =3D "C1-SNB",
+		.name =3D "C1",
 		.flags =3D MWAIT2flg(0x00),
 		.exit_latency =3D 2,
 		.target_residency =3D 2,
 	},
 	{
-		.name =3D "C1E-SNB",
+		.name =3D "C1E",
 		.flags =3D MWAIT2flg(0x01),
 		.exit_latency =3D 10,
 		.target_residency =3D 20,
 	},
 	{
-		.name =3D "C3-SNB",
+		.name =3D "C3",
 		.flags =3D MWAIT2flg(0x10) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 80,
 		.target_residency =3D 211,
 	},
 	{
-		.name =3D "C6-SNB",
+		.name =3D "C6",
 		.flags =3D MWAIT2flg(0x20) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 104,
 		.target_residency =3D 345,
 	},
 	{
-		.name =3D "C7-SNB",
+		.name =3D "C7",
 		.flags =3D MWAIT2flg(0x30) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 109,
 		.target_residency =3D 345,
@@ -196,31 +196,31 @@ static const struct cpuidle_state snb_cs
=20
 static const struct cpuidle_state byt_cstates[] =3D {
 	{
-		.name =3D "C1-BYT",
+		.name =3D "C1",
 		.flags =3D MWAIT2flg(0x00),
 		.exit_latency =3D 1,
 		.target_residency =3D 1,
 	},
 	{
-		.name =3D "C6N-BYT",
+		.name =3D "C6N",
 		.flags =3D MWAIT2flg(0x58) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 300,
 		.target_residency =3D 275,
 	},
 	{
-		.name =3D "C6S-BYT",
+		.name =3D "C6S",
 		.flags =3D MWAIT2flg(0x52) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 500,
 		.target_residency =3D 560,
 	},
 	{
-		.name =3D "C7-BYT",
+		.name =3D "C7",
 		.flags =3D MWAIT2flg(0x60) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 1200,
 		.target_residency =3D 4000,
 	},
 	{
-		.name =3D "C7S-BYT",
+		.name =3D "C7S",
 		.flags =3D MWAIT2flg(0x64) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 10000,
 		.target_residency =3D 20000,
@@ -230,31 +230,31 @@ static const struct cpuidle_state byt_cs
=20
 static const struct cpuidle_state cht_cstates[] =3D {
 	{
-		.name =3D "C1-CHT",
+		.name =3D "C1",
 		.flags =3D MWAIT2flg(0x00),
 		.exit_latency =3D 1,
 		.target_residency =3D 1,
 	},
 	{
-		.name =3D "C6N-CHT",
+		.name =3D "C6N",
 		.flags =3D MWAIT2flg(0x58) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 80,
 		.target_residency =3D 275,
 	},
 	{
-		.name =3D "C6S-CHT",
+		.name =3D "C6S",
 		.flags =3D MWAIT2flg(0x52) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 200,
 		.target_residency =3D 560,
 	},
 	{
-		.name =3D "C7-CHT",
+		.name =3D "C7",
 		.flags =3D MWAIT2flg(0x60) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 1200,
 		.target_residency =3D 4000,
 	},
 	{
-		.name =3D "C7S-CHT",
+		.name =3D "C7S",
 		.flags =3D MWAIT2flg(0x64) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 10000,
 		.target_residency =3D 20000,
@@ -264,31 +264,31 @@ static const struct cpuidle_state cht_cs
=20
 static const struct cpuidle_state ivb_cstates[] =3D {
 	{
-		.name =3D "C1-IVB",
+		.name =3D "C1",
 		.flags =3D MWAIT2flg(0x00),
 		.exit_latency =3D 1,
 		.target_residency =3D 1,
 	},
 	{
-		.name =3D "C1E-IVB",
+		.name =3D "C1E",
 		.flags =3D MWAIT2flg(0x01),
 		.exit_latency =3D 10,
 		.target_residency =3D 20,
 	},
 	{
-		.name =3D "C3-IVB",
+		.name =3D "C3",
 		.flags =3D MWAIT2flg(0x10) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 59,
 		.target_residency =3D 156,
 	},
 	{
-		.name =3D "C6-IVB",
+		.name =3D "C6",
 		.flags =3D MWAIT2flg(0x20) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 80,
 		.target_residency =3D 300,
 	},
 	{
-		.name =3D "C7-IVB",
+		.name =3D "C7",
 		.flags =3D MWAIT2flg(0x30) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 87,
 		.target_residency =3D 300,
@@ -298,25 +298,25 @@ static const struct cpuidle_state ivb_cs
=20
 static const struct cpuidle_state ivt_cstates[] =3D {
 	{
-		.name =3D "C1-IVT",
+		.name =3D "C1",
 		.flags =3D MWAIT2flg(0x00),
 		.exit_latency =3D 1,
 		.target_residency =3D 1,
 	},
 	{
-		.name =3D "C1E-IVT",
+		.name =3D "C1E",
 		.flags =3D MWAIT2flg(0x01),
 		.exit_latency =3D 10,
 		.target_residency =3D 80,
 	},
 	{
-		.name =3D "C3-IVT",
+		.name =3D "C3",
 		.flags =3D MWAIT2flg(0x10) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 59,
 		.target_residency =3D 156,
 	},
 	{
-		.name =3D "C6-IVT",
+		.name =3D "C6",
 		.flags =3D MWAIT2flg(0x20) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 82,
 		.target_residency =3D 300,
@@ -326,25 +326,25 @@ static const struct cpuidle_state ivt_cs
=20
 static const struct cpuidle_state ivt_cstates_4s[] =3D {
 	{
-		.name =3D "C1-IVT-4S",
+		.name =3D "C1",
 		.flags =3D MWAIT2flg(0x00),
 		.exit_latency =3D 1,
 		.target_residency =3D 1,
 	},
 	{
-		.name =3D "C1E-IVT-4S",
+		.name =3D "C1E",
 		.flags =3D MWAIT2flg(0x01),
 		.exit_latency =3D 10,
 		.target_residency =3D 250,
 	},
 	{
-		.name =3D "C3-IVT-4S",
+		.name =3D "C3",
 		.flags =3D MWAIT2flg(0x10) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 59,
 		.target_residency =3D 300,
 	},
 	{
-		.name =3D "C6-IVT-4S",
+		.name =3D "C6",
 		.flags =3D MWAIT2flg(0x20) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 84,
 		.target_residency =3D 400,
@@ -354,25 +354,25 @@ static const struct cpuidle_state ivt_cs
=20
 static const struct cpuidle_state ivt_cstates_8s[] =3D {
 	{
-		.name =3D "C1-IVT-8S",
+		.name =3D "C1",
 		.flags =3D MWAIT2flg(0x00),
 		.exit_latency =3D 1,
 		.target_residency =3D 1,
 	},
 	{
-		.name =3D "C1E-IVT-8S",
+		.name =3D "C1E",
 		.flags =3D MWAIT2flg(0x01),
 		.exit_latency =3D 10,
 		.target_residency =3D 500,
 	},
 	{
-		.name =3D "C3-IVT-8S",
+		.name =3D "C3",
 		.flags =3D MWAIT2flg(0x10) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 59,
 		.target_residency =3D 600,
 	},
 	{
-		.name =3D "C6-IVT-8S",
+		.name =3D "C6",
 		.flags =3D MWAIT2flg(0x20) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 88,
 		.target_residency =3D 700,
@@ -382,49 +382,49 @@ static const struct cpuidle_state ivt_cs
=20
 static const struct cpuidle_state hsw_cstates[] =3D {
 	{
-		.name =3D "C1-HSW",
+		.name =3D "C1",
 		.flags =3D MWAIT2flg(0x00),
 		.exit_latency =3D 2,
 		.target_residency =3D 2,
 	},
 	{
-		.name =3D "C1E-HSW",
+		.name =3D "C1E",
 		.flags =3D MWAIT2flg(0x01),
 		.exit_latency =3D 10,
 		.target_residency =3D 20,
 	},
 	{
-		.name =3D "C3-HSW",
+		.name =3D "C3",
 		.flags =3D MWAIT2flg(0x10) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 33,
 		.target_residency =3D 100,
 	},
 	{
-		.name =3D "C6-HSW",
+		.name =3D "C6",
 		.flags =3D MWAIT2flg(0x20) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 133,
 		.target_residency =3D 400,
 	},
 	{
-		.name =3D "C7s-HSW",
+		.name =3D "C7s",
 		.flags =3D MWAIT2flg(0x32) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 166,
 		.target_residency =3D 500,
 	},
  	{
-		.name =3D "C8-HSW",
+		.name =3D "C8",
 		.flags =3D MWAIT2flg(0x40) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 300,
 		.target_residency =3D 900,
 	},
 	{
-		.name =3D "C9-HSW",
+		.name =3D "C9",
 		.flags =3D MWAIT2flg(0x50) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 600,
 		.target_residency =3D 1800,
 	},
 	{
-		.name =3D "C10-HSW",
+		.name =3D "C10",
 		.flags =3D MWAIT2flg(0x60) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 2600,
 		.target_residency =3D 7700,
@@ -434,49 +434,49 @@ static const struct cpuidle_state hsw_cs
=20
 static const struct cpuidle_state bdw_cstates[] =3D {
 	{
-		.name =3D "C1-BDW",
+		.name =3D "C1",
 		.flags =3D MWAIT2flg(0x00),
 		.exit_latency =3D 2,
 		.target_residency =3D 2,
 	},
 	{
-		.name =3D "C1E-BDW",
+		.name =3D "C1E",
 		.flags =3D MWAIT2flg(0x01),
 		.exit_latency =3D 10,
 		.target_residency =3D 20,
 	},
 	{
-		.name =3D "C3-BDW",
+		.name =3D "C3",
 		.flags =3D MWAIT2flg(0x10) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 40,
 		.target_residency =3D 100,
 	},
 	{
-		.name =3D "C6-BDW",
+		.name =3D "C6",
 		.flags =3D MWAIT2flg(0x20) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 133,
 		.target_residency =3D 400,
 	},
 	{
-		.name =3D "C7s-BDW",
+		.name =3D "C7s",
 		.flags =3D MWAIT2flg(0x32) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 166,
 		.target_residency =3D 500,
 	},
 	{
-		.name =3D "C8-BDW",
+		.name =3D "C8",
 		.flags =3D MWAIT2flg(0x40) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 300,
 		.target_residency =3D 900,
 	},
 	{
-		.name =3D "C9-BDW",
+		.name =3D "C9",
 		.flags =3D MWAIT2flg(0x50) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 600,
 		.target_residency =3D 1800,
 	},
 	{
-		.name =3D "C10-BDW",
+		.name =3D "C10",
 		.flags =3D MWAIT2flg(0x60) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 2600,
 		.target_residency =3D 7700,
@@ -486,49 +486,49 @@ static const struct cpuidle_state bdw_cs
=20
 static struct cpuidle_state __read_mostly skl_cstates[] =3D {
 	{
-		.name =3D "C1-SKL",
+		.name =3D "C1",
 		.flags =3D MWAIT2flg(0x00),
 		.exit_latency =3D 2,
 		.target_residency =3D 2,
 	},
 	{
-		.name =3D "C1E-SKL",
+		.name =3D "C1E",
 		.flags =3D MWAIT2flg(0x01),
 		.exit_latency =3D 10,
 		.target_residency =3D 20,
 	},
 	{
-		.name =3D "C3-SKL",
+		.name =3D "C3",
 		.flags =3D MWAIT2flg(0x10) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 70,
 		.target_residency =3D 100,
 	},
 	{
-		.name =3D "C6-SKL",
+		.name =3D "C6",
 		.flags =3D MWAIT2flg(0x20) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 85,
 		.target_residency =3D 200,
 	},
 	{
-		.name =3D "C7s-SKL",
+		.name =3D "C7s",
 		.flags =3D MWAIT2flg(0x33) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 124,
 		.target_residency =3D 800,
 	},
 	{
-		.name =3D "C8-SKL",
+		.name =3D "C8",
 		.flags =3D MWAIT2flg(0x40) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 200,
 		.target_residency =3D 800,
 	},
 	{
-		.name =3D "C9-SKL",
+		.name =3D "C9",
 		.flags =3D MWAIT2flg(0x50) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 480,
 		.target_residency =3D 5000,
 	},
 	{
-		.name =3D "C10-SKL",
+		.name =3D "C10",
 		.flags =3D MWAIT2flg(0x60) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 890,
 		.target_residency =3D 5000,
@@ -538,19 +538,19 @@ static struct cpuidle_state __read_mostl
=20
 static struct cpuidle_state __read_mostly skx_cstates[] =3D {
 	{
-		.name =3D "C1-SKX",
+		.name =3D "C1",
 		.flags =3D MWAIT2flg(0x00),
 		.exit_latency =3D 2,
 		.target_residency =3D 2,
 	},
 	{
-		.name =3D "C1E-SKX",
+		.name =3D "C1E",
 		.flags =3D MWAIT2flg(0x01),
 		.exit_latency =3D 10,
 		.target_residency =3D 20,
 	},
 	{
-		.name =3D "C6-SKX",
+		.name =3D "C6",
 		.flags =3D MWAIT2flg(0x20) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 133,
 		.target_residency =3D 600,
@@ -560,19 +560,19 @@ static struct cpuidle_state __read_mostl
=20
 static const struct cpuidle_state icx_cstates[] =3D {
        {
-               .name =3D "C1-ICX",
+               .name =3D "C1",
                .flags =3D MWAIT2flg(0x00),
                .exit_latency =3D 1,
                .target_residency =3D 1,
        },
        {
-               .name =3D "C1E-ICX",
+               .name =3D "C1E",
                .flags =3D MWAIT2flg(0x01),
                .exit_latency =3D 4,
                .target_residency =3D 4,
        },
        {
-               .name =3D "C6-ICX",
+               .name =3D "C6",
                .flags =3D MWAIT2flg(0x20) | CPUIDLE_FLAG_TLB_FLUSHED,
                .exit_latency =3D 170,
                .target_residency =3D 600,
@@ -582,25 +582,25 @@ static const struct cpuidle_state icx_cs
=20
 static const struct cpuidle_state atom_cstates[] =3D {
 	{
-		.name =3D "C1E-ATM",
+		.name =3D "C1E",
 		.flags =3D MWAIT2flg(0x00),
 		.exit_latency =3D 10,
 		.target_residency =3D 20,
 	},
 	{
-		.name =3D "C2-ATM",
+		.name =3D "C2",
 		.flags =3D MWAIT2flg(0x10),
 		.exit_latency =3D 20,
 		.target_residency =3D 80,
 	},
 	{
-		.name =3D "C4-ATM",
+		.name =3D "C4",
 		.flags =3D MWAIT2flg(0x30) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 100,
 		.target_residency =3D 400,
 	},
 	{
-		.name =3D "C6-ATM",
+		.name =3D "C6",
 		.flags =3D MWAIT2flg(0x52) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 140,
 		.target_residency =3D 560,
@@ -610,31 +610,31 @@ static const struct cpuidle_state atom_c
=20
 static const struct cpuidle_state tangier_cstates[] =3D {
 	{
-		.name =3D "C1-TNG",
+		.name =3D "C1",
 		.flags =3D MWAIT2flg(0x00),
 		.exit_latency =3D 1,
 		.target_residency =3D 4,
 	},
 	{
-		.name =3D "C4-TNG",
+		.name =3D "C4",
 		.flags =3D MWAIT2flg(0x30) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 100,
 		.target_residency =3D 400,
 	},
 	{
-		.name =3D "C6-TNG",
+		.name =3D "C6",
 		.flags =3D MWAIT2flg(0x52) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 140,
 		.target_residency =3D 560,
 	},
 	{
-		.name =3D "C7-TNG",
+		.name =3D "C7",
 		.flags =3D MWAIT2flg(0x60) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 1200,
 		.target_residency =3D 4000,
 	},
 	{
-		.name =3D "C9-TNG",
+		.name =3D "C9",
 		.flags =3D MWAIT2flg(0x64) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 10000,
 		.target_residency =3D 20000,
@@ -644,13 +644,13 @@ static const struct cpuidle_state tangie
=20
 static const struct cpuidle_state avn_cstates[] =3D {
 	{
-		.name =3D "C1-AVN",
+		.name =3D "C1",
 		.flags =3D MWAIT2flg(0x00),
 		.exit_latency =3D 2,
 		.target_residency =3D 2,
 	},
 	{
-		.name =3D "C6-AVN",
+		.name =3D "C6",
 		.flags =3D MWAIT2flg(0x51) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 15,
 		.target_residency =3D 45,
@@ -660,13 +660,13 @@ static const struct cpuidle_state avn_cs
=20
 static const struct cpuidle_state knl_cstates[] =3D {
 	{
-		.name =3D "C1-KNL",
+		.name =3D "C1",
 		.flags =3D MWAIT2flg(0x00),
 		.exit_latency =3D 1,
 		.target_residency =3D 2,
 	},
 	{
-		.name =3D "C6-KNL",
+		.name =3D "C6",
 		.flags =3D MWAIT2flg(0x10) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 120,
 		.target_residency =3D 500,
@@ -676,43 +676,43 @@ static const struct cpuidle_state knl_cs
=20
 static struct cpuidle_state __read_mostly bxt_cstates[] =3D {
 	{
-		.name =3D "C1-BXT",
+		.name =3D "C1",
 		.flags =3D MWAIT2flg(0x00),
 		.exit_latency =3D 2,
 		.target_residency =3D 2,
 	},
 	{
-		.name =3D "C1E-BXT",
+		.name =3D "C1E",
 		.flags =3D MWAIT2flg(0x01),
 		.exit_latency =3D 10,
 		.target_residency =3D 20,
 	},
 	{
-		.name =3D "C6-BXT",
+		.name =3D "C6",
 		.flags =3D MWAIT2flg(0x20) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 133,
 		.target_residency =3D 133,
 	},
 	{
-		.name =3D "C7s-BXT",
+		.name =3D "C7s",
 		.flags =3D MWAIT2flg(0x31) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 155,
 		.target_residency =3D 155,
 	},
 	{
-		.name =3D "C8-BXT",
+		.name =3D "C8",
 		.flags =3D MWAIT2flg(0x40) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 1000,
 		.target_residency =3D 1000,
 	},
 	{
-		.name =3D "C9-BXT",
+		.name =3D "C9",
 		.flags =3D MWAIT2flg(0x50) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 2000,
 		.target_residency =3D 2000,
 	},
 	{
-		.name =3D "C10-BXT",
+		.name =3D "C10",
 		.flags =3D MWAIT2flg(0x60) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 10000,
 		.target_residency =3D 10000,
@@ -722,19 +722,19 @@ static struct cpuidle_state __read_mostl
=20
 static const struct cpuidle_state dnv_cstates[] =3D {
 	{
-		.name =3D "C1-DNV",
+		.name =3D "C1",
 		.flags =3D MWAIT2flg(0x00),
 		.exit_latency =3D 2,
 		.target_residency =3D 2,
 	},
 	{
-		.name =3D "C1E-DNV",
+		.name =3D "C1E",
 		.flags =3D MWAIT2flg(0x01),
 		.exit_latency =3D 10,
 		.target_residency =3D 20,
 	},
 	{
-		.name =3D "C6-DNV",
+		.name =3D "C6",
 		.flags =3D MWAIT2flg(0x20) | CPUIDLE_FLAG_TLB_FLUSHED,
 		.exit_latency =3D 50,
 		.target_residency =3D 500,



From xen-devel-bounces@lists.xenproject.org Thu Jan 20 14:02:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 14:02:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259071.446813 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAY17-0006BF-6M; Thu, 20 Jan 2022 14:02:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259071.446813; Thu, 20 Jan 2022 14: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 1nAY17-0006B8-2z; Thu, 20 Jan 2022 14:02:21 +0000
Received: by outflank-mailman (input) for mailman id 259071;
 Thu, 20 Jan 2022 14:02:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YGoM=SE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nAY15-0005h6-SX
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 14:02:20 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 94a19109-79f9-11ec-8fa7-f31e035a9116;
 Thu, 20 Jan 2022 15:02:19 +0100 (CET)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2107.outbound.protection.outlook.com [104.47.17.107]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-33-6OTQ2TJyMLO0E_q5aSKY6A-1; Thu, 20 Jan 2022 15:02:17 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DBBPR04MB7643.eurprd04.prod.outlook.com (2603:10a6:10:203::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Thu, 20 Jan
 2022 14:02:16 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.010; Thu, 20 Jan 2022
 14:02: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: 94a19109-79f9-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642687338;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=ERHBkt0ZLZoh+unVkYGz4LgaW/QtEiIYQdXID6w202Y=;
	b=bBg3DlgSPxV21OpqcUekAdxCbE0Bo/nJcDHeoDW9BaYS+jYcgjVsCaFvK2XPpnjgysuRS5
	NeOMeCDI8C5LwpYy36DPoxy3itDH0rCk8FD88i+11uBXNtO8UCcMeDVPevWTIxToqoy5lL
	WinD2m94CTtnMF4bUR30S9RFbbuhTfo=
X-MC-Unique: 6OTQ2TJyMLO0E_q5aSKY6A-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RhqqiMfKMvP5JEbddtHnMpKpi7u7yULYVdr6pRptnTLqsPpQ9tmU2cOVs6uFOrk4vKOSQ2uOw40kPgB2sASGmXc846UPbAjB4mMCWIzJqPQ4+hjD6mCfH1o3l5QiSH92Ht8VEalPkjEhxHxOFihH5MI1FwGmaYHlGpCSs87dwbMWT+kIU6NilB4cekY9T2FdxKnI21SEfwz46aJvYJYLQMUPlCdWvdh50MzYfbRhDvCm5tBDqIMRWu9QjwdDugvwImDNm907MgevkBX9Rq1gDkUJ3xL9lb5SI8ESkXD+DP4bXHJ9fwawNnW1+Ayg0ppsOO4jSkp/2/LjGcR8JS7yig==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sIqEnurXfCEWFhZMdoHlOkaoI1CmFSGgajePTq0Qfsw=;
 b=ilrUll0zzybhPXH8f+FlgeD81ONCub+J1hKyjUfmlzPkJjKdwY4/zZZbKVKmFera2/0ntsmFlui2MEKYFbG9OeFRvS/ii/pGKdzNig3m9zgmzozDHVtBf5TazkTEo2b1PHOpjYqPhflU8zWpGh6K+LmshWiX89Y7z7yBJroRaRJiGHFzwVy/g24o89L5rWmigBUUaKyj0RJrWfp0qINdpZXK8XKulNQysGXyB6RrE5ghQdylguD2ccT8yDDsJs9c7eD/JIg4U6c98d8qEO1GquaYRXJbwNLwdcMohJeDhxq9QNPW6yPDtq7gv4ILBr36RC/ZNBPAVLWbJ9gE9uqfbw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <79cc9a46-15b1-b2ce-e462-7c46848a86fe@suse.com>
Date: Thu, 20 Jan 2022 15:02:14 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: [PATCH v2 2/5] x86/mwait-idle: switch to using bool
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <568cb6dc-127a-9c8f-0073-2df173d4677b@suse.com>
In-Reply-To: <568cb6dc-127a-9c8f-0073-2df173d4677b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS8P189CA0028.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:20b:31f::13) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 04258d86-03f2-4e27-830b-08d9dc1d7754
X-MS-TrafficTypeDiagnostic: DBBPR04MB7643:EE_
X-Microsoft-Antispam-PRVS:
	<DBBPR04MB7643D4015A522ACCF4C30F72B35A9@DBBPR04MB7643.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:2512;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5AeZi0jbvQXMoy3WYdM3Q24Xmp50vxqiIwZjVTRmxABz0a8bC56CkpP3c+AOP8mI3cvRX396K8VkAGHomEE4SqWPWViAXS49DVUhH7A4SKVjUntM3L+dIwoZbAUIAfeQFYnPhJa/e40tIWadvTp9ldFdnJUkfhyM6NZ4byawc6HgjPEH/4ckNbRCcNzKtTjGOCeodKU7Rh7KQldqYViyX+Y+rpw5iPwzF4lUdlzsjEgeoMAiaPyhIyRPSn53DruLOn/FANW4hvlQ1VdQXq1J6eP69sbocljTJ4PQ4FcvH7onQSCxVg6F+UyWIdAwavbK5lPXN8St2hVZef54Dy+im9FpXmc1/lzS8Xmu8wssQ2iS+Zlkddkddcky32FMn1QcPagPzIXnO88f6kYEkNqO662i1Vlx5ja0yTNZ4y0cK55vmB2u7otkIMzklPtrTMgiR64bAsVgA9pnJPWiNq9S7QRRkvsUdq2O/gXCWCd4KKPNPGb1CwiESNT2pVv5XVhyYtfrgyMz4dafNzAAxhDvTPi6pI5xlyNGuG8smA5jnRZQD2hH/S3gMAm5nR2YF2Y8S6KnikbpoEgGuU1/vCD+eY8Fy2iR8UiEo2Aa5LqIwIoHQsBRuHc0r+b6sYRUym302oRpSfn7p76vH1zrPZMXnAP1kFL/SpRVld0zAIjMv+1ZK9wfvcGoWuesE2FUrbTLpNHSkOXwm/ar71QFZD3KjS+2F5ng6mYSLqRxHbxx2s2mmOYZj49UkfrJH+9Nu/T8
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)(6506007)(31686004)(36756003)(66476007)(508600001)(8676002)(31696002)(8936002)(38100700002)(6486002)(86362001)(186003)(2616005)(83380400001)(6916009)(66556008)(66946007)(316002)(2906002)(5660300002)(26005)(6512007)(54906003)(4326008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?6CkeJo2G72z/dybhkKi2xfPW8ozbariL4IYNDUrAtQzKuzJdZfygPbjKDGAc?=
 =?us-ascii?Q?HmVvKxlxhMSt+j5BhQGTmkX4r57c8072nJey4hxzdmNFznFW0fqKrXTr2A8p?=
 =?us-ascii?Q?Zb3jFYcogZVLsMh6Kpz7KwsuwYZJssidzY80vCcUh4Tz8PM9E0O5omdAJoQB?=
 =?us-ascii?Q?JPdQJWkolTE+/0Xt56zu2abH68a/+X7aa3e8tTuqIhZHpf441GedNiYD42VA?=
 =?us-ascii?Q?KaE/9SRuJj/vLD9SgsbsJutC9zbJthlfrebGWqiuJ5frZsNYAv3jlMAIw6xI?=
 =?us-ascii?Q?OZ+D4p+j/Z9TNQTkrSozqhtl/6kDRWqTbVwtvIospvpXZ7Yn0KFl8blROrDd?=
 =?us-ascii?Q?3X1GjFGaX0byXWT/SKKwtD2djMTFIxm79/UNlDF2oTb90xjsJP74FCCgdGGx?=
 =?us-ascii?Q?Wv17MbrXLrWmjIne+IrYr/YzotuvDEojCMuBWC6ofqNl9AWNah4NZGoEA/23?=
 =?us-ascii?Q?iBj2LVZR4VtcTNfgKii5NlxRQH4Kz0RdYWV+rhmzQ5rVPNbLVuhaVsfBJPn2?=
 =?us-ascii?Q?GKX26etsjPxERUK1m/Lb3M+HT2BIKKYc7sqQ2qOfPsMz7DcFtuxxNMpgP4O8?=
 =?us-ascii?Q?LMn2B6HzpPWaDjfxPTTQHWL87+UnCqDQrXtzhN6xbnJ3mI55BokQuReVmHbE?=
 =?us-ascii?Q?sB1rS4kMOoOFhQyW3ULPBvOJhhxprCBxnFvS+a8f1i2C6j9O9kcq2BmVW6rT?=
 =?us-ascii?Q?T/hBf6bQiECgkoEUT91n04SVUD9ZhfVWneYr204FmrRDfUbFdtKOx9AeEMm9?=
 =?us-ascii?Q?+R4kqsw/VlKrpiirh2JyeHT92WBah1iOSOQvHMVufdal+BNfl8N3uI5Kz5Jr?=
 =?us-ascii?Q?Be4CI/El3uGzk8BAhZVZY2Cr1sEb5ywenEjyCQF3HNCJ+Ra18u+mnH0aL+Cy?=
 =?us-ascii?Q?SzdsVi0BZ+F527pq+MM0L7VcKEMdzx9LlAHfcTYz5Pitly3wuO7ail8ZuYVo?=
 =?us-ascii?Q?PsIXNHw7Emm8081EE7NnWcUEyyRpZy0OtUIEUBJ7SPWZqg6+8cNXw+9kYNA+?=
 =?us-ascii?Q?19duLj3XAY8PcYEm9MJP9SuOUXK5tOlwa4EM9lI3dDbTEKyYUsH5CoFWZZGe?=
 =?us-ascii?Q?UKXbfZcnxHgkyTb43zG+2jr2vCI1xtbSuLxphS6jTKS4/6FYwQicQmKupTt1?=
 =?us-ascii?Q?9hMx4t36Fh/+QJOasJRTiDsdNuCY/7Q6BfDjQiJtQUg2myOFcmhPClqAvHjJ?=
 =?us-ascii?Q?G8PSW5EqXmpr2jdiwFMh64wQTmCtf+ijnguJ/dG8K0QoaEWqHoNsmBy2GhNr?=
 =?us-ascii?Q?0+MOpi/u9x6Mb70iTIL0yUffCTKalE9hHlXgHVqYKRdj5joXrFEBM1aWmKyF?=
 =?us-ascii?Q?V3IQbCE2SopEpEDIiXWJPbWag+HL3fsFEqRHCBvmLVLOycEMHfzdEwvUa4Uq?=
 =?us-ascii?Q?1wKO50sO0o32KoVlQPcJ/rPf56TbiO/sBFMBL8+TLrp3oq5tGv52BIZ62now?=
 =?us-ascii?Q?Vyq4iowj0L2d/75Nz6CEJrNcLze3J+pt/ecpDDMqxlai0FU1nMl9BtO4k2hI?=
 =?us-ascii?Q?cwBEslGPR6yS57kBhjcZ+JKjuJ7cAGy4R8sE6q4trQPJXMJhC+cMbB+BZIt/?=
 =?us-ascii?Q?jXpZoGMETKf38f1+X1raAgOakHaSyC2z17X6WHH6uf/a6vltkiCQA7+owYDc?=
 =?us-ascii?Q?kv0K9X4R6npPthLK5RuHIXs=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 04258d86-03f2-4e27-830b-08d9dc1d7754
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2022 14:02:16.5304
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: sVJMlcdzOTwjlBuzGRK0kuM3jDVzhArcNAlftzrcDgHVTGmDj6rD6MUzhbDq2nJVIEtmTxGTTYIg79zzhNW+9A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7643

When the driver was first ported, we didn't have "bool" yet, so
conversion to bool_t / 0 / 1 was necessary. Undo that conversion, easing
ports of newer changes as well as tidying things up.

Requested-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: New.

--- a/xen/arch/x86/cpu/mwait-idle.c
+++ b/xen/arch/x86/cpu/mwait-idle.c
@@ -76,7 +76,7 @@
 # define pr_debug(fmt...)
 #endif
=20
-static __initdata bool_t opt_mwait_idle =3D 1;
+static __initdata bool opt_mwait_idle =3D true;
 boolean_param("mwait-idle", opt_mwait_idle);
=20
 static unsigned int mwait_substates;
@@ -93,8 +93,8 @@ struct idle_cpu {
 	 * Indicate which enable bits to clear here.
 	 */
 	unsigned long auto_demotion_disable_flags;
-	bool_t byt_auto_demotion_disable_flag;
-	bool_t disable_promotion_to_c1e;
+	bool byt_auto_demotion_disable_flag;
+	bool disable_promotion_to_c1e;
 };
=20
 static const struct idle_cpu *icpu;
@@ -867,7 +867,7 @@ static void c1e_promotion_disable(void *
 static const struct idle_cpu idle_cpu_nehalem =3D {
 	.state_table =3D nehalem_cstates,
 	.auto_demotion_disable_flags =3D NHM_C1_AUTO_DEMOTE | NHM_C3_AUTO_DEMOTE,
-	.disable_promotion_to_c1e =3D 1,
+	.disable_promotion_to_c1e =3D true,
 };
=20
 static const struct idle_cpu idle_cpu_atom =3D {
@@ -885,59 +885,59 @@ static const struct idle_cpu idle_cpu_li
=20
 static const struct idle_cpu idle_cpu_snb =3D {
 	.state_table =3D snb_cstates,
-	.disable_promotion_to_c1e =3D 1,
+	.disable_promotion_to_c1e =3D true,
 };
=20
 static const struct idle_cpu idle_cpu_byt =3D {
 	.state_table =3D byt_cstates,
-	.disable_promotion_to_c1e =3D 1,
-	.byt_auto_demotion_disable_flag =3D 1,
+	.disable_promotion_to_c1e =3D true,
+	.byt_auto_demotion_disable_flag =3D true,
 };
=20
 static const struct idle_cpu idle_cpu_cht =3D {
 	.state_table =3D cht_cstates,
-	.disable_promotion_to_c1e =3D 1,
-	.byt_auto_demotion_disable_flag =3D 1,
+	.disable_promotion_to_c1e =3D true,
+	.byt_auto_demotion_disable_flag =3D true,
 };
=20
 static const struct idle_cpu idle_cpu_ivb =3D {
 	.state_table =3D ivb_cstates,
-	.disable_promotion_to_c1e =3D 1,
+	.disable_promotion_to_c1e =3D true,
 };
=20
 static const struct idle_cpu idle_cpu_ivt =3D {
 	.state_table =3D ivt_cstates,
-	.disable_promotion_to_c1e =3D 1,
+	.disable_promotion_to_c1e =3D true,
 };
=20
 static const struct idle_cpu idle_cpu_hsw =3D {
 	.state_table =3D hsw_cstates,
-	.disable_promotion_to_c1e =3D 1,
+	.disable_promotion_to_c1e =3D true,
 };
=20
 static const struct idle_cpu idle_cpu_bdw =3D {
 	.state_table =3D bdw_cstates,
-	.disable_promotion_to_c1e =3D 1,
+	.disable_promotion_to_c1e =3D true,
 };
=20
 static const struct idle_cpu idle_cpu_skl =3D {
 	.state_table =3D skl_cstates,
-	.disable_promotion_to_c1e =3D 1,
+	.disable_promotion_to_c1e =3D true,
 };
=20
 static const struct idle_cpu idle_cpu_skx =3D {
 	.state_table =3D skx_cstates,
-	.disable_promotion_to_c1e =3D 1,
+	.disable_promotion_to_c1e =3D true,
 };
=20
 static const struct idle_cpu idle_cpu_icx =3D {
        .state_table =3D icx_cstates,
-       .disable_promotion_to_c1e =3D 1,
+       .disable_promotion_to_c1e =3D true,
 };
=20
 static const struct idle_cpu idle_cpu_avn =3D {
 	.state_table =3D avn_cstates,
-	.disable_promotion_to_c1e =3D 1,
+	.disable_promotion_to_c1e =3D true,
 };
=20
 static const struct idle_cpu idle_cpu_knl =3D {
@@ -946,12 +946,12 @@ static const struct idle_cpu idle_cpu_kn
=20
 static const struct idle_cpu idle_cpu_bxt =3D {
 	.state_table =3D bxt_cstates,
-	.disable_promotion_to_c1e =3D 1,
+	.disable_promotion_to_c1e =3D true,
 };
=20
 static const struct idle_cpu idle_cpu_dnv =3D {
 	.state_table =3D dnv_cstates,
-	.disable_promotion_to_c1e =3D 1,
+	.disable_promotion_to_c1e =3D true,
 };
=20
 #define ICPU(model, cpu) \



From xen-devel-bounces@lists.xenproject.org Thu Jan 20 14:02:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 14:02:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259074.446824 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAY1d-0006t4-K5; Thu, 20 Jan 2022 14:02:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259074.446824; Thu, 20 Jan 2022 14:02:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAY1d-0006sv-Gx; Thu, 20 Jan 2022 14:02:53 +0000
Received: by outflank-mailman (input) for mailman id 259074;
 Thu, 20 Jan 2022 14:02:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YGoM=SE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nAY1c-0006sb-Sn
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 14:02:52 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a83948a9-79f9-11ec-bc18-3156f6d857e4;
 Thu, 20 Jan 2022 15:02:51 +0100 (CET)
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur02lp2059.outbound.protection.outlook.com [104.47.5.59]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-8-qm3J6sdGM0y_EV224iY3CQ-1; Thu, 20 Jan 2022 15:02:50 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DBBPR04MB7643.eurprd04.prod.outlook.com (2603:10a6:10:203::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Thu, 20 Jan
 2022 14:02:48 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.010; Thu, 20 Jan 2022
 14:02: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: a83948a9-79f9-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642687371;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=nv7AY2ipZylSfprvqAq1EN3qHGjDUPWKZzBPAIOB3I8=;
	b=V2bI0FlLwCY8HPOxR6x2KmqO5j46BPnOfBNQiFE7xffU9h0GBg1ei9AgIRv6lGrF+8fldH
	lnEcyMPwHqolyFmsEs7XRJN1cl5RacmU6+iG0lqnsXglV2HReZQGTTWVubgM80O2L9dqVQ
	/w4LWvmX8wTeHL+QAONK7xmuUA1z140=
X-MC-Unique: qm3J6sdGM0y_EV224iY3CQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Mkysnr5Js6PCWKd2z2YvxKt4eRn3J3fOpIBERZUhJE+71+yUD0hirGfR/qFF+j62VBspFJwtMukXm+d+Anfa45YB9/Xu/LdM+MAAt8n9QZya8Uk3Mj2pWwbksVM7R+75davFmxgqO75j8TT2SRqaXkBLDeHmuHv9/rOEcjuRDN1laPvnhCe3eqrxtFZRQ+fVvstysslPfOwc4ZodzM3E5/KEhBMFJurgmbKh0QnVwN0CwwLYNiG8V/gO/MBntysw8SBkvgLNqHRciaWg7E6DgRS73y+j0hpckxCG198ubRXY+CbPRk4PGZyQXz0s9dUbwo/Ui6InM7rQGnv3/fkixw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=f4Wc9t+1vhwqA/dFF3ORfoGoLxLZ4aHX6+/gI+XOdLE=;
 b=E3YyI2S2SaxUtK67tX7kroeS1FSbFb4g9e1hsWOeC/uK3vFFoQluyB0Dl6/mZdWwgVjZgSyngQlfW6iaMdtfNzk89VtnShBuCWIyzElJE09wquMICsUWc4Zc439Xr6GZX4JPwOT/nEfabg+M8VJ6kzXbcPqZnQLg7ErQgY2ahdmGAI9bva+gZTemV44QcqPWZ3MhDNJER597Sxic+WC8hVHSMy+jFrm6Q6YNIR4fDq++fBBhthZGSn7iFi2HxfCoebDXhbHIgLDYpS97Yn+BRKXyzUEA2c7EwtOs+DFkDytPQqZrfuYzKUbksFoqNj5XVvDgUScCsbEb2Xhny0t2+A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d2391797-deb4-e6c6-58af-aef7ca47c3f0@suse.com>
Date: Thu, 20 Jan 2022 15:02:47 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: [PATCH v2 3/5] x86/mwait-idle: add SnowRidge C-state table
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <568cb6dc-127a-9c8f-0073-2df173d4677b@suse.com>
In-Reply-To: <568cb6dc-127a-9c8f-0073-2df173d4677b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM5PR1001CA0036.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:206:2::49) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8ebb1a70-b48f-44e1-b91b-08d9dc1d8a7d
X-MS-TrafficTypeDiagnostic: DBBPR04MB7643:EE_
X-Microsoft-Antispam-PRVS:
	<DBBPR04MB764374CD02D18AF39A6DF65CB35A9@DBBPR04MB7643.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:
	Qa1meuUfO3vodwYUKCoUKSsjF2JkOGIFbdkrR9VjOEu+gH9PEwNDJvJqdK0ZqvGB5u+LpdtlMGdvOvFMSBUqKKrd3kdZb/lqeAWDtfqQNlEvA3l6tFtZIa0BnSx4pFG6jcvCb+SRZgA0KvTp/ZwmaEnPkCjH7idPq0v5AmdoFPUZ92nt2KfPlwha3xEICsWcRphUygeFPBYGzaIESk2q6aNrqaU/+uqJ4/Vxm51B95UFACjFVzSlTAw/mMCFH3540qGcl/eLVyx3e/3824uboGkD5KjtuNDulf7W2oikuVgJyzQxeayGP5JiNmdHlfzxIM5Y49VqBf2NDhqqlcc4n35Hqw4MqzWz9HCHCTA0D35v2ONUXSArsr9MI80yjAskAKLekdglw8Eq1R+gosLikoFDKdGs8alDbqNXVEip8cbRr/cMS9h0gW99APRbriz1yaXnMLu3vbarScDmoIIrLnm3BPgFQ7Q0su10qDZwUt+vGPhIKRI2lUzrd5+f+bg8whyeAr7Z9lblzuFVTwGRPbJ83iQ32NRw5D9IfzbZFX35+4kobiBUkOS97rpwjZa9eqW5ReuJWE2Bzt0hZiYSI4cgLAVVVPn3YgchV+Y88W/WKXfCEYXPvIhKT75vKIZnx+YcKOewJYBa3MvAlTmIrj89/UrAikJvRON1nE9fD16s9m5yFBlJh2pnzl0j3TGnKy+SXm4J/bmckdXyVYl1pS9iq05h/ySURlBXDGmkM/B5hvvT/jBftesG5ITV3TK1
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)(6506007)(31686004)(36756003)(66476007)(508600001)(8676002)(31696002)(8936002)(38100700002)(6486002)(86362001)(186003)(2616005)(6916009)(66556008)(66946007)(316002)(2906002)(5660300002)(26005)(6512007)(54906003)(4326008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?1hDG/Lid7PYDtZYTC7FwSN7AVmLqyURoV6IOxPxTRku7Ph5OtHL8PEt6XzUa?=
 =?us-ascii?Q?d/D1OAgIlWrM9/IveTOT3GNtej+cKWPQTay+ZERt/8EEfgE5pmIA0eIHZIrR?=
 =?us-ascii?Q?hoE+VaHavxkctgn7h+KEz75Wnf/sWKCfhHDd0SaZsq7MwDDoYSg9A5myBKsn?=
 =?us-ascii?Q?cC428HOhsLkCkqndiFWLEpOZy6mrfhqqGO+na6fUtH+7KEzZkZAt1U+oQOw+?=
 =?us-ascii?Q?lb0v7NjmfjGBlBZ9KssBMGF7nqZ1VhUsME1yCnQnD4vWYOJaWRwO/1cJoUp7?=
 =?us-ascii?Q?LU9yPtxWC6AJgRFdZrsOUtPsWZmkZR+1J8LtE+9G4rhfX6+ELHkyO7u1XUcm?=
 =?us-ascii?Q?M5yPee8qZboGVZ7wIdpSt5LP4WZE2FJ1+QNpCmWHwszhcjKeIYCY6eLtaX+I?=
 =?us-ascii?Q?mMmtxzD6OYCWT252aHDSp/ra6Iygaa8443IMDH/TAsg8iE2gxW3zLMGMyL+5?=
 =?us-ascii?Q?rT4WX5KF1ZlS4O9ULVWrM7O2yK26ALjSD9NwOwCl/Diqmpg1hFUD/89QBJGQ?=
 =?us-ascii?Q?xnsFSFqa20ceMA+DuVO3jMwyQBkI8D/lebVpxAGreUm2LVjzIjx/OwOVJj/F?=
 =?us-ascii?Q?JxE2AzhmZgCliirTWmUDq7WggodZL2GDa2nJ3YQdQn/wfUxZF4Gv0NaXKN9v?=
 =?us-ascii?Q?5Y+84salCiJYaS8kIOocrJwbY3oii8IdtFAI3zWyFQG8gD933QOjh3BDLu+D?=
 =?us-ascii?Q?yzZb/l0aLsub/KO6A8EVYGgkyB96STpJh4loM0E6Ggmn4Ob1ON65HgFlB8m2?=
 =?us-ascii?Q?PMQ6X3RSGZwc/e4u3jWTfD8TA3m7cnpqHacdWwrvA+RfJjClp90g4I13nxpN?=
 =?us-ascii?Q?maQ5cNz9y4M9k7hQZh+cOBOtd2cDckifzLDzeHaJryPKkj/F40tOgNXZ0uft?=
 =?us-ascii?Q?RikfswmPU+VaSilCvdKqJCXRV6EcTaiCyeDBkl7pUDXYJ/YHvCwG/XlPoU+5?=
 =?us-ascii?Q?ZkE7ha3QR9ymJMjg0lTL5U3ou4ZXzhBRr9ZDJFWgSFdqKV1HGNXgLcv5f6p0?=
 =?us-ascii?Q?BswazDDo1/iitWu3LmZfEw9viAvex8wcZrOtFaew5zsI52EGtT+76ej/i+mR?=
 =?us-ascii?Q?pKdXQ0+S6HbGOjmHPvWZJ3yZwcQSA2xBhNShUEm4ih235NfWxtHBhVRMRKEi?=
 =?us-ascii?Q?B5DSau0l61Rl3vqNL0zXVM7W+Y8HKJZX/CswrGFde4+a098luReurtaKE262?=
 =?us-ascii?Q?KfMBthTRQKLMyonsYmGiId+YrYyBArIQN7TN/JK+LyLI7xz84188Mxm1GhIe?=
 =?us-ascii?Q?aswmrBfjvnHStBUvYgvzFlXTdSoUy4znGcGnCM4pFbsafOG7h4OotIU5PopN?=
 =?us-ascii?Q?Sq5DErmbZgYiH49GCQeGN0wt1JFynWxWgd98os6Kzj59xBCORW3LdVTfFuQq?=
 =?us-ascii?Q?WQEK4MwHL8fLZdMvZ1IWVfuBtscA+EUmPDHWyq822k7/ShOdcT13DY7WeuvY?=
 =?us-ascii?Q?ZWSO05QRsVD0qruZE9UuSr+7Nj1vs8ejm2hHUZPKf2Tx3xlLN6Yd9rHChxyN?=
 =?us-ascii?Q?wq64JfLsUh76GgHjkWpNttwcQTfhJMKMyGWUmandu42HSv6FkoL9BowyD8gP?=
 =?us-ascii?Q?w2aSIxnMg76H25xdTaMoDb2dWjOr1ewkFO0p8L2EocqbAeGSvZBJiiyoGAun?=
 =?us-ascii?Q?Ts2ZCtR3oLFrZVrAKWW0XEI=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8ebb1a70-b48f-44e1-b91b-08d9dc1d8a7d
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2022 14:02:48.6612
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1JRZhf2yy62qZ+I9XzKXK3vZP1RDS8fQJpBMoGKRXBt0kuMLU2humFQlS02l5fPq1tjR/KMSBgk/vkw2sTIk0w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7643

From: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>

Add C-state table for the SnowRidge SoC which is found on Intel Jacobsville
platforms.

The following has been changed.

 1. C1E latency changed from 10us to 15us. It was measured using the
    open source "wult" tool (the "nic" method, 15us is the 99.99th
    percentile).

 2. C1E power break even changed from 20us to 25us, which may result
    in less C1E residency in some workloads.

 3. C6 latency changed from 50us to 130us. Measured the same way as C1E.

The C6 C-state is supported only by some SnowRidge revisions, so add a C-st=
ate
table commentary about this.

On SnowRidge, C6 support is enumerated via the usual mechanism: "mwait" lea=
f of
the "cpuid" instruction. The 'intel_idle' driver does check this leaf, so e=
ven
though C6 is present in the table, the driver will only use it if the CPU d=
oes
support it.

Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
[Linux commit: 9cf93f056f783f986c19f40d5304d1bcffa0fc0d]
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>

--- a/xen/arch/x86/cpu/mwait-idle.c
+++ b/xen/arch/x86/cpu/mwait-idle.c
@@ -742,6 +742,32 @@ static const struct cpuidle_state dnv_cs
 	{}
 };
=20
+/*
+ * Note, depending on HW and FW revision, SnowRidge SoC may or may not sup=
port
+ * C6, and this is indicated in the CPUID mwait leaf.
+ */
+static const struct cpuidle_state snr_cstates[] =3D {
+	{
+		.name =3D "C1",
+		.flags =3D MWAIT2flg(0x00),
+		.exit_latency =3D 2,
+		.target_residency =3D 2,
+	},
+	{
+		.name =3D "C1E",
+		.flags =3D MWAIT2flg(0x01),
+		.exit_latency =3D 15,
+		.target_residency =3D 25,
+	},
+	{
+		.name =3D "C6",
+		.flags =3D MWAIT2flg(0x20) | CPUIDLE_FLAG_TLB_FLUSHED,
+		.exit_latency =3D 130,
+		.target_residency =3D 500,
+	},
+	{}
+};
+
 static void mwait_idle(void)
 {
 	unsigned int cpu =3D smp_processor_id();
@@ -954,6 +980,11 @@ static const struct idle_cpu idle_cpu_dn
 	.disable_promotion_to_c1e =3D true,
 };
=20
+static const struct idle_cpu idle_cpu_snr =3D {
+	.state_table =3D snr_cstates,
+	.disable_promotion_to_c1e =3D true,
+};
+
 #define ICPU(model, cpu) \
 	{ X86_VENDOR_INTEL, 6, model, X86_FEATURE_ALWAYS, &idle_cpu_##cpu}
=20
@@ -996,7 +1027,7 @@ static const struct x86_cpu_id intel_idl
 	ICPU(0x5c, bxt),
 	ICPU(0x7a, bxt),
 	ICPU(0x5f, dnv),
-	ICPU(0x86, dnv),
+	ICPU(0x86, snr),
 	{}
 };
=20



From xen-devel-bounces@lists.xenproject.org Thu Jan 20 14:04:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 14:04:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259076.446835 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAY3S-0007aX-16; Thu, 20 Jan 2022 14:04:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259076.446835; Thu, 20 Jan 2022 14:04:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAY3R-0007aN-U9; Thu, 20 Jan 2022 14:04:45 +0000
Received: by outflank-mailman (input) for mailman id 259076;
 Thu, 20 Jan 2022 14:04:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YGoM=SE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nAY3R-0007aF-2R
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 14:04:45 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eaff67e9-79f9-11ec-8fa7-f31e035a9116;
 Thu, 20 Jan 2022 15:04:44 +0100 (CET)
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur02lp2055.outbound.protection.outlook.com [104.47.5.55]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-41-se1l-fHKO_mJLS3QJopwKA-1; Thu, 20 Jan 2022 15:04:42 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DBBPR04MB7643.eurprd04.prod.outlook.com (2603:10a6:10:203::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Thu, 20 Jan
 2022 14:04:41 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.010; Thu, 20 Jan 2022
 14:04:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eaff67e9-79f9-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642687483;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=7m7Y7Upa0+r0a+ciUd8pwYsa/PeoFa1xWQvHddn56eY=;
	b=JYpM0vyvV6atxHfdMidOI+3MZDVDKjB+ZLrwzmluhly3GYxUh2GV8aXjpwOMSF07dSomOp
	rDeTQoVEnIEMNgLTWY6v3WRaHBYWejAyQM96H5463KozciQ3HFAvWn1efw1Z8cHIIepDPh
	tkOvAp3lh5MaQ0kkmYsE8Ft+8cn4Puk=
X-MC-Unique: se1l-fHKO_mJLS3QJopwKA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=crEg0xyhA0n3UCTVJOOtb/U6gw8b2h+l5x83vWhOYpZgChiWCmB5ZD7cc7FiP1mx6VZor7SXiJ+CTvJUAh51/iC95TzQeve+nRCOLgZ8O7fq1qNxQDAMZBzNaa7cNOr158zUwHcS8ZptAQihExT49vqB5wWrflvWZQyRWO1sLXFVavVyPjqF7A42eEwhqzIpl2JDSlyZlOQlPkjbsjxS5gN4kczpeJFr48mW9Uy1juLsOzhnvEujDgsPz8EMPrrKLic7q4SxP2Bvqs5GPS0+U+Xp5sLsbDdsOWpIam72K21x+jjhMZuSMDLgPQXDUCiNUNCkvj4Ux8EbNnaZaz7w9g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7m7Y7Upa0+r0a+ciUd8pwYsa/PeoFa1xWQvHddn56eY=;
 b=Z6N3unE3L3XNp6WhMcpmSk6D1SUp+YvkTzGA8Hc1ENACnhip0t7ghtDLkVLvqVkl4ITg5WjWJ5hy/WLslN99lBSLrexmaS9IhIi8uQZhrRwpNKzSfZXG/ULfmgVX3cH29ecJd7vhQT2GrUUG6JlQwiESQfskYsJpOWnrdSzcGy42XRuSN3RI3cp0W4oFs/JOeDQ6hCl/z4CFzdbUZr5+/0t922OeGpKDvuHxALmWFpejpf/LUJRspctTWAwKCkyfKb1WT5xXbYxMU4WIU8MZG8dL9uv7+Ki9d7QisDTXlqXo77P97QoJa2sFJlyJatl9HfiEVqfeFL5LpVWzGk+/SQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a0b3c3f6-2abc-353b-92f9-367fa57af8ef@suse.com>
Date: Thu, 20 Jan 2022 15:04:39 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: [PATCH RFC v2 4/5] x86/mwait-idle: enable interrupts before C1 on
 Xeons
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <568cb6dc-127a-9c8f-0073-2df173d4677b@suse.com>
In-Reply-To: <568cb6dc-127a-9c8f-0073-2df173d4677b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR10CA0070.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:209:80::47) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: aebfd843-7d0c-4d50-89ae-08d9dc1dcd66
X-MS-TrafficTypeDiagnostic: DBBPR04MB7643:EE_
X-Microsoft-Antispam-PRVS:
	<DBBPR04MB76434D7E25D0386A90BF98E4B35A9@DBBPR04MB7643.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:
	a2bGEuN0gz7d0hWgyVJh2RxFx5OLVYMDInTyc1MCeOzhiKqO9il63aFEpHt4xgoN1Z9XlUczOAv4uiCW23ZSOJrht0p7dcqcDwtBIpDRfwAjJni82lgH4kIxarGmoKIgToclb1WOr+J8DzvZvg0fYiKaG63thISPn160hVEJloEB7tFD6gNhvSUpCb90a2HvjZWiUUPI4cim0U4KYEc92u2N6EcWEccSZ5ZlFd0SjLtkqm2yrEyEqSYmkSA28ArF1LBiH54tAWNCsHVvLgRsbltgVKNROBMHUi/b8+jboLxbAv9hyV8FZhvfUykQU2qOqJle6d/9ZFzCY7Gw0TsBJAwAtdZBLNpKmoDNGA/flh+88bmdMsJPAGqzfXJ7RZZW40Qr7wzl2LeIu6aBJD8aFscv61DFSXDCvn58FOt7WbB2L0tyVZYk/5heZuzLTljaUEdszGKVigelDw6ZaBds5JwaTA7VDypsXdxyT2YxKo8H50fgVk2q6oOy4KCQ1d9krsvnMIhhsTne7lqd4/gbpV5M9Pa4ApV2Y2dIowFsmj7V3AYFwV0f8MReOmf6KhELqhJxLgvsmU0y3JWsvNPdUpJWEd45ZPYuUtGU4IpP559Lf8MGmvrFxDCK7nCq8EV5In4G8ypdXtWq3M0BBfWiyBFv38fQcoTpCCPErs5I79Y0TF+kreHTn6mbU7kzzwnHXXTcsk00o6VFAdpNKVjbbrB5jptVuOr7c92bQ6C6S0h73B4+0uHRpbz/As+FLegn
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)(6506007)(31686004)(36756003)(66476007)(508600001)(8676002)(31696002)(8936002)(38100700002)(6486002)(86362001)(186003)(2616005)(83380400001)(6916009)(66556008)(66946007)(316002)(2906002)(5660300002)(26005)(6512007)(54906003)(4326008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZTB2VWxJcEUyVThoRXdsNnFrOWdHMlhRYzB0UDVJbVdEbG5BakVPa0Z2Vk5F?=
 =?utf-8?B?RVQ0TzBHVVRORDNkZkFTZXB0TmF3OVBXV2cyQTdheXlRZmtmYUZnbE9pQU4x?=
 =?utf-8?B?YnkvaExwL29MdU1jOUtNODM4TXJLM2tyL09nSVdMZlFQbnRZOWtieW54Q0tz?=
 =?utf-8?B?RnBHdnRUazZ6K1JCMVN4VkpNbmVLdHJIMDF5ZTZsbGwxRFkwUjFKbEd5QXNv?=
 =?utf-8?B?NkgveUs0T2VoYnpqVll5UW1nVVhYTTdYK3NzR2NsNGNkRnBUUzAxRFJEMXR1?=
 =?utf-8?B?SGsvWU9Kb3cvWmR2R0Z3WkFPRERuV1ZrOUZxNzJ1UzRRZGt1dmxQbEJnVHFF?=
 =?utf-8?B?L2M2V1hiWlVKajNiWjA1Y1lMcEV0R1JxWDlFeTAzNzV5S1pRM3hhWWtkRVhy?=
 =?utf-8?B?Z0VZdlJEeG4vKzlBVmlnSkFyR3l0UXVvT3RFY1NKRXh2RkFPcG4rQzRzUDE4?=
 =?utf-8?B?RE1vZDQ2Z3BhM0Zvd2FRRFZZUkN5bjdKZWg2a3dtRyt2UVZ5THRKa0VFWlFn?=
 =?utf-8?B?YUI3a3NJMDZyNjhJbEpVQzFkNE9vUUhRS1RXTGlDVWl5b1AyRUVGMWQ4N3VG?=
 =?utf-8?B?cUJwU0RQVlhWNEZSWUp3OHpxVzlYeStuRTVjbFpCSzFQbk1sWnkxNjd5OFYy?=
 =?utf-8?B?VFdJdzlDNFhtV3pIblVhUTVvVGF3ai9ER1BxUXQ5dFc1Sm1Ba3dNUVQ4dXhH?=
 =?utf-8?B?YmI4OWZBSThQbTJFZEYvZTdXZUQydVlJV2VWcGhNbnBuQlhyWWR2NHhMWHFq?=
 =?utf-8?B?cUNIWmh4ZkxmTzBtV0tyL0dqRVY0bHd5c0xqekdGdHZMMUl4YWFHQVNjRUxj?=
 =?utf-8?B?emZZaEV3am5xY0NXUkp6cFNCc0NDVjc3ekpJZDVVU2U3elQ4eWV3cFpkNnA0?=
 =?utf-8?B?SlJqNEhqREN0dXB2a1hCRHdvYk9lWjV3Y0I5RkpUbmtWb1h3WUtPNTAvN2F1?=
 =?utf-8?B?QSt6Z0tqUmVQdVBjVlpNclVzU3pEU1ptaWl0TWdkWnltS3BDN1BNZ3FSbVBV?=
 =?utf-8?B?NmtiaDV3SEFSbWgraktrcmxIbDF2UEpNd1hDWmZiSTJ4a3ZHSHFqRk5rcVNh?=
 =?utf-8?B?cUcyNU9SVmJOcGVNL3FpWTNOMm9oMytITWs5TFJZb2Z4dkZtZzdrMUhTVmZw?=
 =?utf-8?B?Vk5mNFF2MjZGb1B0bHI2ZXFPd0FkM1FLOU1xc25iaVBIeTRhNHp1NkNxZ0xy?=
 =?utf-8?B?WUd6OGI4cDdSbUJIcno1Ylg5T2JtTUdkdU8vS3k2ZjV1N0dlZThKdkhXbStw?=
 =?utf-8?B?NG1MVGxUckE2bDhJcmtWQlFGZkMvT0RyL2JoL1FPcFVTV0JlOXRraUNEV0N0?=
 =?utf-8?B?aThsem9ETVhxZFMvM2VBWmVCNnFoOXFQdFNKTmFJbUFXL00xU1hDN0QzVkc5?=
 =?utf-8?B?R1JaMzFJNEZVcFEvRmgzL0J4M1dubmJneVhxczRsU0RHTDVhdVB3aFdrWVN0?=
 =?utf-8?B?Y0hxSlpER3pkMXRnTm5KTXA4R0FLTklZZm9rVnpSajcyODV4ejFDa0lHeXJy?=
 =?utf-8?B?YjB3MFVOM2tmMGRTRW9Ed0phSE9KVGFRQVRPcjlGNHB5elVrakhEVHJtS3B1?=
 =?utf-8?B?OXNrQ0laSTNKREZUNnp0Ri9KYlR5dU5Vdm1yVDRHNFh6VVFiakZscFZ5R0RY?=
 =?utf-8?B?WnVKcjcyNnVvUEllK2VOckprRHVwVlNGWGtqMnlMcDFOVVZvZHVKTTlUK0sw?=
 =?utf-8?B?OHRmbG14UlI1bFpvV1k2eVJobDNZQkNIVjROSFNzM0NnRk5ock43eElpNDNR?=
 =?utf-8?B?cUZnUHpBV0ZQZnpraXFualc5dXBCclhpQ2pCVng2RUhIUUNUUVR0ZTI1LzJT?=
 =?utf-8?B?aVduZjZ3aDJkRU1FTFBZajQzTjRUaVVqSmMwbWUxR1Ezb0hvYW84NVdUaTd0?=
 =?utf-8?B?c0p0Umw0djE3VEVKcEFlbUFNak4vay9ydWhMUXZoN0JVdTR0K001bnloNVg4?=
 =?utf-8?B?bndjelNEZXJTU09WOWF1cTRxRk15b1Q4UWtNeEpOeVQyYUU1MWw2WFI3Nnlu?=
 =?utf-8?B?VEp3Q3NTWEVxdzZMZEp3YmY1dlMvamZYb1JZZ2NzNkJuVjZaOFNZazhiQ2wr?=
 =?utf-8?B?aTByc01VWTVuWHZKZ1hMSHVDeVh6U1pNOVlSZ3c0ZHBrSjM1V2NMd09YZ0Rm?=
 =?utf-8?B?Qy84NXViSkhtZnRvam5yejZMclo3UVRCT29sSXVNbVN1N1IxbStQVWNieU04?=
 =?utf-8?Q?HmXTLp2MIXqY9/orIou7UDU=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: aebfd843-7d0c-4d50-89ae-08d9dc1dcd66
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2022 14:04:40.9616
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: JFR3eqvSV4ZDIu1hmy/w42SVMrFV9SrQnH0g+cbhCfqVcDwDufYChi+0c751g58SEG2fNzfV2ztYDmDy7HDGqg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7643

From: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>

Enable local interrupts before requesting C1 on the last two generations
of Intel Xeon platforms: Sky Lake, Cascade Lake, Cooper Lake, Ice Lake.
This decreases average C1 interrupt latency by about 5-10%, as measured
with the 'wult' tool.

The '->enter()' function of the driver enters C-states with local
interrupts disabled by executing the 'monitor' and 'mwait' pair of
instructions. If an interrupt happens, the CPU exits the C-state and
continues executing instructions after 'mwait'. It does not jump to
the interrupt handler, because local interrupts are disabled. The
cpuidle subsystem enables interrupts a bit later, after doing some
housekeeping.

With this patch, we enable local interrupts before requesting C1. In
this case, if the CPU wakes up because of an interrupt, it will jump
to the interrupt handler right away. The cpuidle housekeeping will be
done after the pending interrupt(s) are handled.

Enabling interrupts before entering a C-state has measurable impact
for faster C-states, like C1. Deeper, but slower C-states like C6 do
not really benefit from this sort of change, because their latency is
a lot higher comparing to the delay added by cpuidle housekeeping.

This change was also tested with cyclictest and dbench. In case of Ice
Lake, the average cyclictest latency decreased by 5.1%, and the average
'dbench' throughput increased by about 0.8%. Both tests were run for 4
hours with only C1 enabled (all other idle states, including 'POLL',
were disabled). CPU frequency was pinned to HFM, and uncore frequency
was pinned to the maximum value. The other platforms had similar
single-digit percentage improvements.

It is worth noting that this patch affects 'cpuidle' statistics a tiny
bit.  Before this patch, C1 residency did not include the interrupt
handling time, but with this patch, it will include it. This is similar
to what happens in case of the 'POLL' state, which also runs with
interrupts enabled.

Suggested-by: Len Brown <len.brown@intel.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
[Linux commit: c227233ad64c77e57db738ab0e46439db71822a3]

We don't have a pointer into cpuidle_state_table[] readily available.
To compensate, make use of the new flag only appearing for C1 and hence
only in the first table entry.

Unlike Linux we want to disable IRQs again after MWAITing, as
subsequently invoked functions assume so.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
RFC: I'm not entirely certain that we want to take this, i.e. whether
     we're as much worried about interrupt latency.
RFC: I was going back and forth between putting the local_irq_enable()
     ahead of or after cpu_is_haltable().
---
v2: New.

--- a/xen/arch/x86/cpu/mwait-idle.c
+++ b/xen/arch/x86/cpu/mwait-idle.c
@@ -108,6 +108,11 @@ static const struct cpuidle_state {
 
 #define CPUIDLE_FLAG_DISABLED		0x1
 /*
+ * Enable interrupts before entering the C-state. On some platforms and for
+ * some C-states, this may measurably decrease interrupt latency.
+ */
+#define CPUIDLE_FLAG_IRQ_ENABLE		0x8000
+/*
  * Set this flag for states where the HW flushes the TLB for us
  * and so we don't need cross-calls to keep it consistent.
  * If this flag is set, SW flushes the TLB, so even if the
@@ -539,7 +544,7 @@ static struct cpuidle_state __read_mostl
 static struct cpuidle_state __read_mostly skx_cstates[] = {
 	{
 		.name = "C1",
-		.flags = MWAIT2flg(0x00),
+		.flags = MWAIT2flg(0x00) | CPUIDLE_FLAG_IRQ_ENABLE,
 		.exit_latency = 2,
 		.target_residency = 2,
 	},
@@ -561,7 +566,7 @@ static struct cpuidle_state __read_mostl
 static const struct cpuidle_state icx_cstates[] = {
        {
                .name = "C1",
-               .flags = MWAIT2flg(0x00),
+               .flags = MWAIT2flg(0x00) | CPUIDLE_FLAG_IRQ_ENABLE,
                .exit_latency = 1,
                .target_residency = 1,
        },
@@ -776,6 +781,7 @@ static void mwait_idle(void)
 	unsigned int next_state;
 	u64 before, after;
 	u32 exp = 0, pred = 0, irq_traced[4] = { 0 };
+	bool irq_enable_early = false;
 
 	if (max_cstate > 0 && power &&
 	    (next_state = cpuidle_current_governor->select(power)) > 0) {
@@ -806,6 +812,12 @@ static void mwait_idle(void)
 		return;
 	}
 
+	if (cx->idx == 1 && cx->type == ACPI_STATE_C1 &&
+	    (cpuidle_state_table[0].flags & CPUIDLE_FLAG_IRQ_ENABLE)) {
+		ASSERT(cx->address == flg2MWAIT(cpuidle_state_table[0].flags));
+		irq_enable_early = true;
+	}
+
 	cpufreq_dbs_timer_suspend();
 
 	rcu_idle_enter(cpu);
@@ -842,9 +854,15 @@ static void mwait_idle(void)
 
 	update_last_cx_stat(power, cx, before);
 
-	if (cpu_is_haltable(cpu))
+	if (cpu_is_haltable(cpu)) {
+		if (irq_enable_early)
+			local_irq_enable();
+
 		mwait_idle_with_hints(cx->address, MWAIT_ECX_INTERRUPT_BREAK);
 
+		local_irq_disable();
+	}
+
 	after = alternative_call(cpuidle_get_tick);
 
 	cstate_restore_tsc();



From xen-devel-bounces@lists.xenproject.org Thu Jan 20 14:05:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 14:05:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259078.446846 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAY3z-000877-9x; Thu, 20 Jan 2022 14:05:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259078.446846; Thu, 20 Jan 2022 14:05:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAY3z-00086y-6Y; Thu, 20 Jan 2022 14:05:19 +0000
Received: by outflank-mailman (input) for mailman id 259078;
 Thu, 20 Jan 2022 14:05:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YGoM=SE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nAY3x-00086o-Be
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 14:05:17 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fe5a1628-79f9-11ec-8fa7-f31e035a9116;
 Thu, 20 Jan 2022 15:05:16 +0100 (CET)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2106.outbound.protection.outlook.com [104.47.17.106]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-27-h-UCJEbNMF-Q3noT29XyHw-1; Thu, 20 Jan 2022 15:05:15 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DBBPR04MB7643.eurprd04.prod.outlook.com (2603:10a6:10:203::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Thu, 20 Jan
 2022 14:05:14 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.010; Thu, 20 Jan 2022
 14:05:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fe5a1628-79f9-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642687516;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=Ki88Bt745Kcm6s6wmFvsK/mpmFMQIsi3fvdnsTbkCRg=;
	b=D67rw/gdZiBrrX3ho+xcRyr4J+XfrgrxKZR9CzvbXVDflhe+N3+Dx9hXzlfEm5Y3itsMZy
	dpLi5Jpt/MbeXMOqNr08FRDYkvNowc9hNjV1kVASSGQ/Lfl32TcrIraBAUbizWqTE5aWuc
	BDvmitxJgrngUdNgLvXpwfKHtXRqI3M=
X-MC-Unique: h-UCJEbNMF-Q3noT29XyHw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HILrtr//VkJcVq2upy2lyOAv+/g4fS+ydQ8UvgpnXIUwDbaTb5290o0iBQ2l69v1NCl/4ejW9+3ZKOjMdo5EDm6IvPOuWJw10XjGd16yNPS60HFyhONlWDsUGkT/yEOJApqdVoXO+NEIUavqyl6Kz3uV7HNG9BEcFmJB9t+cXKp+485Tua61yTTo8tFa/saw1cQLm69HXlwKb36BSLd9Cvm6ZbERpTfmoI1sxeD6PlCsIBokzaFiXoCExS6MsMaOoIcW9q/GAJkBMp/nFJzmnbum7kbKVzs2VcQtyOs0Mo8QNPHJgP2/43TKBUYnulOYMO51ju+byfhaZtOUZ9OgKg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ki88Bt745Kcm6s6wmFvsK/mpmFMQIsi3fvdnsTbkCRg=;
 b=EOCJhFgg2rW6AkWMHGepmDM2SDmuUSGpShByA78TBO2ByoDPWISzDz4MW2BBIgLal1+PWY4h7gsWHTbxF+9CcTd4mC5LzK1L0L6nHRAo8Wk2J5wTyfOYMAxnyD1fmfGHpuYT2Jvf8ApkEePqXnkxlP0cBI/D2phea7EKYEEcRe78ibZIV458YAHOqRpyS1IWA26M9/IPDt16z3Ff1ZxINKXf295bwUlc/6QgkvDDxrEdSDr5N1dBQRY3v7Df64etjumMozwop06TNZB7V8rUKToSKn5NpABIOmIFaZuN65CUjHzp85UAxG4MmloVodYy0MyKLel/IVytz7QC0vdRVQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b9270896-efea-3e81-99fb-685fc5b708be@suse.com>
Date: Thu, 20 Jan 2022 15:05:12 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: [PATCH RFC v2 5/5] x86/mwait-idle: squash stats update when not
 actually entering C-state
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <568cb6dc-127a-9c8f-0073-2df173d4677b@suse.com>
In-Reply-To: <568cb6dc-127a-9c8f-0073-2df173d4677b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR10CA0056.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:209:80::33) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e45165f2-d0bf-478b-d03d-08d9dc1de113
X-MS-TrafficTypeDiagnostic: DBBPR04MB7643:EE_
X-Microsoft-Antispam-PRVS:
	<DBBPR04MB76433093A7C436194CDD76DBB35A9@DBBPR04MB7643.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:
	ADc6HcxE6dFwD9vo7mpglQoi5RkNPccye5ZbVnLGfrAttZtDpQMQ0yvbt6sXpQVoxjIQTEQaqHaCIW0JLXi7ozbZtzohnh/chlEa3nMK7ByAeXHMYVbju0C7al/1U3PIcAcXkWXkKElwCRHam/97Hn3dxymupZUnjzlAVpc0TQsSGtUgGPUD461ISiCPh+nooDVYPbelfnIuEJeLWy94GzwCBOp8Ytz9jwH9jrzvmfZHoXvmJcUkuDHiywMuypf5wdGfFVtCRImFTu7ccJTEUfzDcqyd6nJ7eE8S0Nbaaxj8A3KeNs0lvaXXHroX+UXYHJ7RIF2x75uy7ZFp3ZkyHg1BKATz5Cfwlwe6YotsHZjdUB/3ju+MdzBls9P7MURI70oelWw0hJN8pbWlUq0PzoyiUyl6z4vEpC6zpiXM3rEwSmT7SEDpUL7Ptw/lECMyj9CoauWV1xL9l3IYeoh/SS0uvCJYMUr7FsMfTmEtsm57CGSPdtB0NeSgIPjcjzACmjZEaC4tuD3SbCa91ny4uNx5omjsYbIxc9ehUfAv1abV6D4nnTtxnG83786eWoCL3FG696Wqk5vndEtMNrTJayyC8mQSVwCvk+ff7tth1HGGfHbxCUJeFD9VaTpN2OkKkWq/jpRJeggLN1hBuYQ6j1PlHuY6RqNT7r5U3b6kJ6DQSFtdVb6WUjq7DG3sMObU2H1eUoDnUL00/sowm4cFDa0OVYAVTRsXGO1NGu8jEQAL1wsDX1uNds+eD3cosEpo
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)(6506007)(31686004)(36756003)(66476007)(508600001)(8676002)(31696002)(8936002)(38100700002)(6486002)(86362001)(186003)(2616005)(83380400001)(6916009)(66556008)(66946007)(4744005)(316002)(2906002)(15650500001)(5660300002)(26005)(6512007)(54906003)(4326008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z0IrMkYyOGR1VGJyOHh6WkxYUVYzTWxiaDd5dVhCV2VPdStHRWlNMWpYSFQ3?=
 =?utf-8?B?T0xHSFFaMUUvYnIyaWhWUXA3WkgwYXZnbWxhVVVuRlRrWUNPdWNnejQ0ellJ?=
 =?utf-8?B?Qi9nNEM2SjNqNEFFUmhybUhxK2RGUnFBdnRRUTU3aklLKzBXK2l1WkRoV3RE?=
 =?utf-8?B?Y2Q0Zi9oMHl1aGJiR09ZUXV3VDlWL2U4RWs5NzVrcTZEaFg3czZvOTZVeFFX?=
 =?utf-8?B?QWUyZklyVFZzcGF5ejhSZE56WGlyVU9YVkM2ZHh5R1pYRC96d3FMUXpremZH?=
 =?utf-8?B?Y2wzbkd4K0xXYXBkZlBaTmdGenlIejJZV29CMlV2MW5jakNUZTFaaTAxZlBk?=
 =?utf-8?B?N3IzTTM4RG1nRTJkeGFLMWc0MndpWU9YdTBDU3V0TnRidzI4L2FIendHckIv?=
 =?utf-8?B?M250ZEpRaDhTQXlGbWpEbHdnTERkcUE5d09WVzdrTmtCb0lDWWt0Zkxhdlor?=
 =?utf-8?B?LzUxL3Vra3B3VDBLK0dhaCs4T0p3UDJBdWF5MndFY1A2aXBXQUtlNDhmRDAx?=
 =?utf-8?B?T3B6OHEwaVVoRDJZYVRYbktHMy8yWlBTTDdXZGQ5UGMwaU83enZ4b3VYZkJa?=
 =?utf-8?B?YkxORFZhZG1FUFlsdnlTZ1JRbDFjdnFFVmNWTkkyU3VNQUtucTd0alRQajVl?=
 =?utf-8?B?SHArTUtIWmpJSnZva2VQdjVySFlNaGtwWjIzU3ViSE9CZkkvVVNUWFZjVUY0?=
 =?utf-8?B?azB3UnBCZVIwUE9haDY3dlNSeWpvbUYrTHl4Z2VDOTgvTFlhYkQ2a2FBVjV5?=
 =?utf-8?B?Z28rZHAydFB4dzhKRVlGQ1gwc2pSZDIyWXQzSkltZThvNGQwVjZ0bnRYalZm?=
 =?utf-8?B?STI2Skp6YS9DdjlLbUNrWnYzOTN3QlUwZUQvV01GaXhBeWtCd2VSVTFOcURN?=
 =?utf-8?B?N2JqRGU3dnhHbmhwRnhMSEJkMlpGRXg3cjkrNUpXWUJMcVhWWm4vOXp0OWlk?=
 =?utf-8?B?ZGZRdGlYUENVQ3hhNUw4dDNCbjFBYXFqMmpGOXB0OVNud0oxNnphcEZKQVNL?=
 =?utf-8?B?N3B0UllzQ0ZsbDlRZGxkQ0ZpV0NNRE1YTnNreEFNYkdhaGJ3MHlzSkRjSjdy?=
 =?utf-8?B?aDcrY0s3N0N5L1c3MzF4UVI4NnlaaGo0SURvOHdzUUU4M3V6cmllUFFJVGZX?=
 =?utf-8?B?Y3NjODBtSjVrUW45MVpiWkQyNE83SDc1Z3c0eHdIYlFvbHFDM1ZpcjBockIx?=
 =?utf-8?B?WUtSTDB4OG01LzRWUFRtMDNvVkN6cUtOUlJpT2M5VnhvZUI3clVzUGhYSzQ4?=
 =?utf-8?B?S3ZYY2xBL3R6YjhSdzFqc2tyU2N3SjdmdHJscDFDY0RqOTM0U3YrQ3RFZ2wv?=
 =?utf-8?B?czhPZ2tFRE5WM2JtMkY5ZHJzVmFjdUk5enMreVFST1ZrVXhPN2cyRFg2WHZu?=
 =?utf-8?B?MGswN2ZEcXc3Tmx1MFl3dTZDT0RXODVTQ1RGS25zaUhVZEt6L0dYN3NURTJH?=
 =?utf-8?B?UlkwZENHdlo5Nys2TUxIMTh1VGNINDZWTEEwUzduc0h2SytnWXEwM0xxVUxn?=
 =?utf-8?B?ek1GckpHK2xpN1BoYWlrNjdRVGttTG1lR3NiZ1hFUENNSVFHM0VxVzVYOXVI?=
 =?utf-8?B?a2pzZWZRTTgzWTJkQ2FiNFByVXBNSVpDUE9HY2s4MmxIZ0RmdDB2bGduMHNs?=
 =?utf-8?B?WXhTV0w1S0I2WWpBWHFBNkFjMFBwbmRzTkNBTTZmWkhyRFlRb3AxNmtBc2lF?=
 =?utf-8?B?SmlBV1EyMVVRV1ZCTklDc3lsQVFHemVoQTFtM3dsWS91T3R2cXg3MnFZaEFB?=
 =?utf-8?B?T3BtSmw1czdwc05qNXd1REpEMUsrbFJUancwa3BWdWlQS0Z0UXhZMGsxblRM?=
 =?utf-8?B?V211ZGV5djN6M1d6NSs3a2VYK1NHVVVBUUFvaW1oOW5rT0ZWVlRKQUE4aXVq?=
 =?utf-8?B?ekJIanJySEJYdGdkNTJHOEkvd1ZOK3dQWEVBcGJBNzJWRnV1RTd6RXVaQ0Yw?=
 =?utf-8?B?d1BBN1N6OURNMVgxai84eTRDanordWtJQnhsa0pEdnZZVWoxdW1CMjFNdjZt?=
 =?utf-8?B?MENHYkJST3NsaUw4Z1FBUHBCUXZGejFrNnI0dEpjRy9ia2ZDZ08xdkZQRUl2?=
 =?utf-8?B?OGJ0K2tGVTJUK21kNDJYMldnNHVSYlZ3VURMYWxnNlNJS2tSSlNCSnBtUlI3?=
 =?utf-8?B?MWFmYnJwb3BGejNwQ0tpTzRwTFlNNEdaY28rS2lrNG5aNFFuSnBWck9yWS9K?=
 =?utf-8?Q?C9ft9QYN9rZ8R/PE6MAi41Q=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e45165f2-d0bf-478b-d03d-08d9dc1de113
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2022 14:05:13.9319
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Rf3PEFF4rBQXN5aMVIWqBIesyxgdQlUo7RQCYq4qiz4ZyCgqS+ejZb9NUMixc+XsusJ4YT+FKQ1k0i/Z1CutIw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7643

While we don't want to skip calling update_idle_stats(), arrange for it
to not increment the overall time spent in the state we didn't really
enter.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
RFC: Arguably more of what follows could be moved into the if() -
     thoughts?
---
v2: New.

--- a/xen/arch/x86/cpu/mwait-idle.c
+++ b/xen/arch/x86/cpu/mwait-idle.c
@@ -861,9 +861,11 @@ static void mwait_idle(void)
 		mwait_idle_with_hints(cx->address, MWAIT_ECX_INTERRUPT_BREAK);
 
 		local_irq_disable();
-	}
 
-	after = alternative_call(cpuidle_get_tick);
+		after = alternative_call(cpuidle_get_tick);
+	}
+	else
+		before = after = alternative_call(cpuidle_get_tick);
 
 	cstate_restore_tsc();
 	trace_exit_reason(irq_traced);



From xen-devel-bounces@lists.xenproject.org Thu Jan 20 14:15:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 14:15:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259081.446856 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAYDn-0001HY-Dc; Thu, 20 Jan 2022 14:15:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259081.446856; Thu, 20 Jan 2022 14:15: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 1nAYDn-0001HR-AJ; Thu, 20 Jan 2022 14:15:27 +0000
Received: by outflank-mailman (input) for mailman id 259081;
 Thu, 20 Jan 2022 14:15:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YGoM=SE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nAYDm-0001HL-4o
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 14:15:26 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6915d5b2-79fb-11ec-bc18-3156f6d857e4;
 Thu, 20 Jan 2022 15:15:25 +0100 (CET)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2055.outbound.protection.outlook.com [104.47.13.55]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-35-WBd_Ne5WMgWijTH_XJoRGg-1; Thu, 20 Jan 2022 15:15:23 +0100
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.4909.8; Thu, 20 Jan
 2022 14:15:21 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.010; Thu, 20 Jan 2022
 14:15: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: 6915d5b2-79fb-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642688124;
	h=from:from:reply-to:subject:subject: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=0DCz8upcgY1B8XHbZS8IKAaDRpE99ojalz96LJu2cm8=;
	b=IYzuA4+2Qfq9094n78sAWw+tZ+bLGCndHRKyVpy+jK1aMSqPg2KFtRmT3D9NBc0w9bbbg1
	d6DFyYJLmeQ3slTiEtqsmK2upVv9PnlyltLdKryp0s1pgcO499umQXvKHlUa2a6lrwh2RU
	2zShHslN1e0qU+eYfbCKxSTsNmHQLjg=
X-MC-Unique: WBd_Ne5WMgWijTH_XJoRGg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KYnCy+jdMCJjI3feVgK5k3kcK6AsHaCtbeEOPVQrWBTjHRhCbAFh5rjQhfCbJYSr/Cdw+oMTdNoWaSusCepTZbMRRnG02jr8CsmLKKmh7vmcRZ3FMDV8y26S/9kvNYXApUx7BbWkXiBlG/8kmxSyKhSeP9vCZAeLFIb8nQsbA4zcrFXrxR9IN1TQsdwuaiX5pGZLLqfutU1b53CXWQ1qrMKwboyEExI3+y0RruGAzfElRHwZay4qWGcmvQhvaJJiHnmwTF24K5F9XVm0pBdaXzgU4pdYPXd6GTtCM2O0Srh/EsDDL4GxrbXNkJFcduO+jXWpgyKP0hOCD72RUEcXZg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0DCz8upcgY1B8XHbZS8IKAaDRpE99ojalz96LJu2cm8=;
 b=ElkoEkZ1BcOYs5n9AxHVL8hUig3hHjaBryqbD6GYxcoszYUZ7/Or+/1Qs0m1eOflMZEGkiUtfpoGCCoAsKFD8VTF3sQh7aKEob/2aWz8YIYlUiUWVEUzLX0Sy6Cd8doiiPBoHKPCMxilYYkeJy/UjzUdz1Zgt3vLpX1flsYNg8A0dBc20dDbude9aXxQm+g7NAzczdXc42uTwmwAtPx/5iayoXvjhc+R8cNGMHEzuGrBEff3XZkeARq0oRqf7zzqgNvjNPUGVOq4Oa4UMY8Ld06k0SkuCKvq8c6E9Be7tGqJCtAk0MCIqieOwkFXhHKOWk6rTj660v83WrYe8VNqrA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <64a5a3ac-8f4c-b13d-0b7d-4c4ec15e2721@suse.com>
Date: Thu, 20 Jan 2022 15:15:19 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2 0/2] x86/Intel: PPIN recognition adjustments
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P192CA0032.EURP192.PROD.OUTLOOK.COM
 (2603:10a6:209:83::45) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 0e571ea9-8968-451d-8041-08d9dc1f4b55
X-MS-TrafficTypeDiagnostic: VI1PR04MB4192:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB4192E42563B198590318B230B35A9@VI1PR04MB4192.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:
	2wI8qjf9+TARYAOO2W1GoszBcMLDEqsd28Mu4BQd6PPxgIQ42fnSNjsOWYnAsd2MpFCnxC/fVPd9h+KvviLW1Ao7YfWNVdnxzB5VLMYG0GLkoB+Zsd4C0+h9nlGnspyt52x2MtjFsMTNm6IAdleqhDlDyH5fwc7J/lIsLh1ahVYatyzKJGEaCG9LKgr8cK0YtvLpKUrnyuAmMI/WdWaBaEQFEo6lv3wo0D0f7yuABA6rcCOyvEuDIp5fqBKFM+wB0n+rBAnMeItYmBYwvO4tVAAS88945tIkupoISL+BoLm/yF+ELA6n1nyRWoFsB0rb6n5BydV11l9tp8s6xkJzDo8iQo3HmIoc46AJHxSHvlA968pGE0iT1xpK7xuWe4PMhh5wqZxovNISscSOnw25N7tJ/cu7IXveac36OaKIID9cg2H/rkCtVzSf57u/t3/kBgfEEJxFHdpjpj6gtt20GqR1EFbM3gqF906C23KiOO7irV13qQjy2yQnR9A30hd7GiTSInZvXhupDsfL5MTJuAJUDn+S2hInH1xgPmpWM0vwnNcxqiuy4XC3HwHbZdZEXbDQ28oV/6Esmc9a7zi77bnsJ6TOEabhC52EisweO7Z6apIrWjF3SxV628p2Jow4AD7I5kLxlXapDeUyQk3ExJj81hvY16AV/ikRdzjYNTjPJTjFu6BOLgiSv1jhTUBm2hvmavOd0Ez6F2Oj61aeWb8DRsvdyzd+KcbgFGbZK5Bw1wJTYhuwzu1INVNM8hOj
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)(66946007)(66556008)(558084003)(66476007)(6512007)(54906003)(36756003)(6506007)(8936002)(186003)(5660300002)(31686004)(38100700002)(2906002)(8676002)(31696002)(6916009)(6486002)(26005)(4326008)(86362001)(508600001)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Qk8vRDdSY2h0eTdwaVp4WXpmUkxXdndwdlJBaVNUZStIbUUzMndYdkpxVjdE?=
 =?utf-8?B?ZEtvODRCR0FPOWZHSkVEbkx3c2w3L3RZNzZIMENiSWxwY1p2V0xCM1JvVEJo?=
 =?utf-8?B?VFpjT085TS9TM2VMV0JIRDlJcmN3Wkloc3hZK25kKzNra1gxTkdzLy9oYWN0?=
 =?utf-8?B?N2pjREdsbWFBQmxScXlVT0oxRktlZkJYZ01yc1FJbGRpbDJlVWhwUXlJZllW?=
 =?utf-8?B?Nm9vWi9ucytseFYxdjZpTTltZk9TVmZIOG8wVG9QZTNEYXFQWVpyQ0ZRZzcr?=
 =?utf-8?B?YU1za3F5MTRSZ25jL2VQdUkzb3M4YkRsVkNEQVVvOFkydVhSR1RHMzFqcWMw?=
 =?utf-8?B?aXZpaGI3OVpMOThlMHEzckdRQXIxWHBxOWJXbDRQZ1REV3dwWlliU3pLV1Vz?=
 =?utf-8?B?U3B6amVSSGQyd0s1VU5pSXhhcXRVZ2hYWlAvQnRLL2czV05WckNvVVE5TGRz?=
 =?utf-8?B?Yk9KSzVjOEwxQmZaQTNwbG9VWHpwQXp0VVlXYmJ1c3F1KzhFTUFSaStUS2Ro?=
 =?utf-8?B?MWNZSURZUDlpSGUrcmFsb0s5L3YrZFJ1czdZVnN3MStQZ3hQMVgwN3kwbU9P?=
 =?utf-8?B?Rk1lZXhTZVlTOVJnUWd2QTNrNHVFdEErL3RWUE5YbE1NYlZjTkdLR0NaZEpI?=
 =?utf-8?B?YXdtVjJYMVRWN1JuLzkwaDFUYUUzcmczL0NIYUZ1YXo3N1RjUXJFWEptUGcz?=
 =?utf-8?B?VzlsbVR4d0hZOVdRS0xscTFWMjhIc3FUUGsydUVmNXdTVXFjeS9XUkthbi9W?=
 =?utf-8?B?ZG84Nkl4YjMwSDBwMHdyUjFhZWYzdDN0bWppelMxUWs2Y20zUFk3ZG51M0t4?=
 =?utf-8?B?MFVRcjhtdGxzTUQwRE9CSWFHcmExM1Q5ZnpsZ2o5ZllPNUpFN1NiZWdIcmJz?=
 =?utf-8?B?ZXFBZ1ludHphRkNFbU5mUjRtWDhYR0w3YmdmMytjUkU5clp5aHhRZS9lcHQr?=
 =?utf-8?B?elVDRGFZcXowbmtZWUxUb1BMU1pFZjB1K1RsSkdrOVhLRHVyN0ZLMGRTZ21R?=
 =?utf-8?B?c1ZhbHZ5aGk4UzRRaHVITTdWdlVXTXlVUitTSTIrQnU4eTArR043RWRQVzB3?=
 =?utf-8?B?WlV0WFBqZHNLWmUrWnNURlk1RjRjcWZ0aDZKY3BRVU5xek5ZTGRvODJzczJs?=
 =?utf-8?B?RERCeWtDa0Y4cW1JSEV2bkM5Ym5BQWJVSDhRSGVTR0pzRDRPeXN5VzlFZWpW?=
 =?utf-8?B?VkdmZ0kvTFhCcURzeUJReDJ5SG9DY1NEUGEwSXU5elZ6Sk1rZ01iWDlkVXE5?=
 =?utf-8?B?ZmxQbDJJY1ByOVpSTExYellCcmpYMUNOb2I0SWhIakM3VVhZMlFKOW05L0Vl?=
 =?utf-8?B?OE43c1RXMkVrak1LZE5GcGdqWXlwSDBXMEY5azF2dUUyWFVLSjRYNFJ2Rnpo?=
 =?utf-8?B?QlZ6eW1TZlFVamdBT0xhTCtxOStIMkVKb2R1ZExHTjRGckZzZUM2Sm5XQWdo?=
 =?utf-8?B?SlVjUXZndUc5bW50YU50STJaVVJpMm5XQ1o1Z0VNSjFLUGE1YjVvS0RuVDBs?=
 =?utf-8?B?NU5NMk5HVnpPbDIrQkpDd0xSd3lVRFJOWVp0Q0tUODZWSmtIS3lndHZpRFUw?=
 =?utf-8?B?RS9EYnkwQ3lzMkpRcHVEemF5NmZPbVRyV2ZSQ1VaMmpFdVZhM1llWkhYcFRi?=
 =?utf-8?B?T3U0UDVqaDZhWUs2dUNsK2VqbkRYQTJDNTM3bkNIYWJERTZFbUN0Y0pIN2FG?=
 =?utf-8?B?VzhVQnFaanpnSU04WlA4YWFoTmNuODVuem5tVDc3RXJmZTkyb2xEdWNJb1Zh?=
 =?utf-8?B?eHhSQkUvYW03RkppZ0RUU3hKQzhkOFozMDBacFF5VXVQeTYwbk00OGlFYmZs?=
 =?utf-8?B?bkpUU3AvSXdnWXFBYmt6ajRibTJZNmZrTXMrYmRqdUVtRnlkbGtDKzU3UzRG?=
 =?utf-8?B?a1dNTEkyMjVFNVdibUsxQTRtN0lHck1WMHUrM1hiQWxKVkw4bVlKYmhYbUN1?=
 =?utf-8?B?S3VHSDU5bHMyL3JkOW9vYUJJTC8waFkrNjYwNjB4b3hhd3N6NG92bVcwZmFv?=
 =?utf-8?B?amtDalpOWVVZL3kwV0Q5MmliYTQwSE92VEtaR3k4c2greERkUVowemx4ODBB?=
 =?utf-8?B?THkrSk9RNTF6a0k3VXBvU0V2MktCZHZub1lUcWZWeThEZ01mZGZnRk9wWkpi?=
 =?utf-8?B?U1haWll6NEU5TDdrS3lRdldpcEdRR1M5YVJpd0NsQ3ZZNmc3TUh5ZU9Edmt4?=
 =?utf-8?Q?N2qWMMHET5TO/Vc/CdeBiQ8=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0e571ea9-8968-451d-8041-08d9dc1f4b55
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2022 14:15:21.7376
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1pMzty5e7gKfDFYwSRVxT2B1ticxKbYuoSByBg7gp0g74Hb3cpEXSx42KLeec29YAIKFOwBZ54G/zdTL+FyPMw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4192

1: Sapphire Rapids Xeons also support PPIN
2: use CPUID bit to determine PPIN availability

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 20 14:16:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 14:16:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259084.446868 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAYF1-0001qe-OR; Thu, 20 Jan 2022 14:16:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259084.446868; Thu, 20 Jan 2022 14:16: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 1nAYF1-0001qX-LI; Thu, 20 Jan 2022 14:16:43 +0000
Received: by outflank-mailman (input) for mailman id 259084;
 Thu, 20 Jan 2022 14:16:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YGoM=SE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nAYF0-0001qR-7H
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 14:16:42 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9675d046-79fb-11ec-8fa7-f31e035a9116;
 Thu, 20 Jan 2022 15:16:41 +0100 (CET)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2107.outbound.protection.outlook.com [104.47.17.107]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-39-ffoycnpLNzi9iczhDmV1hw-1; Thu, 20 Jan 2022 15:16:39 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DB8PR04MB5786.eurprd04.prod.outlook.com (2603:10a6:10:a8::31) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Thu, 20 Jan
 2022 14:16:37 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.010; Thu, 20 Jan 2022
 14:16:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9675d046-79fb-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642688200;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=oEVB2y/I9AJv59oC5zCnIj1lphgp7QzAQDw4BT4hvyk=;
	b=UrDwfH4S3j765wkV0gxCmKE85SVB6UGUnzI8rgcC3NG+ZVMJjawqWyemS/1NJep2oDrrtl
	bczuwtxORhfW4fCgEoCnvz/bLJWjQN1IEItq1AKlJxAYFfIt69FKQZvEO5n0vCzIZPh5Pm
	ENDTwhD2vN1PboBUdIsF557NISx0/7c=
X-MC-Unique: ffoycnpLNzi9iczhDmV1hw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AcVhkpTDaC0R7RzKOEiuOZSFjifH29kVY+4EElnXEhj43OxirVrd6MYjAAMp3AsA/8FcUSbenEuvWCbkLZVWDx8XCnr66GkiZc9YJXByLpSQXSwSAbtQqg/Rn/cmS/5LjPX3HQXwJeNNq/ESJkphqEz6Gd8hr4OGuYbshkql2nz76+OypU2/gefEvDUb/CNeYSt87jMoXNBfMUM5P37Y0u8cLdiFPG2yjxMskCBGl4f2FK2rjHjucABZtg5GV3DpLssI7wQrggpilM1JMvbEC0mxkyaZ4hW0C8P3qLFSDA+GEa1uQaChrVvPyB9VxgBnHNuZ0zPCZB1rfKgCLzrcnQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oEVB2y/I9AJv59oC5zCnIj1lphgp7QzAQDw4BT4hvyk=;
 b=C1Cge6HrMNd776vL2MgZIWKIj141aCvz5i1GqOvIBe9oD0rfdGSInOzFDACxdh5woB9GxCcTm4bMTrFFh24LNoVL2ujyJ1HWuwn+qfXN/fkzYorpupnuQelLecdbGkijrQksgrX8Ed5pa1IswWHUr5F4zsB3SunUfl9S1JVKlLsrGpMWbYvEnCwqXaeXgM3gcENEwCEw/9uc13iY5jl3KS53dRfdY2vEMUHrqNL2k81rJvbRbQeWLLkwtw90s0Qa0/bMaxqEIgjYKG1xti4xKNNDsW5dej7XNsv/qhMn5hyvRfPZnq42JJUt9wa3L+9550qfMcbBAwlYYFChOdVVpQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0a8981c6-b3fe-c805-f45b-b6da5d0aa1af@suse.com>
Date: Thu, 20 Jan 2022 15:16:35 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: [PATCH v2 1/2] x86/Intel: Sapphire Rapids Xeons also support PPIN
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <64a5a3ac-8f4c-b13d-0b7d-4c4ec15e2721@suse.com>
In-Reply-To: <64a5a3ac-8f4c-b13d-0b7d-4c4ec15e2721@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR04CA0089.eurprd04.prod.outlook.com
 (2603:10a6:20b:313::34) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3cdd0f45-f61a-4330-3176-08d9dc1f7863
X-MS-TrafficTypeDiagnostic: DB8PR04MB5786:EE_
X-Microsoft-Antispam-PRVS:
	<DB8PR04MB57866D41D225657371E52509B35A9@DB8PR04MB5786.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:
	xZsc9yQIooaxZjUyJhDZV9FjCtruv32MHwuF80CactK64pyKDdYw9M3vIyCFeQz+oRCveAsdzSuedWt3LEfrtNKUOJL7xoTo/Rnv1XAzlps190eTohcZvR7+nGU4VRb6+bIjPlpSwdtjBQaAK70cnMzL9NZ1deSDt0fJ/cUFGK0E9H2HZus+CdFun6cewNKFhO+CxQHmW7MiDwNtF6NqHvVQCJNH9lHhpqFrxLB5F5sX3ug1TB8u4+7tl3eEBKPHH5OOck29DD9CU2JNkz+m39c5h7rv+0n/TOzc9ybhyr2pfOSGz3WAc8X2ipx2yIxZPWY538GD9rKw2Fr/qNLrmuxnflu5mGpqsHYYeYiOv7XKecKKMvExP7SW2KoHidoDkHsoZ0vKA5QnaVF2mjafFXPeSOzLtd/auc+lUdGx3SACCZgSPQM71XB68/bNZNJBxZ1JytlpnxsMbWHXAO3ObFT4NwRFOr7L7tn7VCPsGzZI1IDwKRQmaNm2q+cVDejI768BuQikncXX+IuQSO6d9sp1x4KgUBfPGbgs5bspRspfnvhhMyvgIL2rmCkVXHiv1bG3G3JzaVi0gDHXeTu3+UkrkGveL+pGbJdyN7OsL1PjKXkoK9YN0EYjRSPUJuAsBwM1VA8GnPPpFeC4eu7uNBdx8KAhjrMF/sDUnQry55WOGTTDazil6vEqmt+ifUfJ+xi0uawmtmky1+90UHBOiC3ETLJvwCTNV3mB9vs0XpfuOENkNZ7YRx2gI88q9kFK
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)(5660300002)(2906002)(66556008)(2616005)(66476007)(6486002)(38100700002)(26005)(6916009)(186003)(86362001)(4326008)(6506007)(36756003)(66946007)(31696002)(316002)(8936002)(31686004)(8676002)(508600001)(6512007)(4744005)(54906003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cW83ek9xN3Y1akFWZ3VPVlBEL0hyditjSGNNU29TYmYvMTBYaXhPdS8xV29z?=
 =?utf-8?B?TVRleHdvYWo1V05rbzJKNkZwSFF1d1YvdEh4UzI4Mm1MNHZIVnhSc3pVNjUw?=
 =?utf-8?B?NlBTRFdXTlNybUNINHNlb0hPdk9mQ05nVDI1NThhR1RFZkFKbWgzQkFWdkpG?=
 =?utf-8?B?TnR5T2dxVUFDZVR3aFc2MTNXcXRzWVBaZ2cxZjJuVkIrNzlPcWlXdmJmc2I4?=
 =?utf-8?B?UC9VcWxHTTFWMTc0U2ppc3oveGpORXFXWFlXVGxUQU81RHdGbTlDZCsxVG9p?=
 =?utf-8?B?UXE0Zm5NOG1kNjR2VEFudWZUNmxzcld4NEJuek9WSytQcG9MM2dCMWJxVGFS?=
 =?utf-8?B?T3M5VmZYaXhqRXNrQld2WFBWOUNJcm51Mk8vaC9zeTE1a3BKOHhUMjlzd1Zy?=
 =?utf-8?B?emROU3ZkeFVldTBQMGFiVUZEcjJWTitLMmQyWlRMTVNwdFI3dGUybHg4ejdB?=
 =?utf-8?B?UTE4M3Vqc1NsSDJZZXVOaGdPTVhYVnVVUXRwUUVlblcxd1hCQUFiRjRiQUlo?=
 =?utf-8?B?S3Y4TXg5YVE0UEtieWJjMXhsQXZORmVpbHJHT0pNR1NrSWpQQVdxZi9rdlUx?=
 =?utf-8?B?dzQwTWlYeC9CL2NvaSs3MUE5SkNkWFJhRXdFb0RaUkhsbHp2WFZUR0pUVHND?=
 =?utf-8?B?c1k2MU9UdlpyVnJxZzNvdXdZUDVyQ0I5czZ0SHN3Wnd3a1hGZ2RTYXc1dEZW?=
 =?utf-8?B?eU5DMHRScGFZcktnTWtDdnEwK1VxOTZOS1FRd3pNRHFnRFlwVVJRM1dYUVlL?=
 =?utf-8?B?UFFwdkgyU01uZ3pSR0lacStNVkpYcGFqSUxEbXZ5TmFZY01pWDhQdzg5Rzc4?=
 =?utf-8?B?SDN0MHMvOU00K002Z1J1cEFIMmVSSTYxK2hwOWJ5ZGpDVzAyaXNOZStCUmJB?=
 =?utf-8?B?UnNZbXo1TEl6bHVkdXZtSkpCVTkvUEJkWWwrSlV1bFlLcFBPK1d5RERoUHAy?=
 =?utf-8?B?b0gxM0R6ZFdacEZjYTM2Q0UvWjRJY041TmdDTWhzUGpPOForbGNRV251eVV1?=
 =?utf-8?B?Q1VoaUtnMGQ3TjVQc1p6WkhNZ3lCbyt6aWJkNU9RZzhMTThtYXBoV0tRdkxp?=
 =?utf-8?B?US9mbW5KaXAxMzZaYTZNUU9adW8wZDgzYi9xY0xNenNTV2lkT1ZPKzlnNXAz?=
 =?utf-8?B?MVltUFpTSTM3TXVjbTlTcWxTWHRpeG5YRmRwZzBHa2ozeTlQc1U5MGhzTGpk?=
 =?utf-8?B?bm5RbFUvSlBOL0M0dWZxRTBNc0lvbDNSbW1tbERvNTZLRTRBZHk3TmxKdjFi?=
 =?utf-8?B?TnEzcU9jZUttcStEWXg1SFRxTDNidi9DTXhNODFZREVaN0U1R0ZCbGxWWE82?=
 =?utf-8?B?NU54d0M5ZHlwKytZTzRIMzVBMk5paEFzaVZNb2VhU0dEaGw0UGt2SHIwMG9p?=
 =?utf-8?B?Z0ZXNHZRRExic3pKUDRITG5YN21jV1ZWS0J5VERFdlZlZTg0SnFNaS82bDlE?=
 =?utf-8?B?TVpLWUpMcENBdVRWWUhweUdMclRJNjJjMEczMVBtNGpUUWtGME0vaXhEVmlF?=
 =?utf-8?B?QVFKdUlSR1ZNbTlDa2t2UjZVNitxdFZrNkY3YTJuTVJzbEM2c1JGakd0bkNh?=
 =?utf-8?B?clBnYU9UVEU5UFY2UDZ3MHRFQlRIM3g1eHVWYUJGVy9wMDdCdmt0SkdlRkRP?=
 =?utf-8?B?SnZHSnFQQTU2UFNMZXBiUjFobndBZDRNZkhxemtKQkFmN08zTzViMWd4cUps?=
 =?utf-8?B?ZmVZOGR6bUgvQUxZV0xDR0FUZlgyZktnTzVNRXdzK1N3eG1ER3dsYmVROURW?=
 =?utf-8?B?NEpzNkVlbW40ellFWWlaY3FpdGlEa1o3c1NPbzFTKzBORHpzVkxUb05BVXdt?=
 =?utf-8?B?YXRUQXJWSmgvcUx2RC9TWDVOZnFMYlkyc3BZd1RmMytvUnhjTXJSZThVVURI?=
 =?utf-8?B?b2x0WkNxVGZ1V2xUY3dYa2o3dlRwTmNWRWdDQUZPK0ppbExUVG9jSXFzeEhT?=
 =?utf-8?B?cU0yM29WZ1lUZXN2QTRwNjJnWXVTWXJNWWduamdIaDlpaHhMQzlmOCtEQmZL?=
 =?utf-8?B?RWoySllUN1J3WXRybVFodStMQklqdUxYQUQ4bWNjcTZBOFFTbWRQL2JoVm9r?=
 =?utf-8?B?RkFKbjdJRmdmaFFtSWJqRmNTNXdqTFpkdVZnSlRNTFF4Q24wdGdPR3JQc3Iy?=
 =?utf-8?B?Uzh6a0MzQWc2V2hnZEhpYWJmMitlcmVwb0RYTjJ6a0dXaVJIcEpYMHdGMnlx?=
 =?utf-8?Q?VKkbyO8UfcOGxkwwifsMLMs=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3cdd0f45-f61a-4330-3176-08d9dc1f7863
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2022 14:16:37.3058
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5CODEykEDIPB5rmbbKQ8fAyUxN2ghU+nT9zSDooIVA1AEjrPxS2DIBsdY+SVf8dtzTRTRuG2rkMGi8XrQxniig==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB5786

This is as per Linux commit a331f5fdd36d ("x86/mce: Add Xeon Sapphire
Rapids to list of CPUs that support PPIN") just in case a subsequent
change making use of the respective new CPUID bit doesn't cover this
model.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
It is unclear to me whether this change is actually made obsolete by the
subsequent one adding support for the respective new CPUID bit.

It also continues to be unclear for which CPU models, if any, the
PPIN_CAP bit in PLATFORM_INFO could be used in favor of a model check.
---
v2: New.

--- a/xen/arch/x86/cpu/mcheck/mce_intel.c
+++ b/xen/arch/x86/cpu/mcheck/mce_intel.c
@@ -873,6 +873,7 @@ static void intel_init_ppin(const struct
     case 0x57: /* Knights Landing */
     case 0x6a: /* Icelake X */
     case 0x85: /* Knights Mill */
+    case 0x8f: /* Sapphire Rapids X */
 
         if ( (c != &boot_cpu_data && !ppin_msr) ||
              rdmsr_safe(MSR_PPIN_CTL, val) )



From xen-devel-bounces@lists.xenproject.org Thu Jan 20 14:17:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 14:17:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259086.446879 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAYFd-0002QW-21; Thu, 20 Jan 2022 14:17:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259086.446879; Thu, 20 Jan 2022 14: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 1nAYFc-0002QP-V6; Thu, 20 Jan 2022 14:17:20 +0000
Received: by outflank-mailman (input) for mailman id 259086;
 Thu, 20 Jan 2022 14:17:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YGoM=SE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nAYFa-0002D7-VI
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 14:17:19 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ac96892d-79fb-11ec-bc18-3156f6d857e4;
 Thu, 20 Jan 2022 15:17:18 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2106.outbound.protection.outlook.com [104.47.18.106]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-33-OCKKYu1mNK6pDA7MmKA6aA-1; Thu, 20 Jan 2022 15:17:16 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DB8PR04MB5786.eurprd04.prod.outlook.com (2603:10a6:10:a8::31) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Thu, 20 Jan
 2022 14:17:15 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.010; Thu, 20 Jan 2022
 14:17:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ac96892d-79fb-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642688238;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=hSoDsIzAqt0gE1mEnXjo3VJvwAW5xapG8X8G07FEs6o=;
	b=O3meA6GNUdnZlLP+l9E9TdA3lkPMyxMU+6BF51XokmBemzvlpFcJ2sB0cmL/ZCenSYOhPL
	xKF447NTkS71iWWhW2+BLhx6zhpmH9K5SE97aJS3Iy2wH8Perq/CIzlQRO9jt6VIQc0yxv
	Lo+5j/Rm5vb7tItYc7QuBbrELE+xBHY=
X-MC-Unique: OCKKYu1mNK6pDA7MmKA6aA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EhaZRN4PgvEwDLqjG69f0f2kRpglF7UMB/jeq+5KLexr7CV4Yot/6RzrPY3RWj6LbKbWuphyFiEk2lefjniYwFjL+4s3SMbFg6e/feiVd2Y1/suR8MrR4kEjPNoa/oW/ZgrEuCW0ZZ0+O2MreLBeV3vi4LoX2H8NhGP8Y0FiGknX2T65CDZKcvXLmf0UXiEUA1PWZgSu9Le4wwqt0lftA2YiCthxMIzRn+VPzgI27dr2kyNEc2Cl14F/yaEwoFMcA6ip+r/FbpvujUcFAm7DtVi/ObyvlPhssG28IOaEKtw8vxw5dp04QOgAkKYTYM2ikzKOnrE8yHgy3mE86g2wlA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hSoDsIzAqt0gE1mEnXjo3VJvwAW5xapG8X8G07FEs6o=;
 b=Kmvh2grLHHBIkwRB/hU8EX03D2nNq4giv/1etiXR1jBb6hEwhj8QPeGIPduf3hWLMrVRnaIW+YWhTtuBG0Acfm6eoJ0k73RB2K+WxnyxazqGQoKh8w8JN3E7Vho0EA8YuBuB7SIzLRaatglH0gC4SzgiBaePi99LxdOAQy54FaCcXXUDuq/PPKL81jJ7kLtI3zKbQJ2AmE/sUXXTZJ/1K2U4O588TP82Zj3xghzxbnsbF3IhGpC9096Amgxrh0uTdWdDs9TZVIeKnNM3hd9J2JB+09mL3Vk+6yHed0GmtnpWbdzgEbxs4ONDxCCONbXtY5WUziIlwYiQ2yM8BrJPxg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2d13a663-f03e-b1e2-0c38-5dc3282dab10@suse.com>
Date: Thu, 20 Jan 2022 15:17:14 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: [PATCH v2 2/2] x86/Intel: use CPUID bit to determine PPIN
 availability
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <64a5a3ac-8f4c-b13d-0b7d-4c4ec15e2721@suse.com>
In-Reply-To: <64a5a3ac-8f4c-b13d-0b7d-4c4ec15e2721@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR04CA0083.eurprd04.prod.outlook.com
 (2603:10a6:20b:313::28) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ba4bfa96-a676-4be1-5f1b-08d9dc1f8f3e
X-MS-TrafficTypeDiagnostic: DB8PR04MB5786:EE_
X-Microsoft-Antispam-PRVS:
	<DB8PR04MB5786A7C778F684B6B5294D45B35A9@DB8PR04MB5786.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:
	Jo2SHIa2j+Mr/2iaBZCu7Rvo7cu9km0+tdrUFRIhgDoXgqpTKAgpOsywudEcnGjpCUFY/GkULNlnBLj7iC7nWBglG4ZVhVl16NqwXD8VQhWGg2LUeT+dE9iyihgb9pp4eGxMqThix96Gc1ipp1Np+raOQDRN/v5vtJzTHmHwI2FatL65PoKSapltO8CQoXnREzXL5ODGBdWPfe3irn/CtoZG00m3avZ2tz+sthPO4xB124iqipJnrBbBIlnm3AL/SUp+gsE9LVKSzu9Ii7upwPJWFND9aK9YLQIuuIpJrnw9I6SnLOBYPLbl7MmSiEiHZVKl6zF/4GqJZL1a3rIrMA+TpuzRwe/+BUwY6U/gKrwK58U51rYdAC/HpIcSqe09mZvOJ9LJtjHGjAei3vz1RC2ruaV3SA6LiBNC5SVQdInLP533CqR/QE2RJklPu9wKeSJ6iMqzoI7IsRUIj7jNe0GLszUKqoPplNUQncCfcRB8GI4i96HADEsVB4CxTkqyCCIKq4j8ykxvMGRZADCKkzgEn7sjSPka6Tz/Yy0UDs+Wa0b4wArTD+XgMVn/Sn61XPJf/r0gKsjhaiEkq90BsQ8fPOWds5kIDUyp4rjYuYHC75PiNdnK32ZztXqc7pIePVXPivmAVBbTjwqJjXPmL2NxWBZ8Sb6BulUyEfvtGJwRQVLIqbKn+8EeYhny53RhRsnafzDc6/3a1d83EMPFq0ZVJjiCZQ2IoAdpNWaBzk9g66D8YtbRfnkK23L9sw74
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)(5660300002)(2906002)(66556008)(2616005)(66476007)(6486002)(38100700002)(26005)(6916009)(83380400001)(186003)(86362001)(4326008)(6506007)(36756003)(66946007)(31696002)(316002)(8936002)(31686004)(8676002)(508600001)(6512007)(54906003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZTJSdjRXNGYxemR0ZXpIdTZLNGZOT1F5RE9aSTZsakFJQkw2NXdPekhjZnRM?=
 =?utf-8?B?SjMyV1BYYzJTcXd6bjY5SGQ2S0VpMG9vSGdJY2gzaXQwQUlvV0g2V3pLNk5V?=
 =?utf-8?B?Z2taak1PTjVFeFpYbmhQS2wweGRLeXpEcGZXVDdRRnpOWWxKRklHV3JmbE9F?=
 =?utf-8?B?cGduRklCQVZMUCtFendFMFBVNGtBbjhtS1Bjb2EwcnVhdWtkT0ZaK2xnR2tt?=
 =?utf-8?B?NlJ5aUpMQklkUFJVc0xOMjc0U0JPU1djK1U2b2FVOUtWWHZjY0xiN2RvTGY1?=
 =?utf-8?B?bGdGS2ZnazlWYnltcEsvMnNjOWtjNGsxVFhWdWR1bmxZR1BiTDZNUS9Rcjly?=
 =?utf-8?B?Z2YwY3dFdkcvVkpkblY4WExnMW4rVElRMkJwTFlWSGkrenJsdi84cHhFTGl6?=
 =?utf-8?B?VENESjFHZEhtT0toUmZ5Z0ozcnZmSEwrd0pqdmhvSE9XTzh6UFpPRkFwM0dp?=
 =?utf-8?B?MndxYmJQeE51djZyL2RIblIvYkNrbHp6SHp5SEdnQ1VyOGNyWkNwY1BZTXJY?=
 =?utf-8?B?L1F5enNOTXN0SEx2TW9YUmZFWmc4QWs1R1FYWklibUFHRVA2THd3L1JtNzVx?=
 =?utf-8?B?RUtlcjYvVkZocFlXc2YzVm9lTHNpOTFCdm14QktJa25IVHJyWDlzcUsxWnZz?=
 =?utf-8?B?OE52Nk9NTE9ETzlVZTBRMFhiK0IvSzZQSHBFLzVBMHlpMjVEeHpZQWowWUJZ?=
 =?utf-8?B?K0JzTlhzRytTWGhtN2tkYUFVUFQvMzdPOUVWOGpRK2pBZVBwK2gwTTdjZEti?=
 =?utf-8?B?U3RmS1laM04rUXMyZmQzcEZJRGMrYjFMNUxwYTVQck5tR09FajRMd0wwWmE1?=
 =?utf-8?B?Sng0Q0FWZ1VyRGJaRGVSakprV2owMVZQMnM2YVRsTWZHNlJlMTdFUW1qZVRD?=
 =?utf-8?B?cmg0dVh1dHQ5RGduVTFJN2UvQ3RCWE1iU25DZjNOdm5SRVZ4VDB1T2RCVkJu?=
 =?utf-8?B?Y0MwM3JzZEN1MnkvNTB6bjVkYkRPVzg5ZWpoekgwZktqWDgxMnNPUGpGT2NB?=
 =?utf-8?B?WEV5Zzh4dWlwMWQ4MGhwUHRXMXpFc0ZhdzFCS3hJdVQzNCtyd2pGMFphNTVD?=
 =?utf-8?B?UExPekZEM255ZldKMVE1bUZxQm0rSlRtNHBidHNnNTBEekRJSGhHUmZiT21O?=
 =?utf-8?B?S2dxSWlFYk1YcGxoSUNsSFMvTTMvcmFjanNab2V1NzI5SDllV0lVODUrM2R6?=
 =?utf-8?B?UG1DaElxQ3RNcy8vc3NxUlBSTGlMbXMrbHFubmhRdWVtbEhxdkFwdG1jZmVz?=
 =?utf-8?B?OHNwTndrUkRpbEdYdHR2aERacnp2SjVCUitkVWt1c3hQditRaEtHVUoxa0NL?=
 =?utf-8?B?Y2tPdFBNb1E5aCt0cGdRLzBwSTVBeVpVS00wQU1QTU8rRVYwTityQkpybkww?=
 =?utf-8?B?TzB0TGhPU3JZRXJLSi9nNmNIdFVlT1FkMHB1NUx2b3hOTUlQUUFSb3FCUElH?=
 =?utf-8?B?cWlSTVZCN0ZRSXlycUg0MXNtc2daeVhUVTZ6NVFnbFJvRkxPSWpMaDA1Z3NK?=
 =?utf-8?B?dEp2emExdVc0MEczOTJvZmNqa21oMHV5Mk9pR0dIb1F0NDZjYzZqODJSaDgy?=
 =?utf-8?B?eWhZRFhnRUNSZ1AxM3k4aEFpRVZSOHlLUU5RTmY2OWJVcExrcExVRGVoTkpq?=
 =?utf-8?B?M3ZjWFhFWXloM0drN1pwRmJtT3VoVVNzc2ZTRGF2Rlpyai9ZZmMvZHRNUllW?=
 =?utf-8?B?cnh3TjI3dm5ZLzdYN2svZm9TSTVNQ05NSnNHMmViNjVNYkdjVDE5YURMNklv?=
 =?utf-8?B?Vy9hMkVZWlRNK2VGZWJWcUNlMERaWng0UlZZSFIzNWpFclNOU01ycWh1ZG1V?=
 =?utf-8?B?bGRaZEt3bGJpdjRGVU05QnJLN2FnZnR3bitncEpxdEJCcDNoWTRaQWtVaWdm?=
 =?utf-8?B?VE1LcVgyN3IvMjRyNXBBYXY4QTkrNHdicEhBYTdLaDRCREpoUkhCcG1IM2Zw?=
 =?utf-8?B?VDR6bjdPZHFqRHBFYUE1RFhsOEZ1SWViVytaT2xpZHhlRFZJSTlOS1l2MFRm?=
 =?utf-8?B?aHZ5RkhhSTVlWllneHlNUnVWcjFVRkR3VHlaM3BsZVNIT2NIMk85UzJZYkJO?=
 =?utf-8?B?aTBjL1BWRjlkQTBTcDJqcmxPWFE3WjZDdDNYV2JMTE9YSHRYTWQxV2JPMmVF?=
 =?utf-8?B?VVNWQXBzZkxXbHIrU2xCOFduUUlIMTE0djFDOUc0TG1KczBWZjdxbzZKSk5V?=
 =?utf-8?Q?mNoXIzpZE8D5E+Lm1PnEGLw=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ba4bfa96-a676-4be1-5f1b-08d9dc1f8f3e
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2022 14:17:15.6321
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: B5EytEB/N5yy7D60KSCBBZtbkI/x3sHGcKT3Q/S+Ev22LsY/5Zpwc8rFxm/VQIpudmVCx1+D0m7jH3A3kX9xwQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB5786

As of SDM revision 076 there is a CPUID bit for this functionality. Use
it to amend the existing model-based logic.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
It continues to be unclear for which CPU models, if any, the PPIN_CAP
bit in PLATFORM_INFO could be used in favor of a model check.
---
v2: Don't rename AMD's identifier in xen-cpuid.c. Name Intel's just
    "ppin" as well. Move str_7b1[]. Update a comment.

--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -195,6 +195,11 @@ static const char *const str_e21a[32] =
     [ 6] = "nscb",
 };
 
+static const char *const str_7b1[32] =
+{
+    [ 0] = "ppin",
+};
+
 static const struct {
     const char *name;
     const char *abbr;
@@ -213,6 +218,7 @@ static const struct {
     { "0x00000007:0.edx", "7d0", str_7d0 },
     { "0x00000007:1.eax", "7a1", str_7a1 },
     { "0x80000021.eax",  "e21a", str_e21a },
+    { "0x00000007:1.ebx", "7b1", str_7b1 },
 };
 
 #define COL_ALIGN "18"
--- a/xen/arch/x86/cpu/mcheck/mce_intel.c
+++ b/xen/arch/x86/cpu/mcheck/mce_intel.c
@@ -859,12 +859,20 @@ static void intel_init_ppin(const struct
     /*
      * Even if testing the presence of the MSR would be enough, we don't
      * want to risk the situation where other models reuse this MSR for
-     * other purposes.
+     * other purposes.  Despite the late addition of a CPUID bit (rendering
+     * the MSR architectural), keep using the same detection logic there.
      */
     switch ( c->x86_model )
     {
         uint64_t val;
 
+    default:
+        if ( !cpu_has(c, X86_FEATURE_INTEL_PPIN) )
+        {
+            ppin_msr = 0;
+            return;
+        }
+        fallthrough;
     case 0x3e: /* IvyBridge X */
     case 0x3f: /* Haswell X */
     case 0x4f: /* Broadwell X */
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -299,6 +299,9 @@ XEN_CPUFEATURE(FSRCS,        10*32+12) /
 XEN_CPUFEATURE(LFENCE_DISPATCH,    11*32+ 2) /*A  LFENCE always serializing */
 XEN_CPUFEATURE(NSCB,               11*32+ 6) /*A  Null Selector Clears Base (and limit too) */
 
+/* Intel-defined CPU features, CPUID level 0x00000007:1.ebx, word 12 */
+XEN_CPUFEATURE(INTEL_PPIN,         12*32+ 0) /*   Protected Processor Inventory Number */
+
 #endif /* XEN_CPUFEATURE */
 
 /* Clean up from a default include.  Close the enum (for C). */
--- a/xen/include/xen/lib/x86/cpuid.h
+++ b/xen/include/xen/lib/x86/cpuid.h
@@ -16,6 +16,7 @@
 #define FEATURESET_7d0    9 /* 0x00000007:0.edx    */
 #define FEATURESET_7a1   10 /* 0x00000007:1.eax    */
 #define FEATURESET_e21a  11 /* 0x80000021.eax      */
+#define FEATURESET_7b1   12 /* 0x00000007:1.ebx    */
 
 struct cpuid_leaf
 {
@@ -188,6 +189,10 @@ struct cpuid_policy
                 uint32_t _7a1;
                 struct { DECL_BITFIELD(7a1); };
             };
+            union {
+                uint32_t _7b1;
+                struct { DECL_BITFIELD(7b1); };
+            };
         };
     } feat;
 



From xen-devel-bounces@lists.xenproject.org Thu Jan 20 14:32:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 14:32:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259091.446889 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAYU4-0004t9-GK; Thu, 20 Jan 2022 14:32:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259091.446889; Thu, 20 Jan 2022 14:32:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAYU4-0004t2-DL; Thu, 20 Jan 2022 14:32:16 +0000
Received: by outflank-mailman (input) for mailman id 259091;
 Thu, 20 Jan 2022 14:32:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zWAP=SE=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nAYU2-0004sw-FM
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 14:32:14 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bfab19ae-79fd-11ec-8fa7-f31e035a9116;
 Thu, 20 Jan 2022 15:32:12 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bfab19ae-79fd-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642689131;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=KW1vkXsgGlxZBEpz3FYa63QvwSEVlxvRKDziZxVGsjI=;
  b=EGh1FpB6+hKV9x+WArdrh2I8xgKYuV1X6LHR1AMr26+9VU/DE/x6u16Z
   ngjnBQtY5nNOuzTRYQJe6k8EA/ILeLvR6N3yi54ABvqdVMzPyVZqWoZ/S
   ff/kbVMjalwg9K3PEKpxfvjabjNpxZCH5CR0vY2qHANk7pAhFoZBw5S6G
   E=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: VM1Cwskk+cHXUbJFKQr6G4icqkoH8Y79LJn22NSxnDf+4d3rgv8KgCxL/dAq7t6G33pX8C754m
 /IScoPkXGxsVEg/4pfs2yzBWJsaKVdjlvRL5AwvZ+BnpM3djWVEI7sR/ce5lKG9o+fBrRLoQ+M
 yUArdQ4+Gw6wkYlHEifQEaqrFJ3ZHfY276h6z7s3bmEUG1LtfKxMgsMWsZPjU5cNmaxIklO3Yq
 4eNCIhTrANkkXjfIEWcMuSqN3NSdPXXkH2YHpMRtR99A+0QM8uIpGpK2FwWlvx/a/yR/X5uk/t
 6xK3lAv/z8e4yqPQEcyo0l2+
X-SBRS: 5.2
X-MesageID: 62812233
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:B+/TbqzYDt8SXDFqy0R6t+fWwSrEfRIJ4+MujC+fZmUNrF6WrkVTz
 GNJWDyHM/yPazb0fosgaY2woU0O7cDUzNA3TlFlryAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnvopW1TYhSEUOZugH9IQM8aZfHAhLeNYYH1500g7wrRh2tQAbeWRWGthh
 /uj+6UzB3f9s9JEGjp8B3Wr8U4HUFza4Vv0j3RmDRx5lAa2e0o9VfrzEZqZPXrgKrS4K8bhL
 wr1IBNVyUuCl/slIovNfr8W6STmSJaKVeSFoiI+t6RPHnGuD8H9u0o2HKN0VKtZt9mGt8l/l
 vBfjpKXcBwwMq3+heEeUyZBMj4raMWq+JefSZS+mcmazkmAeHrw2fR+SkoxOOX0+M4uXzsIr
 6ZBbmlQMFbT3Ipaw5riIgVort4kI8TxepsWp1lrzC3DDOZgSpfGK0nPzYECjG5q3JsVdRrYT
 +M7NWtpQg/fWEZSNFBMCI5mvvbzhGaqJlW0r3rK/PFqsgA/1jdZz7zFINfTPNuQSq19jkue4
 27L4Wn9KhUbL8CEjyqI9Gq2ge3Clj+9X5gdfJW6/PN3hFyYxkQIFQYbE1C8pJGEZlWWAowFb
 RZOo2x38PZ0pBfDosTBswOQuXDamwwnVf1pCPQ26DOQz6nU3B+4GT1RJtJeU+AOuMgzTD0s8
 1aGmdL1GDBi2IGopWKhGqS89m3rZ3VMRYMWTWpdFFZevYG/yG0mpkuXFo4LLUKjsjHi9dgcK
 RiupTN2ubgchNVjO06TrQGe2GLESnQko2cICuTrsoCNslIRiG2NPdXABb3nARBodtrxor6p5
 ilspiRmxLpSZaxhbQTUKAn3IJmn5uyeLBrXikN1Ep8q+lyFoiD/J94Jv2EiehswYq7onAMFh
 meJ5Wu9A7cIZBOXgVJfOdrtW6zGM4C9fTgaahwkRoUXOcUgHON21CpveVSRzwjQfLsEyskC1
 WOgWZ/0Vx4yUP0/pBLvHrt1+eJ1mkgWmD2CLbimn0XP+efPPxa9FOZaWGZim8hktstoVi2Pr
 YYGXyZLoj0CONDDjt7/qN5KcgtSfCFlXPgbaaV/L4a+H+avI0l4Y9f5yrI9YY112aNTk+bD5
 HamXUFEjlH4gBX6xc+iMRiPsZvjAsRyq2wVJyspMQr60nQve9/3vqwea4E2bf8s8+k6lax4S
 PwMesOhBPVTS2uYp2RBPMel9IEyJg62gQ+uPja+ZGRtdZBXWAGUqMTveRHi9XdSA3Pv59c+u
 bCpyijSXYEHG1Z5FM/TZf/2lwGxsHERlfhcRUzNJtUPKkzg/JIzc376j+MtItFKIhLGn2PI2
 wGTCBYehO/Mv45qr4WZ2fHa99+kSrIsEFBbEm/X6aeNGRPbpmfzk5VdVOuofCzGUD+m8quVe
 ugIner3N+cKnQgWvtMkQapr1683+/Dmu6ReklZ/BHzOYlmmVuFgL32B0ZUdv6FB3OYE6w6/W
 0bJ8dhGI7SZfsjiFQdJdgYia+2C09ASmyXTsqtpcBmruncv8erVS1hWMjmNlDdZfel8P44Sy
 Os8vNIbtl6kgR0wP9fa1i1Z+gxg9JDbv3nLYn3CPLLWtw==
IronPort-HdrOrdr: A9a23:SjIh86Db/Ic1vjrlHeg0sceALOsnbusQ8zAXPh9KJiC9I/b1qy
 nxppkmPH/P6Qr4WBkb6Le90Y27MAnhHPlOkPQs1NaZLXLbUQ6TQr2KgrGSoQEIdxeOk9K1kJ
 0QD5SWa+eAfGSS7/yKmTVQeuxIqLLskNHKuQ6d9QYUcegDUdAf0+4TMHf8LqQZfngjOXJvf6
 Dsmfav6gDQMkg/X4CePD0oTuLDr9rEmNbPZgMHPQcu7E2rgSmz4LD3PhCE1lNGOgk/jIsKwC
 zgqUjU96+ju/a0xlv10HLS1Y1fnJ/ExsFYDMKBp8AJInHHixquZq5mR7qe1QpF6t2H2RIPqp
 3hsh0gN8N85zf4eXy0mwLk303a3DMn+xbZuCmlqEqmhfa8aCMxCsJHi44cWADe8VAcsNZ117
 8O936FtrJMZCmw0hjV1pztbVVHh0C0qX0tnao4lHpES7YTb7dXsMg24F5VKpEdByj3gbpXX9
 WGNPuspMq+TGnqLEww5gJUsZ6RtzUIb1u7q3E5y42oO2M8pgE986MarPZv6UvouqhND6Ws3N
 60QZiAoos+OvP+XZgNdNvpfvHHeFAlYSi8eV56cm6XXJ3uBRr22uvKCfMOlaaXRKA=
X-IronPort-AV: E=Sophos;i="5.88,302,1635220800"; 
   d="scan'208";a="62812233"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Y9gFcWQ6oSmNa6/mocjTd83oYsEtZ9PTLp60glHThpc6QrBXNyDWxiji+ISdrNwsXY3R0ImXtchj/Lm23Skbg9S5MtRLGLeFVy9Anh5wKk/jw8a+7wGr/p9JVGKuaQ8T5TN12lToivmuY4XAEtMJ3EaLQyht3w34lcyiWKAmFJv8eZBdAlJN/+Mjo5uiObh7C8U89DNkEThoRH/JfS2M+Kc2kOmTtIwCdcQFGEaOR7Wh+GbUpomTR4Sarfo85du7d0LF7XVuQDIveC1hkFhjuy+nDwiGlYpN5fBC0lX/nD9CrQi3vlOLg/9EcU8iLy5OWXPW8aaRdwLrEqkS1Djllw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=99GnAml1HbPgLm17okCDNUHxeMAoRnaLFCMcVsQ8Lj8=;
 b=Fdz8V1YS3KnNSgLERY+GcGy0IswLaEZb6UCoDMoAVatpGraNcmGSSrSzFdQ/zxUGbD07OpggEqAjZzuzOglmgDLwsYdaTDTzmxBTSP5kCvpfdQbWrO0SMqKxo+H8rAEUfsAdMRIkoY6ar5jaPosF5bHQPNdMdvE/E6YaiuBWdxHh0TlH+DSs4L2SyDVEk3QSjiN9I5/uCGvsEmGxndw/cwoiqHWfhJ9q6pcgyXXzkUip2M3bkfaRTZeEHuzQR6gxF6TteTv5+V/a1N/27kCRHx1E41P/fhu4HpCAK64xihDdC1NsLfsqw3VBaPUbIa3C02yqG6naTtm1wRyYm5S6PQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=99GnAml1HbPgLm17okCDNUHxeMAoRnaLFCMcVsQ8Lj8=;
 b=caMB3FC8SYaOJtHbVQWUUu9PcOQ2NHn9xMNb6aHyvQiRq5ZYVUV7DPEG8GhRs7ty6xqgmSiys9g6PvGjFsxoM2xjDKPSZtltoltXQFqNCiMp/rY5mrfo4XCybKGjIYlQadt9TZsoIkGXnSJsEzrNLMN7nvcjBw12HzKqTjKtyBc=
Date: Thu, 20 Jan 2022 15:31:59 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 1/5] x86/mwait-idle: stop exposing platform acronyms
Message-ID: <YelyX6N/vuPpsNiB@Air-de-Roger>
References: <568cb6dc-127a-9c8f-0073-2df173d4677b@suse.com>
 <39f83895-e01a-bfd8-708b-eedbb145d5fb@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <39f83895-e01a-bfd8-708b-eedbb145d5fb@suse.com>
X-ClientProxiedBy: MR2P264CA0180.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501::19)
 To DS7PR03MB5608.namprd03.prod.outlook.com (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 7c092a2e-b832-4137-783b-08d9dc21a1da
X-MS-TrafficTypeDiagnostic: MW4PR03MB6555:EE_
X-Microsoft-Antispam-PRVS: <MW4PR03MB6555183C23A88C75FA30F3908F5A9@MW4PR03MB6555.namprd03.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: MfeYDcMIv3Ei2GXJVK6VncAaeMuf4XgBSWACgI3TFkaurYzxfqhijg3cyy1xXlhrEnBIQ1zTUFNrF9yl0QdjNeOe6PN8emC0qE3Nk3IP6SM2fyEBeBkKt0e8xwE8NU9J+jz8FKYa/wcMN5HnD12AP5HNgHbtdaTIoZ4sFvhvELaItFX2qOKvsCPeTzc+QO4PLHrAhcbmSChUOS11bxqq3bZ1e0ZSMcOlB4EGv3sKu/SaYgvxYi4ef8FBplm3hQApTbhseRV+qnGbhA9zXc9zAhyEVQNutmRJhefDBfZi4lHm2a2zbRwGBX7NhWK37SL/m4OTrh10QzMGqYdwEvLqJYCHbxxTcpDheYwOU1ZJsESZoQVGFSbA/YUqUD96kLwV8+yhATykbnURxu3XW2YVGxYSJfAAOiTqt+mA26dYhxC6gl1ksN7KuP61bpfc0yVj8dxYokpMOejUdProoKu/zsF5AGTrelex3C233MM8TWiqARs6w6m+iP1xLsx2NFwAJ6xOfcUhwrTFrFgpzo+zWNQybJc+nsHfSJnSN9+TJQPpY79MC2U6m5ad9iuHARhWMG4PBKsu7UWaKb6HDX/e7moFOgbQmv6iPEsGEj+awqClt0dkLRLml57yNVXgbwrXJaURJ43qfl7VJu5mV+h7SQ==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(8676002)(6916009)(2906002)(6666004)(316002)(54906003)(5660300002)(4744005)(508600001)(186003)(33716001)(26005)(66556008)(66946007)(82960400001)(83380400001)(85182001)(8936002)(6506007)(4326008)(6486002)(6512007)(86362001)(66476007)(38100700002)(9686003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VWcyV1JEcjVZNHFCN2JUSUJ4NkxNVGlibkM5akF6OHJhN3dJMWxQanJrMnVR?=
 =?utf-8?B?Q3o5emtFMlRUSEVQZFpTYWtYZEJjN283YnNrSFI2K1B3Zm45a0tkazRXMnVm?=
 =?utf-8?B?UUh1SnorNWltOVczMXNxQ1NienpSK2lXaFFwb0tram5ISXdyVEcySTFRbEpo?=
 =?utf-8?B?MUFibll6ajlSbHJSNnFvUG1Tb1E3Zlo5djhKMGVvaDAzcTZMY1hhYkh0OWM5?=
 =?utf-8?B?ZG0wUEVwVWVMVG14SDdqYkxmRTBHeVJyZG82YUVWWlhKdjB4dXZsL09SRnVn?=
 =?utf-8?B?dW5tUFZQRlNmNm0zWE9SV3FrTFZMZjRKS1BnbjFKNEVpRVRNeGxsWVJNcjlk?=
 =?utf-8?B?VU5CVmU2VHEwUzdsTmRCWkRoTzkxanlreUM0N2R3bml5ZnNCUVo3N3Y0eGpE?=
 =?utf-8?B?NGJUMUZ6YUs3eW1GREtKRzRJbmR6WFBwWGl2MTRKRW1mYURFRVpOc1lQZmpN?=
 =?utf-8?B?elkwZGRjSnh4YktzWXpzTG8rS0kvdXpBRURXbk9rdi9GVG5ONzZXLzdLVGIv?=
 =?utf-8?B?aU1RajJKVE81UElJV3kvK2VPSkp6SUhuT2FGOFpHQ2YwMWRDSHpaZVdGZHYy?=
 =?utf-8?B?dTlRVmtSUFNkNnI0bHFvbUtPZmk5RFVUZWFsZTBxRldGWFhsNC9nVUlnMmZW?=
 =?utf-8?B?WW9QaytZME9XWEdic0RjeTVDRy9yQmpHbVorbXBwL1MxdWtoaUZyYkRWcEVE?=
 =?utf-8?B?dFkzL1hPcUlLaHIxODBrMnA1Yy9IVnNiUmlqcjZGMm9CSXVIU1F2a05BQ05W?=
 =?utf-8?B?empWdTVWSUtJR056Z1lBTTRNU1JjRysvYWRucWcwOGhsam5BL0NKYTBINHA1?=
 =?utf-8?B?b2NvUHFyRzNNTHpOSVBkcituTFMzZVhIblMybTJib285RkJTS2oyOGpuMWs2?=
 =?utf-8?B?RFdzMWJSemFudHhHcFNJYlp4V2RRalVTeXZlaGlWaVFUOC9KN05kc003cGZI?=
 =?utf-8?B?eGFXdUY5c0VnbXJZSUJvVVBqQlA4ZlVJUFhSdExOSnltTkpGa2hsNm9YdmFh?=
 =?utf-8?B?T01IdVJYVnhEbnh6Zzg2eTBIbjc5MUVYYkNCR1VHY1FvK3ErRDkwMW5KdDJK?=
 =?utf-8?B?WDdERElzYk01QmVLUWhSZVJ0aVJxaWM3M3NJMXdMTWt2ZEFEc2s1V0Z1MXI5?=
 =?utf-8?B?N01od0hoUFJneTQ5eGdKRE9sYVVMUGlKN1g5c0x4WjMrd004UFNJZXFXRTRz?=
 =?utf-8?B?UVJtQ0d5Y0NFVEkzcW1rMGZTNjc3MFhlKy94ekMyNnljYVd2OWI0Ymx6ajFh?=
 =?utf-8?B?ZFdSRDZ3WXh3YmRjRDhTTitXaTdUdmRvVWg0eVpaNGFyUFd1SU9MSGxQVm5v?=
 =?utf-8?B?YTMrM3hXV2V3a0tnVVNCZ0lQNjJCaWpiU1hvT0NKcVNNc1NOUlBQRDZGSExF?=
 =?utf-8?B?d0RhdmtoeW9jdTVxTmtlM1JJWHhxQk1oMVZhRzc5K3hYQjZGT0FybFRjUVFK?=
 =?utf-8?B?UVcwb3d2cS9XRjdFNU5KcUR6cmFJYkI0WmdMRkVuRGJJMG85RmZkeFJHNHJo?=
 =?utf-8?B?YUdaajJiaHY5ZXVSTVdPdkdMNnZIUVRDVnEzVzZNcHg3UmQ3RTljUzN0Nlgx?=
 =?utf-8?B?OHg1eTBrV1dQb21TQW5zUzV2dzhuM2o4aDFQTTROa1ZIV051VDJxekMwV1Vs?=
 =?utf-8?B?dzgxNW5oMXlId25GSmFhRk5YVHZlcWxNMWZuYXhNTkVwQUNBQTRsN1dCVFl0?=
 =?utf-8?B?dDJOZk82VTFJSUdWeXpWL08raldvWVcxT2VvY2hGaUxOeGYrR1N4Vm9HYVgw?=
 =?utf-8?B?Q09yMWRKbENhMzl6QzVQdlBaQzlCa3NHVlNwdUoreXl5RUc2SjMzcmx1alpR?=
 =?utf-8?B?VXVrWnBidWs1bFFDR2Fyc3Uva0VyZ0l2VlpBSk5qL3F0Y3ZUb0RtemVmK09N?=
 =?utf-8?B?cW9xbHREdVRQMWpVODJhZmZjTmJaMVg5Y0oxdlRnYysrUUIvaHB2K05ZWFhT?=
 =?utf-8?B?MzF4M0NhWGo2SzY0VWJLczJGT3lqSHhpRVlRTWJtMjNjNVFKQkhGU0R5a1Y4?=
 =?utf-8?B?ZlhDMEZuZmczWEw5eTZ1a3hheHhsNWFvenc1WThuUDl4MFN0cUIrRDMwcUFr?=
 =?utf-8?B?UnBia3d5eW5oaG5ISlJ3elBHNyt1MzFkM3h2MlV3OFZnK00wdS8rNFJ3M1Qr?=
 =?utf-8?B?cXVZSTRNK1g1T2ZqN3BBZ3RUU2FvYVo3ZUJGRFBXbXRrTmhHTEUxSUFEbmlW?=
 =?utf-8?Q?00u2a3Blt/aQsT1q5ivteas=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 7c092a2e-b832-4137-783b-08d9dc21a1da
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2022 14:32:05.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: KP18iX3VGjw3KOn2nFe22nxjv4AYk1WKP+JitNdQcH6oj24E5M1BqlFOx8LM92kKOLzU8syg/fsO0YrPiVsb7w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR03MB6555
X-OriginatorOrg: citrix.com

On Thu, Jan 20, 2022 at 03:01:45PM +0100, Jan Beulich wrote:
> This follows Linux commit de09cdd09fa1 ("intel_idle: stop exposing
> platform acronyms in sysfs"), but their main justifications (sysfs
> exposure and similarity with acpi-idle) don't apply to us. The field is
> only used in a single printk() right now, but having the platform tags
> there isn't useful either.
> 
> Requested-by: Roger Pau Monné <roger.pau@citrix.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Jan 20 14:36:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 14:36:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259094.446901 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAYYW-0005WQ-45; Thu, 20 Jan 2022 14:36:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259094.446901; Thu, 20 Jan 2022 14: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 1nAYYW-0005W2-0h; Thu, 20 Jan 2022 14:36:52 +0000
Received: by outflank-mailman (input) for mailman id 259094;
 Thu, 20 Jan 2022 14:36:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zWAP=SE=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nAYYV-0005Uv-98
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 14:36:51 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 65d1f4bb-79fe-11ec-bc18-3156f6d857e4;
 Thu, 20 Jan 2022 15:36:50 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 65d1f4bb-79fe-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642689409;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=g0mAIj/miRkXe2caaNAAPVIBGk7414vyJlyZ+Ry5c8w=;
  b=U3uOc1kyViPKyI/QUgYKZ/1EyZ/iNRFd4bbeSmOAYaJG9GXbA9p2Z2Ch
   hjcUD5r4feILRFd00basQZB/bkLwmmTBvKwogIJfEw4Q05wM2vcLUBmPW
   nv3n6h4C7j6BkHuatJc/FMU2jz16nTmnZdCI1fVkrZDL644INRr/UTiT6
   E=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: IPdmqKRIb6wZkvGOtwogmEURHx5OVdjDmZcQTie/T+Ulqe6wvdXOI8rvCxapY3sbqJw9Mox4t8
 eDEWezNfrf/Hs1QuBSxR7m6mqSzYlnFG6CPNSn023bQLSPwxeYE1C/K5CJa10hakPE6r+hDbqS
 OK/s1vNUbE0dfnhrxO+HgOu/Xr4e/inAyPQUNlUn+pHdzo0Gnah8+kABCk/l/J/HUBhMugYNmo
 aswt8tMWo1WVFZsqphNUvuVezqLaWMnO6SEpSfZzF1dDWSGhF7vdJFNpYYACR8inmwX+4jiiwF
 FxwmJB7g47SKfH5/jjWMGa0M
X-SBRS: 5.2
X-MesageID: 62812844
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:URVOB6y6GOOFO5RE8+p6t+fUwSrEfRIJ4+MujC+fZmUNrF6WrkUCx
 jccXjvTa//cambwKI0gPY3n9EpS6JWEm9JhSVBv+CAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnvopW1TYhSEUOZugH9IQM8aZfHAhLeNYYH1500g7wrRh2tQAbeWRWGthh
 /uj+6UzB3f9s9JEGjp8B3Wr8U4HUFza4Vv0j3RmDRx5lAa2e0o9VfrzEZqZPXrgKrS4K8bhL
 wr1IBNVyUuCl/slIovNfr8W6STmSJaKVeSFoiI+t6RPHnGuD8H9u0o2HKN0VKtZt9mGt9R81
 9VKjJO5cAF3brXMpt5GXSZAQi4raMWq+JefSZS+mcmazkmAeHrw2fR+SkoxOOX0+M4uXzsIr
 6ZBbmlQMFbT3Ipaw5riIgVort4kI8TxepsWp1lrzC3DDOZgSpfGK0nPzYECjG5q1pwSdRrYT
 5AUbx5odR7aWBpoYGwHJZMemeyGrHaqJlW0r3rK/PFqsgA/1jdZz7zFINfTPNuQSq19jkue4
 27L4Wn9KhUbL8CEjyqI9Gq2ge3Clj+9X5gdfJW6/PN3hFyYxkQIFQYbE1C8pJGEZlWWAowFb
 RZOo2x38PZ0pBfDosTBswOQpHObvhklVNNpFbNq8AGz8PHa3B7ICT1RJtJeU+AOuMgzTD0s8
 1aGmdL1GDBi2IGopWKhGqS89m3rZ3VMRYMWTWpdFFZevYG/yG0mpkuXFo4LLUKjsjHi9dgcK
 RiupTN2ubgchNVjO06TrQGe2GLESnQko2cICuTrsoCNslIRiG2NPdXABb3nARBodtrxor6p5
 ilspiRmxLpSZaxhbQTUKAn3IJmn5uyeLBrXikN1Ep8q+lyFoiD/J94Jv2EiehswYq7onAMFh
 meJ5Wu9A7cIZBOXgVJfOdrtW6zGM4C9fTgaahwkRoUXOcUgHON21CpveVSRzwjQfLsEyskC1
 WOgWZ/0Vx4yUP0/pBLvHrt1+eJ1mkgWmD2CLbimn0XP+efPPxa9FOZaWGZim8hktstoVi2Pr
 YYGXyZLoj0CONDDjt7/qN5KcgtSfCFlXPgbaaV/L4a+H+avI0l4Y9f5yrI9YY112aNTk+bD5
 HamXUFEjlH4gBX6xc+iNyE7AF82dZog/389IwI2OlOkhyoqbYq1tf9NfJorZ7g3sudkyKcsH
 fUCfsyBBNVJSyjGpGtBPcWs8tQ6eUT5nx+KMgqkfCM7I8xqSTvW94K2ZQDo7iQPUHa67JNsv
 7262wrHapMfXAA+Xt3OYfeiwgrp73gQke5/RWXSJdxXdBm++YRmMXWp3PQ2P9sNOVPIwT7Dj
 1SaBhIRpO/spY4p8YaW2fDY/tnxS+YnRxhUBWjW67qyJBL2xGv7zN8SSvuMcBDcSHjwpPeoa
 9JKwqyuK/YAhltL7dZxSu450aIk6tLzjLZG1QA4Tm7TZlGmB748cHmL2c5D6v9EyrND4FbkX
 0uO/p9ROKmTOdOjG1kUfVJ3YuOG3PASuz/T8fVqfxmquH4ppOKKARdIIh2BqC1BN78kYooqz
 NAotNMS9wHi2AEhNcyLj3wM+mmBRpDav37Lan3O7FfXtzcW
IronPort-HdrOrdr: A9a23:VyhnkqiW9lazWFvIH+ZZrOAQ9XBQX0J13DAbv31ZSRFFG/FwyP
 rAoB1L73PJYWgqNU3I+ergBEGBKUmskqKdxbNhR4tKOzOWxVdATbsSlrcKpgePJ8SQzJ8+6U
 4NSdkaNDS0NykHsS+Y2njILz9D+qj/zEnAv463pB0MPGJXguNbnn9E426gYzNLrWJ9dPwE/f
 Snl656T23KQwVpUi33PAhPY8Hz4/nw0L72ax8PABAqrCGIkDOT8bb/VzyVxA0XXT9jyaortT
 GtqX212oyT99WAjjPM3W7a6Jpb3PPn19t4HcSJzuwYMC/lhAqEbJloH5eCoDc2iuey70tCqq
 iHnz4Qe+BIr1/BdGC8phXgnyHmzTYV8nfnjWSVhHPyyPaJMg4SOo5kv8Z0YxHZ400vsJVXy6
 RQxV+UsJJREFfpgDn9z8KgbWAlqmOE5V4Z1cIDhX1WVoUTLJVLq5YEwU9TGJAcWArn9YEcFv
 V0Bs203ocYTbqjVQGYgoBT+q3uYpxqdS32AHTq+/blnwS+pUoJjnfxn6ck7zI9HJFUcegy2w
 2LCNUtqFh0dL5kUUtKPpZ0fSKGMB28ffvyChPhHb3GLtBPB5ufke++3F0KjNvaDaDgiqFC36
 j8bA==
X-IronPort-AV: E=Sophos;i="5.88,302,1635220800"; 
   d="scan'208";a="62812844"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TLIHEkL/fxBtPZoEbnsH3NUMvx9b6ryvxB4BsJaTwa0RdSTzDuK1pJHaibpPMyf+fnGBHj2E0oV92p5fOff0U8/RFeou2Q15fDt4v7xHgW7FE3o/peXY7n51zVXet4yYAi1Z1btREXSvGty+wWjY801bQyoM3btdrH+e9wcJ5V4WJVoYIPLbPecoiWfMBP3Pmrla62eG/f8csxrgoYNwAc/fa2ixMR0jr33spnOMMQzwfdT4jYxw5ObCdQrGKK35ejZj2hiQLdKHIXs7Y2mnrMaZFR7IYTmLFl1XtUfVqLP9BAPDvj6mB7av951fIfUwXCMgBfxunuKQCq9/nvjBaQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kPu2S20TcK7BHu1sBS6A+eq0k1n+aL7CvPvQeM5bOZI=;
 b=kFKmnfzTXgmx1douI3iguIDPOix3FVmMSqjn2G5jk9HSlylf3cf9rHYC423T2LYIXwXXeApNKbGy3Qj1Uymsgjhl3Gb2kQk063aTzo8cI7MDJDpEd/2LryQ/DQFtuS+w48qnrxsdBQWdEG5PCsYKit8Qdy0A6U0x8MYuOScDUAFV6hhP1ndwk6Ltwp+oTCZ/0wx6ZmImbTg49JQStUrIdkytvmrY7ejqQAP5ghsWu6nSsIhNyrLbjFrSRoP2LvSeqqFDUhnKenxmlA4aZu5Q2XezF8ofe0mxLPtM5aUm8HuuCRe8Pf4gAKoJrc7YHKIctXB9Pt94GgpjEmRqV39P+g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kPu2S20TcK7BHu1sBS6A+eq0k1n+aL7CvPvQeM5bOZI=;
 b=lg1czPZAT7bOQ+pNZ96+11VaKmd4C+AL6KMedJXw53SAGhNoIgx1NIS7VTJB7OuLN0+XAKW0/cH6iCOwMGoieIhNcx9VN8Z/aiSjHkeLNur9Mpsrw46c6sPOvdnC/niX53G2H1thCW9u1oVitHVsNWXIHYGrsqKSeFsUqpQg7bg=
Date: Thu, 20 Jan 2022 15:34:04 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 2/5] x86/mwait-idle: switch to using bool
Message-ID: <Yely3M3XMSw4bJVM@Air-de-Roger>
References: <568cb6dc-127a-9c8f-0073-2df173d4677b@suse.com>
 <79cc9a46-15b1-b2ce-e462-7c46848a86fe@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <79cc9a46-15b1-b2ce-e462-7c46848a86fe@suse.com>
X-ClientProxiedBy: MR2P264CA0091.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:32::31) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a47257c1-625a-4251-e148-08d9dc21ec29
X-MS-TrafficTypeDiagnostic: BN6PR03MB3282:EE_
X-Microsoft-Antispam-PRVS: <BN6PR03MB3282244DC22CFFC0809D49B68F5A9@BN6PR03MB3282.namprd03.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: aBodrt+l3P/fVueBp+nAM46WjwQeIneckI90s2cVR6MbHyozZzq/8bCKwZFUcVMYl78YL3JEovrbR/zvprm1YB7FQtTGgES30HtNkbRRX6IZZ5pOE5nOgZ3mPnVJjB+saMgnuYvA8OCQWYYcEWp9qYjCKJNJv9hRXftZsxRoUFsU5rBSOZ6p9IKz+fd+InbwVu59BSskyigwvv5yDHKN+Nzi/FqZ1/sTC6BvcMaWOlqvd6qfldwyTBKtp8vBDczjwVPBmexorG1RARxc84OGKyr5M3eO8KVrGOKGblR3DObL8el6BWDdS1FetIhQSsadHYhbtvYxYC70MuiTrn9UXICApwtPOPB3M0/sZLmVyRuUyYrxQEX6PZuJ1zA7BigcA6eYBXmTc8yh+4TgefjI7trL4fLYkAjiAISe5v4vwE2iWNEEbjzrgNZEFp4QPQx7WujbSlkQtPRSLaCxvhUoH9zpIubgv75mVgS/A4aa2iZD8YHuw7kQOOlwR+PwTRvr50fCtDDVxv5fzshNQ2Ho9ldWUAMXrvAmdXKzue46wgLwswJ87XI1g5yrmY+hy6g6z9cWATTECtLnZUgdmAeJ0ojPLNyLr8stQHfhBt92q4f1oml94uCGQ/oxbb/849pQMfaNuUEEi71ZSOo1Q9+05A==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(82960400001)(4744005)(6512007)(9686003)(6666004)(33716001)(316002)(38100700002)(5660300002)(4326008)(54906003)(86362001)(66476007)(66556008)(66946007)(2906002)(8936002)(508600001)(8676002)(6916009)(85182001)(26005)(186003)(83380400001)(6486002)(6506007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?V1IzK01EcnJHWkpjOXpTdEtLOTlDbnp2eElqZmMxOVpXaVRrekZOM0EreG1q?=
 =?utf-8?B?a1F1NklPczNmV1dxYjc5eStoRWpCZE9iRCtISVBlMkZqVzM1ZHNtcEFuM2ty?=
 =?utf-8?B?c0JMODB1K3lJWEl2WWRHRHR3YXNTOWo0QzBmdW1Nd202MUdtcnZEVTRFS2ND?=
 =?utf-8?B?Z0IvM3JidjJlc2QvUzRBaWdPUGpaREhkNHYxeHJrRXBDY01IaWMzcThtZUQ3?=
 =?utf-8?B?akF5SkVGT0dmRzdZWHpzWlZoRTlQY2V1a3BmUUsvdXRoUksrbU9wbmw4anJw?=
 =?utf-8?B?Mjk4QnhkZFUyaEpsQnF6WWFmdFVqVlpEVE4yYUtqdHVxZlg3dVRJVVZhLzBm?=
 =?utf-8?B?a0l3dldSd2pYQVdNMzA5VGJhb0RZUnArSHpqRTBxaHlwVE9MVnFZVDZBT2R4?=
 =?utf-8?B?Qi92a1VYSmM5MVpiN1dYQzQ1OXhwQW9zc0FDcjB4eFRhOXl2dXoxZzR1QmRR?=
 =?utf-8?B?MDRDRDNGVmJHYzlBZ25PdDFOaFJ2OGZEZkRWbDVZd0w3MGhoN3hReDR3THJu?=
 =?utf-8?B?ZS9jL1llRTJudkNtVXFjVDdzeWZmL3pyRVQvY3pXQVU5dlZkMG9OakE3cUda?=
 =?utf-8?B?RHY0NlhTRVdNb3grQzZJRmNTd1ZmLytzQitwTm5XTEFneEg3dkxua0ZuY0xk?=
 =?utf-8?B?UFlrQUpFSmphdW1yZTh1ZkorbnpsU2pXeFhJa1lkdjhMakJLenAxSXN5Y1pI?=
 =?utf-8?B?Z3dSb0pKM1UvMS9NWXEwR0RlNEErUkI4S3RjVFpiTi90WXlwRnVLYk15U2pq?=
 =?utf-8?B?N2ZFb1RiM2lvbVRkWkxrd3hjWFVNdDJGTjlMMERRUjFEUHV5VFdqVVZORldo?=
 =?utf-8?B?VkVDWHlZancrd0tERzl0K3lMd2d1dU9lQ1hBR2NUNzlqTE9HTi9qRnZSRTZR?=
 =?utf-8?B?QmxSa1lFbVY4U2VoRGdQTU5nRVVjb29OV0dCTmE0YS9QL3FWVWwrT1lnaXFP?=
 =?utf-8?B?aHF3anViTHZFQ0FvR0gxU2pPZk1nY3pQMUtib3NIRUxOWkZxL0tYalk2QXFa?=
 =?utf-8?B?eDBmUUtIajBmRFpOc0E1RXdmd2NoSTdUL2ZRUy9qdUwxaFZOTDF4bEZva1NJ?=
 =?utf-8?B?THQwZkJ6UjJ1N2pCTzJXQWpSaXBXYm1qWi90RHAvb0dtbjNUSnRQdWQ2SXYx?=
 =?utf-8?B?WG9Ic2pwUlJBbVVGdE9XTXdLbFIvVDNaT1J6QWpiaGtDMmMyVHRFZlV0dS9H?=
 =?utf-8?B?QUZHN0hZVVdPZHk1Z3RDL1FHbVBlNFh0cUJIZG82L3ZIeWFPaHEvZ1JZRGFm?=
 =?utf-8?B?bzU5am9ndUlFRXF3TXNtNDdqQkxnZHZ6bHlROWtiQWl1RFMyb3p3dnVaNmVp?=
 =?utf-8?B?b09LYUVRcHVHZm96NExSbGpWV21LbmQ4SFFzUDVWRFZJNHhnZWVyK2F4WTdR?=
 =?utf-8?B?TnErbDVFQ3A5UjI4Z2lVRklZMUMwbjhjNkNQdzNrLzQyKzkwZ1ZwdHVGNVp4?=
 =?utf-8?B?VUdLTlBja3VUTHYyZUkvc3pMTVVNOWxLU3llTGRBYkhDWkZxUWluR1pJdmJk?=
 =?utf-8?B?cTBySFFtclpzd1hxTXFvVXJ0R2xLK0piUVZWMUNROGwxMkxCRGdKbWU0OERn?=
 =?utf-8?B?ZEgvWHRiaXEwaFFaa2NjN3NTQnE2c0d2aHV0UGNIY1djVEJzWDJjeW1nL2Fx?=
 =?utf-8?B?Q2d3NzZZYnBFZkR4Tjh6dEluQzdnTkNtV1FGVndUcXcwV092cmI1OWF6cnNF?=
 =?utf-8?B?WFFxSllINXd0WmhpQ2I5Q2lxZFJCdEpKWnJjSkRkQUxRN25QMEFJMVBscnpi?=
 =?utf-8?B?Q3hHWDZRQi9VQ1lBNzlTV1JBb2wrQmkvdm1QM1ZzOUdzR25laEw1VVJ4UFNk?=
 =?utf-8?B?bkhiWWdhZENtWnJVczlTVEwwRFRVRXhXNU9ZUDh1MmFOeTNGeTJ4N3JucDRN?=
 =?utf-8?B?Q2FHbzBaWlkyUUZ5RGFmdkx4ZVc0eWxkNUJVbjUwKy9EbGl3ckVuZ3BzSFpO?=
 =?utf-8?B?SVROSGNNYk5kcGlUZ2l5MktXWG5KSkVzYWtsK2tmTGhKSi9GcFBGTTBoYnFv?=
 =?utf-8?B?QUwyaGxPdXRMK202MXhheXhUcyt5SmxPVVRQUTRZSFJRMXRPNldpZ0p6b1M5?=
 =?utf-8?B?a0hTZU9vUkZ5TEhGMC93Nm5oWHhhdlA1cmlZdGZRWVFkOFR6SHUvWWZ2endk?=
 =?utf-8?B?M0Q1UnBEWkRKc2lhcTJsQ2dpZjg5a29iU1RZd2ZjSFBCZ1NSK2o0TGlWTC9C?=
 =?utf-8?Q?Ilz1odhmgNWculF1sFd1yZY=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: a47257c1-625a-4251-e148-08d9dc21ec29
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2022 14:34:10.4772
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: KYWLzlxfDQPIBorHDoKybD0Flrrs2uZnWnDIAvT6/RK3/KiLR6CHScxr+I7bNNllNg3FEKhiYZVbGpl8cuxZlQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR03MB3282
X-OriginatorOrg: citrix.com

On Thu, Jan 20, 2022 at 03:02:14PM +0100, Jan Beulich wrote:
> When the driver was first ported, we didn't have "bool" yet, so
> conversion to bool_t / 0 / 1 was necessary. Undo that conversion, easing
> ports of newer changes as well as tidying things up.
> 
> Requested-by: Roger Pau Monné <roger.pau@citrix.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Jan 20 15:24:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 15:24:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259100.446945 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAZIl-0002xZ-RF; Thu, 20 Jan 2022 15:24:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259100.446945; Thu, 20 Jan 2022 15: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 1nAZIl-0002xS-Ns; Thu, 20 Jan 2022 15:24:39 +0000
Received: by outflank-mailman (input) for mailman id 259100;
 Thu, 20 Jan 2022 15:24:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zWAP=SE=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nAZIk-0002If-DH
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 15:24:38 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1310879e-7a05-11ec-bc18-3156f6d857e4;
 Thu, 20 Jan 2022 16:24:37 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1310879e-7a05-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642692277;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=m2MqR2DhtFMiEHrt+YuWBuOssJ0Pw1+H41fXQNlG5gw=;
  b=fAx0v8G/XKa9vZ/KTve3k2IcQF9e1R/6Gh3nB7Ho+wAqy8D0PCVZo+C7
   mrAHuiLCCEuJipXcawTg92nn9oRirfk2mRpStNDBGvdCCdZUgDDsOnFeZ
   nDaTZQfyk3/aWQ1EZ6TSCcQhatvbvlxlVc7BJMCdoSS3d59XHR7Gl9Mac
   w=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: N9XddzcHgt/QmCskYWkQuzs662NBi30PHrU1coqx5L7XoUUh+1Lp2IMQK1oXtKkKRF0AHmZsBt
 sDUnH5dXfZLKoENJz5g1ZhaAUl/OHjZ0NaeZPjZRVEFOEYH8I7Hy6lq6Nk2WppU+WSNVgqrO3y
 Yn3QPDyTIszwHNq/O8EsPiwoNtrFeD3gXweV0C9l186DFz9GmdtwNr32eBZnqbVnS55KRjKvFo
 i15HlKYQ1Jy0mIabSqBQoKDgp4Mlx5SEozrP1fKCJE1D1IWwat96QH1N5xINgDbQsDbaQEowwx
 tNpitsnNOE0sJZ+JuPjrFW+H
X-SBRS: 5.2
X-MesageID: 62414611
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:h/u3x6DqE0x5SRVW/8jkw5YqxClBgxIJ4kV8jS/XYbTApD8i32NUy
 DFJUTzTP6vcNDPwKt0jOoq38UgH65bXndIyQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMo/u1Si6FatANl1ElvU2zbue6WL6s1hxZH1c+En9400o7wYbVv6Yz6TSHK1LV0
 T/Ni5W31G+Ng1aY5UpNtspvADs21BjDkGtwUm4WPJinj3eH/5UhN7oNJLnZEpfNatI88thW5
 Qr05OrREmvxp3/BAz4++1rxWhVirrX6ZWBihpfKMkQLb9crSiEai84G2PQghUh/tRCjvtQp9
 et2lY2IUVktOe6WtctFakwNe81+FfUuFL7vJHG+tYqYzlHccmuqyPJrZK00FdRGoKAtWzgIr
 KFGbmBWBvyAr7veLLaTUO5ji95lNMD2FIgepmth3XfSCvNOrZXrHf+WvIMGhW5YasZmB8/xW
 o0QUBZUQxmdeQxwGl0XJ7Ajg7L97pX4W2IB8w/EzUYt2EDMyCRh3b6rN8DaEvSIT8hImkeTp
 krd4n/0RBodMbS32TeDt36hmOLLtSf6Q54JUq218OZwh1+ezXBVDwcZPWZXutHg1BT4AYgGb
 RVJpGx+9sDe6XBHUPHDejeZpCa5gCU8SuJITek9q1ug5fLttlPx6nc/chZNb9kvtckTTDMs1
 0OUk96BOQGDoIF5WlrGqO7K8Gra1Tw9aDZbOHRaFVdtD8zL+dlr1nryosBf/LlZZzEfMRX52
 Hi0oSc3nN3/ZuZbhvzgrTgrb99Bz6UlrzLZBC2LDwpJDSsjPeZJgrBED3CBsZ6sy67DHzG8U
 IAswZT20Qz3JcjleNaxaOsMBqq1wP2OLSfRh1Vid7F4qWj3pSf8LdwOvGguTKuMDiriUWW1C
 KM0kVgJjKK/wVPwNfMnC25PI5lCIVfc+STNCamPM4smjmlZfw6b5iB+DXN8LEi2+HXAZZoXY
 M/BGe71VC5yIf0+kFKeGrlBuZd2mHFW7T6DFPjTkkX8uZLDNSH9dFvwGAbUBgzPxPna8Fy9H
 hc2H5bi9iizp8WnMnCIqtZCdA5TRZX5bLivw/Fqmie4ClMOMEkqCuPLwKNnfIpgnq9PkfzP8
 G37UUhdoGcTT1WeQelTQnw8Or7pQ7hlqnc3YX4lMVqygiBxaoez9qYPMZAweOB/puBkyPd1S
 dgDetmBXasTGmiWpWxFYMmvtpFmeTSqmRmKY3ivbg8gcsMyXAfO4NLlIFfirXFcEiqtuMIii
 LS8zQeHE4EbTgFvAZ+OOvKixl+8p1YHn+d2UxeaK9VfYhy0ooNrNzbwnrk8JMRVcUfPwT6T1
 gC3BxYEpLaS/99poYeR3a3d9tWnCepzGEZeDlL317fuOHmI5HenzK9BTP2MIWLXWlTr9fjwf
 u5S1fz9bqEKxQ4Yr4pmHr935qsi/N+z9aRCxwFpEXiXPVSmDrRsfiuP0cVV7/Afw7ZYvU29W
 16V+8kcMrKMYZu3HFkULQsjT+KCyfBLxWWCsaVreB33tH1t4b6KcUROJB3d2iVSIYx8PJ4h3
 ep86tUd7Bayi0ZyP9uL5syOG79g8pDUv30bi6wn
IronPort-HdrOrdr: A9a23:znjMIqt+J2lty3M8cgjdScSW7skC7IMji2hC6mlwRA09TyXGra
 6TdaUguiMc1gx8ZJhBo7C90KnpewK6yXcT2/hsAV7CZniYhILMFuBfBOTZskTd8kHFh4tgPO
 JbAtJD4b7LfChHZKTBkXGF+r8bqbHtms3Y5pa9854ud3AWV0gJ1XYJNu/xKDwReOApP+tcKH
 LKjfA32QZINE5nJPiTNz0gZazuttfLnJXpbVovAAMm0hCHiXeN5KThGxaV8x8CW3cXqI1SvV
 Ttokjc3OGOovu7whjT2yv66IlXosLozp9mCNaXgsYYBz3wgkKDZZhnWZeFoDcpydvfpWoCoZ
 3pmVMNLs5z43TeciWcpgbs4RDp1HIU53rr2Taj8DLeiP28YAh/J9tKhIpffBecwVEnpstA3K
 VC2H/cn4ZLDDvb9R6NpuTgZlVPrA6ZsHAimekcgzh0So0FcoJcqoQZ4Qd8DIoAJiTn84oqed
 MeQv003MwmMm9yUkqp/FWGmLeXLzEO91a9Mwc/U/WuonhrdCsT9Tpd+CQd9k1wgq7VBaM0oN
 gsCZ4Y5o2mePVmGp6VNN1xMvdfNVa9NC4kSFjiWmgPNJt3c04l+KSHq4nc2omRCeg1Jd0J6d
 L8bG8=
X-IronPort-AV: E=Sophos;i="5.88,302,1635220800"; 
   d="scan'208";a="62414611"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fAA6/hyJe/xMcKlts8mf4I9Zr6c7j31+iNZbjTOO1Nd3J584XqsDgsFrcMqgrWxtWDtCkk9Nky8BYPQHjCV/kFPiECsH+r7MFflU/rU+Dg0DsJoTFKR0aNYkW8gGQOt3TF7ZPqJhWmZX8jeori9iyphpoHh5Ixfz21D3Onx87Xk6crqE+3KkGD66CbdX9jHAyQt1drafFfnhznmmA1R9N6iuPyhTENRhZQTWfEb0rMiF3Hi5mVCWudXRd61q5Sf491XrFdb2YxPgcgvpNNxNllA7v5gUsVk44KdVtyQ2NZsr0twa1CHV8hNmkOXNM/d4+41y9EgxtAIstoUYH217tA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ABP7/Br+owApC9qj4NTH4SDtKCbcra77tGh7FujuLWU=;
 b=k5vV/Oh8bg3Twm6g9FwI/ZqsDCY4+bB34ckDh/iyv2Vnc/R3mqiyoOAyUmIBsDq+UQha05QHw6Doqnp69WGLcE8Qw4Fkl1N/lL1u904eB4chK1IprbkquSYZNbXKGmR2s0gxfystrha6yL6vGBUPGDP2H3clMlWLpiO3bnkAFlMM1N3X8jkNQTCrEXsm9sPtGYeobZVCzS028v9SJHIhry/rSa0EH1LcM0CQlvzqtVaD0WuiN1/Vzvkj8yNv4APpY3WZ2BDCdkHI9AOpAZpywpLr2IGn5Q9mCqo6Yd7MLTu/5opSJs22yyNniIvJMa0J6Dmfzh5UFM8l3tPv1j4JXQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ABP7/Br+owApC9qj4NTH4SDtKCbcra77tGh7FujuLWU=;
 b=Mzra39GQKtdruqOD4NPH4ug9HsaIuwSXoHmwFYAL4/9/n2P/l+FA4uvMQfXxI9cJku8nvxysVd7OBeunkplRXF/TsIIID+0nW+z2MUE8fpEVX+gW3mpoRffnfX95OGy6IdmXzrV33+Ie/AShDKC/DmBAPPjiKtrtieh1mVZOz2Q=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH 3/3] HACK: allow adding an offset to the x2APIC ID
Date: Thu, 20 Jan 2022 16:23:19 +0100
Message-ID: <20220120152319.7448-4-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220120152319.7448-1-roger.pau@citrix.com>
References: <20220120152319.7448-1-roger.pau@citrix.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: FR0P281CA0074.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::20) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3da4c9b4-487d-45a9-f12f-08d9dc28f4a7
X-MS-TrafficTypeDiagnostic: BN7PR03MB3681:EE_
X-Microsoft-Antispam-PRVS: <BN7PR03MB36810BC40C3818669061A41E8F5A9@BN7PR03MB3681.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: xxURhUScCdN0F98Y1jiB3ibxYPl3QV58mURM+b4vD1ZGyoL5jzE8zS5CLZU9tEkGplOZktyAaud/0TVLQjbg9D10jAr60gYz8aTiSgtd/nM/jN69q4gIY0OrWMjrq8pJNe9iKHePHxmlLvGL+uHoYe93bfgUuvANY1oi7KUrLjOs8wJVdA2PC8qPlbqL3EfWAeHr/d9SlQw/ac+z2G07fWIipN7PqfWD7d/eCRFs/hHTLHuiben8EAayeCBxm0OX0MSHej1CROGRHIa1pOpn4ukO2/QOMW200RPCil6wk+IEh1jAK/MfauYYSU60SiT8bsqElF1769rC1j2IZyWDaRib+ekyN4GD688+xZ9lEGVBvlbaGOuR3D+79bFRBCVJLRuLR0YMkQS8znJYaYzLja1TT66xx5n9hiQ+FOej8LJvyL5KlQo9kKC+sQKyyigwhs+VI/Ew1ns1ioBoE4WD3HrvWigqhoha+qFqbUkDNnCI9m30d5NxC1wolZYza+xyB7QMVepgE7R6eg17jqsO2WD4Dyg8Nq7FEN6cZbgt4o7lNcYvejaVrcR+IJrUZ7i/ZOUbwcRHxUMpsLBOg4ExPZ0h5j9j82gUILYBPj1g/cQs3m0Hvrhf4+rpqPBUkusmlPbOHcWamLr0CDlRjdzQ0Q==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(66946007)(8676002)(6666004)(1076003)(508600001)(66476007)(54906003)(66556008)(2906002)(6512007)(82960400001)(8936002)(38100700002)(83380400001)(5660300002)(36756003)(26005)(6916009)(186003)(316002)(6506007)(6486002)(86362001)(4326008)(2616005);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?O3UAM1EA45Ndo11H0cOGq3hsmTKotJ4h/SddcmxxesvINuUavS/cuKubU3TO?=
 =?us-ascii?Q?NryAsNG5XDjpgqKQmSCOM/sUbOQUxO0XVEPRD1FLV0qMCwUKGemKl+vhZiue?=
 =?us-ascii?Q?ov3C2t8StasGHdxw20I/VyuuZ4xz212vzAwT1OluRxtVY1qagelVgw3Uj86j?=
 =?us-ascii?Q?zVbZ8Zj4/mXAqQXjEVJT7n75jgpMfjd1zh85rr2gAsUWmFrjwKj0cHPbO4mB?=
 =?us-ascii?Q?pLNS3LEM/nZRYIXjCcS421vL+03iLE4CYLj+apcFSa10T7K3INpyrALueouf?=
 =?us-ascii?Q?oYKedpbvl9PpkTFH2xxFeyYxa5l+46MwB4fGDgK8HC1XAUUllSDQ0qkuEclx?=
 =?us-ascii?Q?XaU3IH/VP7RmbERf8CaGb8NION5ZECm7+SThTDcgOOr6gDaUFSzKQNn/1Arx?=
 =?us-ascii?Q?T5wAN2hkq0gnHrpieuEtTGh2UIsdWRBa/LV/amnqQMUbhJDL1jnDV+FrIt0q?=
 =?us-ascii?Q?6aDaZOwZ5O5qPcP00UKy2Jowa4PJYIZwvcEv+GrKKDYtY+X4ekVVmfplkuFR?=
 =?us-ascii?Q?tnqBixtbHRVmyqWLcst2rLo5yxTf0wC/UXXRKGYsrW/CrY7FwQw2hoz65oJS?=
 =?us-ascii?Q?DHRcmqDzDta3GhTO6udbgwW+jhF9GMTIkqXOKjRjl8z1pjzR3csJmQ1I9QDt?=
 =?us-ascii?Q?hs0q0/VWHTuShmuKNzFT3ci2X34G1m8GFOWSjqbzeX5UKR7wxgQFjSSqhl6t?=
 =?us-ascii?Q?73OJuB0ah8SKa/va1TDmkXmfZwl3DKgwJqmMiC6we+tyzU+N1ExjqYFT/GKZ?=
 =?us-ascii?Q?+LNcnW348tfGVjNRgz1BeZho+WHY/BbW5bmF0YKDeL4tYqeWRaWdIkYhDWmE?=
 =?us-ascii?Q?msP4X3DAwTSAyVKfsRobKA9j7jBv/4+QCuU706ob5iPN4KAAvGzmxdYAY9GC?=
 =?us-ascii?Q?l1ngGbbgY8MI+jSZGYaeb5ZkWKbWdvRaPiAYf0R/mnlavP2Xf7SLgSrotH2G?=
 =?us-ascii?Q?l5ONw09Oxz7tNUA2Xdt+Ept5aOJlg2NoEK8yHT/beLtiKqzQQpJK5NJCwzr0?=
 =?us-ascii?Q?zji2n64dUgAIc5RT4oYE54Pv7mJNGUX84bn5srye893FMgJI1mTYVvGeNFjd?=
 =?us-ascii?Q?Ry/upi7Z+UXys2DlimusMBsHDZjeH8D7Sfw1N0sJkuDCIzZWluHXRUKHNnQm?=
 =?us-ascii?Q?jhpcUtSwDOHDzNOx3c9/6pJn3iu3396IDHnfl0XJR2HT4Iz+2On/UPnzPdx5?=
 =?us-ascii?Q?MqrxalXz/SL3o2lgDRMhIUc6eft9cgX1jOSaK0ibmfxGaGExMhsy544Lwwz1?=
 =?us-ascii?Q?s/9FFDMGU2DdMAkJVpLThQ6fj6lOPs/o9vsMQ7SkoIla+DfmIwd/MquEyXdF?=
 =?us-ascii?Q?EyNlXSu9Y8Eefg14dQbvUMFqVF1qhEBhnQ6/KZjypSZGig1szLsIbNPDpSis?=
 =?us-ascii?Q?wb1HZBaRhbLqc4nmhBzx1ZKdaP/JybFvT5GVXA/w8fgg2yufNXlmhmhx/d0S?=
 =?us-ascii?Q?8zbq0CE0x1JFMKs17zkLd7zJ+CsAgD5EWAC0MzlZDM6pkilK4gGivEKvuQvw?=
 =?us-ascii?Q?nyrbQUZe3XHcGiKDUm23oGmtzai2iC5JRVNZyRdn7ZSKzPIyyGCAL5AjMBsD?=
 =?us-ascii?Q?h7EBIBstb0BmTfj9YstYQlN/FMbKZEriUHg+42RA/K7t1TwJUhjW+ooOR7oc?=
 =?us-ascii?Q?YFXsiaQTi1CT2a/cZSHWQTU=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 3da4c9b4-487d-45a9-f12f-08d9dc28f4a7
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2022 15:24:31.2318
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ++DY6MbWyAPo5KmYvYRcOpkYQfQqJwMUPV017N84GDPzG8GSaYj94mYC79pKXooDppJD4em9zpz68xwvzdjc/A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR03MB3681
X-OriginatorOrg: citrix.com

In order to test external interrupts using a destination ID > 255.
Also start vCPUs with the APIC in x2APIC mode.
---
 xen/arch/x86/cpuid.c                  | 12 +++++++++++-
 xen/arch/x86/hvm/dom0_build.c         |  3 ++-
 xen/arch/x86/hvm/vlapic.c             | 14 ++++++++++++--
 xen/arch/x86/include/asm/hvm/vlapic.h |  2 ++
 4 files changed, 27 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/cpuid.c b/xen/arch/x86/cpuid.c
index 0407a54626..01dcd474e8 100644
--- a/xen/arch/x86/cpuid.c
+++ b/xen/arch/x86/cpuid.c
@@ -8,6 +8,7 @@
 #include <asm/hvm/nestedhvm.h>
 #include <asm/hvm/svm/svm.h>
 #include <asm/hvm/viridian.h>
+#include <asm/hvm/vlapic.h>
 #include <asm/hvm/vmx/vmcs.h>
 #include <asm/paging.h>
 #include <asm/processor.h>
@@ -876,7 +877,14 @@ void guest_cpuid(const struct vcpu *v, uint32_t leaf,
         /* TODO: Rework topology logic. */
         res->b &= 0x00ffffffu;
         if ( is_hvm_domain(d) )
-            res->b |= (v->vcpu_id * 2) << 24;
+        {
+            unsigned int id = v->vcpu_id * 2;
+
+            if ( id )
+                id += opt_x2apic_id_offset;
+
+            res->b |= id << 24;
+        }
 
         /* TODO: Rework vPMU control in terms of toolstack choices. */
         if ( vpmu_available(v) &&
@@ -1058,6 +1066,8 @@ void guest_cpuid(const struct vcpu *v, uint32_t leaf,
 
             /* Fix the x2APIC identifier. */
             res->d = v->vcpu_id * 2;
+            if ( res->d )
+                res->d += opt_x2apic_id_offset;
         }
         break;
 
diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c
index 43e1bf1248..b00e45885c 100644
--- a/xen/arch/x86/hvm/dom0_build.c
+++ b/xen/arch/x86/hvm/dom0_build.c
@@ -30,6 +30,7 @@
 #include <asm/bzimage.h>
 #include <asm/dom0_build.h>
 #include <asm/hvm/support.h>
+#include <asm/hvm/vlapic.h>
 #include <asm/io_apic.h>
 #include <asm/p2m.h>
 #include <asm/paging.h>
@@ -845,7 +846,7 @@ static int __init pvh_setup_acpi_madt(struct domain *d, paddr_t *addr)
         x2apic->header.type = ACPI_MADT_TYPE_LOCAL_X2APIC;
         x2apic->header.length = sizeof(*x2apic);
         x2apic->uid = i;
-        x2apic->local_apic_id = i * 2;
+        x2apic->local_apic_id = i * 2 + (i ? opt_x2apic_id_offset : 0);
         x2apic->lapic_flags = ACPI_MADT_ENABLED;
         x2apic++;
     }
diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index b8c84458ff..34209d5378 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -24,6 +24,7 @@
 #include <xen/domain_page.h>
 #include <xen/event.h>
 #include <xen/nospec.h>
+#include <xen/param.h>
 #include <xen/trace.h>
 #include <xen/lib.h>
 #include <xen/sched.h>
@@ -53,6 +54,9 @@
     (LVT_MASK | APIC_MODE_MASK | APIC_INPUT_POLARITY |\
     APIC_LVT_REMOTE_IRR | APIC_LVT_LEVEL_TRIGGER)
 
+unsigned int opt_x2apic_id_offset;
+integer_param("x2apic_id_offset", opt_x2apic_id_offset);
+
 static const unsigned int vlapic_lvt_mask[VLAPIC_LVT_NUM] =
 {
      /* LVTT */
@@ -1073,7 +1077,7 @@ static void set_x2apic_id(struct vlapic *vlapic)
     u32 id = vlapic_vcpu(vlapic)->vcpu_id;
     u32 ldr = ((id & ~0xf) << 12) | (1 << (id & 0xf));
 
-    vlapic_set_reg(vlapic, APIC_ID, id * 2);
+    vlapic_set_reg(vlapic, APIC_ID, id * 2 + (id ? opt_x2apic_id_offset : 0));
     vlapic_set_reg(vlapic, APIC_LDR, ldr);
 }
 
@@ -1443,7 +1447,13 @@ void vlapic_reset(struct vlapic *vlapic)
     if ( v->vcpu_id == 0 )
         vlapic->hw.apic_base_msr |= APIC_BASE_BSP;
 
-    vlapic_set_reg(vlapic, APIC_ID, (v->vcpu_id * 2) << 24);
+    /* start in x2APIC mode. */
+    vlapic->hw.apic_base_msr |= APIC_BASE_EXTD;
+    set_x2apic_id(vlapic);
+#if 0
+    vlapic_set_reg(vlapic, APIC_ID, id << 24);
+#endif
+
     vlapic_do_init(vlapic);
 }
 
diff --git a/xen/arch/x86/include/asm/hvm/vlapic.h b/xen/arch/x86/include/asm/hvm/vlapic.h
index 8f908928c3..6e837cb5bf 100644
--- a/xen/arch/x86/include/asm/hvm/vlapic.h
+++ b/xen/arch/x86/include/asm/hvm/vlapic.h
@@ -91,6 +91,8 @@ struct vlapic {
     } init_sipi;
 };
 
+extern unsigned int opt_x2apic_id_offset;
+
 /* vlapic's frequence is 100 MHz */
 #define APIC_BUS_CYCLE_NS               10
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Jan 20 15:24:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 15:24:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259099.446934 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAZIi-0002dN-Dp; Thu, 20 Jan 2022 15:24:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259099.446934; Thu, 20 Jan 2022 15:24: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 1nAZIi-0002dG-AL; Thu, 20 Jan 2022 15:24:36 +0000
Received: by outflank-mailman (input) for mailman id 259099;
 Thu, 20 Jan 2022 15:24:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zWAP=SE=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nAZIh-0002If-5F
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 15:24:35 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 111ae513-7a05-11ec-bc18-3156f6d857e4;
 Thu, 20 Jan 2022 16:24:33 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 111ae513-7a05-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642692273;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=pdxlQzLLLdqMBmYIq21jztzs3Sm4F2L99O2dYBy1tGo=;
  b=Hns3Yv4Rk+S8beXVoUTfbmfX0jeEoerhq60k3Q6ZdfnIDFTE9JgL0JnJ
   jHJkKb32vHPfGPpEPu62cxe8IWUlwlSDsU98dzYKsPORyG9cWyI+rRBSU
   9vVXgGsKmF8aaShs3ZhHW6oANDaSOKX8urb/GC6fKdVT0ypIatzoSW/F0
   Y=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: GsDhXFmZr69eVszDg7x+v1nEvaUn6bhScPyfOd/mkKJy5u543Hgp/I4Bd7PWoerUnUTMj2lMRU
 XqPg6zGjwUYFuC141pbtskOEa9SqPit+DFO0vrmPnP3jbQR7vsDEE4JV4ywcAwuUVNisPo3U5x
 NnTwDZ99Akbm6iMMrCJPMMLVyZM78LGFl+wdKmNV/6+cSaIngUsRCNA2D4hDdQhSlKfWPZeBKX
 kyjhvLBOrwynYyNpuPfdf19yt5/f6sEb9DbSg/VK3LG0+/R89MXNxc54p72ObSmXZnqtFlg7bB
 bt4HLCwkme0wO5Mqrycwr+aL
X-SBRS: 5.2
X-MesageID: 62819047
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:D/CauqLVxQv7plCqFE+RTpIlxSXFcZb7ZxGr2PjKsXjdYENS3z1Sy
 zEXXWnSafyJZGPzcogkPo62phgC7MDWytBkSgdlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokcxIn5BC5C5xZVG/fjgqoHUVaiUakideSc+EH170Us5w7Zj6mJVqYPR7z2l6
 IuaT/L3YDdJ6xYsWo7Dw/vewP/HlK2aVAIw5jTSV9gS1LPtvyB94KYkDbOwNxPFrrx8RYZWc
 QphIIaRpQs19z91Yj+sfy2SnkciGtY+NiDW4pZatjTLbrGvaUXe345iXMfwZ3u7hB2pmsxD5
 Pp/6aCfQD8YMb3Rw/4GDCVhRnQW0a1uoNcrIFC6uM2XiUbHb2Ht07NlC0Re0Y8wo7gtRzsUr
 LpBdW5LPkvra+GemdpXTsF2gcsuNo/zNZ43sXB81zDJS/0hRPgvRo2Uv48BjW9s2aiiG97ne
 pFCVwZlbi7rIDRvHAcZKYwmsd6R0yyXnzpw9wvO+PtfD3Lo5A5s1LngNvLFd9rMQt9a9m6Dv
 X7P9Wn9BhAcNfScxCCD/3bqgfXA9QvjUZ8WPK218LhtmlL77nweDlgaWEW2pdG9i1WiQJRPJ
 koM4C0soKMuskuxQbHVXRe1vXqFtR40QMdLHqsx7wTl4rXQyxaUAC4DVDEpVTA9nJZoH3pwj
 AbPxo63Q2w02FGIdZ6D3peRsQGeFhpJEUALXR4LXRZe+cK8nLhm23ojUe1fOKKyi9T0HxT5z
 DaLsDUyit0vsCIb60mo1QuZ2mzx//AlWiZwv1yKBTz9smuVcab8P9TwgWU3+8qsO2pworOpm
 HEf0/aT4+kVZX1mvHzcGb5ddF1FChvsDdE9vbKNN8Vwn9hO0yT6FWy13N2YDB01WirjUWW4C
 HI/QSsLuPdu0IKCNMebmb6ZBcUw1rTHHt/4TP3SZdcmSsEvKFXZpX4+ORDMhjCFfK0QfUcXY
 8vznSGEVi5yNEia5GDuG7d1PUEDm0jSOl8/tbiklk/6gNJylVaeSKsfMUvmUwzKxPjsnekhy
 P4Gb5Hi40wGCIXWO3CLmaZOcwxiBSVlVPje9pwGHsbec1EOMDxwVJfsLUYJJtYNc1J9zLmYp
 xlQmyZwlTLCuJEwAVzaMy84MOK2A88XQLBSFXVEAGtEEkMLOO6HxKwea4E2bf8g8ulixuRzV
 P4LZ4OLBfEnd9gN02p1gUDVoNMweRK1qxiJOib5MjEzc4Q5H17C+8P+fxup/y4LV3Llucw7q
 rym9wXaXZtcGFgyUJeIMKqinwGroHwQuONuRE+UcNNdT1rhrdpxICvrg/5pf8xVcUffxiGX3
 hq9CAsDobWfuJc89dTE3PjWr4qgH+ZkMFBdGm3XseS/OSXApzLxyo5cSueYOzvaUTqsqqmlY
 OxUydD6MeEGwwkW49YtTe4zwPtntdX1prJcwgB1J1nxbgymWuF6P32L/chTrakRlLVXjhS7B
 xCU8d5ANLTXZM68SAwNJBAoZ/io3O0PnmWA9uw8JUj36XMl/LeDVkkObRCAhDYEcelwOYIhh
 +wgpNQX+0q0jR9zaoSKiSVd9mKtKH0cUvp46sFGUdGz0gd7mEtfZZH8CzPt5MDdYtpBBUAmP
 zuIifeQnL9b3EfDLyI+GHWlMTCxXnjSVMSmFGM/Gmk=
IronPort-HdrOrdr: A9a23:AAMgsawrqdq7ekTpSHQoKrPxtuskLtp133Aq2lEZdPULSKKlfp
 GV88jziyWZtN9wYhEdcdDpAtjmfZq6z+8L3WBxB8bfYOCCggqVxe5ZnPLfKlHbakjDH6tmpN
 1dmstFea3N5DpB/L7HCWCDer5KqrT3k9HLuQ6d9QYRcegDUdAQ0+4TMHf8LqQZfngjOXJvf6
 DsmPav6gDQM0g/X4CePD0oTuLDr9rEmNbPZgMHPQcu7E2rgSmz4LD3PhCE1lNGOgk/jYsKwC
 zgqUjU96+ju/a0xlv10HLS1Y1fnJ/ExsFYDMKBp8AJInHHixquZq5mR7qe1QpF7d2H2RIPqp
 3hsh0gN8N85zf4eXy0mwLk303a3DMn+xbZuBalqEqmhfa8aCMxCsJHi44cWADe8VAcsNZ117
 8O936FtrJMZCmw3RjV1pztbVVHh0C0qX0tnao4lHpES7YTb7dXsMg24F5VKpEdByj3gbpXXt
 WGNPusp8q+TGnqLUww5gJUsZmRtzUIb1i7q3E5y4yoO2M8pgE886MarPZv6EvouqhNDKWs3N
 60QJiAoos+OfP+XZgNd9vpfvHHf1AlOSi8S156AW6XXJ3vaEi94KIe3t0OlZWXkdozvd0PpK
 g=
X-IronPort-AV: E=Sophos;i="5.88,302,1635220800"; 
   d="scan'208";a="62819047"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fkvYEg2hSMrh/6MtfyT5eY8SZB5WXFJRosoiM3JUs0r3yvXQg1XQeUdyh3LaUAn1e0fnSxqDJQgp4Q0d/+pWDya8NqmtkxxprOC7gEcV4+xI30+lOTHKfNI2Gyg8XTbp6k8EyWDb1y46yRJcOnR4rW2Lzo5AH/5D7UyqMibMT2DBRd+6iXJYNUh7Q09R2myB8XvCcBsI1FYr+veyegZf02UwrdosfWcstUUn0xWEfmOAPtZb8qGikb3gvePhUfl+u4V+VAx2YjfzbgI3RyauSx9A1IyuyiRTgGEDZu5Fg9Dl7kTlfraaT6Aj3C+Bf11g28WC+FOEpMEpciiYWve1dA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HoF6XYV9k/waGwdbkp6UIajlOGJSYD9wsXW9TkdA094=;
 b=Y7oKeoS8KEkC7zk9P6bz4TntTAi0jIfEfCL53HKyfgFd2Eb2byVuO9XOvMhg4oRnOMMiYxYqeEm2pKN/9mdr4U30zdKkAeSK8IJslcGp9DcNki/7GWptWSHWnRmf/MU0zLdQ1LscRCL7w0xMNsznjCs4FyMToj2z3bj/T7954nyxe//urPncgr6uSM1HNpuxm6cbqWhfRU0MDjhfOyUjLFPmGn5AkmS/JJ7UTy1G8zkrkNTX+dQReFWEYV6NRqGzPe6prb8K4aOFRtDauM6Sg8t86Y0o8UuhqM7u4+WQsH4isU0KMJXwO5uWTuo2KVsYRIWRUfbLgGaE3EGAwyMMpQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HoF6XYV9k/waGwdbkp6UIajlOGJSYD9wsXW9TkdA094=;
 b=hoV2dqfZUa+qPHYsyzFe+4Zy31T3e2CYIvqTsIOMFS5fskA4PzAhcfTDqkYSBsxNFBmPqGGk+NkuEQ+7jj/1s7gs0AY2re+LjnwnpJZJ5pe2y+ctPXfarOW5W33XoZtmwkG1xMFD6HZuQeYP938iK56lhwiqyd00NA6RfncQKc0=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>, "George
 Dunlap" <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Paul Durrant <paul@xen.org>
Subject: [PATCH 2/3] x86/vmsi: add support for extended destination ID in address field
Date: Thu, 20 Jan 2022 16:23:18 +0100
Message-ID: <20220120152319.7448-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220120152319.7448-1-roger.pau@citrix.com>
References: <20220120152319.7448-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0013.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::18) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: eb106a66-8c60-4d32-0ca6-08d9dc28f224
X-MS-TrafficTypeDiagnostic: BN7PR03MB3681:EE_
X-Microsoft-Antispam-PRVS: <BN7PR03MB3681136CAE152967F8390E298F5A9@BN7PR03MB3681.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: agARpoKQ+TSIVO96JM3GsGSYuJI0xuXEsD/SlgajnJDpXOUf6Ru/VeU3Xgjh3sbWF8CHavbuo66NIIvtqtppnUdsKbwuUlHyxKsvll6AroBRCdQpm0b2/bus4FiIntXToJ7bJKpNwNy+kdGDRtteAfueC28fQc/Wf2z+7LpOm9o0f7u1ooECcLspX64E8xC2/qlZhh6ymLGYJd/7eVMi6CJGPz1ORt5zwZoi05SPdaweL76tpXQU/dorzVFQV574QMBaAxjn0P/Q/XoCwsqGMnMnVJk0jg4kkZs60iq7cKHTB6iumF6RDWAS9y8Z8WhPbpMuImtTuni14elaoJ8Ll2ApLiTSIv9Xiq90YvMBpDujeip355h+HWWwuoS4HiYXbQMuw4AVUNqsDQt69SAq6k2lFxOCHRD7G5Ut3Ze44CuTtq+AXpJe/5LWOAqB7t58MretekJAMJ6nWeGJNnIi8OWHV8Amx4Wu5GT2Oqz6vYd1+2p6ii5tHwbmvWBbfHxM1OZjxvW7UFT+/36ptJuheZCalCsEKmL4gHh+yQ58CCWXFaw79rVYrAfLAzlXqdeCJpWX/0GsR2A4Z34OcPaOV1ozP35b8qegiTc5f1KSmeTBkzBlD1jQ0jk5PDZ4yCb+KacSGhRGtSKhDDJ8EhAaGA==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(66946007)(8676002)(6666004)(1076003)(508600001)(66476007)(54906003)(66556008)(2906002)(6512007)(82960400001)(8936002)(38100700002)(83380400001)(5660300002)(36756003)(26005)(6916009)(186003)(316002)(6506007)(6486002)(86362001)(4326008)(2616005);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?c3ZmSXdmY01wWUpNbGJwUHRJb29STkZrMEFKeWNJOHlrQlAzOE9wcXVEbmh6?=
 =?utf-8?B?VmxtOERueEN6cGRFMWh0dWF5TGVsS082UzNzUlNUMURKTTVRRHNDM3JDSEpJ?=
 =?utf-8?B?NTYrQU9PdHZJTmJ6eWNYc0M5K2VoK2YvYm9yd2RNL2YyTFZJa3d0Y1lUYTRr?=
 =?utf-8?B?dHptamxHNjRVcUo1Z3ZuYWNHM3Y3c1ZDdllGSGxCb1N4ZktnWTVqTGJFcExW?=
 =?utf-8?B?RWhUT3ZCRlhSY3d4dHU2YjFqYUtuUHFVV1RvelEwaEFrNk9MOUNOK1hMVVIy?=
 =?utf-8?B?VTQ2RTlDZVNnWk5zUjRVRlAwS1BpZFQxWGsyeE01TzFVclhJaWh0MHdSSm1k?=
 =?utf-8?B?SnY0VWtsVDNzeVJoa0l6SXJqc0FST0lKUTNNYXZ0ZkV0QmFlbURITkgrTTNP?=
 =?utf-8?B?NEFsTHVhdDU3K0lNV1A1RGt3SDhrVGdPdzdlcWo1QXB0U1N0ZEpmVVR6WEJO?=
 =?utf-8?B?b0dDRTEwK3Z6N3BidGRpeG5mb1djNDlMaWVLMC8vcWlVZTdlcFBaOEtodmRC?=
 =?utf-8?B?c1ZGdlU3K29rSUxuS0lPbmRQOW1RbFBZZ240aXV3cXVJbjNyYk0xOStPa2Yz?=
 =?utf-8?B?RkJtdEUvSlpucyszMWlIU1phN1F3MzY2SGE5aWRaMFdvN3c0TDE5OFJWK2NW?=
 =?utf-8?B?Nnk4WldUa0lzeXZJSG9qdjRDb2hyNW5OdFVNOW9lUEZsYVdzZnNQUFdrVmth?=
 =?utf-8?B?TTE5bU9MS2JyOUlUaUZEWVdhVUNIRGJqNUQ5czlxNFdkQkNJbGdGZkNWWlB2?=
 =?utf-8?B?RzhYcEJJWGgxaHQxWkdKd1B0ZFVIaWN6UWp3SHBnNzh0VWpFbXpENVIvcWM2?=
 =?utf-8?B?MG00QkJ0eUh1U1ZmT1JHRHRxeXpmcmpwazNEcytGa2VYQ2c2UzlwQ0lGNk9W?=
 =?utf-8?B?VHJUVUlHTGx3Z0RmUk1UeUtteCtIR29LNEhFeVZwVytWK2xyMndqdDVsUUlH?=
 =?utf-8?B?Z1FNMUMvL1BBdEE4c0FxelczSVNUek84QkFsYjFyV0l0bVhjNXNUcURPK0Z0?=
 =?utf-8?B?SEN2UkN4bFY4aFQ3dGdiQ3RyZkU0VVBQQlFmYzYvRFhGMWFPQWJUQVFtcHF0?=
 =?utf-8?B?dlk0VGZjbTBFNTBRcmcyT1JLQlhVenRGeDV5SW1Pb01aQWZPNnQ1Vk9zZTlK?=
 =?utf-8?B?RndsdjRxS0ordmVkQS8zY3BTb0I3bm1ZNzZjZ2djckZ3eVo0K0w3MHkvRjRx?=
 =?utf-8?B?QnZ5TzJMMXgzRWR0enYwb3lLZ09lcXMyaXJPRkkzV0pYRk81WHFFajkvdmZT?=
 =?utf-8?B?aEg2aUFQT2xoMU01L0J2LzFUMlFwa1VMVS9zemVQaWZKRHBMYXlDVVhZNnJ5?=
 =?utf-8?B?a3lCSm9LeXIvWmYvb0FwSytFbUZaZHlHMThrVDFZMTQzUWlmZVJKRkthTUVZ?=
 =?utf-8?B?M1JWRUJpL0ZUOUcxd2xBaXBtKzNMUG4wRGc5d0hGNG5RK3BheDJyVkt6M0gx?=
 =?utf-8?B?N3NhdHhQM0xkT05FYzFhRTFTVW0xZzRUSzJab0p5amkyeFJBRDNNdlljalAv?=
 =?utf-8?B?N2FpTXhEaEJXZnBEb0ZMM0F1eWJPSCtvQUgwdFJPbkRaYjRmS2pTQVRxRlVp?=
 =?utf-8?B?QlREaDk3eWlOTW5KTDUyNDFNN24yYnN0clAzN1kwY0orSE00bmI3N0pPSStE?=
 =?utf-8?B?TXFNclJ1VGpONDhjUCtsRkp3bDRLWFMzaGtLR3RIRkEvTVNNenhQalNCejJh?=
 =?utf-8?B?cE1pc1M2YnVWL1dOSWVtV1YrR3BFV0UyVC91ZE9yb3JEM1Q4cHVtTkROM0hK?=
 =?utf-8?B?VmlNdUlGemd1Qk1pZENlL0k3QjFuWmpPRThZWjVtZlAvem9jMlE3Zm9KQ3Vo?=
 =?utf-8?B?SjNLSW5LLzhQcEFQZTFyUy9yNGFsRmtLRVBnM1dJcVZpY2d2U3gydXd6UW11?=
 =?utf-8?B?MmxvYmRGWUZtOTh2T0t5TkNidWtjS0hrcUxKenlUOFRFSW1pZCtDZGF3WHVt?=
 =?utf-8?B?MTB3RURyM2dhYUl4VnRiMHh0VHBGaUVnYkdYaUc0M0kvOW5Bejd0V2ZSSUxo?=
 =?utf-8?B?bzM3WnZjQmtiOFdiLzRHd015U3lhTkEzell2Rm9QVHJxUWMwZ0ttWFBPL0JI?=
 =?utf-8?B?WngzcURzRVpVS0tJNFNTalpWUHdpNE85OXRaNkJEQ3dFQTlKQkEvZG92azBV?=
 =?utf-8?B?NE9sakNYQXZhWmdockJDYmxMcEN1Q011cXZ0RGpPQ2ZRb0J5a3k2S3pOdkVN?=
 =?utf-8?Q?i6nIbeAEg3sY1sn12ayTiE4=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: eb106a66-8c60-4d32-0ca6-08d9dc28f224
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2022 15:24:27.0449
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: j0axAw5kI8i6o96GL9ahRrB7vVBrRJNDcm5rjbWDuM4kc5sL8URALLKAfY5p0Rb2eXW/uRnh0RU4CnVB4R7RRA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR03MB3681
X-OriginatorOrg: citrix.com

Both QEMU/KVM and HyperV support using bits 11:5 from the MSI address
field in order to store the high part of the target APIC ID. This
allows expanding the maximum APID ID usable without interrupt
remapping support from 255 to 32768.

Note the interface used by QEMU for emulated devices (via the
XEN_DMOP_inject_msi hypercall) already passes both the address and
data fields into Xen for processing, so there's no need for any change
to QEMU there.

However for PCI passthrough devices QEMU uses the
XEN_DOMCTL_bind_pt_irq hypercall which does need an addition to the
gflags field in order to pass the high bits of the APIC destination
ID.

Introduce a new CPUID flag to signal the support for the feature. The
introduced flag covers both the support for extended ID for the
IO-APIC RTE and the MSI address registers. Such flag is currently only
exposed when the domain is using vPCI (ie: a PVH dom0).

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/arch/x86/hvm/irq.c              |  3 ++-
 xen/arch/x86/hvm/vmsi.c             | 13 ++++++++++---
 xen/arch/x86/include/asm/hvm/hvm.h  |  5 +++--
 xen/arch/x86/include/asm/msi.h      |  1 +
 xen/arch/x86/traps.c                |  3 +++
 xen/drivers/passthrough/x86/hvm.c   | 10 +++++++---
 xen/include/public/arch-x86/cpuid.h |  6 ++++++
 xen/include/public/domctl.h         |  1 +
 8 files changed, 33 insertions(+), 9 deletions(-)

diff --git a/xen/arch/x86/hvm/irq.c b/xen/arch/x86/hvm/irq.c
index 52aae4565f..b9b5182369 100644
--- a/xen/arch/x86/hvm/irq.c
+++ b/xen/arch/x86/hvm/irq.c
@@ -383,7 +383,8 @@ int hvm_set_pci_link_route(struct domain *d, u8 link, u8 isa_irq)
 int hvm_inject_msi(struct domain *d, uint64_t addr, uint32_t data)
 {
     uint32_t tmp = (uint32_t) addr;
-    uint8_t  dest = (tmp & MSI_ADDR_DEST_ID_MASK) >> MSI_ADDR_DEST_ID_SHIFT;
+    unsigned int dest = (MASK_EXTR(tmp, MSI_ADDR_EXT_DEST_ID_MASK) << 8) |
+                        MASK_EXTR(tmp, MSI_ADDR_DEST_ID_MASK);
     uint8_t  dest_mode = !!(tmp & MSI_ADDR_DESTMODE_MASK);
     uint8_t  delivery_mode = (data & MSI_DATA_DELIVERY_MODE_MASK)
         >> MSI_DATA_DELIVERY_MODE_SHIFT;
diff --git a/xen/arch/x86/hvm/vmsi.c b/xen/arch/x86/hvm/vmsi.c
index 13e2a190b4..ec0f3bc13f 100644
--- a/xen/arch/x86/hvm/vmsi.c
+++ b/xen/arch/x86/hvm/vmsi.c
@@ -66,7 +66,7 @@ static void vmsi_inj_irq(
 
 int vmsi_deliver(
     struct domain *d, int vector,
-    uint8_t dest, uint8_t dest_mode,
+    unsigned int dest, unsigned int dest_mode,
     uint8_t delivery_mode, uint8_t trig_mode)
 {
     struct vlapic *target;
@@ -107,7 +107,9 @@ void vmsi_deliver_pirq(struct domain *d, const struct hvm_pirq_dpci *pirq_dpci)
 {
     uint32_t flags = pirq_dpci->gmsi.gflags;
     int vector = pirq_dpci->gmsi.gvec;
-    uint8_t dest = (uint8_t)flags;
+    unsigned int dest = MASK_EXTR(flags, XEN_DOMCTL_VMSI_X86_DEST_ID_MASK) |
+                        (MASK_EXTR(flags,
+                                   XEN_DOMCTL_VMSI_X86_EXT_DEST_ID_MASK) << 8);
     bool dest_mode = flags & XEN_DOMCTL_VMSI_X86_DM_MASK;
     uint8_t delivery_mode = MASK_EXTR(flags, XEN_DOMCTL_VMSI_X86_DELIV_MASK);
     bool trig_mode = flags & XEN_DOMCTL_VMSI_X86_TRIG_MASK;
@@ -123,7 +125,8 @@ void vmsi_deliver_pirq(struct domain *d, const struct hvm_pirq_dpci *pirq_dpci)
 }
 
 /* Return value, -1 : multi-dests, non-negative value: dest_vcpu_id */
-int hvm_girq_dest_2_vcpu_id(struct domain *d, uint8_t dest, uint8_t dest_mode)
+int hvm_girq_dest_2_vcpu_id(struct domain *d, unsigned int dest,
+                            unsigned int dest_mode)
 {
     int dest_vcpu_id = -1, w = 0;
     struct vcpu *v;
@@ -645,6 +648,8 @@ static unsigned int msi_gflags(uint16_t data, uint64_t addr, bool masked)
      */
     return MASK_INSR(MASK_EXTR(addr, MSI_ADDR_DEST_ID_MASK),
                      XEN_DOMCTL_VMSI_X86_DEST_ID_MASK) |
+           MASK_INSR(MASK_EXTR(addr, MSI_ADDR_EXT_DEST_ID_MASK),
+                     XEN_DOMCTL_VMSI_X86_EXT_DEST_ID_MASK) |
            MASK_INSR(MASK_EXTR(addr, MSI_ADDR_REDIRECTION_MASK),
                      XEN_DOMCTL_VMSI_X86_RH_MASK) |
            MASK_INSR(MASK_EXTR(addr, MSI_ADDR_DESTMODE_MASK),
@@ -835,6 +840,7 @@ void vpci_msi_arch_print(const struct vpci_msi *msi)
            msi->data & MSI_DATA_LEVEL_ASSERT ? "" : "de",
            msi->address & MSI_ADDR_DESTMODE_LOGIC ? "log" : "phys",
            msi->address & MSI_ADDR_REDIRECTION_LOWPRI ? "lowest" : "fixed",
+           (MASK_EXTR(msi->address, MSI_ADDR_EXT_DEST_ID_MASK) << 8) |
            MASK_EXTR(msi->address, MSI_ADDR_DEST_ID_MASK),
            msi->arch.pirq);
 }
@@ -904,6 +910,7 @@ int vpci_msix_arch_print(const struct vpci_msix *msix)
                entry->data & MSI_DATA_LEVEL_ASSERT ? "" : "de",
                entry->addr & MSI_ADDR_DESTMODE_LOGIC ? "log" : "phys",
                entry->addr & MSI_ADDR_REDIRECTION_LOWPRI ? "lowest" : "fixed",
+               (MASK_EXTR(entry->addr, MSI_ADDR_EXT_DEST_ID_MASK) << 8) |
                MASK_EXTR(entry->addr, MSI_ADDR_DEST_ID_MASK),
                entry->masked, entry->arch.pirq);
         if ( i && !(i % 64) )
diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/hvm/hvm.h
index b26302d9e7..f001b43a21 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -270,11 +270,12 @@ uint64_t hvm_get_guest_time_fixed(const struct vcpu *v, uint64_t at_tsc);
 
 int vmsi_deliver(
     struct domain *d, int vector,
-    uint8_t dest, uint8_t dest_mode,
+    unsigned int dest, unsigned int dest_mode,
     uint8_t delivery_mode, uint8_t trig_mode);
 struct hvm_pirq_dpci;
 void vmsi_deliver_pirq(struct domain *d, const struct hvm_pirq_dpci *);
-int hvm_girq_dest_2_vcpu_id(struct domain *d, uint8_t dest, uint8_t dest_mode);
+int hvm_girq_dest_2_vcpu_id(struct domain *d, unsigned int dest,
+                            unsigned int dest_mode);
 
 enum hvm_intblk
 hvm_interrupt_blocked(struct vcpu *v, struct hvm_intack intack);
diff --git a/xen/arch/x86/include/asm/msi.h b/xen/arch/x86/include/asm/msi.h
index e228b0f3f3..531b860e42 100644
--- a/xen/arch/x86/include/asm/msi.h
+++ b/xen/arch/x86/include/asm/msi.h
@@ -54,6 +54,7 @@
 #define MSI_ADDR_DEST_ID_SHIFT		12
 #define	 MSI_ADDR_DEST_ID_MASK		0x00ff000
 #define  MSI_ADDR_DEST_ID(dest)		(((dest) << MSI_ADDR_DEST_ID_SHIFT) & MSI_ADDR_DEST_ID_MASK)
+#define	 MSI_ADDR_EXT_DEST_ID_MASK	0x0000fe0
 
 /* MAX fixed pages reserved for mapping MSIX tables. */
 #define FIX_MSIX_MAX_PAGES              512
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 485bd66971..3d2d75978c 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -1150,6 +1150,9 @@ void cpuid_hypervisor_leaves(const struct vcpu *v, uint32_t leaf,
         res->a |= XEN_HVM_CPUID_DOMID_PRESENT;
         res->c = d->domain_id;
 
+        if ( has_vpci(d) )
+            res->a |= XEN_HVM_CPUID_EXT_DEST_ID;
+
         break;
 
     case 5: /* PV-specific parameters */
diff --git a/xen/drivers/passthrough/x86/hvm.c b/xen/drivers/passthrough/x86/hvm.c
index 351daafdc9..666c4b7757 100644
--- a/xen/drivers/passthrough/x86/hvm.c
+++ b/xen/drivers/passthrough/x86/hvm.c
@@ -269,7 +269,7 @@ int pt_irq_create_bind(
     {
     case PT_IRQ_TYPE_MSI:
     {
-        uint8_t dest, delivery_mode;
+        unsigned int dest, delivery_mode;
         bool dest_mode;
         int dest_vcpu_id;
         const struct vcpu *vcpu;
@@ -345,7 +345,9 @@ int pt_irq_create_bind(
         }
         /* Calculate dest_vcpu_id for MSI-type pirq migration. */
         dest = MASK_EXTR(pirq_dpci->gmsi.gflags,
-                         XEN_DOMCTL_VMSI_X86_DEST_ID_MASK);
+                         XEN_DOMCTL_VMSI_X86_DEST_ID_MASK) |
+               (MASK_EXTR(pirq_dpci->gmsi.gflags,
+                         XEN_DOMCTL_VMSI_X86_EXT_DEST_ID_MASK) << 8);
         dest_mode = pirq_dpci->gmsi.gflags & XEN_DOMCTL_VMSI_X86_DM_MASK;
         delivery_mode = MASK_EXTR(pirq_dpci->gmsi.gflags,
                                   XEN_DOMCTL_VMSI_X86_DELIV_MASK);
@@ -782,7 +784,9 @@ static int _hvm_dpci_msi_eoi(struct domain *d,
          (pirq_dpci->gmsi.gvec == vector) )
     {
         unsigned int dest = MASK_EXTR(pirq_dpci->gmsi.gflags,
-                                      XEN_DOMCTL_VMSI_X86_DEST_ID_MASK);
+                                      XEN_DOMCTL_VMSI_X86_DEST_ID_MASK) |
+                            (MASK_EXTR(pirq_dpci->gmsi.gflags,
+                                XEN_DOMCTL_VMSI_X86_EXT_DEST_ID_MASK) << 8);
         bool dest_mode = pirq_dpci->gmsi.gflags & XEN_DOMCTL_VMSI_X86_DM_MASK;
 
         if ( vlapic_match_dest(vcpu_vlapic(current), NULL, 0, dest,
diff --git a/xen/include/public/arch-x86/cpuid.h b/xen/include/public/arch-x86/cpuid.h
index ce46305bee..49bcc93b6b 100644
--- a/xen/include/public/arch-x86/cpuid.h
+++ b/xen/include/public/arch-x86/cpuid.h
@@ -102,6 +102,12 @@
 #define XEN_HVM_CPUID_IOMMU_MAPPINGS   (1u << 2)
 #define XEN_HVM_CPUID_VCPU_ID_PRESENT  (1u << 3) /* vcpu id is present in EBX */
 #define XEN_HVM_CPUID_DOMID_PRESENT    (1u << 4) /* domid is present in ECX */
+/*
+ * Bits 55:49 from the IO-APIC RTE and bits 11:5 from the MSI address can be
+ * used to store high bits for the Destination ID. This expands the Destination
+ * ID field from 8 to 15 bits, allowing to target APIC IDs up 32768.
+ */
+#define XEN_HVM_CPUID_EXT_DEST_ID      (1u << 5)
 
 /*
  * Leaf 6 (0x40000x05)
diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
index b85e6170b0..17ac7ef82b 100644
--- a/xen/include/public/domctl.h
+++ b/xen/include/public/domctl.h
@@ -588,6 +588,7 @@ struct xen_domctl_bind_pt_irq {
 #define XEN_DOMCTL_VMSI_X86_DELIV_MASK   0x007000
 #define XEN_DOMCTL_VMSI_X86_TRIG_MASK    0x008000
 #define XEN_DOMCTL_VMSI_X86_UNMASKED     0x010000
+#define XEN_DOMCTL_VMSI_X86_EXT_DEST_ID_MASK 0xfe0000
 
             uint64_aligned_t gtable;
         } msi;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Jan 20 15:24:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 15:24:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259098.446923 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAZIe-0002JP-52; Thu, 20 Jan 2022 15:24:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259098.446923; Thu, 20 Jan 2022 15: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 1nAZIe-0002JI-0j; Thu, 20 Jan 2022 15:24:32 +0000
Received: by outflank-mailman (input) for mailman id 259098;
 Thu, 20 Jan 2022 15:24:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zWAP=SE=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nAZIc-0002If-Fj
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 15:24:30 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0d8da0fe-7a05-11ec-bc18-3156f6d857e4;
 Thu, 20 Jan 2022 16:24:28 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d8da0fe-7a05-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642692268;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=4a3/Q0RCRAIzVsbylk0dVQpRukc6ECRISNJDdjHvaTE=;
  b=XkdguJgy7T1u59KN/ZmIycl0hv4oAh+NxpvQpC2qAdh8YUlVPbpKiwLW
   wDUf6q4JFX7aPNAL/kmx/JhUved1fDwRdF9HqRJ2Zk9Q2Y/9HzJffUxW4
   5FJAbelCUQDKMy6yG9jR8n2jcopSRsEN3b/N/qzFhsARebi65INeZkxa8
   8=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: VG2yeJKpVZABsNV9wVachVRT8Z0y2CdCerJHEI39cBDaZwJLrXAew0sEJOmP+J3hGdwAqHxRop
 TzbNpHsXs1Kgc9dKKt4ciswtN4huoOLCxKtgEWuB1alDtnndS4/kkhbtAfjFp4O266DnBaqQ8H
 tQFfWSv8I/PcMNCMxGZbUfHbEPXcTbT8U+pis1D4Z0eNIehYtfNGIogF2YA8txpvqB0M1SrfJt
 t+m9baKw1gC/vt9Q/p0iymRV76tUD+G3LGBambvLRN+W1ZkzHpdobnqaCLMnfV7pBmridQ9GDK
 g9vDGzCTNR6DoZavo98M0O3T
X-SBRS: 5.2
X-MesageID: 62409312
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:vYHpMao+aVcVkXexPOaUgY2efjxeBmL5YhIvgKrLsJaIsI4StFCzt
 garIBmEP6yCZmr9e95+aIjg/EIEuZOAxtZjGwJlqiswFiMapJuZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlZT4vE2xbuKU5NTsY0idfic5Dndx4f5fs7Rh2NQw2ILhW1nlV
 e7a+KUzBnf0g1aYDUpMg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJ8DO+iL
 9sv+Znilo/vE7XBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XnRfTAKtao2zhojx/9
 DlCnaezRS0GF/T8o8ImcEgbPT0lOY4e3rCSdBBTseTLp6HHW37lwvEoB0AqJ4wIvO1wBAmi9
 9RBdmpLNErawbvrnvTrEYGAhex6RCXvFJkYtXx6iynQEN4tQIzZQrWM7thdtNs1rp4UQa6PP
 JNDAdZpRD7lehtFJnwyNKovge2r3VL7ajdVpk3A8MLb5ECMlVcsgdABKuH9ZdiiVchT2EGCq
 Qru/W70HxUbP9y30iee/zSngeqntTP2XsceGaO18tZugUaP3SoDBRsOT1y5rPKlzEmkVLpix
 1c8o3R06/JorQryE4e7D0bQTGO4UgA0YNlcOcITsTG27JH3skW3GjMAbWZnZ4lz3CMpfgAC2
 liMltLvIDVgtryJVH6QnoupQSOO1Ts9djFbO3JdJecRy5y6+dxo0EqTJjp2OPft1oWdJN3m/
 9ydQMHSbZ03hNVD6ai09Euvb9mE9smQFV5dCuk6swuYAuJFiGyNO93ABbvzt68owGOlor+p5
 iRsdy+2trFmMH11vHbRKNjh5Znwjxp/DBXSgER0A74q/Cm39niocOh4uW8ifhkwbZZYJ2OwM
 Cc/XD+9ArcJYBNGiocsO+qM5zkCl/C8RbwJqNiJBjaxXnSBXFDep3w/DaJh92vsjFItgckC1
 WSzKq6R4YIhIf0/llKeHr5FuZdyn3xW7T6NGfjTkkr2uZLDNC/9YepUazOmM7FmhJ5oVS2Iq
 b6zwePQlUUGOAA/CwGKmbMuwacidChiWsuu+pUJL4Zu4GNOQQkcNhMY+pt4E6RNlKVJjObYu
 Ha7X05T0l3kgnPbbw6NbxhehHnHB/6TdFo3Yn4hO0iGwX8mbdr95asTbcJvL7Im6PZi3bh/S
 PxcI5eMBfFGSzLm/TUBbMai8Nw+JUrz3Q/ebTC4ZDUffoJ7Q1Cb8NHTYQaypjIFCTC6tJVir
 uT4hB/bW5cKWy9rEN3SNKC011q0sHVEwLByUkLEL8N9YkLp9IQ2eSX9guVue5MHKAnZxyvc3
 AGTWE9Kqe7Iqo4z0d/ImaHb8Nv5T7ogRhJXRjCJ46y3OC/W+nuY7bVBCOvYLyrAUG7U+bm5Y
 bkHxf/LL/Bazk1BtJBxEug3wPtmtcfvvbJT0i9tAG7PMwawErplL3SLgZtPu6lKyuMLsAe6Q
 BvSqNxTOLHPM8L5Cl8BYgEia73bh/0TnzDT69UzIVn7u3ArrObWDx0KMknekjFZIZt0LJghk
 LUot8Mh4gCijgYnb4SdhSdO+mXQdnENXs3LbH3B7FMHXubz9mx/XA==
IronPort-HdrOrdr: A9a23:rKcY/q+jGOhLX6lSMKpuk+FAdb1zdoMgy1knxilNoENuHfBwxv
 rDoB1E73LJYVYqOU3Jmbi7Sc29qBTnhOJICOgqTMqftWzd1ldAQ7sSi7cKrweQeREWs9Qtrp
 uIEJIOeeEYb2IK9PoSiTPQe71LoKjlzEnrv5al854Ed3AVV0gK1XYfNu/0KDwSeOEQbqBJa6
 Z0q/A37AaISDAyVICWF3MFV+/Mq5nik4/nWwcPA1oC5BOVhT2lxbbmG1zAty1uHg9n8PMHyy
 zoggb57qKsv7WSzQLd7Xba69BzlMH6wtVOKcSQgow+KynqiCyveIN9Mofy9gwdkaWK0hIHgd
 PMqxAvM4Ba7G7QRHi8pV/X1wzpwF8Vmgnf4G7dpUGmjd3yRTo8BcYEr5leaAHl500pu8w5+L
 5X3kqC3qAnQy/orWDY3ZzlRhtqnk27rT4JiugIlUFSVoMYdft4sZEfxkVIC50NdRiKp7zPKN
 MeTP002cwmMm9zNxvizytSKZ2XLzgO9y69Mwk/Upf/6UkSoJh7p3Fos/D30E1wsK7VcKM0lN
 gsBJ4Y4I2mfvVmHZ6VO91xM/dfcla9OS4kEFjiaGgPR5t3c04klfbMkcAIDaeRCds18Kc=
X-IronPort-AV: E=Sophos;i="5.88,302,1635220800"; 
   d="scan'208";a="62409312"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZK9nOco/EilnsHlZ055r9UYH/ckG0bR/a7JcIKinyLXSZYCDKYH4A10x/XSdmpkRPlfghbloRaKVeKLH9xXKzfjSRmHHNnFA5Ddo9F1Rn/1soJ1tuSsiuZj7g59SEPpTUHp1ZQeTuXkwallVwigSB55bsDHa3ZHd/Z/B+0LjnhtWtFj8GZ+B54ydnsLAcFax8jtbIW1b7GNa+A0iHrR0kLp68uS0KSid1fNi45+waeo3P5OmFiynbGxy60qSyJYs8mM/XO5wixha0CJieBnFSnCBKCw931ITCYIyEONfq3q0ocFpN5uG7q6JS4wK16+qp4j6JEqG+Yv1OjBu0l450w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/dvTLYhjmAw3K+JdKd8oL5ONXrixpcBGkdbNVDU5IWY=;
 b=G+qDYhx2sR69CCmyHuDenOx4UEtx6K7WxYiup0H2cqH2sF6UIS7SfKCuc2RjW7xDhuBLXzGQDlU704ZQhLqEqeTzwiz7U6VcUzhx4Cjd0MmcredyGPfkVi++/urHYJSYIZ/dsTn5pYUr0Fw09U3k3EcVLiX9X7CxeFCmlln3kvx/90xKeyqrY37PywPGikfZSz/DhC6G918e5m1IoL8U0Ira0Vhg1IDujeZW7uArOGhuyeN2tXbtHDdr/C5IzB4aq2Pkh6zFU3WRL/BIhU2M1XbloM2VywcRzYUvHaV+V3nZDWSUInI97S2YjZbNV98J6HWpb5eVmYGkj/nmUQQ0tg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/dvTLYhjmAw3K+JdKd8oL5ONXrixpcBGkdbNVDU5IWY=;
 b=kyvJvWG/kY/B3G7IWly5jVO6zWzQY0dOvKDvLENfPLNMaiUft7W7WhNmvtm607j/csN0+FuGMwW0slTz3SYlpdvAP5LokQDOcluYYV/Ohl0YELLZUpGoj/H5bjroG+8Hp7bVJkkKk/xH6hVykMOXvUwPBKBa5BXQAGcn7aQ04Hg=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH 1/3] xen/vioapic: add support for the extended destination ID field
Date: Thu, 20 Jan 2022 16:23:17 +0100
Message-ID: <20220120152319.7448-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220120152319.7448-1-roger.pau@citrix.com>
References: <20220120152319.7448-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0066.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::12) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 18b2fc7b-3ba5-493b-0e5e-08d9dc28ef3d
X-MS-TrafficTypeDiagnostic: BN7PR03MB3681:EE_
X-Microsoft-Antispam-PRVS: <BN7PR03MB368121C33CB1080FCA0DD2BD8F5A9@BN7PR03MB3681.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: q8q40r9AlJV5wBydfCmEOY7XSwcVbpYZQ/5/kWSvQa910gOiuXbWShL6RH8glLD7K+ULl6HcSjsfSdl/9FCd/zMXBVlX/87bqlJDARtOvC6sCitUVxaUn/IFh21b8A6RHVdrSCEpP41jRCBRMUX8TIUnS15OKh7hEfQ39iCLZNJHBIbObhjKGlwHOrs0MrigjnTVYBNv5rGNtc3ggfP+GcsmBSwMhoUxJ1flHP7Vs5Xh9+FI3YFK+Y8lMPdeLGgUfAZweC5/IP37YWHCJnAKjDanzSLOpPIPX7WvtRsnphbwIHjVZtcgVrEgJHsg/9leTD15MMomr/U+tWw8gLdYF8Et7L0OR7POL46yDzkj0IUZ5ccZAEr0bmODNdn3b1CUtsjP+9B6ValeVlFRtZnDz+78W+zeBSIJbx+oKcske4jrqKIYe0Xpek+z7XbfYGTA5GO+vtdRP2YLV4MfW3jENNsU/cCEXNXY7Bnuw+13imwATsM8uccQ/b9okve+EoCKxBV1xk7OcpK3P1Mqhcl1d75jChMehOYYefqkygrUqrIjKcs0F9lqUdJ8lCT+IRsuIjDgft2jPQbplmhiBEtLyu2i1G4iYAcSoJVsqNqIDJ1JWjUevwvMfMTvhM8BrXtS/p1BkIIavi+On2GB24OJgw==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(66946007)(8676002)(6666004)(1076003)(508600001)(66476007)(54906003)(66556008)(2906002)(6512007)(82960400001)(8936002)(38100700002)(83380400001)(5660300002)(36756003)(26005)(6916009)(186003)(316002)(6506007)(6486002)(86362001)(4326008)(2616005);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?QThqOXZJZTZzaTZVV3hOQkhyT0szU0lHMGFzUFdBYmlSemxaVWpwQ0d0ZFNs?=
 =?utf-8?B?Q2xxdVZTWUlqcmtSM2paTmoyNy90bnpPS3VPR0VEL0pZQVFLUU5tUWxxSFk5?=
 =?utf-8?B?KzJ0amdKbDNiVW90ejFUWS8rQXlYajY2VVlVdDZWWTVtbnVySENzTUZaYW12?=
 =?utf-8?B?bkI0b1VpbzBoQVZDUHFqaXVwY1lEdGNueWdvcUtOZVVoc2QyZkFaNkU2UDR2?=
 =?utf-8?B?UVJOVHlIOCtRYXc5Mm42RDUvYkUvYWxmeml0YWlEaW9oQ3dPMWx5QmQ2RGlU?=
 =?utf-8?B?T2Y4OE5wd2xOdEFvby9aOGpqK21naFp1Qy8yaWVWTlFraDJlbGpudGcwTE5h?=
 =?utf-8?B?eDI0WnhDL0kyTkxaMHA4TWErdng3THNpRFB0anB1TTJGblFMdFgrSGVybnp5?=
 =?utf-8?B?dm5rMnRjUW4wYXYrc2tpalNnRVRsV1p2amNaZWFSODRibUFvYkIwZHFCMXBk?=
 =?utf-8?B?OHpTOTE1WlFDa25xY09Id0I1Slg2eEtRZ3VHY3QyWlhQU2tweDVoYzdQd3lw?=
 =?utf-8?B?amEyc2psZndsMjMweFJsQWJGdjFIWWpzVXZjNis2Sy90L1B2RGN5MUhNQ2wv?=
 =?utf-8?B?SzkvUlB1UEhXbUM5ejBYdFpKRGZ4V0ZseWtLNVFEQnEwbnJCUktMemxTeWth?=
 =?utf-8?B?cW9nNkFZekJFK0RkRjJMc01jNTd3eTY0WjFOcFRwUHY0SmxicjZhWkNKRElp?=
 =?utf-8?B?VDl2QlBscTcveXdoYjV0QjQwNGxmOFNTSUVPQXZDdFptRzZPb2grQnk3UlJa?=
 =?utf-8?B?TUVXa3p3M0EwR0trZVRaMm10V1J2V243TVVTZDV5aFBmK3kzdzZZSE54TXk2?=
 =?utf-8?B?SEdzd3lUUXlGTGFmZTJ0dWlKaXRGbUFZL3BlRWJzWWZhTEFxNnFhS1Eva0lW?=
 =?utf-8?B?WlRqbHEvaWxIMEMxRFl0N21mUFgxZ3RZREk3Mi9VWHFOQ2dWVlVPQ1VETmp4?=
 =?utf-8?B?eTBvdFBVbzFueFRaWGUwdW41cHVEZVl2T2toK2ZPUTIxWjBtbnBPYkxSWnZp?=
 =?utf-8?B?TEoyNUZUdVFWSFBwUExmSjQwNS9UTkdXMUM3WENob0VJVVNvaVlHSUpvYUt6?=
 =?utf-8?B?L1RDOEh3Q0FjRHZwQ09wcUR3b1FRaVd1L0F3WUtEc3Zsd0lveTVZczUreGw0?=
 =?utf-8?B?cW5IQTF3MDNEZzBsTTQyRUU0aURFRnRJY29KL1ZSMDRoMjRLc3dKRmRyYzlk?=
 =?utf-8?B?M2JCNit1NndlS3VrcEF4Tm5nQWJkbjRPb2kxMUhaY3h6Y2V0a2FxOGxqSmRV?=
 =?utf-8?B?eFVxWHZhUkRBM1h4KzNQWldPVGlHcld3Ym5yZzVHZmlFNEhqRXJZcU5tQVNT?=
 =?utf-8?B?dFRZNWpxK0IyMEZ6dHNSdXNXaTg0YUVXRVBGcjdzQWhMRWpQRkRzcFU5WlQx?=
 =?utf-8?B?c3lUbFB4bjROSFFRcFFCaEpPNXZ1V0ducmo3WmdLVDNKNDlHRVl4OGxSSTVk?=
 =?utf-8?B?THFTNUJJWk1WOUdTMWlYdmtzc1YvR0tSbWVzTGlOQ2grbmk4cFMvUHIwU3pU?=
 =?utf-8?B?MDdKQmdRRVNBclB0bGZvZnBTN3A2S0drN0dzUkowMm8rTENkOU9iTXE5WU4y?=
 =?utf-8?B?Q2NUQzB2emZuK1BMV3crMjlrTFNNUFVEdDBLOTA1SFJmTFdrSGNPL2xqVzVN?=
 =?utf-8?B?djcwNGtJaHRJUThPdzdSVkRLSTd1c3JoVXlkYitaVCtnd3l6RXB2T0hNZnRI?=
 =?utf-8?B?Z2graGJsSXgvZXRqU2UyQ2VoZTBZcWJXTzB1a0tFQ0NaK0xaVHRUTnlWZmYr?=
 =?utf-8?B?cW1wZDNTZjlhR1M2Y1hSQldKcW11alFnUjNWQW9BaGNkeVFKdS9JWkR5elBC?=
 =?utf-8?B?MTVPOW9rTGVMaWljbmMxSW11SlZTeWU2K01PZ1dSdHhKRXd0cldkK2NUbHJh?=
 =?utf-8?B?UmkrZld6QUxtcW94RVNCaFFNWHlXam9QaHdxQTFHcWNYSGdtWlc5TUptR0pR?=
 =?utf-8?B?VnBPTDJNTVJCTnV2WTRYRXA2Q3VKa09XSVlhUGZZR0JpRlphLzN6NEkyakFr?=
 =?utf-8?B?K3R1Yi9hekNnRE0xc3lmckhwQWNRSitaeTBxS1UwQmdETVJHQUx6YUJHMnYx?=
 =?utf-8?B?MHA1ZVFMM3dEV1FWb0pjVE1tMThQaHBzSHpvV0VOYkU2K2Q0ZSs4anQ3WHpQ?=
 =?utf-8?B?OVpoYktTeFNhN2krZDhReWJTYU9SaGtyaHlGd0xWSWd0aW5yZGZlTXFRMy8y?=
 =?utf-8?Q?f84k7NCuYmdiE/6RXHJztTI=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 18b2fc7b-3ba5-493b-0e5e-08d9dc28ef3d
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2022 15:24:22.2381
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dcMiHg5otU+WRxeIIz8+nqA25Z3PYA4qq2TyzonfV+8BjmKE2glLwGVBWdkEO1Fh6Tr/EAs10+CANsEe3pqidA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR03MB3681
X-OriginatorOrg: citrix.com

Such field uses bits 55:48, but for the purposes the register will be
used use bits 55:49 instead. Bit 48 is used to signal an RTE entry is
in remappable format which is not supported by the vIO-APIC.

Use the extended destination ID to store the high bits from the
destination ID, thus expanding the size of the destination ID field to
15 bits, allowing an IO-APIC to target APIC IDs up to 32768.

Note this is already supported by QEMU/KVM and HyperV.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/arch/x86/hvm/vioapic.c             | 3 ++-
 xen/include/public/arch-x86/hvm/save.h | 4 +++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/hvm/vioapic.c b/xen/arch/x86/hvm/vioapic.c
index 553c0f76ef..1f2305c232 100644
--- a/xen/arch/x86/hvm/vioapic.c
+++ b/xen/arch/x86/hvm/vioapic.c
@@ -412,7 +412,8 @@ static void ioapic_inj_irq(
 
 static void vioapic_deliver(struct hvm_vioapic *vioapic, unsigned int pin)
 {
-    uint16_t dest = vioapic->redirtbl[pin].fields.dest_id;
+    uint16_t dest = vioapic->redirtbl[pin].fields.dest_id |
+                    (vioapic->redirtbl[pin].fields.ext_dest_id << 8);
     uint8_t dest_mode = vioapic->redirtbl[pin].fields.dest_mode;
     uint8_t delivery_mode = vioapic->redirtbl[pin].fields.delivery_mode;
     uint8_t vector = vioapic->redirtbl[pin].fields.vector;
diff --git a/xen/include/public/arch-x86/hvm/save.h b/xen/include/public/arch-x86/hvm/save.h
index 773a380bc2..14a5d94588 100644
--- a/xen/include/public/arch-x86/hvm/save.h
+++ b/xen/include/public/arch-x86/hvm/save.h
@@ -376,7 +376,9 @@ union vioapic_redir_entry
         uint8_t trig_mode:1;
         uint8_t mask:1;
         uint8_t reserve:7;
-        uint8_t reserved[4];
+        uint8_t reserved[3];
+        uint8_t :1;
+        uint8_t ext_dest_id:7;
         uint8_t dest_id;
     } fields;
 };
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Jan 20 15:24:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 15:24:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259097.446912 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAZIZ-00022x-OM; Thu, 20 Jan 2022 15:24:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259097.446912; Thu, 20 Jan 2022 15:24:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAZIZ-00022q-KV; Thu, 20 Jan 2022 15:24:27 +0000
Received: by outflank-mailman (input) for mailman id 259097;
 Thu, 20 Jan 2022 15:24:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zWAP=SE=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nAZIY-00022k-IH
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 15:24:26 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0b843585-7a05-11ec-8fa7-f31e035a9116;
 Thu, 20 Jan 2022 16:24:24 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0b843585-7a05-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642692264;
  h=from:to:cc:subject:date:message-id:
   content-transfer-encoding:mime-version;
  bh=8fb7RMiMFJnQMVyLs39ZxwUK5iOY7w4da8yWLqWoJXY=;
  b=iA4egN4vAPfqZB/th+m4F9nlPUfs9d3V5rvlzVjJTPZYm7Kq7N94V7X1
   BLzYIm1BZKM078k08mMovK9Tbn0mVsa81vIaEHTfU7ktMFtSFquXOv27K
   dRo9IyEJqsggckQKdkvv8us3KkIBwxUQezWgkXf7SAcDh3c61zRXHZepL
   c=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: mvDfvPBcy8BPkBLBnGJrGjZWpIntUhhaZRUFYv7jyPxSxhHQxLWMQQEC1+F+EbhiQx7ckuV3uX
 NEw6NM2rb6cDM/Mt1YDQ+BXvHvMzI43pqk3y1afTZuG/Da0HpDR/Q5wZUbbVTBwgnwlwhoVL1i
 yRpe2gcuYE2hzjJjbzLDbSZ1MfH4hB8x4jXvMjUFBUP06KIRMsNPs9DFxy9Wh0T93e1hR1BQrw
 cgqIqOLhhUUYJVI+cqFtl5tm342ZgKiKFylzLGcIaMVZhKBKlH0CdW5PUBVXPY5LaVD5n9orml
 Omyx/6/MH0YrACfVcknVTQ9D
X-SBRS: 5.2
X-MesageID: 62819025
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:gImapK3+NYYK2z1mzfbD5Ux2kn2cJEfYwER7XKvMYLTBsI5bp2NSz
 zAWD22AO6zYYGqmeY13PYq08hgOvJ/WzNJjGgJlpC1hF35El5HIVI+TRqvS04J+DSFhoGZPt
 Zh2hgzodZhsJpPkS5PE3oHJ9RGQ74nRLlbHILOCanAZqTNMEn9700o6wbZh2OaEvPDia++zk
 YKqyyHgEAfNNw5cagr4PIra9XuDFNyr0N8plgRWicJj5TcypFFMZH4rHomjLmOQf2VhNrXSq
 9Avbl2O1jixEx8FUrtJm1tgG6EAaua60QOm0hK6V0U+6/TrS+NbPqsTbZIhhUlrZzqhgOxIy
 c5Ws76MYg4yE/PQtP4PCQZeDHQrVUFG0OevzXmXtMWSywvNcmf2wuUoB0YzVWEa0r8pWycUr
 6VecW1TKEDY7w616OvTpu1EnMMsIdOtJIoCknph0SvYHbAtRpWrr6Diu4UIhWZo3J0m8fD2V
 ddEWDBLRgn8RD5kPFo8M8w3pMm5ryyqG9FfgA3M/vdmi4TJ9yRzzbzsPdz9atGMA8JPkS6wv
 Xna9m70BhUbMt23yjef9H+owOjVkkvTQIsPEJWo+/gsh0ecrkQDBRtTWValrP2Rjk+lR8kZO
 0ES4jApr6U56AqsVNaVdx+yrWOAvxUcc8FNCOB84waIooLL5y6JC25CSSROAOHKr+dvG2Zsj
 AXQ2Yq0W3o/69V5VE5x6J+LkQqzIjMTD1MpbDQpExcp+cu5v4cs20enoslYLIa5idj8GDfVy
 j+MrTQji7h7sfPnx5lX7nic3Wvy+8Ghohodo1yOAzn7tl8RiJuNPtTwsTDmAeB8wJF1p7Vrl
 FwNgICg4e8HFvlhfwTdEbxWTNlFCxtoWQAwYGKD/bF9plxBGFb5JOi8BQ2Swm8zbq7onhezM
 SfuVft5vsM7AZdTRfYfj3iNI8or17P8Mt/uS+rZaNFDCrAoKlPdongxNRLOgzm9+KTJrU3ZE
 c3HGSpLJS1CYZmLMRLsH7tNuVPV7n1WKZzvqWDTkE38jOv2iI+9QrYZKlqeBt3VH4vfyDg5B
 +13bpPQoz0GCbWWSnCOreY7cA5WRVBmW8Geg5EHJ4arf1s9cEl8WqC5/F/UU9E/90ijvr2Wr
 ijVt44x4AeXuEAr3i3TOik8M+u+BMgmxZ/5VAR1VWuVN7EYSd/HxI8UdoctfKlh8+pmzPVuS
 OICddnGCfNKIgkrMRxCBXUkhIA9JhmtmyyUOC+pPGo2c5J6HlSb8d74ZAr/siIJC3Pv58c5p
 rSh0CLdQIYCGFs+XJqHNqr3wgPjp2UZlcJzQ1DMfotZdnLz/dU4MCf2lPI2fZ0BcE2R2juA2
 g+KKh4Evu2R8ZQt+dzEiPnc/YekGudzBGRAGGzf4erkPCXW5DP7k4RBTPyJbXbWU2atoPeuY
 uBczvfdNvwbnQkV79ogQugzla9nvonhvb5XyAhgDU7nVVXzB+MyOGSC0OlOqrZJmu1TtzypV
 x/d4dJdI7iIZp/oSQZDOAo/Y+2f/vgIgT2Ov+8tKUD36SIrrrqKVUJeY0uFhCBHdeYnNYokx
 aEqudIM6hz5gR0va47UgidR/mWKD3oBT6R46c1KXN610lImmgNYfJjRKi7q+5XeOdxDP34jL
 iKQmKef1a9XwVDPciZrGHXAtQaHaU/iZPyeIIc+Gmm0
IronPort-HdrOrdr: A9a23:1NercaGrV8M4yLukpLqFBJHXdLJyesId70hD6qkvc3Nom52j+/
 xGws536faVslcssHFJo6HlBEDmewKnyXcV2/hrAV7GZmfbUQSTXedfBOfZsl/d8k7Fh5FgPM
 VbAtFD4bTLZDAQ56aKgzVQe+xQvOVvm5rY4ts2oU0dKD2DPMpbnnpE40ugYwRLbTgDIaB8OI
 uX58JBqTblUXMLbv6jDn1Ae+TYvdXEmL/vfBZDXnccmUKzpALtzIS/PwmT3x8YXT8K6bA+8V
 Ldmwi8wqm4qfm0xjLVymeWxZVLn9nKzMdFGaW3+4AoAwSprjztSJVqWrWEsjxwiOaz6GwymN
 2JmBskN9Qb0QKkQkiF5T/WnyXw2jcn7HHvjXWCh2H4nMD/TDUmT+JcmINwaHLimgYdleA59J
 gO83OStpJRAx+Ftj/6/cL0WxZjkVfxiWY+kNQUk2dUXeIlGfJsRLQkjQ1o+ao7bWPHANhNKp
 gvMCic3ocdTbqiVQGXgoE1q+bcHUjaHX+9Mz0/U4KuonprdUtCvjolLfok7wU9HaIGOud5Dt
 v/Q9RVfcl1P7crhIJGdZA8qJiMexrwqSylChPgHb2gLtBDB07w
X-IronPort-AV: E=Sophos;i="5.88,302,1635220800"; 
   d="scan'208";a="62819025"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QY+dhkgiOciq3j4LPRHSTs+QwW8oeJsEwkWUfMmnbMZB2yEEJ8AB7JWL5g6CMygpiuWgHczaIr5qIKQ0mJrF5+VPZEbWKrmv+JRAxqkPLS0t7CK6W4MxDmweheK8y/7v3ctHujKQEEvRKxick9kvj1LpHu/oU+g0XXfM024mZwRw7MqWjNn7l24LCmBgnkLcux7eWgc/HwNobsN1Nz4cCDiSnTUCC0cEdfvMLRgcoH1vV6BdFDxqoxfdVk/MXK76zjmSzzI17ahE06DoMECzo6NDdxeqVYnEc5EERQIq4++CYxc1Xqr1JDsBSY7F9bLICpLnI632+TOyl+xyT5Eb0A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=c6q8iNvYXzBZ/weoKdbnWcs68ru8NG/sGIelZyH/eWc=;
 b=RucK10Okiw5ID9kyS/TIfL5e+zVKWooKTbPtGeX2yVxKqDxUrkC/2IO1TtHN15CJnwXWVY69UgKMxn3eWEqQI4pNpwrrgoi6g4WijFIVcgTEoNWjwUWmkfAseg1LzWo9XiFIg/qLsNGvG0O94I14PStdvqLceCUK0s3sRo7kniutVF3pzVfEQ18ja3Y8TwPdc1JHc87DU0O9S1HGZF8WoS9tCOmtsxZdS4PoGGqtiVe5klIKP9RSPXSdIBU4wTYB6hX428j/D8MIcVZcFlSWLmDgLyvwEkaJSclyk2JEB07UNOk+j+EU/eA0Qez3JkWhEbO0VD5NYsyPhTU5aUwBeA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=c6q8iNvYXzBZ/weoKdbnWcs68ru8NG/sGIelZyH/eWc=;
 b=Eb59BmNhgGG3Pib41rxqIg+t2VSTh4Mj99yB+LWr8u1qf1z/8NEBar3yB5DB3gEiU7lmXZW5iNM2/dIJffsv35PDkpZnhF4y7R0t0GVaTw9hSrFUcCBK+ZPkJceeQ8qZ8MM5Iia1BgJcOwPe9yMXTPBhdFNo1BG47koFLPBRZgc=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>, George
 Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Paul Durrant <paul@xen.org>
Subject: [PATCH 0/3] x86/hvm: add support for extended destination ID
Date: Thu, 20 Jan 2022 16:23:16 +0100
Message-ID: <20220120152319.7448-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0078.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::19) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 640918eb-70c1-4655-889f-08d9dc28ec86
X-MS-TrafficTypeDiagnostic: CO1PR03MB5906:EE_
X-Microsoft-Antispam-PRVS: <CO1PR03MB590615A0A6F29223F49772498F5A9@CO1PR03MB5906.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: QeC5dh//YtdXCabGUC36DGE9JlFslEY2ERs+bIC+HAqUYRJ0xdPoGIPjqOQ2HmLmnUeNR1pRvmTZ2nCHkxa/HHtQVqjdBOeuL0y/pJM4Y0dmHvOwhANkcGgAsJ4QhFI6u6XmY81+kBlOxuwp2+v7Ht+VVMuUkF+in0i68WwVk8q0C2HE2eEQ2PpYMlkYhgs0uJ9G/5YJ/X4zSa6cZW3RLIJEebgOUOGqjzWs7jl+aqTSgPT/Ks+j62PlUnE9yhTJ4GE4jD4xO6Wd19T43cEJmvUS3nieCC5Cwczj3FlJwODpY9ZOGz6M5U5B3PzZm21rxCA5utn62EZ6ISkl9SKbKUSCxdE715VqRLusK8lIGO2eRfBcSLcLd5PUgM40bGRh6G0cG+hcjoPyQ3+J6RsAMW9K4Mv7dZbn/0/HWb4HqP84XN2NOkfXxM9dH22r87dc8YPU9T55v+3Ex9yJ8ZHGtDGceWFTZ2kk/ZwHEuLf7aegVdSwljMVZB+7NJW4xHTeue4OjQBIL9+WJvK7QYwPE9xD/Eyx7BcsH+LKga6VehEQ3Yw6HeSnOVu/1RbG6ALNZBPPnijr6Y/zzJRRi9YPW1s7FVyuWYGJXHx0EgRVOO4SUYRpEy4KBqvERCwSiXSVuLmjj5Vhm/i33ss06cKNfw==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(6916009)(36756003)(2616005)(508600001)(26005)(6512007)(66946007)(38100700002)(8676002)(186003)(5660300002)(1076003)(2906002)(54906003)(83380400001)(6486002)(4326008)(8936002)(82960400001)(86362001)(66556008)(66476007)(316002)(6506007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?QkNPVWxra05RdnpGVnBGS043ZEJyRDVPSitXbWFTdTIvVnAyOGdRcGhtcjBB?=
 =?utf-8?B?ZW9rb3ZHMHJZR1hMdXZRREJSdURLZWVPUHpXNmJ1bGVrREYrNzVObUhEVSs1?=
 =?utf-8?B?Qm8vVnUyN09qU0lDUDlhNkpLcjhScDJhVllnK2hscElXcFlmdE5LekZGb0FI?=
 =?utf-8?B?djJLR0FwanA1Nk10NnVlQS9tay8wdlVBMHZUeDdWcStNRWRwdGMva1lOZSs2?=
 =?utf-8?B?N1V3d0hBeFdDUEdPQTZDYnJTcHFUcTZnZzhTMkZYRVR4QTV5OHY3SzAwMFJa?=
 =?utf-8?B?U0tJREFRNmZkM3FxSG1ad0REbGdNUUVub1labWRUWXpBTkx3SlJOWUhxZzdD?=
 =?utf-8?B?VGprUDBSelp4bzgwY0RKNXRDbklpN0svUlVnMDNyYzdZZmZVY3oxSUxCZElU?=
 =?utf-8?B?UlVRTGhwMzBMckFOaG8xeTloZ1g0ZU5rUjNGSXg3aDArRmFja0hPdDJnUGRT?=
 =?utf-8?B?cWNpR25oQldvRHJLbDQwVEF5TVhpT0FzZXBleUNNekhhdnRXQUU5eFBhS2d4?=
 =?utf-8?B?MzhDUFptMmF1MkNJZTJLd2xYMyt5aEpQb0lteWMvNmtjeVN5OWtEN3J1V2JP?=
 =?utf-8?B?Y1lJcWhEWHNKWmZNRW01eVQrSzQ4Q2lIMW9qdVBkRDF0MkR2b1ljc01FNjdQ?=
 =?utf-8?B?TVQrajBQL1RHcC95Y1NkTlo2U1doOEQ0VGF2U1Y1cWFNRnBvempBUWZkYzZv?=
 =?utf-8?B?MGhiWHJqRkVQaWdQVUVGVy9vYXd3OHNSbS9MdmRlQzkyRTFMbUE0djFwUk9q?=
 =?utf-8?B?eUFicCtqKzlzQWFjejZRUmFsbFBaZC9oc1p5cmwyOVJSSTRlOCtXTEEwcGM1?=
 =?utf-8?B?QzBMSEg5L2QvcTZYaW9XQitQeVc5bjAwUmd6ZkZxK2ZTMHVUWVJjNzByTUl5?=
 =?utf-8?B?Q3d0UW54QzQwSlo3cGJiYXowUjI1NGc0RjVIMnlaY01nMWU5NU9vVStvVTlk?=
 =?utf-8?B?bjlrQjBDbE9EWklxbGY5UUY2RVJqQzNCR2RRQkVmTWg1QmpkZW51elRqWE9M?=
 =?utf-8?B?bFZXUUFOakVMRTlzTzhWN1Q2QitXTzVJQ3l1VjZVYy8xMjFiQlFpK01uY0Fm?=
 =?utf-8?B?ZU1jTXZyMlB1TWRlNlQ1M2ZFS1lxTWRPQlliNDd6ZFpra0hCbGdweWZhc3ZB?=
 =?utf-8?B?dS8zYkdzNG9OZ2xFRER3a3hwVVh6YUhMclFjc2tpemx5eWZwN2FlTmg0MTlU?=
 =?utf-8?B?Tk1xaDZaei9rUW96ZnFRQlJJczNmejZSZHBwajJ4Q1Izb2pNZ1MwMkNzKzhx?=
 =?utf-8?B?bWV6ZEtoUDRFMGU2NUpnektvYm1UOGpVcGJwN0s4bXdsT2V3OUpkZFdYSWF0?=
 =?utf-8?B?ZUM1SnpxZ2N3bUd0Y2N0VVJXMlFyVitaV05nYmgwSUttalp1TXhMdlkrWjFt?=
 =?utf-8?B?RlNJRXBFbHFlY2JsYlk1aWt1RTYwK0lzRnd4Vzk2ME1VK0VENFA0bUJpUUxh?=
 =?utf-8?B?K05lNUQzTU1UbHY4VVd3TUhPKzZER2MybnJuaGJqOXBQLy9ZVmZzTWI4aTJa?=
 =?utf-8?B?bUNOaGpjQlNnYlNmdFJGQnREY2V6cGJlT3RLbW9BbktHbUpuNS8rT2tqRjBQ?=
 =?utf-8?B?bjl0N0g5S1ZiT09ENXY3eFM1UVIyR09PRWxuMmhYSnA3SW56MnkxWk1maGVD?=
 =?utf-8?B?WHBpclRVZjRtL2xlc0dXNWVvbzU5cjlYRHV5Q2hHN2MwYVNiNXlVNE1nai9G?=
 =?utf-8?B?eWtZZnpTUm1ES0Q5NmVxT0hMVmZ0TzlzT21uOUxCZ3ZORnFNYWVQOGptS2tx?=
 =?utf-8?B?S3FHTEtzajFiZHZ2UmRVUy9rRWVDa2Fhb2tIYU1rb1k1MTVJYXlKbk5KVUh5?=
 =?utf-8?B?Ky95YnlyR2p4ZUJiaFVCcTA2SGprWWVhRVNPUTJZYzZtbkg1SHNlZlhtNTVY?=
 =?utf-8?B?WmpWSTlwaUtYdzRUWXVCOGVqYVdkRmIyc2ZIc0QxMXZtSlRWdWN6dDlQSjFk?=
 =?utf-8?B?dnlEend1eVFKTEloNnhtMUR0RFE2dnliR0xwL3BUSkl6YW1CWGdWcTQ3U29O?=
 =?utf-8?B?SDFqQzk1dlp6dUFRQW5oeFVWb2xCa0llblBqcGU2VjBjOEdBekVpKzB6RUtG?=
 =?utf-8?B?LzdBdGlpamVZckl5SWYxeDFYY1JzVk15alBGcUtQSWxDNEViUWhnVkthL1Bl?=
 =?utf-8?B?c2s1TGhrRzdTRGgrNXdGQlZPNTRXdFArOTE1c0pHSVRoeU9Ta1ZrN1JDTTJH?=
 =?utf-8?Q?1vbdn5nkSY8yU59eMuKobTw=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 640918eb-70c1-4655-889f-08d9dc28ec86
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2022 15:24:17.8115
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: UWnFjINtCcVTauxKXRK+K5sdQrLqGy8vv1sUOlv5VKjbAofT7kWi8mXqm2fmEY774FqGEESWK1IzuUn54kOHog==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR03MB5906
X-OriginatorOrg: citrix.com

Hello,

The follow patch series is a very initial implementation of the extended
destination ID for vIO-APIC and vMSI for HVM/PVH guests. This is already
supported by QEMU/KVM and HyperV in order to target APIC IDs for
device interrupts up to 32768 without the need of interrupt remapping.

Note the feature is only exposed to guests with vPCI at the moment (see
patch 2 for the details). In practice this means it's only exposed to a
PVH dom0, and the maximum vCPU count for HVM/PVH is still not increased,
as that would also require some changes to QEMU and the ACPI tables for
domUs (both HVM and PVH).

Thanks, Roger.

Roger Pau Monne (3):
  xen/vioapic: add support for the extended destination ID field
  x86/vmsi: add support for extended destination ID in address field
  HACK: allow adding an offset to the x2APIC ID

 xen/arch/x86/cpuid.c                   | 12 +++++++++++-
 xen/arch/x86/hvm/dom0_build.c          |  3 ++-
 xen/arch/x86/hvm/irq.c                 |  3 ++-
 xen/arch/x86/hvm/vioapic.c             |  3 ++-
 xen/arch/x86/hvm/vlapic.c              | 14 ++++++++++++--
 xen/arch/x86/hvm/vmsi.c                | 13 ++++++++++---
 xen/arch/x86/include/asm/hvm/hvm.h     |  5 +++--
 xen/arch/x86/include/asm/hvm/vlapic.h  |  2 ++
 xen/arch/x86/include/asm/msi.h         |  1 +
 xen/arch/x86/traps.c                   |  3 +++
 xen/drivers/passthrough/x86/hvm.c      | 10 +++++++---
 xen/include/public/arch-x86/cpuid.h    |  6 ++++++
 xen/include/public/arch-x86/hvm/save.h |  4 +++-
 xen/include/public/domctl.h            |  1 +
 14 files changed, 65 insertions(+), 15 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Jan 20 15:25:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 15:25:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259109.446956 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAZJw-0004MI-7q; Thu, 20 Jan 2022 15:25:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259109.446956; Thu, 20 Jan 2022 15: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 1nAZJw-0004M9-48; Thu, 20 Jan 2022 15:25:52 +0000
Received: by outflank-mailman (input) for mailman id 259109;
 Thu, 20 Jan 2022 15:25:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zWAP=SE=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nAZJu-0004Ld-Hc
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 15:25:50 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3e26756b-7a05-11ec-bc18-3156f6d857e4;
 Thu, 20 Jan 2022 16:25:49 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3e26756b-7a05-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642692349;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=uz8uGhqvkVx+fQNRc6I6RtZfkTU8YzTQPI9wTYzWFkY=;
  b=U5mH0bQmW4l3nfLqXB6NV9U1cEM6h7A4rpKnvKGTryX9uxmbqgrAjzjx
   wgXM5Ac/lHVqktMAhIdrgW8rILIcpLzPNjzo+18BHMBDZRRqKD4uffmey
   NsmaIs2K/kRjmCn+8aSEOa8ax7PTar3rKkQUUczJR8besP1ewbAo4YAYQ
   A=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: vI23O9fr9kvTuYra5npa+GLAJvnPG9LdTMKjKCQT3CibmCNXaDfWZA0b2itn/1ci/CWhaJiPMq
 VItrBc1K44ixyvPSnQZsWWmWWxVR1jj2UfoeM3RvcHcEsPaQZ92BL/QLpiTquf4cJhJHNq7dwx
 6HwbF1+R9FsRGABb3UsHlYvCB178BMcp3FQsXRwoFJ+oWsvOAGXZdzUWuBrHaxyHF9g9AGMWZr
 rbmhAh4oxU0b+ArM5+4aRFUFW4o69vIhj8rJ5sSafOWWpkMHlSa0KzXbKcyaUbJQSOrguaxUYx
 z/0ZZ0/qO6m79Ya7y7tMIPW6
X-SBRS: 5.2
X-MesageID: 62414704
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:935kMahlozSpAkAXEeV0LMpcX161fRYKZh0ujC45NGQN5FlHY01je
 htvWj+PP/yNYzCjKYx0aNi290oGvsKDmNJgSgs6qys0EHkb9cadCdqndUqhZCn6wu8v7a5EA
 2fyTvGacajYm1eF/k/F3oAMKRCQ7InQLlbGILes1htZGEk0GE/NtTo5w7Rj2tcy2YDja++wk
 YiaT/P3aQfNNwFcagr424rbwP+4lK2v0N+wlgVWicFj5DcypVFMZH4sDfjZw0/DaptVBoaHq
 9Prl9lVyI97EyAFUbtJmp6jGqEDryW70QKm0hK6UID66vROS7BbPg/W+5PwZG8O4whlkeydx
 /1EuJ6CcTYMH5HCt/wAYTVcNi9xPoFJreqvzXiX6aR/zmXDenrohf5vEFs3LcsT/eMf7WNmr
 KJCbmpXN1ba2rzwkOnTpupE36zPKOHxO4wSoDd4xCzxBvc6W5HTBa7N4Le02R9u3JwXQamGO
 6L1bxJKbEvGTiFjMWsOJ5YAgunvoCOuTm1X/Qf9Sa0fvDGIkV0ZPKLWGNbcZNHMRcxThUuej
 mbH+XnpRBAcKNGbjzGC9xqEjPfnlCf6VYRCUrG1ntZ60AO7xWEJDhASE1yhrpGRmkO4Ht5SN
 UEQ0i4vtrQpslymSMHnWB+1q2LCuQQTM/JQC+QS+hCRzbCS6AGcbkABTzhOb/Q8ucM2TCBs3
 ViM9/vjAiZuq/uSUm6H8amPriKaPjIcJmsPIyQDSGMt59jlvZF2jR/VSNtnOLC6g8ezGjzqx
 T2O6i8kiN07j8ER0L6g1UvamD/qrZ/MJiYp6QHHdmak6B5lfomjZpzu5VWzxe1bMI+TQ12Fv
 X4Fs8uT9uYDCdeKjiPlfQkWNOj3vbDfamSa2AMxWcl6n9iwx5K9VYld4gNGFWJIDsgrYSLbT
 Ev2twxSyJAGaRNGcpRLS462Ds0ry43pGtLkSu3YY7JyX3RhSOOU1HowPBDNhggBhGBpyPhiY
 snDLa5AGF5DUfw/pAdaUdvxxlPCKsoW4WrIDa72wB28uVZ1TC7EEOxVWLdigw1Q0U9lnOk32
 4oOXydp408GOAEbXsUx2dRPRbztBSJqba0aU+QNKoa+zvNOQQnN8cP5z7I7YJBClK9IjOrO9
 XzVchYGlACh3CKXdVvWMyALhFbTsXBX9y5T0csEZg7A5pTeSdz3sPd3m2UfINHLC9CPPdYrF
 qJYKq1s89xESyjd+iR1UHUOhNcKSfhfvirXZ3DNSGFmJ/ZIHlWVkve5IFeH3HRQX0Kf6Jtvy
 5X9h1izacdSGGxf4DP+NajHI6WZ5yZNwYqfniLgf7FuRakb2NE6cnOq1q5ufZhkxNeq7mLy6
 jt6yCww/IHli4Q07MPIleaDqYKoGPF5BU1UAy/Q6rPeCMUQ1jHLLVZoXLnacDbDennz/an+N
 +xZw+ulaK8MnUpQspo6GLFulPps69zqrr5c7wJlAHSUMAj7VuI+eiGLjZtVq6lA5r5Fog/qC
 EiBzcZXZOeSM8T/HV9PeAd8Nraf1esZkyX55OguJBmo/zd++beKCB0APxSFhCFHAqFyNYcpn
 bUotMIMslTtgRs2KNeWyCtT8j3UfHAHVqwmsLAcAZPq1VV3mg0TP8SEB3avsp+VathKPk07G
 ROuhfLP1+ZG207PU3svDnyRj+BTsosD5UJRx1gYKlXXxtec3q0r3Adc+CgcRxhOykkVyPp6P
 2VmOhEnJaiK+Ds01sFPU3r1RlNEDRydvEfw10EIhCvSSEzxDj7BK2g0OOCs+kEF8j0DImgHr
 e/AkGu1Ayz3eMzR3zcpXR83ovPuetV96wnelZ31BM+CBZQ7PWLoj6LGibDkcPc77RfdXHH6m
 NQ=
IronPort-HdrOrdr: A9a23:9MFM6auT/jM0NUbVxD8KyBLT7skC7oMji2hC6mlwRA09TyXGra
 +TdaUguSMc1gx9ZJhBo7G90KnpewK5yXcT2/hsAV7CZniahILMFu9fBOTZslvd8kHFh4xgPO
 JbAtND4b7LfClHZKTBkXCF+r8bqbHtmsDY5ts2jU0dNz2CA5sQkTuRYTzrdXGeKjM2YKbQQ/
 Gnl7V6TnebCD8qR/X+IkNAc/nIptXNmp6jSRkaByQ/4A3LqT+z8rb1HzWRwx9bClp0sPof2F
 mAtza8yrSosvm9xBOZ/2jP765OkN+k7tdYHsSDhuUcNz2poAe1Y4ZKXaGEoVkO0auSwWdvtO
 OJjwYrPsx15X+UVmapoSH10w2l6zoq42+K8y7vvVLT5ejCAB4qActIgoxUNjHD7VA7gd162K
 VXm0qEqpt+F3r77WrAzumNcysvulu/oHIkn+JWpWdYS5EiZLhYqpFa1F9JEa0HADnx5OkcYa
 ZT5fnnlbZrmG6hHjPkVjEF+q3vYp1zJGbLfqE6gL3V79AM90oJinfxx6Qk7wA9HdwGOt15Dt
 //Q9dVfYd1P7srhJJGdZc8qPSMex7wqGr3QRqvyHTcZeg60iH22tbKCItc3pDeRHVP9up0pK
 j8
X-IronPort-AV: E=Sophos;i="5.88,302,1635220800"; 
   d="scan'208";a="62414704"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=N1R2UJKSIgVaTV0M51/BgKZ1j9Db9K5wA+q9qcZJAFzD+AFROGT1lPuGba9IPIxJiCsGMaufsRyKXEeG7KzHkj89wSOpnVITpK0lM6NRl6CxBpI+z9G7Fowg6Q7+sCitEkoPeopSRCDN5MCZ3AxnZPovM0YnBcKHe479aq2SIv81OyN2rnowjpNGLU5hJFlrdRjuNLkmOeLV/2fBkucwaRDjs4BzVuaLJk8IdbYGc/tHtQZ3FiiS5OqnMUx9Yo7rVhtD9r9OY3imF/Dwp9eWJHFYrph0JX0d5RsPXWh+p5K3cTJlI+b7jjisj9oDizb/yMOxxWHHWp9M2z5G8FtoXg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EVhmLB8WRhPIHIhc72MTOVuVpcpi8smodcvRNNMHH+Y=;
 b=YhX7bw2Ceqdnu8gvgtcf7GhIQbRe2bu5+c/2qVs9DbH7a500pNTSTIbwTldfysb/BPSZt5tZX0K0M6Ke396Y6/vpm2sT9JioBOa7alfpxdHuqhlYhJK9ubShIN/qGQqVGBLSHJk9GAYndZDdguUMJZBsfsGoqmH9SS6C+1cct+C9igSHrXz+Xeur+QezILl1kRJfCgabUQvFWbk0pXK5zdkvZeeVA8vbhPMY81nVCOTQdqnd9rER6eJnsryYhZJaz3bS3jiXO506idx/uR6zHUfALBlNvnut/tjzLJn/rFj72zfS0uGNR2q8qgHyHiqmAccGucvV5tinkVJOJ1ebpg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EVhmLB8WRhPIHIhc72MTOVuVpcpi8smodcvRNNMHH+Y=;
 b=fUwO8ksP1Qk+EiXF+s3BOGthfHja5+QdmwCmjKT+M/a2iNWWS8rhxAqQ2US6fw5BKuwhyPdttSoH8JXOpNmBJbB53FlBMqUyEKgCwcnTHMC9hWxsskNvO5IwsJHIrYIO9q2LMyruzoRyZNThvXVzu/A12RuhrsFH8NrsxgODhXo=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <linux-kernel@vger.kernel.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Boris Ostrovsky
	<boris.ostrovsky@oracle.com>, 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>, Dave Hansen
	<dave.hansen@linux.intel.com>, <x86@kernel.org>, "H. Peter Anvin"
	<hpa@zytor.com>, <xen-devel@lists.xenproject.org>
Subject: [PATCH 1/2] xen/x2apic: enable x2apic mode when supported
Date: Thu, 20 Jan 2022 16:25:26 +0100
Message-ID: <20220120152527.7524-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220120152527.7524-1-roger.pau@citrix.com>
References: <20220120152527.7524-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0036.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::18) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 65654750-3101-419a-7847-08d9dc292098
X-MS-TrafficTypeDiagnostic: SA0PR03MB5468:EE_
X-Microsoft-Antispam-PRVS: <SA0PR03MB546838D23C8BF9FDB69CF1F38F5A9@SA0PR03MB5468.namprd03.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: ZIJdU3EvJ7rLAg0sdys10uG+cLTmCd3cLsz0qRDR8mNWqueG1TTaIti42T385GpWlzSKFou+LBc8MUNg0AlK4r7QbLtSk8+lTi70OmYn4o3f66leCocB/hNwbkxkQhw0Hx3XZgNeVF586/U4Je6Nk5b71GHRzW+GJEggnaGTpt26wAoCWvJeiygVu2zsiJE3O5+xH2Id6VFYGrT/AEFd8jkJ65aqTpnMfT61mfARr5L1KyzlZgDNpa1IFiKBgpJ8p8KsivK3X/XdB7sbTB4fY8YbrlP9OxmHrErsGGRQg2SYoCzoLlF3vVQNHwh4u2PiZr5w3lZaiqXPHzrH2eWHfMSwyg8kacM82XWunU9uaRhtO7Zf4Xa94EjZUqIGiykmaA9+HImAT5vFmI19b4ySmTzGnVO63NtcFDhqExQ/5b7zNHzOP+RvkV9BGr1mTuRV9ymwwVrFNaH6LD4v+k80Rk4oL7ISRa7qr77Mu5oYBXqizNBD6Ye528sXMZpno4yRI/GDP+5WohpFrv7AY3+iNR6CQjMei49n5Oh1RWo4c1YORR1RrxibrDXGgljVzrz7WfF1W7Ox5Ow6BXjy15CyEce6CY5o1ceS5jnGJMEDwYnEaFdFHoG2yWJdfjSCOLmN74XmFJfAShasFuAMLYu/3A==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(8676002)(6512007)(6486002)(6666004)(82960400001)(66476007)(66556008)(6916009)(7416002)(54906003)(316002)(8936002)(36756003)(66946007)(508600001)(83380400001)(5660300002)(186003)(38100700002)(26005)(6506007)(2616005)(2906002)(1076003)(4326008)(86362001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dnc5UVByQWNhNFBWdTZQRnc2NHZvRXNjMjZEWlFNL1BiMm5GTEljVUdzL0Jn?=
 =?utf-8?B?dmFkRmpBTzVLL3duc2xjbmhrVlRWVXNCMk0xUFpUTjRPai9JVUZ6dTU5UGxp?=
 =?utf-8?B?RW1LTTVzTCtPYXZyY1QxWk9KNEpwZTdSRkhWdGF1cEY5RjQrdUZUUENYY0Vn?=
 =?utf-8?B?UnFZLzlJK0Y3VnhiQmJScnFxZENGR1NJZkV0ZTcvdlp1QTQxWVVabE13cEN2?=
 =?utf-8?B?TWtLRWlZRG53MFBXYWY2NDhXcGhsNHpLblJXMnVuNUcweGpkZnBZMU9FZTNl?=
 =?utf-8?B?RDcrKytRcjRyZHFOZThmWFNKNVliNzUyT3pvTng3UzhGeWxwMldBUXNETzFt?=
 =?utf-8?B?cG1RN1RMeFNXQkZLNG04OE9Ob3g1YWRXUy9PY2JlVVhZdFAzaTBzaVBVdkJr?=
 =?utf-8?B?czZxMEs4c2NVb2NOVGt3dW5wTkQvdUZIZmQvUlJWcXJqZ1FaUlQ1Tm1zWmZP?=
 =?utf-8?B?NFpHT0poZXcvcFErVllLRFpqaDdRV3Mwa3pSenVoNngrZmdhM1oxbVRHZnlK?=
 =?utf-8?B?MFU4d3FGTnJwdkwzOVB6VnczKzZzYmVPRGpvWm40c2NJZzEvUUhYVlU5d1RC?=
 =?utf-8?B?U0ZyWSt0cC92dStkR2RhQTNsblEyQWN2VzF3QnNldGVBYU5yK0I0TlhSbDB4?=
 =?utf-8?B?TkJqZGpGS0tlRk5XSGxvakZkN09TM0FhaHlhcmk5eW9ReDBUN0hZMHZRendD?=
 =?utf-8?B?QlNibHptVTE3R3B1VmVTcG9iRFVuVEFqc3BpaVExM0tRWUo1OFhMc1hNbFFW?=
 =?utf-8?B?UURuUW4vcWVjSEpNanJjamVYVWk1MnpaQVRKNWsrUWZoY3l0YkRUckxJSTds?=
 =?utf-8?B?WkpsanJxeUd0R1IzMzRIbjREUHNLc1RjRjlDNnpBNFVBTW9TQkt1K29HZS9E?=
 =?utf-8?B?WXpBWUdjeThXWGNwN0o4SlpoSExaN25WbjJtdmlZQUFYQXJaZDFTQ2RTaDJU?=
 =?utf-8?B?cTZ6czJqOC9pc0FCY0FQRGZxMUJnYy8rZzdVd2ZUWGVsdUgzbTlQOVl2Zkhx?=
 =?utf-8?B?OVlNMDNkN3RDSmdjM0pxcmdCYXBXRVpoeHFrUFFCM0NDMW4xa0loR29pQjk1?=
 =?utf-8?B?dk9mQWFtR3lSdGVsNEVmMlJ2TmNYTG4wSzVZNEZqZ3NjUmVPKzFCU2dEUFBy?=
 =?utf-8?B?RFJLVTFrL1VHN0RERFFzTnUxVCsyajM2aFh1cTJaQ1B6Y0dYa3RiZGVqbWp6?=
 =?utf-8?B?aTdVTlZTZkYrV2xDRVREZjNHdGpaZnVVRlplYmlZQkJJQmNzMFZaNkJ4MllM?=
 =?utf-8?B?bFYyT1YyRzd2QXJIaGg4Z2JXOHpVU2lWWFk3NUtsVUNUbFhmbjFSTHlhcE82?=
 =?utf-8?B?MmhDMkErekZ1RVdqbnRCa0RGS3ZCc2FSUnQrSE94Y3FFVS9ydW5yY3BWWkFZ?=
 =?utf-8?B?K2l6S2ptdDAvQXVqaWRFR1Y1QjEralRQRXIxOW1LSUtpS0RscFZmTlIyK2xW?=
 =?utf-8?B?ZldELzFPc283YTVuM2lYdWRvWHcyQmIrU3Fjem5ScVV6U0J2eUlST2VxNHlq?=
 =?utf-8?B?S2NiRlJhT1RvM2NXSDh1NkJZY3VVYmV0TWlpMXNZeFNkaFQ3c2xjYlNCcEJv?=
 =?utf-8?B?RHNSaDVkZmYxaitsc2lUY3FhSnB3TEVMM1pOT3EvaW5LK3lWdi8wVjFpREdE?=
 =?utf-8?B?MWt5TEdRZG9GbHUzaWZZVW5DTUFpVFFNcFhKeE5Bbm9Ta3BSbXdOanNIZzMx?=
 =?utf-8?B?bkJZdk5DeEExQU5UNlN3VlhPaWw4MkhuOW9ZN3ptM0gyYkdaVkorTFV2QkJJ?=
 =?utf-8?B?VkVFcVVnR3lTK0ZDWklzakliQ2g0L29Cc3BGWlp3Zk41YS9pYmpHZFdrOTRF?=
 =?utf-8?B?NjByMTMwUWNGKy9HTm5jR3F0aW5FeVdLNkFBUjNjMHVLR1ZqREREWFdjRXBT?=
 =?utf-8?B?K2MxaGw2SjdTU0FoVnU5SXMzR2FCMllHc3Z1OTJYN29JWUluSzArNmkydFVP?=
 =?utf-8?B?TFpXZGdCWGFOS0U0OStWVVlNQlZQRWJDd3d0LzRTTW1mMHpWQ0lzWkVjNVhI?=
 =?utf-8?B?bnNoN3kwcEdNVGtYaFEyWDlwUWszQTkvV3YrV3k1bEJHdlFJZGI3NUpsUGhB?=
 =?utf-8?B?SWRSQzBsN2RVVDdRcjMxK3E2SVQ3T2laTEhvMG9QNHFPNmUzUXYvemluS0lK?=
 =?utf-8?B?ZGhZaHh3Tkh1NzcxYm9aK3p4OVFSN2U5d3R2TUNsL2hLVzVobmdPd1R1QjBz?=
 =?utf-8?Q?AJsSAC02dSfpa6AYKd9gmOk=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 65654750-3101-419a-7847-08d9dc292098
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2022 15:25:45.0468
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: V0oi2aSakybdC6b83E3hirloFEb3vanVHksLJzyG3ayjuKBRoW7F3UJd4VzQ/2+lfg6C5T37DgcuODg0P20KvA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR03MB5468
X-OriginatorOrg: citrix.com

There's no point in disabling x2APIC mode when running as a Xen HVM
guest, just enable it when available.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: xen-devel@lists.xenproject.org
---
 arch/x86/xen/enlighten_hvm.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/x86/xen/enlighten_hvm.c b/arch/x86/xen/enlighten_hvm.c
index 42300941ec29..ab8171cbee23 100644
--- a/arch/x86/xen/enlighten_hvm.c
+++ b/arch/x86/xen/enlighten_hvm.c
@@ -9,6 +9,7 @@
 #include <xen/events.h>
 #include <xen/interface/memory.h>
 
+#include <asm/apic.h>
 #include <asm/cpu.h>
 #include <asm/smp.h>
 #include <asm/io_apic.h>
@@ -248,7 +249,7 @@ bool __init xen_hvm_need_lapic(void)
 		return false;
 	if (!xen_hvm_domain())
 		return false;
-	if (xen_feature(XENFEAT_hvm_pirqs) && xen_have_vector_callback)
+	if (!x2apic_supported())
 		return false;
 	return true;
 }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Jan 20 15:25:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 15:25:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259110.446967 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAZK0-0004ew-Gp; Thu, 20 Jan 2022 15:25:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259110.446967; Thu, 20 Jan 2022 15: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 1nAZK0-0004ek-Cj; Thu, 20 Jan 2022 15:25:56 +0000
Received: by outflank-mailman (input) for mailman id 259110;
 Thu, 20 Jan 2022 15:25:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zWAP=SE=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nAZJz-0004Ld-8F
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 15:25:55 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 41151078-7a05-11ec-bc18-3156f6d857e4;
 Thu, 20 Jan 2022 16:25:54 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 41151078-7a05-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642692354;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=oZCrScRDBgh8Pd9gcAm2rgv73VeKhvxpTW12O6u6imQ=;
  b=ZPM7PYOR1EkbsXutGnfD/kjIl8cgzojfcPsTKD/JUwLrT7K03bEKAqMZ
   oDfdAJhQZMIYc/MVWoedQoqzIforU4iF3ED0xSq/Mg8YAQQXq86R82tms
   kXXYfbXIuv5crV+/MVTyto9gWriI4zGcM5AsIPl0IxlmzncezyR67C8NW
   E=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: IgM9Y709QG7niDNvpnI6yGC4dsolLavDlSpUITUJuY6BKJrhms4GGisULzHDX2XJ3vofg29rEZ
 IfHFaMb0hnUKe62QoxdrdrXZr3szRbH0flrx/5hFK9ATgeyjMKwLHiRvSRrf971/VCy2N5vBEG
 e2ntOQmzsJyXBr8RB72ga82nibXKde7+J0RFBooqKsdaohdhF3+gxsHEKGuM4okV4No2imYxxW
 JDXmLCFmfhjiLABDhbzARGARJr98hS8IWSb9Z95D7XbHBEhMMLGXx9m/W2WzNctIJQhdGVNrH9
 qlf0oaiSjEkyJCIrvQe/x+Bj
X-SBRS: 5.2
X-MesageID: 62409434
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:oWTX4ak9vZfsYTYcglg7Ri3o5gycIERdPkR7XQ2eYbSJt1+Wr1Gzt
 xJOXGHSOf7cZmume48lbY6+o0tXvMCHzd9nTFdkqSxjFSMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BClVlxJVF/fngqoDUUYYoAQgsA180IMsdoUg7wbRh29Qw2YLR7z6l4
 rseneWOYDdJ5BYsWo4kw/rrRMRH5amaVJsw5zTSVNgT1LPsvyB94KE3fMldG0DQUIhMdtNWc
 s6YpF2PEsE1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXee0v0XRYRQR4/ttmHozx+4
 NRPrMeQS1k0AvLVnv0BfjZjPgNPJLITrdcrIVDn2SCS50jPcn+qyPRyFkAme4Yf/46bA0kXq
 6ZecmpUKEne2aTmm9pXScE17ignBNPsM44F/Glp0BnSDOo8QICFSKLPjTNd9Glq2pgfQa2CD
 yYfQQtCXC7yTA0IA0UKE58mvdmnnnLtdAQN/Tp5ooJoujOOnWSdyoPFPNPLd5qKTMNOk0Cwo
 mPA4nS/AxcGOdjZwj2AmlqmnsfGmSL2XtJUGLDQ3u463nWQy3YVBRlQUkG0ydGph0j7V99BJ
 kg8/is1sbN05EGtVsP6XRCzvDiDpBF0c9pIGsUo+R2K0Ozf5APxLm0FSDFGQMYruM8/WXoh0
 Vrht9nuHz109rqOVWia6KyXvBu1IyEeKWJEbigBJSMB4t/+sMQwgwjJQ9JLDqG4lJv2FCv2z
 jTMqzIx750RgtQMzL6T5k3cjnSnoZ2hZhI64hX/WmOj8x9jY4ikd8qk5DDz9u1cJYyUSl2Au
 nksmMWE6u0KS5aXm0SwrP4lRe/zoazfaXuF3AApT8JJGymRF2CLfIJJuxF8elpVbd8CYCPET
 3T+mzJI+8oGVJe1VpNfb4W0AsUs6KHvE9X5S/zZBuZzjohNmByvp383OxPJt4z5uA11yPxkZ
 8/HGSq5JS9CUfwP8dagewsKPVbHLAgazHibe530xg/PPVG2NC/MEudt3Ldjg4kEAEK4TOf9r
 4c32yiikUw3vAjCjs//q9J7wbcidylTOHwOg5YLHtNv2yI/cI3bN9ffwKk6Z6tulLlPm+HD8
 xmVAxEEkgSm2i2bd1nTOhiPjY8Du74l8RrX2gR3ZT6VN4ULO97zvM/zibNqFVXYyACT5aEtF
 KRUEylxKv9OVi7G61wggWrV9+RfmOCQrVvWZUKNOWFnF7Y5HlCh0oK6ImPHqXdfZgLq5ZpWi
 +DxjWvzHMtcLzmO+e6LMppDOXvr4yhE8A+zNmOVSuRulLLEqdgzdHep36Zpeqnh63zrn1On6
 upfOj9BzcHlqI4p6tjZw6eCqoaiCexlGURGWWLc6N6L2ePypwJPGKdMD7SFey7zTmTx9Pnwb
 OlZ1aikYvYGgExLo8x3FLMylfAy4N7mprl7yAV4HSqUMwT3W+04enTWj9NSsqBtx6NCvVfkU
 Ey45dQHa66CP9noEQBNKVN9PPiDz/wdhhLb8e8xfBfh/CZy8bfeCRdSMhCAhTZzNrxwNI95k
 +4ttNRPs160iwYwM8bAhSdRrjzeInsFWqQhl5cbHI601VZ7lgAcOcTRU3ak7ouOZtNANlgRD
 gWV3KeS1a5BwkficmYoESSf1+RqmplT6gtBy0UPJgrVl4Od1OM3xhBY7R8+Uh9Rkkdcy+t2N
 2Vmax91KKGJ82s6jcRPRTnxSQRIBRnf8U3t0VoZ0mbeShDwBGDKKWQ8P8eL/VwYrD0ALmQKo
 unAxTa3SyvuceHwwjA2CBxspPHURNBs8hHPxZK8FMOfEphmOTfoj8dCv4bTR8cL1S/puHD6m
 A==
IronPort-HdrOrdr: A9a23:g5GgW6OdpVkaU8BcT1n155DYdb4zR+YMi2TDiHofdfUFSKClfp
 6V8cjztSWUtN4QMEtQ/exoX5PwPU80lKQFnLX5WI3NYOCIghrPEGgP1/qB/9SkIVyEygc/79
 YQT0EdMqyIMbESt6+Ti2PZYrUdKZu8gdqVbI/lvglQpGpRGsZdBmlCe2Om+hocfng4OXN1Lu
 vW2uN34x6bPVgHZMWyAXcIG8DFut3wjZrjJToLHQQu5gWihS6hrOeSKWnU4j4uFxd0hZsy+2
 nMlAL0oo2lrvGA0xfZk0ve9Y5fltfNwsZKQOaMls8WADPxjRvAXvUqZ5Sy+BQO5M2/4lcjl9
 fB5z8mIsRI8nvUOlq4pBP8sjOQpgoG2jvH8xu1kHHjqcv2SHYREMxan79UdRPf9g4JoMx8+L
 gj5RPWi7NnSTf72Ajt7dnBUB9n0mCup2A5rOIVh3tDFaMDdb5qq5AF9k89KuZOIMvD0vFmLA
 BSNrCe2B4PGmnqLUwx/1MfjOBEZ05DXytvGSM5y4moOzs/pgEP86JX/r1aop46zuNPd3Bz3Z
 WxDk1ZrsA/ciYoV9MOOA54e7rONoXse2OEDIvAGyWuKEk4U0i93qIfpo9Fo92XRA==
X-IronPort-AV: E=Sophos;i="5.88,302,1635220800"; 
   d="scan'208";a="62409434"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=COHDNRZ9RXeyuKkGIgUtXcs0sLQncwJX5u4QmFnVYqf0It+wdkfc20emQUCKT9FvGfngU3B7xMDnU+BpBg9VOnDyq7E2ZRehqw1xvSb+8sh/M5BgfiPk4eBMnx32ZIflumhrk/nEsS306a5wFJGxXWF6/1+DmhTgwyQVUKXT/QW0RPITsyJYHC2ilDkV4Gz5QJYUvadlQr1K2uACdw4aJNjU+Ox/1Q09+rS1KtOFjyWy6pNAhjy4v6KB7Oqje2jO0MzTn2fJ1QFPKL/VKXfmse0Fh5OZwruqRzyFODnojMdzFbNTyNstQjUHyHn/ayQDlPG3b49QfwASyhw+2UT9hQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4VvoRpfnAFYjA56B6n0lZOMr30iQW4q/VSNlk+HRrAg=;
 b=NBD47KVivOyYrfin8ktorCM0qumgleZcp6JcwQQo8gIwx59pG21S6xqoZen2UVGioB3PHzIhJN+kl+CE8+d5r8zvxJigXKmBpXj9Db9dppJo0DBYwl/luJCxlWz+bX857wzFRou2dtLfjN188ANH4Y4wpSm5Pmywhe4POrF/v6MkAivTRHZaznVWPGndHt+jSsfpSZF/C0sgaTmJjTjuTKYGMob4VFpl5HcLcxi563q6jFGLEBlhXZr/toR0HyraLGA9prsqhUAeuIMX5iyZrSjkHZiIfRNVN/wJGmn7T/W70QwqplWht2sArqYfZwk4N8YmzOYkYfuHyHp0tXg/MA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4VvoRpfnAFYjA56B6n0lZOMr30iQW4q/VSNlk+HRrAg=;
 b=JlO/zJY+441RswCqnMCEPAUkufzSqTVh7DDO4ErHmx/JUGYv5fVUrhdg7lwMgoZ6v6i8Hto+BF0eh4GAJbWFhbk6qnvoDek/KwQQoUUwxiAilJxKQw95CjlGW3Hi3UUU1/GCofXwekA33hll5V0bJKe5IjxY3hJYZysZhWX85do=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <linux-kernel@vger.kernel.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Boris Ostrovsky
	<boris.ostrovsky@oracle.com>, 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>, Dave Hansen
	<dave.hansen@linux.intel.com>, <x86@kernel.org>, "H. Peter Anvin"
	<hpa@zytor.com>, <xen-devel@lists.xenproject.org>
Subject: [PATCH 2/2] xen/x86: detect support for extended destination ID
Date: Thu, 20 Jan 2022 16:25:27 +0100
Message-ID: <20220120152527.7524-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220120152527.7524-1-roger.pau@citrix.com>
References: <20220120152527.7524-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MR1P264CA0091.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:3f::28) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f6df1d34-5b7c-4ae6-3a02-08d9dc292366
X-MS-TrafficTypeDiagnostic: SA0PR03MB5468:EE_
X-Microsoft-Antispam-PRVS: <SA0PR03MB5468F34E4907E12C9A6D416E8F5A9@SA0PR03MB5468.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: a0gIxID0vy/qWQVA7VE7nIEbdSfiphIBdz3GUUt/aZx4xwF160UHtjLSkOg451DdolwWHYOHwkS4cbu7P3RhnlqMcZ13QLb86tS9cLd0+8V/0j2/0/gDH2aayRrhH5syEur+92Ao9dGYc0UcTHKpNrCRc5PKT1se7LXgWnLrg4i4KhnAQYhfEIAiQA7erOjEy89Lw7TqD18GwyL2ihrwJe/GHgReA0q3e5+PIwbv0yuGQehU3VwOEathroPNaRhIrPTIfO24NVrzhfYpPzXZrwl11U6k2QubVj3v6L1lVNQuSCLhQ4OYyu0+eyoT9Yot73vOLXkYKGCMnqSOlCTuguTgcG/ItXQyJCU2dwm6sXQ79NAW+R+oImyp+AD9N7STuTF6nr7UyWxGYB3yhdxdADVPAmBxX9SUGqPorLWjv6Drbr/DNJU9cGuN6kEmZ1t2M3aemyiVoeqJa0EvI4ATzljLRKck4QDObARuKyl+cDIHLym7+RI1ffuLEc5QRKosNKB/MgtkvJjIAmrXjpUh9/7zDst70yKI48NLg+mCDqMibHhMncjLtJhgy+czDlfrvWwRu5fNmKTSzbMbFgw+1jWipMXqTyV5hkfYpiArCVT0eoTIe3jeB2eC/jAKzNpUN7UgFZL8FZ3qH0FGPS0vYA==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(8676002)(6512007)(6486002)(6666004)(82960400001)(66476007)(66556008)(6916009)(7416002)(54906003)(316002)(8936002)(36756003)(66946007)(508600001)(83380400001)(5660300002)(186003)(38100700002)(26005)(6506007)(2616005)(2906002)(1076003)(4326008)(86362001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?akdGV3VhbyswVHVKeVFwbnR1Q1licnk4ZVZwOVFQZGp0ajJXSlBtYnFQT0FB?=
 =?utf-8?B?NDJTTmhHR1U3eWRlVTdrRk5nRGdPYTMwRHdueXRPTkh0UUh2LzJWOUxCcFlS?=
 =?utf-8?B?Ym9PNVBxUE8ra2hvalJyS3Z2TC82KzRFVUNpVy9oWFg0UmNnc09nL0NzbmVJ?=
 =?utf-8?B?S2hqSVFUTFhYTDVMeFpyb052VmVPYU85UUI2WU5RWmdzTTFUdmQrSksrTTJ0?=
 =?utf-8?B?VEhEMm5kOXE3Z0F6UUZxUjRId1NIMjZSdnB1Wjl6NElkNGZlL0hKcWtZUGpN?=
 =?utf-8?B?dVBEb2VaQWxjeHFZcng5djNuK2pYQTgrbUpWWi85c0ZYWExsNlU5YnJmUk8r?=
 =?utf-8?B?QVF5ek1JaWRycnBGamIzUXNlZzhLWG1jYTRhTW1pb05VNGk0NDB0NHBiN1c5?=
 =?utf-8?B?ajNneTVQSThUU3FQT0pRdlNFZVk4TFBMM0lXdVFsZXR5WFg2MllPOS90QVFD?=
 =?utf-8?B?UU9CRStwc1F0VG9kaUlhL2huRERhdTR2ZUUzSzBqUlBuelNodEdjQStBTWNH?=
 =?utf-8?B?a1BUNVM2ZHZPbW9ZTlpSOTBvTFN5VDJpUkRTL0JTakV4NHErZnRLcFVPODNp?=
 =?utf-8?B?K2NLODBWeEtuZElnK3ZJTTZOcG51bXYxaFMyZVFrMlh5anptRE9yRWxZWTJ2?=
 =?utf-8?B?MnZQUDZlcjVUd2xSMmFXTVhhZ054MlE4R203K1lMTEdZZWxnK1owanZId2hS?=
 =?utf-8?B?eVFodGFpSHJyYTgvcjVFRHhSYzZZWUNSMTN2TUYvWkVmZ3JlTmdEM2NqNFc0?=
 =?utf-8?B?TVhuc3hubHpqZlhjangrSU5NUW0wRHc5STVyekVGMEg2d214bmxaVWw5bEpu?=
 =?utf-8?B?S0RLbzR2MWQ2YVgyWTgyTjFJZi9keE1GUWZkY2NYUUFZZkMxdDIzQ1E0Mk9Y?=
 =?utf-8?B?empNVk9LV1p5NFR6MlV0RVZhTHJ3d3d3dUVlenlvV2RmeE1JSWZoU3ZXVnZz?=
 =?utf-8?B?eDc4L0IvekN3WWJuMEhRek1OTVRJcEsyaXNNZlE4c3NpYXQyTDc1Zkgyd0ZI?=
 =?utf-8?B?ZG5JMXF5TC8xOUUyWnF4S3BJcmVzaTFSYTZjK3ZzUzd6MnBJZ2lhU3VUSnFS?=
 =?utf-8?B?eDFBRi83VTdyMVl4S1pOL3VEalR1ZWpNNVpGcThBTWI1d2VsbldadlB0dWJW?=
 =?utf-8?B?N20wU1hXdzdlcVh5SGpTczlUOXQxSGJyZWtsRzFLdlRJcmtZQ3Y1OFlqa0tF?=
 =?utf-8?B?RUJ6dUZaeE4xR0xZamJ6MTZjYmU0ZmgzcXVhanBMZ2NyZDR4UWI2MUtrZDB1?=
 =?utf-8?B?MndtNzVNL1JNc1RmNjVpYlBFY1VMNlMyVm5sVDlwajdpMjNGVEhucXFudTdF?=
 =?utf-8?B?M0MrSEY5L2xvR09KVHBvbE93cURWMEdoblZHdktpNlhyUHhWd0ZDMUl1eTFZ?=
 =?utf-8?B?L0kvZ21ET3Zaam83L1JONmdLcHhZb3FnWHJvSGUyL1Z4aWRSRjI2UnliTy9Z?=
 =?utf-8?B?YTR5NHBmaUFPYkkxZnpNQjQrL1RlTExNQlhRK3p3VHJUamRiSFVLRVRjUStM?=
 =?utf-8?B?U21sbVhNTUxlY1BrZ2lIdUxrVVErTFAvd0k2djZZWmdMRm1JOGVyOURBUzg3?=
 =?utf-8?B?bzg2dTB4MEJpaGdCREFpdmRoQ0wrRzBaOTZIV1lrUHcyOGw5Nm5tTVpDSmw3?=
 =?utf-8?B?NG9Hb1VBZFBDZzNpc2h1NGZMRDZBZkNwaEI3T3Avb3l5Z1h1NWZUNnBQRmIz?=
 =?utf-8?B?WHFUVFZOWHVWbUt0R29QYUFoVEY0c1l1eUx6OHhhaTB5bTUrcTJDMEgxYUVs?=
 =?utf-8?B?Z0tNR3dsTVBmYk8wQ05HL3BualpEaS9SVXVNeXF4eVZGdHRXNzFxbnZSVW0w?=
 =?utf-8?B?ejBvdytaVy9rcVMvT3RhRXBBNEdQeEpvSCsxQmFhanlGUlY0bkRGaTdUNGF0?=
 =?utf-8?B?MWVuK1J1OHFYeWZNYTkwamVMTkw2ZzhDVkp1ejdCNU50a3JjNW1hTjdVcnhQ?=
 =?utf-8?B?aHhsckpHQzVaREc5M0Q2WFVQL3JqYlNJWGZ4cmFuQ1ZCNVR3OG8xWk9FMmtR?=
 =?utf-8?B?SDMwbmdvdEcxaHlPeXZqcHlBY1NYZHNzbXVBb0RkeTZzMTVLOXBNMUd2aTg3?=
 =?utf-8?B?ZDBJOXRCRmUrMVNHUXBXa0p3WkVTSmZaNmI1b0NOMGR5T1A1U0ZKSzBGeUtx?=
 =?utf-8?B?N3gxczNqVmpSN01ZQnplYi84K0xFNU4xb1NzdEZ0UWVLajJKZ0ZNUFJ5TVEr?=
 =?utf-8?Q?xWysdEGdMisF9Al5xg6P7cM=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: f6df1d34-5b7c-4ae6-3a02-08d9dc292366
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2022 15:25:49.7494
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: iPPXgv1rAw2QFPz8qeNYDdgq2YDYqwkt9HB9PEs/kBJi6B5nvbhzAgsrahrychUkxbzUuI5Ic5w04iT9p+Kb2w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR03MB5468
X-OriginatorOrg: citrix.com

Xen allows the usage of some previously reserved bits in the IO-APIC
RTE and the MSI address fields in order to store high bits for the
target APIC ID. Such feature is already implemented by QEMU/KVM and
HyperV, so in order to enable it just add the handler that checks for
it's presence.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Must not be applied until the public headers are changed in Xen.
---
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: xen-devel@lists.xenproject.org
---
 arch/x86/include/asm/xen/cpuid.h | 7 +++++++
 arch/x86/xen/enlighten_hvm.c     | 6 ++++++
 2 files changed, 13 insertions(+)

diff --git a/arch/x86/include/asm/xen/cpuid.h b/arch/x86/include/asm/xen/cpuid.h
index a9630104f1c4..78e667a31d6c 100644
--- a/arch/x86/include/asm/xen/cpuid.h
+++ b/arch/x86/include/asm/xen/cpuid.h
@@ -100,6 +100,13 @@
 /* Memory mapped from other domains has valid IOMMU entries */
 #define XEN_HVM_CPUID_IOMMU_MAPPINGS   (1u << 2)
 #define XEN_HVM_CPUID_VCPU_ID_PRESENT  (1u << 3) /* vcpu id is present in EBX */
+#define XEN_HVM_CPUID_DOMID_PRESENT    (1u << 4) /* domid is present in ECX */
+/*
+ * Bits 55:49 from the IO-APIC RTE and bits 11:5 from the MSI address can be
+ * used to store high bits for the Destination ID. This expands the Destination
+ * ID field from 8 to 15 bits, allowing to target APIC IDs up 32768.
+ */
+#define XEN_HVM_CPUID_EXT_DEST_ID      (1u << 5)
 
 /*
  * Leaf 6 (0x40000x05)
diff --git a/arch/x86/xen/enlighten_hvm.c b/arch/x86/xen/enlighten_hvm.c
index ab8171cbee23..0c5b0ee3a02a 100644
--- a/arch/x86/xen/enlighten_hvm.c
+++ b/arch/x86/xen/enlighten_hvm.c
@@ -254,6 +254,11 @@ bool __init xen_hvm_need_lapic(void)
 	return true;
 }
 
+static bool __init msi_ext_dest_id(void)
+{
+       return cpuid_eax(xen_cpuid_base() + 4) & XEN_HVM_CPUID_EXT_DEST_ID;
+}
+
 static __init void xen_hvm_guest_late_init(void)
 {
 #ifdef CONFIG_XEN_PVH
@@ -316,6 +321,7 @@ struct hypervisor_x86 x86_hyper_xen_hvm __initdata = {
 	.init.x2apic_available  = xen_x2apic_para_available,
 	.init.init_mem_mapping	= xen_hvm_init_mem_mapping,
 	.init.guest_late_init	= xen_hvm_guest_late_init,
+	.init.msi_ext_dest_id   = msi_ext_dest_id,
 	.runtime.pin_vcpu       = xen_pin_vcpu,
 	.ignore_nopv            = true,
 };
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Jan 20 15:35:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 15:35:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259113.446978 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAZSi-0006ar-Jl; Thu, 20 Jan 2022 15:34:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259113.446978; Thu, 20 Jan 2022 15:34:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAZSi-0006ak-Fw; Thu, 20 Jan 2022 15:34:56 +0000
Received: by outflank-mailman (input) for mailman id 259113;
 Thu, 20 Jan 2022 15:34:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zWAP=SE=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nAZSg-0006ae-Vu
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 15:34:55 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 81ae9107-7a06-11ec-8fa7-f31e035a9116;
 Thu, 20 Jan 2022 16:34:52 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 81ae9107-7a06-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642692892;
  h=from:to:cc:subject:date:message-id:
   content-transfer-encoding:mime-version;
  bh=ihXuRc9VccmNFcUBgjiAWM48zQvEbC7wypVXEHiqcUU=;
  b=ehmRrq1JGPVn20BXBg9aef+Raxdqs8bxkhgHBfa0S6Nj5HkKjO3WHPQ6
   KF53zMRM9IZWcOTlB+v4hVJKbVkxFUyR6x9xH7haRK9HdFyjJ1AfLcj3D
   OnCjPZLfLKuQcqrhNohLTFzWBT3ne8q9edxpK8uNPchfqwd9zEmOdtXIN
   M=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: aF7Uw05ngT0NUxWd4LepGtxe1dYYOA7STtW/ui6zeCCtug0wgR1/7bPQMjJWAs4PMPTeoTCiP/
 JeURWg0oKgzPzwwhPvQuk5Gu8czKEEOKnk3Tbn1cTuzwFJlPRj2y+u9998hX8jHEMQgb0sJ0yp
 U+05yCpXiO6g2cc2IKmdEJ9gljjDoQkjkzwkdXrDbAhy+ugHCjR3YeW2rGefT7wJiMJ0jFrgi6
 PtUxsOP/AXTZcDWDiyzKoTC/3IY2FptMLsQzvjtFmQWjP7qI/E0Q4LgQ3aIM0QCN2R5lUyTZRs
 3V5Z7amNicNfGXQfzG27/8ks
X-SBRS: 5.2
X-MesageID: 64563935
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:IXfcNK/is0IsHFqfjggjDrUDQHmTJUtcMsCJ2f8bNWPcYEJGY0x3y
 WsaUWuAPfuDZ2Hxc4x0bY+1p0wP7MWEx9JmSQE9+3w8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7dj2tYy6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPh2y
 e5opdudYz41O7ecqNo6Yjx2KQFxaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguw5K8bmJsUHs2xIxjDFF/c2B5vERs0m4PcGgGpu3ZEVQJ4yY
 eIzeAFmTh/JYCZVFWs2A4t5maCHjHvWJmgwRFW9+vNsvjm7IBZK+KjgNp/Zd8KHQe1Rn12Ev
 STW8mLhGBYYOdeDjz2f/RqRavTnxH2hHthITfvhq6As0Ab7KnEv5AM+UlqAhOn+p2SHR9dFe
 3wq3RsLg5IS+xn+JjXiZCGQrHmBtx8aftNfFewm9Q2AopbpDxal6nssFWAYNoF/3CMibXlzj
 wLSwYu1bdB6mOTNESr1y1uCkd+l1cH5x0cmbDRMcwYK6sKLTGob3kOWFYYL/EJYY7TI9dDML
 9Ki8HlWa1Y715djO0CHEbbv2W7ESn/hFF9d2+kvdjj5hj6Vnab8D2BS1XDV7OxbMKGSRUSbs
 X4PlqC2tb5SV8/Uy3zRHrlUTNlFAspp1hWG3TaD+LF6r1yQF4OLJ9gMsFmS2m80Wir7RdMZS
 BCK4l4AjHOiFHCrcbV2c+qM5zcClsDd+SDefqmMNLJmO8EpHCfepX0GTRPOgwjFzRZ9+Ylia
 cbzWZv9Vh4yVPU4pAdass9Ai9fHMAhkmzOKLX06pjz6uYejiIm9EOdcbwDWP7lntctpYmz9q
 r5iCidD8D0GOMXWaSjL648Da1cMKHkwH5ftrMJLMOWEJ2Jb9KsJUJc9GJstJN5ombp7jODN8
 i3vU0NU0gOn13bGNR+LejZob7a2BcRzqncyPCoNO1e02id8PdbzvflHL5ZnL6M68OFDzOJvS
 6VXccu3HfkSGC/M/C4QbMehodU6Jgirnw+HIwGsfCM7I8x7XwXM99K9Jlnv+SACAzCZr8w7p
 7H8hArXTYBaH1ZpDdrMaeLpxFS05CBPlOV3VkrOA99SZESzr9Q6d32v1qc6epheJw/Cyz2W0
 xetLS0Z/eSd8ZUo9NTphLyfq9v7GeVJAUcHTXLQ6qy7NHeG8zP7k5NASuuBYRvUSHjwpPe5f
 exQwvzxbK8HkVJNv9YuGrpn1/tjtd7mprscxQV4BnTbKV+sD+o4cHWB2MBOsIxLx6NY5lTqC
 h7epIECNOXbIt7hHX4QOBEhP7aK2vwjkzXP6eg4fRfh7yht8bvbCUhfMnFgUsCGwGeZ5G/9/
 dochQ==
IronPort-HdrOrdr: A9a23:STskMqmjSrRvq0PXwVo5IyNsvOzpDfPAimdD5ihNYBxZY6Wkfp
 +V88jzhCWZtN9OYhwdcLC7WZVpQRvnhPpICO4qTM2ftWjdyRCVxeRZg7cKrAeQfREWmtQtt5
 uIEJIOd+EYb2IK9PoSiTPQe71LoKjlzEnBv5aj854Hd3AMV0gP1XYdNu7NeXcGOTWuSKBJXa
 a0145inX6NaH4XZsO0Cj0sWPXCncTCkNbDbQQdDxAqxQGShXfwgYSKWCSw71M7aXdi0L0i+W
 /Kn0jQ4biiieiyzlv523XI55pbtdP9wp9oBdCKiOISNjLw4zzYLLhJavmnhnQYseuv4FElnJ
 3lpAohBd167zfrcmS8sXLWqn3d+Qdrz0Wn5U6TgHPlr8C8bik9EdB9iYVQdQacw1Y8vflnuZ
 g7k16xht5yN1ftjS7979/HW1VBjUyvu0cvluYVkjh2TZYeUrlMtoYSlXklXavoJBiKprzPLd
 MeTf01vJ1tABOnhjHizyNSKeWXLzsO9kzseDlAhiSXuwIm6UyRgXFohvD3pU1wha7VfaM0ld
 gsAp4Y6o2mcfVmHZ6VfN1xOfdfKla9Ni4kY1jiV2gOKsk8SgHwQtjMkfAI2N0=
X-IronPort-AV: E=Sophos;i="5.88,302,1635220800"; 
   d="scan'208";a="64563935"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mbBD5FoZI1DghiBLhgASrJE8dt+LQ31BE66wbtRjiFiGQR5sEU0qq4wnhhR2DaF+1IYpoCmrCKASoEntUfW4ObLz/CmM2mCHKyuVceNxkc+Xp/gITqZ0GNIQa4TvWYT/+Z1QiQ0VgjwMQX52+zUnSiPUbuc5wbckKv+ene8pqwBJTTYMr/HgIXQtExnouu0kt2vFu8pG2bxBLPxaBce2jjoMWijNpofQSrMQTiQKAQN/HoggtZgMH1C33tbs8XzjO1rx2U879qWKF4amqA7GQbk5TcvhKkhBa5xxfxF/zAnMUsEvnOXynsWdOLHcATSMgnD3NLHfpNYY97Bkdq/wTg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8oIfLIGdwZNZYOUj4IE0DMdzfoOGTvBy/VKEYbhrVro=;
 b=Krz04wHHscOFlr/wwcVGw3DxdcoWfFLQFMecCP+BYaul7WDkQrdIkM6bhOpZLZRXEIsFZtgMgIhxePmaXZoO+PV71vLEkI79roN34O4a3eKbqiNRazDUy9liK/+YYSaJLRXWVAtg7T9pxN16+BWiZjWYYq/MSuwIMI0KyZFPbpbCaGV/VKGCK/anGmoYmsPGObZ1GwUrjADcOIpmFsk7ZyoEu5f7MhKPOPQkX40Xwh8ZuIc0bAJejVfgN4mFLJnm9DlA3Ksetc4HJ+ktPXVb7T3IBdYJHo2TVZ12TMC/so/urd5LbV+ei8CMiqRe5qcPus/l0LjHuJjuNIONU0Mhdw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8oIfLIGdwZNZYOUj4IE0DMdzfoOGTvBy/VKEYbhrVro=;
 b=cwwHPOolB18Ikt3BYO3x4YKxEYOMSFucsmmBvdjYIBANcZzp74cytza1VCZlURZOWj2Px7lDre+/84QQm3PGUTkIdcu7/ijIYyB0yVAZB1AkRjzFIKs1QlRMGLxj2W8dT9EZxISGYD5lDeWGaKW2gF6rZSF/65KwZaE+enRBN9Y=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>
Subject: [PATCH 0/2] xen/x86: use extended destination mode if available
Date: Thu, 20 Jan 2022 16:34:37 +0100
Message-ID: <20220120153437.7750-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0064.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::12) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 591dc596-f4f5-43a2-2b49-08d9dc2a63ed
X-MS-TrafficTypeDiagnostic: DM6PR03MB4044:EE_
X-Microsoft-Antispam-PRVS: <DM6PR03MB40441485434ABB4D6E5809538F5A9@DM6PR03MB4044.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: TmZcqcj3BpO4kGdgeybHC2hBrqQ1Xb8FtnshlOWiiJVSKe5zCC67XDreg06oFDtIetkMZQeqnU0CGjIvRf7zxH45CGyWnNAmKZNm0hzd9CaD8z61wumQDMGSdfeE2bYtYO5keDYCAzy946B+YnWFWvsGQMVlg+2pWNaTpRy3Fy3IAEeFYVDQ1dIzmfvQPthP3674L0HbOZ1KNRCagfg88ij+mgL8qwea4RoHw5XQmJ0lUMTh0WWSD5lrMbZZkPNC4Mbwh1TH0pzc6Ye8ieGpDMXa84x/SAYdQ6ZR7JaCv1Ouw9IIJtrWOkZqGUkf0I1tzJMLHZZUCUBAUrY2xqW02QgA8myOnVMnxXx6228hpFaPmMgQsHR0i0sJ7bbvkmWRrNbjEE8SEa/uDxxo9BxQSZFPpNptnPd1Kbyu7FkRoKAyLVqxKnbfkcmLQQnN8KihdtFCvdlajEI4P+T2rPas/RNqFYvpr2GOlHimucosEysmsB4pLAvgJC0w4tzqYMVbdrS8TDdOJO5DuxkPKg48A5U+InlhsmIjSMuMVcHq5sl2Pofu2aJcP0LMM+abu3JyVZ8ZwXGsa6Vo46J4NN/KXlmZc6r/rosNpNEXK/XFfxYRXcBiBWzgnQGc1SSykw/hLcq1fZNc/W4FJ2GhNl1UXw==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(2616005)(82960400001)(4744005)(6512007)(1076003)(107886003)(6666004)(316002)(5660300002)(4326008)(86362001)(66476007)(66556008)(66946007)(38100700002)(6916009)(8676002)(2906002)(8936002)(36756003)(508600001)(26005)(83380400001)(186003)(6486002)(6506007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?aHB3akxYTkh0QVgyQVdxMmNTcHY5SUNaVzBWZVdmL2xlaSs0VGZLdjVGZmQ1?=
 =?utf-8?B?ZDBwdHRWS2QrUWhSWkhGMmJObTBkUmdTd21YeitWT0ZtYlh5Qms0NXgwOEZG?=
 =?utf-8?B?cVFIV3p5UFREd2M4MythRUs1T25sT1FOb09INHlSYTZnQmUybmRvUm1acy9G?=
 =?utf-8?B?WFpaZCt3QmN1SlI2bzRwVUxubmxRTlQ3dEc5NFdaSmZnYlA0ai92cTlIOTI5?=
 =?utf-8?B?dUI3UFEvQmMyYWg3NktrQkRQM1M5Rk16czFJbTZOcHdrVzBsbnpCMldxcXFs?=
 =?utf-8?B?d1duaXlLSzYvQUdZV1pXSnhlZURuNnczcE1OUWRHRHlIS3cwdE1ReEhXaUQx?=
 =?utf-8?B?T1NsdVg1ZElxNEU0SmJ6akhpeVhmRWlIUUxKTGRKYThwMU1Xa0tuQWNUSWt6?=
 =?utf-8?B?TTVLcVBlczZpZGE3ZlZ0eGhXOGdsTHRCUWxQTVI4Q2owc2JZdE5iYXBuZ29C?=
 =?utf-8?B?NUtCQ1lOUmR4NlZuNU44RXYzR3lhcGNhSFcva0VxUUM0MjY0aW95b3pXVU11?=
 =?utf-8?B?MXJhbkhyalZQR2RXRnZpbFFuSjRJeE5qTmlJeE9wRzhjWWd4NDJITStJY2Ft?=
 =?utf-8?B?V1FaZTZINnVYYUpXc2pGYzNIMnlodTViK24rTHZvTDlTeHY0Y1lXdWFXeU8r?=
 =?utf-8?B?VlRhbkhEN3o0azY1UDFpNTRnMUNpcU5CSjJ6a1V6WTExZkN2VnBNaEt5N21F?=
 =?utf-8?B?cVEvU0k3UThhbnhjNGk1a3o4Tk0rOTJKOERPSHVCMG5PVElSMDRTU0diVERS?=
 =?utf-8?B?Q29GdmFUaWFFMXpydkVBWFd4VEJxZC9UaTNEdGZlSUpVekRwdVoxQzRrOUs2?=
 =?utf-8?B?blNPemhKOXZVRlU4UWxFUWxic2lkMWs0Mmg4eTQweHVrZmFlM2lFaDF1anpr?=
 =?utf-8?B?bE5sZ01OLzJvVWRCeXV0bjNFdEYxQ0Mrck9TbzVycTdocjFIWTYxWWpadHMy?=
 =?utf-8?B?MWNwVDkrRjhUeC9Od3ZpdU9obEhEOUN2OSs4cVJPYWJFQnBEMUJ1TGtNQkF4?=
 =?utf-8?B?cFdUUnVIdXFLZmR4VVQ3TVdFaXU5WERWT240cGVKUWpja0xkQmRZSWQ4Kzcz?=
 =?utf-8?B?WExRa1JPSTB1SnhnN1lGWGdva3MyaENBNjFTMVlMYlJTamJtcm9KNGhVL0lv?=
 =?utf-8?B?USt3MllCUm5uZTQvdFRjVVNhcTNKNFdUd0h1NGExTDdiTlRYNzY5Y0pudXp2?=
 =?utf-8?B?ZnBkNjJlajQra1NIbHZGMkFPR09pdXJJSjY0VmpDQXdKTnRrcGUwUU03MEcz?=
 =?utf-8?B?cUpic0FXTkJ3VGM0SU8rVVRRYVJ5blF2NTY5U0s3eWRyaUNtTnRnYjNsa0I1?=
 =?utf-8?B?MmlLaUwyTDdwemNRUTVCeEZPbFJneXYrNEpmQUE2ZlpWY2c4aThKM1BWbUdM?=
 =?utf-8?B?bUczUU13WElReWlKM3NlUXJYeDlockUxVTBYVFNLUk5QQVBrUW5WQzdwb1JF?=
 =?utf-8?B?TkZLaUlhQ3BUQldqMzJhMFM3WkdDMzRqNStZcWxROXBUbjBuVG9GZXdkN0dm?=
 =?utf-8?B?Y1ZtUmZFNkRyeVAwaldic0tvODlxUG45SmxjYjFrdGtRK2JDSWZYc0hLc0M1?=
 =?utf-8?B?TGRGSDAzWkMzZmFzSzcvN1ZvQ1NGVHlMZlFEWWdVY29UaThNUHJ3ZTBjcVVt?=
 =?utf-8?B?YWZZamg0NHV5RmxocGFyd0RycWNERE0yMU42UFNFYU9OWHB6WDVLbHJ2RGdQ?=
 =?utf-8?B?VmVBQXhVdXlzblBWZHk4aFFsZXU0d1k1bm8yRWtVVEF2U2lqWDF1eEc0bzkv?=
 =?utf-8?B?WURMdXJzc2VoTnBPM2lTSW15bTJGbzgxa3hzczFtK1BHa3crMHJFRVVJczZO?=
 =?utf-8?B?c2k4Qk5sMlRrWXcrSFBrYVF3RmVYTTNzTVRWc2M5YUFSRy9yQUhXeGpnVWZa?=
 =?utf-8?B?ZUNGeUYvWEtINHoxekEwU3M0ZEd0bVE5VTRTdW00SFZlZmtpcE5ML2p4Zksx?=
 =?utf-8?B?QW43MVpDcSttQ3ZsOHludno2N3JuVWxqRmlRSkplbTBBQ3hTSWtOa0RTTlBW?=
 =?utf-8?B?OEtSeDZZU1l5bUhlSCt1VFdsTGtXQTBsYmNtOFF6WFRsMFJpTU51MHVQdE5T?=
 =?utf-8?B?WEdQeDMvb1JXbis5dW5vaHRnc2g0dVpIRmxMeVNNRFE5RjJBWmEyQkh3cHA0?=
 =?utf-8?B?dDNmUC95dzZxZzFyc0JBVWI2WHoyWmticSt0Zml0c2lYcWlPM3lDTXBUbkp2?=
 =?utf-8?Q?8BLA4JywcmEH2Z4tyy/Rzjg=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 591dc596-f4f5-43a2-2b49-08d9dc2a63ed
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2022 15:34:47.3642
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 4SH31M5YxG7Cx4VnuA2OS+v4WfS7Ks6b47+ZJLBD02E/RuuZtmmfYf0HJN2eANwTFK6UflX+aRmv2dzlLy34Lg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4044
X-OriginatorOrg: citrix.com

Hello,

Following two patches enable the usage of the extended destination ID if
supported by Xen. This is the same feature already supported by QEMU/KVM
and HyperV.

First patch can probably go in regardless of whether Xen ends up
implementing the extended destination ID, there's no reason to prevent a
VM from using x2APIC mode.

Thanks, Roger.

Roger Pau Monne (2):
  xen/x2apic: enable x2apic mode when supported
  xen/x86: detect support for extended destination ID

 arch/x86/include/asm/xen/cpuid.h | 7 +++++++
 arch/x86/xen/enlighten_hvm.c     | 9 ++++++++-
 2 files changed, 15 insertions(+), 1 deletion(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Jan 20 15:46:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 15:46:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259116.446989 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAZe5-00083t-Ma; Thu, 20 Jan 2022 15:46:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259116.446989; Thu, 20 Jan 2022 15: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 1nAZe5-00083m-J8; Thu, 20 Jan 2022 15:46:41 +0000
Received: by outflank-mailman (input) for mailman id 259116;
 Thu, 20 Jan 2022 15:46:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YGoM=SE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nAZe4-00083d-9f
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 15:46:40 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 275609de-7a08-11ec-bc18-3156f6d857e4;
 Thu, 20 Jan 2022 16:46:38 +0100 (CET)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2109.outbound.protection.outlook.com [104.47.17.109]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-13-J02mcFKhO6OCwIX1JpDcBQ-1; Thu, 20 Jan 2022 16:46:36 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5647.eurprd04.prod.outlook.com (2603:10a6:803:e3::30)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.10; Thu, 20 Jan
 2022 15:46:34 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.010; Thu, 20 Jan 2022
 15:46:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 275609de-7a08-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642693597;
	h=from:from:reply-to:subject:subject: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=+2s6acX7Mp4l29hkhStK2aeAbjGMhK198VaeYXNTH34=;
	b=S+TS5Nd7Y1fZ2Xut3EbdvJtuluuZvEkBDDxLJAxMNbd9S6BkXm85Nl53BjseYFsJghRHmJ
	bNqQOMfxGblMHvIUnC8+B1fWZhx9DVN3tIGP6uMKykdUz5geodtyKx/GHu+FwFI5dSvRdd
	i0q8fS3zj8jgcKv5zELtQ+IsWcLvoo4=
X-MC-Unique: J02mcFKhO6OCwIX1JpDcBQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gNaJ2z/NHuoefp64bc1HiFqxmjlfIjbwZVST0UWh8DOUZKPwnCUSnK6TJGJLpyv0GYDLiMznj3cCSeLqAlTuRqAC+Yd/lTtAiTTsYaqRWz3NZ4MpbdHzllbGn6paWs+D4P55IF/nudYJVdDtxxCbKXGBXbykTSMyTf4ncX0JKJcVaD+6TgGUf72CrroLdNd9z1t9BslFjaLbQV6IJSMRbwGYZ+MR0CcnOqVdtXcJfOEErosb6ehs5ZS+k6ZUUgLccp+doYTQ9lAMM8pBCEAoCSgrZvBJkKXbT0q/dgvAaMYhGX6cYpajOTmIqqURrA0SwafigVbcAqRFYX8P0u/Rbw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+2s6acX7Mp4l29hkhStK2aeAbjGMhK198VaeYXNTH34=;
 b=d30Xb0pgYTsxBw18jSJvcWq2D5h4CbnSHzjP6WYDsmqAKFNaDrm7q4rMR5Q3aHh2CVhm4tLSmUvfBpCsRJPaxTX/blwNRnO6pybHnlOw6vYMKml5aZNxeYzNPBgTn3sPYT+2YDly4thwVIEb+SSFOjKu7TRQDKuVnqM3O9lFF88JV/9LqTTVPrL3eR0QFteEyskn0oUZ60+P/EF8w28M2Yk4UBB2m659lFz4+tV5wZCKEQiK17w7rgzsgJVhmG5G0cIxbn5BvKrBiPJ3t4fwgD9XeM7dT4/gAEJScy/YvuxbgHUqjl4FcY5EyiCNp0eHa3oO3iDXTdbL5GjMQ7J0mw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <321ea3c9-37af-3236-d3df-e3dbbee046cc@suse.com>
Date: Thu, 20 Jan 2022 16:46:33 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/time: drop pmt_scale_r
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0040.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::8) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4e62b17a-0166-4db0-06f3-08d9dc2c0986
X-MS-TrafficTypeDiagnostic: VI1PR04MB5647:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB56474D58136D0E1906397EE2B35A9@VI1PR04MB5647.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:418;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	a6zEDHnPu6DcRP+gg4O0qm+zbRVXvXQMeTvx2d1ChfxMLaEJDKdNy1m7J6HFE6wW0Wle8AHW6IqIxfZJ7G1KQYejGysCjbKcRdn6kdI82WlO06KXHvP02W1P9zN4YTY/xb2Aj3Y69XQkAulCN5zxS4QABfPqxx8XrDyN9ETDEyA3+/qFl/yxWPK4DJ1nzRmOK4FMAjWNWXSrDWY6qB8JlW0wo1+GhV6Y8pIESg7GP26dPBHK1moIhpwVLCMoSOkSlr828DSXmuc8z9tSdhQqXzt0R694h5o3+ApFvKa/iO6TmqrxovbIL1zi3tsDOtTOlDquSzjfq79GZ3kCy08b9/reAZK5jUGZRHEgJyMcLeV/WHSVX+Opk7IzAhflqrggJigfSU62FD1Ga27tcWyAhaI4RBwwLFnntnClLQocgG+AZ0axdhcOM6eQe50wG8wCEu1+SDABkYYTtwIw/I/pdYngYgISYnlbBuT5CM3yX0zHDELXuBrQyeDjPjqFyO+ef2VzfiBmgi15//9XWLtsbiR9X8p3tjGCtdc6OgxTV3FRcYpT1fCAXOanApA1KeEvehulgbloJecxtAUeoq9SfoM6dxMfUyYUclnASvX+EHC37ecUhf47x7YKNSORMRZlw8k2rv2jHLDY71BLhKwEkf4gsgbbnsXV7dPFKXtvUcr4WAm/gaUW1/Bv0Y6KJorXF9cS7tS6K3TE6XN0t0gOdhAxEjN6oe4LoXjCbsxrgjAKzgXLVl04/YjRSh4eIeHkB/RtlT1oLNLNpoGUhXa6QDqer3I04mETIcr1ZPO/LqM=
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)(38100700002)(4326008)(66556008)(66476007)(31686004)(66946007)(316002)(6486002)(26005)(508600001)(6512007)(6506007)(86362001)(186003)(54906003)(5660300002)(6916009)(2906002)(8936002)(2616005)(8676002)(36756003)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dk53Q2xtQ3Njam9oS2JFSFFyNXFnZyt0L21sZDA5MGNMVmNVVFlZVUtaaVJC?=
 =?utf-8?B?RlVsZHVtZUgyN0dxU1NOOVBGaGJ0cDFCVEUyS2x3UlBMd1VQVUM1TGU0SDRR?=
 =?utf-8?B?SExoblBKYmcvMEgyN1FEQVg4M0hoTEJRSU10eEtnRzJlSGxRRlhsVmJ0SC82?=
 =?utf-8?B?amUwN0tRc08xck1xNGJYWW03Z2hSOVhLdnphcm9OZkJCZXYvVys0aE9xWEd0?=
 =?utf-8?B?WGRpR29oTDZ2dEFZYWtpcldqZTh2V2lyVThCUEc4bTNUcEVOdjErYm5Vc3VH?=
 =?utf-8?B?Y2R2M1J2SW80QUJFaXRLcFFwNWFnS2J0SXBhR1RqRGlPS3l4MFBEOVdEelJm?=
 =?utf-8?B?b295a05RWnZhY1ZGVGVSNkRHc0xmSy9XdmpTUXVReEsrMldsWmFnUHhhalR4?=
 =?utf-8?B?OWJSbjBNOVQxbk9mQko3a0NudmJtY1RIK2xEYjZ2TUJqZFl6ZERjN1hXMGpB?=
 =?utf-8?B?cU5HV2lYc1Y5TFBaQVFoOUovb3VVeVp4TXdQalNONGttZkNldkRkTzNhMVJj?=
 =?utf-8?B?YzNKVGlGMmpKeERYTDk2Y0toUnMzKzZLMHRLMEpWNXFoYVlPaTlYZkxqYjBq?=
 =?utf-8?B?SmU1N0EweXFnVUNWWkJ2SWVmK085REpiYUhMNjNPcS96V1NyelhKL0FaVVB4?=
 =?utf-8?B?M28xNFVjVWt3a3hlWDdaNUNmTGRvZGFlVmR3WmUrM2p1cnVpN3YyZTdGazk3?=
 =?utf-8?B?S0x5UE5kc243UEdEYkJCdEltdGI4WjdEaUNBNUZka1V4ZndRc0g2NldFQkVY?=
 =?utf-8?B?bFpVSzlnZDlzd280OXAzQ1YrZ2R3R3pWbXYzZVRyYXhxUFc0RFNSZHpPRDh2?=
 =?utf-8?B?QVoyaktSeGx4bXg2YVI0dld2WkEwN3VPWlRpNXpRRWptamI3UHpFL1BSRUt3?=
 =?utf-8?B?WHlUdERIMklLbjBVaEJWWldROGg5NzZxbHlwYXB5TDZvZVgwMTViWlRXbmdU?=
 =?utf-8?B?UVdqaDh3UUFlTmV5VS9oYW9HdFRIN1Fvd3crU213UUVsc25uWHNVOS90enZN?=
 =?utf-8?B?dFZRWVp5eUdNUFFZUzQxb0pacGF3OGxjR3MwcS9SVFUvRHllMmUxNnNiU1pQ?=
 =?utf-8?B?Rkx5ODlDV3dKMHdtb1RGV1BaZWNwNUJ6SlBrTFVqTDNZS0xoVldBcWpsTXlq?=
 =?utf-8?B?bXoxU3RCVVllR093bXhZWTUwZmthd09uMDRBdUFQRXA2K0VoemdqbWZVMUVm?=
 =?utf-8?B?eGsrcTdvOHZwNjJUR1RpOHF5eTBrWTdydDFQL21FTUMxSkxNS200REdvMW1I?=
 =?utf-8?B?Z2gySUp6YUJRSlRRT3l0cVhYcnpabE1lcnBHWjdGbWJrTFdocWxaNC8xZTFk?=
 =?utf-8?B?TnNSbVpaQS9xT3NmOWhNNDhadlJaTnpsK1Fyc3ZPc21aaGF0cjBUL25wZk1I?=
 =?utf-8?B?a2Fyd21IVWVJaGd3NFcrM0tGWjhvTk1US2NIWDhlM2pKOVdheFl4ME5LMVQ5?=
 =?utf-8?B?Sm5aVWV4Y1UyUGhUQ0o4L21ITmtHKzltVGpCOERrVkt4cHo2SHNFVEVtTmJj?=
 =?utf-8?B?QzZSRHZqL05zbXAyMlRSTkN2aWh4UUZCRFhkM001OFVFSFpzNWxMYTB3VW1B?=
 =?utf-8?B?b2NEVjBrcFBYL0JNdFp3NWE2bzZZTUl2dllzK2VEMFNITlZTYk9sbGUvOGZU?=
 =?utf-8?B?M3FiVytwQVVEbXZlbDliN0Fsbjh1UFlxMC9DbTdhRGx2UzFiUFRrazIwQ1J2?=
 =?utf-8?B?U0ZGWGxiY0hXTy9pU2RpRjZVU3R5TDJqSHNnSTdPZlpwUldYb3VsZ2EzMVpi?=
 =?utf-8?B?ZGxsQ1VCTnZ0Ry9RYmhDd2gzUmJlb2MyeTNzSEUyVytkWi9ZQ1pUMmhhUlFr?=
 =?utf-8?B?ZVFuWU9KV2RIRlJ2SVE1ZzNHY0sxTHVMZ0FhN2U1VStZK1h2bGVHS2dra1Iw?=
 =?utf-8?B?S3NROUlMei9FcUl4L1RBbFN1T3VyRjhGQUtjSGZYSFBDZXJqc0VBNi9FYVBN?=
 =?utf-8?B?bU02aE5HYXJ6SkVQRDVsSzZpYWJXS25vOUs1QU44ZEtaOGtobWlkOWtYam5V?=
 =?utf-8?B?bUFEQzg4NEY1eWNFN2FKcGI5dU9qQndXMDljQ2hLQ21GM0NBNkpvQjN6M1p4?=
 =?utf-8?B?SCsyQlpIVTg1d0RDZC9oYnp6bEZ6NUdqMHZKVkE1WVgzeFZ4cSt6L2I5Nm9S?=
 =?utf-8?B?Q3B6ZGFCakNPaVVLTTBDRWgzYkEvR2tJWk1YcXIrVkxMbUJ3VWFlakh4dDdy?=
 =?utf-8?Q?TgbJcIx6M2zF8WjKqezZIEo=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4e62b17a-0166-4db0-06f3-08d9dc2c0986
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2022 15:46:34.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: mKOM9+xbYY/2o7KXMdQHHvTMbsi8pRsaa+zfZtVjeIdM51Tj5y6C6NmhHAaM3hLP5kH1quYjer0JWPcFg5O9vA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5647

Its only user, ns_to_acpi_pm_tick(), is unused.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/include/asm/time.h
+++ b/xen/arch/x86/include/asm/time.h
@@ -48,7 +48,6 @@ void pit_broadcast_exit(void);
 int pit_broadcast_is_available(void);
 
 uint64_t acpi_pm_tick_to_ns(uint64_t ticks);
-uint64_t ns_to_acpi_pm_tick(uint64_t ns);
 
 uint64_t tsc_ticks2ns(uint64_t ticks);
 
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -535,12 +535,10 @@ static struct platform_timesource __init
 };
 
 static struct time_scale __read_mostly pmt_scale;
-static struct time_scale __read_mostly pmt_scale_r;
 
 static __init int init_pmtmr_scale(void)
 {
     set_time_scale(&pmt_scale, ACPI_PM_FREQUENCY);
-    pmt_scale_r = scale_reciprocal(pmt_scale);
     return 0;
 }
 __initcall(init_pmtmr_scale);
@@ -550,11 +548,6 @@ uint64_t acpi_pm_tick_to_ns(uint64_t tic
     return scale_delta(ticks, &pmt_scale);
 }
 
-uint64_t ns_to_acpi_pm_tick(uint64_t ns)
-{
-    return scale_delta(ns, &pmt_scale_r);
-}
-
 /************************************************************
  * PLATFORM TIMER 4: TSC
  */



From xen-devel-bounces@lists.xenproject.org Thu Jan 20 15:51:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 15:51:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259119.447000 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAZj7-00013X-Ac; Thu, 20 Jan 2022 15:51:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259119.447000; Thu, 20 Jan 2022 15:51:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAZj7-00013Q-6x; Thu, 20 Jan 2022 15:51:53 +0000
Received: by outflank-mailman (input) for mailman id 259119;
 Thu, 20 Jan 2022 15:51:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YFdd=SE=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1nAZj5-00011n-8D
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 15:51:51 +0000
Received: from ppsw-42.csi.cam.ac.uk (ppsw-42.csi.cam.ac.uk [131.111.8.142])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e0664bf5-7a08-11ec-8fa7-f31e035a9116;
 Thu, 20 Jan 2022 16:51:49 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:49128)
 by ppsw-42.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.138]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1nAZj2-000xiM-7A (Exim 4.95) (return-path <amc96@srcf.net>);
 Thu, 20 Jan 2022 15:51:48 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 073331FC61;
 Thu, 20 Jan 2022 15:51:48 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e0664bf5-7a08-11ec-8fa7-f31e035a9116
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <281b6aa7-d4f0-53de-46ef-20d1bc02ffe2@srcf.net>
Date: Thu, 20 Jan 2022 15:51:47 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH] x86/time: drop pmt_scale_r
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <321ea3c9-37af-3236-d3df-e3dbbee046cc@suse.com>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <321ea3c9-37af-3236-d3df-e3dbbee046cc@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 20/01/2022 15:46, Jan Beulich wrote:
> Its only user, ns_to_acpi_pm_tick(), is unused.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Thu Jan 20 15:52:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 15:52:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259122.447011 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAZk1-0001c9-Jx; Thu, 20 Jan 2022 15:52:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259122.447011; Thu, 20 Jan 2022 15:52:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAZk1-0001c0-Gt; Thu, 20 Jan 2022 15:52:49 +0000
Received: by outflank-mailman (input) for mailman id 259122;
 Thu, 20 Jan 2022 15:52:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zWAP=SE=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nAZjz-0001Xs-Vv
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 15:52:48 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0213d81c-7a09-11ec-bc18-3156f6d857e4;
 Thu, 20 Jan 2022 16:52:46 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0213d81c-7a09-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642693966;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=/E5gXn1X8HDAxjmzgIQf7U89X7jgYJtwhSG4jw2yA1g=;
  b=Q8vernFIncJ46YivISgPWhl/mxu++GNr6OK9t9rpAC6ZQ974lisjJCCv
   Df78d7iK0L/C/iNHRyt7XOkQC1shPLQVL45bF4IcwN3xZR7xqQlgPTsnL
   pHnvrQVqSx4TjbdCXtcp3fh2K9CcpQSEWf1lh2E0N301ZmWVa7NpgVSiU
   Q=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: Tk8E8bF4dx7aq4BA0y24akDcU8gekjG0Wytb7XJ/w8AOz7oQnOR4qCFKKnrZ2+KnmxSvwnKf3l
 nLTjbB4rPKTgEQET7I9OGBVHLx9ClkyNtNlH63c4NYrleK/es1YQW81krLyiLPAV5iVCn5yd5n
 twNP1nZKuIIHsuoOJuUU/UZsn940rizO0kaDkeVGJ7+jFHVf7DH7j42LsrUvneBgyAnk++uVNs
 fV2W6l4OQADjExZ4nqM+CTqAS3NB975kEYFWWhtZHpHxaL5+r0hxB5DkWFJIMolxJGpudalN58
 d/QNBI9+A0sg4hZGQt0LRIyZ
X-SBRS: 5.2
X-MesageID: 62417152
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:Bc/pd6md3Syn31wNUdaR7Vro5gxpIURdPkR7XQ2eYbSJt1+Wr1Gzt
 xIaXm3VbKuJNjH2KIh1PNiyp0pU6pbTm9dqT1Bs/ytkFSMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BClVlxJVF/fngqoDUUYYoAQgsA180IMsdoUg7wbRh29Qw2YLR7z6l4
 rseneWOYDdJ5BYsWo4kw/rrRMRH5amaVJsw5zTSVNgT1LPsvyB94KE3fMldG0DQUIhMdtNWc
 s6YpF2PEsE1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXee0v0XRYRQR4/ttmHozx+4
 Npv6oSARBklBJTdwNwYdyVmFB1mZbITrdcrIVDn2SCS50jPcn+qyPRyFkAme4Yf/46bA0kXq
 6ZecmpUKEne2aTmm9pXScE17ignBNPsM44F/Glp0BnSDOo8QICFSKLPjTNd9Glq2pkRRKuED
 yYfQWpzagvCZAJiAEkWNrEgociCu3ikeBQN/Tp5ooJoujOOnWSdyoPFL979atGMA8JPkS6wt
 m/Aumj0HBweHNie0iaetGKhgPfVmiH2U55UE6e3ntZoilCOwm0YCDUNSEC25/K+jyaDt8l3c
 hJOvHB09O5rqRLtHoKVswCETGCssTxDQ+pdDeEA0RDV8q/w3zieOnBcUWsUADA5j/MeSTsv3
 16PutrmAz1zrbGYIU6gGqeoQSCaYnZMczJbDcMQZU5cuoS4/tlv5v7aZo87SPbdszHjJd3nL
 9lmRgAajq5bs8ME3r7TEbvv02P1/cihouLYC2zqsoOZAuFRON/Ni2+AswGzARN8wGCxFAXpU
 J8swZn20Qz2JcvR/BFhutklErCz/OqiOzbBm1NpFJRJ323zpyT9JN8AvG8ifRcB3iM4ldnBO
 hO7VeR5v8c7AZdXRfUvP9LZ5zoCkMAM6ugJptiLN4ETM/CdhSeM/T10ZF744oweuBNErE3LA
 r/CKZzEJS9DUcxPlWPqL89Aj+ND7n1glAv7GMCqpzz6gOH2TCPEFt843K6mM7pRxLmauz/c7
 9s3H5LMk32zpsWkPHmOmWPSRHhXRUUG6Wfe8pwOKbXbc1M4QQnMyZb5mNscRmCspIwM/s/g9
 XChQE5Ijl35gHzMMwKRbX5/LrjoWP5CQbgTZETA5H6khCouZ5iB9qAae8dldLUr7rU7n/V1U
 +MEa4OLBfEWEmbL/DEUbJ/cqo1+dUv02VLSbnT9ODVvLYR9QwHp+8P/ele9/ic5ESfq59A1p
 Ket112HTMNbFRhiFsvfdNmm00i14SoGgOt3UkaReotTdUzg/ZJEMSv0ivNrccgAJQ+anmmR1
 hqMAAderu7I+tdn/N7MjKGCjoGoD+ohQRYKQziFte67bHCI8HCizIlMVPezUQrcDG6kqr+/Y
 eh1zu3nNKFVllh9rIchQa1gyrgz5oWzquYCnBhkBnjCc3+iFqhkfiudxcBKu6BAmu1ZtA+xV
 h7d89VWI+zUasbsEVpXLws5dOWTk/oTn2CKv/gyJUz74g5x/aaGDhoOb0Xd1nQFIesnKp4hz
 McgpNUSul62hRcdO9qbijxZqjaXJXsaXqR77pwXDecHUObwJo2utXAENhLL3Q==
IronPort-HdrOrdr: A9a23:pE9QdaGHwbGG3EwtpLqFcpHXdLJyesId70hD6qkvc3Jom52j+P
 xGws526faVslYssHFJo6HnBEClewKgyXcT2/hsAV7CZnidhILMFuBfBOTZsljd8kHFh4pgPO
 JbAtdD4b7LfChHZKTBkXGF+r8bqbHtms3Y5pa9854ud3AQV0gJ1XYJNu/xKDwOeOApP+tfKH
 LKjfA32QZINE5nJPiTNz0gZazuttfLnJXpbVovAAMm0hCHiXeN5KThGxaV8x8CW3cXqI1SvV
 Ttokjc3OGOovu7whjT2yv66IlXosLozp9mCNaXgsYYBz3wgkKDZZhnWZeFoDcpydvfpWoCoZ
 3pmVMNLs5z43TeciWcpgbs4RDp1HIU53rr2Taj8DLeiP28YAh/J9tKhIpffBecwVEnpstA3K
 VC2H/cn4ZLDDvb9R6NpuTgZlVPrA6ZsHAimekcgzh0So0FcoJcqoQZ4Qd8DIoAJiTn84oqed
 MeQv003MwmMm9yUkqp/FWGmLeXLzEO91a9Mwc/U/WuonhrdCsT9Tpd+CQd9k1wgq7VBaM0oN
 gsCZ4Y5o2mePVmGp6VNN1xMvdfNVa9NC4kEFjiaWgPR5t3cE4klfbMkcEIDaeRCdo18Kc=
X-IronPort-AV: E=Sophos;i="5.88,302,1635220800"; 
   d="scan'208";a="62417152"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kGBciDsipHoV2Z5c6z1QSjDc5f7J/b+VFDEP/L4hXTiuNiaUVhhDZLuUDPjRlAGaMxT8L73YZ0BGdjeaVHhFZ6uk9pICl2wFvY/3DRlw+P62XNqFbmXQRyNvPBs4/bRfLjZ3bGnzCUv6J0icpAt0jI+7OdquQZZRgIfHv1h6Xj2TVnDOFBXkr5RPSaUOUeoCBcggL68bY1TKvur5FJ4LO9yoTkf6iNnlOe49kfyQ/XGYOBI6Gg5+cO8hemsPHWZkHzvAPgiS4u2HnMov0lPiOL3B7KSG0frYx2ssqNqCJzp4WHv+1D8VHp58Y6IyOdd/LC63QVqu4XoG36901SgQ+w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=s3jSrd20QaJ/193lbLMJWETxQp/+Zk8sQ9uQ4SYfQE0=;
 b=MR/i+TesQ5dBi4Ug4a+udWZessPPFXj0hDzctyhA+i36nAFViMMdnoAvIDmh4HsTQAmixhj8vxWVWIBADF7HxNxscfbWVZTMYBR8EtAj8wto9AkxsxxNz0gzeFLvt/WOZ3rfg3z7+SnpH4/vAS2W7BfplmheEX1XSMze/NMU4V+rJnSy4G4KTh42e1MkVqywSX72rQZKEb+A5y11NSIM0Pnho/EhS1Z1hgjFrnlxJjNAC1wI/6LkseMqYw3YG+B3o/iny0k2G1kv6ZLUPwm+pjssfrIHeVhDWxFWeaGIot9hvSCtVhSVs65O5SXKYa7tZnrx/0xTzKs0Sy0EK7vrPw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=s3jSrd20QaJ/193lbLMJWETxQp/+Zk8sQ9uQ4SYfQE0=;
 b=PUEkbO0sPxi/aVQNXmyrGvOgEYPB/0ivfnS/gz/+t0OuXZAuPfWkPxQV6Nibsv03ZyZ3AVNkFfahdtVJi+WtTj0gPNu6aub3aE14zzP4SPWwKQdkbT6gz8nUDcX/LgWrfghGBEJJVjHdZsYcO7f3QJrpWL4Yar2sBK50iW2kMvI=
Date: Thu, 20 Jan 2022 16:52:36 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "Andrew
 Cooper" <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH RFC v2 4/5] x86/mwait-idle: enable interrupts before C1
 on Xeons
Message-ID: <YemFRFaKRanqgpSW@Air-de-Roger>
References: <568cb6dc-127a-9c8f-0073-2df173d4677b@suse.com>
 <a0b3c3f6-2abc-353b-92f9-367fa57af8ef@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <a0b3c3f6-2abc-353b-92f9-367fa57af8ef@suse.com>
X-ClientProxiedBy: MR1P264CA0125.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:50::23) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8db2b7eb-1c8e-4708-8bf3-08d9dc2ce3c0
X-MS-TrafficTypeDiagnostic: DM8PR03MB6216:EE_
X-Microsoft-Antispam-PRVS: <DM8PR03MB6216BCCA98816F31224B9D918F5A9@DM8PR03MB6216.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: cnyxpWPrLXsy822s9KqsuIDU2ujeAkZQR6zK4lls1kzlmhiQP5kcfsBvEBAEOlGqIAW5H4Bd5KZN73tteNn33EIeJUZXKXDcfLQHvvdwOm3TUwr+0PlnK1364QIMo/PxIUYfj0u9g+2H2Dx4XoNZ1l5x+ntsxrJ6hF4+wD/stCcOofyAGTPEBALE67KbFgQn8m6Xzy6C4xdwHXRuw2MN2FFXFexMWMnXxgCtEXAnjYbCc4cBKzS3t10U89xIj7EPU56ONuzyJUBnj4SUpQlcgVQkPu0D73qaBvabNPq0wKKK6DGuJKBL210R7MItYbyywR2bW31xMXp2d97Aw3CwwKzibeRM1kfUphLsDsmG3GZggf+/kZAI+y7N4OAycp6IOOjIHywFny4wqUmTy+3ps9fw5IphSot90GCuzs/QSuk9/zBuH8P32vVuFy+R+EmYgoVVH2QPfx7HFU77TYtKQ4u1xTvR8KMK4tZJW5ZCX3XbUtXa9YbXq6XBVtK53k/U2LXa4hYocIOGyUy8M1pqPsJwgp8x6uekvZtqm0opscWqfAEC5FgQRi8cs6b6wcuZAdLC2hWCngvNnfysiyrTSlYwbUi56kD/UiM9ifsZkN4eCOlsJo52csRmyQRArqEaW/tk8HwzAPcJgfI5kpe1+Q==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(66476007)(66946007)(6486002)(6916009)(33716001)(508600001)(66556008)(83380400001)(85182001)(86362001)(54906003)(38100700002)(6666004)(6506007)(316002)(82960400001)(2906002)(186003)(8676002)(9686003)(6512007)(4326008)(26005)(8936002)(5660300002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?c2puSlhNK1owK3diZ01ORHpMeFhlMUxoeDFKTFg4aFYzUWdKUTZlY0FBM001?=
 =?utf-8?B?end3MnFJRFFYNDZxMkJNY1dscWo2YWdMYWwvMXhzY29JMzR6L3NCZmtYRWhr?=
 =?utf-8?B?U1lVL3dMTmZMU3FlZDROaElnajd3V29WWVN2ZmlSOTF4NGlIcDlyWlFObUJ4?=
 =?utf-8?B?N1gyekM2OTRBNWtOUmZvWjJqMThKSjlTV2x5TlV1aE1SQnRzRVd6YjlDa0pE?=
 =?utf-8?B?SmRNd0RFRHIvYnFDZnpOWjJaUnhrbFFoOVA1RXA1UEtsTkR5WGtUWUpITW9S?=
 =?utf-8?B?Q2dlQk1QblROSTd1YWxqMHpJeXA4OFBJVHdhNkFRSldnY2U5ZGpsT3JKQlJR?=
 =?utf-8?B?dVFYMHFoQnNzVGJnYmlDbzZVdXNycUNXY2d0amFSUXpVa3Fsck1WS3VZeXFT?=
 =?utf-8?B?L2phYlFReThsZHhjd0dPM2hsS2VGWjJmNHY0M2NlYnNSK0gzTThvRnVabXYv?=
 =?utf-8?B?MW8wdWZDbmF0ZTBBN25QVVR3aDd5cThML205UHdNNGFVUHRpOXF4a2o4b2pY?=
 =?utf-8?B?S1dJZ0hRY1ZLTUY2TXB1dzBaeHJFaHZncXFHMDZqMjEwZ2crcWtGSm9mVmdy?=
 =?utf-8?B?YWhuY1FXNVZIbVF1Sk4zUUZQUkN3N1Z6YXlrc0swNlliQ2R2N3RJczZWK2dX?=
 =?utf-8?B?TndFaFFwSzJpckZkaHdUc3pnSWNWRUhCSlM2M3Z6MTRBd2ZGdGQzQlNXOFlD?=
 =?utf-8?B?OENjWDFjQTNvR2laSnpTRkJYUk5VL2pSS1ZMUTlNTk8wcXgrSGlPb2dyeUt2?=
 =?utf-8?B?b2pHbHdLazZyV25scnN6QngxZzUwaXlSSlEzYXlxcTBZU3paQ1Z5ZUxzbXBI?=
 =?utf-8?B?clpzSkNXcm85emVqYnVXU1l6ZXo3bDNBZnk4SERLeEo2TTdvaDQ3d1NxMG1F?=
 =?utf-8?B?R2dMYzFzS0xaY3d6c2hlSFR6K0dLWEZBbDF6VEdBSnp6d21wVmd1RzRsa0Jr?=
 =?utf-8?B?c0EvQnBNM1g2NUhtbFc0TjN1K0QrMWtLZEltNTRGOHQ5MFpEdlFCUVN0Rjlj?=
 =?utf-8?B?NFY0Q21HZHZpbDlmdDlCL3oxRkU1OEJHNmljcnJERU1LeXFKVEY2VHEyaFI0?=
 =?utf-8?B?SzFKMjdTTmI1eGlmQkxYTGVmd0pzRTJjOEYxVklqcURNbGlVQUovNWZCYjc0?=
 =?utf-8?B?WS91TkVoL2FyWXdTd1dMVzUyTzdMUFd6T1hObUdxblJHVklzaUZDdmtNT244?=
 =?utf-8?B?d0RlV1JFNHFwekpYeDh1Rjg5M2NVZ1d0NEQwQ2ZCelB1K1Jpc25PakFvc292?=
 =?utf-8?B?L0E5TXZOUUhpNzVIOFNCcVczNUpaTTR1cDcvK0tmN24yNkVHa05CdUZtL1pl?=
 =?utf-8?B?WmVBMjJVYUtLaWlMZ0xtTERTVWJZeVQzam9UZFU3ZDl3aE1oRGlFTzBRVlVW?=
 =?utf-8?B?VjZUY3JXQktaQlh1Zld0QWVpQVZ1Z0MwTFV2b3pRWnJlMG9TOW9WbytpUEx3?=
 =?utf-8?B?bEtDRzI4UWdmUEtoY3VGamw5VlpOcHZtSWlLeVZtVDJUUlVkZ1ZkQVRYaUMx?=
 =?utf-8?B?NXh4cUtSWWVWSVV0QjdrRmovTXJNaG9EdUpCaHd3anMvendqbXBwcTlDcFhL?=
 =?utf-8?B?TXE4NGkwQk9pS1ZlV2ltaC9KRjZNMllrNkI3Tkh0QVpZTEoyWTBoRVJ1Lzlj?=
 =?utf-8?B?L2JrWWcxU2RMNjJIcVppMUdCVng0Y3FJK3U2ZnRZUEtDNzRFUVY4VlhCY0cx?=
 =?utf-8?B?UWlnRFFSdHF5QjgwbVhUVmNYS0w5WTd4Z1MwcmQ3VkduUjBTUVNBS2lvNFVk?=
 =?utf-8?B?dFJyNnFKQTNSQjhDNXRkQTVmUEZOYWc2NkhvREJZN0ljQTlqYkRQeXZ6dUhI?=
 =?utf-8?B?V0tnUjB1cVp3c25wbkowZ3k0NE1RdHhTcGY2Mi9ZTTNhN2NSVmcrNllGdHdw?=
 =?utf-8?B?SGdEeFo4ajkzYW5HMFc4eG9oUktTOWdRMnlhL3dNcXRveEoxNkpRTHNKU0RM?=
 =?utf-8?B?RFkvakUrVVZHOERhMTIveW9UdldSb2sveGNKa1NGMWVZT1RhOCs3Zjg3dVZT?=
 =?utf-8?B?akMrc1hrY1VqQ1ZxZlhTZVRqblZrVXNJVXEyeEM1SkorOVhsVVR5WXlsb0FY?=
 =?utf-8?B?M21FOVMzN0FVa1JVM05kemRNOERrWmMzOXlLbi8xUzNOeWhCRmlOOHd1SnBN?=
 =?utf-8?B?TXNDZHdZQWRhem1menRrZGdwNVZZNVhLcXZ2bTZqVmtvODdVS2J4emZDZ2xE?=
 =?utf-8?Q?px8B4O1Vesyx3nezm0eE/so=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 8db2b7eb-1c8e-4708-8bf3-08d9dc2ce3c0
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2022 15:52:40.9697
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9Ti5Fh98NPIyR9pYMFLPdY3mvP/X2J6vkE3rkvmx0Un5OvSQyu/TNC0Rp4rFmVvlQ032R1zNfVvYtB9dZjuc5w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM8PR03MB6216
X-OriginatorOrg: citrix.com

On Thu, Jan 20, 2022 at 03:04:39PM +0100, Jan Beulich wrote:
> From: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
> 
> Enable local interrupts before requesting C1 on the last two generations
> of Intel Xeon platforms: Sky Lake, Cascade Lake, Cooper Lake, Ice Lake.
> This decreases average C1 interrupt latency by about 5-10%, as measured
> with the 'wult' tool.
> 
> The '->enter()' function of the driver enters C-states with local
> interrupts disabled by executing the 'monitor' and 'mwait' pair of
> instructions. If an interrupt happens, the CPU exits the C-state and
> continues executing instructions after 'mwait'. It does not jump to
> the interrupt handler, because local interrupts are disabled. The
> cpuidle subsystem enables interrupts a bit later, after doing some
> housekeeping.
> 
> With this patch, we enable local interrupts before requesting C1. In
> this case, if the CPU wakes up because of an interrupt, it will jump
> to the interrupt handler right away. The cpuidle housekeeping will be
> done after the pending interrupt(s) are handled.
> 
> Enabling interrupts before entering a C-state has measurable impact
> for faster C-states, like C1. Deeper, but slower C-states like C6 do
> not really benefit from this sort of change, because their latency is
> a lot higher comparing to the delay added by cpuidle housekeeping.
> 
> This change was also tested with cyclictest and dbench. In case of Ice
> Lake, the average cyclictest latency decreased by 5.1%, and the average
> 'dbench' throughput increased by about 0.8%. Both tests were run for 4
> hours with only C1 enabled (all other idle states, including 'POLL',
> were disabled). CPU frequency was pinned to HFM, and uncore frequency
> was pinned to the maximum value. The other platforms had similar
> single-digit percentage improvements.
> 
> It is worth noting that this patch affects 'cpuidle' statistics a tiny
> bit.  Before this patch, C1 residency did not include the interrupt
> handling time, but with this patch, it will include it. This is similar
> to what happens in case of the 'POLL' state, which also runs with
> interrupts enabled.
> 
> Suggested-by: Len Brown <len.brown@intel.com>
> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
> [Linux commit: c227233ad64c77e57db738ab0e46439db71822a3]
> 
> We don't have a pointer into cpuidle_state_table[] readily available.
> To compensate, make use of the new flag only appearing for C1 and hence
> only in the first table entry.

We could likely use the 8 padding bits in acpi_processor_cx between
entry_method and method to store a flags field?

It would seems more resilient, as I guess at some point we could
enable interrupts for further states?

> 
> Unlike Linux we want to disable IRQs again after MWAITing, as
> subsequently invoked functions assume so.

I'm also wondering whether there could be interrupts that rely on some
of the housekeeping that's done when returning from mwait. I guess
it's unlikely for an interrupt handler to have anything to do with the
TSC not having been restored.

> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Roger Pau Monné <roger.pau@citrix.com>

I think it's important to keep in sync with our upstream that's Linux
there.

Albeit I would prefer if we could carry the flags into acpi_processor_cx.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Jan 20 16:01:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 16:01:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259126.447022 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAZs8-0003fl-I6; Thu, 20 Jan 2022 16:01:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259126.447022; Thu, 20 Jan 2022 16:01:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAZs8-0003fe-F7; Thu, 20 Jan 2022 16:01:12 +0000
Received: by outflank-mailman (input) for mailman id 259126;
 Thu, 20 Jan 2022 16:01:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zWAP=SE=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nAZs7-0003fY-Jk
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 16:01:11 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2d62a80b-7a0a-11ec-bc18-3156f6d857e4;
 Thu, 20 Jan 2022 17:01:08 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2d62a80b-7a0a-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642694468;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=cTw1zsN7jmzZAxYij+BPNCQVxiVpNLF84N10/skpouk=;
  b=CcVKxPti82rol4N9D9yrNvRzO8LgZdfZXiXS6xtJysU4rcbxOyt3u2PA
   o7GwuZXgMIj7PqUWOldjXvf1ztIP1UubZZqi7DxACo7E4QK/2JKS2WlCt
   GZ+Fx7454Tisgea0WyGIi6yMfJ7J2OXaH1+gCbEmhc3AfJbf7HINlw6wi
   w=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: uKPX6JlmlQmI4aAnwWy/zP2cyjwfEIg/95vS6vKyDVoNH/CsyZQfpQQkbSAEYNpLOdAiGt0ab4
 uYFXu87cK7Ah+tJj+MNmE1wU+UC6FEs/NqxczqN4TpM7aQS2VRKjImLFWtQsgtZERmg8wk/MJW
 6umP3jPoejP4bZ7nLkgQsBnckvZNR0qvKPbFReK9ZURg0HJMZqjRX+4WA3b3wFmPQ7RQ6eo/EE
 uU7TQ4Tsw1t3gRHRLESpmZw9R/SOZPGCFf8AO5B1cBj1GX8KLkNtF33BKlsJ15h4bHJ20TLm7h
 ngGoYec9t5KppJQBW7NnPige
X-SBRS: 5.2
X-MesageID: 62412617
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:DtwmVqLeQAGYMOoLFE+ROZIlxSXFcZb7ZxGr2PjKsXjdYENS3zMAn
 TQbCG/QOa3camOkf4wjYInk80lSsZbSm9ZgSVFlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokcxIn5BC5C5xZVG/fjgqoHUVaiUakideSc+EH170Us5w7Zj6mJVqYPR7z2l6
 IuaT/L3YDdJ6xYsWo7Dw/vewP/HlK2aVAIw5jTSV9gS1LPtvyB94KYkDbOwNxPFrrx8RYZWc
 QphIIaRpQs19z91Yj+sfy2SnkciGtY+NiDW4pZatjTLbrGvaUXe345iXMfwZ3u7hB2Rrfwvx
 thkhKftE0AvMIvLwP5HUElxRnQW0a1uoNcrIFC6uM2XiUbHb2Ht07NlC0Re0Y8wo7gtRzsUr
 LpBdW5LPkvra+GemdpXTsF2gcsuNo/zNZ43sXB81zDJS/0hRPgvRo2Uv4MBhmlp2aiiG97QW
 PYjdzRWRSiDQDFPPE47V7A1hMCn0yyXnzpw9wvO+PtfD3Lo5BN1+KjgNpzSYNPibdVYmAOUq
 3zL+0z9AwoGL5qPxDyd6HWui+TT2yThV+o6Fre16/pri1273XEIBVsdUl7TnBWiohfgAZQFc
 RVSo3dw6/hpnKC2cjXjdwWKjCCKszctYIcKVOs0zgbV0PDXsy/MUwDoUQV9QNAhscY3Qxkj2
 VmIg87lCFRTjVGFdZ6O3uzK9G3vYED5OUdHPHZZFlVdv7EPtalq1kqXJuuPBpJZmTEc9dvY5
 zmR5BYziLwI5SLg//XqpAuX695AS3Wgc+LU2uk1dj70hu+aTNT8D2BN1bQ9xawcRGp+ZgPQ1
 EXoY+DEsIgz4WuxvCKMWv4RO7qi+uyINjbR6XY2QcV7qW3yqyL9IdkAiN2bGKuPGpxYEdMOS
 BSL0T69GbcJZCf6BUOJS9/Z5zsWIVjISo2+C6G8gitmaZltbg6XlByClmbLt10BZHMEyPllU
 b/CKJ7EJS9DVcxPkWTqL89Aj+5D7n1ulAv7GMGgpzz6gOX2WZJgYepfWHOUcPsD5b+JyC2Mt
 Y432z2ikUsPCYUTo0D/rOYuELz9BSFrXM+t850OKLfrz8gPMDhJNsI9CIgJIuRNt69Uiv3J7
 je6XEpZw0D4nnrJNUOBbXULVV8ldc0XQasTMXN+MFC29WIkZIrzvq4Te4FuJess9fB5zO4yR
 P4AIp3SDvNKQzXB2jIccZii89AyKEX13VqDb3i/fTwyX598XAiVqNXqSRTiqXsVBS2tuMpg/
 7D5jlHHQYAOThhJBdrNbK791Eu4uHUQwbogX0bBLtRJVl/r9Yxmd374gvMtepleIhTf3DqKk
 Q2RBE5A9+XKpoY09vjPhLyF8Nj1Q7cvQBICEjCCv7isNCTc8m6y+qN6Ub6FLWLHSWf52KS+f
 uEJnfvyB+IKwQRRuI1mHrc1ka9nv4nzp6VXxxhPFWnQawj5EatpJ3SL0JUdtqBJwbMF6wK6V
 ljWp4tfMLSNfsjkDEQQNEwuaeHajaMYnTzb7PIUJkTm5XAooOrbABsKZxTc2jZAKLZVMZ8+x
 bZzscEb3AWzlx42P4vUlStT7WmNciQNXqhPWkv222M3Zt7HEm1/XKE=
IronPort-HdrOrdr: A9a23:sdewH6sLk2ylaNoAwB7w/yR67skClIMji2hC6mlwRA09TyXGra
 +TdaUguSMc1gx9ZJhBo7G90KnpewK6yXdQ2/hqAV7CZnichILMFu9fBOTZsl/d8kHFh4tgPO
 JbAtVD4b7LfCZHZKTBkXCF+r8bqbHtmsDY5ts2jU0dNT2CA5sQkDuRYTzrdHGeKjM2YabQQ/
 Gnl7Z6TnebCDwqR/X+IkNAc/nIptXNmp6jSRkaByQ/4A3LqT+z8rb1HzWRwx9bClp0sP0f2F
 mAtza8yrSosvm9xBOZ/2jP765OkN+k7tdYHsSDhuUcNz2poAe1Y4ZKXaGEoVkO0aqSwWdvtO
 OJjwYrPsx15X+UVmapoSH10w2l6zoq42+K8y7uvVLT5ejCAB4qActIgoxUNjHD7VA7gd162K
 VXm0qEqpt+F3r77WvAzumNcysvulu/oHIkn+JWpWdYS5EiZLhYqpFa1F9JEa0HADnx5OkcYa
 VT5fnnlbdrmG6hHjDkVjEF+q3uYp1zJGbKfqE6gL3a79AM90oJjXfxx6Qk7wM9HdwGOtx5Dt
 //Q9RVfYd1P7orhJJGdZY8qPSMex/wqDL3QRSvyAfcZeg600ykke+E3Fxy3pDvRKA1
X-IronPort-AV: E=Sophos;i="5.88,302,1635220800"; 
   d="scan'208";a="62412617"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EbP2SkeFafZQsN6on8+wHreW14MawwC3ajup+5SMU96kBdPKMNl8H9iY4zVVy9VyuEHgHu5VKnjF+JkGZLnqlYUrhZKoNSME+ttaP2r4MU1mXXRYUDAx1EMxdQXHOhmFHz+lpjMEbJLzXzAaVyp8AMu2qKxAim/IXxu9OIaO72/zCix7Wb2EDLCnowKzXTQ/f+SEcm/99i5U0PLjelICGmWCkiP/RvlzMvJ677eOcOSMXfPOFcnvEJj6MBw4GYaeNLM9bTMucfRMVJI6EatQIsiNRuCBQREJVrvc47D9V0cxAoSLEKRLzMwjEkl2MFtC9iTOmWf3ZPoHsi2yVCZLJA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KCOzx3Q42NLL6YhcYCShH92PjaeweN6rFj0ZfG+Yixw=;
 b=S+uKRyf6VMkLXBoR7X+gbf7jDt3RU6mgcVoTdcR7TfZUZwjkPvfcu+G0QrVANtWoIZsyEDkX/iUlcadtDbET8W3//GnNd6Eaj9UAWdSAitdCEuPU08oX4o1+6+bgPY5pe1PHKZTEHjvM4sVV79u51Vdcqe8uuJFgtifEr0Xauid55Omzn2YJCJU7mau3YWxpOFK9kZJYSqDmeFP5F2qk+HQkKr474gAHpOS13GSp7QLIbPkyT1pgsXE/v6Tei6BI/S0Px5Jr4/gelY0KNiabzvjezRVLN9GxCDjDFoMrTLuNIQOLojAnUFZrJuvx4E7KTxye0ap8qpOoyXgUopUmFA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KCOzx3Q42NLL6YhcYCShH92PjaeweN6rFj0ZfG+Yixw=;
 b=jGR+XV2FPrpPcPC80vvs5kO5BD6PzIF+4kPy6UFcAB6/NoCXfpON5y52lq3JP7FACIOlij2+68bhtkLxMzU7jOoHP/u8thvl56r+vxX5uJHCc9NxnwaXbd++OsPE6LDqtYf3GYUHtZxGarLMrG9E3KRu2mVZhMEkWQx4uEV6nUM=
Date: Thu, 20 Jan 2022 17:00:52 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH RFC v2 5/5] x86/mwait-idle: squash stats update when not
 actually entering C-state
Message-ID: <YemHNOVyqGwZ7/eC@Air-de-Roger>
References: <568cb6dc-127a-9c8f-0073-2df173d4677b@suse.com>
 <b9270896-efea-3e81-99fb-685fc5b708be@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <b9270896-efea-3e81-99fb-685fc5b708be@suse.com>
X-ClientProxiedBy: MR2P264CA0104.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:33::20) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e58f6a60-1af8-4650-5cc4-08d9dc2e0c0a
X-MS-TrafficTypeDiagnostic: DM5PR03MB2636:EE_
X-Microsoft-Antispam-PRVS: <DM5PR03MB2636E01449CE4E08C67726078F5A9@DM5PR03MB2636.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: /guUIf3CJCG5lxGtVHatQbGtioq5d4f7/7Lx7JGGJ7W8ytKY227Invl9qdsjkFu9oHOwmRwLmovwY9/Ng6I+wIJSCud1wkRrtZMvJ42QUhulaCex/n8V2tjBt0jPI48luYobUxM8aO3u1rRAoxvKON6EAOccxv+iVIBNyo8h4C5lavMVK1DIBiN4R0Ylbi2ovbBoqktK8H/MuqwbHVHpdPXT6BcCPiG+1hcEj8ryd55ZTW6lQOL9hylWSWpS3vvW0QNt2JD/Ut/cPSrSIQ7XlEj7B45RYMjQ4thktoxteO3t6N/CRMENKozxIRuiLCyr4vSfif8AC6BnafQjPmUDGC2PMeRWWTsXqGt1OzPTPclnVdUnw+qSQWj++/Ift7csTsrSM6sZrOAtpnz4UTPLi5KVKUUh6yWMPM8+048MHh0WE/lBIrmXOzV1Dhn1I6Jc/O4/SFYVLAnT8Cs1LIz4SYdbVu50UCyJbAhJqCBlRK8yn75rYunAqn3132lwvRw5i1orOxmSZBpdZWAHoVZDw2Jz/71lNyA4Hdussj44+XyIAHT3f1dhOYm9TK2Xg9hr8ASCRA1ikav4RuXhKM0KWokeUiLdfjMKEkBnJsaxuE4dJQaVU4/z5M1A47EUiM1gRuhP2l3vepay5zT48lOqUg==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(186003)(6512007)(8936002)(33716001)(316002)(15650500001)(9686003)(66946007)(6666004)(82960400001)(86362001)(26005)(66556008)(66476007)(4744005)(4326008)(6486002)(6916009)(54906003)(83380400001)(2906002)(8676002)(6506007)(508600001)(5660300002)(38100700002)(85182001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RVdXL3hWRWJCNXZjRDNmZlBYL2dkdDNIaTIyNVBWeHlJMHBQcTRZZDhmTHFt?=
 =?utf-8?B?SWZab0FmMkh4d2FqSlFvVktIakZzbUFjbFlYeUZoR1cxY0JRTU5ZRGZ0R3BJ?=
 =?utf-8?B?dldJRWltdkxIUmlzQ2pGUjMxNTNqYzRmeGYySzZaTDhhR1RxQ2JBYldlUGY3?=
 =?utf-8?B?anUzbkJyZ1hMemQ0UEZaall2d2dXMUlQcGJITWlvV3JDR1R6OWgvYlVhdmhz?=
 =?utf-8?B?ZmFmenZzNWhHcE5TRUFGOXhVaW5CdEduVWpFVnEweTBhcVlUZGgvTWdlczhm?=
 =?utf-8?B?QWZRQm9GL2NRRkNVK3BPdkF6Q1NuM1YrWW5aa1Zma2JBK2tnVysxUWxINUxz?=
 =?utf-8?B?TG9zSFFxaCsrVHZmazdCcU9CcmVQbE5yZXRZUG5tdnNVSzgvOGVkL0Z3ZzQr?=
 =?utf-8?B?Q2FiajlDdjZ0WTFuQWpEemVOUXlxN2RaN0FQUnhqSnhaVDZ6bUVpbUp4VzRM?=
 =?utf-8?B?UllnQThmNUVZTlE4RExwTVdpN2tjRE55eVR2Qnd1YjF2TUwyVHo3YVRoUVB2?=
 =?utf-8?B?WkJSN0RoSFY1YjZIUmR5ZVlmV0s1RXg1MkV4ZlovR3hhcXRObWFJNEJ0MTFq?=
 =?utf-8?B?WFUybnI3VnVTZGE0dmVYcVVINUYzKzBROVgrMEIwdkZieXNZMnhYUWdiUG9V?=
 =?utf-8?B?TEtsNlVibUMzZTZQYTVIdjVUUkNCRkdSYjVtNGh1bGJkYkt5dHZ4dnMzOXlL?=
 =?utf-8?B?VmNwT2lzQWp3dVNrRUVKS1JvbWd0cTRXaGNvNy9IOGk1RDkrN1oyVDZRMWt1?=
 =?utf-8?B?U2NhMjNIRkx4MjVNUmJzdlpvRFkzWGVFd3c3MW5tN3RkWjU3dklGdGFxYnVX?=
 =?utf-8?B?aUs0TUhNaWs5cm5wQ1ZaVGhDSjltWm4xUVI4VGJQdnhKUjh4b1ZzL2xqUEdk?=
 =?utf-8?B?NlBpeFRDQkhEaDE3TytwdzZNeWVKYzBTMmNlRHp3WVNVUlB5WEtmbVVQcTRy?=
 =?utf-8?B?VEhQOTBpTjZrR3JOTkhjYlp2NFdtMHFQTXBabjllTVpuZERDZHJGallyRktQ?=
 =?utf-8?B?ZmVYSUQyVU94WWZDRU0zYnVoTndMdTRDaDNxWDA3U0JKYURRSDNxVEpYeVgr?=
 =?utf-8?B?ME9VSVFtSFdOb05CYW9hZktubDFwelA4ZU5ZWTB3Z1JtcERvYThiWTVlYWhs?=
 =?utf-8?B?L2xDNWxtWnJvMlpvdTJzSk5jWDU0S1dNSHphQ1B4emNRZHZWaW8zSUxiMFNp?=
 =?utf-8?B?ajBSTDA4dVl1QzlPRU1jU2h4SVFrSWVNNnlZVVk0NW9LTC9tVEsvZlZrMStH?=
 =?utf-8?B?VDR0cDdXWFJnU1lzQ1ZUMkJ0anpuY2dXb0dZeVMvMEZGNmtEQlBlaE1CRTVS?=
 =?utf-8?B?RWl2VFZPSXV5dmdkUTZDcTFVcWRlOUdxdUJ5c1FrVFY4ZGRhMkxES0dacHpC?=
 =?utf-8?B?TFo4S2lKVEUwcHlXOHZiTk9mcy9WVjl5WkRDOW45c2hjSW5tejV5TEJ6S25O?=
 =?utf-8?B?QUJGTWNtdGl3Tmw5OHZBMDZOYjFPd2c5eXN5RHpkMXFHSm1yaUpJQTVtUnFj?=
 =?utf-8?B?YjhsNUFnbURRTEVYWCtKbGFMTkpSaHB0bTZGZmVDemRBL1FmeG5zZEw2cDIy?=
 =?utf-8?B?K29iV1YwdHVlK1JMaStDMHEvV2ZMbjAzTGVTS0dTc2s4b3BjZkpSRFRzUFJo?=
 =?utf-8?B?ZGc2Y3JzTU9hakV6RkJ1VTJRbUJ4ZURHcTM5Nk1Lbk4xa2c2dUJES2dYMXVF?=
 =?utf-8?B?M3BISEU4TDA0cjYrSHV5MHZRMHF0QWNNQmUrd094azBQVXlwMmRjMmZCKzVh?=
 =?utf-8?B?VjNHaFlvWDBZTTN4NklkU2diUHQ2NW1CWVZxQitEK1lXeC9TU1l2L0JvbnJZ?=
 =?utf-8?B?bjlTVjRCSytLcVFFTTJYTDA3REFLOHhVQjlTdjlaQ0VHb25aSmN3QmpRUFRI?=
 =?utf-8?B?TU1jVzQwalZQMHNhOHBvTFllenVIc0FwM3hxOUliVGliUlJQcHozRzFzUEpq?=
 =?utf-8?B?MndvNE9SNWgyOEZrQ3k0QlF3bk4wVTNkUGtrSXVNb2dDQXdrWjRHOXN4bVlx?=
 =?utf-8?B?ODgyT2dMdVJaUDVlSnNoSG9ubXpFTFdoMWVRZVllNFpCM3JWWHY0Um4xZkNx?=
 =?utf-8?B?a3lLckQ1ODd0Q2NqeW90UUY5aWVFNEdWNTJNMFBPdG1pOThYKyt5U2hseGdr?=
 =?utf-8?B?cEJiM1AxZllIS0cxSmZ3MTd1elpVZ0JTUnJrMjhibStlUjBmRjZ4b3B3MW1z?=
 =?utf-8?Q?VAoxVPh9qLyIlD2jP5VyujQ=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: e58f6a60-1af8-4650-5cc4-08d9dc2e0c0a
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2022 16:00:57.9028
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: hR4e9gKLKJS9Gea0S2En6JDRAKQ8bz/Ck9tzk7JOsxG0xfGxF3bHZFX3KOPPWwtNAvAifMfFCz36+NVEdtB+5w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR03MB2636
X-OriginatorOrg: citrix.com

On Thu, Jan 20, 2022 at 03:05:12PM +0100, Jan Beulich wrote:
> While we don't want to skip calling update_idle_stats(), arrange for it
> to not increment the overall time spent in the state we didn't really
> enter.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> RFC: Arguably more of what follows could be moved into the if() -
>      thoughts?

I would move at least the restoring of the TSC, but I would be fine
with moving everything up to local_irq_enable unless I'm missing
something.

I think you could likely also avoid the call to update_idle_stats so
there's no need to fetch the new tick count.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Jan 20 16:09:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 16:09:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259129.447033 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAa00-0004N2-EW; Thu, 20 Jan 2022 16:09:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259129.447033; Thu, 20 Jan 2022 16:09:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAa00-0004Mv-AH; Thu, 20 Jan 2022 16:09:20 +0000
Received: by outflank-mailman (input) for mailman id 259129;
 Thu, 20 Jan 2022 16:09:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YFdd=SE=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1nAZzz-0004Mp-D9
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 16:09:19 +0000
Received: from ppsw-32.csi.cam.ac.uk (ppsw-32.csi.cam.ac.uk [131.111.8.132])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 51ed0095-7a0b-11ec-bc18-3156f6d857e4;
 Thu, 20 Jan 2022 17:09:18 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:50206)
 by ppsw-32.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.136]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1nAZzx-000A12-2C (Exim 4.95) (return-path <amc96@srcf.net>);
 Thu, 20 Jan 2022 16:09:17 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 665D41FADB;
 Thu, 20 Jan 2022 16:09:17 +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: 51ed0095-7a0b-11ec-bc18-3156f6d857e4
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <c89f27a3-5873-b2c0-c545-90ac182b9048@srcf.net>
Date: Thu, 20 Jan 2022 16:09:17 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH] x86/APIC: no need for timer calibration when using TDT
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <6f79f1e1-119b-b8fc-11a9-5f56bfc163e7@suse.com>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <6f79f1e1-119b-b8fc-11a9-5f56bfc163e7@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17/01/2022 10:32, Jan Beulich wrote:
> The only global effect of calibrate_APIC_clock() is the setting of
> "bus_scale"; the final __setup_APIC_LVTT(0) is (at best) redundant with
> the immediately following setup_APIC_timer() invocation. Yet "bus_scale"
> isn't used when using TDT. Avoid wasting 100ms for calibration in this
> case.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Thu Jan 20 16:11:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 16:11:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259134.447044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAa23-0005hW-TG; Thu, 20 Jan 2022 16:11:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259134.447044; Thu, 20 Jan 2022 16:11:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAa23-0005hP-QD; Thu, 20 Jan 2022 16:11:27 +0000
Received: by outflank-mailman (input) for mailman id 259134;
 Thu, 20 Jan 2022 16:11:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YFdd=SE=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1nAa22-0005hF-Ev
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 16:11:26 +0000
Received: from ppsw-33.csi.cam.ac.uk (ppsw-33.csi.cam.ac.uk [131.111.8.133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9d566d5b-7a0b-11ec-bc18-3156f6d857e4;
 Thu, 20 Jan 2022 17:11:25 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:49676)
 by ppsw-33.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.137]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1nAa20-000jq8-gc (Exim 4.95) (return-path <amc96@srcf.net>);
 Thu, 20 Jan 2022 16:11:24 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id E8EE81FC61;
 Thu, 20 Jan 2022 16:11:23 +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: 9d566d5b-7a0b-11ec-bc18-3156f6d857e4
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <1bcec7de-0020-dec5-b577-c26e7f353947@srcf.net>
Date: Thu, 20 Jan 2022 16:11:23 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH] x86/APIC: drop 32-bit days remnants
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <362d1e97-c9c4-3d52-be6a-3fcd5fd0a27f@suse.com>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <362d1e97-c9c4-3d52-be6a-3fcd5fd0a27f@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17/01/2022 10:33, Jan Beulich wrote:
> Mercury and Neptune were Pentium chipsets - no need to work around their
> errata, even more so that the workaround looks fragile.
>
> Also ditch a Pentium-related and stale part of a comment.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

Lets hope we don't have something other than Mercury/Neptune depends on
this.


From xen-devel-bounces@lists.xenproject.org Thu Jan 20 16:13:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 16:13:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259137.447054 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAa3r-0006Js-Ah; Thu, 20 Jan 2022 16:13:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259137.447054; Thu, 20 Jan 2022 16:13:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAa3r-0006Jl-76; Thu, 20 Jan 2022 16:13:19 +0000
Received: by outflank-mailman (input) for mailman id 259137;
 Thu, 20 Jan 2022 16:13:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zWAP=SE=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nAa3q-0006Jc-KV
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 16:13:18 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dfa6d66a-7a0b-11ec-bc18-3156f6d857e4;
 Thu, 20 Jan 2022 17:13:17 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dfa6d66a-7a0b-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642695197;
  h=from:to:cc:subject:date:message-id:
   content-transfer-encoding:mime-version;
  bh=YFiDqJohY+v3QAsYF56ic/vzY1WH48jxUZLpJW7iSW8=;
  b=QeH/GjPzPjin6SBlc6m9ehTjv6EKlWEuhIwbl1wcAZIkhMb5YXsEroFa
   Hy01QiBC/sJaUKl1VEZtevEvrY+/Kybcaj+xR1bwDWrlmrdx+w+kbZdbJ
   Oqq6AXxWrm+osJGBUXCcjY0xIUmvVq1ZBi4ny4dSyuVDr4HclPBNKsaU8
   U=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: ZKi6jp4rgwNp3MDwAbXg6HzzUKNDZlJ7xAa84XgvQh9NqPjp9aAurw97/+nB9Syfo+UQXaWtDT
 /+/cANUprf0lWS3kAm2dmn3+kkWX7/Bts+n3ruDhjVdzbQPivm1DEspbonIU33Wqrwdrbsk6bh
 Nn/YX0GaFLcOu1+0xT90JnoHl+i0xljjzxlbq2tHzlKbEBdMRH0l2T+qVMk4E58zFG5rCTauJM
 TyZ7RWmyTzK1iy0L+TeqgILV/uvrqYu+r3u8kgQfypCXMkjK4j6dgbX1VFs3eBojudEteEeqGt
 I8PcksZ+hsELwplJsgC9tqLY
X-SBRS: 5.2
X-MesageID: 62419384
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:LfPTiaseUlR1gqrnv/MYfYWRsefnVLdZMUV32f8akzHdYApBsoF/q
 tZmKTqCOvaJYWD3LopwPdm+8UkOv8XWzNJmG1dkripnEHga+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZQP0VOZigHtIQMsadUsxKbVIiGHdJZS5LwbZj2NYx24DhWWthh
 PupyyHhEA79s9JLGjp8B5Kr8HuDa9yr5Vv0FnRnDRx6lAe2e0s9VfrzFonoR5fMeaFGH/bSe
 gr25OrRElU1XfsaIojNfr7TKiXmS1NJVOSEoiI+t6OK2nCuqsGuu0qS2TV1hUp/0l20c95NJ
 Npl8syMEFkTDvz3kuU5byRzFQF7Pp9J5+qSSZS/mZT7I0zudnLtx7NlDV0sPJ1e8eFyaY1M3
 aVGcnZXNEnF3r/ohuLgIgVvrp1LwM3DJoQQt2sm1TjEJf0nXYrCU+PB4towMDIY2JoSRKeFN
 5ZxhTxHYw3LOy9kJWksUJsgt8i1p3ulaQBjgQfAzUYwyzeKl1EguFT3C/LKfvSaSMMTmVyXz
 krE9WnkBhARNPSE1CGItHmrg4fnjS79HY4fCrC83vprm0GIgHweDgUMUlm2quX/jVSxM++zM
 GRNpHBo9/JrshX2EJ+tBHVUvUJooDZbC+YJTdcKuTqHy47o3i2fJm0HfDFePYlOWNANeRQm0
 VqAntXMDDNpsaGIRX/1yop4vQ9eKgBOczZcOHZsoR8tpoC6/dpt1k6nosNLSfbt1rXI9SfML
 ydmRcTUr5EaloY12qqy5jgraBr898GSHmbZCug6N19JDz+Vhqb5NuRECnCBtJ6sybp1qHHb4
 BDofODEvYgz4WmlznDlfQn0NOjBCwy5GDPdm0VzOJIq6i6g/XWuFagJvm0keh42YppaJWa5C
 KM2he+3zMUPVJdNRfQvC79d9uxwlfSwfTgbfq28giVyjmhZK1bcoXAGib+41GHxikk8+ZzTy
 r/AGftA+U0yUPw9pBLvHr91+eZymkgWmD2PLbimkUXP+efONRa9FOZeWHPTP79R0U9xiFiPm
 zqpH5HUm0w3vSyXSnS/zLP/2nhTfSFkXsin8pIOHgNBSyI/cFwc5zbq6epJU6RunrhPl/eO+
 Xe4W0RCz0H4i2GBIgKPAk2Popu1NXqmhX5kbyEqI3iy3H0vPdSm4KsFLsNldrg77u1zi/VzS
 qBdKcmHB/1OTBXB+igcMsah/NAzKkzziFLcJTehbRg+Y4VkG17D9Oj7c1a97yIJFCe265cz+
 uXyygPBTJMfbA1+F8KKOum3xla8sCFFyuJ/VkfFOPdJf0Do/NQ4IiD9lKZvccoNNQ/C1n2R0
 APPWUUUouzEookU9tjVhP/b89f1QrUmRkcDRjvV97e7MyXe71GP+44YXbbaZy3ZWUP15L6mO
 bdfwcbjPaBVh11NqYd9TepmlPps+9v1qrZG5Q14B3GXPU+zA7ZtL3Taj8lCsqpBmu1QtQesA
 x/d/9BbPfOCOd//EU5XLw0gN7zR2fYRkzjUzPI0PESlu3MnoOvZCR1fb0uWlShQDLppK4d0k
 +4utfkf5xG7lhd3YM2NiTpZ9jjUI3ENO0n9Wkr23GM/ZtIX92x/
IronPort-HdrOrdr: A9a23:nhLt+K1UKv2l7A9tY2/NmwqjBEIkLtp133Aq2lEZdPU0SKGlfq
 GV7ZMmPHrP4gr5N0tOpTntAse9qDbnhP1ICOoqTNOftWvd2FdARbsKheffKn/bak/DH4Zmvp
 uIGJIObeEYY2IasS77ijPIb+rJwrO8gd+VbTG19QYSceloAZsQnjuQEmygYytLrJEtP+tCKH
 KbjPA33gaISDAsQemQIGIKZOTHr82jruOaXfZXbyRXkDVnlFmTmcXHLyQ=
X-IronPort-AV: E=Sophos;i="5.88,302,1635220800"; 
   d="scan'208";a="62419384"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bE8nATy/ocp0BloJNj5HaKDoDVrauwBB7C8IrJP1GJ9wdnKq7C6+r0uJihcqqIjN6DHoP54n8HueXgAZmodEPw/6M9/iaYkF50tY7xrrpvMkiTAZmff7o9Tmjnw7dkauhgCDWR0OrMK9+/9oclJjL6WMf06D+n7k8VIOnCiWknIv8D1yFmXcITDZEaRYbfJvi7u7iIHtPlxLkcBJ+WJ4zzUZlsn/XmmZYm4Ih3VBwZsAZDY5WKpxK22NNdGWrJuFFNbKZVkFJZ5i4jCsblFqX+DJmy7izgOR5FCsdhbZ1edSH0E7Knr1eL6nMrXrxqFg9aiJriwlBDjAZroQDqKitQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xDiLfegh1LN0Ovmkbt1PyxYFwjVYi1Vv6NSlbHV9b98=;
 b=Dt+SBESrOYcBcgmoXZ10455ZAEuZ4bjT9XPp3H2SJtiqKc9viywassdp4LsPNmc5mdRmOWdBN7khtm36MC/lKB8OuOn7iA/OKVRkbuI8/nJHQSKhX2SxdEo8ShvStKJ6Qu+cCjAm21ovDtqSm7WdC+itbDZrINlQqc0IzEG1ydwfnIhsyNjcHDc/Cgc9yCPiwGN2R151JL5M18Kf5B5Ga6yXyHRFPXc/5w/7oGzEJNSoa7qt516+ghhfBHMG/V6zPD5EDoLVFVFqVxyEfmw1AP4FaRB/ZjUtaOppWb60rPy+EKcDi396WIPt7htx4zFw1mY1nv4hPSPwQC/MAw4qVQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xDiLfegh1LN0Ovmkbt1PyxYFwjVYi1Vv6NSlbHV9b98=;
 b=WegcmQrIJR801uUm1rPCAVAO91zsKutjdROB1/7TlW6BDNRT6owNBvDBHTkmLdsQaw8IiP15WUJTDew9KamdhuzvxhvxEAIRasFYoIZsBpCHFEBz8EWU731aEBY1CXXRHVVKdiKSAd7VcGqBAshpjtUIXbDIhzAN4O85rLXsazQ=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH] xen/x86: import intel-family.h from Linux
Date: Thu, 20 Jan 2022 17:13:00 +0100
Message-ID: <20220120161300.8477-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MR2P264CA0089.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:32::29) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9e3fc83a-2c1a-407b-7b6c-08d9dc2fc17c
X-MS-TrafficTypeDiagnostic: MN2PR03MB4909:EE_
X-Microsoft-Antispam-PRVS: <MN2PR03MB49095F25EBFB4B6B16D2A1698F5A9@MN2PR03MB4909.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:215;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: f3mRUG5NOVII1vVWbjXPzuEs5pl/J2Kmxt6YpYYHXdf3yeufXwuHXpF10V8+y29gpJlcRZDpN/LlGInj5dhSJ2/33eGCAT7ZZshDAZ0L4KvrHTqShDQij69illdXow++y5dchuo5EDE/ww75XvwGAcUfIb6TZUjovTk9I4kUCOveNOJe9iehH+dmJhyFWtDaJhZ7b0391xqOcZKQ191+QetJEE/BFQNpLDijkasToz+IqJVDQbGyPJg+t0hV1RzDfG5+185/eZDWA7grpvvkTRkV9mN2TgPFtE75aL/maL6m9EyVVG+s8r+CKRex0cRekqNjf09AgK2VtNS7cqE++VZWE0Zy7Cn+tw7eaS+8+MlkygnJnNGOil1bBfY1nSvHxjZz+0RvVODz3k0L09FYuiyaIgNm8FLKPsb8kQ53jIorh0uqpFQeOyiuqCuKhJTNxGFSJA+GpfaAC/DJ9DnQLiKitPhR4CSHrODE6gOuIqQ47noEsqmkwmEBGpgmBiqZMnjpEOoGLJFL6djOr2cLQO+Pn2cl7R0t+wakXoeUy/rUBh3caLe9+VO7qu8W+Hq7K+9S2whHFXdyYrLyzixWMB8BtTGDrOLrC6WF0v+1kO5tr80gdDQYnT4wyo2rMy7DKromIYoHl1IFk12QEjAM3Q==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(1076003)(508600001)(36756003)(316002)(186003)(2616005)(54906003)(66476007)(4326008)(5660300002)(6666004)(66556008)(38100700002)(6506007)(6486002)(66946007)(86362001)(8676002)(83380400001)(8936002)(82960400001)(6512007)(2906002)(26005)(6916009);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RVkxM3kzb3JUd24rL2Z2dkJhNEU0aysxUVNSR3JCd1loTVAyVmNHWVpqWnAy?=
 =?utf-8?B?bWJRQlQvN2xTejh1elF1bWFvMENRbzVISHZ2bmt1ZTBud3lhSnNDYlgzU1hm?=
 =?utf-8?B?SEwwb2VtZFlMYlB4c3VwSDFrdGFZdnlJZ0pVMnVpbDluVS9KdXZGZDU1anNH?=
 =?utf-8?B?QnJPUGhidjdsMDR2TmhwMldKckwrQWV3L2RZcFpJb2pyNy96QTFVRm9ka3Rz?=
 =?utf-8?B?UVpJNUdDWCt4R0hSYmFHMCt2Y3crSTZITE4vT2QwRW5SRkZDWXZtM3JaRFpT?=
 =?utf-8?B?V21TT0pOcDRydHc1bS9Cak5BUVhQbDV1eFdvdVl2aGtDNG1HRVVtR3orS0N1?=
 =?utf-8?B?Nm1VSk1Fd3RiQWd6RlZuWnNKd2loVjNqK0N3bEI3R2dDN1pNa2c2THFQTWZC?=
 =?utf-8?B?K3FwTWFmemZoNWc0emJzZFEveHkwck55clVOaHoyVEJxQVJBMEtNMFB6RE5p?=
 =?utf-8?B?bmRybzR1d25hbEYreUNVd3FJNVJXVDVTL2VoUUJBMHhIdnBMbkpKeGNZOXVa?=
 =?utf-8?B?Q1hXallTcDdzR2t4NmQ5YU41aW1aeHhuUkFQL2txdmllaWxXdWY3L05ITlB4?=
 =?utf-8?B?bjdvZUtyeVEvWjhKSzNaNFJyM0VWRHlkZS9BOVF2RG84ZnNYVWVpSFUyUHZ5?=
 =?utf-8?B?cHlKQUNUOWpCVnVvNm8yVHZOZGJ1M202aGJrWkJZL1JQUmx1R2tQNncvbkxl?=
 =?utf-8?B?N0hjc1VRWjVkOVVMM2w1MGhvMitFa1FlWmFxYk9renA4VTFrL2V4VW04OHgy?=
 =?utf-8?B?UUh6YlRBTWNob0ZUdlZNaXdpMjhCcjdRZFZYL3FnMEd3WmJSN2hvd2M4TW5k?=
 =?utf-8?B?ZjhWTnhveTYwVkxCQ0xvdzdmUHRKcU5oR2IwNWNVMFEwaHVEWDZhWHZDSTU1?=
 =?utf-8?B?Y1FpOVVMQ1BYbC9uY1pGVk1ycld5MzNqREVxNEdreUNFUld6VFNlK2JYajlC?=
 =?utf-8?B?ZEdmM0p1cGUyYmtYYWFjNE5HZFgrVFpFTUxMaHhieW9SU01iUjNqYUthMHNn?=
 =?utf-8?B?TlVjeGxZbElSTXVVUUtTUEZIYlRDaytnYk9KOWFLUFdrWFBDRnNadlg5VEJ0?=
 =?utf-8?B?clgzSXpuU2hWTHhqMVQ4bGdkaE4wdW84cUZtcEN0dHVaeU9nVUdGSjBIRHhQ?=
 =?utf-8?B?YVNpdW5lTHh0MDZXOWp3OHpvcW1BYm81RWliYVVBb0hiVUhyRVI3SUQ2L0JP?=
 =?utf-8?B?UWlpMy9acTRZcUU3TCs3VE16OEZEcTZtdndXVFh5UGlBUHptU01BbHhtN0RC?=
 =?utf-8?B?VDBJYkNiTnJOSEFYV3B5TGhzNjI2QVBhaysrLzM1MlFtTDVXbkJHZFlWMmky?=
 =?utf-8?B?aFRFY2Y0OUhWNEF2QzhGSERyeE1vcHo3MU5iRXNoRGpDMVhmRmt1MjFpQWMz?=
 =?utf-8?B?Q1lHMmQ0M2pUYkJtSGg0TW1DOW9jV1RzSnZ1NzFIeFdhbnBPcXJoTUluYWFC?=
 =?utf-8?B?UlprdG9mZE4wNWhqWDVmU3hxRERsc0loZnpyVDZTc1krQXV2U1JQTy9kTDlK?=
 =?utf-8?B?SkJNZU1jRE5yNGlDM29xcnUrK0NWMXBXMDVRaDV1TCt5R3hkVlVNNmRnMWFm?=
 =?utf-8?B?bjh1Wis2Qmh2OUJYcTUwR3QvUWMvaWRZU1ZIajdiSG9YeXR6elpsaldyby9G?=
 =?utf-8?B?WHdhYVBNL2RvUFhaVzFXUFNkQ1AzVUh2M3A0M3RZQ0tTRDUrNExack1PME5z?=
 =?utf-8?B?cjR6MUFQcURMaG0zaFVBaGhvcVNBeXBMV0NXUW9FVU5YTENGbVFZUU5vandY?=
 =?utf-8?B?ZldYUUVpcVB4bW5IWXhNYmt2dW1ZL05TTGYySmp1VnFDYWVISUVOQ1Ara1BL?=
 =?utf-8?B?U2F4RWU3dmtoKzNVTEhTcTFxWDMreDNiVStUYVhzalh2endaZXhyVjh6REx0?=
 =?utf-8?B?RHMwZDFjYUpFNGxqajBoYXZ0bzhXTlhBbUREVHlOL21pN1V2dlJWdUs3b28v?=
 =?utf-8?B?Sm95TmFyd3JzWlo5MkFIdlU4TG4yN1lxMmt2SmpJSEp6SC96Nlp6UWtxQW1x?=
 =?utf-8?B?a1JpS0tsbnUwY1RVVTlqWGRpU25IM3JaaW14WWR3QUZEN2tjQlpHSXZKOEw5?=
 =?utf-8?B?QTdPMG5ib2Y2RDhlQSt5bFkyWEVhVlpjaTNrdGZ0QVNYdUMzMUIxOU9IeWFl?=
 =?utf-8?B?ZEdjamYxYVJ2TU0zYTByeWxscGtUTGw2SWg1cG1FVVM4aGc2VU9FRmpSRkds?=
 =?utf-8?Q?eTAZxoy5QOnafq5R9CxWSjY=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 9e3fc83a-2c1a-407b-7b6c-08d9dc2fc17c
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2022 16:13:11.8307
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ltOFjZW5qlnapZxH/Q9SumPZFK4ucS3edJCKSfMeSYuekV+5VsNqG6Xj+UXUZDvkiPDzEDVQpKpojJHAy4FucQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB4909
X-OriginatorOrg: citrix.com

Last commit to the file is:

7d697f0d5737 x86/cpu: Drop spurious underscore from RAPTOR_LAKE #define

This should help the readability of code that's currently open-coding
Intel model numbers.

No change introduced to existing code, it's expected that new code
could start using the defines. Changing existing users could cause
quite a lot of code churn.

Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/arch/x86/include/asm/intel-family.h | 145 ++++++++++++++++++++++++
 1 file changed, 145 insertions(+)
 create mode 100644 xen/arch/x86/include/asm/intel-family.h

diff --git a/xen/arch/x86/include/asm/intel-family.h b/xen/arch/x86/include/asm/intel-family.h
new file mode 100644
index 0000000000..ffc49151be
--- /dev/null
+++ b/xen/arch/x86/include/asm/intel-family.h
@@ -0,0 +1,145 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef _ASM_X86_INTEL_FAMILY_H
+#define _ASM_X86_INTEL_FAMILY_H
+
+/*
+ * "Big Core" Processors (Branded as Core, Xeon, etc...)
+ *
+ * While adding a new CPUID for a new microarchitecture, add a new
+ * group to keep logically sorted out in chronological order. Within
+ * that group keep the CPUID for the variants sorted by model number.
+ *
+ * The defined symbol names have the following form:
+ *	INTEL_FAM6{OPTFAMILY}_{MICROARCH}{OPTDIFF}
+ * where:
+ * OPTFAMILY	Describes the family of CPUs that this belongs to. Default
+ *		is assumed to be "_CORE" (and should be omitted). Other values
+ *		currently in use are _ATOM and _XEON_PHI
+ * MICROARCH	Is the code name for the micro-architecture for this core.
+ *		N.B. Not the platform name.
+ * OPTDIFF	If needed, a short string to differentiate by market segment.
+ *
+ *		Common OPTDIFFs:
+ *
+ *			- regular client parts
+ *		_L	- regular mobile parts
+ *		_G	- parts with extra graphics on
+ *		_X	- regular server parts
+ *		_D	- micro server parts
+ *
+ *		Historical OPTDIFFs:
+ *
+ *		_EP	- 2 socket server parts
+ *		_EX	- 4+ socket server parts
+ *
+ * The #define line may optionally include a comment including platform or core
+ * names. An exception is made for skylake/kabylake where steppings seem to have gotten
+ * their own names :-(
+ */
+
+#define INTEL_FAM6_CORE_YONAH		0x0E
+
+#define INTEL_FAM6_CORE2_MEROM		0x0F
+#define INTEL_FAM6_CORE2_MEROM_L	0x16
+#define INTEL_FAM6_CORE2_PENRYN		0x17
+#define INTEL_FAM6_CORE2_DUNNINGTON	0x1D
+
+#define INTEL_FAM6_NEHALEM		0x1E
+#define INTEL_FAM6_NEHALEM_G		0x1F /* Auburndale / Havendale */
+#define INTEL_FAM6_NEHALEM_EP		0x1A
+#define INTEL_FAM6_NEHALEM_EX		0x2E
+
+#define INTEL_FAM6_WESTMERE		0x25
+#define INTEL_FAM6_WESTMERE_EP		0x2C
+#define INTEL_FAM6_WESTMERE_EX		0x2F
+
+#define INTEL_FAM6_SANDYBRIDGE		0x2A
+#define INTEL_FAM6_SANDYBRIDGE_X	0x2D
+#define INTEL_FAM6_IVYBRIDGE		0x3A
+#define INTEL_FAM6_IVYBRIDGE_X		0x3E
+
+#define INTEL_FAM6_HASWELL		0x3C
+#define INTEL_FAM6_HASWELL_X		0x3F
+#define INTEL_FAM6_HASWELL_L		0x45
+#define INTEL_FAM6_HASWELL_G		0x46
+
+#define INTEL_FAM6_BROADWELL		0x3D
+#define INTEL_FAM6_BROADWELL_G		0x47
+#define INTEL_FAM6_BROADWELL_X		0x4F
+#define INTEL_FAM6_BROADWELL_D		0x56
+
+#define INTEL_FAM6_SKYLAKE_L		0x4E	/* Sky Lake             */
+#define INTEL_FAM6_SKYLAKE		0x5E	/* Sky Lake             */
+#define INTEL_FAM6_SKYLAKE_X		0x55	/* Sky Lake             */
+/*                 CASCADELAKE_X	0x55	   Sky Lake -- s: 7     */
+/*                 COOPERLAKE_X		0x55	   Sky Lake -- s: 11    */
+
+#define INTEL_FAM6_KABYLAKE_L		0x8E	/* Sky Lake             */
+/*                 AMBERLAKE_L		0x8E	   Sky Lake -- s: 9     */
+/*                 COFFEELAKE_L		0x8E	   Sky Lake -- s: 10    */
+/*                 WHISKEYLAKE_L	0x8E       Sky Lake -- s: 11,12 */
+
+#define INTEL_FAM6_KABYLAKE		0x9E	/* Sky Lake             */
+/*                 COFFEELAKE		0x9E	   Sky Lake -- s: 10-13 */
+
+#define INTEL_FAM6_COMETLAKE		0xA5	/* Sky Lake             */
+#define INTEL_FAM6_COMETLAKE_L		0xA6	/* Sky Lake             */
+
+#define INTEL_FAM6_CANNONLAKE_L		0x66	/* Palm Cove */
+
+#define INTEL_FAM6_ICELAKE_X		0x6A	/* Sunny Cove */
+#define INTEL_FAM6_ICELAKE_D		0x6C	/* Sunny Cove */
+#define INTEL_FAM6_ICELAKE		0x7D	/* Sunny Cove */
+#define INTEL_FAM6_ICELAKE_L		0x7E	/* Sunny Cove */
+#define INTEL_FAM6_ICELAKE_NNPI		0x9D	/* Sunny Cove */
+
+#define INTEL_FAM6_LAKEFIELD		0x8A	/* Sunny Cove / Tremont */
+
+#define INTEL_FAM6_ROCKETLAKE		0xA7	/* Cypress Cove */
+
+#define INTEL_FAM6_TIGERLAKE_L		0x8C	/* Willow Cove */
+#define INTEL_FAM6_TIGERLAKE		0x8D	/* Willow Cove */
+
+#define INTEL_FAM6_SAPPHIRERAPIDS_X	0x8F	/* Golden Cove */
+
+#define INTEL_FAM6_ALDERLAKE		0x97	/* Golden Cove / Gracemont */
+#define INTEL_FAM6_ALDERLAKE_L		0x9A	/* Golden Cove / Gracemont */
+
+#define INTEL_FAM6_RAPTORLAKE		0xB7
+
+/* "Small Core" Processors (Atom) */
+
+#define INTEL_FAM6_ATOM_BONNELL		0x1C /* Diamondville, Pineview */
+#define INTEL_FAM6_ATOM_BONNELL_MID	0x26 /* Silverthorne, Lincroft */
+
+#define INTEL_FAM6_ATOM_SALTWELL	0x36 /* Cedarview */
+#define INTEL_FAM6_ATOM_SALTWELL_MID	0x27 /* Penwell */
+#define INTEL_FAM6_ATOM_SALTWELL_TABLET	0x35 /* Cloverview */
+
+#define INTEL_FAM6_ATOM_SILVERMONT	0x37 /* Bay Trail, Valleyview */
+#define INTEL_FAM6_ATOM_SILVERMONT_D	0x4D /* Avaton, Rangely */
+#define INTEL_FAM6_ATOM_SILVERMONT_MID	0x4A /* Merriefield */
+
+#define INTEL_FAM6_ATOM_AIRMONT		0x4C /* Cherry Trail, Braswell */
+#define INTEL_FAM6_ATOM_AIRMONT_MID	0x5A /* Moorefield */
+#define INTEL_FAM6_ATOM_AIRMONT_NP	0x75 /* Lightning Mountain */
+
+#define INTEL_FAM6_ATOM_GOLDMONT	0x5C /* Apollo Lake */
+#define INTEL_FAM6_ATOM_GOLDMONT_D	0x5F /* Denverton */
+
+/* Note: the micro-architecture is "Goldmont Plus" */
+#define INTEL_FAM6_ATOM_GOLDMONT_PLUS	0x7A /* Gemini Lake */
+
+#define INTEL_FAM6_ATOM_TREMONT_D	0x86 /* Jacobsville */
+#define INTEL_FAM6_ATOM_TREMONT		0x96 /* Elkhart Lake */
+#define INTEL_FAM6_ATOM_TREMONT_L	0x9C /* Jasper Lake */
+
+/* Xeon Phi */
+
+#define INTEL_FAM6_XEON_PHI_KNL		0x57 /* Knights Landing */
+#define INTEL_FAM6_XEON_PHI_KNM		0x85 /* Knights Mill */
+
+/* Family 5 */
+#define INTEL_FAM5_QUARK_X1000		0x09 /* Quark X1000 SoC */
+
+#endif /* _ASM_X86_INTEL_FAMILY_H */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Jan 20 16:17:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 16:17:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259139.447065 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAa85-00072H-21; Thu, 20 Jan 2022 16:17:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259139.447065; Thu, 20 Jan 2022 16:17:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAa84-00072A-Uz; Thu, 20 Jan 2022 16:17:40 +0000
Received: by outflank-mailman (input) for mailman id 259139;
 Thu, 20 Jan 2022 16:17:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YFdd=SE=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1nAa83-000724-T7
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 16:17:39 +0000
Received: from ppsw-42.csi.cam.ac.uk (ppsw-42.csi.cam.ac.uk [131.111.8.142])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7c37ab4d-7a0c-11ec-bc18-3156f6d857e4;
 Thu, 20 Jan 2022 17:17:39 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:49140)
 by ppsw-42.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.138]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1nAa82-0004Ql-6x (Exim 4.95) (return-path <amc96@srcf.net>);
 Thu, 20 Jan 2022 16:17:38 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id E564A1FB2F;
 Thu, 20 Jan 2022 16:17:37 +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: 7c37ab4d-7a0c-11ec-bc18-3156f6d857e4
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <5a8228df-b3f9-609e-e7fb-d0f8a5ed5413@srcf.net>
Date: Thu, 20 Jan 2022 16:17:37 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <08b293b3-e04a-9230-e7ec-dd7da9d198b1@suse.com>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: [PATCH] x86/time: minor adjustments to init_pit()
In-Reply-To: <08b293b3-e04a-9230-e7ec-dd7da9d198b1@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17/01/2022 10:36, Jan Beulich wrote:
> For one, "using_pit" shouldn't be set ahead of the function's last
> (for now: only) error path. Otherwise "clocksource=pit" on the command
> line can lead to misbehavior when actually taking that error path.
>
> And then make an implicit assumption explicit: CALIBRATE_FRAC cannot,
> for example, simply be changed to 10. The way init_pit() works, the
> upper bound on the calibration period is about 54ms.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

> ---
> Really I've noticed this while considering what would happen if someone
> specified  "clocksource=pit" on the shim's command line. Unlike "hpet"
> and "acpi", "pit" presently wouldn't be (explicitly) ignored. While,
> aiui, right now the only error path would be taken (due to port 0x61
> reads being supposed to get back 0xff), I don't think we can build on
> that longer term: Seeing what we use port 0x61 for in traps.c, I think
> sooner or later we will need to have some form of emulation for it. Such
> emulation is then not unlikely to continuously report 0 in the bit in
> question. That would leed to an infinite loop here.

If we're not already doing it, pv shim really ought to set the FADT
hardware reduced bits.  There should be no need to depend on heuristics
around ~0.

I do suspect that the emulation for port 0x61 is obsolete enough for us
to consider dropping.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Jan 20 16:19:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 16:19:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259142.447077 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAaAH-0007d4-EK; Thu, 20 Jan 2022 16:19:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259142.447077; Thu, 20 Jan 2022 16:19:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAaAH-0007cx-Au; Thu, 20 Jan 2022 16:19:57 +0000
Received: by outflank-mailman (input) for mailman id 259142;
 Thu, 20 Jan 2022 16:19:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YFdd=SE=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1nAaAG-0007cr-8S
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 16:19:56 +0000
Received: from ppsw-43.csi.cam.ac.uk (ppsw-43.csi.cam.ac.uk [131.111.8.143])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cdac3f9d-7a0c-11ec-bc18-3156f6d857e4;
 Thu, 20 Jan 2022 17:19:55 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:52830)
 by ppsw-43.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.139]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1nAaAE-000JtN-p3 (Exim 4.95) (return-path <amc96@srcf.net>);
 Thu, 20 Jan 2022 16:19:54 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 9591B1FB2F;
 Thu, 20 Jan 2022 16:19:54 +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: cdac3f9d-7a0c-11ec-bc18-3156f6d857e4
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <2c21f783-8d8e-f1c0-2630-4bfb1d277625@srcf.net>
Date: Thu, 20 Jan 2022 16:19:54 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH] xen/x86: import intel-family.h from Linux
Content-Language: en-GB
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
References: <20220120161300.8477-1-roger.pau@citrix.com>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <20220120161300.8477-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20/01/2022 16:13, Roger Pau Monne wrote:
> Last commit to the file is:
>
> 7d697f0d5737 x86/cpu: Drop spurious underscore from RAPTOR_LAKE #define
>
> This should help the readability of code that's currently open-coding
> Intel model numbers.
>
> No change introduced to existing code, it's expected that new code
> could start using the defines. Changing existing users could cause
> quite a lot of code churn.
>
> Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Thu Jan 20 16:21:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 16:21:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259145.447088 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAaBx-0000WZ-QN; Thu, 20 Jan 2022 16:21:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259145.447088; Thu, 20 Jan 2022 16:21:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAaBx-0000WS-ND; Thu, 20 Jan 2022 16:21:41 +0000
Received: by outflank-mailman (input) for mailman id 259145;
 Thu, 20 Jan 2022 16:21:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YGoM=SE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nAaBw-0000WA-HR
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 16:21:40 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0b3504ce-7a0d-11ec-8fa7-f31e035a9116;
 Thu, 20 Jan 2022 17:21:38 +0100 (CET)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2054.outbound.protection.outlook.com [104.47.14.54]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-17-IbywNPneOIORZLrBgl9YTg-1; Thu, 20 Jan 2022 17:21:37 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AS8PR04MB7622.eurprd04.prod.outlook.com (2603:10a6:20b:23f::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.8; Thu, 20 Jan
 2022 16:21:35 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.010; Thu, 20 Jan 2022
 16: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: 0b3504ce-7a0d-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642695698;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=R1kyxbE3vt65j9dBLSAYRnPzipnvFNDL9oOytHGUiw4=;
	b=cbvM7vE7APeKftzyvezcavGGQbVMUx5g0vTKh2IbFpogHHdVk85JFcLG9SYEnY5KHI+TUQ
	IosgvgLgP+2cC/Q/3nEbdZVcm/iI5npYe46tr09gTCYa6XKwYKciiCrrCx+VghfkSNRPWv
	SeN1jWMshY64iiqNe6vv4m2JJ0Al7a0=
X-MC-Unique: IbywNPneOIORZLrBgl9YTg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FQBe7/EWCKtgBxpku9VNiHjmuy6VCGfZxxx+3nKS6PVwRegS5T9gk4eYyFW0OzdBfuHd4CwnZVMtXA5jJARmvIYuVZLsy6w3EX3cp0XlApIQhHiNj1HHoc8aMlcixOb1HzzIhFHyx2FVn7VIZ1RLzx/YqFyJkIsW8wqcyxuTHmhVhVl7AQDaiH02DU7zIpSIUVToWQzsATzAGhEp9Vq8RsovCONTtiWPQpLVAgAguYzEmkXc1OgPQIAJwfdF634o7xRKhNB03ixNjRxfhAJ3ESyITyZSa7UmlBrjDtDDnabOSA8uy4lxfWftnwDSV1sQ7v4IeLAj1fIF7p2iUGNLjw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QrCBTeVRwjhh07tLu/3BOEPrlF7xXrcDvKfEZW8TW34=;
 b=KHCwOKqUlsunk9uPo2GoXjNR7fK+IkmehMGqxAxoHBRNgMKIj/j2/qafdwVoi5rx4oJCgbf07JndMJ41bCOcq1luf4+EwRYH3EVvJ0sGerOhDmvqiKm66FoSJhZcOdl0ZKIyaZrgWLElsVeKGTtqKioIKTVcR9MQBItJTG03AzuL9OCd2aBRp1wXHQ0UzkbJFiGzScejDG/eGNB2vczr1ueNr5iac2hoNa44n+zlZ5bEVKAdIoSe9+8n1gM/6nWQavTLYdlKHuL+BAgqV99WR4KQYlis+s6hxHq33hGNC/RMdOIeA+/pUgAZ3pc7ml+JAuXagvkJFanO5HWvWRX+qQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <99f6520d-833b-bb90-5f72-f2a888379169@suse.com>
Date: Thu, 20 Jan 2022 17:21:31 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH RFC v2 5/5] x86/mwait-idle: squash stats update when not
 actually entering C-state
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
References: <568cb6dc-127a-9c8f-0073-2df173d4677b@suse.com>
 <b9270896-efea-3e81-99fb-685fc5b708be@suse.com>
 <YemHNOVyqGwZ7/eC@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YemHNOVyqGwZ7/eC@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: FR0P281CA0083.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::18) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 39172286-3c5a-444b-5ef1-08d9dc30ed9a
X-MS-TrafficTypeDiagnostic: AS8PR04MB7622:EE_
X-Microsoft-Antispam-PRVS:
	<AS8PR04MB7622F718EEA70AAE25832FFEB35A9@AS8PR04MB7622.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:
	icfi6syGDTZkqAJAeLUpKm+Eq/dFGXslveOOQ6/DePysc2hpC5dP10svpwpRGOGj1BbF38ELlCSUirEJML1qzN8SV4gY3CxxBmdETaFvettDQ20A80Q8hCwA6YbWlOsTOCwx5yNUayRet71QZOj41FGG1jXuMsEjv+FVMKYgkZ0uylg5vg/TsZHQ7DuLn25CJx0/7Upy/2990KF93nDlfbEyZhTQi1W5rVYIw0TYd1u12jtga3BsDhwT0RjpyZAY2+6RDV3lqQbotaX6ZJd5Hr+V6Aj60PVmVvnbtfsLA/UNZO5EGb4iMIU4RmEuZ6eCYiDYFM06qOtjGpc2raEcL7uc53cNjtyWL+gSR/FjBhxuIXXvUS/SqFPGumsYvkatoFI4X0FctQpZi+KNFZ/WR/FVf9sS/kERo/UKm/FAvv6Q60gSyr+v2nMghdVp1GYTrSz3oikZioXgckwjW5J3Wk7P+fRCYEeYOxMN/OXcTf/3t4LQjHcAeckxDJ7DdRwaP1cfltztKJLLCYV359Z0isZNPtloCFHFz0I9PqBda46ZxDKL6ZGxphxTwWK10sFuFX9PumwAT+Le1et8WtBM6EjTPQaNXb/UF+PfAMf69h/Ejmwr7bA+Mller31q89m2AkNClLbKwUmrwbkMrYhF1/PQuAspWijxqAkNL+9O70/ccGeCAkkLt/x4SvKwt73i7rc/dXbq37VkOFW8WKO891DnXOVe8XlBSC5+BqpEZuU=
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)(66476007)(31696002)(66946007)(66556008)(6512007)(4744005)(86362001)(26005)(2906002)(38100700002)(31686004)(5660300002)(2616005)(508600001)(53546011)(6506007)(83380400001)(4326008)(8936002)(15650500001)(54906003)(36756003)(6486002)(6916009)(6666004)(8676002)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?/3cS/QkMMabB8DALUX5HbmXh5rdWmmZYvdmjX9Dz0xg9Ymakqb61CSOPRx6U?=
 =?us-ascii?Q?+jxAhLRcdcgmiTjUtWCDu199gPAiksokMUWO6ZJJu59JTWdMCoFM9SD9UVc0?=
 =?us-ascii?Q?orp9ocm6S9JvH4bt2X6b9G9cE3WUT8dRYpsIHuSGXstbboPRhTNQm/Oc2FoQ?=
 =?us-ascii?Q?3Ws6RSES4hXrei4L5MUwvSa+bNdKCfkRz7GiZvJxyWwHuoJDI/wz8fBDGW4S?=
 =?us-ascii?Q?HFMDzX1Ac7K4OGZUMIf3qqTWwSIOSYdNr2/4N2vxxAqU76DcMfqK9/tK3fYj?=
 =?us-ascii?Q?RJYOjYKvOw7K+Ghl57Z3hFng+QKb4dfc6/WJegOJRJAF2NaJSpZUX2ATYP+a?=
 =?us-ascii?Q?W4cI4U5CCaVr4VgP8hosXY6NuXvZ03wgtcuC247BitqKrSnAq2WOxJvwANto?=
 =?us-ascii?Q?WJ9UbE7Lnj+aTYX1O/ts1wOfF2pjyX1nDjt3f+XFJAK9xUmJzy/DGNhQpe3F?=
 =?us-ascii?Q?oM6Qn6/tf3nRVKN3OEmq4amZnWTQZ3Xl9sIUV2Qpy6JGReuV1RWKkUTZk1xI?=
 =?us-ascii?Q?QYkbZMPuBajhqVFs+aW0EZjlj1cXBOj/AVDiDLoeiqf1ZpFAEHNH2VfutfRf?=
 =?us-ascii?Q?7GLApFl6hUdGIkFkIiUzPFJyNN1CNETNw/ubuY0QH9tVqJBWbjysUmx6A9XS?=
 =?us-ascii?Q?SxDhDzqKtvi/uemLMkQPZNRoZBroDjj16UZPuwMK5DVcYMpbWdYNV983WeP4?=
 =?us-ascii?Q?38/2wiUdQKmbgAXCC99Tyz3AEAb9pXGkkMyNMgQCfKRpEEkBb3fWDUyfCDVv?=
 =?us-ascii?Q?OldU2WJ8H/41XRyL1ANTWQKGATYJtYBIFmWi+C9LcyY7efPlXGCMZFCnNDhA?=
 =?us-ascii?Q?l/TEL+PL6+difLm3I0r+d/vSkJ6KMSQDrECzcUCbGHE7f8ahdvVBkx/xEphA?=
 =?us-ascii?Q?4MTcTKC5gMrORWU3gOhMS2knGLSq4FhRjydIGWBsPI5UVh8d2XGBWoF0LRza?=
 =?us-ascii?Q?0ZGPIoaWUoIuRfPbl6S815ndrQA/7MM2Y4dQlU5I66+G9vlI5GClq8Yna25O?=
 =?us-ascii?Q?pC+LZr4M3L2yFcURO8yEPNUp1eWLm0GIdNaBoEEdF7PoAqVPH5IJUu4U/VXZ?=
 =?us-ascii?Q?FHHsckBxJPRkph/DX6WCDXoVzKt7Vz+cbxFjLrK83AstJfJnuGP9i5WuoX/0?=
 =?us-ascii?Q?kEH5XKNAfvUIwZYtugPyj2JZ58iWvPozfYafu0ZwNl7G7Mc5jA3lj7UXGbYG?=
 =?us-ascii?Q?ApxDOZM70mLHYf3462QVZRGRCOUqZtacVZtdrIRpAWtNJMcxhU3BQ+x6r3wO?=
 =?us-ascii?Q?kH/5swCGS1PxDgwTPzt4Cl7VZjwf0X6ztZWeKKbF+q9C9UeIdm73kGT8MB9O?=
 =?us-ascii?Q?BCQp8c1Df5Xu26+SejQvVyt2jXkM+jbQDZvqEcgrFOEHup8U20CtAT4V9RhB?=
 =?us-ascii?Q?SJ7l8PX/BSQII7WSTgJreTUhzdHOAZzraV6BzOa1XJspDZIBY1jZvk++7FLg?=
 =?us-ascii?Q?MQqMFXUN0hYv0iffugUganDARHMUjmTarEE+iieqVv+SY8mSgnKGxXP2M3LD?=
 =?us-ascii?Q?4R/JhZ6GgeWinLuLt3ZgO1J6RwGpXOTtb8BzsUs7fPHAFLNNdiNUQky+s6BS?=
 =?us-ascii?Q?qoDvYjf2XuNdCroRuMKiRwgAJHT/PuZl1QeIJr6HuCkAZMfxP71L6lrevzd+?=
 =?us-ascii?Q?Jo1Zn4hrmRgvlQuyXGt/Dxk=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 39172286-3c5a-444b-5ef1-08d9dc30ed9a
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2022 16:21:35.4582
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: TbwmRAesPXNYKKoqbd9Z/WsTNayvoGiGkMZfTYw8ftINm3vuYP4SieoNIWoS0w8JkAnW27CbNAyxgeBQJSmQGw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7622

On 20.01.2022 17:00, Roger Pau Monn=C3=A9 wrote:
> On Thu, Jan 20, 2022 at 03:05:12PM +0100, Jan Beulich wrote:
>> While we don't want to skip calling update_idle_stats(), arrange for it
>> to not increment the overall time spent in the state we didn't really
>> enter.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> RFC: Arguably more of what follows could be moved into the if() -
>>      thoughts?
>=20
> I would move at least the restoring of the TSC, but I would be fine
> with moving everything up to local_irq_enable unless I'm missing
> something.

Yes, that's what I was considering.

> I think you could likely also avoid the call to update_idle_stats so
> there's no need to fetch the new tick count.

No, this call cannot be bypassed. At least not without further
rearrangements elsewhere.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 20 17:28:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 17:28:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259154.447118 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAbDy-0006jE-QO; Thu, 20 Jan 2022 17:27:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259154.447118; Thu, 20 Jan 2022 17:27:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAbDy-0006j7-NP; Thu, 20 Jan 2022 17:27:50 +0000
Received: by outflank-mailman (input) for mailman id 259154;
 Thu, 20 Jan 2022 17:27:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UD6j=SE=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nAbDx-0006iz-Gd
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 17:27:49 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 47e0a611-7a16-11ec-8fa7-f31e035a9116;
 Thu, 20 Jan 2022 18:27:47 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 47e0a611-7a16-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642699667;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=ALNPjgI6B61PGByYAIwryWZcam88Y05WKfaOQG86H1M=;
  b=d07EmvWhOecel0affzcRJyCraYe0p52EZ5BwG6Xt0BldIClKOrEX0btb
   nMnTkttPrcy77SqcUPcWCz786dUaJ1ylOt9hGKZ6ZLoiD3T3t1apb9Rm3
   8trbcvzC7XrHf6pAljxlds7ozTXfkKVkKe2hIH1XCjTXYdeT1GqxZMuyv
   I=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: EuFOsLyC4TJCrekWjWtX/ovI1v3hydxXiSCLGO8jdzuzekuDhvowvY6L7wvgQZu6iMaYCKp6o2
 0pOuWwI4BZq0ZEy7+ay/pr6Of0q+B45X4oFmsGE4SyBuN2rk+e4QM8JPvF/NOYopAiia/Rtodp
 f35pb+6Yz+fguhKcZVHTtSKJ7rf7xprbcxropegyl/08ssJpAR5Go7ViYEfWjg7GcuH7P3LRFI
 ZePX7t9JzkLiH+pgJGrCMbLIdaJNOkDjbDrOsthZGdAoVliXG7RjnPHXH8X7gISQYNPlYG/SuI
 e1O7LkXhGWegXWOWPNZwJZAV
X-SBRS: 5.2
X-MesageID: 64577031
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:FNL796JEMT29pfvVFE+RWpIlxSXFcZb7ZxGr2PjKsXjdYENSgjYEx
 mBKW2qOP6qJM2amfItyaN+woE0GsMTdyNFrT1FlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokcxIn5BC5C5xZVG/fjgqoHUVaiUakideSc+EH170Us5w7Zi6mJVqYPR7z2l6
 IuaT/L3YDdJ6xYsWo7Dw/vewP/HlK2aVAIw5jTSV9gS1LPtvyB94KYkDbOwNxPFrrx8RYZWc
 QphIIaRpQs19z91Yj+sfy2SnkciGtY+NiDW4pZatjTLbrGvaUXe345iXMfwZ3u7hB2DvPlyw
 u1q7KXtEyMYHqfxqfk6UUZHRnQW0a1uoNcrIFC6uM2XiUbHb2Ht07NlC0Re0Y8wo7gtRzsUr
 LpBdW5LPkvra+GemdpXTsFlgNgjK8/6epsSoHh6wRnSDOo8QICFSKLPjTNd9Gls258RRa2HD
 yYfQQpMbDv/IDseAQ4eCK8SjNWZglrCUSIN/Tp5ooJoujOOnWSdyoPFK8HJc9aHQcFUmEewp
 W/c+Wn9RBYAO7S31j6t4n+qwOjVkkvTSI8UUbG16PNuqFmS3XAITg0bU0Ohpvu0gVL4XMhQQ
 2QW8Cczqak59GSwU8LwGRa/pRasvwEec8pdFfUg7wOAwbaS5ByWbkAGUzpAZdoOpMIwAzsw2
 Te0c8jBXGI19ufPEDTEq+nS/Wja1TUpwXEqbwwtTgE9xIDa/dsXvzLFc+d+N6zqkYigcd3v+
 AyioC87jrQVqMcE0aSn4FzK6w6RSoj1oh0dvVuOAD/8hu9tTMv8PtHztwCHhRpVBN/BFgHpg
 ZQSpySJAAni57mpnTfFfugCFarBCx2tYGyF2g4H83XMGl2QF5+fkWJ4vGAWyKRBaJ9sldrVj
 Kn74185CHh7ZirCUEOPS9jtY/nGNIC5fTgfatjab8BVfr96fxKd8SdlaCa4hj6xyhZ1zvFjZ
 8vCIa5A6Er274w9kFJaoM9GidcWKt0WnzuPFfgXMTz6uVZhWJJlYehcawbfBgzIxKiFvB/U4
 75i2ziikH1ivBnFSnCPq+Y7dAlSRVBiXMyeg5EJKoarf1Q3cEl8W6656e5wIORNwvUK/tokC
 1ngACe0PnKl2y2eQehLA1g+AI7SsWFX9CJiYnd0bA/2ghDOo++Htc8iSnf+RpF/nMQL8BK+Z
 6BtlxyoDqsdRzLZ1S4aaJWh/oVueA7y3VCFPja/YSh5dJllHlSb9tjhdwrp1S8PEivo6pdu/
 +z+jlvWEcgZWgBvLMfKc/bznVm/imcQxbBpVEzSL9gNJEi1qNp2Kzb8h+McKt0XLUmR3SOT0
 gubWE9KpeTEr4Iv3sPOgKSI89WgH+dkRxIIFGjH97emcyLd+zP7k4NHVe+JexHbVX/1p/r+N
 bkEkamkPaRezlhQsod6H7J69o4E5oPi9+1A0wBpPHTXdFD3WLluFWaLgJtUvapXy74H5QbvA
 hCT+sNXMKmiMd/+FAJDPxIsa+mO2K1GmjTW6vhpckz26DUuoeiCWERWeRKNlDZcPP1+N4Z8m
 bUtv8sf6gqejBs2M4nZ0nAIpjrUdnFQAb86spw6AZPwjlt5w15PVpXQFyvq7czdcN5LKEQrf
 meZiaeqa26wHaYen67fzUTw4Nc=
IronPort-HdrOrdr: A9a23:Au68cK8QlUxcwmN6TjRuk+DcI+orL9Y04lQ7vn2ZLiYlFfBw9v
 re+MjzsCWetN9/Yh0dcLy7V5VoIkm9yXcW2+cs1N6ZNWGN1VdAR7sC0aLShxHmBi3i5qp8+M
 5bAs1D4QTLfDtHZBDBkWuFL+o=
X-IronPort-AV: E=Sophos;i="5.88,303,1635220800"; 
   d="scan'208";a="64577031"
Date: Thu, 20 Jan 2022 17:27:41 +0000
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 v8 32/47] build: shuffle main Makefile
Message-ID: <YembjUV913dlzqBa@perard>
References: <20211125134006.1076646-1-anthony.perard@citrix.com>
 <20211125134006.1076646-33-anthony.perard@citrix.com>
 <8b583cd0-216e-37a9-7f67-ec0e04123f54@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <8b583cd0-216e-37a9-7f67-ec0e04123f54@suse.com>

On Tue, Dec 21, 2021 at 03:18:34PM +0100, Jan Beulich wrote:
> On 25.11.2021 14:39, Anthony PERARD wrote:
> > Reorganize a bit the Makefile ahead of patch
> > "build: adding out-of-tree support to the xen build"
> 
> Without you saying so it's not clear why that's good of even
> necessary. Moving things around always has the potential of
> breaking subtle ordering requirements, so I'd prefer to see
> what good the movement does.

Some explanation about why most of the code movement is needed:


In Kbuild, *srctree and *objtree are been set after setting $(quiet),
$(Q), $(KBUILD_VERBOSE). We will do the same. Also, we need to set the
$(*tree) variables only on first execution of Makefile, not in sub-make,
the we need to move them. Been before or after $(KBUILD_VERBOSE) doesn't
seems to matter, but they needs to be in the area, in "root-make-done"
guard.

$(XEN_ROOT) as the same issue as $(*srctree), it will be set only after we
know the value of $(abs_srctree).

"Kbuild.include" needs to be included after $(srctree) is set.

We can't include "Config.mk" without knowing $(XEN_ROOT), it needs to move.

We can't calculate without $(TARGET_*ARCH) without $(XEN_TARGET_ARCH)
which is set if needed in "Config.mk".

$(ARCH) and $(SRCARCH) seems misplaced before the patch, Not moving them
might mean wrong value might be exported if "Config.mk" isn't included.
I think I have to investigate this one, and potentially produce a new patch.

So the code movement is just because we need to be careful when setting
the different $(*tree) variables, and $(XEN_ROOT).


I'll add something like that to the commit message.

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Jan 20 18:33:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 18:33:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259158.447130 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAcEr-00052D-Ow; Thu, 20 Jan 2022 18:32:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259158.447130; Thu, 20 Jan 2022 18: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 1nAcEr-000526-L6; Thu, 20 Jan 2022 18:32:49 +0000
Received: by outflank-mailman (input) for mailman id 259158;
 Thu, 20 Jan 2022 18:32: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 1nAcEq-00051w-MN; Thu, 20 Jan 2022 18:32: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 1nAcEq-0006xQ-JM; Thu, 20 Jan 2022 18:32: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 1nAcEq-0004i5-AL; Thu, 20 Jan 2022 18:32:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nAcEq-0001FT-9v; Thu, 20 Jan 2022 18: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=xrjHfx+xXDJeCA7dphV4LOIxqiCZN3fPA8Eu7RzJHU4=; b=e/wqt3EsrFxAqsMXAVkr3LDceK
	RVY6ue5cYUQsh+PW5JXD1f726OqRmEtPUYlBag5S1M4NdtLSl/qOWeID8l4Rhk5U+JX/1+0aJ9Dsj
	0/3zbVatPHCYlLfqHXJ9hHZZsLhXWwmb5pMLmJbyyI8RFsyCWzRtmvswhJN93mFmCU6Q=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167760-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 167760: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=7709988dd8f9a69eea456869f468120f1f0fc7cb
X-Osstest-Versions-That:
    ovmf=772c5bb8dcb9841f1839dec02f33324e31b36d25
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 20 Jan 2022 18:32:48 +0000

flight 167760 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167760/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 7709988dd8f9a69eea456869f468120f1f0fc7cb
baseline version:
 ovmf                 772c5bb8dcb9841f1839dec02f33324e31b36d25

Last test of basis   167754  2022-01-20 01:56:46 Z    0 days
Testing same since   167760  2022-01-20 13:43:03 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
   772c5bb8dc..7709988dd8  7709988dd8f9a69eea456869f468120f1f0fc7cb -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Jan 20 19:11:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 19:11:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259165.447141 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAcpz-0000ho-Ql; Thu, 20 Jan 2022 19:11:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259165.447141; Thu, 20 Jan 2022 19:11:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAcpz-0000hh-Mp; Thu, 20 Jan 2022 19:11:11 +0000
Received: by outflank-mailman (input) for mailman id 259165;
 Thu, 20 Jan 2022 19:11: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 1nAcpy-0000hX-3k; Thu, 20 Jan 2022 19:11: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 1nAcpx-0007ck-UF; Thu, 20 Jan 2022 19:11: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 1nAcpx-00060J-Lh; Thu, 20 Jan 2022 19:11:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nAcpx-0005Pu-LH; Thu, 20 Jan 2022 19:11: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=8XgjC58JGlmGn5u1wTGnh+Dzxs5/dlN8I2UBdc2zbDs=; b=x5sb+uN2GINdbth2iz+yn63RFz
	aD5n2ijk/rirDOdV9ZOEGieJ+MaoZfv6w+q0g0TlPVz5ifP8rO2za+zOx34Uca8YdcqBqE1hOzpxO
	ogHLa5P3Dl791bWT8wZnq8Lf08HmJzI83C4bXBPknWDmWwpshPwBGEEcipydwUDcDLP0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167757-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 167757: regressions - 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-credit1:host-install(5):broken:regression
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-5.4:test-arm64-arm64-libvirt-raw:guest-start/debian.repeat:fail:regression
    linux-5.4:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:allowable
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-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-qcow2:saverestore-support-check: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-libvirt-xsm:migrate-support-check: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-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-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-xsm: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-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl: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-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-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-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-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-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-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-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=4aa2e7393e140f434c469bffe478e11cb9c55ed8
X-Osstest-Versions-That:
    linux=b7f70762d1584a2b66e056412fd39ad6f6344c89
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 20 Jan 2022 19:11:09 +0000

flight 167757 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167757/

Regressions :-(

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-credit1   5 host-install(5)        broken REGR. vs. 167712
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 167712
 test-arm64-arm64-libvirt-raw 17 guest-start/debian.repeat fail REGR. vs. 167712

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     20 guest-localmigrate/x10   fail REGR. vs. 167712

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167712
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167712
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167712
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167712
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167712
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167712
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167712
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167712
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167712
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167712
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167712
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167712
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-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-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-xsm      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-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                4aa2e7393e140f434c469bffe478e11cb9c55ed8
baseline version:
 linux                b7f70762d1584a2b66e056412fd39ad6f6344c89

Last test of basis   167712  2022-01-16 08:41:53 Z    4 days
Testing same since   167757  2022-01-20 08:44:22 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Al Viro <viro@zeniv.linux.org.uk>
  Arnd Bergmann <arnd@arndb.de>
  Christian Borntraeger <borntraeger@linux.ibm.com>
  Christian Brauner <christian.brauner@ubuntu.com>
  Christian Lachner <gladiac@gmail.com>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Dan Carpenter <dan.carpenter@oracle.com>
  David Hildenbrand <david@redhat.com>
  Eric Farman <farman@linux.ibm.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hulk Robot <hulkrobot@huawei.com>
  Jamie Hill-Daniel <jamie@hill-daniel.co.uk>
  Johan Hovold <johan@kernel.org>
  Jon Hunter <jonathanh@nvidia.com>
  Kalle Valo <kvalo@kernel.org>
  Larry Finger <Larry.Finger@lwfinger.net>
  Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Masahiro Yamada <masahiroy@kernel.org>
  Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Michael S. Tsirkin <mst@redhat.com>
  Mike Marshall <hubcap@omnibond.com>
  Miquel Raynal <miquel.raynal@bootlin.com>
  Nathan Chancellor <natechancellor@gmail.com>
  Nathan Chancellor <nathan@kernel.org>
  NeilBrown <neilb@suse.de>
  Nick Desaulniers <ndesaulniers@google.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul Barker <paul.barker@sancloud.com>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Russell King <rmk+kernel@armlinux.org.uk>
  Salvatore Bonaccorso <carnil@debian.org>
  Sean Christopherson <seanjc@google.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Takashi Iwai <tiwai@suse.de>
  Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
  Wei Wang <wei.w.wang@intel.com>
  William Liu <willsroot@protonmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  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                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-armhf-armhf-xl-credit1 broken
broken-step test-armhf-armhf-xl-credit1 host-install(5)

Not pushing.

(No revision log; it would be 486 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Jan 20 19:12:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 19:12:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259173.447152 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAcrY-0001N6-BW; Thu, 20 Jan 2022 19:12:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259173.447152; Thu, 20 Jan 2022 19: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 1nAcrY-0001Mz-8O; Thu, 20 Jan 2022 19:12:48 +0000
Received: by outflank-mailman (input) for mailman id 259173;
 Thu, 20 Jan 2022 19:12:47 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nAcrX-0001Mn-GT; Thu, 20 Jan 2022 19:12:47 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nAcrX-0007e2-FY; Thu, 20 Jan 2022 19:12:47 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nAcrX-00063X-6v; Thu, 20 Jan 2022 19:12:47 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nAcrX-0006bk-6Y; Thu, 20 Jan 2022 19:12:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=JkW+tYTTbIo5PvCkJ2KgaUGxPBqIrjwsqJOHYK34N9k=; b=j2/iK6pobYJjjxUNldt9jqtRYL
	2TDFy5l1QRuUoD8I9a39Tn9lg6sNTGMDFGkGXBjDToj1ni8gclQhlpS0eKCW+21coVd9UdBU4YFxU
	xk0bkPTFe6QlgER06blH+aZJasgq0N82vnexloWzqOBG+4dz1Zs5pGUlfcxWT8tBwTuI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167761-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 167761: 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=4e1df69cc9f51b2e017af1da3ed5b45917642115
X-Osstest-Versions-That:
    xen=9b7cdb83fccf59912e56714dd79dbfab57518a65
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 20 Jan 2022 19:12:47 +0000

flight 167761 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167761/

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                  4e1df69cc9f51b2e017af1da3ed5b45917642115
baseline version:
 xen                  9b7cdb83fccf59912e56714dd79dbfab57518a65

Last test of basis   167753  2022-01-19 23:01:48 Z    0 days
Testing same since   167761  2022-01-20 14:00:29 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          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
   9b7cdb83fc..4e1df69cc9  4e1df69cc9f51b2e017af1da3ed5b45917642115 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Jan 20 21:56:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 21:56:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259180.447163 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAfPH-0007l6-3N; Thu, 20 Jan 2022 21:55:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259180.447163; Thu, 20 Jan 2022 21:55:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAfPH-0007kz-0H; Thu, 20 Jan 2022 21:55:47 +0000
Received: by outflank-mailman (input) for mailman id 259180;
 Thu, 20 Jan 2022 21:55:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lajj=SE=xilinx.com=ayankuma@srs-se1.protection.inumbo.net>)
 id 1nAfPG-0007kt-0q
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 21:55:46 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1anam02on2060f.outbound.protection.outlook.com
 [2a01:111:f400:7ea9::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b4fdf69e-7a3b-11ec-bc18-3156f6d857e4;
 Thu, 20 Jan 2022 22:55:41 +0100 (CET)
Received: from DM6PR10CA0032.namprd10.prod.outlook.com (2603:10b6:5:60::45) by
 CO6PR02MB8820.namprd02.prod.outlook.com (2603:10b6:303:144::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.9; Thu, 20 Jan
 2022 21:55:38 +0000
Received: from DM3NAM02FT027.eop-nam02.prod.protection.outlook.com
 (2603:10b6:5:60:cafe::91) by DM6PR10CA0032.outlook.office365.com
 (2603:10b6:5:60::45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.8 via Frontend
 Transport; Thu, 20 Jan 2022 21:55:38 +0000
Received: from xir-pvapexch02.xlnx.xilinx.com (149.199.80.198) by
 DM3NAM02FT027.mail.protection.outlook.com (10.13.5.130) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4909.8 via Frontend Transport; Thu, 20 Jan 2022 21:55:37 +0000
Received: from xir-pvapexch01.xlnx.xilinx.com (172.21.17.15) by
 xir-pvapexch02.xlnx.xilinx.com (172.21.17.17) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2176.14; Thu, 20 Jan 2022 21:55:36 +0000
Received: from smtp.xilinx.com (172.21.105.197) by
 xir-pvapexch01.xlnx.xilinx.com (172.21.17.15) with Microsoft SMTP Server id
 15.1.2176.14 via Frontend Transport; Thu, 20 Jan 2022 21:55:36 +0000
Received: from [10.108.8.223] (port=27503 helo=xcbayankuma41x.xilinx.com)
 by smtp.xilinx.com with esmtp (Exim 4.90)
 (envelope-from <ayan.kumar.halder@xilinx.com>)
 id 1nAfP5-0005Xs-HG; Thu, 20 Jan 2022 21:55: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: b4fdf69e-7a3b-11ec-bc18-3156f6d857e4
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bkA9Vk2KDr6z7UnWY/+BMghoKP6AN8s+pf0A2aLC4iq2Nhpv3MtlYkPtzBunSdbF/pzvlLgIZ/9fk4LMRVc8CcHjzSv+I74nLpiXH5eKQUL37Jk6OtvNi8fvusgM5BlKPJoZRp4ZnmqKwHr/h9ecBbfAI0ZfGPXR82VtRos9MxidPkkjRMBLhi06E8stHY2JwI33YpJSYwedB9NG+4lEHF1m8Qs9FobrrkrtRRHopMDjYOr6NNoQ16og/IhW2p3ZJRcRTY7WkBO7/9ffeSuz5eGRr7YBJjkYrHCyoKTbhl+MPofPwb+vjDIzOsXOdigrSEtvQF5iGrCkEtUuZCLbzg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kmM8bRgExVP0UZZoasHUt/y4YJ1u3xNqvHORmd9LNLA=;
 b=kZR+5HuZekpIPpgn6bbSSGiDBF+UmIfEJKPCfaAdVQ6iKwmjzADkP6ooYjRJcd0YIAeQas12384lkJusu6z95ejFIhxxEZiAQJDeZRgGANNtA4wmgAAo8dOT1g7mHSaelUSWqeqoQ+VOFZPUfVEs6AvbgPAvEmPv16JFQ33+QDSXXyRWpPyiMw/8jjrkYHvSl9g9vFvQWBBgUpA84BpqaH5nrtWICNAECuFHAl4pxbKp27gslcBIN+QFt/963nj9Rs8ADI4unLT6TrmSDfe8wvv25521cFilngM9oavIo2LsDNda0OA4JXld+zdyFkdtHMpkE7320ZZSCvgwrFpYCQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 149.199.80.198) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=xilinx.com; dmarc=pass (p=none sp=none pct=100) action=none
 header.from=xilinx.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kmM8bRgExVP0UZZoasHUt/y4YJ1u3xNqvHORmd9LNLA=;
 b=HzInxZSPex3UU9Fnvpo48MDtHVwN/UG3pzUMgSlJ1dPqfTcnFA1b/dZZtIEAjd3VnFWykq6OYDHA+kn9BcZoxA2wShzOgSM0IKK73CJo79tRoVQgeexp+9DjZnOKs+gLKtcd7mrSJWWcCqdE4oVOz9bkhQQ+BXR4gkCFhxgBE2w=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 149.199.80.198)
 smtp.mailfrom=xilinx.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=xilinx.com;
Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates
 149.199.80.198 as permitted sender) receiver=protection.outlook.com;
 client-ip=149.199.80.198; helo=xir-pvapexch02.xlnx.xilinx.com;
From: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefanos@xilinx.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>,
	<andre.przywara@arm.com>, <jbeulich@suse.com>, <wei.chen@arm.com>, "Ayan
 Kumar Halder" <ayankuma@xilinx.com>
Subject: [XEN v3] xen/arm64: io: Decode ldr/str post-indexing instructions
Date: Thu, 20 Jan 2022 21:55:27 +0000
Message-ID: <20220120215527.28138-1-ayankuma@xilinx.com>
X-Mailer: git-send-email 2.17.1
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 29d8353d-22dd-4abc-3d30-08d9dc5f97d5
X-MS-TrafficTypeDiagnostic: CO6PR02MB8820:EE_
X-Microsoft-Antispam-PRVS:
	<CO6PR02MB882052B6716C6F6FC158B085B25A9@CO6PR02MB8820.namprd02.prod.outlook.com>
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
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:
	BheGQWmeefeIopGz3xmde/ww5DC4a/apJWFELGyWIqyyYYIKeGEPmJFU01lppfD1iOcFR/D+ZGrLEhfNU7iu+s1kgR6173T8PzWyOsvmeoGu3pnODoiyhkywq8J/m+szsqA1iQjO5OwtlfSP2BCjg2ztEm/1scH8lMCrk+gVKG/jtiXC0EpthsakOIXYHL0+zTV7sXt968n71YlOCsT1kSBd9SePhaDWiQJ/5b26ssJm3I3gxejKZC4dfSjW9azBy4V1ChJGTQVAJUBthNDdWIjUHM3ZezkqN2IXBkokVZ2BkPJiD6xCeNy36XcV+tmGqhfHHmE8+0aLrkhOwCb7WNg318/OAJQ4k5crT1AmhXC7zTioxUCrT17jreM2kEXU+fhAPp0ZPWPXZhpCljPOjC0kKbXZzru6q2IL1sZd2mIa49I1HxuIOVRr/UQnzB7FDmFJliDuH65LGK0U25wll5fBloeGGQuPCSC2sAg55T4jLpybGaTR4qAg9+NZ9oz2MkdwwKEjdoW4lj4/Y0HbYRcI+KhTJzDv+vNPhZIBse6v404Ved1olVxKd5FmOQ45MibaLnF1OIW5r1gvULaAXlVVc6F/HFn/xTuRAk17zU6HNphTjuUxOU1pgIYH5xo+DAnciyBQfIJyiHv1O5dbkdpL8QJ/9a6xcLN/eILfgnVX6mFrnC9HiwYik/MT5dwlkK+VHyLsmiK9LY9PeSAcaB8i+OKgHESNGX7P1R5Lro+Ct/yQU/ZQ7kdV7rSQ/FrOW7f4XZMI5MhetwvrL2eWng6JxUMHj1UPYNQd5edr+e0bU9KwNiJDYZlcfmZRn3L+LPVAz+b8rF+xtBcjT25YIXFEiOGgI3aKe37kl37lHCA=
X-Forefront-Antispam-Report:
	CIP:149.199.80.198;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:xir-pvapexch02.xlnx.xilinx.com;PTR:unknown-80-198.xilinx.com;CAT:NONE;SFS:(4636009)(36840700001)(46966006)(6916009)(26005)(8936002)(107886003)(7696005)(9786002)(70206006)(508600001)(336012)(5660300002)(6666004)(966005)(186003)(2616005)(4326008)(7636003)(82310400004)(2906002)(356005)(36756003)(8676002)(316002)(1076003)(54906003)(36860700001)(70586007)(47076005)(83380400001)(426003)(102446001);DIR:OUT;SFP:1101;
X-OriginatorOrg: xilinx.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2022 21:55:37.4943
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 29d8353d-22dd-4abc-3d30-08d9dc5f97d5
X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c;Ip=[149.199.80.198];Helo=[xir-pvapexch02.xlnx.xilinx.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DM3NAM02FT027.eop-nam02.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR02MB8820

At the moment, Xen is only handling data abort with valid syndrome (i.e.
ISV=0). Unfortunately, this doesn't cover all the instructions a domain
could use to access MMIO regions.

For instance, a baremetal OS can use any of the following instructions, where
x1 contains the address of the MMIO region:

1.      ldr     x2,    [x1],    #4
2.      ldr     w2,    [x1],    #-4
3.      ldr     x2,    [x1],    #-8
4.      ldr     w2,    [x1],    #4
5.      ldrh    w2,    [x1],    #8
6.      ldrb    w2,    [x1],    #16
7.      str     x2,    [x1],    #4
8.      str     w2,    [x1],    #-4
9.      strh    w2,    [x1],    #8
10.     strb    w2,    [x1],    #16

In the following two instructions, sp contains the address of the MMIO region:-
11.     ldrb    w2,    [sp],    #16
12.     ldrb    wzr,   [sp],    #16

In order to handle post-indexing store/load instructions (like those mentioned
above), Xen will need to fetch and decode the instruction.

This patch only cover post-index store/load instructions from AArch64 mode.
For now, this is left unimplemented for trap from AArch32 mode.

Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
---

Changelog :-
v2 - 1. Updated the rn register after reading from it. (Pointed by Julien,
        Stefano)
     2. Used a union to represent the instruction opcode (Suggestd by Bertrand)
     3. Fixed coding style issues (Pointed by Julien)
     4. In the previous patch, I was updating dabt->sign based on the signedness
        of imm9. This was incorrect. As mentioned in ARMv8 ARM  DDI 0487G.b,
        Page 3221, SSE indicates the signedness of the data item loaded. In our
        case, the data item loaded is always unsigned.

v3- 1. Handled all the variants of ldr/str (ie 64, 32, 16, 8 bit variants).
       Thus, I have removed the check for "instr->code.opc == 0" (Suggested by
       Andre)
    2. Handled the scenario when rn = SP, rt = XZR (Suggested by Jan, Andre)
    3. Added restriction for "rt != rn" (Suggested by Andre)
    4. Moved union ldr_str_instr_class {} to decode.h. This is the header included
       by io.c and decode.c (where the union is referred). (Suggested by Jan)
    5. Indentation and typo fixes (Suggested by Jan)

Changes suggested but could not be considered due to reasons :-
    1. Using accessor macros instead of bitfields for "ldr_str_instr_class". (Andre)
       Reason - I could not find a simple way to represent 9 bit signed integer
       (ie imm9) without using bitfields. If I use accessor macros, then I need
       to manually calculate two's complement to obtain the value when signed
       bit is present.

    2. I/D cache cohenerncy (Andre)
       Reason :- I could not see any instruction to flush the I cache.
       Refer https://developer.arm.com/documentation/ddi0596/2021-12/Base-Instructions/IC--Instruction-Cache-operation--an-alias-of-SYS-?lang=en#sa_ic_op
       So, this patch assumes that the I/D caches are coherent.

 xen/arch/arm/decode.c | 78 ++++++++++++++++++++++++++++++++++++++++++-
 xen/arch/arm/decode.h | 29 +++++++++++++++-
 xen/arch/arm/io.c     | 66 ++++++++++++++++++++++++++++++++----
 3 files changed, 165 insertions(+), 8 deletions(-)

diff --git a/xen/arch/arm/decode.c b/xen/arch/arm/decode.c
index 792c2e92a7..f1c59ddd1a 100644
--- a/xen/arch/arm/decode.c
+++ b/xen/arch/arm/decode.c
@@ -84,6 +84,76 @@ bad_thumb2:
     return 1;
 }
 
+static int decode_loadstore_postindexing(register_t pc,
+                                         struct hsr_dabt *dabt,
+                                         union ldr_str_instr_class *instr)
+{
+    if ( raw_copy_from_guest(&instr->value, (void * __user)pc, sizeof (instr)) )
+        return -EFAULT;
+
+    /*
+     * Rn -ne Rt for ldr/str instruction.
+     * Check https://developer.arm.com/documentation/dui0802/a/CIHGJHED
+     * (Register restrictions)
+     *
+     * The only exception for this is when rn = 31. It denotes SP ("Use of SP")
+     *
+     * And when rt = 31, it denotes wzr/xzr. (Refer
+     * https://developer.arm.com/documentation/den0024/a/ARMv8-Registers/AArch64-special-registers
+     * "There is no register called X31 or W31. Many instructions are encoded
+     * such that the number 31 represents the zero register, ZR (WZR/XZR)."
+     */
+    if ( (instr->code.rn == instr->code.rt) && (instr->code.rn != 31) )
+        return -EINVAL;
+
+    /* First, let's check for the fixed values */
+    if ( !((instr->code.fixed1 == 1) && (instr->code.fixed2 == 0) &&
+         (instr->code.fixed3 == 0) && (instr->code.fixed4 == 7)) )
+    {
+        gprintk(XENLOG_ERR, "Cannot decode instruction 0x%x",instr->value);
+        gprintk(XENLOG_ERR, "Decoding not supported for instructions other than"
+            " ldr/str post indexing\n");
+        goto bad_32bit_loadstore;
+    }
+
+    if ( instr->code.v != 0 )
+    {
+        gprintk(XENLOG_ERR,
+            "ldr/str post indexing for vector types are not supported\n");
+        goto bad_32bit_loadstore;
+    }
+
+    /* Check for STR (immediate) - 32 bit variant */
+    if ( instr->code.opc == 0 )
+    {
+        dabt->write = 1;
+    }
+    /* Check for LDR (immediate) - 32 bit variant */
+    else if ( instr->code.opc == 1 )
+    {
+        dabt->write = 0;
+    }
+    else
+    {
+        gprintk(XENLOG_ERR,
+            "Decoding ldr/str post indexing is not supported for this variant\n");
+        goto bad_32bit_loadstore;
+    }
+
+    gprintk(XENLOG_INFO,
+        "instr->code.rt = 0x%x, instr->code.size = 0x%x, instr->code.imm9 = %d\n",
+        instr->code.rt, instr->code.size, instr->code.imm9);
+
+    update_dabt(dabt, instr->code.rt, instr->code.size, false);
+    dabt->valid = 1;
+
+    return 0;
+
+ bad_32bit_loadstore:
+    gprintk(XENLOG_ERR, "unhandled 32bit Arm instruction 0x%x\n", instr->value);
+    return 1;
+}
+
 static int decode_thumb(register_t pc, struct hsr_dabt *dabt)
 {
     uint16_t instr;
@@ -150,11 +220,17 @@ bad_thumb:
     return 1;
 }
 
-int decode_instruction(const struct cpu_user_regs *regs, struct hsr_dabt *dabt)
+int decode_instruction(const struct cpu_user_regs *regs, struct hsr_dabt *dabt,
+                       union ldr_str_instr_class *instr)
 {
     if ( is_32bit_domain(current->domain) && regs->cpsr & PSR_THUMB )
         return decode_thumb(regs->pc, dabt);
 
+    if ( (is_64bit_domain(current->domain) && !psr_mode_is_32bit(regs)) )
+    {
+        return decode_loadstore_postindexing(regs->pc, dabt, instr);
+    }
+
     /* TODO: Handle ARM instruction */
     gprintk(XENLOG_ERR, "unhandled ARM instruction\n");
 
diff --git a/xen/arch/arm/decode.h b/xen/arch/arm/decode.h
index 4613763bdb..5c918c9bed 100644
--- a/xen/arch/arm/decode.h
+++ b/xen/arch/arm/decode.h
@@ -23,6 +23,32 @@
 #include <asm/regs.h>
 #include <asm/processor.h>
 
+/*
+ * Refer to the ARMv8 ARM (DDI 0487G.b), Section C4.1.4 Loads and Stores
+ * Page 318 specifies the following bit pattern for
+ * "load/store register (immediate post-indexed)".
+ *
+ * 31 30 29  27 26 25  23   21 20              11   9         4       0
+ * ___________________________________________________________________
+ * |size|1 1 1 |V |0 0 |opc |0 |      imm9     |0 1 |  Rn     |  Rt   |
+ * |____|______|__|____|____|__|_______________|____|_________|_______|
+ */
+union ldr_str_instr_class {
+    uint32_t value;
+    struct ldr_str {
+        unsigned int rt:5;     /* Rt register */
+        unsigned int rn:5;     /* Rn register */
+        unsigned int fixed1:2; /* value == 01b */
+        signed int imm9:9;            /* imm9 */
+        unsigned int fixed2:1; /* value == 0b */
+        unsigned int opc:2;    /* opc */
+        unsigned int fixed3:2; /* value == 00b */
+        unsigned int v:1;      /* vector */
+        unsigned int fixed4:3; /* value == 111b */
+        unsigned int size:2;   /* size */
+    } code;
+};
+
 /**
  * Decode an instruction from pc
  * /!\ This function is not intended to fully decode an instruction. It
@@ -35,7 +61,8 @@
  */
 
 int decode_instruction(const struct cpu_user_regs *regs,
-                       struct hsr_dabt *dabt);
+                       struct hsr_dabt *dabt,
+                       union ldr_str_instr_class *instr);
 
 #endif /* __ARCH_ARM_DECODE_H_ */
 
diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
index 729287e37c..acb483f235 100644
--- a/xen/arch/arm/io.c
+++ b/xen/arch/arm/io.c
@@ -65,6 +65,39 @@ static enum io_state handle_write(const struct mmio_handler *handler,
     return ret ? IO_HANDLED : IO_ABORT;
 }
 
+static void post_increment_register(union ldr_str_instr_class *instr)
+{
+    struct cpu_user_regs *regs = guest_cpu_user_regs();
+    unsigned int val;
+
+    /* handle when rn = SP */
+    if ( instr->code.rn == 31 )
+    {
+        if ( (regs->cpsr & PSR_MODE_MASK) == PSR_MODE_EL1h )
+        {
+            val = regs->sp_el1;
+        }
+        else
+        {
+            BUG();
+        }
+    }
+    else
+    {
+        val = get_user_reg(regs, instr->code.rn);
+    }
+    val += instr->code.imm9;
+
+    if ( instr->code.rn == 31 )
+    {
+        regs->sp_el1 = val;
+    }
+    else
+    {
+        set_user_reg(regs, instr->code.rn, val);
+    }
+}
+
 /* This function assumes that mmio regions are not overlapped */
 static int cmp_mmio_handler(const void *key, const void *elem)
 {
@@ -106,14 +139,29 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
         .gpa = gpa,
         .dabt = dabt
     };
+    int rc;
+    union ldr_str_instr_class instr = {0};
 
     ASSERT(hsr.ec == HSR_EC_DATA_ABORT_LOWER_EL);
 
+    /*
+     * Armv8 processor does not provide a valid syndrome for post-indexing
+     * ldr/str instructions. So in order to process these instructions,
+     * Xen must decode them.
+     */
+    if ( !info.dabt.valid )
+    {
+        rc = decode_instruction(regs, &info.dabt, &instr);
+        if ( rc )
+        {
+            gprintk(XENLOG_DEBUG, "Unable to decode instruction\n");
+            return IO_ABORT;
+        }
+    }
+
     handler = find_mmio_handler(v->domain, info.gpa);
     if ( !handler )
     {
-        int rc;
-
         rc = try_fwd_ioserv(regs, v, &info);
         if ( rc == IO_HANDLED )
             return handle_ioserv(regs, v);
@@ -122,7 +170,7 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
     }
 
     /* All the instructions used on emulated MMIO region should be valid */
-    if ( !dabt.valid )
+    if ( !info.dabt.valid )
         return IO_ABORT;
 
     /*
@@ -134,7 +182,7 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
     {
         int rc;
 
-        rc = decode_instruction(regs, &info.dabt);
+        rc = decode_instruction(regs, &info.dabt, NULL);
         if ( rc )
         {
             gprintk(XENLOG_DEBUG, "Unable to decode instruction\n");
@@ -143,9 +191,15 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
     }
 
     if ( info.dabt.write )
-        return handle_write(handler, v, &info);
+        rc = handle_write(handler, v, &info);
     else
-        return handle_read(handler, v, &info);
+        rc = handle_read(handler, v, &info);
+
+    if ( instr.value != 0 )
+    {
+        post_increment_register(&instr);
+    }
+    return rc;
 }
 
 void register_mmio_handler(struct domain *d,
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Jan 20 22:01:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 22:01:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259183.447174 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAfVC-0000mb-QP; Thu, 20 Jan 2022 22:01:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259183.447174; Thu, 20 Jan 2022 22:01:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAfVC-0000mU-MU; Thu, 20 Jan 2022 22:01:54 +0000
Received: by outflank-mailman (input) for mailman id 259183;
 Thu, 20 Jan 2022 22:01:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lajj=SE=xilinx.com=ayankuma@srs-se1.protection.inumbo.net>)
 id 1nAfVB-0000mO-Eu
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 22:01:53 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2062b.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 91880385-7a3c-11ec-bc18-3156f6d857e4;
 Thu, 20 Jan 2022 23:01:51 +0100 (CET)
Received: from SA9PR11CA0007.namprd11.prod.outlook.com (2603:10b6:806:6e::12)
 by DM5PR02MB3324.namprd02.prod.outlook.com (2603:10b6:4:66::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.12; Thu, 20 Jan
 2022 22:01:47 +0000
Received: from SN1NAM02FT0029.eop-nam02.prod.protection.outlook.com
 (2603:10b6:806:6e:cafe::39) by SA9PR11CA0007.outlook.office365.com
 (2603:10b6:806:6e::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.8 via Frontend
 Transport; Thu, 20 Jan 2022 22:01:46 +0000
Received: from xir-pvapexch01.xlnx.xilinx.com (149.199.80.198) by
 SN1NAM02FT0029.mail.protection.outlook.com (10.97.4.175) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4909.8 via Frontend Transport; Thu, 20 Jan 2022 22:01:46 +0000
Received: from xir-pvapexch02.xlnx.xilinx.com (172.21.17.17) by
 xir-pvapexch01.xlnx.xilinx.com (172.21.17.15) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2176.14; Thu, 20 Jan 2022 22:01:45 +0000
Received: from smtp.xilinx.com (172.21.105.198) by
 xir-pvapexch02.xlnx.xilinx.com (172.21.17.17) with Microsoft SMTP Server id
 15.1.2176.14 via Frontend Transport; Thu, 20 Jan 2022 22:01:45 +0000
Received: from [10.71.117.147] (port=56629)
 by smtp.xilinx.com with esmtp (Exim 4.90)
 (envelope-from <ayan.kumar.halder@xilinx.com>)
 id 1nAfV2-0006bg-61; Thu, 20 Jan 2022 22:01: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: 91880385-7a3c-11ec-bc18-3156f6d857e4
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C6v/3tRD8oBPkP1XVWHL1WFBnrgTTZbuEHyBl9yFz2gn2LCz/QKQqneKN+jmQMey8i4esYLgO1CAHdso3yTqYuLtOg9CeXzHqNv1dW162KpWY2qc1zF/oPn82BBEq/sFWJ1a8StJZmeF0dFoV3PdDXf/02HWIlGAttIOITSPy8ncWy2xjXSsRiK9zaBaalOn1pqXBAGd9F7B1UsaUuFn04+pTDQ+nguSwT+xO/50fBDd12dM5wirN9QzzXDKDFlKmz0uTZgCSSkR5jjAuh0o4A585u5RF4CEQe41PBF9YsFx7/6BajUn0jLz4qcExZBONQdyBhmbjIqSkT/wlZt4Kw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DwnwUsc1evMIhNKHmggVHmmXE0pgezlpBI6F6356l98=;
 b=Mwq7CvBlCenBMQWyhUMjY+cOPT8hvLyQoe5JIDdqCVuxFNLZZqJ+vULdHO9za0CQPc7PwXj1lqe+TREsn3kApDDBWNg7wbVBE6M/laaAbA86rVk4f8+mp/YH3b3E/HbuJbbVXiFNV3lHwmwq2Qmlz6SlzqRWbMfCt6/pwcB+mw9JpiuJvKRNuaF1NaSrJNNNXYAsoVEhw2BSqZpxpfSGZvAssXdaqR5KmPeaQL3LlmcDjESNd5re4BdgR3l3OUmWLK2aKg4lAdTrluBDwMFcVQqt7cb5weecy1BTCuyqdX8Mgl23LvMzV6uvHFPyF+vQYifqSM+2yqqtSI/qpqkkyw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 149.199.80.198) smtp.rcpttodomain=arm.com smtp.mailfrom=xilinx.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=xilinx.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DwnwUsc1evMIhNKHmggVHmmXE0pgezlpBI6F6356l98=;
 b=GNLu+rbiBo8w3hTK+iRJrondb5DjFAwZOk4kEme3SuDRKji4VApaz/s8MsBt+9V11n7zjjCUD0LtaZ4X/kdOxAdSyejNNHfbiG9CsO37cI+NwZBBgNnNyRFHH0NLGULiU5KfG18mCM4COjZ9uHoeiAkf8uhF7vAscynnW9gLUeo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 149.199.80.198)
 smtp.mailfrom=xilinx.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=xilinx.com;
Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates
 149.199.80.198 as permitted sender) receiver=protection.outlook.com;
 client-ip=149.199.80.198; helo=xir-pvapexch01.xlnx.xilinx.com;
Message-ID: <88bca474-c0cf-b5aa-bbcd-33e587d673a9@xilinx.com>
Date: Thu, 20 Jan 2022 22:01:43 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.4.1
Subject: Re: [XEN v2] xen/arm64: io: Decode 32-bit ldr/str post-indexing
 instructions
To: Andre Przywara <andre.przywara@arm.com>, Ayan Kumar Halder
	<ayan.kumar.halder@xilinx.com>
CC: Julien Grall <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, "stefanos@xilinx.com" <stefanos@xilinx.com>,
	"Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>,
	"jbeulich@suse.com" <jbeulich@suse.com>, <beata.michalska@linaro.org>,
	<richard.henderson@linaro.org>
References: <20211129191638.19877-1-ayankuma@xilinx.com>
 <20211130094950.1bf368d6@donnerap.cambridge.arm.com>
 <a69d41f1-7b57-c127-ae73-2de5a581dddd@xilinx.com>
 <D8811539-65F2-4D40-BFEF-CE72EA8E902A@arm.com>
 <4315f3f8-4431-3257-dc95-a3089532237b@xen.org>
 <20211208120048.63fbf49b@donnerap.cambridge.arm.com>
 <0f6e058a-bc23-2a77-6797-39bfacb7db79@xilinx.com>
 <20220106153327.6ebb2be1@donnerap.cambridge.arm.com>
 <2978437f-c7ad-e874-5355-5bdfa2185f1c@xilinx.com>
 <20220111125222.6e2af49b@donnerap.cambridge.arm.com>
From: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>
In-Reply-To: <20220111125222.6e2af49b@donnerap.cambridge.arm.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: dc8c0a31-50e6-4b93-2e16-08d9dc6073cf
X-MS-TrafficTypeDiagnostic: DM5PR02MB3324:EE_
X-Microsoft-Antispam-PRVS:
	<DM5PR02MB3324BA8427CB73B004349B21B25A9@DM5PR02MB3324.namprd02.prod.outlook.com>
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
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:
	nAvjmIHmoNXC87HnpAflbi6vtXvk5Yqc0FSVzbVIOMS+8R/FlgBafsiZ3lRQFr4uFhcHd/ywIzY3vdNKV1jSUq5lpKcBTr3cKpeIzMNtPSZcHgxSXrLGXVPikp8NXC1w9T9wu4yhAQ6qGH9lraKLA1ZZp2hd1HGnvxl0uO0a9Dv5CCi0bbgRuXm8pN7kNMrKrrHZnrKpyagQUzShknevZTvwFeBdq/IOMn1YH5HnkTILVqsEqqzbt+NoRl9a6vKDixyibOR7slJSqsjeK3JcogLd0F5/MAvzwnsERViy0+lJ0NlIhmTwIv3iT5zu6E9lcln+IB4zyW5y9i2lzLk0bbn/3IaL0PHhivNT2OhW/5SMU7MschLEdEIfXBk1r+ayq5up0+K3QDgUbIddI3SVWXD0+Bjk4AnFvAUf7RXXTG0sSciebOLi/LsC/1ecaV0Yxw68KnuDJVNTu9JwUuxZPMYl3qvE7ME/UWfcv2BHa4aQCPQBC50E9ka623oHnkstONf1kANGVc31jaoRwUIQQwMs/3sqc0ZIFslWUfkkElz0u8PG8FM23YftquXUui0tSGdGOh4ckY6mJ/nWo8HvppokeGyybCH/vwl5UUWtboxRi8d+NozhI0qjNfUzKhKXOwKcsMxGPb8iVoJnNIISWf04YZ/EX+qoQ8ASsuhEfWdv9U+GXn0B3FlxFhBdJbNbJbcyvsAxxEi1gloeSIlt62+G1t4/RlMKBGTEiY8tCRGTSdMoqhBJPvPE23yWmVnNuIJrGJYh5SjgH1VfQslPAF4eQD1elO/uS3sgnFIjHi/nM0jMSuWjN2IagxEpEKYPl2HxdtgG77ArvGScN4BFC/CtCye8s0hs5RMZ2d3GmZlm1ZElwtbtVTknRbrStnkY
X-Forefront-Antispam-Report:
	CIP:149.199.80.198;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:xir-pvapexch01.xlnx.xilinx.com;PTR:unknown-80-198.xilinx.com;CAT:NONE;SFS:(4636009)(46966006)(36840700001)(31686004)(7636003)(82310400004)(83380400001)(47076005)(186003)(9786002)(336012)(356005)(2906002)(53546011)(30864003)(31696002)(426003)(5660300002)(36756003)(110136005)(26005)(508600001)(316002)(8676002)(966005)(8936002)(36860700001)(70206006)(70586007)(2616005)(54906003)(4326008)(50156003)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: xilinx.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2022 22:01:46.4908
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: dc8c0a31-50e6-4b93-2e16-08d9dc6073cf
X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c;Ip=[149.199.80.198];Helo=[xir-pvapexch01.xlnx.xilinx.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SN1NAM02FT0029.eop-nam02.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR02MB3324

Hi Andre/All,

Many thanks for your feedback.

On 11/01/2022 12:52, Andre Przywara wrote:
> On Mon, 10 Jan 2022 14:33:11 +0000
> Ayan Kumar Halder <ayan.kumar.halder@xilinx.com> wrote:
>
> Hi Ayan,
>
>> Many thanks for your inputs. It is making better sense now. Much
>> appreciated.
>>
>> A few questions/clarifications :-
>>
>> On 06/01/2022 15:33, Andre Przywara wrote:
>>> On Wed, 5 Jan 2022 16:55:11 +0000
>>> Ayan Kumar Halder<ayan.kumar.halder@xilinx.com>  wrote:
>>>
>>> Hi,
>>>   
>>>> Thank you so much for your feedback.
>>>>
>>>> I need a couple of clarifications before I can start with the v3 patch.
>>>>
>>>> On 08/12/2021 12:00, Andre Przywara wrote:
>>>>> On Mon, 6 Dec 2021 19:31:06 +0000
>>>>> Julien Grall<julien@xen.org>  wrote:
>>>>>
>>>>> Hi,
>>>>>      
>>>>>> On 01/12/2021 08:41, Bertrand Marquis wrote:
>>>>>>> Hi Ayan,
>>>>>>>          
>>>>>>>> On 30 Nov 2021, at 19:13, Ayan Kumar Halder<ayan.kumar.halder@xilinx.com>  wrote:
>>>>>>>>
>>>>>>>> Hi Andre,
>>>>>>>>
>>>>>>>> Thanks for your comments. They are useful.
>>>>>>>>
>>>>>>>> On 30/11/2021 09:49, Andre Przywara wrote:
>>>>>>>>> On Mon, 29 Nov 2021 19:16:38 +0000
>>>>>>>>> Ayan Kumar Halder<ayan.kumar.halder@xilinx.com>  wrote:
>>>>>>>>> Hi,
>>>>>>>>>> At the moment, Xen is only handling data abort with valid syndrome (i.e.
>>>>>>>>>> ISV=0). Unfortunately, this doesn't cover all the instructions a domain
>>>>>>>>>> could use to access MMIO regions.
>>>>>>>>>>
>>>>>>>>>> For instance, Xilinx baremetal OS will use:
>>>>>>>>>>
>>>>>>>>>>             volatile u32 *LocalAddr = (volatile u32 *)Addr;
>>>>>>>>>>             *LocalAddr = Value;
>>>>>>>>>>
>>>>>>>>>> This leave the compiler to decide which store instructions to use.
>>>>>>>>> As mentioned in the other email, this is wrong, if this points to MMIO:
>>>>>>>>> don't let the compiler do MMIO accesses. If a stage 2 fault isn't in
>>>>>>>>> an MMIO area, you should not see traps that you cannot handle already.
>>>>>>>>> So I don't think it's a good idea to use that as an example. And since
>>>>>>>>> this patch only seems to address this use case, I would doubt its
>>>>>>>>> usefulness in general.
>>>>>>>> Yes, I should have fixed the comment.
>>>>>>>>
>>>>>>>> Currently, I am testing with baremetal app which uses inline assembly code with post indexing instructions, to access the MMIO.
>>>>>>>>
>>>>>>>> ATM, I am testing with 32 bit MMIO only.
>>>>>>>>
>>>>>>>> On the usefulness, I am kind of torn as it is legitimate for post indexing instructions to be used in an inline-assembly code for accessing MMIO. However, that may not be something commonly seen.
>>>>>>>>
>>>>>>>> @Stefano/Bertrand/Julien/Volodymyr :- As you are the Arm mantainers, can you comment if we should have decoding logic or not ?
>>>>>>> Andre gave you the official statement from Arm and there is nothing more I can say.
>>>>>> I think this would be handy for other hypervisor and OS developper to
>>>>>> know what they can expect when running in a virtualized environment. So
>>>>>> would it be possible to update the Arm Arm reflecting this statement?
>>>>> I don't think it's within the scope of the ARM ARM to say that. It just
>>>>> says that "there is no syndrome information", and your mileage may vary in
>>>>> working around that.
>>>>>
>>>>> Personally I would say that if you expect your software to work nicely
>>>>> under a hypervisor, then just avoid those instructions. The Linux kernel
>>>>> certainly did so.
>>>>>
>>>>> You can try to do instruction emulation, but doing this right can get
>>>>> tricky quickly: think about I$/D$ coherency, MMU on or off, etc.
>>>> I am trying to get all the restrictions that need to be checked. I have
>>>> referred
>>>> https://developer.arm.com/documentation/dui0802/a/A64-General-Instructions/Register-restrictions-for-A64-instructions?lang=en
>>>> and "Arm A64 Instruction Set Architecture - DDI 0596" - LDR (immediate).
>>>>
>>>> So far I only see the following restrictions:-
>>>>
>>>> Rn -ne Rt
>>>>
>>>> Rt -ne SP
>>>>
>>>> You had mentioned the following cases :-
>>>>
>>>> 1. XZR vs SP - I see that both these refer to register no 31. Xen gets
>>>> the register number (for Rn/Rt) only, so I am not sure what is to be
>>>> done here.
>>> But the emulation code in Xen needs to know whether number 31 refers to the
>>> stack pointer or to the zero register. This depends on the context of the
>>> instruction. It's nothing magical about it, you just need to figure out
>>> which it is in your case and make sure that the code uses the right
>>> value. In the LDR case n==31 means SP, but t==31 means XZR. The emulation
>>> would need to consider this.
>> I see what you mean. I had a look at
>> xen/tools/qemu-xen-dir-remote/target/arm/cpu.h, CPUARMState {}. I don't
>> see anywhere we need to refer register by its name. IIUC, the
>> instruction decoding logic needs to know the register number only.
> But there is of course still a difference between them: they refer to two
> separate registers, they just share the encoding of x31 in the instruction.
> Each instruction then *knows* what register it needs to go to when it sees
> number 31.
> By its very nature, you don't need to save XZR, so GPR[31] is typically
> the SP, if you have an array holding register values, and you
> probably handle the XZR case in code.
>
>> In fact, Xen would only read CPUARMState->xregs[31] for SP/XZR in
>> Aarch64 context. Let me know what I might be missing here.
>>
>> Beata/Richard - I see you have committed most recently on the file.
>> Please feel free to add your inputs.
>>
>>>   
>>>> 2. MMU on or off - As I see in try_handle_mmio(), one gets the physical
>>>> address in gpa. So I am not sure what is to be done here.
>>> You *might* be fine, if Xen takes care of that, I don't know.
>>> But it needs to explicitly consider those two cases - and also make
>>> sure that caching effects are cared for.
>>>   
>>>> 3. I/D coherency - I don't understand how this affects instruction decoding.
>>> In the ARM architecture the I cache and D cache are not necessarily
>>> coherent. So whatever the CPU reads via the data bus does not need to be
>>> the same data that the instruction fetcher read a while ago. And while
>>> there is a well-known sequence to make the current data side visible to
>>> the instruction side, there is nothing architectural for the other way
>>> around.
>>> For example the CPU fetches a bunch of instructions into the I cache, then
>>> consumes it from there. Now some code changes those instruction words in
>>> "memory". Without explicit D-cache-clean-to-the-PoU and
>>> I-cache-invalidate+ISB the CPU might still execute the old instructions.
>> This makes sense. Referring
>> https://developer.arm.com/documentation/den0024/a/Caches/Cache-maintenance,
>> I assume that the following instructions need to be executed before the
>> instruction is decoded.
>>
>> Xn <--- contains the address of the instruction to be decoded.
>>
>> STR Wt, [Xn]
>> DC CVAU, Xn // Clean datacache by VA to point of unification (PoU)
>> DSB ISH // Ensure visibility of the datacleaned from cache
>> IC IVAU, Xn // Invalidate instruction cache by VA to PoU
>> DSB ISH // Ensure completion of the invalidations
>> ISB // Synchronize the fetched instruction stream
> That is what I sketched above: the typical sequence to make sure the
> instruction fetcher reads the right instructions, after you updated them.
> BUT this is not what we need here, we need to other way around: read the
> instruction that the CPU executed, but via the data bus, from memory. And
> I wouldn't know of a neat architectural way to ensure this.
>
>>> But if your emulation code tries to read the instruction from memory, it
>>> fetches the data-visible side of it - which is not what the CPU executed,
>>> so end up emulating the wrong thing.
>> I am guessing that this should not be a very unusual case. Isn't this
>> similar to a host processor loading and modifying a firmware in the
>> memory. The firmware can then be executed by a different
>> micro-controller or some programmable engine. I mean the data pipeline
>> or instruction pipeline should read the same contents from memory.
> ... if they are coherent. Otherwise you need explicit maintenance, see
> above. I mean it's the same situation with an external processor: this
> core reads instructions from memory and is probably buffering/caching them
> (crucial for performance). Now you need to tell if that buffer might
> contain stale data, and if the data in memory has changed meanwhile.
>
>>> Please also keep in mind that the architecture does not *guarantee*
>>> coherency, but in reality it might actually be coherent - either because
>>> of the particular silicon implementation, or because of side effects in
>>> the system (data cache line being evicted, ISB executed). So seeing the
>>> effects of coherency in your testing does not mean you are safe, it might
>>> just happen by chance.
>> Is there some good way to test this to ensure the best possible
>> reliability ?
> That's the problem, I think: You can reason on the basis of the
> architecture as described in the ARM ARM, but this brings you to the
> problems above. You can now try to hand wave away the problems, by stating
> that this will never happen in practice, but you then leave the steady
> ground the architecture gives you. That's why I was asking before if this
> is really necessary code to have, or if you would just be better off
> fixing the guests.
>
> Cheers,
> Andre
>
>>>> Please help me to understand further.
>>>>
>>>> - Ayan
>>>>   
>>>>>      
>>>>>>> I will leave this decision to Stefano and Julien.
>>>>>> I have had a chat on IRC with Stefano about this. I think the main
>>>>>> sticking point is the Arm Arm doesn't clearly state those instructions
>>>>>> should not be used by a virtualized OS on MMIO regions.
>>>>> I don't understand why the ARM ARM would need to say that. Certainly you
>>>>> realise that immediately when trying to use them, and apparently it was not
>>>>> a problem in the last 8ish years of Xen/ARM's existence.
>>>>>
>>>>> So it's your decision on having the emulation, I personally would only do
>>>>> it when there is a *good* use case.
>>>>> And please apply the demanded scrutiny on the review - including all the
>>>>> corner cases like Rn=Rt, XZR vs. SP (as Jan said) and possibly MMU status.

I have submitted a v3 patch for this addressing most of the comments.

"[XEN v3] xen/arm64: io: Decode ldr/str post-indexing instructions". 
Please have a look.

- Ayan

>>>>>
>>>>> Cheers,
>>>>> Andre
>>>>>      
>>>>>> To me, this topic looks similar to the set/way instruction dilemma. They
>>>>>> are a pain to virtualize (and the Arm Arm clearly hint it) but we had to
>>>>>> do it because some OSes relied on them.
>>>>>>
>>>>>> I think the main difference is the Arm Arm doesn't hint they should not
>>>>>> be used (it only says a valid syndrome is not provided) and the
>>>>>> implementation should hopefully be smaller and self-contained.
>>>>>>
>>>>>> So I would be inclined to allow Xen to decode post-indexing instructions
>>>>>> (pending the review).
>>>>>>
>>>>>> Cheers,
>>>>>>      


From xen-devel-bounces@lists.xenproject.org Thu Jan 20 22:29:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 22:29:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259187.447185 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAfwF-0003I1-6U; Thu, 20 Jan 2022 22:29:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259187.447185; Thu, 20 Jan 2022 22:29:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAfwF-0003Hu-36; Thu, 20 Jan 2022 22:29:51 +0000
Received: by outflank-mailman (input) for mailman id 259187;
 Thu, 20 Jan 2022 22:29:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4vKw=SE=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nAfwD-0003Ho-C9
 for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 22:29:49 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 77b1169e-7a40-11ec-bc18-3156f6d857e4;
 Thu, 20 Jan 2022 23:29:45 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id AE271B81E70;
 Thu, 20 Jan 2022 22:29:43 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1F8CFC340E0;
 Thu, 20 Jan 2022 22:29: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: 77b1169e-7a40-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1642717782;
	bh=SDwSxYZnn2m0uV/3xXcdmqRp3zp753uG6wbGyEar4Pw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=luHIr/kxziNjg2e72B4toULMA+xFuAwMjR0Yh8cXM8uPkFwONsWh0x9ktxZ4DYpDi
	 doBIn1YyjwJ40gRsVakYhMRS4WQKxk1rFB/aMmPYIMMsUvVavvfbkZvUgTY2sMKh21
	 TEH1Dlijb81Aq7rU1HVHQoqs6f8a6PPJB+RQMmfuAlxaK+dAPzRJXbkgkbO/p8/dqz
	 L2n2st6S6ioEdUvEiV1bgRvCu4aj7NDbIsmSFxBuW1bQ1/k16WdMXBTnwmie4oRw9e
	 A7a6xsoZxauYQi6LN3LFJZ63TzmZjFI/SQ4PZnwge0b+VYFEtgBB6iIEG8XuhaC2aY
	 67EzJU3JsWhsQ==
Date: Thu, 20 Jan 2022 14:29:41 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    Julien Grall <julien@xen.org>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
In-Reply-To: <20220120102147.GA4153317@EPUAKYIW015D>
Message-ID: <alpine.DEB.2.22.394.2201201230480.27308@ubuntu-linux-20-04-desktop>
References: <e9dadd96aa5b64b9232e10a083ce393af620adde.1639472078.git.oleksii_moisieiev@epam.com> <alpine.DEB.2.22.394.2112171709140.2060010@ubuntu-linux-20-04-desktop> <20211220181215.GA1702335@EPUAKYIW015D> <alpine.DEB.2.22.394.2112201613210.2060010@ubuntu-linux-20-04-desktop>
 <20211221200305.GA2460476@EPUAKYIW015D> <alpine.DEB.2.22.394.2112211310000.2060010@ubuntu-linux-20-04-desktop> <20211222110414.GA2883815@EPUAKYIW015D> <alpine.DEB.2.22.394.2112221627190.2060010@ubuntu-linux-20-04-desktop> <20220119120400.GA3779126@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2201191644400.19362@ubuntu-linux-20-04-desktop> <20220120102147.GA4153317@EPUAKYIW015D>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 20 Jan 2022, Oleksii Moisieiev wrote:
> On Wed, Jan 19, 2022 at 05:28:21PM -0800, Stefano Stabellini wrote:
> > On Wed, 19 Jan 2022, Oleksii Moisieiev wrote:
> > > On Wed, Dec 22, 2021 at 06:23:24PM -0800, Stefano Stabellini wrote:
> > > > On Wed, 22 Dec 2021, Oleksii Moisieiev wrote:
> > > > > On Tue, Dec 21, 2021 at 01:22:50PM -0800, Stefano Stabellini wrote:
> > > > > > On Tue, 21 Dec 2021, Oleksii Moisieiev wrote:
> > > > > > > Hi Stefano,
> > > > > > >
> > > > > > > On Mon, Dec 20, 2021 at 04:52:01PM -0800, Stefano Stabellini wrote:
> > > > > > > > On Mon, 20 Dec 2021, Oleksii Moisieiev wrote:
> > > > > > > > > Hi Stefano,
> > > > > > > > >
> > > > > > > > > On Fri, Dec 17, 2021 at 06:14:55PM -0800, Stefano Stabellini wrote:
> > > > > > > > > > On Tue, 14 Dec 2021, Oleksii Moisieiev wrote:
> > > > > > > > > > > This is the implementation of SCI interface, called SCMI-SMC driver,
> > > > > > > > > > > which works as the mediator between XEN Domains and Firmware (SCP, ATF etc).
> > > > > > > > > > > This allows devices from the Domains to work with clocks, resets and
> > > > > > > > > > > power-domains without access to CPG.
> > > > > > > > > > >
> > > > > > > > > > > The following features are implemented:
> > > > > > > > > > > - request SCMI channels from ATF and pass channels to Domains;
> > > > > > > > > > > - set device permissions for Domains based on the Domain partial
> > > > > > > > > > > device-tree. Devices with permissions are able to work with clocks,
> > > > > > > > > > > resets and power-domains via SCMI;
> > > > > > > > > > > - redirect scmi messages from Domains to ATF.
> > > > > > > > > > >
> > > > > > > > > > > Signed-off-by: Oleksii Moisieiev <oleksii_moisieiev@epam.com>
> > > > > > > > > > > ---
> > > > > > > > > > >  xen/arch/arm/Kconfig          |   2 +
> > > > > > > > > > >  xen/arch/arm/sci/Kconfig      |  10 +
> > > > > > > > > > >  xen/arch/arm/sci/Makefile     |   1 +
> > > > > > > > > > >  xen/arch/arm/sci/scmi_smc.c   | 795 ++++++++++++++++++++++++++++++++++
> > > > > > > > > > >  xen/include/public/arch-arm.h |   1 +
> > > > > > > > > > >  5 files changed, 809 insertions(+)
> > > > > > > > > > >  create mode 100644 xen/arch/arm/sci/Kconfig
> > > > > > > > > > >  create mode 100644 xen/arch/arm/sci/scmi_smc.c
> > > > > > > > > > >
> > > > > > > > > > > diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> > > > > > > > > > > index 186e1db389..02d96c6cfc 100644
> > > > > > > > > > > --- a/xen/arch/arm/Kconfig
> > > > > > > > > > > +++ b/xen/arch/arm/Kconfig
> > > > > > > > > > > @@ -114,6 +114,8 @@ config SCI
> > > > > > > > > > >  	  support. It allows guests to control system resourcess via one of
> > > > > > > > > > >  	  SCI mediators implemented in XEN.
> > > > > > > > > > >
> > > > > > > > > > > +source "arch/arm/sci/Kconfig"
> > > > > > > > > > > +
> > > > > > > > > > >  endmenu
> > > > > > > > > > >
> > > > > > > > > > >  menu "ARM errata workaround via the alternative framework"
> > > > > > > > > > > diff --git a/xen/arch/arm/sci/Kconfig b/xen/arch/arm/sci/Kconfig
> > > > > > > > > > > new file mode 100644
> > > > > > > > > > > index 0000000000..9563067ddc
> > > > > > > > > > > --- /dev/null
> > > > > > > > > > > +++ b/xen/arch/arm/sci/Kconfig
> > > > > > > > > > > @@ -0,0 +1,10 @@
> > > > > > > > > > > +config SCMI_SMC
> > > > > > > > > > > +	bool "Enable SCMI-SMC mediator driver"
> > > > > > > > > > > +	default n
> > > > > > > > > > > +	depends on SCI
> > > > > > > > > > > +	---help---
> > > > > > > > > > > +
> > > > > > > > > > > +	Enables mediator in XEN to pass SCMI requests from Domains to ATF.
> > > > > > > > > > > +	This feature allows drivers from Domains to work with System
> > > > > > > > > > > +	Controllers (such as power,resets,clock etc.). SCP is used as transport
> > > > > > > > > > > +	for communication.
> > > > > > > > > > > diff --git a/xen/arch/arm/sci/Makefile b/xen/arch/arm/sci/Makefile
> > > > > > > > > > > index 837dc7492b..67f2611872 100644
> > > > > > > > > > > --- a/xen/arch/arm/sci/Makefile
> > > > > > > > > > > +++ b/xen/arch/arm/sci/Makefile
> > > > > > > > > > > @@ -1 +1,2 @@
> > > > > > > > > > >  obj-y += sci.o
> > > > > > > > > > > +obj-$(CONFIG_SCMI_SMC) += scmi_smc.o
> > > > > > > > > > > diff --git a/xen/arch/arm/sci/scmi_smc.c b/xen/arch/arm/sci/scmi_smc.c
> > > > > > > > > > > new file mode 100644
> > > > > > > > > > > index 0000000000..2eb01ea82d
> > > > > > > > > > > --- /dev/null
> > > > > > > > > > > +++ b/xen/arch/arm/sci/scmi_smc.c
> > > > > > > > > > > @@ -0,0 +1,795 @@
> > > > > > > > > > > +/*
> > > > > > > > > > > + * xen/arch/arm/sci/scmi_smc.c
> > > > > > > > > > > + *
> > > > > > > > > > > + * SCMI mediator driver, using SCP as transport.
> > > > > > > > > > > + *
> > > > > > > > > > > + * Oleksii Moisieiev <oleksii_moisieiev@epam.com>
> > > > > > > > > > > + * Copyright (C) 2021, EPAM Systems.
> > > > > > > > > > > + *
> > > > > > > > > > > + * This program is free software; you can redistribute it and/or modify
> > > > > > > > > > > + * it under the terms of the GNU General Public License as published by
> > > > > > > > > > > + * the Free Software Foundation; either version 2 of the License, or
> > > > > > > > > > > + * (at your option) any later version.
> > > > > > > > > > > + *
> > > > > > > > > > > + * This program is distributed in the hope that it will be useful,
> > > > > > > > > > > + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> > > > > > > > > > > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> > > > > > > > > > > + * GNU General Public License for more details.
> > > > > > > > > > > + */
> > > > > > > > > > > +
> > > > > > > > > > > +#include <asm/sci/sci.h>
> > > > > > > > > > > +#include <asm/smccc.h>
> > > > > > > > > > > +#include <asm/io.h>
> > > > > > > > > > > +#include <xen/bitops.h>
> > > > > > > > > > > +#include <xen/config.h>
> > > > > > > > > > > +#include <xen/sched.h>
> > > > > > > > > > > +#include <xen/device_tree.h>
> > > > > > > > > > > +#include <xen/iocap.h>
> > > > > > > > > > > +#include <xen/init.h>
> > > > > > > > > > > +#include <xen/err.h>
> > > > > > > > > > > +#include <xen/lib.h>
> > > > > > > > > > > +#include <xen/list.h>
> > > > > > > > > > > +#include <xen/mm.h>
> > > > > > > > > > > +#include <xen/string.h>
> > > > > > > > > > > +#include <xen/time.h>
> > > > > > > > > > > +#include <xen/vmap.h>
> > > > > > > > > > > +
> > > > > > > > > > > +#define SCMI_BASE_PROTOCOL                  0x10
> > > > > > > > > > > +#define SCMI_BASE_PROTOCOL_ATTIBUTES        0x1
> > > > > > > > > > > +#define SCMI_BASE_SET_DEVICE_PERMISSIONS    0x9
> > > > > > > > > > > +#define SCMI_BASE_RESET_AGENT_CONFIGURATION 0xB
> > > > > > > > > > > +#define SCMI_BASE_DISCOVER_AGENT            0x7
> > > > > > > > > > > +
> > > > > > > > > > > +/* SCMI return codes. See section 4.1.4 of SCMI spec (DEN0056C) */
> > > > > > > > > > > +#define SCMI_SUCCESS              0
> > > > > > > > > > > +#define SCMI_NOT_SUPPORTED      (-1)
> > > > > > > > > > > +#define SCMI_INVALID_PARAMETERS (-2)
> > > > > > > > > > > +#define SCMI_DENIED             (-3)
> > > > > > > > > > > +#define SCMI_NOT_FOUND          (-4)
> > > > > > > > > > > +#define SCMI_OUT_OF_RANGE       (-5)
> > > > > > > > > > > +#define SCMI_BUSY               (-6)
> > > > > > > > > > > +#define SCMI_COMMS_ERROR        (-7)
> > > > > > > > > > > +#define SCMI_GENERIC_ERROR      (-8)
> > > > > > > > > > > +#define SCMI_HARDWARE_ERROR     (-9)
> > > > > > > > > > > +#define SCMI_PROTOCOL_ERROR     (-10)
> > > > > > > > > > > +
> > > > > > > > > > > +#define DT_MATCH_SCMI_SMC DT_MATCH_COMPATIBLE("arm,scmi-smc")
> > > > > > > > > > > +
> > > > > > > > > > > +#define SCMI_SMC_ID                        "arm,smc-id"
> > > > > > > > > > > +#define SCMI_SHARED_MEMORY                 "linux,scmi_mem"
> > > > > > > > > >
> > > > > > > > > > I could find the following SCMI binding in Linux, which describes
> > > > > > > > > > the arm,scmi-smc compatible and the arm,smc-id property:
> > > > > > > > > >
> > > > > > > > > > Documentation/devicetree/bindings/firmware/arm,scmi.yaml
> > > > > > > > > >
> > > > > > > > > > However, linux,scmi_mem is not described. Aren't you supposed to read
> > > > > > > > > > the "shmem" property instead? And the compatible string used for this
> > > > > > > > > > seems to be "arm,scmi-shmem".
> > > > > > > > > >
> > > > > > > > >
> > > > > > > > > We use linux,scmi_mem node to reserve memory, needed for all
> > > > > > > > > channels:
> > > > > > > > >
> > > > > > > > > reserved-memory {
> > > > > > > > >     /* reserved region for scmi channels*/
> > > > > > > > >     scmi_memory: linux,scmi_mem@53FF0000 {
> > > > > > > > >         no-map;
> > > > > > > > >         reg = <0x0 0x53FF0000 0x0 0x10000>;
> > > > > > > > >     };
> > > > > > > > > };
> > > > > > > > >
> > > > > > > > > arm,scmi-shmem node used in shmem property defines only 1 page needed to
> > > > > > > > > the current scmi channel:
> > > > > > > > >
> > > > > > > > > cpu_scp_shm: scp-shmem@0x53FF0000 {
> > > > > > > > >     compatible = "arm,scmi-shmem";
> > > > > > > > >     reg = <0x0 0x53FF0000 0x0 0x1000>;
> > > > > > > > > };
> > > > > > > > >
> > > > > > > > > For each Domain reg points to unigue page from linux,scmi_mem region,
> > > > > > > > > assigned to this agent.
> > > > > > > >
> > > > > > > > If we were to use "linux,scmi_mem" we would have to introduce it as a
> > > > > > > > compatible string, not as a node name, and it would need to be described
> > > > > > > > in Documentation/devicetree/bindings/firmware/arm,scmi.yaml.
> > > > > > > >
> > > > > > > > But from your description I don't think it is necessary. We can just use
> > > > > > > > "arm,scmi-shmem" to describe all the required regions:
> > > > > > > >
> > > > > > > > reserved-memory {
> > > > > > > >     scp-shmem@0x53FF0000 {
> > > > > > > >         compatible = "arm,scmi-shmem";
> > > > > > > >         reg = <0x0 0x53FF0000 0x0 0x1000>;
> > > > > > > >     };
> > > > > > > >     scp-shmem@0x53FF1000 {
> > > > > > > >         compatible = "arm,scmi-shmem";
> > > > > > > >         reg = <0x0 0x53FF1000 0x0 0x1000>;
> > > > > > > >     };
> > > > > > > >     scp-shmem@0x53FF2000 {
> > > > > > > >         compatible = "arm,scmi-shmem";
> > > > > > > >         reg = <0x0 0x53FF2000 0x0 0x1000>;
> > > > > > > >     };
> > > > > > > >     ...
> > > > > > > >
> > > > > > > > In other words, if all the individual channel pages are described as
> > > > > > > > "arm,scmi-shmem", why do we also need a single larger region as
> > > > > > > > "linux,scmi_mem"?
> > > > > > > >
> > > > > > >
> > > > > > > That was my first implementation. But I've met a problem with
> > > > > > > scmi driver in kernel. I don't remember the exact place, but I remember
> > > > > > > there were some if, checking if memory weren't reserved.
> > > > > > > That's why I ended up splitting nodes reserved memory region and actual
> > > > > > > shmem page.
> > > > > > > For linux,scmi_mem node I took format from /reserved-memory/linux,lossy_decompress@54000000,
> > > > > > > which has no compatible string and provides no-map property.
> > > > > > > linux,scmi_shmem node is needed to prevent xen from allocating this
> > > > > > > space for the domain.
> > > > > > >
> > > > > > > Very interesting question about should I introduce linux,scmi_mem node
> > > > > > > and scmi_devid property to the
> > > > > > > Documentation/devicetree/bindings/firmware/arm,scmi.yaml?
> > > > > > > Those node and property are needed only for Xen and useless for
> > > > > > > non-virtualized systems. I can add this node and property description to
> > > > > > > arm,scmi.yaml, but leave a note that this is Xen specific params.
> > > > > > > What do you think about it?
> > > > > >
> > > > > > Reply below
> > > > > >
> > > > > > [...]
> > > > > >
> > > > > >
> > > > > > > > In general we can't use properties that are not part of the device tree
> > > > > > > > spec, either https://urldefense.com/v3/__https://www.devicetree.org/specifications/__;!!GF_29dbcQIUBPA!kNodtgmOQBc1iO76_6vTK-O1SoLxee_ChowYQiQYC595rMOsrnmof2zmk7BnhXCSnJPN$ [devicetree[.]org] or
> > > > > > > > https://urldefense.com/v3/__https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings__;!!GF_29dbcQIUBPA!kNodtgmOQBc1iO76_6vTK-O1SoLxee_ChowYQiQYC595rMOsrnmof2zmk7BnhXloYUaj$ [git[.]kernel[.]org]
> > > > > > > >
> > > > > > > > "linux,scmi_mem" is currently absent. Are you aware of any upstreaming
> > > > > > > > activities to get "linux,scmi_mem" upstream under
> > > > > > > > Documentation/devicetree/bindings in Linux?
> > > > > > > >
> > > > > > > > If "linux,scmi_mem" is going upstream in Linux, then we could use it.
> > > > > > > > Otherwise, first "linux,scmi_mem" needs to be added somewhere under
> > > > > > > > Documentation/devicetree/bindings (probably
> > > > > > > > Documentation/devicetree/bindings/firmware/arm,scmi.yaml), then we can
> > > > > > > > work on the Xen code that makes use of it.
> > > > > > > >
> > > > > > > > Does it make sense?
> > > > > > > >
> > > > > > >
> > > > > > > Yes I agree. I think linux,scmi_mem and scmi_devid should be upstreamed.
> > > > > > > I will add those properties to arm,scmi.yaml, mark them as related to XEN and send patch.
> > > > > >
> > > > > > I didn't realize that linux,scmi_mem and scmi_devid are supposed to be
> > > > > > Xen specific. In general, it would be best not to introduce Xen specific
> > > > > > properties into generic bindings. It is a problem both from a
> > > > > > specification perspective (because it has hard to handle Xen specific
> > > > > > cases in fully generic bindings, especially as those bindings are
> > > > > > maintained as part of the Linux kernel) and from a user perspective
> > > > > > (because now the user has to deal with a Xen-specific dtb, or has to
> > > > > > modify the host dtb to add Xen-specific information by hand.)
> > > > > >
> > > > > >
> > > > > > Let me start from scmi_devid.  Why would scmi_devid be Xen-specific? It
> > > > > > looks like a generic property that should be needed for the Linux SCMI
> > > > > > driver too. Why the Linux driver doesn't need it?
> > > > > >
> > > > >
> > > > > scmi_devid used during domain build. It passed as input parameter for SCMI_BASE_SET_DEVICE_PERMISSIONS message.
> > > > > On non-virtualized systems - there is no need of this call, because OS
> > > > > is the only one entity, running on the system.
> > > >
> > > > OK. Even if it is only required for virtualized systems, I think that
> > > > scmi_devid is important enough that should be part of the upstream
> > > > binding. I think it is worth starting an email thread on the LKML with
> > > > Rob Herring and the SCMI maintainers to discuss the addition of
> > > > scmi_devid to the binding.
> > > >
> > > >
> > > > > I've chatted with Volodymyr_Babchuk and he gave a great idea to add a
> > > > > list of device_ids to dom.cfg, such as:
> > > > > sci_devs = [ 0, 1, 15, 35 ];
> > > > >
> > > > > Using this approach, we can remove scmi_devid from the device tree and
> > > > > just pass a list of scmi_devids to XEN using additional hypercall.
> > > > > We can probably make hypercall taking devid list as input parameter.
> > > > > This will take only 1 hypercall to setup sci permissions.
> > > >
> > > > But how would a user know which are the right SCMI IDs to add to the
> > > > sci_devs list? Would the user have to go and read the reference manual
> > > > of the platform to find the SCMI IDs and then write sci_devs by hand?
> > > > If that is the case, then I think that it would be better to add
> > > > scmi_devid to device tree.
> > > >
> > > > In general, I think this configuration should happen automatically
> > > > without user intervention. The user should just specify "enable SCMI"
> > > > and it should work.
> > > >
> > > >
> > > > > > In regards to linux,scmi_mem, I think it would be best to do without it
> > > > > > and fix the Linux SCMI driver if we need to do so. Xen should be able to
> > > > > > parse the native "arm,scmi-shmem" nodes and Linux (dom0 or domU) should
> > > > > > be able to parse the "arm,scmi-shmem" nodes generated by Xen. Either
> > > > > > way, I don't think we should need linux,scmi_mem.
> > > > >
> > > > > This requires further investigation. I will try to make implementation
> > > > > without linux,scmi_mem, using only arm,scmi-shmem nodes and share
> > > > > reuslts with you.
> > > >
> > > > OK, thanks.
> > >
> > > Hi Stefano,
> > >
> > > As I did some investigation about using reserved-memory area
> > > linux,scmi_mem and now I need your advice.
> > >
> > > I see 2 possible implementations for now:
> > > 1) Add memory-region parameter to cpu_scp_shm node which points to the
> > > reserved memory region.
> > > So device-tree will look like this:
> > >
> > > 	reserved-memory {
> > > 		/* reserved region for scmi channels*/
> > > 		scmi_memory: region@53FF0000{
> > > 			no-map;
> > > 			reg = <0x0 0x53FF0000 0x0 0x10000>;
> > > 		};
> > > 	};
> > > 	cpu_scp_shm: scp-shmem@0x53FF0000 {
> > > 		compatible = "arm,scmi-shmem";
> > > 		reg = <0x0 0x53FF0000 0x0 0x1000>;
> > > 		memory-region = <&scmi_memory>;
> > > 	};
> > >
> > > So cpu_scp_shm node has a reference to scmi_memory region. This mean
> > > that xen can find reserved memory region without adding additional names
> > > to the device-tree bindings.
> > > memory-region parameter as a reference to reserved memory and region
> > > creation described in:
> > > https://urldefense.com/v3/__https://github.com/torvalds/linux/blob/v5.15/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt__;!!GF_29dbcQIUBPA!k6x19x1gYF1CPlgAZj7std3ifqhq-9DXvuF0nwonNPUwMzZpYHYbrRJziJrgdFIOjyan$ [github[.]com]
> > >
> > > This approach I've implemented already and it works.
> >
> > This approach would require a discussion with the upstream device tree
> > maintainers. Likely, we would need to add a note about the usage of the
> > "memory-region" property to arm,scmi.yaml.
> >
> > Also, I have the feeling that they would ask to add the "memory-region"
> > property directly to the "arm,scmi-smc" node, as an alternative (or
> > in addition) to the existing "shmem" property.
> >
> > That said, from my point of view this approach is also a viable option.
> > I don't see any major problems.
> >
> > The main question (after reading everything else that you wrote below)
> > is whether the "arm,scmi-smc" node in this case could be automatically
> > generated.
> >
> 
> arm,scmi-smc node can be generated in both cases. I think I'd leave it
> as backup in case if the second approach will not work.
> 
> >
> > > 2) The second approach is the format you suggested:
> > > > > > > > reserved-memory {
> > > > > > > >     scp-shmem@0x53FF0000 {
> > > > > > > >         compatible = "arm,scmi-shmem";
> > > > > > > >         reg = <0x0 0x53FF0000 0x0 0x1000>;
> > > > > > > >     };
> > > > > > > >     scp-shmem@0x53FF1000 {
> > > > > > > >         compatible = "arm,scmi-shmem";
> > > > > > > >         reg = <0x0 0x53FF1000 0x0 0x1000>;
> > > > > > > >     };
> > > > > > > >     scp-shmem@0x53FF2000 {
> > > > > > > >         compatible = "arm,scmi-shmem";
> > > > > > > >         reg = <0x0 0x53FF2000 0x0 0x1000>;
> > > > > > > >     };
> > > > > > > >     ...
> > >
> > > This approach has an advantage that xen ARM_SCI driver do not know about
> > > how channels are placed in the reserved memory, but introduces some
> > > disadvantages:
> > > a) We provide extra 14 (in our case) arm,scmi-shmem nodes which are not used
> > > in the device-tree. In current implementation I have separate scmi.dtsi
> > > file which introduces scmi support for both XEN-based and
> > > non-virtualized systems. Having 14 extra channels in the device-tree may
> > > be confusing.
> >
> > I can see that while it would be ideal for Xen to see all 14+1 channels
> > in device tree (on the host device tree), we wouldn't want to expose all
> > of them to the domains, not even to dom0.
> >
> > How many channels do we want dom0 to see by the way? For this
> > discussion, I'll just assume for now that dom0 only sees 1 channel like
> > the domUs.
> 
> For dom0 we need only one channel.
> 
> >
> > Now we have a problem: how do we go about "filtering" the
> > "arm,scmi-shmem" device tree nodes? Which is also what you are asking
> > below in point b).
> >
> 
> Xen will not need to filter "arm,scmi-shmem" node. It will just
> create shmem node in Domain device-tree. I don't see any problem for xen
> configuration here.
> What bothers me here is that I set scmi configuration for platform dts,
> not for xen or domu dts files.
> So for example I have the following structure of the dts files for my
> platform (r8a77961-salvator-xs):
>  * r8a77961-scmi.dtsi - this file includes all scmi related nodes and set
> scmi_devid for the devices, that should use scmi.
>  * r8a77961-salvator-xs.dts - dts file which generates dtb for the platform.
> It includes r8a77961-scmi.dtsi so I populate scmi to platform dtb, which
> is used for system with no hypervisor.
>  * r8a77961-salvator-xs-xen.dts - dts file for xen which includes
> r8a77961-salvator-xs.dts and inherits scmi configuration from it.
>  * r8a77961-salvator-xs-domu.dts - dts file for DomU which includes
> r8a77961-salvator-xs.dts and inherits scmi configuration from it.
> 
> In this case r8a77961-salvator-xs.dtb r8a77961-salvator-xs-xen.dtb
> r8a77961-salvator-xs-domu.dtb files will inherit 14+1 channel.
> 
> I can give you a link to Merge request with this changes if you need it.
> 
> For xen and domu dtb it is not a problem because all "arm,scmi-shmem"
> nodes will be omitted and new will be generated for the domains.
> 
> What bothers me is that r8a77961-salvator-xs.dtb will have 14 unused channels.
> 
> Just got an idea while writing this: I can create only one
> "arm,scmi-shmem" node in r8a77961-scmi.dtsi and add 14 more nodes,
> needed for xen explicitly in r8a77961-salvator-xs-xen.dts.
> 
> Then we will have valid configurations for all cases.
> This can be a solution. What do you think?

It is good that you brought this up because it helps me explain what I
mean. And of course it is up to you where you place the nodes in the
various dts files at your disposal. Either way it would work but I think
they should belong to r8a77961-salvator-xs.dts.

Generally the platform vendor (e.g. Xilinx) provides a device tree
description of the platform to use including all the available resources
and firmware interfaces. In your case it would be r8a77961-scmi.dtsi +
r8a77961-salvator-xs.dts. This is what I call the "host device tree"
below. Users should be able to boot a fully functional system using the
host device tree pretty much "as is" to run Xen, Linux or any other
software.

Certainly the SCMI device tree description should be part of the host
device tree, so in your case it would be r8a77961-salvator-xs.dts. And
the description should include all 14+1 channels because this is the
generic platform description -- we cannot know for sure how the users
are going to use the system.

This is why r8a77961-salvator-xs-xen.dts should be as small as possible
or ideally inexistent. There shouldn't be a need for a special device
tree modification to allow Xen to run. In reality, even at Xilinx we
have something like r8a77961-salvator-xs-xen.dts, although it is really
small.

But I see that r8a77961-salvator-xs-xen.dts could be viewed as the
device tree additions to run hypervisors and from that point of view it
is more acceptable to place the 14 channels there.

The biggest problem is r8a77961-salvator-xs-domu.dts: who is going to
write it? And how? It wouldn't be provided by the platform vendor, so it
is the user the one that has to find a way to write it.

I know the user already has to write a partial DTB for device
assignment, but any time the process is more complex than "copy the host
device tree node for device XXX to the partial DTB" it is a problem.
Errors are made and the system doesn't work.

I think we don't want to make it even more difficult by having to
manually produce the SCMI domU description too. The SCMI description for
domU could be automatically generated by Xen, or libxl/xl. If that's an
issue, then the SCMI description could be automatically generated by an
external tool but I think it would make things more complex and harder
to maintain.

In short my point of view is:
- r8a77961-scmi.dtsi + r8a77961-salvator-xs.dts should be as generic as
  possible so the SCMI nodes should have 14+1 channels
- but putting the 14 channels in r8a77961-salvator-xs-xen.dts is still
  OKish
- it is important that r8a77961-salvator-xs-domu.dts is automatically
  generated by Xen or libxl or another software tool


> > > b) In case if we have all 15 channels, described in partial device-tree,
> >
> > I think you meant "described in the host device tree", right?
> >
> Yeah that's what I've meant.
> >
> > > we should not copy any node to the domain device-tree. I think it will
> > > be better to generate arm,scmi-shmem node in the Domain device-tree.
> >
> > Yes, I think it makes sense for Xen to generate the "arm,scmi-shmem"
> > device tree description for the DomU/Dom0 based on the channels
> > allocated to the domain.
> >
> >
> > > The problem is that arm,scmi-smc node, which is using arm,scmi-shmem
> > > node can't be generated. I prefer it to be copied from the partial
> > > device-tree because it includes some platform specific configuration,
> > > such as func-id and list of the protocols (for example different
> > > platforms may require different list of the protocols). So in this
> > > case we will have 1 node copied and 1 node generated.
> > >
> > > I think even for dom0less we should use arm,scmi-smc node from the
> > > device-tree because protocol configuration and funcid is related to the
> > > platform.
> >
> > I am not sure I understood what you wrote. You are saying that the
> > "arm,scmi-smc" node includes some platform specific configurations so
> > it cannot be automatically generated by Xen (or by the tools) and
> > instead it needs to be manually provided as part of the partial dtb for
> > the domU. Is that correct?
> >
> > If so, I would like to understand the reasons behind it. Manual
> > device tree editing is problematic.
> >
> > I looked for "func-id" in
> > Documentation/devicetree/bindings/firmware/arm,scmi.yaml but couldn't
> > find any results. Do you have an example of the platform specific
> > configuration or protocol configuration that would make it difficult to
> > automatically generate the "arm,scmi-smc" node for the domains?
> 
> Sorry, I used wrong term (used term from the specification), arm,smc-id
> of cause.
> 
> >
> > Also, is this a problem just for approach #2 or also for approach #1?
> > If it is a problem only for approach #2, then let's just go with
> > approach #1.
> >
> 
> We can't copy "arm,scmi-smc" in both approaches. The difference is that
> in the first approach we can copy both "arm,scmi-smc" and
> "arm,scmi-shmem" nodes while in the second approach we should copy
> "arm,scmi-smc", but we have to generate "arm,scmi-shmem" node.
> 
> arm,scmi-smc node can't be generated because it includes properties and
> configurations that depends from platform and should be get from the
> device tree.
> Here is "arm,scmi-smc" node expample:
> firmware {
>     scmi {
>         compatible = "arm,scmi-smc"
>         arm,smc-id = <0x82000002>;
>         shmem = <&cpu_scp_shm>;
>         #address-cells = <1>;
>         #size-cells = <0>;
>         scmi_power: protocol@11 {
>             reg = <0x11>;
>             #power-domain-cells = <1>;
>         };
> 
>         scmi_clock: protocol@14 {
>             ...
>         };
> 
>         scmi_reset: protocol@16 {
>             ...
>         };
>         ...
>     };
> };
> 
> It has 3 configurable options:
>  * arm,smc-id parameter, setting func_id for scmi protocol. This id can be
> different for different platforms.
> For example stm32mp1 architecture use different scm-id for different
> agents:
> https://github.com/ARM-software/arm-trusted-firmware/blob/0586c41b3f2d52aae847b7212e7b0c7e19197ea2/plat/st/stm32mp1/include/stm32mp1_smc.h#L39
> 
>  * shmem which includes phandle to arm,scmi-shmem node. But this is not
> a problem and can be updated.
> 
>  * list of the protocol subnodes. This is also configurable parameter,
> not regs or names, but the number of the protocols. For example onle
> platform can use power-domains/clock/resets via scmi, when another will
> require volage-control and sensor-management to be added.
> 
> Xen should know this parameters to be able to generate "arm,scmi-smc" node.
> 
> Also we're currently discussing new scmi protocol with ARM: Pinctrl over
> SCMI.
> 
> It should allow domains to access pinctrl subsystem, placed in Firmware
> through SCMI protocol.
> scmi_pinctrl node will look like this:
> 
> 	firmware {
> 		scmi {
> 			...
> 			scmi_pinctrl: protocol@18 {
> 				reg = <0x18>;
> 				#pinctrl-cells = <0>;
> 
> 				i2c2_pins: i2c2 {
> 					groups = <74>; /* i2c2_a */
> 					function = <15>; /* i2c2 */
> 				};
> 
> 				irq0_pins: irq0 {
> 					groups = <81>; /* intc_ex_irq0 */
> 					function = <19>; /* intc_ex */
> 				};
> 
> 				avb_pins: avb {
> 					mux {
> 						/* avb_link, avb_mdio, avb_mii */
> 						groups = <17>, <21>, <22>;
> 						function = <1>; /* avb */
> 					};
> 
> 					pins_mdio {
> 						groups = <21>; /* avb_mdio */
> 						drive-strength = <24>;
> 					};
> 
> 					pins_mii_tx {
> 						/* PIN_AVB_TX_CTL, PIN_AVB_TXC, PIN_AVB_TD0,
> 						       PIN_AVB_TD1, PIN_AVB_TD2, PIN_AVB_TD3 */
> 						pins = <242>, <240>, <236>, <237>, <238>, <239>;
> 						drive-strength = <12>;
> 					};
> 				};
> 				...
> 			};
> 		};
> 	};
> 
> So "arm,scmi-smc" node will have even more platform specific settings.
> 
> >
> > > I prefer the second approach and will try to make it if it's OK to copy
> > > arm,scmi-smc node from partial Device-tree and generate arm,scmi-shmem
> > > node.
> > >
> > > What do you think about that?
> >
> > From a device tree specification perspective, I think both approaches
> > are OK (with a minor comment on the first approach as I wrote above.)
> >
> > But from a Xen perspective I think it is important that we don't require
> > the user to manually provide the SCMI configuration in the partial DTB.
> > It would be better if we could generate it automatically from Xen or the
> > tools (or even an independent script). Or copy the "arm,scmi-smc" node
> > from the host device tree to the domU device tree without modifications.
> 
> I think copy "arm,scmi-smc" node is the only option we have.
> I'm not sure what do you mean under "host device tree" if you mean Xen
> device-tree - then I think it will not cover the case with stm32mp1 I've
> mentioned above. I think it will be better to copy "arm,scmi-smc" node
> from Domu partial Device-tree to Domu device-tree.
> So AGENT0 smc-id will be set in xen device-tree and copied to dom0 and
> AGENT1 scm-is set in domu device-tree and copied to dom-u.
> 
> Do you agree with my points?

I think we are saying similar things, but we are getting mixed up with
the terminology. Let's start from the basics :-)

# Host device tree
The device tree given to Xen at boot time. This is the device tree that
Xen parses to discover what's available on the platform. In your case,
it seems to include r8a77961-salvator-xs-xen.dts.

# Partial DTB
(Ignoring Dom0less) this is the small DTB that gets passed to xl with
the "device_tree" option in the xl config file. It is copied verbatim
to the domU device tree by xl/libxl.

# Copy the "arm,scmi-smc" node from host device tree
This means that the domU "arm,scmi-smc" node is an exact copy of the
host device tree SCMI node. I don't think this is actually possible in
most cases because the domU description is typically a bit different
from the host description. For instance, the host description could
include 14+1 channels while the domU description should only include 1
channel.

# Copy the "arm,scmi-smc" node from the partial DTB
This implies that somebody or something create an "arm,scmi-smc" node
for the domU and placed it into the partial DTB. Then, Xen and/or
xl/libxl will copy the node from the partial DTB to the DomU device
tree. The main question in this case is: who is going to write the
partial DTB? We dont want the user (i.e. a person) to have to manually
write the SCMI description for the domU. It should be an automated tools
that does it. At that point, it is easier if it is Xen or xl/libxl.
Alternativaly, we could think of an external tool but I think it would
make things more difficult to maintain.

# Generate the "arm,scmi-smc" node for domUs
When I write "generate the arm,scmi-smc node", I mean that Xen and
libxl/xl will generate the "arm,scmi-smc" node for the domU. Thus, the
node will not be copied from the partial DTB or from the device tree,
instead, it should be created directly by Xen and/or libxl/xl.

However, the domU "arm,scmi-smc" node could still be derived from the
host device tree "arm,scmi-smc" node. In other words, Xen or xl/libxl
would look at the host device tree "arm,scmi-smc" node, copy it to the
domU device tree while making as many changes as necessary.

The DomU "arm,scmi-smc" node doesn't have to be entirely fake and
static. It could be dynamically created to match the host device tree
description. I think this is the best option.


# Conclusion
I am suggesting that Xen and/or libxl automatically produce the
"arm,scmi-smc" node for domUs based on the host device tree description
and based on the channel mapped to the domU. This way, the user (a
person) doesn't have to go and manually edit the domU partial DTB.


> > So if using approach #1 allows us to automatically generate the
> > "arm,scmi-smc" node for the guest, then I think it's best for sure.
> >
> 
> Summarizing all written above I would focus on the second approach
> and put aside the first approach implementation. If you don't mind.

Sure, that's fine by me


> > > Also I wanted to mention that I'm not planning to make ARM_SCI support for
> > > dom0less in terms of this patch series bacause I can't test
> > > dom0less configuration for now. So let me know if some of my
> > > functionality breaks dom0less.
> >
> > That's fine. I don't mean to scope-creep your patch series, which is
> > extremely valuable as is.
> >
> > That said, I would be happy to provide you with a very simple dom0less
> > configuration for your platform to enable you to test, or alternatively
> > I could write a patch to add dom0less domU support if you are happy to
> > help reviewing and testing it.
> 
> I was thinking about making dom0less support in the different
> patch-series because there are still questions to be discussed.
> 
> For example, how arm,scmi-smc node will be generated for DomUs and how
> the case, when scmi configuration is different for DomU1 and DomU2 (as
> in case of stm32mp1 when smc-id is different) should be handled.
> 
> What do you think about continue without dom0less support and discuss
> dom0less once we done with the main part?

That's OK, especially if you are happy to work on dom0less support
later.


From xen-devel-bounces@lists.xenproject.org Thu Jan 20 22:59:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 20 Jan 2022 22:59:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259189.447196 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAgOg-0006Wp-JS; Thu, 20 Jan 2022 22:59:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259189.447196; Thu, 20 Jan 2022 22:59: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 1nAgOg-0006Wi-G2; Thu, 20 Jan 2022 22:59:14 +0000
Received: by outflank-mailman (input) for mailman id 259189;
 Thu, 20 Jan 2022 22:59: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 1nAgOf-0006WY-RQ; Thu, 20 Jan 2022 22:59: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 1nAgOf-00038a-MI; Thu, 20 Jan 2022 22:59: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 1nAgOf-0007Cc-5u; Thu, 20 Jan 2022 22:59:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nAgOf-0002zr-5R; Thu, 20 Jan 2022 22:59:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=thYEJXQfNCfS3E/aQ/r5gWkHUIcKNqDfmscwWiYirvQ=; b=6Oz50AvF4movz0C8Lurb2RnjeB
	4OjIWsYIrzI4DQ05j+kUflrYOo1dxs+CuP8QYDg7RseQnYFmyQHYaN+973nGE7kLyDb58FzYDTM+/
	fviHyI61ccqXPBjE5/MnLA6yG2ipa52jLJGbJu5rE+tMS5OqpirrL0jczhwaV6wyKxQM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167758-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167758: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl: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-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-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw: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-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-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-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-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl: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
X-Osstest-Versions-This:
    linux=fa2e1ba3e9e39072fa7a6a9d11ac432c505b4ac7
X-Osstest-Versions-That:
    linux=455e73a07f6e288b0061dfcf4fcf54fa9fe06458
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 20 Jan 2022 22:59:13 +0000

flight 167758 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167758/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 167684
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 167684
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 167684
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 167684
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 167684
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 167684
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 167684
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 167684
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 167684
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 167684
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 167684
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 167684
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 167684

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167684
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167684
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167684
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167684
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167684
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167684
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-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-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-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-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                fa2e1ba3e9e39072fa7a6a9d11ac432c505b4ac7
baseline version:
 linux                455e73a07f6e288b0061dfcf4fcf54fa9fe06458

Last test of basis   167684  2022-01-13 07:47:42 Z    7 days
Failing since        167693  2022-01-13 22:41:04 Z    7 days   14 attempts
Testing same since   167758  2022-01-20 09:24:35 Z    0 days    1 attempts

------------------------------------------------------------
825 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                                fail    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 70079 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Jan 21 00:03:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 00:03:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259197.447207 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAhOQ-0005QW-KY; Fri, 21 Jan 2022 00:03:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259197.447207; Fri, 21 Jan 2022 00:03:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAhOQ-0005QP-HF; Fri, 21 Jan 2022 00:03:02 +0000
Received: by outflank-mailman (input) for mailman id 259197;
 Fri, 21 Jan 2022 00:03: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 1nAhOO-0005QE-Vx; Fri, 21 Jan 2022 00:03: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 1nAhOO-0004tj-RP; Fri, 21 Jan 2022 00:03: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 1nAhOO-0001uj-AF; Fri, 21 Jan 2022 00:03:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nAhOO-0005nE-9n; Fri, 21 Jan 2022 00:03: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=WVBkpAoGUYrCNkXyZ2ULPhCdYlqiSYK2uFsf/Ylzt9w=; b=keIDUXZiEBM2r2z9WVX9eR5hK4
	RZXbtYvoiStxVv49pij080ZKg8yQAbLvj+oKDFqoOuAC1vEm6UgHoJUQTZJ+DN3Jh4wnwSwwS+7sf
	3f4569mDIOw4TPhEZcW0/XJ1ubFzxDNCpSvQy073+KiTed+rShTA8ag4VAKKt4iG87+g=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167759-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167759: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-armhf-armhf-xl:host-ping-check-xen:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:allowable
    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-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-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-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt: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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-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-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-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-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-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw: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-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=b10d00d8811fa4eed4862963273d7353ce310c82
X-Osstest-Versions-That:
    qemuu=5e0214cdeee17de949f2565f4429c15173179ae3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 21 Jan 2022 00:03:00 +0000

flight 167759 qemu-mainline real [real]
flight 167765 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/167759/
http://logs.test-lab.xenproject.org/osstest/logs/167765/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl          10 host-ping-check-xen fail pass in 167765-retest

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     20 guest-localmigrate/x10   fail REGR. vs. 167751

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl         15 migrate-support-check fail in 167765 never pass
 test-armhf-armhf-xl     16 saverestore-support-check fail in 167765 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167751
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167751
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167751
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167751
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167751
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167751
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167751
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167751
 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-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-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                b10d00d8811fa4eed4862963273d7353ce310c82
baseline version:
 qemuu                5e0214cdeee17de949f2565f4429c15173179ae3

Last test of basis   167751  2022-01-19 19:38:19 Z    1 days
Testing same since   167759  2022-01-20 12:09:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gerd Hoffmann <kraxel@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                                          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-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   5e0214cdee..b10d00d881  b10d00d8811fa4eed4862963273d7353ce310c82 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Fri Jan 21 00:33:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 00:33:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259206.447218 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAhrl-0000GV-9I; Fri, 21 Jan 2022 00:33:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259206.447218; Fri, 21 Jan 2022 00: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 1nAhrl-0000GO-58; Fri, 21 Jan 2022 00:33:21 +0000
Received: by outflank-mailman (input) for mailman id 259206;
 Fri, 21 Jan 2022 00:33:20 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nAhrk-0000GD-5l; Fri, 21 Jan 2022 00:33:20 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nAhrk-0005Pi-1v; Fri, 21 Jan 2022 00:33:20 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nAhrj-0003CV-OT; Fri, 21 Jan 2022 00:33:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nAhrj-00024o-Nz; Fri, 21 Jan 2022 00: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=DXEvH65eilotrHm9ATToT9Dkh0E8MINLvDg+Bis0d6w=; b=lZWk8jn+XzsJpeKV7pOrx9hj6i
	3LHk+7rxs8oGEcSDZYKZa+R22nX7dKzfyUo0lTVEHNm+K75XEzOXYiB8yR2wiyAPwSllPhJOkFJwY
	Z4F6FA9aOf5i1rIaSaddcTtbFXFbR673FrYpbwi8xthjJ7TwCVVzJX6LloBCEsiKDXNU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167764-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 167764: 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=0626219dcc6a4376c1a4b04209d6c15d06e23875
X-Osstest-Versions-That:
    xen=4e1df69cc9f51b2e017af1da3ed5b45917642115
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 21 Jan 2022 00:33:19 +0000

flight 167764 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167764/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   6 xen-build                fail REGR. vs. 167761

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                  0626219dcc6a4376c1a4b04209d6c15d06e23875
baseline version:
 xen                  4e1df69cc9f51b2e017af1da3ed5b45917642115

Last test of basis   167761  2022-01-20 14:00:29 Z    0 days
Testing same since   167764  2022-01-20 20:01:37 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.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 0626219dcc6a4376c1a4b04209d6c15d06e23875
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Mon Jan 17 18:40:50 2022 +0000

    x86/hvm: Drop hvm_{get,set}_guest_bndcfgs() and use {get,set}_regs() instead
    
    hvm_{get,set}_guest_bndcfgs() are thin wrappers around accessing MSR_BNDCFGS.
    
    MPX was implemented on Skylake uarch CPUs and dropped in subsequent CPUs, and
    is disabled by default in Xen VMs.
    
    It would be nice to move all the logic into vmx_msr_{read,write}_intercept(),
    but the common HVM migration code uses guest_{rd,wr}msr().  Therefore, use
    {get,set}_regs() to reduce the quantity of "common" HVM code.
    
    In lieu of having hvm_set_guest_bndcfgs() split out, use some #ifdef
    CONFIG_HVM in guest_wrmsr().  In vmx_{get,set}_regs(), split the switch
    statements into two depending on whether the require remote VMCS acquisition
    or not.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 81f0eaadf84d273a6ff8df3660b874a02d0e7677
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Wed Jan 12 15:47:27 2022 +0000

    x86/spec-ctrl: Fix NMI race condition with VT-x MSR_SPEC_CTRL handling
    
    The logic was based on a mistaken understanding of how NMI blocking on vmexit
    works.  NMIs are only blocked for EXIT_REASON_NMI, and not for general exits.
    Therefore, an NMI can in general hit early in the vmx_asm_vmexit_handler path,
    and the guest's value will be clobbered before it is saved.
    
    Switch to using MSR load/save lists.  This causes the guest value to be saved
    atomically with respect to NMIs/MCEs/etc.
    
    First, update vmx_cpuid_policy_changed() to configure the load/save lists at
    the same time as configuring the intercepts.  This function is always used in
    remote context, so extend the vmx_vmcs_{enter,exit}() block to cover the whole
    function, rather than having multiple remote acquisitions of the same VMCS.
    
    Both of vmx_{add,del}_guest_msr() can fail.  The -ESRCH delete case is fine,
    but all others are fatal to the running of the VM, so handle them using
    domain_crash() - this path is only used during domain construction anyway.
    
    Second, update vmx_{get,set}_reg() to use the MSR load/save lists rather than
    vcpu_msrs, and update the vcpu_msrs comment to describe the new state
    location.
    
    Finally, adjust the entry/exit asm.
    
    Because the guest value is saved and loaded atomically, we do not need to
    manually load the guest value, nor do we need to enable SCF_use_shadow.  This
    lets us remove the use of DO_SPEC_CTRL_EXIT_TO_GUEST.  Additionally,
    SPEC_CTRL_ENTRY_FROM_PV gets removed too, because on an early entry failure,
    we're no longer in the guest MSR_SPEC_CTRL context needing to switch back to
    Xen's context.
    
    The only action remaining is to load Xen's MSR_SPEC_CTRL value on vmexit.  We
    could in principle use the host msr list, but is expected to complicated
    future work.  Delete DO_SPEC_CTRL_ENTRY_FROM_HVM entirely, and use a shorter
    code sequence to simply reload Xen's setting from the top-of-stack block.
    
    Adjust the comment at the top of spec_ctrl_asm.h in light of this bugfix.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 95b13fa43e0753b7514bef13abe28253e8614f62
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Wed Jan 12 16:36:29 2022 +0000

    x86/spec-ctrl: Drop SPEC_CTRL_{ENTRY_FROM,EXIT_TO}_HVM
    
    These were written before Spectre/Meltdown went public, and there was large
    uncertainty in how the protections would evolve.  As it turns out, they're
    very specific to Intel hardware, and not very suitable for AMD.
    
    Drop the macros, opencoding the relevant subset of functionality, and leaving
    grep-fodder to locate the logic.  No change at all for VT-x.
    
    For AMD, the only relevant piece of functionality is DO_OVERWRITE_RSB,
    although we will soon be adding (different) logic to handle MSR_SPEC_CTRL.
    
    This has a marginal improvement of removing an unconditional pile of long-nops
    from the vmentry/exit path.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

commit 6536688439dbca1d08fd6db5be29c39e3917fb2f
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Wed Jan 12 13:52:47 2022 +0000

    x86/msr: Split MSR_SPEC_CTRL handling
    
    In order to fix a VT-x bug, and support MSR_SPEC_CTRL on AMD, move
    MSR_SPEC_CTRL handling into the new {pv,hvm}_{get,set}_reg() infrastructure.
    
    Duplicate the msrs->spec_ctrl.raw accesses in the PV and VT-x paths for now.
    The SVM path is currently unreachable because of the CPUID policy.
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 88d3ff7ab15da277a85b39735797293fb541c718
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Mon Jan 17 12:28:39 2022 +0000

    x86/guest: Introduce {get,set}_reg() infrastructure
    
    Various registers have per-guest-type or per-vendor locations or access
    requirements.  To support their use from common code, provide accessors which
    allow for per-guest-type behaviour.
    
    For now, just infrastructure handling default cases and expectations.
    Subsequent patches will start handling registers using this infrastructure.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Fri Jan 21 01:02:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 01:02:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259216.447238 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAiKH-0005Wr-Fn; Fri, 21 Jan 2022 01:02:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259216.447238; Fri, 21 Jan 2022 01:02:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAiKH-0005Wk-Cm; Fri, 21 Jan 2022 01:02:49 +0000
Received: by outflank-mailman (input) for mailman id 259216;
 Fri, 21 Jan 2022 01:02:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kUv0=SF=oracle.com=boris.ostrovsky@srs-se1.protection.inumbo.net>)
 id 1nAiKG-0005We-8c
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 01:02:48 +0000
Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com
 [205.220.177.32]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d7ad2aa0-7a55-11ec-bc18-3156f6d857e4;
 Fri, 21 Jan 2022 02:02:46 +0100 (CET)
Received: from pps.filterd (m0246630.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 20L04GMG016444; 
 Fri, 21 Jan 2022 01:02:07 GMT
Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71])
 by mx0b-00069f02.pphosted.com with ESMTP id 3dqhydr2dh-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Fri, 21 Jan 2022 01:02:07 +0000
Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1])
 by aserp3030.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 20L111CL030221;
 Fri, 21 Jan 2022 01:02:06 GMT
Received: from nam02-dm3-obe.outbound.protection.outlook.com
 (mail-dm3nam07lp2041.outbound.protection.outlook.com [104.47.56.41])
 by aserp3030.oracle.com with ESMTP id 3dqj059yan-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Fri, 21 Jan 2022 01:02:05 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com (2603:10b6:208:321::10)
 by BY5PR10MB3955.namprd10.prod.outlook.com (2603:10b6:a03:1f7::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.7; Fri, 21 Jan
 2022 01:02:03 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::d914:c494:66ac:a5b1]) by BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::d914:c494:66ac:a5b1%8]) with mapi id 15.20.4909.011; Fri, 21 Jan 2022
 01:02:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d7ad2aa0-7a55-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=message-id : date :
 subject : to : cc : references : from : in-reply-to : content-type :
 content-transfer-encoding : mime-version; s=corp-2021-07-09;
 bh=HZjjEopL7LMZvyWoW3TyPmDK/SZ5ppLw/WPOKrvLsq0=;
 b=vT6dFQyxtYQTGQe16jBFZ/ac3gULJ5yqevJo2J8DaKo09T6JWZhsk+xS0ZvnnL13GAHh
 lCieMizLxxa2/UderkGdSo4QqER0LDX2KnkZQKljL9G/9gkt9pFVMNf3j+Og+SGke/iu
 xqjzg8Z0k7/POA/U/0xabRr4TgstpLZgF6YcwH8UKm5cTtJKskwBFdSCqvWMAxSHnVCY
 VzIGZfjloXFyJfvCbkYTdoV1KsVnqKBiviLx7eX5InBOBmAdpZSxd3tnrOmYgudE5Gvj
 p20RAR7wBE4uG3GT3VlB3Ctl8iQQ1EUaaRuUh18G9d+tP60rocE5xKk7Wx1b+9DT2HwO bA== 
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aHIyXUpVl1uwGMwronkJBYdt5P6eUTR2dP3LnUwL+aQ9s/0YcNN/xCqztY92Ub3o8Ef1jn1DHNErkk7JqwsrS31P7iDRUuiNul1SrCv3CV+GBVf9q2S3ShGVm/Xy4I63OSesN50YBEcaL/hI26JEUZqirmIlnpaKcqLvRdjW9FMy6MVJ7Pzhc5ZuJuOBQk4Pl9q2BK4Aay5v6QFBTlZZYVXtzsYNdjSTtdcsxlR2/GpYH4XU1ROJymaUt55p8mayCvZLhlUpsyhAEcqne5jQfSuMPsK2ywIWQxgzhnFbxfxkokq2I7EVh6kTC+iB1q86fj0tlw0cjFoA0xQ7E3wZew==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HZjjEopL7LMZvyWoW3TyPmDK/SZ5ppLw/WPOKrvLsq0=;
 b=PIHUg+1G0pSP1nk8RJw0oJAqhS+X3Uk4zCGGVjC8lzmfKT4boRFlgPq8o2TIqLKiyADR7uCFG6sLo/twL3NkM5mS7kh2YwD3kmNRpeynyqoc6x8Ek3f7uKaBeUKz4VISR71iPEdAQRlTRgsOHF37nNNmL0mxMyRSevyOydbPFG71H/zoARkDqPODaJfXYOi+8yXwQ7WWPMxZaEvaukCyE9F1V9pumRYSVlowrPQu5ucxQO5abukwautVLQQvxz36gPEwLfBzcbnRs7JIdy0IY0nco7c2lWtgHjVpfms0kn0o8D0TaZGy0ZUzFYRAMMVYZGGurd+PYx2IA2W9JiV53w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HZjjEopL7LMZvyWoW3TyPmDK/SZ5ppLw/WPOKrvLsq0=;
 b=dnsxawGlmh5IhXHM23sQOqoWDnCqftd4Xmq/CCeL4GJ57W+ZGk7GQNbf0fv+xBTSNue+FvWLP5PoeKQDuMRjypoCxdBHjzurKqNuRwm/+7dGAcDER6v3MTzlFYWdwSXcfPRU7amSipIKPBeT6s2UFM519ywRano6He6khJHGag4=
Message-ID: <a34aff19-4530-7f44-c849-4b3eb2aa3d00@oracle.com>
Date: Thu, 20 Jan 2022 20:01:57 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.0
Subject: Re: [PATCH 1/2] xen/x2apic: enable x2apic mode when supported
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>, linux-kernel@vger.kernel.org
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>,
        Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,
        "H. Peter Anvin" <hpa@zytor.com>, xen-devel@lists.xenproject.org
References: <20220120152527.7524-1-roger.pau@citrix.com>
 <20220120152527.7524-2-roger.pau@citrix.com>
From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
In-Reply-To: <20220120152527.7524-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: SA9PR13CA0005.namprd13.prod.outlook.com
 (2603:10b6:806:21::10) To BLAPR10MB5009.namprd10.prod.outlook.com
 (2603:10b6:208:321::10)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c388b255-6a9e-4bcd-542a-08d9dc79a338
X-MS-TrafficTypeDiagnostic: BY5PR10MB3955:EE_
X-Microsoft-Antispam-PRVS: 
	<BY5PR10MB395505B04D09BB49009B7B438A5B9@BY5PR10MB3955.namprd10.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:1850;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	2LReU7A7epo4Mx7lqgU6dv6IY0u+NZlC5SkXdMAWYooHZe3u46LD4PH01Z2NMdI8vfVkxffHdJbW+rUQOFNPczUa24z2fKvzD433fGYIlTanp6PuPTtCL0DJl/pu5WiD+YdOiN8v4xxp9cHZRPffhSZy+kxc5qmPv0dW6SN0rFIi59bqmgQ1yMFsKPR+X3O9/UzrtV5TDCBZi7Crisr1ZH49nxspbQGRetfXQMTe2dg1amDeacgtLQTCqPNDN4nHQHKhjy+X2tWjEIQc4ilxnkFBd5WWYfwfTQI4OpoaJ8pjVHrCLWm/X4QkGHizgF5VW2fRwsBabnpfYS/pX9fNrfAVAdOMZa7V/VqbEmmL5OKwxoIW8hRyB0KVxenDJbHq/FFlqpWxQV+jiB8bd+iDw+EdprN3p+Nxn3XlWrGKXh1nCWoRw6pXhD1XMVFG+xKd2oRE7tqQPKtYeJN1lyIXtIaExWKWHrEI4p/KObstHnTIcEkZwLigKeNpZm+dJGj/Xd8TjcixEXbq2QimmKzKp0f+b7v17rc13GQjx+xu8aT/q7u8OAni2hkGLR3Qt79Qbdi1hS8eOjrIETRZ4+XnJ5niawUFAEjwqVgPaIqJI5lyKs9sZAlR1qhAgHrSlwQ/tyO5ZzXHLJZSUC6HGvMArFl0hEsc1p9BG+tGR4lIzFYj8HZu20ssEBSvcZ/ZvTwQH4fBuLHLiw0OYs342DMJ+0bE9/gu0pqOmyVElHdxhox+O8zElhZu+X8Ix1+gC2so
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)(36756003)(44832011)(54906003)(186003)(6486002)(6666004)(31696002)(2906002)(7416002)(38100700002)(508600001)(6506007)(53546011)(5660300002)(2616005)(66556008)(8676002)(4326008)(316002)(86362001)(66946007)(66476007)(83380400001)(31686004)(26005)(8936002)(6512007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?utf-8?B?YzRoSlJhNWlxNU95a0V3aXJKL3BTNXRORExDRmlBbUN6VlpwMmtMaFMyaUFh?=
 =?utf-8?B?aWVjNGJhS3VsQjFUWjBBQi8yK3NKaGJicnNwZlBzejBLS2NheTJvVTlFc05L?=
 =?utf-8?B?NG0zUXF6SXJuU3FpQVEzS3I3Zi8vN0UvUzIyL1hXNmI1U0NUZGFIU3VRZnF3?=
 =?utf-8?B?MkhSdzlkaTRBbUpKOURFWk4wdnhZV1B6Z0ZxVXB6ZGpxb3BZQXNTNnYxaXdh?=
 =?utf-8?B?bmU4aFJsODFSaGJ5b3ZqWnpHWGtKUk1ZY3lrd2VRNzhaRWhwV0gwYTFUVHc5?=
 =?utf-8?B?c28wNDNYOWFOWkFJTHBUME13cHYySUxKOTh1WTRDTFQzUGZRMWJtQ29XaEFU?=
 =?utf-8?B?cXBlOWFpaE1maGJiNFVKOU5rZW5aV2xIb2FhTE90Zzkwck1KWGdDVGdMQ0xK?=
 =?utf-8?B?ZnYwOXdKS0VjVU52QnFhbTRhSzRFZUs3OVVNS0laNUprL0E1OHJqSG9mbW9P?=
 =?utf-8?B?TlVmVjNGdEVGTUpjcmUyTVFnS3IreHFuT0Y4bm9XMVpXTzJXZjNLRW1US2Zt?=
 =?utf-8?B?TWcxRWovcEhwZmFrK0RhTTNFNmhzeXNETldDeUhFczJmWUczYTJMaHdqOStj?=
 =?utf-8?B?RXZJS3JUVUJUUkxJSUJLY0xkUTlrTWJsZUU0ZThsZDVnVTFjemc1QkRXcUE0?=
 =?utf-8?B?a2hwR3AvSVNMbk04MGlWQnpLYnhkVEljc2ZUanJPRFlHYlA3YWJlaUs3YW9z?=
 =?utf-8?B?UHJVU2ROYnhRSVFSYnlySG5CRkFBNFAyaUpWeXJUTHUxY0w4dE1HeDJObGxa?=
 =?utf-8?B?emNCUVlTTmZyRlcveHI4bGtYbm96WjMrcEJyOUgwYUNhdVZmVFlKRUhxTlJB?=
 =?utf-8?B?SWV5YjZLenp1NXlZeWgxVElzUVFaay9nTjg0TVlmVHN6THI4V2M2MlJWa0dj?=
 =?utf-8?B?dmV5dGtWQUxqc1U1TlNCWnI1OC9zQ3I2bjMwNkozUVBqQi9KMWlGbVgwYU0y?=
 =?utf-8?B?ZnRvSUdIWGdRQm1qUTBaUWgrVkFrRnZQbXRNS2hXUzB6VmRib0Z6NDlaOXpn?=
 =?utf-8?B?dVBGQTJzWDRDUExMWTQxQzc2WlNDRzg2N1FyUEpoTmJTRHNsdTF4dzh3dWcz?=
 =?utf-8?B?K1VUMVI0NHZLWW4wY2FWL2pzVmpXOE83WU5CYUd3VlZvRHJseWhvd2lZYkwz?=
 =?utf-8?B?b2gxd0x3d1QyMm10VjBobkV6b29VSFVMTkRIdDJPV2pRWTkyUll6Wk0rcEFk?=
 =?utf-8?B?OUNwTXVjMHd1NnJhVWVGb1ZUTi9Ndm1GUklnRDFyWlFLdGlyUFIzRVltUHox?=
 =?utf-8?B?Ym40VkdnYUpiNVIrMXh3VDZubjV2SlJKVXhGb3pQV2JhaHh1WW5PaG1EU3hM?=
 =?utf-8?B?T0VoS2prOUhWMGV6RUhORXVXbXBXak14SFVoUjVhZ25GR3JtVjdHVTIyVkl3?=
 =?utf-8?B?cVppWlhFL1hOM1NCTmo2SjgyZW45YmxyMERMaFhLSTRLSER5M29XRGNmeGtT?=
 =?utf-8?B?bDk3aks5NU1OQ2IyK09tNjF0VktvVEpURVRTWkxxZXI2VFZuYmtBUFlIeGU2?=
 =?utf-8?B?TnhUWm40cXMyWjd1WDlBZS92V0lSSUJ2aWdMVnQ1dzAydTA3MXdVTFEzRzFs?=
 =?utf-8?B?a2pGRW1zMTFlL3dWcWxDYThydEc5YkZCbUFZeGlWeldMREtoelBFWU9Fdk9K?=
 =?utf-8?B?MzRDWDFLODJ5NVYvWGY1SkMrSHI1RE40MlZwVWhiWjRuby9uMG8va2RLSHFT?=
 =?utf-8?B?Z1JHM0tXVG1FWCtiOUxUbFJvbXN3UWZPZWFhU0Frb1ZvRDQreHBSVVh2dVJR?=
 =?utf-8?B?WndCSC81WFQ4Mjk3S0NJYTgzZFd3S2ZDRjdiVDgxd2F0c0JSQk55d0pxM08x?=
 =?utf-8?B?SGpIclhhM1BhSXBQUXZQaWF4V3czVlU4UTltaDhiQk1RVHhGdmU3dE9KbzNw?=
 =?utf-8?B?Z0NiMk9WUDBpNllrc3J0a2JXSkdBdWV4OXJhUlZIeWJOOHphVzdkWEI5L2dZ?=
 =?utf-8?B?VHpjdkNLbGU3ZS95a2NvSlJESTI3Q1Uyajk3cHVJc0t6dm1nS2NoQnJMYmxT?=
 =?utf-8?B?cDUwbWduWHlTV282T1VJRTlkenRsZnZlbU1TOEJuczFSSStyWDlQUVloOU1a?=
 =?utf-8?B?UlB0UGEvL29hV1J3VHlQVHRGZnJONzNyVmtuNnNMN1NmZlhFK0RySzNRcTVQ?=
 =?utf-8?B?Tyt2SGVPRVNzM0hyZGV1bzNtMTBEc1B1dmoraFI2NjAzcnhKaEJhL3dWY3dZ?=
 =?utf-8?B?bWEzNnFabmZBYU81N1VjZVZNSUZSbzJDV29KMkYwT3N6a09wU2VaTnhSZlV4?=
 =?utf-8?B?RVZrRm1QeFBCOTBuNWdHVURoN2FRPT0=?=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c388b255-6a9e-4bcd-542a-08d9dc79a338
X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5009.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jan 2022 01:02:03.8104
 (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: zuIda0lIDMSmVkvJykZpqkz5HHg/S/7LWajs/5QGFXSN/SvLilDTegyQEihWHtlhVT/tlOTbbh02syRzhtNMnQJISzcA6822562bUOfDANo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR10MB3955
X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10233 signatures=668683
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 spamscore=0 mlxlogscore=999
 malwarescore=0 adultscore=0 suspectscore=0 mlxscore=0 phishscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2201110000
 definitions=main-2201210005
X-Proofpoint-GUID: WmDM26DaljLu4PaiTRlQoC7Al4i5fFyp
X-Proofpoint-ORIG-GUID: WmDM26DaljLu4PaiTRlQoC7Al4i5fFyp



On 1/20/22 10:25 AM, Roger Pau Monne wrote:
> There's no point in disabling x2APIC mode when running as a Xen HVM
> guest, just enable it when available.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> ---
> Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
> Cc: Juergen Gross <jgross@suse.com>
> Cc: Stefano Stabellini <sstabellini@kernel.org>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Ingo Molnar <mingo@redhat.com>
> Cc: Borislav Petkov <bp@alien8.de>
> Cc: Dave Hansen <dave.hansen@linux.intel.com>
> Cc: x86@kernel.org
> Cc: "H. Peter Anvin" <hpa@zytor.com>
> Cc: xen-devel@lists.xenproject.org
> ---
>   arch/x86/xen/enlighten_hvm.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/x86/xen/enlighten_hvm.c b/arch/x86/xen/enlighten_hvm.c
> index 42300941ec29..ab8171cbee23 100644
> --- a/arch/x86/xen/enlighten_hvm.c
> +++ b/arch/x86/xen/enlighten_hvm.c
> @@ -9,6 +9,7 @@
>   #include <xen/events.h>
>   #include <xen/interface/memory.h>
>   
> +#include <asm/apic.h>
>   #include <asm/cpu.h>
>   #include <asm/smp.h>
>   #include <asm/io_apic.h>
> @@ -248,7 +249,7 @@ bool __init xen_hvm_need_lapic(void)
>   		return false;
>   	if (!xen_hvm_domain())
>   		return false;
> -	if (xen_feature(XENFEAT_hvm_pirqs) && xen_have_vector_callback)
> +	if (!x2apic_supported())
>   		return false;
>   	return true;
>   }


Then it seems this whole routine can be reduced to just

	return x2apic_supported();

and then dropped altogether and x2apic_supported() moved to xen_x2apic_para_available(). Domain type checks here are not really needed since this can only be called on HVM guests.


-boris


From xen-devel-bounces@lists.xenproject.org Fri Jan 21 03:39:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 03:39:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259233.447290 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAklP-0002xr-3n; Fri, 21 Jan 2022 03:38:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259233.447290; Fri, 21 Jan 2022 03: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 1nAklP-0002xk-0X; Fri, 21 Jan 2022 03:38:59 +0000
Received: by outflank-mailman (input) for mailman id 259233;
 Fri, 21 Jan 2022 03:38: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 1nAklO-0002xY-G7; Fri, 21 Jan 2022 03:38: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 1nAklO-0002EI-Ct; Fri, 21 Jan 2022 03:38: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 1nAklO-0004Uh-3i; Fri, 21 Jan 2022 03:38:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nAklO-0000wM-3M; Fri, 21 Jan 2022 03:38:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=aFxlimYUiYOO9Cnm+LmL5UhdsLc2B0rzI0GpLAj/hVg=; b=2wY827XTwpzFjdu17o1ReabFaj
	ayE2olAf0ce4s6Q1nEWLRJ+WAjxaEnYUbHuoQoGhZG6Iqo+38e0Fv5FMkjWf2B+EelT+U9Z6TxkT2
	JvZEDmB7eYWrZCO53FAAWRBuaqI+oVrXUWW5SuM7zgVaAIB8qNGzk1zVVv5eMPXkgKsU=;
To: xen-devel@lists.xenproject.org
Subject: [xen-unstable-smoke bisection] complete build-amd64
Message-Id: <E1nAklO-0000wM-3M@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 21 Jan 2022 03:38:58 +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:  6536688439dbca1d08fd6db5be29c39e3917fb2f
  Bug not present: 88d3ff7ab15da277a85b39735797293fb541c718
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/167778/


  commit 6536688439dbca1d08fd6db5be29c39e3917fb2f
  Author: Andrew Cooper <andrew.cooper3@citrix.com>
  Date:   Wed Jan 12 13:52:47 2022 +0000
  
      x86/msr: Split MSR_SPEC_CTRL handling
      
      In order to fix a VT-x bug, and support MSR_SPEC_CTRL on AMD, move
      MSR_SPEC_CTRL handling into the new {pv,hvm}_{get,set}_reg() infrastructure.
      
      Duplicate the msrs->spec_ctrl.raw accesses in the PV and VT-x paths for now.
      The SVM path is currently unreachable because of the CPUID policy.
      
      No functional change.
      
      Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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/167778.bisection-summary --basis-template=167761 --blessings=real,real-bisect,real-retry xen-unstable-smoke build-amd64 xen-build
Searching for failure / basis pass:
 167764 fail [host=himrod2] / 167761 ok.
Failure / basis pass flights: 167764 / 167761
(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 a68d6d311c2d1fd9d2fa9a0768ea2353e8a79b42 0626219dcc6a4376c1a4b04209d6c15d06e23875
Basis pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 a68d6d311c2d1fd9d2fa9a0768ea2353e8a79b42 4e1df69cc9f51b2e017af1da3ed5b45917642115
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c7437ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#a68d6d311c2d1fd9d2fa9a0768ea2353e8a79b42-a68d6d311c2d1fd9d2fa9a0768ea2353e8a79b42 git://xenbits.xen.org/xen.git#4e1df69cc9f51b2e017af1da3ed5b45917642115-0626219dcc6a4376c1a4b04209d6c15d06e23875
Loaded 5001 nodes in revision graph
Searching for test results:
 167761 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 a68d6d311c2d1fd9d2fa9a0768ea2353e8a79b42 4e1df69cc9f51b2e017af1da3ed5b45917642115
 167764 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 a68d6d311c2d1fd9d2fa9a0768ea2353e8a79b42 0626219dcc6a4376c1a4b04209d6c15d06e23875
 167768 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 a68d6d311c2d1fd9d2fa9a0768ea2353e8a79b42 4e1df69cc9f51b2e017af1da3ed5b45917642115
 167770 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 a68d6d311c2d1fd9d2fa9a0768ea2353e8a79b42 0626219dcc6a4376c1a4b04209d6c15d06e23875
 167771 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 a68d6d311c2d1fd9d2fa9a0768ea2353e8a79b42 6536688439dbca1d08fd6db5be29c39e3917fb2f
 167772 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 a68d6d311c2d1fd9d2fa9a0768ea2353e8a79b42 88d3ff7ab15da277a85b39735797293fb541c718
 167773 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 a68d6d311c2d1fd9d2fa9a0768ea2353e8a79b42 6536688439dbca1d08fd6db5be29c39e3917fb2f
 167774 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 a68d6d311c2d1fd9d2fa9a0768ea2353e8a79b42 88d3ff7ab15da277a85b39735797293fb541c718
 167776 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 a68d6d311c2d1fd9d2fa9a0768ea2353e8a79b42 6536688439dbca1d08fd6db5be29c39e3917fb2f
 167777 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 a68d6d311c2d1fd9d2fa9a0768ea2353e8a79b42 88d3ff7ab15da277a85b39735797293fb541c718
 167778 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 a68d6d311c2d1fd9d2fa9a0768ea2353e8a79b42 6536688439dbca1d08fd6db5be29c39e3917fb2f
Searching for interesting versions
 Result found: flight 167761 (pass), for basis pass
 For basis failure, parent search stopping at 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 a68d6d311c2d1fd9d2fa9a0768ea2353e8a79b42 88d3ff7ab15da277a85b39735797293fb541c718, results HASH(0x5577149a3678) HASH(0x5577149a76b0) HASH(0x5577149ab240) For basis failure, parent search stopping at 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 a68d6d311c2d1fd9d2fa9a0768ea2353e8a79b42 4e1df69cc9f51b2e017af1da3ed5b45917642115, results HASH(0x5577149985a8) HASH(0x55771499cd38) Result found: flight 167764 (fail), for \
 basis failure (at ancestor ~9)
 Repro found: flight 167768 (pass), for basis pass
 Repro found: flight 167770 (fail), for basis failure
 0 revisions at 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 a68d6d311c2d1fd9d2fa9a0768ea2353e8a79b42 88d3ff7ab15da277a85b39735797293fb541c718
No revisions left to test, checking graph state.
 Result found: flight 167772 (pass), for last pass
 Result found: flight 167773 (fail), for first failure
 Repro found: flight 167774 (pass), for last pass
 Repro found: flight 167776 (fail), for first failure
 Repro found: flight 167777 (pass), for last pass
 Repro found: flight 167778 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  6536688439dbca1d08fd6db5be29c39e3917fb2f
  Bug not present: 88d3ff7ab15da277a85b39735797293fb541c718
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/167778/


  commit 6536688439dbca1d08fd6db5be29c39e3917fb2f
  Author: Andrew Cooper <andrew.cooper3@citrix.com>
  Date:   Wed Jan 12 13:52:47 2022 +0000
  
      x86/msr: Split MSR_SPEC_CTRL handling
      
      In order to fix a VT-x bug, and support MSR_SPEC_CTRL on AMD, move
      MSR_SPEC_CTRL handling into the new {pv,hvm}_{get,set}_reg() infrastructure.
      
      Duplicate the msrs->spec_ctrl.raw accesses in the PV and VT-x paths for now.
      The SVM path is currently unreachable because of the CPUID policy.
      
      No functional change.
      
      Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.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}.
----------------------------------------
167778: tolerable ALL FAIL

flight 167778 xen-unstable-smoke real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/167778/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 build-amd64                   6 xen-build               fail baseline untested


jobs:
 build-amd64                                                  fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary



From xen-devel-bounces@lists.xenproject.org Fri Jan 21 04:20:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 04:20:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259240.447302 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAlPM-0007xB-Fp; Fri, 21 Jan 2022 04:20:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259240.447302; Fri, 21 Jan 2022 04: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 1nAlPM-0007x4-CY; Fri, 21 Jan 2022 04:20:16 +0000
Received: by outflank-mailman (input) for mailman id 259240;
 Fri, 21 Jan 2022 04: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 1nAlPL-0007wo-4N; Fri, 21 Jan 2022 04: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 1nAlPL-000311-1c; Fri, 21 Jan 2022 04: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 1nAlPK-0006Xb-NH; Fri, 21 Jan 2022 04:20:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nAlPK-00027C-Mq; Fri, 21 Jan 2022 04: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=VbRNclISey5vVbOPslYsmpAU+tVYcbul0LHUc5TTwtY=; b=Hae3nhitTfnayGC2oR1+h0S3sk
	OAgvgAk2BmNOSfLqHiqNWhsqe3VYvdV8rmjZBS6uirO+FizHxiFsYQ3kdWJJb9qEk3nt2zQ+5AWk2
	rhmsyLtCuJKGyHMhYyEascA0xHwtVrzBlf2J6HnRzO5DfTqHOTEErsAssS7IM2114/i8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167769-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 167769: 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=0626219dcc6a4376c1a4b04209d6c15d06e23875
X-Osstest-Versions-That:
    xen=4e1df69cc9f51b2e017af1da3ed5b45917642115
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 21 Jan 2022 04:20:14 +0000

flight 167769 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167769/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   6 xen-build                fail REGR. vs. 167761

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                  0626219dcc6a4376c1a4b04209d6c15d06e23875
baseline version:
 xen                  4e1df69cc9f51b2e017af1da3ed5b45917642115

Last test of basis   167761  2022-01-20 14:00:29 Z    0 days
Testing same since   167764  2022-01-20 20:01:37 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.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 0626219dcc6a4376c1a4b04209d6c15d06e23875
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Mon Jan 17 18:40:50 2022 +0000

    x86/hvm: Drop hvm_{get,set}_guest_bndcfgs() and use {get,set}_regs() instead
    
    hvm_{get,set}_guest_bndcfgs() are thin wrappers around accessing MSR_BNDCFGS.
    
    MPX was implemented on Skylake uarch CPUs and dropped in subsequent CPUs, and
    is disabled by default in Xen VMs.
    
    It would be nice to move all the logic into vmx_msr_{read,write}_intercept(),
    but the common HVM migration code uses guest_{rd,wr}msr().  Therefore, use
    {get,set}_regs() to reduce the quantity of "common" HVM code.
    
    In lieu of having hvm_set_guest_bndcfgs() split out, use some #ifdef
    CONFIG_HVM in guest_wrmsr().  In vmx_{get,set}_regs(), split the switch
    statements into two depending on whether the require remote VMCS acquisition
    or not.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 81f0eaadf84d273a6ff8df3660b874a02d0e7677
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Wed Jan 12 15:47:27 2022 +0000

    x86/spec-ctrl: Fix NMI race condition with VT-x MSR_SPEC_CTRL handling
    
    The logic was based on a mistaken understanding of how NMI blocking on vmexit
    works.  NMIs are only blocked for EXIT_REASON_NMI, and not for general exits.
    Therefore, an NMI can in general hit early in the vmx_asm_vmexit_handler path,
    and the guest's value will be clobbered before it is saved.
    
    Switch to using MSR load/save lists.  This causes the guest value to be saved
    atomically with respect to NMIs/MCEs/etc.
    
    First, update vmx_cpuid_policy_changed() to configure the load/save lists at
    the same time as configuring the intercepts.  This function is always used in
    remote context, so extend the vmx_vmcs_{enter,exit}() block to cover the whole
    function, rather than having multiple remote acquisitions of the same VMCS.
    
    Both of vmx_{add,del}_guest_msr() can fail.  The -ESRCH delete case is fine,
    but all others are fatal to the running of the VM, so handle them using
    domain_crash() - this path is only used during domain construction anyway.
    
    Second, update vmx_{get,set}_reg() to use the MSR load/save lists rather than
    vcpu_msrs, and update the vcpu_msrs comment to describe the new state
    location.
    
    Finally, adjust the entry/exit asm.
    
    Because the guest value is saved and loaded atomically, we do not need to
    manually load the guest value, nor do we need to enable SCF_use_shadow.  This
    lets us remove the use of DO_SPEC_CTRL_EXIT_TO_GUEST.  Additionally,
    SPEC_CTRL_ENTRY_FROM_PV gets removed too, because on an early entry failure,
    we're no longer in the guest MSR_SPEC_CTRL context needing to switch back to
    Xen's context.
    
    The only action remaining is to load Xen's MSR_SPEC_CTRL value on vmexit.  We
    could in principle use the host msr list, but is expected to complicated
    future work.  Delete DO_SPEC_CTRL_ENTRY_FROM_HVM entirely, and use a shorter
    code sequence to simply reload Xen's setting from the top-of-stack block.
    
    Adjust the comment at the top of spec_ctrl_asm.h in light of this bugfix.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 95b13fa43e0753b7514bef13abe28253e8614f62
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Wed Jan 12 16:36:29 2022 +0000

    x86/spec-ctrl: Drop SPEC_CTRL_{ENTRY_FROM,EXIT_TO}_HVM
    
    These were written before Spectre/Meltdown went public, and there was large
    uncertainty in how the protections would evolve.  As it turns out, they're
    very specific to Intel hardware, and not very suitable for AMD.
    
    Drop the macros, opencoding the relevant subset of functionality, and leaving
    grep-fodder to locate the logic.  No change at all for VT-x.
    
    For AMD, the only relevant piece of functionality is DO_OVERWRITE_RSB,
    although we will soon be adding (different) logic to handle MSR_SPEC_CTRL.
    
    This has a marginal improvement of removing an unconditional pile of long-nops
    from the vmentry/exit path.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

commit 6536688439dbca1d08fd6db5be29c39e3917fb2f
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Wed Jan 12 13:52:47 2022 +0000

    x86/msr: Split MSR_SPEC_CTRL handling
    
    In order to fix a VT-x bug, and support MSR_SPEC_CTRL on AMD, move
    MSR_SPEC_CTRL handling into the new {pv,hvm}_{get,set}_reg() infrastructure.
    
    Duplicate the msrs->spec_ctrl.raw accesses in the PV and VT-x paths for now.
    The SVM path is currently unreachable because of the CPUID policy.
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 88d3ff7ab15da277a85b39735797293fb541c718
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Mon Jan 17 12:28:39 2022 +0000

    x86/guest: Introduce {get,set}_reg() infrastructure
    
    Various registers have per-guest-type or per-vendor locations or access
    requirements.  To support their use from common code, provide accessors which
    allow for per-guest-type behaviour.
    
    For now, just infrastructure handling default cases and expectations.
    Subsequent patches will start handling registers using this infrastructure.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Fri Jan 21 07:00:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 07:00:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259248.447313 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAntp-0005Zh-NR; Fri, 21 Jan 2022 06:59:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259248.447313; Fri, 21 Jan 2022 06:59:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAntp-0005Za-KP; Fri, 21 Jan 2022 06:59:53 +0000
Received: by outflank-mailman (input) for mailman id 259248;
 Fri, 21 Jan 2022 06:59:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=57ha=SF=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nAnto-0005ZU-2d
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 06:59:52 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b98d507c-7a87-11ec-8fa7-f31e035a9116;
 Fri, 21 Jan 2022 07:59:49 +0100 (CET)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2058.outbound.protection.outlook.com [104.47.9.58]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-37-X-CqJ3ooPfGVmV6crym6Pw-1; Fri, 21 Jan 2022 07:59:47 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DB8PR04MB5641.eurprd04.prod.outlook.com (2603:10a6:10:a9::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.10; Fri, 21 Jan
 2022 06:59:45 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.010; Fri, 21 Jan 2022
 06:59:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b98d507c-7a87-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642748389;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=Vhq1t2aynVzCs7E4CzYWMaJv6mh8jIHrvd6KQZRCDBo=;
	b=MGtQ7yekhtIiyv3GBUFIlQC0VwTTR3sVj/8Ie3yXbPULs2ZmSAToVHYe+NIekWt7VcnWJk
	Lf++DmwNvfW/gA0KHyWOzZYz2blE17K3S9N0KYYzMjlqxS7jCgXLEMIyRJWI5PaGLpYQJv
	mfha55U/GFsa1JHAAS84IZbS+eXSXNQ=
X-MC-Unique: X-CqJ3ooPfGVmV6crym6Pw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mFWmX1XtScApEvKIcZK8c9tkGT2nv4GgOUVB0bmyGRaXsfkCUN+nZ8yUTlDYlPZlNyuoSsOS0ycySyBBCq4ZoAmsVF9LtdyqhdEZ3KBNNg9t/66iuMYqojpJXMfMm8g5wWilfx8B7n0tiFWvM1sJi0uwg5weVpD+RdSN0ik41EsirdUBRg+eos5aLnsRlDchrdJVVKlwdiF3HrnWYihn60lFvk+aCSe9tct+xiNZAi678eiSjq/dfv9HG32h0U4ECXaoH45I7gFFBjh4L965n5Am+dKcgTetzOL+xN7Zuyj56P4/gwhMOID+SUHe3UJjoq7eFmaZFFPi3CjwR31t5A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Vhq1t2aynVzCs7E4CzYWMaJv6mh8jIHrvd6KQZRCDBo=;
 b=dfwPCkMsgsYGP1sTERWzLdy4INHSCBcP4pLotHt0Z1B31Mflpmdm3AGJZMeqeAALllyjKCjfPBMaD/vGtATU3WA3Use4w2Nb3Fk1PaNvGliyw2VoWWzBI8KAqf69Upny7uug2VjggtQ4B4cXBXOmCxdnBh3pHDbEGd/dx5xMCSU/3T7k47w4HvgBnX3YG7s8uasZJ46HQc5UkLYBoJfjsmzR1LxAUQllF2k6SDeqbs/AWuBtG0jWrkg73b27HzVmka8BdPlt2gDfm1Nvb37cqNzotlZVAj5ekZ2h/g0xaKyW4y30lF+FDGK1zL3mfUHSo9s0610IK8HpFJLBSdoZ1A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <86033c13-c444-aac1-6043-73ed12c78240@suse.com>
Date: Fri, 21 Jan 2022 07:59:40 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [XEN PATCH v8 00/47] xen: Build system improvements, now with
 out-of-tree build!
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 Kevin Tian <kevin.tian@intel.com>, Connor Davis <connojdavis@gmail.com>,
 Doug Goldstein <cardoe@cardoe.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>, Paul Durrant <paul@xen.org>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org
References: <20211125134006.1076646-1-anthony.perard@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20211125134006.1076646-1-anthony.perard@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0039.eurprd06.prod.outlook.com
 (2603:10a6:20b:463::31) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 292e95d7-c62a-46eb-4e69-08d9dcab9b1d
X-MS-TrafficTypeDiagnostic: DB8PR04MB5641:EE_
X-Microsoft-Antispam-PRVS:
	<DB8PR04MB5641FAEA4A77113FD522FAEDB35B9@DB8PR04MB5641.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:
	M/xcsTaDlsUpA1PXiatLrG4dnJfRQkVi/O2qPVVgsEcLOThfz6sihIKeKUI7xvqTRnaP9bDngQXzGJ4BU4s9IC50bgKxkaYH9UMw4+e9lNXim9czX9c+why+83F8xXLBFu61MjmVUjhy7VWABvzT2wj0nNL0XBZ9gpJNzPT1eor48VsJYKu8kyj4zU61DqCfi//5X3X+It4WG3PTyjaLcJP6CqrjgjxfjDAJijuwBpJb6p2b8lHkHfkCnc4O7CvLf30t6kQXDLthapECOkLiaKO1B4DdMKg6/aKPIkMxQ99qhxowu9z8E0Tv1qWwY2Kw7i0tPm9W0xzCIGnHoDVm50RpiLeAGthT1kp+F7Zt8of62mCTDiJrMSMkVMnDVigzgbf7BJGN9RvrQ66eu8zVAPeG6By4WiU2PaJ8nRCuclPLtMD2A/UKzdyDhPrRBvmx5NZSFcQO5fm7aUpWa/QQ6abY3sUijTZ55kkhYGXtMbJOED+cxbNFlCIP3svrPebVQ99oOnaQo5RozhakDml5FXQyM8URDJaBJAN8v/OikE39ryNs0O8X3nMR/JIP6tGDgJzw9OsS29nHmWtJ7iNNqFn1jisymwlUDxUlA+Lbqpc5XuADjmJ80ztbiNFea4BspS5kZfRMYCtx8oaiFky/NZMT85mHuhYwd9fzPe1TcVji5fhu+rw3VsSRccDOG6VixuiIZhN7z4aXPlxJ6OzXBxPhBoQDDwADNOrwFykjHxg+E9XyYOHrkE6RcVfX3isiwtqkSioDN8weeT0nuv+dXvpUYcWdwirFBncE3sXQwn1L3NA7P6LKWMWCOZhYG1F1
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)(38100700002)(31686004)(6916009)(2616005)(4744005)(86362001)(54906003)(8676002)(36756003)(26005)(316002)(66946007)(6512007)(7416002)(6506007)(53546011)(83380400001)(66556008)(66476007)(5660300002)(8936002)(186003)(31696002)(6486002)(508600001)(6666004)(966005)(2906002)(4326008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Lzc3aTM4VWhwa00zZW1mU2puNkFXSkYwYmtEYjhNQm5nTENMKzhpZzFMZ2pq?=
 =?utf-8?B?cTArQmlMc054bC81cU5ZZDQ1amwzUTNqSWZrMlIrRk4zblFmUU9Bb1BNVGhv?=
 =?utf-8?B?WW9HbGlBOW9PdGJ2ak52aEJBUlRYWUpyb21SMnN6ZStFQUZ0RXVtdDdRVytm?=
 =?utf-8?B?bkxuamJQYnpLSFROTDFza0IwWmxpSDJmalZOQlpWREVETjRpbFpYbVNwYUhp?=
 =?utf-8?B?WTVPSk9qbUpLZTNkRTB6U05OTWFsd0ZtZUJxMkNrRFU5R0UvcldLeXp2c2Vh?=
 =?utf-8?B?dWhnTXRaZUZ0N3NCUkRqN09LTDFpU1ZQcUtQQ3RlTi9JRFB6TFFiZFBYb2xK?=
 =?utf-8?B?ZTJ1aHNBeVFDMnphd09yT25rc1g4bjd3MkVob2Frd0gvdk0zbU1jeHFSa2NU?=
 =?utf-8?B?U0ZZWWdCVHNRTjRYQzJuZlBEM2tqR21FTlRzUVNTUnBnUWJ6T0VpMjRYcS9O?=
 =?utf-8?B?WjFWbzRzbUJUdnlkM3FRR1NQSW5SV0JTNGZ5MnVvN3NtVGFoaFVJUmc1MlBm?=
 =?utf-8?B?bVV4RVEvTEN1Ykd0QnlUQzhXaXBSL1pIa3ByTXVlaU1KYzR1dkJKU3J5S0Rx?=
 =?utf-8?B?L1FPMFVIOUlMYXF5bjQxNGNxSkFpekFET1c3SU9zUWdpckZPMnF0RmhIREMx?=
 =?utf-8?B?a25kZTQwUFJIUzhxZjMxV3NZLzdTSm1lVjVaWkc1bDlFSWd2ZW95SjFENzJJ?=
 =?utf-8?B?a3ArODBZVU52VHhvL200TU5XYjZiY3ZKVmE5VnRFZVJqcmZRMml4eEdMYXR5?=
 =?utf-8?B?aGlFVzNRMHdHUTJ5TzdBZ2JISWZFcFBXanRHL3JYUDJsTzhNclhtN0pPS3Z6?=
 =?utf-8?B?WFRHTW9ra2hyVDBSYi9GcGNFNmFzckd5WFowSEZTZFdWbHZuMUZ2a3oxR3hs?=
 =?utf-8?B?YkxkSXNRL2tKWENMcERWbHE4dUNRR3VnQjd2STVBUkFjTXliNE9jeEZkZTgx?=
 =?utf-8?B?R2xtdjFiMjBqaGF0cWs0NFNiUzVPdW56WXRzVDI3a211aUVsY25xZVFEaUJm?=
 =?utf-8?B?WklXd1hralBIcGh6OGtGSmJSUVQ5VjdQMXo5U1d4ZDUvM2Z0K1dZRnlJQ0cx?=
 =?utf-8?B?Z09MSUhKNHJZdDMvZXhsSE0xdE1wZ2NaM3BxWUs4VzdxUjExMFVaUHZ3VEFx?=
 =?utf-8?B?dW9ZQnlTK2M5Sko2ZzNlUUNGMG9OUWM3RUkrcy9ua2FkRDJQOC9VSkViVWhy?=
 =?utf-8?B?V3BBeHdyaTZ3OGQ3aWVyV3k4ejhzaHNlTTRXV2EwOHRud2pCbXhuOEVIZ1hs?=
 =?utf-8?B?cm5ldTl4NU9hcVVjTkhoZTZMQTBVMmZEaXhoM1Q2eW1MaE9PeTNkUkJjN2Q1?=
 =?utf-8?B?b3BvazJEcVVMUzNoVHE1N0hjem03Y3VlRXlZRlFoOVJDZitLUytaSGNSUUxS?=
 =?utf-8?B?UVZqbW1LT3o1SHdYQkJ2eUFBdVplb3IvV01wRFo0azFBVndlbUdscUl1Vm5m?=
 =?utf-8?B?YnNFUXBmUm5WN0NDeElRNnNnd25vTzRnZktLRnZxN3FwZ01sd01zZmg5TmFH?=
 =?utf-8?B?SCtZUzFsODNRYmNnQmZRK1VIZWFzeXN1THZJZlNZWGdGNUxjcGJNQXN5dDhy?=
 =?utf-8?B?dEVINGcrVUt3ejAybUJ0V3haQ3VRek9SbWN1eDZpaTFQWHZCSDAybG1TUk43?=
 =?utf-8?B?aysxVDJyQ1FQODRGbEJXenNWeDQ1RlVIdGlhaG5DU2hSNHJQTHc3WW9UUWVR?=
 =?utf-8?B?NDcrSFJHUm52NzlWVUpvUTBtMG91Q051QUlleFBTN01Wak5Nc0Q1NHB4eURo?=
 =?utf-8?B?MXBQMTNlVktDV0FEd3RYeDdLaHQ1cUVkK0JvTjRTREVibkExRnY1WFNhZEJN?=
 =?utf-8?B?SS9IZHpyWm5DR0pBMTg2NjZ0NkRvdGdEV3Y3YmtvZ0Z2RzAreUV6S3daMEd6?=
 =?utf-8?B?Y3pJS1AzTUFheHBRSUkrZlZRWjJCRDVOaEF0MVZmazc4TFpRMHB2OFdHcm1L?=
 =?utf-8?B?U2VqbldXeFFLNFFNenBRdnRPalU4UjJhZStnTGtqV2dHRElROVNWeGswR1Nq?=
 =?utf-8?B?S1NBWmhZNGp5ZkxIcWhIMWpTc1lrOVBySW9pYWx4ZXB1ZWlXVjBtRXdmMjFX?=
 =?utf-8?B?bEh4TlhtelhzZWhpOThDVkZkdGVpNGZ1R3BwYjk5elRJY1hYWE1PUU1IV0J1?=
 =?utf-8?B?QWdKaFJXM25QemhZQ09BSHlzRkI4NDNBY3VpMHlJaWVGYkxYcGROalVNTVRk?=
 =?utf-8?Q?Ig0n1rSy7QmAssVAXiafd8c=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 292e95d7-c62a-46eb-4e69-08d9dcab9b1d
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jan 2022 06:59:45.3451
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EYQdKrjBIK0UL6hZ5RfvDUIAD3yCrSb68EChjQYO0JYButnQxj+WmLW9PCdAYtnZDGOo+OnzGyOIMHlYh2aDAw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB5641

On 25.11.2021 14:39, Anthony PERARD wrote:
> Patch series available in this git branch:
> https://xenbits.xen.org/git-http/people/aperard/xen-unstable.git br.build-system-xen-v8
> 
> v8:
>     Mostly rework of v7. With many patch already applied.
>     Some detail changes that are spread through many patches:
>     - `make cloc` recipe should now work throughout the series, update of it is
>       done in 3 patches.
>     - new patch "build: fix enforce unique symbols for recent clang version"
>       to fix an issue with clang.
>     - introducing $(srctree) and $(objtree) earlier
>     - introducing $(srcdir) as shortcut for $(srctree)/$(src)
>     - introduce usage of -iquote instead of -I in some cases

One more question: With an out-of-tree build, where do I put the
(build flavor specific) ./.config (not xen/.config)? I'm using this
extensively for cross builds and to override tool chain components
(to avoid having to remember to always specify the right combination
for a certain flavor on the command line).

Jan



From xen-devel-bounces@lists.xenproject.org Fri Jan 21 07:44:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 07:44:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259252.447323 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAobA-00026X-5M; Fri, 21 Jan 2022 07:44:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259252.447323; Fri, 21 Jan 2022 07:44:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAobA-00026Q-2D; Fri, 21 Jan 2022 07:44:40 +0000
Received: by outflank-mailman (input) for mailman id 259252;
 Fri, 21 Jan 2022 07:44:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=57ha=SF=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nAob8-00026K-HG
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 07:44:38 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fb567922-7a8d-11ec-bc18-3156f6d857e4;
 Fri, 21 Jan 2022 08:44:37 +0100 (CET)
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur02lp2052.outbound.protection.outlook.com [104.47.5.52]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-34-KvTnRwrjO5aRmLtv8uI0Rg-1; Fri, 21 Jan 2022 08:44:35 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AS8PR04MB7719.eurprd04.prod.outlook.com (2603:10a6:20b:29a::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.10; Fri, 21 Jan
 2022 07:44:33 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.010; Fri, 21 Jan 2022
 07:44:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fb567922-7a8d-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642751076;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=pdTy4gNBfnz/2vOfMk9HIh+OmpVZVnL0kvRqSdf2TpY=;
	b=fExE4w97oY41/X2XshRSPANm3yYOw9DUh752y7irxwuHjUWBF2FXipXo0I29iS72rDPwhA
	qzY0Sc0UAabjVKBBXF4r5V8kWCNUSQeoCbalzsHGVD8FtV7ltxAy1z2TyZBFObqfFdWsat
	Jwf/QuxSQdJ1pD6lQ8tp9l1gySYaJA4=
X-MC-Unique: KvTnRwrjO5aRmLtv8uI0Rg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CE+W6eQwQp3DC4zPQ/cq3kLPJsyvDKhgBKmrUJJl9HIS8qhGClflTCo7V4BY44PvVEj77POfeD8L2mOTij/XRKISdhubaziIXbAVk/h+ZnSWBxZsIQt4vzIHKZ7ajVOxOcRU0/hZ/PQhKUq0346bUUy97PAnDnXKj1mP5NPEZMNcX9PbamsyJpfdz4ZAt+XNcMv1oZc3UDZzfYyTIC3TJldDuypyKBwgKal3q7fUbReYIg/lqSDvw18VQyFpcLuHs2w4Rpk3lT2E2kbmnoh32YsTsZmCokbNI886I9naE70+6J96FB52wp8Xo/W3w5Jyxz+Zq95mYgIPaoxFfoFg1Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fxBvNDGH7l8iGz2bA1ARindmiN4N+ymJwjANa0sRoKU=;
 b=Xlg97ob3gWWgFP+zPh+yaSTQsk+0Krm5Dt5jkujzr7HmG8qfnhYoOMf6Z6V43OGqrjjg476inEljb2q+CtgAZAMpm8Jpb7htJ758ka1gHErS9vQTIhN0hlKtbTzvm8DVYyxZ8V69wiSzCBqZKVbswYqtCeMpxXrfareg84LWFVETH4SBQltp1qIitffC7yOsBoAoC4rjK8PYBLHeWyPes9RLJ7+vWWY50TK3tBOWY6PXwx/QNKhiVp4c/NOL/lHVhJQ6WgqmfGqmpQfTbM0WWfdjZSUmkhxSQDGiCvAaI5I6/nzmytpvhlqbnkM3iT/St3Fr8vehsOptZ1CzRybFUg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <50d575f4-f19e-dcac-5b8f-47d5d6951868@suse.com>
Date: Fri, 21 Jan 2022 08:44:31 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH] x86/time: minor adjustments to init_pit()
Content-Language: en-US
To: Andrew Cooper <amc96@srcf.net>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <08b293b3-e04a-9230-e7ec-dd7da9d198b1@suse.com>
 <5a8228df-b3f9-609e-e7fb-d0f8a5ed5413@srcf.net>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <5a8228df-b3f9-609e-e7fb-d0f8a5ed5413@srcf.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS9PR06CA0251.eurprd06.prod.outlook.com
 (2603:10a6:20b:45f::28) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e390f3e6-897b-44e4-1462-08d9dcb1dd63
X-MS-TrafficTypeDiagnostic: AS8PR04MB7719:EE_
X-Microsoft-Antispam-PRVS:
	<AS8PR04MB7719B544A79F2C73ED878B81B35B9@AS8PR04MB7719.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:
	iHMXnVloOzr/RhZMZ7jfJzMnXr7ktbxFAq/J3WXIXi53G8nwf347jPVnsvt+8k4r+qqHft+rmZ+JUFxOeSTZnDcuEsQP2Evvf9DRhUur/H8yniHCtnDkUCcL2yps3pPEcAvokTMaYHridrNOJn4Xbbuy+70IHmMUJxkXBsTsJwh38h99uMZYrdze8lTkE88Cl7nRnay0bFep9GG/IT7QQxeEFuiZPjk4G+vadlRkCkN8Qt4C8OYMi/f4htY48C3X9IiRpC5eWF1avOh6qf94/W3KHA/ChhlzsltR6uLS+6tuAtwGhyDu8wkZ+LSkLZfqiTLdeukIN1JxMQuBb9zAxNc2CqbseQYybwvSxEsat56au1DH9AAVgMuM2OyCYHSAIfwW1KiPUxAJXEEtLmbP/mDQeFSiKeRFSekqGByEHQz6xds6aPStt6CzUZ2LARBLMS5ibAXM0iKC0DLpaIjIoReK3KBFPAlXjUuEE86IYu/kqmbONizRJ/SuMc/xBKcHQIDMkSPHajAnI9eXY8g/s201zWB7b7nL8J0kziR0JaX2M6S+KtzRISYybA9k1gqea1EpCAz6utofnVkBYFdr45XGCxyoNsg0khCzNws610ACIf40tI7NKw5uZWiEZLeNvbOU2QPmqneAI91D6hJhd/wTHjuvjwd8HRm0tcFxChvRhWhRIv6Eju+6T/lPR2SyMS69RCAlaNSzy/MDTWMX83uauFCExEwmeWPqLmWhxQg=
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)(6506007)(86362001)(186003)(53546011)(6486002)(8676002)(26005)(6512007)(508600001)(316002)(54906003)(5660300002)(31696002)(2906002)(36756003)(6916009)(66946007)(4326008)(38100700002)(83380400001)(31686004)(66556008)(66476007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?+wTKw3AZhIUJRzVkWj/PYj/qCIP7zgLC9MKS6+IvgAr8b3YVFSW1E9oEjdlI?=
 =?us-ascii?Q?vCNk1araH7xzzxwGReywJq1k/sh/fo4/gMx+A2SuY90muqsRQ4ieP3VhgEfL?=
 =?us-ascii?Q?8hu8HcgLfbKYIXan3DavYb6zLT8dEP8Gq4XHl21MvU0X6HV2umzoXDOHZ4AL?=
 =?us-ascii?Q?opJRyCvvgXvI99wmuVYRAbAjYxdQoFcL2ir/XglBT8nNmiSkkFGWXtgXYbmp?=
 =?us-ascii?Q?wpb7wuVutRzJPaksJ+zdx9BACMavVUB+ARBKmvu2Mu8BBqiyOzTEx+iRq0TG?=
 =?us-ascii?Q?3dJTxboXNvINYV2ZNBAqCLqRAeUwJ1rqVPvReDUp49vE5xBdvrE1mFsJiuv1?=
 =?us-ascii?Q?xeXEXYhw7zJC2/wRIuILfoIGYAKAWHb2fI/8INU5K9detWSOs7GGr6rxQ9jA?=
 =?us-ascii?Q?xfHJaw8SvNu6ajMuPBxJ3K5mdgS0qHZ1JSXcQ8DoFbMRyjdzKxjnJy+u3UHe?=
 =?us-ascii?Q?1xLHeta0PUixbSLP6gjRkeQCiP+CJgnx8sS5YHtRlgijIPGYk+D7NOSBfs7H?=
 =?us-ascii?Q?fACrB4jvcTdAqmJhGrbZHi7znlr5nvuprGPzzS1/EDjV1qrkNw55U2w5m6GB?=
 =?us-ascii?Q?nCGaEE5Y+9s3S3rNCueLL+yPYx2kE4Dnb/vxzni82JZeV23gcHQvju2CGmXc?=
 =?us-ascii?Q?F08c+ScYn3aepGZmrTgK2uJJ2XzajjfnS5chp6poH/xtKyPvd0DzEMJHxfon?=
 =?us-ascii?Q?vWrL9IO0BWYkfDCttL5oAs+93gC3IrP+QSEP15BBQY+CJNj6Crb/jzFO5NLD?=
 =?us-ascii?Q?JC8RYIeYwv8DeSr8k1AIxIJ/b8gg9WpTrxMuo5guKNQkkW/Fy5FLttjouDxA?=
 =?us-ascii?Q?y3LlbKCqE18GNKWWKIpGaN+FnJBk6/ZDwWqBdnZ94H2Pgl91Lh/qgR5JQiVo?=
 =?us-ascii?Q?hqvyP4AjRGR6HwkE0M/fU8RxF4+Qgkh+jdiIfgOj9HmDmkCEnHP3ff0A0hI3?=
 =?us-ascii?Q?GngH4ERGSHf7xFDePAni4Bw+Oxry3bQkWIkbme4CIBox4RfTpQoDq40HlPjz?=
 =?us-ascii?Q?/qDj9F85sUVtcVlH6cU1Gj9+QIY2ALX8u6Nfk4nzfhFIDyFVkOQJx/WTL1wf?=
 =?us-ascii?Q?miV/x9G65T5BttlGMzkvk7QGStHNbzi5aoM6YHiATmmqjeZ924yEg4o8iSZ6?=
 =?us-ascii?Q?Z0IT2S4Ep3u9k+yKX5eXc1uNpOY66TNmEV+xZ4U3RMWQkzVDEvw/qFR6Z2GJ?=
 =?us-ascii?Q?8dIcQugvo1gmizzeYiMLpgwXPrreQ9BHV14cRS4rFLELINCHQILXgffrjfX0?=
 =?us-ascii?Q?6V/3D79yfcr+OT2CZQO9PwR+FZB4rjfID+XQskyJs8iu3ZMCXhVrFswV7Uo4?=
 =?us-ascii?Q?YmdAcLoCRiGXnR/ZIM3Ez1jbY2EYc7ES55EufHnhIMxBGkkQdqsaawMoFkAQ?=
 =?us-ascii?Q?y0uk+zJ2dLQ59/N7mVeMpfFlCYWEjrsByKFFo0zIDSN1u01JEHtg/RsqgsE3?=
 =?us-ascii?Q?L9h8/b+3piJEqmzCZ96g5tgBLUoaYG06yKvrlBeyCjfiOWcHqVkb5JddI9js?=
 =?us-ascii?Q?yf9NDipx7sLnC0q20pBmBYi/FzFFFh4itMRaFf1LcsM+TAvuhYmb32sunSRz?=
 =?us-ascii?Q?ujT3ZqsFFZ9VQwuOx74SSIlyVTu0JdS2Yb5IDHTmNPRn/FV8dsIFw/f/CwIN?=
 =?us-ascii?Q?zkgKFkwNEDDVH5O8xGzjSe8=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e390f3e6-897b-44e4-1462-08d9dcb1dd63
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jan 2022 07:44:33.2505
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EUXp3gAiycM1DpR7If4WRG45qN/giyfW6QN7dDSOTMuGeLYkJyrYf207mIHF3+q0uiZM5gjh8mV7B5GVo4RGyw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7719

On 20.01.2022 17:17, Andrew Cooper wrote:
> On 17/01/2022 10:36, Jan Beulich wrote:
>> For one, "using_pit" shouldn't be set ahead of the function's last
>> (for now: only) error path. Otherwise "clocksource=3Dpit" on the command
>> line can lead to misbehavior when actually taking that error path.
>>
>> And then make an implicit assumption explicit: CALIBRATE_FRAC cannot,
>> for example, simply be changed to 10. The way init_pit() works, the
>> upper bound on the calibration period is about 54ms.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>=20
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

Thanks.

>> ---
>> Really I've noticed this while considering what would happen if someone
>> specified  "clocksource=3Dpit" on the shim's command line. Unlike "hpet"
>> and "acpi", "pit" presently wouldn't be (explicitly) ignored. While,
>> aiui, right now the only error path would be taken (due to port 0x61
>> reads being supposed to get back 0xff), I don't think we can build on
>> that longer term: Seeing what we use port 0x61 for in traps.c, I think
>> sooner or later we will need to have some form of emulation for it. Such
>> emulation is then not unlikely to continuously report 0 in the bit in
>> question. That would leed to an infinite loop here.
>=20
> If we're not already doing it, pv shim really ought to set the FADT
> hardware reduced bits.=C2=A0 There should be no need to depend on heurist=
ics
> around ~0.

Before forcing this flag onto "others", I guess we'd better first
start properly honoring this mode ourselves? Outside of ACPICA code
there has been only a single use of this FADT bit so far ...

> I do suspect that the emulation for port 0x61 is obsolete enough for us
> to consider dropping.

Well, as always - I'm hesitant to drop code which we don't know for
sure cannot possibly be of use to anyone anymore, and which also isn't
known to cause (significant) harm.

Jan



From xen-devel-bounces@lists.xenproject.org Fri Jan 21 07:54:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 07:54:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259256.447335 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAokd-0003cP-7x; Fri, 21 Jan 2022 07:54:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259256.447335; Fri, 21 Jan 2022 07: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 1nAokd-0003cI-4p; Fri, 21 Jan 2022 07:54:27 +0000
Received: by outflank-mailman (input) for mailman id 259256;
 Fri, 21 Jan 2022 07:54:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=57ha=SF=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nAokc-0003cC-K4
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 07:54:26 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5a36661d-7a8f-11ec-8fa7-f31e035a9116;
 Fri, 21 Jan 2022 08:54:25 +0100 (CET)
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur03lp2054.outbound.protection.outlook.com [104.47.10.54]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-11-UFWtaAi5P_aAABi_69Y0CA-2; Fri, 21 Jan 2022 08:54:24 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM6PR04MB6485.eurprd04.prod.outlook.com (2603:10a6:20b:f2::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.10; Fri, 21 Jan
 2022 07:54:22 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.010; Fri, 21 Jan 2022
 07: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: 5a36661d-7a8f-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642751665;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=/YxFbJOqOGjBrvKZtKIrXEe9U90/x9aVgN+PChM5yL8=;
	b=e35vos9ROcMnhHWJSojc8jhSrubEiFlIxQDjZg8GmGX1wL0Vj+w8dW5I+aI/3C+4aX5ItM
	5tzAxk+SzbxnyZ75tQcEBrDob/grmyUPLvaK27sBCECBh/AVAhiWcyT6kA/CJTGviWOjD7
	Moz3rr3iw0EhUjTA5w1UEEkK8tvT8gk=
X-MC-Unique: UFWtaAi5P_aAABi_69Y0CA-2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NUUv0sRTFfGufTexP+MC6ohhH0vjcC+bbcJudBX3Fj71jNwqukvU0RNwqJMC8r6iqoaqjEz3+aREVeiPjctX5k44azNo7zhfJRHSB8L9g+7mOTp0OmyA3lMHf+MwUmWTTqsb+oe3AFNEdsFAMBNn81WEysGcQ8eE9xODfZIWNCSEjiq4h5j/Ot8acjRJt/fX3WXZk/cXIwKPs+UKsk8zdm8ufIfEWsFkO3E7q3RkxjuNvjWTKROhmcXDfXrFpf8HCS1WsekDr5zy252imRFSqnoiQDT/xjdCxeuguCkAySnaw/5M4lOJ9BajB8Eo8rf9mq/oAPkY6mFMtHPPkBz7Ng==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/YxFbJOqOGjBrvKZtKIrXEe9U90/x9aVgN+PChM5yL8=;
 b=od21kf1GxQaX0AJu6RC+c1AbyXInuegWcwa26GO7rIQGuPVD6ZIkLvxzrr8uQr9uwcF1HwzXB0bv0Kl/KOvA1DBey8PBGYI9Up4xZQZ1CK3rltgAODaiocukxLNrGobnmDGpieMW2bjiIXqNVN463s+c5tf9stj5vPW4UwOHUo9mEupr64GUjC4aK7kb8JHpKjGY90mFpxFMlXLsQlHAkXF0HO+A80R6U3IRMJFgz80uriOiRkrj2AM8igrLkPvdIc1cJLTRCbN8SOGz2XRr4qg+aSwwKnNWwvr0aUguhKcxrnWTCBnSEDs93HHQH9rYucsMQttNeiTiTh09rnuz0Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b6804ecd-84d2-6c2b-3172-af3a4a3b5c2a@suse.com>
Date: Fri, 21 Jan 2022 08:54:20 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [xen-unstable-smoke bisection] complete build-amd64
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
References: <E1nAklO-0000wM-3M@osstest.test-lab.xenproject.org>
Cc: osstest service owner <osstest-admin@xenproject.org>,
 xen-devel@lists.xenproject.org
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <E1nAklO-0000wM-3M@osstest.test-lab.xenproject.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR0201CA0016.eurprd02.prod.outlook.com
 (2603:10a6:203:3d::26) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4abdb108-896e-4d7f-5e7b-08d9dcb33c53
X-MS-TrafficTypeDiagnostic: AM6PR04MB6485:EE_
X-Microsoft-Antispam-PRVS:
	<AM6PR04MB64855000AC7ED4F3FF5E6066B35B9@AM6PR04MB6485.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:612;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	FiJlDmogg/NcHF+0ttww17DNM7MOsuyrOTmdfaeN9VjQ+3DBpiKFqxSpZf86iJHcl7fAKfvDdy+hbBVdK4wAxwz4pFJobrzP/FoTFcoNYlbqJPyhcvZBA9al2g5bCQBCWV3w/fuX9z+yVRPlz9iic2pwpljTVWw5rkPBVRUXU6ovDZQjHmQmBzJmkBE+a4yhKA8Zdc1y1T42OCD0nAFE2jQcF6okJKf1e4kk1SU9FQ02Nik0Co7VlXHTworvT2x/hkh1kMwCgDM7EaQO0nIQcjN0hXiifuRNeXlFQbeG7S33aDLbrf1OM1lenzF6RKdBpT+lfR2+/SRcPJ8tEczi4SyohA+k8nm3sFNeovfQCo9wee258S2+FUQkvU8dKNicnbzdHtRULO2JIei88bcmPe8uNvhjZZ4naxGqcoTO1MMWwoD+bJZwBr3ittvjtEqns5uQVfpU3koY5+40KSf85vva/UCL6sCfCHCFoukgY1qr3L0diGX6E3U2CPmfwkIzZCZC27Vffdt20a63K9FmfT6ljwYyhnePJy5zp1U/5t4T/xi3aUKRde54z65rsgsM9k0W5UHk/qZfsG1Butat0LV/mebZjyWmHpYiTs6eZ1B5F4Iodhslb3Q8Omyr27VyPfVIGGAyld6vqVEKAuz4aCHvSfUMbf06fOcFqVX+zO4ktxV7iZRVYimSm3PXQBrLHrAkRbcV80CPj5+34UTg8ZoDvyE35b8N1KFDHw6TpqNEoHvbkI464eidc1hFDXuw+dl94WPUPP0tEOD5c69MWlj0U1VGbb3INjPK3dyKrr0J5auLupRkJdOudRovib3clCoMHgZimelHw9nsosp+5w==
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)(36756003)(86362001)(66946007)(4326008)(66476007)(66556008)(53546011)(6506007)(31696002)(38100700002)(5660300002)(966005)(2906002)(2616005)(6916009)(6486002)(31686004)(6512007)(316002)(26005)(8676002)(186003)(8936002)(508600001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bmVBdTd6VEVEc1hFeFpsQ09FaEdsTmh3QzBOc2NZRnVYTmN3bVVsbGxTOENY?=
 =?utf-8?B?UHRJdEZ0bndWTU4wM0tWMjBZMmUvVmRMZW1lYk8zNUdiV3FQNHRESHhmclpm?=
 =?utf-8?B?MFZxbTFVK0N0SmF3QSt5UXNsZkRuaXF4NFQ2b0pReTdlN0MyMFNRRFkwV3hJ?=
 =?utf-8?B?UllFOWxwOHlxSnFNM0tBM0g4blFFSGVaNG5ZUjB6TEY0djJlS1ZjbllxSjFF?=
 =?utf-8?B?NnlTNmR3T3ZmcjRCclZLOEpjaUNSYmtPRTNieWdKd3BxMkNyVUY3ajNZL2wx?=
 =?utf-8?B?R09qWnJ2cnJWTEVuWmZIY0cwcjlvR09FamlmQnN2NFkzN3YxY1UzMW9URDVG?=
 =?utf-8?B?N051TWM3YXRDSTBKSU5JYkxtektwNVcvdjhOTjZUZXdXMnMzay8ycS9oNCtE?=
 =?utf-8?B?RkxnQzJsM0NOUUNacFFpazVmd2ZycldBS2piSDBQVndTSXZqMnJFUHcrV0RG?=
 =?utf-8?B?bjNqd3pLaUhSOVRjakJ5a1pLRnJqT05LTjdwQ1RqbG0xMEhhd0UvZVVHWjYv?=
 =?utf-8?B?MGt3bFY3QkNzTStRNytSczdOOGZKQU9ONk1iNWFSYzcwa1dzaUN3ZHVvZzRF?=
 =?utf-8?B?MmpROVZwUEI4VklweFNBcE9HN21iZEdDdG8yWUNrSXZuZVhSc1dmRy8yMmRs?=
 =?utf-8?B?YWZOaFE0K3NyMHJRQkRqYWZmMHBxRkN1Wm0vZVJ6VEs3OVNQQ3hGTWhPUm5k?=
 =?utf-8?B?M0hLMGJqV241TXI2WUExdllkU3loWjRMejhLeHo2d242QTZtcW4xQ0NWVXc0?=
 =?utf-8?B?U0lxb1JhS0VqbVJMRkNSWWZsWEhlNmkwVkFyOHExZkt4eHkwOExvZWNZU2ky?=
 =?utf-8?B?QU5SM044Um1kRFQ3NnFOdllzbEhZS1J5eUlhTjVWUHBHWEJEMGR3b0E2ZFpP?=
 =?utf-8?B?MHdieFNaYkpZVjJyRWFRTENVR1U2aURabjluVUcwSjdvVXI3VVdoVm5tUXY2?=
 =?utf-8?B?Wm12cnQ5UzN6aGQ0WTdFaEo0NUJGOWVZekplVUltZTI5cHJUSUFldkpQRHZn?=
 =?utf-8?B?R2RZS2hRTXVEL2kzaXFVZFRUck9ZZFp1Y0F2RmtWOW9tZnZ3R2lJMG9uV2xr?=
 =?utf-8?B?bEw1Ri94bldXOVFaWU5xL0RhZ25JZlpvWTRrTk4xcGlJMEZLNHhaSlNlTnhY?=
 =?utf-8?B?ZjE4QktCWE5zRERONHpmTzBWcWFyUUFIb0VvUDBBWjZ4ZFR0dm02RG43dlNZ?=
 =?utf-8?B?TlFCb2VvcFU3TnFKVjBYOXF4YVB0c01pWTA1L2p0VzNCaTV6VWFrc3ByRVFU?=
 =?utf-8?B?N0ZjekVJR1JNRDVQWlRGZXNEalNvMmtoK3dqSm9YdWcwb2FKUkhhK2FJRld5?=
 =?utf-8?B?U3dIMnplcWZWc3V0bEs1LzFYSGJ2alVGMFp4M1lEZVlUQi9CVGlUcVRGT2t0?=
 =?utf-8?B?ZU8rL3NGQkVBcHlxV2Q0bmVGVzh6VDRYQmJuTFZxZ0sxNzBrd0drd1VSeUNo?=
 =?utf-8?B?cHdKMVNFQXhWd3BnRFpHc0JyUVVxUkdvenJsclJDTXhhS3BETXpVMnlPazAr?=
 =?utf-8?B?eEtxM0Z0eWM5cm9ud3hnTW5LMjJ2clBodWFoM2NHWTFVc25PSGpHUlhUUFFW?=
 =?utf-8?B?cDl2ci9TTFhSWGU0c0pPY1BTWTYxUjVobVNzV1JrZ2doUkJMVXROUWZhUjVa?=
 =?utf-8?B?Vm9pLzg4TnpBaTY4Q3gvLzV0cVVrbEdwaWJoYkFKb0JzMW9McUpqNkpLcmFs?=
 =?utf-8?B?d1FaUzRHVWNuNVdEWFI4aklpdWRuQXJQK09vYkdMUDhmOUREaURvbFNrRGkx?=
 =?utf-8?B?a0ZxM214S0hmdllkQXJBdFFVYkFEZG10T25RZjVnVER3Rnp4dEE1SjZiT0xj?=
 =?utf-8?B?L2hCR050OEUzRTZHbjNYL1JjV1MxSkQzRWxSUCtibUVTUytPeHhUbjFtZkhS?=
 =?utf-8?B?bjdKVHBmNFgvMTlpcndvREFvcXNiemUvTDNscTA5TjZlUzN4ZFRiNmFxYWN1?=
 =?utf-8?B?MVBhZ3ZkY3d1SlB2QzU4Y2FUYlZnb0VlanI3VGt3WjYrdVlNdlVtYzdjRzZK?=
 =?utf-8?B?RUNFbnErTXdNcFR4WDdyUjdCbHJvUlJKZUFaUlJ5bm9qUmJUSThRNkVKV0RW?=
 =?utf-8?B?SGE0SXQ3SzJBcWJXazZ2WG8rYkE1eWhMNFJ2N0plUGFrVGZVN2FNK0YyU1Mz?=
 =?utf-8?B?MDNpa3h0TERJZW42cERhNzEzam4yS2NVV0VKdTVJWUppZ01xc1Izd0hKUXpw?=
 =?utf-8?Q?dMe1vx84L+PNwS6fabfGtjo=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4abdb108-896e-4d7f-5e7b-08d9dcb33c53
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jan 2022 07:54:22.0648
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 8LybI9M2G0WR+2xrdNNGCtzuAMMUhR8ttT2EqMky/j+tz8vbGjhhTJynC+8SVxf+l522VTIbN+fBArukeoz/qg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB6485

On 21.01.2022 04:38, osstest service owner wrote:
> 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:  6536688439dbca1d08fd6db5be29c39e3917fb2f
>   Bug not present: 88d3ff7ab15da277a85b39735797293fb541c718
>   Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/167778/
> 
> 
>   commit 6536688439dbca1d08fd6db5be29c39e3917fb2f
>   Author: Andrew Cooper <andrew.cooper3@citrix.com>
>   Date:   Wed Jan 12 13:52:47 2022 +0000
>   
>       x86/msr: Split MSR_SPEC_CTRL handling
>       
>       In order to fix a VT-x bug, and support MSR_SPEC_CTRL on AMD, move
>       MSR_SPEC_CTRL handling into the new {pv,hvm}_{get,set}_reg() infrastructure.
>       
>       Duplicate the msrs->spec_ctrl.raw accesses in the PV and VT-x paths for now.
>       The SVM path is currently unreachable because of the CPUID policy.
>       
>       No functional change.
>       
>       Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>       Reviewed-by: Jan Beulich <jbeulich@suse.com>

Hmm, looks like you decided to drop the inline stubs, yet now in the
shim build we get

msr.c: In function 'guest_rdmsr':
msr.c:431:16: error: implicit declaration of function 'hvm_get_reg'; did you mean 'pv_get_reg'? [-Werror=implicit-function-declaration]
         *val = hvm_get_reg(v, msr);
                ^~~~~~~~~~~
                pv_get_reg
msr.c:431:16: error: nested extern declaration of 'hvm_get_reg' [-Werror=nested-externs]
msr.c: In function 'guest_wrmsr':
msr.c:675:9: error: implicit declaration of function 'hvm_set_reg'; did you mean 'pv_set_reg'? [-Werror=implicit-function-declaration]
         hvm_set_reg(v, msr, val);
         ^~~~~~~~~~~
         pv_set_reg
msr.c:675:9: error: nested extern declaration of 'hvm_set_reg' [-Werror=nested-externs]
cc1: all warnings being treated as errors

Jan



From xen-devel-bounces@lists.xenproject.org Fri Jan 21 07:56:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 07:56:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259259.447345 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAomX-0004Cv-LM; Fri, 21 Jan 2022 07:56:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259259.447345; Fri, 21 Jan 2022 07:56:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAomX-0004Co-I2; Fri, 21 Jan 2022 07:56:25 +0000
Received: by outflank-mailman (input) for mailman id 259259;
 Fri, 21 Jan 2022 07:56:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=57ha=SF=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nAomW-0004Ci-OG
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 07:56:24 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a0a774aa-7a8f-11ec-8fa7-f31e035a9116;
 Fri, 21 Jan 2022 08:56:23 +0100 (CET)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2057.outbound.protection.outlook.com [104.47.6.57]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-25-OKCEDvYcN0SZ-nv6BXE7nQ-1; Fri, 21 Jan 2022 08:56:21 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AS1PR04MB9408.eurprd04.prod.outlook.com (2603:10a6:20b:4d8::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.10; Fri, 21 Jan
 2022 07:56:20 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.010; Fri, 21 Jan 2022
 07:56:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a0a774aa-7a8f-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642751783;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=YESKsxqmISkh1KsoJjCDJFI4vdBL+BU3vax+i6mSNrk=;
	b=T9HvfBdyquZMv7K0yrGd7TbRc0XUmkub6OVSz6PjQfQVEFfyUhBqt/KFTvXn6g81Zh6nrK
	f/9d972ulvNnT9cX8Rf/U8UsXW7eXjnqJ8KUIY3xdyVpbKNeUE6jocjRbwKx+/YQSgMlFv
	LEYj0qfVV4VBX9CVDUlhfIwooBkV+Rs=
X-MC-Unique: OKCEDvYcN0SZ-nv6BXE7nQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Q1QZcBO9ce9RqOSg4GUDPiXjEH9ljbT0hNKRayn43qWgYmvG3Z1cIS0KULofS1aja3rbE3hlVCr9t288FBAHuR0os1swPuHYuo72CUG+4nUtqv+iUw3JzbUXUdQrZRtF0hJNPF8jLrdPmmJFNoZWFgBI8pfkG7ddLrW3smyJB7j8bP92fhGg7LGL13h7eZJ7I0m7vT1Cf5arwcNEqlFSfyLywMGUIwt0O4Jo1exl+mEPZhUtK4BDptsekv6P0Es6uo553fs2YtSAMTHwYIayZSM1dMR8Y/Q3jeQvfOguA15w++x5HBOU9WG1Y+OYygNJWKnlDRH0oLxgUdgd38jnYg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aOy6to8HiePAc53m7rmMNsRiypag8/GsIWYCFz1Jw2c=;
 b=XwWN5ByFXRSHJxGVSkmALeDe5LUQdRQm0LvvmbUm10s692jnPPq5gZ0dUukRfNp3DrXOFIDO5Rjulbj5eilsKDG2MfNwJwK+3eMJMK7exckFUXRO7+bkUfGH8IkElaN8+ML8hGB48tpIqp+OqiU/JoSozivrK7p8SZmAWfK4vj7c+PMm2CwDPlIZNA0uIzqlINRGIaWc6n3Hc63uK3vRwWJcN7M5Vwwspr/x/WCi0STupvbaCvO+CppmC3boNGIe6yD9x0s1IOTlUwI5NJOH0RL/5+d05ybZ9y6fK8WMiGUNh8LI0iWFumDbZajc8ZQ9jx+GJc2qqWm7ui7pi9fXZA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9d6953d9-6799-2d22-b6be-6e88b2633e53@suse.com>
Date: Fri, 21 Jan 2022 08:56:18 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v2 4/4] x86/spec-ctrl: Fix NMI race condition with VT-x
 MSR_SPEC_CTRL handling
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
 Kevin Tian <kevin.tian@intel.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220117183415.11150-1-andrew.cooper3@citrix.com>
 <20220117183415.11150-5-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220117183415.11150-5-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM6PR10CA0072.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:209:80::49) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 24427a4c-ca4c-4460-9f64-08d9dcb382b1
X-MS-TrafficTypeDiagnostic: AS1PR04MB9408:EE_
X-Microsoft-Antispam-PRVS:
	<AS1PR04MB940822F7F1EA92B48847AB38B35B9@AS1PR04MB9408.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:
	Hiy0xVIfHL3TBT4LSGoU36fGlBoLW8IS/bdlAd/K2CwWSp3cH8mZTCEiVJc4rKL8XcJczV93smLekuxa5bufZEF+Kg5BAcxqMcm5JHItWmTEkTJcMQ/oGI985Nmv2IezhRVRz1MADfnUytxLyyk3JXFUrFm9yU/1I38+dlSH3NaJ5ptJgQvQBc3S1UTF2TCbRj+vTFUvOFxqE/hUcJDzec0X9ppzo29LPwLeB1Upd4Ggo6UfJ3ExBRKCyYKHXN5tnxT/f/71cioHq901ZL1przB7KVG8Aa2GOrZyhPC2MU9Tj8kt8Y/YscMNWyJYikYlU76CiwKa/MPDKhY5wZMgMbovVrb1bdZ0cziccHx07a/GD59N2PM/90nKEyhsHhaifQvFHcePvXX8ZvfEjpO5uwmk0QQ7/DvEpePP6T7G8f2w+baDXh6ybfT/gvfSW9gI333phO2dU904Za+1itbDa+H+20jpb1fm+sBnBJoJ/PakCD7vVqzu5TPNd72Sh0+Ik6GeC5UVLTU9Gj8yhCwz7KZ6W2Ca41xj2dqYHPI5IaT4/WRND+Tg1v0ydeGld8ljip/E/8/25KxhmHNViZvVZWWa/JJb1riy1Im4LDkDemVYEKs6JMrR3FZwKOC3IWCiw3cBhrOg0xdH0c21+ARP7p540Kq01cM1r/XOQjHyuzz6nTg2a05zDSwWfMeGlAePOGbufY9xHv3szCkMnDaiIYdMPUQMB+N8hbSKO4QKp5SuCyoEvP5UMcvw0LSMsknC
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)(2906002)(83380400001)(8936002)(36756003)(31686004)(508600001)(8676002)(6916009)(186003)(26005)(6486002)(53546011)(6512007)(316002)(38100700002)(2616005)(66946007)(66476007)(66556008)(31696002)(4326008)(5660300002)(54906003)(86362001)(6506007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?FKXw6EJbnhx7L39b9CcR6nXQCnRurL39BqGBNgPQa8umM5TGgmDrSyKB5T/n?=
 =?us-ascii?Q?z/F9WRliw40GbxBeJLHfRpXrmrRehXrTQ2cEy03Nr95MZPHBx+GqXYiVV1u9?=
 =?us-ascii?Q?ZVmrv71Pq5p+jrITY3zIvi1SQMKpNusI5eWjrzwPi0I7m3sYIO8HnVKew+yz?=
 =?us-ascii?Q?JulIYmt+5Y7cTV7QIlDWi2UfMV3qROCPSfibhew5vUR26UWHJ6t486mkEUe5?=
 =?us-ascii?Q?yc52LJRWNvNr+eWRa8xgv4jMOSK6gcamG0+iSfAPdlmDvhJ9/DJM+4D3jsr9?=
 =?us-ascii?Q?Re9UV9tXTS+dq95sVIqLv1L2aQxb8XL5/a0MFFePpTMlcnBfmaQcJuvoyReU?=
 =?us-ascii?Q?AvMyRBRKh2fPyseXQLcO7g8cVSpdUsXaFzZse9pdlZ3y5OKXJ9czF8VBGowf?=
 =?us-ascii?Q?+opawTJBZZ7SOSrxJRggyBL119u6LKoFZkLhKj28qq6+Wcf+DB6cEcTRkCN/?=
 =?us-ascii?Q?yQsLdoIhoQBi1zydVzF7dS9GkHiAzsF1kY7RiA8iRnLzB5JEeycq0v345LtX?=
 =?us-ascii?Q?kmaRgWYGWIiLIiwDolPEhv8YRAbDy/lfCMELA3X8lS1l2oalnYr2v00EYIVt?=
 =?us-ascii?Q?hY+d0X265NNWuHmGyVW59wX+GSt9OpCX6g4T+1MvZf5YeBmsO+z7btMhLE6W?=
 =?us-ascii?Q?29K7RKtwoD7bWWnn8nYOT6X7v5V/jP3lZ+NR1Td+CCT0zJ2p4d4FoeyjhHwI?=
 =?us-ascii?Q?AmivAWa7hdgque7itGVyeO8LD3CUd2wz9EfEuu24x1+3FI6M1LWfh9ithU0I?=
 =?us-ascii?Q?hOl9mlnnhjXoI58Ib9bVC4Ew2hXE9jWMQg/tfltXT94Ntc5UWJ3qJsC5I2i+?=
 =?us-ascii?Q?h6QVlQ0V77c25UJYMXMhYixCHsh8flKT3PewhstLhjd263STX0yrD9x0QAU9?=
 =?us-ascii?Q?KjYy+7DC1wmvU1sMVyEtyziHJkb57tndxd6yYNCsTcKXi3RTUtLj4V+HYu8e?=
 =?us-ascii?Q?JVW93qNKCQ4/HnSbghYyMYNXOVmX9Vw3DbCjW6EWLSPS8DL66l8c6jsM0LAL?=
 =?us-ascii?Q?Nlrz+DfmAVF5vfkI+UlaE5VUHwHEjH87LmyZG/fWdmrQlHxjJAP/x61MTvz1?=
 =?us-ascii?Q?kc814TZ0b9bgA98fRzVXCcUvGyDIf1ZHGlZcB9seUrDcQVpsvuhknso8SSjf?=
 =?us-ascii?Q?yusXyjGF+xj6669pMo6mBRuX3RjQdw4Tz+w3yqCzOMpeSr3gtESwOkXn65Lz?=
 =?us-ascii?Q?+7ibk6g3y2as9rHNazwX3/mNwRABzu7cE/jOz+koNgnLJhRNsGE7AGtzgehG?=
 =?us-ascii?Q?ujGrm8wdK3+PCshbQYZB7kKcYplPVlTr1wCgcE/g2FscvGGhGGy3kiS+/gHk?=
 =?us-ascii?Q?KJQ9Rm9wrxFHbaqe8YcWizYWNkKlL6UwY9LITdXeBFw5Q5Hz8u2SlOuTp1SE?=
 =?us-ascii?Q?/bMLnXhQfJjCFiwBZUpKRqroX4lnefOrVB/78r4t1c1eKCOFifFE6rjXIdtT?=
 =?us-ascii?Q?N8Js4R1+EyEmr6CMFbvHner4VY5KVotzRqNMBkH+Btw53hiL44KgOTej+kMf?=
 =?us-ascii?Q?Je+iSa9pf/IyLSrAWed+9fChv/hW6OKAWa5HDv8t2bmW//WpK2soBjuL6zB8?=
 =?us-ascii?Q?tOQistkqe6MD02u+jydEzZEUbwzJnyMHmpKd0odd68BEF6pDjC32MHQK2hXs?=
 =?us-ascii?Q?ycflt3ZZD0sktnAGqRUXggo=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 24427a4c-ca4c-4460-9f64-08d9dcb382b1
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jan 2022 07:56:20.1830
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: khzbjsRnf0KFEDVA7PFKiVN+4QSV6qpyjW6C69d1CtgB5J4Hu94bGYxRSfSahrt40Gv6s9rFcoTaGnzLMmEPBg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR04MB9408

On 17.01.2022 19:34, Andrew Cooper wrote:
> The logic was based on a mistaken understanding of how NMI blocking on vm=
exit
> works.  NMIs are only blocked for EXIT_REASON_NMI, and not for general ex=
its.
> Therefore, an NMI can in general hit early in the vmx_asm_vmexit_handler =
path,
> and the guest's value will be clobbered before it is saved.
>=20
> Switch to using MSR load/save lists.  This causes the guest value to be s=
aved
> atomically with respect to NMIs/MCEs/etc.
>=20
> First, update vmx_cpuid_policy_changed() to configure the load/save lists=
 at
> the same time as configuring the intercepts.  This function is always use=
d in
> remote context, so extend the vmx_vmcs_{enter,exit}() block to cover the =
whole
> function, rather than having multiple remote acquisitions of the same VMC=
S.
>=20
> Both of vmx_{add,del}_guest_msr() can fail.  The -ESRCH delete case is fi=
ne,
> but all others are fatal to the running of the VM, so handle them using
> domain_crash() - this path is only used during domain construction anyway=
.
>=20
> Second, update vmx_{get,set}_reg() to use the MSR load/save lists rather =
than
> vcpu_msrs, and update the vcpu_msrs comment to describe the new state
> location.
>=20
> Finally, adjust the entry/exit asm.
>=20
> Because the guest value is saved and loaded atomically, we do not need to
> manually load the guest value, nor do we need to enable SCF_use_shadow.  =
This
> lets us remove the use of DO_SPEC_CTRL_EXIT_TO_GUEST.  Additionally,
> SPEC_CTRL_ENTRY_FROM_PV gets removed too, because on an early entry failu=
re,
> we're no longer in the guest MSR_SPEC_CTRL context needing to switch back=
 to
> Xen's context.
>=20
> The only action remaining is to load Xen's MSR_SPEC_CTRL value on vmexit.=
  We
> could in principle use the host msr list, but is expected to complicated
> future work.  Delete DO_SPEC_CTRL_ENTRY_FROM_HVM entirely, and use a shor=
ter
> code sequence to simply reload Xen's setting from the top-of-stack block.
>=20
> Adjust the comment at the top of spec_ctrl_asm.h in light of this bugfix.
>=20
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> CC: Wei Liu <wl@xen.org>
> CC: Jun Nakajima <jun.nakajima@intel.com>
> CC: Kevin Tian <kevin.tian@intel.com>
>=20
> Needs backporting as far as people can tolerate.

Besides the earlier patches in this series, are there any other prereqs
that you're aware of and which aren't there yet in the stable trees?

Jan



From xen-devel-bounces@lists.xenproject.org Fri Jan 21 08:19:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 08:19:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259269.447356 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAp8c-0007Ba-Q4; Fri, 21 Jan 2022 08:19:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259269.447356; Fri, 21 Jan 2022 08:19:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAp8c-0007BT-N8; Fri, 21 Jan 2022 08:19:14 +0000
Received: by outflank-mailman (input) for mailman id 259269;
 Fri, 21 Jan 2022 08:19: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 1nAp8a-0007BJ-Pd; Fri, 21 Jan 2022 08:19: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 1nAp8a-00087d-Km; Fri, 21 Jan 2022 08:19: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 1nAp8a-0002V3-AZ; Fri, 21 Jan 2022 08:19:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nAp8a-0008Og-AB; Fri, 21 Jan 2022 08:19: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=7KsASj954yftA/0rsJMLJV/Y1SqWLtC4bhRYzIlw8tU=; b=BGYMmwTlj4lDKc9g32qXM1ocmO
	ODE2wGocGr/Uv+o19/v6Tx2A9GUag4M3kVEQPCuVnmH6pB44El21oeLPLadd9rTr7QgcPFmCDYX0P
	UVemRs9Su29u5q5AMi6qCpilszQdLXGzUZ62/YT7+KKh6OcWXmRQ6lmtVatYMNME5+iw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167780-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 167780: 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=0626219dcc6a4376c1a4b04209d6c15d06e23875
X-Osstest-Versions-That:
    xen=4e1df69cc9f51b2e017af1da3ed5b45917642115
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 21 Jan 2022 08:19:12 +0000

flight 167780 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167780/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   6 xen-build                fail REGR. vs. 167761

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                  0626219dcc6a4376c1a4b04209d6c15d06e23875
baseline version:
 xen                  4e1df69cc9f51b2e017af1da3ed5b45917642115

Last test of basis   167761  2022-01-20 14:00:29 Z    0 days
Testing same since   167764  2022-01-20 20:01:37 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.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 0626219dcc6a4376c1a4b04209d6c15d06e23875
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Mon Jan 17 18:40:50 2022 +0000

    x86/hvm: Drop hvm_{get,set}_guest_bndcfgs() and use {get,set}_regs() instead
    
    hvm_{get,set}_guest_bndcfgs() are thin wrappers around accessing MSR_BNDCFGS.
    
    MPX was implemented on Skylake uarch CPUs and dropped in subsequent CPUs, and
    is disabled by default in Xen VMs.
    
    It would be nice to move all the logic into vmx_msr_{read,write}_intercept(),
    but the common HVM migration code uses guest_{rd,wr}msr().  Therefore, use
    {get,set}_regs() to reduce the quantity of "common" HVM code.
    
    In lieu of having hvm_set_guest_bndcfgs() split out, use some #ifdef
    CONFIG_HVM in guest_wrmsr().  In vmx_{get,set}_regs(), split the switch
    statements into two depending on whether the require remote VMCS acquisition
    or not.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 81f0eaadf84d273a6ff8df3660b874a02d0e7677
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Wed Jan 12 15:47:27 2022 +0000

    x86/spec-ctrl: Fix NMI race condition with VT-x MSR_SPEC_CTRL handling
    
    The logic was based on a mistaken understanding of how NMI blocking on vmexit
    works.  NMIs are only blocked for EXIT_REASON_NMI, and not for general exits.
    Therefore, an NMI can in general hit early in the vmx_asm_vmexit_handler path,
    and the guest's value will be clobbered before it is saved.
    
    Switch to using MSR load/save lists.  This causes the guest value to be saved
    atomically with respect to NMIs/MCEs/etc.
    
    First, update vmx_cpuid_policy_changed() to configure the load/save lists at
    the same time as configuring the intercepts.  This function is always used in
    remote context, so extend the vmx_vmcs_{enter,exit}() block to cover the whole
    function, rather than having multiple remote acquisitions of the same VMCS.
    
    Both of vmx_{add,del}_guest_msr() can fail.  The -ESRCH delete case is fine,
    but all others are fatal to the running of the VM, so handle them using
    domain_crash() - this path is only used during domain construction anyway.
    
    Second, update vmx_{get,set}_reg() to use the MSR load/save lists rather than
    vcpu_msrs, and update the vcpu_msrs comment to describe the new state
    location.
    
    Finally, adjust the entry/exit asm.
    
    Because the guest value is saved and loaded atomically, we do not need to
    manually load the guest value, nor do we need to enable SCF_use_shadow.  This
    lets us remove the use of DO_SPEC_CTRL_EXIT_TO_GUEST.  Additionally,
    SPEC_CTRL_ENTRY_FROM_PV gets removed too, because on an early entry failure,
    we're no longer in the guest MSR_SPEC_CTRL context needing to switch back to
    Xen's context.
    
    The only action remaining is to load Xen's MSR_SPEC_CTRL value on vmexit.  We
    could in principle use the host msr list, but is expected to complicated
    future work.  Delete DO_SPEC_CTRL_ENTRY_FROM_HVM entirely, and use a shorter
    code sequence to simply reload Xen's setting from the top-of-stack block.
    
    Adjust the comment at the top of spec_ctrl_asm.h in light of this bugfix.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 95b13fa43e0753b7514bef13abe28253e8614f62
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Wed Jan 12 16:36:29 2022 +0000

    x86/spec-ctrl: Drop SPEC_CTRL_{ENTRY_FROM,EXIT_TO}_HVM
    
    These were written before Spectre/Meltdown went public, and there was large
    uncertainty in how the protections would evolve.  As it turns out, they're
    very specific to Intel hardware, and not very suitable for AMD.
    
    Drop the macros, opencoding the relevant subset of functionality, and leaving
    grep-fodder to locate the logic.  No change at all for VT-x.
    
    For AMD, the only relevant piece of functionality is DO_OVERWRITE_RSB,
    although we will soon be adding (different) logic to handle MSR_SPEC_CTRL.
    
    This has a marginal improvement of removing an unconditional pile of long-nops
    from the vmentry/exit path.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

commit 6536688439dbca1d08fd6db5be29c39e3917fb2f
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Wed Jan 12 13:52:47 2022 +0000

    x86/msr: Split MSR_SPEC_CTRL handling
    
    In order to fix a VT-x bug, and support MSR_SPEC_CTRL on AMD, move
    MSR_SPEC_CTRL handling into the new {pv,hvm}_{get,set}_reg() infrastructure.
    
    Duplicate the msrs->spec_ctrl.raw accesses in the PV and VT-x paths for now.
    The SVM path is currently unreachable because of the CPUID policy.
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 88d3ff7ab15da277a85b39735797293fb541c718
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Mon Jan 17 12:28:39 2022 +0000

    x86/guest: Introduce {get,set}_reg() infrastructure
    
    Various registers have per-guest-type or per-vendor locations or access
    requirements.  To support their use from common code, provide accessors which
    allow for per-guest-type behaviour.
    
    For now, just infrastructure handling default cases and expectations.
    Subsequent patches will start handling registers using this infrastructure.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Fri Jan 21 08:59:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 08:59:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259277.447368 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAplq-0002v3-5n; Fri, 21 Jan 2022 08:59:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259277.447368; Fri, 21 Jan 2022 08:59:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAplq-0002uw-2J; Fri, 21 Jan 2022 08:59:46 +0000
Received: by outflank-mailman (input) for mailman id 259277;
 Fri, 21 Jan 2022 08:59:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nAplp-0002uj-20; Fri, 21 Jan 2022 08:59:45 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nAplo-0000Lx-UT; Fri, 21 Jan 2022 08:59: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 1nAplo-0004NT-Jd; Fri, 21 Jan 2022 08:59:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nAplo-0001WR-JB; Fri, 21 Jan 2022 08:59:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=lXlvOz+mcJAReek6eFTMbTPc9vxEvXAkyMSbwAcVw3k=; b=CneQPwYp5KMf9vth9oSDyz/pyy
	X/DyQjZ3NPvwHwdj0koEP2zawCNc59zgYaxTNkw915bRFl/xnznuIxt2PuMXSIO2GbA8Oalho8bxM
	LtYLvEGynq0joLJfFKYqWPb7dFDyQ6P63QNT+BhtpKC8HJE94X2jU/VIQIQMcZGSzIxU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167763-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 167763: FAIL
X-Osstest-Failures:
    linux-5.4:test-armhf-armhf-xl-credit1:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-credit1:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start: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-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-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-qcow2:saverestore-support-check: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-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-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-xl-thunderx: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-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-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-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-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-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-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu: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-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-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-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-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=4aa2e7393e140f434c469bffe478e11cb9c55ed8
X-Osstest-Versions-That:
    linux=b7f70762d1584a2b66e056412fd39ad6f6344c89
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 21 Jan 2022 08:59:44 +0000

flight 167763 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167763/

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  in 167757

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-credit1  5 host-install(5) broken in 167757 pass in 167763
 test-amd64-amd64-xl-rtds 20 guest-localmigrate/x10 fail in 167757 pass in 167763
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 167757 pass in 167763
 test-arm64-arm64-libvirt-raw 17 guest-start/debian.repeat fail in 167757 pass in 167763
 test-armhf-armhf-xl-rtds     14 guest-start                fail pass in 167757

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-rtds    15 migrate-support-check fail in 167757 never pass
 test-armhf-armhf-xl-rtds 16 saverestore-support-check fail in 167757 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167712
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167712
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167712
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167712
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167712
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167712
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167712
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167712
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167712
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167712
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167712
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167712
 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     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-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-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-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-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     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                4aa2e7393e140f434c469bffe478e11cb9c55ed8
baseline version:
 linux                b7f70762d1584a2b66e056412fd39ad6f6344c89

Last test of basis   167712  2022-01-16 08:41:53 Z    5 days
Testing same since   167757  2022-01-20 08:44:22 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Al Viro <viro@zeniv.linux.org.uk>
  Arnd Bergmann <arnd@arndb.de>
  Christian Borntraeger <borntraeger@linux.ibm.com>
  Christian Brauner <christian.brauner@ubuntu.com>
  Christian Lachner <gladiac@gmail.com>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Dan Carpenter <dan.carpenter@oracle.com>
  David Hildenbrand <david@redhat.com>
  Eric Farman <farman@linux.ibm.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hulk Robot <hulkrobot@huawei.com>
  Jamie Hill-Daniel <jamie@hill-daniel.co.uk>
  Johan Hovold <johan@kernel.org>
  Jon Hunter <jonathanh@nvidia.com>
  Kalle Valo <kvalo@kernel.org>
  Larry Finger <Larry.Finger@lwfinger.net>
  Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Masahiro Yamada <masahiroy@kernel.org>
  Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Michael S. Tsirkin <mst@redhat.com>
  Mike Marshall <hubcap@omnibond.com>
  Miquel Raynal <miquel.raynal@bootlin.com>
  Nathan Chancellor <natechancellor@gmail.com>
  Nathan Chancellor <nathan@kernel.org>
  NeilBrown <neilb@suse.de>
  Nick Desaulniers <ndesaulniers@google.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul Barker <paul.barker@sancloud.com>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Russell King <rmk+kernel@armlinux.org.uk>
  Salvatore Bonaccorso <carnil@debian.org>
  Sean Christopherson <seanjc@google.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Takashi Iwai <tiwai@suse.de>
  Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
  Wei Wang <wei.w.wang@intel.com>
  William Liu <willsroot@protonmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  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-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-armhf-armhf-xl-credit1 broken

Not pushing.

(No revision log; it would be 486 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Jan 21 09:02:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 09:02:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259284.447379 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nApoL-0004JI-M1; Fri, 21 Jan 2022 09:02:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259284.447379; Fri, 21 Jan 2022 09: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 1nApoL-0004JB-Hj; Fri, 21 Jan 2022 09:02:21 +0000
Received: by outflank-mailman (input) for mailman id 259284;
 Fri, 21 Jan 2022 09:02:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g0ta=SF=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nApoJ-0004J3-Dj
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 09:02:19 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d347591d-7a98-11ec-bc18-3156f6d857e4;
 Fri, 21 Jan 2022 10:02:15 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d347591d-7a98-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642755736;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=xruKqgasY5HYaX+rO9KYoyn+hj/hj/XhJdIt7oNO8ic=;
  b=d78cipqkOKb+Z9e3xpwJil8xUsnJc4XaIDgX1efLcwRTfrJxmgxRt3O/
   3EQQCtvqnNQvfscrNWJbFH9bt2qGbd1p3CuaUPucHNFsLXfRMYO1SnoIH
   sm/1aC+1S4wmvCPCf36aTzpntTohYRnysy0g9a7m23PzHie4//O/8PISe
   M=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: fBInysA/FVwYQQCmFSCWLlFHoNkk9xL196/yasiI2Sj0XEi8xKKVyZDbYciDhuUqdG0eCpxhI8
 /ZWpV5mNcbfFKxVTiu8+EguBHrzYE4Or6CTaMmSJqdB1/709CjXeIEQ27SYvVpWGpzB3H8uSOi
 zLYfD9hS9WzPjhZ9cOhdB/0GQHA7reVX5p0/XBDu/JUvgkpqbQ02431CxDISfisVXKUfv16R20
 uS0Ie6vs6Mxzxbyo0WNQq408KT4gR4sNA7v1LJCF0qr/UZ4jTbkVTohQrctJ6mfsfhoIe0W5E7
 7ssj2k0P1QrSUu0NzwakydE3
X-SBRS: 5.2
X-MesageID: 64629217
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:ILqOu6OcDYeJIBzvrR25kcFynXyQoLVcMsEvi/4bfWQNrUoh32YHy
 WcZDz/UP/qCZ2XxeNslOYW3/EwEvp7WzNI2TQto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdpJYz/uUGuCJQUNUjMlkfZKhTr6UUsxNbVU8En150Eg6w7dRbrNA2rBVPSvc4
 bsenOWHULOV82Yc3rU8sv/rRLtH5ZweiRtA1rAMTakjUGz2zhH5OKk3N6CpR0YUd6EPdgKMq
 0Qv+5nilo/R109F5tpICd8XeGVSKlLZFVDmZna7x8FOK/WNz8A/+v9TCRYSVatYoy3Wg4t62
 dJGjt+pTyExN6CWxtssVAYNRkmSPYUekFPGCX22sMjVxEzaaXr8hf5pCSnaP6VBpLwxWzsXs
 6VFdnZdNXhvhMrvqF6/YvNrick5atHiIasUu216zCGfBvEjKXzGa/uWu4UJhm5v7ixINdfwO
 +YUbzBkViSaU0JrMU0LELc/nPj90xETdBUH8QnI9MLb+VP7wAVv3f7tOdzOd9qiQcRTg1bep
 2Ta8mC/CRYfXPSV0RKM9nOhgL+JkS6TcJJCSpW7++RsjVnVwXYcYDUGWF3+rfSnh0qWX9NEN
 1dS6icotbI19kGgUp/6RRLQiH6ctzYOSsZXCasx7wTl4q/V5QmeLnIJQj5IdJots8pebTYtz
 F6S2dTyGSZorqaWWFqa7L6fqT70Mi8QRUcGZCkZXU4G7sPlrYUbkB3CVJBgHbSzg9mzHiv/q
 xiIozI5nK47ltMQ2uOw+lWvqy6joojhSg8z+xnNWWSk/kV1aeaNfJe04FLW6fJBKoexTVSbu
 nUA3c+E44gz4YqlzXLXBr9XRffwuqjDYGa0bUNT84cJ72uxoHWyeotroyh4Al9gP5xaRg7uf
 xqG0e9O36N7MHyvZK5xRou+DcU20KTtfejYuuDogslmOcYoKlLelM16TQvJhj22zhBw+U0qE
 c7DKZ7EMJoMNUhwINNarc852KRj+C0xzHi7qXvTn0X+iur2iJJ4pN443LqyggIRsfvsTOb9q
 Y832y62J/N3CryWjs7/q997ELzyBSJnba0aUuQOHgJ5HiJoGXs6F9jayq47dopuksx9z7mUp
 C7lAR4JkQah3RUrzDlmjFg4MNsDur4k9RoG0dEEZw70ixDPn67yhEvgS3fHVeZ+r7EypRKFZ
 /IEZ9+BEpxypsfvoFwggW3GhNU6LnyD3FvWVwL8OWRXV8M+G2Thp4G1FiOypHhmJnfm7qMW/
 uz/vj43tLJeHWyO+u6MNqL2p75w1FBA8N9Ps7zge4kKJx60odE0ckQcTJYfeqkxFPkK/RPDv
 y6+ChYEv+jd5Ygz9djCn6efqIm1VeB5GyJn86PztOze2fDy8jXxzIlefvyPeDyBBmr49L/7P
 bdezu3mMe1Bl1FP6tIuH7FuxKM4xt3uu74FkVg0QCSVNwymWuF6P32L/chTrakRlLVXjhS7B
 xCU8d5ANLTXZM68SAwNJBAoZ/io3O0PnmWA9uw8JUj3vXcl/LeOXUhIEQOLjShRcOl8PI8/m
 L9zs88K8Q2vzBEtN4/e3CxT8m2NKF0GUrkm6c5GUNO61FJzxwgbM5LGCyLw7JWeUPl2MxEnc
 m2Oma7Pp7VA3U6eIXA9ImfAgLhGjpMUtREUkFJbfwaVmsDIj+Mc1QFK9WhlVRxcyxhK3r4hO
 mVvMEEpd6yC8y0x2ZpGVmGoXQpAGAeY6gr6zF5QzD/VSEyhV2rsKmwhOLnSoBBFojwEJjULr
 quFzGvFUCrxeJCj1yQ/bkdptvj/QIEj7QbFgs2mQ5yIEpRSjeAJWUNyib7kcyfaPP4=
IronPort-HdrOrdr: A9a23:xpndpamy0nvCQNLreAVT4YyAf/fpDfO0imdD5ihNYBxZY6Wkfp
 +V88jzhCWZtN9OYhwdcLC7WZVpQRvnhPpICO4qTMuftWjdyRaVxeRZg7cKrAeQfREWmtQtt5
 uINpIOc+EYbmIK/PoSgjPIaurIqePvmMvD5Za8854ud3ARV0gJ1XYGNu/xKDwQeOApP+tdKH
 LKjfA32AZINE5nJfiTNz0gZazuttfLnJXpbVovAAMm0hCHiXeN5KThGxaV8x8CW3cXqI1SvF
 Ttokjc3OGOovu7whjT2yv66IlXosLozp9mCNaXgsYYBz3wgkKDZZhnWZeFoDcpydvfomoCoZ
 3pmVMNLs5z43TeciWcpgbs4RDp1HIU53rr2Taj8A3eiP28YAh/J9tKhIpffBecwVEnpstA3K
 VC2H/cn4ZLDDvb9R6NqeTgZlVPrA6ZsHAimekcgzh0So0FcoJcqoQZ4Qd8DIoAJiTn84oqed
 MeQ/003MwmMW9yUkqp/VWGmLeXLzYO91a9MwQ/U/WuonlrdCsT9Tpc+CQd9k1wg67VBaM0o9
 gsCZ4Y542mePVmGZ6VNN1xMfdfNVa9My4kSFjiWWgPNJt3ck4l+KSHqInc2omRCek1Jd0J6d
 P8bG8=
X-IronPort-AV: E=Sophos;i="5.88,304,1635220800"; 
   d="scan'208";a="64629217"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oB7E2DyHRt4ikf5+v4D1w0NTRVTZs7HLWiFKxj3zW+bWKiaQVn1QFRBpJSD8J/bLHTtxg/3zZWhA8jA2WYeauvdDO1/DAQVGur9iuhPFCuE/oRb4upAA9KH6XDPTm0fgnbdmI4L51+/2O28R+Dx5E9eepw4/tn9snH+P+7NyHaspJFh5qNDTvA6IOXOIN0diLC37F945PSPSV2orotWcxtaHpqSogdU2TefKMbI8rYFVDcd3gCWcQXyuScemffJUt3lVdsq0hI4o92yrLCDA9c/JMBU5WJjd5lrpETR2+lpDSU/C+Zot4RqjC52ywe9/SSSSAq56J4YEKdJWugLo9w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4GQtCO8m3tAl2RPxHrcI+Aqf67JkTTp2rtnhBaDCS/4=;
 b=gpuNo1drAxVP4ldyJxuIjJjdxcNke+33giF3pK5gPMvk6nJQVpCFd4/5V4b22VoeWmW2kNHoPryoObofjtJUmqWdjK2q8+R61CPBvhdf5j9JhpSDq9FBHQpPTpr5J+pkMIzmlcw4gQY+gAJI/lsqA/E0g5Hz11mR4fm9Y7FkJRNwHrHrvZicULDB/cC3Hm0S7U/lxVE0l4Oy2LmTBVLKJEsmjZlgQDXKw0eCVH+sfgTB904PXTG9S3VqMcpu/G9THi79yQUYl6mCnjaIRCJZooFFeukqbXCbrrc2kSC7dhhKoEAKz3BTbQcAel6sfO71Ai5NBxUnzoBhluaBEOHr1A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4GQtCO8m3tAl2RPxHrcI+Aqf67JkTTp2rtnhBaDCS/4=;
 b=NWpBw1kmDzTVqfIiXAZQ/Sqj91SVk9cuAlNJewAOz9lWDwLU9DWp31LbuJXd6SVxoc7dObopV3qkmHraiRMXUcR6Rtf9njOOx5i0D7E1h9MdsjJHjvKK39TScHdsJovEXf8kPn9NDld8XlX7o14DFgnTfs283SYo9yqYbxZbbD4=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <linux-kernel@vger.kernel.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Boris Ostrovsky
	<boris.ostrovsky@oracle.com>, 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>, Dave Hansen
	<dave.hansen@linux.intel.com>, <x86@kernel.org>, "H. Peter Anvin"
	<hpa@zytor.com>, <xen-devel@lists.xenproject.org>
Subject: [PATCH] xen/x2apic: enable x2apic mode when supported for HVM
Date: Fri, 21 Jan 2022 10:01:46 +0100
Message-ID: <20220121090146.13697-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <a34aff19-4530-7f44-c849-4b3eb2aa3d00@oracle.com>
References: <a34aff19-4530-7f44-c849-4b3eb2aa3d00@oracle.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MR1P264CA0071.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:3f::20) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d0d5230e-7887-4374-c8f6-08d9dcbcb378
X-MS-TrafficTypeDiagnostic: DM6PR03MB4476:EE_
X-Microsoft-Antispam-PRVS: <DM6PR03MB44762360B33C0834813FB4B58F5B9@DM6PR03MB4476.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:556;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: ELqzPaYvxeI7oZylrEJHLDJd89io6oJzZ6H2xqeFzxA2n09Er1i1m2n4PhOCcvNbHxVa3xpuykeWlHBDPh4qLa3XWNpDS+EiCNTSyrJwQaThK/BgXFflU8+19ADp8Izk1V77fZqfOMo3RIvd4tYVTFauIynPRJxJbxMwYtkPoUJOLIDe5wz4A+s18YitVbmsbLwAD3/o0ls7bukOsgFhFEZj7Qu0RYesbQdyz8q4ejkOsGvL/DjVyZMvjMf2aQ8rYM/c3YZczwEMQagEnOF1FP1wBx7cGjst13lNA/xhOP0667gzoLI7WXzLP0BPZ/PC+mWZLCb9LMmkMDyR2PKTR5yoDpC8pl7DXZ9nEMZaMZjHtsJs/wwHWJbt8t7w2uyPwKfNVuk71Wb1ZA1r8cxbypC4jJ6QeLeMxpLl9GQ10YYv//kdzGFlhfR/WopKAH7zSzFKIfXPO3CqW7zI0waWZMqYYjKvjuvFXeSAzA72IcB887vLyjkmWf1af/VAxrX8eUTKmvPqNB4vQt6Xo03Gn9SVdSmQPRETL6BJbSuLUHBZsbuaPyhSB5GKz9GqiVwK994vQf8Cg8gKEdrXOVIzYOOu6QshcU9D+IGZntGQ+PTuyKQWnBUDi1dG5x04VOXf4n6NZE8w0LUWd0c7FP+uNg==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(2906002)(6486002)(82960400001)(1076003)(8676002)(38100700002)(7416002)(8936002)(2616005)(86362001)(6506007)(6916009)(36756003)(26005)(54906003)(316002)(4326008)(66946007)(66556008)(66476007)(5660300002)(508600001)(6512007)(186003)(6666004)(83380400001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RkJpbjlpNVhDTnV6SHdaWERhRy9SR3J0MGh2dGFmeUZSL004ZzVSZFdibEpo?=
 =?utf-8?B?dFhmdlZ6UXdXYlBhSFlnVU44SjhqcDVZS0I2VUFlMEdMSWhiVkZkeXp1U0FN?=
 =?utf-8?B?OG1MeitVZDZPUFFCdHh0d2VNNlhoSzBpbkM1eWlkNjZrU002SXdsMHFvVFFZ?=
 =?utf-8?B?cncyZGpOc2RkYnhWTk5jcUJwVmU5dHkyZWlxZlZZNTNycEpFb3ErNmM5ZlZT?=
 =?utf-8?B?UkhaS2NiWTQ1ZXN2ZkU4dHFjd0J6NzEzZnF6ZUtneEgyYUl4dHFEMEY3dFJH?=
 =?utf-8?B?RzBCaDBwVUhHUU9DZlJmMDRZWEF5U3d5WnFkT0R6QXV6bTVpNEVNVlRkcGhG?=
 =?utf-8?B?d3VPblF3eTVWeHpJNzYvc2pqVlVQY2JjSlN1TUxsTm51QmV2eHRncnZsWS9E?=
 =?utf-8?B?NkRwVkt1VTVudGJ6MlVtMFdwVDFjQkQrSFJhdTAwMlJHdnBZdDZXNzVsZERF?=
 =?utf-8?B?dXd1NllteDNUaURQSG1tMVI0dzRxRG5nTnVLWnN0TjJNUFRkMVoxYzNlVU5U?=
 =?utf-8?B?eWJrcCtkek5FcHJ3dzF6WVJsZUUwVXhYVms5L0ozZmxCZGtEdGgvRWpBYkJH?=
 =?utf-8?B?MlQ5d2YrbnNWVTVKeDJCV1RManBzeE5hZzQrQ1V2MFowOXZJeXFqejhsM1RJ?=
 =?utf-8?B?SDN0bDhTSjgwc1F4TlpsdUl4ZGM3SXBWYUd3c1grZThlTWpSdHpOK1NFcE1P?=
 =?utf-8?B?c2RTZi9sUDNtQmw2TnRTMlpXTWNCZVFNWTJsM0lVQnlidWJsQkx1MVNiakY2?=
 =?utf-8?B?OVZsU0lMNW9KZG5saFhqdVNlS1lFejRtWHFBSjJIeXU3ZWxTRXdZTWxsVm5H?=
 =?utf-8?B?L1FsRkowMTlwemZ0Ylh1S05ndFVHcDZjQ3V6blBUK0s1SEQwVVFhZ0xIS3di?=
 =?utf-8?B?d0hGS3hMd3FUWVo0cW1lQzhYVUdabG5WU1pCb3Fwa0tkY0VycXQ1YjFVU3Fu?=
 =?utf-8?B?ZU90MmN0c09mbXNMTHBoalI3RlVTN1FqRWlIZUpBdXlsWHJ1QUVva1J4b3pV?=
 =?utf-8?B?eFBoNW85d0lpemhGaENRVTg5ckpFSExDY1lWcXR2aG1WaWNQSTFTRXRRQ0Uv?=
 =?utf-8?B?RWhRNFdkL2FMRmt0OEJNdTkyL0ZKUTE1ckhtTjl6Y0NWRmFpTDlEd3V1Qnoz?=
 =?utf-8?B?VGNBRUg4T1V4TUJQaE5BdlZGS3ZCdkZwTHZYVmVrN01wdkZpazROZ0UwR3Er?=
 =?utf-8?B?VDV5YlJtQyt3RWZKVERQNUhGcS9HZFM5NHZ2b1p5b25KaGZnaTViVjB0MW5P?=
 =?utf-8?B?bERmNEhYL1dmS2xzazlnUGZ5QmlpdjdGV1Fjdmk3SG1RZEI4TldsT0haMzFS?=
 =?utf-8?B?cVZmdWsralhTODV6Uzk2aHlyNldHS3pKSHpOSnNFZ3RIdDdMSWxEK2dtcm5M?=
 =?utf-8?B?VnV5VjQwN3NkbmN5ZnB2VkJ0bEJ5cWxHQXlJK3N6NXBZeXdwbUp5WE5xUlZP?=
 =?utf-8?B?TTJqdHF3Tko3akdnZEFjbE1JUkZXN2ZXcnNnS25VczJsZjByU3JvbGdadmxu?=
 =?utf-8?B?Zi9CWE9lc21LZnJFTVRCUkh5SnlvdStjakZYbEs2T3pBNmhwMU1GVXdGQUFw?=
 =?utf-8?B?MlZOWmRZVzZvd0s1bUtTRWd6TDZ1czBSbm5nUkpaRkFmWXY5ZTRLbkJ1WGhw?=
 =?utf-8?B?MXU4RFF4SldoNXI1N1VORVMxOW1CU3lUTFI0SGk2MHV2UFg1R0cwRlo3TFE4?=
 =?utf-8?B?ZmJTa1hyZG1MK1QxR1p3MWtmVkhDSWlZRUdzZktwMkQ2cTY5aWJCM251cjMw?=
 =?utf-8?B?Nm90N3FSdUxTNFpWOGNwVHIwUlVKTUNEYW5seDJUdzlPTm5aL0Vsa1k0RG9a?=
 =?utf-8?B?Z2R5Y1d3eUttcDBkTzRINDhybWRwQmxNd3ZnQmFjelNiVGFWNjhMZU9BeGpB?=
 =?utf-8?B?T2hYb2lxb1FIa2NiL3NZN1loR2RIMHlZQ2dqcnozQkZzT3FOSjRlbklYdTF0?=
 =?utf-8?B?MjVUbldyMm5WUVNDVFdYMmErRkszdWtvNDZGUzN4L1YyWG9kY21RN1FSS25P?=
 =?utf-8?B?aHpTZEV6K1Q5ZjVtZmMzU2I0RHVqRjIrNWZWYVMwaHJxKzluRnRidlBLZlJ2?=
 =?utf-8?B?Nnlkb0Q3N3NjWFpXUGFkS0R0VFQ3aVRtc2RBTm84VDRJZUNJMGd3UXhYTmJ4?=
 =?utf-8?B?TVFaZVh5M2JQUWoyMGUxSFpnVytkN3pCY0toQVlvd0Y2Q3BYTmYxdE1nT0Jt?=
 =?utf-8?Q?FQ1s/Ya5DnynNcPjYqQ4N5c=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: d0d5230e-7887-4374-c8f6-08d9dcbcb378
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jan 2022 09:02:07.4978
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: iwxy0fEnFy0k9qPoL4LClPuypx8w963hBoL1hlzm+E2rIB0j0L49B5uK5ZA0mBMCHvWGffOb/smIGLAHvuQ5Ww==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4476
X-OriginatorOrg: citrix.com

There's no point in disabling x2APIC mode when running as a Xen HVM
guest, just enable it when available.

Remove some unneeded wrapping around the detection functions, and
simply provide a xen_x2apic_available helper that's a wrapper around
x2apic_supported.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v1:
 - Remove useless code around x2APIC detection for Xen.
---
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: xen-devel@lists.xenproject.org
---
 arch/x86/include/asm/xen/hypervisor.h | 14 --------------
 arch/x86/xen/enlighten_hvm.c          | 13 ++++---------
 2 files changed, 4 insertions(+), 23 deletions(-)

diff --git a/arch/x86/include/asm/xen/hypervisor.h b/arch/x86/include/asm/xen/hypervisor.h
index 1bf2ad34188a..16f548a661cf 100644
--- a/arch/x86/include/asm/xen/hypervisor.h
+++ b/arch/x86/include/asm/xen/hypervisor.h
@@ -43,20 +43,6 @@ static inline uint32_t xen_cpuid_base(void)
 	return hypervisor_cpuid_base("XenVMMXenVMM", 2);
 }
 
-#ifdef CONFIG_XEN
-extern bool __init xen_hvm_need_lapic(void);
-
-static inline bool __init xen_x2apic_para_available(void)
-{
-	return xen_hvm_need_lapic();
-}
-#else
-static inline bool __init xen_x2apic_para_available(void)
-{
-	return (xen_cpuid_base() != 0);
-}
-#endif
-
 struct pci_dev;
 
 #ifdef CONFIG_XEN_PV_DOM0
diff --git a/arch/x86/xen/enlighten_hvm.c b/arch/x86/xen/enlighten_hvm.c
index 42300941ec29..6448c5071117 100644
--- a/arch/x86/xen/enlighten_hvm.c
+++ b/arch/x86/xen/enlighten_hvm.c
@@ -9,6 +9,7 @@
 #include <xen/events.h>
 #include <xen/interface/memory.h>
 
+#include <asm/apic.h>
 #include <asm/cpu.h>
 #include <asm/smp.h>
 #include <asm/io_apic.h>
@@ -242,15 +243,9 @@ static __init int xen_parse_no_vector_callback(char *arg)
 }
 early_param("xen_no_vector_callback", xen_parse_no_vector_callback);
 
-bool __init xen_hvm_need_lapic(void)
+static __init bool xen_x2apic_available(void)
 {
-	if (xen_pv_domain())
-		return false;
-	if (!xen_hvm_domain())
-		return false;
-	if (xen_feature(XENFEAT_hvm_pirqs) && xen_have_vector_callback)
-		return false;
-	return true;
+	return x2apic_supported();
 }
 
 static __init void xen_hvm_guest_late_init(void)
@@ -312,7 +307,7 @@ struct hypervisor_x86 x86_hyper_xen_hvm __initdata = {
 	.detect                 = xen_platform_hvm,
 	.type			= X86_HYPER_XEN_HVM,
 	.init.init_platform     = xen_hvm_guest_init,
-	.init.x2apic_available  = xen_x2apic_para_available,
+	.init.x2apic_available  = xen_x2apic_available,
 	.init.init_mem_mapping	= xen_hvm_init_mem_mapping,
 	.init.guest_late_init	= xen_hvm_guest_late_init,
 	.runtime.pin_vcpu       = xen_pin_vcpu,
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Jan 21 09:15:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 09:15:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259286.447390 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAq1J-0005s3-W1; Fri, 21 Jan 2022 09:15:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259286.447390; Fri, 21 Jan 2022 09: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 1nAq1J-0005rw-R7; Fri, 21 Jan 2022 09:15:45 +0000
Received: by outflank-mailman (input) for mailman id 259286;
 Fri, 21 Jan 2022 09:15:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=58fC=SF=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1nAq1H-0005rq-Nl
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 09:15:43 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on0621.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::621])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b44d952e-7a9a-11ec-bc18-3156f6d857e4;
 Fri, 21 Jan 2022 10:15:41 +0100 (CET)
Received: from DB3PR08CA0036.eurprd08.prod.outlook.com (2603:10a6:8::49) by
 AS8PR08MB6760.eurprd08.prod.outlook.com (2603:10a6:20b:393::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.10; Fri, 21 Jan
 2022 09:15:39 +0000
Received: from DB5EUR03FT007.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:8:0:cafe::cd) by DB3PR08CA0036.outlook.office365.com
 (2603:10a6:8::49) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.8 via Frontend
 Transport; Fri, 21 Jan 2022 09:15:38 +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.4909.7 via Frontend Transport; Fri, 21 Jan 2022 09:15:38 +0000
Received: ("Tessian outbound 826a6d8e58c3:v113");
 Fri, 21 Jan 2022 09:15:38 +0000
Received: from 12ee30140afb.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 8C2037BE-94EB-47A3-8F0B-DCA9232A73B5.1; 
 Fri, 21 Jan 2022 09:15:32 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 12ee30140afb.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 21 Jan 2022 09:15:32 +0000
Received: from DU2PR08MB7325.eurprd08.prod.outlook.com (2603:10a6:10:2e4::7)
 by VE1PR08MB5693.eurprd08.prod.outlook.com (2603:10a6:800:1a5::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.8; Fri, 21 Jan
 2022 09:15:30 +0000
Received: from DU2PR08MB7325.eurprd08.prod.outlook.com
 ([fe80::b1b3:fe7b:e56b:b2fe]) by DU2PR08MB7325.eurprd08.prod.outlook.com
 ([fe80::b1b3:fe7b:e56b:b2fe%9]) with mapi id 15.20.4909.012; Fri, 21 Jan 2022
 09: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: b44d952e-7a9a-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ht17sfsBFKs5sbiNdFUpSEjSLSRisxR2BXIrjSqHg5w=;
 b=MrC1zak/JweQOgrMs9xwU3qwTWQiD+OpwQ+uiDYOzkwRG/kYnFuY044W16egsovTzom3vRxjeoTwp1DrLFLpY2IKYlpoAGrsA9K+pq7xLT+zqMY+VmfcduL85wt8R4V6Kr1IIABlDCCj5m11zz+SleetsaIhP631LMPggCO/BhQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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=SbarPiamgrwmwugmaKcEPCQE85jXGW30tEnsuXgpQSI7094mh5keh88br8EaPPZlshcSJujYz/snih4EuFTOiCtJMvFCLrBRy/pttZkM7fqZ513lGzfKG53kNvDBOAoCYwxxSAi/AWHO2hO+i7HQfJas4WLVhYCC5rNeCLkJeTJ1ETON1JO+uNmiHjMetheg7jJ7DzXfmTVqsblMDEZwWLKCFyOHIxs1HT6jSyGaaOZpevO7qMU2nq/gHlzfB1KsryoaOBlZt8OMfzS7IiVPuRanUISQTYAVsSYLeXvH29WOB3Qt+As07knggWwP2DrxOaxipEu5gDTdyvJwYENr0w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ht17sfsBFKs5sbiNdFUpSEjSLSRisxR2BXIrjSqHg5w=;
 b=AXB5tuN+IYavk/Twp537moyC18+dzSYJm5uQezzY86T1uDPe4A9xe8StmUIucIzhbj3/uxn3wlSBSGsilLrvIBact9ANJsPGfw2AaxOO8X4IhJwvm7trP82S5SE+2jkTNZMzo5VjxRDZofVTi3TU/s8d4FJJsdgZAQkzmANLQ5IgafZKbam7oBDyjM3fNaUD7I0Spusf+oFzYHaXZiDT6JZ8daEjG6CYLJauGp1IcJZUKFiyyaHGgcpSdG7SQRcrCfk5LeqQoBxywNsFnXz7SUkQUB7x7GYt1ZuCsFNBg4ULIWLpbVWaDPrAl766Lj202uHMDqTWT4Jh8U662qm3Tg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ht17sfsBFKs5sbiNdFUpSEjSLSRisxR2BXIrjSqHg5w=;
 b=MrC1zak/JweQOgrMs9xwU3qwTWQiD+OpwQ+uiDYOzkwRG/kYnFuY044W16egsovTzom3vRxjeoTwp1DrLFLpY2IKYlpoAGrsA9K+pq7xLT+zqMY+VmfcduL85wt8R4V6Kr1IIABlDCCj5m11zz+SleetsaIhP631LMPggCO/BhQ=
From: Penny Zheng <Penny.Zheng@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@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: [PATCH v4 02/11] xen: introduce CDF_directmap
Thread-Topic: [PATCH v4 02/11] xen: introduce CDF_directmap
Thread-Index: AQHYA9H+JIfw9425OkuSPzbM51YUg6xtROgg
Date: Fri, 21 Jan 2022 09:15:30 +0000
Message-ID:
 <DU2PR08MB73256E26F49902C55661A418F75B9@DU2PR08MB7325.eurprd08.prod.outlook.com>
References: <20211220052123.969876-1-penny.zheng@arm.com>
 <20211220052123.969876-3-penny.zheng@arm.com>
 <e13c5289-f32b-dea8-f9c2-a0a6a98413a4@suse.com>
In-Reply-To: <e13c5289-f32b-dea8-f9c2-a0a6a98413a4@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: DC6EC2BC1087704B860DB3AA340E955C.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 3c4533e2-30d0-454c-77cf-08d9dcbe971d
x-ms-traffictypediagnostic:
	VE1PR08MB5693:EE_|DB5EUR03FT007:EE_|AS8PR08MB6760:EE_
X-Microsoft-Antispam-PRVS:
	<AS8PR08MB6760785B3067B033E90A4F1CF75B9@AS8PR08MB6760.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:1227;OLM:1227;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 cTw+L5PaTo3esCiI4is4tA4eN2DdXeeCREwsjQuaeF+EZp9+1MDvyiagpf6cHgTUh1Oxo0Pls2s/3c3pClAckNRghiqt5qkC2BI7zaBWqgc8lzAHOnP7XKv+UN75rT/wj4dP+DY1oz31bi5gly0tBm2t/Uc1/4f4vb2Uqtg10iZogaMQ7BYWn4VvbctiYUTzm/fPZtG+vyzNhfgskQyy5JfqvUqNiFatEjXSi0bVcaGJUQTIB5cmAZs+pHvvxGUGCsoKABwrKhet600CW1OMU6m83o5UQn9gObE5h7+g6LPGVp7Gvjj8neDbHPQIZXAn1kNaU4RUBd7ZM+6M+ZFxdCwGXW+lTQ3GzYcNR+G2FhOA3SSJHGpDPXKEIvcMPbZqzY7V+yf66PHuyeQxe3JLWpaaWcA2Yqt4C2SWhx6pnghXBRVFSN3ze5HSjZPGpnoWYuC7VnRElnF1+R2ahdRqqOFYMrnUE7PEwBmK4Cip6lOBzkwLomGZ8zOxZUMJcZC9o9B9lLeiqPhSNgnywzl+lpP7GKnUkZDFX0c/nvw+SuMdII7GzFrnHS/oBFcmAIZqWL9l93VDxSdekXhlMwx5XiPOkJ4IdaovAVEiA7QYsJ5L/C6l7kcqYQFmntYe8tzR2xkSkWXam3DPgI594dcl1f0j/OPk3TExi27z4D90cIvWhXSj4XSe32OM/VaL3YM61mn/IueAhe+QV7JWksmQpQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR08MB7325.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(86362001)(55016003)(6916009)(83380400001)(71200400001)(8676002)(8936002)(5660300002)(38070700005)(9686003)(52536014)(122000001)(66946007)(4326008)(2906002)(54906003)(33656002)(66476007)(76116006)(38100700002)(316002)(7696005)(66446008)(64756008)(186003)(66556008)(508600001)(26005)(6506007)(53546011);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5693
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT007.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	befa9f92-e87b-4ffb-1584-08d9dcbe920e
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	OoygQO27q2/Odrjr/1PS6lXSQcS/342e05r7RP+X0RMUwf7cTDfK591Y+5w8apiCY88/T0tkF90pa0mvKXbiufGKaML2auf0cBMNteYYuPI1J0N9lhi6baNeNcHyK7JLyb6129g2luozDhBUMYkmyDcgXHbm39IzHmjz3PzBiJ3HA4U120D7zfs+X2blUVK3Rq0jH68yjHa8WlNKtYl19Xb/36iDI0KYY0yG8xh+C0wQnAsvW74QKnS+zuirTzg7YbfLp52bZmj88uFfjpYKpzBRVP9VP0sHJIur84TIAtFve5+nv3+xJwjRvDy+T/tgGKkI1WK1RDuf8/3dgKVT+inF4olshZaujoOn4IUIxDCuqpH5cqIXfXbw+Nliu79S9qu1TiilCHMa4K2uyiH0gDnxGwm7Ify7Gl3GBoTuM+YAji0q7amd62XNVjxZ06OWFfAIOMSMVMBwqy25pqiw3CrY+7giGqANCG+ckj880dIhK4xeStLaHnWpBozfNFb6oCOxnG5J7RfH2J2W7aNPd+VV5qT8NfU/m3h0VWoCi5mxH386aBd7LhrWWpNtFC4o4Uj574+eA1V/Yx/02qHBIGR+2XpUZlIIImp8k6baxiJicxeV9DD7Uqy3CO+RZtf7YnXcBuJ5h3qxUdSRutr1Y9F7zavkzV7x9gZ56tyuGTpR/u1DKF4pZNns++3fgSfcOWPO/xzQXo/hGGFKy1zSYw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(52536014)(508600001)(33656002)(8936002)(53546011)(6506007)(5660300002)(7696005)(26005)(186003)(86362001)(2906002)(336012)(70586007)(47076005)(4326008)(356005)(83380400001)(36860700001)(6862004)(316002)(9686003)(54906003)(8676002)(81166007)(55016003)(82310400004)(70206006);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jan 2022 09:15:38.6733
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3c4533e2-30d0-454c-77cf-08d9dcbe971d
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: AS8PR08MB6760

SGkgSmFuDQoNClNvcnJ5IGZvciB0aGUgbGF0ZSByZXBseS4NCg0KPiAtLS0tLU9yaWdpbmFsIE1l
c3NhZ2UtLS0tLQ0KPiBGcm9tOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+IFNl
bnQ6IEZyaWRheSwgSmFudWFyeSA3LCAyMDIyIDEwOjIyIFBNDQo+IFRvOiBQZW5ueSBaaGVuZyA8
UGVubnkuWmhlbmdAYXJtLmNvbT4NCj4gQ2M6IEJlcnRyYW5kIE1hcnF1aXMgPEJlcnRyYW5kLk1h
cnF1aXNAYXJtLmNvbT47IFdlaSBDaGVuDQo+IDxXZWkuQ2hlbkBhcm0uY29tPjsgeGVuLWRldmVs
QGxpc3RzLnhlbnByb2plY3Qub3JnOw0KPiBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqdWxpZW5A
eGVuLm9yZw0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHY0IDAyLzExXSB4ZW46IGludHJvZHVjZSBD
REZfZGlyZWN0bWFwDQo+IA0KPiBPbiAyMC4xMi4yMDIxIDA2OjIxLCBQZW5ueSBaaGVuZyB3cm90
ZToNCj4gPiBGcm9tOiBTdGVmYW5vIFN0YWJlbGxpbmkgPHN0ZWZhbm8uc3RhYmVsbGluaUB4aWxp
bnguY29tPg0KPiA+DQo+ID4gVGhpcyBjb21taXQgaW50cm9kdWNlcyBhIG5ldyBhcm0tc3BlY2lm
aWMgZmxhZyBDREZfZGlyZWN0bWFwIHRvDQo+ID4gc3BlY2lmeSB0aGF0IGEgZG9tYWluIHNob3Vs
ZCBoYXZlIGl0cyBtZW1vcnkgZGlyZWN0LW1hcChndWVzdCBwaHlzaWNhbA0KPiA+IGFkZHJlc3Mg
PT0gcGh5c2ljYWwgYWRkcmVzcykgYXQgZG9tYWluIGNyZWF0aW9uLg0KPiA+DQo+ID4gQWxzbywg
YWRkIGEgZGlyZWN0bWFwIGZsYWcgdW5kZXIgc3RydWN0IGFyY2hfZG9tYWluIGFuZCB1c2UgaXQg
dG8NCj4gPiByZWltcGxlbWVudCBpc19kb21haW5fZGlyZWN0X21hcHBlZC4NCj4gPg0KPiA+IEZv
ciBub3csIGRpcmVjdC1tYXAgaXMgb25seSBhdmFpbGFibGUgd2hlbiBzdGF0aWNhbGx5IGFsbG9j
YXRlZCBtZW1vcnkNCj4gPiBpcyB1c2VkIGZvciB0aGUgZG9tYWluLCB0aGF0IGlzLCAieGVuLHN0
YXRpYy1tZW0iIG11c3QgYmUgYWxzbyBkZWZpbmVkDQo+ID4gaW4gdGhlIGRvbWFpbiBjb25maWd1
cmF0aW9uLg0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogU3RlZmFubyBTdGFiZWxsaW5pIDxzdGVm
YW5vLnN0YWJlbGxpbmlAeGlsaW54LmNvbT4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBQZW5ueSBaaGVu
ZyA8cGVubnkuemhlbmdAYXJtLmNvbT4NCj4gDQo+IE5vbi1Bcm0gcGFydHMNCj4gQWNrZWQtYnk6
IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4gSG93ZXZlciwgLi4uDQo+IA0KPiA+IC0t
LSBhL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYw0KPiA+ICsrKyBiL3hlbi9hcmNoL2FybS9k
b21haW5fYnVpbGQuYw0KPiA+IEBAIC0zMDI5LDEwICszMDI5LDIwIEBAIHZvaWQgX19pbml0IGNy
ZWF0ZV9kb21Vcyh2b2lkKQ0KPiA+ICAgICAgICAgICAgICAubWF4X21hcHRyYWNrX2ZyYW1lcyA9
IC0xLA0KPiA+ICAgICAgICAgICAgICAuZ3JhbnRfb3B0cyA9DQo+IFhFTl9ET01DVExfR1JBTlRf
dmVyc2lvbihvcHRfZ250dGFiX21heF92ZXJzaW9uKSwNCj4gPiAgICAgICAgICB9Ow0KPiA+ICsg
ICAgICAgIHVuc2lnbmVkIGludCBmbGFncyA9IDBVOw0KPiANCj4gTml0OiBObyByZWFsIG5lZWQg
Zm9yIGEgVSBzdWZmaXggaGVyZS4NCj4gDQo+ID4gICAgICAgICAgaWYgKCAhZHRfZGV2aWNlX2lz
X2NvbXBhdGlibGUobm9kZSwgInhlbixkb21haW4iKSApDQo+ID4gICAgICAgICAgICAgIGNvbnRp
bnVlOw0KPiA+DQo+ID4gKyAgICAgICAgaWYgKCBkdF9wcm9wZXJ0eV9yZWFkX2Jvb2wobm9kZSwg
ImRpcmVjdC1tYXAiKSApDQo+ID4gKyAgICAgICAgew0KPiA+ICsgICAgICAgICAgICBpZiAoICFJ
U19FTkFCTEVEKENPTkZJR19TVEFUSUNfTUVNT1JZKSApDQo+IA0KPiBJc24ndCB0aGlzIHRvbyBs
YXggYSBjaGVjaz8gSSBkaWRuJ3QgZmluZCBhbnkgb3RoZXIgY2hlY2sgb2YgdGhpcyBwcm9wZXJ0
eSwgc28gdGhlDQo+IHVzZSBvZiBzdGF0aWMgbWVtb3J5IG11c3QgYmUga2V5ZWQgdG8gc29tZXRo
aW5nIGVsc2UuIEhlbmNlIGl0J3Mgbm90IHN1ZmZpY2llbnQNCj4gdGhhdCBzdGF0aWMgbWVtb3J5
IHN1cHBvcnQgaXMgZW5hYmxlZCBpbiB0aGUgYnVpbGQuDQo+IA0KDQpPay4NCkknbGwgY2hhbmdl
IHRoZSBjaGVjayB0byAiIGlmICggIUlTX0VOQUJMRUQoQ09ORklHX1NUQVRJQ19NRU1PUlkpIHx8
ICFkdF9maW5kX3Byb3BlcnR5KG5vZGUsICJ4ZW4sc3RhdGljLW1lbSIsIE5VTEwpICkgIg0KdG8g
bWFrZSB0aGUgY2hlY2sgYSBiaXQgbW9yZSBzdHJpY3QuDQoNCj4gPiBAQCAtNjUsNyArNjcsOCBA
QCBpbnQgbWFwX3ZjcHVfaW5mbyhzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgbG9uZyBnZm4sDQo+
ID4gdW5zaWduZWQgb2Zmc2V0KTsgIHZvaWQgdW5tYXBfdmNwdV9pbmZvKHN0cnVjdCB2Y3B1ICp2
KTsNCj4gPg0KPiA+ICBpbnQgYXJjaF9kb21haW5fY3JlYXRlKHN0cnVjdCBkb21haW4gKmQsDQo+
ID4gLSAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfY3JlYXRlZG9tYWlu
ICpjb25maWcpOw0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4ZW5fZG9tY3Rs
X2NyZWF0ZWRvbWFpbiAqY29uZmlnLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVuc2lnbmVkIGludCBmbGFncyk7DQo+IA0KPiBTYW1lIGNvbW1lbnQgYXMgZm9yIHRoZSBlYXJs
aWVyIHBhdGNoIHJlZ2FyZGluZyB0aGUgY29uc3QgaGVyZS4NCj4gDQo+IEphbg0KDQpNYW55IHRo
YW5rcywNClBlbm55IFpoZW5nDQoNCg==


From xen-devel-bounces@lists.xenproject.org Fri Jan 21 09:32:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 09:32:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259289.447401 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAqHP-0008BT-FF; Fri, 21 Jan 2022 09:32:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259289.447401; Fri, 21 Jan 2022 09: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 1nAqHP-0008BM-AT; Fri, 21 Jan 2022 09:32:23 +0000
Received: by outflank-mailman (input) for mailman id 259289;
 Fri, 21 Jan 2022 09:32:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g0ta=SF=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nAqHO-0008BG-F6
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 09:32:22 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 06584705-7a9d-11ec-8fa7-f31e035a9116;
 Fri, 21 Jan 2022 10:32:19 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 06584705-7a9d-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642757539;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=Ur9QsD4xF1dFsWbhDEbXog97eGAjq87d7rhdKDO9Uco=;
  b=LK4owlyh4yphXgrl63pQ6NBi2JyPPRrgV+LY1plzgIcOXHfg87Ctk0Hm
   iKc3H/TYc+lQ5cnHW7BAB4zcS+0kFTjwFePLXPwIfmhsZR7laW2V8phQ7
   KFd3ZbDLiQmYsLpaUNTWEbYqwzepAH3ueCI4ZLb4hs2DeZc5bKHkJiK7o
   c=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: tzg6Rm0arnzdlTVMVCrn9d8279QOjkps4k9xN6B9cfZ51i7RBO+vdW/Qf0pgabcvq+bhQ8LA4Y
 nVTaszzRGT9u9vhTxN7DHi9vKEWkYo5d6M/KBMhBe76lZ2nb8iUP6RbQD9coCkw1nvjwW/YzNd
 U/17S4GTGInOaBA6O5UP1eIdEDqFZTV2D4FiixhDhTyDd21PLU8VI2/6Ks03b49ZKtzlrxaMEH
 JeZiM0HfNU4XSbqihhIVH3WYcqEBol8J76Pp1D9m9DL7nBnNa0R7+I3JBRgSBmHSWCG4wiy4u8
 AVD3ou2igXzHNo58/T7HnDCa
X-SBRS: 5.2
X-MesageID: 62477247
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:BeqRNaClImCUoBVW/8jkw5YqxClBgxIJ4kV8jS/XYbTApDhw32MEn
 TYbXW6HOKmCNDGketElaNzl8UNVvcTTnIUwQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMo/u1Si6FatANl1ElvU2zbue6WL6s1hxZH1c+En9400s7wobVv6Yz6TSHK1LV0
 T/Ni5W31G+Ng1aY5UpNtspvADs21BjDkGtwUm4WPJinj3eH/5UhN7oNJLnZEpfNatI88thW5
 Qr05OrREmvxp3/BAz4++1rxWhVirrX6ZWBihpfKMkQLb9crSiEai84G2PQghUh/kDq3zt91w
 vx0kpGCdl4sYqLvouMnXEwNe81+FfUuFL7vJHG+tYqYzlHccmuqyPJrZK00FdRGoKAtWzgIr
 KFGbmBWBvyAr7veLLaTUO5ji95lNMD2FIgepmth3XfSCvNOrZXrHf+WuoACgGhYasZmQ83MX
 PopTyhVbxXaRztPIggFNZxjk7L97pX4W2IB8w/EzUYt2EDMyCRh3b6rN8DaEvSaSMMQkkuGq
 2bu+2XiHgpcJNGZ0SCC8H+nmqnIhyyTcIAYGaC89/VqqEaO3WFVAxoTPWZXutHg1BT4AYgGb
 RVJpGx+9sDe6XBHUPHmUCPpr3qOlyc7VuhvSuhm5yK3zZDbtlPx6nc/chZNb9kvtckTTDMs1
 0OUk96BOQGDoIF5WlrGqO7K8Gra1Tw9aDZbOHRaFVdtD8zL+dlr1nryosBf/LlZZzEfMRX52
 Hi0oSc3nN3/ZuZbhvzgrTgrb99Bz6UlrzLZBC2KBgpJDSsjPeZJgrBED3CBvJ6sy67DHzG8U
 IAswZT20Qz3JcjleNaxaOsMBqq1wP2OLSfRh1Vid7F4qWj3pCb4LNEJvG8mTKuMDiriUWSxC
 KM0kVgJjKK/wVPwNfMnC25PI5lCIVfc+STNCamPM4smjmlZfw6b5iB+DXN8LEi2+HXAZZoXY
 M/BGe71VC5yIf0+kFKeGrlBuZd2mHFW7T6DFPjTkkX8uZLDNSH9dFvwGAbUBgzPxPna8Fy9H
 hc2H5bi9iizp8WnMnCIqtZCdA5TRZX5bLivw/Fqmie4ClMOMEkqCuPLwKNnfIpgnq9PkfzP8
 G37UUhdoGcTT1WeQelTQnw8Or7pQ7hlqnc3YX4lMVqygiBxaoez9qYPMZAweOB/puBkyPd1S
 dgDetmBXasTGmiWpWxFYMmvtpFmeTSqmRmKY3ivbg8gcsMyXAfO4NLlIFfirXFcEiqtuMIii
 LS8zQeHE4EbTgFvAZ+OOvKixl+8p1YHn+d2UxeaK9VfYhy0ooNrNzbwnrk8JMRVcUfPwT6T1
 gC3BxYEpLaS/99poYeR3a3d9tWnCepzGEZeDlL317fuOHmI5HenzK9BTP2MIWLXWlTr9fjwf
 u5S1fz9bqEKxQ4Yr4pmHr935qsi/N+z9aRCxwFpEXiXPVSmDrRsfiuP0cVV7/Afw7ZYvU29W
 16V+8kcMrKMYZu3HFkULQsjT+KCyfBLxWWCsaVreB33tH1t4b6KcUROJB3d2iVSIYx8PJ4h3
 ep86tUd7Bayi0ZyP9uL5syOG79g8pDUv30bi6wn
IronPort-HdrOrdr: A9a23:jM+JrarCuiDdtlWONUjMlWAaV5uzL9V00zEX/kB9WHVpm5Oj+P
 xGzc526farslsssREb+OxpOMG7MBThHLpOkPMs1NCZLXTbUQqTXfpfBO7ZrQEIdBeOlNK1uZ
 0QFpSWTeeAcWSS7vyKkTVQcexQueVvmZrA7Yy1rwYPcegpUdAZ0+4QMHfkLqQcfnghOXNWLu
 v52iIRzADQBkj/I/7LTUUtbqzmnZnmhZjmaRkJC1oO7xSPtyqh7PrfHwKD1hkTfjtTyfN6mF
 K13jDR1+GGibWW2xXc32jc49B/n8bg8MJKAIiphtIOIjvhpw60bMBKWqGEvhoyvOazgWxa2u
 XkklMFBYBe+nnRdma6rV/E3BTh6i8n7zvYxVqRkRLY0LrEbQN/L/AEqZNScxPf5UZllsp7yr
 h302WQsIcSJQ/cnQzmjuK4GS1Cpw6Rmz4PgOQTh3tQXc81c7lKt7ES+0tTDdMpAD/60oY6C+
 NjZfusq8q+SWnqL0wxg1Mfg+BFBh8Ib1W7qwk5y4CoOgFt7TFEJxBy/r1bop8CnKhNPKWsqd
 60dpiAr4s+PfP+W5gNcNvpcfHHelAlfii8Ql56AW6XXZ3vaEi946Ie3t0OlZSXkdozvdwPpK
 g=
X-IronPort-AV: E=Sophos;i="5.88,304,1635220800"; 
   d="scan'208";a="62477247"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=m9cv7+3scWVBXu2XZE+7cyd/rHWnbY2lP0IyVrZ3MZJWJ3jHXJmUrVd3xTR7dI4uATkoHYBkQgRJ7q4QxQJ9ZhTpuT7EV0a6zQ+qmtK3mrUYqvswBG1VOrHX5PYMndjQkXYCyI4swvOAXHaP33soPVRaSJN09mt4v4qz3ToADgkhmeBatnayghDWjxyaInt4uc39QfTOnxg6/lIQMNy0kiN3hFtFCGsAtXhriK5MUCWYefMZmRGgNvur5eWV8bFecrvd7jQ08RkmvFDe8XdhFTfl5GRdV+LGPb95J/m80ByjfFpMuLIp2BoNSy5OPQT3CvPoMbtPL7W5xFdvNIcIlw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=D2ezVA96y3qqPoKVbdkfWHxz5mF0Cqrodn0s1V5j08c=;
 b=mTQoyEp+c5UxCrQ+1oNvJ5rlRoS1nXGiTx6MvHnVsx8/joAYSUI2bGdFovl+v0iYEnXsmcfyyD3Hxyt0DzlP7uQKCE/1bMq85X9v2WkBb7Gqha5rSWrxKjH9TyuGnFw8kR2t1FIHZx2MwMAxmHyQsqYAvUa1TGllZ9sVXcy4pS9J3VzNRvgwBA0Z2j519hTCrvyFD+vnM9PNFWJBrlaTC6K3B4SMtQX7MBnNcwdBrGUCl9xLeNpQ4yHjBLjGox7Qiwv7PeOauKxBsfzahALKvZmDN2hFyMxWvFgIt/8lBcg892cHtETuxC79LzsgKveVrIHO3LBrUJGHfZi3Ha4TUQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=D2ezVA96y3qqPoKVbdkfWHxz5mF0Cqrodn0s1V5j08c=;
 b=nETUqAlDzDQKZGpXVuQ8yOHPK+2KBzu3tbdrx/rmTPtE2r6wnKinTGOAjZ+cawSl3HO6rYTMgtuDAuGc9t13ORx8YxhB+S30S8kCm9iq9RX5B/BU8glGrOBkr5U2BxfsRjnzWF/jlAN+XzTSVAg3YnZbyTSh6GKr9CD0Es7fbMo=
Date: Fri, 21 Jan 2022 10:32:07 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH RFC v2 5/5] x86/mwait-idle: squash stats update when not
 actually entering C-state
Message-ID: <Yep9l/FvUh0flqP/@Air-de-Roger>
References: <568cb6dc-127a-9c8f-0073-2df173d4677b@suse.com>
 <b9270896-efea-3e81-99fb-685fc5b708be@suse.com>
 <YemHNOVyqGwZ7/eC@Air-de-Roger>
 <99f6520d-833b-bb90-5f72-f2a888379169@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <99f6520d-833b-bb90-5f72-f2a888379169@suse.com>
X-ClientProxiedBy: MRXP264CA0034.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:14::22) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8873a0db-72e9-4c20-af6f-08d9dcc0e7d2
X-MS-TrafficTypeDiagnostic: SN2PR03MB2303:EE_
X-Microsoft-Antispam-PRVS: <SN2PR03MB23035D28C8D36C59F11570E08F5B9@SN2PR03MB2303.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: p+e3vIklmmP2l+tSiT8voSBsbLFjao9TfBCFBvKgefQh151GZ4Rnq/cVpHpGwsTaC3SqANn8OaoTTlODvCApJxe98WSnWr3hrVJcr5/EvBuaBUquPCGgavIbSzKyHmb8TfsvDnUUBBvdbI94msYfnGbKav6R1XQO1XH+nCozeL6AnwaidapbgF/wQa4k060O34mobPph8jaCTltNRYXMv0NF5cjfHVqui4IyYmH/KkCde57UdA1MMZKImuW2QGnAUI4bcVtZChjyqWn00OeUxzmlqKOPfTgnrpO+xJjkp1EmOoaoLoO69BVEMJ4lCE8DXvyW973K79+T9ODN0R8UV/Fihtld3CCeDzERpw5pqY/IaiT3B7iPKmOVTNKGgfnnIZcygb9YllCYlm4XQqckiV3TG5XHvlxXvbxUBpDwY9o48dudu+RrJ5CyLj2NiohHEw1HhFoZ7wV43t2buZAkK7RF8QQVlK2vKFL3I41/hBW7axevVa8EN7zkNcsf+ChYEcpGl8hE5pXntCLL4M0KUMU/TKh/S7dl/VlbQV0vt7KzVuh8qwqjoQatwKCywJAtAZ5HRoJSTvL0OPELooF/0j5eWew+CNJhhqPv0YYarMmJtLCo3K1NaltCq3ZCoG7eZ+gR4vqvyNBw604ZDf4tHA==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(9686003)(6512007)(6916009)(5660300002)(54906003)(186003)(4744005)(82960400001)(85182001)(316002)(38100700002)(6486002)(83380400001)(6666004)(66476007)(8676002)(8936002)(66556008)(15650500001)(66946007)(86362001)(4326008)(26005)(2906002)(33716001)(53546011)(508600001)(6506007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RndrNXpxWHNveFNER3pQejRua1k4OG9FbHdBRlFVSWJZTk0yREZHTnlTU0x1?=
 =?utf-8?B?TGV6THQzTGE4R2RaZHNNYkNac2hRVThUUFFiR1IxQS9ySUg2TnNqZXkzS3pp?=
 =?utf-8?B?d0ptaUpaWGtnRDF2dGRHMWZLUTRYK3IzQzhZT3paSGNiTTIrc0dpQUJ2QzJC?=
 =?utf-8?B?dHV1QklUbTdWUElQYzBSWlhxcUFLVkFJQWxCaWExbTV6cWoySlV0N2krOG1W?=
 =?utf-8?B?dklUbFl1S3JuV0I5MkJBRTk4eUdXczNILzdSem16VkNjbUtwZHVYWXRTQTJX?=
 =?utf-8?B?dm8raExPVzd1L2lMdUhla2V1aHRLcDZ2bUtBSTMyT0ZJd0V3UlRud2tWalpQ?=
 =?utf-8?B?bGQzektKME40N21aTFhlZDNHS05nZDEwaGFQNXlUcDkyU1NmYkxzVDZjR3FT?=
 =?utf-8?B?VkZjZGtzTkxabWtwWkhFRWh3QXdHenU3Sk1pS1RDMHg5akpLNHlVdTVIOVFz?=
 =?utf-8?B?MnhYakJvZC93QjluTmpJOFg0TUtmbkVOb2NqcWRhUU4zUWdybkJSYVpqcHoz?=
 =?utf-8?B?YWJHYTdnWGVlN1BMaUV4bm9jcUkwanNDRXJ6Q0huWWwwOTlsb0NBSitKWVNL?=
 =?utf-8?B?RnY0Y0lRQ3VMZHEzNFFyQ0YwZUhkazMwMVMxVzZvTDlyL1RNUUhVMkRlYzFu?=
 =?utf-8?B?aTNPSkdyaHlTV2xnKzhTZWhWS2dLVHlYSlViU2J6LzhiRmJVZCt5ZlJudHdC?=
 =?utf-8?B?bURwVmM5V2lRL1dmM2ZDY3JabFRZaStYM29hSkd1YjVURGx4NFZ1UXdkSGF1?=
 =?utf-8?B?enZ5VlZqNWN2MVJiSlViejFSSGU4UFFYcHJYdmFDQmpjemFLdUdiVlhzbEti?=
 =?utf-8?B?VFZzN09FTW5ENTRTd2xQSjM0cGwzNm9BT01NNWQ4RmlndTJVY1B0QkVZb211?=
 =?utf-8?B?MTNpSXNZUFF0S0lvWFRmWFNEUzduZFBiayt6VVppTnh6dkpZTmtCdXhicnRV?=
 =?utf-8?B?cGNnMlhRRzU3Tmo2REJSMUlKeGw0RVU5SWxoTDBvaE9HQUltWlpwV3Zja1Jq?=
 =?utf-8?B?MDlCZy9kMGFHbVdmZUEvLzhhOUFNa281bGdhZjl1aXF6dURhZzdObHBGVmlE?=
 =?utf-8?B?cG82b1QyY1F6UFdXUzlYY2E5WTZEcEdrdERDRFpRTjFDR2YrcDhNeTZaZ1ZM?=
 =?utf-8?B?SXZENDArcm1tV1FXL1EvbXRydEl0anA3ZHV4R3ZpK1puMHpzc0RtQzZxQmtW?=
 =?utf-8?B?Ym93dGlwMGRaelN3eUJTT0Q1Q0JwVnUxU2RMcGRRMzBpM3JoK3kwSTZKWjRt?=
 =?utf-8?B?YVVLZW9YLzdlYmxQZjY4cDBYMUNGdHhvUmFFYWtTR1cyaHpzdThJamtSMzk0?=
 =?utf-8?B?ckM1ajJpY1dHUURhdTVTcVA1N3pRKzNSbFMxaXhGNTV3YjZkT3BHZFphWXl4?=
 =?utf-8?B?U1Z1ZmZ4Z0Jpd0VQMkZocUJ5MnltOHVDblRIZ25kdEZUZGFiNXB5aTdDOXEw?=
 =?utf-8?B?TTFVZXNGUTBRQ2VpN2JOM1MvWld6UFJlYU5HVmw5U1BEZ0JMZ3J3VEh3eFBI?=
 =?utf-8?B?SVFxUzIxTlk2SFFOaENvSWdGNFZ5OHNwNG5SS1Y5ckdudEt5UllVSENCelZw?=
 =?utf-8?B?eWhGSnViSlRzbGZMT0QvSnNGVlFQWHJlaTRsYnRDSXVzQVpIaGxid3FmOW5O?=
 =?utf-8?B?T1VIdEtXazhxSUV4RlFYRktickxsMXljVGUrUjkrN1ZRdkdRVW5yU2h4MTFh?=
 =?utf-8?B?UFluK1REMEx0b0lrSUY1WUt3VjMyV2NJSGxudmZWQm9yNlQ5L0pJQXorUXFC?=
 =?utf-8?B?TWxra1VkVlhadDFCWmx2bHpwRlBySEdBTnhoQ2dBT2tDSWFsYTM5R0lNVFE0?=
 =?utf-8?B?SGYzaDBqUThaajRET0lBMmI1c1k1REtVZDgxU2Q4c0RQWElFeFpyb1Noc0lM?=
 =?utf-8?B?VnNLRWRRWGdSamNlMXo5VG05VldTNkZFelAxK0F3ODBEOHEzbHhIY1p5R1Rn?=
 =?utf-8?B?Z3ovTDRtUTdqbzRUd014Snk4Tm5lc093Y0p1RkoyWTZCSjA0d3lZU0FJUzRa?=
 =?utf-8?B?RDRKN29OSGRBMk9nSTlRaE5YUmU5b1lBZGxwMTNnT0NpRGY0WGN3b3QyT2VT?=
 =?utf-8?B?NFJYZE1zVmdYRWJxSkZucWF6Z2dORzJuR0t5OEx2MmwzWklrSU9vUWVzZElN?=
 =?utf-8?B?OUovY3l3RG52WHp4WmhadDEvcnhXQTJVdjArdVNORWtnUXlGTzlDNHoyNUhX?=
 =?utf-8?Q?4NMhJB1raDi5Az0R3BjBQLo=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 8873a0db-72e9-4c20-af6f-08d9dcc0e7d2
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jan 2022 09:32:13.3011
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HnK6WIW2G/bEOP/1RkH/VG8bDu4jHdDET0J8xgYqMgYmG5BG3jiiqoXWcMETP1icNj98MZAqw46m+lPkRHY+9w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN2PR03MB2303
X-OriginatorOrg: citrix.com

On Thu, Jan 20, 2022 at 05:21:31PM +0100, Jan Beulich wrote:
> On 20.01.2022 17:00, Roger Pau Monné wrote:
> > On Thu, Jan 20, 2022 at 03:05:12PM +0100, Jan Beulich wrote:
> >> While we don't want to skip calling update_idle_stats(), arrange for it
> >> to not increment the overall time spent in the state we didn't really
> >> enter.
> >>
> >> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> >> ---
> >> RFC: Arguably more of what follows could be moved into the if() -
> >>      thoughts?
> > 
> > I would move at least the restoring of the TSC, but I would be fine
> > with moving everything up to local_irq_enable unless I'm missing
> > something.
> 
> Yes, that's what I was considering.
> 
> > I think you could likely also avoid the call to update_idle_stats so
> > there's no need to fetch the new tick count.
> 
> No, this call cannot be bypassed. At least not without further
> rearrangements elsewhere.

Ack, I would move everything you can then.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Jan 21 10:07:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 10:07:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259293.447412 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAqpU-00038S-8E; Fri, 21 Jan 2022 10:07:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259293.447412; Fri, 21 Jan 2022 10:07:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAqpU-00038L-4f; Fri, 21 Jan 2022 10:07:36 +0000
Received: by outflank-mailman (input) for mailman id 259293;
 Fri, 21 Jan 2022 10:07:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nAqpT-00038B-6F; Fri, 21 Jan 2022 10:07:35 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nAqpS-0001dx-Pp; Fri, 21 Jan 2022 10:07:34 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nAqpS-0006ha-Fl; Fri, 21 Jan 2022 10:07:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nAqpS-0001sc-FJ; Fri, 21 Jan 2022 10:07:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=TcHoc5DzwEnz+8cGcOl1Th1qQ7XTc6ZmJH/db0PNCdM=; b=KOOAWSg8BP0WH7gruXBhZv+qZ3
	5cSlBC548aN4RZyF24jgR3OJL7YyNdXvcKsa9PApvYyCgtE9xBTj8Y39jAD3WvdKYiYGGYFf1R9Cq
	t7vgO6QY5Fa9DHqy64bHndaks33+WtM4FzlR6eQyv4gb2/WBRFr4I9im7kmz2JVpNgHc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167762-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167762: 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-libvirt-raw:guest-start:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt: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-armhf-armhf-libvirt-qcow2: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-amd64-i386-libvirt-xsm:migrate-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-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=4e1df69cc9f51b2e017af1da3ed5b45917642115
X-Osstest-Versions-That:
    xen=9b7cdb83fccf59912e56714dd79dbfab57518a65
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 21 Jan 2022 10:07:34 +0000

flight 167762 xen-unstable real [real]
flight 167781 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/167762/
http://logs.test-lab.xenproject.org/osstest/logs/167781/

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 167781-retest
 test-armhf-armhf-libvirt-raw 13 guest-start         fail pass in 167781-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check fail in 167781 like 167755
 test-armhf-armhf-libvirt-raw 14 migrate-support-check fail in 167781 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167755
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167755
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167755
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167755
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167755
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 167755
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167755
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167755
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167755
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167755
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167755
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167755
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          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-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  4e1df69cc9f51b2e017af1da3ed5b45917642115
baseline version:
 xen                  9b7cdb83fccf59912e56714dd79dbfab57518a65

Last test of basis   167755  2022-01-20 02:23:41 Z    1 days
Testing same since   167762  2022-01-20 19:39:20 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   9b7cdb83fc..4e1df69cc9  4e1df69cc9f51b2e017af1da3ed5b45917642115 -> master


From xen-devel-bounces@lists.xenproject.org Fri Jan 21 10:23:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 10:23:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259302.447426 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAr4f-0005Wj-SF; Fri, 21 Jan 2022 10:23:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259302.447426; Fri, 21 Jan 2022 10: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 1nAr4f-0005Wc-PC; Fri, 21 Jan 2022 10:23:17 +0000
Received: by outflank-mailman (input) for mailman id 259302;
 Fri, 21 Jan 2022 10:23:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vcJM=SF=kernel.org=sj@srs-se1.protection.inumbo.net>)
 id 1nAr4e-0005WW-Sg
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 10:23:16 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2440556d-7aa4-11ec-8fa7-f31e035a9116;
 Fri, 21 Jan 2022 11:23:15 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id AAC69B81ED6;
 Fri, 21 Jan 2022 10:23:13 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 23E29C340E2;
 Fri, 21 Jan 2022 10:23: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: 2440556d-7aa4-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1642760592;
	bh=Ii8yP7zh6788U1HOUMwjHhPT9P1RzJltvOJwO3NSagA=;
	h=From:To:Cc:Subject:Date:In-Reply-To:From;
	b=ZW7+iSguoYSnP6jxulMh8gNC8UZD4XTHYJIdhdlufaef0ehROXK5ZiU2FHmzVDAxK
	 qFkw/z36mKQI0h+3d3gSZjczS8/9/c0aZxJYonwTgGvjy15GpNriKTPIvFkFVf4+ID
	 WoF39e2RWfeoFtQwv3EpKSux0svfJJtwRNq26KBkZjGPxL4ajBI3fTwbL3kA3jTvph
	 Ktb59Q5FIs+DgWwY2+rnMc0QdjGGT4utg2T80Zy5EI44JEwAsFZZPvlxp7pXnI6xuq
	 uqd/jRizTjfQpcuzAw09T45IkobTdvnRGTz2uzUfWxssK9ecs97I86KE4iRICzUPKU
	 iFULgvbf2XhLQ==
From: SeongJae Park <sj@kernel.org>
To: =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Cc: paul@xen.org,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH] xen, blkback: fix persistent grants negotiation
Date: Fri, 21 Jan 2022 10:23:09 +0000
Message-Id: <20220121102309.27802-1-sj@kernel.org>
X-Mailer: git-send-email 2.17.1
MIME-Version: 1.0
In-Reply-To: <Yd13iklHYgCxrLQw@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On Tue, 11 Jan 2022 13:26:50 +0100 "Roger Pau Monné" <roger.pau@citrix.com> wrote:

> On Tue, Jan 11, 2022 at 11:50:32AM +0000, Durrant, Paul wrote:
> > On 11/01/2022 11:11, Roger Pau Monné wrote:
> > > On Thu, Jan 06, 2022 at 09:10:13AM +0000, Maximilian Heyne wrote:
> > > > Given dom0 supports persistent grants but the guest does not.
> > > > Then, when attaching a block device during runtime of the guest, dom0
> > > > will enable persistent grants for this newly attached block device:
> > > > 
> > > >    $ xenstore-ls -f | grep 20674 | grep persistent
> > > >    /local/domain/0/backend/vbd/20674/768/feature-persistent = "0"
> > > >    /local/domain/0/backend/vbd/20674/51792/feature-persistent = "1"
> > > 
> > > The mechanism that we use to advertise persistent grants support is
> > > wrong. 'feature-persistent' should always be set if the backend
> > > supports persistent grant (like it's done for other features in
> > > xen_blkbk_probe). The usage of the feature depends on whether both
> > > parties support persistent grants, and the xenstore entry printed by
> > > blkback shouldn't reflect whether persistent grants are in use, but
> > > rather whether blkback supports the feature.
> > > 
> > > > 
> > > > Here disk 768 was attached during guest creation while 51792 was
> > > > attached at runtime. If the guest would have advertised the persistent
> > > > grant feature, there would be a xenstore entry like:
> > > > 
> > > >    /local/domain/20674/device/vbd/51792/feature-persistent = "1"
> > > > 
> > > > Persistent grants are also used when the guest tries to access the disk
> > > > which can be seen when enabling log stats:
> > > > 
> > > >    $ echo 1 > /sys/module/xen_blkback/parameters/log_stats
> > > >    $ dmesg
> > > >    xen-blkback: (20674.xvdf-0): oo   0  |  rd    0  |  wr    0  |  f    0 |  ds    0 | pg:    1/1056
> > > > 
> > > > The "pg: 1/1056" shows that one persistent grant is used.
> > > > 
> > > > Before commit aac8a70db24b ("xen-blkback: add a parameter for disabling
> > > > of persistent grants") vbd->feature_gnt_persistent was set in
> > > > connect_ring. After the commit it was intended to be initialized in
> > > > xen_vbd_create and then set according to the guest feature availability
> > > > in connect_ring. However, with a running guest, connect_ring might be
> > > > called before xen_vbd_create and vbd->feature_gnt_persistent will be
> > > > incorrectly initialized. xen_vbd_create will overwrite it with the value
> > > > of feature_persistent regardless whether the guest actually supports
> > > > persistent grants.
> > > > 
> > > > With this commit, vbd->feature_gnt_persistent is set only in
> > > > connect_ring and this is the only use of the module parameter
> > > > feature_persistent. This avoids races when the module parameter changes
> > > > during the block attachment process.
> > > > 
> > > > Note that vbd->feature_gnt_persistent doesn't need to be initialized in
> > > > xen_vbd_create. It's next use is in connect which can only be called
> > > > once connect_ring has initialized the rings. xen_update_blkif_status is
> > > > checking for this.
> > > > 
> > > > Fixes: aac8a70db24b ("xen-blkback: add a parameter for disabling of persistent grants")
> > > > Signed-off-by: Maximilian Heyne <mheyne@amazon.de>
> > > > ---
> > > >   drivers/block/xen-blkback/xenbus.c | 9 +++------
> > > >   1 file changed, 3 insertions(+), 6 deletions(-)
> > > > 
> > > > diff --git a/drivers/block/xen-blkback/xenbus.c b/drivers/block/xen-blkback/xenbus.c
> > > > index 914587aabca0c..51b6ec0380ca4 100644
> > > > --- a/drivers/block/xen-blkback/xenbus.c
> > > > +++ b/drivers/block/xen-blkback/xenbus.c
> > > > @@ -522,8 +522,6 @@ static int xen_vbd_create(struct xen_blkif *blkif, blkif_vdev_t handle,
> > > >   	if (q && blk_queue_secure_erase(q))
> > > >   		vbd->discard_secure = true;
> > > > -	vbd->feature_gnt_persistent = feature_persistent;
> > > > -
> > > >   	pr_debug("Successful creation of handle=%04x (dom=%u)\n",
> > > >   		handle, blkif->domid);
> > > >   	return 0;
> > > > @@ -1090,10 +1088,9 @@ static int connect_ring(struct backend_info *be)
> > > >   		xenbus_dev_fatal(dev, err, "unknown fe protocol %s", protocol);
> > > >   		return -ENOSYS;
> > > >   	}
> > > > -	if (blkif->vbd.feature_gnt_persistent)
> > > > -		blkif->vbd.feature_gnt_persistent =
> > > > -			xenbus_read_unsigned(dev->otherend,
> > > > -					"feature-persistent", 0);
> > > > +
> > > > +	blkif->vbd.feature_gnt_persistent = feature_persistent &&
> > > > +		xenbus_read_unsigned(dev->otherend, "feature-persistent", 0);
> > > 
> > > I'm not sure it's correct to potentially read feature_persistent
> > > multiple times like it's done here.
> > > 
> > > A device can be disconnected and re-attached multiple times, and that
> > > implies multiple calls to connect_ring which could make the state of
> > > feature_gnt_persistent change across reconnections if the value of
> > > feature_persistent is changed. I think that would be unexpected.
> > > 
> > 
> > Would that not be legitimate though? What happens if blkfront is upgraded
> > (or downgraded)? Each connection should be 'groundhog day' for the backend
> > IMO.
> 
> Previous implementation cached the value of feature_persistent for the
> lifetime of the backend, and I assume this was the intended behavior.
> Ie: so that an admin could create a set of backends with persistent
> grants not enabled and then switch it on afterwards and expect only
> newly created backends to use the new value.
> 
> If the intention is indeed to read the value of feature_persistent on
> each reconnection it should be noted in the commit message, as it's a
> behavior change.

Sorry for late reply.  And yes, the intention of my previous implementation is
as Roger explained.  I guess simply moving the caching to xen_blkbk_probe()
would keep the behavior and fix this issue?

I'm also ok with the new behavior.  However, then we will need to clearly
describe the change in the commit message and the document[1].  Because
blkfront side also has same behavior[2], maybe keeping the behavior is better?

[1] Documentation/ABI/testing/sysfs-driver-xen-blkback
[2] 74a852479c68 ("xen-blkfront: add a parameter for disabling of persistent grants")


Thanks,
SJ

> 
> Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Jan 21 10:35:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 10:35:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259304.447437 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nArFp-0006z6-Uz; Fri, 21 Jan 2022 10:34:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259304.447437; Fri, 21 Jan 2022 10:34:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nArFp-0006yz-Rp; Fri, 21 Jan 2022 10:34:49 +0000
Received: by outflank-mailman (input) for mailman id 259304;
 Fri, 21 Jan 2022 10:34:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QdbK=SF=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nArFo-0006yt-AI
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 10:34:48 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bfc54199-7aa5-11ec-bc18-3156f6d857e4;
 Fri, 21 Jan 2022 11:34:46 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bfc54199-7aa5-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642761286;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=CjMsyoBTfM7drnJpFRY8cubPqLKR4s80hIT4moA+NNc=;
  b=KZeSVmp/l25Cp9aA41UBy61+ICV7BN1G/tYMCwF478lmBgAXRAFhVBKG
   VYrwhUg/o608gbhOyb7Q5mh2CotIf3r6tSW3KQAXFMMh1zGvOzcwMwzYv
   w7nDAtJiGqBZYR0GCEhsV3nCFEmS52dXdfShdFUroa7VgSUWDlUYd9vsi
   M=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: gBsdT3yKXVRD9OWaPwSXI8F9GYsALzP6OaM7MNSm30ROaz2EbaHHPr77CBt3uG6WZ4A3EexwQM
 +Ksx2roTB0gYl8hIHhyiX22s+TfuTjwQoMvui/4CyloNy+l0+zlTFYq5tqv4GroSKJ5qc2s88n
 5KT0MzhXsAFZyiUijadkaUNK2g3s+XVD8q88mjdfat9gnDgUC303jPwGrDcOl30IeEwm8pZ7b8
 IGpoDrCuLWNCfL+fEgevFmxDpkcZ2uutpCcG7fUtYkDHLLeMUVPUFXBWq6M29lzEjCm/m6SY4h
 74NwukN/69MHVHzZeEXoy38m
X-SBRS: 5.2
X-MesageID: 62480635
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:8j+evqtT3btmK9k23e2mBjN4/OfnVMdYMUV32f8akzHdYApBsoF/q
 tZmKWmCafzcY2qmeth/aN/k8BlTvMTSmIBlHlBvpSs8EXlB+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZQP0VOZigHtIQMsadUsxKbVIiGHdJZS5LwbZj2NYx24HhWWthh
 PupyyHhEA79s9JLGjp8B5Kr8HuDa9yr5Vv0FnRnDRx6lAe2e0s9VfrzFonoR5fMeaFGH/bSe
 gr25OrRElU1XfsaIojNfr7TKiXmS1NJVOSEoiI+t6OK2nCuqsGuu0qS2TV1hUp/0l20c95NJ
 NplnNuBVhgRAY/wpekUDBB5FHx6M6xF5+qSSZS/mZT7I0zudnLtx7NlDV0sPJ1e8eFyaY1M3
 aVGcnZXNEnF3r/ohuLgIgVvrp1LwM3DNYUDunZm3HfBAOwvW5zrSKTW/95Imjw3g6iiGN6AP
 ZZJMWQ0MXwsZTUIM3AcFapnwd6Jg2DFKmF1qV2yqrQotj27IAtZj+G2bYu9lsaxbd1cg0Kwt
 m/AuWPjDXkyOMSEzDuZ8lqlnuLVgT7gQ4UWCaG58fhxxlaUwwQ7AhocX0q2uvm9h0u3XfpQL
 kUV/mwlqq1a3FCiS9DmdwG7pHOCsQ8RX5xbFOhSwAOQzqvZ5S6JC25CSSROAPQ2uclzSTE02
 1uhm9LyGScpoLCTUWia9LqfsXW1Iyd9BVEFYSgIXA4U+e7JqYs4jg/MZtt7GavzhdrwcRnr2
 CyDpiU6g7QVjOYI2r+98FSBhCijzrDDQxQp/AzRUiSg5xlgeY++T4Wy7B7Q6vMoBISESB+Ht
 XsNmcmb5cgPC42AkGqGR+BlNLit5u2ZOTzGx1B1Fp8q9i+F5HKoO4tX5VlWJk1kL8IFcj/Be
 1LItEVa45o7FGSuRb96ZcS2EctC5aPnE9LiVPzdcNtVSpd0fQ6DuippYCa41Gn3nE8huao2I
 5ucfICnCnNyIadgyiC/S6EC0Lso7ickzGjXSNbwyBHP+bmTen+TD6sEOV2mb+Yl4afCqwLQm
 +uzLOPTlU8ZCrenJHCKr8hDdjjmMETXG7jf7P1Iada8ADZbFWh+At7WnLcveo96yvE9evjzw
 lmxXUpRyVzajHLBKBmXZn0LVI4DTaqTvlpgY3VyYA/AN2wLJN/2sfxBL8dfkawPrbQ7lZZJo
 +85l9Js6xilYhDO4HwjYJb0t+SOnzz71FvVb0JJjNXSFqOMpjAlGPe5JmMDFwFUV0JbUPfSR
 ZX6h2s3prJZFmxf4D7+Mq7H8r9IlSF1dBhOd0XJOMJPX07n7ZJnLSf85tdufZ1Wdk2Yl2rDi
 1jOafv9mQUri9RtmDUurfvcx7pF7sMkRhYKd4Ulxeve2dbmEpqLntYbDbfgkcH1X2Lo4qSyD
 di5PNmnWMDraG1i6tIme54ylPpWz4K2+9dyk1o4dF2WMQXDIu4wcxGugJgU3oUQl+AxhOdDc
 h/VkjWsEe/XaJqN/Z94DFdNU9lvItlNymCNtqxkeRujjMK1lZLeOXhv09C3oHQ1BNNI3EkNm
 I/NYeYatF6yjAQEKNGDgnwG/miANCVYAa4mqosbEMngjQ9ykgNOZpnVCynX5pCTaooTbhl2c
 2HM3KeS1a5BwkficmYoESSf1+RqmplT6gtBy0UPJgrVl4Od1OM3xhBY7R8+Uh9Rkkdcy+t2N
 2Uybx91KKyC8i1Gns9GW2zwSQhNCAfAoh76ykcTlX2fRE6tDzSfIGo4MOeL3UYY72MDIWQLo
 ODGkD7oCG+4ctvw0y0+XV9eh8biFdEhpBffnM2HHtieG8VoazTSnaLzN3EDrAHqAJ1tiRSf9
 /Vq5ut5dYbyKTUU//8gE4Cf2LkdFEKEKWhFTa0z9a8FBziBKjS72DzIIEGtYMJdYffN9BbgW
 cBpI8tOUTW41TqP8W9HVfJdfecska57/scGd5PqOXUC4umWoTdeuZ7N8jTz2T0wSNJ0nMdhc
 o7celpuyIBLaae4T4MVkPR5Bw==
IronPort-HdrOrdr: A9a23:8VKkRK9x1OmYsp2yX7Nuk+DYI+orL9Y04lQ7vn2YSXRuHPBws/
 re+MjztCWE7Qr5N0tMpTntAsW9qDbnhPlICOoqTNWftWvd2FdARbsKheCJ/9SjIVycygc079
 YHT0EUMrzN5DZB4vrH3A==
X-IronPort-AV: E=Sophos;i="5.88,304,1635220800"; 
   d="scan'208";a="62480635"
Date: Fri, 21 Jan 2022 10:34:38 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>, Roger Pau
 =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>, Alistair Francis
	<alistair.francis@wdc.com>, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Kevin Tian <kevin.tian@intel.com>, Connor Davis <connojdavis@gmail.com>,
	"Doug Goldstein" <cardoe@cardoe.com>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Ross Lagerwall <ross.lagerwall@citrix.com>, Bob
 Eshleman <bobbyeshleman@gmail.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, "Tamas K Lengyel" <tamas@tklengyel.com>, Paul
 Durrant <paul@xen.org>, "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, George Dunlap
	<george.dunlap@citrix.com>, <xen-devel@lists.xenproject.org>
Subject: Re: [XEN PATCH v8 00/47] xen: Build system improvements, now with
 out-of-tree build!
Message-ID: <YeqMPs4jghn9V82f@perard>
References: <20211125134006.1076646-1-anthony.perard@citrix.com>
 <86033c13-c444-aac1-6043-73ed12c78240@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <86033c13-c444-aac1-6043-73ed12c78240@suse.com>

On Fri, Jan 21, 2022 at 07:59:40AM +0100, Jan Beulich wrote:
> One more question: With an out-of-tree build, where do I put the
> (build flavor specific) ./.config (not xen/.config)? I'm using this
> extensively for cross builds and to override tool chain components
> (to avoid having to remember to always specify the right combination
> for a certain flavor on the command line).

You mean the optional ".config" that "Config.mk" includes? This file is
still included as "$(XEN_ROOT)/.config", and XEN_ROOT is set to be the
source tree.

Maybe you could abuse a file named "xen-version" which is included near
the top of "xen/Makefile" instead.

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Jan 21 10:49:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 10:49:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259307.447449 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nArTo-00006r-8M; Fri, 21 Jan 2022 10:49:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259307.447449; Fri, 21 Jan 2022 10: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 1nArTo-00006k-4k; Fri, 21 Jan 2022 10:49:16 +0000
Received: by outflank-mailman (input) for mailman id 259307;
 Fri, 21 Jan 2022 10:49:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=s92u=SF=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nArTm-00006e-6K
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 10:49:14 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c4133c45-7aa7-11ec-8fa7-f31e035a9116;
 Fri, 21 Jan 2022 11:49:12 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c4133c45-7aa7-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642762152;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=tyEx1+hMmxu2vwHmYJF0V3pH2If9DSamCWpJ8tVHhhE=;
  b=Z1W4jRXqU6l7pE3h7vDasAUlvYg+VRBlivM87c7nP79V+c0qGekuBD8b
   tz3iJ3Xsv3AjA6ilkF4WXIk/ZJ2YU9Jv1SsFSddm/ANhco/vLNWbzwno1
   8nvB/J4fWe8XFprSN8ymYVbJTu93r+S2lN8TkMvMaZ5QLe4Q1OCs42Qc5
   g=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: fpe0l7fvi+mwvpRhloYJQhbj4M2Upy0UiQdS4MnEJMfP7owGmBpytlK4rjnYu+/6OeDaPScic8
 27uftOYKF4UzTaf1rfpOWQHge3yR7a8QcD9faldib5eCi0BxYLfQNaooJCY9vbNqwRaTGnPgac
 I+X9YUn2wGp8nMmOuSH/Hfvwn3pr3sFseuM28CdS3DeUOb6B6P/7mF/kUQrWaGdaKqjMr0UqQd
 iehfKwap3hDIEDaB0k0DBXRkRb6hOG/veylZG1XjZ+kkYM25u4g7IRBFnHjoQuh3ztUqZJ7uOH
 VsL9AfDL//WJiJh5K10dQaKy
X-SBRS: 5.2
X-MesageID: 64635215
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:krRJo6uUl30SeLONfdrwXUvcKefnVIFZMUV32f8akzHdYApBsoF/q
 tZmKWnXbK6DNzf8fNl0Porn/EoPsZXUmoNqHlFppSgwRSsT+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZQP0VOZigHtIQMsadUsxKbVIiGHdJZS5LwbZj2NYx24HhWWthh
 PupyyHhEA79s9JLGjp8B5Kr8HuDa9yr5Vv0FnRnDRx6lAe2e0s9VfrzFonoR5fMeaFGH/bSe
 gr25OrRElU1XfsaIojNfr7TKiXmS1NJVOSEoiI+t6OK2nCuqsGuu0qS2TV1hUp/0l20c95NJ
 Npltb+RSAklG5L3ms8BVglxLCBsGr1m0eqSSZS/mZT7I0zudnLtx7NlDV0sPJ1e8eFyaY1M3
 aVGcnZXNEnF3r/ohuLgIgVvrp1LwM3DFYUToHx/ixreCu4rW8vrSKTW/95Imjw3g6iiGN6AO
 5RCNGA2MXwsZTVQAQ5GKdFmoNuhgyPZT2ZGgl2PtJUOtj27IAtZj+G2bYu9lsaxbdpRtlaVo
 CTB5WuRKjMwOcGbyDGF2mmxneKJliT+MKoCGbv9+vN0jVm7wm0IFAZQRVa9ueO+iEO1R5RYM
 UN8x8Y1hfFsrgrxFIC7BkDm5i7f1vIBZzZOO+0ZyQCDxo/r2ASyGm0UZwFAevs2lOZjEFTGy
 WS1t9/uADVutpicRnSc6qqYoFuOBMQFEYMRTXRaFFVYurEPtKl210uSFYg7TMZZm/WsQWmoq
 w1muhTSkFn6YSQj86ygtW7KjDu3znQiZl5kv16HNo5JA+4QWWJEW2BKwQWDhRqjBNzAJrVkg
 JTis5LPhAzpJcvc/BFhuM1XQNmUCw+taVUwe2JHEZg77CiK8HW+Z41W6zwWDB43bpxbIWS4M
 RaP51s5CHpv0J2CNvcfj2WZUJxC8EQdPY69CqC8giRmP/CdizNrDAkxPBXNjggBYWAnkL0lO
 IfzTCpfJS1yNEiT9xLvH711+eZynkgWnDqPLbimkUjP+efANRa9FOdUWHPTP7tRxP7V/23oH
 yN3apHiJ+N3CrOuO0E6MOc7cDg3EJTMLcmm8pMMLr/afFMO9aNII6a5/I7NsrdNx8x9/tokN
 FnhMqOB4Fag13DBNyuQbXVvNOHmUZpl9CppNi0wJ1e4nXMkZN/3vqsYcpI2e5gh9fBikqEoH
 6VUJZ3YD6QdUCnD9hQccYL58N5oeiO0iF/cJCGiejU+IcJtHlSb5t/+cwLz3yASFS7r59Amq
 rit21qDE5oOTghvFujMb/erww/jtHQRgrsqDUDJPsNSaAPn940zc379ifo+IsctLxTfx2TFi
 1bKUElA/eSU+t076tjEg6yAvryFKeomExoIBXTf4Ja3KTLeojipz7hfXbvaZjvaTm71pvmvP
 L0H0/HmPfQbt19WqI4gQa1zxKcz6taz9b9XygNoQCfCY1ixU+4yJ3CH2Y9Et7FXx68fsgyzA
 xrd9t5fMLSPGcXkDF9Oe1Z1MrXdjakZymvI8PA4AETm/ysmrrOIXHJbMwSIlCEAfqB+N5kow
 Lt5tcMbg+BlZsHG7jpSYvhoylmx
IronPort-HdrOrdr: A9a23:EOnmRaw/9TwxNW+OqzPYKrPwIL1zdoMgy1knxilNoRw8SKKlfq
 eV7ZMmPH7P+VIssR4b+exoVJPtfZq+z+8R3WByB8bAYOCOggLBR+sO0WKL+UyHJ8SUzI9gPM
 lbHJSWcOeAb2RHsQ==
X-IronPort-AV: E=Sophos;i="5.88,304,1635220800"; 
   d="scan'208";a="64635215"
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: Fix build with the get/set_reg() infrastructure
Date: Fri, 21 Jan 2022 10:49:01 +0000
Message-ID: <20220121104901.22702-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

I clearly messed up concluding that the stubs were safe to drop.

The is_{pv,hvm}_domain() predicates are not symmetrical with both CONFIG_PV
and CONFIG_HVM.  As a result logic of the form `if ( pv/hvm ) ... else ...`
will always have one side which can't be DCE'd.

While technically only the hvm stubs are needed, due to the use of the
is_pv_domain() predicate in guest_{rd,wr}msr(), sort out the pv stubs too to
avoid leaving a bear trap for future users.

Fixes: 88d3ff7ab15d ("x86/guest: Introduce {get,set}_reg() infrastructure")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 xen/arch/x86/include/asm/hvm/hvm.h   |  9 +++++++++
 xen/arch/x86/include/asm/pv/domain.h | 17 +++++++++++++----
 2 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/hvm/hvm.h
index 842f98763c4b..76170c129c35 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -854,6 +854,15 @@ static inline int hvm_vmtrace_get_option(
     return -EOPNOTSUPP;
 }
 
+static inline uint64_t hvm_get_reg(struct vcpu *v, unsigned int reg)
+{
+    ASSERT_UNREACHABLE();
+}
+static inline void hvm_set_reg(struct vcpu *v, unsigned int reg, uint64_t val)
+{
+    ASSERT_UNREACHABLE();
+}
+
 #define is_viridian_domain(d) ((void)(d), false)
 #define is_viridian_vcpu(v) ((void)(v), false)
 #define has_viridian_time_ref_count(d) ((void)(d), false)
diff --git a/xen/arch/x86/include/asm/pv/domain.h b/xen/arch/x86/include/asm/pv/domain.h
index 3a67816764c9..4ef4660a01ac 100644
--- a/xen/arch/x86/include/asm/pv/domain.h
+++ b/xen/arch/x86/include/asm/pv/domain.h
@@ -65,10 +65,6 @@ static inline unsigned long get_pcid_bits(const struct vcpu *v, bool is_xpti)
 #endif
 }
 
-/* See hvm_{get,set}_reg() for description. */
-uint64_t pv_get_reg(struct vcpu *v, unsigned int reg);
-void pv_set_reg(struct vcpu *v, unsigned int reg, uint64_t val);
-
 #ifdef CONFIG_PV
 
 void pv_vcpu_destroy(struct vcpu *v);
@@ -93,6 +89,10 @@ unsigned long pv_fixup_guest_cr4(const struct vcpu *v, unsigned long cr4);
 /* Create a cr4 value to load into hardware, based on vcpu settings. */
 unsigned long pv_make_cr4(const struct vcpu *v);
 
+/* See hvm_{get,set}_reg() for description. */
+uint64_t pv_get_reg(struct vcpu *v, unsigned int reg);
+void pv_set_reg(struct vcpu *v, unsigned int reg, uint64_t val);
+
 bool xpti_pcid_enabled(void);
 
 #else  /* !CONFIG_PV */
@@ -106,6 +106,15 @@ static inline int pv_domain_initialise(struct domain *d) { return -EOPNOTSUPP; }
 
 static inline unsigned long pv_make_cr4(const struct vcpu *v) { return ~0ul; }
 
+static inline uint64_t pv_get_reg(struct vcpu *v, unsigned int reg)
+{
+    ASSERT_UNREACHABLE();
+}
+static inline void pv_set_reg(struct vcpu *v, unsigned int reg, uint64_t val)
+{
+    ASSERT_UNREACHABLE();
+}
+
 #endif	/* CONFIG_PV */
 
 void paravirt_ctxt_switch_from(struct vcpu *v);
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Fri Jan 21 10:58:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 10:58:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259309.447460 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nArch-0001Zt-54; Fri, 21 Jan 2022 10:58:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259309.447460; Fri, 21 Jan 2022 10:58:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nArch-0001Zm-1q; Fri, 21 Jan 2022 10:58:27 +0000
Received: by outflank-mailman (input) for mailman id 259309;
 Fri, 21 Jan 2022 10:58:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=57ha=SF=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nArcg-0001Zf-Gp
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 10:58:26 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0e69a160-7aa9-11ec-bc18-3156f6d857e4;
 Fri, 21 Jan 2022 11:58:25 +0100 (CET)
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur03lp2053.outbound.protection.outlook.com [104.47.10.53]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-14-PxJxeivuP9SBPEi-lATilQ-1; Fri, 21 Jan 2022 11:58:23 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM6PR04MB5717.eurprd04.prod.outlook.com (2603:10a6:20b:a6::31)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.10; Fri, 21 Jan
 2022 10:58:21 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.010; Fri, 21 Jan 2022
 10:58:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0e69a160-7aa9-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642762705;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=/6+ptzKeC/AoCLgxP2EmqYSd9GfGq4dxrqsOG+6vg5U=;
	b=i6J3K4D3Be5h7uZdi8K2s8PPYLmuNdS1w9HCpE+LLWA+mkUuHwAVWWu1OckGxZj0SN5NGt
	O255ePHV4/iJxXqmFrGu+SMS2Tld/jcVEc0ynJ8Rof6bZzni9P1fHrHoa1JkLIze/nArr6
	0wtNL9lY+CCF29q5UxQxQdQrZHJm6Ok=
X-MC-Unique: PxJxeivuP9SBPEi-lATilQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lIi8O2vKRuId9g9FRG1NV0rnnlde123t/WhmGNczwyjC9f4gef5HbfW+jb6qrgO9FmYZ599hWXxhdvWFvPxK5e/wbl1VfwdcvYgcMAZso0d7J/aSboQBpmpVu5PMkIiIPgxCZcXlvA+cR8qbah0uFVDvH1qsIvqzz4GPT+49GnBSgX05vkOgNJUcvOJ560JBHDFxs/IHFlwjMl2xW9NI+DRU5Q2IrtRkFl0aoCefxGU6xk5IpJifvuzgA7ONxu9EcMYH4DDhHNQ1Vw3yx+PX6uXYHfYPMamlw+82DD3+L9qMwNZt4//nDeyxkUtasXkWyVx36Fa8H3i14K52GBoinA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/6+ptzKeC/AoCLgxP2EmqYSd9GfGq4dxrqsOG+6vg5U=;
 b=WSZMqWAoUbhCa8349XLhFkgiwTh7HzBhEJl7O8VxYQ4hNhvHWfW8athayM0NuUGUSmwKt1GfPBcjOAgAQDfurPj5649eSccwKQj1JNr14CrlUDO8ukt8ykNKwSyio++eyrNI7fZcCbpLBV50f7BNGQROtjK6/V6ZsNsh5mGieJGLTEyw0+jcUwVVrADZDbuB7PaWq0Ap2fobS37yXD7t9dYRon5rAl6sEeUARhw4bV8vHRwJVAJSj1ldS1K89v8TPoPH+s+m051CFsHVcoapL+WbE4SWRJmJ+EwaiKm9/qFGcSC4E6gz0nZT6GTT6VOWCemoBAeD/4SouyvdbI8wKg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <af269b30-314e-2a4b-f5c3-1bca08e59463@suse.com>
Date: Fri, 21 Jan 2022 11:58:18 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [XEN PATCH v8 00/47] xen: Build system improvements, now with
 out-of-tree build!
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 Kevin Tian <kevin.tian@intel.com>, Connor Davis <connojdavis@gmail.com>,
 Doug Goldstein <cardoe@cardoe.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>, Paul Durrant <paul@xen.org>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org
References: <20211125134006.1076646-1-anthony.perard@citrix.com>
 <86033c13-c444-aac1-6043-73ed12c78240@suse.com> <YeqMPs4jghn9V82f@perard>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YeqMPs4jghn9V82f@perard>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR0502CA0047.eurprd05.prod.outlook.com
 (2603:10a6:20b:56::24) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 51f61bf9-90ec-4101-957a-08d9dcccefff
X-MS-TrafficTypeDiagnostic: AM6PR04MB5717:EE_
X-Microsoft-Antispam-PRVS:
	<AM6PR04MB571794EB7BB1EC77A25C7EADB35B9@AM6PR04MB5717.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:
	ScuYwbPlYHCSqHtQUdQlWsncPLnBWegfLtuW7LtpBxqw7f6UeuM21jUXo2EQTx49ZLhrMbWmp1Y+2TZ8pZsNbPqLtfbYZyZHgJubyKS0Ob9zkUpWKtw9W2KJUC++1tsuSfoLYlWnh3BMwdXhizKWGsJuOKhCBDyBc1xo8AUXqMsn4ryJppjEEmesqNbH7NruqTVRp6kXJqlE65PO/tRu1Gs/XZq6s+0G5KHhFUKVsecOVbVJb5yUn9JyIeDz+go1kuki1l74STaB+Kgk7T3nLtEi+7V0cfPbTpU6ccLn8CiHkTtvApDwYyum5icuiO2y1jsWPmxU/82olpS6YztbUu6GrJyVo/ij+iGBAuTMbF9LU1tbeKErcW5e+bJL/L8Y3ZqzWiH8MobiN+bvW6BE1pRxPCgMDoySsxAgAZXGNyBGCBiuSeEkaQezUk9VZvADQjgvbtDCIrS1VlasMdNLxsakUqxjQciD1/jKF20gie+q2sGyl9LKU3X07HV0qb4lH477NWewn3/Kqdes4AGjZUBy8h/IpeB2NWkZlvUsoTxuu4bPWgD9uOM1xZZ3jaoBmly4VBatuLMc2v0NaPEXGbsIAVFC35/Y6LiCHtipHywXQL4ngqixf+4QubKGwE4u+wIA6o8GFzCK0k6oKd+Z/SJyLiaxqHkhoUgETYFjqiOghx7P40yes1obRKiClk1uxQOXVxijtBMTD8mwVB7HCY5cgY4b/VQkV3HUDGRAdlw=
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)(7416002)(508600001)(86362001)(6666004)(6486002)(66946007)(66476007)(31696002)(66556008)(2616005)(5660300002)(8676002)(316002)(6512007)(36756003)(53546011)(38100700002)(26005)(186003)(6916009)(31686004)(6506007)(4326008)(2906002)(54906003)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Y3lZWllEa3duR2NLeG82NG8xb3YwZGZXaVlpTFoyUUQ4QnVFR0ZRbTFCeHlU?=
 =?utf-8?B?K3RnUXFmMC8ybWhORmNkS0dKNzgzdkNad0JKQUxqWm9iNXczS201UG5sbEQ5?=
 =?utf-8?B?SHljUEZSV21HbkU1R3d0SWxUUlRUMndNc3NBbHorRjNFaUlpbm9IQ3pja1Q0?=
 =?utf-8?B?OWcySVIrSm1Jd3BxN3R1UVp3UEh5TWh0c1hYM1Z2ZGZDcXRpcnNhTzMxRnNN?=
 =?utf-8?B?YkxQZ1pwMDNPUkxlbkVCRUQrN0trODlMSW83MDU3enRjY0ZLS3VLTVY3aXFv?=
 =?utf-8?B?RGt2L05qTm5XZk9yVmZJOHJ2N2VYbHJ5a3kxY29QTVdxZngwc0xsZFVpYm9u?=
 =?utf-8?B?VFdJKy9CTlJyYjllNU1GWm9WS0w0TXdpRm50b1VJbm1kSzhwSEN0MGZERTAz?=
 =?utf-8?B?enZxVXY0cjNLeTI2bTFXZUNqZFRHUEszZ2ZXTTlxVjkzRU9hMmhWMlFrZlFX?=
 =?utf-8?B?OGV2WVJHUFRjT0pZWm11SlIxY09sZG1aUmRNOEZycUdpeWwvT1FOM3NFQzYy?=
 =?utf-8?B?RXlYTjYzYnBlVCsrcE5oUUJ1S2I0NVlqK1RvcWdGMVRFTGJMRHIvdzN1TXpV?=
 =?utf-8?B?UWROUEdiWldPYUljbUoxVzBPS2tuRVNjNWgzTmZsNHNBWTlsVjArcHp3K1Av?=
 =?utf-8?B?OTdtWHhLTkRRWWFtcU50aW0wbUFSWm4yakJwYU9Md1ZSeEtJd2huMkgzSms3?=
 =?utf-8?B?M2Z4QWYxcy95WkxpMit6UWVYc05maDVsM1FJbFNGZVBlMXd2M0xsOXhyYWtl?=
 =?utf-8?B?b0gyY1N4TzN3N1hHZWZaT2xMOXBZdWJBaUU3RndESjRSWlNCNkFlWmdQMUtB?=
 =?utf-8?B?SDM2WjZYRjdrQWJHb2xaWjE5Q1lXYWI0WllpMEJ5MER1Wm9DbE9Zd3FJZUR3?=
 =?utf-8?B?bnVWYXdKdlRkbmhiRWo0QmkzQVlrbitNNHpBUkg3Z1JXRS85MHM3bFRGWVNR?=
 =?utf-8?B?VXZIR3lieEZTR2paVHI1Q3g0cmJERXVXczdFdi9SK211VTMwbGJOZDZiSnBV?=
 =?utf-8?B?QmxZUnA1L3pMUEorQVorWVF6YzBxanhYM2d0Mmt1d0VwNWs4SHVWRmhQNXo3?=
 =?utf-8?B?c0kxeTR3Q0M2bE9RSFBuUW9QUGRadEcycmE3ejF6Y3FCT2xjVnlTN1VKNkc4?=
 =?utf-8?B?UlRCOE01NHltY0tlYys2VDBYWFU3NnQ0QVpFZUdYaHNxMUErYmZDNWNwK2N4?=
 =?utf-8?B?TTVIVXNQVGovNWFMY0p5Ui9TZnJPelp5MDNGK0NjOGRNY215SHNqNjYvUEo3?=
 =?utf-8?B?QlUwV0IzNGNqYjFaK2RtY1BMa2JCckd4aFQ3QzJEK3dGYXpRdzFPWVNBQlpj?=
 =?utf-8?B?YTk3bldvWjduNUQybXFDbDlIMjFYL2N0OXhMMm5saG0zQjlldWtHalg2cWRX?=
 =?utf-8?B?Q1lXTFhBbDZTRGprd1lXZWtNbll5V2VQWSt4REJmRFNGd1FEellqM3RtRERR?=
 =?utf-8?B?czUwb3V2OXpLYW9MUEY5Yk9UdVdvTThOMjVNTTdsckhQSVVoYzgyWC9TTVFN?=
 =?utf-8?B?VW5SWDFtS2lZZE9yK1ZUU25UNk5wa3FXOUFEdjEyQ3RwZTB0WXNJSjZWQ1NY?=
 =?utf-8?B?dlNOY2dPVHBqUUw4cERJa3duamFyVlVZOExpZTIzMElwak5CWC95TWVPS0RN?=
 =?utf-8?B?ak5jZ2tCcWdVTjBwNExLSnVpVEowODArU3BTSDhyTkZITDFZNXFtU0Fta1dD?=
 =?utf-8?B?TEI4N1JwTVJ0cmZsb2VjN1dlaFdQMUFsYjdOQ1kzUDRKOThKSDhua2xZRDkx?=
 =?utf-8?B?US9hNDIzbHc3Q0dNaVFGdzdxWmhabzFtc2d6bWp1VzNsT0tWUTFWbTArZVdL?=
 =?utf-8?B?b3d5Sk55cFhiakFiQ2d2QUs1WHpCdHBZSHVnODFHa01FMWUwd1NFN1lXTkkr?=
 =?utf-8?B?RFlDNlJUeTAyMXFVaWx3aHk2U04xc2s3VTVvQUZIYnZ2RE9RTWhtRGVLczNF?=
 =?utf-8?B?QnhjSTJlaTV1Q1VOaFc0VXR6LzZFK3h4S0dPOWQ3QzBIbWprUzMyeHg0WEtE?=
 =?utf-8?B?dUxsWURRUHh4TkE4ckZWeW9ZZ0RQcVlCZ0dkRDlkR3NYOGFBUEdURXZMUDBF?=
 =?utf-8?B?Z0d2cXZxOFVOSkp3MENmK3QrcThmcDRDNlNTNFNRNk9kamdIMHdXVDZBamZh?=
 =?utf-8?B?c0JzOXNoOVQyenNaK1ZkVXZtbStZeG5NbkZkZTFjM1dmVFZGYUVVR2dXbmps?=
 =?utf-8?Q?j3gspbA+IzWTtRHPYvY7kMA=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 51f61bf9-90ec-4101-957a-08d9dcccefff
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jan 2022 10:58:21.0667
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /I+DeCZuprX3EtncTzBh4srI0k3DrVE3OXHzhlH9gVUjxHTkS2mX731d5icirSpVo2N6vmq+xDquQvP32bTTzg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB5717

On 21.01.2022 11:34, Anthony PERARD wrote:
> On Fri, Jan 21, 2022 at 07:59:40AM +0100, Jan Beulich wrote:
>> One more question: With an out-of-tree build, where do I put the
>> (build flavor specific) ./.config (not xen/.config)? I'm using this
>> extensively for cross builds and to override tool chain components
>> (to avoid having to remember to always specify the right combination
>> for a certain flavor on the command line).
> 
> You mean the optional ".config" that "Config.mk" includes? This file is
> still included as "$(XEN_ROOT)/.config", and XEN_ROOT is set to be the
> source tree.

It being taken from the source tree is precisely the issue.

> Maybe you could abuse a file named "xen-version" which is included near
> the top of "xen/Makefile" instead.

I don't think that would work. The settings from ./.config are
needed ahead of

include $(XEN_ROOT)/config/$(XEN_OS).mk
include $(XEN_ROOT)/config/$(XEN_TARGET_ARCH).mk

which come later in Config.mk, at least when e.g. config/StdGNU.mk
properly used ?= . Plus obviously for the 2nd of the lines above
to use the right file, XEN_TARGET_ARCH already needs to be set to
its designated value (same would of course be true for XEN_OS, if
one was to override that).

Jan



From xen-devel-bounces@lists.xenproject.org Fri Jan 21 11:03:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 11:03:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259312.447471 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nArhK-000356-Sk; Fri, 21 Jan 2022 11:03:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259312.447471; Fri, 21 Jan 2022 11: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 1nArhK-00034z-OT; Fri, 21 Jan 2022 11:03:14 +0000
Received: by outflank-mailman (input) for mailman id 259312;
 Fri, 21 Jan 2022 11:03:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=57ha=SF=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nArhJ-00034t-Cd
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 11:03:13 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b9898966-7aa9-11ec-bc18-3156f6d857e4;
 Fri, 21 Jan 2022 12:03:12 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2111.outbound.protection.outlook.com [104.47.18.111]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-15-aLK3LIwNPg6sJzSi5mS5yw-1; Fri, 21 Jan 2022 12:03:10 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM6PR04MB5717.eurprd04.prod.outlook.com (2603:10a6:20b:a6::31)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.10; Fri, 21 Jan
 2022 11:03:10 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.010; Fri, 21 Jan 2022
 11:03:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b9898966-7aa9-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642762992;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=fADn9GlWOerDlTAiYeA8/pCPTqEWlEGsluBmxSqEpH8=;
	b=ePKfchtGSCm5JzoXdzJB0dJZoBzF6s52kNmsWiovKsFjtDAw9DRBNghXc2x/AMS0i+NC9m
	FT4TbW2ysRZd/tSEXwzdFflPcg/cpr82f9ewGrXNYorEvG6uA8npfxeWcXNcuMLjHxMHK3
	zg56o+uOCVXK7GmWX+KPKr0gia5ixhE=
X-MC-Unique: aLK3LIwNPg6sJzSi5mS5yw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WP9ohjwgjirhCQD4+/QX6jBkvIBz8KYc7xz+jTKfB8SEyuyOI2lKzqINyNItQ5Vk3Y/7yad3vVkIrupIKMWxLRkxKps9/eCmYRhIx+GBwOcS/G144fBQsF7qnnaI+Uo8eLt6FGtJtZcmCPBzi68YSsJ4Q+l33uwW2k933xOEQfeGA8uZ4/XREUy1p9RaksW5SAejGOF080BovbNNz6Sa4pka4PMzvFWLIG9kEXGRm96hxqDmdKvKpa3tK+ZNmfi2F9GYwXUnV87hsDTROYEq7ZdGPncrO8PAiDzl8h4eqSD5vz56eBY8OhwGBzJmYEb9YRg0Ah1fmRy9qw9oOiaCkQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fADn9GlWOerDlTAiYeA8/pCPTqEWlEGsluBmxSqEpH8=;
 b=RkyugARhyB3VVnG+xYS/U1Izz7hj3DdjVLBCUlpbdjTkYEHByZNXS/T9VFTfjOWKRtTVRlyfe54UTd+VDIMDVcv5xFRDrOLffqtTMPOrTeFEDJ18nqrb8tpg7DdUCqinkz3mQW+NsfHKQgJGAIky7KR+tfTqJA4uWfzWceYCzxF0+Xv/6yDb/o5rsOa3gsbh3kNePg+pbuWlIKiPBH79mvLVllA4wFKDhVBUhYJHAnGS47r63J2Q+FUWLLVN+caDkZW3Db9c55OFZ5XiUzDSfJQZ1JGtorem1fBMuehWJcKIPcaoDZFvnbXpK+2GDfJ2aOfxELLkAPo3foky/HpyRg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0e3a51eb-a04a-f471-201b-8aa27aca4224@suse.com>
Date: Fri, 21 Jan 2022 12:03:08 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH] x86: Fix build with the get/set_reg() infrastructure
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220121104901.22702-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220121104901.22702-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8P189CA0003.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:20b:31f::17) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4138f078-f6d8-45e1-22d6-08d9dccd9c46
X-MS-TrafficTypeDiagnostic: AM6PR04MB5717:EE_
X-Microsoft-Antispam-PRVS:
	<AM6PR04MB5717C3F16E75B16620A58ABCB35B9@AM6PR04MB5717.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:
	DEQ8Olk9XdXFaxA5WlDlECZGRcy/eKgML0VpPXNbxmtX/EbExmcyNOQvQEeG953hP3x6alBeeYaqpCB32hw2s05ixdjjPwukE464cHVLNd8HFmnwXQpFN+elicVsWAs00o1gGGHmCQsi7jfkn6P8C2o0zgqsoXXLmPoa3BYlFfbpDGVjV3kTQkdDM7Zwxt8J3Tsvf/Rs8BIpZgvb5p+VUMNQrWPTSg9zs8O3T98Kia6Z/VpcxGer0r7g3TJE3quermVg11L9/fw+ZWtkh8zx5/+EaZMZdT5XDcUQ688u+cgpLshyZ4ruP/QGvlYBcGTdutYa1EVhOmjZP5xRkg8O3S0ljoa9SjioMBSHYu36zzkVAaE8lnW37Qb0PQjWQFBP7IatnPJX+OBZG9OdbeasLNtx2Ii6zzp2VceLbziq3Ry/iW/N1RPIJXC0mTYc7vbrTUmD00wKulwUS3Mlkecsg5MgKz8n7XUb3pDFjtuvZjMANarTfA/39EPCKfRg/SfIFiVxn2HH71cmBWB+3REtbg9N1TmIUYZSo9ZtN7eBq3nU2aY22+VFBcJhMyEY5RDtLNmvTmbK2+uHfvqX6OR2vOIDlCjiLrFyZ61XeLXGL1Ge6YkXNAYVkwujkClq5hVasCHah384g9GqWQ/pK5rVOK+5/1dSuQqyk5SEz7QkIWj/KTBy+xWcCH6mHwsidc0CLd2kfIcQ2BODMcSkM9aeeuT1FS+PILkn/Mli6Y7+2FIO+An4/EEi15P9HFZzXItT
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)(86362001)(6486002)(4744005)(66946007)(66476007)(31696002)(66556008)(2616005)(5660300002)(8676002)(316002)(6512007)(36756003)(53546011)(38100700002)(26005)(186003)(6916009)(31686004)(6506007)(4326008)(2906002)(54906003)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UzZXQ1F0MUI1eHl4SFJ4NDJtZFFFK25WUlhacTdldlorNGVpYmIrZU5VWVQr?=
 =?utf-8?B?T3ZBL2RLM3pUQkRnNUdJZnVMaEZ4WGxYaWlSYkJ4eEpWME1xMmhYeTg3Z1dP?=
 =?utf-8?B?RHFxNE91REJVRmR1Q1VWbmtRQklib0ZhZnlNNkFZSE41L3g2UWUzOFBSMXhM?=
 =?utf-8?B?OFQxTldLL2EydGd1SHBBWWFZMGZSeUtNSHpKVyswVFNkMjk3Qlp6U2RNd0tt?=
 =?utf-8?B?dUVidmd0RElPTkpqS1pFUngwdnVXS25HajJJU3h2aDdiRHVEalFqdXhaYzRl?=
 =?utf-8?B?V2JnL0xxY25seFZGRFZLYTl2NytvdnlZTmQreTZabno2empZMmlMekFBMVhT?=
 =?utf-8?B?K3JvL0hLb1A4bXRITFVKOEs3UVF1dngyenJUVlRNSXZzenZpZ3RtWGR4ZmN1?=
 =?utf-8?B?SFp6dlBTend5WkRMVVdSOHN1djJuSGZCSmtmK2dyL1BNUkFBMmZ4RkwvTlk1?=
 =?utf-8?B?dStTV09GTzU4Nk1hcDJITzBsa0F6NHU4bE82cWtxaDhwZ1QrdUhQd0U2Tm1F?=
 =?utf-8?B?enN5ZmJkNzdVaDBNODhvc1NzMDB3ZXJjQ1VldlF1NGlTYmRZNUdUc25YdW9i?=
 =?utf-8?B?M0paTkdIcnJyRlBzR2NlNTZCU0pxOHdpeEJkODZpT3Z4RGV1R0c1aW1odk5a?=
 =?utf-8?B?N1VMT2tYczRBODg3dWJoMit2eFRjWitXVFhuTklnL1UyNTBFZTZxK0xTYjR5?=
 =?utf-8?B?Z1RJMnBxdFJBNWZWSk8zOUlsVnE3S1l4U1lVOUlCaWRVRFE0OFlTUDB4TCtu?=
 =?utf-8?B?TlA2Sk5nRVJyWEJUaXkvb3RaZGpBZXpOemVuYU0vNVYraENST09lUTFjMHln?=
 =?utf-8?B?ZDh6eXRyRGJCelY0Q2E5T3VQZWtJQVd5WTZrdWxhVkk5WEpmemh4d0V2QmxP?=
 =?utf-8?B?MkdBL0Mwb2Jibm5qaFFmcFlOSlZrNlplbkVyNUs1bWI0aW5iRWRmRHJwYk1o?=
 =?utf-8?B?aE9YV2QrL0g0ZDRTZVV1eFkvUmVJbnczZDlBblE3TXBYZ2tOQmxDUWR4SFJF?=
 =?utf-8?B?dUpOSk1ySU5XcmhrWTZ5ZHAya2VMT1ZERm1yL3Z6UnhCSkp3WVl3SXZYaHZw?=
 =?utf-8?B?a1RFaVNhUTBkYmo0SlVrdkJCcS9lNGZiT2dZTk5ZYjR2ZEVGUWQ4NXMvRkIz?=
 =?utf-8?B?c3orYjB3bVhVSDBKRXJUUHBiT2Z3Vm9Zc05rQUx0a3hPUGs5Z21nY3FqdXhO?=
 =?utf-8?B?QjlHajhtSEhPWVVRbEFNN3JJTlU0dHFEYU9OU1dzS3VlcUt6Mlo2cHpIMlFl?=
 =?utf-8?B?MVRnRGlIZzk1WERmU0lza3luNTVhVjNFbnNxU1NMV2NTakFoZVJaVU43b2dW?=
 =?utf-8?B?SmhiUm9hdGQxYjM4aGJtSEhRdEdDY3pXcXpZMzZybTA5bUIrelJCdUwzbUJz?=
 =?utf-8?B?VG5WVGN2a0hjZDd2ekExcVIwYnhjbUxRRkVsbnNhc0RKZjc0Z3hMWFZlUXFI?=
 =?utf-8?B?bjkyWFhvR1E2bjdQWkxtRUlIdmQydlZYWkpDR2RpQ2V6NHRsQnJJMEhNa3R5?=
 =?utf-8?B?UW5PaVAwLy9oTGNpM2E3RnlWeGNpNG1nMmRHSVg2YVZiRDlDOHEzMzJBdVhN?=
 =?utf-8?B?YVVhalpyZSt4WEIrNjYrV0tYK0JsSW5LZTQ0Mkdjc2pvWFdDQTJxYncvMzQ4?=
 =?utf-8?B?UGZFMnVtV2VyeTZtM0UvS0xiSEdtckt0Znp5UEU3cWhveXgwa3g4Q0MyN0hy?=
 =?utf-8?B?NkliSlBXbVYwV2pvamtUUWV5L1JsRDdQYzdZd2lnSnVCZTJKN2FlVmttVyth?=
 =?utf-8?B?bHRSRnpzOEVJL2xIVmxKVkZDblcydllRSkluV3VHdmhPSG9iQ1NBMFFIem80?=
 =?utf-8?B?MkxnUWFjMUw0dEVrNW81L2Rhc1hJZmJwekx3cnNFRm5iZ1FOckYzbjNjdURy?=
 =?utf-8?B?K0xGcDBieEtGSFhJUGJwL3p1RDhYZ05FRGp1d1ZXNEkzeWU1L0JIMzN1Q1Nz?=
 =?utf-8?B?RzUxaCs2VXFqa0pNakJWTEFBd3ZURmU2SGo2TVBRbmNBTjZVS25vbzJsNjZB?=
 =?utf-8?B?aXF5b3RrZUhzSitscEczS042SEJqYXRVZDhDcU5aemExL00zbDZaQ1VYK0wy?=
 =?utf-8?B?NStxWG5qVWxqMGFRM2NieGRKUmZzekNDVzExK1VKbnVBMllqOEdISE9XaFJQ?=
 =?utf-8?B?VEg0Nkc2YzkydmVQbXhHOHlMdExiakFtZFdTMTZsSlpjWTNDbDgzdFpYWkls?=
 =?utf-8?Q?QuONLn0QWPwFNUUDNAMlWBU=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4138f078-f6d8-45e1-22d6-08d9dccd9c46
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jan 2022 11:03:09.9503
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 4MIc2uwgXuf4uRNbHl9efot2IPKnHEiGvKAroPBgiDrvcvR//qClBB5pXpZvZGxNQ+XHP2tsn+Pi+asRGwuICg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB5717

On 21.01.2022 11:49, Andrew Cooper wrote:
> I clearly messed up concluding that the stubs were safe to drop.
> 
> The is_{pv,hvm}_domain() predicates are not symmetrical with both CONFIG_PV
> and CONFIG_HVM.  As a result logic of the form `if ( pv/hvm ) ... else ...`
> will always have one side which can't be DCE'd.
> 
> While technically only the hvm stubs are needed, due to the use of the
> is_pv_domain() predicate in guest_{rd,wr}msr(), sort out the pv stubs too to
> avoid leaving a bear trap for future users.

Well, as said on irc - only the PV stubs ought to be needed if the
conditionals always used "if ( is_hvm_...() )" / "if ( !is_hvm_...() )".
Despite us making use of this property elsewhere, you appear to dislike
that though ...

Hence / nevertheless:

> Fixes: 88d3ff7ab15d ("x86/guest: Introduce {get,set}_reg() infrastructure")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>

Jan



From xen-devel-bounces@lists.xenproject.org Fri Jan 21 11:09:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 11:09:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259315.447482 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nArn7-0003kF-Iq; Fri, 21 Jan 2022 11:09:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259315.447482; Fri, 21 Jan 2022 11:09: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 1nArn7-0003k8-Dx; Fri, 21 Jan 2022 11:09:13 +0000
Received: by outflank-mailman (input) for mailman id 259315;
 Fri, 21 Jan 2022 11:09:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=s92u=SF=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nArn5-0003k2-Ox
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 11:09:11 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8c9d8b88-7aaa-11ec-bc18-3156f6d857e4;
 Fri, 21 Jan 2022 12:09:08 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8c9d8b88-7aaa-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642763348;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=LpVopR6E3NiVqnRIn8fPlfgyuvitNizA2LQ+RR6U1Nk=;
  b=SI+gK4egu72zZvY+DXjCCNY/r8g5gfbOC8rZzyGlKDhQneerI//s5OE5
   s2/NI9Qcx1fdjTZvnzkbVMRqNeZOc71P8ERpe98a3WC5Q/GLd3focsxu/
   hYuql7Cy68MPYGsvp9q/Pw5rXfYNSInSkn8/ZZ1HugCBO7ykP2DhEv/nL
   c=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: 7OetraLyTe8VlY6e1aTH1oBlLyDpUrI50GQLTVY35+hMRm60MUpB/ZLE0R5A0VBXLt3JYmdzaW
 UP8jKYYHAO6bHd4aiCH/0Mv9r0Gymbisn1sRRT4NUfWjWnMhQRHRapnJPMMvSSNii9G4pbUkVw
 T4StMO2pUro0UcWhwtnJK3xLDRtkCIbgUrCjyNgibHWBFacbJkXwXrK9RNNObhaDFhiAlKuTTm
 frcM8ydoGkTuXhHrXciXRXxR7RgcJyRDjcxVDW8UTnhq4yK22PMkCEUtMQUG0RHi1bm0XIYuze
 YQr5HHk5+tgKoM6ITo034JRU
X-SBRS: 5.2
X-MesageID: 62888867
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:HuYUE6+uCz9nM0EHqEPdDrUDBXmTJUtcMsCJ2f8bNWPcYEJGY0x3m
 mMXXT+BM62PY2uketkibd7loEpV6MWAy4JlHlRo+3o8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7dj29Yy6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPhz5
 NJL6JuAVzwAEf3vvtsSWBtdNAdXaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguwKKsXxMZxZkXZn1TzDVt4tQIzZQrWM7thdtNs1rp4UTaaON
 5RGAdZpRBTfRxx3eQoxNKN9msaN2zr/QhsA+U3A8MLb5ECMlVcsgdABKuH9eMGMA8NcnU+ap
 2fP12X/HhwecteYzFKt8X+yh+mJgSLyXqoTEqG18rhhh1j77nMXIA0bUx28u/bRol6zXZdTJ
 lIZ/gIqrLMu7wq7Q9/lRRq6rXWY+BkGVLJ4Mcc39QWMwar8+BuCCy4PSTspVTA9nJZoH3pwj
 AbPxo63Q2w02FGIdZ6D3rW4qjXvPhgLFkYtNQwicgQO4dzEhqhm23ojUe1fOKKyi9T0HxT5z
 DaLsDUyit0vsCIb60mo1QuZ2mzx//AlWiZwv1yKBTz9smuVcab8P9TwgWU3+8qsO2pworOpm
 HEf0/aT4+kVZX1mvHzcGb5ddF1FChvsDdE9vbKNN8R5n9hO0yT6FWy13N2YDB04WirjUWW4C
 HI/QSsLuPdu0IKCNMebmb6ZBcUw1rTHHt/4TP3SZdcmSsEvKFXYpHo/NBfMgTiFfK0QfUcXY
 s/znSGEVi5yNEia5GDuG7d1PUEDm0jSOl8/tbiklk/6gNJylVaeSKsfMUvmUwzKxPjsnekhy
 P4Gb5Hi40wGCIXWO3CLmaZOcwxiBSVlVPje9pwGHsbec1EOMDxwVJfsLUYJJtYNc1J9zLmYp
 xlQmyZwlTLCuJEwAVzaMy84MOK2A88XQLBSFXVEAGtEEkMLOe6HhJrzvbNsFVX+3OA8n/NyU
 dcffMCMXqZGRjjdomxPZpjhto1yMh+sgFvWbSaiZTE+eb9mRhDIpYC4Lle+qnFWA3rlr9Y6r
 p2hyhjfHcgJSTN9AZuEc/mo1V6w4yQQwbogQ0vSL9BPU0zw64w2eTfph/o6LphUexXOzzeXz
 SiMBhIcqbWfqoM56oCR16uFs52oA611GU8DRzvX6rO/NC/7+Gu/wNAfDLbULG6FDG6tofesf
 +RYyf34IcYrplcSvtouCatvwII/+8Dr++1QwDN7ESiZdF+sEL5hfCWLhJEdqq1Xy7ZFkgKqQ
 UbTqMJCMLCENc65Ql4cIA0pMraK2f0Ow2SA6P00JAPx5TNt/arBWkJXZkHehCtYJbpzEYUk3
 eZ+55JGt13h0kInYoSckyRZ12WQNXhRAawou6YTDJLvlgd2mEpJZobRC3Ou7ZyCAzmW3pLG/
 tNAaHL+uolh
IronPort-HdrOrdr: A9a23:mYccnqj8ryCvPKISmQJX1+gcY3BQXtQji2hC6mlwRA09TySZ//
 rOoB19726TtN9xYgBGpTnuAtjifZqxz/FICOoqTNOftWvdyQmVxehZhOOIqVCNJ8SXzJ8l6U
 4KSchD4bPLY2SS9fyKhTWFLw==
X-IronPort-AV: E=Sophos;i="5.88,304,1635220800"; 
   d="scan'208";a="62888867"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Jun Nakajima
	<jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>
Subject: [PATCH] x86/vmx: Fold VMCS logic in vmx_{get,set}_segment_register()
Date: Fri, 21 Jan 2022 11:08:34 +0000
Message-ID: <20220121110834.9143-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Xen's segment enumeration almost matches the VMCS encoding order, while the
VMCS encoding order has the system segments immediately following the user
segments for all relevant attributes.

Use a sneaky xor to hide the difference in encoding order to fold the switch
statements, dropping 10 __vmread() and 10 __vmwrite() calls.  Bloat-o-meter
reports:

  add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-433 (-433)
  Function                                     old     new   delta
  vmx_set_segment_register                     804     593    -211
  vmx_get_segment_register                     778     556    -222

showing that these wrappers aren't trivial.  In addition, 20 BUGs worth of
metadata are dropped.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
CC: Jun Nakajima <jun.nakajima@intel.com>
CC: Kevin Tian <kevin.tian@intel.com>

We could make x86_seg_* match the VMCS encoding order if we're willing to make
v->arch.hvm.vmx.vm86_saved_seg[] one entry longer, but I don't think the added
complexity to the vmx_realmode logic is worth it.
---
 xen/arch/x86/hvm/vmx/vmx.c | 77 ++++++++++++++++++++--------------------------
 1 file changed, 34 insertions(+), 43 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index c44cf8f5d425..9765cfd90a0a 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -986,6 +986,7 @@ static void vmx_get_segment_register(struct vcpu *v, enum x86_segment seg,
                                      struct segment_register *reg)
 {
     unsigned long attr = 0, sel = 0, limit;
+    unsigned int tmp_seg;
 
     /*
      * We may get here in the context of dump_execstate(), which may have
@@ -1009,34 +1010,34 @@ static void vmx_get_segment_register(struct vcpu *v, enum x86_segment seg,
         return;
     }
 
-    switch ( seg )
+    /*
+     * Xen's x86_seg_* enumeration *almost* matches the VMCS encoding order.
+     *
+     * tr and ldtr are reversed, and other areas of code rely on this, so we
+     * can't just re-enumerate.
+     */
+    BUILD_BUG_ON(x86_seg_tr   != 6);
+    BUILD_BUG_ON(x86_seg_ldtr != 7);
+    BUILD_BUG_ON(x86_seg_gdtr != 8);
+    BUILD_BUG_ON(x86_seg_idtr != 9);
+    switch ( tmp_seg = seg )
     {
-    case x86_seg_es ... x86_seg_gs:
-        __vmread(GUEST_SEG_SELECTOR(seg), &sel);
-        __vmread(GUEST_SEG_LIMIT(seg),    &limit);
-        __vmread(GUEST_SEG_BASE(seg),     &reg->base);
-        __vmread(GUEST_SEG_AR_BYTES(seg), &attr);
-        break;
     case x86_seg_tr:
-        __vmread(GUEST_TR_SELECTOR, &sel);
-        __vmread(GUEST_TR_LIMIT,    &limit);
-        __vmread(GUEST_TR_BASE,     &reg->base);
-        __vmread(GUEST_TR_AR_BYTES, &attr);
-        break;
+    case x86_seg_ldtr:
+        tmp_seg ^= 1; /* Flip tr and ldtr so GUEST_SEG_*() works. */
+        fallthrough;
+
+    case x86_seg_es ... x86_seg_gs:
+        __vmread(GUEST_SEG_SELECTOR(tmp_seg), &sel);
+        __vmread(GUEST_SEG_AR_BYTES(tmp_seg), &attr);
+        fallthrough;
+
     case x86_seg_gdtr:
-        __vmread(GUEST_GDTR_LIMIT, &limit);
-        __vmread(GUEST_GDTR_BASE,  &reg->base);
-        break;
     case x86_seg_idtr:
-        __vmread(GUEST_IDTR_LIMIT, &limit);
-        __vmread(GUEST_IDTR_BASE,  &reg->base);
-        break;
-    case x86_seg_ldtr:
-        __vmread(GUEST_LDTR_SELECTOR, &sel);
-        __vmread(GUEST_LDTR_LIMIT,    &limit);
-        __vmread(GUEST_LDTR_BASE,     &reg->base);
-        __vmread(GUEST_LDTR_AR_BYTES, &attr);
+        __vmread(GUEST_SEG_LIMIT(tmp_seg),    &limit);
+        __vmread(GUEST_SEG_BASE(tmp_seg),     &reg->base);
         break;
+
     default:
         BUG();
         return;
@@ -1150,32 +1151,22 @@ static void vmx_set_segment_register(struct vcpu *v, enum x86_segment seg,
 
     switch ( seg )
     {
+    case x86_seg_tr:
+    case x86_seg_ldtr:
+        seg ^= 1; /* Flip tr and ldtr so GUEST_SEG_*() works. */
+        fallthrough;
+
     case x86_seg_es ... x86_seg_gs:
         __vmwrite(GUEST_SEG_SELECTOR(seg), sel);
-        __vmwrite(GUEST_SEG_LIMIT(seg),    limit);
-        __vmwrite(GUEST_SEG_BASE(seg),     base);
         __vmwrite(GUEST_SEG_AR_BYTES(seg), attr);
-        break;
-    case x86_seg_tr:
-        __vmwrite(GUEST_TR_SELECTOR, sel);
-        __vmwrite(GUEST_TR_LIMIT, limit);
-        __vmwrite(GUEST_TR_BASE, base);
-        __vmwrite(GUEST_TR_AR_BYTES, attr);
-        break;
+        fallthrough;
+
     case x86_seg_gdtr:
-        __vmwrite(GUEST_GDTR_LIMIT, limit);
-        __vmwrite(GUEST_GDTR_BASE, base);
-        break;
     case x86_seg_idtr:
-        __vmwrite(GUEST_IDTR_LIMIT, limit);
-        __vmwrite(GUEST_IDTR_BASE, base);
-        break;
-    case x86_seg_ldtr:
-        __vmwrite(GUEST_LDTR_SELECTOR, sel);
-        __vmwrite(GUEST_LDTR_LIMIT, limit);
-        __vmwrite(GUEST_LDTR_BASE, base);
-        __vmwrite(GUEST_LDTR_AR_BYTES, attr);
+        __vmwrite(GUEST_SEG_LIMIT(seg),    limit);
+        __vmwrite(GUEST_SEG_BASE(seg),     base);
         break;
+
     default:
         BUG();
     }
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Fri Jan 21 11:16:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 11:16:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259319.447493 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAruR-00059J-9d; Fri, 21 Jan 2022 11:16:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259319.447493; Fri, 21 Jan 2022 11:16:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAruR-00059C-6V; Fri, 21 Jan 2022 11:16:47 +0000
Received: by outflank-mailman (input) for mailman id 259319;
 Fri, 21 Jan 2022 11:16:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QdbK=SF=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nAruP-000596-Hr
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 11:16:45 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9c68b84e-7aab-11ec-bc18-3156f6d857e4;
 Fri, 21 Jan 2022 12:16:44 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9c68b84e-7aab-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642763804;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=579+9ZLHPP5v3s3zHHoKTfh1YnRNB/uNW0k+2wiUxY8=;
  b=hogHfykGW4MuDDJYcynE+dKZZHgxzGDhNvncP/WnYd5My+izdVcCLH/B
   ProQR6aDTmsYSxPpl+FtECSNIFZPjEYiowNzKlEixs9R9MQUUgOS1Vcsg
   3XIhEO+vjuZJdfgtwChM24vONkZvuzoSinHCnFGTJimVgLSPg7zVbK3+m
   E=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: FN5SC08U3Bgp+At31mZikkACmFRsb0s5kC8idTwoO8eipptHBTcXW7sObk8j9hTVhsX7G9kb8N
 /wVbc1reWrS0j0WMGn96/CHRAxv9CgmLXQaFQaqNllwPbLG4Z6RsP23NU9w6vPbuICAiqMvr0t
 ZUYbwjzSjoe7DiUgwkjpDoy/u31csCdwZbh+eZEUJyrOktawwQly3RtHFa2JroNne92wtqX7Ay
 urM9/iP4IQ8BSs99mKO6p2Bhd4QNMkhV3dZDdn/XJuC+tWWnifYTvldFKGx4clzf9GNHS3CvxT
 qNlLBd4+nC/MeDIue0pPSPMV
X-SBRS: 5.2
X-MesageID: 62399296
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:2PCeqqJMTUMDQPqaFE+RNJIlxSXFcZb7ZxGr2PjKsXjdYENS32AEz
 GIXW2uEPvmLNGrwedwiYYi18RsG6MXdnNU1TFdlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokcxIn5BC5C5xZVG/fjgqoHUVaiUakideSc+EH170Us5wrZj6mJVqYPR7z2l6
 IuaT/L3YDdJ6xYsWo7Dw/vewP/HlK2aVAIw5jTSV9gS1LPtvyB94KYkDbOwNxPFrrx8RYZWc
 QphIIaRpQs19z91Yj+sfy2SnkciGtY+NiDW4pZatjTLbrGvaUXe345iXMfwZ3u7hB21nt1A5
 9Bopaa2WD0HOb3Fqu8ZSCVxRnQW0a1uoNcrIFC6uM2XiUbHb2Ht07NlC0Re0Y8wo7gtRzsUr
 LpBdW5LPkvra+GemdpXTsFlgNgjK8/6epsSoHh6wRnSDOo8QICFSKLPjTNd9Glq3ZEfR6eAD
 yYfQTE0PRTibTZxA1YwKY4knuqrxV7EIwQN/Tp5ooJoujOOnWSdyoPFL979atGMA8JPkS6wp
 H/C/mn/KgEXMpqY0zXt2nCjnOjUhgvgRZkfUra/85ZCkFCVg2AeFhASfV+6uuWizF6zXcpFL
 E4Z8TZoqrI9nHFHVfGkAUf++iTd+EdBBZwASIXW9T1h1ILo4guoKW0hXgRHeeYIs98/dzcuz
 WOgyoaB6SNUjJWZTneU97GxpDy0ODQIIWJqWRLoXTfp8PG4/tht00unosJLVffs04arQW2YL
 yWi9XBm390uYdg3O7JXFLwtqxalvdD3QwE8/W07tUr1v1oiNOZJi2FFgGU3DMqszq7EFjFtX
 1BewqByCdzi67nXxURhp81XTdmUCw6tamG0vLKWN8BJG86R03CiZ5tMxzp1OV1kNM0JERewP
 hOJ5lsKtc4KYCXyBUOSX25XI59ypUQHPY+9Ps04k/IUOsQhHON51HwGibGsM5DFzxF3zPBX1
 WazesewF3cKYZmLPxLtL9rxJYQDn3hkrUuKHMiT503+jdK2OSDJIZ9YbgrmRr1pvcus/VSOm
 /4CZpTi9vmqeLCkCsUh2dRNfQliwLlSLc2elvG7gcbaclM5QzlwUqGIqV7jEqQ895loei7z1
 inVcidlJJDX3xUr8C2GNSJubq3BR5F6oS5pNCAgJw/wiXMifZyu/OEUcJ5uJesr8+lqzPhVS
 fgZeprfXqQTG2qfozlNP4PgqIFCdQiwgV7cNSSSfzViLYVrQBbE+4G4c1K3pjUOFCe+qeA3v
 6akilHAWZMGSgk7VJTWZfujwkmfp38YnO4uDULELsMKIBfn8ZRwKjy3hfgyepleJRLGzzqc9
 gCXHRZH+rWd/95rqIHE3PnWoZ2oHu1yGlthM1PatbvmZzPH+meDwJNbVLradz7qS26pqr6pY
 v9Yzq+gPaRfzkpKqYd1D51i0bk6u4n0v7ZfwwlpQCfLYlCsBu8yK3WKx5AS5KhEx7sfsgqqQ
 EOfvNJdPOzRas/iFVcQIisjb/iCiq5IymWDs6xtLRWo/jJz8ZqGTV5WbkuFhyFqJbdoNJ8on
 LU6s8kM5g3j0hcnP75qVMyPG7hg+pDYb5gaiw==
IronPort-HdrOrdr: A9a23:0VlYWa+kVpXC0JwusP9uk+DYI+orL9Y04lQ7vn2YSXRuHPBws/
 re+MjztCWE7Qr5N0tMpTntAsW9qDbnhPlICOoqTNWftWvd2FdARbsKheCJ/9SjIVycygc079
 YHT0EUMrzN5DZB4vrH3A==
X-IronPort-AV: E=Sophos;i="5.88,304,1635220800"; 
   d="scan'208";a="62399296"
Date: Fri, 21 Jan 2022 11:16:38 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Juergen Gross <jgross@suse.com>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, Julien Grall
	<julien@xen.org>
Subject: Re: [PATCH] tools/xenstore: use talloc_asprintf_append() in
 do_control_help()
Message-ID: <YeqWFgUKXUJQ580B@perard>
References: <20220120065947.31587-1-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20220120065947.31587-1-jgross@suse.com>

On Thu, Jan 20, 2022 at 07:59:47AM +0100, Juergen Gross wrote:
> Instead of calculating the length of all help output and then
> allocating the space for it, just use talloc_asprintf_append() to
> expand the text as needed.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Jan 21 11:23:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 11:23:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259322.447503 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAs0X-0006aG-W2; Fri, 21 Jan 2022 11:23:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259322.447503; Fri, 21 Jan 2022 11:23:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAs0X-0006a9-T3; Fri, 21 Jan 2022 11:23:05 +0000
Received: by outflank-mailman (input) for mailman id 259322;
 Fri, 21 Jan 2022 11:23:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=s92u=SF=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nAs0X-0006a2-AH
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 11:23:05 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7ebae240-7aac-11ec-bc18-3156f6d857e4;
 Fri, 21 Jan 2022 12:23:03 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7ebae240-7aac-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642764183;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=eoFpNsK2jeHDEvBaOEJZ2DCi/ods/cD04P7K88sC1vI=;
  b=B1+V82mBxcUzZapHK0TC7QCuiiPg2p2ZHiCDhZpuS/HViKzAt372RzTK
   Ykvl/EkA0P84SWTKCMw3X4rjiUbmuQHH5qX57q0ljFxILaM5UjxMrDbyJ
   xXxpYAVV+zrmXOYIioSt4ftz/Pf7DLnQOfq59nspMBACRNfVKB2fj77rV
   g=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: NRqAygDh0yJJV4h7PasClmkU6c+fnvzXj5idtrxfCfIuoRZEfIhKN2XenzGkSSIVTgra16HIvj
 QroB2ONeJ//dkTtzZg+YRWBTwXW9aFowSoOGlWLDcghdD12pVP1Vgbq2TQ2oBq/C9pkNuBXarH
 88NFvAuKJYZ24pUBp3YkBLfgXfbOhx/XJG5XlGvuuKSCQyxI3zzFB8XJXccbW1EoiBn/3N0Sjt
 WZtOsqPS15q6Wj24QgbBNo5Bk/QEGdi/fp6mKFCDPz/O7AvRZfZaVBhS6FwQn8OuiyFJaHtpoo
 bSK+eOHinfjVmBEusLCJFtB3
X-SBRS: 5.2
X-MesageID: 64636955
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:K3JfiKn6q78l16swVWDFkq3o5gwEIURdPkR7XQ2eYbSJt1+Wr1Gzt
 xJMDTuPPKmOZ2vyKYogOdi/oU8G6pKBx9M3GgU6/is1FyMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BClVlxJVF/fngqoDUUYYoAQgsA180IMsdoUg7wbRh29Qx2YLR7z6l4
 rseneWOYDdJ5BYsWo4kw/rrRMRH5amaVJsw5zTSVNgT1LPsvyB94KE3fMldG0DQUIhMdtNWc
 s6YpF2PEsE1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXee0v0XRYRQR4/ttmHozx+4
 O4X7I6dUxoMBaDvpdU7TFpqSw8nIqITrdcrIVDn2SCS50jPcn+qyPRyFkAme4Yf/46bA0kXq
 6ZecmpUKEne2aTmm9pXScE17ignBODtMJkSpTdLyjbBAOx9aZvCX7/L9ZlT2zJYasVmQ6qAP
 JRINGcHgBLoRThmOFxUCJYEzNj1qkXjaxNyuF2qqv9ii4TU5FMoi+W8WDbPQfSIWMMTmE+br
 2DH+m3RAxcGOdjZwj2Amlqvi/HOm2XnWYsUPLy+6vNuxlaUwwQ7Fxk+RVa95/6jhSaWS99Zb
 kAZ5Ccqhawz71CwCMnwWQWip3yJtQJaXMBfe8UYwgyQzqvf4y6CG3MJCDVGbbQbWNQeHGJwk
 AXTxpWwWGIp4Ob9pW+hGqm8lmnrKwUPMEo5aAw5fC0aoOu7jtgsgUeaJjp8K5KdgtrwEDD25
 jmFqikimrke5fI2O7WHEUPv2Gz1+MWQJuIhzkCOBz/+sFslDGKwT9XwsQCz0BpWEGqOorBtV
 lAgktPW0u0BBIrleMelELRUR+HBCxpo3VThbb9T83sJqmzFF52LJ9k4DNRCyKFBaJdsldjBO
 h67hO+pzMUPVEZGlIcuC25LN+wkzLL7CfPuXe3OY9xFb/BZLVHbpn42Ph/BhjyzyCDAdJ3T3
 7/AKa5A6l5BUcxaIMeeHb9BgdfHOAhjrY8seXwL50v+iufPDJJkYbwELEGPfogEAFCs+23oH
 yJkH5LSkX13CbSmCgGOqNJ7BQ1UcRATWM6nw+QKJr/rClc3QwkJVq6OqY7NjqQ4xcy5YM+So
 CHkMqKZoXKi7UD6xfKiMyA6N+i3DM8h9BrW/0UEZD6V5pTqWq73hI93Snf9VeBPGDVLwaEmQ
 v8bVd+HB/gTGD3L9y5ENcv2rZB4dQTtjgWLZnL3bD86dp9mZgrI5t67IVe/qHhQVnK65Zkkv
 rmt9gLHWp5fFQ5sO9nbNaC0xFSrsHlDxO8rBxnUIsNecVnH+ZRxL3Cjlec+JswBcE2RxjaT2
 wuMLw0foO3B/908/NXT3PjWpIa1CepuWEFdGjCDv7qxMCDb+EulwJNBD7nULWyMCjus9fz7N
 +tPzvz6PPkWp3pwstJxQ+Rx0KYzx9rzvLsGnA5qK2rGMgawAbR6L3jYgcQW7v9RxqVUsBedU
 16U/oUIIq2APc7oHQJDJAchaejfh/gYliOLsKYwKUT+oiR24KCGQQNZOBzV0H5RK758MYUEx
 +Y9uZFJt1zj20RyatvW3DpJ82msL2AbV/R1v54XN4bnlw43xwwQepfbECL3vMmCZtgk3pPG+
 dNIaH4uX4hh+3c=
IronPort-HdrOrdr: A9a23:fZ7Swaz/+XpQr4G8C3D7KrPwIL1zdoMgy1knxilNoRw8SKKlfq
 eV7ZMmPH7P+VIssR4b+exoVJPtfZq+z+8R3WByB8bAYOCOggLBR+sO0WKL+UyHJ8SUzI9gPM
 lbHJSWcOeAb2RHsQ==
X-IronPort-AV: E=Sophos;i="5.88,304,1635220800"; 
   d="scan'208";a="64636955"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Jun Nakajima
	<jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>
Subject: [PATCH] x86/hvm: Drop get_shadow_gs_base() hook and use hvm_get_reg()
Date: Fri, 21 Jan 2022 11:22:41 +0000
Message-ID: <20220121112241.19277-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

This is a trivial accessor for an MSR, so use hvm_get_reg() rather than a
dedicated hook.  In arch_get_info_guest(), rework the logic to read GS_SHADOW
only once.

get_hvm_registers() is called on current, meaning that diagnostics print a
stale GS_SHADOW from the previous vcpu context switch.  Adjust both
implementations to obtain the correct value.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
CC: Jun Nakajima <jun.nakajima@intel.com>
CC: Kevin Tian <kevin.tian@intel.com>

If we care to backport the bugfix aspect, a far less invasive option would be
to read MSR_SHADOW_GS_BASE directly.

The only case where that goes wrong is when vmcb->kerngsbase has been modified
and is pending a VMLOAD.  I'm fairly sure this can only occur when we need
vcpu diagnostics, after an emulated write of MSR_SHADOW_GS_BASE.
---
 xen/arch/x86/domctl.c              |  8 ++++++--
 xen/arch/x86/hvm/svm/svm.c         | 12 ++++++------
 xen/arch/x86/hvm/vmx/vmx.c         | 16 ++++++++++------
 xen/arch/x86/include/asm/hvm/hvm.h |  7 -------
 xen/arch/x86/x86_64/traps.c        |  2 +-
 5 files changed, 23 insertions(+), 22 deletions(-)

diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
index 7d102e0647ec..e49f9e91b9fa 100644
--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -1447,6 +1447,7 @@ void arch_get_info_guest(struct vcpu *v, vcpu_guest_context_u c)
     if ( is_hvm_domain(d) )
     {
         struct segment_register sreg;
+        unsigned long gs_shadow;
 
         c.nat->ctrlreg[0] = v->arch.hvm.guest_cr[0];
         c.nat->ctrlreg[2] = v->arch.hvm.guest_cr[2];
@@ -1465,15 +1466,18 @@ void arch_get_info_guest(struct vcpu *v, vcpu_guest_context_u c)
         c.nat->fs_base = sreg.base;
         hvm_get_segment_register(v, x86_seg_gs, &sreg);
         c.nat->user_regs.gs = sreg.sel;
+
+        gs_shadow = hvm_get_reg(v, MSR_SHADOW_GS_BASE);
+
         if ( ring_0(&c.nat->user_regs) )
         {
             c.nat->gs_base_kernel = sreg.base;
-            c.nat->gs_base_user = hvm_get_shadow_gs_base(v);
+            c.nat->gs_base_user = gs_shadow;
         }
         else
         {
             c.nat->gs_base_user = sreg.base;
-            c.nat->gs_base_kernel = hvm_get_shadow_gs_base(v);
+            c.nat->gs_base_kernel = gs_shadow;
         }
     }
     else
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index bb6b8e560a9f..e3bc88e78058 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -752,11 +752,6 @@ static void svm_set_segment_register(struct vcpu *v, enum x86_segment seg,
     }
 }
 
-static unsigned long svm_get_shadow_gs_base(struct vcpu *v)
-{
-    return v->arch.hvm.svm.vmcb->kerngsbase;
-}
-
 static int svm_set_guest_pat(struct vcpu *v, u64 gpat)
 {
     struct vmcb_struct *vmcb = v->arch.hvm.svm.vmcb;
@@ -2471,10 +2466,16 @@ static bool svm_get_pending_event(struct vcpu *v, struct x86_event *info)
 
 static uint64_t svm_get_reg(struct vcpu *v, unsigned int reg)
 {
+    struct vcpu *curr = current;
     struct domain *d = v->domain;
 
     switch ( reg )
     {
+    case MSR_SHADOW_GS_BASE:
+        if ( v == curr )
+            svm_sync_vmcb(v, vmcb_in_sync);
+        return v->arch.hvm.svm.vmcb->kerngsbase;
+
     default:
         printk(XENLOG_G_ERR "%s(%pv, 0x%08x) Bad register\n",
                __func__, v, reg);
@@ -2513,7 +2514,6 @@ static struct hvm_function_table __initdata svm_function_table = {
     .get_cpl              = svm_get_cpl,
     .get_segment_register = svm_get_segment_register,
     .set_segment_register = svm_set_segment_register,
-    .get_shadow_gs_base   = svm_get_shadow_gs_base,
     .update_guest_cr      = svm_update_guest_cr,
     .update_guest_efer    = svm_update_guest_efer,
     .cpuid_policy_changed = svm_cpuid_policy_changed,
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index c44cf8f5d425..27c36af6027d 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -1183,11 +1183,6 @@ static void vmx_set_segment_register(struct vcpu *v, enum x86_segment seg,
     vmx_vmcs_exit(v);
 }
 
-static unsigned long vmx_get_shadow_gs_base(struct vcpu *v)
-{
-    return v->arch.hvm.vmx.shadow_gs;
-}
-
 static int vmx_set_guest_pat(struct vcpu *v, u64 gpat)
 {
     if ( !paging_mode_hap(v->domain) ||
@@ -2401,6 +2396,7 @@ static int vmtrace_reset(struct vcpu *v)
 
 static uint64_t vmx_get_reg(struct vcpu *v, unsigned int reg)
 {
+    struct vcpu *curr = current;
     struct domain *d = v->domain;
     uint64_t val = 0;
     int rc;
@@ -2417,6 +2413,15 @@ static uint64_t vmx_get_reg(struct vcpu *v, unsigned int reg)
             domain_crash(d);
         }
         return val;
+
+    case MSR_SHADOW_GS_BASE:
+        if ( v == curr )
+        {
+            rdmsrl(MSR_SHADOW_GS_BASE, val);
+            return val;
+        }
+        else
+            return v->arch.hvm.vmx.shadow_gs;
     }
 
     /* Logic which maybe requires remote VMCS acquisition. */
@@ -2489,7 +2494,6 @@ static struct hvm_function_table __initdata vmx_function_table = {
     .get_cpl              = _vmx_get_cpl,
     .get_segment_register = vmx_get_segment_register,
     .set_segment_register = vmx_set_segment_register,
-    .get_shadow_gs_base   = vmx_get_shadow_gs_base,
     .update_host_cr3      = vmx_update_host_cr3,
     .update_guest_cr      = vmx_update_guest_cr,
     .update_guest_efer    = vmx_update_guest_efer,
diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/hvm/hvm.h
index 842f98763c4b..feb9d221a6a6 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -128,7 +128,6 @@ struct hvm_function_table {
                                  struct segment_register *reg);
     void (*set_segment_register)(struct vcpu *v, enum x86_segment seg,
                                  struct segment_register *reg);
-    unsigned long (*get_shadow_gs_base)(struct vcpu *v);
 
     /* 
      * Re-set the value of CR3 that Xen runs on when handling VM exits.
@@ -469,11 +468,6 @@ hvm_get_cpl(struct vcpu *v)
     return alternative_call(hvm_funcs.get_cpl, v);
 }
 
-static inline unsigned long hvm_get_shadow_gs_base(struct vcpu *v)
-{
-    return alternative_call(hvm_funcs.get_shadow_gs_base, v);
-}
-
 #define has_hvm_params(d) \
     ((d)->arch.hvm.params != NULL)
 
@@ -753,7 +747,6 @@ void hvm_set_reg(struct vcpu *v, unsigned int reg, uint64_t val);
  * needed because DCE will kick in.
  */
 int hvm_guest_x86_mode(struct vcpu *v);
-unsigned long hvm_get_shadow_gs_base(struct vcpu *v);
 void hvm_cpuid_policy_changed(struct vcpu *v);
 void hvm_set_tsc_offset(struct vcpu *v, uint64_t offset, uint64_t at_tsc);
 
diff --git a/xen/arch/x86/x86_64/traps.c b/xen/arch/x86/x86_64/traps.c
index d661d7ffcaaf..d97bf07b22bc 100644
--- a/xen/arch/x86/x86_64/traps.c
+++ b/xen/arch/x86/x86_64/traps.c
@@ -79,7 +79,7 @@ static void get_hvm_registers(struct vcpu *v, struct cpu_user_regs *regs,
     hvm_get_segment_register(v, x86_seg_ss, &sreg);
     regs->ss = sreg.sel;
 
-    crs[7] = hvm_get_shadow_gs_base(v);
+    crs[7] = hvm_get_reg(v, MSR_SHADOW_GS_BASE);
 }
 
 static void _show_registers(
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Fri Jan 21 12:24:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 12:24:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259327.447519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAsy0-00049t-H9; Fri, 21 Jan 2022 12:24:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259327.447519; Fri, 21 Jan 2022 12: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 1nAsy0-00049m-E8; Fri, 21 Jan 2022 12:24:32 +0000
Received: by outflank-mailman (input) for mailman id 259327;
 Fri, 21 Jan 2022 12: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 1nAsxz-00049c-JC; Fri, 21 Jan 2022 12: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 1nAsxz-00042E-G5; Fri, 21 Jan 2022 12: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 1nAsxz-0004dK-64; Fri, 21 Jan 2022 12:24:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nAsxz-0001IU-5c; Fri, 21 Jan 2022 12: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=vtXpQLCovnYP3SNTc3VuDm/ZSMmbmHVFLWpliUBPguY=; b=FCvN1EIY+qWddCx8J7X/kiUhQE
	Rl21qybpEQ9s0DXHDAPRAKFjE5Ob7Eq9RVOJwJFu+B4VDtxzpGhY3q+4FuRkkckrOfuTNJaVROu6W
	GotvSGTS2PL2q1XKsxBPaF5XYC3zM0rf0+rkJW+KVmdYq81LiVBQudM4hkC5b1RVaqdA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167775-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 167775: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=21320ef66989f8af5a9e9b57df73d20a70bea85f
X-Osstest-Versions-That:
    ovmf=7709988dd8f9a69eea456869f468120f1f0fc7cb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 21 Jan 2022 12:24:31 +0000

flight 167775 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167775/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 21320ef66989f8af5a9e9b57df73d20a70bea85f
baseline version:
 ovmf                 7709988dd8f9a69eea456869f468120f1f0fc7cb

Last test of basis   167760  2022-01-20 13:43:03 Z    0 days
Testing same since   167775  2022-01-21 02:42:11 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Sunny Wang <sunny.wang@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
   7709988dd8..21320ef669  21320ef66989f8af5a9e9b57df73d20a70bea85f -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Jan 21 12:53:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 12:53:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259335.447530 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAtPw-0007NF-TK; Fri, 21 Jan 2022 12:53:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259335.447530; Fri, 21 Jan 2022 12:53:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAtPw-0007N8-Ph; Fri, 21 Jan 2022 12:53:24 +0000
Received: by outflank-mailman (input) for mailman id 259335;
 Fri, 21 Jan 2022 12:53:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=l1/X=SF=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1nAtPv-0007N2-P2
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 12:53:23 +0000
Received: from ppsw-32.csi.cam.ac.uk (ppsw-32.csi.cam.ac.uk [131.111.8.132])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1cc153ac-7ab9-11ec-bc18-3156f6d857e4;
 Fri, 21 Jan 2022 13:53:22 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:50402)
 by ppsw-32.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.136]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1nAtPs-000oJk-2q (Exim 4.95) (return-path <amc96@srcf.net>);
 Fri, 21 Jan 2022 12:53:20 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id A95CD1FC25;
 Fri, 21 Jan 2022 12:53:20 +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: 1cc153ac-7ab9-11ec-bc18-3156f6d857e4
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <eca3cd2c-b58d-3e00-659a-d970f5166e91@srcf.net>
Date: Fri, 21 Jan 2022 12:53:20 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220121104901.22702-1-andrew.cooper3@citrix.com>
 <0e3a51eb-a04a-f471-201b-8aa27aca4224@suse.com>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: [PATCH] x86: Fix build with the get/set_reg() infrastructure
In-Reply-To: <0e3a51eb-a04a-f471-201b-8aa27aca4224@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 21/01/2022 11:03, Jan Beulich wrote:
> On 21.01.2022 11:49, Andrew Cooper wrote:
>> I clearly messed up concluding that the stubs were safe to drop.
>>
>> The is_{pv,hvm}_domain() predicates are not symmetrical with both CONFIG_PV
>> and CONFIG_HVM.  As a result logic of the form `if ( pv/hvm ) ... else ...`
>> will always have one side which can't be DCE'd.
>>
>> While technically only the hvm stubs are needed, due to the use of the
>> is_pv_domain() predicate in guest_{rd,wr}msr(), sort out the pv stubs too to
>> avoid leaving a bear trap for future users.
> Well, as said on irc - only the PV stubs ought to be needed if the
> conditionals always used "if ( is_hvm_...() )" / "if ( !is_hvm_...() )".
> Despite us making use of this property elsewhere, you appear to dislike
> that though ...

Yes - I consider that an accident at best, and not something which
people can reasonably be expected to know or use.

If nothing else, the pv form is the more useful one to use, given a
potential pvh-dom0 future where CONFIG_PV might credibly be dropped by
downstreams.

>
> Hence / nevertheless:
>
>> Fixes: 88d3ff7ab15d ("x86/guest: Introduce {get,set}_reg() infrastructure")
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>

Thanks, but CI still says no.

Some compilers don't tolerate the lack of a return value in a non-void
function, despite the ASSERT_UNREACHABLE().  It might be down to the
absence of __builtin_unreahcable().

I've folded "return 0;" into the two get stubs, and will see how that
fairs, but given how trivial it is, I don't intend to post a v2 before
committing.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Jan 21 13:12:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 13:12:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259338.447541 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAtiL-0001Ia-GL; Fri, 21 Jan 2022 13:12:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259338.447541; Fri, 21 Jan 2022 13: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 1nAtiL-0001IT-C0; Fri, 21 Jan 2022 13:12:25 +0000
Received: by outflank-mailman (input) for mailman id 259338;
 Fri, 21 Jan 2022 13:12:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=CqVI=SF=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1nAtiJ-0001IN-Nv
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 13:12:23 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c4d1aa2d-7abb-11ec-8fa7-f31e035a9116;
 Fri, 21 Jan 2022 14:12:22 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id E6C77218E3;
 Fri, 21 Jan 2022 13:12:21 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id BCBCC13AF2;
 Fri, 21 Jan 2022 13:12:21 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id KCBmLDWx6mFkQgAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 21 Jan 2022 13:12:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c4d1aa2d-7abb-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642770741; h=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=BzSmBDDnXJQaulLqTTFkutHNziQo0L1DEn7Ih04JGWE=;
	b=MGEHNQk8/l3erdXCiRjBUaa0N6R+iueG6cZcj3hKidpKE7eG6xJZpwlyfrJWrfqwsSEAVy
	tvEaKA0SV2ZQjJa6svBKFcZI9POZ6ZJJ/VD8+U5YhGoBIcG4ZXhnYv69sojZoDYJX91yYO
	NgBhIJQ8/QoY5mZpMVHeA/eeouYmh+I=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH] tools/xenstore: fix error handling of check_store()
Date: Fri, 21 Jan 2022 14:12:19 +0100
Message-Id: <20220121131219.14562-1-jgross@suse.com>
X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

check_store() has an incomplete error handling: it doesn't check
whether "root" allocation succeeded, and it is leaking the memory of
"root" in case create_hashtable() fails.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstore/xenstored_core.c | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index c386ae6129..91d3adccb1 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -2050,14 +2050,18 @@ static void clean_store(struct hashtable *reachable)
 
 void check_store(void)
 {
-	char * root = talloc_strdup(NULL, "/");
-	struct hashtable * reachable =
-		create_hashtable(16, hash_from_key_fn, keys_equal_fn);
- 
-	if (!reachable) {
+	char *root = talloc_strdup(NULL, "/");
+	struct hashtable *reachable;
+
+	if (!root) {
 		log("check_store: ENOMEM");
 		return;
 	}
+	reachable = create_hashtable(16, hash_from_key_fn, keys_equal_fn);
+	if (!reachable) {
+		log("check_store: ENOMEM");
+		goto out_root;
+	}
 
 	log("Checking store ...");
 	if (!check_store_(root, reachable) &&
@@ -2067,6 +2071,7 @@ void check_store(void)
 
 	hashtable_destroy(reachable, 0 /* Don't free values (they are all
 					  (void *)1) */);
+ out_root:
 	talloc_free(root);
 }
 
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Fri Jan 21 13:29:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 13:29:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259341.447552 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAtyB-0002qP-UQ; Fri, 21 Jan 2022 13:28:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259341.447552; Fri, 21 Jan 2022 13: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 1nAtyB-0002qI-Qz; Fri, 21 Jan 2022 13:28:47 +0000
Received: by outflank-mailman (input) for mailman id 259341;
 Fri, 21 Jan 2022 13:28: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 1nAty9-0002q8-SG; Fri, 21 Jan 2022 13:28: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 1nAty9-00059j-Pj; Fri, 21 Jan 2022 13:28: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 1nAty9-0008NO-E2; Fri, 21 Jan 2022 13:28:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nAty9-0006ud-Db; Fri, 21 Jan 2022 13:28:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=R4aCPVgbR55F5tBoRkrPuRmpydIV3M0QF7kjb32EEKE=; b=u/xK9KMTm3ID0T7sDQHmepbxzJ
	fa9+zm0uXeReaOgy7W+bJPb2XNiPOQwYjTbNYFGoW6ZSn193c/20slk7dehjjaDbcuMEgKBwZyBmj
	M45rI/1gEV98F78ae4Z+iPPqgbOW3sxRKN/4zuVSmsYPyebCqPiGzM2Fs2iCYOxrCQO8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167783-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 167783: 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=0626219dcc6a4376c1a4b04209d6c15d06e23875
X-Osstest-Versions-That:
    xen=4e1df69cc9f51b2e017af1da3ed5b45917642115
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 21 Jan 2022 13:28:45 +0000

flight 167783 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167783/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   6 xen-build                fail REGR. vs. 167761

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                  0626219dcc6a4376c1a4b04209d6c15d06e23875
baseline version:
 xen                  4e1df69cc9f51b2e017af1da3ed5b45917642115

Last test of basis   167761  2022-01-20 14:00:29 Z    0 days
Testing same since   167764  2022-01-20 20:01:37 Z    0 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.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 0626219dcc6a4376c1a4b04209d6c15d06e23875
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Mon Jan 17 18:40:50 2022 +0000

    x86/hvm: Drop hvm_{get,set}_guest_bndcfgs() and use {get,set}_regs() instead
    
    hvm_{get,set}_guest_bndcfgs() are thin wrappers around accessing MSR_BNDCFGS.
    
    MPX was implemented on Skylake uarch CPUs and dropped in subsequent CPUs, and
    is disabled by default in Xen VMs.
    
    It would be nice to move all the logic into vmx_msr_{read,write}_intercept(),
    but the common HVM migration code uses guest_{rd,wr}msr().  Therefore, use
    {get,set}_regs() to reduce the quantity of "common" HVM code.
    
    In lieu of having hvm_set_guest_bndcfgs() split out, use some #ifdef
    CONFIG_HVM in guest_wrmsr().  In vmx_{get,set}_regs(), split the switch
    statements into two depending on whether the require remote VMCS acquisition
    or not.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 81f0eaadf84d273a6ff8df3660b874a02d0e7677
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Wed Jan 12 15:47:27 2022 +0000

    x86/spec-ctrl: Fix NMI race condition with VT-x MSR_SPEC_CTRL handling
    
    The logic was based on a mistaken understanding of how NMI blocking on vmexit
    works.  NMIs are only blocked for EXIT_REASON_NMI, and not for general exits.
    Therefore, an NMI can in general hit early in the vmx_asm_vmexit_handler path,
    and the guest's value will be clobbered before it is saved.
    
    Switch to using MSR load/save lists.  This causes the guest value to be saved
    atomically with respect to NMIs/MCEs/etc.
    
    First, update vmx_cpuid_policy_changed() to configure the load/save lists at
    the same time as configuring the intercepts.  This function is always used in
    remote context, so extend the vmx_vmcs_{enter,exit}() block to cover the whole
    function, rather than having multiple remote acquisitions of the same VMCS.
    
    Both of vmx_{add,del}_guest_msr() can fail.  The -ESRCH delete case is fine,
    but all others are fatal to the running of the VM, so handle them using
    domain_crash() - this path is only used during domain construction anyway.
    
    Second, update vmx_{get,set}_reg() to use the MSR load/save lists rather than
    vcpu_msrs, and update the vcpu_msrs comment to describe the new state
    location.
    
    Finally, adjust the entry/exit asm.
    
    Because the guest value is saved and loaded atomically, we do not need to
    manually load the guest value, nor do we need to enable SCF_use_shadow.  This
    lets us remove the use of DO_SPEC_CTRL_EXIT_TO_GUEST.  Additionally,
    SPEC_CTRL_ENTRY_FROM_PV gets removed too, because on an early entry failure,
    we're no longer in the guest MSR_SPEC_CTRL context needing to switch back to
    Xen's context.
    
    The only action remaining is to load Xen's MSR_SPEC_CTRL value on vmexit.  We
    could in principle use the host msr list, but is expected to complicated
    future work.  Delete DO_SPEC_CTRL_ENTRY_FROM_HVM entirely, and use a shorter
    code sequence to simply reload Xen's setting from the top-of-stack block.
    
    Adjust the comment at the top of spec_ctrl_asm.h in light of this bugfix.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 95b13fa43e0753b7514bef13abe28253e8614f62
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Wed Jan 12 16:36:29 2022 +0000

    x86/spec-ctrl: Drop SPEC_CTRL_{ENTRY_FROM,EXIT_TO}_HVM
    
    These were written before Spectre/Meltdown went public, and there was large
    uncertainty in how the protections would evolve.  As it turns out, they're
    very specific to Intel hardware, and not very suitable for AMD.
    
    Drop the macros, opencoding the relevant subset of functionality, and leaving
    grep-fodder to locate the logic.  No change at all for VT-x.
    
    For AMD, the only relevant piece of functionality is DO_OVERWRITE_RSB,
    although we will soon be adding (different) logic to handle MSR_SPEC_CTRL.
    
    This has a marginal improvement of removing an unconditional pile of long-nops
    from the vmentry/exit path.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

commit 6536688439dbca1d08fd6db5be29c39e3917fb2f
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Wed Jan 12 13:52:47 2022 +0000

    x86/msr: Split MSR_SPEC_CTRL handling
    
    In order to fix a VT-x bug, and support MSR_SPEC_CTRL on AMD, move
    MSR_SPEC_CTRL handling into the new {pv,hvm}_{get,set}_reg() infrastructure.
    
    Duplicate the msrs->spec_ctrl.raw accesses in the PV and VT-x paths for now.
    The SVM path is currently unreachable because of the CPUID policy.
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 88d3ff7ab15da277a85b39735797293fb541c718
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Mon Jan 17 12:28:39 2022 +0000

    x86/guest: Introduce {get,set}_reg() infrastructure
    
    Various registers have per-guest-type or per-vendor locations or access
    requirements.  To support their use from common code, provide accessors which
    allow for per-guest-type behaviour.
    
    For now, just infrastructure handling default cases and expectations.
    Subsequent patches will start handling registers using this infrastructure.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Fri Jan 21 13:35:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 13:35:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259348.447562 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAu4E-0004Ev-KV; Fri, 21 Jan 2022 13:35:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259348.447562; Fri, 21 Jan 2022 13:35:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAu4E-0004Em-Hf; Fri, 21 Jan 2022 13:35:02 +0000
Received: by outflank-mailman (input) for mailman id 259348;
 Fri, 21 Jan 2022 13:35:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ksCP=SF=dingwall.me.uk=james-xen@srs-se1.protection.inumbo.net>)
 id 1nAu4D-0004Ee-Ev
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 13:35:01 +0000
Received: from smarthost01b.ixn.mail.zen.net.uk
 (smarthost01b.ixn.mail.zen.net.uk [212.23.1.21])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ecf02537-7abe-11ec-bc18-3156f6d857e4;
 Fri, 21 Jan 2022 14:34:58 +0100 (CET)
Received: from [217.155.64.189] (helo=mail0.xen.dingwall.me.uk)
 by smarthost01b.ixn.mail.zen.net.uk with esmtpsa
 (TLS1.0:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1)
 (envelope-from <james-xen@dingwall.me.uk>)
 id 1nAu49-0000zV-4n; Fri, 21 Jan 2022 13:34:57 +0000
Received: from localhost (localhost [IPv6:::1])
 by mail0.xen.dingwall.me.uk (Postfix) with ESMTP id 19D58294836;
 Fri, 21 Jan 2022 13:34:56 +0000 (GMT)
Received: from mail0.xen.dingwall.me.uk ([127.0.0.1])
 by localhost (mail0.xen.dingwall.me.uk [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id UMs7Ds1NWumz; Fri, 21 Jan 2022 13:34:56 +0000 (GMT)
Received: from webmail.private.dingwall.me.uk (apache0.xen.dingwall.me.uk
 [IPv6:2a02:8010:698e:302::c0a8:123])
 by mail0.xen.dingwall.me.uk (Postfix) with ESMTPSA id 02601294832;
 Fri, 21 Jan 2022 13:34:56 +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: ecf02537-7abe-11ec-bc18-3156f6d857e4
X-Virus-Scanned: Debian amavisd-new at dingwall.me.uk
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8;
 format=flowed
Content-Transfer-Encoding: 8bit
Date: Fri, 21 Jan 2022 13:34:54 +0000
From: James Dingwall <james-xen@dingwall.me.uk>
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: possible kernel/libxl race with xl network-attach
In-Reply-To: <YeBPG+8D00xG4h0j@Air-de-Roger>
References: <20220113111946.GA4133739@dingwall.me.uk>
 <YeBPG+8D00xG4h0j@Air-de-Roger>
Message-ID: <1671ad485c35fb86d758951889cfa05d@dingwall.me.uk>
X-Sender: james-xen@dingwall.me.uk
X-Originating-smarthost01b-IP: [217.155.64.189]
Feedback-ID: 217.155.64.189

On 2022-01-13 16:11, Roger Pau Monné wrote:
> On Thu, Jan 13, 2022 at 11:19:46AM +0000, James Dingwall wrote:
>> 
>> I have been trying to debug a problem where a vif with the backend in 
>> a
>> driver domain is added to dom0.  Intermittently the hotplug script is
>> not invoked by libxl (running as xl devd) in the driver domain.  By
>> enabling some debug for the driver domain kernel and libxl I have 
>> these
>> messages:
>> 
>> driver domain kernel (Ubuntu 5.4.0-92-generic):
>> 
>> [Thu Jan 13 01:39:31 2022] [1408] 564: vif vif-0-0 vif0.0: 
>> Successfully created xenvif
>> [Thu Jan 13 01:39:31 2022] [26] 583: xen_netback:frontend_changed: 
>> /local/domain/0/device/vif/0 -> Initialising
>> [Thu Jan 13 01:39:31 2022] [26] 470: xen_netback:backend_switch_state: 
>> backend/vif/0/0 -> InitWait
>> [Thu Jan 13 01:39:31 2022] [26] 583: xen_netback:frontend_changed: 
>> /local/domain/0/device/vif/0 -> Connected
>> [Thu Jan 13 01:39:31 2022] vif vif-0-0 vif0.0: Guest Rx ready
>> [Thu Jan 13 01:39:31 2022] [26] 470: xen_netback:backend_switch_state: 
>> backend/vif/0/0 -> Connected
>> 
>> xl devd (Xen 4.14.3):
>> 
>> 2022-01-13 01:39:31 UTC libxl: debug: 
>> libxl_event.c:750:watchfd_callback: watch w=0x7ffd416b0528 
>> wpath=/local/domain/2/backend token=3/0: event 
>> epath=/local/domain/2/backend/vif/0/0/state
>> 2022-01-13 01:39:31 UTC libxl: debug: 
>> libxl_event.c:2445:libxl__nested_ao_create: ao 0x5633ac569700: nested 
>> ao, parent 0x5633ac567f90
>> 2022-01-13 01:39:31 UTC libxl: debug: 
>> libxl_event.c:750:watchfd_callback: watch w=0x5633ac569180 
>> wpath=/local/domain/2/backend/vif/0/0/state token=2/1: event 
>> epath=/local/domain/2/backend/vif/0/0/state
>> 2022-01-13 01:39:31 UTC libxl: debug: 
>> libxl_event.c:1055:devstate_callback: backend 
>> /local/domain/2/backend/vif/0/0/state wanted state 2 still waiting 
>> state 4
>> 2022-01-13 01:39:31 UTC libxl: debug: 
>> libxl_event.c:750:watchfd_callback: watch w=0x7ffd416b0528 
>> wpath=/local/domain/2/backend token=3/0: event 
>> epath=/local/domain/2/backend/vif/0/0/state
>> 2022-01-13 01:39:31 UTC libxl: debug: 
>> libxl_event.c:2445:libxl__nested_ao_create: ao 0x5633ac56a220: nested 
>> ao, parent 0x5633ac567f90
>> 2022-01-13 01:39:31 UTC libxl: debug: 
>> libxl_event.c:750:watchfd_callback: watch w=0x5633ac569180 
>> wpath=/local/domain/2/backend/vif/0/0/state token=2/1: event 
>> epath=/local/domain/2/backend/vif/0/0/state
>> 2022-01-13 01:39:31 UTC libxl: debug: 
>> libxl_event.c:1055:devstate_callback: backend 
>> /local/domain/2/backend/vif/0/0/state wanted state 2 still waiting 
>> state 4
>> 2022-01-13 01:39:51 UTC libxl: debug: 
>> libxl_aoutils.c:88:xswait_timeout_callback: backend 
>> /local/domain/2/backend/vif/0/0/state (hoping for state change to 2): 
>> xswait timeout (path=/local/domain/2/backend/vif/0/0/state)
>> 2022-01-13 01:39:51 UTC libxl: debug: 
>> libxl_event.c:850:libxl__ev_xswatch_deregister: watch w=0x5633ac569180 
>> wpath=/local/domain/2/backend/vif/0/0/state token=2/1: deregister 
>> slotnum=2
>> 2022-01-13 01:39:51 UTC libxl: debug: 
>> libxl_event.c:1039:devstate_callback: backend 
>> /local/domain/2/backend/vif/0/0/state wanted state 2  timed out
>> 2022-01-13 01:39:51 UTC libxl: debug: 
>> libxl_event.c:864:libxl__ev_xswatch_deregister: watch 
>> w=0x5633ac569180: deregister unregistered
>> 2022-01-13 01:39:51 UTC libxl: debug: 
>> libxl_device.c:1092:device_backend_callback: calling 
>> device_backend_cleanup
>> 2022-01-13 01:39:51 UTC libxl: debug: 
>> libxl_event.c:864:libxl__ev_xswatch_deregister: watch 
>> w=0x5633ac569180: deregister unregistered
>> 2022-01-13 01:39:51 UTC libxl: error: 
>> libxl_device.c:1105:device_backend_callback: unable to add device with 
>> path /local/domain/2/backend/vif/0/0
>> 2022-01-13 01:39:51 UTC libxl: debug: 
>> libxl_event.c:864:libxl__ev_xswatch_deregister: watch 
>> w=0x5633ac569280: deregister unregistered
>> 2022-01-13 01:39:51 UTC libxl: debug: 
>> libxl_device.c:1470:device_complete: device 
>> /local/domain/2/backend/vif/0/0 add failed
>> 2022-01-13 01:39:51 UTC libxl: debug: 
>> libxl_event.c:2035:libxl__ao__destroy: ao 0x5633ac568f30: destroy
>> 
>> the xenstore content for the backend:
>> 
>> # xenstore-ls /local/domain/2/backend/vif/0
>> 0 = ""
>>  frontend = "/local/domain/0/device/vif/0"
>>  frontend-id = "0"
>>  online = "1"
>>  state = "4"
>>  script = "/etc/xen/scripts/vif-zynstra"
>>  vifname = "dom0.0"
>>  mac = "00:16:3e:6c:de:82"
>>  bridge = "cluster"
>>  handle = "0"
>>  type = "vif"
>>  feature-sg = "1"
>>  feature-gso-tcpv4 = "1"
>>  feature-gso-tcpv6 = "1"
>>  feature-ipv6-csum-offload = "1"
>>  feature-rx-copy = "1"
>>  feature-rx-flip = "0"
>>  feature-multicast-control = "1"
>>  feature-dynamic-multicast-control = "1"
>>  feature-split-event-channels = "1"
>>  multi-queue-max-queues = "2"
>>  feature-ctrl-ring = "1"
>>  hotplug-status = "connected"
>> 
>> My guess is that the libxl callback is started waiting for the backend
>> state key to be set to XenbusStateInitWait (2) but the frontend in 
>> dom0
>> has already triggered the backend to transition to 
>> XenbusStateConnected
>> (4) and therefore it does not successfully complete.
> 
> I think your analysis is correct. The question is who sets
> hotplug-status to "connected" in xenstore if the hotplug script in the
> driver domain hasn't been launched by `xl devd`.
> 
> It would seem to me some other entity is launching the hotplug
> scripts, do you have some udev rules in the driver domain that do that
> and race with `xl devd` maybe?

No, there are no udev rules for xen network devices.  What it looks like 
is that the in linux/drivers/net/xen-netback/xenbus.c that the backend 
state is changed to XenbusStateConnected in response to 
frontend_changed() being called and the frontend state is 
XenbusStateConnected.  The xen-frontend.c driver has:

         case XenbusStateInitWait:
                 if (dev->state != XenbusStateInitialising)
                         break;
                 if (xennet_connect(netdev) != 0)
                         break;
                 xenbus_switch_state(dev, XenbusStateConnected);
                 break;

so it seems that if this completes in the domain with the frontend then 
the backend can process this state change before `xl devd` is launched 
and it completely misses the window where the backend state was 
XenbusStateInitWait.

This is the patch I have come up with as a workaround:

diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 7c5387e94f..408afa6ee6 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -1052,6 +1052,12 @@ static void devstate_callback(libxl__egc *egc, 
libxl__xswait_state *xsw,
          LOG(DEBUG, "backend %s wanted state %d ok", ds->w.path, 
ds->wanted);
          rc = 0;
      } else {
+        if (ds->wanted == XenbusStateInitWait && got == 
XenbusStateConnected) {
+            LOG(DEBUG, "backend %s wanted state %d interpreting"
+                " state %d as success", ds->w.path, ds->wanted, got);
+            rc = 0;
+            goto out;
+        }
          LOG(DEBUG, "backend %s wanted state %d"" still waiting state 
%d",
              ds->w.path, ds->wanted, got);
          return;

Thanks,
James


From xen-devel-bounces@lists.xenproject.org Fri Jan 21 13:53:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 13:53:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259351.447574 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAuLs-0006co-9N; Fri, 21 Jan 2022 13:53:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259351.447574; Fri, 21 Jan 2022 13:53: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 1nAuLs-0006ch-5Q; Fri, 21 Jan 2022 13:53:16 +0000
Received: by outflank-mailman (input) for mailman id 259351;
 Fri, 21 Jan 2022 13:53:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=57ha=SF=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nAuLr-0006ca-91
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 13:53:15 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7a125851-7ac1-11ec-8fa7-f31e035a9116;
 Fri, 21 Jan 2022 14:53:13 +0100 (CET)
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur03lp2054.outbound.protection.outlook.com [104.47.8.54]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-38-xSBKIh0zPYald_8Rhh-Zwg-1; Fri, 21 Jan 2022 14:53:12 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0401MB2429.eurprd04.prod.outlook.com (2603:10a6:800:2c::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.12; Fri, 21 Jan
 2022 13:53:10 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.010; Fri, 21 Jan 2022
 13:53: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: 7a125851-7ac1-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642773193;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=vmphCjcBoj0WxajIE6NzK2YkZY6RABI1X7Hi9dizdMQ=;
	b=jzYIId/vLeUOmVii938qdFz3KU0Uo7yhJ7dfVFaWQ7e8HF+NcollultPsVnZIEvsifxuzm
	xRLVM7Iuw3YqlzcnmK87cPCgfLu7qodbVwg2gtmf7gTQB1j+fBV5W/vT7rvkz5IeaCaBuJ
	9q8CgbAe+0HoNLh2Lbn6bAbwKYKD5CI=
X-MC-Unique: xSBKIh0zPYald_8Rhh-Zwg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FCJ54Dp6aK6COC18LZ264P6eUe7FHVn2Z/cIub8HuLsBw1ZRocSIcmcTRFYXyTLdcnhn8Komd0kKPEJWuWks2RTJchZvRL5vumMLKGezJMeR80zGcdiKnY3uvlS+xplgesKzkHpZASHXmyEyS7rrZDLAAPDaC44pNBEA/1bsxd25AdK92aL7p0rDlipwb+SdjiVYcSalj+LXRWemA9bB7DLUxogvYTL9GXd7agWtSePPrDQU/nax2dbLSGMYRBrV8rCoHLiZ6/e8g7IFZwBoMd6HyMrzIrinRWNPmIlQZRjGLGm1d2SIoMmJgEsDa/rBOQfoRpI7UT2KcITPOhCwmg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vmphCjcBoj0WxajIE6NzK2YkZY6RABI1X7Hi9dizdMQ=;
 b=bFjJU/CDBohUosI9yUG7b9X4YqZbBQkQ46AOo3qnwsvcpIm6rTwbz1dvbAIT+Hb75WTfqpgDSm1nq9o/0WukK30bifblRCWr4LmW2CAvA48AilqTlxOc5lKEtj+nhzhVr/W04Xu9FnM5IpS3l+AuJkBcxXQhmUmG49cgcY2RHtAd7TUYi1/mlKtVzMlo0uZmlQF/2OHdPdRSmY7A6V5+3EEmMcrM07Yx54wo8+AYDByP2+7o5C12w/ZXtE24QWeFc5PWs0FWqrysnDOnRl4FU2toCASv84zzixGHduBjeSa1atZb4oCLIaon2Lfv2KB1K8RthGDKi5571xFboBOLqw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a5031a5b-7be3-814d-27ce-dc6aea424c81@suse.com>
Date: Fri, 21 Jan 2022 14:53:08 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH] x86/vmx: Fold VMCS logic in
 vmx_{get,set}_segment_register()
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
 Kevin Tian <kevin.tian@intel.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220121110834.9143-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220121110834.9143-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P194CA0100.EURP194.PROD.OUTLOOK.COM
 (2603:10a6:209:8f::41) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: aa176e91-5728-4f04-ad3c-08d9dce55c52
X-MS-TrafficTypeDiagnostic: VI1PR0401MB2429:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0401MB2429C48335DE910ED9E1C35CB35B9@VI1PR0401MB2429.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:
	loowa3ERdOWR8VpBC9aiE+waNNYskp4u2CXmXcwAxLwhuQcvQTZIlL5ROLgMjObyPjMiYaAObMkAYbb2SsKjm5VaZigeJ99TYhgLcxF5naIw+ZwaYa2Q4LiLzX8bg+3//ld4vlJjO4c19N+EqZA5551J3IGR44KTbrpYYbq4C3JFsPY/ria4F0fsIB2N0BQOlsIpYPswVin4Lwn0puDgVXrUcCPpVtp52HFy0g2BNIamL3RkQn9g1jHErgoDWc9eLbO+uz3RbDESWQfZ7xLwJFHsME7TCsdYL/xZzYNjijqy8VAugqkYPUjEHjJxC6djKxzvy1P2KLDZqjpYM93OJl/ymP2YDAam+tHCTiJ6hgAEb31nsuyNu62F/YE3OtZgIYpzTILwGpXznnyQ10fHpCY97Af/a+KJ3wIQQG63P0gEFlO3NAq354VvC9e2XILvdbypOPxg72Rvhx6C/dtl8qoMO3P8bFHCnP1BAWDv23gng7LtGhieHlRWqyT+6uKNdlqKnuxzP/BXk08wLlhkoXN/5ZaexHoClAxwxKn6UPnmsdXlIxL2RE6DipD8nTad08b6BVdSaWE3Ue6M7UH7F9QlcVptmyTfX9mLTNFNwFRFyWnHghb3UREk1Wl/kfWuiDGu7jNcgcI1Az5wcb8VYSzP0zd8kjFLsNgUs58jakkOzeiT2wNU0RRYMn9KO6h0kqmZcnU7+zBpyxLwqULkqmq/cV+ADd/kbycgWfQ5m7Q5kNhCT6YbwgPrSskqjuNH
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)(6512007)(54906003)(26005)(66476007)(186003)(316002)(38100700002)(66946007)(508600001)(66556008)(4744005)(2906002)(31686004)(36756003)(86362001)(4326008)(31696002)(8936002)(8676002)(83380400001)(53546011)(6506007)(6486002)(5660300002)(2616005)(6916009)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MmtTWk5QcjBQc1hiMzc5N3BtbVAwSytLd1kyRUN1RlcrZXd3WXd6YXFEZWk4?=
 =?utf-8?B?OGY3Vm1aUWZkVU5sZFRNeEgweStxbVBMcmV6SFZ3ZGFMM3c4aFRpNmtkTFZN?=
 =?utf-8?B?RkxiMlpkRkdZTDZuL1pLS3NYSER3WEpSUnVEandDN2dPRmtTYkM0alVJTEgz?=
 =?utf-8?B?WjdQOVBlRzNKSUlRdWNRTmlyZk53ZTZCVkJHQVhYUzBuZmFudU0vZnhGWXJ3?=
 =?utf-8?B?T0d6T1F6MWVjdWx2Z3JrNTFzN2RtU1hqMDdvSjdVNlRwV0tBTUg5dGI4Ymtt?=
 =?utf-8?B?Y3BiTGtTK0lZaitUU1JNT2dSVnljWlVxc3MwRExpZEtjMFVMdUxKV2NoSHNU?=
 =?utf-8?B?SEp1V2tuU1FiUkNWcHN5UHRYYU53Q21ud01MdHo3Z3JPejNGeFFkTUJNcFNq?=
 =?utf-8?B?eEYxd244d1ZEMnE3RGE1NTdObmZiQXoya3dzc3pzMStzb3RQMXNYcFQ2S2Z0?=
 =?utf-8?B?WWlXRnBhd0FpVmUvaUk0K094Wkx1Ym95dDlub1Z3RCtLUTFCM0dGYjlCK3ov?=
 =?utf-8?B?WDBuVFA3TUlER1g1NmZVR3Q5dHVSMnI3c2tsQzR2UHZpWWhxbkVWVVh3ZVVK?=
 =?utf-8?B?Wm5HejBJbGZiOEJCK0Ntajk4cEhPeSsyZVAwN2lRZm1TSXRrZkd4Z0x1a05T?=
 =?utf-8?B?MHBlTnhKb3oxTm9GaHNad0xwalY5REswZUJMWjM4U1dNMmhLQmRKNHNiczBy?=
 =?utf-8?B?bVI5QThZZWRCMHBEbTI3aDNXVG55RmVpUkpUT3N6ZzJaQjVjRzlVSUFtMkx3?=
 =?utf-8?B?amszMkpoV2ErdnlxSVRyb2RoaXdoeVpXMHlVNVk4cm5nUG5qTUJ0MWhqZ1hO?=
 =?utf-8?B?aDd4THpFcXZ4ZGw3eFk5dGVDRGlzMWpVcC9RNFBVeVRCUnJEM3NIZFZENGdB?=
 =?utf-8?B?SWNGZ1JEN2gvTm5sVXptTGxaSmx1c2Y3QUxxQnNIWGhCcjJpWEZrNS9jaWY4?=
 =?utf-8?B?Wmx0UXQzNERXUVZmT25UamxOY0czMmt5UklYdDlWcWltcjdqcGh6UzZxM2Fv?=
 =?utf-8?B?L2RSc3ZKUHY2YlBzQmxMQUgra0toQzNSNjdRYnlUZzNyWHVDOEZNK2Q4Z21n?=
 =?utf-8?B?Qit4c3Q2MDVtNFUzcXJDS0JpYlFyQVJ2K05NRWEyVDRuamNXNHVVVzdGcFFK?=
 =?utf-8?B?cFhyVmFBcW8zMHd0MmFsK200aldQUUp4QkVLaTlQV1BMUHNTaE5IRkMwQlN3?=
 =?utf-8?B?R2RJVUdlQS8zMW5rUlBuVXpMYmhYbTFkMjEvWXVjMkIzYkJUN1EyTUdXSlUy?=
 =?utf-8?B?S1NuZmduWlJjWllWdXB5SXVvbjdGRmJLR1dSVzBZWVI5eEtqbkMyTWVSZjh4?=
 =?utf-8?B?MlhzN1JxczlLaWErTk9FeFNoVzFnRng4N0tRZEVJbkdtMGhzbUYrWjc4M1BD?=
 =?utf-8?B?OHdHRmNoRk9JVW44UzNZa3BhTXRiaFY1R1BscGpMa1lXL000c08yekhXM1FF?=
 =?utf-8?B?RWVYUjhSUVlRM0FUVUphZ01MaW13cm12dkNoSG5nVDFRRXcvWWdkZXk2dkoy?=
 =?utf-8?B?OEUzRnlaR0RITGgrTktuTnFVdkUzK1Q3K05Bai9NTnRQTTVhb3QrQ25PU1Fl?=
 =?utf-8?B?UkRiQkFIeFZCL0dieTVwZHVvZnZKOVVTT2ZPRXI0cUhwSWFqMTlyeWJ6TzNU?=
 =?utf-8?B?ZHdUU0RnWmVLZTUzMzA3Qkl5MVVTdUNweWdoNnVCbUxZMW5BMTFuTzAvUFNp?=
 =?utf-8?B?cDJjTENsR0RLMGh6Rk1YenlNUkVOQ25mZ1BvLzlmVXNtb1BCVU1iV3dBZTNV?=
 =?utf-8?B?Q3pCdHFPeVhiWTl2OVMwbHljSWMvNE1nN2UxZFFQQkU5blF6Q0w3T25ERnZY?=
 =?utf-8?B?di9RbGg1Z1RsQkM0MFBzRUV5L2VIL2dneWRSVkRXdHQwUW43UDg4QkpKYUx6?=
 =?utf-8?B?MXNwd3o4OUhkYXdKNU90eHEvS21xRXFncEFoekNpZzVVdVpYQWc4VmJ0WWRy?=
 =?utf-8?B?ZG81Ykh6TDJYczJtNCtkb29Vb3IxSEw0TVZkQVhEeFBvbzF4Q2J2NEt0aFZG?=
 =?utf-8?B?anNtWElDSjJ2TzF6dDhCMWFEVkFwNE5JdHFPMEpMdjBQcjJXVHlJZ2hUbEQ4?=
 =?utf-8?B?RExXQklxaWJlWGVJamdhaUZRVEJ0QU5UdTNiMGZ3MGJOQUk3SjROcFBQa1Jz?=
 =?utf-8?B?Z1V3aVlJbytVN1VsOEU1UzNNRGJ2d0FxRG1odFVGQ3hlRFN4YnBFS00yYTVU?=
 =?utf-8?Q?VZol/oYv+H8t5ZnAXCC6W/o=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: aa176e91-5728-4f04-ad3c-08d9dce55c52
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jan 2022 13:53:10.5648
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6YFFAmdEKVMOlRIPnbhUkWGJtP6yEGM+TnCO6U8vAw2cJUtkf04wW9DRrT+VLnNE3InP9FysHuhlxAxl30UDDg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2429

On 21.01.2022 12:08, Andrew Cooper wrote:
> Xen's segment enumeration almost matches the VMCS encoding order, while the
> VMCS encoding order has the system segments immediately following the user
> segments for all relevant attributes.
> 
> Use a sneaky xor to hide the difference in encoding order to fold the switch
> statements, dropping 10 __vmread() and 10 __vmwrite() calls.  Bloat-o-meter
> reports:
> 
>   add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-433 (-433)
>   Function                                     old     new   delta
>   vmx_set_segment_register                     804     593    -211
>   vmx_get_segment_register                     778     556    -222
> 
> showing that these wrappers aren't trivial.  In addition, 20 BUGs worth of
> metadata are dropped.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Fri Jan 21 14:01:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 14:01:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259354.447585 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAuTM-00087h-20; Fri, 21 Jan 2022 14:01:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259354.447585; Fri, 21 Jan 2022 14:01: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 1nAuTL-00087a-V3; Fri, 21 Jan 2022 14:00:59 +0000
Received: by outflank-mailman (input) for mailman id 259354;
 Fri, 21 Jan 2022 14:00:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g0ta=SF=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nAuTK-00087U-9b
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 14:00:58 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8b93a3b3-7ac2-11ec-8fa7-f31e035a9116;
 Fri, 21 Jan 2022 15:00:55 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8b93a3b3-7ac2-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642773655;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=TocoKrOiD2gfHp1KVVbQ6UhOslcHZ3SLirZqne2Ouuo=;
  b=J0jlIsGe9emlpfL32TXx97TUbLxzQ2Rn6pA3XmzrKUWSnL51PS4bANEu
   sQbzNnijRbkgiL6SPBb/cr7UGq5PzRJyx51QmpAYR6Vqj39qxGzEhSRAS
   OHzXZ5mIuOF6Km4Un2DXb7aysqppfg4tWY06d6oQ2mjRp0J21x5sW75KJ
   4=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: E/TZOY/h1nNksGeFJ9grUZVIhNPOmHRFyyGXR40XceQg7XWTGnVCGGMJzQ/yFfFEeMmsLICa2i
 N3PZfTGOpGP8W5PvTN23CrirOUrRidBsrnSmxE5bTgmZwXWMAHHbEw6WS0wU26AG5TRSNP9p0G
 zVufhfP0aY2MXwqaVvNPwhR/22O0AHj8vGc6MF0v//nCJ3d3psb2xDohCHbD/hoqx3S88riU/J
 6gJKrTSIJLZjd2HNCXH9S0xn8kABPuxRRfaQCC+hcbNweSL5vEvZo+soa3dPCJt5zVna9QhQt+
 biPPUc91qJ7lhS48Hj/92DVQ
X-SBRS: 5.2
X-MesageID: 62899047
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:FosJWq8ltQq9cOfwnS/MDrUDZXmTJUtcMsCJ2f8bNWPcYEJGY0x3m
 2dKDTyOO6rYNzH0Lt8na4zj9EoA68CDm4A2GwZv/ik8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7dj29Yy6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPhh6
 t5yrqW1Uz5uI4fUxL1EYxBeCzxxaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguw5K8bmJsUHs2xIxjDFF/c2B5vERs0m4PcGhmdh15gSQp4yY
 eI3Qx0oTRWbfSZMBW4aUJQ+ouCltlXGJmgwRFW9+vNsvjm7IBZK+KjgNp/Zd8KHQe1Rn12Ev
 STW8mLhGBYYOdeDjz2f/RqEhObKkDi+SI8UPLG58PF1iVmXgGkeTgAVPWZXutHg1BT4AYgGb
 RVJpGx+9sDe6XBHUPHtfRaHu0eBpCdbRvBIT7Rj2AiL0rfbtlPx6nc/chZNb9kvtckTTDMs1
 0OUk96BOQGDoIF5WlrGqO7K8Gra1Tw9aDZbOHRaFVdtD8zL+dlr1nryosBf/LlZZzEfMRX52
 Hi0oSc3nN3/ZuZbhvzgrTgrb99Bz6UlrzLZBC2KBgpJDSsjPeZJgrBED3CBvJ6sy67DHzG8U
 IAswZT20Qz3JcjleNaxaOsMBqq1wP2OLSfRh1Vid7F4qWj3pCb4LNEJvG8mTKuMDiriUWSxC
 KM0kVgJjKK/wVPwNfMnC25PI5lCIVfc+STNCamPM4smjmlZfw6b5iB+DXN8LEi2+HXAZZoXY
 M/BGe71VC5yIf0+kFKeGrlBuZd2mHFW7T6DFPjTkkX8uZLDNSH9dFvwGAbUBgzPxPna8Fy9H
 hc2H5bi9iizp8WnMnCIqtZCdA5TRZX5bLivw/Fqmie4ClMOMEkqCuPLwKNnfIpgnq9PkfzP8
 G37UUhdoGcTT1WdcG1ms1hvN+HiW4hRt3U+MXB+NFqkwSF7M42u8L0eZ908erx+rL5vyvt9T
 v8kfcScA6sQFmSbqmpFNZSt/pZ/cBmLhB6VO3b3ajYIYJM9FRfC/cXpf1Wz+XBWXDa3r8Y3v
 5apyhjfHcgYXw1nAcuPMKCvwlq9sGIzguV3W0eUcNBfdF+1qNphKjDrj+9xKMYJcE2Ryjyf3
 geQIBEZueiS/NNlrIiX3fiJ9t77HfF/E0xWG3jgwYy3bSSKrHC+xYJgUfqTeWyPXm3D56j/N
 /5eyOvxMaNbkQ8S4ZZ8Cbti0Yk3+8Dr++1B1g1hEXjGMwarB7dnLiXU1MVDrPQQlLpQuA/wU
 UOT4NhKf76OPZq9QlIWIQMkaMWF1O0VxWaOvahkfh2i6X8l5qeDXGVTIwKI2X5UI7ZCOY84x
 fss5ZwN4Aulhxt2atuLg0i4LYhXwqDsh0n/iqwnPQ==
IronPort-HdrOrdr: A9a23:NgNE1KywLr4Ps+gTmug1KrPxtOskLtp133Aq2lEZdPULSKOlfp
 GV8MjziyWYtN9wYhAdcdDpAtjmfZr5z+8O3WB3B8beYOCGghrSEGgG1+XfKlLbak/DH4JmpM
 Jdmu1FeaHN5DtB/LfHCWuDYq8dKbC8mcjC74eurEuFDzsaE52Ihz0JdDpzeXcGIjWua6BJcK
 Z1saF81kWdkDksH4+GL0hAe9KGi8zAlZrgbxJDLxk76DOWhTftzLLhCRCX0joXTjsKmN4ZgC
 X4uj28wp/mn+Cwyxfa2WOWx5NKmOH5wt8GIMCXkMAaJhjllw7tToV8XL+puiwzvYiUmRwXue
 iJhy1lE9V46nvXcG3wiRzx2zP42DJr0HPmwU/wuwqUneXJABYBT+ZRj4NQdRXUr2A6ustn7a
 5N12WF87JKEBLphk3Glpb1fiAvsnDxjWspkOYVgXAae5AZcqVtoYsW+14QOIscHRj99JssHI
 BVfY7hDc5tABOnhk3izypSKITGZAVwIv7GeDlPhiWt6UkWoJgjpHFogfD2nR87heUAotd/lq
 D5259T5cJzp/ktHNZA7dc6MLuK41P2MGDx2UKpUB3a/fI8SjrwQ6Ce2sRB2AjtQu1O8KcP
X-IronPort-AV: E=Sophos;i="5.88,304,1635220800"; 
   d="scan'208";a="62899047"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MipfKNyfGBSFL8UoCYnJAgSlbAvNMERRuXlaVAHd59HGXDmnfYS8ckF1h1llWsH5Yw/2Ut0RvUPkVTU1KtFO0mbOXeJZZYqnVdnRns0HmSi2ovaYSggl8O3AWNa+zI7eyP7bHhpfS+222Ntff1uYRUd7/LGYCRNTPqcNbsQIU2REQThnFKvNo1m/pyKtxVXOej6i4wYUw3VaVYGJ/38ApN1PyXFERvGeqWikV9Y68WA7EUJqYOjenBEWJ8pJVFKqP/qSvhzAxZspLAUw5KWF6SKYl84iSAJI2QkYpUYCWhRrXGFXuX7zgizx3IRcQFcg/4CQjYC5d+EMpgC/maUmvQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fCuScff/WVAZh9KiKf5D7d8nCSAnd9cFHsMUnKW7iDU=;
 b=nBK7SQCbdpMGt3iTfdE7G+ZQvnHj+2ocD6JWvvZSm7SyGayYoTyY3+5Sruca1/z8iLCirAaOl8f/xdWY8vcuuOSUHwTPgInmQmE3MzTjv6I3wH9Q2dojmiMUxMx/ex1LLUjJSaLwFI6d302uH5ZZyeWTGQzuwjgf2Gf12YhOKeYHGWA8LytIj2PPk992jgWEEI02zORcPEcEI7BsbP7IPV9sCG0aJ7cpr4Yz63ieIEl+bAqSGSS/nrPevlJ/9+cTZ9tJeL85MQVKGBOHypGlcLldtkPCx3dX5XJW70r5FkIfCu+xDR5ER+IXvFwxXhyr8WlP5VaU3DM+fhzjGZyYlg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fCuScff/WVAZh9KiKf5D7d8nCSAnd9cFHsMUnKW7iDU=;
 b=NF4eydJ44j9pzJZ6Q+Ket59SVwFQSAZdJ00Eh5I+vajph19W+AHDvceVMmmt4YWzXDBJKjsW4Wt+NH0fcgXxgyby1181QndeCgA11QKLVryi8kCq3F2EqXz+fiOrKMH0z81C6pOOSNw4pSlBunoUQXoJELu8oFctYv8tPFwYQa8=
Date: Fri, 21 Jan 2022 15:00:29 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: James Dingwall <james-xen@dingwall.me.uk>
CC: <xen-devel@lists.xenproject.org>
Subject: Re: possible kernel/libxl race with xl network-attach
Message-ID: <Yeq8fdOWLngcjDH8@Air-de-Roger>
References: <20220113111946.GA4133739@dingwall.me.uk>
 <YeBPG+8D00xG4h0j@Air-de-Roger>
 <1671ad485c35fb86d758951889cfa05d@dingwall.me.uk>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <1671ad485c35fb86d758951889cfa05d@dingwall.me.uk>
X-ClientProxiedBy: MR1P264CA0138.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:51::19) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2047fb41-4d10-4bcf-e7b5-08d9dce667b2
X-MS-TrafficTypeDiagnostic: DM5PR03MB2651:EE_
X-Microsoft-Antispam-PRVS: <DM5PR03MB26517674D738B5C83678924A8F5B9@DM5PR03MB2651.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: a8EyZFvhz/syccsgRS/vfrXNtUjK/oSX3EkfEsnW8zKo37JKr1tg7CcRCHT+G0RKP80Uy8Cn92kIk8t/nSQXYWPOJeWfBHitAlEsjEDPeazi2RnJq9Hu7yrnejYJ9vEFDHHyLAW9yITL9uUMF997whzWIkggfsYrt5tacrio6/mseU2BnObivuqCbCpApoBERhuEtmJZ1V9r+jxOFaG4DLQmr1Ymlhvfp79/RfZbemZ2/CWjunpZ5ztqnbHdoP+HiZw20Ovth482nLDNz/eH/9igkOrdi4Lkyf13gnzj0AApzqEjo5+8k6+QgtPT1LrRmDYpYP0iZkkrmp0DjerHfyWlFG/KKULvOpq5TTfRdxHmGANr2gjtrOkgLhaOJdJyXhN29cstu332l8TLrYcb6kvcYpREw8ALoorKXCYWmxkxE6nvitQ21gcGMua4S2huKr+EGsnA/flBHlS3kg+xHgyIF4t/1feZfx6/fkkEfgLGttBVsSZDR49rPXF6PB+Ca3kslXv3eBHAnRbV8tSZOBUrmsUsa3kjQeabt0JQhy0+3ro2taO7PT0/fMMaQhh6LiI3qtqZJp6i1Vy1ITgIJ2GRq/Abc1JrXM3hCRkAd/DiYjXs/ti9JNWMh9zgqOY7V9ydx6FDh1KB6Z+RSOs4NQ==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(53546011)(6506007)(66946007)(82960400001)(66476007)(33716001)(5660300002)(186003)(508600001)(4326008)(6916009)(38100700002)(8676002)(316002)(86362001)(9686003)(2906002)(6512007)(85182001)(66556008)(26005)(6486002)(8936002)(83380400001)(6666004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?d1B0SEx3empYNHArYjd6RHl0MjZWL3JscWRKYitnc1c0bm16SnNFa1EvdVJE?=
 =?utf-8?B?bDFjQndTSm05eVovUmt0enBNN092aXkwc0p3TXJuTDhEZUdhWTFJMlFBNUdJ?=
 =?utf-8?B?NnBjZ1BxVGlhTXZzdW1WaWZQaWpTTHgwYkl3Q05ZTTg1WGR3ajNYeHdCSlp2?=
 =?utf-8?B?b0kzZy9ZcFdiS24yc284N3lPU2dORUVyTzVONVc3QmhNd3hmNU9JMTlQRXRx?=
 =?utf-8?B?d3ROYUhkTnp1K1QyR2EvNzhZRzNHYTA5djhxekhoakFqbUZsUzNOT0g4UGIr?=
 =?utf-8?B?dFZPVmpDZERWTGdzNEZhdVVCWEpBT0RyRVhZNlZ3cXhGR3pyMld4dnRucTY4?=
 =?utf-8?B?LzBNUFFqeUNQWW9qcWxBSkxYNXpKRWdxb3lMKzFqWkN3dms1YTQrdnFwRWhO?=
 =?utf-8?B?UktXNjF6L04wWGhHeEJFT1FwWE94a2dscmFCcUIyb0xLY3UxTUx4ZUVqZXZD?=
 =?utf-8?B?UmRvOFFzSGRYcG1QZUx0SHZ4VGhicTZZcXoyRWZJbm9BRSsxU2FUMERzeXVV?=
 =?utf-8?B?Rko0NGNmblRoQmdreFUxalo2Z250Tm5naG80NlM4TFMxMTBWZ2Q4aU43Z09j?=
 =?utf-8?B?OFJDTGNTd3BRdTgxUFZVLzFJdm5MTy9zcU56ZGgveDBaSnM1WmRxYlJTQjhH?=
 =?utf-8?B?b1RtK0NvSEtGR1plUW1NcWV3TVNWOW5WT3NMb3lzZktoT0IrMVoyZytNRnZm?=
 =?utf-8?B?bC9yaU40eG5nWG9JVldTQVRoaitZL09idE1pTVVmM3V5UnhySVlXbU1GMHhX?=
 =?utf-8?B?WSs4RGVIWnRYTHZsbVRrOVBYeW9PR2Q1RUxzNGZsbC9JTUFUTGh6NUJYWHpZ?=
 =?utf-8?B?WGNmM0V0UUNuZ3dZMWlORnhDYkRGNndJd1VkSTVCOWlPMVM5THgvZGRnaVE5?=
 =?utf-8?B?eE8vNFZtbnRoekswdUoraWMwbFBiYVFhaTFpeWhmcmd5dkJIMm85ZTNIYStM?=
 =?utf-8?B?SUtxM1d2RW5jK3VqTU1sU1lVOXNwM3NDNzVTRlZLc2w3NkszYlNFU3lvTWFu?=
 =?utf-8?B?UHFuN1NCWjFDM2J6SVBjdmhoQUFlRVN1NVo2OWFma3RVRmFLeVd2K2tNYWly?=
 =?utf-8?B?L3pNZVJKUExudXE4cVdHQTVBU0VSaC9HZE5NeXY1c0QzN1d0NVh2a1pBNitL?=
 =?utf-8?B?NVdnV2VoZWEvSE80MGhLSlF0RmVGUStvQnpmTW1jdzlwR2E5M21OaUJ5YVox?=
 =?utf-8?B?RjZ4MU1mWi9Cb0tod3BhSXBFM3pzRU0vc0twUkxjSVdCNnpyS3pKd1R5TFNI?=
 =?utf-8?B?MTVZZUxFaHYvZ2NqU3JWT0x2QTM0akVuNG1hVEJLSjVOZmVqYmcvTHprMWVP?=
 =?utf-8?B?d2VNVGNSUUg0ejNYcUM2cmVRWTA1Ny91ZUFxZzRJWmtPQzJaQjRYQUJiek9h?=
 =?utf-8?B?a1Z4Z2txLytLMytjdVFIM0JsRUJuaWVyMEVLbDkydGZRalRhdEVuRmRGaUcw?=
 =?utf-8?B?QXZVVUNGRHJJQmI3ZVg3NWd2THljdXlOamlkNit2dUlNUWZocFd0ZDJGWldP?=
 =?utf-8?B?S1pOV3kzTDJqRnVzNEdCTFRQVHRyMDlIdmhDVmVJaUN1WVZJVG5qQkVnZVNl?=
 =?utf-8?B?ZVVVVm5yT0pIMGxXK3ZQcDNUTjJYcXBPOWx3SEl5TXhVUnJETFM4bnNNVTNO?=
 =?utf-8?B?ZVo0ZE14NVRIb3FBd1UwT2RoRmlWaitkR0hrRHREb1ovYWlqaHp4VmNDVWhH?=
 =?utf-8?B?NXpFbUN0RkM3dG1FcW9JZklSd1oxMmRyNXVyWkFJTjI1YVdmQy9oenZWUGRM?=
 =?utf-8?B?OEV6R2x4TEFQdTVqeTExS0FzTnRSWWVQWXhNVllDZXlMU09CZndzMlBpMnJQ?=
 =?utf-8?B?TWR3N0NTeDBXc3lpOFA2QzJIaGlKdlFoM0QzRmVqdExUMFdKTUxaeFFqYzN2?=
 =?utf-8?B?Q3VwakRkVzVqN1hzK3FXN002ZUQrTW0rdXJLSjNlZ3gyeElYNG53bzdHcXpp?=
 =?utf-8?B?TEdaa0FWWXRiTEp1SkwyK0ZLNXdCdkZ3TlF5Y25hdld1TUgyM1RkNzV0MGsr?=
 =?utf-8?B?WXhMSUZXc2hEZDNQeXh4YWlKVFFXamtzcy9YTUEyTmRzYWtTR0ZMaHlIbUsx?=
 =?utf-8?B?dzMxUTZTdFoyZTE4MnIrQnNpSGRwbmRGSmJaVUU0Z3ZkZi8venhsWW5xM0Qy?=
 =?utf-8?B?ZUswbVVIYWZJN3JVVkNsR3VZdWJOQ1k1bDhNVlZQUnlNWUZ0RFVvT2s5NGp5?=
 =?utf-8?Q?ioAbAlO+SmCs4Xxg/O0+/WU=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 2047fb41-4d10-4bcf-e7b5-08d9dce667b2
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jan 2022 14:00:39.1096
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5Jjt8goHzSxnNeLEeIZCfXofNRngDKTmzYoqN4UFY0VVlKgnM9zlt03wCrnu5m9cxNl/qApgjUHlIDTjq1VTMQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR03MB2651
X-OriginatorOrg: citrix.com

On Fri, Jan 21, 2022 at 01:34:54PM +0000, James Dingwall wrote:
> On 2022-01-13 16:11, Roger Pau Monné wrote:
> > On Thu, Jan 13, 2022 at 11:19:46AM +0000, James Dingwall wrote:
> > > 
> > > I have been trying to debug a problem where a vif with the backend
> > > in a
> > > driver domain is added to dom0.  Intermittently the hotplug script is
> > > not invoked by libxl (running as xl devd) in the driver domain.  By
> > > enabling some debug for the driver domain kernel and libxl I have
> > > these
> > > messages:
> > > 
> > > driver domain kernel (Ubuntu 5.4.0-92-generic):
> > > 
> > > [Thu Jan 13 01:39:31 2022] [1408] 564: vif vif-0-0 vif0.0:
> > > Successfully created xenvif
> > > [Thu Jan 13 01:39:31 2022] [26] 583: xen_netback:frontend_changed:
> > > /local/domain/0/device/vif/0 -> Initialising
> > > [Thu Jan 13 01:39:31 2022] [26] 470:
> > > xen_netback:backend_switch_state: backend/vif/0/0 -> InitWait
> > > [Thu Jan 13 01:39:31 2022] [26] 583: xen_netback:frontend_changed:
> > > /local/domain/0/device/vif/0 -> Connected
> > > [Thu Jan 13 01:39:31 2022] vif vif-0-0 vif0.0: Guest Rx ready
> > > [Thu Jan 13 01:39:31 2022] [26] 470:
> > > xen_netback:backend_switch_state: backend/vif/0/0 -> Connected
> > > 
> > > xl devd (Xen 4.14.3):
> > > 
> > > 2022-01-13 01:39:31 UTC libxl: debug:
> > > libxl_event.c:750:watchfd_callback: watch w=0x7ffd416b0528
> > > wpath=/local/domain/2/backend token=3/0: event
> > > epath=/local/domain/2/backend/vif/0/0/state
> > > 2022-01-13 01:39:31 UTC libxl: debug:
> > > libxl_event.c:2445:libxl__nested_ao_create: ao 0x5633ac569700:
> > > nested ao, parent 0x5633ac567f90
> > > 2022-01-13 01:39:31 UTC libxl: debug:
> > > libxl_event.c:750:watchfd_callback: watch w=0x5633ac569180
> > > wpath=/local/domain/2/backend/vif/0/0/state token=2/1: event
> > > epath=/local/domain/2/backend/vif/0/0/state
> > > 2022-01-13 01:39:31 UTC libxl: debug:
> > > libxl_event.c:1055:devstate_callback: backend
> > > /local/domain/2/backend/vif/0/0/state wanted state 2 still waiting
> > > state 4
> > > 2022-01-13 01:39:31 UTC libxl: debug:
> > > libxl_event.c:750:watchfd_callback: watch w=0x7ffd416b0528
> > > wpath=/local/domain/2/backend token=3/0: event
> > > epath=/local/domain/2/backend/vif/0/0/state
> > > 2022-01-13 01:39:31 UTC libxl: debug:
> > > libxl_event.c:2445:libxl__nested_ao_create: ao 0x5633ac56a220:
> > > nested ao, parent 0x5633ac567f90
> > > 2022-01-13 01:39:31 UTC libxl: debug:
> > > libxl_event.c:750:watchfd_callback: watch w=0x5633ac569180
> > > wpath=/local/domain/2/backend/vif/0/0/state token=2/1: event
> > > epath=/local/domain/2/backend/vif/0/0/state
> > > 2022-01-13 01:39:31 UTC libxl: debug:
> > > libxl_event.c:1055:devstate_callback: backend
> > > /local/domain/2/backend/vif/0/0/state wanted state 2 still waiting
> > > state 4
> > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > libxl_aoutils.c:88:xswait_timeout_callback: backend
> > > /local/domain/2/backend/vif/0/0/state (hoping for state change to
> > > 2): xswait timeout (path=/local/domain/2/backend/vif/0/0/state)
> > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > libxl_event.c:850:libxl__ev_xswatch_deregister: watch
> > > w=0x5633ac569180 wpath=/local/domain/2/backend/vif/0/0/state
> > > token=2/1: deregister slotnum=2
> > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > libxl_event.c:1039:devstate_callback: backend
> > > /local/domain/2/backend/vif/0/0/state wanted state 2  timed out
> > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > libxl_event.c:864:libxl__ev_xswatch_deregister: watch
> > > w=0x5633ac569180: deregister unregistered
> > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > libxl_device.c:1092:device_backend_callback: calling
> > > device_backend_cleanup
> > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > libxl_event.c:864:libxl__ev_xswatch_deregister: watch
> > > w=0x5633ac569180: deregister unregistered
> > > 2022-01-13 01:39:51 UTC libxl: error:
> > > libxl_device.c:1105:device_backend_callback: unable to add device
> > > with path /local/domain/2/backend/vif/0/0
> > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > libxl_event.c:864:libxl__ev_xswatch_deregister: watch
> > > w=0x5633ac569280: deregister unregistered
> > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > libxl_device.c:1470:device_complete: device
> > > /local/domain/2/backend/vif/0/0 add failed
> > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > libxl_event.c:2035:libxl__ao__destroy: ao 0x5633ac568f30: destroy
> > > 
> > > the xenstore content for the backend:
> > > 
> > > # xenstore-ls /local/domain/2/backend/vif/0
> > > 0 = ""
> > >  frontend = "/local/domain/0/device/vif/0"
> > >  frontend-id = "0"
> > >  online = "1"
> > >  state = "4"
> > >  script = "/etc/xen/scripts/vif-zynstra"
> > >  vifname = "dom0.0"
> > >  mac = "00:16:3e:6c:de:82"
> > >  bridge = "cluster"
> > >  handle = "0"
> > >  type = "vif"
> > >  feature-sg = "1"
> > >  feature-gso-tcpv4 = "1"
> > >  feature-gso-tcpv6 = "1"
> > >  feature-ipv6-csum-offload = "1"
> > >  feature-rx-copy = "1"
> > >  feature-rx-flip = "0"
> > >  feature-multicast-control = "1"
> > >  feature-dynamic-multicast-control = "1"
> > >  feature-split-event-channels = "1"
> > >  multi-queue-max-queues = "2"
> > >  feature-ctrl-ring = "1"
> > >  hotplug-status = "connected"

The relevant point here is that `hotplug-status = "connected"` in the
backend xenstore nodes, and that's set by the hotplug script.

Having hotplug-status == "connected" will allow the backend to proceed
to the connected state, so there's some component in your system that
sets this xenstore node before `xl devd` get a change to run the
hotplug script, hence me asking for any udev rules in the previous
email.

If it's not an udev rule then I'm lost. Do you have any modifications
to the Xen tools that could set this xenstore node?

Regards, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Jan 21 14:06:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 14:06:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259357.447595 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAuYk-0000Kx-M8; Fri, 21 Jan 2022 14:06:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259357.447595; Fri, 21 Jan 2022 14:06:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAuYk-0000Kq-Ip; Fri, 21 Jan 2022 14:06:34 +0000
Received: by outflank-mailman (input) for mailman id 259357;
 Fri, 21 Jan 2022 14:06:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=57ha=SF=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nAuYj-0000Kk-7B
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 14:06:33 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 55eaf0f9-7ac3-11ec-bc18-3156f6d857e4;
 Fri, 21 Jan 2022 15:06:32 +0100 (CET)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2051.outbound.protection.outlook.com [104.47.6.51]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-6-_duEfGJeOES_WZZoD6poHg-1; Fri, 21 Jan 2022 15:06:30 +0100
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.4909.11; Fri, 21 Jan
 2022 14:06:29 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.010; Fri, 21 Jan 2022
 14:06:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 55eaf0f9-7ac3-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1642773991;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=mukw2TsNT5gvUSY3f/x3PNsjn46v23w76n+ZGVEwkKY=;
	b=do3/ACtJjAzzL4FDl/xKbHIcvb3mPVF9O80TI7CakzHwYfH6h/ny7w7M8ZkEMt7ir4Qni+
	ZyWpgb5ekBPfQKAX7p6hFRV6WZ8Lpbj8sj2tzZ8X18auwS+W5A5CraiaWnsxgNvrJkXUak
	gJy6R7mpCZLmadBxCwWa85UnNQ8fHKI=
X-MC-Unique: _duEfGJeOES_WZZoD6poHg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iscIq0bFwVkXQPlspdIyW0tiIICFGkB2HidtKA+eNDMLGV94VIoMLq+kdgylRSxbpdTwl1Ic9OLm+o4zp0GDVbfD1heSZSkFC8+4Xn+3XMt/PnxPoYinpn/vlrRNuRpqD7KkQLeg6+4V7FHs8Nuh9mvOS8CNiq7mimMNVJ05HYrw/Fma/RuXSzJFyXmE6BsoblUiiavRUSHfHqUTyo0CLd8di9/8rQqxD/t25kclRCuaRzu0KNxuuXbR2sM1LekBsMUCINFv7r0+cb10aJ/5tlVAR2jEnbBLjPco/RLTWNBb7uo47nujkDdMPRzOQnEVe6itDq24/wfo8eL7DxIVmw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mukw2TsNT5gvUSY3f/x3PNsjn46v23w76n+ZGVEwkKY=;
 b=aT7sPHNkFJ/h+TM3mhAVoIu6yQOrDGkioLlKqYc9a0qK8kYaKdHrNst95uFLqevbCXcj3/vHvBBdMFoEzXHZwCc2kkRGuWRqkUw4X4dWJWR4tvrJAVlV2Z0+JZAe7rWHUjn9RikmH/wZFkn496zw7EjFfEi8ckgjNPKEXt0VtVSB40hQ85ORZbdYUq0Ds8ovI6vziQ9mFTnOX0sMTRVV2KwKA0ROYvsk/8arm0g8cfmGrPHvCU5CWgKu/2rcM4cLvfHanU3DW5CxK7KkLvkckKiMFzqLIw1l25/wtuuffygs3G48NgW7QMTIkhbZcEW3vVKvkkNfgDOZEi3iJmUxug==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <56851e47-abfe-fae3-59bc-ea9b0b7d7bca@suse.com>
Date: Fri, 21 Jan 2022 15:06:27 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH] x86/hvm: Drop get_shadow_gs_base() hook and use
 hvm_get_reg()
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
 Kevin Tian <kevin.tian@intel.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220121112241.19277-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220121112241.19277-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR05CA0032.eurprd05.prod.outlook.com
 (2603:10a6:20b:2e::45) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c5bd99fc-2088-4169-80ac-08d9dce7383f
X-MS-TrafficTypeDiagnostic: VI1PR0402MB3389:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB3389E60C5B036D58675371C0B35B9@VI1PR0402MB3389.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:
	vkqGC/baA6UwWuppMT8E5Mwl15r2xcachakWk2Pbr6JmXxzoL05LuC8wJNa/SpiTAIogyu+ffDz7wLmsM6DqkoUWmItb9zovev/ZAZgUMM2wJO72dMdPuI98R/Dcdj8cULvcGc2MHvEdUN7wS5iaVt+UmjtLPNSsu35EwO/4blW2v3GPROLUAOqvVQoV9Az45dKdcbIjprv8eKWZUyMGkXhDriq5XKkAUcV5GcF74jJ7ADFhhjA5qS38D+72Jy3QUhgyiMxMqhM1H34guIhRRQXl6jZDxJLF09Ybr0koPyG6Hqrwdu6xH7siWxKzMBXxbVJSfKTW2xDN5qZFtr5nJosLlvUPYU+oOMq0e8q/3NvGHnnbWvzpR0DAbWrZEMA1Y1/DwdJzTrOfvhKi32z4iCUvZjdkpgeyfIa1L4vLmDEcfap+m3KOjCOyC0v8O/kMi6LENBXtt7OVTjpmJe+CaD5FOOUO5iEbb8LF95CcNDWuxJO8F0zJiN1YwqzU+MzLwphaE0aSmwHaif3QG49F3VWR57LFzTmW+sPyaiOLbEdZDyoRCCA0tMm4rJ3K6NXUvBBh71ZpCFom4rXuA4eAQOBokl04xvpYScI2qO+udwhDBmcYNJ+1Iq39RKHjlv5OStRdxghDodlfry0ryOnrpLgpmlonmPiUGJj0JoW3lI+7pC7Is1Zh40OL/WRuklKWaeFrGMdQkYKg2HvEOo1VnGoeN5ZEFOzxnC14QJ8NiMMC+U0m8QPC+SU8yU7f/BRs
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)(6512007)(86362001)(66556008)(8936002)(8676002)(66476007)(6506007)(26005)(53546011)(6916009)(38100700002)(66946007)(83380400001)(6486002)(316002)(31696002)(54906003)(508600001)(4326008)(2616005)(36756003)(5660300002)(31686004)(2906002)(186003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WlJudjhPVFgzYTRWdE9PTVFZcTdwcXV0bUliU3FkV0VpeWVqUzBuQWZtWjNt?=
 =?utf-8?B?SDBKSyt6cTJtN0ZzQkZUWElDL0pOOFVTWnNaTy9STTFxeURucWhrd0Q0REdU?=
 =?utf-8?B?dy9nQmc4L0dMVklaUmkvcmh4emR0QVRTMWNFNldrWHBTV0hEMTNQWmRtTmZo?=
 =?utf-8?B?eDZZVU9HS05jREwzclZFUGhOY2xOcGF4WmlFQ3RucXZTWmdkSDZ0NDRNUGta?=
 =?utf-8?B?blZIRHpGSm95THlYMmJZQ1dyWmNocjZxTkJaQmpGSExtNjRQYUVZWkN5WTNO?=
 =?utf-8?B?QUhaU0p0VjBLbml0cDRqSUJrN3p6ZGhSNm02ak94WG5Xd3V1dmZvUXo1bWVi?=
 =?utf-8?B?VUwrQWMxUmoyWHpQbDhuNXh6Yy9neE5ZVUZHRHBHbTB1bHRFMVNpS0dZOUxC?=
 =?utf-8?B?bWVMZHRqTWd2d2x1cDNLR1luSWdOeXJoNGpGb3ZtVFI4NzRrZ0R4aHltV0tT?=
 =?utf-8?B?NWZFSHd3MGp1dk1JOFRkN0o5WGtiTDRXUGN4QVRselhNSTVSbE1sUk1ndDFu?=
 =?utf-8?B?c0dEYWd1a3pZdVFBTU1zVVZjcHZGTUxFVkQwTC9jRFhoWVdtQVdJTDMyM1hx?=
 =?utf-8?B?SUh1TE9FMDhjZHpnVUJOY3l3U3FOVVdkZlZhdysydTRIWnVWYzNqbm9kRFhF?=
 =?utf-8?B?WHljZG9rMHNEUWE2dTFPRVM5ekdObXoxNDM0a2c1MVpEZWFYbktDcmkrYWxW?=
 =?utf-8?B?UE80T1UxM1pvRHBpQWdyUDk2eDEwdmhqNzFlOHVRQ09qMUhqbnFGdUlFWVQ4?=
 =?utf-8?B?bmcxWUhGRkNPeTFZSlJsWGxocjlvYm5sM0dkN3pZWS9ZUUNDV05PSklyeVkz?=
 =?utf-8?B?VDhheVBvbkZtV2NnTkIwMjNnNGoyUDQrTEw4OHdXOVFaQTJ1LzRab3NYSUdR?=
 =?utf-8?B?emJYOW9WUHBjb3libDRDUEM1bmEvdVo4b29ENDJuWFVtUkdYckhhZkpXcnpq?=
 =?utf-8?B?QnNPYXNFdEx5d1A2NXV6d2JRWXF6Q0RFTTM2NTFaQWVnTU5XU0NsL0Nkb3h5?=
 =?utf-8?B?STB5b0Z1QVBnQjk4YlA1ZkhjMlFudmVLTVBVWUFKUitkMjU0Vk02KzVnM29u?=
 =?utf-8?B?ZXoycUkzbzk2NjZVRnZNY0hzR21WZ1o4RkhZWFFyT2h6eDhYZE82TmpXK05v?=
 =?utf-8?B?VlNuRyt3QWV2QkhqVmRzb1dWZVBHYUY4N2czQnBjeURiWmpOamM1SE1Tbm1T?=
 =?utf-8?B?QWZWa0s2L3ZsRHdudGoxTUNKSUYwMW9RVkVKWms3cnhRY3ptMzJKTXNRUnEx?=
 =?utf-8?B?cWpvemwyYzdnbDZxUkx6bXRXNm4zTjhwVXBUVXRSZFpKc09TZVdJOTBNdGls?=
 =?utf-8?B?amxLZko0R3lJUnhwNVVsZDJiUVpOYzVjWDQ0Qi9ndEJCeVJ0ZUZpMDhXMkxE?=
 =?utf-8?B?cTNhbExWQ3JQR3A3SUYwM05HNGZkQjFYblZ0MU0wODZQMUs3WHNHK1pVTXZF?=
 =?utf-8?B?N3Rvb0hieHJ0Q3R6NnpwLy9XRUg2VndURmcwaGgzNDZEaDZKTC9PY2JwNjJ2?=
 =?utf-8?B?ZTFqMXMxdVo2aXZhd28wQ2wzb1FSQmVBeTBHUzNvMUpzUWM1eksvZjE5SnJs?=
 =?utf-8?B?dzBxVkxSalRieTc3RTRmVHV5UWJRZWhXWjkwTUdYT2RoUm0wbDYyaHdlQUNI?=
 =?utf-8?B?cVlGOGdJUHZ4cU1ZSG9iYk15UXUvUU9ubmdVMDN1SXF2ZkF1dnh6bFY2L2Uy?=
 =?utf-8?B?YklHTVBCUUhSZE9jT0ZVUldRejlKSEVnMmtEQnNoak5hTytkRGhrY2VpMW1P?=
 =?utf-8?B?dW9mOC9qOUlyYzhxQ3ljYTFKQ3pnZCszZk5SR1ZMTjlGUmhsWFFvRmhWcytk?=
 =?utf-8?B?Zm5Ed25LSHFSM1JmYnNLUStBVW5hUGdtTU9TNUo5bStpeHhNakhWVjFrRWJJ?=
 =?utf-8?B?aXZBblgwbDRZR3JKY3Z4Q1p2eVRYNmJmRDcvUEpaSTUrNVI2N3NEdDRSeHVB?=
 =?utf-8?B?Y1hlbGZqeUpuNENKc0F1VmFDMUVjY0Zld2Nqc2ZCUUVlYU0vbnExUlZnWkpO?=
 =?utf-8?B?YmpzczBNTDRmT2FDaFhBVGxic3hvUW4wRzdzMTJ6QjRuQU40Mll0YlZ6L2hD?=
 =?utf-8?B?azB1ZU0wZDc4Z2JZeFY4Tk9xREZkVzFzK1I4S0tnUGgyWjE5TjR3MmFsZEgv?=
 =?utf-8?B?Vlp3NVkwV09xU1AvQ21KREx2TnRlVURHZjM3ZC9WeHNZOHRDbzN5bW9Ld2tE?=
 =?utf-8?Q?gi/TyvEf53YXp+xGMer9hnA=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c5bd99fc-2088-4169-80ac-08d9dce7383f
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jan 2022 14:06:29.0256
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Va0iNuC/xuTfAwFmQpgNabyueqDiWSzQPZaeKZxHqeMO4G2kWF5ENjyiqHDu3+EOPZUAs2sMVYMqJTbLl2sZwg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3389

On 21.01.2022 12:22, Andrew Cooper wrote:
> This is a trivial accessor for an MSR, so use hvm_get_reg() rather than a
> dedicated hook.  In arch_get_info_guest(), rework the logic to read GS_SHADOW
> only once.
> 
> get_hvm_registers() is called on current, meaning that diagnostics print a
> stale GS_SHADOW from the previous vcpu context switch.  Adjust both
> implementations to obtain the correct value.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

Just one minor request for consideration at the end.

> If we care to backport the bugfix aspect, a far less invasive option would be
> to read MSR_SHADOW_GS_BASE directly.
> 
> The only case where that goes wrong is when vmcb->kerngsbase has been modified
> and is pending a VMLOAD.  I'm fairly sure this can only occur when we need
> vcpu diagnostics, after an emulated write of MSR_SHADOW_GS_BASE.

Hmm. Maybe best to leave alone in stable trees?

> @@ -2417,6 +2413,15 @@ static uint64_t vmx_get_reg(struct vcpu *v, unsigned int reg)
>              domain_crash(d);
>          }
>          return val;
> +
> +    case MSR_SHADOW_GS_BASE:
> +        if ( v == curr )
> +        {
> +            rdmsrl(MSR_SHADOW_GS_BASE, val);
> +            return val;
> +        }
> +        else
> +            return v->arch.hvm.vmx.shadow_gs;
>      }

I think it wasn't too long ago that I saw you ask for an "else" like
this one to be dropped (in someone else's patch). May I ask that you
consider doing so here, perhaps going straight to the more compact

    case MSR_SHADOW_GS_BASE:
        if ( v != curr )
            return v->arch.hvm.vmx.shadow_gs;
        rdmsrl(MSR_SHADOW_GS_BASE, val);
        return val;

?

Actually, as I notice only now: Would you mind making "curr" here and
in the VMX equivalent pointer-to-const?

Jan



From xen-devel-bounces@lists.xenproject.org Fri Jan 21 14:15:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 14:15:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259364.447618 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAuhg-0001zc-QE; Fri, 21 Jan 2022 14:15:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259364.447618; Fri, 21 Jan 2022 14:15:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAuhg-0001zV-My; Fri, 21 Jan 2022 14:15:48 +0000
Received: by outflank-mailman (input) for mailman id 259364;
 Fri, 21 Jan 2022 14:15:47 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nAuhf-0001zL-Su; Fri, 21 Jan 2022 14:15:47 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nAuhf-00063S-RJ; Fri, 21 Jan 2022 14:15:47 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nAuhf-0002EL-HL; Fri, 21 Jan 2022 14:15:47 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nAuhf-0006bU-Gu; Fri, 21 Jan 2022 14:15:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=dWomXUQJ7P5AsOM1Mn+dMCGLZYhCCSDaDAhI/cx+vmk=; b=TLbmVB6sK1rStwcWo3XHhrHnyN
	/rRzNR2152sD3UwcTsR2LNTnZyJNXapTsuWamd35wzLkFOPMCB15Oe/2egrrrHbbdRYjGjCvfzy70
	MPe4HwPkLayky6vlQdKO9yer0HHag4D4LqDWiq2nNuw3bo6JoL5yikgPbGlDJEq1PF4U=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167766-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167766: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl: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-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-qcow2: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-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-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-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl: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
X-Osstest-Versions-This:
    linux=2c271fe77d52a0555161926c232cd5bc07178b39
X-Osstest-Versions-That:
    linux=455e73a07f6e288b0061dfcf4fcf54fa9fe06458
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 21 Jan 2022 14:15:47 +0000

flight 167766 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167766/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 167684
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 167684
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 167684
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 167684
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 167684
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 167684
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 167684
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 167684
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 167684
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 167684
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 167684
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 167684
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 167684
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 167684

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167684
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167684
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167684
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167684
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167684
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167684
 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-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-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                2c271fe77d52a0555161926c232cd5bc07178b39
baseline version:
 linux                455e73a07f6e288b0061dfcf4fcf54fa9fe06458

Last test of basis   167684  2022-01-13 07:47:42 Z    8 days
Failing since        167693  2022-01-13 22:41:04 Z    7 days   15 attempts
Testing same since   167766  2022-01-20 23:10:06 Z    0 days    1 attempts

------------------------------------------------------------
838 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                                fail    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 71065 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Jan 21 14:40:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 14:40:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259371.447630 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAv5h-00059p-TU; Fri, 21 Jan 2022 14:40:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259371.447630; Fri, 21 Jan 2022 14:40: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 1nAv5h-00059i-QL; Fri, 21 Jan 2022 14:40:37 +0000
Received: by outflank-mailman (input) for mailman id 259371;
 Fri, 21 Jan 2022 14:40:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QdbK=SF=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nAv5h-00059c-1M
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 14:40:37 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1652ca90-7ac8-11ec-8fa7-f31e035a9116;
 Fri, 21 Jan 2022 15:40:35 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1652ca90-7ac8-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642776035;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=0X30hjGugfCEngfgDFITRcV42NHDlcPfKyUe3ZrodtI=;
  b=czCas+mnuBkTutQ2pPR9grvGL+5+nALMeolfGa8RncBAYUseQf/73vKC
   mQd9qdxxfHRmi6hLcLRZTgSYRxFQKQpeQ768qmdIkgGkOI2105ZA1g3Vf
   tKJpywLjcakE+CytTAuVauFm0pOm/OxrRBdsUss/rfcs26yY4mKBzni9Y
   0=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: 1WnuiTHsD+HhLBmJVJLfgacGmxRNdcsDj2rL64TKihe9gwH9cdxOE4ArXq/U6LDB70UdBHwjQl
 AmXPB+UGDfoemMTyzQigFWB16gvyaYlOcPKdOJLFT8YNBQKKacZgxOcl9wQttIO9OzJirxmMh6
 X+IFgYPwjjGPiqxczJASoqTMVazRZcJaj82tNoYs+iu5Uy3r96wUloEeKZz1hS4laE/EMFRSvh
 cdNZwm4+W/YPJa1XOYq7zaPXi3w9vwWm/YrpSlYY4FNKK8m5ETExeIDgVGXJh8w7U4ef6Es4ka
 CVTVdznc7+/PFMX5YEujwSSI
X-SBRS: 5.2
X-MesageID: 62413375
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:II2Usa+KJjDw5Q5vBt0MDrUDZXmTJUtcMsCJ2f8bNWPcYEJGY0x3z
 mJNCzqAO/aMa2b9L4wgOoS3/UkO68fRyNZhSwVppXw8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7dj29Yy6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPh01
 MVx7r27TD12N6rtmu0wbhpiPBNxaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguwqKtXrO4UO/Glt1zjDAd4tQIzZQrWM7thdtNs1rp4UQa+FP
 JVEAdZpRBPqUgxwZWdKNMlgh9yMtEGlIwJHoV3A8MLb5ECMlVcsgdABKuH9ZdiiVchT2EGCq
 Qru/Xn9AxwcHMySz3yC6H3Eru3AhyTgQ6oJCaa1sPVthTW71mEVTREbS1a/if24kVKlHcJSL
 VQO/SgjprR081akJuQRRDXh/iTC5ERFHYMNTatqs2lh15Y4/S6cGng4FR9KbeZ5vcgXRzUH6
 1yzsOHmUGkHXKKudVqR8bKdrDWXMCcTLHMfaSJscTbp8+UPs6lo0EuRE48L/Lqdy4SsRGqum
 2ziQD0W3u1L1aY2O7OHEUcrat5GjrzAVUYL6wreRQpJBSspNdf+N+REBbU2hMuszbp1rHHc5
 BDoeODEtYji6K1hcgTXEY3h+5nztp643MX02wIHInXY323FF4SfVY5R+ipiA0xiL9wJfzTkC
 GeK518Lu8cIbSrzMfEvC25UNyjM5fO4fTgCfquMBuein7ArLFPXlM2QTRP4M5/RfLgEzvhkZ
 MbznTeEBncGE6V3pAdatM9GuYLHMhsWnDuJLbiilkzP+ePHOBa9FOlZWHPTMLFRxP7U8W39r
 ocEX+PXmko3bQELSnSNmWLlBQpUfSFT6FGfg5E/S9Nv1SI/SDh+UKeAmO14E2Gn9owM/tr1E
 riGchcw4DLCabfvc21ms1hvN+HiW4hRt3U+MXB+NFqkwSF7M42u8L0eZ908erx+rL5vyvt9T
 v8kfcScA6sQFmSbqmpFNZSt/pZ/cBmLhB6VO3b3ajYIYJM9FRfC/cXpf1Wz+XBWXDa3r8Y3v
 5apyhjfHcgYXw1nAcuPMKCvwlq9sGIzguV3W0eUcNBfdF+1qNphKjDrj+9xKMYJcE2Ryjyf3
 geQIBEZueiS/NNlrIiX3fiJ9t77HfF/E0xWG3jgwYy3bSSKrHC+xYJgUfqTeWyPXm3D56j/N
 /5eyOvxMaNbkQ8S4ZZ8Cbti0Yk3+8Dr++1B1g1hEXjGMwarB7dnLiXU1MVDrPQQlLpQuA/wU
 UOT4NhKf76OPZq9QlIWIQMkaMWF1O0VxWaOvahkfh2i6X8l5qeDXGVTIwKI2X5UI7ZCOY84x
 fss5ZwN4Aulhxt2atuLg0i4LYhXwqDsh0n/iqwnPQ==
IronPort-HdrOrdr: A9a23:SPKAc6sjHRXFN9OnRg+9ySXa7skDjNV00zEX/kB9WHVpm6yj+v
 xGUs566faUskd0ZJhEo7q90ca7Lk80maQa3WBzB8bGYOCFghrKEGgK1+KLrwEIcxeUygc379
 YDT0ERMrzN5VgRt7eG3OG7eexQvOVuJsqT9JjjJ3QGd3AVV0l5hT0JbTpyiidNNXJ77ZxSLu
 v72uN34wCOVF4wdcqBCnwMT4H41qf2fMKPW29+O/Y/gjP+9Q+V1A==
X-IronPort-AV: E=Sophos;i="5.88,304,1635220800"; 
   d="scan'208";a="62413375"
Date: Fri, 21 Jan 2022 14:40:26 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Juergen Gross <jgross@suse.com>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, Julien Grall
	<julien@xen.org>
Subject: Re: [PATCH 1/3] tools/xenstore: merge hashtable_private.h into
 hashtable.c
Message-ID: <YerF2iVhtXGXE504@perard>
References: <20220120120236.13826-1-jgross@suse.com>
 <20220120120236.13826-2-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20220120120236.13826-2-jgross@suse.com>

On Thu, Jan 20, 2022 at 01:02:34PM +0100, Juergen Gross wrote:
> hashtable_private.h is used in hashtable.c only.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Jan 21 14:55:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 14:55:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259375.447640 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAvKU-0006fp-8n; Fri, 21 Jan 2022 14:55:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259375.447640; Fri, 21 Jan 2022 14:55: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 1nAvKU-0006fi-5j; Fri, 21 Jan 2022 14:55:54 +0000
Received: by outflank-mailman (input) for mailman id 259375;
 Fri, 21 Jan 2022 14:55:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QdbK=SF=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nAvKT-0006fb-9W
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 14:55:53 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 38d439a5-7aca-11ec-bc18-3156f6d857e4;
 Fri, 21 Jan 2022 15:55:51 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 38d439a5-7aca-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642776951;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=NaRXlwHupBinXn5fzubQl2UrLsm/m1+DpUx3ogW/GmU=;
  b=iQ1xU53FkZWxIhZzN/XtgiGibD9sDECGirCZnM1+/EYOXe2XOLXD/d5j
   AZ/vfIWqTHQT2ommKD+Tvyxcb9CKGGQeExtXpF1AbNdtbyZKZY6w9rs9z
   LxvEQaDqr/LiuNxg95uODT+WLM8yqrYS/Xy+FJqIqadsQ9Q7AbP1CCh1o
   E=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: RA/fp89q+XlWjsavLttCCqmrhFNM2coWCCirnZE7aRWuvnzc9/7ZJ9WWmHB4AeeJqLBc4YkATB
 sUBFvhjzNrfv4fYnauac1wCNph9cv3DdoCl1y0yoG0+4AEA+rsesp8VOEqh28JAnOJKXXSWTYM
 gQmQnzkIFYNKIb0oQige20Z1utSJe5E5o5QWiku7tcuh92uoiWf3lvaGX8+EflSj/fPQOV8euF
 tx3PnCtHrXSRPm2ceZxZjDgV/KM4UM+KIpnMZyLyrFLLn3SNwy1VOXCuXYFBzVqreVQuUJxl9S
 KPsoKzk8rfODBNUAKFffhIKo
X-SBRS: 5.2
X-MesageID: 62414346
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:UDTV76KMTLkWDim7FE+RNJIlxSXFcZb7ZxGr2PjKsXjdYENS02QCz
 WofC22BafyKMDf2etF1atnkpENSupLSydZrTgZlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokcxIn5BC5C5xZVG/fjgqoHUVaiUakideSc+EH170Us5wrZj6mJVqYPR7z2l6
 IuaT/L3YDdJ6xYsWo7Dw/vewP/HlK2aVAIw5jTSV9gS1LPtvyB94KYkDbOwNxPFrrx8RYZWc
 QphIIaRpQs19z91Yj+sfy2SnkciGtY+NiDW4pZatjTLbrGvaUXe345iXMfwZ3u7hB3Uz4tKm
 PtQrqXsE1kVEKHttbUvEAJXRnQW0a1uoNcrIFC6uM2XiUbHb2Ht07NlC0Re0Y8wo7gtRzsUr
 LpBdW5LPkvra+GemdpXTsFlgNgjK8/6epsSoHh6wRnSDOo8QICFSKLPjTNd9Glq2pkSRqqAD
 yYfQR1Qci3lPxhdA308KrU1x+eY3EDHfBQN/Tp5ooJoujOOnWSdyoPFL979atGMA8JPkS6wp
 H/C/mn/KgEXMpqY0zXt2nCjnOjUhgvgRZkfUra/85ZCkFCVg2AeFhASfV+6uuWizF6zXcpFL
 E4Z8TZoqrI9nHFHVfGkAUf++iTd+EdBBZwASIXW9T1h1IKJs12iVkYZVQcdMoIamsMXaG0Yl
 USGyoaB6SNUjJWZTneU97GxpDy0ODQIIWJqWRLoXTfp8PG4/tht00unosJLVffs04arQW2YL
 yWi9XBm390uYdg3O7JXFLwtqxalvdD3QwE8/W07tUr1v1oiNOZJi2FFgGU3DMqszq7EFjFtX
 1BewqByCdzi67nXxURhp81XTdmUCw6tamG0vLKWN8BJG86R03CiZ5tMxzp1OV1kNM0JERewP
 hOJ5lsKtc4KYCXyBUOSX25XI59ypUQHPY+9Ps04k/IUOsQhHON51HwGibGsM5DFzxF3zPBX1
 WazesewF3cKYZmLPxLtL9rxJYQDn3hkrUuKHMiT503+jdK2OSDJIZ9YbgrmRr1pvcus/VSOm
 /4CZpTi9vmqeLCkCsUh2dRNfQliwLlSLc2elvG7gcbaclM5QzlwUqGIqV7jEqQ895loei7z1
 inVcidlJJDX3xUr8C2GNSJubq3BR5F6oS5pNCAgJw/wiXMifZyu/OEUcJ5uJesr8+lqzPhVS
 fgZeprfXqQTG2qfozlNP4PgqIFCdQiwgV7cNSSSfzViLYVrQBbE+4G4c1K3pjUOFCe+qeA3v
 6akilHAWZMGSgk7VJTWZfujwkmfp38YnO4uDULELsMKIBfn8ZRwKjy3hfgyepleJRLGzzqc9
 gCXHRZH+rWd/95rqIHE3PnWoZ2oHu1yGlthM1PatbvmZzPH+meDwJNbVLradz7qS26pqr6pY
 v9Yzq+gPaRfzkpKqYd1D51i0bk6u4n0v7ZfwwlpQCfLYlCsBu8yK3WKx5AS5KhEx7sfsgqqQ
 EOfvNJdPOzRas/iFVcQIisjb/iCiq5IymWDs6xtLRWo/jJz8ZqGTV5WbkuFhyFqJbdoNJ8on
 LU6s8kM5g3j0hcnP75qVMyPG7hg+pDYb5gaiw==
IronPort-HdrOrdr: A9a23:yh9DtakAxKN/WHPgGV7QmohbR0bpDfIs3DAbv31ZSRFFG/Fxl6
 iV8sjz8SWE7Ar5OUtQ/OxoV5PsfZqxz/JICMwqTNCftWrdyQmVxeNZjbcKqgeIc0aVygce79
 YCT0EXMqyXMbEQt6fHCWeDfOod/A==
X-IronPort-AV: E=Sophos;i="5.88,304,1635220800"; 
   d="scan'208";a="62414346"
Date: Fri, 21 Jan 2022 14:55:46 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Juergen Gross <jgross@suse.com>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, Julien Grall
	<julien@xen.org>
Subject: Re: [PATCH 2/3] tools/xenstore: fix hashtable_expand() zeroing new
 area
Message-ID: <YerJcqrgaeyd9ZRC@perard>
References: <20220120120236.13826-1-jgross@suse.com>
 <20220120120236.13826-3-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20220120120236.13826-3-jgross@suse.com>

On Thu, Jan 20, 2022 at 01:02:35PM +0100, Juergen Gross wrote:
> When realloc()ing the hashtable for expanding it, zero out all the new
> bytes at the end of the table, not only one byte for each new element.
> 
> Fixes: 186f0e02a1c ("Added hashtable implementation")
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Jan 21 15:05:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 15:05:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259379.447652 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAvTV-00089m-8L; Fri, 21 Jan 2022 15:05:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259379.447652; Fri, 21 Jan 2022 15:05:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAvTV-00089f-3k; Fri, 21 Jan 2022 15:05:13 +0000
Received: by outflank-mailman (input) for mailman id 259379;
 Fri, 21 Jan 2022 15:05:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+TVu=SF=dingwall.me.uk=james@srs-se1.protection.inumbo.net>)
 id 1nAvTT-00089Z-T1
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 15:05:11 +0000
Received: from smarthost01b.sbp.mail.zen.net.uk
 (smarthost01b.sbp.mail.zen.net.uk [212.23.1.3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 85f10a2f-7acb-11ec-bc18-3156f6d857e4;
 Fri, 21 Jan 2022 16:05:09 +0100 (CET)
Received: from [217.155.64.189] (helo=mail0.xen.dingwall.me.uk)
 by smarthost01b.sbp.mail.zen.net.uk with esmtpsa
 (TLS1.0:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1)
 (envelope-from <james@dingwall.me.uk>)
 id 1nAvTQ-0007lG-0l; Fri, 21 Jan 2022 15:05:08 +0000
Received: from localhost (localhost [IPv6:::1])
 by mail0.xen.dingwall.me.uk (Postfix) with ESMTP id 9554B2949F1;
 Fri, 21 Jan 2022 15:05:07 +0000 (GMT)
Received: from mail0.xen.dingwall.me.uk ([127.0.0.1])
 by localhost (mail0.xen.dingwall.me.uk [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id dTA2kKi2_dIb; Fri, 21 Jan 2022 15:05:07 +0000 (GMT)
Received: from ghoul.dingwall.me.uk (ghoul.dingwall.me.uk [192.168.1.200])
 by dingwall.me.uk (Postfix) with ESMTP id 702F62949EE;
 Fri, 21 Jan 2022 15:05:07 +0000 (GMT)
Received: by ghoul.dingwall.me.uk (Postfix, from userid 1000)
 id 64501142; Fri, 21 Jan 2022 15:05:07 +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: 85f10a2f-7acb-11ec-bc18-3156f6d857e4
X-Virus-Scanned: Debian amavisd-new at dingwall.me.uk
Date: Fri, 21 Jan 2022 15:05:07 +0000
From: James Dingwall <james-xen@dingwall.me.uk>
To: Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: possible kernel/libxl race with xl network-attach
Message-ID: <20220121150507.GA954743@dingwall.me.uk>
References: <20220113111946.GA4133739@dingwall.me.uk>
 <YeBPG+8D00xG4h0j@Air-de-Roger>
 <1671ad485c35fb86d758951889cfa05d@dingwall.me.uk>
 <Yeq8fdOWLngcjDH8@Air-de-Roger>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <Yeq8fdOWLngcjDH8@Air-de-Roger>
X-Originating-smarthost01b-IP: [217.155.64.189]
Feedback-ID: 217.155.64.189

On Fri, Jan 21, 2022 at 03:00:29PM +0100, Roger Pau Monn wrote:
> On Fri, Jan 21, 2022 at 01:34:54PM +0000, James Dingwall wrote:
> > On 2022-01-13 16:11, Roger Pau Monn wrote:
> > > On Thu, Jan 13, 2022 at 11:19:46AM +0000, James Dingwall wrote:
> > > > 
> > > > I have been trying to debug a problem where a vif with the backend
> > > > in a
> > > > driver domain is added to dom0.  Intermittently the hotplug script is
> > > > not invoked by libxl (running as xl devd) in the driver domain.  By
> > > > enabling some debug for the driver domain kernel and libxl I have
> > > > these
> > > > messages:
> > > > 
> > > > driver domain kernel (Ubuntu 5.4.0-92-generic):
> > > > 
> > > > [Thu Jan 13 01:39:31 2022] [1408] 564: vif vif-0-0 vif0.0:
> > > > Successfully created xenvif
> > > > [Thu Jan 13 01:39:31 2022] [26] 583: xen_netback:frontend_changed:
> > > > /local/domain/0/device/vif/0 -> Initialising
> > > > [Thu Jan 13 01:39:31 2022] [26] 470:
> > > > xen_netback:backend_switch_state: backend/vif/0/0 -> InitWait
> > > > [Thu Jan 13 01:39:31 2022] [26] 583: xen_netback:frontend_changed:
> > > > /local/domain/0/device/vif/0 -> Connected
> > > > [Thu Jan 13 01:39:31 2022] vif vif-0-0 vif0.0: Guest Rx ready
> > > > [Thu Jan 13 01:39:31 2022] [26] 470:
> > > > xen_netback:backend_switch_state: backend/vif/0/0 -> Connected
> > > > 
> > > > xl devd (Xen 4.14.3):
> > > > 
> > > > 2022-01-13 01:39:31 UTC libxl: debug:
> > > > libxl_event.c:750:watchfd_callback: watch w=0x7ffd416b0528
> > > > wpath=/local/domain/2/backend token=3/0: event
> > > > epath=/local/domain/2/backend/vif/0/0/state
> > > > 2022-01-13 01:39:31 UTC libxl: debug:
> > > > libxl_event.c:2445:libxl__nested_ao_create: ao 0x5633ac569700:
> > > > nested ao, parent 0x5633ac567f90
> > > > 2022-01-13 01:39:31 UTC libxl: debug:
> > > > libxl_event.c:750:watchfd_callback: watch w=0x5633ac569180
> > > > wpath=/local/domain/2/backend/vif/0/0/state token=2/1: event
> > > > epath=/local/domain/2/backend/vif/0/0/state
> > > > 2022-01-13 01:39:31 UTC libxl: debug:
> > > > libxl_event.c:1055:devstate_callback: backend
> > > > /local/domain/2/backend/vif/0/0/state wanted state 2 still waiting
> > > > state 4
> > > > 2022-01-13 01:39:31 UTC libxl: debug:
> > > > libxl_event.c:750:watchfd_callback: watch w=0x7ffd416b0528
> > > > wpath=/local/domain/2/backend token=3/0: event
> > > > epath=/local/domain/2/backend/vif/0/0/state
> > > > 2022-01-13 01:39:31 UTC libxl: debug:
> > > > libxl_event.c:2445:libxl__nested_ao_create: ao 0x5633ac56a220:
> > > > nested ao, parent 0x5633ac567f90
> > > > 2022-01-13 01:39:31 UTC libxl: debug:
> > > > libxl_event.c:750:watchfd_callback: watch w=0x5633ac569180
> > > > wpath=/local/domain/2/backend/vif/0/0/state token=2/1: event
> > > > epath=/local/domain/2/backend/vif/0/0/state
> > > > 2022-01-13 01:39:31 UTC libxl: debug:
> > > > libxl_event.c:1055:devstate_callback: backend
> > > > /local/domain/2/backend/vif/0/0/state wanted state 2 still waiting
> > > > state 4
> > > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > > libxl_aoutils.c:88:xswait_timeout_callback: backend
> > > > /local/domain/2/backend/vif/0/0/state (hoping for state change to
> > > > 2): xswait timeout (path=/local/domain/2/backend/vif/0/0/state)
> > > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > > libxl_event.c:850:libxl__ev_xswatch_deregister: watch
> > > > w=0x5633ac569180 wpath=/local/domain/2/backend/vif/0/0/state
> > > > token=2/1: deregister slotnum=2
> > > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > > libxl_event.c:1039:devstate_callback: backend
> > > > /local/domain/2/backend/vif/0/0/state wanted state 2  timed out
> > > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > > libxl_event.c:864:libxl__ev_xswatch_deregister: watch
> > > > w=0x5633ac569180: deregister unregistered
> > > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > > libxl_device.c:1092:device_backend_callback: calling
> > > > device_backend_cleanup
> > > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > > libxl_event.c:864:libxl__ev_xswatch_deregister: watch
> > > > w=0x5633ac569180: deregister unregistered
> > > > 2022-01-13 01:39:51 UTC libxl: error:
> > > > libxl_device.c:1105:device_backend_callback: unable to add device
> > > > with path /local/domain/2/backend/vif/0/0
> > > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > > libxl_event.c:864:libxl__ev_xswatch_deregister: watch
> > > > w=0x5633ac569280: deregister unregistered
> > > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > > libxl_device.c:1470:device_complete: device
> > > > /local/domain/2/backend/vif/0/0 add failed
> > > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > > libxl_event.c:2035:libxl__ao__destroy: ao 0x5633ac568f30: destroy
> > > > 
> > > > the xenstore content for the backend:
> > > > 
> > > > # xenstore-ls /local/domain/2/backend/vif/0
> > > > 0 = ""
> > > >  frontend = "/local/domain/0/device/vif/0"
> > > >  frontend-id = "0"
> > > >  online = "1"
> > > >  state = "4"
> > > >  script = "/etc/xen/scripts/vif-zynstra"
> > > >  vifname = "dom0.0"
> > > >  mac = "00:16:3e:6c:de:82"
> > > >  bridge = "cluster"
> > > >  handle = "0"
> > > >  type = "vif"
> > > >  feature-sg = "1"
> > > >  feature-gso-tcpv4 = "1"
> > > >  feature-gso-tcpv6 = "1"
> > > >  feature-ipv6-csum-offload = "1"
> > > >  feature-rx-copy = "1"
> > > >  feature-rx-flip = "0"
> > > >  feature-multicast-control = "1"
> > > >  feature-dynamic-multicast-control = "1"
> > > >  feature-split-event-channels = "1"
> > > >  multi-queue-max-queues = "2"
> > > >  feature-ctrl-ring = "1"
> > > >  hotplug-status = "connected"
> 
> The relevant point here is that `hotplug-status = "connected"` in the
> backend xenstore nodes, and that's set by the hotplug script.
> 
> Having hotplug-status == "connected" will allow the backend to proceed
> to the connected state, so there's some component in your system that
> sets this xenstore node before `xl devd` get a change to run the
> hotplug script, hence me asking for any udev rules in the previous
> email.
> 
> If it's not an udev rule then I'm lost. Do you have any modifications
> to the Xen tools that could set this xenstore node?

I am wondering if that xenstore content was captured after the environment
had been manually fixed.  I have been able to reproduce it by hotplugging
an interface where libxl isn't patched:


dom0# xl network-attach 0 backend=netdd script=vif-zynstra vifname=dom0.2 bridge=abridge
netdd# xenstore-ls /local/domain/2/backend/vif/0/2
frontend = "/local/domain/0/device/vif/2"
frontend-id = "0"
online = "1"
state = "4"
script = "/etc/xen/scripts/vif-zynstra"
vifname = "dom0.2"
mac = "00:16:3e:5f:fc:51"
bridge = "abridge"
handle = "2"
type = "vif"
feature-sg = "1"
feature-gso-tcpv4 = "1"
feature-gso-tcpv6 = "1"
feature-ipv6-csum-offload = "1"
feature-rx-copy = "1"
feature-rx-flip = "0"
feature-multicast-control = "1"
feature-dynamic-multicast-control = "1"
feature-split-event-channels = "1"
multi-queue-max-queues = "2"
feature-ctrl-ring = "1"

If I have understood the backend kernel code it only waits for the
hotplug-status == "connected" if they key exists which it doesn't
appear to by default.

Thanks,
James


From xen-devel-bounces@lists.xenproject.org Fri Jan 21 15:08:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 15:08:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259383.447663 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAvWT-0000RN-R9; Fri, 21 Jan 2022 15:08:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259383.447663; Fri, 21 Jan 2022 15:08:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAvWT-0000RG-MB; Fri, 21 Jan 2022 15:08:17 +0000
Received: by outflank-mailman (input) for mailman id 259383;
 Fri, 21 Jan 2022 15:08:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OSCu=SF=epam.com=prvs=3020e7787c=oleksii_moisieiev@srs-se1.protection.inumbo.net>)
 id 1nAvWS-0000RA-Dd
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 15:08:16 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f28d5380-7acb-11ec-bc18-3156f6d857e4;
 Fri, 21 Jan 2022 16:08:12 +0100 (CET)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20LEvj4Z019703;
 Fri, 21 Jan 2022 15:08:01 GMT
Received: from eur05-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2177.outbound.protection.outlook.com [104.47.17.177])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3dqxj48696-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 21 Jan 2022 15:08:00 +0000
Received: from AM9PR03MB7121.eurprd03.prod.outlook.com (2603:10a6:20b:2dc::22)
 by HE1PR0301MB2457.eurprd03.prod.outlook.com (2603:10a6:3:67::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.12; Fri, 21 Jan
 2022 15:07:55 +0000
Received: from AM9PR03MB7121.eurprd03.prod.outlook.com
 ([fe80::6889:6c2f:a735:7d73]) by AM9PR03MB7121.eurprd03.prod.outlook.com
 ([fe80::6889:6c2f:a735:7d73%5]) with mapi id 15.20.4888.014; Fri, 21 Jan 2022
 15:07:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f28d5380-7acb-11ec-bc18-3156f6d857e4
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mUrcYv3zJoGsD0bBpEFZ1L5HU9+Z9wseG8HH28jR0oTnijWhugB3oFetplMwUSjVIEI9y37vroQMwvllL+fwOT2O0rMlFxL05kIxxfwzzNWgqz+d4ad6DosfPrSIGhLR7NFSjOq2b2mPREbo6LNswMbHLr4UyHIv7kps3Uh1N9qIk+I1chH8T4AQUNcXHQndpGx9ycXIJ3VvFJLCPtgGOGx/BZt5CjU5UiAgyMDOm+EkoojMsDDoltce5fzahVJerjGXQAv7S+zuzsKpPj1jKSPT1RCCLT5QgM1xRVdbge61aAripugThHOGPHAIUFgofMq/swR6hD956B3tsWX+Aw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5EPg0/5JxiqsL8nNjqIBMtK0QYcxctJL6Q7JqSPa5oA=;
 b=PqzEQo1qbMXPiy66tjefAbBnO3XCIAAf8a5Vrmbbd4yr3tIAvimH44fQm3MufssvQcM556KD40mr/8T24yo0GEGQcQYoShrJVStubOrU0KZL98bk22HmSI+XrAZTHpgPI+JTEPqm3/Fb136yUnfaojpRwOs0RhRQXhGDaJokIkDhFA5IrlJKwCyZLWhonwie+ioMZVjTfM6pYwy2UWmSSsJnINbw5DQedVGbMGCbjRoD3RS+st1nQ5HZNffrhxWIaDO58BxPFFqDVc1KUAUIRJDY72XHWTLc2B9AZCAmYwdlbXAvHHG39ggd5Kjn0Guztvr6y80nyEiSXdnnkrU8SQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5EPg0/5JxiqsL8nNjqIBMtK0QYcxctJL6Q7JqSPa5oA=;
 b=JWFc/iecLG61bAStqNf+5bkh3as5TLYgppCpw1GE1y8nFEpsQk16NJ9cdDYV8v6VEVi/0iV4lJ4p/j5y1BOShhawfiWT5f+NjrOltz9AMoemsS8vFv48xOCk6w2+NOWFKhiSRLBOySTlWD/3fvGN6P3t9a5Lw7+q5nQD+uFF9Kb5ofXkyTsosU7F9IYPjt4VrSWkuhs5XNTHJrBZzICvBiQMBlVLubQ21cekY0QcY1+DvwcJ+9F5fWG4g1rnQjfLCU574FU+b+9LpJyXctPDvXNBERbO1Z9H8vojOe7foAgBiifUx+JGOxf3V8ySxbvG59xKKkMZnJconw1ZF7Wpbg==
From: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        Julien
 Grall <julien@xen.org>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
Thread-Topic: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
Thread-Index: 
 AQHX8M3JF7Ng56/tV0+8/7pODiaWfKw3iHyAgAQwJICAAG+xgIABQZuAgAAWSACAAOV/AIABANAAgCsRKgCAAOC8gIAAlQqAgADLX4CAARblgA==
Date: Fri, 21 Jan 2022 15:07:54 +0000
Message-ID: <20220121150753.GA898010@EPUAKYIW015D>
References: <20211220181215.GA1702335@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2112201613210.2060010@ubuntu-linux-20-04-desktop>
 <20211221200305.GA2460476@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2112211310000.2060010@ubuntu-linux-20-04-desktop>
 <20211222110414.GA2883815@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2112221627190.2060010@ubuntu-linux-20-04-desktop>
 <20220119120400.GA3779126@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2201191644400.19362@ubuntu-linux-20-04-desktop>
 <20220120102147.GA4153317@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2201201230480.27308@ubuntu-linux-20-04-desktop>
In-Reply-To: 
 <alpine.DEB.2.22.394.2201201230480.27308@ubuntu-linux-20-04-desktop>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: ce9601e9-e389-422d-1077-08d9dcefcd78
x-ms-traffictypediagnostic: HE1PR0301MB2457:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <HE1PR0301MB2457934D93F7AE3D0DD5B0A5E35B9@HE1PR0301MB2457.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: 
 F2Mhosil8Ke7Wdh2g8AZV9POrnIIMW9t2E3aBguvTYV38yH0+7veR/E3+0arq3vOy5M90KutDdLJhT18DI6f1h9qe9dHP8FSwBSDQzWLDtpwdOey3OYizsEEAhNxL5fbo4hTXYoPVF8ob9vv3W9IVHU1Um3tUICSurgNHWPiNoR2Uc3ayzHcyupnNVw1+0MyzIBzx38OVEvNi3TGJMXMFeXrZtiQE0XnJxL1fsbngOdR+5zS6AN0208oOj5djbIk/uFHKdV41BEgASVqsVSMvhzTxqE6u8kBoNo4/uXSAJdXS7wlTzzhQMvGDJ5sVD1iE/uSLLkutvH20lx2db+pTxW+PAVZYhA8OxslfUEEHYAosm5ClIqa3lhcFHKyyZOHMDCNMZy92K6+3rgVYcQWRKzbWh8TXF7zdYJbcKJOzhfgVKdHAHy76n9CQzEOaUWpq8DLAuL4wNP0v1UQf0QDlzWtDbp3YrKH6rn8n7Ws/oCUuYR3ZPAjR5nOIsIuacxYj+cq9rWkMCrxild+IAwEtu1H8hGnzI9Np5+BqyJHye4takQmEhtVzwxYc2XPk6OE7jR2vB5pqk2qeAlJixMJo0OTGsof7wmLF380qjePKkiYIxIcKMOe5f9i/y49XHdlmUj3O0j9AFxwTNW1WiOhNnMJG63BHCNqob+fZK1WMvLGk16kB37oYnnJDxyFi3+voszMD43xjUDnI3Q5gDS+EijgwzPvi8y6AsSJVyFc6s2q/zALICqhkIqUmSbWHDxMiN+8gSqjQTPzmzEmsS4RDjZtlSOT/ps87/+D8WAHTclnHBLZNSGq8XUBnOfSxGiFagf/5tF9Vtru8cr0EWywqF/sxTtNo8k4wgXqvL3Z0b5UXRwCXgnJ6VDuqT7DYB7N
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR03MB7121.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(84040400005)(8936002)(4326008)(966005)(33716001)(2906002)(122000001)(71200400001)(86362001)(6506007)(5660300002)(6916009)(6486002)(8676002)(83380400001)(38070700005)(1076003)(9686003)(54906003)(33656002)(6512007)(30864003)(66946007)(76116006)(91956017)(64756008)(66556008)(508600001)(66476007)(26005)(66446008)(186003)(38100700002)(316002)(2004002)(21314003)(559001)(579004);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?us-ascii?Q?RY7PGkNkGEEfa1fJrV1LWwD/+m2gTDUsvnv1uNSwrWLvZh7MzXnvD30gFnxr?=
 =?us-ascii?Q?lUqzTUuSVyT9wT4sEqm8M/+vzXcSTcHbuPtTr2QqNIy2hLBmVnD4iMXU/xVS?=
 =?us-ascii?Q?tRXdgHIgCaS7CRA5gtelmVnTrmATpmt0XF7nzwj7MRLYfJyZ71TIX1H/QzcS?=
 =?us-ascii?Q?cJggNK5EfMvINw+ilKeFSUjKFmOKbTpxiDwfQN3Ijqz/Xs+kSTpvorP+Mg4p?=
 =?us-ascii?Q?LqmZXg+zvbSlQSSYYtN/U+CDkCv73av1CXv9Q1Eb5lyPleqGBqRRV5o6eWc1?=
 =?us-ascii?Q?HUYGZsDIkDeG/fEhIYgoNQFaUg+IP5bI/6Dqlm0TV8xm2uSNnEfT3FNfka4t?=
 =?us-ascii?Q?G1DCx2TVBdHTgDOVF7SedypwufYlQSGbVutSIEDGlvoO992XQz52xHKishZ8?=
 =?us-ascii?Q?gh/QIQr26EbJyrJPRyu0UmZdxrji554mt+8ioZKGX6iDdhfMGfMHJAhmB9tM?=
 =?us-ascii?Q?MX6D+0p7K/uhUFi5wLhy7QMHNx/In/6+dtygAWK8b4GXlZyl8QFdIbtAeRok?=
 =?us-ascii?Q?NuFoPWqCDTHuAr5yshj9d0Z9f1z9PrGWcPPHujtpu67sLhEkHTX89nJcUOT9?=
 =?us-ascii?Q?Mcv/lcNLxHiomJy+qu9u1X3p0Ogq824Wh3/9NlJ21eweVISJ0a8ZdHCLU8uK?=
 =?us-ascii?Q?jFlbLp1RgmB8hDGz4Om5//m5re2rIN/Hqe7B3HVT5EOBY9GfLOM7+B60b/Nx?=
 =?us-ascii?Q?EuK379hIEhkNltdmnHGvUbI/O1bwZuDuniqQ/kNDFtw/49biSkMSa8DachWQ?=
 =?us-ascii?Q?CPBbKIYVFiyslHO5a3gqrakq6TR2O+8nLvXnPLMU/vOYFrVkj4gwTVbQ9CR/?=
 =?us-ascii?Q?IMmvJ5uMmR2vsF9Pv8yoo+KcTtJaE2DLeOoY3uZNJFfBPVSyt7x5fMJZThrr?=
 =?us-ascii?Q?TPwyVst/ypBvhMed3Qd2W9iDSilniHaTbX+dbgcCR2r0WoPAApHUxm0v97lV?=
 =?us-ascii?Q?9EyjdH96aIj1tUPH5IBqhyQ4WBFT9PFcfuCmtaNK/t/2mt3LOI2sIa2SoOVj?=
 =?us-ascii?Q?HvcGqkmj+X7xW4WfOB7mI5E/oYn7tvNcu9acgzHSAvtMKrC+yykfgaoMqLcM?=
 =?us-ascii?Q?qH3FTDrhyMewQ/eljlDTQewRtQiWVU1x8bKixy4B9EKP4oZGOFODjdv+nZx+?=
 =?us-ascii?Q?6VTJAqqYJ0x/ZhWjyaP8SPdpA0GUi8jc2TtU1Efd6atL6CXT+XF37As4IhZX?=
 =?us-ascii?Q?pLd3pcioRYkvDB80T53hUNDI6VdHPBtEg12l4xTaMsFFtjEnXJ/NqAGrFHuL?=
 =?us-ascii?Q?WP2tzIGmWubGYozv220uVvq48k3uZFk4knGEyDybLuAXlngDMML5/IDR5TDq?=
 =?us-ascii?Q?B2ZaMZ9qn+eKm0yrLiUUn6XbZ154boV6i4663te991Yt3juW9wXz0NrGTcR0?=
 =?us-ascii?Q?1LBFdMUAjcDknf/7RDBv/5JcaSvEn8sY3abinAC/ivLwhcdBlMs1J5g5dZoe?=
 =?us-ascii?Q?q0IcGsr11XNNwLJ0pnUPrfchJCOOSNTyZZhwEtkruHLZqQkMbEe16vpZ0+i9?=
 =?us-ascii?Q?nuf+vJjc3dxfzeHZmXzubuUqDRTwsKs9OC5i18D13fpxsMzeO75wTZfIuCF1?=
 =?us-ascii?Q?/GU1hgU+tRwJ7f3pixfiEESBnsH4mWBMDxYX+q/S8iibZZIZYqxQhfdZcAhh?=
 =?us-ascii?Q?PJ5nI3eXhmwKPHvXfOjhcDlzBWCJNndN46v0zAQTTdHdi9I82nP2+BNjKraC?=
 =?us-ascii?Q?tNAYOUa5Xy3NzZ9Q3s2TSJeMvXA=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <1CCE10B67C6A08498B01ADDAE863DF64@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM9PR03MB7121.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ce9601e9-e389-422d-1077-08d9dcefcd78
X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Jan 2022 15:07:55.0722
 (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: f33gYt70UIJQ4W5zwjuh+UQHoVHS86jLT+egi8jDXiy1agS/4iCLmI4l7h0Ol0KV2ZPt8pmz7PfMvjSO5dyXel7Lj0VKrvUFqcjPXWi2Jtc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0301MB2457
X-Proofpoint-ORIG-GUID: WZeGudu7K31zD5U5Y9-1PdDleraQaVFt
X-Proofpoint-GUID: WZeGudu7K31zD5U5Y9-1PdDleraQaVFt
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-21_06,2022-01-21_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501
 phishscore=0 impostorscore=0 lowpriorityscore=0 malwarescore=0 mlxscore=0
 adultscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 suspectscore=0
 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2201110000 definitions=main-2201210102

Hi Stefano,

On Thu, Jan 20, 2022 at 02:29:41PM -0800, Stefano Stabellini wrote:
> On Thu, 20 Jan 2022, Oleksii Moisieiev wrote:
> > On Wed, Jan 19, 2022 at 05:28:21PM -0800, Stefano Stabellini wrote:
> > > On Wed, 19 Jan 2022, Oleksii Moisieiev wrote:
> > > > On Wed, Dec 22, 2021 at 06:23:24PM -0800, Stefano Stabellini wrote:
> > > > > On Wed, 22 Dec 2021, Oleksii Moisieiev wrote:
> > > > > > On Tue, Dec 21, 2021 at 01:22:50PM -0800, Stefano Stabellini wr=
ote:
> > > > > > > On Tue, 21 Dec 2021, Oleksii Moisieiev wrote:
> > > > > > > > Hi Stefano,
> > > > > > > >
> > > > > > > > On Mon, Dec 20, 2021 at 04:52:01PM -0800, Stefano Stabellin=
i wrote:
> > > > > > > > > On Mon, 20 Dec 2021, Oleksii Moisieiev wrote:
> > > > > > > > > > Hi Stefano,
> > > > > > > > > >
> > > > > > > > > > On Fri, Dec 17, 2021 at 06:14:55PM -0800, Stefano Stabe=
llini wrote:
> > > > > > > > > > > On Tue, 14 Dec 2021, Oleksii Moisieiev wrote:
> > > > > > > > > > > > This is the implementation of SCI interface, called=
 SCMI-SMC driver,
> > > > > > > > > > > > which works as the mediator between XEN Domains and=
 Firmware (SCP, ATF etc).
> > > > > > > > > > > > This allows devices from the Domains to work with c=
locks, resets and
> > > > > > > > > > > > power-domains without access to CPG.
> > > > > > > > > > > >
> > > > > > > > > > > > The following features are implemented:
> > > > > > > > > > > > - request SCMI channels from ATF and pass channels =
to Domains;
> > > > > > > > > > > > - set device permissions for Domains based on the D=
omain partial
> > > > > > > > > > > > device-tree. Devices with permissions are able to w=
ork with clocks,
> > > > > > > > > > > > resets and power-domains via SCMI;
> > > > > > > > > > > > - redirect scmi messages from Domains to ATF.
> > > > > > > > > > > >
> > > > > > > > > > > > Signed-off-by: Oleksii Moisieiev <oleksii_moisieiev=
@epam.com>
> > > > > > > > > > > > ---
> > > > > > > > > > > >  xen/arch/arm/Kconfig          |   2 +
> > > > > > > > > > > >  xen/arch/arm/sci/Kconfig      |  10 +
> > > > > > > > > > > >  xen/arch/arm/sci/Makefile     |   1 +
> > > > > > > > > > > >  xen/arch/arm/sci/scmi_smc.c   | 795 ++++++++++++++=
++++++++++++++++++++
> > > > > > > > > > > >  xen/include/public/arch-arm.h |   1 +
> > > > > > > > > > > >  5 files changed, 809 insertions(+)
> > > > > > > > > > > >  create mode 100644 xen/arch/arm/sci/Kconfig
> > > > > > > > > > > >  create mode 100644 xen/arch/arm/sci/scmi_smc.c
> > > > > > > > > > > >
> > > > > > > > > > > > diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kc=
onfig
> > > > > > > > > > > > index 186e1db389..02d96c6cfc 100644
> > > > > > > > > > > > --- a/xen/arch/arm/Kconfig
> > > > > > > > > > > > +++ b/xen/arch/arm/Kconfig
> > > > > > > > > > > > @@ -114,6 +114,8 @@ config SCI
> > > > > > > > > > > >  	  support. It allows guests to control system res=
ourcess via one of
> > > > > > > > > > > >  	  SCI mediators implemented in XEN.
> > > > > > > > > > > >
> > > > > > > > > > > > +source "arch/arm/sci/Kconfig"
> > > > > > > > > > > > +
> > > > > > > > > > > >  endmenu
> > > > > > > > > > > >
> > > > > > > > > > > >  menu "ARM errata workaround via the alternative fr=
amework"
> > > > > > > > > > > > diff --git a/xen/arch/arm/sci/Kconfig b/xen/arch/ar=
m/sci/Kconfig
> > > > > > > > > > > > new file mode 100644
> > > > > > > > > > > > index 0000000000..9563067ddc
> > > > > > > > > > > > --- /dev/null
> > > > > > > > > > > > +++ b/xen/arch/arm/sci/Kconfig
> > > > > > > > > > > > @@ -0,0 +1,10 @@
> > > > > > > > > > > > +config SCMI_SMC
> > > > > > > > > > > > +	bool "Enable SCMI-SMC mediator driver"
> > > > > > > > > > > > +	default n
> > > > > > > > > > > > +	depends on SCI
> > > > > > > > > > > > +	---help---
> > > > > > > > > > > > +
> > > > > > > > > > > > +	Enables mediator in XEN to pass SCMI requests fro=
m Domains to ATF.
> > > > > > > > > > > > +	This feature allows drivers from Domains to work =
with System
> > > > > > > > > > > > +	Controllers (such as power,resets,clock etc.). SC=
P is used as transport
> > > > > > > > > > > > +	for communication.
> > > > > > > > > > > > diff --git a/xen/arch/arm/sci/Makefile b/xen/arch/a=
rm/sci/Makefile
> > > > > > > > > > > > index 837dc7492b..67f2611872 100644
> > > > > > > > > > > > --- a/xen/arch/arm/sci/Makefile
> > > > > > > > > > > > +++ b/xen/arch/arm/sci/Makefile
> > > > > > > > > > > > @@ -1 +1,2 @@
> > > > > > > > > > > >  obj-y +=3D sci.o
> > > > > > > > > > > > +obj-$(CONFIG_SCMI_SMC) +=3D scmi_smc.o
> > > > > > > > > > > > diff --git a/xen/arch/arm/sci/scmi_smc.c b/xen/arch=
/arm/sci/scmi_smc.c
> > > > > > > > > > > > new file mode 100644
> > > > > > > > > > > > index 0000000000..2eb01ea82d
> > > > > > > > > > > > --- /dev/null
> > > > > > > > > > > > +++ b/xen/arch/arm/sci/scmi_smc.c
> > > > > > > > > > > > @@ -0,0 +1,795 @@
> > > > > > > > > > > > +/*
> > > > > > > > > > > > + * xen/arch/arm/sci/scmi_smc.c
> > > > > > > > > > > > + *
> > > > > > > > > > > > + * SCMI mediator driver, using SCP as transport.
> > > > > > > > > > > > + *
> > > > > > > > > > > > + * Oleksii Moisieiev <oleksii_moisieiev@epam.com>
> > > > > > > > > > > > + * Copyright (C) 2021, EPAM Systems.
> > > > > > > > > > > > + *
> > > > > > > > > > > > + * This program is free software; you can redistri=
bute it and/or modify
> > > > > > > > > > > > + * it under the terms of the GNU General Public Li=
cense 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 impl=
ied warranty of
> > > > > > > > > > > > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PUR=
POSE.  See the
> > > > > > > > > > > > + * GNU General Public License for more details.
> > > > > > > > > > > > + */
> > > > > > > > > > > > +
> > > > > > > > > > > > +#include <asm/sci/sci.h>
> > > > > > > > > > > > +#include <asm/smccc.h>
> > > > > > > > > > > > +#include <asm/io.h>
> > > > > > > > > > > > +#include <xen/bitops.h>
> > > > > > > > > > > > +#include <xen/config.h>
> > > > > > > > > > > > +#include <xen/sched.h>
> > > > > > > > > > > > +#include <xen/device_tree.h>
> > > > > > > > > > > > +#include <xen/iocap.h>
> > > > > > > > > > > > +#include <xen/init.h>
> > > > > > > > > > > > +#include <xen/err.h>
> > > > > > > > > > > > +#include <xen/lib.h>
> > > > > > > > > > > > +#include <xen/list.h>
> > > > > > > > > > > > +#include <xen/mm.h>
> > > > > > > > > > > > +#include <xen/string.h>
> > > > > > > > > > > > +#include <xen/time.h>
> > > > > > > > > > > > +#include <xen/vmap.h>
> > > > > > > > > > > > +
> > > > > > > > > > > > +#define SCMI_BASE_PROTOCOL                  0x10
> > > > > > > > > > > > +#define SCMI_BASE_PROTOCOL_ATTIBUTES        0x1
> > > > > > > > > > > > +#define SCMI_BASE_SET_DEVICE_PERMISSIONS    0x9
> > > > > > > > > > > > +#define SCMI_BASE_RESET_AGENT_CONFIGURATION 0xB
> > > > > > > > > > > > +#define SCMI_BASE_DISCOVER_AGENT            0x7
> > > > > > > > > > > > +
> > > > > > > > > > > > +/* SCMI return codes. See section 4.1.4 of SCMI sp=
ec (DEN0056C) */
> > > > > > > > > > > > +#define SCMI_SUCCESS              0
> > > > > > > > > > > > +#define SCMI_NOT_SUPPORTED      (-1)
> > > > > > > > > > > > +#define SCMI_INVALID_PARAMETERS (-2)
> > > > > > > > > > > > +#define SCMI_DENIED             (-3)
> > > > > > > > > > > > +#define SCMI_NOT_FOUND          (-4)
> > > > > > > > > > > > +#define SCMI_OUT_OF_RANGE       (-5)
> > > > > > > > > > > > +#define SCMI_BUSY               (-6)
> > > > > > > > > > > > +#define SCMI_COMMS_ERROR        (-7)
> > > > > > > > > > > > +#define SCMI_GENERIC_ERROR      (-8)
> > > > > > > > > > > > +#define SCMI_HARDWARE_ERROR     (-9)
> > > > > > > > > > > > +#define SCMI_PROTOCOL_ERROR     (-10)
> > > > > > > > > > > > +
> > > > > > > > > > > > +#define DT_MATCH_SCMI_SMC DT_MATCH_COMPATIBLE("arm=
,scmi-smc")
> > > > > > > > > > > > +
> > > > > > > > > > > > +#define SCMI_SMC_ID                        "arm,sm=
c-id"
> > > > > > > > > > > > +#define SCMI_SHARED_MEMORY                 "linux,=
scmi_mem"
> > > > > > > > > > >
> > > > > > > > > > > I could find the following SCMI binding in Linux, whi=
ch describes
> > > > > > > > > > > the arm,scmi-smc compatible and the arm,smc-id proper=
ty:
> > > > > > > > > > >
> > > > > > > > > > > Documentation/devicetree/bindings/firmware/arm,scmi.y=
aml
> > > > > > > > > > >
> > > > > > > > > > > However, linux,scmi_mem is not described. Aren't you =
supposed to read
> > > > > > > > > > > the "shmem" property instead? And the compatible stri=
ng used for this
> > > > > > > > > > > seems to be "arm,scmi-shmem".
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > We use linux,scmi_mem node to reserve memory, needed fo=
r all
> > > > > > > > > > channels:
> > > > > > > > > >
> > > > > > > > > > reserved-memory {
> > > > > > > > > >     /* reserved region for scmi channels*/
> > > > > > > > > >     scmi_memory: linux,scmi_mem@53FF0000 {
> > > > > > > > > >         no-map;
> > > > > > > > > >         reg =3D <0x0 0x53FF0000 0x0 0x10000>;
> > > > > > > > > >     };
> > > > > > > > > > };
> > > > > > > > > >
> > > > > > > > > > arm,scmi-shmem node used in shmem property defines only=
 1 page needed to
> > > > > > > > > > the current scmi channel:
> > > > > > > > > >
> > > > > > > > > > cpu_scp_shm: scp-shmem@0x53FF0000 {
> > > > > > > > > >     compatible =3D "arm,scmi-shmem";
> > > > > > > > > >     reg =3D <0x0 0x53FF0000 0x0 0x1000>;
> > > > > > > > > > };
> > > > > > > > > >
> > > > > > > > > > For each Domain reg points to unigue page from linux,sc=
mi_mem region,
> > > > > > > > > > assigned to this agent.
> > > > > > > > >
> > > > > > > > > If we were to use "linux,scmi_mem" we would have to intro=
duce it as a
> > > > > > > > > compatible string, not as a node name, and it would need =
to be described
> > > > > > > > > in Documentation/devicetree/bindings/firmware/arm,scmi.ya=
ml.
> > > > > > > > >
> > > > > > > > > But from your description I don't think it is necessary. =
We can just use
> > > > > > > > > "arm,scmi-shmem" to describe all the required regions:
> > > > > > > > >
> > > > > > > > > reserved-memory {
> > > > > > > > >     scp-shmem@0x53FF0000 {
> > > > > > > > >         compatible =3D "arm,scmi-shmem";
> > > > > > > > >         reg =3D <0x0 0x53FF0000 0x0 0x1000>;
> > > > > > > > >     };
> > > > > > > > >     scp-shmem@0x53FF1000 {
> > > > > > > > >         compatible =3D "arm,scmi-shmem";
> > > > > > > > >         reg =3D <0x0 0x53FF1000 0x0 0x1000>;
> > > > > > > > >     };
> > > > > > > > >     scp-shmem@0x53FF2000 {
> > > > > > > > >         compatible =3D "arm,scmi-shmem";
> > > > > > > > >         reg =3D <0x0 0x53FF2000 0x0 0x1000>;
> > > > > > > > >     };
> > > > > > > > >     ...
> > > > > > > > >
> > > > > > > > > In other words, if all the individual channel pages are d=
escribed as
> > > > > > > > > "arm,scmi-shmem", why do we also need a single larger reg=
ion as
> > > > > > > > > "linux,scmi_mem"?
> > > > > > > > >
> > > > > > > >
> > > > > > > > That was my first implementation. But I've met a problem wi=
th
> > > > > > > > scmi driver in kernel. I don't remember the exact place, bu=
t I remember
> > > > > > > > there were some if, checking if memory weren't reserved.
> > > > > > > > That's why I ended up splitting nodes reserved memory regio=
n and actual
> > > > > > > > shmem page.
> > > > > > > > For linux,scmi_mem node I took format from /reserved-memory=
/linux,lossy_decompress@54000000,
> > > > > > > > which has no compatible string and provides no-map property=
.
> > > > > > > > linux,scmi_shmem node is needed to prevent xen from allocat=
ing this
> > > > > > > > space for the domain.
> > > > > > > >
> > > > > > > > Very interesting question about should I introduce linux,sc=
mi_mem node
> > > > > > > > and scmi_devid property to the
> > > > > > > > Documentation/devicetree/bindings/firmware/arm,scmi.yaml?
> > > > > > > > Those node and property are needed only for Xen and useless=
 for
> > > > > > > > non-virtualized systems. I can add this node and property d=
escription to
> > > > > > > > arm,scmi.yaml, but leave a note that this is Xen specific p=
arams.
> > > > > > > > What do you think about it?
> > > > > > >
> > > > > > > Reply below
> > > > > > >
> > > > > > > [...]
> > > > > > >
> > > > > > >
> > > > > > > > > In general we can't use properties that are not part of t=
he device tree
> > > > > > > > > spec, either https://urldefense.com/v3/__https://www.devi=
cetree.org/specifications/__;!!GF_29dbcQIUBPA!kNodtgmOQBc1iO76_6vTK-O1SoLxe=
e_ChowYQiQYC595rMOsrnmof2zmk7BnhXCSnJPN$ [devicetree[.]org] or
> > > > > > > > > https://urldefense.com/v3/__https://git.kernel.org/pub/sc=
m/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/binding=
s__;!!GF_29dbcQIUBPA!kNodtgmOQBc1iO76_6vTK-O1SoLxee_ChowYQiQYC595rMOsrnmof2=
zmk7BnhXloYUaj$ [git[.]kernel[.]org]
> > > > > > > > >
> > > > > > > > > "linux,scmi_mem" is currently absent. Are you aware of an=
y upstreaming
> > > > > > > > > activities to get "linux,scmi_mem" upstream under
> > > > > > > > > Documentation/devicetree/bindings in Linux?
> > > > > > > > >
> > > > > > > > > If "linux,scmi_mem" is going upstream in Linux, then we c=
ould use it.
> > > > > > > > > Otherwise, first "linux,scmi_mem" needs to be added somew=
here under
> > > > > > > > > Documentation/devicetree/bindings (probably
> > > > > > > > > Documentation/devicetree/bindings/firmware/arm,scmi.yaml)=
, then we can
> > > > > > > > > work on the Xen code that makes use of it.
> > > > > > > > >
> > > > > > > > > Does it make sense?
> > > > > > > > >
> > > > > > > >
> > > > > > > > Yes I agree. I think linux,scmi_mem and scmi_devid should b=
e upstreamed.
> > > > > > > > I will add those properties to arm,scmi.yaml, mark them as =
related to XEN and send patch.
> > > > > > >
> > > > > > > I didn't realize that linux,scmi_mem and scmi_devid are suppo=
sed to be
> > > > > > > Xen specific. In general, it would be best not to introduce X=
en specific
> > > > > > > properties into generic bindings. It is a problem both from a
> > > > > > > specification perspective (because it has hard to handle Xen =
specific
> > > > > > > cases in fully generic bindings, especially as those bindings=
 are
> > > > > > > maintained as part of the Linux kernel) and from a user persp=
ective
> > > > > > > (because now the user has to deal with a Xen-specific dtb, or=
 has to
> > > > > > > modify the host dtb to add Xen-specific information by hand.)
> > > > > > >
> > > > > > >
> > > > > > > Let me start from scmi_devid.  Why would scmi_devid be Xen-sp=
ecific? It
> > > > > > > looks like a generic property that should be needed for the L=
inux SCMI
> > > > > > > driver too. Why the Linux driver doesn't need it?
> > > > > > >
> > > > > >
> > > > > > scmi_devid used during domain build. It passed as input paramet=
er for SCMI_BASE_SET_DEVICE_PERMISSIONS message.
> > > > > > On non-virtualized systems - there is no need of this call, bec=
ause OS
> > > > > > is the only one entity, running on the system.
> > > > >
> > > > > OK. Even if it is only required for virtualized systems, I think =
that
> > > > > scmi_devid is important enough that should be part of the upstrea=
m
> > > > > binding. I think it is worth starting an email thread on the LKML=
 with
> > > > > Rob Herring and the SCMI maintainers to discuss the addition of
> > > > > scmi_devid to the binding.
> > > > >
> > > > >
> > > > > > I've chatted with Volodymyr_Babchuk and he gave a great idea to=
 add a
> > > > > > list of device_ids to dom.cfg, such as:
> > > > > > sci_devs =3D [ 0, 1, 15, 35 ];
> > > > > >
> > > > > > Using this approach, we can remove scmi_devid from the device t=
ree and
> > > > > > just pass a list of scmi_devids to XEN using additional hyperca=
ll.
> > > > > > We can probably make hypercall taking devid list as input param=
eter.
> > > > > > This will take only 1 hypercall to setup sci permissions.
> > > > >
> > > > > But how would a user know which are the right SCMI IDs to add to =
the
> > > > > sci_devs list? Would the user have to go and read the reference m=
anual
> > > > > of the platform to find the SCMI IDs and then write sci_devs by h=
and?
> > > > > If that is the case, then I think that it would be better to add
> > > > > scmi_devid to device tree.
> > > > >
> > > > > In general, I think this configuration should happen automaticall=
y
> > > > > without user intervention. The user should just specify "enable S=
CMI"
> > > > > and it should work.
> > > > >
> > > > >
> > > > > > > In regards to linux,scmi_mem, I think it would be best to do =
without it
> > > > > > > and fix the Linux SCMI driver if we need to do so. Xen should=
 be able to
> > > > > > > parse the native "arm,scmi-shmem" nodes and Linux (dom0 or do=
mU) should
> > > > > > > be able to parse the "arm,scmi-shmem" nodes generated by Xen.=
 Either
> > > > > > > way, I don't think we should need linux,scmi_mem.
> > > > > >
> > > > > > This requires further investigation. I will try to make impleme=
ntation
> > > > > > without linux,scmi_mem, using only arm,scmi-shmem nodes and sha=
re
> > > > > > reuslts with you.
> > > > >
> > > > > OK, thanks.
> > > >
> > > > Hi Stefano,
> > > >
> > > > As I did some investigation about using reserved-memory area
> > > > linux,scmi_mem and now I need your advice.
> > > >
> > > > I see 2 possible implementations for now:
> > > > 1) Add memory-region parameter to cpu_scp_shm node which points to =
the
> > > > reserved memory region.
> > > > So device-tree will look like this:
> > > >
> > > > 	reserved-memory {
> > > > 		/* reserved region for scmi channels*/
> > > > 		scmi_memory: region@53FF0000{
> > > > 			no-map;
> > > > 			reg =3D <0x0 0x53FF0000 0x0 0x10000>;
> > > > 		};
> > > > 	};
> > > > 	cpu_scp_shm: scp-shmem@0x53FF0000 {
> > > > 		compatible =3D "arm,scmi-shmem";
> > > > 		reg =3D <0x0 0x53FF0000 0x0 0x1000>;
> > > > 		memory-region =3D <&scmi_memory>;
> > > > 	};
> > > >
> > > > So cpu_scp_shm node has a reference to scmi_memory region. This mea=
n
> > > > that xen can find reserved memory region without adding additional =
names
> > > > to the device-tree bindings.
> > > > memory-region parameter as a reference to reserved memory and regio=
n
> > > > creation described in:
> > > > https://urldefense.com/v3/__https://github.com/torvalds/linux/blob/=
v5.15/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt=
__;!!GF_29dbcQIUBPA!k6x19x1gYF1CPlgAZj7std3ifqhq-9DXvuF0nwonNPUwMzZpYHYbrRJ=
ziJrgdFIOjyan$ [github[.]com]
> > > >
> > > > This approach I've implemented already and it works.
> > >
> > > This approach would require a discussion with the upstream device tre=
e
> > > maintainers. Likely, we would need to add a note about the usage of t=
he
> > > "memory-region" property to arm,scmi.yaml.
> > >
> > > Also, I have the feeling that they would ask to add the "memory-regio=
n"
> > > property directly to the "arm,scmi-smc" node, as an alternative (or
> > > in addition) to the existing "shmem" property.
> > >
> > > That said, from my point of view this approach is also a viable optio=
n.
> > > I don't see any major problems.
> > >
> > > The main question (after reading everything else that you wrote below=
)
> > > is whether the "arm,scmi-smc" node in this case could be automaticall=
y
> > > generated.
> > >
> >=20
> > arm,scmi-smc node can be generated in both cases. I think I'd leave it
> > as backup in case if the second approach will not work.
> >=20
> > >
> > > > 2) The second approach is the format you suggested:
> > > > > > > > > reserved-memory {
> > > > > > > > >     scp-shmem@0x53FF0000 {
> > > > > > > > >         compatible =3D "arm,scmi-shmem";
> > > > > > > > >         reg =3D <0x0 0x53FF0000 0x0 0x1000>;
> > > > > > > > >     };
> > > > > > > > >     scp-shmem@0x53FF1000 {
> > > > > > > > >         compatible =3D "arm,scmi-shmem";
> > > > > > > > >         reg =3D <0x0 0x53FF1000 0x0 0x1000>;
> > > > > > > > >     };
> > > > > > > > >     scp-shmem@0x53FF2000 {
> > > > > > > > >         compatible =3D "arm,scmi-shmem";
> > > > > > > > >         reg =3D <0x0 0x53FF2000 0x0 0x1000>;
> > > > > > > > >     };
> > > > > > > > >     ...
> > > >
> > > > This approach has an advantage that xen ARM_SCI driver do not know =
about
> > > > how channels are placed in the reserved memory, but introduces some
> > > > disadvantages:
> > > > a) We provide extra 14 (in our case) arm,scmi-shmem nodes which are=
 not used
> > > > in the device-tree. In current implementation I have separate scmi.=
dtsi
> > > > file which introduces scmi support for both XEN-based and
> > > > non-virtualized systems. Having 14 extra channels in the device-tre=
e may
> > > > be confusing.
> > >
> > > I can see that while it would be ideal for Xen to see all 14+1 channe=
ls
> > > in device tree (on the host device tree), we wouldn't want to expose =
all
> > > of them to the domains, not even to dom0.
> > >
> > > How many channels do we want dom0 to see by the way? For this
> > > discussion, I'll just assume for now that dom0 only sees 1 channel li=
ke
> > > the domUs.
> >=20
> > For dom0 we need only one channel.
> >=20
> > >
> > > Now we have a problem: how do we go about "filtering" the
> > > "arm,scmi-shmem" device tree nodes? Which is also what you are asking
> > > below in point b).
> > >
> >=20
> > Xen will not need to filter "arm,scmi-shmem" node. It will just
> > create shmem node in Domain device-tree. I don't see any problem for xe=
n
> > configuration here.
> > What bothers me here is that I set scmi configuration for platform dts,
> > not for xen or domu dts files.
> > So for example I have the following structure of the dts files for my
> > platform (r8a77961-salvator-xs):
> >  * r8a77961-scmi.dtsi - this file includes all scmi related nodes and s=
et
> > scmi_devid for the devices, that should use scmi.
> >  * r8a77961-salvator-xs.dts - dts file which generates dtb for the plat=
form.
> > It includes r8a77961-scmi.dtsi so I populate scmi to platform dtb, whic=
h
> > is used for system with no hypervisor.
> >  * r8a77961-salvator-xs-xen.dts - dts file for xen which includes
> > r8a77961-salvator-xs.dts and inherits scmi configuration from it.
> >  * r8a77961-salvator-xs-domu.dts - dts file for DomU which includes
> > r8a77961-salvator-xs.dts and inherits scmi configuration from it.
> >=20
> > In this case r8a77961-salvator-xs.dtb r8a77961-salvator-xs-xen.dtb
> > r8a77961-salvator-xs-domu.dtb files will inherit 14+1 channel.
> >=20
> > I can give you a link to Merge request with this changes if you need it=
.
> >=20
> > For xen and domu dtb it is not a problem because all "arm,scmi-shmem"
> > nodes will be omitted and new will be generated for the domains.
> >=20
> > What bothers me is that r8a77961-salvator-xs.dtb will have 14 unused ch=
annels.
> >=20
> > Just got an idea while writing this: I can create only one
> > "arm,scmi-shmem" node in r8a77961-scmi.dtsi and add 14 more nodes,
> > needed for xen explicitly in r8a77961-salvator-xs-xen.dts.
> >=20
> > Then we will have valid configurations for all cases.
> > This can be a solution. What do you think?
>=20
> It is good that you brought this up because it helps me explain what I
> mean. And of course it is up to you where you place the nodes in the
> various dts files at your disposal. Either way it would work but I think
> they should belong to r8a77961-salvator-xs.dts.
>=20
> Generally the platform vendor (e.g. Xilinx) provides a device tree
> description of the platform to use including all the available resources
> and firmware interfaces. In your case it would be r8a77961-scmi.dtsi +
> r8a77961-salvator-xs.dts. This is what I call the "host device tree"
> below. Users should be able to boot a fully functional system using the
> host device tree pretty much "as is" to run Xen, Linux or any other
> software.
>=20
> Certainly the SCMI device tree description should be part of the host
> device tree, so in your case it would be r8a77961-salvator-xs.dts. And
> the description should include all 14+1 channels because this is the
> generic platform description -- we cannot know for sure how the users
> are going to use the system.
>=20
> This is why r8a77961-salvator-xs-xen.dts should be as small as possible
> or ideally inexistent. There shouldn't be a need for a special device
> tree modification to allow Xen to run. In reality, even at Xilinx we
> have something like r8a77961-salvator-xs-xen.dts, although it is really
> small.
>=20
> But I see that r8a77961-salvator-xs-xen.dts could be viewed as the
> device tree additions to run hypervisors and from that point of view it
> is more acceptable to place the 14 channels there.
>=20
> The biggest problem is r8a77961-salvator-xs-domu.dts: who is going to
> write it? And how? It wouldn't be provided by the platform vendor, so it
> is the user the one that has to find a way to write it.
>=20
> I know the user already has to write a partial DTB for device
> assignment, but any time the process is more complex than "copy the host
> device tree node for device XXX to the partial DTB" it is a problem.
> Errors are made and the system doesn't work.
>=20
> I think we don't want to make it even more difficult by having to
> manually produce the SCMI domU description too. The SCMI description for
> domU could be automatically generated by Xen, or libxl/xl. If that's an
> issue, then the SCMI description could be automatically generated by an
> external tool but I think it would make things more complex and harder
> to maintain.
>=20
> In short my point of view is:
> - r8a77961-scmi.dtsi + r8a77961-salvator-xs.dts should be as generic as
>   possible so the SCMI nodes should have 14+1 channels
> - but putting the 14 channels in r8a77961-salvator-xs-xen.dts is still
>   OKish
> - it is important that r8a77961-salvator-xs-domu.dts is automatically
>   generated by Xen or libxl or another software tool
>=20

Thank you for the detailed response. I'll put all 14+1 channels to
r8a77961-salvator-xs.dts then.
I've described my thoughts about generation of the arm,scmi-smc node below.

>=20
> > > > b) In case if we have all 15 channels, described in partial device-=
tree,
> > >
> > > I think you meant "described in the host device tree", right?
> > >
> > Yeah that's what I've meant.
> > >
> > > > we should not copy any node to the domain device-tree. I think it w=
ill
> > > > be better to generate arm,scmi-shmem node in the Domain device-tree=
.
> > >
> > > Yes, I think it makes sense for Xen to generate the "arm,scmi-shmem"
> > > device tree description for the DomU/Dom0 based on the channels
> > > allocated to the domain.
> > >
> > >
> > > > The problem is that arm,scmi-smc node, which is using arm,scmi-shme=
m
> > > > node can't be generated. I prefer it to be copied from the partial
> > > > device-tree because it includes some platform specific configuratio=
n,
> > > > such as func-id and list of the protocols (for example different
> > > > platforms may require different list of the protocols). So in this
> > > > case we will have 1 node copied and 1 node generated.
> > > >
> > > > I think even for dom0less we should use arm,scmi-smc node from the
> > > > device-tree because protocol configuration and funcid is related to=
 the
> > > > platform.
> > >
> > > I am not sure I understood what you wrote. You are saying that the
> > > "arm,scmi-smc" node includes some platform specific configurations so
> > > it cannot be automatically generated by Xen (or by the tools) and
> > > instead it needs to be manually provided as part of the partial dtb f=
or
> > > the domU. Is that correct?
> > >
> > > If so, I would like to understand the reasons behind it. Manual
> > > device tree editing is problematic.
> > >
> > > I looked for "func-id" in
> > > Documentation/devicetree/bindings/firmware/arm,scmi.yaml but couldn't
> > > find any results. Do you have an example of the platform specific
> > > configuration or protocol configuration that would make it difficult =
to
> > > automatically generate the "arm,scmi-smc" node for the domains?
> >=20
> > Sorry, I used wrong term (used term from the specification), arm,smc-id
> > of cause.
> >=20
> > >
> > > Also, is this a problem just for approach #2 or also for approach #1?
> > > If it is a problem only for approach #2, then let's just go with
> > > approach #1.
> > >
> >=20
> > We can't copy "arm,scmi-smc" in both approaches. The difference is that
> > in the first approach we can copy both "arm,scmi-smc" and
> > "arm,scmi-shmem" nodes while in the second approach we should copy
> > "arm,scmi-smc", but we have to generate "arm,scmi-shmem" node.
> >=20
> > arm,scmi-smc node can't be generated because it includes properties and
> > configurations that depends from platform and should be get from the
> > device tree.
> > Here is "arm,scmi-smc" node expample:
> > firmware {
> >     scmi {
> >         compatible =3D "arm,scmi-smc"
> >         arm,smc-id =3D <0x82000002>;
> >         shmem =3D <&cpu_scp_shm>;
> >         #address-cells =3D <1>;
> >         #size-cells =3D <0>;
> >         scmi_power: protocol@11 {
> >             reg =3D <0x11>;
> >             #power-domain-cells =3D <1>;
> >         };
> >=20
> >         scmi_clock: protocol@14 {
> >             ...
> >         };
> >=20
> >         scmi_reset: protocol@16 {
> >             ...
> >         };
> >         ...
> >     };
> > };
> >=20
> > It has 3 configurable options:
> >  * arm,smc-id parameter, setting func_id for scmi protocol. This id can=
 be
> > different for different platforms.
> > For example stm32mp1 architecture use different scm-id for different
> > agents:
> > https://urldefense.com/v3/__https://github.com/ARM-software/arm-trusted=
-firmware/blob/0586c41b3f2d52aae847b7212e7b0c7e19197ea2/plat/st/stm32mp1/in=
clude/stm32mp1_smc.h*L39__;Iw!!GF_29dbcQIUBPA!mTRUjtSg19iVaYo3Cgjop5ckPWqKs=
HVo1EZCEA1zCbod9KpNSXX291A8vAuNdTCr46MA$ [github[.]com]
> >=20
> >  * shmem which includes phandle to arm,scmi-shmem node. But this is not
> > a problem and can be updated.
> >=20
> >  * list of the protocol subnodes. This is also configurable parameter,
> > not regs or names, but the number of the protocols. For example onle
> > platform can use power-domains/clock/resets via scmi, when another will
> > require volage-control and sensor-management to be added.
> >=20
> > Xen should know this parameters to be able to generate "arm,scmi-smc" n=
ode.
> >=20
> > Also we're currently discussing new scmi protocol with ARM: Pinctrl ove=
r
> > SCMI.
> >=20
> > It should allow domains to access pinctrl subsystem, placed in Firmware
> > through SCMI protocol.
> > scmi_pinctrl node will look like this:
> >=20
> > 	firmware {
> > 		scmi {
> > 			...
> > 			scmi_pinctrl: protocol@18 {
> > 				reg =3D <0x18>;
> > 				#pinctrl-cells =3D <0>;
> >=20
> > 				i2c2_pins: i2c2 {
> > 					groups =3D <74>; /* i2c2_a */
> > 					function =3D <15>; /* i2c2 */
> > 				};
> >=20
> > 				irq0_pins: irq0 {
> > 					groups =3D <81>; /* intc_ex_irq0 */
> > 					function =3D <19>; /* intc_ex */
> > 				};
> >=20
> > 				avb_pins: avb {
> > 					mux {
> > 						/* avb_link, avb_mdio, avb_mii */
> > 						groups =3D <17>, <21>, <22>;
> > 						function =3D <1>; /* avb */
> > 					};
> >=20
> > 					pins_mdio {
> > 						groups =3D <21>; /* avb_mdio */
> > 						drive-strength =3D <24>;
> > 					};
> >=20
> > 					pins_mii_tx {
> > 						/* PIN_AVB_TX_CTL, PIN_AVB_TXC, PIN_AVB_TD0,
> > 						       PIN_AVB_TD1, PIN_AVB_TD2, PIN_AVB_TD3 */
> > 						pins =3D <242>, <240>, <236>, <237>, <238>, <239>;
> > 						drive-strength =3D <12>;
> > 					};
> > 				};
> > 				...
> > 			};
> > 		};
> > 	};
> >=20
> > So "arm,scmi-smc" node will have even more platform specific settings.
> >=20
> > >
> > > > I prefer the second approach and will try to make it if it's OK to =
copy
> > > > arm,scmi-smc node from partial Device-tree and generate arm,scmi-sh=
mem
> > > > node.
> > > >
> > > > What do you think about that?
> > >
> > > From a device tree specification perspective, I think both approaches
> > > are OK (with a minor comment on the first approach as I wrote above.)
> > >
> > > But from a Xen perspective I think it is important that we don't requ=
ire
> > > the user to manually provide the SCMI configuration in the partial DT=
B.
> > > It would be better if we could generate it automatically from Xen or =
the
> > > tools (or even an independent script). Or copy the "arm,scmi-smc" nod=
e
> > > from the host device tree to the domU device tree without modificatio=
ns.
> >=20
> > I think copy "arm,scmi-smc" node is the only option we have.
> > I'm not sure what do you mean under "host device tree" if you mean Xen
> > device-tree - then I think it will not cover the case with stm32mp1 I'v=
e
> > mentioned above. I think it will be better to copy "arm,scmi-smc" node
> > from Domu partial Device-tree to Domu device-tree.
> > So AGENT0 smc-id will be set in xen device-tree and copied to dom0 and
> > AGENT1 scm-is set in domu device-tree and copied to dom-u.
> >=20
> > Do you agree with my points?
>=20
> I think we are saying similar things, but we are getting mixed up with
> the terminology. Let's start from the basics :-)
>=20
> # Host device tree
> The device tree given to Xen at boot time. This is the device tree that
> Xen parses to discover what's available on the platform. In your case,
> it seems to include r8a77961-salvator-xs-xen.dts.
>=20
> # Partial DTB
> (Ignoring Dom0less) this is the small DTB that gets passed to xl with
> the "device_tree" option in the xl config file. It is copied verbatim
> to the domU device tree by xl/libxl.
>=20
> # Copy the "arm,scmi-smc" node from host device tree
> This means that the domU "arm,scmi-smc" node is an exact copy of the
> host device tree SCMI node. I don't think this is actually possible in
> most cases because the domU description is typically a bit different
> from the host description. For instance, the host description could
> include 14+1 channels while the domU description should only include 1
> channel.
>=20
> # Copy the "arm,scmi-smc" node from the partial DTB
> This implies that somebody or something create an "arm,scmi-smc" node
> for the domU and placed it into the partial DTB. Then, Xen and/or
> xl/libxl will copy the node from the partial DTB to the DomU device
> tree. The main question in this case is: who is going to write the
> partial DTB? We dont want the user (i.e. a person) to have to manually
> write the SCMI description for the domU. It should be an automated tools
> that does it. At that point, it is easier if it is Xen or xl/libxl.
> Alternativaly, we could think of an external tool but I think it would
> make things more difficult to maintain.
>=20
> # Generate the "arm,scmi-smc" node for domUs
> When I write "generate the arm,scmi-smc node", I mean that Xen and
> libxl/xl will generate the "arm,scmi-smc" node for the domU. Thus, the
> node will not be copied from the partial DTB or from the device tree,
> instead, it should be created directly by Xen and/or libxl/xl.
>=20
> However, the domU "arm,scmi-smc" node could still be derived from the
> host device tree "arm,scmi-smc" node. In other words, Xen or xl/libxl
> would look at the host device tree "arm,scmi-smc" node, copy it to the
> domU device tree while making as many changes as necessary.
>=20
> The DomU "arm,scmi-smc" node doesn't have to be entirely fake and
> static. It could be dynamically created to match the host device tree
> description. I think this is the best option.
>=20
>=20
> # Conclusion
> I am suggesting that Xen and/or libxl automatically produce the
> "arm,scmi-smc" node for domUs based on the host device tree description
> and based on the channel mapped to the domU. This way, the user (a
> person) doesn't have to go and manually edit the domU partial DTB.
>=20

That sounds reasonable. The problem is that arm,scmi-smc node can be
copmlicated and include a lot of configuration. Also for different
mediators this node can be different.
As I inderstand, there is no mechanism for xl to access host device-tree
right now. Correct me if I'm wrong.

I see the following way we can generate arm,scmi-smc node for DomU:
We say that if scmi-smc mediator is enabled - then Dom0 is configured to
use SCMI. This means that Dom0 device-tree will have arm,scmi-smc node
and it can be reached from the userspace.
In this case xl can use infromation from /proc/device-tree/firmware/scmi
to generate arm,scmi-smc node for DomU. But in this case xl should know
the exact path of scmi node.

Or we can generate some special node, called "shared" in Dom0 device-tree
which will include copy of the arm,scmi-smc node, which can be used for dom=
ains.
In this case xl can scan /proc/device-tree/shared node and find
arm,scmi-smc copatible node and use it to generate arm,scmi-smc node for
DomU.
Also this can be used for another features in future.

What do you think about this?

>=20
> > > So if using approach #1 allows us to automatically generate the
> > > "arm,scmi-smc" node for the guest, then I think it's best for sure.
> > >
> >=20
> > Summarizing all written above I would focus on the second approach
> > and put aside the first approach implementation. If you don't mind.
>=20
> Sure, that's fine by me
>=20
>=20
> > > > Also I wanted to mention that I'm not planning to make ARM_SCI supp=
ort for
> > > > dom0less in terms of this patch series bacause I can't test
> > > > dom0less configuration for now. So let me know if some of my
> > > > functionality breaks dom0less.
> > >
> > > That's fine. I don't mean to scope-creep your patch series, which is
> > > extremely valuable as is.
> > >
> > > That said, I would be happy to provide you with a very simple dom0les=
s
> > > configuration for your platform to enable you to test, or alternative=
ly
> > > I could write a patch to add dom0less domU support if you are happy t=
o
> > > help reviewing and testing it.
> >=20
> > I was thinking about making dom0less support in the different
> > patch-series because there are still questions to be discussed.
> >=20
> > For example, how arm,scmi-smc node will be generated for DomUs and how
> > the case, when scmi configuration is different for DomU1 and DomU2 (as
> > in case of stm32mp1 when smc-id is different) should be handled.
> >=20
> > What do you think about continue without dom0less support and discuss
> > dom0less once we done with the main part?
>=20
> That's OK, especially if you are happy to work on dom0less support
> later.

Sure I will be happy to work on dom0less support later.=


From xen-devel-bounces@lists.xenproject.org Fri Jan 21 15:13:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 15:13:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259385.447673 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAvbS-0001sq-IL; Fri, 21 Jan 2022 15:13:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259385.447673; Fri, 21 Jan 2022 15:13:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAvbS-0001sj-F7; Fri, 21 Jan 2022 15:13:26 +0000
Received: by outflank-mailman (input) for mailman id 259385;
 Fri, 21 Jan 2022 15:13:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QdbK=SF=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nAvbQ-0001sd-OW
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 15:13:24 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id abcac533-7acc-11ec-8fa7-f31e035a9116;
 Fri, 21 Jan 2022 16:13:23 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: abcac533-7acc-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642778003;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=wwD2cD1MXelD4ZY0eWiPIT8rbg8F8/3Cm62N3gbEFeE=;
  b=RfqxuJSSdH+9p0r2am9A7o+mY+9hAnU2EKtxTpxC44JFHYUOeFqHOGX7
   p+tagbmyN7UiEXnJpI6QdaE2+Eg2LQliYHeYHsvViPJoeFhuSCTQCzwGv
   Rau8M5+kmO3v1+HImb53+l2G6CbxdbRqMcmn/0/p8FRhsrobqm8I5c+D5
   U=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: QEdJUKUN8ELEYNvSs+6ChGmgd7cjfDjeDQQG+Lt6/j0s2TPLmFbUtol2rwxcTyv7AvDm4y5/Fc
 1FlY5rx6AEkIgmmBhXar6dUjWR965lsVMBXnY+oVNeNRdoGf2WSFyuYiJ26xQm8zidm09bl/bm
 TTFSkMEikATSOU63Xr3n9teaHHd9qm5HZV5C6YoyI5MiFX1popR55g7xExwlxE5a0G5fH64Vu5
 4rlIqtLBJPWoZqR61h14epbhOpAsZ4psAWzFU/ZzQf6gkaFOhQvBWwtwPumyEtY18qn+cmoCwv
 a6rP8iAeQcPI9EEto59AmhYq
X-SBRS: 5.2
X-MesageID: 62497026
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:PXgX4q88AEF89FQNZ9mlDrUDZXmTJUtcMsCJ2f8bNWPcYEJGY0x3x
 jQbCG2Ab/aKM2XyeYxxbIqy8hsHuMDTzYBhSVdpris8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7dj29Yy6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPggk
 stXjL7tWD4WL7He3+QcVDZYHWJhaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguwqKtXrO4UO/Glt1zjDAd4tQIzZQrWM7thdtNs1rp4UQaeBP
 5BHAdZpRDP5QhkIGFkLMY4Vmv+thCjUUTZx+WvA8MLb5ECMlVcsgdABKuH9ZdiiVchT2EGCq
 Qru/Xn9AxwcHMySz3yC6H3Eru3AhyTgQ6oJCaa1sPVthTW71mEVTREbS1a/if24kVKlHcJSL
 VQO/SgjprR081akJuQRRDXh/iTC5ERFHYMNTatqs2lh15Y4/S7IXHYedxwceeUZpdMkAjwr0
 XCJkZD2UGkHXKKudVqR8bKdrDWXMCcTLHMfaSJscTbp8+UPs6lo0EuRE48L/Lqdy4SsRGqum
 2ziQD0W3u1L1aY2O7OHEUcrat5GjrzAVUYL6wreRQpJBSspNdf+N+REBbU2hMuszbp1rHHc5
 BDoeODEtYji6K1hcgTXEY3h+5nztp643MX02wIHInXY323FF4SfVY5R+ipiA0xiL9wJfzTkC
 GeK518Lu8cIbSrzMfEvC25UNyjM5fO4fTgCfquMBuein7ArLFPXlM2QTRP4M5/RfLgEzvhkZ
 MbznTeEBncGE6V3pAdatM9GuYLHMhsWnDuJLbiilkzP+ePHOBa9FOlZWHPTMLFRxP7U8W39r
 ocEX+PXmko3bQELSnSNmWLlBQpUfSFT6FGfg5E/S9Nv1SI/SDh+UKeAmO14E2Gn9owM/tr1E
 riGchcw4DLCabfvcG1ms1hvN+HiW4hRt3U+MXB+NFqkwSF7M42u8L0eZ908erx+rL5vyvt9T
 v8kfcScA6sQFmSbqmpFNZSt/pZ/cBmLhB6VO3b3ajYIYJM9FRfC/cXpf1Wz+XBWXDa3r8Y3v
 5apyhjfHcgYXw1nAcuPMKCvwlq9sGIzguV3W0eUcNBfdF+1qNphKjDrj+9xKMYJcE2Ryjyf3
 geQIBEZueiS/NNlrIiX3fiJ9t77HfF/E0xWG3jgwYy3bSSKrHC+xYJgUfqTeWyPXm3D56j/N
 /5eyOvxMaNbkQ8S4ZZ8Cbti0Yk3+8Dr++1B1g1hEXjGMwarB7dnLiXU1MVDrPQQlLpQuA/wU
 UOT4NhKf76OPZq9QlIWIQMkaMWF1O0VxWaOvahkfh2i6X8l5qeDXGVTIwKI2X5UI7ZCOY84x
 fss5ZwN4Aulhxt2atuLg0i4LYhXwqDsh0n/iqwnPQ==
IronPort-HdrOrdr: A9a23:lP5ZN6k8nz8YWV+/cJ+dg0W00wnpDfIo3DAbv31ZSRFFG/Fw8P
 re+8jztCWE7Ar5PUtKpTnuAsW9qB/nmqKdgrNwAV7BZmfbUQKTRekJgLcKqAeAJwTOssJbyK
 d8Y+xfJbTLfD1HZB/BkWqF+gAbsbu6zJw=
X-IronPort-AV: E=Sophos;i="5.88,304,1635220800"; 
   d="scan'208";a="62497026"
Date: Fri, 21 Jan 2022 15:13:16 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Juergen Gross <jgross@suse.com>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, Julien Grall
	<julien@xen.org>
Subject: Re: [PATCH 3/3] tools/xenstore: drop DEFINE_HASHTABLE_* macros and
 usage intro
Message-ID: <YerNjEld2pe9hSoI@perard>
References: <20220120120236.13826-1-jgross@suse.com>
 <20220120120236.13826-4-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20220120120236.13826-4-jgross@suse.com>

On Thu, Jan 20, 2022 at 01:02:36PM +0100, Juergen Gross wrote:
> The DEFINE_HASHTABLE_* macros are used nowhere, so drop them. The usage
> intro isn't needed either with those macros dropped.

The first part of the intro "Example of use:" doesn't speak about the
macro, so removing the macro part doesn't mean that the first part
should be removed. But it is probably not necessary as the documentation
for the functions are probably good enough to figure out how to use
hashtable. Can you reword that last sentence?

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Jan 21 15:21:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 15:21:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259389.447690 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAvjC-0003MG-NU; Fri, 21 Jan 2022 15:21:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259389.447690; Fri, 21 Jan 2022 15:21:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAvjC-0003La-GH; Fri, 21 Jan 2022 15:21:26 +0000
Received: by outflank-mailman (input) for mailman id 259389;
 Fri, 21 Jan 2022 15:21:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=CqVI=SF=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1nAvjA-0003JT-OQ
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 15:21:24 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cac561d0-7acd-11ec-8fa7-f31e035a9116;
 Fri, 21 Jan 2022 16:21:23 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 0250F212C9;
 Fri, 21 Jan 2022 15:21:23 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id CD54313D44;
 Fri, 21 Jan 2022 15:21:22 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id KMniMHLP6mFpAgAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 21 Jan 2022 15:21:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cac561d0-7acd-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642778483; h=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=ZBetHUzsVCOLsWp+Bkz8oxjPdadRJFJdO1+aPzoPric=;
	b=U39AAEV9UwCi/N4edg8P8B8vwoIgUeRLsR2vaOzDuqGKUaV/IKq+XTOd4OejfohCg+b0/6
	LOUT4IjUcOrzCpY6ggnzjtRQVJuaFedqVg4mjCMGHV2uPWUuUT1Q3zG5RPiO1FsRzJuAjJ
	4vJv36wUjyqWEH/sBhmUtEgTjpHTUb0=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 1/3] tools/xenstore: merge hashtable_private.h into hashtable.c
Date: Fri, 21 Jan 2022 16:21:18 +0100
Message-Id: <20220121152120.23160-2-jgross@suse.com>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20220121152120.23160-1-jgross@suse.com>
References: <20220121152120.23160-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

hashtable_private.h is used in hashtable.c only.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
---
 tools/xenstore/hashtable.c         | 31 +++++++++--
 tools/xenstore/hashtable_private.h | 85 ------------------------------
 2 files changed, 27 insertions(+), 89 deletions(-)
 delete mode 100644 tools/xenstore/hashtable_private.h

diff --git a/tools/xenstore/hashtable.c b/tools/xenstore/hashtable.c
index 394b1cf9d0..39fb3ed338 100644
--- a/tools/xenstore/hashtable.c
+++ b/tools/xenstore/hashtable.c
@@ -1,13 +1,29 @@
 /* Copyright (C) 2004 Christopher Clark <firstname.lastname@cl.cam.ac.uk> */
 
 #include "hashtable.h"
-#include "hashtable_private.h"
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
 #include <math.h>
 #include <stdint.h>
 
+struct entry
+{
+    void *k, *v;
+    unsigned int h;
+    struct entry *next;
+};
+
+struct hashtable {
+    unsigned int tablelength;
+    struct entry **table;
+    unsigned int entrycount;
+    unsigned int loadlimit;
+    unsigned int primeindex;
+    unsigned int (*hashfn) (void *k);
+    int (*eqfn) (void *k1, void *k2);
+};
+
 /*
 Credit for primes table: Aaron Krowne
  http://br.endernet.org/~akrowne/
@@ -25,6 +41,13 @@ static const unsigned int primes[] = {
 const unsigned int prime_table_length = sizeof(primes)/sizeof(primes[0]);
 const unsigned int max_load_factor = 65; /* percentage */
 
+/*****************************************************************************/
+/* indexFor */
+static inline unsigned int
+indexFor(unsigned int tablelength, unsigned int hashvalue) {
+    return (hashvalue % tablelength);
+}
+
 /*****************************************************************************/
 struct hashtable *
 create_hashtable(unsigned int minsize,
@@ -211,7 +234,7 @@ hashtable_remove(struct hashtable *h, void *k)
             *pE = e->next;
             h->entrycount--;
             v = e->v;
-            freekey(e->k);
+            free(e->k);
             free(e);
             return v;
         }
@@ -235,7 +258,7 @@ hashtable_destroy(struct hashtable *h, int free_values)
         {
             e = table[i];
             while (NULL != e)
-            { f = e; e = e->next; freekey(f->k); free(f->v); free(f); }
+            { f = e; e = e->next; free(f->k); free(f->v); free(f); }
         }
     }
     else
@@ -244,7 +267,7 @@ hashtable_destroy(struct hashtable *h, int free_values)
         {
             e = table[i];
             while (NULL != e)
-            { f = e; e = e->next; freekey(f->k); free(f); }
+            { f = e; e = e->next; free(f->k); free(f); }
         }
     }
     free(h->table);
diff --git a/tools/xenstore/hashtable_private.h b/tools/xenstore/hashtable_private.h
deleted file mode 100644
index 3e95f60057..0000000000
--- a/tools/xenstore/hashtable_private.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/* Copyright (C) 2002, 2004 Christopher Clark <firstname.lastname@cl.cam.ac.uk> */
-
-#ifndef __HASHTABLE_PRIVATE_CWC22_H__
-#define __HASHTABLE_PRIVATE_CWC22_H__
-
-#include "hashtable.h"
-
-/*****************************************************************************/
-struct entry
-{
-    void *k, *v;
-    unsigned int h;
-    struct entry *next;
-};
-
-struct hashtable {
-    unsigned int tablelength;
-    struct entry **table;
-    unsigned int entrycount;
-    unsigned int loadlimit;
-    unsigned int primeindex;
-    unsigned int (*hashfn) (void *k);
-    int (*eqfn) (void *k1, void *k2);
-};
-
-/*****************************************************************************/
-unsigned int
-hash(struct hashtable *h, void *k);
-
-/*****************************************************************************/
-/* indexFor */
-static inline unsigned int
-indexFor(unsigned int tablelength, unsigned int hashvalue) {
-    return (hashvalue % tablelength);
-};
-
-/* Only works if tablelength == 2^N */
-/*static inline unsigned int
-indexFor(unsigned int tablelength, unsigned int hashvalue)
-{
-    return (hashvalue & (tablelength - 1u));
-}
-*/
-
-/*****************************************************************************/
-#define freekey(X) free(X)
-/*define freekey(X) ; */
-
-
-/*****************************************************************************/
-
-#endif /* __HASHTABLE_PRIVATE_CWC22_H__*/
-
-/*
- * Copyright (c) 2002, Christopher Clark
- * All rights reserved.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 
- * * Neither the name of the original author; nor the names of any contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- * 
- * 
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER
- * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Fri Jan 21 15:21:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 15:21:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259391.447717 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAvjE-00041B-AB; Fri, 21 Jan 2022 15:21:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259391.447717; Fri, 21 Jan 2022 15: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 1nAvjE-0003zL-47; Fri, 21 Jan 2022 15:21:28 +0000
Received: by outflank-mailman (input) for mailman id 259391;
 Fri, 21 Jan 2022 15:21:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=CqVI=SF=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1nAvjC-0003JS-Ad
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 15:21:26 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cb099909-7acd-11ec-bc18-3156f6d857e4;
 Fri, 21 Jan 2022 16:21:23 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 6711F21984;
 Fri, 21 Jan 2022 15:21:23 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 3ACA5139FE;
 Fri, 21 Jan 2022 15:21:23 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 0MAlDXPP6mFpAgAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 21 Jan 2022 15:21:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cb099909-7acd-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642778483; h=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=O9732WdVSEHkO7bksmSTG5m8vSoXsF5+FW9lmh0rLLs=;
	b=AZDKhfiG9ScnlbZp73vc2ZT78gHhwJjaDRasVlqh2mfTanN95N5NS7AJsS3avwPnfBPaJ6
	Lq5Gg5Qruh2s3af7gY5qF5BenHa4H/0Rvz4DD9qem81SbgIwbeW7iTKen7FM8srYuZIpXq
	/+H/EKtn6V+Sw7DkcTMl5rpBorhFAfo=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 3/3] tools/xenstore: drop DEFINE_HASHTABLE_* macros and usage intro
Date: Fri, 21 Jan 2022 16:21:20 +0100
Message-Id: <20220121152120.23160-4-jgross@suse.com>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20220121152120.23160-1-jgross@suse.com>
References: <20220121152120.23160-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The DEFINE_HASHTABLE_* macros are used nowhere, so drop them.
The usage intro isn't really needed either.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- reword commit message (Anthony PERARD)
---
 tools/xenstore/hashtable.h | 76 --------------------------------------
 1 file changed, 76 deletions(-)

diff --git a/tools/xenstore/hashtable.h b/tools/xenstore/hashtable.h
index b90781abd4..62fef6081a 100644
--- a/tools/xenstore/hashtable.h
+++ b/tools/xenstore/hashtable.h
@@ -5,62 +5,6 @@
 
 struct hashtable;
 
-/* Example of use:
- *
- *      struct hashtable  *h;
- *      struct some_key   *k;
- *      struct some_value *v;
- *
- *      static unsigned int         hash_from_key_fn( void *k );
- *      static int                  keys_equal_fn ( void *key1, void *key2 );
- *
- *      h = create_hashtable(16, hash_from_key_fn, keys_equal_fn);
- *      k = (struct some_key *)     malloc(sizeof(struct some_key));
- *      v = (struct some_value *)   malloc(sizeof(struct some_value));
- *
- *      (initialise k and v to suitable values)
- * 
- *      if (! hashtable_insert(h,k,v) )
- *      {     exit(-1);               }
- *
- *      if (NULL == (found = hashtable_search(h,k) ))
- *      {    printf("not found!");                  }
- *
- *      if (NULL == (found = hashtable_remove(h,k) ))
- *      {    printf("Not found\n");                 }
- *
- */
-
-/* Macros may be used to define type-safe(r) hashtable access functions, with
- * methods specialized to take known key and value types as parameters.
- * 
- * Example:
- *
- * Insert this at the start of your file:
- *
- * DEFINE_HASHTABLE_INSERT(insert_some, struct some_key, struct some_value);
- * DEFINE_HASHTABLE_SEARCH(search_some, struct some_key, struct some_value);
- * DEFINE_HASHTABLE_REMOVE(remove_some, struct some_key, struct some_value);
- *
- * This defines the functions 'insert_some', 'search_some' and 'remove_some'.
- * These operate just like hashtable_insert etc., with the same parameters,
- * but their function signatures have 'struct some_key *' rather than
- * 'void *', and hence can generate compile time errors if your program is
- * supplying incorrect data as a key (and similarly for value).
- *
- * Note that the hash and key equality functions passed to create_hashtable
- * still take 'void *' parameters instead of 'some key *'. This shouldn't be
- * a difficult issue as they're only defined and passed once, and the other
- * functions will ensure that only valid keys are supplied to them.
- *
- * The cost for this checking is increased code size and runtime overhead
- * - if performance is important, it may be worth switching back to the
- * unsafe methods once your program has been debugged with the safe methods.
- * This just requires switching to some simple alternative defines - eg:
- * #define insert_some hashtable_insert
- *
- */
-
 /*****************************************************************************
  * create_hashtable
    
@@ -98,12 +42,6 @@ create_hashtable(unsigned int minsize,
 int 
 hashtable_insert(struct hashtable *h, void *k, void *v);
 
-#define DEFINE_HASHTABLE_INSERT(fnname, keytype, valuetype) \
-int fnname (struct hashtable *h, keytype *k, valuetype *v) \
-{ \
-    return hashtable_insert(h,k,v); \
-}
-
 /*****************************************************************************
  * hashtable_search
    
@@ -116,12 +54,6 @@ int fnname (struct hashtable *h, keytype *k, valuetype *v) \
 void *
 hashtable_search(struct hashtable *h, void *k);
 
-#define DEFINE_HASHTABLE_SEARCH(fnname, keytype, valuetype) \
-valuetype * fnname (struct hashtable *h, keytype *k) \
-{ \
-    return (valuetype *) (hashtable_search(h,k)); \
-}
-
 /*****************************************************************************
  * hashtable_remove
    
@@ -134,13 +66,6 @@ valuetype * fnname (struct hashtable *h, keytype *k) \
 void * /* returns value */
 hashtable_remove(struct hashtable *h, void *k);
 
-#define DEFINE_HASHTABLE_REMOVE(fnname, keytype, valuetype) \
-valuetype * fnname (struct hashtable *h, keytype *k) \
-{ \
-    return (valuetype *) (hashtable_remove(h,k)); \
-}
-
-
 /*****************************************************************************
  * hashtable_count
    
@@ -151,7 +76,6 @@ valuetype * fnname (struct hashtable *h, keytype *k) \
 unsigned int
 hashtable_count(struct hashtable *h);
 
-
 /*****************************************************************************
  * hashtable_destroy
    
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Fri Jan 21 15:21:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 15:21:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259390.447696 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAvjD-0003PS-0Z; Fri, 21 Jan 2022 15:21:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259390.447696; Fri, 21 Jan 2022 15:21:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAvjC-0003NW-Oe; Fri, 21 Jan 2022 15:21:26 +0000
Received: by outflank-mailman (input) for mailman id 259390;
 Fri, 21 Jan 2022 15:21:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=CqVI=SF=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1nAvjB-0003JS-Ac
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 15:21:25 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cacafca7-7acd-11ec-bc18-3156f6d857e4;
 Fri, 21 Jan 2022 16:21:23 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id D2AF61F3AF;
 Fri, 21 Jan 2022 15:21:22 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 8F971139FE;
 Fri, 21 Jan 2022 15:21:22 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id PxigIXLP6mFpAgAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 21 Jan 2022 15:21:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cacafca7-7acd-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642778482; h=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=pu+D+XCV5vakBgyLlB2J5yNghvXJQ9cT+8my8T+L11k=;
	b=Bu7Skq5TmnupxfKDph4EDSNRAYMfEOCNB3P7GfQHqMFLsH/lF39t8nbXbP6j9JWP+vDnrI
	4BUwrlFuQvYYOD3VoCP8I69W4X0KS1WAmF0v46qaSJ8b12LdYbyBMC9IW5LHZJR6g5qqmK
	xmIfAPVmzXhlHyyDeCI7qzGwoaVGLwU=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 0/3] tools/xenstore: simplify hashtable implementation
Date: Fri, 21 Jan 2022 16:21:17 +0100
Message-Id: <20220121152120.23160-1-jgross@suse.com>
X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Do some simplifications in the hashtable implementation not touching
the hashtable interfaces.

Juergen Gross (3):
  tools/xenstore: merge hashtable_private.h into hashtable.c
  tools/xenstore: fix hashtable_expand() zeroing new area
  tools/xenstore: drop DEFINE_HASHTABLE_* macros and usage intro

 tools/xenstore/hashtable.c         | 34 ++++++++++--
 tools/xenstore/hashtable.h         | 76 --------------------------
 tools/xenstore/hashtable_private.h | 85 ------------------------------
 3 files changed, 29 insertions(+), 166 deletions(-)
 delete mode 100644 tools/xenstore/hashtable_private.h

-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Fri Jan 21 15:21:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 15:21:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259388.447685 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAvjC-0003Jq-Bd; Fri, 21 Jan 2022 15:21:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259388.447685; Fri, 21 Jan 2022 15:21:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAvjC-0003Jj-8H; Fri, 21 Jan 2022 15:21:26 +0000
Received: by outflank-mailman (input) for mailman id 259388;
 Fri, 21 Jan 2022 15:21:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=CqVI=SF=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1nAvjA-0003JS-I1
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 15:21:24 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cae5fff1-7acd-11ec-bc18-3156f6d857e4;
 Fri, 21 Jan 2022 16:21:23 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 32F521F3CA;
 Fri, 21 Jan 2022 15:21:23 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 07C1E139FE;
 Fri, 21 Jan 2022 15:21:23 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id UOyLAHPP6mFpAgAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 21 Jan 2022 15:21:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cae5fff1-7acd-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1642778483; h=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=VXZ4prMIpVFrrFMIWdWQrhRMeB3VhjvcCXF+R1jtDDI=;
	b=K0RVKNNxDd6j45+dZrVhb2dnyL5frrMrFuBynomw1azt35e1z2ocyBv2UiBzfA05hQZnwC
	Y0fTJuMM8o/WBI2tzl5uVdOLkVfY58oZXALVpbi98B5xWYeFignI4JiBQbzobXm6Zm2ALL
	fWa49cqpclhC9Gwsrw2//JT2GQWtAyU=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 2/3] tools/xenstore: fix hashtable_expand() zeroing new area
Date: Fri, 21 Jan 2022 16:21:19 +0100
Message-Id: <20220121152120.23160-3-jgross@suse.com>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20220121152120.23160-1-jgross@suse.com>
References: <20220121152120.23160-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When realloc()ing the hashtable for expanding it, zero out all the new
bytes at the end of the table, not only one byte for each new element.

Fixes: 186f0e02a1c ("Added hashtable implementation")
Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
---
This might be a backport candidate
---
 tools/xenstore/hashtable.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/xenstore/hashtable.c b/tools/xenstore/hashtable.c
index 39fb3ed338..6ac336eff1 100644
--- a/tools/xenstore/hashtable.c
+++ b/tools/xenstore/hashtable.c
@@ -136,7 +136,8 @@ hashtable_expand(struct hashtable *h)
                    realloc(h->table, newsize * sizeof(struct entry *));
         if (NULL == newtable) { (h->primeindex)--; return 0; }
         h->table = newtable;
-        memset(newtable[h->tablelength], 0, newsize - h->tablelength);
+        memset(newtable + h->tablelength, 0,
+               (newsize - h->tablelength) * sizeof(*newtable));
         for (i = 0; i < h->tablelength; i++) {
             for (pE = &(newtable[i]), e = *pE; e != NULL; e = *pE) {
                 index = indexFor(newsize,e->h);
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Fri Jan 21 15:22:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 15:22:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259401.447728 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAvkf-0005gK-QW; Fri, 21 Jan 2022 15:22:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259401.447728; Fri, 21 Jan 2022 15: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 1nAvkf-0005gD-NM; Fri, 21 Jan 2022 15:22:57 +0000
Received: by outflank-mailman (input) for mailman id 259401;
 Fri, 21 Jan 2022 15:22:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QdbK=SF=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nAvke-0005fw-8q
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 15:22:56 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ffdb7851-7acd-11ec-8fa7-f31e035a9116;
 Fri, 21 Jan 2022 16:22:55 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ffdb7851-7acd-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642778575;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=94wB8fDkNda8MFvxRPzeSDCJgPlMUIKxodJ1QNjxNUg=;
  b=Dv2yU+jsirmnOcjqxZYucY428jzwlEse8VypRTojSdv3XNsYT9JHVra+
   pUA+KISAxZsvSbFpZRRf5Atl/X+nh0HPK5f0MWvJFI+mV2otC9jY6nW5F
   J+SYiSAR0Q//KSPbaEhJjLvECcfWpylNfagIFjqsfQc0DERn0LOItQO4P
   Q=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: kNHN/KhnUUWRYhGX7+f2JJu2bgemf8OZFyNhDp4GjtSxJMe76Eep5ylK84/PYcfTB34/an+0S1
 yhjVujbPcw6Dj6wu91o0D4Zvy6k1WzOoiiKgyb6pV11FF4Y9g3pbPGUP+qMomgsnmfjhXpNR82
 1vqV3UGpCLaZAKOPBnTMYH0sxZvgbQz2n/7oD2jAPLWbwy7K5zLbZ6Gv1Lx97mNuAxAt9Hize3
 s+v/7XKHBBEduW4ak0Wdy+2dYX3RCUSoBFr8/B5fsRaR2gdNLOFHH+C1XbC/cB0GpDsr98VD0q
 0z9nw68WMXQHksnjMSOS/a1D
X-SBRS: 5.2
X-MesageID: 62497888
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:eiiCWK8dwVI98wJVML+ODrUDZHmTJUtcMsCJ2f8bNWPcYEJGY0x3z
 TZOUGHQPKqNYGPwft93b97l8BgAuJfWydBkSQZv+yg8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7dj29Yy6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPhV6
 dBdibezazsbFfOQitsFVD8bKx5HaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguwqKtXrO4UO/Glt1zjDAd4tQIzZQrWM7thdtNs1rp4UQaeBN
 5pJAdZpRDPeUxhwBlhHM8MZ37en21O8aWFih03A8MLb5ECMlVcsgdABKuH9ZdiiVchT2EGCq
 Qru/Xn9AxwcHMySz3yC6H3Eru3AhyTgQ6oJCaa1sPVthTW71mEVTREbS1a/if24kVKlHcJSL
 VQO/SgjprR081akJuQRRDXh/iTC5ERFHYMNTatqs2lh15Y4/S69J20UchVCSuAUn5FqVwMy0
 XnKp+zQUGkHXKKudVqR8bKdrDWXMCcTLHMfaSJscTbp8+UPs6lo0EuRE48L/Lqdy4SsRGqum
 2ziQD0W3u1L1aY2O7OHEUcrat5GjrzAVUYL6wreRQpJBSspNdf+N+REBbU2hMuszbp1rHHc5
 BDoeODEtYji6K1hcgTXEY3h+5nztp643MX02wIHInXY323FF4SfVY5R+ipiA0xiL9wJfzTkC
 GeK518Lu8cIbSrzMfEvC25UNyjM5fO4fTgCfquMBuein7ArLFPXlM2QTRP4M5/RfLgEzvhkZ
 MbznTeEBncGE6V3pAdatM9GuYLHMhsWnDuJLbiilkzP+ePHOBa9FOlZWHPTMLFRxP7U8W39r
 ocEX+PXmko3bQELSnSNmWLlBQpUfSFT6FGfg5E/S9Nv1SI/SDh+UKeAmO14E2Gn9owM/tr1E
 riGchcw4DLCabfvcFzihqlLZOy9UJBhg2g8OCBwb1+k12J6OdSk7bsFdotxdr4irbQxwflxR
 vgDWsOBHvUQFWiXp2VDNcHw/N54aRCmpQOSJC75MjIxSIFtGl7S8dj+cwqxqCRXVnirtdEzq
 qGL3x/ARcZRXBxrCcvbMar9z164sXUHtvh1Wk/EfotadEn2qdA4IC3tlP4nZcoLLEyblDed0
 g+XBzYepPXM/NBpoIWY2/jcot7wQeVkH0dcE23K1pqMNHHXrji53ItNcOeUZjSBBmn6z7qvO
 LdOxPbmPfxZwFsT69hgE6xmxL4V7sf0o+MI1RxtGXjGYgj5Cr5kJXXaj8BDurcUm+1csAqyH
 EmO5sNbKfOCP8a8SAwdIw8sb+Ki0/AIm2aNsaRpcRuivCInrqCaVUhyPgWXjH0PJbR4B4op3
 OM9tZNE8Ae4kBcrbo6Lgy08G75g9ZDcv3HLbq0nPbI=
IronPort-HdrOrdr: A9a23:mm87ca2vpMfTCX5RhOlGJgqjBLIkLtp133Aq2lEZdPRUGvb3qy
 mLpoV+6faUskd1ZJhOo7290cW7LU80sKQFhrX5Xo3SPjUO2lHJEGgK1+KLqFfd8m/Fh41gPM
 9bAs5D4bbLbGSS4/yU3DWF
X-IronPort-AV: E=Sophos;i="5.88,304,1635220800"; 
   d="scan'208";a="62497888"
Date: Fri, 21 Jan 2022 15:22:40 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Juergen Gross <jgross@suse.com>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, Julien Grall
	<julien@xen.org>
Subject: Re: [PATCH] tools/xenstore: fix error handling of check_store()
Message-ID: <YerPwB6MgcANESIP@perard>
References: <20220121131219.14562-1-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20220121131219.14562-1-jgross@suse.com>

On Fri, Jan 21, 2022 at 02:12:19PM +0100, Juergen Gross wrote:
> check_store() has an incomplete error handling: it doesn't check
> whether "root" allocation succeeded, and it is leaking the memory of
> "root" in case create_hashtable() fails.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Jan 21 15:30:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 15:30:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259404.447739 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAvs3-0007CJ-J8; Fri, 21 Jan 2022 15:30:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259404.447739; Fri, 21 Jan 2022 15: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 1nAvs3-0007CC-G9; Fri, 21 Jan 2022 15:30:35 +0000
Received: by outflank-mailman (input) for mailman id 259404;
 Fri, 21 Jan 2022 15:30:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QdbK=SF=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nAvs2-0007C6-7G
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 15:30:34 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 115717c9-7acf-11ec-bc18-3156f6d857e4;
 Fri, 21 Jan 2022 16:30:32 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 115717c9-7acf-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642779032;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=DFEdzuIykRo/FuVlwWAJuAPc7ITViwAvWWrQyz9GBJE=;
  b=Ozg//BHwZONA+OiVIjiOAoK8i0Tlu45tNERqVUyGKJibjp0lnGyT+HyA
   9MdRCUNpK3ZuSvTzcAj3D6bxh883puFgOXdJ3Mq6DsDCo/MTIcgEEZx2f
   M1VbBYJs3G/zl3pxDLc1MupzBlwdqm/7x5BwxVKhFONdidXz47LS4MuMN
   0=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: T3lzKEa/hGUZLdEHrWuXuMeeb0LN3U636iFIJdqLpjJqX1BetxlvI5nMF+WNHdSULCLMkmL9Hf
 7xYgWvJ4PnR4bGbMYFWBvRqOyRk8JWbitVxXses7LehLuicHloXPNmQRsIKZmWPMPVlQJth1A/
 J7iLeDeicHyBWiBVXbJwfMr1fpKc+1fCM5ChJ7OM8JZtUa27y1iJnko+DJTcok9nF8rWWKfoV6
 kq1I1qj2o+jFM0Jqg9B1mgQHe+VDM5lGzdqArsSJBnuyYwNnLNm5FmNrqc172vZtI+fyVJ3liq
 DW8txPHr8CDMNKm7jFU7Sr2T
X-SBRS: 5.2
X-MesageID: 62500725
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:t5j25axjgNkY3/tpl696t+fSwSrEfRIJ4+MujC+fZmUNrF6WrkUOn
 2UZWWzVaf2La2T3L9p3YN7noxhT7JfdnNVkHgRkryAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnvopW1TYhSEUOZugH9IQM8aZfHAhLeNYYH1500g7wrRg2tQAbeWRWGthh
 /uj+6UzB3f9s9JEGjp8B3Wr8U4HUFza4Vv0j3RmDRx5lAa2e0o9VfrzEZqZPXrgKrS4K8bhL
 wr1IBNVyUuCl/slIovNfr8W6STmSJaKVeSFoiI+t6RPHnGuD8H9u0o2HKN0VKtZt9mGt/Nvl
 Il/6bCwcipzAZ/AtNgiCSNkNBgraMWq+JefSZS+mcmazkmAeHrw2fR+SkoxOOX0+M4uXzsIr
 6ZBbmlQMFbT3Ipaw5riIgVors0lMMnsOpJZonx6xCvVJf0nXYrCU+PB4towMDIY2JoTRa6BP
 ZdxhTxHYizAbUN+MXouBLUxl7+khlvUWBdJtwfAzUYwyzeKl1EguFT3C/LKfvSaSMMTmVyXz
 krE4mD4DxcyJNGZjz2f/RqEhODVmjjgcJkPD7D+/flv6HWDy2pWBBAIWF+TpfiillX4S99ZM
 1YT+Cclse417kPDczXmd0Tm+jje5EdaAocOVb1hgO2Q9kbKyyWHWjQ2EhJBU/F8i/06aQAVj
 GW1uOq8UFSDr4apYX6a876Vqxa7Ni4UMXIOaEc4cOcV3zXwiNpt10ySF76PBIbw14SoQm+on
 1hmuQBn3+1L5fPnwZlX6rwub9iEgpHSBjA46QzMNo5OxlMoPdX1D2BEBLWy0BqhEGp7ZgTZ1
 JTns5LHhAzrMX1rvHbcKAnqNOv4j8tpyBWG3TZS82AJrlxBAUKLc4FK+y1ZL0x0KMsCcjKBS
 BaN5VkOvMQCbSL2M/cfj2eN5yIClvCI+TPNDai8UzazSsIpKF/vEN9GOCZ8IFwBYGBzyPpia
 P93gO6nDGoACLQP8dZFb7x17FPf/QhnnTm7bcmil3yPiOPCDFbIF+ttGAbQP4gRsfPVyC2Io
 o03H5bblH1ivBjWP3O/HXg7dw5adBDWxPne9qRqSwJ0ClM2QT56U66In+pJlk4Mt/09q9okN
 0qVAidwoGcTT1WdQelTQnw8Or7pQ7hlqnc3YX4lMVqygiBxaoez9qYPMZAweOB/puBkyPd1S
 dgDetmBXasTGmiWpWxFYMmvtpFmeTSqmRmKY3ivbg8gcsMyXAfO4NLlIFfirXFcEiqtuMIii
 LS8zQeHE4EbTgFvAZ+OOvKixl+8p1YHn+d2UxeaK9VfYhy0ooNrNzbwnrk8JMRVcUfPwT6T1
 gC3BxYEpLaS/99poYeR3a3d9tWnCepzGEZeDlL317fuOHmI5HenzK9BTP2MIWLXWlTr9fjwf
 u5S1fz9bqEKxQ4Yr4pmHr935qsi/N+z9aRCxwFpEXiXPVSmDrRsfiuP0cVV7/Afw7ZYvU29W
 16V+8kcMrKMYZu3HFkULQsjT+KCyfBLxWWCsaVreB33tH1t4b6KcUROJB3d2iVSIYx8PJ4h3
 ep86tUd7Bayi0ZyP9uL5syOG79g8pDUv30bi6wn
IronPort-HdrOrdr: A9a23:OaTiX69u3ubLk5lez+5uk+DYI+orL9Y04lQ7vn2YSXRuHPBws/
 re+MjztCWE7Qr5N0tMpTntAsW9qDbnhPlICOoqTNWftWvd2FdARbsKheCJ/9SjIVycygc079
 YHT0EUMrzN5DZB4vrH3A==
X-IronPort-AV: E=Sophos;i="5.88,304,1635220800"; 
   d="scan'208";a="62500725"
Date: Fri, 21 Jan 2022 15:30:21 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Juergen Gross <jgross@suse.com>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, Julien Grall
	<julien@xen.org>
Subject: Re: [PATCH v2 3/3] tools/xenstore: drop DEFINE_HASHTABLE_* macros
 and usage intro
Message-ID: <YerRjUhTaXmGZilJ@perard>
References: <20220121152120.23160-1-jgross@suse.com>
 <20220121152120.23160-4-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20220121152120.23160-4-jgross@suse.com>

On Fri, Jan 21, 2022 at 04:21:20PM +0100, Juergen Gross wrote:
> The DEFINE_HASHTABLE_* macros are used nowhere, so drop them.
> The usage intro isn't really needed either.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Jan 21 15:47:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 15:47:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259411.447767 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAw8C-0000Z0-83; Fri, 21 Jan 2022 15:47:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259411.447767; Fri, 21 Jan 2022 15:47:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAw8C-0000Yt-54; Fri, 21 Jan 2022 15:47:16 +0000
Received: by outflank-mailman (input) for mailman id 259411;
 Fri, 21 Jan 2022 15: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 1nAw8B-0000Yj-5i; Fri, 21 Jan 2022 15: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 1nAw8B-0007iq-4F; Fri, 21 Jan 2022 15: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 1nAw8A-0007Xc-H2; Fri, 21 Jan 2022 15:47:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nAw8A-0004ra-GY; Fri, 21 Jan 2022 15: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=VLp8uf3let/Fj6XYflmfYlkQ6TtLuYxIKC3efYdq3zY=; b=jiuZp22U3ITVyl/3Z1cAGzYya3
	mQnIkbm2aS1GGXvBNLc6JbrDdztbIHVU4UBo6ppn2BGeKsK1P2kLv16i9PNVo3b8RyPkdbcU/Bk3X
	NaPoa/cwGWJ/H5TMr8Jlu6lPnlu+pgwjDxdkmSx7DaOFKl6PwK8Hqd87sks6k7T/DjYI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167767-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167767: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-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-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt: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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-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-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-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw: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-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=2c89b5af5e72ab8c9d544c6e30399528b2238827
X-Osstest-Versions-That:
    qemuu=b10d00d8811fa4eed4862963273d7353ce310c82
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 21 Jan 2022 15:47:14 +0000

flight 167767 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167767/

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 167759
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167759
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167759
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167759
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167759
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167759
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167759
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167759
 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-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-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          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-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                2c89b5af5e72ab8c9d544c6e30399528b2238827
baseline version:
 qemuu                b10d00d8811fa4eed4862963273d7353ce310c82

Last test of basis   167759  2022-01-20 12:09:25 Z    1 days
Testing same since   167767  2022-01-21 00:08:38 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ani Sinha <ani@anisinha.ca>
  Gavin Shan <gshan@redhat.com>
  Graeme Gregory <quic_ggregory@quicinc.com>
  Laurent Vivier <laurent@vivier.eu>
  Lucas Ramage <lucas.ramage@infinite-omicron.com>
  Marc Zyngier <maz@kernel.org>
  Patrick Venture <venture@google.com>
  Peter Maydell <peter.maydell@linaro.org>
  Petr Pavlu <petr.pavlu@suse.com>
  Philippe Mathieu-Daudé <f4bug@amsat.org>
  Philippe Mathieu-Daudé <philmd@redhat.com>
  Richard Henderson <richard.henderson@linaro.org>
  Troy Lee <troy_lee@aspeedtech.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-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   b10d00d881..2c89b5af5e  2c89b5af5e72ab8c9d544c6e30399528b2238827 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Fri Jan 21 17:34:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 17:34:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259419.447777 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAxnb-0002uz-5q; Fri, 21 Jan 2022 17:34:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259419.447777; Fri, 21 Jan 2022 17:34:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAxnb-0002us-2z; Fri, 21 Jan 2022 17:34:07 +0000
Received: by outflank-mailman (input) for mailman id 259419;
 Fri, 21 Jan 2022 17:34:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VSV1=SF=citrix.com=ross.lagerwall@srs-se1.protection.inumbo.net>)
 id 1nAxnZ-0002um-Gs
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 17:34:05 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 51b7c256-7ae0-11ec-bc18-3156f6d857e4;
 Fri, 21 Jan 2022 18:34:03 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 51b7c256-7ae0-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1642786443;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=VK65MgBu7gmYcHaFkcDzpB2RbWKXetKgRtqoFIU1Xuw=;
  b=f9/FtKwdj52PlPPtlU1XLIorQE+b42q7tFEfJwlUmbLxU0hUOOCn6ySu
   +SO8BPMISiV0lvPJ8Lv9DchTOv+To0gjmrD8eRUKZGmMHNxFYdjeNRmHJ
   9fBjm03M3/Rc5X5asyPu0Am65oYZL5eRsqai0iKY3M6XmDJJGPTbp1xZR
   k=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: ZdUT1Vt8SDVBdm94CQgH4nqp5IN/JiNbkDS23hYvWvzbKOvrdVcQMo7fbmgemrt1WjIKLSLBHo
 s2HWUKF/awO+vj1o+MYhA7iObF0bBcIlSzMg3+m/88uVtTBRWkd1ErpdUZh9yDB9zh5zQMh9yH
 SvhWpVT0kACtnz0Lh1ueS7E0UKnftTWqfO0rfYMKxRwJM2YyzW4R9HmLts4hc7iGMJRnszkCsH
 s+Q9OaW9Ds4ay1P9F2JAlITuSQ+8tHowtkxcUbQ43Sf+ms/TgiYHeZooMx1dKAASwhnraWCSI3
 FEPW93dbalg/LwzrxDS18sPf
X-SBRS: 5.2
X-MesageID: 62429039
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:WKMM3qPe7UBLZ2HvrR3EkcFynXyQoLVcMsEvi/4bfWQNrUp2gTZVz
 GoaD22BO/fYYjHxKd9ybd6/80xT65aDmNdgQAto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdpJYz/uUGuCJQUNUjMlkfZKhTr6UUsxNbVU8En150Eg6w7VRbrNA2rBVPSvc4
 bsenOWHULOV82Yc3rU8sv/rRLtH5ZweiRtA1rAMTakjUGz2zhH5OKk3N6CpR0YUd6EPdgKMq
 0Qv+5nilo/R109F5tpICd8XeGVSKlLZFVDmZna7x8FOK/WNz8A/+v9TCRYSVatYowi5rvRN7
 tBIjrKLVT1xJ/Hcg8sCdBYNRkmSPYUekFPGCX22sMjVxEzaaXr8hf5pCSnaP6VBpLwxWzsXs
 6VFdnZdNXhvhMrvqF6/YvNrnd9lKMDkMZkAs3Vk5TrYEewnUdbIRKCiCdpwgm1s3JEWRqe2i
 8wxYis+dxfSOU10HHA0EpgbsMXrr13kSmgNwL6SjfVuuDWCpOBr65DoOcDed9jMTN1bk0KSr
 3/D12v8CxAecteYzFKt92mwrvXCkSPyRMQZE7jQ3udnhUDWymENBRk+U1y9rv+kzEmkVLp3O
 0ESvyYjs6U23EiqVcXmGQ21pmaeuRwRUMYWFPc1gCmVwK3S8QefB0AeQzJBYcBgv8gzLRQy3
 0KNt8PkA3poqrL9YWmG6r6eoDe2OC4UBWwPfykJSU0C+daLiIw/kxvVQtFLEKe/jdruBXf2z
 izihDI/jLUal8JN16i98V3dmDWqjpzISAcv4UPQRG3N0+9iTNf7PcryswGdtKseatbCJrWcg
 JQas/Wu3cQyK5SIrwK2XN9VBe25/NmaFzKJ1DaDAKId3ziq/neie6VZ7zd/OFplP644RNP5X
 KPAkVgPvcEOZRNGeYcyOtvsUJpykcAMAPy8DqiMBueidKSdY+NuEMtGQUeLl17gn0E3+U3UE
 cfKKJ38ZZr25EkO8dZXewv/+eJzrszd7TmKLXwe8/hB+eDPDJJyYe1UWGZilshjsMu5TPz9q
 r6zzfeixRRFS/HZaSLK64MVJl1iBSFlWcqp85cGJ7fffFIO9IQd5xn5mutJl2tNxPw9qws11
 ivlBh8wJKTX2BUr1jlmmlg8MeiyDP6TXFowPDA2PEbA5pTQSd3H0UvrTLNuJeNP3LU6lZZcF
 qBZE+3dXKgnYmmZqlw1MMmsxKQ/JU/DrV/fYEKYjM0XIsQIq/rhoIG0J2MCNUAmU0KKiCfJi
 +Twj1yAGctaGV0K4QS/QKvH8m5ddEM1wIpaN3Yk6PEKEKk12IQ1eSH3kNEtJMQAdUfKyjeAj
 l7EChYEv+jd5YQy9YCR16yDqo6oFcp4H1ZbQDaHverna3GC8zrx25JEXcaJYSvZCDH+9pK9a
 LgH1Pr7KvAGwgpH6tIuD7ZxwKsizNLzvLsGnB98FXDGYg3zWLNtK3WLx+dVsahJyuMLsAe6Q
 BvXqNJbJa+IKIXuF1tIfFgpaeGK1Pc1nDjO7KtqfBWmtXEvpLfeCBdcJRiBjiBZPYBZCoJ9z
 LdzotMS5iy+lgEuboSMgBdL+jneNXcHSagm6M0XWde5lgoxx1heSpXAESuqsoqXYtBBP0R2c
 D+ZgK3O2+ZVykbYKidhEHHM2axWhIgUuQAMx1gHfgzblt3Aj/4x/RtQ7TVoEVgFkkQZi7p+a
 jpxKkl4BaSS5DM51sFMUlelFxxFGBDEqFf6zEEElTGBQkSlPoAXwLbR5QpZEJglzl9h
IronPort-HdrOrdr: A9a23:GeJ3dqhqPSrGz1Ny24JPKQjF+3BQXtYji2hC6mlwRA09TySZ//
 rBoB19726RtN9xYgBHpTnuAsm9qB/nmaKdgrNhWItKPjOW21dARbsKheCJrgEIcxeOkdK1vp
 0AT0ERMrLN5CBB/KTH3DU=
X-IronPort-AV: E=Sophos;i="5.88,306,1635220800"; 
   d="scan'208";a="62429039"
From: Ross Lagerwall <ross.lagerwall@citrix.com>
To: Stefano Stabellini <sstabellini@kernel.org>, Anthony Perard
	<anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>
CC: Ross Lagerwall <ross.lagerwall@citrix.com>, Igor Druzhinin
	<igor.druzhinin@citrix.com>, Paolo Bonzini <pbonzini@redhat.com>, "Richard
 Henderson" <richard.henderson@linaro.org>, Eduardo Habkost
	<eduardo@habkost.net>, "Michael S. Tsirkin" <mst@redhat.com>, "Marcel
 Apfelbaum" <marcel.apfelbaum@gmail.com>, <xen-devel@lists.xenproject.org>,
	<qemu-devel@nongnu.org>
Subject: [PATCH] xen-mapcache: Avoid entry->lock overflow
Date: Fri, 21 Jan 2022 17:33:29 +0000
Message-ID: <20220121173329.904412-1-ross.lagerwall@citrix.com>
X-Mailer: git-send-email 2.27.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

In some cases, a particular mapcache entry may be mapped 256 times
causing the lock field to wrap to 0. For example, this may happen when
using emulated NVME and the guest submits a large scatter-gather write.
At this point, the entry map be remapped causing QEMU to write the wrong
data or crash (since remap is not atomic).

Avoid this overflow by increasing the lock field to a uint16_t and also
detect it and abort rather than continuing regardless.

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
---
 hw/i386/xen/xen-mapcache.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/hw/i386/xen/xen-mapcache.c b/hw/i386/xen/xen-mapcache.c
index bd47c3d672..82dc495a60 100644
--- a/hw/i386/xen/xen-mapcache.c
+++ b/hw/i386/xen/xen-mapcache.c
@@ -52,7 +52,7 @@ typedef struct MapCacheEntry {
     hwaddr paddr_index;
     uint8_t *vaddr_base;
     unsigned long *valid_mapping;
-    uint8_t lock;
+    uint16_t lock;
 #define XEN_MAPCACHE_ENTRY_DUMMY (1 << 0)
     uint8_t flags;
     hwaddr size;
@@ -355,6 +355,12 @@ tryagain:
     if (lock) {
         MapCacheRev *reventry = g_malloc0(sizeof(MapCacheRev));
         entry->lock++;
+        if (entry->lock == 0) {
+            fprintf(stderr,
+                    "mapcache entry lock overflow: "TARGET_FMT_plx" -> %p\n",
+                    entry->paddr_index, entry->vaddr_base);
+            abort();
+        }
         reventry->dma = dma;
         reventry->vaddr_req = mapcache->last_entry->vaddr_base + address_offset;
         reventry->paddr_index = mapcache->last_entry->paddr_index;
-- 
2.27.0



From xen-devel-bounces@lists.xenproject.org Fri Jan 21 19:03:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 19:03:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259423.447789 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAzBl-00038e-Ut; Fri, 21 Jan 2022 19:03:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259423.447789; Fri, 21 Jan 2022 19:03:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAzBl-00038X-Rc; Fri, 21 Jan 2022 19:03:09 +0000
Received: by outflank-mailman (input) for mailman id 259423;
 Fri, 21 Jan 2022 19:03: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 1nAzBk-00038N-C4; Fri, 21 Jan 2022 19:03: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 1nAzBk-0003JJ-9d; Fri, 21 Jan 2022 19:03: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 1nAzBk-0001GB-0E; Fri, 21 Jan 2022 19:03:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nAzBj-00030p-W5; Fri, 21 Jan 2022 19:03: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=Dwh/gyXb03kgeaU01qap3/wXUiJvau1P/dtyoyFj25Q=; b=cXsSykDap/xCG3DTZyqFKnfNKE
	HQBN9N7Dsne+1gS8XMRvR+3AjGlF502izmc6QlXMg/Gfr3/EWnQNx1kjCKaYFyEGkl7JnFtWZGZyd
	+ULIQX0CKkKmxpvFCkc3RBjJcbWTwKtcKGzlTD5oICk0p/jQDiMr6Gpz0ziuGIRJzXWE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167785-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 167785: 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=0626219dcc6a4376c1a4b04209d6c15d06e23875
X-Osstest-Versions-That:
    xen=4e1df69cc9f51b2e017af1da3ed5b45917642115
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 21 Jan 2022 19:03:07 +0000

flight 167785 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167785/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   6 xen-build                fail REGR. vs. 167761

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                  0626219dcc6a4376c1a4b04209d6c15d06e23875
baseline version:
 xen                  4e1df69cc9f51b2e017af1da3ed5b45917642115

Last test of basis   167761  2022-01-20 14:00:29 Z    1 days
Testing same since   167764  2022-01-20 20:01:37 Z    0 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.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 0626219dcc6a4376c1a4b04209d6c15d06e23875
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Mon Jan 17 18:40:50 2022 +0000

    x86/hvm: Drop hvm_{get,set}_guest_bndcfgs() and use {get,set}_regs() instead
    
    hvm_{get,set}_guest_bndcfgs() are thin wrappers around accessing MSR_BNDCFGS.
    
    MPX was implemented on Skylake uarch CPUs and dropped in subsequent CPUs, and
    is disabled by default in Xen VMs.
    
    It would be nice to move all the logic into vmx_msr_{read,write}_intercept(),
    but the common HVM migration code uses guest_{rd,wr}msr().  Therefore, use
    {get,set}_regs() to reduce the quantity of "common" HVM code.
    
    In lieu of having hvm_set_guest_bndcfgs() split out, use some #ifdef
    CONFIG_HVM in guest_wrmsr().  In vmx_{get,set}_regs(), split the switch
    statements into two depending on whether the require remote VMCS acquisition
    or not.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 81f0eaadf84d273a6ff8df3660b874a02d0e7677
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Wed Jan 12 15:47:27 2022 +0000

    x86/spec-ctrl: Fix NMI race condition with VT-x MSR_SPEC_CTRL handling
    
    The logic was based on a mistaken understanding of how NMI blocking on vmexit
    works.  NMIs are only blocked for EXIT_REASON_NMI, and not for general exits.
    Therefore, an NMI can in general hit early in the vmx_asm_vmexit_handler path,
    and the guest's value will be clobbered before it is saved.
    
    Switch to using MSR load/save lists.  This causes the guest value to be saved
    atomically with respect to NMIs/MCEs/etc.
    
    First, update vmx_cpuid_policy_changed() to configure the load/save lists at
    the same time as configuring the intercepts.  This function is always used in
    remote context, so extend the vmx_vmcs_{enter,exit}() block to cover the whole
    function, rather than having multiple remote acquisitions of the same VMCS.
    
    Both of vmx_{add,del}_guest_msr() can fail.  The -ESRCH delete case is fine,
    but all others are fatal to the running of the VM, so handle them using
    domain_crash() - this path is only used during domain construction anyway.
    
    Second, update vmx_{get,set}_reg() to use the MSR load/save lists rather than
    vcpu_msrs, and update the vcpu_msrs comment to describe the new state
    location.
    
    Finally, adjust the entry/exit asm.
    
    Because the guest value is saved and loaded atomically, we do not need to
    manually load the guest value, nor do we need to enable SCF_use_shadow.  This
    lets us remove the use of DO_SPEC_CTRL_EXIT_TO_GUEST.  Additionally,
    SPEC_CTRL_ENTRY_FROM_PV gets removed too, because on an early entry failure,
    we're no longer in the guest MSR_SPEC_CTRL context needing to switch back to
    Xen's context.
    
    The only action remaining is to load Xen's MSR_SPEC_CTRL value on vmexit.  We
    could in principle use the host msr list, but is expected to complicated
    future work.  Delete DO_SPEC_CTRL_ENTRY_FROM_HVM entirely, and use a shorter
    code sequence to simply reload Xen's setting from the top-of-stack block.
    
    Adjust the comment at the top of spec_ctrl_asm.h in light of this bugfix.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 95b13fa43e0753b7514bef13abe28253e8614f62
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Wed Jan 12 16:36:29 2022 +0000

    x86/spec-ctrl: Drop SPEC_CTRL_{ENTRY_FROM,EXIT_TO}_HVM
    
    These were written before Spectre/Meltdown went public, and there was large
    uncertainty in how the protections would evolve.  As it turns out, they're
    very specific to Intel hardware, and not very suitable for AMD.
    
    Drop the macros, opencoding the relevant subset of functionality, and leaving
    grep-fodder to locate the logic.  No change at all for VT-x.
    
    For AMD, the only relevant piece of functionality is DO_OVERWRITE_RSB,
    although we will soon be adding (different) logic to handle MSR_SPEC_CTRL.
    
    This has a marginal improvement of removing an unconditional pile of long-nops
    from the vmentry/exit path.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

commit 6536688439dbca1d08fd6db5be29c39e3917fb2f
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Wed Jan 12 13:52:47 2022 +0000

    x86/msr: Split MSR_SPEC_CTRL handling
    
    In order to fix a VT-x bug, and support MSR_SPEC_CTRL on AMD, move
    MSR_SPEC_CTRL handling into the new {pv,hvm}_{get,set}_reg() infrastructure.
    
    Duplicate the msrs->spec_ctrl.raw accesses in the PV and VT-x paths for now.
    The SVM path is currently unreachable because of the CPUID policy.
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 88d3ff7ab15da277a85b39735797293fb541c718
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Mon Jan 17 12:28:39 2022 +0000

    x86/guest: Introduce {get,set}_reg() infrastructure
    
    Various registers have per-guest-type or per-vendor locations or access
    requirements.  To support their use from common code, provide accessors which
    allow for per-guest-type behaviour.
    
    For now, just infrastructure handling default cases and expectations.
    Subsequent patches will start handling registers using this infrastructure.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Fri Jan 21 19:16:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 19:16:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259430.447800 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nAzOZ-0004cg-6t; Fri, 21 Jan 2022 19:16:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259430.447800; Fri, 21 Jan 2022 19: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 1nAzOZ-0004cZ-3U; Fri, 21 Jan 2022 19:16:23 +0000
Received: by outflank-mailman (input) for mailman id 259430;
 Fri, 21 Jan 2022 19:16: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 1nAzOX-0004cP-Ms; Fri, 21 Jan 2022 19:16: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 1nAzOX-0003Yf-FO; Fri, 21 Jan 2022 19:16: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 1nAzOX-0001oY-66; Fri, 21 Jan 2022 19:16:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nAzOX-0001Kh-5d; Fri, 21 Jan 2022 19:16:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=r/H6/lFTCDKlnpDNMaGIPN8AlCXqyPd5PLH68zMb8h0=; b=eDytZVluBeuPRFxVgK+DKEgblO
	tosNOSrRQwbwqcXOj6JciTKGbZjx0zujpEg5EvC3CCagNBzx/abxZrmfPQln84J8MhynvVgI8/h2Z
	grx5tGvj8V0YVy/xXDjAJ3G0khMKvFv+AJlTL9n3+maKNXjVcHjr8pu8cj1HENInaDF4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167779-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 167779: regressions - FAIL
X-Osstest-Failures:
    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:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=2b7f9506b18877027b182901f2778acbc2da505a
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 21 Jan 2022 19:16:21 +0000

flight 167779 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167779/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              2b7f9506b18877027b182901f2778acbc2da505a
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  560 days
Failing since        151818  2020-07-11 04:18:52 Z  559 days  541 attempts
Testing same since   167779  2022-01-21 04:19:03 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>
  Ani Sinha <ani@anisinha.ca>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  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>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  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>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  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>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  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 Chevsky <nchevsky@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>
  Or Ozeri <oro@il.ibm.com>
  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>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott 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>
  Stefan Hajnoczi <stefanha@redhat.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>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Дамјан Георгиевски <gdamjan@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 93908 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Jan 21 20:30:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 20:30:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259441.447810 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nB0YM-0003ru-SG; Fri, 21 Jan 2022 20:30:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259441.447810; Fri, 21 Jan 2022 20: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 1nB0YM-0003rn-P4; Fri, 21 Jan 2022 20:30:34 +0000
Received: by outflank-mailman (input) for mailman id 259441;
 Fri, 21 Jan 2022 20:30:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kUv0=SF=oracle.com=boris.ostrovsky@srs-se1.protection.inumbo.net>)
 id 1nB0YK-0003rg-V6
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 20:30:33 +0000
Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com
 [205.220.177.32]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f9070875-7af8-11ec-bc18-3156f6d857e4;
 Fri, 21 Jan 2022 21:30:30 +0100 (CET)
Received: from pps.filterd (m0246632.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 20LKQjbJ006864; 
 Fri, 21 Jan 2022 20:30:17 GMT
Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80])
 by mx0b-00069f02.pphosted.com with ESMTP id 3dqhybah5v-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Fri, 21 Jan 2022 20:30:17 +0000
Received: from pps.filterd (userp3030.oracle.com [127.0.0.1])
 by userp3030.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 20LKGjPx135544;
 Fri, 21 Jan 2022 20:30:16 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 3dqj0wfby5-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Fri, 21 Jan 2022 20:30:15 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com (2603:10b6:208:321::10)
 by SN6PR10MB2798.namprd10.prod.outlook.com (2603:10b6:805:d3::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.12; Fri, 21 Jan
 2022 20:30:13 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::d914:c494:66ac:a5b1]) by BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::d914:c494:66ac:a5b1%8]) with mapi id 15.20.4909.011; Fri, 21 Jan 2022
 20:30: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: f9070875-7af8-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=message-id : date :
 subject : to : cc : references : from : in-reply-to : content-type :
 content-transfer-encoding : mime-version; s=corp-2021-07-09;
 bh=GK2U+f7Rak4OEWs4JPIMfYxvZn6ErrJjPCqN3zuRB3M=;
 b=x2o7CPUk21GzJZUJyfvcs9+1TcIZvCNw7oIKnnDCxQgWxuHHB8Y73DSJeeCa0/U5GjLl
 QYUTntf9ad19mFvWGsnswaLKgHQYhToEHorpaE8O6NpyyaYKVfvNQbhbb6gCxtOd7fY4
 AwNyNCpu1o3ZhJeVz+z4AFtaQkNwjIvBP/wy5LfPFjkDpKBjHoEP4u5zqXR/l8SwE8C+
 220vhyQaZwE+Z6k8xISkqhLNgI1pnN8ixEMdyl78jXu+CnUnV24eZI1ZyJNTOYFGSrGq
 h/aibuFWx+ka5XU5vrOeYdbefawuW/ficN8wmzBn9MA+ARtnZ/AOPcVykwkc4RRZ0ayj dQ== 
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YRCKA4iqQgI6n77wAMoEkmhm3qr2owIjgElUoX09H0dfE+6tRq6MfIUoeH9JlJYvXknRs32oLjMXkvM3sAWZyiwUNCRqLuZykVePed8VMt2NGgIi7vw9fbIIzMEIGPv+bOXEVKJDiOT9t8N9g/ga9C46Knej1qSTXLajg/de8NVl7FcpqtuyfXbusnfuxN/Mpi21n+PnwY0bfV/KG6SMu8pT0aNWiWfIINOA1lBVN3/IsxCyCN+ay0Q0a7ZjtpAT3GEtzmwp38ZJH73ZPq5PxRLKv6sdq8RLoGekIuBfAg7T2wpOXDYmlCPmGp9RxYqGGiBzJ3njFo0NlhzROjDwlQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GK2U+f7Rak4OEWs4JPIMfYxvZn6ErrJjPCqN3zuRB3M=;
 b=lALVBVoKFg5+b76b3y4SoCZVOFJ9VQpmLKYfRSBCVjULCs8UG3d0gdrTMi3AvqdwDOimukWuNMZDJkh8e4YQS0Z/rHuLKnIr++j+tZrtO8+K2gglV3Evcggb9EB4s/jGrd3Qt/8KLZjXNJkDOD71BNVG8n4kypaCAwhSR2f/8eOxrzm7zPu1lMi800vYOpB4Vch9bJB4Wj17M32CanThExtTUQgP/x9jQAUqQJNqYEF2l1kMBR8FAK2n6Yme3Sy1gTsg09sxXpAMr4hgcK95gJV7hWqZbzOkcmchHaeDHd848E1isBwS6+kyJ288m315g0CQLx7hIwtzxl2HjSuN5w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GK2U+f7Rak4OEWs4JPIMfYxvZn6ErrJjPCqN3zuRB3M=;
 b=VYYh6D3iSsSTWrgOmRur6feDDBrABk4qWRejLpl5358vDOO+aRmptixj4JqgmntlYztXZiwFhNynukSw4Ft+PjPAhWrU8TUA19Exj2+Fi+o/B7rLxIfMiDM4nS0sc0w20wtYmEuQPC33WX5rKIcaOLfQtwxyaX9mXher2GV5WxU=
Message-ID: <533df35d-fc61-e196-f01f-01da5294440f@oracle.com>
Date: Fri, 21 Jan 2022 15:30:07 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.0
Subject: Re: [PATCH] xen/x2apic: enable x2apic mode when supported for HVM
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>, linux-kernel@vger.kernel.org
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>,
        Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,
        "H. Peter Anvin" <hpa@zytor.com>, xen-devel@lists.xenproject.org
References: <a34aff19-4530-7f44-c849-4b3eb2aa3d00@oracle.com>
 <20220121090146.13697-1-roger.pau@citrix.com>
From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
In-Reply-To: <20220121090146.13697-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: SA0PR11CA0096.namprd11.prod.outlook.com
 (2603:10b6:806:d1::11) To BLAPR10MB5009.namprd10.prod.outlook.com
 (2603:10b6:208:321::10)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5371b998-cfa6-4b57-8cff-08d9dd1cd3d7
X-MS-TrafficTypeDiagnostic: SN6PR10MB2798:EE_
X-Microsoft-Antispam-PRVS: 
	<SN6PR10MB2798DC75CE0A74F1B8CF1BE58A5B9@SN6PR10MB2798.namprd10.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:901;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	MJpVM4mC9YLsSoIZOwkmzxUBJ7g0O7XTJMq+lGUfZT+93GIsNJEBZFh84ai4Eizx6J466d7W87EVIzg/p3GhhzMND6JIdgq/etPK3X/seftDul/dxmm0GwSDmg2wiFa/UlyS7k9DRSF/X5IunIVdm+oDTzGPoIuEXkfVoXg5KPXTTmwFPY0WQYNxRTfm75wZSb0SxDx4Kirw0KOqAMGBsP2TL9PVeSD3zZ1sCljY0t4YEluQM0eWk8pTBBrH/4aCHQDoFwLe+2n7vEIxPQiitdqwU8mTiBKVmVU3jlZ2m5h17h2Mpi/YZhtgexd6dpr+EKN8qpV8V2IOd/n1C1mz+s0MtjKemzlZy/5cXG5qGNvko++JrcNpaLrYvLvOWeGrohh1iz36KSpCmC9d4+uj610DH+ByYtrasBgjjY/vwLKxhWu8WoJUqh4iBGPDFWx2EVXhJ4w4mW+L20clKCWBjIYGyIFxx4M92F4nIWEhRqUYn8U3jfhDpmsGZXoLkJqfL4npLT71kS6E5vbUIIR/1CcAwOeZzILp+LgBwu5yhmg2rdbD42eM6fwBIfTeTl4fRbmm93ogadmc5ubHSXTLP2J5ts0eEhqvTJkQOX/u9nxmodt+l9ktGii3IoSmpqxjBdpuyAJyCXtWVh/SCAuSnFSuFSV0gB+PvOLacRRCtt0v87YbzE9W+blQVbn/WmHJIL7XCUbo01NPRWSDk3hUO66pMWdIEekVwP/zqH/Nc9WGYwfW3domyRFhkI+HrLUr
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)(186003)(508600001)(86362001)(6506007)(53546011)(38100700002)(83380400001)(6512007)(26005)(4744005)(54906003)(2906002)(6486002)(2616005)(8676002)(44832011)(316002)(5660300002)(8936002)(4326008)(6666004)(66946007)(31696002)(66476007)(66556008)(36756003)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?utf-8?B?UW9tZVVxNjd6eVRnT2xPb29wTWxWSmdRWDRvZm5KZVNBSHk5M1RSZEg0SzJa?=
 =?utf-8?B?L3FNQW1TU2gwaThqVkVVVDJWcnluN1RHWlQvcWNYOSt0SW02dHFRbFRDcnFZ?=
 =?utf-8?B?bmRCM2ZEY3hUVitxNXRTMGFPSHo3U1dMelVuaUpUT1A1ZEczaThmaW5jckdv?=
 =?utf-8?B?Qk5PTUFpMFpMRGFjbTFSem1wL0xkT1hDUnZDTE5uMlF3emUwejFENEFNMkpZ?=
 =?utf-8?B?T25MWXZ3N1IxcjVtNHRZM1hrNlVMVUhUVzJpc3poZXdsTEM0aXBLdUo1U25T?=
 =?utf-8?B?OS9CenZNZmY1K0RmaUFqRThRSjU1TGdtNjQ0WmF2QVN4bFI1SjZFYnQ3RlJm?=
 =?utf-8?B?Y0VOUWRlUWwxejVtZndsdTY3cUZzdTZXWGFObmkrblJkcTBjSTkvZkMxSUl4?=
 =?utf-8?B?WVVZaytXYTdjNG55K1RmSjcvMnpxUEJham0yUlVqUFpRYkw1SFVHMURjMVNW?=
 =?utf-8?B?bkpUYmlBZ01pcFd2RDVIYkxyZWNOclNpMElxTTUveWZsQ2VObERLUE5GTlVj?=
 =?utf-8?B?eENOQnl5ODdoT1ROWnU0Y1NDK0ZzRjVoYmsvTXlqaWd0MDV2c25HMlJqd1M5?=
 =?utf-8?B?dFBaWGRCT3Z3MUxRdHRxMjFJWDR1ZHFDd21MY2NNZktFRHRUd09pNUVPbXlo?=
 =?utf-8?B?YVMrbFFlUWFEMnA2UmM2VHJVWnh2eXNRK05rbWdPbHFRY0tsbjgwa3JlZTRi?=
 =?utf-8?B?bG5lVFFlZFlrTFV1bERIZzNXNjBaMkNTWUxLL0dVMjc5VnRGYzU0ZnV4WWls?=
 =?utf-8?B?akQ0YU5FbXV1M3ZSVit2eHZOS0pWa2l1bFdOSnMrZmZjaTZRSTk5VkRkRUtW?=
 =?utf-8?B?YmJnZEFkYTBCcFN3SXV5UHZCNzAyR3F6VFZCMTFpc1pQbTZCVmdMN1haOFVh?=
 =?utf-8?B?RzJvR3dmTktZT05idUJGYXBDYkhXQThGUjFHa1dsbzNMSzRFTytYSGdrNHJ5?=
 =?utf-8?B?Rjg4YlJDTzUvZ3lneUhaZHgrK0JLUDFPSW0zYWliTEUrak1Td2k2SHBNNXBC?=
 =?utf-8?B?Tm9rN2c4eHJrcUZQR0pKTkwzRVZZVXlUT2ZwUnR5Uy9SN1lRWm5IcStZK2dI?=
 =?utf-8?B?K0xvYllURFhxcHp4ajZtM0lrbGxRU2UxeVFTdGVMeTk2QnhyaGx4SmhrYXRt?=
 =?utf-8?B?em0zdUZ5NjRSS1BIQWEvTUNpelJnWXhkVENnUS9BU28xYmI4dFRaQnl1ZU80?=
 =?utf-8?B?cmptV0MyWUxNQnE5LzBEWXl3N3h1OFM5SXhLdHdDNE00ZWZ3bEtiQURMRGNs?=
 =?utf-8?B?aytWMDFISm9JandxRS9RZ2twSUxtUXZXOTkyelRzNWdxZkpPY2xWcXRTMTZS?=
 =?utf-8?B?QzlVMU10MXIyd0tLa0Zuemw3WmhtOXROQko5L1l0RmIxVmU4T1pOdlZreEgx?=
 =?utf-8?B?QzQ4ajd1RFlXaW5vOHFQTVEveTJHU2hndjlRMnVFK0V4aWZQd3o0bWJtNVpI?=
 =?utf-8?B?NUlVVDdaZXpsSjdoRkZzOW5jNjEwOG5GSWJlWEJKbUxwTUppR1RxREtURkd1?=
 =?utf-8?B?aStqMUJqN3F6Qk9rdS9HSXZ5bVJyNHFzSXlBZWZpS1NsZ1pMR0FTUVlJblpR?=
 =?utf-8?B?V2VhdUlDSjFXeXNEdFRuTFAvZ0ZBd1lQV0NYSnhkMHpDVGlkdnJoOXE1OUox?=
 =?utf-8?B?TklvcStwbHFSN1d5MHBwSUdJZTZkT1IydUhtU1dITDlocHVPamhtS3JtaThF?=
 =?utf-8?B?SUJPeU1XZm5wZnNrdzJCT1lBeUlNVVJVTDhpWE45akMzYUliTDhxZDhwdjkx?=
 =?utf-8?B?OTZHVklYTTcyRjcrL0JQYlJpKzdBSk5GNk52bU9WRXNaVUhBRy9IckNPcHVi?=
 =?utf-8?B?Ui9mOXlpdTVrL0N3bytTbkhkZHNwcVFCRXdPM0R1QVRLaFRkT2V6VDE1QWxN?=
 =?utf-8?B?ZW81ZU5Cb1VINXl2SENwRnRDSWM0bm42TllQN3RRRmZzYzJXUkQwc0xpaGJH?=
 =?utf-8?B?TURlR1lwK2FTV3BaMTFaMDdJNDVXWGgxTXdYTUdTbUJvZ2pRUzJNYXdaM1ph?=
 =?utf-8?B?V2R5citqZHR3ekg2Q3MyejFLREFnRGhwRGdqTFFxdExpZ0dVckNMY1ZITDVy?=
 =?utf-8?B?Z3hoeEk4VE5LU1pPWXdIc3JhZ2drVVR4M2FoaWZaKzRDNStlYmoyTXpDN2Q0?=
 =?utf-8?B?VHp0NDJBY1hmMnY1OEZIM1ZoaVZqZE5sdTNNMlAyTW5ucFRMVXFXUngwRzBn?=
 =?utf-8?B?NEhwZ01UZ0oxTnVsTmlEVTAxV0VBNEovb1F6OGNhMHNVRVZXb2pHMXNkanhj?=
 =?utf-8?Q?32HsPwHW0ckmgxEzJp3VOB4WRSzaqbipwPPzX1cZzE=3D?=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5371b998-cfa6-4b57-8cff-08d9dd1cd3d7
X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5009.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jan 2022 20:30:13.4295
 (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: W1F9UGYnpxegQR8NHJO7PK9wy2x1mZHexkpA+56Y1ITT2Vfu9baFIVF2azUYPuzkYo2uuhK8t38dbt5/7hozfl4CrQyVvBEdB/w8UUx93HM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR10MB2798
X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10234 signatures=668683
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 mlxscore=0 suspectscore=0
 spamscore=0 mlxlogscore=999 bulkscore=0 malwarescore=0 adultscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2201110000
 definitions=main-2201210129
X-Proofpoint-ORIG-GUID: D_uzoI0Oo47GmcuTfH0RO8ugxOSaEMBf
X-Proofpoint-GUID: D_uzoI0Oo47GmcuTfH0RO8ugxOSaEMBf


On 1/21/22 4:01 AM, Roger Pau Monne wrote:
> There's no point in disabling x2APIC mode when running as a Xen HVM
> guest, just enable it when available.
>
> Remove some unneeded wrapping around the detection functions, and
> simply provide a xen_x2apic_available helper that's a wrapper around
> x2apic_supported.
>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>


Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>



From xen-devel-bounces@lists.xenproject.org Fri Jan 21 20:50:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 20:50:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259446.447822 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nB0rE-0005wK-Li; Fri, 21 Jan 2022 20:50:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259446.447822; Fri, 21 Jan 2022 20: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 1nB0rE-0005vg-HL; Fri, 21 Jan 2022 20:50:04 +0000
Received: by outflank-mailman (input) for mailman id 259446;
 Fri, 21 Jan 2022 20:50:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9Ra3=SF=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nB0rC-0005eT-VT
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 20:50:03 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b1918695-7afb-11ec-bc18-3156f6d857e4;
 Fri, 21 Jan 2022 21:49:59 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 03C626179A;
 Fri, 21 Jan 2022 20:49:57 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id EE434C340E1;
 Fri, 21 Jan 2022 20:49: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: b1918695-7afb-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1642798196;
	bh=P7kdhal7zagk2fBHShUn1fWmWPyYhME/I5/lWGxB2vM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=XHy6XilNlAVjTai7evm5Zq1+iI4HWcMt+4m14TVmqZTO45zhFdD3FLEQh7jrHAFwO
	 C8kcAz9v6xCnDMlvnkv2mLj0X50dFJp3eKLUQLQpRgZ4kfJhnyep8hhcEhCnHacC/i
	 /udr/GJlaWEUkR73CDh8GqeD8MzdfZjimMftAyuYhIMdFSl7jIdV3Vhf21WbGbsNLh
	 VAINqLkNfT8UU5DH+m3XYEWM602mjOGKf0RM51uREEGqatDWDf+hjL2ggU3sFKVh9t
	 p3KkQweaYBxaJqd6F7HOgDRVfqO0v7PBOXJ0nwTzV1b3JRE/tAu1ihDRsjmYYRF75M
	 j4nuPR5UBn5iQ==
Date: Fri, 21 Jan 2022 12:49:55 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    Julien Grall <julien@xen.org>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
In-Reply-To: <20220121150753.GA898010@EPUAKYIW015D>
Message-ID: <alpine.DEB.2.22.394.2201211236060.27308@ubuntu-linux-20-04-desktop>
References: <20211220181215.GA1702335@EPUAKYIW015D> <alpine.DEB.2.22.394.2112201613210.2060010@ubuntu-linux-20-04-desktop> <20211221200305.GA2460476@EPUAKYIW015D> <alpine.DEB.2.22.394.2112211310000.2060010@ubuntu-linux-20-04-desktop> <20211222110414.GA2883815@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2112221627190.2060010@ubuntu-linux-20-04-desktop> <20220119120400.GA3779126@EPUAKYIW015D> <alpine.DEB.2.22.394.2201191644400.19362@ubuntu-linux-20-04-desktop> <20220120102147.GA4153317@EPUAKYIW015D> <alpine.DEB.2.22.394.2201201230480.27308@ubuntu-linux-20-04-desktop>
 <20220121150753.GA898010@EPUAKYIW015D>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 21 Jan 2022, Oleksii Moisieiev wrote:
> On Thu, Jan 20, 2022 at 02:29:41PM -0800, Stefano Stabellini wrote:
> > On Thu, 20 Jan 2022, Oleksii Moisieiev wrote:
> > > On Wed, Jan 19, 2022 at 05:28:21PM -0800, Stefano Stabellini wrote:
> > > > On Wed, 19 Jan 2022, Oleksii Moisieiev wrote:
> > > > > On Wed, Dec 22, 2021 at 06:23:24PM -0800, Stefano Stabellini wrote:
> > > > > > On Wed, 22 Dec 2021, Oleksii Moisieiev wrote:
> > > > > > > On Tue, Dec 21, 2021 at 01:22:50PM -0800, Stefano Stabellini wrote:
> > > > > > > > On Tue, 21 Dec 2021, Oleksii Moisieiev wrote:
> > > > > > > > > Hi Stefano,
> > > > > > > > >
> > > > > > > > > On Mon, Dec 20, 2021 at 04:52:01PM -0800, Stefano Stabellini wrote:
> > > > > > > > > > On Mon, 20 Dec 2021, Oleksii Moisieiev wrote:
> > > > > > > > > > > Hi Stefano,
> > > > > > > > > > >
> > > > > > > > > > > On Fri, Dec 17, 2021 at 06:14:55PM -0800, Stefano Stabellini wrote:
> > > > > > > > > > > > On Tue, 14 Dec 2021, Oleksii Moisieiev wrote:
> > > > > > > > > > > > > This is the implementation of SCI interface, called SCMI-SMC driver,
> > > > > > > > > > > > > which works as the mediator between XEN Domains and Firmware (SCP, ATF etc).
> > > > > > > > > > > > > This allows devices from the Domains to work with clocks, resets and
> > > > > > > > > > > > > power-domains without access to CPG.
> > > > > > > > > > > > >
> > > > > > > > > > > > > The following features are implemented:
> > > > > > > > > > > > > - request SCMI channels from ATF and pass channels to Domains;
> > > > > > > > > > > > > - set device permissions for Domains based on the Domain partial
> > > > > > > > > > > > > device-tree. Devices with permissions are able to work with clocks,
> > > > > > > > > > > > > resets and power-domains via SCMI;
> > > > > > > > > > > > > - redirect scmi messages from Domains to ATF.
> > > > > > > > > > > > >
> > > > > > > > > > > > > Signed-off-by: Oleksii Moisieiev <oleksii_moisieiev@epam.com>
> > > > > > > > > > > > > ---
> > > > > > > > > > > > >  xen/arch/arm/Kconfig          |   2 +
> > > > > > > > > > > > >  xen/arch/arm/sci/Kconfig      |  10 +
> > > > > > > > > > > > >  xen/arch/arm/sci/Makefile     |   1 +
> > > > > > > > > > > > >  xen/arch/arm/sci/scmi_smc.c   | 795 ++++++++++++++++++++++++++++++++++
> > > > > > > > > > > > >  xen/include/public/arch-arm.h |   1 +
> > > > > > > > > > > > >  5 files changed, 809 insertions(+)
> > > > > > > > > > > > >  create mode 100644 xen/arch/arm/sci/Kconfig
> > > > > > > > > > > > >  create mode 100644 xen/arch/arm/sci/scmi_smc.c
> > > > > > > > > > > > >
> > > > > > > > > > > > > diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> > > > > > > > > > > > > index 186e1db389..02d96c6cfc 100644
> > > > > > > > > > > > > --- a/xen/arch/arm/Kconfig
> > > > > > > > > > > > > +++ b/xen/arch/arm/Kconfig
> > > > > > > > > > > > > @@ -114,6 +114,8 @@ config SCI
> > > > > > > > > > > > >  	  support. It allows guests to control system resourcess via one of
> > > > > > > > > > > > >  	  SCI mediators implemented in XEN.
> > > > > > > > > > > > >
> > > > > > > > > > > > > +source "arch/arm/sci/Kconfig"
> > > > > > > > > > > > > +
> > > > > > > > > > > > >  endmenu
> > > > > > > > > > > > >
> > > > > > > > > > > > >  menu "ARM errata workaround via the alternative framework"
> > > > > > > > > > > > > diff --git a/xen/arch/arm/sci/Kconfig b/xen/arch/arm/sci/Kconfig
> > > > > > > > > > > > > new file mode 100644
> > > > > > > > > > > > > index 0000000000..9563067ddc
> > > > > > > > > > > > > --- /dev/null
> > > > > > > > > > > > > +++ b/xen/arch/arm/sci/Kconfig
> > > > > > > > > > > > > @@ -0,0 +1,10 @@
> > > > > > > > > > > > > +config SCMI_SMC
> > > > > > > > > > > > > +	bool "Enable SCMI-SMC mediator driver"
> > > > > > > > > > > > > +	default n
> > > > > > > > > > > > > +	depends on SCI
> > > > > > > > > > > > > +	---help---
> > > > > > > > > > > > > +
> > > > > > > > > > > > > +	Enables mediator in XEN to pass SCMI requests from Domains to ATF.
> > > > > > > > > > > > > +	This feature allows drivers from Domains to work with System
> > > > > > > > > > > > > +	Controllers (such as power,resets,clock etc.). SCP is used as transport
> > > > > > > > > > > > > +	for communication.
> > > > > > > > > > > > > diff --git a/xen/arch/arm/sci/Makefile b/xen/arch/arm/sci/Makefile
> > > > > > > > > > > > > index 837dc7492b..67f2611872 100644
> > > > > > > > > > > > > --- a/xen/arch/arm/sci/Makefile
> > > > > > > > > > > > > +++ b/xen/arch/arm/sci/Makefile
> > > > > > > > > > > > > @@ -1 +1,2 @@
> > > > > > > > > > > > >  obj-y += sci.o
> > > > > > > > > > > > > +obj-$(CONFIG_SCMI_SMC) += scmi_smc.o
> > > > > > > > > > > > > diff --git a/xen/arch/arm/sci/scmi_smc.c b/xen/arch/arm/sci/scmi_smc.c
> > > > > > > > > > > > > new file mode 100644
> > > > > > > > > > > > > index 0000000000..2eb01ea82d
> > > > > > > > > > > > > --- /dev/null
> > > > > > > > > > > > > +++ b/xen/arch/arm/sci/scmi_smc.c
> > > > > > > > > > > > > @@ -0,0 +1,795 @@
> > > > > > > > > > > > > +/*
> > > > > > > > > > > > > + * xen/arch/arm/sci/scmi_smc.c
> > > > > > > > > > > > > + *
> > > > > > > > > > > > > + * SCMI mediator driver, using SCP as transport.
> > > > > > > > > > > > > + *
> > > > > > > > > > > > > + * Oleksii Moisieiev <oleksii_moisieiev@epam.com>
> > > > > > > > > > > > > + * Copyright (C) 2021, EPAM Systems.
> > > > > > > > > > > > > + *
> > > > > > > > > > > > > + * This program is free software; you can redistribute it and/or modify
> > > > > > > > > > > > > + * it under the terms of the GNU General Public License as published by
> > > > > > > > > > > > > + * the Free Software Foundation; either version 2 of the License, or
> > > > > > > > > > > > > + * (at your option) any later version.
> > > > > > > > > > > > > + *
> > > > > > > > > > > > > + * This program is distributed in the hope that it will be useful,
> > > > > > > > > > > > > + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> > > > > > > > > > > > > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> > > > > > > > > > > > > + * GNU General Public License for more details.
> > > > > > > > > > > > > + */
> > > > > > > > > > > > > +
> > > > > > > > > > > > > +#include <asm/sci/sci.h>
> > > > > > > > > > > > > +#include <asm/smccc.h>
> > > > > > > > > > > > > +#include <asm/io.h>
> > > > > > > > > > > > > +#include <xen/bitops.h>
> > > > > > > > > > > > > +#include <xen/config.h>
> > > > > > > > > > > > > +#include <xen/sched.h>
> > > > > > > > > > > > > +#include <xen/device_tree.h>
> > > > > > > > > > > > > +#include <xen/iocap.h>
> > > > > > > > > > > > > +#include <xen/init.h>
> > > > > > > > > > > > > +#include <xen/err.h>
> > > > > > > > > > > > > +#include <xen/lib.h>
> > > > > > > > > > > > > +#include <xen/list.h>
> > > > > > > > > > > > > +#include <xen/mm.h>
> > > > > > > > > > > > > +#include <xen/string.h>
> > > > > > > > > > > > > +#include <xen/time.h>
> > > > > > > > > > > > > +#include <xen/vmap.h>
> > > > > > > > > > > > > +
> > > > > > > > > > > > > +#define SCMI_BASE_PROTOCOL                  0x10
> > > > > > > > > > > > > +#define SCMI_BASE_PROTOCOL_ATTIBUTES        0x1
> > > > > > > > > > > > > +#define SCMI_BASE_SET_DEVICE_PERMISSIONS    0x9
> > > > > > > > > > > > > +#define SCMI_BASE_RESET_AGENT_CONFIGURATION 0xB
> > > > > > > > > > > > > +#define SCMI_BASE_DISCOVER_AGENT            0x7
> > > > > > > > > > > > > +
> > > > > > > > > > > > > +/* SCMI return codes. See section 4.1.4 of SCMI spec (DEN0056C) */
> > > > > > > > > > > > > +#define SCMI_SUCCESS              0
> > > > > > > > > > > > > +#define SCMI_NOT_SUPPORTED      (-1)
> > > > > > > > > > > > > +#define SCMI_INVALID_PARAMETERS (-2)
> > > > > > > > > > > > > +#define SCMI_DENIED             (-3)
> > > > > > > > > > > > > +#define SCMI_NOT_FOUND          (-4)
> > > > > > > > > > > > > +#define SCMI_OUT_OF_RANGE       (-5)
> > > > > > > > > > > > > +#define SCMI_BUSY               (-6)
> > > > > > > > > > > > > +#define SCMI_COMMS_ERROR        (-7)
> > > > > > > > > > > > > +#define SCMI_GENERIC_ERROR      (-8)
> > > > > > > > > > > > > +#define SCMI_HARDWARE_ERROR     (-9)
> > > > > > > > > > > > > +#define SCMI_PROTOCOL_ERROR     (-10)
> > > > > > > > > > > > > +
> > > > > > > > > > > > > +#define DT_MATCH_SCMI_SMC DT_MATCH_COMPATIBLE("arm,scmi-smc")
> > > > > > > > > > > > > +
> > > > > > > > > > > > > +#define SCMI_SMC_ID                        "arm,smc-id"
> > > > > > > > > > > > > +#define SCMI_SHARED_MEMORY                 "linux,scmi_mem"
> > > > > > > > > > > >
> > > > > > > > > > > > I could find the following SCMI binding in Linux, which describes
> > > > > > > > > > > > the arm,scmi-smc compatible and the arm,smc-id property:
> > > > > > > > > > > >
> > > > > > > > > > > > Documentation/devicetree/bindings/firmware/arm,scmi.yaml
> > > > > > > > > > > >
> > > > > > > > > > > > However, linux,scmi_mem is not described. Aren't you supposed to read
> > > > > > > > > > > > the "shmem" property instead? And the compatible string used for this
> > > > > > > > > > > > seems to be "arm,scmi-shmem".
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > We use linux,scmi_mem node to reserve memory, needed for all
> > > > > > > > > > > channels:
> > > > > > > > > > >
> > > > > > > > > > > reserved-memory {
> > > > > > > > > > >     /* reserved region for scmi channels*/
> > > > > > > > > > >     scmi_memory: linux,scmi_mem@53FF0000 {
> > > > > > > > > > >         no-map;
> > > > > > > > > > >         reg = <0x0 0x53FF0000 0x0 0x10000>;
> > > > > > > > > > >     };
> > > > > > > > > > > };
> > > > > > > > > > >
> > > > > > > > > > > arm,scmi-shmem node used in shmem property defines only 1 page needed to
> > > > > > > > > > > the current scmi channel:
> > > > > > > > > > >
> > > > > > > > > > > cpu_scp_shm: scp-shmem@0x53FF0000 {
> > > > > > > > > > >     compatible = "arm,scmi-shmem";
> > > > > > > > > > >     reg = <0x0 0x53FF0000 0x0 0x1000>;
> > > > > > > > > > > };
> > > > > > > > > > >
> > > > > > > > > > > For each Domain reg points to unigue page from linux,scmi_mem region,
> > > > > > > > > > > assigned to this agent.
> > > > > > > > > >
> > > > > > > > > > If we were to use "linux,scmi_mem" we would have to introduce it as a
> > > > > > > > > > compatible string, not as a node name, and it would need to be described
> > > > > > > > > > in Documentation/devicetree/bindings/firmware/arm,scmi.yaml.
> > > > > > > > > >
> > > > > > > > > > But from your description I don't think it is necessary. We can just use
> > > > > > > > > > "arm,scmi-shmem" to describe all the required regions:
> > > > > > > > > >
> > > > > > > > > > reserved-memory {
> > > > > > > > > >     scp-shmem@0x53FF0000 {
> > > > > > > > > >         compatible = "arm,scmi-shmem";
> > > > > > > > > >         reg = <0x0 0x53FF0000 0x0 0x1000>;
> > > > > > > > > >     };
> > > > > > > > > >     scp-shmem@0x53FF1000 {
> > > > > > > > > >         compatible = "arm,scmi-shmem";
> > > > > > > > > >         reg = <0x0 0x53FF1000 0x0 0x1000>;
> > > > > > > > > >     };
> > > > > > > > > >     scp-shmem@0x53FF2000 {
> > > > > > > > > >         compatible = "arm,scmi-shmem";
> > > > > > > > > >         reg = <0x0 0x53FF2000 0x0 0x1000>;
> > > > > > > > > >     };
> > > > > > > > > >     ...
> > > > > > > > > >
> > > > > > > > > > In other words, if all the individual channel pages are described as
> > > > > > > > > > "arm,scmi-shmem", why do we also need a single larger region as
> > > > > > > > > > "linux,scmi_mem"?
> > > > > > > > > >
> > > > > > > > >
> > > > > > > > > That was my first implementation. But I've met a problem with
> > > > > > > > > scmi driver in kernel. I don't remember the exact place, but I remember
> > > > > > > > > there were some if, checking if memory weren't reserved.
> > > > > > > > > That's why I ended up splitting nodes reserved memory region and actual
> > > > > > > > > shmem page.
> > > > > > > > > For linux,scmi_mem node I took format from /reserved-memory/linux,lossy_decompress@54000000,
> > > > > > > > > which has no compatible string and provides no-map property.
> > > > > > > > > linux,scmi_shmem node is needed to prevent xen from allocating this
> > > > > > > > > space for the domain.
> > > > > > > > >
> > > > > > > > > Very interesting question about should I introduce linux,scmi_mem node
> > > > > > > > > and scmi_devid property to the
> > > > > > > > > Documentation/devicetree/bindings/firmware/arm,scmi.yaml?
> > > > > > > > > Those node and property are needed only for Xen and useless for
> > > > > > > > > non-virtualized systems. I can add this node and property description to
> > > > > > > > > arm,scmi.yaml, but leave a note that this is Xen specific params.
> > > > > > > > > What do you think about it?
> > > > > > > >
> > > > > > > > Reply below
> > > > > > > >
> > > > > > > > [...]
> > > > > > > >
> > > > > > > >
> > > > > > > > > > In general we can't use properties that are not part of the device tree
> > > > > > > > > > spec, either https://urldefense.com/v3/__https://www.devicetree.org/specifications/__;!!GF_29dbcQIUBPA!kNodtgmOQBc1iO76_6vTK-O1SoLxee_ChowYQiQYC595rMOsrnmof2zmk7BnhXCSnJPN$ [devicetree[.]org] or
> > > > > > > > > > https://urldefense.com/v3/__https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings__;!!GF_29dbcQIUBPA!kNodtgmOQBc1iO76_6vTK-O1SoLxee_ChowYQiQYC595rMOsrnmof2zmk7BnhXloYUaj$ [git[.]kernel[.]org]
> > > > > > > > > >
> > > > > > > > > > "linux,scmi_mem" is currently absent. Are you aware of any upstreaming
> > > > > > > > > > activities to get "linux,scmi_mem" upstream under
> > > > > > > > > > Documentation/devicetree/bindings in Linux?
> > > > > > > > > >
> > > > > > > > > > If "linux,scmi_mem" is going upstream in Linux, then we could use it.
> > > > > > > > > > Otherwise, first "linux,scmi_mem" needs to be added somewhere under
> > > > > > > > > > Documentation/devicetree/bindings (probably
> > > > > > > > > > Documentation/devicetree/bindings/firmware/arm,scmi.yaml), then we can
> > > > > > > > > > work on the Xen code that makes use of it.
> > > > > > > > > >
> > > > > > > > > > Does it make sense?
> > > > > > > > > >
> > > > > > > > >
> > > > > > > > > Yes I agree. I think linux,scmi_mem and scmi_devid should be upstreamed.
> > > > > > > > > I will add those properties to arm,scmi.yaml, mark them as related to XEN and send patch.
> > > > > > > >
> > > > > > > > I didn't realize that linux,scmi_mem and scmi_devid are supposed to be
> > > > > > > > Xen specific. In general, it would be best not to introduce Xen specific
> > > > > > > > properties into generic bindings. It is a problem both from a
> > > > > > > > specification perspective (because it has hard to handle Xen specific
> > > > > > > > cases in fully generic bindings, especially as those bindings are
> > > > > > > > maintained as part of the Linux kernel) and from a user perspective
> > > > > > > > (because now the user has to deal with a Xen-specific dtb, or has to
> > > > > > > > modify the host dtb to add Xen-specific information by hand.)
> > > > > > > >
> > > > > > > >
> > > > > > > > Let me start from scmi_devid.  Why would scmi_devid be Xen-specific? It
> > > > > > > > looks like a generic property that should be needed for the Linux SCMI
> > > > > > > > driver too. Why the Linux driver doesn't need it?
> > > > > > > >
> > > > > > >
> > > > > > > scmi_devid used during domain build. It passed as input parameter for SCMI_BASE_SET_DEVICE_PERMISSIONS message.
> > > > > > > On non-virtualized systems - there is no need of this call, because OS
> > > > > > > is the only one entity, running on the system.
> > > > > >
> > > > > > OK. Even if it is only required for virtualized systems, I think that
> > > > > > scmi_devid is important enough that should be part of the upstream
> > > > > > binding. I think it is worth starting an email thread on the LKML with
> > > > > > Rob Herring and the SCMI maintainers to discuss the addition of
> > > > > > scmi_devid to the binding.
> > > > > >
> > > > > >
> > > > > > > I've chatted with Volodymyr_Babchuk and he gave a great idea to add a
> > > > > > > list of device_ids to dom.cfg, such as:
> > > > > > > sci_devs = [ 0, 1, 15, 35 ];
> > > > > > >
> > > > > > > Using this approach, we can remove scmi_devid from the device tree and
> > > > > > > just pass a list of scmi_devids to XEN using additional hypercall.
> > > > > > > We can probably make hypercall taking devid list as input parameter.
> > > > > > > This will take only 1 hypercall to setup sci permissions.
> > > > > >
> > > > > > But how would a user know which are the right SCMI IDs to add to the
> > > > > > sci_devs list? Would the user have to go and read the reference manual
> > > > > > of the platform to find the SCMI IDs and then write sci_devs by hand?
> > > > > > If that is the case, then I think that it would be better to add
> > > > > > scmi_devid to device tree.
> > > > > >
> > > > > > In general, I think this configuration should happen automatically
> > > > > > without user intervention. The user should just specify "enable SCMI"
> > > > > > and it should work.
> > > > > >
> > > > > >
> > > > > > > > In regards to linux,scmi_mem, I think it would be best to do without it
> > > > > > > > and fix the Linux SCMI driver if we need to do so. Xen should be able to
> > > > > > > > parse the native "arm,scmi-shmem" nodes and Linux (dom0 or domU) should
> > > > > > > > be able to parse the "arm,scmi-shmem" nodes generated by Xen. Either
> > > > > > > > way, I don't think we should need linux,scmi_mem.
> > > > > > >
> > > > > > > This requires further investigation. I will try to make implementation
> > > > > > > without linux,scmi_mem, using only arm,scmi-shmem nodes and share
> > > > > > > reuslts with you.
> > > > > >
> > > > > > OK, thanks.
> > > > >
> > > > > Hi Stefano,
> > > > >
> > > > > As I did some investigation about using reserved-memory area
> > > > > linux,scmi_mem and now I need your advice.
> > > > >
> > > > > I see 2 possible implementations for now:
> > > > > 1) Add memory-region parameter to cpu_scp_shm node which points to the
> > > > > reserved memory region.
> > > > > So device-tree will look like this:
> > > > >
> > > > > 	reserved-memory {
> > > > > 		/* reserved region for scmi channels*/
> > > > > 		scmi_memory: region@53FF0000{
> > > > > 			no-map;
> > > > > 			reg = <0x0 0x53FF0000 0x0 0x10000>;
> > > > > 		};
> > > > > 	};
> > > > > 	cpu_scp_shm: scp-shmem@0x53FF0000 {
> > > > > 		compatible = "arm,scmi-shmem";
> > > > > 		reg = <0x0 0x53FF0000 0x0 0x1000>;
> > > > > 		memory-region = <&scmi_memory>;
> > > > > 	};
> > > > >
> > > > > So cpu_scp_shm node has a reference to scmi_memory region. This mean
> > > > > that xen can find reserved memory region without adding additional names
> > > > > to the device-tree bindings.
> > > > > memory-region parameter as a reference to reserved memory and region
> > > > > creation described in:
> > > > > https://urldefense.com/v3/__https://github.com/torvalds/linux/blob/v5.15/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt__;!!GF_29dbcQIUBPA!k6x19x1gYF1CPlgAZj7std3ifqhq-9DXvuF0nwonNPUwMzZpYHYbrRJziJrgdFIOjyan$ [github[.]com]
> > > > >
> > > > > This approach I've implemented already and it works.
> > > >
> > > > This approach would require a discussion with the upstream device tree
> > > > maintainers. Likely, we would need to add a note about the usage of the
> > > > "memory-region" property to arm,scmi.yaml.
> > > >
> > > > Also, I have the feeling that they would ask to add the "memory-region"
> > > > property directly to the "arm,scmi-smc" node, as an alternative (or
> > > > in addition) to the existing "shmem" property.
> > > >
> > > > That said, from my point of view this approach is also a viable option.
> > > > I don't see any major problems.
> > > >
> > > > The main question (after reading everything else that you wrote below)
> > > > is whether the "arm,scmi-smc" node in this case could be automatically
> > > > generated.
> > > >
> > > 
> > > arm,scmi-smc node can be generated in both cases. I think I'd leave it
> > > as backup in case if the second approach will not work.
> > > 
> > > >
> > > > > 2) The second approach is the format you suggested:
> > > > > > > > > > reserved-memory {
> > > > > > > > > >     scp-shmem@0x53FF0000 {
> > > > > > > > > >         compatible = "arm,scmi-shmem";
> > > > > > > > > >         reg = <0x0 0x53FF0000 0x0 0x1000>;
> > > > > > > > > >     };
> > > > > > > > > >     scp-shmem@0x53FF1000 {
> > > > > > > > > >         compatible = "arm,scmi-shmem";
> > > > > > > > > >         reg = <0x0 0x53FF1000 0x0 0x1000>;
> > > > > > > > > >     };
> > > > > > > > > >     scp-shmem@0x53FF2000 {
> > > > > > > > > >         compatible = "arm,scmi-shmem";
> > > > > > > > > >         reg = <0x0 0x53FF2000 0x0 0x1000>;
> > > > > > > > > >     };
> > > > > > > > > >     ...
> > > > >
> > > > > This approach has an advantage that xen ARM_SCI driver do not know about
> > > > > how channels are placed in the reserved memory, but introduces some
> > > > > disadvantages:
> > > > > a) We provide extra 14 (in our case) arm,scmi-shmem nodes which are not used
> > > > > in the device-tree. In current implementation I have separate scmi.dtsi
> > > > > file which introduces scmi support for both XEN-based and
> > > > > non-virtualized systems. Having 14 extra channels in the device-tree may
> > > > > be confusing.
> > > >
> > > > I can see that while it would be ideal for Xen to see all 14+1 channels
> > > > in device tree (on the host device tree), we wouldn't want to expose all
> > > > of them to the domains, not even to dom0.
> > > >
> > > > How many channels do we want dom0 to see by the way? For this
> > > > discussion, I'll just assume for now that dom0 only sees 1 channel like
> > > > the domUs.
> > > 
> > > For dom0 we need only one channel.
> > > 
> > > >
> > > > Now we have a problem: how do we go about "filtering" the
> > > > "arm,scmi-shmem" device tree nodes? Which is also what you are asking
> > > > below in point b).
> > > >
> > > 
> > > Xen will not need to filter "arm,scmi-shmem" node. It will just
> > > create shmem node in Domain device-tree. I don't see any problem for xen
> > > configuration here.
> > > What bothers me here is that I set scmi configuration for platform dts,
> > > not for xen or domu dts files.
> > > So for example I have the following structure of the dts files for my
> > > platform (r8a77961-salvator-xs):
> > >  * r8a77961-scmi.dtsi - this file includes all scmi related nodes and set
> > > scmi_devid for the devices, that should use scmi.
> > >  * r8a77961-salvator-xs.dts - dts file which generates dtb for the platform.
> > > It includes r8a77961-scmi.dtsi so I populate scmi to platform dtb, which
> > > is used for system with no hypervisor.
> > >  * r8a77961-salvator-xs-xen.dts - dts file for xen which includes
> > > r8a77961-salvator-xs.dts and inherits scmi configuration from it.
> > >  * r8a77961-salvator-xs-domu.dts - dts file for DomU which includes
> > > r8a77961-salvator-xs.dts and inherits scmi configuration from it.
> > > 
> > > In this case r8a77961-salvator-xs.dtb r8a77961-salvator-xs-xen.dtb
> > > r8a77961-salvator-xs-domu.dtb files will inherit 14+1 channel.
> > > 
> > > I can give you a link to Merge request with this changes if you need it.
> > > 
> > > For xen and domu dtb it is not a problem because all "arm,scmi-shmem"
> > > nodes will be omitted and new will be generated for the domains.
> > > 
> > > What bothers me is that r8a77961-salvator-xs.dtb will have 14 unused channels.
> > > 
> > > Just got an idea while writing this: I can create only one
> > > "arm,scmi-shmem" node in r8a77961-scmi.dtsi and add 14 more nodes,
> > > needed for xen explicitly in r8a77961-salvator-xs-xen.dts.
> > > 
> > > Then we will have valid configurations for all cases.
> > > This can be a solution. What do you think?
> > 
> > It is good that you brought this up because it helps me explain what I
> > mean. And of course it is up to you where you place the nodes in the
> > various dts files at your disposal. Either way it would work but I think
> > they should belong to r8a77961-salvator-xs.dts.
> > 
> > Generally the platform vendor (e.g. Xilinx) provides a device tree
> > description of the platform to use including all the available resources
> > and firmware interfaces. In your case it would be r8a77961-scmi.dtsi +
> > r8a77961-salvator-xs.dts. This is what I call the "host device tree"
> > below. Users should be able to boot a fully functional system using the
> > host device tree pretty much "as is" to run Xen, Linux or any other
> > software.
> > 
> > Certainly the SCMI device tree description should be part of the host
> > device tree, so in your case it would be r8a77961-salvator-xs.dts. And
> > the description should include all 14+1 channels because this is the
> > generic platform description -- we cannot know for sure how the users
> > are going to use the system.
> > 
> > This is why r8a77961-salvator-xs-xen.dts should be as small as possible
> > or ideally inexistent. There shouldn't be a need for a special device
> > tree modification to allow Xen to run. In reality, even at Xilinx we
> > have something like r8a77961-salvator-xs-xen.dts, although it is really
> > small.
> > 
> > But I see that r8a77961-salvator-xs-xen.dts could be viewed as the
> > device tree additions to run hypervisors and from that point of view it
> > is more acceptable to place the 14 channels there.
> > 
> > The biggest problem is r8a77961-salvator-xs-domu.dts: who is going to
> > write it? And how? It wouldn't be provided by the platform vendor, so it
> > is the user the one that has to find a way to write it.
> > 
> > I know the user already has to write a partial DTB for device
> > assignment, but any time the process is more complex than "copy the host
> > device tree node for device XXX to the partial DTB" it is a problem.
> > Errors are made and the system doesn't work.
> > 
> > I think we don't want to make it even more difficult by having to
> > manually produce the SCMI domU description too. The SCMI description for
> > domU could be automatically generated by Xen, or libxl/xl. If that's an
> > issue, then the SCMI description could be automatically generated by an
> > external tool but I think it would make things more complex and harder
> > to maintain.
> > 
> > In short my point of view is:
> > - r8a77961-scmi.dtsi + r8a77961-salvator-xs.dts should be as generic as
> >   possible so the SCMI nodes should have 14+1 channels
> > - but putting the 14 channels in r8a77961-salvator-xs-xen.dts is still
> >   OKish
> > - it is important that r8a77961-salvator-xs-domu.dts is automatically
> >   generated by Xen or libxl or another software tool
> > 
> 
> Thank you for the detailed response. I'll put all 14+1 channels to
> r8a77961-salvator-xs.dts then.
> I've described my thoughts about generation of the arm,scmi-smc node below.
> 
> > 
> > > > > b) In case if we have all 15 channels, described in partial device-tree,
> > > >
> > > > I think you meant "described in the host device tree", right?
> > > >
> > > Yeah that's what I've meant.
> > > >
> > > > > we should not copy any node to the domain device-tree. I think it will
> > > > > be better to generate arm,scmi-shmem node in the Domain device-tree.
> > > >
> > > > Yes, I think it makes sense for Xen to generate the "arm,scmi-shmem"
> > > > device tree description for the DomU/Dom0 based on the channels
> > > > allocated to the domain.
> > > >
> > > >
> > > > > The problem is that arm,scmi-smc node, which is using arm,scmi-shmem
> > > > > node can't be generated. I prefer it to be copied from the partial
> > > > > device-tree because it includes some platform specific configuration,
> > > > > such as func-id and list of the protocols (for example different
> > > > > platforms may require different list of the protocols). So in this
> > > > > case we will have 1 node copied and 1 node generated.
> > > > >
> > > > > I think even for dom0less we should use arm,scmi-smc node from the
> > > > > device-tree because protocol configuration and funcid is related to the
> > > > > platform.
> > > >
> > > > I am not sure I understood what you wrote. You are saying that the
> > > > "arm,scmi-smc" node includes some platform specific configurations so
> > > > it cannot be automatically generated by Xen (or by the tools) and
> > > > instead it needs to be manually provided as part of the partial dtb for
> > > > the domU. Is that correct?
> > > >
> > > > If so, I would like to understand the reasons behind it. Manual
> > > > device tree editing is problematic.
> > > >
> > > > I looked for "func-id" in
> > > > Documentation/devicetree/bindings/firmware/arm,scmi.yaml but couldn't
> > > > find any results. Do you have an example of the platform specific
> > > > configuration or protocol configuration that would make it difficult to
> > > > automatically generate the "arm,scmi-smc" node for the domains?
> > > 
> > > Sorry, I used wrong term (used term from the specification), arm,smc-id
> > > of cause.
> > > 
> > > >
> > > > Also, is this a problem just for approach #2 or also for approach #1?
> > > > If it is a problem only for approach #2, then let's just go with
> > > > approach #1.
> > > >
> > > 
> > > We can't copy "arm,scmi-smc" in both approaches. The difference is that
> > > in the first approach we can copy both "arm,scmi-smc" and
> > > "arm,scmi-shmem" nodes while in the second approach we should copy
> > > "arm,scmi-smc", but we have to generate "arm,scmi-shmem" node.
> > > 
> > > arm,scmi-smc node can't be generated because it includes properties and
> > > configurations that depends from platform and should be get from the
> > > device tree.
> > > Here is "arm,scmi-smc" node expample:
> > > firmware {
> > >     scmi {
> > >         compatible = "arm,scmi-smc"
> > >         arm,smc-id = <0x82000002>;
> > >         shmem = <&cpu_scp_shm>;
> > >         #address-cells = <1>;
> > >         #size-cells = <0>;
> > >         scmi_power: protocol@11 {
> > >             reg = <0x11>;
> > >             #power-domain-cells = <1>;
> > >         };
> > > 
> > >         scmi_clock: protocol@14 {
> > >             ...
> > >         };
> > > 
> > >         scmi_reset: protocol@16 {
> > >             ...
> > >         };
> > >         ...
> > >     };
> > > };
> > > 
> > > It has 3 configurable options:
> > >  * arm,smc-id parameter, setting func_id for scmi protocol. This id can be
> > > different for different platforms.
> > > For example stm32mp1 architecture use different scm-id for different
> > > agents:
> > > https://urldefense.com/v3/__https://github.com/ARM-software/arm-trusted-firmware/blob/0586c41b3f2d52aae847b7212e7b0c7e19197ea2/plat/st/stm32mp1/include/stm32mp1_smc.h*L39__;Iw!!GF_29dbcQIUBPA!mTRUjtSg19iVaYo3Cgjop5ckPWqKsHVo1EZCEA1zCbod9KpNSXX291A8vAuNdTCr46MA$ [github[.]com]
> > > 
> > >  * shmem which includes phandle to arm,scmi-shmem node. But this is not
> > > a problem and can be updated.
> > > 
> > >  * list of the protocol subnodes. This is also configurable parameter,
> > > not regs or names, but the number of the protocols. For example onle
> > > platform can use power-domains/clock/resets via scmi, when another will
> > > require volage-control and sensor-management to be added.
> > > 
> > > Xen should know this parameters to be able to generate "arm,scmi-smc" node.
> > > 
> > > Also we're currently discussing new scmi protocol with ARM: Pinctrl over
> > > SCMI.
> > > 
> > > It should allow domains to access pinctrl subsystem, placed in Firmware
> > > through SCMI protocol.
> > > scmi_pinctrl node will look like this:
> > > 
> > > 	firmware {
> > > 		scmi {
> > > 			...
> > > 			scmi_pinctrl: protocol@18 {
> > > 				reg = <0x18>;
> > > 				#pinctrl-cells = <0>;
> > > 
> > > 				i2c2_pins: i2c2 {
> > > 					groups = <74>; /* i2c2_a */
> > > 					function = <15>; /* i2c2 */
> > > 				};
> > > 
> > > 				irq0_pins: irq0 {
> > > 					groups = <81>; /* intc_ex_irq0 */
> > > 					function = <19>; /* intc_ex */
> > > 				};
> > > 
> > > 				avb_pins: avb {
> > > 					mux {
> > > 						/* avb_link, avb_mdio, avb_mii */
> > > 						groups = <17>, <21>, <22>;
> > > 						function = <1>; /* avb */
> > > 					};
> > > 
> > > 					pins_mdio {
> > > 						groups = <21>; /* avb_mdio */
> > > 						drive-strength = <24>;
> > > 					};
> > > 
> > > 					pins_mii_tx {
> > > 						/* PIN_AVB_TX_CTL, PIN_AVB_TXC, PIN_AVB_TD0,
> > > 						       PIN_AVB_TD1, PIN_AVB_TD2, PIN_AVB_TD3 */
> > > 						pins = <242>, <240>, <236>, <237>, <238>, <239>;
> > > 						drive-strength = <12>;
> > > 					};
> > > 				};
> > > 				...
> > > 			};
> > > 		};
> > > 	};
> > > 
> > > So "arm,scmi-smc" node will have even more platform specific settings.
> > > 
> > > >
> > > > > I prefer the second approach and will try to make it if it's OK to copy
> > > > > arm,scmi-smc node from partial Device-tree and generate arm,scmi-shmem
> > > > > node.
> > > > >
> > > > > What do you think about that?
> > > >
> > > > From a device tree specification perspective, I think both approaches
> > > > are OK (with a minor comment on the first approach as I wrote above.)
> > > >
> > > > But from a Xen perspective I think it is important that we don't require
> > > > the user to manually provide the SCMI configuration in the partial DTB.
> > > > It would be better if we could generate it automatically from Xen or the
> > > > tools (or even an independent script). Or copy the "arm,scmi-smc" node
> > > > from the host device tree to the domU device tree without modifications.
> > > 
> > > I think copy "arm,scmi-smc" node is the only option we have.
> > > I'm not sure what do you mean under "host device tree" if you mean Xen
> > > device-tree - then I think it will not cover the case with stm32mp1 I've
> > > mentioned above. I think it will be better to copy "arm,scmi-smc" node
> > > from Domu partial Device-tree to Domu device-tree.
> > > So AGENT0 smc-id will be set in xen device-tree and copied to dom0 and
> > > AGENT1 scm-is set in domu device-tree and copied to dom-u.
> > > 
> > > Do you agree with my points?
> > 
> > I think we are saying similar things, but we are getting mixed up with
> > the terminology. Let's start from the basics :-)
> > 
> > # Host device tree
> > The device tree given to Xen at boot time. This is the device tree that
> > Xen parses to discover what's available on the platform. In your case,
> > it seems to include r8a77961-salvator-xs-xen.dts.
> > 
> > # Partial DTB
> > (Ignoring Dom0less) this is the small DTB that gets passed to xl with
> > the "device_tree" option in the xl config file. It is copied verbatim
> > to the domU device tree by xl/libxl.
> > 
> > # Copy the "arm,scmi-smc" node from host device tree
> > This means that the domU "arm,scmi-smc" node is an exact copy of the
> > host device tree SCMI node. I don't think this is actually possible in
> > most cases because the domU description is typically a bit different
> > from the host description. For instance, the host description could
> > include 14+1 channels while the domU description should only include 1
> > channel.
> > 
> > # Copy the "arm,scmi-smc" node from the partial DTB
> > This implies that somebody or something create an "arm,scmi-smc" node
> > for the domU and placed it into the partial DTB. Then, Xen and/or
> > xl/libxl will copy the node from the partial DTB to the DomU device
> > tree. The main question in this case is: who is going to write the
> > partial DTB? We dont want the user (i.e. a person) to have to manually
> > write the SCMI description for the domU. It should be an automated tools
> > that does it. At that point, it is easier if it is Xen or xl/libxl.
> > Alternativaly, we could think of an external tool but I think it would
> > make things more difficult to maintain.
> > 
> > # Generate the "arm,scmi-smc" node for domUs
> > When I write "generate the arm,scmi-smc node", I mean that Xen and
> > libxl/xl will generate the "arm,scmi-smc" node for the domU. Thus, the
> > node will not be copied from the partial DTB or from the device tree,
> > instead, it should be created directly by Xen and/or libxl/xl.
> > 
> > However, the domU "arm,scmi-smc" node could still be derived from the
> > host device tree "arm,scmi-smc" node. In other words, Xen or xl/libxl
> > would look at the host device tree "arm,scmi-smc" node, copy it to the
> > domU device tree while making as many changes as necessary.
> > 
> > The DomU "arm,scmi-smc" node doesn't have to be entirely fake and
> > static. It could be dynamically created to match the host device tree
> > description. I think this is the best option.
> > 
> > 
> > # Conclusion
> > I am suggesting that Xen and/or libxl automatically produce the
> > "arm,scmi-smc" node for domUs based on the host device tree description
> > and based on the channel mapped to the domU. This way, the user (a
> > person) doesn't have to go and manually edit the domU partial DTB.
> > 
> 
> That sounds reasonable. The problem is that arm,scmi-smc node can be
> copmlicated and include a lot of configuration. Also for different
> mediators this node can be different.
> As I inderstand, there is no mechanism for xl to access host device-tree
> right now. Correct me if I'm wrong.

Yes, you are right. And the lack of a mechanism for xl to access the
host device tree is a problem.


> I see the following way we can generate arm,scmi-smc node for DomU:
> We say that if scmi-smc mediator is enabled - then Dom0 is configured to
> use SCMI. This means that Dom0 device-tree will have arm,scmi-smc node
> and it can be reached from the userspace.

So far so good


> In this case xl can use infromation from /proc/device-tree/firmware/scmi
> to generate arm,scmi-smc node for DomU. But in this case xl should know
> the exact path of scmi node.
> 
> Or we can generate some special node, called "shared" in Dom0 device-tree
> which will include copy of the arm,scmi-smc node, which can be used for domains.
> In this case xl can scan /proc/device-tree/shared node and find
> arm,scmi-smc copatible node and use it to generate arm,scmi-smc node for
> DomU.
> Also this can be used for another features in future.
> 
> What do you think about this?

Basing the domU SCMI node generation on the dom0 SCMI node is not great,
because it should be based on the host device tree rather than dom0 and
the dom0 SCMI description will be different.

Instead of copying just the host SCMI node somewhere in the dom0 device
tree so that xl/libxl can access it via /proc/device-tree, I think it
would be better to make the full host DTB available to xl/libxl.

There are probably many ways to do this, but there are a couple I can
think of on top of my head:

- introduce a new hypercall to get the full host dtb from Xen
The hypercall would pass an address and a size in guest physical memory
and Xen would copy the host DTB to it.

- introduce something like /proc/device-tree to hypfs
See xen/common/hypfs.c


From xen-devel-bounces@lists.xenproject.org Fri Jan 21 21:14:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 21:14:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259448.447833 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nB1Ed-0000JG-TN; Fri, 21 Jan 2022 21:14:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259448.447833; Fri, 21 Jan 2022 21: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 1nB1Ed-0000J9-Os; Fri, 21 Jan 2022 21:14:15 +0000
Received: by outflank-mailman (input) for mailman id 259448;
 Fri, 21 Jan 2022 21:14:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9Ra3=SF=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nB1Ec-0000J3-J2
 for xen-devel@lists.xenproject.org; Fri, 21 Jan 2022 21:14:14 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 14831bee-7aff-11ec-8fa7-f31e035a9116;
 Fri, 21 Jan 2022 22:14:13 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id A912161800;
 Fri, 21 Jan 2022 21:14:11 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 736CAC340E2;
 Fri, 21 Jan 2022 21:14: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: 14831bee-7aff-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1642799651;
	bh=zoztyVQaXvxc3hMVc6n/GFYezsl3xm4XPka3UtTcfKM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=pf33FMltCFx3UZ/6L7wLb45lmtZebp4iiVKx6zgObthgT7/9rfJJUKZ5oIgHB5R5u
	 7/LRC7QuNiUmmtPvTbfIFiXJRh9fXhAUdYjfZYE4kXm4urlHDx9C0EmWb1pbMEtAEg
	 7yNhI6psISuP7W3I0UB8+y+G6Vjck4rWm2MvqVnYIw83nDn3u8D6cCoBNsgGVyblke
	 x3QeChIHIzXavLaE8KvGesD6Vm2ZVYkuaea5pyBraCp+zLnX6RueGthbmB7utjV4eC
	 4rPjHTje4fenkW5HjdmCbEjvF7Pi15zXI0+eFrXGox9H7rkrgKpH5vHNLOenK8xqVo
	 Tk6dyFPVl2GVQ==
Date: Fri, 21 Jan 2022 13:14:10 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Ross Lagerwall <ross.lagerwall@citrix.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>, 
    Igor Druzhinin <igor.druzhinin@citrix.com>, 
    Paolo Bonzini <pbonzini@redhat.com>, 
    Richard Henderson <richard.henderson@linaro.org>, 
    Eduardo Habkost <eduardo@habkost.net>, 
    "Michael S. Tsirkin" <mst@redhat.com>, 
    Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, 
    xen-devel@lists.xenproject.org, qemu-devel@nongnu.org
Subject: Re: [PATCH] xen-mapcache: Avoid entry->lock overflow
In-Reply-To: <20220121173329.904412-1-ross.lagerwall@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2201211308400.27308@ubuntu-linux-20-04-desktop>
References: <20220121173329.904412-1-ross.lagerwall@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 21 Jan 2022, Ross Lagerwall wrote:
> In some cases, a particular mapcache entry may be mapped 256 times
> causing the lock field to wrap to 0. For example, this may happen when
> using emulated NVME and the guest submits a large scatter-gather write.
> At this point, the entry map be remapped causing QEMU to write the wrong
> data or crash (since remap is not atomic).
> 
> Avoid this overflow by increasing the lock field to a uint16_t and also
> detect it and abort rather than continuing regardless.

Nice catch!


> Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
> ---
>  hw/i386/xen/xen-mapcache.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/i386/xen/xen-mapcache.c b/hw/i386/xen/xen-mapcache.c
> index bd47c3d672..82dc495a60 100644
> --- a/hw/i386/xen/xen-mapcache.c
> +++ b/hw/i386/xen/xen-mapcache.c
> @@ -52,7 +52,7 @@ typedef struct MapCacheEntry {
>      hwaddr paddr_index;
>      uint8_t *vaddr_base;
>      unsigned long *valid_mapping;
> -    uint8_t lock;
> +    uint16_t lock;

As struct MapCacheEntry is not packed, we might as well switch to
uint32_t as it doesn't make a difference.


>  #define XEN_MAPCACHE_ENTRY_DUMMY (1 << 0)
>      uint8_t flags;
>      hwaddr size;
> @@ -355,6 +355,12 @@ tryagain:
>      if (lock) {
>          MapCacheRev *reventry = g_malloc0(sizeof(MapCacheRev));
>          entry->lock++;
> +        if (entry->lock == 0) {
> +            fprintf(stderr,
> +                    "mapcache entry lock overflow: "TARGET_FMT_plx" -> %p\n",
> +                    entry->paddr_index, entry->vaddr_base);
> +            abort();

I was going to suggest that it might be better to return NULL and let
the caller handle the failure but it looks like the caller *cannot*
handle the failure.


> +        }
>          reventry->dma = dma;
>          reventry->vaddr_req = mapcache->last_entry->vaddr_base + address_offset;
>          reventry->paddr_index = mapcache->last_entry->paddr_index;
> -- 
> 2.27.0
> 


From xen-devel-bounces@lists.xenproject.org Fri Jan 21 22:27:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 22:27:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259452.447844 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nB2NS-000763-5L; Fri, 21 Jan 2022 22:27:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259452.447844; Fri, 21 Jan 2022 22: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 1nB2NS-00075w-1P; Fri, 21 Jan 2022 22:27:26 +0000
Received: by outflank-mailman (input) for mailman id 259452;
 Fri, 21 Jan 2022 22:27: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 1nB2NQ-00075m-7x; Fri, 21 Jan 2022 22:27: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 1nB2NQ-00071k-4D; Fri, 21 Jan 2022 22:27: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 1nB2NP-0002qJ-MM; Fri, 21 Jan 2022 22:27:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nB2NP-0004bQ-Jy; Fri, 21 Jan 2022 22:27:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=WA8VZHgxAvA2OvBVDJ3jVTmDfZqpzy2fvLHT2QndvPU=; b=60PeneeJffke82PUw3AJf/z1lG
	gi6T9JCTlnH6IlmO3fT2eBCJQofisr/5+q+niJKDAu6M87CwOOF85BGkMKQ8wro5gp/DVEztxEtT3
	CgG6r3Qj4V+L65QLSWHpOBQccmDJCBhetnA7+N87rJEHMzavkeJi/9pfwtXuZ7Lguhns=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167782-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 167782: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:xen-boot:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-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-qcow2:saverestore-support-check: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-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-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-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-i386-libvirt-raw: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-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-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-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-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=4aa2e7393e140f434c469bffe478e11cb9c55ed8
X-Osstest-Versions-That:
    linux=b7f70762d1584a2b66e056412fd39ad6f6344c89
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 21 Jan 2022 22:27:23 +0000

flight 167782 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167782/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-rtds     14 guest-start      fail in 167763 pass in 167782
 test-arm64-arm64-libvirt-raw  8 xen-boot                   fail pass in 167763

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw 14 migrate-support-check fail in 167763 never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check fail in 167763 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167712
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167712
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167712
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167712
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167712
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167712
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167712
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167712
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167712
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167712
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167712
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167712
 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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-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-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 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-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                4aa2e7393e140f434c469bffe478e11cb9c55ed8
baseline version:
 linux                b7f70762d1584a2b66e056412fd39ad6f6344c89

Last test of basis   167712  2022-01-16 08:41:53 Z    5 days
Testing same since   167757  2022-01-20 08:44:22 Z    1 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Al Viro <viro@zeniv.linux.org.uk>
  Arnd Bergmann <arnd@arndb.de>
  Christian Borntraeger <borntraeger@linux.ibm.com>
  Christian Brauner <christian.brauner@ubuntu.com>
  Christian Lachner <gladiac@gmail.com>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Dan Carpenter <dan.carpenter@oracle.com>
  David Hildenbrand <david@redhat.com>
  Eric Farman <farman@linux.ibm.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hulk Robot <hulkrobot@huawei.com>
  Jamie Hill-Daniel <jamie@hill-daniel.co.uk>
  Johan Hovold <johan@kernel.org>
  Jon Hunter <jonathanh@nvidia.com>
  Kalle Valo <kvalo@kernel.org>
  Larry Finger <Larry.Finger@lwfinger.net>
  Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Masahiro Yamada <masahiroy@kernel.org>
  Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Michael S. Tsirkin <mst@redhat.com>
  Mike Marshall <hubcap@omnibond.com>
  Miquel Raynal <miquel.raynal@bootlin.com>
  Nathan Chancellor <natechancellor@gmail.com>
  Nathan Chancellor <nathan@kernel.org>
  NeilBrown <neilb@suse.de>
  Nick Desaulniers <ndesaulniers@google.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul Barker <paul.barker@sancloud.com>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Russell King <rmk+kernel@armlinux.org.uk>
  Salvatore Bonaccorso <carnil@debian.org>
  Sean Christopherson <seanjc@google.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Takashi Iwai <tiwai@suse.de>
  Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
  Wei Wang <wei.w.wang@intel.com>
  William Liu <willsroot@protonmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  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-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   b7f70762d158..4aa2e7393e14  4aa2e7393e140f434c469bffe478e11cb9c55ed8 -> tested/linux-5.4


From xen-devel-bounces@lists.xenproject.org Fri Jan 21 22:46:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 21 Jan 2022 22:46:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259459.447854 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nB2fo-0000yM-Pd; Fri, 21 Jan 2022 22:46:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259459.447854; Fri, 21 Jan 2022 22:46:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nB2fo-0000yF-MX; Fri, 21 Jan 2022 22:46:24 +0000
Received: by outflank-mailman (input) for mailman id 259459;
 Fri, 21 Jan 2022 22:46: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 1nB2fn-0000y5-K1; Fri, 21 Jan 2022 22:46: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 1nB2fn-0007Ky-Gq; Fri, 21 Jan 2022 22:46: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 1nB2fn-0003zW-5x; Fri, 21 Jan 2022 22:46:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nB2fn-00033x-5V; Fri, 21 Jan 2022 22:46:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=1qsnWhPYgbl13iHQgt083QTlBvxzMXLwPRNnuqAVbW0=; b=jKIaWSf/bFTjR2anjfeTnKT7b4
	OWeASuBMEzCtDuGrXESUTUU8npWGukB6j9ZhH7dUY2vyQGbXSoxKHGVMn71BMElZWkVoXH2Bjjmh1
	721ldwszfUnrHvtE+wHvzONXkVfFg52y3IHe6zFZWx8TNEr7lgB1XCDEjXs6V6CpxJmQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167789-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 167789: 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=fe9be76d880b1d43b9dca471f45af3fd380ecb00
X-Osstest-Versions-That:
    xen=4e1df69cc9f51b2e017af1da3ed5b45917642115
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 21 Jan 2022 22:46:23 +0000

flight 167789 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167789/

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                  fe9be76d880b1d43b9dca471f45af3fd380ecb00
baseline version:
 xen                  4e1df69cc9f51b2e017af1da3ed5b45917642115

Last test of basis   167761  2022-01-20 14:00:29 Z    1 days
Failing since        167764  2022-01-20 20:01:37 Z    1 days    6 attempts
Testing same since   167789  2022-01-21 20:02:56 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   4e1df69cc9..fe9be76d88  fe9be76d880b1d43b9dca471f45af3fd380ecb00 -> smoke


From xen-devel-bounces@lists.xenproject.org Sat Jan 22 00:39:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 22 Jan 2022 00:39:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259471.447865 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nB4Qt-0003VB-CB; Sat, 22 Jan 2022 00:39:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259471.447865; Sat, 22 Jan 2022 00:39:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nB4Qt-0003V4-98; Sat, 22 Jan 2022 00:39:07 +0000
Received: by outflank-mailman (input) for mailman id 259471;
 Sat, 22 Jan 2022 00:39:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=tm/g=SG=oderland.se=josef@srs-se1.protection.inumbo.net>)
 id 1nB4Qr-0003Uy-Cq
 for xen-devel@lists.xenproject.org; Sat, 22 Jan 2022 00:39:05 +0000
Received: from office.oderland.com (office.oderland.com [91.201.60.5])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b2cd2833-7b1b-11ec-bc18-3156f6d857e4;
 Sat, 22 Jan 2022 01:39:03 +0100 (CET)
Received: from 160.193-180-18.r.oderland.com ([193.180.18.160]:33562
 helo=[10.137.0.14]) by office.oderland.com with esmtpsa (TLS1.2) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2)
 (envelope-from <josef@oderland.se>)
 id 1nB4Qp-0091pp-BJ; Sat, 22 Jan 2022 01:39:03 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b2cd2833-7b1b-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=oderland.se
	; s=default; h=Content-Transfer-Encoding:Content-Type:Subject:From:Cc:To:
	MIME-Version:Date:Message-ID:Sender:Reply-To:Content-ID:Content-Description:
	Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
	In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:
	List-Post:List-Owner:List-Archive;
	bh=iibyDsUpJ2A/789hzXswyi6AlXxKcU91Lj2za+EDKZo=; b=Rl+yUoKbLNTL29peCNyNz6ZQmQ
	3eGR4/Dpw326Din/VEE5T1YJ2WtHNFQQJ3Lqew3o5wwzKaHzUTrvbnKmwySNLIz7qYTbUHSY4+y2V
	nGqkVKVUfpJykUdUywl36OunOX8z2+zVS7jpxJFc/GqQ6qcHpH3mpIAr9yWls/Chgz2Q5se7gB0va
	1iOBAtwivyydh+BVnPCskIcame/lfnHb21V2AiRkdDReRcLKlGf0V3uuOnpNImtkwfKsyHm5r3z1o
	xJTK6VDZ0plM2v/Fx9x2a3tT6xziHWA2knoIfOAcoXBzBDnEmzBbkcqnDefYAaVyplLpxooABGHzB
	stvQ6mXw==;
Message-ID: <66afd4f8-ae3c-b51f-f956-80069ce75528@oderland.se>
Date: Sat, 22 Jan 2022 01:39:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101
 Thunderbird/97.0
Content-Language: en-US
To: Thomas Gleixner <tglx@linutronix.de>, Bjorn Helgaas
 <bhelgaas@google.com>, linux-pci@vger.kernel.org
Cc: xen-devel <xen-devel@lists.xenproject.org>
From: Josef Johansson <josef@oderland.se>
Subject: [PATCH] PCI/MSI: msix_setup_msi_descs: Restore logic for
 msi_attrib.can_mask
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - office.oderland.com
X-AntiAbuse: Original Domain - lists.xenproject.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - oderland.se
X-Get-Message-Sender-Via: office.oderland.com: authenticated_id: josjoh@oderland.se
X-Authenticated-Sender: office.oderland.com: josjoh@oderland.se

<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <pre>From: Josef Johansson <a class="moz-txt-link-rfc2396E" href="mailto:josef@oderland.se">&lt;josef@oderland.se&gt;</a>

PCI/MSI: msix_setup_msi_descs: Restore logic for msi_attrib.can_mask
    
Commit 71020a3c0dff4 ("PCI/MSI: Use msi_add_msi_desc()") modifies
the logic of checking msi_attrib.can_mask, without any reason.
    
This commits restores that logic.

Fixes: 71020a3c0dff4 ("PCI/MSI: Use msi_add_msi_desc()")
Signed-off-by: Josef Johansson <a class="moz-txt-link-rfc2396E" href="mailto:josef@oderland.se">&lt;josef@oderland.se&gt;</a>

---
Trying to fix a NULL BUG in the NVMe MSIX implementation I stumbled upon this code,
which ironically was what my last MSI patch resulted into.

I don't see any reason why this logic was change, nor do I have the possibility
to see if anything works with my patch or without, since the kernel crashes
in other places.

As such this is still untested, but as far as I can tell it should restore
functionality.

CC xen-devel since it very much relates to Xen kernel (via pci_msi_ignore_mask).
---

diff --git a/drivers/pci/msi/msi.c b/drivers/pci/msi/msi.c
index c19c7ca58186..146e7b9a01cc 100644
--- a/drivers/pci/msi/msi.c
+++ b/drivers/pci/msi/msi.c
@@ -526,7 +526,7 @@ static int msix_setup_msi_descs(struct pci_dev *dev, void __iomem *base,
 		desc.pci.msi_attrib.can_mask = !pci_msi_ignore_mask &amp;&amp;
 					       !desc.pci.msi_attrib.is_virtual;
 
-		if (!desc.pci.msi_attrib.can_mask) {
+		if (desc.pci.msi_attrib.can_mask) {
 			addr = pci_msix_desc_addr(&amp;desc);
 			desc.pci.msix_ctrl = readl(addr + PCI_MSIX_ENTRY_VECTOR_CTRL);
 		}

--
2.31.1
</pre>
  </body>
</html>


From xen-devel-bounces@lists.xenproject.org Sat Jan 22 01:04:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 22 Jan 2022 01:04:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259484.447876 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nB4pE-0000It-92; Sat, 22 Jan 2022 01:04:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259484.447876; Sat, 22 Jan 2022 01:04:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nB4pE-0000Im-5o; Sat, 22 Jan 2022 01:04:16 +0000
Received: by outflank-mailman (input) for mailman id 259484;
 Sat, 22 Jan 2022 01:04:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Zp6W=SG=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nB4pC-0000If-CX
 for xen-devel@lists.xenproject.org; Sat, 22 Jan 2022 01:04:14 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 34e10c1b-7b1f-11ec-bc18-3156f6d857e4;
 Sat, 22 Jan 2022 02:04:11 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id D8386B82161;
 Sat, 22 Jan 2022 01:04:09 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id ECB6EC340E1;
 Sat, 22 Jan 2022 01:04: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: 34e10c1b-7b1f-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1642813448;
	bh=PRGQmpWqs5jLaHz2GX9yNuBYNnoRyHK4X3NlHkA7ufI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ASC0bOiwu873DrrC0dnEUTaoHjJyfJZRAXbIFxOlZXa1R2YvilcO1D/w7pTJvH2jb
	 JHGUNppoGACDoWnuU9kwMLNu9oD2lxlyfW5iFWGhy0HUw8JmvPV7fUzVC+7imWID1B
	 ChSFUdWZgBFKTucrCcmC/f6nSdX4URuMtOTwxOFzw4FktHlFe8TrCwmJLA0J1Ng7Yf
	 AY191FjUDmDaSqPf0mhRLLjeqwaFbFfjUvgnXdH1CbbCsBn508PjHo348asZ4EzSrY
	 eL9roDhSDlIXZdpfQo0TA8Y8EatIahRq6NkNdyw/6VbJtcvQ9k8WUpHRDGzl/848ow
	 tntEhToY1ZwvQ==
Date: Fri, 21 Jan 2022 17:04:05 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, 
    stefanos@xilinx.com, julien@xen.org, Volodymyr_Babchuk@epam.com, 
    bertrand.marquis@arm.com, andre.przywara@arm.com, jbeulich@suse.com, 
    wei.chen@arm.com, Ayan Kumar Halder <ayankuma@xilinx.com>
Subject: Re: [XEN v3] xen/arm64: io: Decode ldr/str post-indexing
 instructions
In-Reply-To: <20220120215527.28138-1-ayankuma@xilinx.com>
Message-ID: <alpine.DEB.2.22.394.2201211613530.27308@ubuntu-linux-20-04-desktop>
References: <20220120215527.28138-1-ayankuma@xilinx.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 20 Jan 2022, Ayan Kumar Halder wrote:
> At the moment, Xen is only handling data abort with valid syndrome (i.e.
> ISV=0). Unfortunately, this doesn't cover all the instructions a domain
> could use to access MMIO regions.
> 
> For instance, a baremetal OS can use any of the following instructions, where
> x1 contains the address of the MMIO region:
> 
> 1.      ldr     x2,    [x1],    #4
> 2.      ldr     w2,    [x1],    #-4
> 3.      ldr     x2,    [x1],    #-8
> 4.      ldr     w2,    [x1],    #4
> 5.      ldrh    w2,    [x1],    #8
> 6.      ldrb    w2,    [x1],    #16
> 7.      str     x2,    [x1],    #4
> 8.      str     w2,    [x1],    #-4
> 9.      strh    w2,    [x1],    #8
> 10.     strb    w2,    [x1],    #16
> 
> In the following two instructions, sp contains the address of the MMIO region:-
> 11.     ldrb    w2,    [sp],    #16
> 12.     ldrb    wzr,   [sp],    #16
> 
> In order to handle post-indexing store/load instructions (like those mentioned
> above), Xen will need to fetch and decode the instruction.
> 
> This patch only cover post-index store/load instructions from AArch64 mode.
> For now, this is left unimplemented for trap from AArch32 mode.
> 
> Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>

This is a lot better, thanks!


> ---
> 
> Changelog :-
> v2 - 1. Updated the rn register after reading from it. (Pointed by Julien,
>         Stefano)
>      2. Used a union to represent the instruction opcode (Suggestd by Bertrand)
>      3. Fixed coding style issues (Pointed by Julien)
>      4. In the previous patch, I was updating dabt->sign based on the signedness
>         of imm9. This was incorrect. As mentioned in ARMv8 ARM  DDI 0487G.b,
>         Page 3221, SSE indicates the signedness of the data item loaded. In our
>         case, the data item loaded is always unsigned.
> 
> v3- 1. Handled all the variants of ldr/str (ie 64, 32, 16, 8 bit variants).
>        Thus, I have removed the check for "instr->code.opc == 0" (Suggested by
>        Andre)
>     2. Handled the scenario when rn = SP, rt = XZR (Suggested by Jan, Andre)
>     3. Added restriction for "rt != rn" (Suggested by Andre)
>     4. Moved union ldr_str_instr_class {} to decode.h. This is the header included
>        by io.c and decode.c (where the union is referred). (Suggested by Jan)
>     5. Indentation and typo fixes (Suggested by Jan)
> 
> Changes suggested but could not be considered due to reasons :-
>     1. Using accessor macros instead of bitfields for "ldr_str_instr_class". (Andre)
>        Reason - I could not find a simple way to represent 9 bit signed integer
>        (ie imm9) without using bitfields. If I use accessor macros, then I need
>        to manually calculate two's complement to obtain the value when signed
>        bit is present.
> 
>     2. I/D cache cohenerncy (Andre)
>        Reason :- I could not see any instruction to flush the I cache.
>        Refer https://developer.arm.com/documentation/ddi0596/2021-12/Base-Instructions/IC--Instruction-Cache-operation--an-alias-of-SYS-?lang=en#sa_ic_op
>        So, this patch assumes that the I/D caches are coherent.
> 
>  xen/arch/arm/decode.c | 78 ++++++++++++++++++++++++++++++++++++++++++-
>  xen/arch/arm/decode.h | 29 +++++++++++++++-
>  xen/arch/arm/io.c     | 66 ++++++++++++++++++++++++++++++++----
>  3 files changed, 165 insertions(+), 8 deletions(-)
> 
> diff --git a/xen/arch/arm/decode.c b/xen/arch/arm/decode.c
> index 792c2e92a7..f1c59ddd1a 100644
> --- a/xen/arch/arm/decode.c
> +++ b/xen/arch/arm/decode.c
> @@ -84,6 +84,76 @@ bad_thumb2:
>      return 1;
>  }
>  
> +static int decode_loadstore_postindexing(register_t pc,
> +                                         struct hsr_dabt *dabt,
> +                                         union ldr_str_instr_class *instr)
> +{
> +    if ( raw_copy_from_guest(&instr->value, (void * __user)pc, sizeof (instr)) )
> +        return -EFAULT;
> +
> +    /*
> +     * Rn -ne Rt for ldr/str instruction.
> +     * Check https://developer.arm.com/documentation/dui0802/a/CIHGJHED
> +     * (Register restrictions)
> +     *
> +     * The only exception for this is when rn = 31. It denotes SP ("Use of SP")
> +     *
> +     * And when rt = 31, it denotes wzr/xzr. (Refer
> +     * https://developer.arm.com/documentation/den0024/a/ARMv8-Registers/AArch64-special-registers
> +     * "There is no register called X31 or W31. Many instructions are encoded
> +     * such that the number 31 represents the zero register, ZR (WZR/XZR)."
> +     */
> +    if ( (instr->code.rn == instr->code.rt) && (instr->code.rn != 31) )
> +        return -EINVAL;
>
> +    /* First, let's check for the fixed values */
> +    if ( !((instr->code.fixed1 == 1) && (instr->code.fixed2 == 0) &&
> +         (instr->code.fixed3 == 0) && (instr->code.fixed4 == 7)) )
> +    {
> +        gprintk(XENLOG_ERR, "Cannot decode instruction 0x%x",instr->value);
> +        gprintk(XENLOG_ERR, "Decoding not supported for instructions other than"
> +            " ldr/str post indexing\n");
> +        goto bad_32bit_loadstore;
> +    }

Maybe this is a useless optimization but I would write this using masks
and bitwise opts:

#define POST_INDX_FIXED_MASK  0x38200c00
#define POST_INDX_FIXED_VALUE 0x38000400

if ( (instr->value & POST_INDX_FIXED_MASK) != POST_INDX_FIXED_VALUE )
    goto bad_32bit_loadstore;



> +    if ( instr->code.v != 0 )
> +    {
> +        gprintk(XENLOG_ERR,
> +            "ldr/str post indexing for vector types are not supported\n");
> +        goto bad_32bit_loadstore;
> +    }
> +
> +    /* Check for STR (immediate) - 32 bit variant */
> +    if ( instr->code.opc == 0 )
> +    {
> +        dabt->write = 1;
> +    }
> +    /* Check for LDR (immediate) - 32 bit variant */
> +    else if ( instr->code.opc == 1 )
> +    {
> +        dabt->write = 0;
> +    }
> +    else
> +    {
> +        gprintk(XENLOG_ERR,
> +            "Decoding ldr/str post indexing is not supported for this variant\n");
> +        goto bad_32bit_loadstore;
> +    }
> +
> +    gprintk(XENLOG_INFO,
> +        "instr->code.rt = 0x%x, instr->code.size = 0x%x, instr->code.imm9 = %d\n",
> +        instr->code.rt, instr->code.size, instr->code.imm9);
> +
> +    update_dabt(dabt, instr->code.rt, instr->code.size, false);
> +    dabt->valid = 1;
> +
> +    return 0;
> +
> + bad_32bit_loadstore:
> +    gprintk(XENLOG_ERR, "unhandled 32bit Arm instruction 0x%x\n", instr->value);
> +    return 1;
> +}
> +
>  static int decode_thumb(register_t pc, struct hsr_dabt *dabt)
>  {
>      uint16_t instr;
> @@ -150,11 +220,17 @@ bad_thumb:
>      return 1;
>  }
>  
> -int decode_instruction(const struct cpu_user_regs *regs, struct hsr_dabt *dabt)
> +int decode_instruction(const struct cpu_user_regs *regs, struct hsr_dabt *dabt,
> +                       union ldr_str_instr_class *instr)
>  {
>      if ( is_32bit_domain(current->domain) && regs->cpsr & PSR_THUMB )
>          return decode_thumb(regs->pc, dabt);
>  
> +    if ( (is_64bit_domain(current->domain) && !psr_mode_is_32bit(regs)) )
> +    {

We should also check that instr != NULL either here or at the beginning
of decode_loadstore_postindexing


> +        return decode_loadstore_postindexing(regs->pc, dabt, instr);
> +    }
> +
>      /* TODO: Handle ARM instruction */
>      gprintk(XENLOG_ERR, "unhandled ARM instruction\n");
>  
> diff --git a/xen/arch/arm/decode.h b/xen/arch/arm/decode.h
> index 4613763bdb..5c918c9bed 100644
> --- a/xen/arch/arm/decode.h
> +++ b/xen/arch/arm/decode.h
> @@ -23,6 +23,32 @@
>  #include <asm/regs.h>
>  #include <asm/processor.h>
>  
> +/*
> + * Refer to the ARMv8 ARM (DDI 0487G.b), Section C4.1.4 Loads and Stores
> + * Page 318 specifies the following bit pattern for
> + * "load/store register (immediate post-indexed)".
> + *
> + * 31 30 29  27 26 25  23   21 20              11   9         4       0
> + * ___________________________________________________________________
> + * |size|1 1 1 |V |0 0 |opc |0 |      imm9     |0 1 |  Rn     |  Rt   |
> + * |____|______|__|____|____|__|_______________|____|_________|_______|
> + */
> +union ldr_str_instr_class {
> +    uint32_t value;
> +    struct ldr_str {
> +        unsigned int rt:5;     /* Rt register */
> +        unsigned int rn:5;     /* Rn register */
> +        unsigned int fixed1:2; /* value == 01b */
> +        signed int imm9:9;            /* imm9 */
> +        unsigned int fixed2:1; /* value == 0b */
> +        unsigned int opc:2;    /* opc */
> +        unsigned int fixed3:2; /* value == 00b */
> +        unsigned int v:1;      /* vector */
> +        unsigned int fixed4:3; /* value == 111b */
> +        unsigned int size:2;   /* size */
> +    } code;
> +};
> +
>  /**
>   * Decode an instruction from pc
>   * /!\ This function is not intended to fully decode an instruction. It
> @@ -35,7 +61,8 @@
>   */
>  
>  int decode_instruction(const struct cpu_user_regs *regs,
> -                       struct hsr_dabt *dabt);
> +                       struct hsr_dabt *dabt,
> +                       union ldr_str_instr_class *instr);
>  
>  #endif /* __ARCH_ARM_DECODE_H_ */
>  
> diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
> index 729287e37c..acb483f235 100644
> --- a/xen/arch/arm/io.c
> +++ b/xen/arch/arm/io.c
> @@ -65,6 +65,39 @@ static enum io_state handle_write(const struct mmio_handler *handler,
>      return ret ? IO_HANDLED : IO_ABORT;
>  }
>  
> +static void post_increment_register(union ldr_str_instr_class *instr)
> +{
> +    struct cpu_user_regs *regs = guest_cpu_user_regs();
> +    unsigned int val;

register_t val


> +    /* handle when rn = SP */
> +    if ( instr->code.rn == 31 )
> +    {
> +        if ( (regs->cpsr & PSR_MODE_MASK) == PSR_MODE_EL1h )
> +        {
> +            val = regs->sp_el1;

I think you need to #ifdef ARM64 the entire function because sp_el1 is
aarch64 only. Also, it might be better to move post_increment_register
to decode.c to keep is closer to the other half of the relevant code. I
don't feel strongly about it though, if other reviewers prefer to keep
it here, it is only fine by me.


> +        }
> +        else
> +        {
> +            BUG();

BUG is not a good idea in this code path because it might allow a guest
to cause a hypervisor crash. Instead you could print an error and
call:

    domain_crash(current->domain);

But I think it would be even better to add a check:

if ( (regs->cpsr & PSR_MODE_MASK) != PSR_MODE_EL1h )
{
    goto bad_32bit_loadstore;
}

in decode_loadstore_postindexing or in decode_instruction so that if get
here we are sure that we can handle the post-indexing instruction
completely.


> +        }
> +    }
> +    else
> +    {
> +        val = get_user_reg(regs, instr->code.rn);
> +    }
> +    val += instr->code.imm9;
> +    if ( instr->code.rn == 31 )
> +    {
> +        regs->sp_el1 = val;
> +    }
> +    else
> +    {
> +        set_user_reg(regs, instr->code.rn, val);
> +    }
> +}
> +
>  /* This function assumes that mmio regions are not overlapped */
>  static int cmp_mmio_handler(const void *key, const void *elem)
>  {
> @@ -106,14 +139,29 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>          .gpa = gpa,
>          .dabt = dabt
>      };
> +    int rc;
> +    union ldr_str_instr_class instr = {0};
>  
>      ASSERT(hsr.ec == HSR_EC_DATA_ABORT_LOWER_EL);
>  
> +    /*
> +     * Armv8 processor does not provide a valid syndrome for post-indexing
> +     * ldr/str instructions. So in order to process these instructions,
> +     * Xen must decode them.
> +     */
> +    if ( !info.dabt.valid )
> +    {
> +        rc = decode_instruction(regs, &info.dabt, &instr);
> +        if ( rc )
> +        {
> +            gprintk(XENLOG_DEBUG, "Unable to decode instruction\n");
> +            return IO_ABORT;
> +        }
> +    }
> +
>      handler = find_mmio_handler(v->domain, info.gpa);
>      if ( !handler )
>      {
> -        int rc;
> -
>          rc = try_fwd_ioserv(regs, v, &info);
>          if ( rc == IO_HANDLED )
>              return handle_ioserv(regs, v);
> @@ -122,7 +170,7 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>      }
>  
>      /* All the instructions used on emulated MMIO region should be valid */
> -    if ( !dabt.valid )
> +    if ( !info.dabt.valid )
>          return IO_ABORT;

Is this check still necessary given the new info.dabt.valid check above?


>      /*
> @@ -134,7 +182,7 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>      {
>          int rc;
>  
> -        rc = decode_instruction(regs, &info.dabt);
> +        rc = decode_instruction(regs, &info.dabt, NULL);
>          if ( rc )
>          {
>              gprintk(XENLOG_DEBUG, "Unable to decode instruction\n");
> @@ -143,9 +191,15 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>      }
>  
>      if ( info.dabt.write )
> -        return handle_write(handler, v, &info);
> +        rc = handle_write(handler, v, &info);
>      else
> -        return handle_read(handler, v, &info);
> +        rc = handle_read(handler, v, &info);
> +
> +    if ( instr.value != 0 )
> +    {
> +        post_increment_register(&instr);
> +    }
> +    return rc;
>  }
>  
>  void register_mmio_handler(struct domain *d,


From xen-devel-bounces@lists.xenproject.org Sat Jan 22 01:10:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 22 Jan 2022 01:10:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259487.447888 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nB4ur-0001b8-WF; Sat, 22 Jan 2022 01:10:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259487.447888; Sat, 22 Jan 2022 01: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 1nB4ur-0001ab-RP; Sat, 22 Jan 2022 01:10:05 +0000
Received: by outflank-mailman (input) for mailman id 259487;
 Sat, 22 Jan 2022 01:10:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=tm/g=SG=oderland.se=josef@srs-se1.protection.inumbo.net>)
 id 1nB4uq-0001LJ-U9
 for xen-devel@lists.xenproject.org; Sat, 22 Jan 2022 01:10:04 +0000
Received: from office.oderland.com (office.oderland.com [91.201.60.5])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 07347a58-7b20-11ec-8fa7-f31e035a9116;
 Sat, 22 Jan 2022 02:10:03 +0100 (CET)
Received: from [193.180.18.160] (port=33564 helo=[10.137.0.14])
 by office.oderland.com with esmtpsa (TLS1.2) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2)
 (envelope-from <josef@oderland.se>)
 id 1nB4up-009lZI-0z; Sat, 22 Jan 2022 02:10:03 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 07347a58-7b20-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=oderland.se
	; s=default; h=Content-Transfer-Encoding:Content-Type:Cc:To:Subject:From:
	MIME-Version:Date:Message-ID:Sender:Reply-To:Content-ID:Content-Description:
	Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
	In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:
	List-Post:List-Owner:List-Archive;
	bh=aX7TwSHLaIBX8pSVwqMdOwyurLFRdxdH5esrdDy9+OE=; b=DNiFe7PqQ/atv81CrsT5yFEAq7
	C4M77ErtITwAApqYy0eKo2HD8k+ar4WpSfInHoWHq7soJh9dtVAhxgb60tHVV25+Ax4C2nE7ArP0i
	0GxgyvsUnR5WzdzLa3GiTm4UIBjh9UTdErlKvnvV0ZM98A018e/aKgS6EQfV2/miC2BIlY00pOV4U
	nV2mRwu2wBtNveI2WYLZ2I4RpfKYWjE0nm28kmkmOrltMW9xPX2v0KqcfxOeGAE2WI7N+HnIwejHI
	qaSMaLT+c60qq31ehExpoHN88k/UMwHUN9zlFIrDu16B3JXoLjuoxf5uPMExfjL4XbCVBaUDH3VTS
	ltjTMrEA==;
Message-ID: <f5a224ee-b72f-7053-6030-b6c4d8a29be9@oderland.se>
Date: Sat, 22 Jan 2022 02:10:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101
 Thunderbird/97.0
From: Josef Johansson <josef@oderland.se>
Subject: [PATCH] PCI/MSI: msix_setup_msi_descs: Restore logic for
 msi_attrib.can_mask
To: Thomas Gleixner <tglx@linutronix.de>, Bjorn Helgaas
 <bhelgaas@google.com>, linux-pci@vger.kernel.org
Cc: xen-devel <xen-devel@lists.xenproject.org>
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - office.oderland.com
X-AntiAbuse: Original Domain - lists.xenproject.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - oderland.se
X-Get-Message-Sender-Via: office.oderland.com: authenticated_id: josjoh@oderland.se
X-Authenticated-Sender: office.oderland.com: josjoh@oderland.se

From: Josef Johansson <josef@oderland.se>

PCI/MSI: msix_setup_msi_descs: Restore logic for msi_attrib.can_mask
    
Commit 71020a3c0dff4 ("PCI/MSI: Use msi_add_msi_desc()") modifies
the logic of checking msi_attrib.can_mask, without any reason.
    
This commits restores that logic.

Fixes: 71020a3c0dff4 ("PCI/MSI: Use msi_add_msi_desc()")
Signed-off-by: Josef Johansson <josef@oderland.se>

---
Trying to fix a NULL BUG in the NVMe MSIX implementation I stumbled upon this code,
which ironically was what my last MSI patch resulted into.

I don't see any reason why this logic was change, nor do I have the possibility
to see if anything works with my patch or without, since the kernel crashes
in other places.

As such this is still untested, but as far as I can tell it should restore
functionality.

Re-sending since it was rejected by linux-pci@vger.kernel.org due to HTML contents.
Sorry about that.

CC xen-devel since it very much relates to Xen kernel (via pci_msi_ignore_mask).
---

diff --git a/drivers/pci/msi/msi.c b/drivers/pci/msi/msi.c
index c19c7ca58186..146e7b9a01cc 100644
--- a/drivers/pci/msi/msi.c
+++ b/drivers/pci/msi/msi.c
@@ -526,7 +526,7 @@ static int msix_setup_msi_descs(struct pci_dev *dev, void __iomem *base,
 		desc.pci.msi_attrib.can_mask = !pci_msi_ignore_mask &&
 					       !desc.pci.msi_attrib.is_virtual;
 
-		if (!desc.pci.msi_attrib.can_mask) {
+		if (desc.pci.msi_attrib.can_mask) {
 			addr = pci_msix_desc_addr(&desc);
 			desc.pci.msix_ctrl = readl(addr + PCI_MSIX_ENTRY_VECTOR_CTRL);
 		}

--
2.31.1



From xen-devel-bounces@lists.xenproject.org Sat Jan 22 01:31:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 22 Jan 2022 01:31:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259500.447899 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nB5Fj-00044e-RE; Sat, 22 Jan 2022 01:31:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259500.447899; Sat, 22 Jan 2022 01: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 1nB5Fj-00044W-L5; Sat, 22 Jan 2022 01:31:39 +0000
Received: by outflank-mailman (input) for mailman id 259500;
 Sat, 22 Jan 2022 01:31:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ql8o=SG=arm.com=andre.przywara@srs-se1.protection.inumbo.net>)
 id 1nB5Fi-00044Q-2k
 for xen-devel@lists.xenproject.org; Sat, 22 Jan 2022 01:31:38 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 0960141d-7b23-11ec-8fa7-f31e035a9116;
 Sat, 22 Jan 2022 02:31:35 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id CA1A3101E;
 Fri, 21 Jan 2022 17:31:34 -0800 (PST)
Received: from slackpad.fritz.box (unknown [172.31.20.19])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 3527A3F73D;
 Fri, 21 Jan 2022 17:31:33 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0960141d-7b23-11ec-8fa7-f31e035a9116
Date: Sat, 22 Jan 2022 01:30:46 +0000
From: Andre Przywara <andre.przywara@arm.com>
To: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>
Cc: <xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
 <stefanos@xilinx.com>, <julien@xen.org>, <Volodymyr_Babchuk@epam.com>,
 <bertrand.marquis@arm.com>, <jbeulich@suse.com>, <wei.chen@arm.com>, "Ayan
 Kumar Halder" <ayankuma@xilinx.com>
Subject: Re: [XEN v3] xen/arm64: io: Decode ldr/str post-indexing
 instructions
Message-ID: <20220122013046.6a786d3f@slackpad.fritz.box>
In-Reply-To: <20220120215527.28138-1-ayankuma@xilinx.com>
References: <20220120215527.28138-1-ayankuma@xilinx.com>
Organization: Arm Ltd.
X-Mailer: Claws Mail 3.18.0 (GTK+ 2.24.31; x86_64-slackware-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

On Thu, 20 Jan 2022 21:55:27 +0000
Ayan Kumar Halder <ayan.kumar.halder@xilinx.com> wrote:

Hi,

> At the moment, Xen is only handling data abort with valid syndrome (i.e.
> ISV=0). Unfortunately, this doesn't cover all the instructions a domain
> could use to access MMIO regions.
> 
> For instance, a baremetal OS can use any of the following instructions, where
> x1 contains the address of the MMIO region:
> 
> 1.      ldr     x2,    [x1],    #4

That looks dodgy, since is misaligns the pointer afterwards. MMIO
access typically go to device memory, which must be naturally aligned.
Just don't give a bad example here and change that to a multiple of 8.

> 2.      ldr     w2,    [x1],    #-4

(this one is fine, btw, because it's a 32-bit read)

> 3.      ldr     x2,    [x1],    #-8
> 4.      ldr     w2,    [x1],    #4
> 5.      ldrh    w2,    [x1],    #8
> 6.      ldrb    w2,    [x1],    #16

More naturally I'd use the data size of the postindex value ...
ldr  x2 ... #-8
ldr  w2 ... #4
ldrh w2 ... #2
ldrb w2 ... #1

> 7.      str     x2,    [x1],    #4

This is a again problematic, because x1 is not 8-byte aligned anymore
after that.

> 8.      str     w2,    [x1],    #-4
> 9.      strh    w2,    [x1],    #8
> 10.     strb    w2,    [x1],    #16
> 
> In the following two instructions, sp contains the address of the MMIO region:-

Really? I don't think you should give people funny ideas, just mention
that the Rn register could theoretically be the stack pointer.

> 11.     ldrb    w2,    [sp],    #16
> 12.     ldrb    wzr,   [sp],    #16
> 
> In order to handle post-indexing store/load instructions (like those mentioned
> above), Xen will need to fetch and decode the instruction.
> 
> This patch only cover post-index store/load instructions from AArch64 mode.
> For now, this is left unimplemented for trap from AArch32 mode.
> 
> Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
> ---
> 
> Changelog :-
> v2 - 1. Updated the rn register after reading from it. (Pointed by Julien,
>         Stefano)
>      2. Used a union to represent the instruction opcode (Suggestd by Bertrand)
>      3. Fixed coding style issues (Pointed by Julien)
>      4. In the previous patch, I was updating dabt->sign based on the signedness
>         of imm9. This was incorrect. As mentioned in ARMv8 ARM  DDI 0487G.b,
>         Page 3221, SSE indicates the signedness of the data item loaded. In our
>         case, the data item loaded is always unsigned.
> 
> v3- 1. Handled all the variants of ldr/str (ie 64, 32, 16, 8 bit variants).
>        Thus, I have removed the check for "instr->code.opc == 0" (Suggested by
>        Andre)
>     2. Handled the scenario when rn = SP, rt = XZR (Suggested by Jan, Andre)
>     3. Added restriction for "rt != rn" (Suggested by Andre)
>     4. Moved union ldr_str_instr_class {} to decode.h. This is the header included
>        by io.c and decode.c (where the union is referred). (Suggested by Jan)
>     5. Indentation and typo fixes (Suggested by Jan)
> 
> Changes suggested but could not be considered due to reasons :-
>     1. Using accessor macros instead of bitfields for "ldr_str_instr_class". (Andre)
>        Reason - I could not find a simple way to represent 9 bit signed integer
>        (ie imm9) without using bitfields. If I use accessor macros, then I need
>        to manually calculate two's complement to obtain the value when signed
>        bit is present.
> 
>     2. I/D cache cohenerncy (Andre)
>        Reason :- I could not see any instruction to flush the I cache.

First, please try to avoid the term "flush", because it is somewhat
overloaded. The architecture speaks of "clean" and "invalidate", which
are more precise.
Assuming you mean "clean" here: conceptually there is no such thing for
the I cache, because it's always clean. The I$ will only be read from
the CPU side - from the instruction fetcher - there is nothing written
back through it. Every store goes through the data path - always.
That is the problem that I tried to sketch you previously: you don't
have a guarantee that the instruction you read from memory is the same
that the CPU executed. The guest could have changed the instruction
after the I$ fetched that. So the CPU will execute (and trap) on
instruction X, but you will read Y. I leave it up to your imagination
if that could be exploited.

>        Refer https://developer.arm.com/documentation/ddi0596/2021-12/Base-Instructions/IC--Instruction-Cache-operation--an-alias-of-SYS-?lang=en#sa_ic_op
>        So, this patch assumes that the I/D caches are coherent.

Bold. ;-)

Cheers,
Andre

> 
>  xen/arch/arm/decode.c | 78 ++++++++++++++++++++++++++++++++++++++++++-
>  xen/arch/arm/decode.h | 29 +++++++++++++++-
>  xen/arch/arm/io.c     | 66 ++++++++++++++++++++++++++++++++----
>  3 files changed, 165 insertions(+), 8 deletions(-)
> 
> diff --git a/xen/arch/arm/decode.c b/xen/arch/arm/decode.c
> index 792c2e92a7..f1c59ddd1a 100644
> --- a/xen/arch/arm/decode.c
> +++ b/xen/arch/arm/decode.c
> @@ -84,6 +84,76 @@ bad_thumb2:
>      return 1;
>  }
>  
> +static int decode_loadstore_postindexing(register_t pc,
> +                                         struct hsr_dabt *dabt,
> +                                         union ldr_str_instr_class *instr)
> +{
> +    if ( raw_copy_from_guest(&instr->value, (void * __user)pc, sizeof (instr)) )
> +        return -EFAULT;
> +
> +    /*
> +     * Rn -ne Rt for ldr/str instruction.
> +     * Check https://developer.arm.com/documentation/dui0802/a/CIHGJHED
> +     * (Register restrictions)
> +     *
> +     * The only exception for this is when rn = 31. It denotes SP ("Use of SP")
> +     *
> +     * And when rt = 31, it denotes wzr/xzr. (Refer
> +     * https://developer.arm.com/documentation/den0024/a/ARMv8-Registers/AArch64-special-registers
> +     * "There is no register called X31 or W31. Many instructions are encoded
> +     * such that the number 31 represents the zero register, ZR (WZR/XZR)."
> +     */
> +    if ( (instr->code.rn == instr->code.rt) && (instr->code.rn != 31) )
> +        return -EINVAL;
> +
> +    /* First, let's check for the fixed values */
> +    if ( !((instr->code.fixed1 == 1) && (instr->code.fixed2 == 0) &&
> +         (instr->code.fixed3 == 0) && (instr->code.fixed4 == 7)) )
> +    {
> +        gprintk(XENLOG_ERR, "Cannot decode instruction 0x%x",instr->value);
> +        gprintk(XENLOG_ERR, "Decoding not supported for instructions other than"
> +            " ldr/str post indexing\n");
> +        goto bad_32bit_loadstore;
> +    }
> +
> +    if ( instr->code.v != 0 )
> +    {
> +        gprintk(XENLOG_ERR,
> +            "ldr/str post indexing for vector types are not supported\n");
> +        goto bad_32bit_loadstore;
> +    }
> +
> +    /* Check for STR (immediate) - 32 bit variant */
> +    if ( instr->code.opc == 0 )
> +    {
> +        dabt->write = 1;
> +    }
> +    /* Check for LDR (immediate) - 32 bit variant */
> +    else if ( instr->code.opc == 1 )
> +    {
> +        dabt->write = 0;
> +    }
> +    else
> +    {
> +        gprintk(XENLOG_ERR,
> +            "Decoding ldr/str post indexing is not supported for this variant\n");
> +        goto bad_32bit_loadstore;
> +    }
> +
> +    gprintk(XENLOG_INFO,
> +        "instr->code.rt = 0x%x, instr->code.size = 0x%x, instr->code.imm9 = %d\n",
> +        instr->code.rt, instr->code.size, instr->code.imm9);
> +
> +    update_dabt(dabt, instr->code.rt, instr->code.size, false);
> +    dabt->valid = 1;
> +
> +    return 0;
> +
> + bad_32bit_loadstore:
> +    gprintk(XENLOG_ERR, "unhandled 32bit Arm instruction 0x%x\n", instr->value);
> +    return 1;
> +}
> +
>  static int decode_thumb(register_t pc, struct hsr_dabt *dabt)
>  {
>      uint16_t instr;
> @@ -150,11 +220,17 @@ bad_thumb:
>      return 1;
>  }
>  
> -int decode_instruction(const struct cpu_user_regs *regs, struct hsr_dabt *dabt)
> +int decode_instruction(const struct cpu_user_regs *regs, struct hsr_dabt *dabt,
> +                       union ldr_str_instr_class *instr)
>  {
>      if ( is_32bit_domain(current->domain) && regs->cpsr & PSR_THUMB )
>          return decode_thumb(regs->pc, dabt);
>  
> +    if ( (is_64bit_domain(current->domain) && !psr_mode_is_32bit(regs)) )
> +    {
> +        return decode_loadstore_postindexing(regs->pc, dabt, instr);
> +    }
> +
>      /* TODO: Handle ARM instruction */
>      gprintk(XENLOG_ERR, "unhandled ARM instruction\n");
>  
> diff --git a/xen/arch/arm/decode.h b/xen/arch/arm/decode.h
> index 4613763bdb..5c918c9bed 100644
> --- a/xen/arch/arm/decode.h
> +++ b/xen/arch/arm/decode.h
> @@ -23,6 +23,32 @@
>  #include <asm/regs.h>
>  #include <asm/processor.h>
>  
> +/*
> + * Refer to the ARMv8 ARM (DDI 0487G.b), Section C4.1.4 Loads and Stores
> + * Page 318 specifies the following bit pattern for
> + * "load/store register (immediate post-indexed)".
> + *
> + * 31 30 29  27 26 25  23   21 20              11   9         4       0
> + * ___________________________________________________________________
> + * |size|1 1 1 |V |0 0 |opc |0 |      imm9     |0 1 |  Rn     |  Rt   |
> + * |____|______|__|____|____|__|_______________|____|_________|_______|
> + */
> +union ldr_str_instr_class {
> +    uint32_t value;
> +    struct ldr_str {
> +        unsigned int rt:5;     /* Rt register */
> +        unsigned int rn:5;     /* Rn register */
> +        unsigned int fixed1:2; /* value == 01b */
> +        signed int imm9:9;            /* imm9 */
> +        unsigned int fixed2:1; /* value == 0b */
> +        unsigned int opc:2;    /* opc */
> +        unsigned int fixed3:2; /* value == 00b */
> +        unsigned int v:1;      /* vector */
> +        unsigned int fixed4:3; /* value == 111b */
> +        unsigned int size:2;   /* size */
> +    } code;
> +};
> +
>  /**
>   * Decode an instruction from pc
>   * /!\ This function is not intended to fully decode an instruction. It
> @@ -35,7 +61,8 @@
>   */
>  
>  int decode_instruction(const struct cpu_user_regs *regs,
> -                       struct hsr_dabt *dabt);
> +                       struct hsr_dabt *dabt,
> +                       union ldr_str_instr_class *instr);
>  
>  #endif /* __ARCH_ARM_DECODE_H_ */
>  
> diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
> index 729287e37c..acb483f235 100644
> --- a/xen/arch/arm/io.c
> +++ b/xen/arch/arm/io.c
> @@ -65,6 +65,39 @@ static enum io_state handle_write(const struct mmio_handler *handler,
>      return ret ? IO_HANDLED : IO_ABORT;
>  }
>  
> +static void post_increment_register(union ldr_str_instr_class *instr)
> +{
> +    struct cpu_user_regs *regs = guest_cpu_user_regs();
> +    unsigned int val;
> +
> +    /* handle when rn = SP */
> +    if ( instr->code.rn == 31 )
> +    {
> +        if ( (regs->cpsr & PSR_MODE_MASK) == PSR_MODE_EL1h )
> +        {
> +            val = regs->sp_el1;
> +        }
> +        else
> +        {
> +            BUG();
> +        }
> +    }
> +    else
> +    {
> +        val = get_user_reg(regs, instr->code.rn);
> +    }
> +    val += instr->code.imm9;
> +
> +    if ( instr->code.rn == 31 )
> +    {
> +        regs->sp_el1 = val;
> +    }
> +    else
> +    {
> +        set_user_reg(regs, instr->code.rn, val);
> +    }
> +}
> +
>  /* This function assumes that mmio regions are not overlapped */
>  static int cmp_mmio_handler(const void *key, const void *elem)
>  {
> @@ -106,14 +139,29 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>          .gpa = gpa,
>          .dabt = dabt
>      };
> +    int rc;
> +    union ldr_str_instr_class instr = {0};
>  
>      ASSERT(hsr.ec == HSR_EC_DATA_ABORT_LOWER_EL);
>  
> +    /*
> +     * Armv8 processor does not provide a valid syndrome for post-indexing
> +     * ldr/str instructions. So in order to process these instructions,
> +     * Xen must decode them.
> +     */
> +    if ( !info.dabt.valid )
> +    {
> +        rc = decode_instruction(regs, &info.dabt, &instr);
> +        if ( rc )
> +        {
> +            gprintk(XENLOG_DEBUG, "Unable to decode instruction\n");
> +            return IO_ABORT;
> +        }
> +    }
> +
>      handler = find_mmio_handler(v->domain, info.gpa);
>      if ( !handler )
>      {
> -        int rc;
> -
>          rc = try_fwd_ioserv(regs, v, &info);
>          if ( rc == IO_HANDLED )
>              return handle_ioserv(regs, v);
> @@ -122,7 +170,7 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>      }
>  
>      /* All the instructions used on emulated MMIO region should be valid */
> -    if ( !dabt.valid )
> +    if ( !info.dabt.valid )
>          return IO_ABORT;
>  
>      /*
> @@ -134,7 +182,7 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>      {
>          int rc;
>  
> -        rc = decode_instruction(regs, &info.dabt);
> +        rc = decode_instruction(regs, &info.dabt, NULL);
>          if ( rc )
>          {
>              gprintk(XENLOG_DEBUG, "Unable to decode instruction\n");
> @@ -143,9 +191,15 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>      }
>  
>      if ( info.dabt.write )
> -        return handle_write(handler, v, &info);
> +        rc = handle_write(handler, v, &info);
>      else
> -        return handle_read(handler, v, &info);
> +        rc = handle_read(handler, v, &info);
> +
> +    if ( instr.value != 0 )
> +    {
> +        post_increment_register(&instr);
> +    }
> +    return rc;
>  }
>  
>  void register_mmio_handler(struct domain *d,



From xen-devel-bounces@lists.xenproject.org Sat Jan 22 03:57:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 22 Jan 2022 03:57:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259526.447928 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nB7Wl-0001hh-8Q; Sat, 22 Jan 2022 03:57:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259526.447928; Sat, 22 Jan 2022 03:57:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nB7Wl-0001ha-45; Sat, 22 Jan 2022 03:57:23 +0000
Received: by outflank-mailman (input) for mailman id 259526;
 Sat, 22 Jan 2022 03:57:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nB7Wj-0001hQ-Db; Sat, 22 Jan 2022 03:57:21 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nB7Wj-0006wi-B5; Sat, 22 Jan 2022 03:57:21 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nB7Wi-0000cs-Pv; Sat, 22 Jan 2022 03:57:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nB7Wi-0000cm-PR; Sat, 22 Jan 2022 03:57: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=TM8KOElSg+pbSdEr+08g7bogH1tLbONdVsRzrqaaum4=; b=2KgDVKwJz520QKrAyG9mIhlwT2
	014WPto9ojEo8RPC8pnathSR8kNv/mML4n5FxFQgOenE1CneRZsw7X2DKp/Xe4Q3eAX4QxyVZRD7s
	Ie2FOWvI0MaQk+XzGibCG+yJEAHPBvGJtKV6hwOv7P4B91srCbZilrYp4c4/rLmUmSDc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167788-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [seabios test] 167788: tolerable FAIL - PUSHED
X-Osstest-Failures:
    seabios:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    seabios:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    seabios:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    seabios:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    seabios:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    seabios:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    seabios:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    seabios=e4f02c12518c0fe8154950b2e34c56a92721626e
X-Osstest-Versions-That:
    seabios=6a62e0cb0dfe9cd28b70547dbea5caf76847c3a9
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 22 Jan 2022 03:57:20 +0000

flight 167788 seabios real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167788/

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 167549
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167549
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167549
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167549
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167549
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass

version targeted for testing:
 seabios              e4f02c12518c0fe8154950b2e34c56a92721626e
baseline version:
 seabios              6a62e0cb0dfe9cd28b70547dbea5caf76847c3a9

Last test of basis   167549  2021-12-27 17:12:29 Z   25 days
Testing same since   167788  2022-01-21 16:10:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Kevin O'Connor <kevin@koconnor.net>
  Paul Menzel <pmenzel@molgen.mpg.de>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/seabios.git
   6a62e0c..e4f02c1  e4f02c12518c0fe8154950b2e34c56a92721626e -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Jan 22 04:07:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 22 Jan 2022 04:07:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259534.447938 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nB7gH-0003Ft-6k; Sat, 22 Jan 2022 04:07:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259534.447938; Sat, 22 Jan 2022 04:07: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 1nB7gH-0003Fm-3b; Sat, 22 Jan 2022 04:07:13 +0000
Received: by outflank-mailman (input) for mailman id 259534;
 Sat, 22 Jan 2022 04:07: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 1nB7gE-0003F9-TB; Sat, 22 Jan 2022 04:07: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 1nB7gE-0007D8-Lk; Sat, 22 Jan 2022 04:07: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 1nB7gE-0000rh-Av; Sat, 22 Jan 2022 04:07:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nB7gE-00066f-AT; Sat, 22 Jan 2022 04:07:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=jIcPjOmUJS1X95Plv7KrmGbCMJUJ97kqqLKL+vet664=; b=6zjuAI4kQ6/kHdvdK9k7mvRq38
	SY2trrXCEnpvgwhCoC2hBENKpND1DZBySUA/llTVIam8AH1/cPJm5J9n0Enz4Y1yO6Led1mvHsdcs
	Yu6P/XCWvX2++7m4i8h+ovynihO8Be4iOgs3MtDP/3lS+h9Az8l1kGMtLCzwZSIYojwA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167784-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167784: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt-raw:guest-start:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-amd64:guest-localmigrate/x10:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt: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-armhf-armhf-libvirt-qcow2: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-amd64-i386-libvirt-xsm:migrate-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-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=4e1df69cc9f51b2e017af1da3ed5b45917642115
X-Osstest-Versions-That:
    xen=4e1df69cc9f51b2e017af1da3ed5b45917642115
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 22 Jan 2022 04:07:10 +0000

flight 167784 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167784/

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 167762 pass in 167784
 test-armhf-armhf-libvirt-raw 13 guest-start      fail in 167762 pass in 167784
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 18 guest-localmigrate/x10 fail pass in 167762

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check fail blocked in 167762
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167762
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167762
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167762
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167762
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167762
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 167762
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167762
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167762
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167762
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167762
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167762
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167762
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-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-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  4e1df69cc9f51b2e017af1da3ed5b45917642115
baseline version:
 xen                  4e1df69cc9f51b2e017af1da3ed5b45917642115

Last test of basis   167784  2022-01-21 10:11:41 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                    fail    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Sat Jan 22 06:15:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 22 Jan 2022 06:15:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259542.447950 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nB9fm-0007MM-MB; Sat, 22 Jan 2022 06:14:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259542.447950; Sat, 22 Jan 2022 06:14: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 1nB9fm-0007MF-Io; Sat, 22 Jan 2022 06:14:50 +0000
Received: by outflank-mailman (input) for mailman id 259542;
 Sat, 22 Jan 2022 06:14: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 1nB9fk-0007M5-K4; Sat, 22 Jan 2022 06:14: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 1nB9fk-0001Sq-He; Sat, 22 Jan 2022 06:14: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 1nB9fk-0006Vi-7D; Sat, 22 Jan 2022 06:14:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nB9fk-0002DZ-6o; Sat, 22 Jan 2022 06:14: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=FeTgcaNcaJgy1yEidRhcbNi3RlcSvyjcpGsrRy+IX4w=; b=DNSR+yYugsRtDW1+nnw1qBZ3ze
	/N18eN+Ay1UqprpT8fuOmliS8O/7aCV5psmGeeitWIM0T0nAkKVATxf38+5bYxoehC4NrTSZ6MCto
	RuI/7lI/QlUdeheZlHx1OVH47ACUowkKcYQydzS9St4lKr75d81BRpGdYi/tSvXK/s24=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167787-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167787: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-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-armhf-armhf-libvirt-qcow2:saverestore-support-check: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-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw: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-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=5e9d14f2bea6df89c0675df953f9c839560d2266
X-Osstest-Versions-That:
    qemuu=2c89b5af5e72ab8c9d544c6e30399528b2238827
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 22 Jan 2022 06:14:48 +0000

flight 167787 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167787/

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 167767
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167767
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167767
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167767
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167767
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167767
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167767
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167767
 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-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-arm64-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-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                5e9d14f2bea6df89c0675df953f9c839560d2266
baseline version:
 qemuu                2c89b5af5e72ab8c9d544c6e30399528b2238827

Last test of basis   167767  2022-01-21 00:08:38 Z    1 days
Testing same since   167787  2022-01-21 15:50:55 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alistair Francis <alistair.francis@wdc.com>
  Anup Patel <apatel@ventanamicro.com>
  Frank Chang <frank.chang@sifive.com>
  LIU Zhiwei <zhiwei_liu@c-sky.com>
  Mingwang Li <limingwang@huawei.com>
  Peter Maydell <peter.maydell@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Thomas Huth <thuth@redhat.com>
  Wilfred Mallawa <wilfred.mallawa@wdc.com>
  Yanan Wang <wangyanan55@huawei.com>
  Yifei Jiang <jiangyifei@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-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   2c89b5af5e..5e9d14f2be  5e9d14f2bea6df89c0675df953f9c839560d2266 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Sat Jan 22 07:43:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 22 Jan 2022 07:43:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259551.447961 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBB34-0007Yi-F0; Sat, 22 Jan 2022 07:42:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259551.447961; Sat, 22 Jan 2022 07: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 1nBB34-0007Yb-Bl; Sat, 22 Jan 2022 07:42:58 +0000
Received: by outflank-mailman (input) for mailman id 259551;
 Sat, 22 Jan 2022 07: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 1nBB33-0007YR-38; Sat, 22 Jan 2022 07: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 1nBB32-00032U-V3; Sat, 22 Jan 2022 07:42:56 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nBB32-0001lx-Jo; Sat, 22 Jan 2022 07:42:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nBB32-0007z6-JQ; Sat, 22 Jan 2022 07:42:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=3ofwrBd5DGd/yWiQPS5M8hLBIz9TQjn/jcufkgPnOUI=; b=S+D1kyW0tpLNfFEPKsMksJD0PK
	/QoEks9kfa62E8wUvm6qgeovDCiV1OFu1QvlLlgH6qSQK5taIbeZmxAhuf2LgvwnS5TNdwnPfAv01
	ZCBCza4TbcZKUsP5QSeT6xIXb/7cq/6c6ELHA5eh9+JPCmiI5b5aHHOS9MgzEU64WHLk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167786-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167786: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl: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-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-qcow2: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-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-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-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl: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
X-Osstest-Versions-This:
    linux=1f40caa080474d0420e0b0e6c896e455acb6e236
X-Osstest-Versions-That:
    linux=455e73a07f6e288b0061dfcf4fcf54fa9fe06458
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 22 Jan 2022 07:42:56 +0000

flight 167786 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167786/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 167684
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 167684
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 167684
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 167684
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 167684
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 167684
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 167684
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 167684
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 167684
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 167684
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 167684
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 167684
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 167684
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 167684

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167684
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167684
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167684
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167684
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167684
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167684
 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-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-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                1f40caa080474d0420e0b0e6c896e455acb6e236
baseline version:
 linux                455e73a07f6e288b0061dfcf4fcf54fa9fe06458

Last test of basis   167684  2022-01-13 07:47:42 Z    8 days
Failing since        167693  2022-01-13 22:41:04 Z    8 days   16 attempts
Testing same since   167786  2022-01-21 14:18:31 Z    0 days    1 attempts

------------------------------------------------------------
861 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                                fail    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 72644 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Jan 22 10:28:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 22 Jan 2022 10:28:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259565.447972 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBDcu-0006EE-Aj; Sat, 22 Jan 2022 10:28:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259565.447972; Sat, 22 Jan 2022 10:28:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBDcu-0006E7-5y; Sat, 22 Jan 2022 10:28:08 +0000
Received: by outflank-mailman (input) for mailman id 259565;
 Sat, 22 Jan 2022 10:28:07 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nBDct-0006De-6j; Sat, 22 Jan 2022 10:28:07 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nBDct-0006UU-1v; Sat, 22 Jan 2022 10:28:07 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nBDcs-0001IO-OW; Sat, 22 Jan 2022 10:28:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nBDcs-0006lW-O6; Sat, 22 Jan 2022 10:28:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=E6bW9IjltTLssd34p4AS8g92pqOXG8bpjUqNFYKq6nY=; b=FW9pGSpxihB6yNfb4c+D1JEsHx
	wMfBxZLPYfKhITp+AH6CKfQxmD2Rpa/ogPn9P9xEYgP9XylvnSHjlYguSsoO7oSEUeK7UekMPpUdF
	F2LOCZWY2MOsegVdciLa1cQGYD5GEPOBB1h0hrQy1KL7W0nKvgMX1PzCBdQY7ZGLLGpQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167791-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 167791: regressions - FAIL
X-Osstest-Failures:
    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:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=eee062d7a263a2c26c375812aeee6736bac53dd0
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 22 Jan 2022 10:28:06 +0000

flight 167791 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167791/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              eee062d7a263a2c26c375812aeee6736bac53dd0
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  561 days
Failing since        151818  2020-07-11 04:18:52 Z  560 days  542 attempts
Testing same since   167791  2022-01-22 04:18:47 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>
  Ani Sinha <ani@anisinha.ca>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  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>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  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>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  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>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  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 Chevsky <nchevsky@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>
  Or Ozeri <oro@il.ibm.com>
  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>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott 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>
  Stefan Hajnoczi <stefanha@redhat.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>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Дамјан Георгиевски <gdamjan@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 94178 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Jan 22 13:51:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 22 Jan 2022 13:51:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259583.447983 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBGnR-0000Cu-Gt; Sat, 22 Jan 2022 13:51:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259583.447983; Sat, 22 Jan 2022 13:51:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBGnR-0000Cn-Dm; Sat, 22 Jan 2022 13:51:13 +0000
Received: by outflank-mailman (input) for mailman id 259583;
 Sat, 22 Jan 2022 13:51: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 1nBGnQ-0000Cd-I3; Sat, 22 Jan 2022 13:51: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 1nBGnQ-0001Ve-Ca; Sat, 22 Jan 2022 13:51: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 1nBGnQ-000084-2J; Sat, 22 Jan 2022 13:51:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nBGnQ-00046y-1o; Sat, 22 Jan 2022 13:51:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=u9DZ49BOZiZlapWGmlUq4UwA1RxM0kZsoc5XpAPOoIw=; b=62/sxi9qkz/CA2/0c+VG2jQnLv
	dWEQdhQFlg6mYzKIRqgTifJE8PGqFTuISSi6KZ4nfukt41rwrPnyc525Q59koDMTar7gKhvkwL5uQ
	q+GNau9NHI8xHcE2E5bUdtLlQEiaW4kbd1GRjx7Ks3R+KMsaB94nvXQl4Cy2cKgD6Koc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167790-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167790: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:guest-start/debian.repeat: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-armhf-armhf-libvirt: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-armhf-armhf-libvirt-qcow2: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-amd64-i386-libvirt-xsm:migrate-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-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=fe9be76d880b1d43b9dca471f45af3fd380ecb00
X-Osstest-Versions-That:
    xen=4e1df69cc9f51b2e017af1da3ed5b45917642115
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 22 Jan 2022 13:51:12 +0000

flight 167790 xen-unstable real [real]
flight 167793 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/167790/
http://logs.test-lab.xenproject.org/osstest/logs/167793/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 167793-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167784
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167784
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167784
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167784
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167784
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 167784
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167784
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167784
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167784
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167784
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167784
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167784
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167784
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  fe9be76d880b1d43b9dca471f45af3fd380ecb00
baseline version:
 xen                  4e1df69cc9f51b2e017af1da3ed5b45917642115

Last test of basis   167784  2022-01-21 10:11:41 Z    1 days
Testing same since   167790  2022-01-22 04:10:55 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   4e1df69cc9..fe9be76d88  fe9be76d880b1d43b9dca471f45af3fd380ecb00 -> master


From xen-devel-bounces@lists.xenproject.org Sat Jan 22 21:16:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 22 Jan 2022 21:16:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259607.448043 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBNjg-0007cr-D7; Sat, 22 Jan 2022 21:15:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259607.448043; Sat, 22 Jan 2022 21:15:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBNjg-0007ck-7n; Sat, 22 Jan 2022 21:15:48 +0000
Received: by outflank-mailman (input) for mailman id 259607;
 Sat, 22 Jan 2022 21:15:46 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nBNje-0007cZ-PJ; Sat, 22 Jan 2022 21:15:46 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nBNje-0001Sa-NZ; Sat, 22 Jan 2022 21:15:46 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nBNje-0004v7-Aa; Sat, 22 Jan 2022 21:15:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nBNje-0002QT-A9; Sat, 22 Jan 2022 21:15:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=rDwHVcGJFfHcK/a+arv9d0Nf7mFB6w7a82mbLjAJESM=; b=CpsyPPOKgcPTgO3Atiif1kXdg7
	RWPVHpD7ydHwwvLMyTTz+eZoCr1bAA4nwvU1Wxtriy1SJiizCEBSi0zspECESGKMHkPV4DPbDjeIO
	rKgeOpkjS5HerfhYdgt6sWF4G3gsHzGZIxegQIGbDKafoHa0Td5bRQLPOsfcVrg0X7VI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167792-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167792: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:debian-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-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-qcow2: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-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-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-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl: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
X-Osstest-Versions-This:
    linux=9b57f458985742bd1c585f4c7f36d04634ce1143
X-Osstest-Versions-That:
    linux=455e73a07f6e288b0061dfcf4fcf54fa9fe06458
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 22 Jan 2022 21:15:46 +0000

flight 167792 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167792/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 167684
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 167684
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 167684
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 167684
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 167684
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 167684
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 167684
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 167684
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 167684
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 167684
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 167684
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 167684
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 167684
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 167684
 test-armhf-armhf-xl-arndale  12 debian-install           fail REGR. vs. 167684

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167684
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167684
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167684
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167684
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167684
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167684
 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-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-libvirt-qcow2 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-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                9b57f458985742bd1c585f4c7f36d04634ce1143
baseline version:
 linux                455e73a07f6e288b0061dfcf4fcf54fa9fe06458

Last test of basis   167684  2022-01-13 07:47:42 Z    9 days
Failing since        167693  2022-01-13 22:41:04 Z    8 days   17 attempts
Testing same since   167792  2022-01-22 07:46:49 Z    0 days    1 attempts

------------------------------------------------------------
871 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                                fail    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 73221 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Jan 23 00:56:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 23 Jan 2022 00:56:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259618.448053 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBRBB-0002ye-5N; Sun, 23 Jan 2022 00:56:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259618.448053; Sun, 23 Jan 2022 00:56:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBRBB-0002yW-1I; Sun, 23 Jan 2022 00:56:25 +0000
Received: by outflank-mailman (input) for mailman id 259618;
 Sun, 23 Jan 2022 00:56: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 1nBRBA-0002yN-Mg; Sun, 23 Jan 2022 00:56: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 1nBRBA-0005q9-JF; Sun, 23 Jan 2022 00:56: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 1nBRBA-00065y-0n; Sun, 23 Jan 2022 00:56:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nBRBA-00071S-0J; Sun, 23 Jan 2022 00:56:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Uf56I9on6WnWkqd50jK6L/XzTTL46D/Wxxgj0Zn9fcM=; b=bz13FcKhYYGck7XiNvtWPXyfl4
	s3HkNaHVh7Oc0VmV8+5Mmu3miF2HRDC7yrWnNsMHZ2NAoDayF91FDJb3pr21MoTrML8Gtih6ctdjf
	qTxiY3+KC0JMNCZugfX238B5cumiYuV+L4YYe6/ajRUXIUQ5wP0m69e3+X6hWWjxagDM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167794-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167794: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-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-armhf-armhf-libvirt-qcow2:saverestore-support-check: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-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw: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-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=aeb0ae95b7f18c66158792641cb6ba0cde5789ab
X-Osstest-Versions-That:
    qemuu=5e9d14f2bea6df89c0675df953f9c839560d2266
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 23 Jan 2022 00:56:24 +0000

flight 167794 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167794/

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 167787
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167787
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167787
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167787
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167787
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167787
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167787
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167787
 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-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-arm64-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-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                aeb0ae95b7f18c66158792641cb6ba0cde5789ab
baseline version:
 qemuu                5e9d14f2bea6df89c0675df953f9c839560d2266

Last test of basis   167787  2022-01-21 15:50:55 Z    1 days
Testing same since   167794  2022-01-22 18:08:14 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Cleber Rosa <crosa@redhat.com>
  John Snow <jsnow@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-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   5e9d14f2be..aeb0ae95b7  aeb0ae95b7f18c66158792641cb6ba0cde5789ab -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Sun Jan 23 08:42:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 23 Jan 2022 08:42:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259634.448064 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBYSM-0006Ph-Qz; Sun, 23 Jan 2022 08:42:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259634.448064; Sun, 23 Jan 2022 08: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 1nBYSM-0006Pa-Mj; Sun, 23 Jan 2022 08:42:38 +0000
Received: by outflank-mailman (input) for mailman id 259634;
 Sun, 23 Jan 2022 08: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 1nBYSL-0006PQ-L8; Sun, 23 Jan 2022 08: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 1nBYSL-00005Y-Fo; Sun, 23 Jan 2022 08:42: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 1nBYSL-00089s-7R; Sun, 23 Jan 2022 08:42:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nBYSL-0006nc-73; Sun, 23 Jan 2022 08:42: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=REf7pn3xCuHv/AhwEJjWTYEXnIvxByWS5f69TVA4Vj0=; b=FFO/WvlSfM2tTSeq2DaI9KoAZ/
	cmS9cGNXWJcLJ7rfGkmB51dJUOsAr1xe7UVCu7uKDWHNz9LDS9bbCrAZSBWlzPGijI47fpZEVjdkx
	9+F37msYByoHlj3jCh6jaDTAhq7MY+g/Xps24T7S1FPqFJUYHNzTtoq7CE0h8ckEsHEA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167797-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 167797: regressions - FAIL
X-Osstest-Failures:
    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:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=eee062d7a263a2c26c375812aeee6736bac53dd0
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 23 Jan 2022 08:42:37 +0000

flight 167797 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167797/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              eee062d7a263a2c26c375812aeee6736bac53dd0
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  562 days
Failing since        151818  2020-07-11 04:18:52 Z  561 days  543 attempts
Testing same since   167791  2022-01-22 04:18:47 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>
  Ani Sinha <ani@anisinha.ca>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  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>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  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>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  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>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  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 Chevsky <nchevsky@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>
  Or Ozeri <oro@il.ibm.com>
  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>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott 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>
  Stefan Hajnoczi <stefanha@redhat.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>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Дамјан Георгиевски <gdamjan@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 94178 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Jan 23 09:45:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 23 Jan 2022 09:45:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259643.448075 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBZQr-0003su-Lg; Sun, 23 Jan 2022 09:45:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259643.448075; Sun, 23 Jan 2022 09:45: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 1nBZQr-0003sn-IR; Sun, 23 Jan 2022 09:45:09 +0000
Received: by outflank-mailman (input) for mailman id 259643;
 Sun, 23 Jan 2022 09:45: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 1nBZQp-0003sd-U9; Sun, 23 Jan 2022 09:45: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 1nBZQp-0001Al-RX; Sun, 23 Jan 2022 09:45: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 1nBZQp-0001DX-Fp; Sun, 23 Jan 2022 09:45:07 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nBZQp-0004X4-FK; Sun, 23 Jan 2022 09:45:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=WNuleKDaWjJ/APDvpiOWLBFYUFkpxI/9wmKeDKEb3wU=; b=n3Tq7nWE8KWWCY0oLgI0+utOMo
	HPz3XLqk1rFeArC0LxZ6POdyI6d+PuphLkf2blAYVIz+v76g8+JcTjuhejpXZ0/6TmMRUghhuZp+Y
	mkMnfEGqVhxaBwmtEA67AVl/Nb+2luGjeV1MNYJelGiJpDTsSMB2WJ3Tucao9vKNNrGo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167795-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167795: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl: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-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-qcow2: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-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-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-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl: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
X-Osstest-Versions-This:
    linux=1c52283265a462a100ae63ddf58b4e5884acde86
X-Osstest-Versions-That:
    linux=455e73a07f6e288b0061dfcf4fcf54fa9fe06458
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 23 Jan 2022 09:45:07 +0000

flight 167795 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167795/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 167684
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 167684
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 167684
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 167684
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 167684
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 167684
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 167684
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 167684
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 167684
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 167684
 test-amd64-amd64-xl         22 guest-start/debian.repeat fail REGR. vs. 167684
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 167684
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 167684
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 167684
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 167684
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 167684

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167684
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167684
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167684
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167684
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167684
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167684
 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-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-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                1c52283265a462a100ae63ddf58b4e5884acde86
baseline version:
 linux                455e73a07f6e288b0061dfcf4fcf54fa9fe06458

Last test of basis   167684  2022-01-13 07:47:42 Z   10 days
Failing since        167693  2022-01-13 22:41:04 Z    9 days   18 attempts
Testing same since   167795  2022-01-22 21:40:58 Z    0 days    1 attempts

------------------------------------------------------------
912 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                                fail    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 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        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 80413 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Jan 23 10:15:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 23 Jan 2022 10:15:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259650.448086 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBZts-0007AR-Qg; Sun, 23 Jan 2022 10:15:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259650.448086; Sun, 23 Jan 2022 10:15:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBZts-0007AK-NV; Sun, 23 Jan 2022 10:15:08 +0000
Received: by outflank-mailman (input) for mailman id 259650;
 Sun, 23 Jan 2022 10:15: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 1nBZtr-0007AA-Jr; Sun, 23 Jan 2022 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 1nBZtr-0001lH-C6; Sun, 23 Jan 2022 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 1nBZtq-0001uf-W4; Sun, 23 Jan 2022 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 1nBZtq-0004CW-Vb; Sun, 23 Jan 2022 10:15:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=aSMcY0NEDLb4MMEZ2fmvBhOGBAsslUbHj1CMNwvlyio=; b=332f9ZfEeZxTEeXR3+42u9XfJV
	iyvlk9XqgvQjc3nhDgoDH4QANSE+GWO1YZF3f1FkYBQk4kNjtKoIlxToMMmZzP1D1Ehi/bweyTMlm
	WmDXupXZ+XC5VAx1KJoIFRzX16jG3MDVOi0/8RI2wyLH2jLk9gRZDVR8aIRhCJvOIL5M=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167796-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167796: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-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-armhf-armhf-libvirt: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-armhf-armhf-libvirt-qcow2: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-amd64-i386-libvirt-xsm:migrate-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-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=fe9be76d880b1d43b9dca471f45af3fd380ecb00
X-Osstest-Versions-That:
    xen=fe9be76d880b1d43b9dca471f45af3fd380ecb00
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 23 Jan 2022 10:15:06 +0000

flight 167796 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167796/

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 167790
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167790
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167790
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167790
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167790
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167790
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167790
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167790
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167790
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167790
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167790
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167790
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  fe9be76d880b1d43b9dca471f45af3fd380ecb00
baseline version:
 xen                  fe9be76d880b1d43b9dca471f45af3fd380ecb00

Last test of basis   167796  2022-01-23 01:54:37 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Sun Jan 23 10:31:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 23 Jan 2022 10:31:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259659.448096 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBaA2-000155-G2; Sun, 23 Jan 2022 10:31:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259659.448096; Sun, 23 Jan 2022 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 1nBaA2-00014y-Ct; Sun, 23 Jan 2022 10:31:50 +0000
Received: by outflank-mailman (input) for mailman id 259659;
 Sun, 23 Jan 2022 10:31:49 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1nBaA1-00014r-9e
 for xen-devel@lists.xenproject.org; Sun, 23 Jan 2022 10:31:49 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nBa9x-000252-Iw; Sun, 23 Jan 2022 10:31:45 +0000
Received: from [54.239.6.188] (helo=[192.168.0.182])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nBa9x-0007sT-2d; Sun, 23 Jan 2022 10:31:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=w0XxSOGH+XvHAsTVZiGIs6orEU6a6R8p0FKJzzQLeX4=; b=mrZWqYFlx4EH8K44mX+bJhu54T
	DlL79+2MkfICkuISGgJVeOpNsknQhv1tUQb8w0A/jVN+Hx2MdAVBNDxJGOSiZVl0gaX4SmxPjhTXP
	pkZPig1ld1BWedYQ7B1x6SYTrJNW46j7NGAaouhFEtMkJwv0drKeOnJB3Wx9itJI8xV4=;
Message-ID: <0052921f-c582-a07f-748a-0520b6beeafd@xen.org>
Date: Sun, 23 Jan 2022 14:31:38 +0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.0
Subject: Re: [PATCH v4] xen/arm: Allow QEMU platform to be built with GICv2
To: Dongjiu Geng <gengdongjiu1@gmail.com>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel <xen-devel@lists.xenproject.org>
References: <20220117064003.3367188-1-gengdongjiu1@gmail.com>
 <2a1a0dd5-b8a7-8072-2961-b1fbe9ec746a@xen.org>
 <CABSBigSOjoXABoYoe+SahQyX0P045YjgK3A=7yyxw_aX8nzTqg@mail.gmail.com>
 <9A7FAD16-3D4A-4C22-8288-A4719A993CDD@arm.com>
 <CABSBigSba0ENZ-AvDN7bPGNqS5zQKceL901BxhjR8pkRntgnrw@mail.gmail.com>
 <A5AC5212-A9FD-4027-893D-24A5A8DFD825@arm.com>
 <CABSBigRR+QEbPcibGmHAi1egY1XegPDZ_n2zmJftG49+-dOk4w@mail.gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <CABSBigRR+QEbPcibGmHAi1egY1XegPDZ_n2zmJftG49+-dOk4w@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 19/01/2022 15:30, Dongjiu Geng wrote:
> Bertrand Marquis <Bertrand.Marquis@arm.com> 于2022年1月18日周二 17:17写道：
>>
>> Hi Dongju,
>>
>>> On 18 Jan 2022, at 08:58, Dongjiu Geng <gengdongjiu1@gmail.com> wrote:
>>>
>>> Bertrand Marquis <Bertrand.Marquis@arm.com> 于2022年1月18日周二 16:48写道：
>>>>
>>>> Hi Dongju,
>>>>
>>>>> On 18 Jan 2022, at 08:45, Dongjiu Geng <gengdongjiu1@gmail.com> wrote:
>>>>>
>>>>> Julien Grall <julien@xen.org> 于2022年1月17日周一 22:16写道：
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> On 17/01/2022 10:40, Dongjiu Geng wrote:
>>>>>>> It turns out that QEMU has been supporting GICv2 virtualization since
>>>>>>> v3.1.0. So remove the dependencies on GICv3.
>>>>>>
>>>>>>
>>>>>> Technically, the current form of CONFIG_QEMU allows the same binary to
>>>>>> boot on QEMU with GICv2 or GICv3.
>>>>>>
>>>>>>> If we want to use GICv3,
>>>>>>> we can select the QEMU_LEGACY configuration.
>>>>>>
>>>>>> AFAIK, GICv3 is not a legacy feature... So it feels a bit odd to name it
>>>>>> like that (see more below).
>>>>>
>>>>> Legacy means QEMU platform only supports GICV3, now it can support
>>>>> both GICv2 and GICv3. The scope of support has been expanded
>>>>> Not mean GICv3 is a legacy feature.
>>>>
>>>> You might be misleading a bit here.
>>>> In the current configuration, Xen support GICv2, GICv3 and vgic.
>>>> The only thing not supported is actually the new VGIC but this is an unsupported feature not fully functional which shall be used with caution.
>>>>
>>>> What issue exactly do you have in Qemu configured for gicv2 when you use the default configuration ?
>>>
>>> I want to use NEW_VGIC with GICv2, but QEMU only select GICV3,  when
>>> GICv3 is select, the NEW_VGIC can not be used.   I try the NEW_VGIC
>>> with GICv2, not found issue. so I want to remove this limitation.
>>> If  you think we should not support NEW_VGIC feature,  we can ignore
>>> this patch.  thanks!
>>
>> Supporting GICv2 makes sense but using NEW_VGIC in Xen might not as it is not security supported and does not support ITS and MSIs.
>     It is surely that NEW_VGIC not support ITS and MSI.  but I think
> QEMU platform should not limit user select it.

The goal of the option CONFIG_<platform> is to select the minimal set of 
CONFIG_* to allow booting on a given platform. Given that QEMU is 
supporting both GICv2 and GICv3, then I think it is correct to select 
both options.

>  Selecting GICv2、GICv3
> or NEW_VGIC may be chosen by users. But I find user can select it at
> all.
> 
>>
>> Do you have a reason to use the NEW_VGIC implementation instead of the standard one ?
> 
> I add some features which is ported from KVM,  NEW_VGIC is refereed to
> KVM，so it easily integrate

Ok. So why does this needs to be done with CONFIG_QEMU? Can't you use 
defconfig + select the NEW_VGIC by hand?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sun Jan 23 10:33:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 23 Jan 2022 10:33:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259662.448108 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBaBm-0001gG-S6; Sun, 23 Jan 2022 10:33:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259662.448108; Sun, 23 Jan 2022 10:33: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 1nBaBm-0001g9-Oe; Sun, 23 Jan 2022 10:33:38 +0000
Received: by outflank-mailman (input) for mailman id 259662;
 Sun, 23 Jan 2022 10:33: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 1nBaBl-0001fz-Se; Sun, 23 Jan 2022 10:33: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 1nBaBl-00026R-Q5; Sun, 23 Jan 2022 10:33: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 1nBaBl-0002Jz-Aw; Sun, 23 Jan 2022 10:33:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nBaBl-0001wn-9x; Sun, 23 Jan 2022 10:33: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=yrKLEoYV3lzWlFLKhZIH4TdaUV0KRhxBJH54VJ01Qo8=; b=3o3GLHip+CUkoHlC9QFpS0Aa0d
	sSU3+R+TaLlz5N1XBQR8xfM06bxF3h4KbNOD4/q6KQi45Hi7iNT/c5x6M2jWkUPRcHYoMiYLUVVvx
	4OzzQAedwmnT45z6k1HvnAXoNK0+yoDMH3FuAgJHKY7q/RK2F+c1pOex8EqPjoX1diKU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167798-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-coverity test] 167798: all pass - PUSHED
X-Osstest-Versions-This:
    xen=fe9be76d880b1d43b9dca471f45af3fd380ecb00
X-Osstest-Versions-That:
    xen=444597436d08ccae6d210a2b1b877fef636796ea
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 23 Jan 2022 10:33:37 +0000

flight 167798 xen-unstable-coverity real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167798/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 xen                  fe9be76d880b1d43b9dca471f45af3fd380ecb00
baseline version:
 xen                  444597436d08ccae6d210a2b1b877fef636796ea

Last test of basis   167746  2022-01-19 09:19:44 Z    4 days
Testing same since   167798  2022-01-23 09:19:41 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexander Monakov <amonakov@ispras.ru>
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
  Chen Yu <yu.c.chen@intel.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Wei Liu <wl@xen.org>
  Zhang Rui <rui.zhang@intel.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
   444597436d..fe9be76d88  fe9be76d880b1d43b9dca471f45af3fd380ecb00 -> coverity-tested/smoke


From xen-devel-bounces@lists.xenproject.org Sun Jan 23 10:43:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 23 Jan 2022 10:43:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259669.448119 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBaKk-00039Q-QC; Sun, 23 Jan 2022 10:42:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259669.448119; Sun, 23 Jan 2022 10:42: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 1nBaKk-00039J-Mk; Sun, 23 Jan 2022 10:42:54 +0000
Received: by outflank-mailman (input) for mailman id 259669;
 Sun, 23 Jan 2022 10:42: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 1nBaKi-00039D-R5
 for xen-devel@lists.xenproject.org; Sun, 23 Jan 2022 10:42: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 1nBaKf-0002Fy-Gl; Sun, 23 Jan 2022 10:42:49 +0000
Received: from [54.239.6.188] (helo=[192.168.0.182])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nBaKf-0000He-7Z; Sun, 23 Jan 2022 10:42:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=M6Ht5nPYCrcUkhD1ne1wihEym/zwqkcYVFjTKV8lJwg=; b=lOzUUnrKHbw86oq7OSt5mK0NGY
	np3SxPqRGAVpmm+EM34VxokaHE66QSqNhMAJMqOF/Yg//Vja5GMKL8IEUPm7Sgbq86zQ7A8e/zQr5
	lfwlIsb8y3T/gO1IFllfudY9SK6oBenFwzWBeSVchOGqKZBKnKWNmL4rQE/9++0m9pMw=;
Message-ID: <f016c6cb-0e57-0a53-94a9-47f0a89b1d77@xen.org>
Date: Sun, 23 Jan 2022 14:42:45 +0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.0
Subject: Re: [PATCH v4] xen/arm: Allow QEMU platform to be built with GICv2
To: Dongjiu Geng <gengdongjiu1@gmail.com>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel <xen-devel@lists.xenproject.org>
References: <20220117064003.3367188-1-gengdongjiu1@gmail.com>
 <2a1a0dd5-b8a7-8072-2961-b1fbe9ec746a@xen.org>
 <CABSBigSOjoXABoYoe+SahQyX0P045YjgK3A=7yyxw_aX8nzTqg@mail.gmail.com>
 <9A7FAD16-3D4A-4C22-8288-A4719A993CDD@arm.com>
 <CABSBigSba0ENZ-AvDN7bPGNqS5zQKceL901BxhjR8pkRntgnrw@mail.gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <CABSBigSba0ENZ-AvDN7bPGNqS5zQKceL901BxhjR8pkRntgnrw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hello,

On 18/01/2022 12:58, Dongjiu Geng wrote:
> Bertrand Marquis <Bertrand.Marquis@arm.com> 于2022年1月18日周二 16:48写道：
>>
>> Hi Dongju,
>>
>>> On 18 Jan 2022, at 08:45, Dongjiu Geng <gengdongjiu1@gmail.com> wrote:
>>>
>>> Julien Grall <julien@xen.org> 于2022年1月17日周一 22:16写道：
>>>>
>>>> Hi,
>>>>
>>>> On 17/01/2022 10:40, Dongjiu Geng wrote:
>>>>> It turns out that QEMU has been supporting GICv2 virtualization since
>>>>> v3.1.0. So remove the dependencies on GICv3.
>>>>
>>>>
>>>> Technically, the current form of CONFIG_QEMU allows the same binary to
>>>> boot on QEMU with GICv2 or GICv3.
>>>>
>>>>> If we want to use GICv3,
>>>>> we can select the QEMU_LEGACY configuration.
>>>>
>>>> AFAIK, GICv3 is not a legacy feature... So it feels a bit odd to name it
>>>> like that (see more below).
>>>
>>> Legacy means QEMU platform only supports GICV3, now it can support
>>> both GICv2 and GICv3. The scope of support has been expanded
>>> Not mean GICv3 is a legacy feature.
>>
>> You might be misleading a bit here.
>> In the current configuration, Xen support GICv2, GICv3 and vgic.
>> The only thing not supported is actually the new VGIC but this is an unsupported feature not fully functional which shall be used with caution.
>>
>> What issue exactly do you have in Qemu configured for gicv2 when you use the default configuration ?
> 
> I want to use NEW_VGIC with GICv2, but QEMU only select GICV3,  when
> GICv3 is select, the NEW_VGIC can not be used.   I try the NEW_VGIC
> with GICv2, not found issue. so I want to remove this limitation.
> If  you think we should not support NEW_VGIC feature,  we can ignore
> this patch.  thanks!

I would love to get the NEW_VGIC supported. But I think this is 
orthogonal to whether we want to allow CONFIG_QEMU to select it.

If we fully support the new vGIC (i.e vGICv3 is implemented) then it 
would be possible to select it with CONFIG_QEMU as the restriction 
(!GICV3) would not be present.

So I view the change here as temporary. The proposed change will have an 
impact on the existing users (i.e. CONFIG_QEMU will not work out of the 
box anymore when QEMU is configured with GICv3). In addition to that, 
the end solution doesn't look simple. So I think this is not a patch I 
am willing to see temporarily.

One possibility would be to create a new CONFIG for allowing to select 
NEW_VGIC. That said, I don't much like it. So I would say if you want to 
select NEW_VGIC then you want to use defconfig (which should contain 
enough to boot on QEMU with DT).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sun Jan 23 11:03:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 23 Jan 2022 11:03:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259672.448130 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBaeA-0005Us-GE; Sun, 23 Jan 2022 11:02:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259672.448130; Sun, 23 Jan 2022 11:02: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 1nBaeA-0005Ul-Cx; Sun, 23 Jan 2022 11:02:58 +0000
Received: by outflank-mailman (input) for mailman id 259672;
 Sun, 23 Jan 2022 11:02: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 1nBae9-0005Uf-H0
 for xen-devel@lists.xenproject.org; Sun, 23 Jan 2022 11:02: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 1nBae8-0002dP-SQ; Sun, 23 Jan 2022 11:02:56 +0000
Received: from [54.239.6.188] (helo=[192.168.0.182])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nBae8-0001tz-IS; Sun, 23 Jan 2022 11:02:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=3xo31hFLo88gu0F/rhfk1iEvaCfl1IX4gCDrvt9ZAds=; b=sZHuNrtNtkvaQYCAcP7BKieskd
	20xfjkon7iBla5Xa6gIQPWqF4xETJOxRNLBPkNUFwnCWvQ+Dhw8d8PVZaMQ9cYcBGuI62zU0b1QaV
	fFHqOYpsrR5et5egQLqAtlh2xYThK5VLEv+9fxTwHI9PGcLXCwZesosKoyInmUez6aSY=;
Message-ID: <f3b2ae98-c7af-d8c0-b0a4-52e622517c34@xen.org>
Date: Sun, 23 Jan 2022 15:02:52 +0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.0
Subject: Re: [XEN PATCH v2 2/5] xen: export get_free_port
To: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
Cc: jgross@suse.com, Bertrand.Marquis@arm.com, Volodymyr_Babchuk@epam.com,
 Stefano Stabellini <stefano.stabellini@xilinx.com>,
 Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
References: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop>
 <20220113005855.1180101-2-sstabellini@kernel.org>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220113005855.1180101-2-sstabellini@kernel.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 13/01/2022 04:58, Stefano Stabellini wrote:
> From: Stefano Stabellini <stefano.stabellini@xilinx.com>
> 
> get_free_port will soon be used to allocate the xenstore event channel
> for dom0less domains.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
> CC: Julien Grall <julien@xen.org>
> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> CC: Bertrand Marquis <bertrand.marquis@arm.com>
> CC: Jan Beulich <jbeulich@suse.com>
> CC: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
>   xen/common/event_channel.c | 2 +-
>   xen/include/xen/event.h    | 3 +++
>   2 files changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
> index da88ad141a..5b0bcaaad4 100644
> --- a/xen/common/event_channel.c
> +++ b/xen/common/event_channel.c
> @@ -232,7 +232,7 @@ int evtchn_allocate_port(struct domain *d, evtchn_port_t port)
>       return 0;
>   }
>   
> -static int get_free_port(struct domain *d)
> +int get_free_port(struct domain *d)

I dislike the idea to expose get_free_port() (or whichever name we 
decide) because this can be easily misused.

In fact looking at your next patch (#3), you are misusing it as it is 
meant to be called with d->event_lock. I know this doesn't much matter
in your situation because this is done at boot with no other domains 
running (or potentially any event channel allocation). However, I still 
think we should get the API right.

I am also not entirely happy of open-coding the allocation in 
domain_build.c. Instead, I would prefer if we provide a new helper to 
allocate an unbound event channel. This would be similar to your v1 (I 
still need to review the patch though).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sun Jan 23 11:06:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 23 Jan 2022 11:06:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259675.448141 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBahJ-00065x-W2; Sun, 23 Jan 2022 11:06:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259675.448141; Sun, 23 Jan 2022 11:06:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBahJ-00065q-SU; Sun, 23 Jan 2022 11:06:13 +0000
Received: by outflank-mailman (input) for mailman id 259675;
 Sun, 23 Jan 2022 11:06: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 1nBahI-00065k-Ke
 for xen-devel@lists.xenproject.org; Sun, 23 Jan 2022 11:06: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 1nBahI-0002hY-6K; Sun, 23 Jan 2022 11:06:12 +0000
Received: from [54.239.6.188] (helo=[192.168.0.182])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nBahH-0002DK-Tb; Sun, 23 Jan 2022 11:06:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=lpSyeJrnmOWCMqx5jxt46vhLl4VLh7U3mafwp5HQfJA=; b=yiNr7FbHeYU6c0nz6Xz6EIWaTJ
	ictxtEN909iZ7H/AnlT+aIBgqtlwcneGhkgY0rMbgOcEJZBCrWUP0c7kjYR98nb1Lgq0891Y7CVhK
	TMbbgcD/WU7P6weQtEgoGpnxYg6JVmLJbhT9DcvPz1/84ein+kWRxbOp+n4BnbXPu/vM=;
Message-ID: <62b2ebe5-5b15-ab0e-97ee-c1a6f5a2c2c1@xen.org>
Date: Sun, 23 Jan 2022 15:06:08 +0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.0
Subject: Re: [XEN PATCH v2 3/5] xen/arm: configure dom0less domain for
 enabling xenstore after boot
To: Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Juergen Gross <jgross@suse.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Luca Miccio <lucmiccio@gmail.com>,
 Stefano Stabellini <stefano.stabellini@xilinx.com>,
 Penny Zheng <Penny.Zheng@arm.com>
References: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop>
 <20220113005855.1180101-3-sstabellini@kernel.org>
 <B458F1F7-4DF0-4919-8E16-11E889A9ABB2@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <B458F1F7-4DF0-4919-8E16-11E889A9ABB2@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 13/01/2022 14:15, Bertrand Marquis wrote:
> Hi Stefano,
> 
> + Penny in CC for the question.
> 
>> On 13 Jan 2022, at 00:58, Stefano Stabellini <sstabellini@kernel.org> wrote:
>>
>> From: Luca Miccio <lucmiccio@gmail.com>
>>
>> If "xen,enhanced" is enabled, then add to dom0less domains:
>>
>> - the hypervisor node in device tree
>> - the xenstore event channel
>>
>> The xenstore event channel is also used for the first notification to
>> let the guest know that xenstore has become available.
>>
>> Signed-off-by: Luca Miccio <lucmiccio@gmail.com>
>> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
>> CC: Julien Grall <julien@xen.org>
>> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
>> CC: Bertrand Marquis <bertrand.marquis@arm.com>
> 
> Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
> 
> Just one question: GUEST_GNTTAB_BASE is fixed but could it be a problem for a direct map guest in the future ?
It will be an issue. I think we can re-use the same method as we do in 
dom0 (see find_gnttab_region()).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sun Jan 23 21:52:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 23 Jan 2022 21:52:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259691.448152 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBkmr-0005XT-9J; Sun, 23 Jan 2022 21:52:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259691.448152; Sun, 23 Jan 2022 21:52:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBkmr-0005XM-5M; Sun, 23 Jan 2022 21:52:37 +0000
Received: by outflank-mailman (input) for mailman id 259691;
 Sun, 23 Jan 2022 21:52:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=lPRm=SH=knorrie.org=hans@srs-se1.protection.inumbo.net>)
 id 1nBkmp-0005XG-Oo
 for xen-devel@lists.xenproject.org; Sun, 23 Jan 2022 21:52:35 +0000
Received: from syrinx.knorrie.org (syrinx.knorrie.org [82.94.188.77])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c5268027-7c96-11ec-8fa7-f31e035a9116;
 Sun, 23 Jan 2022 22:52:33 +0100 (CET)
Received: from [IPV6:2a02:a213:2b80:4c00::12] (unknown
 [IPv6:2a02:a213:2b80:4c00::12])
 (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by syrinx.knorrie.org (Postfix) with ESMTPSA id 64104610AF88B;
 Sun, 23 Jan 2022 22:52:33 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c5268027-7c96-11ec-8fa7-f31e035a9116
Message-ID: <798c8459-7f28-c081-15bf-04ea94e8b711@knorrie.org>
Date: Sun, 23 Jan 2022 22:52:33 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Content-Language: en-US
From: Hans van Kranenburg <hans@knorrie.org>
To: 1004269@bugs.debian.org, xen-devel <xen-devel@lists.xenproject.org>
References: <2a095341-a727-23d1-2dce-dd9caa72c920@knorrie.org>
Subject: Debian Bug#1004269: Linker segfault while building src:xen
In-Reply-To: <2a095341-a727-23d1-2dce-dd9caa72c920@knorrie.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

(To both the Debian bug # and xen-devel list, reply-all is fine)
Hi Xen people,

I just filed a bug at Debian on the binutils package, because since the 
latest binutils package update (Debian 2.37.50.20220106-2), Xen (both 
4.14 and 4.16) fails to build with a segfault at the following point:

x86_64-linux-gnu-ld -mi386pep --subsystem=10 
--image-base=0xffff82d040000000 --stack=0,0 --heap=0,0 
--section-alignment=0x200000 --file-alignment=0x20 
--major-image-version=4 --minor-image-version=16 --major-os-version=2 
--minor-os-version=0 --major-subsystem-version=2 
--minor-subsystem-version=0 --no-insert-timestamp --build-id=sha1 -T 
efi.lds -N prelink.o 
/builds/xen-team/debian-xen/debian/output/source_dir/xen/common/symbols-dummy.o 
-b pe-x86-64 efi/buildid.o -o 
/builds/xen-team/debian-xen/debian/output/source_dir/xen/.xen.efi.0xffff82d040000000.0 
&& :
Segmentation fault (core dumped)

Full message and links to build logs etc are in the initial bug message, 
to be seen at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1004269

We (Debian Xen Team) are awaiting response, but I thought to also let 
you know already.

* Does the above error 'ring a bell'?
* Can you maybe also reproduce this in a development environment with 
very latest binutils?
* Maybe someone has a useful comment for the Debian binutils maintainer 
about what's happening in this step of the build?
* Any suggestions about what we can do to help figure this out?
* We'll try to help debug, but will surely appreciate upstream help if 
things get too technical. It's simply the case that I did not have to 
look into a very similar issue before, so it's new.

Thanks!
Hans


From xen-devel-bounces@lists.xenproject.org Sun Jan 23 22:13:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 23 Jan 2022 22:13:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259694.448163 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBl7F-0007u4-1o; Sun, 23 Jan 2022 22:13:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259694.448163; Sun, 23 Jan 2022 22: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 1nBl7E-0007tx-Uq; Sun, 23 Jan 2022 22:13:40 +0000
Received: by outflank-mailman (input) for mailman id 259694;
 Sun, 23 Jan 2022 22:13: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 1nBl7D-0007tn-UX; Sun, 23 Jan 2022 22: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 1nBl7D-0006Mp-Qm; Sun, 23 Jan 2022 22: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 1nBl7D-0004Av-D1; Sun, 23 Jan 2022 22:13:39 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nBl7D-0006rD-CY; Sun, 23 Jan 2022 22:13:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=PtvboaGTIX801vDAM7Rrzl4ug/EELXJxbyvsFloa1Qk=; b=xu165CZtttOIMKIMOOxbF4Wbyr
	PONhFFdzF/n1NCii07QTxEJ3BETTdrjikfV1tD9HjD4KPhKexRfcC4lGOMNpVtdpizLMu68TYxaA9
	sj57zN8ZaDhyCfd7gZyjVWXB9nloiBpcxrIUuloGXh3KYNm16myF+5F/cOK+Rn4bczvY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167799-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167799: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl: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-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-qcow2: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-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt: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-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl: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
X-Osstest-Versions-This:
    linux=e783362eb54cd99b2cac8b3a9aeac942e6f6ac07
X-Osstest-Versions-That:
    linux=455e73a07f6e288b0061dfcf4fcf54fa9fe06458
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 23 Jan 2022 22:13:39 +0000

flight 167799 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167799/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 167684
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 167684
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 167684
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 167684
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 167684
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 167684
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 167684
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 167684
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 167684
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 167684
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 167684
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 167684
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 167684
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 167684
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 167684

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167684
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167684
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167684
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167684
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167684
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167684
 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-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-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                e783362eb54cd99b2cac8b3a9aeac942e6f6ac07
baseline version:
 linux                455e73a07f6e288b0061dfcf4fcf54fa9fe06458

Last test of basis   167684  2022-01-13 07:47:42 Z   10 days
Failing since        167693  2022-01-13 22:41:04 Z    9 days   19 attempts
Testing same since   167799  2022-01-23 09:46:21 Z    0 days    1 attempts

------------------------------------------------------------
923 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                                fail    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 81526 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Jan 24 07:33:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 07:33:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259706.448173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBtqp-0002jT-Br; Mon, 24 Jan 2022 07:33:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259706.448173; Mon, 24 Jan 2022 07: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 1nBtqp-0002jM-8s; Mon, 24 Jan 2022 07:33:19 +0000
Received: by outflank-mailman (input) for mailman id 259706;
 Mon, 24 Jan 2022 07:33: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 1nBtqo-0002jC-Dl; Mon, 24 Jan 2022 07:33: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 1nBtqo-0002qZ-CU; Mon, 24 Jan 2022 07:33: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 1nBtqo-0000qL-2i; Mon, 24 Jan 2022 07:33:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nBtqo-0003yE-2M; Mon, 24 Jan 2022 07:33: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=8N53SN2hk88RHsHbomIhNJM6B2bYT41aTsAAjiHHbR0=; b=xjbDkIw+kWg9+lc05l6ej4ZAS8
	4T5CwH3rQqGK1yaT0nOrKpir6OQ8kofvxJF23UaPEuTl62f+N4CtK40rfYFpXdMl40nc5S/lu9xTB
	haM0iuStf5yi4htRdh5g8WsbKSKzjWaGqSiitYhuGj++mgDupdvtIfUq3m4H2AyWBRZA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167803-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 167803: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=7e5c603cba0823fd97456984f4cfc21c4c831b52
X-Osstest-Versions-That:
    ovmf=21320ef66989f8af5a9e9b57df73d20a70bea85f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 24 Jan 2022 07:33:18 +0000

flight 167803 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167803/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 7e5c603cba0823fd97456984f4cfc21c4c831b52
baseline version:
 ovmf                 21320ef66989f8af5a9e9b57df73d20a70bea85f

Last test of basis   167775  2022-01-21 02:42:11 Z    3 days
Testing same since   167803  2022-01-24 01:55:31 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Aiman Rosli <muhammad.aiman.rosli@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
   21320ef669..7e5c603cba  7e5c603cba0823fd97456984f4cfc21c4c831b52 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Jan 24 08:23:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 08:23:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259728.448213 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBudZ-00007B-Pt; Mon, 24 Jan 2022 08:23:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259728.448213; Mon, 24 Jan 2022 08:23:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBudZ-000071-L3; Mon, 24 Jan 2022 08:23:41 +0000
Received: by outflank-mailman (input) for mailman id 259728;
 Mon, 24 Jan 2022 08:23:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=REvy=SI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nBudY-00006f-9d
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 08:23:40 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ede2b44e-7cee-11ec-8fa7-f31e035a9116;
 Mon, 24 Jan 2022 09:23:38 +0100 (CET)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2050.outbound.protection.outlook.com [104.47.13.50]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-33-jmuenR9-NIyFSgnLViRTSg-1; Mon, 24 Jan 2022 09:23:36 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM0PR0402MB3587.eurprd04.prod.outlook.com (2603:10a6:208:26::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Mon, 24 Jan
 2022 08:23:35 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.017; Mon, 24 Jan 2022
 08:23:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ede2b44e-7cee-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643012617;
	h=from:from:reply-to:subject:subject: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=jTVc9Cn1qLnFkxNzL0j6MTp9wDoAuSyM/HOPcj/CeNQ=;
	b=HC/nJT5xHd4iIOMbzJlbUslSD92HtWOb+sCoTN9QwALZq45H7gw4cYkgkikrBgEhPUJ/tO
	yEM4iME0IynDsZ1yt2w3i3SqukZcvYbnhiSmNB4vDvqNakaaiaky4kNb4cDHY4s0BV3in/
	+SEAX4Qh9WkBC82rIlosfFVysuOlhW0=
X-MC-Unique: jmuenR9-NIyFSgnLViRTSg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RcvQ6jYRUlMWxOUiuqOQiZZz+4WuZ64Xr5zjjCWneMWCM/trc5bIZ0GYwtiU7lAgiiBr2foQCxARdR0AZr0pXvEjxrOArtMq/3m8w/E37fhs+S56w4OKRIKC1lPFagwv/0SeW1Gr7IN0li9Mf0/eUG6njgOT+HBbLdJHkTFnP4Qq48YIbemp8IosDJ7FYHgYKf3UjgDzGd5tBpRCBopxlaodOJY9AZQ6q7Tztr4f9jDBfGFm1W7LS4uNSvOfGF9okCBottitxH7qEXh6Aj6HZ/rYFYAGzipzjeq/CcFW5tf+Gp8d1IX8ym9Jpx3P8cWtIs6um9PoNu/EZLguBhZBlg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jTVc9Cn1qLnFkxNzL0j6MTp9wDoAuSyM/HOPcj/CeNQ=;
 b=mRNfE5FwGhcrkv0ZAIZfOLZcHX6mBCL8WO/JrnlVofa1sUXUTkmPuis5ISEfLsglNqF3gEnGIZ8NJ5B5lb6QvfQ8nyFxoy48xjiCakXCToM6s3qbkJuqwYlZNR3BJ2hjKAocrThTLidl8IAeERxIy9iWlXEP+CVSDLUc+pPqA2V6GVL5PFAiORfN+hJPJCF75ZsfoiQLd9FF8zgipdZx1jq5lAhTzPNXxdD3a0bNRTTgG0IYXeVU/G4I72Xz0njsWFhBBOVUZP8q3oYQUeCEBPSYLTtgwK83jKq5SnJ/PQdk2WVCyKGGJh+8xxN6dQymbiDFBROL6sMnEWArkl7wEQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <879e5b70-bffd-b240-b2c8-c755b09d41a9@suse.com>
Date: Mon, 24 Jan 2022 09:23:35 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2 0/4] x86: further improve timer freq calibration accuracy
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM7PR04CA0021.eurprd04.prod.outlook.com
 (2603:10a6:20b:110::31) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e1202db5-0656-44fb-e090-08d9df12d003
X-MS-TrafficTypeDiagnostic: AM0PR0402MB3587:EE_
X-Microsoft-Antispam-PRVS:
	<AM0PR0402MB358738B2BFBB669F9D061EF0B35E9@AM0PR0402MB3587.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:
	xcwkNU9PHvXeuDL4sBURz2oGo/T/arj0iGsKzSxrOvPTcfW1xLqnn45RdoUt5GGhMfDOLdNcuCLeKlZDkh2fZVZrJht8Dz1IJr6T5oB9LZuxS6tpOtetyKlHxX2m5R4VA2KdQfOz//QzWkmRRduiJBhIf39UrhADO4xbTJaBGaXQ3Ey4N9JMwxgn2AdkRtKbsEP185AVeVUPrZ2lzDvUxsUmlJhX4kQyBC17WRFStieof2DGUm18OCpIPTBT70aqewqfD67uHtdEtKrH8P2sdFTGia3P+gvplIordjvPSiSE69ztt0uqDcKblQdn5eof11wYNQijIuaFFFWb9migxuarV+Ig6pLziGL1xgcWtkWmG9p+0NsURtRVG2QlWaEnzxFCNahFp5yj4DDgoGye4f27r9ORboJCEVILw91Ksn2kSO8FgPnS5xuUkk/iLu5sIiSa4nWIZhC4OXTisSyxHGZRE0FGsioJ5PouacDCgTV95N14PtbM8E0aE/5bT8h5ziLcYzf71GtyDpheOoUHgX4CuGXk1N1UlemmRjtcTowamHEPyiCLZ5IQksPu1jXB7E8ZAtArTk5KMeRQlMtTfm19F/9qVXg07JkKRc7UJR4rljcATGYtuxklobS1IV5z+yKX7ZbrSeFOl37yx/nR6opiKeFh75ScqWIKkqXCoOaqhEF7xHXR0Ojy/IJSa4Bzt7xd1knpE+3F5EbLTZHqd64DpkGPO+LPOEVgXGKJPEU=
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)(2616005)(186003)(31686004)(26005)(4326008)(5660300002)(6916009)(8676002)(54906003)(66556008)(66476007)(316002)(8936002)(36756003)(6512007)(6506007)(2906002)(6486002)(31696002)(508600001)(86362001)(38100700002)(4744005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VE9VQ0hldkdERmNIanNIQUhGaE8xUDdrZi80K3loYlBJZmhjejhrc2o1VkR0?=
 =?utf-8?B?c3hFenVpZHNwZDlYWDQ2TmNCQnFUazFrM0liUVp3K3JLb2lPV2c2VmhXUjhF?=
 =?utf-8?B?Ym5TSjJ0N3RBVGltUEdEWFhvUDNSTGF3MXVBM0I4OXc0N0dTckVyZGpHdHJN?=
 =?utf-8?B?ZDdXWFNiamJWajZLd1lKMm9SUVdIRVQ5SUVJclZwTXVZZk5kcGZRRFRBdW5q?=
 =?utf-8?B?RkJHMmJQMG4vRWZNRHc2WlUvMUduUS9UZUgrL3NVTFA5SVZOT0VCU0NvK0Ex?=
 =?utf-8?B?di9mdElKMzFlL3pYZlo1UlVncGNaejE1RXNiQnlwMDhHa0RCS1JLQU5xRHp4?=
 =?utf-8?B?MzhrTXZTYTlUVGJ5dVZaSGd5VWYyaVZTK3VzOEYyNzZFa3J0QTZKSWhtS3FN?=
 =?utf-8?B?SEl2em5GNmRmb0pjaWNvVGkrTkpRYlB2T0l0L2d1L0hMWDlpS0ErdlB1RnVV?=
 =?utf-8?B?SXRDMzRPWHVHUGVzU29oNjFPTFhkQTRPRTFYUXpTKzB6YktZVVBxVFNvRURB?=
 =?utf-8?B?Z1ZVL3pGQllQREx2MVliSmhGR0ZudGRkYVlEQlV5cnAyWC8vam8rYkRRQzRB?=
 =?utf-8?B?WnFnQUh1c1MrNkEwbWtZcDdRZUlTUkljemJiQ3VJYjJQV0lYUE5KT0Zwcnd2?=
 =?utf-8?B?UFllVU9QanZLbk83MTNFMGZBbUZ0amRNNnlrd0dVdjdJMUl2eHI0RFVKcm5U?=
 =?utf-8?B?REVnbzRWWGlTSkRUdjVwdytmN0ZNU0xUZ040WmlMVi9pVEg2bytUUHRWR0xs?=
 =?utf-8?B?anB0eHZXbTZ0ZUpXR2VLckM5Vnc2S0NnYVZVNGpLUmdIQk40QTdTWXBoTlZl?=
 =?utf-8?B?QVptdk5EU3ZLbzZaMlB4NUUwa1RJQzVQM0VxN1Z2cktZZU1lVUw3dmFiU3R0?=
 =?utf-8?B?a21aTTRDTG9nRWNRSFpxNVR0bFdoU2NuQ2lWU3NtUE9NTTdzNXF2UjJSVXUy?=
 =?utf-8?B?bUhFZ0xtRkNhd2JwMnRUcHp5aGdRNjdMQTRWaTcwSGRGTkphNXIyUmljUUlY?=
 =?utf-8?B?d2RCUkxZTkIreXNWem14QVJIYXVSV05XMDNMU1Q4UjNOeFVJUDNRSW5CYm95?=
 =?utf-8?B?Ymdvdnl1RGZDMXFJS09TL3RGdlJzcDJXVkVMVW8xVzl5dTRLR081WnpneEVj?=
 =?utf-8?B?TTNrQzFNNEdpK1B0bVpSSmk4WHlhOURQbERRUHFPWTBVYXBDOVNUYWVjSis4?=
 =?utf-8?B?UTM5Y0ZOODJHVko3eDVNam1NM3gzd0R1OG9Bbk9PbnFudXpFMFlPVEJDUE43?=
 =?utf-8?B?VU1VUjBCZ2dBVmpGNWtjM2tZNmgwZUlGaThob2NsNWlQeml6aXRSZmVvMUdu?=
 =?utf-8?B?UlRvZmt0by8rQkdDRW83c28rZE9mVGhCalZ2UVN6enppZURuSkFKSG54bkM4?=
 =?utf-8?B?ZG9YWkNCSWFlQXA0ZFFpaE5WSDdHWEVkajZ6N1lMZGtGZDVXaUI4SVlVRzJ3?=
 =?utf-8?B?TGxhN1dIM1ZXVkoxQWRpSGViR2k2RUI0M1NjNkRKcS8wbDdNb2hhOUtrTWJx?=
 =?utf-8?B?aWd3L1B2MW1tU1UyZ21XWkdWTU1MUGJzRDFncW1WZlBzZ3pVZW5zVmRzdkhG?=
 =?utf-8?B?TjBnNnpzZEJ2TDdMNVI1TUZnZk5jTkdrd0RTT2R4ckp0czhMSkZnL1EwZHhM?=
 =?utf-8?B?NndicUhWSmN4cUI0elpCTmRraDZ1b2c2azZaR2F3bGVNNzFrRm5qR05hdEVJ?=
 =?utf-8?B?OGFuQ2R6aXRsN2NneGp0b1NvVUcycTRUSE9VRWc3TXJ5RHRMUDVPUllXMlZs?=
 =?utf-8?B?NmhlSVhHbU1EdnRENllMMi9jMVRCeS8wOSthd09peUFnVHBIaTVsY2hoRWFE?=
 =?utf-8?B?UTlMb2FoZ2NnK1B5SFJvS2NnQ2JQMEZ1Y1RRRjRkZW1IZThocUxibWdoMUVV?=
 =?utf-8?B?RTk3OTU5U0hPOFhFeDVkZkFQemJCQSt1MWQzRFpOU2FPNWIzdTdFeEVORVZB?=
 =?utf-8?B?K0ozZnN4NnBaZFJaNGExSkRDTGFnYzJWUkhQS1EvSWVKUVAvaGZxdUR6V09N?=
 =?utf-8?B?SXJuTGpWQkZXMmtpK3ZPZ1pLRTdGSTc5aERSR1RTS1ZzQml1Q0JyLzd0RnAx?=
 =?utf-8?B?eW9LUVVWdWhla0x3T3UxUEhycFVaMDJ1ZklOY2pTZTdFYXpndGlOb0xLOTF6?=
 =?utf-8?B?V1pJdTh1U1lhUHB3RVlzcisxQTNzV0VVRjEzQkpDSzdFMHRpQXVneStzNXFR?=
 =?utf-8?Q?hK91iKUYcVfY7mwJ80SVTR0=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e1202db5-0656-44fb-e090-08d9df12d003
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jan 2022 08:23:34.9621
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dWODrAZ5EPMcAec04+uj77+iRcIUmYSt9yhF0XsQyyNmdim8PvSxGPFijVSGB5dlS8j9EhkEBmereSIwY6F9Bw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0402MB3587

... plus some tidying (or so I hope). Only the 1st patch was submitted
so far (i.e. as v1), all others are new.

1: time: further improve TSC / CPU freq calibration accuracy
2: APIC: calibrate against platform timer when possible
3: APIC: skip unnecessary parts of __setup_APIC_LVTT()
4: APIC: make connections between seemingly arbitrary numbers

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 08:25:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 08:25:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259732.448224 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBufA-0000lT-75; Mon, 24 Jan 2022 08:25:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259732.448224; Mon, 24 Jan 2022 08: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 1nBufA-0000lM-3a; Mon, 24 Jan 2022 08:25:20 +0000
Received: by outflank-mailman (input) for mailman id 259732;
 Mon, 24 Jan 2022 08:25:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=REvy=SI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nBuf8-0000lB-NK
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 08:25:18 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 290717b3-7cef-11ec-bc18-3156f6d857e4;
 Mon, 24 Jan 2022 09:25:17 +0100 (CET)
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur03lp2054.outbound.protection.outlook.com [104.47.8.54]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-33-hSBwPLKkPZiwJxeDOLmwVA-1; Mon, 24 Jan 2022 09:25:15 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DBBPR04MB7883.eurprd04.prod.outlook.com (2603:10a6:10:1e9::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Mon, 24 Jan
 2022 08:25:13 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.017; Mon, 24 Jan 2022
 08: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: 290717b3-7cef-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643012716;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=ilZxZGw1TjgKK7WvV1Lh0ZuGM3SnwOvPz3fO9dftywI=;
	b=MFtCa/YC8KUfspfUHjoP7WlZKQWFwfo1HtRoDWT5N7QEN1DocRqH8zCSETz1TWXeCJ2Z99
	Bh8ARWPKexvZ6uNnxrxj9RsuG7Q0IWzO0zFt7V7KNKYOzQjFpoEwdB42fF7Nz0fNhjyreN
	UkKqtF/L4Fd2JXuZOpmsE8mTuFVpx9E=
X-MC-Unique: hSBwPLKkPZiwJxeDOLmwVA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VUtPM7oa7n8YChl+RkHMn81hZsMmgGbK0FZgUcI8otmesp0AsezY9HOFkdzM8EzIkQlFmkEdBYFKg855eqDrmjQPz7naTf/RKNOAYDZNwAC4tym2Ic0HVN8+xN6CuHJtqN/zbEKbY8gu5gZrYDYqNoMDcwsmGWRYUFEZQNhoOgKlw24zmzVuLPi6KPVwrdD7qaGuXvA3jUALldzsaJPQDFIB0zEwy0x/HxRD9r6tc9S5thF7pbvNK5me+LHzcMpwFwGEL4ea2BlBVL2bqkafZfuVpSUm6orLIaiKM79zO5xcMDx+59sO4UFdBwIu4JrOIh/u4Ka+UU4QnNihRjpIZA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ilZxZGw1TjgKK7WvV1Lh0ZuGM3SnwOvPz3fO9dftywI=;
 b=JIN5vmfgzwrxfK5EfbGb+65ll+uui7SRo+NfXrxxxq9vnDATrKmPpVivLGdsKKTsUXAfvuVUZm0/A2xFH/7ecfpN4ACBaQhkpTre3PBUzQfjtKFvmddE3/ygLjWyMHfAiRQo1zWJuaGyT0hQNxO9cOkh5W9GQiwMgaVRDYNFxcJFGcPHJJDkajIbmV8/tbuPEU4PAx6dnLQ6kt3bUzO0FTnprXctMxA8uDfdzTKxXGPZlcp03x883AYgjSAsjAZ+Qfj32g1a987nazHA4djiLAqt0Cn6/6Afccp/tRlcYL1KAj7LMoyr8hFRm5zPs9slCh6eYTJgQH6L8lyhB8uLrQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2e97dd91-5e43-3312-2e47-534f425c28c4@suse.com>
Date: Mon, 24 Jan 2022 09:25:15 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: [PATCH v2 1/4] x86/time: further improve TSC / CPU freq calibration
 accuracy
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <879e5b70-bffd-b240-b2c8-c755b09d41a9@suse.com>
In-Reply-To: <879e5b70-bffd-b240-b2c8-c755b09d41a9@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8P250CA0027.EURP250.PROD.OUTLOOK.COM
 (2603:10a6:20b:330::32) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ee9e9890-c196-447e-dffc-08d9df130b5a
X-MS-TrafficTypeDiagnostic: DBBPR04MB7883:EE_
X-Microsoft-Antispam-PRVS:
	<DBBPR04MB7883B9DFC3DFB358C928562FB35E9@DBBPR04MB7883.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:
	kHoYpEcbK7TaeLUyCXn90bwo72P3QDp3Ol/PkFvSSJwBGXN6P0zuvFu7G0BudVQnV0f4ogp+fuqt5STqg2WwnvryY1Slyp6sWME7pO8brBnkE+ThbwpnqVSgErRLavgr20p/fkFyX7t1sodCpNgnKgPK4VYVoQV/b7UVnilTF0TTyFGtVdtiDV+sVgagZnGrrWg7epdustmZSpCClh5WGl2eGQwsizqOIt+r89xiVqFf/rMGwB8avFiJCij1dLoBega2IOoBninmVG5l8hMEMpcpCqgDxNKTY8B2eP1fKjA3BEq6uDJsYxvUi5Xb6Si85JJIscZvh/X16h1RumTPMAlmCKZ+gJuV9vLQj4CNnO+wVuB2CKN59qce/d/cuoVOD4hrC4dNu+6/PV1/2fH5PDrT1tFnLAiyNXuuCJw3SmfbVhRuJqZV7B0KnwgKOEWTvoOusxmOn9LVVEj/w4mUtMJBzJr2Codjhs5sSxusT7rmTztGjaar4RhZrnI48yZyOUBl++X2vI2KipQeCWCoMrKDcso+VGovkaDgmPv9FuTTvfKLQU4GeiFTDxDZTpurKFmRxQgVu5wu9eGLJORelXNeCn7emqyaiUOLzpkPBXbuZ7sZdZS1mJUjJ28mhoW1HUt61HBi5PQSLRk3WYL0Mqh6Y1vEslrm0Ab74w2dH42wg57EjB1yoDRVS8OeVpPYMEaXX/5ux91EpPaCy3NHcmDPUYIVS2+hjBObfbwnhBw=
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)(36756003)(38100700002)(54906003)(4326008)(83380400001)(86362001)(66946007)(6916009)(8676002)(31686004)(316002)(31696002)(5660300002)(6512007)(26005)(508600001)(66476007)(2906002)(66556008)(6486002)(186003)(6506007)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z044T3hYOFZpQW9QeGF2QTExaUVQVXdNQWVaMnMrbWphdnl6R0FxL0pQNnRm?=
 =?utf-8?B?aVBVZ1VYVGVON2FRUi9VS1B2TXFpRVBPOW13aHdHTlpuWVpoQVlrQlNzMkpP?=
 =?utf-8?B?L0JGUExyZW1tRXUxYjRwbDJTU0pkNWVjKzBqeVVRbmp1NS9ENzRiR0p0dDdE?=
 =?utf-8?B?Tjc5dEFKVzVOT1hkMjFId21zZ2VBbXlPZloxN1lkQjZWR2V5cGRjVzhLdlBt?=
 =?utf-8?B?VFJpZXhkZCtIL2w3WnJ6cVNUdDJNNCszQ0hndGpHbmZubHJyN2tGYW5VWUsz?=
 =?utf-8?B?UDlGd0hMQmFyUDlyMDFDZXc5alhVOHlFRjBES3M0V2tTMGhHemt6R000dXF1?=
 =?utf-8?B?Z05ZUnJMZjJlQm54aGFJY1RaUkV2OWhzR0p4VWhZcXo3dHhYT3dsT3Z6L1ZU?=
 =?utf-8?B?NjVCdmF2cW1oT0NYRmpybk9YZHdiVEpYd2JHUUtQVHpCUDltT0J0N2lTLzRt?=
 =?utf-8?B?Nm1JZnh5dTFuR1lvaDZzQlNOWXFvNzdTQ04xNWlmQkRkR21jWWpqS3dGajBG?=
 =?utf-8?B?eDNNNkNJRGszS0NFc29BdXJZaHZhTXpCUk40OVhCZjdwODh0ajBMTWQzN1lI?=
 =?utf-8?B?QUVTaCt5R0ttVXZ1dVV0cTRkZ3F1cDZSb0t1cVlNc0pTQ1lWQm9tNFRWWjRp?=
 =?utf-8?B?Q2g1bXJpb29IMXVaRW1RY1R1N2JOYkgvU2dpajN5MklnL2U3RS9HSlVRUHdW?=
 =?utf-8?B?V3ZQbUcxQ0pDVnFGVm5OMm5nWHh1U2dYWUZmU1lXK202V1pzcGtidEhxOFhN?=
 =?utf-8?B?V1BtOTlBYU5aSzh4RW1lc3Y5cG5LRkFVdk4rYkM1bGkvVi9pUENrWXNiWTEw?=
 =?utf-8?B?WVlxZytlWVQ5MThDb0o4WC9DQVZod3RBM1VLZkFXMHpjUUlteHhsRFc2OGFz?=
 =?utf-8?B?MG5DcTlNcTF3UENLMWZsaEJRTDcvT0RHbHJwNjg0b1Bzazh1aFUwS1BaWHY0?=
 =?utf-8?B?V3RFeHBEdjY3NWlhNUJHbkV3MEt2SmU1MnFLcjdVY3JRcSsvNFlpdm4veHlT?=
 =?utf-8?B?UGNwTmlUaGdwTVlod0NkNzE1VHJwandNbitlWUttVlVVQmowd2JkQnJ6Z1Jr?=
 =?utf-8?B?UVBqV0EvZENFRS9MV1RmZHpYMnB3WEFPbmQrTloxMVVpVHoyTTFUSCtRYTFY?=
 =?utf-8?B?RDJEcGZxM2l5ak1yTU1VWi9NRE82ci91bFc1WncxQUJ0L1grRlZzdzVCUURx?=
 =?utf-8?B?eml6T3E1MjV0Ty8vL0VVQXIxSUtQdXVPTnFJUmdkTzhRUEJpczU2TGZXdXRL?=
 =?utf-8?B?WWhYZmhxb1FheUIwRzlHdE5aR2ZrTE50WnNSRWhOTWVoZkhWVDRhSHhqWDhJ?=
 =?utf-8?B?NTBpT25QQXNqQlU5aE1yeWZCNXFXd3hNTHNvQjNaYm9DZzQ4ZExyRDZlWndv?=
 =?utf-8?B?aWpzMnNwL0hIQkYzbzA3YitUdEdISEg3b0ROOEcwYVlmdGdMOExpRStPejVW?=
 =?utf-8?B?RjNNZTF5NXJiK0V6dlE5S3hxUmdKNEE5Rks1MFQxY2dOWkxaOEdjYnNTSm9O?=
 =?utf-8?B?ZkpJaXZObGo2UlVxUW9JeVZiaWRVY1JBZjg4eFRjc2dnWElRMVhMWFJhWFQ1?=
 =?utf-8?B?R0JuUUdSeGgwaUtUNDJaWllLRFZwR1JRWktqdXB4ZHJDYlhBNkNHQXRUN3Ja?=
 =?utf-8?B?clFaZ1Y2aXlLbUFrMjRNejJwK3dkYTluSTN3cVNacmhlZWw5SWRGc1FuNERE?=
 =?utf-8?B?NmsxOFZhNFErM2JIVlNWNk1wRy9jYUFIcXRQNGdNSWNtalh5RzYyV3VRQWVV?=
 =?utf-8?B?dk9KeWdzZUFZOHNHdWZ4TWxNVDJWczlEcTh1dDlKU3piMEtIeWFaaGFiemVo?=
 =?utf-8?B?S3g3b3F0QWpJSWg1N0NvKzhoTzc0SkhNTzE2L3VJN2pLQm5BbzVQaEJKVmpz?=
 =?utf-8?B?OEErMTZPZWcxTjU2ODdqQ2hRTWpOeVI3MDc5TkJqTnJWL3F0c01oQkZoOWww?=
 =?utf-8?B?aCtyWWNvZW83eGNXd0pLMENMdm5uRHRwT2ZYTjZwdHVtbEFLL3hYeUJuRFpk?=
 =?utf-8?B?NE9mRWthRGtYTk9aWlN3bHU4bkFzMVo3RWg0cmhGdUh2d2o1QXh4VWJyTHRk?=
 =?utf-8?B?b0FmMUlHUUR3NnFsa3pKbm9XQTF6VlpUK21VM09CNVVjN2dwU1NNRDJEcVNG?=
 =?utf-8?B?blNXZnByZVFYTHFuVG9JSFVMdkpWTHFobGJCMHZ6NEZtRkw3dDJBbWZjZjF4?=
 =?utf-8?Q?3z/M/zxcbrhnbec5sqSWVDU=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ee9e9890-c196-447e-dffc-08d9df130b5a
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jan 2022 08:25:13.8662
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: c02/+7xw14JTzcu17DVWam6NudqQCg7lI1jVjl2zQ4uSl9f5xKrA09qLVzRqhA51uV62D0H2mlTIL0PmkTQ2qQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7883

Calibration logic assumes that the platform timer (HPET or ACPI PM
timer) and the TSC are read at about the same time. This assumption may
not hold when a long latency event (e.g. SMI or NMI) occurs between the
two reads. Reduce the risk of reading uncorrelated values by doing at
least four pairs of reads, using the tuple where the delta between the
enclosing TSC reads was smallest. From the fourth iteration onwards bail
if the new TSC delta isn't better (smaller) than the best earlier one.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
When running virtualized, scheduling in the host would also constitute
long latency events. I wonder whether, to compensate for that, we'd want
more than 3 "base" iterations, as I would expect scheduling events to
occur more frequently than e.g. SMI (and with a higher probability of
multiple ones occurring in close succession).
---
v2: Use helper functions to fold duplicate code.

--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -287,9 +287,47 @@ static char *freq_string(u64 freq)
     return s;
 }
 
-static uint64_t adjust_elapsed(uint64_t elapsed, uint32_t actual,
-                               uint32_t target)
+static uint32_t __init read_pt_and_tsc(uint64_t *tsc,
+                                       const struct platform_timesource *pts)
 {
+    uint64_t tsc_prev = *tsc = rdtsc_ordered(), tsc_min = ~0;
+    uint32_t best = best;
+    unsigned int i;
+
+    for ( i = 0; ; ++i )
+    {
+        uint32_t pt = pts->read_counter();
+        uint64_t tsc_cur = rdtsc_ordered();
+        uint64_t tsc_delta = tsc_cur - tsc_prev;
+
+        if ( tsc_delta < tsc_min )
+        {
+            tsc_min = tsc_delta;
+            *tsc = tsc_cur;
+            best = pt;
+        }
+        else if ( i > 2 )
+            break;
+
+        tsc_prev = tsc_cur;
+    }
+
+    return best;
+}
+
+static uint64_t __init calibrate_tsc(const struct platform_timesource *pts)
+{
+    uint64_t start, end, elapsed;
+    uint32_t count = read_pt_and_tsc(&start, pts);
+    uint32_t target = CALIBRATE_VALUE(pts->frequency), actual;
+    uint32_t mask = (uint32_t)~0 >> (32 - pts->counter_bits);
+
+    while ( ((pts->read_counter() - count) & mask) < target )
+        continue;
+
+    actual = read_pt_and_tsc(&end, pts) - count;
+    elapsed = end - start;
+
     if ( likely(actual > target) )
     {
         /*
@@ -395,8 +433,7 @@ static u64 read_hpet_count(void)
 
 static int64_t __init init_hpet(struct platform_timesource *pts)
 {
-    uint64_t hpet_rate, start;
-    uint32_t count, target, elapsed;
+    uint64_t hpet_rate;
     /*
      * Allow HPET to be setup, but report a frequency of 0 so it's not selected
      * as a timer source. This is required so it can be used in legacy
@@ -467,13 +504,7 @@ static int64_t __init init_hpet(struct p
 
     pts->frequency = hpet_rate;
 
-    count = hpet_read32(HPET_COUNTER);
-    start = rdtsc_ordered();
-    target = CALIBRATE_VALUE(hpet_rate);
-    while ( (elapsed = hpet_read32(HPET_COUNTER) - count) < target )
-        continue;
-
-    return adjust_elapsed(rdtsc_ordered() - start, elapsed, target);
+    return calibrate_tsc(pts);
 }
 
 static void resume_hpet(struct platform_timesource *pts)
@@ -508,22 +539,12 @@ static u64 read_pmtimer_count(void)
 
 static s64 __init init_pmtimer(struct platform_timesource *pts)
 {
-    uint64_t start;
-    uint32_t count, target, mask, elapsed;
-
     if ( !pmtmr_ioport || (pmtmr_width != 24 && pmtmr_width != 32) )
         return 0;
 
     pts->counter_bits = pmtmr_width;
-    mask = 0xffffffff >> (32 - pmtmr_width);
-
-    count = inl(pmtmr_ioport);
-    start = rdtsc_ordered();
-    target = CALIBRATE_VALUE(ACPI_PM_FREQUENCY);
-    while ( (elapsed = (inl(pmtmr_ioport) - count) & mask) < target )
-        continue;
 
-    return adjust_elapsed(rdtsc_ordered() - start, elapsed, target);
+    return calibrate_tsc(pts);
 }
 
 static struct platform_timesource __initdata plt_pmtimer =



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 08:26:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 08:26:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259735.448235 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBugZ-0001Mu-IO; Mon, 24 Jan 2022 08:26:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259735.448235; Mon, 24 Jan 2022 08: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 1nBugZ-0001Mn-FC; Mon, 24 Jan 2022 08:26:47 +0000
Received: by outflank-mailman (input) for mailman id 259735;
 Mon, 24 Jan 2022 08:26:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=REvy=SI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nBugX-0001Me-NV
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 08:26:45 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5d1f0baa-7cef-11ec-8fa7-f31e035a9116;
 Mon, 24 Jan 2022 09:26:44 +0100 (CET)
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur03lp2057.outbound.protection.outlook.com [104.47.8.57]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-25-I5i16AvjNoCmc-t5nOJ-EA-1; Mon, 24 Jan 2022 09:26:43 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DBBPR04MB7883.eurprd04.prod.outlook.com (2603:10a6:10:1e9::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Mon, 24 Jan
 2022 08:26:42 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.017; Mon, 24 Jan 2022
 08:26:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5d1f0baa-7cef-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643012804;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=jCxscIvq6zLulNKcY3/NWbd2vQ3CrupkD38ZmXXmcn4=;
	b=HN0hRmA14MVo2DTQzISJTY0T3R+bQOPbGZZosJtfYUgzyOXC3IHfail6D6j+d19eRwL8CH
	OhBIhOmacAqSpkOWctgbcZ74Qkgawr/BHWcytUoYxsCWvRON7IWJu6oBzaQ0lXYli9je2x
	m5wtvRZqz5rBOJF5CFNE7lSBHuNh+kc=
X-MC-Unique: I5i16AvjNoCmc-t5nOJ-EA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UdaXG49nSwNhZQ6t0hhqLxCiBJtHlTE+FrlM2zvz69qhhnNTZ1kEfC5wWEJFDdzAgZUkBIkFOWubI5FlI2wHiAkCyGEvL1lzXor6zYI9gKDiXlJUYbe7wC7Tv1ZoJA48l08rrK6ugDLbRU11MPLHCqe0qKtB1I8PzfuDPpLV1q8sh5DE318ny7j7mli21G1VFHRaPdf6EOzxc8RXd1GLqBP3EIRI0ehqlD5wMvoxngKSe09OwCK18Y7H0+Xraafqo7PD7OtRlR2F5a9UPPkPZzOirCvJykPkIuXJ2bKr7ybbg09Pl90XEX3OHZfjtcN+wraQYc5LS3oYEJga1ZgeCg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jCxscIvq6zLulNKcY3/NWbd2vQ3CrupkD38ZmXXmcn4=;
 b=MdZpHVMhraP5u85KQC3ijSjnCOgIAXTEfWvBB4yW5cAqxOMxV2panTgSHYwjeSCh8UZApVYec0MPGqFSKqJ6ef0gMlZw1jK4zzlUEWeb0xLaBA0Xpn/27YNjhUJz8Oi2vXhMbnfnoeMCM14/nJzXehr8vqDahE766cDHJ1wnouA8uND46FhofSkB6zAtYbeL/Zj/KHgBwljjAdFPl2ZJlSL/cRwYMtuSgTHYC+3oZW2SMNXAkLX8afLTEojEAtqm1cxrPsc6h2q305Q1F+KY45En0dL5xJUYUVS6nYT/9kAxqQ/nJKPXT0++yadreIci5+MvpYH0fWrQuwRdaPbmzQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0ab22edc-bc06-4c52-8cd4-c7dd57746779@suse.com>
Date: Mon, 24 Jan 2022 09:26:43 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: [PATCH v2 2/4] x86/APIC: calibrate against platform timer when
 possible
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <879e5b70-bffd-b240-b2c8-c755b09d41a9@suse.com>
In-Reply-To: <879e5b70-bffd-b240-b2c8-c755b09d41a9@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P191CA0077.EURP191.PROD.OUTLOOK.COM
 (2603:10a6:209:8a::18) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c3c46a5c-72fb-4004-e411-08d9df133ff8
X-MS-TrafficTypeDiagnostic: DBBPR04MB7883:EE_
X-Microsoft-Antispam-PRVS:
	<DBBPR04MB78838FFDD5849A62274079FFB35E9@DBBPR04MB7883.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:
	kIR1S95DfiauCMPUtHG/XBUnwyx9R0Y2EwnNkaEifUTV5cZ7e7t4gSI5sxwDlO5hKRzAVtE153LvTsn3JlT5EdEZyg1mprOwADyaBoa2dxuuKmeIXcx49W4iXdJI5Svcs/VGApetzPfN2juCamZb3IGp3/sPdFIuu2Ynn6nwCA3TIkDaDI++TWX6aYIx/bgYymsSNrBP10XXUEYRDKNrIrPg+InKKJ/Yj3KjSdSsBosVB8t3Adqom9ZYJtkZVyAXNyj2C9JYaOa3BU4r1nmu5Q8plBtnfRNjRKa208OhE9WKJZjzpldvUvi4nYkyklmoYO3JoWyqYOeR/K5D23cbyJuiuPq2zb8KZbT4hDILBXqbta1fzNQVIpQxCMS3eGuWGxaldvb920yKbwYPrNobT09FcTA2I9+XfKmz+IYrDefri0lzZkmbcbMZqdtINCqyX/PC60gmSaYCZu7NC3lLPLE0xJkUkGzkqwGLWjMz+9tUqhEWnxRlVjhhMRf8MP/6dq3LTSjlpv//15fUEiiN4J49AhnjeYuAwnWXudy/USYG2ORKZMfXaZi6OlK524DhKNyx5ZDo7qZUr9Hr5BRQNnGnUIE2IB7jMyu3VHn2oyjtoOjjXsVccxumd+Mc1HTfP2670wN7kl5lStvtb9p+667CPGOd+Lt+O3lVYLjQZQBbWtlai0et8VtV++WjNFrmfADdJ2DNhGa5Kmy9nikIyMBTq50DZKYkquSzUlEMYGM=
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)(36756003)(38100700002)(54906003)(4326008)(83380400001)(86362001)(66946007)(6916009)(8676002)(31686004)(316002)(31696002)(5660300002)(6512007)(26005)(508600001)(66476007)(2906002)(66556008)(6486002)(186003)(6506007)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NjV5bVFOc2JjS09vL0JaNURPYUQ5Qy92bVVLdDladGV4NlQ4TnN2WWJ1eWdw?=
 =?utf-8?B?UHFna3EybE9ET0hNODdrSVpXNHdQWU54U3g2ZldzMXdOTjdMZ2VsNmNFc1Zy?=
 =?utf-8?B?eEtZTmxmQmttaWtHMmtzQVZFcmg3eFBoK2VuVU84Zm5pS0FlV245M2FKQytz?=
 =?utf-8?B?aVd3UXhkUlpJL29NNUVpVVJrVmtJRXprekUwTnVzTnVnaXpBbUdqSkRWT0pl?=
 =?utf-8?B?c3VPeGQzNmtVL01LVDdVZ2lwdko5UG1lWjVaV2t4RVJMaHhQMXQvUUduRTVR?=
 =?utf-8?B?ODRaSGJORHdBcTZZZEo4RlRJeUhNM2Z5RWJHaTFjKzByK0tyRnZiL2VsZ1BO?=
 =?utf-8?B?ejFnYTFFNG8xK3RZRUZyM21IcnkxcnhCRXdIaVFwNjdWMDRuckM2VW92ZGlU?=
 =?utf-8?B?dUJRaGdLSmNQaWpzbTRMaXR4VXZDdGlkOUY2OHhGM0pLSm1mbWtHdm5jcEJC?=
 =?utf-8?B?ZFBDeEN5c2ZkUG1OQUJ0M3A0a0xzeDZ0T0hvL0NTTUxqZDZSNUt6cUV3VUhN?=
 =?utf-8?B?RjVEUitxbCs5YnROTVdoNU1aU2l3SXEvQUxlUHE3cnc2UW5BbnUzM0xhNkJp?=
 =?utf-8?B?NlBSWEhpaTV3aHUwQlZSSC9tRUxEMTFteWZjWTFoQTJaNThhT1Z1dEZSRjR2?=
 =?utf-8?B?VngvOUUybGhaMTh2OE0xU0hNNGhzTTFxOVZGWXJOQ2JIdEtWK0J1YWl1RjFB?=
 =?utf-8?B?d2tBY25HL0NxeEJrRkZHdDBxK2lCdURuQ0FWVnFhaE13ODVoSnhxd3ZvaXg2?=
 =?utf-8?B?VklkZ2VxcVhhQldWd2ZlVVpialpURDRkeEJlSzROSFAzK1FlZHJIRnRzVktC?=
 =?utf-8?B?V3RiRnljd3h5KzI1ZjRXb0s4b2hLZE9NbDhyR2VCUmc5cTZDSDFZdjNKSER1?=
 =?utf-8?B?YXhjOTJsZkpFUDFOOFh6USt2ZFI4eUF4ZzBodjdsK092a1cxZTdVSDluRll4?=
 =?utf-8?B?eTVpUnVSVUZSTy9lMlB0cWtoSUtRd3l3NDQ0VWJ4QlgyeGFTcHQ2K2lxMGdv?=
 =?utf-8?B?N3gzaG10YVBwUWFPNmNLZEduU0hxTFp2ajIzcm8vc2dPOUJVOWRpWWRWcDdU?=
 =?utf-8?B?MGE5SzNSZTdKMHN2T0kzdE42dzhmZURCVkk5RzhYUWFKalZsaHFSOTYwY28r?=
 =?utf-8?B?bVNBQkdHMzU4NGQyRHJOUytIZHl5RGVMeDM2SUxPT1crbWxoem9YQXFWWjFn?=
 =?utf-8?B?SzUzZlMyMDdKV2hSS2NxNVZSdm9ZR3FtM0l5WWE0QURkQ2pHNFJsOXpuTmEw?=
 =?utf-8?B?Um1ZYzlaSHpHUWpLTHRtbklOZ3k3NEJ1cERuYnhZQW0rNU0rLzNBNWR0R3NO?=
 =?utf-8?B?cXpCQUNDR1FBaVdMZy9oK2tzT2tVcU50bnZVMzZnTlV1OVlXdXZTRG1UdlZC?=
 =?utf-8?B?UnJYTXpVN1pHVC91QXh4RWhGMWpHLzlpcDFDSTVVRGFWMTNja3hndDJKWlYw?=
 =?utf-8?B?azlvcUxaT2pSa2dmL1ViNnYxYUlENXBHbmMvZ0NrQW43cTZXa1lKd1FmREdo?=
 =?utf-8?B?eUNURTV4ekRJMForTkZSVWYrOGNlbXBtRFJkVWtaRFFDTFRHQkRoS2lmVXB5?=
 =?utf-8?B?SFY1U3VlZkJaVURTdXQrSnVhbkRSeFJVa0ZyQnoxdDR6M1A5bnI3dFhCTXlL?=
 =?utf-8?B?MmtZTzFnMCt1aHNucXhCMWwyVFFhOWRIK29nZDF6alRMcW5JRk1pZnhPclFs?=
 =?utf-8?B?c21Eb2NNenc5Tjc4VXhITlJJbG5nMkN1UVBKSzlqb2hXZkxyK0U2cnk3cHhz?=
 =?utf-8?B?L3kvN1JxTmFvUGlBMmZMRXlxNEdveFpuZGlxUmZ5ek1VcG1pMWgrSXdQTEY2?=
 =?utf-8?B?N05BOUt4Um1PY3Ivd1Y1ZVlUTFhCU1lkUTYzOWJSZGtUMjh0K1hTMFp6THNx?=
 =?utf-8?B?VTVxUDhPdlRNbzVRQWJQa3JJV21mRDVISUUxckxreXVsOHNacXZxMFlrdktJ?=
 =?utf-8?B?OHlGVDlMbDFsMXU5cTZWWGFFUnhmcEljR3QySHNRZmJLeE05SnExVVdXZWNk?=
 =?utf-8?B?T2s4QXJ5anNGZFZLT2lBcjVMZktWSDhtNklaTmhxS29kb2NJelFhdm1wbTA2?=
 =?utf-8?B?VmNhNzlMam1jZFFpOFZJMjdJZFQ3YnRHVWZ1MWlKVVpkQXZyNW4xZXRvdEVi?=
 =?utf-8?B?WVV1Z2ZhOFRNMWw4bjRqaTBUSER0Q3dFSERGNlZTQ3hUM29kVGQ3VTRmaHRF?=
 =?utf-8?Q?Vu53VnRM+qUUkZd/UwrtaX0=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c3c46a5c-72fb-4004-e411-08d9df133ff8
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jan 2022 08:26:42.1463
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wiiV6bjMJvu4qdgLAcW2h85PTwqjNvUzCHICSQOgFUlhg7Xz2to3PMzecEE6C7HAHKY/SdEETslr35gKUie6WA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7883

Use the original calibration against PIT only when the platform timer
is PIT. This implicitly excludes the "xen_guest" case from using the PIT
logic (init_pit() fails there, and as of 5e73b2594c54 ["x86/time: minor
adjustments to init_pit()"] using_pit also isn't being set too early
anymore), so the respective hack there can be dropped at the same time.
This also reduces calibration time from 100ms to 50ms, albeit this step
is being skipped as of 0731a56c7c72 ("x86/APIC: no need for timer
calibration when using TDT") anyway.

While re-indenting the PIT logic in calibrate_APIC_clock(), besides
adjusting style also switch around the 2nd TSC/TMCCT read pair, to match
the order of the 1st one, yielding more consistent deltas.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Open-coding apic_read() in read_tmcct() isn't overly nice, but I wanted
to avoid x2apic_enabled being evaluated twice in close succession. (The
barrier is there just in case only anyway: While this RDMSR isn't
serializing, I'm unaware of any statement whether it can also be
executed speculatively, like RDTSC can.) An option might be to move the
function to apic.c such that it would also be used by
calibrate_APIC_clock().

Unlike the CPU frequencies enumerated in CPUID leaf 0x16 (which aren't
precise), using CPUID[0x15].ECX - if populated - may be an option to
skip calibration altogether. Iirc the value there is precise, but using
the systems I have easy access to I cannot verify this: In the sample
of three I have, none have ECX populated.

I wonder whether the secondary CPU freq measurement (used for display
purposes only) wouldn't better be dropped at this occasion.
---
v2: New.

--- a/xen/arch/x86/apic.c
+++ b/xen/arch/x86/apic.c
@@ -1182,20 +1182,6 @@ static void __init check_deadline_errata
            "please update microcode to version %#x (or later)\n", rev);
 }
 
-static void __init wait_tick_pvh(void)
-{
-    u64 lapse_ns = 1000000000ULL / HZ;
-    s_time_t start, curr_time;
-
-    start = NOW();
-
-    /* Won't wrap around */
-    do {
-        cpu_relax();
-        curr_time = NOW();
-    } while ( curr_time - start < lapse_ns );
-}
-
 /*
  * In this function we calibrate APIC bus clocks to the external
  * timer. Unfortunately we cannot use jiffies and the timer irq
@@ -1211,9 +1197,6 @@ static void __init wait_tick_pvh(void)
 
 static void __init calibrate_APIC_clock(void)
 {
-    unsigned long long t1, t2;
-    unsigned long tt1, tt2;
-    unsigned int i;
     unsigned long bus_freq; /* KAF: pointer-size avoids compile warns. */
     unsigned int bus_cycle; /* length of one bus cycle in pico-seconds */
 #define LOOPS_FRAC 10U      /* measure for one tenth of a second */
@@ -1226,39 +1209,38 @@ static void __init calibrate_APIC_clock(
      */
     __setup_APIC_LVTT(0xffffffff);
 
-    if ( !xen_guest )
+    bus_freq = calibrate_apic_timer();
+    if ( !bus_freq )
+    {
+        unsigned int i, tt1, tt2;
+        unsigned long t1, t2;
+
+        ASSERT(!xen_guest);
+
         /*
-         * The timer chip counts down to zero. Let's wait
-         * for a wraparound to start exact measurement:
-         * (the current tick might have been already half done)
+         * The timer chip counts down to zero. Let's wait for a wraparound to
+         * start exact measurement (the current tick might have been already
+         * half done):
          */
         wait_8254_wraparound();
-    else
-        wait_tick_pvh();
 
-    /*
-     * We wrapped around just now. Let's start:
-     */
-    t1 = rdtsc_ordered();
-    tt1 = apic_read(APIC_TMCCT);
+        /* We wrapped around just now. Let's start: */
+        t1 = rdtsc_ordered();
+        tt1 = apic_read(APIC_TMCCT);
 
-    /*
-     * Let's wait HZ / LOOPS_FRAC ticks:
-     */
-    for (i = 0; i < HZ / LOOPS_FRAC; i++)
-        if ( !xen_guest )
+        /* Let's wait HZ / LOOPS_FRAC ticks: */
+        for ( i = 0; i < HZ / LOOPS_FRAC; ++i )
             wait_8254_wraparound();
-        else
-            wait_tick_pvh();
 
-    tt2 = apic_read(APIC_TMCCT);
-    t2 = rdtsc_ordered();
+        t2 = rdtsc_ordered();
+        tt2 = apic_read(APIC_TMCCT);
 
-    bus_freq = (tt1 - tt2) * APIC_DIVISOR * LOOPS_FRAC;
+        bus_freq = (tt1 - tt2) * APIC_DIVISOR * LOOPS_FRAC;
 
-    apic_printk(APIC_VERBOSE, "..... CPU clock speed is %lu.%04lu MHz.\n",
-                ((unsigned long)(t2 - t1) * LOOPS_FRAC) / 1000000,
-                (((unsigned long)(t2 - t1) * LOOPS_FRAC) / 100) % 10000);
+        apic_printk(APIC_VERBOSE, "..... CPU clock speed is %lu.%04lu MHz.\n",
+                    ((t2 - t1) * LOOPS_FRAC) / 1000000,
+                    (((t2 - t1) * LOOPS_FRAC) / 100) % 10000);
+    }
 
     apic_printk(APIC_VERBOSE, "..... host bus clock speed is %ld.%04ld MHz.\n",
                 bus_freq / 1000000, (bus_freq / 100) % 10000);
--- a/xen/arch/x86/include/asm/apic.h
+++ b/xen/arch/x86/include/asm/apic.h
@@ -192,6 +192,8 @@ extern void record_boot_APIC_mode(void);
 extern enum apic_mode current_local_apic_mode(void);
 extern void check_for_unexpected_msi(unsigned int vector);
 
+uint64_t calibrate_apic_timer(void);
+
 extern void check_nmi_watchdog(void);
 
 extern unsigned int nmi_watchdog;
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -26,6 +26,7 @@
 #include <xen/symbols.h>
 #include <xen/keyhandler.h>
 #include <xen/guest_access.h>
+#include <asm/apic.h>
 #include <asm/io.h>
 #include <asm/iocap.h>
 #include <asm/msr.h>
@@ -1004,6 +1005,78 @@ static u64 __init init_platform_timer(vo
     return rc;
 }
 
+static uint32_t __init read_tmcct(void)
+{
+    if ( x2apic_enabled )
+    {
+        alternative("lfence", "mfence", X86_FEATURE_MFENCE_RDTSC);
+        return apic_rdmsr(APIC_TMCCT);
+    }
+
+    return apic_mem_read(APIC_TMCCT);
+}
+
+static uint64_t __init read_pt_and_tmcct(uint32_t *tmcct)
+{
+    uint32_t tmcct_prev = *tmcct = read_tmcct(), tmcct_min = ~0;
+    uint64_t best = best;
+    unsigned int i;
+
+    for ( i = 0; ; ++i )
+    {
+        uint64_t pt = plt_src.read_counter();
+        uint32_t tmcct_cur = read_tmcct();
+        uint32_t tmcct_delta = tmcct_prev - tmcct_cur;
+
+        if ( tmcct_delta < tmcct_min )
+        {
+            tmcct_min = tmcct_delta;
+            *tmcct = tmcct_cur;
+            best = pt;
+        }
+        else if ( i > 2 )
+            break;
+
+        tmcct_prev = tmcct_cur;
+    }
+
+    return best;
+}
+
+uint64_t __init calibrate_apic_timer(void)
+{
+    uint32_t start, end;
+    uint64_t count = read_pt_and_tmcct(&start), elapsed;
+    uint64_t target = CALIBRATE_VALUE(plt_src.frequency), actual;
+    uint64_t mask = (uint64_t)~0 >> (64 - plt_src.counter_bits);
+
+    /*
+     * PIT cannot be used here as it requires the timer interrupt to maintain
+     * its 32-bit software counter, yet here we run with IRQs disabled.
+     */
+    if ( using_pit )
+        return 0;
+
+    while ( ((plt_src.read_counter() - count) & mask) < target )
+        continue;
+
+    actual = read_pt_and_tmcct(&end) - count;
+    elapsed = start - end;
+
+    if ( likely(actual > target) )
+    {
+        /* See the comment in calibrate_tsc(). */
+        while ( unlikely(actual > (uint32_t)actual) )
+        {
+            actual >>= 1;
+            target >>= 1;
+        }
+        elapsed = muldiv64(elapsed, target, actual);
+    }
+
+    return elapsed * CALIBRATE_FRAC;
+}
+
 u64 stime2tsc(s_time_t stime)
 {
     struct cpu_time *t;



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 08:27:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 08:27:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259740.448246 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBuh9-00020q-Vq; Mon, 24 Jan 2022 08:27:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259740.448246; Mon, 24 Jan 2022 08: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 1nBuh9-00020j-SG; Mon, 24 Jan 2022 08:27:23 +0000
Received: by outflank-mailman (input) for mailman id 259740;
 Mon, 24 Jan 2022 08:27:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=REvy=SI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nBuh7-0001ma-RO
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 08:27:21 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 72f826c3-7cef-11ec-bc18-3156f6d857e4;
 Mon, 24 Jan 2022 09:27:21 +0100 (CET)
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur03lp2056.outbound.protection.outlook.com [104.47.8.56]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-8-MlpCDL89PwaveK-ItzmYGA-1; Mon, 24 Jan 2022 09:27:19 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DBBPR04MB7883.eurprd04.prod.outlook.com (2603:10a6:10:1e9::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Mon, 24 Jan
 2022 08:27:19 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.017; Mon, 24 Jan 2022
 08: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: 72f826c3-7cef-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643012840;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc: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+QV9f4zvS046E/T2Qkac91dJy0u0hz2Q9q4aDSre0U=;
	b=SSvWxix2sqHQ+3V0n8akPVEOeNbNO9aS9+7jkirrDXZ9c76Zeu4LgdiRDv1ia2upE1tzkW
	TPePX0ububpok2pJrN/cC4LsRDpLb39t8gEqwCZYx0XGgGdZeb2ZWroHbqZSCzgm/BgRo5
	3WI/2z9LKmqBl8DM8ryUheHrx2ycJHY=
X-MC-Unique: MlpCDL89PwaveK-ItzmYGA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jPF3fsv677gRFuI+4lcPe0QcHd1jGlmbuSV0l8k7Xhk6kPAxoswPpzK3btFfUJmfi+J9yzmjJs0qmTSfswnD0ohXE2dAv2zREWOkuIs7TEsi65EtW1eRefC1NsH9JBfw0UFbnlWBLGv7KJpbf5+7Jtb3LoipQUU9dsMM2Cyo+dwROZXBYKXLLBr/a9Q4pIQYmPOO6mHIlD1U/2FztA0xyJxKm0lTU1DdnuZ9lsG04HURlzN0afiMFGRnaYuebb34bBd7Iugnz7VPADyUzfow4rWw6nk+YQwWZAlcfw05coYM5PU7bcdIOs0uhAK7EUHONiORluRvxADFhYqGkrndqQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=O+QV9f4zvS046E/T2Qkac91dJy0u0hz2Q9q4aDSre0U=;
 b=V9d9w6t7xoQ+ElksITgGs/TMhq6hGDXGB2i/t+3P86OfJEz/CeW1cj+YBZ+segw2X3vsMZI7PthV46/dGjTJREawEjH5w9f/gFKpTe40Iih43ltRPAiNP4o5wnBdf7CnqbvQFJz61gE8yf1cNYy3jw372dd5UrLs8OfnzdRtZJmcLyu+R5zqME3sJG7FDcGnNY1LM9OKpbc4I2Tu8UuWKL/kOK4qKrj2/6qFOsILFbZxFU+uUaEwHuU8ho1uGeuppBclOSo8xv20dQ+ilSabnDF93pc1+rg6pLwdtKBmk8jkAWhfoN1bq/0GTCKbxMJDadZVyVOmBsDrhd+BNLTUaQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f91b8c8d-dcad-29e6-6d63-881a16505d75@suse.com>
Date: Mon, 24 Jan 2022 09:27:20 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: [PATCH v2 3/4] x86/APIC: skip unnecessary parts of
 __setup_APIC_LVTT()
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <879e5b70-bffd-b240-b2c8-c755b09d41a9@suse.com>
In-Reply-To: <879e5b70-bffd-b240-b2c8-c755b09d41a9@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P191CA0094.EURP191.PROD.OUTLOOK.COM
 (2603:10a6:209:8a::35) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: dec3f041-acac-4aae-75d9-08d9df1355e8
X-MS-TrafficTypeDiagnostic: DBBPR04MB7883:EE_
X-Microsoft-Antispam-PRVS:
	<DBBPR04MB7883DDE82F496517031B5EF9B35E9@DBBPR04MB7883.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:
	kW74TiHBbTl44YAsDTfMXiV3lDwzJGrEsCQ32HFjqJc75uZD5/pwmCdCYuxk2SUqhOSBXOqqzp6AZDK37dSDcFf1DfUt5cS5rH5CDSOxyPdYtYnpZAPu4DQDTOdoNJVwI2bZTcH9BD59aOMHF4CXU+nsHWCNOOxgavNBpxfdqdvgES2sPfaq+9TC9GyvmaR/4BQeOOH0TSfctvPGXrYnYVhVFOxUvFea1FTJAdB+aWQxeiLEc5ThE5NIihXhPG/EbjrpsDbdH3zl3G18F9n0ST7g7hRaWT4xKYaMJFJLh9j/c1pd0+/tq1bNRSUR2JYzNBIFSWdlRaN/MHYQxnOAb5fegSuJkcKqpsJX5GEyo4b3dqqKsEDuobb3o3G5iN29SIIYkIwd1mbtz6xrP9ZTJUDr/f3+8yqDpdb3d4PqivgHBAs+dZ/u5lxtV6T/OZvs0IQcGts/UJijNe28OFf8ruROsAOul+qo5/AdDXWz72vrG6amCWJEDydb0Qdn99IqAIux7MduNlgsmyGz7BNOp1odUALgqSBh74PNw2rzG5dthBwX7nJB5IsrPGVc6RQx3hmetjU8hCqyio7AzLkOygqgjC4hpYkXM5OsyG1v/mBH0533tMPsAFmK6nswh41UycWU7xEcbrujPF0LjUC25uymU5Aq/C0Vf7+hw4caf0YH37P4UwrLbZ0YI1sK7Lsk0KLNRi3yPZvTp31K0lU0iKV5VMWjeq4drQS4/C4csMIYZ+p2k3+nUerY3XDlGAvd
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)(36756003)(38100700002)(6666004)(54906003)(4326008)(86362001)(66946007)(6916009)(8676002)(31686004)(316002)(31696002)(5660300002)(6512007)(26005)(508600001)(66476007)(2906002)(66556008)(6486002)(186003)(6506007)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b000cTNhN0JPQTQyeEJRczQ2VWhJdHdwdHhDQnNnR3VPbE9xcXFDdVRlSnpi?=
 =?utf-8?B?T3RUMjR5TkZUODRFNEpVa0s4ZUtmNW1rZC9qUlZHUVdDQVJxQ0JEdFBQTG1n?=
 =?utf-8?B?TzVuL0hHVmZoTVQ2ZXpPaDl5dUtrbGxIQU9jMTFNRExHOHYyc1UrR3hoM05C?=
 =?utf-8?B?ZklSSURnRDNCb01SZEI4aTl0dUVnaVJkUXZIMU4wU0I4RytRdzc3MzhOZlFj?=
 =?utf-8?B?M2grMWllRFRLcWNScHhIbWI2L0VpRC9WbGVoOFN5NFFvMkg1K01PSkhBd3lP?=
 =?utf-8?B?OUxSZ0UyMlhRTWR1NFl1ZG5OeTF4NXgzKys1MitrK0JnQ3pPK0hIOTF0WERZ?=
 =?utf-8?B?ZGRCMnB1RUhpN2FZaHdwRUFCc3NVcGRCd3U0OE1EN0oyMkcwbzA0Yk9SbDVj?=
 =?utf-8?B?Nm1vSUEyYlVkT0dvVVhvRnFuZ2JyaGlYbmw0cjU1c0g1eGJTb0psVHRJWG9R?=
 =?utf-8?B?L2puVkdRemxBNXM0Q3FUTER6dlRMU3pNbXA0RnZycEsrYjEzbjNFV3ZJYnZz?=
 =?utf-8?B?N0Y4WVVMZXBGRzd6b1RRSG5QM2VDWnZaQUpKNjBJTVpoT1lNVnJCenc0SGk1?=
 =?utf-8?B?aXlINVRMNGo0STN3ajhqZ2lVNitJUkJ6YXVmK0xqTmR5RXhOSG83NWhrNnZx?=
 =?utf-8?B?VEQ2a2o1dWgvSXpWdFUvandtay9keVZ5NmxsamVkK2M5T3FxdTloRTZyUWdU?=
 =?utf-8?B?VGFGbEVXMGxkeDd3RjR3MUJaVFIrNU1MalFFVm0zVFNqMER2M0dSNi9VV25x?=
 =?utf-8?B?d2xTT1o2VmVCTmFBRzU3TElsc2oyZEFpcFBFbGFBaXZuWHhBVkxrZDIzK1Zt?=
 =?utf-8?B?dzJtTlcreHhMRk9PWmF3QjJvWWFiMGRlT3hwenh3K3loa0pPbTVBbGRIeWtV?=
 =?utf-8?B?SThFRE81c3Zad2E4Tk04and2dTVFOVNJK3BXNU5VcEdmVWUyWFoxSlAxR1E4?=
 =?utf-8?B?Z0IyMkYzVUVkOTVCT3hLdEZDOWpVRkhldGg2Rko5cG01RW01QzVxRnp2eE1S?=
 =?utf-8?B?S1Q1Z0hVZk1MdVV6R3MwVWFLdysydE5DWnhjdXpLdnRMTWZ1cFI1V0xFS2tv?=
 =?utf-8?B?dlZTQWJwTTIzZFZVdzYxamdrZU9uOGhwbUlnYVFjcmhGNlFldFFQOC84di9F?=
 =?utf-8?B?bmlUOTlramlZQ0dVR0xWcWwxTUtDTFdGbitlRVVFOVAwZFE5MkoycW9scEIz?=
 =?utf-8?B?R0x6cXY5WTNvK3hMb1hFUGtHUWg4RTQ1MzFaRStkdWlWN1Jjcm55TEFGdjVJ?=
 =?utf-8?B?MVVBZjRHOE5mdnJHeHJ5K3ZHTVpXNEpzS2VreVlXc3VnTjBVZ0ROem1uOXJo?=
 =?utf-8?B?VGQwNGtEWGpadU80ZDlRZGZoZjVwZHprZS9Ra0l4L2tYWXhORERLUjZHSEM2?=
 =?utf-8?B?NDBPMmp1UG54M0xMVjlxUnFkcHVIb2JJK3hEcnlET0R4VjhnclY0eTRTMTQy?=
 =?utf-8?B?VVNxRkk5THN6akNRYmFYMmt4MXFmNG9SSTBzc25BZW9mdWhObXJBZ2NEeGEx?=
 =?utf-8?B?NFhUaStqTUFpRlp5VEZNNzVUc3hzR0UrMDlSM20yZ0NsNEhMSmo3bmJlSGND?=
 =?utf-8?B?ZGFlaXV4dTAwbUo3d3Y0NTMyMWN6R3ZGdklQSDgxU0JmVGFHdkZ1aTZXWlFx?=
 =?utf-8?B?MUYxQzVOaU50WGZQdE9KdEJOb2hTTVBrTWpMWXhoVTdnSFhJWHZKbGpXK0hv?=
 =?utf-8?B?YkFxcVJBRUNOR2JZVTFUOFQ5QVFhcnBqblAvZnpYd2VjdS9KaXd6OUdMRzJM?=
 =?utf-8?B?YndkUW1OQjQ1WUdWV1g4WndxVEhZL0RqUVFCeEhDeWV5VEJxY3cyQTJWUWha?=
 =?utf-8?B?U3pOdkg3eTlKVEEvaSsyMVcrd1BpZGMwUVpjRFFZZm5wZnNHMk55Q1J0eGhp?=
 =?utf-8?B?RUp5SGZqNnp0eElJR2l6NElFUE5sRWlwVTlhZkl6Z0Yyc3R1Wit1cHN3aHVC?=
 =?utf-8?B?SDdIT05GZTJwdTE1RjhmNm5BcnVIQ1pmV0I1VS9sY3dIcjA2WndTTE56d2xY?=
 =?utf-8?B?M1FGRC80eGgwTkRZUXpKOUE3ZjlsU3pDZnE0VFNqT2dDb2Njemk4NGxjdThW?=
 =?utf-8?B?L3BkZUQyd3lZaTJ1c1EwZmZoeFF1U1piQUhweGl4Y0V5MVluM2J6Z3JZK255?=
 =?utf-8?B?U3poWlo2WFBVdUJXd2VaaDUwQVk3UjQ0L2xZRU0wZG5INTVDcnZMLzBRT3NX?=
 =?utf-8?Q?Vh1Mf4TJ5Xhy4SZH3FqKLTA=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dec3f041-acac-4aae-75d9-08d9df1355e8
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jan 2022 08:27:18.9445
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1tNHaldZRTsmwLmum13HagpSllmxajMicpmk5S//yG7XnCg2a3XFGisu8SIXzbQn24Z1ZcgEzbBB9ZTt6mQNXw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7883

In TDT mode there's no point writing TDCR or TMICT, while outside of
that mode there's no need for the MFENCE.

No change intended to overall functioning.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: New.

--- a/xen/arch/x86/apic.c
+++ b/xen/arch/x86/apic.c
@@ -1059,24 +1059,25 @@ static void __setup_APIC_LVTT(unsigned i
 {
     unsigned int lvtt_value, tmp_value;
 
-    /* NB. Xen uses local APIC timer in one-shot mode. */
-    lvtt_value = /*APIC_TIMER_MODE_PERIODIC |*/ LOCAL_TIMER_VECTOR;
-
     if ( tdt_enabled )
     {
-        lvtt_value &= (~APIC_TIMER_MODE_MASK);
-        lvtt_value |= APIC_TIMER_MODE_TSC_DEADLINE;
+        lvtt_value = APIC_TIMER_MODE_TSC_DEADLINE | LOCAL_TIMER_VECTOR;
+        apic_write(APIC_LVTT, lvtt_value);
+
+        /*
+         * See Intel SDM: TSC-Deadline Mode chapter. In xAPIC mode,
+         * writing to the APIC LVTT and TSC_DEADLINE MSR isn't serialized.
+         * According to Intel, MFENCE can do the serialization here.
+         */
+        asm volatile( "mfence" : : : "memory" );
+
+        return;
     }
 
+    /* NB. Xen uses local APIC timer in one-shot mode. */
+    lvtt_value = /*APIC_TIMER_MODE_PERIODIC |*/ LOCAL_TIMER_VECTOR;
     apic_write(APIC_LVTT, lvtt_value);
 
-    /*
-     * See Intel SDM: TSC-Deadline Mode chapter. In xAPIC mode,
-     * writing to the APIC LVTT and TSC_DEADLINE MSR isn't serialized.
-     * According to Intel, MFENCE can do the serialization here.
-     */
-    asm volatile( "mfence" : : : "memory" );
-
     tmp_value = apic_read(APIC_TDCR);
     apic_write(APIC_TDCR, tmp_value | APIC_TDR_DIV_1);
 



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 08:28:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 08:28:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259743.448257 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBuhk-0002aX-AP; Mon, 24 Jan 2022 08:28:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259743.448257; Mon, 24 Jan 2022 08:28:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBuhk-0002aQ-56; Mon, 24 Jan 2022 08:28:00 +0000
Received: by outflank-mailman (input) for mailman id 259743;
 Mon, 24 Jan 2022 08:27:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=REvy=SI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nBuhi-0001Me-HY
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 08:27:58 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 88c5dacf-7cef-11ec-8fa7-f31e035a9116;
 Mon, 24 Jan 2022 09:27:57 +0100 (CET)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2056.outbound.protection.outlook.com [104.47.13.56]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-9-8PjrLE-cO4WCL-quvZmFRA-1; Mon, 24 Jan 2022 09:27:56 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DBBPR04MB7883.eurprd04.prod.outlook.com (2603:10a6:10:1e9::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Mon, 24 Jan
 2022 08:27:54 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.017; Mon, 24 Jan 2022
 08:27:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 88c5dacf-7cef-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643012877;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=UMb8XxBGQTglh7QS0g0uFzDDbX+ZM/GP4Y8wGvBBNIg=;
	b=CegIi2wfwN1GTNoPhAlIMu7m2nh6KWizrgc7s1veWAPCpaPBwpwbZi9jQirf0RK+qi3UKw
	Z/x0yI/gCFibItyzcMhq64lGS+mUfiMDS0ahHUvaJ1xm44MHCWdf6GDRX++rX0uohyPXBe
	t7e35/N8kbLGaxzKQKCjKYmz6qJMtQg=
X-MC-Unique: 8PjrLE-cO4WCL-quvZmFRA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XtlXun0YoRDoow9UiIRjwFmLOGI++5tfdBKyHtmOOvrGHVAVqRwym+P1Lawmju0WRMELh/1RLEOCGcNGbHjydPBSwfIXsrDFwnWSQKd/Yoh4zamx/1rIe2lPINRa1OfkCvgZUvTX9VEfazbY+tcuRIMQRLZdptuGiijZ7e5lG4tjHYAhGd1UVHtALy7+BLjoXr0f4hUV5SuyWu0hBxv3H52LviNNrCg7b/0/0iD6bdQSKV0BStBa6QuPUD8avQ6cHJO7sjEtxyiRNelOcR85v05baXur2AXsYzkdvYNt6kNsJsLcygsv1+9ZCvECrfB4OwiqJKM2qFavWiLKN6VqkA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UMb8XxBGQTglh7QS0g0uFzDDbX+ZM/GP4Y8wGvBBNIg=;
 b=ToyHKaIJZuXRtFf/PGF2AOMjcCf9JT154MxbA7k3f7tNd+UV6k8A7lHcnmcxmsOdZgQ5YibTtYL2TGCIAlv6iYD5ksZE9Gw8FN/9tNXwndHbQaIZzsecXcyIWiOaIO5Syi8aERVeqs0hzcwDWv9Ru+ibwx5s0tfhZF9KU/yWLIBj+NXvsrL4xnCiD5d8Idd/wCGPi1PaTQOpYddZMBGlgjNvQ9lgkaF+vhDa0CAiHYZ/GleWMMuHT8cDuowBGmIPtO5jqGW5t8vVC0jhYU4lFT0pbbAGcqvQn6Rl9Ky0JNmjTKCYlyYhX6ZQVmmsblAwCMlf+rUO3jY3cURUpZjd+Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8495dd5d-f72a-24c5-3127-dd37767dd7c3@suse.com>
Date: Mon, 24 Jan 2022 09:27:55 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: [PATCH v2 4/4] x86/APIC: make connections between seemingly arbitrary
 numbers
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <879e5b70-bffd-b240-b2c8-c755b09d41a9@suse.com>
In-Reply-To: <879e5b70-bffd-b240-b2c8-c755b09d41a9@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P194CA0047.EURP194.PROD.OUTLOOK.COM
 (2603:10a6:209:84::24) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 198e876d-fedf-4589-5bb0-08d9df136b41
X-MS-TrafficTypeDiagnostic: DBBPR04MB7883:EE_
X-Microsoft-Antispam-PRVS:
	<DBBPR04MB78836B7B7730FDB56215E763B35E9@DBBPR04MB7883.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:
	w+oA7gxG2sw3n9BCzQ/Dkfkt+Dc3xayFRxzQ/9Y6qs5GfYgudPh7ZaCrB+LOQqOgYtZoOxSmSZoqqNbx7ttUPbU1IjAERFuiuH2bMoUwZX41QO4Yu3xm6YbAJqv92ABNewEGemvR/Q4A1/OjQ+kEWkszVcdMbloBegbx8GB3cEBiPMITsFXvIHRK/M2RhoaVL0GT4OJ2A9W5pP7zE6aAzcHl6qz+OP7Xh8CldoGvNH4ll/h6KkbLHopt5IzQa58a0o2ObQXOdZdk7Umw7DqSM/p31Cd3vTJ/zuUbmX0cYR14Q2yNteZF8prAPsgW21oxN9WFdjmqDo3E5EmVwvxZslkY5nxs3HLHKHjaTBQ+XQEA+TT6TFHB0+v122wY9VE4QW2475BIzGgScyRyJnKdcjv5vGf+aZ1HO0xmhFXxcsg4EPcZKGow+2DcDahPFKbpwuFDuWy2B+4U0D8X4j5HQPo7UuLr2nUwD6JiLgLv+D4Th3rsOGpcIejfFOjF67H9ph7fBgCm5YER7kbAcs8cRcRM1pupJto339HlRRECYbug5RovC2bVktQFZET5Me+GkerB9umDjmELK5CxZ0q2uP6BCUXB3ZHoKiDd2Nw6bqSr5CAY9iOFcZTlEyE7jvwfkgHR/wSeK2t8MMGVVfSsjWcWrlb2JqPYfhnVrEldNyskCzt3Spg36r69sJRUkRZ4Z/Rm8XV4TbVqJe7x4OFziN6MgfTD9lJICFmLvhHHu/Ej3+nN3mrROPZj6qnFsmUR
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)(36756003)(38100700002)(54906003)(4326008)(83380400001)(86362001)(66946007)(6916009)(8676002)(31686004)(316002)(31696002)(5660300002)(6512007)(26005)(508600001)(66476007)(2906002)(66556008)(6486002)(186003)(6506007)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TENtSU5sczFseVpHMEZvb05pSmhMdUQrYitpU1Yyakp2dkM1YmdGKzBUaDRr?=
 =?utf-8?B?c2JZb2p4T011M21maG1oTCtPTFJlSENRd2tkZ0NrS1JvY1NzL1VyYWtiNnRn?=
 =?utf-8?B?N1dxVC9ZK1JUbmkxQlFLSzNqTWFpOS9jWXhjL0JxMS9ieXR3eWszbTlXV2Ry?=
 =?utf-8?B?ZUYzMkR5eFJiWm5xdnhmMHFLOTdGek9zVnRjbWhvSFhyaEYzamtpREFZdlVR?=
 =?utf-8?B?Z3d1SllYbkZUMW4zT0ZvdVlqenBqZjJRVHp0ZjZPMVYvNER5dStiOUd4ckJC?=
 =?utf-8?B?Qzl5N3RKWlE1RnF1bG1NMjBjbFBGdG5aQzk3NkxrcldUSXltdmJ3U21lMHMz?=
 =?utf-8?B?dWhqY1NiUmxFQ3BFajdzY2N2UnRJOTU3a3lxVTNPM2RsKzUwUnhUWU1lRUVR?=
 =?utf-8?B?RENpb0hxT3ljMUt4VS9FaXhwdUVHRUUxTURieHlESUJjWlhraXRTSUlvT0t6?=
 =?utf-8?B?NHI0dm1TU0NvdE5QNnJzcVc0S2tlYXBKRDlSSzgyVkdyS083ajNRczZiTkhS?=
 =?utf-8?B?MU1yeFo4TmdjQ25hVERSVlRCcVhCUjdFd3haU3BBcjF5bEFUNWhkd1VDQTRk?=
 =?utf-8?B?cXZRSHl4VDV6R0xxTG9kck0veFdrNmo0RHdwREpkNmpNdUF6VitEcWdaUGRJ?=
 =?utf-8?B?UVZTdnpQK3dpMUVkVUM3NjBuOHVqM0VMbzFJS0NZQ2dkN2hmVEtYYVVLV0dr?=
 =?utf-8?B?Q2x5VWZSTGo5N2hTTnBKbDM3ekdTZjViWUtkOCtEd2pnN2FXMlcwN2EvSU1p?=
 =?utf-8?B?c095U08zenV1Vk9wOFRLc0grZGNody9ESG8rSHgzV2d2S21yT2VBeDVuclFO?=
 =?utf-8?B?Q3UrWWRWb2wvLzV3NWhZaTg0K05HRWdpc3NGWmpYdk1SNmdoQlREMFNXdzJp?=
 =?utf-8?B?VlJVY3JVK3NwTlhOWkxublZkSGticlFoK2Z2WDlGenlwT3RmWk1SZFBXU1l5?=
 =?utf-8?B?MXZvYUF6bTVRaUlHS2o2NXBCQndRNW9EWWdla2dHYUlDRXNFMTRjcW85NWhM?=
 =?utf-8?B?b0RUNDdXUUZsTW5kUW5EakNHbGVWOEdsY1ZNdTlYd2N6NW45c1lnN0hGdGVs?=
 =?utf-8?B?OHZvaTJ4QXdVVmY5L0R4TzJzdU9lMGE2SlZOdzRWTWtUZVlMWVhVWW4zMWdE?=
 =?utf-8?B?YzlPb28wT0NKNUoyZ05yKzIyczJubmhhdm1kMGhLSVMvUGdYWGwwZ1kzMHRa?=
 =?utf-8?B?V3YwVzAyaXBtREZhUUd2SE95MTk4UnlUK29ueUQreWhuUmdYa0ZuVWZDRXFC?=
 =?utf-8?B?MlNlSFAweTVNYll0WHBPR0VBdW5ONmE5d2dwTlVUYk1IRmZaRVhIV2s2elRZ?=
 =?utf-8?B?aElMeFJndVdWZWQ5Ni9CR0RDWmdGMkE1a2FBd3NZdjdUdHl1b3JZZUdKQXJy?=
 =?utf-8?B?WDJUdDEvTEo5aENlS2tGb09DamVoZHV2ZHNrVE5NeG9LdS83U1E4a2Vrd2Nz?=
 =?utf-8?B?bllDUnVoTStUcTlWK1pYeVdpOU1wQnZUcE84NmlKWnFPNkhTRTcyaU5oUXRR?=
 =?utf-8?B?MnFRdE9ETlRLb3hGUURpYTU1UDZZOWMwdlJ0blZUc09UVWtLUkl0a1hiOFNO?=
 =?utf-8?B?VnEvTzhURmxoRWprU1FsRWNTRE1RcHAzcWhtamZBTFFnZmh2Sm9tNUpqQXdI?=
 =?utf-8?B?RTlhVGVHTUtUZ0RkeGJNR002d0NIQ21CaHRBNEhpdVNhL1BSN0pINCttVkV3?=
 =?utf-8?B?VmJXcHNuTGMycWlaMS9RZVFONzRLNGg5OWxFcUZtamN2MmxoWmtoVVBhaVpv?=
 =?utf-8?B?QldiZUpFWm9sSWVad1hsVHhZRTZEcDl1UzZmeGttdEFVemFmbkhvbkhpaFRW?=
 =?utf-8?B?UCt3YW5GWE1ldEtCYTYydjZMUUtJenRXemUzWXJDdU1kSHpsSmZORXlnRTho?=
 =?utf-8?B?L1p0UW80R3lEWnJPMWlRK00vZDFzVFM5UFBoWVdhUjNac3JKN2tqd013TzJU?=
 =?utf-8?B?NTExNVRab0Ftd3NlajhzMjZYVnZ5OFo0VEhaQ1BNdFRhRXlRWTg4M0Q0ZW9W?=
 =?utf-8?B?Uk5NZFNiKzhIUVZrRXYrZ1pVMzh4UG9PUkpuUHNyR1VsSWYybnAyMjVybEdL?=
 =?utf-8?B?ekRMWDVOK0FIdUNrYzNwdm1raWVXRGp0N0NpZ0NxU013QThnM3B4MDhMbmVn?=
 =?utf-8?B?bnhDVEUwTGIzWW9xK3E5SWE1c2dXU2hoQVBJOEMwUnJRaW0yUzhnWE1DRGd2?=
 =?utf-8?Q?8Iv82PxMWffJEJlYGvEvsnI=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 198e876d-fedf-4589-5bb0-08d9df136b41
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jan 2022 08:27:54.7713
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Ms5Ug2BQkWqIrvqoz/hdXaSi7+KZBz+wXILOVf1RMPw5XKreCWIBQk1HonZxW2p1HkTC7/Voa/Exn8hT2iLqnA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7883

Making adjustments to arbitrarily chosen values shouldn't require
auditing the code for possible derived numbers - such a change should
be doable in a single place, having an effect on all code depending on
that choice.

For one make the TDCR write actually use APIC_DIVISOR. With the
necessary mask constant introduced, also use that in vLAPIC code. While
introducing the constant, drop APIC_TDR_DIV_TMBASE: The bit has been
undefined in halfway recent SDM and PM versions.

And then introduce a constant tying together the scale used when
converting nanoseconds to bus clocks.

No functional change intended.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
I thought we have a generic "glue" macro, but I couldn't find one. Hence
I'm (ab)using _AC().
---
v2: New.

--- a/xen/arch/x86/apic.c
+++ b/xen/arch/x86/apic.c
@@ -1078,8 +1078,8 @@ static void __setup_APIC_LVTT(unsigned i
     lvtt_value = /*APIC_TIMER_MODE_PERIODIC |*/ LOCAL_TIMER_VECTOR;
     apic_write(APIC_LVTT, lvtt_value);
 
-    tmp_value = apic_read(APIC_TDCR);
-    apic_write(APIC_TDCR, tmp_value | APIC_TDR_DIV_1);
+    tmp_value = apic_read(APIC_TDCR) & ~APIC_TDR_DIV_MASK;
+    apic_write(APIC_TDCR, tmp_value | _AC(APIC_TDR_DIV_, APIC_DIVISOR));
 
     apic_write(APIC_TMICT, clocks / APIC_DIVISOR);
 }
@@ -1196,6 +1196,8 @@ static void __init check_deadline_errata
  * APIC irq that way.
  */
 
+#define BUS_SCALE_SHIFT 18
+
 static void __init calibrate_APIC_clock(void)
 {
     unsigned long bus_freq; /* KAF: pointer-size avoids compile warns. */
@@ -1249,8 +1251,8 @@ static void __init calibrate_APIC_clock(
     /* set up multipliers for accurate timer code */
     bus_cycle  = 1000000000000UL / bus_freq; /* in pico seconds */
     bus_cycle += (1000000000000UL % bus_freq) * 2 > bus_freq;
-    bus_scale  = (1000*262144)/bus_cycle;
-    bus_scale += ((1000 * 262144) % bus_cycle) * 2 > bus_cycle;
+    bus_scale  = (1000 << BUS_SCALE_SHIFT) / bus_cycle;
+    bus_scale += ((1000 << BUS_SCALE_SHIFT) % bus_cycle) * 2 > bus_cycle;
 
     apic_printk(APIC_VERBOSE, "..... bus_scale = %#x\n", bus_scale);
     /* reset APIC to zero timeout value */
@@ -1337,7 +1339,8 @@ int reprogram_timer(s_time_t timeout)
     }
 
     if ( timeout && ((expire = timeout - NOW()) > 0) )
-        apic_tmict = min_t(u64, (bus_scale * expire) >> 18, UINT_MAX);
+        apic_tmict = min_t(uint64_t, (bus_scale * expire) >> BUS_SCALE_SHIFT,
+                           UINT32_MAX);
 
     apic_write(APIC_TMICT, (unsigned long)apic_tmict);
 
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -580,7 +580,7 @@ static uint32_t vlapic_get_tmcct(const s
 static void vlapic_set_tdcr(struct vlapic *vlapic, unsigned int val)
 {
     /* Only bits 0, 1 and 3 are settable; others are MBZ. */
-    val &= 0xb;
+    val &= APIC_TDR_DIV_MASK;
     vlapic_set_reg(vlapic, APIC_TDCR, val);
 
     /* Update the demangled hw.timer_divisor. */
@@ -887,7 +887,7 @@ void vlapic_reg_write(struct vcpu *v, un
     {
         uint32_t current_divisor = vlapic->hw.timer_divisor;
 
-        vlapic_set_tdcr(vlapic, val & 0xb);
+        vlapic_set_tdcr(vlapic, val);
 
         vlapic_update_timer(vlapic, vlapic_get_reg(vlapic, APIC_LVTT), false,
                             current_divisor);
@@ -1019,7 +1019,7 @@ int guest_wrmsr_x2apic(struct vcpu *v, u
         break;
 
     case APIC_TDCR:
-        if ( msr_content & ~APIC_TDR_DIV_1 )
+        if ( msr_content & ~APIC_TDR_DIV_MASK )
             return X86EMUL_EXCEPTION;
         break;
 
--- a/xen/arch/x86/include/asm/apicdef.h
+++ b/xen/arch/x86/include/asm/apicdef.h
@@ -106,7 +106,7 @@
 #define		APIC_TMICT	0x380
 #define		APIC_TMCCT	0x390
 #define		APIC_TDCR	0x3E0
-#define			APIC_TDR_DIV_TMBASE	(1<<2)
+#define			APIC_TDR_DIV_MASK	0xB
 #define			APIC_TDR_DIV_1		0xB
 #define			APIC_TDR_DIV_2		0x0
 #define			APIC_TDR_DIV_4		0x1



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 08:41:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 08:41:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259750.448268 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBuuH-0004rh-DQ; Mon, 24 Jan 2022 08:40:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259750.448268; Mon, 24 Jan 2022 08:40: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 1nBuuH-0004ra-AM; Mon, 24 Jan 2022 08:40:57 +0000
Received: by outflank-mailman (input) for mailman id 259750;
 Mon, 24 Jan 2022 08:40:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=REvy=SI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nBuuF-0004rU-Qq
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 08:40:55 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5782cd48-7cf1-11ec-bc18-3156f6d857e4;
 Mon, 24 Jan 2022 09:40:54 +0100 (CET)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2057.outbound.protection.outlook.com [104.47.2.57]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-31-o60dTjObNxOR2ABwvfB9sw-1; Mon, 24 Jan 2022 09:40:52 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DB6PR0402MB2696.eurprd04.prod.outlook.com (2603:10a6:4:a1::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Mon, 24 Jan
 2022 08:40:51 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.017; Mon, 24 Jan 2022
 08:40:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5782cd48-7cf1-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643013653;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=rxx6atfFd5k0JsQH8AAEwYCnCy5pCATTJVzFVmPKpxg=;
	b=RRfiSOTI5BodSzDTwqgSRZ8GYkRh2MuKkUlYWnFP8pBLn85mRBXjGjucYhqX9bNyEzqXTq
	RQKf2yrs/t90Vi+yhI50Z7IBO2WS+UmDKEtUOU3h0fd8sHuatsyMJEK5plM0Hlq41at3/k
	JI+sdqBbO+1PXiSmamfWle2VJI7AoX8=
X-MC-Unique: o60dTjObNxOR2ABwvfB9sw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lEVq3J/UAAIiLhsaTOxMhwrfFdZ2MXeQFQPjznlEKdSZ8JINDebWr3KA/TTJmfLN/bJN36/L7cXH5Og7eUzYdA6JLX7fSv7IeODdryLwPR0Jn69SiumE7V+sR5SsdkpylRihVOer0bM6Wg0KTEuP2s8wSUOg8WUfB1lfW6gnI16CsQ6DBvNprAxv7ibCwFNy1l4Sr/GTfVvrDjdhYwZPQhn5qInpHV0r8ATN21488ogU0f/t8koEo9xIpsENPlncTYA9w4QhOc9NJeGj/gZle673YYgIOg+JUKibqt7rGgcGd097FipDGcuOookeheEx3tibh+MASN6xHYeSBRpFlw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rxx6atfFd5k0JsQH8AAEwYCnCy5pCATTJVzFVmPKpxg=;
 b=UpRuk4T/hB9a0wFIsq8Q0jVRBRLzRjHZtcsrZukpg+Qm9fcevpEs62wIj7sMc0TvZtwNByp1+J0ppygNoJnwSkG5AL1D+iaDsxGkXL0W5FJHDQND7PKnS9Er1i3b+tl32iAeK4XuNXlF3Paq20LGiQFwpEcYg4Y6LZjiG3sFphfYDTt7T39bsPKt2j5wJw0RgDfkNidbIL4ZpfaxdxwHiUKiPmbrsr/ftqfHY/QGssKh4osvFK7zShyzJkd9Tbd9CdRVTZ0AEm6FC8xaZ59Mb9tkIMg10WbgJg9nu6hjNxAe3Kd+rGjU8pTC04FQ4IpdGdb5maF5oGWKzRJZfd4LWA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9497ff64-8fe3-5d5d-303a-2d9f8709ade3@suse.com>
Date: Mon, 24 Jan 2022 09:40:52 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: Debian Bug#1004269: Linker segfault while building src:xen
Content-Language: en-US
To: Hans van Kranenburg <hans@knorrie.org>
References: <2a095341-a727-23d1-2dce-dd9caa72c920@knorrie.org>
 <798c8459-7f28-c081-15bf-04ea94e8b711@knorrie.org>
Cc: 1004269@bugs.debian.org, xen-devel <xen-devel@lists.xenproject.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <798c8459-7f28-c081-15bf-04ea94e8b711@knorrie.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P194CA0086.EURP194.PROD.OUTLOOK.COM
 (2603:10a6:209:8f::27) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 682f87a1-6fd9-47aa-465e-08d9df153a23
X-MS-TrafficTypeDiagnostic: DB6PR0402MB2696:EE_
X-Microsoft-Antispam-PRVS:
	<DB6PR0402MB26968088445D1027C48F6053B35E9@DB6PR0402MB2696.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:
	CQgGwU3XpLhEzlT6hraRj9K3YGiDR5h8on10nvd5Vb8XcEzqHQcenNaC+1SnTboHZpLdZGPx3UVQkWH0gaYdGx7y34Gj4zWeZxWzbvV3Qc2OIQAqvwtlkZx1AZtV35eThSGzWOWMagfiYsGzX3qsh6XbTYt88wiX1d/iWqC5T+3cmRsy5kX5O/tEelsxaBBqDXG+dFD5Ag+1eMNCHRcoaEDTuczJhnNP7f9MJhvKgFmbSo1WkeZVVovhhmRJ+OfwXbekU3Kr29IurAAYVwaXzdlPZza7y0rmpy5TJUW/tf+yhkSoUdUFhYh4Tlk37OjZc6Tf0GayHp8ibNyufXdV/7hih+E6r23ZeenOwed7uvjRUN3a1ESwGmSF8+qeIqP5c4SRjC5OWi2i9860b7nftoXVTJmvVXdYSuD7zVjJ/DxX4cxbLYqjHR/VzdHr//TE1FRJR8ZJTmrHJWf802OnCscjVsIwOkkeTYKavQl50to2GlyEhPlAKg7bhgyNFx7OGB8z3bNbASr9l1QKwzh3SJd/8xIPOk4bJebp9oDw8guaRrXpAc7Dw+d6XTc4fd/Ev3wiWNYHZ9kP9WJ4JGO1Ho3WIwK/FXEwhdY6xxM5MzKYFO3IS8CObY7lOOya28VSmHY79qB4Q8nEzFvuqQvKWgQIIRsGFNEkCIBz7tWRMn9xOaByK6xDazvv/TUONx3R+NFrlvujaI9sKkJYzIqxhDjk2BvdhajoLJJC+gcselWL9RnY4EBlMCF7YVEVIdQ/1fhSwi3X3VFjPWIEFMeLFKjgzSSHYRj7w0QXPISbnHAix6AMEzv4Y3VCfaB/G2MQ
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)(66556008)(38100700002)(66946007)(66476007)(4326008)(86362001)(6512007)(186003)(53546011)(26005)(31696002)(6506007)(31686004)(2616005)(5660300002)(2906002)(36756003)(8936002)(966005)(6486002)(316002)(508600001)(8676002)(6916009)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RmZaV1JmNmN5ekJULzU2TFduTFZRa1hxbjZHaTdDenlHMDQzTHUza29rZVIv?=
 =?utf-8?B?V1BBSCs4ajkvMDYvbjJyYjdQMndGSEt1MjJQRlNmeDljb2U0dlJnUUVHaVl3?=
 =?utf-8?B?N25ISTAycDVOUGxwOGQ0Rnk0VUlQNGQ4V0ZMSEhBbkd0QUhkTFp0Z2Z5R3Ri?=
 =?utf-8?B?NDBqbHg5UVI1TG52K1RVTk9xTWpGUVMza3FyUHhTNUdIMkcyM0Q4TEx4dEEr?=
 =?utf-8?B?N3czdXgxSmhQU1ZQc0RzZlRJamFneU44bnJ5UXNKa3dsRzd6d04vZjlJb3V5?=
 =?utf-8?B?OTlxcTV4cmUwM1F3TEFoTzBSMC8yK2NRNVZ4LzJNK1R1Ynp1SlFwd0JqODc2?=
 =?utf-8?B?bDdUanlYNzNYUlltWXE0T3lJdFFyRU44SjZYa2NJblBLVWdyWi9rZU5Oa1Z4?=
 =?utf-8?B?Y3Z2eEk1SlhSSDVNWnovdFRRSkFNNkZCa3pER2llcE0xS1kzR3hxQTVaQjFj?=
 =?utf-8?B?MU1LeHRzR0I0c0diZkFkY1B0OStGQy9KK3pUMzlqM0dEL2FTbWswNkkxcHNI?=
 =?utf-8?B?YnNsWjkzM3ZSWEgwci95SGdHaXoxKy9TYmJ4NnFYaFBRWGY1Sm1TRDluM3pv?=
 =?utf-8?B?b2crVGZrLzJhRFhWNnJDMUJhRmZPb3ExUDVNWVBHNmJHSjBCL2Q5dnRKTGdk?=
 =?utf-8?B?cVhIN3gvVUJ2cDFrNFpGd3hzN0FEdjVXNVkvZzZBY29FcVAvb2NuNGFpNW1T?=
 =?utf-8?B?d0hKK2k0T0o2RUs4UnJhQWU3R2xxYlM0SnhOaXJRK2ZkQzNnVnJZSUV5WHVK?=
 =?utf-8?B?UUhtM29yRi9iZUVpVXROcEV3WHorRmFUbjhjUFBZODZ3VUFnMi9ja2NRaHZo?=
 =?utf-8?B?UjFNUU5pMTNLYjhtUnY5dHZIWXkwVmt5N21ENGlxaEt0RzhNQmtUR1d5VEE1?=
 =?utf-8?B?Qm9Qak9vV2Z5dWUyV2ZVQmFpODZjODZPa1l1NnFqaFJOc2hLaExiWGhBZ29M?=
 =?utf-8?B?K084aGt5cUtEb3AxK0R5RllDZm9IZHpKNWE1TWtFWEJhc3IvQmFVNWxKYlEy?=
 =?utf-8?B?NU5LNEV3a1ZwSkV6c1lhRlBqVjJEU0NkS1c0RDVodVp6NkQ1RmtIWkNGUS9H?=
 =?utf-8?B?WXdyL0x2TXFXRmhweEgwb0I1K2NlOXRTTDZyblJpN3ZEaXpmQjNvTklGamFq?=
 =?utf-8?B?SG1zMkk1ZWo4NzFTRnJJY0lxTVprY0pOd3RWZUdFb1orUXVGdkphMVU5eXNv?=
 =?utf-8?B?ZkUwU1FTMWxXazdYaW5DQzdlVENKMVlwOHNFRXZwWWwxUTdhdXJWQ1c5ZFJh?=
 =?utf-8?B?UHlLMXNWdHFCbXhEa3VucFdEWi9OamZpTlc3Qi9naGpVMk43RGtkQ2FoZDNo?=
 =?utf-8?B?REdnR3o0RFp3ZmxkeDN4clFZRjlGVHRMS3hYNUI5QW5oYnVvZkh4Q3dUd3ZQ?=
 =?utf-8?B?Q2lST1ZVckVBb2JWYVM5RFF6S211VjFWbHBwT0tsWmhKVEdxY3B6RVNzR0RC?=
 =?utf-8?B?eVhJdkcyMjBQVnVXMHdheVprbVBlaVZsdXRZK28vUHYwR2w4bkdMMTZWbWJM?=
 =?utf-8?B?VFlyS0h6RURsZENVS1FYbjdFdTBjNVRlYUxLa1VPM0NtOVBwdHFCUmdpVXM0?=
 =?utf-8?B?YmdZTUxaMHJGZEJSaW5wZzNLRDhkT0F0c1IvT0N4TG9kK1N0R3h4a1hrSHZR?=
 =?utf-8?B?cnJjVUJDOXFrSmNTOFhGZmVWdjVoR1Q1RkxJbk9lcXFCTHczY1BNdU5laWNq?=
 =?utf-8?B?dVpEVDNsTEtYL2RPRW1tRXA4VFd5Ri9QYnlUV0psMTBHYThmRDVDSC9MSGdn?=
 =?utf-8?B?eWVrMGYzSStOWWdoMk1Eb1lLaHJaemIwWm9XWXJ4WEV3R3dVNHBVUEhPeU1T?=
 =?utf-8?B?azRsbWNMbEJlUWxFYjR6SEF4NFBCTk1iMlJWUEtJMnk4Q042cklvajlYUEI3?=
 =?utf-8?B?d29OeWpLbkY4NFNFbkRnVUg2SUc4Sk9ORXhhampOTk95SzlUaW9Nc0UzVE4z?=
 =?utf-8?B?S2pKaWtpTm91MlZMQ1BLTE5ENlJNWWNqOE1oTXdnNzE5dkVrWFdJMHI0TUZj?=
 =?utf-8?B?L1pXZEtoYlVQODN5dTQyRjIrdUhnUTcvZVpyTUh2cWQ5eEJ2MkZnUk9MRlJW?=
 =?utf-8?B?a1VEcnRJayt5cTJCWEpDYnRnUC9QWkdab3U0LzZkS1FFMFMzWGgxY3I0REc3?=
 =?utf-8?B?d1NxaG91T1JWOFhjMnUvQ1JDcFMrcU9QYjhpcXhWTndxdEFYMFRpN2luS2o1?=
 =?utf-8?Q?x2XKfd3Q7YdG5cOXTmY4Cs8=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 682f87a1-6fd9-47aa-465e-08d9df153a23
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jan 2022 08:40:51.3552
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: GJ9uxd0d38q4m+afVJ2amJBgI4h6aOLSgId8UdGfWj80hRLnrqiYSa1sTokr04JwCeQdS6Uwb6FNopFjphR77w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0402MB2696

On 23.01.2022 22:52, Hans van Kranenburg wrote:
> (To both the Debian bug # and xen-devel list, reply-all is fine)
> Hi Xen people,
> 
> I just filed a bug at Debian on the binutils package, because since the 
> latest binutils package update (Debian 2.37.50.20220106-2), Xen (both 
> 4.14 and 4.16) fails to build with a segfault at the following point:
> 
> x86_64-linux-gnu-ld -mi386pep --subsystem=10 
> --image-base=0xffff82d040000000 --stack=0,0 --heap=0,0 
> --section-alignment=0x200000 --file-alignment=0x20 
> --major-image-version=4 --minor-image-version=16 --major-os-version=2 
> --minor-os-version=0 --major-subsystem-version=2 
> --minor-subsystem-version=0 --no-insert-timestamp --build-id=sha1 -T 
> efi.lds -N prelink.o 
> /builds/xen-team/debian-xen/debian/output/source_dir/xen/common/symbols-dummy.o 
> -b pe-x86-64 efi/buildid.o -o 
> /builds/xen-team/debian-xen/debian/output/source_dir/xen/.xen.efi.0xffff82d040000000.0 
> && :
> Segmentation fault (core dumped)
> 
> Full message and links to build logs etc are in the initial bug message, 
> to be seen at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1004269
> 
> We (Debian Xen Team) are awaiting response, but I thought to also let 
> you know already.
> 
> * Does the above error 'ring a bell'?
> * Can you maybe also reproduce this in a development environment with 
> very latest binutils?

I've tried with a 1.5 weeks old snapshot I had lying about; no
"success". But your and my builds are surely quite different anyway.

> * Maybe someone has a useful comment for the Debian binutils maintainer 
> about what's happening in this step of the build?

It's xen.efi that's being linked; not sure what else to say.

> * Any suggestions about what we can do to help figure this out?

I'm pretty certain this needs debugging from the binutils side, so I
guess you will want to report it there (even more so with 2.38 around
the corner). I guess it's actually debugging ld or bisecting which
provide the best chance of figuring out what's going on.

Jan

> * We'll try to help debug, but will surely appreciate upstream help if 
> things get too technical. It's simply the case that I did not have to 
> look into a very similar issue before, so it's new.
> 
> Thanks!
> Hans
> 



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 09:08:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 09:08:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259757.448279 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBvKb-0007Oa-SK; Mon, 24 Jan 2022 09:08:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259757.448279; Mon, 24 Jan 2022 09:08:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBvKb-0007OT-Nl; Mon, 24 Jan 2022 09:08:09 +0000
Received: by outflank-mailman (input) for mailman id 259757;
 Mon, 24 Jan 2022 09:08:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BDBv=SI=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nBvKZ-0007OL-Ao
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 09:08:07 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 22a9b5a4-7cf5-11ec-bc18-3156f6d857e4;
 Mon, 24 Jan 2022 10:08:04 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 22a9b5a4-7cf5-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643015284;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=bSWD8WeG1WsTze/cHXxtJR8kEFkJdhZrcn+uAHXHNbY=;
  b=d3QziJe65BXUVQzW5mLfBzuJ/8Pft22UZ874F8Werw3pglyfAMYXYVub
   41eCJ/aHMqcKlLSFicginGSeeimA9PpWI7LCgkKXThGjzOl7ygjfyXcz3
   VgTcPSP+kdiASTODXDSJ0oKtIjyO906IOSIk6OPhVJTrCu0jEha4HJgiA
   M=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: HQrN6nF73DL+2fyj/1C+GFzq+F/EWk+pXT6IKiPWgdfCcPmGgSbEelQ7lTAGiYVh55vm7ZXEKz
 gqAIb23ZMt01BD3GIZUAApbebcNjE/tGtuuhpNKRMEEe1T/gID9q5FDGbCc0YwXLkcqnqyScLl
 lsk0XABijc9MHwYMkNxnQkFuXzfD8cd8Sx0O4rzgkCRE0/BmlloC32QQHDng0HtzLZLdYkQUvY
 OU3VcJ/w/3ZfH/nTlepJ5viSNJKpYi2MOEshn1kVh75HU86HgmcrSivhjuA2S+iiGbiCTmUeNd
 SLmFWPc5VvXhO9bK0Fjn4X9i
X-SBRS: 5.2
X-MesageID: 62078064
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:DwMYVKKCU5h9otbtFE+RIJIlxSXFcZb7ZxGr2PjKsXjdYENS0TQOn
 2sYXTuOM66CMGfxL992aYm0pkMBvp6DzNMwQFBlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokcxIn5BC5C5xZVG/fjgqoHUVaiUakideSc+EH170Us5wLZj6mJVqYPR7z2l6
 IuaT/L3YDdJ6xYsWo7Dw/vewP/HlK2aVAIw5jTSV9gS1LPtvyB94KYkDbOwNxPFrrx8RYZWc
 QphIIaRpQs19z91Yj+sfy2SnkciGtY+NiDW4pZatjTLbrGvaUXe345iXMfwZ3u7hB2bg4ljm
 NRK76WPEzgTNbPRuvgZaythRnQW0a1uoNcrIFC6uM2XiUbHb2Ht07NlC0Re0Y8wo7gtRzsUr
 LpBdW5LPkvra+GemdpXTsF2gcsuNo/zNZ43sXB81zDJS/0hRPgvRo2Uv4cHjG9u2qiiG97Oa
 fcBQjptZyieYjQMagYqJ7M8ofWB0yyXnzpw9wvO+PtfD3Lo5BN80f7pMcf9edGQQ8hR2EGCq
 Qru523kBjkKOdrZziCKmlquj+rChmbrVYQ6GLy++eFjhFnVw2FVFR5+fUu2p7y1h1CzX/pbK
 lcI4Ww+oK4q7kupQ9LhGRqirxa5UgU0AoQKVbdgsUfUl/SSs13x6nU4oiBpesB/pp83QmYT6
 QW2pdj3GB5ztIWncCfInluLlg+aNS8QJG4EQCYLSwoZ/tXuyL0OYgLzosVLS/Ds0ICscd3k6
 3XT9XVl2e1P5SIe//jjpTj6bySQSo8lp+LfziHeRSqb4wxwf+ZJjKT4uAGAvZ6swGt0J2RtX
 UToeeDDtoji7rnXzURhpdnh+5nyv5643MX02wIHInXY323FF4SfVY5R+ipiA0xiL9wJfzTkC
 GeK518LtcEIZyb7PPEuC25UNyjN5fO4fekJq9iONoYeCnSPXFHvEN5Sib64gDm2zRlEfVAXM
 paHa8e8ZUv2+ow8pAdas9w1iOdxrghnnDu7bcmik3yPjOTCDFbIF+ZtGAbeP4gRsfLfyC2Io
 ok3Cid/40gFOAEISnOJodd7wJFjBSVTOK0aXOQOJrfceVI3QT94YxITqJt4E7FYc21uvr6g1
 lm2W1NCyUq5gnvCKA6QbWtkZq+pVpF6xU/X9wR2Vbpx83R8M4up8okFcJ47Iesu+OB5lKYmR
 PgZYcSQRP9IT22fqTgaaJD8qq1kdQiq2l3Sb3b0PmBncs4yXRHN9//lYhDrqHsEAB2ouJZsu
 LanzA7aH8YOHlwwEMbMZfuz5FqtpnxByvlqVk7FL4ALKkXh+YRnMQLrifozL51eIBnP3GLCh
 Q2XHQ0Zta/GpIpsqIvFgqWNroGIFepiHxUFQzmHvOjubSSDpzit245NVuqMbAvxbmKs9fXwf
 /hRwtH9LOYDwARAvb1jHus51qk5/dbu+eNXl1w2AHXRYl23Ibp8OX3aj9JXv6hAy7IF6wu7X
 kWDpotTNbmTYZ63FVcQIEwub/iZ1OFSkT7XtKxnLEL/7S5x3byGTUQNYEXc1H0DdON4YNE/3
 OMsmM8K8Aju2BMlP+GPgj1Q62nRfGcLVL8qt81CDYLm4ubxJoquvXAI5vfK3ayy
IronPort-HdrOrdr: A9a23:WzGKJqAt0UsnTwXlHeg0sceALOsnbusQ8zAXPh9KJiC9I/b1qy
 nxppkmPH/P6Qr4WBkb6Le90Y27MAnhHPlOkPQs1NaZLXLbUQ6TQr2KgrGSoQEIdxeOk9K1kJ
 0QD5SWa+eAfGSS7/yKmTVQeuxIqLLskNHKuQ6d9QYUcegDUdAf0+4TMHf8LqQZfngjOXJvf6
 Dsmfav6gDQMkg/X4CePD0oTuLDr9rEmNbPZgMHPQcu7E2rgSmz4LD3PhCE1lNGOgk/jIsKwC
 zgqUjU96+ju/a0xlv10HLS1Y1fnJ/ExsFYDMKBp8AJInHHixquZq5mR7qe1QpF6t2H2RIPqp
 3hsh0gN8N85zf4eXy0mwLk303a3DMn+xbZuCmlqEqmhfa8aCMxCsJHi44cWADe8VAcsNZ117
 8O936FtrJMZCmw0hjV1pztbVVHh0C0qX0tnao4lHpES7YTb7dXsMg24F5VKpEdByj3gbpXX9
 WGNPuspMq+TGnqLEww5gJUsZ6RtzUIb1u7q3E5y42oO2M8pgE986MarPZv6UvouqhND6Ws3N
 60QZiAoos+OvP+XZgNdNvpfvHHeFAlYSi8eV56cm6XXJ3uBRr22uvKCfMOlaaXRKA=
X-IronPort-AV: E=Sophos;i="5.88,311,1635220800"; 
   d="scan'208";a="62078064"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=X+FeIEbu/aKqfGbuO8G1CIZ60hprtukkN/gfy89Qsu8chOaAjfi7l+FqqKeFHw4B2IT2v1yJJu7yRMzsME1mxL58R7te/Wvz5kgJ1UDGwLS7k5uzA9xaX1EuIbEWxt5xm04yaCc2CBr0PJwTnz/GuMeJazy/a3s1+1T7LJDzPTE+pyJf6jWPO0P6O+0CcJgBRJNWTUkFtvuzGxnpz5PTAEWfMjw4YNaWy5YQiCUOslY0338GJHnVjFnD4ZxPlvmG2VbkNFSBJTTDx1f0izanWHcCECMlopHnq3m7N3SIH8tFTRYKmXvErKFwfwvG8H42SnqDIOi8gtb9Tq9xKRNl1A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GNY/xXNXSDtzoPZoLxHjW+QfDUDiK3LrM+FRUyUkGKo=;
 b=VXPBWOwzXW+xr4HymngWbQsH/io5MEeURJgCIuBg3Zoy6DMiUSQNj9hiXepK27Nz8gNpvdSjhuqnj0pAzDJGExa/zA/bokz754HRdI1TFU0c6stAdEDamvrn2tTIGSsJ4vQSmwqvMYa0xQLocrazi2lFURba4higkyWDPvn4HOU0VFtJUs3javEpDR6naNhSNQE/aj18HFLH37NduOpqyXvOXZqQ42dbMKMv77R32057y24mDmkamc3pIH8i7y8Wl4G/F/kd7rlj7rhH09a2I2ve+ElX0ICsIClJA3Ku+xoGc/WJKws/dFNxlbJnzyzBiIEyye7t+CnEfb2u23sY1g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GNY/xXNXSDtzoPZoLxHjW+QfDUDiK3LrM+FRUyUkGKo=;
 b=XokwtqUnwzDZ2zlYWMyyOENQwbV4ZbTATtvU1/Dt8JR5sAXfc+bLm9jzeqet4AHzTcQJ7xzy34tG3QX84lrcO95TPvXTWqrbxFAMO1jzczpdrY2hkMbXx94K2kpfQTHqcNkkWdkkAoQoQ8GJ4IifwKkAmoGMn1QTP5eMBnatl08=
Date: Mon, 24 Jan 2022 10:07:54 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: James Dingwall <james-xen@dingwall.me.uk>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wei.liu@kernel.org>, Paul
 Durrant <paul@xen.org>
Subject: Re: possible kernel/libxl race with xl network-attach
Message-ID: <Ye5sarMTn23g6eGi@Air-de-Roger>
References: <20220113111946.GA4133739@dingwall.me.uk>
 <YeBPG+8D00xG4h0j@Air-de-Roger>
 <1671ad485c35fb86d758951889cfa05d@dingwall.me.uk>
 <Yeq8fdOWLngcjDH8@Air-de-Roger> <20220121150507.GA954743@dingwall.me.uk>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20220121150507.GA954743@dingwall.me.uk>
X-ClientProxiedBy: FR0P281CA0084.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::23) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 1bf33a24-0298-4bd7-bbb5-08d9df19045d
X-MS-TrafficTypeDiagnostic: CO1PR03MB5682:EE_
X-Microsoft-Antispam-PRVS: <CO1PR03MB56824A098043402F9600411C8F5E9@CO1PR03MB5682.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: xxUp62kxMWQjB2pxQuNcM+hyTGQotxr/0XXl++tiE5wBHdYvki7ovKjC/aBNYGUe8idXhq9vfkfiFIxqi8wl/WPwQO/eDsn//cwJijr2pcRx8skDQl1o/6bR5rpkENs1gSI0TcqtVbA1cLLGPuEVlKRYK388/6E8quu0B7VQCJy4T22kBv5ORQ5ALYScsEKedDSHrivWO3yE3HLbIi1Wa9KYFWt9l0aug/+2N9PW35X4+ejZtEV4pLWhQ4CVtQapwiDlDN1ySwY95V5z1xuQko+xuCyeedG3P6BIJ+LoPi710M2gjzXh5inTvx8828xbvfwB8HN0UberOtiBlqROx0cTkt+DDMKIEZe4pwlB1p9MCWiE9xlAvv+CEaRgFZdBZmiE2iXH2VV0dzpLkLEDpvx1Hl8uxW0phMw+mlVaHfkcmTL+G8ES0BgyMChu2j7osHlAduQ8gB/IBS+5E4nZuW0sxRjpl01ZuCZMS+dUpdysUf9ASiXHygQ9WdtUmCsa3FCtmeHdBhYrqMc8ICVVIhi6zdcBboloIRBWOaQebQWeSujRgDcAeLXywL6pcI0vvtEkmLj5vp1YwXo5Pm2X4WM5znYHrOfWEbcmdgyvoDft/WBVLbHg0swdmsB6zmIX54YHZ3FL4q6FAaOQRKGRMA==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(66946007)(6916009)(85182001)(66556008)(6486002)(2906002)(186003)(33716001)(6512007)(9686003)(5660300002)(8936002)(82960400001)(38100700002)(86362001)(83380400001)(54906003)(508600001)(6506007)(8676002)(26005)(4326008)(6666004)(53546011)(66476007)(316002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?OU1JcVhMUnB1R0xXdmY5bGE0dmkxTUp2TUlWd3o2UDlPU0lkeEdITTAzTnRV?=
 =?utf-8?B?bFJpbUZqVVRHVHl1MDFpbGV0aHd4NGQ2K1FrZkZOL2tocm8vK2FsVUw3Tmls?=
 =?utf-8?B?YkJKL1RBdjlOSmZ1ZEY0cUFabVFQeW9KUDdlblRueWNjR0FEZE01ek1VdW82?=
 =?utf-8?B?SGkzNWNTSGZsRW1odDR0S2tGUldYTXBlcDN6NTJ2L3lpaU9WNHdaNDRyMkF3?=
 =?utf-8?B?VXdjU2ZLRThuY2YvSkViNEI5R0hhZTZKcDZXMm5DOHlnQTZaRHVFcmZHc1V6?=
 =?utf-8?B?VUx6aS9HSHJSUFVtdU4rNjRaWkdvWFZJSnZmTDUwb2ljd1RwZ2FzUlltNE02?=
 =?utf-8?B?N3YzR0tSVStHRlFoNnpOTER1ZUFSajhOSnlKbDVWa1kyREZyT3BiY1pFSk1K?=
 =?utf-8?B?cXBNV0NxWm9iaGxUL2VrV2g5ajZUTHJqdWpiVTFncDNpdUpnVGNuVzdIS2NV?=
 =?utf-8?B?Zi9tMkpJcnV2b1cyOHR1Q0FEb1hhRnlERkYxdW5iUkFSdGliQk5ZYllJUVZN?=
 =?utf-8?B?UFB3dXNrZmZ6QjNqelVNMVhyeWl2R1lORzZrQlJScVdHd1Zhb3c3Y0FPb1ZQ?=
 =?utf-8?B?Sk9oVk02OFdtVGJYd09ENHpiTEh5MEFobWRtcUhVNkZBNUpZY2xMQmFYeTI4?=
 =?utf-8?B?MWdGYWFWWXdlc3JNMzQ3bGMrZlhCK1F3R1llaysyOHpHbE5PWFZ2OGE5RFZu?=
 =?utf-8?B?RDZiVlEwYWYwM00yM1V0NlIydXM5MDZpYXI2VXlYdXpmc1ZWTU9SUFRZVnFV?=
 =?utf-8?B?ZFpzTFZyaTVZT3JlMHhWM2lMKzNLaTJ6MTcvRmhFTU4xT2ZHSmhMUVJYbDNS?=
 =?utf-8?B?UTZGSVlCVzN4QzlCcXN1Mm95TCtnK2p1L0NsS1k2RjBUdHVUZ1V4UTA1L0ds?=
 =?utf-8?B?L0ZMcWc1aTJ1c2htQTEyOVZRdE9FNUx4YlJEaVBlUmxpTGNhcEI1OXY5cFhB?=
 =?utf-8?B?dHI2OWs0dHVPSDJibTVldFlYMGtYOGJIWnZkUFBzNnJZUDNSejZnUE1XNVY2?=
 =?utf-8?B?cmZ3UkpzTGljMWtJbmVKdGMyaVhaOTJOOWNpRlN1UE5iTEc1d29OS1pTN1dP?=
 =?utf-8?B?L0lQUEFrekhPTlZaQ2RmUXEwVjFMN2FGODQ3d0swYytUWmdCZ25MazhvdE5p?=
 =?utf-8?B?eGFwMVY0eWJOSGRVNDBjSHJOSG9ONzRoSWdjc2haWDJWWHRQT2dHNU1mZ0Fl?=
 =?utf-8?B?QXNOOURBdCt4TzJoRDVHYTcwWDhCS3c3dWhhRnI0aXppaGVzYkQyNzVGbTgy?=
 =?utf-8?B?NUQyMWFreXJZNXFpTnJXdHZsRjZHL0xydUt6MUZjTU1ZSWR0bXc4UklmbnZX?=
 =?utf-8?B?REcrcVFQazVqV21LdHB4cm9kb0N5SEI1a3hZdjk3T2NaeXprRHNwdHRZR2JY?=
 =?utf-8?B?MWdQQkpIeGNhU1VpU3pnVCtGN0pXbDBBeVpyNkw5MmN5QnJabzIwdFFLWXdK?=
 =?utf-8?B?TzB1eXBqZmNINS9LbUU5L3ozRXpOa0xCS2t5ZkwrMXNLaS9PSXVxZnZnNWxv?=
 =?utf-8?B?Z1JsQit5N3N5M2RJbXNOb28yRE5pbFQwYXBjMUN0bGRUSHRNOGdqbDFrdmRh?=
 =?utf-8?B?TXhNeXZ2VGNCOVNMQys5S2JpN1VvdFl5VWVURlZjdmlPc1JyaENrS1ZWZkJw?=
 =?utf-8?B?UFNyenlGeVBham05Z1BZWWFTZXVzVjBqMExzK2pvNTFRRVI1VFlmTTdSSmVw?=
 =?utf-8?B?VVBCQStNay9iaEpBMENWODRJOENxSnJSZ1FiNkxwdWptY1EyL25DV2JJTmVr?=
 =?utf-8?B?QjRKdVVwRWxrbnBDNXh6cVlkUHlvM3ZXOHhrMHpEMFVYTXVkTTZSNEpEVXlJ?=
 =?utf-8?B?REtvWExvOUM2VGtVMURMWElVMnZDMHRDd1p1VTNJS0xRWUF4Z0pWaFdjOEJM?=
 =?utf-8?B?VVl1V0M1QXlwMjZ2RnNDNzVDUFpramdma1B3b2o4OEprbzNwdXZ5T2JRMVA5?=
 =?utf-8?B?M3VFS3NEZE11REkwVDRQcDk2MmxXNC9EOHlYRW80Y3RpUUYxYlJTa2tGUWlK?=
 =?utf-8?B?VU50amtDZkpyRkpnT3BLbk00ZXZ4V0pHK0gzdk5sbTczeXAzSHE4VDUrQ0do?=
 =?utf-8?B?WjlQaVMrT3hMUThkZEhDaC9EU2I1YUtkYlQ3dlFSdWZnOE1aQnlOd0doYXR2?=
 =?utf-8?B?VTBGOFRPRDMyK1V0WFhCZUxJQmhaSEhmMmRBZnhOcnNWMm1xSE4reDVuNEMv?=
 =?utf-8?Q?Dg3E2OxuFWFCicUWlPFPk4A=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 1bf33a24-0298-4bd7-bbb5-08d9df19045d
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jan 2022 09:07:59.2406
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: TrMj92SyZB2evX9gGids4macBAMS3UmcMwBgpPsXSmKJr8K/ZsEolM26ise/6R9RpYYz/FLeNKdo+1V/0c0BCA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR03MB5682
X-OriginatorOrg: citrix.com

On Fri, Jan 21, 2022 at 03:05:07PM +0000, James Dingwall wrote:
> On Fri, Jan 21, 2022 at 03:00:29PM +0100, Roger Pau Monné wrote:
> > On Fri, Jan 21, 2022 at 01:34:54PM +0000, James Dingwall wrote:
> > > On 2022-01-13 16:11, Roger Pau Monné wrote:
> > > > On Thu, Jan 13, 2022 at 11:19:46AM +0000, James Dingwall wrote:
> > > > > 
> > > > > I have been trying to debug a problem where a vif with the backend
> > > > > in a
> > > > > driver domain is added to dom0.  Intermittently the hotplug script is
> > > > > not invoked by libxl (running as xl devd) in the driver domain.  By
> > > > > enabling some debug for the driver domain kernel and libxl I have
> > > > > these
> > > > > messages:
> > > > > 
> > > > > driver domain kernel (Ubuntu 5.4.0-92-generic):
> > > > > 
> > > > > [Thu Jan 13 01:39:31 2022] [1408] 564: vif vif-0-0 vif0.0:
> > > > > Successfully created xenvif
> > > > > [Thu Jan 13 01:39:31 2022] [26] 583: xen_netback:frontend_changed:
> > > > > /local/domain/0/device/vif/0 -> Initialising
> > > > > [Thu Jan 13 01:39:31 2022] [26] 470:
> > > > > xen_netback:backend_switch_state: backend/vif/0/0 -> InitWait
> > > > > [Thu Jan 13 01:39:31 2022] [26] 583: xen_netback:frontend_changed:
> > > > > /local/domain/0/device/vif/0 -> Connected
> > > > > [Thu Jan 13 01:39:31 2022] vif vif-0-0 vif0.0: Guest Rx ready
> > > > > [Thu Jan 13 01:39:31 2022] [26] 470:
> > > > > xen_netback:backend_switch_state: backend/vif/0/0 -> Connected
> > > > > 
> > > > > xl devd (Xen 4.14.3):
> > > > > 
> > > > > 2022-01-13 01:39:31 UTC libxl: debug:
> > > > > libxl_event.c:750:watchfd_callback: watch w=0x7ffd416b0528
> > > > > wpath=/local/domain/2/backend token=3/0: event
> > > > > epath=/local/domain/2/backend/vif/0/0/state
> > > > > 2022-01-13 01:39:31 UTC libxl: debug:
> > > > > libxl_event.c:2445:libxl__nested_ao_create: ao 0x5633ac569700:
> > > > > nested ao, parent 0x5633ac567f90
> > > > > 2022-01-13 01:39:31 UTC libxl: debug:
> > > > > libxl_event.c:750:watchfd_callback: watch w=0x5633ac569180
> > > > > wpath=/local/domain/2/backend/vif/0/0/state token=2/1: event
> > > > > epath=/local/domain/2/backend/vif/0/0/state
> > > > > 2022-01-13 01:39:31 UTC libxl: debug:
> > > > > libxl_event.c:1055:devstate_callback: backend
> > > > > /local/domain/2/backend/vif/0/0/state wanted state 2 still waiting
> > > > > state 4
> > > > > 2022-01-13 01:39:31 UTC libxl: debug:
> > > > > libxl_event.c:750:watchfd_callback: watch w=0x7ffd416b0528
> > > > > wpath=/local/domain/2/backend token=3/0: event
> > > > > epath=/local/domain/2/backend/vif/0/0/state
> > > > > 2022-01-13 01:39:31 UTC libxl: debug:
> > > > > libxl_event.c:2445:libxl__nested_ao_create: ao 0x5633ac56a220:
> > > > > nested ao, parent 0x5633ac567f90
> > > > > 2022-01-13 01:39:31 UTC libxl: debug:
> > > > > libxl_event.c:750:watchfd_callback: watch w=0x5633ac569180
> > > > > wpath=/local/domain/2/backend/vif/0/0/state token=2/1: event
> > > > > epath=/local/domain/2/backend/vif/0/0/state
> > > > > 2022-01-13 01:39:31 UTC libxl: debug:
> > > > > libxl_event.c:1055:devstate_callback: backend
> > > > > /local/domain/2/backend/vif/0/0/state wanted state 2 still waiting
> > > > > state 4
> > > > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > > > libxl_aoutils.c:88:xswait_timeout_callback: backend
> > > > > /local/domain/2/backend/vif/0/0/state (hoping for state change to
> > > > > 2): xswait timeout (path=/local/domain/2/backend/vif/0/0/state)
> > > > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > > > libxl_event.c:850:libxl__ev_xswatch_deregister: watch
> > > > > w=0x5633ac569180 wpath=/local/domain/2/backend/vif/0/0/state
> > > > > token=2/1: deregister slotnum=2
> > > > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > > > libxl_event.c:1039:devstate_callback: backend
> > > > > /local/domain/2/backend/vif/0/0/state wanted state 2  timed out
> > > > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > > > libxl_event.c:864:libxl__ev_xswatch_deregister: watch
> > > > > w=0x5633ac569180: deregister unregistered
> > > > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > > > libxl_device.c:1092:device_backend_callback: calling
> > > > > device_backend_cleanup
> > > > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > > > libxl_event.c:864:libxl__ev_xswatch_deregister: watch
> > > > > w=0x5633ac569180: deregister unregistered
> > > > > 2022-01-13 01:39:51 UTC libxl: error:
> > > > > libxl_device.c:1105:device_backend_callback: unable to add device
> > > > > with path /local/domain/2/backend/vif/0/0
> > > > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > > > libxl_event.c:864:libxl__ev_xswatch_deregister: watch
> > > > > w=0x5633ac569280: deregister unregistered
> > > > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > > > libxl_device.c:1470:device_complete: device
> > > > > /local/domain/2/backend/vif/0/0 add failed
> > > > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > > > libxl_event.c:2035:libxl__ao__destroy: ao 0x5633ac568f30: destroy
> > > > > 
> > > > > the xenstore content for the backend:
> > > > > 
> > > > > # xenstore-ls /local/domain/2/backend/vif/0
> > > > > 0 = ""
> > > > >  frontend = "/local/domain/0/device/vif/0"
> > > > >  frontend-id = "0"
> > > > >  online = "1"
> > > > >  state = "4"
> > > > >  script = "/etc/xen/scripts/vif-zynstra"
> > > > >  vifname = "dom0.0"
> > > > >  mac = "00:16:3e:6c:de:82"
> > > > >  bridge = "cluster"
> > > > >  handle = "0"
> > > > >  type = "vif"
> > > > >  feature-sg = "1"
> > > > >  feature-gso-tcpv4 = "1"
> > > > >  feature-gso-tcpv6 = "1"
> > > > >  feature-ipv6-csum-offload = "1"
> > > > >  feature-rx-copy = "1"
> > > > >  feature-rx-flip = "0"
> > > > >  feature-multicast-control = "1"
> > > > >  feature-dynamic-multicast-control = "1"
> > > > >  feature-split-event-channels = "1"
> > > > >  multi-queue-max-queues = "2"
> > > > >  feature-ctrl-ring = "1"
> > > > >  hotplug-status = "connected"
> > 
> > The relevant point here is that `hotplug-status = "connected"` in the
> > backend xenstore nodes, and that's set by the hotplug script.
> > 
> > Having hotplug-status == "connected" will allow the backend to proceed
> > to the connected state, so there's some component in your system that
> > sets this xenstore node before `xl devd` get a change to run the
> > hotplug script, hence me asking for any udev rules in the previous
> > email.
> > 
> > If it's not an udev rule then I'm lost. Do you have any modifications
> > to the Xen tools that could set this xenstore node?
> 
> I am wondering if that xenstore content was captured after the environment
> had been manually fixed.  I have been able to reproduce it by hotplugging
> an interface where libxl isn't patched:
> 
> 
> dom0# xl network-attach 0 backend=netdd script=vif-zynstra vifname=dom0.2 bridge=abridge
> netdd# xenstore-ls /local/domain/2/backend/vif/0/2
> frontend = "/local/domain/0/device/vif/2"
> frontend-id = "0"
> online = "1"
> state = "4"
> script = "/etc/xen/scripts/vif-zynstra"
> vifname = "dom0.2"
> mac = "00:16:3e:5f:fc:51"
> bridge = "abridge"
> handle = "2"
> type = "vif"
> feature-sg = "1"
> feature-gso-tcpv4 = "1"
> feature-gso-tcpv6 = "1"
> feature-ipv6-csum-offload = "1"
> feature-rx-copy = "1"
> feature-rx-flip = "0"
> feature-multicast-control = "1"
> feature-dynamic-multicast-control = "1"
> feature-split-event-channels = "1"
> multi-queue-max-queues = "2"
> feature-ctrl-ring = "1"
> 
> If I have understood the backend kernel code it only waits for the
> hotplug-status == "connected" if they key exists which it doesn't
> appear to by default.

Indeed. I have to admit this is quite weird. I have the following
completely untested patch, could you give it a try?

Adding netback maintainers for feedback on whether it's fine for libxl
to force netback to wait for hotplug script execution. Not sure the
reason why netback doesn't do that by default, but it seems it's been
like that since the module was imported into Linux in 2011.

Thanks, Roger.
---
diff --git a/tools/libs/light/libxl_nic.c b/tools/libs/light/libxl_nic.c
index 0b45469dca..0b9e70c9d1 100644
--- a/tools/libs/light/libxl_nic.c
+++ b/tools/libs/light/libxl_nic.c
@@ -248,6 +248,13 @@ static int libxl__set_xenstore_nic(libxl__gc *gc, uint32_t domid,
     flexarray_append(ro_front, "mtu");
     flexarray_append(ro_front, GCSPRINTF("%u", nic->mtu));
 
+    /*
+     * Force backend to wait for hotplug script execution before switching to
+     * connected state.
+     */
+    flexarray_append(back, "hotplug-status");
+    flexarray_append(back, "");
+
     return 0;
 }
 


From xen-devel-bounces@lists.xenproject.org Mon Jan 24 09:11:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 09:11:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259760.448290 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBvNp-0000It-BG; Mon, 24 Jan 2022 09:11:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259760.448290; Mon, 24 Jan 2022 09: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 1nBvNp-0000Im-7S; Mon, 24 Jan 2022 09:11:29 +0000
Received: by outflank-mailman (input) for mailman id 259760;
 Mon, 24 Jan 2022 09:11:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4uJJ=SI=bombadil.srs.infradead.org=BATV+b18af077b488c69bdec9+6728+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1nBvNn-0000If-Ls
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 09:11:28 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9aab9d32-7cf5-11ec-bc18-3156f6d857e4;
 Mon, 24 Jan 2022 10:11:25 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a337:a75f:a24e:7e39] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1nBvNV-002jyR-9a; Mon, 24 Jan 2022 09:11: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: 9aab9d32-7cf5-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:
	Content-ID:Content-Description:In-Reply-To:References;
	bh=1yiFS3ezJsiNcQQCNo+FJNFqcIQE91ajvdAy/sKWSB4=; b=dNNxqAx0zWkEqdV7/b0emSzmAV
	KVVvuwIWXkQFQyoYY5YDqz/URzmW+OjGlUuB44FdPtaVwG1P5GtdplXzkCndI0bH60IkUO47UPLhz
	S2JoUcpt/7LvHhHWafiGFH0X+1iwj0YVxms2MtUklTePRVn1uenKkqD6Cg2SPrGLnop53TzV6Arcx
	T6i0YUlPLY7zKouXXV6jM5xu0eEr7/gTFvHBrNjHv0AoD45hIui+1gO9NpOzTBe/TKD2uDehDoPiS
	jTeEj1oSSUGDKTwEGspNcmf1o9fhjOWrT04yzhTW12m4CCWbYLYRpFkmXrRjZ+n7HrnRzdFlYOCPQ
	x4FPDuIg==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com
Subject: improve the bio allocation interface v2
Date: Mon, 24 Jan 2022 10:10:48 +0100
Message-Id: <20220124091107.642561-1-hch@lst.de>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

Hi Jens,

this series is posted early because it has wide-ranging changes and could use some
early ACKs before -rc1.

It changes the interface to the bio allocators to always pass a block_device and
the operation, which is information needed for every bio submitted through
bio_submit.  This means the fields can be directly initialized in bio_init instead
of first being zeroed and thus should help to micro-optimize even better than the
__bio_set_dev that Pavel proposed while also cleaning up code.

I have a follow on series to also deal with the bio cloning interfaces that need
even more love, and additional cleanups for the callers which might be material
for the next merge window.

Changes since v1:
 - fix bio_add_page return value handling in rnbd-srv
 - fix bio clenup in rnbd-srv
 - fix a few commit message typos
 - fix a bisection hazard in rnbd
 - fix an initialization order issue in bio_alloc_bioset/bio_init

Diffstat:
 block/bio.c                         |   73 ++++++++++++++++++++++++------------
 block/blk-flush.c                   |    4 -
 block/blk-lib.c                     |   32 ++-------------
 block/blk-zoned.c                   |   14 +-----
 block/blk.h                         |    2 
 block/bounce.c                      |    6 --
 block/fops.c                        |   35 +++++++----------
 drivers/block/drbd/drbd_actlog.c    |    5 --
 drivers/block/drbd/drbd_bitmap.c    |    7 +--
 drivers/block/drbd/drbd_receiver.c  |   32 +++------------
 drivers/block/floppy.c              |    4 -
 drivers/block/pktcdvd.c             |    8 ---
 drivers/block/rnbd/rnbd-srv-dev.c   |   61 ------------------------------
 drivers/block/rnbd/rnbd-srv-dev.h   |   18 --------
 drivers/block/rnbd/rnbd-srv.c       |   45 ++++++++--------------
 drivers/block/rnbd/rnbd-srv.h       |    1 
 drivers/block/xen-blkback/blkback.c |   25 ++----------
 drivers/block/zram/zram_drv.c       |   16 ++-----
 drivers/md/bcache/io.c              |    3 -
 drivers/md/bcache/journal.c         |   16 ++-----
 drivers/md/bcache/movinggc.c        |    4 -
 drivers/md/bcache/request.c         |   18 +++-----
 drivers/md/bcache/super.c           |    8 +--
 drivers/md/bcache/writeback.c       |    4 -
 drivers/md/dm-crypt.c               |   27 ++++---------
 drivers/md/dm-io.c                  |    5 --
 drivers/md/dm-log-writes.c          |   39 +++----------------
 drivers/md/dm-snap.c                |   21 ----------
 drivers/md/dm-thin.c                |   41 +++++---------------
 drivers/md/dm-writecache.c          |    7 +--
 drivers/md/dm-zoned-metadata.c      |   26 ++----------
 drivers/md/dm.c                     |   12 ++---
 drivers/md/md-multipath.c           |    2 
 drivers/md/md.c                     |   24 +++++------
 drivers/md/raid1.c                  |    8 +--
 drivers/md/raid10.c                 |   14 ++----
 drivers/md/raid5-cache.c            |   19 +++------
 drivers/md/raid5-ppl.c              |   13 ++----
 drivers/md/raid5.c                  |   12 ++---
 drivers/nvdimm/nd_virtio.c          |    6 +-
 drivers/nvme/target/io-cmd-bdev.c   |   18 +++-----
 drivers/nvme/target/passthru.c      |    7 +--
 drivers/nvme/target/zns.c           |   14 +++---
 drivers/scsi/ufs/ufshpb.c           |    4 -
 drivers/target/target_core_iblock.c |   11 +----
 fs/btrfs/disk-io.c                  |   10 +---
 fs/btrfs/extent_io.c                |    2 
 fs/buffer.c                         |   14 ++----
 fs/crypto/bio.c                     |   13 ++----
 fs/direct-io.c                      |    5 --
 fs/erofs/zdata.c                    |    5 --
 fs/ext4/page-io.c                   |    3 -
 fs/ext4/readpage.c                  |    8 +--
 fs/f2fs/data.c                      |    7 +--
 fs/gfs2/lops.c                      |    8 +--
 fs/gfs2/meta_io.c                   |    4 -
 fs/gfs2/ops_fstype.c                |    4 -
 fs/hfsplus/wrapper.c                |    4 -
 fs/iomap/buffered-io.c              |   26 +++++-------
 fs/iomap/direct-io.c                |    8 ---
 fs/jfs/jfs_logmgr.c                 |   11 -----
 fs/jfs/jfs_metapage.c               |    9 +---
 fs/mpage.c                          |   34 ++--------------
 fs/nfs/blocklayout/blocklayout.c    |   26 +-----------
 fs/nilfs2/segbuf.c                  |   31 +--------------
 fs/ntfs3/fsntfs.c                   |   27 -------------
 fs/ocfs2/cluster/heartbeat.c        |    4 -
 fs/squashfs/block.c                 |   11 ++---
 fs/xfs/xfs_bio_io.c                 |   14 ++----
 fs/xfs/xfs_buf.c                    |    4 -
 fs/xfs/xfs_log.c                    |   14 +++---
 fs/zonefs/super.c                   |    9 +---
 include/linux/bio.h                 |   30 ++++++--------
 kernel/power/swap.c                 |    5 --
 mm/page_io.c                        |   10 +---
 75 files changed, 372 insertions(+), 759 deletions(-)


From xen-devel-bounces@lists.xenproject.org Mon Jan 24 09:11:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 09:11:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259761.448301 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBvNq-0000Z6-JL; Mon, 24 Jan 2022 09:11:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259761.448301; Mon, 24 Jan 2022 09:11: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 1nBvNq-0000Yz-Fz; Mon, 24 Jan 2022 09:11:30 +0000
Received: by outflank-mailman (input) for mailman id 259761;
 Mon, 24 Jan 2022 09:11:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4uJJ=SI=bombadil.srs.infradead.org=BATV+b18af077b488c69bdec9+6728+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1nBvNp-0000Il-Id
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 09:11:29 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9b61c66b-7cf5-11ec-8fa7-f31e035a9116;
 Mon, 24 Jan 2022 10:11:26 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a337:a75f:a24e:7e39] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1nBvNY-002jyp-2k; Mon, 24 Jan 2022 09:11: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: 9b61c66b-7cf5-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=k9xFroBmk3qsQBF01SQtJtA/UuQWo3OoxDB4XEu/hlU=; b=eOrLkdjf0mmS8f/CtvAZiPo6uX
	G/VVNiKCFucEha0OyK/bZHsYEWLQ8xt7Bm9GixZ3tXgynPAQ2lxe/OElmzLeezeL0/RwDpkgmYeKY
	sz0jxyE8u/ZmbzvVPqeFTOOgFV5BttmczKSHZSHX083YPyiVCbcYIJUXbwklJ27Jxtkj9NACszfwn
	KyrdR4b8FWyP3Y2PI8CYfXr543bSterKv2k1N8EN6qQbnNeTnXRNQZ1IY/xSrJDRAih0f3uqmi1Wh
	Xl0xPQ3rDdce0WxMXn872laxukK7ywf9uRa3awgU+FjYW4wAryVnmN6XEnrDqL3ko+YEed4hUg3uX
	3w4WP7yw==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com
Subject: [PATCH 01/19] fs: remove mpage_alloc
Date: Mon, 24 Jan 2022 10:10:49 +0100
Message-Id: <20220124091107.642561-2-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220124091107.642561-1-hch@lst.de>
References: <20220124091107.642561-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

open code mpage_alloc in it's two callers and simplify the results
because of the context:

 - __mpage_writepage always passes GFP_NOFS and can thus always sleep and
    will never get a NULL return from bio_alloc at all.
 - do_mpage_readpage can only get a non-sleeping context for readahead
   which never sets PF_MEMALLOC and thus doesn't need the retry loop
   either.

Both cases will never have __GFP_HIGH set.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 fs/mpage.c | 35 ++++++-----------------------------
 1 file changed, 6 insertions(+), 29 deletions(-)

diff --git a/fs/mpage.c b/fs/mpage.c
index 87f5cfef6caa7..06e95d777e940 100644
--- a/fs/mpage.c
+++ b/fs/mpage.c
@@ -66,29 +66,6 @@ static struct bio *mpage_bio_submit(int op, int op_flags, struct bio *bio)
 	return NULL;
 }
 
-static struct bio *
-mpage_alloc(struct block_device *bdev,
-		sector_t first_sector, int nr_vecs,
-		gfp_t gfp_flags)
-{
-	struct bio *bio;
-
-	/* Restrict the given (page cache) mask for slab allocations */
-	gfp_flags &= GFP_KERNEL;
-	bio = bio_alloc(gfp_flags, nr_vecs);
-
-	if (bio == NULL && (current->flags & PF_MEMALLOC)) {
-		while (!bio && (nr_vecs /= 2))
-			bio = bio_alloc(gfp_flags, nr_vecs);
-	}
-
-	if (bio) {
-		bio_set_dev(bio, bdev);
-		bio->bi_iter.bi_sector = first_sector;
-	}
-	return bio;
-}
-
 /*
  * support function for mpage_readahead.  The fs supplied get_block might
  * return an up to date buffer.  This is used to map that buffer into
@@ -296,10 +273,11 @@ static struct bio *do_mpage_readpage(struct mpage_readpage_args *args)
 								page))
 				goto out;
 		}
-		args->bio = mpage_alloc(bdev, blocks[0] << (blkbits - 9),
-					bio_max_segs(args->nr_pages), gfp);
+		args->bio = bio_alloc(gfp, bio_max_segs(args->nr_pages));
 		if (args->bio == NULL)
 			goto confused;
+		bio_set_dev(args->bio, bdev);
+		args->bio->bi_iter.bi_sector = blocks[0] << (blkbits - 9);
 	}
 
 	length = first_hole << blkbits;
@@ -608,10 +586,9 @@ static int __mpage_writepage(struct page *page, struct writeback_control *wbc,
 								page, wbc))
 				goto out;
 		}
-		bio = mpage_alloc(bdev, blocks[0] << (blkbits - 9),
-				BIO_MAX_VECS, GFP_NOFS|__GFP_HIGH);
-		if (bio == NULL)
-			goto confused;
+		bio = bio_alloc(GFP_NOFS, BIO_MAX_VECS);
+		bio_set_dev(bio, bdev);
+		bio->bi_iter.bi_sector = blocks[0] << (blkbits - 9);
 
 		wbc_init_bio(wbc, bio);
 		bio->bi_write_hint = inode->i_write_hint;
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 09:11:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 09:11:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259762.448304 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBvNq-0000ch-Rm; Mon, 24 Jan 2022 09:11:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259762.448304; Mon, 24 Jan 2022 09:11: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 1nBvNq-0000bi-OR; Mon, 24 Jan 2022 09:11:30 +0000
Received: by outflank-mailman (input) for mailman id 259762;
 Mon, 24 Jan 2022 09:11:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4uJJ=SI=bombadil.srs.infradead.org=BATV+b18af077b488c69bdec9+6728+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1nBvNp-0000If-Pd
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 09:11:29 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9cdd5d7b-7cf5-11ec-bc18-3156f6d857e4;
 Mon, 24 Jan 2022 10:11:29 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a337:a75f:a24e:7e39] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1nBvNa-002jzZ-UA; Mon, 24 Jan 2022 09:11:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9cdd5d7b-7cf5-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=7QPyuzOR2N2LqXuXA08GkKhJ7fsHc2fxZXqTeovi8aQ=; b=2kZbM0T8QbsM92lbMKqXzE0qN2
	BriYoV4AmiZRKSGpRmt1ddIwn28XJ7g+yBaV1K4id1qDq8Pv48KVl9NtssO6c1vWo4jkhX3iORWze
	kh5EiBljdNHNvsDLJO6R+tnfX9vWUmnrDiZYXxyIrOEeexYhsimX7cdkKwI+Ju4bAO8b7afxXuYfB
	ZGoprdRWUIkzCymUv80hK8SCFVqF4kUf0wcLCJaVymk3vX6D/JEMW+djci/m/kvJDut4IzkrML+3l
	aTXx4e+8l8JI71daFpL4tsVOfzrp/ZSz3X2y4SzN0vz4tycRc583YoUfd0/5Dt/Q1+sjPg/e9lr6d
	WjO16WFA==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com
Subject: [PATCH 02/19] nilfs2: remove nilfs_alloc_seg_bio
Date: Mon, 24 Jan 2022 10:10:50 +0100
Message-Id: <20220124091107.642561-3-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220124091107.642561-1-hch@lst.de>
References: <20220124091107.642561-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

bio_alloc will never fail when it can sleep.  Remove the now simple
nilfs_alloc_seg_bio helper and open code it in the only caller.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 fs/nilfs2/segbuf.c | 31 ++++---------------------------
 1 file changed, 4 insertions(+), 27 deletions(-)

diff --git a/fs/nilfs2/segbuf.c b/fs/nilfs2/segbuf.c
index 43287b0d3e9b6..53b7c6d21cdd8 100644
--- a/fs/nilfs2/segbuf.c
+++ b/fs/nilfs2/segbuf.c
@@ -371,29 +371,6 @@ static int nilfs_segbuf_submit_bio(struct nilfs_segment_buffer *segbuf,
 	return err;
 }
 
-/**
- * nilfs_alloc_seg_bio - allocate a new bio for writing log
- * @nilfs: nilfs object
- * @start: start block number of the bio
- * @nr_vecs: request size of page vector.
- *
- * Return Value: On success, pointer to the struct bio is returned.
- * On error, NULL is returned.
- */
-static struct bio *nilfs_alloc_seg_bio(struct the_nilfs *nilfs, sector_t start,
-				       int nr_vecs)
-{
-	struct bio *bio;
-
-	bio = bio_alloc(GFP_NOIO, nr_vecs);
-	if (likely(bio)) {
-		bio_set_dev(bio, nilfs->ns_bdev);
-		bio->bi_iter.bi_sector =
-			start << (nilfs->ns_blocksize_bits - 9);
-	}
-	return bio;
-}
-
 static void nilfs_segbuf_prepare_write(struct nilfs_segment_buffer *segbuf,
 				       struct nilfs_write_info *wi)
 {
@@ -414,10 +391,10 @@ static int nilfs_segbuf_submit_bh(struct nilfs_segment_buffer *segbuf,
 	BUG_ON(wi->nr_vecs <= 0);
  repeat:
 	if (!wi->bio) {
-		wi->bio = nilfs_alloc_seg_bio(wi->nilfs, wi->blocknr + wi->end,
-					      wi->nr_vecs);
-		if (unlikely(!wi->bio))
-			return -ENOMEM;
+		wi->bio = bio_alloc(GFP_NOIO, wi->nr_vecs);
+		bio_set_dev(wi->bio, wi->nilfs->ns_bdev);
+		wi->bio->bi_iter.bi_sector = (wi->blocknr + wi->end) <<
+			(wi->nilfs->ns_blocksize_bits - 9);
 	}
 
 	len = bio_add_page(wi->bio, bh->b_page, bh->b_size, bh_offset(bh));
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 09:11:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 09:11:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259763.448314 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBvNr-0000nW-Ii; Mon, 24 Jan 2022 09:11:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259763.448314; Mon, 24 Jan 2022 09:11:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBvNr-0000kD-AJ; Mon, 24 Jan 2022 09:11:31 +0000
Received: by outflank-mailman (input) for mailman id 259763;
 Mon, 24 Jan 2022 09:11:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4uJJ=SI=bombadil.srs.infradead.org=BATV+b18af077b488c69bdec9+6728+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1nBvNq-0000Il-Az
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 09:11:30 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9c55bbd1-7cf5-11ec-8fa7-f31e035a9116;
 Mon, 24 Jan 2022 10:11:28 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a337:a75f:a24e:7e39] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1nBvNd-002k0e-Og; Mon, 24 Jan 2022 09:11: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: 9c55bbd1-7cf5-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=pMAOIxwEWgivE8T/8jAutxBqi67ojpc7aSJ9Dfvp1Nk=; b=xHe2ACiTwAYAjp/I5zJRyXa8ki
	JlnNLXudrLlXUiX6cEigCKlkTBhciArJsMDCFKqz+sqi60Z5HlA6HuKOjc7Lxa8uuV31Tjrrn9i2o
	fuitG3t8mkNF95ga5JGVLb/VdVUg2NdWllmOqOY00XjI0JRdDRzciunmhniPRzNPdtSaYWxdCyNzc
	Musr2zaRq8/xl+srtNtDGeIaNmqqS9DkkHEJKhT1AK/jQGaZWQNg+DZ6Yc1BQDudjwt+F39JP3zQ7
	blPTtw58n/XnFVYKRC4Mt5UJvveE4UCZ4e+Nrt7XpLtReKDGM7X7AGj2ChOx6sVKSwUgI5CuSTWdy
	lzb9QxpQ==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com
Subject: [PATCH 03/19] nfs/blocklayout: remove bl_alloc_init_bio
Date: Mon, 24 Jan 2022 10:10:51 +0100
Message-Id: <20220124091107.642561-4-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220124091107.642561-1-hch@lst.de>
References: <20220124091107.642561-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

bio_alloc will never fail when it can sleep.  Remove the now simple
bl_alloc_init_bio helper and open code it in the only caller.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 fs/nfs/blocklayout/blocklayout.c | 26 +++++---------------------
 1 file changed, 5 insertions(+), 21 deletions(-)

diff --git a/fs/nfs/blocklayout/blocklayout.c b/fs/nfs/blocklayout/blocklayout.c
index fe860c5387476..38e063af7e98a 100644
--- a/fs/nfs/blocklayout/blocklayout.c
+++ b/fs/nfs/blocklayout/blocklayout.c
@@ -115,23 +115,6 @@ bl_submit_bio(struct bio *bio)
 	return NULL;
 }
 
-static struct bio *bl_alloc_init_bio(unsigned int npg,
-		struct block_device *bdev, sector_t disk_sector,
-		bio_end_io_t end_io, struct parallel_io *par)
-{
-	struct bio *bio;
-
-	npg = bio_max_segs(npg);
-	bio = bio_alloc(GFP_NOIO, npg);
-	if (bio) {
-		bio->bi_iter.bi_sector = disk_sector;
-		bio_set_dev(bio, bdev);
-		bio->bi_end_io = end_io;
-		bio->bi_private = par;
-	}
-	return bio;
-}
-
 static bool offset_in_map(u64 offset, struct pnfs_block_dev_map *map)
 {
 	return offset >= map->start && offset < map->start + map->len;
@@ -171,10 +154,11 @@ do_add_page_to_bio(struct bio *bio, int npg, int rw, sector_t isect,
 
 retry:
 	if (!bio) {
-		bio = bl_alloc_init_bio(npg, map->bdev,
-				disk_addr >> SECTOR_SHIFT, end_io, par);
-		if (!bio)
-			return ERR_PTR(-ENOMEM);
+		bio = bio_alloc(GFP_NOIO, bio_max_segs(npg));
+		bio->bi_iter.bi_sector = disk_addr >> SECTOR_SHIFT;
+		bio_set_dev(bio, map->bdev);
+		bio->bi_end_io = end_io;
+		bio->bi_private = par;
 		bio_set_op_attrs(bio, rw, 0);
 	}
 	if (bio_add_page(bio, page, *len, offset) < *len) {
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 09:11:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 09:11:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259764.448333 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBvNt-0001Qc-V7; Mon, 24 Jan 2022 09:11:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259764.448333; Mon, 24 Jan 2022 09: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 1nBvNt-0001QJ-QC; Mon, 24 Jan 2022 09:11:33 +0000
Received: by outflank-mailman (input) for mailman id 259764;
 Mon, 24 Jan 2022 09:11:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4uJJ=SI=bombadil.srs.infradead.org=BATV+b18af077b488c69bdec9+6728+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1nBvNs-0000If-Mv
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 09:11:32 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9e9e7d5b-7cf5-11ec-bc18-3156f6d857e4;
 Mon, 24 Jan 2022 10:11:32 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a337:a75f:a24e:7e39] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1nBvNg-002k1j-Gg; Mon, 24 Jan 2022 09:11:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9e9e7d5b-7cf5-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=EcXfe+QJLbyEaBSYcI8IdLx+VpwVU+Twsx7L0heUO1Q=; b=i9tcmKqWExYwFyUC3GAfdvN0G9
	cAdpT77el2rpxNNIFlvamk56bpHBy6jnsKj8q3rJ8nawaJ8TV7+QPqH/vGIAki4ZzwrDeoVrlWY7x
	vTq6delBNM/Owx6rHpv19HnjVMkfSK+nS7d5zpnlMcNWTlhUuDN530jXcyf2m/kkhVEaI/q5ryfsX
	TE7hn5wlaJifpc3rpsnyGrrVENjdur2aPZNRi6GYDrfwvZ8ZzqzKcwpy2OdXl3O1Apcb1fKr2bKrL
	VVKEY6d77BVmOEMEhxPk3wlx64Im1KfTmaMpWNPoU4MCescTElKDFR4xumyfaYjlYFSg22uNUWoba
	n1ec9EKw==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com
Subject: [PATCH 04/19] ntfs3: remove ntfs_alloc_bio
Date: Mon, 24 Jan 2022 10:10:52 +0100
Message-Id: <20220124091107.642561-5-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220124091107.642561-1-hch@lst.de>
References: <20220124091107.642561-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

bio_alloc will never fail if it is allowed to sleep, so there is no
need for this loop.  Also remove the __GFP_HIGH specifier as it doesn't
make sense here given that we'll always fall back to the mempool anyway.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 fs/ntfs3/fsntfs.c | 23 ++---------------------
 1 file changed, 2 insertions(+), 21 deletions(-)

diff --git a/fs/ntfs3/fsntfs.c b/fs/ntfs3/fsntfs.c
index 4de9acb169689..4a255e21ecf5f 100644
--- a/fs/ntfs3/fsntfs.c
+++ b/fs/ntfs3/fsntfs.c
@@ -1443,17 +1443,6 @@ int ntfs_write_bh(struct ntfs_sb_info *sbi, struct NTFS_RECORD_HEADER *rhdr,
 	return err;
 }
 
-static inline struct bio *ntfs_alloc_bio(u32 nr_vecs)
-{
-	struct bio *bio = bio_alloc(GFP_NOFS | __GFP_HIGH, nr_vecs);
-
-	if (!bio && (current->flags & PF_MEMALLOC)) {
-		while (!bio && (nr_vecs /= 2))
-			bio = bio_alloc(GFP_NOFS | __GFP_HIGH, nr_vecs);
-	}
-	return bio;
-}
-
 /*
  * ntfs_bio_pages - Read/write pages from/to disk.
  */
@@ -1496,11 +1485,7 @@ int ntfs_bio_pages(struct ntfs_sb_info *sbi, const struct runs_tree *run,
 		lbo = ((u64)lcn << cluster_bits) + off;
 		len = ((u64)clen << cluster_bits) - off;
 new_bio:
-		new = ntfs_alloc_bio(nr_pages - page_idx);
-		if (!new) {
-			err = -ENOMEM;
-			goto out;
-		}
+		new = bio_alloc(GFP_NOFS, nr_pages - page_idx);
 		if (bio) {
 			bio_chain(bio, new);
 			submit_bio(bio);
@@ -1599,11 +1584,7 @@ int ntfs_bio_fill_1(struct ntfs_sb_info *sbi, const struct runs_tree *run)
 		lbo = (u64)lcn << cluster_bits;
 		len = (u64)clen << cluster_bits;
 new_bio:
-		new = ntfs_alloc_bio(BIO_MAX_VECS);
-		if (!new) {
-			err = -ENOMEM;
-			break;
-		}
+		new = bio_alloc(GFP_NOFS, BIO_MAX_VECS);
 		if (bio) {
 			bio_chain(bio, new);
 			submit_bio(bio);
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 09:11:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 09:11:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259765.448345 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBvNw-0001mD-Aj; Mon, 24 Jan 2022 09:11:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259765.448345; Mon, 24 Jan 2022 09: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 1nBvNw-0001m2-6Y; Mon, 24 Jan 2022 09:11:36 +0000
Received: by outflank-mailman (input) for mailman id 259765;
 Mon, 24 Jan 2022 09:11:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4uJJ=SI=bombadil.srs.infradead.org=BATV+b18af077b488c69bdec9+6728+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1nBvNu-0000Il-EJ
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 09:11:34 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9f8500a5-7cf5-11ec-8fa7-f31e035a9116;
 Mon, 24 Jan 2022 10:11:33 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a337:a75f:a24e:7e39] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1nBvNj-002k3M-8B; Mon, 24 Jan 2022 09:11: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: 9f8500a5-7cf5-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=3LrK4aJmaFdogyqU1iGTwXaIOJsn5a0nWoXb/YpJask=; b=dOpJ6VWs7GeKGh/hw/8P4SP7FK
	RXz/peApW9FKh8sSsu7uUo+QtvkbnDZDwTOcd5J5Pq5W3XgHqglOKXW799+pUl2WvrjLJprVkTHCA
	p3/3aoG7Mwr53C5WGPXIK6Qqp+gEU7yP0fW+guIJKj3SHE0tRoCgRPkLGqnIJP2biH8/WVSZA7oAH
	pzi1ZQ3awROYglH+FkL+uPSH3p22Q32npWjBeWaOyja3i/9lrLRMlYivos3JfT31vW+hBRer+0qmA
	npqDdh0oZ4yylM4qRHIr/2/DipAO6d3JmwA4VavBQsVevlc2tlTIP6TRjz194kx3o7cOVaSIfO4Io
	RbUoCZzg==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com
Subject: [PATCH 05/19] dm: bio_alloc can't fail if it is allowed to sleep
Date: Mon, 24 Jan 2022 10:10:53 +0100
Message-Id: <20220124091107.642561-6-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220124091107.642561-1-hch@lst.de>
References: <20220124091107.642561-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

Remove handling of NULL returns from sleeping bio_alloc calls given that
those can't fail.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 drivers/md/dm-crypt.c          |  5 +----
 drivers/md/dm-log-writes.c     | 18 ------------------
 drivers/md/dm-thin.c           | 25 +++++++++----------------
 drivers/md/dm-zoned-metadata.c | 11 -----------
 drivers/md/dm.c                |  2 --
 5 files changed, 10 insertions(+), 51 deletions(-)

diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c
index d4ae31558826a..20abe3486aba1 100644
--- a/drivers/md/dm-crypt.c
+++ b/drivers/md/dm-crypt.c
@@ -1673,9 +1673,6 @@ static struct bio *crypt_alloc_buffer(struct dm_crypt_io *io, unsigned size)
 		mutex_lock(&cc->bio_alloc_lock);
 
 	clone = bio_alloc_bioset(GFP_NOIO, nr_iovecs, &cc->bs);
-	if (!clone)
-		goto out;
-
 	clone_init(io, clone);
 
 	remaining_size = size;
@@ -1702,7 +1699,7 @@ static struct bio *crypt_alloc_buffer(struct dm_crypt_io *io, unsigned size)
 		bio_put(clone);
 		clone = NULL;
 	}
-out:
+
 	if (unlikely(gfp_mask & __GFP_DIRECT_RECLAIM))
 		mutex_unlock(&cc->bio_alloc_lock);
 
diff --git a/drivers/md/dm-log-writes.c b/drivers/md/dm-log-writes.c
index 139b09b06eda9..25f5e8d2d417b 100644
--- a/drivers/md/dm-log-writes.c
+++ b/drivers/md/dm-log-writes.c
@@ -218,10 +218,6 @@ static int write_metadata(struct log_writes_c *lc, void *entry,
 	size_t ret;
 
 	bio = bio_alloc(GFP_KERNEL, 1);
-	if (!bio) {
-		DMERR("Couldn't alloc log bio");
-		goto error;
-	}
 	bio->bi_iter.bi_size = 0;
 	bio->bi_iter.bi_sector = sector;
 	bio_set_dev(bio, lc->logdev->bdev);
@@ -276,11 +272,6 @@ static int write_inline_data(struct log_writes_c *lc, void *entry,
 		atomic_inc(&lc->io_blocks);
 
 		bio = bio_alloc(GFP_KERNEL, bio_pages);
-		if (!bio) {
-			DMERR("Couldn't alloc inline data bio");
-			goto error;
-		}
-
 		bio->bi_iter.bi_size = 0;
 		bio->bi_iter.bi_sector = sector;
 		bio_set_dev(bio, lc->logdev->bdev);
@@ -322,7 +313,6 @@ static int write_inline_data(struct log_writes_c *lc, void *entry,
 error_bio:
 	bio_free_pages(bio);
 	bio_put(bio);
-error:
 	put_io_block(lc);
 	return -1;
 }
@@ -364,10 +354,6 @@ static int log_one_block(struct log_writes_c *lc,
 
 	atomic_inc(&lc->io_blocks);
 	bio = bio_alloc(GFP_KERNEL, bio_max_segs(block->vec_cnt));
-	if (!bio) {
-		DMERR("Couldn't alloc log bio");
-		goto error;
-	}
 	bio->bi_iter.bi_size = 0;
 	bio->bi_iter.bi_sector = sector;
 	bio_set_dev(bio, lc->logdev->bdev);
@@ -387,10 +373,6 @@ static int log_one_block(struct log_writes_c *lc,
 			submit_bio(bio);
 			bio = bio_alloc(GFP_KERNEL,
 					bio_max_segs(block->vec_cnt - i));
-			if (!bio) {
-				DMERR("Couldn't alloc log bio");
-				goto error;
-			}
 			bio->bi_iter.bi_size = 0;
 			bio->bi_iter.bi_sector = sector;
 			bio_set_dev(bio, lc->logdev->bdev);
diff --git a/drivers/md/dm-thin.c b/drivers/md/dm-thin.c
index ec119d2422d5d..76a9c2e9aeeea 100644
--- a/drivers/md/dm-thin.c
+++ b/drivers/md/dm-thin.c
@@ -1180,24 +1180,17 @@ static void process_prepared_discard_passdown_pt1(struct dm_thin_new_mapping *m)
 	}
 
 	discard_parent = bio_alloc(GFP_NOIO, 1);
-	if (!discard_parent) {
-		DMWARN("%s: unable to allocate top level discard bio for passdown. Skipping passdown.",
-		       dm_device_name(tc->pool->pool_md));
-		queue_passdown_pt2(m);
+	discard_parent->bi_end_io = passdown_endio;
+	discard_parent->bi_private = m;
 
-	} else {
-		discard_parent->bi_end_io = passdown_endio;
-		discard_parent->bi_private = m;
-
-		if (m->maybe_shared)
-			passdown_double_checking_shared_status(m, discard_parent);
-		else {
-			struct discard_op op;
+	if (m->maybe_shared)
+		passdown_double_checking_shared_status(m, discard_parent);
+	else {
+		struct discard_op op;
 
-			begin_discard(&op, tc, discard_parent);
-			r = issue_discard(&op, m->data_block, data_end);
-			end_discard(&op, r);
-		}
+		begin_discard(&op, tc, discard_parent);
+		r = issue_discard(&op, m->data_block, data_end);
+		end_discard(&op, r);
 	}
 }
 
diff --git a/drivers/md/dm-zoned-metadata.c b/drivers/md/dm-zoned-metadata.c
index ee4626d085574..5718b83cc7182 100644
--- a/drivers/md/dm-zoned-metadata.c
+++ b/drivers/md/dm-zoned-metadata.c
@@ -551,10 +551,6 @@ static struct dmz_mblock *dmz_get_mblock_slow(struct dmz_metadata *zmd,
 		return ERR_PTR(-ENOMEM);
 
 	bio = bio_alloc(GFP_NOIO, 1);
-	if (!bio) {
-		dmz_free_mblock(zmd, mblk);
-		return ERR_PTR(-ENOMEM);
-	}
 
 	spin_lock(&zmd->mblk_lock);
 
@@ -726,10 +722,6 @@ static int dmz_write_mblock(struct dmz_metadata *zmd, struct dmz_mblock *mblk,
 		return -EIO;
 
 	bio = bio_alloc(GFP_NOIO, 1);
-	if (!bio) {
-		set_bit(DMZ_META_ERROR, &mblk->state);
-		return -ENOMEM;
-	}
 
 	set_bit(DMZ_META_WRITING, &mblk->state);
 
@@ -760,9 +752,6 @@ static int dmz_rdwr_block(struct dmz_dev *dev, int op,
 		return -EIO;
 
 	bio = bio_alloc(GFP_NOIO, 1);
-	if (!bio)
-		return -ENOMEM;
-
 	bio->bi_iter.bi_sector = dmz_blk2sect(block);
 	bio_set_dev(bio, dev->bdev);
 	bio_set_op_attrs(bio, op, REQ_SYNC | REQ_META | REQ_PRIO);
diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index c0ae8087c6027..81449cbdafa81 100644
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -520,8 +520,6 @@ static struct dm_io *alloc_io(struct mapped_device *md, struct bio *bio)
 	struct bio *clone;
 
 	clone = bio_alloc_bioset(GFP_NOIO, 0, &md->io_bs);
-	if (!clone)
-		return NULL;
 
 	tio = container_of(clone, struct dm_target_io, clone);
 	tio->inside_dm_io = true;
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 09:11:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 09:11:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259766.448356 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBvNz-0002BW-LW; Mon, 24 Jan 2022 09:11:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259766.448356; Mon, 24 Jan 2022 09: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 1nBvNz-0002BE-HD; Mon, 24 Jan 2022 09:11:39 +0000
Received: by outflank-mailman (input) for mailman id 259766;
 Mon, 24 Jan 2022 09:11:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4uJJ=SI=bombadil.srs.infradead.org=BATV+b18af077b488c69bdec9+6728+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1nBvNy-0000Il-Bn
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 09:11:38 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a1f14a58-7cf5-11ec-8fa7-f31e035a9116;
 Mon, 24 Jan 2022 10:11:37 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a337:a75f:a24e:7e39] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1nBvNm-002k5I-1V; Mon, 24 Jan 2022 09:11:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a1f14a58-7cf5-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=NiiyVm7T1RSoly2lncOqK9SkmVJ5v0QSThOfEky6q20=; b=uQnKyxlBATH48XXMAb11fRaY6U
	JDgIt9v36xeqHHccRtBuJmLACwlTViCtwkmxIVPuEFW7kvY+MJO+C3HJCac5MsNDsXwzZdYHpiaCS
	xjd5qsyPodf6zk5JxUqX06+nsCeHEOdxgNy2jZW+0HwVhV50gbP9RNNXuGRL2+vF5w4ajs/PB4acy
	g3hpQczrKcQfwSiBgZT0QjLvcjnlQGSAJTsS3o8oonhqPzSfiXWTX68X3HFn6kePqKvZ60czgWHtG
	1x/07YBTnEnKbA1UMRopVqUCBS4tYhmsau3QL7kKnF9J+FT05uROJe+B3RTPSfODPy8Q7rV2IB/u+
	5n9Nm5Lw==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com
Subject: [PATCH 06/19] dm-crypt: remove clone_init
Date: Mon, 24 Jan 2022 10:10:54 +0100
Message-Id: <20220124091107.642561-7-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220124091107.642561-1-hch@lst.de>
References: <20220124091107.642561-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

Just open code it next to the bio allocations, which saves a few lines
of code, prepares for future changes and allows to remove the duplicate
bi_opf assignment for the bio_clone_fast case in kcryptd_io_read.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 drivers/md/dm-crypt.c | 21 ++++++++-------------
 1 file changed, 8 insertions(+), 13 deletions(-)

diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c
index 20abe3486aba1..3c5ecd35d3483 100644
--- a/drivers/md/dm-crypt.c
+++ b/drivers/md/dm-crypt.c
@@ -234,7 +234,7 @@ static volatile unsigned long dm_crypt_pages_per_client;
 #define DM_CRYPT_MEMORY_PERCENT			2
 #define DM_CRYPT_MIN_PAGES_PER_CLIENT		(BIO_MAX_VECS * 16)
 
-static void clone_init(struct dm_crypt_io *, struct bio *);
+static void crypt_endio(struct bio *clone);
 static void kcryptd_queue_crypt(struct dm_crypt_io *io);
 static struct scatterlist *crypt_get_sg_data(struct crypt_config *cc,
 					     struct scatterlist *sg);
@@ -1673,7 +1673,10 @@ static struct bio *crypt_alloc_buffer(struct dm_crypt_io *io, unsigned size)
 		mutex_lock(&cc->bio_alloc_lock);
 
 	clone = bio_alloc_bioset(GFP_NOIO, nr_iovecs, &cc->bs);
-	clone_init(io, clone);
+	clone->bi_private = io;
+	clone->bi_end_io = crypt_endio;
+	bio_set_dev(clone, cc->dev->bdev);
+	clone->bi_opf = io->base_bio->bi_opf;
 
 	remaining_size = size;
 
@@ -1826,16 +1829,6 @@ static void crypt_endio(struct bio *clone)
 	crypt_dec_pending(io);
 }
 
-static void clone_init(struct dm_crypt_io *io, struct bio *clone)
-{
-	struct crypt_config *cc = io->cc;
-
-	clone->bi_private = io;
-	clone->bi_end_io  = crypt_endio;
-	bio_set_dev(clone, cc->dev->bdev);
-	clone->bi_opf	  = io->base_bio->bi_opf;
-}
-
 static int kcryptd_io_read(struct dm_crypt_io *io, gfp_t gfp)
 {
 	struct crypt_config *cc = io->cc;
@@ -1850,10 +1843,12 @@ static int kcryptd_io_read(struct dm_crypt_io *io, gfp_t gfp)
 	clone = bio_clone_fast(io->base_bio, gfp, &cc->bs);
 	if (!clone)
 		return 1;
+	clone->bi_private = io;
+	clone->bi_end_io = crypt_endio;
+	bio_set_dev(clone, cc->dev->bdev);
 
 	crypt_inc_pending(io);
 
-	clone_init(io, clone);
 	clone->bi_iter.bi_sector = cc->start + io->sector;
 
 	if (dm_crypt_integrity_io_alloc(io, clone)) {
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 09:11:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 09:11:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259769.448367 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBvO3-0002iw-Bx; Mon, 24 Jan 2022 09:11:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259769.448367; Mon, 24 Jan 2022 09:11: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 1nBvO3-0002ik-7A; Mon, 24 Jan 2022 09:11:43 +0000
Received: by outflank-mailman (input) for mailman id 259769;
 Mon, 24 Jan 2022 09:11:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4uJJ=SI=bombadil.srs.infradead.org=BATV+b18af077b488c69bdec9+6728+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1nBvO1-0000Il-Db
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 09:11:41 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a3c98c22-7cf5-11ec-8fa7-f31e035a9116;
 Mon, 24 Jan 2022 10:11:40 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a337:a75f:a24e:7e39] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1nBvNo-002k7w-Qx; Mon, 24 Jan 2022 09:11: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: a3c98c22-7cf5-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=cyA51tgTzJ0oURPYTTRoUDyOePKkV9xxN4Hqcjy0whE=; b=24POPMuL96/As8aG9GXRe4flkw
	PU2voX+TtVVlvvdQoBbajVZWFUX5Dxw0G62WsA11q+Z8rRjH+LEx651hKp3XtfjI7gXtHN4ZzkX/+
	zbZ+tlG5Y0PtCwK4dK1YvN9MT7GYMmhUZbx6oA7tclLFQqB/Hk6HGXGms/H0HPQsHLOdwunOcJ2He
	Z/XTdU7e0f03aHpCO6hyntFD+lSqUwmcuScLWrUHjNVwxSomsOA9gkK7UTP2pkv+Rq271Q+ptnz5u
	RQQj2WoPvjf4xtnwoz0FDtxL394f4gkw9/czqcZnSk+qNyA0Xz4vOPLIi9B+cPZ8PvyvkOOGVnRjM
	+yBS+85g==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com
Subject: [PATCH 07/19] dm-snap: use blkdev_issue_flush instead of open coding it
Date: Mon, 24 Jan 2022 10:10:55 +0100
Message-Id: <20220124091107.642561-8-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220124091107.642561-1-hch@lst.de>
References: <20220124091107.642561-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

Use blkdev_issue_flush, which uses an on-stack bio instead of an
opencoded version with a bio embedded into struct dm_snapshot.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 drivers/md/dm-snap.c | 21 +--------------------
 1 file changed, 1 insertion(+), 20 deletions(-)

diff --git a/drivers/md/dm-snap.c b/drivers/md/dm-snap.c
index dcf34c6b05ad3..0d336b5ec5714 100644
--- a/drivers/md/dm-snap.c
+++ b/drivers/md/dm-snap.c
@@ -141,11 +141,6 @@ struct dm_snapshot {
 	 * for them to be committed.
 	 */
 	struct bio_list bios_queued_during_merge;
-
-	/*
-	 * Flush data after merge.
-	 */
-	struct bio flush_bio;
 };
 
 /*
@@ -1127,17 +1122,6 @@ static void snapshot_merge_next_chunks(struct dm_snapshot *s)
 
 static void error_bios(struct bio *bio);
 
-static int flush_data(struct dm_snapshot *s)
-{
-	struct bio *flush_bio = &s->flush_bio;
-
-	bio_reset(flush_bio);
-	bio_set_dev(flush_bio, s->origin->bdev);
-	flush_bio->bi_opf = REQ_OP_WRITE | REQ_PREFLUSH;
-
-	return submit_bio_wait(flush_bio);
-}
-
 static void merge_callback(int read_err, unsigned long write_err, void *context)
 {
 	struct dm_snapshot *s = context;
@@ -1151,7 +1135,7 @@ static void merge_callback(int read_err, unsigned long write_err, void *context)
 		goto shut;
 	}
 
-	if (flush_data(s) < 0) {
+	if (blkdev_issue_flush(s->origin->bdev) < 0) {
 		DMERR("Flush after merge failed: shutting down merge");
 		goto shut;
 	}
@@ -1340,7 +1324,6 @@ static int snapshot_ctr(struct dm_target *ti, unsigned int argc, char **argv)
 	s->first_merging_chunk = 0;
 	s->num_merging_chunks = 0;
 	bio_list_init(&s->bios_queued_during_merge);
-	bio_init(&s->flush_bio, NULL, 0);
 
 	/* Allocate hash table for COW data */
 	if (init_hash_tables(s)) {
@@ -1528,8 +1511,6 @@ static void snapshot_dtr(struct dm_target *ti)
 
 	dm_exception_store_destroy(s->store);
 
-	bio_uninit(&s->flush_bio);
-
 	dm_put_device(ti, s->cow);
 
 	dm_put_device(ti, s->origin);
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 09:11:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 09:11:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259772.448378 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBvO5-0003DA-Of; Mon, 24 Jan 2022 09:11:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259772.448378; Mon, 24 Jan 2022 09: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 1nBvO5-0003Cp-JR; Mon, 24 Jan 2022 09:11:45 +0000
Received: by outflank-mailman (input) for mailman id 259772;
 Mon, 24 Jan 2022 09:11:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4uJJ=SI=bombadil.srs.infradead.org=BATV+b18af077b488c69bdec9+6728+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1nBvO4-0000If-L3
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 09:11:44 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a5551c61-7cf5-11ec-bc18-3156f6d857e4;
 Mon, 24 Jan 2022 10:11:43 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a337:a75f:a24e:7e39] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1nBvNr-002kA4-JE; Mon, 24 Jan 2022 09:11:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a5551c61-7cf5-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=Mjlg0k+4PavheCjtECQRQWUa0Hx79sA/tX844Pch6ns=; b=Cq0TPNTknrpMgSPyE0DO6o8Qzt
	f/iZoR0ubS3Fi0mNYFhpPl8fPbwxg/xP1Xsb9wAVH+J7Xi2rGTgLxSNRU/sh9E8Pausv23uDyD8GM
	MPk203cd/Z1rnUElKzw1r/Wzqi37FWlZ4t6koT8hF+Sk7/ozar/Vdkeh4G40FH4h4j7SnokgW8dXc
	a8PQHEniFdLS0v2JKyUDqyV7VP5MGaEeYidHKzzT+aNgHNjiPVUSS9tU+PDOLnMLPzkME51Qb/3uf
	n61njfRrtW/q1yUlOOM1gMmXqSOJ8tw+YUWV8V80IP6LcwNj92/3FhKy5mGr4hvrynh0ZMAvkwguX
	MwVYB/7Q==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com
Subject: [PATCH 08/19] dm-thin: use blkdev_issue_flush instead of open coding it
Date: Mon, 24 Jan 2022 10:10:56 +0100
Message-Id: <20220124091107.642561-9-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220124091107.642561-1-hch@lst.de>
References: <20220124091107.642561-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

Use blkdev_issue_flush, which uses an on-stack bio instead of an
opencoded version with a bio embedded into struct pool.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 drivers/md/dm-thin.c | 11 +----------
 1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/drivers/md/dm-thin.c b/drivers/md/dm-thin.c
index 76a9c2e9aeeea..411a3f56ed90c 100644
--- a/drivers/md/dm-thin.c
+++ b/drivers/md/dm-thin.c
@@ -282,8 +282,6 @@ struct pool {
 	struct dm_bio_prison_cell **cell_sort_array;
 
 	mempool_t mapping_pool;
-
-	struct bio flush_bio;
 };
 
 static void metadata_operation_failed(struct pool *pool, const char *op, int r);
@@ -2906,7 +2904,6 @@ static void __pool_destroy(struct pool *pool)
 	if (pool->next_mapping)
 		mempool_free(pool->next_mapping, &pool->mapping_pool);
 	mempool_exit(&pool->mapping_pool);
-	bio_uninit(&pool->flush_bio);
 	dm_deferred_set_destroy(pool->shared_read_ds);
 	dm_deferred_set_destroy(pool->all_io_ds);
 	kfree(pool);
@@ -2987,7 +2984,6 @@ static struct pool *pool_create(struct mapped_device *pool_md,
 	pool->low_water_triggered = false;
 	pool->suspended = true;
 	pool->out_of_data_space = false;
-	bio_init(&pool->flush_bio, NULL, 0);
 
 	pool->shared_read_ds = dm_deferred_set_create();
 	if (!pool->shared_read_ds) {
@@ -3194,13 +3190,8 @@ static void metadata_low_callback(void *context)
 static int metadata_pre_commit_callback(void *context)
 {
 	struct pool *pool = context;
-	struct bio *flush_bio = &pool->flush_bio;
-
-	bio_reset(flush_bio);
-	bio_set_dev(flush_bio, pool->data_dev);
-	flush_bio->bi_opf = REQ_OP_WRITE | REQ_PREFLUSH;
 
-	return submit_bio_wait(flush_bio);
+	return blkdev_issue_flush(pool->data_dev);
 }
 
 static sector_t get_dev_size(struct block_device *bdev)
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 09:11:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 09:11:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259774.448389 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBvO9-0003uA-4u; Mon, 24 Jan 2022 09:11:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259774.448389; Mon, 24 Jan 2022 09: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 1nBvO8-0003tj-WB; Mon, 24 Jan 2022 09:11:48 +0000
Received: by outflank-mailman (input) for mailman id 259774;
 Mon, 24 Jan 2022 09:11:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4uJJ=SI=bombadil.srs.infradead.org=BATV+b18af077b488c69bdec9+6728+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1nBvO7-0000If-D3
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 09:11:47 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a75d4a2f-7cf5-11ec-bc18-3156f6d857e4;
 Mon, 24 Jan 2022 10:11:46 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a337:a75f:a24e:7e39] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1nBvNu-002kBG-B5; Mon, 24 Jan 2022 09: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: a75d4a2f-7cf5-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=zt4z0CCqxTu0ALe3IrRHpwIG3ETXoc3mZtIYo6QdQDM=; b=s3e61xH669mdB88dsM0ako/6hm
	YsdPOFv/+9bUrCprVe09zHwO1lKRo1xqZckfy+k3aI4O7evk+RiB0/o5y50HMgqybj6V8nydnHaqX
	mtMq31ULR3tuFniaKuzrkBKWQ9GLcEOIxcmh7CseGdVBvrlGNE+yQfMA1Ozavs6cDairUaII9NR8y
	ph4Ax4aY8fmmukVLpqEVBHr+JV24FvfuqKG6PehkdijYQ2882QgOVHZuvUklnkTyQ1NRkwXensI+H
	fb2buJqmJs6jYMIPQO5OmkHhgR28rV4GqNdGzaVKM7k+in5ebCQTHOLDzcJGZZNvSIJF2PMIzPxhK
	4yVDZYeA==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com
Subject: [PATCH 09/19] drbd: bio_alloc can't fail if it is allow to sleep
Date: Mon, 24 Jan 2022 10:10:57 +0100
Message-Id: <20220124091107.642561-10-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220124091107.642561-1-hch@lst.de>
References: <20220124091107.642561-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

Remove handling of NULL returns from sleeping bio_alloc calls given that
those can't fail.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 drivers/block/drbd/drbd_receiver.c | 22 ++++------------------
 1 file changed, 4 insertions(+), 18 deletions(-)

diff --git a/drivers/block/drbd/drbd_receiver.c b/drivers/block/drbd/drbd_receiver.c
index 6df2539e215ba..fb59b263deeef 100644
--- a/drivers/block/drbd/drbd_receiver.c
+++ b/drivers/block/drbd/drbd_receiver.c
@@ -1281,14 +1281,13 @@ static void submit_one_flush(struct drbd_device *device, struct issue_flush_cont
 {
 	struct bio *bio = bio_alloc(GFP_NOIO, 0);
 	struct one_flush_context *octx = kmalloc(sizeof(*octx), GFP_NOIO);
-	if (!bio || !octx) {
-		drbd_warn(device, "Could not allocate a bio, CANNOT ISSUE FLUSH\n");
+
+	if (!octx) {
+		drbd_warn(device, "Could not allocate a octx, CANNOT ISSUE FLUSH\n");
 		/* FIXME: what else can I do now?  disconnecting or detaching
 		 * really does not help to improve the state of the world, either.
 		 */
-		kfree(octx);
-		if (bio)
-			bio_put(bio);
+		bio_put(bio);
 
 		ctx->error = -ENOMEM;
 		put_ldev(device);
@@ -1646,7 +1645,6 @@ int drbd_submit_peer_request(struct drbd_device *device,
 	unsigned data_size = peer_req->i.size;
 	unsigned n_bios = 0;
 	unsigned nr_pages = (data_size + PAGE_SIZE -1) >> PAGE_SHIFT;
-	int err = -ENOMEM;
 
 	/* TRIM/DISCARD: for now, always use the helper function
 	 * blkdev_issue_zeroout(..., discard=true).
@@ -1688,10 +1686,6 @@ int drbd_submit_peer_request(struct drbd_device *device,
 	 */
 next_bio:
 	bio = bio_alloc(GFP_NOIO, nr_pages);
-	if (!bio) {
-		drbd_err(device, "submit_ee: Allocation of a bio failed (nr_pages=%u)\n", nr_pages);
-		goto fail;
-	}
 	/* > peer_req->i.sector, unless this is the first bio */
 	bio->bi_iter.bi_sector = sector;
 	bio_set_dev(bio, device->ldev->backing_bdev);
@@ -1726,14 +1720,6 @@ int drbd_submit_peer_request(struct drbd_device *device,
 		drbd_submit_bio_noacct(device, fault_type, bio);
 	} while (bios);
 	return 0;
-
-fail:
-	while (bios) {
-		bio = bios;
-		bios = bios->bi_next;
-		bio_put(bio);
-	}
-	return err;
 }
 
 static void drbd_remove_epoch_entry_interval(struct drbd_device *device,
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 09:11:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 09:11:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259776.448399 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBvOA-0004Gu-S3; Mon, 24 Jan 2022 09:11:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259776.448399; Mon, 24 Jan 2022 09: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 1nBvOA-0004Ey-Ff; Mon, 24 Jan 2022 09:11:50 +0000
Received: by outflank-mailman (input) for mailman id 259776;
 Mon, 24 Jan 2022 09:11:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4uJJ=SI=bombadil.srs.infradead.org=BATV+b18af077b488c69bdec9+6728+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1nBvO8-0000Il-Lr
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 09:11:48 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a7fa8ae5-7cf5-11ec-8fa7-f31e035a9116;
 Mon, 24 Jan 2022 10:11:47 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a337:a75f:a24e:7e39] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1nBvNx-002kCs-4t; Mon, 24 Jan 2022 09:11: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: a7fa8ae5-7cf5-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=zTiOqFQyhHqguPQ678Zaf9btDaCC9p/oqBHpvCY61VM=; b=DLsazqu1zmz3g/ZUEQDTQ2VMur
	poc51f3+HV2y+P4Uu24nVRS8tSMYoAm0DDJM1GqOyqbQ5OvqtD5jzYX6TWeohojJ31J+PhTLBj7kP
	I7ExgXt+TwpSuiufrxi3XK8FXJJ31LbbT1wxYW6K/RQKAHhscZtCiiUF3X5E5yG0uS4sim2kDFkqQ
	VkaOcFhxuEUDFEkQCQn3jyAq5xJJUq9RvpI7XdVgDOAJfonm1JdXofbZEOPPThlerJSHMD3vBAu7N
	MXEwm4MA3sSOZ7xheQb489RCslkMFty7jdqqkSilh68MAG/wk6sJ+lDEjFLtZ9lIgY/ock1JVgfVf
	9uGID8dg==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com,
	Jack Wang <jinpu.wang@ionons.com>
Subject: [PATCH 10/19] rnbd-srv: simplify bio mapping in process_rdma
Date: Mon, 24 Jan 2022 10:10:58 +0100
Message-Id: <20220124091107.642561-11-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220124091107.642561-1-hch@lst.de>
References: <20220124091107.642561-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

The memory mapped in process_rdma is contiguous, so there is no need
to loop over bio_add_page.  Remove rnbd_bio_map_kern and just open code
the bio allocation and mapping in the caller.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jack Wang <jinpu.wang@ionons.com>
Tested-by: Jack Wang <jinpu.wang@ionos.com>
---
 drivers/block/rnbd/rnbd-srv-dev.c | 57 -------------------------------
 drivers/block/rnbd/rnbd-srv-dev.h |  5 ---
 drivers/block/rnbd/rnbd-srv.c     | 23 +++++++++----
 3 files changed, 16 insertions(+), 69 deletions(-)

diff --git a/drivers/block/rnbd/rnbd-srv-dev.c b/drivers/block/rnbd/rnbd-srv-dev.c
index b241a099aeae2..98d3e591a0885 100644
--- a/drivers/block/rnbd/rnbd-srv-dev.c
+++ b/drivers/block/rnbd/rnbd-srv-dev.c
@@ -44,60 +44,3 @@ void rnbd_dev_close(struct rnbd_dev *dev)
 	blkdev_put(dev->bdev, dev->blk_open_flags);
 	kfree(dev);
 }
-
-void rnbd_dev_bi_end_io(struct bio *bio)
-{
-	struct rnbd_dev_blk_io *io = bio->bi_private;
-
-	rnbd_endio(io->priv, blk_status_to_errno(bio->bi_status));
-	bio_put(bio);
-}
-
-/**
- *	rnbd_bio_map_kern	-	map kernel address into bio
- *	@data: pointer to buffer to map
- *	@bs: bio_set to use.
- *	@len: length in bytes
- *	@gfp_mask: allocation flags for bio allocation
- *
- *	Map the kernel address into a bio suitable for io to a block
- *	device. Returns an error pointer in case of error.
- */
-struct bio *rnbd_bio_map_kern(void *data, struct bio_set *bs,
-			      unsigned int len, gfp_t gfp_mask)
-{
-	unsigned long kaddr = (unsigned long)data;
-	unsigned long end = (kaddr + len + PAGE_SIZE - 1) >> PAGE_SHIFT;
-	unsigned long start = kaddr >> PAGE_SHIFT;
-	const int nr_pages = end - start;
-	int offset, i;
-	struct bio *bio;
-
-	bio = bio_alloc_bioset(gfp_mask, nr_pages, bs);
-	if (!bio)
-		return ERR_PTR(-ENOMEM);
-
-	offset = offset_in_page(kaddr);
-	for (i = 0; i < nr_pages; i++) {
-		unsigned int bytes = PAGE_SIZE - offset;
-
-		if (len <= 0)
-			break;
-
-		if (bytes > len)
-			bytes = len;
-
-		if (bio_add_page(bio, virt_to_page(data), bytes,
-				    offset) < bytes) {
-			/* we don't support partial mappings */
-			bio_put(bio);
-			return ERR_PTR(-EINVAL);
-		}
-
-		data += bytes;
-		len -= bytes;
-		offset = 0;
-	}
-
-	return bio;
-}
diff --git a/drivers/block/rnbd/rnbd-srv-dev.h b/drivers/block/rnbd/rnbd-srv-dev.h
index 0eb23850afb95..1a14ece0be726 100644
--- a/drivers/block/rnbd/rnbd-srv-dev.h
+++ b/drivers/block/rnbd/rnbd-srv-dev.h
@@ -41,11 +41,6 @@ void rnbd_dev_close(struct rnbd_dev *dev);
 
 void rnbd_endio(void *priv, int error);
 
-void rnbd_dev_bi_end_io(struct bio *bio);
-
-struct bio *rnbd_bio_map_kern(void *data, struct bio_set *bs,
-			      unsigned int len, gfp_t gfp_mask);
-
 static inline int rnbd_dev_get_max_segs(const struct rnbd_dev *dev)
 {
 	return queue_max_segments(bdev_get_queue(dev->bdev));
diff --git a/drivers/block/rnbd/rnbd-srv.c b/drivers/block/rnbd/rnbd-srv.c
index 1ee808fc600cf..6d228af1dcc35 100644
--- a/drivers/block/rnbd/rnbd-srv.c
+++ b/drivers/block/rnbd/rnbd-srv.c
@@ -114,6 +114,14 @@ rnbd_get_sess_dev(int dev_id, struct rnbd_srv_session *srv_sess)
 	return sess_dev;
 }
 
+static void rnbd_dev_bi_end_io(struct bio *bio)
+{
+	struct rnbd_dev_blk_io *io = bio->bi_private;
+
+	rnbd_endio(io->priv, blk_status_to_errno(bio->bi_status));
+	bio_put(bio);
+}
+
 static int process_rdma(struct rnbd_srv_session *srv_sess,
 			struct rtrs_srv_op *id, void *data, u32 datalen,
 			const void *usr, size_t usrlen)
@@ -144,12 +152,12 @@ static int process_rdma(struct rnbd_srv_session *srv_sess,
 	priv->sess_dev = sess_dev;
 	priv->id = id;
 
-	/* Generate bio with pages pointing to the rdma buffer */
-	bio = rnbd_bio_map_kern(data, sess_dev->rnbd_dev->ibd_bio_set, datalen, GFP_KERNEL);
-	if (IS_ERR(bio)) {
-		err = PTR_ERR(bio);
-		rnbd_srv_err(sess_dev, "Failed to generate bio, err: %d\n", err);
-		goto sess_dev_put;
+	bio = bio_alloc_bioset(GFP_KERNEL, 1, sess_dev->rnbd_dev->ibd_bio_set);
+	if (bio_add_page(bio, virt_to_page(data), datalen,
+			offset_in_page(data)) != datalen) {
+		rnbd_srv_err(sess_dev, "Failed to map data to bio\n");
+		err = -EINVAL;
+		goto bio_put;
 	}
 
 	io = container_of(bio, struct rnbd_dev_blk_io, bio);
@@ -170,7 +178,8 @@ static int process_rdma(struct rnbd_srv_session *srv_sess,
 
 	return 0;
 
-sess_dev_put:
+bio_put:
+	bio_put(bio);
 	rnbd_put_sess_dev(sess_dev);
 err:
 	kfree(priv);
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 09:11:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 09:11:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259778.448411 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBvOE-000546-3m; Mon, 24 Jan 2022 09:11:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259778.448411; Mon, 24 Jan 2022 09: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 1nBvOD-00053l-Ts; Mon, 24 Jan 2022 09:11:53 +0000
Received: by outflank-mailman (input) for mailman id 259778;
 Mon, 24 Jan 2022 09:11:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4uJJ=SI=bombadil.srs.infradead.org=BATV+b18af077b488c69bdec9+6728+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1nBvOC-0000If-CR
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 09:11:52 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id aa3c0498-7cf5-11ec-bc18-3156f6d857e4;
 Mon, 24 Jan 2022 10:11:51 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a337:a75f:a24e:7e39] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1nBvNz-002kEY-Se; Mon, 24 Jan 2022 09:11:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aa3c0498-7cf5-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=VAKGKCfUBMSLG+YSR57H57ZEkLN6BewyVneVTtK6CWk=; b=oNwS32SfnvZJzN8YyHWJOl3UJU
	oK8E3D1k2MzQjGFbwP74nx+zncMg4ZWN26Kwvr8W7I4e9e+Y2L6hy8cpR3L2XvXtzzYDyhbNqnqQ9
	w03qKB9NAJTwCUVmpEyQq/gm6i42QNyDMbAORMlSkObthZ5e+9xBZSkWvRXDHW2RLODBCZFFBDTrs
	EMymxa1CDJEFDnU1OlGtKeq3PjJ0QNeK8lOUxAaDnGzgcQJ8d/hZdCBE6puiu59q6FQ1mBBRCIzID
	FO2pjHe0vexE4Y0H8hjmtMw3SfeAJNZX3xL/2I1jXcD18x0pr5FmgVw5oBcO8INdt0T5mPhiusMMR
	kSjMrqTQ==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com
Subject: [PATCH 11/19] rnbd-srv: remove struct rnbd_dev_blk_io
Date: Mon, 24 Jan 2022 10:10:59 +0100
Message-Id: <20220124091107.642561-12-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220124091107.642561-1-hch@lst.de>
References: <20220124091107.642561-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

Only the priv field of rnbd_dev_blk_io is used, so store the value of
that in bio->bi_private directly and remove the entire bio_set overhead.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 drivers/block/rnbd/rnbd-srv-dev.c |  4 +---
 drivers/block/rnbd/rnbd-srv-dev.h | 13 ++-----------
 drivers/block/rnbd/rnbd-srv.c     | 27 ++++-----------------------
 drivers/block/rnbd/rnbd-srv.h     |  1 -
 4 files changed, 7 insertions(+), 38 deletions(-)

diff --git a/drivers/block/rnbd/rnbd-srv-dev.c b/drivers/block/rnbd/rnbd-srv-dev.c
index 98d3e591a0885..c5d0a03911659 100644
--- a/drivers/block/rnbd/rnbd-srv-dev.c
+++ b/drivers/block/rnbd/rnbd-srv-dev.c
@@ -12,8 +12,7 @@
 #include "rnbd-srv-dev.h"
 #include "rnbd-log.h"
 
-struct rnbd_dev *rnbd_dev_open(const char *path, fmode_t flags,
-			       struct bio_set *bs)
+struct rnbd_dev *rnbd_dev_open(const char *path, fmode_t flags)
 {
 	struct rnbd_dev *dev;
 	int ret;
@@ -30,7 +29,6 @@ struct rnbd_dev *rnbd_dev_open(const char *path, fmode_t flags,
 
 	dev->blk_open_flags = flags;
 	bdevname(dev->bdev, dev->name);
-	dev->ibd_bio_set = bs;
 
 	return dev;
 
diff --git a/drivers/block/rnbd/rnbd-srv-dev.h b/drivers/block/rnbd/rnbd-srv-dev.h
index 1a14ece0be726..2c3df02b5e8ec 100644
--- a/drivers/block/rnbd/rnbd-srv-dev.h
+++ b/drivers/block/rnbd/rnbd-srv-dev.h
@@ -14,25 +14,16 @@
 
 struct rnbd_dev {
 	struct block_device	*bdev;
-	struct bio_set		*ibd_bio_set;
 	fmode_t			blk_open_flags;
 	char			name[BDEVNAME_SIZE];
 };
 
-struct rnbd_dev_blk_io {
-	struct rnbd_dev *dev;
-	void		 *priv;
-	/* have to be last member for front_pad usage of bioset_init */
-	struct bio	bio;
-};
-
 /**
  * rnbd_dev_open() - Open a device
+ * @path:	path to open
  * @flags:	open flags
- * @bs:		bio_set to use during block io,
  */
-struct rnbd_dev *rnbd_dev_open(const char *path, fmode_t flags,
-			       struct bio_set *bs);
+struct rnbd_dev *rnbd_dev_open(const char *path, fmode_t flags);
 
 /**
  * rnbd_dev_close() - Close a device
diff --git a/drivers/block/rnbd/rnbd-srv.c b/drivers/block/rnbd/rnbd-srv.c
index 6d228af1dcc35..ff9b389976078 100644
--- a/drivers/block/rnbd/rnbd-srv.c
+++ b/drivers/block/rnbd/rnbd-srv.c
@@ -116,9 +116,7 @@ rnbd_get_sess_dev(int dev_id, struct rnbd_srv_session *srv_sess)
 
 static void rnbd_dev_bi_end_io(struct bio *bio)
 {
-	struct rnbd_dev_blk_io *io = bio->bi_private;
-
-	rnbd_endio(io->priv, blk_status_to_errno(bio->bi_status));
+	rnbd_endio(bio->bi_private, blk_status_to_errno(bio->bi_status));
 	bio_put(bio);
 }
 
@@ -131,7 +129,6 @@ static int process_rdma(struct rnbd_srv_session *srv_sess,
 	struct rnbd_srv_sess_dev *sess_dev;
 	u32 dev_id;
 	int err;
-	struct rnbd_dev_blk_io *io;
 	struct bio *bio;
 	short prio;
 
@@ -152,7 +149,7 @@ static int process_rdma(struct rnbd_srv_session *srv_sess,
 	priv->sess_dev = sess_dev;
 	priv->id = id;
 
-	bio = bio_alloc_bioset(GFP_KERNEL, 1, sess_dev->rnbd_dev->ibd_bio_set);
+	bio = bio_alloc(GFP_KERNEL, 1);
 	if (bio_add_page(bio, virt_to_page(data), datalen,
 			offset_in_page(data)) != datalen) {
 		rnbd_srv_err(sess_dev, "Failed to map data to bio\n");
@@ -160,12 +157,8 @@ static int process_rdma(struct rnbd_srv_session *srv_sess,
 		goto bio_put;
 	}
 
-	io = container_of(bio, struct rnbd_dev_blk_io, bio);
-	io->dev = sess_dev->rnbd_dev;
-	io->priv = priv;
-
 	bio->bi_end_io = rnbd_dev_bi_end_io;
-	bio->bi_private = io;
+	bio->bi_private = priv;
 	bio->bi_opf = rnbd_to_bio_flags(le32_to_cpu(msg->rw));
 	bio->bi_iter.bi_sector = le64_to_cpu(msg->sector);
 	bio->bi_iter.bi_size = le32_to_cpu(msg->bi_size);
@@ -260,7 +253,6 @@ static void destroy_sess(struct rnbd_srv_session *srv_sess)
 
 out:
 	xa_destroy(&srv_sess->index_idr);
-	bioset_exit(&srv_sess->sess_bio_set);
 
 	pr_info("RTRS Session %s disconnected\n", srv_sess->sessname);
 
@@ -289,16 +281,6 @@ static int create_sess(struct rtrs_srv_sess *rtrs)
 		return -ENOMEM;
 
 	srv_sess->queue_depth = rtrs_srv_get_queue_depth(rtrs);
-	err = bioset_init(&srv_sess->sess_bio_set, srv_sess->queue_depth,
-			  offsetof(struct rnbd_dev_blk_io, bio),
-			  BIOSET_NEED_BVECS);
-	if (err) {
-		pr_err("Allocating srv_session for path %s failed\n",
-		       pathname);
-		kfree(srv_sess);
-		return err;
-	}
-
 	xa_init_flags(&srv_sess->index_idr, XA_FLAGS_ALLOC);
 	INIT_LIST_HEAD(&srv_sess->sess_dev_list);
 	mutex_init(&srv_sess->lock);
@@ -747,8 +729,7 @@ static int process_msg_open(struct rnbd_srv_session *srv_sess,
 		goto reject;
 	}
 
-	rnbd_dev = rnbd_dev_open(full_path, open_flags,
-				 &srv_sess->sess_bio_set);
+	rnbd_dev = rnbd_dev_open(full_path, open_flags);
 	if (IS_ERR(rnbd_dev)) {
 		pr_err("Opening device '%s' on session %s failed, failed to open the block device, err: %ld\n",
 		       full_path, srv_sess->sessname, PTR_ERR(rnbd_dev));
diff --git a/drivers/block/rnbd/rnbd-srv.h b/drivers/block/rnbd/rnbd-srv.h
index e5604bce123ab..be2ae486d407e 100644
--- a/drivers/block/rnbd/rnbd-srv.h
+++ b/drivers/block/rnbd/rnbd-srv.h
@@ -23,7 +23,6 @@ struct rnbd_srv_session {
 	struct rtrs_srv_sess	*rtrs;
 	char			sessname[NAME_MAX];
 	int			queue_depth;
-	struct bio_set		sess_bio_set;
 
 	struct xarray		index_idr;
 	/* List of struct rnbd_srv_sess_dev */
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 09:11:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 09:11:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259779.448422 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBvOH-0005kZ-MA; Mon, 24 Jan 2022 09:11:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259779.448422; Mon, 24 Jan 2022 09:11:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBvOH-0005jp-FO; Mon, 24 Jan 2022 09:11:57 +0000
Received: by outflank-mailman (input) for mailman id 259779;
 Mon, 24 Jan 2022 09:11:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4uJJ=SI=bombadil.srs.infradead.org=BATV+b18af077b488c69bdec9+6728+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1nBvOG-0000Il-14
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 09:11:56 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ac7c8a71-7cf5-11ec-8fa7-f31e035a9116;
 Mon, 24 Jan 2022 10:11:55 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a337:a75f:a24e:7e39] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1nBvO3-002kGt-6c; Mon, 24 Jan 2022 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: ac7c8a71-7cf5-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=Hmdul2b824Aw+W7hsxfLRPm+W2xGls7ShW1BUgArE2A=; b=pWc0N5kYb4bArsjIbr1mc2MULT
	3C8ao+NuMPVQ2pEhWYD0pS4OEiDwzWJcF3OQWJ/7qPuRxogxWFPuvaH/AdXs6d9RZUXZ3YF8Gb0Z3
	adpO4UBuk/hqPQGUGdkP7euk2NRZzk0iS7A1P8UCLCAKB11FO7xYa9uy+6z1r53Ll03uwC/sZF7Bz
	2AYkMWod1x441+zLUUKusAzBIuZ96nUG4RvGk5j2uXutO+aMMny3ji5ZOHON/lia9Bdro8LDESVGt
	+7vVuZZXadeZX2arJ2UfxF0DCT0MLTUT8dyRYXfgOb5VGvKJj2KC8zrta0vgK9UgXnaGvmHM5Jw+1
	YxPUbcZQ==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com
Subject: [PATCH 12/19] xen-blkback: bio_alloc can't fail if it is allow to sleep
Date: Mon, 24 Jan 2022 10:11:00 +0100
Message-Id: <20220124091107.642561-13-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220124091107.642561-1-hch@lst.de>
References: <20220124091107.642561-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

Remove handling of NULL returns from sleeping bio_alloc calls given that
those can't fail.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 drivers/block/xen-blkback/blkback.c | 14 --------------
 1 file changed, 14 deletions(-)

diff --git a/drivers/block/xen-blkback/blkback.c b/drivers/block/xen-blkback/blkback.c
index 14e452896d04c..6bb2ad7692065 100644
--- a/drivers/block/xen-blkback/blkback.c
+++ b/drivers/block/xen-blkback/blkback.c
@@ -1327,9 +1327,6 @@ static int dispatch_rw_block_io(struct xen_blkif_ring *ring,
 				     seg[i].nsec << 9,
 				     seg[i].offset) == 0)) {
 			bio = bio_alloc(GFP_KERNEL, bio_max_segs(nseg - i));
-			if (unlikely(bio == NULL))
-				goto fail_put_bio;
-
 			biolist[nbio++] = bio;
 			bio_set_dev(bio, preq.bdev);
 			bio->bi_private = pending_req;
@@ -1346,9 +1343,6 @@ static int dispatch_rw_block_io(struct xen_blkif_ring *ring,
 		BUG_ON(operation_flags != REQ_PREFLUSH);
 
 		bio = bio_alloc(GFP_KERNEL, 0);
-		if (unlikely(bio == NULL))
-			goto fail_put_bio;
-
 		biolist[nbio++] = bio;
 		bio_set_dev(bio, preq.bdev);
 		bio->bi_private = pending_req;
@@ -1381,14 +1375,6 @@ static int dispatch_rw_block_io(struct xen_blkif_ring *ring,
 	free_req(ring, pending_req);
 	msleep(1); /* back off a bit */
 	return -EIO;
-
- fail_put_bio:
-	for (i = 0; i < nbio; i++)
-		bio_put(biolist[i]);
-	atomic_set(&pending_req->pendcnt, 1);
-	__end_block_io_op(pending_req, BLK_STS_RESOURCE);
-	msleep(1); /* back off a bit */
-	return -EIO;
 }
 
 
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 09:12:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 09:12:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259780.448433 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBvOK-0006Dg-6m; Mon, 24 Jan 2022 09:12:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259780.448433; Mon, 24 Jan 2022 09:12:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBvOK-0006DN-12; Mon, 24 Jan 2022 09:12:00 +0000
Received: by outflank-mailman (input) for mailman id 259780;
 Mon, 24 Jan 2022 09:11:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4uJJ=SI=bombadil.srs.infradead.org=BATV+b18af077b488c69bdec9+6728+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1nBvOI-0000Il-QL
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 09:11:58 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ae265d1c-7cf5-11ec-8fa7-f31e035a9116;
 Mon, 24 Jan 2022 10:11:58 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a337:a75f:a24e:7e39] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1nBvO5-002kIy-Ur; Mon, 24 Jan 2022 09:11: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: ae265d1c-7cf5-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=H757LVIKTEq+1tqMYPD2FmecyVVQJSjnAtYvboQfhHo=; b=GomJocQW08/7qSga4w2CIK+2BK
	FRgJe8mSaZskxJ8huGQ3GCdY9JE51mbqy6LTZP5/YJyxok+aR/+68blZ6+ZP+ajrQVextKMiV73s0
	O3/szJPnf4HWKTQSvlC7KVDKo2hVtkQTucrUuFvorjuCiVuhrj8XVhvIBsZKv8JrOhI9rOjBBBy2q
	JrWeUnQsHk+x6KZcQgs8hS/8CS3knCeuA/DkOkGH2UwWPKz9zz/ha5JUjASlrdD6t3a5IhP8sdLfC
	3lDTVz8uN3dxArIrTUsI2n0McDZIMinlI24UY/n3qYNCJVo4bo09GVt6hvdFf2RQsHbnPKVqo6S+s
	emR21HqQ==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com,
	Chaitanya Kulkarni <kch@nvidia.com>
Subject: [PATCH 13/19] block: move blk_next_bio to bio.c
Date: Mon, 24 Jan 2022 10:11:01 +0100
Message-Id: <20220124091107.642561-14-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220124091107.642561-1-hch@lst.de>
References: <20220124091107.642561-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

Keep blk_next_bio next to the core bio infrastructure.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
---
 block/bio.c     | 13 +++++++++++++
 block/blk-lib.c | 13 -------------
 2 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/block/bio.c b/block/bio.c
index 4312a8085396b..1536579ed490a 100644
--- a/block/bio.c
+++ b/block/bio.c
@@ -344,6 +344,19 @@ void bio_chain(struct bio *bio, struct bio *parent)
 }
 EXPORT_SYMBOL(bio_chain);
 
+struct bio *blk_next_bio(struct bio *bio, unsigned int nr_pages, gfp_t gfp)
+{
+	struct bio *new = bio_alloc(gfp, nr_pages);
+
+	if (bio) {
+		bio_chain(bio, new);
+		submit_bio(bio);
+	}
+
+	return new;
+}
+EXPORT_SYMBOL_GPL(blk_next_bio);
+
 static void bio_alloc_rescue(struct work_struct *work)
 {
 	struct bio_set *bs = container_of(work, struct bio_set, rescue_work);
diff --git a/block/blk-lib.c b/block/blk-lib.c
index 9f09beadcbe30..9245b300ef73e 100644
--- a/block/blk-lib.c
+++ b/block/blk-lib.c
@@ -10,19 +10,6 @@
 
 #include "blk.h"
 
-struct bio *blk_next_bio(struct bio *bio, unsigned int nr_pages, gfp_t gfp)
-{
-	struct bio *new = bio_alloc(gfp, nr_pages);
-
-	if (bio) {
-		bio_chain(bio, new);
-		submit_bio(bio);
-	}
-
-	return new;
-}
-EXPORT_SYMBOL_GPL(blk_next_bio);
-
 int __blkdev_issue_discard(struct block_device *bdev, sector_t sector,
 		sector_t nr_sects, gfp_t gfp_mask, int flags,
 		struct bio **biop)
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 09:17:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 09:17:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259796.448444 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBvT9-0000Et-Vw; Mon, 24 Jan 2022 09:16:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259796.448444; Mon, 24 Jan 2022 09:16:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBvT9-0000Ej-Si; Mon, 24 Jan 2022 09:16:59 +0000
Received: by outflank-mailman (input) for mailman id 259796;
 Mon, 24 Jan 2022 09:16:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4uJJ=SI=bombadil.srs.infradead.org=BATV+b18af077b488c69bdec9+6728+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1nBvOK-0000Il-As
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 09:12:00 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id aede8a41-7cf5-11ec-8fa7-f31e035a9116;
 Mon, 24 Jan 2022 10:11:59 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a337:a75f:a24e:7e39] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1nBvO8-002kKA-Ni; Mon, 24 Jan 2022 09:11: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: aede8a41-7cf5-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=Cyxt1AOctq4MzkNVEEfEw2Tcf954gS3S1ZhtFoGMx7Y=; b=TnKQRyIaTmEWKd1NYWWMu/BczG
	3lBNgP/3hzLOc7n0/E2pt2/ehm0zUQgCHhTN5EyZuf6Vt6RbHj090KgVvAFXvEKD6DMBJEjWKbELw
	sazUsY1cxO6cSsUs2xJUeGlT1CNBProCFkPVFUcdu+QMp1opMiE1wRqsfgiLOMI3NtIyPiUywXSd0
	AGuq4hOqDcTsWUxmQhRNw/MCi2sfIAYOMW0aPQP7VKQBn8ud8TMuNZUMV74aobNB01AylxJCiVwYb
	FmegYV3cig4qd4KrsHbfKDi08zoISb1B//cCOVjRH3zqFEWBOvqFDlI8tNO02idkmguDd/ePBnTUX
	bEIfqFAw==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com,
	Chaitanya Kulkarni <kch@nvidia.com>
Subject: [PATCH 14/19] block: pass a block_device and opf to blk_next_bio
Date: Mon, 24 Jan 2022 10:11:02 +0100
Message-Id: <20220124091107.642561-15-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220124091107.642561-1-hch@lst.de>
References: <20220124091107.642561-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

From: Chaitanya Kulkarni <kch@nvidia.com>

All callers need to set the block_device and operation, so lift that into
the common code.

Signed-off-by: Chaitanya Kulkarni <kch@nvidia.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 block/bio.c               |  6 +++++-
 block/blk-lib.c           | 19 +++++--------------
 block/blk-zoned.c         |  9 +++------
 block/blk.h               |  2 --
 drivers/nvme/target/zns.c |  6 +++---
 include/linux/bio.h       |  3 ++-
 6 files changed, 18 insertions(+), 27 deletions(-)

diff --git a/block/bio.c b/block/bio.c
index 1536579ed490a..a0166f29a05c3 100644
--- a/block/bio.c
+++ b/block/bio.c
@@ -344,10 +344,14 @@ void bio_chain(struct bio *bio, struct bio *parent)
 }
 EXPORT_SYMBOL(bio_chain);
 
-struct bio *blk_next_bio(struct bio *bio, unsigned int nr_pages, gfp_t gfp)
+struct bio *blk_next_bio(struct bio *bio, struct block_device *bdev,
+		unsigned int nr_pages, unsigned int opf, gfp_t gfp)
 {
 	struct bio *new = bio_alloc(gfp, nr_pages);
 
+	bio_set_dev(new, bdev);
+	new->bi_opf = opf;
+
 	if (bio) {
 		bio_chain(bio, new);
 		submit_bio(bio);
diff --git a/block/blk-lib.c b/block/blk-lib.c
index 9245b300ef73e..1b8ced45e4e55 100644
--- a/block/blk-lib.c
+++ b/block/blk-lib.c
@@ -82,11 +82,8 @@ int __blkdev_issue_discard(struct block_device *bdev, sector_t sector,
 
 		WARN_ON_ONCE((req_sects << 9) > UINT_MAX);
 
-		bio = blk_next_bio(bio, 0, gfp_mask);
+		bio = blk_next_bio(bio, bdev, 0, op, gfp_mask);
 		bio->bi_iter.bi_sector = sector;
-		bio_set_dev(bio, bdev);
-		bio_set_op_attrs(bio, op, 0);
-
 		bio->bi_iter.bi_size = req_sects << 9;
 		sector += req_sects;
 		nr_sects -= req_sects;
@@ -176,14 +173,12 @@ static int __blkdev_issue_write_same(struct block_device *bdev, sector_t sector,
 	max_write_same_sectors = bio_allowed_max_sectors(q);
 
 	while (nr_sects) {
-		bio = blk_next_bio(bio, 1, gfp_mask);
+		bio = blk_next_bio(bio, bdev, 1, REQ_OP_WRITE_SAME, gfp_mask);
 		bio->bi_iter.bi_sector = sector;
-		bio_set_dev(bio, bdev);
 		bio->bi_vcnt = 1;
 		bio->bi_io_vec->bv_page = page;
 		bio->bi_io_vec->bv_offset = 0;
 		bio->bi_io_vec->bv_len = bdev_logical_block_size(bdev);
-		bio_set_op_attrs(bio, REQ_OP_WRITE_SAME, 0);
 
 		if (nr_sects > max_write_same_sectors) {
 			bio->bi_iter.bi_size = max_write_same_sectors << 9;
@@ -252,10 +247,8 @@ static int __blkdev_issue_write_zeroes(struct block_device *bdev,
 		return -EOPNOTSUPP;
 
 	while (nr_sects) {
-		bio = blk_next_bio(bio, 0, gfp_mask);
+		bio = blk_next_bio(bio, bdev, 0, REQ_OP_WRITE_ZEROES, gfp_mask);
 		bio->bi_iter.bi_sector = sector;
-		bio_set_dev(bio, bdev);
-		bio->bi_opf = REQ_OP_WRITE_ZEROES;
 		if (flags & BLKDEV_ZERO_NOUNMAP)
 			bio->bi_opf |= REQ_NOUNMAP;
 
@@ -303,11 +296,9 @@ static int __blkdev_issue_zero_pages(struct block_device *bdev,
 		return -EPERM;
 
 	while (nr_sects != 0) {
-		bio = blk_next_bio(bio, __blkdev_sectors_to_bio_pages(nr_sects),
-				   gfp_mask);
+		bio = blk_next_bio(bio, bdev, __blkdev_sectors_to_bio_pages(nr_sects),
+				   REQ_OP_WRITE, gfp_mask);
 		bio->bi_iter.bi_sector = sector;
-		bio_set_dev(bio, bdev);
-		bio_set_op_attrs(bio, REQ_OP_WRITE, 0);
 
 		while (nr_sects != 0) {
 			sz = min((sector_t) PAGE_SIZE, nr_sects << 9);
diff --git a/block/blk-zoned.c b/block/blk-zoned.c
index 774ecc598bee2..5ab755d792c81 100644
--- a/block/blk-zoned.c
+++ b/block/blk-zoned.c
@@ -215,9 +215,8 @@ static int blkdev_zone_reset_all_emulated(struct block_device *bdev,
 			continue;
 		}
 
-		bio = blk_next_bio(bio, 0, gfp_mask);
-		bio_set_dev(bio, bdev);
-		bio->bi_opf = REQ_OP_ZONE_RESET | REQ_SYNC;
+		bio = blk_next_bio(bio, bdev, 0, REQ_OP_ZONE_RESET | REQ_SYNC,
+				   gfp_mask);
 		bio->bi_iter.bi_sector = sector;
 		sector += zone_sectors;
 
@@ -306,9 +305,7 @@ int blkdev_zone_mgmt(struct block_device *bdev, enum req_opf op,
 	}
 
 	while (sector < end_sector) {
-		bio = blk_next_bio(bio, 0, gfp_mask);
-		bio_set_dev(bio, bdev);
-		bio->bi_opf = op | REQ_SYNC;
+		bio = blk_next_bio(bio, bdev, 0, op | REQ_SYNC, gfp_mask);
 		bio->bi_iter.bi_sector = sector;
 		sector += zone_sectors;
 
diff --git a/block/blk.h b/block/blk.h
index 8bd43b3ad33d5..6b93de33e8a43 100644
--- a/block/blk.h
+++ b/block/blk.h
@@ -406,8 +406,6 @@ extern int blk_iolatency_init(struct request_queue *q);
 static inline int blk_iolatency_init(struct request_queue *q) { return 0; }
 #endif
 
-struct bio *blk_next_bio(struct bio *bio, unsigned int nr_pages, gfp_t gfp);
-
 #ifdef CONFIG_BLK_DEV_ZONED
 void blk_queue_free_zone_bitmaps(struct request_queue *q);
 void blk_queue_clear_zone_settings(struct request_queue *q);
diff --git a/drivers/nvme/target/zns.c b/drivers/nvme/target/zns.c
index 46bc30fe85d2b..247de74247fab 100644
--- a/drivers/nvme/target/zns.c
+++ b/drivers/nvme/target/zns.c
@@ -412,10 +412,10 @@ static u16 nvmet_bdev_zone_mgmt_emulate_all(struct nvmet_req *req)
 
 	while (sector < get_capacity(bdev->bd_disk)) {
 		if (test_bit(blk_queue_zone_no(q, sector), d.zbitmap)) {
-			bio = blk_next_bio(bio, 0, GFP_KERNEL);
-			bio->bi_opf = zsa_req_op(req->cmd->zms.zsa) | REQ_SYNC;
+			bio = blk_next_bio(bio, bdev, 0,
+				zsa_req_op(req->cmd->zms.zsa) | REQ_SYNC,
+				GFP_KERNEL);
 			bio->bi_iter.bi_sector = sector;
-			bio_set_dev(bio, bdev);
 			/* This may take a while, so be nice to others */
 			cond_resched();
 		}
diff --git a/include/linux/bio.h b/include/linux/bio.h
index 117d7f248ac96..edeae54074ede 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -790,6 +790,7 @@ static inline void bio_set_polled(struct bio *bio, struct kiocb *kiocb)
 		bio->bi_opf |= REQ_NOWAIT;
 }
 
-struct bio *blk_next_bio(struct bio *bio, unsigned int nr_pages, gfp_t gfp);
+struct bio *blk_next_bio(struct bio *bio, struct block_device *bdev,
+		unsigned int nr_pages, unsigned int opf, gfp_t gfp);
 
 #endif /* __LINUX_BIO_H */
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 09:17:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 09:17:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259800.448455 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBvTb-0000ni-9F; Mon, 24 Jan 2022 09:17:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259800.448455; Mon, 24 Jan 2022 09:17:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBvTb-0000nb-5i; Mon, 24 Jan 2022 09:17:27 +0000
Received: by outflank-mailman (input) for mailman id 259800;
 Mon, 24 Jan 2022 09:17:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4uJJ=SI=bombadil.srs.infradead.org=BATV+b18af077b488c69bdec9+6728+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1nBvOZ-0000Il-El
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 09:12:15 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b7b82e24-7cf5-11ec-8fa7-f31e035a9116;
 Mon, 24 Jan 2022 10:12:14 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a337:a75f:a24e:7e39] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1nBvON-002kVj-Ap; Mon, 24 Jan 2022 09:12:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b7b82e24-7cf5-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=05/2hJ4qFhOy3TMkzw4mOBelv5h6ZZEpdG21LS4VpTk=; b=JaTvMv4BhbACduW0iYKfh03Uqm
	pgKQoQWMVXFbITfjywkuNAfxnSNkCRIZB8DWScyS758o4cOJMMweGCOLY00c1k3PoOSJoaA71MIuM
	F1GPJwdu8NOkC6iQsmA3sOKN78b6AhOKdxo1lM+wi6zXwMy5JNmLnEgGR35V9ZsDzEDa5A/5XFoGL
	sNmcFgnAiLw5kaHoQMFnsbUnCeeBXTYvsJK8OsaMloNw+Kf9u8kl81fh1PwagHR5iDQwEnblUmh6D
	aGQ2zTZfK6DV6h1X6ZGSRHRCQcafTu26CZB8Js45ktZpZh+CzVsxwWHHDLuB3JdA3XlwIe419/dgz
	LwganZhQ==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com,
	Chaitanya Kulkarni <kch@nvidia.com>
Subject: [PATCH 19/19] block: pass a block_device and opf to bio_reset
Date: Mon, 24 Jan 2022 10:11:07 +0100
Message-Id: <20220124091107.642561-20-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220124091107.642561-1-hch@lst.de>
References: <20220124091107.642561-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

Pass the block_device that we plan to use this bio for and the
operation to bio_reset to optimize the assigment.  A NULL block_device
can be passed, both for the passthrough case on a raw request_queue and
to temporarily avoid refactoring some nasty code.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
---
 block/bio.c                 |  6 +++++-
 drivers/block/pktcdvd.c     |  8 ++------
 drivers/md/bcache/journal.c | 12 ++++--------
 drivers/md/bcache/request.c |  4 ++--
 drivers/md/raid1.c          |  5 ++---
 drivers/md/raid10.c         |  8 +++-----
 drivers/md/raid5-cache.c    |  9 +++------
 drivers/md/raid5.c          |  8 ++++----
 fs/btrfs/disk-io.c          |  4 +---
 fs/crypto/bio.c             |  8 ++------
 include/linux/bio.h         |  9 +--------
 11 files changed, 29 insertions(+), 52 deletions(-)

diff --git a/block/bio.c b/block/bio.c
index b2133d86e885e..03cefe81950f2 100644
--- a/block/bio.c
+++ b/block/bio.c
@@ -295,6 +295,8 @@ EXPORT_SYMBOL(bio_init);
 /**
  * bio_reset - reinitialize a bio
  * @bio:	bio to reset
+ * @bdev:	block device to use the bio for
+ * @opf:	operation and flags for bio
  *
  * Description:
  *   After calling bio_reset(), @bio will be in the same state as a freshly
@@ -302,11 +304,13 @@ EXPORT_SYMBOL(bio_init);
  *   preserved are the ones that are initialized by bio_alloc_bioset(). See
  *   comment in struct bio.
  */
-void bio_reset(struct bio *bio)
+void bio_reset(struct bio *bio, struct block_device *bdev, unsigned int opf)
 {
 	bio_uninit(bio);
 	memset(bio, 0, BIO_RESET_BYTES);
 	atomic_set(&bio->__bi_remaining, 1);
+	bio->bi_bdev = bdev;
+	bio->bi_opf = opf;
 }
 EXPORT_SYMBOL(bio_reset);
 
diff --git a/drivers/block/pktcdvd.c b/drivers/block/pktcdvd.c
index 2b6b70a39e760..3aa5954429462 100644
--- a/drivers/block/pktcdvd.c
+++ b/drivers/block/pktcdvd.c
@@ -1020,9 +1020,8 @@ static void pkt_gather_data(struct pktcdvd_device *pd, struct packet_data *pkt)
 			continue;
 
 		bio = pkt->r_bios[f];
-		bio_reset(bio);
+		bio_reset(bio, pd->bdev, REQ_OP_READ);
 		bio->bi_iter.bi_sector = pkt->sector + f * (CD_FRAMESIZE >> 9);
-		bio_set_dev(bio, pd->bdev);
 		bio->bi_end_io = pkt_end_io_read;
 		bio->bi_private = pkt;
 
@@ -1034,7 +1033,6 @@ static void pkt_gather_data(struct pktcdvd_device *pd, struct packet_data *pkt)
 			BUG();
 
 		atomic_inc(&pkt->io_wait);
-		bio_set_op_attrs(bio, REQ_OP_READ, 0);
 		pkt_queue_bio(pd, bio);
 		frames_read++;
 	}
@@ -1235,9 +1233,8 @@ static void pkt_start_write(struct pktcdvd_device *pd, struct packet_data *pkt)
 {
 	int f;
 
-	bio_reset(pkt->w_bio);
+	bio_reset(pkt->w_bio, pd->bdev, REQ_OP_WRITE);
 	pkt->w_bio->bi_iter.bi_sector = pkt->sector;
-	bio_set_dev(pkt->w_bio, pd->bdev);
 	pkt->w_bio->bi_end_io = pkt_end_io_packet_write;
 	pkt->w_bio->bi_private = pkt;
 
@@ -1270,7 +1267,6 @@ static void pkt_start_write(struct pktcdvd_device *pd, struct packet_data *pkt)
 
 	/* Start the write request */
 	atomic_set(&pkt->io_wait, 1);
-	bio_set_op_attrs(pkt->w_bio, REQ_OP_WRITE, 0);
 	pkt_queue_bio(pd, pkt->w_bio);
 }
 
diff --git a/drivers/md/bcache/journal.c b/drivers/md/bcache/journal.c
index 6d26c5b06e2b6..7c2ca52ca3e43 100644
--- a/drivers/md/bcache/journal.c
+++ b/drivers/md/bcache/journal.c
@@ -53,14 +53,12 @@ static int journal_read_bucket(struct cache *ca, struct list_head *list,
 reread:		left = ca->sb.bucket_size - offset;
 		len = min_t(unsigned int, left, PAGE_SECTORS << JSET_BITS);
 
-		bio_reset(bio);
+		bio_reset(bio, ca->bdev, REQ_OP_READ);
 		bio->bi_iter.bi_sector	= bucket + offset;
-		bio_set_dev(bio, ca->bdev);
 		bio->bi_iter.bi_size	= len << 9;
 
 		bio->bi_end_io	= journal_read_endio;
 		bio->bi_private = &cl;
-		bio_set_op_attrs(bio, REQ_OP_READ, 0);
 		bch_bio_map(bio, data);
 
 		closure_bio_submit(ca->set, bio, &cl);
@@ -771,16 +769,14 @@ static void journal_write_unlocked(struct closure *cl)
 
 		atomic_long_add(sectors, &ca->meta_sectors_written);
 
-		bio_reset(bio);
+		bio_reset(bio, ca->bdev, REQ_OP_WRITE | 
+			  REQ_SYNC | REQ_META | REQ_PREFLUSH | REQ_FUA);
+		bch_bio_map(bio, w->data);
 		bio->bi_iter.bi_sector	= PTR_OFFSET(k, i);
-		bio_set_dev(bio, ca->bdev);
 		bio->bi_iter.bi_size = sectors << 9;
 
 		bio->bi_end_io	= journal_write_endio;
 		bio->bi_private = w;
-		bio_set_op_attrs(bio, REQ_OP_WRITE,
-				 REQ_SYNC|REQ_META|REQ_PREFLUSH|REQ_FUA);
-		bch_bio_map(bio, w->data);
 
 		trace_bcache_journal_write(bio, w->data->keys);
 		bio_list_add(&list, bio);
diff --git a/drivers/md/bcache/request.c b/drivers/md/bcache/request.c
index d4b98ebffd948..7ba59d08ed870 100644
--- a/drivers/md/bcache/request.c
+++ b/drivers/md/bcache/request.c
@@ -831,11 +831,11 @@ static void cached_dev_read_done(struct closure *cl)
 	 */
 
 	if (s->iop.bio) {
-		bio_reset(s->iop.bio);
+		bio_reset(s->iop.bio, s->cache_miss->bi_bdev, REQ_OP_READ);
 		s->iop.bio->bi_iter.bi_sector =
 			s->cache_miss->bi_iter.bi_sector;
-		bio_copy_dev(s->iop.bio, s->cache_miss);
 		s->iop.bio->bi_iter.bi_size = s->insert_bio_sectors << 9;
+		bio_clone_blkg_association(s->iop.bio, s->cache_miss);
 		bch_bio_map(s->iop.bio, NULL);
 
 		bio_copy_data(s->cache_miss, s->iop.bio);
diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c
index 43276f8fdc815..e7710fb5befb4 100644
--- a/drivers/md/raid1.c
+++ b/drivers/md/raid1.c
@@ -2166,11 +2166,10 @@ static void process_checks(struct r1bio *r1_bio)
 			continue;
 		/* fixup the bio for reuse, but preserve errno */
 		status = b->bi_status;
-		bio_reset(b);
+		bio_reset(b, conf->mirrors[i].rdev->bdev, REQ_OP_READ);
 		b->bi_status = status;
 		b->bi_iter.bi_sector = r1_bio->sector +
 			conf->mirrors[i].rdev->data_offset;
-		bio_set_dev(b, conf->mirrors[i].rdev->bdev);
 		b->bi_end_io = end_sync_read;
 		rp->raid_bio = r1_bio;
 		b->bi_private = rp;
@@ -2651,7 +2650,7 @@ static struct r1bio *raid1_alloc_init_r1buf(struct r1conf *conf)
 	for (i = conf->poolinfo->raid_disks; i--; ) {
 		bio = r1bio->bios[i];
 		rps = bio->bi_private;
-		bio_reset(bio);
+		bio_reset(bio, NULL, 0);
 		bio->bi_private = rps;
 	}
 	r1bio->master_bio = NULL;
diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c
index cb7c58050708e..da07bcbc06d08 100644
--- a/drivers/md/raid10.c
+++ b/drivers/md/raid10.c
@@ -2422,7 +2422,7 @@ static void sync_request_write(struct mddev *mddev, struct r10bio *r10_bio)
 		 * bi_vecs, as the read request might have corrupted these
 		 */
 		rp = get_resync_pages(tbio);
-		bio_reset(tbio);
+		bio_reset(tbio, conf->mirrors[d].rdev->bdev, REQ_OP_WRITE);
 
 		md_bio_reset_resync_pages(tbio, rp, fbio->bi_iter.bi_size);
 
@@ -2430,7 +2430,6 @@ static void sync_request_write(struct mddev *mddev, struct r10bio *r10_bio)
 		tbio->bi_private = rp;
 		tbio->bi_iter.bi_sector = r10_bio->devs[i].addr;
 		tbio->bi_end_io = end_sync_write;
-		bio_set_op_attrs(tbio, REQ_OP_WRITE, 0);
 
 		bio_copy_data(tbio, fbio);
 
@@ -2441,7 +2440,6 @@ static void sync_request_write(struct mddev *mddev, struct r10bio *r10_bio)
 		if (test_bit(FailFast, &conf->mirrors[d].rdev->flags))
 			tbio->bi_opf |= MD_FAILFAST;
 		tbio->bi_iter.bi_sector += conf->mirrors[d].rdev->data_offset;
-		bio_set_dev(tbio, conf->mirrors[d].rdev->bdev);
 		submit_bio_noacct(tbio);
 	}
 
@@ -3160,12 +3158,12 @@ static struct r10bio *raid10_alloc_init_r10buf(struct r10conf *conf)
 	for (i = 0; i < nalloc; i++) {
 		bio = r10bio->devs[i].bio;
 		rp = bio->bi_private;
-		bio_reset(bio);
+		bio_reset(bio, NULL, 0);
 		bio->bi_private = rp;
 		bio = r10bio->devs[i].repl_bio;
 		if (bio) {
 			rp = bio->bi_private;
-			bio_reset(bio);
+			bio_reset(bio, NULL, 0);
 			bio->bi_private = rp;
 		}
 	}
diff --git a/drivers/md/raid5-cache.c b/drivers/md/raid5-cache.c
index 98b9ca11c28d8..86e2bb89d9c7b 100644
--- a/drivers/md/raid5-cache.c
+++ b/drivers/md/raid5-cache.c
@@ -1301,10 +1301,9 @@ void r5l_flush_stripe_to_raid(struct r5l_log *log)
 
 	if (!do_flush)
 		return;
-	bio_reset(&log->flush_bio);
-	bio_set_dev(&log->flush_bio, log->rdev->bdev);
+	bio_reset(&log->flush_bio, log->rdev->bdev,
+		  REQ_OP_WRITE | REQ_PREFLUSH);
 	log->flush_bio.bi_end_io = r5l_log_flush_endio;
-	log->flush_bio.bi_opf = REQ_OP_WRITE | REQ_PREFLUSH;
 	submit_bio(&log->flush_bio);
 }
 
@@ -1678,9 +1677,7 @@ static int r5l_recovery_fetch_ra_pool(struct r5l_log *log,
 				      struct r5l_recovery_ctx *ctx,
 				      sector_t offset)
 {
-	bio_reset(ctx->ra_bio);
-	bio_set_dev(ctx->ra_bio, log->rdev->bdev);
-	bio_set_op_attrs(ctx->ra_bio, REQ_OP_READ, 0);
+	bio_reset(ctx->ra_bio, log->rdev->bdev, REQ_OP_READ);
 	ctx->ra_bio->bi_iter.bi_sector = log->rdev->data_offset + offset;
 
 	ctx->valid_pages = 0;
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
index a9dcc5bc9c329..7c119208a2143 100644
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
@@ -2677,7 +2677,7 @@ static void raid5_end_read_request(struct bio * bi)
 		(unsigned long long)sh->sector, i, atomic_read(&sh->count),
 		bi->bi_status);
 	if (i == disks) {
-		bio_reset(bi);
+		bio_reset(bi, NULL, 0);
 		BUG();
 		return;
 	}
@@ -2785,7 +2785,7 @@ static void raid5_end_read_request(struct bio * bi)
 		}
 	}
 	rdev_dec_pending(rdev, conf->mddev);
-	bio_reset(bi);
+	bio_reset(bi, NULL, 0);
 	clear_bit(R5_LOCKED, &sh->dev[i].flags);
 	set_bit(STRIPE_HANDLE, &sh->state);
 	raid5_release_stripe(sh);
@@ -2823,7 +2823,7 @@ static void raid5_end_write_request(struct bio *bi)
 		(unsigned long long)sh->sector, i, atomic_read(&sh->count),
 		bi->bi_status);
 	if (i == disks) {
-		bio_reset(bi);
+		bio_reset(bi, NULL, 0);
 		BUG();
 		return;
 	}
@@ -2860,7 +2860,7 @@ static void raid5_end_write_request(struct bio *bi)
 	if (sh->batch_head && bi->bi_status && !replacement)
 		set_bit(STRIPE_BATCH_ERR, &sh->batch_head->state);
 
-	bio_reset(bi);
+	bio_reset(bi, NULL, 0);
 	if (!test_and_clear_bit(R5_DOUBLE_LOCKED, &sh->dev[i].flags))
 		clear_bit(R5_LOCKED, &sh->dev[i].flags);
 	set_bit(STRIPE_HANDLE, &sh->state);
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index f45aa506f9a6f..505ba21230b1f 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -4154,10 +4154,8 @@ static void write_dev_flush(struct btrfs_device *device)
 		return;
 #endif
 
-	bio_reset(bio);
+	bio_reset(bio, device->bdev, REQ_OP_WRITE | REQ_SYNC | REQ_PREFLUSH);
 	bio->bi_end_io = btrfs_end_empty_barrier;
-	bio_set_dev(bio, device->bdev);
-	bio->bi_opf = REQ_OP_WRITE | REQ_SYNC | REQ_PREFLUSH;
 	init_completion(&device->flush_wait);
 	bio->bi_private = &device->flush_wait;
 
diff --git a/fs/crypto/bio.c b/fs/crypto/bio.c
index 755e985a42e0b..2217fe5ece6f9 100644
--- a/fs/crypto/bio.c
+++ b/fs/crypto/bio.c
@@ -80,9 +80,7 @@ static int fscrypt_zeroout_range_inline_crypt(const struct inode *inode,
 			err = submit_bio_wait(bio);
 			if (err)
 				goto out;
-			bio_reset(bio);
-			bio_set_dev(bio, inode->i_sb->s_bdev);
-			bio->bi_opf = REQ_OP_WRITE;
+			bio_reset(bio, inode->i_sb->s_bdev, REQ_OP_WRITE);
 			num_pages = 0;
 		}
 	}
@@ -181,9 +179,7 @@ int fscrypt_zeroout_range(const struct inode *inode, pgoff_t lblk,
 		err = submit_bio_wait(bio);
 		if (err)
 			goto out;
-		bio_reset(bio);
-		bio_set_dev(bio, inode->i_sb->s_bdev);
-		bio->bi_opf = REQ_OP_WRITE;
+		bio_reset(bio, inode->i_sb->s_bdev, REQ_OP_WRITE);
 	} while (len != 0);
 	err = 0;
 out:
diff --git a/include/linux/bio.h b/include/linux/bio.h
index 41bedf727f59c..18cfe5bb41ea8 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -459,7 +459,7 @@ extern int submit_bio_wait(struct bio *bio);
 void bio_init(struct bio *bio, struct block_device *bdev, struct bio_vec *table,
 	      unsigned short max_vecs, unsigned int opf);
 extern void bio_uninit(struct bio *);
-extern void bio_reset(struct bio *);
+void bio_reset(struct bio *bio, struct block_device *bdev, unsigned int opf);
 void bio_chain(struct bio *, struct bio *);
 
 int bio_add_page(struct bio *, struct page *, unsigned len, unsigned off);
@@ -517,13 +517,6 @@ static inline void bio_set_dev(struct bio *bio, struct block_device *bdev)
 	bio_associate_blkg(bio);
 }
 
-static inline void bio_copy_dev(struct bio *dst, struct bio *src)
-{
-	bio_clear_flag(dst, BIO_REMAPPED);
-	dst->bi_bdev = src->bi_bdev;
-	bio_clone_blkg_association(dst, src);
-}
-
 /*
  * BIO list management for use by remapping drivers (e.g. DM or MD) and loop.
  *
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 09:17:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 09:17:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259801.448466 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBvTh-00017k-M4; Mon, 24 Jan 2022 09:17:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259801.448466; Mon, 24 Jan 2022 09:17:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBvTh-00017d-Hq; Mon, 24 Jan 2022 09:17:33 +0000
Received: by outflank-mailman (input) for mailman id 259801;
 Mon, 24 Jan 2022 09:17:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4uJJ=SI=bombadil.srs.infradead.org=BATV+b18af077b488c69bdec9+6728+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1nBvOQ-0000If-9N
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 09:12:06 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b269b09d-7cf5-11ec-bc18-3156f6d857e4;
 Mon, 24 Jan 2022 10:12:05 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a337:a75f:a24e:7e39] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1nBvOE-002kOU-FM; Mon, 24 Jan 2022 09:11: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: b269b09d-7cf5-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=0Qgs0/p7au5nXckGBcHhyVfsCV0zza96K735LLBDkZU=; b=r6oCdpGi+YlHUNnNuO6Dk8dv2m
	CoJ1Y7LrwmHLtPnJNrdCxAaP1K9NsU9kRKdzGOVW7SYU3QR3n0laMVkT8M+6h/On3h6kT3m2SIzWv
	xCfrY/LzDq7Vmh77DiTtrkzTYGYr0n6Oc3UibKQMZDlStJup3ZsBTMVYTN+pEnQru4ZhpXZPe3xoa
	7Vr3JyCxuZ9VuG5PNWac5ddB+1Rc8Un8lDckN7TM0vdeMnNtofCihM42AU51WsoliLdCi+HHnJsJV
	6789Qe/OZPhWvS5jhO0dwOpnYqclmbp2yGgHyLMTWe6kbTuijly0X0LWQxD81u9KP3/Ni4uc0EXcs
	wRxbLxHA==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com,
	Chaitanya Kulkarni <kch@nvidia.com>
Subject: [PATCH 16/19] block: pass a block_device and opf to bio_alloc_kiocb
Date: Mon, 24 Jan 2022 10:11:04 +0100
Message-Id: <20220124091107.642561-17-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220124091107.642561-1-hch@lst.de>
References: <20220124091107.642561-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

Pass the block_device and operation that we plan to use this bio for to
bio_alloc_kiocb to optimize the assigment.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
---
 block/bio.c         | 12 ++++++++----
 block/fops.c        | 17 ++++++++---------
 include/linux/bio.h |  4 ++--
 3 files changed, 18 insertions(+), 15 deletions(-)

diff --git a/block/bio.c b/block/bio.c
index 9afc0c2aca6e4..6c3efb0fd12b1 100644
--- a/block/bio.c
+++ b/block/bio.c
@@ -1731,7 +1731,9 @@ EXPORT_SYMBOL(bioset_init_from_src);
 /**
  * bio_alloc_kiocb - Allocate a bio from bio_set based on kiocb
  * @kiocb:	kiocb describing the IO
+ * @bdev:	block device to allocate the bio for (can be %NULL)
  * @nr_vecs:	number of iovecs to pre-allocate
+ * @opf:	operation and flags for bio
  * @bs:		bio_set to allocate from
  *
  * Description:
@@ -1742,14 +1744,14 @@ EXPORT_SYMBOL(bioset_init_from_src);
  *    MUST be done from process context, not hard/soft IRQ.
  *
  */
-struct bio *bio_alloc_kiocb(struct kiocb *kiocb, unsigned short nr_vecs,
-			    struct bio_set *bs)
+struct bio *bio_alloc_kiocb(struct kiocb *kiocb, struct block_device *bdev,
+		unsigned short nr_vecs, unsigned int opf, struct bio_set *bs)
 {
 	struct bio_alloc_cache *cache;
 	struct bio *bio;
 
 	if (!(kiocb->ki_flags & IOCB_ALLOC_CACHE) || nr_vecs > BIO_INLINE_VECS)
-		return bio_alloc_bioset(NULL, nr_vecs, 0, GFP_KERNEL, bs);
+		return bio_alloc_bioset(bdev, nr_vecs, opf, GFP_KERNEL, bs);
 
 	cache = per_cpu_ptr(bs->cache, get_cpu());
 	if (cache->free_list) {
@@ -1758,12 +1760,14 @@ struct bio *bio_alloc_kiocb(struct kiocb *kiocb, unsigned short nr_vecs,
 		cache->nr--;
 		put_cpu();
 		bio_init(bio, nr_vecs ? bio->bi_inline_vecs : NULL, nr_vecs);
+		bio_set_dev(bio, bdev);
+		bio->bi_opf = opf;
 		bio->bi_pool = bs;
 		bio_set_flag(bio, BIO_PERCPU_CACHE);
 		return bio;
 	}
 	put_cpu();
-	bio = bio_alloc_bioset(NULL, nr_vecs, 0, GFP_KERNEL, bs);
+	bio = bio_alloc_bioset(bdev, nr_vecs, opf, GFP_KERNEL, bs);
 	bio_set_flag(bio, BIO_PERCPU_CACHE);
 	return bio;
 }
diff --git a/block/fops.c b/block/fops.c
index 26bf15c770d21..3a62b8b912750 100644
--- a/block/fops.c
+++ b/block/fops.c
@@ -190,6 +190,7 @@ static ssize_t __blkdev_direct_IO(struct kiocb *iocb, struct iov_iter *iter,
 	struct blkdev_dio *dio;
 	struct bio *bio;
 	bool is_read = (iov_iter_rw(iter) == READ), is_sync;
+	unsigned int opf = is_read ? REQ_OP_READ : dio_bio_write_op(iocb);
 	loff_t pos = iocb->ki_pos;
 	int ret = 0;
 
@@ -197,7 +198,7 @@ static ssize_t __blkdev_direct_IO(struct kiocb *iocb, struct iov_iter *iter,
 	    (bdev_logical_block_size(bdev) - 1))
 		return -EINVAL;
 
-	bio = bio_alloc_kiocb(iocb, nr_pages, &blkdev_dio_pool);
+	bio = bio_alloc_kiocb(iocb, bdev, nr_pages, opf, &blkdev_dio_pool);
 
 	dio = container_of(bio, struct blkdev_dio, bio);
 	atomic_set(&dio->ref, 1);
@@ -223,7 +224,6 @@ static ssize_t __blkdev_direct_IO(struct kiocb *iocb, struct iov_iter *iter,
 	blk_start_plug(&plug);
 
 	for (;;) {
-		bio_set_dev(bio, bdev);
 		bio->bi_iter.bi_sector = pos >> SECTOR_SHIFT;
 		bio->bi_write_hint = iocb->ki_hint;
 		bio->bi_private = dio;
@@ -238,11 +238,9 @@ static ssize_t __blkdev_direct_IO(struct kiocb *iocb, struct iov_iter *iter,
 		}
 
 		if (is_read) {
-			bio->bi_opf = REQ_OP_READ;
 			if (dio->flags & DIO_SHOULD_DIRTY)
 				bio_set_pages_dirty(bio);
 		} else {
-			bio->bi_opf = dio_bio_write_op(iocb);
 			task_io_account_write(bio->bi_iter.bi_size);
 		}
 		if (iocb->ki_flags & IOCB_NOWAIT)
@@ -259,6 +257,8 @@ static ssize_t __blkdev_direct_IO(struct kiocb *iocb, struct iov_iter *iter,
 		atomic_inc(&dio->ref);
 		submit_bio(bio);
 		bio = bio_alloc(GFP_KERNEL, nr_pages);
+		bio_set_dev(bio, bdev);
+		bio->bi_opf = opf;
 	}
 
 	blk_finish_plug(&plug);
@@ -311,6 +311,8 @@ static ssize_t __blkdev_direct_IO_async(struct kiocb *iocb,
 					unsigned int nr_pages)
 {
 	struct block_device *bdev = iocb->ki_filp->private_data;
+	bool is_read = iov_iter_rw(iter) == READ;
+	unsigned int opf = is_read ? REQ_OP_READ : dio_bio_write_op(iocb);
 	struct blkdev_dio *dio;
 	struct bio *bio;
 	loff_t pos = iocb->ki_pos;
@@ -320,11 +322,10 @@ static ssize_t __blkdev_direct_IO_async(struct kiocb *iocb,
 	    (bdev_logical_block_size(bdev) - 1))
 		return -EINVAL;
 
-	bio = bio_alloc_kiocb(iocb, nr_pages, &blkdev_dio_pool);
+	bio = bio_alloc_kiocb(iocb, bdev, nr_pages, opf, &blkdev_dio_pool);
 	dio = container_of(bio, struct blkdev_dio, bio);
 	dio->flags = 0;
 	dio->iocb = iocb;
-	bio_set_dev(bio, bdev);
 	bio->bi_iter.bi_sector = pos >> SECTOR_SHIFT;
 	bio->bi_write_hint = iocb->ki_hint;
 	bio->bi_end_io = blkdev_bio_end_io_async;
@@ -347,14 +348,12 @@ static ssize_t __blkdev_direct_IO_async(struct kiocb *iocb,
 	}
 	dio->size = bio->bi_iter.bi_size;
 
-	if (iov_iter_rw(iter) == READ) {
-		bio->bi_opf = REQ_OP_READ;
+	if (is_read) {
 		if (iter_is_iovec(iter)) {
 			dio->flags |= DIO_SHOULD_DIRTY;
 			bio_set_pages_dirty(bio);
 		}
 	} else {
-		bio->bi_opf = dio_bio_write_op(iocb);
 		task_io_account_write(bio->bi_iter.bi_size);
 	}
 
diff --git a/include/linux/bio.h b/include/linux/bio.h
index 2f63ae9a71e1a..5c5ada2ebb270 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -408,8 +408,8 @@ extern int bioset_init_from_src(struct bio_set *bs, struct bio_set *src);
 struct bio *bio_alloc_bioset(struct block_device *bdev, unsigned short nr_vecs,
 			     unsigned int opf, gfp_t gfp_mask,
 			     struct bio_set *bs);
-struct bio *bio_alloc_kiocb(struct kiocb *kiocb, unsigned short nr_vecs,
-		struct bio_set *bs);
+struct bio *bio_alloc_kiocb(struct kiocb *kiocb, struct block_device *bdev,
+		unsigned short nr_vecs, unsigned int opf, struct bio_set *bs);
 struct bio *bio_kmalloc(gfp_t gfp_mask, unsigned short nr_iovecs);
 extern void bio_put(struct bio *);
 
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 09:17:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 09:17:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259802.448477 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBvTj-0001R4-Ve; Mon, 24 Jan 2022 09:17:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259802.448477; Mon, 24 Jan 2022 09:17:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBvTj-0001Qv-Rp; Mon, 24 Jan 2022 09:17:35 +0000
Received: by outflank-mailman (input) for mailman id 259802;
 Mon, 24 Jan 2022 09:17:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4uJJ=SI=bombadil.srs.infradead.org=BATV+b18af077b488c69bdec9+6728+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1nBvOR-0000If-9m
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 09:12:07 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b28bccca-7cf5-11ec-bc18-3156f6d857e4;
 Mon, 24 Jan 2022 10:12:05 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a337:a75f:a24e:7e39] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1nBvOB-002kLk-JA; Mon, 24 Jan 2022 09:11:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b28bccca-7cf5-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=Ay4e1FAZProATM0JZRVFZNmtcAl4fBk7DdKkIsn7JDY=; b=GeP6LJbN9mToe/g39wAuEyo/Yf
	oShZI6iJSjRDnuWjdsa7qYTWyJ6XG3uYSk7K+sgB7S4flFoyKH9u1jUR1YPDHfeuVHzwlz8QyXVc6
	de50q89KhtLjtWSnafUkk5DbQe4vaLRkq5mKR7GaQJztBk0SqSm4lPnNKlcfE3eZteSThV5/FqZkT
	hwY8esvw/DZXFIxihq42V6Xz4BlZKDtnFqvy56Fp7tq88is5i9i7ULe9brbYLpDDK8tMrMi359uTI
	yS6w1gQq+T+A9UIm4PXT8hj5LrzWGbpuTDnx3u4zhGLbnIIrFT2cy8hqIU1Ty3k7v+rdG52H1wwUZ
	6RsDmTaA==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com,
	Chaitanya Kulkarni <kch@nvidia.com>
Subject: [PATCH 15/19] block: pass a block_device and opf to bio_alloc_bioset
Date: Mon, 24 Jan 2022 10:11:03 +0100
Message-Id: <20220124091107.642561-16-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220124091107.642561-1-hch@lst.de>
References: <20220124091107.642561-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

Pass the block_device and operation that we plan to use this bio for to
bio_alloc_bioset to optimize the assigment.  NULL/0 can be passed, both
for the passthrough case on a raw request_queue and to temporarily avoid
refactoring some nasty code.

Also move the gfp_mask argument after the nr_vecs argument for a much
more logical calling convention matching what most of the kernel does.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
---
 block/bio.c                         | 30 +++++++++++++++++------------
 block/bounce.c                      |  6 ++----
 drivers/block/drbd/drbd_actlog.c    |  5 ++---
 drivers/block/drbd/drbd_bitmap.c    |  7 +++----
 drivers/md/bcache/request.c         | 12 +++++-------
 drivers/md/dm-crypt.c               |  5 ++---
 drivers/md/dm-io.c                  |  5 ++---
 drivers/md/dm-writecache.c          |  7 ++++---
 drivers/md/dm.c                     |  5 +++--
 drivers/md/md.c                     | 16 +++++++--------
 drivers/md/raid1.c                  |  3 ++-
 drivers/md/raid10.c                 |  6 ++----
 drivers/md/raid5-cache.c            |  8 ++++----
 drivers/md/raid5-ppl.c              | 11 +++++------
 drivers/target/target_core_iblock.c |  6 ++----
 fs/btrfs/extent_io.c                |  2 +-
 fs/f2fs/data.c                      |  7 +++----
 fs/iomap/buffered-io.c              |  6 +++---
 include/linux/bio.h                 |  7 ++++---
 19 files changed, 75 insertions(+), 79 deletions(-)

diff --git a/block/bio.c b/block/bio.c
index a0166f29a05c3..9afc0c2aca6e4 100644
--- a/block/bio.c
+++ b/block/bio.c
@@ -417,8 +417,10 @@ static void punt_bios_to_rescuer(struct bio_set *bs)
 
 /**
  * bio_alloc_bioset - allocate a bio for I/O
+ * @bdev:	block device to allocate the bio for (can be %NULL)
+ * @nr_vecs:	number of bvecs to pre-allocate
+ * @opf:	operation and flags for bio
  * @gfp_mask:   the GFP_* mask given to the slab allocator
- * @nr_iovecs:	number of iovecs to pre-allocate
  * @bs:		the bio_set to allocate from.
  *
  * Allocate a bio from the mempools in @bs.
@@ -447,15 +449,16 @@ static void punt_bios_to_rescuer(struct bio_set *bs)
  *
  * Returns: Pointer to new bio on success, NULL on failure.
  */
-struct bio *bio_alloc_bioset(gfp_t gfp_mask, unsigned short nr_iovecs,
+struct bio *bio_alloc_bioset(struct block_device *bdev, unsigned short nr_vecs,
+			     unsigned int opf, gfp_t gfp_mask,
 			     struct bio_set *bs)
 {
 	gfp_t saved_gfp = gfp_mask;
 	struct bio *bio;
 	void *p;
 
-	/* should not use nobvec bioset for nr_iovecs > 0 */
-	if (WARN_ON_ONCE(!mempool_initialized(&bs->bvec_pool) && nr_iovecs > 0))
+	/* should not use nobvec bioset for nr_vecs > 0 */
+	if (WARN_ON_ONCE(!mempool_initialized(&bs->bvec_pool) && nr_vecs > 0))
 		return NULL;
 
 	/*
@@ -492,26 +495,29 @@ struct bio *bio_alloc_bioset(gfp_t gfp_mask, unsigned short nr_iovecs,
 		return NULL;
 
 	bio = p + bs->front_pad;
-	if (nr_iovecs > BIO_INLINE_VECS) {
+	if (nr_vecs > BIO_INLINE_VECS) {
 		struct bio_vec *bvl = NULL;
 
-		bvl = bvec_alloc(&bs->bvec_pool, &nr_iovecs, gfp_mask);
+		bvl = bvec_alloc(&bs->bvec_pool, &nr_vecs, gfp_mask);
 		if (!bvl && gfp_mask != saved_gfp) {
 			punt_bios_to_rescuer(bs);
 			gfp_mask = saved_gfp;
-			bvl = bvec_alloc(&bs->bvec_pool, &nr_iovecs, gfp_mask);
+			bvl = bvec_alloc(&bs->bvec_pool, &nr_vecs, gfp_mask);
 		}
 		if (unlikely(!bvl))
 			goto err_free;
 
-		bio_init(bio, bvl, nr_iovecs);
-	} else if (nr_iovecs) {
+		bio_init(bio, bvl, nr_vecs);
+	} else if (nr_vecs) {
 		bio_init(bio, bio->bi_inline_vecs, BIO_INLINE_VECS);
 	} else {
 		bio_init(bio, NULL, 0);
 	}
 
 	bio->bi_pool = bs;
+	if (bdev)
+		bio_set_dev(bio, bdev);
+	bio->bi_opf = opf;
 	return bio;
 
 err_free:
@@ -767,7 +773,7 @@ struct bio *bio_clone_fast(struct bio *bio, gfp_t gfp_mask, struct bio_set *bs)
 {
 	struct bio *b;
 
-	b = bio_alloc_bioset(gfp_mask, 0, bs);
+	b = bio_alloc_bioset(NULL, 0, 0, gfp_mask, bs);
 	if (!b)
 		return NULL;
 
@@ -1743,7 +1749,7 @@ struct bio *bio_alloc_kiocb(struct kiocb *kiocb, unsigned short nr_vecs,
 	struct bio *bio;
 
 	if (!(kiocb->ki_flags & IOCB_ALLOC_CACHE) || nr_vecs > BIO_INLINE_VECS)
-		return bio_alloc_bioset(GFP_KERNEL, nr_vecs, bs);
+		return bio_alloc_bioset(NULL, nr_vecs, 0, GFP_KERNEL, bs);
 
 	cache = per_cpu_ptr(bs->cache, get_cpu());
 	if (cache->free_list) {
@@ -1757,7 +1763,7 @@ struct bio *bio_alloc_kiocb(struct kiocb *kiocb, unsigned short nr_vecs,
 		return bio;
 	}
 	put_cpu();
-	bio = bio_alloc_bioset(GFP_KERNEL, nr_vecs, bs);
+	bio = bio_alloc_bioset(NULL, nr_vecs, 0, GFP_KERNEL, bs);
 	bio_set_flag(bio, BIO_PERCPU_CACHE);
 	return bio;
 }
diff --git a/block/bounce.c b/block/bounce.c
index 7af1a72835b99..330ddde25b460 100644
--- a/block/bounce.c
+++ b/block/bounce.c
@@ -165,12 +165,10 @@ static struct bio *bounce_clone_bio(struct bio *bio_src)
 	 *    asking for trouble and would force extra work on
 	 *    __bio_clone_fast() anyways.
 	 */
-	bio = bio_alloc_bioset(GFP_NOIO, bio_segments(bio_src),
-			       &bounce_bio_set);
-	bio->bi_bdev		= bio_src->bi_bdev;
+	bio = bio_alloc_bioset(bio_src->bi_bdev, bio_segments(bio_src),
+			       bio_src->bi_opf, GFP_NOIO, &bounce_bio_set);
 	if (bio_flagged(bio_src, BIO_REMAPPED))
 		bio_set_flag(bio, BIO_REMAPPED);
-	bio->bi_opf		= bio_src->bi_opf;
 	bio->bi_ioprio		= bio_src->bi_ioprio;
 	bio->bi_write_hint	= bio_src->bi_write_hint;
 	bio->bi_iter.bi_sector	= bio_src->bi_iter.bi_sector;
diff --git a/drivers/block/drbd/drbd_actlog.c b/drivers/block/drbd/drbd_actlog.c
index 72cf7603d51fc..f5bcded3640da 100644
--- a/drivers/block/drbd/drbd_actlog.c
+++ b/drivers/block/drbd/drbd_actlog.c
@@ -138,15 +138,14 @@ static int _drbd_md_sync_page_io(struct drbd_device *device,
 		op_flags |= REQ_FUA | REQ_PREFLUSH;
 	op_flags |= REQ_SYNC;
 
-	bio = bio_alloc_bioset(GFP_NOIO, 1, &drbd_md_io_bio_set);
-	bio_set_dev(bio, bdev->md_bdev);
+	bio = bio_alloc_bioset(bdev->md_bdev, 1, op | op_flags, GFP_NOIO,
+			       &drbd_md_io_bio_set);
 	bio->bi_iter.bi_sector = sector;
 	err = -EIO;
 	if (bio_add_page(bio, device->md_io.page, size, 0) != size)
 		goto out;
 	bio->bi_private = device;
 	bio->bi_end_io = drbd_md_endio;
-	bio_set_op_attrs(bio, op, op_flags);
 
 	if (op != REQ_OP_WRITE && device->state.disk == D_DISKLESS && device->ldev == NULL)
 		/* special case, drbd_md_read() during drbd_adm_attach(): no get_ldev */
diff --git a/drivers/block/drbd/drbd_bitmap.c b/drivers/block/drbd/drbd_bitmap.c
index c1f816f896a89..df25eecf80af0 100644
--- a/drivers/block/drbd/drbd_bitmap.c
+++ b/drivers/block/drbd/drbd_bitmap.c
@@ -976,12 +976,13 @@ static void drbd_bm_endio(struct bio *bio)
 
 static void bm_page_io_async(struct drbd_bm_aio_ctx *ctx, int page_nr) __must_hold(local)
 {
-	struct bio *bio = bio_alloc_bioset(GFP_NOIO, 1, &drbd_md_io_bio_set);
 	struct drbd_device *device = ctx->device;
+	unsigned int op = (ctx->flags & BM_AIO_READ) ? REQ_OP_READ : REQ_OP_WRITE;
+	struct bio *bio = bio_alloc_bioset(device->ldev->md_bdev, 1, op,
+					   GFP_NOIO, &drbd_md_io_bio_set);
 	struct drbd_bitmap *b = device->bitmap;
 	struct page *page;
 	unsigned int len;
-	unsigned int op = (ctx->flags & BM_AIO_READ) ? REQ_OP_READ : REQ_OP_WRITE;
 
 	sector_t on_disk_sector =
 		device->ldev->md.md_offset + device->ldev->md.bm_offset;
@@ -1006,14 +1007,12 @@ static void bm_page_io_async(struct drbd_bm_aio_ctx *ctx, int page_nr) __must_ho
 		bm_store_page_idx(page, page_nr);
 	} else
 		page = b->bm_pages[page_nr];
-	bio_set_dev(bio, device->ldev->md_bdev);
 	bio->bi_iter.bi_sector = on_disk_sector;
 	/* bio_add_page of a single page to an empty bio will always succeed,
 	 * according to api.  Do we want to assert that? */
 	bio_add_page(bio, page, len, 0);
 	bio->bi_private = ctx;
 	bio->bi_end_io = drbd_bm_endio;
-	bio_set_op_attrs(bio, op, 0);
 
 	if (drbd_insert_fault(device, (op == REQ_OP_WRITE) ? DRBD_FAULT_MD_WR : DRBD_FAULT_MD_RD)) {
 		bio_io_error(bio);
diff --git a/drivers/md/bcache/request.c b/drivers/md/bcache/request.c
index d15aae6c51c13..c4b7e434de8ac 100644
--- a/drivers/md/bcache/request.c
+++ b/drivers/md/bcache/request.c
@@ -913,14 +913,13 @@ static int cached_dev_cache_miss(struct btree *b, struct search *s,
 	/* btree_search_recurse()'s btree iterator is no good anymore */
 	ret = miss == bio ? MAP_DONE : -EINTR;
 
-	cache_bio = bio_alloc_bioset(GFP_NOWAIT,
+	cache_bio = bio_alloc_bioset(miss->bi_bdev,
 			DIV_ROUND_UP(s->insert_bio_sectors, PAGE_SECTORS),
-			&dc->disk.bio_split);
+			0, GFP_NOWAIT, &dc->disk.bio_split);
 	if (!cache_bio)
 		goto out_submit;
 
 	cache_bio->bi_iter.bi_sector	= miss->bi_iter.bi_sector;
-	bio_copy_dev(cache_bio, miss);
 	cache_bio->bi_iter.bi_size	= s->insert_bio_sectors << 9;
 
 	cache_bio->bi_end_io	= backing_request_endio;
@@ -1025,16 +1024,15 @@ static void cached_dev_write(struct cached_dev *dc, struct search *s)
 			 */
 			struct bio *flush;
 
-			flush = bio_alloc_bioset(GFP_NOIO, 0,
-						 &dc->disk.bio_split);
+			flush = bio_alloc_bioset(bio->bi_bdev, 0,
+						 REQ_OP_WRITE | REQ_PREFLUSH,
+						 GFP_NOIO, &dc->disk.bio_split);
 			if (!flush) {
 				s->iop.status = BLK_STS_RESOURCE;
 				goto insert_data;
 			}
-			bio_copy_dev(flush, bio);
 			flush->bi_end_io = backing_request_endio;
 			flush->bi_private = cl;
-			flush->bi_opf = REQ_OP_WRITE | REQ_PREFLUSH;
 			/* I/O request sent to backing device */
 			closure_bio_submit(s->iop.c, flush, cl);
 		}
diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c
index 3c5ecd35d3483..f7e4435b7439a 100644
--- a/drivers/md/dm-crypt.c
+++ b/drivers/md/dm-crypt.c
@@ -1672,11 +1672,10 @@ static struct bio *crypt_alloc_buffer(struct dm_crypt_io *io, unsigned size)
 	if (unlikely(gfp_mask & __GFP_DIRECT_RECLAIM))
 		mutex_lock(&cc->bio_alloc_lock);
 
-	clone = bio_alloc_bioset(GFP_NOIO, nr_iovecs, &cc->bs);
+	clone = bio_alloc_bioset(cc->dev->bdev, nr_iovecs, io->base_bio->bi_opf,
+				 GFP_NOIO, &cc->bs);
 	clone->bi_private = io;
 	clone->bi_end_io = crypt_endio;
-	bio_set_dev(clone, cc->dev->bdev);
-	clone->bi_opf = io->base_bio->bi_opf;
 
 	remaining_size = size;
 
diff --git a/drivers/md/dm-io.c b/drivers/md/dm-io.c
index 2d3cda0acacb6..23e038f8dc845 100644
--- a/drivers/md/dm-io.c
+++ b/drivers/md/dm-io.c
@@ -345,11 +345,10 @@ static void do_region(int op, int op_flags, unsigned region,
 						(PAGE_SIZE >> SECTOR_SHIFT)));
 		}
 
-		bio = bio_alloc_bioset(GFP_NOIO, num_bvecs, &io->client->bios);
+		bio = bio_alloc_bioset(where->bdev, num_bvecs, op | op_flags,
+				       GFP_NOIO, &io->client->bios);
 		bio->bi_iter.bi_sector = where->sector + (where->count - remaining);
-		bio_set_dev(bio, where->bdev);
 		bio->bi_end_io = endio;
-		bio_set_op_attrs(bio, op, op_flags);
 		store_io_and_region_in_bio(bio, io, region);
 
 		if (op == REQ_OP_DISCARD || op == REQ_OP_WRITE_ZEROES) {
diff --git a/drivers/md/dm-writecache.c b/drivers/md/dm-writecache.c
index 4f31591d2d25e..5630b470ba429 100644
--- a/drivers/md/dm-writecache.c
+++ b/drivers/md/dm-writecache.c
@@ -1821,11 +1821,11 @@ static void __writecache_writeback_pmem(struct dm_writecache *wc, struct writeba
 
 		max_pages = e->wc_list_contiguous;
 
-		bio = bio_alloc_bioset(GFP_NOIO, max_pages, &wc->bio_set);
+		bio = bio_alloc_bioset(wc->dev->bdev, max_pages, REQ_OP_WRITE,
+				       GFP_NOIO, &wc->bio_set);
 		wb = container_of(bio, struct writeback_struct, bio);
 		wb->wc = wc;
 		bio->bi_end_io = writecache_writeback_endio;
-		bio_set_dev(bio, wc->dev->bdev);
 		bio->bi_iter.bi_sector = read_original_sector(wc, e);
 		if (max_pages <= WB_LIST_INLINE ||
 		    unlikely(!(wb->wc_list = kmalloc_array(max_pages, sizeof(struct wc_entry *),
@@ -1852,7 +1852,8 @@ static void __writecache_writeback_pmem(struct dm_writecache *wc, struct writeba
 			wb->wc_list[wb->wc_list_n++] = f;
 			e = f;
 		}
-		bio_set_op_attrs(bio, REQ_OP_WRITE, WC_MODE_FUA(wc) * REQ_FUA);
+		if (WC_MODE_FUA(wc))
+			bio->bi_opf |= REQ_FUA;
 		if (writecache_has_error(wc)) {
 			bio->bi_status = BLK_STS_IOERR;
 			bio_endio(bio);
diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index 81449cbdafa81..84f3dd58d1a16 100644
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -519,7 +519,7 @@ static struct dm_io *alloc_io(struct mapped_device *md, struct bio *bio)
 	struct dm_target_io *tio;
 	struct bio *clone;
 
-	clone = bio_alloc_bioset(GFP_NOIO, 0, &md->io_bs);
+	clone = bio_alloc_bioset(NULL, 0, 0, GFP_NOIO, &md->io_bs);
 
 	tio = container_of(clone, struct dm_target_io, clone);
 	tio->inside_dm_io = true;
@@ -552,7 +552,8 @@ static struct dm_target_io *alloc_tio(struct clone_info *ci, struct dm_target *t
 		/* the dm_target_io embedded in ci->io is available */
 		tio = &ci->io->tio;
 	} else {
-		struct bio *clone = bio_alloc_bioset(gfp_mask, 0, &ci->io->md->bs);
+		struct bio *clone = bio_alloc_bioset(NULL, 0, 0, gfp_mask,
+						     &ci->io->md->bs);
 		if (!clone)
 			return NULL;
 
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 5881d05a76ebc..40fc1f7e65c5d 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -562,11 +562,11 @@ static void submit_flushes(struct work_struct *ws)
 			atomic_inc(&rdev->nr_pending);
 			atomic_inc(&rdev->nr_pending);
 			rcu_read_unlock();
-			bi = bio_alloc_bioset(GFP_NOIO, 0, &mddev->bio_set);
+			bi = bio_alloc_bioset(rdev->bdev, 0,
+					      REQ_OP_WRITE | REQ_PREFLUSH,
+					      GFP_NOIO, &mddev->bio_set);
 			bi->bi_end_io = md_end_flush;
 			bi->bi_private = rdev;
-			bio_set_dev(bi, rdev->bdev);
-			bi->bi_opf = REQ_OP_WRITE | REQ_PREFLUSH;
 			atomic_inc(&mddev->flush_pending);
 			submit_bio(bi);
 			rcu_read_lock();
@@ -955,7 +955,6 @@ void md_super_write(struct mddev *mddev, struct md_rdev *rdev,
 	 * If an error occurred, call md_error
 	 */
 	struct bio *bio;
-	int ff = 0;
 
 	if (!page)
 		return;
@@ -963,11 +962,13 @@ void md_super_write(struct mddev *mddev, struct md_rdev *rdev,
 	if (test_bit(Faulty, &rdev->flags))
 		return;
 
-	bio = bio_alloc_bioset(GFP_NOIO, 1, &mddev->sync_set);
+	bio = bio_alloc_bioset(rdev->meta_bdev ? rdev->meta_bdev : rdev->bdev,
+			       1,
+			       REQ_OP_WRITE | REQ_SYNC | REQ_PREFLUSH | REQ_FUA,
+			       GFP_NOIO, &mddev->sync_set);
 
 	atomic_inc(&rdev->nr_pending);
 
-	bio_set_dev(bio, rdev->meta_bdev ? rdev->meta_bdev : rdev->bdev);
 	bio->bi_iter.bi_sector = sector;
 	bio_add_page(bio, page, size, 0);
 	bio->bi_private = rdev;
@@ -976,8 +977,7 @@ void md_super_write(struct mddev *mddev, struct md_rdev *rdev,
 	if (test_bit(MD_FAILFAST_SUPPORTED, &mddev->flags) &&
 	    test_bit(FailFast, &rdev->flags) &&
 	    !test_bit(LastDev, &rdev->flags))
-		ff = MD_FAILFAST;
-	bio->bi_opf = REQ_OP_WRITE | REQ_SYNC | REQ_PREFLUSH | REQ_FUA | ff;
+		bio->bi_opf |= MD_FAILFAST;
 
 	atomic_inc(&mddev->pending_writes);
 	submit_bio(bio);
diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c
index e2d8acb1e9881..43276f8fdc815 100644
--- a/drivers/md/raid1.c
+++ b/drivers/md/raid1.c
@@ -1126,7 +1126,8 @@ static void alloc_behind_master_bio(struct r1bio *r1_bio,
 	int i = 0;
 	struct bio *behind_bio = NULL;
 
-	behind_bio = bio_alloc_bioset(GFP_NOIO, vcnt, &r1_bio->mddev->bio_set);
+	behind_bio = bio_alloc_bioset(NULL, vcnt, 0, GFP_NOIO,
+				      &r1_bio->mddev->bio_set);
 	if (!behind_bio)
 		return;
 
diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c
index 2b969f70a31fb..cb7c58050708e 100644
--- a/drivers/md/raid10.c
+++ b/drivers/md/raid10.c
@@ -4892,14 +4892,12 @@ static sector_t reshape_request(struct mddev *mddev, sector_t sector_nr,
 		return sectors_done;
 	}
 
-	read_bio = bio_alloc_bioset(GFP_KERNEL, RESYNC_PAGES, &mddev->bio_set);
-
-	bio_set_dev(read_bio, rdev->bdev);
+	read_bio = bio_alloc_bioset(rdev->bdev, RESYNC_PAGES, REQ_OP_READ,
+				    GFP_KERNEL, &mddev->bio_set);
 	read_bio->bi_iter.bi_sector = (r10_bio->devs[r10_bio->read_slot].addr
 			       + rdev->data_offset);
 	read_bio->bi_private = r10_bio;
 	read_bio->bi_end_io = end_reshape_read;
-	bio_set_op_attrs(read_bio, REQ_OP_READ, 0);
 	r10_bio->master_bio = read_bio;
 	r10_bio->read_slot = r10_bio->devs[r10_bio->read_slot].devnum;
 
diff --git a/drivers/md/raid5-cache.c b/drivers/md/raid5-cache.c
index 0b5dcaabbc155..66313adf99875 100644
--- a/drivers/md/raid5-cache.c
+++ b/drivers/md/raid5-cache.c
@@ -735,10 +735,9 @@ static void r5l_submit_current_io(struct r5l_log *log)
 
 static struct bio *r5l_bio_alloc(struct r5l_log *log)
 {
-	struct bio *bio = bio_alloc_bioset(GFP_NOIO, BIO_MAX_VECS, &log->bs);
+	struct bio *bio = bio_alloc_bioset(log->rdev->bdev, BIO_MAX_VECS,
+					   REQ_OP_WRITE, GFP_NOIO, &log->bs);
 
-	bio_set_op_attrs(bio, REQ_OP_WRITE, 0);
-	bio_set_dev(bio, log->rdev->bdev);
 	bio->bi_iter.bi_sector = log->rdev->data_offset + log->log_start;
 
 	return bio;
@@ -1634,7 +1633,8 @@ static int r5l_recovery_allocate_ra_pool(struct r5l_log *log,
 {
 	struct page *page;
 
-	ctx->ra_bio = bio_alloc_bioset(GFP_KERNEL, BIO_MAX_VECS, &log->bs);
+	ctx->ra_bio = bio_alloc_bioset(NULL, BIO_MAX_VECS, 0, GFP_KERNEL,
+				       &log->bs);
 	if (!ctx->ra_bio)
 		return -ENOMEM;
 
diff --git a/drivers/md/raid5-ppl.c b/drivers/md/raid5-ppl.c
index 4ab417915d7f1..054d3bb252d48 100644
--- a/drivers/md/raid5-ppl.c
+++ b/drivers/md/raid5-ppl.c
@@ -496,11 +496,10 @@ static void ppl_submit_iounit(struct ppl_io_unit *io)
 		if (!bio_add_page(bio, sh->ppl_page, PAGE_SIZE, 0)) {
 			struct bio *prev = bio;
 
-			bio = bio_alloc_bioset(GFP_NOIO, BIO_MAX_VECS,
+			bio = bio_alloc_bioset(prev->bi_bdev, BIO_MAX_VECS,
+					       prev->bi_opf, GFP_NOIO,
 					       &ppl_conf->bs);
-			bio->bi_opf = prev->bi_opf;
 			bio->bi_write_hint = prev->bi_write_hint;
-			bio_copy_dev(bio, prev);
 			bio->bi_iter.bi_sector = bio_end_sector(prev);
 			bio_add_page(bio, sh->ppl_page, PAGE_SIZE, 0);
 
@@ -637,10 +636,10 @@ static void ppl_do_flush(struct ppl_io_unit *io)
 			struct bio *bio;
 			char b[BDEVNAME_SIZE];
 
-			bio = bio_alloc_bioset(GFP_NOIO, 0, &ppl_conf->flush_bs);
-			bio_set_dev(bio, bdev);
+			bio = bio_alloc_bioset(bdev, 0, GFP_NOIO,
+					       REQ_OP_WRITE | REQ_PREFLUSH,
+					       &ppl_conf->flush_bs);
 			bio->bi_private = io;
-			bio->bi_opf = REQ_OP_WRITE | REQ_PREFLUSH;
 			bio->bi_end_io = ppl_flush_endio;
 
 			pr_debug("%s: dev: %s\n", __func__,
diff --git a/drivers/target/target_core_iblock.c b/drivers/target/target_core_iblock.c
index bf8ae4825a06e..f7c6e822f345a 100644
--- a/drivers/target/target_core_iblock.c
+++ b/drivers/target/target_core_iblock.c
@@ -353,18 +353,16 @@ static struct bio *iblock_get_bio(struct se_cmd *cmd, sector_t lba, u32 sg_num,
 	 * Only allocate as many vector entries as the bio code allows us to,
 	 * we'll loop later on until we have handled the whole request.
 	 */
-	bio = bio_alloc_bioset(GFP_NOIO, bio_max_segs(sg_num),
-				&ib_dev->ibd_bio_set);
+	bio = bio_alloc_bioset(ib_dev->ibd_bd, bio_max_segs(sg_num), opf,
+			       GFP_NOIO, &ib_dev->ibd_bio_set);
 	if (!bio) {
 		pr_err("Unable to allocate memory for bio\n");
 		return NULL;
 	}
 
-	bio_set_dev(bio, ib_dev->ibd_bd);
 	bio->bi_private = cmd;
 	bio->bi_end_io = &iblock_bio_done;
 	bio->bi_iter.bi_sector = lba;
-	bio->bi_opf = opf;
 
 	return bio;
 }
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
index 409bad3928db3..421d921a05716 100644
--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
@@ -3143,7 +3143,7 @@ struct bio *btrfs_bio_alloc(unsigned int nr_iovecs)
 	struct bio *bio;
 
 	ASSERT(0 < nr_iovecs && nr_iovecs <= BIO_MAX_VECS);
-	bio = bio_alloc_bioset(GFP_NOFS, nr_iovecs, &btrfs_bioset);
+	bio = bio_alloc_bioset(NULL, nr_iovecs, 0, GFP_NOFS, &btrfs_bioset);
 	btrfs_bio_init(btrfs_bio(bio));
 	return bio;
 }
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index 8c417864c66ae..e71dde8de0db0 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -394,7 +394,7 @@ static struct bio *__bio_alloc(struct f2fs_io_info *fio, int npages)
 	struct f2fs_sb_info *sbi = fio->sbi;
 	struct bio *bio;
 
-	bio = bio_alloc_bioset(GFP_NOIO, npages, &f2fs_bioset);
+	bio = bio_alloc_bioset(NULL, npages, 0, GFP_NOIO, &f2fs_bioset);
 
 	f2fs_target_device(sbi, fio->new_blkaddr, bio);
 	if (is_read_io(fio->op)) {
@@ -985,8 +985,8 @@ static struct bio *f2fs_grab_read_bio(struct inode *inode, block_t blkaddr,
 	struct bio_post_read_ctx *ctx = NULL;
 	unsigned int post_read_steps = 0;
 
-	bio = bio_alloc_bioset(for_write ? GFP_NOIO : GFP_KERNEL,
-			       bio_max_segs(nr_pages), &f2fs_bioset);
+	bio = bio_alloc_bioset(NULL, bio_max_segs(nr_pages), REQ_OP_READ,
+			       for_write ? GFP_NOIO : GFP_KERNEL, &f2fs_bioset);
 	if (!bio)
 		return ERR_PTR(-ENOMEM);
 
@@ -994,7 +994,6 @@ static struct bio *f2fs_grab_read_bio(struct inode *inode, block_t blkaddr,
 
 	f2fs_target_device(sbi, blkaddr, bio);
 	bio->bi_end_io = f2fs_read_end_io;
-	bio_set_op_attrs(bio, REQ_OP_READ, op_flag);
 
 	if (fscrypt_inode_uses_fs_layer_crypto(inode))
 		post_read_steps |= STEP_DECRYPT;
diff --git a/fs/iomap/buffered-io.c b/fs/iomap/buffered-io.c
index c938bbad075e1..340d373cb1bf9 100644
--- a/fs/iomap/buffered-io.c
+++ b/fs/iomap/buffered-io.c
@@ -1196,10 +1196,10 @@ iomap_alloc_ioend(struct inode *inode, struct iomap_writepage_ctx *wpc,
 	struct iomap_ioend *ioend;
 	struct bio *bio;
 
-	bio = bio_alloc_bioset(GFP_NOFS, BIO_MAX_VECS, &iomap_ioend_bioset);
-	bio_set_dev(bio, wpc->iomap.bdev);
+	bio = bio_alloc_bioset(wpc->iomap.bdev, BIO_MAX_VECS,
+			       REQ_OP_WRITE | wbc_to_write_flags(wbc),
+			       GFP_NOFS, &iomap_ioend_bioset);
 	bio->bi_iter.bi_sector = sector;
-	bio->bi_opf = REQ_OP_WRITE | wbc_to_write_flags(wbc);
 	bio->bi_write_hint = inode->i_write_hint;
 	wbc_init_bio(wbc, bio);
 
diff --git a/include/linux/bio.h b/include/linux/bio.h
index edeae54074ede..2f63ae9a71e1a 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -405,8 +405,9 @@ extern void bioset_exit(struct bio_set *);
 extern int biovec_init_pool(mempool_t *pool, int pool_entries);
 extern int bioset_init_from_src(struct bio_set *bs, struct bio_set *src);
 
-struct bio *bio_alloc_bioset(gfp_t gfp, unsigned short nr_iovecs,
-		struct bio_set *bs);
+struct bio *bio_alloc_bioset(struct block_device *bdev, unsigned short nr_vecs,
+			     unsigned int opf, gfp_t gfp_mask,
+			     struct bio_set *bs);
 struct bio *bio_alloc_kiocb(struct kiocb *kiocb, unsigned short nr_vecs,
 		struct bio_set *bs);
 struct bio *bio_kmalloc(gfp_t gfp_mask, unsigned short nr_iovecs);
@@ -419,7 +420,7 @@ extern struct bio_set fs_bio_set;
 
 static inline struct bio *bio_alloc(gfp_t gfp_mask, unsigned short nr_iovecs)
 {
-	return bio_alloc_bioset(gfp_mask, nr_iovecs, &fs_bio_set);
+	return bio_alloc_bioset(NULL, nr_iovecs, 0, gfp_mask, &fs_bio_set);
 }
 
 void submit_bio(struct bio *bio);
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 09:18:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 09:18:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259811.448487 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBvUG-0002bo-DI; Mon, 24 Jan 2022 09:18:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259811.448487; Mon, 24 Jan 2022 09:18:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBvUG-0002bh-A3; Mon, 24 Jan 2022 09:18:08 +0000
Received: by outflank-mailman (input) for mailman id 259811;
 Mon, 24 Jan 2022 09:18:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4uJJ=SI=bombadil.srs.infradead.org=BATV+b18af077b488c69bdec9+6728+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1nBvOa-0000Il-UE
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 09:12:17 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b852278d-7cf5-11ec-8fa7-f31e035a9116;
 Mon, 24 Jan 2022 10:12:15 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a337:a75f:a24e:7e39] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1nBvOK-002kTE-HI; Mon, 24 Jan 2022 09:12: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: b852278d-7cf5-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=31LV3e9tDhRvmnfwmJa/Nj4FP3O4aFk/9ZnGogCXnDU=; b=qLfHzV+84oNLmwsGpEdhtXHAo0
	IT0bNZLCWcnPKFMe72TaP1luALQaVqWPsK0+cv0sdMZOiAZFvgqVzV3p7O9mhJhmQ7H+F4tMWr8cX
	CKbG//CSlFfgBdItYxW8H3M8m8UMsxtGM9NwagBq3getxD5VYBFaxzNArsNPYPA8W1vLS+MoTJ63p
	Dab/2ffSI1r7HCQ662CqztLiz3IsjNOIeKb5oZjN0HsI7HMWOSwvqgrTxNhBDcw0pSFgK9peSUcQR
	z0ApqTA59n8UoL2WMdgehKdsCB5Eww2cFUPWwGDC2BTi+A2MLfTH6rg1QkrbmyDnDuPUyOcQ7OM3T
	QiOwkjsw==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com,
	Chaitanya Kulkarni <kch@nvidia.com>
Subject: [PATCH 18/19] block: pass a block_device and opf to bio_init
Date: Mon, 24 Jan 2022 10:11:06 +0100
Message-Id: <20220124091107.642561-19-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220124091107.642561-1-hch@lst.de>
References: <20220124091107.642561-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

Pass the block_device that we plan to use this bio for and the
operation to bio_init to optimize the assignment.  A NULL block_device
can be passed, both for the passthrough case on a raw request_queue and
to temporarily avoid refactoring some nasty code.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
---
 block/bio.c                       | 27 +++++++++++++--------------
 block/blk-flush.c                 |  4 +---
 block/blk-zoned.c                 |  5 +----
 block/fops.c                      | 18 +++++++++---------
 drivers/block/floppy.c            |  4 +---
 drivers/block/zram/zram_drv.c     |  5 ++---
 drivers/md/bcache/io.c            |  3 ++-
 drivers/md/bcache/journal.c       |  4 +---
 drivers/md/bcache/movinggc.c      |  4 ++--
 drivers/md/bcache/request.c       |  2 +-
 drivers/md/bcache/super.c         |  8 +++-----
 drivers/md/bcache/writeback.c     |  4 ++--
 drivers/md/dm.c                   |  5 ++---
 drivers/md/md-multipath.c         |  2 +-
 drivers/md/md.c                   |  8 +++-----
 drivers/md/raid5-cache.c          |  2 +-
 drivers/md/raid5-ppl.c            |  2 +-
 drivers/md/raid5.c                |  4 ++--
 drivers/nvme/target/io-cmd-bdev.c | 10 ++++------
 drivers/nvme/target/passthru.c    |  4 ++--
 drivers/nvme/target/zns.c         |  4 ++--
 fs/iomap/buffered-io.c            |  4 +---
 fs/xfs/xfs_bio_io.c               |  4 +---
 fs/xfs/xfs_log.c                  | 14 +++++++-------
 fs/zonefs/super.c                 |  4 +---
 include/linux/bio.h               |  4 ++--
 26 files changed, 68 insertions(+), 91 deletions(-)

diff --git a/block/bio.c b/block/bio.c
index b73c9babd5835..b2133d86e885e 100644
--- a/block/bio.c
+++ b/block/bio.c
@@ -249,12 +249,12 @@ static void bio_free(struct bio *bio)
  * they must remember to pair any call to bio_init() with bio_uninit()
  * when IO has completed, or when the bio is released.
  */
-void bio_init(struct bio *bio, struct bio_vec *table,
-	      unsigned short max_vecs)
+void bio_init(struct bio *bio, struct block_device *bdev, struct bio_vec *table,
+	      unsigned short max_vecs, unsigned int opf)
 {
 	bio->bi_next = NULL;
-	bio->bi_bdev = NULL;
-	bio->bi_opf = 0;
+	bio->bi_bdev = bdev;
+	bio->bi_opf = opf;
 	bio->bi_flags = 0;
 	bio->bi_ioprio = 0;
 	bio->bi_write_hint = 0;
@@ -268,6 +268,8 @@ void bio_init(struct bio *bio, struct bio_vec *table,
 #ifdef CONFIG_BLK_CGROUP
 	bio->bi_blkg = NULL;
 	bio->bi_issue.value = 0;
+	if (bdev)
+		bio_associate_blkg(bio);
 #ifdef CONFIG_BLK_CGROUP_IOCOST
 	bio->bi_iocost_cost = 0;
 #endif
@@ -504,17 +506,14 @@ struct bio *bio_alloc_bioset(struct block_device *bdev, unsigned short nr_vecs,
 		if (unlikely(!bvl))
 			goto err_free;
 
-		bio_init(bio, bvl, nr_vecs);
+		bio_init(bio, bdev, bvl, nr_vecs, opf);
 	} else if (nr_vecs) {
-		bio_init(bio, bio->bi_inline_vecs, BIO_INLINE_VECS);
+		bio_init(bio, bdev, bio->bi_inline_vecs, BIO_INLINE_VECS, opf);
 	} else {
-		bio_init(bio, NULL, 0);
+		bio_init(bio, bdev, NULL, 0, opf);
 	}
 
 	bio->bi_pool = bs;
-	if (bdev)
-		bio_set_dev(bio, bdev);
-	bio->bi_opf = opf;
 	return bio;
 
 err_free:
@@ -542,7 +541,8 @@ struct bio *bio_kmalloc(gfp_t gfp_mask, unsigned short nr_iovecs)
 	bio = kmalloc(struct_size(bio, bi_inline_vecs, nr_iovecs), gfp_mask);
 	if (unlikely(!bio))
 		return NULL;
-	bio_init(bio, nr_iovecs ? bio->bi_inline_vecs : NULL, nr_iovecs);
+	bio_init(bio, NULL, nr_iovecs ? bio->bi_inline_vecs : NULL, nr_iovecs,
+		 0);
 	bio->bi_pool = NULL;
 	return bio;
 }
@@ -1756,9 +1756,8 @@ struct bio *bio_alloc_kiocb(struct kiocb *kiocb, struct block_device *bdev,
 		cache->free_list = bio->bi_next;
 		cache->nr--;
 		put_cpu();
-		bio_init(bio, nr_vecs ? bio->bi_inline_vecs : NULL, nr_vecs);
-		bio_set_dev(bio, bdev);
-		bio->bi_opf = opf;
+		bio_init(bio, bdev, nr_vecs ? bio->bi_inline_vecs : NULL,
+			 nr_vecs, opf);
 		bio->bi_pool = bs;
 		bio_set_flag(bio, BIO_PERCPU_CACHE);
 		return bio;
diff --git a/block/blk-flush.c b/block/blk-flush.c
index e4df894189ced..c689687248706 100644
--- a/block/blk-flush.c
+++ b/block/blk-flush.c
@@ -460,9 +460,7 @@ int blkdev_issue_flush(struct block_device *bdev)
 {
 	struct bio bio;
 
-	bio_init(&bio, NULL, 0);
-	bio_set_dev(&bio, bdev);
-	bio.bi_opf = REQ_OP_WRITE | REQ_PREFLUSH;
+	bio_init(&bio, bdev, NULL, 0, REQ_OP_WRITE | REQ_PREFLUSH);
 	return submit_bio_wait(&bio);
 }
 EXPORT_SYMBOL(blkdev_issue_flush);
diff --git a/block/blk-zoned.c b/block/blk-zoned.c
index 5ab755d792c81..602bef54c8134 100644
--- a/block/blk-zoned.c
+++ b/block/blk-zoned.c
@@ -238,10 +238,7 @@ static int blkdev_zone_reset_all(struct block_device *bdev, gfp_t gfp_mask)
 {
 	struct bio bio;
 
-	bio_init(&bio, NULL, 0);
-	bio_set_dev(&bio, bdev);
-	bio.bi_opf = REQ_OP_ZONE_RESET_ALL | REQ_SYNC;
-
+	bio_init(&bio, bdev, NULL, 0, REQ_OP_ZONE_RESET_ALL | REQ_SYNC);
 	return submit_bio_wait(&bio);
 }
 
diff --git a/block/fops.c b/block/fops.c
index c683596847731..3696665e586a8 100644
--- a/block/fops.c
+++ b/block/fops.c
@@ -75,8 +75,13 @@ static ssize_t __blkdev_direct_IO_simple(struct kiocb *iocb,
 			return -ENOMEM;
 	}
 
-	bio_init(&bio, vecs, nr_pages);
-	bio_set_dev(&bio, bdev);
+	if (iov_iter_rw(iter) == READ) {
+		bio_init(&bio, bdev, vecs, nr_pages, REQ_OP_READ);
+		if (iter_is_iovec(iter))
+			should_dirty = true;
+	} else {
+		bio_init(&bio, bdev, vecs, nr_pages, dio_bio_write_op(iocb));
+	}
 	bio.bi_iter.bi_sector = pos >> SECTOR_SHIFT;
 	bio.bi_write_hint = iocb->ki_hint;
 	bio.bi_private = current;
@@ -88,14 +93,9 @@ static ssize_t __blkdev_direct_IO_simple(struct kiocb *iocb,
 		goto out;
 	ret = bio.bi_iter.bi_size;
 
-	if (iov_iter_rw(iter) == READ) {
-		bio.bi_opf = REQ_OP_READ;
-		if (iter_is_iovec(iter))
-			should_dirty = true;
-	} else {
-		bio.bi_opf = dio_bio_write_op(iocb);
+	if (iov_iter_rw(iter) == WRITE)
 		task_io_account_write(ret);
-	}
+
 	if (iocb->ki_flags & IOCB_NOWAIT)
 		bio.bi_opf |= REQ_NOWAIT;
 	if (iocb->ki_flags & IOCB_HIPRI)
diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c
index e611411a934ce..19c2d0327e157 100644
--- a/drivers/block/floppy.c
+++ b/drivers/block/floppy.c
@@ -4129,15 +4129,13 @@ static int __floppy_read_block_0(struct block_device *bdev, int drive)
 
 	cbdata.drive = drive;
 
-	bio_init(&bio, &bio_vec, 1);
-	bio_set_dev(&bio, bdev);
+	bio_init(&bio, bdev, &bio_vec, 1, REQ_OP_READ);
 	bio_add_page(&bio, page, block_size(bdev), 0);
 
 	bio.bi_iter.bi_sector = 0;
 	bio.bi_flags |= (1 << BIO_QUIET);
 	bio.bi_private = &cbdata;
 	bio.bi_end_io = floppy_rb0_cb;
-	bio_set_op_attrs(&bio, REQ_OP_READ, 0);
 
 	init_completion(&cbdata.complete);
 
diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c
index d8dc7ed1c78fc..47c966cffe690 100644
--- a/drivers/block/zram/zram_drv.c
+++ b/drivers/block/zram/zram_drv.c
@@ -744,10 +744,9 @@ static ssize_t writeback_store(struct device *dev,
 			continue;
 		}
 
-		bio_init(&bio, &bio_vec, 1);
-		bio_set_dev(&bio, zram->bdev);
+		bio_init(&bio, zram->bdev, &bio_vec, 1,
+			 REQ_OP_WRITE | REQ_SYNC);
 		bio.bi_iter.bi_sector = blk_idx * (PAGE_SIZE >> 9);
-		bio.bi_opf = REQ_OP_WRITE | REQ_SYNC;
 
 		bio_add_page(&bio, bvec.bv_page, bvec.bv_len,
 				bvec.bv_offset);
diff --git a/drivers/md/bcache/io.c b/drivers/md/bcache/io.c
index 9c6f9ec55b724..020712c5203fd 100644
--- a/drivers/md/bcache/io.c
+++ b/drivers/md/bcache/io.c
@@ -26,7 +26,8 @@ struct bio *bch_bbio_alloc(struct cache_set *c)
 	struct bbio *b = mempool_alloc(&c->bio_meta, GFP_NOIO);
 	struct bio *bio = &b->bio;
 
-	bio_init(bio, bio->bi_inline_vecs, meta_bucket_pages(&c->cache->sb));
+	bio_init(bio, NULL, bio->bi_inline_vecs,
+		 meta_bucket_pages(&c->cache->sb), 0);
 
 	return bio;
 }
diff --git a/drivers/md/bcache/journal.c b/drivers/md/bcache/journal.c
index 61bd79babf7ae..6d26c5b06e2b6 100644
--- a/drivers/md/bcache/journal.c
+++ b/drivers/md/bcache/journal.c
@@ -611,11 +611,9 @@ static void do_journal_discard(struct cache *ca)
 
 		atomic_set(&ja->discard_in_flight, DISCARD_IN_FLIGHT);
 
-		bio_init(bio, bio->bi_inline_vecs, 1);
-		bio_set_op_attrs(bio, REQ_OP_DISCARD, 0);
+		bio_init(bio, ca->bdev, bio->bi_inline_vecs, 1, REQ_OP_DISCARD);
 		bio->bi_iter.bi_sector	= bucket_to_sector(ca->set,
 						ca->sb.d[ja->discard_idx]);
-		bio_set_dev(bio, ca->bdev);
 		bio->bi_iter.bi_size	= bucket_bytes(ca);
 		bio->bi_end_io		= journal_discard_endio;
 
diff --git a/drivers/md/bcache/movinggc.c b/drivers/md/bcache/movinggc.c
index b9c3d27ec093a..99499d1f6e666 100644
--- a/drivers/md/bcache/movinggc.c
+++ b/drivers/md/bcache/movinggc.c
@@ -79,8 +79,8 @@ static void moving_init(struct moving_io *io)
 {
 	struct bio *bio = &io->bio.bio;
 
-	bio_init(bio, bio->bi_inline_vecs,
-		 DIV_ROUND_UP(KEY_SIZE(&io->w->key), PAGE_SECTORS));
+	bio_init(bio, NULL, bio->bi_inline_vecs,
+		 DIV_ROUND_UP(KEY_SIZE(&io->w->key), PAGE_SECTORS), 0);
 	bio_get(bio);
 	bio_set_prio(bio, IOPRIO_PRIO_VALUE(IOPRIO_CLASS_IDLE, 0));
 
diff --git a/drivers/md/bcache/request.c b/drivers/md/bcache/request.c
index c4b7e434de8ac..d4b98ebffd948 100644
--- a/drivers/md/bcache/request.c
+++ b/drivers/md/bcache/request.c
@@ -685,7 +685,7 @@ static void do_bio_hook(struct search *s,
 {
 	struct bio *bio = &s->bio.bio;
 
-	bio_init(bio, NULL, 0);
+	bio_init(bio, NULL, NULL, 0, 0);
 	__bio_clone_fast(bio, orig_bio);
 	/*
 	 * bi_end_io can be set separately somewhere else, e.g. the
diff --git a/drivers/md/bcache/super.c b/drivers/md/bcache/super.c
index 140f35dc0c457..85577c9f971d2 100644
--- a/drivers/md/bcache/super.c
+++ b/drivers/md/bcache/super.c
@@ -343,8 +343,7 @@ void bch_write_bdev_super(struct cached_dev *dc, struct closure *parent)
 	down(&dc->sb_write_mutex);
 	closure_init(cl, parent);
 
-	bio_init(bio, dc->sb_bv, 1);
-	bio_set_dev(bio, dc->bdev);
+	bio_init(bio, dc->bdev, dc->sb_bv, 1, 0);
 	bio->bi_end_io	= write_bdev_super_endio;
 	bio->bi_private = dc;
 
@@ -387,8 +386,7 @@ void bcache_write_super(struct cache_set *c)
 	if (ca->sb.version < version)
 		ca->sb.version = version;
 
-	bio_init(bio, ca->sb_bv, 1);
-	bio_set_dev(bio, ca->bdev);
+	bio_init(bio, ca->bdev, ca->sb_bv, 1, 0);
 	bio->bi_end_io	= write_super_endio;
 	bio->bi_private = ca;
 
@@ -2240,7 +2238,7 @@ static int cache_alloc(struct cache *ca)
 	__module_get(THIS_MODULE);
 	kobject_init(&ca->kobj, &bch_cache_ktype);
 
-	bio_init(&ca->journal.bio, ca->journal.bio.bi_inline_vecs, 8);
+	bio_init(&ca->journal.bio, NULL, ca->journal.bio.bi_inline_vecs, 8, 0);
 
 	/*
 	 * when ca->sb.njournal_buckets is not zero, journal exists,
diff --git a/drivers/md/bcache/writeback.c b/drivers/md/bcache/writeback.c
index c7560f66dca88..d42301e6309d4 100644
--- a/drivers/md/bcache/writeback.c
+++ b/drivers/md/bcache/writeback.c
@@ -292,8 +292,8 @@ static void dirty_init(struct keybuf_key *w)
 	struct dirty_io *io = w->private;
 	struct bio *bio = &io->bio;
 
-	bio_init(bio, bio->bi_inline_vecs,
-		 DIV_ROUND_UP(KEY_SIZE(&w->key), PAGE_SECTORS));
+	bio_init(bio, NULL, bio->bi_inline_vecs,
+		 DIV_ROUND_UP(KEY_SIZE(&w->key), PAGE_SECTORS), 0);
 	if (!io->dc->writeback_percent)
 		bio_set_prio(bio, IOPRIO_PRIO_VALUE(IOPRIO_CLASS_IDLE, 0));
 
diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index 84f3dd58d1a16..09d9b674bd851 100644
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -1303,9 +1303,8 @@ static int __send_empty_flush(struct clone_info *ci)
 	 * need to reference it after submit. It's just used as
 	 * the basis for the clone(s).
 	 */
-	bio_init(&flush_bio, NULL, 0);
-	flush_bio.bi_opf = REQ_OP_WRITE | REQ_PREFLUSH | REQ_SYNC;
-	bio_set_dev(&flush_bio, ci->io->md->disk->part0);
+	bio_init(&flush_bio, ci->io->md->disk->part0, NULL, 0,
+		 REQ_OP_WRITE | REQ_PREFLUSH | REQ_SYNC);
 
 	ci->bio = &flush_bio;
 	ci->sector_count = 0;
diff --git a/drivers/md/md-multipath.c b/drivers/md/md-multipath.c
index e7d6486f090ff..5e15940634d85 100644
--- a/drivers/md/md-multipath.c
+++ b/drivers/md/md-multipath.c
@@ -121,7 +121,7 @@ static bool multipath_make_request(struct mddev *mddev, struct bio * bio)
 	}
 	multipath = conf->multipaths + mp_bh->path;
 
-	bio_init(&mp_bh->bio, NULL, 0);
+	bio_init(&mp_bh->bio, NULL, NULL, 0, 0);
 	__bio_clone_fast(&mp_bh->bio, bio);
 
 	mp_bh->bio.bi_iter.bi_sector += multipath->rdev->data_offset;
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 40fc1f7e65c5d..0a89f072dae0d 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -998,13 +998,11 @@ int sync_page_io(struct md_rdev *rdev, sector_t sector, int size,
 	struct bio bio;
 	struct bio_vec bvec;
 
-	bio_init(&bio, &bvec, 1);
-
 	if (metadata_op && rdev->meta_bdev)
-		bio_set_dev(&bio, rdev->meta_bdev);
+		bio_init(&bio, rdev->meta_bdev, &bvec, 1, op | op_flags);
 	else
-		bio_set_dev(&bio, rdev->bdev);
-	bio.bi_opf = op | op_flags;
+		bio_init(&bio, rdev->bdev, &bvec, 1, op | op_flags);
+
 	if (metadata_op)
 		bio.bi_iter.bi_sector = sector + rdev->sb_start;
 	else if (rdev->mddev->reshape_position != MaxSector &&
diff --git a/drivers/md/raid5-cache.c b/drivers/md/raid5-cache.c
index 66313adf99875..98b9ca11c28d8 100644
--- a/drivers/md/raid5-cache.c
+++ b/drivers/md/raid5-cache.c
@@ -3108,7 +3108,7 @@ int r5l_init_log(struct r5conf *conf, struct md_rdev *rdev)
 	INIT_LIST_HEAD(&log->io_end_ios);
 	INIT_LIST_HEAD(&log->flushing_ios);
 	INIT_LIST_HEAD(&log->finished_ios);
-	bio_init(&log->flush_bio, NULL, 0);
+	bio_init(&log->flush_bio, NULL, NULL, 0, 0);
 
 	log->io_kc = KMEM_CACHE(r5l_io_unit, 0);
 	if (!log->io_kc)
diff --git a/drivers/md/raid5-ppl.c b/drivers/md/raid5-ppl.c
index 054d3bb252d48..3446797fa0aca 100644
--- a/drivers/md/raid5-ppl.c
+++ b/drivers/md/raid5-ppl.c
@@ -250,7 +250,7 @@ static struct ppl_io_unit *ppl_new_iounit(struct ppl_log *log,
 	INIT_LIST_HEAD(&io->stripe_list);
 	atomic_set(&io->pending_stripes, 0);
 	atomic_set(&io->pending_flushes, 0);
-	bio_init(&io->bio, io->biovec, PPL_IO_INLINE_BVECS);
+	bio_init(&io->bio, NULL, io->biovec, PPL_IO_INLINE_BVECS, 0);
 
 	pplhdr = page_address(io->header_page);
 	clear_page(pplhdr);
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
index ffe720c73b0a5..a9dcc5bc9c329 100644
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
@@ -2310,8 +2310,8 @@ static struct stripe_head *alloc_stripe(struct kmem_cache *sc, gfp_t gfp,
 		for (i = 0; i < disks; i++) {
 			struct r5dev *dev = &sh->dev[i];
 
-			bio_init(&dev->req, &dev->vec, 1);
-			bio_init(&dev->rreq, &dev->rvec, 1);
+			bio_init(&dev->req, NULL, &dev->vec, 1, 0);
+			bio_init(&dev->rreq, NULL, &dev->rvec, 1, 0);
 		}
 
 		if (raid5_has_ppl(conf)) {
diff --git a/drivers/nvme/target/io-cmd-bdev.c b/drivers/nvme/target/io-cmd-bdev.c
index e092af3abc710..95c2bbb0b2f5f 100644
--- a/drivers/nvme/target/io-cmd-bdev.c
+++ b/drivers/nvme/target/io-cmd-bdev.c
@@ -267,9 +267,8 @@ static void nvmet_bdev_execute_rw(struct nvmet_req *req)
 
 	if (nvmet_use_inline_bvec(req)) {
 		bio = &req->b.inline_bio;
-		bio_init(bio, req->inline_bvec, ARRAY_SIZE(req->inline_bvec));
-		bio_set_dev(bio, req->ns->bdev);
-		bio->bi_opf = op;
+		bio_init(bio, req->ns->bdev, req->inline_bvec,
+			 ARRAY_SIZE(req->inline_bvec), op);
 	} else {
 		bio = bio_alloc(req->ns->bdev, bio_max_segs(sg_cnt), op,
 				GFP_KERNEL);
@@ -328,11 +327,10 @@ static void nvmet_bdev_execute_flush(struct nvmet_req *req)
 	if (!nvmet_check_transfer_len(req, 0))
 		return;
 
-	bio_init(bio, req->inline_bvec, ARRAY_SIZE(req->inline_bvec));
-	bio_set_dev(bio, req->ns->bdev);
+	bio_init(bio, req->ns->bdev, req->inline_bvec,
+		 ARRAY_SIZE(req->inline_bvec), REQ_OP_WRITE | REQ_PREFLUSH);
 	bio->bi_private = req;
 	bio->bi_end_io = nvmet_bio_done;
-	bio->bi_opf = REQ_OP_WRITE | REQ_PREFLUSH;
 
 	submit_bio(bio);
 }
diff --git a/drivers/nvme/target/passthru.c b/drivers/nvme/target/passthru.c
index 38f72968c3fde..a810bf569fff8 100644
--- a/drivers/nvme/target/passthru.c
+++ b/drivers/nvme/target/passthru.c
@@ -206,8 +206,8 @@ static int nvmet_passthru_map_sg(struct nvmet_req *req, struct request *rq)
 
 	if (nvmet_use_inline_bvec(req)) {
 		bio = &req->p.inline_bio;
-		bio_init(bio, req->inline_bvec, ARRAY_SIZE(req->inline_bvec));
-		bio->bi_opf = req_op(rq);
+		bio_init(bio, NULL, req->inline_bvec,
+			 ARRAY_SIZE(req->inline_bvec), req_op(rq));
 	} else {
 		bio = bio_alloc(NULL, bio_max_segs(req->sg_cnt), req_op(rq),
 				GFP_KERNEL);
diff --git a/drivers/nvme/target/zns.c b/drivers/nvme/target/zns.c
index 62c53e8f26d35..3e421217a7ade 100644
--- a/drivers/nvme/target/zns.c
+++ b/drivers/nvme/target/zns.c
@@ -552,8 +552,8 @@ void nvmet_bdev_execute_zone_append(struct nvmet_req *req)
 
 	if (nvmet_use_inline_bvec(req)) {
 		bio = &req->z.inline_bio;
-		bio_init(bio, req->inline_bvec, ARRAY_SIZE(req->inline_bvec));
-		bio->bi_opf = op;
+		bio_init(bio, req->ns->bdev, req->inline_bvec,
+			 ARRAY_SIZE(req->inline_bvec), op);
 	} else {
 		bio = bio_alloc(req->ns->bdev, req->sg_cnt, op, GFP_KERNEL);
 	}
diff --git a/fs/iomap/buffered-io.c b/fs/iomap/buffered-io.c
index 70f3657a6ec06..491534e908615 100644
--- a/fs/iomap/buffered-io.c
+++ b/fs/iomap/buffered-io.c
@@ -549,10 +549,8 @@ static int iomap_read_folio_sync(loff_t block_start, struct folio *folio,
 	struct bio_vec bvec;
 	struct bio bio;
 
-	bio_init(&bio, &bvec, 1);
-	bio.bi_opf = REQ_OP_READ;
+	bio_init(&bio, iomap->bdev, &bvec, 1, REQ_OP_READ);
 	bio.bi_iter.bi_sector = iomap_sector(iomap, block_start);
-	bio_set_dev(&bio, iomap->bdev);
 	bio_add_folio(&bio, folio, plen, poff);
 	return submit_bio_wait(&bio);
 }
diff --git a/fs/xfs/xfs_bio_io.c b/fs/xfs/xfs_bio_io.c
index eff4a9f21dcff..32fa02945f739 100644
--- a/fs/xfs/xfs_bio_io.c
+++ b/fs/xfs/xfs_bio_io.c
@@ -36,9 +36,7 @@ xfs_flush_bdev_async(
 		return;
 	}
 
-	bio_init(bio, NULL, 0);
-	bio_set_dev(bio, bdev);
-	bio->bi_opf = REQ_OP_WRITE | REQ_PREFLUSH | REQ_SYNC;
+	bio_init(bio, bdev, NULL, 0, REQ_OP_WRITE | REQ_PREFLUSH | REQ_SYNC);
 	bio->bi_private = done;
 	bio->bi_end_io = xfs_flush_bdev_async_endio;
 
diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c
index 89fec9a18c349..16f9edbda4eb3 100644
--- a/fs/xfs/xfs_log.c
+++ b/fs/xfs/xfs_log.c
@@ -1883,19 +1883,19 @@ xlog_write_iclog(
 		return;
 	}
 
-	bio_init(&iclog->ic_bio, iclog->ic_bvec, howmany(count, PAGE_SIZE));
-	bio_set_dev(&iclog->ic_bio, log->l_targ->bt_bdev);
-	iclog->ic_bio.bi_iter.bi_sector = log->l_logBBstart + bno;
-	iclog->ic_bio.bi_end_io = xlog_bio_end_io;
-	iclog->ic_bio.bi_private = iclog;
-
 	/*
 	 * We use REQ_SYNC | REQ_IDLE here to tell the block layer the are more
 	 * IOs coming immediately after this one. This prevents the block layer
 	 * writeback throttle from throttling log writes behind background
 	 * metadata writeback and causing priority inversions.
 	 */
-	iclog->ic_bio.bi_opf = REQ_OP_WRITE | REQ_META | REQ_SYNC | REQ_IDLE;
+	bio_init(&iclog->ic_bio, log->l_targ->bt_bdev, iclog->ic_bvec,
+		 howmany(count, PAGE_SIZE),
+		 REQ_OP_WRITE | REQ_META | REQ_SYNC | REQ_IDLE);
+	iclog->ic_bio.bi_iter.bi_sector = log->l_logBBstart + bno;
+	iclog->ic_bio.bi_end_io = xlog_bio_end_io;
+	iclog->ic_bio.bi_private = iclog;
+
 	if (iclog->ic_flags & XLOG_ICL_NEED_FLUSH) {
 		iclog->ic_bio.bi_opf |= REQ_PREFLUSH;
 		/*
diff --git a/fs/zonefs/super.c b/fs/zonefs/super.c
index c0fc2c326dcee..d331b52592a0a 100644
--- a/fs/zonefs/super.c
+++ b/fs/zonefs/super.c
@@ -1540,10 +1540,8 @@ static int zonefs_read_super(struct super_block *sb)
 	if (!page)
 		return -ENOMEM;
 
-	bio_init(&bio, &bio_vec, 1);
+	bio_init(&bio, sb->s_bdev, &bio_vec, 1, REQ_OP_READ);
 	bio.bi_iter.bi_sector = 0;
-	bio.bi_opf = REQ_OP_READ;
-	bio_set_dev(&bio, sb->s_bdev);
 	bio_add_page(&bio, page, PAGE_SIZE, 0);
 
 	ret = submit_bio_wait(&bio);
diff --git a/include/linux/bio.h b/include/linux/bio.h
index be6ac92913d48..41bedf727f59c 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -456,8 +456,8 @@ static inline int bio_iov_vecs_to_alloc(struct iov_iter *iter, int max_segs)
 struct request_queue;
 
 extern int submit_bio_wait(struct bio *bio);
-extern void bio_init(struct bio *bio, struct bio_vec *table,
-		     unsigned short max_vecs);
+void bio_init(struct bio *bio, struct block_device *bdev, struct bio_vec *table,
+	      unsigned short max_vecs, unsigned int opf);
 extern void bio_uninit(struct bio *);
 extern void bio_reset(struct bio *);
 void bio_chain(struct bio *, struct bio *);
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 09:18:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 09:18:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259813.448499 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBvUs-0003HN-Np; Mon, 24 Jan 2022 09:18:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259813.448499; Mon, 24 Jan 2022 09:18: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 1nBvUs-0003HG-KH; Mon, 24 Jan 2022 09:18:46 +0000
Received: by outflank-mailman (input) for mailman id 259813;
 Mon, 24 Jan 2022 09:18:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4uJJ=SI=bombadil.srs.infradead.org=BATV+b18af077b488c69bdec9+6728+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1nBvOW-0000Il-Me
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 09:12:13 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b522902b-7cf5-11ec-8fa7-f31e035a9116;
 Mon, 24 Jan 2022 10:12:09 +0100 (CET)
Received: from [2001:4bb8:184:72a4:a337:a75f:a24e:7e39] (helo=localhost)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1nBvOH-002kQb-FJ; Mon, 24 Jan 2022 09:11:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b522902b-7cf5-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender
	:Reply-To:Content-Type:Content-ID:Content-Description;
	bh=BmV5CbVMY9wC3Q9O/3LQYNsKoprXNRe3Y8gY3+NERB8=; b=NcAXYUqdDteZw1ymBzzMAW7SGh
	MidkuxPaLOjsyk7QcAAkKFwvoG/4Oc7Cs7UzoX6URhwT5KBq0AL+59Bct0bUinXT2XbmBaic5D13i
	MYeDRCdo0c3BaUbYXZVlhCiT/wkSCQs/ATBtpR6Itms6KvW/OPyENWC9GaGrkk1vxIh5wK62bvZIk
	uKiU/h7FtscjlstldSBmQ8nN6jkp9q8gRwQTJ5Hzoh6oHEluu3hXP2/p2pyaFo3TqSeAgq50OFdcW
	Bwcs4Bebb1YkQDzAk05DY+ETNHiZFtsoMw7oNbw7LagE3yUc8ItUI+6FHLp97ggM8A29dUDWeeKCe
	dk7ak7wQ==;
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org,
	dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org,
	ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	drbd-dev@lists.linbit.com,
	Chaitanya Kulkarni <kch@nvidia.com>
Subject: [PATCH 17/19] block: pass a block_device and opf to bio_alloc
Date: Mon, 24 Jan 2022 10:11:05 +0100
Message-Id: <20220124091107.642561-18-hch@lst.de>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20220124091107.642561-1-hch@lst.de>
References: <20220124091107.642561-1-hch@lst.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

Pass the block_device and operation that we plan to use this bio for to
bio_alloc to optimize the assignment.  NULL/0 can be passed, both for the
passthrough case on a raw request_queue and to temporarily avoid
refactoring some nasty code.

Also move the gfp_mask argument after the nr_vecs argument for a much
more logical calling convention matching what most of the kernel does.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
---
 block/bio.c                         |  5 +----
 block/fops.c                        |  4 +---
 drivers/block/drbd/drbd_receiver.c  | 10 ++++------
 drivers/block/rnbd/rnbd-srv.c       |  5 ++---
 drivers/block/xen-blkback/blkback.c | 11 +++++------
 drivers/block/zram/zram_drv.c       | 11 ++++-------
 drivers/md/dm-log-writes.c          | 21 ++++++++-------------
 drivers/md/dm-thin.c                |  9 ++++-----
 drivers/md/dm-zoned-metadata.c      | 15 ++++++---------
 drivers/nvdimm/nd_virtio.c          |  6 +++---
 drivers/nvme/target/io-cmd-bdev.c   | 12 ++++++------
 drivers/nvme/target/passthru.c      |  5 +++--
 drivers/nvme/target/zns.c           |  6 +++---
 drivers/scsi/ufs/ufshpb.c           |  4 ++--
 drivers/target/target_core_iblock.c |  5 ++---
 fs/btrfs/disk-io.c                  |  6 +++---
 fs/buffer.c                         | 14 ++++++--------
 fs/crypto/bio.c                     | 13 +++++++------
 fs/direct-io.c                      |  5 +----
 fs/erofs/zdata.c                    |  5 ++---
 fs/ext4/page-io.c                   |  3 +--
 fs/ext4/readpage.c                  |  8 ++++----
 fs/gfs2/lops.c                      |  8 +++-----
 fs/gfs2/meta_io.c                   |  4 +---
 fs/gfs2/ops_fstype.c                |  4 +---
 fs/hfsplus/wrapper.c                |  4 +---
 fs/iomap/buffered-io.c              | 16 ++++++++--------
 fs/iomap/direct-io.c                |  8 ++------
 fs/jfs/jfs_logmgr.c                 | 11 ++---------
 fs/jfs/jfs_metapage.c               |  9 +++------
 fs/mpage.c                          |  7 +++----
 fs/nfs/blocklayout/blocklayout.c    |  4 +---
 fs/nilfs2/segbuf.c                  |  4 ++--
 fs/ntfs3/fsntfs.c                   |  8 ++------
 fs/ocfs2/cluster/heartbeat.c        |  4 +---
 fs/squashfs/block.c                 | 11 ++++++-----
 fs/xfs/xfs_bio_io.c                 | 10 ++++------
 fs/xfs/xfs_buf.c                    |  4 +---
 fs/zonefs/super.c                   |  5 ++---
 include/linux/bio.h                 |  5 +++--
 kernel/power/swap.c                 |  5 ++---
 mm/page_io.c                        | 10 ++++------
 42 files changed, 130 insertions(+), 194 deletions(-)

diff --git a/block/bio.c b/block/bio.c
index 6c3efb0fd12b1..b73c9babd5835 100644
--- a/block/bio.c
+++ b/block/bio.c
@@ -347,10 +347,7 @@ EXPORT_SYMBOL(bio_chain);
 struct bio *blk_next_bio(struct bio *bio, struct block_device *bdev,
 		unsigned int nr_pages, unsigned int opf, gfp_t gfp)
 {
-	struct bio *new = bio_alloc(gfp, nr_pages);
-
-	bio_set_dev(new, bdev);
-	new->bi_opf = opf;
+	struct bio *new = bio_alloc(bdev, nr_pages, opf, gfp);
 
 	if (bio) {
 		bio_chain(bio, new);
diff --git a/block/fops.c b/block/fops.c
index 3a62b8b912750..c683596847731 100644
--- a/block/fops.c
+++ b/block/fops.c
@@ -256,9 +256,7 @@ static ssize_t __blkdev_direct_IO(struct kiocb *iocb, struct iov_iter *iter,
 		}
 		atomic_inc(&dio->ref);
 		submit_bio(bio);
-		bio = bio_alloc(GFP_KERNEL, nr_pages);
-		bio_set_dev(bio, bdev);
-		bio->bi_opf = opf;
+		bio = bio_alloc(bdev, nr_pages, opf, GFP_KERNEL);
 	}
 
 	blk_finish_plug(&plug);
diff --git a/drivers/block/drbd/drbd_receiver.c b/drivers/block/drbd/drbd_receiver.c
index fb59b263deeef..04e3ec12d8b49 100644
--- a/drivers/block/drbd/drbd_receiver.c
+++ b/drivers/block/drbd/drbd_receiver.c
@@ -1279,7 +1279,8 @@ static void one_flush_endio(struct bio *bio)
 
 static void submit_one_flush(struct drbd_device *device, struct issue_flush_context *ctx)
 {
-	struct bio *bio = bio_alloc(GFP_NOIO, 0);
+	struct bio *bio = bio_alloc(device->ldev->backing_bdev, 0,
+				    REQ_OP_FLUSH | REQ_PREFLUSH, GFP_NOIO);
 	struct one_flush_context *octx = kmalloc(sizeof(*octx), GFP_NOIO);
 
 	if (!octx) {
@@ -1297,10 +1298,8 @@ static void submit_one_flush(struct drbd_device *device, struct issue_flush_cont
 
 	octx->device = device;
 	octx->ctx = ctx;
-	bio_set_dev(bio, device->ldev->backing_bdev);
 	bio->bi_private = octx;
 	bio->bi_end_io = one_flush_endio;
-	bio->bi_opf = REQ_OP_FLUSH | REQ_PREFLUSH;
 
 	device->flush_jif = jiffies;
 	set_bit(FLUSH_PENDING, &device->flags);
@@ -1685,11 +1684,10 @@ int drbd_submit_peer_request(struct drbd_device *device,
 	 * generated bio, but a bio allocated on behalf of the peer.
 	 */
 next_bio:
-	bio = bio_alloc(GFP_NOIO, nr_pages);
+	bio = bio_alloc(device->ldev->backing_bdev, nr_pages, op | op_flags,
+			GFP_NOIO);
 	/* > peer_req->i.sector, unless this is the first bio */
 	bio->bi_iter.bi_sector = sector;
-	bio_set_dev(bio, device->ldev->backing_bdev);
-	bio_set_op_attrs(bio, op, op_flags);
 	bio->bi_private = peer_req;
 	bio->bi_end_io = drbd_peer_request_endio;
 
diff --git a/drivers/block/rnbd/rnbd-srv.c b/drivers/block/rnbd/rnbd-srv.c
index ff9b389976078..132e950685d59 100644
--- a/drivers/block/rnbd/rnbd-srv.c
+++ b/drivers/block/rnbd/rnbd-srv.c
@@ -149,7 +149,8 @@ static int process_rdma(struct rnbd_srv_session *srv_sess,
 	priv->sess_dev = sess_dev;
 	priv->id = id;
 
-	bio = bio_alloc(GFP_KERNEL, 1);
+	bio = bio_alloc(sess_dev->rnbd_dev->bdev, 1,
+			rnbd_to_bio_flags(le32_to_cpu(msg->rw)), GFP_KERNEL);
 	if (bio_add_page(bio, virt_to_page(data), datalen,
 			offset_in_page(data)) != datalen) {
 		rnbd_srv_err(sess_dev, "Failed to map data to bio\n");
@@ -159,13 +160,11 @@ static int process_rdma(struct rnbd_srv_session *srv_sess,
 
 	bio->bi_end_io = rnbd_dev_bi_end_io;
 	bio->bi_private = priv;
-	bio->bi_opf = rnbd_to_bio_flags(le32_to_cpu(msg->rw));
 	bio->bi_iter.bi_sector = le64_to_cpu(msg->sector);
 	bio->bi_iter.bi_size = le32_to_cpu(msg->bi_size);
 	prio = srv_sess->ver < RNBD_PROTO_VER_MAJOR ||
 	       usrlen < sizeof(*msg) ? 0 : le16_to_cpu(msg->prio);
 	bio_set_prio(bio, prio);
-	bio_set_dev(bio, sess_dev->rnbd_dev->bdev);
 
 	submit_bio(bio);
 
diff --git a/drivers/block/xen-blkback/blkback.c b/drivers/block/xen-blkback/blkback.c
index 6bb2ad7692065..d1e26461a64ed 100644
--- a/drivers/block/xen-blkback/blkback.c
+++ b/drivers/block/xen-blkback/blkback.c
@@ -1326,13 +1326,13 @@ static int dispatch_rw_block_io(struct xen_blkif_ring *ring,
 				     pages[i]->page,
 				     seg[i].nsec << 9,
 				     seg[i].offset) == 0)) {
-			bio = bio_alloc(GFP_KERNEL, bio_max_segs(nseg - i));
+			bio = bio_alloc(preq.bdev, bio_max_segs(nseg - i),
+					operation | operation_flags,
+					GFP_KERNEL);
 			biolist[nbio++] = bio;
-			bio_set_dev(bio, preq.bdev);
 			bio->bi_private = pending_req;
 			bio->bi_end_io  = end_block_io_op;
 			bio->bi_iter.bi_sector  = preq.sector_number;
-			bio_set_op_attrs(bio, operation, operation_flags);
 		}
 
 		preq.sector_number += seg[i].nsec;
@@ -1342,12 +1342,11 @@ static int dispatch_rw_block_io(struct xen_blkif_ring *ring,
 	if (!bio) {
 		BUG_ON(operation_flags != REQ_PREFLUSH);
 
-		bio = bio_alloc(GFP_KERNEL, 0);
+		bio = bio_alloc(preq.bdev, 0, operation | operation_flags,
+				GFP_KERNEL);
 		biolist[nbio++] = bio;
-		bio_set_dev(bio, preq.bdev);
 		bio->bi_private = pending_req;
 		bio->bi_end_io  = end_block_io_op;
-		bio_set_op_attrs(bio, operation, operation_flags);
 	}
 
 	atomic_set(&pending_req->pendcnt, nbio);
diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c
index cb253d80d72b9..d8dc7ed1c78fc 100644
--- a/drivers/block/zram/zram_drv.c
+++ b/drivers/block/zram/zram_drv.c
@@ -617,24 +617,21 @@ static int read_from_bdev_async(struct zram *zram, struct bio_vec *bvec,
 {
 	struct bio *bio;
 
-	bio = bio_alloc(GFP_NOIO, 1);
+	bio = bio_alloc(zram->bdev, 1, parent ? parent->bi_opf : REQ_OP_READ,
+			GFP_NOIO);
 	if (!bio)
 		return -ENOMEM;
 
 	bio->bi_iter.bi_sector = entry * (PAGE_SIZE >> 9);
-	bio_set_dev(bio, zram->bdev);
 	if (!bio_add_page(bio, bvec->bv_page, bvec->bv_len, bvec->bv_offset)) {
 		bio_put(bio);
 		return -EIO;
 	}
 
-	if (!parent) {
-		bio->bi_opf = REQ_OP_READ;
+	if (!parent)
 		bio->bi_end_io = zram_page_end_io;
-	} else {
-		bio->bi_opf = parent->bi_opf;
+	else
 		bio_chain(bio, parent);
-	}
 
 	submit_bio(bio);
 	return 1;
diff --git a/drivers/md/dm-log-writes.c b/drivers/md/dm-log-writes.c
index 25f5e8d2d417b..c9d036d6bb2ee 100644
--- a/drivers/md/dm-log-writes.c
+++ b/drivers/md/dm-log-writes.c
@@ -217,14 +217,12 @@ static int write_metadata(struct log_writes_c *lc, void *entry,
 	void *ptr;
 	size_t ret;
 
-	bio = bio_alloc(GFP_KERNEL, 1);
+	bio = bio_alloc(lc->logdev->bdev, 1, REQ_OP_WRITE, GFP_KERNEL);
 	bio->bi_iter.bi_size = 0;
 	bio->bi_iter.bi_sector = sector;
-	bio_set_dev(bio, lc->logdev->bdev);
 	bio->bi_end_io = (sector == WRITE_LOG_SUPER_SECTOR) ?
 			  log_end_super : log_end_io;
 	bio->bi_private = lc;
-	bio_set_op_attrs(bio, REQ_OP_WRITE, 0);
 
 	page = alloc_page(GFP_KERNEL);
 	if (!page) {
@@ -271,13 +269,12 @@ static int write_inline_data(struct log_writes_c *lc, void *entry,
 
 		atomic_inc(&lc->io_blocks);
 
-		bio = bio_alloc(GFP_KERNEL, bio_pages);
+		bio = bio_alloc(lc->logdev->bdev, bio_pages, REQ_OP_WRITE,
+				GFP_KERNEL);
 		bio->bi_iter.bi_size = 0;
 		bio->bi_iter.bi_sector = sector;
-		bio_set_dev(bio, lc->logdev->bdev);
 		bio->bi_end_io = log_end_io;
 		bio->bi_private = lc;
-		bio_set_op_attrs(bio, REQ_OP_WRITE, 0);
 
 		for (i = 0; i < bio_pages; i++) {
 			pg_datalen = min_t(int, datalen, PAGE_SIZE);
@@ -353,13 +350,12 @@ static int log_one_block(struct log_writes_c *lc,
 		goto out;
 
 	atomic_inc(&lc->io_blocks);
-	bio = bio_alloc(GFP_KERNEL, bio_max_segs(block->vec_cnt));
+	bio = bio_alloc(lc->logdev->bdev, bio_max_segs(block->vec_cnt),
+			REQ_OP_WRITE, GFP_KERNEL);
 	bio->bi_iter.bi_size = 0;
 	bio->bi_iter.bi_sector = sector;
-	bio_set_dev(bio, lc->logdev->bdev);
 	bio->bi_end_io = log_end_io;
 	bio->bi_private = lc;
-	bio_set_op_attrs(bio, REQ_OP_WRITE, 0);
 
 	for (i = 0; i < block->vec_cnt; i++) {
 		/*
@@ -371,14 +367,13 @@ static int log_one_block(struct log_writes_c *lc,
 		if (ret != block->vecs[i].bv_len) {
 			atomic_inc(&lc->io_blocks);
 			submit_bio(bio);
-			bio = bio_alloc(GFP_KERNEL,
-					bio_max_segs(block->vec_cnt - i));
+			bio = bio_alloc(lc->logdev->bdev,
+					bio_max_segs(block->vec_cnt - i),
+					REQ_OP_WRITE, GFP_KERNEL);
 			bio->bi_iter.bi_size = 0;
 			bio->bi_iter.bi_sector = sector;
-			bio_set_dev(bio, lc->logdev->bdev);
 			bio->bi_end_io = log_end_io;
 			bio->bi_private = lc;
-			bio_set_op_attrs(bio, REQ_OP_WRITE, 0);
 
 			ret = bio_add_page(bio, block->vecs[i].bv_page,
 					   block->vecs[i].bv_len, 0);
diff --git a/drivers/md/dm-thin.c b/drivers/md/dm-thin.c
index 411a3f56ed90c..f4234d615aa1b 100644
--- a/drivers/md/dm-thin.c
+++ b/drivers/md/dm-thin.c
@@ -1177,13 +1177,12 @@ static void process_prepared_discard_passdown_pt1(struct dm_thin_new_mapping *m)
 		return;
 	}
 
-	discard_parent = bio_alloc(GFP_NOIO, 1);
+	discard_parent = bio_alloc(NULL, 1, 0, GFP_NOIO);
 	discard_parent->bi_end_io = passdown_endio;
 	discard_parent->bi_private = m;
-
-	if (m->maybe_shared)
-		passdown_double_checking_shared_status(m, discard_parent);
-	else {
+ 	if (m->maybe_shared)
+ 		passdown_double_checking_shared_status(m, discard_parent);
+ 	else {
 		struct discard_op op;
 
 		begin_discard(&op, tc, discard_parent);
diff --git a/drivers/md/dm-zoned-metadata.c b/drivers/md/dm-zoned-metadata.c
index 5718b83cc7182..e5f1eb27ce2e9 100644
--- a/drivers/md/dm-zoned-metadata.c
+++ b/drivers/md/dm-zoned-metadata.c
@@ -550,7 +550,8 @@ static struct dmz_mblock *dmz_get_mblock_slow(struct dmz_metadata *zmd,
 	if (!mblk)
 		return ERR_PTR(-ENOMEM);
 
-	bio = bio_alloc(GFP_NOIO, 1);
+	bio = bio_alloc(dev->bdev, 1, REQ_OP_READ | REQ_META | REQ_PRIO,
+			GFP_NOIO);
 
 	spin_lock(&zmd->mblk_lock);
 
@@ -574,10 +575,8 @@ static struct dmz_mblock *dmz_get_mblock_slow(struct dmz_metadata *zmd,
 
 	/* Submit read BIO */
 	bio->bi_iter.bi_sector = dmz_blk2sect(block);
-	bio_set_dev(bio, dev->bdev);
 	bio->bi_private = mblk;
 	bio->bi_end_io = dmz_mblock_bio_end_io;
-	bio_set_op_attrs(bio, REQ_OP_READ, REQ_META | REQ_PRIO);
 	bio_add_page(bio, mblk->page, DMZ_BLOCK_SIZE, 0);
 	submit_bio(bio);
 
@@ -721,15 +720,14 @@ static int dmz_write_mblock(struct dmz_metadata *zmd, struct dmz_mblock *mblk,
 	if (dmz_bdev_is_dying(dev))
 		return -EIO;
 
-	bio = bio_alloc(GFP_NOIO, 1);
+	bio = bio_alloc(dev->bdev, 1, REQ_OP_WRITE | REQ_META | REQ_PRIO,
+			GFP_NOIO);
 
 	set_bit(DMZ_META_WRITING, &mblk->state);
 
 	bio->bi_iter.bi_sector = dmz_blk2sect(block);
-	bio_set_dev(bio, dev->bdev);
 	bio->bi_private = mblk;
 	bio->bi_end_io = dmz_mblock_bio_end_io;
-	bio_set_op_attrs(bio, REQ_OP_WRITE, REQ_META | REQ_PRIO);
 	bio_add_page(bio, mblk->page, DMZ_BLOCK_SIZE, 0);
 	submit_bio(bio);
 
@@ -751,10 +749,9 @@ static int dmz_rdwr_block(struct dmz_dev *dev, int op,
 	if (dmz_bdev_is_dying(dev))
 		return -EIO;
 
-	bio = bio_alloc(GFP_NOIO, 1);
+	bio = bio_alloc(dev->bdev, 1, op | REQ_SYNC | REQ_META | REQ_PRIO,
+			GFP_NOIO);
 	bio->bi_iter.bi_sector = dmz_blk2sect(block);
-	bio_set_dev(bio, dev->bdev);
-	bio_set_op_attrs(bio, op, REQ_SYNC | REQ_META | REQ_PRIO);
 	bio_add_page(bio, page, DMZ_BLOCK_SIZE, 0);
 	ret = submit_bio_wait(bio);
 	bio_put(bio);
diff --git a/drivers/nvdimm/nd_virtio.c b/drivers/nvdimm/nd_virtio.c
index 10351d5b49fac..c6a648fd8744a 100644
--- a/drivers/nvdimm/nd_virtio.c
+++ b/drivers/nvdimm/nd_virtio.c
@@ -105,12 +105,12 @@ int async_pmem_flush(struct nd_region *nd_region, struct bio *bio)
 	 * parent bio. Otherwise directly call nd_region flush.
 	 */
 	if (bio && bio->bi_iter.bi_sector != -1) {
-		struct bio *child = bio_alloc(GFP_ATOMIC, 0);
+		struct bio *child = bio_alloc(bio->bi_bdev, 0, REQ_PREFLUSH,
+					      GFP_ATOMIC);
 
 		if (!child)
 			return -ENOMEM;
-		bio_copy_dev(child, bio);
-		child->bi_opf = REQ_PREFLUSH;
+		bio_clone_blkg_association(child, bio);
 		child->bi_iter.bi_sector = -1;
 		bio_chain(child, bio);
 		submit_bio(child);
diff --git a/drivers/nvme/target/io-cmd-bdev.c b/drivers/nvme/target/io-cmd-bdev.c
index 70ca9dfc1771a..e092af3abc710 100644
--- a/drivers/nvme/target/io-cmd-bdev.c
+++ b/drivers/nvme/target/io-cmd-bdev.c
@@ -268,14 +268,15 @@ static void nvmet_bdev_execute_rw(struct nvmet_req *req)
 	if (nvmet_use_inline_bvec(req)) {
 		bio = &req->b.inline_bio;
 		bio_init(bio, req->inline_bvec, ARRAY_SIZE(req->inline_bvec));
+		bio_set_dev(bio, req->ns->bdev);
+		bio->bi_opf = op;
 	} else {
-		bio = bio_alloc(GFP_KERNEL, bio_max_segs(sg_cnt));
+		bio = bio_alloc(req->ns->bdev, bio_max_segs(sg_cnt), op,
+				GFP_KERNEL);
 	}
-	bio_set_dev(bio, req->ns->bdev);
 	bio->bi_iter.bi_sector = sector;
 	bio->bi_private = req;
 	bio->bi_end_io = nvmet_bio_done;
-	bio->bi_opf = op;
 
 	blk_start_plug(&plug);
 	if (req->metadata_len)
@@ -296,10 +297,9 @@ static void nvmet_bdev_execute_rw(struct nvmet_req *req)
 				}
 			}
 
-			bio = bio_alloc(GFP_KERNEL, bio_max_segs(sg_cnt));
-			bio_set_dev(bio, req->ns->bdev);
+			bio = bio_alloc(req->ns->bdev, bio_max_segs(sg_cnt),
+					op, GFP_KERNEL);
 			bio->bi_iter.bi_sector = sector;
-			bio->bi_opf = op;
 
 			bio_chain(bio, prev);
 			submit_bio(prev);
diff --git a/drivers/nvme/target/passthru.c b/drivers/nvme/target/passthru.c
index 9e5b89ae29dfe..38f72968c3fde 100644
--- a/drivers/nvme/target/passthru.c
+++ b/drivers/nvme/target/passthru.c
@@ -207,11 +207,12 @@ static int nvmet_passthru_map_sg(struct nvmet_req *req, struct request *rq)
 	if (nvmet_use_inline_bvec(req)) {
 		bio = &req->p.inline_bio;
 		bio_init(bio, req->inline_bvec, ARRAY_SIZE(req->inline_bvec));
+		bio->bi_opf = req_op(rq);
 	} else {
-		bio = bio_alloc(GFP_KERNEL, bio_max_segs(req->sg_cnt));
+		bio = bio_alloc(NULL, bio_max_segs(req->sg_cnt), req_op(rq),
+				GFP_KERNEL);
 		bio->bi_end_io = bio_put;
 	}
-	bio->bi_opf = req_op(rq);
 
 	for_each_sg(req->sg, sg, req->sg_cnt, i) {
 		if (bio_add_pc_page(rq->q, bio, sg_page(sg), sg->length,
diff --git a/drivers/nvme/target/zns.c b/drivers/nvme/target/zns.c
index 247de74247fab..62c53e8f26d35 100644
--- a/drivers/nvme/target/zns.c
+++ b/drivers/nvme/target/zns.c
@@ -522,6 +522,7 @@ static void nvmet_bdev_zone_append_bio_done(struct bio *bio)
 void nvmet_bdev_execute_zone_append(struct nvmet_req *req)
 {
 	sector_t sect = nvmet_lba_to_sect(req->ns, req->cmd->rw.slba);
+	const unsigned int op = REQ_OP_ZONE_APPEND | REQ_SYNC | REQ_IDLE;
 	u16 status = NVME_SC_SUCCESS;
 	unsigned int total_len = 0;
 	struct scatterlist *sg;
@@ -552,13 +553,12 @@ void nvmet_bdev_execute_zone_append(struct nvmet_req *req)
 	if (nvmet_use_inline_bvec(req)) {
 		bio = &req->z.inline_bio;
 		bio_init(bio, req->inline_bvec, ARRAY_SIZE(req->inline_bvec));
+		bio->bi_opf = op;
 	} else {
-		bio = bio_alloc(GFP_KERNEL, req->sg_cnt);
+		bio = bio_alloc(req->ns->bdev, req->sg_cnt, op, GFP_KERNEL);
 	}
 
-	bio->bi_opf = REQ_OP_ZONE_APPEND | REQ_SYNC | REQ_IDLE;
 	bio->bi_end_io = nvmet_bdev_zone_append_bio_done;
-	bio_set_dev(bio, req->ns->bdev);
 	bio->bi_iter.bi_sector = sect;
 	bio->bi_private = req;
 	if (req->cmd->rw.control & cpu_to_le16(NVME_RW_FUA))
diff --git a/drivers/scsi/ufs/ufshpb.c b/drivers/scsi/ufs/ufshpb.c
index 2d36a0715fca6..8970068314ef2 100644
--- a/drivers/scsi/ufs/ufshpb.c
+++ b/drivers/scsi/ufs/ufshpb.c
@@ -494,7 +494,7 @@ static struct ufshpb_req *ufshpb_get_map_req(struct ufshpb_lu *hpb,
 	if (!map_req)
 		return NULL;
 
-	bio = bio_alloc(GFP_KERNEL, hpb->pages_per_srgn);
+	bio = bio_alloc(NULL, hpb->pages_per_srgn, 0, GFP_KERNEL);
 	if (!bio) {
 		ufshpb_put_req(hpb, map_req);
 		return NULL;
@@ -2050,7 +2050,7 @@ static int ufshpb_pre_req_mempool_init(struct ufshpb_lu *hpb)
 		INIT_LIST_HEAD(&pre_req->list_req);
 		pre_req->req = NULL;
 
-		pre_req->bio = bio_alloc(GFP_KERNEL, 1);
+		pre_req->bio = bio_alloc(NULL, 1, 0, GFP_KERNEL);
 		if (!pre_req->bio)
 			goto release_mem;
 
diff --git a/drivers/target/target_core_iblock.c b/drivers/target/target_core_iblock.c
index f7c6e822f345a..0907fa3cf2b43 100644
--- a/drivers/target/target_core_iblock.c
+++ b/drivers/target/target_core_iblock.c
@@ -416,10 +416,9 @@ iblock_execute_sync_cache(struct se_cmd *cmd)
 	if (immed)
 		target_complete_cmd(cmd, SAM_STAT_GOOD);
 
-	bio = bio_alloc(GFP_KERNEL, 0);
+	bio = bio_alloc(ib_dev->ibd_bd, 0, REQ_OP_WRITE | REQ_PREFLUSH,
+			GFP_KERNEL);
 	bio->bi_end_io = iblock_end_io_flush;
-	bio_set_dev(bio, ib_dev->ibd_bd);
-	bio->bi_opf = REQ_OP_WRITE | REQ_PREFLUSH;
 	if (!immed)
 		bio->bi_private = cmd;
 	submit_bio(bio);
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 87a5addbedf6d..f45aa506f9a6f 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -4029,8 +4029,9 @@ static int write_dev_supers(struct btrfs_device *device,
 		 * to do I/O, so we don't lose the ability to do integrity
 		 * checking.
 		 */
-		bio = bio_alloc(GFP_NOFS, 1);
-		bio_set_dev(bio, device->bdev);
+		bio = bio_alloc(device->bdev, 1,
+				REQ_OP_WRITE | REQ_SYNC | REQ_META | REQ_PRIO,
+				GFP_NOFS);
 		bio->bi_iter.bi_sector = bytenr >> SECTOR_SHIFT;
 		bio->bi_private = device;
 		bio->bi_end_io = btrfs_end_super_write;
@@ -4042,7 +4043,6 @@ static int write_dev_supers(struct btrfs_device *device,
 		 * go down lazy and there's a short window where the on-disk
 		 * copies might still contain the older version.
 		 */
-		bio->bi_opf = REQ_OP_WRITE | REQ_SYNC | REQ_META | REQ_PRIO;
 		if (i == 0 && !btrfs_test_opt(device->fs_info, NOBARRIER))
 			bio->bi_opf |= REQ_FUA;
 
diff --git a/fs/buffer.c b/fs/buffer.c
index 8e112b6bd3719..a17c386a142c7 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -3024,12 +3024,16 @@ static int submit_bh_wbc(int op, int op_flags, struct buffer_head *bh,
 	if (test_set_buffer_req(bh) && (op == REQ_OP_WRITE))
 		clear_buffer_write_io_error(bh);
 
-	bio = bio_alloc(GFP_NOIO, 1);
+	if (buffer_meta(bh))
+		op_flags |= REQ_META;
+	if (buffer_prio(bh))
+		op_flags |= REQ_PRIO;
+
+	bio = bio_alloc(bh->b_bdev, 1, op | op_flags, GFP_NOIO);
 
 	fscrypt_set_bio_crypt_ctx_bh(bio, bh, GFP_NOIO);
 
 	bio->bi_iter.bi_sector = bh->b_blocknr * (bh->b_size >> 9);
-	bio_set_dev(bio, bh->b_bdev);
 	bio->bi_write_hint = write_hint;
 
 	bio_add_page(bio, bh->b_page, bh->b_size, bh_offset(bh));
@@ -3038,12 +3042,6 @@ static int submit_bh_wbc(int op, int op_flags, struct buffer_head *bh,
 	bio->bi_end_io = end_bio_bh_io_sync;
 	bio->bi_private = bh;
 
-	if (buffer_meta(bh))
-		op_flags |= REQ_META;
-	if (buffer_prio(bh))
-		op_flags |= REQ_PRIO;
-	bio_set_op_attrs(bio, op, op_flags);
-
 	/* Take care of bh's that straddle the end of the device */
 	guard_bio_eod(bio);
 
diff --git a/fs/crypto/bio.c b/fs/crypto/bio.c
index bfc2a5b74ed39..755e985a42e0b 100644
--- a/fs/crypto/bio.c
+++ b/fs/crypto/bio.c
@@ -54,7 +54,8 @@ static int fscrypt_zeroout_range_inline_crypt(const struct inode *inode,
 	int num_pages = 0;
 
 	/* This always succeeds since __GFP_DIRECT_RECLAIM is set. */
-	bio = bio_alloc(GFP_NOFS, BIO_MAX_VECS);
+	bio = bio_alloc(inode->i_sb->s_bdev, BIO_MAX_VECS, REQ_OP_WRITE,
+			GFP_NOFS);
 
 	while (len) {
 		unsigned int blocks_this_page = min(len, blocks_per_page);
@@ -62,10 +63,8 @@ static int fscrypt_zeroout_range_inline_crypt(const struct inode *inode,
 
 		if (num_pages == 0) {
 			fscrypt_set_bio_crypt_ctx(bio, inode, lblk, GFP_NOFS);
-			bio_set_dev(bio, inode->i_sb->s_bdev);
 			bio->bi_iter.bi_sector =
 					pblk << (blockbits - SECTOR_SHIFT);
-			bio_set_op_attrs(bio, REQ_OP_WRITE, 0);
 		}
 		ret = bio_add_page(bio, ZERO_PAGE(0), bytes_this_page, 0);
 		if (WARN_ON(ret != bytes_this_page)) {
@@ -82,6 +81,8 @@ static int fscrypt_zeroout_range_inline_crypt(const struct inode *inode,
 			if (err)
 				goto out;
 			bio_reset(bio);
+			bio_set_dev(bio, inode->i_sb->s_bdev);
+			bio->bi_opf = REQ_OP_WRITE;
 			num_pages = 0;
 		}
 	}
@@ -150,12 +151,10 @@ int fscrypt_zeroout_range(const struct inode *inode, pgoff_t lblk,
 		return -EINVAL;
 
 	/* This always succeeds since __GFP_DIRECT_RECLAIM is set. */
-	bio = bio_alloc(GFP_NOFS, nr_pages);
+	bio = bio_alloc(inode->i_sb->s_bdev, nr_pages, REQ_OP_WRITE, GFP_NOFS);
 
 	do {
-		bio_set_dev(bio, inode->i_sb->s_bdev);
 		bio->bi_iter.bi_sector = pblk << (blockbits - 9);
-		bio_set_op_attrs(bio, REQ_OP_WRITE, 0);
 
 		i = 0;
 		offset = 0;
@@ -183,6 +182,8 @@ int fscrypt_zeroout_range(const struct inode *inode, pgoff_t lblk,
 		if (err)
 			goto out;
 		bio_reset(bio);
+		bio_set_dev(bio, inode->i_sb->s_bdev);
+		bio->bi_opf = REQ_OP_WRITE;
 	} while (len != 0);
 	err = 0;
 out:
diff --git a/fs/direct-io.c b/fs/direct-io.c
index 6544435580470..38bca4980a1ca 100644
--- a/fs/direct-io.c
+++ b/fs/direct-io.c
@@ -396,11 +396,8 @@ dio_bio_alloc(struct dio *dio, struct dio_submit *sdio,
 	 * bio_alloc() is guaranteed to return a bio when allowed to sleep and
 	 * we request a valid number of vectors.
 	 */
-	bio = bio_alloc(GFP_KERNEL, nr_vecs);
-
-	bio_set_dev(bio, bdev);
+	bio = bio_alloc(bdev, nr_vecs, dio->op | dio->op_flags, GFP_KERNEL);
 	bio->bi_iter.bi_sector = first_sector;
-	bio_set_op_attrs(bio, dio->op, dio->op_flags);
 	if (dio->is_async)
 		bio->bi_end_io = dio_bio_end_aio;
 	else
diff --git a/fs/erofs/zdata.c b/fs/erofs/zdata.c
index 498b7666efe85..db7de2dbac739 100644
--- a/fs/erofs/zdata.c
+++ b/fs/erofs/zdata.c
@@ -1371,15 +1371,14 @@ static void z_erofs_submit_queue(struct super_block *sb,
 			}
 
 			if (!bio) {
-				bio = bio_alloc(GFP_NOIO, BIO_MAX_VECS);
+				bio = bio_alloc(mdev.m_bdev, BIO_MAX_VECS,
+						REQ_OP_READ, GFP_NOIO);
 				bio->bi_end_io = z_erofs_decompressqueue_endio;
 
-				bio_set_dev(bio, mdev.m_bdev);
 				last_bdev = mdev.m_bdev;
 				bio->bi_iter.bi_sector = (sector_t)cur <<
 					LOG_SECTORS_PER_BLOCK;
 				bio->bi_private = bi_private;
-				bio->bi_opf = REQ_OP_READ;
 				if (f->readahead)
 					bio->bi_opf |= REQ_RAHEAD;
 				++nr_bios;
diff --git a/fs/ext4/page-io.c b/fs/ext4/page-io.c
index 1d370364230e8..1253982268730 100644
--- a/fs/ext4/page-io.c
+++ b/fs/ext4/page-io.c
@@ -398,10 +398,9 @@ static void io_submit_init_bio(struct ext4_io_submit *io,
 	 * bio_alloc will _always_ be able to allocate a bio if
 	 * __GFP_DIRECT_RECLAIM is set, see comments for bio_alloc_bioset().
 	 */
-	bio = bio_alloc(GFP_NOIO, BIO_MAX_VECS);
+	bio = bio_alloc(bh->b_bdev, BIO_MAX_VECS, 0, GFP_NOIO);
 	fscrypt_set_bio_crypt_ctx_bh(bio, bh, GFP_NOIO);
 	bio->bi_iter.bi_sector = bh->b_blocknr * (bh->b_size >> 9);
-	bio_set_dev(bio, bh->b_bdev);
 	bio->bi_end_io = ext4_end_bio;
 	bio->bi_private = ext4_get_io_end(io->io_end);
 	io->io_bio = bio;
diff --git a/fs/ext4/readpage.c b/fs/ext4/readpage.c
index 4cd62f1d848c8..1aa26d6634fc9 100644
--- a/fs/ext4/readpage.c
+++ b/fs/ext4/readpage.c
@@ -365,15 +365,15 @@ int ext4_mpage_readpages(struct inode *inode,
 			 * bio_alloc will _always_ be able to allocate a bio if
 			 * __GFP_DIRECT_RECLAIM is set, see bio_alloc_bioset().
 			 */
-			bio = bio_alloc(GFP_KERNEL, bio_max_segs(nr_pages));
+			bio = bio_alloc(bdev, bio_max_segs(nr_pages),
+					REQ_OP_READ, GFP_KERNEL);
 			fscrypt_set_bio_crypt_ctx(bio, inode, next_block,
 						  GFP_KERNEL);
 			ext4_set_bio_post_read_ctx(bio, inode, page->index);
-			bio_set_dev(bio, bdev);
 			bio->bi_iter.bi_sector = blocks[0] << (blkbits - 9);
 			bio->bi_end_io = mpage_end_io;
-			bio_set_op_attrs(bio, REQ_OP_READ,
-						rac ? REQ_RAHEAD : 0);
+			if (rac)
+				bio->bi_opf |= REQ_RAHEAD;
 		}
 
 		length = first_hole << blkbits;
diff --git a/fs/gfs2/lops.c b/fs/gfs2/lops.c
index ca0bb3a73912a..4ae1eefae616d 100644
--- a/fs/gfs2/lops.c
+++ b/fs/gfs2/lops.c
@@ -265,10 +265,9 @@ static struct bio *gfs2_log_alloc_bio(struct gfs2_sbd *sdp, u64 blkno,
 				      bio_end_io_t *end_io)
 {
 	struct super_block *sb = sdp->sd_vfs;
-	struct bio *bio = bio_alloc(GFP_NOIO, BIO_MAX_VECS);
+	struct bio *bio = bio_alloc(sb->s_bdev, BIO_MAX_VECS, 0, GFP_NOIO);
 
 	bio->bi_iter.bi_sector = blkno << sdp->sd_fsb2bb_shift;
-	bio_set_dev(bio, sb->s_bdev);
 	bio->bi_end_io = end_io;
 	bio->bi_private = sdp;
 
@@ -489,10 +488,9 @@ static struct bio *gfs2_chain_bio(struct bio *prev, unsigned int nr_iovecs)
 {
 	struct bio *new;
 
-	new = bio_alloc(GFP_NOIO, nr_iovecs);
-	bio_copy_dev(new, prev);
+	new = bio_alloc(prev->bi_bdev, nr_iovecs, prev->bi_opf, GFP_NOIO);
+	bio_clone_blkg_association(new, prev);
 	new->bi_iter.bi_sector = bio_end_sector(prev);
-	new->bi_opf = prev->bi_opf;
 	new->bi_write_hint = prev->bi_write_hint;
 	bio_chain(new, prev);
 	submit_bio(prev);
diff --git a/fs/gfs2/meta_io.c b/fs/gfs2/meta_io.c
index 72d30a682ecec..a580b90b75222 100644
--- a/fs/gfs2/meta_io.c
+++ b/fs/gfs2/meta_io.c
@@ -222,9 +222,8 @@ static void gfs2_submit_bhs(int op, int op_flags, struct buffer_head *bhs[],
 		struct buffer_head *bh = *bhs;
 		struct bio *bio;
 
-		bio = bio_alloc(GFP_NOIO, num);
+		bio = bio_alloc(bh->b_bdev, num, op | op_flags, GFP_NOIO);
 		bio->bi_iter.bi_sector = bh->b_blocknr * (bh->b_size >> 9);
-		bio_set_dev(bio, bh->b_bdev);
 		while (num > 0) {
 			bh = *bhs;
 			if (!bio_add_page(bio, bh->b_page, bh->b_size, bh_offset(bh))) {
@@ -235,7 +234,6 @@ static void gfs2_submit_bhs(int op, int op_flags, struct buffer_head *bhs[],
 			num--;
 		}
 		bio->bi_end_io = gfs2_meta_read_endio;
-		bio_set_op_attrs(bio, op, op_flags);
 		submit_bio(bio);
 	}
 }
diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c
index 7f8410d8fdc1d..c9b423c874a32 100644
--- a/fs/gfs2/ops_fstype.c
+++ b/fs/gfs2/ops_fstype.c
@@ -251,14 +251,12 @@ static int gfs2_read_super(struct gfs2_sbd *sdp, sector_t sector, int silent)
 	ClearPageDirty(page);
 	lock_page(page);
 
-	bio = bio_alloc(GFP_NOFS, 1);
+	bio = bio_alloc(sb->s_bdev, 1, REQ_OP_READ | REQ_META, GFP_NOFS);
 	bio->bi_iter.bi_sector = sector * (sb->s_blocksize >> 9);
-	bio_set_dev(bio, sb->s_bdev);
 	bio_add_page(bio, page, PAGE_SIZE, 0);
 
 	bio->bi_end_io = end_bio_io_page;
 	bio->bi_private = page;
-	bio_set_op_attrs(bio, REQ_OP_READ, REQ_META);
 	submit_bio(bio);
 	wait_on_page_locked(page);
 	bio_put(bio);
diff --git a/fs/hfsplus/wrapper.c b/fs/hfsplus/wrapper.c
index 51ae6f1eb4a55..6acce8563031d 100644
--- a/fs/hfsplus/wrapper.c
+++ b/fs/hfsplus/wrapper.c
@@ -64,10 +64,8 @@ int hfsplus_submit_bio(struct super_block *sb, sector_t sector,
 	offset = start & (io_size - 1);
 	sector &= ~((io_size >> HFSPLUS_SECTOR_SHIFT) - 1);
 
-	bio = bio_alloc(GFP_NOIO, 1);
+	bio = bio_alloc(sb->s_bdev, 1, op | op_flags, GFP_NOIO);
 	bio->bi_iter.bi_sector = sector;
-	bio_set_dev(bio, sb->s_bdev);
-	bio_set_op_attrs(bio, op, op_flags);
 
 	if (op != WRITE && data)
 		*data = (u8 *)buf + offset;
diff --git a/fs/iomap/buffered-io.c b/fs/iomap/buffered-io.c
index 340d373cb1bf9..70f3657a6ec06 100644
--- a/fs/iomap/buffered-io.c
+++ b/fs/iomap/buffered-io.c
@@ -290,19 +290,20 @@ static loff_t iomap_readpage_iter(const struct iomap_iter *iter,
 
 		if (ctx->rac) /* same as readahead_gfp_mask */
 			gfp |= __GFP_NORETRY | __GFP_NOWARN;
-		ctx->bio = bio_alloc(gfp, bio_max_segs(nr_vecs));
+		ctx->bio = bio_alloc(iomap->bdev, bio_max_segs(nr_vecs),
+				     REQ_OP_READ, gfp);
 		/*
 		 * If the bio_alloc fails, try it again for a single page to
 		 * avoid having to deal with partial page reads.  This emulates
 		 * what do_mpage_readpage does.
 		 */
-		if (!ctx->bio)
-			ctx->bio = bio_alloc(orig_gfp, 1);
-		ctx->bio->bi_opf = REQ_OP_READ;
+		if (!ctx->bio) {
+			ctx->bio = bio_alloc(iomap->bdev, 1, REQ_OP_READ,
+					     orig_gfp);
+		}
 		if (ctx->rac)
 			ctx->bio->bi_opf |= REQ_RAHEAD;
 		ctx->bio->bi_iter.bi_sector = sector;
-		bio_set_dev(ctx->bio, iomap->bdev);
 		ctx->bio->bi_end_io = iomap_read_end_io;
 		bio_add_folio(ctx->bio, folio, plen, poff);
 	}
@@ -1226,10 +1227,9 @@ iomap_chain_bio(struct bio *prev)
 {
 	struct bio *new;
 
-	new = bio_alloc(GFP_NOFS, BIO_MAX_VECS);
-	bio_copy_dev(new, prev);/* also copies over blkcg information */
+	new = bio_alloc(prev->bi_bdev, BIO_MAX_VECS, prev->bi_opf, GFP_NOFS);
+	bio_clone_blkg_association(new, prev);
 	new->bi_iter.bi_sector = bio_end_sector(prev);
-	new->bi_opf = prev->bi_opf;
 	new->bi_write_hint = prev->bi_write_hint;
 
 	bio_chain(prev, new);
diff --git a/fs/iomap/direct-io.c b/fs/iomap/direct-io.c
index 03ea367df19a4..e2ba13645ef28 100644
--- a/fs/iomap/direct-io.c
+++ b/fs/iomap/direct-io.c
@@ -183,15 +183,13 @@ static void iomap_dio_zero(const struct iomap_iter *iter, struct iomap_dio *dio,
 	int flags = REQ_SYNC | REQ_IDLE;
 	struct bio *bio;
 
-	bio = bio_alloc(GFP_KERNEL, 1);
-	bio_set_dev(bio, iter->iomap.bdev);
+	bio = bio_alloc(iter->iomap.bdev, 1, REQ_OP_WRITE | flags, GFP_KERNEL);
 	bio->bi_iter.bi_sector = iomap_sector(&iter->iomap, pos);
 	bio->bi_private = dio;
 	bio->bi_end_io = iomap_dio_bio_end_io;
 
 	get_page(page);
 	__bio_add_page(bio, page, len, 0);
-	bio_set_op_attrs(bio, REQ_OP_WRITE, flags);
 	iomap_dio_submit_bio(iter, dio, bio, pos);
 }
 
@@ -309,14 +307,12 @@ static loff_t iomap_dio_bio_iter(const struct iomap_iter *iter,
 			goto out;
 		}
 
-		bio = bio_alloc(GFP_KERNEL, nr_pages);
-		bio_set_dev(bio, iomap->bdev);
+		bio = bio_alloc(iomap->bdev, nr_pages, bio_opf, GFP_KERNEL);
 		bio->bi_iter.bi_sector = iomap_sector(iomap, pos);
 		bio->bi_write_hint = dio->iocb->ki_hint;
 		bio->bi_ioprio = dio->iocb->ki_ioprio;
 		bio->bi_private = dio;
 		bio->bi_end_io = iomap_dio_bio_end_io;
-		bio->bi_opf = bio_opf;
 
 		ret = bio_iov_iter_get_pages(bio, dio->submit.iter);
 		if (unlikely(ret)) {
diff --git a/fs/jfs/jfs_logmgr.c b/fs/jfs/jfs_logmgr.c
index 78fd136ac13b9..997c81fcea349 100644
--- a/fs/jfs/jfs_logmgr.c
+++ b/fs/jfs/jfs_logmgr.c
@@ -1980,17 +1980,13 @@ static int lbmRead(struct jfs_log * log, int pn, struct lbuf ** bpp)
 
 	bp->l_flag |= lbmREAD;
 
-	bio = bio_alloc(GFP_NOFS, 1);
-
+	bio = bio_alloc(log->bdev, 1, REQ_OP_READ, GFP_NOFS);
 	bio->bi_iter.bi_sector = bp->l_blkno << (log->l2bsize - 9);
-	bio_set_dev(bio, log->bdev);
-
 	bio_add_page(bio, bp->l_page, LOGPSIZE, bp->l_offset);
 	BUG_ON(bio->bi_iter.bi_size != LOGPSIZE);
 
 	bio->bi_end_io = lbmIODone;
 	bio->bi_private = bp;
-	bio->bi_opf = REQ_OP_READ;
 	/*check if journaling to disk has been disabled*/
 	if (log->no_integrity) {
 		bio->bi_iter.bi_size = 0;
@@ -2125,16 +2121,13 @@ static void lbmStartIO(struct lbuf * bp)
 
 	jfs_info("lbmStartIO");
 
-	bio = bio_alloc(GFP_NOFS, 1);
+	bio = bio_alloc(log->bdev, 1, REQ_OP_WRITE | REQ_SYNC, GFP_NOFS);
 	bio->bi_iter.bi_sector = bp->l_blkno << (log->l2bsize - 9);
-	bio_set_dev(bio, log->bdev);
-
 	bio_add_page(bio, bp->l_page, LOGPSIZE, bp->l_offset);
 	BUG_ON(bio->bi_iter.bi_size != LOGPSIZE);
 
 	bio->bi_end_io = lbmIODone;
 	bio->bi_private = bp;
-	bio->bi_opf = REQ_OP_WRITE | REQ_SYNC;
 
 	/* check if journaling to disk has been disabled */
 	if (log->no_integrity) {
diff --git a/fs/jfs/jfs_metapage.c b/fs/jfs/jfs_metapage.c
index 104ae698443ed..fde1a9cf902e8 100644
--- a/fs/jfs/jfs_metapage.c
+++ b/fs/jfs/jfs_metapage.c
@@ -417,12 +417,10 @@ static int metapage_writepage(struct page *page, struct writeback_control *wbc)
 		}
 		len = min(xlen, (int)JFS_SBI(inode->i_sb)->nbperpage);
 
-		bio = bio_alloc(GFP_NOFS, 1);
-		bio_set_dev(bio, inode->i_sb->s_bdev);
+		bio = bio_alloc(inode->i_sb->s_bdev, 1, REQ_OP_WRITE, GFP_NOFS);
 		bio->bi_iter.bi_sector = pblock << (inode->i_blkbits - 9);
 		bio->bi_end_io = metapage_write_end_io;
 		bio->bi_private = page;
-		bio_set_op_attrs(bio, REQ_OP_WRITE, 0);
 
 		/* Don't call bio_add_page yet, we may add to this vec */
 		bio_offset = offset;
@@ -497,13 +495,12 @@ static int metapage_readpage(struct file *fp, struct page *page)
 			if (bio)
 				submit_bio(bio);
 
-			bio = bio_alloc(GFP_NOFS, 1);
-			bio_set_dev(bio, inode->i_sb->s_bdev);
+			bio = bio_alloc(inode->i_sb->s_bdev, 1, REQ_OP_READ,
+					GFP_NOFS);
 			bio->bi_iter.bi_sector =
 				pblock << (inode->i_blkbits - 9);
 			bio->bi_end_io = metapage_read_end_io;
 			bio->bi_private = page;
-			bio_set_op_attrs(bio, REQ_OP_READ, 0);
 			len = xlen << inode->i_blkbits;
 			offset = block_offset << inode->i_blkbits;
 			if (bio_add_page(bio, page, len, offset) < len)
diff --git a/fs/mpage.c b/fs/mpage.c
index 06e95d777e940..dbfc02e23d97f 100644
--- a/fs/mpage.c
+++ b/fs/mpage.c
@@ -273,10 +273,10 @@ static struct bio *do_mpage_readpage(struct mpage_readpage_args *args)
 								page))
 				goto out;
 		}
-		args->bio = bio_alloc(gfp, bio_max_segs(args->nr_pages));
+		args->bio = bio_alloc(bdev, bio_max_segs(args->nr_pages), 0,
+				      gfp);
 		if (args->bio == NULL)
 			goto confused;
-		bio_set_dev(args->bio, bdev);
 		args->bio->bi_iter.bi_sector = blocks[0] << (blkbits - 9);
 	}
 
@@ -586,8 +586,7 @@ static int __mpage_writepage(struct page *page, struct writeback_control *wbc,
 								page, wbc))
 				goto out;
 		}
-		bio = bio_alloc(GFP_NOFS, BIO_MAX_VECS);
-		bio_set_dev(bio, bdev);
+		bio = bio_alloc(bdev, BIO_MAX_VECS, 0, GFP_NOFS);
 		bio->bi_iter.bi_sector = blocks[0] << (blkbits - 9);
 
 		wbc_init_bio(wbc, bio);
diff --git a/fs/nfs/blocklayout/blocklayout.c b/fs/nfs/blocklayout/blocklayout.c
index 38e063af7e98a..79a8b451791f5 100644
--- a/fs/nfs/blocklayout/blocklayout.c
+++ b/fs/nfs/blocklayout/blocklayout.c
@@ -154,12 +154,10 @@ do_add_page_to_bio(struct bio *bio, int npg, int rw, sector_t isect,
 
 retry:
 	if (!bio) {
-		bio = bio_alloc(GFP_NOIO, bio_max_segs(npg));
+		bio = bio_alloc(map->bdev, bio_max_segs(npg), rw, GFP_NOIO);
 		bio->bi_iter.bi_sector = disk_addr >> SECTOR_SHIFT;
-		bio_set_dev(bio, map->bdev);
 		bio->bi_end_io = end_io;
 		bio->bi_private = par;
-		bio_set_op_attrs(bio, rw, 0);
 	}
 	if (bio_add_page(bio, page, *len, offset) < *len) {
 		bio = bl_submit_bio(bio);
diff --git a/fs/nilfs2/segbuf.c b/fs/nilfs2/segbuf.c
index 53b7c6d21cdd8..4f71faacd8253 100644
--- a/fs/nilfs2/segbuf.c
+++ b/fs/nilfs2/segbuf.c
@@ -391,8 +391,8 @@ static int nilfs_segbuf_submit_bh(struct nilfs_segment_buffer *segbuf,
 	BUG_ON(wi->nr_vecs <= 0);
  repeat:
 	if (!wi->bio) {
-		wi->bio = bio_alloc(GFP_NOIO, wi->nr_vecs);
-		bio_set_dev(wi->bio, wi->nilfs->ns_bdev);
+		wi->bio = bio_alloc(wi->nilfs->ns_bdev, wi->nr_vecs, 0,
+				    GFP_NOIO);
 		wi->bio->bi_iter.bi_sector = (wi->blocknr + wi->end) <<
 			(wi->nilfs->ns_blocksize_bits - 9);
 	}
diff --git a/fs/ntfs3/fsntfs.c b/fs/ntfs3/fsntfs.c
index 4a255e21ecf5f..0660a07c5a96e 100644
--- a/fs/ntfs3/fsntfs.c
+++ b/fs/ntfs3/fsntfs.c
@@ -1485,15 +1485,13 @@ int ntfs_bio_pages(struct ntfs_sb_info *sbi, const struct runs_tree *run,
 		lbo = ((u64)lcn << cluster_bits) + off;
 		len = ((u64)clen << cluster_bits) - off;
 new_bio:
-		new = bio_alloc(GFP_NOFS, nr_pages - page_idx);
+		new = bio_alloc(bdev, nr_pages - page_idx, op, GFP_NOFS);
 		if (bio) {
 			bio_chain(bio, new);
 			submit_bio(bio);
 		}
 		bio = new;
-		bio_set_dev(bio, bdev);
 		bio->bi_iter.bi_sector = lbo >> 9;
-		bio->bi_opf = op;
 
 		while (len) {
 			off = vbo & (PAGE_SIZE - 1);
@@ -1584,14 +1582,12 @@ int ntfs_bio_fill_1(struct ntfs_sb_info *sbi, const struct runs_tree *run)
 		lbo = (u64)lcn << cluster_bits;
 		len = (u64)clen << cluster_bits;
 new_bio:
-		new = bio_alloc(GFP_NOFS, BIO_MAX_VECS);
+		new = bio_alloc(bdev, BIO_MAX_VECS, REQ_OP_WRITE, GFP_NOFS);
 		if (bio) {
 			bio_chain(bio, new);
 			submit_bio(bio);
 		}
 		bio = new;
-		bio_set_dev(bio, bdev);
-		bio->bi_opf = REQ_OP_WRITE;
 		bio->bi_iter.bi_sector = lbo >> 9;
 
 		for (;;) {
diff --git a/fs/ocfs2/cluster/heartbeat.c b/fs/ocfs2/cluster/heartbeat.c
index a17be1618bf70..ea0e70c0fce09 100644
--- a/fs/ocfs2/cluster/heartbeat.c
+++ b/fs/ocfs2/cluster/heartbeat.c
@@ -518,7 +518,7 @@ static struct bio *o2hb_setup_one_bio(struct o2hb_region *reg,
 	 * GFP_KERNEL that the local node can get fenced. It would be
 	 * nicest if we could pre-allocate these bios and avoid this
 	 * all together. */
-	bio = bio_alloc(GFP_ATOMIC, 16);
+	bio = bio_alloc(reg->hr_bdev, 16, op | op_flags, GFP_ATOMIC);
 	if (!bio) {
 		mlog(ML_ERROR, "Could not alloc slots BIO!\n");
 		bio = ERR_PTR(-ENOMEM);
@@ -527,10 +527,8 @@ static struct bio *o2hb_setup_one_bio(struct o2hb_region *reg,
 
 	/* Must put everything in 512 byte sectors for the bio... */
 	bio->bi_iter.bi_sector = (reg->hr_start_block + cs) << (bits - 9);
-	bio_set_dev(bio, reg->hr_bdev);
 	bio->bi_private = wc;
 	bio->bi_end_io = o2hb_bio_end_io;
-	bio_set_op_attrs(bio, op, op_flags);
 
 	vec_start = (cs << bits) % PAGE_SIZE;
 	while(cs < max_slots) {
diff --git a/fs/squashfs/block.c b/fs/squashfs/block.c
index 2db8bcf7ff859..622c844f6d118 100644
--- a/fs/squashfs/block.c
+++ b/fs/squashfs/block.c
@@ -86,16 +86,17 @@ static int squashfs_bio_read(struct super_block *sb, u64 index, int length,
 	int error, i;
 	struct bio *bio;
 
-	if (page_count <= BIO_MAX_VECS)
-		bio = bio_alloc(GFP_NOIO, page_count);
-	else
+	if (page_count <= BIO_MAX_VECS) {
+		bio = bio_alloc(sb->s_bdev, page_count, REQ_OP_READ, GFP_NOIO);
+	} else {
 		bio = bio_kmalloc(GFP_NOIO, page_count);
+		bio_set_dev(bio, sb->s_bdev);
+		bio->bi_opf = REQ_OP_READ;
+	}
 
 	if (!bio)
 		return -ENOMEM;
 
-	bio_set_dev(bio, sb->s_bdev);
-	bio->bi_opf = READ;
 	bio->bi_iter.bi_sector = block * (msblk->devblksize >> SECTOR_SHIFT);
 
 	for (i = 0; i < page_count; ++i) {
diff --git a/fs/xfs/xfs_bio_io.c b/fs/xfs/xfs_bio_io.c
index 667e297f59b16..eff4a9f21dcff 100644
--- a/fs/xfs/xfs_bio_io.c
+++ b/fs/xfs/xfs_bio_io.c
@@ -61,10 +61,9 @@ xfs_rw_bdev(
 	if (is_vmalloc && op == REQ_OP_WRITE)
 		flush_kernel_vmap_range(data, count);
 
-	bio = bio_alloc(GFP_KERNEL, bio_max_vecs(left));
-	bio_set_dev(bio, bdev);
+	bio = bio_alloc(bdev, bio_max_vecs(left), op | REQ_META | REQ_SYNC,
+			GFP_KERNEL);
 	bio->bi_iter.bi_sector = sector;
-	bio->bi_opf = op | REQ_META | REQ_SYNC;
 
 	do {
 		struct page	*page = kmem_to_page(data);
@@ -74,10 +73,9 @@ xfs_rw_bdev(
 		while (bio_add_page(bio, page, len, off) != len) {
 			struct bio	*prev = bio;
 
-			bio = bio_alloc(GFP_KERNEL, bio_max_vecs(left));
-			bio_copy_dev(bio, prev);
+			bio = bio_alloc(prev->bi_bdev, bio_max_vecs(left),
+					prev->bi_opf, GFP_KERNEL);
 			bio->bi_iter.bi_sector = bio_end_sector(prev);
-			bio->bi_opf = prev->bi_opf;
 			bio_chain(prev, bio);
 
 			submit_bio(prev);
diff --git a/fs/xfs/xfs_buf.c b/fs/xfs/xfs_buf.c
index b45e0d50a4052..ae87fd95b17e2 100644
--- a/fs/xfs/xfs_buf.c
+++ b/fs/xfs/xfs_buf.c
@@ -1440,12 +1440,10 @@ xfs_buf_ioapply_map(
 	atomic_inc(&bp->b_io_remaining);
 	nr_pages = bio_max_segs(total_nr_pages);
 
-	bio = bio_alloc(GFP_NOIO, nr_pages);
-	bio_set_dev(bio, bp->b_target->bt_bdev);
+	bio = bio_alloc(bp->b_target->bt_bdev, nr_pages, op, GFP_NOIO);
 	bio->bi_iter.bi_sector = sector;
 	bio->bi_end_io = xfs_buf_bio_end_io;
 	bio->bi_private = bp;
-	bio->bi_opf = op;
 
 	for (; size && nr_pages; nr_pages--, page_index++) {
 		int	rbytes, nbytes = PAGE_SIZE - offset;
diff --git a/fs/zonefs/super.c b/fs/zonefs/super.c
index b76dfb310ab65..c0fc2c326dcee 100644
--- a/fs/zonefs/super.c
+++ b/fs/zonefs/super.c
@@ -692,12 +692,11 @@ static ssize_t zonefs_file_dio_append(struct kiocb *iocb, struct iov_iter *from)
 	if (!nr_pages)
 		return 0;
 
-	bio = bio_alloc(GFP_NOFS, nr_pages);
-	bio_set_dev(bio, bdev);
+	bio = bio_alloc(bdev, nr_pages,
+			REQ_OP_ZONE_APPEND | REQ_SYNC | REQ_IDLE, GFP_NOFS);
 	bio->bi_iter.bi_sector = zi->i_zsector;
 	bio->bi_write_hint = iocb->ki_hint;
 	bio->bi_ioprio = iocb->ki_ioprio;
-	bio->bi_opf = REQ_OP_ZONE_APPEND | REQ_SYNC | REQ_IDLE;
 	if (iocb->ki_flags & IOCB_DSYNC)
 		bio->bi_opf |= REQ_FUA;
 
diff --git a/include/linux/bio.h b/include/linux/bio.h
index 5c5ada2ebb270..be6ac92913d48 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -418,9 +418,10 @@ extern struct bio *bio_clone_fast(struct bio *, gfp_t, struct bio_set *);
 
 extern struct bio_set fs_bio_set;
 
-static inline struct bio *bio_alloc(gfp_t gfp_mask, unsigned short nr_iovecs)
+static inline struct bio *bio_alloc(struct block_device *bdev,
+		unsigned short nr_vecs, unsigned int opf, gfp_t gfp_mask)
 {
-	return bio_alloc_bioset(NULL, nr_iovecs, 0, gfp_mask, &fs_bio_set);
+	return bio_alloc_bioset(bdev, nr_vecs, opf, gfp_mask, &fs_bio_set);
 }
 
 void submit_bio(struct bio *bio);
diff --git a/kernel/power/swap.c b/kernel/power/swap.c
index ad10359030a4c..9bce177454b82 100644
--- a/kernel/power/swap.c
+++ b/kernel/power/swap.c
@@ -277,10 +277,9 @@ static int hib_submit_io(int op, int op_flags, pgoff_t page_off, void *addr,
 	struct bio *bio;
 	int error = 0;
 
-	bio = bio_alloc(GFP_NOIO | __GFP_HIGH, 1);
+	bio = bio_alloc(hib_resume_bdev, 1, op | op_flags,
+			GFP_NOIO | __GFP_HIGH);
 	bio->bi_iter.bi_sector = page_off * (PAGE_SIZE >> 9);
-	bio_set_dev(bio, hib_resume_bdev);
-	bio_set_op_attrs(bio, op, op_flags);
 
 	if (bio_add_page(bio, page, PAGE_SIZE, 0) < PAGE_SIZE) {
 		pr_err("Adding page to bio failed at %llu\n",
diff --git a/mm/page_io.c b/mm/page_io.c
index 0bf8e40f4e573..61c792f916fac 100644
--- a/mm/page_io.c
+++ b/mm/page_io.c
@@ -338,10 +338,10 @@ int __swap_writepage(struct page *page, struct writeback_control *wbc,
 		return 0;
 	}
 
-	bio = bio_alloc(GFP_NOIO, 1);
-	bio_set_dev(bio, sis->bdev);
+	bio = bio_alloc(sis->bdev, 1,
+			REQ_OP_WRITE | REQ_SWAP | wbc_to_write_flags(wbc),
+			GFP_NOIO);
 	bio->bi_iter.bi_sector = swap_page_sector(page);
-	bio->bi_opf = REQ_OP_WRITE | REQ_SWAP | wbc_to_write_flags(wbc);
 	bio->bi_end_io = end_write_func;
 	bio_add_page(bio, page, thp_size(page), 0);
 
@@ -403,9 +403,7 @@ int swap_readpage(struct page *page, bool synchronous)
 	}
 
 	ret = 0;
-	bio = bio_alloc(GFP_KERNEL, 1);
-	bio_set_dev(bio, sis->bdev);
-	bio->bi_opf = REQ_OP_READ;
+	bio = bio_alloc(sis->bdev, 1, REQ_OP_READ, GFP_KERNEL);
 	bio->bi_iter.bi_sector = swap_page_sector(page);
 	bio->bi_end_io = end_swap_bio_read;
 	bio_add_page(bio, page, thp_size(page), 0);
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 10:04:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 10:04:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259822.448510 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBwCl-0008QD-AN; Mon, 24 Jan 2022 10:04:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259822.448510; Mon, 24 Jan 2022 10:04:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBwCl-0008Q6-6b; Mon, 24 Jan 2022 10:04:07 +0000
Received: by outflank-mailman (input) for mailman id 259822;
 Mon, 24 Jan 2022 10:04:05 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nBwCj-0008Pu-En; Mon, 24 Jan 2022 10:04:05 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nBwCj-0006I8-BV; Mon, 24 Jan 2022 10:04: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 1nBwCi-0007m9-Rx; Mon, 24 Jan 2022 10:04:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nBwCi-0007I3-RW; Mon, 24 Jan 2022 10:04: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=KMDoYUBDZFTJBP1mxDPh8P+sHEEhfmVuGF5X55Fl6KQ=; b=cV/LxNAlhF6KCOFq52s/Yo4mbg
	dn/aFUFISuNFmL+8f9znfUzzvqRx9yZki13/EAP2VNA5KDSj4fJw4YFnU30JfNXaFrVIF0JiMC5Ka
	G2BfrOtEf7QQpq+i2MAk+B5IXd3m/sZwxO4xN7xF8favEFUoHSCM+pEmE5bEWA0Jvxpc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167801-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167801: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-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-qcow2: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-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-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-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl: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
X-Osstest-Versions-This:
    linux=dd81e1c7d5fb126e5fbc5c9e334d7b3ec29a16a0
X-Osstest-Versions-That:
    linux=455e73a07f6e288b0061dfcf4fcf54fa9fe06458
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 24 Jan 2022 10:04:04 +0000

flight 167801 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167801/

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 167684
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167684
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167684
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167684
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167684
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167684
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167684
 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-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-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                dd81e1c7d5fb126e5fbc5c9e334d7b3ec29a16a0
baseline version:
 linux                455e73a07f6e288b0061dfcf4fcf54fa9fe06458

Last test of basis   167684  2022-01-13 07:47:42 Z   11 days
Failing since        167693  2022-01-13 22:41:04 Z   10 days   20 attempts
Testing same since   167801  2022-01-23 22:40:37 Z    0 days    1 attempts

------------------------------------------------------------
936 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   455e73a07f6e..dd81e1c7d5fb  dd81e1c7d5fb126e5fbc5c9e334d7b3ec29a16a0 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Mon Jan 24 10:45:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 10:45:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259831.448521 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBwqg-00044P-H7; Mon, 24 Jan 2022 10:45:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259831.448521; Mon, 24 Jan 2022 10:45:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBwqg-00044I-Dg; Mon, 24 Jan 2022 10:45:22 +0000
Received: by outflank-mailman (input) for mailman id 259831;
 Mon, 24 Jan 2022 10:45:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IDYO=SI=citrix.com=ross.lagerwall@srs-se1.protection.inumbo.net>)
 id 1nBwqe-00044C-OE
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 10:45:20 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b7f5da55-7d02-11ec-bc18-3156f6d857e4;
 Mon, 24 Jan 2022 11:45:19 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b7f5da55-7d02-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643021119;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=zaufoJxtLeaLv6fsm/av7h5s3Ob9S1OA40u/CizUiV0=;
  b=QAyIuHBeUWrrRzT0OFNNUkTC9C5Y/Rhs3tQ5ELw2BQ2WthxRXIYF+bWQ
   C4S6eRdmuO5J0PMxPl4ZFIiQrGitBwuGtkr3sq4l9Kz54fXxamaGI14ZP
   4u7q0QhdnlDur0wa7lGATV6wzRxAMuvRcH6wA9I/D2wiWD7b+Tvb7DuVx
   w=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: agwjQFoBElyj729aO7SRYdm4ddjcICK/Vbt5KsA6VxElZCZZFARe6RSkz7N0D+mZwn2VpTke4X
 ZxYh8659465PhyN/rchPhKXvwlXP3hJKc3o15VAkvQVKdphHjgXUuFRSiE8u45uhtXPELLqyX0
 GeVeBWs49f0NIvOp3Bt7iG0GF4PzsHh+OVSm/deAb2NzMWlugdKh9PK+KE1Ag7ghEdFgSDwVOB
 VBO4bw1cwt7AE6av2mhBKmb63ZBiDU+7sjhZxiQhZb45iifpEYPzFtwItGhscV2E1iPZXBZbtJ
 cEx6M96gSkXeWz41hEUAI7F6
X-SBRS: 5.2
X-MesageID: 62529907
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:8U7q7qPU716TpJbvrR33kcFynXyQoLVcMsEvi/4bfWQNrUoq0mcDz
 TFJWzrUMvmLY2r8eNwgbo2280xQ6J6EndU1GQto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdpJYz/uUGuCJQUNUjMlkfZKhTr6UUsxNbVU8En150Eg4w7RRbrNA2rBVPSvc4
 bsenOWHULOV82Yc3rU8sv/rRLtH5ZweiRtA1rAMTakjUGz2zhH5OKk3N6CpR0YUd6EPdgKMq
 0Qv+5nilo/R109F5tpICd8XeGVSKlLZFVDmZna7x8FOK/WNz8A/+v9TCRYSVatYo2yJmNwo6
 eRoiYyfZFwvBZPQs+1GawYNRkmSPYUekFPGCX22sMjVxEzaaXr8hf5pCSnaP6VBpLwxWzsXs
 6VFdnZdNXhvhMrvqF6/YvNrnd9lKMDkMZkAs3Vk5TrYEewnUdbIRKCiCdpwgm1t3JEfRam2i
 8wxYBFWXVPMQwJ0HGwNDoxlmsXwlHbDWmgNwL6SjfVuuDWCpOBr65DoOcDed9jMTN1bk0KSr
 3/D12v8CxAecteYzFKt92mwrvXCkSPyRMQZE7jQ3udnhUDWymENBRk+U1y9rv+kzEmkVLp3O
 0ESvyYjs6U23EiqVcXmGQ21pmaeuRwRUMYWFPc1gCmVwK3S8QefB0AeQzJBYcBgv8gzLRQy3
 0KNt8PkA3poqrL9YWmG6r6eoDe2OC4UBWwPfykJSU0C+daLiIw/kxvVQtFLEKe/jdruBXf2z
 izihDI/jLUal8JN16i98V3dmDWqjpzISAcv4UPQRG3N0+9iTNf7PcryswGdtKseatbCJrWcg
 JQas5Ge6+xXLKCoqDyibb4LJ4+1zP/eCCKJ1DaDAKId3ziq/neie6VZ7zd/OFplP644RNP5X
 KPAkVgPvcEOZRNGeYcyOtvsUJpykcAMAPy4Dqi8UzZYXnRmmOZrFglKbFXY4W3imVNEfUoXa
 cbCKpbE4Zr35M1aINuKqwU1jOVDKsMWnzq7qXXHI/OPiuL2WZJtYe1ZWGZil8hghE9+nC3b8
 sxEK+yBwAhFXev1b0H/qNBPdwFUdiNmVMGo8qS7k9JvxSI9QAkc5wL5m+t9K+SJYYwL/gs3w
 p1NchABkweu7ZE2AQ6LdmpieNvSsWVX9hoG0dgXFQ/wgRALON/3hI9GLsdfVeR5qIRLkKAlJ
 9FYK5ToKqkeEVzvpmVCBaQRWaQ/LnxHcyrUYXr8CNX+FrY9LzH0FijMJ1u2q3JWX3Pp7KPTY
 dSIj2vmfHbKfCw6ZO6+VR5l5wrZUaE1lL0gUk3WDMNUfUmwooFmJzao1q08It0WKAWFzTyfj
 l7EDRAdrOjLgok07NiW2vzU89b3S7NzThhAAm3WzbeqLi2GrGCt9pBNDbSTdjfHWWKqpKj7P
 bdJz+vxOeEslUpRt9YuCK5iyK8zvoO9p7JTwgl+Mm/MalCnVuFpLnWchJEdvaxR3L5J/wCxX
 xvXqNVdPLyIPuLjEUIQe1V5PrjSi6lMl2CLv/ovIUj86Ctmx5a9UB1fb0uWlShQDLppK4d5k
 +0vj9Ebtl6kgR0wP9fY0i0NrzaQLmYNWrkMv40BBNO5kRIiz1xPbMCOCiLy553TOdxAPlNzf
 22RjavGwb9d2lDDYzw4En2UhbhRgpEHuRZryl4eJgvWxoqZ16FvhBABoy4qSgl1zwlc17MhM
 2dmAER5OKGS8mo6n8NERW2tR1lMCRDxFpYdELfVeLk1l3WVa1E=
IronPort-HdrOrdr: A9a23:XxqP0qot8ckHyIRabizh0UEaV5oleYIsimQD101hICG8cqSj9v
 xG+85rsiMc6QxhIU3I9urwW5VoLUmyyXcX2/h0AV7BZniFhILAFugLhuGOrwEIcxeOkNK1vp
 0BT0ERMrPN5CBB/KPH3DU=
X-IronPort-AV: E=Sophos;i="5.88,311,1635220800"; 
   d="scan'208";a="62529907"
From: Ross Lagerwall <ross.lagerwall@citrix.com>
To: Stefano Stabellini <sstabellini@kernel.org>, Anthony Perard
	<anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>
CC: Ross Lagerwall <ross.lagerwall@citrix.com>, Igor Druzhinin
	<igor.druzhinin@citrix.com>, Paolo Bonzini <pbonzini@redhat.com>, "Richard
 Henderson" <richard.henderson@linaro.org>, Eduardo Habkost
	<eduardo@habkost.net>, "Michael S. Tsirkin" <mst@redhat.com>, "Marcel
 Apfelbaum" <marcel.apfelbaum@gmail.com>, <xen-devel@lists.xenproject.org>,
	<qemu-devel@nongnu.org>
Subject: [PATCH v2] xen-mapcache: Avoid entry->lock overflow
Date: Mon, 24 Jan 2022 10:44:50 +0000
Message-ID: <20220124104450.152481-1-ross.lagerwall@citrix.com>
X-Mailer: git-send-email 2.27.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

In some cases, a particular mapcache entry may be mapped 256 times
causing the lock field to wrap to 0. For example, this may happen when
using emulated NVME and the guest submits a large scatter-gather write.
At this point, the entry map be remapped causing QEMU to write the wrong
data or crash (since remap is not atomic).

Avoid this overflow by increasing the lock field to a uint32_t and also
detect it and abort rather than continuing regardless.

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
---
Changes in v2: Change type to uint32_t since there is a hole there
anyway. The struct size remains at 48 bytes on x86_64.

 hw/i386/xen/xen-mapcache.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/hw/i386/xen/xen-mapcache.c b/hw/i386/xen/xen-mapcache.c
index bd47c3d672..f2ef977963 100644
--- a/hw/i386/xen/xen-mapcache.c
+++ b/hw/i386/xen/xen-mapcache.c
@@ -52,7 +52,7 @@ typedef struct MapCacheEntry {
     hwaddr paddr_index;
     uint8_t *vaddr_base;
     unsigned long *valid_mapping;
-    uint8_t lock;
+    uint32_t lock;
 #define XEN_MAPCACHE_ENTRY_DUMMY (1 << 0)
     uint8_t flags;
     hwaddr size;
@@ -355,6 +355,12 @@ tryagain:
     if (lock) {
         MapCacheRev *reventry = g_malloc0(sizeof(MapCacheRev));
         entry->lock++;
+        if (entry->lock == 0) {
+            fprintf(stderr,
+                    "mapcache entry lock overflow: "TARGET_FMT_plx" -> %p\n",
+                    entry->paddr_index, entry->vaddr_base);
+            abort();
+        }
         reventry->dma = dma;
         reventry->vaddr_req = mapcache->last_entry->vaddr_base + address_offset;
         reventry->paddr_index = mapcache->last_entry->paddr_index;
-- 
2.27.0



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 10:59:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 10:59:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259835.448531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBx4D-0005aF-Nz; Mon, 24 Jan 2022 10:59:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259835.448531; Mon, 24 Jan 2022 10:59: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 1nBx4D-0005a8-L0; Mon, 24 Jan 2022 10:59:21 +0000
Received: by outflank-mailman (input) for mailman id 259835;
 Mon, 24 Jan 2022 10:59:19 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nBx4B-0005Zy-Rs; Mon, 24 Jan 2022 10:59:19 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nBx4B-0007FA-Nw; Mon, 24 Jan 2022 10:59: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 1nBx4B-00011W-DT; Mon, 24 Jan 2022 10:59:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nBx4B-0003Xt-D4; Mon, 24 Jan 2022 10: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=bRNl0rMYUZBpmOD+K+qesk/fhAFlNjFm0i7yswzLiVg=; b=jkQaR0DiVOqULZtyvrwozaobO6
	wHSd6sJ/Sf/90RnG4L1zu3iRbUFDRHCFiZNH2sY0dxUB0P3Z4lKW72wltkwB7y7cOHNbl54w+Phd8
	Ng6xvl0GJVuGWR7jpIDWcc/H8JdlRmbcOaWzdhHjfn/SVoYuf3w1ERw3/qWt8ddMz8Kg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167804-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 167804: regressions - FAIL
X-Osstest-Failures:
    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:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=eee062d7a263a2c26c375812aeee6736bac53dd0
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 24 Jan 2022 10:59:19 +0000

flight 167804 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167804/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              eee062d7a263a2c26c375812aeee6736bac53dd0
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  563 days
Failing since        151818  2020-07-11 04:18:52 Z  562 days  544 attempts
Testing same since   167791  2022-01-22 04:18:47 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>
  Ani Sinha <ani@anisinha.ca>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  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>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  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>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  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>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  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 Chevsky <nchevsky@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>
  Or Ozeri <oro@il.ibm.com>
  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>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott 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>
  Stefan Hajnoczi <stefanha@redhat.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>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Дамјан Георгиевски <gdamjan@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 94178 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Jan 24 11:49:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 11:49:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259844.448543 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBxqY-0002Op-PR; Mon, 24 Jan 2022 11:49:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259844.448543; Mon, 24 Jan 2022 11:49:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBxqY-0002Oi-MQ; Mon, 24 Jan 2022 11:49:18 +0000
Received: by outflank-mailman (input) for mailman id 259844;
 Mon, 24 Jan 2022 11:49: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 1nBxqX-0002OY-Jf; Mon, 24 Jan 2022 11:49: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 1nBxqX-00088L-Gt; Mon, 24 Jan 2022 11:49: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 1nBxqX-0002EE-7g; Mon, 24 Jan 2022 11:49:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nBxqX-0004S6-7E; Mon, 24 Jan 2022 11: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=ecEMM4WVMHFersC0EnXpARpHqAjhi6amBD7EH5RaFm0=; b=26/rcdkXHEzCEd30U7XTlOycDg
	EOuGY3oA3Wn93IyXdzD4xL90Otx07FlylmVDLw8X0KY8x/d0MiN9pCGKwa74HPPjUU0PheEQLQ8KZ
	dTOXPL71y9S6aHFLI683hWKiWcGg36nXF6Xejy4OIsm1DjB+0tNU2VJlehyZVKuF3Q68=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167805-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 167805: 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=ec32910f4f871dce0f0e32dfb36f218fa1a2e869
X-Osstest-Versions-That:
    xen=fe9be76d880b1d43b9dca471f45af3fd380ecb00
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 24 Jan 2022 11:49:17 +0000

flight 167805 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167805/

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                  ec32910f4f871dce0f0e32dfb36f218fa1a2e869
baseline version:
 xen                  fe9be76d880b1d43b9dca471f45af3fd380ecb00

Last test of basis   167789  2022-01-21 20:02:56 Z    2 days
Testing same since   167805  2022-01-24 08:01:41 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
  Jan Beulich <jbeulich@suse.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   fe9be76d88..ec32910f4f  ec32910f4f871dce0f0e32dfb36f218fa1a2e869 -> smoke


From xen-devel-bounces@lists.xenproject.org Mon Jan 24 12:08:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 12:08:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259854.448554 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBy8X-0004oa-Hs; Mon, 24 Jan 2022 12:07:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259854.448554; Mon, 24 Jan 2022 12:07:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBy8X-0004oT-E5; Mon, 24 Jan 2022 12:07:53 +0000
Received: by outflank-mailman (input) for mailman id 259854;
 Mon, 24 Jan 2022 12:07:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9bCX=SI=xilinx.com=ayankuma@srs-se1.protection.inumbo.net>)
 id 1nBy8U-0004oN-Un
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 12:07:51 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20609.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::609])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3e03f395-7d0e-11ec-8fa7-f31e035a9116;
 Mon, 24 Jan 2022 13:07:49 +0100 (CET)
Received: from BN1PR13CA0018.namprd13.prod.outlook.com (2603:10b6:408:e2::23)
 by SA0PR02MB7484.namprd02.prod.outlook.com (2603:10b6:806:e0::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.14; Mon, 24 Jan
 2022 12:07:44 +0000
Received: from BN1NAM02FT050.eop-nam02.prod.protection.outlook.com
 (2603:10b6:408:e2:cafe::f2) by BN1PR13CA0018.outlook.office365.com
 (2603:10b6:408:e2::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.14 via Frontend
 Transport; Mon, 24 Jan 2022 12:07:44 +0000
Received: from xir-pvapexch01.xlnx.xilinx.com (149.199.80.198) by
 BN1NAM02FT050.mail.protection.outlook.com (10.13.2.158) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4909.8 via Frontend Transport; Mon, 24 Jan 2022 12:07:44 +0000
Received: from xir-pvapexch01.xlnx.xilinx.com (172.21.17.15) by
 xir-pvapexch01.xlnx.xilinx.com (172.21.17.15) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2176.14; Mon, 24 Jan 2022 12:07:43 +0000
Received: from smtp.xilinx.com (172.21.105.197) by
 xir-pvapexch01.xlnx.xilinx.com (172.21.17.15) with Microsoft SMTP Server id
 15.1.2176.14 via Frontend Transport; Mon, 24 Jan 2022 12:07:42 +0000
Received: from [10.71.118.129] (port=7329)
 by smtp.xilinx.com with esmtp (Exim 4.90)
 (envelope-from <ayan.kumar.halder@xilinx.com>)
 id 1nBy8M-0005Vz-Qb; Mon, 24 Jan 2022 12:07:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3e03f395-7d0e-11ec-8fa7-f31e035a9116
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JpnPrlGm37lfQrlv/7vHjw7+LzXv0RgDiJ00MBn3jYPV54ZiZkHsuojqH2NfkEZC0OvQYqAs1+kUFTNmKXM5m7XSxEpwCuWMj6eZpoUmutarFGFRLkDinFsliKV3yiXzflx9K2hTiJJsI/DTnxTzPsoUuw9jX3zwlR0v1oCXXikrOJnhLtNxQheumI5+dxvPYCcBkGKw+KtFKIkmXvAFPkPt6w4U7x9PgQNXszCS7uOm8NZpQ4vxfGGBiujbzHyZEmwMat2EjcgvqzCMupQv/boKEEey9mCMnsKAUzERtPIrLfdVMwY6mjMsr0or2C6aR0nVR+7weOZYXUujDUzBbg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5DgWwIV/8oGFVuqKn4vHhFLJIEwBLNV98jsdtemweOM=;
 b=S0MAHhB8UfzLTGG1LhjvEfs+jsbNGozfYtQhOKYG9tx85Fin7yG7WOoO7FUlVjlrfxwbbaJf77usoifqjKWtnWjYAjlzRwzIGjqJpQwy+uhikn6qgTw3v8TvcOU7XHbd2Y0SR/lPvxNHUzKsndS92zGFZFy3Hup0xNSXmByMMBAZnh+06WV6tV1z9UXz8WafW4Rx0EnY7wDhHB3GaA3QGpx+Qk9OGr7AfvPZAKG+uUtqX4vFAvLpZTdWyfEI0tmTH3VLe99yBaO+6Q6D9CdPJB0ElNqPDs5zt3nkmb40pS32qt+LMu2eVQxrKTAS/4UQf1h+A5ZZFgY/ZhLGWbD4Ww==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 149.199.80.198) smtp.rcpttodomain=arm.com smtp.mailfrom=xilinx.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=xilinx.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5DgWwIV/8oGFVuqKn4vHhFLJIEwBLNV98jsdtemweOM=;
 b=PyGbxBgqgUi1obZEMFh+sQNE7QUtR6d3g4fWeMtkDJ/tmiz3pkVik+ov24fyxE15C/vLP6G5RaduOWHbYBDBdoQSkee39cT79nuuJxFmdbw2BUk06Pdran9NogQXGUO+wO9dg5i5XEqcg4l6RKNA3g8HhDbnknc8hBgooOuNDYw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 149.199.80.198)
 smtp.mailfrom=xilinx.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=xilinx.com;
Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates
 149.199.80.198 as permitted sender) receiver=protection.outlook.com;
 client-ip=149.199.80.198; helo=xir-pvapexch01.xlnx.xilinx.com;
Message-ID: <18e715ae-111d-58e6-55f9-a48a521e99b3@xilinx.com>
Date: Mon, 24 Jan 2022 12:07:42 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.0
Subject: Re: [XEN v3] xen/arm64: io: Decode ldr/str post-indexing instructions
To: Andre Przywara <andre.przywara@arm.com>, Ayan Kumar Halder
	<ayan.kumar.halder@xilinx.com>
CC: <xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
	<stefanos@xilinx.com>, <julien@xen.org>, <Volodymyr_Babchuk@epam.com>,
	<bertrand.marquis@arm.com>, <jbeulich@suse.com>, <wei.chen@arm.com>
References: <20220120215527.28138-1-ayankuma@xilinx.com>
 <20220122013046.6a786d3f@slackpad.fritz.box>
From: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>
In-Reply-To: <20220122013046.6a786d3f@slackpad.fritz.box>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 614d2146-fdc8-4e70-3445-08d9df3220f0
X-MS-TrafficTypeDiagnostic: SA0PR02MB7484:EE_
X-Microsoft-Antispam-PRVS:
	<SA0PR02MB748459DAFB70233CF73D1312B25E9@SA0PR02MB7484.namprd02.prod.outlook.com>
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
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:
	p5TZV5RfSmukRmvHtQvsSdyF+eRdN6WhiMrxk/B3ByJvHR00yypTSKL9bhLp+vYt02kl1j+Pj7c8tSMj+W4GhvkjZXkqgXms+Kj6GDcEBAU6VflzD0zI8X+WLT0Pn5f3/1n9myGvBcrvNjvlvMRf294zQ9HSbjJJ6oqy0lfahZeNMPgTnyAkuDEubOQSPSPOQ8h+6j8mlzRvQ3eaTF3ewYxGsBdf2KO2glQRFBH8zVVlcHZfXgTLTxsGeN7V43mdZPU0Q8FPJlynw8gI8InLQOre5RuWrrDel+LzSBlu9IJm7YwVtXbY4DLzS3YuKQs3cBgoVlhZRjpkudGVs5l1dl11qJqLomXmB29BMWLSHU+u6w6yJuUu2cQFGIgEcIN3/nrj7dskkCC1nDo6AjZNkAJlZWY2kajAM/jKwK5Mx06hxsONtjWVZHu73oKy1ubFZ2n3F0kPe6ZZGWwy1K1kwUAzEP9wJlHv1Pf7WK5dP/9gB7ZT/uhnOtM6TMsZOZI6USq2T+KVb3AQ0XUwruuHszwF5xCo2KCqjjglVGAyAs1apju1jv8mIppbHNGzl5nHwhK/r1mD/V1h7mWsMPcsFEV1VDFGgqFaRD4VCVKggTnaaOz5KGpDuk/KzLn8siZ4G2Ug/YcBXw/WDOn7+HcK1JdAULkQAXq9YB76S0opT0e0xDyfROf9Av6SR+c0CAygLv0DnTYghFQN9R4dsraxCN7cJIcYP9pi1sfg/olD7JYcil4LDwKESaPxiw4MKTzlANw2o78ZRjMGqEhZbbyKauSMAlMkxlo3w9UvA0YU1fPc32WtD1sLWdZUxwg6NujSpyU1gholnaGqjdW9UDc7qIFlme1cInCOJzW3wgqjoIZ/YIRJChVV6pC3jBx+cdMP
X-Forefront-Antispam-Report:
	CIP:149.199.80.198;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:xir-pvapexch01.xlnx.xilinx.com;PTR:unknown-80-198.xilinx.com;CAT:NONE;SFS:(4636009)(46966006)(36840700001)(70206006)(31696002)(5660300002)(30864003)(316002)(356005)(7636003)(508600001)(36860700001)(8936002)(2616005)(31686004)(47076005)(2906002)(426003)(336012)(70586007)(26005)(9786002)(82310400004)(4326008)(36756003)(966005)(83380400001)(110136005)(8676002)(53546011)(54906003)(186003)(50156003)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: xilinx.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jan 2022 12:07:44.1888
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 614d2146-fdc8-4e70-3445-08d9df3220f0
X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c;Ip=[149.199.80.198];Helo=[xir-pvapexch01.xlnx.xilinx.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1NAM02FT050.eop-nam02.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR02MB7484

Hi Andre,

Many thanks for your feedback. I have one clarification :-

On 22/01/2022 01:30, Andre Przywara wrote:
> On Thu, 20 Jan 2022 21:55:27 +0000
> Ayan Kumar Halder <ayan.kumar.halder@xilinx.com> wrote:
>
> Hi,
>
>> At the moment, Xen is only handling data abort with valid syndrome (i.e.
>> ISV=0). Unfortunately, this doesn't cover all the instructions a domain
>> could use to access MMIO regions.
>>
>> For instance, a baremetal OS can use any of the following instructions, where
>> x1 contains the address of the MMIO region:
>>
>> 1.      ldr     x2,    [x1],    #4
> That looks dodgy, since is misaligns the pointer afterwards. MMIO
> access typically go to device memory, which must be naturally aligned.
> Just don't give a bad example here and change that to a multiple of 8.
>
>> 2.      ldr     w2,    [x1],    #-4
> (this one is fine, btw, because it's a 32-bit read)
>
>> 3.      ldr     x2,    [x1],    #-8
>> 4.      ldr     w2,    [x1],    #4
>> 5.      ldrh    w2,    [x1],    #8
>> 6.      ldrb    w2,    [x1],    #16
> More naturally I'd use the data size of the postindex value ...
> ldr  x2 ... #-8
> ldr  w2 ... #4
> ldrh w2 ... #2
> ldrb w2 ... #1
>
>> 7.      str     x2,    [x1],    #4
> This is a again problematic, because x1 is not 8-byte aligned anymore
> after that.
>
>> 8.      str     w2,    [x1],    #-4
>> 9.      strh    w2,    [x1],    #8
>> 10.     strb    w2,    [x1],    #16
>>
>> In the following two instructions, sp contains the address of the MMIO region:-
> Really? I don't think you should give people funny ideas, just mention
> that the Rn register could theoretically be the stack pointer.
>
>> 11.     ldrb    w2,    [sp],    #16
>> 12.     ldrb    wzr,   [sp],    #16
>>
>> In order to handle post-indexing store/load instructions (like those mentioned
>> above), Xen will need to fetch and decode the instruction.
>>
>> This patch only cover post-index store/load instructions from AArch64 mode.
>> For now, this is left unimplemented for trap from AArch32 mode.
>>
>> Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
>> ---
>>
>> Changelog :-
>> v2 - 1. Updated the rn register after reading from it. (Pointed by Julien,
>>          Stefano)
>>       2. Used a union to represent the instruction opcode (Suggestd by Bertrand)
>>       3. Fixed coding style issues (Pointed by Julien)
>>       4. In the previous patch, I was updating dabt->sign based on the signedness
>>          of imm9. This was incorrect. As mentioned in ARMv8 ARM  DDI 0487G.b,
>>          Page 3221, SSE indicates the signedness of the data item loaded. In our
>>          case, the data item loaded is always unsigned.
>>
>> v3- 1. Handled all the variants of ldr/str (ie 64, 32, 16, 8 bit variants).
>>         Thus, I have removed the check for "instr->code.opc == 0" (Suggested by
>>         Andre)
>>      2. Handled the scenario when rn = SP, rt = XZR (Suggested by Jan, Andre)
>>      3. Added restriction for "rt != rn" (Suggested by Andre)
>>      4. Moved union ldr_str_instr_class {} to decode.h. This is the header included
>>         by io.c and decode.c (where the union is referred). (Suggested by Jan)
>>      5. Indentation and typo fixes (Suggested by Jan)
>>
>> Changes suggested but could not be considered due to reasons :-
>>      1. Using accessor macros instead of bitfields for "ldr_str_instr_class". (Andre)
>>         Reason - I could not find a simple way to represent 9 bit signed integer
>>         (ie imm9) without using bitfields. If I use accessor macros, then I need
>>         to manually calculate two's complement to obtain the value when signed
>>         bit is present.
>>
>>      2. I/D cache cohenerncy (Andre)
>>         Reason :- I could not see any instruction to flush the I cache.
> First, please try to avoid the term "flush", because it is somewhat
> overloaded. The architecture speaks of "clean" and "invalidate", which
> are more precise.
> Assuming you mean "clean" here: conceptually there is no such thing for
> the I cache, because it's always clean. The I$ will only be read from
> the CPU side - from the instruction fetcher - there is nothing written
> back through it. Every store goes through the data path - always.
> That is the problem that I tried to sketch you previously: you don't
> have a guarantee that the instruction you read from memory is the same
> that the CPU executed. The guest could have changed the instruction
> after the I$ fetched that. So the CPU will execute (and trap) on
> instruction X, but you will read Y. I leave it up to your imagination
> if that could be exploited.

I see what you mean.

Refer Armv8 Arm DDI 0487G.b Page D1-2476, it says that (for instr/data 
abort) the faulting virtual address and IPA is saved in FAR_ELx and 
HPFAR_EL2 respectively. But, I do not see if the faulting instruction is 
saved in any special register. Is there something I am missing ?

Else, :( this is a limitation of the architecture (imo). A hypervisor 
can be interested to see which instruction caused the abort when ISV = 0.

Also, if an instruction is being modified by the guest (after it has 
been loaded in the I cache), and if the guest does not invalidate the I 
cache + ISB, then this is a malicious behavior by the guest. Is my 
understanding correct ?

- Ayan

>
>>         Refer https://developer.arm.com/documentation/ddi0596/2021-12/Base-Instructions/IC--Instruction-Cache-operation--an-alias-of-SYS-?lang=en#sa_ic_op
>>         So, this patch assumes that the I/D caches are coherent.
> Bold. ;-)
>
> Cheers,
> Andre
>
>>   xen/arch/arm/decode.c | 78 ++++++++++++++++++++++++++++++++++++++++++-
>>   xen/arch/arm/decode.h | 29 +++++++++++++++-
>>   xen/arch/arm/io.c     | 66 ++++++++++++++++++++++++++++++++----
>>   3 files changed, 165 insertions(+), 8 deletions(-)
>>
>> diff --git a/xen/arch/arm/decode.c b/xen/arch/arm/decode.c
>> index 792c2e92a7..f1c59ddd1a 100644
>> --- a/xen/arch/arm/decode.c
>> +++ b/xen/arch/arm/decode.c
>> @@ -84,6 +84,76 @@ bad_thumb2:
>>       return 1;
>>   }
>>   
>> +static int decode_loadstore_postindexing(register_t pc,
>> +                                         struct hsr_dabt *dabt,
>> +                                         union ldr_str_instr_class *instr)
>> +{
>> +    if ( raw_copy_from_guest(&instr->value, (void * __user)pc, sizeof (instr)) )
>> +        return -EFAULT;
>> +
>> +    /*
>> +     * Rn -ne Rt for ldr/str instruction.
>> +     * Check https://developer.arm.com/documentation/dui0802/a/CIHGJHED
>> +     * (Register restrictions)
>> +     *
>> +     * The only exception for this is when rn = 31. It denotes SP ("Use of SP")
>> +     *
>> +     * And when rt = 31, it denotes wzr/xzr. (Refer
>> +     * https://developer.arm.com/documentation/den0024/a/ARMv8-Registers/AArch64-special-registers
>> +     * "There is no register called X31 or W31. Many instructions are encoded
>> +     * such that the number 31 represents the zero register, ZR (WZR/XZR)."
>> +     */
>> +    if ( (instr->code.rn == instr->code.rt) && (instr->code.rn != 31) )
>> +        return -EINVAL;
>> +
>> +    /* First, let's check for the fixed values */
>> +    if ( !((instr->code.fixed1 == 1) && (instr->code.fixed2 == 0) &&
>> +         (instr->code.fixed3 == 0) && (instr->code.fixed4 == 7)) )
>> +    {
>> +        gprintk(XENLOG_ERR, "Cannot decode instruction 0x%x",instr->value);
>> +        gprintk(XENLOG_ERR, "Decoding not supported for instructions other than"
>> +            " ldr/str post indexing\n");
>> +        goto bad_32bit_loadstore;
>> +    }
>> +
>> +    if ( instr->code.v != 0 )
>> +    {
>> +        gprintk(XENLOG_ERR,
>> +            "ldr/str post indexing for vector types are not supported\n");
>> +        goto bad_32bit_loadstore;
>> +    }
>> +
>> +    /* Check for STR (immediate) - 32 bit variant */
>> +    if ( instr->code.opc == 0 )
>> +    {
>> +        dabt->write = 1;
>> +    }
>> +    /* Check for LDR (immediate) - 32 bit variant */
>> +    else if ( instr->code.opc == 1 )
>> +    {
>> +        dabt->write = 0;
>> +    }
>> +    else
>> +    {
>> +        gprintk(XENLOG_ERR,
>> +            "Decoding ldr/str post indexing is not supported for this variant\n");
>> +        goto bad_32bit_loadstore;
>> +    }
>> +
>> +    gprintk(XENLOG_INFO,
>> +        "instr->code.rt = 0x%x, instr->code.size = 0x%x, instr->code.imm9 = %d\n",
>> +        instr->code.rt, instr->code.size, instr->code.imm9);
>> +
>> +    update_dabt(dabt, instr->code.rt, instr->code.size, false);
>> +    dabt->valid = 1;
>> +
>> +    return 0;
>> +
>> + bad_32bit_loadstore:
>> +    gprintk(XENLOG_ERR, "unhandled 32bit Arm instruction 0x%x\n", instr->value);
>> +    return 1;
>> +}
>> +
>>   static int decode_thumb(register_t pc, struct hsr_dabt *dabt)
>>   {
>>       uint16_t instr;
>> @@ -150,11 +220,17 @@ bad_thumb:
>>       return 1;
>>   }
>>   
>> -int decode_instruction(const struct cpu_user_regs *regs, struct hsr_dabt *dabt)
>> +int decode_instruction(const struct cpu_user_regs *regs, struct hsr_dabt *dabt,
>> +                       union ldr_str_instr_class *instr)
>>   {
>>       if ( is_32bit_domain(current->domain) && regs->cpsr & PSR_THUMB )
>>           return decode_thumb(regs->pc, dabt);
>>   
>> +    if ( (is_64bit_domain(current->domain) && !psr_mode_is_32bit(regs)) )
>> +    {
>> +        return decode_loadstore_postindexing(regs->pc, dabt, instr);
>> +    }
>> +
>>       /* TODO: Handle ARM instruction */
>>       gprintk(XENLOG_ERR, "unhandled ARM instruction\n");
>>   
>> diff --git a/xen/arch/arm/decode.h b/xen/arch/arm/decode.h
>> index 4613763bdb..5c918c9bed 100644
>> --- a/xen/arch/arm/decode.h
>> +++ b/xen/arch/arm/decode.h
>> @@ -23,6 +23,32 @@
>>   #include <asm/regs.h>
>>   #include <asm/processor.h>
>>   
>> +/*
>> + * Refer to the ARMv8 ARM (DDI 0487G.b), Section C4.1.4 Loads and Stores
>> + * Page 318 specifies the following bit pattern for
>> + * "load/store register (immediate post-indexed)".
>> + *
>> + * 31 30 29  27 26 25  23   21 20              11   9         4       0
>> + * ___________________________________________________________________
>> + * |size|1 1 1 |V |0 0 |opc |0 |      imm9     |0 1 |  Rn     |  Rt   |
>> + * |____|______|__|____|____|__|_______________|____|_________|_______|
>> + */
>> +union ldr_str_instr_class {
>> +    uint32_t value;
>> +    struct ldr_str {
>> +        unsigned int rt:5;     /* Rt register */
>> +        unsigned int rn:5;     /* Rn register */
>> +        unsigned int fixed1:2; /* value == 01b */
>> +        signed int imm9:9;            /* imm9 */
>> +        unsigned int fixed2:1; /* value == 0b */
>> +        unsigned int opc:2;    /* opc */
>> +        unsigned int fixed3:2; /* value == 00b */
>> +        unsigned int v:1;      /* vector */
>> +        unsigned int fixed4:3; /* value == 111b */
>> +        unsigned int size:2;   /* size */
>> +    } code;
>> +};
>> +
>>   /**
>>    * Decode an instruction from pc
>>    * /!\ This function is not intended to fully decode an instruction. It
>> @@ -35,7 +61,8 @@
>>    */
>>   
>>   int decode_instruction(const struct cpu_user_regs *regs,
>> -                       struct hsr_dabt *dabt);
>> +                       struct hsr_dabt *dabt,
>> +                       union ldr_str_instr_class *instr);
>>   
>>   #endif /* __ARCH_ARM_DECODE_H_ */
>>   
>> diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
>> index 729287e37c..acb483f235 100644
>> --- a/xen/arch/arm/io.c
>> +++ b/xen/arch/arm/io.c
>> @@ -65,6 +65,39 @@ static enum io_state handle_write(const struct mmio_handler *handler,
>>       return ret ? IO_HANDLED : IO_ABORT;
>>   }
>>   
>> +static void post_increment_register(union ldr_str_instr_class *instr)
>> +{
>> +    struct cpu_user_regs *regs = guest_cpu_user_regs();
>> +    unsigned int val;
>> +
>> +    /* handle when rn = SP */
>> +    if ( instr->code.rn == 31 )
>> +    {
>> +        if ( (regs->cpsr & PSR_MODE_MASK) == PSR_MODE_EL1h )
>> +        {
>> +            val = regs->sp_el1;
>> +        }
>> +        else
>> +        {
>> +            BUG();
>> +        }
>> +    }
>> +    else
>> +    {
>> +        val = get_user_reg(regs, instr->code.rn);
>> +    }
>> +    val += instr->code.imm9;
>> +
>> +    if ( instr->code.rn == 31 )
>> +    {
>> +        regs->sp_el1 = val;
>> +    }
>> +    else
>> +    {
>> +        set_user_reg(regs, instr->code.rn, val);
>> +    }
>> +}
>> +
>>   /* This function assumes that mmio regions are not overlapped */
>>   static int cmp_mmio_handler(const void *key, const void *elem)
>>   {
>> @@ -106,14 +139,29 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>>           .gpa = gpa,
>>           .dabt = dabt
>>       };
>> +    int rc;
>> +    union ldr_str_instr_class instr = {0};
>>   
>>       ASSERT(hsr.ec == HSR_EC_DATA_ABORT_LOWER_EL);
>>   
>> +    /*
>> +     * Armv8 processor does not provide a valid syndrome for post-indexing
>> +     * ldr/str instructions. So in order to process these instructions,
>> +     * Xen must decode them.
>> +     */
>> +    if ( !info.dabt.valid )
>> +    {
>> +        rc = decode_instruction(regs, &info.dabt, &instr);
>> +        if ( rc )
>> +        {
>> +            gprintk(XENLOG_DEBUG, "Unable to decode instruction\n");
>> +            return IO_ABORT;
>> +        }
>> +    }
>> +
>>       handler = find_mmio_handler(v->domain, info.gpa);
>>       if ( !handler )
>>       {
>> -        int rc;
>> -
>>           rc = try_fwd_ioserv(regs, v, &info);
>>           if ( rc == IO_HANDLED )
>>               return handle_ioserv(regs, v);
>> @@ -122,7 +170,7 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>>       }
>>   
>>       /* All the instructions used on emulated MMIO region should be valid */
>> -    if ( !dabt.valid )
>> +    if ( !info.dabt.valid )
>>           return IO_ABORT;
>>   
>>       /*
>> @@ -134,7 +182,7 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>>       {
>>           int rc;
>>   
>> -        rc = decode_instruction(regs, &info.dabt);
>> +        rc = decode_instruction(regs, &info.dabt, NULL);
>>           if ( rc )
>>           {
>>               gprintk(XENLOG_DEBUG, "Unable to decode instruction\n");
>> @@ -143,9 +191,15 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>>       }
>>   
>>       if ( info.dabt.write )
>> -        return handle_write(handler, v, &info);
>> +        rc = handle_write(handler, v, &info);
>>       else
>> -        return handle_read(handler, v, &info);
>> +        rc = handle_read(handler, v, &info);
>> +
>> +    if ( instr.value != 0 )
>> +    {
>> +        post_increment_register(&instr);
>> +    }
>> +    return rc;
>>   }
>>   
>>   void register_mmio_handler(struct domain *d,


From xen-devel-bounces@lists.xenproject.org Mon Jan 24 12:10:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 12:10:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259857.448565 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nByAu-00068R-1f; Mon, 24 Jan 2022 12:10:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259857.448565; Mon, 24 Jan 2022 12:10: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 1nByAt-00068K-Sl; Mon, 24 Jan 2022 12:10:19 +0000
Received: by outflank-mailman (input) for mailman id 259857;
 Mon, 24 Jan 2022 12:10: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 1nByAt-00068A-8o; Mon, 24 Jan 2022 12:10: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 1nByAt-0008VS-41; Mon, 24 Jan 2022 12:10: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 1nByAs-0002g2-Ot; Mon, 24 Jan 2022 12:10:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nByAs-0001Gf-OQ; Mon, 24 Jan 2022 12:10:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=zvZzpSxDIcnbCpaVPMOFrHJIhMJtUe58qOtg32HLm/Q=; b=R2/Kh3GMvCKIgym0ApEgEJiFun
	JeAwZzZflsaQffDJEaz1GUegRmLA7xJtgTNn/Xzw4QWcdmabfAaxKtr1j+w3w2+cfaDLvwqN/w4y7
	gPCYSfJhRAO2JQrcBXUnVbPF6zHnhUwQ+G8ndR2OXoxqYyWwIITDWXShhAHhyDNF7ty4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167802-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167802: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-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-armhf-armhf-libvirt: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-armhf-armhf-libvirt-qcow2: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-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=fe9be76d880b1d43b9dca471f45af3fd380ecb00
X-Osstest-Versions-That:
    xen=fe9be76d880b1d43b9dca471f45af3fd380ecb00
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 24 Jan 2022 12:10:18 +0000

flight 167802 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167802/

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 167796
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167796
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167796
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167796
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167796
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167796
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167796
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167796
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167796
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167796
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167796
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167796
 test-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-i386-libvirt      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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  fe9be76d880b1d43b9dca471f45af3fd380ecb00
baseline version:
 xen                  fe9be76d880b1d43b9dca471f45af3fd380ecb00

Last test of basis   167802  2022-01-24 01:53:05 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 13:21:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 13:21:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259867.448576 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBzHE-0004Tp-Hq; Mon, 24 Jan 2022 13:20:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259867.448576; Mon, 24 Jan 2022 13:20:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBzHE-0004Ti-Ec; Mon, 24 Jan 2022 13:20:56 +0000
Received: by outflank-mailman (input) for mailman id 259867;
 Mon, 24 Jan 2022 13:20:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=REvy=SI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nBzHD-0004Tc-03
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 13:20:55 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 748fd4ce-7d18-11ec-8fa7-f31e035a9116;
 Mon, 24 Jan 2022 14:20:53 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2111.outbound.protection.outlook.com [104.47.18.111]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-6-CE_DsYsDO2O2gQgMveSrPw-1; Mon, 24 Jan 2022 14:20:51 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DB7PR04MB5244.eurprd04.prod.outlook.com (2603:10a6:10:21::24) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Mon, 24 Jan
 2022 13:20:49 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.017; Mon, 24 Jan 2022
 13:20:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 748fd4ce-7d18-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643030453;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=SJri2JJBNhtwi/mcM/e5cPT4Xx1ZW0/ELNEn+lzpNeU=;
	b=Y6Ae6rCLvfaerli892s/CMeHILXFHBLNkBNEW2XmhbPEZRy02zds2a1iJzFETVxBMbZ69K
	rb1hjT5e7P1diajsYIfVcJvDfl2dmfpH9M4JrRD3wxJu9VwEizogEDrhfYxyGpHn+5n+uJ
	9/gl7idLj4If5rENz0yY463aV7kCk+I=
X-MC-Unique: CE_DsYsDO2O2gQgMveSrPw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GFSIiOIANY+i7q3M26OLNdSRGCvhGQMlZc/+lKs5GI31dc3j5tFTJbeKFa1vbsi50Qg0aXSshlHdnHH5oInJjghAvn3sJD543keLfH9NuQxrVwPBAi3kkHhmNfMj7GHTQjfe8o52uhHfbyNCkzBe1A/5dx3reh73Ldo1YixfK6M8rroJnfFyWelVbKL5ol50qo8xI+ZiqU3auR+ke5OpjonozN9Heom4tiydvfvtTJ+D/2nZfDWomE+9ixMJuWDAB59SFuWnvKWdJEhDAdzrVWHEyyFLvZoIcuvO2syKfjIQonOTLjPKoPv9RzZIi5YzKmB2ZWuNynt6e8l03oX7ig==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SJri2JJBNhtwi/mcM/e5cPT4Xx1ZW0/ELNEn+lzpNeU=;
 b=HBtzw6HV3CwabHFv/GDLvTBcky63F8MRCJwefFh+uFUfAxwxTTNpXtSjG709nzobMb8zQmx8YVxdf7CGkuxQWM5y+7yd08LDkdKbsXShaQPmiNhMr8+4jxpEyhQyvwElY3dq7XxBB+57sA6Op++MqGyjgIopC5cYGYTETQvjGWTOMr2OfLnLJBEzBHrp551ZbK6vAiLNSmUmhu1hHtvtS6gsBXs+z4Ucvm2YspTq3gtf31psAvhUejFWQwkQr9Xnn+sGPqk+ZmUzHy9YRwaZ3d9OjPPGkk1xQzQXVpMGr2/5/cgBUpjLuU4Q6y6kEQAcetdrhHllytlf4GX5K2MbDw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5f8d332d-1bc3-af71-27ba-a4ff7b6e9514@suse.com>
Date: Mon, 24 Jan 2022 14:20:47 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 1/3] xen/vioapic: add support for the extended destination
 ID field
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20220120152319.7448-1-roger.pau@citrix.com>
 <20220120152319.7448-2-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220120152319.7448-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR04CA0170.eurprd04.prod.outlook.com
 (2603:10a6:20b:331::25) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: fea168e4-e87a-4165-3de0-08d9df3c5661
X-MS-TrafficTypeDiagnostic: DB7PR04MB5244:EE_
X-Microsoft-Antispam-PRVS:
	<DB7PR04MB524461FD5EB75C93DB719F73B35E9@DB7PR04MB5244.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:
	wt0J9puCfFGrRXBAJM41JF3Nkd+gOFJyuNG7afg74ZAfYMiqoe7EIIYeY/UyqTPfgCKvKQpfouOCiBPa+gfxihNMyiQLQJHinDWN++TH5bous+vGktmovgIahrN4lgivAJW3X8PF0E3znmDBQXVWlAuAIXqRYG6shy8DAkxkJ3yY+DcIud488dpXrGbO7DUkFELzqVIO3Ety6w9OQrt/We0ssoEy5NJD8sIcoFEGZK1HnbQPRx+lbwnpGz7MBmpPWPFQrqELzmR2NvvNU85cEn5UhdIr+eGdv3c/cNvryCGQsLQZzg1vaoGyV05jO5V6wblx45Q+mb1VFgQLxGlH1ArdPLAEZbblWm/Z/Glmtb/DcmjKOSyFslKbyNuahD9YyN17fIUVHMMWPR/8NKXFeqYCjTmXiGx7QLN0GzbRpXH2QA+LUAKPq6KOf6KtZqE+QKneEzl6i556ALVcAY4WKNRE9ZKT0dQpYgIUB8RvfL0iTFBKhL/wSHC3DS50f+QnsyM7aIVuIU1A1Xcno9p2b+27q2b4FcAmOKY8MPifgldg32mAIPts+xaON0Y9Yq+PD3FceAo8k+QnZ4UJH4PBjxkY/6qq0oqCX+zbqogVmFFlSUBsuHBUNX02PqG5Oe2DUqSUkkHDBT4bgXowdl7CCMbMKccpiLT4og7um66emheGbS+TwmBjwmA1mif0zEM+nzFtQ6Qg82PbiMrrZlt+iFhspY1Bl6npjzjFioQT2P1A7zK9OMQX8RpS4+3klPzf
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)(36756003)(508600001)(316002)(53546011)(54906003)(186003)(4326008)(6486002)(38100700002)(2616005)(6506007)(2906002)(8936002)(8676002)(6512007)(6916009)(66476007)(5660300002)(66556008)(31686004)(26005)(66946007)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZmgvVW11NEJ0VFErOThJZkZDakRISG5lREg3Wjl0OEtTTTd5SkUzOUJ5Ulpn?=
 =?utf-8?B?TGxiUE4rL3hScEhqTlRiRjJ0NWxYMjZXa3FmOEtCS3FhVmFqM1llZ0pXMEIv?=
 =?utf-8?B?amFqYWhEdElKNEdnbURZY0VVVGxPajRuSnJ6NmphWlFGdU9YcWYza0taOHJ2?=
 =?utf-8?B?WVJrSUpYNWNtMFRvYzlUbGhFU09iRFM5My9LeU1tQjh0aGhGN0ZtK1ZBQlVv?=
 =?utf-8?B?UjN5VDhIUDQwTTYreUtuWGFxRjhVMk56Z3czOTQ2bXFVSTRydzFMTWNmZ29T?=
 =?utf-8?B?R2U2ejNEaGZjV0Q4TTNSZDExb1lja2RYeUNya2YxcFFvUGs5UXNycmQ3UGQ1?=
 =?utf-8?B?TmZNM0dRdG9IQlZVc3hLcTl0VVZaVlRRMko2ZWNkZUhDZ3BWaWZFM3BIdk5p?=
 =?utf-8?B?a01XOWh2bUpiUzNOb0hGYXd4cjRIbldsbGt3anJyMWdBaXp1bUtQSXRMeUVH?=
 =?utf-8?B?YzE1aGhuWTdNTEtlbFordFdjdFArbC9sUVVtQUdYMG5NeXJGWXZpeW1rUkdG?=
 =?utf-8?B?d0hpeU5vOUJqTWlsTXlqa0VkY3FRL0tDVzZIdW5XREIyT0FoYzdORnBGbzc4?=
 =?utf-8?B?SzZTQm1nMnlxY1hMRW1JVVNzMDlTT3g5bzJ0Q2hXVUYzb1lybU5wUkZ5Tk9G?=
 =?utf-8?B?bjVHd09FM0h4S0JKK3VRcTZITTNBNTZQVTFGUG1ocFowSkdnM2MxR3Y2Ylcy?=
 =?utf-8?B?MnhPN2ZQcFVNNVE0aGR1WCs0a1pobklnZi8yRlpCQmpWMjBYSk9hL0FvUlNC?=
 =?utf-8?B?RTIzYVl2TloxelFhMWVyNmVyeitYekVMN0czc1d4ZGg0ZXFha0paUnIybi9K?=
 =?utf-8?B?dGRwKzJFZDF6YmdxNmFNaDRyVis1Q1NVeFhOcWhTMFdGcGRYSjRhazJPQVl4?=
 =?utf-8?B?cnlZcUUrYXIyVW53Q2RpS2wrUElHckxZYnpnL2RWS0lIeFcwM3B4ZFVzbmRM?=
 =?utf-8?B?Rmp6aUdDaS85dnA4Q0NFV0pCc3llYXVUTFc4akhERHU4OExTTUNhalR6M25x?=
 =?utf-8?B?WVQvRGJlRDBOejVTQVlkdVRmZFJXcTNaZ2ZrcnUwWno0V0pOYzRvTmlGYjRj?=
 =?utf-8?B?dmUrSmlQY05FMHVjMGlCQWJIQ3FDM2tCR014RFlKMWVkQlFiUllrRzBnUUQ4?=
 =?utf-8?B?UGpKaGtEU0diL0xJR0NTM3REbkJseU9DTG9jTURnWlVWZkRndXZTeThQUjdx?=
 =?utf-8?B?MmhjUUdsbERKQkRsK0JQcFBUUUw4NFlKOTlqUUQvcGx0ZFR0SGxrNTFJRU56?=
 =?utf-8?B?WXphdllpM1hNYzRmbmhVbVRiS1YrT0hPQ2RKRTFMS1laRURNVVh4MzRBRVQz?=
 =?utf-8?B?MzhmOU94Vit0MmtQd1hvOHVTQUxMdFlQQUJJUklHNjU4ZWtZWXdCYURmK0g5?=
 =?utf-8?B?U1ljOWI4eXB1dkJkbU1TK2xNdlZ5N05jYlFpcHp3dG1uUXZCcnFOUHM1US9x?=
 =?utf-8?B?MmxHUTArazZCYlhOVlBIdEw0WmlEUmRoZ2RwM2p2bGg0ejZrWWxCZHIzak5K?=
 =?utf-8?B?MXBGMHQrTjZoRmxyck9mVHZKMHBOUzZHWFdhZGczV3A0WHBHamExdFdHMm81?=
 =?utf-8?B?dGphd1hxbkljUkpPTkJiakNDcXR1L0FXMVh2eHBQZVN6Wm9QMzk0MXpxM1ZJ?=
 =?utf-8?B?bXEyY2d2dzdQcUprTVJ1bzBVV2U1VmlvVmptejBxUUsyNWpTOFhXclV6N0F0?=
 =?utf-8?B?Uk9rNnl4NzhmMFpNRTY4U2tHejRwaUNubmZnYi9JL0lRTmdJaWZmb1Z2WWV5?=
 =?utf-8?B?YmQ0R1VYaFZ1RzVpcmhMem42RXJoY0ZQYVZRYVZjTjdtRUlINmYyOWlnKzJR?=
 =?utf-8?B?YU1heDJLOVJzZkxBeDJad01udW9yRXNodnZsYjBrbmJDdmZoMVY1L3JSNkxl?=
 =?utf-8?B?WnpGNWRLWVdoZFJpOWVDWVk5aTAxa2VOMURrSEdtam1HeDRiQ2ZhazlBeE1G?=
 =?utf-8?B?dENXMG51RWdlaitCcFlvdzVzZVRBMS95Q2JHRDJTSi81b2p3LzI3MXhpVFV2?=
 =?utf-8?B?c2plNnpVeTJwWG9lOVI4YnRZTVNURnQ0bElPNCtsM2liVnlvZ29zRERHaG5E?=
 =?utf-8?B?d1R3ME9Dck9Vejc5bmxyUkV0Z2R6NThkc003MVF1NmN2cy9JNWd6Zll6alVs?=
 =?utf-8?B?Yk4yblhQbUk2bGkyOFEwNnk4RHgySlIxa20rYWlKc2tzNFFxOWF0Z291cnFS?=
 =?utf-8?Q?XI4gBVt7184M/k8De1fm97o=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fea168e4-e87a-4165-3de0-08d9df3c5661
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jan 2022 13:20:49.2869
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: yPa1O3WW4g8CxIyOOvrjOtldHf96iQi3pWNxoXz56dLz4MhUC218jstCbbaCjmg0GfXeUdrziMHcICh+2b2uVQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB5244

On 20.01.2022 16:23, Roger Pau Monne wrote:
> Such field uses bits 55:48, but for the purposes the register will be
> used use bits 55:49 instead. Bit 48 is used to signal an RTE entry is
> in remappable format which is not supported by the vIO-APIC.

Neither here nor in the cover letter you point at a formal specification
of this mode of operation. What I'm aware of are vague indications of
this mode's existence in some of Intel's chipset data sheets. Yet that
leaves open, for example, whether indeed bit 48 cannot be used here.

> --- a/xen/arch/x86/hvm/vioapic.c
> +++ b/xen/arch/x86/hvm/vioapic.c
> @@ -412,7 +412,8 @@ static void ioapic_inj_irq(
>  
>  static void vioapic_deliver(struct hvm_vioapic *vioapic, unsigned int pin)
>  {
> -    uint16_t dest = vioapic->redirtbl[pin].fields.dest_id;
> +    uint16_t dest = vioapic->redirtbl[pin].fields.dest_id |
> +                    (vioapic->redirtbl[pin].fields.ext_dest_id << 8);

What if an existing guest has been writing non-zero in these bits? Can
you really use them here without any further indication by the guest?

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 13:39:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 13:39:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259871.448587 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBzYi-00062g-1y; Mon, 24 Jan 2022 13:39:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259871.448587; Mon, 24 Jan 2022 13:39:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBzYh-00062Z-Uz; Mon, 24 Jan 2022 13:38:59 +0000
Received: by outflank-mailman (input) for mailman id 259871;
 Mon, 24 Jan 2022 13:38:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+ovR=SI=dingwall.me.uk=james@srs-se1.protection.inumbo.net>)
 id 1nBzYg-00062T-7g
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 13:38:58 +0000
Received: from smarthost01b.sbp.mail.zen.net.uk
 (smarthost01b.sbp.mail.zen.net.uk [212.23.1.3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f915b38d-7d1a-11ec-8fa7-f31e035a9116;
 Mon, 24 Jan 2022 14:38:54 +0100 (CET)
Received: from [217.155.64.189] (helo=mail0.xen.dingwall.me.uk)
 by smarthost01b.sbp.mail.zen.net.uk with esmtpsa
 (TLS1.0:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1)
 (envelope-from <james@dingwall.me.uk>)
 id 1nBzYY-00007p-Fk; Mon, 24 Jan 2022 13:38:50 +0000
Received: from localhost (localhost [IPv6:::1])
 by mail0.xen.dingwall.me.uk (Postfix) with ESMTP id 2761529956E;
 Mon, 24 Jan 2022 13:38:50 +0000 (GMT)
Received: from mail0.xen.dingwall.me.uk ([127.0.0.1])
 by localhost (mail0.xen.dingwall.me.uk [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id s1v-A-duL4c7; Mon, 24 Jan 2022 13:38:50 +0000 (GMT)
Received: from ghoul.dingwall.me.uk (ghoul.dingwall.me.uk [192.168.1.200])
 by dingwall.me.uk (Postfix) with ESMTP id 065CC29956B;
 Mon, 24 Jan 2022 13:38:50 +0000 (GMT)
Received: by ghoul.dingwall.me.uk (Postfix, from userid 1000)
 id 005FD230; Mon, 24 Jan 2022 13:38:49 +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: f915b38d-7d1a-11ec-8fa7-f31e035a9116
X-Virus-Scanned: Debian amavisd-new at dingwall.me.uk
Date: Mon, 24 Jan 2022 13:38:49 +0000
From: James Dingwall <james-xen@dingwall.me.uk>
To: Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wei.liu@kernel.org>,
	Paul Durrant <paul@xen.org>
Subject: Re: possible kernel/libxl race with xl network-attach
Message-ID: <20220124133849.GA1775507@dingwall.me.uk>
References: <20220113111946.GA4133739@dingwall.me.uk>
 <YeBPG+8D00xG4h0j@Air-de-Roger>
 <1671ad485c35fb86d758951889cfa05d@dingwall.me.uk>
 <Yeq8fdOWLngcjDH8@Air-de-Roger>
 <20220121150507.GA954743@dingwall.me.uk>
 <Ye5sarMTn23g6eGi@Air-de-Roger>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <Ye5sarMTn23g6eGi@Air-de-Roger>
X-Originating-smarthost01b-IP: [217.155.64.189]
Feedback-ID: 217.155.64.189

On Mon, Jan 24, 2022 at 10:07:54AM +0100, Roger Pau Monn wrote:
> On Fri, Jan 21, 2022 at 03:05:07PM +0000, James Dingwall wrote:
> > On Fri, Jan 21, 2022 at 03:00:29PM +0100, Roger Pau Monn wrote:
> > > On Fri, Jan 21, 2022 at 01:34:54PM +0000, James Dingwall wrote:
> > > > On 2022-01-13 16:11, Roger Pau Monn wrote:
> > > > > On Thu, Jan 13, 2022 at 11:19:46AM +0000, James Dingwall wrote:
> > > > > > 
> > > > > > I have been trying to debug a problem where a vif with the backend
> > > > > > in a
> > > > > > driver domain is added to dom0.  Intermittently the hotplug script is
> > > > > > not invoked by libxl (running as xl devd) in the driver domain.  By
> > > > > > enabling some debug for the driver domain kernel and libxl I have
> > > > > > these
> > > > > > messages:
> > > > > > 
> > > > > > driver domain kernel (Ubuntu 5.4.0-92-generic):
> > > > > > 
> > > > > > [Thu Jan 13 01:39:31 2022] [1408] 564: vif vif-0-0 vif0.0:
> > > > > > Successfully created xenvif
> > > > > > [Thu Jan 13 01:39:31 2022] [26] 583: xen_netback:frontend_changed:
> > > > > > /local/domain/0/device/vif/0 -> Initialising
> > > > > > [Thu Jan 13 01:39:31 2022] [26] 470:
> > > > > > xen_netback:backend_switch_state: backend/vif/0/0 -> InitWait
> > > > > > [Thu Jan 13 01:39:31 2022] [26] 583: xen_netback:frontend_changed:
> > > > > > /local/domain/0/device/vif/0 -> Connected
> > > > > > [Thu Jan 13 01:39:31 2022] vif vif-0-0 vif0.0: Guest Rx ready
> > > > > > [Thu Jan 13 01:39:31 2022] [26] 470:
> > > > > > xen_netback:backend_switch_state: backend/vif/0/0 -> Connected
> > > > > > 
> > > > > > xl devd (Xen 4.14.3):
> > > > > > 
> > > > > > 2022-01-13 01:39:31 UTC libxl: debug:
> > > > > > libxl_event.c:750:watchfd_callback: watch w=0x7ffd416b0528
> > > > > > wpath=/local/domain/2/backend token=3/0: event
> > > > > > epath=/local/domain/2/backend/vif/0/0/state
> > > > > > 2022-01-13 01:39:31 UTC libxl: debug:
> > > > > > libxl_event.c:2445:libxl__nested_ao_create: ao 0x5633ac569700:
> > > > > > nested ao, parent 0x5633ac567f90
> > > > > > 2022-01-13 01:39:31 UTC libxl: debug:
> > > > > > libxl_event.c:750:watchfd_callback: watch w=0x5633ac569180
> > > > > > wpath=/local/domain/2/backend/vif/0/0/state token=2/1: event
> > > > > > epath=/local/domain/2/backend/vif/0/0/state
> > > > > > 2022-01-13 01:39:31 UTC libxl: debug:
> > > > > > libxl_event.c:1055:devstate_callback: backend
> > > > > > /local/domain/2/backend/vif/0/0/state wanted state 2 still waiting
> > > > > > state 4
> > > > > > 2022-01-13 01:39:31 UTC libxl: debug:
> > > > > > libxl_event.c:750:watchfd_callback: watch w=0x7ffd416b0528
> > > > > > wpath=/local/domain/2/backend token=3/0: event
> > > > > > epath=/local/domain/2/backend/vif/0/0/state
> > > > > > 2022-01-13 01:39:31 UTC libxl: debug:
> > > > > > libxl_event.c:2445:libxl__nested_ao_create: ao 0x5633ac56a220:
> > > > > > nested ao, parent 0x5633ac567f90
> > > > > > 2022-01-13 01:39:31 UTC libxl: debug:
> > > > > > libxl_event.c:750:watchfd_callback: watch w=0x5633ac569180
> > > > > > wpath=/local/domain/2/backend/vif/0/0/state token=2/1: event
> > > > > > epath=/local/domain/2/backend/vif/0/0/state
> > > > > > 2022-01-13 01:39:31 UTC libxl: debug:
> > > > > > libxl_event.c:1055:devstate_callback: backend
> > > > > > /local/domain/2/backend/vif/0/0/state wanted state 2 still waiting
> > > > > > state 4
> > > > > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > > > > libxl_aoutils.c:88:xswait_timeout_callback: backend
> > > > > > /local/domain/2/backend/vif/0/0/state (hoping for state change to
> > > > > > 2): xswait timeout (path=/local/domain/2/backend/vif/0/0/state)
> > > > > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > > > > libxl_event.c:850:libxl__ev_xswatch_deregister: watch
> > > > > > w=0x5633ac569180 wpath=/local/domain/2/backend/vif/0/0/state
> > > > > > token=2/1: deregister slotnum=2
> > > > > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > > > > libxl_event.c:1039:devstate_callback: backend
> > > > > > /local/domain/2/backend/vif/0/0/state wanted state 2  timed out
> > > > > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > > > > libxl_event.c:864:libxl__ev_xswatch_deregister: watch
> > > > > > w=0x5633ac569180: deregister unregistered
> > > > > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > > > > libxl_device.c:1092:device_backend_callback: calling
> > > > > > device_backend_cleanup
> > > > > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > > > > libxl_event.c:864:libxl__ev_xswatch_deregister: watch
> > > > > > w=0x5633ac569180: deregister unregistered
> > > > > > 2022-01-13 01:39:51 UTC libxl: error:
> > > > > > libxl_device.c:1105:device_backend_callback: unable to add device
> > > > > > with path /local/domain/2/backend/vif/0/0
> > > > > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > > > > libxl_event.c:864:libxl__ev_xswatch_deregister: watch
> > > > > > w=0x5633ac569280: deregister unregistered
> > > > > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > > > > libxl_device.c:1470:device_complete: device
> > > > > > /local/domain/2/backend/vif/0/0 add failed
> > > > > > 2022-01-13 01:39:51 UTC libxl: debug:
> > > > > > libxl_event.c:2035:libxl__ao__destroy: ao 0x5633ac568f30: destroy
> > > > > > 
> > > > > > the xenstore content for the backend:
> > > > > > 
> > > > > > # xenstore-ls /local/domain/2/backend/vif/0
> > > > > > 0 = ""
> > > > > >  frontend = "/local/domain/0/device/vif/0"
> > > > > >  frontend-id = "0"
> > > > > >  online = "1"
> > > > > >  state = "4"
> > > > > >  script = "/etc/xen/scripts/vif-zynstra"
> > > > > >  vifname = "dom0.0"
> > > > > >  mac = "00:16:3e:6c:de:82"
> > > > > >  bridge = "cluster"
> > > > > >  handle = "0"
> > > > > >  type = "vif"
> > > > > >  feature-sg = "1"
> > > > > >  feature-gso-tcpv4 = "1"
> > > > > >  feature-gso-tcpv6 = "1"
> > > > > >  feature-ipv6-csum-offload = "1"
> > > > > >  feature-rx-copy = "1"
> > > > > >  feature-rx-flip = "0"
> > > > > >  feature-multicast-control = "1"
> > > > > >  feature-dynamic-multicast-control = "1"
> > > > > >  feature-split-event-channels = "1"
> > > > > >  multi-queue-max-queues = "2"
> > > > > >  feature-ctrl-ring = "1"
> > > > > >  hotplug-status = "connected"
> > > 
> > > The relevant point here is that `hotplug-status = "connected"` in the
> > > backend xenstore nodes, and that's set by the hotplug script.
> > > 
> > > Having hotplug-status == "connected" will allow the backend to proceed
> > > to the connected state, so there's some component in your system that
> > > sets this xenstore node before `xl devd` get a change to run the
> > > hotplug script, hence me asking for any udev rules in the previous
> > > email.
> > > 
> > > If it's not an udev rule then I'm lost. Do you have any modifications
> > > to the Xen tools that could set this xenstore node?
> > 
> > I am wondering if that xenstore content was captured after the environment
> > had been manually fixed.  I have been able to reproduce it by hotplugging
> > an interface where libxl isn't patched:
> > 
> > 
> > dom0# xl network-attach 0 backend=netdd script=vif-zynstra vifname=dom0.2 bridge=abridge
> > netdd# xenstore-ls /local/domain/2/backend/vif/0/2
> > frontend = "/local/domain/0/device/vif/2"
> > frontend-id = "0"
> > online = "1"
> > state = "4"
> > script = "/etc/xen/scripts/vif-zynstra"
> > vifname = "dom0.2"
> > mac = "00:16:3e:5f:fc:51"
> > bridge = "abridge"
> > handle = "2"
> > type = "vif"
> > feature-sg = "1"
> > feature-gso-tcpv4 = "1"
> > feature-gso-tcpv6 = "1"
> > feature-ipv6-csum-offload = "1"
> > feature-rx-copy = "1"
> > feature-rx-flip = "0"
> > feature-multicast-control = "1"
> > feature-dynamic-multicast-control = "1"
> > feature-split-event-channels = "1"
> > multi-queue-max-queues = "2"
> > feature-ctrl-ring = "1"
> > 
> > If I have understood the backend kernel code it only waits for the
> > hotplug-status == "connected" if they key exists which it doesn't
> > appear to by default.
> 
> Indeed. I have to admit this is quite weird. I have the following
> completely untested patch, could you give it a try?
> 
> Adding netback maintainers for feedback on whether it's fine for libxl
> to force netback to wait for hotplug script execution. Not sure the
> reason why netback doesn't do that by default, but it seems it's been
> like that since the module was imported into Linux in 2011.
> 
> Thanks, Roger.
> ---
> diff --git a/tools/libs/light/libxl_nic.c b/tools/libs/light/libxl_nic.c
> index 0b45469dca..0b9e70c9d1 100644
> --- a/tools/libs/light/libxl_nic.c
> +++ b/tools/libs/light/libxl_nic.c
> @@ -248,6 +248,13 @@ static int libxl__set_xenstore_nic(libxl__gc *gc, uint32_t domid,
>      flexarray_append(ro_front, "mtu");
>      flexarray_append(ro_front, GCSPRINTF("%u", nic->mtu));
>  
> +    /*
> +     * Force backend to wait for hotplug script execution before switching to
> +     * connected state.
> +     */
> +    flexarray_append(back, "hotplug-status");
> +    flexarray_append(back, "");
> +
>      return 0;
>  }
>  

I rebuilt libxl with this patch and installed it (without reboot) on the
dom0 of the system I was testing with last week.  With a 'for' loop to
add 15 interfaces I didn't see the same problem so initialising xenstore
with the empty hotplug-status key fixes this problem.  I'll add it to
some more of our systems to give it some wider testing.

Thanks,
James


From xen-devel-bounces@lists.xenproject.org Mon Jan 24 13:48:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 13:48:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259875.448598 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nBzhX-0007To-0c; Mon, 24 Jan 2022 13:48:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259875.448598; Mon, 24 Jan 2022 13: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 1nBzhW-0007Th-Ss; Mon, 24 Jan 2022 13:48:06 +0000
Received: by outflank-mailman (input) for mailman id 259875;
 Mon, 24 Jan 2022 13:48:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=REvy=SI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nBzhW-0007Tb-8D
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 13:48:06 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 40d19850-7d1c-11ec-8fa7-f31e035a9116;
 Mon, 24 Jan 2022 14:48:04 +0100 (CET)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2054.outbound.protection.outlook.com [104.47.0.54]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-13-Dz5-TRd0N2yZYkdavS7w-w-1; Mon, 24 Jan 2022 14:48:02 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM6PR04MB4565.eurprd04.prod.outlook.com (2603:10a6:20b:25::27)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Mon, 24 Jan
 2022 13:48:00 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.017; Mon, 24 Jan 2022
 13:48:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 40d19850-7d1c-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643032084;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=OEvldL7r+gvkyG7UlEiOP9ytDWewVxZDREslfjHbfro=;
	b=NsFLtVB20b+5/ayOW7OwSLTQMZBxfgyW93CJvys3OtEY6FJTgx8y9zdJK7ZAwB0ymCSjTC
	7TL8yuH+M0cwLTO00tkAnrqy8gjXNIxAVXZULG3PgGi1Alk4JuJQ8ViHuvV2ayRnn68Dnw
	H6WCVxr9npL7XNeXpUNOx8H9PPtYABk=
X-MC-Unique: Dz5-TRd0N2yZYkdavS7w-w-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ufe/MQPOXmf4QAj/sr6WyidtOesw9hOcXUPICg4nGICrsPb+IYcuYMcJJ2omMO4P09ky02HzLcPuaLOS6t5OhPhMdAMIp2iI8bajxdpXLUmWolD41CaJldSkRO4/5SZRgJLWRNdj4eoR93rPrwfC49L5CbodJKzs5vJ6DuiOJ1fxhreeok7HD8ivdoJHBU4RTqa4VcWODxR93UXOlbqvIMrX6IptsTKHXKvUKXE+al3R1QSWZnnj5Q3sx1e00kPTGZh3BIpIlCr6yHVM88jxN2FDjEqWX4AGw/x8TOM6p84p3T3nUUlrPdQt7Iq3gdSCXCaZcDjA0H/hUqMggebtAQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OEvldL7r+gvkyG7UlEiOP9ytDWewVxZDREslfjHbfro=;
 b=CCQcqGyp5mKvrJU6/4EHsI2WcuiJ03n7Ki3QIXxftq/lgrRUzhwU3soi9c2t0/Ghm1AoyWiN19S/4EDJl51hnTw47rbiUkSDka9hvQIK68gLCcJ9U0X9dOFX5AkWV0lmIJ9wrBNZaQ3zz1f0EMd0+jxCtHS++9qmDM/6ONgYty/CYltkb+EPBi8+MJNXgRs/JLM8pbaCRLUAqCYxyRj2KDsmt3tPdy9Hh2FH0zhB3HAN99ICm7jvGz4pSQDThgqkdypt1HSglbHXIjJ/cfPOom4mrAO14yQsIOeofAnFLXstVOeyglJzC/sWtbE63hxU9jdb7HnRgMIrJeaL+7vDBQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2e96bf2e-a31e-da9b-2f08-adfa0928e5b9@suse.com>
Date: Mon, 24 Jan 2022 14:47:58 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 2/3] x86/vmsi: add support for extended destination ID in
 address field
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Paul Durrant <paul@xen.org>,
 xen-devel@lists.xenproject.org
References: <20220120152319.7448-1-roger.pau@citrix.com>
 <20220120152319.7448-3-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220120152319.7448-3-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR0701CA0012.eurprd07.prod.outlook.com
 (2603:10a6:203:51::22) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 166ae1cd-8f7e-418c-5be4-08d9df4022dd
X-MS-TrafficTypeDiagnostic: AM6PR04MB4565:EE_
X-Microsoft-Antispam-PRVS:
	<AM6PR04MB4565996545F7C50C63B3ECD2B35E9@AM6PR04MB4565.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:
	gwFSqV0VqGsWdsafMoabhXlQ+B59d2TZMbYd/LEwYpNw6f1uIW4UN0qSg0s9jC/57t74dCqHF1pb7xsB1QitrnzxuaR6RQUmHAa+JRUhMEacvToEZIkm4YgOsDnJ0y1OKLu5RbjFE7E1n6TKK/VcmmF9G43E0QF8ZtIFW/wfhqbpGpOBAfgXrycw7FdbluqVPc3tQhaGAgAqYrjnUNh8s3/DDSavd4Wh8HLU2oXVzLUJ0B45FUpC8DlLEekb2HyNRK+/v2f3Kx3iC9K4zpf/fNYDd2NljMVdLIVq1F4vgL7CNBNJxkh08uOKHi0qAFm3sLxVbrAE4nC3G9Noqofw6jxG8jZTg8mvMeJFyjDUmKQ5lXhsGHF3RRm/nSOyznq9NU/8AT/1ECetNJAMv6pqXW5dMwYDIfCtQXlhb9Ph30Xrt1qNTXfA02FqsofYcNPa8SEmmqdwK91DOBorUK+mfGnNe1ihxEr11FqP/+AQeDX/zlgmmpE2A4Zs44eOh0XL4eyDUf6AWIagat0HB+x5NWantdKORKhG3tYeYW0acA0KIph1azk4BYCMd+MSffzYBqVgIA7XCRglDeZccR9m6T+xtVVDbQy4SZjNpikW0QqAMZxiyRNzYxfTGmX/NWIJzqJd3AJ+7V2RgsepUwsc4gqNY+9oFjgHRbQpRXPoRmt3wrllvrGM3UlfT7BZfeLQNbj7vfOTIrWtx/Aup69GEFWEJ7b1NWPFf/P774uG9rQ=
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)(6512007)(508600001)(2616005)(54906003)(66946007)(66556008)(2906002)(66476007)(6916009)(4326008)(316002)(6506007)(36756003)(26005)(31686004)(38100700002)(8676002)(5660300002)(186003)(6486002)(83380400001)(86362001)(53546011)(8936002)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VXdIcEhiZnNWVWllS0g4dU1pZUdOLzR4VzVQM0ZlMi9mRXZBYUgvQWhqRmox?=
 =?utf-8?B?alRCLzhpSVFuZGFsNC82dFhOWDVwejF3ejRoQVN3Y09VSlQzVTZCcFFPUW1K?=
 =?utf-8?B?cWRSRFlnQlVHUzV4aUJDaDBuUHV2RTNPZlNzdGtpY0hqNHBlbSs1MEhtNmlD?=
 =?utf-8?B?U3c3NlF2dndaVDYyd3RiRGNHZ0R1ZXhGekR4eHg0MWVYejE5SHI2WUcrRzdU?=
 =?utf-8?B?SUV1VnZUYjREcjBIcStSYzdJVW14ejRvS09PODN4dGZuL2x3cEpOZWEzL1JD?=
 =?utf-8?B?QVpodHhuSmVmelF5azltemlrbTlGNUtZbHFFdnorYTRWVm40eHlBekdUUHVR?=
 =?utf-8?B?MGRWanhpOWVsRUpRa3F4ZmdET0xhbWc1ZUxVVXJiY2xVMGVsbXlqOWhaSko5?=
 =?utf-8?B?WFR3cHdvaisrcDNHZWw4Z0ptWDYxdjl0UU55TU5vRFRFTGtXdHp1endkTity?=
 =?utf-8?B?dy81bkdvWlRHOGlNRUp3K05BMDRkTEdGeTIxZy9TSFFZeFNkMENTZU1Ccm5W?=
 =?utf-8?B?U2p1Nk9KK1NCMG5LRzI2QkU2V1RsM0FZWWd5Q1hNaFVCTEh5WnVwRUo4MzB2?=
 =?utf-8?B?eThsNkJYSWQ2MnBxdEZTc2lHYjc1b3k0cFhlS3hXRGMzekFONWhQdTdPRU5o?=
 =?utf-8?B?V0tDV2haWnd1VWQwK0pTWHkvcnA1Zkd3K0VFbDZQdk5XbW5ZVldpQjNpc3Ar?=
 =?utf-8?B?R2NwUG1KLzBNV2JQako3ZzcwVzVNUXdkY2tSUmFPd1RiRGhUTWdtWVRVZ3pq?=
 =?utf-8?B?ZWlSbzF2Zmo2NXdYOEdVZlpiSG9pSEwzUEJzdzBrQXFFUm5NR1ZaNkRSdEp0?=
 =?utf-8?B?cnkrMERHdjRoNS9ZR1BoejNVQitZTUNvVSt6Vm9LOFowc05BWndueDQwR2cw?=
 =?utf-8?B?SWdndnFvMTd6Vjlhd2FMQU5yQUFjVG4xVE1HdmxOWHhzOHNnY2Z5UngyZUFx?=
 =?utf-8?B?cTRsdTQ1dXhtaEYwajNSQndpV0FRT01XclB4NHRFK1FlNTBRM1Fkc29ISTVq?=
 =?utf-8?B?OXFPS0UydGtland5K0M1OFBWaFpLV0k0T0lXNkMvUkY4bXQ3c0NtS0l0Vk1N?=
 =?utf-8?B?NE53a2w0VlM5OEZNcUZQZjI2UlhqMzMyVWxnVFFsbmZYd3BCVExUM1ExZUZj?=
 =?utf-8?B?U0plRjlSenhlaldadEc5aG9MS2xHbDlxR0x1MkxuTS8wdVRkekphSXY0aTJU?=
 =?utf-8?B?TjZOZGk4OE0rQzRJRnhkMnY3TGorNWdGT1JoL2FBRGRkdW1qdWoxNStsTGlx?=
 =?utf-8?B?bXI3Wk96M0trSCtERFdSdXIwYWFyR3lqMGIydlBhVHNuRVNsUzhaRXcrd0lu?=
 =?utf-8?B?TEgweTBPRjZyRjNBZkN0TFlpb1hLeit5Sy9uOVhrNU5WSWJMbzhnbGV1clFP?=
 =?utf-8?B?aUo2TVZxSGR2ZWR6NEtMUGk4d1c1aDNyUUhEMjhPWFlmZGpqUGlCcVJCb2kv?=
 =?utf-8?B?bXRqTnJKdStDOVROKy9GcFBuWmdEbjl5V0JXNFRVR3pxT1ltNTVmejVuckNx?=
 =?utf-8?B?Vm4rOThCVlIxWGo5eFJodzFwVmJwR3RVRjFSUGdHZEpqMCt4Ti9pbXB3ZEds?=
 =?utf-8?B?R2lsUVJQMk93L3JkUHBvQmtKcXk4eVF4RVRUcnZQQ0dlRWRocEEwUld4Und0?=
 =?utf-8?B?aU5vWWZWOVZSN1ZENG1YUTlGd1M4RHBiRlRhTE1IcnBhM2FCZzJxbHZZU1NE?=
 =?utf-8?B?T3JoQ0g0QTh4bWErWGlPY0NXenNjVWRkNkdtdWJIYm1hNDJwcnQxM0p6WFJ4?=
 =?utf-8?B?Yk9HNVd3eVpvNFlNMUdRb1Nxcm1oWFJJT2lvemc1VWhoaGRyWC9mOGlsc1JY?=
 =?utf-8?B?UDNaQjI5VjAyYWtDb01sUTF5bEgwUzJCWE10OEJiS0ZnSkNTV2psNS95c3VK?=
 =?utf-8?B?cmJDd0luazFHQldKWjh0VTl0R1pBcUJjTGIzZEhWV1VHbWxWdkx4Y2ZUdS81?=
 =?utf-8?B?eWdOS0hmdnR3ck9lUWxXaEpaTzQvVjV0TXozV1Z3M1YxelVyajVwaVdWYldl?=
 =?utf-8?B?ckJCTlpkOStra0p0SHJoZktuZ1BvVVdaMkREeFEweWtUODB0WUg4ZXJHejZ0?=
 =?utf-8?B?WTFhcUExMURET2llcEZFanZxWnR3bGl5bGV0MWtaVFFZc3Y3cEhEb3BnY3Nw?=
 =?utf-8?B?VXoxcDZkOEk0ZW1pY0R2aG1zeWtGRHlwVDJGdmJ1VlZuRksyV255NWFUVE5D?=
 =?utf-8?Q?2qYoeRsQCYdQjt1TzdCQbk8=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 166ae1cd-8f7e-418c-5be4-08d9df4022dd
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jan 2022 13:48:00.6998
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CR5XvnNNWhy3LylQAPoMKxmqGi1HWafBQ4FOjJaYVxRwioPoPyrlLRi7IwIi8N+GZZxkOE3cK2vggD+B/cWRMg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB4565

On 20.01.2022 16:23, Roger Pau Monne wrote:
> Both QEMU/KVM and HyperV support using bits 11:5 from the MSI address
> field in order to store the high part of the target APIC ID. This
> allows expanding the maximum APID ID usable without interrupt
> remapping support from 255 to 32768.
> 
> Note the interface used by QEMU for emulated devices (via the
> XEN_DMOP_inject_msi hypercall) already passes both the address and
> data fields into Xen for processing, so there's no need for any change
> to QEMU there.
> 
> However for PCI passthrough devices QEMU uses the
> XEN_DOMCTL_bind_pt_irq hypercall which does need an addition to the
> gflags field in order to pass the high bits of the APIC destination
> ID.
> 
> Introduce a new CPUID flag to signal the support for the feature. The
> introduced flag covers both the support for extended ID for the
> IO-APIC RTE and the MSI address registers. Such flag is currently only
> exposed when the domain is using vPCI (ie: a PVH dom0).

Because of also covering the IO-APIC side, I think the CPUID aspect of
this really wants splitting into a 3rd patch. That way the MSI and
IO-APIC parts could in principle go in independently, and only the
CPUID one needs to remain at the tail.

> --- a/xen/arch/x86/hvm/vmsi.c
> +++ b/xen/arch/x86/hvm/vmsi.c
> @@ -66,7 +66,7 @@ static void vmsi_inj_irq(
>  
>  int vmsi_deliver(
>      struct domain *d, int vector,
> -    uint8_t dest, uint8_t dest_mode,
> +    unsigned int dest, unsigned int dest_mode,

If you change the type of dest_mode, then to "bool" please - see its
only call site.

> @@ -123,7 +125,8 @@ void vmsi_deliver_pirq(struct domain *d, const struct hvm_pirq_dpci *pirq_dpci)
>  }
>  
>  /* Return value, -1 : multi-dests, non-negative value: dest_vcpu_id */
> -int hvm_girq_dest_2_vcpu_id(struct domain *d, uint8_t dest, uint8_t dest_mode)
> +int hvm_girq_dest_2_vcpu_id(struct domain *d, unsigned int dest,
> +                            unsigned int dest_mode)

Same here then.

> --- a/xen/arch/x86/include/asm/msi.h
> +++ b/xen/arch/x86/include/asm/msi.h
> @@ -54,6 +54,7 @@
>  #define MSI_ADDR_DEST_ID_SHIFT		12
>  #define	 MSI_ADDR_DEST_ID_MASK		0x00ff000
>  #define  MSI_ADDR_DEST_ID(dest)		(((dest) << MSI_ADDR_DEST_ID_SHIFT) & MSI_ADDR_DEST_ID_MASK)
> +#define	 MSI_ADDR_EXT_DEST_ID_MASK	0x0000fe0

Especially the immediately preceding macro now becomes kind of stale.

> --- a/xen/drivers/passthrough/x86/hvm.c
> +++ b/xen/drivers/passthrough/x86/hvm.c
> @@ -269,7 +269,7 @@ int pt_irq_create_bind(
>      {
>      case PT_IRQ_TYPE_MSI:
>      {
> -        uint8_t dest, delivery_mode;
> +        unsigned int dest, delivery_mode;
>          bool dest_mode;

If you touch delivery_mode's type, wouldn't that better become bool?

> --- a/xen/include/public/domctl.h
> +++ b/xen/include/public/domctl.h
> @@ -588,6 +588,7 @@ struct xen_domctl_bind_pt_irq {
>  #define XEN_DOMCTL_VMSI_X86_DELIV_MASK   0x007000
>  #define XEN_DOMCTL_VMSI_X86_TRIG_MASK    0x008000
>  #define XEN_DOMCTL_VMSI_X86_UNMASKED     0x010000
> +#define XEN_DOMCTL_VMSI_X86_EXT_DEST_ID_MASK 0xfe0000

I'm not convinced it is a good idea to limit the overall destination
ID width to 15 bits here - at the interface level we could as well
permit more bits right away; the implementation would reject too high
a value, of course. Not only with this I further wonder whether the
field shouldn't be unsplit while extending it. You won't get away
without bumping XEN_DOMCTL_INTERFACE_VERSION anyway (unless it was
bumped already for 4.17) since afaics the unused bits of this field
previously weren't checked for being zero. We could easily have 8
bits vector, 16 bits flags, and 32 bits destination ID in the struct.
And there would then still be 8 unused bits (which from now on we
ought to check for being zero).

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 14:36:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 14:36:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259879.448608 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC0S4-00046G-Nc; Mon, 24 Jan 2022 14:36:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259879.448608; Mon, 24 Jan 2022 14:36:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC0S4-000469-Jy; Mon, 24 Jan 2022 14:36:12 +0000
Received: by outflank-mailman (input) for mailman id 259879;
 Mon, 24 Jan 2022 14:36:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5dD+=SI=arm.com=andre.przywara@srs-se1.protection.inumbo.net>)
 id 1nC0S3-000463-8c
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 14:36:11 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id f6475063-7d22-11ec-8fa7-f31e035a9116;
 Mon, 24 Jan 2022 15:36:06 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 27C3A6D;
 Mon, 24 Jan 2022 06:36:05 -0800 (PST)
Received: from donnerap.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com
 [10.121.207.14])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id E328B3F774;
 Mon, 24 Jan 2022 06:36:03 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f6475063-7d22-11ec-8fa7-f31e035a9116
Date: Mon, 24 Jan 2022 14:36:01 +0000
From: Andre Przywara <andre.przywara@arm.com>
To: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>
Cc: <xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
 <stefanos@xilinx.com>, <julien@xen.org>, <Volodymyr_Babchuk@epam.com>,
 <bertrand.marquis@arm.com>, <jbeulich@suse.com>, <wei.chen@arm.com>
Subject: Re: [XEN v3] xen/arm64: io: Decode ldr/str post-indexing
 instructions
Message-ID: <20220124143601.3e2ac6ac@donnerap.cambridge.arm.com>
In-Reply-To: <18e715ae-111d-58e6-55f9-a48a521e99b3@xilinx.com>
References: <20220120215527.28138-1-ayankuma@xilinx.com>
	<20220122013046.6a786d3f@slackpad.fritz.box>
	<18e715ae-111d-58e6-55f9-a48a521e99b3@xilinx.com>
Organization: ARM
X-Mailer: Claws Mail 3.17.5 (GTK+ 2.24.32; aarch64-unknown-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

On Mon, 24 Jan 2022 12:07:42 +0000
Ayan Kumar Halder <ayan.kumar.halder@xilinx.com> wrote:

Hi Ayan,

> Many thanks for your feedback. I have one clarification :-
> 
> On 22/01/2022 01:30, Andre Przywara wrote:
> > On Thu, 20 Jan 2022 21:55:27 +0000
> > Ayan Kumar Halder <ayan.kumar.halder@xilinx.com> wrote:
> >
> > Hi,
> >  
> >> At the moment, Xen is only handling data abort with valid syndrome (i.e.
> >> ISV=0). Unfortunately, this doesn't cover all the instructions a domain
> >> could use to access MMIO regions.
> >>
> >> For instance, a baremetal OS can use any of the following instructions, where
> >> x1 contains the address of the MMIO region:
> >>
> >> 1.      ldr     x2,    [x1],    #4  
> > That looks dodgy, since is misaligns the pointer afterwards. MMIO
> > access typically go to device memory, which must be naturally aligned.
> > Just don't give a bad example here and change that to a multiple of 8.
> >  
> >> 2.      ldr     w2,    [x1],    #-4  
> > (this one is fine, btw, because it's a 32-bit read)
> >  
> >> 3.      ldr     x2,    [x1],    #-8
> >> 4.      ldr     w2,    [x1],    #4
> >> 5.      ldrh    w2,    [x1],    #8
> >> 6.      ldrb    w2,    [x1],    #16  
> > More naturally I'd use the data size of the postindex value ...
> > ldr  x2 ... #-8
> > ldr  w2 ... #4
> > ldrh w2 ... #2
> > ldrb w2 ... #1
> >  
> >> 7.      str     x2,    [x1],    #4  
> > This is a again problematic, because x1 is not 8-byte aligned anymore
> > after that.
> >  
> >> 8.      str     w2,    [x1],    #-4
> >> 9.      strh    w2,    [x1],    #8
> >> 10.     strb    w2,    [x1],    #16
> >>
> >> In the following two instructions, sp contains the address of the MMIO region:-  
> > Really? I don't think you should give people funny ideas, just mention
> > that the Rn register could theoretically be the stack pointer.
> >  
> >> 11.     ldrb    w2,    [sp],    #16
> >> 12.     ldrb    wzr,   [sp],    #16
> >>
> >> In order to handle post-indexing store/load instructions (like those mentioned
> >> above), Xen will need to fetch and decode the instruction.
> >>
> >> This patch only cover post-index store/load instructions from AArch64 mode.
> >> For now, this is left unimplemented for trap from AArch32 mode.
> >>
> >> Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
> >> ---
> >>
> >> Changelog :-
> >> v2 - 1. Updated the rn register after reading from it. (Pointed by Julien,
> >>          Stefano)
> >>       2. Used a union to represent the instruction opcode (Suggestd by Bertrand)
> >>       3. Fixed coding style issues (Pointed by Julien)
> >>       4. In the previous patch, I was updating dabt->sign based on the signedness
> >>          of imm9. This was incorrect. As mentioned in ARMv8 ARM  DDI 0487G.b,
> >>          Page 3221, SSE indicates the signedness of the data item loaded. In our
> >>          case, the data item loaded is always unsigned.
> >>
> >> v3- 1. Handled all the variants of ldr/str (ie 64, 32, 16, 8 bit variants).
> >>         Thus, I have removed the check for "instr->code.opc == 0" (Suggested by
> >>         Andre)
> >>      2. Handled the scenario when rn = SP, rt = XZR (Suggested by Jan, Andre)
> >>      3. Added restriction for "rt != rn" (Suggested by Andre)
> >>      4. Moved union ldr_str_instr_class {} to decode.h. This is the header included
> >>         by io.c and decode.c (where the union is referred). (Suggested by Jan)
> >>      5. Indentation and typo fixes (Suggested by Jan)
> >>
> >> Changes suggested but could not be considered due to reasons :-
> >>      1. Using accessor macros instead of bitfields for "ldr_str_instr_class". (Andre)
> >>         Reason - I could not find a simple way to represent 9 bit signed integer
> >>         (ie imm9) without using bitfields. If I use accessor macros, then I need
> >>         to manually calculate two's complement to obtain the value when signed
> >>         bit is present.
> >>
> >>      2. I/D cache cohenerncy (Andre)
> >>         Reason :- I could not see any instruction to flush the I cache.  
> > First, please try to avoid the term "flush", because it is somewhat
> > overloaded. The architecture speaks of "clean" and "invalidate", which
> > are more precise.
> > Assuming you mean "clean" here: conceptually there is no such thing for
> > the I cache, because it's always clean. The I$ will only be read from
> > the CPU side - from the instruction fetcher - there is nothing written
> > back through it. Every store goes through the data path - always.
> > That is the problem that I tried to sketch you previously: you don't
> > have a guarantee that the instruction you read from memory is the same
> > that the CPU executed. The guest could have changed the instruction
> > after the I$ fetched that. So the CPU will execute (and trap) on
> > instruction X, but you will read Y. I leave it up to your imagination
> > if that could be exploited.  
> 
> I see what you mean.
> 
> Refer Armv8 Arm DDI 0487G.b Page D1-2476, it says that (for instr/data 
> abort) the faulting virtual address and IPA is saved in FAR_ELx and 
> HPFAR_EL2 respectively. But, I do not see if the faulting instruction is 
> saved in any special register. Is there something I am missing ?

No, indeed there is no such thing. You get the address, but not the
faulting instruction. It would indeed be nice to have from a software
developer's point of view, but the architecture does not support it.
One reason might be that it's potentially hard to implement, because it
could be tricky to reconstruct the original instruction, when it has been
broken down to something different in the actual pipelines.

> Else, :( this is a limitation of the architecture (imo). A hypervisor 
> can be interested to see which instruction caused the abort when ISV = 0.

One of the reasons I suggested to just avoid those instructions for MMIO
in the first place, especially if their usage was somewhat questionable to
begin with.

> Also, if an instruction is being modified by the guest (after it has 
> been loaded in the I cache), and if the guest does not invalidate the I 
> cache + ISB, then this is a malicious behavior by the guest. Is my 
> understanding correct ?

I wouldn't say malicious per se, there might be legitimate reasons to do
so, but in the Xen context this is mostly irrelevant, since we don't trust
the guest anyway. So whether it's malicious or accidental, the hypervisor
might be mislead.

Cheers,
Andre

> >  
> >>         Refer https://developer.arm.com/documentation/ddi0596/2021-12/Base-Instructions/IC--Instruction-Cache-operation--an-alias-of-SYS-?lang=en#sa_ic_op
> >>         So, this patch assumes that the I/D caches are coherent.  
> > Bold. ;-)
> >
> > Cheers,
> > Andre
> >  
> >>   xen/arch/arm/decode.c | 78 ++++++++++++++++++++++++++++++++++++++++++-
> >>   xen/arch/arm/decode.h | 29 +++++++++++++++-
> >>   xen/arch/arm/io.c     | 66 ++++++++++++++++++++++++++++++++----
> >>   3 files changed, 165 insertions(+), 8 deletions(-)
> >>
> >> diff --git a/xen/arch/arm/decode.c b/xen/arch/arm/decode.c
> >> index 792c2e92a7..f1c59ddd1a 100644
> >> --- a/xen/arch/arm/decode.c
> >> +++ b/xen/arch/arm/decode.c
> >> @@ -84,6 +84,76 @@ bad_thumb2:
> >>       return 1;
> >>   }
> >>   
> >> +static int decode_loadstore_postindexing(register_t pc,
> >> +                                         struct hsr_dabt *dabt,
> >> +                                         union ldr_str_instr_class *instr)
> >> +{
> >> +    if ( raw_copy_from_guest(&instr->value, (void * __user)pc, sizeof (instr)) )
> >> +        return -EFAULT;
> >> +
> >> +    /*
> >> +     * Rn -ne Rt for ldr/str instruction.
> >> +     * Check https://developer.arm.com/documentation/dui0802/a/CIHGJHED
> >> +     * (Register restrictions)
> >> +     *
> >> +     * The only exception for this is when rn = 31. It denotes SP ("Use of SP")
> >> +     *
> >> +     * And when rt = 31, it denotes wzr/xzr. (Refer
> >> +     * https://developer.arm.com/documentation/den0024/a/ARMv8-Registers/AArch64-special-registers
> >> +     * "There is no register called X31 or W31. Many instructions are encoded
> >> +     * such that the number 31 represents the zero register, ZR (WZR/XZR)."
> >> +     */
> >> +    if ( (instr->code.rn == instr->code.rt) && (instr->code.rn != 31) )
> >> +        return -EINVAL;
> >> +
> >> +    /* First, let's check for the fixed values */
> >> +    if ( !((instr->code.fixed1 == 1) && (instr->code.fixed2 == 0) &&
> >> +         (instr->code.fixed3 == 0) && (instr->code.fixed4 == 7)) )
> >> +    {
> >> +        gprintk(XENLOG_ERR, "Cannot decode instruction 0x%x",instr->value);
> >> +        gprintk(XENLOG_ERR, "Decoding not supported for instructions other than"
> >> +            " ldr/str post indexing\n");
> >> +        goto bad_32bit_loadstore;
> >> +    }
> >> +
> >> +    if ( instr->code.v != 0 )
> >> +    {
> >> +        gprintk(XENLOG_ERR,
> >> +            "ldr/str post indexing for vector types are not supported\n");
> >> +        goto bad_32bit_loadstore;
> >> +    }
> >> +
> >> +    /* Check for STR (immediate) - 32 bit variant */
> >> +    if ( instr->code.opc == 0 )
> >> +    {
> >> +        dabt->write = 1;
> >> +    }
> >> +    /* Check for LDR (immediate) - 32 bit variant */
> >> +    else if ( instr->code.opc == 1 )
> >> +    {
> >> +        dabt->write = 0;
> >> +    }
> >> +    else
> >> +    {
> >> +        gprintk(XENLOG_ERR,
> >> +            "Decoding ldr/str post indexing is not supported for this variant\n");
> >> +        goto bad_32bit_loadstore;
> >> +    }
> >> +
> >> +    gprintk(XENLOG_INFO,
> >> +        "instr->code.rt = 0x%x, instr->code.size = 0x%x, instr->code.imm9 = %d\n",
> >> +        instr->code.rt, instr->code.size, instr->code.imm9);
> >> +
> >> +    update_dabt(dabt, instr->code.rt, instr->code.size, false);
> >> +    dabt->valid = 1;
> >> +
> >> +    return 0;
> >> +
> >> + bad_32bit_loadstore:
> >> +    gprintk(XENLOG_ERR, "unhandled 32bit Arm instruction 0x%x\n", instr->value);
> >> +    return 1;
> >> +}
> >> +
> >>   static int decode_thumb(register_t pc, struct hsr_dabt *dabt)
> >>   {
> >>       uint16_t instr;
> >> @@ -150,11 +220,17 @@ bad_thumb:
> >>       return 1;
> >>   }
> >>   
> >> -int decode_instruction(const struct cpu_user_regs *regs, struct hsr_dabt *dabt)
> >> +int decode_instruction(const struct cpu_user_regs *regs, struct hsr_dabt *dabt,
> >> +                       union ldr_str_instr_class *instr)
> >>   {
> >>       if ( is_32bit_domain(current->domain) && regs->cpsr & PSR_THUMB )
> >>           return decode_thumb(regs->pc, dabt);
> >>   
> >> +    if ( (is_64bit_domain(current->domain) && !psr_mode_is_32bit(regs)) )
> >> +    {
> >> +        return decode_loadstore_postindexing(regs->pc, dabt, instr);
> >> +    }
> >> +
> >>       /* TODO: Handle ARM instruction */
> >>       gprintk(XENLOG_ERR, "unhandled ARM instruction\n");
> >>   
> >> diff --git a/xen/arch/arm/decode.h b/xen/arch/arm/decode.h
> >> index 4613763bdb..5c918c9bed 100644
> >> --- a/xen/arch/arm/decode.h
> >> +++ b/xen/arch/arm/decode.h
> >> @@ -23,6 +23,32 @@
> >>   #include <asm/regs.h>
> >>   #include <asm/processor.h>
> >>   
> >> +/*
> >> + * Refer to the ARMv8 ARM (DDI 0487G.b), Section C4.1.4 Loads and Stores
> >> + * Page 318 specifies the following bit pattern for
> >> + * "load/store register (immediate post-indexed)".
> >> + *
> >> + * 31 30 29  27 26 25  23   21 20              11   9         4       0
> >> + * ___________________________________________________________________
> >> + * |size|1 1 1 |V |0 0 |opc |0 |      imm9     |0 1 |  Rn     |  Rt   |
> >> + * |____|______|__|____|____|__|_______________|____|_________|_______|
> >> + */
> >> +union ldr_str_instr_class {
> >> +    uint32_t value;
> >> +    struct ldr_str {
> >> +        unsigned int rt:5;     /* Rt register */
> >> +        unsigned int rn:5;     /* Rn register */
> >> +        unsigned int fixed1:2; /* value == 01b */
> >> +        signed int imm9:9;            /* imm9 */
> >> +        unsigned int fixed2:1; /* value == 0b */
> >> +        unsigned int opc:2;    /* opc */
> >> +        unsigned int fixed3:2; /* value == 00b */
> >> +        unsigned int v:1;      /* vector */
> >> +        unsigned int fixed4:3; /* value == 111b */
> >> +        unsigned int size:2;   /* size */
> >> +    } code;
> >> +};
> >> +
> >>   /**
> >>    * Decode an instruction from pc
> >>    * /!\ This function is not intended to fully decode an instruction. It
> >> @@ -35,7 +61,8 @@
> >>    */
> >>   
> >>   int decode_instruction(const struct cpu_user_regs *regs,
> >> -                       struct hsr_dabt *dabt);
> >> +                       struct hsr_dabt *dabt,
> >> +                       union ldr_str_instr_class *instr);
> >>   
> >>   #endif /* __ARCH_ARM_DECODE_H_ */
> >>   
> >> diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
> >> index 729287e37c..acb483f235 100644
> >> --- a/xen/arch/arm/io.c
> >> +++ b/xen/arch/arm/io.c
> >> @@ -65,6 +65,39 @@ static enum io_state handle_write(const struct mmio_handler *handler,
> >>       return ret ? IO_HANDLED : IO_ABORT;
> >>   }
> >>   
> >> +static void post_increment_register(union ldr_str_instr_class *instr)
> >> +{
> >> +    struct cpu_user_regs *regs = guest_cpu_user_regs();
> >> +    unsigned int val;
> >> +
> >> +    /* handle when rn = SP */
> >> +    if ( instr->code.rn == 31 )
> >> +    {
> >> +        if ( (regs->cpsr & PSR_MODE_MASK) == PSR_MODE_EL1h )
> >> +        {
> >> +            val = regs->sp_el1;
> >> +        }
> >> +        else
> >> +        {
> >> +            BUG();
> >> +        }
> >> +    }
> >> +    else
> >> +    {
> >> +        val = get_user_reg(regs, instr->code.rn);
> >> +    }
> >> +    val += instr->code.imm9;
> >> +
> >> +    if ( instr->code.rn == 31 )
> >> +    {
> >> +        regs->sp_el1 = val;
> >> +    }
> >> +    else
> >> +    {
> >> +        set_user_reg(regs, instr->code.rn, val);
> >> +    }
> >> +}
> >> +
> >>   /* This function assumes that mmio regions are not overlapped */
> >>   static int cmp_mmio_handler(const void *key, const void *elem)
> >>   {
> >> @@ -106,14 +139,29 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
> >>           .gpa = gpa,
> >>           .dabt = dabt
> >>       };
> >> +    int rc;
> >> +    union ldr_str_instr_class instr = {0};
> >>   
> >>       ASSERT(hsr.ec == HSR_EC_DATA_ABORT_LOWER_EL);
> >>   
> >> +    /*
> >> +     * Armv8 processor does not provide a valid syndrome for post-indexing
> >> +     * ldr/str instructions. So in order to process these instructions,
> >> +     * Xen must decode them.
> >> +     */
> >> +    if ( !info.dabt.valid )
> >> +    {
> >> +        rc = decode_instruction(regs, &info.dabt, &instr);
> >> +        if ( rc )
> >> +        {
> >> +            gprintk(XENLOG_DEBUG, "Unable to decode instruction\n");
> >> +            return IO_ABORT;
> >> +        }
> >> +    }
> >> +
> >>       handler = find_mmio_handler(v->domain, info.gpa);
> >>       if ( !handler )
> >>       {
> >> -        int rc;
> >> -
> >>           rc = try_fwd_ioserv(regs, v, &info);
> >>           if ( rc == IO_HANDLED )
> >>               return handle_ioserv(regs, v);
> >> @@ -122,7 +170,7 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
> >>       }
> >>   
> >>       /* All the instructions used on emulated MMIO region should be valid */
> >> -    if ( !dabt.valid )
> >> +    if ( !info.dabt.valid )
> >>           return IO_ABORT;
> >>   
> >>       /*
> >> @@ -134,7 +182,7 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
> >>       {
> >>           int rc;
> >>   
> >> -        rc = decode_instruction(regs, &info.dabt);
> >> +        rc = decode_instruction(regs, &info.dabt, NULL);
> >>           if ( rc )
> >>           {
> >>               gprintk(XENLOG_DEBUG, "Unable to decode instruction\n");
> >> @@ -143,9 +191,15 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
> >>       }
> >>   
> >>       if ( info.dabt.write )
> >> -        return handle_write(handler, v, &info);
> >> +        rc = handle_write(handler, v, &info);
> >>       else
> >> -        return handle_read(handler, v, &info);
> >> +        rc = handle_read(handler, v, &info);
> >> +
> >> +    if ( instr.value != 0 )
> >> +    {
> >> +        post_increment_register(&instr);
> >> +    }
> >> +    return rc;
> >>   }
> >>   
> >>   void register_mmio_handler(struct domain *d,  



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 14:45:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 14:45:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259883.448620 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC0aa-0005YL-JL; Mon, 24 Jan 2022 14:45:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259883.448620; Mon, 24 Jan 2022 14:45:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC0aa-0005YE-FW; Mon, 24 Jan 2022 14:45:00 +0000
Received: by outflank-mailman (input) for mailman id 259883;
 Mon, 24 Jan 2022 14:44:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=REvy=SI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nC0aZ-0005Y8-Ek
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 14:44:59 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1debf62c-7d24-11ec-bc18-3156f6d857e4;
 Mon, 24 Jan 2022 15:44:21 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2105.outbound.protection.outlook.com [104.47.18.105]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-25-gIpL2EPYO9ChijnAKFK1Ng-1; Mon, 24 Jan 2022 15:44:56 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM8PR04MB7265.eurprd04.prod.outlook.com (2603:10a6:20b:1d8::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Mon, 24 Jan
 2022 14:44:55 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.017; Mon, 24 Jan 2022
 14:44: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: 1debf62c-7d24-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643035497;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=qsFpz1ehcck1STWTR0X8l2Y91c6v2u8cpJnsNI8KoJs=;
	b=TOErV/49DDRZDg7zAPbrkcigZZYSwHppQB3lT9kBcLM/Dj04aV1lvUDCiBnR1K4Gc6Ps+6
	uzq0iBfWlbc8UKYJivkgm9gi2luSBIyBsqROE1r8GWI/bN7mU5cr2jR5Iq/AkrCkja+4nN
	UFFsEUGDCa3MuHoowr6jqpj/CbnsyzU=
X-MC-Unique: gIpL2EPYO9ChijnAKFK1Ng-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UiAqQnWhSTJtqJh+0srzu6OiGh5MX7TIwWcMlNKn1IhgKHysrEvXtY4VT2iMinM39HkJwQsgT/JP5NFPWi1D5C/C69jB31d9rkm4MTJEPvzr6G9FfasH7HDCFQHgftB8L/S5+iCjczawsxXpabKZs4B/kcZcw0THZIj2J61xIUGWoa13F7U9iQB13nCNhbwp6n+JBwE9weNG+koFSCGr3dmaLHydDcUHkEpYR/mDjnXtEQ0Wv6G4qDeNFxpLKfczqAsJt39A+SxO8r8iiObjOuUsaZ3zPGZL42FbuctN6IiwOjM5njamoCD8zMb6xS/KVH2p3xRBRwRixb6XcT8GCg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=j4+fybkFc2AnaWUMWMFb+tk6x0VEPNJDIHJxJdzkr9Y=;
 b=b3ztk51BbS/RZUb/AIJIJWD9uiDgEllt6PLvo8WUZIj9i+9zYp+Neg+blOiQJzogyhqNSkITiomhq35XbH/7sl4DDN2b+nqTbUbPeXDUdwR1/NBYrLNJzdY3JiSSti6ikeYzDIGmJrPsStirRQo10VsySFoES/yd9mJgN8illrNzj4vZHI9YHchs0HCl3WCHbNL8/sWTxO/QDe/v6oo+raScAtZEcx2QdOT9/MpueLlnQ6WUTCu7LW0PPPuhWXVJgcxj1CsfuU+8YSYKnnam3k2ycvhz3awVBeYcFFHI9/cKqxDRgYEAHpTeiReWKC6eVfZc825K+oVZkY36eXORxQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4ccff255-630f-2805-b5eb-013aea666cf7@suse.com>
Date: Mon, 24 Jan 2022 15:44:53 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH RFC v2 4/5] x86/mwait-idle: enable interrupts before C1 on
 Xeons
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
References: <568cb6dc-127a-9c8f-0073-2df173d4677b@suse.com>
 <a0b3c3f6-2abc-353b-92f9-367fa57af8ef@suse.com>
 <YemFRFaKRanqgpSW@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YemFRFaKRanqgpSW@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS8PR04CA0199.eurprd04.prod.outlook.com
 (2603:10a6:20b:2f3::24) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d3ddd7e8-cfdf-43d1-31d0-08d9df481612
X-MS-TrafficTypeDiagnostic: AM8PR04MB7265:EE_
X-Microsoft-Antispam-PRVS:
	<AM8PR04MB7265175D451BC853796B2BB5B35E9@AM8PR04MB7265.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:
	oxXrAbKYYnVCJViu2mfaTSiVTo5GFH8UTGK33yxf+MblchAqRJoXdmwrLtkvi9Fqj2ZVKuUmGJq2EOUuAYtRrUMtuyqF9fv0ehfYTUdY98tp9n32eXK+R25c5tCTs5uiwcCV7gzcn7GBB9qNB/OPPFbTZm73zN++6AKuzYnv+03v6rrErXhfOV1T/Lzzw8eOIKwfWAJAX50g2vaRkoB9OGzzy9K2WR9nm5b3A6WPrNfKx+ttQCSnhPWmOwX2t15vOKPd6jMCuHgfX2s5M4mXKDHYka0nRlprWIlosj8WvP2DnSLmS1eRLrDQKsY2mlibjaybHT14iWAeFs7nLgexQRJib7FUm0vs6UfkDWztJtEBoAZqSBXbjlvDJjHOeJmeZbn9QYqiq1XGJxrQOJOap8/Q9AmFVwC1+KBluHLH+sW54N1iuBNylp/Szvf+SM5TQlBE/Ut1sBOV7+IOriUeFBLJKlcCqMHzdxk6FYG7A8qyzlURYf2+Gl2L4pAu9zhpTPeU1J7o5bw7CvpIF7Ke1jXnHNWVFleMQs14M9BxPNtC+7PhDsR3iKbXXpPpPJSMr9An3KoMt3WistFl4g015/msN1cXxopMJXZrQO3pkDfyCHGYftgAMk6YEPOHxlDJN+2M3r2oqyL8X4OPtVDCAjHIcDYj1Hgx3XrbPwPB+sh0eOBxH94O3l4PAFZs/vq249jZG6GkZGlwLz+vL4lJQqiSKDVHoNl/hLZbtKP1SQ3cPuoGH/F2dzgUd/BGnwwC
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)(36756003)(316002)(6512007)(66946007)(6506007)(38100700002)(54906003)(4326008)(2616005)(53546011)(186003)(8936002)(83380400001)(6486002)(5660300002)(26005)(508600001)(66476007)(66556008)(8676002)(2906002)(31686004)(6916009)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?mx3pmzqk7cDz3CLOdMSZDzfx7pOLMbESC3Ff6ehTFRxAxBSps4837CQxs+XH?=
 =?us-ascii?Q?sma9Qp9o3AgYXkMJhiLaMET1X3jR5kga8tsmC+O/FQ5VvHOuTnyaI+Dv5fy+?=
 =?us-ascii?Q?tf/pyOTD+ZrR0c4V9/vAjW0uf2W4bV6Wli7FA7EoWPxhUxIEhZKvO3PFPZ/K?=
 =?us-ascii?Q?XUeheYtNaYwni7uVi+4B2gVLducbJEN9M0qX4lmADchtrVQyz2NNsZr7kkCy?=
 =?us-ascii?Q?wYn1bi0fXZTBRHWuqXbaWP0lhqEq5C2CDZkV/mYZKslt7jI8ICNoSeOwa/sF?=
 =?us-ascii?Q?RNgOnP/EXVa+bU+CMqGx92SBDSb8chvfKwH1Xk/vAV3WHwfHec8YvdVKyUbB?=
 =?us-ascii?Q?6lLo2j1dDJnhnofcdr3URNRAQEQpTBa1eCqmM760JwmpivaR7JrqCjCD2Fvq?=
 =?us-ascii?Q?yGmCp2m3VY2x1iRYyU1JrYQfHnk/fufXzgN4Lu/qF6AfThr8vxACzT6MQGYW?=
 =?us-ascii?Q?uoRRmIdupn96H8FSKWeGdBHfZCAX0EUewLM3JY4GGhcnzzWClYiWnRmeiV53?=
 =?us-ascii?Q?Hu0XlgE6yHlzzRz+WqF+Kl6i1i4TvpN5C4+R8UCOtSI1e99jRBqk06LW00GR?=
 =?us-ascii?Q?F8o3p9G8nf1GzurFA1d+GOsWFQevEbRnZQ8EXAO3NAD0y3fZ7zUq9QemkmZh?=
 =?us-ascii?Q?mCdwcTSTxj7Sh75Hb5C2vClYtcb92Z0BgWDHjUTIhbnnCzFNO22hEhflpvnh?=
 =?us-ascii?Q?YqYy6f7vpKVFN7c166vCngBw5sRPt8jJ9qwbFXhxIsgtnti9B2SELKigKaEm?=
 =?us-ascii?Q?o6qSt11oK2u8JkL5/RcS0ebbfm+zoO2lvBkDgEqcR0Wj6t7NcjJPwp4YG5BD?=
 =?us-ascii?Q?wy+FR6dsoLYbtbZbZacD+05ft4E7z7RTKFGoPMrX74FTy8+ewXrErD5BA1Nj?=
 =?us-ascii?Q?0h2Wrl4oCGt521CQ4K+stH2AtNg4+VcZa7HPhUo6IkxOL7kNChKuO7RrwxYn?=
 =?us-ascii?Q?jGm5wqb+UQAEDVCLvbnnwMy8+Hnf7oeX3CUoVNEMFeHZpmD4ClRfwFqtOY5t?=
 =?us-ascii?Q?oW+f4lhZSIj+f4IX0ut/gyMxg0+FaxDISKU9V8qLpeqsl4Pr6DkIVXch5FXk?=
 =?us-ascii?Q?UjH+zRhVTDjvZ4tftCp30PrFp2AkS1jG5uCzoKbHHDb9gqTNenOWYq+Vh549?=
 =?us-ascii?Q?Sg4bF7UVbJKSr2RjqulrQtEvgwZbdeWi9CH6QPwU7keVwGZuDYG/zx9K+MQ1?=
 =?us-ascii?Q?KALaneqHNdMujBH5ATVLfEtBUtbQ6TwEoDjkTQYHCnyCnbYhgNmdGluHmiN9?=
 =?us-ascii?Q?t9a/K6fYQ5txVgvtdXu0KURESeKwOxaXZiuyf7JPSVWusoL0e6yLT5EsybBs?=
 =?us-ascii?Q?g2wJLRJAX1nQPKwebwe/AVr81taNQYjq3QWbu4OEOftTDakwDXXSKil+RzPf?=
 =?us-ascii?Q?yJ3hKdCbjQMJBTfDUUqtuwteT99Wmcr7XJ4qj7v1mPepO2+jGNIjChH6Fksd?=
 =?us-ascii?Q?Ia8aDFsPJL/4nc0XkNmLe/VELdooNtMQL5kNbple0cXWFouE9KyEgxxons7o?=
 =?us-ascii?Q?6u18obOfw3twZQaYkXVBegXq2/FhCZJGT+ZHrguZCvShlaMLhmZ5BPbCpIm8?=
 =?us-ascii?Q?Iv/BS1Z9x+YIUkd6ZYZQVuDszOSfDWWV8FP986xLI0jX9J3pAgD7zmRxwpyg?=
 =?us-ascii?Q?6EYz0B0E5DZXKoq/SPE2mB8=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d3ddd7e8-cfdf-43d1-31d0-08d9df481612
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jan 2022 14:44:55.1945
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Q9rzZIY6n6chNcGYZdDgDSSPD31wFduAy88UC5FyH0bUG1xAZG3knVowr5m89mPrL28X8YFJu1xozTDrrPMZaQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7265

On 20.01.2022 16:52, Roger Pau Monn=C3=A9 wrote:
> On Thu, Jan 20, 2022 at 03:04:39PM +0100, Jan Beulich wrote:
>> From: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
>>
>> Enable local interrupts before requesting C1 on the last two generations
>> of Intel Xeon platforms: Sky Lake, Cascade Lake, Cooper Lake, Ice Lake.
>> This decreases average C1 interrupt latency by about 5-10%, as measured
>> with the 'wult' tool.
>>
>> The '->enter()' function of the driver enters C-states with local
>> interrupts disabled by executing the 'monitor' and 'mwait' pair of
>> instructions. If an interrupt happens, the CPU exits the C-state and
>> continues executing instructions after 'mwait'. It does not jump to
>> the interrupt handler, because local interrupts are disabled. The
>> cpuidle subsystem enables interrupts a bit later, after doing some
>> housekeeping.
>>
>> With this patch, we enable local interrupts before requesting C1. In
>> this case, if the CPU wakes up because of an interrupt, it will jump
>> to the interrupt handler right away. The cpuidle housekeeping will be
>> done after the pending interrupt(s) are handled.
>>
>> Enabling interrupts before entering a C-state has measurable impact
>> for faster C-states, like C1. Deeper, but slower C-states like C6 do
>> not really benefit from this sort of change, because their latency is
>> a lot higher comparing to the delay added by cpuidle housekeeping.
>>
>> This change was also tested with cyclictest and dbench. In case of Ice
>> Lake, the average cyclictest latency decreased by 5.1%, and the average
>> 'dbench' throughput increased by about 0.8%. Both tests were run for 4
>> hours with only C1 enabled (all other idle states, including 'POLL',
>> were disabled). CPU frequency was pinned to HFM, and uncore frequency
>> was pinned to the maximum value. The other platforms had similar
>> single-digit percentage improvements.
>>
>> It is worth noting that this patch affects 'cpuidle' statistics a tiny
>> bit.  Before this patch, C1 residency did not include the interrupt
>> handling time, but with this patch, it will include it. This is similar
>> to what happens in case of the 'POLL' state, which also runs with
>> interrupts enabled.
>>
>> Suggested-by: Len Brown <len.brown@intel.com>
>> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
>> [Linux commit: c227233ad64c77e57db738ab0e46439db71822a3]
>>
>> We don't have a pointer into cpuidle_state_table[] readily available.
>> To compensate, make use of the new flag only appearing for C1 and hence
>> only in the first table entry.
>=20
> We could likely use the 8 padding bits in acpi_processor_cx between
> entry_method and method to store a flags field?

When looking there initially, I thought it wouldn't be good to add
field there. But looking again, I now don't see why I thought what
I thought. (We actually have an 8-bit padding slot there and a
32-bit one.)

> It would seems more resilient, as I guess at some point we could
> enable interrupts for further states?

C1E maybe; I don't think anything beyond, for having higher wakeup
latency anyway.

>> Unlike Linux we want to disable IRQs again after MWAITing, as
>> subsequently invoked functions assume so.
>=20
> I'm also wondering whether there could be interrupts that rely on some
> of the housekeeping that's done when returning from mwait. I guess
> it's unlikely for an interrupt handler to have anything to do with the
> TSC not having been restored.

Actually this is a good point you make: We don't want to enable
IRQs when cstate_restore_tsc() is not a no-op, or else we might
confuse the time rendezvous. (I thought that I would remember
TSC to stop only in deeper C-states, but maybe I'm mixing this up
with the APIC timer.)

>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>=20
> Acked-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>

Thanks, but as per above - not just yet.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 15:23:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 15:23:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259889.448631 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC1C1-0001JH-Oy; Mon, 24 Jan 2022 15:23:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259889.448631; Mon, 24 Jan 2022 15:23:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC1C1-0001JA-Lg; Mon, 24 Jan 2022 15:23:41 +0000
Received: by outflank-mailman (input) for mailman id 259889;
 Mon, 24 Jan 2022 15:23:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BDBv=SI=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nC1Bz-0001J2-4A
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 15:23:39 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 98a4a82e-7d29-11ec-bc18-3156f6d857e4;
 Mon, 24 Jan 2022 16:23:36 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 98a4a82e-7d29-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643037817;
  h=from:to:cc:subject:date:message-id:
   content-transfer-encoding:mime-version;
  bh=5wTV4dXepGMhmOedAvmDrMvoNHMtZLnP3QdUsfKJccQ=;
  b=gj0ipyQC7zcWXu61WJR6OhRLOeuxcPGfjnQZSpHRYtRVPSqbV8XgephN
   x3aKoP4Xla4exC+AG5TzTYHkPe/JGGsN70KV/6N9DX5xkC4pkUv33yOoU
   Xk603LsCjfneCFXgnRK1tghAUHsndHLFCourJKDvGQcjNp9QSS6Fz42Ii
   s=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: 7DZU3U+KG/fm0IbDCaId5dNTGxeHqvh/z2zxdqRyNq7Vl5LEpU02RNkKsqSZxI87KWvn4XloWn
 fllZG20nXOUDtMgJU8I0rMdswboOCgOlXf/3qQGMXo3+oRP5rSL01xxvuGmGFsbM0qeRfgyHGI
 VdDpialcSH44qptU/zbgrOEEV6wv69go674r0HkdXh60hu+iIKau9VHW8DmEuqWtaPcMJKUvdH
 iYldlOVh5UZ/lQSCVB79lKeXCiEr453ZD6ZozjOhjm7xToAz0FTvskgkxRqhgMFYOy6fXEMz2o
 +AMIHZ+L9s/evJubB5+A9PKW
X-SBRS: 5.2
X-MesageID: 62633103
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:j2avx675VmVrpAi7i94JqQxRtOrAchMFZxGqfqrLsTDasY5as4F+v
 jceXjiEMvbYNjf2f9p0Yd6xoEsHusXRydFjHQo6rn83Hi5G8cbLO4+Ufxz6V8+wwmwvb67FA
 +E2MISowBUcFyeEzvuV3zyIQUBUjclkfJKlYAL/En03FV8MpBsJ00o5wbZg2NIw2LBVPivW0
 T/Mi5yHULOa82Yc3lI8s8pvfzs24ZweEBtB1rAPTagjUG32zhH5P7pGTU2FFFPqQ5E8IwKPb
 72rIIdVXI/u10xF5tuNyt4Xe6CRK1LYFVDmZnF+A8BOjvXez8CbP2lS2Pc0MC9qZzu1c99Zm
 NNLtaW7axoVHIb8kuU8TwNlPwAjIvgTkFPHCSDXXc27ykTHdz3nwul0DVFwNoodkgp1KTgQr
 7pCcmlLN03dwbLtqF64YrAEasALNs7kMZlZonh95TrYEewnUdbIRKCiCdpwgm1u3ZsXRa22i
 8wxch40djXgZwFzPFpOObgQxceCu2ncbGgNwL6SjfVuuDWCpOBr65DyNPLFd9rMQt9a9m6ar
 G/b+2XyAjkBKceSjzGC9xqEluLJ2C/2Ro8WPLm57eJxxk2ewHQJDx8bXkf9puO24nNSQPoGd
 RZSoHB36/Fvqgr7FbERQiFUvlbUuBgcYtFyDtEYwzGHy4vI+Tu1JzUbG2sphMMdiOc6Qjkj1
 1msltzvBCByvLD9dU9x5ot4vhvpZ3FLcDZqiTssCFJcvoK9+N1bYgfnE447eJNZmOEZDt0ZL
 9qiiCElz4segscQv0lQ1QCW2mn8znQlo+Nc2+k2Yo5Hxl4jDGJGT9bxgbQ+0RqnBN3BJmRtR
 FBex6CjABkmVPlhbhClTuQXB62O7P2YKjDailMHN8B/q278pSX4INEBvmgWyKJV3iEsImeBX
 aMukVkJuM870IWCM8ebnL5d++x1lPO9RLwJp9jfb8ZUY4gZSeN01HoGWKJk5Ei0yBJEufhmY
 f+zKJ/wZV5HV/gP5GfoFo81jO96rghjlDi7bc2qkHyaPU+2OST9pUEtagXeN4jULcqs/W3oz
 jqoH5LakkoECLynPHC/HEx6BQliEEXXzKve8qR/XuWCPhBnCCcmDfrQyqkmYItrg+JekeKgw
 513chUwJIPXiSKVJAOURGpkbb+zD59zoWhiZX4nPEqy2mhlaoGqtf9Ne5wydLgh1epi0f8rE
 KVVJ5TeWqxCGmbd5jAQTZjht4g+Jh6lsh2DYni+az8lcp8+GwGQoo34fhHi/TUlBzassZdsu
 KWp0w7WGMJRRwlrAMvMRuioyle94SoUlO5oBhOaKdhPYkT8toNtLnWp3PMwJsgNLzTFxyebi
 FnKUUtJ+7GVrtZsotfThK2Co4O4KMdEHxJXTzvB8LK7FSjG5W7/k4VOZ/mFIGLGX2Tu9aT8O
 egMl6PgMOcKlUphupZnF+o51ro34tbiquMIzglgG3mXPV2nBqk5fyuD1MhL8KZM2qVYqU29X
 UfWootWPrCAOcXEFl8NJVV6MrTfhK9MwjSCv+4oJEja5TNs+OvVWEpfCBCAlShBIeYnK4gi2
 +og5JYb5gHXZsDG6TpaYvS4L1ixE0E=
IronPort-HdrOrdr: A9a23:1DMkuqCicorq4j7lHehCsceALOsnbusQ8zAXPh9KJyC9I/b2qy
 nxppgmPH/P6Ar4WBkb6Le90c67MA7hHP9OkPMs1NKZPTUO11HYVb2KgbGSpgEIeBeOiNK1t5
 0QC5SWYeeYZTMR4LeYkWuF+r4bsaa6GcuT9IHjJhlWPGVXg/YK1XYENu/XKDw/eCB2Qb4CUL
 aM7MtOoDStPVwRc8SAH3EAG8zOvcfCmp7KaQMPQ0dP0njFsRqYrJrBVzSI1BYXVD1ChZ8k7G
 j+igT8ooGuqeuyxBPw33Laq75WhNzi4N1eA9HksLlfFhzcziKTIKhxUbyLuz445Mmp9VYRid
 HJ5ywtOsxigkmhCV2dkF/I4U3NwTwu43jtxRuzmn34u/H0Qzo8Fo5omZ9ZWgGx0TtugPhMlI
 Zwm06JvZteCh3N2A7n4cLTah1snk2o5VI/jO8oiWBFW4d2Us4ckWUmxjIVLH48JlO71Gh+e9
 MeT/00pcwmPG9yVkqp8FWGm7eXLzYO9hTveDl3hiXa6UkSoJlD9Tpp+CUopAZ0yHsMceg02w
 36CNUaqFg3dL5sUUtcPpZ2fSLlMB2FffrzWFjiU2gPUpt3f07wlw==
X-IronPort-AV: E=Sophos;i="5.88,311,1635220800"; 
   d="scan'208";a="62633103"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Tjdj1diuw5YXZeMwmzb4JJGU8PXkhizLMJkKkBUZ2Gl4PHx0meO6PBtlaIfUN5HbxvaxWuAijRvEMq/+kis7lBKMlxzO3KRaxjRb9lH5Nz1ySartaGapg6o1HiLVSGCd2xvUxg+vq4MtwBiqPOD5rzCO35g9VHz9RSU/LNfqDDrGb7oUCcCPrCO3LivwCMbXuJQEhm1HUHbDpzSTMgKWOsINhxFpa29CSq/yjFYes5JV0UXY+ScZYh4j92/U6REuZmN59yhmyXXQvFzMhPNZsl6CK9mtqu0atypCqrLdCPzz2h0jjyhpXN8eQ2ew/+dwsc1dvwZIxbja+Ql8wzV3TA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9Fcmxul0WcH9tCwscw4bf/6Se6SVoxRS1aD5DGoEopw=;
 b=BF3VrqfUXkkOjmWjKD5ikTOuMS9Y81A1bzNueTqAmqJ+/xrdq48jjZDreiwQ+2lbjw8HUGsXGDuQ62qBrVmBQOZ3xGYL/5Su/zEhFN9phX20bK8wum5RHWj5x8jo4jrUew9T2JxT9GfCOUjryhHGj2GXUKZuSZdDcXLKzIVJ7/ZUMEsuPoNGJDtkydDX9uvLar91JthrOj/IHJzJYvoqp0JxY5Do6RNwcAZ+RRVI++Vo8najOudbHQcD6C2/8P/c/pZtHNLobLJwDVkin88a4HUyKgg7mJ323d4hkOfse7zjMuIw52lClj3N/RliMsmAf0dk7XTx9ABCXvImdgIbUQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9Fcmxul0WcH9tCwscw4bf/6Se6SVoxRS1aD5DGoEopw=;
 b=hm0AGiR7gNHJlP27dwRQ1N8g/G+TQPh0M2hGc2oig2rXg1ycjv51g4fyXJevfpApj4saaFJugX7MSg7bdz2EwC4VwVkbIoVfgM0qSrLVgjMx39waD1dl5GTZGXF36A6cG3NyZaFx//Iz620efnegloUR+gQdQaCVtGjP6NHGvJo=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH] x86/pvh: fix population of the low 1MB for dom0
Date: Mon, 24 Jan 2022 16:23:16 +0100
Message-ID: <20220124152316.37049-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MR2P264CA0115.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:33::31) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 459db505-1f5e-4ed7-221a-08d9df4d7755
X-MS-TrafficTypeDiagnostic: MW4PR03MB6666:EE_
X-Microsoft-Antispam-PRVS: <MW4PR03MB666627CF53D243B9FACAFD4F8F5E9@MW4PR03MB6666.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: /Kyst+rXxDKfFBpgYo3htBA92OJMeAYCzbbeJ82JD0AnAAFf9vz6y+xa7zaYHB/OcCrQdzKRwcEiB2H0T4aaVCqZIryxe+MGKwU0deJnSFW1iJIxIcjiCXE4uSZkI8ixmssnatqNpptYBVWKHZdZQT83UapgRn12AkMBCiDJMyyzlbbv69U2rSEmlnVjHUwIvVcVu6dkNJQVEs/vMpDHQOzUPsos0cWOeb1hJ1sXU6WDTUCcifd2mVuNZ5sJBWyjKIpon5YxGt6ugu3IwAXzzHxNlm62ZTTokd1ABWF66k0HU0Vlz/dpy59RfAjHhDAPlJaYB2TJQjgZ4h5ZpZVU5RFyd49CoLM7UV9Qm4+msHutmYw9TtUg1VlbBVeEdl29W4UOTskPJzeKJd9jYAzhFaxmdCB/2PMPCnMZvXXNpcj0IUXxtEaNu5hiOabHwqY9Urk+FnlrtfhuLeDvwZbiCYPi7HTCnYYFCKWhR8Pd+aedwSMUm2FExsQShLQa39I7aGJdNhagQBpRPMpkgYkzkXLLMabK+mDDgv6xWl4z3FeU4QUztObZpkdzVCu+ETyRJbK8H3LdNA7by//IQg5L1Kb1oGlpajGEJbccBVC3R9r8XzUyl8eO8sOBdmY8GTqR0PR3r7tijglMHgcyLU6UDQ==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(54906003)(1076003)(83380400001)(4326008)(26005)(186003)(316002)(8676002)(66556008)(8936002)(2906002)(66476007)(2616005)(82960400001)(38100700002)(6666004)(86362001)(36756003)(6916009)(66946007)(508600001)(6486002)(6512007)(5660300002)(6506007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?OVhGZzFjd0NNM2dYek5ueFNlV214SEJ4Mnh6eStqSXNFY1lNWDUrWWg3S25N?=
 =?utf-8?B?MWZmRVViL0NBTnpTcnlBbFFpVnI2VGk0cDFHVnJXVnV0b243bUM2N0VieURJ?=
 =?utf-8?B?QnpOWVU0d0NKWFN1dGRyQUk5RkY1R2Npbk11bFNkZDBIRlJaZ0dUd3ZwT0M4?=
 =?utf-8?B?d1MxaTYvTDBobXhWQnpQaUFjcmdHdlFrckVOeVE4SHlla0tIVGRjRUxFQ3Mv?=
 =?utf-8?B?OS9kd2RURnNqK1RHU1YwVURjb2REcUwwL0V3d05LMDREL0t0aS9IaFQwZ0lE?=
 =?utf-8?B?dU9zeDFjKzZRSkxtalBrWDZQem9pcnhWUVFPNjMzREpNQTRpa0xhVkNTVUdW?=
 =?utf-8?B?cFpzemNsYWtzUHZTUFd6alMwOWE5ZGh3NDZPdWgvZG0yd0tRM2tDOE9kSU1i?=
 =?utf-8?B?a1RwbzltYS9samhheWFlMEtQZVlqRHVUc1JQeFBsMDBETldRcTIrcFFIMHNE?=
 =?utf-8?B?dTUwYXFiZ3RVb3Fwd3hkclJiUE9VTVJ5ZmRjT0lmbTM1YnJobGxlR0Y0a2JN?=
 =?utf-8?B?dXQvUHFuL2p6VG1wYmFST1NoTW1nYmNSMGFpenZwbG16enpoZnpXaFhQcW4r?=
 =?utf-8?B?YmdCU0pFNFVsL0paekt5b2dkSy9BVmwydDA2OXRRSzZVYUJQODJYK3djQzJ3?=
 =?utf-8?B?dVVkdGdpOG9YTDBWYTlSb0N6eU5TZDhVME9MMmdWRDRSaHVzY2lxRWhsYkJS?=
 =?utf-8?B?OGpCa09IZzN5M3ZyMWdUd3l5aUJQdHhwSTNvY3MyYnVYMzc3b3E4bkFUdU9v?=
 =?utf-8?B?eitraEJYQStOdE1sWVFTVHJRNi9mODQxOXVTSkNSb0VkdnhCaHJ2cmhwYk9O?=
 =?utf-8?B?d2diSDZVMTd0MlVmSWZkdnNPZU4rNVpqWjZraG1xb0Z1NlUrQjd3ZGpHYVNT?=
 =?utf-8?B?UWttd1J5b3pneTVUbU9vQ0pVdG5SY1RySE1xanF4b1pKWVdWQ280VGRGa0dE?=
 =?utf-8?B?amczd3VpY3lHR1E5S2dndmgyWEZ5YWtsVXdRVncvVmEyRmxJTm1ES09DSWJG?=
 =?utf-8?B?UHp6QWs1WnhkSWQzS3VxU2Rud1cxbHUvS0tZZXZFeldXN24vNEFOV0dDZjRk?=
 =?utf-8?B?cmlsL1VEdUR4Y2VoQkpYTTJCekVzdkFZRURrQ1pwQzFhZlJBNmpEVUJwSkVk?=
 =?utf-8?B?NlJFbE4zRitSMkRJbG9kNitmRHhjdE5ORGJTRllWQ2ZTT0EvRWExZmR2UlFB?=
 =?utf-8?B?NlRzOUQ2MUplYXdrN1V4Z3JMV2txd2FuSWoxa1ZGelA1VVdSMnd1dVg0cE9K?=
 =?utf-8?B?ckljTnVoVlIwdWxLQzhmQjUrSXduelc3dEZiUWQxQlJDRE83SDM0Q0dadGVD?=
 =?utf-8?B?V2thWDlGZkVRVzZUeW1CY0RuV2lkNkNKcHNuVjh6dVZQVk5WYnFwRDVqWjJa?=
 =?utf-8?B?aW1ZOW94UjdSTjFHek4xWXl5NmgyOWZrT0xUMi9COC8rZzNkbXBkaFFud1hx?=
 =?utf-8?B?UWY5dlZnc1B4RVF2OVF6VGtySzR5SEdxN2ZnUU1SSTVTMlBieE9oUE5CTFFw?=
 =?utf-8?B?Kzc0SjhZT0JDNGk1UTJqUWRUYnJEem9aQm4rejZwcjdxNTJobjJ0ZW9zRDla?=
 =?utf-8?B?TVNuL2E0WHJiRUlLTzNUL3E1WFpiYVFLNmo4VzZsVElHZER2NFdEKzFVWThJ?=
 =?utf-8?B?N2xSV1ArL2FWczJkQnFCYllYam0xQlVxQTFOYmg2UVM5QTBqYkJjTDhsaFpa?=
 =?utf-8?B?NG9EY2JCaUNwZEN5RWllZmhUNTFKenR5amMrZ1Z1VFRiNVgyRUlmZFJqVmZj?=
 =?utf-8?B?YkdFc0VlblJ1ZjBxcVA1K0JPbVYxeGY4OGswVWk3L1FDaHhoN09FWXlPbFBa?=
 =?utf-8?B?VmtqV1JCOEZneGM0bk9ad1RyZGZnTFRxWFgvMlNFdDNSTzBrU0R5OGNHbTFE?=
 =?utf-8?B?VW5OTmp3NDFhT0JoMDEyVzNzSkRJajN0aUo5WUJBR2xRalhSWXJhYnB5ejdp?=
 =?utf-8?B?UGlnbE9wZjd1S3V3MldGM0hUK0FGWitkUE9XaVJQclJSdlVrTE12MUszZDdq?=
 =?utf-8?B?NkwzNmdDZnErb3ZJM3RmaTRNK0VObjg1OTVpUHZBOGVYUlErYmJiQk5pVVNk?=
 =?utf-8?B?a3o5UGdTT3p0NTBuRkduTW9FTzlNRlpFTzljalFUMXJESzNkaTRyYUxhWUxF?=
 =?utf-8?B?b1MzcmhDQVRpRUdQRG9oTERMRVU0K05KYnZSbXZHNGVlYUlQWnlYMVNTWFVm?=
 =?utf-8?Q?yF67pOKEV8az6G9QcnwpVck=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 459db505-1f5e-4ed7-221a-08d9df4d7755
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jan 2022 15:23:26.0003
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: KZNteJZuTrkHahx0hbCdKUIE92SKCO9l2vtuu9OrQrhi760Bi+/6Pu3fhY0bb7Hl24D11lOejvZEXcw5tgJo9Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR03MB6666
X-OriginatorOrg: citrix.com

RMRRs are setup ahead of populating the p2m and hence the ASSERT when
populating the low 1MB needs to be relaxed when it finds an existing
entry: it's either RAM or a RMRR resulting from the IOMMU setup.

Rework the logic a bit and introduce a local mfn variable in order to
assert that if the gfn is populated and not RAM it is an identity map.

Fixes: 6b4f6a31ac ('x86/PVH: de-duplicate mappings for first Mb of Dom0 memory')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/arch/x86/hvm/dom0_build.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c
index b00e45885c..739bb8adb6 100644
--- a/xen/arch/x86/hvm/dom0_build.c
+++ b/xen/arch/x86/hvm/dom0_build.c
@@ -466,11 +466,17 @@ static int __init pvh_populate_p2m(struct domain *d)
     for ( i = rc = 0; i < MB1_PAGES; ++i )
     {
         p2m_type_t p2mt;
+        mfn_t mfn;
 
-        if ( mfn_eq(get_gfn_query(d, i, &p2mt), INVALID_MFN) )
+        mfn = get_gfn_query(d, i, &p2mt);
+        if ( mfn_eq(mfn, INVALID_MFN) )
             rc = set_mmio_p2m_entry(d, _gfn(i), _mfn(i), PAGE_ORDER_4K);
-        else
-            ASSERT(p2mt == p2m_ram_rw);
+        else if ( p2mt != p2m_ram_rw && !mfn_eq(mfn, _mfn(i)) )
+                /*
+                 * If the p2m entry is already set it must belong to a RMRR and
+                 * already be identity mapped, or be a RAM region.
+                 */
+                ASSERT_UNREACHABLE();
         put_gfn(d, i);
         if ( rc )
         {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 15:52:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 15:52:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259894.448642 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC1di-0004VB-4j; Mon, 24 Jan 2022 15:52:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259894.448642; Mon, 24 Jan 2022 15:52:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC1di-0004V4-0T; Mon, 24 Jan 2022 15:52:18 +0000
Received: by outflank-mailman (input) for mailman id 259894;
 Mon, 24 Jan 2022 15:52:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BDBv=SI=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nC1dg-0004Uy-HB
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 15:52:16 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 977a82b7-7d2d-11ec-8fa7-f31e035a9116;
 Mon, 24 Jan 2022 16:52:13 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 977a82b7-7d2d-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643039533;
  h=from:to:cc:subject:date:message-id:
   content-transfer-encoding:mime-version;
  bh=wctpGSAqI7Znq2QTTZzfk32D283kWtMwEhwylcvceuA=;
  b=UFtMHZdh2mHIq1nawQCbfG8VdHMnJLGrex3ZItjZzV+OZJmi2SYxTKyq
   z2/BC71NB23MQxTeKiHYbD07xqcXQcIfIFJxkZoVw+iWb8Tb4yF7sujm+
   YSjmkk26CGdLhnMbM6vaOHNtIIpd/2u9T9vw5OxX43IEBnK9gJC7WhiQv
   U=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: dlIssqMoDR+btzLDzbQK6QqSLWMELW2IJNCAt2pks95YEJhPClRs3Zerx+xjblJuvWbMhAfbDm
 gStzMhunQHH8OPZaaAe167If/ENq4GVea5gQA12aMXa8CtdCtmdycd/DMnIZgZ80yuzYstvnBy
 NMpClWJ7/Skw57ya6XUxbSOWfHSU+htTes/ghqoI64kaPEIeGgQMSmVkCQozMsQGcQV7jDCLzh
 5OPAKVcga+o+DqDFv4f/ZHFqNJjafPXOj7+cM8KZHJDosvVWi+eTwyUe9z9DljhghL7/+JdKcF
 9uZyMTgycPiiLfJu5ifryAih
X-SBRS: 5.2
X-MesageID: 63043546
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:YU52tq8GCkiZ84IqNONeDrUDUnmTJUtcMsCJ2f8bNWPcYEJGY0x3m
 GoYX27Tbv6NN2ujed4gYdm18BgPuZTTzdJiTgU9rnw8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7dj3tYx6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPh10
 OxR7ISuGD0WI5PKncg9cBpENxtHaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguw5K8bmJsUHs2xIxjDFF/c2B5vERs0m4PcGh29s3Z0SQ54yY
 eI5UCMwdzefSCdMEQgaL4oupsGUr0bgJmgwRFW9+vNsvjm7IBZK+KfpGMrYfJqNX8o9tkSSq
 3/C/m/5KgoHL9HZwj2Amlq8i+mKkS7lVYY6ELyj6uUskFCV3nYUChAdSR28u/bRt6Klc4sBc
 QpOoHNo9PVsshzwJjXgY/GmiHqchwJFQ8QBKdIn1geI5or34Bq9PFFRG1atd+canMMxQDUr0
 HqAkNXoGSFjvdWpdJ6NyluHhWjsYHZIdAfucQdBFFJYuIe7/OnfmzqSFo4LLUKjsjHi9dgcK
 RiupTN2ubgchNVjO06TrQGe2GLESnQko2cICuTrsoCNs1kRiG2NPdXABb3nARFod97xc7V5l
 CJY8/VyFchXZX13qASDQf8WAJai7OufPTvXjDZHRsd9rWXzoCX+LNEOuVmSwXuF1e5fIVfUj
 LL741sNtPe/wlP0BUOIX25BI5tzlvWxfTgUfvvVcsBPcvBMmPyvp0lTibqr9zm1yiAEyPhnU
 b/CKJrEJStEVcxPkWTnL89Age5D7n1vngv7GMGkpylLJJLDPhZ5v59fbgvXBg34hYvZyDjoH
 yF3bpvTlE4HAbSgO0E6M+c7dDg3EJTyPrivw+R/fe+fOAt2XmYnDv7a27Q6fIJ52a9Sk4/1E
 ruVAye0EXLz2i/KLxukcHdmZO+9VJpztytjbyctIUypyz4oZoP2tPUTcJ4+fL8G8u1/zKErE
 6lZKpvYWvkfGC7a/zk9bIXmqNAwfhqcmg/TbTGuZyIyfsA8SlWRqMPkZAbm6AIHEjGz6Zklu
 7Sl2w6CGcgDSg1uAdz4cvWqy1/t73ERlPgrBxnDI8VJeVWq+49vcnSjgvgyKsAKCBPC2jrFi
 FrGXUZG/bHA+tZn/sPIiKaIq5aSP9F/RkcKTXPG6buWNDXB+jbxy4F3T+vVLyvWU3n5+fv+a
 LwNne38KvAOgH1Dr5F4T+Rw1as76tbi++1awwBjECmZZlinEOo9cHyP3M0JvaxR3L5J/wCxX
 xvXqNVdPLyIPuLjEUIQe1V5PrjSi6lMl2mA9+kxLWX7+DRzreiOXkhlNhWRjDBQceluO4Q/z
 OZ94MMb5mRTUPbx3gpqWsyMy1mxEw==
IronPort-HdrOrdr: A9a23:XotTTayqeh/Q20BL9ateKrPxwOskLtp133Aq2lEZdPULSKOlfp
 GV8MjziyWYtN9wYhAdcdDpAtjlfZq6z+8O3WBxB8bYYOCCggWVxe5ZnO3fKlHbak/DH41mpN
 hdmspFeaTN5DFB5K6QimnIcOrIqOP3jJxA7t2uqEuFIzsaDp2JuGxCe3um+wBNNUB7LKt8MK
 DZyttMpjKmd3hSRsOnBkMdV+yGg9HQjprpbTMPGhZisWC1/HiVwY+/NyLd8gYVUjtJz7tn2W
 /Zkzbh7qHml/2g0BfT20La8pwTstr8zdloAtCKl6EuW33RozftQL4kd6yJvTgzru3qwFE2kO
 PUqxNlBMh342O5RBDAnTLdny3blBo+4X7rzlGVxVH5p9bieT48A81dwapEbxrw8SMbzZ1B+Z
 MO+1jcm4tcDBvGkii4zcPPTQtWmk29pmdnufIPjkZYTZAVZNZq3MEiFXtuYdk99R/BmcEa+L
 EENrCd2B8WSyLRU5nhhBgh/DT2NU5DXStvQSA5y7moOnZt7TJEJnAjtb0id0E7heAAoql/lp
 r525tT5cFzp7ctHNpA7cc6MLyK4z/2MGTx2Fz7GyWVKEhAAQOJl6LK
X-IronPort-AV: E=Sophos;i="5.88,311,1635220800"; 
   d="scan'208";a="63043546"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mBqP2hR56ROs32VcdFP9G0sUvCNkoIm4vVajyznSEngReobUQ1neBSPQvwDuABAl3Z9PLAJYf63qcD6TsLoyxAIEFO6wEQy2euIes8BaHvQU/MhzlfhSCdfQfwKRDAStUABE5cE5O1MyyxV2JStyWo+spY8Gb/sbWGk0/T1b6HaZu3JiE7x/o+wYiEryzyblyNheiIhY5QLD9wJESaHoa2Pl3GKVZaqb6uoh2auVJrdnwiN1xAu4+aBP+ibDvdSD3RIsrGOeqD2wL5vyHKjX25hx+lTTXwYcqw1baNYpDN2cQUpggryE6tvvzwYawq5KX/xJc8TBd7u2WZnPFPO+lg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WivgsLMvz4O78BXePpMJHcH32FjfjwpJqvql3OKi70I=;
 b=WEDwUJi8AIovPxEgg49AZoB3a0ebWy2SBtJnLJLQQgpRrlyas8Q2FwSEAb6ijeYonTrm4acxPBauGaptdBUVt0jFw30nGpcu9irlpLiN1QBYRXAH9v4no8J6yRjmXSkoE/SIm4/kCow0pG7BDom8iwQhWaO21Xj5Nw9yPeq1Kjwj+WOUn0qxvBWga+64SZZs018yQpX6NowLNJ6WdGuqv5VCutQuyT5CS8GfsEP7zcj+W2xG/fGx3AIzJcVH/FD+LrM82o51ZOEoWeBVlNGB5EcDvpllap5Yrsfc0DBhDopRMUG1+wJrqVaoGfwk+k+txI4r1sUV6am0dUHcih+o/A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WivgsLMvz4O78BXePpMJHcH32FjfjwpJqvql3OKi70I=;
 b=Ai9yl2NmqLV/MwAUoYoHk+PgwwMGN2Shciu90hKXHQ2Tr+JXeYlA9nhk/tbVeNSXxTN2CvkEOmUDtOuEXQTowvo6PfEldS0Mu2DfE9wT0NMgJ8XYDnFflOdSsp/WjTk9Zxx7HV67xXewsS3JwZtvCKa55ZGO59a9LQwuuCsrQ/Q=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH] x86/pvh: print dom0 memory map
Date: Mon, 24 Jan 2022 16:51:41 +0100
Message-ID: <20220124155141.37495-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MRXP264CA0024.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:15::36) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 31afc61f-f0bd-4416-b980-08d9df5170f2
X-MS-TrafficTypeDiagnostic: BYAPR03MB3896:EE_
X-Microsoft-Antispam-PRVS: <BYAPR03MB3896B8FE52B590ED7B9A72348F5E9@BYAPR03MB3896.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:2000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: yKskrtpOtl4M9MLWM1HbmbehztyVdlgsVmZVgnwcBnObWlMjsi4g3IQ2lsAqonkloRGCiCLBtGQt6CRoXqHEXtVA9H/LLd4GrDMiw7W3qsk+sP+Nnl9b2qllqriKViF82A3hNL98O/2VLtzOEM0w9oBvEFyZB7vPfSTHlEf9BoZw1azzM3jjRQCON81nIwkf2XThRfoaWTfWArK2I76wFYoyNS3uWQEku+ZF3Sah16ECwwagRi3k8vn6SXiROoDtCERD493Al9S37NQix1wptYPawsE16O4Jn2mJp3VE03KQ30MKhUHZo+vSqR8DqWGzrGyRr3ndcI/aEr9MMvcl+qZdm90cJzBxLzjbT6O3wrjrDa2mWaRKrX5aIla2sZOC8/mIjoOByJQyB56OB1C4oQScuSfOi+0PeU5ibKgDLz5R9rYR3ouZxt+3hX+c68qgvCrc3sKJhathytL8ROz9nsDKlw4MvroTttHwas9ArmTvjJ33QqAftvoz6zVDOiiOedsNwS0VUti/eziHQvEnINGbOQXStoYaPSEQ/W64u1lf2MfgPdjXG+3X92BRKVudHxwFj0yHnbTdvHEaBjSC7UeEzk0rrajpDLMpPaE4oIt7cnvjp5fcvpZpKwNh2i85DX4wqpdb31TXSBxDn7xQzw==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(6506007)(2616005)(6512007)(6486002)(83380400001)(66556008)(6666004)(66476007)(316002)(4326008)(8936002)(66946007)(36756003)(1076003)(38100700002)(82960400001)(54906003)(5660300002)(6916009)(26005)(8676002)(86362001)(186003)(2906002)(508600001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?OC91RTZsY0dHY2swbm5HVzM2NDU4RGwveVVTU1NSbjZlYmU0eEpVM0t3a0c4?=
 =?utf-8?B?VTQvZmFYdG5NRFB0dnNKbjIvSUxPM2h6c2dSOG1kbXVrK2l1VCs3Y3Rid0J2?=
 =?utf-8?B?VFJNZDNFczh3RE13NElLWjNUdzRYdDBackZLd3g3R1NJWFVGWkE1Skwyc2d1?=
 =?utf-8?B?RmpSaUMxTHljcE5iTTJ1TkJrWXlpcG9oNE9GOE5HeHZqV0tEb29OYnYzakJn?=
 =?utf-8?B?RzNwS25iWXpvZGgvRGhwUm1mM2hEZlVqZ0JuaVZiL1U2VzhUUWhLcVBPVWRS?=
 =?utf-8?B?TWhyNXhSSzhtR21tTHZoZFQwOTI4eGZmSzB1TVhOaXFqcXNrdTUweXRLRmZY?=
 =?utf-8?B?bWxvZzZETHV6SHkrMEY1aWtZbUdWcUhRanRSZWpkZWM2ZEs2Q2tweEVzRHNJ?=
 =?utf-8?B?V21LSkh0NlZqNFZkNE1Cd01sbWk0ZW1MbDVuejVUd3IveFlheDN5R1pid0Vu?=
 =?utf-8?B?eFNUL25zdVlGcGg5dGx4V21BWGt5KzVCVURqTXpNRWFDdVJjNHZxNi9Qb2du?=
 =?utf-8?B?aGFNWGN3eDFIYlN3UUZOMncrbGVkUnJuSlJrVlhFUTJKeVJ0VGhSbVFKZWx4?=
 =?utf-8?B?NkJCWHJyTEE0OU1XQWtkZ2dIcGFWbnY1N0F0U1kyUnZQdzZZNjJOYjRwUDB6?=
 =?utf-8?B?R1FySXBJMktROGRtSHFXMFRyM3pYTVkybmxlY05kT0J4UnNxa3QrNGc4anVN?=
 =?utf-8?B?ODhuM01YSldIWXZIV2xUWHpaNmE5andjREZsK3J6NFdzbXhsNnE3ODd2SW80?=
 =?utf-8?B?MXVzejVwVFdyY1BZclZoeXdKRFJZRDlOOSthNmx3WVlQaE1HMDZmSXEvY1JZ?=
 =?utf-8?B?Q3UvSCthV2szbWIxSno1QkIxRC9HdlNqWFZuMFg1ZGFzOUlDZU1xMlh6R2Fu?=
 =?utf-8?B?WndhNVRtby9DQjhsTFlqbENpc3NORWhNS3ZsOFJLaFoxUW5uMUhwcW9Ga2E2?=
 =?utf-8?B?eWs1V0Qwd1dMQXJ2NmJMVVdnWU43T2FmTlIrUE52dFRSSmUwbDJNZWJyWW83?=
 =?utf-8?B?b2x4ajlSRlJXZU1XcUdkUEVnc3NlZEVKUFhyNndPdFdtN09ZRngrYkw0Z3Ux?=
 =?utf-8?B?OGdYN2VvaUNJcDJVaXh1V0krOWFNUkdhZEVQN21WTUQyQVRlNnIzVlg2QjNv?=
 =?utf-8?B?QWJPWEJERERDVWloMnZUazlhdGFIM0oxbDFqS0xvOGU3Sy9hblAyL2NWTDh1?=
 =?utf-8?B?dGtlTjlhRk0xV1RGRytJdGtMK2V2VlVYYk9PRGhacUpsU2Zyc1E0RTNsMGxQ?=
 =?utf-8?B?cUI4bHh4S0VjWkpFRlNmeDVNNUNsVTZGL1FBYWdBYm5uaTdpQ29lbElTaVJa?=
 =?utf-8?B?NU1BOEZCcGRmVStEMExINFdNRVNGYW91Z2M2Q0RZdHZZZXJIdTk0L3hEeWxm?=
 =?utf-8?B?OFNpN2hjNlB2ck1HTHV1VW8zOThzVTc0TDEyV1RLNUozeTIzRkp4S0dleDlw?=
 =?utf-8?B?Y1NPWG9lWjFNT1d3WU83d1RmeFZHVEVScWx2WUVuUFN4eU45UnRFNnduYjNw?=
 =?utf-8?B?dml5NSswWlYzTWZ5MWtQZlUxbmdMMS8wZGVZZUQ3dnNCZTlJMzhoZFlaejdD?=
 =?utf-8?B?Mjk0TjNDSDJaWktpTVBHK2FSMWxFb1Zwb1E2RWVuRkt6UzBJN1U4ais1M2Ux?=
 =?utf-8?B?eHRtalhMZThac2cwUGh4VnV6SGhyaGpna0VDMExKaWQxN0JPanpKRUQxMmtk?=
 =?utf-8?B?Rkdic3JPbnlyY3RRMUVGeVJ5Ujk1Nk1raW9iT2hUSTdsRUNlT09JWGxnQlJu?=
 =?utf-8?B?NFkvZHk0d3hsSThyaytxYTZVYnhGNGVUNzVtNXc0ZnBvelJTenA1YnhET05h?=
 =?utf-8?B?YWZlK3ZYUWFqM09sRFRtbE8vL0VXM3BHdVJCanRGeENTS2xTaG5Bd2JROUFO?=
 =?utf-8?B?d0xucm9VQzIwajIyNXErbTE0SmY5RmYxc016MzJLdDVSN2JHZkhRTmVHVHN0?=
 =?utf-8?B?V201VjBzcUtLZXRyN082RjZZMGFJSmxNYTU5SlhTVExBTlBKRkVlbHNwYnBi?=
 =?utf-8?B?UERCR0xLYTdMUkRDbUFDc2o0eFgrL1VMenFwY3k0dDBmd1Q2UjJKbkVHMk1M?=
 =?utf-8?B?NGFvK01CSksvQlVzY1I1R3A4ZzE5dnErVTVNMDVFVkpROG5aeFhCUWh2RUxw?=
 =?utf-8?B?T0c2aHlvdDFTeGpTWnd6MHgzelc0Z05sa2Q3MDBRMXlYZStzbGdDSS9mYTA4?=
 =?utf-8?Q?Xh1TcV8jbX72JuZZtIS62Y4=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 31afc61f-f0bd-4416-b980-08d9df5170f2
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jan 2022 15:51:53.2123
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: SOx6bDOMUXCigY38JPBzrKZHzRdibC3KQqRTCTHKSdtG3YfW5ym7CBezMRqoS87wNKH97FuVnUAEKT2M2duKVQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB3896
X-OriginatorOrg: citrix.com

I find it useful for debugging certain issues to have the memory map
dom0 is using, so print it when using `dom0=verbose` on the command
line.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/arch/x86/e820.c             | 2 +-
 xen/arch/x86/hvm/dom0_build.c   | 6 ++++++
 xen/arch/x86/include/asm/e820.h | 1 +
 3 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/e820.c b/xen/arch/x86/e820.c
index aa602773bb..82e9ac46a0 100644
--- a/xen/arch/x86/e820.c
+++ b/xen/arch/x86/e820.c
@@ -88,7 +88,7 @@ static void __init add_memory_region(unsigned long long start,
     e820.nr_map++;
 }
 
-static void __init print_e820_memory_map(struct e820entry *map, unsigned int entries)
+void __init print_e820_memory_map(struct e820entry *map, unsigned int entries)
 {
     unsigned int i;
 
diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c
index 739bb8adb6..93ebe4f404 100644
--- a/xen/arch/x86/hvm/dom0_build.c
+++ b/xen/arch/x86/hvm/dom0_build.c
@@ -1271,6 +1271,12 @@ int __init dom0_construct_pvh(struct domain *d, const module_t *image,
         return rc;
     }
 
+    if ( opt_dom0_verbose )
+    {
+        printk("Dom%u memory map:\n", d->domain_id);
+        print_e820_memory_map(d->arch.e820, d->arch.nr_e820);
+    }
+
     printk("WARNING: PVH is an experimental mode with limited functionality\n");
     return 0;
 }
diff --git a/xen/arch/x86/include/asm/e820.h b/xen/arch/x86/include/asm/e820.h
index 9d8f1ba960..7fcfde3b66 100644
--- a/xen/arch/x86/include/asm/e820.h
+++ b/xen/arch/x86/include/asm/e820.h
@@ -32,6 +32,7 @@ extern int e820_change_range_type(
 extern int e820_add_range(
     struct e820map *, uint64_t s, uint64_t e, uint32_t type);
 extern unsigned long init_e820(const char *, struct e820map *);
+extern void print_e820_memory_map(struct e820entry *map, unsigned int entries);
 extern struct e820map e820;
 extern struct e820map e820_raw;
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 16:01:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 16:01:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259898.448653 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC1mM-0006SG-W6; Mon, 24 Jan 2022 16:01:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259898.448653; Mon, 24 Jan 2022 16:01:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC1mM-0006S9-Sq; Mon, 24 Jan 2022 16:01:14 +0000
Received: by outflank-mailman (input) for mailman id 259898;
 Mon, 24 Jan 2022 16:01:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=REvy=SI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nC1mL-0006S3-9V
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 16:01:13 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d89bfb74-7d2e-11ec-8fa7-f31e035a9116;
 Mon, 24 Jan 2022 17:01:11 +0100 (CET)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2177.outbound.protection.outlook.com [104.47.17.177]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-19-eORonXBpMVa24ZFt3kWvYQ-1; Mon, 24 Jan 2022 17:01:08 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by PA4PR04MB7982.eurprd04.prod.outlook.com (2603:10a6:102:c4::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Mon, 24 Jan
 2022 16:01:07 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.017; Mon, 24 Jan 2022
 16:01: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: d89bfb74-7d2e-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643040070;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=Dl3nvPUz50iyWEn9SlyJ02fVt3R4ez0veYrRYM72CNs=;
	b=nMtQJEGevdxVbT/sUM50u36cgoa7ZXVW6RJ2+lyohgFRE7bsyn6+SlwLt6f935EiVnXtYv
	jSsr+n+w5PKM1iVwVVbhBwBqsy7Ed25xY5KO0Dn99VQ7rWDWE8BLm5Mo5eckDm24bSOt8X
	YsUuxFMWQk5PZQIwdIeduqemjOIPc1U=
X-MC-Unique: eORonXBpMVa24ZFt3kWvYQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PFl28bDiEYKmyWKO4M8y4JcPXwL3wRrNeseaPPovge+gf20Ajxu/xG/TfkLB92bX9ym/FJmxiSHmH/g3iNfkYW3CTSbzUhAOsjTlamEMOFs73BGsnk8Wca+bCtRw70pTLlSbUI2OJhPYxli+Tc5TkZOH00390cVDAAL0dyt9eOgffIZvYB53hUWGpW+7g2DfFQE6KnSl33RSTFTvw8GGMhd0KmnPOjzOkzJsHau0BPJz6I1f5rZZBY9OPfI9anGL78718dOup2+5UZIH1n2u9Ovyhjn88JCJI7gi+SJLnp1dGx0Mcr1qPPxJK1Ak2rxGZENhBti+BgUeXONF8UHWyQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1u2I3HRtgCbh3u/3XHE1f7ovqEZ/NuvEWRT3RFTqds4=;
 b=CGXDn4Si3hIgkZYglpWZuii2whijPCcepjOpBYsG/IZXMtRPZ8rQbthA6nJPVR1GxhGxuvase/RvRyaI0tlUqNoexuex6qfeVMe2hQd1QSmXQgq6YSaWMfqz8uST49KOXBwPVijqDq795bdRTkLrfcxUYcYPYvT5xRCKq/dsMhtSwS7hKwKGV0PB1uKNChsfnXcHxtGMez3XCm9TRb50duccyDWNgfdIjZRtob7YUSIeEHQN2XKQAAjHcuhXQvegbPDRAbKeuBZ3TC1CCWk4m0LgaEhyibC8cKrY603YYEGnCq5wbArACxAItsFkT4eTJX89pbZHMEl75ZVCsms+0Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9f2407e9-90c1-2c52-202b-7d6b5bda3217@suse.com>
Date: Mon, 24 Jan 2022 17:01:04 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH] x86/pvh: fix population of the low 1MB for dom0
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20220124152316.37049-1-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220124152316.37049-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS9PR04CA0053.eurprd04.prod.outlook.com
 (2603:10a6:20b:46a::7) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2efb20e5-cc62-4a3e-49f3-08d9df52bb2c
X-MS-TrafficTypeDiagnostic: PA4PR04MB7982:EE_
X-Microsoft-Antispam-PRVS:
	<PA4PR04MB79828564BAD28DD115D2F8CBB35E9@PA4PR04MB7982.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:
	rUgzWfgI963FrDgNu6NXBdJU9EGpsf9zDMPYrejZXy1RDc2BZWmVFDg12UwFWzkrAl0i6eko3kq3G294Q7+RHCr9OpKZD2sAjGJDgVxNULuuggbJovbH1YaRS4wBBD9PQmYQB8JjCT3UJvOJdgvPFiov/8NnIo/PhenvBjeRi2jiovqiYwcGh9ANsWIvKJVkbOQC5kX9BTqXOTOleS+k5u5RVcP8B7UwviVCwEVv0fBeL3odu+mTP/i1+nVDU4+DIFBP6ak5kKQfDnf/WWbynhKoOM7zyT6ic5dqsHi6AAifqgj4hrlDWearSg6/tJuWAeUiVn7pAEaneI3e3jhns+5Z17Gyzj4AsPS/cpujzd9lJ6rXYu9rx/2QBqXBZxptnvcShc8BqzQscXwVPbvzZFRnarwHAcu1tIxAdIyRSC3sgn5sjAt3hB8Us4cmRZxZhBwxNHpZ9iGnzoCnRREutaYPAV+zcmkOHRUEG0zmWRVt4CVVvADMjCgT79V/e3Px5uFq/QqhKrEEwxcLdbqo2k+aOWSUmC5Xk8psOCb2X8K4G165anlbJdO3TeBMBZU81ED0KteNw+RaNUmCxGiXgxhyQVOQqaQ6Maszo9BQroXnwundea3Rd0Wrp44Ir8Tew7FzGVTXFhOKdz3dRoa2WTBLzuHyCECmgn2raV5COF885Xa2b5RIggmgBZa+Bc+RDrbuf0YKMzAXVx/JlDIBUmo1oZoxcEsvxr/6Pih2Vm0=
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)(36756003)(316002)(6506007)(66946007)(4326008)(54906003)(6512007)(2616005)(53546011)(186003)(8936002)(38100700002)(6666004)(83380400001)(5660300002)(66476007)(2906002)(26005)(508600001)(66556008)(31686004)(8676002)(6486002)(6916009)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?ABJRyBVDqQqaQgyPNwh7NbPve84l8BDgYU8zdCkjMzHmm9n9t6XmwPhWAi00?=
 =?us-ascii?Q?jFLUTLwE1gG4rpJznrCt/qgVB7vErp70txVLXZ0hXTd3yCY8INpCw+LnLScv?=
 =?us-ascii?Q?mF93i5tHKF5ISItQWwu7OEBJwX+RKmF80nOvDnCQlfO2FM1oPyLiO8PWHLEU?=
 =?us-ascii?Q?fH0b5AZvLNacEg4lybG3mgaj1ryjivCijQIGc2XGTA2nHVYQ+ZOuP7gr5y1p?=
 =?us-ascii?Q?ixuAXJEiA7E6INxbUq06MirBNJcebBlywnSoTncoWfyPJHH6lxZvkLrABCsZ?=
 =?us-ascii?Q?XAKEIqJDI1IaQW0WypvNfXiH2ntix2toquOozpZb6DxO+ZMNVz4p2LuyZ/z0?=
 =?us-ascii?Q?HWBTmGE1E0nO97QALIsichbHQmGMJ15d7m/3Jy+p4xWIgCpMND0yhyszASVi?=
 =?us-ascii?Q?T5VV03wU7PwcH5ilPMoDsJGbm9GUUIjiRDqyaLX41ftgz8XklPrrqoVk7CDL?=
 =?us-ascii?Q?054tmWoQ5tC0BZNlMc4fdzjjaGl3YSStRkQEhhvIMrabrLih05la98zPRWcJ?=
 =?us-ascii?Q?xbMglU9byzbLTt+IBK+tsdm5Ch/ZM65bopbnTebq5/k+6GTbCDpglzFTWXIh?=
 =?us-ascii?Q?46+1HnejuEJ9Mqeic0qbr0e7JREUyMvqUInb6D1VtfqkfL92+RYJGr0/xBpU?=
 =?us-ascii?Q?t53AE1YtwJ14NSnq3wR4daLL45+X57HcfVuqEAs/L0HeRrM4/ygVuFpn8vfV?=
 =?us-ascii?Q?URmTbZn9KyptzXv3QuhfnL4PSZavYTKaSuAvQ1HKyw9eI+mQgPFfXYteOUOY?=
 =?us-ascii?Q?13IIIXA6gRQSlAvtgXZVrwkjMhQ09r9H5LiDaCL6zjqO56VYPvjM+C4BREy8?=
 =?us-ascii?Q?XTlqqoK58I/AH8p9CH7kGAQm7NQlcjGDHxmlug+XUuI4J7vviO4ORhn36KJZ?=
 =?us-ascii?Q?kYzCOhaJe5j1ptHeo3t91Q9VcacPp2sOo8ewIxh6VGHuhqQJNJnTiuGoFjmp?=
 =?us-ascii?Q?oLyjXe9LsHm9Bmab2k7osAzb0LQZ26bp+wmbcKRPE72UKVKZtE2yjMECUruk?=
 =?us-ascii?Q?VBwzioDdnnqE7KkhkHoMQ1Xqq1427IgFSjqff0hqEri4p8eoSM/nDVVq0ukd?=
 =?us-ascii?Q?mxVpEN52qahDrwsrCdO+NB+ePokUepRwEEeYNlrHJuxunyIv1RdNSFIbevqt?=
 =?us-ascii?Q?0MmfqMOqpjH6OkQEDJEsjQXOTvNf+OXmT6CWJQyIAJvQ/8PjieP47xGzNi0P?=
 =?us-ascii?Q?E5gJioJgv7v6eyvC1zjvAH4BYCEKypoxjLTqzWKzIeK/txpw+BjyDtw8gP9B?=
 =?us-ascii?Q?/sR0sunvaAuW0FR1o++m5HD5Ec5r2xV9JHw3vQmWMSSlvXHgp5GmNwIR9Fbv?=
 =?us-ascii?Q?zL/042RPBebOi1ibvdB3GinixLropSZb8cZowh6djtCj+oGGyHUwfxjNMdBl?=
 =?us-ascii?Q?hpeEeCcON7S/k+YiGrXUu7D4qwVOcJG7X0dbdNluC6z1Uta/niLODQGrB8yw?=
 =?us-ascii?Q?lUoKBElJj4PrhWeq/9G12KKtXkoRvmb+X6nFO9O3l3QQ3iLRE902KqDzeXY4?=
 =?us-ascii?Q?x+GiZ12aYuKjtCjiB0G3zHBTScDMorkpzsl+cHM9hJEamHiNpFY4nmBxqX+z?=
 =?us-ascii?Q?ZDELtuVqEImjE8JIS0XE+Lcn6hvh4MGj+iJQgDQziVHqJgdyO4Uy1/nkFx7U?=
 =?us-ascii?Q?+7/B/ezOq09PN974AYKC89c=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2efb20e5-cc62-4a3e-49f3-08d9df52bb2c
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jan 2022 16:01:07.2258
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: bcbET2heagEJS0Iu0ZmWyImF7UlDkoLItr4sIaKyQA9NvpehQvbhwhBKQIv8ZuoTjFtctHfNsH+4aKS2vrHfIA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7982

On 24.01.2022 16:23, Roger Pau Monne wrote:
> RMRRs are setup ahead of populating the p2m and hence the ASSERT when
> populating the low 1MB needs to be relaxed when it finds an existing
> entry: it's either RAM or a RMRR resulting from the IOMMU setup.
>=20
> Rework the logic a bit and introduce a local mfn variable in order to
> assert that if the gfn is populated and not RAM it is an identity map.
>=20
> Fixes: 6b4f6a31ac ('x86/PVH: de-duplicate mappings for first Mb of Dom0 m=
emory')
> Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
albeit ...

> --- a/xen/arch/x86/hvm/dom0_build.c
> +++ b/xen/arch/x86/hvm/dom0_build.c
> @@ -466,11 +466,17 @@ static int __init pvh_populate_p2m(struct domain *d=
)
>      for ( i =3D rc =3D 0; i < MB1_PAGES; ++i )
>      {
>          p2m_type_t p2mt;
> +        mfn_t mfn;
> =20
> -        if ( mfn_eq(get_gfn_query(d, i, &p2mt), INVALID_MFN) )
> +        mfn =3D get_gfn_query(d, i, &p2mt);

... preferably with this becoming the initializer of the variable then
and ...

> +        if ( mfn_eq(mfn, INVALID_MFN) )
>              rc =3D set_mmio_p2m_entry(d, _gfn(i), _mfn(i), PAGE_ORDER_4K=
);
> -        else
> -            ASSERT(p2mt =3D=3D p2m_ram_rw);
> +        else if ( p2mt !=3D p2m_ram_rw && !mfn_eq(mfn, _mfn(i)) )
> +                /*
> +                 * If the p2m entry is already set it must belong to a R=
MRR and
> +                 * already be identity mapped, or be a RAM region.
> +                 */
> +                ASSERT_UNREACHABLE();

... (not just preferably) indentation reduced by a level here. (I wonder
why you didn't simply extend the existing ASSERT() - ASSERT_UNREACHABLE()
is nice in certain cases, but the expression it logs is entirely unhelpful
for disambiguating the reason without looking at the source.)

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 16:03:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 16:03:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259902.448664 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC1oM-00077L-Ft; Mon, 24 Jan 2022 16:03:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259902.448664; Mon, 24 Jan 2022 16: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 1nC1oM-00077E-CF; Mon, 24 Jan 2022 16:03:18 +0000
Received: by outflank-mailman (input) for mailman id 259902;
 Mon, 24 Jan 2022 16:03:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BDBv=SI=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nC1oK-000778-Kv
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 16:03:16 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2277cc1b-7d2f-11ec-bc18-3156f6d857e4;
 Mon, 24 Jan 2022 17:03:15 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2277cc1b-7d2f-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643040195;
  h=from:to:cc:subject:date:message-id:
   content-transfer-encoding:mime-version;
  bh=7+M4s+BpLwAUOD7I9haB1CaD++O8DYTn3Vf7uuRxXeM=;
  b=T2OnCa5HlDpQjOh43OiVJHNn/yqacLlknnJxpn2bCvmz6OCUbepOQCN4
   h4Ikj492Vj13PgyMlS5ciXeWh385ryucFopm6kE17+tBAWXcV66oIxYyF
   JqXglavfgKSEozYX7oc1fZ6haDxcawvQ/F/KpT2jg+wrJUVaQjxjYWMxo
   w=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: FNCIAW0fKnbpv2mB9jNUwfZzgwubMqr3R4neb9JQoqclex/uBD/CKWFLjzuJvmFsQnZ9dL/Ahh
 BBijlLcwDEATquub9W9HqiKB5uYbInL34nCD6pzN17dIbRVSw3zNd57lt53z/7smmrWSWc8aKz
 4zLh/onnY5lIQSjdYMu8hWdFFC0F2m+BlzI/67mlkC4NfgFowOyTmPDhxDv6+Z5AarvK9Tskng
 0pOWceLnYh1sLjVe32ndgIt7QdnF1i5SxDFz2UOBecrc3T/sCkBDjgDtx1YKxiAuvuELnvC4ZB
 +6JCJ3ztaseZ9tF0vTTrY+fZ
X-SBRS: 5.2
X-MesageID: 62109603
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:tG8Tka7mDCdSNAB28jyV5wxRtKzAchMFZxGqfqrLsTDasY5as4F+v
 jQbDGDSOq7bY2D1fN8ibd/n904BvpfXyN9iQAI+rHs8Hi5G8cbLO4+Ufxz6V8+wwmwvb67FA
 +E2MISowBUcFyeEzvuV3zyIQUBUjclkfJKlYAL/En03FV8MpBsJ00o5wbZg2NIw2LBVPivW0
 T/Mi5yHULOa82Yc3lI8s8pvfzs24ZweEBtB1rAPTagjUG32zhH5P7pGTU2FFFPqQ5E8IwKPb
 72rIIdVXI/u10xF5tuNyt4Xe6CRK1LYFVDmZnF+A8BOjvXez8CbP2lS2Pc0MC9qZzu1c99Z1
 /kWpKCRVlkQIqSSyfU6Cj1ITj5GBPgTkFPHCSDXXc27ykTHdz3nwul0DVFwNoodkgp1KTgQr
 7pCcmlLN03dwbLtqF64YrAEasALNs7kMZlZonh95TrYEewnUdbIRKCiCdpwgm1p3pEQRa22i
 8wxVx1XaguRXwdzfUooKLkYmcW0nT64WmgNwL6SjfVuuDWCpOBr65DvOd/YYZmaSMN9kkeeq
 X3P+2C/BxxcKd/34SWI8zSoh/Lnni7hXo8WUrqi+ZZCmFSOwkQDBRtQUkG0ydGph0j7V99BJ
 kg8/is1sbN05EGtVsP6XRCzvDiDpBF0c8VUO/037keK0KW8ywSWHG8fVRZadccr8sQxQFQXO
 kShxo2zQ2Y16fvMFCzbpuz8QS6O1TY9MkNZdBMlUlU8/9C98ZAU1zbfE8lbKfvg5jHqIg3Yz
 zePpSk4orwci88Xyqm2lWz6byKQSovhFVBsuFiONo6xxkYgPdP+OdT0gbTOxasYdO6kok+9U
 G/ociR0xMQHFtmzmSOEW43h95n5tq/eYFUwbbOCdqTNFghBGVb+J+i8AxkkfS+F1/ronheyO
 CfuVft5vsM7AZdTRfYfj3iNI8or17P8Mt/uS+rZaNFDCrAoKlPdrX81PhPBjj60+KTJrU3YE
 czDGftA8F5AUfg3pNZIb7l1PUAXKtAWmjqIGMGTI+WP2ruCfn+FIYrpw3PVBt3VGJis+V2Pm
 /4GbpPi40wGDIXWP3eLmaZOcwFiBSVrVPje9p0MHsbec1UOJY3UI6KLqV/XU9Y7z/09eyah1
 izVZ3K0P3Km1SSYcl3bMy46AF4tNL4mxU8G0eUXFQ/A81AoYJq17bdZcJ0yfLI98/dkw+IyR
 P4AE/hsyNwVItge0zhCP5T7sqJ4cxGn2VCHMya/OWBtdJ98XQ3ZvNTje1K3piUJCyO2s+o4o
 qGhiVyHEcZSGVw6AZaEcu+rwnOwoWMZxLB4UXzXL4QBY07r6oVrdXD816dlP8EWJBzf7TKGz
 ALKUwwArOzArtZtotnEjKyJtamzFO56EhYIFmXX9+/uZyLb4nCi0clLV+PRJWLRU2b9+aODY
 +RJzq6jbK1bzQgS64clSuRl16Mz4dfrtoR29AU8ESWZdUmvB5NhPmKCgZtFuJpSy+ILogCxQ
 E+OpIVXYO3bJMP/HVcNDwM5deDfh+oMkzzf4PlpckX34Ch7oOiOXUlIZkTejSVcKP1+MZ8/w
 Pdns8kTslTthh0vO9eAryZV62XTcSBQD/R57skXUN3xlw4m6lBeepiNWCb57aaGZ8hILkR3c
 CSfg7DPhugEy0fPG5bp+aMhAQaJaUwyhS13
IronPort-HdrOrdr: A9a23:dzwgm6PA++JzssBcTy3155DYdb4zR+YMi2TDiHofdfUFSKClfp
 6V8cjztSWUtN4QMEtQ/exoX5PwO080lKQFmrX5WI3NYOCIghrPEGgP1/qB/9SCIVyAygc+79
 YYT0EWMrSZZjIb/KXHCWGDYqodKbK8gceVbInlvhJQpVYAUdAc0+41MHfTLmRGAC19QbYpHp
 uV4cRK4xKmZHQsd8y+Ql0IRfLKqdHnnI/vJUduPW9t1CC+yReTrJLqGRmR2RkTFxtJ3LcZ6G
 DA1yj0/L+qvf2XwgLVk0XT85NVst38zcYrPr3FtuElbhHXziq4boVoXLOP+BgzveGU8V4v1O
 LBph8xVv4Dn0/5TyWQm1/AygPg2DEh5zvJ0lmDm0bupsT/WXYTF9dBrZgxSGqU12MQ+PVHlI
 5b1WOQsJRaSTnamj7m2tTOXxZ20mKpvHsZl/IJhXA3a/pSVFZol/1QwKppKuZAIMqjg7pXUN
 WGTfusrsq+SGnqIEww5QJUsZ+RtndaJGbyfqFNgL3W79FspgEJ86Iv/r1sop4xzuNCd3B63Z
 W1Dk0RrsA3ciY3V9MLOA5Te7rANoTyKSi8Q156Z26XUZ06Bw==
X-IronPort-AV: E=Sophos;i="5.88,311,1635220800"; 
   d="scan'208";a="62109603"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lXQyg8mprSTAPcqB/y3PH6NhPqDQu7Ll8STP4ng9kGEg0XxoMACpGHmPr7ES5sC1lMv7Pm4/uParbk5rgsT3JG0kKsCrF/NrpLTM/RSIuYT1sUsHqZhod88VwUF+MIG1yZiOuzIdW3g71ZiespjBRtuNJevrWCPwIkWGcy9jjXkUf12mBTPp8V8ieLhln6yhHBGlHExRfHTR9wt/8w/ESus9BdrgXJpchaPD3uuPrlHZfyoerM4tQD9HKw3G638sDzNGSKtQO3UbqAVHEGWCqpp8X3dF3HNPtFkCYnyFoQV3bPVT5lPRZKn5P8/WrAi8PEPro32fyaGPwtO/rYqNaQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jfvPklOSDpUnAhCpobwRFBkRfn6mkddhxjHdfkQocDA=;
 b=KMgWLkPebE7OKO1m8KY4YO6ULVKiScDZDxOE72haz+gZfoq99D1D7V/xy3aUg8ByHQsPjjQcah/QRvQa89d2g11DaEQw6g8M/40mWa7zdy/lM66zSAQT9+5TniJrhz9zBrIr9o9Qwt23rM/BXoLgzym0yaz8OPhBJs29cLIEalhYPODT6TXjoSo6iUSWIwVp52qarbvV5k+TXgxQciyzyE4HtDhc8nAD1jKFUgwBaUv9lfWm0/3tOtF2uxzKge/iJMJx8X5fkCrY//DHDLCzWlaFt98RJA5JBCNd+T9N+r5H8jCa7NRZb2wfyEtMh+jJ8gF4IsmOj0BPC3Q/06+kzA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jfvPklOSDpUnAhCpobwRFBkRfn6mkddhxjHdfkQocDA=;
 b=nxUwhIOChEvAcMSR3pEvpNpU7PgOYfpslwXdigUqCGGN1m4FE4X/6DJ6IV04QgIrojr4/zEnGGkt08lEdSoi+/YYJBY9L5QDZvu1hfiAInBqSMLPMMSs4LJnpnD6N3guuJk/M1qul9CzXuLvZbwa5qe5mtINKle8grig4HaeqXk=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Anthony
 PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, James
 Dingwall <james-xen@dingwall.me.uk>, Wei Liu <wei.liu@kernel.org>, Paul
 Durrant <paul@xen.org>
Subject: [PATCH] libxl: force netback to wait for hotplug execution before connecting
Date: Mon, 24 Jan 2022 17:02:48 +0100
Message-ID: <20220124160248.37861-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MRXP264CA0024.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:15::36) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 0b98c19f-c990-4dd0-0258-08d9df5300e9
X-MS-TrafficTypeDiagnostic: CO1PR03MB5921:EE_
X-Microsoft-Antispam-PRVS: <CO1PR03MB59217EA19D63091FD464D70B8F5E9@CO1PR03MB5921.namprd03.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: VwH9RQbM0R/UP8pSagMLW/cirQUQMJpDIhauZDC5hAwTg34fGx37E606vxxopW6KdZ0fJ1rDTlyQTuz+X+gN6dG2HpGkcV+8VC4p0Wi9q5/4Xj6JKzu9KQJAztGf2bz3+1eutpDKvvgPVoi3P/n/XoerAF7ulnHJlXQFtrec5UgtfPbzQSMOEpSRH7LjxiVXmRzSlViYRz0z6uX4zYGWcnBp6M8s1jPPXXHwAY3jk0PeTpir9t5FcQvQf5NEh6nTKxN36RV2KwIZYk/Y/7nhxjcBqKhZzQYo+axR6NGvjNUkZDC4JVZEkITGSTouW5z65AhCYAdnFLFRNxY7aXDLFkCJk0YWpJ7bxXCiTfEWeojjkjB+INM4MLEbABtoGo/WJAbyHsMgt9jDhPQQUghiN5keNu8WENjiTaqQo/OYbmaEW/C2kvuX/u+aHScbFlYYud+tM0dtUkCXIp3++Q+P7nBcPtQW/5uDc5mWF5eAzHjgUQVArZgctR8T4E4yk0SZaRIBrYLs1xZR0jA+q448Z6paUsDIXeI20zVEtIkejnN6EIOhW8nA3CDjWJjGB+2bIg4qDlukodiWL7/YyvmOtVDFky1BfqZ2DiqysipeJFJK2Ipiko2r+B87TRqj+dhjdpIkicdh37M3kLdcze3UAA==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(6486002)(83380400001)(38100700002)(5660300002)(6506007)(508600001)(2906002)(2616005)(6512007)(6666004)(36756003)(4326008)(66556008)(66476007)(6916009)(66946007)(8936002)(86362001)(8676002)(54906003)(82960400001)(1076003)(186003)(26005)(316002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SDNoN0svcWZHc1BYekkxbkJsY0JYbnR3Z1hrL1FNVTk3U216L0swRGJPSCt1?=
 =?utf-8?B?a1dPbjdDSFhxR1B3dGkreHA5RHY0bGpCd2JwYzBmZkZZendGR2ZHSDhIOE1n?=
 =?utf-8?B?MXI5L1JHSmVYRFBUNy9EbWRSNDh0cDRYQU4wdlQ0S2tMbkQwUkF4ZmFUVVBv?=
 =?utf-8?B?M0EvYjVQMk1JZTVBM0MvM3h4SVBHanFNdkk1eklNR21sbzA0NEd5SWRyYkNr?=
 =?utf-8?B?UVoxSVF1aU8rVW1EaWNyT0JHbmp1MCs1WjdyYmR6TXJqN0RCYTl5MjJoeFA5?=
 =?utf-8?B?Q2hPQXovYXRNOGZNdEJPcUR5dWNMazh2a3ZMVG0wQVNSNWhIY3d1SXJ0M2cy?=
 =?utf-8?B?THBqWGhuYkNUa0JMZUt2blhoTGR6aC80eDBqbHMwcWZhaERMSm1yVDZKTUtR?=
 =?utf-8?B?Y1lkVWJDSDJ4eTlSM3d5am9RYm1OY1d4akJZeVd1cUhUdUw5dGNvKzBteE5M?=
 =?utf-8?B?cjVza1FLYU5DT0YzNnhQNFl6MHg0NG9qS3k1VHZJVzJwMk8yc0dTYTBoYmx0?=
 =?utf-8?B?SG5uNzg2YXQwRktzQVZQVnFzQXFveERleFdyNk1pNHpLcVg0MnVHZFJmbnkz?=
 =?utf-8?B?K0wxL1pJVnZ4bEJ1eHgwRlRJQkJnWlR2MERwcDFDQ0JxczkwRVJxSzFSMVU5?=
 =?utf-8?B?eWh3a0d6eTN3K0d0dFlydWZPU3dFQlZDMG5lVmpJbDNCdSthV2pkbHppTUx0?=
 =?utf-8?B?bWhOQUVnNUc5dWpiT0djQThrWGZrbC9VcWZ2REVEcUF5NVRHZ2R2YndtZWN4?=
 =?utf-8?B?aUNmVHkxUU8vL1IzdFNPcWVDMjNRbU0wTjViWkxQV1BtUGh6bXpxaDN6dEZC?=
 =?utf-8?B?VEQzOEMwMTlwRTVJNTFobTRycTRLdnpwZ3dtVXYyOEdlWkFEKy85bmlQVVh6?=
 =?utf-8?B?NnBvdkU3NGt5L2FDSVFzdzFpSUQrTTloQmMzTjJEOHJmNWFKZlNVdStrbUdr?=
 =?utf-8?B?UlN4UzV5M3FHbDhhelRsaldYd1RVVGZOODRyc1RaR0JlU09OWlZFeEx5dnZZ?=
 =?utf-8?B?QVNDeDU0K2N6YlVZcjErNmRNTm1NOE1walA0bDliOXNKK2hEeWZsSlR0SGNs?=
 =?utf-8?B?OXNvdTNtd1pESU1uZFh2QzRyRGVSaWhFSE1iTmc0TkJIRjFRMmMyUXlBK2hH?=
 =?utf-8?B?MXdOTDA0WXQwS2E1UnRUNzFmb0kzekpLSDE0RFBsMDJ5L1F3ZzRoVjNxZ25q?=
 =?utf-8?B?MEt2L1JjUGEyakVyREcrQmFxUytOMzVkUzEwSFhockxuSnc5WTRpVkZmVDUv?=
 =?utf-8?B?R1VGRkEwbDZoSWlrRnp5TWF6UmNRQWRQaHZDOEZ1TUpWQ0w1Z2N4U3dJcEh2?=
 =?utf-8?B?OXZWZUM1VFdXUVZtRng3WlRXdFZ2MGhVUldOZndMeTlRNUZNeVVNeU9nRmdJ?=
 =?utf-8?B?VmR2UGNiVTNBL0UrZzNReXV0NTFTaU96bmZxazBOR2tiNXB6QURNNGJlcVNT?=
 =?utf-8?B?R0RYN3VreVNKbXBMbFF4MlFRQldNSFg4ZVFsaXVkMVhmM2ZyZy9SWGhyYXdO?=
 =?utf-8?B?a2N6ZlFEQ1czcWZqTmllWkRTb1dEUXZ6c2VFZ3JYbGdid0ZKczcvK0NCTUlJ?=
 =?utf-8?B?eTBuN1B6bUNTN3NTZmdlbENMeFZuQW9ucU1rb1AzOG55aGJxQUMySzZBWU1j?=
 =?utf-8?B?QnVpZDg1ZjltYzFmb3ZsRzRYLyt5dFY4YlRVYlZWZ0xrK1NvTUJudTY3TE5w?=
 =?utf-8?B?ZFhCbTY4YWpQSWhRSWFCSGxlWGltVHVsYVJucGMyc2JHKzI5ODQ4SlJOcVlN?=
 =?utf-8?B?Snh3VmoyODMreGhjTUl1MStpRUZPcmFxUTBHTFN0YTJndUFPVFFKbzBweUNr?=
 =?utf-8?B?RXBETVZjWWpwYnV6Rk00aVB5bm4rZFpBbG4vMGxHTVFjUkhTazRXeGI4dEI4?=
 =?utf-8?B?dGpCQmhZMTFFWXRvWkM4RldqSDNoRmhrSEZqRWF5Ky93NVdlQ1NyN3FZb3Zu?=
 =?utf-8?B?NGZXS0c2WlFTNjZzL2NnY3JhdEhOVGRqRUUxVksyaFFLSTZlaXFReEY2STlG?=
 =?utf-8?B?ci9YL09YZDV6L3JGeGpXWlM2RTVoTFpuVlFOUUFpS2dMb293VGowT2cyNWEx?=
 =?utf-8?B?ckdUcVVqREhBQnMyT2NUenBKcEpCbWsvVEhzSmJKTlRWcXRYSHBsN2RLc0xO?=
 =?utf-8?B?Qm5IKy80ei9QSllwYWRaSEZHWFd4K2lLN3Z6WHZPa1YwdVRyR2NOSDNtSkdu?=
 =?utf-8?Q?NdoQI33v+xs2HIZg16KnoO8=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 0b98c19f-c990-4dd0-0258-08d9df5300e9
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jan 2022 16:03:04.2060
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: P2xWZrk95qr95DWsUOI4/Bpau23dh2n8rHpmhgEtzkZHAG/s9TAaJAai8N7gJErh25rT0mKD3+0EmesJqt5aDA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR03MB5921
X-OriginatorOrg: citrix.com

By writing an empty "hotplug-status" xenstore node in the backend path
libxl can force Linux netback to wait for hotplug script execution
before proceeding to the 'connected' state.

This is required so that netback doesn't skip state 2 (InitWait) and
thus blocks libxl waiting for such state in order to launch the
hotplug script (see libxl__wait_device_connection).

Reported-by: James Dingwall <james-xen@dingwall.me.uk>
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Tested-by: James Dingwall <james-xen@dingwall.me.uk>
---
Cc: Wei Liu <wei.liu@kernel.org>
Cc: Paul Durrant <paul@xen.org>
---
 tools/libs/light/libxl_nic.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/tools/libs/light/libxl_nic.c b/tools/libs/light/libxl_nic.c
index 0b45469dca..0b9e70c9d1 100644
--- a/tools/libs/light/libxl_nic.c
+++ b/tools/libs/light/libxl_nic.c
@@ -248,6 +248,13 @@ static int libxl__set_xenstore_nic(libxl__gc *gc, uint32_t domid,
     flexarray_append(ro_front, "mtu");
     flexarray_append(ro_front, GCSPRINTF("%u", nic->mtu));
 
+    /*
+     * Force backend to wait for hotplug script execution before switching to
+     * connected state.
+     */
+    flexarray_append(back, "hotplug-status");
+    flexarray_append(back, "");
+
     return 0;
 }
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 16:03:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 16:03:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259905.448675 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC1oy-0007fN-Oc; Mon, 24 Jan 2022 16:03:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259905.448675; Mon, 24 Jan 2022 16: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 1nC1oy-0007fG-LN; Mon, 24 Jan 2022 16:03:56 +0000
Received: by outflank-mailman (input) for mailman id 259905;
 Mon, 24 Jan 2022 16:03:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=REvy=SI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nC1ox-0007d2-1n
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 16:03:55 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3a401c71-7d2f-11ec-bc18-3156f6d857e4;
 Mon, 24 Jan 2022 17:03:54 +0100 (CET)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2051.outbound.protection.outlook.com [104.47.12.51]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-30-sa5z16a5N0yduw2o41ieNQ-1; Mon, 24 Jan 2022 17:03:52 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM5PR04MB2979.eurprd04.prod.outlook.com (2603:10a6:206:9::29) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Mon, 24 Jan
 2022 16:03:50 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.017; Mon, 24 Jan 2022
 16:03:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3a401c71-7d2f-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643040233;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=t7v3j0F2TPfRP5Uu5ZHXGdtyWz/fe4+66UECP+O2vK4=;
	b=OaAZft91I/B8cdhX5HMUzMBM0qRA6aOz457JA6TLP5l/12zA8DkWSB0ionIeu+8RRgFAsj
	5e60Ztph/lhX+uIvV4KMr/nXAUeU6hZitkX7mlaqAytjFIQe5CViJ6PSAGlnVolJyxJjSq
	TwCx9q+aaDhumO/Y9i5X588qru/r63A=
X-MC-Unique: sa5z16a5N0yduw2o41ieNQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=arZNzELJa2PDIlbLjB46Dqm0a3M5EtNv34xxxqANVj5bOcJu42HPO2EEJVE/UvLqkHUuQirx5rZ7a02WGQCFKrXjVrzu2PhrQDU6TeGYM0kEJsD9Fi1HgSFXU/zfjfh4W/VJ6xBPc4oU+PTZDdhTI0TmhVDmEJdyf6GjLJG/XaC2Dtdd5Zx8quGimFRX2JhEDgZIxiyAA01AOdorZFzQvb4kUDUzTNk2yeJymvwxQHDVvAd424weQdG94cZEDi4/B1pLQLM3r+QoM3OZhgwymN3pE28sRCHHAKms50wD8pti6G4zGGtPq3tprQsSj62M9c1OXY0LYdQEZzF1oPBYaw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xTSzirHaUNmathUw7AmBJDZNEvpO5kRosWk6ErJIvjI=;
 b=A9rikqPIdYG9IY5gqdLn2FrDxVi3QZMsgxOmvJKzLDFNxXS8oreMgLAGGHxfCk+ZxstMQxhby80047DL8VnzqljwD6RRNPl1CAINxLadFbp2Rdwgsx0hD7Qa6eBH6NHuAhGUY+N8Buq5t2FZPZpRTAjawG6jglfH6xCzAo7CwP+mEuxoRD0K979uFsAzpQUVTwyNcq9L2LbII6tSPOr+Nei58UXJdYvnYI/Vj39sQLhqI5HZOAXaPavhxixROioz9TzS4E0JWVTjtOWFeDQ9Yfj+btYbcW2ld5nmiis0S/WWrgQfACpkTThULRYlaYurmmD63+hO7yGNdc13y3VcvQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ce4b0cb5-7a8c-6e04-d263-1c5cd0466269@suse.com>
Date: Mon, 24 Jan 2022 17:03:49 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH] x86/pvh: print dom0 memory map
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20220124155141.37495-1-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220124155141.37495-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS8PR04CA0071.eurprd04.prod.outlook.com
 (2603:10a6:20b:313::16) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 0965e65c-2ca9-4a08-446d-08d9df531c9f
X-MS-TrafficTypeDiagnostic: AM5PR04MB2979:EE_
X-Microsoft-Antispam-PRVS:
	<AM5PR04MB2979BCAE074B9C03FD5C4526B35E9@AM5PR04MB2979.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:
	AD+kAqYp+khEn3K5OJqdz/oZc2iATksyzOSkiThoT0kPDxESuWbfVLiGsyoFIbBZh70w7YTBt6R9J/Dp1EkDgb4Mz3Vklh4biaBeWK5E2z+yxnfriJFwmu7VzXep6XLBJaivUmk2MzNQRcDSKGAgoCK0OGX5wAezjHMRUb+WD8Yotxc6J8v1KobiAIsDEkP+GVYSy+dpya2vmgGB++HyrWYj1La9pN9r5G131h6+J2Gp4d0XW9zQuIXbEpSs4zLwLHJ4U7NCvyfzAVakNr8AlDXzv8ejC+TZT3RhV2cF8uAP2O7BJFrwWIrlrqbTXHpwuYHm7qDBzSYmaUREw2w8lyqn5u/OImSnCiyVvwhfroz7NiYAIAiEqR/1kuFgQSgAMinrmTFxITNMSCnI5MwPBQcwTmISQpxugHAn8jhCuHx2dDBwan6CAcMedcmb5LBXMRh7K6r/Wa91MQnpEDzf/zU0SFShhYad9Ef9EjluXu9fWux4rMFVzyElSmOE/rhxmQImLp82xNqdB5rww16Ah/tohgzubsasQm81OtMFrc2d5PHsbr1Izw5mtpl2AmNwJhrRnAKAiXwWgtYaHtQcKRPRJoSvYrwOeXxJhtwKbgJldcVaIypNZxfb+kEHMEhmlCkZA+0O19S4GJmtpBEBaR+4Iuzfp6mCjh+YYVqBcmbpXYbrsxtFsKg8GpmDN2MW3qi14TcwWdLSuJZ0gqBVZPCFX+aoBxybrBwnjiQRgMDJCt8LwLoDU34XNWJZZywy
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)(6916009)(8676002)(31686004)(6486002)(508600001)(5660300002)(186003)(36756003)(26005)(4326008)(4744005)(38100700002)(6512007)(86362001)(31696002)(6506007)(66556008)(83380400001)(66476007)(66946007)(8936002)(53546011)(316002)(54906003)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?zcr357KeCmT5//YvsyY3KI6BgCee+kbIYGKqdhwkB9Z00/50Z3s0VG9SWat0?=
 =?us-ascii?Q?UHRfJc0zL5EmjNFGzmBwSlW4gIgbLGJFhVJrOinU/hVm5zfxMCxprFRYpTtA?=
 =?us-ascii?Q?98KFt3q8h0/r0lHSw/WYXhgmmyCL/4+/AplBfsRUNDV58YRwkVEBn6hq8t3W?=
 =?us-ascii?Q?KZjyOCmiRvSOJFXfutz8kPo+qc+4vzt4lb7APF4Ho5Ok1ZIzJ2B2xoWPjZkW?=
 =?us-ascii?Q?xY5CX4NG1XjQYvSewznIJQyMdep/+HzwDisJvxO2TvWpuafI68lCsP9FNZ5m?=
 =?us-ascii?Q?HwOKt/ZQCfnWwH1IL6GWRh4YlUWgpZK0x6ObRCy3sU8CBK+1mDuk6XIezPor?=
 =?us-ascii?Q?Jmb+UOiY5HyXu9Phm3mCHSXsCif2HU0doSj3w6YxoPfox5rz57iXIeOB3xBE?=
 =?us-ascii?Q?+B01jXW8xZPL2rYtE6/NzTyLTTW0Yk9Fz/kSrlkmsXiN0FdSiKd26bCTiVjq?=
 =?us-ascii?Q?dNKDZuAR2wlwPUWPOuzVrk76mMgvV9hpr5fd/yQmH7BUTfldOqGBKbaNfNiV?=
 =?us-ascii?Q?UVfM+PmZAchxQefwlXr4e9Y1elzgL28LxrdKH2EP1EGdWn8/hMlQhYG/XOyk?=
 =?us-ascii?Q?J4RW+7JB/VMRHECqKahRB6HZbGlnQMhZMVAqyAAmyx3SS0dYraThMLtQU6DJ?=
 =?us-ascii?Q?MQkmbEsNL0xbqUhDQqnPNehpqu/52jfERGJiYaaO2vuJNde/k0gM4WDq8SIy?=
 =?us-ascii?Q?oRQDd1WMQfiZO5ABDevgrewy3hXkhezO0s7Y+vTWshiTaaUzPIs0cfdZJMPj?=
 =?us-ascii?Q?W/A9dd738JXWrHwsz/CNURblkQ7QAYVHy198zS/uLF2AwbJUkErfNgqy54KO?=
 =?us-ascii?Q?Sfon8TgiKT1nApU4N9uavSMkxrDNfvXNvoa4aG2L7kqWBFXEsTy/LYZKCZJN?=
 =?us-ascii?Q?YFtm375T3mW6uBNkn4xmZI0Zd5+b2S3poEIuOkEI9+u0Ryera+Q12d2rhsU+?=
 =?us-ascii?Q?OOuqaZhDYFxLe+ltbD24peetnJHyqwjFJtNtdONu97Y86lNIBNx+w14rCqsF?=
 =?us-ascii?Q?y/YdCvyWz25FiqTNJJvRr9R48DzPoaYn9s5aRdg1alBueC9RyaaXK0lwkqEg?=
 =?us-ascii?Q?MFhhEPMnT9+mj1lKTxNNrhrWVqzxcvdtDLK7XSHKVZXE1X/wQjhAEqnKqkZ9?=
 =?us-ascii?Q?pMjvIulg/N09gAZfxPEy4nQYsBDmJJaktNzz/+65jVSxZO6JoKrlFCKz6aHF?=
 =?us-ascii?Q?fsWLLx4TC7SEBSemjygJgbGeOyXiE5OionnbANogEoeRvaTNmvjHNan8vkSE?=
 =?us-ascii?Q?Kh5lJPBv6enPsMDGviIHqV6Hqq5lA3zC+NLf8hvmNvvoTs78Dd82qFsxnnuz?=
 =?us-ascii?Q?b9CMrIee72eeQaRt3rs498h1gI+YgbkrYbuCMv0WUmxT5EiTKSrawNKnvqFQ?=
 =?us-ascii?Q?hLkii08IvUJC61L9VvUoqWu8fyQVAqjidpcnSJQ9FlP8YsEog5ylw7KO0F0f?=
 =?us-ascii?Q?ctDmEXSpSr7Y1OLmSpeFdHo64KgzfaGPvLDDXlvd/qvhC/0n0SDQNqEb5iZk?=
 =?us-ascii?Q?5MQw5xfWpL4LTj+8wFM2EeaTEdZQLsiv21qwyixaUPYgtlLQJAZWshOcul61?=
 =?us-ascii?Q?brAFs68m4JqfsZqYAKGt0iVXTKv0Oq0+Or7xsDEkrcMBJdoQK+JXuYqSe2Up?=
 =?us-ascii?Q?RBJVwps4rm3bA4yMSom14XY=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0965e65c-2ca9-4a08-446d-08d9df531c9f
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jan 2022 16:03:50.7024
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 8MCYmC2nxjugAz19KmwJnTVZENRiSIe2oVMv5ScYhZj08te/D04QrvnWShKBDr4fdBR2vDxWdIfjJhgynNDIFw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR04MB2979

On 24.01.2022 16:51, Roger Pau Monne wrote:
> I find it useful for debugging certain issues to have the memory map
> dom0 is using, so print it when using `dom0=3Dverbose` on the command
> line.
>=20
> Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
with one further request:

> --- a/xen/arch/x86/e820.c
> +++ b/xen/arch/x86/e820.c
> @@ -88,7 +88,7 @@ static void __init add_memory_region(unsigned long long=
 start,
>      e820.nr_map++;
>  }
> =20
> -static void __init print_e820_memory_map(struct e820entry *map, unsigned=
 int entries)
> +void __init print_e820_memory_map(struct e820entry *map, unsigned int en=
tries)

While making this accessible from the outside, could you please
make "map" pointer-to-const?

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 16:08:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 16:08:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259911.448686 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC1sv-0008NH-9W; Mon, 24 Jan 2022 16:08:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259911.448686; Mon, 24 Jan 2022 16: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 1nC1sv-0008NA-6Q; Mon, 24 Jan 2022 16:08:01 +0000
Received: by outflank-mailman (input) for mailman id 259911;
 Mon, 24 Jan 2022 16:08:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BDBv=SI=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nC1su-0008N4-Fd
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 16:08:00 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cacf4835-7d2f-11ec-8fa7-f31e035a9116;
 Mon, 24 Jan 2022 17:07:58 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cacf4835-7d2f-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643040479;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=rwA03VQyU1isUQuleHsrasI4qxOPrQ2Xrg02KGvaCcw=;
  b=RQiNPJ8aZx1lo64JifRCTqPPO4LlINEf7Ork1n+TnZnU+EcqscYSS/sY
   qDDhKAlQigjT+MWWnsA9YQ2t+8tjXuygVLpXYLXoHafDPl7eHZJ7BJuRm
   RPQSWuz1Jf2smEFTxpzrbh/syDIdcqRcJP2jxv/u05U+077SoYGEYgHZd
   k=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: qeS+KWBbNRmDCxIFr3+Ut1iZGcXAvJAYN8HS9zgUNMvMgRpWhmFsWib9ClRdNZWsYYR+fPATqV
 KUnmrxk5UgRy/VIpk3v+mJMIVqjE4ap1SlZ7j/+jb4rLdoy3tYVmRW36GHY7ZgQG+Nd3fTpECW
 ukiPevEZUx7nw1uJUrOKvQIxtV9YoM+HImWifll2DswUu8R51K1zcjQHeG5JkJfLskoYbGyUqT
 3iuNtvgirNeNZuMT+s7mILAtvUp0jmyr/KcSC/IH1UOWwxgSDc/cpH6xfuhceen8LKKNSChBvm
 0NMtBySVWsOXRJCwSuCcd0Rb
X-SBRS: 5.2
X-MesageID: 62558039
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:8g91pKp1QyFu0EwhWiO9tuuTZD5eBmLKYhIvgKrLsJaIsI4StFCzt
 garIBmEO/2OZjOgfdF+YI21o0oBuMDdyN9qSgE6r3xhFiIQo5uZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlZT4vE2xbuKU5NTsY0idfic5Dndx4f5fs7Rh2NQw2ILlW1rlV
 e7a+KUzBnf0g1aYDUpMg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJ8DO+iL
 9sv+Znilo/vE7XBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XnRfTAKtao2zhojx/9
 DlCnYewFR0jb/HJpPQUUwhTHx9PGupX95aSdBBTseTLp6HHW37lwvEoB0AqJ4wIvO1wBAmi9
 9RBdmpLNErawbvrnvTrEYGAhex6RCXvFJkYtXx6iynQEN4tQIzZQrWM7thdtNs1rp4UQKuOP
 5FIAdZpRAzsXxseAmczNJIjsbu5vH3dbTNzg03A8MLb5ECMlVcsgdABKuH9atGMAMlYgEucj
 mbH5HjiRAEXMsSFzjiI+W7qgfXA9QvkXKoCGbv+8eRl6HWRzGEODBwdVXOgvOK0zEW5Xrpix
 1c8o3R06/JorQryE4e7D0bQTGO4UgA0QNoMCedrtASx2qPU8g2VOFkjCS9OQYlz3CMpfgAC2
 liMltLvIDVgtryJVH6QnoupQSOO1Ts9djFbO3JdJecRy5y6+dxo0EqTJjp2OPPt1rXI9SfML
 ydmRcTUr5EaloY12qqy5jgraBr898GSHmbZCug6N19JDz+Vhqb4PeRECnCBtJ6sybp1qXHa5
 BA5dzC2trxmMH10vHXlrB8xNL+o/e2ZFzbXnERiGZIsnxz0pSL5LN4Lu2wvdRkwWirhRdMOS
 BSL0T69GbcJZCf6BUOJS9zZ5zsWIVjISo2+C6G8gitmaZltbg6XlByClmbLt10BZHMEyPllU
 b/CKJ7EJS9DVcxPkWTqL89Aj+5D7n1ulAv7GMGgpzz6gOX2WZJgYepfWLd4RrpnvPrsTcS82
 4s3CvZmPD0GALShOXGGqNBKRb3IRFBiba3LRwVsXrfrCiJtGX07Cu+XxrUkeod/mL9SmPuO9
 Xa4MnK0AnKm7ZEeAQnVOH1ldp31WpNz8SAyMSA2ZA760Hk/e4e/qqwYcsJvL7Ug8eViy99yT
 uUEJJrcUqgeFGyf9mRPd4T5oaxjaA+v2VCEMR26bWVtZJVnXQHIpIPpJ1O96CkUAyOrnsIiu
 Ln8hBjDSJ8OSl06XsbbYf6i1X2run0ZlL4gVkfEOIALKk7t7JJrO2r6ifpue5MALhDKxz270
 QeKAEhH+bmR8tFtqNSQ3PKKtYakFed6D3F2JWiD4ObkLzTe80qi3ZREDLSCcwfCWT6m466lf
 +hUka3xaaVVgFZQvoNgOL931qZitcD3rrpXwwk4TnXGa1OnVuFpLnWchJQds6RMwvlSuBesW
 1LJ8d5fYO3bNMTgGV8XBQwkcuXciq1ExmiMtaw4cBfg+St63LubSkEDbRCDhRtUIKZxLI54k
 /wqv9Qb6lDnhxcnWjpcYvu4K4hYwqQ8bpga
IronPort-HdrOrdr: A9a23:6yGFRaA8Q0MCklblHemo55DYdb4zR+YMi2TDsHoBLiC9E/bo8/
 xG+c5x6faaslossR0b9uxoW5PhfZq/z/BICOAqVN/JMTUO01HIEKhSqafk3j38C2nf24dmpM
 JdmnFFeb7N5I5B/KTH3DU=
X-IronPort-AV: E=Sophos;i="5.88,311,1635220800"; 
   d="scan'208";a="62558039"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JkGXndhdxoXOhD6TExGfyAdcpX16qzcT1QQv10wi9IszlAeoL39M81Xbt6NAPTBg+83BD6O1tcgWykMFE/n5j6cnu2U2IeKp0vw0NFEnfFt9KPzF6UdkjK4IWAiwVOKLEPipOL2IaNpvGGgnD5FRWNxY/oMlrmu5HTr6ryfskCHjHP6M6FFg3Qobaw8Qesjqng3E/opX3KgHEAHDjjTY6GpoYdr2OjaQrGAaerhUfpxLqxozkJ9ep1NdH9RpUbjzs4JXW0iz7LBEzLFACk4W/hHDLBIGdhXRXRCYWpCq4vFXoRemoJK3/jcDLxg8OnM3JyoQoJcXkfk0RrV6DN9jrw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sm1Zim0MmcGem+5CiO9CFZr33Oed1wzOntU1JvvKoAA=;
 b=ledngFUgTosoAQHOxyBc+dc8DHkXJEeQhROzpFZb28GaZMqag1hx1h7XhYAMVxgW6IRAGmDO9zyUztNPrEWoFGbB46K4lWOFL/lstkssRIajHZedXV1mvr+FoQFhPk768Cd2tu6I6nQeczTjqleuXbpqUFq2rJvKgO6sKcGKQOKjlF2XaN6NvHZeaf0TuAFO2PUJnzyV4H/4LiONAFCrGOxMcUuluevjX6NUbm9BJdiFVZBvnzO1fBzdDqjzBEc3DfSjpdTX7yEB5yaXukVeol6nC0HHaZNqfNHpOdBd0OYkSK6yw9jA4joPB6QeeTKHwiBP9RCjCWHV2VHhDKGFIQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sm1Zim0MmcGem+5CiO9CFZr33Oed1wzOntU1JvvKoAA=;
 b=w/LWLJkOUPjfg1BM0k6kgOXpPg1XrXJ+WiMC7oCV6Wd2hd+8LdNH8kOyaDcXHFgF0oHBhGq5L4jqp+ANLHk/8bnse6rezXAzqdi6Nk//kYSs756+C+pqLvINM9PyTlTcSASIHNS05clJZjq/KZdh6QxOrB81GyGbMnk0OXmggB4=
Date: Mon, 24 Jan 2022 17:07:47 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] x86/pvh: fix population of the low 1MB for dom0
Message-ID: <Ye7O0/AWLRGpYmd5@Air-de-Roger>
References: <20220124152316.37049-1-roger.pau@citrix.com>
 <9f2407e9-90c1-2c52-202b-7d6b5bda3217@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <9f2407e9-90c1-2c52-202b-7d6b5bda3217@suse.com>
X-ClientProxiedBy: MR1P264CA0066.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:3e::14) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: bcdb9560-0422-49b1-8ab8-08d9df53ac20
X-MS-TrafficTypeDiagnostic: DM6PR03MB4538:EE_
X-Microsoft-Antispam-PRVS: <DM6PR03MB4538E1875D8A4F16E2CD0C4F8F5E9@DM6PR03MB4538.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: jGUnoQUDxjWfg7Eh26B4Br/1qBWq5rnCd0/EXaN6CpFVodnYZwFHWuCdX86mHl3Q/1i0TEphrmZnQettThoPTWQnMfLQNfD5QztuIauGMOfUDmywIXISfQ3GQamIG3cFjg+/xv1rLdLbri4MWVrOZzhsvPRsDbvU1CG3aH0NRZ+3ajvuL4A9gIQCm0ii+5YGYAFm3OVnvm8Qc105tfZXU6WSe72rVU6/NyRlQF8ii3D2H4hssgQEmFw4FDZZXL6EyG9hZZSlBKvnT4QYX8rzxU/10M8n8Rpvv4/phd6DReBMw0dnJv15MJn6TvXtjxFFlpkSACwBvg7sLyVY5kjEfyWTBxct+x4q7lPk/Y+T+t8uyLHFJ6jzSiUNs7aYqSG8DsIEY05eBf7heQ7CAV2vLaK3im3kbcld9wY9J4rbURsCOrw7JH52iv97tFXe9ZJ1BE6NDWmgt1Ou1x8zckz/OxDwimZ2tU0hMb1mdp5TDti5uTX61CagasqHS3BlS22F33zzZxtl3FzsH1vyVaD8njZaBfEvR0AaJH2dsXjI5ahsCnkGDiJLi/+wnxwaQi8/dGBvoUblciVeNMFfj+O3TPK4XUhJUj4rjFZQEWdM0i6B4qGUK44SP1eLVInkRnoKhP2ImR/OkYdXdHZjbqkdag==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(26005)(9686003)(6506007)(38100700002)(6916009)(83380400001)(86362001)(4326008)(316002)(66946007)(6512007)(85182001)(8676002)(8936002)(54906003)(5660300002)(66476007)(6486002)(66556008)(53546011)(2906002)(6666004)(82960400001)(33716001)(508600001)(186003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Vm9RQVdzajZYUmFtTzdiRE11eHhrangrejFRWEFwSmszejRuTEMxbUxhYjMy?=
 =?utf-8?B?RTRwbjY3emwveStXUkZhVFpWaWx0ckRWS2FoSW1nTURJNjZmR29yM05VNlU2?=
 =?utf-8?B?SEZ3YWhKSmZSTUY3SjNNSGNOOXRLcUhOcFBSemhvcVA4Sk5wK3BEWXVDSmU5?=
 =?utf-8?B?ZUd5UFBvUmUzVGpHWm5pcE9lbnZZUzkwdkJDSlhHU1lpVVpvRXBxNVEwTi8v?=
 =?utf-8?B?Ykx5ZkFDK3ZRcHVvUmhyNFRhd1RnTjVpMzluZ1RKaGFRZkoyR3BKazg5Yitk?=
 =?utf-8?B?aFRidFNGbS9SU3o2SGQ1b2orbW9GM205WnVxTmxFU3lPK3BKYmdzRzhjVkR0?=
 =?utf-8?B?T3k4eGdlUGcyRkFsWTFWcVhGekpGUzVkdVJTQldHdDRXRUJEcWg2dUlRUTF4?=
 =?utf-8?B?bkI2cy9pUmFRQmY3bi9kWUxtQ1lHd3IyNlQvdjZhdkhmTWh4Ync5RDZtQ2Zr?=
 =?utf-8?B?QnE3NUc5V0kzUGhMYnRjb2RhOHBPNFlML01LY0V6cnN5cnhTNklZWGszSmh0?=
 =?utf-8?B?YkYzdGpsc0UxYjExcDJncXJnS3lSMi9NZEJRZmVlWi9aOHZNZXNaWmxjUFV1?=
 =?utf-8?B?WE1pdDZIZ0RqSVFlZlNmZjd2ODFMYXlVaHVycTNqOEVScW5Sb0l3eHpkS3BW?=
 =?utf-8?B?VHc2cCszVHpBSE9TS05FeEhpaGl6UFZMNFN6Q0RyQ3lGTzAxQitDL1VPQmE3?=
 =?utf-8?B?RTlGRWVaMVhHQ2t3elBGZnNvWVBwSXJmZnhmYWhmUnZZZVlJcUM0cDJKVGxT?=
 =?utf-8?B?YlVJNU5YWFdoeHJoRW92OEpEZHpTbkdsVlA5R3IvcVNYdkdtckdaaHIzcmZq?=
 =?utf-8?B?RTEwTXhDVDEwNUdaMWxoeVEzWkRkdWJmMHZYSUR3NEJ4OFJpZFVpK3pSWWV0?=
 =?utf-8?B?NjZsS2o2bnptbWxmdStEcGlwcEZiV0tSYWgyWmlqckVINWZtV25DYTl3cXo5?=
 =?utf-8?B?ZUQ1ME9MWENEaVBKVVhIWmlPbE9GNGh5cituSUV2eC9HWnB2NnhFZjJqOU1X?=
 =?utf-8?B?RUUrQldpajZkbUp0TEg3VDhqb3RxeTQvMUU5QTRwaklwV3MyMTVZS2JSZ1Np?=
 =?utf-8?B?WlA5bGxXaHR4TzhmUGs5bCtKbUZ0NENwRmtlQ1g5a012Vk84OGtKMGIrWllM?=
 =?utf-8?B?RjlPL3pTdVNWVG1JZDZnSVRpVElTcW9EWVhzdm1aTXlpRlk3aHRpYmt3SGxF?=
 =?utf-8?B?eFVMRmdEUXk3UnVybHNnOS9WVTNxZ0tXMFEvZVozLzE0ZGJDT0I1VkxpVWV4?=
 =?utf-8?B?SnllR0hUbVpKKzE1dDQ0TzdWTFh2OTJodTVScktPTERIMkRJSGd0cktVUW4r?=
 =?utf-8?B?bExJejlLeHVBd0E4NmtwSDY4RmZianVjYlBGeHRVQzkvSXlsREZYOFdHN2Ez?=
 =?utf-8?B?TVdQd294OXg2YnczY3lRQVpjbHJLVFQzQzZjM0xpcU15WlN5R0Z3LzF2WFdR?=
 =?utf-8?B?M1h1MytYTTRlVmtVejJTaGJtdWhoQVZWc3Q1QTYvM3hUNkFidEZreXhNTVpL?=
 =?utf-8?B?dnRUQ0ZtNmR0YVA4YXJDeUlUcDdEWXRDQXlmRi8zcGx6RDFJdGwxaCtaT0tJ?=
 =?utf-8?B?YzlQRjdKRndRODBpTjZDeStQcnhUVkpuMDN0M3k0eEdaRjZHaGFMSUh3UXMw?=
 =?utf-8?B?a3FrS1ZsQ1dVY25vc0dsV3dyQUtRNGY1REZhcW9JVm01WUUrK2VURHNTSWZO?=
 =?utf-8?B?eFlIakc4QkNMQlF3RkVueW9oOElPbTdKZjJtRXhaemRVWFNJaHdYZklsVVdM?=
 =?utf-8?B?WGJ0RE9RTDhWL3RFSTJtQlM1b0sxd0VCV0dJUW1yNWY0OGo1SllodFMycy8x?=
 =?utf-8?B?aDFNS0pmNU93enc5Z0RJQks0UmhKS1c3WjcyWFd4Z3ZORFhkUVFDbDVLTHdY?=
 =?utf-8?B?Q0lFRS9VQ0hUMURTd2xhV0x3Z2cvaURpTmpDdWJxVWQrYVl0R3pXWExEUVRE?=
 =?utf-8?B?bHhmOHB1TUx2SmhlM1Z1TWpkUGFISHFDbk9RcDZoU2c2K1RsZklFMEZHY3Zp?=
 =?utf-8?B?VmFjV1A0YmJRbGVGQ1llWHRLSkVOTFlncTNrUkpEcXMwZmxYRGpGaFlhWDRT?=
 =?utf-8?B?ajgwbWhMS1ZxWHVIRkpRVEU5QWhBTS9LR1ZRYTJHTDlsRmttTjkxckx3dWdP?=
 =?utf-8?B?UllCTGhocTdVaGRqVlZuR0tCTlJJVzJTZ1MwRlQ1TEVQaThOeTlCd3hzK0dt?=
 =?utf-8?Q?j8kOj3S8Pk83azyyplLvg9I=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: bcdb9560-0422-49b1-8ab8-08d9df53ac20
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jan 2022 16:07:51.4447
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: GY/7jUqTZiiUwqHEX6InHt9mE4bL6jBOdZlIMYkMfA5W0S9zSCjHBNUBlz5SEEkRrUJ8J1tUMzCBPo1yp9I+OQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4538
X-OriginatorOrg: citrix.com

On Mon, Jan 24, 2022 at 05:01:04PM +0100, Jan Beulich wrote:
> On 24.01.2022 16:23, Roger Pau Monne wrote:
> > RMRRs are setup ahead of populating the p2m and hence the ASSERT when
> > populating the low 1MB needs to be relaxed when it finds an existing
> > entry: it's either RAM or a RMRR resulting from the IOMMU setup.
> > 
> > Rework the logic a bit and introduce a local mfn variable in order to
> > assert that if the gfn is populated and not RAM it is an identity map.
> > 
> > Fixes: 6b4f6a31ac ('x86/PVH: de-duplicate mappings for first Mb of Dom0 memory')
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> albeit ...
> 
> > --- a/xen/arch/x86/hvm/dom0_build.c
> > +++ b/xen/arch/x86/hvm/dom0_build.c
> > @@ -466,11 +466,17 @@ static int __init pvh_populate_p2m(struct domain *d)
> >      for ( i = rc = 0; i < MB1_PAGES; ++i )
> >      {
> >          p2m_type_t p2mt;
> > +        mfn_t mfn;
> >  
> > -        if ( mfn_eq(get_gfn_query(d, i, &p2mt), INVALID_MFN) )
> > +        mfn = get_gfn_query(d, i, &p2mt);
> 
> ... preferably with this becoming the initializer of the variable then
> and ...
> 
> > +        if ( mfn_eq(mfn, INVALID_MFN) )
> >              rc = set_mmio_p2m_entry(d, _gfn(i), _mfn(i), PAGE_ORDER_4K);
> > -        else
> > -            ASSERT(p2mt == p2m_ram_rw);
> > +        else if ( p2mt != p2m_ram_rw && !mfn_eq(mfn, _mfn(i)) )
> > +                /*
> > +                 * If the p2m entry is already set it must belong to a RMRR and
> > +                 * already be identity mapped, or be a RAM region.
> > +                 */
> > +                ASSERT_UNREACHABLE();
> 
> ... (not just preferably) indentation reduced by a level here. (I wonder
> why you didn't simply extend the existing ASSERT() - ASSERT_UNREACHABLE()
> is nice in certain cases, but the expression it logs is entirely unhelpful
> for disambiguating the reason without looking at the source.)

Indeed, that's better. Sorry about the indentation, not sure what my
editor has done here.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Jan 24 16:13:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 16:13:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259916.448697 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC1yG-0001QB-3D; Mon, 24 Jan 2022 16:13:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259916.448697; Mon, 24 Jan 2022 16:13:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC1yG-0001Q4-06; Mon, 24 Jan 2022 16:13:32 +0000
Received: by outflank-mailman (input) for mailman id 259916;
 Mon, 24 Jan 2022 16:13:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BDBv=SI=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nC1yE-0001Pv-VJ
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 16:13:30 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9069033b-7d30-11ec-8fa7-f31e035a9116;
 Mon, 24 Jan 2022 17:13:29 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9069033b-7d30-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643040809;
  h=from:to:cc:subject:date:message-id:
   content-transfer-encoding:mime-version;
  bh=yj/jG1xVfgrU/pPdzCgTgyhHbNBYErsWfaAudd38ZNk=;
  b=Tafr1tAktFkFivT3pgixPfQzrWt4Kh7NBFmWpvPZ1mh0UhzuG7YI1Fvp
   Y/K1wDUzstSu9We/7xTDRPbwPAKPCjU1fixqQh8In1usaxrArvNnKBH+4
   g/wY21r7OP8Ylm+d+0dzPNzgZkiWuOgES5GoBdl6gwZ40r/2EdzrYqIDo
   w=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: 5J1XyW7jpxnKwvS4Hl1hgWRZvOekUtORXIdWyblPDbHRqUnAzFpS+OCiEA1Pb5XaemoC6tJEbT
 4fsCoXipJV+BpvEydsi/Z9j86Aonnwh/e2IvqtS/79+hn8UcCW0eSie+W6E24mrKPyNro7seRm
 VvwNvxH8m/7zm3Mtvr/IYHyt37b22jnTDTgG+O8/ttd/5269Q+ZRdEIyN+oIw8d/ykYOQRK4ur
 KDD16seAs+pTgfZSrQkWM/pWPQP5vQAg7qMZAP9Yc7nIcCyqZ2FVjGDnV/yAsQFvcwEw4T6SDx
 qE54bN2O1hdiCfuSYlzk9dAs
X-SBRS: 5.2
X-MesageID: 63046361
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:Wnmf9qw/4ITS8RavTr96t+flwSrEfRIJ4+MujC+fZmUNrF6WrkVRm
 2ZMDzjXbq2JYTejL9knOYm080wAu5+Bz4dkSFNsqCAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnvopW1TYhSEUOZugH9IQM8aZfHAhLeNYYH1500g7wrRl2tcAbeWRWGthh
 /uj+6UzB3f9s9JEGjp8B3Wr8U4HUFza4Vv0j3RmDRx5lAa2e0o9VfrzEZqZPXrgKrS4K8bhL
 wr1IBNVyUuCl/slIovNfr8W6STmSJaKVeSFoiI+t6RPHnGuD8H9u0o2HKN0VKtZt9mGt91h6
 t5iloGwcyIWHqPCsskxdiEALD4raMWq+JefSZS+mcmazkmAeHrw2fR+SkoxOOX0+M4uXzsIr
 6ZBbmlQMFbT3Ipaw5riIgVort4kI8TxepsWp1lrzC3DDOZgSpfGK0nPzYEDhGtu3Z4XdRrYT
 9YiSgJrPErtXz9KNxRPDpA7lsn3v1CqJlW0r3rK/PFqsgA/1jdZz7zFINfTPNuQSq19nEyVu
 2bH9GTRGQwBOZqUzj/t2mKhgKrDkD32XKoWFaak7bh6jVuL3GsRBRYKE1yhrpGEZlWWAowFb
 RZOo2x38PZ0pBfDosTBswOQrW6mtTE/RtpqNtIa5g+n54bx216mGT1RJtJeU+AOuMgzTD0s8
 1aGmdL1GDBi2IGopWKhGqS89m3rZ3VMRYMWTWpdFFZevYG/yG0mpk+XFr5e/LiJYsoZ8N0a6
 xSDt2AAiroalqbnPI3rrAmc01pASnUkJzPZBzk7vEr4tGuVh6b/PuREDGQ3Ct4bdO6koqGp5
 iRspiRnxLlm4WuxvCKMWv4RO7qi+uyINjbR6XY2QcV7pmr2oCPyLN4JiN2bGKuOGp1cEQIFn
 WeJ4V8BjHOtFCXCgVBLj3KZVJ1xkPmI+SXNXfHIdNteCqWdhyfclByCkXW4hji3+GB1yPlXE
 c7CLa6EUChGYYw6kmveb7pNgNcDm3FlrUuOFM+T8vhS+efEDJJjYe1bYALmgyFQxP7snTg5B
 P4GZ5LVkE0OCbOnCsQVmKZKRW03wbEALcmeg+Rcd/KZIxogH2ckCvTLxqgmdZAjlKNQ/tokN
 FnmMqOB4Fag13DBNyuQbXVvNOHmUZpl9CppNi0wJ1e4nXMkZN/3vqsYcpI2e5gh9fBikqEoH
 6VUJZ3YD6QdUCnD9hQccYL58N5oeiO0iF/cJCGiejU+IcJtHlSb5t/+cwLz3yASFS7r59Amq
 rit21qDE5oOTghvFujMb/erww/jtHQRgrsqDUDJPsNSaAPn940zc379ifo+IsctLxTfx2TFi
 1bKUElA/eSU+t076tjEg6yAvryFKeomExoIBXTf4Ja3KTLeojipz7hfXbvaZjvaTm71pvmvP
 L0H0/HmPfQbt19WqI4gQa1zxKcz6taz9b9XygNoQCfCY1ixU+4yJ3CH2Y9Et7FXx68fsgyzA
 xrd9t5fMLSPGcXkDF9Oe1Z1MrXdjakZymvI8PA4AETm/ysmrrOIXHJbMwSIlCEAfqB+N5kow
 Lt5tcMbg+BlZsHG7jpSYvhoylmx
IronPort-HdrOrdr: A9a23:W+REa6kotpZwy73uy4K7oQEOd37pDfPAimdD5ihNYBxZY6Wkfp
 +V88jzhCWZtN9OYhwdcLC7WZVpQRvnhPpICO4qTM2ftWjdyRCVxeRZg7cKrAeQfREWmtQtt5
 uIEJIOd+EYb2IK9PoSiTPQe71LoKjlzEnBv5aj854Hd3AMV0gP1XYdNu7NeXcGOTWuSKBJXa
 a0145inX6NaH4XZsO0Cj0sWPXCncTCkNbDbQQdDxAqxQGShXfwgYSKWCSw71M7aXdi0L0i+W
 /Kn0jQ4biiieiyzlv523XI55pbtdP9wp9oBdCKiOISNjLw4zzYLLhJavmnhnQYseuv4FElnJ
 3lpAohBd167zfrcmS8sXLWqn3d+Qdrz0Wn5U6TgHPlr8C8bik9EdB9iYVQdQacw1Y8vflnuZ
 g7k16xht5yN1ftjS7979/HW1VBjUyvu0cvluYVkjh2TZYeUrlMtoYSlXklXavoJBiKprzPLd
 MeTf01vJ1tABOnhjHizyNSKeWXLzsO9kzseDlAhiSXuwIm6UyRgXFohvD3pU1wha7VfaM0ld
 gsAp4Y6o2mcfVmHZ6VfN1xOfdfKla9Ni4kY1jiV2gOKsk8SgHwQtjMkfAI2N0=
X-IronPort-AV: E=Sophos;i="5.88,311,1635220800"; 
   d="scan'208";a="63046361"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=miygD46idXtazNb3cKXt1ZD3UKev3kuAvBeaBnbKXlKkULHDqPpN7FecGA0LzQi1I2eWQHGiHGQ8JC/CKnLaH7ySkSNj8oFmy3c9ykxhJd94e6YOidD7A8oo2f5XOHSAX1g38nXCinUw5mmCOJCQDhTGhB3kSlwQH9bJeaMZ/mU6KiWYh5Vpb6mtyQiMjTlkhCsUmwSCd/NVSfsxjl04GaaAmAgYKs7ov++B5p0Z130GSmeCZZK7S/WEOUiPUfASXvpigQdQCJVb52wg9McFxMU3513uRnjGHY6yZz+CFm1gj/jZ6KClRq4CpiWxESPib921nDyB2MC4zwR8V/v0SA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fDywZwv3SCqlZfNHbQvneXAQdtFlWktPZEYLJwrCW/k=;
 b=MKECp8V1iPB9ziwyZSEffYK1rZdfWLzKxnxDXjucj6AHxtMqH6FMXnyVTvfTWP3SMip/MUSkKfNeHeCzpSL45RahLS2/jJV8HOqayOvr8r4XojPlk2LqRF67HGHs7S6E/AtQ1sqLpQE3A+ajaWrpqtfthWcyWK6LwVCeYcwXEa3Wq2botc1V6bgeaCRHcOCuUJlwosuEGUfx0Dm7KQmjJAozq+iF9QNSlXvBrkHuPYrZ9q0OlY9HXKi/DRRRKlX5PTFhU3wzqkx7pvrop6AGblwyiV+089dvOP7vQRUvZDC3Sf051cOK1wUqniyqLph/17kjRZiDwXyDrPIh3ShCzQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fDywZwv3SCqlZfNHbQvneXAQdtFlWktPZEYLJwrCW/k=;
 b=XZQ9Dxkgok4WKfAa5AITN6maqcThue8AQkK902P4GD9bZXpB6jBr1sNRLSlMmD5kjxCk0UOpXEOPyA+kPuPb4OHiDXeIW1kUZPqzJh31Xc0Tp5TlPfvf2ZeOoHZ3Zx2VQuUpJQI3X+f85kUVAhGXmUMEnESu7aDufd8Vk9cxlwM=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH v2] x86/pvh: fix population of the low 1MB for dom0
Date: Mon, 24 Jan 2022 17:13:12 +0100
Message-ID: <20220124161312.38296-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MR2P264CA0060.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:31::24) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: eeacef23-8a04-40cd-8e23-08d9df54717e
X-MS-TrafficTypeDiagnostic: DM6PR03MB4059:EE_
X-Microsoft-Antispam-PRVS: <DM6PR03MB40599045C7CB3E6753AD7FE38F5E9@DM6PR03MB4059.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: EoVrtGOM6pE/QvR8KZ6VVlEPeP1CqHC8i2PQ68ZFJorbJFUMHoGyGIm2EWQfUgTJ294P91gW/Hj2MoptmkuqgXmwe/bB0djh/Zl7SoIn2ptwerpfdiDDTFNAY8F+NdG+G3eYDJLHTippzVGqbWII66dv78WMwJ1ghk89wZhFveURl3yi/ue175ow6M7HNdpiVJ5C3P6jw+9BOfkuYShHIE2sxIdWfgVvhzb1b/+2Xbu7gB0fTMeVe3C9qzKwkG2QI+HVspxLKQ53GDRBlfwNCtqXJxMZhk6HJ9MaoYQCsBnLdX1kZ91V1zfQ8uagftRboWI6JiyNXToMIfa1ecxO6vUikdRFZgO80tEMWqwYumkgZdyp+7QavKKE6Ck6GUDCXRAt26/RH6FCOMz6GUbJtAMTY/BlCpQIWhgshnEBoU6b/6nM+/Wtr6N7D/sHlzV4qlIh7X4xSHJgmtmGpmJQn1mdoBnCqaJjMUI4cKM9fwXCsgfbBRS6VqRgB239uFNx0KfuICbo/pgeXM41oDwIJnuqTcwnYBDEgcQDUztG7OS2tUBJHHhtSdfDl4gkZ3Ah6lJW/FYgZwzA6+wu3n1keHDa2gbI1D+UrGmXhhRUsBEzO8mpQnTdXLEqqondcNhDo//82xr4ubovJGgDHuAfeA==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(54906003)(2906002)(2616005)(5660300002)(83380400001)(316002)(36756003)(6486002)(1076003)(6512007)(8936002)(6666004)(6506007)(8676002)(186003)(66946007)(26005)(4326008)(66556008)(508600001)(66476007)(6916009)(86362001)(38100700002)(82960400001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cFlRODdlM2xPcGcxYkJKNjRHdXhGL3ZEM2RwTkpRRDRxdStoRitRQ1NhWXBt?=
 =?utf-8?B?M2FWUWc5eUlqR3U5S0VOa04xeUdoa09iVW12cURvU2h6TlI4K29tdlU0bitB?=
 =?utf-8?B?Mk1zNjFJOUVxemJya09kYXZ3MEVKdzdFUy92N3NyWDdnWmpVK3V1Nnd1SFNq?=
 =?utf-8?B?ZzVvVVZ6aCtVdGRGeldkZkx2alpERTVmUkw1eHN5NWN0OGJEeGkrSVFvWFN6?=
 =?utf-8?B?REJ1LzZQNjRsQzl3OVhNaFZvdW5HUEMvZ3pBcjZ2TnBhSmZjUGFDY2RYZVVN?=
 =?utf-8?B?cEtjMXZvaEQzanZyV3JlWU1ZYkt6U3FGS01uRUE5UThqOHpqa083aGs5eUZu?=
 =?utf-8?B?VEtoOEMvSFNyUlpZT0V1RithdTd1WEttc0h1VzRxZUpWQmFnUjc4dTJVZWJG?=
 =?utf-8?B?RVowSUw2eTFDb3BMYnBSVWJYb0txUlEzV1loc2xTcm83Uk5kOTBMejhJOU5C?=
 =?utf-8?B?b2t5OVlBbTZqS2xpUlEwK2J3VW5CZmFSaEtNakYyV3NrOXUvRS9Ga1Q4bnll?=
 =?utf-8?B?ZjlHa2RYTHpRaHJaU3ZyTlBTNG9ITVhVSWVScFlaY2pieUNWQWltQ0drYjZE?=
 =?utf-8?B?QnRFRURUcUV0OTdVMGhvMExFajdOTkVzWVNmK2lmVTNxaFR3aWxDbGxyRUl3?=
 =?utf-8?B?QjArWlFJZG1yVURFY0x2UWlMZEVHZ2hzMFQvck1Dc3ppTklZUUU4bTY2dDRK?=
 =?utf-8?B?QitrK0c2ZkdBSHJqWE54SGE0QnRXY1pVNGlKbm5qSGJpK1ZUWjYwdHQzcVRY?=
 =?utf-8?B?RjMxK1VRV0pzTXBPeWplK2ZqZ25YZ2NUTVloTndYZzQvQ0FHKzBXMFB5UkFW?=
 =?utf-8?B?Z1RkOW93Y1RPaFNCNW9SME1zQlcwaERPR3JjOWVSZDN2ZUdBd2FGYW45UmJT?=
 =?utf-8?B?Smd3WXJkTnh6bC9tSW9XL3I1cEhRcUQxRldGcFNKa0JXa3h5VUdnVDdTZ3RJ?=
 =?utf-8?B?YTdXL0JoTVJlcjN5cmUxNDcyM2ZHY2FrM2MwcWdNRm9oSFNJZFNlYi80NnE1?=
 =?utf-8?B?QnQrUzBPNEh5RDlqd21ET1BaOU9taVVORlpKdlBXVmZXS1FxMnFsRTd4NHht?=
 =?utf-8?B?Ti9NaFF3eGZJYjlzanRxS3FvRUFYQUhLcUFwVmYxMkg4YW9yc01PODZWcDMz?=
 =?utf-8?B?OUpoWEcwR1phYUYwOUtRNUZINWVrT2dEbU03MFNwUm1RSFBPT25sS0Z1cDAw?=
 =?utf-8?B?eFdxMUNvKytXVDBlcEhXQXR5d3kyYm9ySzFPckRCTjd1SCtSTm4zVzRuMGZo?=
 =?utf-8?B?cDBRK1RKbkFQZFJvNUM5MkhxOTRqVExPWlBPeE9CNEdvWVoyck9xYUlub3FE?=
 =?utf-8?B?TGdyMHNqRVNKWmRGUksyTmQzM0FtODRyZmhzLzYvMDhmc25OY1FsbjhVeVR6?=
 =?utf-8?B?NWY5Und5TWpkQ1k2SVBFQ25BNWFkdTNNQkFVS0tjeTVIYVl4SDB5YVdKeWFh?=
 =?utf-8?B?Ulozc3VSNUNMTzlaWXc5d015SXdpQkx1dFBrSThhd1l1SFdTejJkTGtkQ20r?=
 =?utf-8?B?cFBRaXVhaEhFZlN1QmJkeDVFdmJaVnhxaC9JelAvb3JCQk8yTzZMQUdTSzN0?=
 =?utf-8?B?K3lHeHBHRFZndDQ5SXNWWXVFMnRtTFkvMFJBSzZDSWROcHM3dEdQZWorWUds?=
 =?utf-8?B?ZkVZWHphOUN1UEV0SlZ0MEwveEh4VHVxRkZCMUNBOUEveE5CUVN3aDlWMm94?=
 =?utf-8?B?RmIrNGRLVDB2SUt6SkJUb09hdFoyRTNlMW9WZlBKR0JRWU1XWHpmQkZkd2l6?=
 =?utf-8?B?VE1SMEV3RDBzbEh4WEEvVkNqUFVudm1NOTlFUGt6OVpsVExXS0hJQ0sybHJD?=
 =?utf-8?B?ZldWMXhHSmdGOXpSV0R6VVFqYXRVdTZ0RFRsRHI3a0x1OGwxMHNOVVBKNkJK?=
 =?utf-8?B?aG9ZV3dEQUtiQVB1QjUwbVVIUEJlSVZ0d0pRZFpaNGEyRHNPLzhRbHdiSzU0?=
 =?utf-8?B?TlJZQkJ3S1pDN1VwUEpNV3ZrUW1MKytmUmU4aDZvZFBqMXREUGFSb3RzWDht?=
 =?utf-8?B?d3dHdVNIMFlzRk5iUC9nSDF2Mm40aCtFUVdrTmtiNFN3SmNxa1lqQkdrcUF0?=
 =?utf-8?B?eVd4c2ZjdzY1RG1OTHdkckVwdUVXMDQyOXVYbWliOGZJNEJHVHE4R0FmU1ZJ?=
 =?utf-8?B?MkRGdjVBa3M0WTZHRmx4VG84RUVmMnNreENkYjFad0R4cWE4enhYYkZPTWw3?=
 =?utf-8?Q?9FRKE+qLJsaRmUI39rHCrXQ=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: eeacef23-8a04-40cd-8e23-08d9df54717e
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jan 2022 16:13:22.5876
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EWG+COFerUATD78ii8JFVUF6h8t7hogMYqsKrsbiw9tYHRD3itd25KEI+uCDjGK+OVVkzR3bE3IarX477msbgw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4059
X-OriginatorOrg: citrix.com

RMRRs are setup ahead of populating the p2m and hence the ASSERT when
populating the low 1MB needs to be relaxed when it finds an existing
entry: it's either RAM or a RMRR resulting from the IOMMU setup.

Rework the logic a bit and introduce a local mfn variable in order to
assert that if the gfn is populated and not RAM it is an identity map.

Fixes: 6b4f6a31ac ('x86/PVH: de-duplicate mappings for first Mb of Dom0 memory')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes since v1:
 - Fix indentation.
 - Expand existing assert.
---
 xen/arch/x86/hvm/dom0_build.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c
index b00e45885c..63dceb2116 100644
--- a/xen/arch/x86/hvm/dom0_build.c
+++ b/xen/arch/x86/hvm/dom0_build.c
@@ -466,11 +466,16 @@ static int __init pvh_populate_p2m(struct domain *d)
     for ( i = rc = 0; i < MB1_PAGES; ++i )
     {
         p2m_type_t p2mt;
+        mfn_t mfn = get_gfn_query(d, i, &p2mt);
 
-        if ( mfn_eq(get_gfn_query(d, i, &p2mt), INVALID_MFN) )
+        if ( mfn_eq(mfn, INVALID_MFN) )
             rc = set_mmio_p2m_entry(d, _gfn(i), _mfn(i), PAGE_ORDER_4K);
         else
-            ASSERT(p2mt == p2m_ram_rw);
+            /*
+             * If the p2m entry is already set it must belong to a RMRR and
+             * already be identity mapped, or be a RAM region.
+             */
+            ASSERT(p2mt == p2m_ram_rw || mfn_eq(mfn, _mfn(i)));
         put_gfn(d, i);
         if ( rc )
         {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 16:25:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 16:25:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259920.448707 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC29J-0002te-51; Mon, 24 Jan 2022 16:24:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259920.448707; Mon, 24 Jan 2022 16: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 1nC29J-0002tX-24; Mon, 24 Jan 2022 16:24:57 +0000
Received: by outflank-mailman (input) for mailman id 259920;
 Mon, 24 Jan 2022 16:24:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=REvy=SI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nC29H-0002tR-Dm
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 16:24:55 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 292c2866-7d32-11ec-8fa7-f31e035a9116;
 Mon, 24 Jan 2022 17:24:53 +0100 (CET)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2057.outbound.protection.outlook.com [104.47.12.57]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-34-FVMDoZwRNOWNThcwuZG_8Q-1; Mon, 24 Jan 2022 17:24:52 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by PR3PR04MB7273.eurprd04.prod.outlook.com (2603:10a6:102:89::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Mon, 24 Jan
 2022 16:24:50 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.017; Mon, 24 Jan 2022
 16:24:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 292c2866-7d32-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643041493;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=XJCpdDZul5aslzNFf+cOi/5hQjqSyEBcGBEvuVE1lGs=;
	b=BP4m3ZB3osTL8x6WHuDktMEHSYFQpLarWlRbfpK7vspPiUKoMVoHsnKHwnXJDBoA7AoJ8w
	6dK7eSSrXuEwuInzLklZqyrcbi5Se4w2n+hCTlbZlxoIJjPzLtb6G1CUl+5aWuYrfFjuoV
	+SyixZQ2oUHHB4BUmbg6/juDcHHF9gU=
X-MC-Unique: FVMDoZwRNOWNThcwuZG_8Q-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hf/C3pk5uufXXxXCJOfVZEa+lArlCDfQgwsoR3Kr98Bin890kVAygXbfBNoZPvy63PfLpo+IfZaWB8slyxEkjhAGP+4Elt/kl05a9QH0AXmiod0vc90CO1oRNDtqG6zbvXmgHvYGa1gK+akheS4j2IMqOmiroaaUiIaObJymjUCHA6YfRYcp1B1FVxmhtMunVAOp4oPYJWr9m09L4TSKpBH1w81sLIb3fwXFKDNPnc7Jb6sf+gnrAB9np5IsCLDZkZaL88viB7WNXPnVYkGWqrcutmldOLKojH4Uulkz4Xjn3PIEUhoAOQCeQ6hxkrwrbg9gZun7nHVNZDr2OcUwjg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XJCpdDZul5aslzNFf+cOi/5hQjqSyEBcGBEvuVE1lGs=;
 b=jDC/M7HZusL7YjXhx4/4KNdltAZEKDuK72nK3eplq7MC3cYbQbuSqlP/nfcv5puP/r36ffl/Zgg2rGXzsEKfPaUmYDQzAl6fgPtF3JYsiVA4bovIVjbpyqQjKObOvUHHiqcMGauaLAq3tnhFqwrdQyKdOJxLIkiPZNnTHc8y74Qy4kcmcjHvCmVEOV5BPk2bR/hA8cBDaAPdfDugr4qcwrCJygj/i+Slz7g3ny/VT+ktg1eNpyi2JW2NmZiZLUwp1uE0uaxm4fktsduqq78ECTIn5ILG3H53LtOcu7mW/pp4WLeMCw0dcNmSD8BC133iW85MwPN2W6ko5vhf30BA3Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9b5756ec-2ec8-c796-e894-4cf4cfa67ff8@suse.com>
Date: Mon, 24 Jan 2022 17:24:48 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 09/37] xen/x86: introduce two helpers to access memory
 hotplug end
Content-Language: en-US
To: Wei Chen <wei.chen@arm.com>
Cc: Bertrand.Marquis@arm.com, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, julien@xen.org
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-10-wei.chen@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20210923120236.3692135-10-wei.chen@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0324.eurprd06.prod.outlook.com
 (2603:10a6:20b:45b::13) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3100017e-2ea2-4e0d-d5bd-08d9df560b92
X-MS-TrafficTypeDiagnostic: PR3PR04MB7273:EE_
X-Microsoft-Antispam-PRVS:
	<PR3PR04MB7273534DF258B8594BCF5FA9B35E9@PR3PR04MB7273.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:628;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	KnAld3YBWUZ+Za7DEQczkpSvf3avc6ZAQbUz1bs2wUv0elzriyZLMxyGCzFoEGrg1TrD/0vG5nHLY7X254JOAOI2LEPS+bH5RFLBDiNwFEeEOlHZTpU73sqNzQyC9aoHEyBIH/YuruLl5jZSvSP3gno4jd3IrgOcJil8mjnwXoI3UJRk/GU/TtpnTrmOzL9rFJz0LkfJFidvf4E9ylaiJDKfsIVh/ej4gvMHo9yCfrSNqH1B9gP2uy0fV3goVet4Rm0kcD6qMgCeGVbqDnXUERdJC/9dvl4Weglx7+b2IY8kXSsgROAe3K3AXUQFqN0i4B9YiVCW95LvOWZasX9OVb9bLUlNE3ZQerKz+eLZbDQ0ThJ42cyhuU5eBgDgR4d9x0wkTztzwLxqF/Em6KxHyLqhbeOUSygxoRU+3BwIgttOsYuMnOKVxxCfyHqAu3aetO45wyQ9Qvp70vUcQdt5mTspgIgARaqrngTNbiCJf0vvdvdO2NGJDSID/v1/jF1u6765/5s9M6/ZEM43vJeAOIfoQdhUZYQXQXCwRs9HnBFKOTmGEZf2FSJNJluBx6G4RkNyXIn1okxwa6noQWGaiL7OJrVrN+nkAfRoV3N7IFWArhNcI2TrxFEakGQPXBQTLmTTHNMnTRkU8O3Sg4SUZ1LgpxpnUXmn/otDkIUuhxe0thZ4IPA1E7rVeoVDEZ0iG1DfxYaflAYznwRdw6NYZGnHULOm3Njtsb6Rs3fA9laYbsyYVyJvrHBAq1E66ipb
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)(36756003)(6916009)(6506007)(8936002)(31686004)(83380400001)(66946007)(8676002)(26005)(186003)(53546011)(508600001)(31696002)(4326008)(2616005)(86362001)(5660300002)(38100700002)(316002)(6512007)(6486002)(2906002)(66476007)(66556008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Q2Z0UGI5ZFI0K0NRbFlRSmdxQWZPS1gxRDJ6Q2xXaHRFcnpZdVhNTFhac0lQ?=
 =?utf-8?B?TkdUQ2FjVmd4aGpwbE5XVHliUEdsS2xraElpS01wanBLOHlDOWlmNVN3VXRB?=
 =?utf-8?B?ZlU4aGpFdnVWcVQyckovL2Fya1pOOGJpZUpRTnZaTXQ1c3FNN1haaWZIVnJH?=
 =?utf-8?B?TmN0TDFaR2oyOTVSdHhQVGFURTNpT21XV2JBVmZEdWlST1JDTFczSzNOUmlC?=
 =?utf-8?B?dDRLejdVWGtYVklnZHlDYVJkRElnNjMxbzhRdjFLc29icitlZlBwdDJISmda?=
 =?utf-8?B?N3FKTk55VHlXb2p5UjI5UG1MN2hsSDYvcSt2Sjk1TjNJc3J0ME54U2IxVCtq?=
 =?utf-8?B?bWpVNXBLVlAzVmtwcUN0VGxDSThzSWFXTjU2Umk1bjFYK1U3a0tpaDgvRVRa?=
 =?utf-8?B?ak5NVTEydGxCbDJTS0hNZWxDMEpuUDRiR1BCUFlaZ1ZzTlJTTjNHVGlmaXJU?=
 =?utf-8?B?QmEvS0hvVjU3TytmMHFWU2Y4aFUxby9aalBhdnYwaktkZzVUbVh0bU51UEMz?=
 =?utf-8?B?cE44cGZrcXhHTzEzQ1p3VDIwYWZRTFNOOFAvcHVYcEpmM0dRTXZYTERQMDJK?=
 =?utf-8?B?Mk85T1FiMUk0Um5rT0ZTRVJNcEpnL0IxTFZFc2xGSGp3bnVZUXFRdHZ6VGt2?=
 =?utf-8?B?UktUbDl5VWM4RGJPQU8wdFNzNDF3ekJkbDZOZ2o1bjN0SERUWXhOR1BscVVL?=
 =?utf-8?B?LzdjTmxXdmdiUmRDcnJacXJ6QkhNaG9JYTMzdEROL1VRRy9QMjNyUDhEblJS?=
 =?utf-8?B?WjlBa2RQNG1GZ0VUaEtuZFc3VWZYR3dRUWZEK2FxMC9RTXZUNURpQ0ZKYjZP?=
 =?utf-8?B?S3FCamkxZ0orNXdOQWo3bFNacGU4dy9IVVIveVg4UTh2bS8vbjB6TFczYXlD?=
 =?utf-8?B?UngvQWFGYmtCczM4VXg5RmdKNWxkekVWUHh5dkNlTVRpOTlnY29ua0JtRGEy?=
 =?utf-8?B?d1pWcFQ1RlFYcC9FR01PWk9KRDN2Z3BVSjFzUXpTZjR3Q25KamF5dTcvck9S?=
 =?utf-8?B?aXowNXZLbFNob2tzU1RtQmxmOVRtMkx4b3ZtWkpVZVJPMlIzUjBjc1FYdE1u?=
 =?utf-8?B?RjBFRzRJUnlManM5MTVkbmZmbFliVzhjbmYzU2NPTXNHS3hQbnpGN2N0K0dH?=
 =?utf-8?B?Qi9PK2huY1hWbkVvbDJ5NTcwM3BPbUdzTXMvL1hFTVNFZ0srRkgxdXVIOENT?=
 =?utf-8?B?RUFxLzhtZjJ5a1FzMGNDNlRwQ3ZPUi83WkRJbkEvNWJDcS9OcmxPWHh4Nmtq?=
 =?utf-8?B?RkpycTFmRmk4RjFSc0Fiem5HQSsvT25QMWRlRkdIVjZnVUE5K2RvdkZnTkdZ?=
 =?utf-8?B?M2I1cXBNN0tjVVVFT0hiSHNDS1FydEZqV2VCZUJEenVFYnVlUHkyRmFQRzdO?=
 =?utf-8?B?VUhIUmc5aWhxZkE5ZkxvRndLcjRuRlYwVE9Pc29RMXorc2NpVkJjNVhQOFVG?=
 =?utf-8?B?OHpVRG1Lc2FlWVVzQlRqUWVDYzFvQ1NvcTNPaE51bkt5djIrOE5ZSVlUdVRp?=
 =?utf-8?B?NGRXZTlINmhQelFvS1A4M3VTczhNV1ZucDQ4eFIwS0cxMUFQNVJVVUQ4Q2lD?=
 =?utf-8?B?ZjRuV05nTUJtUm5zeG1oS1VieUlqRUYwTExQM0NTKzRXVGdVZlNad3JlVW92?=
 =?utf-8?B?OE5zbkR2NVNCaWNUalkwRzF4c1cwZXQ5Zk9KNGU0WjkrdDUxaVB2dDY4UnZR?=
 =?utf-8?B?K1dCVGdzZnloK1pBbS9jcElKZHVUY2I2VHM4YkNqcnVOY3p5Z3hUdjY1OG8v?=
 =?utf-8?B?Vy9sOFhKQ1ZGWUNwTzhuV3N5VWgwUHBXdUZESmFuR0xncEszb0o3cExxYkpL?=
 =?utf-8?B?eEJLVVJBczZoSTdISEF1dFg5V0NwZkFyOWkzemQ4Tk4zeXhJU3NreWw1blFM?=
 =?utf-8?B?b3dYQmJSek9JSnZnWGZaY1ZxOFI2dFM1ZVpENkNaaTRXWVNZTzc0MExRMkJC?=
 =?utf-8?B?SWZvZ1MzNGlIdDcxS2RVU2IyY0w2MXRaWUZtMGwySVRiR3BudmQrUXJsK2lr?=
 =?utf-8?B?ZG9xTVl5MnQxZEdrYW4rKzk2L1FsOFBUZExob1J0cFhYQVFJZkR0ODJkTUdV?=
 =?utf-8?B?T3pZQkF6eXFYcU8xS2ZabUpZWkRlMmtMQy84QWtOaTFJVHB0ZTArbm4vMmVm?=
 =?utf-8?B?Uml1MzN1NU5zeHRUVmxrU1IrUksxbGs0cnpaWVRXbXArSkx2Q256c1pDckVa?=
 =?utf-8?Q?Knga/r8/Zrs7kCzcZNSmQFk=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3100017e-2ea2-4e0d-d5bd-08d9df560b92
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jan 2022 16:24:50.5528
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZMSfS3EyX90ZzJljg5ad3WDv2jFoGPCL6cKhUa2jg4AcRUdOPAMVu/SwgMCVm3WXyWMnEt0PBEjU9zTmN9dLwQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7273

On 23.09.2021 14:02, Wei Chen wrote:
> x86 provides a mem_hotplug to maintain the end of memory hotplug
> end address. This variable can be accessed out of mm.c. We want
> some code out of mm.c can be reused by other architectures without
> memory hotplug ability. So in this patch, we introduce these two
> helpers to replace mem_hotplug direct access. This will give the
> ability to stub these two API.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>  xen/include/asm-x86/mm.h | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/xen/include/asm-x86/mm.h b/xen/include/asm-x86/mm.h
> index cb90527499..af2fc4b0cd 100644
> --- a/xen/include/asm-x86/mm.h
> +++ b/xen/include/asm-x86/mm.h
> @@ -475,6 +475,16 @@ static inline int get_page_and_type(struct page_info *page,
>  
>  extern paddr_t mem_hotplug;
>  
> +static inline void mem_hotplug_update_boundary(paddr_t end)
> +{
> +    mem_hotplug = end;
> +}
> +
> +static inline paddr_t mem_hotplug_boundary(void)
> +{
> +    return mem_hotplug;
> +}
> +
>  /******************************************************************************
>   * With shadow pagetables, the different kinds of address start
>   * to get get confusing.

Imo for this to make sense you want to also use the new functions
right away in the place(s) where the direct access(es) get(s) in
your way.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 16:30:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 16:30:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259924.448718 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC2EE-0003lU-Pc; Mon, 24 Jan 2022 16:30:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259924.448718; Mon, 24 Jan 2022 16:30:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC2EE-0003kQ-Le; Mon, 24 Jan 2022 16:30:02 +0000
Received: by outflank-mailman (input) for mailman id 259924;
 Mon, 24 Jan 2022 16:30:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=REvy=SI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nC2ED-0003YC-AF
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 16:30:01 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dfedff82-7d32-11ec-bc18-3156f6d857e4;
 Mon, 24 Jan 2022 17:30:00 +0100 (CET)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2055.outbound.protection.outlook.com [104.47.12.55]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-41-AD_ZMNXaPPuiPgxuEKufKw-1; Mon, 24 Jan 2022 17:29:58 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM5PR0402MB2930.eurprd04.prod.outlook.com (2603:10a6:203:9a::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Mon, 24 Jan
 2022 16:29:56 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.017; Mon, 24 Jan 2022
 16:29: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: dfedff82-7d32-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643041800;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=x0TkUH3x/EEJXXR+NO6BZEI51INDb8h8sa/CRb7WX84=;
	b=hWYJ5m671aaM+P/PWUgfTlvYi7I27j3HrSVk+zmBKDENil8UQoxMgXIqPDFdiFdufeGW2n
	0O6ePfkq0Z/xNZL76TTHEiX4W7soPDXaYsE7Qr05CEvUvV36LRZEdEf/B8APzLPp5EcwgZ
	TZ73hH8KidW2uEPAeU6voPypiUsndDo=
X-MC-Unique: AD_ZMNXaPPuiPgxuEKufKw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CzF9hMrq39QO4GC6/mlHoV+WuGeOpfZOA0jGPzKPxR8uvWxOOlgmwJqzRkAV5JEdtztDJta23g1wh0Ks1Rvvo9AVHBLDqrsw4XUDcoozI1gPovbqBpe34S2+XarG98h7OjuiTsvM2DcFnAUsHVLaSyfF2JIRgRGmM3W/RzePsxtynRYMxT/CNDPnVORNSguUHU0yjD3RQwGJXkvLZwn7DHdqoC0KM5UbsCbTvOC/6eRqqIvgXNdlJ7bMvkgln5adzHNXypUAi5yHWULRUmtZ79AqSH/2J3b/1ZRaD4Doy5v2+PaYPnS+zghNS8lRwgrMRXPA7VQtJvOXa4g3/qozVw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=x0TkUH3x/EEJXXR+NO6BZEI51INDb8h8sa/CRb7WX84=;
 b=GR85ErBUOAohNsbSrHAb3XWRYWXMTeEt4l75Zno+ZiI9VE5lOhfKO/yKMbOi3QSmryISke8upANYm78JrqowEfXuL8q7xP7ELcAlx14zQuPQmMNHqEQJ6CAkdYjP3YZXeTDKXRCEu71qD0Ok5f86KVuhY6nH1/nritUJvhmsUWMP1hx52BFH6geq3QRlyoQ3IAejCnK0VGCnYJyBqAVm8sSTJVz/gAiwSCLxUHAZSqzjrwRlmFDUi4LVgEwl1otReskxkN8gfNAtuBE/LofDdmbLfBAeisGueZ9Csf5ARzKzVwCx97DuLTNJOYKk6naJ3Zk2WOhx7a9BhQsnLgK8FA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <66ef43da-fde2-7cb4-0b5c-a3ed7ceb139d@suse.com>
Date: Mon, 24 Jan 2022 17:29:54 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 10/37] xen/x86: use helpers to access/update mem_hotplug
Content-Language: en-US
To: Wei Chen <wei.chen@arm.com>
Cc: Bertrand.Marquis@arm.com, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, julien@xen.org
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-11-wei.chen@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20210923120236.3692135-11-wei.chen@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR1001CA0046.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:206:15::23) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b1de0df3-82a5-4a13-f5af-08d9df56c1d3
X-MS-TrafficTypeDiagnostic: AM5PR0402MB2930:EE_
X-Microsoft-Antispam-PRVS:
	<AM5PR0402MB293048C7B228E5FCD2190D22B35E9@AM5PR0402MB2930.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:
	TGXioKKMagZ6hRqBTN2T/sMlRXMhJlTS7/yNev/jK/Sl7KWJdYFYn63fTsN/r432rCnezYyI+j/2xSjmzC6XEO/OvOQQsgV+XifjeiC/uPH2y22V8h8U9/Ul43L/4+N2CtReQuEDtDTBK3zQPSPef/lmSA6/3mzt+Qlwv78rgaH2xubRTYTNdrRnRsxDJbjLk4I/joKGiaJE8FrbTyozx1mtnsI3q1TAl8SpG1Va5VGM+EeiwmLtkideQVrd307eg6TFEa3PwHMvL4aYPsaOXF/vZR/E22knJog+uD4n4UXyVA0pvpH6ObxxXHkvvO6D1fXBEyok9tMS3bFaUtotZMcsZHORTUgJ4Ouh1FM0/9f0+r4Rn2Bfw3YyVVpsqYDFShnOfJ0tMsLZOH6yj6lHAV2P7aWnd03pwCwacJsREtA00VPy3mj1tMRsciYX0Rt5YdQTNjv4twX9NB8B9VM0uge0QZKYm1/Ezp3ga1QbXsEbVf28Nwo4tYoGVvnIava4OENTcs43T/97UoKzp/RGxU3SPYbTO+KQEXFNaLnLN/lYi3VQD2kuYvKSZfCsycr12qlp/y5/dsTFMHoHAvi0455XU2/GFGYNO0xJ617EO2ktrjizRmlVU7N6vSP2q2idcpQQ0ks/ZadVvi//ANAX9+hi12bnu7x2tNAM1XteKuSHAG2MY/f84KTMF00Gb5EDp/NNARETFdEO/fp+OmRrVn6qnmJrikOadyD4NzfY5eKH6/O3cMNqiHHb7ETj39vg
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)(38100700002)(8936002)(8676002)(6916009)(2616005)(4744005)(66476007)(66556008)(66946007)(4326008)(5660300002)(6506007)(316002)(86362001)(6486002)(36756003)(6512007)(26005)(186003)(508600001)(2906002)(53546011)(31696002)(31686004)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b0xNRUs3R0UxQmluVXJ5R1RpaVVFWHNYQVhqZ1hGMWt5RXJ1OVk4RUtSRExq?=
 =?utf-8?B?WUlqY3pWU2VsUzN2cGNSVGJCZU44VE4xN08wNDJRbkhVZlp4Y0N3N0VyUHlM?=
 =?utf-8?B?ZHRvWm1jd1h6cnY1Z0NoY0lxVTh2VkVJNGJFMFVxMldsbXh3cENwUU9lajhU?=
 =?utf-8?B?Q1lLRnBWYWdJMlUvQkZ6TWRGbk5mWVQzM0l4TmFqSlVZK2g3K0NiR0xuTTR0?=
 =?utf-8?B?d001NHBwUldVMWRPd1RXMW5LYTVoWk9MSFFoR1pic2thalNMbnRrU0ZsbUZz?=
 =?utf-8?B?S3BtaGMyMVBCamh5UzUvZnlUU2lwODlJbkxvRVhYZ1h2NHh6L0xQNTFwU1dk?=
 =?utf-8?B?a2tCT2lMdTgydG43MG41STlvWCtRWWNRakp0dDk1K1U0VHZvdngybzROKzJI?=
 =?utf-8?B?czlZQjllaThLWG9sc0dlMk1NQ0tpRkwxZUJOODEwNGZtdGZ5bis5NHk5eHlM?=
 =?utf-8?B?STdWVVlhVXdIdVdSQWRuR3J5Z2pFMStvWitZUjVCcTIzRmFSWjVyVHFCcWsz?=
 =?utf-8?B?WVl0c1AxVmpjei9jVUM4eWhiV2pnWjN2WE9OZXQ1c3hyWkJpdVdtV2FQMmp0?=
 =?utf-8?B?MlZsamsrNW8zZWVnVDdvZ2I5ckcyUm1GeThQclRJZ3c5RmNHU1FidmRRS1RZ?=
 =?utf-8?B?eGVTb0drcCtzTFpIZlo5UUd2bGZqWWRVYWswT3A1R0Y0WHU2ZmJqRUtNaHJY?=
 =?utf-8?B?YmFqR003cjcrMmJSdXZ4ZHlzVzJGUDQrTjdndTBPODgvNjBadzhJeVY2azQ4?=
 =?utf-8?B?cU1ld2U2bTl4KzBhbW9nTXhDVkJ5eUk4UmFLUnFIWUJaRWkwSFRyYjdqME5S?=
 =?utf-8?B?WGdJRSs2SjdyVHhxcGgvcTR1TUdDUnM3MWE1TWUxZjQrK0hyTVJZeEQyYitJ?=
 =?utf-8?B?U0NsZXc3S0E5K2xOb2NjTFRjZ011a3NHM3JrdENzTWdLYiszeS80enBFa2hu?=
 =?utf-8?B?TTZnZ29XYkFRRVVRNHk2UGRWcmYxRE5tQTVkQm5vVWEwTG16WHVBYjVTMlpy?=
 =?utf-8?B?NEdlYzBKQnRUYjVuVmFEMEg0MjZ3Y08zcEdTb3VRMk5tK0svVjhQeFI2Vzll?=
 =?utf-8?B?OWEwaW9XWGxNYUN5d1QyMjYwOUNBSk5pVU1iTU5TMjVROUhYUU9OYThTMmJM?=
 =?utf-8?B?RHI3OFJFeTB5SzhmSmRiMWRpc3JQWmlSYmtvTnlnRmJCTEZ6NVllbHdnQWEr?=
 =?utf-8?B?NElyTUZDdGk5YWkzUkUyTnhoKy9ma2ZHam42bFBVRlUyYzVHRHhGYVNKN0Y5?=
 =?utf-8?B?d3hMRStTSXNnc1MvMnlWOUg3bWZ0aVJhMmROdEhObUF6ZlNlTlFmSlNMQWtU?=
 =?utf-8?B?OS9xczFhUGZNWHl0cHhXeUR4bEFTQSthQ2xickpXdGhSalJjdElPUHRRTnpn?=
 =?utf-8?B?QkFwaG1KTTczcFg2VTFsWjhGLzZNVnI1OC9DZ1lKeFp2LzR4bVlsd3BQUVg4?=
 =?utf-8?B?TnRvcVBwM3VvTTYvSVM0bDBRVUF1b205NGZndXdXaDYxTzdPaWg2ZzBJQnZB?=
 =?utf-8?B?bjcvR2tSYXN1cng5WE5iWFlmbTNUK2xIVmNpUGxWODcwaTJUMjRTOENOS1di?=
 =?utf-8?B?WmRTL3ltdzgrbTlkSlAwTWFNOXkzRHFMMThDK2xHY3I0VW9WczBhQ0JZRnZs?=
 =?utf-8?B?QTU1dlJpV3ZidHpVNnArS1VIcHJyRjRZeE5HdnUvYlF2YmNRTXNVRnA4bWg4?=
 =?utf-8?B?UEh1ajI1ZU9Iam45dm05Rit2Tkc3ZEY5ait2ZFArd0ZKODgyNlBBQWVMbFFS?=
 =?utf-8?B?azJKTWxQWnZ5Myt4SUVPeFJ1Q3YrdWxqNXJsL2V3cFFnYXlmU3lBRnNuNnB2?=
 =?utf-8?B?VG9hbXcwclpSajIvRmU0UHF3ejZPaWVpbVhuRkRvbm9KblhWTUFuSngvYnpG?=
 =?utf-8?B?Q3pYaWJwc2RPczM5aStmdGpUNEtOOHdsYzRPMmVHMVo0QmkrUTRNQy9yYktn?=
 =?utf-8?B?T0dWeDlqSE1LdmppRk9FUktMa0pJaDZ1dE1CbWk5eTB6ZkJNME8zZ3RQUE1j?=
 =?utf-8?B?aWI2dDBQeFVBT0lPUFE5aXJjT0VxR0toR0hSdTR6cVVWNUZYbUJ3eEQyczlP?=
 =?utf-8?B?WnBVR2Npa1E4c3ZnM0FCM2hlMEhVMXFMQzdlQ0JOTEFOa2RYVEhRTFgxRHgr?=
 =?utf-8?B?UEtpN0I1VlpwWTdleVpFTDgydmxnc01rQTlqdGxhaDlVTHNKZTRmbitQem9t?=
 =?utf-8?Q?c3ynHWwNpR9b8cnKABwxNi0=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b1de0df3-82a5-4a13-f5af-08d9df56c1d3
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jan 2022 16:29:56.3130
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wN2EYxI/uBDAEW55NfEMvceUfxFmWGP3oozhXh3UoQJwSoB0xg8DidTGOfr87ia0c/VGoLL6s42vLNTooLUfdA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0402MB2930

On 23.09.2021 14:02, Wei Chen wrote:
> --- a/xen/arch/x86/srat.c
> +++ b/xen/arch/x86/srat.c
> @@ -391,8 +391,8 @@ acpi_numa_memory_affinity_init(const struct acpi_srat_mem_affinity *ma)
>  	memblk_nodeid[num_node_memblks] = node;
>  	if (ma->flags & ACPI_SRAT_MEM_HOT_PLUGGABLE) {
>  		__set_bit(num_node_memblks, memblk_hotplug);
> -		if (end > mem_hotplug)
> -			mem_hotplug = end;
> +		if (end > mem_hotplug_boundary())
> +			mem_hotplug_update_boundary(end);

Can the if() please be folded into mem_hotplug_update_boundary(),
eliminating (at least for the purpose here) the need for the
separate mem_hotplug_boundary()? As said on the previous patch,
I think the two want folding.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 16:43:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 16:43:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259929.448730 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC2RP-0005qo-5s; Mon, 24 Jan 2022 16:43:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259929.448730; Mon, 24 Jan 2022 16:43:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC2RP-0005qh-1w; Mon, 24 Jan 2022 16:43:39 +0000
Received: by outflank-mailman (input) for mailman id 259929;
 Mon, 24 Jan 2022 16:43:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4ZXe=SI=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nC2RO-0005qb-44
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 16:43:38 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c64abd10-7d34-11ec-bc18-3156f6d857e4;
 Mon, 24 Jan 2022 17:43:36 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 75942B810FD;
 Mon, 24 Jan 2022 16:43:35 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A5AB9C340E5;
 Mon, 24 Jan 2022 16:43: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: c64abd10-7d34-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1643042614;
	bh=HrREaWHY3DAyMl8U0orzrUtiJHYyNjPRzbvbk1rj2q0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=jQdMME0snRbZyOSTP63GJkb3b+Adk8Nuj9w5yvdMa9HcYBa5FhuvVrezbZFU7YK+j
	 UlG9Se0mNWIy1F9+7fRCJVcPAvBjCbT47Ku2Hj7DGSyvasUhs21yK6goG65mEDkaGV
	 YA36KTyxQ03J3KvDDeBi7B3eN9nA2ZQxdWJie5hGt8smHcwp6RbbXZIdmpF+C6SJe+
	 r9f5R3a7kMB5UY5jgLSur2hdI/0nlIouHs5d0EHxZNQgZjSUS7wqd+UusLV2jm2X1I
	 qBxPemyPjUotwsd2krbd6SO/lB8bobq4D7PgtE4qaZWVAkGGjSsjmobd8YvDUyEMVu
	 /Qbufae9Y4CRg==
Date: Mon, 24 Jan 2022 08:43:32 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Ross Lagerwall <ross.lagerwall@citrix.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>, 
    Igor Druzhinin <igor.druzhinin@citrix.com>, 
    Paolo Bonzini <pbonzini@redhat.com>, 
    Richard Henderson <richard.henderson@linaro.org>, 
    Eduardo Habkost <eduardo@habkost.net>, 
    "Michael S. Tsirkin" <mst@redhat.com>, 
    Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, 
    xen-devel@lists.xenproject.org, qemu-devel@nongnu.org
Subject: Re: [PATCH v2] xen-mapcache: Avoid entry->lock overflow
In-Reply-To: <20220124104450.152481-1-ross.lagerwall@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2201240843130.27308@ubuntu-linux-20-04-desktop>
References: <20220124104450.152481-1-ross.lagerwall@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 24 Jan 2022, Ross Lagerwall wrote:
> In some cases, a particular mapcache entry may be mapped 256 times
> causing the lock field to wrap to 0. For example, this may happen when
> using emulated NVME and the guest submits a large scatter-gather write.
> At this point, the entry map be remapped causing QEMU to write the wrong
> data or crash (since remap is not atomic).
> 
> Avoid this overflow by increasing the lock field to a uint32_t and also
> detect it and abort rather than continuing regardless.
> 
> Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> Changes in v2: Change type to uint32_t since there is a hole there
> anyway. The struct size remains at 48 bytes on x86_64.
> 
>  hw/i386/xen/xen-mapcache.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/i386/xen/xen-mapcache.c b/hw/i386/xen/xen-mapcache.c
> index bd47c3d672..f2ef977963 100644
> --- a/hw/i386/xen/xen-mapcache.c
> +++ b/hw/i386/xen/xen-mapcache.c
> @@ -52,7 +52,7 @@ typedef struct MapCacheEntry {
>      hwaddr paddr_index;
>      uint8_t *vaddr_base;
>      unsigned long *valid_mapping;
> -    uint8_t lock;
> +    uint32_t lock;
>  #define XEN_MAPCACHE_ENTRY_DUMMY (1 << 0)
>      uint8_t flags;
>      hwaddr size;
> @@ -355,6 +355,12 @@ tryagain:
>      if (lock) {
>          MapCacheRev *reventry = g_malloc0(sizeof(MapCacheRev));
>          entry->lock++;
> +        if (entry->lock == 0) {
> +            fprintf(stderr,
> +                    "mapcache entry lock overflow: "TARGET_FMT_plx" -> %p\n",
> +                    entry->paddr_index, entry->vaddr_base);
> +            abort();
> +        }
>          reventry->dma = dma;
>          reventry->vaddr_req = mapcache->last_entry->vaddr_base + address_offset;
>          reventry->paddr_index = mapcache->last_entry->paddr_index;
> -- 
> 2.27.0
> 


From xen-devel-bounces@lists.xenproject.org Mon Jan 24 16:50:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 16:50:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259933.448741 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC2YP-0007G7-SL; Mon, 24 Jan 2022 16:50:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259933.448741; Mon, 24 Jan 2022 16:50:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC2YP-0007G0-PE; Mon, 24 Jan 2022 16:50:53 +0000
Received: by outflank-mailman (input) for mailman id 259933;
 Mon, 24 Jan 2022 16:50:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=REvy=SI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nC2YO-0007Fu-2Y
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 16:50:52 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c9327b91-7d35-11ec-8fa7-f31e035a9116;
 Mon, 24 Jan 2022 17:50:50 +0100 (CET)
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur03lp2055.outbound.protection.outlook.com [104.47.8.55]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-9-IhmMAS21NueJ4DMRsUtltA-1; Mon, 24 Jan 2022 17:50:49 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by HE1PR04MB3180.eurprd04.prod.outlook.com (2603:10a6:7:22::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Mon, 24 Jan
 2022 16:50:46 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.017; Mon, 24 Jan 2022
 16:50:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c9327b91-7d35-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643043050;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=Vl3ZW9vBs+LnjxVnGdQf5PMnVQBpFfSWqCX8MaY3c0E=;
	b=Qwo3kSr+X3X+wPFUtZTkug9lExMds3qtOpGZhxhGdAYjyfVfHmOe2NFaH0+1ceEwVG5x4x
	Li6CZouXG0lTuiy/7wXKxlhQHp4i9xswGgoaBWGj1X5MI4RPw1srQW6IKZfdKiHYJzVXlq
	WHl7I7KcZnE2TDPFzTxoNmuYLO6Wlzk=
X-MC-Unique: IhmMAS21NueJ4DMRsUtltA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Mivc1GTS2AiqjdUAnJA0MWiHtd+J8BDFBNecE7puT7g3Q7yKMDMD6prnUeHKBjqF0U1XnPTBgZQ/5LPSjNl0jRL4lHeXwi7/G/4hrUx8eV+2flDkCdG2ArX9Fy8HQQLxz+1h0VAwQ0XAJRHXyyXaoPd3Mq1G2kzRC/9mjaXVPNuSp8duuF1KK82htkatXUeIUeV7wos8alFP5AdA3ZmPjGbuUe3+mzi1bDgCkVDf0XR0XE1d1NjPQCuLS8Dl3Vt0vNKiZKJgFUcqCngRKOPaFuUS2o7ZDGXoxAfueg0nAyuGxr4+F03TeCWFuhPsHTOaBWTaORqiSi6/+YAK5qaF0A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Vl3ZW9vBs+LnjxVnGdQf5PMnVQBpFfSWqCX8MaY3c0E=;
 b=oXZ7bUaAjV2jCZs/Q966sndmteUnk+qlNEFx904Kw3tOxikbCoOpqW9oK9cEyN+CxFRAu3TAC+rua7w4UJ2MQ2dVaDly+AdiXuUIVTsSqN34/kRPcn17WIci9Xrz8iia+gxbnWw0U7DdqxY9DCKdB6HbtyrDWVxiEDa/9uANWW0dU4BU/Enqep+kBvgdIz/oRwlJu0jU1nduSXjY4fQphR2GyOpP7ItEt3H0M2X1ppelK88AWOog8dYVy6nwEcJyZz6wynyYgnxoDVCBvwPStlOVKxeLhutgLBQL2V//t9dZTB1cVTDhIv6ywGR9rfFzbh151NJYfeaMuvZrfnkbQw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <46759708-36a8-fcde-d0dc-f73401491cbc@suse.com>
Date: Mon, 24 Jan 2022 17:50:44 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 11/37] xen/x86: abstract neutral code from
 acpi_numa_memory_affinity_init
Content-Language: en-US
To: Wei Chen <wei.chen@arm.com>
Cc: Bertrand.Marquis@arm.com, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, julien@xen.org
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-12-wei.chen@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20210923120236.3692135-12-wei.chen@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR0301CA0017.eurprd03.prod.outlook.com
 (2603:10a6:206:14::30) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 910c2b84-14d5-48b8-8e37-08d9df59ab2f
X-MS-TrafficTypeDiagnostic: HE1PR04MB3180:EE_
X-Microsoft-Antispam-PRVS:
	<HE1PR04MB318043264AFA9902FC8B1748B35E9@HE1PR04MB3180.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:
	0kNOtAZ6kHmops37MyPag8CYxvlRUGnUIEYvdw0STxcYLZWmPDgbfkTks+sCcK2KLVl+hf7QZ4MIvMulys94aoG2qPtEvhsmJziKjfc+1YJyg0lqvTfnXPbCqVA9vRZGRAG4gRhbdFITNXvl0QaRGvw3PofiY8inS5csut/peQZmxeu0QmFT8kUqiTupn6c+M8yM6ymSXHRNcfbxAR7rAaYTlLuU7hfjaGsDOR7XjkKmSHxA1lZ1ahU0oJt1M4fTQgIEWVwreAkt2UKQfMeUeZmcpN0R8nX699BW4Ujnd4YqrLDV9rWUJvXDWtFu/Ic+guD4P5P5C8oQ/TIhoRNJ3hA6XqmXDIXB2kfbiHmc1Pev0whRc+dod4Z+pHQ6h72ZlSAebBTdnEdnp55F0teGg5X7eh07bg2UZkvsP/+owsKyLmTabzkjLLYMV/zPy+h0loD4nVAWhfvHCG4Qs+4YqWHRO6eEXzE7xWMcZHdTDGFWwNn0NbKEiSnETwxlcyKXRrUPSktD2SnwiS4tWUKF0IrIUpouTEGC8f2X1LJw1PF5OpwVtjQIgUz+PIXpqzLFnTAyqhGt3QQOEkVExGCKxC+Tx6IWCHO/YKSgWWBZVuKXZubyXlmPPg2rBxj1AsJRD7hEqY149zV06uBqSFImh9HnX3CBbgHgdLMfQJXwRBjCJMxY5puaiL42fld7pWAhGkgUTGc0vprPiCGv7zby5aKZRYpOJK18GUh9MCZ+ED7J1E2HC7QYwiKcy0Ne8FH5
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)(2906002)(6916009)(66946007)(316002)(6486002)(508600001)(186003)(86362001)(6512007)(31696002)(5660300002)(8936002)(8676002)(26005)(66556008)(66476007)(31686004)(38100700002)(36756003)(2616005)(53546011)(6506007)(83380400001)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cFFrckp4NTlDT3B1aVBxZWVvYm1zRjhHaVhPSEJhM3l0THdocEVUOFU3QmRq?=
 =?utf-8?B?ZU9iUUo3enN0ek9qQWxYcHppM1VEc2lpbXpXcHN4V2QrSVRrUGZzaVNiazBH?=
 =?utf-8?B?NmtoRFhnWDYzV0xZZ1NTZXN2OHJONDVLWnFZY2w5ei85dCtVVEp2eGRibzBB?=
 =?utf-8?B?aG11WDQ0T0hoRjdUSFMwamo5Y2plcTlpUEZOZk1vOHlXZ3E2eFFNbkVsZldW?=
 =?utf-8?B?VUFBY2c4V2t3OG9lOGNtczNsVmxpNXVMRHZQNFpFdThDM0d2Qi9kSWlKZmIr?=
 =?utf-8?B?Q09aYlUwWnlnMUliYVBta1FqaUlWSkJ6dzkvajNQOVhVS0NJUEJxcURHSlRH?=
 =?utf-8?B?QlJHZHJuT1JPbUVqR3dzVllDQndBQnNQSnBlVkZ0YzBqR1FtUFBJZE45dWps?=
 =?utf-8?B?K1ZvMDc4YTJGa21TRXk3Tjh2MTcrMTVrRWt2b2h6UHVta0drVGJoa3ZscTEv?=
 =?utf-8?B?ek1XSDc3VnRVVmdnNy9wR1d3UHdiUEJGYmZSWG5qVFpIeWE0MUlPWUVaa0Ri?=
 =?utf-8?B?N0JTQTRURXMrajBWK1NsMWNCV1kvWHVxdDFTYmhibzNGMExHOFBvVFl3alVU?=
 =?utf-8?B?NVptOTZiMHlaSXJaaUpGeGFiZDFzcE1aL05aMG83WXZ4SnhOUlZscDZKWVY2?=
 =?utf-8?B?TlQwRXgvSjdxWXdFQUhDa2R6NEZzUVJ1SjJSd2VTSnNsVTNxM2plUlFWdzZK?=
 =?utf-8?B?aG1hdnRwQk5QcHpka1ovVmFJODN5bGFTMTRlVjB1bGw2QlBkWmFYOEZwcUpQ?=
 =?utf-8?B?VlBQYzhEZ2N6S3BSMVRubmM4UEJnaVFoTS92ZCswUWN4bTNrQ0J6QTRQUDZX?=
 =?utf-8?B?RTVDc2xGV0RkUDFWV3k3QWF6SUo5bWZhVklpSEV1VGRpSnZnZ0w3T0dscE5M?=
 =?utf-8?B?SWpsdk1FTzFBdG80ZGFPeVFScVRBdTE2bmRFU3N6VVJyVFFJUDRPZW9kbTlW?=
 =?utf-8?B?SUNxN0FhNkIxMVVadnpZSjl5SUI3NFc4TERvY2xyQVdxN1VmYlZYT3VrUXBa?=
 =?utf-8?B?d3dTT0tIWUpwMDVLOFgyR1RnMXAvUlJGRndXV3B0OUttSE4zR2daMzNTUGRJ?=
 =?utf-8?B?WVBhQ0FBLy9lTTZIdUFWMlI3ZGJ1eGxkeVBvQ1ByU0pXNkU4WGtRWndkZFNp?=
 =?utf-8?B?eWFnZkF6c0ZaUzc3MkFOaUlGblhWOVJxZGdndUNkVFV0V1QxQVpPUlYxOTAw?=
 =?utf-8?B?QSs1MFdZdlFwTWprbEZCVmZKREZ2dVdkMTZlLzh3S1N6M0hOYTNFVWxpMDVE?=
 =?utf-8?B?cFh4cUF0VWJPQ3Zia3BiQXpkY01zVWc4SzVsZGczRXdqNG9PKzZmZFJRZVhD?=
 =?utf-8?B?UC9HRWNIRHJnbDBiNWU5cUJrcFEwNzAwL2oyWm1XS0tlQ3VKSjk4VnppV1lr?=
 =?utf-8?B?Uk5LMWI1SWhSbUNCcVgrRkRTNVlCZ1VYbWpQOFBKb1FPNGxlRmhNelhwQVlp?=
 =?utf-8?B?akdWTXhPZ05VS0dSTmtwWkcwUTlhaWsrQ2VvR0pKZ0s4SDI2Vk5JUERYd2Zn?=
 =?utf-8?B?SGo5Tit6dC9COTY5M2kyczVDVko3SVFlVGZMRURBb0dkUHFqbVdTWGoxUlNj?=
 =?utf-8?B?Y3hOR3EwSlV2QVh4SWFpbVR3T3o5bXVLT21zZUhGWTJHYW5HT2xrajVlY1Vy?=
 =?utf-8?B?YlIvMlhQRFVKZ1JyYWxPeVc5LzNyRiszODE1QmozU0srVTJRc3Q2Y3FndmNy?=
 =?utf-8?B?bnR2U2VBSkI5dzByRFh0VWhMM0VSUjJOdmp6WCtsekk3WGZBcUhxem1BbE1Y?=
 =?utf-8?B?ZklBdzZsTWM0ODZrb3FQaVpudFdCM2tFOGVmbU9wQStlN3BSNW5LMm5QNkhK?=
 =?utf-8?B?am93RFhtU0cyeG9rZXhsSXNBVmVVajYzR2lCS1g3NHVYNUluRHFxaXRIQTB2?=
 =?utf-8?B?ZXFTbWVIbFNtTjRsckxXSVREYjBFQ2dtcjVPVitWaUxON0JaVmVuN1YyV3Uv?=
 =?utf-8?B?U3BOaVVQWWgxMStvRjV6azh5SjBkMEVNbjVmUHd6UzZCRjduTG1mbmxGcm1P?=
 =?utf-8?B?dDYvQUNEZ0NXSFI1OFJuQ3VVY1N1bXNzK1pNQjhoL2hHMlpxUlVINE16WjVT?=
 =?utf-8?B?anVXeDY4eHVvY05HYTV2cWVUYitYUE9FMmxGTUZSUEdlWnJkQUQwbHVlWVhJ?=
 =?utf-8?B?Y1BiKzlIbkJQemI2eWdyMHNId21xSnRsYjdBTms1TjZUbWgvcjFDTHJNRGJ2?=
 =?utf-8?Q?jDI/NqoiYYxIT80zOqBIB9s=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 910c2b84-14d5-48b8-8e37-08d9df59ab2f
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jan 2022 16:50:46.8208
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zU4tOe/K+MaV1yJGpzQ6v377jmEXhMfYqtWG4UP1C9J468dsQShr80Cr1NiCKwIL60sLbU7hSH9StlVRdnO37A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR04MB3180

On 23.09.2021 14:02, Wei Chen wrote:
> There is some code in acpi_numa_memory_affinity_init to update node
> memory range and update node_memblk_range array. This code is not
> ACPI specific, it can be shared by other NUMA implementation, like
> device tree based NUMA implementation.
> 
> So in this patch, we abstract this memory range and blocks relative
> code to a new function. This will avoid exporting static variables
> like node_memblk_range. And the PXM in neutral code print messages
> have been replaced by NODE, as PXM is ACPI specific.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>

SRAT is an ACPI concept, which I assume has no meaning with DT. Hence
any generically usable logic here wants, I think, separating out into
a file which is not SRAT-specific (peeking ahead, specifically not a
file named "numa_srat.c"). This may in turn require some more though
regarding the proper split between the stuff remaining in srat.c and
the stuff becoming kind of library code. In particular this may mean
moving some of the static variables as well, and with them perhaps
some further functions (while I did peek ahead, I didn't look closely
at the later patch doing the actual movement). And it is then hard to
see why the separation needs to happen in two steps - you could move
the generically usable code to a new file right away.

> --- a/xen/arch/x86/srat.c
> +++ b/xen/arch/x86/srat.c
> @@ -104,6 +104,14 @@ nodeid_t setup_node(unsigned pxm)
>  	return node;
>  }
>  
> +bool __init numa_memblks_available(void)
> +{
> +	if (num_node_memblks < NR_NODE_MEMBLKS)
> +		return true;
> +
> +	return false;
> +}

Please can you avoid expressing things in more complex than necessary
ways? Here I don't see why it can't just be

bool __init numa_memblks_available(void)
{
	return num_node_memblks < NR_NODE_MEMBLKS;
}

> @@ -301,69 +309,35 @@ static bool __init is_node_memory_continuous(nodeid_t nid,
>  	return true;
>  }
>  
> -/* Callback for parsing of the Proximity Domain <-> Memory Area mappings */
> -void __init
> -acpi_numa_memory_affinity_init(const struct acpi_srat_mem_affinity *ma)
> +/* Neutral NUMA memory affinity init function for ACPI and DT */
> +int __init numa_update_node_memblks(nodeid_t node,
> +		paddr_t start, paddr_t size, bool hotplug)

Indentation.

>  {
> -	paddr_t start, end;
> -	unsigned pxm;
> -	nodeid_t node;
> +	paddr_t end = start + size;
>  	int i;
>  
> -	if (srat_disabled())
> -		return;
> -	if (ma->header.length != sizeof(struct acpi_srat_mem_affinity)) {
> -		bad_srat();
> -		return;
> -	}
> -	if (!(ma->flags & ACPI_SRAT_MEM_ENABLED))
> -		return;
> -
> -	start = ma->base_address;
> -	end = start + ma->length;
> -	/* Supplement the heuristics in l1tf_calculations(). */
> -	l1tf_safe_maddr = max(l1tf_safe_maddr, ROUNDUP(end, PAGE_SIZE));
> -
> -	if (num_node_memblks >= NR_NODE_MEMBLKS)
> -	{
> -		dprintk(XENLOG_WARNING,
> -                "Too many numa entry, try bigger NR_NODE_MEMBLKS \n");
> -		bad_srat();
> -		return;
> -	}
> -
> -	pxm = ma->proximity_domain;
> -	if (srat_rev < 2)
> -		pxm &= 0xff;
> -	node = setup_node(pxm);
> -	if (node == NUMA_NO_NODE) {
> -		bad_srat();
> -		return;
> -	}
> -	/* It is fine to add this area to the nodes data it will be used later*/
> +	/* It is fine to add this area to the nodes data it will be used later */
>  	i = conflicting_memblks(start, end);
>  	if (i < 0)
>  		/* everything fine */;
>  	else if (memblk_nodeid[i] == node) {
> -		bool mismatch = !(ma->flags & ACPI_SRAT_MEM_HOT_PLUGGABLE) !=
> -		                !test_bit(i, memblk_hotplug);
> +		bool mismatch = !hotplug != !test_bit(i, memblk_hotplug);
>  
> -		printk("%sSRAT: PXM %u (%"PRIpaddr"-%"PRIpaddr") overlaps with itself (%"PRIpaddr"-%"PRIpaddr")\n",
> -		       mismatch ? KERN_ERR : KERN_WARNING, pxm, start, end,
> +		printk("%sSRAT: NODE %u (%"PRIpaddr"-%"PRIpaddr") overlaps with itself (%"PRIpaddr"-%"PRIpaddr")\n",

Nit: Unlike PXM, which is an acronym, "node" doesn't want to be all upper
case.

Also did you check that the node <-> PXM association is known to a reader
of a log at this point in time?

> +		       mismatch ? KERN_ERR : KERN_WARNING, node, start, end,
>  		       node_memblk_range[i].start, node_memblk_range[i].end);
>  		if (mismatch) {
> -			bad_srat();
> -			return;
> +			return -1;
>  		}
>  	} else {
>  		printk(KERN_ERR
> -		       "SRAT: PXM %u (%"PRIpaddr"-%"PRIpaddr") overlaps with PXM %u (%"PRIpaddr"-%"PRIpaddr")\n",
> -		       pxm, start, end, node_to_pxm(memblk_nodeid[i]),
> +		       "SRAT: NODE %u (%"PRIpaddr"-%"PRIpaddr") overlaps with NODE %u (%"PRIpaddr"-%"PRIpaddr")\n",
> +		       node, start, end, memblk_nodeid[i],
>  		       node_memblk_range[i].start, node_memblk_range[i].end);
> -		bad_srat();
> -		return;
> +		return -1;

Please no -1 return values. Either a function means to return boolean,
in which case it should use bool / true / false, or it means to return
a proper errno-style error code.

> @@ -375,26 +349,69 @@ acpi_numa_memory_affinity_init(const struct acpi_srat_mem_affinity *ma)
>  			if (nd->end < end)
>  				nd->end = end;
>  
> -			/* Check whether this range contains memory for other nodes */
> -			if (!is_node_memory_continuous(node, nd->start, nd->end)) {
> -				bad_srat();
> -				return;
> -			}
> +			if (!is_node_memory_continuous(node, nd->start, nd->end))
> +				return -1;
>  		}
>  	}
> -	printk(KERN_INFO "SRAT: Node %u PXM %u %"PRIpaddr"-%"PRIpaddr"%s\n",
> -	       node, pxm, start, end,
> -	       ma->flags & ACPI_SRAT_MEM_HOT_PLUGGABLE ? " (hotplug)" : "");
> +
> +	printk(KERN_INFO "SRAT: Node %u %"PRIpaddr"-%"PRIpaddr"%s\n",
> +	       node, start, end, hotplug ? " (hotplug)" : "");

Continuing from a comment further up: Here you remove an instance of
logging the node <-> PXM association.

>  	node_memblk_range[num_node_memblks].start = start;
>  	node_memblk_range[num_node_memblks].end = end;
>  	memblk_nodeid[num_node_memblks] = node;
> -	if (ma->flags & ACPI_SRAT_MEM_HOT_PLUGGABLE) {
> +	if (hotplug) {
>  		__set_bit(num_node_memblks, memblk_hotplug);
>  		if (end > mem_hotplug_boundary())
>  			mem_hotplug_update_boundary(end);
>  	}
>  	num_node_memblks++;
> +
> +	return 0;
> +}
> +
> +/* Callback for parsing of the Proximity Domain <-> Memory Area mappings */
> +void __init
> +acpi_numa_memory_affinity_init(const struct acpi_srat_mem_affinity *ma)
> +{
> +	unsigned pxm;
> +	nodeid_t node;
> +	int ret;
> +
> +	if (srat_disabled())
> +		return;
> +	if (ma->header.length != sizeof(struct acpi_srat_mem_affinity)) {
> +		bad_srat();
> +		return;
> +	}
> +	if (!(ma->flags & ACPI_SRAT_MEM_ENABLED))
> +		return;
> +
> +	/* Supplement the heuristics in l1tf_calculations(). */
> +	l1tf_safe_maddr = max(l1tf_safe_maddr,
> +			ROUNDUP((ma->base_address + ma->length), PAGE_SIZE));

Indentation and unnecessary pair of parentheses.

> +	if (!numa_memblks_available())
> +	{

For code you touch, please try to bring it into consistent style. Here
the brace wants to move to the previous line, seeing that the file is
using Linux style.

> +		dprintk(XENLOG_WARNING,
> +                "Too many numa entry, try bigger NR_NODE_MEMBLKS \n");

Here you want to fix indentation and ideally also format and grammar of
the actual log message.

> +		bad_srat();
> +		return;
> +	}
> +
> +	pxm = ma->proximity_domain;
> +	if (srat_rev < 2)
> +		pxm &= 0xff;
> +	node = setup_node(pxm);
> +	if (node == NUMA_NO_NODE) {
> +		bad_srat();
> +		return;
> +	}
> +
> +	ret = numa_update_node_memblks(node, ma->base_address, ma->length,
> +					ma->flags & ACPI_SRAT_MEM_HOT_PLUGGABLE);

Indentation again.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 16:59:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 16:59:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259936.448752 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC2ga-0007xX-Oe; Mon, 24 Jan 2022 16:59:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259936.448752; Mon, 24 Jan 2022 16: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 1nC2ga-0007xQ-KL; Mon, 24 Jan 2022 16:59:20 +0000
Received: by outflank-mailman (input) for mailman id 259936;
 Mon, 24 Jan 2022 16:59:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=REvy=SI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nC2gZ-0007xK-8F
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 16:59:19 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f70a09d9-7d36-11ec-bc18-3156f6d857e4;
 Mon, 24 Jan 2022 17:59:17 +0100 (CET)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2055.outbound.protection.outlook.com [104.47.13.55]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-15-45wiu5PmMYKJ8PLgxDdMdg-1; Mon, 24 Jan 2022 17:59:15 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB3294.eurprd04.prod.outlook.com (2603:10a6:802:3::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Mon, 24 Jan
 2022 16:59:13 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4909.017; Mon, 24 Jan 2022
 16:59:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f70a09d9-7d36-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643043556;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=NzZ8mjlOIwf2cNrcjrv/9Do3m54VXE2nx+kyuWI2BiU=;
	b=j6HKwyF86hWvvxjZ+76Q7fAdo344uAiDKTRqhYjoIYnqnSSO2CnmN0ei2cro3N+hGPkHVJ
	XajNCgQxQVJK4I6Lf2uDDx+Tapr9chZV/OGkTenBQmFGp+KLQBWwUvoC6VEf3jidHyA68P
	BPBJLTJtoOV/5EqEG3fyIeKwc7EBbtI=
X-MC-Unique: 45wiu5PmMYKJ8PLgxDdMdg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=P5AWRwAb5SuSxtzTGMPPhqtVsibAx2UXRhuEda1e3OA/Vvb7EU93336SArrbLlAm0iDZA87hR36wu2dBHC/t56XOuOnBU8Smj7ZIkeuxniuSl2+JVFdi/RD4b1n+FNfO6g02mbdvCvPlNl3NUjxCsP5zbwJIwAFz/RAtilbALnmwDdtFp0R1w0e3jtJLXIt6QgPznV4JxhRGesMgNKQ6VWOvBrHF1qjOWcyBxjZ0Gf7h5Yns/rwjswB8EmxlkoQOuZCP+ibAW8DX+rw+2bs8bxPESnQLT8lorzTcSqI8bpb/ifPKZ86riQTrR/5GRUzEsE5YCHCS5P/WqFuCbGZ8Rw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NzZ8mjlOIwf2cNrcjrv/9Do3m54VXE2nx+kyuWI2BiU=;
 b=NrLhE4fonTYjjNLmGHYc5iATIsOGxsV/5rxd20JqfcE0/hIU7Sy8hHk6XTCf9qGbRNUqk3Ebdt5O6zGNdH/9BuXKk/uIDyv3f5qzzImwZadxQRalk1m6h0bvrKykUXUCX8psVQPUNeaXF2c2zhkVX1UYCVR4R44uf/5Ent8nlheGOz3+2ry9OCk/4iQSH4Xn9mH++eRltwl8gNaMv9vJrhvhvjXMpl/U/ohANW9EgA0DsERY6gU+BRGygBqZcOGuidwq9nV0xnAF5L0JU/bBro8Apb5ymRKPTAKuu9jya/6p5rERFs6DE7T31ylNzLP7vbBvG98Ak+brxTdpkO1gIA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b6c16f31-b233-1493-aebb-716e087f5ca1@suse.com>
Date: Mon, 24 Jan 2022 17:59:11 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 12/37] xen/x86: decouple nodes_cover_memory from E820 map
Content-Language: en-US
To: Wei Chen <wei.chen@arm.com>
Cc: Bertrand.Marquis@arm.com, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, julien@xen.org
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-13-wei.chen@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20210923120236.3692135-13-wei.chen@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0395.eurprd06.prod.outlook.com
 (2603:10a6:20b:461::30) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: bbd1ecfc-4b9e-494f-769b-08d9df5ad928
X-MS-TrafficTypeDiagnostic: VI1PR04MB3294:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB329472944EFA5492A08B274AB35E9@VI1PR04MB3294.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:
	skzM0eEtA0ddMh71f0939OgvZ/HSdBiBszAJ/h6Hw14g9AnEWYHoH0++EbZX471w+0zQY0NGsAlH3uIJ1OZZPQV9lx9zYAQDVXOcG1f4bsqRdf5EpXdGTTDt/G4P4qr6QVe3CA7udXXJm046t7jPPjejWIpUBNJEd89FT5Cvfp5FFtX5p6HJV4vq1LlW4xmYzGe5FxZzIQynA+oHQiQjQD/QYWtvQEbTFOxT+tFszP2o78BeQa/Z13GXFVETGFiLTFXv4mkdTssQ8CfbHmkwDKyPKB+85cjMkK0h9YEbB/VuO1KhmgRMhkaZ+kAEIe5ijtvndFXXuY8YERn8LqFwnbPhIVzTRzlPv56ce/aCgPDnr560e7uDx7+avd4gOWXXkzOnfUKOYKscZ2nq2K1iBbeG6HcdWLsDDfhJgKYM07PoqLfJSvnTa+OPS9O7YUw5cvtk2qubiG/SwITaI712dgU1hB6CKKv/b/zZtHsFEAvJmyPT1F/WgBN2j0GS2enkkSF2iOxNNrMLesfNwcRFFI6XKQLxVI+25diK4W5BHXOJskr+RXrz3Zd/BNB5IV+RplRqNNli6MCQ7xh1at9HrpuBVbVAbzZONm+9cuhGNc0VlNFTZNSOueJNITqselihODOilI50rb95BNrRqpcOene22sjgNyVslaFjOvlFoOtw4mCpesi4boWlXt3eFXm8G3C1AKwcQzrSL0ajMDXM0P+/Ou5tVFtMKFyxFHWCG50=
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)(36756003)(6506007)(66946007)(31686004)(6916009)(6486002)(31696002)(66556008)(53546011)(508600001)(66476007)(6512007)(316002)(2906002)(8936002)(86362001)(4326008)(186003)(26005)(2616005)(5660300002)(8676002)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZG00N3pMRkIzclJaVWduV3MxaUJGUDdPcXNpNW0vNEZaRTF1Z0tNcVl4ZE1Q?=
 =?utf-8?B?STlaNFlzNVVJSDVXN2pQR3pOUVA5Umg3SHlLY1JwR2NUZXRBaThNaEdwZ3Fx?=
 =?utf-8?B?V3VZNnBabnR5RDlETUlQVElXU0t6Y01GeGhWRWE3Zlg2aEIzOFFhU3pBbnVZ?=
 =?utf-8?B?QXFHMStUZUZVUXVuTzRxREhLT3BxNXgrT00rM3U3QzBTM0JLVUlOMG5QN0tQ?=
 =?utf-8?B?TUVoSHJ1Zkk2L1RyNWZmdktqUHFPKys5MzFqQkdDZFMrL3l5ZUF2bnUzd20z?=
 =?utf-8?B?R25LYjZEVXhiV0N3VlpiZVFNL3BySWc1YjdZdnBmK1poM3h1Ylc2YnlMTFZT?=
 =?utf-8?B?VUI1WVdpcmRUT3lZSld5VXQ3aUs4NDJqMDJyY0l4RFpTc2poVDZZWUV4bjZu?=
 =?utf-8?B?aTNPRVVMWjYvaXVBenUxSzk5L2tjck1pN1VORkt0MDF3MnFVeFJaNWxRa0tk?=
 =?utf-8?B?alcrbjhPUUU0ZUpZcTZ5dkpuRk1JdW1qTFdDMzVONnE4WDdWTnJjdkVHblhV?=
 =?utf-8?B?K1VWQUY1Y2gvbG5mVVlXQnY3WVdtMitZOCtJVzZpTjRZVGV1aDFneSs2bm9M?=
 =?utf-8?B?TWp4R0xBaFhHcnBKZGdaZnM2aGFydDRnWU9LOUZncEFxZzR1WjdTREl3Z0hI?=
 =?utf-8?B?RC95VU5wLzF0YlRrS09rNWw4aHFHZ2FBUDhlMWFaU2p4K2xGdjZyMlFOYUlV?=
 =?utf-8?B?ZUJPc1duYkN4V2NncmFHcTJRdTcwMnFDME9GK1NsRmlPMXYvR3RxcTl1d0Zw?=
 =?utf-8?B?TndoVnhoK1hQWXhEOU9ybE81bUlQalN2WS9wMVgzQVllV3FIWkRsRGhXRTVI?=
 =?utf-8?B?VFgrYzJrd2o5RVZxMUtDeUlmb1ZMQ3F4bVAwTlZSSlgvWWlteHJyVXFkK1E4?=
 =?utf-8?B?bVVWQnhCWUVSTW9UYmZxY0xXQ0VubHZyKzA4UjM3dWFiVE9oYWNJRmt6S0xE?=
 =?utf-8?B?REY4djAxcjNaV3d6bjRUYkh5NmZDRFNsSkEzMHoxZk9zczg1aXJLQ3RZODVh?=
 =?utf-8?B?L2tDYUJJYlYrMkkwNWd0ekEzOW1PWEdzVlFTSlF1bDBDcHBMdU1kZG1mL0Vp?=
 =?utf-8?B?MC9wU1l3YnEyTzdlOGo4REtLaHFxOGhiVHN3Uk5ndkY4eFltOW9GK2NMWHRF?=
 =?utf-8?B?RVY0bjRncG9aN2tORDd1UTNSTXI5L1YwaXVWdjFyM0xUbXdyZ2xYNTh4cmFP?=
 =?utf-8?B?Qm9PVk5WN1RzdnY2Z3RsSGJvTDluazM2N0V2bUxRZzl3eGNDSkY3SDZDd0pL?=
 =?utf-8?B?am5KMlljSmVRNmpHRFkwVWFRRHVRZ01ZaUs0R01nZk91bVRBSnFWNk9KVE9Q?=
 =?utf-8?B?aVhvY09QbFZDemJtNkpYQVhaV3NtU0pNVkk2VG9hK2ZsVzFqdGRDRHFtVWtv?=
 =?utf-8?B?RnAyd1VxanJIRC9JS2dzb2xIVUtFK1YzWitUb0NkVW1zN0FwL0U3aFZnckp3?=
 =?utf-8?B?dkxzcHEzbW5PTWRUSHlmN01NRTMyeVJwUXFFaU4yQUtGbkIyRDloOHAyUkNM?=
 =?utf-8?B?bjVBRFlBRXpuV2V6TjlvdWlnckpwNXBjNDE3bjVMejFSU25yQlRwbWxVc3oy?=
 =?utf-8?B?Z1hNT3ZHQkFwekNuK0RnaVpRd2kvVVZUNXN5RENWVmZiRURGQTVhWU1xenN1?=
 =?utf-8?B?c0praEkyOG5jVXhkNS9iOVZDdnJUS3Y4czRFcmJBQWwrUDF3clJuUXJ3M2dK?=
 =?utf-8?B?WmtzZlVXNlNNUGVuVU9GK2VrT0psblpjMC9mM2xyVmpCOGEySmh2QUFNNTZq?=
 =?utf-8?B?Yms5YjhTTWJuVXhwblp0aytxSzVIRWFFQUV1ejRqMTc2SnRsUkdBblMrRGx6?=
 =?utf-8?B?bmVLTS9WQWxXN28zckQzUTZOSHdXdkxGRkZxOGtZMHNIeWhVeGpjb1VmbmtX?=
 =?utf-8?B?c0R3RFRueXVUUmpBbkRmaC84bEFiVSs0TG1KWXV0TTlLQXUvQ2tqQk00aE41?=
 =?utf-8?B?RjR4U0psb21uV0tPSlc1QWhxWGluSVc1UGZ4alUrUUc5YWVpVTVnbXU4UU8w?=
 =?utf-8?B?ZnVSQ2Z5QWVYU0JxWDF3MW5RTFpnREVGL0JROTRYSDhiSHJ5VVpOZHdVdUI0?=
 =?utf-8?B?Yk84WVdaUnhEUC94bm4zNGFNYjBwVlg2VS9QVE44eFhZWms1VmMyZVpvSmpJ?=
 =?utf-8?B?WXA0Z3dIL0pRajV6L2NZd2ZHbC9hc2ora1RIM0YxbXN5T0JSb2t3c0xwV25S?=
 =?utf-8?Q?FWMxt1Jk7dmXAcsssfFxFM0=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bbd1ecfc-4b9e-494f-769b-08d9df5ad928
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jan 2022 16:59:13.4823
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: FqiTx7Q6P0nG7Y5BOHj5rqbSTdNKsOgeU+VVNqcNQKnmK2nUrlMe7IGZAVRvjCrCReoxwJRFe58nyLZGJoTyPA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3294

On 23.09.2021 14:02, 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

I'm sorry, but personally I see no way for you to introduce the term
"memory bank" into x86 code.

> --- a/xen/arch/x86/numa.c
> +++ b/xen/arch/x86/numa.c
> @@ -378,6 +378,24 @@ unsigned int arch_have_default_dmazone(void)
>      return ( num_online_nodes() > 1 ) ? 1 : 0;
>  }
>  
> +uint32_t __init arch_meminfo_get_nr_bank(void)

unsigned int (also elsewhere)

> +{
> +	return e820.nr_map;
> +}
> +
> +int __init arch_meminfo_get_ram_bank_range(uint32_t bank,
> +	paddr_t *start, paddr_t *end)
> +{
> +	if (e820.map[bank].type != E820_RAM || !start || !end) {

I see no reason for the checking of start and end.

> +		return -1;
> +	}

No need for braces here.

> +	*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();

Judging by just the two pieces of patch context you're inserting
a Linux-style code fragment in the middle of two Xen-style ones.

Various other comments given for earlier patches apply here as well.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 17:28:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 17:28:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259939.448763 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC38D-0002pl-4D; Mon, 24 Jan 2022 17:27:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259939.448763; Mon, 24 Jan 2022 17:27:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC38D-0002pe-0e; Mon, 24 Jan 2022 17:27:53 +0000
Received: by outflank-mailman (input) for mailman id 259939;
 Mon, 24 Jan 2022 17:27:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9bCX=SI=xilinx.com=ayankuma@srs-se1.protection.inumbo.net>)
 id 1nC38B-0002pY-SC
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 17:27:52 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20631.outbound.protection.outlook.com
 [2a01:111:f400:7eae::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f29c0eac-7d3a-11ec-8fa7-f31e035a9116;
 Mon, 24 Jan 2022 18:27:49 +0100 (CET)
Received: from SN1PR12CA0094.namprd12.prod.outlook.com (2603:10b6:802:21::29)
 by BYAPR02MB4919.namprd02.prod.outlook.com (2603:10b6:a03:51::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.13; Mon, 24 Jan
 2022 17:27:44 +0000
Received: from SN1NAM02FT0040.eop-nam02.prod.protection.outlook.com
 (2603:10b6:802:21:cafe::5) by SN1PR12CA0094.outlook.office365.com
 (2603:10b6:802:21::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.13 via Frontend
 Transport; Mon, 24 Jan 2022 17:27:43 +0000
Received: from xir-pvapexch02.xlnx.xilinx.com (149.199.80.198) by
 SN1NAM02FT0040.mail.protection.outlook.com (10.97.5.204) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4909.8 via Frontend Transport; Mon, 24 Jan 2022 17:27:43 +0000
Received: from xir-pvapexch02.xlnx.xilinx.com (172.21.17.17) by
 xir-pvapexch02.xlnx.xilinx.com (172.21.17.17) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2176.14; Mon, 24 Jan 2022 17:27:42 +0000
Received: from smtp.xilinx.com (172.21.105.198) by
 xir-pvapexch02.xlnx.xilinx.com (172.21.17.17) with Microsoft SMTP Server id
 15.1.2176.14 via Frontend Transport; Mon, 24 Jan 2022 17:27:42 +0000
Received: from [10.71.117.234] (port=50848)
 by smtp.xilinx.com with esmtp (Exim 4.90)
 (envelope-from <ayan.kumar.halder@xilinx.com>)
 id 1nC381-00074o-8G; Mon, 24 Jan 2022 17: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: f29c0eac-7d3a-11ec-8fa7-f31e035a9116
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Dh2MCFETA6aY80GH0/et4bb0k8GeQVELJNlvAPDsbSkeNdq+0JRSdmbWrcjTV+iNV3OJ+qTZX7fU2i4L9v9H7SaTJZxvNkljNFEwgZWbrZi02+RBnpKWyMxkeMj0iIroc8r0dsGWwI/tJyc2tS8dyGNYOcXqkxpgkU76olUnvLonPpB+OyNXAu0SqSK0emf/qAsZddc0niCx0PTzqD5WJ8bTQZSXBv9SwAdm5GlmZQ3J+nuA781/WPwKmJRZ+VEzZgHhursF91mvv96KAE085rDa/fniQErYX6EWOsD2Tc00AWZihryNexx92v50yh5QEMQPSqJig90MFZAlY9grCg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hL72+Gx3LQfeZ53IXdpz7SbRkZcKsipOK1KzS/A5pzs=;
 b=G5qdoZbHyg3wvUFokUZ9nyPWUyAXRh7i/Fidxem6HDRKjKdnatv57StTWDM0sKkR+xEVi3tWwOqsSD27oBfcOxWfKiL8W49l9YhA7HCZr77kx4+ivKt+Oh1udo9I/4Vmxf+hBUoXE9SQYPiO6r/Vk+lQKyGWIKTmE6HHthzF5k/D3lI+Gc6ptGay1g3J5ENquCbCOp1RMRZcQZT0WmP9QLBflgHDarq5JWtisrjfmW+H7/K7SoTYw7IgU347NBzC6QRf02Y11FiU9xSD0Caq4ZqQuk75PUWsT7GgDRoLU5kE0asWYllDybdVcL1kHAqM6HmEDZ3oMoQA5JwaSyaiWA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 149.199.80.198) smtp.rcpttodomain=arm.com smtp.mailfrom=xilinx.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=xilinx.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hL72+Gx3LQfeZ53IXdpz7SbRkZcKsipOK1KzS/A5pzs=;
 b=mGNB0IZRCE5GohQZBSCSRjtSHZm6CTs1NgKiXNw05HSNvamCZlFvJE1lC7a4B0cWQ9imcbJdxtW9PgDAi3xMWomvzH29kWEE3SWk24wD19apDWAg/PR1LQ0wFHdKXRwYTz6pj5vbQVgWivxSVpcRDp0h+uXSDWD5ik2ILQ3stqM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 149.199.80.198)
 smtp.mailfrom=xilinx.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=xilinx.com;
Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates
 149.199.80.198 as permitted sender) receiver=protection.outlook.com;
 client-ip=149.199.80.198; helo=xir-pvapexch02.xlnx.xilinx.com;
Message-ID: <bae9a35f-be42-2ebe-5ce0-30e08001ae97@xilinx.com>
Date: Mon, 24 Jan 2022 17:27:40 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.0
Subject: Re: [XEN v3] xen/arm64: io: Decode ldr/str post-indexing instructions
To: Andre Przywara <andre.przywara@arm.com>, Ayan Kumar Halder
	<ayan.kumar.halder@xilinx.com>
CC: <xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
	<stefanos@xilinx.com>, <julien@xen.org>, <Volodymyr_Babchuk@epam.com>,
	<bertrand.marquis@arm.com>, <jbeulich@suse.com>, <wei.chen@arm.com>
References: <20220120215527.28138-1-ayankuma@xilinx.com>
 <20220122013046.6a786d3f@slackpad.fritz.box>
 <18e715ae-111d-58e6-55f9-a48a521e99b3@xilinx.com>
 <20220124143601.3e2ac6ac@donnerap.cambridge.arm.com>
From: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>
In-Reply-To: <20220124143601.3e2ac6ac@donnerap.cambridge.arm.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 31766db1-03c8-4482-f5f0-08d9df5ed4ab
X-MS-TrafficTypeDiagnostic: BYAPR02MB4919:EE_
X-Microsoft-Antispam-PRVS:
	<BYAPR02MB49195C3BD6D09DE616EBADBFB25E9@BYAPR02MB4919.namprd02.prod.outlook.com>
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
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:
	SCeuzluiI1diZFHKSbMck/hJ9Hhr7LcnqQ4wLE4yViyXVGUFtvh4yCwtZ2TA3kOLeatC5/NXFqroBNkx7PLA1yHh6vu0GV+3L+6lwB3OAuLSka8DzhVjwvOT4ALLrUkmHlg6MRLkivv7sEu9kcYzeHP2ltUSE63OE4ZY2sHInLMVORE/guBheoOpgGGSnz7uhwgEKzigpOxWttLxIjng6p3PUNZ1gd4qc55T6wB30kM4Rt2gffsy+k2qhjOzCdk1hKBGvCYJWP9izXGfZ7PSnE9AMYanAoUoFohEc5iDnMSFr3TEbbarO7300D9IseS0NBH5+OTDjJtFlfN0QeLJPYBnu+jXUYTm6/7ZBj8xrExW4BK1BiZfBnIAHMc1fcGswt5udOVQfxFqkyul0/6a0h049SaLK+DLpkZ9//1lxUAC2lyzR7NxFVpaMzengk9TaGIk1fGrUWf8FM3BDdt1IVjvCVOtj+g/PF+4iGNCzNFs8pkfim8eKpgwL+eJxcZNlS2Kzo66fZ6a1NXwe5orqO3jysoJqLhrptWguJxejNBWaXKJ1ldTN1N5U4vIIopDlrHfes2O4wsws7oEqnQqk8Aa7nzYwrYqndDb5JHo/G1wTzvIYIoUPgmSqAPo1e8CZJ3AxeVrxbTWAHPdCmXId28IfjQ6bJJb0tlAZPnIpV0fGLNjJl3bjR1+zwc+HagbzywEy+iT76/oaCPMQE2EJm8sv90y2Mee3GdMibacHEFF3VF18tJyrsT6BPROUYWGMeXpwit9Lm68oH6Ff/j25pOWAUMjGCZtCmO2zky9Y7bNiLJ1QqYOZl2btWH/gHUU0eLpu2zxbEFQwUgNN68BKUl5drtFUaFWmznMm0kJId/Qtlku10o2TZB9i4+vv5sU
X-Forefront-Antispam-Report:
	CIP:149.199.80.198;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:xir-pvapexch02.xlnx.xilinx.com;PTR:unknown-80-198.xilinx.com;CAT:NONE;SFS:(4636009)(36840700001)(46966006)(36860700001)(70206006)(9786002)(30864003)(316002)(356005)(7636003)(31696002)(8936002)(2616005)(426003)(2906002)(26005)(336012)(47076005)(31686004)(70586007)(4326008)(36756003)(966005)(110136005)(186003)(82310400004)(53546011)(8676002)(5660300002)(54906003)(508600001)(83380400001)(50156003)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: xilinx.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jan 2022 17:27:43.4782
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 31766db1-03c8-4482-f5f0-08d9df5ed4ab
X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c;Ip=[149.199.80.198];Helo=[xir-pvapexch02.xlnx.xilinx.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SN1NAM02FT0040.eop-nam02.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR02MB4919

Hi Andre,

Thanks forn your comments.

On 24/01/2022 14:36, Andre Przywara wrote:
> On Mon, 24 Jan 2022 12:07:42 +0000
> Ayan Kumar Halder <ayan.kumar.halder@xilinx.com> wrote:
>
> Hi Ayan,
>
>> Many thanks for your feedback. I have one clarification :-
>>
>> On 22/01/2022 01:30, Andre Przywara wrote:
>>> On Thu, 20 Jan 2022 21:55:27 +0000
>>> Ayan Kumar Halder <ayan.kumar.halder@xilinx.com> wrote:
>>>
>>> Hi,
>>>   
>>>> At the moment, Xen is only handling data abort with valid syndrome (i.e.
>>>> ISV=0). Unfortunately, this doesn't cover all the instructions a domain
>>>> could use to access MMIO regions.
>>>>
>>>> For instance, a baremetal OS can use any of the following instructions, where
>>>> x1 contains the address of the MMIO region:
>>>>
>>>> 1.      ldr     x2,    [x1],    #4
>>> That looks dodgy, since is misaligns the pointer afterwards. MMIO
>>> access typically go to device memory, which must be naturally aligned.
>>> Just don't give a bad example here and change that to a multiple of 8.
>>>   
>>>> 2.      ldr     w2,    [x1],    #-4
>>> (this one is fine, btw, because it's a 32-bit read)
>>>   
>>>> 3.      ldr     x2,    [x1],    #-8
>>>> 4.      ldr     w2,    [x1],    #4
>>>> 5.      ldrh    w2,    [x1],    #8
>>>> 6.      ldrb    w2,    [x1],    #16
>>> More naturally I'd use the data size of the postindex value ...
>>> ldr  x2 ... #-8
>>> ldr  w2 ... #4
>>> ldrh w2 ... #2
>>> ldrb w2 ... #1
>>>   
>>>> 7.      str     x2,    [x1],    #4
>>> This is a again problematic, because x1 is not 8-byte aligned anymore
>>> after that.
>>>   
>>>> 8.      str     w2,    [x1],    #-4
>>>> 9.      strh    w2,    [x1],    #8
>>>> 10.     strb    w2,    [x1],    #16
>>>>
>>>> In the following two instructions, sp contains the address of the MMIO region:-
>>> Really? I don't think you should give people funny ideas, just mention
>>> that the Rn register could theoretically be the stack pointer.
>>>   
>>>> 11.     ldrb    w2,    [sp],    #16
>>>> 12.     ldrb    wzr,   [sp],    #16
>>>>
>>>> In order to handle post-indexing store/load instructions (like those mentioned
>>>> above), Xen will need to fetch and decode the instruction.
>>>>
>>>> This patch only cover post-index store/load instructions from AArch64 mode.
>>>> For now, this is left unimplemented for trap from AArch32 mode.
>>>>
>>>> Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
>>>> ---
>>>>
>>>> Changelog :-
>>>> v2 - 1. Updated the rn register after reading from it. (Pointed by Julien,
>>>>           Stefano)
>>>>        2. Used a union to represent the instruction opcode (Suggestd by Bertrand)
>>>>        3. Fixed coding style issues (Pointed by Julien)
>>>>        4. In the previous patch, I was updating dabt->sign based on the signedness
>>>>           of imm9. This was incorrect. As mentioned in ARMv8 ARM  DDI 0487G.b,
>>>>           Page 3221, SSE indicates the signedness of the data item loaded. In our
>>>>           case, the data item loaded is always unsigned.
>>>>
>>>> v3- 1. Handled all the variants of ldr/str (ie 64, 32, 16, 8 bit variants).
>>>>          Thus, I have removed the check for "instr->code.opc == 0" (Suggested by
>>>>          Andre)
>>>>       2. Handled the scenario when rn = SP, rt = XZR (Suggested by Jan, Andre)
>>>>       3. Added restriction for "rt != rn" (Suggested by Andre)
>>>>       4. Moved union ldr_str_instr_class {} to decode.h. This is the header included
>>>>          by io.c and decode.c (where the union is referred). (Suggested by Jan)
>>>>       5. Indentation and typo fixes (Suggested by Jan)
>>>>
>>>> Changes suggested but could not be considered due to reasons :-
>>>>       1. Using accessor macros instead of bitfields for "ldr_str_instr_class". (Andre)
>>>>          Reason - I could not find a simple way to represent 9 bit signed integer
>>>>          (ie imm9) without using bitfields. If I use accessor macros, then I need
>>>>          to manually calculate two's complement to obtain the value when signed
>>>>          bit is present.
>>>>
>>>>       2. I/D cache cohenerncy (Andre)
>>>>          Reason :- I could not see any instruction to flush the I cache.
>>> First, please try to avoid the term "flush", because it is somewhat
>>> overloaded. The architecture speaks of "clean" and "invalidate", which
>>> are more precise.
>>> Assuming you mean "clean" here: conceptually there is no such thing for
>>> the I cache, because it's always clean. The I$ will only be read from
>>> the CPU side - from the instruction fetcher - there is nothing written
>>> back through it. Every store goes through the data path - always.
>>> That is the problem that I tried to sketch you previously: you don't
>>> have a guarantee that the instruction you read from memory is the same
>>> that the CPU executed. The guest could have changed the instruction
>>> after the I$ fetched that. So the CPU will execute (and trap) on
>>> instruction X, but you will read Y. I leave it up to your imagination
>>> if that could be exploited.
>> I see what you mean.
>>
>> Refer Armv8 Arm DDI 0487G.b Page D1-2476, it says that (for instr/data
>> abort) the faulting virtual address and IPA is saved in FAR_ELx and
>> HPFAR_EL2 respectively. But, I do not see if the faulting instruction is
>> saved in any special register. Is there something I am missing ?
> No, indeed there is no such thing. You get the address, but not the
> faulting instruction. It would indeed be nice to have from a software
> developer's point of view, but the architecture does not support it.
> One reason might be that it's potentially hard to implement, because it
> could be tricky to reconstruct the original instruction, when it has been
> broken down to something different in the actual pipelines.

Is it possible for Arm to implement such a register which will hold the 
instruction that caused the exception, in the future architecture 
revision ? This would be useful given that the faulting address (PC) can 
not be trusted to get to the original faulting instruction (as it can be 
changed after being loaded in I cache). I could imagine this being 
useful in any scenario when the user wants to know which instruction 
caused the fault.

Stefano/Julien/Bertrand/Volodymyr :- I would love to hear your inputs on 
this as well.

As for the patch, I will mention this issue (as a comment in the code) 
where we are loading the instruction from PC. 
Stefano/Julien/Bertrand/Volodymyr:- Does it look fine with you ?

- Ayan

>
>> Else, :( this is a limitation of the architecture (imo). A hypervisor
>> can be interested to see which instruction caused the abort when ISV = 0.
> One of the reasons I suggested to just avoid those instructions for MMIO
> in the first place, especially if their usage was somewhat questionable to
> begin with.
>
>> Also, if an instruction is being modified by the guest (after it has
>> been loaded in the I cache), and if the guest does not invalidate the I
>> cache + ISB, then this is a malicious behavior by the guest. Is my
>> understanding correct ?
> I wouldn't say malicious per se, there might be legitimate reasons to do
> so, but in the Xen context this is mostly irrelevant, since we don't trust
> the guest anyway. So whether it's malicious or accidental, the hypervisor
> might be mislead.
>
> Cheers,
> Andre
>
>>>   
>>>>          Refer https://developer.arm.com/documentation/ddi0596/2021-12/Base-Instructions/IC--Instruction-Cache-operation--an-alias-of-SYS-?lang=en#sa_ic_op
>>>>          So, this patch assumes that the I/D caches are coherent.
>>> Bold. ;-)
>>>
>>> Cheers,
>>> Andre
>>>   
>>>>    xen/arch/arm/decode.c | 78 ++++++++++++++++++++++++++++++++++++++++++-
>>>>    xen/arch/arm/decode.h | 29 +++++++++++++++-
>>>>    xen/arch/arm/io.c     | 66 ++++++++++++++++++++++++++++++++----
>>>>    3 files changed, 165 insertions(+), 8 deletions(-)
>>>>
>>>> diff --git a/xen/arch/arm/decode.c b/xen/arch/arm/decode.c
>>>> index 792c2e92a7..f1c59ddd1a 100644
>>>> --- a/xen/arch/arm/decode.c
>>>> +++ b/xen/arch/arm/decode.c
>>>> @@ -84,6 +84,76 @@ bad_thumb2:
>>>>        return 1;
>>>>    }
>>>>    
>>>> +static int decode_loadstore_postindexing(register_t pc,
>>>> +                                         struct hsr_dabt *dabt,
>>>> +                                         union ldr_str_instr_class *instr)
>>>> +{
>>>> +    if ( raw_copy_from_guest(&instr->value, (void * __user)pc, sizeof (instr)) )
>>>> +        return -EFAULT;
>>>> +
>>>> +    /*
>>>> +     * Rn -ne Rt for ldr/str instruction.
>>>> +     * Check https://developer.arm.com/documentation/dui0802/a/CIHGJHED
>>>> +     * (Register restrictions)
>>>> +     *
>>>> +     * The only exception for this is when rn = 31. It denotes SP ("Use of SP")
>>>> +     *
>>>> +     * And when rt = 31, it denotes wzr/xzr. (Refer
>>>> +     * https://developer.arm.com/documentation/den0024/a/ARMv8-Registers/AArch64-special-registers
>>>> +     * "There is no register called X31 or W31. Many instructions are encoded
>>>> +     * such that the number 31 represents the zero register, ZR (WZR/XZR)."
>>>> +     */
>>>> +    if ( (instr->code.rn == instr->code.rt) && (instr->code.rn != 31) )
>>>> +        return -EINVAL;
>>>> +
>>>> +    /* First, let's check for the fixed values */
>>>> +    if ( !((instr->code.fixed1 == 1) && (instr->code.fixed2 == 0) &&
>>>> +         (instr->code.fixed3 == 0) && (instr->code.fixed4 == 7)) )
>>>> +    {
>>>> +        gprintk(XENLOG_ERR, "Cannot decode instruction 0x%x",instr->value);
>>>> +        gprintk(XENLOG_ERR, "Decoding not supported for instructions other than"
>>>> +            " ldr/str post indexing\n");
>>>> +        goto bad_32bit_loadstore;
>>>> +    }
>>>> +
>>>> +    if ( instr->code.v != 0 )
>>>> +    {
>>>> +        gprintk(XENLOG_ERR,
>>>> +            "ldr/str post indexing for vector types are not supported\n");
>>>> +        goto bad_32bit_loadstore;
>>>> +    }
>>>> +
>>>> +    /* Check for STR (immediate) - 32 bit variant */
>>>> +    if ( instr->code.opc == 0 )
>>>> +    {
>>>> +        dabt->write = 1;
>>>> +    }
>>>> +    /* Check for LDR (immediate) - 32 bit variant */
>>>> +    else if ( instr->code.opc == 1 )
>>>> +    {
>>>> +        dabt->write = 0;
>>>> +    }
>>>> +    else
>>>> +    {
>>>> +        gprintk(XENLOG_ERR,
>>>> +            "Decoding ldr/str post indexing is not supported for this variant\n");
>>>> +        goto bad_32bit_loadstore;
>>>> +    }
>>>> +
>>>> +    gprintk(XENLOG_INFO,
>>>> +        "instr->code.rt = 0x%x, instr->code.size = 0x%x, instr->code.imm9 = %d\n",
>>>> +        instr->code.rt, instr->code.size, instr->code.imm9);
>>>> +
>>>> +    update_dabt(dabt, instr->code.rt, instr->code.size, false);
>>>> +    dabt->valid = 1;
>>>> +
>>>> +    return 0;
>>>> +
>>>> + bad_32bit_loadstore:
>>>> +    gprintk(XENLOG_ERR, "unhandled 32bit Arm instruction 0x%x\n", instr->value);
>>>> +    return 1;
>>>> +}
>>>> +
>>>>    static int decode_thumb(register_t pc, struct hsr_dabt *dabt)
>>>>    {
>>>>        uint16_t instr;
>>>> @@ -150,11 +220,17 @@ bad_thumb:
>>>>        return 1;
>>>>    }
>>>>    
>>>> -int decode_instruction(const struct cpu_user_regs *regs, struct hsr_dabt *dabt)
>>>> +int decode_instruction(const struct cpu_user_regs *regs, struct hsr_dabt *dabt,
>>>> +                       union ldr_str_instr_class *instr)
>>>>    {
>>>>        if ( is_32bit_domain(current->domain) && regs->cpsr & PSR_THUMB )
>>>>            return decode_thumb(regs->pc, dabt);
>>>>    
>>>> +    if ( (is_64bit_domain(current->domain) && !psr_mode_is_32bit(regs)) )
>>>> +    {
>>>> +        return decode_loadstore_postindexing(regs->pc, dabt, instr);
>>>> +    }
>>>> +
>>>>        /* TODO: Handle ARM instruction */
>>>>        gprintk(XENLOG_ERR, "unhandled ARM instruction\n");
>>>>    
>>>> diff --git a/xen/arch/arm/decode.h b/xen/arch/arm/decode.h
>>>> index 4613763bdb..5c918c9bed 100644
>>>> --- a/xen/arch/arm/decode.h
>>>> +++ b/xen/arch/arm/decode.h
>>>> @@ -23,6 +23,32 @@
>>>>    #include <asm/regs.h>
>>>>    #include <asm/processor.h>
>>>>    
>>>> +/*
>>>> + * Refer to the ARMv8 ARM (DDI 0487G.b), Section C4.1.4 Loads and Stores
>>>> + * Page 318 specifies the following bit pattern for
>>>> + * "load/store register (immediate post-indexed)".
>>>> + *
>>>> + * 31 30 29  27 26 25  23   21 20              11   9         4       0
>>>> + * ___________________________________________________________________
>>>> + * |size|1 1 1 |V |0 0 |opc |0 |      imm9     |0 1 |  Rn     |  Rt   |
>>>> + * |____|______|__|____|____|__|_______________|____|_________|_______|
>>>> + */
>>>> +union ldr_str_instr_class {
>>>> +    uint32_t value;
>>>> +    struct ldr_str {
>>>> +        unsigned int rt:5;     /* Rt register */
>>>> +        unsigned int rn:5;     /* Rn register */
>>>> +        unsigned int fixed1:2; /* value == 01b */
>>>> +        signed int imm9:9;            /* imm9 */
>>>> +        unsigned int fixed2:1; /* value == 0b */
>>>> +        unsigned int opc:2;    /* opc */
>>>> +        unsigned int fixed3:2; /* value == 00b */
>>>> +        unsigned int v:1;      /* vector */
>>>> +        unsigned int fixed4:3; /* value == 111b */
>>>> +        unsigned int size:2;   /* size */
>>>> +    } code;
>>>> +};
>>>> +
>>>>    /**
>>>>     * Decode an instruction from pc
>>>>     * /!\ This function is not intended to fully decode an instruction. It
>>>> @@ -35,7 +61,8 @@
>>>>     */
>>>>    
>>>>    int decode_instruction(const struct cpu_user_regs *regs,
>>>> -                       struct hsr_dabt *dabt);
>>>> +                       struct hsr_dabt *dabt,
>>>> +                       union ldr_str_instr_class *instr);
>>>>    
>>>>    #endif /* __ARCH_ARM_DECODE_H_ */
>>>>    
>>>> diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
>>>> index 729287e37c..acb483f235 100644
>>>> --- a/xen/arch/arm/io.c
>>>> +++ b/xen/arch/arm/io.c
>>>> @@ -65,6 +65,39 @@ static enum io_state handle_write(const struct mmio_handler *handler,
>>>>        return ret ? IO_HANDLED : IO_ABORT;
>>>>    }
>>>>    
>>>> +static void post_increment_register(union ldr_str_instr_class *instr)
>>>> +{
>>>> +    struct cpu_user_regs *regs = guest_cpu_user_regs();
>>>> +    unsigned int val;
>>>> +
>>>> +    /* handle when rn = SP */
>>>> +    if ( instr->code.rn == 31 )
>>>> +    {
>>>> +        if ( (regs->cpsr & PSR_MODE_MASK) == PSR_MODE_EL1h )
>>>> +        {
>>>> +            val = regs->sp_el1;
>>>> +        }
>>>> +        else
>>>> +        {
>>>> +            BUG();
>>>> +        }
>>>> +    }
>>>> +    else
>>>> +    {
>>>> +        val = get_user_reg(regs, instr->code.rn);
>>>> +    }
>>>> +    val += instr->code.imm9;
>>>> +
>>>> +    if ( instr->code.rn == 31 )
>>>> +    {
>>>> +        regs->sp_el1 = val;
>>>> +    }
>>>> +    else
>>>> +    {
>>>> +        set_user_reg(regs, instr->code.rn, val);
>>>> +    }
>>>> +}
>>>> +
>>>>    /* This function assumes that mmio regions are not overlapped */
>>>>    static int cmp_mmio_handler(const void *key, const void *elem)
>>>>    {
>>>> @@ -106,14 +139,29 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>>>>            .gpa = gpa,
>>>>            .dabt = dabt
>>>>        };
>>>> +    int rc;
>>>> +    union ldr_str_instr_class instr = {0};
>>>>    
>>>>        ASSERT(hsr.ec == HSR_EC_DATA_ABORT_LOWER_EL);
>>>>    
>>>> +    /*
>>>> +     * Armv8 processor does not provide a valid syndrome for post-indexing
>>>> +     * ldr/str instructions. So in order to process these instructions,
>>>> +     * Xen must decode them.
>>>> +     */
>>>> +    if ( !info.dabt.valid )
>>>> +    {
>>>> +        rc = decode_instruction(regs, &info.dabt, &instr);
>>>> +        if ( rc )
>>>> +        {
>>>> +            gprintk(XENLOG_DEBUG, "Unable to decode instruction\n");
>>>> +            return IO_ABORT;
>>>> +        }
>>>> +    }
>>>> +
>>>>        handler = find_mmio_handler(v->domain, info.gpa);
>>>>        if ( !handler )
>>>>        {
>>>> -        int rc;
>>>> -
>>>>            rc = try_fwd_ioserv(regs, v, &info);
>>>>            if ( rc == IO_HANDLED )
>>>>                return handle_ioserv(regs, v);
>>>> @@ -122,7 +170,7 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>>>>        }
>>>>    
>>>>        /* All the instructions used on emulated MMIO region should be valid */
>>>> -    if ( !dabt.valid )
>>>> +    if ( !info.dabt.valid )
>>>>            return IO_ABORT;
>>>>    
>>>>        /*
>>>> @@ -134,7 +182,7 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>>>>        {
>>>>            int rc;
>>>>    
>>>> -        rc = decode_instruction(regs, &info.dabt);
>>>> +        rc = decode_instruction(regs, &info.dabt, NULL);
>>>>            if ( rc )
>>>>            {
>>>>                gprintk(XENLOG_DEBUG, "Unable to decode instruction\n");
>>>> @@ -143,9 +191,15 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>>>>        }
>>>>    
>>>>        if ( info.dabt.write )
>>>> -        return handle_write(handler, v, &info);
>>>> +        rc = handle_write(handler, v, &info);
>>>>        else
>>>> -        return handle_read(handler, v, &info);
>>>> +        rc = handle_read(handler, v, &info);
>>>> +
>>>> +    if ( instr.value != 0 )
>>>> +    {
>>>> +        post_increment_register(&instr);
>>>> +    }
>>>> +    return rc;
>>>>    }
>>>>    
>>>>    void register_mmio_handler(struct domain *d,


From xen-devel-bounces@lists.xenproject.org Mon Jan 24 17:48:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 17:48:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259943.448773 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC3Rw-0005FL-NC; Mon, 24 Jan 2022 17:48:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259943.448773; Mon, 24 Jan 2022 17:48:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC3Rw-0005FE-KD; Mon, 24 Jan 2022 17:48:16 +0000
Received: by outflank-mailman (input) for mailman id 259943;
 Mon, 24 Jan 2022 17:48: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 1nC3Rv-0005F8-SK
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 17:48: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 1nC3Rv-0006ij-Ob; Mon, 24 Jan 2022 17:48:15 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235] helo=[10.85.42.33])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nC3Rv-0006mv-Hz; Mon, 24 Jan 2022 17:48:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=oK4GVNwrpW3Z8T8/lob69LF98KHBWPmLAUjlHuQ8Ca4=; b=SR5riG3c/j+uzbOVwDZGqaghEw
	D2m1n4cMdgeC39EOogVisIHj0m2EHQuFAM+oHn9PytWLPf7YNspJQ+3aG6z8Pm0WIgfWzC+wu5J0W
	V6pv0nd4fxgIBM+cdCig8Y4xQX8+zju4k1MxwkFoe/KuTp6j4t3i4hYnmp5ciWVBG7KU=;
Message-ID: <80649611-3644-518b-d779-68fa0080ff70@xen.org>
Date: Mon, 24 Jan 2022 17:48:13 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.0
Subject: Re: [PATCH v4 05/11] xen/arm: introduce direct-map for domUs
To: Stefano Stabellini <sstabellini@kernel.org>,
 Penny Zheng <penny.zheng@arm.com>
Cc: xen-devel@lists.xenproject.org, Bertrand.Marquis@arm.com, Wei.Chen@arm.com
References: <20211220052123.969876-1-penny.zheng@arm.com>
 <20211220052123.969876-6-penny.zheng@arm.com>
 <alpine.DEB.2.22.394.2201131447520.19362@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2201131447520.19362@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 13/01/2022 22:53, Stefano Stabellini wrote:
>> +    kinfo->mem.nr_banks = nr_banks;
>> +
>> +    /*
>> +     * The property 'memory' should match the amount of memory given to
>> +     * the guest.
>> +     * Currently, it is only possible to either acquire static memory or
>> +     * let Xen allocate. *Mixing* is not supported.
>> +     */
>> +    if ( kinfo->unassigned_mem != 0 )
>> +    {
>> +        printk(XENLOG_ERR
>> +               "Size of \"memory\" property doesn't match up with the sum-up of \"xen,static-mem\". Unsupported configuration.\n");
> 
> This line would benefit from being broken down, but I am also OK if we
> leave it as is

We usually keep the message in a single line because (even if it is more 
than 80 characters) because it helps to find the line afterwards.

Looking at the message, I would drop "Unsupported configuration" because 
it implies that this is because some code is missing (IOW it will be 
supported in the future). However, this is a requirement.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Jan 24 17:59:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 17:59:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259947.448784 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC3cJ-0006hn-Nd; Mon, 24 Jan 2022 17:58:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259947.448784; Mon, 24 Jan 2022 17:58:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC3cJ-0006hg-KB; Mon, 24 Jan 2022 17:58:59 +0000
Received: by outflank-mailman (input) for mailman id 259947;
 Mon, 24 Jan 2022 17:58: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 1nC3cI-0006ha-J2
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 17:58: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 1nC3cI-0006u6-5W; Mon, 24 Jan 2022 17:58:58 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235] helo=[10.85.42.33])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nC3cH-0007VQ-VB; Mon, 24 Jan 2022 17:58:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=J7SNXqjou4UgQI6acXBIJNYaW5J/Obp9KxjZ3tjfxIM=; b=EUX2S0nwCWH2OD2w/5SwxvzJcb
	HTSd006T5/Gqm0jiWgKYVWml2m/KZGheF4Bfh7wLXo/KlLKboxbnTztKmRMKsF80D5Sy2XTC9XYWJ
	nERrIvQq6eaJuoLRtBbLV9QrNzcrD0DwK4bBrA1qsZpx9NQW/QpQPKiIiZGcySRBuZAk=;
Message-ID: <9609102e-8d58-8378-29b8-4e1190eb1e3c@xen.org>
Date: Mon, 24 Jan 2022 17:58:55 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.0
Subject: Re: [XEN v3] xen/arm64: io: Decode ldr/str post-indexing instructions
To: Andre Przywara <andre.przywara@arm.com>,
 Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>
Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org,
 stefanos@xilinx.com, Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com,
 jbeulich@suse.com, wei.chen@arm.com
References: <20220120215527.28138-1-ayankuma@xilinx.com>
 <20220122013046.6a786d3f@slackpad.fritz.box>
 <18e715ae-111d-58e6-55f9-a48a521e99b3@xilinx.com>
 <20220124143601.3e2ac6ac@donnerap.cambridge.arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220124143601.3e2ac6ac@donnerap.cambridge.arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Andre,

On 24/01/2022 14:36, Andre Przywara wrote:
> On Mon, 24 Jan 2022 12:07:42 +0000
>> Also, if an instruction is being modified by the guest (after it has
>> been loaded in the I cache), and if the guest does not invalidate the I
>> cache + ISB, then this is a malicious behavior by the guest. Is my
>> understanding correct ?
> 
> I wouldn't say malicious per se, there might be legitimate reasons to do
> so, but in the Xen context this is mostly irrelevant, since we don't trust
> the guest anyway. So whether it's malicious or accidental, the hypervisor
> might be mislead.

I agree the hypervisor will be mislead to execute the wrong instruction. 
But, in reality, I don't see how this is a massive problem as this 
thread seems to imply. At best the guest will shoot itself in the foot.

IOW, for now, I think it is fine to assume that the guest will have 
invalidated the cache instruction before executing any instruction that 
may fault with ISV=0. This could be revisted if we have use-cases where 
we really need to know what the guest executed.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Jan 24 18:04:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 18:04:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259952.448796 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC3hW-0008Dr-Hh; Mon, 24 Jan 2022 18:04:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259952.448796; Mon, 24 Jan 2022 18:04:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC3hW-0008Dk-EU; Mon, 24 Jan 2022 18:04:22 +0000
Received: by outflank-mailman (input) for mailman id 259952;
 Mon, 24 Jan 2022 18:04:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1nC3hW-0008De-4P
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 18:04:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nC3hV-00076G-MW; Mon, 24 Jan 2022 18:04:21 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235] helo=[10.85.42.33])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nC3hV-000830-G0; Mon, 24 Jan 2022 18:04:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=uH0jmKagEZKRL4OGGrh2waJeyr2z6OP3LpT7kaBFla0=; b=s9sy+NB0o1U0/7vTKwjJ6G9n+w
	bNk3BdqzTWlVWjCmAz83aoeZkztFg7W6LEnvLpSUNa6ZsOv7j+yb8WVyO8pnK1MRjb34kJhvhVgCa
	s8Qqh4f6GVlpB+eZBuRFxefJRvvs1+5i5kJH3QbsKpJtnhKdVWchBMA6eyJF/Z01jp84=;
Message-ID: <70037233-a579-b73f-6590-d38a6d4da379@xen.org>
Date: Mon, 24 Jan 2022 18:04:19 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.0
Subject: Re: [XEN v3] xen/arm64: io: Decode ldr/str post-indexing instructions
To: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>,
 Andre Przywara <andre.przywara@arm.com>
Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org,
 stefanos@xilinx.com, Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com,
 jbeulich@suse.com, wei.chen@arm.com
References: <20220120215527.28138-1-ayankuma@xilinx.com>
 <20220122013046.6a786d3f@slackpad.fritz.box>
 <18e715ae-111d-58e6-55f9-a48a521e99b3@xilinx.com>
 <20220124143601.3e2ac6ac@donnerap.cambridge.arm.com>
 <bae9a35f-be42-2ebe-5ce0-30e08001ae97@xilinx.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <bae9a35f-be42-2ebe-5ce0-30e08001ae97@xilinx.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 24/01/2022 17:27, Ayan Kumar Halder wrote:
> Thanks forn your comments.
> 
> On 24/01/2022 14:36, Andre Przywara wrote:
>> On Mon, 24 Jan 2022 12:07:42 +0000
>> Ayan Kumar Halder <ayan.kumar.halder@xilinx.com> wrote:
>>
>> Hi Ayan,
>>
>>> Many thanks for your feedback. I have one clarification :-
>>>
>>> On 22/01/2022 01:30, Andre Przywara wrote:
>>>> On Thu, 20 Jan 2022 21:55:27 +0000
>>>> Ayan Kumar Halder <ayan.kumar.halder@xilinx.com> wrote:
>>>>
>>>> Hi,
>>>>> At the moment, Xen is only handling data abort with valid syndrome 
>>>>> (i.e.
>>>>> ISV=0). Unfortunately, this doesn't cover all the instructions a 
>>>>> domain
>>>>> could use to access MMIO regions.
>>>>>
>>>>> For instance, a baremetal OS can use any of the following 
>>>>> instructions, where
>>>>> x1 contains the address of the MMIO region:
>>>>>
>>>>> 1.      ldr     x2,    [x1],    #4
>>>> That looks dodgy, since is misaligns the pointer afterwards. MMIO
>>>> access typically go to device memory, which must be naturally aligned.
>>>> Just don't give a bad example here and change that to a multiple of 8.
>>>>> 2.      ldr     w2,    [x1],    #-4
>>>> (this one is fine, btw, because it's a 32-bit read)
>>>>> 3.      ldr     x2,    [x1],    #-8
>>>>> 4.      ldr     w2,    [x1],    #4
>>>>> 5.      ldrh    w2,    [x1],    #8
>>>>> 6.      ldrb    w2,    [x1],    #16
>>>> More naturally I'd use the data size of the postindex value ...
>>>> ldr  x2 ... #-8
>>>> ldr  w2 ... #4
>>>> ldrh w2 ... #2
>>>> ldrb w2 ... #1
>>>>> 7.      str     x2,    [x1],    #4
>>>> This is a again problematic, because x1 is not 8-byte aligned anymore
>>>> after that.
>>>>> 8.      str     w2,    [x1],    #-4
>>>>> 9.      strh    w2,    [x1],    #8
>>>>> 10.     strb    w2,    [x1],    #16
>>>>>
>>>>> In the following two instructions, sp contains the address of the 
>>>>> MMIO region:-
>>>> Really? I don't think you should give people funny ideas, just mention
>>>> that the Rn register could theoretically be the stack pointer.
>>>>> 11.     ldrb    w2,    [sp],    #16
>>>>> 12.     ldrb    wzr,   [sp],    #16
>>>>>
>>>>> In order to handle post-indexing store/load instructions (like 
>>>>> those mentioned
>>>>> above), Xen will need to fetch and decode the instruction.
>>>>>
>>>>> This patch only cover post-index store/load instructions from 
>>>>> AArch64 mode.
>>>>> For now, this is left unimplemented for trap from AArch32 mode.
>>>>>
>>>>> Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
>>>>> ---
>>>>>
>>>>> Changelog :-
>>>>> v2 - 1. Updated the rn register after reading from it. (Pointed by 
>>>>> Julien,
>>>>>           Stefano)
>>>>>        2. Used a union to represent the instruction opcode 
>>>>> (Suggestd by Bertrand)
>>>>>        3. Fixed coding style issues (Pointed by Julien)
>>>>>        4. In the previous patch, I was updating dabt->sign based on 
>>>>> the signedness
>>>>>           of imm9. This was incorrect. As mentioned in ARMv8 ARM  
>>>>> DDI 0487G.b,
>>>>>           Page 3221, SSE indicates the signedness of the data item 
>>>>> loaded. In our
>>>>>           case, the data item loaded is always unsigned.
>>>>>
>>>>> v3- 1. Handled all the variants of ldr/str (ie 64, 32, 16, 8 bit 
>>>>> variants).
>>>>>          Thus, I have removed the check for "instr->code.opc == 0" 
>>>>> (Suggested by
>>>>>          Andre)
>>>>>       2. Handled the scenario when rn = SP, rt = XZR (Suggested by 
>>>>> Jan, Andre)
>>>>>       3. Added restriction for "rt != rn" (Suggested by Andre)
>>>>>       4. Moved union ldr_str_instr_class {} to decode.h. This is 
>>>>> the header included
>>>>>          by io.c and decode.c (where the union is referred). 
>>>>> (Suggested by Jan)
>>>>>       5. Indentation and typo fixes (Suggested by Jan)
>>>>>
>>>>> Changes suggested but could not be considered due to reasons :-
>>>>>       1. Using accessor macros instead of bitfields for 
>>>>> "ldr_str_instr_class". (Andre)
>>>>>          Reason - I could not find a simple way to represent 9 bit 
>>>>> signed integer
>>>>>          (ie imm9) without using bitfields. If I use accessor 
>>>>> macros, then I need
>>>>>          to manually calculate two's complement to obtain the value 
>>>>> when signed
>>>>>          bit is present.
>>>>>
>>>>>       2. I/D cache cohenerncy (Andre)
>>>>>          Reason :- I could not see any instruction to flush the I 
>>>>> cache.
>>>> First, please try to avoid the term "flush", because it is somewhat
>>>> overloaded. The architecture speaks of "clean" and "invalidate", which
>>>> are more precise.
>>>> Assuming you mean "clean" here: conceptually there is no such thing for
>>>> the I cache, because it's always clean. The I$ will only be read from
>>>> the CPU side - from the instruction fetcher - there is nothing written
>>>> back through it. Every store goes through the data path - always.
>>>> That is the problem that I tried to sketch you previously: you don't
>>>> have a guarantee that the instruction you read from memory is the same
>>>> that the CPU executed. The guest could have changed the instruction
>>>> after the I$ fetched that. So the CPU will execute (and trap) on
>>>> instruction X, but you will read Y. I leave it up to your imagination
>>>> if that could be exploited.
>>> I see what you mean.
>>>
>>> Refer Armv8 Arm DDI 0487G.b Page D1-2476, it says that (for instr/data
>>> abort) the faulting virtual address and IPA is saved in FAR_ELx and
>>> HPFAR_EL2 respectively. But, I do not see if the faulting instruction is
>>> saved in any special register. Is there something I am missing ?
>> No, indeed there is no such thing. You get the address, but not the
>> faulting instruction. It would indeed be nice to have from a software
>> developer's point of view, but the architecture does not support it.
>> One reason might be that it's potentially hard to implement, because it
>> could be tricky to reconstruct the original instruction, when it has been
>> broken down to something different in the actual pipelines.
> 
> Is it possible for Arm to implement such a register which will hold the 
> instruction that caused the exception, in the future architecture 
> revision ? This would be useful given that the faulting address (PC) can 
> not be trusted to get to the original faulting instruction (as it can be 
> changed after being loaded in I cache). I could imagine this being 
> useful in any scenario when the user wants to know which instruction 
> caused the fault.
> 
> Stefano/Julien/Bertrand/Volodymyr :- I would love to hear your inputs on 
> this as well.

I have replied on Andre's email. I don't view this issue raised as a 
critical issue (see my answer on Andre's email for more details).


> 
> As for the patch, I will mention this issue (as a comment in the code) 
> where we are loading the instruction from PC. 
> Stefano/Julien/Bertrand/Volodymyr:- Does it look fine with you ?

I will queue the patch for review. I can wait the next version if you 
plan to respin it.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Jan 24 18:23:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 18:23:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259956.448807 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC3zk-00027N-5B; Mon, 24 Jan 2022 18:23:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259956.448807; Mon, 24 Jan 2022 18:23: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 1nC3zk-00027G-1t; Mon, 24 Jan 2022 18:23:12 +0000
Received: by outflank-mailman (input) for mailman id 259956;
 Mon, 24 Jan 2022 18:23:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/GIw=SI=epam.com=prvs=3023887433=oleksii_moisieiev@srs-se1.protection.inumbo.net>)
 id 1nC3zj-00027A-0Y
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 18:23:11 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ac7e3981-7d42-11ec-bc18-3156f6d857e4;
 Mon, 24 Jan 2022 19:23:07 +0100 (CET)
Received: from pps.filterd (m0174676.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20OI8qBo023857;
 Mon, 24 Jan 2022 18:22:56 GMT
Received: from eur01-db5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2052.outbound.protection.outlook.com [104.47.2.52])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3dt14q026m-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 24 Jan 2022 18:22:55 +0000
Received: from PA4PR03MB7136.eurprd03.prod.outlook.com (2603:10a6:102:ea::23)
 by DB9PR03MB7387.eurprd03.prod.outlook.com (2603:10a6:10:221::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Mon, 24 Jan
 2022 18:22:51 +0000
Received: from PA4PR03MB7136.eurprd03.prod.outlook.com
 ([fe80::711f:a15e:91c1:6d43]) by PA4PR03MB7136.eurprd03.prod.outlook.com
 ([fe80::711f:a15e:91c1:6d43%4]) with mapi id 15.20.4909.017; Mon, 24 Jan 2022
 18:22: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: ac7e3981-7d42-11ec-bc18-3156f6d857e4
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Uf5v/pg8n22ClHXDoeyOsHhm1u59vLmt/2Vd92g+sKYU6GJQUny9D/5OsP8JYLbmkDVhQ54K0uvgvpPRsh+wxAPjpKKZSECr60C4bJIGS7xipehhCimPdEj+GEr3tpWXjbLBvVBjEHP7Qy6SSQNXfLwKm3FD44ICwfjE1vbj4Q4gdc/mt1yWc0S25Shk9Ml+WhaqxyTNoMFH5qg7pVHSjCYhcimmuw7w3rMx24BXEk9W6e+MKeEG8THcxUifueMy/tMNnQ/ixkHFLj8ayAUz2wLMhZpmvKMLqJ+eNue6irTVFqnt7GkYIUqbfqgaAXoi5+PiG6tMW0PThPpzzU0G0w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6PyF+bw4I7YzYJDGc0xgtMjzGKwHmkSNCfIzw1bTcMo=;
 b=TbsH/ZIXYAGqSswN7npOCMnAzUESMz6/GbJCIxJmjOGB6cpI+pXxbxYzpQbjX3ujF5EDL7iDca/zgICCNoikGN5nBBYqH78MMUDUr9g74Q2fUNMj0eZZ1BwZKqBtLGR0fKej2nSK9x7VqF+LGju7ZGWFoq5ZIGaXHEbWmI2ySQ1FBFugaJsGxVYt5vrU6+/Yl/3KZd6IQbouL4qxkJnsSRGTT+ASLHsipNbSokeQMD+0nULFBdJGhrj8J4QazjIxsKK19Kphk0QWS4V113Ed/HfjtNtWBxoaGBKV6Ys4xM8slJlsAWocgi6VdlDIRHkDPabw79yXns4nb6HP48DKbA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6PyF+bw4I7YzYJDGc0xgtMjzGKwHmkSNCfIzw1bTcMo=;
 b=nosiOnv6bNqRe81tVVJDY+Vew9jkAqkunzTTbjoPswwKIAcbd3e71ch6Kw3AXQCheyXHWQ+6NHcIKXTFvT8FYRy/UEq1dXpuxgeeSY8smt2KyBlFMgOwJfYDM6HZuQ+oWKCWH4lRk80ysIDmx/x+HIBEG1D3fUJsIHjbCcMgvl1S+2RNB+G5jYu4YFaPgafawLktNI5i3LqC3TLhJqvyXd8jvVeamgncKpdzqomjOEPtRrmQJ7cur8LG5FiyY9yUv+AwsKCQJ6lIW9MT3nOFnW2BKR65D72UJIxWIwFCNIQQTFrwtErrnZpP14tAMJ4oO/mSzFfkRnTHG6N8bOiWsw==
From: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        Julien
 Grall <julien@xen.org>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
Thread-Topic: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
Thread-Index: 
 AQHX8M3JF7Ng56/tV0+8/7pODiaWfKw3iHyAgAQwJICAAG+xgIABQZuAgAAWSACAAOV/AIABANAAgCsRKgCAAOC8gIAAlQqAgADLX4CAARblgIAAX5CAgASN5YA=
Date: Mon, 24 Jan 2022 18:22:50 +0000
Message-ID: <20220124182249.GA2485483@EPUAKYIW015D>
References: <20211221200305.GA2460476@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2112211310000.2060010@ubuntu-linux-20-04-desktop>
 <20211222110414.GA2883815@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2112221627190.2060010@ubuntu-linux-20-04-desktop>
 <20220119120400.GA3779126@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2201191644400.19362@ubuntu-linux-20-04-desktop>
 <20220120102147.GA4153317@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2201201230480.27308@ubuntu-linux-20-04-desktop>
 <20220121150753.GA898010@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2201211236060.27308@ubuntu-linux-20-04-desktop>
In-Reply-To: 
 <alpine.DEB.2.22.394.2201211236060.27308@ubuntu-linux-20-04-desktop>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 6c287590-8120-4a11-9e57-08d9df6687e4
x-ms-traffictypediagnostic: DB9PR03MB7387:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <DB9PR03MB7387F3489FAEC63A9AD1528BE35E9@DB9PR03MB7387.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: 
 W7Acj7ljVizmf8+ZWXxp9q6nykl7gLmWS2OCMTWz6mTnArT9Lmy7u3+J5DCRYfeFvyZC3b09R0zn17zrVeujRRrTcPTDgA1GWMoU9XT4ExjvdZ6dqhUO5+ucme/NJFC82R3JnUS686lFJWKUy2ByrGCEBOAqYeCVU4Oab39lh6OL09hy6GjvsU8PJhlJYN+EaAXobr3qB+ASLRPR3SViUa1sLlzPowDseYsmYhIsuHXCYYAFce6mMKoXPsvKPHDj1z62gY/H2AGcYdZvnplQCvp90AkKTU3U0hZRBg4XQwsHDPxNkXuBQCAjVnUlEkH0ioauC636Wx71a485wCj4BppBFyOeUaqYbKmLSINjsJvp+MuKhb9ctnZw/N3/Odir/K96xxOcK/hS7zLNXabpdOL2YLvh28jNkFxg1hDDJHbB7JO4b3qumgHM3SHT3wQ22SzgJHQfsSg4IuyXRkh/CGHIBAnPdUEHtBvIqOzYsb6i1xvPNmDZBsDXl3xgQOveoH6Fp/yOt3BqRSwrdkIavL15ApmueA3RQEsmRWaOAyvqOVBQd/cJA1RBkJ9TSJHj4+09MS8QZO2noxYcjc6UehNUu7P95ZGu4yV3VhckNrxyvj3Q7xNawQEae1YkG/2sda6s1mvnRL0IEpAHRj9Y5/SFgo3R9XzuDRNii4Z2QbT4O6/lX9064cyEuHsy6P2ubBr/3IpM8iibba2JWrgN0jgMN4mc/WRP1HpCc/OT8xJAzjXxX0wHMzexCFxHeVfI9+qBC0Zcp1JBYqgtNKa6u4QEt5cTVFwV8MQ13m1otZ8Qa9Uk10hnPJ2qTLAtOSmMST5J7KqtvkUIeil5dyji0h/V5WAId3+wTDyNVAFuwCvBE9cenBR3z8y3b4PvalDe
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR03MB7136.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(84040400005)(186003)(33716001)(71200400001)(508600001)(9686003)(26005)(54906003)(30864003)(6512007)(38070700005)(6506007)(966005)(8676002)(2906002)(91956017)(76116006)(5660300002)(4326008)(66446008)(66946007)(66476007)(66556008)(64756008)(33656002)(6916009)(38100700002)(316002)(86362001)(6486002)(8936002)(122000001)(83380400001)(1076003)(2004002)(21314003)(559001)(579004);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?us-ascii?Q?lK8zy4zoA36Ly7yU86QZDoCeoGVag3BCcrBzY4PuOnfQQ5n1FJA/XfRj3OnZ?=
 =?us-ascii?Q?UEaASbT3Fa/ZM9d9ON4tRtm8W4VkNc2glXuLYZUaQ6vLsd3H8zqaUe9vYmVt?=
 =?us-ascii?Q?i7X/ybWyCF57P2YMdK8BI+yfOEU3IokUNDTgzTiHmGewq/CTN0vFCjRZ0p43?=
 =?us-ascii?Q?N/bcTjacr4v+vsxpnyCDCAEoxD1XpI2YkRNr4vSNQ1W/p89K3OZFRf3rgCYZ?=
 =?us-ascii?Q?ugd/L+z0wCzX1BIAvEbmVXXHikmWvDYYffMOlnXvjGdi4tWm8IqaadP9224D?=
 =?us-ascii?Q?rLSPH9AFi7NrxWFI43MVz3JkdEEiK0rLDWKHQpfTQ3htQ/GspHYUqmtDrVi8?=
 =?us-ascii?Q?6KF7uDUSqd+5uOkQ3UCFO8hL3Yyr3x7oUzVi5+lN8aCsu/1ieAZSgZcsmOWW?=
 =?us-ascii?Q?IlU/ta+XSD+FNaAfuwrrllE6E3VudVE9KD4M7KE2uxVl5dip5ZMX5Pu5EqLa?=
 =?us-ascii?Q?GozJXoSLKtUQi4cVx4Aq4OBB8BbzHdYc/YQw1ilg2ZQyfQUI820I2W0pdXfh?=
 =?us-ascii?Q?7SeC/vEXnzkXidLm0WvTj14Q4DmPDd93bgv3pPhSAee4d6e83m11BOr25JVd?=
 =?us-ascii?Q?XdPxEemSWGEPrOTTcOoO0QJKr1DWB8mItjqmPVirFrCKPIIIJ4CvIrGpNWp+?=
 =?us-ascii?Q?nl+T+0jTy72qtjtseb3Tl50JjVmPMQOOORhTY1Qnsx9aR8WQjItobq8RfjEY?=
 =?us-ascii?Q?4gqbcFBKk2Mv/qYQbBojD9gL2Mv9yRb5tacVTjyrnQTMsurK29w5niwi3BZy?=
 =?us-ascii?Q?bt6VJS9SiDrTBUrOJrKi/dKdpz/dtletzChhiO2Nzf9fiyDaxGT4pkufEfbk?=
 =?us-ascii?Q?gIS15wvdTSg0wlT9HsedQfn1TUaY1NvVa9k2LXZsGU3eQ9snX8ozs+PJR7Ss?=
 =?us-ascii?Q?XKNGEEKHaaPNUDdJTDwmxfzi7o/rqvr9cLkTy1XGKJjJ9soTVuWzMc55whK9?=
 =?us-ascii?Q?E4xd5OpUx4rySCj7eo3lEYC8+MOUcO6Dw00CWgNXaav2Ib/t0AP2drqQIZyu?=
 =?us-ascii?Q?clb/Sa9mPqvIRCms0tjJHf8mD+9+YGELcGQeqMSoTMUDhvzF4swuPjK8TaIw?=
 =?us-ascii?Q?Xmt6Vndj+tz9S/NdMjcsBkY0RkbWGMYpIynaX9xoPzFH/VfCqlP/6SkXwxEY?=
 =?us-ascii?Q?u8SN3kTt2tPoyJJFb+upFm8qwPusJ7F0c/8hYzamCYJuU5179Q+woposuluT?=
 =?us-ascii?Q?fCR+7wBwVuASv4FY6fDGqHXDVjpd43dYPSGx1Gp2VA2gFedRsmZnEYIyGMqZ?=
 =?us-ascii?Q?N3K536EUA2i3+SmSKlOS9F63RL3Skj0EmblHL2dNxnBtOWZ3CMLK/R7nybnK?=
 =?us-ascii?Q?bc/UPcDIud2Y4y+sx9xCkyZXIWG1ODo43VIMfopkxDnji7koR1iUdEiLIbRP?=
 =?us-ascii?Q?MvQiI01TvecOyUJJjjDrPeB4vsNBe099GIAWX7BN8SXwY6QJ9YPC7wWelwqT?=
 =?us-ascii?Q?CFwsoGzQTYBu9I+sYM5S61xaeJRUYh80ontK10THHLZxWIdWfAEMGfawxM2C?=
 =?us-ascii?Q?5uQG5zeN6E9bqOHNSFBiLR555IfwxfwEW7b53OkBvuE8ZovhPRTwTRmbW7+x?=
 =?us-ascii?Q?YNTMIeVvcnw1J6AKZVi+Ip336TXHxG8sf3aaJ5DasRglMgqipxksxAEMzFo0?=
 =?us-ascii?Q?N+oo9cReLQkzEPn2fdDfSmCmpuqMW1CzRdmavxV3ptlC4PJ+SBxL4mbsHu4i?=
 =?us-ascii?Q?OVPxtXpUJ/LEKOk08uYEbzZZ1m0=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <766BD1BFAACF63408721028DE7E3EB48@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PA4PR03MB7136.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6c287590-8120-4a11-9e57-08d9df6687e4
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jan 2022 18:22:50.8263
 (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: 7hruIemu9BRmXXfWd4ICOTAtTgWm8sAb4Kx/fTn/UGsNzoXXxs4+vID/jwTPgjegHufYkA6QvJuz+4K9Lx2Cr2Sn94rDfdvI9fVa/nmRDEA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR03MB7387
X-Proofpoint-ORIG-GUID: _v-pQdUo7pf331yi8V-WOGk72GpYnVsj
X-Proofpoint-GUID: _v-pQdUo7pf331yi8V-WOGk72GpYnVsj
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-24_09,2022-01-24_02,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0
 adultscore=0 impostorscore=0 phishscore=0 suspectscore=0
 priorityscore=1501 bulkscore=0 spamscore=0 mlxscore=0 clxscore=1015
 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx
 scancount=1 engine=8.12.0-2201110000 definitions=main-2201240121

On Fri, Jan 21, 2022 at 12:49:55PM -0800, Stefano Stabellini wrote:
> On Fri, 21 Jan 2022, Oleksii Moisieiev wrote:
> > On Thu, Jan 20, 2022 at 02:29:41PM -0800, Stefano Stabellini wrote:
> > > On Thu, 20 Jan 2022, Oleksii Moisieiev wrote:
> > > > On Wed, Jan 19, 2022 at 05:28:21PM -0800, Stefano Stabellini wrote:
> > > > > On Wed, 19 Jan 2022, Oleksii Moisieiev wrote:
> > > > > > On Wed, Dec 22, 2021 at 06:23:24PM -0800, Stefano Stabellini wr=
ote:
> > > > > > > On Wed, 22 Dec 2021, Oleksii Moisieiev wrote:
> > > > > > > > On Tue, Dec 21, 2021 at 01:22:50PM -0800, Stefano Stabellin=
i wrote:
> > > > > > > > > On Tue, 21 Dec 2021, Oleksii Moisieiev wrote:
> > > > > > > > > > Hi Stefano,
> > > > > > > > > >
> > > > > > > > > > On Mon, Dec 20, 2021 at 04:52:01PM -0800, Stefano Stabe=
llini wrote:
> > > > > > > > > > > On Mon, 20 Dec 2021, Oleksii Moisieiev wrote:
> > > > > > > > > > > > Hi Stefano,
> > > > > > > > > > > >
> > > > > > > > > > > > On Fri, Dec 17, 2021 at 06:14:55PM -0800, Stefano S=
tabellini wrote:
> > > > > > > > > > > > > On Tue, 14 Dec 2021, Oleksii Moisieiev wrote:
> > > > > > > > > > > > > > This is the implementation of SCI interface, ca=
lled SCMI-SMC driver,
> > > > > > > > > > > > > > which works as the mediator between XEN Domains=
 and Firmware (SCP, ATF etc).
> > > > > > > > > > > > > > This allows devices from the Domains to work wi=
th clocks, resets and
> > > > > > > > > > > > > > power-domains without access to CPG.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > The following features are implemented:
> > > > > > > > > > > > > > - request SCMI channels from ATF and pass chann=
els to Domains;
> > > > > > > > > > > > > > - set device permissions for Domains based on t=
he Domain partial
> > > > > > > > > > > > > > device-tree. Devices with permissions are able =
to work with clocks,
> > > > > > > > > > > > > > resets and power-domains via SCMI;
> > > > > > > > > > > > > > - redirect scmi messages from Domains to ATF.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Signed-off-by: Oleksii Moisieiev <oleksii_moisi=
eiev@epam.com>
> > > > > > > > > > > > > > ---
> > > > > > > > > > > > > >  xen/arch/arm/Kconfig          |   2 +
> > > > > > > > > > > > > >  xen/arch/arm/sci/Kconfig      |  10 +
> > > > > > > > > > > > > >  xen/arch/arm/sci/Makefile     |   1 +
> > > > > > > > > > > > > >  xen/arch/arm/sci/scmi_smc.c   | 795 ++++++++++=
++++++++++++++++++++++++
> > > > > > > > > > > > > >  xen/include/public/arch-arm.h |   1 +
> > > > > > > > > > > > > >  5 files changed, 809 insertions(+)
> > > > > > > > > > > > > >  create mode 100644 xen/arch/arm/sci/Kconfig
> > > > > > > > > > > > > >  create mode 100644 xen/arch/arm/sci/scmi_smc.c
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > diff --git a/xen/arch/arm/Kconfig b/xen/arch/ar=
m/Kconfig
> > > > > > > > > > > > > > index 186e1db389..02d96c6cfc 100644
> > > > > > > > > > > > > > --- a/xen/arch/arm/Kconfig
> > > > > > > > > > > > > > +++ b/xen/arch/arm/Kconfig
> > > > > > > > > > > > > > @@ -114,6 +114,8 @@ config SCI
> > > > > > > > > > > > > >  	  support. It allows guests to control system=
 resourcess via one of
> > > > > > > > > > > > > >  	  SCI mediators implemented in XEN.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > +source "arch/arm/sci/Kconfig"
> > > > > > > > > > > > > > +
> > > > > > > > > > > > > >  endmenu
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >  menu "ARM errata workaround via the alternativ=
e framework"
> > > > > > > > > > > > > > diff --git a/xen/arch/arm/sci/Kconfig b/xen/arc=
h/arm/sci/Kconfig
> > > > > > > > > > > > > > new file mode 100644
> > > > > > > > > > > > > > index 0000000000..9563067ddc
> > > > > > > > > > > > > > --- /dev/null
> > > > > > > > > > > > > > +++ b/xen/arch/arm/sci/Kconfig
> > > > > > > > > > > > > > @@ -0,0 +1,10 @@
> > > > > > > > > > > > > > +config SCMI_SMC
> > > > > > > > > > > > > > +	bool "Enable SCMI-SMC mediator driver"
> > > > > > > > > > > > > > +	default n
> > > > > > > > > > > > > > +	depends on SCI
> > > > > > > > > > > > > > +	---help---
> > > > > > > > > > > > > > +
> > > > > > > > > > > > > > +	Enables mediator in XEN to pass SCMI requests=
 from Domains to ATF.
> > > > > > > > > > > > > > +	This feature allows drivers from Domains to w=
ork with System
> > > > > > > > > > > > > > +	Controllers (such as power,resets,clock etc.)=
. SCP is used as transport
> > > > > > > > > > > > > > +	for communication.
> > > > > > > > > > > > > > diff --git a/xen/arch/arm/sci/Makefile b/xen/ar=
ch/arm/sci/Makefile
> > > > > > > > > > > > > > index 837dc7492b..67f2611872 100644
> > > > > > > > > > > > > > --- a/xen/arch/arm/sci/Makefile
> > > > > > > > > > > > > > +++ b/xen/arch/arm/sci/Makefile
> > > > > > > > > > > > > > @@ -1 +1,2 @@
> > > > > > > > > > > > > >  obj-y +=3D sci.o
> > > > > > > > > > > > > > +obj-$(CONFIG_SCMI_SMC) +=3D scmi_smc.o
> > > > > > > > > > > > > > diff --git a/xen/arch/arm/sci/scmi_smc.c b/xen/=
arch/arm/sci/scmi_smc.c
> > > > > > > > > > > > > > new file mode 100644
> > > > > > > > > > > > > > index 0000000000..2eb01ea82d
> > > > > > > > > > > > > > --- /dev/null
> > > > > > > > > > > > > > +++ b/xen/arch/arm/sci/scmi_smc.c
> > > > > > > > > > > > > > @@ -0,0 +1,795 @@
> > > > > > > > > > > > > > +/*
> > > > > > > > > > > > > > + * xen/arch/arm/sci/scmi_smc.c
> > > > > > > > > > > > > > + *
> > > > > > > > > > > > > > + * SCMI mediator driver, using SCP as transpor=
t.
> > > > > > > > > > > > > > + *
> > > > > > > > > > > > > > + * Oleksii Moisieiev <oleksii_moisieiev@epam.c=
om>
> > > > > > > > > > > > > > + * Copyright (C) 2021, EPAM Systems.
> > > > > > > > > > > > > > + *
> > > > > > > > > > > > > > + * This program is free software; you can redi=
stribute it and/or modify
> > > > > > > > > > > > > > + * it under the terms of the GNU General Publi=
c License as published by
> > > > > > > > > > > > > > + * the Free Software Foundation; either versio=
n 2 of the License, or
> > > > > > > > > > > > > > + * (at your option) any later version.
> > > > > > > > > > > > > > + *
> > > > > > > > > > > > > > + * This program is distributed in the hope tha=
t it will be useful,
> > > > > > > > > > > > > > + * but WITHOUT ANY WARRANTY; without even the =
implied warranty of
> > > > > > > > > > > > > > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR=
 PURPOSE.  See the
> > > > > > > > > > > > > > + * GNU General Public License for more details=
.
> > > > > > > > > > > > > > + */
> > > > > > > > > > > > > > +
> > > > > > > > > > > > > > +#include <asm/sci/sci.h>
> > > > > > > > > > > > > > +#include <asm/smccc.h>
> > > > > > > > > > > > > > +#include <asm/io.h>
> > > > > > > > > > > > > > +#include <xen/bitops.h>
> > > > > > > > > > > > > > +#include <xen/config.h>
> > > > > > > > > > > > > > +#include <xen/sched.h>
> > > > > > > > > > > > > > +#include <xen/device_tree.h>
> > > > > > > > > > > > > > +#include <xen/iocap.h>
> > > > > > > > > > > > > > +#include <xen/init.h>
> > > > > > > > > > > > > > +#include <xen/err.h>
> > > > > > > > > > > > > > +#include <xen/lib.h>
> > > > > > > > > > > > > > +#include <xen/list.h>
> > > > > > > > > > > > > > +#include <xen/mm.h>
> > > > > > > > > > > > > > +#include <xen/string.h>
> > > > > > > > > > > > > > +#include <xen/time.h>
> > > > > > > > > > > > > > +#include <xen/vmap.h>
> > > > > > > > > > > > > > +
> > > > > > > > > > > > > > +#define SCMI_BASE_PROTOCOL                  0x=
10
> > > > > > > > > > > > > > +#define SCMI_BASE_PROTOCOL_ATTIBUTES        0x=
1
> > > > > > > > > > > > > > +#define SCMI_BASE_SET_DEVICE_PERMISSIONS    0x=
9
> > > > > > > > > > > > > > +#define SCMI_BASE_RESET_AGENT_CONFIGURATION 0x=
B
> > > > > > > > > > > > > > +#define SCMI_BASE_DISCOVER_AGENT            0x=
7
> > > > > > > > > > > > > > +
> > > > > > > > > > > > > > +/* SCMI return codes. See section 4.1.4 of SCM=
I spec (DEN0056C) */
> > > > > > > > > > > > > > +#define SCMI_SUCCESS              0
> > > > > > > > > > > > > > +#define SCMI_NOT_SUPPORTED      (-1)
> > > > > > > > > > > > > > +#define SCMI_INVALID_PARAMETERS (-2)
> > > > > > > > > > > > > > +#define SCMI_DENIED             (-3)
> > > > > > > > > > > > > > +#define SCMI_NOT_FOUND          (-4)
> > > > > > > > > > > > > > +#define SCMI_OUT_OF_RANGE       (-5)
> > > > > > > > > > > > > > +#define SCMI_BUSY               (-6)
> > > > > > > > > > > > > > +#define SCMI_COMMS_ERROR        (-7)
> > > > > > > > > > > > > > +#define SCMI_GENERIC_ERROR      (-8)
> > > > > > > > > > > > > > +#define SCMI_HARDWARE_ERROR     (-9)
> > > > > > > > > > > > > > +#define SCMI_PROTOCOL_ERROR     (-10)
> > > > > > > > > > > > > > +
> > > > > > > > > > > > > > +#define DT_MATCH_SCMI_SMC DT_MATCH_COMPATIBLE(=
"arm,scmi-smc")
> > > > > > > > > > > > > > +
> > > > > > > > > > > > > > +#define SCMI_SMC_ID                        "ar=
m,smc-id"
> > > > > > > > > > > > > > +#define SCMI_SHARED_MEMORY                 "li=
nux,scmi_mem"
> > > > > > > > > > > > >
> > > > > > > > > > > > > I could find the following SCMI binding in Linux,=
 which describes
> > > > > > > > > > > > > the arm,scmi-smc compatible and the arm,smc-id pr=
operty:
> > > > > > > > > > > > >
> > > > > > > > > > > > > Documentation/devicetree/bindings/firmware/arm,sc=
mi.yaml
> > > > > > > > > > > > >
> > > > > > > > > > > > > However, linux,scmi_mem is not described. Aren't =
you supposed to read
> > > > > > > > > > > > > the "shmem" property instead? And the compatible =
string used for this
> > > > > > > > > > > > > seems to be "arm,scmi-shmem".
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > We use linux,scmi_mem node to reserve memory, neede=
d for all
> > > > > > > > > > > > channels:
> > > > > > > > > > > >
> > > > > > > > > > > > reserved-memory {
> > > > > > > > > > > >     /* reserved region for scmi channels*/
> > > > > > > > > > > >     scmi_memory: linux,scmi_mem@53FF0000 {
> > > > > > > > > > > >         no-map;
> > > > > > > > > > > >         reg =3D <0x0 0x53FF0000 0x0 0x10000>;
> > > > > > > > > > > >     };
> > > > > > > > > > > > };
> > > > > > > > > > > >
> > > > > > > > > > > > arm,scmi-shmem node used in shmem property defines =
only 1 page needed to
> > > > > > > > > > > > the current scmi channel:
> > > > > > > > > > > >
> > > > > > > > > > > > cpu_scp_shm: scp-shmem@0x53FF0000 {
> > > > > > > > > > > >     compatible =3D "arm,scmi-shmem";
> > > > > > > > > > > >     reg =3D <0x0 0x53FF0000 0x0 0x1000>;
> > > > > > > > > > > > };
> > > > > > > > > > > >
> > > > > > > > > > > > For each Domain reg points to unigue page from linu=
x,scmi_mem region,
> > > > > > > > > > > > assigned to this agent.
> > > > > > > > > > >
> > > > > > > > > > > If we were to use "linux,scmi_mem" we would have to i=
ntroduce it as a
> > > > > > > > > > > compatible string, not as a node name, and it would n=
eed to be described
> > > > > > > > > > > in Documentation/devicetree/bindings/firmware/arm,scm=
i.yaml.
> > > > > > > > > > >
> > > > > > > > > > > But from your description I don't think it is necessa=
ry. We can just use
> > > > > > > > > > > "arm,scmi-shmem" to describe all the required regions=
:
> > > > > > > > > > >
> > > > > > > > > > > reserved-memory {
> > > > > > > > > > >     scp-shmem@0x53FF0000 {
> > > > > > > > > > >         compatible =3D "arm,scmi-shmem";
> > > > > > > > > > >         reg =3D <0x0 0x53FF0000 0x0 0x1000>;
> > > > > > > > > > >     };
> > > > > > > > > > >     scp-shmem@0x53FF1000 {
> > > > > > > > > > >         compatible =3D "arm,scmi-shmem";
> > > > > > > > > > >         reg =3D <0x0 0x53FF1000 0x0 0x1000>;
> > > > > > > > > > >     };
> > > > > > > > > > >     scp-shmem@0x53FF2000 {
> > > > > > > > > > >         compatible =3D "arm,scmi-shmem";
> > > > > > > > > > >         reg =3D <0x0 0x53FF2000 0x0 0x1000>;
> > > > > > > > > > >     };
> > > > > > > > > > >     ...
> > > > > > > > > > >
> > > > > > > > > > > In other words, if all the individual channel pages a=
re described as
> > > > > > > > > > > "arm,scmi-shmem", why do we also need a single larger=
 region as
> > > > > > > > > > > "linux,scmi_mem"?
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > That was my first implementation. But I've met a proble=
m with
> > > > > > > > > > scmi driver in kernel. I don't remember the exact place=
, but I remember
> > > > > > > > > > there were some if, checking if memory weren't reserved=
.
> > > > > > > > > > That's why I ended up splitting nodes reserved memory r=
egion and actual
> > > > > > > > > > shmem page.
> > > > > > > > > > For linux,scmi_mem node I took format from /reserved-me=
mory/linux,lossy_decompress@54000000,
> > > > > > > > > > which has no compatible string and provides no-map prop=
erty.
> > > > > > > > > > linux,scmi_shmem node is needed to prevent xen from all=
ocating this
> > > > > > > > > > space for the domain.
> > > > > > > > > >
> > > > > > > > > > Very interesting question about should I introduce linu=
x,scmi_mem node
> > > > > > > > > > and scmi_devid property to the
> > > > > > > > > > Documentation/devicetree/bindings/firmware/arm,scmi.yam=
l?
> > > > > > > > > > Those node and property are needed only for Xen and use=
less for
> > > > > > > > > > non-virtualized systems. I can add this node and proper=
ty description to
> > > > > > > > > > arm,scmi.yaml, but leave a note that this is Xen specif=
ic params.
> > > > > > > > > > What do you think about it?
> > > > > > > > >
> > > > > > > > > Reply below
> > > > > > > > >
> > > > > > > > > [...]
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > > > In general we can't use properties that are not part =
of the device tree
> > > > > > > > > > > spec, either https://urldefense.com/v3/__https://www.=
devicetree.org/specifications/__;!!GF_29dbcQIUBPA!kNodtgmOQBc1iO76_6vTK-O1S=
oLxee_ChowYQiQYC595rMOsrnmof2zmk7BnhXCSnJPN$ [devicetree[.]org] or
> > > > > > > > > > > https://urldefense.com/v3/__https://git.kernel.org/pu=
b/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bin=
dings__;!!GF_29dbcQIUBPA!kNodtgmOQBc1iO76_6vTK-O1SoLxee_ChowYQiQYC595rMOsrn=
mof2zmk7BnhXloYUaj$ [git[.]kernel[.]org]
> > > > > > > > > > >
> > > > > > > > > > > "linux,scmi_mem" is currently absent. Are you aware o=
f any upstreaming
> > > > > > > > > > > activities to get "linux,scmi_mem" upstream under
> > > > > > > > > > > Documentation/devicetree/bindings in Linux?
> > > > > > > > > > >
> > > > > > > > > > > If "linux,scmi_mem" is going upstream in Linux, then =
we could use it.
> > > > > > > > > > > Otherwise, first "linux,scmi_mem" needs to be added s=
omewhere under
> > > > > > > > > > > Documentation/devicetree/bindings (probably
> > > > > > > > > > > Documentation/devicetree/bindings/firmware/arm,scmi.y=
aml), then we can
> > > > > > > > > > > work on the Xen code that makes use of it.
> > > > > > > > > > >
> > > > > > > > > > > Does it make sense?
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > Yes I agree. I think linux,scmi_mem and scmi_devid shou=
ld be upstreamed.
> > > > > > > > > > I will add those properties to arm,scmi.yaml, mark them=
 as related to XEN and send patch.
> > > > > > > > >
> > > > > > > > > I didn't realize that linux,scmi_mem and scmi_devid are s=
upposed to be
> > > > > > > > > Xen specific. In general, it would be best not to introdu=
ce Xen specific
> > > > > > > > > properties into generic bindings. It is a problem both fr=
om a
> > > > > > > > > specification perspective (because it has hard to handle =
Xen specific
> > > > > > > > > cases in fully generic bindings, especially as those bind=
ings are
> > > > > > > > > maintained as part of the Linux kernel) and from a user p=
erspective
> > > > > > > > > (because now the user has to deal with a Xen-specific dtb=
, or has to
> > > > > > > > > modify the host dtb to add Xen-specific information by ha=
nd.)
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Let me start from scmi_devid.  Why would scmi_devid be Xe=
n-specific? It
> > > > > > > > > looks like a generic property that should be needed for t=
he Linux SCMI
> > > > > > > > > driver too. Why the Linux driver doesn't need it?
> > > > > > > > >
> > > > > > > >
> > > > > > > > scmi_devid used during domain build. It passed as input par=
ameter for SCMI_BASE_SET_DEVICE_PERMISSIONS message.
> > > > > > > > On non-virtualized systems - there is no need of this call,=
 because OS
> > > > > > > > is the only one entity, running on the system.
> > > > > > >
> > > > > > > OK. Even if it is only required for virtualized systems, I th=
ink that
> > > > > > > scmi_devid is important enough that should be part of the ups=
tream
> > > > > > > binding. I think it is worth starting an email thread on the =
LKML with
> > > > > > > Rob Herring and the SCMI maintainers to discuss the addition =
of
> > > > > > > scmi_devid to the binding.
> > > > > > >
> > > > > > >
> > > > > > > > I've chatted with Volodymyr_Babchuk and he gave a great ide=
a to add a
> > > > > > > > list of device_ids to dom.cfg, such as:
> > > > > > > > sci_devs =3D [ 0, 1, 15, 35 ];
> > > > > > > >
> > > > > > > > Using this approach, we can remove scmi_devid from the devi=
ce tree and
> > > > > > > > just pass a list of scmi_devids to XEN using additional hyp=
ercall.
> > > > > > > > We can probably make hypercall taking devid list as input p=
arameter.
> > > > > > > > This will take only 1 hypercall to setup sci permissions.
> > > > > > >
> > > > > > > But how would a user know which are the right SCMI IDs to add=
 to the
> > > > > > > sci_devs list? Would the user have to go and read the referen=
ce manual
> > > > > > > of the platform to find the SCMI IDs and then write sci_devs =
by hand?
> > > > > > > If that is the case, then I think that it would be better to =
add
> > > > > > > scmi_devid to device tree.
> > > > > > >
> > > > > > > In general, I think this configuration should happen automati=
cally
> > > > > > > without user intervention. The user should just specify "enab=
le SCMI"
> > > > > > > and it should work.
> > > > > > >
> > > > > > >
> > > > > > > > > In regards to linux,scmi_mem, I think it would be best to=
 do without it
> > > > > > > > > and fix the Linux SCMI driver if we need to do so. Xen sh=
ould be able to
> > > > > > > > > parse the native "arm,scmi-shmem" nodes and Linux (dom0 o=
r domU) should
> > > > > > > > > be able to parse the "arm,scmi-shmem" nodes generated by =
Xen. Either
> > > > > > > > > way, I don't think we should need linux,scmi_mem.
> > > > > > > >
> > > > > > > > This requires further investigation. I will try to make imp=
lementation
> > > > > > > > without linux,scmi_mem, using only arm,scmi-shmem nodes and=
 share
> > > > > > > > reuslts with you.
> > > > > > >
> > > > > > > OK, thanks.
> > > > > >
> > > > > > Hi Stefano,
> > > > > >
> > > > > > As I did some investigation about using reserved-memory area
> > > > > > linux,scmi_mem and now I need your advice.
> > > > > >
> > > > > > I see 2 possible implementations for now:
> > > > > > 1) Add memory-region parameter to cpu_scp_shm node which points=
 to the
> > > > > > reserved memory region.
> > > > > > So device-tree will look like this:
> > > > > >
> > > > > > 	reserved-memory {
> > > > > > 		/* reserved region for scmi channels*/
> > > > > > 		scmi_memory: region@53FF0000{
> > > > > > 			no-map;
> > > > > > 			reg =3D <0x0 0x53FF0000 0x0 0x10000>;
> > > > > > 		};
> > > > > > 	};
> > > > > > 	cpu_scp_shm: scp-shmem@0x53FF0000 {
> > > > > > 		compatible =3D "arm,scmi-shmem";
> > > > > > 		reg =3D <0x0 0x53FF0000 0x0 0x1000>;
> > > > > > 		memory-region =3D <&scmi_memory>;
> > > > > > 	};
> > > > > >
> > > > > > So cpu_scp_shm node has a reference to scmi_memory region. This=
 mean
> > > > > > that xen can find reserved memory region without adding additio=
nal names
> > > > > > to the device-tree bindings.
> > > > > > memory-region parameter as a reference to reserved memory and r=
egion
> > > > > > creation described in:
> > > > > > https://urldefense.com/v3/__https://github.com/torvalds/linux/b=
lob/v5.15/Documentation/devicetree/bindings/reserved-memory/reserved-memory=
.txt__;!!GF_29dbcQIUBPA!k6x19x1gYF1CPlgAZj7std3ifqhq-9DXvuF0nwonNPUwMzZpYHY=
brRJziJrgdFIOjyan$ [github[.]com]
> > > > > >
> > > > > > This approach I've implemented already and it works.
> > > > >
> > > > > This approach would require a discussion with the upstream device=
 tree
> > > > > maintainers. Likely, we would need to add a note about the usage =
of the
> > > > > "memory-region" property to arm,scmi.yaml.
> > > > >
> > > > > Also, I have the feeling that they would ask to add the "memory-r=
egion"
> > > > > property directly to the "arm,scmi-smc" node, as an alternative (=
or
> > > > > in addition) to the existing "shmem" property.
> > > > >
> > > > > That said, from my point of view this approach is also a viable o=
ption.
> > > > > I don't see any major problems.
> > > > >
> > > > > The main question (after reading everything else that you wrote b=
elow)
> > > > > is whether the "arm,scmi-smc" node in this case could be automati=
cally
> > > > > generated.
> > > > >
> > > >=20
> > > > arm,scmi-smc node can be generated in both cases. I think I'd leave=
 it
> > > > as backup in case if the second approach will not work.
> > > >=20
> > > > >
> > > > > > 2) The second approach is the format you suggested:
> > > > > > > > > > > reserved-memory {
> > > > > > > > > > >     scp-shmem@0x53FF0000 {
> > > > > > > > > > >         compatible =3D "arm,scmi-shmem";
> > > > > > > > > > >         reg =3D <0x0 0x53FF0000 0x0 0x1000>;
> > > > > > > > > > >     };
> > > > > > > > > > >     scp-shmem@0x53FF1000 {
> > > > > > > > > > >         compatible =3D "arm,scmi-shmem";
> > > > > > > > > > >         reg =3D <0x0 0x53FF1000 0x0 0x1000>;
> > > > > > > > > > >     };
> > > > > > > > > > >     scp-shmem@0x53FF2000 {
> > > > > > > > > > >         compatible =3D "arm,scmi-shmem";
> > > > > > > > > > >         reg =3D <0x0 0x53FF2000 0x0 0x1000>;
> > > > > > > > > > >     };
> > > > > > > > > > >     ...
> > > > > >
> > > > > > This approach has an advantage that xen ARM_SCI driver do not k=
now about
> > > > > > how channels are placed in the reserved memory, but introduces =
some
> > > > > > disadvantages:
> > > > > > a) We provide extra 14 (in our case) arm,scmi-shmem nodes which=
 are not used
> > > > > > in the device-tree. In current implementation I have separate s=
cmi.dtsi
> > > > > > file which introduces scmi support for both XEN-based and
> > > > > > non-virtualized systems. Having 14 extra channels in the device=
-tree may
> > > > > > be confusing.
> > > > >
> > > > > I can see that while it would be ideal for Xen to see all 14+1 ch=
annels
> > > > > in device tree (on the host device tree), we wouldn't want to exp=
ose all
> > > > > of them to the domains, not even to dom0.
> > > > >
> > > > > How many channels do we want dom0 to see by the way? For this
> > > > > discussion, I'll just assume for now that dom0 only sees 1 channe=
l like
> > > > > the domUs.
> > > >=20
> > > > For dom0 we need only one channel.
> > > >=20
> > > > >
> > > > > Now we have a problem: how do we go about "filtering" the
> > > > > "arm,scmi-shmem" device tree nodes? Which is also what you are as=
king
> > > > > below in point b).
> > > > >
> > > >=20
> > > > Xen will not need to filter "arm,scmi-shmem" node. It will just
> > > > create shmem node in Domain device-tree. I don't see any problem fo=
r xen
> > > > configuration here.
> > > > What bothers me here is that I set scmi configuration for platform =
dts,
> > > > not for xen or domu dts files.
> > > > So for example I have the following structure of the dts files for =
my
> > > > platform (r8a77961-salvator-xs):
> > > >  * r8a77961-scmi.dtsi - this file includes all scmi related nodes a=
nd set
> > > > scmi_devid for the devices, that should use scmi.
> > > >  * r8a77961-salvator-xs.dts - dts file which generates dtb for the =
platform.
> > > > It includes r8a77961-scmi.dtsi so I populate scmi to platform dtb, =
which
> > > > is used for system with no hypervisor.
> > > >  * r8a77961-salvator-xs-xen.dts - dts file for xen which includes
> > > > r8a77961-salvator-xs.dts and inherits scmi configuration from it.
> > > >  * r8a77961-salvator-xs-domu.dts - dts file for DomU which includes
> > > > r8a77961-salvator-xs.dts and inherits scmi configuration from it.
> > > >=20
> > > > In this case r8a77961-salvator-xs.dtb r8a77961-salvator-xs-xen.dtb
> > > > r8a77961-salvator-xs-domu.dtb files will inherit 14+1 channel.
> > > >=20
> > > > I can give you a link to Merge request with this changes if you nee=
d it.
> > > >=20
> > > > For xen and domu dtb it is not a problem because all "arm,scmi-shme=
m"
> > > > nodes will be omitted and new will be generated for the domains.
> > > >=20
> > > > What bothers me is that r8a77961-salvator-xs.dtb will have 14 unuse=
d channels.
> > > >=20
> > > > Just got an idea while writing this: I can create only one
> > > > "arm,scmi-shmem" node in r8a77961-scmi.dtsi and add 14 more nodes,
> > > > needed for xen explicitly in r8a77961-salvator-xs-xen.dts.
> > > >=20
> > > > Then we will have valid configurations for all cases.
> > > > This can be a solution. What do you think?
> > >=20
> > > It is good that you brought this up because it helps me explain what =
I
> > > mean. And of course it is up to you where you place the nodes in the
> > > various dts files at your disposal. Either way it would work but I th=
ink
> > > they should belong to r8a77961-salvator-xs.dts.
> > >=20
> > > Generally the platform vendor (e.g. Xilinx) provides a device tree
> > > description of the platform to use including all the available resour=
ces
> > > and firmware interfaces. In your case it would be r8a77961-scmi.dtsi =
+
> > > r8a77961-salvator-xs.dts. This is what I call the "host device tree"
> > > below. Users should be able to boot a fully functional system using t=
he
> > > host device tree pretty much "as is" to run Xen, Linux or any other
> > > software.
> > >=20
> > > Certainly the SCMI device tree description should be part of the host
> > > device tree, so in your case it would be r8a77961-salvator-xs.dts. An=
d
> > > the description should include all 14+1 channels because this is the
> > > generic platform description -- we cannot know for sure how the users
> > > are going to use the system.
> > >=20
> > > This is why r8a77961-salvator-xs-xen.dts should be as small as possib=
le
> > > or ideally inexistent. There shouldn't be a need for a special device
> > > tree modification to allow Xen to run. In reality, even at Xilinx we
> > > have something like r8a77961-salvator-xs-xen.dts, although it is real=
ly
> > > small.
> > >=20
> > > But I see that r8a77961-salvator-xs-xen.dts could be viewed as the
> > > device tree additions to run hypervisors and from that point of view =
it
> > > is more acceptable to place the 14 channels there.
> > >=20
> > > The biggest problem is r8a77961-salvator-xs-domu.dts: who is going to
> > > write it? And how? It wouldn't be provided by the platform vendor, so=
 it
> > > is the user the one that has to find a way to write it.
> > >=20
> > > I know the user already has to write a partial DTB for device
> > > assignment, but any time the process is more complex than "copy the h=
ost
> > > device tree node for device XXX to the partial DTB" it is a problem.
> > > Errors are made and the system doesn't work.
> > >=20
> > > I think we don't want to make it even more difficult by having to
> > > manually produce the SCMI domU description too. The SCMI description =
for
> > > domU could be automatically generated by Xen, or libxl/xl. If that's =
an
> > > issue, then the SCMI description could be automatically generated by =
an
> > > external tool but I think it would make things more complex and harde=
r
> > > to maintain.
> > >=20
> > > In short my point of view is:
> > > - r8a77961-scmi.dtsi + r8a77961-salvator-xs.dts should be as generic =
as
> > >   possible so the SCMI nodes should have 14+1 channels
> > > - but putting the 14 channels in r8a77961-salvator-xs-xen.dts is stil=
l
> > >   OKish
> > > - it is important that r8a77961-salvator-xs-domu.dts is automatically
> > >   generated by Xen or libxl or another software tool
> > >=20
> >=20
> > Thank you for the detailed response. I'll put all 14+1 channels to
> > r8a77961-salvator-xs.dts then.
> > I've described my thoughts about generation of the arm,scmi-smc node be=
low.
> >=20
> > >=20
> > > > > > b) In case if we have all 15 channels, described in partial dev=
ice-tree,
> > > > >
> > > > > I think you meant "described in the host device tree", right?
> > > > >
> > > > Yeah that's what I've meant.
> > > > >
> > > > > > we should not copy any node to the domain device-tree. I think =
it will
> > > > > > be better to generate arm,scmi-shmem node in the Domain device-=
tree.
> > > > >
> > > > > Yes, I think it makes sense for Xen to generate the "arm,scmi-shm=
em"
> > > > > device tree description for the DomU/Dom0 based on the channels
> > > > > allocated to the domain.
> > > > >
> > > > >
> > > > > > The problem is that arm,scmi-smc node, which is using arm,scmi-=
shmem
> > > > > > node can't be generated. I prefer it to be copied from the part=
ial
> > > > > > device-tree because it includes some platform specific configur=
ation,
> > > > > > such as func-id and list of the protocols (for example differen=
t
> > > > > > platforms may require different list of the protocols). So in t=
his
> > > > > > case we will have 1 node copied and 1 node generated.
> > > > > >
> > > > > > I think even for dom0less we should use arm,scmi-smc node from =
the
> > > > > > device-tree because protocol configuration and funcid is relate=
d to the
> > > > > > platform.
> > > > >
> > > > > I am not sure I understood what you wrote. You are saying that th=
e
> > > > > "arm,scmi-smc" node includes some platform specific configuration=
s so
> > > > > it cannot be automatically generated by Xen (or by the tools) and
> > > > > instead it needs to be manually provided as part of the partial d=
tb for
> > > > > the domU. Is that correct?
> > > > >
> > > > > If so, I would like to understand the reasons behind it. Manual
> > > > > device tree editing is problematic.
> > > > >
> > > > > I looked for "func-id" in
> > > > > Documentation/devicetree/bindings/firmware/arm,scmi.yaml but coul=
dn't
> > > > > find any results. Do you have an example of the platform specific
> > > > > configuration or protocol configuration that would make it diffic=
ult to
> > > > > automatically generate the "arm,scmi-smc" node for the domains?
> > > >=20
> > > > Sorry, I used wrong term (used term from the specification), arm,sm=
c-id
> > > > of cause.
> > > >=20
> > > > >
> > > > > Also, is this a problem just for approach #2 or also for approach=
 #1?
> > > > > If it is a problem only for approach #2, then let's just go with
> > > > > approach #1.
> > > > >
> > > >=20
> > > > We can't copy "arm,scmi-smc" in both approaches. The difference is =
that
> > > > in the first approach we can copy both "arm,scmi-smc" and
> > > > "arm,scmi-shmem" nodes while in the second approach we should copy
> > > > "arm,scmi-smc", but we have to generate "arm,scmi-shmem" node.
> > > >=20
> > > > arm,scmi-smc node can't be generated because it includes properties=
 and
> > > > configurations that depends from platform and should be get from th=
e
> > > > device tree.
> > > > Here is "arm,scmi-smc" node expample:
> > > > firmware {
> > > >     scmi {
> > > >         compatible =3D "arm,scmi-smc"
> > > >         arm,smc-id =3D <0x82000002>;
> > > >         shmem =3D <&cpu_scp_shm>;
> > > >         #address-cells =3D <1>;
> > > >         #size-cells =3D <0>;
> > > >         scmi_power: protocol@11 {
> > > >             reg =3D <0x11>;
> > > >             #power-domain-cells =3D <1>;
> > > >         };
> > > >=20
> > > >         scmi_clock: protocol@14 {
> > > >             ...
> > > >         };
> > > >=20
> > > >         scmi_reset: protocol@16 {
> > > >             ...
> > > >         };
> > > >         ...
> > > >     };
> > > > };
> > > >=20
> > > > It has 3 configurable options:
> > > >  * arm,smc-id parameter, setting func_id for scmi protocol. This id=
 can be
> > > > different for different platforms.
> > > > For example stm32mp1 architecture use different scm-id for differen=
t
> > > > agents:
> > > > https://urldefense.com/v3/__https://github.com/ARM-software/arm-tru=
sted-firmware/blob/0586c41b3f2d52aae847b7212e7b0c7e19197ea2/plat/st/stm32mp=
1/include/stm32mp1_smc.h*L39__;Iw!!GF_29dbcQIUBPA!mTRUjtSg19iVaYo3Cgjop5ckP=
WqKsHVo1EZCEA1zCbod9KpNSXX291A8vAuNdTCr46MA$ [github[.]com]
> > > >=20
> > > >  * shmem which includes phandle to arm,scmi-shmem node. But this is=
 not
> > > > a problem and can be updated.
> > > >=20
> > > >  * list of the protocol subnodes. This is also configurable paramet=
er,
> > > > not regs or names, but the number of the protocols. For example onl=
e
> > > > platform can use power-domains/clock/resets via scmi, when another =
will
> > > > require volage-control and sensor-management to be added.
> > > >=20
> > > > Xen should know this parameters to be able to generate "arm,scmi-sm=
c" node.
> > > >=20
> > > > Also we're currently discussing new scmi protocol with ARM: Pinctrl=
 over
> > > > SCMI.
> > > >=20
> > > > It should allow domains to access pinctrl subsystem, placed in Firm=
ware
> > > > through SCMI protocol.
> > > > scmi_pinctrl node will look like this:
> > > >=20
> > > > 	firmware {
> > > > 		scmi {
> > > > 			...
> > > > 			scmi_pinctrl: protocol@18 {
> > > > 				reg =3D <0x18>;
> > > > 				#pinctrl-cells =3D <0>;
> > > >=20
> > > > 				i2c2_pins: i2c2 {
> > > > 					groups =3D <74>; /* i2c2_a */
> > > > 					function =3D <15>; /* i2c2 */
> > > > 				};
> > > >=20
> > > > 				irq0_pins: irq0 {
> > > > 					groups =3D <81>; /* intc_ex_irq0 */
> > > > 					function =3D <19>; /* intc_ex */
> > > > 				};
> > > >=20
> > > > 				avb_pins: avb {
> > > > 					mux {
> > > > 						/* avb_link, avb_mdio, avb_mii */
> > > > 						groups =3D <17>, <21>, <22>;
> > > > 						function =3D <1>; /* avb */
> > > > 					};
> > > >=20
> > > > 					pins_mdio {
> > > > 						groups =3D <21>; /* avb_mdio */
> > > > 						drive-strength =3D <24>;
> > > > 					};
> > > >=20
> > > > 					pins_mii_tx {
> > > > 						/* PIN_AVB_TX_CTL, PIN_AVB_TXC, PIN_AVB_TD0,
> > > > 						       PIN_AVB_TD1, PIN_AVB_TD2, PIN_AVB_TD3 */
> > > > 						pins =3D <242>, <240>, <236>, <237>, <238>, <239>;
> > > > 						drive-strength =3D <12>;
> > > > 					};
> > > > 				};
> > > > 				...
> > > > 			};
> > > > 		};
> > > > 	};
> > > >=20
> > > > So "arm,scmi-smc" node will have even more platform specific settin=
gs.
> > > >=20
> > > > >
> > > > > > I prefer the second approach and will try to make it if it's OK=
 to copy
> > > > > > arm,scmi-smc node from partial Device-tree and generate arm,scm=
i-shmem
> > > > > > node.
> > > > > >
> > > > > > What do you think about that?
> > > > >
> > > > > From a device tree specification perspective, I think both approa=
ches
> > > > > are OK (with a minor comment on the first approach as I wrote abo=
ve.)
> > > > >
> > > > > But from a Xen perspective I think it is important that we don't =
require
> > > > > the user to manually provide the SCMI configuration in the partia=
l DTB.
> > > > > It would be better if we could generate it automatically from Xen=
 or the
> > > > > tools (or even an independent script). Or copy the "arm,scmi-smc"=
 node
> > > > > from the host device tree to the domU device tree without modific=
ations.
> > > >=20
> > > > I think copy "arm,scmi-smc" node is the only option we have.
> > > > I'm not sure what do you mean under "host device tree" if you mean =
Xen
> > > > device-tree - then I think it will not cover the case with stm32mp1=
 I've
> > > > mentioned above. I think it will be better to copy "arm,scmi-smc" n=
ode
> > > > from Domu partial Device-tree to Domu device-tree.
> > > > So AGENT0 smc-id will be set in xen device-tree and copied to dom0 =
and
> > > > AGENT1 scm-is set in domu device-tree and copied to dom-u.
> > > >=20
> > > > Do you agree with my points?
> > >=20
> > > I think we are saying similar things, but we are getting mixed up wit=
h
> > > the terminology. Let's start from the basics :-)
> > >=20
> > > # Host device tree
> > > The device tree given to Xen at boot time. This is the device tree th=
at
> > > Xen parses to discover what's available on the platform. In your case=
,
> > > it seems to include r8a77961-salvator-xs-xen.dts.
> > >=20
> > > # Partial DTB
> > > (Ignoring Dom0less) this is the small DTB that gets passed to xl with
> > > the "device_tree" option in the xl config file. It is copied verbatim
> > > to the domU device tree by xl/libxl.
> > >=20
> > > # Copy the "arm,scmi-smc" node from host device tree
> > > This means that the domU "arm,scmi-smc" node is an exact copy of the
> > > host device tree SCMI node. I don't think this is actually possible i=
n
> > > most cases because the domU description is typically a bit different
> > > from the host description. For instance, the host description could
> > > include 14+1 channels while the domU description should only include =
1
> > > channel.
> > >=20
> > > # Copy the "arm,scmi-smc" node from the partial DTB
> > > This implies that somebody or something create an "arm,scmi-smc" node
> > > for the domU and placed it into the partial DTB. Then, Xen and/or
> > > xl/libxl will copy the node from the partial DTB to the DomU device
> > > tree. The main question in this case is: who is going to write the
> > > partial DTB? We dont want the user (i.e. a person) to have to manuall=
y
> > > write the SCMI description for the domU. It should be an automated to=
ols
> > > that does it. At that point, it is easier if it is Xen or xl/libxl.
> > > Alternativaly, we could think of an external tool but I think it woul=
d
> > > make things more difficult to maintain.
> > >=20
> > > # Generate the "arm,scmi-smc" node for domUs
> > > When I write "generate the arm,scmi-smc node", I mean that Xen and
> > > libxl/xl will generate the "arm,scmi-smc" node for the domU. Thus, th=
e
> > > node will not be copied from the partial DTB or from the device tree,
> > > instead, it should be created directly by Xen and/or libxl/xl.
> > >=20
> > > However, the domU "arm,scmi-smc" node could still be derived from the
> > > host device tree "arm,scmi-smc" node. In other words, Xen or xl/libxl
> > > would look at the host device tree "arm,scmi-smc" node, copy it to th=
e
> > > domU device tree while making as many changes as necessary.
> > >=20
> > > The DomU "arm,scmi-smc" node doesn't have to be entirely fake and
> > > static. It could be dynamically created to match the host device tree
> > > description. I think this is the best option.
> > >=20
> > >=20
> > > # Conclusion
> > > I am suggesting that Xen and/or libxl automatically produce the
> > > "arm,scmi-smc" node for domUs based on the host device tree descripti=
on
> > > and based on the channel mapped to the domU. This way, the user (a
> > > person) doesn't have to go and manually edit the domU partial DTB.
> > >=20
> >=20
> > That sounds reasonable. The problem is that arm,scmi-smc node can be
> > copmlicated and include a lot of configuration. Also for different
> > mediators this node can be different.
> > As I inderstand, there is no mechanism for xl to access host device-tre=
e
> > right now. Correct me if I'm wrong.
>=20
> Yes, you are right. And the lack of a mechanism for xl to access the
> host device tree is a problem.
>=20
>=20
> > I see the following way we can generate arm,scmi-smc node for DomU:
> > We say that if scmi-smc mediator is enabled - then Dom0 is configured t=
o
> > use SCMI. This means that Dom0 device-tree will have arm,scmi-smc node
> > and it can be reached from the userspace.
>=20
> So far so good
>=20
>=20
> > In this case xl can use infromation from /proc/device-tree/firmware/scm=
i
> > to generate arm,scmi-smc node for DomU. But in this case xl should know
> > the exact path of scmi node.
> >=20
> > Or we can generate some special node, called "shared" in Dom0 device-tr=
ee
> > which will include copy of the arm,scmi-smc node, which can be used for=
 domains.
> > In this case xl can scan /proc/device-tree/shared node and find
> > arm,scmi-smc copatible node and use it to generate arm,scmi-smc node fo=
r
> > DomU.
> > Also this can be used for another features in future.
> >=20
> > What do you think about this?
>=20
> Basing the domU SCMI node generation on the dom0 SCMI node is not great,
> because it should be based on the host device tree rather than dom0 and
> the dom0 SCMI description will be different.
>=20
> Instead of copying just the host SCMI node somewhere in the dom0 device
> tree so that xl/libxl can access it via /proc/device-tree, I think it
> would be better to make the full host DTB available to xl/libxl.
>=20
> There are probably many ways to do this, but there are a couple I can
> think of on top of my head:
>=20
> - introduce a new hypercall to get the full host dtb from Xen
> The hypercall would pass an address and a size in guest physical memory
> and Xen would copy the host DTB to it.
>=20
> - introduce something like /proc/device-tree to hypfs
> See xen/common/hypfs.c


Hi Stefano,

I've found the discussion, indirectly related to our topic [1], in which
hypervisor <-> toolchain interface topic was raised.

Where Andrii Anisov proposed to introduce another libxl type (f.e. File) wh=
ich
will read device tree file and operate with a binary blob.

His idea is to introduce new Domctl hypecall, which is able to send device-=
tree
blob from toolstack to the hypervisor.
I was thinking about using his approach, but in opposite direction.
Such as introduce a set of DOMCTL, which gives ability for xl user to reque=
st
Host Device-tree nodes.
I see something like that:
XEN_DOMCTL_host_node_by_path - gets node path as input and returns blob wit=
h node;
XEN_DOMCTL_find_host_compatible_node - gets compatible string and "skip" nu=
mber
for the case if there is more than 1 compatible node and returns blob with =
node.

Advandages for my sight are:
- I hope Andrii still has some code, which can be reused during the impleme=
ntation;
- Xen can determine if the requesting node can be exposed to the guest, whi=
ch
is additional layer of validation;
- no need to transfer all device-tree to the toolstack.

As for the hypfs this sounds like a separate feature to me. I'm not sure if=
 we
need to provide the entire copy of the device-tree. Also there could be som=
e
problems with this solution.
For example, xl tool have to scan whole hypfs tree to find node by phandle =
or
by compatible string.

Looking forward for your thoughts about that. Also I would be happy if Juli=
en
could share his vision.

[1] https://xen.markmail.org/search/?q=3Dfrom%3AAndrii+Anisov+device-tree#q=
uery:from%3AAndrii%20Anisov%20device-tree+page:2+mid:tvgyp7fzpiyyso3j+state=
:results

Oleksii



From xen-devel-bounces@lists.xenproject.org Mon Jan 24 18:41:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 18:41:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259959.448818 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC4HJ-0004SF-TB; Mon, 24 Jan 2022 18:41:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259959.448818; Mon, 24 Jan 2022 18:41:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC4HJ-0004S8-Q8; Mon, 24 Jan 2022 18:41:21 +0000
Received: by outflank-mailman (input) for mailman id 259959;
 Mon, 24 Jan 2022 18:41:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4ZXe=SI=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nC4HI-0004S2-QX
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 18:41:20 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 380089d9-7d45-11ec-bc18-3156f6d857e4;
 Mon, 24 Jan 2022 19:41:19 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 23E2FB81214;
 Mon, 24 Jan 2022 18:41:18 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 69413C340E5;
 Mon, 24 Jan 2022 18:41: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: 380089d9-7d45-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1643049676;
	bh=NI978rdnPcW2AHan+4mwVzjOEo+l8dBmZipLO/dRm4Y=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=hE74JwJPYfaY7heVfSzBV8TTMhI0DMVQWd9+ThM0L5TqShzSPevJf50/cXRwVerjf
	 fa54mR25Ou/7bx6CDSMSks37bRzm45u3VXgHKRY1cRhTWWjVpXzRd8Lcj+WytygkRr
	 /HrEV+JVRPZJNjSpGD5B0PGCBfTpc4xKybUHWJrB5uvNJQLTJ/O8Z2zhJsvkGwkrGA
	 TUg55I0beFQnqqUM3rJ3heWR90DEpqe+Uf8qguwM1O3/m9H/4klwg/h58sP6P1ZTwi
	 q0401GedUzk8Qf+ILk1uf2eizXebo94EuMWksTEoMzy2bxQcblCDXfb7731ETPNsJr
	 u6E1TmA5jJWoA==
Date: Mon, 24 Jan 2022 10:41:13 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>
cc: Andre Przywara <andre.przywara@arm.com>, xen-devel@lists.xenproject.org, 
    sstabellini@kernel.org, stefanos@xilinx.com, julien@xen.org, 
    Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com, jbeulich@suse.com, 
    wei.chen@arm.com
Subject: Re: [XEN v3] xen/arm64: io: Decode ldr/str post-indexing
 instructions
In-Reply-To: <bae9a35f-be42-2ebe-5ce0-30e08001ae97@xilinx.com>
Message-ID: <alpine.DEB.2.22.394.2201240941310.27308@ubuntu-linux-20-04-desktop>
References: <20220120215527.28138-1-ayankuma@xilinx.com> <20220122013046.6a786d3f@slackpad.fritz.box> <18e715ae-111d-58e6-55f9-a48a521e99b3@xilinx.com> <20220124143601.3e2ac6ac@donnerap.cambridge.arm.com> <bae9a35f-be42-2ebe-5ce0-30e08001ae97@xilinx.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 24 Jan 2022, Ayan Kumar Halder wrote:
> Hi Andre,
> 
> Thanks forn your comments.
> 
> On 24/01/2022 14:36, Andre Przywara wrote:
> > On Mon, 24 Jan 2022 12:07:42 +0000
> > Ayan Kumar Halder <ayan.kumar.halder@xilinx.com> wrote:
> > 
> > Hi Ayan,
> > 
> > > Many thanks for your feedback. I have one clarification :-
> > > 
> > > On 22/01/2022 01:30, Andre Przywara wrote:
> > > > On Thu, 20 Jan 2022 21:55:27 +0000
> > > > Ayan Kumar Halder <ayan.kumar.halder@xilinx.com> wrote:
> > > > 
> > > > Hi,
> > > >   
> > > > > At the moment, Xen is only handling data abort with valid syndrome
> > > > > (i.e.
> > > > > ISV=0). Unfortunately, this doesn't cover all the instructions a
> > > > > domain
> > > > > could use to access MMIO regions.
> > > > > 
> > > > > For instance, a baremetal OS can use any of the following
> > > > > instructions, where
> > > > > x1 contains the address of the MMIO region:
> > > > > 
> > > > > 1.      ldr     x2,    [x1],    #4
> > > > That looks dodgy, since is misaligns the pointer afterwards. MMIO
> > > > access typically go to device memory, which must be naturally aligned.
> > > > Just don't give a bad example here and change that to a multiple of 8.
> > > >   
> > > > > 2.      ldr     w2,    [x1],    #-4
> > > > (this one is fine, btw, because it's a 32-bit read)
> > > >   
> > > > > 3.      ldr     x2,    [x1],    #-8
> > > > > 4.      ldr     w2,    [x1],    #4
> > > > > 5.      ldrh    w2,    [x1],    #8
> > > > > 6.      ldrb    w2,    [x1],    #16
> > > > More naturally I'd use the data size of the postindex value ...
> > > > ldr  x2 ... #-8
> > > > ldr  w2 ... #4
> > > > ldrh w2 ... #2
> > > > ldrb w2 ... #1
> > > >   
> > > > > 7.      str     x2,    [x1],    #4
> > > > This is a again problematic, because x1 is not 8-byte aligned anymore
> > > > after that.
> > > >   
> > > > > 8.      str     w2,    [x1],    #-4
> > > > > 9.      strh    w2,    [x1],    #8
> > > > > 10.     strb    w2,    [x1],    #16
> > > > > 
> > > > > In the following two instructions, sp contains the address of the MMIO
> > > > > region:-
> > > > Really? I don't think you should give people funny ideas, just mention
> > > > that the Rn register could theoretically be the stack pointer.
> > > >   
> > > > > 11.     ldrb    w2,    [sp],    #16
> > > > > 12.     ldrb    wzr,   [sp],    #16
> > > > > 
> > > > > In order to handle post-indexing store/load instructions (like those
> > > > > mentioned
> > > > > above), Xen will need to fetch and decode the instruction.
> > > > > 
> > > > > This patch only cover post-index store/load instructions from AArch64
> > > > > mode.
> > > > > For now, this is left unimplemented for trap from AArch32 mode.
> > > > > 
> > > > > Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
> > > > > ---
> > > > > 
> > > > > Changelog :-
> > > > > v2 - 1. Updated the rn register after reading from it. (Pointed by
> > > > > Julien,
> > > > >           Stefano)
> > > > >        2. Used a union to represent the instruction opcode (Suggestd
> > > > > by Bertrand)
> > > > >        3. Fixed coding style issues (Pointed by Julien)
> > > > >        4. In the previous patch, I was updating dabt->sign based on
> > > > > the signedness
> > > > >           of imm9. This was incorrect. As mentioned in ARMv8 ARM  DDI
> > > > > 0487G.b,
> > > > >           Page 3221, SSE indicates the signedness of the data item
> > > > > loaded. In our
> > > > >           case, the data item loaded is always unsigned.
> > > > > 
> > > > > v3- 1. Handled all the variants of ldr/str (ie 64, 32, 16, 8 bit
> > > > > variants).
> > > > >          Thus, I have removed the check for "instr->code.opc == 0"
> > > > > (Suggested by
> > > > >          Andre)
> > > > >       2. Handled the scenario when rn = SP, rt = XZR (Suggested by
> > > > > Jan, Andre)
> > > > >       3. Added restriction for "rt != rn" (Suggested by Andre)
> > > > >       4. Moved union ldr_str_instr_class {} to decode.h. This is the
> > > > > header included
> > > > >          by io.c and decode.c (where the union is referred).
> > > > > (Suggested by Jan)
> > > > >       5. Indentation and typo fixes (Suggested by Jan)
> > > > > 
> > > > > Changes suggested but could not be considered due to reasons :-
> > > > >       1. Using accessor macros instead of bitfields for
> > > > > "ldr_str_instr_class". (Andre)
> > > > >          Reason - I could not find a simple way to represent 9 bit
> > > > > signed integer
> > > > >          (ie imm9) without using bitfields. If I use accessor macros,
> > > > > then I need
> > > > >          to manually calculate two's complement to obtain the value
> > > > > when signed
> > > > >          bit is present.
> > > > > 
> > > > >       2. I/D cache cohenerncy (Andre)
> > > > >          Reason :- I could not see any instruction to flush the I
> > > > > cache.
> > > > First, please try to avoid the term "flush", because it is somewhat
> > > > overloaded. The architecture speaks of "clean" and "invalidate", which
> > > > are more precise.
> > > > Assuming you mean "clean" here: conceptually there is no such thing for
> > > > the I cache, because it's always clean. The I$ will only be read from
> > > > the CPU side - from the instruction fetcher - there is nothing written
> > > > back through it. Every store goes through the data path - always.
> > > > That is the problem that I tried to sketch you previously: you don't
> > > > have a guarantee that the instruction you read from memory is the same
> > > > that the CPU executed. The guest could have changed the instruction
> > > > after the I$ fetched that. So the CPU will execute (and trap) on
> > > > instruction X, but you will read Y. I leave it up to your imagination
> > > > if that could be exploited.
> > > I see what you mean.
> > > 
> > > Refer Armv8 Arm DDI 0487G.b Page D1-2476, it says that (for instr/data
> > > abort) the faulting virtual address and IPA is saved in FAR_ELx and
> > > HPFAR_EL2 respectively. But, I do not see if the faulting instruction is
> > > saved in any special register. Is there something I am missing ?
> > No, indeed there is no such thing. You get the address, but not the
> > faulting instruction. It would indeed be nice to have from a software
> > developer's point of view, but the architecture does not support it.
> > One reason might be that it's potentially hard to implement, because it
> > could be tricky to reconstruct the original instruction, when it has been
> > broken down to something different in the actual pipelines.
> 
> Is it possible for Arm to implement such a register which will hold the
> instruction that caused the exception, in the future architecture revision ?
> This would be useful given that the faulting address (PC) can not be trusted
> to get to the original faulting instruction (as it can be changed after being
> loaded in I cache). I could imagine this being useful in any scenario when the
> user wants to know which instruction caused the fault.
> 
> Stefano/Julien/Bertrand/Volodymyr :- I would love to hear your inputs on this
> as well.
> 
> As for the patch, I will mention this issue (as a comment in the code) where
> we are loading the instruction from PC. Stefano/Julien/Bertrand/Volodymyr:-
> Does it look fine with you ?

As this issue could happen on any architecture (the guest could change
the instruction from another vcpu while the other is trapping in Xen)
and given that we do quite a bit of emulation on x86 I asked Jan on IRC
how do we handle this kind of things on x86 today. He had a good answer:
"By not making any assumptions on what we're going to find."

In other words, don't assume you are going to find a store or a load
instruction at the memory location pointed by the PC. You could find
total garbage (because it was changed in between). Make sure to check
everything is as expected before taking any actions.

And I think you are already doing that in decode_loadstore_postindexing.

These are the fields:

+ * 31 30 29  27 26 25  23   21 20              11   9         4       0
+ * ___________________________________________________________________
+ * |size|1 1 1 |V |0 0 |opc |0 |      imm9     |0 1 |  Rn     |  Rt   |
+ * |____|______|__|____|____|__|_______________|____|_________|_______|
+ */
+union ldr_str_instr_class {
+    uint32_t value;
+    struct ldr_str {
+        unsigned int rt:5;     /* Rt register */
+        unsigned int rn:5;     /* Rn register */
+        unsigned int fixed1:2; /* value == 01b */
+        signed int imm9:9;            /* imm9 */
+        unsigned int fixed2:1; /* value == 0b */
+        unsigned int opc:2;    /* opc */
+        unsigned int fixed3:2; /* value == 00b */
+        unsigned int v:1;      /* vector */
+        unsigned int fixed4:3; /* value == 111b */
+        unsigned int size:2;   /* size */
+    } code;
+};


This patch already checks for:
- the fixed values
- v
- opc
- some special rt and rn values

Considering that:
- size is fine either way
- as rt and rn are 5 bits wide, all values are acceptable (x0->x31)

It doesn't look like we are missing anything, unless imm9 is restricted
to some ranges only.


From xen-devel-bounces@lists.xenproject.org Mon Jan 24 19:06:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 19:06:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259963.448829 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC4fT-0006rH-Ul; Mon, 24 Jan 2022 19:06:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259963.448829; Mon, 24 Jan 2022 19:06:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC4fT-0006rA-QF; Mon, 24 Jan 2022 19:06:19 +0000
Received: by outflank-mailman (input) for mailman id 259963;
 Mon, 24 Jan 2022 19:06:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4ZXe=SI=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nC4fR-0006r4-Km
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 19:06:18 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b1f3d4d5-7d48-11ec-8fa7-f31e035a9116;
 Mon, 24 Jan 2022 20:06:12 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 027A3611DA;
 Mon, 24 Jan 2022 19:06:11 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 761DBC340E5;
 Mon, 24 Jan 2022 19:06: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: b1f3d4d5-7d48-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1643051170;
	bh=3VYfxsjznlDqM1PIZbnuL+aczoyIf7rGKuEmehii3xw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=QBlG/I7UO6Bgjkrnlr/R0oZ+GtfSIjZ+Cq8CA0Kb/RhzyZMW5sfGkvLvB06XwOMsD
	 levxpN8rQzHKofsrHKcYYXC5CW9keTEKdVaGX1+mx2S80Vf1OTH/VI2nxv4Htv1H29
	 3o0lND5EhOpXwSADcxgm1vuY1Zf15/EsPbR2+cacZlDMfg1OhtJ4bpfJp6NUpdMzma
	 SkAbqLEP21Klq5AC/ahLbRCgTj5f1Yhg0XiQUiN+eTfDFsoM0ut33Kor9JDt2UN6Q6
	 vmmOG83L8kHgK8muNwLk8MceEHJ+wHw+BT7FXGTQvY9jGG7IjtIJBRCTaUQ9i7apSQ
	 Zj4Oe1rUx8DFA==
Date: Mon, 24 Jan 2022 11:06:06 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    Julien Grall <julien@xen.org>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
In-Reply-To: <20220124182249.GA2485483@EPUAKYIW015D>
Message-ID: <alpine.DEB.2.22.394.2201241056290.27308@ubuntu-linux-20-04-desktop>
References: <20211221200305.GA2460476@EPUAKYIW015D> <alpine.DEB.2.22.394.2112211310000.2060010@ubuntu-linux-20-04-desktop> <20211222110414.GA2883815@EPUAKYIW015D> <alpine.DEB.2.22.394.2112221627190.2060010@ubuntu-linux-20-04-desktop> <20220119120400.GA3779126@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2201191644400.19362@ubuntu-linux-20-04-desktop> <20220120102147.GA4153317@EPUAKYIW015D> <alpine.DEB.2.22.394.2201201230480.27308@ubuntu-linux-20-04-desktop> <20220121150753.GA898010@EPUAKYIW015D> <alpine.DEB.2.22.394.2201211236060.27308@ubuntu-linux-20-04-desktop>
 <20220124182249.GA2485483@EPUAKYIW015D>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 24 Jan 2022, Oleksii Moisieiev wrote:
> On Fri, Jan 21, 2022 at 12:49:55PM -0800, Stefano Stabellini wrote:
> > On Fri, 21 Jan 2022, Oleksii Moisieiev wrote:
> > > On Thu, Jan 20, 2022 at 02:29:41PM -0800, Stefano Stabellini wrote:
> > > > On Thu, 20 Jan 2022, Oleksii Moisieiev wrote:
> > > > > On Wed, Jan 19, 2022 at 05:28:21PM -0800, Stefano Stabellini wrote:
> > > > > > On Wed, 19 Jan 2022, Oleksii Moisieiev wrote:
> > > > > > > On Wed, Dec 22, 2021 at 06:23:24PM -0800, Stefano Stabellini wrote:
> > > > > > > > On Wed, 22 Dec 2021, Oleksii Moisieiev wrote:
> > > > > > > > > On Tue, Dec 21, 2021 at 01:22:50PM -0800, Stefano Stabellini wrote:
> > > > > > > > > > On Tue, 21 Dec 2021, Oleksii Moisieiev wrote:
> > > > > > > > > > > Hi Stefano,
> > > > > > > > > > >
> > > > > > > > > > > On Mon, Dec 20, 2021 at 04:52:01PM -0800, Stefano Stabellini wrote:
> > > > > > > > > > > > On Mon, 20 Dec 2021, Oleksii Moisieiev wrote:
> > > > > > > > > > > > > Hi Stefano,
> > > > > > > > > > > > >
> > > > > > > > > > > > > On Fri, Dec 17, 2021 at 06:14:55PM -0800, Stefano Stabellini wrote:
> > > > > > > > > > > > > > On Tue, 14 Dec 2021, Oleksii Moisieiev wrote:
> > > > > > > > > > > > > > > This is the implementation of SCI interface, called SCMI-SMC driver,
> > > > > > > > > > > > > > > which works as the mediator between XEN Domains and Firmware (SCP, ATF etc).
> > > > > > > > > > > > > > > This allows devices from the Domains to work with clocks, resets and
> > > > > > > > > > > > > > > power-domains without access to CPG.
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > The following features are implemented:
> > > > > > > > > > > > > > > - request SCMI channels from ATF and pass channels to Domains;
> > > > > > > > > > > > > > > - set device permissions for Domains based on the Domain partial
> > > > > > > > > > > > > > > device-tree. Devices with permissions are able to work with clocks,
> > > > > > > > > > > > > > > resets and power-domains via SCMI;
> > > > > > > > > > > > > > > - redirect scmi messages from Domains to ATF.
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > Signed-off-by: Oleksii Moisieiev <oleksii_moisieiev@epam.com>
> > > > > > > > > > > > > > > ---
> > > > > > > > > > > > > > >  xen/arch/arm/Kconfig          |   2 +
> > > > > > > > > > > > > > >  xen/arch/arm/sci/Kconfig      |  10 +
> > > > > > > > > > > > > > >  xen/arch/arm/sci/Makefile     |   1 +
> > > > > > > > > > > > > > >  xen/arch/arm/sci/scmi_smc.c   | 795 ++++++++++++++++++++++++++++++++++
> > > > > > > > > > > > > > >  xen/include/public/arch-arm.h |   1 +
> > > > > > > > > > > > > > >  5 files changed, 809 insertions(+)
> > > > > > > > > > > > > > >  create mode 100644 xen/arch/arm/sci/Kconfig
> > > > > > > > > > > > > > >  create mode 100644 xen/arch/arm/sci/scmi_smc.c
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> > > > > > > > > > > > > > > index 186e1db389..02d96c6cfc 100644
> > > > > > > > > > > > > > > --- a/xen/arch/arm/Kconfig
> > > > > > > > > > > > > > > +++ b/xen/arch/arm/Kconfig
> > > > > > > > > > > > > > > @@ -114,6 +114,8 @@ config SCI
> > > > > > > > > > > > > > >  	  support. It allows guests to control system resourcess via one of
> > > > > > > > > > > > > > >  	  SCI mediators implemented in XEN.
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > +source "arch/arm/sci/Kconfig"
> > > > > > > > > > > > > > > +
> > > > > > > > > > > > > > >  endmenu
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >  menu "ARM errata workaround via the alternative framework"
> > > > > > > > > > > > > > > diff --git a/xen/arch/arm/sci/Kconfig b/xen/arch/arm/sci/Kconfig
> > > > > > > > > > > > > > > new file mode 100644
> > > > > > > > > > > > > > > index 0000000000..9563067ddc
> > > > > > > > > > > > > > > --- /dev/null
> > > > > > > > > > > > > > > +++ b/xen/arch/arm/sci/Kconfig
> > > > > > > > > > > > > > > @@ -0,0 +1,10 @@
> > > > > > > > > > > > > > > +config SCMI_SMC
> > > > > > > > > > > > > > > +	bool "Enable SCMI-SMC mediator driver"
> > > > > > > > > > > > > > > +	default n
> > > > > > > > > > > > > > > +	depends on SCI
> > > > > > > > > > > > > > > +	---help---
> > > > > > > > > > > > > > > +
> > > > > > > > > > > > > > > +	Enables mediator in XEN to pass SCMI requests from Domains to ATF.
> > > > > > > > > > > > > > > +	This feature allows drivers from Domains to work with System
> > > > > > > > > > > > > > > +	Controllers (such as power,resets,clock etc.). SCP is used as transport
> > > > > > > > > > > > > > > +	for communication.
> > > > > > > > > > > > > > > diff --git a/xen/arch/arm/sci/Makefile b/xen/arch/arm/sci/Makefile
> > > > > > > > > > > > > > > index 837dc7492b..67f2611872 100644
> > > > > > > > > > > > > > > --- a/xen/arch/arm/sci/Makefile
> > > > > > > > > > > > > > > +++ b/xen/arch/arm/sci/Makefile
> > > > > > > > > > > > > > > @@ -1 +1,2 @@
> > > > > > > > > > > > > > >  obj-y += sci.o
> > > > > > > > > > > > > > > +obj-$(CONFIG_SCMI_SMC) += scmi_smc.o
> > > > > > > > > > > > > > > diff --git a/xen/arch/arm/sci/scmi_smc.c b/xen/arch/arm/sci/scmi_smc.c
> > > > > > > > > > > > > > > new file mode 100644
> > > > > > > > > > > > > > > index 0000000000..2eb01ea82d
> > > > > > > > > > > > > > > --- /dev/null
> > > > > > > > > > > > > > > +++ b/xen/arch/arm/sci/scmi_smc.c
> > > > > > > > > > > > > > > @@ -0,0 +1,795 @@
> > > > > > > > > > > > > > > +/*
> > > > > > > > > > > > > > > + * xen/arch/arm/sci/scmi_smc.c
> > > > > > > > > > > > > > > + *
> > > > > > > > > > > > > > > + * SCMI mediator driver, using SCP as transport.
> > > > > > > > > > > > > > > + *
> > > > > > > > > > > > > > > + * Oleksii Moisieiev <oleksii_moisieiev@epam.com>
> > > > > > > > > > > > > > > + * Copyright (C) 2021, EPAM Systems.
> > > > > > > > > > > > > > > + *
> > > > > > > > > > > > > > > + * This program is free software; you can redistribute it and/or modify
> > > > > > > > > > > > > > > + * it under the terms of the GNU General Public License as published by
> > > > > > > > > > > > > > > + * the Free Software Foundation; either version 2 of the License, or
> > > > > > > > > > > > > > > + * (at your option) any later version.
> > > > > > > > > > > > > > > + *
> > > > > > > > > > > > > > > + * This program is distributed in the hope that it will be useful,
> > > > > > > > > > > > > > > + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> > > > > > > > > > > > > > > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> > > > > > > > > > > > > > > + * GNU General Public License for more details.
> > > > > > > > > > > > > > > + */
> > > > > > > > > > > > > > > +
> > > > > > > > > > > > > > > +#include <asm/sci/sci.h>
> > > > > > > > > > > > > > > +#include <asm/smccc.h>
> > > > > > > > > > > > > > > +#include <asm/io.h>
> > > > > > > > > > > > > > > +#include <xen/bitops.h>
> > > > > > > > > > > > > > > +#include <xen/config.h>
> > > > > > > > > > > > > > > +#include <xen/sched.h>
> > > > > > > > > > > > > > > +#include <xen/device_tree.h>
> > > > > > > > > > > > > > > +#include <xen/iocap.h>
> > > > > > > > > > > > > > > +#include <xen/init.h>
> > > > > > > > > > > > > > > +#include <xen/err.h>
> > > > > > > > > > > > > > > +#include <xen/lib.h>
> > > > > > > > > > > > > > > +#include <xen/list.h>
> > > > > > > > > > > > > > > +#include <xen/mm.h>
> > > > > > > > > > > > > > > +#include <xen/string.h>
> > > > > > > > > > > > > > > +#include <xen/time.h>
> > > > > > > > > > > > > > > +#include <xen/vmap.h>
> > > > > > > > > > > > > > > +
> > > > > > > > > > > > > > > +#define SCMI_BASE_PROTOCOL                  0x10
> > > > > > > > > > > > > > > +#define SCMI_BASE_PROTOCOL_ATTIBUTES        0x1
> > > > > > > > > > > > > > > +#define SCMI_BASE_SET_DEVICE_PERMISSIONS    0x9
> > > > > > > > > > > > > > > +#define SCMI_BASE_RESET_AGENT_CONFIGURATION 0xB
> > > > > > > > > > > > > > > +#define SCMI_BASE_DISCOVER_AGENT            0x7
> > > > > > > > > > > > > > > +
> > > > > > > > > > > > > > > +/* SCMI return codes. See section 4.1.4 of SCMI spec (DEN0056C) */
> > > > > > > > > > > > > > > +#define SCMI_SUCCESS              0
> > > > > > > > > > > > > > > +#define SCMI_NOT_SUPPORTED      (-1)
> > > > > > > > > > > > > > > +#define SCMI_INVALID_PARAMETERS (-2)
> > > > > > > > > > > > > > > +#define SCMI_DENIED             (-3)
> > > > > > > > > > > > > > > +#define SCMI_NOT_FOUND          (-4)
> > > > > > > > > > > > > > > +#define SCMI_OUT_OF_RANGE       (-5)
> > > > > > > > > > > > > > > +#define SCMI_BUSY               (-6)
> > > > > > > > > > > > > > > +#define SCMI_COMMS_ERROR        (-7)
> > > > > > > > > > > > > > > +#define SCMI_GENERIC_ERROR      (-8)
> > > > > > > > > > > > > > > +#define SCMI_HARDWARE_ERROR     (-9)
> > > > > > > > > > > > > > > +#define SCMI_PROTOCOL_ERROR     (-10)
> > > > > > > > > > > > > > > +
> > > > > > > > > > > > > > > +#define DT_MATCH_SCMI_SMC DT_MATCH_COMPATIBLE("arm,scmi-smc")
> > > > > > > > > > > > > > > +
> > > > > > > > > > > > > > > +#define SCMI_SMC_ID                        "arm,smc-id"
> > > > > > > > > > > > > > > +#define SCMI_SHARED_MEMORY                 "linux,scmi_mem"
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > I could find the following SCMI binding in Linux, which describes
> > > > > > > > > > > > > > the arm,scmi-smc compatible and the arm,smc-id property:
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Documentation/devicetree/bindings/firmware/arm,scmi.yaml
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > However, linux,scmi_mem is not described. Aren't you supposed to read
> > > > > > > > > > > > > > the "shmem" property instead? And the compatible string used for this
> > > > > > > > > > > > > > seems to be "arm,scmi-shmem".
> > > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > We use linux,scmi_mem node to reserve memory, needed for all
> > > > > > > > > > > > > channels:
> > > > > > > > > > > > >
> > > > > > > > > > > > > reserved-memory {
> > > > > > > > > > > > >     /* reserved region for scmi channels*/
> > > > > > > > > > > > >     scmi_memory: linux,scmi_mem@53FF0000 {
> > > > > > > > > > > > >         no-map;
> > > > > > > > > > > > >         reg = <0x0 0x53FF0000 0x0 0x10000>;
> > > > > > > > > > > > >     };
> > > > > > > > > > > > > };
> > > > > > > > > > > > >
> > > > > > > > > > > > > arm,scmi-shmem node used in shmem property defines only 1 page needed to
> > > > > > > > > > > > > the current scmi channel:
> > > > > > > > > > > > >
> > > > > > > > > > > > > cpu_scp_shm: scp-shmem@0x53FF0000 {
> > > > > > > > > > > > >     compatible = "arm,scmi-shmem";
> > > > > > > > > > > > >     reg = <0x0 0x53FF0000 0x0 0x1000>;
> > > > > > > > > > > > > };
> > > > > > > > > > > > >
> > > > > > > > > > > > > For each Domain reg points to unigue page from linux,scmi_mem region,
> > > > > > > > > > > > > assigned to this agent.
> > > > > > > > > > > >
> > > > > > > > > > > > If we were to use "linux,scmi_mem" we would have to introduce it as a
> > > > > > > > > > > > compatible string, not as a node name, and it would need to be described
> > > > > > > > > > > > in Documentation/devicetree/bindings/firmware/arm,scmi.yaml.
> > > > > > > > > > > >
> > > > > > > > > > > > But from your description I don't think it is necessary. We can just use
> > > > > > > > > > > > "arm,scmi-shmem" to describe all the required regions:
> > > > > > > > > > > >
> > > > > > > > > > > > reserved-memory {
> > > > > > > > > > > >     scp-shmem@0x53FF0000 {
> > > > > > > > > > > >         compatible = "arm,scmi-shmem";
> > > > > > > > > > > >         reg = <0x0 0x53FF0000 0x0 0x1000>;
> > > > > > > > > > > >     };
> > > > > > > > > > > >     scp-shmem@0x53FF1000 {
> > > > > > > > > > > >         compatible = "arm,scmi-shmem";
> > > > > > > > > > > >         reg = <0x0 0x53FF1000 0x0 0x1000>;
> > > > > > > > > > > >     };
> > > > > > > > > > > >     scp-shmem@0x53FF2000 {
> > > > > > > > > > > >         compatible = "arm,scmi-shmem";
> > > > > > > > > > > >         reg = <0x0 0x53FF2000 0x0 0x1000>;
> > > > > > > > > > > >     };
> > > > > > > > > > > >     ...
> > > > > > > > > > > >
> > > > > > > > > > > > In other words, if all the individual channel pages are described as
> > > > > > > > > > > > "arm,scmi-shmem", why do we also need a single larger region as
> > > > > > > > > > > > "linux,scmi_mem"?
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > That was my first implementation. But I've met a problem with
> > > > > > > > > > > scmi driver in kernel. I don't remember the exact place, but I remember
> > > > > > > > > > > there were some if, checking if memory weren't reserved.
> > > > > > > > > > > That's why I ended up splitting nodes reserved memory region and actual
> > > > > > > > > > > shmem page.
> > > > > > > > > > > For linux,scmi_mem node I took format from /reserved-memory/linux,lossy_decompress@54000000,
> > > > > > > > > > > which has no compatible string and provides no-map property.
> > > > > > > > > > > linux,scmi_shmem node is needed to prevent xen from allocating this
> > > > > > > > > > > space for the domain.
> > > > > > > > > > >
> > > > > > > > > > > Very interesting question about should I introduce linux,scmi_mem node
> > > > > > > > > > > and scmi_devid property to the
> > > > > > > > > > > Documentation/devicetree/bindings/firmware/arm,scmi.yaml?
> > > > > > > > > > > Those node and property are needed only for Xen and useless for
> > > > > > > > > > > non-virtualized systems. I can add this node and property description to
> > > > > > > > > > > arm,scmi.yaml, but leave a note that this is Xen specific params.
> > > > > > > > > > > What do you think about it?
> > > > > > > > > >
> > > > > > > > > > Reply below
> > > > > > > > > >
> > > > > > > > > > [...]
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > > > In general we can't use properties that are not part of the device tree
> > > > > > > > > > > > spec, either https://urldefense.com/v3/__https://www.devicetree.org/specifications/__;!!GF_29dbcQIUBPA!kNodtgmOQBc1iO76_6vTK-O1SoLxee_ChowYQiQYC595rMOsrnmof2zmk7BnhXCSnJPN$ [devicetree[.]org] or
> > > > > > > > > > > > https://urldefense.com/v3/__https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings__;!!GF_29dbcQIUBPA!kNodtgmOQBc1iO76_6vTK-O1SoLxee_ChowYQiQYC595rMOsrnmof2zmk7BnhXloYUaj$ [git[.]kernel[.]org]
> > > > > > > > > > > >
> > > > > > > > > > > > "linux,scmi_mem" is currently absent. Are you aware of any upstreaming
> > > > > > > > > > > > activities to get "linux,scmi_mem" upstream under
> > > > > > > > > > > > Documentation/devicetree/bindings in Linux?
> > > > > > > > > > > >
> > > > > > > > > > > > If "linux,scmi_mem" is going upstream in Linux, then we could use it.
> > > > > > > > > > > > Otherwise, first "linux,scmi_mem" needs to be added somewhere under
> > > > > > > > > > > > Documentation/devicetree/bindings (probably
> > > > > > > > > > > > Documentation/devicetree/bindings/firmware/arm,scmi.yaml), then we can
> > > > > > > > > > > > work on the Xen code that makes use of it.
> > > > > > > > > > > >
> > > > > > > > > > > > Does it make sense?
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > Yes I agree. I think linux,scmi_mem and scmi_devid should be upstreamed.
> > > > > > > > > > > I will add those properties to arm,scmi.yaml, mark them as related to XEN and send patch.
> > > > > > > > > >
> > > > > > > > > > I didn't realize that linux,scmi_mem and scmi_devid are supposed to be
> > > > > > > > > > Xen specific. In general, it would be best not to introduce Xen specific
> > > > > > > > > > properties into generic bindings. It is a problem both from a
> > > > > > > > > > specification perspective (because it has hard to handle Xen specific
> > > > > > > > > > cases in fully generic bindings, especially as those bindings are
> > > > > > > > > > maintained as part of the Linux kernel) and from a user perspective
> > > > > > > > > > (because now the user has to deal with a Xen-specific dtb, or has to
> > > > > > > > > > modify the host dtb to add Xen-specific information by hand.)
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > Let me start from scmi_devid.  Why would scmi_devid be Xen-specific? It
> > > > > > > > > > looks like a generic property that should be needed for the Linux SCMI
> > > > > > > > > > driver too. Why the Linux driver doesn't need it?
> > > > > > > > > >
> > > > > > > > >
> > > > > > > > > scmi_devid used during domain build. It passed as input parameter for SCMI_BASE_SET_DEVICE_PERMISSIONS message.
> > > > > > > > > On non-virtualized systems - there is no need of this call, because OS
> > > > > > > > > is the only one entity, running on the system.
> > > > > > > >
> > > > > > > > OK. Even if it is only required for virtualized systems, I think that
> > > > > > > > scmi_devid is important enough that should be part of the upstream
> > > > > > > > binding. I think it is worth starting an email thread on the LKML with
> > > > > > > > Rob Herring and the SCMI maintainers to discuss the addition of
> > > > > > > > scmi_devid to the binding.
> > > > > > > >
> > > > > > > >
> > > > > > > > > I've chatted with Volodymyr_Babchuk and he gave a great idea to add a
> > > > > > > > > list of device_ids to dom.cfg, such as:
> > > > > > > > > sci_devs = [ 0, 1, 15, 35 ];
> > > > > > > > >
> > > > > > > > > Using this approach, we can remove scmi_devid from the device tree and
> > > > > > > > > just pass a list of scmi_devids to XEN using additional hypercall.
> > > > > > > > > We can probably make hypercall taking devid list as input parameter.
> > > > > > > > > This will take only 1 hypercall to setup sci permissions.
> > > > > > > >
> > > > > > > > But how would a user know which are the right SCMI IDs to add to the
> > > > > > > > sci_devs list? Would the user have to go and read the reference manual
> > > > > > > > of the platform to find the SCMI IDs and then write sci_devs by hand?
> > > > > > > > If that is the case, then I think that it would be better to add
> > > > > > > > scmi_devid to device tree.
> > > > > > > >
> > > > > > > > In general, I think this configuration should happen automatically
> > > > > > > > without user intervention. The user should just specify "enable SCMI"
> > > > > > > > and it should work.
> > > > > > > >
> > > > > > > >
> > > > > > > > > > In regards to linux,scmi_mem, I think it would be best to do without it
> > > > > > > > > > and fix the Linux SCMI driver if we need to do so. Xen should be able to
> > > > > > > > > > parse the native "arm,scmi-shmem" nodes and Linux (dom0 or domU) should
> > > > > > > > > > be able to parse the "arm,scmi-shmem" nodes generated by Xen. Either
> > > > > > > > > > way, I don't think we should need linux,scmi_mem.
> > > > > > > > >
> > > > > > > > > This requires further investigation. I will try to make implementation
> > > > > > > > > without linux,scmi_mem, using only arm,scmi-shmem nodes and share
> > > > > > > > > reuslts with you.
> > > > > > > >
> > > > > > > > OK, thanks.
> > > > > > >
> > > > > > > Hi Stefano,
> > > > > > >
> > > > > > > As I did some investigation about using reserved-memory area
> > > > > > > linux,scmi_mem and now I need your advice.
> > > > > > >
> > > > > > > I see 2 possible implementations for now:
> > > > > > > 1) Add memory-region parameter to cpu_scp_shm node which points to the
> > > > > > > reserved memory region.
> > > > > > > So device-tree will look like this:
> > > > > > >
> > > > > > > 	reserved-memory {
> > > > > > > 		/* reserved region for scmi channels*/
> > > > > > > 		scmi_memory: region@53FF0000{
> > > > > > > 			no-map;
> > > > > > > 			reg = <0x0 0x53FF0000 0x0 0x10000>;
> > > > > > > 		};
> > > > > > > 	};
> > > > > > > 	cpu_scp_shm: scp-shmem@0x53FF0000 {
> > > > > > > 		compatible = "arm,scmi-shmem";
> > > > > > > 		reg = <0x0 0x53FF0000 0x0 0x1000>;
> > > > > > > 		memory-region = <&scmi_memory>;
> > > > > > > 	};
> > > > > > >
> > > > > > > So cpu_scp_shm node has a reference to scmi_memory region. This mean
> > > > > > > that xen can find reserved memory region without adding additional names
> > > > > > > to the device-tree bindings.
> > > > > > > memory-region parameter as a reference to reserved memory and region
> > > > > > > creation described in:
> > > > > > > https://urldefense.com/v3/__https://github.com/torvalds/linux/blob/v5.15/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt__;!!GF_29dbcQIUBPA!k6x19x1gYF1CPlgAZj7std3ifqhq-9DXvuF0nwonNPUwMzZpYHYbrRJziJrgdFIOjyan$ [github[.]com]
> > > > > > >
> > > > > > > This approach I've implemented already and it works.
> > > > > >
> > > > > > This approach would require a discussion with the upstream device tree
> > > > > > maintainers. Likely, we would need to add a note about the usage of the
> > > > > > "memory-region" property to arm,scmi.yaml.
> > > > > >
> > > > > > Also, I have the feeling that they would ask to add the "memory-region"
> > > > > > property directly to the "arm,scmi-smc" node, as an alternative (or
> > > > > > in addition) to the existing "shmem" property.
> > > > > >
> > > > > > That said, from my point of view this approach is also a viable option.
> > > > > > I don't see any major problems.
> > > > > >
> > > > > > The main question (after reading everything else that you wrote below)
> > > > > > is whether the "arm,scmi-smc" node in this case could be automatically
> > > > > > generated.
> > > > > >
> > > > > 
> > > > > arm,scmi-smc node can be generated in both cases. I think I'd leave it
> > > > > as backup in case if the second approach will not work.
> > > > > 
> > > > > >
> > > > > > > 2) The second approach is the format you suggested:
> > > > > > > > > > > > reserved-memory {
> > > > > > > > > > > >     scp-shmem@0x53FF0000 {
> > > > > > > > > > > >         compatible = "arm,scmi-shmem";
> > > > > > > > > > > >         reg = <0x0 0x53FF0000 0x0 0x1000>;
> > > > > > > > > > > >     };
> > > > > > > > > > > >     scp-shmem@0x53FF1000 {
> > > > > > > > > > > >         compatible = "arm,scmi-shmem";
> > > > > > > > > > > >         reg = <0x0 0x53FF1000 0x0 0x1000>;
> > > > > > > > > > > >     };
> > > > > > > > > > > >     scp-shmem@0x53FF2000 {
> > > > > > > > > > > >         compatible = "arm,scmi-shmem";
> > > > > > > > > > > >         reg = <0x0 0x53FF2000 0x0 0x1000>;
> > > > > > > > > > > >     };
> > > > > > > > > > > >     ...
> > > > > > >
> > > > > > > This approach has an advantage that xen ARM_SCI driver do not know about
> > > > > > > how channels are placed in the reserved memory, but introduces some
> > > > > > > disadvantages:
> > > > > > > a) We provide extra 14 (in our case) arm,scmi-shmem nodes which are not used
> > > > > > > in the device-tree. In current implementation I have separate scmi.dtsi
> > > > > > > file which introduces scmi support for both XEN-based and
> > > > > > > non-virtualized systems. Having 14 extra channels in the device-tree may
> > > > > > > be confusing.
> > > > > >
> > > > > > I can see that while it would be ideal for Xen to see all 14+1 channels
> > > > > > in device tree (on the host device tree), we wouldn't want to expose all
> > > > > > of them to the domains, not even to dom0.
> > > > > >
> > > > > > How many channels do we want dom0 to see by the way? For this
> > > > > > discussion, I'll just assume for now that dom0 only sees 1 channel like
> > > > > > the domUs.
> > > > > 
> > > > > For dom0 we need only one channel.
> > > > > 
> > > > > >
> > > > > > Now we have a problem: how do we go about "filtering" the
> > > > > > "arm,scmi-shmem" device tree nodes? Which is also what you are asking
> > > > > > below in point b).
> > > > > >
> > > > > 
> > > > > Xen will not need to filter "arm,scmi-shmem" node. It will just
> > > > > create shmem node in Domain device-tree. I don't see any problem for xen
> > > > > configuration here.
> > > > > What bothers me here is that I set scmi configuration for platform dts,
> > > > > not for xen or domu dts files.
> > > > > So for example I have the following structure of the dts files for my
> > > > > platform (r8a77961-salvator-xs):
> > > > >  * r8a77961-scmi.dtsi - this file includes all scmi related nodes and set
> > > > > scmi_devid for the devices, that should use scmi.
> > > > >  * r8a77961-salvator-xs.dts - dts file which generates dtb for the platform.
> > > > > It includes r8a77961-scmi.dtsi so I populate scmi to platform dtb, which
> > > > > is used for system with no hypervisor.
> > > > >  * r8a77961-salvator-xs-xen.dts - dts file for xen which includes
> > > > > r8a77961-salvator-xs.dts and inherits scmi configuration from it.
> > > > >  * r8a77961-salvator-xs-domu.dts - dts file for DomU which includes
> > > > > r8a77961-salvator-xs.dts and inherits scmi configuration from it.
> > > > > 
> > > > > In this case r8a77961-salvator-xs.dtb r8a77961-salvator-xs-xen.dtb
> > > > > r8a77961-salvator-xs-domu.dtb files will inherit 14+1 channel.
> > > > > 
> > > > > I can give you a link to Merge request with this changes if you need it.
> > > > > 
> > > > > For xen and domu dtb it is not a problem because all "arm,scmi-shmem"
> > > > > nodes will be omitted and new will be generated for the domains.
> > > > > 
> > > > > What bothers me is that r8a77961-salvator-xs.dtb will have 14 unused channels.
> > > > > 
> > > > > Just got an idea while writing this: I can create only one
> > > > > "arm,scmi-shmem" node in r8a77961-scmi.dtsi and add 14 more nodes,
> > > > > needed for xen explicitly in r8a77961-salvator-xs-xen.dts.
> > > > > 
> > > > > Then we will have valid configurations for all cases.
> > > > > This can be a solution. What do you think?
> > > > 
> > > > It is good that you brought this up because it helps me explain what I
> > > > mean. And of course it is up to you where you place the nodes in the
> > > > various dts files at your disposal. Either way it would work but I think
> > > > they should belong to r8a77961-salvator-xs.dts.
> > > > 
> > > > Generally the platform vendor (e.g. Xilinx) provides a device tree
> > > > description of the platform to use including all the available resources
> > > > and firmware interfaces. In your case it would be r8a77961-scmi.dtsi +
> > > > r8a77961-salvator-xs.dts. This is what I call the "host device tree"
> > > > below. Users should be able to boot a fully functional system using the
> > > > host device tree pretty much "as is" to run Xen, Linux or any other
> > > > software.
> > > > 
> > > > Certainly the SCMI device tree description should be part of the host
> > > > device tree, so in your case it would be r8a77961-salvator-xs.dts. And
> > > > the description should include all 14+1 channels because this is the
> > > > generic platform description -- we cannot know for sure how the users
> > > > are going to use the system.
> > > > 
> > > > This is why r8a77961-salvator-xs-xen.dts should be as small as possible
> > > > or ideally inexistent. There shouldn't be a need for a special device
> > > > tree modification to allow Xen to run. In reality, even at Xilinx we
> > > > have something like r8a77961-salvator-xs-xen.dts, although it is really
> > > > small.
> > > > 
> > > > But I see that r8a77961-salvator-xs-xen.dts could be viewed as the
> > > > device tree additions to run hypervisors and from that point of view it
> > > > is more acceptable to place the 14 channels there.
> > > > 
> > > > The biggest problem is r8a77961-salvator-xs-domu.dts: who is going to
> > > > write it? And how? It wouldn't be provided by the platform vendor, so it
> > > > is the user the one that has to find a way to write it.
> > > > 
> > > > I know the user already has to write a partial DTB for device
> > > > assignment, but any time the process is more complex than "copy the host
> > > > device tree node for device XXX to the partial DTB" it is a problem.
> > > > Errors are made and the system doesn't work.
> > > > 
> > > > I think we don't want to make it even more difficult by having to
> > > > manually produce the SCMI domU description too. The SCMI description for
> > > > domU could be automatically generated by Xen, or libxl/xl. If that's an
> > > > issue, then the SCMI description could be automatically generated by an
> > > > external tool but I think it would make things more complex and harder
> > > > to maintain.
> > > > 
> > > > In short my point of view is:
> > > > - r8a77961-scmi.dtsi + r8a77961-salvator-xs.dts should be as generic as
> > > >   possible so the SCMI nodes should have 14+1 channels
> > > > - but putting the 14 channels in r8a77961-salvator-xs-xen.dts is still
> > > >   OKish
> > > > - it is important that r8a77961-salvator-xs-domu.dts is automatically
> > > >   generated by Xen or libxl or another software tool
> > > > 
> > > 
> > > Thank you for the detailed response. I'll put all 14+1 channels to
> > > r8a77961-salvator-xs.dts then.
> > > I've described my thoughts about generation of the arm,scmi-smc node below.
> > > 
> > > > 
> > > > > > > b) In case if we have all 15 channels, described in partial device-tree,
> > > > > >
> > > > > > I think you meant "described in the host device tree", right?
> > > > > >
> > > > > Yeah that's what I've meant.
> > > > > >
> > > > > > > we should not copy any node to the domain device-tree. I think it will
> > > > > > > be better to generate arm,scmi-shmem node in the Domain device-tree.
> > > > > >
> > > > > > Yes, I think it makes sense for Xen to generate the "arm,scmi-shmem"
> > > > > > device tree description for the DomU/Dom0 based on the channels
> > > > > > allocated to the domain.
> > > > > >
> > > > > >
> > > > > > > The problem is that arm,scmi-smc node, which is using arm,scmi-shmem
> > > > > > > node can't be generated. I prefer it to be copied from the partial
> > > > > > > device-tree because it includes some platform specific configuration,
> > > > > > > such as func-id and list of the protocols (for example different
> > > > > > > platforms may require different list of the protocols). So in this
> > > > > > > case we will have 1 node copied and 1 node generated.
> > > > > > >
> > > > > > > I think even for dom0less we should use arm,scmi-smc node from the
> > > > > > > device-tree because protocol configuration and funcid is related to the
> > > > > > > platform.
> > > > > >
> > > > > > I am not sure I understood what you wrote. You are saying that the
> > > > > > "arm,scmi-smc" node includes some platform specific configurations so
> > > > > > it cannot be automatically generated by Xen (or by the tools) and
> > > > > > instead it needs to be manually provided as part of the partial dtb for
> > > > > > the domU. Is that correct?
> > > > > >
> > > > > > If so, I would like to understand the reasons behind it. Manual
> > > > > > device tree editing is problematic.
> > > > > >
> > > > > > I looked for "func-id" in
> > > > > > Documentation/devicetree/bindings/firmware/arm,scmi.yaml but couldn't
> > > > > > find any results. Do you have an example of the platform specific
> > > > > > configuration or protocol configuration that would make it difficult to
> > > > > > automatically generate the "arm,scmi-smc" node for the domains?
> > > > > 
> > > > > Sorry, I used wrong term (used term from the specification), arm,smc-id
> > > > > of cause.
> > > > > 
> > > > > >
> > > > > > Also, is this a problem just for approach #2 or also for approach #1?
> > > > > > If it is a problem only for approach #2, then let's just go with
> > > > > > approach #1.
> > > > > >
> > > > > 
> > > > > We can't copy "arm,scmi-smc" in both approaches. The difference is that
> > > > > in the first approach we can copy both "arm,scmi-smc" and
> > > > > "arm,scmi-shmem" nodes while in the second approach we should copy
> > > > > "arm,scmi-smc", but we have to generate "arm,scmi-shmem" node.
> > > > > 
> > > > > arm,scmi-smc node can't be generated because it includes properties and
> > > > > configurations that depends from platform and should be get from the
> > > > > device tree.
> > > > > Here is "arm,scmi-smc" node expample:
> > > > > firmware {
> > > > >     scmi {
> > > > >         compatible = "arm,scmi-smc"
> > > > >         arm,smc-id = <0x82000002>;
> > > > >         shmem = <&cpu_scp_shm>;
> > > > >         #address-cells = <1>;
> > > > >         #size-cells = <0>;
> > > > >         scmi_power: protocol@11 {
> > > > >             reg = <0x11>;
> > > > >             #power-domain-cells = <1>;
> > > > >         };
> > > > > 
> > > > >         scmi_clock: protocol@14 {
> > > > >             ...
> > > > >         };
> > > > > 
> > > > >         scmi_reset: protocol@16 {
> > > > >             ...
> > > > >         };
> > > > >         ...
> > > > >     };
> > > > > };
> > > > > 
> > > > > It has 3 configurable options:
> > > > >  * arm,smc-id parameter, setting func_id for scmi protocol. This id can be
> > > > > different for different platforms.
> > > > > For example stm32mp1 architecture use different scm-id for different
> > > > > agents:
> > > > > https://urldefense.com/v3/__https://github.com/ARM-software/arm-trusted-firmware/blob/0586c41b3f2d52aae847b7212e7b0c7e19197ea2/plat/st/stm32mp1/include/stm32mp1_smc.h*L39__;Iw!!GF_29dbcQIUBPA!mTRUjtSg19iVaYo3Cgjop5ckPWqKsHVo1EZCEA1zCbod9KpNSXX291A8vAuNdTCr46MA$ [github[.]com]
> > > > > 
> > > > >  * shmem which includes phandle to arm,scmi-shmem node. But this is not
> > > > > a problem and can be updated.
> > > > > 
> > > > >  * list of the protocol subnodes. This is also configurable parameter,
> > > > > not regs or names, but the number of the protocols. For example onle
> > > > > platform can use power-domains/clock/resets via scmi, when another will
> > > > > require volage-control and sensor-management to be added.
> > > > > 
> > > > > Xen should know this parameters to be able to generate "arm,scmi-smc" node.
> > > > > 
> > > > > Also we're currently discussing new scmi protocol with ARM: Pinctrl over
> > > > > SCMI.
> > > > > 
> > > > > It should allow domains to access pinctrl subsystem, placed in Firmware
> > > > > through SCMI protocol.
> > > > > scmi_pinctrl node will look like this:
> > > > > 
> > > > > 	firmware {
> > > > > 		scmi {
> > > > > 			...
> > > > > 			scmi_pinctrl: protocol@18 {
> > > > > 				reg = <0x18>;
> > > > > 				#pinctrl-cells = <0>;
> > > > > 
> > > > > 				i2c2_pins: i2c2 {
> > > > > 					groups = <74>; /* i2c2_a */
> > > > > 					function = <15>; /* i2c2 */
> > > > > 				};
> > > > > 
> > > > > 				irq0_pins: irq0 {
> > > > > 					groups = <81>; /* intc_ex_irq0 */
> > > > > 					function = <19>; /* intc_ex */
> > > > > 				};
> > > > > 
> > > > > 				avb_pins: avb {
> > > > > 					mux {
> > > > > 						/* avb_link, avb_mdio, avb_mii */
> > > > > 						groups = <17>, <21>, <22>;
> > > > > 						function = <1>; /* avb */
> > > > > 					};
> > > > > 
> > > > > 					pins_mdio {
> > > > > 						groups = <21>; /* avb_mdio */
> > > > > 						drive-strength = <24>;
> > > > > 					};
> > > > > 
> > > > > 					pins_mii_tx {
> > > > > 						/* PIN_AVB_TX_CTL, PIN_AVB_TXC, PIN_AVB_TD0,
> > > > > 						       PIN_AVB_TD1, PIN_AVB_TD2, PIN_AVB_TD3 */
> > > > > 						pins = <242>, <240>, <236>, <237>, <238>, <239>;
> > > > > 						drive-strength = <12>;
> > > > > 					};
> > > > > 				};
> > > > > 				...
> > > > > 			};
> > > > > 		};
> > > > > 	};
> > > > > 
> > > > > So "arm,scmi-smc" node will have even more platform specific settings.
> > > > > 
> > > > > >
> > > > > > > I prefer the second approach and will try to make it if it's OK to copy
> > > > > > > arm,scmi-smc node from partial Device-tree and generate arm,scmi-shmem
> > > > > > > node.
> > > > > > >
> > > > > > > What do you think about that?
> > > > > >
> > > > > > From a device tree specification perspective, I think both approaches
> > > > > > are OK (with a minor comment on the first approach as I wrote above.)
> > > > > >
> > > > > > But from a Xen perspective I think it is important that we don't require
> > > > > > the user to manually provide the SCMI configuration in the partial DTB.
> > > > > > It would be better if we could generate it automatically from Xen or the
> > > > > > tools (or even an independent script). Or copy the "arm,scmi-smc" node
> > > > > > from the host device tree to the domU device tree without modifications.
> > > > > 
> > > > > I think copy "arm,scmi-smc" node is the only option we have.
> > > > > I'm not sure what do you mean under "host device tree" if you mean Xen
> > > > > device-tree - then I think it will not cover the case with stm32mp1 I've
> > > > > mentioned above. I think it will be better to copy "arm,scmi-smc" node
> > > > > from Domu partial Device-tree to Domu device-tree.
> > > > > So AGENT0 smc-id will be set in xen device-tree and copied to dom0 and
> > > > > AGENT1 scm-is set in domu device-tree and copied to dom-u.
> > > > > 
> > > > > Do you agree with my points?
> > > > 
> > > > I think we are saying similar things, but we are getting mixed up with
> > > > the terminology. Let's start from the basics :-)
> > > > 
> > > > # Host device tree
> > > > The device tree given to Xen at boot time. This is the device tree that
> > > > Xen parses to discover what's available on the platform. In your case,
> > > > it seems to include r8a77961-salvator-xs-xen.dts.
> > > > 
> > > > # Partial DTB
> > > > (Ignoring Dom0less) this is the small DTB that gets passed to xl with
> > > > the "device_tree" option in the xl config file. It is copied verbatim
> > > > to the domU device tree by xl/libxl.
> > > > 
> > > > # Copy the "arm,scmi-smc" node from host device tree
> > > > This means that the domU "arm,scmi-smc" node is an exact copy of the
> > > > host device tree SCMI node. I don't think this is actually possible in
> > > > most cases because the domU description is typically a bit different
> > > > from the host description. For instance, the host description could
> > > > include 14+1 channels while the domU description should only include 1
> > > > channel.
> > > > 
> > > > # Copy the "arm,scmi-smc" node from the partial DTB
> > > > This implies that somebody or something create an "arm,scmi-smc" node
> > > > for the domU and placed it into the partial DTB. Then, Xen and/or
> > > > xl/libxl will copy the node from the partial DTB to the DomU device
> > > > tree. The main question in this case is: who is going to write the
> > > > partial DTB? We dont want the user (i.e. a person) to have to manually
> > > > write the SCMI description for the domU. It should be an automated tools
> > > > that does it. At that point, it is easier if it is Xen or xl/libxl.
> > > > Alternativaly, we could think of an external tool but I think it would
> > > > make things more difficult to maintain.
> > > > 
> > > > # Generate the "arm,scmi-smc" node for domUs
> > > > When I write "generate the arm,scmi-smc node", I mean that Xen and
> > > > libxl/xl will generate the "arm,scmi-smc" node for the domU. Thus, the
> > > > node will not be copied from the partial DTB or from the device tree,
> > > > instead, it should be created directly by Xen and/or libxl/xl.
> > > > 
> > > > However, the domU "arm,scmi-smc" node could still be derived from the
> > > > host device tree "arm,scmi-smc" node. In other words, Xen or xl/libxl
> > > > would look at the host device tree "arm,scmi-smc" node, copy it to the
> > > > domU device tree while making as many changes as necessary.
> > > > 
> > > > The DomU "arm,scmi-smc" node doesn't have to be entirely fake and
> > > > static. It could be dynamically created to match the host device tree
> > > > description. I think this is the best option.
> > > > 
> > > > 
> > > > # Conclusion
> > > > I am suggesting that Xen and/or libxl automatically produce the
> > > > "arm,scmi-smc" node for domUs based on the host device tree description
> > > > and based on the channel mapped to the domU. This way, the user (a
> > > > person) doesn't have to go and manually edit the domU partial DTB.
> > > > 
> > > 
> > > That sounds reasonable. The problem is that arm,scmi-smc node can be
> > > copmlicated and include a lot of configuration. Also for different
> > > mediators this node can be different.
> > > As I inderstand, there is no mechanism for xl to access host device-tree
> > > right now. Correct me if I'm wrong.
> > 
> > Yes, you are right. And the lack of a mechanism for xl to access the
> > host device tree is a problem.
> > 
> > 
> > > I see the following way we can generate arm,scmi-smc node for DomU:
> > > We say that if scmi-smc mediator is enabled - then Dom0 is configured to
> > > use SCMI. This means that Dom0 device-tree will have arm,scmi-smc node
> > > and it can be reached from the userspace.
> > 
> > So far so good
> > 
> > 
> > > In this case xl can use infromation from /proc/device-tree/firmware/scmi
> > > to generate arm,scmi-smc node for DomU. But in this case xl should know
> > > the exact path of scmi node.
> > > 
> > > Or we can generate some special node, called "shared" in Dom0 device-tree
> > > which will include copy of the arm,scmi-smc node, which can be used for domains.
> > > In this case xl can scan /proc/device-tree/shared node and find
> > > arm,scmi-smc copatible node and use it to generate arm,scmi-smc node for
> > > DomU.
> > > Also this can be used for another features in future.
> > > 
> > > What do you think about this?
> > 
> > Basing the domU SCMI node generation on the dom0 SCMI node is not great,
> > because it should be based on the host device tree rather than dom0 and
> > the dom0 SCMI description will be different.
> > 
> > Instead of copying just the host SCMI node somewhere in the dom0 device
> > tree so that xl/libxl can access it via /proc/device-tree, I think it
> > would be better to make the full host DTB available to xl/libxl.
> > 
> > There are probably many ways to do this, but there are a couple I can
> > think of on top of my head:
> > 
> > - introduce a new hypercall to get the full host dtb from Xen
> > The hypercall would pass an address and a size in guest physical memory
> > and Xen would copy the host DTB to it.
> > 
> > - introduce something like /proc/device-tree to hypfs
> > See xen/common/hypfs.c
> 
> 
> Hi Stefano,
> 
> I've found the discussion, indirectly related to our topic [1], in which
> hypervisor <-> toolchain interface topic was raised.
> 
> Where Andrii Anisov proposed to introduce another libxl type (f.e. File) which
> will read device tree file and operate with a binary blob.
> 
> His idea is to introduce new Domctl hypecall, which is able to send device-tree
> blob from toolstack to the hypervisor.
> I was thinking about using his approach, but in opposite direction.
> Such as introduce a set of DOMCTL, which gives ability for xl user to request
> Host Device-tree nodes.
> I see something like that:
> XEN_DOMCTL_host_node_by_path - gets node path as input and returns blob with node;
> XEN_DOMCTL_find_host_compatible_node - gets compatible string and "skip" number
> for the case if there is more than 1 compatible node and returns blob with node.
> 
> Advandages for my sight are:
> - I hope Andrii still has some code, which can be reused during the implementation;
> - Xen can determine if the requesting node can be exposed to the guest, which
> is additional layer of validation;
> - no need to transfer all device-tree to the toolstack.
> 
> As for the hypfs this sounds like a separate feature to me. I'm not sure if we
> need to provide the entire copy of the device-tree. Also there could be some
> problems with this solution.
> For example, xl tool have to scan whole hypfs tree to find node by phandle or
> by compatible string.
> 
> Looking forward for your thoughts about that. Also I would be happy if Julien
> could share his vision.
> 
> [1] https://xen.markmail.org/search/?q=from%3AAndrii+Anisov+device-tree#query:from%3AAndrii%20Anisov%20device-tree+page:2+mid:tvgyp7fzpiyyso3j+state:results

It looks like XEN_DOMCTL_host_node_by_path and
XEN_DOMCTL_find_host_compatible_node would also solve the problem but I
think that a single hypercall that retrieves the entire host DTB would
be easier to implement and more robust in the long term.

hypfs has the advantage that it would create an interface more similar
to the one people are already used to on Linux systems
(/proc/device-tree). xl/libxl would have to scan the whole hypfs tree,
which intuitively I think it would be slower. Also the feature might be
harder to implement but I am not sure.

I don't have a strong preference and this is not a stable interface (we
don't have to be extra paranoid about forward and backward
compatibility). So I am fine either way. Let's see what the others think
as well.


From xen-devel-bounces@lists.xenproject.org Mon Jan 24 19:26:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 19:26:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259966.448840 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC4yv-0000na-Pz; Mon, 24 Jan 2022 19:26:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259966.448840; Mon, 24 Jan 2022 19:26:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC4yv-0000nT-M5; Mon, 24 Jan 2022 19:26:25 +0000
Received: by outflank-mailman (input) for mailman id 259966;
 Mon, 24 Jan 2022 19:26: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 1nC4yu-0000nN-8x
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 19:26: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 1nC4yt-00008S-Ry; Mon, 24 Jan 2022 19:26:23 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235] helo=[10.85.42.33])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nC4yt-0006JS-Lm; Mon, 24 Jan 2022 19:26:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=Y4sj3Ee8XXTMGIS8CxtGx64+5EBOb+lIpJfzTGEL9sM=; b=X900d7a4X2vQYF1jNROXwTclGn
	E6F7L9yXu8UWVugBsGOhQyEOABJLXQCvGZye7SOb520IBgHr4Q9aiY7kNy98kSHa1qzoJGLnyeaai
	2cvW2B52RhTj6QBp3AXOKb7TCYIZz8U7+WNbTL+Htlplx/lSVCJlAR6FFQE8sOr99CiQ=;
Message-ID: <d5c84296-79a6-5698-802d-4d9ba60dbf24@xen.org>
Date: Mon, 24 Jan 2022 19:26:21 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.0
Subject: Re: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
To: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <20211221200305.GA2460476@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2112211310000.2060010@ubuntu-linux-20-04-desktop>
 <20211222110414.GA2883815@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2112221627190.2060010@ubuntu-linux-20-04-desktop>
 <20220119120400.GA3779126@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2201191644400.19362@ubuntu-linux-20-04-desktop>
 <20220120102147.GA4153317@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2201201230480.27308@ubuntu-linux-20-04-desktop>
 <20220121150753.GA898010@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2201211236060.27308@ubuntu-linux-20-04-desktop>
 <20220124182249.GA2485483@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2201241056290.27308@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2201241056290.27308@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 24/01/2022 19:06, Stefano Stabellini wrote:
> It looks like XEN_DOMCTL_host_node_by_path and
> XEN_DOMCTL_find_host_compatible_node would also solve the problem but I
> think that a single hypercall that retrieves the entire host DTB would
> be easier to implement

DOMCTL should only be used to handle per-domain information. If we want 
to create a new sub-hypercall of either __HYPERVISOR_platform_op or 
__HYPERVISOR_sysctl_op (not sure which one).

AFAICT, both are versioned.

> and more robust in the long term. >
> hypfs has the advantage that it would create an interface more similar
> to the one people are already used to on Linux systems
> (/proc/device-tree). xl/libxl would have to scan the whole hypfs tree,
> which intuitively I think it would be slower.

Even if you have the binary blob, you would still have to scan the 
device-tree. That said, it is probably going to be potentially a bit 
faster because you have less hypercall.

However, here this is a trade-off between memory use and speed. If you 
want speed, then you may have to transfer up to 2MB every time. So the 
question is do we care more about speed or memory usage?

> Also the feature might be
> harder to implement but I am not sure.
> 
> I don't have a strong preference and this is not a stable interface (we
> don't have to be extra paranoid about forward and backward
> compatibility). So I am fine either way. Let's see what the others think
> as well.

My preference would be to use hypfs as this is cleaner than exposing a blob.

However, are we sure we can simply copy the content of the host 
Device-Tree to the guest Device-Tree for SCMI? For instance, I know that 
for device passthrough there are some property that needs to be altered 
for some devices. Hence, why it is not present. Although, I vaguely 
recalled to have written a PoC, not sure if it was posted on the ML.

Cheeers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Jan 24 19:57:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 19:57:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259977.448878 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC5T9-0004MQ-IK; Mon, 24 Jan 2022 19:57:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259977.448878; Mon, 24 Jan 2022 19: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 1nC5T9-0004MJ-FK; Mon, 24 Jan 2022 19:57:39 +0000
Received: by outflank-mailman (input) for mailman id 259977;
 Mon, 24 Jan 2022 19:57: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 1nC5T8-0004M9-Eq; Mon, 24 Jan 2022 19:57: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 1nC5T8-0000gZ-CP; Mon, 24 Jan 2022 19:57: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 1nC5T7-00045s-Un; Mon, 24 Jan 2022 19:57:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nC5T7-0004HZ-U5; Mon, 24 Jan 2022 19:57: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=ljx0f/szNihwB0LfkIZLjd55Ud3zASmpP/eHKjastHw=; b=buXbj2qUkkN99tXeRe6rZqPYcQ
	A0fN4ilZkGWuL+c8Yfs00H24D97qvPFarXP+GKk8tjw2n/IvdaVb+Jmr8yxOc+b9QI7CmaqyBQIck
	Y9nQrXSKZDImmJkODIHb42zNOIujNL2IkYY2Gl02pRooaPS08wrHKzCEqLllVSS9eGR4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167806-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167806: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-amd64: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-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-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-armhf-armhf-libvirt: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-armhf-armhf-libvirt-qcow2: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-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=ec32910f4f871dce0f0e32dfb36f218fa1a2e869
X-Osstest-Versions-That:
    xen=fe9be76d880b1d43b9dca471f45af3fd380ecb00
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 24 Jan 2022 19:57:37 +0000

flight 167806 xen-unstable real [real]
flight 167807 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/167806/
http://logs.test-lab.xenproject.org/osstest/logs/167807/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 20 guest-start/debianhvm.repeat fail pass in 167807-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 167790
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167802
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167802
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167802
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167802
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167802
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167802
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167802
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167802
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167802
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167802
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167802
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167802
 test-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-i386-libvirt      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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  ec32910f4f871dce0f0e32dfb36f218fa1a2e869
baseline version:
 xen                  fe9be76d880b1d43b9dca471f45af3fd380ecb00

Last test of basis   167802  2022-01-24 01:53:05 Z    0 days
Testing same since   167806  2022-01-24 12:38:17 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
  Jan Beulich <jbeulich@suse.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   fe9be76d88..ec32910f4f  ec32910f4f871dce0f0e32dfb36f218fa1a2e869 -> master


From xen-devel-bounces@lists.xenproject.org Mon Jan 24 21:07:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 21:07:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259986.448890 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC6Yx-0002hl-TX; Mon, 24 Jan 2022 21:07:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259986.448890; Mon, 24 Jan 2022 21:07:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC6Yx-0002he-PD; Mon, 24 Jan 2022 21:07:43 +0000
Received: by outflank-mailman (input) for mailman id 259986;
 Mon, 24 Jan 2022 21:07:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=97vV=SI=ionos.com=jinpu.wang@srs-se1.protection.inumbo.net>)
 id 1nC6Yw-0002hY-7z
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 21:07:42 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a916061c-7d59-11ec-bc18-3156f6d857e4;
 Mon, 24 Jan 2022 22:07:40 +0100 (CET)
Received: by mail-ej1-x631.google.com with SMTP id a8so24906153ejc.8
 for <xen-devel@lists.xenproject.org>; Mon, 24 Jan 2022 13:07:38 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a916061c-7d59-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=ionos.com; s=google;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=ePWzg4KksjRUDSjqr+o9tEK0DbR7L8NzVM+5lIUlDPo=;
        b=UryOzKtTd2BAlxPDRNgCwCESf13lD5IW6bNOSpBDepFbuH7r9fjbsT6cE5x5Ghft6m
         mvPNVWtkz01mVJrSqeC/gB7JTH8T6qFvFS/VnIIFZHW5/gP/sOhhcnNoyYhFzrPdUaVF
         FvDL8M4vNuURIqj/n/AdjkvXl39lYlpRohMIl+wO54x442N5Kx3ijGlQ972NHhWQkaPM
         2PB2Ht3BymPWofX9NOCMsDhYcC+73YD1E+ldRp1Zbpzgc9ITLFFrLh5PDvAi6v8hFREw
         ZBIZaScnPoiVR8zI3lCx6RkrB7DD23Vmu/ZR3nC2SK8GmSX6IQ39leUg3dHZiL44CE+y
         QY2Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=ePWzg4KksjRUDSjqr+o9tEK0DbR7L8NzVM+5lIUlDPo=;
        b=19MaSm+TYqDi7zSnb84t3QupfjbHvZs1ANvkG2t3fcdTdpc7Fyw5Vt5t+kTKVq4rlg
         LMEXInPmfNURuGOHMM0KxnTOwhTtaIKT/SmhptMklo0OXVRvcsGVO8plx4rN/XkEzQUZ
         GYbK0jv5lDhk0mPNjiKXW7mxScVrItHO03tl26MEYECAx1MC8TmUzSMUlgv8Ng2rc6fB
         gIUthLirk1sIP63KBAlpIraloiex6LTA6y/7+P0UCVQffRhETCGJVS9SPETFm20mf+BI
         +SL9IsJsnFtvLTz9bCLj15Z70rtvZY8Rmf4yNYBaLAHJeTSAwPM7eCJBsVxRlD2TVvaw
         0c3g==
X-Gm-Message-State: AOAM531R+wMXFccMV08Y2Gq+6AKARYILmFT0S5mExDqqEikd7hROuhcB
	KcoxpGSHaiETZYnCuvuy/4FPn0PSO1MowPLKWb0y4w==
X-Google-Smtp-Source: ABdhPJxclIDTBsv4yYQkMf2IKJZoaAKnmKikCbThIVE5NKI9QkHybFZsTLU/0wfsssiMKHH11b6mrHEUsG/59h5Yi1w=
X-Received: by 2002:a17:907:1c23:: with SMTP id nc35mr11335786ejc.624.1643058458017;
 Mon, 24 Jan 2022 13:07:38 -0800 (PST)
MIME-Version: 1.0
References: <20220124091107.642561-1-hch@lst.de> <20220124091107.642561-12-hch@lst.de>
In-Reply-To: <20220124091107.642561-12-hch@lst.de>
From: Jinpu Wang <jinpu.wang@ionos.com>
Date: Mon, 24 Jan 2022 22:07:26 +0100
Message-ID: <CAMGffEknV3j8nm__Bc_q7QUra+MV2kj-CMcq8O2ZdEK+B3om_Q@mail.gmail.com>
Subject: Re: [PATCH 11/19] rnbd-srv: remove struct rnbd_dev_blk_io
To: Christoph Hellwig <hch@lst.de>
Cc: Jens Axboe <axboe@kernel.dk>, Pavel Begunkov <asml.silence@gmail.com>, 
	Mike Snitzer <snitzer@redhat.com>, Ryusuke Konishi <konishi.ryusuke@gmail.com>, 
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>, 
	Andrew Morton <akpm@linux-foundation.org>, "Md . Haris Iqbal" <haris.iqbal@ionos.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.co>, 
	Philipp Reisner <philipp.reisner@linbit.com>, Lars Ellenberg <lars.ellenberg@linbit.com>, 
	linux-block@vger.kernel.org, dm-devel@redhat.com, 
	linux-fsdevel@vger.kernel.org, linux-nfs@vger.kernel.org, 
	linux-nilfs@vger.kernel.org, ntfs3@lists.linux.dev, 
	xen-devel@lists.xenproject.org, drbd-dev@lists.linbit.com
Content-Type: text/plain; charset="UTF-8"

On Mon, Jan 24, 2022 at 10:11 AM Christoph Hellwig <hch@lst.de> wrote:
>
> Only the priv field of rnbd_dev_blk_io is used, so store the value of
> that in bio->bi_private directly and remove the entire bio_set overhead.
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jack Wang <jinpu.wang@ionos.com>
Thanks!
> ---
>  drivers/block/rnbd/rnbd-srv-dev.c |  4 +---
>  drivers/block/rnbd/rnbd-srv-dev.h | 13 ++-----------
>  drivers/block/rnbd/rnbd-srv.c     | 27 ++++-----------------------
>  drivers/block/rnbd/rnbd-srv.h     |  1 -
>  4 files changed, 7 insertions(+), 38 deletions(-)
>
> diff --git a/drivers/block/rnbd/rnbd-srv-dev.c b/drivers/block/rnbd/rnbd-srv-dev.c
> index 98d3e591a0885..c5d0a03911659 100644
> --- a/drivers/block/rnbd/rnbd-srv-dev.c
> +++ b/drivers/block/rnbd/rnbd-srv-dev.c
> @@ -12,8 +12,7 @@
>  #include "rnbd-srv-dev.h"
>  #include "rnbd-log.h"
>
> -struct rnbd_dev *rnbd_dev_open(const char *path, fmode_t flags,
> -                              struct bio_set *bs)
> +struct rnbd_dev *rnbd_dev_open(const char *path, fmode_t flags)
>  {
>         struct rnbd_dev *dev;
>         int ret;
> @@ -30,7 +29,6 @@ struct rnbd_dev *rnbd_dev_open(const char *path, fmode_t flags,
>
>         dev->blk_open_flags = flags;
>         bdevname(dev->bdev, dev->name);
> -       dev->ibd_bio_set = bs;
>
>         return dev;
>
> diff --git a/drivers/block/rnbd/rnbd-srv-dev.h b/drivers/block/rnbd/rnbd-srv-dev.h
> index 1a14ece0be726..2c3df02b5e8ec 100644
> --- a/drivers/block/rnbd/rnbd-srv-dev.h
> +++ b/drivers/block/rnbd/rnbd-srv-dev.h
> @@ -14,25 +14,16 @@
>
>  struct rnbd_dev {
>         struct block_device     *bdev;
> -       struct bio_set          *ibd_bio_set;
>         fmode_t                 blk_open_flags;
>         char                    name[BDEVNAME_SIZE];
>  };
>
> -struct rnbd_dev_blk_io {
> -       struct rnbd_dev *dev;
> -       void             *priv;
> -       /* have to be last member for front_pad usage of bioset_init */
> -       struct bio      bio;
> -};
> -
>  /**
>   * rnbd_dev_open() - Open a device
> + * @path:      path to open
>   * @flags:     open flags
> - * @bs:                bio_set to use during block io,
>   */
> -struct rnbd_dev *rnbd_dev_open(const char *path, fmode_t flags,
> -                              struct bio_set *bs);
> +struct rnbd_dev *rnbd_dev_open(const char *path, fmode_t flags);
>
>  /**
>   * rnbd_dev_close() - Close a device
> diff --git a/drivers/block/rnbd/rnbd-srv.c b/drivers/block/rnbd/rnbd-srv.c
> index 6d228af1dcc35..ff9b389976078 100644
> --- a/drivers/block/rnbd/rnbd-srv.c
> +++ b/drivers/block/rnbd/rnbd-srv.c
> @@ -116,9 +116,7 @@ rnbd_get_sess_dev(int dev_id, struct rnbd_srv_session *srv_sess)
>
>  static void rnbd_dev_bi_end_io(struct bio *bio)
>  {
> -       struct rnbd_dev_blk_io *io = bio->bi_private;
> -
> -       rnbd_endio(io->priv, blk_status_to_errno(bio->bi_status));
> +       rnbd_endio(bio->bi_private, blk_status_to_errno(bio->bi_status));
>         bio_put(bio);
>  }
>
> @@ -131,7 +129,6 @@ static int process_rdma(struct rnbd_srv_session *srv_sess,
>         struct rnbd_srv_sess_dev *sess_dev;
>         u32 dev_id;
>         int err;
> -       struct rnbd_dev_blk_io *io;
>         struct bio *bio;
>         short prio;
>
> @@ -152,7 +149,7 @@ static int process_rdma(struct rnbd_srv_session *srv_sess,
>         priv->sess_dev = sess_dev;
>         priv->id = id;
>
> -       bio = bio_alloc_bioset(GFP_KERNEL, 1, sess_dev->rnbd_dev->ibd_bio_set);
> +       bio = bio_alloc(GFP_KERNEL, 1);
>         if (bio_add_page(bio, virt_to_page(data), datalen,
>                         offset_in_page(data)) != datalen) {
>                 rnbd_srv_err(sess_dev, "Failed to map data to bio\n");
> @@ -160,12 +157,8 @@ static int process_rdma(struct rnbd_srv_session *srv_sess,
>                 goto bio_put;
>         }
>
> -       io = container_of(bio, struct rnbd_dev_blk_io, bio);
> -       io->dev = sess_dev->rnbd_dev;
> -       io->priv = priv;
> -
>         bio->bi_end_io = rnbd_dev_bi_end_io;
> -       bio->bi_private = io;
> +       bio->bi_private = priv;
>         bio->bi_opf = rnbd_to_bio_flags(le32_to_cpu(msg->rw));
>         bio->bi_iter.bi_sector = le64_to_cpu(msg->sector);
>         bio->bi_iter.bi_size = le32_to_cpu(msg->bi_size);
> @@ -260,7 +253,6 @@ static void destroy_sess(struct rnbd_srv_session *srv_sess)
>
>  out:
>         xa_destroy(&srv_sess->index_idr);
> -       bioset_exit(&srv_sess->sess_bio_set);
>
>         pr_info("RTRS Session %s disconnected\n", srv_sess->sessname);
>
> @@ -289,16 +281,6 @@ static int create_sess(struct rtrs_srv_sess *rtrs)
>                 return -ENOMEM;
>
>         srv_sess->queue_depth = rtrs_srv_get_queue_depth(rtrs);
> -       err = bioset_init(&srv_sess->sess_bio_set, srv_sess->queue_depth,
> -                         offsetof(struct rnbd_dev_blk_io, bio),
> -                         BIOSET_NEED_BVECS);
> -       if (err) {
> -               pr_err("Allocating srv_session for path %s failed\n",
> -                      pathname);
> -               kfree(srv_sess);
> -               return err;
> -       }
> -
>         xa_init_flags(&srv_sess->index_idr, XA_FLAGS_ALLOC);
>         INIT_LIST_HEAD(&srv_sess->sess_dev_list);
>         mutex_init(&srv_sess->lock);
> @@ -747,8 +729,7 @@ static int process_msg_open(struct rnbd_srv_session *srv_sess,
>                 goto reject;
>         }
>
> -       rnbd_dev = rnbd_dev_open(full_path, open_flags,
> -                                &srv_sess->sess_bio_set);
> +       rnbd_dev = rnbd_dev_open(full_path, open_flags);
>         if (IS_ERR(rnbd_dev)) {
>                 pr_err("Opening device '%s' on session %s failed, failed to open the block device, err: %ld\n",
>                        full_path, srv_sess->sessname, PTR_ERR(rnbd_dev));
> diff --git a/drivers/block/rnbd/rnbd-srv.h b/drivers/block/rnbd/rnbd-srv.h
> index e5604bce123ab..be2ae486d407e 100644
> --- a/drivers/block/rnbd/rnbd-srv.h
> +++ b/drivers/block/rnbd/rnbd-srv.h
> @@ -23,7 +23,6 @@ struct rnbd_srv_session {
>         struct rtrs_srv_sess    *rtrs;
>         char                    sessname[NAME_MAX];
>         int                     queue_depth;
> -       struct bio_set          sess_bio_set;
>
>         struct xarray           index_idr;
>         /* List of struct rnbd_srv_sess_dev */
> --
> 2.30.2
>


From xen-devel-bounces@lists.xenproject.org Mon Jan 24 22:15:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 24 Jan 2022 22:15:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259992.448900 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC7bx-0000x6-4S; Mon, 24 Jan 2022 22:14:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259992.448900; Mon, 24 Jan 2022 22:14:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nC7bx-0000wz-1J; Mon, 24 Jan 2022 22:14:53 +0000
Received: by outflank-mailman (input) for mailman id 259992;
 Mon, 24 Jan 2022 22:14:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4ZXe=SI=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nC7bv-0000wt-I3
 for xen-devel@lists.xenproject.org; Mon, 24 Jan 2022 22:14:51 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0b1fc54c-7d63-11ec-bc18-3156f6d857e4;
 Mon, 24 Jan 2022 23:14:49 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id E83BC611EA;
 Mon, 24 Jan 2022 22:14:45 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6EDC5C340E7;
 Mon, 24 Jan 2022 22:14: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: 0b1fc54c-7d63-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1643062484;
	bh=a0De33ItmRHJeTZtQjS5RWputpBKXe2dW2jQY9vNaxM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Y6A6AU9P86koA8MMfwiZPU+/YYjQcQG+XFR7ELahVr1m3p/yakr6pfjysMG/8OU/4
	 DwSDdfJxNy1uhskjNwMA2Zwd0G/DGdRQUKnQo/4MnOoK1t975CUneB+QvAvqOEFsoT
	 Pnhegbss20CDzImFlEWqydREbEANnOJ/SY1DdwQ2Tz6WaK/SMWCaPjUNnM5JWkhxkD
	 r9u+JESfp98VGbsqnXmfNk3K/Ejpju6uFtzZlkvWAEacQEkO3pIfsiBzqmwB2EY2Dw
	 4nbdbc1OkKMN/qcJtu6ApkHXN3p/M/xDlPznu4iSu+uYmYw8mYDLQecWMZLqbLvP+Y
	 iMluRLlPvpxXA==
Date: Mon, 24 Jan 2022 14:14:43 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
In-Reply-To: <d5c84296-79a6-5698-802d-4d9ba60dbf24@xen.org>
Message-ID: <alpine.DEB.2.22.394.2201241403240.27308@ubuntu-linux-20-04-desktop>
References: <20211221200305.GA2460476@EPUAKYIW015D> <alpine.DEB.2.22.394.2112211310000.2060010@ubuntu-linux-20-04-desktop> <20211222110414.GA2883815@EPUAKYIW015D> <alpine.DEB.2.22.394.2112221627190.2060010@ubuntu-linux-20-04-desktop> <20220119120400.GA3779126@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2201191644400.19362@ubuntu-linux-20-04-desktop> <20220120102147.GA4153317@EPUAKYIW015D> <alpine.DEB.2.22.394.2201201230480.27308@ubuntu-linux-20-04-desktop> <20220121150753.GA898010@EPUAKYIW015D> <alpine.DEB.2.22.394.2201211236060.27308@ubuntu-linux-20-04-desktop>
 <20220124182249.GA2485483@EPUAKYIW015D> <alpine.DEB.2.22.394.2201241056290.27308@ubuntu-linux-20-04-desktop> <d5c84296-79a6-5698-802d-4d9ba60dbf24@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 24 Jan 2022, Julien Grall wrote:
> On 24/01/2022 19:06, Stefano Stabellini wrote:
> > It looks like XEN_DOMCTL_host_node_by_path and
> > XEN_DOMCTL_find_host_compatible_node would also solve the problem but I
> > think that a single hypercall that retrieves the entire host DTB would
> > be easier to implement
> 
> DOMCTL should only be used to handle per-domain information. If we want to
> create a new sub-hypercall of either __HYPERVISOR_platform_op or
> __HYPERVISOR_sysctl_op (not sure which one).
> 
> AFAICT, both are versioned.
> 
> > and more robust in the long term. >
> > hypfs has the advantage that it would create an interface more similar
> > to the one people are already used to on Linux systems
> > (/proc/device-tree). xl/libxl would have to scan the whole hypfs tree,
> > which intuitively I think it would be slower.
> 
> Even if you have the binary blob, you would still have to scan the
> device-tree. That said, it is probably going to be potentially a bit faster
> because you have less hypercall.
> 
> However, here this is a trade-off between memory use and speed. If you want
> speed, then you may have to transfer up to 2MB every time. So the question is
> do we care more about speed or memory usage?
> 
> > Also the feature might be
> > harder to implement but I am not sure.
> > 
> > I don't have a strong preference and this is not a stable interface (we
> > don't have to be extra paranoid about forward and backward
> > compatibility). So I am fine either way. Let's see what the others think
> > as well.
> 
> My preference would be to use hypfs as this is cleaner than exposing a blob.

That's also fine by me. Probably the hypfs implementation shouldn't be
much more difficult than something like
XEN_DOMCTL_host_node_by_path/XEN_DOMCTL_find_host_compatible_node.


> However, are we sure we can simply copy the content of the host Device-Tree to
> the guest Device-Tree for SCMI? For instance, I know that for device
> passthrough there are some property that needs to be altered for some devices.
> Hence, why it is not present. Although, I vaguely recalled to have written a
> PoC, not sure if it was posted on the ML.

The SCMI node cannot be copied "as is" from host to guest. It needs a
couple of changes but they seem feasible as they are limited to the
channels exposed to the guest. (The generic device passthrough case is a
lot more difficult.)


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 01:11:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 01:11:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.259997.448912 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCAME-0002u1-4v; Tue, 25 Jan 2022 01:10:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 259997.448912; Tue, 25 Jan 2022 01:10:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCAMD-0002ta-Uz; Tue, 25 Jan 2022 01:10:49 +0000
Received: by outflank-mailman (input) for mailman id 259997;
 Tue, 25 Jan 2022 01:10:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=npsv=SJ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nCAMC-0002tU-UJ
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 01:10:49 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9fc1fc9f-7d7b-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 02:10:46 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 32B81B810A8;
 Tue, 25 Jan 2022 01:10:45 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 77F2AC340E7;
 Tue, 25 Jan 2022 01:10: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: 9fc1fc9f-7d7b-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1643073043;
	bh=D07unP5JvFJh6EMHwybRTsjO2bPn46z37sTvXX1HWVc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=GEPTDupF7sKIP18DMiIxFhMyhBYwxbpVxt5O4PXe/9yug9jZyrjY9Kxc3TpabHYkx
	 vA54kpLQEPotDKTs+OhanF0gNUYcy5CsOH27YsVG3emvUTK69694bZe07ruO1IDWUF
	 AxcGCc1U8ZcCkBXIHEKoBKJfVJ7eFnQOnjfnlhTboV3MtVvr3S5xUQZsqBVJLERAnv
	 QduCgPGbF2JwjqLaZOlU6SWOMfksukQjplz5IsJjtEYvmGkRpZ89ogjgi9R1qCUV06
	 vp3yI5t4rm1RPbmF1nn1LMlP2mtNqcUk3KJKltlhKWiT18XTiKO9x682B8drq7+BdM
	 YMgRjbhh1ZYEQ==
Date: Mon, 24 Jan 2022 17:10:42 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, jgross@suse.com, Bertrand.Marquis@arm.com, 
    Volodymyr_Babchuk@epam.com, 
    Stefano Stabellini <stefano.stabellini@xilinx.com>, 
    Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [XEN PATCH v2 2/5] xen: export get_free_port
In-Reply-To: <f3b2ae98-c7af-d8c0-b0a4-52e622517c34@xen.org>
Message-ID: <alpine.DEB.2.22.394.2201241652330.27308@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop> <20220113005855.1180101-2-sstabellini@kernel.org> <f3b2ae98-c7af-d8c0-b0a4-52e622517c34@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Sun, 23 Jan 2022, Julien Grall wrote:
> > diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
> > index da88ad141a..5b0bcaaad4 100644
> > --- a/xen/common/event_channel.c
> > +++ b/xen/common/event_channel.c
> > @@ -232,7 +232,7 @@ int evtchn_allocate_port(struct domain *d, evtchn_port_t
> > port)
> >       return 0;
> >   }
> >   -static int get_free_port(struct domain *d)
> > +int get_free_port(struct domain *d)
> 
> I dislike the idea to expose get_free_port() (or whichever name we decide)
> because this can be easily misused.
> 
> In fact looking at your next patch (#3), you are misusing it as it is meant to
> be called with d->event_lock. I know this doesn't much matter
> in your situation because this is done at boot with no other domains running
> (or potentially any event channel allocation). However, I still think we
> should get the API right.
> 
> I am also not entirely happy of open-coding the allocation in domain_build.c.
> Instead, I would prefer if we provide a new helper to allocate an unbound
> event channel. This would be similar to your v1 (I still need to review the
> patch though).

I am happy to go back to v1 and address feedback on that patch. However,
I am having difficulties with the implementation. Jan pointed out:


> > -
> > -    chn->state = ECS_UNBOUND;
> 
> This cannot be pulled ahead of the XSM check (or in general anything
> potentially resulting in an error), as check_free_port() relies on
> ->state remaining ECS_FREE until it is known that the calling function
> can't fail anymore.

This makes it difficult to reuse _evtchn_alloc_unbound for the
implementation of evtchn_alloc_unbound. In fact, I couldn't find a way
to do it.

Instead, I just create a new public function called
"evtchn_alloc_unbound" and renamed the existing funtion to
"_evtchn_alloc_unbound" (this to addresses Jan's feedback that the
static function should be the one starting with "_"). So the function
names are inverted compared to v1.

Please let me know if you have any better suggestions.


diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
index da88ad141a..c6b7dd7fbd 100644
--- a/xen/common/event_channel.c
+++ b/xen/common/event_channel.c
@@ -18,6 +18,7 @@
 
 #include <xen/init.h>
 #include <xen/lib.h>
+#include <xen/err.h>
 #include <xen/errno.h>
 #include <xen/sched.h>
 #include <xen/irq.h>
@@ -284,7 +285,27 @@ void evtchn_free(struct domain *d, struct evtchn *chn)
     xsm_evtchn_close_post(chn);
 }
 
-static int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
+struct evtchn *evtchn_alloc_unbound(struct domain *d, domid_t remote_dom)
+{
+    struct evtchn *chn;
+    int port;
+
+    if ( (port = get_free_port(d)) < 0 )
+        return ERR_PTR(port);
+    chn = evtchn_from_port(d, port);
+
+    evtchn_write_lock(chn);
+
+    chn->state = ECS_UNBOUND;
+    chn->u.unbound.remote_domid = remote_dom;
+    evtchn_port_init(d, chn);
+
+    evtchn_write_unlock(chn);
+
+    return chn;
+}
+
+static int _evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
 {
     struct evtchn *chn;
     struct domain *d;
@@ -1195,7 +1216,7 @@ long do_event_channel_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
         struct evtchn_alloc_unbound alloc_unbound;
         if ( copy_from_guest(&alloc_unbound, arg, 1) != 0 )
             return -EFAULT;
-        rc = evtchn_alloc_unbound(&alloc_unbound);
+        rc = _evtchn_alloc_unbound(&alloc_unbound);
         if ( !rc && __copy_to_guest(arg, &alloc_unbound, 1) )
             rc = -EFAULT; /* Cleaning up here would be a mess! */
         break;
diff --git a/xen/include/xen/event.h b/xen/include/xen/event.h
index 21c95e14fd..85dcf1d0c4 100644
--- a/xen/include/xen/event.h
+++ b/xen/include/xen/event.h
@@ -68,6 +68,9 @@ int evtchn_close(struct domain *d1, int port1, bool guest);
 /* Free an event channel. */
 void evtchn_free(struct domain *d, struct evtchn *chn);
 
+/* Create a new event channel port */
+struct evtchn *evtchn_alloc_unbound(struct domain *d, domid_t remote_dom);
+
 /* Allocate a specific event channel port. */
 int evtchn_allocate_port(struct domain *d, unsigned int port);
 


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 07:34:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 07:34:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260000.448923 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCGL1-0004Xy-BS; Tue, 25 Jan 2022 07:33:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260000.448923; Tue, 25 Jan 2022 07: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 1nCGL1-0004Xr-8F; Tue, 25 Jan 2022 07:33:59 +0000
Received: by outflank-mailman (input) for mailman id 260000;
 Tue, 25 Jan 2022 07:33: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 1nCGKz-0004Xh-9R; Tue, 25 Jan 2022 07:33: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 1nCGKz-0007df-6A; Tue, 25 Jan 2022 07: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 1nCGKy-000121-Qk; Tue, 25 Jan 2022 07:33:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nCGKy-0002aL-QK; Tue, 25 Jan 2022 07: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=oGpziNyRVgRzHDVsReOu1IpNyzX4/ZrYrP/8KNCm5bI=; b=AN9MxSA1xfwya6yX56otRaqHmA
	5syfFMxB6txLN1oBBNCxqV0Vz6cq4FiqWZcjBlQvZsvNVYt42oetBKnkl+12Mp94TYlFrtLSe8ARJ
	YtNrP8Zsa4iDfl7HTAEVhk88wayhpyoK7kT2aXS7iiYjWWxeLfad+KQsw6MTHbb264Dk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167809-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 167809: regressions - FAIL
X-Osstest-Failures:
    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:build-amd64-libvirt:libvirt-build:fail:regression
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=fa6e29f9789f16fb3262b3d4de5b90b705f603fb
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 25 Jan 2022 07:33:56 +0000

flight 167809 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167809/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-i386-libvirt            6 libvirt-build            fail REGR. vs. 151777
 build-armhf-libvirt           6 libvirt-build            fail REGR. vs. 151777
 build-amd64-libvirt           6 libvirt-build            fail REGR. vs. 151777

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              fa6e29f9789f16fb3262b3d4de5b90b705f603fb
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  564 days
Failing since        151818  2020-07-11 04:18:52 Z  563 days  545 attempts
Testing same since   167809  2022-01-25 04:20:14 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>
  Ani Sinha <ani@anisinha.ca>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  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>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  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>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  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>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  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 Chevsky <nchevsky@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>
  Or Ozeri <oro@il.ibm.com>
  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>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott 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>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  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>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Дамјан Георгиевски <gdamjan@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 94297 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 08:22:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 08:22:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260013.448933 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCH5l-0001c4-AV; Tue, 25 Jan 2022 08:22:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260013.448933; Tue, 25 Jan 2022 08: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 1nCH5l-0001bx-7X; Tue, 25 Jan 2022 08:22:17 +0000
Received: by outflank-mailman (input) for mailman id 260013;
 Tue, 25 Jan 2022 08:22:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=81on=SJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nCH5j-0001br-Kk
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 08:22:15 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e622f630-7db7-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 09:22:13 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2112.outbound.protection.outlook.com [104.47.18.112]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-35-o7uYCqC1M5GvdcbJeq6gbQ-1; Tue, 25 Jan 2022 09:22:12 +0100
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM6PR04MB5351.eurprd04.prod.outlook.com (2603:10a6:20b:29::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Tue, 25 Jan
 2022 08:22:09 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::353c:89ba:2675:f607]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::353c:89ba:2675:f607%4]) with mapi id 15.20.4909.019; Tue, 25 Jan 2022
 08:22:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e622f630-7db7-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643098933;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=Zgv466W7GGfV1ytt+r/5KmJjbR7zUYjmsFEAHbyZsHI=;
	b=CC0iNt6/p5XEcUKOVkq03UoXY6Q41z4iyucpyi9xSSOHxbXCC3wHCObUvGWMn4Rw9kMo1j
	/pyqIM0s61myYKTxXyoDCJOIdQ93PwgNqvWjyPXvKxjfelHLxGl6OrjahUzd911ffeCVys
	FFzEtADYOSRz65mdexI+zKe74bapfKE=
X-MC-Unique: o7uYCqC1M5GvdcbJeq6gbQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=b84qcDz9FVqF4PI7QIe3xmLisi24WEaB4kMExmihfizcRY9ZCU6ibZlKu/Axb6bvL5uWrvb/jnW3Ri9AOUrcGHXvow8xoVos+KyQoZcrbuKydfcMVxN7TPSnxnu7aYQzpMJQOkQVm62lghTV3FYVCGw5Fx8HSx4kxKywd6YpFtovhnRIgzGtwBm/f8jv1pCRapuBq0o74ZII1Wj7JQ1mAKR8UjcA99WhpCtiz+aiXiEqLwjmok3Cmds1uLLMMdSk8ayXbcuZDmN1vsocJsSral2sWbdymO+/jtwU90qdpBQrcJjqDyGQLD9sY1RWiX8uyIsQfVxdMPNB6Kiv5gJBVg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Zgv466W7GGfV1ytt+r/5KmJjbR7zUYjmsFEAHbyZsHI=;
 b=ZiU8+Q5VZZNVSFHFPXPWwE+ZQOrIsERZG9a7bmkJXB7NYOpKJxzQYYkJtQMg8W5GYWtzAe2HdsVUe/RkZtjDWWLZyiNVLbuSnl8jPj68n8Ufrxps4mzkG61qBlvtd0hjDPSNh/e2E8jTxh5H7RO3WLPJ41Qn2mv+sCbcnrYi3AVGl/71hGT7EjhbvDeieRB29TiaCTn+DiUMdeD9MvJVskfDQP/mZ1kNoBAxYMoxy9QTazUlcp72dEzQXT98WXrckVplZutzmz97fEthirf9K155DvK4kGpK592g408lz7/wWtY8smxqRFhsNTL3eYQQ3ANA229GiuZfBg/+Yeb3Fw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <14af544d-0d20-9b58-4d70-5f5086ece032@suse.com>
Date: Tue, 25 Jan 2022 09:22:05 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [XEN PATCH v2 2/5] xen: export get_free_port
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, jgross@suse.com,
 Bertrand.Marquis@arm.com, Volodymyr_Babchuk@epam.com,
 Stefano Stabellini <stefano.stabellini@xilinx.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>
References: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop>
 <20220113005855.1180101-2-sstabellini@kernel.org>
 <f3b2ae98-c7af-d8c0-b0a4-52e622517c34@xen.org>
 <alpine.DEB.2.22.394.2201241652330.27308@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2201241652330.27308@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR04CA0167.eurprd04.prod.outlook.com
 (2603:10a6:20b:331::22) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4ffcace3-fc78-4f6c-d854-08d9dfdbc7fa
X-MS-TrafficTypeDiagnostic: AM6PR04MB5351:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-Microsoft-Antispam-PRVS:
	<AM6PR04MB5351FCC65AB0F1BC3F603627B35F9@AM6PR04MB5351.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:
	Q4yU1YDcCXX5HfMS+2ZML0shnGj7V4frK824oc8ztFQVRAwiKo8eU+/CQRcYcBbEYsMNpMNjkHftm3tcwVmPMy2hrrIY8mX9kv6nVGFpobLneZwux/PwN8s9WfT6SD/v2vit3Atl2S2wlB7yEh9QAKszZ0SESrGZdWTg91ToZgxyuumNNv0Y1NNcG8zAk4v4ip4cK6flxZ+M2Q9vtx83QWUTyBU54I0csK5vnqiPLlhHGXGpMSzUPim6RQqdQWkXRZzDe8NwqoCaPLuuMwBdyC4JZy91/Rrgm+tprJD9nLtQeOHTgeEUsJGvl2twLyS4LUEo5m52u1XHMwYGIjGxOISqxXWMM4ncWCgUB+/dOqAjZBwF2WmnvN3yYflSKTBU51ylqrsad/qUvjYdeGb8PyUxVn4wF1C0WC1EbAuJ4eh3vcTlS0iqn+4w3/C92J7DwbfZR9EHzulm0HTMrc0zNNQATybNkw2YI1X7HcIybiZcRBJawJQwVYm54kk28rTOGE4/MjyXM9HzeZrJhKJ5T2gcqsLpGP2vIHMGwHMVB53CRNSflRW7lvDqB6lYqmma0v/tYwTyxcQ2KY4lpJLjD6Q4gekxPudS+Uc4rQrRiaqin/0pBxkaAbdM4UHO7Pf7dKzPm77ouh19GRlZ+ZLxmxzxmBL8H/qg+6eqjp5paeu55jCZujciMKEQGDJxzJmBeKHU6gqhWQx1J8ldSeVNFJJzDJaMhx/3pT2v/pI5NSQjDNZFJ94tJgnWeAIBnu2Z
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)(2616005)(508600001)(6916009)(6486002)(5660300002)(38100700002)(4326008)(36756003)(26005)(186003)(6512007)(86362001)(31696002)(66476007)(316002)(54906003)(8936002)(2906002)(6506007)(83380400001)(53546011)(6666004)(66556008)(8676002)(66946007)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ak9YRlBTbXRCTXhjK3hiUWljNlU4bzlibEpIQUphRnNVYkxpYWdVZ0lNSytH?=
 =?utf-8?B?Ukt1VVhXSHVGdzJNV0R2Z2VZZnZEUmc3WGhUUXl1VGRvR0lrMk5SbHpLWFpl?=
 =?utf-8?B?bWhhZFN1dVc4dlNtT3hLRkhmZDdwa25Ud2h1TVlLNStMRHBoa2UrcktSek9P?=
 =?utf-8?B?aXg4MlN1SzBNSmFsa05vVE1WTUFQdThEbnlIZ3Z4MXhkUkxpOUR3MmhNTm9G?=
 =?utf-8?B?dEdvaHRrL2gxNHo1dHhNV3dSZkFXbHF0UmNJL2NBaWtURGRPcGJETWpqMjBR?=
 =?utf-8?B?OTl4WW0wTTJvSHhycDBDekNjWUZ6N0FyQ3I0T1lDV0dXLzE0ZUcvTFh2RWdQ?=
 =?utf-8?B?VXVBaDZTVDc1M2JkYWFGR1JHTzhlTlRobUZGUVVOZjEyVmFqZnpuMGVvNkRD?=
 =?utf-8?B?TGxaQzlKTENIdXppMTdySnJZUjdFU3FCZUtTbmIwenJsdWhDSlVFRzlTN0dS?=
 =?utf-8?B?a2dXL0hxYjNrdlUzdk94SVM1WkdveDc4WmFvVzVjcU1kV29DOEZVVzNIZDUx?=
 =?utf-8?B?Y3dkSVRHRXFqeGNVelV2dUxrdlI5a2dUYmY4UzVucXA0T0JTZTl6MGlRUG1I?=
 =?utf-8?B?Z3BNalI5bVhxZWppWGZTUTFzdTZyMHpHeCtjd1JEZHh0M0lORTh0ZDkrTE00?=
 =?utf-8?B?dmFMdGVyUUR0d3VmdSsvbzdrQjNHSmxzK0htb0FpNUFMSUJtcU42VHhZTE1T?=
 =?utf-8?B?djhZdi9xbmpKeWo2QWRBekkxTFRZTUtwZWdNcXVsV0NJSVVReHZxRng3bUpE?=
 =?utf-8?B?cHpOcmVVN2QzMnpEUFdyWUp0YURGVDNpTjhMNkZNS0tUKzZhOUJQbEZZZDhp?=
 =?utf-8?B?MEM0OUVBSFc0UHhaNEVUVFIySkYwdUpxbUhWVVlNYkk1NmlQQk1ndU9XT282?=
 =?utf-8?B?T0lycjNFdHRPcUlhYjVvNWg2cGNsejdTVXdNRU52MEFPSU5yKysrUDJFb1lr?=
 =?utf-8?B?WkRZMndMRGFTQ3U3SFRZWE1QcEkzOFpuNCtBcllMT3dWMTg5U3R4YkVsck1i?=
 =?utf-8?B?ekZVYVJFaUlaSHVzOTcwU3h1clQxZ2Q4cHl4dUZMak1NRmRnMlhHVjlXd21P?=
 =?utf-8?B?SGYyME9VU2VFSXBMZ2VoVU1vOXVUR3UvVlgveE96QVo2YzVLK2hleHN6OWlw?=
 =?utf-8?B?Ym1MUUtOZGN5c3ovK3hybXZkdWo1eUxNK0RQVEwrRUV4cllxMk42Qng1c056?=
 =?utf-8?B?NXFCd0s3YU1XbXYxNWl6R051N2tyM2VrK0RrdGlycDZiZjIvTU8xdFdwcjFS?=
 =?utf-8?B?THhHVkZYV0xZTjhMb2wwcnBtdVhNQXUzTEl6YXdtTzhoTnRWY3Z6WnJveWZC?=
 =?utf-8?B?TlNZUld2cGdnM3p2SHg5YXZrK3VJM2E1ampGbjhYNTBSajZOOHEvMWd3R1RS?=
 =?utf-8?B?Mjl0a29SSnh1NWo2emtzcjBITWRVbTFrZVdDSTNUeXFTLytKOTFzSzg2MGNM?=
 =?utf-8?B?dDRuTVE5cllGQU1hZHpYelVMb1gxeDd2c0xpUmdaTjJHVjlvcVBodkVpNUdy?=
 =?utf-8?B?ZmYzTGRST0FSVE1ZOGMwWk1RcFFmVkgxbkNXYjhNOG9RMlhQMGhYZ3hXdTc3?=
 =?utf-8?B?K0JmOTdIY3ZneTNBcnluUHVLU0Z2dXptUmswbW5WQnl3QXFtc0lqQUlNQ0I3?=
 =?utf-8?B?WEFaMldWRlJ3MlA0UDg3QzlacjVleXBrYVZtdjE2bTZMK2lKYTZyL2h4WThH?=
 =?utf-8?B?MmNyMG9tcG1Xak5LbkRVMG1paStTOVhuYmhkeDYzNTlrK1VJTFYvYlBTeTcw?=
 =?utf-8?B?WnlRTEUvREtidURCOEM5ekFvdDRhMnA3eENiMDI5cms3TGZHU25ybTM4R0RK?=
 =?utf-8?B?VElXMXdqNlZLR29TS2NRSjJ0anJ4d0R1dThpeVFpc3dDQzFpSnk3NURXR1VM?=
 =?utf-8?B?aUdMbFErdm5rMkoyelNhaFNYajkvaUhCSm5FSVFzKzEwTlZqSEY2ZXNGUFpH?=
 =?utf-8?B?MzEwWUhFTk83REsvWUJqQ2IvcGROc3lGSDNlVFZxejNVekFtb1VVeEJEYkw3?=
 =?utf-8?B?ZVIzbUtDWk8wenBseWgxWDBaem9kaTBKVjR0K3laOFFQTkJpbWZVT0k0bE5r?=
 =?utf-8?B?aUZvODNwTDZjT2dMS0JxWDlwMXc2aFJZVzJqKzVaaGZCb2pSTjNQOGZxckRC?=
 =?utf-8?B?Ymc0MWhHdW9FeUphM3RCd3VJaDkwUFlkaThIRnB6NGVTL3ZFMTZIY1o1aUhu?=
 =?utf-8?Q?VbSRMmE0v6MkHw9rIXa965Q=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4ffcace3-fc78-4f6c-d854-08d9dfdbc7fa
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 08:22:09.6666
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xQbwMTXpt0lT7cCfY9C7VS+hS39GdTsrAjYyo1KI76PtB25vTRcwrWHFyau64rCatW2j9UwCZIT05dN9cuXgkQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB5351

On 25.01.2022 02:10, Stefano Stabellini wrote:
> On Sun, 23 Jan 2022, Julien Grall wrote:
>>> diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
>>> index da88ad141a..5b0bcaaad4 100644
>>> --- a/xen/common/event_channel.c
>>> +++ b/xen/common/event_channel.c
>>> @@ -232,7 +232,7 @@ int evtchn_allocate_port(struct domain *d, evtchn_port_t
>>> port)
>>>       return 0;
>>>   }
>>>   -static int get_free_port(struct domain *d)
>>> +int get_free_port(struct domain *d)
>>
>> I dislike the idea to expose get_free_port() (or whichever name we decide)
>> because this can be easily misused.
>>
>> In fact looking at your next patch (#3), you are misusing it as it is meant to
>> be called with d->event_lock. I know this doesn't much matter
>> in your situation because this is done at boot with no other domains running
>> (or potentially any event channel allocation). However, I still think we
>> should get the API right.
>>
>> I am also not entirely happy of open-coding the allocation in domain_build.c.
>> Instead, I would prefer if we provide a new helper to allocate an unbound
>> event channel. This would be similar to your v1 (I still need to review the
>> patch though).
> 
> I am happy to go back to v1 and address feedback on that patch. However,
> I am having difficulties with the implementation. Jan pointed out:
> 
> 
>>> -
>>> -    chn->state = ECS_UNBOUND;
>>
>> This cannot be pulled ahead of the XSM check (or in general anything
>> potentially resulting in an error), as check_free_port() relies on
>> ->state remaining ECS_FREE until it is known that the calling function
>> can't fail anymore.
> 
> This makes it difficult to reuse _evtchn_alloc_unbound for the
> implementation of evtchn_alloc_unbound. In fact, I couldn't find a way
> to do it.
> 
> Instead, I just create a new public function called
> "evtchn_alloc_unbound" and renamed the existing funtion to
> "_evtchn_alloc_unbound" (this to addresses Jan's feedback that the
> static function should be the one starting with "_"). So the function
> names are inverted compared to v1.
> 
> Please let me know if you have any better suggestions.
> 
> 
> diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
> index da88ad141a..c6b7dd7fbd 100644
> --- a/xen/common/event_channel.c
> +++ b/xen/common/event_channel.c
> @@ -18,6 +18,7 @@
>  
>  #include <xen/init.h>
>  #include <xen/lib.h>
> +#include <xen/err.h>
>  #include <xen/errno.h>
>  #include <xen/sched.h>
>  #include <xen/irq.h>
> @@ -284,7 +285,27 @@ void evtchn_free(struct domain *d, struct evtchn *chn)
>      xsm_evtchn_close_post(chn);
>  }
>  
> -static int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
> +struct evtchn *evtchn_alloc_unbound(struct domain *d, domid_t remote_dom)
> +{
> +    struct evtchn *chn;
> +    int port;
> +
> +    if ( (port = get_free_port(d)) < 0 )
> +        return ERR_PTR(port);
> +    chn = evtchn_from_port(d, port);
> +
> +    evtchn_write_lock(chn);
> +
> +    chn->state = ECS_UNBOUND;
> +    chn->u.unbound.remote_domid = remote_dom;
> +    evtchn_port_init(d, chn);
> +
> +    evtchn_write_unlock(chn);
> +
> +    return chn;
> +}
> +
> +static int _evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
>  {
>      struct evtchn *chn;
>      struct domain *d;

Instead of introducing a clone of this function (with, btw, still
insufficient locking), did you consider simply using the existing
evtchn_alloc_unbound() as-is, i.e. with the caller passing
evtchn_alloc_unbound_t *?

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 08:55:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 08:55:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260018.448945 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCHbt-0004ug-0S; Tue, 25 Jan 2022 08:55:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260018.448945; Tue, 25 Jan 2022 08:55:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCHbs-0004uZ-TR; Tue, 25 Jan 2022 08:55:28 +0000
Received: by outflank-mailman (input) for mailman id 260018;
 Tue, 25 Jan 2022 08:55:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=81on=SJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nCHbq-0004uT-Tq
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 08:55:27 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 88f1f303-7dbc-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 09:55:25 +0100 (CET)
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur03lp2051.outbound.protection.outlook.com [104.47.10.51]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-17-kniLUGuaOseSCvRbW7L-Rg-1; Tue, 25 Jan 2022 09:55:23 +0100
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by DB7PR04MB5081.eurprd04.prod.outlook.com (2603:10a6:10:23::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Tue, 25 Jan
 2022 08:55:20 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::353c:89ba:2675:f607]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::353c:89ba:2675:f607%4]) with mapi id 15.20.4909.019; Tue, 25 Jan 2022
 08:55: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: 88f1f303-7dbc-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643100924;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=+67q8GZx1mxeatuTqvwtC3MLyEd68icKe5zBuWa0rKo=;
	b=VkLOGnAVA5cBqbDUcqNytPGCvV9sCEV7/WaYrpGmishcFx4pANyLMeAQ73TLgEjvQ9KhW0
	CSxwwWvzwcc0r2Pm3Vjzc2647Yl76jqDOWAk8+B9INvkY03aygB95HjroRgkTGZS/BQIJR
	ayglf/Q+VpG5HPYE6Ipu+N5EiCa2+YU=
X-MC-Unique: kniLUGuaOseSCvRbW7L-Rg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ITkM38T43qvx0T8NSk/c8clzsPX43UnNR2H8wehsWYW80IocJRLgD+4mNUbb0EIUIA+QPB6azAN5ci0XWfw05XM8hureyhThY+uSxPKjsa6g27RhhtgMkbAn9T75JHJGZsut0omy90mq2xctzmm9FBcw9Ond9jYH8odg7G4NiTilspKaRUlD/omcajsIy5LNF2beqUxjrfpKyr62yP7dbuicgDRwrjiAkQwNfXvpTPedXONoSBw9lF1Jn9CYm0qtmRq1rn3NBX3SPGwXT5ni1TZ4WrzfvBBUOn7oe0VXmzfngO1u0L1gquK1o045N5Yq08nXYNXSum43/mwAyrZH8Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+67q8GZx1mxeatuTqvwtC3MLyEd68icKe5zBuWa0rKo=;
 b=PzmMtv+lsijYqYh7CTuDl+uqj/ScGoi5Okkw8FSuIpYatpGcrMVE9R+O3V+PoHbXs0OajsjN27xq7/lWViwE+rgdi1eyF5q+feo4EBktH7l+ka8yYDLMWa7Yk44CtRFd5FevRRTi3VenMOWCQOyvJBgH7mRc2XPIm7fy9PtEQaKBRPA4z2M9L64XQe83Auel0+W76NQG7OWXlUQdwVGGT3kignHx5+5yX6umdHb/NrCB2ujfE43ot8oEOb+EXV6DWM8hJctrvxZ7v0RMx0H9UgNSvek5Y+4TuxFXbrx7vZ/acrH/yWAKJ+5Y1FB1fCk7SVOyAFafSyVXsZ6bcO//7w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e6c217ba-2723-45ca-bb60-1c181359d261@suse.com>
Date: Tue, 25 Jan 2022 09:55:19 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [XEN v3] xen/arm64: io: Decode ldr/str post-indexing instructions
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Andre Przywara <andre.przywara@arm.com>, xen-devel@lists.xenproject.org,
 stefanos@xilinx.com, julien@xen.org, Volodymyr_Babchuk@epam.com,
 bertrand.marquis@arm.com, wei.chen@arm.com,
 Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>
References: <20220120215527.28138-1-ayankuma@xilinx.com>
 <20220122013046.6a786d3f@slackpad.fritz.box>
 <18e715ae-111d-58e6-55f9-a48a521e99b3@xilinx.com>
 <20220124143601.3e2ac6ac@donnerap.cambridge.arm.com>
 <bae9a35f-be42-2ebe-5ce0-30e08001ae97@xilinx.com>
 <alpine.DEB.2.22.394.2201240941310.27308@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2201240941310.27308@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR07CA0043.eurprd07.prod.outlook.com
 (2603:10a6:20b:459::12) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6dd3a285-2e5a-4787-4b30-08d9dfe06ab0
X-MS-TrafficTypeDiagnostic: DB7PR04MB5081:EE_
X-Microsoft-Antispam-PRVS:
	<DB7PR04MB5081F4719D837A98335C90E4B35F9@DB7PR04MB5081.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:
	PFUp2iUggQi2Qzv8rwdnQgXfhinCYvpGIS/rlejZ5rr8bTus3UzWrVIJfiL2GKPxFyhUeC5TBRgukNQXjm3aD0Th50AhFbMbfEaOUt2+F+c1kUrjWnkZdmQqWzhCT42JgnqmDxpFwOpZtHexHK4/1krahd+ztgz0uy7Tmb0FmMCVPbzfluUofytzw2m33BKW6wGGHql3rBmuoVLDVZm8jWJtPVa8LgXpfqwzYuMrjq/UW96A1SKd1pZb/f8zRs8QLcRc8446tzByGE0+1j1r3WDLlPsCR6wVT2EHE8r9MRqet6ZFBP3eh7f5Gq3Dnes8Q+zHIHPxIbeDWs2xvtCYBFKVx/qvqdu+agG6VE490Z9+Xix01eLKfUzVSmmlDWFQ9+nRtHQn7FRsZkM5US/S7mV4hf/8T4kBx8wNS7f8kuOns1tQNFLz/O4CLeiz03sxqnPVgZIVnLO3JtIjU6LxhFLfDlr20HlEMnLR/VNFrRMlhenllXQaN1wJ2QFum4JcP9ejieLHSHVvXaxRdcyStQw6yUpmjTVaVKLRODGVnSAf8/7+a7bZuQSf1Y3lQT50lUgNvS9diJ9VGPFyr7jBk179gBrwz1ulIJkajJiFVJie/Ig3+uCwpODwXDcurUnx1cc1+BqUz1pUcdHT8PtCdW08uM2Mn8cHyNGQYMHtPvR9ot4g7LFBY99dbBAiuptySCza5Lunv+O1dsXd8aAvKIRJ7QAl0qheVllWiqd3FDU=
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)(8936002)(316002)(66946007)(6512007)(36756003)(8676002)(4326008)(6916009)(66476007)(38100700002)(86362001)(66556008)(6486002)(54906003)(26005)(53546011)(186003)(6506007)(2906002)(5660300002)(508600001)(31686004)(2616005)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WWU4MFVOSEVFUWZJYUdCcUNKU3JMVTFvWTlJYWpzRVFoUjAvcTdvWk4yT1o4?=
 =?utf-8?B?UStmeGJmaUNENExHOWhpRG5nb1E4dlVQbW9JUzBGUmk3aDZsdlkyNGxRNEVW?=
 =?utf-8?B?QVRjT3dBZGQ4Zmk2SSt0Q3dlYldLYW52TS9jbFpkUmJGL3pabElLZWt4MTBR?=
 =?utf-8?B?WXczTDlqSHFWOTRlSHNwNUNkbmFCKzFUa1B3RHEzcU5Cek5kUFIxeFNuekFI?=
 =?utf-8?B?b2wreG9WSEdGTE4ybTgxNU52RVJ1WEV2K3RISzVja3l6UFpxamhsanl0NGdG?=
 =?utf-8?B?MnpqOHVrRlZqNmNTdGR4VTFaS0pIZ0JwWGRoa21UOVlvNmVnVDNSN1lpNDlZ?=
 =?utf-8?B?ZlBXaDVOTVlRQnp1QkpMN2NFa2pmanI5aVVqSloydmw2bTJvNkVmUnlmckZH?=
 =?utf-8?B?dXVXRjJBVkwvQkVGOXlYWjRmZUhTazNTeVRaUzZKNHlUWnhnY2xlMEZIS2px?=
 =?utf-8?B?VnUzZ0xFRnQ4eERoQmJyaXBQbFUvMTJDTWcrUktkMEZqc1EvdktXSks2a3Zv?=
 =?utf-8?B?QkV6azN4NWtpaHBDSmtrazhQTWNZWUdMWW1jK2xaWGNNTmJVSHpoRllSdzJn?=
 =?utf-8?B?WGEvM3g2WjZiZG9GbE03eFAwejhYNCttUTFySkkwYUFKcnRnT0d1ejAvNlhw?=
 =?utf-8?B?dzcrUHFUUDVYVE1RTFE0ZzRSTkR2MXJEa3VkNG5rSUVmUjFQTDV3NXdZUHJF?=
 =?utf-8?B?cG1yZllWOVZGTWxRcVF5K1M1WVo0dE02SWpjZmRtWVBGQzFNcTFGSEJVNkxI?=
 =?utf-8?B?TGF6bUpKaXFBcmdidGRpZ2lEcFhLdjJwYmE1bkcxOVBlTFhQbm0xcmcvNEti?=
 =?utf-8?B?TFBobW9hdUliNEh5UXVJUnY0ZExCanMxRXE0K1Y3WXMwdHA1NUVUQXJoWEFt?=
 =?utf-8?B?VENmQmF2b1FqQjNLd2txWkhrSm4wM1ExTG1mblNYUUlIOFpod0NVN3V0VkRy?=
 =?utf-8?B?dVVOOWlzc0dPa0pwcURXRS9JTzBBcWFWc1FTb1lGZnR5TG5yZkpkdFJjOCs1?=
 =?utf-8?B?eEh3V0ZsOWJ6STF4NUZGbFA5YW9LOXBzVzN3dVRUU3ZxUUFmU0R3MzYycXFu?=
 =?utf-8?B?Q29EVU9BWGFYUk9XL2kyZ0tmL2JsZldrcEg4NmRwVHRwNFpnOThkU1dKQW01?=
 =?utf-8?B?NWJmQ2t2YXhWNlhia0VKOFc5WWZBQ1ROMG1RNWlZNmtYZUNiaTZKRmlNaUVu?=
 =?utf-8?B?WWdIQ05GZ1JvZmxKUzZhckhiVW1kYWRHL2pNSHErY2szT2RWMzR5WllJVFZv?=
 =?utf-8?B?NkFuU3pQL2NCNWlBM1lDVndaUEwxdjYwRm1yYXFCK1RmZWtCRFlYalM5VGtw?=
 =?utf-8?B?MFJUeDFmeW14UG1vVnc1MkROd2ZNVkpVZEZ1UE52Y2Rza2ZiVExHS25WR2xu?=
 =?utf-8?B?eXIzdGJnN0Rld3BLL3cvSkIwSkQ5bGFSTmhYTzFsZjIvZTVEVzFhUUhQVFly?=
 =?utf-8?B?NytpSWRlMHROR3hvYlNna0J1a3YxRzIxdWsveUNzSVNCSWNzNXpiUForZXZC?=
 =?utf-8?B?SVVOdGxod0JabmlJdXRSK3JzL2ZOWEpQTTFkc0Q2ZnVwaU5rejRaYkVmemJV?=
 =?utf-8?B?OHBNVWZRY0RXdHlZMWltUDR5UExpUElVSXR0ZHdyTjh2dE9peFpDZ1dvb1Vo?=
 =?utf-8?B?Y2p1YUJKQmtTSFpmdE1RckpVRExqdGJRaGcvZGxIRlJYZFBpcytYbTg0V0Nm?=
 =?utf-8?B?dzZmR1Bxa2lCaURmd3I2ZndEdnZEMXpzYjkzZTdERU0vN2drZmJYWW0xUldM?=
 =?utf-8?B?aTRFckxFbFpHOE9yMWtXQ3lvNkxrWUhNTDZsKzJiZVBGdy85OHNNbTkzSmRG?=
 =?utf-8?B?M0hETlhmYkZ3WnNHMk8xZG1BSktWaXo3TlozbDBYL2hjdHZtZi9lZDFYRVVZ?=
 =?utf-8?B?TnVlaitqQnhZbTdKVmRYb2doUW9ScE1PU2xVVjErNXdONloyT1V1STlHZHJm?=
 =?utf-8?B?RHRRZVRMM3h6c1ZYMU1EUWZFT2JPNGUrZ2dkeDdDUkdFTzJlcUpYYjgvU0g0?=
 =?utf-8?B?aTRVZldMdXJqb0Q2TVpWUnpCL09WQ0k2UmNlYmpINElqN0hiUi81N0V2TFR5?=
 =?utf-8?B?WHBJVnhWWkNzSVhvRnlKeU9Ja3I2eHVoaHE0WVNET1BseDBQbVhqV3VsQ3hC?=
 =?utf-8?B?bnNrcU1BVlJSK2FUOTZlSTdQeDZqcVh4bjNjYUNPVjkyajJwZllMcE4ySGFW?=
 =?utf-8?Q?pKN6tosdFqEY2R9UnCvrMq0=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6dd3a285-2e5a-4787-4b30-08d9dfe06ab0
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 08:55:20.6648
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: pu2RILz9+ShPfgOvoSqZO84JfS7ldaAfxJdafhZiW9QftZXx3iMvQfULDrUDoMEINHj0Pkuxuobrg1EodFTkxg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB5081

On 24.01.2022 19:41, Stefano Stabellini wrote:
> On Mon, 24 Jan 2022, Ayan Kumar Halder wrote:
>> As for the patch, I will mention this issue (as a comment in the code) where
>> we are loading the instruction from PC. Stefano/Julien/Bertrand/Volodymyr:-
>> Does it look fine with you ?
> 
> As this issue could happen on any architecture (the guest could change
> the instruction from another vcpu while the other is trapping in Xen)
> and given that we do quite a bit of emulation on x86 I asked Jan on IRC
> how do we handle this kind of things on x86 today. He had a good answer:
> "By not making any assumptions on what we're going to find."
> 
> In other words, don't assume you are going to find a store or a load
> instruction at the memory location pointed by the PC. You could find
> total garbage (because it was changed in between). Make sure to check
> everything is as expected before taking any actions.
> 
> And I think you are already doing that in decode_loadstore_postindexing.
> 
> These are the fields:
> 
> + * 31 30 29  27 26 25  23   21 20              11   9         4       0
> + * ___________________________________________________________________
> + * |size|1 1 1 |V |0 0 |opc |0 |      imm9     |0 1 |  Rn     |  Rt   |
> + * |____|______|__|____|____|__|_______________|____|_________|_______|
> + */
> +union ldr_str_instr_class {
> +    uint32_t value;
> +    struct ldr_str {
> +        unsigned int rt:5;     /* Rt register */
> +        unsigned int rn:5;     /* Rn register */
> +        unsigned int fixed1:2; /* value == 01b */
> +        signed int imm9:9;            /* imm9 */
> +        unsigned int fixed2:1; /* value == 0b */
> +        unsigned int opc:2;    /* opc */
> +        unsigned int fixed3:2; /* value == 00b */
> +        unsigned int v:1;      /* vector */
> +        unsigned int fixed4:3; /* value == 111b */
> +        unsigned int size:2;   /* size */
> +    } code;
> +};
> 
> 
> This patch already checks for:
> - the fixed values
> - v
> - opc
> - some special rt and rn values
> 
> Considering that:
> - size is fine either way
> - as rt and rn are 5 bits wide, all values are acceptable (x0->x31)
> 
> It doesn't look like we are missing anything, unless imm9 is restricted
> to some ranges only.

Beyond decoding there's at least one further assumption one may
mistakenly make: The address may not be suitably aligned and it may
not reference MMIO (or, should that matter, not the specific region
of MMIO that other trap-provided info my hint at).

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 09:49:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 09:49:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260022.448955 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCISG-0001cb-4b; Tue, 25 Jan 2022 09:49:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260022.448955; Tue, 25 Jan 2022 09:49:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCISG-0001cU-1V; Tue, 25 Jan 2022 09:49:36 +0000
Received: by outflank-mailman (input) for mailman id 260022;
 Tue, 25 Jan 2022 09:49:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=81on=SJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nCISE-0001cO-Ie
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 09:49:34 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 18e3d6c8-7dc4-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 10:49:33 +0100 (CET)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2056.outbound.protection.outlook.com [104.47.0.56]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-2-ON3M-e_IOsuYPNk8eZrxRA-1; Tue, 25 Jan 2022 10:49:31 +0100
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB4724.eurprd04.prod.outlook.com (2603:10a6:208:c7::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.19; Tue, 25 Jan
 2022 09:49:29 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::353c:89ba:2675:f607]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::353c:89ba:2675:f607%4]) with mapi id 15.20.4909.019; Tue, 25 Jan 2022
 09:49:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 18e3d6c8-7dc4-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643104172;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=QurmTp/BK5M5HtslKHeLN4tmyjSdaBdsVwT2JMCh/wk=;
	b=XfWQRnRDEcyu+ywTr5zWijKdg+0KCfhgy2671jnpIakuEWdJfRLx7ei9PLJg/qifnPmXnR
	LSZrv1Cf4aBdDDWQpWNjMmzfNAMJCSq+m7jzrvxKoD51oeAg8LNuj3LqQMOeQzuqc9Gk3m
	onkmERfsJayGUQPxMGmioIEIEfFVv9c=
X-MC-Unique: ON3M-e_IOsuYPNk8eZrxRA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WyRXv18zT4xAosJKcKvEWAq8igSUtT553I+U3XfgtF6O3a8gWYLAnLUAGhlpXN9bj+w+7+sYUy6BDmYcXIP2eyOaGOlHFz/T4/HUx9O4QboxGTW4DCYShfWX0iP4mVyx2M0a6KzLxqPm02FJdWW2MvP33xbZcG81eOLY6RvELnP0Iwn5UUrWCi3ukH/MqeB+RkL7AA0lXIAviYI8PmMp3x/Ixmlicu98PlQ0aKJhKbcrN7w+GM95eObdpU8T8ys6Ys3iW+ePmA9aBwfXB2J4zlw5zdoua2lvrW1bSkTeCUlJk6+x3KYTl/VE7b/TqjM8s7KTNBGVwj311401i5wAUg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QurmTp/BK5M5HtslKHeLN4tmyjSdaBdsVwT2JMCh/wk=;
 b=E27dhtiKYPHjybVe528L/AFuvA3zGkiSMfGYtrSYKPGtCF9BJdADvM5ZFQF+artG0TLK2VX625B+t6x5ef7hNfrpOLVZ41OZ+FzJbmFMLexWPs3rnNefs0iX1GKn6CTPN3DqbTxpwR9lg+MITUln2LoQfNV+EOvt85IQwkehbKSt1QUiNo7/8Rx5V6hP7mhro2/weIs2PfQR7shS4C4qHnntTcVumdbNaaL6yB0OFyf+jS5vM3zR242hBBcG57ywng1EaZUkiDvuA5VuMBvazv+kk2Jx/aowCRpKOSBLM2AusnYVv9o+FkZD5PmWr5xUcJhe9VohW20/twYeesHhjg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8df7606b-bf0d-bc6e-5393-09d187539e26@suse.com>
Date: Tue, 25 Jan 2022 10:49:28 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 13/37] xen/x86: decouple processor_nodes_parsed from acpi
 numa functions
Content-Language: en-US
To: Wei Chen <wei.chen@arm.com>
Cc: Bertrand.Marquis@arm.com, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, julien@xen.org
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-14-wei.chen@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20210923120236.3692135-14-wei.chen@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P194CA0046.EURP194.PROD.OUTLOOK.COM
 (2603:10a6:209:84::23) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e51ad98a-d302-44b2-c8a9-08d9dfe7fb44
X-MS-TrafficTypeDiagnostic: AM0PR04MB4724:EE_
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB47248C2616FF58D70FBDABA3B35F9@AM0PR04MB4724.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:
	M+pxNDY6f4PlYV4sQZrk5bnT/jyTA/WiZQr6sFnrr5CqPd3DsDiz9FI5PUILwAVIDOlQM8zjhKEG0qDGKDCbQFBD2GKA06LJjs6LPOfGN+Kpl2YIlh6wWgssIMOiH76pnmUTMnWzCJlpTOMD1WfvmzejiuorShlel3v3DqUdCxHbXWLo19kTRJC2+MoD7BEHnaPTmw0GR1jfC9jYfjt2TDjBRcSDxcikCUSiO3DJ1L9I0/xxAVrDOaATR2UotFGfUyCf7GlUKoNmofJVp4tFJX6YpYM/9OMiL60DStLA+M8ov1Ml4A407qKuWuaA01WR+5jAZVE3oZGS6CBhAvWdmOtHg4cDWYvkm0Iu21Z5yoKEvZiI/oV0JvwLy+bi+K62kBXztaDGQCEq58I6nWUy7vNmigZmHmaxDTsH9gz6dVhQh6WZc+zeIcWvBXlv7v1qOcf55antxFDdDtZ65JUcx8yICUNOKvnzLF852sKiYyuQsQuKhFHNlzIScRG/QZoqbBuItXOW7GKSwAeRdMPCGTc6Idxmp0ZYssg7I2a/WnM4mplgEDjAMz2mVepmAeyIgZkIw6KqxHadFsyWBuRciA4eJDdujO/xmtQFvDoBAK1EUKfHQ8hJ0cZvP6h2nnmJ7i8NcG5NpJlLIHQ7qeNrpdP3KRCsDmt4j7SVotWVk9vqUFAFaGN+qJGShzfviWa6vfxJ/F0wWt17Wpxhq3CNEt1TYa3UTQCt51xk4rwX3PrO8NwEkrltqnieOBqofXWU
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)(53546011)(66946007)(2906002)(66476007)(4326008)(4744005)(8936002)(6506007)(26005)(6486002)(66556008)(8676002)(5660300002)(6512007)(31686004)(86362001)(186003)(38100700002)(316002)(2616005)(83380400001)(36756003)(6916009)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QjhNSmxJc240ZlFnRGZMSnlaakI4Y0U4WjZXOHVBSDhaVnVhYkRPNmNsMmE2?=
 =?utf-8?B?VVJ6UCtZdkVjVjhPOUFlWEtrVTg5eTZxbDNKdjZnYWQ5WEozcW5NNkxDRWt4?=
 =?utf-8?B?K1ZNcHJuc1F6Q2pwcGhvbFRNTGNDeWlkT2hjRDVZWFZtQmpXUE9DSjNzd05N?=
 =?utf-8?B?MEJ5T01qS0I3bjBLbHJ4WkI4VUsrN0VXeFR4T0p1ZFpOdlRJdlNneXZHUlBE?=
 =?utf-8?B?ajM4Ny9BYSt2K0NGU2sxbjUvQlZaQXdDbm1pN0ZHRlkxQ3VwakJ6MW9sZTVl?=
 =?utf-8?B?b1liU2hXK3FvUXVTMDRmTndVY1gxZWJBeE9FVWpNSlVJMXF0MVR6bkdmR05x?=
 =?utf-8?B?UFNWbXYxeVhOeFlhL3htZkhORW9HRnVTSWNXblBFNFN4cHNHMFkyRDBoeGRv?=
 =?utf-8?B?Zy9hL2xlRXF2QWtUSFV5dXRPckRKUFhGSytNcGN6c3g3OW1sVXoxMWttN1NG?=
 =?utf-8?B?dVFpeVJxaU9PM0VzTnV4Si9EcGV0alF6QUV1dnlQK3pENmJBMnpMa1V1UTJ1?=
 =?utf-8?B?aWJaTGUyUGF6MVUxMTlTVmZYZyswSWhqZUgzQ05PeVZlNGlLZ050M2Uvdk1u?=
 =?utf-8?B?SWdhWVZ1eDRHU0UwaUt6NnI2RGgyNFVoZSsxVjE3QlF2RnJvcU9ZelI1R2p1?=
 =?utf-8?B?WnRqN3JJYjZMT1VrOGJVcUowKzJoWnBRL09EZUN6cFgzRlNITkZQVy9xMlRq?=
 =?utf-8?B?UFFMWm9nRkdGV3pqRGE5SERiajhUOUhkZy9mV2ZJRFNOOHRBRnR3RWhhU1RN?=
 =?utf-8?B?MjF6Z1FScXJkUTlDZm5jOVJtZE0wR29wNXFXOVQ3U3JwaW05RVJGcng4L3py?=
 =?utf-8?B?K2FyUXRSQnpxOEhXQXNMc2NJZE5SWnFjSWlpTmF4STRCcG5iNnoxVkVyQ0ZC?=
 =?utf-8?B?TTR5VCtmZkp5TXpsWlg2ZmRUM3dHNmxvOE0rZ1dRY3lGMXdUcnhtZzRhNU84?=
 =?utf-8?B?bENraDdzQ0l3ZHJROWs5SUtCSE1vNzJuZ1F2WEdFZUxHSE9BcEl6dVl5UGJv?=
 =?utf-8?B?ek03eUJPTk94MkE2V2lWZ1VDcE9IUVNBMCtBZjRNU1JtUUFEQjA0RklLejRL?=
 =?utf-8?B?OUZaRWJaazhadkd2RTlrZnl5dzBmeE1wWnJicG1COUxDYk1tbHBUUjBJUktW?=
 =?utf-8?B?QzM0cDV4YlBudHFqZUk5VXhmOWQySUFiMytMclNVZ3dWcnRPdHVRMW1qOVh1?=
 =?utf-8?B?WitTV0NmbmdUb1EwZGlNTFdiY0pJQzNnVUxpWnlDUkZIczFDcnhXRnJMNjVj?=
 =?utf-8?B?Zy9LYk5WdktiYU11SWg5N3FFeDZVZkxNS1J5SUx2ZlFEand6Y2Y1anlxTTlG?=
 =?utf-8?B?SWRqbHNWa1lXUWN2b0cyQWZoKzVNT2tlWm9TbVc0SVM5UWd0Z3huVmJWUVFm?=
 =?utf-8?B?dWovc3daM1p6Tk9GUGVaMmNLQ2hxanhRS3FQSGZxUzZXenBjMlZrdW82S0lV?=
 =?utf-8?B?WkcyTWY3eVZDV3ZyYS9wR3hPRjNPR1d3MXZhNStZQUorUnBRaUM4ZkJwUFVr?=
 =?utf-8?B?aDZvTnJiVW1BYVFHK29pMXdsVnI3Nyt3bTUvdW9sZ0hyOUh1K255ZjlSdW8r?=
 =?utf-8?B?Qm9xZGR0Ky9DS2wza2oxK0F6MUlsYVVHN01XMnN2cnhXYzByM3piUnUzOHI1?=
 =?utf-8?B?aENRd1lqTlZ4RlYyb0pFWjBybnNLMFpuck1SbmVNbFdQVkl2QkxSdzdXRUdM?=
 =?utf-8?B?N09kblQ1WTdONnBQK2ZKMmgyUzJKM3BaRS9jaDJLWFJMSzRLZTduK2lMYXlL?=
 =?utf-8?B?UmVwd3lZSVlMelJOVjBKOGgzZnYwZjRjQ01KOEI4NGJpbWdQYmNWc2NXM2JT?=
 =?utf-8?B?RHR5YkxtUTZqT0Z3WXZBR2lEL01iQUxPcTZSWlJtVVJiemxBSFV1RVljRVcy?=
 =?utf-8?B?a2xUcEthN1JJMnV5Q2s4VDNsSUZqTXZZZ0gxQ05jWjIxcTVLRHZYazdBQjAw?=
 =?utf-8?B?VE5xNS9ENURQT3UxOEtWK1lpT29ldFJpNWZCWlN2ckQvTE5nV3FUS2MxU0pO?=
 =?utf-8?B?RzhTN2N2V1FzYUJsOW9PV0wrRGlub1lKTFgvN1lYanpJR2VuSFVtOUViM1Bm?=
 =?utf-8?B?d2Q5TG5kNEpGblZBQ2JjWFMvS250RVNxR1hVS2MwejhMUVdCYi9HaW1OMDUr?=
 =?utf-8?B?eG9NWlN6MG9Lc1c2U1ltUjViRXFBOG40OWx4bVJrYzByWEowbFgrSVZ2b3pn?=
 =?utf-8?Q?7Ug1QMV/TZ+3YcOZZsrxOZs=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e51ad98a-d302-44b2-c8a9-08d9dfe7fb44
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 09:49:29.7070
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: nteIr82leJGYxbgeKMzivqSMOLf77jMYmhnSoo+Xo87uhQc8YwkzvpCstHMVYrfxsX9tDBBXzXOEX0lHV5t4xw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4724

On 23.09.2021 14:02, Wei Chen wrote:
> --- a/xen/arch/x86/srat.c
> +++ b/xen/arch/x86/srat.c
> @@ -104,6 +104,11 @@ nodeid_t setup_node(unsigned pxm)
>  	return node;
>  }
>  
> +void  __init numa_set_processor_nodes_parsed(nodeid_t node)

Besides (nit) the stray blank here, earlier comments apply. The way you
do the rearrangement it is close to impossible to see the actual "why"
behind the changes. Even if it would make for a bigger patch, I think
you want to collapse patches and move things out of srat.c code while
you split out generically usable functionality. Or, if the result was
deemed to large a patch to have all in one go, make the movement of
individual static variables the topic of each patch, introducing
accessor functions like the one here.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 09:59:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 09:59:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260025.448967 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCIbF-00035B-3N; Tue, 25 Jan 2022 09:58:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260025.448967; Tue, 25 Jan 2022 09:58:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCIbE-000354-W6; Tue, 25 Jan 2022 09:58:52 +0000
Received: by outflank-mailman (input) for mailman id 260025;
 Tue, 25 Jan 2022 09:58: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 1nCIbD-00034u-1G; Tue, 25 Jan 2022 09:58: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 1nCIbC-0002Ei-UH; Tue, 25 Jan 2022 09:58: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 1nCIbC-00084U-H0; Tue, 25 Jan 2022 09:58:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nCIbC-0003FM-GQ; Tue, 25 Jan 2022 09:58:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=muSmlwWH6RrokxfES3Uhfo65HH3lE0oue6mAkcg6CHE=; b=x4MTyQeQWl6wdh+DJHh+im1dua
	y5mxIQipthMS0HnIBWn9QuOEmi7tSASlLXYhc7FHeie0/+H9ivfsTwXlCl0PluAJHkd596bEBSNRH
	V1hRIpMroKazgTobyEaGyl45CcXnyy8PmUs6+sn5gej55Vgh4y4R4qSPKpwsAYLsojTk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167808-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167808: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-amd64:guest-start/debianhvm.repeat:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail: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-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-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-armhf-armhf-libvirt: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-armhf-armhf-libvirt-qcow2: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-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-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=ec32910f4f871dce0f0e32dfb36f218fa1a2e869
X-Osstest-Versions-That:
    xen=ec32910f4f871dce0f0e32dfb36f218fa1a2e869
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 25 Jan 2022 09:58:50 +0000

flight 167808 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167808/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 20 guest-start/debianhvm.repeat fail in 167806 pass in 167808
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 167806 pass in 167808
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 167806

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167806
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167806
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167806
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167806
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167806
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167806
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167806
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167806
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167806
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167806
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167806
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167806
 test-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     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  ec32910f4f871dce0f0e32dfb36f218fa1a2e869
baseline version:
 xen                  ec32910f4f871dce0f0e32dfb36f218fa1a2e869

Last test of basis   167808  2022-01-25 01:53: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                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 10:13:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 10:13:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260033.448978 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCIp0-0005U7-Hx; Tue, 25 Jan 2022 10:13:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260033.448978; Tue, 25 Jan 2022 10:13:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCIp0-0005U0-DN; Tue, 25 Jan 2022 10:13:06 +0000
Received: by outflank-mailman (input) for mailman id 260033;
 Tue, 25 Jan 2022 10:13:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=81on=SJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nCIoz-0005Tu-EW
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 10:13:05 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 621fbe58-7dc7-11ec-bc18-3156f6d857e4;
 Tue, 25 Jan 2022 11:13:04 +0100 (CET)
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur02lp2053.outbound.protection.outlook.com [104.47.4.53]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-41-p3N56v0tOk6wlpn4-HqgwA-1; Tue, 25 Jan 2022 11:13:02 +0100
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by DU0PR04MB9273.eurprd04.prod.outlook.com (2603:10a6:10:354::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Tue, 25 Jan
 2022 10:13:01 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::353c:89ba:2675:f607]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::353c:89ba:2675:f607%4]) with mapi id 15.20.4909.019; Tue, 25 Jan 2022
 10:13: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: 621fbe58-7dc7-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643105583;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=S2nglaKedNhjEXl/TXRE9njFgiXWIGDGR89CVPZ6Y2c=;
	b=NlR24ccOsPBt5SP76niKK1lRObyuTraoYfD61M7m6mcTxVRh7kTvw0Zo1lOBSNhYVk1U/k
	to81T22sv0ePt3qy5hQXMRtpJDK++1N1rI4jHjek2ODrlrTc3ZqnpfvJdM7nuCOvBcxpOe
	i302W6rWdq7FOuYxoeNVOp72uZ1EEbs=
X-MC-Unique: p3N56v0tOk6wlpn4-HqgwA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cQAIGOyMBfDd110EPTtlNsqfYan5WQBERd9+Esco97tTEzYw3IE2+cpkm0eLY24d0TYZbtJT9Dy3BzproNktUqQ3AN8K/8ICDyENJFuxe3ColCXt2FoSbiIKDmCF5vMUIiGNrosacHW41rLqSISH0hJHTvNpTKUsdYd1ZhkVHR8LK/Me1SJepVMezn7QG/EXtl/WvgXIFiiHUhNRQ4Y0+DzDFgZwBRrdSZu7KrToZ98hUgkhTfPgfOBOU1U69SENvJG0peUQU1MMAnnnodb4tYSJOtvHqF9BOheKzOA1v94LkABaAuE5jFursw4FVtvekJFWfei4kphAT5s/r5ZmAQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=S2nglaKedNhjEXl/TXRE9njFgiXWIGDGR89CVPZ6Y2c=;
 b=DL+g3hwWEiDFB331yR8lXVVW6SMm1+a+aN3+7d/mq0FOLOH5SVLnC5jkVyY+aUdq2zGruo/PoXD5L17vKM5eEv8DGY2MVtkRmQRc+gYacSa3iS8p6supCuHLdVpCiL4gWgzvR+6F0irOa5ONm4+qX4M2W6mCnkzuuyYgzBg++JBZY8KQ2wdAUyuopZnR4NON1SgxgQBMaJEGiJgnN/9u2A62Wihy6vivkPZD+mB0FF4RtivzBXfJmLfDeb2HOg04eyRkml0ZJ7iz2f6bPVJVUe0KXa5GiCZQSdqDm7u7yyivJEatxiCpcUS8NWKH1C6XhKp+MLLNpEilmvXFCkX/xQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <74c249c9-4c49-0f46-2b51-cf76fe450b9f@suse.com>
Date: Tue, 25 Jan 2022 11:12:59 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 14/37] xen/x86: use name fw_numa to replace acpi_numa
Content-Language: en-US
To: Wei Chen <wei.chen@arm.com>
Cc: Bertrand.Marquis@arm.com, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, julien@xen.org
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-15-wei.chen@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20210923120236.3692135-15-wei.chen@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0401.eurprd06.prod.outlook.com
 (2603:10a6:20b:461::11) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 29d302f8-334c-44c3-6cd9-08d9dfeb44b8
X-MS-TrafficTypeDiagnostic: DU0PR04MB9273:EE_
X-Microsoft-Antispam-PRVS:
	<DU0PR04MB9273B0EE9F7A95C783B8CCDCB35F9@DU0PR04MB9273.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:
	gN9HjTlL81Paad3U+SsbT52k2kHfCEurSRcpvxeakCI9w7CZhHUPElj3trsJFj4top2GzTPXFm1upnqPgxVOUyW/gZn5G9ML8TaH+5uiihX1ZDCw5jlYyeftEouS1fH/QxVwbMl9B0xzT4yo6N7xRWloFASpV1ppIuA2N9morrDJl3he3MzHrfzTlck+2+PsBrDmCaRhq8XMdfRW1x9zNqpt86MxF8HRShYfbkErls9uWL6xqC5dsqIr5q+eFo/rPSs3biTb/aye/7b0ZetKK2At7sHptGofS97WUw64uBsF2dnsfcm4sn37O4bbz6LN/JubK9D0uvtbCMUZ6erZSsylAQeMhDIE0m1HvFqybBXxFSf5nndSOORvx1tta3hVJoLi3hDqh4tmpae8OxjiY1WMe8FMGyKtjTvPCz/0FEwvMyb72Vi99NvzfbSb6+b022Y39txhB0sxs+LwByJR83HR8Es/PNcPrSsUkPDqZxTTH0mYnAclOHr5hcdtDBOhVaUZjM3xB7IqRI+EBKzex8JkrdCcPOmzEY/RPOTjuCHRbt2gy2ubCgM3LbeEVOySeHv/OAM/E4ojNeiNbLds+Z1ZyG/yp7VIJMMDTTUFtJAUZPx6MeTJoHkxGQ5R04L/V8kqS1WX/y4TU0vxO5oHsHHHegm9YjAwnT4qCRW5YCOXU9nixI//E6NhmUHHd7hhvTTlHc4UW9mbB3EmMKiqpuSzb8FJ74pLh4YBGb/YtzBa/TD8faRq2ZpqbanvPTS0
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)(6916009)(66946007)(83380400001)(186003)(8676002)(31686004)(66556008)(316002)(38100700002)(66476007)(26005)(2616005)(36756003)(86362001)(8936002)(508600001)(6506007)(6512007)(53546011)(2906002)(31696002)(6486002)(5660300002)(4326008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dFJleVJkazBVcFAxcys5eHphMm5qUEdTODd5WE1NbzVTWmxzK2h6NTIybFV3?=
 =?utf-8?B?QjNhSWNGZWk2RjJ6ZTQ5d0laTEJydzM5VVRzdDdJTnZoR0Z0dWVyZElKcXpT?=
 =?utf-8?B?N1AzakxIZmt4eHdjRjRaam9kdERaaEQrZS8zRnd0RmNicUEyekdoMlNJYS9M?=
 =?utf-8?B?dXdDbnNDTDhmNXBxSi9Zemlsb3FacWt5MWpNVTExYU55b2twS2NDaXJsWjhV?=
 =?utf-8?B?djhPNEM0N3VMOUp3RXdhN2dMdFl2TW9YRHVHcUh3TzJFSDhTS3ZJM3A5aDd4?=
 =?utf-8?B?Z1U1Ym03T1MveEdHWWdDOE9xNTdldGdWcHFOOVVWNzdncTJpSzRPTmlhc29n?=
 =?utf-8?B?S1ZoRDM5T3ZpR25qa0x3MFFHdXZsdWVkNk9EcEQxNUcySjVuTVFad3N4SmZi?=
 =?utf-8?B?V0ZmWXZZWXpTME15SHozMHQwWkdjTm1DVzFSNitFVnZTUU5MYjRHNHdWOEpL?=
 =?utf-8?B?UDFNaTNtZUVYdXBvNUpLcjFOWFJjMGNYcWt2MUhZUExqb0gzdUZTbThGR1dT?=
 =?utf-8?B?ZHpDRGpadk41ZUR5YWl6SG5iTnZ1dHVObUVDY3BPTzk1ak05NVplNXR5YXc5?=
 =?utf-8?B?dTVXM2RINUNYUG9oaCtBQmF1UzcvK0Q3MGFhcTRHVktrU0c4T21MSW9lbmR4?=
 =?utf-8?B?T2NhNGpJSGh1cWZqU0ZhNlQrYU5kRFMwb1FsclNaOEk3WENEU0JzN1loQXdS?=
 =?utf-8?B?NTNxeUVwaGhCVkFodk1TL0grQTNHRnE1K2ROODlVUmdobGNCNXl2QmpxSmFn?=
 =?utf-8?B?QlFCdlRHTXREQkJQRExGRER2dy9pTUM5VkcrMVA4OGtwSmZZV0UxdlhSU3BT?=
 =?utf-8?B?c3RZak9PRGY2dlVWN21paXNKMGRSU3BtVlk3UjZyZ2hWckhDcGNQNkgyVzdN?=
 =?utf-8?B?TFZRbFBKdElvYzB5c0xMU2I5aDNadjBnQm1aOEtGSXdrblk3TUZYbEZ1Y0RN?=
 =?utf-8?B?Z2FUS29tMDluSHVIQlpoU1RwWi82QUxRUVUzNWVTUEowY1Q0eFMwRm9hMVVw?=
 =?utf-8?B?V1NpVWYvQUI1Zy90blM5WWdHbTJobGF6ZEpsWEJ1T1c4cy83Q1NIZzJIS2t5?=
 =?utf-8?B?M21pN0U2MllVSEphRERNS1NHV3hnUUlDM015dHA5MEo2UXlla1gxSW0vMzZZ?=
 =?utf-8?B?dWcrKzl2dU85dzJxOFZXbEJITyswYWV3SmJ1UWp0NW1ydUhKeVdIY1Z2TmQ1?=
 =?utf-8?B?MTM5R1NFQ284ZkZVOVVaTnNVUWY0TysrYWs1MGJoZUJrSzFQTVNLWm1Wdjh4?=
 =?utf-8?B?cXN5STdOR1FQSWNIMWJRTjBobTY3K1Q4TFU4Yzh5ajY0WVpvYlUzdjJxVXlF?=
 =?utf-8?B?ZVNtTVZLcWlMTlVVUVNlc01URXdPdXR4dnU4Tit0a2h3ZnF6Tk1SSzFnOFZH?=
 =?utf-8?B?K0NZOFl1NWRGMDBoY1BFWUJjbkR2UXJTeVV5ei8rdk9TSzdXV3hjZmw0R0Vj?=
 =?utf-8?B?Mll1dkpCdERPbUZjU29OcnF1Z2tXM3puMEVNYzhwZXd6b09SaTNvTFRzU2t0?=
 =?utf-8?B?alJlMzQwYVVTL0JQVFBsZnFKL1FjQ2o3a3lTWTRJOUpJVGJJaTlNZ3d0dVEy?=
 =?utf-8?B?b0hBT09XVkRlWjJZRjkzeWk5YjNyUDZGMzVsc0pTVDRvV3VIcGtLeTlqZ21m?=
 =?utf-8?B?Nnc2N3dLZm01Y1ZKVG5BVGR3THVhcmVVQW9kaUt4Y3diM0hVSEdVT0N3ekY5?=
 =?utf-8?B?L3NnYk9mOU9NRlYvWndzWTMxTkxGRExGcDhkSFVtNGVLMXhCK1pKWENUVHRl?=
 =?utf-8?B?VmJ1MWlkakh3Sk54NC9OVDNzL0NtWDBjbS9yNjhLdTVYN2lMcGRIRXkwL0xM?=
 =?utf-8?B?Snh5dEVkcGU2QVF2cFU1akRHQWhQdEVTNkJqdGpsV1RpbmExVnJRTjl6dE0r?=
 =?utf-8?B?aEZJR2c3SXlIVEJFRFZyV3c0ckZHdHQ2Z0VDZ1JMNUgvQW9WVWo4OE9HdkU0?=
 =?utf-8?B?N0FDTnd2UkMvZ09LK1F0Nllva1FyUEhCbnJqd0hQSDFxUW1MNnBpeFVNd3Ar?=
 =?utf-8?B?M3p5aVoreEVqWlZ0aXNwS2Z3cFlBc3FyYjJNcWhCRUplTDhQY2pMVHFmZkpM?=
 =?utf-8?B?ZEx5U2Y2eEtwTURkZXNaODZvbmxQODVPM1BQcmhsblpOYlQyL2tNTGlZMUtq?=
 =?utf-8?B?ejZNMjAvb0pSTGV5aVNoY0VwTGUvaDlnRFErd0ZRR2UwWFltVkNycjNOUmlY?=
 =?utf-8?Q?Mmj/qrmktV4lK0EcuV5hkW0=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 29d302f8-334c-44c3-6cd9-08d9dfeb44b8
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 10:13:01.3819
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: T4Y45tmcrDqDg03H2vVOUMRq1qgq94QdE3e5HCqw+2BInzTaxOTDm6twaB7MnA22lw1AUDfqnesCUjdPAqThjw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9273

On 23.09.2021 14:02, Wei Chen wrote:
> --- a/xen/arch/x86/numa.c
> +++ b/xen/arch/x86/numa.c
> @@ -51,11 +51,11 @@ cpumask_t node_to_cpumask[MAX_NUMNODES] __read_mostly;
>  nodemask_t __read_mostly node_online_map = { { [0] = 1UL } };
>  
>  bool numa_off;
> -s8 acpi_numa = 0;
> +s8 fw_numa = 0;

In x86 code I'd prefer this to remain "acpi_numa". If you need to access
the variable from to-become-generic code, introduce an inline wrapper
(possibly named numa_mode()), allowing you to do whatever you need in the
DT case. It may be helpful to fold this with numa_off then, seeing e.g.
...

>  int srat_disabled(void)
>  {
> -    return numa_off || acpi_numa < 0;
> +    return numa_off || fw_numa < 0;

... this. Actually I think the underlying enumeration could even be made
generic:

enum numa_mode {
    numa_off,
    numa_on,
    numa_acpi,
};

is, I believe, sufficient to express the present (numa_off,acpi_numa)
tuple. In this context I'd like to point out that the two uses of
acpi_numa in srat_parse_regions() and srat_detect_node() should likely
be invocations of srat_disabled() instead, to also take numa_off into
account. This would then be addressed effectively as a side effect by
replacing open-coded uses as well as srat_disabled() by numa_mode() (or
whichever name the new helper would gain).

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 10:17:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 10:17:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260037.448989 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCItb-00068d-3Z; Tue, 25 Jan 2022 10:17:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260037.448989; Tue, 25 Jan 2022 10: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 1nCItb-00068W-0H; Tue, 25 Jan 2022 10:17:51 +0000
Received: by outflank-mailman (input) for mailman id 260037;
 Tue, 25 Jan 2022 10:17:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=81on=SJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nCItZ-00068Q-H0
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 10:17:49 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0ba4c998-7dc8-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 11:17:48 +0100 (CET)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2057.outbound.protection.outlook.com [104.47.0.57]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-35-QpDgVySLN_GN0lg5REMCFQ-1; Tue, 25 Jan 2022 11:17:47 +0100
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM8PR04MB7778.eurprd04.prod.outlook.com (2603:10a6:20b:24a::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.19; Tue, 25 Jan
 2022 10:17:46 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::353c:89ba:2675:f607]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::353c:89ba:2675:f607%4]) with mapi id 15.20.4909.019; Tue, 25 Jan 2022
 10: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: 0ba4c998-7dc8-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643105868;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=X8ajbNfMOWiJ/2/Ts8QtcBsVOMF5PHIpFR70xwXWIl4=;
	b=TSZtF/Y8zuvi4tGHEKxHMZoumW9+ZBeW1DpUKeeMG9kC3LWZQzic1YF38YTPxxYsBxEARl
	Wz8vb9iMV0z5aUEECaf3fs+ZhxWFL3QZCCklhEuslP3FtjZZKT0XJTN+kc7MB9upqFd46D
	Kwh5mQ8MYGP5HZWYrfexy2Sb5WcWVpI=
X-MC-Unique: QpDgVySLN_GN0lg5REMCFQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LTNOnqgAt+OltknnypReFb9hMfN5YAWrQAEZQvajhayec+GFrTw6LYpe/bjhtSrPd7X3mme/Yo8vBqi7kKdNeA09VwZ7FBSByln3LU8MU5hEy+xFEf0IYxj262INe4b/l/fr26/UNSKpLCjil2/WyPJUrHi88kBpXFTyOV1MJKHkFMKoyr3tFOPqjrH1qN5tpnGLqR3XeZF8+7e/8WC5rp/iszq8RIhPAMQdPkygeLY4GPh7/7X9bPQ9nuSoBaOD05gO9xgzLd9rmiT2EqzYYehkAqDq8sduub0ga28nuTu3L9fziqvofUMOE+lIEBM5B02ljeRFzDNcg2QOXrZOhA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=X8ajbNfMOWiJ/2/Ts8QtcBsVOMF5PHIpFR70xwXWIl4=;
 b=a2dwdpKn0HBmkbObcmpJiK3QeiLKLVVHVuME88ziO8pEWI0aeeU9FSh9oTche5cERTP2DCsuLByqTD4oq08pmnoovAcktjmvp5RX5llE02fdP14dUyc6OuFdXri/De4nhDRJtUSFlAy5l5OmON6UupST185gi6vwg2CrE/rFrVdql6qH0ZMDXaibalqnww88MEh43kAD9rrEXq4gDR8QnkDiJ5hnXF6EQJ6iqhM//M4moMiMxWWdkUgsOHRs4FjRh88Rdzl8rjFu8axc7Y56XrhmiOVo8wMGVvP84dMYtx+s88IMqm/HBpqIqbT8BjKuJVYs68gqHQvjb2CjbwjM8Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <66b9e129-8c6f-22d4-644e-ffff1dc2b559@suse.com>
Date: Tue, 25 Jan 2022 11:17:44 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 15/37] xen/x86: rename acpi_scan_nodes to numa_scan_nodes
Content-Language: en-US
To: Wei Chen <wei.chen@arm.com>
Cc: Bertrand.Marquis@arm.com, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, julien@xen.org
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-16-wei.chen@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20210923120236.3692135-16-wei.chen@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0042.eurprd06.prod.outlook.com
 (2603:10a6:20b:463::27) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 14622243-057d-460e-8570-08d9dfebee46
X-MS-TrafficTypeDiagnostic: AM8PR04MB7778:EE_
X-Microsoft-Antispam-PRVS:
	<AM8PR04MB7778AE51D1FA6F6435EB3985B35F9@AM8PR04MB7778.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:
	JiOU5Ymoi4i0cGEQ5V1i5l49kS7FTf3F5n6hNPz/Hyddfbu76A3S+EpfA2c8o2MkfDI8I8awe3dDbzRcGZnlsI6OcjlYlyl8xJk/L14rAIwmWfOOxtXqBvRFnBpoEkDkBv2Sr7m3fGCM5DXcAHfqRmZo+YUMgv3etZTHTaH7gvpzr9x9H+JlIXLp8Ns0/FFlQyuelwoEWzW1VcLo6fnvNWu/7mpMnHffFu1h5+6Del/beELX7ASO/s2C6gxxBe1mMiQNzfuZp9ydUF5igOywNv+MzwJvMJMzx1MUNKQfI38fclaorUAgQRyh7Vn2kbuGL4GwZBQiGBdKo28nSdg/WAWG6TRlP16nN4hbe/7Y7sPrxMT+uF1UrOVcqtDF++kO4VpfFjgM4ccM3W4peiN+COuik+O8Co8v9iTNBswlV0U+wx+inivX/8Sp1Cqi22G01O3gmD8mXQqOgbNQorOB3MGiDPXFxfhoh6AW/ZqeywcPB0+dwV4VLnRiVpi3yEvmVwlog/das4vorDJX5HKf8o85BINPiAqfFTcaHqpPC6HLug39oPqWYNdBAYwMxfT1c5/Bw6WCVzGQJRH+2zkXh2rp1JhqOvpNMbarDazCr/OqjOwbYAYctrpD/EARnwjH1tydn4C6Mn4k5QSlTAUvX94u2FayBPTGtxYOG2rT7b7wsgjnzKYTpRIEJ6f9nmuRXqhlRuW4VwHxBRqEge86R29E4vuX4FsfA0pQ9ViRNu2gPjVBgcInLiWq8TcLyqUw
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)(36756003)(6486002)(6916009)(31686004)(8936002)(316002)(508600001)(86362001)(66946007)(31696002)(6506007)(5660300002)(4744005)(38100700002)(66476007)(66556008)(53546011)(6512007)(83380400001)(186003)(2906002)(26005)(4326008)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aWp5VW4rZ2lNSUdUMEdOcE5iRmpMZ2RobUdDdFNTZGtaWHhPUEhOL3VzZ0tv?=
 =?utf-8?B?UDVvUUFOVGd3YUFrZVBFVm0vVHZZaS91a2tUSVlZeEhhNDU5ajNwZmh0WDBN?=
 =?utf-8?B?Ui9MUE11SHdjdXBHTnZqMnNjUG9NUS9Oa2RMZmZidllDbzhYTWoyendQSkYv?=
 =?utf-8?B?dERxUWFqbVFqQUUwQVk0SkZoUGtUcndrQVovMDJJeGE2U0FRUkdjNFFUM3J3?=
 =?utf-8?B?b2MzVUlUY2V1UXhCamd5eTc2YXUzeWNOOW5Za2s4NkhZZXA0ODRVR2tNNUU0?=
 =?utf-8?B?L1NLUFJTUkx3OEZKUWdNaUlWUnNtMEJDeGJWOFpIS1AwUXYvK29yQzhtWktL?=
 =?utf-8?B?SU1LUURSaFE2clZETThjamJOK0ZkY1VQUEtHVlhXdlBEU1lqYWk0dUNnRjBG?=
 =?utf-8?B?U3doSWt4bDBvWGlGZkV3RkprY0xXM0FuVGJvSmEyeXhqeGNXQVA5UHNlK2VS?=
 =?utf-8?B?Um1qMzBWdGduWkdBblFZWjB6bURROXV5WmZkZzQ3QzNjUnhVR1V1ZDRRQU8v?=
 =?utf-8?B?OVVtY01zQTN2R2xhbUUvQVY3Z1dZeDVEWXJvWXc0NFZubzg0VWt0b2hNbWkx?=
 =?utf-8?B?WW5xYzlNK0IybFczNGlFdnZhT3Jpb3p0dTJPdW02NG5NVEFENlJYUG9zZEJp?=
 =?utf-8?B?MHhEeGNGcm1JY090Rzc5V21BWjNZZ09LN2pSckpaTW5SV0Z6Ny9DWERha1dK?=
 =?utf-8?B?cUw5SVIzVkRFeXFHU0hWQ0xnR3llSElVbnZnMm56b0l1ZVp4SHBlRHJHTkdr?=
 =?utf-8?B?K1VDa04vMjdVWDBxTEhjM3VCc3liT3NldjVaOXpXNTdGQUlzVVdoVTJZdHNN?=
 =?utf-8?B?ZTNJWEtOUVg3ak9QYTBRd0t0RHUwSXgreTRiQUpvVFFKS3lIN1Y1RDA4ZmlJ?=
 =?utf-8?B?OWdCR2dJbVdsYlEvZktmbzhZR1ZLWmYvNWszdVFSZVNlTzlFVXY5NGp3NzJm?=
 =?utf-8?B?WUpoN05IY0VpRGpMQnl4TzdHYnlzbk4wMVdGbTVHd2J5NFJBY1AzbngzTXpK?=
 =?utf-8?B?aGM2MDRLU2JpeWgwQjlkOXg5anczTDdEa0pWR2Yyc1cxUk9ueVpqcEpmb05r?=
 =?utf-8?B?QkJnbWkxajZ1bmI5OHlkMkd3aVpWQksvcHdUcGNRVTJtSmxxTkpQYThpaDN4?=
 =?utf-8?B?T205aHA4MHlUWkJRMzJBWDMxaTBnOXRMYzErU0gzUCtyMytwNEtVZmlCZlpO?=
 =?utf-8?B?enhDRmxWM0Y0RFNONGRrSTBBalJhSWJCSTVmUkNTaUMwREt6WjlFQmR5bTVi?=
 =?utf-8?B?MnhRdHUzN28xNU92L1dQVWlXSFZ0Zjg3bGY0SVZXd1RKazJNTEpTcW4vM251?=
 =?utf-8?B?ckYrc2x2Y3J6OUFsRG1XcitvR3BRNEcwNVdGckNVdzYzbUhPZGFYYTZpTG9k?=
 =?utf-8?B?Mk02cVJlNWsvb3Y4V08zVGNDQ0xlVm5ldEhLYWFpL0Q1ZjdVSXBsTTN3cVVp?=
 =?utf-8?B?MVlEOGpqMDV1aEVjcmkzd1NOMi9ITFdIK283dElqQXZsVXRxeFgxdHQzdTdR?=
 =?utf-8?B?STR4RW5UbVc1eGlJZ3ZJYUpxbi90TG9uR1A2WjBZOTFvOXV3RGtsNTNZbDND?=
 =?utf-8?B?NHQ1eVh3VU5JdmZ3QzRjL08xWGhzK1hyRUhPNEhTVk5uenl6ZkFieFNaUEtI?=
 =?utf-8?B?aVhoV3hwQjcwNlhGV1hXYnNESHdBcGY5R095dVJpWkxTOWIzS0IwSkF5UlpO?=
 =?utf-8?B?RGNiZnBITGMvWktKa05NeE0ySTQ4NkRTZXdobURGV3BJOHBaVVRvYUpQc09h?=
 =?utf-8?B?UnplS0NrT0xHYWU4YVp6WG5LSmdPQ3FwM21nOGw1akJ2K0tVV2IxWG4rK2di?=
 =?utf-8?B?cnJBUHplakJQaGpiRFZHTUJuOUEySUZKSk1vKzFhWGhQb2Z4WWR2ODlSWGRS?=
 =?utf-8?B?VExuUW5tUHh1cE5xNFpMNGxoZXNjNFBrYjB0S0ZRTEdGUmNBNkFnQ1VsV3Vi?=
 =?utf-8?B?S3J5cFEzeUM0NFdPNGdQNEpaM2hLZ0pNNHRvelJJNkNsdU5JNStFRVNtalRz?=
 =?utf-8?B?alA5UHNZMFRZSGwwK0UvWkRQMy9oTUhDQlRRZVYxbEtFM3JRQk96Q0dvZ01y?=
 =?utf-8?B?dTNWY2Y1STZha2NhQVkyK3cvYzZiV1RaK1lwVktReHI0N2ZSejRDRStEZWFq?=
 =?utf-8?B?MDQ1YUgzcS83K2RMQlhYYU9JUGFGRTMrbFhFRml6WWU0d1VPWWZLQU44TW5r?=
 =?utf-8?Q?klqoITVLnaUOjVYM9XggVyY=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 14622243-057d-460e-8570-08d9dfebee46
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 10:17:45.9105
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: PopCxctXJNYsu5V0xY1rcBrWJn9xWrEgnxZRnBgUS0FYjKA2210aMBypY1i7uIEC42dunam/Upbt8IrbAhZgkA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7778

On 23.09.2021 14:02, Wei Chen wrote:
> --- a/xen/arch/x86/srat.c
> +++ b/xen/arch/x86/srat.c
> @@ -512,7 +512,7 @@ void __init srat_parse_regions(paddr_t addr)
>  }
>  
>  /* Use the information discovered above to actually set up the nodes. */
> -int __init acpi_scan_nodes(paddr_t start, paddr_t end)
> +int __init numa_scan_nodes(paddr_t start, paddr_t end)
>  {
>  	int i;
>  	nodemask_t all_nodes_parsed;
> @@ -547,7 +547,7 @@ int __init acpi_scan_nodes(paddr_t start, paddr_t end)
>  		paddr_t 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);
> +			       "Firmware Bug or mis-configured hardware?\n", i);

Besides the prior theme of in-place renames not making clear why the
rename is being done (by deferring to future patches then moving the
code) I'm puzzled by you replacing "BIOS" but leaving "SRAT" in place.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 10:22:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 10:22:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260040.449000 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCIy5-0007Vh-LO; Tue, 25 Jan 2022 10:22:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260040.449000; Tue, 25 Jan 2022 10:22:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCIy5-0007Va-I6; Tue, 25 Jan 2022 10:22:29 +0000
Received: by outflank-mailman (input) for mailman id 260040;
 Tue, 25 Jan 2022 10:22:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=81on=SJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nCIy4-0007VU-4q
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 10:22:28 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b1a3dd6e-7dc8-11ec-bc18-3156f6d857e4;
 Tue, 25 Jan 2022 11:22:27 +0100 (CET)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2057.outbound.protection.outlook.com [104.47.0.57]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-34-vPBMhRPsPc-fbiITEB_vLw-1; Tue, 25 Jan 2022 11:22:25 +0100
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM6PR04MB6070.eurprd04.prod.outlook.com (2603:10a6:20b:b5::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.19; Tue, 25 Jan
 2022 10:22:24 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::353c:89ba:2675:f607]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::353c:89ba:2675:f607%4]) with mapi id 15.20.4909.019; Tue, 25 Jan 2022
 10:22:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b1a3dd6e-7dc8-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643106146;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=w9Bgg+SJfqXBi48fTViXxwhqboRLSdtVpLXPDceCCC8=;
	b=P0Q54MQSXKyIk6BbAwfzyiwGYqGw3roiwCOKxkUAN3ep0JvnLKFie+34AUZLD/+X1py1rD
	YimBKeJpIhfPJgj3o/ORXp85/5ULNohna0FSssGE9d2o4f/PXqIbigKkgn5gZ641viTmII
	ALzhkD+VAoqsDD7rF1Hou8EPwDOJe9Y=
X-MC-Unique: vPBMhRPsPc-fbiITEB_vLw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=H/zw7dMEa/R5mMgGH0MMqDPPtLpKyOTDuh7qq4swC/cYLIEB87FmVt67WZ2DuZuuG6zP2ohbtuPCSncrBGNSPuvOskomWyPCVk6GXfn4Xvdyqtya04wtMHngCW4DLb3lmmahxLL+83W/ELGP7eFhmxDWNYAw6DhB/R6v7i8SzzLb6H9aYXPrpgn0c5doJnNm/45f3f4SugblfEKo2QNSYJzwz9DodFYwoTJ6niEaYwI4CT6X7Fq1iszfXownfyeqW+J80BNYBCvkCuPjcMdgJKyUa+ATGaCPoFz9ShCsncbDkI0uZkh8jILbJRYfweb7eyt/32dRO/8o1xs/Sm4Vdg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=w9Bgg+SJfqXBi48fTViXxwhqboRLSdtVpLXPDceCCC8=;
 b=JBD8Zpm5RVFiEzWthQP3up1seknXEq2VSOTaEFu4/1LIkildsOoqdkHuU3OhUr24AgvpEjIP9/nez5fwQGKysbKMUH9r9zaQOwiuMB2QbbTKyN/UkOzeodWOG+rBjQYI352LeJsHLJSMuH1Z54sIbMwZRiFABaH+kcWVDxCjIP9M8dyvy9V8V23tmHPW2ye1wuP6/PZddfOKoCgKBJjNRkrGRDB45F2SBHO89zn0xiWH5qMZ35o13panXAp6ob7EX09tKRMQ04aHF0pkoHTaMXS5hWAWTx/93XKMph7jwlWjY8MI3OVbrgJnvO/soKIiiioKGSmrXk3YPaZu+e7L7g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <de67a7ab-785b-f545-5aa3-36e710db0868@suse.com>
Date: Tue, 25 Jan 2022 11:22:23 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 16/37] xen/x86: export srat_bad to external
Content-Language: en-US
To: Wei Chen <wei.chen@arm.com>
Cc: Bertrand.Marquis@arm.com, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, julien@xen.org
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-17-wei.chen@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20210923120236.3692135-17-wei.chen@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR04CA0156.eurprd04.prod.outlook.com
 (2603:10a6:20b:331::11) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 64b121e2-bbf3-43f4-e370-08d9dfec9445
X-MS-TrafficTypeDiagnostic: AM6PR04MB6070:EE_
X-Microsoft-Antispam-PRVS:
	<AM6PR04MB607038FEC403B1270F35E34EB35F9@AM6PR04MB6070.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:
	dIgEOtc1UoG6naIqalFJjV2I2Z4vsfqKVqwVRysfdv7OOEKRP1+hwpo8Im2m5bYRnTmDmI2LliK80Ju5BzkcIwKd4Ryl7djlFQmrhsrKS84uNwKgxQvLEC2HQeEhALpsUH5MADx2Y00NicyNMdBKuyczcogNLI4xwvyKK+OqMuNi855wr87qbtwkn81mDk7K9GW/d9x6LgcXoK/nLBn4oX0DltgWFOEjqBhouVslsBO6XKyZ6vrCjljYWuTEFqzkZG7pqwGFOmzXcyflGinqu/ra+goj/QUw26ukGcFaZxUCwuFwprzrK/bsfELrZuWXFEOwhgH2TjFzIGN5nov/5vkX+rYUDk7tdlYiEZ5cqmAbcvbwFCrt46cyegLD/o8CvX/ustOGAd5nl4kUSPPOfDAC1uO+qoE6u09335pyqdUeI9itrUcRNdSwXVG59EEbXZt7oU4zZUohjcJazhmYtLLJg89oUN3n4Ckt1HWJHt53mykpKl/vZn46Q8WK/riGGogkhHmti72XDMqiblguhVbFy8I0OdOGj4ebONjowEAeMcrr1sKM9Cq1LyhBACY4smNpiikL80rAyYEH+CVXoH5xHA0a2V6Qjcz1DBiYY4sbv7uJ80nyDz7uGO1SVGWuIg7elNbiOHwDlWkG1X/xpH6IbgwXpLRkTn378w4ToerHPT1OqTbvuc/7NypYPXWEX6gaayBmDMc2UITfhOiUeoHYWkatPeaKakRJ062n1NA=
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)(26005)(6486002)(36756003)(5660300002)(186003)(83380400001)(4326008)(38100700002)(8936002)(8676002)(53546011)(6506007)(2616005)(2906002)(66556008)(66476007)(66946007)(31686004)(86362001)(31696002)(6916009)(6512007)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NkV3N3ROK1U2aDhSMisrUGd6ZUV6QWREbUNZSzFwVStRclMxMS94Y3AzeDE1?=
 =?utf-8?B?RW1JcTdwOTJMdk91QkhoeS9wcHU4N3FMejRqTGE3WEY3RnpzYmViS2ZwY3Bp?=
 =?utf-8?B?NktKZW11U0lBaW5tQytZa29ES290MUU2M2VqTGpMOTlhZ3RvV3ZyTERFODg2?=
 =?utf-8?B?K2ZYaTRvQzdOVDUwQkMxQjRFZ0dRWUFhek8yangvbnQ3dGpFazBLeTU0eE95?=
 =?utf-8?B?ZHFZVjdGUi9jdzJZTkg0MGtLaFJlWjdWakJ1TXRCTDFkSzJMSmVETUJvNWhP?=
 =?utf-8?B?VkQ2L1pRMmVheXBXdC85OGZ5RDZReTBFMjhRZ3EvcHlLbitYSC9QRGE0N0xy?=
 =?utf-8?B?ZkpmcmVrbjVYcHhUaTNSRmFmd1JibzJGNkZYZEVGQUdKZENjT1JoTC9HK0VM?=
 =?utf-8?B?cXlhM3FEZC9EallyVndPT1lrZzNXcG85N2VQVkhQVDFoeHF2dmtQbVlZTThh?=
 =?utf-8?B?bFYzc2NMRm01T1NOTEtkYmFqV0NHOC92UHRUTXNDYTBkdFAydHNMUGlSM3NN?=
 =?utf-8?B?dlV6TzJxZUxFSHVqSURLTG44b0I1bzNUWUJZTEtSYU1aYmxYS1FtZWtTOUZn?=
 =?utf-8?B?amNjcG1uQ2pjRElBSGVPa1BZY3g5Ni9DeHFTdkx5OGFjemRYOVM1cjl4aEJn?=
 =?utf-8?B?a282VGRYaEVsQ0ZIcXJwdEgyYmhkOUhBMm9qYXlIQjRzeVV1ajdBcmwwMWhp?=
 =?utf-8?B?TXRGemcrS2tqa3FrbnlodTZHaERuMkgxZnBTcTZnVWpPdUR1Q052bEthcUox?=
 =?utf-8?B?MllJVDJhZ09sMkdsMnlNc2w1RER4RUdOdWRzcDhJNTg2bTNxYm4rM2ZzYUcv?=
 =?utf-8?B?d0JpaGZnbTVMZ0RNa3IzU1R0L1JLbUU4b21VaEQvRlR1QWdpd3lmNnFIQVgy?=
 =?utf-8?B?bWNFZFk2OHd2SnByTTBKUWU4STQzdjhncnBqNlE3UUw4eXZqQ2J0MFRreFZS?=
 =?utf-8?B?Y3p0WitwdGJuRjJsOTBtRTB2LzFHZ1VVVlZ5NkZKVG9GbTVuUU9RUFNtand5?=
 =?utf-8?B?amxKbDRybUl3K2xma081Z3BSLzZFKzhNZjdDN2ZCL3hxSmRFMlNmM252TkE3?=
 =?utf-8?B?ZjJpbVZ5bi82L0cxYUppNzQzSGY0bUlqZnJxRjdUWmwzQmgvOHdzenlObkJH?=
 =?utf-8?B?ZjAxRGNjaDBscTlwQmJRMEtxODN4T3llczZVUnBuOExWcGoybWEwcGRiUHZq?=
 =?utf-8?B?S1J2bUE0aW52UjZmRkxYVlY4WVZkVkE4R3R0VXA4aDR5bWtPcTVhNTNXQUMy?=
 =?utf-8?B?ZExKdUlvYmVyVzc3bzYyK0RJUzVneUZmK1NhWGQ2TE1zc3FHZGxpY0lzaDJz?=
 =?utf-8?B?RGR4dUlkaGp5YUZwZjdpdGhwVkZ0LzFHc0pzL29NcnVkYWZRK1RaMU9UaDR1?=
 =?utf-8?B?ZnQ0bjVLWlJpY0lrZlM0QXNxd0xXWGpuanc1L2NGanJ3RnNBYXBjK3FFYU8z?=
 =?utf-8?B?QVRyRFVwN2tIZEM5d3NmbnVVanQzR1ZXS2wrU0RIWEI1UmZORmZxYjVMWk1G?=
 =?utf-8?B?U3B3MWo4NTlWMGtIcWhLSW9pejZGT2JzdHl6Tnh4MnA5djVRQ2s4VUFTUGpO?=
 =?utf-8?B?N3RxMFlMeXFQc2dpUVZjK0l0K0MxeG5pcStEVXo3QUJ4djZReDBsTGlrcllF?=
 =?utf-8?B?YUpEbmcwL3NsNUtpMk9zLzYwNGY3akduMklkUG0wdnF3VGNqVmx4NWhtY0No?=
 =?utf-8?B?S3JJamhLWnVHQlozamxkOGZXeldmQ3BNcWM2SlR0aXVNbFNCK3V3UUQrRm42?=
 =?utf-8?B?VnZlK1FtNUFqRld0Q2Z3UkJDZzV2VXcyYnRRakV6YjB3c3V4NFl4UmF2WXJ5?=
 =?utf-8?B?bUppSDNkNjREZHN0dHhFcWJzNjZzYS9LUmN5YzBnTDdPbzJMR1lDMjdTaXd1?=
 =?utf-8?B?QVRUR2lqRHQ0cDhHL0U1cXdZQmtHZXRSSXZ6MVQwYWJFVmNWS2JkZVNRZUVZ?=
 =?utf-8?B?d3VVWGhiVnFaUGs3YUE5QkJqOWdOVTZzYUxhbGQwa1JVU0dUNnR5UEp2MnBN?=
 =?utf-8?B?UGdaUk5OLzNjaTFuK2xIN3hoLzd3M21pcmdBdnZqcFQvck5yUmorNnpJT1pV?=
 =?utf-8?B?WXREMnI0RUkybHlKTWwzakpHZXo2L2Y0Tld4WjVwNGFrVzFRdTJnS0pYaTcr?=
 =?utf-8?B?Q25heE9tRXZjejNGdUdnZFowYjdqTHlycXVJQW96K2IwcFdydklFanFlU0VI?=
 =?utf-8?Q?yUKTaT/EEkwoL5tMFBIiL98=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 64b121e2-bbf3-43f4-e370-08d9dfec9445
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 10:22:24.3769
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: YP9M24GqB5q9QTMa4IPEIe7Squ+fpZ8AbqfRKqf3j8rze/YXd2i7gc8ZH0t3kShKMUfSKIyshkxelrk7tI0g2A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB6070

On 23.09.2021 14:02, Wei Chen wrote:
> srat_bad is used when NUMA initialization code scan SRAT failed.
> It will turn fw_numa to disabled status. Its implementation depends
> on NUMA implementation. We want every NUMA implementation to provide
> this function for common initialization code.
> 
> In this patch, we export srat_bad to external. This will allow to
> have the code mostly common.

Here as well as in the subject it would help if the function name
wasn't the wrong way round. I also don't see how you mean to use a
function containing "srat" in its name from non-ACPI code.

Perhaps alongside numa_mode() (see the reply to the earlier patch)
you want to have a set_numa_off() helper (name subject to
improvement)?

> --- a/xen/arch/x86/srat.c
> +++ b/xen/arch/x86/srat.c
> @@ -163,7 +163,7 @@ static __init void cutoff_node(int i, paddr_t start, paddr_t end)
>  	}
>  }
>  
> -static __init void bad_srat(void)
> +__init void bad_srat(void)

Nit: Once again, when touching code, please take the opportunity and
adjust style issues (here: __init and void want to change places).

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 10:26:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 10:26:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260044.449010 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJ1r-0008BZ-8K; Tue, 25 Jan 2022 10:26:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260044.449010; Tue, 25 Jan 2022 10: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 1nCJ1r-0008BS-5L; Tue, 25 Jan 2022 10:26:23 +0000
Received: by outflank-mailman (input) for mailman id 260044;
 Tue, 25 Jan 2022 10:26:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=81on=SJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nCJ1p-0008BM-7s
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 10:26:21 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3c4abb90-7dc9-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 11:26:19 +0100 (CET)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2173.outbound.protection.outlook.com [104.47.17.173]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-29-5xAcTVYXNIehXFcBAy630g-1; Tue, 25 Jan 2022 11:26:18 +0100
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR0402MB3812.eurprd04.prod.outlook.com (2603:10a6:208:f::31)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.19; Tue, 25 Jan
 2022 10:26:17 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::353c:89ba:2675:f607]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::353c:89ba:2675:f607%4]) with mapi id 15.20.4909.019; Tue, 25 Jan 2022
 10: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: 3c4abb90-7dc9-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643106379;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=BjFCwNET1LN7m0OaJm3b1ozrDNbofMdfG2n7rcZK6pI=;
	b=SoqLJjNBiAbltWRzG96AKG0+dUNQKOmaVtiXmqkL08tcYOA111Or9WC1eClbaDt4RwfLnh
	ltU/gjAjaHPZXMTZZftpAkOqbNNRE4oec08ZWhvgEHNMgCLMtAIdU43GAsRZH+RD58769R
	9t1cVKxL3IeCUpmeaamH1QUtala1B40=
X-MC-Unique: 5xAcTVYXNIehXFcBAy630g-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mE7abCf0Hyh34V32f/nL8cMEfPz56uJeA75x2kLWriSmRLByoRAvnU3yD1ORpqiH6riLTpUhbaEzWdGcXbplcYfxOT4Ft33SZxC7+t33n2YnJi9sjxRp/nr2frtGMPJYYKeeuicLDyHfQJhjPwHtqd2llDATuyka+we9mxk0mM+SWo64yuYGI44/lJ0WVX+AOmovHJTiSrYf1z4ONN2tfZSA9wphREL8yRL1KH0M9EK5OmCocZ/XLqukXEamws7pSoOHkgOCGbGcB2LJTAZEZwA6KT8p4DM2ry5F1MVLAEgoh+DJKUkcACExHkFuGn/DpPbKRNKDtZAX+yEFXxpNeA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BjFCwNET1LN7m0OaJm3b1ozrDNbofMdfG2n7rcZK6pI=;
 b=CiqvneGhvSi32xiKP1rsQxQD6LWCKO5+St5BZROBStRzPvCqrEceWA8EQvQVpnqWvWC3+Tms7izdZi/EQ4aC75kPTlK6qFE9DBI7YrxbIEkE0Q6ndcdSdk8PAVCst0/srw/C3gcadl7wy8cUHGNXMspBl8G1mo+wGkMy2nZfbIBFNeSPLXsjhUczOp3rn27DHYKI5aOVbGPUAVHG4k4W8fLwMUiWXdOZr6yyW69Ad3k2sb2wyTWvBgVPJRdtg8iDNY3qELyfvtgEwXmoTpLiEkswO9YBeXb8iRCR7veCL3JBM4D+HUzj+LKxQnMEIkTe+OxDqaNlDR5YMvRF54zsPA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e862e6c2-8e3f-3cdd-88ce-127dd65b6255@suse.com>
Date: Tue, 25 Jan 2022 11:26:16 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 17/37] xen/x86: use CONFIG_NUMA to gate numa_scan_nodes
Content-Language: en-US
To: Wei Chen <wei.chen@arm.com>
Cc: Bertrand.Marquis@arm.com, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, julien@xen.org
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-18-wei.chen@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20210923120236.3692135-18-wei.chen@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR10CA0006.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:209:89::19) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e77f6279-1b56-4f05-be93-08d9dfed1eed
X-MS-TrafficTypeDiagnostic: AM0PR0402MB3812:EE_
X-Microsoft-Antispam-PRVS:
	<AM0PR0402MB381265A8B688B80B104D216BB35F9@AM0PR0402MB3812.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:
	XGVvl8s6tIUlYwjAfP6hYY2b81emHZvZhm+Pnl0EwKJl3w6T4mR/sxBXriJN5YCCibb6llJy2WnHcL/mwNd5YO4AAx0ax+432Tz898NIFr9dr+RlJBoIKgTiP1lxsOYXhRTw/Jqb7hhgZrh1JyXuDVPBgZ9A+7sumQc9XBP179X4F3OtZJ/EeLbgp47ypVByatltZXq2FzFQ7xYoko/DPmc/VrbhYRjA3N1NyZ8jhAc5h5rA/4O/o4oef49B5BZdfbT983D+Ep+OGKgazHYX/ycoBmEDddr3U7FzYkXmjtBU9rlVY1/3z8DA6aW4AHIGPN2e41qS694MIBBCpEtGExDshS350KMo0VJDfBNUst8msNADgQXpKCGdihEn8BSDRdAGRyk8ovL7ALp5BwKMgIoZByjqIskgu2DSHyg9/XOLRhKWVBBoBGwqcL6mi9jYXb+S+yy5aAI6FywRVe3xH6uJDvbuF1+zLHKqrMyYEtYMTAAbKh1nlr97IhS7n86k03VYwzAbpM14COSDIayy34eRe5HJhC1Z6B/XfA5G80FO9dI+ucekDH7/k1/cW7WAD2BHzljMsLPBNDUUuUKzgFlxcqQmImMUZ0SClvyYUe/Zs6oVyyAdfSPt2xUolrkpxWzvdWIwjwlZK+oq0XQG8BLZqnp7zUovPVnV69dPDMsDUuKJi+XlAOv2Rofo+hqovKJ3o2wj4Mi6sFf7bofZJ81xuNXzeIVurQzHRgC7JGupqt2AtffiTzcv09CQUO/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:(366004)(6486002)(53546011)(8936002)(26005)(4326008)(186003)(36756003)(6506007)(316002)(86362001)(31686004)(31696002)(4744005)(66946007)(66476007)(6512007)(38100700002)(8676002)(508600001)(5660300002)(2906002)(66556008)(6916009)(2616005)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UXkxNWY0OEMzRWZ4MTVTRHByb1NnTC81R2tnbzl5V0xrSWREL0xnMXpzaEFa?=
 =?utf-8?B?K1Rua3ZpVjl4MytEV3Y1MkIxUlp5RklEOW1FRWhuZmJDeUNsdHUyVkk1WGw5?=
 =?utf-8?B?UldnVVBCTEUvVlBHVXl5RGpWVnN4V1Y1UVdKRVhkVm9Gb09SQmhoWU1FNjZn?=
 =?utf-8?B?dGNxV3BFTGkxS2w0b1dyZ2FNVlZsTGRUMW9yN3BaYTYzSU00a1hQY3RGdXA4?=
 =?utf-8?B?ZXlLWHVqMXE1RXNMTldNcVVwaU1KQ0QyMk8zWldPc0JmSHJHakJqem51YnQv?=
 =?utf-8?B?ZDVUQ21nRWpLUHoyNkQvemNmWDljN01mTFFKa0w2R056SGdZV0FFYkNibEpl?=
 =?utf-8?B?dWNqYmJGMS9Md3NGM0dySXZ4TWhTMjJsa2c1YTJTZlZSZ090Qk5UK1dHeW5U?=
 =?utf-8?B?S0NwRzZJV1FQM0NPYWRSeWdrNTFqQUN4UWwzR251ZGZ4N0FuSWw5MzU5aDlk?=
 =?utf-8?B?ZXUwR3VLbUYwRldWZTNjak8rWmFNTmdabFVJOWVMN21EZlMvZlUxWUY2R1Bw?=
 =?utf-8?B?REdqS1FCTU13QjE0NDZRbXVEYTc3aHdVVjdsVUhIMjBNMHZUY28vTkxnK0xY?=
 =?utf-8?B?ak1WSERCMUk0U3BVYUFwbURPcjNYa1pzUlZIZ0cvdHRzakE2Y1hHano2VnVn?=
 =?utf-8?B?V2Rvby9wdVJYTEt5ME9yM1NCMFM1ZlFTZGlzU1UwQkFkS2dmSUpPaHZ3Qjk0?=
 =?utf-8?B?UXBzSmpNYzBqbmRadWlqNmZDNXVQa1RLTjlMUnFkMVlGNmkvQmF2bGtWTlRu?=
 =?utf-8?B?RFFPOUZvMVFWamsyeEtQWnkzdzU5S0E5dDlMNXIwV0pRWnZwelM1UzZ0Q2FQ?=
 =?utf-8?B?bzBEN050MkdOUEhZWXo0R2tTaCtNSk5SMjlSVmxMNXEzc1M3VSs2dE84Smlx?=
 =?utf-8?B?bW9XWEhFcmZoalVDTDhEbk1ibng4SFhmUUtEalkwOEdaTUg4djNPdTdkMmtV?=
 =?utf-8?B?Vkw1Z3AvNDZ2T0ZnSXQrTGZ6amRubXVlcEFJM2RDV2tqczBqS3JYc0haSmht?=
 =?utf-8?B?UnV1c1VmVDIvTVNNWnFWbnZYY05DUW8rQUlSaVlwR2tObllvbGhyODRLdlBu?=
 =?utf-8?B?SVNmZllNMERUOURWZllJRHFWSW5NUjVKYUJPWDNLZmdkZmFKRTRwVjVlVUFD?=
 =?utf-8?B?NkN1UStrL01hbWNoaDE1MXVwNi9xWTQxWEI4Q1hQMmtUbHJoNWoxREZWY1Va?=
 =?utf-8?B?UjgwT1ViMTgrZ0ZsMUpicGVQc0dzZFVTU0I0d0pjMEo3cTlLZ3BLY0RFRHFO?=
 =?utf-8?B?K3lncUxkbDExaVE5cmZQa25DL3kwdkRjeUNWOThTMmtNZHlmQVZnYXNyM1R3?=
 =?utf-8?B?VWk0M2J2RzQ5QTFYbTkyQnR0NmxqUVl3ckVzZW16NE9pSzBRV00xckc0Ykt0?=
 =?utf-8?B?alFjVlNmczFhbzExazJOQ1pIK0tnV283UURocGhNVm81TVJ5T3FMOW02d1dQ?=
 =?utf-8?B?VjNrTGlFbmRiaWdIRWZ6cXdUSThRd1IzZmErQVRmaXhlRjJaTkdSaG5WZFhD?=
 =?utf-8?B?QjBNSHhuQ1FMM0lNSUVEeStRbzBVMy9ZTnlHTW1hOWROUFBic2xQTkVYaTRS?=
 =?utf-8?B?Rk5BM0E0OTRrWWhPbCsvVXNRVkZ0bTV0cUhxeTlObGtSeUZJd05jcUlWRmtG?=
 =?utf-8?B?TUswT2xvQVNwQm1sYVZiWjBVb2lxSzgzZzBtWUh6b2kxVWlEaGpvK2JRNjRE?=
 =?utf-8?B?aGhlNUE2QnZXWHJTVkRiNWJseDR4VXdHRFFOZzg5L2Z0OFVjZEowWVZNZDE3?=
 =?utf-8?B?bmluRU1MaXJ6OEFLZndTNG1lM1Y0ZDNhMGNRSWNaVURmS1VUNXJjcUxtdFdI?=
 =?utf-8?B?eEZWVmJ0RHZYdVB3alpocSs0YXNqOGRhUTRZQk94V1JQMWVlMlAyT1c1dXRy?=
 =?utf-8?B?c2JPMDE5TFV0QktHbjZKRFl2VWMveThjb040bVQ4RjJoNHNQVHZwdTNPZjkv?=
 =?utf-8?B?N3YwZXZPaHlHV3pPeEF5YU1HZDRPTHA1Vyt3TjlBNjRLUjNwZnlOYWdHR0Qy?=
 =?utf-8?B?anBEOWZXbzV6U0pwVEh1WFBOMmlBRHNodjZWWkRZOWZRb0F1eTF1RnB2TWxQ?=
 =?utf-8?B?b3UvZ1M0TTVCSURwd1FSVmVndXVNN3ZnVDMxZGc4cG96M1ZocmtHMWRBL3lF?=
 =?utf-8?B?Q09jcC94VERDQVhqeDd4ZksrUXlTNmx5RWg2aC9hdnpCU0FwY0ZYNFFhbExy?=
 =?utf-8?Q?9dRjhEVmjEH2XU/7UXsyc5U=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e77f6279-1b56-4f05-be93-08d9dfed1eed
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 10:26:17.0338
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EbOUrcrO9Z1BzXwT03aVf8KYR0sFHpD93i8zcN4xvbsWQlVtMn7WtOUdbfFN65fi6Ps+EVEXrOF4t5IBDs9FVg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0402MB3812

On 23.09.2021 14:02, Wei Chen wrote:
> As we have turned numa_scan_nodes to neutral function. If we
> still use CONFIG_ACPI_NUMA in numa_initmem_init to gate
> numa_scan_nodes that doesn't make sense. As CONFIG_ACPI_NUMA
> will be selected by CONFIG_NUMA for x86. So in this patch,
> we replace CONFIG_ACPI_NUMA by CONFIG_NUMA.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> ---
>  xen/arch/x86/numa.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
> index 8a4710df39..509d2738c0 100644
> --- a/xen/arch/x86/numa.c
> +++ b/xen/arch/x86/numa.c
> @@ -260,7 +260,7 @@ void __init numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn)
>      start = pfn_to_paddr(start_pfn);
>      end = pfn_to_paddr(end_pfn);
>  
> -#ifdef CONFIG_ACPI_NUMA
> +#ifdef CONFIG_NUMA
>      if ( !numa_off && !numa_scan_nodes(start, end) )
>          return;
>  #endif

Why is this a separate patch, rather than part of the one renaming
the function?

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 10:35:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 10:35:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260047.449022 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJAF-0001DR-45; Tue, 25 Jan 2022 10:35:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260047.449022; Tue, 25 Jan 2022 10:35:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJAF-0001DK-0e; Tue, 25 Jan 2022 10:35:03 +0000
Received: by outflank-mailman (input) for mailman id 260047;
 Tue, 25 Jan 2022 10:35:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=81on=SJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nCJAC-0001DB-Qj
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 10:35:00 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7238f222-7dca-11ec-bc18-3156f6d857e4;
 Tue, 25 Jan 2022 11:34:59 +0100 (CET)
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur02lp2050.outbound.protection.outlook.com [104.47.4.50]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-40-ktrcKR2nNtuFyz7s7-DCNQ-1; Tue, 25 Jan 2022 11:34:58 +0100
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by PA4PR04MB7774.eurprd04.prod.outlook.com (2603:10a6:102:cc::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Tue, 25 Jan
 2022 10:34:56 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::353c:89ba:2675:f607]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::353c:89ba:2675:f607%4]) with mapi id 15.20.4909.019; Tue, 25 Jan 2022
 10:34:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7238f222-7dca-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643106899;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=wJOo/wvk8DV0bT1rSv69PJBqcT92jXeyKhTKtwAZHmw=;
	b=T7Rfq7/1ugDxpDn0GIf6l5R0KRLZV5cTdAIyOKervC+n4oRy94U2wk0ndvujL5mlZkSs92
	0ImYHXVegNT5R9xqE437JVAVYWfara0wwN/L34IW/bt52wwi1ZjqIHsxCcRusi/3hhbeXs
	8D69AHjWIfWiAEUPG/UR2isgwY3IR6k=
X-MC-Unique: ktrcKR2nNtuFyz7s7-DCNQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MWzDvEZjkILFMQiJ+e3n9sw/K8CIsBBbbJcff+GmaUyb9WjE4Qx92WIXryKxHfFuaEqVuGUb1vFPo3USqc60AL0OKUgoGGy20fKy4QgSmQxz2cebkUQrFe8wIYnp/TIy+1x7LmicMmnS30ng8BMsR/fA2/cATJVGbJGHDvBbtdObQj5zD99rAHElpg7jNZsfQUdFXLgK/i86UWmKOhyZepmhtYvr3xCc3BxXQdp4CiNQ8nuKqxhEhc9zB2qYJgxlfWdzpgwvChFRN6Bu/g3Q2g7yjMBlyr3RaC7mdNDwGE+xZEdbrQ3A8HGEoA+ghATCnpDkl47lH1RbOHL51WLhZQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wJOo/wvk8DV0bT1rSv69PJBqcT92jXeyKhTKtwAZHmw=;
 b=RLHjN+RNDoGA9UgJ7U0IkBaqS1gek5EWCPBozyVDueagNIm7Dk3dG9+9QC6m1IDmYFA+l3dAIUrSic5UURlcFAckVosVjcrOWxCPHJVtMsBL+lVHUdshhl7H7s9u2IIjSGBPLtugyb0SCYsh1XxrUwhTX00OtA8hROWIWOBKVPQ3KqaCBMMdyxy2hsTY36gRscKzKX55wWEYEa2A5r4DTMMS6IqxESxMJ4ewezY0sBXmsp0NNLDbpbzYFpkUmltGYgQs6B/d8TfM8sxu9TaTwd/ouNDRzfELgwMw2cUatufv1Yhqc+9QQXqLnMr1kn2AblOmgtV3MI8M/vAHlorqiQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d80da027-93ac-4819-ef7a-f3fd8592e443@suse.com>
Date: Tue, 25 Jan 2022 11:34:55 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 20/37] xen: introduce CONFIG_EFI to stub API for non-EFI
 architecture
Content-Language: en-US
To: Wei Chen <wei.chen@arm.com>
Cc: Bertrand.Marquis@arm.com, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, julien@xen.org
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-21-wei.chen@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20210923120236.3692135-21-wei.chen@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0075.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::23) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 70d90f86-6be8-4103-b0ec-08d9dfee54aa
X-MS-TrafficTypeDiagnostic: PA4PR04MB7774:EE_
X-Microsoft-Antispam-PRVS:
	<PA4PR04MB77746B22D1F3A567AA5E8FF5B35F9@PA4PR04MB7774.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:
	LuZppkI+/RGjEEvIMZNHTs8bE/ygjVcFqDzFBXY5EJ893UCUj6kv5edfed4MhcQyLK7qF8kjlLsghfwPFCnroG0/zEuO1zg9gs6VkasA+U48eKaMNFfj2Nol/g72SZdU3Lny3ua82rYc2WU+MlSedzMTR+Qtv2prHLxXOgEK5rYWwiRLYhVJ0nMcyPrl+SnPk83eNA/mYJ+e3vJlVU6eoL0h1lXl5gOgn5j1y0qyaO5AK8TXGmdWaL4vLBtrKTqRYJDwFbCYlVzR57x5o5XgH003hTtrm1dRk94bpJtyVjjqXHdsLE6iC3jPr2Azi/CTW8UdS/JSqAGVRBilT6cfwAwP7F7vo0Osgc1ESsF13MLuoAsn8eePWkp/sqWIjtZRWmEnexb9u7J1ZIcJ9gh2p6p8Qx8ZTMkqsCfkHIF9ewFSMEhWxDVu435AiJxSexape6GcqHExHkH5/z92o6LBqFqrcMCyEJYAUS4BNLTt6NXpqCbeMm+dxFys8lGNymROENA61YkEkqEzSMlK9yVmF89qBdgjyaAryFZPHjbnxXMNf890bmjDng6r6S3npggOp/ZO6Y0uSu13gcNfBSqmZOfAUmSu3veFT+iG0Dz1aOzHZHkoa0BICgFwM8wnlLYks6JsPxGt17kVvXBIAeusMkk3YWU5Rzz+rQhCzFOO1EIgb40rUdNdp4yHbp9VYRMwJLQqtEhm+wsnKQ6pcagIwkXrtmEQUZ44CgQtL6bX25vNlOyv4vgFacL97RZ5YeH6
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)(31696002)(186003)(53546011)(508600001)(6916009)(8676002)(6506007)(26005)(38100700002)(6512007)(2906002)(83380400001)(86362001)(66946007)(4326008)(5660300002)(66476007)(66556008)(8936002)(6486002)(316002)(31686004)(36756003)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cUxKSTNzSk1rL0N3ZUs0VTVMMVZ6dENiMytDbmVuRjRKWDRzWXpnMXVwWDdw?=
 =?utf-8?B?enp3MEpFNDRjbTRqTjJqbmxsSTFUa2lyMC94ZFVTV3pGUGVEbTYyMnZjMDR1?=
 =?utf-8?B?dDFmc3RBVVREVVhoWjM1WXYyUXgzRTNySndFOGQ5WHFYbjhHUjRONzZpNmVP?=
 =?utf-8?B?MEpYdTJ0RGRVazZGSWkrV21ZcXB4ZHhzK0pkZERmMGNNb0RyOXFQU2I5NUdo?=
 =?utf-8?B?Y2ZPK0RXZHlFZ2tDcUUrVjZ0VlZ5NGRkdmw3OUFxdHEydGFtQWRLWW9WQ2x4?=
 =?utf-8?B?SENiLzRsRDRqVWVydHFIK0pjMVEraXBDSW5yR0tWemNCRkVzZjNKRWZhTWc0?=
 =?utf-8?B?elV5cksxREtuZG5PVThGWGVtOGpRWmVVQ0Y5ZWJGVnVwMTM3alYvdjNybDBN?=
 =?utf-8?B?YlgzR2VpY1dVNDZ3RVJLM0tudjR3Y2VJL3c3U1NoMHYybVo5dDRsQjQrR3Fq?=
 =?utf-8?B?ZUM0NUtjQ3ZUQXpaRXBYSjk2anFSVkRnU0toOSszdHQwYjZkSDBhOVBYNFg0?=
 =?utf-8?B?RDZtRzh6U2kyRjF1VWxkS3VjUG9tRzZyVDZIK1FpaTduUjZNRk5VeXAweTNt?=
 =?utf-8?B?aVVNTFNpaUZaVlExb0hZUkgyWmtlRDNHd3NIYlFPQmpRNENGaVhJMEt0SDJO?=
 =?utf-8?B?dnJ3VTMyNzVnV0FoZ1gwdVl2ZE04TStJa280OFZFZks2Uis1aVVVbGdKNFNY?=
 =?utf-8?B?VDNUZEdhYTV0bzhsTVl6cmpQZFZTaUhVOXNuUFdTYjJ0VC85RVQ4UEZia3Uw?=
 =?utf-8?B?VmhXTFVKcGdzTUV4VUs4WkpCOVdNSDNlOTk2T0poczVsNEJuRzJOSWVESjNm?=
 =?utf-8?B?bTdpWVlOQkhkYldQNXFGYVdvcTFDeGl1M2d2YjBJOEh5a2xrK2xJbUw4U3VG?=
 =?utf-8?B?ZFQzQlVidThQZ3lsblNSVm9rVE5rUHB3RmpZR3BsRGZOT1lDemN4WTI0Vkhi?=
 =?utf-8?B?TXlkWFNVbEdrOE9POUlPZ3pLQ01yQ3U4Q0hMVERPL0NTaHpuVDVNQ2I5cHdH?=
 =?utf-8?B?RklYak9TRndzOFRlN1lXTGxDOFFHTHBiSEdXTWZlbzhEVnUvZTdFbE11YVIr?=
 =?utf-8?B?MlJsbTVrVVN0MXZ0V2lLb2NCa2FIeWl2cTZhZnVBS2JTaGR1RkRnWDRDQlJK?=
 =?utf-8?B?NVNXOWVVNHgrTVRqZFpMSS9ZVjh4YTZaeEpjWVVjOFZ2eUZXcFNkdTgxODUv?=
 =?utf-8?B?QUMwOUNVNm9CNUYrTWREcnlhdGFmRWdPU3kwQmE1WEp6L3FPMVMxeHY2TkhV?=
 =?utf-8?B?Qll4cjJTQU1DUDFZV2kyY0NqZjVoanM3NzlFNWtOQUxKOGI1SUoxUmtiSEow?=
 =?utf-8?B?NVJzVzFZRVg2TnRXUTlEcjU2dHB6TG9vSHZtZ0l4SzA0dHRpc2FpWDhVYjNn?=
 =?utf-8?B?VWNKbnBjc3RlbUQ0dGI0Y2lmdlI1RXk3cUszWlB2Y3FmanVZNm1DSndTeEdq?=
 =?utf-8?B?VU44TjZVcWZPdDNHS3pqRmJWb1JNdWp6Um9XcUVIU0p2WlcrOHpncUdaQ1Nz?=
 =?utf-8?B?MkFHckh3anEwWHlUR3VVaGxGQjd6U01jOUwwdnJBMnhCdzlJQnEvelA4Qk4w?=
 =?utf-8?B?VXhVcmdrencvV0FIZEJMMitVaXVYdUtqenRSelZ6Yy9xY2NmSE9rQkVJTVVh?=
 =?utf-8?B?SkVYZE5Dc2M4WUw2M043UEZPVmpaSzQyN2xxMnlJZU5EYXkwVzJMRFdKT1NB?=
 =?utf-8?B?WHRiNFU1MHgzbDBlVWl2NDFYZ2tPbFhlbFZlSm1wN3dBckk2M3hRaytXRTQz?=
 =?utf-8?B?ZlpmeUNmOTB4MUlzY0FEZllNOW1XUVA2SjB1T0pjQ3VlcElsbkxCeDIzamdW?=
 =?utf-8?B?cXlIMW5YelUzMzVUdFVkci9iWHl6TkczV2QweHhmUE9mUzlkc296d0kwY093?=
 =?utf-8?B?eXF1NDJVRTNxSVo5dWd3MzFMR1RBRTA5a2ZvNWdPMXQzQmZLcmdJb04wdzU0?=
 =?utf-8?B?M0pHWmlIZHA4Zkh5cEVlWER5bVErblRFQXY5THRDY0VsUVpSVzBwdFV2SFBT?=
 =?utf-8?B?OVBKRzVERTFIQmN2RnhIVTcwZExZVHQxaWFmQXRybXRjdXlmVzBjY0NEVXl1?=
 =?utf-8?B?aVBDWllXaWZ1VlJzUmJsMTUzaXY1R215RzhGZFkzTnN5aDRNM01aM2xkMHg5?=
 =?utf-8?B?Y0o2ZGVQLzNoY0xCLytGazRSbkZvWG5vSjdwQ2pCZEUwQkJHa2VTUXNDSGh4?=
 =?utf-8?Q?r2ceRVBJIBGKLrEL856TjqE=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 70d90f86-6be8-4103-b0ec-08d9dfee54aa
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 10:34:56.6568
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: gKXwf3N1d6Z0KfM5MfeZfc6tqUC17J5Qsmh/ZrYMZfygK0S59so2ixYzIUTidp5FOJrdj4poam8Bll3maTKdaA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7774

On 23.09.2021 14:02, Wei Chen wrote:
> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -11,6 +11,16 @@ config COMPAT
>  config CORE_PARKING
>  	bool
>  
> +config EFI
> +	bool
> +	---help---
> +      This option provides support for runtime services provided
> +      by UEFI firmware (such as non-volatile variables, realtime
> +      clock, and platform reset). A UEFI stub is also provided to
> +      allow the kernel to be booted as an EFI application. This
> +      is only useful for kernels that may run on systems that have
> +      UEFI firmware.

The way enabling of (full) EFI support works on x86, I consider it
wrong / misleading to put the option in common code. At the very least
the help text would need to call out the extra dependencies. Plus the
help text of course then needs to be generic (i.e. applicable to both
Arm and x86). That's notwithstanding the fact that without a prompt
the help text won't ever be seen while configuring Xen.

Also (nit): Indentation. And please don't use ---help--- anymore in
new code.

> --- a/xen/include/xen/efi.h
> +++ b/xen/include/xen/efi.h
> @@ -25,6 +25,8 @@ extern struct efi efi;
>  
>  #ifndef __ASSEMBLY__
>  
> +#ifdef CONFIG_EFI
> +
>  union xenpf_efi_info;
>  union compat_pf_efi_info;
>  
> @@ -45,6 +47,8 @@ int efi_runtime_call(struct xenpf_efi_runtime_call *);
>  int efi_compat_get_info(uint32_t idx, union compat_pf_efi_info *);
>  int efi_compat_runtime_call(struct compat_pf_efi_runtime_call *);
>  
> +#endif /* CONFIG_EFI*/

I can see that in the later patch, when introducing inline stubs,
you would need conditionals here, but I don't think you need them
right here (or you may want to introduce the stubs right away).

Also (nit): Missing blank in the comment.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 10:39:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 10:39:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260050.449032 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJE3-0001sU-KQ; Tue, 25 Jan 2022 10:38:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260050.449032; Tue, 25 Jan 2022 10: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 1nCJE3-0001sN-HD; Tue, 25 Jan 2022 10:38:59 +0000
Received: by outflank-mailman (input) for mailman id 260050;
 Tue, 25 Jan 2022 10:38:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=81on=SJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nCJE2-0001sH-VX
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 10:38:58 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0004b144-7dcb-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 11:38:57 +0100 (CET)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2053.outbound.protection.outlook.com [104.47.14.53]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-24-m2OFai4rPS6rTJxe9QIHDQ-1; Tue, 25 Jan 2022 11:38:55 +0100
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM9PR04MB7634.eurprd04.prod.outlook.com (2603:10a6:20b:2d5::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Tue, 25 Jan
 2022 10:38:54 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::353c:89ba:2675:f607]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::353c:89ba:2675:f607%4]) with mapi id 15.20.4909.019; Tue, 25 Jan 2022
 10:38:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0004b144-7dcb-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643107137;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=bFDeXxxFKqJmNycVcUJJyoc87ooSRa1pSk2PnWeQ3BE=;
	b=KeuqAewYtDglilqGnqxZZL3RoAkahzPmAOZ/FgYoHbSwOAu8LkKvB95BhtDcjPNw/rMCt8
	mmNhtoFwZYok/PdCgGZ6HYQCnUWh5cOctdQhliM2lIGuiuXjTEN0hEuOYI/ptuN9UZzQqm
	EgTtgq+v9rat7KfUXI2OuGhO49/zvbA=
X-MC-Unique: m2OFai4rPS6rTJxe9QIHDQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=M1iwegWG4w3wC1HBG1tt4/abndsGx1lSLc2It2xDgz1ccmWAuqvlLpTF26R8kEkrnglqsjuwFgzBoYkZSEg9ntUdC7def7qKHrai/r60Z9Up1wvp/ykWRmjsrm0tQ5YZLI9GdQ8def/28QsznfgIL7Ot2rNg3mTJlFWryQapOiJp1tajX4xyjdEvbFU9sEmQ2I39+30reBE4QmulBBaG+t5zV31OD2LgBYH4/w8T7Cj72LglY5bkYBKOW4Hd+Ixe1v4ENglS8oWOF9+wwy9FhjJMYVPssSfLI/mQwWVbkSKFG4jsIv+acwly4TCnfUMVWtmV36KNBRYlzDHNUHcEAA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bFDeXxxFKqJmNycVcUJJyoc87ooSRa1pSk2PnWeQ3BE=;
 b=IDfrwLvlLjCHcaHWTb9yCXZL4YKb0MUXojP7SzlIJR1yfRFH2qC562G0JiZG/A/aoLNf++1ZEbvDEphHggVWUqsDU2wZwsWMiq8CibqLLTuKIQUtu2EgVJPEcaoC1lpYUxglUwwZ7qdHSSfxwFBfidlndnVk/GNXWHajUXz5GvSCP2WTeA/yUiXgkh4Ljwj40SPLoEzjgZNuZ6yE2uJGaufDh7vOBWyKWQHUFX+awwRPHDpWvTxrOoArNTWrscaJeHes5A/mrAycgixUDMA+Ut40E0Mea9gIyRUB+GHgz+BlquUe0sFqakFq6k/s3zUlAUWJHVtfFCk3H2cmhQ/JSA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9424e908-2f86-d487-e02f-dc0cec4820e9@suse.com>
Date: Tue, 25 Jan 2022 11:38:52 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 21/37] xen/arm: Keep memory nodes in dtb for NUMA when
 boot from EFI
Content-Language: en-US
To: Wei Chen <wei.chen@arm.com>
Cc: Bertrand.Marquis@arm.com, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org, julien@xen.org
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-22-wei.chen@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20210923120236.3692135-22-wei.chen@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8P251CA0005.EURP251.PROD.OUTLOOK.COM
 (2603:10a6:20b:2f2::10) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 981b445b-a817-4635-d37a-08d9dfeee230
X-MS-TrafficTypeDiagnostic: AM9PR04MB7634:EE_
X-Microsoft-Antispam-PRVS:
	<AM9PR04MB7634BD7BB49B82C84BE9D49AB35F9@AM9PR04MB7634.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:
	mbb5LL6CStGfYYcPWn8oDu38uDHCIHOGfeeNKkLPO/Ysnf9csj2OSkVr7pZ54AeYWNqcwE7kMUJ3DX/tHcu9/G21N2UT4IChLLsiRqyQfN/DIVJmzBJn1a2u2LJxnC+UjBC+J5PMM6jfKQ79j0wRZ+rMYCUhpSwv8oVwc+WylMeQMzJkJgm5Kk7fLD5atO7jWL195uhhgDRMeIQay/847U3dcHxVumuue7eYYK+pIm+3tZQRd0YCk3hMGR/4A1Pf0IwtJ8RCQHBa17h0iXWQFXZgD/ulaKKBsPsfeBt7cfpiybWWmoo6WFWe0RJ1NktAcUi/imp2aSsa2MHHhb+srMsm+7HEMsTr3FHLmKXttckxmMKTIaqQz40zwIJtM7sdhprs0ZE4GHapN4G6zrS6sjJYkh7MiuK2DGZgMZuH8Et6gl7LmFcIxVOQwKXpKxf5hcMJvev2S+6E1N27iDueHkGVyAHZxV7f+eaIPLOTYEX3mMIeGze0WfV1yVnx/VhRdluuA7TJGRm2XzOmMB3YRfFb/vFbYHFJZ6xh4mLXGZS5AjurfhSPvJgMy2sIUUzFA3A6QgDnDNzwCeOZwGwamyBn/XY9goJwg89100wHmx/nhrhmdzUZHCLLvyv2cfjkGP66Z50x+oBVPd4whzEG4OMb2TsGXCYDhskFP2kQgF7GVgpeTdlSzqO/SuNMoCdTTMWHftNg0FK6zRjJHRnLfoLtdoj39M+90CQ4G4bQ7pvjt/GSUg/usOONSqAOafAp
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:(13230001)(366004)(6506007)(6512007)(6916009)(86362001)(316002)(6486002)(53546011)(508600001)(31696002)(26005)(2616005)(186003)(38100700002)(36756003)(8936002)(5660300002)(4326008)(31686004)(2906002)(66946007)(4744005)(8676002)(66556008)(66476007)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eE1YSDBXUm5aa3k4VnNDOVQySHYvTVdNenlhUmdTQm9BQ0gvNUpaRmN4UHhX?=
 =?utf-8?B?aDlNeXZ1aHpUQTNEdmRlbnZYWVZZSnd4UWl1RFp1ZG1NUVZ5aHQ1RDRxc1NK?=
 =?utf-8?B?ZElTdk4weEsyb093bElRMUdrUURCY2kwcEF6eWt0M0dyeUFjTklqekt3ais4?=
 =?utf-8?B?K3Z4NzR4S3NiZnJwTnpnZUFnYlNLay9tZ0wyMnpXdEd2cmpyWGI0VUpVQlJl?=
 =?utf-8?B?V2NBdEh1eDZhVytJVHpCMWJTZGszVUhYajRrZHRORWNxRHZBUDBwZmMrN2hl?=
 =?utf-8?B?Z2xsMXhYNWo5ZUo0MXNNU3lFbVB6dXZURllJenNaT0xCVEVFdHVQYTNRVnJp?=
 =?utf-8?B?OU5qc2lhQ3hUVzRxMGRhRUY2ZEoyZWNLSzdpUGYrdWd6VThFc0JSQzZxcDBM?=
 =?utf-8?B?d3l2dmdOdURYd21nbVBRNXVtd2tCMVNiM1NQb0hKcGxFeWl4RmFOZ0F4dXBD?=
 =?utf-8?B?VUZCKzd1dXZrTnI1ZnB4Y3N4QmFNM3p2ZEt2eHhBRk16RnErR0ttWkgrZ3g4?=
 =?utf-8?B?ampVVUt6V3BPSFZKRWhQbW9yUXRWMXJyVGFDY2ZtR3h4ZGh4R1dndDVqVHFM?=
 =?utf-8?B?emhxb0FBMEIvTFdVdDRnMGtSeFNUTG55MGN1MzQ5QWMrTkRZWG13STRiUGkv?=
 =?utf-8?B?bjNjdldacnI0NmtwTkpyV0I0ZVFtNTk3SFdTbGoyVzNGSDlldVVua1NDbmJq?=
 =?utf-8?B?VzQ2WDdOeFNtSnpQTWNMejNEejhMRFRvRnI3S2tVczVWUGV2TElYSU04Szdy?=
 =?utf-8?B?R0NUaGxBa3R2dUFBOWhrUzY0M3l2SERSSFlZMENmNWJ2VHdWc3c2K0hMM2xW?=
 =?utf-8?B?TXZMUldua0ZzaWg4S3R6Z0tML3ZNMjBDdEJmWFloVmVrRkFVSThtVXFEWWZK?=
 =?utf-8?B?QWZZcnh5M3NWMWRGTVVTTnpTdUcvblVBUlQ3S2trNVZLRDA0VExVZWJlbHFh?=
 =?utf-8?B?VFlhRnRFSDFOYlN5amlralJqNVArbTd3M0pPVERueTdhb2NrV21KL3NXbkpx?=
 =?utf-8?B?ckM3Snh3MFNmTlYyZTFuWTBDVmNoSk1ibWxrT0RuQ05OTllZdUZ3c0lidERx?=
 =?utf-8?B?NFVxajM4ZDN0RDZyZlBzNWplMXZnT0pXeFczOXlFWWloVUx2cnFXTnhYTExH?=
 =?utf-8?B?VXVqa2NKakw1bTlpWTRnQk1XS0o0eFVMK21tc1BRbXo4cy80TTZjZjljT1I0?=
 =?utf-8?B?QjFJckRPdjZKK25YU1pFb2dIYXBPRFhDQTVRc3lFTnRLWXFpQzBrZFBoc3Bh?=
 =?utf-8?B?M1VYMUcwRzYydEVJSVl5UGsvcGEwbGlYbG5RWmxSQnJ3WEN6OGJpNjM2a0Z4?=
 =?utf-8?B?THBUeVlTVlN2L3h3UWxiSkNVa3JTYVRmQVo4UUh4RVJFTEdPeDZ0blhSeTJK?=
 =?utf-8?B?STJNZkQzYy9lZmtZT1VmaXRPU2pqcjZKVXpqQmdORHpZd3N4ZW5KZ1RBWlp0?=
 =?utf-8?B?aW10SGRFVzBUeGNYNVlzdlNBZnk5YldXSmlYQjFPSWhZZ21iZUJMZFpsNFlZ?=
 =?utf-8?B?RlQvZCsyYjRFQmFtdko0bU5KbTI2TzhmV1A2M0ZPdklBWnFuNkZvcVZ0dllM?=
 =?utf-8?B?Mkh6ejNoa21TVUNSV0RyY1lrNmxCdnpCVS92UGlGaUpacUE0NjdOTjE5UW1N?=
 =?utf-8?B?emM5QUc4T2Uxek1HNUdkWmt4Ylcxdk1GcWNTSnE1bkpDa2x4K1ZNM0o4M2ZD?=
 =?utf-8?B?Qk1mcnNONzczMTBibzh6aUdrZ3p2d01rbFhGWlFZNTF0eHhKU3p3R2l3UHdS?=
 =?utf-8?B?VWUyQ0Y5bml4WTlUdm1oYW1HMDM2bEpKRU8zS05NVUQrcmRodjZNb1h1TXRJ?=
 =?utf-8?B?S1JremZHOUNBZUp4SW0yZ2c0ZXhVWDlWVUU3NVM2T1A2Z0dGN3VkZUx1OWcx?=
 =?utf-8?B?cE5lQUtxVS9xK2ttRk81NC9jUHdnWGtoTFVpLy91citFaUFJaGdEQ3h4RWlq?=
 =?utf-8?B?SktHK0xiYmY1VjFLMXVqQTlRT28yV2JEcEhHV1BHK1F4Ky9Cc1JIZ25wZHJX?=
 =?utf-8?B?eDJON3lBSXZNWmNTNDhkcUQwTjI0blJ6eDRhTHJ6MTZ4Y1FZVGI3bTB4eGNv?=
 =?utf-8?B?MGd3NStkUlI0enZKSFFMSTRWVUQyUy9ZVHdnc004NkFKelJVc2lrMUQxOEhT?=
 =?utf-8?B?SnFiQVhPSG1qa2w0LzU3aWo3cE5aODNuRGNEWE9rcjVBUGJBVVlBUG9aR0E0?=
 =?utf-8?Q?5laxPaODujnb5oIJmaGtNww=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 981b445b-a817-4635-d37a-08d9dfeee230
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 10:38:54.1415
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0ALUd6YZDFQINAJ/gLdTs1/MlK/JuvUDY5L4vaZ4D/zF9za0tFzb+JL7gPH4NFh1H+bMyRdyDu4FxVZKINiWYw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7634

On 23.09.2021 14:02, Wei Chen wrote:
> --- a/xen/include/xen/efi.h
> +++ b/xen/include/xen/efi.h
> @@ -47,6 +47,13 @@ int efi_runtime_call(struct xenpf_efi_runtime_call *);
>  int efi_compat_get_info(uint32_t idx, union compat_pf_efi_info *);
>  int efi_compat_runtime_call(struct compat_pf_efi_runtime_call *);
>  
> +#else
> +
> +static inline bool efi_enabled(unsigned int feature)
> +{
> +    return false;
> +}
> +
>  #endif /* CONFIG_EFI*/

As already hinted at for the earlier patch, I think this hunk wants
moving ahead in the series.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 10:46:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 10:46:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260053.449044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJLg-0003ND-J0; Tue, 25 Jan 2022 10:46:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260053.449044; Tue, 25 Jan 2022 10: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 1nCJLg-0003N6-FJ; Tue, 25 Jan 2022 10:46:52 +0000
Received: by outflank-mailman (input) for mailman id 260053;
 Tue, 25 Jan 2022 10:46:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nUgY=SJ=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nCJLe-0003LS-Ul
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 10:46:51 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 180d7da4-7dcc-11ec-bc18-3156f6d857e4;
 Tue, 25 Jan 2022 11:46:48 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 180d7da4-7dcc-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643107608;
  h=from:to:cc:subject:date:message-id:
   content-transfer-encoding:mime-version;
  bh=bjDn02oZerAz5O3zE4rQlmMK2+lbTuxXZKU/Dm9jV08=;
  b=Gn0YLK6tiAoSaa0fqMlzuphsxWQqFM6d9u5Jz6bcTK2E7ReRr9w/xFZ2
   CffO76/CLioG+Fa1I+wjsPAox06JLnJhqpirMqkclTv6rDDUQE7bKZzUU
   /pmrJrwatvuAHvNmXwJJO2iHgxH6mZ8ayhY/YTAKgmmaMfJgINZ2xjUPM
   s=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: rHB7a/G6CJlHny8pYs7iaWTl2qMhXu6yflWXejm/SkIPam9XVRQwfbEXgD/KcxZ4qsYHWxW4Tv
 R2zo45xUfWSe40REWtMTrrwaXSudt8lUxt9K/HG2NZw4URJEmGPX0MPEU0j10wosWYGSov69Vw
 OVKhlJ6mkPdn2zjNjy85JR6sukUCV/MV0owSfjNzZjvTscZTuko/vJ9fnJrjL79Y5JL2JaO008
 fZeycYfdN/R1UfC24pZ/Eu17OgW4oHxir+HJ0Ky4TLUKHJRT7zvX/ymu7VL/PRjVTpCS3Y3nOV
 xEOJqVgnZyjxsQE6bOZ80drZ
X-SBRS: 5.2
X-MesageID: 62618019
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:ENwwSao4rPeryo1hGtIpbomcNB1eBmL+YhIvgKrLsJaIsI4StFCzt
 garIBnSMvmNZjGneIgkaozk8U8PsJCEzIM1GQBk+S41EHgap5uZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlZT4vE2xbuKU5NTsY0idfic5Dndx4f5fs7Rh2NQw2ILkW1rlV
 e7a+KUzBnf0g1aYDUpMg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJ8DO+iL
 9sv+Znilo/vE7XBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XnRfTAKtao2zhojx/9
 DlCnaS9Ewoiefecou8idjhCODhnFoRhqaCSdBBTseTLp6HHW37lwvEoB0AqJ4wIvO1wBAmi9
 9RBdmpLNErawbvrnvTrEYGAhex6RCXvFJkYtXx6iynQEN4tQIzZQrWM7thdtNs1rp4UQ6+OP
 5NIAdZpRD/LRRceZwozM807ve2z10GuSAEGsl3A8MLb5ECMlVcsgdABKuH9ZdiiVchT2EGCq
 Qru/W70HxUbP9y30iee/zSngeqntTP2XsceGaO18tZugUaP3SoDBRsOT1y5rPKlzEmkVLpix
 1c8o3R06/JorQryE4e7D0bQTGO4UgA0Y9cKHuZ9slG3wZXxwhyyH3EvZxkQd4lz3CMpfgAC2
 liMltLvIDVgtryJVH6QnoupQSOO1Ts9djFbO3JdJecRy5y6+dxo0EqTJjp2OPPt1rXI9SfML
 ydmRcTUr5EaloY12qqy5jgraBr898GSHmbZCug6N19JDz+Vhqb4P+RECnCBtJ6sybp1qHHb4
 BDofODFtIgz4WmlznDlfQn0NOjBCwy5GDPdm0VzOJIq6i6g/XWuFagJvm0lfBs4bZlaKG6xC
 KM2he+3zMUPVJdNRfQvC79d9uxwlfSwfTgbfq68giVyjmhZK1bcoXAGib+41GHxikk8+ZzTy
 r/AGftA+U0yUPw9pBLvHr91+eZymkgWmD2PLbimkUXP+efONRa9FOZeWHPTP79R0U9xiFiPm
 zqpH5HUm0w3vSyXSnS/zLP/2nhTfSFkXsin8pIOHgNBSyI/cFwc5zbq6epJU6RunrhPl/eO+
 Xe4W0RCz0H4i2GBIgKPAk2Popu1NXqmhX5kbyEqI3iy3H0vPdSm4KsFLsNldrg77u1zi/VzS
 qBdKcmHB/1OTBXB+igcMsah/NAzKkzziFLcJTehbRg+Y4VkG17D9Oj7c1a97yIJFCe265cz+
 uXyygPBTJMfbA1+F8KKOum3xla8sCFFyuJ/VkfFOPdJf0Do/NQ4IiD9lKZvccoNNQ/C1n2R0
 APPWUUUouzEookU9tjVhP/b89f1QrUmRkcDRjvV97e7MyXe71GP+44YXbbaZy3ZWUP15L6mO
 bdfwcbjPaBVh11NqYd9TepmlPps+9v1qrZG5Q14B3GXPU+zA7ZtL3Taj8lCsqpBmu1QtQesA
 x/d/9BbPfOCOd//EU5XLw0gN7zR2fYRkzjUzPI0PESlu3MnoOvZCR1fb0uWlShQDLppK4d0k
 +4utfkf5xG7lhd3YM2NiTpZ9jjUI3ENO0n9Wkr23GM/ZtIX92x/
IronPort-HdrOrdr: A9a23:JnpiSa1DDRMeHPvm43KXDwqjBV5yeYIsimQD101hICG9Lfb2qy
 n+ppgmPEHP5Qr5OEtApTiBUJPwJU80kqQFm7X5XI3SJzUO3VHHEGgM1/qF/9SNIVydygc/79
 YeT0EdMqyIMbESt6+Ti2PZYrUdKbG8gdyVbIzlvhBQpG9RGsRdB1ATMHfnLqQ6fngOObMJUL
 6nouZXrTupfnoaKuy9G3k+RuDG4/nGjojvbxIqDwMurFDmt0Li1JfKVzyjmjsOWTJGxrkvtU
 DDjgzC/62m99W20AXV2WP/54lf3PHh1txALsqRjdV9EESlti+YIKBaH5GStjE8p++irH4sjd
 n3uh8le/9+7nvAF1vF1SfF6k3F6nID+nXiwViXjT/IusriXg83DMJHmMZwbgbZw1BIhqAx7I
 t7m0ai87ZHBxLJmyrwo/LSUQtxq0ayqX0+1cYOkn1kV5cEYrM5l/1TwKpsKuZPIMvG0vFnLA
 E3Z/uspMq+MGnqJUwxh1Mfj+BFBR8Ib1S7qktrgL3h79EZpgE686Ii/r1vop43zuNOd3B13Z
 W7Dk1WrsA/ciZvV9MEOA4ge7rBNoWfe2O7DIqtSW6XZ53vfUi97qLK3A==
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="62618019"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YFlV03vXvfbiiQBZYQGoBd/9B99r+oZ8/fzYAOmjHcfkg9q5D0fELIy3SpyMMDs/ecg8P9IQgDIyLDHccjTLSjEu6fLQS3IypL3+gaL0qflPqRNdvcqadqA41/sKJ2sI/JmnOCghMQCRXhV+sEVRQ5PU6RwFLRXT9SHPG7HQeHhitCzxRkSx9ArS2dwrfaNdd8MgO+uY3RYiPADUnalCzITiXhFp0DlPzTBSspL77ACj1qx3170W92daJe09HVTTTOHLVBXn+o03IAuvJgOk2wpOoQ1wnebpgL8V0ePXtCJwV9JNAluaeXhWwtn3TSYOP1DVYmKm+1mq/wy04KGbTg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CMoeKsbIiAatSd4jZPfgoanXYSXwyFFC+JM1TJuz2yc=;
 b=iDIgh4re61E4V1ajVssWfC3CACYbOYUIdJsbgi39ny4BPz0MdA3g+sop03r3tZIdFwM4ksRpcAMKNMFcS2WBIVBtPM4B+K6uPCwwAVzk5XkCzfHFssW3+IlVIb4BUXCD6VPzXpideNaS+QUc0J1dOIC44+CgOTuJK0jM8/VgsPFht7leAxyYJsh0QBtGQEtfYT1LR+3PpLW2e50UukeKGuCevkyxmoMMzvK/IP9sj6wjRpwpJ8WouPpH9+gvPvMTdzizhT7PypZN9T4lZaDNYHP8GQ/YpEHdELF/lHywuR0egxez4Q8xrozYBpwYRsk3gJbWxZ5XU389KT1BMKGGfw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CMoeKsbIiAatSd4jZPfgoanXYSXwyFFC+JM1TJuz2yc=;
 b=EWh1uwmAG/+fP8SBfwQQh3TI1+2Y9fJXdeVL3goBxSTto3apNEwB2t25ZY9fns352OyCEB2pEqpgSvWxLBriVpgblHtwhsvN91ZnqCAH6VgV2bbWgBTg8mcpnpb9VytC0xdjbraY+ztCEKKbcRkBfZDWz4BSZHcYKO8Adxa7mKE=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH v2] x86/pvh: print dom0 memory map
Date: Tue, 25 Jan 2022 11:46:36 +0100
Message-ID: <20220125104636.42080-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MR1P264CA0010.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:2e::15) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 402b5766-7bdb-4eae-882e-08d9dfeffa2b
X-MS-TrafficTypeDiagnostic: SN6PR03MB3806:EE_
X-Microsoft-Antispam-PRVS: <SN6PR03MB38066B824A0BD34CCCE13A638F5F9@SN6PR03MB3806.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:2000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: l3mWQcAgl3hm7dgGzNB6W9cf0BPT5m24PQ6g26c0m6hUUWsC/e1XfgYCuCW6aYtIHiDbHXXas00oyTC8Dsl9XV1i4cIYsPboCe3XQf7EfZHGaPWbgd+54rWWTlAMrFfUJ2eINUqXKnmGA79MeE2bj/rIItd3wO2gQESvOiJtUfrfH4a3CJ9DcOZKm5UDGI8yKGuAeqBh9VflAl3SPmz6IRrUewXqCjIor0agIacJT8jOqyhSS1W0CKXoDayeIZMgq+H5jSp+ZJ6RAA7UI77XLRX/dRDZ2YBfCqvf75UAubcTYSRKvg0y3rzOVbCXSHvcyeztQB5/oB1MnFO4AA3nUZhTrxfoXKOzyFBtIS3k0RMSv0b6HBLEKfXCeMRYsg9/m8GdysFwQIIRI/sXa5Hr5yE7CRXq9eUz0Ot9j0f+UJVzp9pSllk+IGGQfuhedxwXOp6YOpzCUk9J4fwUrk9fdrjCB7QXnRhb6+9+hlt5+zFBVFsNTuPTg67LupVnQB625RqBY8G8hSM5mO+sU5CslIVYscbqzLF0K+6Z0sKYFhNesZo6Bq6GaxfSOq+vkFgkQ+uufhWSCiFq9OChkcMupouJmo3dplBgqYPtVovVf87OCTjfeYvGdc293Touw4gQ2ZHBCD4bReAflB+UYy+eNQ==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(6486002)(2616005)(82960400001)(6916009)(83380400001)(8676002)(66946007)(6666004)(36756003)(8936002)(26005)(66556008)(186003)(508600001)(5660300002)(6512007)(316002)(6506007)(4326008)(54906003)(66476007)(38100700002)(1076003)(2906002)(86362001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?L3JJSUU0eUgrR3pYMFV2UTR5LzZZdWZLVURrM2N3ZU1PRnlRUS9IZklhVUpK?=
 =?utf-8?B?cG84Q0VQTFltMENKREc3TzFNbUlUbzZscU1TRlUvamJEYTEzU0tucHdQdVhm?=
 =?utf-8?B?c3gwd1dNNWp6N2hCaXdSVXZ3QllMVlVUT2FhU2pveG5kdW5DRzJGT1dSbHJT?=
 =?utf-8?B?R0wrVzBZRnN2d243RTlLUDFaNzdzYzU1ZjJRVDhOR3Q5UVZVaXBmOVBMZ1Fr?=
 =?utf-8?B?WkJFS0VPZ0lsZ3B3ZVMreUJpZVV5Q3JmWSs1UktOOGxzYU94OGtDUHNnVUts?=
 =?utf-8?B?U1dnZzBBSElsWWU5QTJXQXRhVlNjcHJXMzJBMkw4ZUZuRlB6bjd1Nnd2R2x3?=
 =?utf-8?B?YStOOTBpREtrMnV5djVvNGMybUZiUDNzMmROT3d1ekVSY21GbG5LTCtYUVhx?=
 =?utf-8?B?RHdlNENNSG9idzJMdWt5Kzh2d1U2WEhDQzFncWltWFZpSGkrM0FCVlpFSVVU?=
 =?utf-8?B?NFhad2tLK3pCdFJpdFdiZmxZVkIwMy9aV0VaN1BHczNpRWl4MzBNb1lZRXJZ?=
 =?utf-8?B?QVFoRkFaTkRDTXhLdThIT210c3FPSzVrSVEwQk8wbGdTU2JnWUpUYTE1NzFD?=
 =?utf-8?B?Zngvcy9nYkduTW9QTjFtamI1cG8yS1QyU21oMEFlYURldzBuam9PYzFCUWor?=
 =?utf-8?B?WWQ0cjlUTWR1RDVGVTV2a1dnSTlXdFY5SmRPTWFPSys2Vy9iRVF1NFJSZkJE?=
 =?utf-8?B?UHFEbytVblNudmM4UDZaZUsxM2thZ1REUzVPQTVqYm41Y2RLUnhSVWZsd1pD?=
 =?utf-8?B?c01YWTZUWmR5WFltTHI4MWh2VnVZWFE2djc5aHYwU1ZVUmNhYmdDYVFIOFBj?=
 =?utf-8?B?RWRBa1hlcC9USkE5ODVLcTdtQjN4TFZwVk42ZjUvdXh1b1BzTzh6M3lIODNU?=
 =?utf-8?B?M3habDZmSzZUbXVQamh2dURtMEU3R0drQndkdzBKMGwrM0ZCcXN4bzVrWUdn?=
 =?utf-8?B?VGpSMVd1a2VlQnZnZGpodS82UlRrMyttQTVEYUxhcVJSK05sRURVdnc3UWtI?=
 =?utf-8?B?VVBIcytUclBxeHcrcVJSUWIrQ2luTmg2ZDc1ZmEyZVFKWUpxd24rNk1wSVZz?=
 =?utf-8?B?UGp5VzRGUGs1L081RmhHTnhQdTVJZFhXNFArN040R0xKM2l2dldCcGprNG9o?=
 =?utf-8?B?OVplZjBkemR6eVFyZ1RsQUlrbzN6dThWZUVvNlFEaTduYk5GZmFVTzBqakNp?=
 =?utf-8?B?cUc2SitFRXJnWjA0a2tUZFVhL3ZNaHQyc3hOZlFwR0ZOUmYyTXZGWVFYTnpD?=
 =?utf-8?B?T2NLVDlrenJLU052Y1B0a2c0UTJFTFFtbk04T2F0NXRBaTVDQWZLSmFudjNu?=
 =?utf-8?B?V3ZIQkNjaGtsaFdhZjhuUkJTd0xFTHh0dkVBL0JwZDNjZ0dhaCtHa3BxZVVD?=
 =?utf-8?B?NnhSMWlldTR1cmF5cnVCNGFpZjVMRkYzOURHMTVOUi9iUUlGeUY0a3puU3Vt?=
 =?utf-8?B?K3M0eGxaTGFNR0x1cFhmK1NhRTN5SmJTTkRiM2RzZDhLdW1nalZJRUlzdnlz?=
 =?utf-8?B?K1VJU2xjU2loUXI2UmZFL3JlbTQ5NnYwT2J3RmRFRzhyUzM3RHJuQ0dRNEtB?=
 =?utf-8?B?YmdkZE5yeXRvdU5oMHVOOVZxcE9iT3JaSE5jdU5vcDZudC92UU10WWtOVVRU?=
 =?utf-8?B?ZXM5b05mbk9NZXhyRFNnd1FuVjJWQ3l5bitpVm9KTkN0bTlWOVJhaE9wdmtF?=
 =?utf-8?B?RmRNd2V0N2pjelBxVmlkT2l5dmlXOFpaa2E4dHFlR2loM0NtY3dDQ0xsWUh5?=
 =?utf-8?B?WGNsdTFMekl6eEE2eVJNNXJMd2thNGR4bWFzMzk1cWJRV1IydFRuci9QUFpq?=
 =?utf-8?B?aUE0WWIwd3NPM3J2eWY2U1NBeWJ6cGVkVGdiRDczaTgzdW1wSG5SdGRxYzRq?=
 =?utf-8?B?SGp3VkZzdDVFODJRcm1yMHh5NEN5VW5VRG9lN1VYNm5iK212cE0yQkFRNE4z?=
 =?utf-8?B?cjZWTzBwTGRsd0FCVitHWlpJbmttU0l5eldCOWJzQ1BTeEZSeFlDVDU5TU1E?=
 =?utf-8?B?OGplRjdMQkJ3SjBPTkh5Z0xSVGlGRmZFS2VOYWlqWGRFWW1FU3hRNnZEMmJY?=
 =?utf-8?B?NGJ6SGFEeVpZdytQTTJsTnVlbE4rMXlqMlVDK0IxdmhFdlR4MWdHNWs5dFUw?=
 =?utf-8?B?aXFEY3pSK3pOZGxxZVNOdDBKVnZjTlNQUGZRV2VQTGVWdGpoR0ZoMWRNVk5C?=
 =?utf-8?Q?UpvhX0ODLTPtu95NDd1I+zk=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 402b5766-7bdb-4eae-882e-08d9dfeffa2b
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 10:46:43.9626
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: qoDzvQ9CIy2BaZ9CPm1mwo38R4N71zUwszkv8VH3Z7N2PoNeJ3kh+xbpSWWGbkX8l/RFQx9u3juGNjrT632APg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR03MB3806
X-OriginatorOrg: citrix.com

I find it useful for debugging certain issues to have the memory map
dom0 is using, so print it when using `dom0=verbose` on the command
line.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes since v1:
 - Make parameter const.
---
 xen/arch/x86/e820.c             | 3 ++-
 xen/arch/x86/hvm/dom0_build.c   | 6 ++++++
 xen/arch/x86/include/asm/e820.h | 2 ++
 3 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/e820.c b/xen/arch/x86/e820.c
index aa602773bb..b653a19c93 100644
--- a/xen/arch/x86/e820.c
+++ b/xen/arch/x86/e820.c
@@ -88,7 +88,8 @@ static void __init add_memory_region(unsigned long long start,
     e820.nr_map++;
 }
 
-static void __init print_e820_memory_map(struct e820entry *map, unsigned int entries)
+void __init print_e820_memory_map(const struct e820entry *map,
+                                  unsigned int entries)
 {
     unsigned int i;
 
diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c
index 63dceb2116..549ff8ec7c 100644
--- a/xen/arch/x86/hvm/dom0_build.c
+++ b/xen/arch/x86/hvm/dom0_build.c
@@ -1270,6 +1270,12 @@ int __init dom0_construct_pvh(struct domain *d, const module_t *image,
         return rc;
     }
 
+    if ( opt_dom0_verbose )
+    {
+        printk("Dom%u memory map:\n", d->domain_id);
+        print_e820_memory_map(d->arch.e820, d->arch.nr_e820);
+    }
+
     printk("WARNING: PVH is an experimental mode with limited functionality\n");
     return 0;
 }
diff --git a/xen/arch/x86/include/asm/e820.h b/xen/arch/x86/include/asm/e820.h
index 9d8f1ba960..92f5efa4f5 100644
--- a/xen/arch/x86/include/asm/e820.h
+++ b/xen/arch/x86/include/asm/e820.h
@@ -32,6 +32,8 @@ extern int e820_change_range_type(
 extern int e820_add_range(
     struct e820map *, uint64_t s, uint64_t e, uint32_t type);
 extern unsigned long init_e820(const char *, struct e820map *);
+extern void print_e820_memory_map(const struct e820entry *map,
+    unsigned int entries);
 extern struct e820map e820;
 extern struct e820map e820_raw;
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 10:57:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 10:57:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260056.449055 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJVZ-0004sG-IM; Tue, 25 Jan 2022 10:57:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260056.449055; Tue, 25 Jan 2022 10:57:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJVZ-0004s9-ET; Tue, 25 Jan 2022 10:57:05 +0000
Received: by outflank-mailman (input) for mailman id 260056;
 Tue, 25 Jan 2022 10:57:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=B39K=SJ=xilinx.com=ayankuma@srs-se1.protection.inumbo.net>)
 id 1nCJVX-0004s3-RN
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 10:57:04 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on2062d.outbound.protection.outlook.com
 [2a01:111:f400:7eab::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 856ef957-7dcd-11ec-bc18-3156f6d857e4;
 Tue, 25 Jan 2022 11:57:00 +0100 (CET)
Received: from DM5PR07CA0050.namprd07.prod.outlook.com (2603:10b6:4:ad::15) by
 PH0PR02MB8520.namprd02.prod.outlook.com (2603:10b6:510:10d::9) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4909.10; Tue, 25 Jan 2022 10:56:57 +0000
Received: from DM3NAM02FT027.eop-nam02.prod.protection.outlook.com
 (2603:10b6:4:ad:cafe::8a) by DM5PR07CA0050.outlook.office365.com
 (2603:10b6:4:ad::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.10 via Frontend
 Transport; Tue, 25 Jan 2022 10:56:56 +0000
Received: from xir-pvapexch02.xlnx.xilinx.com (149.199.80.198) by
 DM3NAM02FT027.mail.protection.outlook.com (10.13.5.130) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4909.8 via Frontend Transport; Tue, 25 Jan 2022 10:56:56 +0000
Received: from xir-pvapexch02.xlnx.xilinx.com (172.21.17.17) by
 xir-pvapexch02.xlnx.xilinx.com (172.21.17.17) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2176.14; Tue, 25 Jan 2022 10:56:55 +0000
Received: from smtp.xilinx.com (172.21.105.198) by
 xir-pvapexch02.xlnx.xilinx.com (172.21.17.17) with Microsoft SMTP Server id
 15.1.2176.14 via Frontend Transport; Tue, 25 Jan 2022 10:56:55 +0000
Received: from [10.71.118.123] (port=51814)
 by smtp.xilinx.com with esmtp (Exim 4.90)
 (envelope-from <ayan.kumar.halder@xilinx.com>)
 id 1nCJVN-00054N-Vs; Tue, 25 Jan 2022 10:56:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 856ef957-7dcd-11ec-bc18-3156f6d857e4
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RbTincjohojwxS6r+PX5GBvrNQKmnesizKbK9jY8q7jDWHUNl6MgANcoy0YK0odKGi6gWAP3PQVGaQ2ze2avjuFBEN66QCVPCsdBJ/hEmjKUF2zF44UvrWTYsEFfkRUsGT/mWvJ61hiyiYVJrOWLGnswHx3RpTUVIglN5QXVasbw1rX5WrUB9C61pqXGr0JOp3qmUTnv9bwFh5MGzRdCcullSPTgDIW4mp2S3LrZdxvxuNpXjGwEKoB9A4d5vTCzR2A7YnmS4eHnP0E3tJTIhu8RmbbNQUsTous5qhi0FWLmVDHfitWfBwP5j/KD8wvy0Y4vgilLndBhr4MPgKre6Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=icF+imYJpg5Gvlb+9QtQvCSbOGEJRz5Z67Vwa0rdAwg=;
 b=P0c1koHZfHGNH8tg7t/g7LKRRZS9B9eMy4KiTMET3PU0KC2j1m7Bf035JtqM68rh66N2L9yGRMKA+NAdw7SPCnY8j5r7kjuNETVtZvnpXGb6Cp9HfZiFkWKuAVHHIqPoRk8a/yqhPm08rpMpIhnRZTfKJiRm/3/0JWfZd7JFRZ/x/FimGsZ6v0rVEsua0BVfaqYyYU6M02jwuUyVUjKqQJdH0WB41qQdr5FLmW4QK9+VfmKZXDunmEvYmG0Hhe4BZ5Y8dit0BhmS4dC5c0NgWzJbR5d6EweMDo8Kv0Yti3iGuSpIzSYJRT3PwkZWxzOyQnV06DD25ywz4GYdpIZzsg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 149.199.80.198) smtp.rcpttodomain=suse.com smtp.mailfrom=xilinx.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=xilinx.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=icF+imYJpg5Gvlb+9QtQvCSbOGEJRz5Z67Vwa0rdAwg=;
 b=FQMPaesUdCVF8nprWVN/tN3XXKfxgMtTOLFoIDzOZ87jf44CfDpvJCMCCTZM0rzXGl4GLds+aX5qp4hSr1lTc767HtTqfFr8h/9bQU4XD3OFpsAAiLOeGXhiY99VRN8yZLadfxuaQBPVQKCVIYKXfQUMcY/sd1EUq6Qe3O78CrU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 149.199.80.198)
 smtp.mailfrom=xilinx.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=xilinx.com;
Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates
 149.199.80.198 as permitted sender) receiver=protection.outlook.com;
 client-ip=149.199.80.198; helo=xir-pvapexch02.xlnx.xilinx.com;
Message-ID: <dd186204-250a-bc40-29cc-242a613e340b@xilinx.com>
Date: Tue, 25 Jan 2022 10:56:53 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.0
Subject: Re: [XEN v3] xen/arm64: io: Decode ldr/str post-indexing instructions
To: Jan Beulich <jbeulich@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>
CC: Andre Przywara <andre.przywara@arm.com>, <xen-devel@lists.xenproject.org>,
	<stefanos@xilinx.com>, <julien@xen.org>, <Volodymyr_Babchuk@epam.com>,
	<bertrand.marquis@arm.com>, <wei.chen@arm.com>, Ayan Kumar Halder
	<ayan.kumar.halder@xilinx.com>
References: <20220120215527.28138-1-ayankuma@xilinx.com>
 <20220122013046.6a786d3f@slackpad.fritz.box>
 <18e715ae-111d-58e6-55f9-a48a521e99b3@xilinx.com>
 <20220124143601.3e2ac6ac@donnerap.cambridge.arm.com>
 <bae9a35f-be42-2ebe-5ce0-30e08001ae97@xilinx.com>
 <alpine.DEB.2.22.394.2201240941310.27308@ubuntu-linux-20-04-desktop>
 <e6c217ba-2723-45ca-bb60-1c181359d261@suse.com>
From: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>
In-Reply-To: <e6c217ba-2723-45ca-bb60-1c181359d261@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e3ffac53-4e46-4d40-f887-08d9dff16794
X-MS-TrafficTypeDiagnostic: PH0PR02MB8520:EE_
X-Microsoft-Antispam-PRVS:
	<PH0PR02MB8520F0CB7337ED9AA53D333AB25F9@PH0PR02MB8520.namprd02.prod.outlook.com>
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
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:
	WVFFEZ2y3iFIcQk8Dn/cOQNVfw/FM94pvBtaFsidh9cYyouSoncBJcgycwAnORrRJIWWJxHvLfmyFbWU/cMyhfo55Bh7JE4SztW/082INoj6qkusQem7xp4CsrTMbwxaKhahCh88ClI02LOineyNcI3dJyqBrKEyX5QALie7Fbut3JrWvWOK6hdsKvj4yqw7t2uVKQS+14EtZnRnxP6VQz5PMlM6RHKwaEI5PZyF1BG1eyVSANs99qlpKE/yx7bqPr/krICujGPfNLOBvty302Z9IpPNU4cAJ6yrZdFuU61hxs5C0VP6bivBeNvyeZLJh+pZr3c+DXCy9n9TdQYDOMw4zFspsOH7gPBPeCRzKt7CjPhxMbBlM0sSfXN4PR7u30jNrtL8nweiLQywxcMf+D0Z9tLPH3Ykpe6UU0+BPdoT74nWzE0hp+TDDaDKEbjlugvektB2ZCyq0lEJhoTW47wf5Ar4ZgrJaytb1bcTpQJ7YejgKImrjif9GggZXDDB1aIjLN9UHN/T5n/cTezgRkKqCo20LWOBlKMvs7vMyAz5p0g+ke/YZWuQ6LgrRW5pkeZKYSv+cuOHI2wZLW3EMsnTpnAjWWjjkW8NDjZCrZblV7gWcw076rhzd1m7aXVHUYpj6SHMCARVN8Zb4SrXooXWlmkqP/Mgh1GubLKFtLcxkRlWBc18rZMkPgQ0+nBDnzlzHPI/+pryfvJdbgaoMqXxGbPm/9hHEBAF4eV5EZ1dt+QaPbuUqFocr+wLCr2uBIt6mC3O39yqPmHwzuz2+RwH514yuZVzpMrVs/nS8X7mIYextLBnbAPoz95LmbeEZL8EX37O05jaWduCscPAgQ==
X-Forefront-Antispam-Report:
	CIP:149.199.80.198;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:xir-pvapexch02.xlnx.xilinx.com;PTR:unknown-80-198.xilinx.com;CAT:NONE;SFS:(4636009)(46966006)(36840700001)(40470700004)(107886003)(26005)(9786002)(316002)(8936002)(356005)(426003)(53546011)(36756003)(47076005)(2616005)(82310400004)(40460700003)(36860700001)(31696002)(336012)(70206006)(2906002)(508600001)(110136005)(54906003)(83380400001)(5660300002)(4326008)(186003)(7636003)(70586007)(31686004)(8676002)(50156003)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: xilinx.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 10:56:56.5377
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e3ffac53-4e46-4d40-f887-08d9dff16794
X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c;Ip=[149.199.80.198];Helo=[xir-pvapexch02.xlnx.xilinx.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DM3NAM02FT027.eop-nam02.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR02MB8520

Hi Jan/All,

On 25/01/2022 08:55, Jan Beulich wrote:
> On 24.01.2022 19:41, Stefano Stabellini wrote:
>> On Mon, 24 Jan 2022, Ayan Kumar Halder wrote:
>>> As for the patch, I will mention this issue (as a comment in the code) where
>>> we are loading the instruction from PC. Stefano/Julien/Bertrand/Volodymyr:-
>>> Does it look fine with you ?
>> As this issue could happen on any architecture (the guest could change
>> the instruction from another vcpu while the other is trapping in Xen)
>> and given that we do quite a bit of emulation on x86 I asked Jan on IRC
>> how do we handle this kind of things on x86 today. He had a good answer:
>> "By not making any assumptions on what we're going to find."
>>
>> In other words, don't assume you are going to find a store or a load
>> instruction at the memory location pointed by the PC. You could find
>> total garbage (because it was changed in between). Make sure to check
>> everything is as expected before taking any actions.
>>
>> And I think you are already doing that in decode_loadstore_postindexing.
>>
>> These are the fields:
>>
>> + * 31 30 29  27 26 25  23   21 20              11   9         4       0
>> + * ___________________________________________________________________
>> + * |size|1 1 1 |V |0 0 |opc |0 |      imm9     |0 1 |  Rn     |  Rt   |
>> + * |____|______|__|____|____|__|_______________|____|_________|_______|
>> + */
>> +union ldr_str_instr_class {
>> +    uint32_t value;
>> +    struct ldr_str {
>> +        unsigned int rt:5;     /* Rt register */
>> +        unsigned int rn:5;     /* Rn register */
>> +        unsigned int fixed1:2; /* value == 01b */
>> +        signed int imm9:9;            /* imm9 */
>> +        unsigned int fixed2:1; /* value == 0b */
>> +        unsigned int opc:2;    /* opc */
>> +        unsigned int fixed3:2; /* value == 00b */
>> +        unsigned int v:1;      /* vector */
>> +        unsigned int fixed4:3; /* value == 111b */
>> +        unsigned int size:2;   /* size */
>> +    } code;
>> +};
>>
>>
>> This patch already checks for:
>> - the fixed values
>> - v
>> - opc
>> - some special rt and rn values
>>
>> Considering that:
>> - size is fine either way
>> - as rt and rn are 5 bits wide, all values are acceptable (x0->x31)
>>
>> It doesn't look like we are missing anything, unless imm9 is restricted
>> to some ranges only.
> Beyond decoding there's at least one further assumption one may
> mistakenly make: The address may not be suitably aligned and it may
> not reference MMIO (or, should that matter, not the specific region
> of MMIO that other trap-provided info my hint at).

As I see, Xen will read/write to the MMIO address provided either by 
gva_to_ipa_pa() or HPFAR_EL2.

However, (you are correct), that the address pointed by Rn might not 
point to the same address (assuming that the instruction was changed 
after being loaded in I cache). In any case, Xen will simply increment 
(or decrement) Rn. The guest will find this new value of Rn (and that 
should be fine it was the guest who had changed the instruction).

In any case, I don't see Xen doing something erroneous.

I will send out a v4 patch addressing the issues pointed by Stefano and 
Andre (commit message).

- Ayan

>
> Jan
>


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 11:01:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 11:01:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260063.449096 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJZd-0006tp-RD; Tue, 25 Jan 2022 11:01:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260063.449096; Tue, 25 Jan 2022 11:01:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJZd-0006tc-NM; Tue, 25 Jan 2022 11:01:17 +0000
Received: by outflank-mailman (input) for mailman id 260063;
 Tue, 25 Jan 2022 11:01:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rP4T=SJ=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nCJZc-0006Mn-Bk
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 11:01:16 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1d3f8ca3-7dce-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 12:01:15 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1d3f8ca3-7dce-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643108475;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=BQQxaNtHjaB4s6bgGMTJeDKh5VP55qhth25rnaVHdt0=;
  b=cmywaDTfABhODL640CkRt5caCjUW+M80rvkmWg60/PnT6Kc4wP6Uan/G
   b8VuV+BBGb0CxaGS+ZrDqpmj6AEhVYFyYiw4pDtSKgNYnE9ptD6kT5YXP
   0a1c9UTsnyTaZ9tS4Tt1C7nB/tjDP6n7LfSRZsmymxY3Q/VzGPht/D91G
   4=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: 8/DHCZfW3/eg9CITvGhUnWHCu+UduepdIVTdNZn3/v0TMv4v4d80Db34jfX73NQcvN5rLzmF71
 C3R6+YoLbdTT9eIaFlpx2O3gcUlpr/jbfu/THwIHisT9e2lyO++tlrgT9d7rh5k6KLF9pegczS
 kWLB7VDkRfiCb+x2CUK0McJDS8BZHd2GSh8m+oe/P7nyN8psjEdQuWbJT69koxILgwqkc9MJ2b
 DMw4W+UESyfBGBoj6xNbkyfYZrG8g2WcpHhUXtmZHUW4ARTbtkWmUBjFhoo2sCC89jXheSRssC
 9Cx60K3IihD5MpOKC6d9/CBu
X-SBRS: 5.2
X-MesageID: 62618912
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:ArZRgq3WKoxh/TFYs/bD5Qd2kn2cJEfYwER7XKvMYLTBsI5bp2ACn
 2YbWT+DM/qCZWb2KN9xb4Ti80NXvseEzYRnHFQ9pC1hF35El5HIVI+TRqvS04J+DSFhoGZPt
 Zh2hgzodZhsJpPkS5PE3oHJ9RGQ74nRLlbHILOCanAZqTNMEn9700o6wbNh2+aEvPDia++zk
 YKqyyHgEAfNNw5cagr4PIra9XuDFNyr0N8plgRWicJj5TcypFFMZH4rHomjLmOQf2VhNrXSq
 9Avbl2O1jixEx8FUrtJm1tgG6EAaua60QOm0hK6V0U+6/TrS+NbPqsTbZIhhUlrZzqh2M50x
 /hLlpyMaQY4YJHHlegMTwMJKnQrVUFG0OevzXmXtMWSywvNcmf2wuUoB0YzVWEa0r8pWycUr
 6VecW1TKEDY7w616OvTpu1Ej8I/LM7tLcUHt2tp1z3xBvc6W5HTBa7N4Le02R9u3J4XTaeHP
 aL1bxJwQjGRYkVLK2tUJ5Z9zfa6pWPWXmBh/Qf9Sa0fvDGIkV0ZPKLWGMXRUsyHQ4NShEnwj
 mDM8nn9AxoaHMeC0jfD+XWp7sffkCW+VI8MGbmQ8v9xnEbV1mEVEAcRV1awvb++kEHWZj5EA
 xVKoGx09/F0rRH1CImmN/GlnJKallkCXtV9Fc461CGM2/To6AuVF3QeHwcUPbTKq/QKbTAt0
 1aImfbgCjpurKCZRBqhy1uEkd+hEXNLdDFfPEfoWSNAuoC++99r0nojW/4+SPbdszHjJd3nL
 9lmRgAajq5bs8ME3r7TEbvv02P1/cihouLYC2zqsoOZAuFROdbNi2+AswGzARN8wGCxFAXpU
 J8swJD20Qz2JcvR/BFhuc1UdF1T296LMSfHnXlkFIQ7+jKm9haLJN4Mu2kidRg2bJdVIVcFh
 XM/XysLuPe/21PxNcdKj3+ZUZx2ncAM6/y7PhwrUja+SscoL1LWlM2fTUWRw3rsgCARfVIXY
 v+mnTKXJS9CU8xPlWPuL89EiOND7n1gmQv7GM6qpzz6gev2TCPEEt8tbQrRBt3VGYvZ+m05B
 f4FaZvTo/ieOcWjChTqHXk7dABTciNjVMmo8qS6tIere2JbJY3oMNeJqZtJRmCvt/09ej7g8
 i7vV0lG5kD4gHGbewyGZmo6MOHkXIplrGJ9NispZA76138maIepzaEea5poIuV3qL09laZ5H
 6sfZsGNIvVTUTCbqT4TWobw8d55fxOxiAPQYyf8OGojf4RtThDi88P/ele97zEHCye67JNso
 7Cp2g7Bb4AEQgBuUJTfZP61lgvjtnkBguNiGUDPJ4ALKknr9YFrLQ33j+M2fJ5QeUmSmGPC2
 l/PUxkCpOTLr4sky/XzhPiJ/9WzDu9zPktGBG2Hv7y4AjbXozi4yohaXefWIT2EDDHo+L+vb
 Pl+xu3nNKFVh05DtodxHuo5za864Nez9bZWwh49QSfOZlWvTLhhPmOHzY9EsagUnu1Vvg6/W
 0Su/NhGOOrWZJO5QQBJfAd1PP6e0fw0myXJ6aVnKUr30yZ74b6bXBgAJBKLkiFccON4PY5NL
 T3NYyLKB9hTUiYXD+s=
IronPort-HdrOrdr: A9a23:j1DnpqlCh6uGt1Yhq8Z3g14Ut/zpDfIU3DAbv31ZSRFFG/Fxl6
 iV8sjzsiWE7gr5OUtQ4exoV5PhfZqxz/JICMwqTNKftWrdyQyVxeNZnOjfKlTbckWUnINgPO
 VbAsxD4bXLfCFHZK3BgTVQfexO/DD+ytHLudvj
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="62618912"
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 v9 03/30] build: fix exported variable name CFLAGS_stack_boundary
Date: Tue, 25 Jan 2022 11:00:36 +0000
Message-ID: <20220125110103.3527686-4-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125110103.3527686-1-anthony.perard@citrix.com>
References: <20220125110103.3527686-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Exporting a variable with a dash doesn't work reliably, they may be
striped from the environment when calling a sub-make or sub-shell.

CFLAGS-stack-boundary start to be removed from env in patch "build:
set ALL_OBJS in main Makefile; move prelink.o to main Makefile" when
running `make "ALL_OBJS=.."` due to the addition of the quote. At
least in my empirical tests.

Fixes: 2740d96efd ("xen/build: have the root Makefile generates the CFLAGS")
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Notes:
    v9:
    - new patch

 xen/arch/x86/Rules.mk     | 4 ++--
 xen/arch/x86/arch.mk      | 4 ++--
 xen/arch/x86/efi/Makefile | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/Rules.mk b/xen/arch/x86/Rules.mk
index 56fe22c979ea..7aef93f5f3a0 100644
--- a/xen/arch/x86/Rules.mk
+++ b/xen/arch/x86/Rules.mk
@@ -6,5 +6,5 @@ object_label_flags = '-D__OBJECT_LABEL__=$(subst $(BASEDIR)/,,$(CURDIR))/$@'
 else
 object_label_flags = '-D__OBJECT_LABEL__=$(subst /,$$,$(subst -,_,$(subst $(BASEDIR)/,,$(CURDIR))/$@))'
 endif
-c_flags += $(object_label_flags) $(CFLAGS-stack-boundary)
-a_flags += $(object_label_flags) $(CFLAGS-stack-boundary)
+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 a93fa6d2e4c9..fa7cf3844362 100644
--- a/xen/arch/x86/arch.mk
+++ b/xen/arch/x86/arch.mk
@@ -49,8 +49,8 @@ CFLAGS-$(CONFIG_INDIRECT_THUNK) += -fno-jump-tables
 
 # If supported by the compiler, reduce stack alignment to 8 bytes. But allow
 # this to be overridden elsewhere.
-$(call cc-option-add,CFLAGS-stack-boundary,CC,-mpreferred-stack-boundary=3)
-export CFLAGS-stack-boundary
+$(call cc-option-add,CFLAGS_stack_boundary,CC,-mpreferred-stack-boundary=3)
+export CFLAGS_stack_boundary
 
 ifeq ($(CONFIG_UBSAN),y)
 # Don't enable alignment sanitisation.  x86 has efficient unaligned accesses,
diff --git a/xen/arch/x86/efi/Makefile b/xen/arch/x86/efi/Makefile
index 87b927ed865b..abae493bf344 100644
--- a/xen/arch/x86/efi/Makefile
+++ b/xen/arch/x86/efi/Makefile
@@ -12,7 +12,7 @@ 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)
+$(EFIOBJ-y): CFLAGS_stack_boundary := $(cflags-stack-boundary)
 
 obj-y := stub.o
 obj-$(XEN_BUILD_EFI) := $(filter-out %.init.o,$(EFIOBJ-y))
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 11:01:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 11:01:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260061.449074 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJZb-0006N6-61; Tue, 25 Jan 2022 11:01:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260061.449074; Tue, 25 Jan 2022 11:01:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJZb-0006My-1Y; Tue, 25 Jan 2022 11:01:15 +0000
Received: by outflank-mailman (input) for mailman id 260061;
 Tue, 25 Jan 2022 11:01:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rP4T=SJ=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nCJZY-0006Mn-T8
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 11:01:13 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1a18469e-7dce-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 12:01:11 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1a18469e-7dce-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643108471;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=RbnF+cUWX/zeCYIhklqiVJ9S062lPHa4CENE7SUhk2w=;
  b=T4cFU2pZytaOeY+ibUT8NemjZszeIHB0q7BR7Esng0bkGCpMDHXEUffv
   HX3PXuOOr8UUSCWfQUp35w4H0nzXRHTuknKMX/eQ1lP1YQty4vslKcqaF
   CbIsK6whLQIf1B5GhdGDq8DxtSzzMIx+Iq0TbNdYAgO6Fch5xSTPyiaac
   g=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: ItJ1qdoxRsJcMVJ0a/HsVGxrNdJgESRKpGah2K9CTzILSQ1Eep5IDTL24jzWuHWjHyhoeSuE9V
 HI+NwxOE9R0wKsSx6ga9CkgRrZQRpXj/xDNWrZYNzJSfnw8gL3Qob/K9pU4naJ/hMLQKzwpXFs
 q5pVZUaGuESTEnTJ1bbOqHGyvyw87HED4njsOOjX6oCE/ATjgSwlMNQyXVlBgxRKUkzUR2IklL
 mjxwGzUjo3j5svrrzlarQWIfFNx0RFf4Du98/QJfam7b9AipbFaT93UsGJZldBCDDGlZLX4S7Z
 Fcx0FEocSdQEnxBDOlXsgDob
X-SBRS: 5.2
X-MesageID: 62699827
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:XSGKt6ByhUMe/xVW//Xlw5YqxClBgxIJ4kV8jS/XYbTApGgrgjwFn
 WYeD27QOauOMGWkKYt1PI3koBkBvp7Qm4JhQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMo/u1Si6FatANl1ElvU2zbue6WL6s1hxZH1c+En940087wobVv6Yz6TSHK1LV0
 T/Ni5W31G+Ng1aY5UpNtspvADs21BjDkGtwUm4WPJinj3eH/5UhN7oNJLnZEpfNatI88thW5
 Qr05OrREmvxp3/BAz4++1rxWhVirrX6ZWBihpfKMkQLb9crSiEai84G2PQghUh/sieKp91U8
 st3uJWgEgx1ZLX+ue1FTEwNe81+FfUuFL7vJHG+tYqYzlHccmuqyPJrZK00FdRGoKAtWzgIr
 KFGbmBWBvyAr7veLLaTQ+9whsMlPY/zMZkWoH1IxjDFF/c2B5vERs0m4PcGhmlh15AUQp4yY
 eJHcRZgTwXwbidXHQs4EahnjsisuXvgJmgwRFW9+vNsvjm7IBZK+LvqNsDcdpqVRMFWtkGCr
 2nC8iLyBRRyHMeE1TOP/3aoh+nOtSD2QoQfEPu/7PECqF+Owm0eDjUGWF39puO24ma0XNhVO
 kEP+i4jqKE03EOuR9j5GRa/pRassgYHXttME8Uz8AyX1rfP+AGdG3QFSThaLtchsaceTDgrz
 UOAnsmvCyZmtraUUlqC+rzSpjS3UQAeKmkEYi0IRBUE+PHspYgyilTESdMLOKy/g8DxGDrw6
 yuXtyV4jLIW5eY10KG88UHCkiibjJHDRQ4o5S3aRmugqAh+YeaNd4GurFTW8/tEBIKYVUWa+
 mgJndCE6+IDBo3LkzaCKM0HEau1/f+DPHvZiER2Apg63z23/jioeoU4yDp3PktuP+4PcCXlZ
 0KVsgRUjLdfM3enYrV+S56gAMQti677HJLqUe68RsVKSoh8ckmA5i4GWKKL9zmzyg52y/h5Y
 MrFN5b3ZZoHNUh55AOkRN8Q9IU1/C031TjYGcrj/TWuiaXLMRZ5Vow5GFeJa+k46oaNrwPU7
 8tTOqO29vlPbAHtSnKJqNBOdDjmOVB+XMmr8JIPKoZvNyI7QDlJNhPH/V82l2WJdYxxn/yAw
 HyyU1QwJLHX1SyeclXihpyOhdrSsXdDQZATYHRE0bWAgSFLjWOTAEE3LcdfkV4Pr7QL8BKMZ
 6NZE/hs+9wWItg9xxwTbIPmsKtpfwmxiASFMkKNOWZjJMY8FlOWpI61JmMDERXi6ALt6aPSR
 JX7jmvmrWcrHVw+XK46ltrxp79OgZTtsL0rBBaZSjWiUE7t7JJrO0TMYgwfeKkxxeH47mLCj
 W6+WE5AzcGU+tNd2ISX2cis8tn4e8MjThsyNzSKtt6eaHiFlldPNKcdCo5kixiHCjOtkEhjD
 M0Ip8zB3AovxQYT7NEkQu81lMrTJbLH/tdn8+itJ12TB3zDN1+qCiDuMRBnuvIfy7lHlxGxX
 07TqNBWNa/QYJHuEUILJRpjZeOGjKlGlj7X5PUzAUP7+C4oo+bXDRQMZ0GB2H5HMb94EII52
 uN96sQY3BOy10gxOdGcgyEKq2nVdi4cU78qv40xCZPwjlZ50UlLZJHRU3ek4JyGZ9hWHFMtJ
 zuY2PjLi7hGnxKQeHsvD3ndm+FagM1W6hxNyVYDIXWPm8bE2aBrjEEAr2xvQ10MnBtd0u91N
 mx6DGFPJP2Dr2VymcxOf2GwAAUdVheXzVP8lgkSn2rDQkj2CmGUdD8hOfyA9Vwy+n5HemQJ5
 6mRzWvoXGq4fMz12SduC0dpp+a6EI50/wzG3sumA96ED98xZj+82v2iYm8Bqh3GB8IthRKY+
 bk2rbgoMaCrZzQNp6AbCpWB0eVCQR+JE2VOXPV98f5bBmrbYjyzhWCDJk3Zlhmh/BAWHZtU0
 /BTG/8=
IronPort-HdrOrdr: A9a23:qTRIEquV53bFjPosuvZR9zJM7skDfNV00zEX/kB9WHVpmszxra
 +TdZMgpHrJYVcqKRYdcL+7WZVoLUmwyXcX2/hyAV7BZmnbUQKTRekIh7cKqweQfxEWndQy6U
 4PScRD4aXLfDtHsfo=
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="62699827"
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>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Jan Beulich <jbeulich@suse.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Wei Liu <wl@xen.org>, Ross Lagerwall <ross.lagerwall@citrix.com>, "George
 Dunlap" <george.dunlap@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Daniel De Graaf <dgdegra@tycho.nsa.gov>, "Doug
 Goldstein" <cardoe@cardoe.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Konrad Rzeszutek Wilk
	<konrad.wilk@oracle.com>, Bob Eshleman <bobbyeshleman@gmail.com>, "Connor
 Davis" <connojdavis@gmail.com>, Alistair Francis <alistair.francis@wdc.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [XEN PATCH v9 00/30] xen: Build system improvements, now with out-of-tree build!
Date: Tue, 25 Jan 2022 11:00:33 +0000
Message-ID: <20220125110103.3527686-1-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.34.1
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-v9

v9:
    One new patch (patch 3).
    Otherwise, detailed change logs in patches.

    Removed the rfc part about doing out-of-tree build without setting VPATH
    (which would have allowed mixed in-tree / out-of-tree builds).

v8:
    Mostly rework of v7. With many patch already applied.
    Some detail changes that are spread through many patches:
    - `make cloc` recipe should now work throughout the series, update of it is
      done in 3 patches.
    - new patch "build: fix enforce unique symbols for recent clang version"
      to fix an issue with clang.
    - introducing $(srctree) and $(objtree) earlier
    - introducing $(srcdir) as shortcut for $(srctree)/$(src)
    - introduce usage of -iquote instead of -I in some cases
    More detail change log can be found in patches notes.

    Also this v8 present a work-in-progress of the ability to do out-of-tree
    build without setting VPATH. This is presented as an alternative to force
    use of out-of-tree build. As the last patch show, it allows to build the
    xen-shim without the linkfarm and we don't need to make any other changes
    to any thing that build xen (osstest, distribution packages, xen.git, ...,
    and developers finger macros). The patches are only there as WIP / RFC as
    they were some concern about the usefulness and extra changes needed.
    We can decide whether those changes are good or if this is too much and we
    should force out-of-tree build for the hypervisor.

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.

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.

Cheers,

Anthony PERARD (30):
  build: set XEN_BUILD_EFI earlier
  build: avoid re-executing the main Makefile by introducing build.mk
  build: fix exported variable name CFLAGS_stack_boundary
  build: set ALL_OBJS in main Makefile; move prelink.o to main Makefile
  build: prepare to always invoke $(MAKE) from xen/, use $(obj)
  build: rework test/livepatch/Makefile
  build: rework cloc recipe
  build: fix enforce unique symbols for recent clang version
  build: build everything from the root dir, use obj=$subdir
  build: introduce if_changed_deps
  build: rename __LINKER__ to LINKER_SCRIPT
  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: rework "clean" to clean from the root dir
  build: use main rune to build host binary x86's mkelf32 and mkreloc
  build: rework coverage and ubsan CFLAGS handling
  build,x86: remove the need for build32.mk
  build: grab common EFI source files in arch specific dir
  build: replace $(BASEDIR) by $(objtree)
  build: replace $(BASEDIR) and use $(srctree)
  build: rework "headers*.chk" prerequisite in include/
  build: specify source tree in include/ for prerequisite
  build: shuffle main Makefile
  build: adding out-of-tree support to the xen build

 .gitignore                                   |   2 +
 xen/Kconfig                                  |   4 +-
 xen/Makefile                                 | 367 ++++++++++-------
 xen/Rules.mk                                 | 227 +++++++----
 xen/arch/arm/Makefile                        |  53 +--
 xen/arch/arm/arch.mk                         |   5 +-
 xen/arch/arm/efi/Makefile                    |   4 +-
 xen/arch/arm/include/asm/config.h            |   2 +-
 xen/arch/riscv/arch.mk                       |   2 -
 xen/arch/x86/Makefile                        | 204 ++++------
 xen/arch/x86/Rules.mk                        |   8 +-
 xen/arch/x86/arch.mk                         |  59 ++-
 xen/arch/x86/boot/Makefile                   |  57 ++-
 xen/arch/x86/boot/build32.mk                 |  40 --
 xen/arch/x86/efi/Makefile                    |  11 +-
 xen/build.mk                                 |  90 +++++
 xen/common/Makefile                          |  13 +-
 xen/common/efi/efi-common.mk                 |  16 +
 xen/common/libelf/Makefile                   |   4 +-
 xen/common/libfdt/Makefile                   |   8 +-
 xen/include/Makefile                         |  76 ++--
 xen/scripts/Kbuild.include                   |  69 +++-
 xen/scripts/Kconfig.include                  |   2 +-
 xen/scripts/Makefile.clean                   |  32 +-
 xen/{tools/kconfig => scripts}/Makefile.host |  37 +-
 xen/test/Makefile                            |   7 +-
 xen/test/livepatch/Makefile                  | 213 ++++------
 xen/tools/Makefile                           |  14 +-
 xen/tools/fixdep.c                           | 404 +++++++++++++++++++
 xen/tools/kconfig/Makefile                   |   3 +
 xen/tools/kconfig/Makefile.kconfig           | 106 -----
 xen/tools/kconfig/confdata.c                 |   2 +-
 xen/xsm/flask/Makefile                       |  43 +-
 xen/xsm/flask/policy/mkaccess_vector.sh      |   7 +-
 xen/xsm/flask/ss/Makefile                    |   3 +-
 35 files changed, 1371 insertions(+), 823 deletions(-)
 delete mode 100644 xen/arch/x86/boot/build32.mk
 create mode 100644 xen/build.mk
 create mode 100644 xen/common/efi/efi-common.mk
 rename xen/{tools/kconfig => scripts}/Makefile.host (85%)
 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 Jan 25 11:01:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 11:01:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260064.449107 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJZf-0007As-7f; Tue, 25 Jan 2022 11:01:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260064.449107; Tue, 25 Jan 2022 11:01:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJZf-0007Af-1o; Tue, 25 Jan 2022 11:01:19 +0000
Received: by outflank-mailman (input) for mailman id 260064;
 Tue, 25 Jan 2022 11:01:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rP4T=SJ=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nCJZd-0006t5-Gh
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 11:01:17 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1c8b9c15-7dce-11ec-bc18-3156f6d857e4;
 Tue, 25 Jan 2022 12:01:15 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1c8b9c15-7dce-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643108475;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=8Odm0lfZwBUy94eq9s5SCq6XGFQedtmpRs+w27Wx2GA=;
  b=HNnczxAOKMU1jIcZwnyAiNlUrv2gffDFHyJ10wcEmWDYEZ2+Lp6NWgri
   1QpIL8gvHuEyiHW/Xv8FKxPkiw/6FkeCJmvaptzv1Tlaj7cCoNclOvWJ1
   FpZz99dSjdPcmX8WiPBDaonFjgV2LalQ7zuOya1dTXObKCjtA2UkLuidy
   U=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: SYAv1syzqTicgirW53x02EjUY/SzyZ/HnsrTslbcGhtU3REhJDrcvryrB18JClFArmKX+qLNWY
 522hByYfEgZjwo+VbLbMP+Qz/lTSyV7JhnJ0NwCND4g6U1Ki2LQXiAPfU3eqppjxfJSdpziz19
 r8kvApXvpoBHIVNDn3kwHcBLqxxcX8ohy1BqGt34KAgCtweA0kFBs/23R4Dctn0FH2Yic5yLRJ
 GKGkQ+2NtP57gVoyijTzkt4PhM8BH0FwJQqYNyyE5bHpcfA7jFWvbHJ9QRDprO8azVZpNkEX3g
 8GXPX9nHvH3dh2YI/uWL3f10
X-SBRS: 5.2
X-MesageID: 62699709
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:VdYf7a7UOwh31LiZ+LzRXAxRtMTAchMFZxGqfqrLsTDasY5as4F+v
 moeDW6GMqzYZ2ryfdwgaYSx/EwOsJKEzYdjG1c5+CwzHi5G8cbLO4+Ufxz6V8+wwmwvb67FA
 +E2MISowBUcFyeEzvuV3zyIQUBUjclkfJKlYAL/En03FV8MpBsJ00o5wbZg2NMw2LBVPivW0
 T/Mi5yHULOa82Yc3lI8s8pvfzs24ZweEBtB1rAPTagjUG32zhH5P7pGTU2FFFPqQ5E8IwKPb
 72rIIdVXI/u10xF5tuNyt4Xe6CRK1LYFVDmZnF+A8BOjvXez8CbP2lS2Pc0MC9qZzu1c99Z8
 4hpscS0aD8VD4L8m7wTcgVKDBEuMvgTkFPHCSDXXc27ykTHdz3nwul0DVFwNoodkgp1KTgQr
 7pCcmlLN03dwbLtqF64YrAEasALJc/3PIQZqzd4wCvQF/oOSpHfWaTao9Rf2V/cg+gQR6iPN
 pVBOFKDajyZQwBCHUwOCKkMxti3nH/YKWVjgX+a8P9fD2/7k1UqjemF3MDuUseRWcxfk0Kcp
 2TH12f0GBcXMJqY0zXt2m2orv/Cm2X8Qo16PL+l8v9nhnWDy2pVDwcZPXOrrP/8hkOgVtZ3L
 00P5jFovaU07FasTNT2Q1u/unHslhwWVsdUEuY6wBqQ0aeS6AGcblXoVRYYNoZg7pVvA2V3i
 BnZxLsFGACDrpWuFFaZrrO1lQ+DFhgWdWEjeT0bfVsKtoyLTJ4IsjrDSdNqEaiQh9LzGC3tz
 z3ikBXSl4n/nuZQifzloAmvbyaE48GQE1Vrvlm/sneNs1shDLNJcbBE/rQyARxoCI+CBmeMs
 3Ef8yR1xLBfVMrd/MBhrQhkIV1I2xpnGGCE6bKMN8N4n9hIx5JFVdoMiN2ZDBwxWvvogRezP
 CfuVfp5vfe/xkeCY65teJ6WAM8316XmHtmNfqmKMoEWPskuK1HWrXkGiausM4bFyhREfUYXY
 s/zTCpRJSxCVfQPIMSeGY/xLoPHNghhnDiOFPgXPjys0KaEZW79dFv2GADmUwzN14vd+F+92
 48Gb6OikkwDOMWjPHW/2dNNfDgicChqbbir+pc/XrPSfWJb9JQJVqW5LUUJIdI1xsy4V47go
 xmAZ6Ov4AOv3CKccVTTNCkLhXGGdc8XkE/X9BcEZT6As0XPq671hEvGX5doL7Qh6sJ5yvt4E
 6sMd8maW6wdQTXb4TUNK5L6qdU6JhisgAuPOQujYSQ+IME8F1CYpIe8c1u97jQKAwq2qdA6/
 ++q2DTETMdRXA9lFsvXNq6ilgvjoXgHletudELUOd0PKl70+Y1nJnWp3P86Ks0BMzvZwT6e2
 1rECBsUv7CV8YQ07MPIleaPqILwS7lyGU9THm/667eqNHaFojr/kNEYCOvRJGLTTmL5/qmmd
 N559fCkPa1VhktOvqp9D61vkfA06ezwquII1Q9jBnjKMQimU+syPnmc0MBTnaRR3bsF6xCuU
 0eC99QGa7WEPMTpTAwYKAY/N7nR0PgVnn/Z7OgvIVW87yhypeLVXUJXNhiKqSpcMLoqb991n
 bZ/4JYbu16llx4nEtealSQFpW2DI0sJX7gjqpxHUpTgjRAmyw0abJHRYsMsDEpjtzmY3pEWH
 wKp
IronPort-HdrOrdr: A9a23:GpNp26FPZfC91CaPpLqE1MeALOsnbusQ8zAXPidKOHhom62j5q
 WTdZsgpHzJYVoqOU3I+urvBEDjewK6yXcd2+B4V9qftWHdyQ2VxepZnOnfKlPbexEW39QtrJ
 uJLMNFY+EYd2IUsS9R2njBLz9a+rW6zJw=
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="62699709"
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>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: [XEN PATCH v9 02/30] build: avoid re-executing the main Makefile by introducing build.mk
Date: Tue, 25 Jan 2022 11:00:35 +0000
Message-ID: <20220125110103.3527686-3-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125110103.3527686-1-anthony.perard@citrix.com>
References: <20220125110103.3527686-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 work 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": the variable $(TARGET), so its
assignement is moved to the main Makefile.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---

Notes:
    v9:
    - reviewed
    
    v8:
    - for $(main-targets) rules, use ; on a single line instead of adding a
      recipe with only @:
    - To include build.mk instead of Makefile, use a simpler expresion with
      $(firstword) and remove the use of $(mk-dir) var
    - removed an extra blank line, and one when updating $(targets)
    - reword patch description
    
    v7:
    - new patch

 xen/Makefile | 70 +++++-----------------------------------------------
 xen/Rules.mk |  6 ++---
 xen/build.mk | 61 +++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 69 insertions(+), 68 deletions(-)
 create mode 100644 xen/build.mk

diff --git a/xen/Makefile b/xen/Makefile
index f3ff03a7170e..fb37043d08e0 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -47,6 +47,8 @@ export KCONFIG_CONFIG ?= .config
 
 export CC CXX LD
 
+export TARGET := $(BASEDIR)/xen
+
 .PHONY: default
 default: build
 
@@ -293,11 +295,12 @@ 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 MKRELOC=$(MKRELOC) _$@
+$(main-targets): %: _% ;
 else
+$(main-targets):
 	echo "*** Xen x86/32 target no longer supported!"
 endif
 
@@ -406,67 +409,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) MKRELOC=$(MKRELOC) $@
 
-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 \
-	cat .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' \
-	    < $< > $(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
-	$(if $(filter-out FORCE,$?),$(Q)rm -fv $@)
-	$(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 include -type f -name '*.h' -print; \
diff --git a/xen/Rules.mk b/xen/Rules.mk
index d21930a7bf71..7b8b9047cfd5 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -8,9 +8,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 +33,8 @@ 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
+include $(firstword $(wildcard build.mk) Makefile)
 
 # Linking
 # ---------------------------------------------------------------------------
diff --git a/xen/build.mk b/xen/build.mk
new file mode 100644
index 000000000000..3d7a91df22d1
--- /dev/null
+++ b/xen/build.mk
@@ -0,0 +1,61 @@
+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 \
+	cat .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' \
+	    < $< > $(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
+	$(if $(filter-out FORCE,$?),$(Q)rm -fv $@)
+	$(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 Jan 25 11:01:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 11:01:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260062.449080 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJZb-0006UA-JF; Tue, 25 Jan 2022 11:01:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260062.449080; Tue, 25 Jan 2022 11:01:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJZb-0006S8-FD; Tue, 25 Jan 2022 11:01:15 +0000
Received: by outflank-mailman (input) for mailman id 260062;
 Tue, 25 Jan 2022 11:01:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rP4T=SJ=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nCJZa-0006Mn-3N
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 11:01:14 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1b1576b6-7dce-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 12:01:12 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1b1576b6-7dce-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643108472;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=AnOSnJwU7XBTWsJ/6UnK/xN2yhLgLGPIzUJ+QOu+uf0=;
  b=NMN2vg1SHp0OjgsEniIV4AbxAIxLSgkDolva287hlvlRTJcs7Q65dVP9
   2IljBzGkTST9uMD7B4pcK/FZ1pDKGj9VgVBoRg/zovjb/3omehLLDWY3e
   0GSY3NsmLrafBkIMopA3uZqZokL5Ne9fN3aioptjE951lIjLGU3VGYC08
   A=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: PlAjJtaYJiDGtANVh5yBEAeQgHRJjotC05a2vwE4oLKpqGJeFSfO601sBqiXlj7ZYBU36vTOUI
 c4mX3vduYH0mwmsCcC319zy5iB8uK+m4SuaQcbQDmyXZDiALDDJDlTDANJ23IeEUcViTqWaZ4U
 Ri7sl3dc/JpdkMLAl/FHYe3IoB4lj5b7jFphE+AD8jPLTwRVzfDtPYBwYECstchiBM6QQVuCV5
 BkeZ+KrizHhP6qmX3a0T3sb6kjoNJerl5AI81WFjOZB6hnuFYCTI0NTjqFPltN75DZlmsSI8+R
 tZd/25RtlZCDfA4diW1yZC8/
X-SBRS: 5.2
X-MesageID: 62618907
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:Gt2jD6pSqITHM0oiHQFtd1hNc0VeBmLkYhIvgKrLsJaIsI4StFCzt
 garIBmDOPaDZGLwfIwladm09RgCu5/Sxt42TwJurC88F38V8puZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlZT4vE2xbuKU5NTsY0idfic5Dndx4f5fs7Rh2NQw2ILkW1rlV
 e7a+KUzBnf0g1aYDUpMg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJ8DO+iL
 9sv+Znilo/vE7XBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XnRfTAKtao2zhojx/9
 DlCncSwEzw4Oq/iosYmfjNqGHh8P4Bnw6CSdBBTseTLp6HHW37lwvEoB0AqJ4wIvO1wBAmi9
 9RBdmpLNErawbvrnvTrEYGAhex6RCXvFIoZpnFnyyCfFfs8SIrPa67L+cVZzHE7gcUm8fP2O
 ZBHMGo+NEuojxtnEQclNrYjv8uRpEbuSi0AmEmfmrQP2j2GpOB2+Oe0a4eEEjCQfu1OhVqRr
 G/C+2X/AzkZOcaZxD7D9Wij7sfQmQvrVYRUE6e3ntZonVmSy2o7GBAQE1yhrpGRmkO4Ht5SN
 UEQ0i4vtrQpslymSMHnWB+1q2LCuQQTM/JSGeAn7ACGyoLP/h2UQGMDS1Z8hMcO7ZFsA2Zwj
 xnQwo2vVWcHXKCppWy1rrfOliK2OwYvD1QvTx0PFAkHzvjYv9Rm5v7QdepLHKmwh9zzPDj/x
 TGWsSQz74kuYd43O7aTpg6e3W/1znTdZktsv1iMADr5hu9sTNP9P+SVBU7nAeGsxWpzZn2Ip
 zA6lseX94ji5rndxXXWEI3h8FxEjstp0QEwY3YyR/HNFBz3ohZPmLy8BhkkeC+F1e5fIVfUj
 Lf741852XOqFCLCgVVLS4ywEd826qPrCM7oUPvZBvIXPMQqLFPWo34wNB/It4wIrKTKuftjU
 Xt8WZ30ZUv29Iw9lGbmLwvj+eFDKt8CKZP7GsmgkkXPPUu2b3+JU7YVWGZinchihJ5oVD79q
 o4FX+PTkk03eLSnPkH/rNBPRXhXcylTLc2m+qR/K7/YSiI7ST5JNhMk6e57E2CTt/4Lxr6gE
 7DUchIw9WcTclWeeVzVMSgyMe22NXu9xFpiVRER0Z+T8yBLSe6SAG03LfPbpJErq75uy+BaV
 f4Ad5nSC/hDUG2fqT8ccYP8vMppcxHy3VCCOC+sYT4eeZ98RlOWpo+4L1W3rCReXDCqscYeo
 qG70l+JS5Q0WAk/Xt3db+iizg3tsCFFyv5yRUbBPvJaZF7orNpxMyX0g/Jue5MMJBzPyyG0z
 QGTBRtE9+DBr5VsqIvChLyerpfvGOx7RxIIE27e5LewFC/b4mv8ntMQDLfWJWjQDTqm9r+ja
 ONZy+DHHMcGxFsa4ZBhF7tLzL4l44e9rbFt0Qk5Tm7AaE6mC+08LyDej9VPrKBE2pRQpRCyB
 hCU4tBfNLiEZJHlHVoWKFZ3Z+iPz6hJyDzb7PBzK0Tm/i5nurGAVBwKbRWLjSVcKppzMZ8kn
 rh96JJHtVTnh0p4KMuCgwBV63+Ify4JXKgQv50HBJPm11gwwVZYbJ2AUiL77fljsTmX3pXG9
 tNMuJf/ug==
IronPort-HdrOrdr: A9a23:9WEfe6z7WCaENjuDpgdhKrPwEL1zdoMgy1knxilNoHtuA6ilfq
 GV7ZEmPHDP+VUssR0b+OxoW5PvfZq/z+8T3WB5B97LNmTbUQOTXedfBODZsl/d8kPFltK1/J
 0QCpSXV7bLZmSS9/yU3OATKadZ/DD9ysyVuds=
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="62618907"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH v9 01/30] build: set XEN_BUILD_EFI earlier
Date: Tue, 25 Jan 2022 11:00:34 +0000
Message-ID: <20220125110103.3527686-2-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125110103.3527686-1-anthony.perard@citrix.com>
References: <20220125110103.3527686-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): 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-nr-fixups) as the former might be
a bit too generic.

In order to avoid exporting MKRELOC, the variable is added to $(MAKE)
command line. The only modification needed is in target "build", the
modification target "$(TARGET)" will be needed with a following patch
"build: avoid re-executing the main Makefile by introducing build.mk".

We can now revert 24b0ce9a5da2, we don't need to override efi-y on
recursion anymore.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Notes:
    v9:
    - change $(efi-check) to hold the $(basename ) of check.c, and rename
      the variable from $(efi-check-0).
    - unexport MKRELOC, pass it down via command line instead.
    - remove efi-y override which reverts 24b0ce9a5da2
    
    v8:
    - rename to efi-nr-fixups rather than efi-check-relocs
    - use := when assigning variable in makefile when recursive expansion
      isn't needed.
    - no more check of $(efi-y) value for "CFLAGS-$(XEN_BUILD_EFI) +=
      -DXEN_BUILD_EFI".
    
    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/Makefile          |  4 ++--
 xen/arch/x86/Makefile | 46 ++++++-------------------------------------
 xen/arch/x86/arch.mk  | 42 +++++++++++++++++++++++++++++++++++++++
 3 files changed, 50 insertions(+), 42 deletions(-)

diff --git a/xen/Makefile b/xen/Makefile
index 1e10d9f68080..f3ff03a7170e 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -296,7 +296,7 @@ endif # need-config
 .PHONY: build install uninstall clean distclean MAP
 build install uninstall debug clean distclean MAP::
 ifneq ($(XEN_TARGET_ARCH),x86_32)
-	$(MAKE) -f Rules.mk _$@
+	$(MAKE) -f Rules.mk MKRELOC=$(MKRELOC) _$@
 else
 	echo "*** Xen x86/32 target no longer supported!"
 endif
@@ -404,7 +404,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 -C arch/$(TARGET_ARCH) MKRELOC=$(MKRELOC) $@
 
 quiet_cmd_banner = BANNER  $@
 define cmd_banner
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 8db4cb98edbb..9fc884813cb5 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -121,44 +121,8 @@ $(TARGET): $(TARGET)-syms $(efi-y) boot/mkelf32
 		{ echo "No Multiboot2 header found" >&2; false; }
 	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)
 
 ifeq ($(CONFIG_LTO),y)
@@ -182,13 +146,13 @@ $(TARGET)-syms: prelink.o 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 efi-y= $(@D)/.$(@F).0.o
+	$(MAKE) -f $(BASEDIR)/Rules.mk $(@D)/.$(@F).0.o
 	$(LD) $(XEN_LDFLAGS) -T xen.lds -N prelink.o $(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 efi-y= $(@D)/.$(@F).1.o
+	$(MAKE) -f $(BASEDIR)/Rules.mk $(@D)/.$(@F).1.o
 	$(LD) $(XEN_LDFLAGS) -T xen.lds -N prelink.o $(build_id_linker) \
 	    $(@D)/.$(@F).1.o -o $@
 	$(NM) -pa --format=sysv $(@D)/$(@F) \
@@ -217,8 +181,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
 
@@ -250,14 +216,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 efi-y= $(@D)/.$(@F).0r.o $(@D)/.$(@F).0s.o
+	$(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 $< \
 	                $(@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 efi-y= $(@D)/.$(@F).1r.o $(@D)/.$(@F).1s.o
+	$(MAKE) -f $(BASEDIR)/Rules.mk $(@D)/.$(@F).1r.o $(@D)/.$(@F).1s.o
 	$(LD) $(call EFI_LDFLAGS,$(VIRT_BASE)) -T 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/arch.mk b/xen/arch/x86/arch.mk
index eea320e618b9..a93fa6d2e4c9 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 := arch/x86/efi/check
+
+# Check if the compiler supports the MS ABI.
+XEN_BUILD_EFI := $(call if-success,$(CC) $(CFLAGS) -c $(efi-check).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).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-nr-fixups := $(shell $(OBJDUMP) -p $(efi-check).efi | grep '^[[:blank:]]*reloc[[:blank:]]*[0-9][[:blank:]].*DIR64$$' | wc -l)
+
+ifeq ($(efi-nr-fixups),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-nr-fixups),0)
+EFI_LDFLAGS += --disable-reloc-section
+endif
+endif
+
+endif # $(XEN_BUILD_PE)
+
+export XEN_BUILD_EFI XEN_BUILD_PE
+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 Jan 25 11:01:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 11:01:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260065.449118 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJZj-0007Zq-Kf; Tue, 25 Jan 2022 11:01:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260065.449118; Tue, 25 Jan 2022 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 1nCJZj-0007Zf-GS; Tue, 25 Jan 2022 11:01:23 +0000
Received: by outflank-mailman (input) for mailman id 260065;
 Tue, 25 Jan 2022 11:01:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rP4T=SJ=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nCJZh-0006t5-RC
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 11:01:22 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1f3f0f74-7dce-11ec-bc18-3156f6d857e4;
 Tue, 25 Jan 2022 12:01:19 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1f3f0f74-7dce-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643108480;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=M8det7BVyAZ9jG+uoy51sxW5kTIksATQWQPhjBlsZwM=;
  b=F5Ce8KIPfQ4xBOpnI50ZwfHw8+PLT4pLT0H5dnmkSEi7SFQLIaZWl2HZ
   qRcaRIlhaTYIfV5eAVQAgGrQsJABZP7oqwSEhniXsimQvxzkLtlzSVY2L
   3n7gX87RH5LzO6jlHbbmIoVLSzC5NG5A40YSJntGkKMjFNBr0RPLFz0KT
   0=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: tdR4hJ1Z+P7anKi2iACXwIkYpwxKgrUaEr1Ej05ej/z5/zT7nfPiFCHxEJwco6Nfv/x2Xk+GGk
 EypvSQw95ZCrCl81ZaDxGfaRqaRNQ32Elr1RDrlb9CWNY/JkepizXS4d7ZbPZ6VwNl/jcVcZ7S
 6GIRmGDfAxx5hdBrtV5yf7qy3cbTtNme1d+oeU6YBr04Q2j58qnGPJ4F9mdYNcilP6qMJgqpyt
 +JkwiVuVa2c67nKkmfkEcDYYR9AS5S04CuhzAh950sBXAlqtEOUAVmtHd9tWfiXDJp9gsnZeY9
 txwIXROd2m/RhopNKRGweP33
X-SBRS: 5.2
X-MesageID: 64860812
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:Hspnmqsly/lHO0hFz6Zj1CT6c+fnVPxZMUV32f8akzHdYApBsoF/q
 tZmKWrVa/iLa2L1eYglOYvnoENQ7JTXmtBjHgpp+3syFntE+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZQP0VOZigHtIQMsadUsxKbVIiGHdJZS5LwbZj2NYx24XhWmthh
 PupyyHhEA79s9JLGjp8B5Kr8HuDa9yr5Vv0FnRnDRx6lAe2e0s9VfrzFonoR5fMeaFGH/bSe
 gr25OrRElU1XfsaIojNfr7TKiXmS1NJVOSEoiI+t6OK2nCuqsGuu0qS2TV1hUp/0l20c95NJ
 NplrrCRS1gXLvP1vsMQeAsCKBt7LZ9s9+qSSZS/mZT7I0zudnLtx7NlDV0sPJ1e8eFyaY1M3
 aVGcnZXNEnF3r/ohuLgIgVvrp1LwM3DNYUDunZm3HfBAOwvW5zrSKTW/95Imjw3g6iiGN6AO
 5pHMWo2NnwsZTUQF3oeBb85uN3y3GLObgJ2qUikh/Qotj27IAtZj+G2bYu9lsaxbdpRtlaVo
 CTB5WuRKi8dMNuT2D+U6EWGj+XEnT74cI8KHbj+/flv6HWZy3YPEhQQWR2+qOOgl0+lc9tFL
 gof/S9GhbMp6EWhQ935Xhu5iH2JpBgRX5xXCeJSwBGAzO/Y7hiUAkAATyVdc5o2uckuXzso2
 1SV2dTzClRHsreYVHac/be8ti6pNG4eKmpqTS0ZSQoI5fHzrYd1iQjAJuuPC4bs0IezQ2uph
 WnX8m5u3N3/kPLnyY2g0XHF3Ay8+KHvaQMe9F/sZGe13Cl2MdvNi5OT1XDX6vNJLYC8R1aHv
 WQZl8X20N3iHa1hhwTWHrxTQejBC+KtdWSF3AUxR8VJGyGFpib7Fb289g2SM6uA3iwsXTbyK
 HHetgpKjHO4FCv7NPQnC25d5ilD8EQBKTgHfq2MBjatSsIoHONiwM2ITRTMt4wKuBN0+ZzTw
 b/BLa6R4Y8yUMyLNgaeSeYHyqMMzSsj327VTp2T5035jeHGOC/KFulUYQPmggUFAEWs+lm9H
 zF3bJPi9vmieLemPnm/HXA7czjm0kTX9bip8pcKJ4Zv0yJtGX07Cu+5/F/SU9cNokihrc+Rp
 ivVchYBkDLX3CSbQS3XNCwLQO6xDP5X8CJqVQRxbA3A8yVyPu6SAFI3KsFfkU8PrrIzlJaZj
 pAtJq29Pxi4Ym2XomtGNcik8tUKmdbCrVvmAhdJqQMXJ/ZILzElMPe/Fuc23CVRXCexq+Ukp
 LisilHSTZYZHlwwB8fKcvO/iVi2uCFFyu51WkLJJPhVeVntr9c2e3Cg0KdvLpFeMwjHyxuby
 x2SXUUSq97SrtJn69LOn62F8dukSrMsAkpAEmDHxr+qLi2GrHG7yIpNXb/QLzDQXW/54ou4Y
 uBRw62uOfELhg8S4YF9D6xq3eQ14N62/+1WyQFtHXPqaVW3C+w/finajJcX7qAUn+1Xowq7X
 E6L6+J2A7TRNZO3CkMVKSokcv+HiaMelA7N4KlnO079/iJ2ouaKCB0AIxmWhSVBB7JpK4d5k
 /w5scsb5gHj2BonNtGK0nJd+2iWdyFSVqwmstcRAZPxixptwVZHOMSOBijz6ZCJStNNLkh1f
 WPE2Puc3+xRlhjYbn4+NXnRxu4M150BtSdDwEIGO1nUyMHOgeU63UEJ/Dk6JuiPIs6rDw6n1
 rBXCnBI
IronPort-HdrOrdr: A9a23:4FU4567HOa5OzTrEAAPXwPDXdLJyesId70hD6qhwISY6TiX+rb
 HJoB17726NtN9/YhEdcLy7VJVoBEmskKKdgrNhWotKPjOW21dARbsKheCJrgEIWReOktK1vZ
 0QCpSWY+eQMbEVt6nHCXGDYrQd/OU=
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="64860812"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH v9 04/30] build: set ALL_OBJS in main Makefile; move prelink.o to main Makefile
Date: Tue, 25 Jan 2022 11:00:37 +0000
Message-ID: <20220125110103.3527686-5-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125110103.3527686-1-anthony.perard@citrix.com>
References: <20220125110103.3527686-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, then 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 to use "$<" 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:
    v9:
    - set ALL_OBJS and ALL_LIBS on make command line instead of exporting
      them.
    - arm/Rules.mk, have one rule instead of two for head.o
    - fix typo in title
    
    v8:
    - rebased
    - move Arm specific dependencies between $(ALL_OBJS) objects (head.o)
      into Arm specific "Rules.mk" instead of the common "build.mk".
    
    v7:
    - change, now things are in build.mk: no more prepare phase needed

 xen/Makefile          | 12 +++++++++++-
 xen/Rules.mk          | 13 -------------
 xen/arch/arm/Makefile | 31 ++++---------------------------
 xen/arch/arm/Rules.mk |  4 ++++
 xen/arch/arm/arch.mk  |  2 ++
 xen/arch/x86/Makefile | 29 ++++++-----------------------
 xen/arch/x86/arch.mk  |  2 ++
 xen/build.mk          | 18 ++++++++++++++++++
 8 files changed, 47 insertions(+), 64 deletions(-)

diff --git a/xen/Makefile b/xen/Makefile
index fb37043d08e0..d953dc50ac6a 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -285,6 +285,16 @@ 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
 
 # define new variables to avoid the ones defined in Config.mk
@@ -407,7 +417,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) MKRELOC=$(MKRELOC) $@
+	$(MAKE) -f $(BASEDIR)/Rules.mk MKRELOC=$(MKRELOC) "ALL_OBJS=$(ALL_OBJS-y)" "ALL_LIBS=$(ALL_LIBS-y)" $@
 
 SUBDIRS = xsm arch/$(TARGET_ARCH) common drivers lib test
 define all_sources
diff --git a/xen/Rules.mk b/xen/Rules.mk
index 7b8b9047cfd5..77d359bedaf8 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -8,25 +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 d0dee10102b6..14952275772b 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -75,14 +75,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
@@ -98,33 +90,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/Rules.mk b/xen/arch/arm/Rules.mk
index e69de29bb2d1..c6463a433efd 100644
--- a/xen/arch/arm/Rules.mk
+++ b/xen/arch/arm/Rules.mk
@@ -0,0 +1,4 @@
+# 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 ;
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 9fc884813cb5..a830b5791e8b 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -123,37 +123,20 @@ $(TARGET): $(TARGET)-syms $(efi-y) boot/mkelf32
 
 CFLAGS-$(XEN_BUILD_EFI) += -DXEN_BUILD_EFI
 
-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 \
@@ -206,7 +189,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
@@ -235,7 +218,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 fa7cf3844362..bfd5eaa35f25 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 3d7a91df22d1..af1b28311393 100644
--- a/xen/build.mk
+++ b/xen/build.mk
@@ -59,3 +59,21 @@ arch/$(TARGET_ARCH)/include/asm/asm-offsets.h: asm-offsets.s
 	  sed -rne "/^[^#].*==>/{s:.*==>(.*)<==.*:\1:; s: [\$$#]: :; p;}"; \
 	  echo ""; \
 	  echo "#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 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 Jan 25 11:01:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 11:01:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260066.449127 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJZk-0007r0-UX; Tue, 25 Jan 2022 11:01:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260066.449127; Tue, 25 Jan 2022 11:01:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJZk-0007qC-Q3; Tue, 25 Jan 2022 11:01:24 +0000
Received: by outflank-mailman (input) for mailman id 260066;
 Tue, 25 Jan 2022 11:01:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rP4T=SJ=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nCJZj-0006Mn-El
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 11:01:23 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 20c40fb2-7dce-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 12:01:21 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 20c40fb2-7dce-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643108481;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=i0oyy+xKuS3Z/jMCxCUhGFl0CUdFaE9LwKV/ozLJibE=;
  b=Pb0JxFlp2eBYMLFeHS+VZENMbK2HPdK7W1C7wLkblVci9SayR5gR8CWi
   AQQIopq68LQ/1Wp24XCmlsOHs8cm5a2G+Qs+q0i0yYg8VqwGWyYAFZRK8
   X6nYI4mehnWKauoebr5uAGytw+Yx0ztfikisLhPxWv3sFgObzOrQbC9Mu
   E=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: M1opyXUW/lY2VsRHvf3fR5MCLALfpOQRo4ZUo3+82t1Pl78MmmwzysVzikFdIaDOAYRjrU406Z
 Z7lE47++FiEzFWSTNziFoN68/X4Z7UMOHSKtGScKNyM/u+9NN0CiAK84OkEzQahvqpymY5pHAs
 cyPjyAEgW/baz6Tl9W4iNNFoTqGjxsyDo5yPMa1WbnoL2ExvEeXcWXUDugB1356xTpNGfVAfO9
 h+H4r4hF3JGw9XDFPFpKtrJ9Mk0WhFm3SOkvx2y6RGm8HhygxmSW/LigRe1iktPwdUIpvzVqoD
 xDRUrnx49vpZER9gSz9Bu7Wq
X-SBRS: 5.2
X-MesageID: 62618927
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:ryN2vaKScK8/LrQtFE+Ro5MlxSXFcZb7ZxGr2PjKsXjdYENSgmNTz
 mtJCjiCPvqOYjH3Kd1/PdixpkIDv5XUz9A3SlBlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokcxIn5BC5C5xZVG/fjgqoHUVaiUakideSc+EH170Us5xrZg6mJVqYPR7z2l6
 IuaT/L3YDdJ6xYsWo7Dw/vewP/HlK2aVAIw5jTSV9gS1LPtvyB94KYkDbOwNxPFrrx8RYZWc
 QphIIaRpQs19z91Yj+sfy2SnkciGtY+NiDW4pZatjTLbrGvaUXe345iXMfwZ3u7hB2m2PtWw
 cxzjqaBZhUVA5z1o8IDejNXRnQW0a1uoNcrIFC6uM2XiUbHb2Ht07NlC0Re0Y8wo7gtRzsUr
 LpBdW5LPkvra+GemdpXTsFlgNgjK8/6epsSoHh6wRnSDOo8QICFSKLPjTNd9Glq2JkeTKyBD
 yYfQSMxUgzGOgRrBgwWOZ4Gl8yC12DTeCIN/Tp5ooJoujOOnWSdyoPFDt3RfdCbQNRPqWyRr
 GnG4mfRDwkTMZqUzj/t2m2orv/Cm2X8Qo16PLe17OJwiVufgGkaEgQLVECTqOO8zEW5Xrp3J
 1QP/ysyrYA77EGxUsTmRBq8vWKFuRgHHdFXFoUS5A6Bx6XO6i6FF2MESXhHc9Vgu8goLRQo3
 FKUm9LiBRR0raaYD3ma89+8vT60fCQYM2IGTSsFVhcepcnuppkpiRDCRcolF7S65vX3Fiv5x
 zSipS03lbIVy8UM0s2T5kvbijihopzISA8d5QjNWG+hqARja+aNZZGs6FXdxeZNKsCeVFbpg
 ZQfs5HAtqZUV8jLzXHTBrVWdF202xqbGBKbqnlmBqcazQWC6UKeTLlrxi9XDkg8Z67oZgTVS
 EPUvApQ4rpaM32rcbJ7buqNNig68UTzPY+7D66JN7KidrA0LVbap382OSZ8ykiwyBBErE0pB
 XuMnS9A514+AL8v8je5Tvx1PVQDlnFnnjO7qXwWIn2aPVuiiJy9FO9t3LimNLlRAEa4TOP9q
 Yo32yyikE03bQEGSnOLmbP/1HhTRZTBObj4qtZMasmIKRd8FWcqBpf5mO19INQ5zvsKyLaZp
 hlRv3O0LnKl2RUrzi3RMhhehE7HB84j/RrXwwRyVbpX55TTSdn2t/pOH3fGVbIm6PZi3ZZJo
 wotIK297gB0Ym2foVw1NMClxKQ7LUjDrV/QY0KNPWZuF7Y9F12h0oK1JWPHqXhRZhdbQONj+
 dVMICuBH8paL+mjZe6LAM+SI6SZ5ChEx7kqDhKWe7G+uizEqeBXFsA4tddvS+lkFPkJ7mbyO
 9++DUhKqO/TjZUy9dWV16mIo53wS7l1H1ZAHnmd5rGzbHGI8m2myI5GceCJYTGCCz+kpPT8P
 b1Yn6PmLfkKvFdWqI4gQbxl+r0zuon0rLhAwwU6QHiSNwa3CqltK2Wt1NVUsvEf3adQvAa7A
 xrd+tRTNbiTFtniFVodeFgsYuiZjKlGkTjO9/UlZk794XYvrraAVExTOTiKiTBcc+QpYN90n
 795tZdPuQKlixcsPtKXtQxu9jyBfi4aTqEqlpAGG4u32AAl/U5PPM7HASjs7ZDRN9gVahs2I
 iWZjbbpjqhHwhaQaGI6EHXA0LYPhZkKvxwWnlYOK07Qx4jAj/4zmhZQ7S42XkJeyRAei7B/P
 W1iNktUI6SS/mg32JgfDj70QwwRVgeE/kHRykcSkDyLRkalYWXBMWkhNLvf50se6W9dImBW8
 bzwJLwJito2kBUdBhcPZHM=
IronPort-HdrOrdr: A9a23:55sZsKB+adQUZb7lHemU55DYdb4zR+YMi2TC1yhKJyC9Ffbo8f
 xG/c5rrSMc5wxwZJhNo7y90ey7MBbhHP1OkO4s1NWZLWrbUQKTRekIh+bfKn/baknDH4ZmpN
 5dmsNFaeEYY2IUsS+D2njbL+od
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="62618927"
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>, Julien Grall <jgrall@amazon.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
	"Julien Grall" <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	"Bertrand Marquis" <bertrand.marquis@arm.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 v9 05/30] build: prepare to always invoke $(MAKE) from xen/, use $(obj)
Date: Tue, 25 Jan 2022 11:00:38 +0000
Message-ID: <20220125110103.3527686-6-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125110103.3527686-1-anthony.perard@citrix.com>
References: <20220125110103.3527686-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>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---

Notes:
    v8:
    - acked
    - rebased

 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                    | 44 +++++++++++------------
 xen/scripts/Makefile.clean              |  5 ++-
 xen/xsm/flask/Makefile                  | 36 +++++++++----------
 xen/xsm/flask/policy/mkaccess_vector.sh |  7 ++--
 12 files changed, 103 insertions(+), 94 deletions(-)

diff --git a/xen/Rules.mk b/xen/Rules.mk
index 77d359bedaf8..60d1d6c4f583 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
-include $(firstword $(wildcard build.mk) Makefile)
+include $(firstword $(wildcard $(src)/build.mk) $(src)/Makefile)
 
 # Linking
 # ---------------------------------------------------------------------------
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 14952275772b..c993ce72a341 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -90,18 +90,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 \
@@ -111,13 +111,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 a830b5791e8b..db97ae8c07f0 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -81,7 +81,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 \
@@ -112,8 +112,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; }
@@ -123,27 +123,27 @@ $(TARGET): $(TARGET)-syms $(efi-y) boot/mkelf32
 
 CFLAGS-$(XEN_BUILD_EFI) += -DXEN_BUILD_EFI
 
-$(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 $@
@@ -162,25 +162,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 :=
@@ -189,25 +189,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
@@ -219,14 +219,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
@@ -240,14 +240,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 d2eb277d428f..0aec8a464364 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 \
 	       $(BASEDIR)/include/xen/kconfig.h \
 	       $(BASEDIR)/include/generated/autoconf.h
 
@@ -14,10 +14,10 @@ RELOC_DEPS = $(DEFS_H_DEPS) \
 	     $(BASEDIR)/include/xen/const.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) build32.lds
-	$(MAKE) -f build32.mk $@ CMDLINE_DEPS="$(CMDLINE_DEPS)"
+$(obj)/cmdline.S: $(src)/cmdline.c $(CMDLINE_DEPS) $(src)/build32.lds
+	$(MAKE) -f build32.mk -C $(obj) $(@F) CMDLINE_DEPS="$(CMDLINE_DEPS)"
 
-reloc.S: reloc.c $(RELOC_DEPS) build32.lds
-	$(MAKE) -f build32.mk $@ RELOC_DEPS="$(RELOC_DEPS)"
+$(obj)/reloc.S: $(src)/reloc.c $(RELOC_DEPS) $(src)/build32.lds
+	$(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 abae493bf344..e08b4d8e4808 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 95daa8a28975..d2f5a956a11a 100644
--- a/xen/include/Makefile
+++ b/xen/include/Makefile
@@ -39,57 +39,57 @@ 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)
+public-$(CONFIG_X86) := $(wildcard $(src)/public/arch-x86/*.h $(src)/public/arch-x86/*/*.h)
+public-$(CONFIG_ARM) := $(wildcard $(src)/public/arch-arm/*.h $(src)/public/arch-arm/*/*.h)
 
 .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-y))
+PUBLIC_HEADERS := $(filter-out $(src)/public/arch-% $(src)/public/dom0_ops.h, $(wildcard $(src)/public/*.h $(src)/public/*/*.h) $(public-y))
 
-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; \
@@ -97,7 +97,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)\"                                          \
@@ -107,7 +107,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;                                                     \
@@ -116,7 +116,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 $@
@@ -126,7 +126,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 8582ec35e4da..c3b0681611da 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 11c530dcf458..51fd37f6c4d5 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) POLICY_FILENAME=$(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 Jan 25 11:01:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 11:01:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260070.449140 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJZs-0000DB-Jl; Tue, 25 Jan 2022 11:01:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260070.449140; Tue, 25 Jan 2022 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 1nCJZs-0000Cm-Fj; Tue, 25 Jan 2022 11:01:32 +0000
Received: by outflank-mailman (input) for mailman id 260070;
 Tue, 25 Jan 2022 11:01:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rP4T=SJ=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nCJZr-0006t5-1h
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 11:01:31 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 24d23da9-7dce-11ec-bc18-3156f6d857e4;
 Tue, 25 Jan 2022 12:01:29 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 24d23da9-7dce-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643108489;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=sNl4bPmX9dTS+5YDZmdya9oiB0ABpA/UdxR4bIH2cNY=;
  b=U50OhF7Td8R3dIsR1Bfgiq2WNn94S2QOApmtr1ZCfwWByD1D50KBpORg
   YohDq87B1PZzOfGuoH3cOaTri9pHkXQjdj+zadjd5OuJ0M06HtGySmxKT
   BqzklWY7V+krdZmIqjqEY+a8NO8Sm4bXF+x74kFNuSXyVMs4Ceh+rk4ZP
   4=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: DK+UA1nPvpgmZd2q6KdNxUmlG80r+IMo4+HJgNSOX6ZvNfGUhoKjz/HcRDbr2zUlDCAH/BVHmb
 60eub6i1sjFRCPPbnoIlayhOfY1gGcKp/CMBl79EUrdBSqW+Hoal7ZWSAnjxQ8WGTvKFL2qDqr
 LQN5+V6b8uwFNfmsvUxw0idVCYAatb0P+7IKIjpzXkenuxMiKo/oVVw5jLitf+7djdFtu8D3hX
 k7B/1VSvqpbFpZGSUxmwAL+jOcCpUq9c1j0RLoVyAwV1f1m6PO30oK5HTA0BDCshwyDLvz4vqb
 DQbrqZezrDB0x2gp29/WZYWp
X-SBRS: 5.2
X-MesageID: 64860825
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:tWSijq+NkRTYF+Int3YCDrUDFHmTJUtcMsCJ2f8bNWPcYEJGY0x3z
 jcZUG7TOvaPZGf0e490OoSy9UsPsMWEyNU1GlQ+pCo8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7dj39Yx6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPhX5
 o0Skq68UT43FfXcybkMdTR5TQVHaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguwqKtXrO4UO/Glt1zjDAd4tQIzZQrWM7thdtNs1rp4STaiGN
 5BEAdZpRCvgOUAfH2olNLAZv+akqFPwKTQDsHvA8MLb5ECMlVcsgdABKuH9YceWTM9YmkKZo
 GPu/GnjBBwectuFxlKt7XaEluLJ2yThV+o6F7q+7PdmxkKSwm87DwcfXl+25/K+jyaWS99Zb
 kAZ5Ccqhawz71CwCMnwWQWip3yJtQJaXMBfe8U44gyQzqvf4y6CG3MJCDVGbbQOttIyRDEs/
 k+EmZXuHzMHjVGOYSvDrPHO92r0YHVLaz9ZDcMZcecby//N+N4UvB7Xd8hISL7k08zTNBCu5
 wnf+UDSmI4vpcIM0qy6+3XOjDStuoXFQ2YJ2+nHYo62xlgnPdD4PuRE/XCetK8dd9jBEjFtq
 VBZw5D20QwYMX2aeMVhqs0pFarh2fuKOSa0bbVHT8h4rGTFF5JOkOltDNBCyKVBb55sldzBO
 ha7VeZtCHl7ZifCgUhfONrZNijS5fK8fekJr9iNBja0XrB/dRWc4AZlblOK0mbmnSAEyP9jY
 s/HIJnzUydLUcyLKQZaoc9HjdfHIQhlnQvuqW3TlUz7gdJymlbLIVv6DLd+Rr9gt/7VyOkk2
 91eK9GL231ivB7WOUHqHXooBQlSdxATXMmuw+QOL7LrClc4RAkJVqGAqZt8K90Nt/kEzY/go
 yDiMnK0PXKi3xUr3y3QNCA6AF4uNL4ixU8G0dsEZAbxhCN7MN/xtc/ytfIfJNEayQCq9tYsJ
 9FtRilKKq0npu3v92tPYJ/jgpZlcRj31wuCMzD8OGo0foJ6RhyP8djhJ1O9+C4LByuxlM0/v
 7z/iV+LHctdH1xvXJTMdfai71KtpnxByuh8aFTFf4tIc0L2/Yk0dyGo1q0rI9sBIAnozyeB0
 1rEGg8RoOTA+tdn8NTAia2egZ2uFu9yQhhTE2XBtO7kPijG5Guzh4RHVb/QLzzaUWr1/oSkZ
 PlUkK6gYKFWwg4SvtMlQbhxzK8469/+nJNgz1xpTCfRclCmKrJ8OX3aj8NBgbJAm+1CsgysV
 0PRptQDYeeVONnoGUI6LRY+arjRzukdnzTf4KhnIEj+4yMrrrOLXV8LYkuJgS1ZarB0LJkk0
 aEqv8tPs16zjR8jM9CniCFI9jvTcixcAvt/7pxKUpX2jgcLy01ZZc2OAyD715iDdtFQPxR4O
 TSTnqfD2+xRy0eqn6DfzpQRMT6xXagzhS0=
IronPort-HdrOrdr: A9a23:DiU0JqGbxt1IVw+QpLqE4seALOsnbusQ8zAXP0AYc3Nom6uj5q
 WTdZUgpHjJYVkqOU3I9ersBEDiewK/yXcW2+ks1N6ZNWGM0ldARLsSibcKqAePJ8SRzIJgPN
 9bAstDNOE=
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="64860825"
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>, 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 v9 06/30] build: rework test/livepatch/Makefile
Date: Tue, 25 Jan 2022 11:00:39 +0000
Message-ID: <20220125110103.3527686-7-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125110103.3527686-1-anthony.perard@citrix.com>
References: <20220125110103.3527686-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, and rename
it to "multi-depend".

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---

Notes:
    v9:
    - half acked, still need "livepatch" maintainer ack.
    
    v8:
    - rename multi_depend to multi-depend
    - use $() for single-letter make variable
    - re-indent one line

 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 f75d724ed7fd..73caf238d42c 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..69fadccd01ea 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 Jan 25 11:01:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 11:01:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260072.449150 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJZt-0000WP-Uo; Tue, 25 Jan 2022 11:01:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260072.449150; Tue, 25 Jan 2022 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 1nCJZt-0000VF-QR; Tue, 25 Jan 2022 11:01:33 +0000
Received: by outflank-mailman (input) for mailman id 260072;
 Tue, 25 Jan 2022 11:01:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rP4T=SJ=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nCJZs-0006t5-3D
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 11:01:32 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 26917dcc-7dce-11ec-bc18-3156f6d857e4;
 Tue, 25 Jan 2022 12:01:30 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 26917dcc-7dce-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643108491;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=tjCJsGpTJwkX9QPSIkgzC8qbhSpsXT5gJ2Q/ukX+uwo=;
  b=h2H21DcbcpZ0zTjanvqe6xSPyECwQ4c8sapGLQ8th06kCP9o0eQWrBYQ
   dM8BMNj/k5kYUrYIRFm9JfiKUfgO7cA04fUfjPDJfXUmaEjNKEEyvIUeE
   cy17Lx5ibC1RYT2B5dVNI3pVIltvTPjXDA3J86kXc4ZtUq4MVvkIbSAh4
   Q=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: NtsLjjrdj9hPcGsdnFY8PJKFM2i5xELmVlA0+3s0vj3JFOnztbnpPRgBNwZrw8ebzViEt0DDdR
 SPyTdw4Sb/pHBl0/SrpGjKU0H0HHRAeHnDoctYyEXiaUbfAPr7ZlPvmsO2zJH7jCV4AA5LNtHY
 j1NNxZmKVvgp/zXBvBzu/5SEz9oqDid/m5IDf+mxQ1D3gYV/pMgNLeN7IVvni4Zu39z1jTSmCB
 +eAOxXFrohnDAGMs02yDRqap9+I/lkOBtd+Iuy18kGJI6M3lryzLty1UVz6ThECSqrc8BOcMyQ
 Yllp7LZfcaS/x5M8RrwH46a8
X-SBRS: 5.2
X-MesageID: 64860826
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:+pfh7aibXfA2Km5e4+tRgMcqX161nBcKZh0ujC45NGQN5FlHY01je
 htvDG6PbPfcNGLxc9xxbYvkoU8PvJCEydMySARtriA9Eigb9cadCdqndUqhZCn6wu8v7a5EA
 2fyTvGacajYm1eF/k/F3oAMKRCQ7InQLlbGILes1htZGEk0GE/NtTo5w7Rj2tcy3IDga++wk
 YiaT/P3aQfNNwFcagr424rbwP+4lK2v0N+wlgVWicFj5DcypVFMZH4sDfjZw0/DaptVBoaHq
 9Prl9lVyI97EyAFUbtJmp6jGqEDryW70QKm0hK6UID66vROS7BbPg/W+5PwZG8O4whlkeydx
 /1rm8TvbjUlJpTSs7wNAkRJNQxfY4l/reqvzXiX6aR/zmXDenrohf5vEFs3LcsT/eMf7WNmr
 KJCbmpXN1ba2rzwkOnTpupE36zPKOHiOp8fvXdxiynUF/88TbjIQrnQ5M8e1zA17ixLNaiCN
 5RBOWAxBPjGSyBIF1QrIaMkpcCho1TgcyZXrFKKpZNitgA/yyQuieOwYbI5YOeiXt5Jl0yVo
 mbH+WXRARwAMtGbjz2f/RqEmevnjS79HoUIG9WQ9ONugVCV7nweDlsRT1TTiem0jAuyVsxSL
 2QQ+zEytu4i+UqzVN7/Uhak5nmesXY0WdBdDuk74wGl0bfP7kCSAW1sc9JaQIV47olsH2Vsj
 wLX2YOybdByjFGLYVSzruiznz+qADY+dX9TOD4iYCpbx+C29enfkSnzZtpkFae0iPj8Fjfx3
 y2GoUACulkDsSIY//7lpA6a2lpAsrCMF1dovVuPAgpJ+yskPNbNWmC+1bTMAR+sxq69R0LJg
 nULktP2AAsmXcDUz3zlrAng8diUCxe53N/03AYH83oJrW3FF5ufkWZ4um0WyKBBaZ5sRNMRS
 BWP0T69HbcKVJdQUYd5YpiqF+MhxrX6GNLuW5j8N4QSOcAtJVDYonA/PSZ8OlwBdmB2zcnT3
 r/AKa6R4YsyU/w7nFJauc9DuVPU+szO7TyKHs2qp/hW+bGfeGSUWd843KimNYgEAFe/iFyNq
 b53bpLSoz0GCbGWSnSJreY7cA5bRVBmVcGeg5EGLYarf1s5cFzN/teMm9vNjaQ/wfQM/goJl
 1ngMnJlJK3X3C2edl7SOyk9MdsCn/9X9BoGAMDlBn7ws1BLXGplxP13m0IfceZ1+ep94+RzS
 vVZKcyMDu4WEmbM+igHbIm7p4tnLUz5iQWLNiujQT4+Y58/GFCZpo66JlPipHsUEy66lcoiu
 Ln8hAnVdoUOGlZ5B8HMZfPxk17o5SoBmPh/VlfjK8VIfBm+65BjLiH816dlI8wFJRjZ6CGd0
 gKaXUURqeXX+tdn+9jVn6GU6YyuFrImTEZdGmDa65ewNDXboTX/kdMRDr7QcGmEBm3u+aika
 eFE9N3GMaUKzARQro5xM7d31qZitdHhkKBXk1Z/F3LRYlX1Vr45eiua3dNCv7Fmz6NCvVfkQ
 VqG/9RXNOnbOM7hF1JNdgMpYv7aiKMRkzjWq/80PF/79Gl8+7/eCRdeOByFiSp8KrppMdx6n
 bd96ZBOswHv2AA3NtumjzxP8zXeJ3MNZKwrq5UGDdK5kQEs0FxDPcTRByKeDEtjsDmQ3p3G+
 gOpuZc=
IronPort-HdrOrdr: A9a23:9mA72KwJNG/62/QqW6hKKrPwJr1zdoMgy1knxilNoRw8SKOlfq
 eV7ZEmPH7P+VEssR4b+OxoVJPsfZq+z+8W3WByB9eftWDd0QPCRr2KhbGSpwEIcBeRygcy78
 tdmtBFeb7NMWQ=
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="64860826"
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>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: [XEN PATCH v9 07/30] build: rework cloc recipe
Date: Tue, 25 Jan 2022 11:00:40 +0000
Message-ID: <20220125110103.3527686-8-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125110103.3527686-1-anthony.perard@citrix.com>
References: <20220125110103.3527686-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

We are going to make other modifications to the cloc recipe, so this
patch prepare make those modification easier.

We replace the Makefile meta programming by just a shell script which
should be easier to read and is actually faster to execute.

Instead of looking for files in "$(BASEDIR)", we use "." which is give
the same result overall. We also avoid the need for a temporary file
as cloc can read the list of files from stdin.

No change intended to the output of `cloc`.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---

Notes:
    v9:
    - acked
    
    v8:
    - rework cloc patch, move it ahead of problematic changes
      this is only a convertion to shell script with a single other change.

 xen/Makefile | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/xen/Makefile b/xen/Makefile
index d953dc50ac6a..ec24856a5d46 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -473,14 +473,12 @@ _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.d' | while read f; do \
+	    for sf in $$(grep -o "[a-zA-Z0-9_/-]*\.[cS]" $$f); do \
+		sf="$$(dirname $$f)/$$sf"; \
+		test -f "$$sf" && echo "$$sf"; \
+	    done; \
+	done | cloc --list-file=-
 
 endif #config-build
 
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 11:01:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 11:01:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260073.449157 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJZu-0000dE-Ng; Tue, 25 Jan 2022 11:01:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260073.449157; Tue, 25 Jan 2022 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 1nCJZu-0000aH-Aw; Tue, 25 Jan 2022 11:01:34 +0000
Received: by outflank-mailman (input) for mailman id 260073;
 Tue, 25 Jan 2022 11:01:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rP4T=SJ=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nCJZs-0006t5-PB
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 11:01:32 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 26246b71-7dce-11ec-bc18-3156f6d857e4;
 Tue, 25 Jan 2022 12:01:31 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 26246b71-7dce-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643108491;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=TsXcnBKYbccVmeII/8T5tHLE3sOCUvbLSaaju2n5u0A=;
  b=a2GW1CTlR+dBuuI/Vd31T0+0/AQ44p3fzDiYULtsNMBUONYySY9HEqpg
   XO+ENyZte8QlO10hWb36r+1PWPtrGfILEItmi/ii/R/Zbuj8KYuLyPK1E
   loNzBEuaSdnpLiKvxZ0nxNf2z6UvHvjcY3E/RudBFmreHh9w+H0ge8/Xg
   w=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: zZ3H5sbzZ05nXNIp5JqaX6rziwDlaETU/PX2Nve0EbsaGzzRJ/UAewF8tgWWpKV8yB69rlrEdH
 KWwie0BeHWxIvazj0jDQY0vHkD1pzym7sV9DcSQsuv2AZx4PnZtxWSKzbBt74F1bV30A572mJg
 rJ8gSTLmRlr3UPxOpfSOEgZLxs5MEVg8z/meNaCBfAiWrothYqvmyMmh7bCaQDtXYXAMsc5yG+
 WUlkatkvZfhwiOywa8Gtj7l55XMGGhzI+y+mvlYpt6axXiIPvKXT5J9GzMJENKhUhQLcI/7Bzo
 c6d6xsn7uOnd1Er3tzjETIAl
X-SBRS: 5.2
X-MesageID: 64860828
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:WJz17a+AXpnmPdaGGK75DrUDfHmTJUtcMsCJ2f8bNWPcYEJGY0x3y
 GofCzyDPfrYazbxLdojao+woUMDuJDVz4cyQVY6+Hw8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7dj39Yx6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPhKl
 9VqtLKwQD0JBYvnp8UfUQVlAixXaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguwqKtXrO4UO/Glt1zjDAd4tQIzZQrWM7thdtNs1rp4STaiGN
 5BJAdZpRA//ekYeY15GMsgdhOGOrUHmS2ZjqnvA8MLb5ECMlVcsgdABKuH9YceWTM9YmkKZo
 GPu/GnjBBwectuFxlKt7XaEluLJ2yThV+o6FqC89/NsqE2ewCoUEhJ+fUu2p7y1h1CzX/pbK
 lcI4Ww+oK4q7kupQ9LhGRqirxasvBQRRt5RGO0S8xyWx+zf5APxO4QfZmcfMpp87pZwHGF0k
 A/S9z/0OdBxmIbKSVWc2LedlxOJHwMqDG0AeRIVQCJQtrEPv7oPph7IS99iFou8gdv0BSz8z
 li2kcQuu1kApZVVjvvmpDgrlxrp/8GUFVBtum07S0r4tlsRWWKzW2C/BbE3B95kJZ3RcFSOt
 WNsdyO2vLFXVsHleMBgrYww8FCVCxStbWW0bb1HRcBJG9GRF5iLJ9w4DNZWfx8BDyr8UWW1C
 HI/QCsIjHOpAFOkbLVsf6W6ANkwwK7rGLzND66INYISM8cuKl7WpEmCgHJ8OUi3zCDAdolkY
 f+mnTuEVy5GWcyLMhLoLwvi7VPb7n9nnj6CLXwK5x+mzaCfdBaopUQtazOzghQCxPrc+m39q
 o8HX+PTkkk3eLCgPkH/rNBCRXhXfSlTLc2n8KR/K7/cSjeK7Ul8UZc9N5t7Jdw890mU/8+Vl
 kyAtrhwkQqm2iafeFzUMxiOqtrHBP5CkJ7yBgR0VX7A5pTpSd/HAH43e8RlcL852vZkyPIoH
 fAJd9/ZWqZESyjd+iRbZp749dQweBOujAOIHiykfDlgIMIwG12XoofpLln16S0DLiurrs9i8
 beu4RzWHMgYTAN4AceINP/2lwGtvWIQkf5ZVlfTJoUBY13l9YVncnSjjvI+L8wWBw/Ewz+Wi
 1SfDRsC/LGfqI4p6tjZw6uDqt7xQed5G0NbGUjd7Kq3anaGrjbyn9cYXb/RLz7HVW7y9KGzX
 slvzqnxYK8dgVJHk4tgCLI3n6gw0MTi+u1BxQN+EXSVM1nyUuF8ImOL1NVkv7FWwuMLohO/X
 0+C94UIObiNP8+5QlcdKBB8M7aG3PAQ3DLT8e40MAPx4youpOiLVkBbPh+tji1BLeQqbNN5k
 Ll54MNGuRaijhcKM8qdinEG/muBGXUMTqE7u8xIG4TskAcqlglPbJG05vUaO31ThwGg6nUXH
 wI=
IronPort-HdrOrdr: A9a23:V8h3maODYRWuWsBcTv2jsMiBIKoaSvp037BN7TEUdfU1SL38qy
 nApoV56faZslcssRIb9+xoWpPwJk80nKQdieN9AV7LZniBhILCFvAB0WKN+V3d8gTFh5dgPf
 gKScND4afLYmSSJ/yKmDVQaOxN/OW6
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="64860828"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: [XEN PATCH v9 08/30] build: fix enforce unique symbols for recent clang version
Date: Tue, 25 Jan 2022 11:00:41 +0000
Message-ID: <20220125110103.3527686-9-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125110103.3527686-1-anthony.perard@citrix.com>
References: <20220125110103.3527686-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

clang 6.0 and newer behave like gcc in regards for the FILE symbol, so
only the filename rather than the full path to the source file.

clang 3.8.1-24 (in our debian:stretch container) and 3.5.0-10
(in our debian:jessie container) do store the full path to the source
file in the FILE symbol.

Also, based on commit 81ecb38b83 ("build: provide option to
disambiguate symbol names"), which were using clang 5, the change of
behavior likely happened in clang 6.0.

This means that we also need to check clang version to figure out
which command we need to use to redefine symbol.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

"enforce unique symbols" works by chance with recent clang version.
The few object built from source in subdir don't pose an issue.
---

Notes:
    v9:
    - checking for clang 6 instead of clang 4, based on 81ecb38b83, and
      update commit message.
    
    v8:
    - new patch, extracted from "build: build everything from the root dir, use obj=$subdir"

 xen/Rules.mk               | 2 +-
 xen/scripts/Kbuild.include | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/xen/Rules.mk b/xen/Rules.mk
index 60d1d6c4f583..1e7f47a3d8a8 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -166,7 +166,7 @@ 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)
+    ifeq ($(CONFIG_CC_IS_CLANG)$(call clang-ifversion,-lt,600,y),yy)
         cmd_objcopy_fix_sym = $(OBJCOPY) --redefine-sym $<=$(SRCPATH)/$< $(dot-target).tmp $@
     else
         cmd_objcopy_fix_sym = $(OBJCOPY) --redefine-sym $(<F)=$(SRCPATH)/$< $(dot-target).tmp $@
diff --git a/xen/scripts/Kbuild.include b/xen/scripts/Kbuild.include
index 73caf238d42c..4875bb28c282 100644
--- a/xen/scripts/Kbuild.include
+++ b/xen/scripts/Kbuild.include
@@ -59,6 +59,8 @@ 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))
 
+clang-ifversion = $(shell [ $(CONFIG_CLANG_VERSION)0 $(1) $(2)000 ] && echo $(3) || echo $(4))
+
 # Shorthand for $(MAKE) clean
 # Usage:
 # $(MAKE) $(clean) dir
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 11:01:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 11:01:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260079.449173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJaD-0002en-6h; Tue, 25 Jan 2022 11:01:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260079.449173; Tue, 25 Jan 2022 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 1nCJaD-0002ec-2i; Tue, 25 Jan 2022 11:01:53 +0000
Received: by outflank-mailman (input) for mailman id 260079;
 Tue, 25 Jan 2022 11:01:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rP4T=SJ=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nCJaB-0006t5-Hu
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 11:01:51 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 30f482df-7dce-11ec-bc18-3156f6d857e4;
 Tue, 25 Jan 2022 12:01:49 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 30f482df-7dce-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643108510;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=6NtyguigdmpAVy3XmyEpSxkAyUQ0/bDb28AGSy6cQQs=;
  b=JvTjE/0IwYqE5EIfXVWYzPg12xTa+rf2IhU/9lhSEVN81iA0Ksk1Eu/+
   g32jH+IFuqYkK6SAiZfLuAVH4fHTSv+32dQF72yKlP9m+7HxxqZ4QZAk+
   fOspcXapEScgJI7l8dx7kkF/5Mn8IB43RaQzofE6QWs/J34iaTiLCwvTo
   o=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: fK67t9pUKJNe4MPgUuNFLf1GRs8bkX/wBbrV3zhDmsB89o2CyptNOR2FpRiilanhc9/l4fNAVq
 iHN3FIoXHiZ71o3G84ixspgRrpDDIr7PaN4lC17ei8yuIMvdiw1CNcCtQIgC2S8Iw6Vz/tseRI
 8or+7vqTx/2ewYRtreITHsTh0e2k51QLN7bRr/52NyhIKcFYXy1L+OpAlC+qz3KFf/vKyQ7Cd0
 A+L3r2BeAxRV/xljPWPj9hTLzUOmv5QdXlnWXRD6nhyjKAIoJXFsQwKga6ufcuouiaTRu6mkRf
 z4Xana1YIbKqOTsOOE2c2P/x
X-SBRS: 5.2
X-MesageID: 62699880
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:RaKMg6NgHTGdfgPvrR1ZkMFynXyQoLVcMsEvi/4bfWQNrUolgT0Cz
 WJKXmGCMvyMNGf1fth/bN/npx4O7MDdx4BrTQto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdpJYz/uUGuCJQUNUjMlkfZKhTr6UUsxNbVU8En150Eg+w7dRbrNA2rBVPSvc4
 bsenOWHULOV82Yc3rU8sv/rRLtH5ZweiRtA1rAMTakjUGz2zhH5OKk3N6CpR0YUd6EPdgKMq
 0Qv+5nilo/R109F5tpICd8XeGVSKlLZFVDmZna7x8FOK/WNz8A/+v9TCRYSVatYo2Wojctry
 oVcjpafdSF1FIfiuckwVyANRkmSPYUekFPGCX22sMjVxEzaaXr8hf5pCSnaP6VBpLwxWzsXs
 6VFdnZdNXhvhMrvqF6/YuBqmsQkKtitJI4Fs2ts5TrYEewnUdbIRKCiCdpwgm1u15EeTa62i
 8wxVBZibzHYPEZ0JVpULJwzzcSD2kn+SmgNwL6SjfVuuDWCpOBr65D2K8bccNGOQcRTn26bq
 3jA8mC/BQsVXPSAzRKV/3TqgfXA9Qv5RYYTGbuQ5vNsxlqJyQQ7GBAQEFe2v/S9okq/QM5Eb
 VwZ/DI0qqo//1DtScPyNzW6qnOZuh8XW/JLDvY3rgqKz8LpDx2xXzZeCGQbMZp/6ZFwFWdCO
 kK1c83BVR19q6eXGWOm/Jioi2+YEwY0AEIGXHpRJeca2OXLrIY2hxPJa99sFq+pk9H4cQ3NL
 yC2QDsW3OtK05NSv0mv1RWe2m/3+MCVJuIgzliPBgqYAhVFiJlJjmBCwXzS9r5+IYmQVTFtV
 1BUypHFvIji4Xxg/RFhodnh/pn0v55p0xWG2DaD+qXNERz3pxZPmqgLuFlDyL9BaJpsRNMQS
 Ba7VfltzJFSJmC2SqR8fpi8Dc8npYC5S4i+DqyFMYUQM8kpHONiwM2ITRTMt4wKuBN0+ZzTx
 L/BKZr8ZZrkIfoPIMWKqxc1juZwm3FWKZL7TpHn1RW3uYdyl1bOIYrpxGCmN7hjhIvd+V292
 48Ga6OilksDOMWjPHi/2dNDfDgicClgbbir+pM/SwJ2Clc8cI3XI6WPkepJlk0Mt/k9q9okC
 VnkChYHkwKu3COeQehIA1g6AI7SsV9EhSpTFUQR0ZyAghDPuK6js/UScYUZZ74i+LAxxPJ4V
 aBdKc6BHu5OWnLM/DFENcvxq4lrdRKKgwOSPnX6PGhjLsA4HwGZqMX5egbP9TUVCnblv8UJv
 LD9hBjQRoAORlo+AZ+OOu6v1V64oVMUhPl2AxnTOtBWdUi1qNpqJiX9g+UZOcYJLRmflDKW2
 xzPWUUTpPXXop9z+97M3PjWo4CsGup4P0xbA2iEsurmaXiEpjKumNYSXvyJcDbRUHLP1J+jP
 egFnevhNPAnnUpRt9YuGbhc0q9jtcDkoKVXz1o4ESyTPUirEL5pPlKPwdJL6v9W3rZctAa7B
 hCP991dNenbMc/pCgdMdg8sb+DF3vAIgDjCq/8yJRyitiNw+bOGV2RUPgWN13MBfOckbtt9z
 LdzotMS5iy+lgEuY4SPgS1j/miRKmANDvc8vZYADY630gcmxzmuu3AH5vMaNH1XV+hxDw==
IronPort-HdrOrdr: A9a23:tjaQ3KuCMc8jM2n10E+HCm867skDStV00zEX/kB9WHVpm6uj5q
 STdZUgpHrJYVkqKRIdcLy7WZVoIkmzyXcW2/h3AV7KZmCP0gaVxelZnO3fKlbbak/DH4BmtZ
 uIWpIOceEZUjNB5voSmjPWLz+L+qj+zEnSv4vj80s=
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="62699880"
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>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: [XEN PATCH v9 16/30] build: start building the tools with the main makefiles
Date: Tue, 25 Jan 2022 11:00:49 +0000
Message-ID: <20220125110103.3527686-17-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125110103.3527686-1-anthony.perard@citrix.com>
References: <20220125110103.3527686-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>
Acked-by: Jan Beulich <jbeulich@suse.com>
---

Notes:
    v8:
    - add some $(Q)

 xen/Makefile       |  8 ++++----
 xen/tools/Makefile | 17 ++---------------
 2 files changed, 6 insertions(+), 19 deletions(-)

diff --git a/xen/Makefile b/xen/Makefile
index 0705e67a9e7d..6c5c69d2e19b 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -209,7 +209,7 @@ endif # root-make-done
 
 PHONY += tools_fixdep
 tools_fixdep:
-	$(MAKE) -C tools fixdep
+	$(Q)$(MAKE) $(build)=tools tools/fixdep
 
 ifeq ($(config-build),y)
 # ===========================================================================
@@ -247,7 +247,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
+	$(Q)$(MAKE) $(build)=tools tools/fixdep
 
 # Allow people to just run `make` as before and not force them to configure
 $(KCONFIG_CONFIG): tools/fixdep
@@ -406,7 +406,7 @@ _debug:
 
 .PHONY: _clean
 _clean:
-	$(MAKE) -C tools clean
+	$(MAKE) $(clean) tools
 	$(MAKE) $(clean) include
 	$(MAKE) $(clean) common
 	$(MAKE) $(clean) drivers
@@ -435,7 +435,7 @@ $(TARGET).gz: $(TARGET)
 	mv $@.new $@
 
 $(TARGET): FORCE
-	$(MAKE) -C tools
+	$(Q)$(MAKE) $(build)=tools
 	$(Q)$(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 Jan 25 11:01:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 11:01:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260080.449184 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJaG-00033n-HT; Tue, 25 Jan 2022 11:01:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260080.449184; Tue, 25 Jan 2022 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 1nCJaG-00033W-Cz; Tue, 25 Jan 2022 11:01:56 +0000
Received: by outflank-mailman (input) for mailman id 260080;
 Tue, 25 Jan 2022 11:01:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rP4T=SJ=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nCJaE-0006t5-9Y
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 11:01:54 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 330f2d7b-7dce-11ec-bc18-3156f6d857e4;
 Tue, 25 Jan 2022 12:01:52 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 330f2d7b-7dce-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643108513;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=UTtvWGWnsc4Kfk8uqbFvH6lyw4/Lc7jsKNMziS1Unkw=;
  b=Pw4XOPmqNx0g5Tx4JaDBtCEMYxEVxv1j4c9pSiSlGfZsKiX0jNe4Mz/g
   o0TmibnBzItdnhHFxnz/SzCSaNi+xXV5+8yzIpGbNNrJbiejnIpQU/K39
   xhreuSfeuXCWZtz/bZcb6JHPX0jVwBWHtqenzGyBm3OhYCQdVIZxhD+Dr
   8=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: fnPv028Dv8hxYFLvrtDw7flu2U67JvA+YF9uzrD8YmhIvPRreOqdNY5nfqPV6gOaM7kGusQTuU
 cZt4fTObB4XtYlCNMNb1PdwDB6oaKqDFkOHli6HAOrDg/U6nHCzSON5Ow0YW7AEc9MGofiLjbl
 CwhQlUj/8KB45ZBsFec4Q3+vRIlBzIct8NyGnzNe+BmTk+DoTdzgn7aC44A7sV960eAIsFhnb5
 zeR2tuDDaHKf8bvsyUaKlqi5+BBusVdzfL5WlW4zSQ0AAPoSkhYheSMsEUzH2fHh/wW67ocrTX
 /Cy0U7Tk7X430j6Kr4nf8h/a
X-SBRS: 5.2
X-MesageID: 64860857
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:Q3iuzaw5/N4AiDkvpQF6t+c+wCrEfRIJ4+MujC+fZmUNrF6WrkVTy
 WIYXmuDMqvfNjHwfY90YdjkoR9TscWBmNVhTANrrCAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnvopW1TYhSEUOZugH9IQM8aZfHAhLeNYYH1500g7wrRk2tcAbeWRWGthh
 /uj+6UzB3f9s9JEGjp8B3Wr8U4HUFza4Vv0j3RmDRx5lAa2e0o9VfrzEZqZPXrgKrS4K8bhL
 wr1IBNVyUuCl/slIovNfr8W6STmSJaKVeSFoiI+t6RPHnGuD8H9u0o2HKN0VKtZt9mGt+5By
 fUStZWBcCIKGoGLo78tAz9+AggraMWq+JefSZS+mcmazkmAeHrw2fR+SkoxOOX0+M4uXzsIr
 6ZBbmlQMFbT3Ipaw5riIgVors0lMMnsOpJZonx6xCvVJf0nXYrCU+PB4towMDIY2JweQ66OO
 pVxhTxHcz3GeDREIXUtOb0vg9uE3mf2VThppwfAzUYwyzeKl1EguFT3C/Lfd8aWX8xTkgCdr
 3jf4mXiKhgAMZqUzj/t2kyrgujDjCbqQrU4Hbez9uNpqFCLz2lVAxoTPXOxpvOzm0OlW9ZSL
 kUS0iUrpKk2skesS7HVVBq+pnmGshcCWsF4HOgz6QXLwa3Riy6QAmkfUjdAcpoorsYwTj0x/
 kCFlJXiAjkHmKKRYWKQ8PGTtzzaESofIHIGZCQEZRAY+NSlq4Y25jrfQ9AmHKOrg9ndHTDr3
 yvMvCU4n68Uj8MAy+O851+vqzCjvJHNSiY84wzFWWTj5QR8DKa+fJCh41Xf6fdGLa6aQ0OHs
 XxCnNKRhMgMEJWMmSqlUOgLWraz6J643Cb02AA1WcN7rnL0piDlLds4DCxCyFlBDPYFWWDpa
 X7qnCB1yNhoZ0v6S4lmStfkYyg19pTIGdPgX/HSS9NBZJltaQOKlB1TiV6sM3PFyxZ1z/xmU
 XuPWYP1VCtBV/w7pNajb7pFidcWKjYCKXQ/rHwR5zCuyvKgaXGcUt/p23PeP7livMtoTOg4m
 uuz1vdmKT0CCIUSgQGNqOb/yGzmy1BhWfgaTOQMLoa+zvJOQj1JNhMo6epJl3ZZt6pUjPzU2
 Xq2R1VVzlHy7VWed1nRMiwyN+yxDMcnxZ7eAcDKFQz0s5TESd33hJrzirNtJeV3nACd5aAco
 wY5lzWoXa0UF2WvF8U1Zpjhto1yHClHdirVVxdJlAMXJsY6LySQo4eMVlK2qEEmU3Tr3eNj/
 ezI/l6LEPIrGlU5ZO6LOa3H8r9ElSVH8A6EdxGWcoA7lYSF2NUCFhEdedduc5hTck2Sn2XDv
 +tUaD9BzdTwT0YO2IGhrci5Q02BSIOSx2JWQDvW66iYLy7f8jbxyINMSr/QLzvcSHn16OOpY
 uAMl6PwN/gOnVBrtYtgEuk0kfJitoW3/7IKnB55GHjrbkiwDu8yKHexwsQS5LZGwaVUuFXqV
 xvXqMVaI7iAJOjsDEUVeFg+du2G2PxNwmvS4P05LV/U/ihy+LbbA0xeMwPV0H5WLadvMZNjy
 uAk4ZZE5wu6gxssE9CHkiELqDjcci1eC/0q78hIDpXqhwwnzkB5TabdUiKmsouSb9hsM1UxJ
 mPGjqT1mLkBlFHJdGA+FCaR0LMF14gOoh1D0HQLO0+NxojenvYy0RBcrWY3QwBSwkkV2u5/I
 DE2ZUh8JKHI9DZ0nslTGWurHlgZVhGe/0XwzXoPlXHYEBb0BjCccjVlNLbf5l0d/kJdYiNfr
 eORx2vSWDr3eN38g3kpUkl/pv2/FdF8+2UuQix88xhpy3XiXQfYvw==
IronPort-HdrOrdr: A9a23:GRDRuqvO9fbScbBbzpG153FT7skDcNV00zEX/kB9WHVpmszxra
 +TdZMgpHjJYVcqKQgdcL+7WZVoLUmwyXcx2/hyAV7AZniDhILLFuFfBOLZqlWKcREWtNQtsJ
 uIG5IObuEYZmIVsS+V2mWF+q4bsbq6zJw=
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="64860857"
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>, Julien Grall <jgrall@amazon.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
	"Julien Grall" <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	"Bertrand Marquis" <bertrand.marquis@arm.com>, Bob Eshleman
	<bobbyeshleman@gmail.com>, Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>
Subject: [XEN PATCH v9 17/30] build: add headers path to CFLAGS once for all archs
Date: Tue, 25 Jan 2022 11:00:50 +0000
Message-ID: <20220125110103.3527686-18-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125110103.3527686-1-anthony.perard@citrix.com>
References: <20220125110103.3527686-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>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Julien Grall <jgrall@amazon.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 6c5c69d2e19b..65b09c20a599 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -312,6 +312,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 e39fa15be7e3..8bc0e01ceb2b 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 Jan 25 11:07:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 11:07:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260085.449206 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJf9-0004v0-EA; Tue, 25 Jan 2022 11:06:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260085.449206; Tue, 25 Jan 2022 11: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 1nCJf9-0004ut-B8; Tue, 25 Jan 2022 11:06:59 +0000
Received: by outflank-mailman (input) for mailman id 260085;
 Tue, 25 Jan 2022 11:06:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rP4T=SJ=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nCJaS-0006Mn-7O
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 11:02:08 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3b8c4e4f-7dce-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 12:02:07 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3b8c4e4f-7dce-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643108527;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=JPbHo9Jo8aOfD2/lllmxqNTLME6igV4FyqbCCTnSPrY=;
  b=C9SKhZlRNGdRKrIf2rLfHEP43Jah2yddpri85dYJn5W+MdZJHR3+Bz5P
   dy+UKgE0dWdTBEYTt/f7yDnURHV2UQnUPvlrdZKMJZ58rIXiw1jJ5CpCn
   5+IrH68Jm1anKYY663RnLLit/XXjsZ5X6bdN6Tz9HvbiWIW73oj+zXetm
   g=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: QWUz9YK1cap7V4Zd2e7r/gMgMbdEYXpIYHj+3ypl/iTdiOBv93LahrLDbp7riKnu69FijRq9W4
 ZuW9kwh4vKMZYKw9OqtNFyrfUA5AwmXrB4iEKq/1WjDT9gIl89NL9ZhLIoM4j2yZzGWAEAElC2
 e0Oy7VqcfZabkNB720an1yfBBNr1KrySHqPnVMEzMfk63WOjYc8XW7iF8WH/2Ug6HKOVpsfVzl
 lcAZ5x04DmnF5yimbojQBeq0dcD2sI1pLN14MYniSRhtfWiZeNVcLdAmtIzGZGr0I3aofV1iGd
 B7X/H34N4+G9sbsIuTHUehFy
X-SBRS: 5.2
X-MesageID: 62170391
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:cWLiyq3XWSWLQNEXyPbD5S92kn2cJEfYwER7XKvMYLTBsI5bp2YDm
 zAdWmCBOaqPMzbzLtx+a4u/8RgFsJfQy9UxSAc6pC1hF35El5HIVI+TRqvS04J+DSFhoGZPt
 Zh2hgzodZhsJpPkS5PE3oHJ9RGQ74nRLlbHILOCanAZqTNMEn9700o6wbNh2+aEvPDia++zk
 YKqyyHgEAfNNw5cagr4PIra9XuDFNyr0N8plgRWicJj5TcypFFMZH4rHomjLmOQf2VhNrXSq
 9Avbl2O1jixEx8FUrtJm1tgG6EAaua60QOm0hK6V0U+6/TrS+NbPqsTbZIhhUlrZzqhh9Ug1
 4VvrY2LTiAUB5Odsd4tcShDOnQrVUFG0OevzXmXtMWSywvNcmf2wuUoB0YzVWEa0r8pWycUr
 6VecW1TKEDY7w616OvTpu1Ej8I/LM7tLcUHt2tp1z3xBvc6W5HTBa7N4Le02R9u3JkRRa2PP
 qL1bxIoVBXySE1RZW0vJ440lrvwhlDtXgxX/Qf9Sa0fvDGIkV0ZPKLWGMHOZtWASMFRn0CZj
 mHL5WL0BlcdLtP34SWB2mKhgKnIhyyTcIAPELy18NZ6jVvVwXYcYDUGWF3+rfSnh0qWX9NEN
 1dS6icotbI19kGgUp/6RRLQiHyOswMYWtFQO/Yn8wzLwa3Rizt1HUBdEGQHMoZ/8pZrG3p6j
 Tdlgu8FGxR3teyKGVCF54yTig6LB3k8F18gVDQtGF5tD8bYnKk/iRfGT9BGGaGzj8HoFTyY/
 w1mvBTSlJ1I05dVivzTEUTvxmv1+8OXFlJdChD/Azr9hj6VcrJJcGBBBbLzyf9bZLiUQVCa1
 JTvs5jPtbteZX1hecHkfQnsIF1Lz6vdWNE/qQQ2d3XEy9hL0yT/FWy3yGomTHqFyu5eJVfUj
 Lb74Gu9HqN7MnqwdrNQaImsEcksxqWIPY27CquMMosRPcYgJVfvEMRSiai4hTyFfK8EyvlXB
 HtmWZz0USZy5VpPklJauNvxIZd0n3tjlAs/tLjwzgi90Kr2WZJmYextDbd6VchgtPnsiFyMq
 753bpLWoz0CDrGWSnSJoOY7cABbRVBmVMueg5EGKYa+zv9ORTtJ5wn5m+1xIuSIXs19y4/1w
 51KchYIkQWk3Syed1zih7IKQOqHYKuTZEkTZUQEVWtEEVB6CWp2xKtAJZYxY5c98+lvkax9Q
 /UfIp3SCfVTUDXXvT8aaMCl/oBlcR2qgyOIPjakP2djL8IxGVSR94+2ZBbr+QkPEjGz6Zk0r
 Yq/216JWpEEXQljUprbMar901OrsHEBs+tuRE+UcMJLcUDh/dEyeSz8h/M6Oe8WLhDHymfI3
 gqaG05A9+LMv5U04J/CgqXd99WlFO53H0x7GWjH7OnpaXmGrzT7mYIZCbSGZzHQUm/w6Z6OX
 +QNwqGuKuADkXZLr5F4T+Rhw5Uh6oa9vLRd1AllQinGNgz5FrN6L3Ca9sBTrakRlKRBsA67V
 0/TqNlXPbKFZJHsHFILfVd3a+2C0bcfmyXI7ORzK0L/vXcl8L2CWERUHh+NlC0Cc+clbNJ7m
 b8s6JwM9giyqhs2KdLX3Clb+lOFImEET6h65IoRB5Xmi1Zzx1xPCXAG5vQaPH1bhw1wD3QX
IronPort-HdrOrdr: A9a23:Ll6cZaGeAc3uC1BppLqE7seALOsnbusQ8zAXP0AYc3Nom6uj5q
 eTdZUgpGbJYVkqOU3I9ersBEDEewK/yXcX2/h0AV7BZmnbUQKTRekIh7cKgQeQfhEWntQts5
 uIGJIRNDSfNzRHZL7BkWqFL+o=
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="62170391"
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>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: [XEN PATCH v9 22/30] build: rework coverage and ubsan CFLAGS handling
Date: Tue, 25 Jan 2022 11:00:55 +0000
Message-ID: <20220125110103.3527686-23-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125110103.3527686-1-anthony.perard@citrix.com>
References: <20220125110103.3527686-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>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---

Notes:
    v8:
    - reorder target-specific assignments
    - fix typo in comment
    - reviewed

 xen/Rules.mk | 21 ++++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)

diff --git a/xen/Rules.mk b/xen/Rules.mk
index 5f2368805b36..abeba1ab7494 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -126,19 +126,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)
+
+# Reset COV_FLAGS in cases where an objects has another one as prerequisite
+$(nocov-y) $(filter %.init.o, $(obj-y) $(obj-bin-y) $(extra-y)): \
+    COV_FLAGS :=
+
+$(non-init-objects): _c_flags += $(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))
+
+# Reset UBSAN_FLAGS in cases where an objects has another one as prerequisite
+$(noubsan-y) $(filter %.init.o, $(obj-y) $(obj-bin-y) $(extra-y)): \
+    UBSAN_FLAGS :=
+
+$(non-init-objects): _c_flags += $(UBSAN_FLAGS)
 endif
 
 ifeq ($(CONFIG_LTO),y)
@@ -167,6 +179,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 Jan 25 11:07:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 11:07:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260082.449195 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJf8-0004f7-8b; Tue, 25 Jan 2022 11:06:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260082.449195; Tue, 25 Jan 2022 11: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 1nCJf8-0004eq-2X; Tue, 25 Jan 2022 11:06:58 +0000
Received: by outflank-mailman (input) for mailman id 260082;
 Tue, 25 Jan 2022 11:06:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rP4T=SJ=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nCJag-0006t5-8M
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 11:02:22 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 444d922d-7dce-11ec-bc18-3156f6d857e4;
 Tue, 25 Jan 2022 12:02:20 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 444d922d-7dce-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643108541;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=ac3CMa3JiNPSALH1tsW+ORkYr5Fox9jaFSrR+mvf3sc=;
  b=QRv0m6REMRmc8/AMr5OLnXK2nebIRoaHYVNu5wocw37VueE3jydDIsMC
   iYtF3F6wFMaZ8UYrdiRoA7kebKP0aaP9WIohGyNQ3Utbgsi24ycO3vbJ5
   ApUfs0JDAeNWyy3jTakbpnr/dgHsoJojZ9VVztaOUruS8cR0iVwAlwwvq
   k=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: ZoBp4P9N8hPoC2SJFdHK3nzxTSdbwJ1PTJgK6E8HV0uc4WYyRfgfhFsxStXLAnHfSyDZhwG20O
 hOsHCZyVGRB31ydyfIz0oyhl09dGV9mRoWjKs84lMFS2ITwvMcsy4CW0fD+8u9zdrra+yEFRGd
 HcLrjZNM2T4Pw1pBPHefQs7wijpPSS4gf/ua9pPl/u3I5wpN2Tv6BeZgIF7NsvXsWFEKA20mC7
 GkML4M9KOAtz1pmx3/IxkgMiakkvPSYSXdSit3ItrzagGNFoKZlHd/fbg/a1jyZNeIENmmXHit
 9czjN1y+QIQ/5W90ULCDJM8g
X-SBRS: 5.2
X-MesageID: 62699833
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:FQYEQ6kddNM/P4U/zXR3B8fo5gx9IURdPkR7XQ2eYbSJt1+Wr1Gzt
 xIeCGrVO/6LamX1KdklOoSzpEsD757dmoc3HgZo+303HiMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BClVlxJVF/fngqoDUUYYoAQgsA180IMsdoUg7wbRh29Q12YHR7z6l4
 rseneWOYDdJ5BYsWo4kw/rrRMRH5amaVJsw5zTSVNgT1LPsvyB94KE3fMldG0DQUIhMdtNWc
 s6YpF2PEsE1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXee0v0XRYRQR4/ttmHozx+4
 OpHroSabR5wB7SPhvgfSVpBNQRnEIQTrdcrIVDn2SCS50jPcn+qyPRyFkAme4Yf/46bA0kXq
 6ZecmpUKEne2aTmm9pXScE17ignBMDtIIMYvGAm1TzDBOwqaZvCX7/L9ZlT2zJYasVmQ6yAN
 ptJMmEHgBLoYBhSCwcSWbACruajq3yiWjB3606ajP9ii4TU5FMoi+W8WDbPQfSRXtlclEuco
 mPA/kz6DwscOdjZziCKmlqzgsffkCW9X5gdfJW66/prjVu71mEVThoMWjOTsfS/z0KzRd9bA
 0gV4TY167g/8lSxSdvwVAH+p2SL1jYeUddNF+wx6CmW17HZpQ2eAwA5oiVpMYJ88pVsHHpzi
 wHPz4iB6SFTXKO9dniG7p2wtGqLIGsLMW0YJjYiaBIoyoy2yG0stS7nQtFmGa+zq9T6HzDs3
 jyHxBQDa6UvYd0jjPviow2e6964jt2QF1NuuF2LNo6wxl4hPOaYi5qUBU83BBqqBKKQVRG/s
 XcNgKByB8heXMjWxERhrAjgdYxFBspp0hWB2TaD/LF7rlxBHkJPm6gKvFmSw28yaq45lcfBO
 hO7hO+ozMY70IGWRaF2eZmtLM8h0LLtE9/oPtiNMIYVOsQgK1DZrXA2DaJ144wLuBJw+U3YE
 czDGftA8F5AUfg3pNZIb7l1PUAXKtAWmjqIGMGTI+WP2ruCfn+FIYrpw3PVBt3VGJis+V2Pm
 /4GbpPi40wGDIXWP3eLmaZOcwFiBSVrVPje9p0MHsbec1UOJY3UI6KLqV/XU9Y7z/09eyah1
 izVZ3K0P3Km1SSYcl3bMy46AF4tNL4mxU8G0eUXFQ7A8xAejUyHsM/zrrM7Iusq8vJN1/lxQ
 6VXcsmMGK0XGD/G5y4cfd/2q4k7LEanggeHPiyEZjkjfsE/G1yVq4G8Jga/pjMTCieXtNclp
 +Hy3A3sXpdeFR9pC9zbaazzwgrp72Qdgu97Q2DBPsJXJBf36IFvJiGo1q03LsgAJA/t3Dyf0
 wrKUx4UqfOU+90+8cXThLDCpICsSrMsEk1fFmjdzLC3KSiFoTbznd4eCL6FJGmPWnn19aOuY
 fRu48v9aPBXzkxXt4dcEqpwyf5s7dXYuLIHnB9vG2/Gbgr3B+o4cGWGx8RGqoZE2qRd5VmtQ
 kuK99RXZeeJNcfiHAJDLQYpdL3eh/Qdmz2U5vUpOkTqoiRw+ePfA0lVOhCNjg1bLad0b9x5k
 btw5pZO5lztkAcuP/aHkjtQpjaFIXE3Wqk6so0XXd3wgQ0xx1AeOZHRB0caOn1Uhwmg5qXyH
 gKpuQ==
IronPort-HdrOrdr: A9a23:POpugaBoAYz6pQblHemq55DYdb4zR+YMi2TC1yhKJiC9Ffbo8P
 xG/c5rrCMc5wxxZJhNo7290ey7MBHhHP1OkO0s1NWZPDUO0VHAROoJ0WKh+UyEJ8SXzJ866U
 4KScZD4bPLYWSS9fyKgzWFLw==
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="62699833"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: [XEN PATCH v9 28/30] build: specify source tree in include/ for prerequisite
Date: Tue, 25 Jan 2022 11:01:01 +0000
Message-ID: <20220125110103.3527686-29-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125110103.3527686-1-anthony.perard@citrix.com>
References: <20220125110103.3527686-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 3.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.

This might be due to bug #13529
    "Incorrect circular dependancy"
    https://savannah.gnu.org/bugs/?13529
which was fixed in 3.82.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Notes:
    v9:
    - add potential bug report link in commit message
    
    v8:
    - make use of the new "$(srcdir)" shortcut
    - move the patch ahead of the problematic patch:
        build: adding out-of-tree support to the xen build

 xen/include/Makefile | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/xen/include/Makefile b/xen/include/Makefile
index fddf5a575bf6..c8c4bcd93bd3 100644
--- a/xen/include/Makefile
+++ b/xen/include/Makefile
@@ -45,19 +45,19 @@ public-$(CONFIG_ARM) := $(wildcard $(srcdir)/public/arch-arm/*.h $(srcdir)/publi
 .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 $(srcdir)/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 $(srcdir)/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 $(srcdir)/xlat.lst $(srcdir)/Makefile $(srctree)/tools/compat-build-source.py
 	mkdir -p $(@D)
 	$(PYTHON) $(srctree)/tools/compat-build-source.py $(srcdir)/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 $(srcdir)/Makefile
 	export PYTHON=$(PYTHON); \
 	while read what name; do \
 		$(SHELL) $(srctree)/tools/get-fields.sh "$$what" compat_$$name $< || exit $$?; \
@@ -65,7 +65,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: $(srcdir)/xlat.lst $(srcdir)/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,$@)
@@ -73,7 +73,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' $(srcdir)/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 $(srcdir)/Makefile
 	cat $(filter %.h,$^) >$@.new
 	mv -f $@.new $@
 
@@ -102,7 +102,7 @@ PUBLIC_C99_HEADERS := $(call public-filter-headers,public-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) $(srcdir)/Makefile
 	for i in $(filter %.h,$^); do \
 	    $(CC) -x c -ansi -Wall -Werror -include stdint.h \
 	          -S -o /dev/null $$i || exit 1; \
@@ -110,7 +110,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) $(srcdir)/Makefile
 	rm -f $@.new
 	$(foreach i, $(filter %.h,$^),                                        \
 	    echo "#include "\"$(i)\"                                          \
@@ -120,7 +120,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) $(srcdir)/Makefile
 	rm -f $@.new
 	if ! $(CXX) -v >/dev/null 2>&1; then                                  \
 	    touch $@.new;                                                     \
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 11:07:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 11:07:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260090.449217 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJfc-0005nS-Tc; Tue, 25 Jan 2022 11:07:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260090.449217; Tue, 25 Jan 2022 11: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 1nCJfc-0005nB-OL; Tue, 25 Jan 2022 11:07:28 +0000
Received: by outflank-mailman (input) for mailman id 260090;
 Tue, 25 Jan 2022 11:07:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rP4T=SJ=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nCJak-0006t5-Vk
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 11:02:27 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4626dbcb-7dce-11ec-bc18-3156f6d857e4;
 Tue, 25 Jan 2022 12:02:24 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4626dbcb-7dce-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643108545;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=BzvETYqzMqT76cPe2jZEHD++ABik9L+Obl8PAe/g5ts=;
  b=ZU78sVh3zPhTHFw3ENFJoy3yAG6v5qAwOnHMY76MZtOtfQXZFQXU1VML
   AYHCNt83XcQHZJgOKuRLt9yjqEmdtLIZi0vEReDGmLfD458QhWAAcc2RV
   NImfg9EycG3/YkSXv8mV5uxyuFlIcDVCyDcMrljl5TDkAof3slSLKQ4DN
   s=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: W6xdz4elpKJOlSe2vexpdw5YPlWqBtl4hFzYJQW4P4IinGap8pLi7SfGrWo40D/AyJ7O0L6SMd
 ndnxVlV/CMrgPpOw+ANIfp1k4CjxxvIhH3VaN9tLD8IC0fb9/ao3PA7zrDj9mcKmWag7FrNbmj
 tOTIhvgYCq0DcCCMAlsNWngiUJrTAf3Fx27I72f6id8zFnTWBiZgJtq5VQ56Y6ryliba56aUGs
 ebzYZBJmkRrkt47Lo+KbHkGaYGCGN9b0N0zEAS/KGLgHxM4YylLRw0pRaW+OIPAvFMcCXTu4fR
 eamW0Ug9rGGUHOYB6gQ8CdmB
X-SBRS: 5.2
X-MesageID: 64860924
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:P4gBb6833Lx42r3KNvRWDrUDw3iTJUtcMsCJ2f8bNWPcYEJGY0x3n
 WcYUGmBa/mCZmb0ftlwOo2/9UoBvp7SzNdnSAZr+X08E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7dj39Yx6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPhd6
 YwSl6D3ETwnEbfmpd4xSSReKyNxaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguwqKtXrO4UO/Glt1zjDAd4tQIzZQrWM7thdtNs1rp4STaiGN
 pBFAdZpRC/HfAYIMHgOM9UFmbajwXj0YSN2tF3A8MLb5ECMlVcsgdABKuH9eduMX8xZ2FmZo
 mHu+H7wCRUXcteYzFKt7XaEluLJ2yThV+o6GKWj8/92gHWa3mEJFAANTly/vOW4jUilHdlYL
 iQ89iUioKco/WS3X9L9WFu+u3fCsRkCM/JSGeAn7ACGyoLP/h2UQGMDS1ZpeNEg8cM7WzEu/
 luIhM/yQyxitqWPTnCQ/avSqim9UQAONnMLbyIASQoD4vHgrZs1gxaJScxseIa3k9n0FDfY0
 z2M6i8kiN0uYdUjjvvhuwqd2nT1+8aPHlVdChjrsnyNwiIgO6yZINST53fBx8t6AJykSGGDs
 y1R8ySB19wmAZaInS2LZewCGrC1+vqIWAHhbU5T84oJrGr0pSP6FWxEyHQnfRoybJ5YEdP8S
 BKL4WtsCIlv0GxGhEOdS6a4EIwUwKfpDrwJvdiEP4MVMvCdmOJqlRyChHJ8PUiwyCDAcollY
 P93lPpA615AVcyLKxLtH48gPUcDnHxW+I8qbcmTI+6b+bSffmWJbrwOLUGDaOs0hIvd/lmOq
 4oOaJTUmkQHOAEbXsUx2dRPRbztBSNjba0aVuQNLrLTSuaYMD9J5wDtLUMJJNU+wvU9ehbg9
 XChQE5IoGcTdlWcQThmnktLMeu1Nb4m9CpTFXV1YT6AhiZ/Ca7ysvZ3X8ZnLNEPqb04pdYpH
 qZtRil1KqkVItgx025DPcCVQU0LXEnDuD9iyAL8MGFgJMYxHlKQkjImFyO2nBQz4uOMnZNWi
 9WdOsnzGPLvnixuU5TbbuyB1VS0sSRPke5+RRKQcNJSZF/t4M5hLCmo1q07JMQFKBPiwDqG1
 lnJXUdE9LeV+4JlosPUga2krpuyF7csFERtAGSGv629MjPX/zT/zNYYAvqIZz3USEj95L6mO
 bdO1/j5PfBexARKvoNwHqxF16U749ez9bZWwh49RCfAbkixC6MmKX6DhJEduqpIz75fmA23R
 kPQpYUKZeTXYJvoSQdDKhAkY+KP0eAvtgPTtfllcl/n4CJX/aacVRkANRe7lyEAfqB+N5kow
 Ll9tZdOuRC/kBcjLv2PkjtQqzaXNnUFXqgq6sMaDYvshlZ5w11Oe8WBWCr/4ZXJYNRQKEg6Z
 DSTgfOa1bhbw0PDdVs1FGTMgrUB1chf5kgSwQ9QPUmNl/rEmuQzjU9Y/jkARwhIyglKjrBoM
 W9xOkwpfaiD8l+EXiSYs7xAz+2ZOCCkxw==
IronPort-HdrOrdr: A9a23:elIbBK7Js6teNqqiNQPXwM7XdLJyesId70hD6qhwISY7TiX+rb
 HIoB17726MtN9/YhAdcLy7VZVoBEmsl6KdgrNhWYtKPjOHhILAFugLhuHfKn/bakjDH4ZmpM
 FdmsNFZuEYY2IXsS+D2njaL+od
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="64860924"
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>, 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>, "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 v9 30/30] build: adding out-of-tree support to the xen build
Date: Tue, 25 Jan 2022 11:01:03 +0000
Message-ID: <20220125110103.3527686-31-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125110103.3527686-1-anthony.perard@citrix.com>
References: <20220125110103.3527686-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>
Acked-by: Jan Beulich <jbeulich@suse.com>
---

Notes:
    v9:
    - acked
    - add "source -> ." symlink in the in-tree build as well. This allow to
      make relative symlink to the "common/efi/*.c" sources.
    - also now, the "source" symlink is removed on `distclean`, add added to
      .gitignore.
    
    v8:
    - replace script/mkmakefile by cmd_makefile like it's been done in Linux
      5.13.
    - fix GNU Make version, replace few 0.81 by 3.81.
    - reorder include header path in CFLAGS ( -I ), to have the $(objtree)
      paths listed before the $(srctree) paths. This will be usefull later
      if we allow to build out-of-tree from a dirty source tree.
    - make use of -iquote
    - sometime, add -iquote path even when not necessary when building in-tree.
    - extract code movement into a separate patch
    - make use of the new "$(srcdir)" shortcut
    - split command line in headers*.chk target into more lines

 .gitignore                   |   1 +
 xen/Makefile                 | 143 +++++++++++++++++++++++++++++++----
 xen/Rules.mk                 |  11 ++-
 xen/arch/x86/arch.mk         |   5 +-
 xen/arch/x86/boot/Makefile   |   6 ++
 xen/common/efi/efi-common.mk |   3 +-
 xen/include/Makefile         |  11 ++-
 xen/test/livepatch/Makefile  |   2 +
 xen/xsm/flask/Makefile       |   3 +-
 xen/xsm/flask/ss/Makefile    |   1 +
 10 files changed, 164 insertions(+), 22 deletions(-)

diff --git a/.gitignore b/.gitignore
index cc87a7dfae7b..0464098ed2b5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -329,6 +329,7 @@ xen/include/xen/*.new
 xen/include/xen/acm_policy.h
 xen/include/xen/compile.h
 xen/include/xen/lib/x86/cpuid-autogen.h
+xen/source
 xen/test/livepatch/config.h
 xen/test/livepatch/expect_config.h
 xen/test/livepatch/*.livepatch
diff --git a/xen/Makefile b/xen/Makefile
index 08114b3fef1e..499f9580dab8 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -1,3 +1,7 @@
+# $(lastword,) for GNU Make older than 3.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
@@ -19,6 +23,13 @@ export PYTHON		?= $(PYTHON_INTERPRETER)
 
 export CHECKPOLICY	?= checkpolicy
 
+$(if $(filter __%, $(MAKECMDGOALS)), \
+    $(error targets prefixed with '__' are only for internal use))
+
+# 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
 
@@ -37,9 +48,6 @@ export CC CXX LD
 
 export TARGET := xen
 
-.PHONY: default
-default: build
-
 .PHONY: dist
 dist: install
 
@@ -118,16 +126,88 @@ endif
 
 export quiet Q KBUILD_VERBOSE
 
+# $(realpath,) for GNU Make older than 3.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
 
-srctree := .
 objtree := .
-export srctree objtree
+VPATH := $(srctree)
+
+export building_out_of_srctree srctree objtree VPATH
 
-export XEN_ROOT := $(CURDIR)/..
+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
@@ -204,9 +284,6 @@ endif
 
 export XEN_HAS_CHECKPOLICY := $(call success,$(CHECKPOLICY) -h 2>&1 | grep -q xen)
 
-export root-make-done := y
-endif # root-make-done
-
 # ===========================================================================
 # Rules shared between *config targets and build targets
 
@@ -214,6 +291,37 @@ PHONY += tools_fixdep
 tools_fixdep:
 	$(Q)$(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
+
+quiet_cmd_makefile = GEN     Makefile
+cmd_makefile = { \
+    echo "\# Automatically generated by $(srctree)/Makefile: don't edit"; \
+    echo "include $(srctree)/Makefile"; \
+    } > Makefile
+
+outputmakefile:
+	$(Q)ln -fsn $(srctree) source
+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
+	$(call cmd,makefile)
+	$(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
@@ -229,13 +337,13 @@ filechk_kconfig_allconfig = \
 .allconfig.tmp: FORCE
 	set -e; { $(call filechk_kconfig_allconfig); } > $@
 
-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: .allconfig.tmp tools_fixdep FORCE
+%config: .allconfig.tmp tools_fixdep outputmakefile FORCE
 	$(Q)$(MAKE) $(build)=tools/kconfig KCONFIG_ALLCONFIG=$< $@
 
 else # !config-build
@@ -315,6 +423,10 @@ CFLAGS += -flto
 LDFLAGS-$(CONFIG_CC_IS_CLANG) += -plugin LLVMgold.so
 endif
 
+ifdef building_out_of_srctree
+    CFLAGS += -I$(objtree)/include
+    CFLAGS += -I$(objtree)/arch/$(TARGET_ARCH)/include
+endif
 CFLAGS += -I$(srctree)/include
 CFLAGS += -I$(srctree)/arch/$(TARGET_ARCH)/include
 
@@ -338,6 +450,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)
@@ -434,13 +548,13 @@ _clean:
 
 .PHONY: _distclean
 _distclean: clean
-	rm -f tags TAGS cscope.files cscope.in.out cscope.out cscope.po.out GTAGS GPATH GRTAGS GSYMS .config
+	rm -f tags TAGS cscope.files cscope.in.out cscope.out cscope.po.out GTAGS GPATH GRTAGS GSYMS .config source
 
 $(TARGET).gz: $(TARGET)
 	gzip -n -f -9 < $< > $@.new
 	mv $@.new $@
 
-$(TARGET): FORCE
+$(TARGET): outputmakefile FORCE
 	$(Q)$(MAKE) $(build)=tools
 	$(Q)$(MAKE) $(build)=. include/xen/compile.h
 	$(Q)$(MAKE) $(build)=include all
@@ -509,6 +623,7 @@ cloc:
 	done | cloc --list-file=-
 
 endif #config-build
+endif # need-sub-make
 
 PHONY += FORCE
 FORCE:
diff --git a/xen/Rules.mk b/xen/Rules.mk
index 57a029455586..70b7489ea89b 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -37,7 +37,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
-include $(firstword $(wildcard $(src)/build.mk) $(src)/Makefile)
+include $(firstword $(wildcard $(srcdir)/build.mk) $(srcdir)/Makefile)
 
 # Linking
 # ---------------------------------------------------------------------------
@@ -328,6 +328,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/x86/arch.mk b/xen/arch/x86/arch.mk
index 2fcb6271faf7..5c5795d17bd0 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 := arch/x86/efi/check
 
+# Create the directory for out-of-tree build
+$(shell mkdir -p $(dir $(efi-check)))
+
 # Check if the compiler supports the MS ABI.
 XEN_BUILD_EFI := $(call if-success,$(CC) $(CFLAGS) -c $(srctree)/$(efi-check).c -o $(efi-check).o,y)
 
@@ -101,6 +104,6 @@ export EFI_LDFLAGS
 endif
 
 # Set up the assembler include path properly for older toolchains.
-CFLAGS += -Wa,-I$(srctree)/include
+CFLAGS += -Wa,-I$(objtree)/include -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 ca8001c72b23..784655f5e2bd 100644
--- a/xen/arch/x86/boot/Makefile
+++ b/xen/arch/x86/boot/Makefile
@@ -7,11 +7,17 @@ targets += $(head-srcs:.S=.o)
 
 head-srcs := $(addprefix $(obj)/, $(head-srcs))
 
+ifdef building_out_of_srctree
+$(obj)/head.o: CFLAGS-y += -iquote $(obj)
+endif
 $(obj)/head.o: $(head-srcs)
 
 CFLAGS_x86_32 := $(subst -m64,-m32 -march=i686,$(XEN_TREEWIDE_CFLAGS))
 $(call cc-options-add,CFLAGS_x86_32,CC,$(EMBEDDED_EXTRA_CFLAGS))
 CFLAGS_x86_32 += -Werror -fno-builtin -g0 -msoft-float
+ifdef building_out_of_srctree
+CFLAGS_x86_32 += -I$(objtree)/include
+endif
 CFLAGS_x86_32 += -I$(srctree)/include
 
 # override for 32bit binaries
diff --git a/xen/common/efi/efi-common.mk b/xen/common/efi/efi-common.mk
index ad3c6f2569c3..0331cb57e789 100644
--- a/xen/common/efi/efi-common.mk
+++ b/xen/common/efi/efi-common.mk
@@ -3,12 +3,13 @@ EFIOBJ-$(CONFIG_COMPAT) += compat.o
 
 CFLAGS-y += -fshort-wchar
 CFLAGS-y += -iquote $(srctree)/common/efi
+CFLAGS-y += -iquote $(srcdir)
 
 # Part of the command line transforms $(obj) in to a relative reverted path.
 # e.g.: It transforms "dir/foo/bar" into successively
 #       "dir foo bar", ".. .. ..", "../../.."
 $(obj)/%.c: $(srctree)/common/efi/%.c FORCE
-	$(Q)ln -nfs $(subst $(space),/,$(patsubst %,..,$(subst /, ,$(obj))))/common/efi/$(<F) $@
+	$(Q)ln -nfs $(subst $(space),/,$(patsubst %,..,$(subst /, ,$(obj))))/source/common/efi/$(<F) $@
 
 clean-files += $(patsubst %.o, %.c, $(EFIOBJ-y:.init.o=.o) $(EFIOBJ-))
 
diff --git a/xen/include/Makefile b/xen/include/Makefile
index c8c4bcd93bd3..03baf10efb77 100644
--- a/xen/include/Makefile
+++ b/xen/include/Makefile
@@ -115,7 +115,8 @@ $(obj)/headers99.chk: $(PUBLIC_C99_HEADERS) $(srcdir)/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 $@
@@ -129,8 +130,9 @@ $(obj)/headers++.chk: $(PUBLIC_HEADERS) $(srcdir)/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 $(srcdir)/public/xen.h               \
+	      $(foreach j, $($(patsubst $(srctree)/%,%,$i)-prereq), -include c$(j)) \
+	      -S -o /dev/null -                                               \
 	    || exit $$?; echo $(i) >> $@.new;)
 	mv $@.new $@
 
@@ -139,7 +141,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 all
 
 all: lib-x86-all
 endif
diff --git a/xen/test/livepatch/Makefile b/xen/test/livepatch/Makefile
index ddb07371315e..c258ab0b5940 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 += -iquote $(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 a99038cb5722..d25312f4fa1c 100644
--- a/xen/xsm/flask/Makefile
+++ b/xen/xsm/flask/Makefile
@@ -4,7 +4,8 @@ obj-y += flask_op.o
 
 obj-y += ss/
 
-CFLAGS-y += -I$(obj)/include
+CFLAGS-y += -iquote $(obj)/include
+CFLAGS-y += -I$(srcdir)/include
 
 AWK = awk
 
diff --git a/xen/xsm/flask/ss/Makefile b/xen/xsm/flask/ss/Makefile
index aba1339f3808..ffe92ec19ed6 100644
--- a/xen/xsm/flask/ss/Makefile
+++ b/xen/xsm/flask/ss/Makefile
@@ -8,4 +8,5 @@ obj-y += services.o
 obj-y += conditional.o
 obj-y += mls.o
 
+CFLAGS-y += -iquote $(objtree)/xsm/flask/include
 CFLAGS-y += -I$(srctree)/xsm/flask/include
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 11:07:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 11:07:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260091.449222 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJfd-0005pp-6J; Tue, 25 Jan 2022 11:07:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260091.449222; Tue, 25 Jan 2022 11:07:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJfd-0005oJ-0g; Tue, 25 Jan 2022 11:07:29 +0000
Received: by outflank-mailman (input) for mailman id 260091;
 Tue, 25 Jan 2022 11:07:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rP4T=SJ=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nCJa2-0006Mn-OZ
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 11:01:42 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2c9c261e-7dce-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 12:01:41 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2c9c261e-7dce-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643108500;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=u/90GuRTmjHwZVz8sqoMIeo3eVy02tS9+uGE8H0qFwM=;
  b=htbx53AYwIkhoX2U0pWzgtpf17J9kfcEjdyK1UrsFztkNkW8P1FF9CD7
   A99+ma6n2a39yvBDdQUbxWhEQmRhMgk7iQvHN11pGmFhNqUdZW9ZoCVxT
   YtdMIror061b+d0TRhOb6qsQduNmGv7SlIPtDeLsMCcux1P+SJN1rg+Ts
   g=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: pJ1EjnteJlUHJVtjePXu84kOuE2Rt5ziFF5kheHy+RsfuGcbD4QVb2hx9P8E6yE7bDxdpx8Btk
 n+f8AVG59uHFbfrIDXCcc+QEqXCQ5E+PQ4Knse79fPnEbhXA088GNRMQnXx61rHPCxieFuKQFM
 CQVoYE1NVaR7BmgigJeuyu+0DclzA3Un32IpC38NwgJmnO2JJ1za1ydWbz6LMeBACYT1MC607n
 AEpjk6CKbXVIyzzl833n4GmHx9cwemjwvTpqeZ//NAjpmyz3bVZKvuIjqyy1hrlxh1oSLk5gOO
 2DdVb4CyvMtYCHb2846mHcBO
X-SBRS: 5.2
X-MesageID: 64860836
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:vUuAE6k1uJRkPOYYeqE0n+Po5gx9IURdPkR7XQ2eYbSJt1+Wr1Gzt
 xJKDWHXaamPYWf0edh2bIW08UgD7MKGyIQyQFRsri1nFiMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BClVlxJVF/fngqoDUUYYoAQgsA180IMsdoUg7wbRh29Q12YHR7z6l4
 rseneWOYDdJ5BYsWo4kw/rrRMRH5amaVJsw5zTSVNgT1LPsvyB94KE3fMldG0DQUIhMdtNWc
 s6YpF2PEsE1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXee0v0XRYRQR4/ttmHozx+4
 NkXpMCpbCUQBfXvxM4PYSQJDCJEZLITrdcrIVDn2SCS50jPcn+qyPRyFkAme4Yf/46bA0kXq
 6ZecmpUKEne2aTmm9pXScE17ignBMDtIIMYvGAm1TzDBOwqaZvCX7/L9ZlT2zJYasVmQ6qOO
 ZJJMmQHgBLoOEFsHV1HD70Eur2tpmjEcAAb71yejP9ii4TU5FMoi+W8WDbPQfSRXtlclEuco
 mPA/kz6DwscOdjZziCKmlqzgsffkCW9X5gdfJW66/prjVu71mEVThoMWjOTsfS/z0KzRd9bA
 0gV4TY167g/8lSxSdvwVAH+p2SL1jYeUddNF+wx6CmW17HZpQ2eAwA5oiVpMYJ88pVsHHpzi
 wHPz4iB6SFTXKO9RSiMqq6xjwqJYQtJB30wWH4bTjFc/Iy2yG0stS7nQtFmGa+zq9T6HzDs3
 jyHxBQDa6UvYd0jjPviow2e6964jt2QF1NuuF2LNo6wxl4hPOaYi5qUBU83BBqqBKKQVRG/s
 XcNgKByB8heXMjWxERhrAjgdYxFBspp0hWB2TaD/LF7rlxBHkJPm6gKvFmSw28yaq45lcfBO
 hO7hO+ozMY70IGWRaF2eZmtLM8h0LLtE9/oPtiNMIYVOsQgK1DZrXA2DaJ144wLuBJw+U3YE
 czDGftA8F5AUfg3pNZIb7l1PUAXKtAWmjqIGMGTI+WP2ruCfn+FIYrpw3PVBt3VGJis+V2Pm
 /4GbpPi40wGDIXWP3eLmaZOcwFiBSVrVPje9p0MHsbec1UOJY3UI6KLqV/XU9Y7z/09eyah1
 izVZ3K0P3Km1SSYcl3bMy46AF4tNL4mxU8G0eUXFQ7A8xAejUyHsM/zrrM7Iusq8vJN1/lxQ
 6VXcsmMGK0XGD/G5y4cfd/2q4k7LEanggeHPiyEZjkjfsE/G1yVq4G8Jga/pjMTCieXtNclp
 +Hy3A3sXpdeFR9pC9zbaazzwgrp72Qdgu97Q2DBPsJXJBf36IFvJiGo1q03LsgAJA/t3Dyf0
 wrKUx4UqfOU+90+8cXThLDCpICsSrMsEk1fFmjdzLC3KSiFoTbznd4eCL6FJGmPWnn19aOuY
 fRu48v9aPBXzkxXt4dcEqpwyf5s7dXYuLIHnB9vG2/Gbgr3B+o4cGWGx8RGqoZE2qRd5VmtQ
 kuK99RXZeeJNcfiHAJDLQYpdL3eh/Qdmz2U5vUpOkTqoiRw+ePfA0lVOhCNjg1bLad0b9x5k
 btw5pZO5lztkAcuP/aHkjtQpjaFIXE3Wqk6so0XXd3wgQ0xx1AeOZHRB0caOn1Uhwmg5qXyH
 gKpuQ==
IronPort-HdrOrdr: A9a23:iWhxU6/r971XoMN86OFuk+DkI+orL9Y04lQ7vn2ZLiYlFvBw9v
 re+cjzuiWE6wr5NEtApTniAse9qBHnhPlICOAqVN/JMTUO0FHYSr2KhrGSoQEIdRefygd179
 YYT0AgY+eaMbEBt6nHCaODYq4dKaK8nJyVuQ==
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="64860836"
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>, 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 v9 10/30] build: introduce if_changed_deps
Date: Tue, 25 Jan 2022 11:00:43 +0000
Message-ID: <20220125110103.3527686-11-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125110103.3527686-1-anthony.perard@citrix.com>
References: <20220125110103.3527686-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.

Also adjust "cloc" recipe due to .*.d been replace by .*.cmd files.

This imports fixdep.c and if_changed_deps macro from Linux v5.12.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---

Notes:
    v8:
    - reviewd
    - remove "tools_fixdep" prerequisite in xen/Makefile from "$(TARGET)"
      target as the first command of the recipe will build everything in
      tools/ and thus tools/fixdep.
    - adjust "cloc" recipe.

 .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 3f9d55ba87f0..cc87a7dfae7b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -332,6 +332,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 780d555e8620..3dc7b4da10fb 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -196,6 +196,13 @@ export XEN_HAS_CHECKPOLICY := $(call success,$(CHECKPOLICY) -h 2>&1 | grep -q xe
 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)"
 
@@ -471,18 +478,18 @@ 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
 	$(Q)$(MAKE) $(build)=$(*D) $(*D)/$(@F)
 
-%.o %.s: %.S FORCE
+%.o %.s: %.S tools_fixdep FORCE
 	$(Q)$(MAKE) $(build)=$(*D) $(*D)/$(@F)
 
-%/: FORCE
+%/: tools_fixdep FORCE
 	$(Q)$(MAKE) $(build)=$* need-builtin=1
 
 .PHONY: cloc
 cloc:
-	find . -name tools -prune -o -name '*.o.d' -print | while read f; do \
+	find . -name tools -prune -o -name '*.o.cmd' -print | while read f; do \
 	    for sf in $$(grep -o "[a-zA-Z0-9_/-]*\.[cS]" $$f); do \
 		test -f "$$sf" && echo "$$sf"; \
 	    done; \
diff --git a/xen/Rules.mk b/xen/Rules.mk
index 67112e00773f..567a23a54cd9 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -147,8 +147,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
 
@@ -205,7 +205,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
 
@@ -216,7 +216,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  $@
@@ -246,13 +246,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     $@
@@ -291,9 +291,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 8fe54ba137ca..9494e4a3df79 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -245,7 +245,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 $@ $<
@@ -261,9 +261,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 487db14c5884..e718743ef772 100644
--- a/xen/build.mk
+++ b/xen/build.mk
@@ -40,6 +40,7 @@ include/xen/compile.h: include/xen/compile.h.in .banner FORCE
 
 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 c159136adb20..872adfb456c3 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
@@ -83,6 +82,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)
@@ -111,15 +112,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 Jan 25 11:07:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 11:07:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260094.449229 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJfd-00060x-RL; Tue, 25 Jan 2022 11:07:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260094.449229; Tue, 25 Jan 2022 11:07:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJfd-0005xw-I8; Tue, 25 Jan 2022 11:07:29 +0000
Received: by outflank-mailman (input) for mailman id 260094;
 Tue, 25 Jan 2022 11:07:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rP4T=SJ=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nCJa1-0006Mn-LD
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 11:01:41 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2b4f0851-7dce-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 12:01:40 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2b4f0851-7dce-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643108500;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=wYkW2R8tFzs0d+phAlxL/mveB4q9AisvIAMEj4v2JKA=;
  b=CmT8YJCvrDef3EvEGQb9J4uDE0NVlNlTRenlD6syW6m3AKphD0Dyfilx
   /o8VU4A711R64t3JBhzPQLmF1NH8dC6x8QQZd6OdK1M9Tdq6wwcwhS8oy
   IsabeXlkt5ZSHh4UqO8qW4Y1pF5MGUd6Fp52dGlCPjexIf+RLzYd5/4tj
   0=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: ex+Ftle9QWnRD8zNv06SqNd7o1++/4oW7KRz0WYbT6Nm8jmN5oTDqchQ7jpCxSk1PjvlAca7M0
 2bgVAqXTpA+UBqDEYADn/3Zi+XR2CGPQs2KBxWpMhmxkSlsQnqx8we1rnWTxyqLgLttFub+xiF
 mwtSANufIeQpdO7DgEFpFHF60wIVA5/tWSQ7Zl9LN2TOXTCkvwF1zRjyfPJQSesobolkMKDfdF
 iwvA3bgOxn1y6XlmZR8dLDQwwPPtkzZl1rRIqVj3LvgIVFshjCKhuhm0s+5r2MzSvN3Ac9maSz
 8Ra0lgxLWqKPZhRoQ7u0o+oN
X-SBRS: 5.2
X-MesageID: 62170359
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:NV5YDq8CJPNy8RLVe9AGDrUDx3iTJUtcMsCJ2f8bNWPcYEJGY0x3n
 GAWWm2FOquDMzSkf9twbt+z9hsGu5TSmoA3TVRqpHg8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7dj39Yx6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPh+0
 /RT7ZuwVzwCGb/KwPoeCjV8NyVxaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguwqKtXrO4UO/Glt1zjDAd4tQIzZQrWM7thdtNs1rp4URKmGP
 JdIAdZpRDrNUyJXEBBMMbsdxrmRplv2fBECkl3A8MLb5ECMlVcsgdABKuH9ZdiiVchT2EGCq
 Qru5H/lCxsXMNiezzut8X+2gOLL2yThV+o6HrCi6uRjhlHVw2UJEQAXTnOyu/z/gUm7M/phL
 EgT9jsrvLIF3kWhRdngXDW1uHeB+BUbXrJ4Eec39QWMwar8+BuCCy4PSTspQMwrsoo6SCIn0
 neNnsj1Hnp/vbuNU3Wf+7yI6zSoNkA9L3IGZCICZRsI5Z/kuo5bphDAVN9nFIa8i9TnHje2y
 DePxBXSnJ1K05RNjf/iuwma3XT8/fAlUzLZ+C3YRUO7tgR5erWOQJ6usUbYtNpkCIKWGwzpU
 Gc/p+CS6+UHDJeonSOLQfkQELzB28tpIAEwknY0QcB/qm3FF2qLONkJvWogfBsB3tMsJGexC
 HI/rz+983O60JGCSaZsK7y8BM0xpUQLPYS0D6uEBjaij3UYSeNmwM2MTRPIt4wOuBJ1+U3aB
 Xt9WZzwZZr9If8/pAdav89HjdcWKtkWnAs/v6zTwRW9yqa5b3WIU7oDO1bmRrlnsPjc/FSKr
 IgOZpPiJ/BjvAvWOHW/HWk7dghiEJTGLcqu95w/mhCrfGKK513N+9eOmOh8KuSJboxel/vS/
 2HVZ6Or4AGXuJEzEi3TMioLQOq2Bf5X9CtnVQRxYwrA8yV9MO6HsfdOH7NqLOJP3LEykpZJo
 wwtJp/o7gJnEGqXolzwrPDV8eRfSfhcrVveZnX+OGlmIccIqs6g0oaMQzYDPRImVkKf3fbSa
 ZX6vu8CaZZcFQlkEujMb/ejkwG4sXQHwbogVErUONhDPk7r9dEyeSD2i/Y2JeAKKAnCmWTGh
 1rHX09AqLmfuZIx/fnImbuA89WjHdxhExcIBGLc97u3a3XXpzLx3Y9aXe+UVjnBT2eoqr66b
 OBYwqikYv0KlVpHqaRmFLNvwf5s7tfjveYCnA9lAG/KfxKgDbY5eiuK2sxGt6tswL5FuFTpB
 hLTq4cCYbjQYZHrCl8cIgYhf9+v7/BMl2mA9+kxLWX7+DRzoOiNX3JNMkTekydaNrZ0bt8om
 L9zpM4M5gWjoRM2KdLa3DtM/mGBI3FcAaUqspYWXN3ihgYxkwwQZJXdDmn94Y2VasUKOU4ve
 2fGiK3HjrVa50zDb3tsSiSdgbsD3cwD6EJQ0VsPB1WVgd6U1PY40SpY/SkzUgkInA5M1Ph+O
 zQzOkB4TUlUE+yEWCSXs7iQJjx8
IronPort-HdrOrdr: A9a23:/wa/9KHdLB7BstDjpLqE0MeALOsnbusQ8zAXP0AYc3Jom6uj5q
 aTdZUgpGfJYVkqOE3I9ertBEDEewK4yXcX2/h3AV7BZniEhILAFugLhuGO/9SjIVybygc079
 YYT0EUMrzN5DZB4voSmDPIceod/A==
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="62170359"
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>, Julien Grall <jgrall@amazon.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
	"Julien Grall" <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	"Bertrand Marquis" <bertrand.marquis@arm.com>
Subject: [XEN PATCH v9 11/30] build: rename __LINKER__ to LINKER_SCRIPT
Date: Tue, 25 Jan 2022 11:00:44 +0000
Message-ID: <20220125110103.3527686-12-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125110103.3527686-1-anthony.perard@citrix.com>
References: <20220125110103.3527686-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>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Julien Grall <jgrall@amazon.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 567a23a54cd9..fea3f70cdb72 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -256,7 +256,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 Jan 25 11:07:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 11:07:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260095.449237 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJfe-00066V-By; Tue, 25 Jan 2022 11:07:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260095.449237; Tue, 25 Jan 2022 11:07:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJfe-000655-0B; Tue, 25 Jan 2022 11:07:30 +0000
Received: by outflank-mailman (input) for mailman id 260095;
 Tue, 25 Jan 2022 11:07:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rP4T=SJ=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nCJb5-0006Mn-Cq
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 11:02:47 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5328946c-7dce-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 12:02:45 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5328946c-7dce-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643108565;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=/rFX32bM93F9j3Jp4QEyees3GBWk+GfWAs8eqADudYM=;
  b=UnJgx6EMdeo4kBNL3aEWsEgYXaRb2Ix8IqT35eXSwz5jIdPzLZo6MqL4
   0kUBZNsSFUc18pAM8ctEGFub7yJ4bGyTjhm6mHXIWTZMe6ypfBoQjNkmM
   B4OmjNMPoW2AkMfTPtAWUETyF6K19Cxy1kpJtsht8eijqEwi6NeO2UAkq
   A=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: f0hR9ZIweqH195uiWMVSO+lkH2BhEp9tVdkVjyOW36PrcdW83hcqrbZCjRKO1mQ4EXPMcn/N34
 QmbLHAXCbLd8Tz9cWvrkrQikZrwGc6f7LKoHDt4Yg+HkOkHSPf9/75Dx1eZ7a0fr2ueUVTt60H
 AzlCCPtJP0GnWO9PXHCPgpkg2ya3PlNS5hWMB08tGOJlJp49MvugQ94sRpmEOoI1+a0pJdPa4K
 Vw69XjcU2Au8b714qRvC3NVfQGVfKRRcRO6RvUvDJNCoFhSb73s+5xjzrMm9Fc4le++wfwMfOK
 ATMfAINS8E2ifWOx9RvktlFl
X-SBRS: 5.2
X-MesageID: 63107025
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:tyG0fagLtOFzFKRi3tFX19KyX161yhcKZh0ujC45NGQN5FlHY01je
 htvDG6DaP3fNGr0edwgYd/i8k1X7JHUmocxGlc6ryFnRSMb9cadCdqndUqhZCn6wu8v7a5EA
 2fyTvGacajYm1eF/k/F3oAMKRCQ7InQLlbGILes1htZGEk0GE/NtTo5w7Rj2tcy3IDga++wk
 YiaT/P3aQfNNwFcagr424rbwP+4lK2v0N+wlgVWicFj5DcypVFMZH4sDfjZw0/DaptVBoaHq
 9Prl9lVyI97EyAFUbtJmp6jGqEDryW70QKm0hK6UID66vROS7BbPg/W+5PwZG8O4whlkeydx
 /1ns8CQFhYYb5bFu9sPTSYIPS1zEY9ZreqvzXiX6aR/zmXDenrohf5vEFs3LcsT/eMf7WNmr
 KJCbmpXN1ba2rzwkOnTpupE36zPKOHiOp8fvXdxiynUF/88TbjIQrnQ5M8e1zA17ixLNaiFP
 pJGMWAyBPjGS0xiO2gvApc4oMnrrX+vXTh/s0mzhINitgA/yyQuieOwYbI5YOeiWsF9jkue4
 GXc8AzRDh4WOdOFwBKZ43msganJhiq9V4UMfJW07uVvgUGT7mULBQcKSECgpv2klk+5XckZI
 EsRkgI1trQ7/kGvStj7XjW7rWSCsxpaXMBfe8Uq5QfIxqfK7gKxAmkfUiUHeNEgrNUxRzEhy
 hmOhdyBLT5lvaCRSHmd3qyJtj70Mi8QRUcAeCsFQA0t89Tl5oYpgXryos1LSfDvyIevQHepn
 m7M/HNWa6gvYdAj/aPn3Q/WsmOXr7v2XBAKtivbU06H8VYsDGK6XLCA5V/e5PdGCY+WSFido
 XQJ8/SjAPAy4YKlz3LUHrhUdF29z7PcaWCH3wYzd3U032n1oxaekZZsDCaSzauDGuINYnfXb
 UDaomu9D7cDbSLxPcebj29cYvnGLJQM9/y4Dpg4jfIUO/CdkTNrGgk0OSZ8OEi2yCARfVkXY
 8vzTCpVJS9y5V5b5DS3XfwB9rQg2zozw2jeLbiikUj8iebPOyHLGOZdWLdrUgzfxPnYyOky2
 40HX/ZmNj0FCLGuCsUp2dB7wa82wYgTWsmt9p0/mh+rKQt6AmAxY8I9Mpt6E7GJa599z7+Sl
 lnkAxcw4AOm2RXvdFvWAlg+NuKHdcsv/BoTYH13VX71iidLXGpaxPpFH3fBVeN5pLULID8dZ
 6RtRvhs9dwWGm2YoGxMNMekxGGgHTzy7T+z0+OeSGBXV/Zdq8bho4WMktLH+HZcAyypm9E5p
 rH8hArXTYBaH1ZpDdrMaeLpxFS05CBPlOV3VkrOA99SZESzr9Q6d32v1qc6c5MWNBHO5jqGz
 ALKUx0WkvbA/t0u+97TiKHa84rwS7liHlBXFnXw5KqtMXWI5XKqxIJNCb7afT3UWG7u1r+lY
 OFZk6P1PPEdxQ4YuItgCbd7i6k54oK39bNdyw1lGlTNbkiqVew8ciXXg5EXu/QUlLFDuAawV
 kaewfVgOO2EaJH/DVocBAs5deDfh/sarSbfsKYuK0Lg6S4poLfeCRdOPwOBgTB2JaduNN932
 v8ovcMb5lDtihcuNdra3ClY+37Vcy4FWqQj8JobHJXqmkwgzVQbOc7QDSr/4ZeubdRQMxZ1f
 m/I1fSa37kMlFDfd3cTFGTW2bsPjJsDjxlG0VseKgnbgdHCnPI2gEVc/Dlfot65FfmbPzaf4
 lRWCnA=
IronPort-HdrOrdr: A9a23:m+dIaa4pYxsDUheGTgPXwPDXdLJyesId70hD6qhwISY6TiX+rb
 HJoB17726NtN9/YhEdcLy7VJVoBEmskKKdgrNhWotKPjOW21dARbsKheCJrgEIWReOktK1vZ
 0QCpSWY+eQMbEVt6nHCXGDYrQd/OU=
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="63107025"
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>, 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>, Daniel De Graaf
	<dgdegra@tycho.nsa.gov>, "Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [XEN PATCH v9 26/30] build: replace $(BASEDIR) and use $(srctree)
Date: Tue, 25 Jan 2022 11:00:59 +0000
Message-ID: <20220125110103.3527686-27-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125110103.3527686-1-anthony.perard@citrix.com>
References: <20220125110103.3527686-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).

This adds $(srctree) to a few path where make's VPATH=$(srctree) won't
apply. And replace $(BASEDIR) by $(srctree).

Introduce "$(srcdir)" as a shortcut for "$(srctree)/$(src)" as the
later is used often enough.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---

Notes:
    v9:
    - acked
    - reword "# shortcut for $(srctree)/$(src)" into "# shortcuts" in both
      places.
    
    v8:
    - merge of two patchs from v7:
        build: add $(srctree) in few key places
        build: replace $(BASEDIR) by $(srctree)
      both patch were acked
    - introduce $(srcdir) as a shortcut for $(srctree)/$(src)

 xen/Kconfig                 |  4 ++--
 xen/Makefile                |  7 +++----
 xen/Rules.mk                |  9 ++++++---
 xen/arch/x86/arch.mk        |  2 +-
 xen/build.mk                |  4 ++--
 xen/common/Makefile         |  2 +-
 xen/common/libfdt/Makefile  |  2 +-
 xen/include/Makefile        | 14 +++++++-------
 xen/scripts/Kconfig.include |  2 +-
 xen/scripts/Makefile.clean  |  5 ++++-
 xen/xsm/flask/Makefile      | 10 +++++-----
 11 files changed, 33 insertions(+), 28 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 443784dfce80..c39c1699966f 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -19,8 +19,7 @@ export PYTHON		?= $(PYTHON_INTERPRETER)
 
 export CHECKPOLICY	?= checkpolicy
 
-export BASEDIR := $(CURDIR)
-export XEN_ROOT := $(BASEDIR)/..
+export XEN_ROOT := $(CURDIR)/..
 
 abs_objtree := $(CURDIR)
 abs_srctree := $(CURDIR)
@@ -189,7 +188,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
@@ -329,7 +328,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
 
 # define new variables to avoid the ones defined in Config.mk
 export XEN_CFLAGS := $(CFLAGS)
diff --git a/xen/Rules.mk b/xen/Rules.mk
index 7712bfa063e0..57a029455586 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -9,13 +9,16 @@ endif
 
 src := $(obj)
 
+# shortcuts
+srcdir := $(srctree)/$(src)
+
 PHONY := __build
 __build:
 
 -include $(objtree)/include/config/auto.conf
 
 include $(XEN_ROOT)/Config.mk
-include $(BASEDIR)/scripts/Kbuild.include
+include $(srctree)/scripts/Kbuild.include
 
 # Initialise some variables
 obj-y :=
@@ -58,7 +61,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
 # ===========================================================================
@@ -177,7 +180,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/arch/x86/arch.mk b/xen/arch/x86/arch.mk
index 8bc0e01ceb2b..2fcb6271faf7 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 := arch/x86/efi/check
 
 # Check if the compiler supports the MS ABI.
-XEN_BUILD_EFI := $(call if-success,$(CC) $(CFLAGS) -c $(efi-check).c -o $(efi-check).o,y)
+XEN_BUILD_EFI := $(call if-success,$(CC) $(CFLAGS) -c $(srctree)/$(efi-check).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 e718743ef772..758590c68eab 100644
--- a/xen/build.mk
+++ b/xen/build.mk
@@ -27,9 +27,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/common/Makefile b/xen/common/Makefile
index 30641a737231..b1e076c30b81 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 a3c2511f5f60..5a2b4c9f65fa 100644
--- a/xen/include/Makefile
+++ b/xen/include/Makefile
@@ -45,22 +45,22 @@ public-$(CONFIG_ARM) := $(wildcard $(src)/public/arch-arm/*.h $(src)/public/arch
 .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 $(src)/xlat.lst <$< >$@.new
+	$(PYTHON) $(srctree)/tools/compat-build-source.py $(srcdir)/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 $@
 
@@ -70,7 +70,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' $(srcdir)/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/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 4eed31974509..f97ecd3b8eee 100644
--- a/xen/scripts/Makefile.clean
+++ b/xen/scripts/Makefile.clean
@@ -5,9 +5,12 @@
 
 src := $(obj)
 
+# shortcuts
+srcdir := $(srctree)/$(src)
+
 clean::
 
-include $(BASEDIR)/scripts/Kbuild.include
+include $(srctree)/scripts/Kbuild.include
 
 include $(src)/Makefile
 
diff --git a/xen/xsm/flask/Makefile b/xen/xsm/flask/Makefile
index 4ac6fb8778ae..a99038cb5722 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 $(srcdir)/policy/,security_classes initial_sids)
+AV_H_DEPEND := $(srcdir)/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 := $(srcdir)/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 := $(srcdir)/policy/mkaccess_vector.sh
 quiet_cmd_mkaccess = MKACCESS VECTOR $@
 cmd_mkaccess = $(SHELL) $(mkaccess) $(AWK) $(obj)/include $(AV_H_DEPEND)
 
@@ -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 Jan 25 11:07:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 11:07:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260096.449246 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJfe-0006Hp-W6; Tue, 25 Jan 2022 11:07:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260096.449246; Tue, 25 Jan 2022 11:07:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJfe-0006Di-HU; Tue, 25 Jan 2022 11:07:30 +0000
Received: by outflank-mailman (input) for mailman id 260096;
 Tue, 25 Jan 2022 11:07:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rP4T=SJ=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nCJaF-0006t5-Bu
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 11:01:55 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3438a97b-7dce-11ec-bc18-3156f6d857e4;
 Tue, 25 Jan 2022 12:01:53 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3438a97b-7dce-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643108513;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=MlVc33IS7S+4kuvMZHec69OzaPEt83rbtePEqH7p84k=;
  b=fFXhLPNIzvWGdpgtnL+ujm5cmAM02ss0XMgGzoaYNfCOdIso0w7CfAWH
   iXu6TLUr6V6wkAG31NlJZ00fokpEjfrDnI1ZeYFCiHTDV9Lbe5uVPviEg
   +V+tq5cMCavAJXDpfF2plcazd0Dvi1Zm8Eqav1FqZGWtBXvTgzrAcoNpQ
   s=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: 7fGqrx5EqigVo8VPPv8hW0O3oga3EzqSXc7oSh0+frN88561YQBOGlbVvj+yNhwxDcEsmHTHLR
 x8FzdloCYOOpZRKMfJ0BFqJPaVAqMhh7dhpB/TbYGkaM2FsyztmPCsnHdFYOjmtVZVL5H6HB1k
 Iw9zthguv2nUwPI7UU+mGC7bV7TJE8iXPU1GrzS4jfHCAJRRUPR9Y4Buf3EBKxwkF1Fsho1uNC
 6+L8jwo2eTwMx3WyYHQ3iz9uk6PMVk/cdVufv/iXE/AW/1wvvXnFlNCVEtt551PEG7T5Rc5dPW
 ZlHLArGNkMc0ctMOiTKOKBs2
X-SBRS: 5.2
X-MesageID: 62699895
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:XG8o/q4yz+kns/m5TAqCvwxRtOzAchMFZxGqfqrLsTDasY5as4F+v
 mocX2jVOquNZ2Ogetx/Ody28kkB6MWAn95iTQA9rCk2Hi5G8cbLO4+Ufxz6V8+wwmwvb67FA
 +E2MISowBUcFyeEzvuV3zyIQUBUjclkfJKlYAL/En03FV8MpBsJ00o5wbZg2NMw2LBVPivW0
 T/Mi5yHULOa82Yc3lI8s8pvfzs24ZweEBtB1rAPTagjUG32zhH5P7pGTU2FFFPqQ5E8IwKPb
 72rIIdVXI/u10xF5tuNyt4Xe6CRK1LYFVDmZnF+A8BOjvXez8CbP2lS2Pc0MC9qZzu1c99Zz
 +kRkIGUV1cVGKjGpu45AwdbEjFfIvgTkFPHCSDXXc27ykTHdz3nwul0DVFwNoodkgp1KTgQr
 7pCcmlLN03dwbLtqF64YrAEasALJc/3PIQZqzd4wCvQF/oOSpHfWaTao9Rf2V/cg+gQR6iPN
 ppINFKDajzkUQBFBHMOKKtmws2LniP5VSV9s3G88P9fD2/7k1UqjemF3MDuUsOObdVYmACfv
 G2u12bzDwweNdef4SGY6X/qjejK9QvrVYRXGLCm+/pChFyI2ndVGBAQTUG8o/Sylgi5Qd03F
 qAP0nNw9+5orhXtF4SjGU3jyJKZgvICc91sT8gnzB/d9ozR6TiTIjgaTT9RScNz4afaWgcW/
 lOOmtroAxlmv7uUVW+R+9+okN+iBcQGBTRcPHFZFGPp9/Gm+dhu1UyXEr6PBYbo1oWdJN3m/
 9ydQMHSbZ03hNVD6ai09Euvb9mE9smQFV5dCuk6swuYAuJFiGyNOtTABbvzt68owGOlor+p5
 iRsdy+2t7hmMH11vHbRKNjh5Znwjxp/DBXSgER0A74q/Cm39niocOh4uW8ifx81Y5lbJ264O
 Cc/XD+9ArcJYBNGiocsO+qM5zkCl/C8RbwJqNiKBjaxXnSBXFDep3w/DaJh92vsjFItgckC1
 WSzKq6R4YIhIf0/llKeHr5FuZdyn3xW7T6NGfjTkkr2uZLDNC/9YepUazOmM7FmhJ5oVS2Iq
 b6zwePQlUUGOAA/CwGKmbMuwacidChiWsuu+pUJL4Zu4GNOQQkcNhMY+pt5E6QNokifvr2gE
 qiVVhAKxVzhq2fALAnWOHlvZKm2BcR0rG4hPDxqNlGtgiBxbYGq5aYZVp02Ybh4q7Azka8qF
 6EIK5eaH/BCajXb4DBBP5Pzm5NvKUawjgWUMiv7PDVmJ8x8RxbE88PPdxf08HVcFTK+sMYz+
 uXy1g7STZcZaR5lCcLaNKCmw1+r5CBPk+NuRUrYZNJUfRy0ooRtLiXwiN4xIt0NdkqflmfLi
 V7ODE5B9+fXooIz/N3Yvoy+rt+kQ7lkA05XP2jH9rLqZyPUyXWunN1bW+GScDGDCG6toPe+Z
 f9Yxu3XOeEcmAoYqJJ1FrtmwP5s59broLMGnA1oEG+SMgauA7JkZHKHwdNOputGwboA4Vm6X
 UeG+997P7SVOZy6TA5NdVR9NunTh+sJnjTy7OguJBSo7SB6y7OLTEFOMkTekydaNrZ0bNsoz
 OpJVBT6MOBjZs7G6uq7sx0=
IronPort-HdrOrdr: A9a23:0dA1jqmZ+JUcYZTIlQZZYGMAQ3npDfIU3DAbv31ZSRFFG/Fxl6
 iV8sjzsiWE7gr5OUtQ4exoV5PhfZqxz/JICMwqTNKftWrdyQyVxeNZnOjfKlTbckWUnINgPO
 VbAsxD4bXLfCFHZK3BgTVQfexO/DD+ytHLudvj
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="62699895"
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 v9 18/30] build: generate x86's asm-macros.h with filechk
Date: Tue, 25 Jan 2022 11:00:51 +0000
Message-ID: <20220125110103.3527686-19-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125110103.3527686-1-anthony.perard@citrix.com>
References: <20220125110103.3527686-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>
Acked-by: Jan Beulich <jbeulich@suse.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 9494e4a3df79..de7f7ce07b98 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -230,18 +230,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
@@ -255,7 +258,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 Jan 25 11:07:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 11:07:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260097.449253 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJff-0006Tu-Ih; Tue, 25 Jan 2022 11:07:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260097.449253; Tue, 25 Jan 2022 11:07:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJff-0006PZ-66; Tue, 25 Jan 2022 11:07:31 +0000
Received: by outflank-mailman (input) for mailman id 260097;
 Tue, 25 Jan 2022 11:07:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rP4T=SJ=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nCJa9-0006Mn-KP
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 11:01:49 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 303aa9cf-7dce-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 12:01:47 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 303aa9cf-7dce-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643108507;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=7LVYW8YWOJlXXAUd6KoKnvWUHrnrQ1R9DfyWOZvNP8c=;
  b=bW1dUCLhgpo1Zgb4sLneELhHSCRh3KzA9D5jrqidYdejnEGMafbuRm87
   EOUmi8d0Z+8AtS7hZgLNKSyaDYvdsMMJo6hSYKIRejnfVjdGU0HSOsXYv
   ik6CUaskLmPOrtbYwK6E15i4aTbZhgSeB+/yGGFQcsHcl2Rnzyedr+1nl
   o=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: BJ5OhIWmiv5bNqa4JeEk82dycIC++1IzrapYmnxdQSAUiZr8yTZdq7T1ruyFP6VvWtbZy1iVyS
 h+Jzyb/0ZLEofJdMWNljj+/vvC6ZSh1bRhEeeGk2fkolObZMSqh/DX/UhWuowxvhzk/njaI6lX
 h0PHuLgFaeD0h5/7A2H/jKbEmIFk50Bt8+WDkUglIHeA5RwnSKTHh1/0bnDIun2tcq0SsQpcGC
 mp46fh3Fl796oHuFXmSoo4NnJ/7UfN2V7urh/WCU1WNY+UR3VgJvp3zQTPpSwI9s4jh7pW297g
 B8jA9rwRofD9Im9fUPolNDd0
X-SBRS: 5.2
X-MesageID: 63106973
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:bOI9v6suCZdu7gjXSF6WY/tvHufnVKpZMUV32f8akzHdYApBsoF/q
 tZmKWuAPa7camr8fdt2atm+8RkPu8XSmIdgTgE5/ylnF38b+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZQP0VOZigHtIQMsadUsxKbVIiGHdJZS5LwbZj2NYx24XhWmthh
 PupyyHhEA79s9JLGjp8B5Kr8HuDa9yr5Vv0FnRnDRx6lAe2e0s9VfrzFonoR5fMeaFGH/bSe
 gr25OrRElU1XfsaIojNfr7TKiXmS1NJVOSEoiI+t6OK2nCuqsGuu0qS2TV1hUp/0l20c95NJ
 Nplt8SwQwggNYz1xtseCjNCEXovHvBv5+qSSZS/mZT7I0zudnLtx7NlDV0sPJ1e8eFyaY1M3
 aVGcnZXNEnF3r/ohuLgIgVvrp1LwM3DNYUDunZm3HfBAOwvW5zrSKTW/95Imjw3g6iiGN6AP
 JNBN2swN3wsZTVJAXQUB5cdrt64rV/yTBlGlXO4gvootj27IAtZj+G2bYu9lsaxbd5Ogk+Sq
 2bC/mL4KhIXLtqSzXyC6H3ErvDLtTP2XsQVDrLQ3vx3hFyewEQDBRtQUkG0ydGph0j7V99BJ
 kg8/is1sbN05EGtVsP6XRCzvDiDpBF0c9haHvA+6QqN4rHJ+AvfDW8BJgOtc/R/6pVwH2Zzk
 AbUwZW5XlSDrYF5V1qfrreeojq5GBFLEmxbTzUGFlomvvD89dRbYg30cv5vF6u8j9vQED72w
 iyXoCVWu4j/nfLnxI3gowmZ3mvESozhC1dsu16JBj7NAhZROdb9D7FE/2Q3+hqpwGyxalCa9
 EYJlMGFhAzlJcHczXfdKAnh8VzA2hpkDNE+qQM3d3XC3270k5JGQWy2yGsiTKuOGp1cEQIFm
 GeJ5WtsCGZ7ZRNGl5NfbYOrENgNxqP9D9njXf28RoMQPsMpKF7Yo38/NBb4M4XRfK4Ey/1X1
 XCzKp7EMJrnIf4/kGreqxk1j9fHORzSNUuMHMumnnxLIJKVZWKPSKdtDbd9RrtR0U9wmy2Mq
 4w3H5LTk313CbSiCgGKr9J7BQ1UfBATWMCnw+QKJ7XrClc3Rwkc5wr5nOlJl3pNxfoFz48lP
 xiVBydl9bYIrSSXcFrRMiE6NuqHsFQWhStTABHA9G2AgxALCbtDJo9FH3fuVbV4puFl09BuS
 PwJJ5eJDvhVE2yV8DUBd5jt6odlcU3z1w6JOiOkZhk5foJhGFOVqoO1IFO3+XlcFDezuOs/v
 6akilHRT60cSlkwF83Rcv+ukQ+85CBPhOJoUkLUCdBPY0GwopNyIin8g6ZvccEBIBnO3BWA0
 AOSDUtKrOXBudZtotLImbqFv8GiFO4nRhhWGGzS7LCXMyjG/zX8nd8cAbjQJT2EDTH64qSvY
 +lR3srQCvxfkQYYqZd4HpZq0bk6u4nlqYhFw1k2B37MdVmqVO9teyHUwclVu6RR7bZFog/qC
 FmX89xXNLjVasPoFFkdeFgsYuiZjKxGnzDT6bI+IVng5T8x972CCB0AMx6JgS1bDb10LIJ6n
 rtx5J9Is1Sy2kgwL9KLriFI7GDdfHUPXpIuuoweHIK22BEgzUtPYMCEByL7iH1Vhw6g7qX+z
 ueouZf/
IronPort-HdrOrdr: A9a23:GPjN0qkVmsXL1bLF3kIIouQl2gbpDfIE3DAbv31ZSRFFG/Gwve
 aIodg96FvIuA88MUtQ/exo9pPgfVrw3aNYiLN9AV7PZmXbkU+JCK0n0qfY+R3HPETFltK1t5
 0QFpSWYeeYZTMRse/B3CKaP/wcqePpzEnHv4njJw4Hd3AIV0k3hD0JaDqmLg==
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="63106973"
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>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: [XEN PATCH v9 15/30] build: handle always-y and hostprogs-always-y
Date: Tue, 25 Jan 2022 11:00:48 +0000
Message-ID: <20220125110103.3527686-16-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125110103.3527686-1-anthony.perard@citrix.com>
References: <20220125110103.3527686-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>
Acked-by: Jan Beulich <jbeulich@suse.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 13c1943da97e..5f2368805b36 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -78,9 +78,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))
@@ -283,7 +291,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 Jan 25 11:07:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 11:07:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260098.449283 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJfl-0007eq-C2; Tue, 25 Jan 2022 11:07:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260098.449283; Tue, 25 Jan 2022 11:07:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJfl-0007eU-3B; Tue, 25 Jan 2022 11:07:37 +0000
Received: by outflank-mailman (input) for mailman id 260098;
 Tue, 25 Jan 2022 11:07:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rP4T=SJ=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nCJb2-0006Mn-C6
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 11:02:44 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 50fcf369-7dce-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 12:02:43 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 50fcf369-7dce-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643108563;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=Pf+rJf+H7YlDDio2xF1w7jWKbBY30COaMLlH5VZa/KI=;
  b=iFzJw3PsRk4noNEXijIaafFzmvEO/NiimQbpLZ/Cg7aAJhjdcqVQT6om
   xvQ8HdeJVWCjvhGz1vocwrVGVm2pe66qaHqeimfkLZmmeeheEtdY8NNuD
   L1XTmAA62tTvA5rZ3C5xesnDScLiM1gVWkO0nRWPn338HJQpwY70SQxeY
   o=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: 12IceQB92gtkZlJSurxvXcagHZefC0URpMS6/gEGskjPQGxzaLkOW+rIOFqxvLDAe6sR65klEo
 WUoHqhM/WTzB/wlN9888maMq+MMPndHQ1aR1J9dv/tmjxT97M2BT7Ogho9JLeecyEQ+aRgXBb/
 +HW9w6ReOz27hWbskyjDF8UEmvToflArWwboIbZrIXObU9KqDiDp2qIRz/gRr5JYLzMoCrT/eF
 PoLHP3nur2zEhHaISArTToybOjtOmWXgdYNKWMF0wtSxturXbI6WfhhaEQuHib5s9rK+cwUY21
 vDmUPvkJHtP0SISK8j82JXTu
X-SBRS: 5.2
X-MesageID: 63107014
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:5quTuK2a5FfN48CHhfbD5Xl2kn2cJEfYwER7XKvMYLTBsI5bpzIAm
 DdJUW2APKmNYGCgf9Egb97k9UhXucPTytUxT1NopC1hF35El5HIVI+TRqvS04J+DSFhoGZPt
 Zh2hgzodZhsJpPkS5PE3oHJ9RGQ74nRLlbHILOCanAZqTNMEn9700o6wbNh2+aEvPDia++zk
 YKqyyHgEAfNNw5cagr4PIra9XuDFNyr0N8plgRWicJj5TcypFFMZH4rHomjLmOQf2VhNrXSq
 9Avbl2O1jixEx8FUrtJm1tgG6EAaua60QOm0hK6V0U+6/TrS+NbPqsTbZIhhUlrZzqhpdAo5
 8tt6aGKVAIqYKrlnuUbURB7HHQrVUFG0OevzXmXtMWSywvNcmf2wuUoB0YzVWEa0r8pWycUr
 6VecW1TKEDY7w616OvTpu1Ej8I/LM7tLcUHt2tp1z3xBvc6W5HTBa7N4Le02R9u3ZkWQq6HO
 6L1bxJsayvtZB12ZG0cFZJkusrwhCTCfw1H/Qf9Sa0fvDGIkV0ZPKLWGMXRUsyHQ4NShEnwj
 lzB+2P1ExQLLuu1wDCO8m+vruLXlCa9U4UXfJWy++R2mlSVyioWAQcPSFqgifCjjwi1XNc3A
 1cP5iMkoKw29UqqZtrwRRu1pDiDpBF0c8pdFag25R+AzoLQ4h2FHS4UQzhZctskucQqAzsw2
 TehndnkGDhuu729Um+G+/GfqjbaESoIKW4PYwcUQA1D5MPsyLzflTqWEIwlSvTsyISoR3egm
 FhmsRTSmZ0pjZckyYXnwGrahjHyobHPTwg37ybYCzfNAhxCWKapYImh6F7+5PlGLZqEQlTpg
 EXoi/Ry/8hVU8jTyXXlrPElWejwuq3baGG0bUtHQsF5nwlB7UJPamy5DNtWAE5yevgJdjbyC
 KM4kVMAvcQDVJdGgEIeXm5QNyjI5fW4fTgGfqqNBjarXnSXXFXblM2JTRXIt10BaGB2zckC1
 W6zKK5A90oyB6V91yaRTOwAy7ItzS1W7TqNGcujk0X4juTPNSb9pVI53L2mNLxRAESs+129z
 jqiH5HSl0U3vBPWPEE7DrL/3XhVdCNmVPgaWuRcd/KZIxoOJY3SI6S5/F/VQKQ8x/49vr6Rp
 hmVAxYEoHKi2yGvAVjUOxhLNeO+Nb4i/ClTFXF9Yj6VN40LPNzHAFE3LcVnJNHKNYVLkJZJc
 hXyU5zQW6sUEmWepW11gFuUhNUKSSlHTDmmZ0KNCAXTtbY8L+AQ0tO7LAbp6gcUCS+76Zk3r
 7G6j1uJSpsfXQVySs3Rbav3nV+2uHEcnsN0XlfJfYYPKBm9rtAyJnyjlOIzLuENNQ7HmmmQ2
 TGJDEpKvuLKuYI0roXE3PjWs4ezHuJiNUNGBG2Hv62uPCzX8zP7k49NWeqFZx7HU2bw9Pnwb
 OlZ1aikYvYGgExLo8x3FLMylfAy4N7mprl7yAV4HSqUMwT3W+04enTfhJtBrKxAwLNdqDCaY
 EPX94kII6iNNePkDEUVeFgvYNOc2KxGgTLV9/k0fhn3vXcl4LqdXExOFBCQkygBfqBtOYYoz
 Op96s4b7wuz1kgjPtqc130G8m2NKjoLUrk9t4FcC4ju01J5xlZHaJ3aKyn3/JDQNIkcbhh0e
 meZ1PjYmrBR5kveaH5iR3HC0N1UiYkKpB0XnkQJIE6Em4adi/I6tPGLHe/bkuiBIs177t9O
IronPort-HdrOrdr: A9a23:PaBtvq69H5kKpOthnwPXwM7XdLJyesId70hD6qhwISY7TiX+rb
 HIoB17726MtN9/YhAdcLy7VZVoBEmsl6KdgrNhWYtKPjOHhILAFugLhuHfKn/bakjDH4ZmpM
 FdmsNFZuEYY2IXsS+D2njaL+od
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="63107014"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH v9 24/30] build: grab common EFI source files in arch specific dir
Date: Tue, 25 Jan 2022 11:00:57 +0000
Message-ID: <20220125110103.3527686-25-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125110103.3527686-1-anthony.perard@citrix.com>
References: <20220125110103.3527686-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 make the symbolic
link as needed from the build location.

The `ln` command is run every time to allow to update the link in case
the source tree change location.

This patch also introduce "efi-common.mk" which allow to reuse the
common make instructions without having to duplicate them into each
arch.

And now that we have a list of common source file, we can start to
remove the links to the source files on clean.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Notes:
    v9:
    - rename efi_common.mk to efi-common.mk
    - generalize comment about cleaning "efi" and "boot" subdir in x86.
    - add a space after the other comma of $(patsubst )
    - create a relative symlink instead of an absolute one
    - with the above, we don't need to use $(abs_srctree) anymore in the
      prerequisite of the link to the efi source file, use $(srctree).
    
    v8:
    - use symbolic link instead of making a copy of the source
    - introduce efi_common.mk
    - remove links to source file on clean
    - use -iquote for "efi.h" headers in common/efi

 xen/Makefile                 |  5 -----
 xen/arch/arm/efi/Makefile    |  4 ++--
 xen/arch/x86/Makefile        |  3 ++-
 xen/arch/x86/efi/Makefile    |  5 +----
 xen/common/efi/efi-common.mk | 15 +++++++++++++++
 5 files changed, 20 insertions(+), 12 deletions(-)
 create mode 100644 xen/common/efi/efi-common.mk

diff --git a/xen/Makefile b/xen/Makefile
index 8baa260b93a7..443784dfce80 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -444,11 +444,6 @@ $(TARGET).gz: $(TARGET)
 $(TARGET): FORCE
 	$(Q)$(MAKE) $(build)=tools
 	$(Q)$(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
 	$(Q)$(MAKE) $(build)=include all
 	$(Q)$(MAKE) $(build)=arch/$(TARGET_ARCH) include
 	$(Q)$(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..4313c390665f 100644
--- a/xen/arch/arm/efi/Makefile
+++ b/xen/arch/arm/efi/Makefile
@@ -1,4 +1,4 @@
-CFLAGS-y += -fshort-wchar
+include $(srctree)/common/efi/efi-common.mk
 
-obj-y += boot.init.o pe.init.o ebmalloc.o runtime.o
+obj-y += $(EFIOBJ-y)
 obj-$(CONFIG_ACPI) +=  efi-dom0.init.o
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index c94b4092d4c1..a847c989ff92 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -77,8 +77,9 @@ obj-$(CONFIG_COMPAT) += x86_64/platform_hypercall.o
 obj-y += sysctl.o
 endif
 
-# Allows "clean" to descend into boot/
+# Allows "clean" to descend
 subdir- += boot
+subdir- += efi
 
 extra-y += asm-macros.i
 extra-y += xen.lds
diff --git a/xen/arch/x86/efi/Makefile b/xen/arch/x86/efi/Makefile
index e08b4d8e4808..034ec87895df 100644
--- a/xen/arch/x86/efi/Makefile
+++ b/xen/arch/x86/efi/Makefile
@@ -1,4 +1,4 @@
-CFLAGS-y += -fshort-wchar
+include $(srctree)/common/efi/efi-common.mk
 
 quiet_cmd_objcopy_o_ihex = OBJCOPY $@
 cmd_objcopy_o_ihex = $(OBJCOPY) -I ihex -O binary $< $@
@@ -8,9 +8,6 @@ $(obj)/%.o: $(src)/%.ihex FORCE
 
 $(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)
 $(addprefix $(obj)/,$(EFIOBJ-y)): CFLAGS_stack_boundary := $(cflags-stack-boundary)
 
diff --git a/xen/common/efi/efi-common.mk b/xen/common/efi/efi-common.mk
new file mode 100644
index 000000000000..ad3c6f2569c3
--- /dev/null
+++ b/xen/common/efi/efi-common.mk
@@ -0,0 +1,15 @@
+EFIOBJ-y := boot.init.o pe.init.o ebmalloc.o runtime.o
+EFIOBJ-$(CONFIG_COMPAT) += compat.o
+
+CFLAGS-y += -fshort-wchar
+CFLAGS-y += -iquote $(srctree)/common/efi
+
+# Part of the command line transforms $(obj) in to a relative reverted path.
+# e.g.: It transforms "dir/foo/bar" into successively
+#       "dir foo bar", ".. .. ..", "../../.."
+$(obj)/%.c: $(srctree)/common/efi/%.c FORCE
+	$(Q)ln -nfs $(subst $(space),/,$(patsubst %,..,$(subst /, ,$(obj))))/common/efi/$(<F) $@
+
+clean-files += $(patsubst %.o, %.c, $(EFIOBJ-y:.init.o=.o) $(EFIOBJ-))
+
+.PRECIOUS: $(obj)/%.c
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 11:07:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 11:07:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260099.449288 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJfl-0007jr-Uu; Tue, 25 Jan 2022 11:07:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260099.449288; Tue, 25 Jan 2022 11:07:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJfl-0007hZ-Hk; Tue, 25 Jan 2022 11:07:37 +0000
Received: by outflank-mailman (input) for mailman id 260099;
 Tue, 25 Jan 2022 11:07:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rP4T=SJ=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nCJaV-0006t5-9x
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 11:02:11 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3d1fe641-7dce-11ec-bc18-3156f6d857e4;
 Tue, 25 Jan 2022 12:02:09 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3d1fe641-7dce-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643108530;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=/rio6ojrA2h1MkFyzp9Ib8BoAtp1CgaQstP8lKsEqLA=;
  b=JZWTYEF+CUxQdePmw67cqngKjFvt7EkM0WG99FQIErxsUWAA1CNSn/eL
   STCmD9zwsA1xcwm3abnLrBGEriKe8sE6g0lURayz6HZantqvUHm8NaN1Q
   /13v3l5J77NMNjyY4ltUgGiHmZaWKah2mCxsR2vhxBLYYXt4ATFfdKI/c
   M=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: NqWw4dGl0ToM3jK/1c0bwqcMMJkGcFVGrpQFDcj3XdPbqwNfVrEf7mirbhvlmbWjg0uLAYDPei
 sx16LYWTsOzSKJ7jbyDyJ9Q3dSrAzwLO164MSj/Zs+OFjM9g9Mh5yErVKx6ASskILUKLMSJGyu
 myo8pUDoGVZKA8Czz+bAjyt8/1tqYxd4ajlZNsNkYVkqoqelKyXcTJRItQPtxUUrRN+D38v2nZ
 sn3iP4Mnjr4F5S2rmCvazriZN2/GC11NZ2/KA8qc6OfHjT31+AZ62vEPcXCZBkmNOUbCZTsRTN
 JI/+L+226JW7DYx4zjJ6fgyH
X-SBRS: 5.2
X-MesageID: 62618991
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:i0lCVagB7TVaTG402X+e71P5X1615xcKZh0ujC45NGQN5FlHY01je
 htvXmGFO/mCYGD8edgjaNjn8UJTu5fTy9ExQQVl+SFhRSgb9cadCdqndUqhZCn6wu8v7a5EA
 2fyTvGacajYm1eF/k/F3oAMKRCQ7InQLlbGILes1htZGEk0GE/NtTo5w7Rj2tcy3IDga++wk
 YiaT/P3aQfNNwFcagr424rbwP+4lK2v0N+wlgVWicFj5DcypVFMZH4sDfjZw0/DaptVBoaHq
 9Prl9lVyI97EyAFUbtJmp6jGqEDryW70QKm0hK6UID66vROS7BbPg/W+5PwZG8O4whlkeydx
 /1ImM2zZiUAYZadlbxAcEIDPnh0BIB/reqvzXiX6aR/zmXDenrohf5vEFs3LcsT/eMf7WNmr
 KJCbmpXN1ba2rzwkOnTpupE36zPKOHiOp8fvXdxiynUF/88TbjIQrnQ5M8e1zA17ixLNaiEO
 ZNJOGs2BPjGSzxuHX4bK60Cpsy1ll7lehNXj1aqgKVitgA/yyQuieOwYbI5YOeiXt5Jl0yVo
 mbH+WXRARwAMtGbjz2f/RqEmevnjS79HoUIG9WQ9ONugVCV7nweDlsRT1TTiem0jAuyVsxSL
 2QQ+zEytu4i+UqzVN7/Uhak5nmesXY0WdBdDuk74wGl0bfP7kCSAW1sc9JaQIV47olsH2Vsj
 wLX2YOybdByjFGLYXewp7S7jxrtAnkYdTIhPnQpFAE8zuC29enfkSnzZtpkFae0iPj8Fjfx3
 y2GoUACulkDsSIY//7lpA6a2lpAsrCMF1dovVuPAgpJ+yskPNbNWmC+1bTMAR+sxq69R0LJg
 nULktP2AAsmXcDUz3zlrAng8diUCxe53N/03AYH83oJrW3FF5ufkWZ4um0WyKBBaZ5sRNMRS
 BWP0T69HqN7MnqwdrNQaImsEcksxqWIPY27CquMMosRPcYgJVfvEMRSiai4hTyFfK8EyvlXB
 HtmWZz0USZy5VpPklJauNvxIZd0n3tjlAs/tLjwzgi90Kr2WZJmYextDbd6VchgtPnsiFyMq
 753bpLWoz0CDrGWSnSJoOY7cABbRVBmVMueg5EGKYa+zv9ORTtJI+XP2okoZ4ENt/0Tzo8kC
 FnnBB8BoLc+7FWaQTi3hodLMeO2As0n/CtlZETB/z+AghAeXGpm149HH7NfQFXt3LELISdcQ
 6ZXdsOeLO5ITzibqT0RYYOk9N5pdQixhBLINC2gOWBtc5llTg3P29nlYgqwq3VeUnvp7ZMz8
 ++6ywfWYZsfXAA+XszYX+2ikgGqtn8HleMsA0aReotPeF/h+ZRBIjDqiqNlONkFLBjOn2PI1
 wufDRoCi/PKpos5rIvAiaye9t/7GOpiBEtKWWLc6O/uZyXd+2Oix65GUfqJIm+BBD+lpv36a
 LwMnf/mMfABkFJbiKZGEu5mnfAk+t/ih75G1QA4Tn/FWEumV+F7KX6c0MgR6qAUnu1FuRG7U
 16k88VBPenbI9vsFVMcKVZ3bumH0v1IyDDe4e5sfRf/7S5zurGGTV9TL1+HjykEdOl5N4Ysw
 OEAvs8K6lPg1kp2Y4je1i0EpX6RKnEgUrk8ssBICYDmvQMn11VebMGOESTx+pyON41BP0RCz
 uV4X0Yea2CwHnb/Tkc=
IronPort-HdrOrdr: A9a23:VxNa761OrKnpBDh5C0dwZAqjBI4kLtp133Aq2lEZdPUzSL39qy
 nOpoV/6faaskdzZJhNo7G90cq7L080l6QFhrX5VI3KNGOKhILBFvAF0WKI+UyDJ8SRzI5gPI
 5bAtFD4IKaNzNHZLzBjzVQuexQuOVvi5rFudvj
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="62618991"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH v9 23/30] build,x86: remove the need for build32.mk
Date: Tue, 25 Jan 2022 11:00:56 +0000
Message-ID: <20220125110103.3527686-24-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125110103.3527686-1-anthony.perard@citrix.com>
References: <20220125110103.3527686-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.
We introduce XEN_TREEWIDE_CFLAGS which can be reused in boot/Makefile,
and avoid the need to reparse Config.mk with a different value for
XEN_TARGET_ARCH. From this new $(XEN_TREEWIDE_CFLAGS), we only need to
change -m64 to have the 32bit flags. Then those are applied only to
"cmdline.o" and "reloc.o".

Specifically 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 symbol 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>
---

Notes:
    v9:
    - rename XEN_COMMON_CFLAGS to XEN_TREEWIDE_CFLAGS
    - rename $(head-objs) to $(head-srcs)
    - substitute LDFLAGS_DIRECT in %.lnk rule, rather than changing the value
      of it.
    
    v8:
    - avoid the need to list CFLAGS from Config.mk a second time by
      introducing XEN_COMMON_CFLAGS, and using it in boot/
    - improve LDFLAGS_DIRECT, by just substitute x64 to i368 from x86
      LDFLAGS_DIRECT. And thus avoid copying the logic from Config.mk.

 xen/Makefile                 |  4 +++
 xen/arch/x86/boot/Makefile   | 49 ++++++++++++++++++++++++------------
 xen/arch/x86/boot/build32.mk | 40 -----------------------------
 3 files changed, 37 insertions(+), 56 deletions(-)
 delete mode 100644 xen/arch/x86/boot/build32.mk

diff --git a/xen/Makefile b/xen/Makefile
index dc25fa443b82..8baa260b93a7 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -171,6 +171,10 @@ export LEX = $(if $(FLEX),$(FLEX),flex)
 # Default file for 'make defconfig'.
 export KBUILD_DEFCONFIG := $(ARCH)_defconfig
 
+# Copy CFLAGS generated by "Config.mk" so they can be reused later without
+# reparsing Config.mk by e.g. arch/x86/boot/.
+export XEN_TREEWIDE_CFLAGS := $(CFLAGS)
+
 # CLANG_FLAGS needs to be calculated before calling Kconfig
 ifneq ($(shell $(CC) --version 2>&1 | head -n 1 | grep clang),)
 CLANG_FLAGS :=
diff --git a/xen/arch/x86/boot/Makefile b/xen/arch/x86/boot/Makefile
index 1ac8cb435e0e..ca8001c72b23 100644
--- a/xen/arch/x86/boot/Makefile
+++ b/xen/arch/x86/boot/Makefile
@@ -1,25 +1,42 @@
 obj-bin-y += head.o
+head-srcs := cmdline.S reloc.S
 
-DEFS_H_DEPS = $(abs_srctree)/$(src)/defs.h $(abs_srctree)/include/xen/stdbool.h
+nocov-y += $(head-srcs:.S=.o)
+noubsan-y += $(head-srcs:.S=.o)
+targets += $(head-srcs:.S=.o)
 
-CMDLINE_DEPS = $(DEFS_H_DEPS) $(abs_srctree)/$(src)/video.h \
-	       $(BASEDIR)/include/xen/kconfig.h \
-	       $(BASEDIR)/include/generated/autoconf.h
+head-srcs := $(addprefix $(obj)/, $(head-srcs))
 
-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-srcs)
 
-$(obj)/head.o: $(obj)/cmdline.S $(obj)/reloc.S
+CFLAGS_x86_32 := $(subst -m64,-m32 -march=i686,$(XEN_TREEWIDE_CFLAGS))
+$(call cc-options-add,CFLAGS_x86_32,CC,$(EMBEDDED_EXTRA_CFLAGS))
+CFLAGS_x86_32 += -Werror -fno-builtin -g0 -msoft-float
+CFLAGS_x86_32 += -I$(srctree)/include
 
-$(obj)/cmdline.S: $(src)/cmdline.c $(CMDLINE_DEPS) $(src)/build32.lds
-	$(MAKE) -f $(abs_srctree)/$(src)/build32.mk -C $(obj) $(@F) CMDLINE_DEPS="$(CMDLINE_DEPS)"
+# override for 32bit binaries
+$(head-srcs:.S=.o): CFLAGS_stack_boundary :=
+$(head-srcs:.S=.o): XEN_CFLAGS := $(CFLAGS_x86_32) -fpic
 
-$(obj)/reloc.S: $(src)/reloc.c $(RELOC_DEPS) $(src)/build32.lds
-	$(MAKE) -f $(abs_srctree)/$(src)/build32.mk -C $(obj) $(@F) RELOC_DEPS="$(RELOC_DEPS)"
+$(head-srcs): %.S: %.bin
+	(od -v -t x $< | tr -s ' ' | awk 'NR > 1 {print s} {s=$$0}' | \
+	sed 's/ /,0x/g' | sed 's/,0x$$//' | sed 's/^[0-9]*,/ .long /') >$@
+
+# 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) $(subst x86_64,i386,$(LDFLAGS_DIRECT)) -N -T $(filter %.lds,$^) -o $@ $<
 
 clean-files := cmdline.S reloc.S *.lnk *.bin
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 Jan 25 11:07:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 11:07:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260101.449295 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJfn-0007tm-6o; Tue, 25 Jan 2022 11:07:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260101.449295; Tue, 25 Jan 2022 11:07: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 1nCJfm-0007re-Gi; Tue, 25 Jan 2022 11:07:38 +0000
Received: by outflank-mailman (input) for mailman id 260101;
 Tue, 25 Jan 2022 11:07:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rP4T=SJ=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nCJa3-0006Mn-Pk
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 11:01:44 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2cb4b68b-7dce-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 12:01:42 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2cb4b68b-7dce-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643108502;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=XFCy/tbXHIj1KeQggXI+HH1Gihl0/hu0SfYLyTgAdc0=;
  b=OSYgn78swrfyV3Ys7dJI1KcZtEDp9uX1K5ChuXt8U2Y6daovADFtPq3h
   1bzhgnL3qbc0nu3S7JdbFrex+in04Pg3t0UinX7T9ajBOIooH8JTQVJAg
   dOzYfzGX0vCo09oycZic9IL+oliIyAyQ6KFEY6iim3+7nhYxTeO12qbOv
   4=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: PCS8t+L22/7UiNHmoVYBXR+gqkM1Kx3BJWhysIk2Z8BhCxJl4ScX1FqFcd2pE7BDR6t8cObhAG
 YOQKHiHSDUKFktwDRycpAWrmK7P0b1Q5Y24L+/2IiQH7Jl4yIh2OAhHUIX7Tp5WizvsSchk+wX
 XvjqCBo3BUZ4wSRADXbEyB4s/tu9OTEReigZTSQS1CeNiOflatxo3NrY73DCPi2aY9QbfAweQJ
 LB3fw8C0M/c22kp+xc2WGppSt49Z0C7/LDdEygc5JFd4yAnFYrMdQqUC/6quyQPni/Gmb6OPJe
 GL3gVyI4cRCH7jbWtJSO9WL2
X-SBRS: 5.2
X-MesageID: 62618953
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:hmfodqDG0hwGxRVW/6Dkw5YqxClBgxIJ4kV8jS/XYbTApDwk12NRn
 GYXCzvVO6neZGX3eIwnb9+18hwPvsTdnd5lQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMo/u1Si6FatANl1ElvU2zbue6WL6s1hxZH1c+En940087wobVv6Yz6TSHK1LV0
 T/Ni5W31G+Ng1aY5UpNtspvADs21BjDkGtwUm4WPJinj3eH/5UhN7oNJLnZEpfNatI88thW5
 Qr05OrREmvxp3/BAz4++1rxWhVirrX6ZWBihpfKMkQLb9crSiEai84G2PQghUh/hQSgpOha7
 5J2q7eXWBwIPPzhkr1EXEwNe81+FfUuFL7vJHG+tYqYzlHccmuqyPJrZK00FdRGoKAtWzgIr
 KFGbmBWBvyAr7veLLaTQ+9whsMlPY/zMZkWoH1IxjDFF/c2B5vERs0m4PcGhmlp1pETRp4yY
 eIrUWZ3XC/tPyddO20MJJk9pffxv0fGJmgwRFW9+vNsvjm7IBZK+KP2LNPfd9iORMNUtkWVv
 GTL+yL+GB5yHMOb4SqI9DSrnOCntSjyQo4VGZWz/+Rmh1DVzWsWYDUGWF3+rfSnh0qWX9NEN
 1dS6icotbI19kGgUp/6RRLQiHyOswMYWtFQO/Yn8wzLwa3Riy6bG2wFQzhpeNEg8sgsSlQXO
 kShxo2zQ2Y16fvMFCzbpuz8QS6O1TY9I14rXhcvakw+/fLEsZoSjEPiRI86H/vg5jHqIg3Yz
 zePpSk4orwci88Xyqm2lWz6byKQSovhFVBsuFiONo6xxkYgPdP+OdT0gbTOxasYdO6kok+9U
 G/ociR0xMQHFtmzmSOEW43h95n5tq/eYFUwbbOCdqTNFghBGVb+Jei8AxkkfS+F1/ronxezP
 Cc/XisKvPdu0IOCN/MfXm5II51CIVLcPdrkTOvISdFFf4J8cgSKlAk3OxLLhzy8zxdywPBnU
 Xt+TSpKJSxGYUiA5GHuL9rxLJdxnnxurY8tbc6TI+ubPUq2OyfOFOZt3KqmZeEl9qKUyDg5A
 P4EX/ZmPy53CbWkCgGOqNZ7BQlTcRATWM6qw+QKKL/rClc2SQkJVq6KqZt8KtMNokigvrqSl
 p1LchUGmAOXaLyuAVjiV02Pn5u2Dc8g9ipqZHJ1VbtqslB6CbuSAG4kX8NfVdEaGCZLlJaYl
 tEJJJeNBOphUDPC92hPZJXxttU6Jh+qmRiPL2yuZz1mJ8xsQAnA+9nFeArz9XZRUnrr5JVm+
 7DwhBnGRZcjRhh5CJqEYvyY0F7s72MWn/h/XhWUL4ALKlns6oVjNwf4kuQzf5MXMRzGyzbDj
 1SWDB4UqPPjuYgw9NWV16mIo53wS7l1H1ZAHnmd5rGzbHGI8m2myI5GceCJYTGCCz+kpPT8P
 b1YlqiuPucGkVBGt5tHP4xqla9utcHyo7J6zxh/GCmZZVqcFb49cGKN2tNCt/MRy+YB6xe2Q
 E+G5vJTJa6NZJH+CFcUKQcoMraD2PUTlmWA5Pg5Ohyntip+/b7BWkROJRiczidaKeItYo8ix
 O4gvu8Q6hC+1UV2YorX0HgM+jTeNGEEXoUmqooeUd3ihQccw11fZYDRV33t65aVZtQQakQnL
 1d4XkYZa2iwEqYaT0cOKA==
IronPort-HdrOrdr: A9a23:cafFba2IEc+3GgCr4HL71gqjBIokLtp133Aq2lEZdPRUGvb3qy
 nIpoV86faUskdoZJhOo7C90cW7LU80sKQFhLX5Xo3SOzUO2lHYT72KhLGKq1aLdhEWtNQtsZ
 uIG5IOceEYZmIasS+V2maF+q4bsbu6zJw=
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="62618953"
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>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Doug Goldstein
	<cardoe@cardoe.com>
Subject: [XEN PATCH v9 12/30] build: hook kconfig into xen build system
Date: Tue, 25 Jan 2022 11:00:45 +0000
Message-ID: <20220125110103.3527686-13-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125110103.3527686-1-anthony.perard@citrix.com>
References: <20220125110103.3527686-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.

"tools/kconfig/Makefile" now needs a workaround to not rebuild
"$(XEN_ROOT)/.config", as `make` tries the rules "%.config" which
fails with:
    tools/kconfig/Makefile:95: *** No configuration exists for this target on this architecture.  Stop.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---

Notes:
    v8:
    - reviewed
    - adjust Makefile.host to use the renamed macro "multi-depend".
    - move .config empty rules workaround into kconfig/Makefile (from Rules.mk)
      and merge the change of patch
            build: add an other explicite rules to not build $(XEN_ROOT)/.config
      into
            build: hook kconfig into xen build system

 xen/Makefile                                 |  34 ++++--
 xen/Rules.mk                                 |  13 ++-
 xen/scripts/Kbuild.include                   |  31 ++++++
 xen/scripts/Makefile.clean                   |  11 +-
 xen/{tools/kconfig => scripts}/Makefile.host |  11 +-
 xen/tools/kconfig/Makefile                   |   3 +
 xen/tools/kconfig/Makefile.kconfig           | 106 -------------------
 7 files changed, 86 insertions(+), 123 deletions(-)
 rename xen/{tools/kconfig => scripts}/Makefile.host (95%)
 delete mode 100644 xen/tools/kconfig/Makefile.kconfig

diff --git a/xen/Makefile b/xen/Makefile
index 3dc7b4da10fb..0705e67a9e7d 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -40,6 +40,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
@@ -163,6 +164,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 :=
@@ -203,9 +211,6 @@ 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
@@ -221,14 +226,14 @@ filechk_kconfig_allconfig = \
 .allconfig.tmp: FORCE
 	set -e; { $(call filechk_kconfig_allconfig); } > $@
 
-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: .allconfig.tmp FORCE
-	$(MAKE) $(kconfig) KCONFIG_ALLCONFIG=$< $@
+%config: .allconfig.tmp tools_fixdep FORCE
+	$(Q)$(MAKE) $(build)=tools/kconfig KCONFIG_ALLCONFIG=$< $@
 
 else # !config-build
 
@@ -238,9 +243,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
@@ -249,7 +260,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
@@ -406,9 +417,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 fea3f70cdb72..13c1943da97e 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -89,6 +89,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)))
 
@@ -267,7 +274,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 872adfb456c3..ed48fb39f1f1 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 c3b0681611da..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) ;
+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 95%
rename from xen/tools/kconfig/Makefile.host
rename to xen/scripts/Makefile.host
index 4c51c95d40f4..8a85f94316bc 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     $@
@@ -114,7 +117,7 @@ quiet_cmd_host-cmulti	= HOSTLD  $@
 			  $(KBUILD_HOSTLDLIBS) $(HOSTLDLIBS_$(target-stem))
 $(host-cmulti): FORCE
 	$(call if_changed,host-cmulti)
-$(call multi_depend, $(host-cmulti), , -objs)
+$(call multi-depend, $(host-cmulti), , -objs)
 
 # Create .o file from a single .c file
 # host-cobjs -> .o
@@ -132,7 +135,7 @@ quiet_cmd_host-cxxmulti	= HOSTLD  $@
 			  $(KBUILD_HOSTLDLIBS) $(HOSTLDLIBS_$(target-stem))
 $(host-cxxmulti): FORCE
 	$(call if_changed,host-cxxmulti)
-$(call multi_depend, $(host-cxxmulti), , -objs -cxxobjs)
+$(call multi-depend, $(host-cxxmulti), , -objs -cxxobjs)
 
 # Create .o file from a single .cc (C++) file
 quiet_cmd_host-cxxobjs	= HOSTCXX $@
@@ -165,7 +168,7 @@ quiet_cmd_host-cshlib	= HOSTLLD -shared $@
 			  $(KBUILD_HOSTLDLIBS) $(HOSTLDLIBS_$(target-stem).so)
 $(host-cshlib): FORCE
 	$(call if_changed,host-cshlib)
-$(call multi_depend, $(host-cshlib), .so, -objs)
+$(call multi-depend, $(host-cshlib), .so, -objs)
 
 # Link a shared library, based on position independent .o files
 # *.o -> .so shared library (host-cxxshlib)
@@ -175,7 +178,7 @@ quiet_cmd_host-cxxshlib	= HOSTLLD -shared $@
 			  $(KBUILD_HOSTLDLIBS) $(HOSTLDLIBS_$(target-stem).so)
 $(host-cxxshlib): FORCE
 	$(call if_changed,host-cxxshlib)
-$(call multi_depend, $(host-cxxshlib), .so, -objs)
+$(call multi-depend, $(host-cxxshlib), .so, -objs)
 
 targets += $(host-csingle)  $(host-cmulti) $(host-cobjs)\
 	   $(host-cxxmulti) $(host-cxxobjs) $(host-cshlib) $(host-cshobjs) $(host-cxxshlib) $(host-cxxshobjs)
diff --git a/xen/tools/kconfig/Makefile b/xen/tools/kconfig/Makefile
index f39521a0ed5b..b7b9a419ad59 100644
--- a/xen/tools/kconfig/Makefile
+++ b/xen/tools/kconfig/Makefile
@@ -91,6 +91,9 @@ endif
 
 configfiles=$(wildcard $(srctree)/kernel/configs/$@ $(srctree)/arch/$(SRCARCH)/configs/$@)
 
+# Don't try to remake this file included by Config.mk.
+$(XEN_ROOT)/.config: ;
+
 %.config: $(obj)/conf
 	$(if $(call configfiles),, $(error No configuration exists for this target on this architecture))
 	$(Q)$(CONFIG_SHELL) $(srctree)/tools/kconfig/merge_config.sh -m .config $(configfiles)
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 Jan 25 11:07:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 11:07:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260102.449301 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJfo-00085n-II; Tue, 25 Jan 2022 11:07:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260102.449301; Tue, 25 Jan 2022 11:07:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJfn-000828-LB; Tue, 25 Jan 2022 11:07:39 +0000
Received: by outflank-mailman (input) for mailman id 260102;
 Tue, 25 Jan 2022 11:07:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rP4T=SJ=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nCJa0-0006Mn-Su
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 11:01:41 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 29dac2ae-7dce-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 12:01:37 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 29dac2ae-7dce-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643108497;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=y9Sbmh9sSFdUQIMS7iecs4Bg8Gd3vQzmMWvzrk0nedI=;
  b=KlTxLlv7JI48Hi4jwmRHTaFl3pMPyR5PyTCuiCaXkK16MwOHEyF9+1kc
   vXa3d70cqxr3dUyPRFVO17NrJi5IVDTZzMzzC22MB2h/snJRIFg57Zzek
   VYwLWdNt0lkmd9vyWymmOaH38fhUmcrh6wjxUuTiXekrzqUdvNnaSFF6T
   Y=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: A7kqu2pIXg7mV3RPVBE3kaTC5YEmkvQEnMDSAwZJVKifn9gVNdv7mbxXbvgouVx5fz9X9nnM1m
 w4YDmUjWtyjP1U5YauxQnnflkqMpoh8x3QbgdKV157HliAfHRfyROH9qdsaGh81ffPxUti/fre
 CyVfdBn45DGrVVjetgpbbok9FQZrTJDlHGiF01NxNale8esF1N6Vi0FnWeJNlj6V43xtXK64fB
 jGiNMppcYxaxSa+dRRT+Do5IvF2wKSvV+LreByX4yBJVW5I176Ro313b3xZCmOROQJS+kyWxyJ
 QqEzIqpch3U6NeDYGyGso4am
X-SBRS: 5.2
X-MesageID: 64860835
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:HhX9RaAkEQPJ7RVW//Xlw5YqxClBgxIJ4kV8jS/XYbTApDx00TEFx
 jQbUTjUaPmKNGame910O9uwpBsCv5fQn9ZkQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMo/u1Si6FatANl1ElvU2zbue6WL6s1hxZH1c+En940087wobVv6Yz6TSHK1LV0
 T/Ni5W31G+Ng1aY5UpNtspvADs21BjDkGtwUm4WPJinj3eH/5UhN7oNJLnZEpfNatI88thW5
 Qr05OrREmvxp3/BAz4++1rxWhVirrX6ZWBihpfKMkQLb9crSiEai84G2PQghUh/h2+Yw8lU6
 ux27b/sYxUbA/zTm95ETEwNe81+FfUuFL7vJHG+tYqYzlHccmuqyPJrZK00FdRGoKAtWzgIr
 KFGbmBWBvyAr7veLLaTQ+9whsMlPY/zMZkWoH1IxjDFF/c2B5vERs0m4PcGgGdu3pAVQJ4yY
 eIbZ2U+Mg7iRSZiZGYUKtUOouqMqlDGJmgwRFW9+vNsvjm7IBZK+LrnPcfRe9eKbd5IhUver
 WXDl0z7HxUbOdq32TeDtHW2iYfngifTSI8UUrqi+ZZCglKJz2gXIBQTXEm8p7+yjUvWc95HM
 EkV5ioGpLA/7lC2VcL6WwCkoXmCpVgXXN84O/Yh9AiHx67Q4gCYLmsJVDhMbJohrsBebTYt3
 FWYksjpATFqubu9RneU97PSpjS3UQAeKmkEYi0IRBUE+PHspYgyilTESdMLOK2yiMf8FXfvw
 jSJhC8kjr4XgIgA0KDT1UDKhXegq4bESiYx5x7LRSS14wVhfomnaoe0r1/B4p5oJYKYVUWIv
 WJCldKX6usPFrmSmCfLS+IIdJml6PqIPyfVqUJ+FJkmsTK28jisep44yA95IEBlI8MVYwjDa
 UXYuR5SzJJLNX7sZqhyC6q7Bt4216HmGZLgX+rNc9tVSpFrcUmM+yQGWKKL9zmzyg52y/h5Y
 MrFN5b3ZZoHNUh55DbsVrsE9J0S/XgdmUnBd62q0BediKXLMRZ5Vow5GFeJa+k46oaNrwPU7
 8tTOqO29vlPbAHtSnKJqNBOdDjmOVB+XMmr8JIPKoZvNyI7QDlJNhPH/V82l2WJdYxxn/yAw
 HyyU1QwJLHX1SyeclXihpyOhdrSsXdDQZATYHRE0bWAgSFLjWOTAEE3LcdfkV4Pr7QL8BKMZ
 6NZE/hs+9wWItg9xxwTbIPmsKtpfwmxiASFMkKNOWZjJMY8FlOWpI61JmMDERXi6ALt6aPSR
 JX7jmvmrWcrHVw+XK46ltrxp79OgZTtsL0rBBaZSjWiUE7t7JJrO0TMYgwfeKkxxeH47mLCj
 W6+WE5AzcGU+tNd2ISX2cis8tn4e8MjThsyNzSKtt6eaHiFlldPNKcdCo5kixiHCjOtkEhjD
 M0Ip8zB3AovxQYT7NEkQu81lMrTJbLH/tdn8+itJ12TB3zDN1+qCiLuMRBnuvIfy7lHlxGxX
 07TqNBWNa/QYJHuEUILJRpjZeOGjKlGlj7X5PUzAUP7+C4oo+bXDRQMZ0GB2H5HMb94EII52
 uN96sQY3BOy10gxOdGcgyEKq2nVdi4cU78qv40xCZPwjlZ50UlLZJHRU3ek4JyGZ9hWHFMtJ
 zuY2PjLi7hGnxKQeHsvD3ndm+FagM1W6hxNyVYDIXWPm8bE2aBrjEEAr2xvQ10MnBtd0u91N
 mx6DGFPJP2Dr2VymcxOf2GwAAUdVheXzVP8lgkSn2rDQkj2CmGUdD8hOfyA9Vwy+n5HemQJ5
 6mRzWvoXGq4fMz12SduC0dpp+a6EI50/wzG3sumA96ED98xZj+82v2iYm8Bqh3GB8IthRKY+
 bk2rbgoMaCrZzQNp6AbCpWB0eVCQR+JE2VOXPV98f5bBmrbYjyzhWCDJk3Zlhmh/BAWHZtU0
 /BTG/8=
IronPort-HdrOrdr: A9a23:mr6Pgqi1ggiDCiJoSkEY4TVXj3BQXuYji2hC6mlwRA09TyX+rb
 HLoB17726QtN9/YgBCpTntAsi9qBDnm6Kdg7NhWotKNTOO0AHEEGgL1/qF/9SKIVydygcy78
 ddmoFFeaTN5QcQt63HCXODfOrIauP3iJxA/t2z80tQ
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="64860835"
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>, Julien Grall <jgrall@amazon.com>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.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 v9 09/30] build: build everything from the root dir, use obj=$subdir
Date: Tue, 25 Jan 2022 11:00:42 +0000
Message-ID: <20220125110103.3527686-10-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125110103.3527686-1-anthony.perard@citrix.com>
References: <20220125110103.3527686-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, and $(abs_srctree) and $(abs_objtree) which
have an absolute path.

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.

Adjust cloc recipe: dependency files generated by CC will now have the
full path to the source file, so we don't need to prepend the
subdirectory. This fix some issue with source not been parsed by cloc
before. Also source from tools/kconfig would be listed with changes in
this patch so adjust the find command to stop listing the "tools"
directory and thus kconfig. With a default build of Xen on X86, they
are a few new files parsed by cloc:
    arch/x86/x86_64/compat/mm.c
    arch/x86/x86_64/mm.c
    common/compat/domain.c
    common/compat/memory.c
    common/compat/xlat.c

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Acked-by: Bob Eshleman <bobbyeshleman@gmail.com>
Acked-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---

Notes:
    v9:
    - reviewed
    
    v8:
    - rebased
    - move check for $(obj) in Rules.mk earlier
    - use $(sort ) when adding directories in $(subdir-y)
    - fix missing space between "DEPS" and ":="
    - use -iquote when adding '.' for xen/arch/x86/usercopy.o
    - introduce also abs_srctree and abs_objtree
      those were in patch "build: replace $(BASEDIR) by $(objtree)"
    - reworked cmd_objcopy_fix_sym, we don't need to do anything for old
      version of clang, and for recent version of clang the change is the
      same a for gcc.
    - adjust "cloc" recipe
    - add some more $(Q) to silent $(MAKE) $(build)=...
    
    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                |  36 ++++++----
 xen/Rules.mk                | 138 ++++++++++++++++++++++++------------
 xen/arch/arm/Makefile       |   4 +-
 xen/arch/arm/Rules.mk       |   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                |  12 +++-
 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 +-
 17 files changed, 162 insertions(+), 104 deletions(-)

diff --git a/xen/Makefile b/xen/Makefile
index ec24856a5d46..780d555e8620 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -22,6 +22,15 @@ export CHECKPOLICY	?= checkpolicy
 export BASEDIR := $(CURDIR)
 export XEN_ROOT := $(BASEDIR)/..
 
+abs_objtree := $(CURDIR)
+abs_srctree := $(CURDIR)
+
+export abs_srctree abs_objtree
+
+srctree := .
+objtree := .
+export srctree objtree
+
 # Do not use make's built-in rules and variables
 MAKEFLAGS += -rR
 
@@ -47,7 +56,7 @@ export KCONFIG_CONFIG ?= .config
 
 export CC CXX LD
 
-export TARGET := $(BASEDIR)/xen
+export TARGET := xen
 
 .PHONY: default
 default: build
@@ -250,7 +259,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)
@@ -349,10 +358,10 @@ _install: $(TARGET)$(CONFIG_XEN_INSTALL_SUFFIX)
 
 .PHONY: tests
 tests:
-	$(MAKE) -f $(BASEDIR)/Rules.mk -C test tests
+	$(Q)$(MAKE) $(build)=test
 .PHONY: install-tests
 install-tests:
-	$(MAKE) -f $(BASEDIR)/Rules.mk -C test install
+	$(Q)$(MAKE) $(build)=test install
 
 .PHONY: _uninstall
 _uninstall: D=$(DESTDIR)
@@ -408,16 +417,16 @@ $(TARGET).gz: $(TARGET)
 
 $(TARGET): FORCE
 	$(MAKE) -C tools
-	$(MAKE) -f $(BASEDIR)/Rules.mk include/xen/compile.h
+	$(Q)$(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 MKRELOC=$(MKRELOC) "ALL_OBJS=$(ALL_OBJS-y)" "ALL_LIBS=$(ALL_LIBS-y)" $@
+	$(Q)$(MAKE) $(build)=include all
+	$(Q)$(MAKE) $(build)=arch/$(TARGET_ARCH) include
+	$(Q)$(MAKE) $(build)=. arch/$(TARGET_ARCH)/include/asm/asm-offsets.h
+	$(Q)$(MAKE) $(build)=. MKRELOC=$(MKRELOC) "ALL_OBJS=$(ALL_OBJS-y)" "ALL_LIBS=$(ALL_LIBS-y)" $@
 
 SUBDIRS = xsm arch/$(TARGET_ARCH) common drivers lib test
 define all_sources
@@ -463,19 +472,18 @@ _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)
+	$(Q)$(MAKE) $(build)=$(*D) $(*D)/$(@F)
 
 %.o %.s: %.S FORCE
-	$(MAKE) -f $(BASEDIR)/Rules.mk -C $(*D) $(@F)
+	$(Q)$(MAKE) $(build)=$(*D) $(*D)/$(@F)
 
 %/: FORCE
-	$(MAKE) -f $(BASEDIR)/Rules.mk -C $* built_in.o built_in_bin.o
+	$(Q)$(MAKE) $(build)=$* need-builtin=1
 
 .PHONY: cloc
 cloc:
-	find . -name '*.o.d' | while read f; do \
+	find . -name tools -prune -o -name '*.o.d' -print | while read f; do \
 	    for sf in $$(grep -o "[a-zA-Z0-9_/-]*\.[cS]" $$f); do \
-		sf="$$(dirname $$f)/$$sf"; \
 		test -f "$$sf" && echo "$$sf"; \
 	    done; \
 	done | cloc --list-file=-
diff --git a/xen/Rules.mk b/xen/Rules.mk
index 1e7f47a3d8a8..67112e00773f 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -3,19 +3,29 @@
 # Makefile and are consumed by Rules.mk
 #
 
-obj := .
+ifndef obj
+$(warning kbuild: Rules.mk is included improperly)
+endif
+
 src := $(obj)
 
+PHONY := __build
+__build:
+
 -include $(BASEDIR)/include/config/auto.conf
 
 include $(XEN_ROOT)/Config.mk
 include $(BASEDIR)/scripts/Kbuild.include
 
 # 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, \
@@ -50,27 +60,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 := $(sort $(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
 
@@ -122,29 +159,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
@@ -155,23 +191,15 @@ 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)$(call clang-ifversion,-lt,600,y),yy)
-        cmd_objcopy_fix_sym = $(OBJCOPY) --redefine-sym $<=$(SRCPATH)/$< $(dot-target).tmp $@
+    ifneq ($(CONFIG_CC_IS_CLANG)$(call clang-ifversion,-lt,600,y),yy)
+        cmd_objcopy_fix_sym = \
+	    $(OBJCOPY) --redefine-sym $(<F)=$< $(dot-target).tmp $@ && rm -f $(dot-target).tmp
     else
-        cmd_objcopy_fix_sym = $(OBJCOPY) --redefine-sym $(<F)=$(SRCPATH)/$< $(dot-target).tmp $@
+        cmd_objcopy_fix_sym = mv -f $(dot-target).tmp $@
     endif
-    cmd_objcopy_fix_sym += && rm -f $(dot-target).tmp
 else
     cmd_cc_o_c = $(CC) $(c_flags) -c $< -o $@
 endif
@@ -181,13 +209,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)
 
 
@@ -205,7 +233,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     $@
@@ -217,19 +245,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.
@@ -239,7 +269,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
@@ -250,6 +291,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 c993ce72a341..fd24f0212ffa 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -95,12 +95,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/Rules.mk b/xen/arch/arm/Rules.mk
index c6463a433efd..e69de29bb2d1 100644
--- a/xen/arch/arm/Rules.mk
+++ b/xen/arch/arm/Rules.mk
@@ -1,4 +0,0 @@
-# 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 ;
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 db97ae8c07f0..8fe54ba137ca 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -80,6 +80,9 @@ endif
 extra-y += asm-macros.i
 extra-y += xen.lds
 
+# Allows usercopy.c to include itself
+$(obj)/usercopy.o: CFLAGS-y += -iquote .
+
 ifneq ($(CONFIG_HVM),y)
 $(obj)/x86_emulate.o: CFLAGS-y += -Wno-unused-label
 endif
@@ -129,13 +132,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) \
@@ -199,14 +202,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 7aef93f5f3a0..ff7c7dd68ad7 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 bfd5eaa35f25..e39fa15be7e3 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-nr-fixups := $(shell $(OBJDUMP) -p $(efi-check).efi | grep '^[[:blank:]]*rel
 ifeq ($(efi-nr-fixups),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 0aec8a464364..ba732e4a88c3 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 = $(abs_srctree)/$(src)/defs.h $(abs_srctree)/include/xen/stdbool.h
 
-CMDLINE_DEPS = $(DEFS_H_DEPS) $(src)/video.h \
+CMDLINE_DEPS = $(DEFS_H_DEPS) $(abs_srctree)/$(src)/video.h \
 	       $(BASEDIR)/include/xen/kconfig.h \
 	       $(BASEDIR)/include/generated/autoconf.h
 
@@ -17,7 +17,7 @@ RELOC_DEPS = $(DEFS_H_DEPS) \
 $(obj)/head.o: $(obj)/cmdline.S $(obj)/reloc.S
 
 $(obj)/cmdline.S: $(src)/cmdline.c $(CMDLINE_DEPS) $(src)/build32.lds
-	$(MAKE) -f build32.mk -C $(obj) $(@F) CMDLINE_DEPS="$(CMDLINE_DEPS)"
+	$(MAKE) -f $(abs_srctree)/$(src)/build32.mk -C $(obj) $(@F) CMDLINE_DEPS="$(CMDLINE_DEPS)"
 
 $(obj)/reloc.S: $(src)/reloc.c $(RELOC_DEPS) $(src)/build32.lds
-	$(MAKE) -f build32.mk -C $(obj) $(@F) RELOC_DEPS="$(RELOC_DEPS)"
+	$(MAKE) -f $(abs_srctree)/$(src)/build32.mk -C $(obj) $(@F) RELOC_DEPS="$(RELOC_DEPS)"
diff --git a/xen/build.mk b/xen/build.mk
index af1b28311393..487db14c5884 100644
--- a/xen/build.mk
+++ b/xen/build.mk
@@ -60,6 +60,16 @@ arch/$(TARGET_ARCH)/include/asm/asm-offsets.h: asm-offsets.s
 	  echo ""; \
 	  echo "#endif") <$< >$@
 
+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
 prelink_lto.o: $(ALL_OBJS) $(ALL_LIBS)
@@ -76,4 +86,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 d2f5a956a11a..cd40d5b4c923 100644
--- a/xen/include/Makefile
+++ b/xen/include/Makefile
@@ -61,7 +61,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
@@ -86,8 +86,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 4875bb28c282..c159136adb20 100644
--- a/xen/scripts/Kbuild.include
+++ b/xen/scripts/Kbuild.include
@@ -61,6 +61,12 @@ cc-ifversion = $(shell [ $(CONFIG_GCC_VERSION)0 $(1) $(2)000 ] && echo $(3) || e
 
 clang-ifversion = $(shell [ $(CONFIG_CLANG_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 $(srctree)/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 69fadccd01ea..afb8d589ecae 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 51fd37f6c4d5..49cf730cf098 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 := $(abs_objtree)/$(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 Jan 25 11:07:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 11:07:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260103.449308 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJfp-0008EJ-Cc; Tue, 25 Jan 2022 11:07:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260103.449308; Tue, 25 Jan 2022 11: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 1nCJfo-0008As-Bd; Tue, 25 Jan 2022 11:07:40 +0000
Received: by outflank-mailman (input) for mailman id 260103;
 Tue, 25 Jan 2022 11:07:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rP4T=SJ=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nCJa4-0006Mn-Pu
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 11:01:44 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2e5775e1-7dce-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 12:01:43 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2e5775e1-7dce-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643108503;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=7KAr3KbJf7CWZ9Fur51Yu/oqVGxLt72Hj4OHnlxzeGM=;
  b=ZzeihZigZlU9NKUGweXw5FSG5N8UjYyYHw8VBWKm1QAV8oD9AberY11f
   QtCRxBIAytax32Fp/BFIqNVvF+P9m3fYZXi/gGvhhNSw2Of7Q4Vzh43Ij
   eeqZr2iCkxjsszkBmlWLddG0pyELrYgK3iS6A8jnUoajQiTdMDfiScMfd
   o=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: McnHcUqrvVuBtNsy2nBmdrQC5F0zH3331/KGX+mWFR7FMMkEZ3Dll/UQ4mtoB/4ih9Pp+tA9ru
 kTk2pKYIPKF8UtpS43uSpY5ZR7PAhwCwL0Gzpp95Yr/QdVStxudk1g8FA7+BTwVhvsp5kcRWN1
 iYDlDCCekUFz3JaKiOV8M72kQwQZA2sxREblvOGmDB7oTfD+xCe9vRZG0WIk+euq39PdeQNARB
 TUxilvopxFODnNy/8RFM/bDijsxVImcK0XllW07Sf2cRSSXB0oxn1xIfhqUokODIR66O37Vo/K
 B2t2lRtJn9SFwvQOihQXDf6n
X-SBRS: 5.2
X-MesageID: 62618954
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:YIdxmaLPEqQviv8iFE+RDJIlxSXFcZb7ZxGr2PjKsXjdYENSgWMHy
 zYYXWvUaPmMNmPze41yb4Wz8UNS68TWnNFnHAFlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokcxIn5BC5C5xZVG/fjgqoHUVaiUakideSc+EH170Us5xrZg6mJVqYPR7z2l6
 IuaT/L3YDdJ6xYsWo7Dw/vewP/HlK2aVAIw5jTSV9gS1LPtvyB94KYkDbOwNxPFrrx8RYZWc
 QphIIaRpQs19z91Yj+sfy2SnkciGtY+NiDW4pZatjTLbrGvaUXe345iXMfwZ3u7hB3Ys/xr2
 uUK6qe6cgoAI7bDtMEQYzBhRnQW0a1uoNcrIFC6uM2XiUbHb2Ht07NlC0Re0Y8wo7gtRzsUr
 LpBdW5LPkvra+GemdpXTsFlgNgjK8/6epsSoHh6wRnSDOo8QICFSKLPjTNd9Glq2JkeTKuCD
 yYfQR9iQgjrQg8IAWwsN7QnudqimUf7fzIN/Tp5ooJoujOOnWSdyoPFO9PPdtuHbc5chEqfq
 yTN+GGRKhMQOcGbyDGF2mmxneKJliT+MKoCGbv9+vN0jVm7wm0IFAZQRVa9ueO+iEO1R5RYM
 UN8x8Y1hfFsrgrxFIC7BkDm5i7f1vIBZzZOO7wWxBuf+u2L2AyiC0EZVTFtTdEWnfZjEFTGy
 WS1t9/uADVutpicRnSc6qqYoFuOBMQFEYMRTXRaFFVYurEPtKl210uSFYg7TMZZm/WoQWmY/
 tyckMQpa1z/Z+Yv3r7zw13IiinESnPhHl9svVW/so5IA2pEiG+Zi26AtACzARVodt/xory9U
 J4swZT2AAcmVsnlqcB1aL9RdIxFHt7cWNEmvXZhHoM66xOm8GO5cIZb7VlWfRk1aZ5YKGC2P
 h6C4Wu9AaO/2lPwMcebhKrqU6wXIVXIT4y5Bpg4kPIQCnSOSON31H43PhPBt4wcuEMtjbs+K
 f+mnTWEVh4n5VBc5GPuHY81iOZzrghnnD+7bc2lk3yPjOTPDFbIGeZtGAbfNYgRsfLbyDg5B
 v4CbaNmPT0FDr2nCsQWmKZORW03wY8TXMCv9JcPJ7fde2KL2ggJUpfs/F/oQKQ994w9qwsC1
 ijVtpZwxAWtiHvZBx+Nb3w/OrrjUYwm9SAwPDA2PEbu0H8mON794KAafpoxXL8m6O08kqIkE
 6hbI52NUqZVVzDK2zUBdp2h/oZsQwum2FCVNC2/bTlhI5M5H17V+sXpdxfE/TUVCnblrtM3p
 rCtj1uJQZcKSwl4ItzRbfajkwG4sXQHwbogVErUONhDPk7r9dEyeSD2i/Y2JeAKKAnCmWTGh
 1rHX09AqLCU8YEv8dTPiaSVlKuTErNzThhAAm3WzbeqLi2GrGCt9pBNDbSTdjfHWWKqpKj7P
 bdJz+vxOeEslUpRt9YuCK5iyK8z6oe9p7JeyQg4TnzHY07yV+FlK3iCm8JOqrdM1vlSvg7vA
 hCD/dxTOLOoPsL5EQFOeFp5P7rbjfxEyCPP6fkVIVnh4H4l9bWKZkxeIh2QhXEPN7ByKo4kn
 b8stcN+B9ZTUfb23gJqVhxpylk=
IronPort-HdrOrdr: A9a23:9Fo2Ra/tBkcVqw93FqNuk+DgI+orL9Y04lQ7vn2YSXRuHPBw8P
 re+sjztCWE8Ar5N0tBpTntAsW9qDbnhPtICOoqTNCftWvdyQiVxehZhOOIqVDd8m/Fh4pgPM
 9bAtFD4bbLbGSS4/yU3ODBKadD/OW6
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="62618954"
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>, Doug Goldstein <cardoe@cardoe.com>
Subject: [XEN PATCH v9 13/30] xen/tools/kconfig: fix build with -Wdeclaration-after-statement
Date: Tue, 25 Jan 2022 11:00:46 +0000
Message-ID: <20220125110103.3527686-14-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125110103.3527686-1-anthony.perard@citrix.com>
References: <20220125110103.3527686-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>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---

Notes:
    v9:
    - reviewed

 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 Jan 25 11:07:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 11:07:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260105.449319 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJfr-0000Bb-He; Tue, 25 Jan 2022 11:07:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260105.449319; Tue, 25 Jan 2022 11:07:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJfq-00005N-34; Tue, 25 Jan 2022 11:07:42 +0000
Received: by outflank-mailman (input) for mailman id 260105;
 Tue, 25 Jan 2022 11:07:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rP4T=SJ=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nCJa8-0006Mn-KJ
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 11:01:48 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2e54dec3-7dce-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 12:01:45 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2e54dec3-7dce-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643108505;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=sxCVIENXL7U4uJ6PAJaPF/nE5SLDBzALYwkN0k1BGWI=;
  b=G34dYyxAmOvPscub6HIVmNp4MRhbxMbh58A1b1F3dT7LGcJm+o4JGlme
   FRB8u8jhT/xxBbLL/6EFctepz47i4BzK3Ar7FgRFiHDAEeKEF1krrBae3
   3B2aVHQYNyAbCYvHQK34kvaHH/Mm1iscQw+1REjYapen0oPbeU7uOFGQN
   M=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: jYtfUwYAyD11jI1O9Q6jMpLDyo3cMN+utrBBigaPmaXPFMMH843yAFqhvnVq6fP6En3+NIONg0
 wsCtB+MyX2bwKcL21k3/PUo+DN3GBbqywQVc616DnydXrZ0hk3wIKWk+Y2TD2oT6yqCmVdJ7TD
 ZLtMGZO7acVg0MJ5xme9YNdl2AR+Rk1LmwWD0HK3mGTKOBD95qexYVHhz/Ka5I7yZk8yHY1HBR
 suPMf1Wsxxtd3UIJhSE1G4RbBqIfMvJjxGIj7vDc4Nbh4ANeJ8Pzdc0piDXZcNXVQXes1nLGz7
 iRviqRwTZROSZkbCFOtbAYyi
X-SBRS: 5.2
X-MesageID: 63106969
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:XMuavaghgLsXxQaTbFxIR8cQX161nBcKZh0ujC45NGQN5FlHY01je
 htvXGuDaPbYMzTxeNFza9ji8RtVuMTQmIRlHQY/rnwwFnsb9cadCdqndUqhZCn6wu8v7a5EA
 2fyTvGacajYm1eF/k/F3oAMKRCQ7InQLlbGILes1htZGEk0GE/NtTo5w7Rj2tcy3IDga++wk
 YiaT/P3aQfNNwFcagr424rbwP+4lK2v0N+wlgVWicFj5DcypVFMZH4sDfjZw0/DaptVBoaHq
 9Prl9lVyI97EyAFUbtJmp6jGqEDryW70QKm0hK6UID66vROS7BbPg/W+5PwZG8O4whlkeydx
 /10ksSydBUxJZbjv/88SjgHCg9SN6N/reqvzXiX6aR/zmXDenrohf5vEFs3LcsT/eMf7WNmr
 KJCbmpXN1ba2rzwkOnTpupE36zPKOHiOp8fvXdxiynUF/88TbjIQrnQ5M8e1zA17ixLNaiFP
 pJHOGQ+BPjGSxpqGFozNrMGp8z2p1vQYgBYqUKEpZNitgA/yyQuieOwYbI5YOeiXt5Jl0yVo
 mbH+WXRARwAMtGbjz2f/RqEmevnjS79HoUIG9WQ9ONugVCV7nweDlsRT1TTiem0jAuyVsxSL
 2QQ+zEytu4i+UqzVN7/Uhak5nmesXY0WdBdDuk74wGl0bfP7kCSAW1sc9JaQIV47olsH2Vsj
 wLX2YOybdByjFGLYUu6rrWpvyupAgcyNk4bRHAdYycP7eC29enfkSnzZtpkFae0iPj8Fjfx3
 y2GoUACulkDsSIY//7lpA6a2lpAsrCMF1dovVuPAgpJ+yskPNbNWmC+1bTMAR+sxq69R0LJg
 nULktP2AAsmXcDUz3zlrAng8diUCxe53N/03AYH83oJrW3FF5ufkWZ4um0WyKBBaZ5sRNMRS
 BWP0T69HbcKVJdQUYd5YpiqF+MhxrX6GNLuW5j8N4QSOcAtJVDYonA/PSZ8OlwBdmB2zcnT3
 r/AKa6R4YsyU/w7nFJauc9DuVPU+szO7TyKHs2qp/hW+bGfeGSUWd843KimNYgEAFe/iFyNq
 b53bpLSoz0GCbGWSnSJreY7cA5bRVBmVcGeg5EGLYarf1s5cFzN/teMm9vNjaQ/wfQM/goJl
 1ngMnJlJK3X3C2edl7SOyk9MdsCn/9X9BoGAMDlBn7ws1BLXGplxP13m0IfceZ1+ep94+RzS
 vVZKcyMDu4WEmbM+igHbIm7p4tnLUz5iQWLNiujQT4+Y58/GFCZpo66JlPipHsUEy66lcoiu
 Ln8hAnVdoUOGlZ5B8HMZfPxk17o5SoBmPh/VlfjK8VIfBm+65BjLiH816dlI8wFJRjZ6CGd0
 gKaXUURqeXX+tdn+9jVn6GU6YyuFrImTEZdGmDa65ewNDXboTX/kdMRDr7QcGmEBm3u+aika
 eFE9N3GMaUKzARQro5xM7d31qZitdHhkKBXk1Z/F3LRYlX1Vr45eiua3dNCv7Fmz6NCvVfkQ
 VqG/9RXNOnbOM7hF1JNdgMpYv7aiKMRkzjWq/80PF/79Gl8+7/eCRdeOByFiSp8KrppMdx6n
 bd96ZBOswHv2AA3NtumjzxP8zXeJ3MNZKwrq5UGDdK5kQEs0FxDPcTRByKeDEtjsDmQ3p3G+
 gOpuZc=
IronPort-HdrOrdr: A9a23:VEFAiKB0aIsnSPrlHemQ55DYdb4zR+YMi2TDsHoBLSC9E/bo8v
 xG885rtiMc5AxxZJhCo7690cu7MBThHPdOiOF6UItKNDOW3ldAR7sSj7cKrQeBJ8TWzJ8l6U
 8+GJIUNDSLNzdHZGzBkXGF+q0brOW6zA==
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="63106969"
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>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: [XEN PATCH v9 14/30] build: remove KBUILD_ specific from Makefile.host
Date: Tue, 25 Jan 2022 11:00:47 +0000
Message-ID: <20220125110103.3527686-15-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125110103.3527686-1-anthony.perard@citrix.com>
References: <20220125110103.3527686-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>
Acked-by: Jan Beulich <jbeulich@suse.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 8a85f94316bc..d6c358095ee8 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 Jan 25 11:07:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 11:07:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260106.449326 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJft-0000fo-P9; Tue, 25 Jan 2022 11:07:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260106.449326; Tue, 25 Jan 2022 11:07:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJfs-0000ZJ-Ai; Tue, 25 Jan 2022 11:07:44 +0000
Received: by outflank-mailman (input) for mailman id 260106;
 Tue, 25 Jan 2022 11:07:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rP4T=SJ=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nCJaj-0006Mn-J5
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 11:02:25 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 45dd9e5b-7dce-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 12:02:24 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 45dd9e5b-7dce-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643108544;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=7Qro/yaNm//kAbsXtl6h430tMQIH8P57DTIHDTlToVE=;
  b=Ov5l6Uu0ihTQBSevPbYWBzZQMW9UyWDP6dm1vGBW43L/cA4eFq4n3BCn
   SFccgZih2i1liNOSd7XjXwJOvP7sB6DpV3M+sqsABHV1AS2ThwP2lcuZn
   A8B4uEd81WBlC46Dq/s4UVEMrOBJ5lsqJJPUMWFJWjbQjuHm9Fe2uQoyz
   A=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: GfGsplmdULk3yuLHXRLvR/WC56go2Hm23nz1NA5CSJxTBKxyfx+P74uZPkisnyUb1uO7eOQs9c
 Ha/8jKd5eJZqnwc5x+uhGnk2C/Zl1eeVV3fmFMXBRNAdFMy/4vY1ye3VI+gLkk2BnA8YwZ8av4
 By+DdncgLeeoZvjJy/Lw1/9d/GVIHWZSMzuInzipr+tQdl1iYPsjpNU9WSDMef9xh2GJtlmIWA
 o1Uw3/8TVlszzjV2tALXRH4vxff+E31wpnzIPrd1f2RhQib5EGo6ygG4mYNfO4vWzsErwKcyzg
 B+XJzFWg4aSdHPUVnRzvr33I
X-SBRS: 5.2
X-MesageID: 62699926
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:BeBE0KxaGDo4JBzFvi16t+fLwSrEfRIJ4+MujC+fZmUNrF6WrkVRm
 DQeDT/TPPaLM2Gje99+bIS/oRgCvsDUmt9gTgtorCAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnvopW1TYhSEUOZugH9IQM8aZfHAhLeNYYH1500g7wrRk2tcAbeWRWGthh
 /uj+6UzB3f9s9JEGjp8B3Wr8U4HUFza4Vv0j3RmDRx5lAa2e0o9VfrzEZqZPXrgKrS4K8bhL
 wr1IBNVyUuCl/slIovNfr8W6STmSJaKVeSFoiI+t6RPHnGuD8H9u0o2HKN0VKtZt9mGt9FS0
 Yl2ibKqcAQKMorNwPoabjsGDT4raMWq+JefSZS+mcmazkmAeHrw2fR+SkoxOOX0+M4uXzsIr
 6ZBbmlQMFbT3Ipaw5riIgVors0lMMnsOpJZonx6xCvVJf0nXYrCU+PB4towMDIY2JoQTKePP
 ZRxhTxHXBfLWy9MBmcsE7k1ubyXpXulbS96twfAzUYwyzeKl1EguFT3C/LOYcCDT8hRmkeep
 0rF8n7/DxVcM8aQoRKa9lq8i+mJmjn0MKoQCbm5+/hCkFCVgGsJB3U+RVa95PW0lEO6c9ZeM
 FAPvDojq7Ao806mRcW7WAe3yFaGtBMBX9tbE8Uh9RqAjKHT5m6k6nMsF2AbLoZ87YlvGGJsh
 gThc87V6SJHsZ6MFUmh2K2trhC+HilNM2g/R3EaUl5QizX8m70bghXKR9dlNae6iNzpBD39q
 wy3QDgCa6Y71pBSifjilbzTq3f1/8WSEFZpjunCdj/9tmtEiJiZi5tEALQxxdJJN86nQ1aIp
 xDocODOvblVXflheMFgKdjh/Y1FBd7YaFUwYnY1RvHNEghBHVb5Iei8BxklfC9U3j4sI2OBX
 aMqkVo5CGVvFHWrd7RrRIm6Ft4ny6Ptffy8CKyPNoYfPccvJV7flM2LWaJ29zqx+KTLufpnU
 ap3jO72VSpKYUiZ5GTeqxghPU8DmXllmDK7qWHTxBW7y7uODEN5up9eWGZimtsRtfveyC2Mq
 o43H5LTl313DbOiCgGKr997BQ1afBATWMGtw+QKJ7HrH+aTMDx7YxMn6el/K9UNcmU8vrqgw
 0xRrWcBmAOg3iWWcFvTAp2hAZu2NatCQbsAFXREFT6VN7ILPu5DNY8TKMk6e6cJ7utmwaImR
 vUJYZzYUP9OVi7G63IWapyk9N5ucxGihASvOSu5YWdgI848FlKRotK0LBHy8CQuDzassZdsq
 bOXyQ6GE4EIQB5vDZiKZav3nU+xp3UUhMl7Q1DMfotIYEzp/YUzc37xg/Y7LtsiMxLGwjfGh
 Q+aDQ1B/bvGopMv8cmPjqeB9t/7H+x7F0tcPm/a8bfpanWKojv9mddNCb/acyrcWWX4/LSZS
 d9Ul/ysYucamFtqspZnF+o5x6wJ+Nay9aRRyR5pHSuXYg3zWK9gOHSPweJGqrZJmu1CoQKzV
 0+CpotaNLGONJ+3GVIdPlN4POGK1PVSkTjO9/UlZk794XYvrraAVExTOTiKiTBcc+QpYN90n
 795tZ5E8RG7hzorLs2C33Jd+Gm7J3AdV7kq68MBC4jxhwt3klxPbPQw0MMtDE1jvzmUDnQXH
 w==
IronPort-HdrOrdr: A9a23:Xjk10q9B3A4rROifnqtuk+DeI+orL9Y04lQ7vn2YSXRuHfBw8P
 re+8jztCWE8Qr5N0tApTntAsS9qDbnhPxICOoqTNOftWvd2FdARbsKheCJ/9SjIVyaygc079
 YHT0EUMrPN5DZB4foSmDPIcOod/A==
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="62699926"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: [XEN PATCH v9 29/30] build: shuffle main Makefile
Date: Tue, 25 Jan 2022 11:01:02 +0000
Message-ID: <20220125110103.3527686-30-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125110103.3527686-1-anthony.perard@citrix.com>
References: <20220125110103.3527686-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Reorganize a bit the Makefile ahead of patch
"build: adding out-of-tree support to the xen build"

We are going to want to calculate all the $(*srctree) and $(*objtree)
once, when we can calculate them. This can happen within the
"$(root-make-done)" guard, in an out-of-tree build scenario, so move
those variable there.

$(XEN_ROOT) is going to depends on the value of $(abs_srctree) so
needs to move as well. "Kbuild.include" also depends on $(srctree).

Next, "Config.mk" depends on $(XEN_ROOT) and $(TARGET_*ARCH) depends
on "Config.mk" so those needs to move as well.

This should only be code movement without functional changes.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Notes:
    v9:
    - add some explanation in the commit message about why the code movement
      is needed.
    
    v8:
    - new patch

 xen/Makefile | 46 +++++++++++++++++++++++-----------------------
 1 file changed, 23 insertions(+), 23 deletions(-)

diff --git a/xen/Makefile b/xen/Makefile
index c39c1699966f..08114b3fef1e 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -19,17 +19,6 @@ export PYTHON		?= $(PYTHON_INTERPRETER)
 
 export CHECKPOLICY	?= checkpolicy
 
-export XEN_ROOT := $(CURDIR)/..
-
-abs_objtree := $(CURDIR)
-abs_srctree := $(CURDIR)
-
-export abs_srctree abs_objtree
-
-srctree := .
-objtree := .
-export srctree objtree
-
 # Do not use make's built-in rules and variables
 MAKEFLAGS += -rR
 
@@ -41,16 +30,6 @@ SRCARCH=$(shell echo $(ARCH) | \
               -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
 
@@ -64,8 +43,6 @@ 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.
 
@@ -141,6 +118,17 @@ endif
 
 export quiet Q KBUILD_VERBOSE
 
+abs_objtree := $(CURDIR)
+abs_srctree := $(CURDIR)
+
+export abs_srctree abs_objtree
+
+srctree := .
+objtree := .
+export srctree objtree
+
+export XEN_ROOT := $(CURDIR)/..
+
 # 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
 
@@ -163,6 +151,18 @@ ifneq ($(filter %config,$(MAKECMDGOALS)),)
     config-build := y
 endif
 
+include scripts/Kbuild.include
+
+# Don't break if the build process wasn't called from the top level
+# we need XEN_TARGET_ARCH to generate the proper config
+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)
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 11:07:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 11:07:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260107.449336 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJfv-0000y8-Mz; Tue, 25 Jan 2022 11:07:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260107.449336; Tue, 25 Jan 2022 11:07:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJft-0000sC-Uy; Tue, 25 Jan 2022 11:07:45 +0000
Received: by outflank-mailman (input) for mailman id 260107;
 Tue, 25 Jan 2022 11:07:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rP4T=SJ=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nCJag-0006Mn-2r
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 11:02:22 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 438d330b-7dce-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 12:02:20 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 438d330b-7dce-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643108541;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=Psez3OYaVE5bX/QmUtAs61cVLP5HRuMSgeTcQjtWt8A=;
  b=MIWakkhlTvQexKEyd6d18zVg1C6dCOMOZnlyugEbEnmw3IN0Hs7rYLts
   Wt7svjCG5rMV8G5tjyvpKdI0UeAV89FzyxrB9LzPqOH+Cvoiz6eQVrWGa
   Os4uXDQno3fU/0cyN5nP6WftFGoeLuvF/U+miwP/Q/2ixtTodYohOLQSn
   o=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: FT/MaR0d5YmCjuauTWaoIIUU+cluer4T1hor8eDjOVcxBoGECRlKvZ1Gi4guz8oKtLyVLJCAJJ
 jrmLDYDrjewyXTJIM9HzHKwu9j0u1ff4ysIfC9OpctfiNUnHuywov6+Re63KN8ZBI2mfzL110d
 2w9lIT3fLwAG7QLv7Ejy3w+eXrxa1L3YiyENeyOIHeLp92EQMZdWJI+uDiE5H5s47IcEIqnwbL
 rpHKkxcH7H5fn4aIhWus2awVl59BeGIdtOSClXERhAkMw/mRG0ObJEHUcMdj2y2zex0z+ZygIq
 dJPVmXy+FrIM/MmJ3UkSRZs8
X-SBRS: 5.2
X-MesageID: 62699813
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:MTBWR6om2+vA3pITA76fUCqbo8FeBmLnYhIvgKrLsJaIsI4StFCzt
 garIBmGPP6JZmLweYp2bNy3p0lQ7Jfdy9RhSAA/pH8wEylD+JuZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlZT4vE2xbuKU5NTsY0idfic5Dndx4f5fs7Rh2NQw2ILkW1rlV
 e7a+KUzBnf0g1aYDUpMg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJ8DO+iL
 9sv+Znilo/vE7XBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XnRfTAKtao2zhojx/9
 DlCnZ+5Ulp5EZKPpNUiAxV+UB0vBpZ68rCSdBBTseTLp6HHW37lwvEoB0AqJ4wIvO1wBAmi9
 9RBdmpLNErawbvrnvTrEYGAhex6RCXvFIoZpnFnyyCfFfs8SIrPa67L+cVZzHE7gcUm8fP2O
 ZBHOGs/NU+ojxtnA04ULJ8Uw+KT22CkSTN3gUOx+LIV7D2GpOB2+Oe0a4eEEjCQfu1OhVqRr
 G/C+2X/AzkZOcaZxD7D9Wij7sfQmQvrVYRUE6e3ntZonVmSy2o7GBAQE1yhrpGRmkO4Ht5SN
 UEQ0i4vtrQpslymSMHnWB+1q2LCuQQTM/JSGeAn7ACGyoLP/h2UQGMDS1Z8hMcO7ZFsA2Zwj
 xnQwo2vVWcHXKCppWy19b6P8GOdBmspHFBSaQlHcVo+2OXpr9Rm5v7QdepLHKmwh9zzPDj/x
 TGWsSQz74kuYd43O7aTpg6e3W/1znTdZktsv1iMADr5hu9sTNP9P+SVBU7nAeGsxWpzZn2Ip
 zA6lseX94ji5rndxXXWEI3h8FxEjstp0QEwY3YyR/HNFBz3ohZPmLy8BhkkeC+F1e5fIVfUj
 Lf741852XOqFCLCgVVLS4ywEd826qPrCM7oUPvZBvIXPMQqLFPWo34wNB/It4wIrKTKuftjU
 Xt8WZ30ZUv29Iw9lGbmLwvj+eFDKt8CKZP7GsmgkkXPPUu2b3+JU7YVWGZinchihJ5oVD79q
 o4FX+PTkk03eLSnPkH/rNBPRXhXcylTLc2m+qR/K7/YSiI7ST5JNhMk6e57E2CTt/4Lxr6gE
 7DUchIw9WcTclWeeVzVMSgyMe22NXu9xFpiVRER0Z+T8yBLSe6SAG03LsNfkWAP+LMxwPhqY
 eMCfsncUP1DRi6eo2YWbIXnrZwkfxOu3FrcMy2gaTk5XphhWw2WpYO0IlqxrHEDXnitqM8zg
 7y8zQeHE5ANcBtvUZTNY/W1wlLv4XVEwLBuX1HFK8V4cVn39NQ4MDT4i/I6epleKRjKyjaA+
 RyRBBMU+bvEr4MvqYGbjqGYtYa5VeB5GxMCTWXc6L+3Mwjc/3aintAcALrZI2iFWTqtqqu4Z
 OhTw/XtC9E9nQ5H49hmDrJm7aMi/N+z9bVU+RtpQSfQZFOxB7I+fnTfhZtTtrdAz6NysBetX
 h7d4cFTPLiENZ+3EFMVIwZ5PO2P2etNx2vX5PUxZk77+DV27PyMVkALZ0uAjylULb1UNoI5w
 Lh+5J5KulLn0hd6YMybii109niXKi1SWqoqgZgWHYv3h1d50VpFe5HdVnf77Zznhw+g6aX2z
 ut4XJb/uok=
IronPort-HdrOrdr: A9a23:snmHZaknWmw6mQuXbKbQo9rVVWDpDfIq3DAbv31ZSRFFG/Fxl6
 iV88jzsiWE7wr5OUtQ4OxoV5PgfZqxz/NICMwqTNWftWrdyQ+VxeNZjbcKqgeIc0aVygce79
 YET0EXMqyXMbEQt6jHCWeDf+rIuOP3k5yVuQ==
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="62699813"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: [XEN PATCH v9 27/30] build: rework "headers*.chk" prerequisite in include/
Date: Tue, 25 Jan 2022 11:01:00 +0000
Message-ID: <20220125110103.3527686-28-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125110103.3527686-1-anthony.perard@citrix.com>
References: <20220125110103.3527686-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. ( "$(srcdir)" is a shortcut for "$(srctree)/$(src)" )

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>
---

Notes:
    v9:
    - reorder *-headers variables
    - call public-filter-headers on $(public-c99-headers) as well, for this I
      needed to rework $(public-c99-headers) and $(public-ansi-headers-filter)
    
    v8:
    - add prefix "public-" to newly introduced macros.
    - make use of the new "$(srcdir)" shortcut.

 xen/include/Makefile | 23 ++++++++++++++++++-----
 1 file changed, 18 insertions(+), 5 deletions(-)

diff --git a/xen/include/Makefile b/xen/include/Makefile
index 5a2b4c9f65fa..fddf5a575bf6 100644
--- a/xen/include/Makefile
+++ b/xen/include/Makefile
@@ -39,8 +39,8 @@ cppflags-$(CONFIG_X86)    += -m32
 
 endif
 
-public-$(CONFIG_X86) := $(wildcard $(src)/public/arch-x86/*.h $(src)/public/arch-x86/*/*.h)
-public-$(CONFIG_ARM) := $(wildcard $(src)/public/arch-arm/*.h $(src)/public/arch-arm/*/*.h)
+public-$(CONFIG_X86) := $(wildcard $(srcdir)/public/arch-x86/*.h $(srcdir)/public/arch-x86/*/*.h)
+public-$(CONFIG_ARM) := $(wildcard $(srcdir)/public/arch-arm/*.h $(srcdir)/public/arch-arm/*/*.h)
 
 .PHONY: all
 all: $(addprefix $(obj)/,$(headers-y))
@@ -81,10 +81,23 @@ 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) $(public-y))
+public-hdrs-path := $(srcdir)/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))
+public-list-headers = $(wildcard $1/*.h $1/*/*.h)
+public-filter-headers = $(filter-out $(addprefix $(public-hdrs-path)/, $($1-filter)), $($1))
+
+public-headers := $(call public-list-headers, $(public-hdrs-path)) $(public-y)
+public-ansi-headers := $(public-headers)
+public-c99-headers := $(addprefix $(public-hdrs-path)/, io/9pfs.h io/pvcalls.h)
+
+public-headers-filter := dom0_ops.h arch-%
+public-ansi-headers-filter := %ctl.h xsm/% %hvm/save.h $(public-headers-filter) \
+    $(patsubst $(public-hdrs-path)/%,%,$(public-c99-headers))
+public-c99-headers-filter :=
+
+PUBLIC_HEADERS := $(call public-filter-headers,public-headers)
+PUBLIC_ANSI_HEADERS := $(call public-filter-headers,public-ansi-headers)
+PUBLIC_C99_HEADERS := $(call public-filter-headers,public-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 Jan 25 11:07:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 11:07:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260108.449347 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJfy-0001ge-7a; Tue, 25 Jan 2022 11:07:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260108.449347; Tue, 25 Jan 2022 11:07:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJfx-0001X2-4Q; Tue, 25 Jan 2022 11:07:49 +0000
Received: by outflank-mailman (input) for mailman id 260108;
 Tue, 25 Jan 2022 11:07:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rP4T=SJ=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nCJaf-0006t5-5T
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 11:02:21 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 42778510-7dce-11ec-bc18-3156f6d857e4;
 Tue, 25 Jan 2022 12:02:19 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 42778510-7dce-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643108539;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=DaswvKiuEtjVJe2RswYhB1g+kMvhDg7/P4Auiwxt1Rk=;
  b=XdUQIwzDMAcD4d+B/wvnIdxD3LFsdHXZpfRHSS4LTO6qYQFckHgrgW9n
   5tiyat4qnUbTXPtsX00o2WwnMoYauL8Zv7c/w3Nv/UelXLi2Bo2nlodJJ
   IiKWoVXdgYTA828U4hTyxVH5WgdKI4atDaSp5Ndcq2xBLZGsLp3eEEZgv
   k=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: CgHIF03Jjm4nvjMbA9pO/hjtnYsmKvLTqFlIOZQ7HdY10VJ8QW+kJeUwsooawYyME8EU4A5Btn
 ZSIDxDmpf0YruY5CVE0Ona0jDgDMtKkWqWnj8n/MNvC7hWYaiK3ropOt7jytS1tFDGew6dVfy8
 23PCCr2nhWiZjpW7i4EFjq2OjOxiUwJMsd85GjzUvRgHNMV9C3H5RggRDhskOxJw03D3IA6JyC
 UZIWAu3AaQo/CtZG08U4a+mLRyC1Epeu3qFkDpn0adF/G4uBUumB0Q7OA8tZWhmceV3Yx2peoc
 LDiZt3S9FmVJ8K2c29MaGGxS
X-SBRS: 5.2
X-MesageID: 62699789
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:hrFy76B0XGHmTxVW/2Tlw5YqxClBgxIJ4kV8jS/XYbTApDxx0jYAy
 jdJWDuGO/iNYjGmcoh+b46xo0NS6MDWz4BqQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMo/u1Si6FatANl1ElvU2zbue6WL6s1hxZH1c+En940087wobVv6Yz6TSHK1LV0
 T/Ni5W31G+Ng1aY5UpNtspvADs21BjDkGtwUm4WPJinj3eH/5UhN7oNJLnZEpfNatI88thW5
 Qr05OrREmvxp3/BAz4++1rxWhVirrX6ZWBihpfKMkQLb9crSiEai84G2PQghUh/lG3XkYhoy
 up2hLe5ESMNPYfmxfxaekwNe81+FfUuFL7vJHG+tYqYzlHccmuqyPJrZK00FdRGoKAtWzgIr
 KFGbmBWBvyAr7veLLaTQ+9whsMlPY/zMZkWoH1IxjDFF/c2B5vERs0m4PcGhmlh158eTJ4yY
 eIrKiBCdE/KPiRfGUYyM5cGvLipi37gJmgwRFW9+vNsvjm7IBZK+IbqNN3Za9mbX/J/l0yTp
 n/F12nhCxRcP9uaoRKa9lq8i+mJmjn0MKoRE7ui//Isn1yXxUQUEhQdUVb9qv684ma0VshDM
 UUS9mwrpLIr6U2wZtDnWluzp3vslhwWVsdUEuY6wBqQ0aeS6AGcbkAUQzgEZNE4ucseQT0xy
 kTPj97vHSZosrCeVTSa7Lj8hSipJSEfIGsGZCkFZQgI+d/upMc0lB2nZtR+FK+4iPXlFDe2x
 CqFxBXSnJ1K05RNjf/iuwma3XT8/fAlUzLZ+C3IBjyrthp7W7WUTIXwzXzYx9wdNMGwGwzpU
 Gc/p+CS6+UHDJeonSOLQfkQELzB28tpIAEwknY0QcB/qm3FF2qLONkJvWogfBsB3tMsJGexC
 HI/rz+983O60JGCSaZsK7y8BM0xpUQLPYS0D6uEBjaij3UYSeNmwM2MTRPIt4wOuBJ1+U3aB
 Xt9WZzwZZr9If8/pAdav89HjdcWKtkWnAs/v6zTwRW9yqa5b3WIU7oDO1bmRrlnsPjc/FSKr
 IgOZpPiJ/BjvAvWOHW/HWk7dghiEJTGLcqu95w/mhCrfGKK513N+9eOmOh8KuSJboxel/vS/
 2HVZ6Or4AGXuJEzEi3TMioLQOq2Bf5X9CtnVQRxYwrA8yV9MO6HsfdOH7NqLOJP3LEykpZJo
 wwtJp/o7gJnEGqXolzwrPDV8eRfSfhcrVveZnX+OGlmIccIqs6g0oaMQzYDPRImVkKf3fbSa
 ZX6hms3mLIPGFZvCtj4cvWqww/jtHQRgrsqDUDJPsNSaAPn940zc379ifo+IsctLxTfx2TFi
 1bKUElA/eSd8ZUo9NTphLyfq9v7GeVJAUcHTXLQ6qy7NHeG8zP7k5NASuuBYRvUSHjwpPe5f
 exQwvylaK8HkV9GvpBSCbFuya5itdLjq6UDllZvHWnRbkTtAbRleyHU0c5Kv6xL57lYpQrpB
 R7fpogEYe2EYZq3HkQQKQwpavW4+csVwjSCv+4oJEja5TNs+ObVW0tlIBTR2jdWK6F4Md15z
 L556tIW8QG2ljEjLs2C0nJP722JI3END/cnu5UdDNO5gwYn0AgfM5nVCyuw65CTcdRcdEItJ
 2bM1qbFgr1dwGvEcmYySieRjbYM28xWtUAY1kIGKnSIhsHB160+0xBm+DgqShhYk0dc2OVpN
 2k3b0B4KM1iJduzaBSvi4x0Jzx8OQ==
IronPort-HdrOrdr: A9a23:X4heVKmq+wg7tBJAJRruqLzUmBzpDfIq3DAbv31ZSRFFG/Fxl6
 iV88jzsiWE7wr5OUtQ4OxoV5PgfZqxz/NICMwqTNWftWrdyQ+VxeNZjbcKqgeIc0aVygce79
 YET0EXMqyXMbEQt6jHCWeDf+rIuOP3k5yVuQ==
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="62699789"
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>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.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>
Subject: [XEN PATCH v9 25/30] build: replace $(BASEDIR) by $(objtree)
Date: Tue, 25 Jan 2022 11:00:58 +0000
Message-ID: <20220125110103.3527686-26-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125110103.3527686-1-anthony.perard@citrix.com>
References: <20220125110103.3527686-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.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---

Notes:
    v9:
    - acked
    
    v8:
    - rebased

 xen/Rules.mk                |  2 +-
 xen/arch/arm/Makefile       | 10 +++++-----
 xen/arch/x86/Makefile       | 28 ++++++++++++++--------------
 xen/common/Makefile         |  2 +-
 xen/test/livepatch/Makefile | 12 ++++++------
 5 files changed, 27 insertions(+), 27 deletions(-)

diff --git a/xen/Rules.mk b/xen/Rules.mk
index abeba1ab7494..7712bfa063e0 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -12,7 +12,7 @@ src := $(obj)
 PHONY := __build
 __build:
 
--include $(BASEDIR)/include/config/auto.conf
+-include $(objtree)/include/config/auto.conf
 
 include $(XEN_ROOT)/Config.mk
 include $(BASEDIR)/scripts/Kbuild.include
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index cecfaf4f3c0f..ae7a2f907540 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -90,21 +90,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]*
 
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index a847c989ff92..3fb59987776b 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -94,8 +94,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 @@ $(TARGET): $(TARGET)-syms $(efi-y) $(obj)/boot/mkelf32
 
 CFLAGS-$(XEN_BUILD_EFI) += -DXEN_BUILD_EFI
 
-$(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)
 
 extra-$(XEN_BUILD_PE) += efi.lds
 ifeq ($(XEN_BUILD_PE),y)
-$(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
diff --git a/xen/common/Makefile b/xen/common/Makefile
index dc8d3a13f5b8..30641a737231 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 e6fee84b69da..ddb07371315e 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)") > $@
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 11:07:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 11:07:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260109.449357 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJfz-0001zW-MB; Tue, 25 Jan 2022 11:07:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260109.449357; Tue, 25 Jan 2022 11:07:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJfy-0001tw-Ha; Tue, 25 Jan 2022 11:07:50 +0000
Received: by outflank-mailman (input) for mailman id 260109;
 Tue, 25 Jan 2022 11:07:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rP4T=SJ=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nCJaN-0006t5-0E
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 11:02:03 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 387d88dd-7dce-11ec-bc18-3156f6d857e4;
 Tue, 25 Jan 2022 12:02:00 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 387d88dd-7dce-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643108521;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=QgU2XAiKGGaUtDR9DMaXSUbl0JKJcMb6bF3AP0fDgTY=;
  b=JattN8a26xZv3neJT0n2weF5LXyVfAM4LRlX+TSAzvmuRPQIAvdARSCx
   dn3N5Ncc84gTcaoxdtG5HEvIlom5KW3C/Iy2VWIwCZ194JHGfXUSzz4Ve
   3FfIuUhLMRVBZaFwDKXRFqcsTniWw/tj2UY5Khe+9xq7U0+T4D7JT1TQ7
   A=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: Pl7TjXwAAY/igfWo0FrlDtBt/dgk/zMyGYCXDAWfa1C9bIzv4cGPsYDA2Z2nJKWdDPTeD2KO0d
 Uh7AQv4pcybZm0u8LXHepdQMSpNGa2Hq1lFbu7WIvP5V9BPW0y6ETrTOps6/+8Ec4ZZO9hEex7
 TtiaaBq6lmuxJhD/KG52a20gcFMHa1LN61nplBhj2C7StB182BwAsj19+aL8uzzMtwL9iijUr2
 NJp/v3TfIaBGbdnNVZWUZ/8rIs5WqgOY7L7yukfjC4TvQ5FVHVRYZr1fbQDzztmFVqd2En4ck9
 dc1DhVX1RD6DudHpkUqDFwo+
X-SBRS: 5.2
X-MesageID: 64860874
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:6iW4XqgBbpitBj/mlq8IyqSgX161GRYKZh0ujC45NGQN5FlHY01je
 htvWWiAb/7cYjOmL9ggboXipEJSu5GGx9dkGVFvqysyHigb9cadCdqndUqhZCn6wu8v7a5EA
 2fyTvGacajYm1eF/k/F3oAMKRCQ7InQLlbGILes1htZGEk0GE/NtTo5w7Rj2tcy3IDga++wk
 YiaT/P3aQfNNwFcagr424rbwP+4lK2v0N+wlgVWicFj5DcypVFMZH4sDfjZw0/DaptVBoaHq
 9Prl9lVyI97EyAFUbtJmp6jGqEDryW70QKm0hK6UID66vROS7BbPg/W+5PwZG8O4whlkeydx
 /13uKOpDiIQF5fyid1Hazh3FyB6NvdJreqvzXiX6aR/zmXDenrohf5vEFs3LcsT/eMf7WNmr
 KJCbmpXN1ba2rzwkOnTpupE36zPKOHiOp8fvXdxiynUF/88TbjIQrnQ5M8e1zA17ixLNaiCN
 5RBOWUzBPjGSzlyBU4HEZQupeOLqzrhYQ1zqHuQl7VitgA/yyQuieOwYbI5YOeiT8hPglyRo
 G6A+m3jGwwbL/SW0z/D+XWp7sfxmif8VJMXBaeP3Pdgi12OxUQeEBQTE1C8pJGRiUm4QdtTb
 VMV/ikGqrI7/0imCNL6WnWQrGafux8AW/JZC+Ag9ByW0a3Q/hqYAW4fCDVGbbQOuMA6SDMw3
 3eVjtjpAnppq7TTRnWDnp+Wpz6vPSkeLUcZeDQJCwAC5rHLsIw1yx7CUNtnOKq0lcHuXyH9x
 SiQqyozjKlVitQEv4254FTGjjSEtpXPCAkv6W3/QWaN/g5/Iom/aOSA8kPH5PxNKIKYSFipv
 3UencWaqucUAvmweDelGbtXWuvzvrDcbWOa0QUH84QdGyqFwXOcZMd12RhEGlZQaP4lVjvoZ
 ESJtlYEjHNMB0eCYahyaoO3Ls0ly6n8CNjoPszpgspyjotZL1Heonw3DaKE9yW0yRV3z/ljU
 XuOWZv0VR4n5bJbIC1argv3+Zsi3WgAyGzaXvgXJDz3gOPFNBZ5pVroWWZij9zVDovZ+G05E
 P4FbqNmLimztsWkPkE7FqZIdTg3wYATX8yeliCuXrfrzvBaMG8gEeTN5rgqZpZoma9Y/s+Ro
 C3mAhMJlwWh1CyfQelvVpyFQOmzNXqYhSljVRHAwH7ygyRzCWpRxPl3m2QLkUkPq7U4kK8co
 wgtcMScGPVfIgkrCBxGBaQRWLdKLUzx7SrXZnLNSGFmI/ZIGlKVkve5IFqH3HReX0Kf6Jply
 5X9h1yzfHb2b1k4ZCogQKjxnwrZULl0sL8aYnYk1fEKKByzq9A7cnKo5hL1SulVQSj+KvKh/
 17+KX8lSSPl+ufZKfHF2vKJqZmHCex7EhYIFmXX9+/uZyLb4nCi0clLV+PRJWLRU2b9+aODY
 +RJzq6jbK1bzQgS64csQax2ya8e5sf0o+MIxApTA3iWPU+gDaltIyfa0JAX5LFN3LJQpSC/R
 lmLpotBIbyMNc68SAwRKQMpY/6tz/YRnjWOv/05LF+jvH18/aadUFUUNB6J0XQPILxwOYIj4
 OEgpM9JtFDv1kt0ao6L13kG+X6NI3oMV7QcmqsbWIK72BA2zlxiYIDHDnOk6p+4dNgRYFIhJ
 SWZhfSeiu0ElFbCaXc6CVPEwfFZ2cYVoBlPwVIPewaJl97CiqNl1RFd621qHAFczxEB2ONvI
 Gl7cUZyIPzWrTtvgcFCWUGqGh1AW0LFqhCglQNRmT2LVVSsW0zMMHY5aLSE800u+m5BeiRWo
 eODw2H/XDe2JMz800Peg6K+RyAPmTCpyjD/pQ==
IronPort-HdrOrdr: A9a23:8qrP+q6t3hg8dRopwAPXwM7XdLJyesId70hD6qhwISY7TiX+rb
 HIoB17726MtN9/YhAdcLy7VZVoBEmsl6KdgrNhWYtKPjOHhILAFugLhuHfKn/bakjDH4ZmpM
 FdmsNFZuEYY2IXsS+D2njaL+od
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="64860874"
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>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.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 v9 20/30] build: rework "clean" to clean from the root dir
Date: Tue, 25 Jan 2022 11:00:53 +0000
Message-ID: <20220125110103.3527686-21-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125110103.3527686-1-anthony.perard@citrix.com>
References: <20220125110103.3527686-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 start to clean files listed in $(targets). This allows to clean
"common/config_data.S" and "xsm/flask/flask-policy.S" without
having to list them a second time.

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>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---

Notes:
    v9:
    - reviewed
    
    v8:
    - fix comment for the shorthand
    - move this patch earlier in the series
    - replace some BASEDIR by objtree
    - start to clean $(targets) files.

 xen/Makefile                | 24 ++++++++++++------------
 xen/arch/arm/Makefile       |  5 +----
 xen/arch/x86/Makefile       | 20 ++++++++++++--------
 xen/arch/x86/boot/Makefile  |  2 ++
 xen/common/Makefile         |  3 +--
 xen/include/Makefile        |  4 +---
 xen/scripts/Kbuild.include  |  4 ++--
 xen/scripts/Makefile.clean  | 14 +++++++++++---
 xen/test/livepatch/Makefile |  4 +---
 xen/xsm/flask/Makefile      |  4 +---
 10 files changed, 44 insertions(+), 40 deletions(-)

diff --git a/xen/Makefile b/xen/Makefile
index b2df072d2a62..dc25fa443b82 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -409,18 +409,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 3ce5f1674f6f..cecfaf4f3c0f 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -116,7 +116,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 $(BASEDIR)/.xen-syms.[0-9]*
+clean-files := $(objtree)/.xen-syms.[0-9]*
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 60e802ba9503..bb57ed5096d5 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -77,6 +77,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
 
@@ -190,8 +193,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: $(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)"
@@ -256,10 +259,11 @@ $(obj)/boot/mkelf32: $(src)/boot/mkelf32.c
 $(obj)/efi/mkreloc: $(src)/efi/mkreloc.c
 	$(HOSTCC) $(HOSTCFLAGS) -g -o $@ $<
 
-.PHONY: clean
-clean::
-	rm -f *.lds boot/mkelf32
-	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 boot/cmdline.S boot/reloc.S boot/*.lnk boot/*.bin
+clean-files := \
+    boot/mkelf32 \
+    include/asm/asm-macros.* \
+    $(objtree)/.xen-syms.[0-9]* \
+    $(objtree)/.xen.elf32 \
+    $(objtree)/.xen.efi.[0-9]* \
+    efi/*.efi \
+    efi/mkreloc
diff --git a/xen/arch/x86/boot/Makefile b/xen/arch/x86/boot/Makefile
index ba732e4a88c3..1ac8cb435e0e 100644
--- a/xen/arch/x86/boot/Makefile
+++ b/xen/arch/x86/boot/Makefile
@@ -21,3 +21,5 @@ $(obj)/cmdline.S: $(src)/cmdline.c $(CMDLINE_DEPS) $(src)/build32.lds
 
 $(obj)/reloc.S: $(src)/reloc.c $(RELOC_DEPS) $(src)/build32.lds
 	$(MAKE) -f $(abs_srctree)/$(src)/build32.mk -C $(obj) $(@F) RELOC_DEPS="$(RELOC_DEPS)"
+
+clean-files := cmdline.S reloc.S *.lnk *.bin
diff --git a/xen/common/Makefile b/xen/common/Makefile
index ca839118e4d1..dc8d3a13f5b8 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -84,5 +84,4 @@ $(obj)/config_data.S: $(BASEDIR)/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.gz
diff --git a/xen/include/Makefile b/xen/include/Makefile
index cd40d5b4c923..a3c2511f5f60 100644
--- a/xen/include/Makefile
+++ b/xen/include/Makefile
@@ -131,6 +131,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 ed48fb39f1f1..6e7a403b353c 100644
--- a/xen/scripts/Kbuild.include
+++ b/xen/scripts/Kbuild.include
@@ -99,8 +99,8 @@ build := -f $(srctree)/Rules.mk obj
 
 # Shorthand for $(MAKE) clean
 # Usage:
-# $(MAKE) $(clean) dir
-clean := -f $(BASEDIR)/scripts/Makefile.clean clean -C
+# $(Q)$(MAKE) $(clean)=dir
+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 c2689d4af5fa..4eed31974509 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-) $(targets) \
     $(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 adb484dc5d2c..e6fee84b69da 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 832f65274cc0..4ac6fb8778ae 100644
--- a/xen/xsm/flask/Makefile
+++ b/xen/xsm/flask/Makefile
@@ -49,6 +49,4 @@ $(obj)/policy.bin: FORCE
 	        FLASK_BUILD_DIR=$(FLASK_BUILD_DIR) POLICY_FILENAME=$(POLICY_SRC)
 	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)
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 11:07:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 11:07:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260110.449366 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJg1-0002Ti-Vw; Tue, 25 Jan 2022 11:07:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260110.449366; Tue, 25 Jan 2022 11:07:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJg0-0002LU-DJ; Tue, 25 Jan 2022 11:07:52 +0000
Received: by outflank-mailman (input) for mailman id 260110;
 Tue, 25 Jan 2022 11:07:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rP4T=SJ=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nCJaT-0006Mn-7b
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 11:02:09 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3bc265e0-7dce-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 12:02:08 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3bc265e0-7dce-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643108528;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=DT8jr5aifqPBIpo7W2QZQ/eIkETukYAewr3aG6uBNnI=;
  b=Knr3roInQEL7FBbcQ37fscBZaXb6isaRO5umQJI6BAuAHrnFSLBFJmmU
   6+rQukNe4D/vxPwwDOYeiQm/Nf0lWWwXg3ep/XNbtT+m5X9t+RRAsGQ+c
   5cer9uOy5NDCrQ8JV3cVhfa6910rwgh5OOgI5w7r59F/JMzCobgZMysFb
   E=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: hnvqllHpzr7bvuFODE7sdj8HBx92ESShGQcx6XqXkpO0MfDC53K15tW1tIWUwfda9/VJqa3NSo
 DysdsN4AiC8siqX6ow5gPJBl6ncFarlXWL8KvuIFMJWxJ8LvVC4OxirJfBMzAjR64S28GbpDx/
 Wunt8q+wbXDL0sVVzKk7YNE8JF3DSc3vDGPLE/zLJbDYHZ91KlltvSpg85XfvWh6RYwbyWWQ0h
 +Icgou7SUrehrcWHPiXlPTXdG/crGfCv6FqynvApHdqaKkcXGm1PykrtyoPlH6/hTLwPzSa6Os
 mQlPRKl3AaPd0vaA1pV8xQR+
X-SBRS: 5.2
X-MesageID: 63107000
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:imnOaq1Jd7VDVgkHxvbD5Qd2kn2cJEfYwER7XKvMYLTBsI5bp2QGn
 WJJC2yDPKuLYWL2c9pya9++oUIH75TQz9JqGwtvpC1hF35El5HIVI+TRqvS04J+DSFhoGZPt
 Zh2hgzodZhsJpPkS5PE3oHJ9RGQ74nRLlbHILOCanAZqTNMEn9700o6wbNh2+aEvPDia++zk
 YKqyyHgEAfNNw5cagr4PIra9XuDFNyr0N8plgRWicJj5TcypFFMZH4rHomjLmOQf2VhNrXSq
 9Avbl2O1jixEx8FUrtJm1tgG6EAaua60QOm0hK6V0U+6/TrS+NbPqsTbZIhhUlrZzqhrdl9k
 PlRtKSLTgpwOZL1xeYTDCdcDHQrVUFG0OevzXmXtMWSywvNcmf2wuUoB0YzVWEa0r8pWycUr
 6VecW1TKEDY7w616OvTpu1Ej8I/LM7tLcUHt2tp1z3xBvc6W5HTBa7N4Le02R9u3ZkWQq6GP
 6L1bxJJPBXgUUdIIG4ZCZN5lruFp13vLTJx/Qf9Sa0fvDGIkV0ZPKLWGMXRUsyHQ4NShEnwj
 mDM8nn9AxoaHMeC0jfD+XWp7sffkCW+VI8MGbmQ8v9xnEbV1mEVEAcRV1awvb++kEHWZj5EA
 xVKoGx09/F0rRH1CImmN/GlnJKaliwVV4J8D+wC0waAk63r2lubCDc6SiEUPbTKq/QKbTAt0
 1aImfbgCjpurKCZRBqhy1uEkd+hEXNLdDFfPEfoWSNAuoC++99r0nojW/4+SPbdszHjJd3nL
 9lmRgAajq5bs8ME3r7TEbvv02P1/cihouLYC2zqsoOZAuFROdbNi2+AswGzARN8wGCxFAXpU
 J8swJD20Qz2JcvR/BFhuc1UdF1T296LMSfHnXlkFIQ7+jKm9haLJN4Mu2kidRg2bJdVIVcFh
 XM/XysLuPe/21PxNcdKj3+ZUZx2ncAM6/y7PhwrUja+SscoL1LWlM2fTUWRw3rsgCARfVIXY
 v+mnTKXJS9CU8xPlWPuL89EiOND7n1gmQv7GM6qpzz6gev2TCPEEt8tbQrRBt3VGYvZ+m05B
 f4FaZvTo/ieOcWjChTqHXk7dABTciNjVMmo8qS6tIere2JbJY3oMNeJqZtJRmCvt/s9ej7g8
 i7vV0lG5kD4gHGbewyGZmo6MOHkXIplrGJ9NispZA76138maIepzaEea5poIuV3qL09laZ5H
 6sfZsGNIvVTUTCbqT4TWobw8d55fxOxiAPQYyf8OGojf4RtThDi88P/ele97zEHCye67JNso
 7Cp2g7Bb4AEQgBuUJTfZP61lgvjtnkBguNiGUDPJ4ALKknr9YFrLQ33j+M2fJ5QeUmSmGPC2
 l/PUxkCpOTLr4sky/XzhPiJ/9WzDu9zPktGBG2Hv7y4AjbXozi4yohaXefWIT2EDDHo+L+vb
 Pl+xu3nNKFVh05DtodxHuo5za864Nez9bZWwh49QSfOZlWvTLhhPmOHzY9EsagUnu1Vvg6/W
 0Su/NhGOOrWZJO5QQBJfAd1PP6e0fw0myXJ6aVnKUr30yZ74b6bXBgAJBKLkiFccON4PY5NL
 T3NYyLKB9hTUiYXD+s=
IronPort-HdrOrdr: A9a23:yZ9s06vgrsXSR7IBGw7sFnbk7skDTtV00zEX/kB9WHVpmszxra
 6TdZMgpHnJYVcqKQkdcL+7WJVoLUmxyXcx2/h1AV7AZniAhILLFvAA0WKK+VSJcEeSygce79
 YFT0EXMqyIMbEQt6fHCWeDfOrIuOP3kpyVuQ==
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="63107000"
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 v9 21/30] build: use main rune to build host binary x86's mkelf32 and mkreloc
Date: Tue, 25 Jan 2022 11:00:54 +0000
Message-ID: <20220125110103.3527686-22-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125110103.3527686-1-anthony.perard@citrix.com>
References: <20220125110103.3527686-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Also, remove the HOSTCFLAGS "-g" from "mkreloc" command line.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---

Notes:
    v8:
    - acked
    - remove the cflags "-g" from "mkreloc"

 xen/arch/x86/Makefile | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index bb57ed5096d5..c94b4092d4c1 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -83,6 +83,9 @@ subdir- += boot
 extra-y += asm-macros.i
 extra-y += xen.lds
 
+hostprogs-y += boot/mkelf32
+hostprogs-y += efi/mkreloc
+
 # Allows usercopy.c to include itself
 $(obj)/usercopy.o: CFLAGS-y += -iquote .
 
@@ -253,17 +256,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)
 
-$(obj)/boot/mkelf32: $(src)/boot/mkelf32.c
-	$(HOSTCC) $(HOSTCFLAGS) -o $@ $<
-
-$(obj)/efi/mkreloc: $(src)/efi/mkreloc.c
-	$(HOSTCC) $(HOSTCFLAGS) -g -o $@ $<
-
 clean-files := \
-    boot/mkelf32 \
     include/asm/asm-macros.* \
     $(objtree)/.xen-syms.[0-9]* \
     $(objtree)/.xen.elf32 \
     $(objtree)/.xen.efi.[0-9]* \
-    efi/*.efi \
-    efi/mkreloc
+    efi/*.efi
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 11:07:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 11:07:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260113.449380 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJg4-00037N-La; Tue, 25 Jan 2022 11:07:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260113.449380; Tue, 25 Jan 2022 11:07:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCJg2-0002yV-VN; Tue, 25 Jan 2022 11:07:54 +0000
Received: by outflank-mailman (input) for mailman id 260113;
 Tue, 25 Jan 2022 11:07:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rP4T=SJ=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nCJaJ-0006t5-HJ
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 11:01:59 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 36b275f1-7dce-11ec-bc18-3156f6d857e4;
 Tue, 25 Jan 2022 12:01:57 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 36b275f1-7dce-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643108518;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=rFaZW7mRzfBSV5uf8cyeoRt2R7qXKVYTWGVFMDqbVAg=;
  b=CamKIbdK+xAOVtnNms66opDSYX5JnRTM3rCZJOBRjgLGELqNTu2a2WCP
   C8rIu/kTMuxiWOcaR70u64zcykBfCgJxUYsRywP6wyEh3VgkwoIqlrPdT
   ct3L02kD39T42ETevBRpqc72eLVaoj5vPTlhUeL+qoH/yibz6KIhkuUgG
   w=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: KQOre+bDc8j2ju/tl3jLxenfsDqebvq7t3AQo1d/VLTqs3s2pRqIaqkVOiBcJtv8yNp2/JUJ3J
 mpVb6H/DIfrQPB9tSWIiop/PK9jkcfuQujM267DPGMp3x9GhI62DAY9NtjB3bSXi7MkXQ5Y35H
 NwTDkfvyJpt2Rm/cMsROe9LYJcmca5X6sC7vxrpZ0CkwLJOmHdsFSV8vAJV5jqAKqdAGYChxwg
 cK0ABMTujNmdn6+sqsUipnyjG6uecfT6ht3ezAT4eooKB1k+KftitgQ50THw0p8bsuH4bGkYeX
 PSn17ESg8TYbj6RPTxdi+RmX
X-SBRS: 5.2
X-MesageID: 64860866
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:iqoPLKDlRI9uIRVW/yPlw5YqxClBgxIJ4kV8jS/XYbTApDtz3jQGm
 2pLUGuOOPeJamChL4p/YIXi8U9XsMPTzN9rQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMo/u1Si6FatANl1ElvU2zbue6WL6s1hxZH1c+En940087wobVv6Yz6TSHK1LV0
 T/Ni5W31G+Ng1aY5UpNtspvADs21BjDkGtwUm4WPJinj3eH/5UhN7oNJLnZEpfNatI88thW5
 Qr05OrREmvxp3/BAz4++1rxWhVirrX6ZWBihpfKMkQLb9crSiEai84G2PQghUh/1BPOoftui
 9t26ZW2T1YsAL/nmbVAekwNe81+FfUuFL7vJHG+tYqYzlHccmuqyPJrZK00FdRGoKAtWzgIr
 KFGbmBWBvyAr7veLLaTQ+9whsMlPY/zMZkWoH1IxjDFF/c2B5vERs0m4PcGgGdu3pAQQ54yY
 eI9eChiQzD+MyRhEXtUCtVk38u1o2jWJmgwRFW9+vNsvjm7IBZK+LLgKsbPc9qGA8BchF+Fp
 3nu9n78RBodMbS39z2B9X69g/7VqgnyUokSCb6Q++ZjhRuYwWl7IB4RU0Gyrb+mi0q9c9VFI
 kcQ92wlqq1a3ECzVdz8Qx2QqWaJpAIBQMFXF/Am6QaL0ezf5APxLmQLQjNOctUOqN49RTts0
 ESA2dzuG1RHr7m9WX+bsLCOoluaOyIYMGsDbi8sVhYe7p/op4RbpgLCSJNvHbC4ivXxGCrs2
 HaaoS4mnbIRgMUXkaKh8jjvgT22r5zNZgcw7xfQWCSu6QYRTJW+e4Wi5Fzf7PBBBIWUVF+Mu
 D4Dgcf2xOITCZCAkgSdTeNLG6umj8tpKxWF3wQpRcN4sW3wpTjzJui8/Q2SOm82FIE6UiCqb
 nSPsAVXtZptLlCrPPJeNtfZ59sR8YDsEtHsV/bxZ9VIY4RseALvwByCdXJ8zEi2zhFyzPhX1
 YOzNJ/1UC1EUfgPIC+eGr9FuYLH0BzS0o86qXrT6x28mYSTa3eOIVvuGAvfN7tphE9oTei8z
 jq+Cydo40gHOAEdSnOOmWL2EbzsBSJnbXwRg5cPHtNv2iI8RAkc5wb5mNvNgbBNkaVPjfvv9
 XqgQEJew1eXrSSZdV7SNiE8N+2+DM4XQZcH0coEZwrAN58LOt7H0UviX8FvIelPGBJLk5aYs
 MXpi+3fW68SG1wrChwWbIXnrZwKSfhYrVnmAsZRWxBmJ8QIb1WQorfMJ1KznAFTUHbfnZZg8
 tWIi1OKKbJeFl8KJJuHN5qSI6aZ4CJ1dBRaBRWYe7G+uSzEreBXFsAGpqZnep5XcUSamGLyO
 sT/KU5wmNQharQdqLHh7Z1oZa/zewenNkYFTWTd85isMizWojiqzYNaCb7adjHBTmLkvq6lY
 LwNnf37NfQGmndMspZ9TOk3nf5vuYO3qu8I1BlgEVXKc0+vVuFqLE6Z0JQdraZK3LJY51e7A
 xrd5tlANLyVE8r5C1pNdhE9Z+GO2KhMyDnf5Pg4Omvg4ypz8ObVWEleJUDU2idcMKF0IMUux
 uJ44Jwa7Am2ixwLNNeaj38LqzTQfyJYC6h+78MUGo7mjAYv22puW52EB3+k+oyLZvVNLlIuf
 m2eip3diukO3UHFaXcySyTAhLIPmZQUtRlW51YePFDVyMHdj/o60RANozQ6SgNZkkdO3+5pY
 zU5MkR0IeOF/ityhdgFVGepQlkTCBqc80336l0IiGyGEBX4Cj2TdDUwabSX4UQU02NAZTwKr
 riXxVHsXSvuYMysjDA5XlRoqqC7QNF8nuEYdBtLwyhR80EGXAfY
IronPort-HdrOrdr: A9a23:PjXlS60gj6n63lLOc7Y40AqjBI4kLtp133Aq2lEZdPUzSL39qy
 nOpoV/6faaskdzZJhNo7G90cq7L080l6QFhrX5VI3KNGOKhILBFvAF0WKI+UyDJ8SRzI5gPI
 5bAtFD4IKaNzNHZLzBjzVQuexQuOVvi5rFudvj
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="64860866"
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>, Julien Grall <jgrall@amazon.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
	"Julien Grall" <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	"Bertrand Marquis" <bertrand.marquis@arm.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 v9 19/30] build: clean-up "clean" rules of duplication
Date: Tue, 25 Jan 2022 11:00:52 +0000
Message-ID: <20220125110103.3527686-20-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125110103.3527686-1-anthony.perard@citrix.com>
References: <20220125110103.3527686-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>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Julien Grall <jgrall@amazon.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 65b09c20a599..b2df072d2a62 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -425,7 +425,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 .allconfig.tmp include/xen/compile.h
 
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index fd24f0212ffa..3ce5f1674f6f 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -120,4 +120,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 de7f7ce07b98..60e802ba9503 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -258,9 +258,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 afb8d589ecae..adb484dc5d2c 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 49cf730cf098..832f65274cc0 100644
--- a/xen/xsm/flask/Makefile
+++ b/xen/xsm/flask/Makefile
@@ -51,4 +51,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 Jan 25 11:37:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 11:37:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260135.449415 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCK8c-0002hp-Ic; Tue, 25 Jan 2022 11:37:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260135.449415; Tue, 25 Jan 2022 11:37:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCK8c-0002hi-Er; Tue, 25 Jan 2022 11:37:26 +0000
Received: by outflank-mailman (input) for mailman id 260135;
 Tue, 25 Jan 2022 11:37:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rP4T=SJ=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nCK8b-0002hc-LW
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 11:37:25 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 292e75aa-7dd3-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 12:37:23 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 292e75aa-7dd3-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643110643;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=l/0XlGoo/tHOvc6O3AQBz8/a3Kf5+jjtZ4PquUp4TGk=;
  b=g8Z/lq5Ri2CffbgyuUnKLrifvhLE5hQHMAq6V7HI533AzOaf/fq1j3iX
   6aP84fvCnhQFiMflwMOIkL0dQsOj4JhgSCyUv303eL/igV61+hhgaHFws
   8ljTyAdPWoM+2g6MUoRyepFV+RXTpgVGM+SxHPqKRfbB2ael28JsGsd5f
   8=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: tGZZq6+buODcDAj2Z5x1htH7D366GYF/yPBhzIczvOI3QE3ItRTHjqL4SEFjkrs9+SZ+xNHanM
 YWLGd/F7axZ0Y/dmLggSsQEzIaE9Kjf1TNYKWTouQ8xXlJd0q51M14wlnTylavI2hvu0ofBZkw
 Z+2udbKUGt4wvHER//0OkcB4ZBbA6Rkud5rbX6pLKed6kNh0esYC2Z2DHntinF20PPpPFGBUrV
 rCA1g+W7hTde8JRadGMuE0xwHgZv6I4bO0cm6eChmLhRcZCckTQq2NlqFDXcnW7rbi4af5niHS
 Mdd7zH8291ZcVtRMN8aPlioO
X-SBRS: 5.2
X-MesageID: 62701857
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:52n/jqKbaulKdOTcFE+RkpMlxSXFcZb7ZxGr2PjKsXjdYENSgjUGz
 GQYWW7TaP3Za2GhKdogO4qz9RhQ7MeHzt9lTVBlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokcxIn5BC5C5xZVG/fjgqoHUVaiUakideSc+EH170Us5xrZg6mJVqYPR7z2l6
 IuaT/L3YDdJ6xYsWo7Dw/vewP/HlK2aVAIw5jTSV9gS1LPtvyB94KYkDbOwNxPFrrx8RYZWc
 QphIIaRpQs19z91Yj+sfy2SnkciGtY+NiDW4pZatjTLbrGvaUXe345iXMfwZ3u7hB2boolc2
 PxMuqWaYiRuZ/3hlelMd0ZxRnQW0a1uoNcrIFC6uM2XiUbHb2Ht07NlC0Re0Y8wo7gtRzsUr
 LpBdW5LPkvra+GemdpXTsFlgNgjK8/6epsSoHh6wRnSDOo8QICFSKLPjTNd9Glq2ZgXTauBD
 yYfQRBNLwbhZBdvAFUGU8o/l9u5vV3USQQN/Tp5ooJoujOOnWSdyoPFM93TYNWGA9pUmkWwo
 XjP9GD0RBodMbS31j6t4n+qwOjVkkvTVJoJEbyk9tZjmFCJ2nEIExoSSEe6pv+izEW5Xrp3J
 0MY9yU0pIAu5UerSZ/7RBT+r3ma1jYeUddNF+wx6CmW17HZpQ2eAwAsXjNHLdArqsIybTgrz
 UOS2cPkAyR1t7+YQm7b8a2bxRupIjQcJ2IGYS4CTCMG7sPlrYV1iQjAJv5hDaq0g9vdCTz2h
 TeQo0ADa6471JBRkf/hpBae3mzq9sOhohMJChv/TF/8wxNQZYGcTaeLrgGLwPtNfaLGZwzU1
 JQboPS24OcLBJCLsSWCRuQRAb2kj8q43C3gbU1HRMd4qWn0k5K3VcUJuWwleh81WioRUWKxO
 CfuVRVtCIi/1ZdARYt+eMqPBssj1sAM/vy1B6mPPrKijnWcHTJrHR2Ch2bNhwgBc2B2yMnT3
 Kt3l+72UR727ow8lFKLqx81i+ND+8zH7Tq7qWrH5xqmy6GCQ3WeVK0INlCDBshgsv/f+FmEr
 IkBZprSo/m6bAEYSnOLmWL0BQtSRUXX+Lis85AHHgJ9ClQO9J4d5w/5nup6Jt0Nc1V9nebU5
 HCtMnK0O3Kk7UAr3T6iMyg5AJu2BM4XhStiYUQEYAj0s1B+P9fHxPpPJvMfIOh8nMQ+nKEcc
 hXwU5jaahi5Ym6Zq211gFiUhNEKSSlHcirXb3P6O2BuJsA5L+ELk/e9FjbSGOA1JnLfnaMDT
 3eIj2s3mLIPGFZvCtj4cvWqww/jtHQRgrsqDUDJPsNSaAPn940zc379ifo+IsctLxTfx2TFi
 1bKUElA/eSd8ZUo9NTphLyfq9v7GeVJAUcHTXLQ6qy7NHeG8zP7k5NASuuBYRvUSHjwpPe5f
 exQwvylaK8HkV9GvpBSCbFuya5itdLjq6UDllZvHWnRbkTtAbRleyHU0c5Kv6xL57lYpQrpB
 R7fpogEYe2EYZq3HkQQKQwpavW4+csVwjSCv+4oJEja5TNs+ObVW0tlIBTR2jdWK6F4Md15z
 L556tIW8QG2ljEjLs2C0nJP722JI3END/cnu5UdDNO5gwYn0AgfM5nVCyuw65CTcdRcdEItJ
 2bM1qbFgr1dwGvEcmYySieRjbYM28xWtUAY1kIGKnSIhsHB160+0xBm+DgqShhYk0dc2OVpN
 2k3b0B4KM1iJduzaBSvi4x0Jzx8OQ==
IronPort-HdrOrdr: A9a23:bBppOKDpztm5kLvlHemu55DYdb4zR+YMi2TC1yhKKCC9Vvbo8P
 xG/c5rsSMc5wx8ZJhNo7+90ey7MBXhHP1OkOws1NWZLWrbUQKTRekIh+bfKn/bak/DH4ZmpN
 5dmsNFaOEYY2IVsfrH
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="62701857"
Date: Tue, 25 Jan 2022 11:37:16 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
	"Julien Grall" <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>, Roger Pau =?iso-8859-1?Q?Monn=E9?=
	<roger.pau@citrix.com>, 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: Re: [XEN PATCH v9 30/30] build: adding out-of-tree support to the
 xen build
Message-ID: <Ye/g7P0wV5Vj8OoT@perard>
References: <20220125110103.3527686-1-anthony.perard@citrix.com>
 <20220125110103.3527686-31-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20220125110103.3527686-31-anthony.perard@citrix.com>

On Tue, Jan 25, 2022 at 11:01:03AM +0000, Anthony PERARD wrote:
> 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.

Maybe I should have made it more explicit in the description that those
only works within the xen dir, i.e. not the whole project.

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 12:05:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 12:05:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260140.449436 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCKZ9-0006Hr-D4; Tue, 25 Jan 2022 12:04:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260140.449436; Tue, 25 Jan 2022 12:04: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 1nCKZ9-0006H3-5L; Tue, 25 Jan 2022 12:04:51 +0000
Received: by outflank-mailman (input) for mailman id 260140;
 Tue, 25 Jan 2022 12:04:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jkQr=SJ=xenbits.xen.org=julieng@srs-se1.protection.inumbo.net>)
 id 1nCKZ8-0006BM-0s
 for xen-devel@lists.xen.org; Tue, 25 Jan 2022 12:04:50 +0000
Received: from mail.xenproject.org (mail.xenproject.org [104.130.215.37])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id faf104b6-7dd6-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 13:04:47 +0100 (CET)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1nCKYs-0004kG-W8; Tue, 25 Jan 2022 12:04:34 +0000
Received: from julieng by xenbits.xenproject.org with local (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1nCKYs-0003Jt-US; Tue, 25 Jan 2022 12:04:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: faf104b6-7dd6-11ec-8fa7-f31e035a9116
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=qX2YEVkY7JqVsTpOdQxu4gk9Ky+TnCWQCxgaveBaVbY=; b=0CY4DhSgFtkiITkyx2fUQhJ6Dd
	aHObZiFOgYuufDM99Njrd6+gz5rKX49/WaGUPB10j1xSZJgVhcvj+1pTZCxzEu0fCD5Iahck30RRK
	3Z+WyDnSvqu7uvPDRZMLNLE+VarfbXOyxuQ5U01VXFqW8RpLDRIKHR56YKN7jMhALft0=;
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 393 v2 (CVE-2022-23033) - arm:
 guest_physmap_remove_page not removing the p2m mappings
Message-Id: <E1nCKYs-0003Jt-US@xenbits.xenproject.org>
Date: Tue, 25 Jan 2022 12:04: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-2022-23033 / XSA-393
                               version 2

     arm: guest_physmap_remove_page not removing the p2m mappings

UPDATES IN VERSION 2
====================

Public release.

ISSUE DESCRIPTION
=================

The functions to remove one or more entries from a guest p2m pagetable
on Arm (p2m_remove_mapping, guest_physmap_remove_page, and p2m_set_entry
with mfn set to INVALID_MFN) do not actually clear the pagetable entry
if the entry doesn't have the valid bit set.  It is possible to have a
valid pagetable entry without the valid bit set when a guest operating
system uses set/way cache maintenance instructions.  For instance, a
guest issuing a set/way cache maintenance instruction, then calling the
XENMEM_decrease_reservation hypercall to give back memory pages to Xen,
might be able to retain access to those pages even after Xen started
reusing them for other purposes.

IMPACT
======

A malicious guest may be able to access Xen and other domains' memory.
This could cause information leaks, host or domain Denial of Service
(DoS), and privilege escalations.

VULNERABLE SYSTEMS
==================

Xen version 4.12 and newer are vulnerable.  Only Arm systems are
vulnerable.

x86 systems are not vulnerable.

MITIGATION
==========

There is no known mitigation.

CREDITS
=======

This issue was discovered by Dmytro Firsov of EPAM.

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.

xsa393.patch           xen-unstable - Xen 4.12.x

$ sha256sum xsa393*
ccd746687c6080ec00ba363477d8815bc648d957c21c47d3a5330be9251806a4  xsa393.meta
89e5d66c437bacbe344e72d15720c1dde98dd97fab7184c7a6ff32bb63d442dd  xsa393.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/4UyVfoK9kFAmHv38oMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZfAcH/iXwGyTpGU7AIOGNGH1VYnn3FBAVBvT4etuPXO8o
heX252xCZNh7M7qel/Db1aaAMpo2T2ypH02ZguKsojnoRAo4QrEjrnBGsCasfzqv
HFd3nMlmksNlKI9xGPxt+Q6eNuoEHgu7i/7r3J2DgiC/Pa5Hw4SMF2eat7Er5zDL
waDHFkiONa6LM/dtgZkkgps5d3B8cR4tXo3VDLzBC0pK3IysSLnacLy7FfvLg7c0
pc/qFvUXbsFjKVmG+EKu8VlCpkWONFP1FXC4pfM+rSjDdVhmc8FhFzOLzD6Tkptt
MJhgOCMrO1Z//F07l0B9C9sxVi7K5mUDSWhonUQVPCWgl2s=
=06Nb
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa393.meta"
Content-Disposition: attachment; filename="xsa393.meta"
Content-Transfer-Encoding: base64

ewogICJYU0EiOiAzOTMsCiAgIlN1cHBvcnRlZFZlcnNpb25zIjogWwogICAg
Im1hc3RlciIsCiAgICAiNC4xNiIsCiAgICAiNC4xNSIsCiAgICAiNC4xNCIs
CiAgICAiNC4xMyIsCiAgICAiNC4xMiIKICBdLAogICJUcmVlcyI6IFsKICAg
ICJ4ZW4iCiAgXSwKICAiUmVjaXBlcyI6IHsKICAgICI0LjEyIjogewogICAg
ICAiUmVjaXBlcyI6IHsKICAgICAgICAieGVuIjogewogICAgICAgICAgIlN0
YWJsZVJlZiI6ICJiOWFhMTYzNWIzOGE3YmMwOTJkNjAxMjNiODdjNTQ1ZjI1
ZGIzMWU0IiwKICAgICAgICAgICJQcmVyZXFzIjogW10sCiAgICAgICAgICAi
UGF0Y2hlcyI6IFsKICAgICAgICAgICAgInhzYTM5My5wYXRjaCIKICAgICAg
ICAgIF0KICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiNC4xMyI6IHsK
ICAgICAgIlJlY2lwZXMiOiB7CiAgICAgICAgInhlbiI6IHsKICAgICAgICAg
ICJTdGFibGVSZWYiOiAiZDBlMmMyNzYyYjk4MWFiZDk4NGFmNjZhODQ0YWMx
MmQ4YmY4ZjgxMyIsCiAgICAgICAgICAiUHJlcmVxcyI6IFtdLAogICAgICAg
ICAgIlBhdGNoZXMiOiBbCiAgICAgICAgICAgICJ4c2EzOTMucGF0Y2giCiAg
ICAgICAgICBdCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIjQuMTQi
OiB7CiAgICAgICJSZWNpcGVzIjogewogICAgICAgICJ4ZW4iOiB7CiAgICAg
ICAgICAiU3RhYmxlUmVmIjogImNiYWRmNjdiY2FiNGUyOWM4ODM0MTBkYjM5
M2Y0ZjVlZjM0ZGYwNGEiLAogICAgICAgICAgIlByZXJlcXMiOiBbXSwKICAg
ICAgICAgICJQYXRjaGVzIjogWwogICAgICAgICAgICAieHNhMzkzLnBhdGNo
IgogICAgICAgICAgXQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICI0
LjE1IjogewogICAgICAiUmVjaXBlcyI6IHsKICAgICAgICAieGVuIjogewog
ICAgICAgICAgIlN0YWJsZVJlZiI6ICJhYmEyMmM2N2VmZTQ0MDRhMmE4NGUz
NzhiZmQ5OGRlZjVlYzhlNjQ3IiwKICAgICAgICAgICJQcmVyZXFzIjogW10s
CiAgICAgICAgICAiUGF0Y2hlcyI6IFsKICAgICAgICAgICAgInhzYTM5My5w
YXRjaCIKICAgICAgICAgIF0KICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAg
ICAiNC4xNiI6IHsKICAgICAgIlJlY2lwZXMiOiB7CiAgICAgICAgInhlbiI6
IHsKICAgICAgICAgICJTdGFibGVSZWYiOiAiZDBkMGFmNjdlZWRlNTYwZmFh
YjU4ZjE2MWQ5NjA4YTY5Yzc3OWQ0MSIsCiAgICAgICAgICAiUHJlcmVxcyI6
IFtdLAogICAgICAgICAgIlBhdGNoZXMiOiBbCiAgICAgICAgICAgICJ4c2Ez
OTMucGF0Y2giCiAgICAgICAgICBdCiAgICAgICAgfQogICAgICB9CiAgICB9
LAogICAgIm1hc3RlciI6IHsKICAgICAgIlJlY2lwZXMiOiB7CiAgICAgICAg
InhlbiI6IHsKICAgICAgICAgICJTdGFibGVSZWYiOiAiMzFmM2JjOTdmNDUw
ODY4NzIxNWU0NTlhNWUzNTY3NmVlY2YxNzcyYiIsCiAgICAgICAgICAiUHJl
cmVxcyI6IFtdLAogICAgICAgICAgIlBhdGNoZXMiOiBbCiAgICAgICAgICAg
ICJ4c2EzOTMucGF0Y2giCiAgICAgICAgICBdCiAgICAgICAgfQogICAgICB9
CiAgICB9CiAgfQp9

--=separator
Content-Type: application/octet-stream; name="xsa393.patch"
Content-Disposition: attachment; filename="xsa393.patch"
Content-Transfer-Encoding: base64

RnJvbSA3ZmY1OGFiNzcwMTU3YTAzYzkyNjA0MTU1YTBjNzQ1YmNhYjgzNGMy
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKdWxpZW4gR3JhbGwg
PGpncmFsbEBhbWF6b24uY29tPgpEYXRlOiBUdWUsIDE0IERlYyAyMDIxIDA5
OjUzOjQ0ICswMDAwClN1YmplY3Q6IFtQQVRDSF0geGVuL2FybTogcDJtOiBB
bHdheXMgY2xlYXIgdGhlIFAyTSBlbnRyeSB3aGVuIHRoZSBtYXBwaW5nIGlz
CiByZW1vdmVkCgpDb21taXQgMjE0OGExMjViNzNiICgieGVuL2FybTogVHJh
Y2sgcGFnZSBhY2Nlc3NlZCBiZXR3ZWVuIGJhdGNoIG9mClNldC9XYXkgb3Bl
cmF0aW9ucyIpIGFsbG93ZWQgYW4gZW50cnkgdG8gYmUgaW52YWxpZCBmcm9t
IHRoZSBDUFUgUG9WCihscGFlX2lzX3ZhbGlkKCkpIGJ1dCB2YWxpZCBmb3Ig
WGVuIChwMm1faXNfdmFsaWQoKSkuIFRoaXMgaXMgdXNlZnVsCnRvIHRyYWNr
IHdoaWNoIHBhZ2UgaXMgYWNjZXNzZWQgYW5kIG9ubHkgcGVyZm9ybSBhbiBh
Y3Rpb24gb24gdGhlbQooZS5nLiBjbGVhbiAmIGludmFsaWRhdGUgdGhlIGNh
Y2hlIGFmdGVyIGEgc2V0L3dheSBpbnN0cnVjdGlvbikuCgpVbmZvcnR1bmF0
ZWx5LCBfX3AybV9zZXRfZW50cnkoKSBpcyBvbmx5IHplcm9pbmcgdGhlIFAy
TSBlbnRyeSB3aGVuCmxwYWVfaXNfdmFsaWQoKSByZXR1cm5zIHRydWUuIFRo
aXMgbWVhbnMgdGhlIGVudHJ5IHdpbGwgbm90IGJlIHplcm9lZAppZiB0aGUg
ZW50cnkgd2FzIHZhbGlkIGZyb20gWGVuIFBvViBidXQgaW52YWxpZCBmcm9t
IHRoZSBDUFUgUG9WIGZvcgp0cmFja2luZyBwdXJwb3NlLgoKQXMgYSBjb25z
ZXF1ZW5jZSwgdGhpcyB3aWxsIGFsbG93IGEgZG9tYWluIHRvIGNvbnRpbnVl
IHRvIGFjY2VzcyB0aGUKcGFnZSBhZnRlciBpdCB3YXMgcmVtb3ZlZC4KClJl
c29sdmUgdGhlIGlzc3VlIGJ5IGFsd2F5cyB6ZXJvaW5nIHRoZSBlbnRyeSBp
ZiBpdCB0aGUgTFBBRSBiaXQgaXMKc2V0IG9yIHRoZSBlbnRyeSBpcyBhYm91
dCB0byBiZSByZW1vdmVkLgoKVGhpcyBpcyBDVkUtMjAyMi0yMzAzMyAvIFhT
QS0zOTMuCgpSZXBvcnRlZC1ieTogRG15dHJvIEZpcnNvdiA8RG15dHJvX0Zp
cnNvdkBlcGFtLmNvbT4KRml4ZXM6IDIxNDhhMTI1YjczYiAoInhlbi9hcm06
IFRyYWNrIHBhZ2UgYWNjZXNzZWQgYmV0d2VlbiBiYXRjaCBvZiBTZXQvV2F5
IG9wZXJhdGlvbnMiKQpSZXZpZXdlZC1ieTogU3RlZmFubyBTdGFiZWxsaW5p
IDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPgpTaWduZWQtb2ZmLWJ5OiBKdWxp
ZW4gR3JhbGwgPGpncmFsbEBhbWF6b24uY29tPgotLS0KIHhlbi9hcmNoL2Fy
bS9wMm0uYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigr
KSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9w
Mm0uYyBiL3hlbi9hcmNoL2FybS9wMm0uYwppbmRleCA4YjIwYjQzMDc3N2Uu
LmZiNzFmYTRjMWM5MCAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3AybS5j
CisrKyBiL3hlbi9hcmNoL2FybS9wMm0uYwpAQCAtMTAxNiw3ICsxMDE2LDcg
QEAgc3RhdGljIGludCBfX3AybV9zZXRfZW50cnkoc3RydWN0IHAybV9kb21h
aW4gKnAybSwKICAgICAgKiBzZXF1ZW5jZSB3aGVuIHVwZGF0aW5nIHRoZSB0
cmFuc2xhdGlvbiB0YWJsZSAoRDQuNy4xIGluIEFSTSBEREkKICAgICAgKiAw
NDg3QS5qKS4KICAgICAgKi8KLSAgICBpZiAoIGxwYWVfaXNfdmFsaWQob3Jp
Z19wdGUpICkKKyAgICBpZiAoIGxwYWVfaXNfdmFsaWQob3JpZ19wdGUpIHx8
IHJlbW92aW5nX21hcHBpbmcgKQogICAgICAgICBwMm1fcmVtb3ZlX3B0ZShl
bnRyeSwgcDJtLT5jbGVhbl9wdGUpOwogCiAgICAgaWYgKCByZW1vdmluZ19t
YXBwaW5nICkKLS0gCjIuMzIuMAoK

--=separator--


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 12:05:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 12:05:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260148.449475 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCKZc-0007jo-1W; Tue, 25 Jan 2022 12:05:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260148.449475; Tue, 25 Jan 2022 12:05:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCKZb-0007jf-Tx; Tue, 25 Jan 2022 12:05:19 +0000
Received: by outflank-mailman (input) for mailman id 260148;
 Tue, 25 Jan 2022 12:05:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jkQr=SJ=xenbits.xen.org=julieng@srs-se1.protection.inumbo.net>)
 id 1nCKZa-0006BM-A1
 for xen-devel@lists.xen.org; Tue, 25 Jan 2022 12:05:18 +0000
Received: from mail.xenproject.org (mail.xenproject.org [104.130.215.37])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0bf4ba89-7dd7-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 13:05:13 +0100 (CET)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1nCKZL-0004le-52; Tue, 25 Jan 2022 12:05:03 +0000
Received: from julieng by xenbits.xenproject.org with local (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1nCKZL-0003VD-3e; Tue, 25 Jan 2022 12:05:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0bf4ba89-7dd7-11ec-8fa7-f31e035a9116
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=VmWNriyLFTfh/JVHKywpt4uT0cVmAH/APAeCVQbFqMY=; b=hz90k1v8QUUKTW/XFAOfDgI4Uu
	bgzM72nUMBiO1rv9abWUONjbjiWVCXSsfMMvlfM7N/zCKYQLb67nHx/1oHq9/S+l1zbFIpcmEza3V
	Gi4HvGtwJSb//kS4ALnw18cZ/Ag+Zv44Ns2pEAHol5s+cNgB4L7xfqAN2L0Eg/7gQdvA=;
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 394 v3 (CVE-2022-23034) - A PV guest could
 DoS Xen while unmapping a grant
Message-Id: <E1nCKZL-0003VD-3e@xenbits.xenproject.org>
Date: Tue, 25 Jan 2022 12:05:03 +0000

--=separator
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

            Xen Security Advisory CVE-2022-23034 / XSA-394
                               version 3

           A PV guest could DoS Xen while unmapping a grant

UPDATES IN VERSION 3
====================

Public release.

ISSUE DESCRIPTION
=================

To address XSA-380, reference counting was introduced for grant
mappings for the case where a PV guest would have the IOMMU enabled. PV
guests can request two forms of mappings.  When both are in use for any
individual mapping, unmapping of such a mapping can be requested in two
steps.  The reference count for such a mapping would then mistakenly be
decremented twice.  Underflow of the counters gets detected, resulting
in the triggering of a hypervisor bug check.

IMPACT
======

Malicious 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,
if they have the XSA-380 fixes applied.

Only x86 systems are vulnerable.  Arm systems are not vulnerable.

Only x86 PV guests with access to PCI devices can leverage the
vulnerability.  x86 HVM and PVH guests, as well as PV guests without
access to PCI devices, cannot leverage the vulnerability.

Additionally from Xen 4.13 onwards x86 PV guests can leverage this
vulnerability only when being granted access to pages owned by another
domain.

MITIGATION
==========

Not running PV guests will avoid the vulnerability.

For Xen 4.12 and older not passing through PCI devices to PV guests will
avoid the vulnerability.

For Xen 4.13 and newer not enabling PCI device pass-through for PV
guests will avoid the vulnerability.  This can be achieved via omitting
any "passthrough=..." and "pci=..." settings from xl guest configuration
files, or by setting "passthrough=disabled" there.

- From Xen 4.13 onwards, XSM SILO can be available as a security policy
designed to permit guests to only be able to communicate with Dom0.
Dom0 does not normally offer its pages for guests to map, which means
the use of SILO mode normally mitigates the vulnerability.

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.

xsa394.patch           xen-unstable - Xen 4.13.x
xsa394-4.12.patch      Xen 4.12.x

$ sha256sum xsa394*
93f4d3b58d49ba239115753c9905b7c3720b438c48ef8fb701f15081aa317159  xsa394.meta
f2a3420e8d3eb1cf728f90d3c352ace0d3c67f7933201ce9b784d63afaeaa179  xsa394.patch
ee93797546ac9e82f98211366f9acc733332b0d5ab7ef73840c2acd2bb1439ca  xsa394-4.12.patch
$

DEPLOYMENT DURING EMBARGO
=========================

Deployment of the patches 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 mitigations 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/4UyVfoK9kFAmHv39IMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZfCYH/iZn73/JRTKI7B+9v2fW6v/k1IcVhpu+N4+TuRhh
Al5igmiTJLU3LcHM/H2KScgtnSwEKfCyddY1Gt3MZ+5lBDwR8elRkPdqn+P7xfol
4D5NgnEJDAYUWwJZOFn0qWfqNDnDkAvuKpm1zmv8RE0Xmw6a74Fvbfvi8PCuN9CO
zdippi5r5FlzFU7Q5MoWmOhmvVe3Fg7tGs4GXIyVUYkpDYyBGEWBo6rcoQ5aDvir
g8T0P1Y8XKCVvYM9SOdKWENppam0uIh00Mm+QDjQNaXD4I3DCDXLXkT7OGImZglr
MW8z5iNFjd0iXxFqTVBe1omxUhLC1xcB1fNySjd3zpt3RfA=
=mIA+
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa394.meta"
Content-Disposition: attachment; filename="xsa394.meta"
Content-Transfer-Encoding: base64

ewogICJYU0EiOiAzOTQsCiAgIlN1cHBvcnRlZFZlcnNpb25zIjogWwogICAg
Im1hc3RlciIsCiAgICAiNC4xNiIsCiAgICAiNC4xNSIsCiAgICAiNC4xNCIs
CiAgICAiNC4xMyIsCiAgICAiNC4xMiIKICBdLAogICJUcmVlcyI6IFsKICAg
ICJ4ZW4iCiAgXSwKICAiUmVjaXBlcyI6IHsKICAgICI0LjEyIjogewogICAg
ICAiUmVjaXBlcyI6IHsKICAgICAgICAieGVuIjogewogICAgICAgICAgIlN0
YWJsZVJlZiI6ICJiOWFhMTYzNWIzOGE3YmMwOTJkNjAxMjNiODdjNTQ1ZjI1
ZGIzMWU0IiwKICAgICAgICAgICJQcmVyZXFzIjogWwogICAgICAgICAgICAz
OTMKICAgICAgICAgIF0sCiAgICAgICAgICAiUGF0Y2hlcyI6IFsKICAgICAg
ICAgICAgInhzYTM5NC00LjEyLnBhdGNoIgogICAgICAgICAgXQogICAgICAg
IH0KICAgICAgfQogICAgfSwKICAgICI0LjEzIjogewogICAgICAiUmVjaXBl
cyI6IHsKICAgICAgICAieGVuIjogewogICAgICAgICAgIlN0YWJsZVJlZiI6
ICJkMGUyYzI3NjJiOTgxYWJkOTg0YWY2NmE4NDRhYzEyZDhiZjhmODEzIiwK
ICAgICAgICAgICJQcmVyZXFzIjogWwogICAgICAgICAgICAzOTMKICAgICAg
ICAgIF0sCiAgICAgICAgICAiUGF0Y2hlcyI6IFsKICAgICAgICAgICAgInhz
YTM5NC5wYXRjaCIKICAgICAgICAgIF0KICAgICAgICB9CiAgICAgIH0KICAg
IH0sCiAgICAiNC4xNCI6IHsKICAgICAgIlJlY2lwZXMiOiB7CiAgICAgICAg
InhlbiI6IHsKICAgICAgICAgICJTdGFibGVSZWYiOiAiY2JhZGY2N2JjYWI0
ZTI5Yzg4MzQxMGRiMzkzZjRmNWVmMzRkZjA0YSIsCiAgICAgICAgICAiUHJl
cmVxcyI6IFsKICAgICAgICAgICAgMzkzCiAgICAgICAgICBdLAogICAgICAg
ICAgIlBhdGNoZXMiOiBbCiAgICAgICAgICAgICJ4c2EzOTQucGF0Y2giCiAg
ICAgICAgICBdCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIjQuMTUi
OiB7CiAgICAgICJSZWNpcGVzIjogewogICAgICAgICJ4ZW4iOiB7CiAgICAg
ICAgICAiU3RhYmxlUmVmIjogImFiYTIyYzY3ZWZlNDQwNGEyYTg0ZTM3OGJm
ZDk4ZGVmNWVjOGU2NDciLAogICAgICAgICAgIlByZXJlcXMiOiBbCiAgICAg
ICAgICAgIDM5MwogICAgICAgICAgXSwKICAgICAgICAgICJQYXRjaGVzIjog
WwogICAgICAgICAgICAieHNhMzk0LnBhdGNoIgogICAgICAgICAgXQogICAg
ICAgIH0KICAgICAgfQogICAgfSwKICAgICI0LjE2IjogewogICAgICAiUmVj
aXBlcyI6IHsKICAgICAgICAieGVuIjogewogICAgICAgICAgIlN0YWJsZVJl
ZiI6ICJkMGQwYWY2N2VlZGU1NjBmYWFiNThmMTYxZDk2MDhhNjljNzc5ZDQx
IiwKICAgICAgICAgICJQcmVyZXFzIjogWwogICAgICAgICAgICAzOTMKICAg
ICAgICAgIF0sCiAgICAgICAgICAiUGF0Y2hlcyI6IFsKICAgICAgICAgICAg
InhzYTM5NC5wYXRjaCIKICAgICAgICAgIF0KICAgICAgICB9CiAgICAgIH0K
ICAgIH0sCiAgICAibWFzdGVyIjogewogICAgICAiUmVjaXBlcyI6IHsKICAg
ICAgICAieGVuIjogewogICAgICAgICAgIlN0YWJsZVJlZiI6ICIzMWYzYmM5
N2Y0NTA4Njg3MjE1ZTQ1OWE1ZTM1Njc2ZWVjZjE3NzJiIiwKICAgICAgICAg
ICJQcmVyZXFzIjogWwogICAgICAgICAgICAzOTMKICAgICAgICAgIF0sCiAg
ICAgICAgICAiUGF0Y2hlcyI6IFsKICAgICAgICAgICAgInhzYTM5NC5wYXRj
aCIKICAgICAgICAgIF0KICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9Cn0=

--=separator
Content-Type: application/octet-stream; name="xsa394.patch"
Content-Disposition: attachment; filename="xsa394.patch"
Content-Transfer-Encoding: base64

RnJvbSBhOGJkZWU3YTMwZDBjZDEzMzQxZDJjYTE3NTM1NjliMTcxZGFmNWI4
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKdWxpZW4gR3JhbGwg
PGpncmFsbEBhbWF6b24uY29tPgpEYXRlOiBGcmksIDE5IE5vdiAyMDIxIDEx
OjI3OjQ3ICswMDAwClN1YmplY3Q6IFtQQVRDSF0geGVuL2dyYW50LXRhYmxl
OiBPbmx5IGRlY3JlbWVudCB0aGUgcmVmY291bnRlciB3aGVuIGdyYW50IGlz
CiBmdWxseSB1bm1hcHBlZAoKVGhlIGdyYW50IHVubWFwcGluZyBoeXBlcmNh
bGwgKEdOVFRBQk9QX3VubWFwX2dyYW50X3JlZikgaXMgbm90IGEKc2ltcGxl
IHJldmVydCBvZiB0aGUgY2hhbmdlcyBkb25lIGJ5IHRoZSBncmFudCBtYXBw
aW5nIGh5cGVyY2FsbAooR05UVEFCT1BfbWFwX2dyYW50X3JlZikuCgpJbnN0
ZWFkLCBpdCBpcyBwb3NzaWJsZSB0byBwYXJ0aWFsbHkgKG9yIGV2ZW4gbm90
KSBjbGVhciBzb21lIGZsYWdzLgpUaGlzIHdpbGwgbGVhdmUgdGhlIGdyYW50
IGlzIG1hcHBlZCB1bnRpbCBhIGZ1dHVyZSBjYWxsIHdoZXJlIGFsbAp0aGUg
ZmxhZ3Mgd291bGQgYmUgY2xlYXJlZC4KClhTQS0zODAgaW50cm9kdWNlZCBh
IHJlZmNvdW50aW5nIHRoYXQgaXMgbWVhbnQgdG8gb25seSBiZSBkcm9wcGVk
CndoZW4gdGhlIGdyYW50IGlzIGZ1bGx5IHVubWFwcGVkLiBVbmZvcnR1bmF0
ZWx5LCB1bm1hcF9jb21tb24oKSB3aWxsCmRlY3JlbWVudCB0aGUgcmVmY291
bnQgZm9yIGV2ZXJ5IHN1Y2Nlc3NmdWwgY2FsbC4KCkEgY29uc2VxdWVuY2Ug
aXMgYSBkb21haW4gd291bGQgYmUgYWJsZSB0byB1bmRlcmZsb3cgdGhlIHJl
ZmNvdW50CmFuZCB0cmlnZ2VyIGEgQlVHKCkuCgpMb29raW5nIGF0IHRoZSBj
b2RlLCBpdCBpcyBub3QgY2xlYXIgdG8gbWUgd2h5IGEgZG9tYWluIHdvdWxk
CndhbnQgdG8gcGFydGlhbGx5IGNsZWFyIHNvbWUgZmxhZ3MgaW4gdGhlIGdy
YW50LXRhYmxlLiBCdXQgYXMKdGhpcyBpcyBwYXJ0IG9mIHRoZSBBQkksIGl0
IGlzIGJldHRlciB0byBub3QgY2hhbmdlIHRoZSBiZWhhdmlvcgpmb3Igbm93
LgoKRml4IGl0IGJ5IGNoZWNraW5nIGlmIHRoZSBtYXB0cmFjayBoYW5kbGUg
aGFzIGJlZW4gcmVsZWFzZWQgYmVmb3JlCmRlY3JlbWVudGluZyB0aGUgcmVm
Y291bnRpbmcuCgpUaGlzIGlzIENWRS0yMDIyLTIzMDM0IC8gWFNBLTM5NC4K
CkZpeGVzOiA5NzgxYjUxZWZkZTIgKCJnbnR0YWI6IHJlcGxhY2UgbWFwa2lu
ZCgpIikKU2lnbmVkLW9mZi1ieTogSnVsaWVuIEdyYWxsIDxqZ3JhbGxAYW1h
em9uLmNvbT4KUmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBz
dXNlLmNvbT4KLS0tCiB4ZW4vY29tbW9uL2dyYW50X3RhYmxlLmMgfCAxMSAr
KysrKysrKystLQogMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwg
MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL2dyYW50
X3RhYmxlLmMgYi94ZW4vY29tbW9uL2dyYW50X3RhYmxlLmMKaW5kZXggMDI2
MmYyYzQ4YWY4Li5lZDFlMmZhYmNlYTYgMTAwNjQ0Ci0tLSBhL3hlbi9jb21t
b24vZ3JhbnRfdGFibGUuYworKysgYi94ZW4vY29tbW9uL2dyYW50X3RhYmxl
LmMKQEAgLTE0ODgsOCArMTQ4OCwxNSBAQCB1bm1hcF9jb21tb24oCiAgICAg
aWYgKCBwdXRfaGFuZGxlICkKICAgICAgICAgcHV0X21hcHRyYWNrX2hhbmRs
ZShsZ3QsIG9wLT5oYW5kbGUpOwogCi0gICAgLyogU2VlIHRoZSByZXNwZWN0
aXZlIGNvbW1lbnQgaW4gbWFwX2dyYW50X3JlZigpLiAqLwotICAgIGlmICgg
cmMgPT0gR05UU1Rfb2theSAmJiBsZCAhPSByZCAmJiBnbnR0YWJfbmVlZF9p
b21tdV9tYXBwaW5nKGxkKSApCisgICAgLyoKKyAgICAgKiBtYXBfZ3JhbnRf
cmVmKCkgd2lsbCBvbmx5IGluY3JlbWVudCB0aGUgcmVmY291bnQgKGFuZCB1
cGRhdGUgdGhlCisgICAgICogSU9NTVUpIG9uY2UgcGVyIG1hcHBpbmcuIFNv
IHdlIG9ubHkgd2FudCB0byBkZWNyZW1lbnQgaXQgb25jZSB0aGUKKyAgICAg
KiBtYXB0cmFjayBoYW5kbGUgaGFzIGJlZW4gcHV0LCBhbG9uZ3NpZGUgdGhl
IGZ1cnRoZXIgSU9NTVUgdXBkYXRlLgorICAgICAqCisgICAgICogRm9yIHRo
ZSBzZWNvbmQgYW5kIHRoaXJkIGNoZWNrLCBzZWUgdGhlIHJlc3BlY3RpdmUg
Y29tbWVudCBpbgorICAgICAqIG1hcF9ncmFudF9yZWYoKS4KKyAgICAgKi8K
KyAgICBpZiAoIHB1dF9oYW5kbGUgJiYgbGQgIT0gcmQgJiYgZ250dGFiX25l
ZWRfaW9tbXVfbWFwcGluZyhsZCkgKQogICAgIHsKICAgICAgICAgdm9pZCAq
KnNsb3Q7CiAgICAgICAgIHVuaW9uIG1hcHRyYWNrX25vZGUgbm9kZTsKLS0g
CjIuMzIuMAoK

--=separator
Content-Type: application/octet-stream; name="xsa394-4.12.patch"
Content-Disposition: attachment; filename="xsa394-4.12.patch"
Content-Transfer-Encoding: base64

RnJvbSA2MDRmYjY5MWVlZTViYmViYTc3MDEyNjQ1MWQ4ODBiOTMyNTY1ZTY1
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKdWxpZW4gR3JhbGwg
PGpncmFsbEBhbWF6b24uY29tPgpEYXRlOiBXZWQsIDUgSmFuIDIwMjIgMTc6
NTU6NDggKzAwMDAKU3ViamVjdDogW1BBVENIXSB4ZW4vZ3JhbnQtdGFibGU6
IE9ubHkgZGVjcmVtZW50IHRoZSByZWZjb3VudGVyIHdoZW4gZ3JhbnQgaXMK
IGZ1bGx5IHVubWFwcGVkCgpUaGUgZ3JhbnQgdW5tYXBwaW5nIGh5cGVyY2Fs
bCAoR05UVEFCT1BfdW5tYXBfZ3JhbnRfcmVmKSBpcyBub3QgYQpzaW1wbGUg
cmV2ZXJ0IG9mIHRoZSBjaGFuZ2VzIGRvbmUgYnkgdGhlIGdyYW50IG1hcHBp
bmcgaHlwZXJjYWxsCihHTlRUQUJPUF9tYXBfZ3JhbnRfcmVmKS4KCkluc3Rl
YWQsIGl0IGlzIHBvc3NpYmxlIHRvIHBhcnRpYWxseSAob3IgZXZlbiBub3Qp
IGNsZWFyIHNvbWUgZmxhZ3MuClRoaXMgd2lsbCBsZWF2ZSB0aGUgZ3JhbnQg
aXMgbWFwcGVkIHVudGlsIGEgZnV0dXJlIGNhbGwgd2hlcmUgYWxsCnRoZSBm
bGFncyB3b3VsZCBiZSBjbGVhcmVkLgoKWFNBLTM4MCBpbnRyb2R1Y2VkIGEg
cmVmY291bnRpbmcgdGhhdCBpcyBtZWFudCB0byBvbmx5IGJlIGRyb3BwZWQK
d2hlbiB0aGUgZ3JhbnQgaXMgZnVsbHkgdW5tYXBwZWQuIFVuZm9ydHVuYXRl
bHksIHVubWFwX2NvbW1vbigpIHdpbGwKZGVjcmVtZW50IHRoZSByZWZjb3Vu
dCBmb3IgZXZlcnkgc3VjY2Vzc2Z1bCBjYWxsLgoKQSBjb25zZXF1ZW5jZSBp
cyBhIGRvbWFpbiB3b3VsZCBiZSBhYmxlIHRvIHVuZGVyZmxvdyB0aGUgcmVm
Y291bnQKYW5kIHRyaWdnZXIgYSBCVUcoKS4KCkxvb2tpbmcgYXQgdGhlIGNv
ZGUsIGl0IGlzIG5vdCBjbGVhciB0byBtZSB3aHkgYSBkb21haW4gd291bGQK
d2FudCB0byBwYXJ0aWFsbHkgY2xlYXIgc29tZSBmbGFncyBpbiB0aGUgZ3Jh
bnQtdGFibGUuIEJ1dCBhcwp0aGlzIGlzIHBhcnQgb2YgdGhlIEFCSSwgaXQg
aXMgYmV0dGVyIHRvIG5vdCBjaGFuZ2UgdGhlIGJlaGF2aW9yCmZvciBub3cu
CgpGaXggaXQgYnkgY2hlY2tpbmcgaWYgdGhlIG1hcHRyYWNrIGhhbmRsZSBo
YXMgYmVlbiByZWxlYXNlZCBiZWZvcmUKZGVjcmVtZW50aW5nIHRoZSByZWZj
b3VudGluZy4KClRoaXMgaXMgQ1ZFLTIwMjItMjMwMzQgLyBYU0EtMzk0LgoK
Rml4ZXM6IDk3ODFiNTFlZmRlMiAoImdudHRhYjogcmVwbGFjZSBtYXBraW5k
KCkiKQpTaWduZWQtb2ZmLWJ5OiBKdWxpZW4gR3JhbGwgPGpncmFsbEBhbWF6
b24uY29tPgpSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1
c2UuY29tPgotLS0KIHhlbi9jb21tb24vZ3JhbnRfdGFibGUuYyB8IDcgKysr
KysrLQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMSBkZWxl
dGlvbigtKQoKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vZ3JhbnRfdGFibGUu
YyBiL3hlbi9jb21tb24vZ3JhbnRfdGFibGUuYwppbmRleCBlZTU3NDhlNzRl
YjkuLjYxZDI5ZGY3YmRmNiAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9ncmFu
dF90YWJsZS5jCisrKyBiL3hlbi9jb21tb24vZ3JhbnRfdGFibGUuYwpAQCAt
MTQwMiw3ICsxNDAyLDEyIEBAIHVubWFwX2NvbW1vbigKICAgICBpZiAoIHB1
dF9oYW5kbGUgKQogICAgICAgICBwdXRfbWFwdHJhY2tfaGFuZGxlKGxndCwg
b3AtPmhhbmRsZSk7CiAKLSAgICBpZiAoIHJjID09IEdOVFNUX29rYXkgJiYg
Z250dGFiX25lZWRfaW9tbXVfbWFwcGluZyhsZCkgKQorICAgIC8qCisgICAg
ICogbWFwX2dyYW50X3JlZigpIHdpbGwgb25seSBpbmNyZW1lbnQgdGhlIHJl
ZmNvdW50IChhbmQgdXBkYXRlIHRoZQorICAgICAqIElPTU1VKSBvbmNlIHBl
ciBtYXBwaW5nLiBTbyB3ZSBvbmx5IHdhbnQgdG8gZGVjcmVtZW50IGl0IG9u
Y2UgdGhlCisgICAgICogbWFwdHJhY2sgaGFuZGxlIGhhcyBiZWVuIHB1dCwg
YWxvbmdzaWRlIHRoZSBmdXJ0aGVyIElPTU1VIHVwZGF0ZS4KKyAgICAgKi8K
KyAgICBpZiAoIHB1dF9oYW5kbGUgJiYgZ250dGFiX25lZWRfaW9tbXVfbWFw
cGluZyhsZCkgKQogICAgIHsKICAgICAgICAgdm9pZCAqKnNsb3Q7CiAgICAg
ICAgIHVuaW9uIG1hcHRyYWNrX25vZGUgbm9kZTsKLS0gCjIuMzIuMAoK

--=separator--


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 12:07:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 12:07:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260209.449553 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCKbK-0002ra-Ly; Tue, 25 Jan 2022 12:07:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260209.449553; Tue, 25 Jan 2022 12:07:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCKbK-0002rR-Hi; Tue, 25 Jan 2022 12:07:06 +0000
Received: by outflank-mailman (input) for mailman id 260209;
 Tue, 25 Jan 2022 12:07:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jkQr=SJ=xenbits.xen.org=julieng@srs-se1.protection.inumbo.net>)
 id 1nCKZh-0006BM-D7
 for xen-devel@lists.xen.org; Tue, 25 Jan 2022 12:05:25 +0000
Received: from mail.xenproject.org (mail.xenproject.org [104.130.215.37])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0ed23ef4-7dd7-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 13:05:16 +0100 (CET)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1nCKZP-0004m4-8d; Tue, 25 Jan 2022 12:05:07 +0000
Received: from julieng by xenbits.xenproject.org with local (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1nCKZP-0003vf-6C; Tue, 25 Jan 2022 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: 0ed23ef4-7dd7-11ec-8fa7-f31e035a9116
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=XjImBY627dzjE6CAOBihcwCbC0zmFDELfKNBy+FyDb4=; b=INuodAE6zxiLlqwttASajLYK9T
	qBZwj+RmvDQIE/tzkDOJEKvi1R/iFoIcXUWmIN4bi35HLHu7BlUWjbdjTaapoi+Opmuymv+UxTEc9
	IXQu5ZinWM4Y7JHzkreaT9HKzrwwQ7atGF7Qc319S3zri6tTG8WafDvr9Xti29KiikaU=;
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 395 v2 (CVE-2022-23035) - Insufficient
 cleanup of passed-through device IRQs
Message-Id: <E1nCKZP-0003vf-6C@xenbits.xenproject.org>
Date: Tue, 25 Jan 2022 12:05:07 +0000

--=separator
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

            Xen Security Advisory CVE-2022-23035 / XSA-395
                               version 2

          Insufficient cleanup of passed-through device IRQs

UPDATES IN VERSION 2
====================

Adjust patch subject.

Public release.

ISSUE DESCRIPTION
=================

The management of IRQs associated with physical devices exposed to x86
HVM guests involves an iterative operation in particular when cleaning
up after the guest's use of the device.  In the case where an interrupt
is not quiescent yet at the time this cleanup gets invoked, the cleanup
attempt may be scheduled to be retried.  When multiple interrupts are
involved, this scheduling of a retry may get erroneously skipped.  At
the same time pointers may get cleared (resulting in a de-reference of
NULL) and freed (resulting in a use-after-free), while other code would
continue to assume them to be valid.

IMPACT
======

The precise impact is system specific, but would typically be a Denial
of Service (DoS) affecting the entire host.  Privilege escalation and
information leaks cannot be ruled out.

VULNERABLE SYSTEMS
==================

Xen versions 4.6 and later are vulnerable.  Xen versions 4.5 and earlier
are not vulnerable.

Only x86 HVM guests with one or more passed-through physical devices
using (together) multiple physical interupts can leverage the
vulnerability.  x86 PV guests cannot leverage the vulnerability.  x86
HVM guests without passed-through devices or with a passed-through
device using just a single physical interrupt also cannot leverage the
vulnerability.  Device pass-through is unsupported for x86 PVH guests
and all Arm guests.

MITIGATION
==========

There is no mitigation (other than not passing through to x86 HVM guests
PCI devices with, overall, more than a single physical interrupt).

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.

xsa395.patch           xen-unstable - Xen 4.15.x
xsa395-4.14.patch      Xen 4.14.x - Xen 4.12.x

$ sha256sum xsa395*
f460be598b936bb5cfb9276787f2f21d90b029d1fe10dabd572ae50f84a1124d  xsa395.meta
295b876c52cf5efe19150757275da3d154beb72ac2d7be267e16c9262e410de3  xsa395.patch
5697f3137e0a202744f31b1c6cbcfa459d8fa9b4b68be59561b78c40fe1233c5  xsa395-4.14.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/4UyVfoK9kFAmHv39QMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZhowIAIZYZq4efyEAP5rB3zX4yRel2GNz+2Dpjok4PExB
uSOrPaH5dDILhNdVJNG48MckDe0dMDsn3OGr1I6lbxcV1TWR1JFrBQoxeUnwdiEf
GjeTni0hhefan3IEEd5HUDInQgf9oI7fUcgEdVAoIV87BQdlK0ofjJ3TggSrr8jl
pL5dmIh4OICD6YttR11Of1vhPY2WhZQb2xgSxzEQbDeY8k3JaRWy8mYwwxPD0HXn
+hmLK59ZhkJd5Sk8AxttRUTEsl6nKESrUz3vv/vFInV5Go+35AElL//gQNgOOTAS
nljLLtJdfHSuRy459Sw/lm4mwQ9zkfOFH6B+M6efSkHMyoE=
=Iv+w
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa395.meta"
Content-Disposition: attachment; filename="xsa395.meta"
Content-Transfer-Encoding: base64

ewogICJYU0EiOiAzOTUsCiAgIlN1cHBvcnRlZFZlcnNpb25zIjogWwogICAg
Im1hc3RlciIsCiAgICAiNC4xNiIsCiAgICAiNC4xNSIsCiAgICAiNC4xNCIs
CiAgICAiNC4xMyIsCiAgICAiNC4xMiIKICBdLAogICJUcmVlcyI6IFsKICAg
ICJ4ZW4iCiAgXSwKICAiUmVjaXBlcyI6IHsKICAgICI0LjEyIjogewogICAg
ICAiUmVjaXBlcyI6IHsKICAgICAgICAieGVuIjogewogICAgICAgICAgIlN0
YWJsZVJlZiI6ICJiOWFhMTYzNWIzOGE3YmMwOTJkNjAxMjNiODdjNTQ1ZjI1
ZGIzMWU0IiwKICAgICAgICAgICJQcmVyZXFzIjogWwogICAgICAgICAgICAz
OTMsCiAgICAgICAgICAgIDM5NAogICAgICAgICAgXSwKICAgICAgICAgICJQ
YXRjaGVzIjogWwogICAgICAgICAgICAieHNhMzk1LTQuMTQucGF0Y2giCiAg
ICAgICAgICBdCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIjQuMTMi
OiB7CiAgICAgICJSZWNpcGVzIjogewogICAgICAgICJ4ZW4iOiB7CiAgICAg
ICAgICAiU3RhYmxlUmVmIjogImQwZTJjMjc2MmI5ODFhYmQ5ODRhZjY2YTg0
NGFjMTJkOGJmOGY4MTMiLAogICAgICAgICAgIlByZXJlcXMiOiBbCiAgICAg
ICAgICAgIDM5MywKICAgICAgICAgICAgMzk0CiAgICAgICAgICBdLAogICAg
ICAgICAgIlBhdGNoZXMiOiBbCiAgICAgICAgICAgICJ4c2EzOTUtNC4xNC5w
YXRjaCIKICAgICAgICAgIF0KICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAg
ICAiNC4xNCI6IHsKICAgICAgIlJlY2lwZXMiOiB7CiAgICAgICAgInhlbiI6
IHsKICAgICAgICAgICJTdGFibGVSZWYiOiAiY2JhZGY2N2JjYWI0ZTI5Yzg4
MzQxMGRiMzkzZjRmNWVmMzRkZjA0YSIsCiAgICAgICAgICAiUHJlcmVxcyI6
IFsKICAgICAgICAgICAgMzkzLAogICAgICAgICAgICAzOTQKICAgICAgICAg
IF0sCiAgICAgICAgICAiUGF0Y2hlcyI6IFsKICAgICAgICAgICAgInhzYTM5
NS00LjE0LnBhdGNoIgogICAgICAgICAgXQogICAgICAgIH0KICAgICAgfQog
ICAgfSwKICAgICI0LjE1IjogewogICAgICAiUmVjaXBlcyI6IHsKICAgICAg
ICAieGVuIjogewogICAgICAgICAgIlN0YWJsZVJlZiI6ICJhYmEyMmM2N2Vm
ZTQ0MDRhMmE4NGUzNzhiZmQ5OGRlZjVlYzhlNjQ3IiwKICAgICAgICAgICJQ
cmVyZXFzIjogWwogICAgICAgICAgICAzOTMsCiAgICAgICAgICAgIDM5NAog
ICAgICAgICAgXSwKICAgICAgICAgICJQYXRjaGVzIjogWwogICAgICAgICAg
ICAieHNhMzk1LnBhdGNoIgogICAgICAgICAgXQogICAgICAgIH0KICAgICAg
fQogICAgfSwKICAgICI0LjE2IjogewogICAgICAiUmVjaXBlcyI6IHsKICAg
ICAgICAieGVuIjogewogICAgICAgICAgIlN0YWJsZVJlZiI6ICJkMGQwYWY2
N2VlZGU1NjBmYWFiNThmMTYxZDk2MDhhNjljNzc5ZDQxIiwKICAgICAgICAg
ICJQcmVyZXFzIjogWwogICAgICAgICAgICAzOTMsCiAgICAgICAgICAgIDM5
NAogICAgICAgICAgXSwKICAgICAgICAgICJQYXRjaGVzIjogWwogICAgICAg
ICAgICAieHNhMzk1LnBhdGNoIgogICAgICAgICAgXQogICAgICAgIH0KICAg
ICAgfQogICAgfSwKICAgICJtYXN0ZXIiOiB7CiAgICAgICJSZWNpcGVzIjog
ewogICAgICAgICJ4ZW4iOiB7CiAgICAgICAgICAiU3RhYmxlUmVmIjogIjMx
ZjNiYzk3ZjQ1MDg2ODcyMTVlNDU5YTVlMzU2NzZlZWNmMTc3MmIiLAogICAg
ICAgICAgIlByZXJlcXMiOiBbCiAgICAgICAgICAgIDM5MywKICAgICAgICAg
ICAgMzk0CiAgICAgICAgICBdLAogICAgICAgICAgIlBhdGNoZXMiOiBbCiAg
ICAgICAgICAgICJ4c2EzOTUucGF0Y2giCiAgICAgICAgICBdCiAgICAgICAg
fQogICAgICB9CiAgICB9CiAgfQp9

--=separator
Content-Type: application/octet-stream; name="xsa395.patch"
Content-Disposition: attachment; filename="xsa395.patch"
Content-Transfer-Encoding: base64

RnJvbSA0Y2M5MjRjM2UzYTBkNTMzMDZkMDhiMDQ3MjBjNDI3ZDFjMjk4YmE4
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKdWxpZW4gR3JhbGwg
PGpncmFsbEBhbWF6b24uY29tPgpEYXRlOiBXZWQsIDUgSmFuIDIwMjIgMTg6
MDk6MjAgKzAwMDAKU3ViamVjdDogW1BBVENIXSBwYXNzdGhyb3VnaC94ODY6
IHN0b3AgcGlycSBpdGVyYXRpb24gaW1tZWRpYXRlbHkgaW4gY2FzZSBvZgog
ZXJyb3IKCnB0X3BpcnFfaXRlcmF0ZSgpIHdpbGwgaXRlcmF0ZSBpbiBiYXRj
aCBvdmVyIGFsbCB0aGUgUElSUXMuIFRoZSBvdXRlcgpsb29wIHdpbGwgYmFp
bCBvdXQgaWYgJ3JjJyBpcyBub24temVybyBidXQgdGhlIGlubmVyIGxvb3Ag
d2lsbCBjb250aW51ZS4KClRoaXMgbWVhbnMgJ3JjJyB3aWxsIGdldCBjbG9i
YmVyZWQgYW5kIHdlIG1heSBtaXNzIGFueSBlcnJvcnMgKHN1Y2ggYXMKLUVS
RVNUQVJUIGluIHRoZSBjYXNlIG9mIHRoZSBjYWxsYmFjayBwY2lfY2xlYW5f
ZHBjaV9pcnEoKSkuCgpUaGlzIGlzIENWRS0yMDIyLTIzMDM1IC8gWFNBLTM5
NS4KCkZpeGVzOiBjMjQ1MzZiNjM2ZjIgKCJyZXBsYWNlIGQtPm5yX3BpcnFz
IHNpemVkIGFycmF5cyB3aXRoIHJhZGl4IHRyZWUiKQpGaXhlczogZjZkZDI5
NTM4MWY0ICgiZHBjaTogcmVwbGFjZSB0YXNrbGV0IHdpdGggc29mdGlycSIp
ClNpZ25lZC1vZmYtYnk6IEp1bGllbiBHcmFsbCA8amdyYWxsQGFtYXpvbi5j
b20+ClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNl
LmNvbT4KUmV2aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBh
dUBjaXRyaXguY29tPgotLS0KIHhlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3g4
Ni9odm0uYyB8IDQgKysrKwogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9u
cygrKQoKZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3g4
Ni9odm0uYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3g4Ni9odm0uYwpp
bmRleCAzNTFkYWFmZGM5YmYuLjBiMzdjZDE0NWI2MCAxMDA2NDQKLS0tIGEv
eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gveDg2L2h2bS5jCisrKyBiL3hlbi9k
cml2ZXJzL3Bhc3N0aHJvdWdoL3g4Ni9odm0uYwpAQCAtNzMyLDcgKzczMiwx
MSBAQCBpbnQgcHRfcGlycV9pdGVyYXRlKHN0cnVjdCBkb21haW4gKmQsCiAK
ICAgICAgICAgICAgIHBpcnEgPSBwaXJxc1tpXS0+cGlycTsKICAgICAgICAg
ICAgIGlmICggKHBpcnFfZHBjaS0+ZmxhZ3MgJiBIVk1fSVJRX0RQQ0lfTUFQ
UEVEKSApCisgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgcmMgPSBj
YihkLCBwaXJxX2RwY2ksIGFyZyk7CisgICAgICAgICAgICAgICAgaWYgKCBy
YyApCisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
fQogICAgICAgICB9CiAgICAgfSB3aGlsZSAoICFyYyAmJiArK3BpcnEgPCBk
LT5ucl9waXJxcyAmJiBuID09IEFSUkFZX1NJWkUocGlycXMpICk7CiAKLS0g
CjIuMzIuMAoK

--=separator
Content-Type: application/octet-stream; name="xsa395-4.14.patch"
Content-Disposition: attachment; filename="xsa395-4.14.patch"
Content-Transfer-Encoding: base64

RnJvbSA3NDMzNDhmNWQ1NDVjN2ZmZjljZGVhNzQ2ODQwYjc5NWY1YzI2ZDQz
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKdWxpZW4gR3JhbGwg
PGpncmFsbEBhbWF6b24uY29tPgpEYXRlOiBXZWQsIDUgSmFuIDIwMjIgMTg6
MDk6MzkgKzAwMDAKU3ViamVjdDogW1BBVENIXSBwYXNzdGhyb3VnaC94ODY6
IHN0b3AgcGlycSBpdGVyYXRpb24gaW1tZWRpYXRlbHkgaW4gY2FzZSBvZgog
ZXJyb3IKCnB0X3BpcnFfaXRlcmF0ZSgpIHdpbGwgaXRlcmF0ZSBpbiBiYXRj
aCBvdmVyIGFsbCB0aGUgUElSUXMuIFRoZSBvdXRlcgpsb29wIHdpbGwgYmFp
bCBvdXQgaWYgJ3JjJyBpcyBub24temVybyBidXQgdGhlIGlubmVyIGxvb3Ag
d2lsbCBjb250aW51ZS4KClRoaXMgbWVhbnMgJ3JjJyB3aWxsIGdldCBjbG9i
YmVyZWQgYW5kIHdlIG1heSBtaXNzIGFueSBlcnJvcnMgKHN1Y2ggYXMKLUVS
RVNUQVJUIGluIHRoZSBjYXNlIG9mIHRoZSBjYWxsYmFjayBwY2lfY2xlYW5f
ZHBjaV9pcnEoKSkuCgpUaGlzIGlzIENWRS0yMDIyLTIzMDM1IC8gWFNBLTM5
NS4KCkZpeGVzOiBjMjQ1MzZiNjM2ZjIgKCJyZXBsYWNlIGQtPm5yX3BpcnFz
IHNpemVkIGFycmF5cyB3aXRoIHJhZGl4IHRyZWUiKQpGaXhlczogZjZkZDI5
NTM4MWY0ICgiZHBjaTogcmVwbGFjZSB0YXNrbGV0IHdpdGggc29mdGlycSIp
ClNpZ25lZC1vZmYtYnk6IEp1bGllbiBHcmFsbCA8amdyYWxsQGFtYXpvbi5j
b20+ClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNl
LmNvbT4KUmV2aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBh
dUBjaXRyaXguY29tPgotLS0KIHhlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lv
LmMgfCA0ICsrKysKIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykK
CmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pby5jIGIv
eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW8uYwppbmRleCA3MWVhZjJjMTdl
MjcuLmI2ZTg4ZWJjODY0NiAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFz
c3Rocm91Z2gvaW8uYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9p
by5jCkBAIC04MTAsNyArODEwLDExIEBAIGludCBwdF9waXJxX2l0ZXJhdGUo
c3RydWN0IGRvbWFpbiAqZCwKIAogICAgICAgICAgICAgcGlycSA9IHBpcnFz
W2ldLT5waXJxOwogICAgICAgICAgICAgaWYgKCAocGlycV9kcGNpLT5mbGFn
cyAmIEhWTV9JUlFfRFBDSV9NQVBQRUQpICkKKyAgICAgICAgICAgIHsKICAg
ICAgICAgICAgICAgICByYyA9IGNiKGQsIHBpcnFfZHBjaSwgYXJnKTsKKyAg
ICAgICAgICAgICAgICBpZiAoIHJjICkKKyAgICAgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9IHdoaWxl
ICggIXJjICYmICsrcGlycSA8IGQtPm5yX3BpcnFzICYmIG4gPT0gQVJSQVlf
U0laRShwaXJxcykgKTsKIAotLSAKMi4zMi4wCgo=

--=separator--


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 12:18:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 12:18:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260315.449564 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCKmB-0006p3-PN; Tue, 25 Jan 2022 12:18:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260315.449564; Tue, 25 Jan 2022 12: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 1nCKmB-0006ow-Lp; Tue, 25 Jan 2022 12:18:19 +0000
Received: by outflank-mailman (input) for mailman id 260315;
 Tue, 25 Jan 2022 12:18:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nUgY=SJ=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nCKmA-0006oq-UH
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 12:18:19 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ded986a1-7dd8-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 13:18:17 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ded986a1-7dd8-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643113097;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=HdI7z30muaeiAmYg2kHzH8oBkDFQ7qkIHV7q0W2Uw+4=;
  b=bQ7Ym59tpXNyNsHgaq3Ib6zD4pHi6lBBPpFCA3HyA1AAXuAtR26HintR
   wQDypXGcD9kroiuioiYn1N37AQobMuSx5UVS5Ys27C/p6QJgwhylu2uuA
   PV98lZ8XU7WentBWyJUjUQ1N2Iag1F3aQ/pT4b5MIlzWfLQkws3H6Wgfk
   A=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: iuPwnD2995nRHruME0Ng/oHSVYtpweT22F+TXNsJ9IPTqkmm7Ocv2bwLi6nZRinOXJfexrcH5t
 vJE6xK0g1kJacehhbSY69VXDsPdrBG5TSCVpHkRDuj7Vb9Pp8omPk0e9KO8WfQL5pxuYdzE3p8
 itxZtYKAo8psof9H9QSmPm8OrXbhlZR4KvnpF9CdEJpgGWFx+gdzrVGv2JkCrSDyfgOhz27RGm
 JYIIixUIXYrNSHuqG3qkmWO7MqyugfcV7gjXMydgjt07fcbC0fq092j2Hai+LKsjSFu0/IEnKS
 obmZzpQ6G1bXmq7pwlS5oLPf
X-SBRS: 5.2
X-MesageID: 64865361
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:6KANNK39C71jLKbfhPbD5Sp2kn2cJEfYwER7XKvMYLTBsI5bp2BTm
 2pOCj/Ta/yLMzCgeNp+PY6/8UsBu5HcnIAwGwE/pC1hF35El5HIVI+TRqvS04J+DSFhoGZPt
 Zh2hgzodZhsJpPkS5PE3oHJ9RGQ74nRLlbHILOCanAZqTNMEn9700o6wbNh2+aEvPDia++zk
 YKqyyHgEAfNNw5cagr4PIra9XuDFNyr0N8plgRWicJj5TcypFFMZH4rHomjLmOQf2VhNrXSq
 9Avbl2O1jixEx8FUrtJm1tgG6EAaua60QOm0hK6V0U+6/TrS+NbPqsTbZIhhUlrZzqhrvBDm
 ZYVn5KKRih3L5Dqw9lAaBhEHHQrVUFG0OevzXmXtMWSywvNcmf2wuUoB0YzVWEa0r8pWycUr
 6VecW1TKEDY7w616OvTpu1EnMMsIdOtJIoCknph0SvYHbAtRpWrr6Diu4MIgmpr2Jkm8fD2X
 Pg6MGpEfij5XiJoYQcRMsoevsCIvyyqG9FfgA3M/vdmi4TJ9yRh3b6oPNfLd9iiQcROgl3et
 m/A537+ABwRKJqY0zXt2m2orv/Cm2X8Qo16PLS9/a80qEaJzWJVDhAKPXO5q/Skjk+1W/pEN
 lcZvCEpqMAPGFeDF4enGUfi+Tjd40BaC4E4//AGBB+l+4rmskXBLGY+QREfeeEA7/Jrfj022
 Qrc9z/2PgBHvLqQQHOb076bqzKuJCQYRVM/iT84oRgtuIe6/txq5v7bZpM6SfPu0IWpcd3l6
 23S9EADa6MvYdnnPklR1XTOmHqSq5fAVWbZDS2HDzv+vmuViGNIDrFECGQ3D94ddO51rXHb5
 RDofvRyCshUUflhcwTWGI0w8EmBvartDdEmvXZhHoM66xOm8GO5cIZb7VlWfRk1aZ5YKGC2P
 h6C4Wu9AaO/2lPwMcebhKrqU6wXIVXIT4y5Bpg4kPIQCnSOSON31H43PhPBt4wcuEMtjbs+K
 f+mnTWEVh4n5VBc5GPuHY81iOZzrghnnD+7bc2lk3yPjOTPDFbIGeZtGAbfNYgRsfLbyDg5B
 v4CbaOi0QtEauTib0H/qMhLRbz8BSJlVcmeRg0+XrPrHzeK70l4W6aOmutwItI890mX/8+Rl
 kyAtoZj4AOXrVXMKBmQa2Alb7XqXJ1lqmk8MzBqNlGts0XPq672hEvGX5doL7Qh6sJ5yvt4E
 6sMd8maW6wdQTXb4TUNK5L6qdU6JhisgAuPOQujYSQ+IME8F1CYpIe8c1u97jQKAwq2qdA6/
 ++q2DTETMdRXA9lFsvXNq6ilgvjoXgHletudELUOd0PKl70+Y1nJnWp3P86Ks0BMzvZwT6e2
 1rECBsUv7CV8YQ07MPIleaPqILwS7lyGU9THm/667eqNHaFojr/kNEYCOvRJGLTTmL5/qmmd
 N559fCkPa1VhktOvqp9D61vkfA06ezwquII1Q9jBnjKMQimU+syPnmc0MBTnaRR3bsF6xCuU
 0eC99QGa7WEPMTpTAwYKAY/N7nR0PgVnn/Z7OgvIVW87yhypeLVXUJXNhiKqSpcMLoqb991n
 bZ/4JYbu16llx4nEtealSQFpW2DI0sJX7gjqpxHUpTgjRAmyw0abJHRYsMsDEpjtzmY3pEWH
 wKp
IronPort-HdrOrdr: A9a23:WoUwH6sRXCI5jwp92+CRYZkZ7skDgNV00zEX/kB9WHVpm6yj+v
 xGUs566faUskd2ZJhEo7q90ca7Lk80maQa3WBVB8bBYOCEghrOEGgB1/qA/9SIIUSXmtK1l5
 0QFpSWYOeaMbEQt7ef3ODXKbcdKNnsytHWuQ/dpU0dMz2DvctbnnZE4gXwKDwHeOFfb6BJba
 Z1fqB81kedkXJ8VLXCOlA1G9Ltivfsj5zcbRsPF3ccmXWzZWPB0s+AL/CAtC1uKQ9y/Q==
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="64865361"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=F6umcfKs/OKUNdSCSOZOK8CNmSkjBRNB7Z0ANzaSgORUzifAFmns+KD6Q4RuZd5ObS/bakMfyoN5lPW2CIjv7kLY8NByeVZ0/vBuOHs2XkMaB3HbTzVvlR+ICoyfG+cWhALeoMeEWIgdH2wMIsQAPuSGK0Ghk/i7HlqOESgQFdsdrXJwGMHyZA+ACUVDo8ZfeQaggM3RE8OIdzBmfZZOubZ1w0erFn/mPyrb3AoGhfWk09k/U0ixxtrj3QdCK1FhiJZ9LusGEap06gF5wLg/hb7kJE4Di81u7imYKL0Y+ztO7/iNXEtcnE0Ut7zY703U99Ulmf8uFPNacFpX3y6bHw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TYjWYPJD0TX4y4MGuU7nGi/QSPUmjBiEsakUN84Nt94=;
 b=bX2sSwSylQ4Qf4CXvzJa6MNnZJ4cypYgseq0OSebb3GebLLTre/rDgdGfCXjB0SX9sqAAlz8yX0Z4/sT5MzOqA/BnuvLX3BMo0xn7W8OSzTVBVPVBoFbmAkLxWs5D862VqYuE4mO4xDvhBskL0VABDkfqdHsyvFw4mIUNgUqkH5s4PFAi3v0C6QuAE930JairpaWa/BC3rIgTs4ewVhfOIgG6yDfv762NQMhRZVN82AAbPc1+pzjLD1dug6qwmb/S6nHQNff7fFMQepEww/54GxZOxrJ3IMiYQT0mTBzDx+1WuT4QGWts2tHAstm4kZxT4ZKMHOoySEDQqQA+D/bMQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TYjWYPJD0TX4y4MGuU7nGi/QSPUmjBiEsakUN84Nt94=;
 b=L2ejq+CkCDmEye4cIkweH141auKGSt4dyemcNM4YKJPeLSQikTVduuNDLsQeGouSTcsK0soMebh0bjFzqD1CMf94RXD5paf+7iMIVzZGT+KLYDaq6zW4ynUqkZaE6H1o035dGl2pnyQohwfe0zS3sIfmtAe2KnPxfy60WlQ3qMs=
Date: Tue, 25 Jan 2022 13:18:04 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <amc96@srcf.net>
CC: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: Re: [PATCH] x86/time: minor adjustments to init_pit()
Message-ID: <Ye/qfGRHjfDxNudz@Air-de-Roger>
References: <08b293b3-e04a-9230-e7ec-dd7da9d198b1@suse.com>
 <5a8228df-b3f9-609e-e7fb-d0f8a5ed5413@srcf.net>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <5a8228df-b3f9-609e-e7fb-d0f8a5ed5413@srcf.net>
X-ClientProxiedBy: MR1P264CA0036.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:2f::23) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 664a9c21-e89e-4384-cdba-08d9dffcbf6c
X-MS-TrafficTypeDiagnostic: BN7PR03MB3505:EE_
X-Microsoft-Antispam-PRVS: <BN7PR03MB35055723F04480F698EB788A8F5F9@BN7PR03MB3505.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: hmaJqoAhTKXDpng1xnUxrjyKOmF9JrGVFWNRRC2tw0svi4kAtGpCXcG/ns6Cye3LODrjVlk4ukj7JjV1klsKm65xuTZPG451BYoBGbpmY4ZYKHNxbgS0c3JnAdEevDqZTc5DkjiZP9ka8kBoeS32JW9HGHTkCu6llLna5mlBDFioDFJ5L6cFNLaX0KCnkgUlXaFgDmJhIVF9eFk1OLZSRfKicPebhQyFmzZ5x8oLM3P/bkXcUZBXtb+nW+iadYGP3Xe1hw66prEx4UjWSkcWixZ/rZesJavyDGHvoaIRNpTGJCxLAE5t1WVsKq0J1D3secgu2DFnKuUCxAPJxCCeILPhNjUpSq4qiUbNAjDf6iZdhVsVodxCFsJwa6cgCRV6O/UTNAC32gzJzFlXwdW1X0WC1AGFMNy3SmvV7pWcpwkl96KjGoIU25o6ld7bVV/tQ/h53raTFSbtAaDbjQPMgZGz0XPJpzXw9nVp8qk/0yKyNorZZMQe4TFC04ZKy1t/cdgUMXswlnbC4Fp1uDF5rXmObT1mHXfapNBXNJZUJxc3SQQRryCD4SdU6SI7DtwH4sDGeVeNIK8SJlDMwC+huUeI6A/5Iz9jOgZC/gkvUnmWpGPuONRcJM7x9P0KAl07e+V8xojPJJg6XHJuD9yFog==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(54906003)(4326008)(316002)(6486002)(86362001)(53546011)(6512007)(9686003)(6506007)(26005)(5660300002)(186003)(6916009)(508600001)(6666004)(2906002)(66476007)(66556008)(66946007)(33716001)(8676002)(8936002)(82960400001)(83380400001)(85182001)(38100700002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NVlZNzF6SDFFWDhSckt0M09oMS9jN2FLQkEyYjMvWkdUUFVvMzhaUjRnMERR?=
 =?utf-8?B?S09KU0kyU1BRTDdjaWlNMnZaNFJhOE5jMXpuazJFdmhkL2xpOWlDR3FLeTd2?=
 =?utf-8?B?aFlPeno4bEpTeUszY1hrNXJpL1NkSXFlaW96cUh2bDdPaExmV0lKOSt1Z1pu?=
 =?utf-8?B?T2o4VEtCeGpIWmNBSmd2d1l5ME9GaDF6TEppQm9mVkQ2NWtjRVJJYkVTZVNJ?=
 =?utf-8?B?ZlRLYnNkRTU2cnYza3l0SGsxLzdvSWNkOUZpNjRicWNwYjhhQTFmbzM0T1Yz?=
 =?utf-8?B?dnAyb0dEOGhGQ1JMc2MvRDREOHN4dkkrMjhqT1lwdUw4azZtUVB6TlIrUDlh?=
 =?utf-8?B?Z1N1Y1M0REcvNzMydklQdzVKZTZqS04wYlRNWmVTRWdqQTUyT1dpNHYreXd2?=
 =?utf-8?B?SlE1NlAveTFXeWxMSy9NY3BZazdjYjhZTnhjYmx1YkV3Vm1Ic25VV1ZDYVdo?=
 =?utf-8?B?Q3R3Tlg0WVJheisvUCtKSm5HaFhmUkF3cm5mdHgvZnVqQmRsNzZ2ZTF2UHV2?=
 =?utf-8?B?VEkyM1pEL3d6SjZhREE5WDVXTFlzcmZoVUlLcFdub0hpa3J4NGNzcmJiRU5j?=
 =?utf-8?B?SkwzeGt4UlI2WUFpNUxlT04yNGpxNUowTTNIU0pKeWtjT25mb0JTRDZGNHBB?=
 =?utf-8?B?ZjU1TStDcWN5cHdTb1F0bFhQSEhGRytZMXB3Q1d1UVdkc3pvV1FOLzRwZjZD?=
 =?utf-8?B?cnZmbE1SY0tQRU1DVkhoVWVaREVEd0VnWWR0K25Zay9OM3p3NkJScXpoUkRI?=
 =?utf-8?B?UmRtK1ByTmxZb1JpVzBqdVF4bENIVFliSlNRbkJJWEFoNXloeEhpU2JlR2JW?=
 =?utf-8?B?TDRHRFVhTkZXQUora2pHUFRqa3J3dFF1Q3BOS2ROUUlzbzhGRXNOeTNDdDlx?=
 =?utf-8?B?NVBzTjFZQ3M1c2M4UzZsV1NpRm5VajhNbGRKRlpGaFVrZ2VvcGsrSWZ4eTV2?=
 =?utf-8?B?SC8yb0FGcndFeVErZEtaTzN4SUttWHM1MWpHZmE5MFhzOU0zRTNTMjMxcjZa?=
 =?utf-8?B?OGFzQmdRL2g5RUIwOHRQQW1JR0w1SWJ0RUVlOG9uQjYwY1BBdHBybzZUbFpU?=
 =?utf-8?B?YzkyeDA0SU9UdFpjaHdjWjdWTWZiR3lUTUlZczZjWnpNN2IybmlyczN6aFM2?=
 =?utf-8?B?WU1leE0xelhDQVA0V1NUV3N1SkYrR3hBaUIvTjlQSDJRNHpqQ1doeXZ0enRm?=
 =?utf-8?B?dWp6WTdIYzYzbFVsMXNwMVkwWWdkRkhOV3ZMOTBTN2h6NXR2a1ppK2daamlT?=
 =?utf-8?B?aXBYTmRQVTNqU3R0R3VERjZ5RGVJWUFVYWd6M1hJczIvU0RlcTBQNk5aUmNB?=
 =?utf-8?B?Mys5MnN5L25mbUU5WWJTNXRFZGRWVXk0Wk5VdVdBU2oxMmZrWlIwN3B5TTVl?=
 =?utf-8?B?bDFSdWlYQjNMTFZDejBJWkNDa0M2VTZqcVoxaFcwUis3dTNQNkFQSG15R1Ri?=
 =?utf-8?B?QnNkWitJNHA5ZUJLTk1OcmdDYUFheXNoRjhqLzRSUzNLRUczeEVhVDV3eTRX?=
 =?utf-8?B?aWZiZHpjVnYwL2lHUGltVElZbldOa0tXN2tEKzl3Z25SMStjWlQ2OVRwMng4?=
 =?utf-8?B?N2ZpRUt2bVhGd3VaT1hSOUtXUXZTdTlKT1MvcXc1WlAxOU04RzVFSFJQbzdG?=
 =?utf-8?B?MWE5d24xeW9UamdYN0hqV2IwKzE0NFpLMmgrRXFBeUpteXJxeGtXN0ZxVWxq?=
 =?utf-8?B?ZTVSSWU5RlRTSVg5M1AranJMZ216RS9wT0M3MUlnWFdNdW56aWxyUGVOOUdv?=
 =?utf-8?B?RGpwUUxKcjM3dDdta3VXREsvTWdvNXN2OU4wR3lvOGMzUHd5VUR1M1lUZUdu?=
 =?utf-8?B?cEJibDNSOEFNRkhLSnJSVUR6bVJQTjJSUWlUS1BIUzVNODczMlR4cm56WXZS?=
 =?utf-8?B?YjhneGYwT215dE5NRUlaSTFnZEFxdnU0Y2xzb0lwMitHK3dVTVV2OVN5RkJF?=
 =?utf-8?B?aTd6d2pMSUpMVFdpYmpmdTdzQWRBZGVuN21pMTFVdDdxUXJ2d3MrU09ZclRo?=
 =?utf-8?B?b3RuUDNZMjlXKysreHpEZGZwTDF3Sy9kVHpoT2JZdXlpaGNiWXdtZFJjM3Rz?=
 =?utf-8?B?TWhmM0d0Njg4bWZaTDIrN2t5R1RkdGFWaWUraWRpbHZROFArV01xQXAzYmg4?=
 =?utf-8?B?M29YMGtUcFZvTGwwSnR3azY3OXJITWlxbUl2RkZxZTdaaGZoTm9QYkF0RDBE?=
 =?utf-8?Q?k1cLD4tj8VRxXIKjKey2+3o=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 664a9c21-e89e-4384-cdba-08d9dffcbf6c
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 12:18:08.8623
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7JJXqXZhDLwj7DHW6OxIP4SNdybp20pwJJB2IjvxRWYtwWnVqaeaIMKnDrVK61XY/HJxojLLdzW2000iBu6pSQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR03MB3505
X-OriginatorOrg: citrix.com

On Thu, Jan 20, 2022 at 04:17:37PM +0000, Andrew Cooper wrote:
> On 17/01/2022 10:36, Jan Beulich wrote:
> > For one, "using_pit" shouldn't be set ahead of the function's last
> > (for now: only) error path. Otherwise "clocksource=pit" on the command
> > line can lead to misbehavior when actually taking that error path.
> >
> > And then make an implicit assumption explicit: CALIBRATE_FRAC cannot,
> > for example, simply be changed to 10. The way init_pit() works, the
> > upper bound on the calibration period is about 54ms.
> >
> > Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> > ---
> > Really I've noticed this while considering what would happen if someone
> > specified  "clocksource=pit" on the shim's command line. Unlike "hpet"
> > and "acpi", "pit" presently wouldn't be (explicitly) ignored. While,
> > aiui, right now the only error path would be taken (due to port 0x61
> > reads being supposed to get back 0xff), I don't think we can build on
> > that longer term: Seeing what we use port 0x61 for in traps.c, I think
> > sooner or later we will need to have some form of emulation for it. Such
> > emulation is then not unlikely to continuously report 0 in the bit in
> > question. That would leed to an infinite loop here.
> 
> If we're not already doing it, pv shim really ought to set the FADT
> hardware reduced bits.  There should be no need to depend on heuristics
> around ~0.

We have talked about setting the hardware reduced flag for PVH,
it's however tricky. For once hardware-reduced ACPI mandates the usage
of UEFI firmware, which we don't yet fully support for PVH.

And then we cannot set that flag for a PVH dom0, because we use a mix
of crafted and native ACPI tables, so we risk that setting the bit
creates incompatibilities with the native tables we expose.

Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 12:43:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 12:43:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260331.449587 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCLAa-0001xw-T3; Tue, 25 Jan 2022 12:43:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260331.449587; Tue, 25 Jan 2022 12:43: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 1nCLAa-0001xp-Pb; Tue, 25 Jan 2022 12:43:32 +0000
Received: by outflank-mailman (input) for mailman id 260331;
 Tue, 25 Jan 2022 12:43:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nUgY=SJ=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nCLAZ-0001xg-99
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 12:43:31 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 64dea317-7ddc-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 13:43:29 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 64dea317-7ddc-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643114609;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=kaLIcHlXO5zH9Vbwd534mJmp2EwOdMOkDEfpxv0IiYI=;
  b=idOinrIXFNcsNAJkZnVcvyY0/zBsxSabMGOGlCiNIAKyDuTpcs56SNjD
   JpbcuZuNZNCAtqYHjD2Ns50TN5ynLhg2fmbo/t7glNv+MhyPMQA+HpmEY
   HWYiA6CQAvDorY+1vsMbIwWPh2chEknOWb/vm4oExitGpghZOB5QFbF1u
   w=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: C/pgaRfZhxHCUyJV9Ki4DAHK9U8AbTiaRGq7Xkibn+J72cwsLY/5ZWxkbwv0mpsT1fazQMJBtw
 cFec4GONjCIBBCeG4iUc5aHvGxzP5Wpxi/E+GXMqtdjZ5c/KuNP64OQFjwjcY/YYt9gni0HHmT
 J22hJLvKVW0F6X9z+gVcTh3j/Jem5vzSe8OtIb8ssKGycO6MFarL1xF1G4XZ91AfZLZ6zt8qdV
 dd1fkHUQVJShWT1DNpXdKVfSvk6FbuMf2t592IhOZs0vgyZQZ9PA0apu9qXjIcShEV2AXRyBHf
 OzQYRkrX+vE1Fm72HiKQKiT4
X-SBRS: 5.2
X-MesageID: 62175636
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:Q2/5m6vvxnDlpO9XHnyglh34DOfnVLBZMUV32f8akzHdYApBsoF/q
 tZmKTjTPP/cMTTxc48iPY6//EtTu5aHyoNnG1dvryk8EXsR+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZQP0VOZigHtIQMsadUsxKbVIiGHdJZS5LwbZj2NYx24XhWmthh
 PupyyHhEA79s9JLGjp8B5Kr8HuDa9yr5Vv0FnRnDRx6lAe2e0s9VfrzFonoR5fMeaFGH/bSe
 gr25OrRElU1XfsaIojNfr7TKiXmS1NJVOSEoiI+t6OK2nCuqsGuu0qS2TV1hUp/0l20c95NJ
 NpljaSBcwkwb5T3vNs4SUZ3DBFhZLxpweqSSZS/mZT7I0zudnLtx7NlDV0sPJ1e8eFyaY1M3
 aVGcnZXNEnF3r/ohuLgIgVvrp1LwM3DJoQQt2sm1TjEJf0nXYrCU+PB4towMDIY2JoXQquAP
 JRxhTxHPBHqQCd2EUwsEZMfntmOvCbfTzphkQfAzUYwyzeKl1EguFT3C/LKfvSaSMMTmVyXz
 krW8mK8DhwEOdi3zTue7mnqluLJhTn8Wo8ZCPu/7PECqF+Zy3EXCRYWfUCmuvT/gUm7M++zM
 GRNpHBo9/JrshX2EJ+tBHVUvUJooDYkY+tqHfRr0Tqp9Y/OvCmGNnddXxF4PYlOWNANeRQm0
 VqAntXMDDNpsaGIRX/1yop4vQ9eKgBOczZcOHZsoR8tpoC6/dpt1k6nosNLTfbt5uAZDw0c1
 NxjQMIWo7wIxfAG2Kyglbwsq2L9/8OZJuLZC+i+Y45E0u+bTNP9D2BLwQKChRqlEGp/ZgPd1
 JTjs5PGhN3i9bnXyESwrBwlRdlFHcqtPjzGmkJIFJI87Tmr8HPLVdkOvGomeBY2bZhVKGeBj
 KrvVeV5vsM70JyCNvcfXm5MI55ykfiI+SrNCJg4keaikrAuLVTarUmClGab3nz3kVhErE3ME
 czzTCpYNl5DUf4P5GPvH481iOZ3rghjmz+7bc2lnnyPjOrPDFbIGOxtGAbfMYgEAFas/V+9H
 yB3bZXakn2ykYTWP0HqzGLkBQladCdgXcGv9ZU/myzqClMOJVzNwsT5mNsJU4dkg75UhqHP+
 HS8UVVf013xmTvMLgDiV5ypQOmHsU9XoS1pMCoyE0yv3nR/M4+j4L1GL8k8fKU99fwlxvlxF
 qFXd8KFC/VJazLG5zVCMsWt8N08LEym1VCUIi6oQDkjZJo8FQbHzcDpI1n0/y4UAyvp6cZn+
 ++81hnWSIYoThh5CJqEc+qmyl685CBPmO97U0bSDMNUfUHgrNpjJyDr16dlKMAQMxTTgDCd0
 l/OUxsfoODMpa4z8cXI2v/Y/9v4TbMmExMDTWfB7LuwOS3LxUaZwNdNALSSYDTQdGLo46H+N
 +9b+O7xba8cl1FQvosiT7sylfAi58HirqNxxxh/GCmZdEyiD75tLyXU3cRLsaERlLZVtRHvB
 xCK89hef76IJNnkABgaIw98NraP0vQdmz/z6/UpIRqluH8rreTfCUgCbQORjCF9LaduNNJ3y
 Ogsj8ca9gijh0d4Kd2BlC1VqzyBI3Fov3/LbX3G7FsHUjYW92w=
IronPort-HdrOrdr: A9a23:er9r/qPuspopO8BcT1v155DYdb4zR+YMi2TDiHoedfUFSKOlfp
 6V8MjztSWVtN4QMEtQ/+xoHJPwPE80kqQFnbX5XI3SJjUO3VHIEGgM1/qG/9SNIVybygcZ79
 YeT0EcMqyBMbEZt7eD3ODQKb9Jq7PrgcPY59s2jU0dNj2CA5sQnjuRYTzra3GeKjM2YqbQQ/
 Gnl7R6TnebCD4qR/X+IkNAc/nIptXNmp6jSRkaByQ/4A3LqT+z8rb1HzWRwx9bClp0sPsf2F
 mAtza8yrSosvm9xBOZ/2jP765OkN+k7tdYHsSDhuUcNz2poAe1Y4ZKXaGEoVkO0aySwWdvtO
 OJjwYrPsx15X+UVmapoSH10w2l6zoq42+K8y7QvVLT5ejCAB4qActIgoxUNjHD7VA7gd162K
 VXm0qEqpt+F3r77WXAzumNcysvulu/oHIkn+JWpWdYS5EiZLhYqpFa1F9JEa0HADnx5OkcYa
 dT5fnnlbVrmG6hHjLkVjEF+q3oYp1zJGbIfqE6gL3U79AM90oJi3fxx6Qk7wE9HdwGOt55Dt
 //Q9ZVfYd1P7grhJJGdZQ8qPSMexnwqDL3QSqvyAfcZeo600ykke+C3Fxy3pDtRKA1
X-IronPort-AV: E=Sophos;i="5.88,314,1635220800"; 
   d="scan'208";a="62175636"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GsL3zbHjTj9icTmlHNaodeDKfr8K37WsR8K1o5a8eLo3buVzd7X+2lcbH8QRZwwKLMNpwweowRAdJ95sLdSPpmsrSHR5EMWItYrGcSKWuTujVMvkQCLPOX6UcOTWw0uXnm9wXgFE2PcM/N7UDactsM5cY5NPu7xWJEEM9EwHxucLHlv3vh7noTjSUHqNp+3S1VAFAQYBccrZEVf/KlYzjCy8UoZ75v0GcjLAbJ+gEwghfrwunGx9ZDWmJ5iJ5cCb41V+lI181hcjTRo3fFrJQjZW+neP6DRckPVAPm/GD4ZW5DSqM/Vw6iGH7yLRmDdlFoddaFAXnZuA+wGhXI33dw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8ONJ70hCXD8kypWhi8Wak21xcfjf5HAl0rY91zoG3lc=;
 b=HB81HDCAGqyUAqTHrh/XA80jS0utGjePisi4i9XuG6sYR/ZvnXh8bIzWUzvItCJ3vpJjM/VaDt4I8whtRt9BIs+eeuRGO8kaX6ADRPw1TflUdQTRMHag0GlDlyoH0Qr7XgjMQ9MXxCTDE5vLiZpOfY4lChrH2BrE9IVpIm4VSglFGLX3ED0Q0/0rO7lvbAu+yMlbvE5sdvL4/UgEq41U6clrjoRiGcpAWjsLqIM0yfBn2KhtJKWpABpCtnJ/o1i14vkCvRawWerE8Zk1FCaEm7IvK65H/GxhMt9auSSp0uVwlRotP5n9Bq4yiGlgDa3Hu6gnX26GKWE7ydr01IQFLw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8ONJ70hCXD8kypWhi8Wak21xcfjf5HAl0rY91zoG3lc=;
 b=e3UeXjQbIaKQpmRzMi0E7fdquIZyAjEZrcPTJ1ubfcxL2+Jxi1NU1FzegGLMdg36jE1FcxtIDP4QAzM/MIWoy5vjPKDn8Z7liL+jPSN8MAvHRvKJvvJqP+ud68XmUNv84JzotG3cToL8B3mlBnNVP/p7CW+kwN0KTu8Klf/vujc=
Date: Tue, 25 Jan 2022 13:43:17 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "Andrew
 Cooper" <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH RFC v2 4/5] x86/mwait-idle: enable interrupts before C1
 on Xeons
Message-ID: <Ye/wZZiyAUA13Ykr@Air-de-Roger>
References: <568cb6dc-127a-9c8f-0073-2df173d4677b@suse.com>
 <a0b3c3f6-2abc-353b-92f9-367fa57af8ef@suse.com>
 <YemFRFaKRanqgpSW@Air-de-Roger>
 <4ccff255-630f-2805-b5eb-013aea666cf7@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <4ccff255-630f-2805-b5eb-013aea666cf7@suse.com>
X-ClientProxiedBy: MR1P264CA0007.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:2e::12) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4c2bb184-6b9b-485b-c88f-08d9e0004685
X-MS-TrafficTypeDiagnostic: SN6PR03MB4398:EE_
X-Microsoft-Antispam-PRVS: <SN6PR03MB43980A82452CEE5C9B51666C8F5F9@SN6PR03MB4398.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: 0nhfy/WEJ0fYLSY/NR14DbCIqC1RLYsLA/8j/oMdIEekkR7FXtbJQtDYZIJjl2QBxwyErznjlg2vyquVLIz01DwO+kWa3aBRfp/7q6NQurr7c4Jx2FMvlPwwtGOyKOIbbgQRofz/k5t4iaS9a7cYxax7fmw9DiaL7/4ylRkhZzvcRzhNmOmcOiCg3MH27iWPtyDjwgDzv1LC2HFwd4KS4HUZ0538lieCk4LpIR5PPzDu0z9IpGghICL7Ds8gxYTS3Uue8UUcPluvsW0tv4as6b8JtjF5kV9ruoWfOJbmulBPAXrkb/6/gQYjUS+57W6E7s2diDiZ8AeJajHMFalPM6uclg6GvJr+8X724ay1jqyeBI+Apn5I6OqI2gQbUd6HQAVjUlRtLoSCRVyHc/cKfVmEDYSNgVu8W+xUwAXVXvgI6UPKn5FsOM37LEbJSrmGnHlCTKTkUmxCTeXI2c15wIp/wFaxZahGcYMfGh1vsFjjunpj4yqf/sOLsp6Sz9lPiuWeYcRYj8NKx2VnfnXmUXj2QesXxxk534sHhctT/cWNxTaJgCEe7Tbar2CYHmqWY6Cu8WYbiTv0PojI+m8/SD1N6veR3FeTy/nwsReVq5XJVZQNE2mqCDz4Uo6b58oc2CKZwAiz8NVviLbxP1nHCQ==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(82960400001)(83380400001)(26005)(4326008)(6916009)(316002)(6506007)(5660300002)(9686003)(8936002)(8676002)(85182001)(6486002)(186003)(2906002)(33716001)(53546011)(6512007)(54906003)(66556008)(6666004)(66476007)(38100700002)(508600001)(66946007)(86362001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?WHFrYVdkVDhKUnM0U1ZaUjNQQzMwamdweXBMT3U1NldpWUZjMDVoYUJrS0RY?=
 =?utf-8?B?c3NoQXpwSnFvNXVkSkVjVzhVZ1ppeTdKRkFWNllSUmFVV2xsVXFDM2xmVmNs?=
 =?utf-8?B?bTZQYnB6MkFzeW5EUzhmYVduazNmQzJVc1FHOVNlYUNIa2c1Y0NhS296NWtQ?=
 =?utf-8?B?ejNaendrbXdjWEdiSDU4Q0x0TmR2N0U1YUZDUzZDRDE1eUZYbTFPd2Nvd01R?=
 =?utf-8?B?L2hUbVRIbVhBaU5JbkFqM2ZMUnhlM0FWc3c0UG84aWx6N0ZoT2s4YzVJSVpn?=
 =?utf-8?B?djBDNy9LSFZNc3Y1L0ltd2RHNHF0QjlOT1pIeEREaXM3ZmkvQkFtYWdRd1Ey?=
 =?utf-8?B?RWFhSE1POVZWcXZiazNKMHdaNVo4blNuV2RyWnVrRWI4MDhYOHFQdVlvODJP?=
 =?utf-8?B?SHozc0ZTRStXcjlGQTZPQ2xUK002NThSVTR2MjV6dlVXT1I1d0djeXVUZUVJ?=
 =?utf-8?B?NTRCNW40eWFzdFY0WXpsY0hRTnNYdlQzZXlqWUdjbFMzMUNpN1MxZTl6c2VJ?=
 =?utf-8?B?allyR2grQXlGRmNCN0EyVDQ3Y1lXdkRSSmlVRFkzZ2h6cmhvR3pJS1ArcEVi?=
 =?utf-8?B?dUpOVDg4ckZGdGhZZnNDZXpDWnlBdHhDRU9FeWdvOGRJRFE2UUVsOG5nYVVH?=
 =?utf-8?B?Z0M2N0RkSHhKTE9kUXltbTFvaU9EUSticlZIMmI0NTRaeng4MmNuMWVtWW5z?=
 =?utf-8?B?ck9lazNHTE1yTFFSbGdIeS9VSGZKUkZscGpya1BxL2VpZ0Y0ek9kOWp4elFh?=
 =?utf-8?B?MlNUa3daUDVyVFFpc05rMU52cUQ5MHE2ZGdXYk9lbE1BcmIyWTZET080ZFg1?=
 =?utf-8?B?MnVwOWVvWXFKaHJnWTdHUUtpVCt3em1tWk03cHRrRHE2QThWRURuYnNtR3pJ?=
 =?utf-8?B?VnlZN0NmUUVISUdOK0U1dzZMdTkweU5rWHlhYzFjV1duUjhVSDBQRzcyaFVr?=
 =?utf-8?B?cmp0em80R1JrcG5wS0tzendNZHRrRm51L2NNRmZraHFUbjFrT2VnejJxZE4r?=
 =?utf-8?B?emdxcG1YYlY0bUlmalR3dXFGMTdVOW5MNGlJUHVwVk5TUUduKzdvN3R6L2xs?=
 =?utf-8?B?SUdVMnQ3dHgxSUl4bWNJS0hydG14UHh0UU1ZYy9HVDlOWlQxYTZGVTgyeG9w?=
 =?utf-8?B?c1VqTFRBWVd5emM1ejljT2UrTTVmZ3oxWlpDZlAzOThoUGgwbkR4UTYzdkx5?=
 =?utf-8?B?NGNmUk8rMExUSWRoUjZmTWVxaHgvbGpIWEdPNm9WZGdpay82VnFUaXgwQnh1?=
 =?utf-8?B?amRTTDBxMWRDNSswbk9aaVlVRERjWVlQcUJySzFFQXRFWWNkWDhGWGZkaXl3?=
 =?utf-8?B?YTlXZGlTQUxtTG9Qak1yRlFIeDhOMFQxZi90ckpHOUF3MnFqcDVlVzVqUDdQ?=
 =?utf-8?B?Tk1iZVhwWjZGVlVpZ3VTRS9Gdi9VUHBLbnd0SkJ1S3ZQSjgxRlRzL0IrYmYz?=
 =?utf-8?B?S3M5blhJaGV4TWlCQ0wwRSt5NjYxRnIzNU1aT0pxUEFWZ2hIR28wTXdQOEZv?=
 =?utf-8?B?T0xQakpRenFPbERYeTZmSVF3eWRwWTlZK095YzY3dFVWdHVMb05mQTJGc1h0?=
 =?utf-8?B?TUxTYXZpNjlNc1RYQmdSMGZneWNsNU9BL21qbVBlTzRWeXJnb3lscDBjMGFS?=
 =?utf-8?B?RmkwV3UyZHdDcXNqaWdtUXdUYXNhRU1qNDd3U0lwWjAzZEp2dVRwS3JiYjRG?=
 =?utf-8?B?azVGUGdGZmIvZFR5aXdJTlZUQU41T1d4aXZST2dSL2lDTVV2ZjErSzRjd2Rk?=
 =?utf-8?B?WW9Kakd4N2pQaitHTDZYd3IvL0JqdU5seFBXZmx2RURMeWJqc0pqUTFKYlVE?=
 =?utf-8?B?d1lVc0xLUnJGRmZYOUdGWTNoeXAwdlhQWWwydk00dFk5REt1Y3VyZFZvRlBt?=
 =?utf-8?B?R3VrdFhwbGNKa1NucWNEcTczMzIxUXIxWWNYYkZDRGg5eU5rREh1ellybHN4?=
 =?utf-8?B?dkpLR01UUzNZOVk5WFB0MElxeldlcGxMVzlXMUxxeDZEaEtJVUM1Z3lRblhu?=
 =?utf-8?B?cEZoVXpzZkN1cEhOY3NLajA2MGRCYll1K1lYSmlnN0RvRGhneTFpYkZyQzBy?=
 =?utf-8?B?VS9tZk9RTEx3ZExXbE4zQUxOYkgybmEzdXFFb3ZtVmx1cHBXNUJvZmF2UWhk?=
 =?utf-8?B?ak4wbHp5WTRiR3JZOHo1RGZ5dkZGWU9abFVPMFFjb1ZSRVRCYkJxRDRoQUo4?=
 =?utf-8?Q?U3oXwgoQvNbk7KMlx6olxJo=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 4c2bb184-6b9b-485b-c88f-08d9e0004685
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 12:43:23.9924
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: G2VocxTxa64tiutntErSkz4H4O7L+qKrwXJeKOXM25HTdLTTfKCKB7M0pQKUKlsAUhF7H5QjNwKGX1tfNvROlQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR03MB4398
X-OriginatorOrg: citrix.com

On Mon, Jan 24, 2022 at 03:44:53PM +0100, Jan Beulich wrote:
> On 20.01.2022 16:52, Roger Pau Monné wrote:
> > On Thu, Jan 20, 2022 at 03:04:39PM +0100, Jan Beulich wrote:
> >> From: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
> >> Unlike Linux we want to disable IRQs again after MWAITing, as
> >> subsequently invoked functions assume so.
> > 
> > I'm also wondering whether there could be interrupts that rely on some
> > of the housekeeping that's done when returning from mwait. I guess
> > it's unlikely for an interrupt handler to have anything to do with the
> > TSC not having been restored.
> 
> Actually this is a good point you make: We don't want to enable
> IRQs when cstate_restore_tsc() is not a no-op, or else we might
> confuse the time rendezvous. (I thought that I would remember
> TSC to stop only in deeper C-states, but maybe I'm mixing this up
> with the APIC timer.)

There's a comment in time.c that mentions the TSC only stopping in
'deep C states'. Also note that in that case the rendezvous function
already updates the TSC, so I'm not sure whether calling it with an
out of date TSC would be harmful - it will be updated anyway to match
the master TSC.

Might be safer to disable interrupts unconditionally on CPUs that
don't have a non-stop TSC just to be on the safe side.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 13:55:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 13:55:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260369.449721 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCMI9-0002SO-8F; Tue, 25 Jan 2022 13:55:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260369.449721; Tue, 25 Jan 2022 13: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 1nCMI9-0002SH-5F; Tue, 25 Jan 2022 13:55:25 +0000
Received: by outflank-mailman (input) for mailman id 260369;
 Tue, 25 Jan 2022 13:55:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YAYL=SJ=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1nCMI8-0002Rb-3E
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 13:55:24 +0000
Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com
 [2a00:1450:4864:20::334])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 70a85d17-7de6-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 14:55:23 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id v123so25422723wme.2
 for <xen-devel@lists.xenproject.org>; Tue, 25 Jan 2022 05:55:23 -0800 (PST)
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 p17sm16319687wrf.112.2022.01.25.05.55.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Jan 2022 05:55:22 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 70a85d17-7de6-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=message-id:date:mime-version:user-agent:reply-to:subject
         :content-language:to:cc:references:from:in-reply-to
         :content-transfer-encoding;
        bh=6EJNmViF+HBybLCJxBBkQKt7yPxgwq5NZNFhjZnZK3I=;
        b=qKq04QsqZXmb9epEdgKocCid6isDpmZdZHvrngDN3zu12YRVRrxasClgp3c0im4JNz
         NRovbe1Zqpx+9esQJvQ15J3I8dRkdLnkiV5o2oK8KDnqL8ROhI/Af7yE1gtrt37h0Tlv
         DRu935UXPyZyVFtTHKyZR85p1BJ4vUJQgU1LZdJC4sQM8waYePLmmqFuj8IdUa6mSl2Y
         e5xGABibr078we5nQjLbxKzq7R5Qp/sbwHVAYLph2HRjoB5V2C8tZtIscBtSJaigqCDz
         KyIrTmQdDH5t/Rfpl3dHuFd6REAsA0c72hwlnjZZjBTxsq7EcUrwdWmwcnxgcKQ4z2UG
         HJMQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:message-id:date:mime-version:user-agent:reply-to
         :subject:content-language:to:cc:references:from:in-reply-to
         :content-transfer-encoding;
        bh=6EJNmViF+HBybLCJxBBkQKt7yPxgwq5NZNFhjZnZK3I=;
        b=HDOi2+PHAefo/1gaY2OL/ZLxpZKhmLd21ebhv48sOBnrh6TUmIHIKiNZ+RMWZKwE8k
         dUOZ35hw6hwCpSGE2Hi8IERxu3VkPLxRJEwgtkr729b+tigIMeNlV6f9MG/WYZhZdwe/
         GyPqiVY1BUBMBux2C8l9qHYe/iuQQsG3umXuDlnP56mqGiMGjgVSXOT5XBX2U2uHFeWS
         5vxKFCx5KpPldkKQ5sY6FCMeFIK+QJCGjHQcHR+WOkJ7s10uW/nNr5T5vmtYdspZG0d7
         HXmAKeS/UsY2w8ZIcPN0FmgyWVLOeXcRSXjwRR7hvzfhnamf6aLAqOuXN0upKosTT+L6
         IHnA==
X-Gm-Message-State: AOAM531vjdAfbmp2O4r7xFTzS1EJ2/NAQRi/enn+6QSR0kpfQ3mAb36j
	bYxNScn68rS2fsJOcTMR5o0=
X-Google-Smtp-Source: ABdhPJwPRU8u3j94OQtF7wTRh9feVaxTmZqsL3D4HbIxOPsEKNx0H0A5j/+TEbClEDLoBMTWKvTDsA==
X-Received: by 2002:a05:600c:3641:: with SMTP id y1mr3103373wmq.44.1643118922489;
        Tue, 25 Jan 2022 05:55:22 -0800 (PST)
Message-ID: <2da0075f-4a6f-b196-6ae7-73c0df66e437@gmail.com>
Date: Tue, 25 Jan 2022 13:55:19 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Reply-To: paul@xen.org
Subject: Re: [PATCH v2] xen-mapcache: Avoid entry->lock overflow
Content-Language: en-US
To: Ross Lagerwall <ross.lagerwall@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>
Cc: Igor Druzhinin <igor.druzhinin@citrix.com>,
 Paolo Bonzini <pbonzini@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Eduardo Habkost <eduardo@habkost.net>, "Michael S. Tsirkin"
 <mst@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
 xen-devel@lists.xenproject.org, qemu-devel@nongnu.org
References: <20220124104450.152481-1-ross.lagerwall@citrix.com>
From: "Durrant, Paul" <xadimgnik@gmail.com>
In-Reply-To: <20220124104450.152481-1-ross.lagerwall@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 24/01/2022 10:44, Ross Lagerwall wrote:
> In some cases, a particular mapcache entry may be mapped 256 times
> causing the lock field to wrap to 0. For example, this may happen when
> using emulated NVME and the guest submits a large scatter-gather write.
> At this point, the entry map be remapped causing QEMU to write the wrong
> data or crash (since remap is not atomic).
> 
> Avoid this overflow by increasing the lock field to a uint32_t and also
> detect it and abort rather than continuing regardless.
> 
> Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>

Reviewed-by: Paul Durrant <paul@xen.org>

> ---
> Changes in v2: Change type to uint32_t since there is a hole there
> anyway. The struct size remains at 48 bytes on x86_64.
> 
>   hw/i386/xen/xen-mapcache.c | 8 +++++++-
>   1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/i386/xen/xen-mapcache.c b/hw/i386/xen/xen-mapcache.c
> index bd47c3d672..f2ef977963 100644
> --- a/hw/i386/xen/xen-mapcache.c
> +++ b/hw/i386/xen/xen-mapcache.c
> @@ -52,7 +52,7 @@ typedef struct MapCacheEntry {
>       hwaddr paddr_index;
>       uint8_t *vaddr_base;
>       unsigned long *valid_mapping;
> -    uint8_t lock;
> +    uint32_t lock;
>   #define XEN_MAPCACHE_ENTRY_DUMMY (1 << 0)
>       uint8_t flags;
>       hwaddr size;
> @@ -355,6 +355,12 @@ tryagain:
>       if (lock) {
>           MapCacheRev *reventry = g_malloc0(sizeof(MapCacheRev));
>           entry->lock++;
> +        if (entry->lock == 0) {
> +            fprintf(stderr,
> +                    "mapcache entry lock overflow: "TARGET_FMT_plx" -> %p\n",
> +                    entry->paddr_index, entry->vaddr_base);
> +            abort();
> +        }
>           reventry->dma = dma;
>           reventry->vaddr_req = mapcache->last_entry->vaddr_base + address_offset;
>           reventry->paddr_index = mapcache->last_entry->paddr_index;



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 14:02:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 14:02:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260377.449749 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCMOq-0004LL-7f; Tue, 25 Jan 2022 14:02:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260377.449749; Tue, 25 Jan 2022 14: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 1nCMOq-0004LE-4l; Tue, 25 Jan 2022 14:02:20 +0000
Received: by outflank-mailman (input) for mailman id 260377;
 Tue, 25 Jan 2022 14:02:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YAYL=SJ=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1nCMOo-0004L8-Su
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 14:02:18 +0000
Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com
 [2a00:1450:4864:20::332])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 67efcc77-7de7-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 15:02:17 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 r2-20020a1c2b02000000b0034f7b261169so1919781wmr.2
 for <xen-devel@lists.xenproject.org>; Tue, 25 Jan 2022 06:02:17 -0800 (PST)
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 9sm22356144wrb.77.2022.01.25.06.02.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Jan 2022 06:02:16 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 67efcc77-7de7-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=message-id:date:mime-version:user-agent:reply-to:subject
         :content-language:to:cc:references:from:in-reply-to
         :content-transfer-encoding;
        bh=GvV+xNRtZLIMNEQnG51h8ZugFDkjuKP1UVK/mYBRxII=;
        b=MV7J+7T6Mk5zsK3Wf9ewuOCyZkutph2SgAC3Kzaa2jv6UeEX1iVCWR8Wfgc9Msh7xT
         T2Jr9kKxCaZAdiXYS107Hp17pMiM4WtLfxL91zD/RJFCP0mmAUUcqMc0XM21ddiHLzab
         rAkGTBGo/kqy6JllBcVWdFedjXOiUDXerkWdMYg1v/41z1AoW456dy/finc2nGxghsiV
         5QBUHl38DT2/Qq6e5MBUe/YUCj6i8O+fVBk8yPQjHd2dz65C0iHHW1ZD+Xwwqw7oVh7+
         HGFmGm5PaSGx75LUEOYnIVIPf5JtryYzg3PcYxvZDjqIFBbqeX+256dAiRLlseHtFD+k
         n8Qg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:message-id:date:mime-version:user-agent:reply-to
         :subject:content-language:to:cc:references:from:in-reply-to
         :content-transfer-encoding;
        bh=GvV+xNRtZLIMNEQnG51h8ZugFDkjuKP1UVK/mYBRxII=;
        b=whhb7IrqarUzrb2cW06FV69iENWuxmojS1H6393uBVhXJYuT2co/es5tJDFwDuCuhJ
         d3iRFccoTHrrQ9MK1oz26LKRppUye2sIZL2dLm7eRDBl9D15n9kYFVw970yW6bYGCcor
         XY3A8gicLV2zcW89RtebH1+Nx/0qbeQaup4CgEmm2oow3xg3n1TGtjzJTbHS9/bwyu0F
         2zvMnS8njlEGzDw/wLuNoUn0VrR+4lN6YxI8c/9GSMs277Z4bBnfvzA4gdLEeaHJGvyP
         G2QMyZzh6yDTJbiCHuUyKGJ6cNKBQKbk6U5ak0fDH1/TZEHVxyIbGcl+y5LtyKM6k36K
         eOMA==
X-Gm-Message-State: AOAM5308e3N6iE+sUKRHLUpaLJm05Zry+jKSZwieaChXv8jHPtjx3QAs
	vpoev1nXzhrCi0Nx4LDZ8Vo=
X-Google-Smtp-Source: ABdhPJynkoPCTEsiUAwniYVIygV6cGBsSd0Ivg84wu+znpwtfdaALDpzyTy83oqPGQsHx1Si8iGd4Q==
X-Received: by 2002:a05:600c:1c87:: with SMTP id k7mr3214155wms.60.1643119337439;
        Tue, 25 Jan 2022 06:02:17 -0800 (PST)
Message-ID: <73294d6f-265a-ebb9-acd2-6b8dd786c29c@gmail.com>
Date: Tue, 25 Jan 2022 14:02:15 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Reply-To: paul@xen.org
Subject: Re: [PATCH] libxl: force netback to wait for hotplug execution before
 connecting
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, James Dingwall <james-xen@dingwall.me.uk>,
 Wei Liu <wei.liu@kernel.org>, Paul Durrant <paul@xen.org>
References: <20220124160248.37861-1-roger.pau@citrix.com>
From: "Durrant, Paul" <xadimgnik@gmail.com>
In-Reply-To: <20220124160248.37861-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 24/01/2022 16:02, Roger Pau Monne wrote:
> By writing an empty "hotplug-status" xenstore node in the backend path
> libxl can force Linux netback to wait for hotplug script execution
> before proceeding to the 'connected' state.
> 
> This is required so that netback doesn't skip state 2 (InitWait) and
> thus blocks libxl waiting for such state in order to launch the
> hotplug script (see libxl__wait_device_connection).
> 
> Reported-by: James Dingwall <james-xen@dingwall.me.uk>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> Tested-by: James Dingwall <james-xen@dingwall.me.uk>
> ---
> Cc: Wei Liu <wei.liu@kernel.org>
> Cc: Paul Durrant <paul@xen.org>

Reviewed-by: Paul Durrant <paul@xen.org>

> ---
>   tools/libs/light/libxl_nic.c | 7 +++++++
>   1 file changed, 7 insertions(+)
> 
> diff --git a/tools/libs/light/libxl_nic.c b/tools/libs/light/libxl_nic.c
> index 0b45469dca..0b9e70c9d1 100644
> --- a/tools/libs/light/libxl_nic.c
> +++ b/tools/libs/light/libxl_nic.c
> @@ -248,6 +248,13 @@ static int libxl__set_xenstore_nic(libxl__gc *gc, uint32_t domid,
>       flexarray_append(ro_front, "mtu");
>       flexarray_append(ro_front, GCSPRINTF("%u", nic->mtu));
>   
> +    /*
> +     * Force backend to wait for hotplug script execution before switching to
> +     * connected state.
> +     */
> +    flexarray_append(back, "hotplug-status");
> +    flexarray_append(back, "");
> +
>       return 0;
>   }
>   



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 14:18:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 14:18:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260380.449760 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCMdz-0005yk-JO; Tue, 25 Jan 2022 14:17:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260380.449760; Tue, 25 Jan 2022 14:17:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCMdz-0005yN-G2; Tue, 25 Jan 2022 14:17:59 +0000
Received: by outflank-mailman (input) for mailman id 260380;
 Tue, 25 Jan 2022 14:17: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 1nCMdy-0005yD-Q8; Tue, 25 Jan 2022 14:17: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 1nCMdy-0007Lo-NT; Tue, 25 Jan 2022 14:17: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 1nCMdx-0006fG-IO; Tue, 25 Jan 2022 14:17:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nCMdx-0001Lj-Hv; Tue, 25 Jan 2022 14:17:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=0ASairyg6oUCHI+KstcBi3ra7322Knq1aZzZJRBlAI0=; b=gfwbCZQpzyfiXhNCoByEHxgdQj
	2QwAM4MwWxbA7hKJZr81y4YA5BEbI5GyaXboQ4+Dk3/7uMfZGntV1gJNOL0JFbWkPHWK2H2Dfrk0X
	344GY1BqAE9JkXG6vgAKgyy4d7Uq/3bYa2zAF3Vqfxmtcn0I4VdixEqDZlF8/hRJXk0Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167810-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167810: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start/freebsd.repeat: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-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-qcow2: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-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-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-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl: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
X-Osstest-Versions-This:
    linux=a08b41ab9e2e468647f78eb17c28e29b93006394
X-Osstest-Versions-That:
    linux=dd81e1c7d5fb126e5fbc5c9e334d7b3ec29a16a0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 25 Jan 2022 14:17:57 +0000

flight 167810 linux-linus real [real]
flight 167815 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/167810/
http://logs.test-lab.xenproject.org/osstest/logs/167815/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-freebsd12-amd64 21 guest-start/freebsd.repeat fail pass in 167815-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167801
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167801
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167801
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167801
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167801
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167801
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167801
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167801
 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-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-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                a08b41ab9e2e468647f78eb17c28e29b93006394
baseline version:
 linux                dd81e1c7d5fb126e5fbc5c9e334d7b3ec29a16a0

Last test of basis   167801  2022-01-23 22:40:37 Z    1 days
Testing same since   167810  2022-01-25 06:40:10 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ard Biesheuvel <ardb@kernel.org>
  huangshaobo <huangshaobo6@huawei.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  sparkhuang <huangshaobo6@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   dd81e1c7d5fb..a08b41ab9e2e  a08b41ab9e2e468647f78eb17c28e29b93006394 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 14:22:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 14:22:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260387.449771 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCMiS-0007Rt-7d; Tue, 25 Jan 2022 14:22:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260387.449771; Tue, 25 Jan 2022 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 1nCMiS-0007Rm-3u; Tue, 25 Jan 2022 14:22:36 +0000
Received: by outflank-mailman (input) for mailman id 260387;
 Tue, 25 Jan 2022 14:22:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=81on=SJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nCMiQ-0007Rg-NL
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 14:22:34 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2ca0d467-7dea-11ec-bc18-3156f6d857e4;
 Tue, 25 Jan 2022 15:22:06 +0100 (CET)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2051.outbound.protection.outlook.com [104.47.13.51]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-41-qjj0Z2mvM-SDXL8xRuBWJw-1; Tue, 25 Jan 2022 15:22:29 +0100
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by VI1PR04MB5134.eurprd04.prod.outlook.com (2603:10a6:803:5f::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Tue, 25 Jan
 2022 14:22:26 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::353c:89ba:2675:f607]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::353c:89ba:2675:f607%4]) with mapi id 15.20.4909.019; Tue, 25 Jan 2022
 14:22:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2ca0d467-7dea-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643120550;
	h=from:from:reply-to:subject:subject: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=nLQMT3WnOIoEUw8dj+QiEsTiqBxuwTOTHtGRBseB2LY=;
	b=U6K00aZ69YbOcPisn/cuygaIgqrtcm0mBEYRkP33FeIcLh9DQSGviIDQH8435INVEbl/rB
	o0Q7o7z0qJ6akCzhpzhVJgZobf5Ff23QK+RESsbjnd3V8PwbB8y78KgLekHxM+QcEhH702
	jIYRU9U3XB10Ap8X6s+36XnKKcu2Nso=
X-MC-Unique: qjj0Z2mvM-SDXL8xRuBWJw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lhEQH8iA9effLCxIL0eqwzSVD14ergBLVyvdRp/GT/k5PYCqn690vVjyUeqN5rWMH8fF0oCPZxR3n5iep9+h6g1NRu4nlgakAxqS13SJ8N6jyM2qrbYIX0NIMy5zY8qRKYir4baTa+dHiWTeqQMFnLwGK2zenqOsXMObZVyyP3h9ga1VgpUliQMCVtznIT2LuFWm/D1QROP3DtGSYtWYoW3ycbJh3UTHiWqfSNQCYDkFtoW9yajszXWuFCMWFFvY1ZZxttOeWNrkP5E7rVa2B7yG5Mi9EopVcspg7QC/kpl45faBuaH6zBuokXkAsBezpjti0cE7N/K9JnbDXhnbnw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nLQMT3WnOIoEUw8dj+QiEsTiqBxuwTOTHtGRBseB2LY=;
 b=bPFxKRJwrD5EUeXkBktgVSDPMZg5tm/sLd2IOj+ZtzTOeLdPgINM4aNYkxE78vlKtK7Lx5LRpQ26IX2AuDflhzYyqK7bFleF8DeUmZlvPtzWBv0YNnbY7DCgEIgCOFXBi0jnhGpF5uF67hH+Bj/N/8g3C8EcYAnY30lf1QD0eRXzk/BNlroAqT2MkTpyUBQxKEVGBUQbouVQBNgGESJ28GZgO2I9pX2ANowWcAifwn5wwMs+OTpBzetxLnU3NTnBTDt54yX86m9YOHeC++SrWakoSw7+6kTEf60bC/4xWzaL1NpawzapXCXYVwbERJZpZpTXDoFVIq7NkAfBy5bnYw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5812dc8e-d77d-f9de-4f37-b0ef094c5c09@suse.com>
Date: Tue, 25 Jan 2022 15:22:25 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86emul: recognize CLDEMOTE
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR1001CA0011.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:206:2::24) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 667e6e99-4f81-47f5-c29b-08d9e00e1ca4
X-MS-TrafficTypeDiagnostic: VI1PR04MB5134:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB5134493B9A2E4C55CE3CA18FB35F9@VI1PR04MB5134.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:
	fEnx4jJZPYTJICHhwfhkATxqeVTW+Cw7Zx+Gt3hbHhe4sf967p90rhF2Py7a4Go+SxemGZODX+W7Xl9081A5wZm1QhfVrL3/qSI+ktpe5XcFqVdAy3Rc2C5l1LWvIrN1MqoemdoFpOx0frHjGvgeIn0BAExGSqkT7nWbWJgbOkJA6DvJt/FcHYwHcMoqgwA/BuMg09ChOrIkmx8dtT5AaMsdVYd8l5YPDVX8LHqMjZWTFb9QrDcfY+euDTBsO4SoNJFO4P+dPG4BQkSvQdBVgJWD1lalvDGFTTQxbMZnMhbEECylGjEvsvY8MK5s6m6xFmJV6P9GbW3XD2fdp54+8PTAUHjBvPA5y9wj4IFcjmB2mApkKHkVQo/o0cxtpKvklma3Jq+HS79FaMTyj2yFeadKWy2oZsdREQTRMTL+aGTf9QU8jWd27mVqy9N1n7nLSImSpw4GgbLJMRqORg4s8eg7xTNNg/g1ek6k9c/9zFixa7luwrMYIGGJ9WPkkzdtJdzGCn89JYQRqZEpbLIW2Vhi4QUkryfG1nlfmWUeHowJJ7MWES/pjQNcGBKv0SDxFvxPm3EpWiAjEAqeDxWu4kORDAiURDMblyhQQcmlOoMN1PIvlr8S7a4jMlQfTtUHHHX0r2a7qAnez4ftc8y7iefjZnCAkVo8PMJ26occ4KfQjgAo/Js8CCnfBCVfmS7YTvLjslh+HTqGGu3ORdZ6lmDzJUkJrNJcknnryk9TWcWHhYro1g/DMph5xOmfEpNA
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)(4326008)(54906003)(86362001)(186003)(8936002)(2616005)(31696002)(6916009)(2906002)(8676002)(83380400001)(36756003)(6486002)(66556008)(6506007)(26005)(508600001)(66476007)(66946007)(38100700002)(31686004)(5660300002)(6512007)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NHYvZUpMVFllK0VucDJqREQ3bytGWURhRENXU0xVamMzVkV4dzU3cUY0c2xR?=
 =?utf-8?B?MEVCWDU5ME1DUy9na3JzRVJxYmM2OXpQSzNRZ0pNNVZMbDJHaUowSmZOb2Yx?=
 =?utf-8?B?Y3B1aXJrU21vOTV3R1hDKzdGcUhLSmxCSWpGTXJmV0t4cHQvNGZLdVc0aG54?=
 =?utf-8?B?RmNFNkFuL2gxTTJUQWVVRDJxSkZSNzdSbVVpYkhTMEFlVXV1YTNFamc3N0do?=
 =?utf-8?B?QjhYTVJkbk5pcmlnUzk0NzJyaTQ2Y0Z5bElWOERsYUV4eXdtSWFiT1FMNmJ4?=
 =?utf-8?B?YVJIcDRjbnRIaWhrbWQ5NHdFanA0QzdFUHRWU1pSMVYwTXVrNTNkVU5NZ0lK?=
 =?utf-8?B?T2xnZmVuQmcvZGFFQWdSSEtKRkdrNE1qRStSdVFWYkEwQjNxdHdSMHAvWGRh?=
 =?utf-8?B?c3Z5TFRaS1dHWnFucVZKaDVoUEQ3cS9PL2Rtc2FJZ0d0TTJwNjVvUXhQSmFH?=
 =?utf-8?B?a1g1c1Z1a0wxZXE2YXZ1Z042NEpVdDN3U3JQUnRZd2x0dmp5VG15WEc5MjBH?=
 =?utf-8?B?TGUzOG5Gc3BNanU1VjhQaGlMdVNKRlU5MmN0akhWa3RqNG9CZkNrNzFyaHRS?=
 =?utf-8?B?UlQ3M2Z4L21OMklGOGh1SVplRHNqR01aUXYxMUlYQ3VETFNONlJ6QXBiOTlw?=
 =?utf-8?B?ZncxZ09xR0tXbS9Sa1dWTElXWUUrVXV6MENiLzlnM3FLVW9ISjRHOWR1dWxq?=
 =?utf-8?B?MkcxRC9MTFYwTkVKc2tPYkRsSzNMZE84VVI5a0E1cFVHWjFibDQ5SDhVZGtI?=
 =?utf-8?B?d3Z3MTlzejlxdW14MGhReHVIbGNtYU1WdWMrbGQxUGVGTDVaMnM3cVpZbVpR?=
 =?utf-8?B?MkNNNFlCdE90cHBpSk9GakQ4RzZyZlh4NE9YUFIvMUhJdFUyL3N4ZEhXOUJw?=
 =?utf-8?B?empuVGNEa2ZERVpidDcvZTY0c1lKam41MU1zNDVpUmJvUXNQNERpbm5VUEM4?=
 =?utf-8?B?YnM0QnVFQ0NNcWtjMXp0d0ZSc0Izek02WlYxY3ZodURSSEhCZlREekYxYVBp?=
 =?utf-8?B?bHdXOWJNTGNlSGxYTCtzdVBQKzNnUnUycVl2R0MrRU8rV0pMVVJEQVNFNlBT?=
 =?utf-8?B?cVEyeFNnODdBYnk0K1lVSTd2TlQzUjVBTkwrMmtad2FPWEdXN3g1ZU5XT3Fh?=
 =?utf-8?B?MjkvaW4reGhtMnBncUpOOWZCVkZxajhZZ3pGUmQ5RUpCcHZFL2MyNWQ0aTZS?=
 =?utf-8?B?eitEQTdGOGxIVDV1RU5kZFUxZzlPa2M4WTBzQndwK3lxbkNmU0ZnSDhVaXc2?=
 =?utf-8?B?MUpLZzV1MVhTNVI2TFRRbmJCNmg1Mk41RWZ2VStqT0J0Tm4vZHpsOFlGOHE3?=
 =?utf-8?B?OGJBMTJFQWRMeG1zRmhlK2h2WkQrVlROM1p6eU5HTFNZeWhMYnQ4SC9lRHlm?=
 =?utf-8?B?QVQyUUdicFBtMVZtUE5IQWVQam1meGdCZzFuTWV0aGk0VTBNUWpRVVAyVWxE?=
 =?utf-8?B?WG5SakdvaHlHbXcwTnl2MStQYUxDVWNKaHV0TlMvenhoLzlQaUdTOEY5eXZ6?=
 =?utf-8?B?ZmtHaDRxazFwVmxXY2t6bm45NEl5MTkva2plRjBKNWZ4dVc4dlBNRkxiRGhu?=
 =?utf-8?B?K1prMFBGVFdIS3BOV1NIVnUydnFVdHZ2aHloYWlBOEs5ZEVTY2lsSUNkUEkr?=
 =?utf-8?B?RHJDckdEYXcrOFVveDkzMTMzc21nYmtBK3VwS3RUTlBGT0IwSm1uQ2U1Um5K?=
 =?utf-8?B?WWsxUVNlRHVVYWJ1WkJOblNHekJSYzJqWk9EWTMzYytRa1N1UHZJc2xUYW9D?=
 =?utf-8?B?ZEp6citYMFlmbGxodVRNdUJGd2xXSHlIR3Vabjd3ZjAwS05jRmhieXIrOVdp?=
 =?utf-8?B?dG5xRmhCN2VEcHZ4SDBJRlZ2TTJYREU2NG5nWTNlY2ZWK0NUMTBxUU9Va3or?=
 =?utf-8?B?ZEwyalJmUkVuU0hTaDZHY0U5a1E5V3UyNEtLVjhKd0tMaHZKelhqZG80N0VF?=
 =?utf-8?B?enNZWjRJZmloL3pURWhPQUlQR0pBSGhhM1l0cWVLa2l2aFdqSXAybVNWNmVo?=
 =?utf-8?B?VDJrNlVYZU10dmo1YU5sQkNsSXphWVlrQWhQcTBzMmx1MCtJU1hwbWMwRXFr?=
 =?utf-8?B?RVYvU0hkUFFsalVXd1hhZHlsdE81KzdRTVRod0lYOXVkRk05MUVjbllxcnpP?=
 =?utf-8?B?NEkvUE1SMGFmNUV1TzhCOStHejJHU0ludU9hcTJhOU5EbUJpenFHSDVwbDZF?=
 =?utf-8?Q?LKsn/yeT68rb0PhK+LBfzfY=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 667e6e99-4f81-47f5-c29b-08d9e00e1ca4
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 14:22:26.5297
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: cYtwU/yWDlJFpq+qkC0xSHc3fVjzIM/nVP24KHXiNen8o/sVSnruCmwUcmvxl9YZkTqkXd9JyLtioaeZ8xWroA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5134

We claim to support the insn, but so far the emulator has been handling
it as a NOP.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
While handling x86emul_cldemote separately in hvmemul_cache_op() means
to carry some redundant code, folding it with CLFLUSH{,OPT} / CLWB
didn't seem very attractive either.

--- a/xen/arch/x86/arch.mk
+++ b/xen/arch/x86/arch.mk
@@ -23,6 +23,7 @@ $(call as-option-add,CFLAGS,CC,"xsaveopt
 $(call as-option-add,CFLAGS,CC,"rdseed %eax",-DHAVE_AS_RDSEED)
 $(call as-option-add,CFLAGS,CC,"clac",-DHAVE_AS_CLAC_STAC)
 $(call as-option-add,CFLAGS,CC,"clwb (%rax)",-DHAVE_AS_CLWB)
+$(call as-option-add,CFLAGS,CC,"cldemote (%rax)",-DHAVE_AS_CLDEMOTE)
 $(call as-option-add,CFLAGS,CC,".equ \"x\"$$(comma)1",-DHAVE_AS_QUOTED_SYM)
 $(call as-option-add,CFLAGS,CC,"invpcid (%rax)$$(comma)%rax",-DHAVE_AS_INVPCID)
 $(call as-option-add,CFLAGS,CC,"movdiri %rax$$(comma)(%rax)",-DHAVE_AS_MOVDIR)
--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -2351,6 +2351,28 @@ static int hvmemul_cache_op(
          * to be sensibly used is in (virtualization unaware) firmware.
          */
         break;
+
+    case x86emul_cldemote:
+        ASSERT(!is_x86_system_segment(seg));
+
+        if ( !boot_cpu_has(X86_FEATURE_CLDEMOTE) ||
+             hvmemul_virtual_to_linear(seg, offset, 0, NULL, hvm_access_none,
+                                       hvmemul_ctxt, &addr) != X86EMUL_OKAY )
+            break;
+
+        if ( hvmemul_ctxt->seg_reg[x86_seg_ss].dpl == 3 )
+            pfec |= PFEC_user_mode;
+
+        mapping = hvmemul_map_linear_addr(addr, 0, pfec, hvmemul_ctxt);
+        if ( mapping == ERR_PTR(~X86EMUL_EXCEPTION) )
+            x86_emul_reset_event(&hvmemul_ctxt->ctxt);
+        if ( IS_ERR_OR_NULL(mapping) )
+            break;
+
+        cldemote(mapping);
+
+        hvmemul_unmap_linear_addr(mapping, addr, 0, hvmemul_ctxt);
+        break;
     }
 
     return X86EMUL_OKAY;
--- a/xen/arch/x86/include/asm/system.h
+++ b/xen/arch/x86/include/asm/system.h
@@ -37,6 +37,16 @@ static inline void clwb(const void *p)
 #endif
 }
 
+static inline void cldemote(const void *p)
+{
+#if defined(HAVE_AS_CLDEMOTE)
+    asm volatile ( "cldemote %0" :: "m" (*(const char *)p) );
+#else
+    asm volatile ( ".byte 0x0f, 0x1c, 0x02"
+                   :: "d" (p), "m" (*(const char *)p) );
+#endif
+}
+
 #define xchg(ptr,v) \
     ((__typeof__(*(ptr)))__xchg((unsigned long)(v),(ptr),sizeof(*(ptr))))
 
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -6290,7 +6290,8 @@ x86_emulate(
 
     case X86EMUL_OPC(0x0f, 0x0d): /* GrpP (prefetch) */
     case X86EMUL_OPC(0x0f, 0x18): /* Grp16 (prefetch/nop) */
-    case X86EMUL_OPC(0x0f, 0x19) ... X86EMUL_OPC(0x0f, 0x1f): /* nop */
+    case X86EMUL_OPC(0x0f, 0x19) ... X86EMUL_OPC(0x0f, 0x1b): /* nop */
+    case X86EMUL_OPC(0x0f, 0x1d) ... X86EMUL_OPC(0x0f, 0x1f): /* nop */
         break;
 
 #ifndef X86EMUL_NO_MMX
@@ -6627,6 +6628,12 @@ x86_emulate(
 
 #endif /* !X86EMUL_NO_SIMD */
 
+    case X86EMUL_OPC(0x0f, 0x1c): /* cldemote / nop */
+        if ( ctxt->cpuid->feat.cldemote && !vex.pfx && !modrm_reg &&
+             ops->cache_op )
+            ops->cache_op(x86emul_cldemote, ea.mem.seg, ea.mem.off, ctxt);
+        break;
+
     case X86EMUL_OPC(0x0f, 0x20): /* mov cr,reg */
     case X86EMUL_OPC(0x0f, 0x21): /* mov dr,reg */
     case X86EMUL_OPC(0x0f, 0x22): /* mov reg,cr */
--- a/xen/arch/x86/x86_emulate/x86_emulate.h
+++ b/xen/arch/x86/x86_emulate/x86_emulate.h
@@ -177,6 +177,7 @@ enum x86_emulate_fpu_type {
 };
 
 enum x86emul_cache_op {
+    x86emul_cldemote,
     x86emul_clflush,
     x86emul_clflushopt,
     x86emul_clwb,



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 14:35:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 14:35:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260393.449782 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCMv1-0000fI-D2; Tue, 25 Jan 2022 14:35:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260393.449782; Tue, 25 Jan 2022 14:35:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCMv1-0000fB-9i; Tue, 25 Jan 2022 14:35:35 +0000
Received: by outflank-mailman (input) for mailman id 260393;
 Tue, 25 Jan 2022 14:35:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JA8I=SJ=epam.com=prvs=30242beabd=oleksii_moisieiev@srs-se1.protection.inumbo.net>)
 id 1nCMuz-0000f5-3X
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 14:35:33 +0000
Received: from mx0b-0039f301.pphosted.com (mx0b-0039f301.pphosted.com
 [148.163.137.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0b986d53-7dec-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 15:35:31 +0100 (CET)
Received: from pps.filterd (m0174683.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20PE8kbh027570;
 Tue, 25 Jan 2022 14:35:20 GMT
Received: from eur05-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2173.outbound.protection.outlook.com [104.47.17.173])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3dtjq703e7-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 25 Jan 2022 14:35:20 +0000
Received: from PA4PR03MB7136.eurprd03.prod.outlook.com (2603:10a6:102:ea::23)
 by AM9PR03MB7268.eurprd03.prod.outlook.com (2603:10a6:20b:262::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Tue, 25 Jan
 2022 14:35:16 +0000
Received: from PA4PR03MB7136.eurprd03.prod.outlook.com
 ([fe80::711f:a15e:91c1:6d43]) by PA4PR03MB7136.eurprd03.prod.outlook.com
 ([fe80::711f:a15e:91c1:6d43%4]) with mapi id 15.20.4930.015; Tue, 25 Jan 2022
 14:35:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0b986d53-7dec-11ec-8fa7-f31e035a9116
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iNHcPxQJSir6kpQLAZ39GFbcQkb85yNraDGovONUVIRl8W6F9FKnjG1RWJ9q7XpPVIOY1ulBkgoXW49rS9cWwypG5gwq6zNHEuyliYN0BRfwGGY3YAWnKIV2+4nRKCUZvqqH+jeVOjFDrbAsQXmu/GuDZXrQvrixqEy4TzaHL9fDs05L6uY5ZHrt+2GLuDRnIM9A+O+Gmt3Kv6DwfMFQMipqwITUEI5luHNCCMUluPTRLUsPzZI8DjH153xERZ9nxECo2S24taZzYVshBwQagea5dGOSyzTCprbG/oHx9jInBppCY01EPh7nYjDvGi+U+vf1qAhQ0OYwbqDXZJZ6Iw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=m4OItFEEou2ijl4hNZRg6OdsiIV6cGGNLI7GmZI/iDw=;
 b=nNFLdfNRguOpqlqBPaj1nyI2plrrMpYQdiCgRYrNeBSlXXqCqZ9P9dECPL0nxeq15cVZCyXuOrguifS53zFFDBZFFoi1tHZO92vqK7zwX+KRU4lcwTGchOEBBs8RQSd270rHqmmiyzocDpW3Y0A5peacGH/toPFCnBuNFaYezrXETlcqkAmGnIHoK33uBltfxSJ2I37LfOwSxR+O58LW3KJsAfU4D7sm7cYtreDL6sxndIJttV3rWbl2OvlauIK8vbmqTlnlCmibIhjUOT485N9CQGXMLEiplOODpWZwYi3MQQ6n9Fzt5p1I4Uvoi1TVdE8cnEQ1f7gkJgFK1SzbVg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=m4OItFEEou2ijl4hNZRg6OdsiIV6cGGNLI7GmZI/iDw=;
 b=AnlgE10Aom6tCUGdjaw+MNoh18UUBPEJo/fqnN+1N0p+7QVAnCUYbbOyxVIRtbDQIauRFiojw3QmF4DeyaSc0WDGgJ/nYPXc+RTVkraEb/fq7IqU1NeYTkJtG7stCXxF3fwVmgRC+gvx3+GVlKBLs4MR0g8RQSAhwjoWSW2s5PmBPbe/Y/iujgzz6bGY6ESAlVlnxaJnDUefVo7+OOKFHdUxPxDK6zArX+ae1dB+OcN301Z5bckjD4PSf44dkmEr7/5nzCEwDbpJNdf7WHfKokzI8g3ythOv0c296VfZ0y8V3D5LErxx/pOsDFofhUFeqiMaBRkTDwFnV1WRxCgqeQ==
From: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>,
        "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
Thread-Topic: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
Thread-Index: 
 AQHX8M3JF7Ng56/tV0+8/7pODiaWfKw3iHyAgAQwJICAAG+xgIABQZuAgAAWSACAAOV/AIABANAAgCsRKgCAAOC8gIAAlQqAgADLX4CAARblgIAAX5CAgASN5YCAAAwYAIAABamAgAAvCoCAARH1gA==
Date: Tue, 25 Jan 2022 14:35:16 +0000
Message-ID: <20220125143515.GA2803662@EPUAKYIW015D>
References: <20220119120400.GA3779126@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2201191644400.19362@ubuntu-linux-20-04-desktop>
 <20220120102147.GA4153317@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2201201230480.27308@ubuntu-linux-20-04-desktop>
 <20220121150753.GA898010@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2201211236060.27308@ubuntu-linux-20-04-desktop>
 <20220124182249.GA2485483@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2201241056290.27308@ubuntu-linux-20-04-desktop>
 <d5c84296-79a6-5698-802d-4d9ba60dbf24@xen.org>
 <alpine.DEB.2.22.394.2201241403240.27308@ubuntu-linux-20-04-desktop>
In-Reply-To: 
 <alpine.DEB.2.22.394.2201241403240.27308@ubuntu-linux-20-04-desktop>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 72f04dd6-0453-40f1-382a-08d9e00fe776
x-ms-traffictypediagnostic: AM9PR03MB7268:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <AM9PR03MB7268C49DE8A010797CA23791E35F9@AM9PR03MB7268.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: 
 kIoySpruwMszqetre9eCHLLQtEjZtVfBSckRQhS05wetEjhYn4YjT82FMNnelq2UIjcxl8nGDzq3UYpWLbDwvWNJB3z5KTX9NZFxYn/efJJQeAX2W2hB8GWRkhw6E/IifkI6wfFn2hF7xkmIspirsWYG3vSo7LXu5EhurxPzY+rZb9uURgzj8J2itjyGNKL4rwIQEQqfqZySOybG97YNcFBlqBlsyBJzPCEDOyk3CiRaM9HIVaWR/V8Gc5hID69orU6yQQqw4ranlNk2Cc9lw1O9drYX7ZFnUuCcOQQMDpaBI2t9WLuUU+fxXxqsf6opdqZnhjk50M35fnY1MXdPj8TmOBs7pA/7vljP8xet13GO9hhBvkLyJE0kyE7vqYkAjihFQzQ/Iz14FPmtTycqx+CyOK93PJ8DHV0ENFjW9Wws1yX8ChKxShb4Nrax4/NssaZ+3pKyTcvJ3gMS/G5SVHSbQnBIsqH9om7aQVjud+n5HvPs31CfakwNb3JgVdd6U0/6L4UFxD9usAB3rH7vAdAmHme46XLcUw1i7lHU++Gaqp28Wutk7viqBnYba4Havf6O/R3jHPyazGkRILlXzchWDkA80CFix0OvlqvQpzblle09eI+zrl3Xj0TDJNpPMIkZi0LZsMO2PzAlRJyPvs8zXPB5Fz2MjgluuXSXP6NJDl0tmOEYECbRGhhCPp3lanWOxNB+9JQjGbIx+AI0dSAEK+kvr0DqP2PilskO41NhE0Z6z6es+I/rOYFugK+AQrOMFcdqQ+nT42p2WJtTuG/cPucAPgkn+vE7GegRAjE=
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR03MB7136.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(7916004)(4636009)(366004)(186003)(1076003)(38100700002)(26005)(91956017)(8676002)(66476007)(76116006)(2906002)(66556008)(64756008)(33716001)(66946007)(66446008)(5660300002)(33656002)(8936002)(4326008)(508600001)(9686003)(54906003)(316002)(86362001)(6506007)(6512007)(38070700005)(71200400001)(6916009)(53546011)(83380400001)(122000001)(6486002)(966005)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?us-ascii?Q?rtff31+zhtGWOZMDzg8mQx92IH0HGgUqzLFScwxHL0f/Ik6OLzhhJT7hGVB8?=
 =?us-ascii?Q?7jxKvX4n3iuiQR/LQJ+FruabvqJ8UT8yqr+O/YPuZ6Ao/HtJmPuRl+zULRI+?=
 =?us-ascii?Q?ahjeDwl7XombkKD+1ZNoFrrSoTHILaLU9wSBAvATG+VM5T1Pvq8VaJL5JKi3?=
 =?us-ascii?Q?RBjfyjEoBzqUVPjfnb1GdRbXyXxQ2ZtVcwjSlgf3RHwTwJ1vgriH1BuwjFV9?=
 =?us-ascii?Q?uj2KA7fsruwCDTt1x78q6S0QFgoQ2xk64kKrGBqqcV5irCgeAe+9w/OQQDtp?=
 =?us-ascii?Q?BVoJH68ERiAOzTQbsTgvrjaLiakQy7rs9577y60T0715Qy6h9BkYYOW7cyGv?=
 =?us-ascii?Q?WSIMCsoBTI/YPIJVp9hxSfvGwOM90MGvW/W2RPZwo57YOHWfJ5oWdriFgOoh?=
 =?us-ascii?Q?LtzCiIndgfp6D5s+5iHwMZqp1XAfr0ZNCHayucKcduzs26ETf1xpGyBOxiQ2?=
 =?us-ascii?Q?8ZtqKdUggnrSxuZP/4dxI4yjDcR56L489FM0IAkjssaSCg9fksPFNG2qGzXQ?=
 =?us-ascii?Q?3GNzuGvVxkm/zUC3TywZ4Rrw+lM5yAgFNV4+WyeVc3QDES2tl66B+1HoTx3t?=
 =?us-ascii?Q?mRckyAvJxscYBEFauCfWZRddzRSKePzQDlTQa3KLATh6fDPakbmVyf4kKe6k?=
 =?us-ascii?Q?/MMnSQe+USFksFlBdfksA1ynw1V3THFULF2YkAgoEFJPqE172XcNkqEQqL8I?=
 =?us-ascii?Q?NM812e2ogdRsLRryotPmUSiSyiHMjIVoS5li3EKt+NSyV5nrsrIlFBw3rJ7e?=
 =?us-ascii?Q?nMv7rbo0i0fHLySkAS67ficIzfZViCzblCIJY078aK9ZLWIJIHew3hkek8zR?=
 =?us-ascii?Q?jpt2mh5v8UNV7mYC0geS5WW5C+C8RNjfvBhQSkS9wdsMeoOijEK5naGDwvut?=
 =?us-ascii?Q?t69AkDW1mTruuOvyV9bdURYRosMEwE2f46kUos2X4E9ZXZUJsrijg85PGzdB?=
 =?us-ascii?Q?3sPsfYBk7fD74ARUl2tCuuYyQxEwfQRgr8NEPG7U8qAWELdsBXhdi598wOI2?=
 =?us-ascii?Q?imY94SxJg95s4ipsRfZnA9fwwh9caXj3DIlz86Ng64Do3HERt4lc6bvTiW90?=
 =?us-ascii?Q?YAcCSQDUnFVeaJvdWVkj+cSOVW2/C8iwJ5AGNUjJPM8MctXcQmboI7PTXA8t?=
 =?us-ascii?Q?/WCIsCnzPj+1CCZdfHHO1G53KClR1MxLh/hJnfiQT/Es45oVWqA8Gi4ow2ay?=
 =?us-ascii?Q?AMZb9F1O1iHKZe0GhCMBsHHPTuIc8Wlh8Y0lhRbhIq28M7gk1WQYT0N6hOTu?=
 =?us-ascii?Q?PbOeuvcVLUcoW5mP5XQFXAL/3GzLIJ48tnZulVaZCCxHvuCml6P6opDgKX/D?=
 =?us-ascii?Q?HAJbVTg5q+uMezZXBVhbbsExMwgaGWJN8NoO04PRKnMJIdCEQSdzto5Ggs8f?=
 =?us-ascii?Q?RYxCtrT6DsySzVnvMkyKjhZi//FgkCClQMWB+MHniaePVPGmBi469xW+b5MF?=
 =?us-ascii?Q?l9bQUdHrp8fCKrGss2/D+Yp96D1LxjapXUqNEdzzgfOakO3GYHzRjuZ7C2+d?=
 =?us-ascii?Q?jIqgA6VqMzywNtKsvYJk+8rnVNDYaspa4pheiUro3OJnLIfDk0Ly+INLdbYm?=
 =?us-ascii?Q?O6/i6LTRCfj1Dao+Hyw54ZpkHXXmrEQYTBTUXNjGwv1cL1pCdHZkTQJHkfIT?=
 =?us-ascii?Q?qwEEYW7ZTfWWOtigLhhANRgNYIQ3ZVx+x6uML7x80layX8DZb0+oIttE8PbP?=
 =?us-ascii?Q?xO9nsIFQPjGkhfJsLlI9bQ2H/PQ=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <46117CC40C7E7A48A5C87D7AF370E363@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PA4PR03MB7136.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 72f04dd6-0453-40f1-382a-08d9e00fe776
X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Jan 2022 14:35:16.1114
 (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: A8NrTmS9vIO5JgqoPCjMUMGkw6Kkj3aDRIzmyi+FSHSGY2dOYyos7VwEaLbD2n6R697hPoVd7x6GO7PpG3F/vCQ9ek+0arGPnNOCTIe6z3U=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7268
X-Proofpoint-GUID: VOpm3G-odBmNOLEXo2O4SDGFtaBP79aI
X-Proofpoint-ORIG-GUID: VOpm3G-odBmNOLEXo2O4SDGFtaBP79aI
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-25_02,2022-01-25_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=603 bulkscore=0
 phishscore=0 impostorscore=0 adultscore=0 malwarescore=0
 lowpriorityscore=0 priorityscore=1501 clxscore=1015 mlxscore=0 spamscore=0
 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2201110000 definitions=main-2201250094

On Mon, Jan 24, 2022 at 02:14:43PM -0800, Stefano Stabellini wrote:
> On Mon, 24 Jan 2022, Julien Grall wrote:
> > On 24/01/2022 19:06, Stefano Stabellini wrote:
> > > It looks like XEN_DOMCTL_host_node_by_path and
> > > XEN_DOMCTL_find_host_compatible_node would also solve the problem but=
 I
> > > think that a single hypercall that retrieves the entire host DTB woul=
d
> > > be easier to implement
> >=20
> > DOMCTL should only be used to handle per-domain information. If we want=
 to
> > create a new sub-hypercall of either __HYPERVISOR_platform_op or
> > __HYPERVISOR_sysctl_op (not sure which one).
> >=20
> > AFAICT, both are versioned.
> >=20
> > > and more robust in the long term. >
> > > hypfs has the advantage that it would create an interface more simila=
r
> > > to the one people are already used to on Linux systems
> > > (/proc/device-tree). xl/libxl would have to scan the whole hypfs tree=
,
> > > which intuitively I think it would be slower.
> >=20
> > Even if you have the binary blob, you would still have to scan the
> > device-tree. That said, it is probably going to be potentially a bit fa=
ster
> > because you have less hypercall.
> >=20
> > However, here this is a trade-off between memory use and speed. If you =
want
> > speed, then you may have to transfer up to 2MB every time. So the quest=
ion is
> > do we care more about speed or memory usage?
> >=20
> > > Also the feature might be
> > > harder to implement but I am not sure.
> > >=20
> > > I don't have a strong preference and this is not a stable interface (=
we
> > > don't have to be extra paranoid about forward and backward
> > > compatibility). So I am fine either way. Let's see what the others th=
ink
> > > as well.
> >=20
> > My preference would be to use hypfs as this is cleaner than exposing a =
blob.
>=20
> That's also fine by me. Probably the hypfs implementation shouldn't be
> much more difficult than something like
> XEN_DOMCTL_host_node_by_path/XEN_DOMCTL_find_host_compatible_node.
>=20
>=20
> > However, are we sure we can simply copy the content of the host Device-=
Tree to
> > the guest Device-Tree for SCMI? For instance, I know that for device
> > passthrough there are some property that needs to be altered for some d=
evices.
> > Hence, why it is not present. Although, I vaguely recalled to have writ=
ten a
> > PoC, not sure if it was posted on the ML.
>=20
> The SCMI node cannot be copied "as is" from host to guest. It needs a
> couple of changes but they seem feasible as they are limited to the
> channels exposed to the guest. (The generic device passthrough case is a
> lot more difficult.)


Hi Stefano,

What I'm thinking about is do we actually need to create SCMI node in DomU =
device-tree?
I have this question is because we don't need SCMI node to be present in Do=
mU=20
device-tree if it has no passed-through devices, which are using scmi.=20
So if we don't have passed-through devices or do not provide DomU partial d=
evice-tree=20
in config, then there is no need to create SCMI node.

For now I see the following possible domu configurations:
1) If DomU has a lot of passed-through devices and it's easier to inherit=20
host device-tree and disable not passed-through devices.
Partial device tree will looks like this:

#include "r8a77961-salvator-xs.dts" //include host device tree

/
{
	soc {
		...
	}

};

// Disable non passed-through devices
&hscif {
	status =3D "disabled";
};

In this case DomU partial device-tree will inherit arm,scmi-smc and=20
arm,scmi-shmem nodes and all clock/reset/power-domains which are using scmi=
.=20
All this nodes can be copied to DomU device-tree from partial device-tree.

2) DomU has few passed-through devices, so it's easier to add the device no=
des=20
to the passthrough node of DomU partial device-tree.
DomU partial device-tree will look like this:
{
	scmi_shmem: scp-shmem@0x53FF0000 {
		compatible =3D "arm,scmi-shmem";
		reg =3D <0x0 0x53FF0000 0x0 0x10000>; =20
	};
	scmi {
		arm,smc-id =3D <....>;
		compatible =3D "arm,scmi-smc";=20
		shmem =3D <&scmi_shmem>;
		scmi_clock: protocol@14 {
			...
		};
		scmi_reset: protocol@16 {
			...
		};
	};=20
	passthrough {
		hscif0: serial@e6540000 {=20
			compatible =3D "renesas,hscif-r8a77961";
			scmi_devid =3D <5>;
			clocks =3D <&scmi_clock 5>;
			resets =3D <&scmi_reset 5>;
 			...
		};
	};
};

As you can see in this case we have to manually copy arm,scmi-shmem and=20
arm,scmi-smc nodes with hscif0 node or the device-tree compilation will fai=
l.
We can use 0x53FF0000, provided in arm,scmi-shmem node and map domain chann=
el=20
to this address and copy scmi related nodes to the DomU device-tree.
This is useful when we need to expose only certain protocols to the DomU.=20
Also it's easy to modify DomU scmi node, as we need for stm32mp1 for exampl=
e=20
when different smc-id should be set for DomU.

3) DomU doesn't have any passthrough nodes, which are using scmi.
In this case we don't want SCMI nodes to be in the DomU device-tree.

I see only one use-case when we may need scmi nodes to be generated by xl i=
n=20
DomU device-tree:
Xen generates psci node to handle cpu_on and cpu_off.=20
According to the Section 4.3.2.5 of the DEN0056C [1]:
> For these power domains, this protocol can be used to implement PSCI CPU_=
SUSPEND, CPU_ON, CPU_FREEZE, CPU_DEFAULT_SUSPEND and CPU_OFF functions.

So in theory psci node can use scmi to control cpu state. But this is not o=
ur=20
use-case because we don't want to give DomU ability to stop physical CPU.=20
Xen can't intercept and handle CPU_ON and CPU_OFF requests when mailbox tra=
nsport=20
is used for SCMI communication.

[1] "SCMI Specification DEN0056C," [Online]. Available: https://developer.a=
rm.com/documentation/den0056/latest=20

Best regards,
Oleksii.


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 14:36:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 14:36:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260396.449793 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCMvr-0001CC-MQ; Tue, 25 Jan 2022 14:36:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260396.449793; Tue, 25 Jan 2022 14:36:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCMvr-0001C5-JG; Tue, 25 Jan 2022 14:36:27 +0000
Received: by outflank-mailman (input) for mailman id 260396;
 Tue, 25 Jan 2022 14:36:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nUgY=SJ=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nCMvq-0001Bx-QU
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 14:36:26 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 12b5784d-7dec-11ec-bc18-3156f6d857e4;
 Tue, 25 Jan 2022 15:35:44 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 12b5784d-7dec-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643121385;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=+MOmdCdKcp8FV+YZLmQesk8vHT0DzBzcBxZAGY/CLRI=;
  b=Xx22P2FmmXy0Mu9fBki7Qqp/Gzpa3FfkUIw7IJ30zb7ixZoC9En4KDQh
   xUIP43bCUyXiBmLJbMJsqV8c+DNo2Z0mfjjSXum9owhIpILOr/lufgk6K
   qYfQw12L/RlIxbVOeQ2/gfGzcY1WR7tdsQdCj06di1noFlKZqGbdohtNs
   o=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: gxxWkUsWrfMzhAgXnZC7C2my7h2bttfefnqosc2y+DVeUfJmZrwe5bRFMQWNh7YACoFaTjLPws
 L1kkHa/9/oiBTOr7wcI2ckpwupN+OadYf69C5+bPPN57kj9fYvkj2AsDnMq/tSmjBBzmlvizJz
 ui0kfZKqKghSeE/6S0fvoy7kl6AABT6SaxeuKvdLAFr1d656J0RurijB47NAhYXzPCpe5PTwez
 5xgMel5G1KqKteFd7XsS8bQf3ErF4A+fZ4ocZMXmxf4aB+MKUb5kBHqtCNsWej32QTchd0Atrh
 H8AZMgwZXg0SRhtLuMe8NZS6
X-SBRS: 5.2
X-MesageID: 64878722
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:h+4c6K7T/A/EsXJIXxT9ygxRtN7AchMFZxGqfqrLsTDasY5as4F+v
 mJLWG+FOfyDYWLxLtpxYIm+9UoDvJGEm9Q2GgM+qnwwHi5G8cbLO4+Ufxz6V8+wwmwvb67FA
 +E2MISowBUcFyeEzvuV3zyIQUBUjclkfJKlYAL/En03FV8MpBsJ00o5wbZg2NMw27BVPivW0
 T/Mi5yHULOa82Yc3lI8s8pvfzs24ZweEBtB1rAPTagjUG32zhH5P7pGTU2FFFPqQ5E8IwKPb
 72rIIdVXI/u10xF5tuNyt4Xe6CRK1LYFVDmZnF+A8BOjvXez8CbP2lS2Pc0MC9qZzu1c99Zw
 9lUjM2/ShYSHoLip+hGaTpmSgteBPgTkFPHCSDXXc27ykTHdz3nwul0DVFwNoodkgp1KTgQr
 7pCcmlLN03dwbLtqF64YrAEasALNs7kMZlZonh95TrYEewnUdbIRKCiCdpwgmtg2ZARR6y2i
 8wxVxg2YT7fbAR1ZV4zMJB5zd2tm3LzWmgNwL6SjfVuuDWCpOBr65DyNPLFd9rMQt9a9m6Iq
 2SD82nnDxUyMN2E1SHD4n+qnvXIny7wRMQVDrLQ3vxgjUCXx2cTIAYLTlb9qv684nNSQPoGd
 RZSoHB36/Fvqgr7FbERQiFUvlaPsgclCtVTAtYaxy+yxvHuwDjALEg9G2sphMMdiOc6Qjkj1
 1msltzvBCByvLD9dU9x5ot4vhvpZ3FLcDZqiTssCFJcvoK9+N1bYgfnE447eJNZmOEZDt0ZL
 9qiiCElz4segscQv0lQ1QCW2mn8znQlo+Nc2+k2Yo5Hxl4hDGJGT9bxgbQ+0RqmBNzFJrVml
 CNc8/VyFMhUUfmweNWlGY3h5o2B6fefKyH7ilVyBZQn/DnF0yf9IdsIvGAhexk4Y55sldrVj
 Kn74185CHh7ZyPCUEOKS9jpV5RCIVbIS7wJqcw4nvIRO8MsJWdrDQllZFKK3nCFraTfufpXB
 HtvSu71VSxyIf0+lFKeHr5BuZd2mHxW7T6NFPjTkkT2uZLDNSX9YepUbzOzghURsfnsTPP9q
 YgPbqNnCnx3DYXDX8Ug2ddDdA9RdSliW8meRg4+XrfrHzeK0VoJUpf56bggZ5Zkj+JSkOLJ9
 Wu6QUhW1Bz0gnivFOlAQiwLhGrHUcktoHQlEzYrOFr0iXEvbZz2tPUUdoctfKlh/+tmlKYmQ
 /4AcsSGI/JOVjWYpGhNMcij9NRvJEaxmAaDHyu5ezxjLZRucBPEp43/dQz1+ShQUifu7Zkio
 6et3x/wSIYYQ1gwF97fbf+ilgvjvXUUlO9ocVHPJ91fJBfl/IRwcnSjhf4rOcAcbx7Ew2LCh
 QqRBB4Zo8jLopM0r4aV1fzV8d/xHrInTERAHmTd4bKnDgXg/zKukd1aTeKFXTHBT2eoqq+sU
 vpYkqPnO/odkVcU74clS+R3zbgz7sfErqNBylg2B23CalmmB+8yInSC2sUT5KRByqUA5FmzU
 0OLvNJbJa+IKIXuF1tIfFgpaeGK1Pc1nDjO7KtqfBWmtXEvpLfXA19POxSsiTBGKOonOYwo9
 u4tpcoK5lHtkREtKNuH0nhZ+mnkwqbsiEn7WkX22LPWtzc=
IronPort-HdrOrdr: A9a23:W4qFDq7kG95ut8jtnwPXwSyBI+orL9Y04lQ7vn2ZFiY6TiXIra
 +TdaoguSMc6AxwZJkh8erwXpVoZUmsiKKdgLNhR4tKOTOGhILGFvAG0WKP+UyFJ8S6zJ8g6U
 4CSdkONDSTNykDsS+S2mDReLxMsbr3kpxAx92utEuFJTsaFZ2IhD0JczpzfHcGIzWvUvECZe
 WhD4d81nGdUEVSSv7+KmgOXuDFqdGOvJX6YSQeDxpizAWVlzun5JPzDhDdh34lIn5y6IZn1V
 KAvx3y562lvf3+4hjA11XL55ATvNf60NNMCOGFl8BQADTxjQSDYphnRtS5zXoIidDqzGxvvM
 jHoh8mMcg2w3TNflutqR+o4AXk2CZG0Q6V9XaoxV/Y5eDpTjMzDMRMwahDdAHC1kYmtNZglI
 pWwmOwrfNsfF39tRW4w+KNewBhl0Kyr3Znu/UUlWZjXYwXb6IUhZAD/XlSDIwLEEvBmc8a+d
 FVfYHhDcttABCnhyizhBgs/DXsZAV+Iv6+eDlChiTPuAIm2UyQzCMjtbsidzk7hdYAoqJ/lp
 f525JT5cVzp/8tHNJA7dg6MLmK40z2MFvx2TGpUBza/J9uAQO5l3ew2sRz2N2X
X-IronPort-AV: E=Sophos;i="5.88,315,1635220800"; 
   d="scan'208";a="64878722"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FqKzL4lOQ0lJIVn0ibqFZA/9F1ZS2IO8woLAojJ0jMML3T2o99weVU6pVqksGZCRij316Lb9/qu7+syeqKGOP0KqBJhNM3db1wGb/KoQlDkQGDHnde5XSqoj3GSHJdrBHDrtNgJv460POrX18AmKrSAiu01gEAgzKT8cj+L9zaiA/RW+2I1i47UuU1h4ZBvcDgnT1tkjRU/Vd0RVzW0RlBBvEGSBFP3YskYOVF2QLslhhIJqqjqOSkfKTATcG/AdBeZ/IDFadcLzePeZnvAxb1QHhdhT8DnwMPLOYGCwcBV9oBODvmxiku+p7igEoknss/5JAjHTlE1QXZJXEVdDCA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bZuHOmjuRJ7LVEPOKb7OCO65RnBMkUFp8aDB2S5upjg=;
 b=VRqx1oOQaWK6LTLWYcsJSgXu7PniHw69ixs47kLZe8sCxEhseVgX6vHKFQjJq/MX08DwyTC/bEZpGSNPIMVwk7qbE37kYVGmb9TwIjc/MFrsvHvSJlddDUOHxcYFtj9NUOS09pYd4t/+I5lpMUu0kWNKX+gBqeb2gqRMWkWRTQ6UtVjymS85skk7VNA1hd6NfxpwLc5XcqiluK6ksuqOseWGxofMCxvp+TJ9WJ6CWnkb3oqU+7K6YW+qXXBa+Og4VkueOs349i6iC8UmS1BWIMAx2zG92pK1gEKBH3+0mvWmm3wQju3faKuFQ0ifJ4fBag0heLauTs01Yj226JOebA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bZuHOmjuRJ7LVEPOKb7OCO65RnBMkUFp8aDB2S5upjg=;
 b=CwXcvp01S0gVy5QgSHuqR1vgHoD4SSQP4VefTbEUDSds0VyRygvC4cgf2lN45XIN6ArpcA4sf6TpHARvc/MkcY/gPXorD2h+KAv0QMN9hbV7r8t1qpvRCB8iZ31RrKa9ROoCG1vUmX9OE+YZWqrfi9xrMGAKFRyO/JJoudqeZ1o=
Date: Tue, 25 Jan 2022 15:35:58 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "Andrew
 Cooper" <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH] x86emul: recognize CLDEMOTE
Message-ID: <YfAKzvb6QHpIza0p@Air-de-Roger>
References: <5812dc8e-d77d-f9de-4f37-b0ef094c5c09@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <5812dc8e-d77d-f9de-4f37-b0ef094c5c09@suse.com>
X-ClientProxiedBy: FR3P281CA0030.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::16) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 946fa8cf-c567-4269-cc79-08d9e0100359
X-MS-TrafficTypeDiagnostic: CY4PR03MB3109:EE_
X-Microsoft-Antispam-PRVS: <CY4PR03MB3109484CCEE08E8E68BA6AD88F5F9@CY4PR03MB3109.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: Hv2eRzMmibzOO/aJ7/cEi30h0V6MnTVzybeeRcM8nkkdqRa4bc0DiW4LdOaG9LTo4DeDzxS86JYQ4jKZM1mZVQha1cJX5cIfEin6sSlq7/bYwZyhBeP/6P6baz0Rs1LzvWxqGiRfjyDuFPkqmmjOTg3qTjmMw/DhPJipLmXJvQBY0YwKHZ1a1l2GFd5Yi4wVB2xGqbCo7L+4nch5hx7lOTXslDyt5Gh8w/6k+gY0YG62dgxi9c6VofG06Q/7lO+KkAEmzok/sHbUhoa2re2fEuAb7+XyvMFBj6/j3tK8KtBp2QGJmEkygZkBOcCQ36MfzXP4ozAkCP7UHM/PeQf7bDHTWkpuWkYDelkW+yK4G6IHVwgOR/uAzq24cSNvqDytqYpf4I943BYF+avzKpEg0D/XpBk4q6o06hXLpSJ0z+gZFIG4Vf0Hvf5r2JSK/NW33FcpJL/521wzHhDeO9q/m4pvrpPIL5opFmBA7NnDoNGP9ObDAtFfWd2SRBY6hbYwcjLniApRDJ8JwqQno+VuJyc3UHbc97iAvx6quFD2Z1Tlq6Kz/EYzILdwkxSQ6At1mRum8ZHe0dgnkoyVz9uGm6gAJ+srAKo2bA/NzhXCarFYN6tyediH7K8vmo3t2UhrXOkMRylLNSpqDq6kSFpCkA==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(6512007)(9686003)(83380400001)(508600001)(8936002)(316002)(5660300002)(6666004)(66946007)(66556008)(66476007)(86362001)(85182001)(54906003)(6916009)(8676002)(82960400001)(2906002)(6486002)(26005)(6506007)(38100700002)(186003)(4326008)(33716001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bGM4dnRlcjMwUXJrbmRDdkxmNEV6UEVER1NKUXVVeUpGeHpIQ0VQRHpPWURD?=
 =?utf-8?B?WS91aTJFSFZlMzY3aWppTWoyd0x2T0NvRFFWbnlzRWZwMlVJd0RQUWlSMnNV?=
 =?utf-8?B?TTZocEtucEFpaUxyWFYyQlhMbW9NU0RLYUNGVEdkbHFMQ1RyWXlpa2Q3eFZD?=
 =?utf-8?B?Q29kUmwzK1VXdTkvb1VDQ3RuZ2IzMTkvOEZhYlRqbWlLNlhzRHJDNFU2Q0JK?=
 =?utf-8?B?Rk5UdkNENDA4RHczMGdETmdta2RrTGMwT2VXL3R6N1puQ0VscFdubnVwcUNY?=
 =?utf-8?B?aHdFYm5wVnRoamU3N01oN1F5UHNyYXlFQVpVTXRMMTgyZzdXUEM1WGxFUGlI?=
 =?utf-8?B?SVZzODBUSm1GMUFnOVM0aFFncTc5a3F1THhLSjJhVzRVNEJsWkFnTkRSQzFN?=
 =?utf-8?B?eHlzWlltKzd2U2NXSXpPNGpRWERXQ0VDbVY1UHdUeEZJNjBRdGJIUXFUNVp6?=
 =?utf-8?B?cjlTalRvQU5CSGJwWVhSajhWRjVzK0h4RVJ4ajR0QmxuVEZlNkgwaU5XMklt?=
 =?utf-8?B?c1MycXdiWG1YSnFVT2RlaWVua2oybllNaVRRYWlWTEtDek9qenZUWENPOEFa?=
 =?utf-8?B?bWRLc0tZeDIrWCs5NDNTaFplTUZMS0VQVWVISTNzTkdHbDJBQVU5K2d5cFpw?=
 =?utf-8?B?a0hQTjZlemdZU0kyUk9hRnM1d0Rna1cxN3FHSnh4dm5GSzQ5d0h0cnhaUkd2?=
 =?utf-8?B?c3pYdjlRZ3pTNzZyMDdFTVVjTDR0eGxwek8yRGY0TFVHb0toT1VzV2owVjJh?=
 =?utf-8?B?T1NnUkV3dEtGU2NkdmdndnNmVDFiWStKcUdzK0VBYTVYTVI3dUNyd1BBNU5o?=
 =?utf-8?B?cWhBMW5MR1hOQ0llZStVZlc3bk1ITHVva3RBdkVmbXJ0KzFHNnZHTyswVEdk?=
 =?utf-8?B?YmlmR29tUGN4Nkl3aUNicHJicG8rQ1FFSllYWHBFaFYwNUQ2cHEyZDlLbmxS?=
 =?utf-8?B?Q3BORWVMWkFNWTZwd20zT2NMYmEvcGpaN2gxaWVRRGpnb1B0em9OR1lJWERK?=
 =?utf-8?B?VGYwQmVkVnlSN2w0ekJ1eVYrS2V5VEFQa3Z1WkI3L0syUkxQT1RpaCtxQXZn?=
 =?utf-8?B?QnFyUEpVTldvOUdnMjNKeE5lVmxJTkRPYzl5eU1TTkJrblZ5QU4vaXRUbXVM?=
 =?utf-8?B?aTNFY1ZxRmFoQU5oWVpBVW5UclFsNlpxZjdSUkpqb0RMLytKM3FTTWNJVzA0?=
 =?utf-8?B?QWVpdkxPVW9SakNWeXVycmJzbWVPa25TZjhnR2ExeHIzNSt5RUNacTVueGND?=
 =?utf-8?B?dmZTWVRMK2R3d0sreFNIVnQ4cnNJcnEwRGpZWnBLRUxJdW4wb2UxbyszV1ll?=
 =?utf-8?B?WnQ1MUtUTkF0RHMzN0xuUjQyS0ZoUnNQQ2tkSzBlSXBId1gxV1l6VFBMTVVx?=
 =?utf-8?B?eWdibFBDVFdBd0FQdkVISWpHdzhTWEJKZGUzMXRaRENOekpPWXpXdm42TmNH?=
 =?utf-8?B?NG9ucjRYcHh0ZkZ4Ti9jeVVHMExiempnd0ZYODljWmcxbE5xQ0ZMVmFuY0JH?=
 =?utf-8?B?WHlvTTN1NXV0V2FPSytQVnlLZUMvdHFlOTdFSS9ZNitvbndvOUgzbWR5bkpw?=
 =?utf-8?B?R29mVERVK0VxS1ZnZTBPby9iZmRkaXA1V2hNWGYvSDdpWjJHZE4vV3liWlh4?=
 =?utf-8?B?VGJwUytnSTJ0QVUzZktXakJYRmVqdkhJekZaSi9HZG9Gb1ZSLyt2MVpYZkQz?=
 =?utf-8?B?eHdxdjhOMkxjeFRNK0pZZHVld3h5aVhrS0VLSHJQRmxiVUt6ZEVRT0tBckN4?=
 =?utf-8?B?amk2SWE2TFAvSm83RzVjOTdXcXBVaUpQRE8vVDdydkNYQWMzNVFQcG5pS2Fs?=
 =?utf-8?B?TVA1ck1zcXdtQThGNkRveStJaWhMR3dnODQzaDNNb2dHRmlockdtQWRSYkxQ?=
 =?utf-8?B?VEFUaTdwSG5rRFBmUHU3d3hQUXF6QUhMV2ttYks2eUJLR0tSZi9DVXViUTJ5?=
 =?utf-8?B?TEdYOHUzL1pvUTJMSENXeDVnUHBBbG9VLzd0V0d6dStJelZNdlJCazBJaG4y?=
 =?utf-8?B?eEtObkkvVUkvOCtwT3RSVlFjRmdrbGJ0ZElhS2U0U2o4VTF1WUhJckRmckdk?=
 =?utf-8?B?dWkvTGJ0OGdqSGxZZmFJQ2l5S3BhcVhUQTBZeVB6NThDeTVpdkZKbVdRRkFK?=
 =?utf-8?B?Ui90VnY1eGk4TzNzaXRLcUZnaW91b0F5cmdiYXhyOFZEY09pTFQ0R1ROV3Vt?=
 =?utf-8?Q?gRpabQd8r7RWOBROvgg/jZU=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 946fa8cf-c567-4269-cc79-08d9e0100359
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 14:36:03.2606
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: oRyHDN9OKHTLW4s9+mB2gQlB40JxaFuu1hjolKpcWIe5g2xPkK12bH5ZFvXQAyHlprcnC1dsvLjyVRMtiGVVzg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR03MB3109
X-OriginatorOrg: citrix.com

On Tue, Jan 25, 2022 at 03:22:25PM +0100, Jan Beulich wrote:
> We claim to support the insn, but so far the emulator has been handling
> it as a NOP.

While not ideal, the SDM mentions that "The CLDEMOTE instruction may
be ignored by hardware in certain cases and is not a guarantee.".

> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> While handling x86emul_cldemote separately in hvmemul_cache_op() means
> to carry some redundant code, folding it with CLFLUSH{,OPT} / CLWB
> didn't seem very attractive either.
> 
> --- a/xen/arch/x86/arch.mk
> +++ b/xen/arch/x86/arch.mk
> @@ -23,6 +23,7 @@ $(call as-option-add,CFLAGS,CC,"xsaveopt
>  $(call as-option-add,CFLAGS,CC,"rdseed %eax",-DHAVE_AS_RDSEED)
>  $(call as-option-add,CFLAGS,CC,"clac",-DHAVE_AS_CLAC_STAC)
>  $(call as-option-add,CFLAGS,CC,"clwb (%rax)",-DHAVE_AS_CLWB)
> +$(call as-option-add,CFLAGS,CC,"cldemote (%rax)",-DHAVE_AS_CLDEMOTE)
>  $(call as-option-add,CFLAGS,CC,".equ \"x\"$$(comma)1",-DHAVE_AS_QUOTED_SYM)
>  $(call as-option-add,CFLAGS,CC,"invpcid (%rax)$$(comma)%rax",-DHAVE_AS_INVPCID)
>  $(call as-option-add,CFLAGS,CC,"movdiri %rax$$(comma)(%rax)",-DHAVE_AS_MOVDIR)
> --- a/xen/arch/x86/hvm/emulate.c
> +++ b/xen/arch/x86/hvm/emulate.c
> @@ -2351,6 +2351,28 @@ static int hvmemul_cache_op(
>           * to be sensibly used is in (virtualization unaware) firmware.
>           */
>          break;
> +
> +    case x86emul_cldemote:
> +        ASSERT(!is_x86_system_segment(seg));
> +
> +        if ( !boot_cpu_has(X86_FEATURE_CLDEMOTE) ||
> +             hvmemul_virtual_to_linear(seg, offset, 0, NULL, hvm_access_none,
> +                                       hvmemul_ctxt, &addr) != X86EMUL_OKAY )
> +            break;
> +
> +        if ( hvmemul_ctxt->seg_reg[x86_seg_ss].dpl == 3 )
> +            pfec |= PFEC_user_mode;
> +
> +        mapping = hvmemul_map_linear_addr(addr, 0, pfec, hvmemul_ctxt);

I think the emulator should map the address using the same cache
attributes as the guest, or else the result might be different than
intended?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 14:49:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 14:49:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260401.449804 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCN8r-00033I-VL; Tue, 25 Jan 2022 14:49:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260401.449804; Tue, 25 Jan 2022 14:49:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCN8r-00033B-SN; Tue, 25 Jan 2022 14:49:53 +0000
Received: by outflank-mailman (input) for mailman id 260401;
 Tue, 25 Jan 2022 14:49:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nUgY=SJ=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nCN8q-000334-Ee
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 14:49:52 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f344251d-7ded-11ec-bc18-3156f6d857e4;
 Tue, 25 Jan 2022 15:49:10 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f344251d-7ded-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643122191;
  h=from:to:cc:subject:date:message-id:
   content-transfer-encoding:mime-version;
  bh=KMpJGUIBSXddYfFxNqcd0W/wOnfRTDcTzg5wC0yTDCQ=;
  b=MQ0h/c5tuSOOR6F0eRKhv7NikvunjqghDcfqEXFfo/LUCo3rEr98OQwg
   MXkvoRTOQlUTkZkMcnDkaFtz3yk2BGLhO1GMeo3EqL1RKGl/N+Ad4Nf/t
   FGu7I5gPEJiJfr7PyMJOUatq3Qb0p7gFFUqpms7HTag88j9Hr9xkJJ4Lj
   U=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: UzYjpcgZNS1eNjFzWHYStGx/MHPN2GIl2c5hC6+TrY8EaOTFgBNcsKnQap5Ybi9/xg7oV7ZGYL
 i/X2Zy2AM07XAK2uoNps24gjnkPic/mBghF5wIGwYsaX4oA3cioFDt+ovxY8niR/cpR+RDJx42
 WQYK0A8efeMa2R4Qnl4U+C66X7B0Ki0rYsK+LVN+J54/5+VSP908rhoe0Xby/85Q929ZTqvBv9
 Evt63bPKcD+xn0kV+b0a616o/JoojLu/AcrLdMnlkjKqSEUJYOdrTm/bp603v7YqK+aXb0yyQU
 5LISE/KGLWelcnQGDk/me0SU
X-SBRS: 5.2
X-MesageID: 63124289
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:nI60IaNFd6buvNfvrR1UkMFynXyQoLVcMsEvi/4bfWQNrUojhmcGy
 zYYCG6Ea6veM2GnKtt1YdjjoUpXuJPQn9YySgto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdpJYz/uUGuCJQUNUjMlkfZKhTr6UUsxNbVU8En150Eg+w7RRbrNA2rBVPSvc4
 bsenOWHULOV82Yc3rU8sv/rRLtH5ZweiRtA1rAMTakjUGz2zhH5OKk3N6CpR0YUd6EPdgKMq
 0Qv+5nilo/R109F5tpICd8XeGVSKlLZFVDmZna7x8FOK/WNz8A/+v9TCRYSVatYoyuYttdwx
 /NHiZ2fQ1sbNKbsttZESiANRkmSPYUekFPGCX22sMjVxEzaaXr8hf5pCSnaP6VBpLwxWzsXs
 6VFdnZdNXhvhMrvqF6/YvNrick5atHiIasUu216zCGfBvEjKXzGa/uRvIUEhmdh7ixINdbBb
 Mw5awRkVlPRWBFACnIeFIARjfj90xETdBUH8QnI9MLb+VP70whZwLXrdt3PdbSiR8pPmV2Dj
 nnb5Gm/CRYfXPSPxDzA/n+yi+vnmSLgRJlUBLC+7uRtglCY2ioUEhJ+fVmxrOS9i0W+c8lCM
 EFS8S0rxZXe72TyEIO7BUfh5ifZ4FhMALK8DtHW9imT24PT4gm/DFQFYTQdWtYtlOEEHCUTg
 wrhc8zSORRjt7icSHS4/7iSrC+vNSV9EVLudRPoXiNevYC9/dhbYgbnC486TfXr1oGd9STYn
 mjSxBXSkYn/miLiO0+T2VncywyhqZHSJuLezlWGBzn1hu+ViWPMWmBJ1bQ5xasYRGp6ZgPY1
 JThpyR4xLpSZX1qvHfVKNjh5Jnzu5643MT02DaD5aUJ+TW34GKEdotN+jx4L0oBGp9aJWSxP
 B6M5l0Atcc70J6WgUlfOd7Z5yMClvCIKDgYfqqMMoomjmZZKmdrAx2ClWbPhjuwwSDAYIk0O
 IuBcNbEMJrpIf8P8dZCfM9EieVD7nlnnQv7HMmnpzz6j+b2TCPLGN8tbQvfBshkvfjsiFiEr
 L5i2z6ilk83vBvWOHeHqOb+7DkicBAGOHwBg5UHL7HYels/RjhJ5j246epJRrGJVp99z4/g1
 nq8RlVZ2Bz4g3jGIh+NcXdtdPXkWpMXkJ7xFXdE0Y+A1ydxbICxwr0YcpdrL7Ar+PY6lax/T
 uUfetXGCfNKE2yV9zMYZJj7jYpjaBX02l7eY3v7OGAyL8x6WgjE2t74ZQ+zpiMAOTW66Jklq
 Lq62wKFHZdaH1Z+DNzbYe6Exk+quSRPg/p7WkbFe4EBeEjl/IVwBTb2i/s7f5MFJRnZn2PI3
 AeKGxYI4+LKptZtotXOgKmFqaavEvd/QRUGTzWKs+7uOHCDrGS5wIJGXOKZRhznVTv5qPe4e
 OFY7/DgK/lbzlxEhJVxTuRwxqUk6tqx+7IDllZ4HG/GZkiAA697JiXUxtFGs6BAy+MLuQayX
 U7TqNBWNa/QZZHgGV8VYgEkcv6CxbcfnTyLtaY5J0Dz5SlW+rubUBoNY0nQ2XIFdLYlYpk4x
 eoBudIN713tgxUnBd+KkyRI+jneNXcHSagm6skXDYKDZtDHEb2ejUgw0hPL3aw=
IronPort-HdrOrdr: A9a23:YOtjhaOKJw8dFcBcTy3155DYdb4zR+YMi2TDiHofdfUFSKClfp
 6V8cjztSWUtN4QMEtQ/exoX5PwO080lKQFmrX5WI3NYOCIghrPEGgP1/qB/9SCIVyAygc+79
 YYT0EWMrSZZjIb/KXHCWGDYqodKbK8gceVbInlvhJQpVYAUdAc0+41MHfTLmRGAC19QbYpHp
 uV4cRK4xKmZHQsd8y+Ql0IRfLKqdHnnI/vJUduPW9t1CC+yReTrJLqGRmR2RkTFxtJ3LcZ6G
 DA1yj0/L+qvf2XwgLVk0XT85NVst38zcYrPr3FtuElbhHXziq4boVoXLOP+BgzveGU8V4v1O
 LBph8xVv4Dn0/5TyWQm1/AygPg2DEh5zvJ0lmDm0bupsT/WXYTF9dBrZgxSGqU12MQ+PVHlI
 5b1WOQsJRaSTnamj7m2tTOXxZ20mKpvHsZl/IJhXA3a/pSVFZol/1QwKppKuZAIMqjg7pXUN
 WGTfusrsq+SGnqIEww5QJUsZ+RtndaJGbyfqFNgL3W79FspgEJ86Iv/r1sop4xzuNCd3B63Z
 W1Dk0RrsA3ciY3V9MLOA5Te7rANoTyKSi8Q156Z26XUZ06Bw==
X-IronPort-AV: E=Sophos;i="5.88,315,1635220800"; 
   d="scan'208";a="63124289"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kjSGDzYdy7h1ZqIksrKGDsGKrf9qxgLtWF3dG3h/imvmwDCP/EEPItFkFEYIAZJWror3cNyrOiqBinvVlDdXMysJ9JMI30hh6egzCV95DpySyWEyrpRfa5OXuR0XwGy0ip7LmORSiAPDU5u1YM8SNJivbIAG8I1JPA7CPNGMf8WKayK13VVMdOOZKaEqcDeDeaOIp4xBFD7EdCPEX/kDk8kSpSRMr/ymgQSx7S2TdGWGe59UrkFAOGu4s/uZsg5ZmnYyTJOySxIn/srKD1+rF2xaTSfqstaBy6mqqOiV1deHaXM1Mxb1BRTMszDlkwwCPSSEmVuEoArpYX4aFI0tMA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Eru6pzQxOjTbx0wUbPSsxS8IroCkcvtDCCp2Q1k9dPQ=;
 b=MRMzGuLZ/pAyM8T7qQiioHyflVxogAiluyH3znIssjfa/4MjICOnGjjgmcLCELOeM7/mRby97Fr1rKdULyoEhAGHZ/adft472BTr2xcWlCyGIiSYr2VoTqzEEqt6piZ1Prd6w1XsQCD32sgA0SGVAgdZazkH4R8Vhs4F4RAGwT3i0VT4YkLkSAxKMt7/iJMUsMtZOrzk36h4LwR/VUhdfNr+80jUMRs3OtUjU9MQ98lrffFn11chhyKFNDdpVtYu/kEHzL6DbAcVCsXCPEiGcASNF67iS2XbRbD4iDbZqWF8zalbIPi7j4ie7kZAKXTtXfwJPCQgW9QX9rlartAHTw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Eru6pzQxOjTbx0wUbPSsxS8IroCkcvtDCCp2Q1k9dPQ=;
 b=F/ZNvqyFrAaZTO7yjpfbMUpu8dZpbZ+QjDAWk0UOjJhGhicKmh8F9gsZa8Sz2RjnkiL52BCahBJFFf/KUpztV4jRQQRLM9oVf2hrt0tYDILspTzWjNcFsCYarllVEvHt+9Jf5JxZQeUkzeedcLpvYoDWNRSqXSfGNXeOZE67sbw=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>, "Anthony
 PERARD" <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
Subject: [PATCH v7 00/11] libs/guest: new CPUID/MSR interface
Date: Tue, 25 Jan 2022 15:49:24 +0100
Message-ID: <20220125144935.44394-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MR2P264CA0043.FRAP264.PROD.OUTLOOK.COM (2603:10a6:500::31)
 To DS7PR03MB5608.namprd03.prod.outlook.com (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 31606684-6784-4f05-11b9-08d9e011eb8c
X-MS-TrafficTypeDiagnostic: BYAPR03MB4568:EE_
X-Microsoft-Antispam-PRVS: <BYAPR03MB45682D6CA3543546A006993F8F5F9@BYAPR03MB4568.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: H8DVx+QTwUnbRmv2LaqWSv3vnP5Ijo/83bQMR6dWPLkL4oU0wB+lH//2XBdS15DDuc6GKKJuHUHCN2WEPdh1b80ziuC8AQ4pwqia5lAc2NrYb3P1QtxYZAOma72djHXlz7s65Txh9R6tyyOCyicAhdi1igg6wfgAbZjNdZ6xhk8z0tk4w6L6x6JzYzzJROGlIULSVzEWHqe4r5xB/IDGjIdv4mjyQZRPFbnqvlqpo2U+3S/dsiXbmWKrDVx3sZbzcPF0q1AceXDyjVgFIa1WO3arFt4lZZLRZA0Hb+N5udlz/bKUQ9QZMDoH4se7Oyn2t//G5+YFoLKNf/nWpMftlxuC0oyBI0u/YtEDoIsMUvh4RGXS+1rmP/Jf4gGzaK9GUzmynW9hwl/Qk7+SsCOmFl3xdSDoGU1fu2uJOmjVaaioiAZYhz/89G3Aw+8kgO34UttcJUaDp9O3AYgtTuPewoerWVZgdPyEoHaXrmmtA3JPCim2xPx0SiMW/0Guv4t10sZr6WKKxDzD8L1iFijSPx7F+SETyVupSVHARm09eDXMr0KEAEAiLy7n4nQbZyTl0IES+Eqj77Cu7WqcojooVBLQi4JVx4y4C1q20lcAZmpDAgLfJbIhIWQiFjJ5vW+BoQkBqBCLocI5dS8T/3BZBA==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(4326008)(8676002)(26005)(1076003)(2616005)(6512007)(508600001)(6916009)(83380400001)(54906003)(36756003)(2906002)(316002)(8936002)(66476007)(5660300002)(86362001)(6506007)(82960400001)(66556008)(6666004)(186003)(66946007)(6486002)(38100700002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VFgxOFhwSmFqRkRPUVcxSlVma0hKalR0WUM3NzRLbnhPTmxaanRoOVBNUXYr?=
 =?utf-8?B?RVpuaVYwM1dLNUFVN2FjVkEyRjBpdEN0anZJUCswVVc4WEJERTRZd2JhMW8x?=
 =?utf-8?B?d2VHZ3lqOG1nODZrNDZhYTV1Q2tQNjNkK25TVFV5cWhYYzBXV2JyY3dzZlJG?=
 =?utf-8?B?NlExc3FheTAyS0R3OU1ReW0wdlM3Z245LzcvbTdvZHNYbHZDckd4cldiV2dE?=
 =?utf-8?B?SEM3eHdQenR0WHJUTEFaTnNEK3NlRFpDS3dHT0psa3lhak1KdWxLdXYzQW5W?=
 =?utf-8?B?bExHczNQa3NhTjhsSzBaVUxqeGIwS2Fsb1RnNmlLTzZ1dllUdFR6MXcxTnVs?=
 =?utf-8?B?QU1zazJmb0tXU0NrTWdmcmdRbW00a2lzdk02OG9yb2ZpNEt6WVFMOTVEcGFt?=
 =?utf-8?B?MEthS09sd3BnaElZcjFtdkk4Q1lLMzFmZXV4RlJsTUxSeGJGc0pLQWtlMGJh?=
 =?utf-8?B?UEt2eFVVRGRNcTN0Y2F4VUVsam1hdmIzcVdLSmg1S2xOM1ZFcGlIbzJ5Rzgr?=
 =?utf-8?B?cjNOaTdqRWNuUk10SitaUytoTjVYa1JOS1I4ZXExRE5qRTVLOW1UNmJIeW9y?=
 =?utf-8?B?SFV6ZE9kK3YxRVdIbXM2NEMrNC9kNEpFQVYrNXVlNlQvdXJtVlZNa2MweHhp?=
 =?utf-8?B?YW94MDBBS2diZGIwNm1CVUFaTjlsNGdaVVFINHo0UGdHUjlQdldXNnlMWENS?=
 =?utf-8?B?S1FaSzlSODdnQXFYN3ByZ2g4alpGY2JJTGVVWmJWQ0JockJPbzZUVHJBaDBs?=
 =?utf-8?B?ZE00OXBSU1pzSlRHNnFYNHZlVmZoOTR4aDNRMkJLSkxTYThabGFXVkd1bjRB?=
 =?utf-8?B?eEVDR1ZhK3dIakRvYVh4V0c0bGt6b254SWtzN2R1bWpuYmhMUkhWTFIrT21G?=
 =?utf-8?B?SkZ5U1R6cnk3SVczR3dsM2ppMGFXOGJxMXlhaWZqcFc2NHNhaDBzM2thZ1l5?=
 =?utf-8?B?Z2tmM1dGMVZLT2pJTWRDWU9MQmlzTEpxbGJFRllwTXVJUmlLZTY0VTE5Zmhk?=
 =?utf-8?B?NDBqRXc2ZURKdVdLMmIxVmdTNWlBbzAzZ29wdzlpNEMzV2JubWV1eE4yMis3?=
 =?utf-8?B?dnFyai9WRTczU05Bb3JkK0ZvMTlUcDFPdTlHUjRYZ2cySHc5UGUzOFIzZHZQ?=
 =?utf-8?B?OTA5Z2ZmZHhpVVArMy95cXNqeTRoMHFDQUcwRDdOUnIyV0RHSVVVbnpscFZZ?=
 =?utf-8?B?Ym12ajd0SWcvemwzYVQ4VmtpaWZmUlVnUHVxZHhpU2N2UmpFdXlDSTVXNlR6?=
 =?utf-8?B?a2R1TjlQOTRUOUtNL0J2NzdRSDlwMGx4MUFPbTk4SnI2NzB3NkFTUXFpelhk?=
 =?utf-8?B?RHh0bDdiUkp1T2NLN0NvSVVRQnNWNEx5ZytrTlNlZ2lRR2pjRGtQQ3VpUTFG?=
 =?utf-8?B?VndZbzlaSlA0MWZMM1grdGkxZzZ0QzJJVWN1MnFCTmNiamlZQk9SNXJYWFll?=
 =?utf-8?B?Y1JVNHRVWVF6a1BrdFIyYmVPVFlzbm1WaDluL3ozUEZqK3FqWmlWdEhPL2tQ?=
 =?utf-8?B?WWdLL0Z3SEJLSnhycG13TzZIN3kxRy9FWjZzd3lVVTJQZmRhd3Mwa1pCNFdw?=
 =?utf-8?B?ZUxBeTkrWFBjT0NPTXRYTkYvT3pDK25ha2ZibnRRRGZQOTJibC94Z09Raktu?=
 =?utf-8?B?UGE5TU1QSVZCMlJXMjBlR2dPemxlQlllQld0OWx1Z1BmSThzbnYzWkdDaEdj?=
 =?utf-8?B?d0FwRytZdlVBZFl2eC9MczN1N3Q5N2RBR0syWUQ5K29tRXZ5bm5WVkpQb0Rr?=
 =?utf-8?B?QjNWMUV3bkN2V0d0cTNYSUI5RVUwUXUrUVBuSHIySzZXQzhjRmpZbHpNcmpy?=
 =?utf-8?B?R3ArdUFtdUlqaWs4U2NWOWhiaEFicW5Sb0tsWk9Tekx4Wm9KMFlGNk5uWkdy?=
 =?utf-8?B?NVZEYjBDTks2eEQrdEgxT0pBOVVqcHdXUHFxazBXOEM1ZkRCdEQ1ZEZxd0pW?=
 =?utf-8?B?TzViRHhJQXhDTk9ta2tLbmNBOEhsdGdDUlZ2eHdCMElWSDk2N2EvZnFSTjVP?=
 =?utf-8?B?S2lCamVjUGZhQTFjYVdnbUp1b2o4TXByUjJIeENkTHFzK0szQUxJdkYwaloz?=
 =?utf-8?B?aWJuTzNOcnZSMk5UaytCREozU2NoNm0rL2VLUVhzTGZPbEhpaWVzNTVsOFJI?=
 =?utf-8?B?WnhpRmZUUVllaUVzdXZFZy9icy9FYldFNXMzdXVkK044SkNPUFFva0FqbE05?=
 =?utf-8?Q?p8OuHX4bV16IZ8Z3ex8jXjs=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 31606684-6784-4f05-11b9-08d9e011eb8c
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 14:49:42.1620
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dOe1wES9LEnnS2pfpwQY+HRHVljIseyJk3WccaSh+6pXi8gaa9rRsnEn05nxgLuz74Tj3QbJF8r4KFAIiUk4KA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB4568
X-OriginatorOrg: citrix.com

Hello,

The following series introduces a new CPUID/MSR interface for the
xenguest library. Such interface handles both CPUID and MSRs using the
same opaque object, and provides some helpers for the user to peek or
modify such data without exposing the backing type. This is useful for
future development as CPUID and MSRs are closely related, so it makes
handling those much easier if they are inside the same object (ie: a
change to a CPUID bit might expose or hide an MSR).

In this patch series libxl and other in tree users have been switched to
use the new interface, so it shouldn't result in any functional change
from a user point of view.

Note there are still some missing pieces likely. The way to modify CPUID
data is not ideal, as it requires fetching a leaf and modifying it
directly. We might want some kind of interface in order to set specific
CPUID features more easily, but that's to be discussed, and would be
done as a follow up series.

The addition of a helper to generate compatible policies given two
inputs has been removed from this iteration, sine Andrew Cooper has
posted a patch to set the foundation for that, and further work should
be done against that baseline.

Thanks, Roger.

Jan Beulich (1):
  x86/CPUID: shrink max_{,sub}leaf fields according to actual leaf
    contents

Roger Pau Monne (10):
  libx86: introduce helper to fetch cpuid leaf
  libs/guest: allow fetching a specific CPUID leaf from a cpu policy
  libx86: introduce helper to fetch msr entry
  libs/guest: allow fetching a specific MSR entry from a cpu policy
  libs/guest: make a cpu policy compatible with older Xen versions
  libs/guest: introduce helper set cpu topology in cpu policy
  libs/guest: rework xc_cpuid_xend_policy
  libs/guest: apply a featureset into a cpu policy
  libs/{light,guest}: implement xc_cpuid_apply_policy in libxl
  libs/guest: (re)move xc_cpu_policy_apply_cpuid

 tools/include/libxl.h                    |   6 +-
 tools/include/xenctrl.h                  |  44 --
 tools/include/xenguest.h                 |  26 +
 tools/libs/guest/xg_cpuid_x86.c          | 607 ++++++++---------------
 tools/libs/light/libxl_cpuid.c           | 205 +++++++-
 tools/libs/light/libxl_internal.h        |  26 +
 tools/tests/cpu-policy/test-cpu-policy.c | 326 +++++++++++-
 xen/arch/x86/cpuid.c                     |  55 +-
 xen/include/xen/lib/x86/cpuid.h          |  26 +
 xen/include/xen/lib/x86/msr.h            |  20 +-
 xen/lib/x86/cpuid.c                      |  91 ++++
 xen/lib/x86/msr.c                        |  41 +-
 12 files changed, 925 insertions(+), 548 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 14:49:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 14:49:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260402.449815 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCN8t-0003Iu-7j; Tue, 25 Jan 2022 14:49:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260402.449815; Tue, 25 Jan 2022 14:49:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCN8t-0003In-4H; Tue, 25 Jan 2022 14:49:55 +0000
Received: by outflank-mailman (input) for mailman id 260402;
 Tue, 25 Jan 2022 14:49:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nUgY=SJ=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nCN8s-00033A-6k
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 14:49:54 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0ca30aee-7dee-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 15:49:52 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0ca30aee-7dee-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643122192;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=8IcruUdw+PlzeWFNIE/jfRspWM79IBB39qmM/KGMn5M=;
  b=d9nMeSvwhVlyexnf0y+/QfuBIK8ccU2xFftT1mr3zkngDMiiR9eMBj+W
   4Grcf3Rdbw/E1y7yi6zWOFz1ukWDnH3pZCGY0SyThHsGOdZNCgZGBIz7e
   1m7S/8BCMCdogYQS5JxgvaLMFPI941naqjp0+3nG4DBQ30YheV5PCI4lN
   A=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: Z/Kt2vvQFpVphod2PF08kzkxhAUwHph9jhPXD+sH+/zezkE2yTBki5JXztOmkrJThNQ/O/Sym+
 fUhPrrq11R+wSrOHAdnEMBrfiQk2bj2QlYNSqVKgBmJAFD5f5DeAc2VteEBX+a9VtTpmqM4Tc9
 ulxWtBjjswrGV+gQF7HhQy1lbvLizjHp02qIQ5ww6A20UDGeLA3zg/CMpukqpifFD8uE3C32rz
 eOW2xyR0eOQXUVxPYwY00ZReZIBGuiHvNkvs6n7ZO/ZIpiNs74iYNvqct6FM3IP391St+HkBm/
 dKzG9OawxLBPtUNw60KbanlT
X-SBRS: 5.2
X-MesageID: 64879988
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:6LtEra+Gm1WbNX+ZvxerDrUDZnmTJUtcMsCJ2f8bNWPcYEJGY0x3n
 TNMD2vSPazfazH3et5ya96x9x8E7J6HzoUwG1RorXs8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7dj39Yy6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPhXz
 5YKm5aJFTtwAabXp6cgDRpoFBxXaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguw5K8bmJsUHs2xIxjDFF/c2B5vERs0m4PcGgGdv15EeTZ4yY
 eIUWTFfQRDsfiRCeWYrKYsvu7722ijGJmgwRFW9+vNsvjm7IBZK+KfpGMrYfJqNX8o9tkSSq
 3/C/m/5KgoHL9HZwj2Amlq8i+mKkS7lVYY6ELyj6uUskFCV3nYUChAdSR28u/bRt6Klc4sBc
 QpOoHNo9PVsshzwJjXgY/GmiFiD/VkyUeMML7QF4xqyiZeK4DaeO0FRG1atd+canMMxQDUr0
 HqAkNXoGSFjvdWpdJ6NyluHhWjsYHZIdAfucQdBFFJYuIe7/OnfmzqSFo4LLUKjsjHi9dgcK
 RiupTN2ubgchNVjO06TrQGe2GLESnQko2cICuTrsoCNs1sRiG2NPdXABb3nARBodtrxor6p5
 yBspiRmxLpSZaxhbQTUKAn3IJmn5uyeLBrXikN1Ep8q+lyFoiD/JtgMsW4hehY4aq7onAMFh
 meJ5Wu9A7cIZBOXgVJfOdrtW6zGM4C+fTgaahwkRoUXOcUgHON21CpveVSRzwjQfLsEyskC1
 WOgWZ/0Vx4yUP0/pBLvHrt1+eJ1mkgWmD2CLbimn0XP+efPPxa9FOZaWGZim8hktstoVi2Pr
 YYGXyZLoj0CONDDjt7/qN5KcgtSfCFlXPgbaaV/L4a+H+avI0l4Y9f5yrI9YY112aNTk+bD5
 HamXUFEjlH4gBX6xc+iMRiPsZvjAsRyq2wVJyspMQr60nQve9/3vqwea4E2bf8s8+k6lax4S
 PwMesOhBPVTS2uYp2RBPMel9IEyJg62gQ+uPja+ZGRtdZBXWAGUqMTveRHi9XdSA3Pv59c+u
 bCpyijSXYEHG1Z5FM/TZf/2lwGxsHERlfhcRUzNJtUPKkzg/JIzc376j+MtItFKIhLGn2PI2
 wGTCBYehO/Mv45qr4WZ2fHa99+kSrIsEFBbEm/X6aeNGRPbpmfzk5VdVOuofCzGUD+m8quVe
 ugIner3N+cKnQgWvtMkQapr1683+/Dmu6ReklZ/BHzOYlmmVuFgL32B0ZUdv6FB3OYE6w6/W
 0bJ8dhGI7SZfsjiFQdJdgYia+2C09ASmyXTsqtpcBmruncv8erVS1hWMjmNlDdZfel8P44Sy
 Os8vNIbtl6kgR0wP9fa1i1Z+gxg9JDbv3nLYn3CPLLWtw==
IronPort-HdrOrdr: A9a23:Xl4GF69gv/Lnt1tlNBxuk+FAdb1zdoMgy1knxilNoENuHfBwxv
 rDoB1E73LJYVYqOU3Jmbi7Sc29qBTnhOJICOgqTMqftWzd1ldAQ7sSi7cKrweQeREWs9Qtrp
 uIEJIOeeEYb2IK9PoSiTPQe71LoKjlzEnrv5al854Ed3AVV0gK1XYfNu/0KDwSeOEQbqBJa6
 Z0q/A37AaISDAyVICWF3MFV+/Mq5nik4/nWwcPA1oC5BOVhT2lxbbmG1zAty1uHg9n8PMHyy
 zoggb57qKsv7WSzQLd7Xba69BzlMH6wtVOKcSQgow+KynqiCyveIN9Mofy9gwdkaWK0hIHgd
 PMqxAvM4Ba7G7QRHi8pV/X1wzpwF8Vmgnf4G7dpUGmjd3yRTo8BcYEr5leaAHl500pu8w5+L
 5X3kqC3qAnQy/orWDY3ZzlRhtqnk27rT4JiugIlUFSVoMYdft4sZEfxkVIC50NdRiKp7zPKN
 MeTP002cwmMm9zNxvizytSKZ2XLzgO9y69Mwk/Upf/6UkSoJh7p3Fos/D30E1wsK7VcKM0lN
 gsBJ4Y4I2mfvVmHZ6VO91xM/dfcla9OS4kEFjiaGgPR5t3c04klfbMkcAIDaeRCds18Kc=
X-IronPort-AV: E=Sophos;i="5.88,315,1635220800"; 
   d="scan'208";a="64879988"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Kihhjx6NiEgBUz0gB6XKHxUw5C0AlQOts5kXnG7QNEYEHdV7O6OqyD6K/kpofOIcwLDQw3FK0YIOjGaZKC7BmlHwAMZ0HrXTXPZnXEvm6DM/yTJAuHIXi/V1vEFDLgPaMeMc4iw7DXuoQAuibNDd99Quy6GHXe/BEmCUd1zqrMxpURuo2dFL7xLwyZ1MZATjDK97j5cTmSrsGWheT61PnG79L8+ccFhPmgMfnKCWhIJJheMf30RixkjySLAKJRJjVH+LElDbDRWnQcVmBKWOdshOHETNolKwdQXL3w/KyZ/A/FTC4u0tz4NxCZAVZ+4HwulsYYpD/NTiW4yAF6Mxaw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aaCmk4M/L7unxCL+YD/2t5w6edbf5MelChrqRkA5sMs=;
 b=nOXh4epEZT/KLHyhbHJ5vtkibw0cdVvlFC2U0/diHYHrkHZHfdz9PNT3BBsqhizg+QtSp5g0Ne3aPyCyPW0ywnkJi2yNuuE8cUrVJjrA/CQRB3sDLDJ035m/mnKdwMjQIOrBFbmHLs76NOIARIGv0611kDhmpUgENXMyTIbBeJRlgrHdT030cFNjlfdo2hrP0Giy1WTERQ6JM2St4VdLLoFVUBD3LNS70X3MXWVtl2b3/QiY8BTDi8ejACQYitxVASszkKYW1Cv0nW4xrxUFxVfS7jnbYicwrHfANHZ8gOfuKMCVKWaQ2ktpgduuPZjcd/Sm/cMJ1216amYIM0E2nQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aaCmk4M/L7unxCL+YD/2t5w6edbf5MelChrqRkA5sMs=;
 b=VGL/IO0PEoHRyadAzhZW+BhNt3MUQS8yuGTLKrm0AYNdmEHuSn4QwQK9YbdsuIDcNXfwF5BI3EB9wxSdo6O4aNMFuD/2lY/jdnbpOupPdgcfQtX0/79fKysYkxZOfvUEuLBlMCXlxGm2WsO3h16VAkwnGgfxVlB9bxuxBDZlXuk=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>, Anthony
 PERARD <anthony.perard@citrix.com>
Subject: [PATCH v7 01/11] libx86: introduce helper to fetch cpuid leaf
Date: Tue, 25 Jan 2022 15:49:25 +0100
Message-ID: <20220125144935.44394-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125144935.44394-1-roger.pau@citrix.com>
References: <20220125144935.44394-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MR2P264CA0044.FRAP264.PROD.OUTLOOK.COM (2603:10a6:500::32)
 To DS7PR03MB5608.namprd03.prod.outlook.com (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 7f2a2ba7-03dc-45de-6804-08d9e011eed1
X-MS-TrafficTypeDiagnostic: BYAPR03MB4568:EE_
X-Microsoft-Antispam-PRVS: <BYAPR03MB4568EA3525600930CA22237C8F5F9@BYAPR03MB4568.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:359;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: E8xBhjA0/M5idWnzVIfbCTP7/qal0/s1mjng3Rfu2N8/y5igl5wV6oBI5UeqytfPdT5gdB7L8U7EIuWRU/GcENh3+N8tjn/2T9/lWPd7nJSsPVMUpTqMQNHZmPSHvxJnlijHVUmCBPmDx814RuUP/WlWPKaFUu6R2nvHtLwoGgWgTlIaAJSObRtLg+6ZQ8YXcjVKgFISAv6aFxnXxVv6iKBeCYsU9a/ozerHIv4J2cwQfp4JHPmIa3o4Up3pnnVh3dIZWGiQW6xItOGv3iVk0DmzFdGxW31aMVPPeEjqXDGzPoBn7HIlqJtuWFZJYKpZGnuIRZ2ircaTHB38nyZ0eNGDu+U9vxvY23+Ta4KMl4ST852s6eGcRfzuH8h0NTSTyGLzeRn5jeTcJcugr2PNJKNRSSZHoHkCohSN12G9ytwo3O9cl3MBl9Ypp3iaWkjnn1x9lfZp4PNH8OGn3Q204xXfpDdPVN+aFbEwMmfwYwH6dWtISkUcGXIjDkyznMnlcizURAuKey72fBQq3dtwvGOc2Ta9oHj873xmBtnts9l5X/I8LE7G55DsOqksya3l2iti/aivPwPrkxChWWP704kpN538rNssSq0UBQlkMXYvMcWH0Nidhe9fSvE//iugb++cOfemSzHYNtlnzRypUw==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(4326008)(8676002)(30864003)(26005)(1076003)(2616005)(6512007)(508600001)(6916009)(107886003)(83380400001)(54906003)(36756003)(2906002)(316002)(8936002)(66476007)(5660300002)(86362001)(6506007)(82960400001)(66556008)(6666004)(186003)(66946007)(6486002)(38100700002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TGx2V3JqTFBxOTNmS2NPR2IvNzZZRkVUZjBzY29MRndZbzdSKzNxTFJ2N0Fw?=
 =?utf-8?B?T016KzdwK3J5bmhTNUlpeThEcEY1cEo3anVCSkdXYlNVVGlNbmFrVk1jUlR3?=
 =?utf-8?B?Yk10YjVVN0NUWkJQVHNUTzNmR2EwODAxMHBtNWJtV2VkeG5wc0Rmb0ZIbUh6?=
 =?utf-8?B?SVVCN2U5cTl4QjFaNHJpK3F1aTFmRlZjZjkxMFU3b01CdGNxa1IrbjI2dGJV?=
 =?utf-8?B?QjkrcDBMa09mQmNtelg0cVVuZ01VcDNwK0llSlBVZ29KdUF6eDcxQVBTK3hN?=
 =?utf-8?B?ektvanBCQy9nQ0pXRENTRmRnWW54WjFiKzMxSm5KdmVQUkp6RDBlVlpnazEx?=
 =?utf-8?B?ZXk1SUZGTHQ2dk1VbkRpS0ZxRk5DU1VHcTlXOGhpeHl0QzAzN20vSEx6ODg0?=
 =?utf-8?B?Mnk0Tm9TdjdSZ01idkxDK01NUjlsOHRxSDlKdGcwTlhUcHE1cHU2cU5ZWVlI?=
 =?utf-8?B?aU5LMS8vdkNGMGgvVjR2YUJqY1p6RjhPRlFHM2FwSmhEZUxJV3lnL0hQbTQw?=
 =?utf-8?B?L2dQUmF3RmljUFJML2lHcXk5bm9jYmpLdUF1OGZzaGNGeW1oYm8ycnc1Q1Ax?=
 =?utf-8?B?UUM2YkRIQVFicEJxbDdITkQ0TTUzenRsQ1U2dkR6ZUR2WXNhVjQ5SlNrelV3?=
 =?utf-8?B?b044ZEQvTE5VdytMbFluNWN0U1JWNHFYbmNuN0krODgxRG54b0RDWUlDTmtJ?=
 =?utf-8?B?dzYwVmhGN3d6TzM2emFnV0lIVk96MnZkRFNjOTJUL2RZcFIxN1VoNmdIdmlG?=
 =?utf-8?B?QjdHZzNiQ1ovTDA2MU95cHFKcE9NSGEwZVF3YWhLby9wdThtR0xwdUNGUmIv?=
 =?utf-8?B?NXFFcDZPUThzT3Z1YjR6a0pSRlRCK09JY2dsdk4wN2pFNWNmRkVQZjRuZXR0?=
 =?utf-8?B?M1JWVHU2Ulc1aXRzcm1uUVhJVWZiQjlOSHZRTi9ucnFpajBRelNEMllGNE5J?=
 =?utf-8?B?L0Y5QVBrUFcwSUdjUGs2eEdVaGl1TFUxbHVHUE9RTUtQTTA2T2lQQ25mcHFj?=
 =?utf-8?B?MXo2YUhza3MveWdSbko2STg2VGNMOEN6ZXdxZVNjd1ZtRWUwdk9IZHo1WkdY?=
 =?utf-8?B?OTlLbjNUa3kwakQ2NUIzQTQ5UXVuZitHS2JiN3Babnl3N016TkVraCs0dWVN?=
 =?utf-8?B?UjJWaGMzUTl1c09jamM2SCtBS1NieVlLMGI4bmtDTEI4UE54TjIraHBrSVZP?=
 =?utf-8?B?TlFXcUVLVmRNY0pZN0ZqSXA2RXpzR0h2dEswTUFzalJ6VWc5SFRoUFFxV091?=
 =?utf-8?B?WU5UZ0JCakt0R25iTFRiaTFCNzJ2NHhObTE5bTdoOHd2TFFaTHd1dndyZzhD?=
 =?utf-8?B?YTlaWkVxR3hRcS9nL3JIMWVnWEQvdU9ha3pnSmFSUkR5QlJHVEZDcTFPT3gy?=
 =?utf-8?B?MHdqWFkrYnkxbXR3VnY4SVFnODFhWmE2MmlENEdEVDkxT0dKYUR6RVVNYjg3?=
 =?utf-8?B?b1AvVFR2dnM4Q3BoT0FjOTJ4SUFYS2U3WWpjSFBWQUNjdWU0WE9CMVY3OFJP?=
 =?utf-8?B?ZDBSVTJSR2V6ZWxadVVFZUtIRFBINEgyYWwrN2hxNUphOHdCaGVUd1VkM1l0?=
 =?utf-8?B?TnV1WFN5MWUrbnJkZGNIVlU5Lzl6eFNYVGJqaWxrS1RFQi9UQmUvZkEvT21R?=
 =?utf-8?B?amd4T2pjdkJXR2JUR2Q5bE9wcHBOb0V4ZlhoUzlEa1dUd0xLRHFiTlR4TDdM?=
 =?utf-8?B?ZVBpbytpMm4rVXFhMXB2Mi90T2ZvV0ovRHJIM1V1bTVtRTlpU1ljalNUY2xO?=
 =?utf-8?B?S1BheFNZeDhXaWQwazJCaUtxZDVlKzl0TFg2REF1ZmhTeTRtYUt0eDVsTE94?=
 =?utf-8?B?bmRyTjFyakJXVmpydk9GdzZVVlNhSHVKNjg0Nzh4UU8xUk14d3hUZTQvODZ5?=
 =?utf-8?B?RU1HajVjcFEvcFpIUjBGWkxFTDVzUmNYdFN5Zm1QNUZxd0dXV3RtYll6U3Nt?=
 =?utf-8?B?WUF1K21zdkZ2SU1SR2h4QnVGaythbU54d2Z0Y01CLzNkNDdKSGpxVG5PQ3dC?=
 =?utf-8?B?N1ZDYWtlbHl5bGc3RVV2ZVdpM1k0QTh4U1dwd1FBZXg4SHA0MVdyUGg2amgz?=
 =?utf-8?B?clJTZnQ5L3ZRa2VhYzdIY1F4c0F2N0J1NU50bzZMQkFqUU90MUZseEdWTVRw?=
 =?utf-8?B?ekh4SkVmYUVEY2ZYMWlWN1VkNElleS9uUEU0U1ZRTW9vY2lmNVlIdjhJVmFC?=
 =?utf-8?Q?mQOCeryjcUlAJhc6iA5f3wk=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 7f2a2ba7-03dc-45de-6804-08d9e011eed1
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 14:49:47.7746
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Z3H5NdIgaZ3f+jYVrNEon0FzjczZ+LcR0XLa0whggN0ngYKUlC7YbEoHdLp3lWJRnR0PBTiQXyD5pJhJ1+80NA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB4568
X-OriginatorOrg: citrix.com

Introduce a helper based on the current Xen guest_cpuid code in order
to fetch a cpuid leaf from a policy. The newly introduced function in
cpuid.c should not be directly called and instead the provided
x86_cpuid_get_leaf macro should be used that will properly deal with
const and non-const inputs.

Also add a test to check that the introduced helper doesn't go over
the bounds of the policy.

Note the code in x86_cpuid_copy_from_buffer is not switched to use the
new function because of the boundary checks against the max fields of
the policy, which might not be properly set at the point where
x86_cpuid_copy_from_buffer get called, for example when filling an
empty policy from scratch.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v6:
 - Add more tests.
 - Drop Jan R-b.

Changes since v4:
 - Rename _x86_cpuid_get_leaf to x86_cpuid_get_leaf_const.

Changes since v3:
 - New in this version.
---
 tools/tests/cpu-policy/test-cpu-policy.c | 177 +++++++++++++++++++++++
 xen/arch/x86/cpuid.c                     |  55 +------
 xen/include/xen/lib/x86/cpuid.h          |  19 +++
 xen/lib/x86/cpuid.c                      |  52 +++++++
 4 files changed, 255 insertions(+), 48 deletions(-)

diff --git a/tools/tests/cpu-policy/test-cpu-policy.c b/tools/tests/cpu-policy/test-cpu-policy.c
index ed450a0997..09e4b5f528 100644
--- a/tools/tests/cpu-policy/test-cpu-policy.c
+++ b/tools/tests/cpu-policy/test-cpu-policy.c
@@ -1,6 +1,7 @@
 #include <assert.h>
 #include <errno.h>
 #include <stdbool.h>
+#include <stddef.h>
 #include <stdint.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -570,6 +571,180 @@ static void test_cpuid_out_of_range_clearing(void)
     }
 }
 
+static void test_cpuid_get_leaf_failure(void)
+{
+    static const struct test {
+        struct cpuid_policy p;
+        const char *name;
+        uint32_t leaf, subleaf;
+    } tests[] = {
+        /* Test for invalid configurations in the object itself. */
+        {
+            .name = "Basic max leaf >= array size",
+            .p = {
+                .basic.max_leaf = CPUID_GUEST_NR_BASIC,
+            },
+        },
+        {
+            .name = "Feature max leaf >= array size",
+            .p = {
+                .basic.max_leaf = CPUID_GUEST_NR_BASIC - 1,
+                .feat.max_subleaf = CPUID_GUEST_NR_FEAT,
+            },
+            .leaf = 0x7,
+        },
+        {
+            .name = "Extended max leaf >= array size",
+            .p = {
+                .extd.max_leaf = 0x80000000 + CPUID_GUEST_NR_EXTD,
+            },
+            .leaf = 0x80000000,
+        },
+
+        /* Test out-of-bounds checks in the accessor. */
+        {
+            .name = "Basic leaf >= max leaf",
+            .p = {
+                .basic.max_leaf = CPUID_GUEST_NR_BASIC - 1,
+            },
+            .leaf = CPUID_GUEST_NR_BASIC,
+        },
+        {
+            .name = "Cache leaf >= cache array size",
+            .p = {
+                .basic.max_leaf = CPUID_GUEST_NR_BASIC - 1,
+            },
+            .leaf = 0x4,
+            .subleaf = CPUID_GUEST_NR_CACHE,
+        },
+        {
+            .name = "Feature leaf >= max leaf",
+            .p = {
+                .basic.max_leaf = CPUID_GUEST_NR_BASIC - 1,
+                .feat.max_subleaf = CPUID_GUEST_NR_FEAT - 1,
+            },
+            .leaf = 0x7,
+            .subleaf = CPUID_GUEST_NR_FEAT,
+        },
+        {
+            .name = "Extended Topo leaf >= cache array size",
+            .p = {
+                .basic.max_leaf = CPUID_GUEST_NR_BASIC - 1,
+            },
+            .leaf = 0xb,
+            .subleaf = CPUID_GUEST_NR_TOPO,
+        },
+        {
+            .name = "Xstate leaf >= cache array size",
+            .p = {
+                .basic.max_leaf = CPUID_GUEST_NR_BASIC - 1,
+            },
+            .leaf = 0xd,
+            .subleaf = CPUID_GUEST_NR_XSTATE,
+        },
+        {
+            .name = "Extended leaf >= max leaf",
+            .p = {
+                .extd.max_leaf = 0x80000000 + CPUID_GUEST_NR_EXTD - 1,
+            },
+            .leaf = 0x80000000 + CPUID_GUEST_NR_EXTD,
+        },
+
+        /* Test fetching Xsave without present. */
+        {
+            .name = "Fetch Xsave without present",
+            .p = {
+                .basic = {
+                    .max_leaf = CPUID_GUEST_NR_BASIC - 1,
+                    .xsave = false,
+                },
+            },
+            .leaf = 0xd,
+        },
+
+    };
+    const struct cpuid_policy pc = {};
+    const struct cpuid_leaf *lc;
+    struct cpuid_policy p = {};
+    struct cpuid_leaf *l;
+
+    /* Constness build test. */
+    lc = x86_cpuid_get_leaf(&pc, 0, 0);
+    l = x86_cpuid_get_leaf(&p, 0, 0);
+
+    printf("Testing CPUID get leaf bound checking:\n");
+
+    for ( size_t i = 0; i < ARRAY_SIZE(tests); ++i )
+    {
+        const struct test *t = &tests[i];
+        const struct cpuid_policy *p = memdup(&t->p);
+
+        if ( x86_cpuid_get_leaf_const(p, t->leaf, t->subleaf) )
+            fail("  Test %s get leaf fail\n", t->name);
+    }
+}
+
+static void test_cpuid_get_leaf(void)
+{
+    static const struct cpuid_policy policy = {
+        .basic = {
+            .max_leaf = CPUID_GUEST_NR_BASIC - 1,
+            .xsave = true,
+        },
+        .feat.max_subleaf = CPUID_GUEST_NR_FEAT - 1,
+        .extd.max_leaf = 0x80000000 + CPUID_GUEST_NR_EXTD - 1,
+    };
+    static const struct test {
+        const char *name;
+        uint32_t leaf, subleaf;
+        size_t offset;
+    } tests[] = {
+        /* Test fetch different leaves. */
+        {
+            .name = "Fetch basic leaf",
+            .offset = offsetof(struct cpuid_policy, basic.raw[0]),
+        },
+        {
+            .name = "Fetch cache leaf",
+            .leaf = 0x4,
+            .offset = offsetof(struct cpuid_policy, cache.raw[0]),
+        },
+        {
+            .name = "Fetch feature leaf",
+            .leaf = 0x7,
+            .offset = offsetof(struct cpuid_policy, feat.raw[0]),
+        },
+        {
+            .name = "Fetch Topo leaf",
+            .leaf = 0xb,
+            .offset = offsetof(struct cpuid_policy, topo.raw[0]),
+        },
+        {
+            .name = "Fetch Xstate leaf",
+            .leaf = 0xd,
+            .offset = offsetof(struct cpuid_policy, xstate.raw[0]),
+        },
+        {
+            .name = "Fetch extended leaf",
+            .leaf = 0x80000000,
+            .offset = offsetof(struct cpuid_policy, extd.raw[0]),
+        },
+    };
+    const struct cpuid_policy *p = memdup(&policy);
+
+    printf("Testing CPUID get leaf:\n");
+
+    for ( size_t i = 0; i < ARRAY_SIZE(tests); ++i )
+    {
+        const struct test *t = &tests[i];
+        const struct cpuid_leaf *l = x86_cpuid_get_leaf_const(p, t->leaf,
+                                                              t->subleaf);
+
+        if ( l != (const void *)p + t->offset )
+            fail("  Test %s get leaf fail\n", t->name);
+    }
+}
+
 static void test_is_compatible_success(void)
 {
     static struct test {
@@ -685,6 +860,8 @@ int main(int argc, char **argv)
     test_cpuid_serialise_success();
     test_cpuid_deserialise_failure();
     test_cpuid_out_of_range_clearing();
+    test_cpuid_get_leaf_failure();
+    test_cpuid_get_leaf();
 
     test_msr_serialise_success();
     test_msr_deserialise_failure();
diff --git a/xen/arch/x86/cpuid.c b/xen/arch/x86/cpuid.c
index b5af48324a..0407a54626 100644
--- a/xen/arch/x86/cpuid.c
+++ b/xen/arch/x86/cpuid.c
@@ -825,48 +825,16 @@ void guest_cpuid(const struct vcpu *v, uint32_t leaf,
     switch ( leaf )
     {
     case 0 ... CPUID_GUEST_NR_BASIC - 1:
-        ASSERT(p->basic.max_leaf < ARRAY_SIZE(p->basic.raw));
-        if ( leaf > min_t(uint32_t, p->basic.max_leaf,
-                          ARRAY_SIZE(p->basic.raw) - 1) )
-            return;
-
-        switch ( leaf )
-        {
-        case 0x4:
-            if ( subleaf >= ARRAY_SIZE(p->cache.raw) )
-                return;
-
-            *res = array_access_nospec(p->cache.raw, subleaf);
-            break;
-
-        case 0x7:
-            ASSERT(p->feat.max_subleaf < ARRAY_SIZE(p->feat.raw));
-            if ( subleaf > min_t(uint32_t, p->feat.max_subleaf,
-                                 ARRAY_SIZE(p->feat.raw) - 1) )
-                return;
-
-            *res = array_access_nospec(p->feat.raw, subleaf);
-            break;
-
-        case 0xb:
-            if ( subleaf >= ARRAY_SIZE(p->topo.raw) )
-                return;
-
-            *res = array_access_nospec(p->topo.raw, subleaf);
-            break;
-
-        case XSTATE_CPUID:
-            if ( !p->basic.xsave || subleaf >= ARRAY_SIZE(p->xstate.raw) )
-                return;
+    case 0x80000000 ... 0x80000000 + CPUID_GUEST_NR_EXTD - 1:
+    {
+        const struct cpuid_leaf *tmp = x86_cpuid_get_leaf(p, leaf, subleaf);
 
-            *res = array_access_nospec(p->xstate.raw, subleaf);
-            break;
+        if ( !tmp )
+            return;
 
-        default:
-            *res = array_access_nospec(p->basic.raw, leaf);
-            break;
-        }
+        *res = *tmp;
         break;
+    }
 
     case 0x40000000 ... 0x400000ff:
         if ( is_viridian_domain(d) )
@@ -881,15 +849,6 @@ void guest_cpuid(const struct vcpu *v, uint32_t leaf,
     case 0x40000100 ... 0x400001ff:
         return cpuid_hypervisor_leaves(v, leaf, subleaf, res);
 
-    case 0x80000000 ... 0x80000000 + CPUID_GUEST_NR_EXTD - 1:
-        ASSERT((p->extd.max_leaf & 0xffff) < ARRAY_SIZE(p->extd.raw));
-        if ( (leaf & 0xffff) > min_t(uint32_t, p->extd.max_leaf & 0xffff,
-                                     ARRAY_SIZE(p->extd.raw) - 1) )
-            return;
-
-        *res = array_access_nospec(p->extd.raw, leaf & 0xffff);
-        break;
-
     default:
         return;
     }
diff --git a/xen/include/xen/lib/x86/cpuid.h b/xen/include/xen/lib/x86/cpuid.h
index a4d254ea96..050cd4f9d1 100644
--- a/xen/include/xen/lib/x86/cpuid.h
+++ b/xen/include/xen/lib/x86/cpuid.h
@@ -431,6 +431,25 @@ int x86_cpuid_copy_from_buffer(struct cpuid_policy *policy,
                                uint32_t nr_entries, uint32_t *err_leaf,
                                uint32_t *err_subleaf);
 
+/**
+ * Get a cpuid leaf from a policy object.
+ *
+ * @param policy      The cpuid_policy object.
+ * @param leaf        The leaf index.
+ * @param subleaf     The subleaf index.
+ * @returns a pointer to the requested leaf or NULL in case of error.
+ *
+ * The function will perform out of bound checks. Do not call this function
+ * directly and instead use x86_cpuid_get_leaf that will deal with both const
+ * and non-const policies returning a pointer with constness matching that of
+ * the input.
+ */
+const struct cpuid_leaf *x86_cpuid_get_leaf_const(const struct cpuid_policy *p,
+                                                  uint32_t leaf,
+                                                  uint32_t subleaf);
+#define x86_cpuid_get_leaf(p, l, s) \
+    ((__typeof__(&(p)->basic.raw[0]))x86_cpuid_get_leaf_const(p, l, s))
+
 #endif /* !XEN_LIB_X86_CPUID_H */
 
 /*
diff --git a/xen/lib/x86/cpuid.c b/xen/lib/x86/cpuid.c
index 8eb88314f5..924f882fc4 100644
--- a/xen/lib/x86/cpuid.c
+++ b/xen/lib/x86/cpuid.c
@@ -493,6 +493,58 @@ int x86_cpuid_copy_from_buffer(struct cpuid_policy *p,
     return -ERANGE;
 }
 
+const struct cpuid_leaf *x86_cpuid_get_leaf_const(const struct cpuid_policy *p,
+                                                  uint32_t leaf,
+                                                  uint32_t subleaf)
+{
+    switch ( leaf )
+    {
+    case 0 ... CPUID_GUEST_NR_BASIC - 1:
+        if ( p->basic.max_leaf >= ARRAY_SIZE(p->basic.raw) ||
+             leaf > p->basic.max_leaf )
+            return NULL;
+
+        switch ( leaf )
+        {
+        case 0x4:
+            if ( subleaf >= ARRAY_SIZE(p->cache.raw) )
+                return NULL;
+
+            return &array_access_nospec(p->cache.raw, subleaf);
+
+        case 0x7:
+            if ( p->feat.max_subleaf >= ARRAY_SIZE(p->feat.raw) ||
+                 subleaf > p->feat.max_subleaf )
+                return NULL;
+
+            return &array_access_nospec(p->feat.raw, subleaf);
+
+        case 0xb:
+            if ( subleaf >= ARRAY_SIZE(p->topo.raw) )
+                return NULL;
+
+            return &array_access_nospec(p->topo.raw, subleaf);
+
+        case 0xd:
+            if ( !p->basic.xsave || subleaf >= ARRAY_SIZE(p->xstate.raw) )
+                return NULL;
+
+            return &array_access_nospec(p->xstate.raw, subleaf);
+        }
+
+        return &array_access_nospec(p->basic.raw, leaf);
+
+    case 0x80000000 ... 0x80000000 + CPUID_GUEST_NR_EXTD - 1:
+        if ( (p->extd.max_leaf & 0xffff) >= ARRAY_SIZE(p->extd.raw) ||
+             leaf > p->extd.max_leaf )
+            return NULL;
+
+        return &array_access_nospec(p->extd.raw, leaf & 0xffff);
+    }
+
+    return NULL;
+}
+
 /*
  * Local variables:
  * mode: C
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 14:50:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 14:50:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260403.449825 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCN8z-0003hb-L3; Tue, 25 Jan 2022 14:50:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260403.449825; Tue, 25 Jan 2022 14: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 1nCN8z-0003h2-Hl; Tue, 25 Jan 2022 14:50:01 +0000
Received: by outflank-mailman (input) for mailman id 260403;
 Tue, 25 Jan 2022 14:49:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nUgY=SJ=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nCN8x-000334-Jk
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 14:49:59 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f7a9aab0-7ded-11ec-bc18-3156f6d857e4;
 Tue, 25 Jan 2022 15:49:17 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f7a9aab0-7ded-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643122198;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=VpIw3Iq9GpeagSxrveN9vHOVlpdiutzDZnZ/jcnm40M=;
  b=QMnwJdTN6254+JHPxTy5BI2aAUgWXZJvrw5Dwalf3QhRcmp0ykiyEqJo
   I5huauGS9or1XvT+WNfcRPD4dM3C8bppYxVPnAyMkNsedVjqAlUXuX3QO
   0HJEQozCr7YGDoZPb71tfSKgChpQpxVLKmVebtVPCaUkCiU8fVOh9qfeR
   E=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: KutWxlx6cZDbxosUtTTMvCbcP+A817KsCd+UKyrif3/SBhSu04DB5S1Pk/77mG4Ad8hWr+Uwpv
 c2XAna6ZZzRlCeYf0WRXzVcxCmKo9HQ0cP/DjTIC8mg4U3e67gW2fuFk2G5q5qKKH7fPY9XQpe
 qwoQ6bPZ5UaJXnI/S2JBjfqf0yFTAjI8ZI4nRDp6ucAG3vNdbXQ7QKScOLjVejTs5+dZtlC/G8
 QbihNus5HrwoYltSI5ijnrM11RbNxshHPW9j0JMpTZkG/DN+hruirG2/MTqyHVrLAD5LbF7iM7
 SYHcLFvPW9S3BYAhiawwqgZ+
X-SBRS: 5.2
X-MesageID: 62186664
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:n1K4vK+PyaFYpYv+kpBeDrUDcXmTJUtcMsCJ2f8bNWPcYEJGY0x3x
 jMWWD2AM/+IZGSgfIolad60/RsCu5eBmtExGQVk/no8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7dj39Yy6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPhh7
 /pd77uJQD4iN/T9k/szUDZ0Ky1haPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguw5K8bmJsUHs2xIxjDFF/c2B5vERs0m4PcGhm5g2J4QQZ4yY
 eIHNTFSNEvHPCYWYHkaNM8Clu61gnDWJmgwRFW9+vNsvjm7IBZK+LriKt3OYfSRWN5Y2E2fo
 wru/W70HxUbP9y30iee/zSngeqntTP2XsceGaO18tZugUaP3SoDBRsOT1y5rPKlzEmkVLp3N
 Eg86ico668o+ySWosLVBkPi5iTe51hFBoQWQ7ZSBByxJrT88yG2FjIjdzd4Y9V/hcQpaz8F+
 meFgIa8bdBwi4G9RXWY/7aSiDq9PykJMGMPDRM5oRs5D8rL+99q0E+WJjp3OOvs14CuR2msq
 9yfhHVm390uYdg3O7JXFLwtqxalvdD3QwE8/W07tUr1v1oiNOZJi2FFgGU3DMqszq7EFjFtX
 1BewqByCdzi67nXyERhp81WRNmUCw6tamG0vLKWN8BJG86R03CiZ5tMxzp1OV1kNM0JERewP
 hOI4V8Au8ANbSryBUOSX25XI552pUQHPY+9Ps04k/IUOsQhHON51H8GibGsM5DFzxF3zPBX1
 WazesewF3cKYZmLPxLtL9rxJYQDn3hkrUuKHMiT503+jdK2OSDJIZ9YbgrmRr1pvcus/VSOm
 /4CZpTi9vmqeLCkCsUh2dRNfQliwLlSLc2elvG7gcbaclM5QzlwUqGIqV7jEqQ895loei7z1
 ijVcmdTyUblhG2BLgOPa3t5b6joU4o5pnU+VRHA937ys5T6SYrwvqoZabUterwrqL5qwfJuF
 qFXcMScGPVfDD/A/m1FP5X6qYVjcjWthB6PYHX5MGRuIcY4Slyb4MLgcyvu6DIKUni9u/whr
 uDyzQjcW5cCGVhvVZ6EdPK1wlqtlnEBg+YuDVDQK9xedRy0oohnIiD8lNEtJMQIJUmRzzeWz
 V/OUxwZufPMs8k+99yQ3fKIqIKgEu1fGEtGHjaEsebqZHeCpmf6mN1OSueFezzZRVjYwqT6a
 LUH1ez4Pd0GgE1O79h2HYF0wP9s/NDovbJbkFhpRS2Zc1SxB7p8CXCaxs0T5LZVz7pUtAbqC
 EKC/t5WZeeANM//SQNDIQMkaqKI1O0OmymU5vMweR2o6Chy9buBcENTIxjT13ANcOoraNsok
 bU7pcobyw2jkR57YN+Jgxdd+3mIMnFdAb4ssYsXAdOzhwcmor2YjUcw1sMiDEmzVuhx
IronPort-HdrOrdr: A9a23:YRZN+6uFYIXx8MelPqwtpia+7skC7oMji2hC6mlwRA09TyXGra
 +TdaUguSMc1gx9ZJhBo7G90KnpewK5yXcT2/hsAV7CZniahILMFu9fBOTZslvd8kHFh4xgPO
 JbAtND4b7LfClHZKTBkXCF+r8bqbHtmsDY5ts2jU0dNz2CA5sQkTuRYTzrdXGeKjM2YKbQQ/
 Gnl7V6TnebCD8qR/X+IkNAc/nIptXNmp6jSRkaByQ/4A3LqT+z8rb1HzWRwx9bClp0sPof2F
 mAtza8yrSosvm9xBOZ/2jP765OkN+k7tdYHsSDhuUcNz2poAe1Y4ZKXaGEoVkO0auSwWdvtO
 OJjwYrPsx15X+UVmapoSH10w2l6zoq42+K8y7vvVLT5ejCAB4qActIgoxUNjHD7VA7gd162K
 VXm0qEqpt+F3r77WrAzumNcysvulu/oHIkn+JWpWdYS5EiZLhYqpFa1F9JEa0HADnx5OkcYa
 ZT5fnnlbZrmG6hHjPkVjEF+q3vYp1zJGbLfqE6gL3V79AM90oJinfxx6Qk7wA9HdwGOt15Dt
 //Q9dVfYd1P7srhJJGdZc8qPSMex7wqGr3QRqvyHTcZeg60iH22tbKCItc3pDeRHVP9up0pK
 j8
X-IronPort-AV: E=Sophos;i="5.88,315,1635220800"; 
   d="scan'208";a="62186664"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DlMh7iq6qrR0Jc28xd8xMJqvfVnuOvcqUypXjCjrjUf1xWuUspXySDMC4dZtmfd7iKz/7m+1hvQqMw0t0PF3JyFZerGVD2F812omdQOd9aLFK+zaG2wIg81AU07HjfEnpmriifcVSfccSohIBmOB3rWBVSFOjE5LFcoJzHtSXMEnmZS1q2F7Ruu9bnifpObs5AqzOjSe00sWEws+2GBhHiOi1dNK5fDRCyGXfuE5g7kJ7tDdV4vqt04KC7FdOzlZfEDHsedzPU7j7+eEPyt+Pl9NTUtsqwMS4qi9zlmRI7mtHPNIlTJhCtoIr/LfXK+8vcYQIOMXKA9TAUgCh1VPgA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KZ0k7g5jZeIdNY9/Tfsnttg1bIIKhfsWZFaLo0n4ZLI=;
 b=oahEqM1ilqGjNxMj8Rx0iBTC3DdEhW53Kvoocyu87tzeVNBLrd92OZWF2xgch6wahm2x6cDSyTRf5/E0zjAlnSjar2TQ1ZEvxbF1+1ZLZfdSc9p3PZ0E+P0NStRSYkT96LaRAzAU7CYF8pnP+33EIsKp8vdkh1yzxYf4/sGj27b0//fuYgbw/pFQkloIOJLAwMN0f0laG9rx9QTftzO69JeAguhstCQ2uYQbW2vfO/jp1DfkRtdCJnqz9sndnF9HV0g5glp36WoXy2DA5zNs+K2I3IdG2DastMy/jcMwVGSRLHMBrZze/Da1WovAnVc9jou9bp5Q0tCjwvzLVPy+MA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KZ0k7g5jZeIdNY9/Tfsnttg1bIIKhfsWZFaLo0n4ZLI=;
 b=V3DvSRB+QwN+NYGxiAbCYufEA57OYRVu14/GH4ZPgd1OYI+s9Oa8S+VbQs8b/jcBJl+ehhRTPnZ2QoUF/+9TGfYuIzIe/RAFIemQA8JoUUuSTIYpmUI60ea5fwTNoQBwrv9TT2mQSQfNg9pbrMSQu1IaeF06dbgk5WplnAkVN1Y=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Anthony
 PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, Jan
 Beulich <jbeulich@suse.com>
Subject: [PATCH v7 02/11] libs/guest: allow fetching a specific CPUID leaf from a cpu policy
Date: Tue, 25 Jan 2022 15:49:26 +0100
Message-ID: <20220125144935.44394-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125144935.44394-1-roger.pau@citrix.com>
References: <20220125144935.44394-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MR2P264CA0031.FRAP264.PROD.OUTLOOK.COM (2603:10a6:500::19)
 To DS7PR03MB5608.namprd03.prod.outlook.com (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a563ffa1-de73-47f5-b150-08d9e011f21d
X-MS-TrafficTypeDiagnostic: BYAPR03MB4568:EE_
X-Microsoft-Antispam-PRVS: <BYAPR03MB4568F810991D13DAF808B1C28F5F9@BYAPR03MB4568.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: GRJtmmYiCiNso+noPRCHq1mcwjsayI1NpwyOhhpnmTtQMqXsoGiWltuni/XaPmr86i9zObKlPwaErIOrx5c/UoSrH3OrxclskJ0RNig9aXhLEvbIUGGnMPiO4IGQeis0yQp6uhYUueaL3ILt2hcSt4PXNEqwfK7N+OeUxHuXrfevExGgEXuCZYFhy8yNRsWWVSIt3dSOemrGsHS6EMCOAAlWMrENOyq8aQmwZ4PpU4FnBGpzVs4ZmIfhEYrRoB9AOzOZC4GIcnLnJOwtmov0W1B8SOtsmOMF2Fm6LVabSMhb6pvZYj5Htao4JDLVRXxPOsU3PpbbE7glo3BtqCsslRjKblWvRG8bZwivBQqmVa3nwclOUT4vgHuHVfNK3rDRXces+5D9pMZX0BtJc9xwOfO1vI8E6YWgm5nQIgXokhLWKRfA0aBYj23z4Pv/wWyWSDB30GreaeRiFkRVf9+QmDVFuPRaCoyBz4CD47am78PBQowwb0WFyVQ58y8zDIeIhjD7Wy4fMp04XREw/RPEeqjYlJHXhl6eCKMDEWddJ18bgwFaScziaYnk9XTSeayjwdfxZ9JmXD9M7HlgfrvoHXarNOtj4vzx+NkMXLAep+vIBugPJWJLkmzvFczCNW/y2kcR1RVdAbAy/68p5vJCbQ==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(4326008)(8676002)(26005)(1076003)(2616005)(6512007)(508600001)(6916009)(83380400001)(54906003)(36756003)(2906002)(316002)(8936002)(66476007)(5660300002)(86362001)(6506007)(82960400001)(66556008)(6666004)(186003)(66946007)(6486002)(38100700002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Z0VFblRGWkcxUVlpb0FpUTNpL3VGck9XYjdnKzlKSXhzRFhpVXhvMXRiZm41?=
 =?utf-8?B?ZVVHNTlvNVJYWVM1RkFSN2JQSDBQTExFaDJ6RCsxRVJieU1yNDlUWG5EZmZZ?=
 =?utf-8?B?SStGOXNnQkVQd2JNYU1sSnBqOEdYTnVHODN2amhWSEVjQUIyUEwrMDh2cUZG?=
 =?utf-8?B?SUtsa3BlcjNEeWwvTHdKRm9QMjRNS0ZFcURnSTdzb1h0TkRIZm9sQ3ZYVUxB?=
 =?utf-8?B?VVhKNVk5c2FEOUNKQThhYVI4MVF6ZmllSGZXZU5OdGpHd1hIRHRiVmxvb0NT?=
 =?utf-8?B?OXBGNmhSV0RWaHpyRnZmcmhEZmFucURPNWdJam03UWk3M3NWK3BjTWdEOUpn?=
 =?utf-8?B?SWdFdXZNbW82eFk4YVZXT3Y4bGFjUmQxODJHeUpnaWZFR3dYRDFmZHFRTndi?=
 =?utf-8?B?U2prMEhrcm1JdUdVMlBlQW9OcDJ5NzNWdU9GNHgrcXhJYnlnRHdObFp3VkZ4?=
 =?utf-8?B?Y1JwS29qNW56MlRqWnFKazlkU0RXcnYxVm1LRDY4OWk2aWpvcXJ6eTZXcVRG?=
 =?utf-8?B?U2lxYllhNzZsWGdCNmxIUW56U0RtbTBqaGdSQlE4VnF4bHE5Y3NEZTR6WTlL?=
 =?utf-8?B?SVN4ZkR3RDBNT3pLU203RFAwaDhQVzk4c29PTDVhMitqQkxBLzRaS0VPVHdF?=
 =?utf-8?B?ME84U0lxaktPRDJPSGZRQkRCWDVFMnN3K0kvU3h3cEJ6UjNOUzBPQmIvZ0lS?=
 =?utf-8?B?WXVSdE5tb0xkcVg1cjBvWnhvb3I4a1VkKzZKSDFHbUlXd1ZYekJWWHVweFVB?=
 =?utf-8?B?OVB2d0d2NmNiK3VXcVB6VFBjUFEzdHpQbEIwbktIclJXY21QMGo2MjJhaldy?=
 =?utf-8?B?Z2ltZlk0NzdZVHRVaFg3eTFYdEtzUXlSeHNTN0JDWlhnM2VkbmM5V3RCQSs1?=
 =?utf-8?B?bDZCUk9wdzIwTXRNWHcwNkpWbTlMbnI5QVdGaWZreTQ2akk4bVh4R3diV1Fs?=
 =?utf-8?B?V2ZGRUhnRW5IUmx0ckR4Z1U5L3pQNFRqYmNnTUVtUzJ2aFVLQS95NnVlK1Uw?=
 =?utf-8?B?bDNicWd5eC85SjVUbU5HeGNoQzBhSjBWcllWZnE0bXRxSEk1clNnTnFCclB6?=
 =?utf-8?B?Zng1cFRjdFJPcGRMU3ZZNFp1MDFnQS9HdjcvbXF6Y3BDOUxqWmlFTFZFaTc3?=
 =?utf-8?B?SHJ0VVVKbUdFR3ZpcVZUTVI2a1FpcjJHVU5ZeVZKQTY5blVlN3drSUNJNlZZ?=
 =?utf-8?B?TkcwcFlpTUUyVUNZcklieFVmMlNiaXZ3QU9xS2oxN0o5ZDBHMTVBRmFiTUxH?=
 =?utf-8?B?b0FoK3FsU3pWOWNia2ovQjRiUXA3cExLdFhJMmtIcmIyUzVJWm1HV2k2OTZi?=
 =?utf-8?B?U0hSZXRYWHRTdFkrYmY1UVJ4b1NnWTJZWmpxelBKVnM0OG1JRUg0TTZHcFdQ?=
 =?utf-8?B?TWZadW5ZQ1VuQ2JGZ2swcDBBSU9XK2V3cTg0NUdJV09wcDJneHZva0dZRUFE?=
 =?utf-8?B?cHdZQ1lwektma1RsbnFBMEs4UVYxb1FLamZCeElFRlFrSFBRbWMreEszQ09x?=
 =?utf-8?B?UjBzU2pxQ3h4TVVGejU5ZkhTTzhPanhwcldHRVhpdVVuNGRXRGxCYkRlSWlh?=
 =?utf-8?B?dzh3L29LMUJIN3p3ZFB6N2VFTTl6NXhtWUZCZS96eDZScUFQbnFERXVWQUIv?=
 =?utf-8?B?WUpLbG4vVnZ2M01kVEozZ1FaR3hDUHNPd3d5NzJ0YlduSjA5UzQyTHlQQk8x?=
 =?utf-8?B?ZFF2dUhuMFhEc2tGWXQwM1pOQlNTd0Rxa0NaajY2NGZ0cDFwSlhsMHV1ZEh5?=
 =?utf-8?B?blRidzRTR3NEM000UzF6aVNlNmc0cmJnUG5SdmJNaDBBR1Y2MXR2ekw1YlFq?=
 =?utf-8?B?dkJGY1RzT2VhaDBzRnFLZ3I4enk3WUFrWWZFLzVyb1AzMExKUjRHMzZ6MHdW?=
 =?utf-8?B?RmtiS2dhREM2aVdXdm5ibXVJOWJYejBnMVFLMXdDR3BVMWlGaG1pVjRZdk14?=
 =?utf-8?B?RXpXbFBvUm8rc256UWQ3R1FhWmFGWlg1WE5zU2VEbC9uRzQzSmc0bHhKTTh1?=
 =?utf-8?B?T09WUlRDczk3aVVhb080NmtURTl1dkRKU29ScjNqc2VOS1lSVHhMdnJJRXhk?=
 =?utf-8?B?ZkgzUmJnZjRqNTVrc2FrcHNJNy9Ua21MWmdOWUM5RUFLVFpESTNnSWYvZVY4?=
 =?utf-8?B?N0wwLzI1Q3dxVDNDWi84WU5sTlBCQXdsQUJMa3pzN2JmVDNaYUtDek9PN0xu?=
 =?utf-8?Q?/j27UNBQzo6d+bVzHZqn/1Q=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: a563ffa1-de73-47f5-b150-08d9e011f21d
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 14:49:53.1827
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: KZiwJMZsxq/zSXQx0yhlitCEv/3tHLDtyDU/ld3fjVHdFUT+3lw72ze3Yg2g0x5mgWXFxFJIk8n5FT+GDPTwpw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB4568
X-OriginatorOrg: citrix.com

Introduce an interface that returns a specific leaf/subleaf from a cpu
policy in xen_cpuid_leaf_t format.

This is useful to callers can peek data from the opaque
xc_cpu_policy_t type.

No caller of the interface introduced on this patch.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes since v6:
 - Add newline before return.

Changes since v5:
 - Zero out parameter.

Changes since v3:
 - Use x86_cpuid_get_leaf.

Changes since v1:
 - Use find leaf.
---
 tools/include/xenguest.h        |  3 +++
 tools/libs/guest/xg_cpuid_x86.c | 26 ++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)

diff --git a/tools/include/xenguest.h b/tools/include/xenguest.h
index e01f494b77..0a6fd99306 100644
--- a/tools/include/xenguest.h
+++ b/tools/include/xenguest.h
@@ -807,6 +807,9 @@ int xc_cpu_policy_update_cpuid(xc_interface *xch, xc_cpu_policy_t *policy,
                                uint32_t nr);
 int xc_cpu_policy_update_msrs(xc_interface *xch, xc_cpu_policy_t *policy,
                               const xen_msr_entry_t *msrs, uint32_t nr);
+int xc_cpu_policy_get_cpuid(xc_interface *xch, const xc_cpu_policy_t *policy,
+                            uint32_t leaf, uint32_t subleaf,
+                            xen_cpuid_leaf_t *out);
 
 /* Compatibility calculations. */
 bool xc_cpu_policy_is_compatible(xc_interface *xch, xc_cpu_policy_t *host,
diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
index b9e827ce7e..ad6b349680 100644
--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -855,6 +855,32 @@ int xc_cpu_policy_update_msrs(xc_interface *xch, xc_cpu_policy_t *policy,
     return rc;
 }
 
+int xc_cpu_policy_get_cpuid(xc_interface *xch, const xc_cpu_policy_t *policy,
+                            uint32_t leaf, uint32_t subleaf,
+                            xen_cpuid_leaf_t *out)
+{
+    const struct cpuid_leaf *tmp;
+
+    *out = (xen_cpuid_leaf_t){};
+
+    tmp = x86_cpuid_get_leaf(&policy->cpuid, leaf, subleaf);
+    if ( !tmp )
+    {
+        /* Unable to find a matching leaf. */
+        errno = ENOENT;
+        return -1;
+    }
+
+    out->leaf = leaf;
+    out->subleaf = subleaf;
+    out->a = tmp->a;
+    out->b = tmp->b;
+    out->c = tmp->c;
+    out->d = tmp->d;
+
+    return 0;
+}
+
 bool xc_cpu_policy_is_compatible(xc_interface *xch, xc_cpu_policy_t *host,
                                  xc_cpu_policy_t *guest)
 {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 14:50:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 14:50:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260404.449837 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCN95-0004ec-0m; Tue, 25 Jan 2022 14:50:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260404.449837; Tue, 25 Jan 2022 14:50:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCN94-0004dr-S5; Tue, 25 Jan 2022 14:50:06 +0000
Received: by outflank-mailman (input) for mailman id 260404;
 Tue, 25 Jan 2022 14:50:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nUgY=SJ=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nCN93-000334-9z
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 14:50:05 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fb1e3bd5-7ded-11ec-bc18-3156f6d857e4;
 Tue, 25 Jan 2022 15:49:23 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fb1e3bd5-7ded-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643122203;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=81GyJ6SBVfF8/Iszl7lMAfRV4C7DJHP49dSo/U9tyY4=;
  b=fJv6ZmG+MWH8kMVbdd7J95XL0wKSlSG2tGG0k2A8FUO3GWQtuPW35V9e
   zZfvTtx9/s4IBfI1rQAQzFYTYH+ojrCk9haMLBP96VCNSGeFsDFAaJE2D
   LNxvz+jkbjRzsqBzAiTaIIUgfo72/KiaeUlCiTFLy2cnHG3/CYDvYe7Oj
   Y=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: lGswaDTrOzUqJ/gitSxeX9vl3brfo5e6QCjJSJtXgyF00sNOeRE1ExAeYEjP199SRvLRvbRHr/
 ZZ6lQp274vTfSOXpW1C1cvWMTnEw7Caw1qlg3tnrROTyfh0GoofZuSnOlC0jELcoXxdQYiWHAI
 GJnJz0QLC4dmbEyCHKFhFftL+cCp3OPiK4vyk+Icn0SujNzQEIdohy7ODT1C6bManzqxqe8qv6
 fh/OdQDMrYwZCEuhh6QyO1boYtbGyg+wWuJhyjTHuQQsxGIK9LQhz2f3VPx1uulgBOZoEt2z+q
 diVYsj4al1jfGMJ39nElqp7e
X-SBRS: 5.2
X-MesageID: 63124312
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:Sbz3IaiGqjk6zEjm9R6dWqrmX161hhcKZh0ujC45NGQN5FlHY01je
 htvXDzQOfyPZWKnLtknb9ixpBsPvZ+Gm99nHAo9pSBjEiMb9cadCdqndUqhZCn6wu8v7a5EA
 2fyTvGacajYm1eF/k/F3oAMKRCQ7InQLlbGILes1htZGEk0GE/NtTo5w7Rj2tcy3IDja++wk
 YiaT/P3aQfNNwFcagr424rbwP+4lK2v0N+wlgVWicFj5DcypVFMZH4sDfjZw0/DaptVBoaHq
 9Prl9lVyI97EyAFUbtJmp6jGqEDryW70QKm0hK6UID66vROS7BbPg/W+5PwZG8O4whlkeydx
 /1sl8GSUlkMfZfdhfU2ECR/Nh5fD59vreqvzXiX6aR/zmXDenrohf5vEFs3LcsT/eMf7WNmr
 KJCbmpXN1ba2rzwkOnTpupE36zPKOHxO4wSoDd4xCzxBvc6W5HTBa7N4Le02R9u3ZkUQa2HP
 aL1bxJfZSzZYgJgE2wVJ8I7kcaroWulcR5h/Qf9Sa0fvDGIkV0ZPKLWGMXRUsyHQ4NShEnwj
 mDM8nn9AxoaHMeC0jfD+XWp7sffkCW+VI8MGbmQ8v9xnEbV1mEVEAcRV1awvb++kEHWZj5EA
 xVKoGx09/F0rRH1CImmN/GlnJKalj8+BvhLTch50hCQ24GX3iG8OUk2fBcUPbTKq/QKbTAt0
 1aImfbgCjpurKCZRBqhy1uEkd+hEXNLdDFfPEfoWSNAuoC++99r0nojW/4+SPbdszHjJd3nL
 9lmRgAajq5bs8ME3r7TEbvv02P1/cihouLYC2zqsoOZAuFROdbNi2+AswGzARN8wGCxFAXpU
 J8swJD20Qz2JcvR/BFhuc1UdF1T296LMSfHnXlkFIQ7+jKm9haLJN4Mu2kidRg2bJdVIVcFh
 XM/XysLuPe/21PxNcdKj3+ZUZx2ncAM6/y7PhwrUja+SscoL1LWlM2fTUWRw3rsgCARfVIXY
 v+mnTKXJS9CU8xPlWPuL89EiOND7n1gmQv7GM6qpzz6gev2TCPEEt8tbQrRBt3VGYvZ+m05B
 f4FaZvTo/ieOcWjChTqHXk7dABTciNjVMmo8qS6tIere2JbJY3oMNeIqZsJcI15haVF0ODO+
 3C2QEhDz1Tjw3bALG23hrpLMtsDhL5z8iA2OzICJ1Gt1yRxaIqj9v5HJZA2YaMm5KpoyvstF
 6sJfMCJA/JuTDXb+mtCMcmh/dI6LBn71xiTOyeFYSQke8IyTQL+5dK5LBDk8zMDD3TruJJm8
 aGgzA7SXbEKWx9mUJTNcPuqwl7o5Sodlet+UlHmON5WfEmwooFmJzao1q08It0WKAWFzTyfj
 l7EDRAdrOjLgok07NiW2vzU89b3S7NzRxMIEXPa4LC6MTjh0lCimYIQAvyVeT39VX/v/Pnwb
 +ti0PyhYuYMm0xHstQgHu8zn74+/dbmu5RT0h9gQCfQd12uB75tfiuG0M1IuvEfz7NVo1LrC
 EeG+90cMrSVIsL1VlUWIVN9POiE0PgVnBjU7Og0fxqmtHMmouLfXBUAJQSIhQxcMKBxYdEsz
 uoWscIL7xCy10gxOdGcgyEIr2mBIxTsiUn8Wk321GMztjcW9w==
IronPort-HdrOrdr: A9a23:UvEDDKmh0Dl32ONN5dEGQbTpyU7pDfO2imdD5ihNYBxZY6Wkfp
 +V8sjzhCWatN9OYh0dcLC7WJVpQRvnhPlICO4qTMiftWjdyReVxeRZjLcKrAeQYhEWmtQtsJ
 uINpIOcuEYbmIK/foSgjPIa+rIqePvmMvD6Ja8vhVQpENRGtxdBm9Ce3em+yZNNW977PQCZf
 6hDp0tnUvfRZ1bVLXwOlA1G8z44/HbnpPvZhALQzYh9Qm1lDutrJr3CQKR0BsyWy5Ghe5Kyx
 mIryXJooGY992rwB7V0GHeq7xQhdva09NGQOiBkNIcJDnAghuhIK5hR7qBljYop/zH0idmrP
 D85zMbe+hj4XLYeW+45TPrxgnbyT4rr0TvzFeJ6EGT6PDRdXYfMY5slIhZehzW5w4Lp9dnyp
 9G2Gqfqt5+EQ7AtD6V3amIazha0m6P5VYym+8aiHJSFaEEbqVKkIAZ9ERJVL8dASPB7pw9Gu
 UGNrCT2B9vSyLYU5nlhBgs/DT1NU5DWytuA3Jy9fB96gIm3EyQlCAjtYgidnRpzuNKd3AL3Z
 WCDk1SrsA9ciYhV9MLOA4we7rFNoXze2O4DIvrGyWdKEgmAQOEl3el2sR/2AmVEKZ4uKfa3q
 6xFm9liQ==
X-IronPort-AV: E=Sophos;i="5.88,315,1635220800"; 
   d="scan'208";a="63124312"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=X7XIzG7jAV6bSSF+C7LExhhE0AAmQ7FZNm3VTF0KYceySYhxdbrJ7XJejgMxP+hNj2u7Qige7j3QcQpfSzYxO3e4YsyZBwpup6pTRBLw/UkGRxRoGADfefSuy3fG8oCupz8BTb6FP90rGwymEosyFjnj/fiuE0J5KPikN0Rtb2qL/nDkPx7V4Pa5e7UNwKBh2MgUJvFgaRHgu3Wo1TNGCizRTYnJAFX93QhtyHQXe/uoAVSCrwBZeWgGWb/59VJ56dHzK0J2xpULd1FfkZTD1xXmDx2E4cljMSdY9vJU0UXhoGtRFTtJ4yIbNs+qRzQoDUB8lcCrIlWfC+LlTmKBFA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ez/oVW1DjwTHDd85Kf8eG+4Th39TrmpNJNPDRxQAGHw=;
 b=lMl/AapL+T55kMMdIP2Y2eS2NBtDa/BS+gxfcF+Svd2NInX10gy74xe1WDJBg5J4FSkLpWPYu0S494QBMUTG1EQhtKyg3HGxuPU4x6UT+c/GRc+1RSVr7nJaeBmejYi1S1vdbh9SpH5ZtpNNcXBxiZqm2gMKQQtcD5WtJpNcS3G2PMl+kNFX/qB4emh4/nHUUnV77gGxskFn41H1xI+hFKzDYzOm59sgh63M/PZn7Qn6Gc8jI+RFx5KWMGwExIkfv0wFKjT6R2dhtNdmjTGXe+iwousMnUlYZYjj49Zhes3tTmuijIL/v5x/08iKcVmcLKPasyd7AArobsmNbLWPTQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ez/oVW1DjwTHDd85Kf8eG+4Th39TrmpNJNPDRxQAGHw=;
 b=dA9jKBgXhUSXmdFOT3e+MG123USb3YHuoQzQj31zrOL+YotS4R9iByI8ChQdRTT8ngqlWUyW06m0Qta+IHs4lYw+wWT3cCEiSIHkhoMrOrcn6xGRaU8FRSwkA0Ime0HfnC0/AA+/ShYb8ExFIvKqsKWCbfJKsg4XRsf0hzIb0nc=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>, "Anthony
 PERARD" <anthony.perard@citrix.com>
Subject: [PATCH v7 03/11] libx86: introduce helper to fetch msr entry
Date: Tue, 25 Jan 2022 15:49:27 +0100
Message-ID: <20220125144935.44394-4-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125144935.44394-1-roger.pau@citrix.com>
References: <20220125144935.44394-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MR1P264CA0087.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:3f::25) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 55617b6e-304e-4841-ee19-08d9e011f551
X-MS-TrafficTypeDiagnostic: BYAPR03MB4568:EE_
X-Microsoft-Antispam-PRVS: <BYAPR03MB456871EAB02C464AF099A9758F5F9@BYAPR03MB4568.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: zCXdHCWs9thxwwxO2ipb5J0hw57wvBmOvj/IAy6wS8zw2ffQZeWefhtCnIwbW78sa0xwm1jfR95xSSPrbtxYpZV2pAnKem48gLZl6VKHBSaXCnJW3KZEVHL6FsBS2IrrQkEvAFwT2szeQZX/L44zo4woaXDUi21gow3Hc4AFF3fX+0g3U5UuLGCutI8z/b5R8tt9Sptsb4YiNg0y5i8dTH1Pa8IoGu6c55PemZehhg24NTwZ70w+jbdJ1CNW7c09ZspQuGFw4q/ORcYqpZQYbYWrTYXsFPB72tjl3yQtBawqL1x029PB2NWoR9hI1FHks9+GKcD4PN1VCRdbQNgXHy2CD7GO1dQxE3d67zDQixbwlz6lCS7XXj6i/tM28U/sKtd2CePOGfDeIUGKEQPqPGfK/QDBdL2u3IfS1OED2LNn943B4Y6loFjUZE8N/mxD/+aI2Y0YDcihlhwgDwmySjwDyVhA5c48RWtmIdrczbJwmYPAfq1XWvw8bMQDiXHYHOpY70rhZuTVIfK+PMA22aPdGjbmoTXwRZG8Vj5qB+ebvZuEBZ0Op5sNsnZoB1ZlZOcpdJUI/pPf9l+Ubu+XojGDKJPJWqOdoK2qcNevbiSN4v7Wk6i1/Iv99JwCalAEbMIVBxXu4RWuXXTP9lCnXD2mfoLQxtZb9+6X+G0t8eFlZ8kzlcXiZAB1dqySDzj8ENXxqCvmS78UQlAFZNaiEA==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(4326008)(8676002)(26005)(1076003)(2616005)(6512007)(508600001)(6916009)(107886003)(83380400001)(54906003)(36756003)(2906002)(316002)(8936002)(66476007)(5660300002)(86362001)(6506007)(82960400001)(66556008)(6666004)(186003)(66946007)(6486002)(38100700002)(309714004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NW81SzJ6WjFFYVJKc2M3blZpTWVCQ3FSdUxoS0R4MGpPSnpFUGw0Ui9XRHV0?=
 =?utf-8?B?RlF4U1dER0VrSlVkUGNSUkgwVGgwd1dIWEZRdDhwUTcwYXNNTUp1Ujg1dzcw?=
 =?utf-8?B?UFdLOWRXMUo4S2JmYzI5blhQdkZZbVFDRlh4QUkwR3FLRnNSWTBSd3lHWEgv?=
 =?utf-8?B?RlNIZ3g0VzJCNWJBRitCNFc0UnZ1dGFBMlZsVENmSHNSd0p2SmRONmJ0dDJm?=
 =?utf-8?B?QVVKb2lQTlBNOUJiMDdNSmZtdnNxOStpL0RxUXBhNjNYcml1aVBHWVNMVjlk?=
 =?utf-8?B?UzA0NXBmT3RhY1JQa0dmZXB0a0tzbVV4RStXR2FLYW1SMUdPa1ljd1BKNUhw?=
 =?utf-8?B?WTFLUnB4NzZreExKMkgyYmtTeTVxQnNNc0NmeXBFMS9BQ3QxS1VFSEZOSFZ2?=
 =?utf-8?B?U2RsWjhkVG9nUXhBeW10K05Qc2QrOXEzeUFmZHFpQ3U5MVphQy91c1VxM0Nl?=
 =?utf-8?B?ZWc0Y2ZZNHZQTXlqNmFCYzhnVWk2bVgrR2diVGU3cjhoZVN6RVNGNDY5b2Zk?=
 =?utf-8?B?dndXa2NPYWJzVVQweVZjd3RjSUdOOUppOWZnT3Q0UGJJSEgxRG5qYUo1aGhE?=
 =?utf-8?B?WWlKZUI3UlJJMGpSWnlPaW5uLzVJOTRqUzVLOVVibEZFbkpRanE4Wkc5dEhC?=
 =?utf-8?B?Qkk3R0k2UmRrZW02MXdvZXVjM2I5Q2JtckRpSVlrY25YOTNiajVIT09Da1g5?=
 =?utf-8?B?UE1hUy9wQ1lDWkpQUWtQODEvUi9lTkN5QW1LY3VnWUZxbXNUN0w5OUd6cnRy?=
 =?utf-8?B?WGxpcTVCTHNZaVFFbnNlei9LQlVhTXQwb09JYnRnVG1xMkVTVEx3UnR6NFU5?=
 =?utf-8?B?WWU4c3lQOWNLU3pMMkV4WWs0L0xtWDk5WDczc1N6Ym0zU1REZ1IxeXpIbE9I?=
 =?utf-8?B?RTVUUElLSC9tMGJTL2hTTlNJYXlLbDY4RVFTaHo1VGRrS2VLNkZnbXdsU21r?=
 =?utf-8?B?Uk5SL0hrVVltTjNaV0xwTitWVGFnS1NYbTM2cEVqQXpKZnpaRnF5MitFZHVr?=
 =?utf-8?B?VjZHMm40Y0l6VDFwcjRFNFlaR2s3TWYrLzIvaHZtSVNpNjZtR2QxOWNOVGY4?=
 =?utf-8?B?YWRhSjRRYzNHT3JpOEhNZmRDZE4yWkpoSFpsYituWW0rTE5VazlvV0xxTEhX?=
 =?utf-8?B?TFE5dk1UVHRYUUxTb3NydjdZeHUrYWZqUldVV24rb0NXY1ZmcnJRQzdtSGtu?=
 =?utf-8?B?UGlaV0dGZUdMVWVVdWNVY3Z5WDlTRGZiNGZTWDEwS2M1TUNmREJnZ0ZhSnVi?=
 =?utf-8?B?NVYzVElic3dDb2JRYmd0VC9jY0oxMzVCbWZZVVgzUWszVkpQRzRRcW8ybmRm?=
 =?utf-8?B?VExDSmx3UHUxc1lDdTlPMzQ3aEExc3lxSVJFNXJLbW1FMFptUm41Qks0WFNQ?=
 =?utf-8?B?bXlIc1owcVZsVWIyTnJCdG9tSGIrVEpTSTNjZlBwR25hZS9RM2V6Qnc1czJh?=
 =?utf-8?B?T2dacjhZSms2bEtjdE5IUWk1d1NndEJUL1RjdS9FTVRZK2krdTZDaDFreGRN?=
 =?utf-8?B?K0N0b2JFQzg4dHJTV1lKUFdXRTAwWVp4bDkzek8wdXZFL28rT1IvTXZndVlj?=
 =?utf-8?B?Mk9GMXRlNmFldjNtWFBwN21LSVozZGtOa3Npc2FiMVlzWmlKdFY5c1l6NE5Y?=
 =?utf-8?B?c214WFV1SUMwc0VIbEFmdGw5NFdxdlllblhkNG5nVUg2RGtvNnJHMG1wcTIx?=
 =?utf-8?B?OUlubndQMWQ0TWovdFoyVjNaeTFGbU42QUY5NjhzVGpqV0VXclBQbVZrV3ZU?=
 =?utf-8?B?M2RLY2FGdHBsMjVzczdMV21nTDBIMWVndXNHTVk5VzFBaDdmSjBQWE93K25n?=
 =?utf-8?B?S2cxU3lmVDE4eU0yWWxTZlg4WnNjenBPOENQbC9EQnpjcUI4V1E0N1dRdFBq?=
 =?utf-8?B?ZGRIVFZrWmhFbzJabXp0cUl4b2I0ZndQNGN3dGlRbzNZa2JvamVyQmdmQjBJ?=
 =?utf-8?B?SWZYRGpydGFuRDRFNDlONG1pWW92bVc5alY5Q3FaZy81NXdpRTBFcVUwMHBm?=
 =?utf-8?B?TjYrMkp5SWM3RDhPME5RS3pFSURQZlYzR0RvWFJNbDJqekgwZzBEUi9hZkgx?=
 =?utf-8?B?VWNXRGhlYWpLNm5XL3VDRUhuZy94Nlg2MmMyOE9QdUZGbmZ3a2ZmcFNsMm8x?=
 =?utf-8?B?L3IyYkp3ODlvNUx2WVpyaWhUL0RVR1IrdDJGaHhjSmJycVpzMnZsNkZIOXRk?=
 =?utf-8?Q?D4QCyI2wwSmtcPub9CPZDfE=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 55617b6e-304e-4841-ee19-08d9e011f551
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 14:49:58.5738
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: KeutIA2RLTSpED3qjNjvG6JR8UczlGllJZnBMKLwP9aBUFgRIpwsxLdX0P/EJHpuIlSjkOZOGoMu+7kovZB0pQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB4568
X-OriginatorOrg: citrix.com

Use such helper in order to replace the code in
x86_msr_copy_from_buffer. Note the introduced helper should not be
directly called and instead x86_msr_get_entry should be used that will
properly deal with const and non-const inputs.

Note this requires making the raw fields uint64_t so that it can
accommodate the maximum size of MSRs values, and in turn removing the
truncation tests.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v4:
 - Rename _x86_msr_get_entry to x86_msr_get_entry_const.
 - Add newline before endif.

Changes since v3:
 - New in this version.
---
 tools/tests/cpu-policy/test-cpu-policy.c | 48 +++++++++++++++++++-----
 xen/include/xen/lib/x86/msr.h            | 20 +++++++++-
 xen/lib/x86/msr.c                        | 41 ++++++++++----------
 3 files changed, 76 insertions(+), 33 deletions(-)

diff --git a/tools/tests/cpu-policy/test-cpu-policy.c b/tools/tests/cpu-policy/test-cpu-policy.c
index 09e4b5f528..8f51447117 100644
--- a/tools/tests/cpu-policy/test-cpu-policy.c
+++ b/tools/tests/cpu-policy/test-cpu-policy.c
@@ -387,16 +387,6 @@ static void test_msr_deserialise_failure(void)
             .msr = { .idx = 0xce, .flags = 1 },
             .rc = -EINVAL,
         },
-        {
-            .name = "truncated val",
-            .msr = { .idx = 0xce, .val = ~0ull },
-            .rc = -EOVERFLOW,
-        },
-        {
-            .name = "truncated val",
-            .msr = { .idx = 0x10a, .val = ~0ull },
-            .rc = -EOVERFLOW,
-        },
     };
 
     printf("Testing MSR deserialise failure:\n");
@@ -745,6 +735,43 @@ static void test_cpuid_get_leaf(void)
     }
 }
 
+static void test_msr_get_entry(void)
+{
+    static const struct test {
+        const char *name;
+        unsigned int idx;
+        bool success;
+    } tests[] = {
+        {
+            .name = "bad msr index",
+            .idx = -1,
+        },
+        {
+            .name = "good msr index",
+            .idx = 0xce,
+            .success = true,
+        },
+    };
+    const struct msr_policy pc;
+    const uint64_t *ec;
+    struct msr_policy p;
+    uint64_t *e;
+
+    /* Constness build test. */
+    ec = x86_msr_get_entry(&pc, 0);
+    e = x86_msr_get_entry(&p, 0);
+
+    printf("Testing MSR get leaf:\n");
+
+    for ( size_t i = 0; i < ARRAY_SIZE(tests); ++i )
+    {
+        const struct test *t = &tests[i];
+
+        if ( !!x86_msr_get_entry(&pc, t->idx) != t->success )
+            fail("  Test %s failed\n", t->name);
+    }
+}
+
 static void test_is_compatible_success(void)
 {
     static struct test {
@@ -865,6 +892,7 @@ int main(int argc, char **argv)
 
     test_msr_serialise_success();
     test_msr_deserialise_failure();
+    test_msr_get_entry();
 
     test_is_compatible_success();
     test_is_compatible_failure();
diff --git a/xen/include/xen/lib/x86/msr.h b/xen/include/xen/lib/x86/msr.h
index 48ba4a59c0..4d84b7cf27 100644
--- a/xen/include/xen/lib/x86/msr.h
+++ b/xen/include/xen/lib/x86/msr.h
@@ -17,7 +17,7 @@ struct msr_policy
      * is dependent on real hardware support.
      */
     union {
-        uint32_t raw;
+        uint64_t raw;
         struct {
             uint32_t :31;
             bool cpuid_faulting:1;
@@ -32,7 +32,7 @@ struct msr_policy
      * fixed in hardware.
      */
     union {
-        uint32_t raw;
+        uint64_t raw;
         struct {
             bool rdcl_no:1;
             bool ibrs_all:1;
@@ -91,6 +91,22 @@ int x86_msr_copy_from_buffer(struct msr_policy *policy,
                              const msr_entry_buffer_t msrs, uint32_t nr_entries,
                              uint32_t *err_msr);
 
+/**
+ * Get a MSR entry from a policy object.
+ *
+ * @param policy      The msr_policy object.
+ * @param idx         The index.
+ * @returns a pointer to the requested leaf or NULL in case of error.
+ *
+ * Do not call this function directly and instead use x86_msr_get_entry that
+ * will deal with both const and non-const policies returning a pointer with
+ * constness matching that of the input.
+ */
+const uint64_t *x86_msr_get_entry_const(const struct msr_policy *policy,
+                                        uint32_t idx);
+#define x86_msr_get_entry(p, i) \
+    ((__typeof__(&(p)->platform_info.raw))x86_msr_get_entry_const(p, i))
+
 #endif /* !XEN_LIB_X86_MSR_H */
 
 /*
diff --git a/xen/lib/x86/msr.c b/xen/lib/x86/msr.c
index 7d71e92a38..e9b337dd70 100644
--- a/xen/lib/x86/msr.c
+++ b/xen/lib/x86/msr.c
@@ -74,6 +74,8 @@ int x86_msr_copy_from_buffer(struct msr_policy *p,
 
     for ( i = 0; i < nr_entries; i++ )
     {
+        uint64_t *val;
+
         if ( copy_from_buffer_offset(&data, msrs, i, 1) )
             return -EFAULT;
 
@@ -83,31 +85,13 @@ int x86_msr_copy_from_buffer(struct msr_policy *p,
             goto err;
         }
 
-        switch ( data.idx )
+        val = x86_msr_get_entry(p, data.idx);
+        if ( !val )
         {
-            /*
-             * Assign data.val to p->field, checking for truncation if the
-             * backing storage for field is smaller than uint64_t
-             */
-#define ASSIGN(field)                             \
-({                                                \
-    if ( (typeof(p->field))data.val != data.val ) \
-    {                                             \
-        rc = -EOVERFLOW;                          \
-        goto err;                                 \
-    }                                             \
-    p->field = data.val;                          \
-})
-
-        case MSR_INTEL_PLATFORM_INFO: ASSIGN(platform_info.raw); break;
-        case MSR_ARCH_CAPABILITIES:   ASSIGN(arch_caps.raw);     break;
-
-#undef ASSIGN
-
-        default:
             rc = -ERANGE;
             goto err;
         }
+        *val = data.val;
     }
 
     return 0;
@@ -119,6 +103,21 @@ int x86_msr_copy_from_buffer(struct msr_policy *p,
     return rc;
 }
 
+const uint64_t *x86_msr_get_entry_const(const struct msr_policy *policy,
+                                        uint32_t idx)
+{
+    switch ( idx )
+    {
+    case MSR_INTEL_PLATFORM_INFO:
+        return &policy->platform_info.raw;
+
+    case MSR_ARCH_CAPABILITIES:
+        return &policy->arch_caps.raw;
+    }
+
+    return NULL;
+}
+
 /*
  * Local variables:
  * mode: C
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 14:50:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 14:50:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260406.449848 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCN98-0005CN-I2; Tue, 25 Jan 2022 14:50:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260406.449848; Tue, 25 Jan 2022 14:50:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCN98-0005C9-Ds; Tue, 25 Jan 2022 14:50:10 +0000
Received: by outflank-mailman (input) for mailman id 260406;
 Tue, 25 Jan 2022 14:50:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nUgY=SJ=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nCN96-000334-QA
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 14:50:08 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fd83f6db-7ded-11ec-bc18-3156f6d857e4;
 Tue, 25 Jan 2022 15:49:27 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fd83f6db-7ded-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643122207;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=b8gUfnxfMT9jaop10Gl1R/jrvfY+DfW2W+UdEuJu/hM=;
  b=Gw7aE3fmcM4GIBPf6QXJtc/3L1A2/DZX9Vmy2g6csdV/oYClpYL5KWeF
   OWdlsszXDG2IABYUVMZjvFI/ru8FZ81dy7pRCQXy+DFZRmqJ9ZLlE2gUC
   YP8DNRd3JnCFZ0h/6+kvHK6Q8XGF1Rzz8sPqBaFNHADoHg/f4eCrHudFj
   U=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: TtqoIkttRPuZ5a0Yl4W8lu8MFtC52jinK4d1Do1ndrzzwl3ljTFPYUxIZwmpP4MsH+6McWbkp6
 dcRNmPiqOB3LBpqzFKwq6rQ4AjB6nhSNp8UspioaDmi0KA8Hpf56b7eysFoLl1cUwINA1hwNyH
 ahENqpCrqci2mTb7iU5NoRVUGTqGbBKFcn03wHXH7r2w1PC6l47YgIdWqeCfWmStMMFetUv+/A
 SnBLfRHu9mSCpGnFoUbZcGuDID5wwm3QhqaWN8SXKUzCe5LtPvDOni0wA3pQBo8f3oOS6+YBXF
 sVo0i6McWMgWsFXUG1kKhodW
X-SBRS: 5.2
X-MesageID: 64880007
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:q4Wyeaq1iOy3PCJ4deK/AvB5HXBeBmLpYhIvgKrLsJaIsI4StFCzt
 garIBnXPamIajb9fdp+Oo+09kNVvpLdn9NhS1E9rC4xFX4X8puZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlZT4vE2xbuKU5NTsY0idfic5Dndx4f5fs7Rh2NQw2ILkW1nlV
 e7a+KUzBnf0g1aYDUpMg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJ8DO+iL
 9sv+Znilo/vE7XBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XnRfTAKtao2zhojx/9
 DlCnaKxZAsMJfDlo+EyFBNITnAvBrBN2IaSdBBTseTLp6HHW37lwvEoB0AqJ4wIvO1wBAmi9
 9RBdmpLNErawbvrnvTrEYGAhex6RCXvFJkYtXx6iynQEN4tQIzZQrWM7thdtNs1rp4STaaGP
 5JGAdZpRATKZTx+O1E8M707xLqWukT1eSVcrF3A8MLb5ECMlVcsgdABKuH9eNOQQt5Otl2Fv
 W+A9GP8ajkYPtGCzTuO8lq3m/TC2yj8Xeo6BLC+s/JnnlCX7mgSEwENE0u2p+GjjUyzUM4ZL
 FYbkgIxqYAi+UrtScPyNyBUu1bd4ERaAYAJVbRntkfdkcI4/jp1GEA6TxNNTcd7nfQzansgx
 gLYzuj0DhxW5ej9pW2myp+Yqja7OC4wJGAEZDMZQQZt3+QPsL3fnTqUEI89TffdYsndXGipn
 mvU9HRWa6A70JZTv5hX62wrlN5FSnLhagcurjvaUWu+hu+STN70Ptf4gbQ3ABspEWp4crVjl
 CVc8yR9xLpXZX1oqMBraL9RdF1Oz63dWAAweXY1Q/EcG82FohZPh7x47jBkP1tOOc0ZYzLva
 0K7kVoPuMQLYCr1MvEmMtrZ5yEWIU7IT4iNuhf8NYImX3SMXFXfoHEGibC4gQgBb3TAYYlgY
 MzGIK5A/F4RCLh9zSreegvu+eRD+8zK/kuKHcqT503+idK2PSfJIZ9YbgfmRr1nvcus/VWEm
 /4CZpDi40gOD4XDjtz/rNR7waYidyZrXPgbaqV/K4a+H+aRMDhxUqCKmeJ4JdUNcmY8vr6gw
 0xRk3RwkTLXrXbGNR+LejZkbrbuVox4tnU1IWonOlPA5pTpSd3HAH43e8RlcL852vZkyPIoH
 fAJd9/ZWqZESyjd+iRbZp749dQweBOujAOIHiykfDlgIMIwG12XoofpLln16S0DLiurrs9i8
 beu4RzWHMgYTAN4AceINP/2lwGtvWIQkf5ZVlfTJoUBY13l9YVncnSjjvI+L8wWBw/Ewz+Wi
 1SfDRsC/LGfqI4p6tjZw6uDqt7xQed5G0NbGUjd7Kq3anaGrjbyn9cYXb/RLz7HVW7y9KGzX
 slvzqnxYK8dgVJHk4tgCLI3n6gw0MTi+u1BxQN+EXSVM1nyUuF8ImOL1NVkv7FWwuMLohO/X
 0+C94UIObiNP8+5QlcdKBB8M7aG3PAQ3DLT8e40MAPx4youpOiLVkBbPh+tji1BLeQqbNN5k
 Ll54MNGuRaijhcKM8qdinEG/muBGXUMTqE7u8xIG4TskAcqlglPbJG05vUaO31ThwGg6nUXH
 wI=
IronPort-HdrOrdr: A9a23:Rc8Sdq9Cm4KwovIabf9uk+FAdb1zdoMgy1knxilNoENuHfBwxv
 rDoB1E73LJYVYqOU3Jmbi7Sc29qBTnhOJICOgqTMqftWzd1ldAQ7sSi7cKrweQeREWs9Qtrp
 uIEJIOeeEYb2IK9PoSiTPQe71LoKjlzEnrv5al854Ed3AVV0gK1XYfNu/0KDwSeOEQbqBJa6
 Z0q/A37AaISDAyVICWF3MFV+/Mq5nik4/nWwcPA1oC5BOVhT2lxbbmG1zAty1uHg9n8PMHyy
 zoggb57qKsv7WSzQLd7Xba69BzlMH6wtVOKcSQgow+KynqiCyveIN9Mofy9gwdkaWK0hIHgd
 PMqxAvM4Ba7G7QRHi8pV/X1wzpwF8Vmgnf4G7dpUGmjd3yRTo8BcYEr5leaAHl500pu8w5+L
 5X3kqC3qAnQy/orWDY3ZzlRhtqnk27rT4JiugIlUFSVoMYdft4sZEfxkVIC50NdRiKp7zPKN
 MeTP002cwmMm9zNxvizytSKZ2XLzgO9y69Mwk/Upf/6UkSoJh7p3Fos/D30E1wsK7VcKM0lN
 gsBJ4Y4I2mfvVmHZ6VO91xM/dfcla9OS4kEFjiaGgPR5t3c04klfbMkcAIDaeRCds18Kc=
X-IronPort-AV: E=Sophos;i="5.88,315,1635220800"; 
   d="scan'208";a="64880007"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eekxc+HW1UDGs70oPp3o71pMTQ2NwtI1P1znXComzjMifa4CvnNS6//RFAnGQ7Ok1vdDFDwHmdJ8zuvqaN1TxqdUHpWklo9Tb4hMAiDW16zO1G6BYI8FL1/G+UIneUOJ5S0sQxLDrNi1N5M5FXd1rmCQ1qzWdoBT7WnpISOjZQwrJST4hLNdsaShM3Tv5kZp6BAhiwI68IaRNYeCFN0nFR5mHIjpwcUgA3W4dQK7ykB+olsKWblkSIi9UixH1ud91b4jc205qHIMSaEtRdz3rQrekl9FjOH33JGigwrrthxBlcSelWAVFJJHzaOYmC41+k24gNRhgsPwNn8AhnuKog==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2UP6F+DQsCKngxfuXZykNG42jx0HaHpJ8RyucFFd0lY=;
 b=hOlJhNxhktgA02qQ+OcSFHhb80vQ+zpPPkGdr7ad9ZFrzk0dBxapFGhDNTP0iQEjT55SQ7eWYFQ4gi2M08W9qMloHfrm3T5cNkahAuKXVotSBneSxlMB+jRt/KPMZZTNZrdI6MWc733OX80y7+haHnvUk+RFYBXbnqoJQuPZKd7HL6WbijeneedNJcU7bjPYvPVtm9kG/4XL+jQ1C/2ssUQcnFmpFbgtsOyCKGmcsaUEaaesJUC5I/lJR9aLtJOLVS6jja6m3Kiars+RpcFBZSsRdj9jgY8NF3lf852/ur3ZWMY+LFbP2aq5xN+ltNdExJqX67s2F6LI4yX9siIwQQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2UP6F+DQsCKngxfuXZykNG42jx0HaHpJ8RyucFFd0lY=;
 b=ibTj5S9vS33CGpUQpmzVmsun79JfvLbkrSjlZG/KxlP87ivLESStgWK4JyPmnZ4oK0LpUKcfP+bciXwbwZk37fC1iaYlw0aV4D69Sxu2HCQJy5e/ByY2k0akhD7fpsLhZxFGwlT/xdIEMpoU5Sqav4sZkbdUz2lVJJYkx7I4BUc=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Anthony
 PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, Jan
 Beulich <jbeulich@suse.com>
Subject: [PATCH v7 04/11] libs/guest: allow fetching a specific MSR entry from a cpu policy
Date: Tue, 25 Jan 2022 15:49:28 +0100
Message-ID: <20220125144935.44394-5-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125144935.44394-1-roger.pau@citrix.com>
References: <20220125144935.44394-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MR1P264CA0076.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:3f::19) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 54fac90c-7dc9-428a-0416-08d9e011f85d
X-MS-TrafficTypeDiagnostic: BYAPR03MB4568:EE_
X-Microsoft-Antispam-PRVS: <BYAPR03MB4568D6A3658D03364392C1A88F5F9@BYAPR03MB4568.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: T/64cUynr0F6G3dt/MDY8gY2tTl2fqFoMCoAZG9tj5qdXJO14SuKIpZePkLtbO07hUXsExc+FGTv0rPFDuYjkSbBFJUXkKUABGa7NWr49eQHA4+TSMeP5lY1512ukafdniR28wYlzhRuPC5ewRHpJfdhxxP6Y5K0bUuuZQuUxBni3yNddfO7ESvkxO4cJlgamoLvFqLKY2qrpW1uMe8IVgeWxG9zFszjmatA5PW3xEiBMXAMiA2EzbpSllUvypfbwMxVSLxzp0LSP6p8WMoqVQpCn9EQE9vPZSsH69blSkRwmKJ8X5upcOIch/LAqUS2EHgNfru80uPaIPuoNkSItGf74pkyoqwmoBHFG39stWvZZHbcpiNsywSHgJBHYCmUeAZqo2edhhF2cA1u00kzEUpkR6MQFKuJp8UN8aj1yjlhTjcpNR1cBhMuvm6ggX9lCaMhIOX5PhPG96U58KPae8XTI/UttrZZnhw7gsio94/vdNW0vsZN1g0LMFrPHdEJIdsigJfqAPhd67z6lpTIYaoTEoBFJFsMbaarSBJ9vRxSbCltHXl0dVH+1wfZ5GecYNHWxjx/CNiwCxZvQS6UsIwa1eMiMLVSW/ouy7vWmhBRwiF7LW+bQx4EoSkEDoP5vNcjarooRONthlAE4hqVEA==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(4326008)(8676002)(26005)(1076003)(2616005)(6512007)(508600001)(6916009)(83380400001)(54906003)(36756003)(2906002)(316002)(8936002)(66476007)(5660300002)(86362001)(6506007)(82960400001)(66556008)(6666004)(186003)(66946007)(6486002)(38100700002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?b3N1TkcvVTQwS2NpSXFnK2xKVVhRSlZFUVNPR1VqbEpmVnpaZEw0dXRZM0Fa?=
 =?utf-8?B?WXZQL1BSNDdvOEd6YTFnT001VkdyT1RkWklUdVB3Y21zNDN2bXhyTVp4WnlQ?=
 =?utf-8?B?cTRoRWlEYWc0L3R4TnJtaGVWSFRQYUgxTFRwNG9Bak8yRGlCaktEU25LaWJU?=
 =?utf-8?B?WkJ5bCtNNkxjWnM4VkFBL2FzNGJ5cXFlSUFOaExNZXBXcTQweGk1Y1RkYXp6?=
 =?utf-8?B?cE1raUcweGlUWmlINzJZcTBXY0JiT2ljbWgwNHVFQTFFMTFZbXpBNHkra1Vw?=
 =?utf-8?B?NXBxUXMrSTZFY05wSVR4c0FzMVpLdVNxeWJlc3h0Z2ZjNVgzeHozQlM4ckYw?=
 =?utf-8?B?MWhnM2IzZ1JHT1pZY0R2NUs4RDVXOTAyMXFlc0hVZGVXRkFxald1TGhidk9K?=
 =?utf-8?B?bUh0SCtHUHprWXBiV3lLREtyT0g3b1FCVElRaCtJYS9PSTQ3cDVySVJRKzdH?=
 =?utf-8?B?Q0FvTDQ1S0VaWjBzNmxFaXVQbGgrNHdJenZBZytoYUI5UU51ZGpKUTAwcENY?=
 =?utf-8?B?Vk9xcnNNTXkzeS9JQXBuQW5YdTd2M2dvSjBua3VzT1V5TWkrakxOZmFaNjdW?=
 =?utf-8?B?TVRDa2FJdE5JeTV6VDdCMTNlUUh4SW1yUU4yTU5mSEIzVkh0a0pCNThyc0xU?=
 =?utf-8?B?ZkowQ3dxR0RXTXN4eXlmdjJNZTFISDJzZHZzd2FqM1hhTTM0dmR6TmJTMFdV?=
 =?utf-8?B?N2JHelEwUDhhUTgrei9DN3h0K3lHS2oybUo1dE96N2Y0dUtWdzRucXR6TnR1?=
 =?utf-8?B?NGpKd3RQSE1pRTRRV3RlTDN0TEMvNjZOdmZrcXhLWWQ4eStXQ0VvOHdWTzlO?=
 =?utf-8?B?aUl6bVVKSTM4NjB2YmlyRCtSY1dZc21kZjJkRER6RGtpRUlDQXI3MTA2QS8y?=
 =?utf-8?B?WDlveGlja2VZbHQxcWZsK2tWQWhRQzNodUxXdUlQNUxST0MrQWphQXFIelQy?=
 =?utf-8?B?Vy96QjB6ZXpTSExydVY5TmJZWTNRUmxtSlpyNW56c0krMko5MGRBQURqL203?=
 =?utf-8?B?Sk84OFRxTjRoY09NUzFwb2VKekh5V2E3ZUlMSnV2b3NJYTU4WlVaQ0hGZldB?=
 =?utf-8?B?QUpzUzloNnhWSEVjcDJQQllsS1hhUmZkUzJyRmJkbkIzTnA5VkJFTWNWcG9N?=
 =?utf-8?B?SDdvZXdqWUxzV3drY2ZlMDdFWTB1LzJ4ZllYemdoellVZDVFcWV0V2VMckxl?=
 =?utf-8?B?cStBOXZFeDltVUNQdGw0QnRIK2dQdW0xQVNpOEpaZTliT1NHMGZHM0Y3Y09P?=
 =?utf-8?B?cTNjeU5CemZJN2RRUm5vQldyaE9sekNqcThUOEpYa0Rxc2Z5eFhhU29zclI1?=
 =?utf-8?B?S0c5V0kvVktqWHNwWXNqdkV6ZnQzZFp4QlVBY0Z4OTR3MmRIbE4zK29PWWt5?=
 =?utf-8?B?UW1JelA0NTZKVG5xR0FCdWFsdDJqSkx0VmlFYlJEQU5iSForbnJhbE1SYUhD?=
 =?utf-8?B?Tmw0VTNnV0U1czh4bDk0aGhmeE1EQjN3bGRjc2dVdjB6Mnc0QTNhT1NiVmk3?=
 =?utf-8?B?QU1VNTBIL2FNNUhpOEVka2F2Y0lZNlV0WHJ0K3dmTHI4am1YOWRzTzY2b21D?=
 =?utf-8?B?ZERPUnVhMlJuc0x3cU1KWTYvUzRaSGZvcE9vK1pUM1UxckFBczNCeWtvZEhR?=
 =?utf-8?B?SDVheWpIcDFXRGo5K3I1b1U5dXZxWDdSZE9mRlVLVnFpbHY4Wi9iZlVPb25I?=
 =?utf-8?B?S3Q1dEZyUVlqb1Q0UDNrbm5Mc0hOT0FWc2JRVHpLTEVBdEdnQ2t3U3pDWTBW?=
 =?utf-8?B?QllXMU8vRFJLZHhNZzdFbXF1b1VST1V3NHFnYUR6clhNS2tualhyU1g5aTVD?=
 =?utf-8?B?eFZSV2ZkYjg2N2plRXpxL2x6V2Ztd0wvRFZZTVErWE91M2xGd1diT2JzRS9B?=
 =?utf-8?B?bGs1Q1hjWmNnTUdxVmlId29HMStKL3dxU0cwZldSRXB6dm05MklPNTVqSGVW?=
 =?utf-8?B?VmZlOHM2MjNMTlpwc0Jld3pZMGtaNlBpdlhNWUE3bEJ0QUVhbi9BZ3d2MU1o?=
 =?utf-8?B?bjJZNWYwRS9aS1hYNmovdU1tdmdrNXA4SzlvdWsvM0xENDlxYWVobzBvejNo?=
 =?utf-8?B?emZBOTlNcjV4VVhjRFd2ZjhuR09VQXJtQXF0N2diK2lReDJxcHBrU1BXaTVN?=
 =?utf-8?B?WnEzQkZYNklWd0E5R0lIM3lObGRmU293UjVpd2pJNEp4aCtSZjBoY3BlYi9z?=
 =?utf-8?Q?d+Rp2s/t4RUIxMfiS3liemE=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 54fac90c-7dc9-428a-0416-08d9e011f85d
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 14:50:03.7747
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 8rkwKs/qSVsjOWL/yeBsbIjvfjhxWjS8rYBfRvhV7J0y4Eem0roXza1dRYWeEQNdR9COxnMelGPdHkVxGM30mw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB4568
X-OriginatorOrg: citrix.com

Introduce an interface that returns a specific MSR entry from a cpu
policy in xen_msr_entry_t format.

This is useful to callers can peek data from the opaque
xc_cpu_policy_t type.

No caller of the interface introduced on this patch.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes since v3:
 - Use x86_msr_get_entry.

Changes since v1:
 - Introduce a helper to perform a binary search of the MSR entries
   array.
---
 tools/include/xenguest.h        |  2 ++
 tools/libs/guest/xg_cpuid_x86.c | 20 ++++++++++++++++++++
 2 files changed, 22 insertions(+)

diff --git a/tools/include/xenguest.h b/tools/include/xenguest.h
index 0a6fd99306..2672fd043c 100644
--- a/tools/include/xenguest.h
+++ b/tools/include/xenguest.h
@@ -810,6 +810,8 @@ int xc_cpu_policy_update_msrs(xc_interface *xch, xc_cpu_policy_t *policy,
 int xc_cpu_policy_get_cpuid(xc_interface *xch, const xc_cpu_policy_t *policy,
                             uint32_t leaf, uint32_t subleaf,
                             xen_cpuid_leaf_t *out);
+int xc_cpu_policy_get_msr(xc_interface *xch, const xc_cpu_policy_t *policy,
+                          uint32_t msr, xen_msr_entry_t *out);
 
 /* Compatibility calculations. */
 bool xc_cpu_policy_is_compatible(xc_interface *xch, xc_cpu_policy_t *host,
diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
index ad6b349680..af5b8e47f4 100644
--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -881,6 +881,26 @@ int xc_cpu_policy_get_cpuid(xc_interface *xch, const xc_cpu_policy_t *policy,
     return 0;
 }
 
+int xc_cpu_policy_get_msr(xc_interface *xch, const xc_cpu_policy_t *policy,
+                          uint32_t msr, xen_msr_entry_t *out)
+{
+    const uint64_t *val;
+
+    *out = (xen_msr_entry_t){};
+
+    val = x86_msr_get_entry(&policy->msr, msr);
+    if ( !val )
+    {
+        errno = ENOENT;
+        return -1;
+    }
+
+    out->idx = msr;
+    out->val = *val;
+
+    return 0;
+}
+
 bool xc_cpu_policy_is_compatible(xc_interface *xch, xc_cpu_policy_t *host,
                                  xc_cpu_policy_t *guest)
 {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 14:50:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 14:50:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260410.449858 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCN9G-0005yb-SI; Tue, 25 Jan 2022 14:50:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260410.449858; Tue, 25 Jan 2022 14:50:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCN9G-0005yO-Oy; Tue, 25 Jan 2022 14:50:18 +0000
Received: by outflank-mailman (input) for mailman id 260410;
 Tue, 25 Jan 2022 14:50:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nUgY=SJ=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nCN9E-00033A-TV
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 14:50:17 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 19db0102-7dee-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 15:50:15 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 19db0102-7dee-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643122215;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=HZaMJj9+rL+LRyMJ6VSN4shsmzvezVh6cTf4PGv5g6Q=;
  b=RaZTwldg7QKfUu+Mh6n8MqiK7tkOTYrHhnhtWP7APZhanWq+eQ5wCrmp
   tKVpDO54NcXIiZlofz8xMkiEUxipDueBKGjfnr5HtyluOsAxYlSa2cAiS
   qRD2HYY5q4ri1vDVMBrAwicULvphxpgdpi+CgmJTGeIlTOBAJlFjWoXtu
   E=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: am4nLQAiuN9wbvfC5mdRLVyy1KLDthCgGDrP1NMou6y7CRjZc/n9uI9zke5OXEd6AsmKtDorsm
 NxzJ0oGxSDeZKdBfQ1ijtjE3sTQeP3Nj8Z/Smr96LIh3hzWHINH+OUTiwBRNoqigsFSZwq7Nzu
 kjphCAJWQdFtgud65GuFMhl5zt8/QnF6du4EuLQTnha7SLvViScChFimg7ritZCiXF5cpUOWG4
 iU13pejTm5VtFXGrK7/TFyRh0O0Zzq1cbBErmz9WY5lW1AVpph/9v4ybb6lTm1at/NCWlAhfMQ
 OCYpCb/nAFEZUsyaa74w0O35
X-SBRS: 5.2
X-MesageID: 63124333
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:SiSgRa0isif4hPcbgPbD5Td2kn2cJEfYwER7XKvMYLTBsI5bpzUPn
 2MZDGuCPq2MYGL9edolao218kIAsZGBm9IySAJspC1hF35El5HIVI+TRqvS04J+DSFhoGZPt
 Zh2hgzodZhsJpPkS5PE3oHJ9RGQ74nRLlbHILOCanAZqTNMEn9700o6wbNh2OaEvPDia++zk
 YKqyyHgEAfNNw5cagr4PIra9XuDFNyr0N8plgRWicJj5TcypFFMZH4rHomjLmOQf2VhNrXSq
 9Avbl2O1jixEx8FUrtJm1tgG6EAaua60QOm0hK6V0U+6/TrS+NbPqsTbZIhhUlrZzqhpM1W2
 tYRub6LYx4MAPH3tNseaSJ6KnQrVUFG0OevzXmXtMWSywvNcmf2wuUoB0YzVWEa0r8pWycUr
 6VecW1TKEDY7w616OvTpu1EnMMsIdOtJIoCknph0SvYHbAtRpWrr6Diu4QBhmtr3Zsm8fD2X
 No4QBtWVTT5PD5yHH0TEZUTuf6uryyqG9FfgA3M/vdmi4TJ9yRz36LqK8H9YcGRSINemUPwj
 n3C13T0BFcdLtP34SqI9Degi/HCmQv/WZkOD/uo+/hymlqRy2cPThoMWjOGTeKR0xDkHYgFc
 gpNp3Ro/fNaGFGXosfVZACfsn3YsjwnccN1LbEBxD6O8JH22lPMboQbdQJpZNsjvc4wYDUl0
 F6Vgt/kbQBSXK2ppWG1renN827rUcQBBSpbPHJfE1NZizX2iNxr1nryosBf/LlZZzEfMRX52
 Hi0oSc3nN3/ZuZbhvzgrTgrb99Bz6UlrzLZBC2KBgpJDSsjPeZJgrBED3CBsZ6sy67CFjG8U
 IAswZT20Qz3JcjleNaxaOsMBqq1wP2OLSfRh1Vid7F4qWj2oyLyIt8OsWAmTKuMDiriUWW1C
 KM0kVgJjKK/wVPwNfMnC25PI5pCIVfc+STNCamPM4smjmlZfw6b5iB+DXN8LEi2+HXAZZoXY
 M/BGe71VC5yIf0+kFKeGrlBuZd2mHFW7T6DFPjTkkX8uZLDNSH9dFvwGAbUBgzPxPna8Fy9H
 hc2H5bi9iizp8WnMnCIqtZCdA5TRZX5bLivw/Fqmie4ClMOMEkqCuPLwKNnfIpgnq9PkfzP8
 G37UUhdoGcTT1WZQelTQnw8Or7pQ7hlqnc3YX4lMVqygiBxaoez9qYPMZAweOB/puBkyPd1S
 dgDetmBXasTGmiWpWxFYMmvtpFmeTSqmRmKY3ivbg8gcsMyXAfO4NLlIFfirXFcEiqtuMIii
 LS8zQeHE4EbTgFvAZ+OOvKixl+8p1YHn+d2UxeaK9VfYhy0ooNrNzbwnrk8JMRVcUfPwT6T1
 gC3BxYEpLaS/99poYeR3a3d9tWnCepzGEZeDlL317fuOHmI5HenzK9BTP2MIWLXWlTr9fjwf
 u5S1fz9bqEKxQ4Yr4pmHr935qsi/N+z9aRCxwFpEXiXPVSmDrRsfiuP0cVV7/Afw7ZYvU29W
 16V+8kcMrKMYZu3HFkULQsjT+KCyfBLxWWCsaVreB33tH1t4b6KcUROJB3d2iVSIYx8PJ4h3
 ep86tUd7Bayi0ZyP9uL5syOG79g8pDUv30bi6wn
IronPort-HdrOrdr: A9a23:GniLfK6J9sGnWRDK7wPXwVCBI+orL9Y04lQ7vn2ZFiY7TiXIra
 yTdaoguCMc6AxxZJkh8erwXJVoJkmsiaKdgLNhQItKOTOJhILGFvAF0WKP+UyDJ8S6zJ8n6U
 4CSdkONDSTNykCsS+S2mDReLxBsbq6GeKT9J3jJh9WPH9XgspbnmBE42igYyhLrF4sP+tHKH
 PQ3LsNmxOQPVAsKuirDHgMWObO4/XNiZLdeBYDQzoq8hOHgz+E4KPzV0Hw5GZSbxp/hZMZtU
 TVmQ3w4auu99m91x/nzmfWq7BbgsHoxNdvDNGFzuIVNjLvoAC1Y5kJYczJgBkF5MWUrHo6mt
 jFpBkte+x19nPqZ2mw5SDg3gHxuQxenUPK+Bu9uz/OsMb5TDU1B45qnoRCaCbU7EImoZVVzL
 9L93jxjesYMTrw2ADGo/TYXRBjkUS55VA4l/QIsnBZWYwCLJdMsI0k+l9PGptoJlO01GkeKp
 gvMCjg3ocUTbvDBEqp/FWHgebcEkjbJy32A3Tr4aeuon1rdHMQ9Tpu+CVQpAZFyHsHceg22w
 3zCNUdqFh/dL5nUUtDPpZyfSLOMB20ffvtChPaHb21LtBOB5ryw6SHlYndotvaP6A18A==
X-IronPort-AV: E=Sophos;i="5.88,315,1635220800"; 
   d="scan'208";a="63124333"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hnsqdwNQVv5rqF/bdOGgfyh/NtlJk0RyJUcoIKAxfcIrO+w4G3vLeDDojBWWTPUBwIhaObmGu2A/WAFdA8G2LAvnYY88PoTs1/fQP6imfG8M6zxF+vpjr5FPFXTOu/dZIKXTa8NqScBU+v9fc8Wriwlp3zczUfa6XO8WbFHzFr6z16u4pwMMY3ER+TGr4iugWNquylLkEGM+glLWMrvNT+Yd8dR23At51kxJ3TjqmBjuux2Tty8qTAL6KC/FMZBEAGp4RWzRjkAXn0HZGvhsu5c+Tifn2jQSv6bknLJZq8oGseOHvXYc+DKfHTknwigL1LUfYtR5oilIKoQXKZQiEw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Xy2XwwkC77aRusqaEhIqZOdJcdN/UpTCfyRBjte639Y=;
 b=AhU2p8lAkS6Vi14IcsH6oXImNWHGInyx3kJx7Mw9RxyRrcB5O/sUUpmUHkm4tyqEbo47DpyE9lHnfPfKi8AmS8RHt99ADDxtnkYmbjCpam5DuC2jvpWsMMBVrx0AzoMLD6nIVtvl9MurAYW6RNg/DoWyohmxEjYaZjsxcaoL8UM6l5aFqK6LlyVUc3PVY/v7j+3IF3eu/SmqFrwhqjVbp+G/to9wXhsw9yNdW/nv5ofai1h1vzDf6zLDUp2JdA9eaY4LxZqCYXiPckWbEDgwpUIZo4Jrj60XchvS5poYdAo1sW1XP8gxAe63/SAL5FBE6fVu8+2jbwbVnJQ1UyXzng==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Xy2XwwkC77aRusqaEhIqZOdJcdN/UpTCfyRBjte639Y=;
 b=tkSz7MzIwD9UPrxlBYZGuYJbjWeO3XJ6uc7N0Aat5pPfwfoGzz5ufUiFTJI+AEga9UTis25A6ggeeXz3tShRRYl0tpahNREvU7KDNezwCpEoVOClFm/sHSpD5pM42IT4BoixIwcDjpuSfdHvs/XN0ZCGQ9mt4Azw8/kAsqdRBC0=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Anthony
 PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
Subject: [PATCH v7 05/11] libs/guest: make a cpu policy compatible with older Xen versions
Date: Tue, 25 Jan 2022 15:49:29 +0100
Message-ID: <20220125144935.44394-6-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125144935.44394-1-roger.pau@citrix.com>
References: <20220125144935.44394-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MR1P264CA0077.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:3f::9) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4aeb396b-2355-4961-15e9-08d9e011fbc6
X-MS-TrafficTypeDiagnostic: BYAPR03MB4568:EE_
X-Microsoft-Antispam-PRVS: <BYAPR03MB4568A3D3C635936A41FF38508F5F9@BYAPR03MB4568.namprd03.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: lN4SHMdV99BsMb6MTomMkTFvPZrk++3EA81qaf5OL8B664dI0Exf+Y34WMYPMQrbG3794jDcj0lLxBwtOZ9Ce1y/WBpysvSY4zbwO3E9RLjne242JPE9ZVKaWU14StgOip02GBobPKjOLYxDPnE4eWaDRFUlPypcCXMKJw9ekmrGfcg4Ky2Xmd/NBAXxh37lofhKpChzxpYADbC1qz0e1zlUEQT8jUtSDlgvDBUvUiSI+/DdEpgwx8wlcjDKZukbEluB3mySG9qyV/bQRUaPmSyJuWxrcsF+lyC7p4ojAepD+eWSNoXWIzifpNgAiDV54/ZUZFvtmb7LALJVx86U+tjVLKq92CjnN8SPK9rbTvdJ5wJvrBbDcR/ojZPWhViFeGz/P4NTK224vZBbjwX/ITkC2I84yuvQJAXt1I1sThF233kpNB7naPCn37VaKAXmJUsniExYJDyRKFgljmYekqBTXUx+PmaASWpSPTe3DtqAnZXYRNTor2sBvqR25onP5/DliJSRZplMD/jvKgx7v9AbfiIlaLiizGK3nOt/ZK8JjhPp697EgJZ0RMaqVFzg50niodRsJSOV4J1htSKuBcIz4yL/zx1F9a1wpc+vvSah1GAJ6ckY21DphBZM3Lme7vZoXDqEoL+bP4ieIW7+qA==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(4326008)(8676002)(26005)(1076003)(2616005)(6512007)(508600001)(6916009)(83380400001)(54906003)(36756003)(2906002)(316002)(8936002)(66476007)(5660300002)(86362001)(6506007)(82960400001)(66556008)(6666004)(186003)(66946007)(6486002)(38100700002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bzQvS21ZWkFza1MybGtqMGd6VU5qeEltdnp6Q2lIaGM4UzUxM0pFTFN6RXdN?=
 =?utf-8?B?eDJzV0NNcmRZZFNBZGFBQUQvQkx2blpIbWZ2N24zaVJyUjVIaWp3L3hJQmx3?=
 =?utf-8?B?K1dFZ3M1dkRkU1ZpcUpOV1VrUS8yYkFlb3BYWnNWdXJTc1lGclNyNXlCQlY0?=
 =?utf-8?B?cFp1RkVUQS9rb1loclZ0TW8zSzJXdzlwdGJoYU5TejFRWmNWVTNEMnN6ZUxo?=
 =?utf-8?B?Wm5sRWEwM2dJNHlsdUxDWWNDWU5ManlPS1dCcS9IREpkOU9YODByNXh1UnlN?=
 =?utf-8?B?MVpDSWdSYnNuRG1IOW9nNjR5bGVHVHFrNCs4VHQyU1p2VnY4dG5JOTEvaXhu?=
 =?utf-8?B?cjFUdjk4d3F1aWdwMzJXRmNiMllyNVRrL2dHdzFTTDdTRUNuZzlvUGprcThS?=
 =?utf-8?B?TStxeTNPaENXWlljaEs0TEtQWXNLcTVjNzhudXcvS1NSQzlZRy9TYWlVbmJr?=
 =?utf-8?B?MUpCZytuWGVWUWxyb1RuSlk0M3hBazk4aVlORUgvZFl3YVVxYzFkY0xXYXg1?=
 =?utf-8?B?bmhodEszcTZjZnZvcS9aVVJCOGdMS0QwOUVPdDdWY1BZV3FYV3pRM0xqNE5P?=
 =?utf-8?B?ci9ZTWQrMUdXeWV6YVpXNFlFcFl1R0oyRFNjZFhrUmRJeWZOYnU1VU1Dazg1?=
 =?utf-8?B?S0pWd3pDRHJ0dlF3MlhBVG1hYS9ROFcvOFhaejZINGIzUU5ZWk9tRjRSSElC?=
 =?utf-8?B?cmVwb3RuS2duUENORlRqWHFrSWJhWnJtSGhYVDluN0xpMmdIT1hDcUhJZUFB?=
 =?utf-8?B?bWVlaDZqVDFJeU4rWkhFTXFDZTZHOUd2dDRUaXZidU9Xc1hnd2RudGc0QjlB?=
 =?utf-8?B?czlIZm92Tk9iVzYzNlZzS0d3dVhBdHZOeXVwbWJjbGtNYVB3enJKVWQwQXYy?=
 =?utf-8?B?SWZCVHZSVFVzdHVIRVRaYVZkamhMd09DQTRsOGdSSVdYS2ltdDdLTTZjNjM1?=
 =?utf-8?B?OVNEWlFzZEpVZkhGR3h4OHVGK1d1b0k5RlBINzRNT0pCd2c2aVJlUWtuSUJz?=
 =?utf-8?B?b2lyZEoxUzZydkI0SjlaTmc3ZWRQOVl0UTRIMUlCVDVhZW9yNHFnbUFZNWZj?=
 =?utf-8?B?eTloZHJZTGFJTGl3L21TbDFGc2p4a0l3U1BSY2tNOURmcXZ3NVV2elhvQzZ1?=
 =?utf-8?B?UmtGQnJISjR3MmI2S3Z6c01vN2h2VXYwRUVUV1dlVFR3Y0hHNkc2TldTK240?=
 =?utf-8?B?Q1AzYjBSR01NalJnWmYyVTBSU1R0K09yMFdJTEkxVFhkNzZtalpBVy9KWUM1?=
 =?utf-8?B?QUJmRnQreVQ5RmtqampiVUIrQkZTUkhqYitIQm9NcDEzckRHUXIxVHFNREJq?=
 =?utf-8?B?cHc0N1lIYlFwVnpFY0ZTaFgyUnhVN1FnMXhaZlRLRHh3ZlgwdVRxM05EdURI?=
 =?utf-8?B?cEM5bjJmSThUUC9tMlRFckM5bVh5clh6SE1QY215OG1IcFhqdEpDZHMyaHhU?=
 =?utf-8?B?d3dWb2lTeXAzVm9ob0k3VURPejBmeWxVWFpNTXc2RXhZOEs3UTdSeDdnYW1t?=
 =?utf-8?B?SzhCYWdKdFl5ZHZLaWdoSVp3QmVvd3cvQ0FCTkNNU0d5UFRLcGM5bmpsV216?=
 =?utf-8?B?SkljaGwxbllXVmRzT2JZRU40S1N3ajk2Z1ZnNWRkOUFOK0JDMjc5UjJzMzl0?=
 =?utf-8?B?ZTJIdldPb0JwemM1WkxoWE94V3AyUk80NFlSTTBzT2ZJQXFSS01jeGw2aktF?=
 =?utf-8?B?YlYzOTUzR1VOcVpvWkFjd2g4dTlYTzMzSWZrVEc0cTdZc0RMdU1GQkJUM3Nt?=
 =?utf-8?B?TGNKd2swTmhVWjJ6RmcyakNRZlpwKy9WUEtzUGZQaXJ5K2psSnJpUkRVaVJK?=
 =?utf-8?B?bER4NmpuUWJkQURRSnhFYnN3U0I0VmJtTTNtWllocWp4NWgxTGhoazNTUUpr?=
 =?utf-8?B?a2djVDdvN3h4K1BmeW9oNmpsdFdNUkNWUkZMaXMwYnY5K2hNem9jYTFnMUZm?=
 =?utf-8?B?ZTMwYWtDU25lSDQ3UlhreTFub0dMRGZtNExEbTNIYnpsV05rcEZva2NXUEZp?=
 =?utf-8?B?QWxMQ21hbndyYnN0NkxsNTRVaEdDUE45aTJWdjBObkxnWXFPVExIc1ByOCtV?=
 =?utf-8?B?eEcxeHhpU3YyemtBclJ5S2p2TTBLVFdOejV2K05nU3VnSEYrZDFRNHJ4alJS?=
 =?utf-8?B?eTd2cE8rN0Niais2dEU0UGJCd1pCTEZnTTVCWnlmN0ZrVlBkSVNic3RJR3g1?=
 =?utf-8?Q?0Xel355siSUw8MkoT305oWw=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 4aeb396b-2355-4961-15e9-08d9e011fbc6
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 14:50:09.3858
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5sh4ItDzOBeLTUCCIsJIuYCOQHeNWLrSkOJ/0lvhrQoLokMPsbF1Irse1PMVzjgkTi/fsDWR90lop1t7Cepk7A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB4568
X-OriginatorOrg: citrix.com

Older Xen versions used to expose some CPUID bits which are no longer
exposed by default. In order to keep a compatible behavior with
guests migrated from versions of Xen that don't encode the CPUID data
on the migration stream introduce a function that sets the same bits
as older Xen versions.

This is pulled out from xc_cpuid_apply_policy which already has this
logic present.

No functional change intended.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v6:
 - Pass the host policy to the newly created helper.

Changes since v3:
 - Rename function to xc_cpu_policy_make_compat_4_12.

Changes since v1:
 - Move comments and explicitly mention pre-4.13 Xen.
---
 tools/include/xenguest.h        |  4 +++
 tools/libs/guest/xg_cpuid_x86.c | 50 +++++++++++++++++++++------------
 2 files changed, 36 insertions(+), 18 deletions(-)

diff --git a/tools/include/xenguest.h b/tools/include/xenguest.h
index 2672fd043c..df18c73984 100644
--- a/tools/include/xenguest.h
+++ b/tools/include/xenguest.h
@@ -817,6 +817,10 @@ int xc_cpu_policy_get_msr(xc_interface *xch, const xc_cpu_policy_t *policy,
 bool xc_cpu_policy_is_compatible(xc_interface *xch, xc_cpu_policy_t *host,
                                  xc_cpu_policy_t *guest);
 
+/* Make a policy compatible with pre-4.13 Xen versions. */
+void xc_cpu_policy_make_compat_4_12(xc_interface *xch, xc_cpu_policy_t *policy,
+                                    const xc_cpu_policy_t *host, bool hvm);
+
 int xc_get_cpu_levelling_caps(xc_interface *xch, uint32_t *caps);
 int xc_get_cpu_featureset(xc_interface *xch, uint32_t index,
                           uint32_t *nr_features, uint32_t *featureset);
diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
index af5b8e47f4..20fd786da3 100644
--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -432,6 +432,8 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
     unsigned int i, nr_leaves, nr_msrs;
     xen_cpuid_leaf_t *leaves = NULL;
     struct cpuid_policy *p = NULL;
+    xc_cpu_policy_t *policy = NULL;
+    xc_cpu_policy_t *host = NULL;
     uint32_t err_leaf = -1, err_subleaf = -1, err_msr = -1;
     uint32_t host_featureset[FEATURESET_NR_ENTRIES] = {};
     uint32_t len = ARRAY_SIZE(host_featureset);
@@ -454,7 +456,9 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
 
     rc = -ENOMEM;
     if ( (leaves = calloc(nr_leaves, sizeof(*leaves))) == NULL ||
-         (p = calloc(1, sizeof(*p))) == NULL )
+         (p = calloc(1, sizeof(*p))) == NULL ||
+         (policy = xc_cpu_policy_init()) == NULL ||
+         (host = xc_cpu_policy_init()) == NULL )
         goto out;
 
     /* Get the host policy. */
@@ -473,6 +477,8 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
         }
     }
 
+    cpuid_featureset_to_policy(host_featureset, &host->cpuid);
+
     /* Get the domain's default policy. */
     nr_msrs = 0;
     rc = get_system_cpu_policy(xch, di.hvm ? XEN_SYSCTL_cpu_policy_hvm_default
@@ -496,23 +502,9 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
 
     if ( restore )
     {
-        /*
-         * Account for feature which have been disabled by default since Xen 4.13,
-         * so migrated-in VM's don't risk seeing features disappearing.
-         */
-        p->basic.rdrand = test_bit(X86_FEATURE_RDRAND, host_featureset);
-        p->feat.hle = test_bit(X86_FEATURE_HLE, host_featureset);
-        p->feat.rtm = test_bit(X86_FEATURE_RTM, host_featureset);
-
-        if ( di.hvm )
-        {
-            p->feat.mpx = test_bit(X86_FEATURE_MPX, host_featureset);
-        }
-
-        /* Clamp maximum leaves to the ones supported on 4.12. */
-        p->basic.max_leaf = min(p->basic.max_leaf, 0xdu);
-        p->feat.max_subleaf = 0;
-        p->extd.max_leaf = min(p->extd.max_leaf, 0x8000001c);
+        policy->cpuid = *p;
+        xc_cpu_policy_make_compat_4_12(xch, policy, host, di.hvm);
+        *p = policy->cpuid;
     }
 
     if ( featureset )
@@ -662,6 +654,8 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
 out:
     free(p);
     free(leaves);
+    xc_cpu_policy_destroy(policy);
+    xc_cpu_policy_destroy(host);
 
     return rc;
 }
@@ -919,3 +913,23 @@ bool xc_cpu_policy_is_compatible(xc_interface *xch, xc_cpu_policy_t *host,
 
     return false;
 }
+
+void xc_cpu_policy_make_compat_4_12(xc_interface *xch, xc_cpu_policy_t *policy,
+                                    const xc_cpu_policy_t *host, bool hvm)
+{
+    /*
+     * Account for features which have been disabled by default since Xen 4.13,
+     * so migrated-in VM's don't risk seeing features disappearing.
+     */
+    policy->cpuid.basic.rdrand = host->cpuid.basic.rdrand;
+    policy->cpuid.feat.hle = host->cpuid.feat.hle;
+    policy->cpuid.feat.rtm = host->cpuid.feat.rtm;
+
+    if ( hvm )
+        policy->cpuid.feat.mpx = host->cpuid.feat.mpx;
+
+    /* Clamp maximum leaves to the ones supported on pre-4.13. */
+    policy->cpuid.basic.max_leaf = min(policy->cpuid.basic.max_leaf, 0xdu);
+    policy->cpuid.feat.max_subleaf = 0;
+    policy->cpuid.extd.max_leaf = min(policy->cpuid.extd.max_leaf, 0x8000001c);
+}
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 14:50:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 14:50:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260415.449871 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCN9N-0006dX-Cx; Tue, 25 Jan 2022 14:50:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260415.449871; Tue, 25 Jan 2022 14: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 1nCN9N-0006dI-7c; Tue, 25 Jan 2022 14:50:25 +0000
Received: by outflank-mailman (input) for mailman id 260415;
 Tue, 25 Jan 2022 14:50:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nUgY=SJ=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nCN9L-00033A-HQ
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 14:50:23 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1ddf2291-7dee-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 15:50:21 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1ddf2291-7dee-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643122221;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=Eqx20PH3bAMsKhLusTbAGPfcJHTu0hK5IU+4+pHYn0U=;
  b=VIuaSNpQhrnGUEIM7heiAq8o+dDlzLTW77As6po1OUnHAxn32cuZjwk9
   Jp8iQz3OPDqpsXEz4lzFjKTidNguUzTo0y4JFfngFectOmuUNo1gbWJRr
   VI7yW8PjSdAxUwxjBrXnUr/yqrS8QGyjhqyBooAUBZJ+OozaDl6P7CGWR
   I=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: 5u/vxmqF48XsEYBr7dCsFG0wEywCXnBJ1Xi3TEQSOrpeaK+pPZxw1btriIUcPaznONxxMMPJsS
 jUhKh019TtuHuUR/E74/tK4QJm/g5TFUujNBGViIFN0TN3RK5vqyNIXIJGnjVL5P/zdrMQPgVA
 arsTHgyIb+aqH+R9stmkZ2P4XW5W2OCfVENhuJgaRQnYHpYOuo3xyEEPUzmYEhZEV5VlM2XaJY
 cR3NTo7+zs1njCskKWHDWKPiLc0UHLMcFsw7G3ng/0rOp3kI6qpnakbM7befImYdQSj/y2Pzfg
 aUnZIqb4neRuxnfVVvU6rtNa
X-SBRS: 5.2
X-MesageID: 62635627
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:HdTC5aLOV0tr2qUUFE+RNZIlxSXFcZb7ZxGr2PjKsXjdYENShTQFn
 GsXWz2CPa7cMzD2Kd52YImxph4HvpKHmoAyHgRlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokcxIn5BC5C5xZVG/fjgqoHUVaiUakideSc+EH170Us5xrZj6mJVqYPR7z2l6
 IuaT/L3YDdJ6xYsWo7Dw/vewP/HlK2aVAIw5jTSV9gS1LPtvyB94KYkDbOwNxPFrrx8RYZWc
 QphIIaRpQs19z91Yj+sfy2SnkciGtY+NiDW4pZatjTLbrGvaUXe345iXMfwZ3u7hB2Qrtdhk
 fpJp6bsagEnN/D9ku4AbQthRnQW0a1uoNcrIFC6uM2XiUbHb2Ht07NlC0Re0Y8wo7gtRzsUr
 LpBdW5LPkvra+GemdpXTsF2gcsuNo/zNZ43sXB81zDJS/0hRPgvRo2Uv4EDgWlq2aiiG971e
 eswdgZIcyidak10G31LIr0lt8qn0yyXnzpw9wvO+PtfD3Lo5A5+yr/2K/LOZ8eHA85Smy6wu
 Wbu72n/RBYAO7S32TeDt36hmOLLtSf6Q54JUq218OZwh1+ezXBVDwcZPWZXutHg1BT4AYgGb
 RVJpGx+9sDe6XBHUPHkbhqo+VGArCRAeNxeGrAL4guQ9LjttlPx6nc/chZNb9kvtckTTDMs1
 0OUk96BOQGDoIF5WlrGqO7K8Gra1Tw9aDZbOHRaFVdtD8zL/dlr5i8jWOqPB0JcYjfdPTjri
 w6HoyEl71n4pZ5ajv7rlbwrbt/Fm3QocuLXzliPNo5GxlkgDGJAW2BOwQKHhRqnBN3BJmRtR
 FBex6CjABkmVPlhbhClTuQXB62O7P2YKjDailMHN8B/q2/1py/8It4BsWkWyKJV3iAsI2OBj
 Kj74ls52XOuFCHyMf8fj3yZVazGMpQM5fy6D6uJP7Kik7B6dROd/TEGWKJj9zuFraTYqolmY
 c3zWZ/1VR4yUP07pBLrGbt1+eJ1l0gWmDOCLbimnk/P+efPOxaopUItbQHmghYRtv3U+W04M
 r93aqO39vmoeLSuO3aMqd9KcwliwLpSLcmelvG7v9Wre2JOMGogF+XQ0fUmfYlklL5SjeDG4
 je2XUow9bY1rSevxdyiZi8xZbXxc4x4qH5nbyUgMUzxgyooYJq17bdZfJwyJOF1+OtmxP9yb
 v8EZ8TfXagfFmWZo2wQPcvnsYhvVBW3ngbSbSCrVycyIsx7TAvT9966Iga2rHsSDjC6vNcVq
 qG70l+JWoIKQglvVZ6EaP+mw16rk2IaneZ+AxnBLtVJIR2++4l2MS3hyPQwJphUexnEwzKb0
 SeQAAsZ+raR89NkroGRiPnd/YmzEuZ4Ek5LJEXh7O67ZXvA426u4Y5cS+LULzrTY3z5pfe5b
 uJPwvCibPBexARWs5BxGqpAxL4l44e9vKdTywlpESmZb1mvDb88cHCK0dMW6/9Iz75d/wC3R
 liO6p9RPrDQYJHpF1sYJQwEaOWf1K5LxmmOvKpteEiqtjVq+LenUFlJO0jegSNQG7J5LYc5z
 Lpzo8UR8QG+1kInP9vuYvq4LIhQwqjsi5kai6w=
IronPort-HdrOrdr: A9a23:dim6ta3JqpR/3NtUlqmMlgqjBSpyeYIsimQD101hICG9Lfb2qy
 n+ppgmPEHP5Qr5OEtApTiBUJPwJU80kqQFnbX5XI3SITUO3VHHEGgM1/qF/9SNIVydygcZ79
 YaT0EcMqyAMbEZt7eC3ODQKb9Jq7PmgcOVbKXlvg1QpGlRGt9dBmxCe2Gm+yNNNWx77c1TLu
 vi2iMLnUvqRV0nKuCAQlUVVenKoNPG0LrgfB49HhYirC2Dlymh5rLWGwWRmk52aUID/Z4StU
 z+1yDp7KSqtP+2jjfaym/o9pxT3P/s0MFKCsCggtUcbh/slgGrToJ8XKDqhkF+nMifrHIR1P
 XcqRYpOMp+r1vXY2GOuBPonzLt1T4/gkWSv2OwsD/Gm4jUVTg6A81OicZyaR3C8Xctu9l6ze
 Ziw3+Zn4A/N2KPoA3No/zzEz16nEu9pnQv1cQJiWZEbIcYYLhN6aQC4UJuFosaFi6S0vFpLA
 BXNrCd2B9qSyLYU5iA1VMfguBEH05DUitue3Jy+/B8iFNt7TVEJ0hx/r1pop5PzuN4d3B+3Z
 W2Dk1frsA7ciYnV9MMOA4/e7rENoW0e2O1DIuzGyWvKEhVAQOEl3bIiI9Fkd1CPqZ4i6cPpA
 ==
X-IronPort-AV: E=Sophos;i="5.88,315,1635220800"; 
   d="scan'208";a="62635627"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dtgMNc/9nKTu6xrSplo0tkkhVA6bxISQ8yJb8WRZvF56l7e0LijgZKI+XeukS8yHWpflwV7evEhF7R17LZiXZCO9Yj9yUbEUOO5oQTUUYLq+ViVlit1MsyNzg3zPEs8swTn08SyFqIH33YBpxvTeyUSkU/LmwfrAq56gx+757OrPw9D2ern5RYL3bkkLvdj/ueEfDYFy7NtBjK2AciLVkBs2gFFGnMfOjU8dWY+JpVjH8wYrRr9a8pNy9Cmiu+0cRgdt7bz0zGmJoruUW2ibpTYr/HLy7VXWbbhkYZ0YLTJ74KJNrNpK19gF6Cf8Vhw3GS4YrF+edEfoPOYdIt6JQQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CKBxmdpTfoOmyTPejv/3lOo/EtPuysXYY91sehS4dfs=;
 b=PgC8f4UxY/rcMjBlP0pqgErPtoJAavHrM0/vEBjdY4pl77VhzCBJQVv2u12wJQDTG38lxE+1+7RRRqaK7zhsyuj2vztkvxti9UQD014Q6+4MAE+vt16ZDSvtNX/KT24fE7EyysjdsCJHN1dblilQAylgqMHfbliAV4+xG2Ju9gWoxE3aoHYWnWK4coSX9dtXtT/vis9RI6MjoXdhvZ2aTa3mi/zY91bq2sQcSKPiw/kr0Pltr11xBzkWl0liufY4d3nEK3cWTBpbAtArURU6330zZ2kaWKvAeOeENA0O+uCPJ1RFEYAmcDembEe7zuKlVjhZqPoAymiJ7YUSOZdbOw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CKBxmdpTfoOmyTPejv/3lOo/EtPuysXYY91sehS4dfs=;
 b=Shb5ii9XBomzpNO0Dj17+qAzCDR9Da+5JR4lbVGZG5C7yAosmx3SI2z4uS19YNm+Urnoz5V10oP7yFO9KJMjTbymZtSyJmyykNgaILN8TvfjGsAvEyHvCHC1fSVFmqu+5U07hFTJ6tjG0unYG6YEyBfDNQ6Mpg3eatuBLTZB92s=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, "Anthony
 PERARD" <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
Subject: [PATCH v7 06/11] libs/guest: introduce helper set cpu topology in cpu policy
Date: Tue, 25 Jan 2022 15:49:30 +0100
Message-ID: <20220125144935.44394-7-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125144935.44394-1-roger.pau@citrix.com>
References: <20220125144935.44394-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MRXP264CA0012.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:15::24) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d6b5b9a4-275f-4dba-038f-08d9e011ff2f
X-MS-TrafficTypeDiagnostic: BYAPR03MB4568:EE_
X-Microsoft-Antispam-PRVS: <BYAPR03MB4568030BC3FB84BFC2375A618F5F9@BYAPR03MB4568.namprd03.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: ByJYa4IQvVpBqu4zl+cNeB+mt2UQ+qLnlU6dF465ERgcraNQQewTPNI0h3ploPfkZT9RuEXHDmDJUzB5qIkKHNP2xkakuHY40/LZizWRgbtljJZReBqgoU/wq1VTaTxHYo5l0GlEJKop70Xz9Kqof0lgIP/kCW2RW1JsTsG9/SloFRaoQS04yu+YIqTgwoeWkj7tsNISOlpdyejFxNlFZGDfv+DRQw9KFyikylavsq4Dkngw3jJqZsxbexyfCfVa7ZQcGRWBLDnFa5GfrR7lxsxQ1vPVDhtztSXZidKwk5O5wKBfUWe84eYs1FqLgdcR8q3eKIyHyGA0xll7aNJ8pGezD7Z+O9VoineyYo3LmT1mmyimhvUPZBRTFHeefy2XPzIHwx+e49zB6p3IXDXJO4SMpJPW3URfZViVCJYtPHepvoyM2Bs0eUOz2rVSN9gHZcpyc0o9emtSHgIU8PNQEPtbERia4s/H97rFUlOGR/lZ+/6KEO8bNPOu+9W0osvaKPzU8orUkaYJF+uxKtObf3COfQM5OgyA8X2QoUrdzp9s5k7YdiqxUbY4eTwPFVkWnEhgT6PUtJEQy3Tq4NayzjMfWNDQDEWZlccg1ZwwLXoB9Hzm55NwK7CwW5u5RatHj47qOUhha0/veDiC64EFhw==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(4326008)(8676002)(26005)(1076003)(2616005)(6512007)(508600001)(6916009)(83380400001)(54906003)(36756003)(2906002)(316002)(8936002)(66476007)(5660300002)(86362001)(6506007)(82960400001)(66556008)(6666004)(186003)(66946007)(6486002)(38100700002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?QTVuOHdVYmtyckErRE91bWZ4eGdOS1JzQVZTQkQ2eXAzZkxkTjJvTzFJVkhQ?=
 =?utf-8?B?WE5BTE1JdTVyK2h6c1AzV0cyckJTMWZQbXJOTlJ4MkhoUW4vakNnY1hUOVkr?=
 =?utf-8?B?TU1Eb3RCRFhDZ0NXU2ZROVFJQVc0T0liL28wcWkyQ3kzZjhQTTZtY201UUl3?=
 =?utf-8?B?SDFZUFRiZk5aVkNna2JLVlFPemt0QVBBaU1mcTRiWGxjemh6TElyNStvbWpN?=
 =?utf-8?B?QTNSUmRTbmVEelh4Z2FMOHAwYWx4L3M3MmFpbENNU0xKWlJPaG9CbTJVM0RN?=
 =?utf-8?B?Yi96VVluaExIQm42di96NFdHeVdLUHFGU3BoVG1DVThaVHVncUNLaFVlZ2Jp?=
 =?utf-8?B?bVQyNzJ3STljbHdPSWQ5MXk4WFV4M3hLTlhRaTRML2x0OEE0T3lWa29lMzl2?=
 =?utf-8?B?RFY3eDRtSXpidk0wQnVBOERzNUs0Q0VIVTFCWkpPeTZvaGZ0T2x2dkxFSzd5?=
 =?utf-8?B?eHA1UW9GVHZpa1duRUxWdzdlcW53dlhMYWdYVEpEelR0OHkyZTZnNWp2emxi?=
 =?utf-8?B?MCtpYnFKYnQ0RkhHdmxnQXpieXNaNHVyMEFKa2tJU2duTWdEUndlRzZFREJC?=
 =?utf-8?B?NERqWkVJUUtoTDZkN3RMOS9VQW5RUmhuVFlqQS93S2U0T2NUejdYOGQrMm1m?=
 =?utf-8?B?S0c3ZjViV2ZBUFh4QWFLOWV1RlkwNklNL3EwMHRCTjZzR0pRSGRTOWR5TmY0?=
 =?utf-8?B?b1BjZldBL3ByVnVHanZRT1JJVUFxbkJmQW5EYjlWOU5EYzM2dHRxVHJSc3pD?=
 =?utf-8?B?TkhQbWtveGdITXdrWW13NVlHa1VWWkdEamxWN0pqclBNbWx4bmVvbkF4VWNq?=
 =?utf-8?B?ZDdaeW5Ram9qbnhQdUVYbWtqMlJiLzd6bm9teW55UTRlWHMxQnZmdDcwRXhj?=
 =?utf-8?B?RE9SSkRReTJiMmVhSmlmRmpQb2pFc2d4T2ZpeFpPOVZoTDZvR1djeEY1ZlYy?=
 =?utf-8?B?ZXU1UmdsYVBEU09wR28ycWRBZzh3eExjZXhHNlhvZ2xzU0xvNWRUWWJZL2oz?=
 =?utf-8?B?b0N3RFBLMko0UlhPeUFyR3JqUTNFM21GampRRFdycVNMTWRIREN3Q0lLMWpj?=
 =?utf-8?B?TDhIeHY4K2dKaEhxUnZLdVRFOXc5K3NGVnZLamk0YWhVNHFEUnFGTjdpS2Rj?=
 =?utf-8?B?eGltYlRlZXFaUWdEZjk3UDVMbDdmTmtKdmhIQ21xbFhJNXIvUHVJeGw0RENy?=
 =?utf-8?B?NXh3QjRBOG13d1pxOFJ4QVBWSERWeE1rSFVyS3JnNlA2T1V0UlU1bVhlSzNZ?=
 =?utf-8?B?L2dKc1VxUkhVRTFtR1JvemNSVUp5ZGV2Vkx5amJqVWlBN0NUbExCSzhKUTcz?=
 =?utf-8?B?a3hMcDF0NWpKWlBrL21Gc0FtQi9wdzR5M2MrNUdTdktUREdTTjVSMzdhRzF1?=
 =?utf-8?B?SWU2YTVlS00xT1JCK2s0YkQ2ZVhzSkNUM2xvZkdjZmZUZGl3SlBCRHZTa2pw?=
 =?utf-8?B?V2M2ZWgzbER6QWNod1FUUkVPd1R2WjBiOHVjMk1QaTNEQTNBZk9jTFBmeTho?=
 =?utf-8?B?OVlXSXZsQTJoeUtKODNEazloTUYyTnBvdkt3M1ZnYy9wODg5a3NUZWhoRUJj?=
 =?utf-8?B?bzZzcU1qYzVNaUd0aTMvaGl2bUZSWDFJb2RGR3R5K3ZLSElsOXpxT2ZnZ3Fl?=
 =?utf-8?B?VWN5bUVTZW5IcDJLUTJXblI3b24xVGpMa2NhMmN3RGRCY296YVFKbnM5MDAv?=
 =?utf-8?B?cittQ0pMbDVBcEhJb2lNMWgya2hxRHBTTURoVkUzbEgvZjlUZ3k2WWxQNWhn?=
 =?utf-8?B?V3J6a05NNDJvQkZiMnJ3MDlZK0lrcE5ZdmZMSHRmR2VmTzBqYTQxL3FaLzlY?=
 =?utf-8?B?RVhrN1NZTVBvWk9SY1BicEphTWYraGhIUGxLZUdlaVBnU1BwVVlENmJTb0Nm?=
 =?utf-8?B?TDc2dWZJWEpxUS9ocFl0aEJOWTJWbG5QNE5sc1E0d1dJU2luVjlDOUxnL1VZ?=
 =?utf-8?B?SzhtaGlLN29NVVRTZzJVOExUaGxCdTIwT3FncHZoWmRDSlZldFJ2clVndzUw?=
 =?utf-8?B?S3M0Um9YUVJScW4zVFArVzNDQVpudERsMFBDeldWNjBvSzUvSTFZeUdrTjRW?=
 =?utf-8?B?VEVzS2FlSXdSSGxJbzVicHlyOXpUQ2Z3dGVuVnd0NUZJdFJXL0JDdXhHakdS?=
 =?utf-8?B?OUl1WWxBVGVIeVNGNWJudW1UL3UyYm1IVGd0MzMzQTlkb0NPaFU2Tm5KVFJR?=
 =?utf-8?Q?3F0vxh2YzaUmmZVyi5ZEQmw=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: d6b5b9a4-275f-4dba-038f-08d9e011ff2f
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 14:50:15.1535
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ntP8zfWioogsrYOpIBPzrMYfROx8XJGk+9AfpbKgK+VlQL531j4WvuHBCxTNPdCzRMFWrd5epiOwgu7Vvzt6Gg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB4568
X-OriginatorOrg: citrix.com

This logic is pulled out from xc_cpuid_apply_policy and placed into a
separate helper. Note the legacy part of the introduced function, as
long term Xen will require a proper topology setter function capable
of expressing a more diverse set of topologies.

No functional change intended.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v6:
 - Pass a host policy to xc_cpu_policy_legacy_topology.

Changes since v5:
 - Keep using the host featureset.
 - Fix copied comment typo.

Changes since v4:
 - s/xc_cpu_policy_topology/xc_cpu_policy_legacy_topology/
---
 tools/include/xenguest.h        |   9 ++
 tools/libs/guest/xg_cpuid_x86.c | 165 ++++++++++++++++----------------
 2 files changed, 91 insertions(+), 83 deletions(-)

diff --git a/tools/include/xenguest.h b/tools/include/xenguest.h
index df18c73984..5e60f81192 100644
--- a/tools/include/xenguest.h
+++ b/tools/include/xenguest.h
@@ -821,6 +821,15 @@ bool xc_cpu_policy_is_compatible(xc_interface *xch, xc_cpu_policy_t *host,
 void xc_cpu_policy_make_compat_4_12(xc_interface *xch, xc_cpu_policy_t *policy,
                                     const xc_cpu_policy_t *host, bool hvm);
 
+/*
+ * Setup the legacy policy topology.
+ *
+ * The `host` parameter should only be provided when creating a policy for a PV
+ * guest.
+ */
+void xc_cpu_policy_legacy_topology(xc_interface *xch, xc_cpu_policy_t *policy,
+                                   const xc_cpu_policy_t *host);
+
 int xc_get_cpu_levelling_caps(xc_interface *xch, uint32_t *caps);
 int xc_get_cpu_featureset(xc_interface *xch, uint32_t index,
                           uint32_t *nr_features, uint32_t *featureset);
diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
index 20fd786da3..6d8d16eed5 100644
--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -429,14 +429,12 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
 {
     int rc;
     xc_dominfo_t di;
-    unsigned int i, nr_leaves, nr_msrs;
+    unsigned int nr_leaves, nr_msrs;
     xen_cpuid_leaf_t *leaves = NULL;
     struct cpuid_policy *p = NULL;
     xc_cpu_policy_t *policy = NULL;
     xc_cpu_policy_t *host = NULL;
     uint32_t err_leaf = -1, err_subleaf = -1, err_msr = -1;
-    uint32_t host_featureset[FEATURESET_NR_ENTRIES] = {};
-    uint32_t len = ARRAY_SIZE(host_featureset);
 
     if ( xc_domain_getinfo(xch, domid, 1, &di) != 1 ||
          di.domid != domid )
@@ -461,24 +459,14 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
          (host = xc_cpu_policy_init()) == NULL )
         goto out;
 
-    /* Get the host policy. */
-    rc = xc_get_cpu_featureset(xch, XEN_SYSCTL_cpu_featureset_host,
-                               &len, host_featureset);
+    rc = xc_cpu_policy_get_system(xch, XEN_SYSCTL_cpu_policy_host, host);
     if ( rc )
     {
-        /* Tolerate "buffer too small", as we've got the bits we need. */
-        if ( errno == ENOBUFS )
-            rc = 0;
-        else
-        {
-            PERROR("Failed to obtain host featureset");
-            rc = -errno;
-            goto out;
-        }
+        PERROR("Failed to get host policy");
+        rc = -errno;
+        goto out;
     }
 
-    cpuid_featureset_to_policy(host_featureset, &host->cpuid);
-
     /* Get the domain's default policy. */
     nr_msrs = 0;
     rc = get_system_cpu_policy(xch, di.hvm ? XEN_SYSCTL_cpu_policy_hvm_default
@@ -562,72 +550,9 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
         }
     }
 
-    if ( !di.hvm )
-    {
-        /*
-         * On hardware without CPUID Faulting, PV guests see real topology.
-         * As a consequence, they also need to see the host htt/cmp fields.
-         */
-        p->basic.htt       = test_bit(X86_FEATURE_HTT, host_featureset);
-        p->extd.cmp_legacy = test_bit(X86_FEATURE_CMP_LEGACY, host_featureset);
-    }
-    else
-    {
-        /*
-         * Topology for HVM guests is entirely controlled by Xen.  For now, we
-         * hardcode APIC_ID = vcpu_id * 2 to give the illusion of no SMT.
-         */
-        p->basic.htt = true;
-        p->extd.cmp_legacy = false;
-
-        /*
-         * Leaf 1 EBX[23:16] is Maximum Logical Processors Per Package.
-         * Update to reflect vLAPIC_ID = vCPU_ID * 2, but make sure to avoid
-         * overflow.
-         */
-        if ( !p->basic.lppp )
-            p->basic.lppp = 2;
-        else if ( !(p->basic.lppp & 0x80) )
-            p->basic.lppp *= 2;
-
-        switch ( p->x86_vendor )
-        {
-        case X86_VENDOR_INTEL:
-            for ( i = 0; (p->cache.subleaf[i].type &&
-                          i < ARRAY_SIZE(p->cache.raw)); ++i )
-            {
-                p->cache.subleaf[i].cores_per_package =
-                    (p->cache.subleaf[i].cores_per_package << 1) | 1;
-                p->cache.subleaf[i].threads_per_cache = 0;
-            }
-            break;
-
-        case X86_VENDOR_AMD:
-        case X86_VENDOR_HYGON:
-            /*
-             * Leaf 0x80000008 ECX[15:12] is ApicIdCoreSize.
-             * Leaf 0x80000008 ECX[7:0] is NumberOfCores (minus one).
-             * Update to reflect vLAPIC_ID = vCPU_ID * 2.  But avoid
-             * - overflow,
-             * - going out of sync with leaf 1 EBX[23:16],
-             * - incrementing ApicIdCoreSize when it's zero (which changes the
-             *   meaning of bits 7:0).
-             *
-             * UPDATE: I addition to avoiding overflow, some
-             * proprietary operating systems have trouble with
-             * apic_id_size values greater than 7.  Limit the value to
-             * 7 for now.
-             */
-            if ( p->extd.nc < 0x7f )
-            {
-                if ( p->extd.apic_id_size != 0 && p->extd.apic_id_size < 0x7 )
-                    p->extd.apic_id_size++;
-
-                p->extd.nc = (p->extd.nc << 1) | 1;
-            }
-            break;
-        }
-    }
+    policy->cpuid = *p;
+    xc_cpu_policy_legacy_topology(xch, policy, di.hvm ? NULL : host);
+    *p = policy->cpuid;
 
     rc = x86_cpuid_copy_to_buffer(p, leaves, &nr_leaves);
     if ( rc )
@@ -933,3 +858,77 @@ void xc_cpu_policy_make_compat_4_12(xc_interface *xch, xc_cpu_policy_t *policy,
     policy->cpuid.feat.max_subleaf = 0;
     policy->cpuid.extd.max_leaf = min(policy->cpuid.extd.max_leaf, 0x8000001c);
 }
+
+void xc_cpu_policy_legacy_topology(xc_interface *xch, xc_cpu_policy_t *policy,
+                                   const xc_cpu_policy_t *host)
+{
+    if ( host )
+    {
+        /*
+         * On hardware without CPUID Faulting, PV guests see real topology.
+         * As a consequence, they also need to see the host htt/cmp fields.
+         */
+        policy->cpuid.basic.htt = host->cpuid.basic.htt;
+        policy->cpuid.extd.cmp_legacy = host->cpuid.extd.cmp_legacy;
+    }
+    else
+    {
+        unsigned int i;
+
+        /*
+         * Topology for HVM guests is entirely controlled by Xen.  For now, we
+         * hardcode APIC_ID = vcpu_id * 2 to give the illusion of no SMT.
+         */
+        policy->cpuid.basic.htt = true;
+        policy->cpuid.extd.cmp_legacy = false;
+
+        /*
+         * Leaf 1 EBX[23:16] is Maximum Logical Processors Per Package.
+         * Update to reflect vLAPIC_ID = vCPU_ID * 2, but make sure to avoid
+         * overflow.
+         */
+        if ( !policy->cpuid.basic.lppp )
+            policy->cpuid.basic.lppp = 2;
+        else if ( !(policy->cpuid.basic.lppp & 0x80) )
+            policy->cpuid.basic.lppp *= 2;
+
+        switch ( policy->cpuid.x86_vendor )
+        {
+        case X86_VENDOR_INTEL:
+            for ( i = 0; (policy->cpuid.cache.subleaf[i].type &&
+                          i < ARRAY_SIZE(policy->cpuid.cache.raw)); ++i )
+            {
+                policy->cpuid.cache.subleaf[i].cores_per_package =
+                  (policy->cpuid.cache.subleaf[i].cores_per_package << 1) | 1;
+                policy->cpuid.cache.subleaf[i].threads_per_cache = 0;
+            }
+            break;
+
+        case X86_VENDOR_AMD:
+        case X86_VENDOR_HYGON:
+            /*
+             * Leaf 0x80000008 ECX[15:12] is ApicIdCoreSize.
+             * Leaf 0x80000008 ECX[7:0] is NumberOfCores (minus one).
+             * Update to reflect vLAPIC_ID = vCPU_ID * 2.  But avoid
+             * - overflow,
+             * - going out of sync with leaf 1 EBX[23:16],
+             * - incrementing ApicIdCoreSize when it's zero (which changes the
+             *   meaning of bits 7:0).
+             *
+             * UPDATE: In addition to avoiding overflow, some
+             * proprietary operating systems have trouble with
+             * apic_id_size values greater than 7.  Limit the value to
+             * 7 for now.
+             */
+            if ( policy->cpuid.extd.nc < 0x7f )
+            {
+                if ( policy->cpuid.extd.apic_id_size != 0 &&
+                     policy->cpuid.extd.apic_id_size < 0x7 )
+                    policy->cpuid.extd.apic_id_size++;
+
+                policy->cpuid.extd.nc = (policy->cpuid.extd.nc << 1) | 1;
+            }
+            break;
+        }
+    }
+}
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 14:50:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 14:50:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260418.449881 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCN9R-00077J-LR; Tue, 25 Jan 2022 14:50:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260418.449881; Tue, 25 Jan 2022 14:50:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCN9R-000772-HS; Tue, 25 Jan 2022 14:50:29 +0000
Received: by outflank-mailman (input) for mailman id 260418;
 Tue, 25 Jan 2022 14:50:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nUgY=SJ=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nCN9P-00033A-RR
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 14:50:28 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 20d22f4d-7dee-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 15:50:26 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 20d22f4d-7dee-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643122226;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=lDIDZVb6t5MamQ41A+NyYPcTCeYrA/MdjwSZFQy8WBQ=;
  b=fjmZJwaRxS8F+UOKlK+eajEsTFuDnpxjUIEXNb7nRDvTmmvF/DzkuKxy
   hfraZIT8RfSxNtoryZ9D8/Fvr0Ds0s5rcHVMkv4J+38n3Wnlsl8+hb7Mq
   RlsgT1qewxZ6BKawMKS9OcCm54xiHDA31kgsvkMr/HKXDfb45xMmdIRkf
   k=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: /4tu2aQOqTy+hLp6kZeyDKlUaENKrTvE/R1IgRQDgCp+HlhJdIFqe8Q7fps9D2qkYxj8HOnDnT
 8EncfjmiKlendAAq1UNct+K1a8n6dSCCH/aazlWC/wAiMORYFMebtOJ4lu+72cky2NbEBCQWXP
 8PywGwCUrOxYsHM3NBkNrnPw1IVhB6onSaYkgkeh8XhQ7kHQGhXF2QlU+t3yGk6tE/A4yETxaf
 7euTY0UJSc2N+fUA9tO9dlednhLtQMMVZ45kyDy8g7r7vtNlP+BmuI+2jQOBKByX8TYLTdDYa9
 qvPnvsDQ9R1GWduk4azWGV9o
X-SBRS: 5.2
X-MesageID: 63124361
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:YpUyyKksk8wjF+gyA9QhAzro5gxlIURdPkR7XQ2eYbSJt1+Wr1Gzt
 xIcWmHVOPeDZTOjL9h3aIrioUkBu8KDzdVqTVNs/n08FSMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BClVlxJVF/fngqoDUUYYoAQgsA180IMsdoUg7wbRh29Q12YLR7z6l4
 rseneWOYDdJ5BYsWo4kw/rrRMRH5amaVJsw5zTSVNgT1LPsvyB94KE3fMldG0DQUIhMdtNWc
 s6YpF2PEsE1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXee0v0XRYRQR4/ttmHozx+4
 NFErYStDl8PBbSSvb48aBoBNhonZbITrdcrIVDn2SCS50jPcn+qyPRyFkAme4Yf/46bA0kXq
 6ZecmpUKEne2aTmm9pXScE17ignBNPsM44F/Glp0BnSDOo8QICFSKLPjTNd9Glr35oSRqiHD
 yYfQRBjQynhPgESAUsOEJA5pfjrln/UUTIN/Tp5ooJoujOOnWSdyoPFMtXPfceRbd5IhUver
 WXDl0zmBjkKOdrZziCKmlq8i+mKkS7lVYY6ELyj6uUskFCV3nYUChAdSR28u/bRt6Klc4sBc
 QpOoHNo9PVsshzwJjXgY/GmiHqNpgYBHIJ2KPRkzVus8amNxj3AXndRG1atd+canMMxQDUr0
 HqAkNXoGSFjvdWpdJ6NyluHhWjsYHZIdAfucQdBFFJYuIe7/OnfmzqSFo4LLUKjsjHi9dgcK
 RiupTN2ubgchNVjO06TrQGe2GLESnQko2cICuTrsoCNs1sRiG2NPdXABb3nARBodtrxor6p5
 yBspiRmxLpSZaxhbQTUKAn3IJmn5uyeLBrXikN1Ep8q+lyFoiD/JtgMsW4hehY4aq7onAMFh
 meJ5Wu9A7cIZBOXgVJfOdrtW6zGM4C+fTgaahwkRoUXOcUgHON21CpveVSRzwjQfLsEyskC1
 WOgWZ/0Vx4yUP0/pBLvHrt1+eJ1mkgWmD2CLbimn0XP+efPPxa9FOZaWGZim8hktstoVi2Pr
 YYGXyZLoj0CONDDjt7/qN5KcgtSfCFlXPgbaaV/L4a+H+avI0l4Y9f5yrI9YY112aNTk+bD5
 HamXUFEjlH4gBX6xc+iNhiPsZvjAsRyq2wVJyspMQr60nQve9/3vqwea4E2bf8s8+k6lax4S
 PwMesOhBPVTS2uYp2RBPMel9IEyJg62gQ+uPja+ZGRtdZBXWAGUqMTveRHi9XdSA3Pv59c+u
 bCpyijSXYEHG1Z5FM/TZf/2lwGxsHERlfhcRUzNJtUPKkzg/JIzc376j+MtItFKIhLGn2PI2
 wGTCBYehO/Mv45qr4WZ2fHa99+kSrIsEFBbEm/X6aeNGRPbpmfzk5VdVOuofCzGUD+m8quVe
 ugIner3N+cKnQgWvtMkQapr1683+/Dmu6ReklZ/BHzOYlmmVuFgL32B0ZUdv6FB3OYE6w6/W
 0bJ8dhGI7SZfsjiFQdJdgYia+2C09ASmyXTsqtpcBmruncv8erVS1hWMjmNlDdZfel8P44Sy
 Os8vNIbtl6kgR0wP9fa1i1Z+gxg9JDbv3nLYn3CPLLWtw==
IronPort-HdrOrdr: A9a23:ch644q4mlwXFCwk2UwPXwVKBI+orL9Y04lQ7vn2ZFiY6TiXIra
 +TdaoguSMc6AxwZJkh8erwX5VoJkmsiqKdgLNhQYtKOTOGhILGFvAa0WKP+UyEJ8S6zJ8m6U
 4CSdkPNDSTNykDsS+S2mDReLxMsbr3kpxAx92uskuFJTsaGp2IhD0JbDpzfHcGIDWvUvECZe
 ShD4d81nCdUEVSSv7+KmgOXuDFqdGOvJX6YSQeDxpizAWVlzun5JPzDhDdh34lIn9y6IZn1V
 KAvx3y562lvf3+4hjA11XL55ATvNf60NNMCOGFl8BQADTxjQSDYphnRtS5zX0IidDqzGxvvM
 jHoh8mMcg2w3TNflutqR+o4AXk2CZG0Q6q9XaoxV/Y5eDpTjMzDMRMwahDdAHC1kYmtNZglI
 pWwmOwrfNsfFL9tRW4w+KNewBhl0Kyr3Znu/UUlWZjXYwXb6IUhZAD/XlSDIwLEEvBmc4a+d
 FVfYLhDcttABGnhyizhBgr/DXsZAV9Iv6+eDlDhiTPuAIm2EyQzCMjtboidzk7hdUAoqJ/lp
 b525JT5cZzp/8tHNFA7dg6ML6K4xT2MGnx2UKpUBza/fI8SjnwQ6Ce2sRA2AjtQu1P8KcP
X-IronPort-AV: E=Sophos;i="5.88,315,1635220800"; 
   d="scan'208";a="63124361"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jWxxymfO+xm7lzsZl18IKJ8ifsKXfSbQlSK9CNa4y5BojxTACQxJSTNBWBtJfGbJaj5wiQDPAhHULOgybPR6daGOCoQb01pXC8w607B6ZiVTfdHIFACME8p+7p7RChN2rKpjSpbRjo3lyRX3eCytRlPxTh0yCSGsrTmdK7WMvH9LrvaUuIdo8PPvrIqcSA4+ziLg4kIk9lOavMl2SkmGIhykQmjKCrcWuY72LSEs/nuvCymuJyoEGgJK6hv9fkvQ0todznSAI0AIXyp5x9PCTSYXq3PiUrHbuCeYKK1YhaQcyZsfvWbq6XrtIlibbjc2GwwQzQl3ZbtQ6nY75Xr58A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=i5SdJW4L4cnkKhyxvx6qW9ANbG0AO2oH1BePie71Hvo=;
 b=arl7Ti4CAljTVZcILAT6m93JBm5X2jBP1D/Od5sVRwaYDKB3prZ87N3JXklvdA8CVurc/n/LsERKJRQG/wa9yYNQdBe27NSXOkxkqHdlRSmPvkuhymdutVI1PvOfE/NSzsI6Syg85ROkKBoNmtA/gK9DymQ9sgoG7hAtMHjtNlwv4oStB1dy5fOc6PlADEoIkGKz90Hpl1RPFTHg25P3k1HaUjkeMjtlkDQgtICBIxsOZHZ4X/eFbg9VswZ9ChTbkROCzh6L+JruC0QF2Zx9vIUf+J6iPV1vABWKfR8wIluRDKEiXeOOgE6LyqEW7X5+w3vJkMw2er7LJZX3mI+OXA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=i5SdJW4L4cnkKhyxvx6qW9ANbG0AO2oH1BePie71Hvo=;
 b=Hkfpk8PqJvBvf/h4bVns3/ytS9T23PYGwh7wSkiQLfJZFZVgBjiAHBfrljo1JjEkhpeB9I3t9MQvgC1cHBo3NNzBWaa1IQ6B5moAql+xqhVweJHHTD+QC+GzOkDWUOYT7vsqRcyC/nPeCT19+4hEwW10QZT7G5/W35sGBL72hE4=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, "Anthony
 PERARD" <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
Subject: [PATCH v7 07/11] libs/guest: rework xc_cpuid_xend_policy
Date: Tue, 25 Jan 2022 15:49:31 +0100
Message-ID: <20220125144935.44394-8-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125144935.44394-1-roger.pau@citrix.com>
References: <20220125144935.44394-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MR2P264CA0053.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:31::17) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: fcf90436-44da-42fc-18a0-08d9e0120255
X-MS-TrafficTypeDiagnostic: BYAPR03MB4568:EE_
X-Microsoft-Antispam-PRVS: <BYAPR03MB4568786A4EFBA89E83B7B39D8F5F9@BYAPR03MB4568.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:65;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 4/M9tjTP9PlX8iQoM/Vf9iWEktbwQgp90VaQvB8QhqraMSRb4PNmQzVjhqIbh/OnK7jHP/7UkXKAhBXRWFyTclrn8Uy+YRi0sgzScxgmLxq8TgJBeQuaVn+dW90gTHs0HQyA4RTuzKForKUGQu+t6oCjbTfnzBIrgVITHSYMm0CFCekVjR4kp0Va3ETgOV/YSx0pBof1WDibe7ZAgBujcVdJ0D7+MxBOgbMnqx5Xe8vST5vY+eayNQHuI1W3oXK3JzOvdpQ/X/x08BgQEtdwdYU4Azt+aV1QpFdSGuem+clUGw9JQgzNDzpkBk+0Pv7Xax91x5OTUqiduNeYKgYyqVbZjUbuNtljXs1ykkug6buUWBRdhN2gMlubivOqfZ49vidKtEC8S08MV8lETa0jmqrDGYKy3RcvcBudL/PRbi+1tAygb09mxn2wvw3z9GxGy4Qwe2rYkTua4ACoer9GwYIUmOLJDfFW2IjXgDn0Qs2dEo5kcjnsbQk79Mt5OqiF/RZNGmDmCxBs+my9/vhHgQVnUW2GBIoPO6dfGG50D20JlN7GBHKH38LAnduMufhw306tnpWaUJan/31O2AvY7p2Et+0cprSc5wOaZMaM9NY1i0kzsjcqDLS7hmGHxAukHgPlrClubqwBxN0LbBBTgA==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(4326008)(8676002)(26005)(1076003)(2616005)(6512007)(508600001)(6916009)(83380400001)(54906003)(36756003)(2906002)(316002)(8936002)(66476007)(5660300002)(86362001)(6506007)(82960400001)(66556008)(6666004)(186003)(66946007)(6486002)(38100700002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?YnR1NGFjTnV6cmh1eE5GVDNtb1BxTDdldjVFUVpOeDgySkg2RW9KOUtIemFR?=
 =?utf-8?B?Sk9JdVBZKzJmTjZTOWZNK1Y1SWZJeGJMK1pQN1ByTS9kWUxFMXRzanBhNWYx?=
 =?utf-8?B?SXZNd1RqMHF2MXp2YU1LVGplWUpQN2dERm82VGFLTnBEcFVPL2JvR2p3RzFG?=
 =?utf-8?B?VkpOQjVlTDd5bDNQVTF0bVExcnhSR2Q2RURnWGJqRzdsUlNWOTVuNFdrYVps?=
 =?utf-8?B?NWR2OXVmZkhydytOckVQcGxvNTRSY0E0NmcrUkRqOXJ5eTY5OWJMN1hXbVFX?=
 =?utf-8?B?dUN4cTgzb0lCMHRtQkJpS2JKRDA1ZUFnd0xNb2xTUUxLTlpPRHArdGFvbFlS?=
 =?utf-8?B?VGVIamh0b1ptL3hMNk5OUnJ5ZE11cjk3T1RJb0wrTGlKYk1OeDlSNmtlbmdH?=
 =?utf-8?B?M2RFK2xGemhxVDVkR2hLZU12ZGhIZ2Z1QStSWGNsSFk4b2NWMmlnSEhLeTJJ?=
 =?utf-8?B?WE9td1N4MUF2dDFEQldDcFczY0VzSkNGWXNya1ErVjZCdElJQ2IzZ05WTWpT?=
 =?utf-8?B?TVRKRGlPMm0vSmdHY0xwUGVsYzlSV1RpWm9uZWtDZ0pvcE5TL3pmTDF3UzA1?=
 =?utf-8?B?aG1KZGcwaVhUNGdHYmhENVl5VUdSc3Y3aGR1Q3lIQXlES2I1bWMxMzlJd1p6?=
 =?utf-8?B?elZXRndPalZoL3FTMFVjUDNxUjJQb2RIZ0swZDRaR3pwb2cvU0JWdktWYW5M?=
 =?utf-8?B?QUpxMDFzMUZ2aXFGRG1DOUQ3Q1hWUnFFa0NZRTFDRjhYd1Y0ZnhiV1VpNWU2?=
 =?utf-8?B?RU5YbGhmUTVBdnZncVNpTkNoK2NmUDhlUmZFRUx4N0ZzSXBMSm1ONFBxQXM3?=
 =?utf-8?B?ZVpzZ3hXeXNSa3dvdXVIZlMrRnkvbnJGNHdnbnFFQndtNFIrajBpTk8zeCs4?=
 =?utf-8?B?Vktob3BNOHpING5iaGd2dkNNTkRrZldLY2M4T3cwVWZzYWFDd0pXanVVRlRZ?=
 =?utf-8?B?VVY5bzJwRDRwTGVMNFhkdzVENHpWMzdFQVkvUHVSUkYrV21KZkkzRk81RDl3?=
 =?utf-8?B?K1dlR3hXQUs5QkhiT09qaWg5ZXFEb2V0TFYyV1A3Y1VUV0dPOGVzbk5DOS9t?=
 =?utf-8?B?T2h5R0JQbjliQ1pXRWxiTWFSWHNQWHdqYnowendRTlpiQTVVbDUrcFdWTVZT?=
 =?utf-8?B?a2JsWEFub21JZkJPUkFGY0d5SlZPWllhSlhGcm1UUjIxMjl1Z0p5RkZnWVV5?=
 =?utf-8?B?TmhRd29Ic21BWWZJajdXQ091TGdSK2VVU0lJWCtObFFmV0VOOUJBYlRrWkoz?=
 =?utf-8?B?Q2NZdDhYQXp1eVlWMzNsdTB5MjdQTURVbHNYSVBwRS9hZi90d0pYbUZTQWI3?=
 =?utf-8?B?eWJmT2FmMjBYNnh2TEU0eDYwRVZzSEdqNC83a1doUDdDbWZSWjRaQndtOEtm?=
 =?utf-8?B?aW05UVM4VnkwOUlYY3pnYlZRd3ZDQmEvempWbVpxV1gyODRqZ0lJbzZsRSty?=
 =?utf-8?B?TTNsMWJicEFJNFpvL2FrY0hRQjd4TzN4TWhNbzJNR3hwL2o1Rnc3dkk0QzJo?=
 =?utf-8?B?Q1ZwVlgwcjZmR2Njb3JEeUF2L1FZT2xDOUUzSDdhakdnaUJjK2owOXJsc2Ux?=
 =?utf-8?B?eE8veDR1dGZOSnJPVlpiK2grMWhHNWNvYWxpc09tdy80TkYyTi9XVEZHbWx2?=
 =?utf-8?B?Q3BiWTN5a2tkaUt6UTdKVkRXc3BlOVJ0QUMxOFhzZkhZSHdNL2lDT0YxWWRJ?=
 =?utf-8?B?cWZ0b25qZWlOV0diL1ZOc21peVc1WnpUQUdCanFleGlOaXFieGZtQWtBMFZO?=
 =?utf-8?B?b0thUWVTK3ZHdGJIOE1CYUVIVndpQjk5QU1uTGdMeElJSExqNnlZdU9mU2dI?=
 =?utf-8?B?MlRxUEUxU1BVS1hSUFhKWXBPQ01xZ1ZmQzkvMDNTTCtGZklUblhac2hkME9F?=
 =?utf-8?B?UUdWdGhpOVpoeUpGOGc2anZBTC9ENTBSdkVFQm1lbElLdmNsU0hraWxCaVZZ?=
 =?utf-8?B?Z2poOUwycjBwNUgzWTlqUDBYS05FVStCUmxtSWtzTGZMWWNtai9URnhWRzlU?=
 =?utf-8?B?dnNOSms0NzdLSnkrd3JiM0VLNVhPYkU2NEphQ3FzWkRyY2ZGTjRGUEtlKzd2?=
 =?utf-8?B?dVVYM3E1aW13SHFHWlEwdmRsblRwQkU0Y1cxbDZHWGVWR1lQdGR2WFVNeis4?=
 =?utf-8?B?cVFWcWkrekdaZVlod2FudXFhNjRHN1lHZjRWVTc4ZndpSkVta2pKYW04SmVB?=
 =?utf-8?Q?VY3NpekdNF5tjGSoUsLt9Wc=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: fcf90436-44da-42fc-18a0-08d9e0120255
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 14:50:20.4518
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vjnJlXs7Q/OLnNIMNnFjBIKLME6Xe9dgxA75kxIEApHxsgKX/+5HbCxL5KmXBsoIh8InBrKp6NzpMXjdHdRowQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB4568
X-OriginatorOrg: citrix.com

Rename xc_cpuid_xend_policy to xc_cpu_policy_apply_cpuid and make it
public. Modify the function internally to use the new xc_cpu_policy_*
set of functions. Also don't apply the passed policy to a domain
directly, and instead modify the provided xc_cpu_policy_t. The caller
will be responsible of applying the modified cpu policy to the domain.

Note that further patches will end up removing this function, as the
callers should have the necessary helpers to modify an xc_cpu_policy_t
themselves.

The find_leaf helper and related comparison function is also removed,
as it's no longer needed to search for cpuid leafs as finding the
matching leaves is now done using xc_cpu_policy_get_cpuid.

No functional change intended.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v6:
 - Pass a host policy to xc_cpuid_apply_policy.

Changes since v3:
 - Drop find_leaf and comparison helper.
---
 tools/include/xenguest.h        |   5 +
 tools/libs/guest/xg_cpuid_x86.c | 203 ++++++++++++--------------------
 2 files changed, 81 insertions(+), 127 deletions(-)

diff --git a/tools/include/xenguest.h b/tools/include/xenguest.h
index 5e60f81192..98a998f11d 100644
--- a/tools/include/xenguest.h
+++ b/tools/include/xenguest.h
@@ -830,6 +830,11 @@ void xc_cpu_policy_make_compat_4_12(xc_interface *xch, xc_cpu_policy_t *policy,
 void xc_cpu_policy_legacy_topology(xc_interface *xch, xc_cpu_policy_t *policy,
                                    const xc_cpu_policy_t *host);
 
+/* Apply an xc_xend_cpuid object to the policy. */
+int xc_cpu_policy_apply_cpuid(xc_interface *xch, xc_cpu_policy_t *policy,
+                              const xc_cpu_policy_t *host,
+                              const struct xc_xend_cpuid *cpuid, bool hvm);
+
 int xc_get_cpu_levelling_caps(xc_interface *xch, uint32_t *caps);
 int xc_get_cpu_featureset(xc_interface *xch, uint32_t index,
                           uint32_t *nr_features, uint32_t *featureset);
diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
index 6d8d16eed5..3503f21793 100644
--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -254,144 +254,99 @@ int xc_set_domain_cpu_policy(xc_interface *xch, uint32_t domid,
     return ret;
 }
 
-static int compare_leaves(const void *l, const void *r)
-{
-    const xen_cpuid_leaf_t *lhs = l;
-    const xen_cpuid_leaf_t *rhs = r;
-
-    if ( lhs->leaf != rhs->leaf )
-        return lhs->leaf < rhs->leaf ? -1 : 1;
-
-    if ( lhs->subleaf != rhs->subleaf )
-        return lhs->subleaf < rhs->subleaf ? -1 : 1;
-
-    return 0;
-}
-
-static xen_cpuid_leaf_t *find_leaf(
-    xen_cpuid_leaf_t *leaves, unsigned int nr_leaves,
-    const struct xc_xend_cpuid *xend)
-{
-    const xen_cpuid_leaf_t key = { xend->leaf, xend->subleaf };
-
-    return bsearch(&key, leaves, nr_leaves, sizeof(*leaves), compare_leaves);
-}
-
-static int xc_cpuid_xend_policy(
-    xc_interface *xch, uint32_t domid, const struct xc_xend_cpuid *xend)
+int xc_cpu_policy_apply_cpuid(xc_interface *xch, xc_cpu_policy_t *policy,
+                              const xc_cpu_policy_t *host,
+                              const struct xc_xend_cpuid *cpuid, bool hvm)
 {
     int rc;
-    xc_dominfo_t di;
-    unsigned int nr_leaves, nr_msrs;
-    uint32_t err_leaf = -1, err_subleaf = -1, err_msr = -1;
-    /*
-     * Three full policies.  The host, default for the domain type,
-     * and domain current.
-     */
-    xen_cpuid_leaf_t *host = NULL, *def = NULL, *cur = NULL;
-    unsigned int nr_host, nr_def, nr_cur;
+    xc_cpu_policy_t *def = NULL;
 
-    if ( xc_domain_getinfo(xch, domid, 1, &di) != 1 ||
-         di.domid != domid )
+    def = xc_cpu_policy_init();
+    if ( !def )
     {
-        ERROR("Failed to obtain d%d info", domid);
-        rc = -ESRCH;
-        goto fail;
-    }
-
-    rc = xc_cpu_policy_get_size(xch, &nr_leaves, &nr_msrs);
-    if ( rc )
-    {
-        PERROR("Failed to obtain policy info size");
-        rc = -errno;
-        goto fail;
-    }
-
-    rc = -ENOMEM;
-    if ( (host = calloc(nr_leaves, sizeof(*host))) == NULL ||
-         (def  = calloc(nr_leaves, sizeof(*def)))  == NULL ||
-         (cur  = calloc(nr_leaves, sizeof(*cur)))  == NULL )
-    {
-        ERROR("Unable to allocate memory for %u CPUID leaves", nr_leaves);
-        goto fail;
-    }
-
-    /* Get the domain's current policy. */
-    nr_msrs = 0;
-    nr_cur = nr_leaves;
-    rc = get_domain_cpu_policy(xch, domid, &nr_cur, cur, &nr_msrs, NULL);
-    if ( rc )
-    {
-        PERROR("Failed to obtain d%d current policy", domid);
-        rc = -errno;
-        goto fail;
+        PERROR("Failed to init policy");
+        rc = -ENOMEM;
+        goto out;
     }
 
     /* Get the domain type's default policy. */
-    nr_msrs = 0;
-    nr_def = nr_leaves;
-    rc = get_system_cpu_policy(xch, di.hvm ? XEN_SYSCTL_cpu_policy_hvm_default
+    rc = xc_cpu_policy_get_system(xch, hvm ? XEN_SYSCTL_cpu_policy_hvm_default
                                            : XEN_SYSCTL_cpu_policy_pv_default,
-                               &nr_def, def, &nr_msrs, NULL);
-    if ( rc )
-    {
-        PERROR("Failed to obtain %s def policy", di.hvm ? "hvm" : "pv");
-        rc = -errno;
-        goto fail;
-    }
-
-    /* Get the host policy. */
-    nr_msrs = 0;
-    nr_host = nr_leaves;
-    rc = get_system_cpu_policy(xch, XEN_SYSCTL_cpu_policy_host,
-                               &nr_host, host, &nr_msrs, NULL);
+                                  def);
     if ( rc )
     {
-        PERROR("Failed to obtain host policy");
-        rc = -errno;
-        goto fail;
+        PERROR("Failed to obtain %s def policy", hvm ? "hvm" : "pv");
+        goto out;
     }
 
     rc = -EINVAL;
-    for ( ; xend->leaf != XEN_CPUID_INPUT_UNUSED; ++xend )
+    for ( ; cpuid->leaf != XEN_CPUID_INPUT_UNUSED; ++cpuid )
     {
-        xen_cpuid_leaf_t *cur_leaf = find_leaf(cur, nr_cur, xend);
-        const xen_cpuid_leaf_t *def_leaf = find_leaf(def, nr_def, xend);
-        const xen_cpuid_leaf_t *host_leaf = find_leaf(host, nr_host, xend);
+        xen_cpuid_leaf_t cur_leaf;
+        xen_cpuid_leaf_t def_leaf;
+        xen_cpuid_leaf_t host_leaf;
 
-        if ( cur_leaf == NULL || def_leaf == NULL || host_leaf == NULL )
+        rc = xc_cpu_policy_get_cpuid(xch, policy, cpuid->leaf, cpuid->subleaf,
+                                     &cur_leaf);
+        if ( rc )
         {
-            ERROR("Missing leaf %#x, subleaf %#x", xend->leaf, xend->subleaf);
-            goto fail;
+            ERROR("Failed to get current policy leaf %#x subleaf %#x",
+                  cpuid->leaf, cpuid->subleaf);
+            goto out;
+        }
+        rc = xc_cpu_policy_get_cpuid(xch, def, cpuid->leaf, cpuid->subleaf,
+                                     &def_leaf);
+        if ( rc )
+        {
+            ERROR("Failed to get def policy leaf %#x subleaf %#x",
+                  cpuid->leaf, cpuid->subleaf);
+            goto out;
+        }
+        rc = xc_cpu_policy_get_cpuid(xch, host, cpuid->leaf, cpuid->subleaf,
+                                     &host_leaf);
+        if ( rc )
+        {
+            ERROR("Failed to get host policy leaf %#x subleaf %#x",
+                  cpuid->leaf, cpuid->subleaf);
+            goto out;
         }
 
-        for ( unsigned int i = 0; i < ARRAY_SIZE(xend->policy); i++ )
+        for ( unsigned int i = 0; i < ARRAY_SIZE(cpuid->policy); i++ )
         {
-            uint32_t *cur_reg = &cur_leaf->a + i;
-            const uint32_t *def_reg = &def_leaf->a + i;
-            const uint32_t *host_reg = &host_leaf->a + i;
+            uint32_t *cur_reg = &cur_leaf.a + i;
+            const uint32_t *def_reg = &def_leaf.a + i;
+            const uint32_t *host_reg = &host_leaf.a + i;
 
-            if ( xend->policy[i] == NULL )
+            if ( cpuid->policy[i] == NULL )
                 continue;
 
             for ( unsigned int j = 0; j < 32; j++ )
             {
                 bool val;
 
-                if ( xend->policy[i][j] == '1' )
+                switch ( cpuid->policy[i][j] )
+                {
+                case '1':
                     val = true;
-                else if ( xend->policy[i][j] == '0' )
+                    break;
+
+                case '0':
                     val = false;
-                else if ( xend->policy[i][j] == 'x' )
+                    break;
+
+                case 'x':
                     val = test_bit(31 - j, def_reg);
-                else if ( xend->policy[i][j] == 'k' ||
-                          xend->policy[i][j] == 's' )
+                    break;
+
+                case 'k':
+                case 's':
                     val = test_bit(31 - j, host_reg);
-                else
-                {
+                    break;
+
+                default:
                     ERROR("Bad character '%c' in policy[%d] string '%s'",
-                          xend->policy[i][j], i, xend->policy[i]);
-                    goto fail;
+                          cpuid->policy[i][j], i, cpuid->policy[i]);
+                    goto out;
                 }
 
                 clear_bit(31 - j, cur_reg);
@@ -399,25 +354,18 @@ static int xc_cpuid_xend_policy(
                     set_bit(31 - j, cur_reg);
             }
         }
-    }
 
-    /* Feed the transformed currrent policy back up to Xen. */
-    rc = xc_set_domain_cpu_policy(xch, domid, nr_cur, cur, 0, NULL,
-                                  &err_leaf, &err_subleaf, &err_msr);
-    if ( rc )
-    {
-        PERROR("Failed to set d%d's policy (err leaf %#x, subleaf %#x, msr %#x)",
-               domid, err_leaf, err_subleaf, err_msr);
-        rc = -errno;
-        goto fail;
+        rc = xc_cpu_policy_update_cpuid(xch, policy, &cur_leaf, 1);
+        if ( rc )
+        {
+            PERROR("Failed to set policy leaf %#x subleaf %#x",
+                   cpuid->leaf, cpuid->subleaf);
+            goto out;
+        }
     }
 
-    /* Success! */
-
- fail:
-    free(cur);
-    free(def);
-    free(host);
+ out:
+    xc_cpu_policy_destroy(def);
 
     return rc;
 }
@@ -425,7 +373,7 @@ static int xc_cpuid_xend_policy(
 int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
                           const uint32_t *featureset, unsigned int nr_features,
                           bool pae, bool itsc, bool nested_virt,
-                          const struct xc_xend_cpuid *xend)
+                          const struct xc_xend_cpuid *cpuid)
 {
     int rc;
     xc_dominfo_t di;
@@ -554,6 +502,10 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
     xc_cpu_policy_legacy_topology(xch, policy, di.hvm ? NULL : host);
     *p = policy->cpuid;
 
+    rc = xc_cpu_policy_apply_cpuid(xch, policy, host, cpuid, di.hvm);
+    if ( rc )
+        goto out;
+
     rc = x86_cpuid_copy_to_buffer(p, leaves, &nr_leaves);
     if ( rc )
     {
@@ -571,9 +523,6 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
         goto out;
     }
 
-    if ( xend && (rc = xc_cpuid_xend_policy(xch, domid, xend)) )
-        goto out;
-
     rc = 0;
 
 out:
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 14:57:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 14:57:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260432.449908 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCNFj-0000iz-Ap; Tue, 25 Jan 2022 14:56:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260432.449908; Tue, 25 Jan 2022 14:56:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCNFj-0000iA-24; Tue, 25 Jan 2022 14:56:59 +0000
Received: by outflank-mailman (input) for mailman id 260432;
 Tue, 25 Jan 2022 14:56:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nUgY=SJ=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nCN9k-000334-4U
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 14:50:48 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 148dc079-7dee-11ec-bc18-3156f6d857e4;
 Tue, 25 Jan 2022 15:50:05 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 148dc079-7dee-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643122246;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=KehW/ppR9KkdMz2wBJMq+fcXNAE0ZsiGBu8urAjaEOk=;
  b=RpZbS58OEmFVH4At5y+cl+B+dzVv9dqeqiPnwSIMBFxyL9xOsE7aA0nF
   7Cl4GBF6al0xn8q1evaArMSClw8vrrLwNkvTKLkZJXnecYMsa9cvhuS15
   P4evDq0pmRY7phZn3jDzYw6matGtC+houFpHiYTZJ7N3G2/Jgyzq33Ovg
   Y=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: 4P91bjosiRIYw1kXSUMChskYapjw8Qjf3faiNc9mA4B+qRxoPa7E+N6Ohl+KScvZBK5WBzIENN
 N16cPsS+QV2tAH51mwUbZYhEuJIhYmjoh4zhVbwSLe1QNdLjF3VKjqNI2oW6/8h5G/9Y4PEJ9x
 5DWN3jc0BY4luZp2FUgVBIWjL3GrsYFOqEOMOPYI3Yb4wygCo+Rbh0m1tpLKW3Tdv9WDj+Fi/m
 rFqG5rrpS1+S56kZ6ikC3ysoSLZDYmIgCWOZeXBiq613HyRHWsWs2HLydpq0/k3iwl2nedQBQK
 pcaC0Vgw5P3Ssdz9qvJJ2srl
X-SBRS: 5.2
X-MesageID: 62635697
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:03I+oqnHQSeR1OTOFAdA5nTo5gxlIURdPkR7XQ2eYbSJt1+Wr1Gzt
 xJNDD/XM63ZM2P2KYglaYXkpEtXvJbUyoVqHgo6+yEyRCMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BClVlxJVF/fngqoDUUYYoAQgsA180IMsdoUg7wbRh29Q12YLR7z6l4
 rseneWOYDdJ5BYsWo4kw/rrRMRH5amaVJsw5zTSVNgT1LPsvyB94KE3fMldG0DQUIhMdtNWc
 s6YpF2PEsE1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXee0v0XRYRQR4/ttmHozx+4
 Ilvj52vDg44BaPzvcA/YkIBAisgHoQTrdcrIVDn2SCS50jPcn+qyPRyFkAme4Yf/46bA0kXq
 6ZecmpUKEne2aTmm9pXScE17ignBNPsM44F/Glp0BnSDOo8QICFSKLPjTNd9Glq2JsTQ6eBD
 yYfQRFzYw6QTiBqA3MOIrJjm7qwtGvfTiIN/Tp5ooJoujOOnWSdyoPFMtXPfceRbd5IhUver
 WXDl0zmBjkKOdrZziCKmlq8i+mKkS7lVYY6ELyj6uUskFCV3nYUChAdSR28u/bRt6Klc4sBc
 QpOoHNo9PVsshzwJjXgY/GmiCKmhB8DHNNBKOMFzSWv+/GN8gzHJUFRG1atd+canMMxQDUr0
 HqAkNXoGSFjvdWpdJ6NyluHhWjsYHZIdAfucQdBFFJYuIe7/OnfmzqSFo4LLUKjsjHi9dgcK
 RiupTN2ubgchNVjO06TrQGe2GLESnQko2cICuTrsoCNs1sRiG2NPdXABb3nARBodtrxor6p5
 yBspiRmxLpSZaxhbQTUKAn3IJmn5uyeLBrXikN1Ep8q+lyFoiD/JtgMsW4hehY4aq7onAMFh
 meJ5Wu9A7cIZBOXgVJfOdrtW6zGM4C+fTgaahwkRoUXOcUgHON21CpveVSRzwjQfLsEyskC1
 WOgWZ/0Vx4yUP0/pBLvHrt1+eJ1mkgWmD2CLbimn0XP+efPPxa9FOZaWGZim8hktstoVi2Pr
 YYGXyZLoj0CONDDjt7/qN5KcgtSfCFlXPgbaaV/L4a+H+avI0l4Y9f5yrI9YY112aNTk+bD5
 HamXUFEjlH4gBX6xc+iNBiPsZvjAsRyq2wVJyspMQr60nQve9/3vqwea4E2bf8s8+k6lax4S
 PwMesOhBPVTS2uYp2RBPMel9IEyJg62gQ+uPja+ZGRtdZBXWAGUqMTveRHi9XdSA3Pv59c+u
 bCpyijSXYEHG1Z5FM/TZf/2lwGxsHERlfhcRUzNJtUPKkzg/JIzc376j+MtItFKIhLGn2PI2
 wGTCBYehO/Mv45qr4WZ2fHa99+kSrIsEFBbEm/X6aeNGRPbpmfzk5VdVOuofCzGUD+m8quVe
 ugIner3N+cKnQgWvtMkQapr1683+/Dmu6ReklZ/BHzOYlmmVuFgL32B0ZUdv6FB3OYE6w6/W
 0bJ8dhGI7SZfsjiFQdJdgYia+2C09ASmyXTsqtpcBmruncv8erVS1hWMjmNlDdZfel8P44Sy
 Os8vNIbtl6kgR0wP9fa1i1Z+gxg9JDbv3nLYn3CPLLWtw==
IronPort-HdrOrdr: A9a23:Snyz6699adVoL87wYnhuk+FAdb1zdoMgy1knxilNoENuHfBwxv
 rDoB1E73LJYVYqOU3Jmbi7Sc29qBTnhOJICOgqTMqftWzd1ldAQ7sSi7cKrweQeREWs9Qtrp
 uIEJIOeeEYb2IK9PoSiTPQe71LoKjlzEnrv5al854Ed3AVV0gK1XYfNu/0KDwSeOEQbqBJa6
 Z0q/A37AaISDAyVICWF3MFV+/Mq5nik4/nWwcPA1oC5BOVhT2lxbbmG1zAty1uHg9n8PMHyy
 zoggb57qKsv7WSzQLd7Xba69BzlMH6wtVOKcSQgow+KynqiCyveIN9Mofy9gwdkaWK0hIHgd
 PMqxAvM4Ba7G7QRHi8pV/X1wzpwF8Vmgnf4G7dpUGmjd3yRTo8BcYEr5leaAHl500pu8w5+L
 5X3kqC3qAnQy/orWDY3ZzlRhtqnk27rT4JiugIlUFSVoMYdft4sZEfxkVIC50NdRiKp7zPKN
 MeTP002cwmMm9zNxvizytSKZ2XLzgO9y69Mwk/Upf/6UkSoJh7p3Fos/D30E1wsK7VcKM0lN
 gsBJ4Y4I2mfvVmHZ6VO91xM/dfcla9OS4kEFjiaGgPR5t3c04klfbMkcAIDaeRCds18Kc=
X-IronPort-AV: E=Sophos;i="5.88,315,1635220800"; 
   d="scan'208";a="62635697"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CFaOzvXTijBzXfbH+Dw9jr3JeDu1KNm/bA3/w+I0r8EEcJJOW4u4l+JSn4yfgFFjQ0E5h3qte5XFtoPPziIo4Nvcqhf0cRO3DZ/F1OExCgpiDUgr3xAogB1yEES07U48hEc/sejEbnyP4KOdl0B7u1FLaDp33hFyox71P3Hi6ZgBuoPmfvN5c8rsYe/ig/5M0aP+zhLSTLLYel+jG0ZCJAqMKStwYq/U/MQUEqo5NrukzTZq3flvWCjzTqsGTR8I55yuoNoHfzFSLo+cSRDFHPpYlyO5/MjlxflXhjIwFrQRKA5u3IO7zLwdAq4nYsJsojVJuiBcpse5EnzLVtx7iA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9G62e2hBbVhYAB3n0yWh3Gd7eGWHgXrSNMck4M9bn1U=;
 b=EdgZQRfgLBRbKasKAOA+mMfp/nzbefhzyVAHBov362O/heM/DMOIpHjmEQCPqDwBYCjvAaa9QLXLeNmOAHH5VH8OT8yZ0rO8aBo12T3N1CvYBzFEfYCeYP1Mmn8csLOLF7+VimLiA8Jdt+zGEZWVCDIV4QW6LLC5tKXDo0RsJ0QYgYD4Dyq87DSgBuafjh2gnucNG/ELpOPto2uhWWe8ACjQMstewsWd0ksiuIOWkpPaO8Y7NLZ4bmcIiBeweA2gVGLShNENL2GTQIXra+Qv+bXR/lo3g3QVIF67HTjQF3Lw4g5WdQ7zxNIeq2ABpDERJE7Je3kRABzm4pxexCMRPA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9G62e2hBbVhYAB3n0yWh3Gd7eGWHgXrSNMck4M9bn1U=;
 b=FgssMfY6DchmtrnY1tVtEWsjzQ9bNWvwiRkT8UMriTAvxZMDFCKbvRy0bToHnofzrrONBhVNP9zisDZ6MikB6eB3pCEPjFAV5n7OBkh3kEOPLs0wd1H/INL4u/amajjptPUqomIt+XJ2O9dZYQvk1VrTvxiZRUUS+1i03742FFE=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, "Anthony
 PERARD" <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
Subject: [PATCH v7 10/11] libs/guest: (re)move xc_cpu_policy_apply_cpuid
Date: Tue, 25 Jan 2022 15:49:34 +0100
Message-ID: <20220125144935.44394-11-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125144935.44394-1-roger.pau@citrix.com>
References: <20220125144935.44394-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MR2P264CA0121.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:30::13) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: bd901446-67cc-43c2-2d9a-08d9e0120bad
X-MS-TrafficTypeDiagnostic: BN6PR03MB2868:EE_
X-Microsoft-Antispam-PRVS: <BN6PR03MB2868A924D47FF113F4B5CDE48F5F9@BN6PR03MB2868.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:238;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 36tFJma5s68NyISKEJ13CCY1OCO+uW8EQOiUH1nyYZdfHcQq4UiA9ke61/R6/mmcSrJPY67e4qRNrtGj5S4t6HBi+418P8B5dp/gJd2+4RWPa/u+O1+zGk8P1bA0Hytsheg3CtS1XmBOgL+UWHy5SgE9GF7awehADfUG7Dun6/mQdcnKUJW00/vrgdx4gBaV/pPhKACQszEqP/j52YqKhSUH3VukdWy4nHH05AkUbQI2tN3REvCslNwlv5sc8KPawnHa5w9RWRF3zR7JZU1CQ0RXum9/YGWrpFJ6eleQov+6DIUIOwXpecHNgAdKUDOOWOLo2q6vLOOBjTnl4goJgGsYPtVjiaV7Vvzcc+oNyjlgNaKv+nRW1U4m9p+fIavnljLqVOiEEkN1dVDQarPVHnHhVy5XJPxaZQky3RNkDNyt/b/5F64hzU590bdQGX0O7NctMI27yrsOr7NpW+NCTeWiT5avh6agRhQ2ojC03WMloSCqoNGgWCX9hrTt5jP4SDd4ANfZjMWypPG+S9SelZbNDA6IHfnvLG/OqQZAl2/TSo8E/uy6aBsh/FxvqHbwLZ4Z8e3buVwuh1AzTRjpsFmgFPAnqhYvlwD33E/hG5XygXNd9RXFzJyS3yuiv8MLQxRLVdLKVRTeYcxdlWZn3g==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(66946007)(83380400001)(316002)(6512007)(186003)(82960400001)(2906002)(54906003)(66476007)(66556008)(6486002)(6506007)(8936002)(6916009)(26005)(2616005)(8676002)(36756003)(4326008)(5660300002)(38100700002)(508600001)(30864003)(1076003)(86362001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?R0hMVGhkUFFSOEx3MTFqcW8zMEZXcUg1WlVTRk9iWFRrdnQ3MlNhQk1Gc0cw?=
 =?utf-8?B?SCtjSHlRNzVQTFdpLzRSRFUxSUVENlg5S1lrVmI0eHpkRC9vZXJpd2RibzY5?=
 =?utf-8?B?Ti9WY3NSeThvdWJpRUJoVEZ3djYyY1BCR2YxVGVZU0dQRjhVbVBOTEhmbnIr?=
 =?utf-8?B?Zk5TRGlUT3AwalJSVDVITGlNcTdDUk9iOWp1Tk52TnpTdGp6Q1pHdFZCaWhP?=
 =?utf-8?B?UkYxb3JsVHVRUHNYdUxYbnpDSDJ3VGFtQkVuM21NL3V4dk00MDN1dFk1U0RT?=
 =?utf-8?B?UTVUSXBLOWYvQkJsNnVya3ZCcVgzS25JQVd0cnV4a0FnOXZXR3JTSkhCajU2?=
 =?utf-8?B?c1NxN3VKTlExaUR3b2ZnOEtYV0xpVlJpVTRueEU2UHFFZTEzYXVDdGw0bXpk?=
 =?utf-8?B?RTB2NHROenhUTnhDY2piOVZCVi8zaVdGcGo5WklUS2xIdjY3N09DK2NSbGNL?=
 =?utf-8?B?MFloK3JwMDJPSXBFK0VPcE4rMFpEbTJuNnNkYVZiT0lZRSt3Wm9BV0pWazRw?=
 =?utf-8?B?L3hvZlVGVXR1U1kyWnJ5NExMbGpOL0IzTWg2REdPRk5UQXZJb2hNSmJSRXov?=
 =?utf-8?B?VkRXSFRqb2JNbVpFd3RnWmJBMmVxYS9xYlFwaWMxWjYxenJwZFg1UG81Yjhy?=
 =?utf-8?B?czErbWoxU3I1d2tIZFV3cFB5aklXMTRkNXVFTzVqcUNXd1F0dHc2bkFGd3I3?=
 =?utf-8?B?eGsxWkUreWZZUUdqcG5mVlREejVkZUl0Z2sxZTFhbEdaOXV2alRwMU5yYkU2?=
 =?utf-8?B?dGhZYnY0RjR6WC9xak5sWEVPYy9BTnVNQlcvTUZ0RWxrNDBhSTUxMXJkMmha?=
 =?utf-8?B?cm1vT21MZlZDK3FHK2JuSXpuMk80cml1anFHckM5WUZpd2tZc1dXME9CYzhN?=
 =?utf-8?B?Q1pqTlB5eStmMUJUbGVmQ1gwdzIxWm4xeHZFSG91Y0pza25iczJLWHlJR21t?=
 =?utf-8?B?Y1pua2NudjVKMVl3bUtHaTgwL21KWWdYT3VKQVNwY0d5OFJvNXBVR1JJcW8y?=
 =?utf-8?B?aUZsNHNEUnRtaXgzSGhseHZJSWVTZWlMclNGVEx3bGRhYkdvSmY3Q3JHWXJp?=
 =?utf-8?B?LzJTMThNcHZ0cVAwUGo0UE9HNS9ZU3RCcWhZTVkrV1MyZEdsRnBkT1FHTEhS?=
 =?utf-8?B?U1B2anlhbDF1LzdJOGQrTHRSRUZyZk5VNkd0c3U4Qkg3Z0JZcUJVRmZkeVhr?=
 =?utf-8?B?UVZiaTFLUDlpenpVM0xsMUpBbGpvdmgvbDZncFc2Ujgvalo0a0tFT3I4ek1U?=
 =?utf-8?B?NXNkQk92RmRVaGhaenRjOUZrZkFTeWtnNFRKZEFnMEt5blZMSFVXUksrSGgx?=
 =?utf-8?B?c2dmemdMckIvSVNndmFuQ2NVTFhFVkZJUE41WDB5TzdNL2g4dGhuRmdWRlcz?=
 =?utf-8?B?eENKYytLMWk3RlZ3RWxLLzVqbGRjUWhDYnFFc3B2SXB3cHVOUG1OV213MEZY?=
 =?utf-8?B?T21XV1VaOUllbVZOYktpaVlxRHFOSktLSUY0bEZxbWt2NlhwMzRYTTNhSUN6?=
 =?utf-8?B?RkxXSnd0dmVQTTQyWTUzSWZnQ0FhZGFKSU9ZWjg1UzJPTXVqYWd4dkVWaEti?=
 =?utf-8?B?WFZuVU5wMzZ1REVsZjlySFlkREZ2SytLMGp5S3JKZUZyZW9BbERLWmFTRzk1?=
 =?utf-8?B?SE5LQkl3bGJKOG1NYkRTeW9iNUdKTnRoWmNaZStpNnF2Y2VvbHJ6dmxxS1Fp?=
 =?utf-8?B?djFTRHovNjhMa21DZWZ4RmhzY045WXdLaW1KM3hhV1RGZXJCY2dacDlNWkJm?=
 =?utf-8?B?ZkdSMUdiSlpoSmp5UldmZGl4V2hOMmZjVGdaVXI0V0JCUlJPTXVPQlhJc0Zn?=
 =?utf-8?B?RmZpK1YvVVh6amx5d0JhYVBTMjJ1ZUlmbXQwbW1lVU9CbEpvSGN4b2VnaUNh?=
 =?utf-8?B?dXlvc0wvQnlkT0VCdktFTmJYUXJ1T3RhREhYYmtWRGRmT2t2K25kcUE5K3BB?=
 =?utf-8?B?Y3M0T1pTNmtPVzNQY2s2L0JYajhMRUJFaGVHc0IxUUhJS2VOK3pVZzFITWcw?=
 =?utf-8?B?ZmxTT0tKcFd1RVU3WVhOSU9pcmtCVzdDZFBkZjZ0UDVQeTcxTjljUmhITmxL?=
 =?utf-8?B?Q2NFbG92bVBvbkNyTUgxWVlUdXdMdG5IRTllQWU4OThzeFJXL3lZcmYwWHBu?=
 =?utf-8?B?R2ZhRFhkVk5QRTJKRmtLWCs2dWxMNHlObzlSUTVlTm1WVEhxZ2FSeXFzMUxB?=
 =?utf-8?Q?Vgggy+W2JCcXaOHJ/7WOFTo=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: bd901446-67cc-43c2-2d9a-08d9e0120bad
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 14:50:36.1923
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: PeEgaTA/Ndd7h2qwxAjCgvFmBWZEByMzw71bs0TdFFq6QFpS16RFpdHtmMg0Z1uXEnK49O6Lhu6A/CqoCwiVkQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR03MB2868
X-OriginatorOrg: citrix.com

Move the logic from xc_cpu_policy_apply_cpuid into libxl, now that the
xc_cpu_policy_* helpers allow modifying a cpu policy. By moving such
parsing into libxl directly we can get rid of xc_xend_cpuid, as libxl
will now implement it's own private type for storing CPUID
information, which currently matches xc_xend_cpuid.

Note the function logic is moved as-is, but requires adapting to the
libxl coding style.

No functional change intended.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
---
Changes since v2:
 - Use LOG*D.
 - Pass a gc to apply_policy.
 - Use 'r' for libxc return values.
---
 tools/include/libxl.h             |   6 +-
 tools/include/xenctrl.h           |  26 ------
 tools/include/xenguest.h          |   5 --
 tools/libs/guest/xg_cpuid_x86.c   | 116 --------------------------
 tools/libs/light/libxl_cpuid.c    | 133 ++++++++++++++++++++++++++++--
 tools/libs/light/libxl_internal.h |  26 ++++++
 6 files changed, 156 insertions(+), 156 deletions(-)

diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index 2bbbd21f0b..8a8032ba25 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -1420,10 +1420,10 @@ void libxl_bitmap_init(libxl_bitmap *map);
 void libxl_bitmap_dispose(libxl_bitmap *map);
 
 /*
- * libxl_cpuid_policy is opaque in the libxl ABI.  Users of both libxl and
- * libxc may not make assumptions about xc_xend_cpuid.
+ * libxl_cpuid_policy is opaque in the libxl ABI. Users of libxl may not make
+ * assumptions about libxl__cpuid_policy.
  */
-typedef struct xc_xend_cpuid libxl_cpuid_policy;
+typedef struct libxl__cpuid_policy libxl_cpuid_policy;
 typedef libxl_cpuid_policy * libxl_cpuid_policy_list;
 void libxl_cpuid_dispose(libxl_cpuid_policy_list *cpuid_list);
 int libxl_cpuid_policy_list_length(const libxl_cpuid_policy_list *l);
diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 745d67c970..79169f8ace 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1803,32 +1803,6 @@ int xc_domain_debug_control(xc_interface *xch,
 
 #if defined(__i386__) || defined(__x86_64__)
 
-/*
- * CPUID policy data, expressed in the legacy XEND format.
- *
- * Policy is an array of strings, 32 chars long:
- *   policy[0] = eax
- *   policy[1] = ebx
- *   policy[2] = ecx
- *   policy[3] = edx
- *
- * The format of the string is the following:
- *   '1' -> force to 1
- *   '0' -> force to 0
- *   'x' -> we don't care (use default)
- *   'k' -> pass through host value
- *   's' -> legacy alias for 'k'
- */
-struct xc_xend_cpuid {
-    union {
-        struct {
-            uint32_t leaf, subleaf;
-        };
-        uint32_t input[2];
-    };
-    char *policy[4];
-};
-
 int xc_mca_op(xc_interface *xch, struct xen_mc *mc);
 int xc_mca_op_inject_v2(xc_interface *xch, unsigned int flags,
                         xc_cpumap_t cpumap, unsigned int nr_cpus);
diff --git a/tools/include/xenguest.h b/tools/include/xenguest.h
index d3dc8719c6..ffe74c7a51 100644
--- a/tools/include/xenguest.h
+++ b/tools/include/xenguest.h
@@ -830,11 +830,6 @@ void xc_cpu_policy_make_compat_4_12(xc_interface *xch, xc_cpu_policy_t *policy,
 void xc_cpu_policy_legacy_topology(xc_interface *xch, xc_cpu_policy_t *policy,
                                    const xc_cpu_policy_t *host);
 
-/* Apply an xc_xend_cpuid object to the policy. */
-int xc_cpu_policy_apply_cpuid(xc_interface *xch, xc_cpu_policy_t *policy,
-                              const xc_cpu_policy_t *host,
-                              const struct xc_xend_cpuid *cpuid, bool hvm);
-
 /* Apply a featureset to the policy. */
 int xc_cpu_policy_apply_featureset(xc_interface *xch, xc_cpu_policy_t *policy,
                                    const uint32_t *featureset,
diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
index 28993f0356..032459f3de 100644
--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -254,122 +254,6 @@ int xc_set_domain_cpu_policy(xc_interface *xch, uint32_t domid,
     return ret;
 }
 
-int xc_cpu_policy_apply_cpuid(xc_interface *xch, xc_cpu_policy_t *policy,
-                              const xc_cpu_policy_t *host,
-                              const struct xc_xend_cpuid *cpuid, bool hvm)
-{
-    int rc;
-    xc_cpu_policy_t *def = NULL;
-
-    def = xc_cpu_policy_init();
-    if ( !def )
-    {
-        PERROR("Failed to init policy");
-        rc = -ENOMEM;
-        goto out;
-    }
-
-    /* Get the domain type's default policy. */
-    rc = xc_cpu_policy_get_system(xch, hvm ? XEN_SYSCTL_cpu_policy_hvm_default
-                                           : XEN_SYSCTL_cpu_policy_pv_default,
-                                  def);
-    if ( rc )
-    {
-        PERROR("Failed to obtain %s def policy", hvm ? "hvm" : "pv");
-        goto out;
-    }
-
-    rc = -EINVAL;
-    for ( ; cpuid->leaf != XEN_CPUID_INPUT_UNUSED; ++cpuid )
-    {
-        xen_cpuid_leaf_t cur_leaf;
-        xen_cpuid_leaf_t def_leaf;
-        xen_cpuid_leaf_t host_leaf;
-
-        rc = xc_cpu_policy_get_cpuid(xch, policy, cpuid->leaf, cpuid->subleaf,
-                                     &cur_leaf);
-        if ( rc )
-        {
-            ERROR("Failed to get current policy leaf %#x subleaf %#x",
-                  cpuid->leaf, cpuid->subleaf);
-            goto out;
-        }
-        rc = xc_cpu_policy_get_cpuid(xch, def, cpuid->leaf, cpuid->subleaf,
-                                     &def_leaf);
-        if ( rc )
-        {
-            ERROR("Failed to get def policy leaf %#x subleaf %#x",
-                  cpuid->leaf, cpuid->subleaf);
-            goto out;
-        }
-        rc = xc_cpu_policy_get_cpuid(xch, host, cpuid->leaf, cpuid->subleaf,
-                                     &host_leaf);
-        if ( rc )
-        {
-            ERROR("Failed to get host policy leaf %#x subleaf %#x",
-                  cpuid->leaf, cpuid->subleaf);
-            goto out;
-        }
-
-        for ( unsigned int i = 0; i < ARRAY_SIZE(cpuid->policy); i++ )
-        {
-            uint32_t *cur_reg = &cur_leaf.a + i;
-            const uint32_t *def_reg = &def_leaf.a + i;
-            const uint32_t *host_reg = &host_leaf.a + i;
-
-            if ( cpuid->policy[i] == NULL )
-                continue;
-
-            for ( unsigned int j = 0; j < 32; j++ )
-            {
-                bool val;
-
-                switch ( cpuid->policy[i][j] )
-                {
-                case '1':
-                    val = true;
-                    break;
-
-                case '0':
-                    val = false;
-                    break;
-
-                case 'x':
-                    val = test_bit(31 - j, def_reg);
-                    break;
-
-                case 'k':
-                case 's':
-                    val = test_bit(31 - j, host_reg);
-                    break;
-
-                default:
-                    ERROR("Bad character '%c' in policy[%d] string '%s'",
-                          cpuid->policy[i][j], i, cpuid->policy[i]);
-                    goto out;
-                }
-
-                clear_bit(31 - j, cur_reg);
-                if ( val )
-                    set_bit(31 - j, cur_reg);
-            }
-        }
-
-        rc = xc_cpu_policy_update_cpuid(xch, policy, &cur_leaf, 1);
-        if ( rc )
-        {
-            PERROR("Failed to set policy leaf %#x subleaf %#x",
-                   cpuid->leaf, cpuid->subleaf);
-            goto out;
-        }
-    }
-
- out:
-    xc_cpu_policy_destroy(def);
-
-    return rc;
-}
-
 xc_cpu_policy_t *xc_cpu_policy_init(void)
 {
     return calloc(1, sizeof(struct xc_cpu_policy));
diff --git a/tools/libs/light/libxl_cpuid.c b/tools/libs/light/libxl_cpuid.c
index 6c8643fcca..5d28476eb9 100644
--- a/tools/libs/light/libxl_cpuid.c
+++ b/tools/libs/light/libxl_cpuid.c
@@ -309,7 +309,7 @@ int libxl_cpuid_parse_config(libxl_cpuid_policy_list *cpuid, const char* str)
     char *sep, *val, *endptr;
     int i;
     const struct cpuid_flags *flag;
-    struct xc_xend_cpuid *entry;
+    struct libxl__cpuid_policy *entry;
     unsigned long num;
     char flags[33], *resstr;
 
@@ -387,7 +387,7 @@ int libxl_cpuid_parse_config_xend(libxl_cpuid_policy_list *cpuid,
     char *endptr;
     unsigned long value;
     uint32_t leaf, subleaf = XEN_CPUID_INPUT_UNUSED;
-    struct xc_xend_cpuid *entry;
+    struct libxl__cpuid_policy *entry;
 
     /* parse the leaf number */
     value = strtoul(str, &endptr, 0);
@@ -437,6 +437,128 @@ int libxl_cpuid_parse_config_xend(libxl_cpuid_policy_list *cpuid,
     return 0;
 }
 
+static int apply_cpuid(libxl__gc *gc, xc_cpu_policy_t *policy,
+                       xc_cpu_policy_t *host, libxl_cpuid_policy_list cpuid,
+                       bool hvm, domid_t domid)
+{
+    int r, rc = 0;
+    xc_cpu_policy_t *def = NULL;
+
+    def = xc_cpu_policy_init();
+    if (!def) {
+        LOGD(ERROR, domid, "Failed to init policy");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    /* Get the domain type's default policy. */
+    r = xc_cpu_policy_get_system(CTX->xch,
+                                 hvm ? XEN_SYSCTL_cpu_policy_hvm_default
+                                     : XEN_SYSCTL_cpu_policy_pv_default,
+                                 def);
+    if (r) {
+        LOGED(ERROR, domid, "Failed to obtain %s def policy",
+              hvm ? "hvm" : "pv");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    for (; cpuid->leaf != XEN_CPUID_INPUT_UNUSED; ++cpuid) {
+        xen_cpuid_leaf_t cur_leaf;
+        xen_cpuid_leaf_t def_leaf;
+        xen_cpuid_leaf_t host_leaf;
+
+        r = xc_cpu_policy_get_cpuid(CTX->xch, policy, cpuid->leaf,
+                                    cpuid->subleaf, &cur_leaf);
+        if (r) {
+            LOGED(ERROR, domid,
+                  "Failed to get current policy leaf %#x subleaf %#x",
+                  cpuid->leaf, cpuid->subleaf);
+            r = ERROR_FAIL;
+            goto out;
+        }
+        r = xc_cpu_policy_get_cpuid(CTX->xch, def, cpuid->leaf, cpuid->subleaf,
+                                    &def_leaf);
+        if (r) {
+            LOGED(ERROR, domid,
+                  "Failed to get def policy leaf %#x subleaf %#x",
+                  cpuid->leaf, cpuid->subleaf);
+            rc = ERROR_FAIL;
+            goto out;
+        }
+        r = xc_cpu_policy_get_cpuid(CTX->xch, host, cpuid->leaf,
+                                    cpuid->subleaf, &host_leaf);
+        if (r) {
+            LOGED(ERROR, domid,
+                  "Failed to get host policy leaf %#x subleaf %#x",
+                  cpuid->leaf, cpuid->subleaf);
+            rc = ERROR_FAIL;
+            goto out;
+        }
+
+        for (unsigned int i = 0; i < ARRAY_SIZE(cpuid->policy); i++) {
+            uint32_t *cur_reg = &cur_leaf.a + i;
+            const uint32_t *def_reg = &def_leaf.a + i;
+            const uint32_t *host_reg = &host_leaf.a + i;
+
+            if (cpuid->policy[i] == NULL)
+                continue;
+
+#define test_bit(i, r) !!(*(r) & (1u << (i)))
+#define set_bit(i, r) (*(r) |= (1u << (i)))
+#define clear_bit(i, r)  (*(r) &= ~(1u << (i)))
+            for (unsigned int j = 0; j < 32; j++) {
+                bool val;
+
+                switch (cpuid->policy[i][j]) {
+                case '1':
+                    val = true;
+                    break;
+
+                case '0':
+                    val = false;
+                    break;
+
+                case 'x':
+                    val = test_bit(31 - j, def_reg);
+                    break;
+
+                case 'k':
+                case 's':
+                    val = test_bit(31 - j, host_reg);
+                    break;
+
+                default:
+                    LOGD(ERROR, domid,
+                         "Bad character '%c' in policy[%d] string '%s'",
+                         cpuid->policy[i][j], i, cpuid->policy[i]);
+                    rc = ERROR_FAIL;
+                    goto out;
+                }
+
+                clear_bit(31 - j, cur_reg);
+                if (val)
+                    set_bit(31 - j, cur_reg);
+            }
+#undef clear_bit
+#undef set_bit
+#undef test_bit
+        }
+
+        r = xc_cpu_policy_update_cpuid(CTX->xch, policy, &cur_leaf, 1);
+        if (r) {
+            LOGED(ERROR, domid, "Failed to set policy leaf %#x subleaf %#x",
+                  cpuid->leaf, cpuid->subleaf);
+            rc = ERROR_FAIL;
+            goto out;
+        }
+    }
+
+ out:
+    xc_cpu_policy_destroy(def);
+    return rc;
+}
+
 int libxl__cpuid_legacy(libxl_ctx *ctx, uint32_t domid, bool restore,
                         libxl_domain_build_info *info)
 {
@@ -532,10 +654,9 @@ int libxl__cpuid_legacy(libxl_ctx *ctx, uint32_t domid, bool restore,
     }
 
     /* Apply the bits from info->cpuid. */
-    r = xc_cpu_policy_apply_cpuid(ctx->xch, policy, host, info->cpuid, hvm);
-    if (r) {
-        LOGEVD(ERROR, domid, -r, "Failed to apply CPUID changes");
-        rc = ERROR_FAIL;
+    rc = apply_cpuid(gc, policy, host, info->cpuid, hvm, domid);
+    if (rc) {
+        LOGD(ERROR, domid, "Failed to apply CPUID changes");
         goto out;
     }
 
diff --git a/tools/libs/light/libxl_internal.h b/tools/libs/light/libxl_internal.h
index 37d5c27756..c99b271f9c 100644
--- a/tools/libs/light/libxl_internal.h
+++ b/tools/libs/light/libxl_internal.h
@@ -2059,6 +2059,32 @@ typedef yajl_gen_status (*libxl__gen_json_callback)(yajl_gen hand, void *);
 _hidden char *libxl__object_to_json(libxl_ctx *ctx, const char *type,
                                     libxl__gen_json_callback gen, void *p);
 
+/*
+ * CPUID policy data, expressed in the internal libxl format.
+ *
+ * Policy is an array of strings, 32 chars long:
+ *   policy[0] = eax
+ *   policy[1] = ebx
+ *   policy[2] = ecx
+ *   policy[3] = edx
+ *
+ * The format of the string is the following:
+ *   '1' -> force to 1
+ *   '0' -> force to 0
+ *   'x' -> we don't care (use default)
+ *   'k' -> pass through host value
+ *   's' -> legacy alias for 'k'
+ */
+struct libxl__cpuid_policy {
+    union {
+        struct {
+            uint32_t leaf, subleaf;
+        };
+        uint32_t input[2];
+    };
+    char *policy[4];
+};
+
 _hidden int libxl__cpuid_legacy(libxl_ctx *ctx, uint32_t domid, bool retore,
                                 libxl_domain_build_info *info);
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 14:57:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 14:57:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260431.449903 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCNFi-0000gb-U6; Tue, 25 Jan 2022 14:56:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260431.449903; Tue, 25 Jan 2022 14: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 1nCNFi-0000gU-Ps; Tue, 25 Jan 2022 14:56:58 +0000
Received: by outflank-mailman (input) for mailman id 260431;
 Tue, 25 Jan 2022 14:56:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nUgY=SJ=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nCN9S-000334-SU
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 14:50:31 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0a2ea454-7dee-11ec-bc18-3156f6d857e4;
 Tue, 25 Jan 2022 15:49:48 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0a2ea454-7dee-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643122229;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=dL8SRFdX0K4/Jxg/plqDNDhq7sj3+sWn0uTEuGyqdXE=;
  b=f1JO5tDaUCeX/OKJKfyVI6UPJohSgRuQTLdMcXgVXtgqXLynfVuZR/Xv
   pUnMRuwv32snXhcnE1O7z6iqIVOPPHm4kj266VES/HwLhTLmsg4b6rpxq
   gaZ348AmZ5sqIGE8nEfPKaReshmZIvf6ZosdyahPZ8sfJjrlwG2sMTLpL
   w=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: p+ezTLY20VA6JKIuQSxqZtJyALluGiflJ3VpgFK5ZPkBAF09QjBL5v9dtKNj/dM/PNHCT1+xwG
 V3Ya4Oevcj62Wz85CvHcXzjtJ/Z74vZY2mVSYP01rBy9qmWaIDcTx9tlsJa8Po+SgN72u++nU1
 u+qDU1Ymp33d9+6n3Ndls9pH0swUjOLanD96mw/5HXQySkhz3e9gt0+Z8Fe+LGWq4zYl8PUlpj
 VCRycSd/WN1Ozx/QBE/4oJQbLfAQJdQmySN3/7K2utRlO/VVarvDP4umnIB/q6UgXcwG+pYSmU
 KUVIoE7eDtXImHaK1IpYL0Sn
X-SBRS: 5.2
X-MesageID: 62717093
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:TEX0rq/akcNAtS1KqDumDrUDcXmTJUtcMsCJ2f8bNWPcYEJGY0x3x
 mZLDG6DP/qLN2KjedlwYIW+o0pV7ZPRnYA1QFdppHg8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7dj39Yy6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPhA9
 NlLrJuJSzx0P7bB28c8UQV+CAVXaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguw5K8bmJsUHs2xIxjDFF/c2B5vERs0m4PcGhmhp2ZgfRp4yY
 eIcVWVKMTaeWSRLFUpPWYNlxOm432TGJmgwRFW9+vNsvjm7IBZK+LriKt3OYfSRWN5Y2E2fo
 wru/W70HxUbP9y30iee/zSngeqntTP2XsceGaO18tZugUaP3SoDBRsOT1y5rPKlzEmkVLp3N
 Eg86ico668o+ySWosLVBkPi5iTe51hFBoQWQ7ZSBByxJrT80jqVAHEDdzx6Nd09uYwVZD428
 ESttoa8bdBwi4G9RXWY/7aSiDq9PykJMGMPDRM5oRs5D8rL+99q0E+WJjp3OOvs14CuR2msq
 9yfhHVm390uYdg3O7JXFLwtqxalvdD3QwE8/W07tUr1v1oiNOZJi2FFgGU3DMqszq7EFjFtX
 1BewqByCdzi67nXyERhp81WRNmUCw6tamG0vLKWN8BJG86R03CiZ5tMxzp1OV1kNM0JERewP
 hOI4V8Au8ANbSryBUOSX25XI552pUQHPY+9Ps04k/IUOsQhHON51H8GibGsM5DFzxF3zPBX1
 WazesewF3cKYZmLPxLtL9rxJYQDn3hkrUuKHMiT503+jdK2OSDJIZ9YbgrmRr1pvcus/VSOm
 /4CZpTi9vmqeLCkCsUh2dRNfQliwLlSLc2elvG7gcbaclM5QzlwUqGIqV7jEqQ895loei7z1
 ijVcmdTyUblhG2BLgOPa3t5b6joU4o5pnU+VRHA937ys5T6SYrwvqoZabUterwrqL5qwfJuF
 qFXcMScGPVfDD/A/m1FP5X6qYVjcjWthB6PYHX5MGRuIcY4Slyb4MLgcyvu6DIKUni9u/whr
 uDyzQjcW5cCGVhvVZ6EdPK1wlqtlnEBg+YuDVDQK9xedRy0oohnIiD8lNEtJMQIJUmRzzeWz
 V/OUxwZufPMs8k+99yQ3fKIqIKgEu1fGEtGHjaEsebqZHeCpmf6mN1OSueFezzZRVjYwqT6a
 LUH1ez4Pd0GgE1O79h2HYF0wP9s/NDovbJbkFhpRS2Zc1SxB7p8CXCaxs0T5LZVz7pUtAbqC
 EKC/t5WZeeANM//SQNDIQMkaqKI1O0OmymU5vMweR2o6Chy9buBcENTIxjT13ANcOoraNsok
 bU7pcobyw2jkR57YN+Jgxdd+3mIMnFdAb4ssYsXAdOzhwcmor2YjUcw1sMiDEmzVuhx
IronPort-HdrOrdr: A9a23:Q8P5YK7Tlqr3XGCuLAPXwVCBI+orL9Y04lQ7vn2ZFiY7TiXIra
 yTdaoguCMc6AxxZJkh8erwXJVoJkmsiaKdgLNhQItKOTOJhILGFvAF0WKP+UyDJ8S6zJ8n6U
 4CSdkONDSTNykCsS+S2mDReLxBsbq6GeKT9J3jJh9WPH9XgspbnmBE42igYyhLrF4sP+tHKH
 PQ3LsNmxOQPVAsKuirDHgMWObO4/XNiZLdeBYDQzoq8hOHgz+E4KPzV0Hw5GZSbxp/hZMZtU
 TVmQ3w4auu99m91x/nzmfWq7BbgsHoxNdvDNGFzuIVNjLvoAC1Y5kJYczJgBkF5MWUrHo6mt
 jFpBkte+x19nPqZ2mw5SDg3gHxuQxenUPK+Bu9uz/OsMb5TDU1B45qnoRCaCbU7EImoZVVzL
 9L93jxjesYMTrw2ADGo/TYXRBjkUS55VA4l/QIsnBZWYwCLJdMsI0k+l9PGptoJlO01GkeKp
 gvMCjg3ocUTbvDBEqp/FWHgebcEkjbJy32A3Tr4aeuon1rdHMQ9Tpu+CVQpAZFyHsHceg22w
 3zCNUdqFh/dL5nUUtDPpZyfSLOMB20ffvtChPaHb21LtBOB5ryw6SHlYndotvaP6A18A==
X-IronPort-AV: E=Sophos;i="5.88,315,1635220800"; 
   d="scan'208";a="62717093"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=m8eXTc1PK0jHeMWTtnytvE0pxmTI+OuC7nXFGbsE7LdV7ZVsiqCFPm1JZok9jePiG++Znf17XrsabIhGAJV8sTY9CPwvIYXSB2AjQa33vq/WKWVmudKhZ9U/108qQ5WpUAodLxMb+UCxTJMwGRmeJtPwYVHvlOp1opjJR2OhZ74NQL3Eb6kZid6AgnT20EcNC7HoV87DazWYeTCB/ATk4HYvJYmDMX/diEcBfj8iINI1VDw23U84g9BTe/eRVv8QAVhiCHxfRYDrvgrwZ+So6W5ddDS/1CVwxF4AdUQXQFja1i9vGsKXuiNltNtr/TLoAh0ol+oEwzrryu/eSOzG5w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jVUUpETo8tBhrRG7mP8uRuKx+shqlWjcNlIhA6wzNMw=;
 b=l0h95jcR7ithh8p+9RstWRg5Zgntvk431krhdR+0qx49l0uKW7t0uUksIHRsUUrCiqNCGhGT9PwqDIXj/Dt0h08zQ6/PUQfwi+i8cI0cBl6J7NbQNJbG/SCKZ0+SfIj72HTp+IhCtMK4+oyjp4NZFZHaXJ7mHbK41J1XsMbLfvnzpEb4j+ZZtn/IyE8DejnLCjkuI1IC+nG17MpMH5AcC/ex2k1ek5qEN7iDISeuDvnhirog1FOfMmdy1qCqWIDCqDEehRj7JVX0IZucv+bo+kzcj4GMJpYJcROhZ/XliBoCcQrQ6RHUZjvDPqh1SED+0Dqqwy3CrzSgegHfdfAktQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jVUUpETo8tBhrRG7mP8uRuKx+shqlWjcNlIhA6wzNMw=;
 b=Sfln5mn8KpQmPMXOgyoDfMxwQo0c+IhTGxKLs/8EOy7hqDWcmkwTcKNwMudUynil+Hu+c/31WpJ/uYZZtQonsDhCEVjICZyZQrC0kxDWcaxGxj19OoUV/eca0ZkEOfv2L5tIu3d/noXtWyiBMV72jrKYE0aUp1ACHf18Sa5j3Cc=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Anthony
 PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, Jan
 Beulich <jbeulich@suse.com>
Subject: [PATCH v7 08/11] libs/guest: apply a featureset into a cpu policy
Date: Tue, 25 Jan 2022 15:49:32 +0100
Message-ID: <20220125144935.44394-9-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125144935.44394-1-roger.pau@citrix.com>
References: <20220125144935.44394-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MR2P264CA0064.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:31::28) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 0d9b4afd-a8e6-44f3-d5c8-08d9e01204fc
X-MS-TrafficTypeDiagnostic: BYAPR03MB4568:EE_
X-Microsoft-Antispam-PRVS: <BYAPR03MB45688DA1FAB61B83C0492A7A8F5F9@BYAPR03MB4568.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: mdd9GaC7W7k2D255AWG3S7Xc/rpsDTwp7NLJfwXLYf3YqWh4Yhaeji1OM9JXnEleBFr8Yj9d/6VlJS6WWIZeUUCW3livnuAunpOy1AhA8y+S9ls8pJTWFnYGCmRUIiTQO0v0xsrLGqe8WPfTP/I99bOtOa/W6Pha038mDPId6/A7n5goZVaOWn0RxU0PvEAcjgARspJ6wRKRDJSI6vXz9khy869VydPuce+tewC9XD1AcHaU7lhnenBtLhZ2efk6lYM9Vkn+GUDoVbfV/06TFHbejrNUYY5VNQYg9p/34Kq9HDMhRAJ6EtIL2UtvBLPSbM1jSy0ZeaW+0V4TlJeCbQtLzbpDGBUYVWQD0Ajcuc4kdjyvddKQQ6FlNLTI3HW5sAzwOZCfWE1IzbDYovCiEttOB8k4mhn/EYlStBnXyaMnR91+HyTCO109ipphUg59QQ4vNw2Qdp40taqq4+8eRmC4cqPeUwAaYQOR15mJCRsOTLVhutOiTfgqYQ/VNWufly91gADeYtqgk1fhSoIV6mjGDr7oDvBgsInJDGsdXQZLc+dv5634R69QxImUey+9NkqqOffkOYioE1nk90RPJYnOpN8KDOD/wHQA1ROKvlUkEVBtDj/i42BMNepItp0QjNQDDhHMhD2H08tLe/PVwg==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(4326008)(8676002)(26005)(1076003)(2616005)(6512007)(508600001)(6916009)(83380400001)(54906003)(36756003)(2906002)(316002)(8936002)(66476007)(5660300002)(86362001)(6506007)(82960400001)(66556008)(6666004)(186003)(66946007)(6486002)(38100700002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TVBoa1RZTjNjUWJyTmdZaHJnM3N1aVhrUTJKSElDbGVZZTNyand4R3I0L2Z6?=
 =?utf-8?B?Q0xWTHBObXlhSlBOejRLakR2Q0tqajdTb2JXOVcrTG54SG9zUkxRSFkwR0xC?=
 =?utf-8?B?RFROQUN5cVhkOEpsbVVuZDFobDFTa1l1aHY3R00vL2J1RXZJdWc5cUg0cDQ2?=
 =?utf-8?B?bW9kMExzTVl0SW9FWTQ1aGYwVnpERC84TGJZOFhZZFFUUjFsS2N2dS9BN05a?=
 =?utf-8?B?RUZZYkIxRTdMdWRtYU5lS3VXb2lGT2VTakRlOS9rWEZ0MWorZ3FVZER2NXFy?=
 =?utf-8?B?UlJZWW50K2lFY2tJeG0xZUw4MzcyaUxOUE5MSDdCdVl3L3BUbWErMVZhMXRW?=
 =?utf-8?B?bHF3Y1lJYlpMU0xXRngxS2hneVgrcFREVFllZWVYWk5VUzFtMVBwd1pCYzd6?=
 =?utf-8?B?QmVJN2JaNm9pSHdNSldwSk1JNzlFM0tSL2VsMlFCVGl6L1NzcEFqM0l4M1R2?=
 =?utf-8?B?eEUvWW5kOEY3bDlGeXltbEs4Mk8yK3Z5YVlxYks1QUx0U1MzM3lXSlRjZmRu?=
 =?utf-8?B?Q3JPYzNmM0w0MXdsVzJ3Wmo4bWIwKzJ6ZDlBZ0lCcFp2YTFYYkdSRVNxV01u?=
 =?utf-8?B?RXlZcVl6YkxidzdpTHU0d21pR1NFNFc2dzJ5YXlQdkh3ei85TXJ4VkFJQXdZ?=
 =?utf-8?B?RHdia3hoTDkrdnpiWnZaZ2hUTnpaeFVYTGprOExBcm9pRXBEbEQ5VzlFK2JH?=
 =?utf-8?B?bWNqWnpKUG96cDZHTFYxOGVPOXlrYTY3ZXEwL2dpUVlOdmZObXZDWlRPWEta?=
 =?utf-8?B?MGt5bDA4UHZDUzFpZHpvKzFDNGh4UnloNHB3R1NHNnZmN1V6SGptK3k4d05U?=
 =?utf-8?B?eTR4cHhMWUdZL0dIeHV0dGQvb1dBSTJPSnBhZVpuVXh6U0dlcGZsUUZXbkk2?=
 =?utf-8?B?K0lmUDJtakRUSzNBWTFWNzhzUWNTaEx0RUYzSjA4NU52L0o4RDNnbXdrU0w1?=
 =?utf-8?B?R3pJdXpaRHZSVk5pd2Mrc2F2aUhEdE8xZWZaQ3BHNHVvTWVjZUwyQkNRTHFw?=
 =?utf-8?B?OTZDL0toZC9ibGJpRDF1VU5tSGxZd0FLbWV6VVlwYnRLZWdtcjFoSi9EMnN1?=
 =?utf-8?B?ZnZCR2NFNytRanRmRDBBaGZhS2RHTkY2aWRnSDdnbXlhRVBCUDNtTCtQdDhi?=
 =?utf-8?B?Y3FjK1VTNk1GVHlqVlVVNXh2TUN5ZlJ2TUVGZFNyTDVQTWcvVXhndTY5Ykdy?=
 =?utf-8?B?N0dEeG5NVHZXL1hhMk81NFpuRXFkb0diRG5HVldQcHRYVlhjWDdyZVZRVnVv?=
 =?utf-8?B?YzN5ZjVwalBLVklZNCtPR2ZlMGU1R1Y5amNoZzNEZ2RzdmxMaVhrb3BzU3VL?=
 =?utf-8?B?MTBGekhtY09idVZzWnV4ZnBvSG5qTXM3VCtYSEwwMTJ2QjJ1ZEttbS8xTXM0?=
 =?utf-8?B?RGUyWkExbGduTkpQOHhaSmJQUkNwWUg0NGNSR3VMeE03ekxyVVFqRnp4alMw?=
 =?utf-8?B?MERZNEJhVU5YOXYyM2hFL2ladG4vYWppREpJRDAwWDVTK2VoVU9ienFwWmpT?=
 =?utf-8?B?eElCaVR5ZlVQb0s3L1FWWmh0R21DOEE0dlNTMzFCekpiMngySzVubVhKRHN5?=
 =?utf-8?B?bGxYRkpONGZtUlUvNzJ4U09hb0FCV0xqUThLR3FhN2QxN2ZudnNkV2UxTjBB?=
 =?utf-8?B?Qk4xZHlZZS9iUWpTbVBXem5lcUFNMWZJUHhUeXNwNStpanV4bnkvSUFucEpy?=
 =?utf-8?B?T01YL3lFVkM4aTJwVGZFRkhSQVhmUDgzR2pMbmMxMkFOOE1NMkJPRjY0VXpW?=
 =?utf-8?B?M0ZnYmpxakR4RFh5bDNxeEJONDNTV0hVb21kTTFrWTV2a1YxTTdrSTNqcmZi?=
 =?utf-8?B?U0R1YVZsaEFtNThjdjlraElYZ2RrRGo0eHN1aTZibzEwY0ZkVUs1QTJ3Si9K?=
 =?utf-8?B?em8vdlkwTEd2UHU5eFY0UGxIVE5vNU44RmJmQnNLd0hQSjA3SEdGSDNxL0xY?=
 =?utf-8?B?WE9GRmFQMGtjRTkvUnJWeU1VRmJ2aVpSWExjZlhyeU40QU1WVFQ0VUtnT01M?=
 =?utf-8?B?dXVBZHJETk9IUG1KMkZpUG80WWdHOWd0MFhaQ043OVJVNWhabVF4bVZFOGE5?=
 =?utf-8?B?TUdsd3JaSGRhUUIxRW1HVm9nd1owbE45a05xRXc3amFDR2xFdHI1TFJCa3Nq?=
 =?utf-8?B?cWNGckFyZXBIcjJmUEE3d2VueENOelN4Ui9zdmszcWJXRXh5R09reGNzS1Vr?=
 =?utf-8?Q?6Xbr7Y/QTAsd1NH0g5g7nUc=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 0d9b4afd-a8e6-44f3-d5c8-08d9e01204fc
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 14:50:24.8441
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /jhhi2Qu+SD1l0nW+nxvUsBD09QWvOZXJ/wiC2DJwvsN160mO2CZrkv1ZM4Z4CBkHOdJoXATyjFPRaV2dCXQiw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB4568
X-OriginatorOrg: citrix.com

Pull out the code from xc_cpuid_apply_policy that applies a featureset
to a cpu policy and place it on it's own standalone function that's
part of the public interface.

No functional change intended.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 tools/include/xenguest.h        |  5 ++
 tools/libs/guest/xg_cpuid_x86.c | 95 ++++++++++++++++++++-------------
 2 files changed, 62 insertions(+), 38 deletions(-)

diff --git a/tools/include/xenguest.h b/tools/include/xenguest.h
index 98a998f11d..d3dc8719c6 100644
--- a/tools/include/xenguest.h
+++ b/tools/include/xenguest.h
@@ -835,6 +835,11 @@ int xc_cpu_policy_apply_cpuid(xc_interface *xch, xc_cpu_policy_t *policy,
                               const xc_cpu_policy_t *host,
                               const struct xc_xend_cpuid *cpuid, bool hvm);
 
+/* Apply a featureset to the policy. */
+int xc_cpu_policy_apply_featureset(xc_interface *xch, xc_cpu_policy_t *policy,
+                                   const uint32_t *featureset,
+                                   unsigned int nr_features);
+
 int xc_get_cpu_levelling_caps(xc_interface *xch, uint32_t *caps);
 int xc_get_cpu_featureset(xc_interface *xch, uint32_t index,
                           uint32_t *nr_features, uint32_t *featureset);
diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
index 3503f21793..a2e2f7c850 100644
--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -445,46 +445,15 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
 
     if ( featureset )
     {
-        uint32_t disabled_features[FEATURESET_NR_ENTRIES],
-            feat[FEATURESET_NR_ENTRIES] = {};
-        static const uint32_t deep_features[] = INIT_DEEP_FEATURES;
-        unsigned int i, b;
-
-        /*
-         * The user supplied featureset may be shorter or longer than
-         * FEATURESET_NR_ENTRIES.  Shorter is fine, and we will zero-extend.
-         * Longer is fine, so long as it only padded with zeros.
-         */
-        unsigned int user_len = min(FEATURESET_NR_ENTRIES + 0u, nr_features);
-
-        /* Check for truncated set bits. */
-        rc = -EOPNOTSUPP;
-        for ( i = user_len; i < nr_features; ++i )
-            if ( featureset[i] != 0 )
-                goto out;
-
-        memcpy(feat, featureset, sizeof(*featureset) * user_len);
-
-        /* Disable deep dependencies of disabled features. */
-        for ( i = 0; i < ARRAY_SIZE(disabled_features); ++i )
-            disabled_features[i] = ~feat[i] & deep_features[i];
-
-        for ( b = 0; b < sizeof(disabled_features) * CHAR_BIT; ++b )
+        policy.cpuid = *p;
+        rc = xc_cpu_policy_apply_featureset(xch, &policy, featureset,
+                                            nr_features);
+        if ( rc )
         {
-            const uint32_t *dfs;
-
-            if ( !test_bit(b, disabled_features) ||
-                 !(dfs = x86_cpuid_lookup_deep_deps(b)) )
-                continue;
-
-            for ( i = 0; i < ARRAY_SIZE(disabled_features); ++i )
-            {
-                feat[i] &= ~dfs[i];
-                disabled_features[i] &= ~dfs[i];
-            }
+            ERROR("Failed to apply featureset to policy");
+            goto out;
         }
-
-        cpuid_featureset_to_policy(feat, p);
+        *p = policy.cpuid;
     }
     else
     {
@@ -881,3 +850,53 @@ void xc_cpu_policy_legacy_topology(xc_interface *xch, xc_cpu_policy_t *policy,
         }
     }
 }
+
+int xc_cpu_policy_apply_featureset(xc_interface *xch, xc_cpu_policy_t *policy,
+                                   const uint32_t *featureset,
+                                   unsigned int nr_features)
+{
+    uint32_t disabled_features[FEATURESET_NR_ENTRIES],
+        feat[FEATURESET_NR_ENTRIES] = {};
+    static const uint32_t deep_features[] = INIT_DEEP_FEATURES;
+    unsigned int i, b;
+
+    /*
+     * The user supplied featureset may be shorter or longer than
+     * FEATURESET_NR_ENTRIES.  Shorter is fine, and we will zero-extend.
+     * Longer is fine, so long as it only padded with zeros.
+     */
+    unsigned int user_len = min(FEATURESET_NR_ENTRIES + 0u, nr_features);
+
+    /* Check for truncated set bits. */
+    for ( i = user_len; i < nr_features; ++i )
+        if ( featureset[i] != 0 )
+        {
+            errno = EOPNOTSUPP;
+            return -1;
+        }
+
+    memcpy(feat, featureset, sizeof(*featureset) * user_len);
+
+    /* Disable deep dependencies of disabled features. */
+    for ( i = 0; i < ARRAY_SIZE(disabled_features); ++i )
+        disabled_features[i] = ~feat[i] & deep_features[i];
+
+    for ( b = 0; b < sizeof(disabled_features) * CHAR_BIT; ++b )
+    {
+        const uint32_t *dfs;
+
+        if ( !test_bit(b, disabled_features) ||
+             !(dfs = x86_cpuid_lookup_deep_deps(b)) )
+            continue;
+
+        for ( i = 0; i < ARRAY_SIZE(disabled_features); ++i )
+        {
+            feat[i] &= ~dfs[i];
+            disabled_features[i] &= ~dfs[i];
+        }
+    }
+
+    cpuid_featureset_to_policy(feat, &policy->cpuid);
+
+    return 0;
+}
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 14:57:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 14:57:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260440.449925 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCNFm-0001IQ-Jx; Tue, 25 Jan 2022 14:57:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260440.449925; Tue, 25 Jan 2022 14:57:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCNFm-0001IJ-GS; Tue, 25 Jan 2022 14:57:02 +0000
Received: by outflank-mailman (input) for mailman id 260440;
 Tue, 25 Jan 2022 14:57:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nUgY=SJ=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nCN9l-000334-4Q
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 14:50:49 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 153584e1-7dee-11ec-bc18-3156f6d857e4;
 Tue, 25 Jan 2022 15:50:06 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 153584e1-7dee-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643122247;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=SdSYNvIvXjuUpSG4B6g2Au59lE4nuJWjeYH8MZknVwg=;
  b=gMfQu/ZT3sR+LOxXB1CS6L1Wf/megiNuakfNO+aNiQ5WQcaATg/MU9mS
   i1cE4ooC4oA6dhgoaV4AyfRf9SAShg5pbmnxk0WBeYe7zLAabexLkQqBJ
   PTlDeChLxncAOzBVXS+W4I0ETzAMElvm3mJ6TocRTnm4tPo+Fi/1ZWmTB
   c=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: TJjTIJn3k9sU0BY1Oxq8NXu//fkBWwpd3r4jllFC9MP1sRqP0p6C9Ih913kPEwvu9xN1dXycAg
 /VZ+RLZErVsy9tcVZ9RjKTo4vkuh1tiSseTYXXNYZvRrClE2pyt+UPr1s8tDsY7qdqb6GZUM4f
 lo26bpZu3mzRRSFuuBxAiY2YgsC4YVWuLB/m4LeUjdma9Wdv8QMNUGtUqXbmyO3BCxuSTSVA3w
 1/WUyFeGuyjR54T963W9C4Afj3F0oWm4phk9U7fjB9Jn7mcfiGmQjcJZ+VcvaEliJOOuYsF1H4
 uKBJLzTJZQRgA2MSpYwZW150
X-SBRS: 5.2
X-MesageID: 62717123
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:US5r1KNjWZ0BRgrvrR1UkMFynXyQoLVcMsEvi/4bfWQNrUoj0DRSm
 jFOXTuPbPrfajHwf9EnaInj8UMD7MeAxoQ2Twto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdpJYz/uUGuCJQUNUjMlkfZKhTr6UUsxNbVU8En150Eg+w7RRbrNA2rBVPSvc4
 bsenOWHULOV82Yc3rU8sv/rRLtH5ZweiRtA1rAMTakjUGz2zhH5OKk3N6CpR0YUd6EPdgKMq
 0Qv+5nilo/R109F5tpICd8XeGVSKlLZFVDmZna7x8FOK/WNz8A/+v9TCRYSVatYo22YmZN8z
 cduj46TFkQuAPD3mORHQQYNRkmSPYUekFPGCX22sMjVxEzaaXr8hf5pCSnaP6VBpLwxWzsXs
 6VFdnZdNXhvhMrvqF6/YvNrick5atHiIasUu216zCGfBvEjKXzGa/uQuoYHhW1r7ixINebHR
 sQmVwdWVxHZIFpyFQctBLVgrvj90xETdBUH8QnI9MLb+VP70whZwLXrdt3PdbSiR8pPmV2Dj
 nnb5Gm/CRYfXPSPxDzA/n+yi+vnmSLgRJlUBLC+7uRtglCY2ioUEhJ+fVmxrOS9i0W+c8lCM
 EFS8S0rxZXe72TyEIO7BUfh5ifZ4FhMALK8DtHW9inV26yX7gOLJVIWbWECb+J7j882Hy41g
 wrhc8zSORRjt7icSHS4/7iSrC+vNSV9EVLudRPoXiNevYC9/dhbYgbnC486TfXr1oGd9STYn
 mjSxBXSkYn/miLiO0+T2VncywyhqZHSJuLezlWGBzn1hu+ViWPMWmBJ1bQ5xasYRGp6ZgPY1
 JThpyR4xLpSZX1qvHfVKNjh5Jnzu5643MT02DaD5aUJ+TW34GKEdotN+jx4L0oBGp9aJWSxP
 B6M5l0Atcc70J6WgUlfOd7Z5yMClvCIKDgYfqqMMoomjmZZKmdrAx2ClWbPhjuwwSDAYIk0O
 IuBcNbEMJrpIf8P8dZCfM9EieVD7nlnnQv7HMmnpzz6j+b2TCPLGN8tbQvfBshkvfjsiFiEr
 L5i2z6ilk83vBvWOHeHqOb+7DkicBAGOHwBg5UHL7HYels/RjhJ5j246epJRrGJVp99z4/g1
 nq8RlVZ2Bz4g3jGIh+NcXdtdPXkWpMXkJ7xFXVE0Y+A1ydxbICxwr0YcpdrL7Ar+PY6lax/T
 uUfetXGCfNKE2yV9zMYZJj7jYpjaBX02l7eY3v7OGAyL8x6WgjE2t74ZQ+zpiMAOTW66Jklq
 Lq62wKFHZdaH1Z+DNzbYe6Exk+quSRPg/p7WkbFe4EBeEjl/IVwBTb2i/s7f5MFJRnZn2PI3
 AeKGxYI4+LKptZtotXOgKmFqaavEvd/QRUGTzWKs+7uOHCDrGS5wIJGXOKZRhznVTv5qPe4e
 OFY7/DgK/lbzlxEhJVxTuRwxqUk6tqx+7IDllZ4HG/GZkiAA697JiXUxtFGs6BAy+MLuQayX
 U7TqNBWNa/QZZHgGV8VYgEkcv6CxbcfnTyLtaY5J0Dz5SlW+rubUBoNY0nQ2XIFdLYlYpk4x
 eoBudIN713tgxUnBd+KkyRI+jneNXcHSagm6skXDYKDZtDHEb2ejUgw0hPL3aw=
IronPort-HdrOrdr: A9a23:LC1kTqCf70wrH0flHeg2sceALOsnbusQ8zAXPh9KJyC9I/b2qy
 nxppgmPH/P6Ar4WBkb6Le90c67MAzhHP9OkPUs1NKZPTUO11HYVb2KgbGSpgEIXheOjNK1tp
 0QA5SWaueAdWSS5PySiGLTfqdCsbu6GeKT9JrjJh9WPHBXgspbnmFE42igYylLrF4sP+tGKH
 PQ3LsMmxOQPVAsKuirDHgMWObO4/XNiZLdeBYDQzoq8hOHgz+E4KPzV0Hw5GZTbxp/hZMZtU
 TVmQ3w4auu99m91x/nzmfWq7BbgsHoxNdvDNGFzuIVNjLvoAC1Y5kJYczOgBkF5MWUrHo6mt
 jFpBkte+x19nPqZ2mw5SDg3gHxuQxeokPK+Bu9uz/OsMb5TDU1B45qnoRCaCbU7EImoZVVzL
 9L93jxjesXMTrw2ADGo/TYXRBjkUS55VA4l/QIsnBZWYwCLJdMsI0k+l9PGptoJlO11GkeKp
 gsMCjg3ocVTbvDBEqp+1WHgebcEUjbJy32AnTr4aeuonxrdHMQ9Tpv+CVQpAZGyHsHceg32w
 3zCNUeqFh/dL5kUUtDPpZ1fSLOMB23ffvtChPbHb21LtBNB5ryw6SHlIndotvaPqA18A==
X-IronPort-AV: E=Sophos;i="5.88,315,1635220800"; 
   d="scan'208";a="62717123"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=D0zonlQYGqaWmpW2MRNbGscGtLSD9S9NdFeLJ0qEAk/g0STGSjnwWUOv4o+zgw9jocDcUE6o6c4jnmupIv9+Go8PorylxuIFmrnCXCzIpSVll0W+YqJQJLCoq5hRA3AVaJpPEqDfyOwbD8tUtXEeBp61GT7jU2RVUsuoOJfb76TLe8Mp2jjEPSkZ7ccn11iwlXCgP51G4fef2/Ma9KYDTW0BlLeT5Q/vrpWUOnGmBB4ymXm4aSM5OSaqmtLfXMPiDAQWr03ZkCRuiqwGBme2sX+indqwkA7wa3o7WnA0vLHe17ykUJUkjbgDAPUQrhMJYWZ7stYC/SLrTUjFzRvqxg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZlGOnZqzGyzuT9kP+fcec5bcZMp+YNPmS8unxsF4SiA=;
 b=LY0KF8zHGhtc9IAjHnK5u4+860Vbiu5FzCrDTSRw5JW6BKIBWxqxo43GtlBEjrG0UkqwOIVSISJMetF9Vn/4VEa7sMXwmGvPF9SfQm5LsVbtbER4+GEaPvXr+AHC+op4zhPUiqOn68Xk4QTuYur1CtZ+lnfAto98ogfUamri0UtkQjQui9lTY3eXgl7Bbxl7i3i+dHU+b/a2cb0MYLKYC72Vt3Uh5JoKlPiS2PPyz2F4U9CKPPKCIHk9oMCWKhSrcCHeyqKigjX7nNyjktaym7oU/XGDs5WwJW8MS13ZEaKlvuTnqCWVpjQlLvo/wbKJZUPFJXOxxmqBRHoT3FTsIg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZlGOnZqzGyzuT9kP+fcec5bcZMp+YNPmS8unxsF4SiA=;
 b=rSSxX0DRbji7Q/0vtR0jczkRkPGm03/BplpUnI4RL8gPaUahi7iZ0KHQ2YeujwXVjX3/H+x3AAna247bpf1R1/ME73HaZZZIXWeP3nzTYIBjLA+55B2Sjz9d/ZPPXrY44boxNYlDUsqk0hk88NAppk9zelWNmZtBDVVWcheQyN0=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>
Subject: [PATCH v7 11/11] x86/CPUID: shrink max_{,sub}leaf fields according to actual leaf contents
Date: Tue, 25 Jan 2022 15:49:35 +0100
Message-ID: <20220125144935.44394-12-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125144935.44394-1-roger.pau@citrix.com>
References: <20220125144935.44394-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MR2P264CA0136.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:30::28) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6ff935ad-0472-4559-48df-08d9e0120eda
X-MS-TrafficTypeDiagnostic: BN6PR03MB2868:EE_
X-Microsoft-Antispam-PRVS: <BN6PR03MB2868D23C716B51736013BAB88F5F9@BN6PR03MB2868.namprd03.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: buHmY4QbYa0ASvS/Dki/DXAofZc4f7uSbI+H5+GWuVg8lGiqZYaG/CA3eQTOcgXRomimqynqf1m8ATSPOCqYiQlaydcy/qKPcC0tbmC/KpWUVuk5YTuwN3/jlehwoEq6Y9+L69Xwso4UFms6dQRYZiJnS4j3/xVkL4eM5HKwCoojp+XFH4jCK5W++xALJ1SfH6bNgJH9L81cP1QA6wYySfYd/yuBjtsxz5h8oPq1RRGJuuWdC0ovX/S9TM2AZHfU+bViLxGHM3Md/BSXMjhQkuXOxXtwl3B/iIyCbb4GsEXPtB1DDzSzDyvZRdf7ZiyxvwGhsvJN4FiL/vGjmFcQxv/DSpeT8c0/NwRCJAMLGAEwh1WCRRw1EDvcvkVJLYCrD78cBkP/0bZyl55Q0eP6JLexkRDxAEE1dNbJt0BJDtGBhh/1rWSso7v4ihLLxWmKKuYwmFgesP0WynWtVq5/tgdOWnsDcff1zXrvb7E6vhcVuqDc0ddfH258zomhxavrKj5Vc6tPrL3pDv9RboQYwv9ALennxCYgjYH9mWJdOMaXk1LG7WrjnevCyXnwphbVw9W8/K0Bq0mCh262poNIvDUr7ZqySlyJYV9kay7yXm8bLtF/RuZJacRdLdMMDbtzs/1pWgsNMlAQbox+oQFpag==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(66946007)(83380400001)(316002)(6512007)(186003)(82960400001)(2906002)(54906003)(66476007)(66556008)(6486002)(6506007)(8936002)(6916009)(26005)(2616005)(8676002)(36756003)(4326008)(5660300002)(107886003)(6666004)(38100700002)(508600001)(1076003)(86362001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RXhHUlE0K1MrbHhFNUgyV3d3a3lMelZmSmM4T1hJazhqMXRwakVOWk5JVmVh?=
 =?utf-8?B?VXJ2M3kyVnZSdC8xYW9zZUlHYUNXblFNb1BCVTRoQ3U5SGlpdDhBU2tsWUJs?=
 =?utf-8?B?anU2eW0yTzU2czdUUHZEM2UvbXJZYytRUU1VdE1XUWU5bnU4ZlBnajdzV09O?=
 =?utf-8?B?US84UStFN1N4RlB5cVgwK0FSTFVyMytmeUZpQ1gwTGZMY1I2M1J5S1RmeVl2?=
 =?utf-8?B?QmZCTHJwZDMxVXVKZm5Bb1FnSy9TNmZadkxrZFZEZUY2eXNSaitINENOZnhQ?=
 =?utf-8?B?dTlUT0diTUdrYk5kdkVuSmMraW9uWVU5NFNjTTNQSFc4eW5maWg0cnNiOW52?=
 =?utf-8?B?eE12aFRETXNMQ3ZjZklLcmpyUWJBcktvOGN1OU81TE95aWV5WlVUOTZiNGc1?=
 =?utf-8?B?YXVzMWd0Ykd2bEpNTFpJY0txYjJYUVlJampGRWhEOFdJNElzb0FRUkc0cnFw?=
 =?utf-8?B?MU1XcnZTYTAzYnBpWjBlTWVXRXU2TlF0RGZvUnpLd0pmSjIzSUFNeEYzZGMy?=
 =?utf-8?B?NitjYVZvaFFCblRmQnBQQzdhK1UzZENvZHpETDZTWUVIajhGMWUyVGdIVGht?=
 =?utf-8?B?QUwxZHdhdEFrZXdxbGt5SkRTUlpadUVUbTdUdU5wU3RncHM2OXMrZnZPeFpY?=
 =?utf-8?B?NmtKQzEvSnY3bkFsTlNhYTY2bzZLbFo1VzhGZS95Nk9RbmhYanRJbVlBK1Fr?=
 =?utf-8?B?V3JQMTJNVzEzSGRTR0ZNVm1RT3VrakgzU1p6UVBvc0p6WUZsU1NaNHR0dlhH?=
 =?utf-8?B?QlUzU3ZZczRDYk1VQWVqWWxBMURuMUhDMWlYd2dmNDZJMHEyWUppRHVsdGdC?=
 =?utf-8?B?VHoycjU2Z0g0cFZ4NUxRMlhiOEVZNzd0Vm4zZ2lOSGhrVlJ1MGZURFNMQTYz?=
 =?utf-8?B?K0lpVGpuQ3NZVmlTN1hDMktMTVV1ZnRYWG80eEt0ejRwK2xTYzZtcGsvNUpx?=
 =?utf-8?B?aFIxbFNEN0lHRW8vYUJZZ3ZKRkg1d2I4Qk5vTVpFOVpvOHA4a1J1SXd2c1oy?=
 =?utf-8?B?a25NZkRtdVJYMnpSYkRkWDJ3dlFUdVNBbmR0Yy91Z0p4WitlN3hOY1V3c3Ey?=
 =?utf-8?B?Sk1Mbko3QXRxTHBpNXVLNm1jRVNsZUtnMjdIYUpYZmVIcysvWitlSEVPdVRo?=
 =?utf-8?B?SEZna2M2UFRUb1BXUTJpZXBJQWNORVNVSUxlZW9IYXJqRVdmeTR1bXgrOHgy?=
 =?utf-8?B?TTlHM3lQQVZVNTVJNWpkOWRCLytQMHlETGtMYXJGL2RIVXpUcEp0Vmc1cDhm?=
 =?utf-8?B?aTZIRU93MTZ1dklQTzRPMGdSRndnZEtBa0gyR0E0V1pxY0NuZEk5ckRlL3U5?=
 =?utf-8?B?L3Yxc3AxY2J4RUZRNHh3dmtDTnhMOGdjaE10UE9WVE9obXR6S2xLNThpUFRZ?=
 =?utf-8?B?UEx4VHU3cUkzczBucDJXVjVJOURKUU1JTXZiN2llcE5zVjVZNjdVRmpkUkow?=
 =?utf-8?B?Wlc4T1RFWHBYS0gxL0k0RnhiTzhmTk1ib3o0OC9tVjhPNEdvaTZJdWFOaksv?=
 =?utf-8?B?SURBNjdzQUNodkdWeDQxaVkrT1dYNHQ3TDJOOEQvYXcvQ25TRko4UmNXUWNw?=
 =?utf-8?B?WEppSUFhc29YeFFkZGN6WVpDMXdBUThRYUdJRTcvV3ZwdnNuTEhDZDk3ajFv?=
 =?utf-8?B?Z3dRTzZobnpUQjZTUnlNSGhsNVVIZVZwNTROSFRYcGVzbXUzdDB4VHA1ZkFT?=
 =?utf-8?B?ODA2RHptMVpQdXhMdmVXQTdtT2xKY0xoK1RTOWRmZk1IYnU0UVozVEtNeng2?=
 =?utf-8?B?SzE4QW1rbnF3cktzb0hUVFFXbkR2TnhWV2JuNGQ4a1p3ZEJ0QTN2WXlUWWdP?=
 =?utf-8?B?RmRxYnJyMW1VbWxvd1BhclY4QzFVcGtGOWwyRzJhUDFHcCt6V20vcHBFRy9F?=
 =?utf-8?B?TmYzZ0hHTkJ2c1doTDc1OWtxckQ2cXBSaUxoYWNzMkpvSUxLVXRqckNna0Ny?=
 =?utf-8?B?RzB4UXFVQ3QzTXFXcWsvSmJJZ3BOVUhudG4rT3dBcDR3VE12QWZOYlFBVk5n?=
 =?utf-8?B?MGErckJFMGhXNkZrOFJPUldOb3dFTEJQZkJTbVdTREZEOUJNWks1M0htSWhL?=
 =?utf-8?B?Q0QyL1lqeFI1cWtBRWhrOU5LQ0MwSXVHTUJ3Yk1Lbmx0ZEVOMWgrTXRqYTIy?=
 =?utf-8?B?RzBiSEtpY3BIdThiNHZGNXNDQm82aGNUeUprdzhraWRYUm8xNlk4RzdUOU9G?=
 =?utf-8?Q?z03+CUtppo5NIlFkkb+LPak=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 6ff935ad-0472-4559-48df-08d9e0120eda
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 14:50:41.3949
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: TJqnFxRByBqkhr2EGd8pTwC7yLAZ/g1mmso8xzsHYglynyiHE/VX4zDklt1vRXS9cseHzfN45j/IbS7jdB0jmg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR03MB2868
X-OriginatorOrg: citrix.com

From: Jan Beulich <jbeulich@suse.com>

Zapping leaf data for out of range leaves is just one half of it: To
avoid guests (bogusly or worse) inferring information from mere leaf
presence, also shrink maximum indicators such that the respective
trailing entry is not all blank (unless of course it's the initial
subleaf of a leaf that's not the final one).

This is also in preparation of bumping the maximum basic leaf we
support, to ensure guests not getting exposed related features won't
observe a change in behavior.

Note that such shrinking is only done when creating a policy for a
domain from scratch. Migrated in domains keep their previous policy if
present untouched, and for migrated in domains not having CPUID data
the crafted Xen pre-4.13 policy is not trimmed to keep a behavior
compatible with those older Xen versions.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v4:
 - New in this version, picked up from 540d911c2813.
 - Only shrink policies for newly created domains.
---
 tools/include/xenguest.h                 |   3 +
 tools/libs/guest/xg_cpuid_x86.c          |   5 ++
 tools/libs/light/libxl_cpuid.c           |   7 ++
 tools/tests/cpu-policy/test-cpu-policy.c | 101 +++++++++++++++++++++++
 xen/include/xen/lib/x86/cpuid.h          |   7 ++
 xen/lib/x86/cpuid.c                      |  39 +++++++++
 6 files changed, 162 insertions(+)

diff --git a/tools/include/xenguest.h b/tools/include/xenguest.h
index ffe74c7a51..4b1ced4c49 100644
--- a/tools/include/xenguest.h
+++ b/tools/include/xenguest.h
@@ -835,6 +835,9 @@ int xc_cpu_policy_apply_featureset(xc_interface *xch, xc_cpu_policy_t *policy,
                                    const uint32_t *featureset,
                                    unsigned int nr_features);
 
+/* Sanitize a policy: can change the contents of the passed policy. */
+void xc_cpu_policy_sanitize(xc_interface *xch, xc_cpu_policy_t *policy);
+
 int xc_get_cpu_levelling_caps(xc_interface *xch, uint32_t *caps);
 int xc_get_cpu_featureset(xc_interface *xch, uint32_t index,
                           uint32_t *nr_features, uint32_t *featureset);
diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
index 032459f3de..1b83533098 100644
--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -651,3 +651,8 @@ int xc_cpu_policy_apply_featureset(xc_interface *xch, xc_cpu_policy_t *policy,
 
     return 0;
 }
+
+void xc_cpu_policy_sanitize(xc_interface *xch, xc_cpu_policy_t *policy)
+{
+    x86_cpuid_policy_shrink_max_leaves(&policy->cpuid);
+}
diff --git a/tools/libs/light/libxl_cpuid.c b/tools/libs/light/libxl_cpuid.c
index 5d28476eb9..61b85c6e0a 100644
--- a/tools/libs/light/libxl_cpuid.c
+++ b/tools/libs/light/libxl_cpuid.c
@@ -660,6 +660,13 @@ int libxl__cpuid_legacy(libxl_ctx *ctx, uint32_t domid, bool restore,
         goto out;
     }
 
+    /*
+     * Do not attempt any modifications if creating a policy that aims to be
+     * compatible with pre-4.13 Xen versions.
+     */
+    if (!restore)
+        xc_cpu_policy_sanitize(ctx->xch, policy);
+
     r = xc_cpu_policy_set_domain(ctx->xch, domid, policy);
     if (r) {
         LOGED(ERROR, domid, "Failed to set domain CPUID policy");
diff --git a/tools/tests/cpu-policy/test-cpu-policy.c b/tools/tests/cpu-policy/test-cpu-policy.c
index 8f51447117..d883f750f5 100644
--- a/tools/tests/cpu-policy/test-cpu-policy.c
+++ b/tools/tests/cpu-policy/test-cpu-policy.c
@@ -9,10 +9,13 @@
 #include <err.h>
 
 #include <xen-tools/libs.h>
+#include <xen/asm/x86-defns.h>
 #include <xen/asm/x86-vendors.h>
 #include <xen/lib/x86/cpu-policy.h>
 #include <xen/domctl.h>
 
+#define XSTATE_FP_SSE  (X86_XCR0_FP | X86_XCR0_SSE)
+
 static unsigned int nr_failures;
 #define fail(fmt, ...)                          \
 ({                                              \
@@ -772,6 +775,103 @@ static void test_msr_get_entry(void)
     }
 }
 
+static void test_cpuid_maximum_leaf_shrinking(void)
+{
+    static const struct test {
+        const char *name;
+        struct cpuid_policy p;
+    } tests[] = {
+        {
+            .name = "basic",
+            .p = {
+                /* Very basic information only. */
+                .basic.max_leaf = 1,
+                .basic.raw_fms = 0xc2,
+            },
+        },
+        {
+            .name = "cache",
+            .p = {
+                /* Cache subleaves present. */
+                .basic.max_leaf = 4,
+                .cache.subleaf[0].type = 1,
+            },
+        },
+        {
+            .name = "feat#0",
+            .p = {
+                /* Subleaf 0 only with some valid bit. */
+                .basic.max_leaf = 7,
+                .feat.max_subleaf = 0,
+                .feat.fsgsbase = 1,
+            },
+        },
+        {
+            .name = "feat#1",
+            .p = {
+                /* Subleaf 1 only with some valid bit. */
+                .basic.max_leaf = 7,
+                .feat.max_subleaf = 1,
+                .feat.avx_vnni = 1,
+            },
+        },
+        {
+            .name = "topo",
+            .p = {
+                /* Topology subleaves present. */
+                .basic.max_leaf = 0xb,
+                .topo.subleaf[0].type = 1,
+            },
+        },
+        {
+            .name = "xstate",
+            .p = {
+                /* First subleaf always valid (and then non-zero). */
+                .basic.max_leaf = 0xd,
+                .xstate.xcr0_low = XSTATE_FP_SSE,
+            },
+        },
+        {
+            .name = "extd",
+            .p = {
+                /* Commonly available information only. */
+                .extd.max_leaf = 0x80000008,
+                .extd.maxphysaddr = 0x28,
+                .extd.maxlinaddr = 0x30,
+            },
+        },
+    };
+
+    printf("Testing CPUID maximum leaf shrinking:\n");
+
+    for ( size_t i = 0; i < ARRAY_SIZE(tests); ++i )
+    {
+        const struct test *t = &tests[i];
+        struct cpuid_policy *p = memdup(&t->p);
+
+        p->basic.max_leaf = ARRAY_SIZE(p->basic.raw) - 1;
+        p->feat.max_subleaf = ARRAY_SIZE(p->feat.raw) - 1;
+        p->extd.max_leaf = 0x80000000 | (ARRAY_SIZE(p->extd.raw) - 1);
+
+        x86_cpuid_policy_shrink_max_leaves(p);
+
+        /* Check the the resulting max (sub)leaf values against expecations. */
+        if ( p->basic.max_leaf != t->p.basic.max_leaf )
+             fail("  Test %s basic fail - expected %#x, got %#x\n",
+                  t->name, t->p.basic.max_leaf, p->basic.max_leaf);
+
+        if ( p->extd.max_leaf != t->p.extd.max_leaf )
+             fail("  Test %s extd fail - expected %#x, got %#x\n",
+                  t->name, t->p.extd.max_leaf, p->extd.max_leaf);
+
+        if ( p->feat.max_subleaf != t->p.feat.max_subleaf )
+             fail("  Test %s feat fail - expected %#x, got %#x\n",
+                  t->name, t->p.feat.max_subleaf, p->feat.max_subleaf);
+
+        free(p);
+    }
+}
+
 static void test_is_compatible_success(void)
 {
     static struct test {
@@ -889,6 +989,7 @@ int main(int argc, char **argv)
     test_cpuid_out_of_range_clearing();
     test_cpuid_get_leaf_failure();
     test_cpuid_get_leaf();
+    test_cpuid_maximum_leaf_shrinking();
 
     test_msr_serialise_success();
     test_msr_deserialise_failure();
diff --git a/xen/include/xen/lib/x86/cpuid.h b/xen/include/xen/lib/x86/cpuid.h
index 050cd4f9d1..86cda38986 100644
--- a/xen/include/xen/lib/x86/cpuid.h
+++ b/xen/include/xen/lib/x86/cpuid.h
@@ -386,6 +386,13 @@ void x86_cpuid_policy_fill_native(struct cpuid_policy *p);
  */
 void x86_cpuid_policy_clear_out_of_range_leaves(struct cpuid_policy *p);
 
+/**
+ * Shrink max leaf/subleaf values such that the last respective valid entry
+ * isn't all blank.  While permitted by the spec, such extraneous leaves may
+ * provide undue "hints" to guests.
+ */
+void x86_cpuid_policy_shrink_max_leaves(struct cpuid_policy *p);
+
 #ifdef __XEN__
 #include <public/arch-x86/xen.h>
 typedef XEN_GUEST_HANDLE_64(xen_cpuid_leaf_t) cpuid_leaf_buffer_t;
diff --git a/xen/lib/x86/cpuid.c b/xen/lib/x86/cpuid.c
index 924f882fc4..6a943cd91b 100644
--- a/xen/lib/x86/cpuid.c
+++ b/xen/lib/x86/cpuid.c
@@ -236,6 +236,45 @@ void x86_cpuid_policy_clear_out_of_range_leaves(struct cpuid_policy *p)
                 ARRAY_SIZE(p->extd.raw) - 1);
 }
 
+void x86_cpuid_policy_shrink_max_leaves(struct cpuid_policy *p)
+{
+    unsigned int i;
+
+    p->basic.raw[0x4] = p->cache.raw[0];
+
+    for ( i = p->feat.max_subleaf; i; --i )
+        if ( p->feat.raw[i].a | p->feat.raw[i].b |
+             p->feat.raw[i].c | p->feat.raw[i].d )
+            break;
+    p->feat.max_subleaf = i;
+    p->basic.raw[0x7] = p->feat.raw[i];
+
+    p->basic.raw[0xb] = p->topo.raw[0];
+
+    /*
+     * Due to the way xstate gets handled in the hypervisor (see
+     * recalculate_xstate()) there is (for now at least) no need to fiddle
+     * with the xstate subleaves (IOW we assume they're already in consistent
+     * shape, for coming from either hardware or recalculate_xstate()).
+     */
+    p->basic.raw[0xd] = p->xstate.raw[0];
+
+    for ( i = p->basic.max_leaf; i; --i )
+        if ( p->basic.raw[i].a | p->basic.raw[i].b |
+             p->basic.raw[i].c | p->basic.raw[i].d )
+            break;
+    p->basic.max_leaf = i;
+
+    for ( i = p->extd.max_leaf & 0xffff; i; --i )
+        if ( p->extd.raw[i].a | p->extd.raw[i].b |
+             p->extd.raw[i].c | p->extd.raw[i].d )
+            break;
+    if ( i | p->extd.raw[0].b | p->extd.raw[0].c | p->extd.raw[0].d )
+        p->extd.max_leaf = 0x80000000 | i;
+    else
+        p->extd.max_leaf = 0;
+}
+
 const uint32_t *x86_cpuid_lookup_deep_deps(uint32_t feature)
 {
     static const uint32_t deep_features[] = INIT_DEEP_FEATURES;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 14:57:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 14:57:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260429.449891 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCNFh-0000OC-Kz; Tue, 25 Jan 2022 14:56:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260429.449891; Tue, 25 Jan 2022 14:56:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCNFh-0000O5-Hu; Tue, 25 Jan 2022 14:56:57 +0000
Received: by outflank-mailman (input) for mailman id 260429;
 Tue, 25 Jan 2022 14:56:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nUgY=SJ=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nCN9Z-00033A-LP
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 14:50:37 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 268b31fa-7dee-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 15:50:36 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 268b31fa-7dee-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643122235;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=GhalZGD2D4ReUCHvN7oqGy8w4o+0Nmnd91/EvCsNKkY=;
  b=X6XrYukwsdHlNtq1m7Kw7s5PTsreOXISyGxs7ELvc/1pn4sIy4jsfeqb
   c6m5gL/b1WQn9JjicsJrB2/hfK8/+XmHqYeSwrhD/1p79uSgRsXD51rQo
   aZ2MuD/4ej3L+leA5LD4XzvPHSl/RZ0RD964q92XYwB2/YTByxsY9avGz
   U=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: KZ73ny8FYS3S//ZfEdzkxd8uHUJaGlOLRpjpO0sqmyZXg50kUxonRe8/lHot//YXku4Ip9eGwt
 dvOa74+H3BZby/MXwW083Em6Fq+LRKDM98xyUB0EEpWtXHh+hi1/JQOkwaq7JLevdwUdTM9uar
 T35eB8lUIJkd6KUUVgwyIkDRVzcbgrN2bzucRC/qXECJgOnKW80zqfOvvu1APVhW8dwlDjxvzE
 fA25Ia6ImbaAo86Yd1nNCQVURAavMuqTEssU2TFuMOSVVu8EKkO96/Nu+n0yU8XWGLC/CeBBIN
 W7168KL20nvL/jNkmrzKZZnF
X-SBRS: 5.2
X-MesageID: 62716602
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:LvnyB66D5yxPwwBQJYsaBgxRtNzAchMFZxGqfqrLsTDasY5as4F+v
 jBJXWnVOvqMNmL0KdFzad6+8RgOuZXVx9NgSQY5+HgyHi5G8cbLO4+Ufxz6V8+wwmwvb67FA
 +E2MISowBUcFyeEzvuV3zyIQUBUjclkfJKlYAL/En03FV8MpBsJ00o5wbZg2NMw27BVPivW0
 T/Mi5yHULOa82Yc3lI8s8pvfzs24ZweEBtB1rAPTagjUG32zhH5P7pGTU2FFFPqQ5E8IwKPb
 72rIIdVXI/u10xF5tuNyt4Xe6CRK1LYFVDmZnF+A8BOjvXez8CbP2lS2Pc0MC9qZzu1c99Zx
 tJVh5GtZgMVIoLOhvgPSQlCGhBnBPgTkFPHCSDXXc27ykTHdz3nwul0DVFwNoodkgp1KTgQr
 7pCcmlLN03dwbLtqF64YrAEasALNs7kMZlZonh95TrYEewnUdbIRKCiCdpwgm1v354QRay2i
 8wxNXlgNw74Yzt1JA05VZQ4kcyvjGfgbGgNwL6SjfVuuDWCpOBr65DvP8DSYceiXthOkwCTo
 Weu13v9KgEXMpqY0zXt2mKhgKrDkD32XKoWFaak7bh6jVuL3GsRBRYKE1yhrpGEZlWWAowFb
 RZOo2x38PZ0pBfDosTBswOQrnmcjBMBdN5sD8I49h2f0LrO6jeAPz1RJtJeU+AOuMgzTD0s8
 1aGmdL1GDBi2IGopWKhGqS89m3rZ3VMRYMWTWpdFFZevYG/yG0mpk+XFr5e/LiJYsoZ8N0a6
 xSDt2AAiroalqbnPI3rrAmc01pASnUkJzPZBzk7vEr4tmuVh6b/PuREDGQ3C94acO51qXHa5
 BA5dzC2trxmMH10vHXlrB8xNL+o/e2ZFzbXnERiGZIsnxz0pSL4JdwBv24gdRYxWirhRdMPS
 BWP0e+2zMQLVEZGkIctO97hYyjU5faI+SvZugD8MYMVP8kZmP6v9yByf0+At10BY2B3+ZzTz
 ayzKJ72ZV5DUPwP5GPvG481jOF3rghjmzK7bc2rnnyPjOvFDFbIGOhtDbd7Rr1jhE9yiF+Lo
 4832grj40g3bdASlQGOoddMdghbdCZibX00wuQOHtO+zsNdMDhJI9fawK87epwjmKJQl+zS+
 Wq6VFMew1367UAr4y3TApy6QL+wD5t5s1whOikgYQSh13Q5ON7956YDbZonO7Ig8bU7n/JzS
 vAEfeSGA+hOFWubq2hMM8GlodwwbgmviCKPIzGhPGo1cal/SlGb4dTjZAbuqnUDV3Llqcskr
 rS8/QrHWp5fFR96BcPbZav3nVO8tHQQgsxoWE7MLoUBcUng6tEyeSfwkuU2M4cHLhCanmmW0
 AOfABE5o+jRotBqrImV1P7c94rwSrlwBEtXGWXf/I2aDyiC8zrx25JEXcaJYSvZCDH+9pK9a
 LgH1Pr7KvAGwgpH6tIuD7ZxwKsizNLzvLsGnB98FXDGYln3WLNtJn6KgZtGuqFXn+ILvAK3X
 gSE+8VAOKXPM8TgSQZDKA0gZ+WF9PcVhjiNsqhlfBSkvHd6rOidTEFfHxiQkygMfrJ6PbQsz
 folpMNLuRe0jQAnM4regy1Zn4hWwqfsj0nzWkkmPbLW
IronPort-HdrOrdr: A9a23:Cwltg6n3dtDepEMz7hy3CceY1T7pDfO0imdD5ihNYBxZY6Wkfp
 +V88jzhCWZtN9OYhwdcLC7WZVpQRvnhPpICO4qTMuftWjdyRaVxeRZg7cKrAeQfREWmtQtt5
 uINpIOc+EYbmIK/PoSgjPIaurIqePvmMvD5Za8854ud3ARV0gJ1XYGNu/xKDwQeOApP+tdKH
 LKjfA32AZINE5nJfiTNz0gZazuttfLnJXpbVovAAMm0hCHiXeN5KThGxaV8x8CW3cXqI1SvF
 Ttokjc3OGOovu7whjT2yv66IlXosLozp9mCNaXgsYYBz3wgkKDZZhnWZeFoDcpydvfomoCoZ
 3pmVMNLs5z43TeciWcpgbs4RDp1HIU53rr2Taj8A3eiP28YAh/J9tKhIpffBecwVEnpstA3K
 VC2H/cn4ZLDDvb9R6NqeTgZlVPrA6ZsHAimekcgzh0So0FcoJcqoQZ4Qd8DIoAJiTn84oqed
 MeQ/003MwmMW9yUkqp/VWGmLeXLzYO91a9MwQ/U/WuonlrdCsT9Tpc+CQd9k1wg67VBaM0o9
 gsCZ4Y542mePVmGZ6VNN1xMfdfNVa9My4kSFjiWWgPNJt3ck4l+KSHqInc2omRCek1Jd0J6d
 P8bG8=
X-IronPort-AV: E=Sophos;i="5.88,315,1635220800"; 
   d="scan'208";a="62716602"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=e03IFGgCyrCKx6s8lYZDWmksmJ1/MUigWozpwIjjZgWWKvnbJ8d43prPYJwUnBuHgruuHrKW5/ao50LsroqBFZnYf/MbFnwHdYLlrKRW4ODzdvG3UQPmNLEd33+Q3mH0LLlAPpmj9gZP57Y9FubxRbaPRLTRYZWZtjuMbWA6xOaHAv449onorb5n2FAvJJdVU2npaBOQQ5ZAHXgnBsb01dZoupYQ7uTVPe2pBt2rDQVXJVeaCKJ/rwlX9oC1iYMY7bLaMRB6pvVAcRgCOSAzF2P9Z1DCbaSVqQLDwU/6C/n2BiiQlw6aCen/myavke6FBKk3NqOr4yLxIEAft6Rj3w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xy74D5vf2Qvx7Y9yHQrLLnzYNT6ecHYlSdzOweNumGo=;
 b=WSjjag2cAcbXGvjWxPZy/rs7oDDXugOI6Dh8XBCDk1wYByAVaCrdmnnSGf2UYPVGYB/CjmgMVTI/xBYeY2y1Abl/svq0FqTvlmwRzC+FnMuabG/AKWeZvxU+TSJ2EHNq47CPgrMaXzYMbOCvBGJNYCCbcCplOwVWdRDbOEf08KO4fMpDvZIoZhkFNkZd6iwo4sO70Gj/ezeyOCIA4YIOBhhg2Anay+rolKGv5rxbfCUyu9irbhlAqAcurQhdnc1O7Cv7uwFtuUwzcvhGnK7jxvJTuerojCMzCQwMI/PlRDi6BUGPLCs7/UzuymELow+mYbz4iDAThUqf+hrU9i7BAQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xy74D5vf2Qvx7Y9yHQrLLnzYNT6ecHYlSdzOweNumGo=;
 b=FCSCbgqiR2UNFF/StKyfOEk/rgyjvr+4O4F9jojSHOHqdBwtevSCuP2YdFIuP50MflQ08f/YEB3ETzY1ft5mm6XB2Z0AVTBu2A8q4NTfG+HeVUb3b29s6hjkPV+5VWwm1mM6trAMTdWC3DIdFPwxOVqbC+BcIEiIp8nuxU/Aumk=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Anthony
 PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
Subject: [PATCH v7 09/11] libs/{light,guest}: implement xc_cpuid_apply_policy in libxl
Date: Tue, 25 Jan 2022 15:49:33 +0100
Message-ID: <20220125144935.44394-10-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220125144935.44394-1-roger.pau@citrix.com>
References: <20220125144935.44394-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MRXP264CA0032.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:14::20) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 1d8581d9-e099-4ae8-127c-08d9e0120868
X-MS-TrafficTypeDiagnostic: BN6PR03MB2868:EE_
X-Microsoft-Antispam-PRVS: <BN6PR03MB286854C11C9797EFE740F95D8F5F9@BN6PR03MB2868.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:299;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: EnPmEdSM+GNjxA+KrzXQjxiITtPSImq/h1nPBhezpbsLBcuSQTC+geGOtP7k8k6XGEe/awt2Fk9pL/Q5CHhieW9xd17ViS7XAzPo63F9nHxYnyroJyJqS0tNxNTNtoKnY7+Fx9HJqBdFWibAc3tCkZ9QI8uUlYp8Rgq+qo/Uq56conE0e45eWS10K/cx0kxgDaRpWPpU7giIjtx6aOE/DJiZPENPI5aS3I67uC9oYQ0sgbI5hiwQeAXUBbMXZ9ybIjUhtYMnHIPmYnvvdAv9CN7AxUpwX8fbVZuFfM11c5rPIeQzeD1c4gMZSQllq4EJaEnuNWIz64TX+9kMtnfxeBMUcuUtWAIys6I0B8fbCJ1H2BU90MwcH1LAThiCC3ZpopUlIX9CBTOcovnWuNkVhomUHpC/+Yyd+Q6A878C6cLsKCJ4+StYOPHR6v8JGHSSelWKOPHcUrUSVsajrXy4kn0KvACxMn2H3TStXUdfSUb5NWGmQMXTcU3ceVivHJJDSnGAPIDhjW0ZUxxOmoBpOGVcKx+RB31fOTZHc12zhZsOUybK2IH8FM1eO3qXlZZlQy6vb3kArC1o/cTDRCevyFuHsUJ7X3DbBep30JXI7Dwg0kLRaaU1HtJkIDmjM9VlUWQOK4Z29sikJT8ITxalwg==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(66946007)(83380400001)(316002)(6512007)(186003)(82960400001)(2906002)(54906003)(66476007)(66556008)(6486002)(6506007)(8936002)(6916009)(26005)(2616005)(8676002)(36756003)(4326008)(5660300002)(38100700002)(508600001)(1076003)(86362001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?S0hFcWROb2YwaWlOeUtsK0VkVGtORDZKcTFNYWxaKy9FcktTbldQbjl1aStl?=
 =?utf-8?B?VDdvcjFMelEyd1dFV2NOMndjYURJSm4wbEFrNjlWVkxCdUJVTUg2S1cvWlBh?=
 =?utf-8?B?WW5qK05sUmZkSE5nNHQ4ZXRRUkw0U3lIQ3JSR0J1cWFhc0x0Rzg2NXgrbG4y?=
 =?utf-8?B?NmNHSkJya0JoVTBXd1hva3p1U0dZWit0Y0o0K3hrRERuUkNFRThIM1BQVXkw?=
 =?utf-8?B?OS83S3QyWjZJQ1krM0dVcUlMRWducjNIUXRCejhld1dWM0NqK05zR0RPYWFU?=
 =?utf-8?B?eXY5Y0krbFA4NkNVY1VnUkNXOXFUbU9aR3ROMk9wcEdoM20wTTJjTVJyMTk4?=
 =?utf-8?B?T0E4Y2pNQythWFNGcDNFN3RPZExBeWd1dTNTN01LT2lXU1I2eksra3VwcUR5?=
 =?utf-8?B?azJISjdUeW83ZVFZeW12S0dYYk9HVU5KWjY4Wm1TTG8wU1JSOFFoYUJtcUpZ?=
 =?utf-8?B?alJ1MXNqY2FjS2hNVlA5VXB3dHhXR3NLQ3d1VEdpb3ZlS0VZSWIrclkzM1Bm?=
 =?utf-8?B?TWl5alo3UVhNZHFqWlJjTWlKQms2NVJRTWRPSmZBWDdoNGdxaGt1TWpPalFy?=
 =?utf-8?B?L0x5NmFWbHBCOHhid3ErMDQ2aEo0ZjdGQlg2a05UU1JxR2tWOFR1dnNMM3Az?=
 =?utf-8?B?anRjMExRZGQ5UFY3cUN6K0daZXR1OGVHM2k3QW5OeEdrSUJpUi8xbDlta1RB?=
 =?utf-8?B?bEpkRTcyUWRBL24yZFJMY2tMNk5GbXVXSTFZSk9NWjgxY1lycm5iZ1d2UDFo?=
 =?utf-8?B?UFg2OFJJMkdxY0xmQ09SVEE2UmR3TnJhb3dVQzUyTEQ2dnp1alVQMS8zUFQ5?=
 =?utf-8?B?K0lVUDJzbFJnY1ZaUG1qeHd6MUdVdlBnQjRidWNNUGd2MStTV2J2bnNwZkJS?=
 =?utf-8?B?eW1peS9PbFphaWJrNmhhaDRIU1dtTlJvKzU2VWF5L2NaZ3RZN2JoRytGa3BU?=
 =?utf-8?B?Y01hTm1iWHhPMVBiZG83ZWNQZlJpWkVFMEVFUTZmcGJKL094S3BlSWNseHYv?=
 =?utf-8?B?Y3oydXc0ZU4wKzNTZ0J1RVluOEViRjdqdGx4eXhlUjVZd1FGMENoT24yQ1oy?=
 =?utf-8?B?aUNuVkNiNTQ4NDNnK05hRVBQTE5vd3F6TTNZTDlRWWdlNE1najY1cTVIaGhq?=
 =?utf-8?B?MFpBTTMrcHNXYjNFNmpYenQzc3lyN2I4NXJBZC81QzV2NXF4TnVESk5vR0to?=
 =?utf-8?B?NGVxQkxCNzVqSFVMS0VVZCtDRi9YZVkzR0t1cWZCY29oME5YS01iYjFQODJH?=
 =?utf-8?B?V0hjTWhjOHRjSjFQU1p5TEtEeHdKaUJ2VnY2QUtMdjRlVUcrNkFTc1VTcU9t?=
 =?utf-8?B?NFJYWWdOTzJ0U0ZDZ1J3U25pUDdaQ3VxTW5HUzZ4dGlKbkpJR1lhWW03UUlS?=
 =?utf-8?B?L05BUkRjZSs3blcrQW10QkJ4KzNldmNHQlVqd0tGanZGVXRWQm9FNWNzQ3FN?=
 =?utf-8?B?TXlJU0N6MVlING4zYzFDalVWUmlCcWNQczAvN3RhSFBzNC9KQXhVUnJxeE1T?=
 =?utf-8?B?SkZYYkVFZ1V3K0RDZzFRVnFUZ0lWZTB6d1ZKWUEvVHhMTFhsSUl4eTNxMXJ3?=
 =?utf-8?B?QUxibVJ2dmNnZy9yMG5oNVgvTk96RzJPTkIyNzU5UTVpUlhTRTdCMUxvTG05?=
 =?utf-8?B?Qm5tUjdocnNmRGtIU29JanRGNTNRYVUvTWNpRHF5SHc4MWNXVVdPL1NFRklL?=
 =?utf-8?B?am5yYkxhMlhJckVJUVZmMERXK2NKMFRZWHN3czVhbzBJamhMRGlxRnFqV1hN?=
 =?utf-8?B?TEhvWU14M1hlQ0dZdVNMRVZLNDlUV3d1SWpwUVJiRG91VzB2ZnByc09sMmRr?=
 =?utf-8?B?VVlyNmtWR1N2eWMvQkIzMnZBRU1zdnBtUER1UkNSMGE3QmN5QVcrdG90Z1dI?=
 =?utf-8?B?YStIVEVkdkJXQ3JWbmt5WVZIcjhyTWV2SHVVNGhjc0pPZVlER1pJZG9XQWhY?=
 =?utf-8?B?OGQ1NnF3VjBVRlM5TnprbVhLRkVZd01zWU5XM3lMUE4xZDBiOFdlYVJPWjk2?=
 =?utf-8?B?RldlWDRiejRKTi9VRUQ4RkNBQXB0bE9RdjNBVXdZYmN2ZEZoc0NjUnRNdXNo?=
 =?utf-8?B?WlVMVmJvMjBiVDgyZDRVN0Q5cmhoV3VJd0RVYkdTdVluUC9BN3ZPakxXM1BN?=
 =?utf-8?B?QVViNVg2cVN2Yzc2Z0F0MFB4SDlkeDZqbGp6VlNpcHFjbFp4ZXNvRGQySnp0?=
 =?utf-8?Q?vx+DVA8ysZF+5vQ1vPacN5E=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 1d8581d9-e099-4ae8-127c-08d9e0120868
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 14:50:30.6113
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HkEiPAukKUgPKBI2qLTLPJCvMs5YpP2Vo+A9F9AWDJ2IvNh2c9RqiOpMdkP53udxu70wtkIBWOzyBFkTgpjUDw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR03MB2868
X-OriginatorOrg: citrix.com

With the addition of the xc_cpu_policy_* now libxl can have better
control over the cpu policy, this allows removing the
xc_cpuid_apply_policy function and instead coding the required bits by
libxl in libxl__cpuid_legacy directly.

Remove xc_cpuid_apply_policy.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
---
Changes since v6:
 - Use a single call to libxl_cpuid_parse_config in order to add the
   extra options.

Changes since v4:
 - Correctly account for PVH guests being HVM in libxl__cpuid_legacy.
 - PAE option is only available to HVM guests (_not_ including PVH).

Changes since v2:
 - Use 'r' for libxc return values.
 - Fix comment about making a cpu policy compatible.
 - Use LOG*D macros.
---
 tools/include/xenctrl.h         |  18 -----
 tools/libs/guest/xg_cpuid_x86.c | 133 --------------------------------
 tools/libs/light/libxl_cpuid.c  |  73 ++++++++++++++++--
 3 files changed, 67 insertions(+), 157 deletions(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 95bd5eca67..745d67c970 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1829,24 +1829,6 @@ struct xc_xend_cpuid {
     char *policy[4];
 };
 
-/*
- * Make adjustments to the CPUID settings for a domain.
- *
- * This path is used in two cases.  First, for fresh boots of the domain, and
- * secondly for migrate-in/restore of pre-4.14 guests (where CPUID data was
- * missing from the stream).  The @restore parameter distinguishes these
- * cases, and the generated policy must be compatible with a 4.13.
- *
- * Either pass a full new @featureset (and @nr_features), or adjust individual
- * features (@pae, @itsc, @nested_virt).
- *
- * Then (optionally) apply legacy XEND overrides (@xend) to the result.
- */
-int xc_cpuid_apply_policy(xc_interface *xch,
-                          uint32_t domid, bool restore,
-                          const uint32_t *featureset,
-                          unsigned int nr_features, bool pae, bool itsc,
-                          bool nested_virt, const struct xc_xend_cpuid *xend);
 int xc_mca_op(xc_interface *xch, struct xen_mc *mc);
 int xc_mca_op_inject_v2(xc_interface *xch, unsigned int flags,
                         xc_cpumap_t cpumap, unsigned int nr_cpus);
diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
index a2e2f7c850..28993f0356 100644
--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -370,139 +370,6 @@ int xc_cpu_policy_apply_cpuid(xc_interface *xch, xc_cpu_policy_t *policy,
     return rc;
 }
 
-int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
-                          const uint32_t *featureset, unsigned int nr_features,
-                          bool pae, bool itsc, bool nested_virt,
-                          const struct xc_xend_cpuid *cpuid)
-{
-    int rc;
-    xc_dominfo_t di;
-    unsigned int nr_leaves, nr_msrs;
-    xen_cpuid_leaf_t *leaves = NULL;
-    struct cpuid_policy *p = NULL;
-    xc_cpu_policy_t *policy = NULL;
-    xc_cpu_policy_t *host = NULL;
-    uint32_t err_leaf = -1, err_subleaf = -1, err_msr = -1;
-
-    if ( xc_domain_getinfo(xch, domid, 1, &di) != 1 ||
-         di.domid != domid )
-    {
-        ERROR("Failed to obtain d%d info", domid);
-        rc = -ESRCH;
-        goto out;
-    }
-
-    rc = xc_cpu_policy_get_size(xch, &nr_leaves, &nr_msrs);
-    if ( rc )
-    {
-        PERROR("Failed to obtain policy info size");
-        rc = -errno;
-        goto out;
-    }
-
-    rc = -ENOMEM;
-    if ( (leaves = calloc(nr_leaves, sizeof(*leaves))) == NULL ||
-         (p = calloc(1, sizeof(*p))) == NULL ||
-         (policy = xc_cpu_policy_init()) == NULL ||
-         (host = xc_cpu_policy_init()) == NULL )
-        goto out;
-
-    rc = xc_cpu_policy_get_system(xch, XEN_SYSCTL_cpu_policy_host, host);
-    if ( rc )
-    {
-        PERROR("Failed to get host policy");
-        rc = -errno;
-        goto out;
-    }
-
-    /* Get the domain's default policy. */
-    nr_msrs = 0;
-    rc = get_system_cpu_policy(xch, di.hvm ? XEN_SYSCTL_cpu_policy_hvm_default
-                                           : XEN_SYSCTL_cpu_policy_pv_default,
-                               &nr_leaves, leaves, &nr_msrs, NULL);
-    if ( rc )
-    {
-        PERROR("Failed to obtain %s default policy", di.hvm ? "hvm" : "pv");
-        rc = -errno;
-        goto out;
-    }
-
-    rc = x86_cpuid_copy_from_buffer(p, leaves, nr_leaves,
-                                    &err_leaf, &err_subleaf);
-    if ( rc )
-    {
-        ERROR("Failed to deserialise CPUID (err leaf %#x, subleaf %#x) (%d = %s)",
-              err_leaf, err_subleaf, -rc, strerror(-rc));
-        goto out;
-    }
-
-    if ( restore )
-    {
-        policy->cpuid = *p;
-        xc_cpu_policy_make_compat_4_12(xch, policy, host, di.hvm);
-        *p = policy->cpuid;
-    }
-
-    if ( featureset )
-    {
-        policy.cpuid = *p;
-        rc = xc_cpu_policy_apply_featureset(xch, &policy, featureset,
-                                            nr_features);
-        if ( rc )
-        {
-            ERROR("Failed to apply featureset to policy");
-            goto out;
-        }
-        *p = policy.cpuid;
-    }
-    else
-    {
-        p->extd.itsc = itsc;
-
-        if ( di.hvm )
-        {
-            p->basic.pae = pae;
-            p->basic.vmx = nested_virt;
-            p->extd.svm = nested_virt;
-        }
-    }
-
-    policy->cpuid = *p;
-    xc_cpu_policy_legacy_topology(xch, policy, di.hvm ? NULL : host);
-    *p = policy->cpuid;
-
-    rc = xc_cpu_policy_apply_cpuid(xch, policy, host, cpuid, di.hvm);
-    if ( rc )
-        goto out;
-
-    rc = x86_cpuid_copy_to_buffer(p, leaves, &nr_leaves);
-    if ( rc )
-    {
-        ERROR("Failed to serialise CPUID (%d = %s)", -rc, strerror(-rc));
-        goto out;
-    }
-
-    rc = xc_set_domain_cpu_policy(xch, domid, nr_leaves, leaves, 0, NULL,
-                                  &err_leaf, &err_subleaf, &err_msr);
-    if ( rc )
-    {
-        PERROR("Failed to set d%d's policy (err leaf %#x, subleaf %#x, msr %#x)",
-               domid, err_leaf, err_subleaf, err_msr);
-        rc = -errno;
-        goto out;
-    }
-
-    rc = 0;
-
-out:
-    free(p);
-    free(leaves);
-    xc_cpu_policy_destroy(policy);
-    xc_cpu_policy_destroy(host);
-
-    return rc;
-}
-
 xc_cpu_policy_t *xc_cpu_policy_init(void)
 {
     return calloc(1, sizeof(struct xc_cpu_policy));
diff --git a/tools/libs/light/libxl_cpuid.c b/tools/libs/light/libxl_cpuid.c
index e1acf6648d..6c8643fcca 100644
--- a/tools/libs/light/libxl_cpuid.c
+++ b/tools/libs/light/libxl_cpuid.c
@@ -441,9 +441,13 @@ int libxl__cpuid_legacy(libxl_ctx *ctx, uint32_t domid, bool restore,
                         libxl_domain_build_info *info)
 {
     GC_INIT(ctx);
+    xc_cpu_policy_t *policy = NULL;
+    xc_cpu_policy_t *host = NULL;
+    char *extra_feat;
+    bool hvm = info->type != LIBXL_DOMAIN_TYPE_PV;
     bool pae = true;
     bool itsc;
-    int r;
+    int r, rc = 0;
 
     /*
      * Gross hack.  Using libxl_defbool_val() here causes libvirt to crash in
@@ -454,6 +458,38 @@ int libxl__cpuid_legacy(libxl_ctx *ctx, uint32_t domid, bool restore,
      */
     bool nested_virt = info->nested_hvm.val > 0;
 
+    policy = xc_cpu_policy_init();
+    host = xc_cpu_policy_init();
+    if (!policy || !host) {
+        LOGED(ERROR, domid, "Failed to init CPU policies");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    r = xc_cpu_policy_get_system(ctx->xch, XEN_SYSCTL_cpu_policy_host, host);
+    if (r) {
+        LOGED(ERROR, domid, "Failed to fetch host policy");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    r = xc_cpu_policy_get_domain(ctx->xch, domid, policy);
+    if (r) {
+        LOGED(ERROR, domid, "Failed to fetch domain CPU policy");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    if (restore)
+        /*
+         * Make sure the policy is compatible with pre Xen 4.13. Note that
+         * newer Xen versions will pass policy data on the restore stream, so
+         * any adjustments done here will be superseded.
+         */
+        xc_cpu_policy_make_compat_4_12(ctx->xch, policy, host, hvm);
+
+    xc_cpu_policy_legacy_topology(ctx->xch, policy, hvm ? NULL : host);
+
     /*
      * For PV guests, PAE is Xen-controlled (it is the 'p' that differentiates
      * the xen-3.0-x86_32 and xen-3.0-x86_32p ABIs).  It is mandatory as Xen
@@ -481,14 +517,39 @@ int libxl__cpuid_legacy(libxl_ctx *ctx, uint32_t domid, bool restore,
      */
     itsc = (libxl_defbool_val(info->disable_migrate) ||
             info->tsc_mode == LIBXL_TSC_MODE_ALWAYS_EMULATE);
+    extra_feat = GCSPRINTF("pae=%d,invtsc=%d", pae, itsc);
+
+    /* Set Nested virt CPUID bits for HVM. */
+    if (hvm)
+        extra_feat = GCSPRINTF("%s,vmx=%d,svm=%d",
+                               extra_feat, nested_virt, nested_virt);
+
+    rc = libxl_cpuid_parse_config(&info->cpuid, extra_feat);
+    if (rc) {
+        LOGD(ERROR, domid, "Failed to set CPU features: %s", extra_feat);
+        rc = ERROR_FAIL;
+        goto out;
+    }
 
-    r = xc_cpuid_apply_policy(ctx->xch, domid, restore, NULL, 0,
-                              pae, itsc, nested_virt, info->cpuid);
-    if (r)
-        LOGEVD(ERROR, -r, domid, "Failed to apply CPUID policy");
+    /* Apply the bits from info->cpuid. */
+    r = xc_cpu_policy_apply_cpuid(ctx->xch, policy, host, info->cpuid, hvm);
+    if (r) {
+        LOGEVD(ERROR, domid, -r, "Failed to apply CPUID changes");
+        rc = ERROR_FAIL;
+        goto out;
+    }
+
+    r = xc_cpu_policy_set_domain(ctx->xch, domid, policy);
+    if (r) {
+        LOGED(ERROR, domid, "Failed to set domain CPUID policy");
+        rc = ERROR_FAIL;
+    }
 
+ out:
+    xc_cpu_policy_destroy(policy);
+    xc_cpu_policy_destroy(host);
     GC_FREE;
-    return r ? ERROR_FAIL : 0;
+    return rc;
 }
 
 static const char *input_names[2] = { "leaf", "subleaf" };
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 15:03:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 15:03:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260451.449936 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCNLu-0003md-HG; Tue, 25 Jan 2022 15:03:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260451.449936; Tue, 25 Jan 2022 15:03:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCNLu-0003mW-Cq; Tue, 25 Jan 2022 15:03:22 +0000
Received: by outflank-mailman (input) for mailman id 260451;
 Tue, 25 Jan 2022 15:03:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=81on=SJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nCNLt-0003mO-6V
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 15:03:21 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d652f719-7def-11ec-bc18-3156f6d857e4;
 Tue, 25 Jan 2022 16:02:39 +0100 (CET)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2104.outbound.protection.outlook.com [104.47.17.104]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-36--7XrMmnfNIigxKwBdAq5bQ-1; Tue, 25 Jan 2022 16:03:18 +0100
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by DB9PR04MB8377.eurprd04.prod.outlook.com (2603:10a6:10:25c::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Tue, 25 Jan
 2022 15:03:17 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::353c:89ba:2675:f607]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::353c:89ba:2675:f607%4]) with mapi id 15.20.4909.019; Tue, 25 Jan 2022
 15:03:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d652f719-7def-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643122999;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=n7oGU8sft9scSsEtwHFSvTIG9FntoKmTgIXocTnV564=;
	b=jRDXcp/DJEZHH02wOGImsXFqciDxYfZ9mc8YPCriIjKBx1zvG61i6VBf7Qyzt83BNurxdu
	DYutg32fjyNNlbuxPsysdhkvhZ++RWvN0Uuv76ZY8pXm8mHUmBhEUZ57+7yx9taEJnQNAe
	FYctDZjcX2c3VmEdDFeKybDhlPci70o=
X-MC-Unique: -7XrMmnfNIigxKwBdAq5bQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kcGpPX59oGZqaR1NQIdFDb2/3uRPlKudJOvlBMEbyLKkJKWgYKyEeYC/pAl2XvUNRaM3JzJW4KHpiot8B8qFRn+2vLJXDwrluKtfc0BM2l2GgrOKCZS+v5Zj1VzalMBuEeZ18IhJJs5gb5Hs3rSTVg2ohChGiTOmYW2I9+TLlhAlED74FgjjMJESqfeHVjmT4czl8FQv/MCzHEOrc6fPOoV8zoLG1kzWO4zVbNwsjrGV7yeJ7YXZIp9f6GQXlLux/glKPw8ighIXB8vYNc7j54y7zWMylx5TkTqJZr9doYGnAF2jv0i0Vu4Q2yjNJ2UxuMwzbkpp2MpNrTFm4dn8Ng==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bFMJfLtsgAcoesICBqMP+HjYvME6QiTK/0iCNxlvy88=;
 b=WB+qM6phO/e5n4qjCW1Q+OuEJVY7n0gCxecBXnB7qj1RYOusUX4hINKwWZdslMIPSPwGdIZWNvmotyvYFXoDVsVGUMbVa5wXDVdf+i0PTUYFtzNoP4IVG2ho/dZHoap7egMH6mAU9DCjzp0z8uVL+7nW/61he7iGFu2kDK2fhHJRelrS2Vs0oP/T0vW59FWpA/Xb9Sksr4qDJWjAHQaL77ATnFEUzCHT5Ph7kxCxsynIYbY1Tb1uKYampJZzm1gnNNuD+2na5/e7D+EWNbiYZqSY0Si0u6Mjcih0YL4kielaawMbSsI1lBMRrqAyl+tr5d7i9m1AijPzsdBG8OyiZQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c6b5cdcc-d063-5b48-1f33-d67accc2678c@suse.com>
Date: Tue, 25 Jan 2022 16:03:16 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v7 01/11] libx86: introduce helper to fetch cpuid leaf
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20220125144935.44394-1-roger.pau@citrix.com>
 <20220125144935.44394-2-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220125144935.44394-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM5PR04CA0028.eurprd04.prod.outlook.com
 (2603:10a6:206:1::41) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: aee2a2c9-5aa5-4fa2-4eb0-08d9e013d154
X-MS-TrafficTypeDiagnostic: DB9PR04MB8377:EE_
X-Microsoft-Antispam-PRVS:
	<DB9PR04MB8377F9F3668B6D0653755368B35F9@DB9PR04MB8377.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:
	XhuvqoirtVYZ/M5+Qad6+K/ficZcfRnDkKxgbmRnkwEgyGKRmXadRkY06YcdxeS/Ox8PFb68g+q0JInOqCWpGXzzpRz12w0HXlEpdfJ5iZm72dUmQBXwqvpTJgP4bg7RUwlmK+yddTwenwU71ha/JXTl8R/W31EyUWgtq00zxTeJvXusrWwMvVhH6ExLypR+6d7v5ygndUH9u8BeMKiMtBumcPXIG0i2E5396FjjHJ+cr1hlzydO7Nl1c+wRUyfI0FbJdPjDldKbLAgiP2HCkPUJ/30D9GbUa2QWQt06oS0vPXZf1lE+kN/MbecWSMSqm/12aHxLZE3BKbxYFTYhIeIsNPvXowmPDAcKmAggeGkEaAP1mDCW+BWBlZzqfKOkIIytpvlfIKIfJm9k/GzGRlDGtnVc29XERJ6UmUF1Ct0MSZDdIXfh970sFur9yv3Jsu/kVATtg6XYCLri5PY/iuCzQB+prErU22bqHFwmDJTrJPyv1chgltc8a0nMbbei4T2oXi+MjDDoceT6UmLY7/IveWxD++9xwAlxWGt9LUR4iYHFPtMOZ6JF+FJQyt/RVFpxFY+a8vM4QNqIuKzvh3RgNdC3MIQZU7v1rqtjUPciVP/FneF7LUSoGOuEt4Bmxg8GaEErU1uSNTUWOjdmQ9UjKltYaYSCQyJBkIwHBpA1IOUWSpJWxDvgsyBoznJM3tsXP0djgjN1hN3++6rHnrxMB6i3DXfalY+8kJXd9DQBz0iGnzKta89fRucz9Sdu
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)(4744005)(2906002)(6512007)(53546011)(31686004)(86362001)(31696002)(66476007)(8676002)(186003)(6506007)(66946007)(83380400001)(316002)(66556008)(8936002)(5660300002)(54906003)(2616005)(4326008)(38100700002)(26005)(6486002)(508600001)(6916009)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?ea3gj9cBdEgzYIt0/KRWQXjXVHZgZh3D3PIP8thuYz5BWmFNoSZN6vnzUDAi?=
 =?us-ascii?Q?UQ+J4jr0owQ+/H76Zw/vjUCLYLIxkDqLO2dBR9kmNXWKQwTmk7Ky21IQ9hrW?=
 =?us-ascii?Q?d+iFXUyic1u2QqMspAzklK7Q9ZZ3ohcJfU5yxFVwm2SMg2Pl1ye8QPc3g/87?=
 =?us-ascii?Q?KECN9falpqtTwQXxMN1OgqsO2Lk6BS/N1v2Jv/CH8jsfrgmn5tNONUC1/m+g?=
 =?us-ascii?Q?splS6pELm9i/jt8x7e50ifAnWNXqSNQLf/f9VF5/6qpfEjuMYMtyYq8U5IcI?=
 =?us-ascii?Q?PzXMGVea4yWYXV/tRy3FFNQNdJ3a3Hy7FFhEnHEcw8ex/lQdTRa0CjcPIyjz?=
 =?us-ascii?Q?1kgiirrfTwTcwOoTOix4tYicKkQCEXUu4W4x1oUlzV8afaGYqYFwt+q6Lo2n?=
 =?us-ascii?Q?Rb7H9/shi9XH9M3HCMM8j/qwfj2+3ZghBsmo2NvXAAnPztq+/KsFVSrxPtgY?=
 =?us-ascii?Q?eqnILrE8ICRe2COsvdMRBj0+UtqedoueTskfL6/FfVOh3q1lvHiKRlGGyi7I?=
 =?us-ascii?Q?eR5h1mltFU8BBRT6qFNVTTvMZ20NW/hyIRlsllwzBkCuY5OCTO6TTYaUOeC1?=
 =?us-ascii?Q?3PSIfixfYtxczt/BdZVe+FWBAfdpSiPpVyHz1TvSD3wIF1dwiPcy+cWpcPrz?=
 =?us-ascii?Q?GW/IKKZ0xPwzEfT7nC2b8a5KKpnCt7Nwsdm2Kkr6TzryvUlr+urxAu4W58q1?=
 =?us-ascii?Q?J5vAGjBZefLxF45CJJUr4EzYem4eChFHhZNqFRP2sOds1bziN9NDB2MqEAzG?=
 =?us-ascii?Q?woPw4bY63dRs7wdpHQ/0/VuJT0WD3tGvhs64TXISHvTTkN7Y5OXEcPYc21gY?=
 =?us-ascii?Q?NbieoTltES4ZfhRfyvTdaIa+ztOYL40NBNuUsYZvscMkNv4INo+UgaBKGxfb?=
 =?us-ascii?Q?ydLYn0jdx8yqmdLDyCR184jSli3UBRw0QcgFr2x5psvUK3mJTXbwQs4rSTWC?=
 =?us-ascii?Q?fd7wvND9MeWJRRfWGiM4SPgi7gLtq2AJyO++kcBtBMcJizA1N6/oRlnuydFm?=
 =?us-ascii?Q?qaHuE+ZXLBN6H8dtjhyvbkmTV5JyGcRMxWo8NZ93qxDVTGoGt4OXZEpVnNH2?=
 =?us-ascii?Q?/oGlhnTmNrDec9rM1F8HTOjUHjwOu/rcByorkH/C9pryal0YfS2rkgqHUDiZ?=
 =?us-ascii?Q?kZlzWYj29XcMwmu8JV9bPsMC+PWz3wdkQOlsrf9dJmJJ7lRgLaEmyR0Zn7Z/?=
 =?us-ascii?Q?qHCd7L34UYsFOBNo/iRVxKFg03roVVrs3gxBhOTApdsmFatTYZ9eE0mluH2G?=
 =?us-ascii?Q?x+0eGL1/Mw3lQ13OdjUNKf35blG6qdJ8zXf6v65dpfNH5YUVSKa3WTfFHrDs?=
 =?us-ascii?Q?IqiMQVPE4pujlbWuGJO6Ib23CluvoqXwt1VdMqHdE8gOE8YA2B/aDQoowINN?=
 =?us-ascii?Q?B3GZoE/FOj+R3xT0ZMhVb5pWojTAED3MiKIC2Vp4gAI/AYWJcbwXirgHPZze?=
 =?us-ascii?Q?XB9VwB3Xw++nV28bDHPBQWfTT6Sjbzlh2XH2Shyt6oSZdoNe+L96gT2cl6Ef?=
 =?us-ascii?Q?+Gz65jJcWAvo8rbNACsDK1PU2xENWOWuQBpH6wRJia6Hx4ZTrae6OZ5j1mrf?=
 =?us-ascii?Q?+uXyMLZ4r1BYl6IrzcrIMdKzF41lqOwKG4gfQne3LOaU6udoIYtnWiZMLd55?=
 =?us-ascii?Q?3E8Zct/rCHucHaCd2vHwyZM=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: aee2a2c9-5aa5-4fa2-4eb0-08d9e013d154
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 15:03:17.2005
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: D32c0GReN4hIEYJj1HgcXOhSzdbEOnSBmSAnwD7WsIWwbcIJgi9RjiwNPuzSbS4+0ItZuO1al+ZbsLMcEOurhw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8377

On 25.01.2022 15:49, Roger Pau Monne wrote:
> Introduce a helper based on the current Xen guest_cpuid code in order
> to fetch a cpuid leaf from a policy. The newly introduced function in
> cpuid.c should not be directly called and instead the provided
> x86_cpuid_get_leaf macro should be used that will properly deal with
> const and non-const inputs.
>=20
> Also add a test to check that the introduced helper doesn't go over
> the bounds of the policy.
>=20
> Note the code in x86_cpuid_copy_from_buffer is not switched to use the
> new function because of the boundary checks against the max fields of
> the policy, which might not be properly set at the point where
> x86_cpuid_copy_from_buffer get called, for example when filling an
> empty policy from scratch.
>=20
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> ---
> Changes since v6:
>  - Add more tests.
>  - Drop Jan R-b.

Please feel free to reinstate.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 15:04:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 15:04:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260454.449946 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCNNC-0004Km-Rp; Tue, 25 Jan 2022 15:04:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260454.449946; Tue, 25 Jan 2022 15:04:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCNNC-0004Kf-Oq; Tue, 25 Jan 2022 15:04:42 +0000
Received: by outflank-mailman (input) for mailman id 260454;
 Tue, 25 Jan 2022 15:04:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=81on=SJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nCNNB-0004KZ-FU
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 15:04:41 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1ecec620-7df0-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 16:04:40 +0100 (CET)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2057.outbound.protection.outlook.com [104.47.13.57]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-26-MLu5SyE6Ob2GRG_eDzjzEQ-1; Tue, 25 Jan 2022 16:04:39 +0100
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by DB9PR04MB8377.eurprd04.prod.outlook.com (2603:10a6:10:25c::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Tue, 25 Jan
 2022 15:04:37 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::353c:89ba:2675:f607]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::353c:89ba:2675:f607%4]) with mapi id 15.20.4909.019; Tue, 25 Jan 2022
 15:04: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: 1ecec620-7df0-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643123080;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=NdqjO/CXI/utlIN/iHvMIu+ruyBHT+TUMH9zRVqBGFg=;
	b=dD3kutu2CbUEKFn74o/VBsajbBPeVduel8tcSJ9kmHGec0s0TtqK2o8maC4IK+tdwNevxV
	C3zIyxvwPUgOEH3zm6s2daxcMaVmGkn1yTQOXIMRL6Wozgjuqo29R5KmxLF274bwC2zwx8
	CO+j3DHq69nJ4P9pGuKGja/5dYRBoYo=
X-MC-Unique: MLu5SyE6Ob2GRG_eDzjzEQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LoWbn3IfnS+NjFdUOdKnZ2fEGA+5hbNj8WxzuSWLMM7Fa0axHpmkkpGUb0i1PQDnlQyUYpYzAbbmWtpasYXyUt6Mr5qWQt67iCQzHV+2XTbCmvJyILezJj5kjLd8RojZKb9AbOax529nW+QJQoY4Ak5/Ud2ewZDABUJoKSn6BTcS1HTreP4P76U+AZQjoqHP5DCi9NdbcsFKUaeZyTla7IYRIlORhyCicZhTjZ8LjKfewBMb0OZD5xIla85uq8qb3kLGnFJMc8D9MBQ3rDHMD06/KmsWxBTqtsffe3LKVm2GSySWrq9zXoekqGX3L7DZluB/8oSJrQJ/Xl1FPJtDgg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JNtqXJwOJdkIZGOtN7xRp7d0DmgT8YBuQ+out6f5hy8=;
 b=Xj5uiVp057RgF91G6e+TfYEjYY+NkWubPXnmoXnxgdlBlSztbPF5i4+EWduXrferghjmrdLBr4J4F6F+LliTBFfXdPRstajsZ5iQZvLlC7rf79RgspsdkuoJHJDpKDNKiOY8bg5KZwBaxnrvo21gxWT5ugXBlDoMZ9degiX3W2aiSIzO4J8S+3LQ+xG7dC73cpM+OKRXsGPouhxLbaycKOxg7MnSjg/wm3RIHyMtA4FHRqJoLM/7h3fZWYXDEGlt6OL9GhssDz1QwZbL7/ZLlxKIegIR8kcFs1B7MnzWPb9CbegegUZn1h321TvrNGjHbDr7fZug6sev0QqAw+m4MA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1903aa17-9820-cadf-1aaa-27e1ed616b69@suse.com>
Date: Tue, 25 Jan 2022 16:04:36 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v7 03/11] libx86: introduce helper to fetch msr entry
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20220125144935.44394-1-roger.pau@citrix.com>
 <20220125144935.44394-4-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220125144935.44394-4-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM6P191CA0085.EURP191.PROD.OUTLOOK.COM
 (2603:10a6:209:8a::26) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 049fd3b4-0580-42bd-eb29-08d9e0140161
X-MS-TrafficTypeDiagnostic: DB9PR04MB8377:EE_
X-Microsoft-Antispam-PRVS:
	<DB9PR04MB8377866F887D6F36083EFFC1B35F9@DB9PR04MB8377.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:
	AoH1CSQp3/DfsrJj3QEKcc8sRoNLMe9zjTOiYkgcVLkscHICriSq3Vzou2uZd6zRGxt5g2y/W6YYi0jrTK51AYd6SuyOD8xjXGphf+mUm+oIvsl9uRdU/7dKkcWC/+W2p5edSnoHgffMMzxGp30diaav4Xwdd61iCTNYQalLpS7/rWPHXChWOKNonZH23x+02ViBHdfGD3Txo69/iAoUtDBZSqXJfeng+VwsMdlADj2t+9TX0BhzEcMobD+Tr3JXt1uK6pwky7opWFg6QbmbPk/rtLxbOLLHFPattnKRZHQwFk/rgCc2GJeNtNBO9siSBMv7n0LxOH8UXwyfGXkxLtIer9YVJAI67wDAnRfrA0Kd/H0/0C3DUQCFpzzYPBZDNfQMdQVdn+6muUhDCp5fnF++r/yYGVZMRj57r9K03qkUFJOjugfcU8SJJ+vGzkWXwNOlP8TIALSiqUPAzGeypvOzIOq7MdyBLL+qMn6TFj6rSbbNdR2nrVR00JrHm2zFAQSlBDD90ohyNJ+pjTC4S2RHSWIabcDQIJNeok4PnFxIBxeHPIZqtuPNLpLrbggj+JW9vQeD+p1oAhDn+tYFcu8EVByMpuXqWrazUp+kPhpudWYz9L53evKI4e+yHA3Dc9Sjkzj3DtMAMqI7yS8HglM55hqO4Athf7zkh5Cl2ov3hjMHHh1f7SVjlXveS2Lsg/lNrLk/BbD1TTKErDoz6J924yw9lr5yQxBch1Jb4UtjWASO/6eQ2A1/1ENnE75h
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)(4744005)(2906002)(6512007)(53546011)(31686004)(86362001)(31696002)(66476007)(8676002)(186003)(6506007)(66946007)(83380400001)(316002)(66556008)(8936002)(5660300002)(54906003)(2616005)(4326008)(38100700002)(26005)(6486002)(508600001)(6916009)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?uGgOoLmiD6Px+oxqDSBmsipeETMbxK/dYekBpxbKNXfP7yz8NP2vpM7g6oay?=
 =?us-ascii?Q?6OUofGoVNN7z7w+McDWQJcLyMiXrThBrj/kd9oypUja4ww8+SqCVE8JJ6d7d?=
 =?us-ascii?Q?volBPDUtym8zMwkKc9sLHzF981GUoa9uTK+QrR5pBlx13HbZQCMmpLUA75qG?=
 =?us-ascii?Q?SsXjBV9EVjfDqBp9kOdVas8tCAnRN1N9AoZYQx6O+Pdxna5b46h1dpdwrXLG?=
 =?us-ascii?Q?DaoEnP+jkyOxaQeMlQqVx7AsoKCBXnrRpLnYgIMZM3wlgGmf5xiIef1rqoXc?=
 =?us-ascii?Q?qofMVGiFgFJugB8IL3RuO+yipsaDd1h3F/+NRQXafWoSbrqQpmCik8FNC5Eh?=
 =?us-ascii?Q?A5zL1tCHJJzcYJ2Z8X14uEunP3QRAf7HFbETSjBkq/R9Wyt69YrPZoeG7+oj?=
 =?us-ascii?Q?5bC8EOwdBZ8WmUKbeeaL/kTdAUjgmTk3FGVBiNpZYFHIcW0yk4+qFWbQDSQf?=
 =?us-ascii?Q?XxzamCwWao8gJVNcQs+IuTGseMCF8isd4bhX+IwxsvyesxESfto+9u6gaD5N?=
 =?us-ascii?Q?bPuXUM+bkIHFpCFaEFiNCkYtE3ZK/trFugxCOn88YVa2xuGyjtZgJSdVLlP0?=
 =?us-ascii?Q?rXi5H5VOve9GHaWMsyaeEY4Pt0dbkRqAp2WwMesKF4VYvb8QvN+y42V0308q?=
 =?us-ascii?Q?xcn2EXFYB3Njn9G4SCNzdQWc3SDIGijSkR+wDpLP94q16hlSd0cIQvegBUe6?=
 =?us-ascii?Q?umhivpUIItlRMbq+claKCzx9vidfQkWRO5Sztscb7FJkQTpWO7GJjN5SCmGB?=
 =?us-ascii?Q?zLwftmZQCIc3VSpBfnQOAvEMqwxG3Zfan0IlyhAcQxxn8asDa5cSVVeT4ajs?=
 =?us-ascii?Q?4w12fx8ccdyUTVaCVs2CpVhEW7bSQ/WI1EXehZtQ7Z5og1oxgcVznAEBEYZP?=
 =?us-ascii?Q?zcoa3nKVsYfg2BNcffqLBWymFqsd6XIdjAdAmGUJag9KZIw13CodGCQcdVkM?=
 =?us-ascii?Q?vJt+A82TAlrYn5UDTuJmEm8lgVsjGgvQwjIt1m61VuXxNSlNz6sAyYrNeN8t?=
 =?us-ascii?Q?yg27/suDCl6lQGQDZLItO85bUSd25dHHKSbjK977tyt8WFiMTM+BJI1Yd1VI?=
 =?us-ascii?Q?BqDzb4YXnuwJNtvQ2ZEU/9YKIc7FvOC/kbDyRiWnl5KmF7K/6iil3RdX0xwk?=
 =?us-ascii?Q?7N2MemWu7aDyHBJkGvBuQAFjKGA0K1RBgSvYoWvpuIzufaiFGooAw2vz+27+?=
 =?us-ascii?Q?XndamUQPmFVRPUS5NcBn0FMAHyHgc8b5IOfplNTosZnv1WpaWkhwxuTklmpm?=
 =?us-ascii?Q?NKZjjg/YNQ+zpMhOq6/FCUGdi8saRelqXVbOIQ1J2Kx+/eU1bcQ66G31Wo2h?=
 =?us-ascii?Q?1TLBwb3sRxCLcl+qvI7JMbU+s3jd3QFLVddyc66UI3O8hHu5j4I7Z6KN16bc?=
 =?us-ascii?Q?/XMc0cJ+gNJu2XtpUH8eumn6VGbH/NCE2wltESrWzw1xM9cOL0urlPvQCdgx?=
 =?us-ascii?Q?KhRvCsKeGm6KFX0l2gtE1aOcN9tg5LazldqMKNOCJsyYZ+Qw1yJwsemF8u5W?=
 =?us-ascii?Q?W6io8Ya0q25e+Xvv/osmaV1QyxKdpjweDSV85VDzRYK1ALZOEfAocITo+mm6?=
 =?us-ascii?Q?GclTc5dO+7Gr/iImVHeIvmyGXa8T4xLmg2a+Pc2U6t0P1hvIjrmymi40xSmq?=
 =?us-ascii?Q?HOJkpSjDa9NB2tOxyxn4Zig=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 049fd3b4-0580-42bd-eb29-08d9e0140161
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 15:04:37.7579
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +jhm0Nw+tBybNqTargwqfhwMd9Xf0O38rxTKlM46LBKH71U43SlhpDRoGnj7AL/hwxgVSsPkQLoXIkIgxG0aNg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8377

On 25.01.2022 15:49, Roger Pau Monne wrote:
> Use such helper in order to replace the code in
> x86_msr_copy_from_buffer. Note the introduced helper should not be
> directly called and instead x86_msr_get_entry should be used that will
> properly deal with const and non-const inputs.
>=20
> Note this requires making the raw fields uint64_t so that it can
> accommodate the maximum size of MSRs values, and in turn removing the
> truncation tests.
>=20
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 15:07:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 15:07:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260457.449958 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCNQJ-00052R-BD; Tue, 25 Jan 2022 15:07:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260457.449958; Tue, 25 Jan 2022 15:07:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCNQJ-00052K-7P; Tue, 25 Jan 2022 15:07:55 +0000
Received: by outflank-mailman (input) for mailman id 260457;
 Tue, 25 Jan 2022 15:07:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=81on=SJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nCNQH-00052E-PO
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 15:07:53 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 91428de6-7df0-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 16:07:52 +0100 (CET)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2051.outbound.protection.outlook.com [104.47.0.51]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-29-HWrTwOvXPZuXkE2-0k51gA-1; Tue, 25 Jan 2022 16:07:51 +0100
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB4881.eurprd04.prod.outlook.com (2603:10a6:208:c8::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Tue, 25 Jan
 2022 15:07:49 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::353c:89ba:2675:f607]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::353c:89ba:2675:f607%4]) with mapi id 15.20.4909.019; Tue, 25 Jan 2022
 15:07: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: 91428de6-7df0-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643123272;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=4b4XbUplJHKYZMl06J+PKJT13U+YfoUvnFI30oZVw6Q=;
	b=X7o8YYWh/JpkvJ0mcN9GGhRE2c5wNKkhwmmVgGBvoUFVH9rNuxropCF5Mr0u2MV+Zb9C4k
	6P26CmLuOGaSNQw6DtnjaWnGu4UDbPU/mAeWwLV8Rx4IEfRh1ZhtkDV8hW6HNgrjfNKcp8
	SbE78n2s0VgF42n3V5OXUBoHoUA/+Bc=
X-MC-Unique: HWrTwOvXPZuXkE2-0k51gA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YQyYJ8KJskm7r/bCh4LSpDl6ex4mgVqDiRGn/TtN4COj/8chVHi4dJBsM1jNDXdOkJtUjm9ec7c44b42lOXjpMPdBiAsi491dtWPpqp4ctzDP4JSici3QufkvjR7jYesTQryzBFIyPdUcqElTZ/aYsxgbbiXpI3i8LdBXlVbC9EzHeQgnIDevsp+pewNemJRe+qz3Nrz2N2tOzLuXuoarHHlcj3R9QR/1OI96iOVktDRdtsxz9/6V0C/RIGUCHPLa5XTDp03HrnnJlEFmGy47+8+hdKKjOlbTIdm9+1Yz1mZ2sdyUR/blPWGommHPKyfqtn1TzB8wtBWz5rN58Bi7w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MsIe59JW2Q5UDiKGcwAZrE1MJ29ozAitMEwEe1GOFgg=;
 b=XRuS0cppK1L2GZcRFksM3Etff0VKBHVSdon/9ccZbCktCRF6bqsNM+bX8Mb2BlADPWqJCwpmCdcxgmqFswpWd66fJeb0987qUWlL3WtlvLLnOdzxLihr6i7SETbQXyVstg9res36Oa0gMHEiU94CaxhquKDB4gddPXHFY/Ihf5d5fx3YZeRdBvuW8w8BSZw2lhWZBlctwe0rLbt4SY2D3EwUSN5Yh7XV7RfD0Dvni2t2V5pB/kXQT0Nk/it5lELkgnEB9SILBnUztGN29yb4DR1MBrA8qbcjY+1HNZ7INBSakTrJFWwsssHxTLWr/m/GR448cetDZRxopKVJHoQVcA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d68d2950-a09e-6b34-f06d-372ad171e0d0@suse.com>
Date: Tue, 25 Jan 2022 16:07:48 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH] x86emul: recognize CLDEMOTE
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
References: <5812dc8e-d77d-f9de-4f37-b0ef094c5c09@suse.com>
 <YfAKzvb6QHpIza0p@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YfAKzvb6QHpIza0p@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM6PR04CA0013.eurprd04.prod.outlook.com
 (2603:10a6:20b:92::26) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2450ded2-4edf-4db5-765f-08d9e01473bb
X-MS-TrafficTypeDiagnostic: AM0PR04MB4881:EE_
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB4881E837BC643DD7CB0053B2B35F9@AM0PR04MB4881.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:
	Gre15kGYo32FaqLNFnJKRqZ4RPMIlGwJfgMV4WxRytQtKCcivODVD+NVJXb0Ads/aGve3ru9ABxpsJlwO1JZmfn3zv1cxMranVp+J8+wmDel7Y6II/aYSvJ+s94ZtFUwG6bQgnjGWCpp/JbRrjn71UdOXmGBHAQ8vnf+dQtPCieQzO1sGBFZojiD+MDPUrUk+9ADKrCe7IJZ45tE1WObQviBLh5/yvXnQclMQoyDrhV5noy5at98s/++/qpvI4/zhgRxAHpUe1Bps6QI91uAUEHzr9uloE7xV2raT7knI0uyE1JVw2/8HRPtcV+5/LZSaJTYQfRRN10Rn5jsu0F+u3Zf8HuWid4ccBPNvBU+CKw8Ibn4UVxARdSaI4Htv59JtqTGUef8JruM6NkzBVlvUb01I+VQkXYV27UsMqwt6FCcwyMGdihko4SGUZr6ZNk1HFWaG952WE+CNSQ/TUTqaP/338y2xzByHVOAe5caXNKHNbQUXIx7khhJg/6dpekJlWCEUbx7xzxPnCHxuY+Z8Q5xxF3D20Hzj7pBPHGUJwqHygVLkBHfq0C4aEke3yBs5l6d4cpet4RUtCijfdw+oETD9/+NzJbl/+O02aMp25gYU8UyWLhHYaVccURNuTnLPai3eDBycMD8oe5IMi2q3CGxW5Z1FEZS5OVQCWfw//kEPsv+Uzk1GGbZTaBPFSInKb+uic0+aMxfd22h39Vhhg7xbxQrHD/EpKwo8nJiu475PAmEs1MEyz3xFeNIcwLu
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:(13230001)(366004)(6506007)(6512007)(31696002)(86362001)(54906003)(316002)(6486002)(83380400001)(508600001)(6916009)(53546011)(66946007)(26005)(186003)(2616005)(38100700002)(36756003)(8936002)(5660300002)(31686004)(4326008)(2906002)(66556008)(8676002)(66476007)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?iNquDLbEQkMxvt8U4T0o70iG6mQFqmMWu1LpuJvin9DvZKWPxQnoOECIuIW9?=
 =?us-ascii?Q?3c4cWNAHZ34Y5cZckBx13wic+SN9UgsYS7tgbesk117y4mTqqniUWnwYful4?=
 =?us-ascii?Q?22zeqIboAyBFbLpTJTF9/2/BsGre3sAGha0UIfzAl8rZfha/h6DcpZAZmj7t?=
 =?us-ascii?Q?xN1ltLp4Dmedrjb3ZLpOZ+mtR2cFmY0CM/1L3dZdF5sG1HDaltFAYffesdjz?=
 =?us-ascii?Q?6jRTnDmEAoE0vXykuvdiG1AmvvgamrpsfzrRWh5CKOs+jGGW+kJFN20jrCYR?=
 =?us-ascii?Q?PtW9UGA7cvMUa+t51UfGU8kV8lYsgpgKeLrEH1hVBJCa9WD+CJHjl2chQjE/?=
 =?us-ascii?Q?jnQLyoKAMdQ89TepISsk+Fn38AzqB+1p7BJHUhCwiEcZ2vkqaHVKfpTBErsn?=
 =?us-ascii?Q?44PBjvvoWLtTTlAn1BMJQUJZavC72Pfl8DIp9eOwooQL399rUjgBXNt/BCyP?=
 =?us-ascii?Q?c87M5Vtgdw4JpTO+PETCkLW0Ylc6Cz4viHDtXS9kbuR1vG3TPu8M1zYyzz9d?=
 =?us-ascii?Q?VFpxQwTGTDZ00sqR3REKVf9P/rZ2Cj35ZTvr4UYv3csr5ZeL8JFZYbAdw3bV?=
 =?us-ascii?Q?a1LoYDzDH0v+6q5PrhMCzhEWa28sDlAWRy/Q9fW5n4DEgKT0KDyRzowcP0pV?=
 =?us-ascii?Q?2f5n8NaMsZgDfmnX/0yaR5l0BxzbYwW1L6J9e4hmsBG3m0SxSitNjgL1IYD8?=
 =?us-ascii?Q?3mttC/1ZukW79vbWcYoUrZiTPMPiJlDeGrPgN6hP0OKdbm6TryvQmYwvUPHl?=
 =?us-ascii?Q?UwCwp/ew+8cyNQ1u3KdPRxP2d9YV0Q6BtUwdtrFOWiYMSFhGGo4FihJrVQti?=
 =?us-ascii?Q?39fiGL2F1Ci1jlgnHy/5t4YhlumJPFlDZAoNJGNzRSbi+Yx4pjUFg4CI2l/0?=
 =?us-ascii?Q?syoNAyGh/QBPkGPI7w5/Fuw7z1TCTcFX/xWMMOiepSvxZa/RV2IgG3X+lszv?=
 =?us-ascii?Q?kSFIfCBbDbQ3acFEqHGfWpibboaLkiFbCrQ/xsDs5rort1coFCIDoslzkTz7?=
 =?us-ascii?Q?hUxHdSDTCqj+LLAjzRSTuWk34Ukew5fFlUjDtbed7z2awrKbAiwV3zBlXn+J?=
 =?us-ascii?Q?QaoLcOyI1B7mD/FEdveVqQRdOn24UNXkn7EGQ2tu3P0U9RU/FrdmnaVcjHzP?=
 =?us-ascii?Q?FxVVJn0dRLQq9MWEI7AIgtJlh8RTc33Ecu+VRsopsBiBEoEkxj1yVd2G28kd?=
 =?us-ascii?Q?WfMxZzCg79aaUHlqPmPZ82Mug/zLOzyZtyWBwETvGb2RBnj/4hlP5XtM3prS?=
 =?us-ascii?Q?61rS60N4vmNj+hxVTicoTXKupUDiOcaMe5nT0MTWnWsIXpaxCNxt39OUd6lJ?=
 =?us-ascii?Q?P3/2NIV3wRTOiPbMZBOeQLdCWWLz8uHLzrYjJoAzAqMyzLWS2wMetw7CXSvp?=
 =?us-ascii?Q?zZ3kAC+jCKKmBGytRLTBiLeaoTXYgVDhCK3HOAayMRQSycxT6jZRQxxJ4fxQ?=
 =?us-ascii?Q?JYkRgcRvVi267zEZbPGEOkbc641zhEELVo92iQIZ6B2vit9dyf/mwTljZhWj?=
 =?us-ascii?Q?VSKaqfkJfOeKIualMGckO5EwDkzCm4kzS/XpXhjIsPJcsoDe1dsY3PFYZd4L?=
 =?us-ascii?Q?92ITWqK4eu7yvcsPqy+ARAf1mCl9ytPNkTqZAPAdyg64fz6vyAP1qG5eArw9?=
 =?us-ascii?Q?fCY8pzm0A31Ll+rZHu+Dlcc=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2450ded2-4edf-4db5-765f-08d9e01473bb
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 15:07:49.6362
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jCWXICKDO91uhOONAtjTaaAxnatLJZ1+J9v3d80pzz3POeZ1BTQxqsH3x+E7KGTE2FAUfRx3y/zR1668zra2CA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4881

On 25.01.2022 15:35, Roger Pau Monn=C3=A9 wrote:
> On Tue, Jan 25, 2022 at 03:22:25PM +0100, Jan Beulich wrote:
>> We claim to support the insn, but so far the emulator has been handling
>> it as a NOP.
>=20
> While not ideal, the SDM mentions that "The CLDEMOTE instruction may
> be ignored by hardware in certain cases and is not a guarantee.".

Right; the same is effectively the case for CLFLUSH etc. Still, unlike
prefetches, we implement them in the emulator.

>> --- a/xen/arch/x86/hvm/emulate.c
>> +++ b/xen/arch/x86/hvm/emulate.c
>> @@ -2351,6 +2351,28 @@ static int hvmemul_cache_op(
>>           * to be sensibly used is in (virtualization unaware) firmware.
>>           */
>>          break;
>> +
>> +    case x86emul_cldemote:
>> +        ASSERT(!is_x86_system_segment(seg));
>> +
>> +        if ( !boot_cpu_has(X86_FEATURE_CLDEMOTE) ||
>> +             hvmemul_virtual_to_linear(seg, offset, 0, NULL, hvm_access=
_none,
>> +                                       hvmemul_ctxt, &addr) !=3D X86EMU=
L_OKAY )
>> +            break;
>> +
>> +        if ( hvmemul_ctxt->seg_reg[x86_seg_ss].dpl =3D=3D 3 )
>> +            pfec |=3D PFEC_user_mode;
>> +
>> +        mapping =3D hvmemul_map_linear_addr(addr, 0, pfec, hvmemul_ctxt=
);
>=20
> I think the emulator should map the address using the same cache
> attributes as the guest, or else the result might be different than
> intended?

That's a pre-existing problem everywhere, not something specific to
this one insn.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 15:08:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 15:08:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260461.449969 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCNRE-0005iq-Nv; Tue, 25 Jan 2022 15:08:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260461.449969; Tue, 25 Jan 2022 15: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 1nCNRE-0005ij-Ka; Tue, 25 Jan 2022 15:08:52 +0000
Received: by outflank-mailman (input) for mailman id 260461;
 Tue, 25 Jan 2022 15:08:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=81on=SJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nCNRD-0005iZ-MX
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 15:08:51 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9b908469-7df0-11ec-bc18-3156f6d857e4;
 Tue, 25 Jan 2022 16:08:09 +0100 (CET)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2058.outbound.protection.outlook.com [104.47.0.58]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-20-mFOkSpw_MiSBwktvugYb0w-1; Tue, 25 Jan 2022 16:08:49 +0100
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by AM0PR04MB4881.eurprd04.prod.outlook.com (2603:10a6:208:c8::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Tue, 25 Jan
 2022 15:08:47 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::353c:89ba:2675:f607]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::353c:89ba:2675:f607%4]) with mapi id 15.20.4909.019; Tue, 25 Jan 2022
 15:08:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9b908469-7df0-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643123330;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=RzmuLSJWvxxUUir396QfJ0+0rafvIDGyCoSlzTrMYbY=;
	b=JwE9dPTnELDCHySbmzU/bpfmgMHvWYOF8eWWGX4X5heEZywjAE0f8HO1aBXOB8qC2RoSl8
	Q5KVpa8MUtFyiyTsQY6UAOHyPVxI6/lJAB1ooySmbrT5jxHVbw/3g7NDiT/yZm2M/e29/L
	CKQnp/PjnmEKtbrsJrmw13v/OILLYQk=
X-MC-Unique: mFOkSpw_MiSBwktvugYb0w-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kpeTivsvj09MHy53e4yyMlMF6p7cds87Sc2YW7sUw/YxDaSA9lcPhEtiw2+ApwY1WdmU0SlQuMKD7Vs/OlkggOWlKjzAOw2IvRoTReDQaAgMkBu62xX14RISj2U9SxdyTkRu9p5skJGSl6d/xp+85YDDLf1Zyz6yv9TTbCwd/sNHiPu1PWDPeolU/M8QsAcWB54qW9k960RL0LdJBmJfGYWWL5APQXzILZewmPoZVCcSJZOoX9AXqld9xsH8sEa5m4Lo54O/7wt8+wtZDxHqwItS3LkGVMEg9EXqefxSZqK534fNSXK7PXwLZSUhAHQt7OPZolPNtCLTe9RQbNzF/g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RzmuLSJWvxxUUir396QfJ0+0rafvIDGyCoSlzTrMYbY=;
 b=SYo7xcO9jfD4gcDfgxfJ7M259EX765xrw3oYi3rYz9RZNl7icgw/6AKYAIJWdY8+D9u+hb2VY/Tlep8b/WcR0ihdgSZPx1Bdjp2+s/rbqST/grAYN5mE2nVK0of7JkKh8tmUOa/cIBVAM4hHyoBWxC6AH6UZM/FtNJxrccEl3vCiPg9gJlyjlkgTDqKq9vwjYeEQ4ArZLyBxJxwJhcXqP+bpMPFoVy9RHaxxTc5kjw7e4YtoE9k7xqF4yfiuY4GqHfnywHzfteDICL2g2+VJqxryiv3KNwpxQvW8SklKUBrAyB0p+8w0GOwcAuN8r4rwwU3i1NFLc8H3sFrDvyujUg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d8a339f7-b875-492a-8697-1195aeffd8db@suse.com>
Date: Tue, 25 Jan 2022 16:08:46 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH] x86emul: recognize CLDEMOTE
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Paul Durrant <paul@xen.org>
References: <5812dc8e-d77d-f9de-4f37-b0ef094c5c09@suse.com>
In-Reply-To: <5812dc8e-d77d-f9de-4f37-b0ef094c5c09@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR04CA0010.eurprd04.prod.outlook.com
 (2603:10a6:20b:92::23) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8edfb453-ca45-498c-85ed-08d9e0149675
X-MS-TrafficTypeDiagnostic: AM0PR04MB4881:EE_
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB4881E59640ED4391BD8C87E5B35F9@AM0PR04MB4881.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:
	Fs4Ddw4ebwcXz8ICGhKs2bg9wVO4MO24QgqEQRgov7ADeLetlaE561CvbfAy+cwiYKlNLKxVWCmm4wn3zZ0uVms5QJH8ijrCk8vAXzUNdW1ViNX2FOnlz6hHWlCVG/QwIM7CSQBvpa79jIb2/Eg2V/20BDgQu6wVI/yZIdzyELYL4fBvD40tX2tgxuc2KFTbGYr7IkuAAOp4M2qCpjofUnNMEN02LrCx+gL1wfcHiYj0ThOJhp6A+i0oDUV2bIJKWlsXrLe9UV7SHiMA6060sgx97RZrEXpqR7zo1njcsWqB+kUmyE6jHGgx2FgSLJaF+Jd8KwahxiKIjsgreUsitIgQcDL+tIM5F6548GKWfkqGlMIOhvbmhlORV+7UA/3jD/0EvtLU8KR4/9oepo+cqQlU+ayMzk4S/8lyMkxjjFtFTW6+ZR9SUC7i7Qv7P9GTXPOtwO44G1f6hniuB9J/Tyanur0Hg/3KnwdpDmupZnuT0N/nn26ZDtFjfYtWA5ut4P9UK4MUMnLuRrk0UISqGpZIe8/yBixhMfO3ql30O5oUdBJ9bfUC+KnDHtC6vTqPywMzAuhvRDWOpCKnIubExUXnWBbZ1KO46fQfoWRzd6s6SUc8Bu8Tey2Hwx1ng2tMzm/w+AfDuLXWp4NWWfUbT+qk1KLGN5v4jjMh4EaQVxMQQzl4BrBlPA6aZrajQzMQo+GWt2n2gtcvoveoHbubtnxEE2MvEo+hg39WmnBclcgD051ZOU5Vo29BC+E+/ZXK
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:(13230001)(366004)(6506007)(6512007)(31696002)(86362001)(54906003)(316002)(6486002)(83380400001)(508600001)(6916009)(53546011)(66946007)(26005)(186003)(2616005)(38100700002)(36756003)(8936002)(5660300002)(31686004)(4326008)(2906002)(66556008)(8676002)(66476007)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UnpmZTY0dXFVdkNDajN4R0ZJQlZoc0ZuL3FkZG9xTXgxcFFhZ1UwMDU2T0oy?=
 =?utf-8?B?NnU2Q1prZi9hT3BjWDhjSTFSdnhIQjVaNGRTYis0R2VmNmJoNjBEcWNRMG1H?=
 =?utf-8?B?dUZlZmkvdDBqdCtBZlY2WENXSldXa2tpRGVUZG9UeWhZbENTYkh4T1RUMzls?=
 =?utf-8?B?VC9acnlNWUJWS3dOazFUWm90QW0wUXZ1VjZmWUthN3k5dkNqZzV2TWdKK2V5?=
 =?utf-8?B?aVYrU09HV0xxci9LeDBPTDg4dWpLRUM1cFR5djUvZW9FNUlhNUttcEhjTlM1?=
 =?utf-8?B?TGQwemE3V3FpSFlCdUxDOUwzMm9BcHBNNWwrR2M3MHBzWStIc3pESW0vaW9G?=
 =?utf-8?B?THJjK1NvMWxlS0FvYzR4TlRBRE12d05YcVAza2ttTzRxMHBsR20rdlI3d2x2?=
 =?utf-8?B?OFZFOFV3R3B5blhHRzd6NEptczdsMVpUakJMQW51bWpRZzNGazRNMmFaT1gx?=
 =?utf-8?B?RUIvWklwaSs5NHJGVTAxUU9DT3oxbzUzSUpMdFUrS1kxblF5K2N1TTNoTWpR?=
 =?utf-8?B?bnJidFJ6M3ZNY3hnaUQzempmdTN3czZBakJMdHlvQXE4VzJ0WkxVN2xMTktW?=
 =?utf-8?B?aS81N1FhZjExbUd2Rk40Y2ZSRDNpR3hvOElwaEZNaGZod04zY0N3ZUNvaUEv?=
 =?utf-8?B?ZE45VGsyRENIWTA0bHBsd0hVMGRNMGZtZEFaVXZlTmxZVkkyek1lSTVMVnVW?=
 =?utf-8?B?Y284b285cjZreTV0ak1KbHRHZS8zSW5GdEtPajFJY2hwSmhXU21yQ2RwQk9F?=
 =?utf-8?B?T1huL3JvdXdWRzVDYkxyYVUwcmMzYU83N0dCL2tVOXE3aWFYcWFvN3NnY29E?=
 =?utf-8?B?enR2cm54UWdHUjlrQlBweDFkQ1IxYjdNb2RBTXZtUGpRalhFdzRjWFJ0ZSs2?=
 =?utf-8?B?ekZHcmE4UEZCUmgvL0c5a25WbTJ3UGZXdTVBamFoa05rbjZsd1JTUGFwWE5N?=
 =?utf-8?B?NXRpejRiNUJQNmFjRTd6TTRwaElhUHZaYWlQaW5kTkdYc1A3QzBJLzVDWUMz?=
 =?utf-8?B?b3ZOYmh0ZHdPZ1FXbnpYUU5ra1FNWVRlYjhVS1NYWFM4Nm84U2h6d251WHRZ?=
 =?utf-8?B?ZTRwOGgvY3EwcG5VY3N3MXFyOXBsOVVmY0EvcUVERlRSeXVjTGhlWGthS09R?=
 =?utf-8?B?Wjc5T3FZTEpGUkhaWHdDa290OXVwTlZFYXVCT296Yis3cEltYWwrVFd4K1ow?=
 =?utf-8?B?RVFrWXNtL1lrUW9QeWtuWG8wRWlnS1hKUkw4R01BeGJ6S3lidk9NRmxvdHVK?=
 =?utf-8?B?M3hpSVhPRmxlSEtHUURnNmRXSXI0WnZMVXlWOVJDaWNGSUJCaDB5czZPMGx2?=
 =?utf-8?B?b1UyWHZweCtLbFVqV2pocXhXQnNUUGQwMEpmQ0lNV0kyUy9lS2FqVXBKTGlN?=
 =?utf-8?B?cFl4U3FCckZ0WE1xemhTeXpVMUJIOWx0MzVJRGFRS2hzekl2NXBWbXlkQWZ1?=
 =?utf-8?B?RmoyVW1MSUxSYXA2Ui9wSWdKWVVJTzQwNVE5dWd3U3BIamVETlRuR0I5czNM?=
 =?utf-8?B?M3N6VnByVWlsMWNrT09vOUFnTWRnbDV4elhPcXBza1FNcDFwczdlVXVHVDhr?=
 =?utf-8?B?aFFLRGpHdzlabXFCR2J0MW5QQ0pMUHU2WlBib3dFSzVZRVRaajM2anVTdDM5?=
 =?utf-8?B?a2RrS3gzbWdtOWM5TWxqWER4VkdaUEliWFZ0MlFaU3c4bmtscm54NDdEaWlS?=
 =?utf-8?B?aWJVSEcxcFhhdFNwRW9zdU1QRTcyV2ZQNHNrci92SDhsempLOVR6ZFZvekps?=
 =?utf-8?B?U2ZKRTJWSi9aemtwT3hGTDd2ZXJzaHk2bzlUalpoVnFrdEtXWGppMlNIQWlN?=
 =?utf-8?B?MzI1SlYzMHlQUEtkenFzeU1HNGNaaURiQjFEeWVlaWFPVnJQS2tidmk4M1JD?=
 =?utf-8?B?WnUrS1FiZHg3bnk0N3doU2NVOWxWVjltUUlQTEdWa1pERE0zSU96M2pUUmhR?=
 =?utf-8?B?b2FocHVZbjNPMmFVbUpxbjMrbVJVL1BSYnlQa05OQlFQSmRxQ1dVQ2hOblF4?=
 =?utf-8?B?ejFPU2MwS1FiSE03cTR2U0JFSElLOXRyYmFzME1KWlk4STZrNVVaOG9sandw?=
 =?utf-8?B?OW5EZHQwZ1JzTHBmQjBkMHBNRkxaQ2FaUTFuSHZmQ09WN0I3RWZ0NFlYZ0pT?=
 =?utf-8?B?dUxFVGR1TWtMUlFGbHU2RHR4WmZEejcwMFNSMjduajNMQmtYZGJJRjBkeUxF?=
 =?utf-8?Q?/7EsLa5YiisuAtD0rTcsPeU=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8edfb453-ca45-498c-85ed-08d9e0149675
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 15:08:47.8669
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: c0MwKeAi7gh2DmCh9wHtmKkKy5K+EGVHx1QyyfukWb2Ww3shxuIz/+YhmnEpoXOsKKqalsaeijveOgmwQB1deA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4881

On 25.01.2022 15:22, Jan Beulich wrote:
> We claim to support the insn, but so far the emulator has been handling
> it as a NOP.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

I'm sorry, I should have Cc-ed Paul here as well.

Jan

> ---
> While handling x86emul_cldemote separately in hvmemul_cache_op() means
> to carry some redundant code, folding it with CLFLUSH{,OPT} / CLWB
> didn't seem very attractive either.
> 
> --- a/xen/arch/x86/arch.mk
> +++ b/xen/arch/x86/arch.mk
> @@ -23,6 +23,7 @@ $(call as-option-add,CFLAGS,CC,"xsaveopt
>  $(call as-option-add,CFLAGS,CC,"rdseed %eax",-DHAVE_AS_RDSEED)
>  $(call as-option-add,CFLAGS,CC,"clac",-DHAVE_AS_CLAC_STAC)
>  $(call as-option-add,CFLAGS,CC,"clwb (%rax)",-DHAVE_AS_CLWB)
> +$(call as-option-add,CFLAGS,CC,"cldemote (%rax)",-DHAVE_AS_CLDEMOTE)
>  $(call as-option-add,CFLAGS,CC,".equ \"x\"$$(comma)1",-DHAVE_AS_QUOTED_SYM)
>  $(call as-option-add,CFLAGS,CC,"invpcid (%rax)$$(comma)%rax",-DHAVE_AS_INVPCID)
>  $(call as-option-add,CFLAGS,CC,"movdiri %rax$$(comma)(%rax)",-DHAVE_AS_MOVDIR)
> --- a/xen/arch/x86/hvm/emulate.c
> +++ b/xen/arch/x86/hvm/emulate.c
> @@ -2351,6 +2351,28 @@ static int hvmemul_cache_op(
>           * to be sensibly used is in (virtualization unaware) firmware.
>           */
>          break;
> +
> +    case x86emul_cldemote:
> +        ASSERT(!is_x86_system_segment(seg));
> +
> +        if ( !boot_cpu_has(X86_FEATURE_CLDEMOTE) ||
> +             hvmemul_virtual_to_linear(seg, offset, 0, NULL, hvm_access_none,
> +                                       hvmemul_ctxt, &addr) != X86EMUL_OKAY )
> +            break;
> +
> +        if ( hvmemul_ctxt->seg_reg[x86_seg_ss].dpl == 3 )
> +            pfec |= PFEC_user_mode;
> +
> +        mapping = hvmemul_map_linear_addr(addr, 0, pfec, hvmemul_ctxt);
> +        if ( mapping == ERR_PTR(~X86EMUL_EXCEPTION) )
> +            x86_emul_reset_event(&hvmemul_ctxt->ctxt);
> +        if ( IS_ERR_OR_NULL(mapping) )
> +            break;
> +
> +        cldemote(mapping);
> +
> +        hvmemul_unmap_linear_addr(mapping, addr, 0, hvmemul_ctxt);
> +        break;
>      }
>  
>      return X86EMUL_OKAY;
> --- a/xen/arch/x86/include/asm/system.h
> +++ b/xen/arch/x86/include/asm/system.h
> @@ -37,6 +37,16 @@ static inline void clwb(const void *p)
>  #endif
>  }
>  
> +static inline void cldemote(const void *p)
> +{
> +#if defined(HAVE_AS_CLDEMOTE)
> +    asm volatile ( "cldemote %0" :: "m" (*(const char *)p) );
> +#else
> +    asm volatile ( ".byte 0x0f, 0x1c, 0x02"
> +                   :: "d" (p), "m" (*(const char *)p) );
> +#endif
> +}
> +
>  #define xchg(ptr,v) \
>      ((__typeof__(*(ptr)))__xchg((unsigned long)(v),(ptr),sizeof(*(ptr))))
>  
> --- a/xen/arch/x86/x86_emulate/x86_emulate.c
> +++ b/xen/arch/x86/x86_emulate/x86_emulate.c
> @@ -6290,7 +6290,8 @@ x86_emulate(
>  
>      case X86EMUL_OPC(0x0f, 0x0d): /* GrpP (prefetch) */
>      case X86EMUL_OPC(0x0f, 0x18): /* Grp16 (prefetch/nop) */
> -    case X86EMUL_OPC(0x0f, 0x19) ... X86EMUL_OPC(0x0f, 0x1f): /* nop */
> +    case X86EMUL_OPC(0x0f, 0x19) ... X86EMUL_OPC(0x0f, 0x1b): /* nop */
> +    case X86EMUL_OPC(0x0f, 0x1d) ... X86EMUL_OPC(0x0f, 0x1f): /* nop */
>          break;
>  
>  #ifndef X86EMUL_NO_MMX
> @@ -6627,6 +6628,12 @@ x86_emulate(
>  
>  #endif /* !X86EMUL_NO_SIMD */
>  
> +    case X86EMUL_OPC(0x0f, 0x1c): /* cldemote / nop */
> +        if ( ctxt->cpuid->feat.cldemote && !vex.pfx && !modrm_reg &&
> +             ops->cache_op )
> +            ops->cache_op(x86emul_cldemote, ea.mem.seg, ea.mem.off, ctxt);
> +        break;
> +
>      case X86EMUL_OPC(0x0f, 0x20): /* mov cr,reg */
>      case X86EMUL_OPC(0x0f, 0x21): /* mov dr,reg */
>      case X86EMUL_OPC(0x0f, 0x22): /* mov reg,cr */
> --- a/xen/arch/x86/x86_emulate/x86_emulate.h
> +++ b/xen/arch/x86/x86_emulate/x86_emulate.h
> @@ -177,6 +177,7 @@ enum x86_emulate_fpu_type {
>  };
>  
>  enum x86emul_cache_op {
> +    x86emul_cldemote,
>      x86emul_clflush,
>      x86emul_clflushopt,
>      x86emul_clwb,
> 
> 



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 15:09:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 15:09:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260463.449979 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCNRn-0006Ge-0l; Tue, 25 Jan 2022 15:09:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260463.449979; Tue, 25 Jan 2022 15:09:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCNRm-0006GX-Tk; Tue, 25 Jan 2022 15:09:26 +0000
Received: by outflank-mailman (input) for mailman id 260463;
 Tue, 25 Jan 2022 15:09:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rBbi=SJ=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nCNRl-0006AJ-BI
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 15:09:25 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c6deabc5-7df0-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 16:09:24 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c6deabc5-7df0-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643123363;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=rXkpg/efS3u7jS+FboBJ5a3L2TeD3KyE42YGTqWio/g=;
  b=UPIq7oDxii8AzyuzUijA3qXJkEi1p+3rk7rpVNWeFo8/itZJGQt1rAAg
   1IX3IUMmhYkN3eGe+X9ZlIguvcY9YwjdvkcQiMVZZV0vEXiO4170rhgTg
   VfNq3vryv2GQJKxB0rjhLm76TE3KD3v2cVcRres4MCBiKaO5HBCBrQzK4
   Q=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: OketCAnb/M8m/DkDeJ0fcALSx6dZzNPivxr7uPfYwUE4S2KSFckvi8+LuG3/yRFQXL1QkxXo2f
 ST/nYnZLhC2qSzVZMTNH/akK62i3Rm0pv3aG0hdbyavrFoMZp7dkGD11x+C1vsiPw5b/9KVgV0
 GS/Dhzh/hjCJvZbHvAbxEIZjKBfYLybD7ogvJVluv7LMTmNb73JHxqoIgcq5Kk1gfOuvo+t27D
 5xoOXq60mjyScx6N7S5rhv6wG6/dbAF9TsbOWgk0jSEyMH+MgRspA36qUpxEbEEsWdIS0IXxiN
 j3fVTLBpcA9nO8jmMrftxkqs
X-SBRS: 5.2
X-MesageID: 63126606
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:kqGx1KD0iTh6uBVW/8Tkw5YqxClBgxIJ4kV8jS/XYbTApGhwgTUDy
 GpOWG2FP/nZZ2H1etgnb9+2/BlUup/dyoBmQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMo/u1Si6FatANl1ElvU2zbue6WL6s1hxZH1c+En940087wYbVv6Yz6TSHK1LV0
 T/Ni5W31G+Ng1aY5UpNtspvADs21BjDkGtwUm4WPJinj3eH/5UhN7oNJLnZEpfNatI88thW5
 Qr05OrREmvxp3/BAz4++1rxWhVirrX6ZWBihpfKMkQLb9crSiEai84G2PQghUh/qTypv/9j0
 Mt0h5XuTyNyZ/DNobtBekwNe81+FfUuFL7vJHG+tYqYzlHccmuqyPJrZK00FdRGoKAtWzgIr
 KFGbmBWBvyAr7veLLaTY+9gnMk8auLsO5sSoCpIxjDFF/c2B5vERs0m4PcGh25q2J4WQ54yY
 eILRiBhKyjkZCZoFW1KA7cSwPWGtCjGJmgwRFW9+vNsvjm7IBZK+KfpGMrYfJqNX8o9tlaVo
 CfK8nr0BjkeNceD0nyV/3S0nOjNkCjnHoUIG9WQ9PRnnVmSzWw7EwANWB2wpvzRt6Klc4sBc
 QpOoHNo9PVsshzwJjXgY/GmiFyNnj4zScJOKt8ztgepkfOJ4j/GWkFRG1atd+canMMxQDUr0
 HqAkNXoGSFjvdWpdJ6NyluHhWjsYHZIdAfucQdBFFJYuIe7/OnfmzqSFo4LLUKjsjHi9dgcK
 RiupTN2ubgchNVjO06TrQGe2GLESnQko2cICuTrsoCNs1sRiG2NPdXABb3nARBodtrxor6p5
 yBspiRmxLpSZaxhbQTUKAn3IJmn5uyeLBrXikN1Ep8q+lyFoiD/JtgMsW4hehY4aq7onAMFh
 meJ5Wu9A7cIZBOXgVJfOdrtW6zGM4C+fTgaahwkRoUXOcUgHON21CpveVSRzwjQfLsEyskC1
 WOgWZ/0Vx4yUP0/pBLvHrt1+eJ1mkgWmD2CLbimn0XP+efPPxa9FOZaWGZim8hktstoVi2Pr
 YYGXyZLoj0CONDDjt7/qN5KcgtSfCFlXPgbaaV/L4a+H+avI0l4Y9f5yrI9YY112aNTk+bD5
 HamXUFEjlH4gBX6xc+iNhiPsZvjAsRyq2wVJyspMQr60nQve9/3vqwea4E2bf8s8+k6lax4S
 PwMesOhBPVTS2uYp2RBPMel9IEyJg62gQ+uPja+ZGRtdZBXWAGUqMTveRHi9XdSA3Pv59c+u
 bCpyijSXYEHG1Z5FM/TZf/2lwGxsHERlfhcRUzNJtUPKkzg/JIzc376j+MtItFKIhLGn2PI2
 wGTCBYehO/Mv45qr4WZ2fHa99+kSrIsEFBbEm/X6aeNGRPbpmfzk5VdVOuofCzGUD+m8quVe
 ugIner3N+cKnQgWvtMkQapr1683+/Dmu6ReklZ/BHzOYlmmVuFgL32B0ZUdv6FB3OYE6w6/W
 0bJ8dhGI7SZfsjiFQdJdgYia+2C09ASmyXTsqtpcBmruncv8erVS1hWMjmNlDdZfel8P44Sy
 Os8vNIbtl6kgR0wP9fa1i1Z+gxg9JDbv3nLYn3CPLLWtw==
IronPort-HdrOrdr: A9a23:Rdvs2KkJ54AvBBsgn8/DrWF5Kz/pDfOIimdD5ihNYBxZY6Wkfp
 +V88jzhCWZtN9OYhwdcIi7SdS9qXO1z+8R3WGIVY3SEjUOy1HYUL2KirGSggEIeheOudK1sJ
 0PT0EQMqyIMbEXt7eY3OD8Kadb/DDlytHpuQ699QYUcegCUcgJhG0ZajpzUHcGPzWubaBJTq
 Z0jfA3wwZIDE5nCPhTcUN1ONQryee79q7OUFojPVoK+QOOhTSn5PrRCB6DxCoTVDtJ3PML7X
 XFuxaR3NThj9iLjjvnk0PD5ZVfn9XsjvFZAtaXt8QTIjLwzi61eYVaXaGYtjxdmpDs1L9qqq
 iIn/4TBbU115rjRBDynfIr4Xi47N8a0Q6n9bZfuwq6nSW2fkNgNyMLv/MnTvKQ0TtfgDg76t
 MX44vRjesmMfuL9h6NluTgRlVkkFG5rmEllvNWh3tDUZEGYLsUtoAH+lhJea1wVh4SxbpXWN
 WGNvusr8q+sGnqG0zxry1q2pihT34zFhCJTgwLvdGUySFfmDR8w1EDzMISk38c/NZlIqM0q9
 jsI+BtjvVDX8UWZaVyCKMIRta2EHXERVbJPHiJKVrqGakbMzbGqoLx4r8y+Oa2EaZ4gacaid
 DEShdVpGQyc0XhBYmH24BK6AnERCGnUTHk2qhlltFEU33HNczW2AG4OSITevqb0oIi65fgKo
 WO0bptcoreEVc=
X-IronPort-AV: E=Sophos;i="5.88,315,1635220800"; 
   d="scan'208";a="63126606"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=W+4Lyc+tnRu5+AYl0DXUax8QHkgpNyZxHvvXGywawx1QTagGLOn1GLkhuHrwpxIEygKnawyLguZHCaUFl5J/CyCdgMSGVvrj07nH5+k9yjfWyLnIqq/hWIIaL8A5T8ja8OxI7+9YN0Uoh+yAsRQ+ZdsP0T5+HihV/HaLmXXkbX2SEGRi9Fxq+640cHYeZ5cD4HOIlhqzWZkf6aV7q/y/thNyF+0eCxi/7MOBfpgB4cyDbWGTAFkLDhHC2RHm0CCVlBuvYOgpW5H+haeIRpKptsc1UnNrDdlJlSDu59nCTmVgaXt5HYhVLNynPOpsHvVa5iIDYAYGSguYMXixIW/Vvg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rXkpg/efS3u7jS+FboBJ5a3L2TeD3KyE42YGTqWio/g=;
 b=XzNooVwxZnaYZ7x9wskyln4ZTiCzxoKlHGeu4FzcorOH0NI6QDR/kFEP/MFAUHdyVJ9C0c3axstZh5b30UAoEi7j6OENiEjoGb8gx+fUEfIuzkhOoVKbMlA0yJpyOV2tSri9TtWCafzq87CuNfdb3/5b0a8scZQVoU9pfrXSDeivZdTHjfuc5+Yj9dhkfjLeUDP9oZJSckysNYZ7L42Cb1aZl0Hvm5KwiC3lkXHEKPL4EBsrFLVFEqFvfcrtvXubHB3bLwObFQFfzPFllsuErLBjtINavZBR20z7PsDRFSRVL/e7CXoNcTAuRVAyg9INQ3MspiOw4BeHMKS+7mL7Uw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rXkpg/efS3u7jS+FboBJ5a3L2TeD3KyE42YGTqWio/g=;
 b=HHRIXvgZ7eEpFsJrIuFSbcXzL7ZDQbrPXJaM2iph2MXpuqayl5B9rN/lUjiFnXdoVelXCNVjsTG0xagUkwFmvmF05WB7OZiLOxrYnoTrU+oWGuBEN4i0FPUvlNsAXWaOfSOpbXGm6Pq+ENTMybez7QLH71+JX0WwRUXfEjDkipo=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [PATCH] x86emul: recognize CLDEMOTE
Thread-Topic: [PATCH] x86emul: recognize CLDEMOTE
Thread-Index: AQHYEfcQ4DdLYcXoIUCxCIAZX3ErX6xz1xYA
Date: Tue, 25 Jan 2022 15:09:13 +0000
Message-ID: <2e949d41-00f8-5344-3989-7b0ca45ad6e0@citrix.com>
References: <5812dc8e-d77d-f9de-4f37-b0ef094c5c09@suse.com>
In-Reply-To: <5812dc8e-d77d-f9de-4f37-b0ef094c5c09@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 9dbe27c7-8bb5-4f23-8d5f-08d9e014a5c8
x-ms-traffictypediagnostic: DM6PR03MB4473:EE_
x-microsoft-antispam-prvs: <DM6PR03MB44731513FCF0CE901AFDB239BA5F9@DM6PR03MB4473.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: C4ATX4XsXCEQ/kHsuN08QzheeTbSmflpjJy3tVCGZUdM/pCXVBaAoqJXM1N0cqkUpsEiowv7YFdL2ntaAApu2mzadbtp+UjrobFnQQRO7//qUkJEyAdIMYCrn1AASuGoaD86XuplY1OzdddxWIYjh87El/5DFDI0lbFDMvIoWoZDPS9sJ+cD4IluszozTX5v4sIw43R2074Zo1+71OsAA5cP4IjMC6hi8ctHZqOmn7s0N62W2iJx6b/EIlsHRy66gGNhfzmqOGpW95Sos/eN+yMvuxJMixGtCn1ffkd42zhmlM+5I5JY4jvux5kDupXNo+qLgitcW7pXD/pm+/5tYLNGgLK/JdeMlu25shxV1KzWincegvEA1XxGRPfR3kKHax/98+1R9dojb2osT7fom1ERbHYiLDIKkYOpj6NVFVnmCs5FyMqy27cuTPhjaL4DWtndC60l2CUm03jwPy74k0Ibz1So693WspyYsrsEdPwj8/mVpCG2ug20rxQvJMRqaKkJ4R2d+9f2p5fRqDGiySrmFRayU7bJKR7nxMXTm8updHXsbIBA0KxQXVgIB5sPW41w9wOBRKue/MyzYztvPeliiqxvQN2rxl0zpyib9vHreTKntIqaGELBindHceQflPE44ta2WU+oavlmBMjhltG2eXgXxEYwEtoZEWLnKXkHdaKXTF0lbBQEQSzfmuthYKavntYRtq2zCZa2q91+kYrLvt7Fhwm6X/O/nFNJZGLoztRGqWCYcAxf7WhZYUA/tHVwNAk1Or3DJuOhCqgqrQ==
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:(13230001)(4636009)(366004)(2616005)(186003)(38100700002)(107886003)(26005)(82960400001)(91956017)(8676002)(66476007)(76116006)(4744005)(2906002)(66556008)(64756008)(66446008)(5660300002)(31686004)(8936002)(36756003)(4326008)(66946007)(508600001)(31696002)(54906003)(316002)(110136005)(86362001)(6506007)(6512007)(38070700005)(71200400001)(53546011)(122000001)(6486002)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?V0hCa29iRUlZNGlnQmFrT2c2dEtTV1RJYTZFT1dyNll4KzYyTkIxdjBQMndS?=
 =?utf-8?B?QmRpUmhsaGVCcmwvTXhtbmh6UmVTK1Q4enNhZnVBeTYyWFl6SzRaZElZZmYw?=
 =?utf-8?B?UEQyOXBwMjRHek9XaGlTYUhjbExLMnpEWCs2SzR6QU1BbHlYVEgvODVxYlRn?=
 =?utf-8?B?QlZlNGtzbHFoT2x5ZVh3OHlwWWhzU3hUeER1S2pyd091b0hHK1BPZllGcExw?=
 =?utf-8?B?K1lKWWdjdEVNZlpFaThQYUVEUGQ4bzFHeVZhTzRzaXVXcUxlL2RUWHUzb0Zw?=
 =?utf-8?B?UVNBdENSeEZZbjN1TDd3a2Rma0ZpelJybTVYNnZ3OG5oTE1yVXdOU2FQQk9B?=
 =?utf-8?B?d1RrWm9SVHREN1cxMnR0MFgxK3ZwNjFsREpNZk96UThxTWpTazAyY0h1ZGU4?=
 =?utf-8?B?L1dtL0ViM2MxZ2NTYk1HNkNKdCtLbGxTMEVKdkpjaUs0bjBtTVFQWXh2U2ZF?=
 =?utf-8?B?OWptVFk1UGwvTkhFOWRNZGdLWWtYOWtmS0E5N0J3V0p3UVI1dnkzNmtlTFZU?=
 =?utf-8?B?SnM1T0YrSGpWaUFNUGVSdGdITVpMR1BrMlAyOGIrYVpWNDl0Q3p5ZmVRakxW?=
 =?utf-8?B?OW9NU2hGNlhYOERTQjlwdHNMRWIrUGc0UmJZNytOQlRobFhhellWaGRzcEhT?=
 =?utf-8?B?eXRMTnNnNk5WQi85WllPOTZFMnl2dFNvWTYwQnd6OFlXSTJ4TUJ0dGFWN20r?=
 =?utf-8?B?MjF5UzFMMjZxOS9uM1VLT0VMSkRnbHdBcVIvYVVwRGFGczByVllrMHZXV3hI?=
 =?utf-8?B?Smx6T0JnY0wrZGdrR0dXRG0zSERobG40Rjlyb2FHQmtac1dvaHhvdXdtcmhy?=
 =?utf-8?B?WlBrdGdNbUdDYk1McFBNR2hGbFgyaDFWQ1p3ZHRXZ1RIb0I4Z1NBdHBSVnpK?=
 =?utf-8?B?V3NzNExQMmR2bEZwamFMQmtoeDdZRHY3emxZK0NmWFladEJpeHROV08xN3po?=
 =?utf-8?B?UnB3dU94OEJJa080ZVVBTk1DTkx3Vi9tbUczQTdvVXg2eXdsNUV3Y1REMWpI?=
 =?utf-8?B?VDlKQXhzNzVUSkoySVF4clArUjhma3R3emFLdjJLQXk2eElPSm9HR2N1SWZN?=
 =?utf-8?B?MnRqNldZUEtleGU4ZEFoNjlsajNFSFlsRU9oaWpIQWJobCtmNW1uTXMvMXgy?=
 =?utf-8?B?OUNNTmFJSmdiLzlSWWdUMngvTmR0VTk3VHF6NVdyL2gyU0FyaFBnRkFzWXlH?=
 =?utf-8?B?OVI2WlVXcytuTWhoNUt6RzV3aHNzY0F4OHJSdUh5ODVRV09nOXdyeEcveGxn?=
 =?utf-8?B?akhBalRPUFBaNzdwcHJ6VW9JZHRud0JveEFWbmdCSFVtNHNJcENjTitsU0I3?=
 =?utf-8?B?NUZQWk9LYTJzUEhkdG1rTVh6OHdvVEhVLzJIUGh3S3JOQnhmMitXMEZZVWNz?=
 =?utf-8?B?bWoxVFNEaE8xK0E2L3lJbG5QU1NtaHM4cjkwYktXMTdTNHp4YjluenVIUDJh?=
 =?utf-8?B?ME8zTnZxZ3Y2czVjazdpOHcvVzJFZGhWL3VXMlE5aFNhd0pwOEpya01XTEdK?=
 =?utf-8?B?V3hZRzJLMUZLQkZSOTdSZHNlTXk0cmJBMFplTEZBb1NMOXZ3TFpmTUx6SDNC?=
 =?utf-8?B?RjV5T1ZwRVlNeEp2ZXNWSG4wSFZXMkVZUDRyeHpKMk8weDBlSTF5RGlwS0hT?=
 =?utf-8?B?ZDlyRUVqMTJRU1ZxUHNQUUR1T3J4Y2NnWUt5U21TRW9ydnYwTmwrVXFPaEFj?=
 =?utf-8?B?NjB3YURmajRLMDRscGZGSTNVKytMVkFVTVg3d0VSbzBLdWZoejlsWTVQLy91?=
 =?utf-8?B?ZDdxZEZxR1lwUU95ak1LRmdXdHUycTAxWnVrNmtZUTJicXlJSGo4VW9NN0hC?=
 =?utf-8?B?M01sblBZSGxFZCtBNDQ4N1NmS1FYT09VaU9NaGxKdmcxUUNTekZ2OTRhaFpV?=
 =?utf-8?B?Y3Z4U1FjMXovRnBZZjdOV0g2YlZ3bUdGRjJzM1ZGQnFuVDJpb2ZRWDEyZDkr?=
 =?utf-8?B?NiszcFNLT29XMTIrcFNjMXNsZ1ZES2VpVUxIUzFrM3l3SkVPaCtXYk1OQmtS?=
 =?utf-8?B?d3FySG9QanowL0xKc0FLTjNsT1ZhS0xheVNjVFowVTQrZ3Ewa2xrZGR2VUJW?=
 =?utf-8?B?VCtTN1NXNWd3dFc4dnBjN0wrWTY0eFJQajlSRkRmWDQrOFB4cFFjV09SRGxv?=
 =?utf-8?B?dTdBTHU5dWkrTHhrWEQ4emhLaE83WmlmN2ZDK2JOek1adlM2V21GMGJ2aGtG?=
 =?utf-8?Q?u8NHncLBCy6erRrUnSi2WYYxONQ+nN8NjGiNVPbvhVfe?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <03D59BEB068E654094048368A36026FA@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9dbe27c7-8bb5-4f23-8d5f-08d9e014a5c8
X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Jan 2022 15:09:13.3893
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: tlHbWR9jNvaVWfeJv49uF3U6rhtfIvuZC77wdn1lNY67d4VV8MVJtw9VSdwQtziTOqcuhnKZMJBcJhizCkM2s9Rpe+//T17zxGEidVXOJto=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4473
X-OriginatorOrg: citrix.com

T24gMjUvMDEvMjAyMiAxNDoyMiwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IFdlIGNsYWltIHRvIHN1
cHBvcnQgdGhlIGluc24sIGJ1dCBzbyBmYXIgdGhlIGVtdWxhdG9yIGhhcyBiZWVuIGhhbmRsaW5n
DQo+IGl0IGFzIGEgTk9QLg0KPg0KPiBTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxp
Y2hAc3VzZS5jb20+DQoNClRyZWF0aW5nIENMREVNT1RFIGFzIGEgTk9QIGlzIGdvaW5nIHRvIGJl
IG1vcmUgZWZmaWNpZW50IHRoYW4gYWN0dWFsbHkNCnNldHRpbmcgdXAgdGhlIG1hcHBpbmcgdG8g
ZXhlY3V0ZSBhIHJlYWwgQ0xERU1PVEUgaW5zdHJ1Y3Rpb24gb24gdGhlDQpsaW5lIGluIHF1ZXN0
aW9uLsKgIENMREVNT1RFIGlzIHZlcnkgc3BlY2lmaWNhbGx5IGFuIG9wdGltaXNhdGlvbiBmb3IN
CnNvZnR3YXJlIHByb2R1Y2VyL2NvbnN1bWVyIHBhaXJzLg0KDQpJZiB3ZSB3YW50IHRvIHRha2Ug
dGhpcyBwYXRjaCwgaXQgc2hvdWxkIEZpeFtlc106IGFkM2FiYzQ3ZGQyM2Mgd2hpY2gNCm1hZGUg
dGhlIGNsYWltIHRoYXQgQ0xERU1PVEUgbmVlZGVkIG5vIGZ1cnRoZXIgYWRkaXRpb25zLg0KDQpU
aGUgb25seSBpc3N1ZSBvbiB3aGV0aGVyIHdlIGNhbiB0cmVhdCBpdCBhcyBhIE5PUCBjb21wbGV0
ZWx5IGlzIHdoZXRoZXINCndlIGJlbGlldmUgdGhlIGV4Y2VwdGlvbiBsaXN0LsKgIEknbSBub3Qg
c3VyZSBJIGJlbGlldmUgdGhlIGFic2VuY2Ugb2YNCkFHVSBmYXVsdHMsIGJ1dCB0aGUgaW5zdHJ1
Y3Rpb24gaXMgdGFrZW4gZnJvbSBoaW50LW5vcCBzcGFjZSBzbw0KZ3VhcmFudGVlZCB0byBiZWhh
dmUgc2ltaWxhcmx5IHRvIGNsZmx1c2gvY2x3Yi4NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 15:10:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 15:10:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260467.449991 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCNSu-0007em-Av; Tue, 25 Jan 2022 15:10:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260467.449991; Tue, 25 Jan 2022 15:10: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 1nCNSu-0007ef-7X; Tue, 25 Jan 2022 15:10:36 +0000
Received: by outflank-mailman (input) for mailman id 260467;
 Tue, 25 Jan 2022 15:10: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 1nCNSt-0007eR-CF; Tue, 25 Jan 2022 15:10: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 1nCNSt-0008Jv-8s; Tue, 25 Jan 2022 15:10: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 1nCNSs-00080N-P4; Tue, 25 Jan 2022 15:10:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nCNSs-00049A-Ob; Tue, 25 Jan 2022 15:10: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=GlfjurIiby49LEgqWhWnUoIDmd13oF2pqU/ftnvRpZM=; b=3YcUR6TCV6RGcLU1nrDcUf2dgZ
	JWrS/zpFR9zqh5XOjVdbyGbNdaucadSR9SPdcbvPGEu/RGxKzBFzr4vMPg32VJy+eDzFIoSrhVxOW
	FnsvXbzudAZIOoOHxTXz/+NadN5wBx+zP+f63vKjOSloPqvNfRNPkQYP+/Xbm5N+RX0E=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167811-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 167811: 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=329b7bed80032fd52904af6a0cac7dd3716d27cf
X-Osstest-Versions-That:
    xen=ec32910f4f871dce0f0e32dfb36f218fa1a2e869
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 25 Jan 2022 15:10:34 +0000

flight 167811 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167811/

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                  329b7bed80032fd52904af6a0cac7dd3716d27cf
baseline version:
 xen                  ec32910f4f871dce0f0e32dfb36f218fa1a2e869

Last test of basis   167805  2022-01-24 08:01:41 Z    1 days
Testing same since   167811  2022-01-25 11:02:54 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   ec32910f4f..329b7bed80  329b7bed80032fd52904af6a0cac7dd3716d27cf -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 15:13:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 15:13:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260475.450002 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCNVo-0008PI-UG; Tue, 25 Jan 2022 15:13:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260475.450002; Tue, 25 Jan 2022 15:13:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCNVo-0008PB-QP; Tue, 25 Jan 2022 15:13:36 +0000
Received: by outflank-mailman (input) for mailman id 260475;
 Tue, 25 Jan 2022 15:13:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nUgY=SJ=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nCNVn-0008P5-8Y
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 15:13:35 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5bfe7bc6-7df1-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 16:13:34 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5bfe7bc6-7df1-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643123613;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=p81UJp1oazqxZkcl7WH8cxOy0cBgZGst09qbiAwyewU=;
  b=Mb1TgIfAiqFgpJso8sLcRBwGFzIhiKcmwSPYp1psX0Xal+OOUaSZCRML
   5IEbJRFd2vI8C1O/aPXLih/3QG8uaOPZHAx0SRe2eFghnLrzJLPHWj3yB
   R0j7PdPzRlSjJK+PucvBVj7nKhbiX4b3IUxn1+ATfcVC684AQejN7YluC
   w=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: 6aaHGghgiBzo3QR8b1R0jS9CSVAZh0hHeA/KrxBj53J/ufLeqMwcTBv0UcimNNOi+91/Mr6jZ3
 mfrlOIr/l0waQFjAdeHqJasi+4zvp3qGs7ZctsCDNRVapIYjXQ1j6QnfBLwOW7sPUZ4arVNdAO
 rqwEAaGaG/l1c/DkK1XB1OAZXV3c4QvkAjl67jN1cYPfYLM8kr9p4xbP3QUO9ARchBE1ig0kKZ
 2vFuZW5Jnjj/HY9lvRM34tn8IAXr+Sr9hngW2ZWqEdupQzPHUzvGEf0h8iWW6/WAm5sFs83zoN
 pkeLDW6WY+DZM8dEk2tqu5va
X-SBRS: 5.2
X-MesageID: 62719314
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:NlNmUqK29BsMDJ+HFE+RLJIlxSXFcZb7ZxGr2PjKsXjdYENSgj0Dz
 mYYWjzUOPqOYDeke9glboizpB9U75+Byd9jSQtlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokcxIn5BC5C5xZVG/fjgqoHUVaiUakideSc+EH170Us5xrZj6mJVqYPR7z2l6
 IuaT/L3YDdJ6xYsWo7Dw/vewP/HlK2aVAIw5jTSV9gS1LPtvyB94KYkDbOwNxPFrrx8RYZWc
 QphIIaRpQs19z91Yj+sfy2SnkciGtY+NiDW4pZatjTLbrGvaUXe345iXMfwZ3u7hB2Pj/909
 foQjqacTFcQH6bxhLhDQiRHRnQW0a1uoNcrIFC6uM2XiUbHb2Ht07NlC0Re0Y8wo7gtRzsUr
 LpBdW5LPkvra+GemdpXTsF2gcsuNo/zNZ43sXB81zDJS/0hRPgvRo2Uv4ABjWxp2qiiG97nP
 ZcbTQhVfC/ZXB1hNEgPUc0hvKSR0yyXnzpw9wvO+PtfD3Lo5Bx81v3hPcTYfvSORN5JhQCIq
 2Te5WP7DxoGctuFxlKt/m2pmbXnnCX1QoseGbS0sPlwjzW7xGYeFRkXXluTuuSihwi1XNc3A
 1MQ0jojq+417kPDczXmd0Tm+jje5EdaAocOVb1hgO2Q9kbKywCJKW05YWN6UvAj5PYXTgE2i
 gGYosy8UFSDr4apYX6a876Vqxa7Ni4UMXIOaEc4cOcV3zXwiNpt10ySF76PBIbw14SoQm+on
 1hmuQBj3+17sCId60msEbkraRqIr4OBcAM67x6/somNvlIgP97Ni2BFBDHmARd8wGSxEwHpU
 JsswZH2AAUy4XelznDlrAIlR+nB2hp9GGeA6WOD5rF4n9hXx1atfJpL/BZ1L1pzP8APdFfBO
 RGP4lsNtcAMYir7Ncebhr5d7exwkcAM8vy+DpjpgidmOMAtJGdrAgkwDaJv44wduBd1yvxuU
 XtqWc2tEWwbGcxaIMmeHI8gPUsQ7nlmnwv7HMmjpzz+iOb2TCPLFd8tbQXfBshkvPLsiFiEq
 L53aprVoyizpcWjOEE7B6ZJcwBTRZX6bLirw/Fqmhmre1o/Rzp5WqaPmNvMueVNxsxoqwsBx
 VnkMmdww1vjn3zXbwKMb3FocrT0Wphj63k8OEQR0ZyAghDPuK6js/UScYUZZ74i+LAxxPJ4V
 aBdKc6BHu5OWnLM/DFENcvxq4lrdRKKgwOSPnX6PGhjLsA4HwGZqMX5egbP9TUVCnblv8UJv
 LD9hBjQRoAORlo+AZ+OOu6v1V64oVMUhPl2AxnTOtBWdUi1qNpqJiX9g+UZOcYJLRmflDKW2
 xzPWUUTpPXXop9z+97M3PjWo4CsGup4P0xbA2iEsurmaXiEpjKumNYSXvyJcDbRUHLP1J+jP
 egFnevhNPAnnUpRt9YuGbhc0q9jtcDkoKVXz1o4ESyTPUirEL5pPlKPwdJL6v9W3rZctAa7B
 hCP991dNenbMc/pCgdMdg8sb+DF3vAIgDjCq/8yJRyitiNw+bOGV2RUPgWN13MBfOckbtt9z
 LdzotMS5iy+lgEuY4SPgS1j/miRKmANDvc8vZYADY630gcmxzmuu3AH5vMaNH1XV+hxDw==
IronPort-HdrOrdr: A9a23:JFRqcKDcak5d3V3lHehOsceALOsnbusQ8zAXPh9KJiC9I/b1qy
 nxppkmPH/P6Qr4WBkb6Le90Y27MAnhHP9OkPIs1NKZMjUO11HYTr2KgbGSpgEIXheOi9K1tp
 0QDZSWaueAdGSS5PySiGLTc6dC/DDEytHRuQ639QYTcegAUdAH0+4WMHf+LqUgLzM2eabRWa
 DsrvZvln6FQzA6f867Dn4KU6zqoMDKrovvZVojCwQ84AeDoDu04PqieiLolCs2Yndq+/MP4G
 LFmwv26uGKtOy68AbV0yv2445NkNXs59NfDIini9QTKB/rlgG0Db4REIGqjXQQmqWC+VwqmN
 7Dr1MJONly0WrYeiWPrR7ky2DboUETwk6n7WXdrWrooMT/Sj5/IdFGn5hlfhzQ7FdllM1g0Y
 pQtljp+KZ/PFflpmDQ9tLIXxZlmg6funw5i9MeiHRZTM83dKJRl4oC50lYea1wUB4S0LpXUd
 WGMfuspMq/KTihHjPkVyhUsZGRt00Ib1m7qhNogL3W79BU9EoJu3fwivZv20voz6hNO6Ws0d
 60R5iApIs+P/P+UpgNd9vpYfHHfFAlEii8eV57HzzcZdM60jT22trK3Ik=
X-IronPort-AV: E=Sophos;i="5.88,315,1635220800"; 
   d="scan'208";a="62719314"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=f6dpwWH7AyLfZvbtp9a6nKFPDOPwQ8LHbzMD8mXQZVHiI+nOU2BMFmKeifwyLL2XLHCZG4TbUx0USEDchR2sfpG2525xwecvkyZxsybF5+56MqDYuaToszhxZFcxsYfvkx8V9FAaXxFWp4uZenGQ0eSjAMsa1351+s841ycgQxwHeCTLNtKNK0fibj97DA2RN0L1UAvCl4wlJH0h+2IxuLKdyW3m9L36HpBxrJyQLea9SPvIDGcbTpLrBUcxATUzDB1cnarnRt0mtOdUZ3AHXHXfiaSuaiMgb/6yqyWcYiy0HxD2/7+4T1CRkuRvOlVZVd3WOFv7sSD+ZJ+DnFROWA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=U3+UgH08CvOSDe5Oh14icPNTKe8R+DoJt2CNc16FP10=;
 b=Sw7lm6g36R+JaExxqv3JjW6zSS+4YbvYEPbkC3dP6cmwCpUh9OX3Rg9Sp5vcDDpV4g3YDUfAfPuHE4QvVUmS99/hCtUIg24yPFCkOeBRM624OQ0dpotQjSriauUzK7u2Pyw+pZFvw3AquhHzfqHEAt7amZDwqfkSx3pgnRimawUcRFXOLf2E/DO+ic7OyS0njdb4NKB+t8kiboAGPixa12QJjt52Rf/HlYSR/oBKVLdxVlZiBk/G4vKvZbE4DD5VPPg1K2ZNKPIix/x/0y0TqkNlDCRFoT45tJ1ZcqQ0b/wlN32s5TB7IE1Nj+OiGqlPNgnJVL2832EeEHSSV8WZFA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=U3+UgH08CvOSDe5Oh14icPNTKe8R+DoJt2CNc16FP10=;
 b=rD6XmsNSwQXiKyJiVViZzLmFWmyuSHFO3dn1lTDks3sCYq7qoaue18BH1QBMvQBKOKoqenPLddB663c15YOwh0/w0zSuN/PziyuLWiFMQ2hBxjLITBX7F5Ta9pOx57pCATrY+v79Hb3fmvH5geUChXjcxc0ZkIUWTzn1S66RVgQ=
Date: Tue, 25 Jan 2022 16:13:23 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
	<xen-devel@lists.xenproject.org>, David Woodhouse <dwmw2@infradead.org>
Subject: Re: [PATCH 1/3] xen/vioapic: add support for the extended
 destination ID field
Message-ID: <YfATkz+nse45Vg3C@Air-de-Roger>
References: <20220120152319.7448-1-roger.pau@citrix.com>
 <20220120152319.7448-2-roger.pau@citrix.com>
 <5f8d332d-1bc3-af71-27ba-a4ff7b6e9514@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <5f8d332d-1bc3-af71-27ba-a4ff7b6e9514@suse.com>
X-ClientProxiedBy: MR1P264CA0135.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:51::12) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: df555a5e-3236-431e-df5b-08d9e0153d6f
X-MS-TrafficTypeDiagnostic: BYAPR03MB3542:EE_
X-Microsoft-Antispam-PRVS: <BYAPR03MB3542F2531BAE8A6D1BB22EEC8F5F9@BYAPR03MB3542.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: boK9UO46JHpmVuTYEmlKsxYUTzQfZUEj6O+0ALu7sqVFOKDPYUsg0f+DZjIdjBpafNgf2UQDbEB10TRpbdZhr14kKnUjxZTD4o0d9cmRNCGYjjthCUpU7wtq6jz4imLhzRG/WKNFMGz7lYAAVBw8Q8c7GdLLfkd7cd4XLvz/OYKi0qc8xsTTLe4UE0wjfpNgjzqbp4npOQYYs/b85tIAZ0lVXC7X2PZrpAsdZyA8zuJCmOd9YcCWmvFz1qSnxmSeu7XZKW2DXvH7i8fqUWA0V7WJI8Dk8rH0WNDq4JOswUNPNaclkbyq2Z6iNzut/vwr4HlWfuzX7Nh9ueMF6AXJa+lV97XowsbL43cSN2y3LWhrJUgUvIxucGQkAyc9sgPsqdH2852Br7dPwYL/RUOPnW8BcddLFVQ4TXKVld2RWed+YCQEMKul5Z5VhFUUi1dhPSsA3MvtP9vREKsYeYaj/9EuRsLlXDsy5RT/+blVmNk2C1p4kHb7TpsqJK0OfKs5gdIO2/j/XEPtAehL6kuaE7MUyhD4kv78Dl3WC77zxxVHLhlMtGl7H8a+lfuR0f9PJRgOpTtTM7hbd8BjfqbVJqMgl6UHVEwHSkk5PeZMNpjRcLGMpYHpW37KPg/ylwN+nmtxd5MjfM+xGYdkO22tApfzkjZdwZ4VQ9oKIh49MTyX0lyvHIvOTPS7QbqKCTKGvV4sGwKhCikiBsZQKwKEwN88GrTewyJX0tYTqg3yLusXv9WSXX6wTTzbUVFQCG+23MjY19JsaHhHs5UOCOM9xSHwrelNRfuhrWUFuoE86Ew=
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(316002)(2906002)(86362001)(66946007)(66476007)(66556008)(6512007)(9686003)(508600001)(8936002)(53546011)(38100700002)(85182001)(186003)(6486002)(4326008)(54906003)(6666004)(33716001)(6506007)(82960400001)(966005)(5660300002)(6916009)(8676002)(26005)(67856001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UEt5UVhhaVk5S2dabkNlOVo5SE9kZSs4U1VHZitnc2xSSkJvQklJcnBXM1h2?=
 =?utf-8?B?U2V1a1hZQlhVckJsemJrTVg5OGY5SHlYT0UxMVZ0ZHVDWGE3R0djL2ovaXdI?=
 =?utf-8?B?Tm84UXdrdzZwU0Y2aXpiTzMwTGhVQzZ4ZXVKL1VlYXQyZ2pQRUZpdzJ6bGRL?=
 =?utf-8?B?THZHY3dHQngyR0JEUmtoL1VzSlVEU1RiVEQvbXc5ZXNleGZ3ZEhMMU8wbXNL?=
 =?utf-8?B?ZUJ2L1VFVlYvUktzeXg2bXZISmpPUTZHM0NleDdTUHdVUkN6VDM0MFl6bUtG?=
 =?utf-8?B?bktwck5XV1A3MDVVM29yajkzYTBURk9XeXpHeVBXUXM3UzZhZWp5dGpDaXBK?=
 =?utf-8?B?bGduQzdWUStRNTlZS2M5anpxa1NVaVkvaXBjSUxCbmtYclNxc25TNGdsakIy?=
 =?utf-8?B?RkxHZmw1Tzh1a0IvQkZrd3lUU3F3Zyt0ckZVNzl3b21nVHFFYlBrWUtOQ1BJ?=
 =?utf-8?B?S2tmaXdhdElYa0kwMzJxQWoxS2U0WW0rTllOSDJONTlxR2pBM3RPNkdnUkVo?=
 =?utf-8?B?eW5WNFhjWnhleHRGMU5KR1FvZEgwdmN2elRkRXlwL2NXcS9LemFzL3U2WW5E?=
 =?utf-8?B?N2FBZEVSZlcxRER0NEpCRnVpU1FCT25DaVROQkE1VlFOSGtpVm53VUV5Qjcr?=
 =?utf-8?B?SWh5RmI1YWJTZFhHeXRIYXBJMDRqTmhDbG1wUTFJYk5kVkw3Zk50YzQyQmdP?=
 =?utf-8?B?STZ5bEpVSmQyTGptSlF3OFpLSHVMSUhzQ1MwU25DQlEyQ205YWNtdS81YzRD?=
 =?utf-8?B?ZlVvMzZGTVNXQUUyNmZIc1NGT1ZrSmNBS3ZlMkY3emp3bkQweHl1QnMrQmcy?=
 =?utf-8?B?OW8wczhTcVF1Y1FBcGVxckUreU1meXM2VXF6enFHUlhFU1A4MEYyd2R0UG9Z?=
 =?utf-8?B?Zk9QQ21xU1VTTm1xVEpIL2kyb0NJNzA5blBnSFdhdTNSQy83dWNGNlRxUmpn?=
 =?utf-8?B?bEk3Zjd6Zy9aTnlyVHN2Q0VnOWhZUG9TZUxkTEh0VHFNYzBIV2dtbzJLaEpv?=
 =?utf-8?B?Zm9ZQ0tjdzZUMkp4NTlEZk1idjVlK3QxN1ZueGNEVFIvc05UNmtrd0dsQjg1?=
 =?utf-8?B?b25nellqSzNvUXU4ZG9LZ20rYVYrM3cwQ0JLOVA0SWo2Z1loNWsraGo0TDd6?=
 =?utf-8?B?TktORlhvRzVTOGxDR2VUV1ozOHpHRVNQV3hlSDBSYzQ2dkFibkF3dEtLNHEw?=
 =?utf-8?B?TE1nVGdwS2Y4VVdqSVlpU28rVGUybTBXUW56cWllVmdJV2xoa1IwN1p0T3dR?=
 =?utf-8?B?N1Z0Uzg3cFBKNGw5dDNXa2FrUVlwK2JYeFJNVkwzTFI4L0pwWVJxSGZ3cmRi?=
 =?utf-8?B?SWNPcEFmdGo1V0VnSkpzeG03Z0tuQksxcFVpWEdXc0R2S1B0cmd4b2pRVFpx?=
 =?utf-8?B?UGxZbURVOFVLUlZ0QWZjWFozTkhnUVRHUGhIWUw4dlkxMzdac3p6WU5TcVpk?=
 =?utf-8?B?QklmOGk3eHAyakYzTjgrYk0wYjYvdzUrVS9KQy9DM3diTU1zU1pVbldxSXd2?=
 =?utf-8?B?Z2xzNHlod1BUNStJZDJoN0Y4SHZwZk14WGduc1RKaERaa205bmRnK1FWZm56?=
 =?utf-8?B?M0xXNHFrcEU4RjUxcFpJRmR4Y3VSOXg4TWhtVFdXVWVnV3U4TTFNSGluZFIr?=
 =?utf-8?B?RmxKMG9xOTVKekNsMTNNMExIQzMvZHcveDIzQjlvOTZ3ZHJYRVhBaSswT1lW?=
 =?utf-8?B?cEFIWHg2L3U2WGZrTzlLNHExSHJobVhjNW1zcE5UV1lqUDVYcG9LQ0RrRWtL?=
 =?utf-8?B?a1dTSmc5cFlVWGVTSHozKzVJa0VHREpjSWVCK01JemZzZXJKN2RLdjh2YWZR?=
 =?utf-8?B?SHphYzZpV2pYZmIxNTFCbU5mMWZaUVRYcHBUeEhNRDZ6TGk1dFRNYnhmNFhs?=
 =?utf-8?B?UmJlYmZ4VWEvQWlwenl1Q1Q1ZldYcEFEczdUK3Rzd2E4WlBReElvRy9oWCtE?=
 =?utf-8?B?TXgxU2VZdmNwV1QxcFVySzFyd1JSck9pSmppS0ZpQit4THd6ZXUxT3dSaUlu?=
 =?utf-8?B?ZGM2bUF1ZVIwakQ4L2JDTkN6RkVyeEZJNkZYbzZZRW9LbW1rTVUrQU11QnZ2?=
 =?utf-8?B?VFVtZWk4TTFjZDY5VmplWE5SajQ0VWd6QjFxZFYrR2htMVJiZU1vWHNmSy9p?=
 =?utf-8?B?dEhxR2pBcEhpYy9xNUh0dmZrYU5jZmNpVDZjQmlIa3N1RkwycVlKdjdBU1hM?=
 =?utf-8?Q?390La0F0o3pTkAwAlH/X3ek=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: df555a5e-3236-431e-df5b-08d9e0153d6f
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 15:13:28.1499
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Br6DgvmwTGkvdC7U1J5/fVoH4pAUI+KHf7R846Uo/MBdJAw2FJDPdAWGr3XxpNf7/8Ed4aXFU/xzjMML7PFttA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB3542
X-OriginatorOrg: citrix.com

On Mon, Jan 24, 2022 at 02:20:47PM +0100, Jan Beulich wrote:
> On 20.01.2022 16:23, Roger Pau Monne wrote:
> > Such field uses bits 55:48, but for the purposes the register will be
> > used use bits 55:49 instead. Bit 48 is used to signal an RTE entry is
> > in remappable format which is not supported by the vIO-APIC.
> 
> Neither here nor in the cover letter you point at a formal specification
> of this mode of operation.

I'm not aware of any formal specification of this mode, apart from the
work done to introduce support in Linux and QEMU:

https://lore.kernel.org/all/20201009104616.1314746-1-dwmw2@infradead.org/
https://git.qemu.org/?p=qemu.git;a=commitdiff;h=c1bb5418e

Adding David in case there's some kind of specification somewhere I'm
not aware of.

> What I'm aware of are vague indications of
> this mode's existence in some of Intel's chipset data sheets. Yet that
> leaves open, for example, whether indeed bit 48 cannot be used here.

Bit 48 cannot be used because it's already used to signal an RTE is in
remappable format. We still want to differentiate an RTE entry in
remappable format, as it should be possible to expose both the
extended ID support and an emulated IOMMU.

> > --- a/xen/arch/x86/hvm/vioapic.c
> > +++ b/xen/arch/x86/hvm/vioapic.c
> > @@ -412,7 +412,8 @@ static void ioapic_inj_irq(
> >  
> >  static void vioapic_deliver(struct hvm_vioapic *vioapic, unsigned int pin)
> >  {
> > -    uint16_t dest = vioapic->redirtbl[pin].fields.dest_id;
> > +    uint16_t dest = vioapic->redirtbl[pin].fields.dest_id |
> > +                    (vioapic->redirtbl[pin].fields.ext_dest_id << 8);
> 
> What if an existing guest has been writing non-zero in these bits? Can
> you really use them here without any further indication by the guest?

Those bits where reserved previously, so no OS should have used them.
There are hypervisors already in the field (QEMU/KVM and HyperV) using
this mode.

We could add a per-domain option to disable extended ID mode if we are
really worried about OSes having used those bits for some reason.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 15:19:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 15:19:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260478.450013 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCNb4-0000m6-GO; Tue, 25 Jan 2022 15:19:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260478.450013; Tue, 25 Jan 2022 15: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 1nCNb4-0000lz-DO; Tue, 25 Jan 2022 15:19:02 +0000
Received: by outflank-mailman (input) for mailman id 260478;
 Tue, 25 Jan 2022 15:19:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=81on=SJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nCNb4-0000lt-2u
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 15:19:02 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0757769e-7df2-11ec-bc18-3156f6d857e4;
 Tue, 25 Jan 2022 16:18:20 +0100 (CET)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2059.outbound.protection.outlook.com [104.47.9.59]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-36-Dez6IixRNJCRSdisacGW1g-1; Tue, 25 Jan 2022 16:18:59 +0100
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com (2603:10a6:208:125::12)
 by DB8PR04MB7113.eurprd04.prod.outlook.com (2603:10a6:10:12a::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Tue, 25 Jan
 2022 15:18:56 +0000
Received: from AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::353c:89ba:2675:f607]) by AM0PR04MB5587.eurprd04.prod.outlook.com
 ([fe80::353c:89ba:2675:f607%4]) with mapi id 15.20.4909.019; Tue, 25 Jan 2022
 15: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: 0757769e-7df2-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643123940;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=1o2eQTz1HX52MBovzTipwlFKEihtoLigz8s3rI6u62Q=;
	b=fQIhYufPWRcrAv4Ybmf8x4T+XPTvah9On9nMmz5gH//4c42UI1cys2PTISC7J53wqmRUPY
	VCsOZXRuF470VkRMvyHHLnCl/AEr06gRraYwKa0zDC37VfF+9tXjRa6wDbNJedGkEpAdDz
	PwobVp7VEL/zHLQV6EWP6PQF9beCa50=
X-MC-Unique: Dez6IixRNJCRSdisacGW1g-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ahmc6QyEEcHR4sNC8Z2mILJ3fTgLDjxUyEbcudL1tSy1+2DneXli8XQJLc0ZOIjARbbegkmlQsznAcbrDWB6Qh/UWs6VZrgXnKXvjwkYJFwgCFxcbZoZp9kV49Mr527Y8Fi8WC/Wy8U+iqod2C4h6tAAF7FhaCVWm6G5F1/QBc2fpsEDBYoh6in3z7j8LUf4ffE4ZuGrI6SdurS/QuDkfdIgnyJW4GnkBipNGgOoOoPXjzAxZ4EhP+/oipzL7ogX9TetgRNGU8fIywKTtqjJkm6JQXCaKLTbwN9MJirJqV3tgRcFGTE1SQGJ98pWL2jMNBFCoe/8+0ByIQqc6tNqKA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/XhgzduY13boTbMtLpSWIYSwbrlIyQh6KYBTB+9CXds=;
 b=EQaCUUz+IFqOVo8LsmqP2tiaJXk4R6BTkqa0D7qLfKcfsVTlZUtYBOplzKRaVuE5xyPxH/G6iTo+YS3ZqKA7YHn1PRKMKZ50CGWTojcRu3L9/lSyWN3oQRoKpk6X/hBnAWNv6envr1jyvvtz/izReDlL7R7ewbS2rczBKCR56E8KZzMo1qmPDjQIpxaHJIDgq6QWsNb5glN/2Vs/jfvJZJuhVYDQOo1jj0G+HeC+0zY2aMrDDdx5xEHJp+67mWIyIblgkaJXB/cFs4Eu35WVxtH40yOpl7dvTXAltIhUln8/UKK3npnbJpQvAPtVFMXrhRmehZUEb+xN19Bhj6qqZw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5e349244-ae2d-6e02-dd77-8a67bdd659a9@suse.com>
Date: Tue, 25 Jan 2022 16:18:54 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH] x86emul: recognize CLDEMOTE
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <5812dc8e-d77d-f9de-4f37-b0ef094c5c09@suse.com>
 <2e949d41-00f8-5344-3989-7b0ca45ad6e0@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <2e949d41-00f8-5344-3989-7b0ca45ad6e0@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: FR2P281CA0006.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::16) To AM0PR04MB5587.eurprd04.prod.outlook.com
 (2603:10a6:208:125::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 48e59ac1-8b7b-464e-b0d5-08d9e01600e5
X-MS-TrafficTypeDiagnostic: DB8PR04MB7113:EE_
X-Microsoft-Antispam-PRVS:
	<DB8PR04MB711396DF459709A65199B88AB35F9@DB8PR04MB7113.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:
	eAvsD3IweW23wzF2KQuizplU6TfA3dE44Vjc+ApKKAySxMa7Niv8n4cpjBGd3GWdoerBtjmXuzyPw7P3+rSWZPrdbFHCkr7vEJB+HK+eB4lSo9lx9NkA1tM/6jcEEjDIGZ/6peAKb2eCQEr5bOueF0I2ZXMOog/py0EiCzK3trgpWuSDyh0e1TIJMJPvMkuZ0ZLK0Q/nby3FTtDGnUngAFj9HCdjRkSrUnYcJ/5+tJeko6sBiKRvk1M/TmUTs0O4y+qk1oYvpUhOulDHwBN219FVZwvqmABTBhxZhqUrw9lkdhGTjhHceIH3dOkn7K3KJAgyvBM35X2tzhzg90h85sWQMAYUXGHr/yM+OgmKRuKH5CXcgG9aG9EzwnV+gkzrN+8nhAtOLfjfcM+tICdigxnBPVQ02CCJ3aSFbYdJyaaPi1tfhiGf70V/UCT4oZMym7iFLoKBfyE+itrmBVh3HmbvUSUPSN44+iNVpN70pN8uezTBN7i0pRtJv/LreYL0TLFm8bF3PrvfRb0+7qeDI8tq+fTts8xH6UmEHNlMLWSp9k3qKN2bbVhs6CfnHCvAu0+kiq3uGXFc7K6JtkTRIbCHadumpJ8tck8PyL3ESOwn11tOFDwuDKKPnCEPs9bZUeeENjOL40B2L9EuBf3FQeQKe3qw17ecHTYNuhoCfkRspqW4CCW5StdcmvNyc22+Y4CG8fM1lAXlNcAchJwrWD6vMRGXISH5y1QyPBsl6xIvocx8hYh+kLsizL6arpmq
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:(13230001)(366004)(2616005)(186003)(38100700002)(66946007)(26005)(66476007)(8676002)(66556008)(2906002)(5660300002)(36756003)(31686004)(8936002)(4326008)(508600001)(31696002)(54906003)(316002)(86362001)(6506007)(6512007)(6916009)(53546011)(83380400001)(6486002)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?4cYUZLrhqERFQul0/jvePVdkf5LdGgInw8HDF1zwtJZi+LR0KOryxdDtvJLt?=
 =?us-ascii?Q?kwQqUn+Sp51zB0oeDA+IHegPYEMTHTm5QsRWoYS7zCedkdXAMiNsVgshaF5M?=
 =?us-ascii?Q?lcGxhk1bEQhDL28/rq4H+E+Wue3p5IL75umBRn7ufzKn0mDshQAMFFrDNj50?=
 =?us-ascii?Q?fd7X4M1pLXdl31vhCZYQRwJONJKG8yzXJmHFsqqv1X4MjnMvpkVxP2eGDRFd?=
 =?us-ascii?Q?GM3kJAKfIXKE6tyblTvR0zEA7GlaF7YaCOXwaK7vhERLjRszm6GR1RQ3rFIC?=
 =?us-ascii?Q?9iqgPstMRZxRLZqs1mxoOa7FESf5RV7qPzdzICWeCEpKvj265xjJr61fCdmC?=
 =?us-ascii?Q?vS+H+Ee4eh5+zyQ4Akm6KoXUJCk9bmi9gtyYNk2lOFNQtwDpBuA126oP68/7?=
 =?us-ascii?Q?h3EYsegNl2Gtu3NDOGZPTKuN1U9BTNupId5kL4+o1hKVz5Lay42WHx1+MAm4?=
 =?us-ascii?Q?bEmEJZT5ekvt1n9rsUrPWa4P5sMIcRpbZ5gi/lfHZrY4Kuxe+oPigeG58zvv?=
 =?us-ascii?Q?5NitRES5NsHTfOghMB4+/e6ITt+Jw8sAbsbgzJD+OpzmLANK4fdqhzck3Wgq?=
 =?us-ascii?Q?HUCy4e2FKhvrQWbIUGLQDpbpZNh+s1GK+VTLTayd/i4Zk4w/PDmLzA+c21Yo?=
 =?us-ascii?Q?1XQxv15LFVf0XUFGN35TxOxmeJ2MuYbxPSJpZBL+bVYS2CbH6m2odx4eZHno?=
 =?us-ascii?Q?Ix97T7Sb/flz6GZ5JXmzY8s6bSu9wq8udAzyFak8cIob65r/d0TWGIsy8ZIO?=
 =?us-ascii?Q?gEMJkRmr+TU90exs+jslmhx6+1toVMhByDI3a8sXIWtSYLVMYqILPnTBEOfZ?=
 =?us-ascii?Q?Dut79MxQi3A26GOnytoi0YMGkcY0TmsSYAQTFbwpEBuod6r4DJF9wqdmHv9/?=
 =?us-ascii?Q?Ss22Yy2byCqsVxWhwJ1VksgmHhcg4nWMG5IW85wdl0qUmaKKvY1CJLVRrh60?=
 =?us-ascii?Q?0JkbNNmLIT166SKEvL1NQ7NCrKcZnm4Vb6oqqciR3HTZtNaLrabnHG2/wsfW?=
 =?us-ascii?Q?U+Yhshl7o53nvJqXLz2XUs/IhECv0DGiFrpnjM5a8AEcmsc/WNN/TS+/KUf2?=
 =?us-ascii?Q?r7rqJZuEHHbO1o5qmYdVRZHKxuCi9BFqNlbJUPFXagECC9Z4t38bFxUdZVWO?=
 =?us-ascii?Q?vW05Z6BlGnfdXRCr23lGk1SVHxWVkgjqHF6pMNzzbN2afLJX0JCk4R1zUpxP?=
 =?us-ascii?Q?GjTCXF3TkV1yB0vO+1RdMTOSLhOwPk2ueXwT9xYzIjmE8PQ9q4u/dR8tLKY7?=
 =?us-ascii?Q?umKBQuT6C1BH7989BdQkOrlPgb9lXzrzkQmJQK092Y32kbUSVa0CVtK6S/DG?=
 =?us-ascii?Q?uDI4a4qZqomGrA+TqaaGCtDSOGOWOBYyAzVZ4mXGppsOAM3RsjyEeuV4LMt7?=
 =?us-ascii?Q?22aSp6ymlO3SW2bDKk88zZFfuhcxrfiX/ldCse8+IL4NI55Et/pXQ8RjDoqh?=
 =?us-ascii?Q?Zjqd0PFIqLsgy8KZFFInMJQhUb0THSvT9T9YmM2ZK3E3TAl0EqBa9FR2oxFn?=
 =?us-ascii?Q?jaMKweDyNdmfyJivHrFEdBGOjeSHU8xh5Y5KiVt1F964Ipg9yvp2+NqJJc7e?=
 =?us-ascii?Q?ZADtJISrVTUXUIWwI8SwNLFaMHajiceHSG75hYbq+lqJopeqMQysqIzu4cs6?=
 =?us-ascii?Q?jQl1dISv4/cpuget5fvkvMk=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 48e59ac1-8b7b-464e-b0d5-08d9e01600e5
X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5587.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 15:18:55.9528
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: IZO2STIuES8t8mBzWZ9i8VtRAHh3IH1XpIihz/O81tglqbMm1i9gsjp39kYVEVnZIvTo/PJh31uTm9vCfngj6g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB7113

On 25.01.2022 16:09, Andrew Cooper wrote:
> On 25/01/2022 14:22, Jan Beulich wrote:
>> We claim to support the insn, but so far the emulator has been handling
>> it as a NOP.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>=20
> Treating CLDEMOTE as a NOP is going to be more efficient than actually
> setting up the mapping to execute a real CLDEMOTE instruction on the
> line in question.=C2=A0 CLDEMOTE is very specifically an optimisation for
> software producer/consumer pairs.

Some similar argument could likely be made for treating CLFLUSH etc as
just a NOP then?

> If we want to take this patch, it should Fix[es]: ad3abc47dd23c which
> made the claim that CLDEMOTE needed no further additions.

Added.

> The only issue on whether we can treat it as a NOP completely is whether
> we believe the exception list.=C2=A0 I'm not sure I believe the absence o=
f
> AGU faults,

I also was puzzled by this, but I have no way to verify one way or the
other. Hence the implementation follows what the SDM says.

> but the instruction is taken from hint-nop space so
> guaranteed to behave similarly to clflush/clwb.

I'm confused: CLFLUSH / CLWB specifically do not live in NOP space:
The former are under 0FAE, while NOP space is 0F18 ... 0F1F (with
CLDEMOTE being 0F1C).

Jan



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 15:32:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 15:32:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260481.450024 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCNnw-0003A2-Ms; Tue, 25 Jan 2022 15:32:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260481.450024; Tue, 25 Jan 2022 15:32:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCNnw-00039v-Jm; Tue, 25 Jan 2022 15:32:20 +0000
Received: by outflank-mailman (input) for mailman id 260481;
 Tue, 25 Jan 2022 15:32: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 1nCNnw-00039p-3L
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 15:32: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 1nCNnv-0000LS-2q; Tue, 25 Jan 2022 15:32:19 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.30.43]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nCNnu-00080I-O0; Tue, 25 Jan 2022 15:32:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=PDVAWR45MqEbBzz+7kGt4NMpMqyMyskmpLpMaxPXMUI=; b=5qKB8VdRXEVFl4Etn2HDoL/7KV
	U6A7qMyWJgsBMlS3pjaFTSH745+rmYJdSu0ua6W/sPbd64cx64eEfV5mUtwzBO8MD89oBAxwHh6gr
	hoI8RzmzdN4tGx5nWkM+6t1KrgBdMmrZNnTyxwQCWI1tu/FqVntDHFNF2EllrNviqmRQ=;
Message-ID: <8644d37a-49aa-8d9f-03ea-955d97a1cc28@xen.org>
Date: Tue, 25 Jan 2022 15:32:16 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.0
Subject: Re: [PATCH] libxl: force netback to wait for hotplug execution before
 connecting
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, James Dingwall <james-xen@dingwall.me.uk>,
 Wei Liu <wei.liu@kernel.org>, Paul Durrant <paul@xen.org>
References: <20220124160248.37861-1-roger.pau@citrix.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220124160248.37861-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 24/01/2022 16:02, Roger Pau Monne wrote:
> By writing an empty "hotplug-status" xenstore node in the backend path
> libxl can force Linux netback to wait for hotplug script execution
> before proceeding to the 'connected' state.

I was actually chasing the same issue today :).

> 
> This is required so that netback doesn't skip state 2 (InitWait) and

Technically netback never skip state 2 (otherwise it would always be 
reproducible). Instead, libxl may not be able to observe state 2 because 
receive a watch is asynchronous and doesn't contain the value of the 
node. So the backend may have moved to Connected before the state is read.

> thus blocks libxl waiting for such state in order to launch the
> hotplug script (see libxl__wait_device_connection).
> 
> Reported-by: James Dingwall <james-xen@dingwall.me.uk>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> Tested-by: James Dingwall <james-xen@dingwall.me.uk>

I could easily reproduced by adding a sleep(1) before reading the key 
and use 'xl network-attach ...'.

Tested-by: Julien Grall <jgrall@amazon.com>

> ---
> Cc: Wei Liu <wei.liu@kernel.org>
> Cc: Paul Durrant <paul@xen.org>
> ---
>   tools/libs/light/libxl_nic.c | 7 +++++++
>   1 file changed, 7 insertions(+)
> 
> diff --git a/tools/libs/light/libxl_nic.c b/tools/libs/light/libxl_nic.c
> index 0b45469dca..0b9e70c9d1 100644
> --- a/tools/libs/light/libxl_nic.c
> +++ b/tools/libs/light/libxl_nic.c
> @@ -248,6 +248,13 @@ static int libxl__set_xenstore_nic(libxl__gc *gc, uint32_t domid,
>       flexarray_append(ro_front, "mtu");
>       flexarray_append(ro_front, GCSPRINTF("%u", nic->mtu));
>   
> +    /*
> +     * Force backend to wait for hotplug script execution before switching to
> +     * connected state.
> +     */
> +    flexarray_append(back, "hotplug-status");
> +    flexarray_append(back, "");
> +
>       return 0;
>   }
>   

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 15:37:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 15:37:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260484.450035 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCNsn-0003o8-Ak; Tue, 25 Jan 2022 15:37:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260484.450035; Tue, 25 Jan 2022 15:37:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCNsn-0003o1-6k; Tue, 25 Jan 2022 15:37:21 +0000
Received: by outflank-mailman (input) for mailman id 260484;
 Tue, 25 Jan 2022 15:37:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YAYL=SJ=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1nCNsm-0003nv-8b
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 15:37:20 +0000
Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com
 [2a00:1450:4864:20::42c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ae4e0cda-7df4-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 16:37:19 +0100 (CET)
Received: by mail-wr1-x42c.google.com with SMTP id s18so20616797wrv.7
 for <xen-devel@lists.xenproject.org>; Tue, 25 Jan 2022 07:37:19 -0800 (PST)
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 b1sm757740wrd.12.2022.01.25.07.37.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 25 Jan 2022 07:37:18 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ae4e0cda-7df4-11ec-8fa7-f31e035a9116
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=message-id:date:mime-version:user-agent:reply-to:subject
         :content-language:to:cc:references:from:in-reply-to
         :content-transfer-encoding;
        bh=+gf6bRB0UAAAOcg6ABVdFBIGghqpevaVgIhZPECDmfs=;
        b=ZGcNSBeX3ob/+Lz2stfqOkY3/v7yqU9+hQ8lRvcsiZ+31m+JMT8PxpxnfpH9WjxPO2
         zVXUzNH+pBHubLqd6NYnIfbDdCVrl6InrmjdKco5RIeuUMbzb3Ek40nCAnbvYI5+45/J
         eLLc3S16gEWOFCl4SJ9CDJTxQi9IP5urxBEwwiArdXaiHoBMfJUuwEw0e43BOd1XqfW5
         nSzmNbOkrtgbfaIzwWVJILyglLwBJVPQpEEQM9JvyGDvneWBJ5EtDWckcIx1j4vz6kUL
         jpdg++nea9JaNjYnBgtjKmyIkvF5rppys1CeRc8gZxRjZD/cuf76cyZc9xGvAhZuC2hT
         bBVw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:message-id:date:mime-version:user-agent:reply-to
         :subject:content-language:to:cc:references:from:in-reply-to
         :content-transfer-encoding;
        bh=+gf6bRB0UAAAOcg6ABVdFBIGghqpevaVgIhZPECDmfs=;
        b=BCXeFMrlgChr2tlWEGPp8JzLMKaq2YCRdK8InlYojNaNhZJIrqRGmJP4mxYKqSY8Pd
         HtkElWUuib6EohO/i03oGQpJ8cu9Mv7cypgUMysAK+cfdGSIyh0Ew8sKsUcbtnOHn7JW
         A+FmQeVl9Onzt1xYFDq7qswL52Zc+sCmhxQkOxzB2T2FJKRrw80WCXui0Y23A7c1GApz
         Act44Y79tbZWTJvGddp8ibODe4nXRg6RCZdZ8Ug2uEt7ZyFNmxioHZ35MT+/KqR3A9l9
         H7/LRvB21vOUVU/JSGWKM1t7lrOhIvgpT65BEcQSZna2AfRW1oohdZ/8m/c/FSAKSYuI
         lAjg==
X-Gm-Message-State: AOAM533wl6ln73dJxM+kgN7Y6ojp+DdmSgXD1u6WTFWyga4WRyFS88/m
	OnfxCF1vW8n7jC2gpvYGrfU=
X-Google-Smtp-Source: ABdhPJwNxkT43F+t57qqDtqfyKZvEOVOadtSbT83tfoPq6v+hG1jMwL5Y11iTVKgSwB0NlI4xw7pvA==
X-Received: by 2002:a5d:61c6:: with SMTP id q6mr11712739wrv.667.1643125038666;
        Tue, 25 Jan 2022 07:37:18 -0800 (PST)
Message-ID: <85cc1048-3b81-d08a-de24-5ea841271727@gmail.com>
Date: Tue, 25 Jan 2022 15:37:17 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Reply-To: paul@xen.org
Subject: Re: [PATCH] x86emul: recognize CLDEMOTE
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Paul Durrant <paul@xen.org>
References: <5812dc8e-d77d-f9de-4f37-b0ef094c5c09@suse.com>
 <d8a339f7-b875-492a-8697-1195aeffd8db@suse.com>
From: "Durrant, Paul" <xadimgnik@gmail.com>
In-Reply-To: <d8a339f7-b875-492a-8697-1195aeffd8db@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 25/01/2022 15:08, Jan Beulich wrote:
> On 25.01.2022 15:22, Jan Beulich wrote:
>> We claim to support the insn, but so far the emulator has been handling
>> it as a NOP.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> I'm sorry, I should have Cc-ed Paul here as well.
> 

Acked-by: Paul Durrant <paul@xen.org>

> Jan
> 
>> ---
>> While handling x86emul_cldemote separately in hvmemul_cache_op() means
>> to carry some redundant code, folding it with CLFLUSH{,OPT} / CLWB
>> didn't seem very attractive either.
>>
>> --- a/xen/arch/x86/arch.mk
>> +++ b/xen/arch/x86/arch.mk
>> @@ -23,6 +23,7 @@ $(call as-option-add,CFLAGS,CC,"xsaveopt
>>   $(call as-option-add,CFLAGS,CC,"rdseed %eax",-DHAVE_AS_RDSEED)
>>   $(call as-option-add,CFLAGS,CC,"clac",-DHAVE_AS_CLAC_STAC)
>>   $(call as-option-add,CFLAGS,CC,"clwb (%rax)",-DHAVE_AS_CLWB)
>> +$(call as-option-add,CFLAGS,CC,"cldemote (%rax)",-DHAVE_AS_CLDEMOTE)
>>   $(call as-option-add,CFLAGS,CC,".equ \"x\"$$(comma)1",-DHAVE_AS_QUOTED_SYM)
>>   $(call as-option-add,CFLAGS,CC,"invpcid (%rax)$$(comma)%rax",-DHAVE_AS_INVPCID)
>>   $(call as-option-add,CFLAGS,CC,"movdiri %rax$$(comma)(%rax)",-DHAVE_AS_MOVDIR)
>> --- a/xen/arch/x86/hvm/emulate.c
>> +++ b/xen/arch/x86/hvm/emulate.c
>> @@ -2351,6 +2351,28 @@ static int hvmemul_cache_op(
>>            * to be sensibly used is in (virtualization unaware) firmware.
>>            */
>>           break;
>> +
>> +    case x86emul_cldemote:
>> +        ASSERT(!is_x86_system_segment(seg));
>> +
>> +        if ( !boot_cpu_has(X86_FEATURE_CLDEMOTE) ||
>> +             hvmemul_virtual_to_linear(seg, offset, 0, NULL, hvm_access_none,
>> +                                       hvmemul_ctxt, &addr) != X86EMUL_OKAY )
>> +            break;
>> +
>> +        if ( hvmemul_ctxt->seg_reg[x86_seg_ss].dpl == 3 )
>> +            pfec |= PFEC_user_mode;
>> +
>> +        mapping = hvmemul_map_linear_addr(addr, 0, pfec, hvmemul_ctxt);
>> +        if ( mapping == ERR_PTR(~X86EMUL_EXCEPTION) )
>> +            x86_emul_reset_event(&hvmemul_ctxt->ctxt);
>> +        if ( IS_ERR_OR_NULL(mapping) )
>> +            break;
>> +
>> +        cldemote(mapping);
>> +
>> +        hvmemul_unmap_linear_addr(mapping, addr, 0, hvmemul_ctxt);
>> +        break;
>>       }
>>   
>>       return X86EMUL_OKAY;
>> --- a/xen/arch/x86/include/asm/system.h
>> +++ b/xen/arch/x86/include/asm/system.h
>> @@ -37,6 +37,16 @@ static inline void clwb(const void *p)
>>   #endif
>>   }
>>   
>> +static inline void cldemote(const void *p)
>> +{
>> +#if defined(HAVE_AS_CLDEMOTE)
>> +    asm volatile ( "cldemote %0" :: "m" (*(const char *)p) );
>> +#else
>> +    asm volatile ( ".byte 0x0f, 0x1c, 0x02"
>> +                   :: "d" (p), "m" (*(const char *)p) );
>> +#endif
>> +}
>> +
>>   #define xchg(ptr,v) \
>>       ((__typeof__(*(ptr)))__xchg((unsigned long)(v),(ptr),sizeof(*(ptr))))
>>   
>> --- a/xen/arch/x86/x86_emulate/x86_emulate.c
>> +++ b/xen/arch/x86/x86_emulate/x86_emulate.c
>> @@ -6290,7 +6290,8 @@ x86_emulate(
>>   
>>       case X86EMUL_OPC(0x0f, 0x0d): /* GrpP (prefetch) */
>>       case X86EMUL_OPC(0x0f, 0x18): /* Grp16 (prefetch/nop) */
>> -    case X86EMUL_OPC(0x0f, 0x19) ... X86EMUL_OPC(0x0f, 0x1f): /* nop */
>> +    case X86EMUL_OPC(0x0f, 0x19) ... X86EMUL_OPC(0x0f, 0x1b): /* nop */
>> +    case X86EMUL_OPC(0x0f, 0x1d) ... X86EMUL_OPC(0x0f, 0x1f): /* nop */
>>           break;
>>   
>>   #ifndef X86EMUL_NO_MMX
>> @@ -6627,6 +6628,12 @@ x86_emulate(
>>   
>>   #endif /* !X86EMUL_NO_SIMD */
>>   
>> +    case X86EMUL_OPC(0x0f, 0x1c): /* cldemote / nop */
>> +        if ( ctxt->cpuid->feat.cldemote && !vex.pfx && !modrm_reg &&
>> +             ops->cache_op )
>> +            ops->cache_op(x86emul_cldemote, ea.mem.seg, ea.mem.off, ctxt);
>> +        break;
>> +
>>       case X86EMUL_OPC(0x0f, 0x20): /* mov cr,reg */
>>       case X86EMUL_OPC(0x0f, 0x21): /* mov dr,reg */
>>       case X86EMUL_OPC(0x0f, 0x22): /* mov reg,cr */
>> --- a/xen/arch/x86/x86_emulate/x86_emulate.h
>> +++ b/xen/arch/x86/x86_emulate/x86_emulate.h
>> @@ -177,6 +177,7 @@ enum x86_emulate_fpu_type {
>>   };
>>   
>>   enum x86emul_cache_op {
>> +    x86emul_cldemote,
>>       x86emul_clflush,
>>       x86emul_clflushopt,
>>       x86emul_clwb,
>>
>>
> 



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 16:09:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 16:09:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260493.450055 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCONF-0008K0-57; Tue, 25 Jan 2022 16:08:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260493.450055; Tue, 25 Jan 2022 16:08:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCONF-0008Jt-1C; Tue, 25 Jan 2022 16:08:49 +0000
Received: by outflank-mailman (input) for mailman id 260493;
 Tue, 25 Jan 2022 16:08:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=oOP7=SJ=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1nCOND-0008Jd-00
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 16:08:47 +0000
Received: from sender4-of-o51.zoho.com (sender4-of-o51.zoho.com
 [136.143.188.51]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1162ce28-7df9-11ec-bc18-3156f6d857e4;
 Tue, 25 Jan 2022 17:08:45 +0100 (CET)
Received: from [10.10.1.138] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1643126915011486.55772157056833;
 Tue, 25 Jan 2022 08:08:35 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1162ce28-7df9-11ec-bc18-3156f6d857e4
ARC-Seal: i=1; a=rsa-sha256; t=1643126918; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=IXeBYZAEWhLY3coZyNZ0QvqW/kwF9Byz/bclz+pM4+mzpuapctzwKACtv10CG2XochnUVm/nx3zLJAe8gF47N50FdEzo2Xz1oV/oRvw7/MALwfkfG8jpK03lx8HOXH5aHj/B5sSJ5EeuR2FU50qJdg6ybtV3fXVw5d2v8sULlkM=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1643126918; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=94fqOvepo5IyQQXC/srzO3iqvJ3EM8wAwRgEsi+4mcQ=; 
	b=kh2jvWCjzE7Xp5T35RUQyp0DHjlLDPhU+B8WeQ17yrBiYu0fv80Utd5X8z4i8js7IGqovnApJwhrf8ZZJ4c7WxeXymsy8CK9Mf0G0+tc0qeaiR4pV/FiIEYiC0l1uiqUZgCdyjA6Wfzqf/RehSX69FPlH2FIAR8/LTOQ/dZAykA=
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=1643126918;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:In-Reply-To:Content-Type:Content-Transfer-Encoding;
	bh=94fqOvepo5IyQQXC/srzO3iqvJ3EM8wAwRgEsi+4mcQ=;
	b=L1X3j43+4RMfMwlOHocol2VhESpQF1/+gSR1OkCy4uZ8tEyko5DddyYJMdieSeBN
	baG/JpKcZzRPmuc19Bp574Ob9BKYHrGMPPOe7PUIRKrtMvvXdxI5hqkPXVXBpI1zDwd
	j+VOShAqo4kOmCfH5AJ/Ra3FJdHbbnNm5E1Jie9M=
Message-ID: <ab1e3770-f682-5103-88fc-2d2be2975701@apertussolutions.com>
Date: Tue, 25 Jan 2022 11:06:55 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [XEN PATCH v9 05/30] build: prepare to always invoke $(MAKE) from
 xen/, use $(obj)
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Julien Grall <jgrall@amazon.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>
References: <20220125110103.3527686-1-anthony.perard@citrix.com>
 <20220125110103.3527686-6-anthony.perard@citrix.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <20220125110103.3527686-6-anthony.perard@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 1/25/22 06:00, Anthony PERARD wrote:
> 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>
> Acked-by: Jan Beulich <jbeulich@suse.com>
> Acked-by: Julien Grall <jgrall@amazon.com>
> ---
> 
> Notes:
>     v8:
>     - acked
>     - rebased
> 
>  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                    | 44 +++++++++++------------
>  xen/scripts/Makefile.clean              |  5 ++-
>  xen/xsm/flask/Makefile                  | 36 +++++++++----------
>  xen/xsm/flask/policy/mkaccess_vector.sh |  7 ++--
>  12 files changed, 103 insertions(+), 94 deletions(-)
> 

<snip/>

> diff --git a/xen/xsm/flask/Makefile b/xen/xsm/flask/Makefile
> index 11c530dcf458..51fd37f6c4d5 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) POLICY_FILENAME=$(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	{

Reviewed-by: Daniel P. Smith <dpsmith@apertussolutions.com>

V/r,
Daniel P. Smith
Apertus Solutions, LLC


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 16:09:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 16:09:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260495.450066 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCOOC-0000Pv-FO; Tue, 25 Jan 2022 16:09:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260495.450066; Tue, 25 Jan 2022 16: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 1nCOOC-0000Pm-BZ; Tue, 25 Jan 2022 16:09:48 +0000
Received: by outflank-mailman (input) for mailman id 260495;
 Tue, 25 Jan 2022 16:09:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=oOP7=SJ=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1nCOOB-0000OW-40
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 16:09:47 +0000
Received: from sender4-of-o51.zoho.com (sender4-of-o51.zoho.com
 [136.143.188.51]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 35cfff33-7df9-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 17:09:45 +0100 (CET)
Received: from [10.10.1.138] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1643126977972983.8482899495522;
 Tue, 25 Jan 2022 08:09:37 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 35cfff33-7df9-11ec-8fa7-f31e035a9116
ARC-Seal: i=1; a=rsa-sha256; t=1643126978; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=cEvlaV6AmNOSrj0uyrP61EWeF/J6iQ7XGREo2+uQkryiDCNfLB0Rx2asyw2mWkuvtLki4fZUA4NOVcEKzuJZDlPpkJ0Uuyqg+BQ5tz5CzLCXE/GnEkDJYX6LRYUeRR5+DIPk22LahzR/0HswsXTLSJz6DPQ/9D9MvGlltH3Z8po=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1643126978; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=fdsP6yayx+tfibHUReJFa9aucc9bG7MUjN7uDxDYoAI=; 
	b=L6XuakW9MftYEdWmR7UbayNdMB4BJdUOX7erFlowLmuDVaGtncuiqt8vSskSj4fEeqMlctGL8ZR1YBduzMbvlnE5VNYOrsMXsk6d4CbBuELnbWtq8jORUrQ7RNUqm/CI9kFgFHezDxyefQh8JZPuomCrL7abQESgv9Ds7iE4wyE=
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=1643126978;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:In-Reply-To:Content-Type:Content-Transfer-Encoding;
	bh=fdsP6yayx+tfibHUReJFa9aucc9bG7MUjN7uDxDYoAI=;
	b=QfRvc5wjlSPLSbMWj+mDJRjobPn75rR/pbRprhQYA2zMYLmU0q4iLZoekj36QAFU
	m25H3eG4iR7x0aJapvzeNl6yYhmptV1YS4SNbpQc1NWPrryZicV+1dsnyu9aLraiGH4
	c5ABhQR907wH4k2V1kqQD7gYcHyzsuVsOSfq1QqE=
Message-ID: <cb41a625-b3a4-3315-eafe-395d2f220f5e@apertussolutions.com>
Date: Tue, 25 Jan 2022 11:07:58 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [XEN PATCH v9 09/30] build: build everything from the root dir,
 use obj=$subdir
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
Cc: Bob Eshleman <bobbyeshleman@gmail.com>, Julien Grall <jgrall@amazon.com>,
 Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.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>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>
References: <20220125110103.3527686-1-anthony.perard@citrix.com>
 <20220125110103.3527686-10-anthony.perard@citrix.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <20220125110103.3527686-10-anthony.perard@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 1/25/22 06:00, Anthony PERARD wrote:
> 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, and $(abs_srctree) and $(abs_objtree) which
> have an absolute path.
> 
> 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.
> 
> Adjust cloc recipe: dependency files generated by CC will now have the
> full path to the source file, so we don't need to prepend the
> subdirectory. This fix some issue with source not been parsed by cloc
> before. Also source from tools/kconfig would be listed with changes in
> this patch so adjust the find command to stop listing the "tools"
> directory and thus kconfig. With a default build of Xen on X86, they
> are a few new files parsed by cloc:
>     arch/x86/x86_64/compat/mm.c
>     arch/x86/x86_64/mm.c
>     common/compat/domain.c
>     common/compat/memory.c
>     common/compat/xlat.c
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> Acked-by: Bob Eshleman <bobbyeshleman@gmail.com>
> Acked-by: Julien Grall <jgrall@amazon.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> ---
> 
> Notes:
>     v9:
>     - reviewed
>     
>     v8:
>     - rebased
>     - move check for $(obj) in Rules.mk earlier
>     - use $(sort ) when adding directories in $(subdir-y)
>     - fix missing space between "DEPS" and ":="
>     - use -iquote when adding '.' for xen/arch/x86/usercopy.o
>     - introduce also abs_srctree and abs_objtree
>       those were in patch "build: replace $(BASEDIR) by $(objtree)"
>     - reworked cmd_objcopy_fix_sym, we don't need to do anything for old
>       version of clang, and for recent version of clang the change is the
>       same a for gcc.
>     - adjust "cloc" recipe
>     - add some more $(Q) to silent $(MAKE) $(build)=...
>     
>     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                |  36 ++++++----
>  xen/Rules.mk                | 138 ++++++++++++++++++++++++------------
>  xen/arch/arm/Makefile       |   4 +-
>  xen/arch/arm/Rules.mk       |   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                |  12 +++-
>  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 +-
>  17 files changed, 162 insertions(+), 104 deletions(-)
> 

<snip/>

> diff --git a/xen/xsm/flask/Makefile b/xen/xsm/flask/Makefile
> index 51fd37f6c4d5..49cf730cf098 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 := $(abs_objtree)/$(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


Reviewed-by: Daniel P. Smith <dpsmith@apertussolutions.com>

V/r,
Daniel P. Smith
Apertus Solutions, LLC


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 16:10:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 16:10:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260498.450077 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCOOy-0001il-PL; Tue, 25 Jan 2022 16:10:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260498.450077; Tue, 25 Jan 2022 16:10: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 1nCOOy-0001ie-Lq; Tue, 25 Jan 2022 16:10:36 +0000
Received: by outflank-mailman (input) for mailman id 260498;
 Tue, 25 Jan 2022 16:10:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nUgY=SJ=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nCOOx-0000lY-6G
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 16:10:35 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 51f39521-7df9-11ec-bc18-3156f6d857e4;
 Tue, 25 Jan 2022 17:10:33 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 51f39521-7df9-11ec-bc18-3156f6d857e4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643127033;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=Xnm/A9ZUYx5iWxsYC1c7gYYoZ2za1KOW4ja5cx+8yz4=;
  b=cwT1mQ7sEEZePYGF6O+h1QsxsBsZGGtA9w6jDk44DAT96RmHIWM0Xgv8
   OxTn2mI6OyXngzX4ROEUwfmQL8UVFk6J8BoWgE3FpwTsscJwXMczlnm8G
   VJXoo9c0ZVwlN6ciBSo5oPi2w/aDTdbW+PU31GhuCASaYBN8LCkg53e5Q
   M=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: p5Ok9xtZGr28+I8VP3P+w5liICnK1Fjb2sBc963f1J4ehNsDEhU7g2RDSBm7VDDKIRY6/sPDkJ
 5sLEDv1FjJANDsC1VRTuthtHo73a+stKQ6k7GIK1OyaTgiKP0U0kB47iP+k9dCREiWKZ4meNg5
 vaw0FC0kXSQZ8ANtbmNHS9YAzL1bF+vAkrv9s+NYl87kmOT6rHI80RKHZEKDiwu6w6eXG1r3ZJ
 K57JHqi+RJKPBbqkSB0GK1UD76i9jnieBL4sOsvoqXu8sSAPchQDLCc8Y7RS+J8VcWMr2tB7MD
 XAQvjT3X1GMFffS9NjzhYF0T
X-SBRS: 5.2
X-MesageID: 62645065
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:fXAbhK9hxgnut9UIz8phDrUDKHmTJUtcMsCJ2f8bNWPcYEJGY0x3y
 zceWDrUM/+LYGGked51b4XnpxwAvpCHnNVrQAc6rS08E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7dj39Yy6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPhw5
 fhSjKX3YzsvYJaLo9YPAylbEz5xaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguw5K8bmJsUHs2xIxjDFF/c2B5vERs0m4PcGhmls25gQQJ4yY
 eI6bhtfdB37TiYUMwYrItFlvuPwp2bwJmgwRFW9+vNsvjm7IBZK+LrkNdfOP8yHQ+1Zn0CXu
 WvC+yL8D1cHN7S31jeEtHatm8fMkDn9VYZUE6e3ntZyiUCX7nweDlsRT1TTifu2kEmlQPpEN
 lcZvCEpqMAa9lGvT9T7dw21pjiDpBF0c8pdFag25R+AzoLQ4h2FHS4UQzhZctskucQqAzsw2
 TehgNfBFTFp9rqPRhqgGqy89G3of3JPdClbOHFCHVBtD8TfTJ8bjz/iUe9aV4SJiIPOXgrC0
 WC6ryghiOBG5SIU7JmT8VfCijOqg5HGSA8p+wnaNl6YAhNFiJ2NPNLxtwWChRpUBMPAFwTa4
 iBY8ySLxL1WVfmweDqxrPLh9V1Dz9KMK3XijFFmBPHNHBz9qif4Lei8DNyTTXqF0/romxe0O
 Cc/WisLvfe/2UdGi4ctP+pd7OxxlcDd+SzNDKy8Uza3SsEZmPW71C9vf1WM+GvmjVIhl6oyU
 b/CL5r3VSpLVvs5nWvuLwv47VPN7npirY80bcujpylLLJLEPCLFIVv7GAXmgh8FAFOs/1yOr
 oc32zqiwBRDSuzuChQ7AqZIRW3m2UMTXMisw+QOL7brClM/RAkJVqGNqZt8Jd0Nt/kFx4/go
 yDmMmcFmQWXuJEyAVjQApyVQOmxDc8XQLNSFXFEAGtELFB6Md/wt/9OLsVuFVTlncQ6pcNJo
 zA+U5zoKtxESyjd+iRbap/4rYd4cw+six7INC2gCAXTtbY7L+AQ0tO7LAbp6gcUCS+76Zk3r
 7G6j1uJSpsfXQVySs3Rbav3nV+2uHEcnsN0XlfJfYYPKBm9rtAyJnyjlOIzLuENNQ7HmmmQ2
 TGJDEpKvuLKuYI0roXE3PjWs4ezHuJiNUNGBG2Hv62uPCzX8zP7k49NWeqFZx7HU2bw9Pnwb
 OlZ1aikYvYGgExLo8x3FLMylfAy4N7mprl7yAV4HSqUMwT3W+04enTfhJtBrKxAwLNdqDCaY
 EPX94kII6iNNePkDEUVeFgvYNOc2KxGgTLV9/k0fhn3vXcl4LqdXExOFBCQkygBfqBtOYYoz
 Op96s4b7wuz1kgjPtqc130G8m2NKjoLUrk9t4FcC4ju01J5xlZHaJ3aKyn3/JDQNIkcbhh0e
 meZ1PjYmrBR5kveaH5iR3HC0N1UiYkKpB0XnkQJIE6Em4adi/I6tPGLHe/bkuiBIs177t9O
IronPort-HdrOrdr: A9a23:arCmVqkI7GZtAE6w8iDvqhlcltDpDfPOimdD5ihNYBxZY6Wkfp
 +V88jzhCWZtN9OYhwdcLC7WZVpQRvnhPlICK0qTM2ftWjdyRCVxeRZg7cKrAeQeREWmtQtsJ
 uINpIOdeEYbmIK8/oSgjPIaurIqePvmMvD5Za8854ud3ATV0gJ1XYHNu/xKDwReOApP+tcKH
 LKjfA32wZINE5nJviTNz0gZazuttfLnJXpbVovAAMm0hCHiXeN5KThGxaV8x8CW3cXqI1Su1
 Ttokjc3OGOovu7whjT2yv66IlXosLozp9mCNaXgsYYBz3wgkKDZZhnWZeFoDcpydvfo2oCoZ
 3pmVMNLs5z43TeciWcpgbs4RDp1HIU53rr2Taj8AzeiP28YAh/J9tKhIpffBecwVEnpstA3K
 VC2H/cn4ZLDDvb9R6NqOTgZlVPrA6ZsHAimekcgzh0So0FcoJcqoQZ4Qd8DIoAJiTn84oqed
 MeQP003MwmMG9yUkqp/lWGmLeXLzcO91a9MwU/U/WuonZrdCsT9Tpb+CQd9k1wgK7VBaM0ot
 gsCZ4Y5I2mePVmGJ6VNN1xMPdfNVa9Mi4kEFjiV2gPR5t3ck4klfbMkccIDaeRCdg18Kc=
X-IronPort-AV: E=Sophos;i="5.88,315,1635220800"; 
   d="scan'208";a="62645065"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=U0IKKMc0MsGzrcbdx5HpalB3vUghNDgSi3+zeti43D9I3VHMBOOjqTpMdpPBRGMwBegTCdzWKjk1gNu0MH11jjGu0YVhNYoY17fdCLJafXEohDszF4INJbemryGqw+5IZadCvZhGaTbCyXkJciLMFzOxLgLKrJ49c9Ll/as1WARo6ZQfLfYMwFVPDFCNNURJ5KFHnpPeWmGZ4RA9RzPGvYqg5sgyJ+4mRLj+y07cp9PwdrRP8cqoTcT3XaGjBcM53Jv7wIWGXAMkuY22UKIJv6+WOgx1io3bTSUaEFWJvEjxkVX9ysOCrWq0Rt1Rj9G6/hq11QW1hohkNPhtlcZBOw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5ljvA3kACGl8STvB+5+votPIQDy9fLJeYzt6cZLnXs0=;
 b=OOliIXODX04w7jobndCXhLRQh/gqpHam34Z6sE9kVEJg78cpGhmT31nfYZ6pcGy5XSV6h+tqHmUmNtdHMkyasSe1XJ4+gyjD4Im+U5/zBw+7cooHMAerLDQ6JqqA9/BK8Y40iV4x+MVbHE6IyDISx9M/9lslubaGkyOfmSe2L6NU0npDHPrfMNZU8cv6y0Jhjj6Q7HIemTn2dG4H/BtUfi4DVVDxn199ARj7ZxPKXj0mWrVVd2pwUqXqX0jmxsEYcOZxHCAOa0FUBxWNL64pQKBnKYjwG6bkrRQ7urAVROIWwbTHSMS257rhJpLu7J78W0gvhTJytWh5ZI+QyucEpA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5ljvA3kACGl8STvB+5+votPIQDy9fLJeYzt6cZLnXs0=;
 b=BF2xF0W32WvXEkYktKqBV6su9pnHwv3Vg93TQOjMMPqPUCK4uboNM+/+/Am2T458BtynrQ17gfojfryzGPIB/2OZquQ/UH8umm+ksqw/YSdBPRnFAc8bIm/GyLEqUQPCbIbsZpChVmwH93dHltQ38RyomvSjXCQdJw2coLOVG2c=
Date: Tue, 25 Jan 2022 17:09:21 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Julien Grall <julien@xen.org>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, James Dingwall
	<james-xen@dingwall.me.uk>, Wei Liu <wei.liu@kernel.org>, Paul Durrant
	<paul@xen.org>
Subject: Re: [PATCH] libxl: force netback to wait for hotplug execution
 before connecting
Message-ID: <YfAgsat9NY+I0WAA@Air-de-Roger>
References: <20220124160248.37861-1-roger.pau@citrix.com>
 <8644d37a-49aa-8d9f-03ea-955d97a1cc28@xen.org>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <8644d37a-49aa-8d9f-03ea-955d97a1cc28@xen.org>
X-ClientProxiedBy: MR1P264CA0048.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:3e::17) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 1f41af76-c4ea-41e9-06f4-08d9e01d0f72
X-MS-TrafficTypeDiagnostic: BYAPR03MB4645:EE_
X-Microsoft-Antispam-PRVS: <BYAPR03MB4645A6D552969568A84609DE8F5F9@BYAPR03MB4645.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: qJLfMNgQZ63hLTJpb8FcJUTJflNhN4it1DDdFYpL1tu4nRZbVeb6Z06bUqkBrSaKGBROVsDhuOR12YS5/HSAhfPucWt/wJuE2bz5oyfY+araYbQl8UnDzL95kGZuMB/TeSpBoVnQZuqdjwAcxWxSeTNvGcQM7UmLI7/Qu3hvFegkmXMVpZPgE3y5FOAioMVe/j8CMKzMy7Yo2XwxfI5FsCqC2mtY4KQMFV/dMQ4G2fK7T2EDRvIK/d54BPGWpcqG3UK12LaFsGgG0jy65M8o31p0XU3uPpa78jovEERCUwgco1OCuURml6e2+fZJ3HEScAm3vocRBWrF7n4nGew1P7SMJI/BuFsP1sm+TaZJrNxcSAWEEmtWKiR0cpMaqrGxCkKphKdtUM5ObJ1xbeiyaSOyKC6dJFOzF1c48fyI908aw2nb3zJK2KDbMQ87abUDgYxVCqmjyDVqXqkeZK3m/MlQWqWFWYpatE5WjStUU5n3UGM+VDt1OtUYiOnQbwlma9mOqY7uOzvJMY47OeyjNkp6sTd/JintPpJ6EXMhS4MRPTzGIuvZJf03LXp7rxVV+vLvDKsqmRB5RgYZHY6TH5vL+I10urmXB+z17tU4gVEptlDi2oXaQlSKw68sC9yz/lKNTx+QmdA2DFAyiDj5RXllKrOevUOhob4+4XXKvAI6u4ASEX+GdLXj9KvyjWNyEXZ77nZPMttm8lWDrDWlSw==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(86362001)(53546011)(38100700002)(6512007)(186003)(66556008)(6506007)(8936002)(4326008)(9686003)(316002)(6916009)(54906003)(6666004)(8676002)(66946007)(82960400001)(508600001)(6486002)(2906002)(4744005)(66476007)(5660300002)(33716001)(26005)(85182001)(67856001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MmdmNHhTQzhNVGp6bTFJNHhyRENCKzl4NXVCUFJXV3NlTXkvT2Vna1MvOVJP?=
 =?utf-8?B?cUs3b2lIbi9ycGZPbVBtd1o0OExER0s0QjFWNENlYitKL1pkVnIvK1BhakVW?=
 =?utf-8?B?NUJUK3h2QTl1dk0rcVdnc0Z4UXFhMEpVdDduaGh1RVpDQ1FvY1crcFJjQzZ1?=
 =?utf-8?B?T2xud3pKVEpTU2tuTXZrbjZOZU9SZWdocmFMb1FLdWdYemxrU2dqTjNidWgx?=
 =?utf-8?B?eUVzaGtxbFdabCszU3lFVk1JbFNwWHV1VkJLM0NMYmNaM01zSDJJMlZxLzV3?=
 =?utf-8?B?RjdWd3lWZGVid1BVbC9yQzJiYjFwRmJxWnBwQURGMy85d3kxL2RhbWdrcWlh?=
 =?utf-8?B?QXFPWWRjV0lnMnpyQ2EyTHhMQTdHUTl4VHdJR3k2NzlZemJRVnd5M3Y4Smoz?=
 =?utf-8?B?NjN6ZmF6R3FNd3dWYXY1YXowc3pReWxxM05WbzNWdVdoQ2NIcHBWdW9KS09Z?=
 =?utf-8?B?WWlHNDlXaDRQOEFSbGxkcHAzZUNQYlJ5cCtmUHdHaTFVU0syMzZQWldKaXIy?=
 =?utf-8?B?cU5IdVNIYkJ0aU9hRU1aNUJKS2d6Y3k5RW1wMlNnZEpqeGw5Z1Q1cWlMWnVm?=
 =?utf-8?B?Z2ZoR01NcmNrZXJxc0lrTUw3VmRqcUg4RE5LZnVPY29DMXhqb05kdC9lczlp?=
 =?utf-8?B?MzF3eDhjb01XdGpRaDgveHFyNW1FQlhibTIyY04vNVFUbU05RHBMd1dLZ3dY?=
 =?utf-8?B?eU5CV2hKYVRsMWxnclNTWC9sTnorN0poa1NCQlVMby8rU3E3ODlLVFpkdkRN?=
 =?utf-8?B?VG9uSHovSyt1SG1hM1BKWnkvSHNNRW1RWjRRVktHc0ppVkc5aU9US29MY013?=
 =?utf-8?B?VWJURkFtdGJBZUZRK21sWjlqN1FncEF4SXQ1dThlUVRkSnZ6WmRBb1FRVlZv?=
 =?utf-8?B?SXpPQmhGUTMzZlBmcEEySTExYTJsNjdPNkxGNkhuL005dUxDeVdtUnhxYndl?=
 =?utf-8?B?NDgwdzdXSkFwSVhNb2d3ZXd1UE45cXk1b1g3ODl5Y3cxVkRoVWR2blVNMmV0?=
 =?utf-8?B?WXhvV0c0aXp4dW5KTE40UHkzblBSNTVGeTRieDBNT2RyZlduZU9zUm55TGVx?=
 =?utf-8?B?eWpJS1lsZ2o4aVREQnNNS2pBNlRxZzQ3ZUk1c2w3bFo3a0J3UlM0V2gvTVc2?=
 =?utf-8?B?Qk81RnB5dWM1cnR3bXBIRFVYMWFJd3ltWjR6VzVLdzdwZnFYVXdsNDdVTi9E?=
 =?utf-8?B?TzJBeWVXSnFHVU5nU2RXQ2dYb1ZwanZVRFRVTmFzdHV3dEppTWRFY1U5TzVj?=
 =?utf-8?B?UmcvZW03SUNSRm9reEljWmp5TXdZVFl1SWVaVHF5dmlmaktoTmN5TGdiOU9w?=
 =?utf-8?B?U1c2NXFmdlV4UjNPTTZGWXRIQ3d1WnZ1T2hidVdBM3FlNHpRWXo1Sy9BaEhP?=
 =?utf-8?B?cVZVNldmL29qbW9RdVdzVFVSeVF4empXdCs5RzRJdjlacEQwNWRldVA5MXA3?=
 =?utf-8?B?dmhEUnZzMWJ5ZzZFbDJ6WDVrRDgyajdleHpEakdoMFNZcHZYdmFrdW9pN094?=
 =?utf-8?B?ekVEUm9pRGFRSWNEU1dtUURQR1h3VzdaamVxMC9EQTN2TG1RT2Z5cW1wdjhq?=
 =?utf-8?B?b1B4eUZ2QmpMSkVNMFEzN0svTkhVaDU4cHJkenFhZStyQUliRDF3dEtETnY0?=
 =?utf-8?B?Z3NOTnhHUVU3MXg4akdrWnh2cCs2S0lycXYwNmpybnpTRFJvcHVwWWNHTi9C?=
 =?utf-8?B?UTdReVE2N0YvRWhudW5lcXVRUzBudllFc3BYcVpNWXFoSDVDS2dGNDE5dGRp?=
 =?utf-8?B?U1BBeWVmNHFUcHJuZGp4ZHFqOE9PNm54NmZoMkphNG8zZFpzMVNLZnd1Sllq?=
 =?utf-8?B?NU9UOXdLSk0yTVZyQk05WGtzeVY1NHNUd1FHbzFHdUNaRURVMkNIVFdCaS9S?=
 =?utf-8?B?cE5tcCtxTysyakVUQkxKT2FxZUVBZVpsZGdzdWNQTFlBcWVEZ2lJL01UZjd2?=
 =?utf-8?B?cWVjcmx2WXZ1VzY2cXBkT0c0Q3g5dzVISzRzM1RqM2l3U00vc3Q4UldWWjBW?=
 =?utf-8?B?Wkt5bStyaTMzbnVSTm1GcUE5MUYyUm1wT2J6VS96WThYS0Q5eDgvU3VSZThY?=
 =?utf-8?B?UEErbVdCQlBZbHlYcC8rdGRHa3RGeFpibXE3cHk2d0NjRnlsbnF2RnVOTFp2?=
 =?utf-8?B?Q1oxNjBnQjVFOHRRTVMrZUJLUXpLZHU2blhtWnpJMWlNaUdYamhSTHFXNkZ0?=
 =?utf-8?Q?Kj8EH+5bsbsL+VYYcLcgfSM=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 1f41af76-c4ea-41e9-06f4-08d9e01d0f72
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 16:09:27.0096
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: PJiMpQukQ5CGMk4WiHUAb5hEYXSWuazgsVaSZPHb1u7f9CaiNoJ+BjZ/rsuhMjMUt/31MLMNgSGwRvo7XYeCEw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB4645
X-OriginatorOrg: citrix.com

On Tue, Jan 25, 2022 at 03:32:16PM +0000, Julien Grall wrote:
> Hi,
> 
> On 24/01/2022 16:02, Roger Pau Monne wrote:
> > By writing an empty "hotplug-status" xenstore node in the backend path
> > libxl can force Linux netback to wait for hotplug script execution
> > before proceeding to the 'connected' state.
> 
> I was actually chasing the same issue today :).
> 
> > 
> > This is required so that netback doesn't skip state 2 (InitWait) and
> 
> Technically netback never skip state 2 (otherwise it would always be
> reproducible). Instead, libxl may not be able to observe state 2 because
> receive a watch is asynchronous and doesn't contain the value of the node.
> So the backend may have moved to Connected before the state is read.

Right, might be more accurate to say it skips waiting for hotplug
script execution, and thus jumps from state 2 into 4. Note I think
it's also possible that by the time we setup the watch in libxl the
state has already been set to 4.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 16:10:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 16:10:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260500.450087 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCOPJ-0002CR-5O; Tue, 25 Jan 2022 16:10:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260500.450087; Tue, 25 Jan 2022 16:10:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCOPJ-0002CK-2H; Tue, 25 Jan 2022 16:10:57 +0000
Received: by outflank-mailman (input) for mailman id 260500;
 Tue, 25 Jan 2022 16:10:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=oOP7=SJ=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1nCOPI-00025R-3i
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 16:10:56 +0000
Received: from sender4-of-o51.zoho.com (sender4-of-o51.zoho.com
 [136.143.188.51]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5f1881ee-7df9-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 17:10:55 +0100 (CET)
Received: from [10.10.1.138] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1643127040607112.68892910086618;
 Tue, 25 Jan 2022 08:10:40 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5f1881ee-7df9-11ec-8fa7-f31e035a9116
ARC-Seal: i=1; a=rsa-sha256; t=1643127046; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=JuhxPL1c0ug3Pn1e7HmzlDJkAHjFnIpHj8HthOoeqmM73B8o93ZhEYaoQ+lUsjCDd4+g2+C+f0m/nZrMg4qGbYo36HSsrPphEpJY4lOPYlsLwRpPy/gGmLsGZKUaOlfLz3lV5iHHfjCl5OBd5YsMMYHGki98OvVlndKHu07wF9s=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1643127046; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=CvBj2eJDqp5R/1SQGRb09Go2e1vHAg9XdBzTdm+iBJY=; 
	b=cvbb3iFIoQTl/OIOZ5pHl+u4wysILgBfDg0Suc5ykGAS+DFe0+qjdiPjNUdoDho3G77w8414mPW5C+Yj4I7CgGmxmleyRB0sPw+q3+UQ6o1YvTgP+D/vQz1YpavcdKRPsoga851F+kw8WexjkVHV8RnMIiV2TG4wfa0QrvRVX6Q=
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=1643127046;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:In-Reply-To:Content-Type:Content-Transfer-Encoding;
	bh=CvBj2eJDqp5R/1SQGRb09Go2e1vHAg9XdBzTdm+iBJY=;
	b=b0K+zL/Wx9p0lR7+I8V1gUNkGESaZypdMmw5en9zVSa2NyGGqEca7qJtyHqRP8HL
	0WSqAjySkLvxm86Zs3T4kTbx/6VTnMwQeWbL2ep8+6rWUYuyq/fwvDMHK00+oZkwxGo
	T0bA0yagt+7YkMIXaTk8drgG4oYxRuPb5tlfMfwY=
Message-ID: <1045d27a-0368-8190-e707-85addaab7d1f@apertussolutions.com>
Date: Tue, 25 Jan 2022 11:09:01 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [XEN PATCH v9 19/30] build: clean-up "clean" rules of duplication
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Julien Grall <jgrall@amazon.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.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>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>
References: <20220125110103.3527686-1-anthony.perard@citrix.com>
 <20220125110103.3527686-20-anthony.perard@citrix.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <20220125110103.3527686-20-anthony.perard@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 1/25/22 06:00, Anthony PERARD wrote:
> 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>
> Acked-by: Jan Beulich <jbeulich@suse.com>
> Acked-by: Julien Grall <jgrall@amazon.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(-)
> 

<snip/>

> diff --git a/xen/xsm/flask/Makefile b/xen/xsm/flask/Makefile
> index 49cf730cf098..832f65274cc0 100644
> --- a/xen/xsm/flask/Makefile
> +++ b/xen/xsm/flask/Makefile
> @@ -51,4 +51,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


Reviewed-by: Daniel P. Smith <dpsmith@apertussolutions.com>

V/r,
Daniel P. Smith
Apertus Solutions, LLC


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 16:11:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 16:11:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260503.450099 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCOQ6-0002wc-Gx; Tue, 25 Jan 2022 16:11:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260503.450099; Tue, 25 Jan 2022 16: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 1nCOQ6-0002wT-Cs; Tue, 25 Jan 2022 16:11:46 +0000
Received: by outflank-mailman (input) for mailman id 260503;
 Tue, 25 Jan 2022 16:11:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=oOP7=SJ=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1nCOQ5-0002wJ-1B
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 16:11:45 +0000
Received: from sender4-of-o51.zoho.com (sender4-of-o51.zoho.com
 [136.143.188.51]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7bdc26a5-7df9-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 17:11:43 +0100 (CET)
Received: from [10.10.1.138] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1643127081555803.0574614939743;
 Tue, 25 Jan 2022 08:11:21 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7bdc26a5-7df9-11ec-8fa7-f31e035a9116
ARC-Seal: i=1; a=rsa-sha256; t=1643127082; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=Zr3EKKWYToeXoovYPLf+P0yQEaDq0COZNSewksddLzWVWg50E+UwMuKSpfKtOdn9crQqsXfQZkv3jYuH6v2ryiHE15PJEZprmDGY7awsN9kWngtwK9Tr8DDra9hQhO6/e5dvwIBy+cDTxt08hXLVCmJg7b5YJ1cYQWWj8zm5aRU=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1643127082; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=VSWs1JVcA5s3mEv8Rp+wZYLf3DeH5t+xxTNGZ+GRRrI=; 
	b=K1Ohr0NkJfDrfV6VuFIdoNdlimeMVDhad+NccSZq+RhaiCIbbAUGdtC5UPulHbJta/+jPm3JgOwYHrXwtOLVMiRLWYPZKdRNb9i1MQob/Asx0/ZqD2S+qCumBLOSAnGNDqtbHLdA7LPoj3N9qHflqH+rW3eGQgsk2CBzAvbP0lU=
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=1643127082;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:In-Reply-To:Content-Type:Content-Transfer-Encoding;
	bh=VSWs1JVcA5s3mEv8Rp+wZYLf3DeH5t+xxTNGZ+GRRrI=;
	b=rccVaEgoPiEeXJsu+raALZsDc78Pos1X6sFQS7OnMZ7ahc6v8a5jRbNmTapABLq/
	S2Z5ZrE+BiGnCHQ3/8smAAV8ProYAsk15oDvhgGuNOXvY0qFFuICSIl43tc9oaEB0y1
	2+focvCMiT/8fPOwaCtq8vcSV6hvf8KeHnZlQmmE=
Message-ID: <e4470398-cea9-6747-a85e-8a041d28849b@apertussolutions.com>
Date: Tue, 25 Jan 2022 11:09:42 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [XEN PATCH v9 20/30] build: rework "clean" to clean from the root
 dir
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.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>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>
References: <20220125110103.3527686-1-anthony.perard@citrix.com>
 <20220125110103.3527686-21-anthony.perard@citrix.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <20220125110103.3527686-21-anthony.perard@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 1/25/22 06:00, Anthony PERARD wrote:
> 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 start to clean files listed in $(targets). This allows to clean
> "common/config_data.S" and "xsm/flask/flask-policy.S" without
> having to list them a second time.
> 
> 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>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> ---
> 
> Notes:
>     v9:
>     - reviewed
>     
>     v8:
>     - fix comment for the shorthand
>     - move this patch earlier in the series
>     - replace some BASEDIR by objtree
>     - start to clean $(targets) files.
> 
>  xen/Makefile                | 24 ++++++++++++------------
>  xen/arch/arm/Makefile       |  5 +----
>  xen/arch/x86/Makefile       | 20 ++++++++++++--------
>  xen/arch/x86/boot/Makefile  |  2 ++
>  xen/common/Makefile         |  3 +--
>  xen/include/Makefile        |  4 +---
>  xen/scripts/Kbuild.include  |  4 ++--
>  xen/scripts/Makefile.clean  | 14 +++++++++++---
>  xen/test/livepatch/Makefile |  4 +---
>  xen/xsm/flask/Makefile      |  4 +---
>  10 files changed, 44 insertions(+), 40 deletions(-)
> 

<snip/>

> diff --git a/xen/xsm/flask/Makefile b/xen/xsm/flask/Makefile
> index 832f65274cc0..4ac6fb8778ae 100644
> --- a/xen/xsm/flask/Makefile
> +++ b/xen/xsm/flask/Makefile
> @@ -49,6 +49,4 @@ $(obj)/policy.bin: FORCE
>  	        FLASK_BUILD_DIR=$(FLASK_BUILD_DIR) POLICY_FILENAME=$(POLICY_SRC)
>  	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)

Reviewed-by: Daniel P. Smith <dpsmith@apertussolutions.com>

V/r,
Daniel P. Smith
Apertus Solutions, LLC


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 16:12:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 16:12:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260505.450110 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCOQm-0003a3-QH; Tue, 25 Jan 2022 16:12:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260505.450110; Tue, 25 Jan 2022 16: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 1nCOQm-0003Zw-MJ; Tue, 25 Jan 2022 16:12:28 +0000
Received: by outflank-mailman (input) for mailman id 260505;
 Tue, 25 Jan 2022 16:12:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=oOP7=SJ=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1nCOQm-0003Zm-8O
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 16:12:28 +0000
Received: from sender4-of-o51.zoho.com (sender4-of-o51.zoho.com
 [136.143.188.51]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 96023266-7df9-11ec-8fa7-f31e035a9116;
 Tue, 25 Jan 2022 17:12:27 +0100 (CET)
Received: from [10.10.1.138] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1643127130253802.1977210405523;
 Tue, 25 Jan 2022 08:12:10 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 96023266-7df9-11ec-8fa7-f31e035a9116
ARC-Seal: i=1; a=rsa-sha256; t=1643127131; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=YeGQyUQqDwo2SyhAUsIQvWOAYbhRNxhRKU8jbwUosZunKEY6umkI5Jcs0ykSq0XxA0wgQEbv1kXjfffLGm1duTHR1idnIHWY3/5hdDyJZOu++CDM/1hFgfPunkfAFn/3bRzqLksNI0A/QruJUTMJZsmWJBc1zfV+rs9gUJkH7Rg=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1643127131; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=a+oPP2M7d6P3zr6pbFs2njrmeT1J0gwDJU7cTXHyolY=; 
	b=AaDkWlTShoIXqOCCQ5evmyYzB1DnWOfZkunmccS2oMQB+sS8vjxEiTBo9TB66Y4GZY/E3uVuSR3cSqnLPK5sslUnTxYMEYZeApsxbeGv6b9K9XBMyKBYfNYaDtIBgLhRNiHjrIabKlXyKbvJWLH3+vI/7tXnYvrki/qVBCRwe6Q=
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=1643127131;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:In-Reply-To:Content-Type:Content-Transfer-Encoding;
	bh=a+oPP2M7d6P3zr6pbFs2njrmeT1J0gwDJU7cTXHyolY=;
	b=WuKPYwXloA1NQguNNMViP50ZGhvo5II9qxszXqj+mJIGRDkyuzq2QPNysKoSSboP
	5llXP3PcF6kUzDLR/onNhHQLCCv2gDkngvX6YdZYvqazI4ZhZiOuGIAV7V0QrP75npz
	Qf7tNBwPiAGGuRb0siYzrcODa+CpmJlJUEgXABXg=
Message-ID: <2eddfe83-38fc-6309-25b3-ea943ddfe274@apertussolutions.com>
Date: Tue, 25 Jan 2022 11:10:31 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [XEN PATCH v9 26/30] build: replace $(BASEDIR) and use $(srctree)
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Daniel De Graaf <dgdegra@tycho.nsa.gov>
References: <20220125110103.3527686-1-anthony.perard@citrix.com>
 <20220125110103.3527686-27-anthony.perard@citrix.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <20220125110103.3527686-27-anthony.perard@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 1/25/22 06:00, Anthony PERARD wrote:
> $(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).
> 
> This adds $(srctree) to a few path where make's VPATH=$(srctree) won't
> apply. And replace $(BASEDIR) by $(srctree).
> 
> Introduce "$(srcdir)" as a shortcut for "$(srctree)/$(src)" as the
> later is used often enough.
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>
> ---
> 
> Notes:
>     v9:
>     - acked
>     - reword "# shortcut for $(srctree)/$(src)" into "# shortcuts" in both
>       places.
>     
>     v8:
>     - merge of two patchs from v7:
>         build: add $(srctree) in few key places
>         build: replace $(BASEDIR) by $(srctree)
>       both patch were acked
>     - introduce $(srcdir) as a shortcut for $(srctree)/$(src)
> 
>  xen/Kconfig                 |  4 ++--
>  xen/Makefile                |  7 +++----
>  xen/Rules.mk                |  9 ++++++---
>  xen/arch/x86/arch.mk        |  2 +-
>  xen/build.mk                |  4 ++--
>  xen/common/Makefile         |  2 +-
>  xen/common/libfdt/Makefile  |  2 +-
>  xen/include/Makefile        | 14 +++++++-------
>  xen/scripts/Kconfig.include |  2 +-
>  xen/scripts/Makefile.clean  |  5 ++++-
>  xen/xsm/flask/Makefile      | 10 +++++-----
>  11 files changed, 33 insertions(+), 28 deletions(-)

<snip/>

> diff --git a/xen/xsm/flask/Makefile b/xen/xsm/flask/Makefile
> index 4ac6fb8778ae..a99038cb5722 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 $(srcdir)/policy/,security_classes initial_sids)
> +AV_H_DEPEND := $(srcdir)/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 := $(srcdir)/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 := $(srcdir)/policy/mkaccess_vector.sh
>  quiet_cmd_mkaccess = MKACCESS VECTOR $@
>  cmd_mkaccess = $(SHELL) $(mkaccess) $(AWK) $(obj)/include $(AV_H_DEPEND)
>  
> @@ -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
>  

Reviewed-by: Daniel P. Smith <dpsmith@apertussolutions.com>

V/r,
Daniel P. Smith
Apertus Solutions, LLC


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 16:13:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 16:13:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260508.450121 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCORI-00047W-3L; Tue, 25 Jan 2022 16:13:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260508.450121; Tue, 25 Jan 2022 16:13:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCORH-00047P-VP; Tue, 25 Jan 2022 16:12:59 +0000
Received: by outflank-mailman (input) for mailman id 260508;
 Tue, 25 Jan 2022 16:12:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=oOP7=SJ=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1nCORH-0003vA-1n
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 16:12:59 +0000
Received: from sender4-of-o51.zoho.com (sender4-of-o51.zoho.com
 [136.143.188.51]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a86640dc-7df9-11ec-bc18-3156f6d857e4;
 Tue, 25 Jan 2022 17:12:58 +0100 (CET)
Received: from [10.10.1.138] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1643127172405858.2065986568729;
 Tue, 25 Jan 2022 08:12:52 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a86640dc-7df9-11ec-bc18-3156f6d857e4
ARC-Seal: i=1; a=rsa-sha256; t=1643127173; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=X6xTd/niuIN1JcKseQPILFiisriTJNTl/TYZpUe3AZsHWlt9oCw6SsBpTuXfpzF4U6kju8y2pokIlAT9AJKPsbBqQh+rtkz+BmbGQNEKnQboO3T7rEolBbz7ZXb6lSDCAONIL8qpJAcXKgWwGOQYiwHBr68kyvxUqMQ3Ug6I54k=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1643127173; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=pPZRNV0m7y7c3a034eSHWgGJxOgL+6s6flA0w3TLrLc=; 
	b=fL6v7Cqcgc0ApcZxfxn1OnBy7wKTrbaedMoaoE7uZSpSKE89nh59ofWoAiE5aBlJmjk0PBv+g6h9gBLPEZxw3I3aLGP/70NKeys5o/r3ptITmsckxvqB1QotDeNXw+nyXjaKuQRAJZ4dOp92c8F5r8ItF5RPEBadi4TY6g2iuUM=
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=1643127173;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:In-Reply-To:Content-Type:Content-Transfer-Encoding;
	bh=pPZRNV0m7y7c3a034eSHWgGJxOgL+6s6flA0w3TLrLc=;
	b=NKKo47JvTBFSjwwR0dtv4uIfSDC7hvxgXtvhP1Q84n1mo7SBUhnekEA3rJModHjr
	mKB0gFmCwT+eFRw+hjSX8pBD+b/uMg77AVdpuATZBOsHGz4qxWSngoHK2HYOeeLH/2G
	BtStNoGL5f7zxVYVuC+zqFa42B7JfGtz/g6A3aTs=
Message-ID: <bcf36a84-4ef8-76f3-be16-a54715c099e3@apertussolutions.com>
Date: Tue, 25 Jan 2022 11:11:12 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [XEN PATCH v9 30/30] build: adding out-of-tree support to the xen
 build
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, =?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>,
 Daniel De Graaf <dgdegra@tycho.nsa.gov>
References: <20220125110103.3527686-1-anthony.perard@citrix.com>
 <20220125110103.3527686-31-anthony.perard@citrix.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <20220125110103.3527686-31-anthony.perard@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 1/25/22 06:01, Anthony PERARD wrote:
> 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>
> Acked-by: Jan Beulich <jbeulich@suse.com>
> ---
> 
> Notes:
>     v9:
>     - acked
>     - add "source -> ." symlink in the in-tree build as well. This allow to
>       make relative symlink to the "common/efi/*.c" sources.
>     - also now, the "source" symlink is removed on `distclean`, add added to
>       .gitignore.
>     
>     v8:
>     - replace script/mkmakefile by cmd_makefile like it's been done in Linux
>       5.13.
>     - fix GNU Make version, replace few 0.81 by 3.81.
>     - reorder include header path in CFLAGS ( -I ), to have the $(objtree)
>       paths listed before the $(srctree) paths. This will be usefull later
>       if we allow to build out-of-tree from a dirty source tree.
>     - make use of -iquote
>     - sometime, add -iquote path even when not necessary when building in-tree.
>     - extract code movement into a separate patch
>     - make use of the new "$(srcdir)" shortcut
>     - split command line in headers*.chk target into more lines
> 
>  .gitignore                   |   1 +
>  xen/Makefile                 | 143 +++++++++++++++++++++++++++++++----
>  xen/Rules.mk                 |  11 ++-
>  xen/arch/x86/arch.mk         |   5 +-
>  xen/arch/x86/boot/Makefile   |   6 ++
>  xen/common/efi/efi-common.mk |   3 +-
>  xen/include/Makefile         |  11 ++-
>  xen/test/livepatch/Makefile  |   2 +
>  xen/xsm/flask/Makefile       |   3 +-
>  xen/xsm/flask/ss/Makefile    |   1 +
>  10 files changed, 164 insertions(+), 22 deletions(-)
> 

<snip/>

> diff --git a/xen/xsm/flask/Makefile b/xen/xsm/flask/Makefile
> index a99038cb5722..d25312f4fa1c 100644
> --- a/xen/xsm/flask/Makefile
> +++ b/xen/xsm/flask/Makefile
> @@ -4,7 +4,8 @@ obj-y += flask_op.o
>  
>  obj-y += ss/
>  
> -CFLAGS-y += -I$(obj)/include
> +CFLAGS-y += -iquote $(obj)/include
> +CFLAGS-y += -I$(srcdir)/include
>  
>  AWK = awk
>  
> diff --git a/xen/xsm/flask/ss/Makefile b/xen/xsm/flask/ss/Makefile
> index aba1339f3808..ffe92ec19ed6 100644
> --- a/xen/xsm/flask/ss/Makefile
> +++ b/xen/xsm/flask/ss/Makefile
> @@ -8,4 +8,5 @@ obj-y += services.o
>  obj-y += conditional.o
>  obj-y += mls.o
>  
> +CFLAGS-y += -iquote $(objtree)/xsm/flask/include
>  CFLAGS-y += -I$(srctree)/xsm/flask/include

Reviewed-by: Daniel P. Smith <dpsmith@apertussolutions.com>

V/r,
Daniel P. Smith
Apertus Solutions, LLC


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 17:02:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 17:02:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260511.450131 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCPDY-0001W4-Rd; Tue, 25 Jan 2022 17:02:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260511.450131; Tue, 25 Jan 2022 17:02:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCPDY-0001Vx-O9; Tue, 25 Jan 2022 17:02:52 +0000
Received: by outflank-mailman (input) for mailman id 260511;
 Tue, 25 Jan 2022 17:02:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BuoU=SJ=arm.com=andre.przywara@srs-se1.protection.inumbo.net>)
 id 1nCPDX-0001Vr-TC
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 17:02:51 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id a0150201-7e00-11ec-8eb8-a37418f5ba1a;
 Tue, 25 Jan 2022 18:02:49 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id CF54E1FB;
 Tue, 25 Jan 2022 09:02:48 -0800 (PST)
Received: from donnerap.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com
 [10.121.207.14])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id A49183F766;
 Tue, 25 Jan 2022 09:02:47 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a0150201-7e00-11ec-8eb8-a37418f5ba1a
Date: Tue, 25 Jan 2022 17:02:45 +0000
From: Andre Przywara <andre.przywara@arm.com>
To: Julien Grall <julien@xen.org>
Cc: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>,
 xen-devel@lists.xenproject.org, sstabellini@kernel.org,
 stefanos@xilinx.com, Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com,
 jbeulich@suse.com, wei.chen@arm.com
Subject: Re: [XEN v3] xen/arm64: io: Decode ldr/str post-indexing
 instructions
Message-ID: <20220125170245.3262e0a4@donnerap.cambridge.arm.com>
In-Reply-To: <9609102e-8d58-8378-29b8-4e1190eb1e3c@xen.org>
References: <20220120215527.28138-1-ayankuma@xilinx.com>
 <20220122013046.6a786d3f@slackpad.fritz.box>
 <18e715ae-111d-58e6-55f9-a48a521e99b3@xilinx.com>
 <20220124143601.3e2ac6ac@donnerap.cambridge.arm.com>
 <9609102e-8d58-8378-29b8-4e1190eb1e3c@xen.org>
Organization: ARM
X-Mailer: Claws Mail 3.17.5 (GTK+ 2.24.32; aarch64-unknown-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

On Mon, 24 Jan 2022 17:58:55 +0000
Julien Grall <julien@xen.org> wrote:

Hi Julien,

> Hi Andre,
> 
> On 24/01/2022 14:36, Andre Przywara wrote:
> > On Mon, 24 Jan 2022 12:07:42 +0000  
> >> Also, if an instruction is being modified by the guest (after it has
> >> been loaded in the I cache), and if the guest does not invalidate the I
> >> cache + ISB, then this is a malicious behavior by the guest. Is my
> >> understanding correct ?  
> > 
> > I wouldn't say malicious per se, there might be legitimate reasons to do
> > so, but in the Xen context this is mostly irrelevant, since we don't trust
> > the guest anyway. So whether it's malicious or accidental, the hypervisor
> > might be mislead.  
> 
> I agree the hypervisor will be mislead to execute the wrong instruction. 
> But, in reality, I don't see how this is a massive problem as this 
> thread seems to imply. At best the guest will shoot itself in the foot.

I didn't really imply anything, I genuinely meant that I don't want to
spend brain cells thinking about possible exploits - I always figured you
(and Xen people in general) are so much better in this. (genuine
compliment!)
I was just pointing out that this emulation might be wrong then.
That ties back to the original question of how many bitter pills you want
to swallow for having this emulation code - which is your decision to make.

Cheers,
Andre

> IOW, for now, I think it is fine to assume that the guest will have 
> invalidated the cache instruction before executing any instruction that 
> may fault with ISV=0. This could be revisted if we have use-cases where 
> we really need to know what the guest executed.
> 
> Cheers,
> 



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 18:03:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 18:03:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260514.450142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCQ9Y-0008Js-60; Tue, 25 Jan 2022 18:02:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260514.450142; Tue, 25 Jan 2022 18:02:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCQ9Y-0008Jl-33; Tue, 25 Jan 2022 18:02:48 +0000
Received: by outflank-mailman (input) for mailman id 260514;
 Tue, 25 Jan 2022 18:02: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 1nCQ9X-0008Jf-7E
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 18:02: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 1nCQ9W-0003cv-K8; Tue, 25 Jan 2022 18:02:46 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.30.43]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nCQ9W-00077Y-DR; Tue, 25 Jan 2022 18:02:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=Cxnmn6BPKpuxzhshFWiZ390/5z/mBp0QNP6RALEWyhU=; b=rtgl5g4GWLusQONZnhtrWMHoPG
	cAHM3lWBzDPmG542aVJwlR1Zf0V3Skhb0Zew3uMJ55TS78IIES958ek/oss2LsopavCpy+OS90jgf
	RjmO3iO4RuhvPYOB2mZ/FXcceJMw97xP8dBasr6h8RrpV86H7g92GztT/DNcKg6Isze0=;
Message-ID: <cab13e7b-295a-c3e8-428a-4176c9f6de28@xen.org>
Date: Tue, 25 Jan 2022 18:02:44 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [XEN PATCH v2 2/5] xen: export get_free_port
To: Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, jgross@suse.com,
 Bertrand.Marquis@arm.com, Volodymyr_Babchuk@epam.com,
 Stefano Stabellini <stefano.stabellini@xilinx.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop>
 <20220113005855.1180101-2-sstabellini@kernel.org>
 <f3b2ae98-c7af-d8c0-b0a4-52e622517c34@xen.org>
 <alpine.DEB.2.22.394.2201241652330.27308@ubuntu-linux-20-04-desktop>
 <14af544d-0d20-9b58-4d70-5f5086ece032@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <14af544d-0d20-9b58-4d70-5f5086ece032@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 25/01/2022 08:22, Jan Beulich wrote:
> On 25.01.2022 02:10, Stefano Stabellini wrote:
>> On Sun, 23 Jan 2022, Julien Grall wrote:
>>>> diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
>>>> index da88ad141a..5b0bcaaad4 100644
>>>> --- a/xen/common/event_channel.c
>>>> +++ b/xen/common/event_channel.c
>>>> @@ -232,7 +232,7 @@ int evtchn_allocate_port(struct domain *d, evtchn_port_t
>>>> port)
>>>>        return 0;
>>>>    }
>>>>    -static int get_free_port(struct domain *d)
>>>> +int get_free_port(struct domain *d)
>>>
>>> I dislike the idea to expose get_free_port() (or whichever name we decide)
>>> because this can be easily misused.
>>>
>>> In fact looking at your next patch (#3), you are misusing it as it is meant to
>>> be called with d->event_lock. I know this doesn't much matter
>>> in your situation because this is done at boot with no other domains running
>>> (or potentially any event channel allocation). However, I still think we
>>> should get the API right.
>>>
>>> I am also not entirely happy of open-coding the allocation in domain_build.c.
>>> Instead, I would prefer if we provide a new helper to allocate an unbound
>>> event channel. This would be similar to your v1 (I still need to review the
>>> patch though).
>>
>> I am happy to go back to v1 and address feedback on that patch. However,
>> I am having difficulties with the implementation. Jan pointed out:
>>
>>
>>>> -
>>>> -    chn->state = ECS_UNBOUND;
>>>
>>> This cannot be pulled ahead of the XSM check (or in general anything
>>> potentially resulting in an error), as check_free_port() relies on
>>> ->state remaining ECS_FREE until it is known that the calling function
>>> can't fail anymore.
>>
>> This makes it difficult to reuse _evtchn_alloc_unbound for the
>> implementation of evtchn_alloc_unbound. In fact, I couldn't find a way
>> to do it.
>>
>> Instead, I just create a new public function called
>> "evtchn_alloc_unbound" and renamed the existing funtion to
>> "_evtchn_alloc_unbound" (this to addresses Jan's feedback that the
>> static function should be the one starting with "_"). So the function
>> names are inverted compared to v1.
>>
>> Please let me know if you have any better suggestions.
>>
>>
>> diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
>> index da88ad141a..c6b7dd7fbd 100644
>> --- a/xen/common/event_channel.c
>> +++ b/xen/common/event_channel.c
>> @@ -18,6 +18,7 @@
>>   
>>   #include <xen/init.h>
>>   #include <xen/lib.h>
>> +#include <xen/err.h>
>>   #include <xen/errno.h>
>>   #include <xen/sched.h>
>>   #include <xen/irq.h>
>> @@ -284,7 +285,27 @@ void evtchn_free(struct domain *d, struct evtchn *chn)
>>       xsm_evtchn_close_post(chn);
>>   }
>>   
>> -static int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
>> +struct evtchn *evtchn_alloc_unbound(struct domain *d, domid_t remote_dom)
>> +{
>> +    struct evtchn *chn;
>> +    int port;
>> +
>> +    if ( (port = get_free_port(d)) < 0 )
>> +        return ERR_PTR(port);
>> +    chn = evtchn_from_port(d, port);
>> +
>> +    evtchn_write_lock(chn);
>> +
>> +    chn->state = ECS_UNBOUND;
>> +    chn->u.unbound.remote_domid = remote_dom;
>> +    evtchn_port_init(d, chn);
>> +
>> +    evtchn_write_unlock(chn);
>> +
>> +    return chn;
>> +}
>> +
>> +static int _evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
>>   {
>>       struct evtchn *chn;
>>       struct domain *d;
> 
> Instead of introducing a clone of this function (with, btw, still
> insufficient locking), did you consider simply using the existing
> evtchn_alloc_unbound() as-is, i.e. with the caller passing
> evtchn_alloc_unbound_t *?

This is feasible with some tweaking. Which reminds me that I have a 
similar patch to what you describe:

https://xenbits.xen.org/gitweb/?p=people/julieng/xen-unstable.git;a=commit;h=560d656a9a792450530eeefd0d06cfd54dcd7685

This is doing more than what we need here as it takes care about 
restoring a port (for Live-Update).

Note that They are forward port from 4.11 to unstable and untested on 
the latter.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 18:10:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 18:10:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260518.450154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCQH4-0001WL-3k; Tue, 25 Jan 2022 18:10:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260518.450154; Tue, 25 Jan 2022 18:10: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 1nCQH3-0001WE-Vn; Tue, 25 Jan 2022 18:10:33 +0000
Received: by outflank-mailman (input) for mailman id 260518;
 Tue, 25 Jan 2022 18:10: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 1nCQH2-0001W8-6N
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 18:10: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 1nCQH1-0003k5-FF; Tue, 25 Jan 2022 18:10:31 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.30.43]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nCQH1-0007hw-83; Tue, 25 Jan 2022 18:10:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=rGSiZPiKUmFc1SdH3MLipMVQEjaTsvvKzi5IvZqY+Dw=; b=vGnjZ3FHapxTlZY2WReMVMtxlz
	PSEQxZUGW+CPNztTGEO66A7eaCbdDqzKY8HDmxmpHtl5AoEVULZaPxh55cCPq/bx8AlGeGPh4aPUY
	Z2aFBo1fmFlqoQpEtFOFxv49H42stVEZH6dOWFD0Sn1OZFTrAdZsM8tzt+EIpPyCOdBU=;
Message-ID: <3611e815-b510-1847-9c13-eb61ec96e4b7@xen.org>
Date: Tue, 25 Jan 2022 18:10:28 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [PATCH] libxl: force netback to wait for hotplug execution before
 connecting
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>,
 James Dingwall <james-xen@dingwall.me.uk>, Wei Liu <wei.liu@kernel.org>,
 Paul Durrant <paul@xen.org>
References: <20220124160248.37861-1-roger.pau@citrix.com>
 <8644d37a-49aa-8d9f-03ea-955d97a1cc28@xen.org>
 <YfAgsat9NY+I0WAA@Air-de-Roger>
From: Julien Grall <julien@xen.org>
In-Reply-To: <YfAgsat9NY+I0WAA@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Roger,

On 25/01/2022 16:09, Roger Pau Monné wrote:
> On Tue, Jan 25, 2022 at 03:32:16PM +0000, Julien Grall wrote:
>> Hi,
>>
>> On 24/01/2022 16:02, Roger Pau Monne wrote:
>>> By writing an empty "hotplug-status" xenstore node in the backend path
>>> libxl can force Linux netback to wait for hotplug script execution
>>> before proceeding to the 'connected' state.
>>
>> I was actually chasing the same issue today :).
>>
>>>
>>> This is required so that netback doesn't skip state 2 (InitWait) and
>>
>> Technically netback never skip state 2 (otherwise it would always be
>> reproducible). Instead, libxl may not be able to observe state 2 because
>> receive a watch is asynchronous and doesn't contain the value of the node.
>> So the backend may have moved to Connected before the state is read.
> 
> Right, might be more accurate to say it skips waiting for hotplug
> script execution, and thus jumps from state 2 into 4.

I would add the jump happens when the frontend decides to connect.

> Note I think
> it's also possible that by the time we setup the watch in libxl the
> state has already been set to 4.

Correct.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 18:12:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 18:12:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260521.450165 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCQIp-00027t-EV; Tue, 25 Jan 2022 18:12:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260521.450165; Tue, 25 Jan 2022 18: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 1nCQIp-00027m-BE; Tue, 25 Jan 2022 18:12:23 +0000
Received: by outflank-mailman (input) for mailman id 260521;
 Tue, 25 Jan 2022 18:12: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 1nCQIo-00027c-6W; Tue, 25 Jan 2022 18:12: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 1nCQIo-0003nJ-3N; Tue, 25 Jan 2022 18:12: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 1nCQIn-0007DD-KW; Tue, 25 Jan 2022 18:12:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nCQIn-0003SM-D6; Tue, 25 Jan 2022 18:12:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=/4OXq89VY7zuiq+Qsok0m91IpR3ZeGSFzKliz/9+ntQ=; b=KgoZQ1NX5RyhHVDmhYkUPOvwbM
	kDcjCFOEmf3PhUqJWAypvOAV9C1F94ucscvJVf9JIP4LAlDlZ+5hQg1j/mrPtiBbqoMLUnvjdhmT8
	lQdNgTisxfTFTouBQL2zH2QO0ilWyH/5n2+r2MvWVM4r3c7BZlzyfPpjFiN2rYsIMpIA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167812-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.14-testing test] 167812: regressions - FAIL
X-Osstest-Failures:
    xen-4.14-testing:build-amd64:xen-build:fail:regression
    xen-4.14-testing:build-amd64-xsm:xen-build:fail:regression
    xen-4.14-testing:test-amd64-i386-qemuu-rhel6hvm-amd:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-qemuu-rhel6hvm-intel:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-pvshim:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-shadow:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:build-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-livepatch:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-migrupgrade:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-coresched-i386-xl:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-freebsd10-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-freebsd10-i386:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-livepatch:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-migrupgrade:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-pair:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-qemut-rhel6hvm-amd:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-qemut-rhel6hvm-intel:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-xtf-amd64-amd64-1:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-xtf-amd64-amd64-2:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-xtf-amd64-amd64-3:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-xtf-amd64-amd64-4:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-xtf-amd64-amd64-5:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-raw: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-credit2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-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: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-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-multivcpu: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-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-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-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-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-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-qcow2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-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:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=50935b88b4cd7f9cefe9eb2ffc5150d06c501d05
X-Osstest-Versions-That:
    xen=45299b3cc83d3d19c24d74f7e28dcc83e8fa0c2e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 25 Jan 2022 18:12:21 +0000

flight 167812 xen-4.14-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167812/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   6 xen-build                fail REGR. vs. 167629
 build-amd64-xsm               6 xen-build                fail REGR. vs. 167629

Tests which did not succeed, but are not blocking:
 test-amd64-i386-qemuu-rhel6hvm-amd  1 build-check(1)               blocked n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 build-check(1)             blocked n/a
 test-amd64-i386-xl            1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-pvshim     1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemut-debianhvm-amd64  1 build-check(1)         blocked n/a
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm  1 build-check(1)      blocked n/a
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-xl-qemut-win7-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemut-ws16-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-amd64  1 build-check(1)         blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1)  blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm  1 build-check(1)      blocked n/a
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked n/a
 test-amd64-i386-xl-qemuu-ws16-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-shadow     1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-vhd        1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-xsm        1 build-check(1)               blocked  n/a
 test-amd64-coresched-amd64-xl  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-xsm       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-shadow    1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-rtds      1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-ws16-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  1 build-check(1)     blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)        blocked n/a
 test-amd64-amd64-xl-qemut-ws16-amd64  1 build-check(1)             blocked n/a
 build-amd64-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  1 build-check(1)     blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-amd64  1 build-check(1)        blocked n/a
 test-amd64-amd64-xl-qcow2     1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvshim    1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit2   1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit1   1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-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-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-livepatch    1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-intel  1 build-check(1)              blocked n/a
 test-amd64-amd64-migrupgrade  1 build-check(1)               blocked  n/a
 test-amd64-amd64-pair         1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-pygrub       1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-freebsd11-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-qemuu-freebsd12-amd64  1 build-check(1)           blocked n/a
 test-amd64-i386-xl-qemuu-win7-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemuu-ovmf-amd64  1 build-check(1)              blocked n/a
 test-amd64-coresched-i386-xl  1 build-check(1)               blocked  n/a
 test-amd64-i386-freebsd10-amd64  1 build-check(1)               blocked  n/a
 test-amd64-i386-freebsd10-i386  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-livepatch     1 build-check(1)               blocked  n/a
 test-amd64-i386-migrupgrade   1 build-check(1)               blocked  n/a
 test-amd64-i386-pair          1 build-check(1)               blocked  n/a
 test-amd64-i386-qemut-rhel6hvm-amd  1 build-check(1)               blocked n/a
 test-amd64-i386-qemut-rhel6hvm-intel  1 build-check(1)             blocked n/a
 test-xtf-amd64-amd64-1        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-2        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-3        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-4        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-5        1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167629
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167629
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167629
 test-arm64-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-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          15 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          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-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-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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:
 xen                  50935b88b4cd7f9cefe9eb2ffc5150d06c501d05
baseline version:
 xen                  45299b3cc83d3d19c24d74f7e28dcc83e8fa0c2e

Last test of basis   167629  2022-01-07 08:11:06 Z   18 days
Testing same since   167812  2022-01-25 13:06:26 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>

jobs:
 build-amd64-xsm                                              fail    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  fail    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          blocked 
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       blocked 
 test-xtf-amd64-amd64-2                                       blocked 
 test-xtf-amd64-amd64-3                                       blocked 
 test-xtf-amd64-amd64-4                                       blocked 
 test-xtf-amd64-amd64-5                                       blocked 
 test-amd64-amd64-xl                                          blocked 
 test-amd64-coresched-amd64-xl                                blocked 
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           blocked 
 test-amd64-coresched-i386-xl                                 blocked 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        blocked 
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         blocked 
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 blocked 
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 blocked 
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      blocked 
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       blocked 
 test-amd64-amd64-qemuu-nested-amd                            blocked 
 test-amd64-amd64-xl-pvhv2-amd                                blocked 
 test-amd64-i386-qemut-rhel6hvm-amd                           blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-dom0pvh-xl-amd                              blocked 
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    blocked 
 test-amd64-i386-xl-qemut-debianhvm-amd64                     blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    blocked 
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     blocked 
 test-amd64-i386-freebsd10-amd64                              blocked 
 test-amd64-amd64-qemuu-freebsd11-amd64                       blocked 
 test-amd64-amd64-qemuu-freebsd12-amd64                       blocked 
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         blocked 
 test-amd64-i386-xl-qemuu-ovmf-amd64                          blocked 
 test-amd64-amd64-xl-qemut-win7-amd64                         blocked 
 test-amd64-i386-xl-qemut-win7-amd64                          blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-i386-xl-qemuu-win7-amd64                          blocked 
 test-amd64-amd64-xl-qemut-ws16-amd64                         blocked 
 test-amd64-i386-xl-qemut-ws16-amd64                          blocked 
 test-amd64-amd64-xl-qemuu-ws16-amd64                         blocked 
 test-amd64-i386-xl-qemuu-ws16-amd64                          blocked 
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  blocked 
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  blocked 
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        blocked 
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         blocked 
 test-amd64-i386-freebsd10-i386                               blocked 
 test-amd64-amd64-qemuu-nested-intel                          blocked 
 test-amd64-amd64-xl-pvhv2-intel                              blocked 
 test-amd64-i386-qemut-rhel6hvm-intel                         blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-amd64-dom0pvh-xl-intel                            blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   blocked 
 test-amd64-i386-livepatch                                    blocked 
 test-amd64-amd64-migrupgrade                                 blocked 
 test-amd64-i386-migrupgrade                                  blocked 
 test-amd64-amd64-xl-multivcpu                                blocked 
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        blocked 
 test-amd64-i386-pair                                         blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   blocked 
 test-amd64-i386-xl-pvshim                                    blocked 
 test-amd64-amd64-pygrub                                      blocked 
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    blocked 
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     blocked 
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             blocked 
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              blocked 
 test-amd64-amd64-xl-shadow                                   blocked 
 test-amd64-i386-xl-shadow                                    blocked 
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       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 50935b88b4cd7f9cefe9eb2ffc5150d06c501d05
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Tue Jan 25 13:53:14 2022 +0100

    x86/spec-ctrl: Fix NMI race condition with VT-x MSR_SPEC_CTRL handling
    
    The logic was based on a mistaken understanding of how NMI blocking on vmexit
    works.  NMIs are only blocked for EXIT_REASON_NMI, and not for general exits.
    Therefore, an NMI can in general hit early in the vmx_asm_vmexit_handler path,
    and the guest's value will be clobbered before it is saved.
    
    Switch to using MSR load/save lists.  This causes the guest value to be saved
    atomically with respect to NMIs/MCEs/etc.
    
    First, update vmx_cpuid_policy_changed() to configure the load/save lists at
    the same time as configuring the intercepts.  This function is always used in
    remote context, so extend the vmx_vmcs_{enter,exit}() block to cover the whole
    function, rather than having multiple remote acquisitions of the same VMCS.
    
    Both of vmx_{add,del}_guest_msr() can fail.  The -ESRCH delete case is fine,
    but all others are fatal to the running of the VM, so handle them using
    domain_crash() - this path is only used during domain construction anyway.
    
    Second, update vmx_{get,set}_reg() to use the MSR load/save lists rather than
    vcpu_msrs, and update the vcpu_msrs comment to describe the new state
    location.
    
    Finally, adjust the entry/exit asm.
    
    Because the guest value is saved and loaded atomically, we do not need to
    manually load the guest value, nor do we need to enable SCF_use_shadow.  This
    lets us remove the use of DO_SPEC_CTRL_EXIT_TO_GUEST.  Additionally,
    SPEC_CTRL_ENTRY_FROM_PV gets removed too, because on an early entry failure,
    we're no longer in the guest MSR_SPEC_CTRL context needing to switch back to
    Xen's context.
    
    The only action remaining is to load Xen's MSR_SPEC_CTRL value on vmexit.  We
    could in principle use the host msr list, but is expected to complicated
    future work.  Delete DO_SPEC_CTRL_ENTRY_FROM_HVM entirely, and use a shorter
    code sequence to simply reload Xen's setting from the top-of-stack block.
    
    Adjust the comment at the top of spec_ctrl_asm.h in light of this bugfix.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 81f0eaadf84d273a6ff8df3660b874a02d0e7677
    master date: 2022-01-20 16:32:11 +0000

commit dbfc6ba03ae091b4d42893dc7133b8c587204d2e
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Tue Jan 25 13:52:56 2022 +0100

    x86/spec-ctrl: Drop SPEC_CTRL_{ENTRY_FROM,EXIT_TO}_HVM
    
    These were written before Spectre/Meltdown went public, and there was large
    uncertainty in how the protections would evolve.  As it turns out, they're
    very specific to Intel hardware, and not very suitable for AMD.
    
    Drop the macros, opencoding the relevant subset of functionality, and leaving
    grep-fodder to locate the logic.  No change at all for VT-x.
    
    For AMD, the only relevant piece of functionality is DO_OVERWRITE_RSB,
    although we will soon be adding (different) logic to handle MSR_SPEC_CTRL.
    
    This has a marginal improvement of removing an unconditional pile of long-nops
    from the vmentry/exit path.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 95b13fa43e0753b7514bef13abe28253e8614f62
    master date: 2022-01-20 16:32:11 +0000

commit 4e25a788d000e57c4d04fdd33c209d7173420580
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Tue Jan 25 13:52:30 2022 +0100

    x86/msr: Split MSR_SPEC_CTRL handling
    
    In order to fix a VT-x bug, and support MSR_SPEC_CTRL on AMD, move
    MSR_SPEC_CTRL handling into the new {pv,hvm}_{get,set}_reg() infrastructure.
    
    Duplicate the msrs->spec_ctrl.raw accesses in the PV and VT-x paths for now.
    The SVM path is currently unreachable because of the CPUID policy.
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 6536688439dbca1d08fd6db5be29c39e3917fb2f
    master date: 2022-01-20 16:32:11 +0000

commit c45c2c2e09295ef3008a79d78673af0819ff4e4f
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Tue Jan 25 13:52:07 2022 +0100

    x86/guest: Introduce {get,set}_reg() infrastructure
    
    Various registers have per-guest-type or per-vendor locations or access
    requirements.  To support their use from common code, provide accessors which
    allow for per-guest-type behaviour.
    
    For now, just infrastructure handling default cases and expectations.
    Subsequent patches will start handling registers using this infrastructure.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 88d3ff7ab15da277a85b39735797293fb541c718
    master date: 2022-01-20 16:32:11 +0000

commit 0f88870898ae82aa9e7d0e6d1391e598a4aa7af7
Author: Jan Beulich <jbeulich@suse.com>
Date:   Tue Jan 25 13:51:49 2022 +0100

    x86/time: improve TSC / CPU freq calibration accuracy
    
    While the problem report was for extreme errors, even smaller ones would
    better be avoided: The calculated period to run calibration loops over
    can (and usually will) be shorter than the actual time elapsed between
    first and last platform timer and TSC reads. Adjust values returned from
    the init functions accordingly.
    
    On a Skylake system I've tested this on accuracy (using HPET) went from
    detecting in some cases more than 220kHz too high a value to about
    ±2kHz. On other systems (or on this system, but with PMTMR) the original
    error range was much smaller, with less (in some cases only very little)
    improvement.
    
    Reported-by: James Dingwall <james-xen@dingwall.me.uk>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: a5c9a80af34eefcd6e31d0ed2b083f452cd9076d
    master date: 2022-01-13 14:31:52 +0100

commit 6b776749ff7e45c30696235dbb4ecd2b53401cff
Author: Jan Beulich <jbeulich@suse.com>
Date:   Tue Jan 25 13:51:36 2022 +0100

    x86/time: use relative counts in calibration loops
    
    Looping until reaching/exceeding a certain value is error prone: If the
    target value is close enough to the wrapping point, the loop may not
    terminate at all. Switch to using delta values, which then allows to
    fold the two loops each into just one.
    
    Fixes: 93340297802b ("x86/time: calibrate TSC against platform timer")
    Reported-by: Roger Pau Monné <roger.pau@citrix.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 467191641d2a2fd2e43b3ae7b80399f89d339980
    master date: 2022-01-13 14:30:18 +0100

commit 5af939d96a6c7c5a0b4e00f7be3002333959e7e3
Author: Julien Grall <jgrall@amazon.com>
Date:   Tue Jan 25 13:49:40 2022 +0100

    passthrough/x86: stop pirq iteration immediately in case of error
    
    pt_pirq_iterate() will iterate in batch over all the PIRQs. The outer
    loop will bail out if 'rc' is non-zero but the inner loop will continue.
    
    This means 'rc' will get clobbered and we may miss any errors (such as
    -ERESTART in the case of the callback pci_clean_dpci_irq()).
    
    This is CVE-2022-23035 / XSA-395.
    
    Fixes: c24536b636f2 ("replace d->nr_pirqs sized arrays with radix tree")
    Fixes: f6dd295381f4 ("dpci: replace tasklet with softirq")
    Signed-off-by: Julien Grall <jgrall@amazon.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 9480a1a519cf016623f657dc544cb372a82b5708
    master date: 2022-01-25 13:27:02 +0100

commit dbd85c0a8264aa2cd9b011a189ac8b1d90297d80
Author: Julien Grall <jgrall@amazon.com>
Date:   Tue Jan 25 13:49:26 2022 +0100

    xen/grant-table: Only decrement the refcounter when grant is fully unmapped
    
    The grant unmapping hypercall (GNTTABOP_unmap_grant_ref) is not a
    simple revert of the changes done by the grant mapping hypercall
    (GNTTABOP_map_grant_ref).
    
    Instead, it is possible to partially (or even not) clear some flags.
    This will leave the grant is mapped until a future call where all
    the flags would be cleared.
    
    XSA-380 introduced a refcounting that is meant to only be dropped
    when the grant is fully unmapped. Unfortunately, unmap_common() will
    decrement the refcount for every successful call.
    
    A consequence is a domain would be able to underflow the refcount
    and trigger a BUG().
    
    Looking at the code, it is not clear to me why a domain would
    want to partially clear some flags in the grant-table. But as
    this is part of the ABI, it is better to not change the behavior
    for now.
    
    Fix it by checking if the maptrack handle has been released before
    decrementing the refcounting.
    
    This is CVE-2022-23034 / XSA-394.
    
    Fixes: 9781b51efde2 ("gnttab: replace mapkind()")
    Signed-off-by: Julien Grall <jgrall@amazon.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 975a8fb45ca186b3476e5656c6ad5dad1122dbfd
    master date: 2022-01-25 13:25:49 +0100

commit 861e27398c1da53e1c483c5dde12ad019ced6786
Author: Julien Grall <jgrall@amazon.com>
Date:   Tue Jan 25 13:49:06 2022 +0100

    xen/arm: p2m: Always clear the P2M entry when the mapping is removed
    
    Commit 2148a125b73b ("xen/arm: Track page accessed between batch of
    Set/Way operations") allowed an entry to be invalid from the CPU PoV
    (lpae_is_valid()) but valid for Xen (p2m_is_valid()). This is useful
    to track which page is accessed and only perform an action on them
    (e.g. clean & invalidate the cache after a set/way instruction).
    
    Unfortunately, __p2m_set_entry() is only zeroing the P2M entry when
    lpae_is_valid() returns true. This means the entry will not be zeroed
    if the entry was valid from Xen PoV but invalid from the CPU PoV for
    tracking purpose.
    
    As a consequence, this will allow a domain to continue to access the
    page after it was removed.
    
    Resolve the issue by always zeroing the entry if it the LPAE bit is
    set or the entry is about to be removed.
    
    This is CVE-2022-23033 / XSA-393.
    
    Reported-by: Dmytro Firsov <Dmytro_Firsov@epam.com>
    Fixes: 2148a125b73b ("xen/arm: Track page accessed between batch of Set/Way operations")
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Signed-off-by: Julien Grall <jgrall@amazon.com>
    master commit: a428b913a002eb2b7425b48029c20a52eeee1b5a
    master date: 2022-01-25 13:25:01 +0100
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 19:59:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 19:59:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260537.450200 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCRyL-000536-Oj; Tue, 25 Jan 2022 19:59:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260537.450200; Tue, 25 Jan 2022 19:59: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 1nCRyL-00052z-Kv; Tue, 25 Jan 2022 19:59:21 +0000
Received: by outflank-mailman (input) for mailman id 260537;
 Tue, 25 Jan 2022 19:59:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BISm=SJ=gmail.com=wei.liu.linux@srs-se1.protection.inumbo.net>)
 id 1nCRyK-00052t-9q
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 19:59:20 +0000
Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com
 [209.85.128.49]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 47810fb4-7e19-11ec-8eb8-a37418f5ba1a;
 Tue, 25 Jan 2022 20:59:18 +0100 (CET)
Received: by mail-wm1-f49.google.com with SMTP id
 r82-20020a1c4455000000b0034e043aaac7so1960355wma.5
 for <xen-devel@lists.xenproject.org>; Tue, 25 Jan 2022 11:59:18 -0800 (PST)
Received: from liuwe-devbox-debian-v2 ([51.145.34.42])
 by smtp.gmail.com with ESMTPSA id v3sm10122822wru.15.2022.01.25.11.59.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 25 Jan 2022 11:59:17 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 47810fb4-7e19-11ec-8eb8-a37418f5ba1a
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:date:from:to:cc:subject:message-id:references
         :mime-version:content-disposition:content-transfer-encoding
         :in-reply-to;
        bh=yw/RdWg67hPN+jsg223JzR9KLoHDhEwfDc5ApJlN6ow=;
        b=QZCHuvCCjNaZpnDRT9zLcwYvK8N2nLXWqM9ce6r7NhR6oMOLJ7ZIAk5Iq6HjH++P2G
         A76dQRVEoxz2ltaiVOFRDG/TR8acw0zOkYO0vPI0NJczruY+uQLV+kOdDmJG+gNyKyMZ
         dKfcsPLmCtLL2h9Pvad7g336et7nwfm5L8bVcOmn5lX4OSTuybPMkUsOgVm5grHY71AE
         IO7l4izxRn90tWcZUlnApUlNgpRGxKPDDLrmcA5gERwflGCPJcCX84hW1cUCDVIPKrzG
         ghhQVQbtvw492aD4D9mbBE/QO1w6JaIgW02qVuCrLov/98JLz+cw0SENMNtYoQ69dXdk
         Lbww==
X-Gm-Message-State: AOAM532djdu2yBPaW21HySL7JS8vpR+W8BT8YovjLbtBBAEYd96/d46M
	cxlvTpIHQmgf3IOJIOhgv0Y=
X-Google-Smtp-Source: ABdhPJwnqimcjjv6skwfOqCCN0Bma3tFxm4VBzZ5EGOZfxayXl/ksMkWwXdU7Nt+ZEYpsoZJrYMlLw==
X-Received: by 2002:a1c:6a14:: with SMTP id f20mr4219776wmc.123.1643140757761;
        Tue, 25 Jan 2022 11:59:17 -0800 (PST)
Date: Tue, 25 Jan 2022 19:59:15 +0000
From: Wei Liu <wei.liu@kernel.org>
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	James Dingwall <james-xen@dingwall.me.uk>,
	Wei Liu <wei.liu@kernel.org>, Paul Durrant <paul@xen.org>
Subject: Re: [PATCH] libxl: force netback to wait for hotplug execution
 before connecting
Message-ID: <20220125195915.5hmkgmo6fl7ogvyg@liuwe-devbox-debian-v2>
References: <20220124160248.37861-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20220124160248.37861-1-roger.pau@citrix.com>

On Mon, Jan 24, 2022 at 05:02:48PM +0100, Roger Pau Monne wrote:
> By writing an empty "hotplug-status" xenstore node in the backend path
> libxl can force Linux netback to wait for hotplug script execution
> before proceeding to the 'connected' state.
> 
> This is required so that netback doesn't skip state 2 (InitWait) and
> thus blocks libxl waiting for such state in order to launch the
> hotplug script (see libxl__wait_device_connection).
> 
> Reported-by: James Dingwall <james-xen@dingwall.me.uk>
> Signed-off-by: Roger Pau Monn <roger.pau@citrix.com>
> Tested-by: James Dingwall <james-xen@dingwall.me.uk>

Reviewed-by: Wei Liu <wei.liu@kernel.org>


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 20:49:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 20:49:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260546.450229 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCSkK-0002Bc-Lu; Tue, 25 Jan 2022 20:48:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260546.450229; Tue, 25 Jan 2022 20: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 1nCSkK-0002BV-Iz; Tue, 25 Jan 2022 20:48:56 +0000
Received: by outflank-mailman (input) for mailman id 260546;
 Tue, 25 Jan 2022 20:48:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nCSkJ-0002BL-VM; Tue, 25 Jan 2022 20:48: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 1nCSkJ-0006f6-Ru; Tue, 25 Jan 2022 20:48: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 1nCSkJ-0007RK-LP; Tue, 25 Jan 2022 20:48:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nCSkJ-0005Ec-Ky; Tue, 25 Jan 2022 20:48:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=muv1GAlzKpB9CTcVAlW4DTxLVMTMdeCoo5/faCki+Eg=; b=m52ZBgo+Yhn6BAHlrL/k+920je
	p5dqH4BH+YF1BllLE23vqRSWkD1SZzeEQ42NXynGQr9djBjb2514ysVKckWODs3s1t/l4bLW+kGYI
	VWmVg1QAhgTNZ1OE2Tmeaog9GXaYJEB6G2cqoj43rzMTODUDn0Yevi+vDwPqXT6VrOyk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167819-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 167819: 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=9480a1a519cf016623f657dc544cb372a82b5708
X-Osstest-Versions-That:
    xen=329b7bed80032fd52904af6a0cac7dd3716d27cf
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 25 Jan 2022 20:48:55 +0000

flight 167819 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167819/

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                  9480a1a519cf016623f657dc544cb372a82b5708
baseline version:
 xen                  329b7bed80032fd52904af6a0cac7dd3716d27cf

Last test of basis   167811  2022-01-25 11:02:54 Z    0 days
Testing same since   167819  2022-01-25 16:00:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  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
   329b7bed80..9480a1a519  9480a1a519cf016623f657dc544cb372a82b5708 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 21:18:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 21:18:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260557.450252 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCTCp-0005io-4r; Tue, 25 Jan 2022 21:18:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260557.450252; Tue, 25 Jan 2022 21:18:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCTCo-0005if-Vn; Tue, 25 Jan 2022 21:18:22 +0000
Received: by outflank-mailman (input) for mailman id 260557;
 Tue, 25 Jan 2022 21:18:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=B39K=SJ=xilinx.com=ayankuma@srs-se1.protection.inumbo.net>)
 id 1nCTCo-0005iW-23
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 21:18:22 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20602.outbound.protection.outlook.com
 [2a01:111:f400:7e89::602])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 50a8697c-7e24-11ec-8eb8-a37418f5ba1a;
 Tue, 25 Jan 2022 22:18:19 +0100 (CET)
Received: from SA0PR11CA0112.namprd11.prod.outlook.com (2603:10b6:806:d1::27)
 by CY4PR02MB2583.namprd02.prod.outlook.com (2603:10b6:903:71::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.7; Tue, 25 Jan
 2022 21:18:15 +0000
Received: from SN1NAM02FT0032.eop-nam02.prod.protection.outlook.com
 (2603:10b6:806:d1:cafe::d8) by SA0PR11CA0112.outlook.office365.com
 (2603:10b6:806:d1::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.8 via Frontend
 Transport; Tue, 25 Jan 2022 21:18:15 +0000
Received: from xir-pvapexch01.xlnx.xilinx.com (149.199.80.198) by
 SN1NAM02FT0032.mail.protection.outlook.com (10.97.5.58) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4930.15 via Frontend Transport; Tue, 25 Jan 2022 21:18:14 +0000
Received: from xir-pvapexch02.xlnx.xilinx.com (172.21.17.17) by
 xir-pvapexch01.xlnx.xilinx.com (172.21.17.15) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2176.14; Tue, 25 Jan 2022 21:18:13 +0000
Received: from smtp.xilinx.com (172.21.105.197) by
 xir-pvapexch02.xlnx.xilinx.com (172.21.17.17) with Microsoft SMTP Server id
 15.1.2176.14 via Frontend Transport; Tue, 25 Jan 2022 21:18:13 +0000
Received: from [10.108.8.223] (port=2814 helo=xcbayankuma41x.xilinx.com)
 by smtp.xilinx.com with esmtp (Exim 4.90)
 (envelope-from <ayan.kumar.halder@xilinx.com>)
 id 1nCTCe-0001wB-6x; Tue, 25 Jan 2022 21:18: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: 50a8697c-7e24-11ec-8eb8-a37418f5ba1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QtTXgxTKzVfDlcY/x+2ZPdYYHQouJpKk1kSzqGRdCZlhXICDvyuEUMopBnJWAlIotL3NdFdKaHNIuR750tCVtnGlcIfqE8RRZF5j84PRz/ExL1m4HYmxd3vHkfG6816waN8rYkZEdG0vHiMjG1j+2r33Kq+rwkzzAVucYTiabtpUd4IVEqP9A2idSSaEW8TXeeA3xmKS0aBA9g6u4vHLhbkRUSeuZjwVDqadxckRADaW2kduO0buVRqHPEhByci9uCSWtxgrFiN98it6Yb3yNcssYwVW0V8p4EACMesuj0TFYTxzExCJHIa7erSQDvfZcgiB87vI0ZJ1ey0oykLG6g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hlOtHTjTSKPaqF8xW3WDN2lUvu0FX8Ji+ST8iM9BdtE=;
 b=f4m9ap8859+M2rFm8gwBhlUcfJ3+CcBYLsi4DV92XoApIasly6RM5/75QDc+Jr5+4d4arvplNFF6CnKMdGRQvM56hwLP/V6t6LwjZJiSTNvB33ZdXP+TNXJsE2lEsLl8LZiFSui9oPWl24bq+NqoPZKVSZ90k0b8594pNcu+fN0An+vP3LgrYVXo1H1pJjhQNXwf4WJff1vXY5MYvXP59fLjsEV1srLQBIZLOdHVph+U8wP3hKaxtJwPEK1jMD1sXe2EaRCphrUBElQaQGx/kpdt8lEKsPTM4SrDeU1ky/Ag60fEzYgxjMWyem61JiuDpb8GgZlIYOpxulHmRW0ofw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 149.199.80.198) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=xilinx.com; dmarc=pass (p=none sp=none pct=100) action=none
 header.from=xilinx.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hlOtHTjTSKPaqF8xW3WDN2lUvu0FX8Ji+ST8iM9BdtE=;
 b=GhANOL4Cs5txgONueIQTSOSyBOnIKh4mcX3zPPz2Hspf/KwcvTFIsIXi1hOA+Mjw7pQIWNs3YzYs8/wrGdcIi52mgx2fZ6k5mwM9YBOC2NzrdbHMdGIyK7aslhhwnVKlEsEkd486vc0MlWIRnPMqsVaph4ASxP+d9CbD6KWGe34=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 149.199.80.198)
 smtp.mailfrom=xilinx.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=xilinx.com;
Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates
 149.199.80.198 as permitted sender) receiver=protection.outlook.com;
 client-ip=149.199.80.198; helo=xir-pvapexch01.xlnx.xilinx.com;
From: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefanos@xilinx.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>,
	<andre.przywara@arm.com>, <jbeulich@suse.com>, <wei.chen@arm.com>, "Ayan
 Kumar Halder" <ayankuma@xilinx.com>
Subject: [XEN v4] xen/arm64: io: Decode ldr/str post-indexing instructions
Date: Tue, 25 Jan 2022 21:18:08 +0000
Message-ID: <20220125211808.23810-1-ayankuma@xilinx.com>
X-Mailer: git-send-email 2.17.1
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 52cac653-2b89-441b-74a2-08d9e04832f2
X-MS-TrafficTypeDiagnostic: CY4PR02MB2583:EE_
X-Microsoft-Antispam-PRVS:
	<CY4PR02MB25838FB26D2FCA7C44886711B25F9@CY4PR02MB2583.namprd02.prod.outlook.com>
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
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:
	YT9mgZ9sdPTW/8yZ3r35a1v3d700xlk2wa88GLnjnBFI1UPy5l4DDkZcL+8yko5SPDyUTGrVOQ7PdE1hxQXTJjlDmzFKYdRQkFU06ImJmvBXEU4r9gPEkCN0a/7jLutaU0ZX/AWJN6nGbKnzpQjx5u1u+sqac+jqOqitEL6RMuXju8fODrphtzZIBy2ZVC3wM/Wu43gDT0icAr4RGPPthT15Awf+72tJrQjgcCz1DN8f7Of0BdleaS/UhkpKNIu10i4qSgKTlvFzuZw+llum/mY0undY/NU/Du9G01FsLvNCyHKOS45Qs01z2fGfJYmQINpXlorn+1i/AiHQX1qxftZUhUKob4Xyc+0GZIXeW9gsTqSwy/YNf/7VOgQbq4g+oeT49YtGAR7mM1tedPgR1YEZWwpKvn5aad240WdxUqgW4GQL9cfcwAnSgYmPItM7/QM+LHl+ClzLtuI84H2nf3ulC6CYF334ZJoMWR2uyHnC6RS4Gv9mnYzhBDHqsL+CtbCQeCpl4pAQMJIX+l+dGu4QlkZPj5N5qzgIvDDYJOkSsn5qMQVYmc0CCzzUz0ALDihRu/vacP3d4KzuHk1Xggec+gDb5h1Ou9ZkzfSJ15xZglyRdY8sOnat4cV0WyieuO9iQNxLwIm43w9dqc+UgbowK0bKIGEM5tPP6SmyhnAs6ijhO0dH4qzps1drofOqSjVXvph7rCD4OLNrUZF3qneUYn7m7PlrcKpP8WhkVAO401LeZAY3zraxq4qvmcUPq8slclwa5kRtNO3tSTG2KML2ioTxbQskRC4TL93ZXqyF1SrgUZ0Ovp2H2EQdUG2ZLjIMgcMsQLwhaKrc/J/8+XlS8Ctu9RMpn8+AOfz6rFQqn++iPSKOc4/DO9UPwO0Cc2qpTgp6pNYmV/F21tap2rCtJBsYN1KQrDgKyV8ziRY=
X-Forefront-Antispam-Report:
	CIP:149.199.80.198;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:xir-pvapexch01.xlnx.xilinx.com;PTR:unknown-80-198.xilinx.com;CAT:NONE;SFS:(4636009)(36840700001)(40470700004)(46966006)(2906002)(26005)(356005)(966005)(83380400001)(7696005)(7636003)(9786002)(8936002)(508600001)(6916009)(4326008)(82310400004)(186003)(70206006)(8676002)(30864003)(107886003)(2616005)(6666004)(5660300002)(54906003)(426003)(47076005)(36860700001)(36756003)(70586007)(316002)(1076003)(336012)(40460700003)(102446001);DIR:OUT;SFP:1101;
X-OriginatorOrg: xilinx.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 21:18:14.3841
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 52cac653-2b89-441b-74a2-08d9e04832f2
X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c;Ip=[149.199.80.198];Helo=[xir-pvapexch01.xlnx.xilinx.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SN1NAM02FT0032.eop-nam02.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR02MB2583

At the moment, Xen is only handling data abort with valid syndrome (i.e.
ISV=0). Unfortunately, this doesn't cover all the instructions a domain
could use to access MMIO regions.

For instance, a baremetal OS can use any of the following instructions, where
x1 contains the address of the MMIO region:

1.      ldr     x2,    [x1],    #8
2.      ldr     w2,    [x1],    #-4
3.      ldr     x2,    [x1],    #-8
4.      ldr     w2,    [x1],    #4
5.      ldrh    w2,    [x1],    #2
6.      ldrb    w2,    [x1],    #1
7.      str     x2,    [x1],    #8
8.      str     w2,    [x1],    #-4
9.      strh    w2,    [x1],    #2
10.     strb    w2,    [x1],    #1

In the following two instructions, Rn could theoretically be stack pointer which
might contain the address of the MMIO region:-
11.     ldrb    w2,    [Rn],    #1
12.     ldrb    wzr,   [Rn],    #1

In order to handle post-indexing store/load instructions (like those mentioned
above), Xen will need to fetch and decode the instruction.

This patch only cover post-index store/load instructions from AArch64 mode.
For now, this is left unimplemented for trap from AArch32 mode.

Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
---

Changelog :-
v2 - 1. Updated the rn register after reading from it. (Pointed by Julien,
        Stefano)
     2. Used a union to represent the instruction opcode (Suggestd by Bertrand)
     3. Fixed coding style issues (Pointed by Julien)
     4. In the previous patch, I was updating dabt->sign based on the signedness
        of imm9. This was incorrect. As mentioned in ARMv8 ARM  DDI 0487G.b,
        Page 3221, SSE indicates the signedness of the data item loaded. In our
        case, the data item loaded is always unsigned.

v3- 1. Handled all the variants of ldr/str (ie 64, 32, 16, 8 bit variants).
       Thus, I have removed the check for "instr->code.opc == 0" (Suggested by
       Andre)
    2. Handled the scenario when rn = SP, rt = XZR (Suggested by Jan, Andre)
    3. Added restriction for "rt != rn" (Suggested by Andre)
    4. Moved union ldr_str_instr_class {} to decode.h. This is the header included
       by io.c and decode.c (where the union is referred). (Suggested by Jan)
    5. Indentation and typo fixes (Suggested by Jan)

v4- 1. Fixed the patch as per Stefano's comments on v3. They are as follows :-
        1.1 Use macros to determine the fixed values in the instruction opcode
        1.2 Checked if instr != NULL
        1.3 Changed some data types and added #define ARM_64 for AArch64 specific
            code 
        1.4 Moved post_increment_register() to decode.c so that the decoding
            logic is confined to a single file.
        1.5 Moved some checks from post_increment_register() to
            decode_loadstore_postindexing()
        1.6 Removed a duplicate check
    2. Updated the commit message as per Andre's comments.
    3. Changed the names of a label and some comments. *32bit* was erroneously
       mentioned in a label and comments in decode_loadstore_postindexing()
       although the function handled all variants of ldr/str post indexing.

 xen/arch/arm/decode.c | 124 +++++++++++++++++++++++++++++++++++++++++-
 xen/arch/arm/decode.h |  41 +++++++++++++-
 xen/arch/arm/io.c     |  41 +++++++++++---
 3 files changed, 195 insertions(+), 11 deletions(-)

diff --git a/xen/arch/arm/decode.c b/xen/arch/arm/decode.c
index 792c2e92a7..0c12af7afa 100644
--- a/xen/arch/arm/decode.c
+++ b/xen/arch/arm/decode.c
@@ -84,6 +84,101 @@ bad_thumb2:
     return 1;
 }
 
+static int decode_loadstore_postindexing(register_t pc,
+                                         struct hsr_dabt *dabt,
+                                         union ldr_str_instr_class *instr)
+{
+    struct cpu_user_regs *regs = guest_cpu_user_regs();
+
+    if ( instr == NULL )
+    {
+        gprintk(XENLOG_ERR, "instr should not be NULL\n");
+        return -EINVAL;
+    }
+
+    if ( raw_copy_from_guest(&instr->value, (void * __user)pc, sizeof (instr)) )
+    {
+        gprintk(XENLOG_ERR, "Could not copy the instruction from PC\n");
+        return -EFAULT;
+    }
+
+    /*
+     * Rn -ne Rt for ldr/str instruction.
+     * Check https://developer.arm.com/documentation/dui0802/a/CIHGJHED
+     * (Register restrictions)
+     *
+     * The only exception for this is when rn = 31. It denotes SP ("Use of SP")
+     *
+     * And when rt = 31, it denotes wzr/xzr. (Refer
+     * https://developer.arm.com/documentation/den0024/a/ARMv8-Registers/AArch64-special-registers
+     * "There is no register called X31 or W31. Many instructions are encoded
+     * such that the number 31 represents the zero register, ZR (WZR/XZR)."
+     */
+    if ( (instr->code.rn == instr->code.rt) && (instr->code.rn != 31) )
+    {
+        gprintk(XENLOG_ERR, "Rn should not be equal to Rt except for r31\n");
+        return -EINVAL;
+    }
+
+    /* First, let's check for the fixed values */
+    if ( (instr->value & POST_INDEX_FIXED_MASK) != POST_INDEX_FIXED_VALUE )
+    {
+        gprintk(XENLOG_ERR, "Cannot decode instruction 0x%x",instr->value);
+        gprintk(XENLOG_ERR, "Decoding not supported for instructions other than"
+            " ldr/str post indexing\n");
+        goto bad_loadstore;
+    }
+
+    /*
+     * Handle when rn = SP
+     * Refer ArmV8 ARM DDI 0487G.b, Page - D1-2463 "Stack pointer register selection"
+     * As we are interested in handling exceptions only from EL1 in AArch64 state,
+     * thus M[3:0] == EL1h (Page - C5-480 "When exception taken from AArch64 state:")
+     */
+    if ( (instr->code.rn == 31) && ((regs->cpsr & PSR_MODE_MASK) != PSR_MODE_EL1h) )
+    {
+        gprintk(XENLOG_ERR, "SP is valid only for EL1h\n");
+        goto bad_loadstore;
+    }
+
+    if ( instr->code.v != 0 )
+    {
+        gprintk(XENLOG_ERR,
+            "ldr/str post indexing for vector types are not supported\n");
+        goto bad_loadstore;
+    }
+
+    /* Check for STR (immediate) */
+    if ( instr->code.opc == 0 )
+    {
+        dabt->write = 1;
+    }
+    /* Check for LDR (immediate) */
+    else if ( instr->code.opc == 1 )
+    {
+        dabt->write = 0;
+    }
+    else
+    {
+        gprintk(XENLOG_ERR,
+            "Decoding ldr/str post indexing is not supported for this variant\n");
+        goto bad_loadstore;
+    }
+
+    gprintk(XENLOG_INFO,
+        "instr->code.rt = 0x%x, instr->code.size = 0x%x, instr->code.imm9 = %d\n",
+        instr->code.rt, instr->code.size, instr->code.imm9);
+
+    update_dabt(dabt, instr->code.rt, instr->code.size, false);
+    dabt->valid = 1;
+
+    return 0;
+
+ bad_loadstore:
+    gprintk(XENLOG_ERR, "unhandled Arm instruction 0x%x\n", instr->value);
+    return 1;
+}
+
 static int decode_thumb(register_t pc, struct hsr_dabt *dabt)
 {
     uint16_t instr;
@@ -150,17 +245,44 @@ bad_thumb:
     return 1;
 }
 
-int decode_instruction(const struct cpu_user_regs *regs, struct hsr_dabt *dabt)
+int decode_instruction(const struct cpu_user_regs *regs, struct hsr_dabt *dabt,
+                       union ldr_str_instr_class *instr)
 {
     if ( is_32bit_domain(current->domain) && regs->cpsr & PSR_THUMB )
         return decode_thumb(regs->pc, dabt);
 
+    if ( (is_64bit_domain(current->domain) && !psr_mode_is_32bit(regs)) )
+    {
+        return decode_loadstore_postindexing(regs->pc, dabt, instr);
+    }
+
     /* TODO: Handle ARM instruction */
     gprintk(XENLOG_ERR, "unhandled ARM instruction\n");
 
     return 1;
 }
 
+#if CONFIG_ARM_64
+void post_increment_register(union ldr_str_instr_class *instr)
+{
+    struct cpu_user_regs *regs = guest_cpu_user_regs();
+    register_t val;
+
+    /* handle when rn = SP */
+    if ( instr->code.rn == 31 )
+        val = regs->sp_el1;
+    else
+        val = get_user_reg(regs, instr->code.rn);
+
+    val += instr->code.imm9;
+
+    if ( instr->code.rn == 31 )
+        regs->sp_el1 = val;
+    else
+        set_user_reg(regs, instr->code.rn, val);
+}
+#endif
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/decode.h b/xen/arch/arm/decode.h
index 4613763bdb..511cd4a05f 100644
--- a/xen/arch/arm/decode.h
+++ b/xen/arch/arm/decode.h
@@ -23,6 +23,35 @@
 #include <asm/regs.h>
 #include <asm/processor.h>
 
+/*
+ * Refer to the ARMv8 ARM (DDI 0487G.b), Section C4.1.4 Loads and Stores
+ * Page 318 specifies the following bit pattern for
+ * "load/store register (immediate post-indexed)".
+ *
+ * 31 30 29  27 26 25  23   21 20              11   9         4       0
+ * ___________________________________________________________________
+ * |size|1 1 1 |V |0 0 |opc |0 |      imm9     |0 1 |  Rn     |  Rt   |
+ * |____|______|__|____|____|__|_______________|____|_________|_______|
+ */
+union ldr_str_instr_class {
+    uint32_t value;
+    struct ldr_str {
+        unsigned int rt:5;     /* Rt register */
+        unsigned int rn:5;     /* Rn register */
+        unsigned int fixed1:2; /* value == 01b */
+        signed int imm9:9;            /* imm9 */
+        unsigned int fixed2:1; /* value == 0b */
+        unsigned int opc:2;    /* opc */
+        unsigned int fixed3:2; /* value == 00b */
+        unsigned int v:1;      /* vector */
+        unsigned int fixed4:3; /* value == 111b */
+        unsigned int size:2;   /* size */
+    } code;
+};
+
+#define POST_INDEX_FIXED_MASK   0x3B200C00
+#define POST_INDEX_FIXED_VALUE  0x38000400
+
 /**
  * Decode an instruction from pc
  * /!\ This function is not intended to fully decode an instruction. It
@@ -35,8 +64,18 @@
  */
 
 int decode_instruction(const struct cpu_user_regs *regs,
-                       struct hsr_dabt *dabt);
+                       struct hsr_dabt *dabt,
+                       union ldr_str_instr_class *instr);
 
+/**
+ * Update the register value for Rn
+ * /!\ This function is used to update the register value for Rn when a
+ * post indexing ldr/str instruction is decoded.
+ *
+ * This function will get:
+ * - The post indexing ldr/str instruction opcode
+ */
+void post_increment_register(union ldr_str_instr_class *instr);
 #endif /* __ARCH_ARM_DECODE_H_ */
 
 /*
diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
index 729287e37c..b9c15e1fe7 100644
--- a/xen/arch/arm/io.c
+++ b/xen/arch/arm/io.c
@@ -106,14 +106,29 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
         .gpa = gpa,
         .dabt = dabt
     };
+    int rc;
+    union ldr_str_instr_class instr = {0};
 
     ASSERT(hsr.ec == HSR_EC_DATA_ABORT_LOWER_EL);
 
+    /*
+     * Armv8 processor does not provide a valid syndrome for post-indexing
+     * ldr/str instructions. So in order to process these instructions,
+     * Xen must decode them.
+     */
+    if ( !info.dabt.valid )
+    {
+        rc = decode_instruction(regs, &info.dabt, &instr);
+        if ( rc )
+        {
+            gprintk(XENLOG_DEBUG, "Unable to decode instruction\n");
+            return IO_ABORT;
+        }
+    }
+
     handler = find_mmio_handler(v->domain, info.gpa);
     if ( !handler )
     {
-        int rc;
-
         rc = try_fwd_ioserv(regs, v, &info);
         if ( rc == IO_HANDLED )
             return handle_ioserv(regs, v);
@@ -121,10 +136,6 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
         return rc;
     }
 
-    /* All the instructions used on emulated MMIO region should be valid */
-    if ( !dabt.valid )
-        return IO_ABORT;
-
     /*
      * Erratum 766422: Thumb store translation fault to Hypervisor may
      * not have correct HSR Rt value.
@@ -134,7 +145,7 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
     {
         int rc;
 
-        rc = decode_instruction(regs, &info.dabt);
+        rc = decode_instruction(regs, &info.dabt, NULL);
         if ( rc )
         {
             gprintk(XENLOG_DEBUG, "Unable to decode instruction\n");
@@ -143,9 +154,21 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
     }
 
     if ( info.dabt.write )
-        return handle_write(handler, v, &info);
+        rc = handle_write(handler, v, &info);
     else
-        return handle_read(handler, v, &info);
+        rc = handle_read(handler, v, &info);
+
+#if CONFIG_ARM_64
+    if ( (is_64bit_domain(current->domain) && !psr_mode_is_32bit(regs)) )
+    {
+        if ( instr.value != 0 )
+        {
+            post_increment_register(&instr);
+        }
+    }
+#endif
+
+    return rc;
 }
 
 void register_mmio_handler(struct domain *d,
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Jan 25 21:19:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 21:19:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260560.450263 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCTEG-0006H0-E6; Tue, 25 Jan 2022 21:19:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260560.450263; Tue, 25 Jan 2022 21:19: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 1nCTEG-0006Gt-9b; Tue, 25 Jan 2022 21:19:52 +0000
Received: by outflank-mailman (input) for mailman id 260560;
 Tue, 25 Jan 2022 21:19:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=npsv=SJ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nCTEF-0006Gd-6e
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 21:19:51 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8695bbe3-7e24-11ec-8eb8-a37418f5ba1a;
 Tue, 25 Jan 2022 22:19:49 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id F1C07617D2;
 Tue, 25 Jan 2022 21:19:47 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1830BC340E0;
 Tue, 25 Jan 2022 21:19: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: 8695bbe3-7e24-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1643145587;
	bh=dztc3U9v7Wfr4w0oLqPEkDx3cbgBIHJ3oEdNcV5Sdxk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=NvbbxYPrTTsMwXY5CVbrq8VkHzV01FmKd7JxM4P0I+rXloNE+eN+eS02ouWZaUsKr
	 2exSEGi/KJ8J0JJKRFydVs84RFQCqQgbn40tTKhRH6PwCFrmhs/2TZP9xbNhXtWKZi
	 nVMnMjPTSUUzCqxpRY2mylyijHwhRGRXJgz7btQL1TvxFK86Asxi4OyX/wmUUHenkA
	 7z4nvYbKsYgmbqBO7QgyNO7VjsL6sRcuD2KnHbClDwffyWOJknb1TOTBNhW2AutAFe
	 e+BByGE2tjkeCdsAWYmRsFatAxd6mYWqY4kuYC0PohuzGE5d8fbHM3EyZIDsDfLWhH
	 Rw4VUW8Kk9XTQ==
Date: Tue, 25 Jan 2022 13:19:46 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
In-Reply-To: <20220125143515.GA2803662@EPUAKYIW015D>
Message-ID: <alpine.DEB.2.22.394.2201251245120.27308@ubuntu-linux-20-04-desktop>
References: <20220119120400.GA3779126@EPUAKYIW015D> <alpine.DEB.2.22.394.2201191644400.19362@ubuntu-linux-20-04-desktop> <20220120102147.GA4153317@EPUAKYIW015D> <alpine.DEB.2.22.394.2201201230480.27308@ubuntu-linux-20-04-desktop> <20220121150753.GA898010@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2201211236060.27308@ubuntu-linux-20-04-desktop> <20220124182249.GA2485483@EPUAKYIW015D> <alpine.DEB.2.22.394.2201241056290.27308@ubuntu-linux-20-04-desktop> <d5c84296-79a6-5698-802d-4d9ba60dbf24@xen.org>
 <alpine.DEB.2.22.394.2201241403240.27308@ubuntu-linux-20-04-desktop> <20220125143515.GA2803662@EPUAKYIW015D>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 25 Jan 2022, Oleksii Moisieiev wrote:
> On Mon, Jan 24, 2022 at 02:14:43PM -0800, Stefano Stabellini wrote:
> > On Mon, 24 Jan 2022, Julien Grall wrote:
> > > On 24/01/2022 19:06, Stefano Stabellini wrote:
> > > > It looks like XEN_DOMCTL_host_node_by_path and
> > > > XEN_DOMCTL_find_host_compatible_node would also solve the problem but I
> > > > think that a single hypercall that retrieves the entire host DTB would
> > > > be easier to implement
> > > 
> > > DOMCTL should only be used to handle per-domain information. If we want to
> > > create a new sub-hypercall of either __HYPERVISOR_platform_op or
> > > __HYPERVISOR_sysctl_op (not sure which one).
> > > 
> > > AFAICT, both are versioned.
> > > 
> > > > and more robust in the long term. >
> > > > hypfs has the advantage that it would create an interface more similar
> > > > to the one people are already used to on Linux systems
> > > > (/proc/device-tree). xl/libxl would have to scan the whole hypfs tree,
> > > > which intuitively I think it would be slower.
> > > 
> > > Even if you have the binary blob, you would still have to scan the
> > > device-tree. That said, it is probably going to be potentially a bit faster
> > > because you have less hypercall.
> > > 
> > > However, here this is a trade-off between memory use and speed. If you want
> > > speed, then you may have to transfer up to 2MB every time. So the question is
> > > do we care more about speed or memory usage?
> > > 
> > > > Also the feature might be
> > > > harder to implement but I am not sure.
> > > > 
> > > > I don't have a strong preference and this is not a stable interface (we
> > > > don't have to be extra paranoid about forward and backward
> > > > compatibility). So I am fine either way. Let's see what the others think
> > > > as well.
> > > 
> > > My preference would be to use hypfs as this is cleaner than exposing a blob.
> > 
> > That's also fine by me. Probably the hypfs implementation shouldn't be
> > much more difficult than something like
> > XEN_DOMCTL_host_node_by_path/XEN_DOMCTL_find_host_compatible_node.
> > 
> > 
> > > However, are we sure we can simply copy the content of the host Device-Tree to
> > > the guest Device-Tree for SCMI? For instance, I know that for device
> > > passthrough there are some property that needs to be altered for some devices.
> > > Hence, why it is not present. Although, I vaguely recalled to have written a
> > > PoC, not sure if it was posted on the ML.
> > 
> > The SCMI node cannot be copied "as is" from host to guest. It needs a
> > couple of changes but they seem feasible as they are limited to the
> > channels exposed to the guest. (The generic device passthrough case is a
> > lot more difficult.)
> 
> 
> Hi Stefano,
> 
> What I'm thinking about is do we actually need to create SCMI node in DomU device-tree?
> I have this question is because we don't need SCMI node to be present in DomU 
> device-tree if it has no passed-through devices, which are using scmi. 
> So if we don't have passed-through devices or do not provide DomU partial device-tree 
> in config, then there is no need to create SCMI node.
> 
> For now I see the following possible domu configurations:
> 1) If DomU has a lot of passed-through devices and it's easier to inherit 
> host device-tree and disable not passed-through devices.
> Partial device tree will looks like this:
> 
> #include "r8a77961-salvator-xs.dts" //include host device tree
> 
> /
> {
> 	soc {
> 		...
> 	}
> 
> };
> 
> // Disable non passed-through devices
> &hscif {
> 	status = "disabled";
> };
> 
> In this case DomU partial device-tree will inherit arm,scmi-smc and 
> arm,scmi-shmem nodes and all clock/reset/power-domains which are using scmi. 
> All this nodes can be copied to DomU device-tree from partial device-tree.

This is an almost dom0 configuration. For this kind of use-cases, I
think it is enough to handle dom0 automatically correctly. I wouldn't
ask for anything more than that.


> 2) DomU has few passed-through devices, so it's easier to add the device nodes 
> to the passthrough node of DomU partial device-tree.
> DomU partial device-tree will look like this:
> {
> 	scmi_shmem: scp-shmem@0x53FF0000 {
> 		compatible = "arm,scmi-shmem";
> 		reg = <0x0 0x53FF0000 0x0 0x10000>;  
> 	};
> 	scmi {
> 		arm,smc-id = <....>;
> 		compatible = "arm,scmi-smc"; 
> 		shmem = <&scmi_shmem>;
> 		scmi_clock: protocol@14 {
> 			...
> 		};
> 		scmi_reset: protocol@16 {
> 			...
> 		};
> 	}; 
> 	passthrough {
> 		hscif0: serial@e6540000 { 
> 			compatible = "renesas,hscif-r8a77961";
> 			scmi_devid = <5>;
> 			clocks = <&scmi_clock 5>;
> 			resets = <&scmi_reset 5>;
>  			...
> 		};
> 	};
> };
> 
> As you can see in this case we have to manually copy arm,scmi-shmem and 
> arm,scmi-smc nodes with hscif0 node or the device-tree compilation will fail.
> We can use 0x53FF0000, provided in arm,scmi-shmem node and map domain channel 
> to this address and copy scmi related nodes to the DomU device-tree.
> This is useful when we need to expose only certain protocols to the DomU. 
> Also it's easy to modify DomU scmi node, as we need for stm32mp1 for example 
> when different smc-id should be set for DomU.

I think this is the most interesting case that should be automated and
not require manual intervention. Let me explain why.

Currently we require partial device trees to be manually written because
there is no easy way to automatically generate them. (I have some ideas
on how to automatically generate partial device trees but that is a
separate discussion.)

Unfortunately, it has become increasingly clear that it is too difficult
for users (even advanced users!) to come up with the appropriate partial
device trees. Thus, I am reluctant to introduce more things that rely on
the user having to manually specify partial device tree information.
This is why I would like the SCMI nodes to be automatically added for
domUs.

Of course, if a user provides the scmi and scmi_shmem nodes in the
partial device tree we could just use them. But ideally we should also
be able to automatically generated them based on the host device tree
nodes, so that the user only needs to provide serial@e6540000 (in your
example, scmi_devid would need to be populated too) and the rest would
be done automatically as we do today for the gic and vuart nodes.

At the same time I don't want to scope-creep this patch series too much
and I don't mean to ask you to add a huge new infrastructure to Xen and
the Xen tools just to get SCMI support in. I would rather have a
not-great automatic generation of the domU SCMI nodes than nothing (e.g.
using your suggested XEN_DOMCTL_host_node_by_path and
XEN_DOMCTL_find_host_compatible_node hypercalls althought they would
need to be platform_op as Julien suggested).

It looks like the generation of scmi_shmem and scmi should be easy
enough that could be handled without difficulty in xl/libxl. But if that
turns out to be too difficult, we could have a small independent
bash/python script that from the host device tree generates the partial
device tree with the SCMI nodes. From Xen point of view we are would
still be using the partial device tree, but the partial device tree
itself would be generated instead of manually written. As this workflow
requires a separate tool I think it is a worse option than the one
above. Still better than nothing though.


> 3) DomU doesn't have any passthrough nodes, which are using scmi.
> In this case we don't want SCMI nodes to be in the DomU device-tree.
> 
> I see only one use-case when we may need scmi nodes to be generated by xl in 
> DomU device-tree:
> Xen generates psci node to handle cpu_on and cpu_off. 
> According to the Section 4.3.2.5 of the DEN0056C [1]:
> > For these power domains, this protocol can be used to implement PSCI CPU_SUSPEND, CPU_ON, CPU_FREEZE, CPU_DEFAULT_SUSPEND and CPU_OFF functions.
> 
> So in theory psci node can use scmi to control cpu state. But this is not our 
> use-case because we don't want to give DomU ability to stop physical CPU. 
> Xen can't intercept and handle CPU_ON and CPU_OFF requests when mailbox transport 
> is used for SCMI communication.
> 
> [1] "SCMI Specification DEN0056C," [Online]. Available: https://developer.arm.com/documentation/den0056/latest 

I agree with you on this one; I am not worried about this case.


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 21:21:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 21:21:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260564.450273 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCTFV-0007fg-Qm; Tue, 25 Jan 2022 21:21:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260564.450273; Tue, 25 Jan 2022 21:21:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCTFV-0007fZ-Nf; Tue, 25 Jan 2022 21:21:09 +0000
Received: by outflank-mailman (input) for mailman id 260564;
 Tue, 25 Jan 2022 21:21:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=B39K=SJ=xilinx.com=ayankuma@srs-se1.protection.inumbo.net>)
 id 1nCTFU-0007fP-HO
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 21:21:08 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2061e.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::61e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b46ca1d6-7e24-11ec-8eb8-a37418f5ba1a;
 Tue, 25 Jan 2022 22:21:07 +0100 (CET)
Received: from SN7PR04CA0238.namprd04.prod.outlook.com (2603:10b6:806:127::33)
 by SJ0PR02MB8483.namprd02.prod.outlook.com (2603:10b6:a03:3fc::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.8; Tue, 25 Jan
 2022 21:21:02 +0000
Received: from SN1NAM02FT0055.eop-nam02.prod.protection.outlook.com
 (2603:10b6:806:127:cafe::1) by SN7PR04CA0238.outlook.office365.com
 (2603:10b6:806:127::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.10 via Frontend
 Transport; Tue, 25 Jan 2022 21:21:02 +0000
Received: from xir-pvapexch01.xlnx.xilinx.com (149.199.80.198) by
 SN1NAM02FT0055.mail.protection.outlook.com (10.97.5.78) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4930.15 via Frontend Transport; Tue, 25 Jan 2022 21:21:02 +0000
Received: from xir-pvapexch01.xlnx.xilinx.com (172.21.17.15) by
 xir-pvapexch01.xlnx.xilinx.com (172.21.17.15) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2176.14; Tue, 25 Jan 2022 21:21:00 +0000
Received: from smtp.xilinx.com (172.21.105.198) by
 xir-pvapexch01.xlnx.xilinx.com (172.21.17.15) with Microsoft SMTP Server id
 15.1.2176.14 via Frontend Transport; Tue, 25 Jan 2022 21:21:00 +0000
Received: from [10.71.118.159] (port=56131)
 by smtp.xilinx.com with esmtp (Exim 4.90)
 (envelope-from <ayan.kumar.halder@xilinx.com>)
 id 1nCTFM-0004zT-0p; Tue, 25 Jan 2022 21:21:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b46ca1d6-7e24-11ec-8eb8-a37418f5ba1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ChgSb4NfgPhqYpiZYvMBjjeQ0o7TDrEdDXzb5yGenkZ0wR8YawSZ6UOzJ/TfxedSlWmMaJeyJ4EunGuZHLpmxTHbOYskoGWeMJ8Rye6ijX0+FB7N/tXMehis9i6u5/w9h419eeCa60PjYxB0tSsU2+QeH3GlW3AtpECod4gP0xoZLSxLfyBxEXxrgLFzWgK1bSdvzc9cZJAHkP9+vl6i8AG1g9YBdn4/AeS/omXX0S8o+XoqjePjjYyuVUHhhX4KLYg+bpVNfguZKNbtWN1oqcMCwV0faOwoVPrS4Hbques07sbagy5rNnAGz8PYOTk+89+ZE9WuaYL/W1ew8OIePA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8lyvjPoGGiPi/2bBwL6YmCw0FFmV5osqfLeBhomSjAY=;
 b=XiMp098/Cy+LuSBkHfuMbeXcICZ5mcWF1RYnviUeS1PTj//1TlNVAYUp1RA2WTO2vagjQc3mKMxODESVz8+rF388bwTq5QVaO+LA7TiAB+3djIP9jstX1BTKJj0q4CDAPYIbko+lcOJTLzDmI+weN+dcAN7YDDtuyPcYUm9J899HB2aWi+pg8qg2OQt5+6vrtp0hVoLnxIyHmNNqTka91qglFl1+uQSWzImv2qqdGMoZIIr/CzMklDivRet/H8bSoGRLcpJogj7xAgD7z9Onu4YQwVy2AzguB+ib7vWPTcEuCmEipl84yiBv5fRr6R1pBj+54rsqVcRMLyOOLyp37w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 149.199.80.198) smtp.rcpttodomain=kernel.org smtp.mailfrom=xilinx.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=xilinx.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8lyvjPoGGiPi/2bBwL6YmCw0FFmV5osqfLeBhomSjAY=;
 b=j0HkgL2d9DyfnUAEIQunV5xBJV9ZNCKn5zwZKsWEmafQFPk/i7vdt1NuJu9WeFOe+tgs9nJynm8VAtKReF4emdsNmoHQ88Snlf6mlXxQFadegts/Q1dPjyFs3abkHUMxrGaUAXsYEJ9zmCL2d6Q+y49YaYCye2RHfgFOku0z05M=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 149.199.80.198)
 smtp.mailfrom=xilinx.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=xilinx.com;
Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates
 149.199.80.198 as permitted sender) receiver=protection.outlook.com;
 client-ip=149.199.80.198; helo=xir-pvapexch01.xlnx.xilinx.com;
Message-ID: <9adffa0d-8370-939a-1ba1-fba7082d05b0@xilinx.com>
Date: Tue, 25 Jan 2022 21:20:59 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.0
Subject: Re: [XEN v3] xen/arm64: io: Decode ldr/str post-indexing instructions
To: Stefano Stabellini <sstabellini@kernel.org>, Ayan Kumar Halder
	<ayan.kumar.halder@xilinx.com>
CC: <xen-devel@lists.xenproject.org>, <stefanos@xilinx.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>,
	<andre.przywara@arm.com>, <jbeulich@suse.com>, <wei.chen@arm.com>
References: <20220120215527.28138-1-ayankuma@xilinx.com>
 <alpine.DEB.2.22.394.2201211613530.27308@ubuntu-linux-20-04-desktop>
From: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>
In-Reply-To: <alpine.DEB.2.22.394.2201211613530.27308@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b3468bd8-6627-4afb-7e0c-08d9e04896ef
X-MS-TrafficTypeDiagnostic: SJ0PR02MB8483:EE_
X-Microsoft-Antispam-PRVS:
	<SJ0PR02MB8483272FC9E58A8FE7E1C947B25F9@SJ0PR02MB8483.namprd02.prod.outlook.com>
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
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:
	PaKmIpdzQGujimoECfk1wAnwz+5FogwevVtlmm2Proa59iw+iCfMZPXrmwHBMPod0PiSDlWiTWsskT4CdnN9wA1EYOn/WO2xlIiAu6cG8JEVMy6HZ/ixqd9/6+XqvhGW5wVCQWtEBuu3gda+Updu5Y9gLv7767wtDvIxUWvr5DCjkwCPKBAstU/znZ6b3+2WkeZxY8D4n1bpaZiEqpyPJd9WKqq6Vic3rDstqL78A8v2JJFVFxY7zrBjaIGAbb7g25c/5Xzjtks0CiKGRdNUiF67EN5FiyEVS8N7osQhmWqJx+CIeuildGrVApUIS7n8JpNyJtgCCvD3G0lNvu9VRveq9kvL2W37J5uhYlNsiJvonLHH5ZrH7AFMx+H7MVfkC+BmILMfxZ4rDnjRgkWyOwV9AxFSuAJlZVZsBTOJ7XDnjB9Citcu6BcPrA/j3luIB5595e7nUhcmLWCtyzrhxBXbeT1/4QuFs+yrbDytma6stR2ReCTw8hr+A63ZPdnoflvCE4Y4XUfHfHtScX2y5vB60AnuZVCvYn6uxIfGZtq9mr6Y7sJy3ySprOqQIhHYCFdRu9/NuiwithXlLN00YaMMtAZDo8N0fD4ZOk/Dnua0al1o7apPd60/eJDC0E3cu+oSYlaYZNKlrrC1rPrcfNDNgJjwUqMQN97jnzkxXBBkhPxh7eKqoyJfBe/J7MBemo6hkNESChaz2A941u1GnNWB9j7WmTLNjyIs1jRIBcEvnvQT8Ww2iAJwYR2hu29R5R8RnHsEgWQJY9yx4NXbxEGIbJONVaZahrGUf5vHuXlQrLsMnVGA+njsljOorIfjSkEzRu0qasxGz8jNmqlazgy2+iANJcCzDGupQ1QDQjsD5JR68xJ6vl6o0bPD+WJKAjQknc5fboDGGhZOo7j0wr13HHQJdmmo4jlLCpGhWNnKzz8A9K4ZraUhVWiUuM5l
X-Forefront-Antispam-Report:
	CIP:149.199.80.198;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:xir-pvapexch01.xlnx.xilinx.com;PTR:unknown-80-198.xilinx.com;CAT:NONE;SFS:(4636009)(46966006)(40470700004)(36840700001)(30864003)(110136005)(9786002)(186003)(36860700001)(83380400001)(8676002)(31686004)(26005)(8936002)(40460700003)(36756003)(82310400004)(54906003)(5660300002)(426003)(508600001)(70206006)(70586007)(966005)(7636003)(356005)(47076005)(2906002)(31696002)(336012)(4326008)(316002)(53546011)(2616005)(50156003)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: xilinx.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 21:21:02.1524
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b3468bd8-6627-4afb-7e0c-08d9e04896ef
X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c;Ip=[149.199.80.198];Helo=[xir-pvapexch01.xlnx.xilinx.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SN1NAM02FT0055.eop-nam02.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR02MB8483

Hi Stefano/Andre/All,

Thanks for the feedback.

On 22/01/2022 01:04, Stefano Stabellini wrote:
> On Thu, 20 Jan 2022, Ayan Kumar Halder wrote:
>> At the moment, Xen is only handling data abort with valid syndrome (i.e.
>> ISV=0). Unfortunately, this doesn't cover all the instructions a domain
>> could use to access MMIO regions.
>>
>> For instance, a baremetal OS can use any of the following instructions, where
>> x1 contains the address of the MMIO region:
>>
>> 1.      ldr     x2,    [x1],    #4
>> 2.      ldr     w2,    [x1],    #-4
>> 3.      ldr     x2,    [x1],    #-8
>> 4.      ldr     w2,    [x1],    #4
>> 5.      ldrh    w2,    [x1],    #8
>> 6.      ldrb    w2,    [x1],    #16
>> 7.      str     x2,    [x1],    #4
>> 8.      str     w2,    [x1],    #-4
>> 9.      strh    w2,    [x1],    #8
>> 10.     strb    w2,    [x1],    #16
>>
>> In the following two instructions, sp contains the address of the MMIO region:-
>> 11.     ldrb    w2,    [sp],    #16
>> 12.     ldrb    wzr,   [sp],    #16
>>
>> In order to handle post-indexing store/load instructions (like those mentioned
>> above), Xen will need to fetch and decode the instruction.
>>
>> This patch only cover post-index store/load instructions from AArch64 mode.
>> For now, this is left unimplemented for trap from AArch32 mode.
>>
>> Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
> This is a lot better, thanks!
>
>
>> ---
>>
>> Changelog :-
>> v2 - 1. Updated the rn register after reading from it. (Pointed by Julien,
>>          Stefano)
>>       2. Used a union to represent the instruction opcode (Suggestd by Bertrand)
>>       3. Fixed coding style issues (Pointed by Julien)
>>       4. In the previous patch, I was updating dabt->sign based on the signedness
>>          of imm9. This was incorrect. As mentioned in ARMv8 ARM  DDI 0487G.b,
>>          Page 3221, SSE indicates the signedness of the data item loaded. In our
>>          case, the data item loaded is always unsigned.
>>
>> v3- 1. Handled all the variants of ldr/str (ie 64, 32, 16, 8 bit variants).
>>         Thus, I have removed the check for "instr->code.opc == 0" (Suggested by
>>         Andre)
>>      2. Handled the scenario when rn = SP, rt = XZR (Suggested by Jan, Andre)
>>      3. Added restriction for "rt != rn" (Suggested by Andre)
>>      4. Moved union ldr_str_instr_class {} to decode.h. This is the header included
>>         by io.c and decode.c (where the union is referred). (Suggested by Jan)
>>      5. Indentation and typo fixes (Suggested by Jan)
>>
>> Changes suggested but could not be considered due to reasons :-
>>      1. Using accessor macros instead of bitfields for "ldr_str_instr_class". (Andre)
>>         Reason - I could not find a simple way to represent 9 bit signed integer
>>         (ie imm9) without using bitfields. If I use accessor macros, then I need
>>         to manually calculate two's complement to obtain the value when signed
>>         bit is present.
>>
>>      2. I/D cache cohenerncy (Andre)
>>         Reason :- I could not see any instruction to flush the I cache.
>>         Refer https://developer.arm.com/documentation/ddi0596/2021-12/Base-Instructions/IC--Instruction-Cache-operation--an-alias-of-SYS-?lang=en#sa_ic_op
>>         So, this patch assumes that the I/D caches are coherent.
>>
>>   xen/arch/arm/decode.c | 78 ++++++++++++++++++++++++++++++++++++++++++-
>>   xen/arch/arm/decode.h | 29 +++++++++++++++-
>>   xen/arch/arm/io.c     | 66 ++++++++++++++++++++++++++++++++----
>>   3 files changed, 165 insertions(+), 8 deletions(-)
>>
>> diff --git a/xen/arch/arm/decode.c b/xen/arch/arm/decode.c
>> index 792c2e92a7..f1c59ddd1a 100644
>> --- a/xen/arch/arm/decode.c
>> +++ b/xen/arch/arm/decode.c
>> @@ -84,6 +84,76 @@ bad_thumb2:
>>       return 1;
>>   }
>>   
>> +static int decode_loadstore_postindexing(register_t pc,
>> +                                         struct hsr_dabt *dabt,
>> +                                         union ldr_str_instr_class *instr)
>> +{
>> +    if ( raw_copy_from_guest(&instr->value, (void * __user)pc, sizeof (instr)) )
>> +        return -EFAULT;
>> +
>> +    /*
>> +     * Rn -ne Rt for ldr/str instruction.
>> +     * Check https://developer.arm.com/documentation/dui0802/a/CIHGJHED
>> +     * (Register restrictions)
>> +     *
>> +     * The only exception for this is when rn = 31. It denotes SP ("Use of SP")
>> +     *
>> +     * And when rt = 31, it denotes wzr/xzr. (Refer
>> +     * https://developer.arm.com/documentation/den0024/a/ARMv8-Registers/AArch64-special-registers
>> +     * "There is no register called X31 or W31. Many instructions are encoded
>> +     * such that the number 31 represents the zero register, ZR (WZR/XZR)."
>> +     */
>> +    if ( (instr->code.rn == instr->code.rt) && (instr->code.rn != 31) )
>> +        return -EINVAL;
>>
>> +    /* First, let's check for the fixed values */
>> +    if ( !((instr->code.fixed1 == 1) && (instr->code.fixed2 == 0) &&
>> +         (instr->code.fixed3 == 0) && (instr->code.fixed4 == 7)) )
>> +    {
>> +        gprintk(XENLOG_ERR, "Cannot decode instruction 0x%x",instr->value);
>> +        gprintk(XENLOG_ERR, "Decoding not supported for instructions other than"
>> +            " ldr/str post indexing\n");
>> +        goto bad_32bit_loadstore;
>> +    }
> Maybe this is a useless optimization but I would write this using masks
> and bitwise opts:
>
> #define POST_INDX_FIXED_MASK  0x38200c00

Good suggestion. This should be 0x3B200c00

> #define POST_INDX_FIXED_VALUE 0x38000400
>
> if ( (instr->value & POST_INDX_FIXED_MASK) != POST_INDX_FIXED_VALUE )
>      goto bad_32bit_loadstore;

Done in v4.

>
>
>
>> +    if ( instr->code.v != 0 )
>> +    {
>> +        gprintk(XENLOG_ERR,
>> +            "ldr/str post indexing for vector types are not supported\n");
>> +        goto bad_32bit_loadstore;
>> +    }
>> +
>> +    /* Check for STR (immediate) - 32 bit variant */
>> +    if ( instr->code.opc == 0 )
>> +    {
>> +        dabt->write = 1;
>> +    }
>> +    /* Check for LDR (immediate) - 32 bit variant */
>> +    else if ( instr->code.opc == 1 )
>> +    {
>> +        dabt->write = 0;
>> +    }
>> +    else
>> +    {
>> +        gprintk(XENLOG_ERR,
>> +            "Decoding ldr/str post indexing is not supported for this variant\n");
>> +        goto bad_32bit_loadstore;
>> +    }
>> +
>> +    gprintk(XENLOG_INFO,
>> +        "instr->code.rt = 0x%x, instr->code.size = 0x%x, instr->code.imm9 = %d\n",
>> +        instr->code.rt, instr->code.size, instr->code.imm9);
>> +
>> +    update_dabt(dabt, instr->code.rt, instr->code.size, false);
>> +    dabt->valid = 1;
>> +
>> +    return 0;
>> +
>> + bad_32bit_loadstore:
>> +    gprintk(XENLOG_ERR, "unhandled 32bit Arm instruction 0x%x\n", instr->value);
>> +    return 1;
>> +}
>> +
>>   static int decode_thumb(register_t pc, struct hsr_dabt *dabt)
>>   {
>>       uint16_t instr;
>> @@ -150,11 +220,17 @@ bad_thumb:
>>       return 1;
>>   }
>>   
>> -int decode_instruction(const struct cpu_user_regs *regs, struct hsr_dabt *dabt)
>> +int decode_instruction(const struct cpu_user_regs *regs, struct hsr_dabt *dabt,
>> +                       union ldr_str_instr_class *instr)
>>   {
>>       if ( is_32bit_domain(current->domain) && regs->cpsr & PSR_THUMB )
>>           return decode_thumb(regs->pc, dabt);
>>   
>> +    if ( (is_64bit_domain(current->domain) && !psr_mode_is_32bit(regs)) )
>> +    {
> We should also check that instr != NULL either here or at the beginning
> of decode_loadstore_postindexing

Done at the beginning of decode_loadstore_postindexing()

>
>
>> +        return decode_loadstore_postindexing(regs->pc, dabt, instr);
>> +    }
>> +
>>       /* TODO: Handle ARM instruction */
>>       gprintk(XENLOG_ERR, "unhandled ARM instruction\n");
>>   
>> diff --git a/xen/arch/arm/decode.h b/xen/arch/arm/decode.h
>> index 4613763bdb..5c918c9bed 100644
>> --- a/xen/arch/arm/decode.h
>> +++ b/xen/arch/arm/decode.h
>> @@ -23,6 +23,32 @@
>>   #include <asm/regs.h>
>>   #include <asm/processor.h>
>>   
>> +/*
>> + * Refer to the ARMv8 ARM (DDI 0487G.b), Section C4.1.4 Loads and Stores
>> + * Page 318 specifies the following bit pattern for
>> + * "load/store register (immediate post-indexed)".
>> + *
>> + * 31 30 29  27 26 25  23   21 20              11   9         4       0
>> + * ___________________________________________________________________
>> + * |size|1 1 1 |V |0 0 |opc |0 |      imm9     |0 1 |  Rn     |  Rt   |
>> + * |____|______|__|____|____|__|_______________|____|_________|_______|
>> + */
>> +union ldr_str_instr_class {
>> +    uint32_t value;
>> +    struct ldr_str {
>> +        unsigned int rt:5;     /* Rt register */
>> +        unsigned int rn:5;     /* Rn register */
>> +        unsigned int fixed1:2; /* value == 01b */
>> +        signed int imm9:9;            /* imm9 */
>> +        unsigned int fixed2:1; /* value == 0b */
>> +        unsigned int opc:2;    /* opc */
>> +        unsigned int fixed3:2; /* value == 00b */
>> +        unsigned int v:1;      /* vector */
>> +        unsigned int fixed4:3; /* value == 111b */
>> +        unsigned int size:2;   /* size */
>> +    } code;
>> +};
>> +
>>   /**
>>    * Decode an instruction from pc
>>    * /!\ This function is not intended to fully decode an instruction. It
>> @@ -35,7 +61,8 @@
>>    */
>>   
>>   int decode_instruction(const struct cpu_user_regs *regs,
>> -                       struct hsr_dabt *dabt);
>> +                       struct hsr_dabt *dabt,
>> +                       union ldr_str_instr_class *instr);
>>   
>>   #endif /* __ARCH_ARM_DECODE_H_ */
>>   
>> diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
>> index 729287e37c..acb483f235 100644
>> --- a/xen/arch/arm/io.c
>> +++ b/xen/arch/arm/io.c
>> @@ -65,6 +65,39 @@ static enum io_state handle_write(const struct mmio_handler *handler,
>>       return ret ? IO_HANDLED : IO_ABORT;
>>   }
>>   
>> +static void post_increment_register(union ldr_str_instr_class *instr)
>> +{
>> +    struct cpu_user_regs *regs = guest_cpu_user_regs();
>> +    unsigned int val;
> register_t val

Done

>
>
>> +    /* handle when rn = SP */
>> +    if ( instr->code.rn == 31 )
>> +    {
>> +        if ( (regs->cpsr & PSR_MODE_MASK) == PSR_MODE_EL1h )
>> +        {
>> +            val = regs->sp_el1;
> I think you need to #ifdef ARM64 the entire function because sp_el1 is
> aarch64 only. Also, it might be better to move post_increment_register
> to decode.c to keep is closer to the other half of the relevant code. I
> don't feel strongly about it though, if other reviewers prefer to keep
> it here, it is only fine by me.

Makes sense as this is a part of the decoding logic. I haved moved this to decode.c as well.

>
>
>> +        }
>> +        else
>> +        {
>> +            BUG();
> BUG is not a good idea in this code path because it might allow a guest
> to cause a hypervisor crash. Instead you could print an error and
> call:
>
>      domain_crash(current->domain);
>
> But I think it would be even better to add a check:
>
> if ( (regs->cpsr & PSR_MODE_MASK) != PSR_MODE_EL1h )
> {
>      goto bad_32bit_loadstore;
> }
>
> in decode_loadstore_postindexing or in decode_instruction so that if get
> here we are sure that we can handle the post-indexing instruction
> completely.

That is a good suggestion. I will move the check to decode_loadstore_postindexing
(). Yes, Xen should not crash because of the guest.

>
>> +        }
>> +    }
>> +    else
>> +    {
>> +        val = get_user_reg(regs, instr->code.rn);
>> +    }
>> +    val += instr->code.imm9;
>> +    if ( instr->code.rn == 31 )
>> +    {
>> +        regs->sp_el1 = val;
>> +    }
>> +    else
>> +    {
>> +        set_user_reg(regs, instr->code.rn, val);
>> +    }
>> +}
>> +
>>   /* This function assumes that mmio regions are not overlapped */
>>   static int cmp_mmio_handler(const void *key, const void *elem)
>>   {
>> @@ -106,14 +139,29 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>>           .gpa = gpa,
>>           .dabt = dabt
>>       };
>> +    int rc;
>> +    union ldr_str_instr_class instr = {0};
>>   
>>       ASSERT(hsr.ec == HSR_EC_DATA_ABORT_LOWER_EL);
>>   
>> +    /*
>> +     * Armv8 processor does not provide a valid syndrome for post-indexing
>> +     * ldr/str instructions. So in order to process these instructions,
>> +     * Xen must decode them.
>> +     */
>> +    if ( !info.dabt.valid )
>> +    {
>> +        rc = decode_instruction(regs, &info.dabt, &instr);
>> +        if ( rc )
>> +        {
>> +            gprintk(XENLOG_DEBUG, "Unable to decode instruction\n");
>> +            return IO_ABORT;
>> +        }
>> +    }
>> +
>>       handler = find_mmio_handler(v->domain, info.gpa);
>>       if ( !handler )
>>       {
>> -        int rc;
>> -
>>           rc = try_fwd_ioserv(regs, v, &info);
>>           if ( rc == IO_HANDLED )
>>               return handle_ioserv(regs, v);
>> @@ -122,7 +170,7 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>>       }
>>   
>>       /* All the instructions used on emulated MMIO region should be valid */
>> -    if ( !dabt.valid )
>> +    if ( !info.dabt.valid )
>>           return IO_ABORT;
> Is this check still necessary given the new info.dabt.valid check above?

Yes, this check is redundant. I will remove this.
I have sent out a v4 patch with all these fixes.
Please review "[XEN v4] xen/arm64: io: Decode ldr/str post-indexing instructions"

- Ayan

>
>
>>       /*
>> @@ -134,7 +182,7 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>>       {
>>           int rc;
>>   
>> -        rc = decode_instruction(regs, &info.dabt);
>> +        rc = decode_instruction(regs, &info.dabt, NULL);
>>           if ( rc )
>>           {
>>               gprintk(XENLOG_DEBUG, "Unable to decode instruction\n");
>> @@ -143,9 +191,15 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>>       }
>>   
>>       if ( info.dabt.write )
>> -        return handle_write(handler, v, &info);
>> +        rc = handle_write(handler, v, &info);
>>       else
>> -        return handle_read(handler, v, &info);
>> +        rc = handle_read(handler, v, &info);
>> +
>> +    if ( instr.value != 0 )
>> +    {
>> +        post_increment_register(&instr);
>> +    }
>> +    return rc;
>>   }
>>   
>>   void register_mmio_handler(struct domain *d,


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 21:23:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 21:23:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260568.450288 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCTHI-0008Js-8U; Tue, 25 Jan 2022 21:23:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260568.450288; Tue, 25 Jan 2022 21:23: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 1nCTHI-0008Jl-40; Tue, 25 Jan 2022 21:23:00 +0000
Received: by outflank-mailman (input) for mailman id 260568;
 Tue, 25 Jan 2022 21:22: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 1nCTHH-0008JX-Es; Tue, 25 Jan 2022 21:22: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 1nCTHH-0007Hq-Bk; Tue, 25 Jan 2022 21:22: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 1nCTHH-0001N7-4A; Tue, 25 Jan 2022 21:22:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nCTHH-0002wX-3i; Tue, 25 Jan 2022 21:22:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=MhWvQGNtMleGTscMthNNoFB6syZItctS9OrHAOx8NsQ=; b=LfLv2OaQjpsirPQ/QQFAvC/ve8
	byt6cCnttE3ioK2WdW7oDmxqK2Fl6lM1XGlMROiO45+3FCZn33+Xpjeh3bqpSvjHct3L1eO3gdAFf
	OMyGydEKUHpal8HcLY/nWd6QO7TCWatBmsFoJVciDW2ictgOinWDNhmqjwxWid8N/5ao=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167813-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.15-testing test] 167813: regressions - FAIL
X-Osstest-Failures:
    xen-4.15-testing:build-amd64-xsm:xen-build:fail:regression
    xen-4.15-testing:build-amd64:xen-build:fail:regression
    xen-4.15-testing:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    xen-4.15-testing:test-amd64-i386-qemuu-rhel6hvm-amd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-qemuu-rhel6hvm-intel:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-xl:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-pvshim:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-shadow:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:build-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-livepatch:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-migrupgrade:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-coresched-i386-xl:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-freebsd10-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-freebsd10-i386:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-livepatch:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-migrupgrade:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-pair:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-qemut-rhel6hvm-amd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-qemut-rhel6hvm-intel:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-1:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-3:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-4:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-5:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-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-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-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: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-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt: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-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-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-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-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=bd20d6c87619a6b825478cd5ae0387f9fdaabea0
X-Osstest-Versions-That:
    xen=a763f8f158e81158bdf2470dbc3d98353f2322e2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 25 Jan 2022 21:22:59 +0000

flight 167813 xen-4.15-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167813/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-xsm               6 xen-build                fail REGR. vs. 167628
 build-amd64                   6 xen-build                fail REGR. vs. 167628

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds    18 guest-start/debian.repeat fail REGR. vs. 167628

Tests which did not succeed, but are not blocking:
 test-amd64-i386-qemuu-rhel6hvm-amd  1 build-check(1)               blocked n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 build-check(1)             blocked n/a
 test-amd64-i386-xl            1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-pvshim     1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemut-debianhvm-amd64  1 build-check(1)         blocked n/a
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm  1 build-check(1)      blocked n/a
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-xl-qemut-win7-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemut-ws16-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-amd64  1 build-check(1)         blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1)  blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm  1 build-check(1)      blocked n/a
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked n/a
 test-amd64-i386-xl-qemuu-ws16-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-shadow     1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-vhd        1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-xsm        1 build-check(1)               blocked  n/a
 test-amd64-coresched-amd64-xl  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-xsm       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-shadow    1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-rtds      1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-ws16-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  1 build-check(1)     blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)        blocked n/a
 test-amd64-amd64-xl-qemut-ws16-amd64  1 build-check(1)             blocked n/a
 build-amd64-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  1 build-check(1)     blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-amd64  1 build-check(1)        blocked n/a
 test-amd64-amd64-xl-qcow2     1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvshim    1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit2   1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit1   1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-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-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-livepatch    1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-intel  1 build-check(1)              blocked n/a
 test-amd64-amd64-migrupgrade  1 build-check(1)               blocked  n/a
 test-amd64-amd64-pair         1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-pygrub       1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-freebsd11-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-qemuu-freebsd12-amd64  1 build-check(1)           blocked n/a
 test-amd64-i386-xl-qemuu-ovmf-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemuu-win7-amd64  1 build-check(1)              blocked n/a
 test-amd64-coresched-i386-xl  1 build-check(1)               blocked  n/a
 test-amd64-i386-freebsd10-amd64  1 build-check(1)               blocked  n/a
 test-amd64-i386-freebsd10-i386  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-livepatch     1 build-check(1)               blocked  n/a
 test-amd64-i386-migrupgrade   1 build-check(1)               blocked  n/a
 test-amd64-i386-pair          1 build-check(1)               blocked  n/a
 test-amd64-i386-qemut-rhel6hvm-amd  1 build-check(1)               blocked n/a
 test-amd64-i386-qemut-rhel6hvm-intel  1 build-check(1)             blocked n/a
 test-xtf-amd64-amd64-1        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-2        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-3        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-4        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-5        1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167628
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167628
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167628
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-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-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  bd20d6c87619a6b825478cd5ae0387f9fdaabea0
baseline version:
 xen                  a763f8f158e81158bdf2470dbc3d98353f2322e2

Last test of basis   167628  2022-01-07 07:36:33 Z   18 days
Testing same since   167813  2022-01-25 13:06:39 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>
  Julien Grall <jgrall@amazon.com>

jobs:
 build-amd64-xsm                                              fail    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  fail    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          blocked 
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       blocked 
 test-xtf-amd64-amd64-2                                       blocked 
 test-xtf-amd64-amd64-3                                       blocked 
 test-xtf-amd64-amd64-4                                       blocked 
 test-xtf-amd64-amd64-5                                       blocked 
 test-amd64-amd64-xl                                          blocked 
 test-amd64-coresched-amd64-xl                                blocked 
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           blocked 
 test-amd64-coresched-i386-xl                                 blocked 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        blocked 
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         blocked 
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 blocked 
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 blocked 
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      blocked 
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       blocked 
 test-amd64-amd64-qemuu-nested-amd                            blocked 
 test-amd64-amd64-xl-pvhv2-amd                                blocked 
 test-amd64-i386-qemut-rhel6hvm-amd                           blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-dom0pvh-xl-amd                              blocked 
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    blocked 
 test-amd64-i386-xl-qemut-debianhvm-amd64                     blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    blocked 
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     blocked 
 test-amd64-i386-freebsd10-amd64                              blocked 
 test-amd64-amd64-qemuu-freebsd11-amd64                       blocked 
 test-amd64-amd64-qemuu-freebsd12-amd64                       blocked 
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         blocked 
 test-amd64-i386-xl-qemuu-ovmf-amd64                          blocked 
 test-amd64-amd64-xl-qemut-win7-amd64                         blocked 
 test-amd64-i386-xl-qemut-win7-amd64                          blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-i386-xl-qemuu-win7-amd64                          blocked 
 test-amd64-amd64-xl-qemut-ws16-amd64                         blocked 
 test-amd64-i386-xl-qemut-ws16-amd64                          blocked 
 test-amd64-amd64-xl-qemuu-ws16-amd64                         blocked 
 test-amd64-i386-xl-qemuu-ws16-amd64                          blocked 
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  blocked 
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  blocked 
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        blocked 
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         blocked 
 test-amd64-i386-freebsd10-i386                               blocked 
 test-amd64-amd64-qemuu-nested-intel                          blocked 
 test-amd64-amd64-xl-pvhv2-intel                              blocked 
 test-amd64-i386-qemut-rhel6hvm-intel                         blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-amd64-dom0pvh-xl-intel                            blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   blocked 
 test-amd64-i386-livepatch                                    blocked 
 test-amd64-amd64-migrupgrade                                 blocked 
 test-amd64-i386-migrupgrade                                  blocked 
 test-amd64-amd64-xl-multivcpu                                blocked 
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        blocked 
 test-amd64-i386-pair                                         blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   blocked 
 test-amd64-i386-xl-pvshim                                    blocked 
 test-amd64-amd64-pygrub                                      blocked 
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    blocked 
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     blocked 
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             blocked 
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              blocked 
 test-amd64-amd64-xl-shadow                                   blocked 
 test-amd64-i386-xl-shadow                                    blocked 
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit bd20d6c87619a6b825478cd5ae0387f9fdaabea0
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Tue Jan 25 13:46:28 2022 +0100

    x86/spec-ctrl: Fix NMI race condition with VT-x MSR_SPEC_CTRL handling
    
    The logic was based on a mistaken understanding of how NMI blocking on vmexit
    works.  NMIs are only blocked for EXIT_REASON_NMI, and not for general exits.
    Therefore, an NMI can in general hit early in the vmx_asm_vmexit_handler path,
    and the guest's value will be clobbered before it is saved.
    
    Switch to using MSR load/save lists.  This causes the guest value to be saved
    atomically with respect to NMIs/MCEs/etc.
    
    First, update vmx_cpuid_policy_changed() to configure the load/save lists at
    the same time as configuring the intercepts.  This function is always used in
    remote context, so extend the vmx_vmcs_{enter,exit}() block to cover the whole
    function, rather than having multiple remote acquisitions of the same VMCS.
    
    Both of vmx_{add,del}_guest_msr() can fail.  The -ESRCH delete case is fine,
    but all others are fatal to the running of the VM, so handle them using
    domain_crash() - this path is only used during domain construction anyway.
    
    Second, update vmx_{get,set}_reg() to use the MSR load/save lists rather than
    vcpu_msrs, and update the vcpu_msrs comment to describe the new state
    location.
    
    Finally, adjust the entry/exit asm.
    
    Because the guest value is saved and loaded atomically, we do not need to
    manually load the guest value, nor do we need to enable SCF_use_shadow.  This
    lets us remove the use of DO_SPEC_CTRL_EXIT_TO_GUEST.  Additionally,
    SPEC_CTRL_ENTRY_FROM_PV gets removed too, because on an early entry failure,
    we're no longer in the guest MSR_SPEC_CTRL context needing to switch back to
    Xen's context.
    
    The only action remaining is to load Xen's MSR_SPEC_CTRL value on vmexit.  We
    could in principle use the host msr list, but is expected to complicated
    future work.  Delete DO_SPEC_CTRL_ENTRY_FROM_HVM entirely, and use a shorter
    code sequence to simply reload Xen's setting from the top-of-stack block.
    
    Adjust the comment at the top of spec_ctrl_asm.h in light of this bugfix.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 81f0eaadf84d273a6ff8df3660b874a02d0e7677
    master date: 2022-01-20 16:32:11 +0000

commit bffdcc0dc454838e1c75a1e9d98ab140d7aff421
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Tue Jan 25 13:46:14 2022 +0100

    x86/spec-ctrl: Drop SPEC_CTRL_{ENTRY_FROM,EXIT_TO}_HVM
    
    These were written before Spectre/Meltdown went public, and there was large
    uncertainty in how the protections would evolve.  As it turns out, they're
    very specific to Intel hardware, and not very suitable for AMD.
    
    Drop the macros, opencoding the relevant subset of functionality, and leaving
    grep-fodder to locate the logic.  No change at all for VT-x.
    
    For AMD, the only relevant piece of functionality is DO_OVERWRITE_RSB,
    although we will soon be adding (different) logic to handle MSR_SPEC_CTRL.
    
    This has a marginal improvement of removing an unconditional pile of long-nops
    from the vmentry/exit path.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 95b13fa43e0753b7514bef13abe28253e8614f62
    master date: 2022-01-20 16:32:11 +0000

commit 2e4507eb358b580378b0a7aaa6d357401abbca88
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Tue Jan 25 13:45:58 2022 +0100

    x86/msr: Split MSR_SPEC_CTRL handling
    
    In order to fix a VT-x bug, and support MSR_SPEC_CTRL on AMD, move
    MSR_SPEC_CTRL handling into the new {pv,hvm}_{get,set}_reg() infrastructure.
    
    Duplicate the msrs->spec_ctrl.raw accesses in the PV and VT-x paths for now.
    The SVM path is currently unreachable because of the CPUID policy.
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 6536688439dbca1d08fd6db5be29c39e3917fb2f
    master date: 2022-01-20 16:32:11 +0000

commit ff2ce108699b2e1c49bdadc0fecb8e77cf8b34ae
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Tue Jan 25 13:45:33 2022 +0100

    x86/guest: Introduce {get,set}_reg() infrastructure
    
    Various registers have per-guest-type or per-vendor locations or access
    requirements.  To support their use from common code, provide accessors which
    allow for per-guest-type behaviour.
    
    For now, just infrastructure handling default cases and expectations.
    Subsequent patches will start handling registers using this infrastructure.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 88d3ff7ab15da277a85b39735797293fb541c718
    master date: 2022-01-20 16:32:11 +0000

commit 7ca8706ad53d5967fd15fa94c2dd5ada8d42d812
Author: Jason Andryuk <jandryuk@gmail.com>
Date:   Tue Jan 25 13:45:09 2022 +0100

    libxl/PCI: Fix PV hotplug & stubdom coldplug
    
    commit 0fdb48ffe7a1 "libxl: Make sure devices added by pci-attach are
    reflected in the config" broken PCI hotplug (xl pci-attach) for PV
    domains when it moved libxl__create_pci_backend() later in the function.
    
    This also broke HVM + stubdom PCI passthrough coldplug.  For that, the
    PCI devices are hotplugged to a running PV stubdom, and then the QEMU
    QMP device_add commands are made to QEMU inside the stubdom.
    
    A running PV domain calls libxl__wait_for_backend().  With the current
    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:
    1) The domain is PV
    2) The domain is running
    3) The backend is already present
    
    This is because:
    
    1) xen-pcifront is only used for PV.  It does not load for HVM domains
       where QEMU is used.
    
    2) If the domain is not running (starting), then the frontend state will
       be Initialising.  xen-pciback waits for the frontend to transition to
       at Initialised before attempting to connect.  So a wait for a
       non-running domain is not applicable as the backend will not
       transition to Connected.
    
    3) For presence, 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 or changing to
       some other state like closing.  If we are creating the backend, then
       we don't have to worry about the state since it is being created.
    
    Fixes: 0fdb48ffe7a1 ("libxl: Make sure devices added by pci-attach are
    reflected in the config")
    
    Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
    Reviewed-by: Paul Durrant <paul@xen.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    master commit: 73ee2795aaef2cb086ac078bffe1c6b33c0ea91b
    master date: 2022-01-13 14:33:16 +0100

commit ac71fdd9ec8a54240cc09827203197674353a722
Author: Jan Beulich <jbeulich@suse.com>
Date:   Tue Jan 25 13:44:55 2022 +0100

    x86/time: improve TSC / CPU freq calibration accuracy
    
    While the problem report was for extreme errors, even smaller ones would
    better be avoided: The calculated period to run calibration loops over
    can (and usually will) be shorter than the actual time elapsed between
    first and last platform timer and TSC reads. Adjust values returned from
    the init functions accordingly.
    
    On a Skylake system I've tested this on accuracy (using HPET) went from
    detecting in some cases more than 220kHz too high a value to about
    ±2kHz. On other systems (or on this system, but with PMTMR) the original
    error range was much smaller, with less (in some cases only very little)
    improvement.
    
    Reported-by: James Dingwall <james-xen@dingwall.me.uk>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: a5c9a80af34eefcd6e31d0ed2b083f452cd9076d
    master date: 2022-01-13 14:31:52 +0100

commit 793d5ca89fdd9e2cdcb05e88c6cd8446e475b15a
Author: Jan Beulich <jbeulich@suse.com>
Date:   Tue Jan 25 13:44:42 2022 +0100

    x86/time: use relative counts in calibration loops
    
    Looping until reaching/exceeding a certain value is error prone: If the
    target value is close enough to the wrapping point, the loop may not
    terminate at all. Switch to using delta values, which then allows to
    fold the two loops each into just one.
    
    Fixes: 93340297802b ("x86/time: calibrate TSC against platform timer")
    Reported-by: Roger Pau Monné <roger.pau@citrix.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 467191641d2a2fd2e43b3ae7b80399f89d339980
    master date: 2022-01-13 14:30:18 +0100

commit 13e7fe4c938f92933c6aa89e416e3085b13a22c7
Author: Julien Grall <jgrall@amazon.com>
Date:   Tue Jan 25 13:42:53 2022 +0100

    passthrough/x86: stop pirq iteration immediately in case of error
    
    pt_pirq_iterate() will iterate in batch over all the PIRQs. The outer
    loop will bail out if 'rc' is non-zero but the inner loop will continue.
    
    This means 'rc' will get clobbered and we may miss any errors (such as
    -ERESTART in the case of the callback pci_clean_dpci_irq()).
    
    This is CVE-2022-23035 / XSA-395.
    
    Fixes: c24536b636f2 ("replace d->nr_pirqs sized arrays with radix tree")
    Fixes: f6dd295381f4 ("dpci: replace tasklet with softirq")
    Signed-off-by: Julien Grall <jgrall@amazon.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 9480a1a519cf016623f657dc544cb372a82b5708
    master date: 2022-01-25 13:27:02 +0100

commit 2700abffa5e42cf04dc1c6eba73faaba670c99df
Author: Julien Grall <jgrall@amazon.com>
Date:   Tue Jan 25 13:42:21 2022 +0100

    xen/grant-table: Only decrement the refcounter when grant is fully unmapped
    
    The grant unmapping hypercall (GNTTABOP_unmap_grant_ref) is not a
    simple revert of the changes done by the grant mapping hypercall
    (GNTTABOP_map_grant_ref).
    
    Instead, it is possible to partially (or even not) clear some flags.
    This will leave the grant is mapped until a future call where all
    the flags would be cleared.
    
    XSA-380 introduced a refcounting that is meant to only be dropped
    when the grant is fully unmapped. Unfortunately, unmap_common() will
    decrement the refcount for every successful call.
    
    A consequence is a domain would be able to underflow the refcount
    and trigger a BUG().
    
    Looking at the code, it is not clear to me why a domain would
    want to partially clear some flags in the grant-table. But as
    this is part of the ABI, it is better to not change the behavior
    for now.
    
    Fix it by checking if the maptrack handle has been released before
    decrementing the refcounting.
    
    This is CVE-2022-23034 / XSA-394.
    
    Fixes: 9781b51efde2 ("gnttab: replace mapkind()")
    Signed-off-by: Julien Grall <jgrall@amazon.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 975a8fb45ca186b3476e5656c6ad5dad1122dbfd
    master date: 2022-01-25 13:25:49 +0100

commit 53220c4f9db70331284424ff5ff5f286dd3fbc16
Author: Julien Grall <jgrall@amazon.com>
Date:   Tue Jan 25 13:41:59 2022 +0100

    xen/arm: p2m: Always clear the P2M entry when the mapping is removed
    
    Commit 2148a125b73b ("xen/arm: Track page accessed between batch of
    Set/Way operations") allowed an entry to be invalid from the CPU PoV
    (lpae_is_valid()) but valid for Xen (p2m_is_valid()). This is useful
    to track which page is accessed and only perform an action on them
    (e.g. clean & invalidate the cache after a set/way instruction).
    
    Unfortunately, __p2m_set_entry() is only zeroing the P2M entry when
    lpae_is_valid() returns true. This means the entry will not be zeroed
    if the entry was valid from Xen PoV but invalid from the CPU PoV for
    tracking purpose.
    
    As a consequence, this will allow a domain to continue to access the
    page after it was removed.
    
    Resolve the issue by always zeroing the entry if it the LPAE bit is
    set or the entry is about to be removed.
    
    This is CVE-2022-23033 / XSA-393.
    
    Reported-by: Dmytro Firsov <Dmytro_Firsov@epam.com>
    Fixes: 2148a125b73b ("xen/arm: Track page accessed between batch of Set/Way operations")
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Signed-off-by: Julien Grall <jgrall@amazon.com>
    master commit: a428b913a002eb2b7425b48029c20a52eeee1b5a
    master date: 2022-01-25 13:25:01 +0100
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 21:54:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 21:54:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260579.450311 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCTlC-0003UC-Te; Tue, 25 Jan 2022 21:53:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260579.450311; Tue, 25 Jan 2022 21:53:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCTlC-0003U5-Q2; Tue, 25 Jan 2022 21:53:54 +0000
Received: by outflank-mailman (input) for mailman id 260579;
 Tue, 25 Jan 2022 21:53:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=npsv=SJ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nCTlB-0003Tz-CU
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 21:53:53 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 483df681-7e29-11ec-8eb8-a37418f5ba1a;
 Tue, 25 Jan 2022 22:53:51 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 61952B81AC6;
 Tue, 25 Jan 2022 21:53:50 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9576BC340E0;
 Tue, 25 Jan 2022 21:53: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: 483df681-7e29-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1643147629;
	bh=sxfR+Go7NqLe3FB30WaZANN9mzWKHbuGXKlZIi/gPoY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=YcbxGH3/HGl8t8X2SnkjNlXWde0J7XupTGD9qKngOSfISUgL4Nnf8afXwHslq1f4n
	 LDBAX+Dwmd0nQGg5JGQscSXBFIKSLRaTFam2TO9vbEl+hDdnZw7fmlVBZVIK21di77
	 bZtWu1MYXavojtQrUFlXr8DociFsLVU047cgZlnUO+7RmxwtQcoCe72MpUbxwJurCj
	 lJYkvAgWtkn4x3ejfRyR/B/T9rECDHGV/tYu3rz7vBVPkRt3Osl01/cyIijbgRmAnD
	 /1qJqg7kxsXAtEeFbTdteFsrVcbkpysvKWdspoF0OVjrjEb0wdbEOhxcUWWQERTqI/
	 ugw6jGtyo6+ig==
Date: Tue, 25 Jan 2022 13:53:47 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, 
    stefanos@xilinx.com, julien@xen.org, Volodymyr_Babchuk@epam.com, 
    bertrand.marquis@arm.com, andre.przywara@arm.com, jbeulich@suse.com, 
    wei.chen@arm.com, Ayan Kumar Halder <ayankuma@xilinx.com>
Subject: Re: [XEN v4] xen/arm64: io: Decode ldr/str post-indexing
 instructions
In-Reply-To: <20220125211808.23810-1-ayankuma@xilinx.com>
Message-ID: <alpine.DEB.2.22.394.2201251340000.27308@ubuntu-linux-20-04-desktop>
References: <20220125211808.23810-1-ayankuma@xilinx.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 25 Jan 2022, Ayan Kumar Halder wrote:
> At the moment, Xen is only handling data abort with valid syndrome (i.e.
> ISV=0). Unfortunately, this doesn't cover all the instructions a domain
> could use to access MMIO regions.
> 
> For instance, a baremetal OS can use any of the following instructions, where
> x1 contains the address of the MMIO region:
> 
> 1.      ldr     x2,    [x1],    #8
> 2.      ldr     w2,    [x1],    #-4
> 3.      ldr     x2,    [x1],    #-8
> 4.      ldr     w2,    [x1],    #4
> 5.      ldrh    w2,    [x1],    #2
> 6.      ldrb    w2,    [x1],    #1
> 7.      str     x2,    [x1],    #8
> 8.      str     w2,    [x1],    #-4
> 9.      strh    w2,    [x1],    #2
> 10.     strb    w2,    [x1],    #1
> 
> In the following two instructions, Rn could theoretically be stack pointer which
> might contain the address of the MMIO region:-
> 11.     ldrb    w2,    [Rn],    #1
> 12.     ldrb    wzr,   [Rn],    #1
> 
> In order to handle post-indexing store/load instructions (like those mentioned
> above), Xen will need to fetch and decode the instruction.
> 
> This patch only cover post-index store/load instructions from AArch64 mode.
> For now, this is left unimplemented for trap from AArch32 mode.

NIT: "For now, AArch32 mode is left unimplemented."


> Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
> ---
> 
> Changelog :-
> v2 - 1. Updated the rn register after reading from it. (Pointed by Julien,
>         Stefano)
>      2. Used a union to represent the instruction opcode (Suggestd by Bertrand)
>      3. Fixed coding style issues (Pointed by Julien)
>      4. In the previous patch, I was updating dabt->sign based on the signedness
>         of imm9. This was incorrect. As mentioned in ARMv8 ARM  DDI 0487G.b,
>         Page 3221, SSE indicates the signedness of the data item loaded. In our
>         case, the data item loaded is always unsigned.
> 
> v3- 1. Handled all the variants of ldr/str (ie 64, 32, 16, 8 bit variants).
>        Thus, I have removed the check for "instr->code.opc == 0" (Suggested by
>        Andre)
>     2. Handled the scenario when rn = SP, rt = XZR (Suggested by Jan, Andre)
>     3. Added restriction for "rt != rn" (Suggested by Andre)
>     4. Moved union ldr_str_instr_class {} to decode.h. This is the header included
>        by io.c and decode.c (where the union is referred). (Suggested by Jan)
>     5. Indentation and typo fixes (Suggested by Jan)
> 
> v4- 1. Fixed the patch as per Stefano's comments on v3. They are as follows :-
>         1.1 Use macros to determine the fixed values in the instruction opcode
>         1.2 Checked if instr != NULL
>         1.3 Changed some data types and added #define ARM_64 for AArch64 specific
>             code 
>         1.4 Moved post_increment_register() to decode.c so that the decoding
>             logic is confined to a single file.
>         1.5 Moved some checks from post_increment_register() to
>             decode_loadstore_postindexing()
>         1.6 Removed a duplicate check
>     2. Updated the commit message as per Andre's comments.
>     3. Changed the names of a label and some comments. *32bit* was erroneously
>        mentioned in a label and comments in decode_loadstore_postindexing()
>        although the function handled all variants of ldr/str post indexing.
> 
>  xen/arch/arm/decode.c | 124 +++++++++++++++++++++++++++++++++++++++++-
>  xen/arch/arm/decode.h |  41 +++++++++++++-
>  xen/arch/arm/io.c     |  41 +++++++++++---
>  3 files changed, 195 insertions(+), 11 deletions(-)
> 
> diff --git a/xen/arch/arm/decode.c b/xen/arch/arm/decode.c
> index 792c2e92a7..0c12af7afa 100644
> --- a/xen/arch/arm/decode.c
> +++ b/xen/arch/arm/decode.c
> @@ -84,6 +84,101 @@ bad_thumb2:
>      return 1;
>  }
>  
> +static int decode_loadstore_postindexing(register_t pc,
> +                                         struct hsr_dabt *dabt,
> +                                         union ldr_str_instr_class *instr)
> +{
> +    struct cpu_user_regs *regs = guest_cpu_user_regs();
> +
> +    if ( instr == NULL )
> +    {
> +        gprintk(XENLOG_ERR, "instr should not be NULL\n");
> +        return -EINVAL;
> +    }
> +
> +    if ( raw_copy_from_guest(&instr->value, (void * __user)pc, sizeof (instr)) )
> +    {
> +        gprintk(XENLOG_ERR, "Could not copy the instruction from PC\n");
> +        return -EFAULT;
> +    }
> +
> +    /*
> +     * Rn -ne Rt for ldr/str instruction.
> +     * Check https://developer.arm.com/documentation/dui0802/a/CIHGJHED
> +     * (Register restrictions)
> +     *
> +     * The only exception for this is when rn = 31. It denotes SP ("Use of SP")
> +     *
> +     * And when rt = 31, it denotes wzr/xzr. (Refer
> +     * https://developer.arm.com/documentation/den0024/a/ARMv8-Registers/AArch64-special-registers
> +     * "There is no register called X31 or W31. Many instructions are encoded
> +     * such that the number 31 represents the zero register, ZR (WZR/XZR)."
> +     */
> +    if ( (instr->code.rn == instr->code.rt) && (instr->code.rn != 31) )
> +    {
> +        gprintk(XENLOG_ERR, "Rn should not be equal to Rt except for r31\n");
> +        return -EINVAL;
> +    }
> +
> +    /* First, let's check for the fixed values */
> +    if ( (instr->value & POST_INDEX_FIXED_MASK) != POST_INDEX_FIXED_VALUE )
> +    {
> +        gprintk(XENLOG_ERR, "Cannot decode instruction 0x%x",instr->value);
> +        gprintk(XENLOG_ERR, "Decoding not supported for instructions other than"
> +            " ldr/str post indexing\n");
> +        goto bad_loadstore;
> +    }
> +
> +    /*
> +     * Handle when rn = SP
> +     * Refer ArmV8 ARM DDI 0487G.b, Page - D1-2463 "Stack pointer register selection"
> +     * As we are interested in handling exceptions only from EL1 in AArch64 state,
> +     * thus M[3:0] == EL1h (Page - C5-480 "When exception taken from AArch64 state:")
> +     */
> +    if ( (instr->code.rn == 31) && ((regs->cpsr & PSR_MODE_MASK) != PSR_MODE_EL1h) )
> +    {
> +        gprintk(XENLOG_ERR, "SP is valid only for EL1h\n");
> +        goto bad_loadstore;
> +    }
> +
> +    if ( instr->code.v != 0 )
> +    {
> +        gprintk(XENLOG_ERR,
> +            "ldr/str post indexing for vector types are not supported\n");
> +        goto bad_loadstore;
> +    }
> +
> +    /* Check for STR (immediate) */
> +    if ( instr->code.opc == 0 )
> +    {
> +        dabt->write = 1;
> +    }
> +    /* Check for LDR (immediate) */
> +    else if ( instr->code.opc == 1 )
> +    {
> +        dabt->write = 0;
> +    }
> +    else
> +    {
> +        gprintk(XENLOG_ERR,
> +            "Decoding ldr/str post indexing is not supported for this variant\n");
> +        goto bad_loadstore;
> +    }
> +
> +    gprintk(XENLOG_INFO,
> +        "instr->code.rt = 0x%x, instr->code.size = 0x%x, instr->code.imm9 = %d\n",
> +        instr->code.rt, instr->code.size, instr->code.imm9);
> +
> +    update_dabt(dabt, instr->code.rt, instr->code.size, false);
> +    dabt->valid = 1;
> +
> +    return 0;
> +
> + bad_loadstore:
> +    gprintk(XENLOG_ERR, "unhandled Arm instruction 0x%x\n", instr->value);
> +    return 1;
> +}
> +
>  static int decode_thumb(register_t pc, struct hsr_dabt *dabt)
>  {
>      uint16_t instr;
> @@ -150,17 +245,44 @@ bad_thumb:
>      return 1;
>  }
>  
> -int decode_instruction(const struct cpu_user_regs *regs, struct hsr_dabt *dabt)
> +int decode_instruction(const struct cpu_user_regs *regs, struct hsr_dabt *dabt,
> +                       union ldr_str_instr_class *instr)
>  {
>      if ( is_32bit_domain(current->domain) && regs->cpsr & PSR_THUMB )
>          return decode_thumb(regs->pc, dabt);
>  
> +    if ( (is_64bit_domain(current->domain) && !psr_mode_is_32bit(regs)) )
> +    {
> +        return decode_loadstore_postindexing(regs->pc, dabt, instr);
> +    }
> +
>      /* TODO: Handle ARM instruction */
>      gprintk(XENLOG_ERR, "unhandled ARM instruction\n");
>  
>      return 1;
>  }
>  
> +#if CONFIG_ARM_64
> +void post_increment_register(union ldr_str_instr_class *instr)
> +{
> +    struct cpu_user_regs *regs = guest_cpu_user_regs();
> +    register_t val;
> +
> +    /* handle when rn = SP */
> +    if ( instr->code.rn == 31 )
> +        val = regs->sp_el1;
> +    else
> +        val = get_user_reg(regs, instr->code.rn);
> +
> +    val += instr->code.imm9;
> +
> +    if ( instr->code.rn == 31 )
> +        regs->sp_el1 = val;
> +    else
> +        set_user_reg(regs, instr->code.rn, val);
> +}
> +#endif
> +
>  /*
>   * Local variables:
>   * mode: C
> diff --git a/xen/arch/arm/decode.h b/xen/arch/arm/decode.h
> index 4613763bdb..511cd4a05f 100644
> --- a/xen/arch/arm/decode.h
> +++ b/xen/arch/arm/decode.h
> @@ -23,6 +23,35 @@
>  #include <asm/regs.h>
>  #include <asm/processor.h>
>  
> +/*
> + * Refer to the ARMv8 ARM (DDI 0487G.b), Section C4.1.4 Loads and Stores
> + * Page 318 specifies the following bit pattern for
> + * "load/store register (immediate post-indexed)".
> + *
> + * 31 30 29  27 26 25  23   21 20              11   9         4       0
> + * ___________________________________________________________________
> + * |size|1 1 1 |V |0 0 |opc |0 |      imm9     |0 1 |  Rn     |  Rt   |
> + * |____|______|__|____|____|__|_______________|____|_________|_______|
> + */
> +union ldr_str_instr_class {
> +    uint32_t value;
> +    struct ldr_str {
> +        unsigned int rt:5;     /* Rt register */
> +        unsigned int rn:5;     /* Rn register */
> +        unsigned int fixed1:2; /* value == 01b */
> +        signed int imm9:9;            /* imm9 */
> +        unsigned int fixed2:1; /* value == 0b */
> +        unsigned int opc:2;    /* opc */
> +        unsigned int fixed3:2; /* value == 00b */
> +        unsigned int v:1;      /* vector */
> +        unsigned int fixed4:3; /* value == 111b */
> +        unsigned int size:2;   /* size */
> +    } code;
> +};
> +
> +#define POST_INDEX_FIXED_MASK   0x3B200C00
> +#define POST_INDEX_FIXED_VALUE  0x38000400
> +
>  /**
>   * Decode an instruction from pc
>   * /!\ This function is not intended to fully decode an instruction. It
> @@ -35,8 +64,18 @@
>   */
>  
>  int decode_instruction(const struct cpu_user_regs *regs,
> -                       struct hsr_dabt *dabt);
> +                       struct hsr_dabt *dabt,
> +                       union ldr_str_instr_class *instr);
>  
> +/**

NIT: the Xen coding style only has /*, not /**

In any case aside from these two minor NITs that can be fixed on commit:

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> + * Update the register value for Rn
> + * /!\ This function is used to update the register value for Rn when a
> + * post indexing ldr/str instruction is decoded.
> + *
> + * This function will get:
> + * - The post indexing ldr/str instruction opcode
> + */
> +void post_increment_register(union ldr_str_instr_class *instr);
>  #endif /* __ARCH_ARM_DECODE_H_ */
>  
>  /*
> diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
> index 729287e37c..b9c15e1fe7 100644
> --- a/xen/arch/arm/io.c
> +++ b/xen/arch/arm/io.c
> @@ -106,14 +106,29 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>          .gpa = gpa,
>          .dabt = dabt
>      };
> +    int rc;
> +    union ldr_str_instr_class instr = {0};
>  
>      ASSERT(hsr.ec == HSR_EC_DATA_ABORT_LOWER_EL);
>  
> +    /*
> +     * Armv8 processor does not provide a valid syndrome for post-indexing
> +     * ldr/str instructions. So in order to process these instructions,
> +     * Xen must decode them.
> +     */
> +    if ( !info.dabt.valid )
> +    {
> +        rc = decode_instruction(regs, &info.dabt, &instr);
> +        if ( rc )
> +        {
> +            gprintk(XENLOG_DEBUG, "Unable to decode instruction\n");
> +            return IO_ABORT;
> +        }
> +    }
> +
>      handler = find_mmio_handler(v->domain, info.gpa);
>      if ( !handler )
>      {
> -        int rc;
> -
>          rc = try_fwd_ioserv(regs, v, &info);
>          if ( rc == IO_HANDLED )
>              return handle_ioserv(regs, v);
> @@ -121,10 +136,6 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>          return rc;
>      }
>  
> -    /* All the instructions used on emulated MMIO region should be valid */
> -    if ( !dabt.valid )
> -        return IO_ABORT;
> -
>      /*
>       * Erratum 766422: Thumb store translation fault to Hypervisor may
>       * not have correct HSR Rt value.
> @@ -134,7 +145,7 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>      {
>          int rc;
>  
> -        rc = decode_instruction(regs, &info.dabt);
> +        rc = decode_instruction(regs, &info.dabt, NULL);
>          if ( rc )
>          {
>              gprintk(XENLOG_DEBUG, "Unable to decode instruction\n");
> @@ -143,9 +154,21 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>      }
>  
>      if ( info.dabt.write )
> -        return handle_write(handler, v, &info);
> +        rc = handle_write(handler, v, &info);
>      else
> -        return handle_read(handler, v, &info);
> +        rc = handle_read(handler, v, &info);
> +
> +#if CONFIG_ARM_64
> +    if ( (is_64bit_domain(current->domain) && !psr_mode_is_32bit(regs)) )
> +    {
> +        if ( instr.value != 0 )
> +        {
> +            post_increment_register(&instr);
> +        }
> +    }
> +#endif
> +
> +    return rc;
>  }
>  
>  void register_mmio_handler(struct domain *d,
> -- 
> 2.17.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 22:49:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 22:49:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260587.450334 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCUct-0000gw-4l; Tue, 25 Jan 2022 22:49:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260587.450334; Tue, 25 Jan 2022 22:49:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCUcs-0000gp-W1; Tue, 25 Jan 2022 22:49:22 +0000
Received: by outflank-mailman (input) for mailman id 260587;
 Tue, 25 Jan 2022 22:49:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=npsv=SJ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nCUcr-0000gj-DS
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 22:49:21 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 072c2624-7e31-11ec-8eb8-a37418f5ba1a;
 Tue, 25 Jan 2022 23:49:19 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 7E11E60AD3;
 Tue, 25 Jan 2022 22:49:17 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7DC3DC340E0;
 Tue, 25 Jan 2022 22:49: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: 072c2624-7e31-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1643150956;
	bh=d44nehQTqCPgrUzOzIW/RDuXWxHEFXEdg1GwSo0/SLo=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=gACh1s3gRmp0OnOr2DXCIIIInq5qQs0gOcwdBO2mnDTkGzT8s4jhf+9+m9yqz7X9x
	 lqvqWqGJEaWgw7B5JD/VApsJy1cS3+0jTYCF609mRkniN0SucNSt9EPzidANLYfVvu
	 dB7zNVySev5FavyL7j9URNp5kRTmDMdRiOqbNqwCzHqvnL6TdsTpATUM9i9teE9Ve8
	 5j8h5KKsGytGvalBGFtvA9QME6jxohDMRzC4yTH56xmepTaQ/TtUQqB3O+n1CLA7wx
	 x26v5gbUQ+zWC7oJkh0dKa4pUqBM+e+b7sqAcExVsRtH2EH4NkC3prA/cPiC6oTNQg
	 OgouHlrLJnA2w==
Date: Tue, 25 Jan 2022 14:49:15 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, jgross@suse.com, Bertrand.Marquis@arm.com, 
    Volodymyr_Babchuk@epam.com, 
    Stefano Stabellini <stefano.stabellini@xilinx.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>
Subject: Re: [XEN PATCH v2 2/5] xen: export get_free_port
In-Reply-To: <14af544d-0d20-9b58-4d70-5f5086ece032@suse.com>
Message-ID: <alpine.DEB.2.22.394.2201251435030.27308@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop> <20220113005855.1180101-2-sstabellini@kernel.org> <f3b2ae98-c7af-d8c0-b0a4-52e622517c34@xen.org> <alpine.DEB.2.22.394.2201241652330.27308@ubuntu-linux-20-04-desktop>
 <14af544d-0d20-9b58-4d70-5f5086ece032@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 25 Jan 2022, Jan Beulich wrote:
> On 25.01.2022 02:10, Stefano Stabellini wrote:
> > On Sun, 23 Jan 2022, Julien Grall wrote:
> >>> diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
> >>> index da88ad141a..5b0bcaaad4 100644
> >>> --- a/xen/common/event_channel.c
> >>> +++ b/xen/common/event_channel.c
> >>> @@ -232,7 +232,7 @@ int evtchn_allocate_port(struct domain *d, evtchn_port_t
> >>> port)
> >>>       return 0;
> >>>   }
> >>>   -static int get_free_port(struct domain *d)
> >>> +int get_free_port(struct domain *d)
> >>
> >> I dislike the idea to expose get_free_port() (or whichever name we decide)
> >> because this can be easily misused.
> >>
> >> In fact looking at your next patch (#3), you are misusing it as it is meant to
> >> be called with d->event_lock. I know this doesn't much matter
> >> in your situation because this is done at boot with no other domains running
> >> (or potentially any event channel allocation). However, I still think we
> >> should get the API right.
> >>
> >> I am also not entirely happy of open-coding the allocation in domain_build.c.
> >> Instead, I would prefer if we provide a new helper to allocate an unbound
> >> event channel. This would be similar to your v1 (I still need to review the
> >> patch though).
> > 
> > I am happy to go back to v1 and address feedback on that patch. However,
> > I am having difficulties with the implementation. Jan pointed out:
> > 
> > 
> >>> -
> >>> -    chn->state = ECS_UNBOUND;
> >>
> >> This cannot be pulled ahead of the XSM check (or in general anything
> >> potentially resulting in an error), as check_free_port() relies on
> >> ->state remaining ECS_FREE until it is known that the calling function
> >> can't fail anymore.
> > 
> > This makes it difficult to reuse _evtchn_alloc_unbound for the
> > implementation of evtchn_alloc_unbound. In fact, I couldn't find a way
> > to do it.
> > 
> > Instead, I just create a new public function called
> > "evtchn_alloc_unbound" and renamed the existing funtion to
> > "_evtchn_alloc_unbound" (this to addresses Jan's feedback that the
> > static function should be the one starting with "_"). So the function
> > names are inverted compared to v1.
> > 
> > Please let me know if you have any better suggestions.
> > 
> > 
> > diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
> > index da88ad141a..c6b7dd7fbd 100644
> > --- a/xen/common/event_channel.c
> > +++ b/xen/common/event_channel.c
> > @@ -18,6 +18,7 @@
> >  
> >  #include <xen/init.h>
> >  #include <xen/lib.h>
> > +#include <xen/err.h>
> >  #include <xen/errno.h>
> >  #include <xen/sched.h>
> >  #include <xen/irq.h>
> > @@ -284,7 +285,27 @@ void evtchn_free(struct domain *d, struct evtchn *chn)
> >      xsm_evtchn_close_post(chn);
> >  }
> >  
> > -static int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
> > +struct evtchn *evtchn_alloc_unbound(struct domain *d, domid_t remote_dom)
> > +{
> > +    struct evtchn *chn;
> > +    int port;
> > +
> > +    if ( (port = get_free_port(d)) < 0 )
> > +        return ERR_PTR(port);
> > +    chn = evtchn_from_port(d, port);
> > +
> > +    evtchn_write_lock(chn);
> > +
> > +    chn->state = ECS_UNBOUND;
> > +    chn->u.unbound.remote_domid = remote_dom;
> > +    evtchn_port_init(d, chn);
> > +
> > +    evtchn_write_unlock(chn);
> > +
> > +    return chn;
> > +}
> > +
> > +static int _evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
> >  {
> >      struct evtchn *chn;
> >      struct domain *d;
> 
> Instead of introducing a clone of this function (with, btw, still
> insufficient locking), did you consider simply using the existing
> evtchn_alloc_unbound() as-is, i.e. with the caller passing
> evtchn_alloc_unbound_t *?

Yes, we tried that first. Unfortunately the (dummy) XSM check cannot
work. This is how we would want to call the function:


    alloc.dom = d->domain_id;
    alloc.remote_dom = hardware_domain->domain_id;
    rc = evtchn_alloc_unbound(&alloc);


This is the implementation of the XSM check:

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);
}


Note the usage of current->domain. If you have any suggestions on how to
fix it please let me know.


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 23:02:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 23:02:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260592.450350 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCUpr-00034b-B3; Tue, 25 Jan 2022 23:02:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260592.450350; Tue, 25 Jan 2022 23:02:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCUpr-00034U-7Z; Tue, 25 Jan 2022 23:02:47 +0000
Received: by outflank-mailman (input) for mailman id 260592;
 Tue, 25 Jan 2022 23:02: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 1nCUpp-00034O-AF
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 23:02: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 1nCUpo-0000ZZ-RS; Tue, 25 Jan 2022 23:02:44 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.30.43]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nCUpo-0003MD-G5; Tue, 25 Jan 2022 23: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=yYgmtS9iUR6TbfBy4T7HFKeTTdNYFDRD7roAb0Ppj1Q=; b=orubdRdP4QsnGpiertE/FCZWHo
	68kVgoi1Hsn8dyfBbJJ4sR+KLOnHuF3lxZP60q/kn6fNVtg3xbFwGOXM1aY6eYhkWCd9N1wbPmFbf
	sbK9K8wBVjd+R6d8nIjKWtrDwBK1Ts0RAuCYry5dwND2OcAS2vNWQiGddcei1xUX2VQU=;
Message-ID: <8eb4949c-aa9f-38fd-682e-7620b5f9e03c@xen.org>
Date: Tue, 25 Jan 2022 23:02:41 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [XEN v4] xen/arm64: io: Decode ldr/str post-indexing instructions
To: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@xilinx.com, Volodymyr_Babchuk@epam.com,
 bertrand.marquis@arm.com, andre.przywara@arm.com, jbeulich@suse.com,
 wei.chen@arm.com, Ayan Kumar Halder <ayankuma@xilinx.com>
References: <20220125211808.23810-1-ayankuma@xilinx.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220125211808.23810-1-ayankuma@xilinx.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 25/01/2022 21:18, Ayan Kumar Halder wrote:
> At the moment, Xen is only handling data abort with valid syndrome (i.e.
> ISV=0). Unfortunately, this doesn't cover all the instructions a domain
> could use to access MMIO regions.
> 
> For instance, a baremetal OS can use any of the following instructions, where
> x1 contains the address of the MMIO region:
> 
> 1.      ldr     x2,    [x1],    #8
> 2.      ldr     w2,    [x1],    #-4
> 3.      ldr     x2,    [x1],    #-8
> 4.      ldr     w2,    [x1],    #4
> 5.      ldrh    w2,    [x1],    #2
> 6.      ldrb    w2,    [x1],    #1
> 7.      str     x2,    [x1],    #8
> 8.      str     w2,    [x1],    #-4
> 9.      strh    w2,    [x1],    #2
> 10.     strb    w2,    [x1],    #1
> 
> In the following two instructions, Rn could theoretically be stack pointer which
> might contain the address of the MMIO region:-
> 11.     ldrb    w2,    [Rn],    #1
> 12.     ldrb    wzr,   [Rn],    #1
> 
> In order to handle post-indexing store/load instructions (like those mentioned
> above), Xen will need to fetch and decode the instruction.
> 
> This patch only cover post-index store/load instructions from AArch64 mode.
> For now, this is left unimplemented for trap from AArch32 mode.
> 
> Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
> ---
> 
> Changelog :-
> v2 - 1. Updated the rn register after reading from it. (Pointed by Julien,
>          Stefano)
>       2. Used a union to represent the instruction opcode (Suggestd by Bertrand)
>       3. Fixed coding style issues (Pointed by Julien)
>       4. In the previous patch, I was updating dabt->sign based on the signedness
>          of imm9. This was incorrect. As mentioned in ARMv8 ARM  DDI 0487G.b,
>          Page 3221, SSE indicates the signedness of the data item loaded. In our
>          case, the data item loaded is always unsigned.
> 
> v3- 1. Handled all the variants of ldr/str (ie 64, 32, 16, 8 bit variants).
>         Thus, I have removed the check for "instr->code.opc == 0" (Suggested by
>         Andre)
>      2. Handled the scenario when rn = SP, rt = XZR (Suggested by Jan, Andre)
>      3. Added restriction for "rt != rn" (Suggested by Andre)
>      4. Moved union ldr_str_instr_class {} to decode.h. This is the header included
>         by io.c and decode.c (where the union is referred). (Suggested by Jan)
>      5. Indentation and typo fixes (Suggested by Jan)
> 
> v4- 1. Fixed the patch as per Stefano's comments on v3. They are as follows :-
>          1.1 Use macros to determine the fixed values in the instruction opcode
>          1.2 Checked if instr != NULL
>          1.3 Changed some data types and added #define ARM_64 for AArch64 specific
>              code
>          1.4 Moved post_increment_register() to decode.c so that the decoding
>              logic is confined to a single file.
>          1.5 Moved some checks from post_increment_register() to
>              decode_loadstore_postindexing()
>          1.6 Removed a duplicate check
>      2. Updated the commit message as per Andre's comments.
>      3. Changed the names of a label and some comments. *32bit* was erroneously
>         mentioned in a label and comments in decode_loadstore_postindexing()
>         although the function handled all variants of ldr/str post indexing.
> 
>   xen/arch/arm/decode.c | 124 +++++++++++++++++++++++++++++++++++++++++-
>   xen/arch/arm/decode.h |  41 +++++++++++++-
>   xen/arch/arm/io.c     |  41 +++++++++++---
>   3 files changed, 195 insertions(+), 11 deletions(-)
> 
> diff --git a/xen/arch/arm/decode.c b/xen/arch/arm/decode.c
> index 792c2e92a7..0c12af7afa 100644
> --- a/xen/arch/arm/decode.c
> +++ b/xen/arch/arm/decode.c
> @@ -84,6 +84,101 @@ bad_thumb2:
>       return 1;
>   }
>   
> +static int decode_loadstore_postindexing(register_t pc,

This is only handling AArch64 instruction. So please add aarch64 (or 
arm64) in the name.

> +                                         struct hsr_dabt *dabt,
> +                                         union ldr_str_instr_class *instr)
> +{
> +    struct cpu_user_regs *regs = guest_cpu_user_regs();
> +
> +    if ( instr == NULL )

Wouldn't it be a programming error? If so, should it be ASSERT(...)?

> +    {
> +        gprintk(XENLOG_ERR, "instr should not be NULL\n");
> +        return -EINVAL;
> +    }
> +
> +    if ( raw_copy_from_guest(&instr->value, (void * __user)pc, sizeof (instr)) )
> +    {
> +        gprintk(XENLOG_ERR, "Could not copy the instruction from PC\n");
> +        return -EFAULT;
> +    }
> +
> +    /*
> +     * Rn -ne Rt for ldr/str instruction.
> +     * Check https://developer.arm.com/documentation/dui0802/a/CIHGJHED
> +     * (Register restrictions)

I find a bit odd that you are pointing to 3 different spec (Compiler, 
Cortex-A, Arm Arm). Can we please use only the Arm Arm? It should 
contain everything we need...

> +     *
> +     * The only exception for this is when rn = 31. It denotes SP ("Use of SP")
> +     *
> +     * And when rt = 31, it denotes wzr/xzr. (Refer
> +     * https://developer.arm.com/documentation/den0024/a/ARMv8-Registers/AArch64-special-registers

Same here.

Also, please avoid URL and use the document reference (e.g. ARM DDI 
0487F.c for the Arm Arm) are they are easy to find on google.

> +     * "There is no register called X31 or W31. Many instructions are encoded
> +     * such that the number 31 represents the zero register, ZR (WZR/XZR)."
> +     */
> +    if ( (instr->code.rn == instr->code.rt) && (instr->code.rn != 31) )
> +    {
> +        gprintk(XENLOG_ERR, "Rn should not be equal to Rt except for r31\n");
> +        return -EINVAL;
> +    }
> +
> +    /* First, let's check for the fixed values */
> +    if ( (instr->value & POST_INDEX_FIXED_MASK) != POST_INDEX_FIXED_VALUE )
> +    {
> +        gprintk(XENLOG_ERR, "Cannot decode instruction 0x%x",instr->value);
> +        gprintk(XENLOG_ERR, "Decoding not supported for instructions other than"
> +            " ldr/str post indexing\n");

Please don't split the message. Instead, it should be:

gprintk(XENLOG_ERR,
         "...");

But I would combine the two messages and simply write:

"Decoding instruction 0x%x is not supported". Not need to say that we 
support only ldr/str post indexing.

> +        goto bad_loadstore;

I am a bit confused why some of the error path is using error and other 
goto. Can you clarify it?

> +    }
> +
> +    /*
> +     * Handle when rn = SP
> +     * Refer ArmV8 ARM DDI 0487G.b, Page - D1-2463 "Stack pointer register selection"
> +     * As we are interested in handling exceptions only from EL1 in AArch64 state,
> +     * thus M[3:0] == EL1h (Page - C5-480 "When exception taken from AArch64 state:")

I read the last sentence as "We only support decoding from instruction 
run at EL1". But I can't find a check guarantee that.

> +     */
> +    if ( (instr->code.rn == 31) && ((regs->cpsr & PSR_MODE_MASK) != PSR_MODE_EL1h) )
> +    {
> +        gprintk(XENLOG_ERR, "SP is valid only for EL1h\n");
> +        goto bad_loadstore;
> +    }
> +
> +    if ( instr->code.v != 0 )
> +    {
> +        gprintk(XENLOG_ERR,
> +            "ldr/str post indexing for vector types are not supported\n");
> +        goto bad_loadstore;
> +    }
> +
> +    /* Check for STR (immediate) */
> +    if ( instr->code.opc == 0 )
> +    {
> +        dabt->write = 1;
> +    }

Coding style: We don't use {} for single line. In this case, it would 
also result to have a more readable code.

> +    /* Check for LDR (immediate) */
> +    else if ( instr->code.opc == 1 )
> +    {
> +        dabt->write = 0;
> +    }

Same.

> +    else
> +    {
> +        gprintk(XENLOG_ERR,
> +            "Decoding ldr/str post indexing is not supported for this variant\n");

The indentation looks wrong here.

> +        goto bad_loadstore;
> +    }
> +
> +    gprintk(XENLOG_INFO,
> +        "instr->code.rt = 0x%x, instr->code.size = 0x%x, instr->code.imm9 = %d\n",
> +        instr->code.rt, instr->code.size, instr->code.imm9);

The indentation looks wrong here.

> +
> +    update_dabt(dabt, instr->code.rt, instr->code.size, false);
> +    dabt->valid = 1;
> +
> +    return 0;
> +
> + bad_loadstore:
> +    gprintk(XENLOG_ERR, "unhandled Arm instruction 0x%x\n", instr->value);
> +    return 1;
> +}
> +
>   static int decode_thumb(register_t pc, struct hsr_dabt *dabt)
>   {
>       uint16_t instr;
> @@ -150,17 +245,44 @@ bad_thumb:
>       return 1;
>   }
>   
> -int decode_instruction(const struct cpu_user_regs *regs, struct hsr_dabt *dabt)
> +int decode_instruction(const struct cpu_user_regs *regs, struct hsr_dabt *dabt,
> +                       union ldr_str_instr_class *instr)

I would like to avoid make the assumption that the instr we decode will 
always be a store/load. So please rename it to something more generic.

>   {
>       if ( is_32bit_domain(current->domain) && regs->cpsr & PSR_THUMB )
>           return decode_thumb(regs->pc, dabt);
>   
> +    if ( (is_64bit_domain(current->domain) && !psr_mode_is_32bit(regs)) )

The first part could be dropped because if psr_mode_is_32bit returns 0 
then it must mean the domain is 64-bit.

> +    {
> +        return decode_loadstore_postindexing(regs->pc, dabt, instr);
> +    }

Coding style: Please drop the {}.

> +
>       /* TODO: Handle ARM instruction */
>       gprintk(XENLOG_ERR, "unhandled ARM instruction\n");
>   
>       return 1;
>   }
>   
> +#if CONFIG_ARM_64
> +void post_increment_register(union ldr_str_instr_class *instr)

instr should not be modified, so please use const. Also, it would be 
preferrable to pass the regs in parameter. So the none of the decoding 
code relies on the current regs.

Furthermore, decode.c should only contain code to update the syndrome 
and in theory Arm could decide to provide an valid syndrome in future 
revision. So I would move this code in io.c (or maybe traps.c).

> +{
> +    struct cpu_user_regs *regs = guest_cpu_user_regs();
> +    register_t val;
> +
> +    /* handle when rn = SP */
> +    if ( instr->code.rn == 31 )
> +        val = regs->sp_el1;
> +    else
> +        val = get_user_reg(regs, instr->code.rn);
> +
> +    val += instr->code.imm9;
> +
> +    if ( instr->code.rn == 31 )
> +        regs->sp_el1 = val;
> +    else
> +        set_user_reg(regs, instr->code.rn, val);
> +}
> +#endif
> +
>   /*
>    * Local variables:
>    * mode: C
> diff --git a/xen/arch/arm/decode.h b/xen/arch/arm/decode.h
> index 4613763bdb..511cd4a05f 100644
> --- a/xen/arch/arm/decode.h
> +++ b/xen/arch/arm/decode.h
> @@ -23,6 +23,35 @@
>   #include <asm/regs.h>
>   #include <asm/processor.h>
>   
> +/*
> + * Refer to the ARMv8 ARM (DDI 0487G.b), Section C4.1.4 Loads and Stores
> + * Page 318 specifies the following bit pattern for
> + * "load/store register (immediate post-indexed)".
> + *
> + * 31 30 29  27 26 25  23   21 20              11   9         4       0
> + * ___________________________________________________________________
> + * |size|1 1 1 |V |0 0 |opc |0 |      imm9     |0 1 |  Rn     |  Rt   |
> + * |____|______|__|____|____|__|_______________|____|_________|_______|
> + */
> +union ldr_str_instr_class {
> +    uint32_t value;
> +    struct ldr_str {
> +        unsigned int rt:5;     /* Rt register */
> +        unsigned int rn:5;     /* Rn register */
> +        unsigned int fixed1:2; /* value == 01b */
> +        signed int imm9:9;            /* imm9 */
> +        unsigned int fixed2:1; /* value == 0b */
> +        unsigned int opc:2;    /* opc */
> +        unsigned int fixed3:2; /* value == 00b */
> +        unsigned int v:1;      /* vector */
> +        unsigned int fixed4:3; /* value == 111b */
> +        unsigned int size:2;   /* size */
> +    } code;
> +};

Looking at the code, post_increment_register() only care about 'rn' and 
'imm9'. So rather than exposing the full instruction, could we instead 
provide the strict minimum? I.e something like:

struct
{
      enum instr_type; /* Unknown, ldr/str post increment */
      union
      {
          struct
          {
            register; /* Register to increment */
            imm;      /* Immediate to add */
          } ldr_str;
      }
      uint64_t register;
}

> +
> +#define POST_INDEX_FIXED_MASK   0x3B200C00
> +#define POST_INDEX_FIXED_VALUE  0x38000400
> +
>   /**
>    * Decode an instruction from pc
>    * /!\ This function is not intended to fully decode an instruction. It
> @@ -35,8 +64,18 @@
>    */
>   
>   int decode_instruction(const struct cpu_user_regs *regs,
> -                       struct hsr_dabt *dabt);
> +                       struct hsr_dabt *dabt,
> +                       union ldr_str_instr_class *instr);
>   
> +/**
> + * Update the register value for Rn
> + * /!\ This function is used to update the register value for Rn when a

NIT: I would drop /!\ because this looks more the description of the 
function rather than a warning.

> + * post indexing ldr/str instruction is decoded.
> + *
> + * This function will get:
> + * - The post indexing ldr/str instruction opcode
> + */
> +void post_increment_register(union ldr_str_instr_class *instr);
>   #endif /* __ARCH_ARM_DECODE_H_ */
>   
>   /*
> diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
> index 729287e37c..b9c15e1fe7 100644
> --- a/xen/arch/arm/io.c
> +++ b/xen/arch/arm/io.c
> @@ -106,14 +106,29 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>           .gpa = gpa,
>           .dabt = dabt
>       };
> +    int rc;
> +    union ldr_str_instr_class instr = {0};
>   
>       ASSERT(hsr.ec == HSR_EC_DATA_ABORT_LOWER_EL);
>   
> +    /*
> +     * Armv8 processor does not provide a valid syndrome for post-indexing
> +     * ldr/str instructions. So in order to process these instructions,
> +     * Xen must decode them.
> +     */

This sort of comments will become stall if we decide to add more 
decoding. So I would keep the comments in io.c generic (i.e. no mention 
of load/store).

> +    if ( !info.dabt.valid )

I would rather prefer if we keep using dabt.valid here rather than 
info.dabt.valid. It is shorter and keep consistent with how it was 
checked before.

> +    {
> +        rc = decode_instruction(regs, &info.dabt, &instr);
> +        if ( rc )
> +        {
> +            gprintk(XENLOG_DEBUG, "Unable to decode instruction\n");
> +            return IO_ABORT;
> +        }
> +    }
> +
>       handler = find_mmio_handler(v->domain, info.gpa);
>       if ( !handler )
>       {
> -        int rc;
> -
>           rc = try_fwd_ioserv(regs, v, &info);
>           if ( rc == IO_HANDLED )
>               return handle_ioserv(regs, v);
> @@ -121,10 +136,6 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>           return rc;
>       }
>   
> -    /* All the instructions used on emulated MMIO region should be valid */
> -    if ( !dabt.valid )
> -        return IO_ABORT;
> -

I think moving if ( !dabt.valid ) earlier should be part of a pre-patch. 
This would allows us to backport it as we don't want to forward the I/O 
to an IOREQ server if ISV=0.

>       /*
>        * Erratum 766422: Thumb store translation fault to Hypervisor may
>        * not have correct HSR Rt value.
> @@ -134,7 +145,7 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>       {
>           int rc;
>   
> -        rc = decode_instruction(regs, &info.dabt);
> +        rc = decode_instruction(regs, &info.dabt, NULL);

Could we combine the two decode_instruction()?

>           if ( rc )
>           {
>               gprintk(XENLOG_DEBUG, "Unable to decode instruction\n");
> @@ -143,9 +154,21 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>       }
>   
>       if ( info.dabt.write )
> -        return handle_write(handler, v, &info);
> +        rc = handle_write(handler, v, &info);
>       else
> -        return handle_read(handler, v, &info);
> +        rc = handle_read(handler, v, &info);
> +
> +#if CONFIG_ARM_64

Rather than using #ifdef here, I prefer if provide a stub for 
post_increment_register() that contains ASSERT_UNREACHABLE(). So the 
code in io.c is more arch-agnostic.

> +    if ( (is_64bit_domain(current->domain) && !psr_mode_is_32bit(regs)) )

This is a fairly expensive check. Can we avoid it and instead rely on 
the instruction to be decoded?

> +    {
> +        if ( instr.value != 0 )

I would prefer if we carry a boolean to indicate whether we manually 
decoded the instruction. The main advantage is one doesn't need to check 
in the Arm Arm to figure out that the 0x0 will never result to a valid 
instruction (it is thankfully used for UDF).

> +        {
> +            post_increment_register(&instr);
> +        }
> +    }
> +#endif
> +
> +    return rc;
>   }
>   
>   void register_mmio_handler(struct domain *d,

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 23:14:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 23:14:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260596.450362 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCV0o-0004gt-Fy; Tue, 25 Jan 2022 23:14:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260596.450362; Tue, 25 Jan 2022 23:14:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCV0o-0004gm-Cg; Tue, 25 Jan 2022 23:14:06 +0000
Received: by outflank-mailman (input) for mailman id 260596;
 Tue, 25 Jan 2022 23:14: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 1nCV0n-0004gQ-EB
 for xen-devel@lists.xenproject.org; Tue, 25 Jan 2022 23:14: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 1nCV0m-0000lB-S4; Tue, 25 Jan 2022 23:14:04 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.30.43]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nCV0m-0004Eb-IG; Tue, 25 Jan 2022 23:14:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=9/U1eLyTfR/V372XRkvuy/CVkY5+R1UaZ+sEH8I/1W0=; b=Hky3SlAN6HuWd43Q/XbwmHCMZg
	1OhNLXpGkPH9kUAjJJj6McImYHH6pzShqLcKT100/g0StbVYpefSYXWRXZn2qp6rgV4ZcAlwezK8F
	PHquAX3qh2obGIXQGBlTG5qgSWi3qfOKCn1tuIoSRmFc21zwLWyVOm2+LPo5t21Htwn4=;
Message-ID: <a992cf74-a75a-43d0-f83a-cd9549f586a8@xen.org>
Date: Tue, 25 Jan 2022 23:14:02 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [XEN PATCH v2 2/5] xen: export get_free_port
To: Stefano Stabellini <sstabellini@kernel.org>,
 Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, jgross@suse.com,
 Bertrand.Marquis@arm.com, Volodymyr_Babchuk@epam.com,
 Stefano Stabellini <stefano.stabellini@xilinx.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop>
 <20220113005855.1180101-2-sstabellini@kernel.org>
 <f3b2ae98-c7af-d8c0-b0a4-52e622517c34@xen.org>
 <alpine.DEB.2.22.394.2201241652330.27308@ubuntu-linux-20-04-desktop>
 <14af544d-0d20-9b58-4d70-5f5086ece032@suse.com>
 <alpine.DEB.2.22.394.2201251435030.27308@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2201251435030.27308@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 25/01/2022 22:49, Stefano Stabellini wrote:
> On Tue, 25 Jan 2022, Jan Beulich wrote:
>> On 25.01.2022 02:10, Stefano Stabellini wrote:
>>> On Sun, 23 Jan 2022, Julien Grall wrote:
>>>>> diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
>>>>> index da88ad141a..5b0bcaaad4 100644
>>>>> --- a/xen/common/event_channel.c
>>>>> +++ b/xen/common/event_channel.c
>>>>> @@ -232,7 +232,7 @@ int evtchn_allocate_port(struct domain *d, evtchn_port_t
>>>>> port)
>>>>>        return 0;
>>>>>    }
>>>>>    -static int get_free_port(struct domain *d)
>>>>> +int get_free_port(struct domain *d)
>>>>
>>>> I dislike the idea to expose get_free_port() (or whichever name we decide)
>>>> because this can be easily misused.
>>>>
>>>> In fact looking at your next patch (#3), you are misusing it as it is meant to
>>>> be called with d->event_lock. I know this doesn't much matter
>>>> in your situation because this is done at boot with no other domains running
>>>> (or potentially any event channel allocation). However, I still think we
>>>> should get the API right.
>>>>
>>>> I am also not entirely happy of open-coding the allocation in domain_build.c.
>>>> Instead, I would prefer if we provide a new helper to allocate an unbound
>>>> event channel. This would be similar to your v1 (I still need to review the
>>>> patch though).
>>>
>>> I am happy to go back to v1 and address feedback on that patch. However,
>>> I am having difficulties with the implementation. Jan pointed out:
>>>
>>>
>>>>> -
>>>>> -    chn->state = ECS_UNBOUND;
>>>>
>>>> This cannot be pulled ahead of the XSM check (or in general anything
>>>> potentially resulting in an error), as check_free_port() relies on
>>>> ->state remaining ECS_FREE until it is known that the calling function
>>>> can't fail anymore.
>>>
>>> This makes it difficult to reuse _evtchn_alloc_unbound for the
>>> implementation of evtchn_alloc_unbound. In fact, I couldn't find a way
>>> to do it.
>>>
>>> Instead, I just create a new public function called
>>> "evtchn_alloc_unbound" and renamed the existing funtion to
>>> "_evtchn_alloc_unbound" (this to addresses Jan's feedback that the
>>> static function should be the one starting with "_"). So the function
>>> names are inverted compared to v1.
>>>
>>> Please let me know if you have any better suggestions.
>>>
>>>
>>> diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
>>> index da88ad141a..c6b7dd7fbd 100644
>>> --- a/xen/common/event_channel.c
>>> +++ b/xen/common/event_channel.c
>>> @@ -18,6 +18,7 @@
>>>   
>>>   #include <xen/init.h>
>>>   #include <xen/lib.h>
>>> +#include <xen/err.h>
>>>   #include <xen/errno.h>
>>>   #include <xen/sched.h>
>>>   #include <xen/irq.h>
>>> @@ -284,7 +285,27 @@ void evtchn_free(struct domain *d, struct evtchn *chn)
>>>       xsm_evtchn_close_post(chn);
>>>   }
>>>   
>>> -static int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
>>> +struct evtchn *evtchn_alloc_unbound(struct domain *d, domid_t remote_dom)
>>> +{
>>> +    struct evtchn *chn;
>>> +    int port;
>>> +
>>> +    if ( (port = get_free_port(d)) < 0 )
>>> +        return ERR_PTR(port);
>>> +    chn = evtchn_from_port(d, port);
>>> +
>>> +    evtchn_write_lock(chn);
>>> +
>>> +    chn->state = ECS_UNBOUND;
>>> +    chn->u.unbound.remote_domid = remote_dom;
>>> +    evtchn_port_init(d, chn);
>>> +
>>> +    evtchn_write_unlock(chn);
>>> +
>>> +    return chn;
>>> +}
>>> +
>>> +static int _evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
>>>   {
>>>       struct evtchn *chn;
>>>       struct domain *d;
>>
>> Instead of introducing a clone of this function (with, btw, still
>> insufficient locking), did you consider simply using the existing
>> evtchn_alloc_unbound() as-is, i.e. with the caller passing
>> evtchn_alloc_unbound_t *?
> 
> Yes, we tried that first. Unfortunately the (dummy) XSM check cannot
> work. This is how we would want to call the function:
> 
> 
>      alloc.dom = d->domain_id;
>      alloc.remote_dom = hardware_domain->domain_id;
>      rc = evtchn_alloc_unbound(&alloc);
> 
> 
> This is the implementation of the XSM check:
> 
> 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);
> }
> 
> 
> Note the usage of current->domain. If you have any suggestions on how to
> fix it please let me know.

If I am not mistaken, current should still point to a domain (in this 
case idle).

So one alternative would be to ignore XSM if current->domain == idle and 
the system is booting (this could be part of xsm_default_action())

Another alternative would be to switch current to another domain. 'dom0' 
wouldn't be a solution because it doesn't exist for "true" dom0less. So 
a possibility would be to use dom_xen or create a fake build domain to 
be used for XSM check during boot.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Jan 25 23:14:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 23:14:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260599.450373 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCV1X-0005Dq-Pc; Tue, 25 Jan 2022 23:14:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260599.450373; Tue, 25 Jan 2022 23:14:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCV1X-0005Dh-MQ; Tue, 25 Jan 2022 23:14:51 +0000
Received: by outflank-mailman (input) for mailman id 260599;
 Tue, 25 Jan 2022 23:14: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 1nCV1W-0005DX-7Y; Tue, 25 Jan 2022 23:14: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 1nCV1W-0000ll-5D; Tue, 25 Jan 2022 23:14: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 1nCV1V-0000l5-Ac; Tue, 25 Jan 2022 23:14:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nCV1V-0004YQ-AA; Tue, 25 Jan 2022 23:14: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:Message-Id:Subject:To;
	bh=pVxSUajK3FzXc1XniNVT+PZ3qxItrJe/kJX20BNl6ms=; b=STpSeDKkMrBNcn6etRXR7BEm5W
	VMwi8oAiT4QhJv+tjUcmd/fiyuyGlgNulUbmvY5KUJKJMRm/NNMJ4RYg5KpQta3Uhaepg/wDDIIb1
	WRU0zVrPYTInRSjVEYzrUxSk+qOdvpZn1dqVrUyFjQ+AJSHTJNTfBZOcgXKWAZXm+GcA=;
To: xen-devel@lists.xenproject.org
Subject: [xen-4.14-testing bisection] complete build-amd64
Message-Id: <E1nCV1V-0004YQ-AA@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 25 Jan 2022 23:14:49 +0000

branch xen-4.14-testing
xenbranch xen-4.14-testing
job build-amd64
testid xen-build

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:  4e25a788d000e57c4d04fdd33c209d7173420580
  Bug not present: c45c2c2e09295ef3008a79d78673af0819ff4e4f
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/167837/


  commit 4e25a788d000e57c4d04fdd33c209d7173420580
  Author: Andrew Cooper <andrew.cooper3@citrix.com>
  Date:   Tue Jan 25 13:52:30 2022 +0100
  
      x86/msr: Split MSR_SPEC_CTRL handling
      
      In order to fix a VT-x bug, and support MSR_SPEC_CTRL on AMD, move
      MSR_SPEC_CTRL handling into the new {pv,hvm}_{get,set}_reg() infrastructure.
      
      Duplicate the msrs->spec_ctrl.raw accesses in the PV and VT-x paths for now.
      The SVM path is currently unreachable because of the CPUID policy.
      
      No functional change.
      
      Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
      Reviewed-by: Jan Beulich <jbeulich@suse.com>
      master commit: 6536688439dbca1d08fd6db5be29c39e3917fb2f
      master date: 2022-01-20 16:32:11 +0000


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-4.14-testing/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-4.14-testing/build-amd64.xen-build --summary-out=tmp/167837.bisection-summary --basis-template=167629 --blessings=real,real-bisect,real-retry xen-4.14-testing build-amd64 xen-build
Searching for failure / basis pass:
 167812 fail [host=himrod1] / 167629 [host=fiano1] 167415 [host=godello0] 167216 ok.
Failure / basis pass flights: 167812 / 167216
(tree with no url: minios)
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 7e5c603cba0823fd97456984f4cfc21c4c831b52 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c e4f02c12518c0fe8154950b2e34c56a92721626e 50935b88b4cd7f9cefe9eb2ffc5150d06c501d05
Basis pass dfafa8e45382939fb5dc78e9d37b97b500a43613 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 2dd4b9b3f84019668719344b40dba79d681be41c c4cf5388652e8434652e30c73aa79635b4253675
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/osstest/ovmf.git#dfafa8e45382939fb5dc78e9d37b97b500a43613-7e5c603cba0823fd97456984f4cfc21c4c831b52 git://xenbits.xen.org/qemu-xen-traditional.git#3c659044118e34603161457db9934a34f816d78b-3c659044118e34603161457db9934a34f816d78b git://xenbits.xen.org/qemu-xen.git#d7d6a60e73ee21e82f0bac2036153ccccf996e6c-d7d6a60e73ee21e82f0bac2036153ccccf996e6c git://xenbits.xen.org/osstest/seabios.git#2dd4b9b3f84019668719344b40dba79d681be\
 41c-e4f02c12518c0fe8154950b2e34c56a92721626e git://xenbits.xen.org/xen.git#c4cf5388652e8434652e30c73aa79635b4253675-50935b88b4cd7f9cefe9eb2ffc5150d06c501d05
Loaded 12639 nodes in revision graph
Searching for test results:
 167216 pass dfafa8e45382939fb5dc78e9d37b97b500a43613 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 2dd4b9b3f84019668719344b40dba79d681be41c c4cf5388652e8434652e30c73aa79635b4253675
 167415 [host=godello0]
 167629 [host=fiano1]
 167812 fail 7e5c603cba0823fd97456984f4cfc21c4c831b52 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c e4f02c12518c0fe8154950b2e34c56a92721626e 50935b88b4cd7f9cefe9eb2ffc5150d06c501d05
 167821 pass dfafa8e45382939fb5dc78e9d37b97b500a43613 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 2dd4b9b3f84019668719344b40dba79d681be41c c4cf5388652e8434652e30c73aa79635b4253675
 167823 fail 7e5c603cba0823fd97456984f4cfc21c4c831b52 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c e4f02c12518c0fe8154950b2e34c56a92721626e 50935b88b4cd7f9cefe9eb2ffc5150d06c501d05
 167824 pass 04eacd39439d55bb1a5cbd366c19b1c03d5c7846 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 2dd4b9b3f84019668719344b40dba79d681be41c c4cf5388652e8434652e30c73aa79635b4253675
 167825 pass ee1f8262b83dd88b30091e6e81221ff299796099 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 34c3fce6e7361c2e38f22a3d973d72b994285313 cbadf67bcab4e29c883410db393f4f5ef34df04a
 167826 pass 9dd14fc91c174eae87fd122c7ac70073a363527f 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 6a62e0cb0dfe9cd28b70547dbea5caf76847c3a9 d8cf50574bd307f5f8a82ab3ee8e0fdab14cd09f
 167827 pass e73d1bf96a059d81c537108f532624a7b53a428f 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 6a62e0cb0dfe9cd28b70547dbea5caf76847c3a9 45299b3cc83d3d19c24d74f7e28dcc83e8fa0c2e
 167828 pass 7e5c603cba0823fd97456984f4cfc21c4c831b52 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c e4f02c12518c0fe8154950b2e34c56a92721626e 45299b3cc83d3d19c24d74f7e28dcc83e8fa0c2e
 167829 pass 7e5c603cba0823fd97456984f4cfc21c4c831b52 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c e4f02c12518c0fe8154950b2e34c56a92721626e 6b776749ff7e45c30696235dbb4ecd2b53401cff
 167830 pass 7e5c603cba0823fd97456984f4cfc21c4c831b52 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c e4f02c12518c0fe8154950b2e34c56a92721626e c45c2c2e09295ef3008a79d78673af0819ff4e4f
 167832 fail 7e5c603cba0823fd97456984f4cfc21c4c831b52 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c e4f02c12518c0fe8154950b2e34c56a92721626e 4e25a788d000e57c4d04fdd33c209d7173420580
 167834 pass 7e5c603cba0823fd97456984f4cfc21c4c831b52 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c e4f02c12518c0fe8154950b2e34c56a92721626e c45c2c2e09295ef3008a79d78673af0819ff4e4f
 167835 fail 7e5c603cba0823fd97456984f4cfc21c4c831b52 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c e4f02c12518c0fe8154950b2e34c56a92721626e 4e25a788d000e57c4d04fdd33c209d7173420580
 167836 pass 7e5c603cba0823fd97456984f4cfc21c4c831b52 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c e4f02c12518c0fe8154950b2e34c56a92721626e c45c2c2e09295ef3008a79d78673af0819ff4e4f
 167837 fail 7e5c603cba0823fd97456984f4cfc21c4c831b52 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c e4f02c12518c0fe8154950b2e34c56a92721626e 4e25a788d000e57c4d04fdd33c209d7173420580
Searching for interesting versions
 Result found: flight 167216 (pass), for basis pass
 For basis failure, parent search stopping at 7e5c603cba0823fd97456984f4cfc21c4c831b52 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c e4f02c12518c0fe8154950b2e34c56a92721626e c45c2c2e09295ef3008a79d78673af0819ff4e4f, results HASH(0x55712d6856f8) HASH(0x55712bc85a78) HASH(0x55712d677788) For basis failure, parent search stopping at 7e5c603cba0823fd97456984f4cfc21c4c831b52 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c e4f02c125\
 18c0fe8154950b2e34c56a92721626e 6b776749ff7e45c30696235dbb4ecd2b53401cff, results HASH(0x55712d6819e8) For basis failure, parent search stopping at 7e5c603cba0823fd97456984f4cfc21c4c831b52 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c e4f02c12518c0fe8154950b2e34c56a92721626e 45299b3cc83d3d19c24d74f7e28dcc83e8fa0c2e, results HASH(0x55712d67c6c0) For basis failure, parent search stopping at e73d1bf96a059d81c537108f532624a7b53a428f 3c659044118e34603161457db9934a3\
 4f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 6a62e0cb0dfe9cd28b70547dbea5caf76847c3a9 45299b3cc83d3d19c24d74f7e28dcc83e8fa0c2e, results HASH(0x55712d679790) For basis failure, parent search stopping at 9dd14fc91c174eae87fd122c7ac70073a363527f 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 6a62e0cb0dfe9cd28b70547dbea5caf76847c3a9 d8cf50574bd307f5f8a82ab3ee8e0fdab14cd09f, results HASH(0x55712d675d80) For basis failure, parent search stopping at ee1f8262b83d\
 d88b30091e6e81221ff299796099 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 34c3fce6e7361c2e38f22a3d973d72b994285313 cbadf67bcab4e29c883410db393f4f5ef34df04a, results HASH(0x55712d672b50) For basis failure, parent search stopping at 04eacd39439d55bb1a5cbd366c19b1c03d5c7846 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 2dd4b9b3f84019668719344b40dba79d681be41c c4cf5388652e8434652e30c73aa79635b4253675, results HASH(0x55712d66eb4\
 0) For basis failure, parent search stopping at dfafa8e45382939fb5dc78e9d37b97b500a43613 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 2dd4b9b3f84019668719344b40dba79d681be41c c4cf5388652e8434652e30c73aa79635b4253675, results HASH(0x55712d65bb80) HASH(0x55712d64c5f8) Result found: flight 167812 (fail), for basis failure (at ancestor ~662)
 Repro found: flight 167821 (pass), for basis pass
 Repro found: flight 167823 (fail), for basis failure
 0 revisions at 7e5c603cba0823fd97456984f4cfc21c4c831b52 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c e4f02c12518c0fe8154950b2e34c56a92721626e c45c2c2e09295ef3008a79d78673af0819ff4e4f
No revisions left to test, checking graph state.
 Result found: flight 167830 (pass), for last pass
 Result found: flight 167832 (fail), for first failure
 Repro found: flight 167834 (pass), for last pass
 Repro found: flight 167835 (fail), for first failure
 Repro found: flight 167836 (pass), for last pass
 Repro found: flight 167837 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  4e25a788d000e57c4d04fdd33c209d7173420580
  Bug not present: c45c2c2e09295ef3008a79d78673af0819ff4e4f
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/167837/


  commit 4e25a788d000e57c4d04fdd33c209d7173420580
  Author: Andrew Cooper <andrew.cooper3@citrix.com>
  Date:   Tue Jan 25 13:52:30 2022 +0100
  
      x86/msr: Split MSR_SPEC_CTRL handling
      
      In order to fix a VT-x bug, and support MSR_SPEC_CTRL on AMD, move
      MSR_SPEC_CTRL handling into the new {pv,hvm}_{get,set}_reg() infrastructure.
      
      Duplicate the msrs->spec_ctrl.raw accesses in the PV and VT-x paths for now.
      The SVM path is currently unreachable because of the CPUID policy.
      
      No functional change.
      
      Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
      Reviewed-by: Jan Beulich <jbeulich@suse.com>
      master commit: 6536688439dbca1d08fd6db5be29c39e3917fb2f
      master date: 2022-01-20 16:32:11 +0000

pnmtopng: 141 colors found
Revision graph left in /home/logs/results/bisect/xen-4.14-testing/build-amd64.xen-build.{dot,ps,png,html,svg}.
----------------------------------------
167837: tolerable ALL FAIL

flight 167837 xen-4.14-testing real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/167837/

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 Tue Jan 25 23:30:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 25 Jan 2022 23:30:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260607.450387 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCVGE-00073u-9w; Tue, 25 Jan 2022 23:30:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260607.450387; Tue, 25 Jan 2022 23:30:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCVGE-00073n-3R; Tue, 25 Jan 2022 23:30:02 +0000
Received: by outflank-mailman (input) for mailman id 260607;
 Tue, 25 Jan 2022 23:30: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 1nCVGC-00070D-EE; Tue, 25 Jan 2022 23:30: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 1nCVGC-00012l-9J; Tue, 25 Jan 2022 23:30: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 1nCVGB-00020t-7k; Tue, 25 Jan 2022 23:29:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nCVGB-0007tL-7J; Tue, 25 Jan 2022 23:29: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=KcMmUECcRPhVS9c7c9sOPAh2USqvHr+ibu/uv6UY8nI=; b=xjABo5I4wI/YYAe8cG7pyjXyLk
	JbpnHQMEkpriPuvtqPh+wrHw6B03hjhIO/EZOflNnb6MKqDevTI5EJVgJZPJ8YWpBo3Vk3HQAbvrH
	Kmp4YJgRwz62mTDquFztRFbzBZeIg6shtN0uZ2QqV3kwiPhdBLTNztDfKGXwh4uCQT9I=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167814-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 167814: regressions - FAIL
X-Osstest-Failures:
    xen-4.16-testing:build-amd64:xen-build:fail:regression
    xen-4.16-testing:build-amd64-xsm:xen-build:fail:regression
    xen-4.16-testing:test-amd64-i386-qemuu-rhel6hvm-amd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-qemuu-rhel6hvm-intel:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-xl:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-pvshim:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-shadow:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:build-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-livepatch:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-migrupgrade:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-coresched-i386-xl:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-freebsd10-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-freebsd10-i386:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-livepatch:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-migrupgrade:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-pair:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-qemut-rhel6hvm-amd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-qemut-rhel6hvm-intel:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-xtf-amd64-amd64-1:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-xtf-amd64-amd64-2:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-xtf-amd64-amd64-3:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-xtf-amd64-amd64-4:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-xtf-amd64-amd64-5:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=d3cb5470292eeff776e0c95a7f1e1c9e427d6425
X-Osstest-Versions-That:
    xen=243026a2c5ad64c05281dc8ed2f1f57c0ee5988c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 25 Jan 2022 23:29:59 +0000

flight 167814 xen-4.16-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167814/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   6 xen-build                fail REGR. vs. 167620
 build-amd64-xsm               6 xen-build                fail REGR. vs. 167620

Tests which did not succeed, but are not blocking:
 test-amd64-i386-qemuu-rhel6hvm-amd  1 build-check(1)               blocked n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 build-check(1)             blocked n/a
 test-amd64-i386-xl            1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-pvshim     1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemut-debianhvm-amd64  1 build-check(1)         blocked n/a
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm  1 build-check(1)      blocked n/a
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-xl-qemut-win7-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemut-ws16-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-amd64  1 build-check(1)         blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1)  blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm  1 build-check(1)      blocked n/a
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked n/a
 test-amd64-i386-xl-qemuu-ws16-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-shadow     1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-vhd        1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-xsm        1 build-check(1)               blocked  n/a
 test-amd64-coresched-amd64-xl  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-xsm       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-shadow    1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-rtds      1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-ws16-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  1 build-check(1)     blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)        blocked n/a
 test-amd64-amd64-xl-qemut-ws16-amd64  1 build-check(1)             blocked n/a
 build-amd64-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  1 build-check(1)     blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-amd64  1 build-check(1)        blocked n/a
 test-amd64-amd64-xl-qcow2     1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvshim    1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit2   1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit1   1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-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-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-livepatch    1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-intel  1 build-check(1)              blocked n/a
 test-amd64-amd64-migrupgrade  1 build-check(1)               blocked  n/a
 test-amd64-amd64-pair         1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-pygrub       1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-freebsd11-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-qemuu-freebsd12-amd64  1 build-check(1)           blocked n/a
 test-amd64-i386-xl-qemuu-ovmf-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemuu-win7-amd64  1 build-check(1)              blocked n/a
 test-amd64-coresched-i386-xl  1 build-check(1)               blocked  n/a
 test-amd64-i386-freebsd10-amd64  1 build-check(1)               blocked  n/a
 test-amd64-i386-freebsd10-i386  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-livepatch     1 build-check(1)               blocked  n/a
 test-amd64-i386-migrupgrade   1 build-check(1)               blocked  n/a
 test-amd64-i386-pair          1 build-check(1)               blocked  n/a
 test-amd64-i386-qemut-rhel6hvm-amd  1 build-check(1)               blocked n/a
 test-amd64-i386-qemut-rhel6hvm-intel  1 build-check(1)             blocked n/a
 test-xtf-amd64-amd64-1        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-2        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-3        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-4        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-5        1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167620
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167620
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167620
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          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-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     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-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  d3cb5470292eeff776e0c95a7f1e1c9e427d6425
baseline version:
 xen                  243026a2c5ad64c05281dc8ed2f1f57c0ee5988c

Last test of basis   167620  2022-01-06 13:39:16 Z   19 days
Testing same since   167814  2022-01-25 13:06:50 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>
  Julien Grall <jgrall@amazon.com>

jobs:
 build-amd64-xsm                                              fail    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  fail    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          blocked 
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       blocked 
 test-xtf-amd64-amd64-2                                       blocked 
 test-xtf-amd64-amd64-3                                       blocked 
 test-xtf-amd64-amd64-4                                       blocked 
 test-xtf-amd64-amd64-5                                       blocked 
 test-amd64-amd64-xl                                          blocked 
 test-amd64-coresched-amd64-xl                                blocked 
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           blocked 
 test-amd64-coresched-i386-xl                                 blocked 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        blocked 
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         blocked 
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 blocked 
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 blocked 
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      blocked 
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       blocked 
 test-amd64-amd64-qemuu-nested-amd                            blocked 
 test-amd64-amd64-xl-pvhv2-amd                                blocked 
 test-amd64-i386-qemut-rhel6hvm-amd                           blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-dom0pvh-xl-amd                              blocked 
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    blocked 
 test-amd64-i386-xl-qemut-debianhvm-amd64                     blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    blocked 
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     blocked 
 test-amd64-i386-freebsd10-amd64                              blocked 
 test-amd64-amd64-qemuu-freebsd11-amd64                       blocked 
 test-amd64-amd64-qemuu-freebsd12-amd64                       blocked 
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         blocked 
 test-amd64-i386-xl-qemuu-ovmf-amd64                          blocked 
 test-amd64-amd64-xl-qemut-win7-amd64                         blocked 
 test-amd64-i386-xl-qemut-win7-amd64                          blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-i386-xl-qemuu-win7-amd64                          blocked 
 test-amd64-amd64-xl-qemut-ws16-amd64                         blocked 
 test-amd64-i386-xl-qemut-ws16-amd64                          blocked 
 test-amd64-amd64-xl-qemuu-ws16-amd64                         blocked 
 test-amd64-i386-xl-qemuu-ws16-amd64                          blocked 
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  blocked 
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  blocked 
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        blocked 
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         blocked 
 test-amd64-i386-freebsd10-i386                               blocked 
 test-amd64-amd64-qemuu-nested-intel                          blocked 
 test-amd64-amd64-xl-pvhv2-intel                              blocked 
 test-amd64-i386-qemut-rhel6hvm-intel                         blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-amd64-dom0pvh-xl-intel                            blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   blocked 
 test-amd64-i386-livepatch                                    blocked 
 test-amd64-amd64-migrupgrade                                 blocked 
 test-amd64-i386-migrupgrade                                  blocked 
 test-amd64-amd64-xl-multivcpu                                blocked 
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        blocked 
 test-amd64-i386-pair                                         blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   blocked 
 test-amd64-i386-xl-pvshim                                    blocked 
 test-amd64-amd64-pygrub                                      blocked 
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    blocked 
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     blocked 
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             blocked 
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              blocked 
 test-amd64-amd64-xl-shadow                                   blocked 
 test-amd64-i386-xl-shadow                                    blocked 
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       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 d3cb5470292eeff776e0c95a7f1e1c9e427d6425
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Tue Jan 25 13:39:44 2022 +0100

    x86/spec-ctrl: Fix NMI race condition with VT-x MSR_SPEC_CTRL handling
    
    The logic was based on a mistaken understanding of how NMI blocking on vmexit
    works.  NMIs are only blocked for EXIT_REASON_NMI, and not for general exits.
    Therefore, an NMI can in general hit early in the vmx_asm_vmexit_handler path,
    and the guest's value will be clobbered before it is saved.
    
    Switch to using MSR load/save lists.  This causes the guest value to be saved
    atomically with respect to NMIs/MCEs/etc.
    
    First, update vmx_cpuid_policy_changed() to configure the load/save lists at
    the same time as configuring the intercepts.  This function is always used in
    remote context, so extend the vmx_vmcs_{enter,exit}() block to cover the whole
    function, rather than having multiple remote acquisitions of the same VMCS.
    
    Both of vmx_{add,del}_guest_msr() can fail.  The -ESRCH delete case is fine,
    but all others are fatal to the running of the VM, so handle them using
    domain_crash() - this path is only used during domain construction anyway.
    
    Second, update vmx_{get,set}_reg() to use the MSR load/save lists rather than
    vcpu_msrs, and update the vcpu_msrs comment to describe the new state
    location.
    
    Finally, adjust the entry/exit asm.
    
    Because the guest value is saved and loaded atomically, we do not need to
    manually load the guest value, nor do we need to enable SCF_use_shadow.  This
    lets us remove the use of DO_SPEC_CTRL_EXIT_TO_GUEST.  Additionally,
    SPEC_CTRL_ENTRY_FROM_PV gets removed too, because on an early entry failure,
    we're no longer in the guest MSR_SPEC_CTRL context needing to switch back to
    Xen's context.
    
    The only action remaining is to load Xen's MSR_SPEC_CTRL value on vmexit.  We
    could in principle use the host msr list, but is expected to complicated
    future work.  Delete DO_SPEC_CTRL_ENTRY_FROM_HVM entirely, and use a shorter
    code sequence to simply reload Xen's setting from the top-of-stack block.
    
    Adjust the comment at the top of spec_ctrl_asm.h in light of this bugfix.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 81f0eaadf84d273a6ff8df3660b874a02d0e7677
    master date: 2022-01-20 16:32:11 +0000

commit 21d70feed10571543061abeaedd21ce8adc60114
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Tue Jan 25 13:39:31 2022 +0100

    x86/spec-ctrl: Drop SPEC_CTRL_{ENTRY_FROM,EXIT_TO}_HVM
    
    These were written before Spectre/Meltdown went public, and there was large
    uncertainty in how the protections would evolve.  As it turns out, they're
    very specific to Intel hardware, and not very suitable for AMD.
    
    Drop the macros, opencoding the relevant subset of functionality, and leaving
    grep-fodder to locate the logic.  No change at all for VT-x.
    
    For AMD, the only relevant piece of functionality is DO_OVERWRITE_RSB,
    although we will soon be adding (different) logic to handle MSR_SPEC_CTRL.
    
    This has a marginal improvement of removing an unconditional pile of long-nops
    from the vmentry/exit path.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 95b13fa43e0753b7514bef13abe28253e8614f62
    master date: 2022-01-20 16:32:11 +0000

commit cc6fe1bb13197ddc79af480c3c74ce6d6ed3ef2c
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Tue Jan 25 13:39:16 2022 +0100

    x86/msr: Split MSR_SPEC_CTRL handling
    
    In order to fix a VT-x bug, and support MSR_SPEC_CTRL on AMD, move
    MSR_SPEC_CTRL handling into the new {pv,hvm}_{get,set}_reg() infrastructure.
    
    Duplicate the msrs->spec_ctrl.raw accesses in the PV and VT-x paths for now.
    The SVM path is currently unreachable because of the CPUID policy.
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 6536688439dbca1d08fd6db5be29c39e3917fb2f
    master date: 2022-01-20 16:32:11 +0000

commit 20b00921f8a62b1b19d893dd468473161706e02d
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Tue Jan 25 13:38:42 2022 +0100

    x86/guest: Introduce {get,set}_reg() infrastructure
    
    Various registers have per-guest-type or per-vendor locations or access
    requirements.  To support their use from common code, provide accessors which
    allow for per-guest-type behaviour.
    
    For now, just infrastructure handling default cases and expectations.
    Subsequent patches will start handling registers using this infrastructure.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 88d3ff7ab15da277a85b39735797293fb541c718
    master date: 2022-01-20 16:32:11 +0000

commit 8509519268ea6a467a97ca7891a0dca2bfe88cf7
Author: Jason Andryuk <jandryuk@gmail.com>
Date:   Tue Jan 25 13:38:14 2022 +0100

    libxl/PCI: Fix PV hotplug & stubdom coldplug
    
    commit 0fdb48ffe7a1 "libxl: Make sure devices added by pci-attach are
    reflected in the config" broken PCI hotplug (xl pci-attach) for PV
    domains when it moved libxl__create_pci_backend() later in the function.
    
    This also broke HVM + stubdom PCI passthrough coldplug.  For that, the
    PCI devices are hotplugged to a running PV stubdom, and then the QEMU
    QMP device_add commands are made to QEMU inside the stubdom.
    
    A running PV domain calls libxl__wait_for_backend().  With the current
    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:
    1) The domain is PV
    2) The domain is running
    3) The backend is already present
    
    This is because:
    
    1) xen-pcifront is only used for PV.  It does not load for HVM domains
       where QEMU is used.
    
    2) If the domain is not running (starting), then the frontend state will
       be Initialising.  xen-pciback waits for the frontend to transition to
       at Initialised before attempting to connect.  So a wait for a
       non-running domain is not applicable as the backend will not
       transition to Connected.
    
    3) For presence, 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 or changing to
       some other state like closing.  If we are creating the backend, then
       we don't have to worry about the state since it is being created.
    
    Fixes: 0fdb48ffe7a1 ("libxl: Make sure devices added by pci-attach are
    reflected in the config")
    
    Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
    Reviewed-by: Paul Durrant <paul@xen.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    master commit: 73ee2795aaef2cb086ac078bffe1c6b33c0ea91b
    master date: 2022-01-13 14:33:16 +0100

commit fd343ec092f3fac828f82d076ffaaca8ed3b61c9
Author: Jan Beulich <jbeulich@suse.com>
Date:   Tue Jan 25 13:37:59 2022 +0100

    x86/time: improve TSC / CPU freq calibration accuracy
    
    While the problem report was for extreme errors, even smaller ones would
    better be avoided: The calculated period to run calibration loops over
    can (and usually will) be shorter than the actual time elapsed between
    first and last platform timer and TSC reads. Adjust values returned from
    the init functions accordingly.
    
    On a Skylake system I've tested this on accuracy (using HPET) went from
    detecting in some cases more than 220kHz too high a value to about
    ±2kHz. On other systems (or on this system, but with PMTMR) the original
    error range was much smaller, with less (in some cases only very little)
    improvement.
    
    Reported-by: James Dingwall <james-xen@dingwall.me.uk>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: a5c9a80af34eefcd6e31d0ed2b083f452cd9076d
    master date: 2022-01-13 14:31:52 +0100

commit 4774d06097e524913fbd4ffcea3307275c5215d1
Author: Jan Beulich <jbeulich@suse.com>
Date:   Tue Jan 25 13:37:45 2022 +0100

    x86/time: use relative counts in calibration loops
    
    Looping until reaching/exceeding a certain value is error prone: If the
    target value is close enough to the wrapping point, the loop may not
    terminate at all. Switch to using delta values, which then allows to
    fold the two loops each into just one.
    
    Fixes: 93340297802b ("x86/time: calibrate TSC against platform timer")
    Reported-by: Roger Pau Monné <roger.pau@citrix.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 467191641d2a2fd2e43b3ae7b80399f89d339980
    master date: 2022-01-13 14:30:18 +0100

commit 18d0f501596bd55412282aac3db1f0a349a68f50
Author: Julien Grall <jgrall@amazon.com>
Date:   Tue Jan 25 13:35:23 2022 +0100

    passthrough/x86: stop pirq iteration immediately in case of error
    
    pt_pirq_iterate() will iterate in batch over all the PIRQs. The outer
    loop will bail out if 'rc' is non-zero but the inner loop will continue.
    
    This means 'rc' will get clobbered and we may miss any errors (such as
    -ERESTART in the case of the callback pci_clean_dpci_irq()).
    
    This is CVE-2022-23035 / XSA-395.
    
    Fixes: c24536b636f2 ("replace d->nr_pirqs sized arrays with radix tree")
    Fixes: f6dd295381f4 ("dpci: replace tasklet with softirq")
    Signed-off-by: Julien Grall <jgrall@amazon.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 9480a1a519cf016623f657dc544cb372a82b5708
    master date: 2022-01-25 13:27:02 +0100

commit 965fbc8e801c91938dd7efa831fb9078a78deeb7
Author: Julien Grall <jgrall@amazon.com>
Date:   Tue Jan 25 13:35:08 2022 +0100

    xen/grant-table: Only decrement the refcounter when grant is fully unmapped
    
    The grant unmapping hypercall (GNTTABOP_unmap_grant_ref) is not a
    simple revert of the changes done by the grant mapping hypercall
    (GNTTABOP_map_grant_ref).
    
    Instead, it is possible to partially (or even not) clear some flags.
    This will leave the grant is mapped until a future call where all
    the flags would be cleared.
    
    XSA-380 introduced a refcounting that is meant to only be dropped
    when the grant is fully unmapped. Unfortunately, unmap_common() will
    decrement the refcount for every successful call.
    
    A consequence is a domain would be able to underflow the refcount
    and trigger a BUG().
    
    Looking at the code, it is not clear to me why a domain would
    want to partially clear some flags in the grant-table. But as
    this is part of the ABI, it is better to not change the behavior
    for now.
    
    Fix it by checking if the maptrack handle has been released before
    decrementing the refcounting.
    
    This is CVE-2022-23034 / XSA-394.
    
    Fixes: 9781b51efde2 ("gnttab: replace mapkind()")
    Signed-off-by: Julien Grall <jgrall@amazon.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 975a8fb45ca186b3476e5656c6ad5dad1122dbfd
    master date: 2022-01-25 13:25:49 +0100

commit acdb6744460c6264785c031a37d99b8557c56195
Author: Julien Grall <jgrall@amazon.com>
Date:   Tue Jan 25 13:34:55 2022 +0100

    xen/arm: p2m: Always clear the P2M entry when the mapping is removed
    
    Commit 2148a125b73b ("xen/arm: Track page accessed between batch of
    Set/Way operations") allowed an entry to be invalid from the CPU PoV
    (lpae_is_valid()) but valid for Xen (p2m_is_valid()). This is useful
    to track which page is accessed and only perform an action on them
    (e.g. clean & invalidate the cache after a set/way instruction).
    
    Unfortunately, __p2m_set_entry() is only zeroing the P2M entry when
    lpae_is_valid() returns true. This means the entry will not be zeroed
    if the entry was valid from Xen PoV but invalid from the CPU PoV for
    tracking purpose.
    
    As a consequence, this will allow a domain to continue to access the
    page after it was removed.
    
    Resolve the issue by always zeroing the entry if it the LPAE bit is
    set or the entry is about to be removed.
    
    This is CVE-2022-23033 / XSA-393.
    
    Reported-by: Dmytro Firsov <Dmytro_Firsov@epam.com>
    Fixes: 2148a125b73b ("xen/arm: Track page accessed between batch of Set/Way operations")
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Signed-off-by: Julien Grall <jgrall@amazon.com>
    master commit: a428b913a002eb2b7425b48029c20a52eeee1b5a
    master date: 2022-01-25 13:25:01 +0100
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 00:31:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 00:31:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260619.450413 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCWDv-0006R8-Dm; Wed, 26 Jan 2022 00:31:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260619.450413; Wed, 26 Jan 2022 00: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 1nCWDv-0006R1-Ae; Wed, 26 Jan 2022 00:31:43 +0000
Received: by outflank-mailman (input) for mailman id 260619;
 Wed, 26 Jan 2022 00:31:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pz6t=SK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nCWDu-0006Qv-UO
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 00:31:42 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 53ff2914-7e3f-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 01:31:40 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 6FBCA614B7;
 Wed, 26 Jan 2022 00:31:39 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9D068C340E0;
 Wed, 26 Jan 2022 00:31: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: 53ff2914-7e3f-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1643157098;
	bh=aGYf0SYL39xCNKZLO3G8tWZmf9aqLIQk1+Fmix7xf+4=;
	h=Date:From:To:cc:Subject:From;
	b=M4bTQU4k7OOhzwbM5rAE0mNfJvCL/FPPQ97SMVDKKLr2iHQctGkL8VNb1odpfHld/
	 ax3QjAwExxmyeXGqGG1wuqrYpOZIvgqRUCDDqytUJqBuhN6Fpnu73xOuno1eh08qA5
	 G6wsRrv6JUeduu8p5Y8UWv2e05+YUO5abpkB5JrJ6yH3nQvBytxuk3GMW0UzRyMlWh
	 Tm08VTPtRjh8t0UqPkJSdUY10wrfkqlq1405fUFP2ggGH0Us2syWkwrpF+dKzuiDpO
	 7i7PotC+DDc56PD/c7OAUpieZD5eTUwUQItoOiEcLSl0KZbQZ3VhqkPsCVP/dGpnJR
	 WMrMQMK5Pmq2w==
Date: Tue, 25 Jan 2022 16:31:38 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: xen-devel@lists.xenproject.org
cc: sstabellini@kernel.org, cardoe@cardoe.com, anthony.perard@citrix.com, 
    andrew.cooper3@citrix.com, wl@xen.org
Subject: automation: remove python-dev from unstable-arm64v8.dockerfile
Message-ID: <alpine.DEB.2.22.394.2201251629430.27308@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Debian unstable doesn't have the legacy python-dev package anymore.

Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>

diff --git a/automation/build/debian/unstable-arm64v8.dockerfile b/automation/build/debian/unstable-arm64v8.dockerfile
index 4409f596e1..5c73458d9d 100644
--- a/automation/build/debian/unstable-arm64v8.dockerfile
+++ b/automation/build/debian/unstable-arm64v8.dockerfile
@@ -15,7 +15,6 @@ RUN apt-get update && \
         zlib1g-dev \
         libncurses5-dev \
         libssl-dev \
-        python-dev \
         python3-dev \
         xorg-dev \
         uuid-dev \


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 00:37:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 00:37:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260622.450424 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCWJf-0007DF-2l; Wed, 26 Jan 2022 00:37:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260622.450424; Wed, 26 Jan 2022 00: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 1nCWJe-0007D8-Vk; Wed, 26 Jan 2022 00:37:38 +0000
Received: by outflank-mailman (input) for mailman id 260622;
 Wed, 26 Jan 2022 00:37:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=hAYL=SK=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1nCWJd-0007D2-Vl
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 00:37:37 +0000
Received: from ppsw-33.csi.cam.ac.uk (ppsw-33.csi.cam.ac.uk [131.111.8.133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 27d8a5dc-7e40-11ec-8eb8-a37418f5ba1a;
 Wed, 26 Jan 2022 01:37:36 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:50972)
 by ppsw-33.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.137]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1nCWJU-000sWE-hR (Exim 4.95) (return-path <amc96@srcf.net>);
 Wed, 26 Jan 2022 00:37:28 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 370101FBD8;
 Wed, 26 Jan 2022 00:37:28 +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: 27d8a5dc-7e40-11ec-8eb8-a37418f5ba1a
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <724c92c3-46cb-fb67-f194-5b36b2fceaa5@srcf.net>
Date: Wed, 26 Jan 2022 00:37:27 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: automation: remove python-dev from unstable-arm64v8.dockerfile
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
Cc: cardoe@cardoe.com, anthony.perard@citrix.com, andrew.cooper3@citrix.com,
 wl@xen.org
References: <alpine.DEB.2.22.394.2201251629430.27308@ubuntu-linux-20-04-desktop>
From: Andrew Cooper <amc96@srcf.net>
In-Reply-To: <alpine.DEB.2.22.394.2201251629430.27308@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26/01/2022 00:31, Stefano Stabellini wrote:
> Debian unstable doesn't have the legacy python-dev package anymore.
>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>

That's fine, but:

$ git grep python-dev -- automation/build/debian/unstable*
automation/build/debian/unstable-arm64v8.dockerfile:18:        python-dev \
automation/build/debian/unstable-i386.dockerfile:20:        python-dev \
automation/build/debian/unstable.dockerfile:18:        python-dev \

All 3 want editing together, even if we don't have a reason to rebuild
the x86 containers yet.

With that done, Acked-by: Andrew Cooper <andrew.cooper3@citrix.com> to
save a trivial repost.


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 01:03:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 01:03:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260627.450440 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCWiC-00048G-5I; Wed, 26 Jan 2022 01:03:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260627.450440; Wed, 26 Jan 2022 01: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 1nCWiC-000489-2K; Wed, 26 Jan 2022 01:03:00 +0000
Received: by outflank-mailman (input) for mailman id 260627;
 Wed, 26 Jan 2022 01:02:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pz6t=SK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nCWiA-000483-LO
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 01:02:58 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b23d1c40-7e43-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 02:02:56 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 7E41561511;
 Wed, 26 Jan 2022 01:02:55 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 88EB7C340E0;
 Wed, 26 Jan 2022 01:02: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: b23d1c40-7e43-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1643158974;
	bh=rA0hWKMmMrB+gFtIdVMu0r46MpGhkpm2ydmZjiFt7Sc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=jucYhFUSa7E3Ky3NBWuWSeOHfrhOPkq1GL+/t+nPqLI5uvUDxTWNJORsCpupl/Trf
	 TMfcIZQ3BS8wbrQ/TULNi4ice30huGHHnK9h4+MprefbIbHjk/p4NOMcITPvlRt/BE
	 eQu83I6tGDSZkVBh1OQiahkq7WeX7X2tSBMxtDlYk74wF1LyJw1uWp9UIwGW7OfnbU
	 TPZga7UpWSW317ubb3OhzwT/foz6ZcgnDZxW3oTDnY3u4MAxvc4VS6N0yv09dG9+iZ
	 oMdlqbmYcQ4ouDO1tfMU28GWtcWsmxKQuYFpkI6gHlvH9Oy8qP8BDEWfcIOT85ziaE
	 FHwPLEcAvNvhQ==
Date: Tue, 25 Jan 2022 17:02:53 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Bertrand Marquis <Bertrand.Marquis@arm.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    Juergen Gross <jgross@suse.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Luca Miccio <lucmiccio@gmail.com>, 
    Stefano Stabellini <stefano.stabellini@xilinx.com>, 
    Penny Zheng <Penny.Zheng@arm.com>
Subject: Re: [XEN PATCH v2 3/5] xen/arm: configure dom0less domain for enabling
 xenstore after boot
In-Reply-To: <62b2ebe5-5b15-ab0e-97ee-c1a6f5a2c2c1@xen.org>
Message-ID: <alpine.DEB.2.22.394.2201251659550.27308@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop> <20220113005855.1180101-3-sstabellini@kernel.org> <B458F1F7-4DF0-4919-8E16-11E889A9ABB2@arm.com> <62b2ebe5-5b15-ab0e-97ee-c1a6f5a2c2c1@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Sun, 23 Jan 2022, Julien Grall wrote:
> On 13/01/2022 14:15, Bertrand Marquis wrote:
> > Hi Stefano,
> > 
> > + Penny in CC for the question.
> > 
> > > On 13 Jan 2022, at 00:58, Stefano Stabellini <sstabellini@kernel.org>
> > > wrote:
> > > 
> > > From: Luca Miccio <lucmiccio@gmail.com>
> > > 
> > > If "xen,enhanced" is enabled, then add to dom0less domains:
> > > 
> > > - the hypervisor node in device tree
> > > - the xenstore event channel
> > > 
> > > The xenstore event channel is also used for the first notification to
> > > let the guest know that xenstore has become available.
> > > 
> > > Signed-off-by: Luca Miccio <lucmiccio@gmail.com>
> > > Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
> > > CC: Julien Grall <julien@xen.org>
> > > CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> > > CC: Bertrand Marquis <bertrand.marquis@arm.com>
> > 
> > Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
> > 
> > Just one question: GUEST_GNTTAB_BASE is fixed but could it be a problem for
> > a direct map guest in the future ?
> It will be an issue. I think we can re-use the same method as we do in dom0
> (see find_gnttab_region()).

Good idea. I prototyped it and it works fine.  I am not going to add the
patch to this series because it needs Penny's but I can easily provide a
patch to her for it.


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 01:03:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 01:03:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260629.450451 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCWiY-0004b7-DF; Wed, 26 Jan 2022 01:03:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260629.450451; Wed, 26 Jan 2022 01:03:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCWiY-0004b0-AO; Wed, 26 Jan 2022 01:03:22 +0000
Received: by outflank-mailman (input) for mailman id 260629;
 Wed, 26 Jan 2022 01:03:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pz6t=SK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nCWiX-000483-2m
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 01:03:21 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bf9b26a6-7e43-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 02:03:20 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id B29F9B81B8E;
 Wed, 26 Jan 2022 01:03:17 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0DFC2C340E0;
 Wed, 26 Jan 2022 01:03: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: bf9b26a6-7e43-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1643158996;
	bh=TcSyfDxg5Xc774oyT9BRu16FwZmobC0ospPJaZQRiV0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ljzdtxroo7Cfppu/701M/7/JMW6FL293p2bkVnuY3tgea4CX064NQQoTbM/udehHs
	 Is9g+KRufnXt7iKBK+yEPzyP4ZbEO/ReuHrqhCk0Yeuz3XkLTO1E3Ho5HSqJUTK9dg
	 UjLIxH8IrgtBzkWQioMgyoCZ8hfs/iFKFbpiJFap2pFsDlResflhie3v39nRGGBBh7
	 mYkuaDO6NbZTC9fOJRQXibF9OAmfl32gUGrjIMXGcBTVch9gAZ7MearlYX0RGKNzGx
	 7yf47hCTABWDFfwMX3KlIozS4G00mtY8YurP2cLSRncOAfk/xnrWAeJbQM+/Dvz9ns
	 WXu4T4cF8o6fA==
Date: Tue, 25 Jan 2022 17:03:15 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org, 
    jgross@suse.com, Bertrand.Marquis@arm.com, Volodymyr_Babchuk@epam.com, 
    Stefano Stabellini <stefano.stabellini@xilinx.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [XEN PATCH v2 2/5] xen: export get_free_port
In-Reply-To: <a992cf74-a75a-43d0-f83a-cd9549f586a8@xen.org>
Message-ID: <alpine.DEB.2.22.394.2201251530400.27308@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop> <20220113005855.1180101-2-sstabellini@kernel.org> <f3b2ae98-c7af-d8c0-b0a4-52e622517c34@xen.org> <alpine.DEB.2.22.394.2201241652330.27308@ubuntu-linux-20-04-desktop>
 <14af544d-0d20-9b58-4d70-5f5086ece032@suse.com> <alpine.DEB.2.22.394.2201251435030.27308@ubuntu-linux-20-04-desktop> <a992cf74-a75a-43d0-f83a-cd9549f586a8@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 25 Jan 2022, Julien Grall wrote:
> On 25/01/2022 22:49, Stefano Stabellini wrote:
> > On Tue, 25 Jan 2022, Jan Beulich wrote:
> > > On 25.01.2022 02:10, Stefano Stabellini wrote:
> > > > On Sun, 23 Jan 2022, Julien Grall wrote:
> > > > > > diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
> > > > > > index da88ad141a..5b0bcaaad4 100644
> > > > > > --- a/xen/common/event_channel.c
> > > > > > +++ b/xen/common/event_channel.c
> > > > > > @@ -232,7 +232,7 @@ int evtchn_allocate_port(struct domain *d,
> > > > > > evtchn_port_t
> > > > > > port)
> > > > > >        return 0;
> > > > > >    }
> > > > > >    -static int get_free_port(struct domain *d)
> > > > > > +int get_free_port(struct domain *d)
> > > > > 
> > > > > I dislike the idea to expose get_free_port() (or whichever name we
> > > > > decide)
> > > > > because this can be easily misused.
> > > > > 
> > > > > In fact looking at your next patch (#3), you are misusing it as it is
> > > > > meant to
> > > > > be called with d->event_lock. I know this doesn't much matter
> > > > > in your situation because this is done at boot with no other domains
> > > > > running
> > > > > (or potentially any event channel allocation). However, I still think
> > > > > we
> > > > > should get the API right.
> > > > > 
> > > > > I am also not entirely happy of open-coding the allocation in
> > > > > domain_build.c.
> > > > > Instead, I would prefer if we provide a new helper to allocate an
> > > > > unbound
> > > > > event channel. This would be similar to your v1 (I still need to
> > > > > review the
> > > > > patch though).
> > > > 
> > > > I am happy to go back to v1 and address feedback on that patch. However,
> > > > I am having difficulties with the implementation. Jan pointed out:
> > > > 
> > > > 
> > > > > > -
> > > > > > -    chn->state = ECS_UNBOUND;
> > > > > 
> > > > > This cannot be pulled ahead of the XSM check (or in general anything
> > > > > potentially resulting in an error), as check_free_port() relies on
> > > > > ->state remaining ECS_FREE until it is known that the calling function
> > > > > can't fail anymore.
> > > > 
> > > > This makes it difficult to reuse _evtchn_alloc_unbound for the
> > > > implementation of evtchn_alloc_unbound. In fact, I couldn't find a way
> > > > to do it.
> > > > 
> > > > Instead, I just create a new public function called
> > > > "evtchn_alloc_unbound" and renamed the existing funtion to
> > > > "_evtchn_alloc_unbound" (this to addresses Jan's feedback that the
> > > > static function should be the one starting with "_"). So the function
> > > > names are inverted compared to v1.
> > > > 
> > > > Please let me know if you have any better suggestions.
> > > > 
> > > > 
> > > > diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
> > > > index da88ad141a..c6b7dd7fbd 100644
> > > > --- a/xen/common/event_channel.c
> > > > +++ b/xen/common/event_channel.c
> > > > @@ -18,6 +18,7 @@
> > > >     #include <xen/init.h>
> > > >   #include <xen/lib.h>
> > > > +#include <xen/err.h>
> > > >   #include <xen/errno.h>
> > > >   #include <xen/sched.h>
> > > >   #include <xen/irq.h>
> > > > @@ -284,7 +285,27 @@ void evtchn_free(struct domain *d, struct evtchn
> > > > *chn)
> > > >       xsm_evtchn_close_post(chn);
> > > >   }
> > > >   -static int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
> > > > +struct evtchn *evtchn_alloc_unbound(struct domain *d, domid_t
> > > > remote_dom)
> > > > +{
> > > > +    struct evtchn *chn;
> > > > +    int port;
> > > > +
> > > > +    if ( (port = get_free_port(d)) < 0 )
> > > > +        return ERR_PTR(port);
> > > > +    chn = evtchn_from_port(d, port);
> > > > +
> > > > +    evtchn_write_lock(chn);
> > > > +
> > > > +    chn->state = ECS_UNBOUND;
> > > > +    chn->u.unbound.remote_domid = remote_dom;
> > > > +    evtchn_port_init(d, chn);
> > > > +
> > > > +    evtchn_write_unlock(chn);
> > > > +
> > > > +    return chn;
> > > > +}
> > > > +
> > > > +static int _evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
> > > >   {
> > > >       struct evtchn *chn;
> > > >       struct domain *d;
> > > 
> > > Instead of introducing a clone of this function (with, btw, still
> > > insufficient locking), did you consider simply using the existing
> > > evtchn_alloc_unbound() as-is, i.e. with the caller passing
> > > evtchn_alloc_unbound_t *?
> > 
> > Yes, we tried that first. Unfortunately the (dummy) XSM check cannot
> > work. This is how we would want to call the function:
> > 
> > 
> >      alloc.dom = d->domain_id;
> >      alloc.remote_dom = hardware_domain->domain_id;
> >      rc = evtchn_alloc_unbound(&alloc);
> > 
> > 
> > This is the implementation of the XSM check:
> > 
> > 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);
> > }
> > 
> > 
> > Note the usage of current->domain. If you have any suggestions on how to
> > fix it please let me know.
> 
> If I am not mistaken, current should still point to a domain (in this case
> idle).
> 
> So one alternative would be to ignore XSM if current->domain == idle and the
> system is booting (this could be part of xsm_default_action())
> 
> Another alternative would be to switch current to another domain. 'dom0'
> wouldn't be a solution because it doesn't exist for "true" dom0less. So a
> possibility would be to use dom_xen or create a fake build domain to be used
> for XSM check during boot.


Great suggestions! I went with the first suggestion above and confirmed
it solved the problem! With the appended patch I can just call the
current implementation of evtchn_alloc_unbound (made non-static) from
domain_build.c without any issues.

Are you guys OK with something like this?

diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
index b024119896..99c63ea8c5 100644
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -92,7 +92,9 @@ static always_inline int xsm_default_action(
             return 0;
         /* fall through */
     case XSM_PRIV:
-        if ( is_control_domain(src) )
+        if ( is_control_domain(src) ||
+             src->domain_id == DOMID_IDLE ||
+             src->domain_id == DOMID_XEN )
             return 0;
         return -EPERM;
     default:


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 01:26:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 01:26:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260636.450475 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCX4f-0007O7-D0; Wed, 26 Jan 2022 01:26:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260636.450475; Wed, 26 Jan 2022 01:26:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCX4f-0007O0-9i; Wed, 26 Jan 2022 01:26:13 +0000
Received: by outflank-mailman (input) for mailman id 260636;
 Wed, 26 Jan 2022 01:26: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 1nCX4e-0007Nq-Jn; Wed, 26 Jan 2022 01:26: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 1nCX4e-0005H4-IG; Wed, 26 Jan 2022 01:26: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 1nCX4e-0006gn-4n; Wed, 26 Jan 2022 01:26:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nCX4e-0001kE-49; Wed, 26 Jan 2022 01:26: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=t8VA0xsdW08N9pzRR+TH1f+z9fxqGmaJDCNxnn5rBN4=; b=7JzbAZ2UMpfSQjBaenoZEivWJG
	YCvUF2EGUavz/Y3L3OQGR2gvpQUe/1EJcUxZxeyqWrblaSJ7otp1cx2lSWZ8sVh8ihP7LOoq4+Md8
	Ng3toYsR4eYbZC6yN4gNzbmNVOVBLaLgm1DA7po2t0u3RJfpBkNr56OrInLV0NEEclJk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167816-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.12-testing test] 167816: 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-raw:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check: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-qemuu-nested-amd:debian-hvm-install/l1/l2: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-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-amd64-i386-libvirt-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: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-amd64-libvirt:migrate-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-seattle: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-seattle: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-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-vhd: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-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-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-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:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl: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-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-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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-libvirt-raw: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-raw: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:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.12-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.12-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=71e9d0c94dd710bf26adf115ee0a2dbee30bb8c1
X-Osstest-Versions-That:
    xen=b9aa1635b38a7bc092d60123b87c545f25db31e4
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 26 Jan 2022 01:26:12 +0000

flight 167816 xen-4.12-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167816/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qcow2    19 guest-localmigrate/x10       fail  like 167214
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167214
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167214
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167214
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167214
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167214
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167214
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167214
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167214
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167214
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167214
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167214
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167214
 test-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-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 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-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-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-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-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-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  71e9d0c94dd710bf26adf115ee0a2dbee30bb8c1
baseline version:
 xen                  b9aa1635b38a7bc092d60123b87c545f25db31e4

Last test of basis   167214  2021-12-06 15:36:21 Z   50 days
Testing same since   167816  2022-01-25 14:06:00 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-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-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   b9aa1635b3..71e9d0c94d  71e9d0c94dd710bf26adf115ee0a2dbee30bb8c1 -> stable-4.12


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 01:45:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 01:45:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260644.450486 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCXNQ-0001XK-8U; Wed, 26 Jan 2022 01:45:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260644.450486; Wed, 26 Jan 2022 01: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 1nCXNQ-0001XC-2m; Wed, 26 Jan 2022 01:45:36 +0000
Received: by outflank-mailman (input) for mailman id 260644;
 Wed, 26 Jan 2022 01:45:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pz6t=SK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nCXNP-0001X6-8z
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 01:45:35 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a589e0f4-7e49-11ec-8eb8-a37418f5ba1a;
 Wed, 26 Jan 2022 02:45:33 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 4D54461583;
 Wed, 26 Jan 2022 01:45:31 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4BF35C340E0;
 Wed, 26 Jan 2022 01:45: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: a589e0f4-7e49-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1643161530;
	bh=D9QCx8tErIgPSpghBzu3gO4U7oJe6Bs/keFgXoZPebE=;
	h=From:To:Cc:Subject:Date:From;
	b=onq/hE8t1Q7fdPmSh4wyxS/ZtjoeFiax+vduAkHFatIlGvqiCa6/y3/WElR9Pxc5n
	 T3Ki8OG1P/mdX1RxXijWG8jqwn+hbITMVePo81jcsj0QEOLhVUcR7aaykN3wm8EBgm
	 a1ql+IKh0WwMy+YSc5Y5V5RZascuwD3TKc1VB8j5azmuJEhXFxLoAY4ji4ExWsT3M6
	 GeAInG4p27GxNYH0N/BenBkaf0Do16O6uBWacSxm6IbbIxWxupIlWGhlUXhX1lMxaO
	 Iv6lPSPIyFB48L5chG7shb8+BSzeX+TdyQwzVsqxHfMeZ/Vr5wIeVKt4+yzJCMB3Gz
	 OL8+tjE9IOgGQ==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	cardoe@cardoe.com,
	anthony.perard@citrix.com,
	andrew.cooper3@citrix.com,
	wl@xen.org,
	Stefano Stabellini <stefano.stabellini@xilinx.com>
Subject: [PATCH v2] automation: remove python-dev from debian unstable build containers
Date: Tue, 25 Jan 2022 17:45:28 -0800
Message-Id: <20220126014528.1826070-1-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Stefano Stabellini <stefano.stabellini@xilinx.com>

Debian unstable doesn't have the legacy python-dev package anymore.
Note: only the arm64v8 container has been rebuilt.

Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
Changes in v2:
- remove python-dev from all debian unstable containers
---
 automation/build/debian/unstable-arm64v8.dockerfile | 1 -
 automation/build/debian/unstable-i386.dockerfile    | 1 -
 automation/build/debian/unstable.dockerfile         | 1 -
 3 files changed, 3 deletions(-)

diff --git a/automation/build/debian/unstable-arm64v8.dockerfile b/automation/build/debian/unstable-arm64v8.dockerfile
index 4409f596e1..5c73458d9d 100644
--- a/automation/build/debian/unstable-arm64v8.dockerfile
+++ b/automation/build/debian/unstable-arm64v8.dockerfile
@@ -15,7 +15,6 @@ RUN apt-get update && \
         zlib1g-dev \
         libncurses5-dev \
         libssl-dev \
-        python-dev \
         python3-dev \
         xorg-dev \
         uuid-dev \
diff --git a/automation/build/debian/unstable-i386.dockerfile b/automation/build/debian/unstable-i386.dockerfile
index 06ffb97384..6ce54a481b 100644
--- a/automation/build/debian/unstable-i386.dockerfile
+++ b/automation/build/debian/unstable-i386.dockerfile
@@ -17,7 +17,6 @@ RUN apt-get update && \
         zlib1g-dev \
         libncurses5-dev \
         libssl-dev \
-        python-dev \
         python3-dev \
         xorg-dev \
         uuid-dev \
diff --git a/automation/build/debian/unstable.dockerfile b/automation/build/debian/unstable.dockerfile
index bd61cd12c2..9de766d596 100644
--- a/automation/build/debian/unstable.dockerfile
+++ b/automation/build/debian/unstable.dockerfile
@@ -15,7 +15,6 @@ RUN apt-get update && \
         zlib1g-dev \
         libncurses5-dev \
         libssl-dev \
-        python-dev \
         python3-dev \
         xorg-dev \
         uuid-dev \
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 01:45:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 01:45:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260646.450497 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCXNk-0001zK-EE; Wed, 26 Jan 2022 01:45:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260646.450497; Wed, 26 Jan 2022 01:45:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCXNk-0001zD-B6; Wed, 26 Jan 2022 01:45:56 +0000
Received: by outflank-mailman (input) for mailman id 260646;
 Wed, 26 Jan 2022 01:45:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pz6t=SK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nCXNi-0001X6-S3
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 01:45:54 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b2ade12f-7e49-11ec-8eb8-a37418f5ba1a;
 Wed, 26 Jan 2022 02:45:54 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 17957B81AC6;
 Wed, 26 Jan 2022 01:45:53 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 45A5FC340E0;
 Wed, 26 Jan 2022 01:45:51 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b2ade12f-7e49-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1643161551;
	bh=U69e5fcyXZZh3khbXEvteuifH/gk5ZFQwP5QmsYnhWc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=l01n8I/Yekdeckhh/K3Afle3XenKLvD4jQxPqvqKDcPOP7dePcZaMhf7fCgjRjRZJ
	 qrNl55SyxxPb6XjUK2WxEW/b5jy1G+O2+6WBrdO/PQF2aEnXmMt1D42IpHFqtgFFAT
	 YslFnECCtDeWsaRnN10eR0ahSxd++3Q0rJ7VSpkuOMqYOCclv3jRX9QgM5XvNzccT7
	 pGpKmFIMEKpR/Rug5BwveMbTQG1251ZpeCZAiL1hi5hbGwrbOLlJ3969bRjDaqasSd
	 8NU1C6mKdoUVwHM6DfbIohgTVKfMPo40e11DAY9Ri7V1nl/p4WSO7FKOdejPDMGBoG
	 4qOhzW89JxIjg==
Date: Tue, 25 Jan 2022 17:45:50 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>, 
    xen-devel@lists.xenproject.org, sstabellini@kernel.org, 
    stefanos@xilinx.com, Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com, 
    andre.przywara@arm.com, jbeulich@suse.com, wei.chen@arm.com, 
    Ayan Kumar Halder <ayankuma@xilinx.com>
Subject: Re: [XEN v4] xen/arm64: io: Decode ldr/str post-indexing
 instructions
In-Reply-To: <8eb4949c-aa9f-38fd-682e-7620b5f9e03c@xen.org>
Message-ID: <alpine.DEB.2.22.394.2201251519120.27308@ubuntu-linux-20-04-desktop>
References: <20220125211808.23810-1-ayankuma@xilinx.com> <8eb4949c-aa9f-38fd-682e-7620b5f9e03c@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 25 Jan 2022, Julien Grall wrote:
> > +
> >       /* TODO: Handle ARM instruction */
> >       gprintk(XENLOG_ERR, "unhandled ARM instruction\n");
> >         return 1;
> >   }
> >   +#if CONFIG_ARM_64
> > +void post_increment_register(union ldr_str_instr_class *instr)
> 
> instr should not be modified, so please use const. Also, it would be
> preferrable to pass the regs in parameter. So the none of the decoding code
> relies on the current regs.
> 
> Furthermore, decode.c should only contain code to update the syndrome and in
> theory Arm could decide to provide an valid syndrome in future revision. So I
> would move this code in io.c (or maybe traps.c).

I was the one to suggest moving it to decode.c to keep it closer to the
decoding function it is related to, and also because it felt a bit out
of place in io.c.

I don't feel strongly about this at all; I am fine either way.


> > +{
> > +    struct cpu_user_regs *regs = guest_cpu_user_regs();
> > +    register_t val;
> > +
> > +    /* handle when rn = SP */
> > +    if ( instr->code.rn == 31 )
> > +        val = regs->sp_el1;
> > +    else
> > +        val = get_user_reg(regs, instr->code.rn);
> > +
> > +    val += instr->code.imm9;
> > +
> > +    if ( instr->code.rn == 31 )
> > +        regs->sp_el1 = val;
> > +    else
> > +        set_user_reg(regs, instr->code.rn, val);
> > +}
> > +#endif
> > +
> >   /*
> >    * Local variables:
> >    * mode: C
> > diff --git a/xen/arch/arm/decode.h b/xen/arch/arm/decode.h
> > index 4613763bdb..511cd4a05f 100644
> > --- a/xen/arch/arm/decode.h
> > +++ b/xen/arch/arm/decode.h
> > @@ -23,6 +23,35 @@
> >   #include <asm/regs.h>
> >   #include <asm/processor.h>
> >   +/*
> > + * Refer to the ARMv8 ARM (DDI 0487G.b), Section C4.1.4 Loads and Stores
> > + * Page 318 specifies the following bit pattern for
> > + * "load/store register (immediate post-indexed)".
> > + *
> > + * 31 30 29  27 26 25  23   21 20              11   9         4       0
> > + * ___________________________________________________________________
> > + * |size|1 1 1 |V |0 0 |opc |0 |      imm9     |0 1 |  Rn     |  Rt   |
> > + * |____|______|__|____|____|__|_______________|____|_________|_______|
> > + */
> > +union ldr_str_instr_class {
> > +    uint32_t value;
> > +    struct ldr_str {
> > +        unsigned int rt:5;     /* Rt register */
> > +        unsigned int rn:5;     /* Rn register */
> > +        unsigned int fixed1:2; /* value == 01b */
> > +        signed int imm9:9;            /* imm9 */
> > +        unsigned int fixed2:1; /* value == 0b */
> > +        unsigned int opc:2;    /* opc */
> > +        unsigned int fixed3:2; /* value == 00b */
> > +        unsigned int v:1;      /* vector */
> > +        unsigned int fixed4:3; /* value == 111b */
> > +        unsigned int size:2;   /* size */
> > +    } code;
> > +};
> 
> Looking at the code, post_increment_register() only care about 'rn' and
> 'imm9'. So rather than exposing the full instruction, could we instead provide
> the strict minimum? I.e something like:
> 
> struct
> {
>      enum instr_type; /* Unknown, ldr/str post increment */
>      union
>      {
>          struct
>          {
>            register; /* Register to increment */
>            imm;      /* Immediate to add */
>          } ldr_str;
>      }
>      uint64_t register;
> }
 
The full description helped a lot during review. I would prefer to keep
it if you don't feel strongly about it.


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 04:01:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 04:01:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260657.450525 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCZUr-0008Qn-EV; Wed, 26 Jan 2022 04:01:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260657.450525; Wed, 26 Jan 2022 04: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 1nCZUr-0008Qg-BB; Wed, 26 Jan 2022 04:01:25 +0000
Received: by outflank-mailman (input) for mailman id 260657;
 Wed, 26 Jan 2022 04:01: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 1nCZUq-0008QW-Jj; Wed, 26 Jan 2022 04:01: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 1nCZUq-0008Us-I4; Wed, 26 Jan 2022 04:01: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 1nCZUq-0005ex-6q; Wed, 26 Jan 2022 04:01:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nCZUq-0000zw-60; Wed, 26 Jan 2022 04:01:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=9AX7GNTXbhkmLDR8FoBQUfoyb5bCkzkT/+f2Tw6a40U=; b=EzQfKSlLQBAl51Ktg/LGOJApNl
	zXc3gPsUUbPy2Dz5oXXdk6cO7saNef8EgQzPJZ4U4uc0H/OT2Lu66iZfnRzZVURlFt6DM+A/L0Mqk
	n1y0yo65dVRWLpL8W+IJHGwBsKWiQXaD0Sb5VCLYuNfshqrtXBBFo80wqE3OaK97LWRI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167817-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.13-testing test] 167817: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check: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-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-xsm: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-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-libvirt-xsm: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-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-credit2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit1:saverestore-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-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:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-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-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-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-raw:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-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-armhf-armhf-libvirt-qcow2: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-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-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-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-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-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=ce49a1d6d819f4587436b4ff73334d3676c1aab6
X-Osstest-Versions-That:
    xen=d0e2c2762b981abd984af66a844ac12d8bf8f813
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 26 Jan 2022 04:01:24 +0000

flight 167817 xen-4.13-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167817/

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 167215
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167215
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167215
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167215
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167215
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167215
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167215
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167215
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167215
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167215
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167215
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167215
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-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-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  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-credit1  16 saverestore-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-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  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-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                  ce49a1d6d819f4587436b4ff73334d3676c1aab6
baseline version:
 xen                  d0e2c2762b981abd984af66a844ac12d8bf8f813

Last test of basis   167215  2021-12-06 15:36:28 Z   50 days
Testing same since   167817  2022-01-25 14:06:12 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   d0e2c2762b..ce49a1d6d8  ce49a1d6d819f4587436b4ff73334d3676c1aab6 -> stable-4.13


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 07:27:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 07:27:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260671.450555 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCchz-0004SO-DP; Wed, 26 Jan 2022 07:27:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260671.450555; Wed, 26 Jan 2022 07:27: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 1nCchz-0004SH-9R; Wed, 26 Jan 2022 07:27:11 +0000
Received: by outflank-mailman (input) for mailman id 260671;
 Wed, 26 Jan 2022 07:27:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OZ3N=SK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nCchx-0004Rs-HO
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 07:27:09 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5de044f2-7e79-11ec-8eb8-a37418f5ba1a;
 Wed, 26 Jan 2022 08:27:07 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2112.outbound.protection.outlook.com [104.47.18.112]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-3-pbNVz2CNMliLxo1dvg2ZIw-1; Wed, 26 Jan 2022 08:27:05 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by HE1PR04MB3004.eurprd04.prod.outlook.com (2603:10a6:7:1f::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Wed, 26 Jan
 2022 07:27:02 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.015; Wed, 26 Jan 2022
 07:27:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5de044f2-7e79-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643182027;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=OEX4N2B01Jxm0BJaGdJHzMtz1VgusAUO3h04R7rCRj4=;
	b=FcRrSGpvMpe0eMMUMk5Hsg84d9BD30ssCZID1m4zSdxpD501vlrStjVo8fkbHD1rHawHKi
	AZj2geNVSFFM/dUcOP4VZEcNUBP+CjlhUWFIMXLX/QOC9nngQPFmceQfkvXYx6Wtopug1+
	xrwpuYXkz4e+HRGv9fAaWKgGGcDB5iU=
X-MC-Unique: pbNVz2CNMliLxo1dvg2ZIw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Hac++wy36rKJjnofiAASRw+8JsEQGhIzy5yPtlai524Gy8ISiPLQKi68R7NDtn/I5UnPKkl/eST5E/rHNKfhmWCCcjsTIOvIxizLLWASCKDOsPPcQEXlveeC8bZc0hn+hHMK0inMQCPRvSQuHPOheN+4Z9OGzVjb2P976L3hc1xm/KKdWR1+VdgrYPLCYZHxfj0VSTb3A7PoEfHMZFvRqA9pW8QAGnvw8uii/UJtwwLHUPUz8H5ua5BT8m5zUZ1uAqW1U//FySaHTV9F3jetLGeSeo2lqOLZ2yVMf/16aKDFfVwhJh12TY2UWLfzS2l+oUcmJ9g5jAqpC9qYv1kNPQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OEX4N2B01Jxm0BJaGdJHzMtz1VgusAUO3h04R7rCRj4=;
 b=nze/kLHRDjzqJoWj0Epp9lOwQH0jDX8Yod783FrgowPz/JfhaRgMxMAUABfb1wOsT6AiThXQn1E47N8UrcVh9ukzY9nQC/YKnrGGxOFEuc8d4KGAy6LbtCocKUoVyiX05q9o3yGHUjWkEbX5RrDmsaBBnOSYSUPZd4JhSP6GY489DSlOM174nf8jbHjrkML0j6Z4F8lJNMw9IKY7rk4vvXNZtAR7hL1iDRQxWq6ADAW0cMtSvT1c1PVPS/Rf3sQmrrvKGji/iE0lVgJ2Mcvni2oujSjTW2n1f+7GD390XNk08tHDbvW4JrcAvXlXoGUh2hKfYTrt5rf6nAv3rdKKkQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0d873a8f-a461-80df-755e-f636039c7177@suse.com>
Date: Wed, 26 Jan 2022 08:26:59 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [XEN PATCH v2 2/5] xen: export get_free_port
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, jgross@suse.com,
 Bertrand.Marquis@arm.com, Volodymyr_Babchuk@epam.com,
 Stefano Stabellini <stefano.stabellini@xilinx.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>
References: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop>
 <20220113005855.1180101-2-sstabellini@kernel.org>
 <f3b2ae98-c7af-d8c0-b0a4-52e622517c34@xen.org>
 <alpine.DEB.2.22.394.2201241652330.27308@ubuntu-linux-20-04-desktop>
 <14af544d-0d20-9b58-4d70-5f5086ece032@suse.com>
 <alpine.DEB.2.22.394.2201251435030.27308@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2201251435030.27308@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR0602CA0022.eurprd06.prod.outlook.com
 (2603:10a6:203:a3::32) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 02f242b9-4c26-4677-a8e1-08d9e09d3ef0
X-MS-TrafficTypeDiagnostic: HE1PR04MB3004:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-Microsoft-Antispam-PRVS:
	<HE1PR04MB3004055CDAE1A829B6862827B3209@HE1PR04MB3004.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:
	z5zDw8SJTj0JWTS/TPH0eUrl0hM9PHZusf1xkQ8e75QxjL/mTmi/F3S3s65xSGheUU+zIA89I560US//5mCtDszJPBQ6KlRldsPF13rde1fxuIphBmT4oIjCnGUWGJ97fOauWOGkdKe07IjyW0IajR4BSibJiX3Sl2A1fkqMKs0vncTt+g8LBlHgquiRJzJdUYPX+1yl7xcZ8Gnma3iXX8sqnomSwA5XgpmQOKS6wpTAPoqjbBZTtQ7Mj+mhB+lJUyxf/XXymLsQoFl6R9yDQiSQbyRWScFQKsfuu1JKeAFO+8L/cnODVoGl0fFqBWP+uBJXFHoorgqSPVsOwS0oC5nN0dWxkyF36gkppMh3KvhNpc+nbS/bgSKPRd5QaMkx5FEvdTMd2i2FGCVI8f0TB56I8nNXIyGmaKIcg833Z7CuHrDazuUN1sM6cbeyPfkh+MCrUr4G7BwQtHh9LgD279gAdd7iKzTSP+ZHfQTGbPni1IG7Et2KKf2FYy/fSSp9Ql4xcrcySuOOvPGf/moriyQZcBlcEMip4igB60aaTHp3tbpHKLCAD6UQFp1FeEjAuzWKibr07HKXLq2QubIbL+9zvWNEkaEK4Ib2wrt/wBwaD40a5V4lO/Q8eCaPVeKV4xShCINc52rlQRLXVHMqAFcn4XimmhfCJQsKZSbuPNmh+/lsquz9yNzmUxyv4I9d/a3H0JoCKl48t8OH0ovKk9US9tkSrKKg7Vvkn3f0/Ok=
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)(66476007)(66946007)(6506007)(53546011)(186003)(86362001)(2616005)(31686004)(6666004)(38100700002)(6512007)(6486002)(31696002)(316002)(54906003)(2906002)(6916009)(8676002)(36756003)(8936002)(26005)(4326008)(508600001)(5660300002)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZFVWTDNiM1JhamRuaUgzRWxZanl4bUVaeHF2a2VUV0Y3RmpBNWszRnZTZ3Jz?=
 =?utf-8?B?bTdieVVMTUcxTHhlZWZzbFFEREtNd2JXRjgxT2QwUEdGcEQybnZuUlNGR01Q?=
 =?utf-8?B?R3h2L2ovbGJGcGREcGJGd3hhblNoR2l5YXZYRE5QQjUyQXBCaStUR2FiaWxX?=
 =?utf-8?B?SWs3WHJCNW84NDQ1ZzNYRDA0RFhybkNwdHJ4UEJOcnFySFV2TVFrdktRV1hK?=
 =?utf-8?B?akxhU0k5dTZRZkJnZWJqTERGeTNHS1BRVnpkSE45ZmhGYkxJbVFWMkdGVWE1?=
 =?utf-8?B?dWV3L2E3NUNmZDlxaGRPUk9jQTllUm43ZWF4Q2owWjhTZTVTdzI0b3Z6b2Zo?=
 =?utf-8?B?Qk56aTlqTmlOS3VTWkt6Vmd0SWRFRVRWYWkwQVQyQ1JXdlN1dWZXcnZwWnBL?=
 =?utf-8?B?bUpidXFiUVZMZDNMK2JyMFIvVUw1U1duaElpVmwwU1EraEI4Vkc4WktUek9O?=
 =?utf-8?B?MXJyNWRhVFVnd0cwSDdURVFwTVJZNytVaER1SzRYR2Q5RDBCVkV4OGc4dld2?=
 =?utf-8?B?LytvaXZtU1pweko4TUFNWFBwZmw2RjVGbml2ZzlVK0tlaU1jVVhFTlMyelZG?=
 =?utf-8?B?b1hSNzhOUC9rMWlQWWU4NXVoMCtKNVUxckN0Z2wzVXBvTStmd2U1YWFsay9Z?=
 =?utf-8?B?bW8raHFLNS9McWRKZTlZU3QwaEpkSHF6M2wwWWRYb2dkWUgyRjZtWUVkYTMy?=
 =?utf-8?B?S0c2Y1RTQWlQaW5icXBtZTFPaEhDN3NUaWdLZTNLMnpONVJlL2J5ZlpNajJu?=
 =?utf-8?B?aktncUt0Mnhlck96SHoxcHJjY0dYS0R2ZHhnbmtZbFFxVFBtalpZZ3NoQjA3?=
 =?utf-8?B?ZlJYUFFUU0QxcG82UFljU2JiYUFLc2oxTjZLa3RTL1lmL2xMdVJtcUcxOHJu?=
 =?utf-8?B?NFhReG9ndTgrRHJEOWFlQXlHT2FjeDc4dWtrbFdJV3A3REpVaWlUV28yZElK?=
 =?utf-8?B?QTVGbVlyU3k5TEVwb3FmbGV6YmpJWUZUM0lhVG9iOGlJejlEeUM5UkMrcU9j?=
 =?utf-8?B?UEdRRktiSCtRL1U1Y1BWWFdBVkR2WmI4VCt3eEV1MTdNUmg2K2dBaHdaemZY?=
 =?utf-8?B?NytuU0dLODZlWVNZSzF2VCsxSTNKWDgrNzJSTCs1cWlYSkI4dm0yRHR1bllV?=
 =?utf-8?B?b0tQVU9tVnhBeExhUTNJamNzY3FEMWF5dmJnL2crMTlrdmhYYnF1M2NnUERT?=
 =?utf-8?B?Z0dNdnFjSDEzaDJBNUlyd0YweXd6RVBidm1hQVpURXc2WEI1dUNCV2Z1NHFi?=
 =?utf-8?B?RlM4R2ZxTFZpQ3RRaUlXVFM0QndySzVRNzFLY3JleDlLT0lpNEdnd0dPU0JG?=
 =?utf-8?B?Rko4NE9ieElQWXVoZnNYdXhzNmMrdkJXMDcxUnE3dTJwdk5uY3ozWUF0SVh3?=
 =?utf-8?B?SzEvR28vVnovaWl2MW9xeGhoZzEzQUs3RTQyUE1WdDE0YjNHaXZOY25nMm1W?=
 =?utf-8?B?OGpFSjVmeWdEWWFDYm1YcnBZbnNUOXl6YUVub0tVUnBhR1lzaS9nS1JNQzdQ?=
 =?utf-8?B?OGgrNDZNUXhjcFRURWdGbVFrNXprdkUzZzJpR1dnUXVLSzVEQUVveGx0MTFp?=
 =?utf-8?B?Nk56aWFvSGNTdnBBOHhiT0M5RlNDSWJCUkNwVjkvc09kcTltZXdwWmNtZDZQ?=
 =?utf-8?B?RkNxTmtxRi9JRkF5cG9ZVUdLMkR4N2Z4V3ZrWHVnWlZZbHVzZFpXQ0g3USs0?=
 =?utf-8?B?Q0xQN2kvd1pLZ3VRR00xcW5MR3RKcHRMeS9jd2NtNDhWYUhCaXIxR2dybnVU?=
 =?utf-8?B?RlU1azlrRWFPWGpwZnlmNDREL0xScExPUkN3MG13VU44QWJmV1cxRzNDTzk3?=
 =?utf-8?B?OTNqNUN0U2FXVzV5UWp2anlZWllDMnJxS1ZwdktKWlY4bjhXVVBNbFU3MStp?=
 =?utf-8?B?WnkrKzl4cnRad0llcnZnWVJiSlY4RHFZT1FGWCtGZGk2ZkNkOFQ1QWx5YXVv?=
 =?utf-8?B?TkZ0T1ZzSW54VzZjc3lWOTloS3E2NWcyKzl2d0FnNGNjckdNZ0ZJMnlVNmFC?=
 =?utf-8?B?Wm1NcEFsTnpxZWFvb1VFczduUlZxaGlmck9lbzhLdmNpcUdPc1N3QU92elRV?=
 =?utf-8?B?TXRsMk9pdnhWcnN4SFl1NXRVeExCakYremxLNjR1dGlNY2lLbis0N3hoSzJI?=
 =?utf-8?B?cDY1MWJiS2kvd20wWGpmeU1oc1NPZUJ0Z0tlN3pwdk54eGdOdkk2RFRMSU1H?=
 =?utf-8?Q?fefYS0+FoGx0CzMz03vVQR0=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 02f242b9-4c26-4677-a8e1-08d9e09d3ef0
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 07:27:02.2738
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xL/NE5OW5dvKaDKXA3cS6bRsmU5IcB/pSUsRCbNXw+mmhxex1MZcVVgNcNO3fvAy9+JdzOvQrjBltRj1ffkKng==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR04MB3004

On 25.01.2022 23:49, Stefano Stabellini wrote:
> On Tue, 25 Jan 2022, Jan Beulich wrote:
>> On 25.01.2022 02:10, Stefano Stabellini wrote:
>>> @@ -284,7 +285,27 @@ void evtchn_free(struct domain *d, struct evtchn *chn)
>>>      xsm_evtchn_close_post(chn);
>>>  }
>>>  
>>> -static int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
>>> +struct evtchn *evtchn_alloc_unbound(struct domain *d, domid_t remote_dom)
>>> +{
>>> +    struct evtchn *chn;
>>> +    int port;
>>> +
>>> +    if ( (port = get_free_port(d)) < 0 )
>>> +        return ERR_PTR(port);
>>> +    chn = evtchn_from_port(d, port);
>>> +
>>> +    evtchn_write_lock(chn);
>>> +
>>> +    chn->state = ECS_UNBOUND;
>>> +    chn->u.unbound.remote_domid = remote_dom;
>>> +    evtchn_port_init(d, chn);
>>> +
>>> +    evtchn_write_unlock(chn);
>>> +
>>> +    return chn;
>>> +}
>>> +
>>> +static int _evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
>>>  {
>>>      struct evtchn *chn;
>>>      struct domain *d;
>>
>> Instead of introducing a clone of this function (with, btw, still
>> insufficient locking), did you consider simply using the existing
>> evtchn_alloc_unbound() as-is, i.e. with the caller passing
>> evtchn_alloc_unbound_t *?
> 
> Yes, we tried that first. Unfortunately the (dummy) XSM check cannot
> work. This is how we would want to call the function:
> 
> 
>     alloc.dom = d->domain_id;
>     alloc.remote_dom = hardware_domain->domain_id;
>     rc = evtchn_alloc_unbound(&alloc);
> 
> 
> This is the implementation of the XSM check:
> 
> 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);
> }
> 
> 
> Note the usage of current->domain. If you have any suggestions on how to
> fix it please let me know.

As an alternative to Julien's suggestion the function could also simply
be given a new boolean parameter indicating whether to bypass the XSM
check. That would be more explicit than deriving from system state.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 07:30:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 07:30:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260674.450566 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCclP-0005nT-UC; Wed, 26 Jan 2022 07:30:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260674.450566; Wed, 26 Jan 2022 07:30:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCclP-0005nM-Pi; Wed, 26 Jan 2022 07:30:43 +0000
Received: by outflank-mailman (input) for mailman id 260674;
 Wed, 26 Jan 2022 07:30:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OZ3N=SK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nCclO-0005nE-5t
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 07:30:42 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dd31dfba-7e79-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 08:30:41 +0100 (CET)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2052.outbound.protection.outlook.com [104.47.2.52]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-10-yfRJQ-1HNHm22A8w_kNRQA-2; Wed, 26 Jan 2022 08:30:39 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM0PR04MB4001.eurprd04.prod.outlook.com (2603:10a6:208:5d::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Wed, 26 Jan
 2022 07:30:36 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.015; Wed, 26 Jan 2022
 07:30: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: dd31dfba-7e79-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643182240;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=JmtMMuS2hcA8W4tX+j+C+yJxQBfFZ8yEL6wHR22FHPE=;
	b=GwP52T//OTYoBZElyxAaWdwwIc5DPT3aPS/U4QjOkq5ia7jv1+vez1QUPO2YzKRo+wHL8H
	xvobsQOz+jibdgeCVgdEee3ra8W0zm5j2Npl62U+ZkMkuMwxasjf31ZrejSJ9/g9l/R6CG
	wKNuHKyvL8xAnM8JmVltKoDCPE9IW7E=
X-MC-Unique: yfRJQ-1HNHm22A8w_kNRQA-2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GBhlZR+rX51PMNghgALhL5JLQKsgA1NhQ7THla3KPIYbiYhT6077Z8FJ0Z81zB9a1CPUruirOKr5wpp8mmDx6maNQIWlQ6FbMfly84yPcKEn204uWbN63kb6G6kTewnbYstzHh8eanoh3jIpHpEuWlYLMHJomKRlQVI/YhWW9EvMUbvZPtxydBLMwosnAdTIbSkMKov4yR7M/OZ2g7CBIofCIemrvaDaPa6vuLSXZzWLkdE6WVCTTbPrDPV8bsMEuv+JC/PRMuKsRaZk2GZ0HB0VsMkPmZ1Y0rr5PAnuak4V6ynymJNvOrpZmuNwvwIVlnjB79XtWx9E5l2auItL9g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JmtMMuS2hcA8W4tX+j+C+yJxQBfFZ8yEL6wHR22FHPE=;
 b=bB/dd2Ddvo6qRcvI1bf/e/QXPyriOA6UdgFRm7O16uCC4N9fcaZD6UD4ZqO60j00Cgfn/T5W6tbhb+KwfVIS6Mtd8DcRSSX+LNptiU7+LUQRvHTPsHc+l6NfMclq0AOTEoZHjhHnpnXy1ynAj5cx/KpymxhmrQillkxzIdFQfs7qh6hdOMCg48OidisvaKv4DFlI+m3x2h1US2HtCNejFDJdHAbuZAV323WFTIb3yOSx4IHuupbjvMUU6e3tKy1XCKxBTNLosrQfvGm+XXhyx5lBFPVzGitutdGy9KRutW58X8tpgVhlIxIXDollK4OK/4QTfjhrif61xET8HGqDyA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <aa7aee5b-71cf-78c3-f8a2-f8d166f22ecb@suse.com>
Date: Wed, 26 Jan 2022 08:30:35 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [XEN PATCH v2 2/5] xen: export get_free_port
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, jgross@suse.com,
 Bertrand.Marquis@arm.com, Volodymyr_Babchuk@epam.com,
 Stefano Stabellini <stefano.stabellini@xilinx.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>
References: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop>
 <20220113005855.1180101-2-sstabellini@kernel.org>
 <f3b2ae98-c7af-d8c0-b0a4-52e622517c34@xen.org>
 <alpine.DEB.2.22.394.2201241652330.27308@ubuntu-linux-20-04-desktop>
 <14af544d-0d20-9b58-4d70-5f5086ece032@suse.com>
 <alpine.DEB.2.22.394.2201251435030.27308@ubuntu-linux-20-04-desktop>
 <a992cf74-a75a-43d0-f83a-cd9549f586a8@xen.org>
 <alpine.DEB.2.22.394.2201251530400.27308@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2201251530400.27308@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0027.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::14) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 72639f2b-28fc-453f-c6ec-08d9e09dbebc
X-MS-TrafficTypeDiagnostic: AM0PR04MB4001:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB400172422B2152E34AA5885CB3209@AM0PR04MB4001.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:
	k0UJxlT7WRBTl5t5m6pOwAy6EcXt1BSUil081q0DonW05AVT77bu0z+YiCYHPjm0kpKOhGd43zDufZ4ehh83+Ea1vhIzzo6RnvaLad7gSryBGYEHoGGyviOR2KtWybVnDsXja+sdeNzMN1fSz46U1za0bNfHdoT+/5pDABhMcAPT3KRa0UVsffWRM3Plt4L+J1M4CdgzIcbZqJb/3vh42NJff/c8FYM2Zkq3TNjl7fGBxmCOMZNCZHAYzYxVMPkUHkeSx8111VfB+0gKMRoDvCCisWQ74wRRqLhUbyvCSXteh3Iij38d5c5VRXBtgfFm+yJ6ZbILusyYNKbdO80smsA/7qA81LqY6DBBQQuIeoQaNsUvTcT3pq16RGpnEdpIYzanW+OHvhw+JX9SJGqzrSms1aGMTl5KBWswUDZQk73c1liMak3LeLJ0K45ymN+Qn3c15hDTv7LpD768+Az8CzKNZ7eIQXt+9AZA50MVmU2zjUtxyHtp5h69edKBKfxeMwxeOYV69pbD6WXVMKPKo2FqkMEJHD1mLw6W0wJI+3DAfIGvyG8gXT6dy/cAqLzcO9y8m+MVg8sLWeu8Aj0oWntf5FzF+lDm1m6YNRfx8+7fEk45wXaO1eTqZkK3BmiEYl4wBmDA/lih2b5g7T2f2PFbpgsCwn+q2kmS/Te9bdHqPsYthVGdEQj5YLI00KvRlThAiN04ShG8u5AaMXGqaLL008AzH1E696nLFQQOhJCm3wWV+sMs6l0IuhAXII6g
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:(13230001)(366004)(4744005)(31686004)(6486002)(5660300002)(8936002)(4326008)(66476007)(38100700002)(8676002)(31696002)(86362001)(36756003)(66556008)(54906003)(2906002)(508600001)(186003)(6916009)(66946007)(316002)(2616005)(53546011)(6512007)(6506007)(26005)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b0I3UnR4ak5rZW5IVDFtZHNPSVIxMVYrT0FEWU5LVkNmZWJIQ0RzY2VOWFRV?=
 =?utf-8?B?RVJIakF2dHloNDRMS2lWbFlZL05NVUdVdmg2dHhqQjZyLytQRlQ2SWNlNzZn?=
 =?utf-8?B?OGpRNklYWThjbVpDVXlZUXYxd0p2azg5SDhRSFQ4VXMwcVRJWXVVamFsZFV1?=
 =?utf-8?B?SGVUbDhZL2RlR3hpQ3libzlzN01TeVJ2RHJhNFhJWFA5VjZ5WTdvai8xNFBy?=
 =?utf-8?B?SlNCcW5FSFZycTF1elgvTU53UVk4Vk1lZTVWdEFkQjlFSzd0ZEl5N0pxc2VK?=
 =?utf-8?B?Y2RUdnlpQlN2SVhLZS9UaXRMQ0o5KzRVMkw5ZFB4MWIwODY2S01MQ3p5K0dS?=
 =?utf-8?B?LzlpRlE0M1U4WXRUUVRRaUM5blpPRWlLb05SL1R0Mm5ZTnVBZ016RmhVZ0o0?=
 =?utf-8?B?VkFINFlaazZjVi8rYzRLMTNXMWFNVEVGOHVMSUhOZU14KzNYOFRWSUU2SitU?=
 =?utf-8?B?ZzVZY1VSSlMrRThadmZaeW8rNTh1aU5Ob3pYT2NNNmhhK09WZkZJWmhUc01t?=
 =?utf-8?B?a2E4WUhmSWRSSGU1a0dBVzlScEJvclJjQkFFTnI5ZWZPaGpKUy9VQlRkME9j?=
 =?utf-8?B?dGJsanJSYWxwTGhCdmxKN1NabXEzbjdzL1RtK3dwQjlVK1BydVdHOWJuRTNR?=
 =?utf-8?B?b0FaVXNuT3NUTGoweC9BcHI0QXhiS0tVOVdLYVZzbkdSREh0MlcyUjRxMmxP?=
 =?utf-8?B?SERJY21IUkp0dXNxZmxVQWZDR2lkQnFaUTAxbE55UUJGU1FkQlZKRWM2UHpz?=
 =?utf-8?B?VXg2UlJhTXVKUGJDZlc5UWc0NGtGekRyazJUV1J2b0JJL0ovM1FheFEzWTR6?=
 =?utf-8?B?TFJNQm9EeTR5Rk9tVGtaaXQ0d3F5NnNBb0RMTGpPZlVGQ1dSVmY2NnY2UmIy?=
 =?utf-8?B?L0FwUGZ0NFprZE4xSVA5OFRSS0k4eDc3UmMvR1ZSMUtTcUgwdmk5VzhIL2Ix?=
 =?utf-8?B?WkgwWklyVUMyR1ZaMnNCQkhNNnU5ZVNHd0FJcVNCZXllcy9HMWdlYis5VVhZ?=
 =?utf-8?B?TWxRRTJXMW5WeGF5bkdHaXFybVMwdTBYNncyeEN2bUNPTFQzakxNa3l6TmVN?=
 =?utf-8?B?STJHcTdnMVV0dWtwOHB6eTBvNnFDL2MweUlHZmJSQWtmQThoWU5mK1Q4dTZH?=
 =?utf-8?B?KzFYbE1TMkZPdldyNW12Q2RYc08vM1JrWkJCekxjZlEySEduUVp1R1ZaL2ls?=
 =?utf-8?B?K2QwYzVrYjA4Yk01dHpqdDJsRlRML05OU3VyR0RoTmZ1dndHdkxYWWlYMWlL?=
 =?utf-8?B?VmVmbytOYVM1dmtvYVNVSnFIU3creXBhbUQvTFY1bXBIS0Y4YStrQjNuR1dB?=
 =?utf-8?B?b2NJWC80SkFLUVlONW9UT200V1JkVThvazRIdkpFYzBvN0UyZTRNSmxRbzJO?=
 =?utf-8?B?MmdsTlRKdGowemtPalBsWkNtVHVqVmNNcldBaWhra0tueFIxL0xKTENySzRV?=
 =?utf-8?B?L2oxREMwdldrM3lWcDBjOGo4OFBwbnBLYjB1WGh0V1crVkw3Z0prMUNobGRS?=
 =?utf-8?B?UlYvVHB1b3doODF4Y05RQkJJb0JPbG15NlRVYmNRTzFORDVCWkNvMmJ0UkJr?=
 =?utf-8?B?UTM4MWZSZUFUZFVlTW93dk5nNngxaE5mMjNBZjlUTzdlYVNTbEJTVlV5elIr?=
 =?utf-8?B?dzdWOTQyYWU1Y0tUQXBTNW1CSjJlMUtJRUJhN25FNllwcTU5WXIvMzhjaWJ6?=
 =?utf-8?B?V0wxbVBqaGxPZzltU0RKa2JUa1NWcW1aaTkwSVFTSG4wd1o4Y2lINS9WVksr?=
 =?utf-8?B?SUFaeDcraGxTT1YwUDIvdFprREg3eEpBM094N2Z4TFN2eGN4dStaY0p5UHVu?=
 =?utf-8?B?bzdxYndvaFhoRFBqWi8vRmYrVFdXZndrSVZFSGxpaEJscER4YVlySGFRMUJx?=
 =?utf-8?B?THVWUlN0c1BiUmxJTXE0MkZMRkdIQWhLYWNubmpjUjZ2Z1ZyR1RHZGF0QWN4?=
 =?utf-8?B?TzlPTTFIZ1RjQVdYVE16OFQvS2ZTZ0x0Tk55UWZ3K1hSRTBiYnl1dm1iSm00?=
 =?utf-8?B?WE5VQ2k2WWpOMXU0WS9sVTZIRmt5ZmhMdm5rZ0xQejhBY1BwQTFEbldvZjRj?=
 =?utf-8?B?WForWlBtZjFvZXNCVGI4TFFxOWh6Q1FFQ21qem0vVll5L1hUWitrdmR2YldO?=
 =?utf-8?B?eTNwcGhWdUdOUTBEWk1vMytCSDdkejlvcTJDVkRWZTV4cSt1L0cvcUFVQ3Zy?=
 =?utf-8?Q?vnlSIVTW7ga+Szk2h0BbCtk=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 72639f2b-28fc-453f-c6ec-08d9e09dbebc
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 07:30:36.5415
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: MzJHQbBxbAiYrYHmpG1kpNOTDBi95kBNU7GWeaHI8WFhRPqr4MFlh351f01gZk0JL/PEaeF8iiVLkIej6lLJiA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4001

On 26.01.2022 02:03, Stefano Stabellini wrote:
> Are you guys OK with something like this?

With proper proof that this isn't going to regress anything else, maybe.
But ...

> --- a/xen/include/xsm/dummy.h
> +++ b/xen/include/xsm/dummy.h
> @@ -92,7 +92,9 @@ static always_inline int xsm_default_action(
>              return 0;
>          /* fall through */
>      case XSM_PRIV:
> -        if ( is_control_domain(src) )
> +        if ( is_control_domain(src) ||
> +             src->domain_id == DOMID_IDLE ||
> +             src->domain_id == DOMID_XEN )
>              return 0;

... my first question would be under what circumstances you might observe
DOMID_XEN here and hence why this check is there.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 07:54:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 07:54:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260680.450583 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCd7x-0008O7-RC; Wed, 26 Jan 2022 07:54:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260680.450583; Wed, 26 Jan 2022 07:54:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCd7x-0008O0-Nt; Wed, 26 Jan 2022 07:54:01 +0000
Received: by outflank-mailman (input) for mailman id 260680;
 Wed, 26 Jan 2022 07:53:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dHDZ=SK=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1nCd7v-0008Nu-DI
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 07:53:59 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur02on062e.outbound.protection.outlook.com
 [2a01:111:f400:fe06::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1d07ab06-7e7d-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 08:53:57 +0100 (CET)
Received: from AM6P192CA0025.EURP192.PROD.OUTLOOK.COM (2603:10a6:209:83::38)
 by AM6PR08MB3301.eurprd08.prod.outlook.com (2603:10a6:209:47::30) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.11; Wed, 26 Jan
 2022 07:53:53 +0000
Received: from AM5EUR03FT018.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:83:cafe::3b) by AM6P192CA0025.outlook.office365.com
 (2603:10a6:209:83::38) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15 via Frontend
 Transport; Wed, 26 Jan 2022 07:53:53 +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.4930.15 via Frontend Transport; Wed, 26 Jan 2022 07:53:53 +0000
Received: ("Tessian outbound 18e50a6f0513:v113");
 Wed, 26 Jan 2022 07:53:53 +0000
Received: from 95d41e5216f7.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 4D8730BA-4F00-4663-B974-80AB003A7D20.1; 
 Wed, 26 Jan 2022 07:53:47 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 95d41e5216f7.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 26 Jan 2022 07:53:47 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by AM7PR08MB5512.eurprd08.prod.outlook.com (2603:10a6:20b:de::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.7; Wed, 26 Jan
 2022 07:53:46 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0%7]) with mapi id 15.20.4909.017; Wed, 26 Jan 2022
 07:53: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: 1d07ab06-7e7d-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FpWhxK+4sylmCM2zs4mWtv7k94dMFNXnXzWCQjTuVSw=;
 b=AkrGb8u4aqjOpNDyCJ4URn6VkcXrU6GK6Qbm2Kw0WZM4g0l+LQVWKv5fKB8WMc0wWOfFTiXfndrT7/N2AUpB4kNGvF03RTn0crH0wHaKgc8r2bAGIrcn35i020Z6mTRsCgFqynq+xYhQrG6udmfjBr+hGgKM9Ic/JYr3vpVKH7Y=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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=h9USPKFQDbB2xGrfczm86nRMxyrIf8t2ABksj/IG4Jy2qhM5yi8k66DPbCU7kDGXHzUwJNrkEzUYoX6C0UtTlDmKX13a4bEe8H5W1iVgkVkVXgC6ZQSQY1R2qcuw9hkZZ8B4yq2hE4T86PTNTmyrvyTqVzvJ0B6Ys+C62jRvvJle6HY4Jbz6X4GP/y83zCxolpypXxzFJqnaQVMa86scHn+2jYxGv3ocKC/V5aTa5d1ImnTNwMIlUUwuHXgE5jN9nbHrL6L7zQ8YMsDc/YXlDQTVOUUdku88Gg8FpK84roAjvjIVuxpGLiP3inv3t42d99L+gU+pos/vbKoVRi30Nw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FpWhxK+4sylmCM2zs4mWtv7k94dMFNXnXzWCQjTuVSw=;
 b=eT7QWeQ5CeuRItUdC8OSynP+bmSEr9boL0RHYwVMh23uGHMqDMJxxdpAQuHZYZjxJdFi2MvSo6s59L1RTR6j3fE9SQf8oR0kfLzfs9RfhhgT1SduaoNETRWlYj0nm/3jwIzX3IjGimL8XNWIKuZHvRb9nbos0hR5NyUkkn6sP3iPdo1k/qgP9WLc/xVFC0x5kF03s9lQnSfMf9zS2STzs420fBF7ynrlcP3V0+ug4vjBmatZFZ0kTL5MflEcU5MwyDUrRbRLkSpKjsqmX6Da0aA1M0w/0MVqCtoYWJJlof7WE/ysTlMlqVnuEzGA6hVdufWhJ8VyxfZFVC5nvsMnlg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FpWhxK+4sylmCM2zs4mWtv7k94dMFNXnXzWCQjTuVSw=;
 b=AkrGb8u4aqjOpNDyCJ4URn6VkcXrU6GK6Qbm2Kw0WZM4g0l+LQVWKv5fKB8WMc0wWOfFTiXfndrT7/N2AUpB4kNGvF03RTn0crH0wHaKgc8r2bAGIrcn35i020Z6mTRsCgFqynq+xYhQrG6udmfjBr+hGgKM9Ic/JYr3vpVKH7Y=
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: [PATCH 09/37] xen/x86: introduce two helpers to access memory
 hotplug end
Thread-Topic: [PATCH 09/37] xen/x86: introduce two helpers to access memory
 hotplug end
Thread-Index: AQHXsHMSm4kTUY1aDkqu1iaKpcFN+KxzHOkAgAKVffA=
Date: Wed, 26 Jan 2022 07:53:46 +0000
Message-ID:
 <PAXPR08MB7420FFCBF02D56B2861B5A169E209@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-10-wei.chen@arm.com>
 <9b5756ec-2ec8-c796-e894-4cf4cfa67ff8@suse.com>
In-Reply-To: <9b5756ec-2ec8-c796-e894-4cf4cfa67ff8@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 7D87730444D39A45AEDE34D510DB2B20.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: e7ea62f6-e1f9-40a4-b393-08d9e0a0ff97
x-ms-traffictypediagnostic:
	AM7PR08MB5512:EE_|AM5EUR03FT018:EE_|AM6PR08MB3301:EE_
X-Microsoft-Antispam-PRVS:
	<AM6PR08MB33013B0C614A6FDF690F7D399E209@AM6PR08MB3301.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:972;OLM:972;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 6kfljbLv/79VtUBTuybBGY47Tu+z6S6SPNv8D62+yeCyA7vsIwGT7qLA3bREE6Y0WFFlsn5S0BpgK1aYOHYdOcR3jmqtFr3jJv9NClKZ5tbLdB03OUVqoKfUTxAy1uHoXs+t8MxqWldIowTgyNTueNw7Q6qbrASDkXwaDjbYkd4Wy4cG6T1BWR9+3atqAnMoXOkQsVLtptr5ZT9wxzsgG56MWnW5vfPSHspWywPR0/WmR+qFIsjKUPffg3qWKRJtl/1QST5GH7Iy1G5w0TCoBXiJyhExlTxrrnDdNLfDn3Osxbhi6m0GqrmeQ9dEusrhM0edE2T73E56b69zh9o7nihxS7/i3DZ73TkLV2/hi/MoO3yiujUcWVMk+dJDQ7buO2+VNu0G5t0mhvXSWIexojm/iQviPDrHwAzKQ2T0xyHB1JWMIdK8D5DWUwwf4LpjTpAur5kHXFXJp8XAs+cHLkPZOAImBZAyDxmmz//xqHAcIb+P4LBwMyeUblKXyoohWnxqJGIJMyepuKF+JMTrawNCsvk8jSHn6OedJXC6XhcTdL4Tz7gzaN4kV9Y1tv4hYNxJo6wRtGAIPCgVwkGUQJ7HCk5PYqZ1hMdSVYElyjToDnQhd4gmL3moev7KCCysZ/6A4byBIZjeBktI2nDJU0H7bhap1u7s2DzWyfzNEwCajM4FAzbjlQpMeoKgN7G3OHUxFYHAKfonYSb5+7x+MA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(508600001)(9686003)(8936002)(71200400001)(2906002)(86362001)(83380400001)(6506007)(55016003)(38070700005)(8676002)(52536014)(5660300002)(122000001)(66946007)(7696005)(33656002)(53546011)(186003)(38100700002)(6916009)(66556008)(4326008)(76116006)(66476007)(54906003)(64756008)(66446008)(26005)(316002);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5512
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT018.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	cd4d2830-5150-404f-0793-08d9e0a0fb17
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	pHMJ8cn6KZX5urhIlwjtHenR6BWmfH0Ov2A7XpJqJVEOlsnTCoJmj9OCVcbBZq2fwNB3bjW4ph5DER5NI0QTykDLBXIn8jHpQ+wWwu8+OHUpxay8yqK+u83OSAxLzhrGz28IJq2OFSt3vFp1b8HvSsmZX+5lqd1fhkUsietkRhPpoSBlFnhA95eEZl7YnQgviQpo0ZfsOkZWG923KwqRtC97aJTp4wIsfG6sRBJT/3oUomkkHktI+/RJK3hrYyk9NAIHjmiFz9m5w9J8tpkAMlMzDUx5N8FVLhjy0mH4mytHHYNCOa3VKXwkCpxhkOZ5MO1FTEy/aV6ErFhAADypO9UMQrDBp4rDfHfkyv1aoTmGbtTdVITcTyrxeJLdpuK1mFOhFgxsxyDqiG2J//2VwHo6HtHXE4LRMcgwn2ZNQE5OFgp3CuzioioKZF5Xv8NpEIUmJcPwBcC3XXHigzdxcxkpV4muwuNfki8/Y1pvJ/5n15B1RFC8k3XRaae/HjezulNGuGVkmUld7QRhLW/EZp8HhbumMVt9Z/RM0kKjWTt/YBOOMCA1UYrxeTc0W4ECXSeL3WOTnkaZLmqRR4D+1HjuVnLex3LpKRABfJosSxYesGRDuAxnSdqZwx36oOoPcALcUQoIGlF6maHB/NEQM8tb3onvGpRwZmpNPhuiuMDTNThPe4Ydachb1eZ4PmGUSHEoDyCyW4Z0r/0avfiFEZmHTIOSq9gS3nfuGERRjJ2ihn2b0gKksKQ3dzbZES5EvT+ViT9Juib+LlzEdSUD/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)(40470700004)(36840700001)(46966006)(54906003)(316002)(6862004)(186003)(4326008)(9686003)(2906002)(26005)(5660300002)(336012)(40460700003)(52536014)(82310400004)(86362001)(70206006)(36860700001)(6506007)(356005)(55016003)(53546011)(8676002)(33656002)(508600001)(8936002)(7696005)(81166007)(47076005)(83380400001)(70586007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 07:53:53.6532
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e7ea62f6-e1f9-40a4-b393-08d9e0a0ff97
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: AM6PR08MB3301

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMuW5tDHmnIgyNeaXpSAwOjI1DQo+
IFRvOiBXZWkgQ2hlbiA8V2VpLkNoZW5AYXJtLmNvbT4NCj4gQ2M6IEJlcnRyYW5kIE1hcnF1aXMg
PEJlcnRyYW5kLk1hcnF1aXNAYXJtLmNvbT47IHhlbi0NCj4gZGV2ZWxAbGlzdHMueGVucHJvamVj
dC5vcmc7IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc7IGp1bGllbkB4ZW4ub3JnDQo+IFN1YmplY3Q6
IFJlOiBbUEFUQ0ggMDkvMzddIHhlbi94ODY6IGludHJvZHVjZSB0d28gaGVscGVycyB0byBhY2Nl
c3MgbWVtb3J5DQo+IGhvdHBsdWcgZW5kDQo+IA0KPiBPbiAyMy4wOS4yMDIxIDE0OjAyLCBXZWkg
Q2hlbiB3cm90ZToNCj4gPiB4ODYgcHJvdmlkZXMgYSBtZW1faG90cGx1ZyB0byBtYWludGFpbiB0
aGUgZW5kIG9mIG1lbW9yeSBob3RwbHVnDQo+ID4gZW5kIGFkZHJlc3MuIFRoaXMgdmFyaWFibGUg
Y2FuIGJlIGFjY2Vzc2VkIG91dCBvZiBtbS5jLiBXZSB3YW50DQo+ID4gc29tZSBjb2RlIG91dCBv
ZiBtbS5jIGNhbiBiZSByZXVzZWQgYnkgb3RoZXIgYXJjaGl0ZWN0dXJlcyB3aXRob3V0DQo+ID4g
bWVtb3J5IGhvdHBsdWcgYWJpbGl0eS4gU28gaW4gdGhpcyBwYXRjaCwgd2UgaW50cm9kdWNlIHRo
ZXNlIHR3bw0KPiA+IGhlbHBlcnMgdG8gcmVwbGFjZSBtZW1faG90cGx1ZyBkaXJlY3QgYWNjZXNz
LiBUaGlzIHdpbGwgZ2l2ZSB0aGUNCj4gPiBhYmlsaXR5IHRvIHN0dWIgdGhlc2UgdHdvIEFQSS4N
Cj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IFdlaSBDaGVuIDx3ZWkuY2hlbkBhcm0uY29tPg0KPiA+
IC0tLQ0KPiA+ICB4ZW4vaW5jbHVkZS9hc20teDg2L21tLmggfCAxMCArKysrKysrKysrDQo+ID4g
IDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEv
eGVuL2luY2x1ZGUvYXNtLXg4Ni9tbS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9tbS5oDQo+ID4g
aW5kZXggY2I5MDUyNzQ5OS4uYWYyZmM0YjBjZCAxMDA2NDQNCj4gPiAtLS0gYS94ZW4vaW5jbHVk
ZS9hc20teDg2L21tLmgNCj4gPiArKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L21tLmgNCj4gPiBA
QCAtNDc1LDYgKzQ3NSwxNiBAQCBzdGF0aWMgaW5saW5lIGludCBnZXRfcGFnZV9hbmRfdHlwZShz
dHJ1Y3QNCj4gcGFnZV9pbmZvICpwYWdlLA0KPiA+DQo+ID4gIGV4dGVybiBwYWRkcl90IG1lbV9o
b3RwbHVnOw0KPiA+DQo+ID4gK3N0YXRpYyBpbmxpbmUgdm9pZCBtZW1faG90cGx1Z191cGRhdGVf
Ym91bmRhcnkocGFkZHJfdCBlbmQpDQo+ID4gK3sNCj4gPiArICAgIG1lbV9ob3RwbHVnID0gZW5k
Ow0KPiA+ICt9DQo+ID4gKw0KPiA+ICtzdGF0aWMgaW5saW5lIHBhZGRyX3QgbWVtX2hvdHBsdWdf
Ym91bmRhcnkodm9pZCkNCj4gPiArew0KPiA+ICsgICAgcmV0dXJuIG1lbV9ob3RwbHVnOw0KPiA+
ICt9DQo+ID4gKw0KPiA+DQo+IC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ICoqKioqDQo+ID4gICAqIFdp
dGggc2hhZG93IHBhZ2V0YWJsZXMsIHRoZSBkaWZmZXJlbnQga2luZHMgb2YgYWRkcmVzcyBzdGFy
dA0KPiA+ICAgKiB0byBnZXQgZ2V0IGNvbmZ1c2luZy4NCj4gDQo+IEltbyBmb3IgdGhpcyB0byBt
YWtlIHNlbnNlIHlvdSB3YW50IHRvIGFsc28gdXNlIHRoZSBuZXcgZnVuY3Rpb25zDQo+IHJpZ2h0
IGF3YXkgaW4gdGhlIHBsYWNlKHMpIHdoZXJlIHRoZSBkaXJlY3QgYWNjZXNzKGVzKSBnZXQocykg
aW4NCj4geW91ciB3YXkuDQo+IA0KDQpPSywgSSB3aWxsIG1lcmdlIHRoaXMgcGF0Y2ggd2l0aCB0
aGUgcGF0Y2ggdGhhdCB3aWxsIHVzZSB0aGVzZQ0KZnVuY3Rpb25zIGZpcnN0bHkuIA0KDQo+IEph
bg0KDQo=


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 07:58:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 07:58:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260684.450593 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCdC6-0000lq-Gw; Wed, 26 Jan 2022 07:58:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260684.450593; Wed, 26 Jan 2022 07:58:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCdC6-0000lj-Dx; Wed, 26 Jan 2022 07:58:18 +0000
Received: by outflank-mailman (input) for mailman id 260684;
 Wed, 26 Jan 2022 07:58:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dHDZ=SK=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1nCdC5-0000ld-0G
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 07:58:17 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on0619.outbound.protection.outlook.com
 [2a01:111:f400:fe1e::619])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b726bd55-7e7d-11ec-8eb8-a37418f5ba1a;
 Wed, 26 Jan 2022 08:58:16 +0100 (CET)
Received: from AM6PR04CA0028.eurprd04.prod.outlook.com (2603:10a6:20b:92::41)
 by DB8PR08MB5036.eurprd08.prod.outlook.com (2603:10a6:10:ed::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.12; Wed, 26 Jan
 2022 07:58:12 +0000
Received: from VE1EUR03FT014.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:92:cafe::c0) by AM6PR04CA0028.outlook.office365.com
 (2603:10a6:20b:92::41) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.19 via Frontend
 Transport; Wed, 26 Jan 2022 07:58:12 +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.4909.7 via Frontend Transport; Wed, 26 Jan 2022 07:58:12 +0000
Received: ("Tessian outbound 1f399c739551:v113");
 Wed, 26 Jan 2022 07:58:11 +0000
Received: from 9a0cfee3034f.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 869C3F06-9AEE-4D72-A288-8CA22F8A2F09.1; 
 Wed, 26 Jan 2022 07:58:05 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9a0cfee3034f.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 26 Jan 2022 07:58:05 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by AM6PR08MB5287.eurprd08.prod.outlook.com (2603:10a6:20b:b0::28)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.10; Wed, 26 Jan
 2022 07:58:03 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0%7]) with mapi id 15.20.4909.017; Wed, 26 Jan 2022
 07: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: b726bd55-7e7d-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UIdEhz/BIFjdqJHRVY2Uz1FboT+J093GoPvwKt6omwA=;
 b=7qQUArhC/+bpzFc5KEWzFQM/BP7+y3qRsngwBvjc6FzaYFWvVXLLrpikKwtTTabpJU3+yeVT+/whcjBvBR08pnrGA4n0WStH3qvY6KtcciVgcUXjo9Pcde1YJx+L2lNmBCYeB/zSFeK+8P/iGMMATHcGHCpxw6vQ/ALCIXaXbOE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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=l495A3F5/4iZMIvRaO8n/eezVlh7w8FQVrxIl2ges+UbgFkOJ3HYYDQ2BQrvpr68wgp3sJhBMt+DYzsL+uiitMhSjkvQAUTfFNavFxnKwQNoxUaLLLfjktArc1QcujJGLLgA1zwgxh3vmExAHoEpfQi5cyod5KDM3dX1Xm+eMIIf+ZT1WmFlugVsiHY63it+fX3qHHVp9WOLT9H+iMX6qD/UNfXHH6jGRvZnzQCJ4mzUXASYipldGijTisCf0E1GeVEcGtrVCV/DP84JpNbguF1sTkxCcPPHmYOVjrWkutmkcaZvVmJi2LJlLw5RsngvzAN4z8tGJUZL3Xw4eNeEXw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UIdEhz/BIFjdqJHRVY2Uz1FboT+J093GoPvwKt6omwA=;
 b=en3TEFFhW1oGzWIJIyo80l9NvxkKdHVrRymQi3Msjx6+XeoIHcGA6sgdieETts0nrIn4WRlJANkVPjppTLNPZwsoZ9ZZ/OcnWNnA87a25aJuPWe9O11M+z1I9TnmpzLVjEBy/lveH6ekzBZ/CAoA1gcptTV+UVuVz1yira/Piot2B5bUMqUc5W59SUbvVxeNx4wGspNVR/0dSC1bQFDumqMDwFv6+m3619g2h4JzbJtSyOijvhFb3ewSDJpZSZW9b1kSSzWWYcbCIOP/BnYND+HD4WWngdrnFqlBb8DMiuFM7OoHEfGmG9uogwDtCJntooTEIglScWqBmShmsy5T4A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UIdEhz/BIFjdqJHRVY2Uz1FboT+J093GoPvwKt6omwA=;
 b=7qQUArhC/+bpzFc5KEWzFQM/BP7+y3qRsngwBvjc6FzaYFWvVXLLrpikKwtTTabpJU3+yeVT+/whcjBvBR08pnrGA4n0WStH3qvY6KtcciVgcUXjo9Pcde1YJx+L2lNmBCYeB/zSFeK+8P/iGMMATHcGHCpxw6vQ/ALCIXaXbOE=
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: [PATCH 10/37] xen/x86: use helpers to access/update mem_hotplug
Thread-Topic: [PATCH 10/37] xen/x86: use helpers to access/update mem_hotplug
Thread-Index: AQHXsHMVa+NLaHkUKUKV++B1/dWC4qxzHlUAgAKVd/A=
Date: Wed, 26 Jan 2022 07:58:03 +0000
Message-ID:
 <PAXPR08MB7420978500AA62883700C5269E209@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-11-wei.chen@arm.com>
 <66ef43da-fde2-7cb4-0b5c-a3ed7ceb139d@suse.com>
In-Reply-To: <66ef43da-fde2-7cb4-0b5c-a3ed7ceb139d@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 299FE3BA24696F4281C86DEAA4B25BFF.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: f82826bf-8b3f-4376-d2ed-08d9e0a199c6
x-ms-traffictypediagnostic:
	AM6PR08MB5287:EE_|VE1EUR03FT014:EE_|DB8PR08MB5036:EE_
X-Microsoft-Antispam-PRVS:
	<DB8PR08MB503672AB6E568142D8E3ABBF9E209@DB8PR08MB5036.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:
 rMeJObU2TL53wVc0p3dYWxZNVATMyi9iKYQOy0Yu0xp/vYKC3YW0JnPs1HAf3svjWD/5ifhEXEzYUcfiwTujLFR9kqyQbAwSvvO04lmHZGZTBUvcQLMdSDK6rfYWeGkTlOQ4AOpEGzJmQt+0VKr96EecRUmWNUMDyXBTSsfUByHCc7zUJYKG+UfgqQ1GWxeZ0GCkupxofe5jL6clA4dRV59Yjj5H6UjYkgBf3c2bqPhv72yfnVucAKiNUuwgpKGmxIYYy2P+dyom/uyGRnKIjCofLZdGJYlEh3dx4JdHBQ7S/xO0FTWrs9qrbz1BA1a3oTjm+953vZE1q+HrhpSOq/oxuI9tTey0a8GXLz7culZTW6XNpsF6vJZrneTIEmd+VxdWgtbHlfzO5neTiqn1vyKJJtLW4UXhw79I2zyL8TydYhGMel+ZeOcopvYyfh4q33N/QIrhPBvNTBUX99o8LePLb6Z5H3b7YvzPrZtH7Ud5deQjglYksAjXElR0EhlFNxEN2cAc5Cq8lHfngvi3RqupAItF4lcFosPCl6b8L1iF5Wh95xBx65aUtaVxCqEwcy2B9W09W90AAiI8Bc0flQGUIUqxHY8aAx0EGYsXJ4L09RbIxxbXQqUgkHzRYduBsPfyK99GtQu0LbRbBFTCjC5BzMxKYdYFCCFtfJYM2K613uafd9UYRtvgm9pdDvQwaeXU9gYzJAs70Gfvit8NaQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(66946007)(55016003)(86362001)(38070700005)(71200400001)(54906003)(2906002)(8936002)(66476007)(7696005)(76116006)(38100700002)(508600001)(9686003)(122000001)(8676002)(5660300002)(6506007)(53546011)(4326008)(83380400001)(15650500001)(52536014)(66446008)(186003)(26005)(64756008)(316002)(33656002)(6916009)(66556008);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB5287
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;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-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	c64c108a-720a-477c-2f0c-08d9e0a19482
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	HlbYHu0rROudQmCM771bsD4+k6MCwi72dneglSLt58npPFFnJEcI6K2Md1ZQXIYlKSIYrGPErLrRHHxpJ82I7KY9gM79SZzU+THzd2UVNT8YrEVHYqxesQBsOm+ZaXP1eg3NvIS7sjP4D+qoFzSrsXVMKSa/rCBzTsTe+WLUzFOR/+PeAVNQGx2GQJD76sF3VNKuBejreX9/08zLQY6aEvwpc0U8ApSITWW1n5d3zaw8ybdEla+zcsGQieuxpqCWJMcxHlwLhxBw+5shsHxS4ErTcNQNTWMTmNcp28KjSPnpl67vrnCetOPtlWGykKT+hwVMFTZq7cQg8jQAjJpSSu7tJuXBRvgjGQjZTySD2Jax14mvqCZFcu1aajb/wKKZutmYUD9Ddy3z9QpUo6k6Q3cYI/k2UBjPOoWckxvrwDi8/TzVStUdcbZk1qEEErX7jkeqwtFtc9+IGGuw6OWnEvqgAyunla/2I4GdDls6SN30WyrOMzRRUc9SE78WRI2u/kiwU4K+IFCgEigANedEpqXvXWU60tCTIK6ak5NU+SBz2l8UoX/vBgcgdxcJx98IuEj/mwH22NvOWjcIyvd/rwDg4Tii1FphMiv+oloGZbGDiIptpLO5fMtrUlGtW1QaaYfXaDqfAy9B06bUaDvGM5zoQ2g6c62Y1cY/YrVzw0qr9ahzqM2rHybJH3gQHAj+9ZOpKZaoN8HzIYf2MKE+zgyZnOLtFiCKFz2KIM399cZcZcfCVqs6KviYi9yMECpn5xQlnYGNRGIFoIffnphp1g==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(40470700004)(46966006)(36840700001)(9686003)(316002)(6862004)(356005)(86362001)(55016003)(40460700003)(54906003)(82310400004)(2906002)(186003)(8936002)(8676002)(52536014)(6506007)(26005)(47076005)(36860700001)(33656002)(336012)(15650500001)(81166007)(7696005)(53546011)(83380400001)(4326008)(508600001)(70206006)(70586007)(5660300002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 07:58:12.2868
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f82826bf-8b3f-4376-d2ed-08d9e0a199c6
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: DB8PR08MB5036

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMuW5tDHmnIgyNeaXpSAwOjMwDQo+
IFRvOiBXZWkgQ2hlbiA8V2VpLkNoZW5AYXJtLmNvbT4NCj4gQ2M6IEJlcnRyYW5kIE1hcnF1aXMg
PEJlcnRyYW5kLk1hcnF1aXNAYXJtLmNvbT47IHhlbi0NCj4gZGV2ZWxAbGlzdHMueGVucHJvamVj
dC5vcmc7IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc7IGp1bGllbkB4ZW4ub3JnDQo+IFN1YmplY3Q6
IFJlOiBbUEFUQ0ggMTAvMzddIHhlbi94ODY6IHVzZSBoZWxwZXJzIHRvIGFjY2Vzcy91cGRhdGUN
Cj4gbWVtX2hvdHBsdWcNCj4gDQo+IE9uIDIzLjA5LjIwMjEgMTQ6MDIsIFdlaSBDaGVuIHdyb3Rl
Og0KPiA+IC0tLSBhL3hlbi9hcmNoL3g4Ni9zcmF0LmMNCj4gPiArKysgYi94ZW4vYXJjaC94ODYv
c3JhdC5jDQo+ID4gQEAgLTM5MSw4ICszOTEsOCBAQCBhY3BpX251bWFfbWVtb3J5X2FmZmluaXR5
X2luaXQoY29uc3Qgc3RydWN0DQo+IGFjcGlfc3JhdF9tZW1fYWZmaW5pdHkgKm1hKQ0KPiA+ICAJ
bWVtYmxrX25vZGVpZFtudW1fbm9kZV9tZW1ibGtzXSA9IG5vZGU7DQo+ID4gIAlpZiAobWEtPmZs
YWdzICYgQUNQSV9TUkFUX01FTV9IT1RfUExVR0dBQkxFKSB7DQo+ID4gIAkJX19zZXRfYml0KG51
bV9ub2RlX21lbWJsa3MsIG1lbWJsa19ob3RwbHVnKTsNCj4gPiAtCQlpZiAoZW5kID4gbWVtX2hv
dHBsdWcpDQo+ID4gLQkJCW1lbV9ob3RwbHVnID0gZW5kOw0KPiA+ICsJCWlmIChlbmQgPiBtZW1f
aG90cGx1Z19ib3VuZGFyeSgpKQ0KPiA+ICsJCQltZW1faG90cGx1Z191cGRhdGVfYm91bmRhcnko
ZW5kKTsNCj4gDQo+IENhbiB0aGUgaWYoKSBwbGVhc2UgYmUgZm9sZGVkIGludG8gbWVtX2hvdHBs
dWdfdXBkYXRlX2JvdW5kYXJ5KCksDQo+IGVsaW1pbmF0aW5nIChhdCBsZWFzdCBmb3IgdGhlIHB1
cnBvc2UgaGVyZSkgdGhlIG5lZWQgZm9yIHRoZQ0KPiBzZXBhcmF0ZSBtZW1faG90cGx1Z19ib3Vu
ZGFyeSgpPyBBcyBzYWlkIG9uIHRoZSBwcmV2aW91cyBwYXRjaCwNCj4gSSB0aGluayB0aGUgdHdv
IHdhbnQgZm9sZGluZy4NCj4gDQoNClllcywgdGhlc2UgY2hhbmdlcyB3b3VsZCBiZSBtb3JlIG1h
a2Ugc2Vuc2UuIEkgd2lsbCBkbyBpdCBpbiBuZXh0DQp2ZXJzaW9uLg0KDQo+IEphbg0KDQo=


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 08:27:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 08:27:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260698.450618 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCdeX-0004wr-8F; Wed, 26 Jan 2022 08:27:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260698.450618; Wed, 26 Jan 2022 08:27:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCdeX-0004wk-5E; Wed, 26 Jan 2022 08:27:41 +0000
Received: by outflank-mailman (input) for mailman id 260698;
 Wed, 26 Jan 2022 08:27: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 1nCdeV-0004wa-PU; Wed, 26 Jan 2022 08:27: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 1nCdeV-0005ih-Mv; Wed, 26 Jan 2022 08:27: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 1nCdeV-0002tF-2F; Wed, 26 Jan 2022 08:27:39 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nCdeV-0007Dq-1m; Wed, 26 Jan 2022 08:27: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=VaDd0E1HcXbYS+rYUSWDId0FNzuVlAR61kcqf9MgeS8=; b=BN5O2eQX4sot29uCJryxUnr+WN
	wuREn+vAdHKH1l1djDV40Y1FN3TIZIxvP8rU2JTmiUynVVLFzEf04sG3i0ZcGU52UaBiAM21sfo46
	68ml6V5WMx10alc8P4w55tYA7sE0nqGe3eGr1NKhUWeAkH/Nhx9BUpf5x3c+XGjC1fUE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167818-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167818: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-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-armhf-armhf-libvirt: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-armhf-armhf-libvirt-qcow2: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-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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=329b7bed80032fd52904af6a0cac7dd3716d27cf
X-Osstest-Versions-That:
    xen=ec32910f4f871dce0f0e32dfb36f218fa1a2e869
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 26 Jan 2022 08:27:39 +0000

flight 167818 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167818/

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 167808
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167808
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167808
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167808
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167808
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167808
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167808
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167808
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167808
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167808
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167808
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167808
 test-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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  329b7bed80032fd52904af6a0cac7dd3716d27cf
baseline version:
 xen                  ec32910f4f871dce0f0e32dfb36f218fa1a2e869

Last test of basis   167808  2022-01-25 01:53:04 Z    1 days
Testing same since   167818  2022-01-25 15:39:22 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   ec32910f4f..329b7bed80  329b7bed80032fd52904af6a0cac7dd3716d27cf -> master


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 08:31:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 08:31:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260708.450635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCdiE-0006O9-2J; Wed, 26 Jan 2022 08:31:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260708.450635; Wed, 26 Jan 2022 08:31:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCdiD-0006O2-VK; Wed, 26 Jan 2022 08:31:29 +0000
Received: by outflank-mailman (input) for mailman id 260708;
 Wed, 26 Jan 2022 08:31:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=h9k5=SK=epam.com=prvs=3025680a51=oleksandr_andrushchenko@srs-se1.protection.inumbo.net>)
 id 1nCdiC-0006Nu-OK
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 08:31:29 +0000
Received: from mx0b-0039f301.pphosted.com (mx0b-0039f301.pphosted.com
 [148.163.137.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 59ab5192-7e82-11ec-8eb8-a37418f5ba1a;
 Wed, 26 Jan 2022 09:31:26 +0100 (CET)
Received: from pps.filterd (m0174682.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20Q5RnBn019233;
 Wed, 26 Jan 2022 08:31:22 GMT
Received: from eur05-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2171.outbound.protection.outlook.com [104.47.17.171])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3dtxg50kt8-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 26 Jan 2022 08:31:21 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com (2603:10a6:20b:153::17)
 by DB7PR03MB3772.eurprd03.prod.outlook.com (2603:10a6:5:4::20) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4930.15; Wed, 26 Jan 2022 08:31:18 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6]) by AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6%3]) with mapi id 15.20.4930.015; Wed, 26 Jan 2022
 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: 59ab5192-7e82-11ec-8eb8-a37418f5ba1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EKjOCbtEuJW63B0UzZxOsGogDrWDGZg2Ubh0m1OXM32pRt+RN76uEd9LFxc+dRDlmYrzMdjgJx+2yy7LUczyXsrz0ccqgAGMf1YL+yoMZurORdEbf8FQJMcCec+77NmaTq4tRwx8+dVxbrc9zrsDuO71H1uyv9kPfghOJWi7v6WNmL1ldT41JsZmjjO6Lybe8pN6Izg4+xqQHtOfaFH59DEvIO03bixZRtQWz0g2J1Qqzja2FOLPD8daNXmLWL12uJyUS54nz5VHDG4RwpIPRkjLYQIU3T/W4VcaKbCoWcSX+gFQsd+6mrSeFV8J591+Mx4wKYIgSobrRhg4bMRmyg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=98NS8oYOIuNYFRDjEOsEEDQBEuWTmfbjlUTg5aX3GjM=;
 b=TNypWG6ZretMzf4GHLIC4Pi83++RMnIJLOmFvA6cFuqkfwSHvAfQ9W8b//Wc46RsmxKkdWca6bEbr9DwRWZdwOFoDCuI3eseAakkSgxXbdtZ2sFj+K9l7q7yYS1zkCteAXXFqugTHRuu0ilvDBfaSZP8xGM+LzkTtOdpurVrlraWZNwMY25TH46R18z6NFFF2eMzeV0y1jgT43hMLFcrV2iWCsjkNYzYkcpa7g+9IlB8WHP3yf3JY4ccMOuhiJ3SkkCFs4CCy+ntpJSDh6HLxyCfwU83WNBz9qb+1VUGjcJsI+fLJnqbkFSQXGsmg8gIqUMrH4Wmkivm+gUvBFLQRg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=98NS8oYOIuNYFRDjEOsEEDQBEuWTmfbjlUTg5aX3GjM=;
 b=fD4tlk0faLRxJlgbjfXkCxIORY9GDSW9dM2b5clUncjTCxbnGwBrc8g/gPxsn0LtZVoaB4eYVOFiq51h3E8i4XE7JRVKVizHRdaK750nI7lC8eabY6lVqVriWpprQc+lz9xfYz9fJWE5ck4nWhUYE94Sm/dZLwRp0pEWxl4Oe7XQKlBydy6+/dYX89iWf2TuPRicP+EhGnE5tL3F4DceLoZYDld20Cnx/mv1VvB1q5BIYBYLxp1EzcX8FeU1c9s6Scsxy4YdNBMlnYozexiHBScN6Vzq0Fq0D0qL17JlSxUFoOPL4vsxGGyZr4eXYLfiUI7sqwAtk9uRwg0/PnOeIw==
From: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
To: =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        "sstabellini@kernel.org" <sstabellini@kernel.org>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Artem Mygaiev <Artem_Mygaiev@epam.com>,
        "jbeulich@suse.com" <jbeulich@suse.com>,
        "andrew.cooper3@citrix.com"
	<andrew.cooper3@citrix.com>,
        "george.dunlap@citrix.com"
	<george.dunlap@citrix.com>,
        "paul@xen.org" <paul@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Rahul Singh <rahul.singh@arm.com>, Julien Grall
	<julien@xen.org>
Subject: Re: [PATCH v5 02/14] vpci: fix function attributes for
 vpci_process_pending
Thread-Topic: [PATCH v5 02/14] vpci: fix function attributes for
 vpci_process_pending
Thread-Index: AQHX4ewFDAQe3UpzbkCO75DuGK42PKwsGkWAgADxxACAAApIAIBIRAOA
Date: Wed, 26 Jan 2022 08:31:18 +0000
Message-ID: <2cb7e479-8e25-9531-e01a-7415cd7a3f92@epam.com>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-3-andr2000@gmail.com>
 <19c43763-966d-e336-9282-ff12b1b3b2c6@xen.org>
 <YbRfRv3x0lxZvPcw@Air-de-Roger>
 <9ecf5a52-4fa8-04c7-d0f4-8d08b07fcf90@epam.com>
In-Reply-To: <9ecf5a52-4fa8-04c7-d0f4-8d08b07fcf90@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: e48991ad-5ff5-4c28-1b5d-08d9e0a6397c
x-ms-traffictypediagnostic: DB7PR03MB3772:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <DB7PR03MB3772F42B240C567AE7FC3F7CE7209@DB7PR03MB3772.eurprd03.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: 
 KXYzbIicq+jtPJYillm3X6CYR8PkJzq7EhND6PP7Lv5krRK5Rw+PQd8lOENPdVgm6yDkKrW42L7EvvPssss/dKgYvrpwXIsyUBp1Twzit4IsZdAcK7FULu0I8OoY0LtOcHH2S8AZTFnlySpid/ryueQ/Z3brI3JYzTdSorh1RZGty9BRwkm4aOPcREJRZ/ePAqkfDopXclJJ6KcocdMurfA0b6wFTAlPKOmjZZ4uzkMbMEyG4V5z0ueUy3MzuiuAVtO3DxX+NeOQDUHm+5CY7LN45LxWxkVV/9uieT0TADLn/U0yIn06ZT+VEbpkuGNzF0jTdc/PnvRhSiUYdec5sPROURFM/W9Gl+GRnslDiAiK3QYVSbbrq/mICohXCnLOtA4lB8lHKiM+GpPNZM0hSAigSIfioS7LAdJXPOM3U0TeY9qCHVJe7+6kE/k/DujQUWB+Fuyt+mA5pXzafLCmTKTJHJAJfgBxhnv2tbNeSQ9wn8om+JQuCFnhYynwCA+11RCDS0hePi8BcIFe0ATaM4fPEqP/YF6kT8qFHTmCU0hK/hIkGQ96nv6qsRKYUu9wg7KRhuPutFT8wk9o0zZuKlynR86kV4kZl6g/ALtD3ViwF8vy5S7bLVHBM4FLaVaq1d9pxBzMRIY7QYfhjd5OlguJDHtIChOpJyIr3Bag7LEG55yc5KpsFGZ0SsS0KXje4XcQxo61bejZZu5jSDMYwRIhnDcbj3tMOu1+zRZhvjD3Yywwl0lKI5KZ6sOZrbvO
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:(13230001)(4636009)(366004)(122000001)(4744005)(38100700002)(71200400001)(38070700005)(8676002)(36756003)(5660300002)(7416002)(66946007)(66556008)(66476007)(91956017)(66446008)(316002)(64756008)(8936002)(76116006)(54906003)(31686004)(6506007)(6916009)(4326008)(53546011)(31696002)(508600001)(6512007)(6486002)(2906002)(186003)(86362001)(26005)(2616005)(45980500001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?THRMTjZ2MmdvUTVDM241WUVpMkRpaDk1NEt2VENscVpuU2ZYbzhUY25QQW9L?=
 =?utf-8?B?USswRmxxWXFZU1hYRTdLNFFwamFhWFlsSS9mY0txZWFqU1VGNEkrZTNjaVVw?=
 =?utf-8?B?eWlORWFRMnpFemptbStMY0t3VWZHWnFURHlTYjNRTjA4UGJEeE5CVk5RSWFQ?=
 =?utf-8?B?THMwQUg5aXBQMUtrYzQwd20yY1R3eWd5WFd0M01JN0pMWkJrUEh4c0lXb2dv?=
 =?utf-8?B?Vjk3ZDYxeklzTjY2SGNkaGIzYWpwUUhjdTZoYmdjMVBPSmtCc2tTdDBiUjFo?=
 =?utf-8?B?cUVKemtrOG1qZHZzNHhybFpCVkE3YUVxOTVqbTVyY2QwbENUMWpWMmlxZFNy?=
 =?utf-8?B?c01pNWpYMHlPYUQvblUvclZPOTJqRTFKdHZSNSszQkhtS0RoSm1pc09oRUVs?=
 =?utf-8?B?b0M0dE8zSm56ODU0eWZDbmwvMWxSWEdkZUFyZWRsUkJjV3BKNkNZVVhMMFdN?=
 =?utf-8?B?Z1Nmak1YcXVlbU5lOEFuRkJVUDhab3FuNG1yMll4OXJGNE1IV0ZxYnpMUXZi?=
 =?utf-8?B?cHB6RlVKSXFJVGM0cVVnL3AzY0gvSWtLUFpqM3FtdmVRWnJvNGRZRUNGL0JW?=
 =?utf-8?B?QTZkSDhGVTBrbFhIN1F4Q29LVFhDYzdNdzRFL2srZzdTY01WeGxvUHZWejlh?=
 =?utf-8?B?VlZtdkpodzNxR0NPS2VoUFdQME9tMTI3aXppVFJxMGpKejRHN0NQR2tyNWV1?=
 =?utf-8?B?R3FUWE9TalJ1c01zbDdqaUQwWU52TUMxVjZZRVpmS0JvdXN5SHlNeGtnc3hw?=
 =?utf-8?B?QWNIUDI0cTg2VFNSMDZCamF3a3c5RnZtbzdzMXdtUC8zd0dGRXdmRnVPeW8x?=
 =?utf-8?B?ZGxPMEZabURxVm5FWWdrdGc5OTJlOHdnWjR1Q1RLRTBnQjB6aElJZmswUVl4?=
 =?utf-8?B?Y3o1bENxMFRKQ1JwaHF5Z3IzR1dMR0kwZHl0Sm83L1ZGblljcksxLy9EYzBL?=
 =?utf-8?B?VWNZci9zTDljMkgvTHBWeXl3MG1hQXhPamkxOXRURmhQQ1NXeDlQN25uYmJJ?=
 =?utf-8?B?dGhxSitsMmdOZTNMWWowdEVldzl5TnFhUk9jcjV0SjdNdllHUmNLRjZKMFBC?=
 =?utf-8?B?MWhwUzlkVkt4UWNzQnFaWFcwc1lUVUs1L0NFUmhBQmVkVXNra3loQzJvN3FZ?=
 =?utf-8?B?aTR6aFpMaGIzenF3SFM2aW4yVk9maVVMMXZMUC96aE4vWDFOV25NaHR4YWZu?=
 =?utf-8?B?WmN4R05MS2UrM042SkZya1NLQkN6RFlqRHRadnNXa1Z4NWZTbFI4YjRPOVEz?=
 =?utf-8?B?bjVXeUJvZDZpYmJWYlVzNVdsVnBBRDBSNmV1RGROUlFjcjlRTkxsVk85d1NR?=
 =?utf-8?B?NmJ1dFJwangySnB1b0I0OVhRYm5uU0w0VytyVTJhT3JTM2Y0RjI2RGt4ZHMz?=
 =?utf-8?B?MklLbGYxazAxSTE0SXljQzdod2cvUkRZMFdhSkJRRGNoV2ZqZE5hS0pjTVhS?=
 =?utf-8?B?RHJ4cER3SVY5V3V3cXZLaFNQTFZ2Kzh5TngrNkJZR2R5MDdUd3orbkpEQU90?=
 =?utf-8?B?em1KYUY4SGJhRmNuY3Y4N1pITktsNEtqb29HMk5Wem5TMHpodmlCeW5SQ0J4?=
 =?utf-8?B?dGozelpvUmlRTjRrZFBUSWFneS9XcUdwSnRBNlhSN3ptd3pNcDlraWg2aVcw?=
 =?utf-8?B?WEM3ZHB0S3hIdU5KU2lhU0c1Z0VIdzNrTTN2NnB3eEt2Z3Z0YnpjMjhHaFdw?=
 =?utf-8?B?RkJBVVJ2UXRaWjd4ZWQ4RGQxZHA0a0EzQ29sYloxUVc4N1pScGpxOXVxTHRT?=
 =?utf-8?B?SEtDenU1akRGN0IzK1NLemRBYkdkdGo3dytjQTBrUW9xd2w0UmJKbXYzVlA1?=
 =?utf-8?B?bFhQQ2YvY2tTNzhMbm0wRXFnTEk4SVpRZ2tneEdsaENXT0tQdlZPbnRYSVVN?=
 =?utf-8?B?aTg5Z0pJTmpJemRaQzA4cTJqL1ZhWXlBOVlSRFlxQUY4eFBYRVllQkpjWVA0?=
 =?utf-8?B?MjJ0REg3UVpVY1RXVVNWNG96RGx1VHRoOE1RbmJYU0I4QmkrRGkwb2tHOHNi?=
 =?utf-8?B?akx0cEd6L0g4SEJIWGNnNVZZdmY3M2ZxR0ZlZFJORWRsVUlnOE9PbjkzRGNt?=
 =?utf-8?B?VXF0SUlZWXlhSjRPY0g4bkdXVnlEd0MwRS9ZRlBwbDAvUU1WYXlzeVA1cmts?=
 =?utf-8?B?SmJCM1VINDQrYXRadDkzMW41QlFidHBITU5tVnBtRk4zb0d5Z2cvZEkvNm9X?=
 =?utf-8?B?Zld0azc0dVZtZDNwLzkwMndoaFpjWVR3Z1oxVnFPQTdWOGg0dnJFamNGdStH?=
 =?utf-8?B?YkxnOUpnZ0ZDZ3N2ME1GTEdRUzRET2JWd2ZlRGNzMWtjRElSdjlFSlQ1L0Rl?=
 =?utf-8?B?R2JNYjdzdDNNSzlzamhLNW1PZnFtcU55RTg3SUllNHkrZzRVcEQrUT09?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <8430E4547B70D74EBD7BFEC29AFB1FBE@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: e48991ad-5ff5-4c28-1b5d-08d9e0a6397c
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Jan 2022 08:31:18.2170
 (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: BTXMMU+fkl7Do7C1G+2CG3rRoeQhqMCWGk+CosvPC9KbZmJPRhQ8hXa+g3JbJyLaFygLJJmiUjOpFtRw+RZe6x4FLFMPFWx36ZQ4coqoSMKSiutiKy/6h4Cz3vNcr7x/
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR03MB3772
X-Proofpoint-ORIG-GUID: 9g7LN9RYID9AtHOYJR2UT3EgZfU2CEY_
X-Proofpoint-GUID: 9g7LN9RYID9AtHOYJR2UT3EgZfU2CEY_
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-26_02,2022-01-25_02,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 mlxscore=0
 impostorscore=0 bulkscore=0 mlxlogscore=922 lowpriorityscore=0
 malwarescore=0 adultscore=0 suspectscore=0 priorityscore=1501 phishscore=0
 clxscore=1011 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2201110000 definitions=main-2201260048

SGksIFJvZ2VyIQ0KDQpPbiAxMS4xMi4yMSAxMDo1NywgT2xla3NhbmRyIEFuZHJ1c2hjaGVua28g
d3JvdGU6DQo+IEhpLCBSb2dlciENCj4NCj4gT24gMTEuMTIuMjEgMTA6MjAsIFJvZ2VyIFBhdSBN
b25uw6kgd3JvdGU6DQo+PiBPbiBGcmksIERlYyAxMCwgMjAyMSBhdCAwNTo1NTowM1BNICswMDAw
LCBKdWxpZW4gR3JhbGwgd3JvdGU6DQo+Pj4gSGkgT2xla3NhbmRyLA0KPj4+DQo+Pj4gT24gMjUv
MTEvMjAyMSAxMTowMiwgT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gd3JvdGU6DQo+Pj4+IEZyb206
IE9sZWtzYW5kciBBbmRydXNoY2hlbmtvIDxvbGVrc2FuZHJfYW5kcnVzaGNoZW5rb0BlcGFtLmNv
bT4NCj4+Pj4NCj4+Pj4gdnBjaV9wcm9jZXNzX3BlbmRpbmcgaXMgZGVmaW5lZCB3aXRoIGRpZmZl
cmVudCBhdHRyaWJ1dGVzLCBlLmcuDQo+Pj4+IHdpdGggX19tdXN0X2NoZWNrIGlmIENPTkZJR19I
QVNfVlBDSSBlbmFibGVkIGFuZCBub3Qgb3RoZXJ3aXNlLg0KPj4+PiBGaXggdGhpcyBieSBkZWZp
bmluZyBib3RoIG9mIHRoZSBkZWZpbml0aW9ucyB3aXRoIF9fbXVzdF9jaGVjay4NCj4+Pj4NCj4+
Pj4gRml4ZXM6IDE0NTgzYTU5MDc4MyAoIjdmYmIwOTZiZjM0NSBrY29uZmlnOiBkb24ndCBzZWxl
Y3QgVlBDSSBpZiBidWlsZGluZyBhIHNoaW0tb25seSBiaW5hcnkiKQ0KPj4+Pg0KPj4+PiBTaWdu
ZWQtb2ZmLWJ5OiBPbGVrc2FuZHIgQW5kcnVzaGNoZW5rbyA8b2xla3NhbmRyX2FuZHJ1c2hjaGVu
a29AZXBhbS5jb20+DQo+Pj4gUmV2aWV3ZWQtYnk6IEp1bGllbiBHcmFsbCA8amdyYWxsQGFtYXpv
bi5jb20+DQo+PiBSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJp
eC5jb20+DQo+Pg0KPj4gSSB0aGluayB0aGlzIGNhbiBiZSBjb21taXR0ZWQgaW5kZXBlbmRlbnRs
eSBvZiB0aGUgcmVzdCBvZiB0aGUNCj4+IHNlcmllcz8NCj4gSSB0aGluayBzbw0KQ291bGQgeW91
IHBsZWFzZSBjb21taXQgdGhpcyBvbmUsIHNvIEkgZG9uJ3QgaGF2ZSB0byBrZWVwIGl0IGluIHRo
ZSB2NiBvZiB0aGUgc2VyaWVzPw0KDQpUaGFuayB5b3UgaW4gYWR2YW5jZSwNCk9sZWtzYW5kcg0K
Pj4gVGhhbmtzLCBSb2dlci4NCj4gVGhhbmsgeW91LA0KPiBPbGVrc2FuZHINCg==


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 08:40:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 08:40:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260711.450647 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCdqo-0007wS-W1; Wed, 26 Jan 2022 08:40:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260711.450647; Wed, 26 Jan 2022 08:40: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 1nCdqo-0007wK-Rh; Wed, 26 Jan 2022 08:40:22 +0000
Received: by outflank-mailman (input) for mailman id 260711;
 Wed, 26 Jan 2022 08:40:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=h9k5=SK=epam.com=prvs=3025680a51=oleksandr_andrushchenko@srs-se1.protection.inumbo.net>)
 id 1nCdqn-0007wE-6H
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 08:40:21 +0000
Received: from mx0b-0039f301.pphosted.com (mx0b-0039f301.pphosted.com
 [148.163.137.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9737068b-7e83-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 09:40:19 +0100 (CET)
Received: from pps.filterd (m0174683.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20Q7gs46018100;
 Wed, 26 Jan 2022 08:40:14 GMT
Received: from eur03-ve1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2053.outbound.protection.outlook.com [104.47.9.53])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3du1n507cj-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 26 Jan 2022 08:40:14 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com (2603:10a6:20b:153::17)
 by AM9PR03MB7789.eurprd03.prod.outlook.com (2603:10a6:20b:3df::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Wed, 26 Jan
 2022 08:40:09 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6]) by AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6%3]) with mapi id 15.20.4930.015; Wed, 26 Jan 2022
 08: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: 9737068b-7e83-11ec-8f75-fffcc8bd4f1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BikpthesnqcEzJ8UHvnCspvgF7mOXM3EDXVZPrjmTAMBULi68VYFycQ046nNLBBF8SVLylEL16/2u3WtXB7jEHVomIoAmAEHZhBtoSMiPLkSCTpf8/ELyIyFicT3DJ3McciZV6Ut36M6nr1tBHPt+45xHsuFlrreZ6v4VcjzZRTXmx1gFu6ycL6ZULYuP4T+Hk+f9Fsbw1Eh0HbBJtB88fX+hBQh1MV2QaPFWP9JnOkEzffFNJ3vd+E181jqK/yLo/qAmSk20HO0JRCoVmxXyZjc97JzCpeaqhgV7tM6scIbEFjDAQ7WHnPl0y0t6z7uy82i6RaNzAwwi1q3IrUDPg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=X5HvTzJ/A4gaMa6cI1K3lbfMIrMEdSx+vA0Oy1tDceU=;
 b=FANJUFBgBU5as5n+SMwuFC8N6YEWSy1vErCKqJ+QkJLXL8ZCtqKZQUz3up2dEWm/MdGPYXH8bape16Wvj8SWEbqdSZy0gGv9H1Sigek8eKr6JOYtkawYkRLoUSa0/YFsnHoiHXgI48sVsnPrHDBzioMHKTeHavNL88LaaHhCvvu33+1BpE3Qa6f/Wy5OmjOstEOLhFMzG4/ggMAvtLlg8Mttv/Se7BXwjscnYA4l1IoPZWxiKE4d45zr39uZK2blGOFtcKYAobRDu4uqg5kyoM0z5KgTJKoDbhtu6P2jQ/sKa0zVUbLwUNEb/83JITKTT7OdoFcGFCU1B6ZkNcWD6A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=X5HvTzJ/A4gaMa6cI1K3lbfMIrMEdSx+vA0Oy1tDceU=;
 b=pcmtyXzBgRunQDxBZJYhxeEWeTtX/gb/d9ETJgMyz2mcme/vmt+KHFtSXclRdBpv43pItz0fXibTB9fkTkXmQ3YYkBWTPN+Fr6kvgN+rGdqzomT67iSHgy67NqYqhkWmp8H6kpoYDx4j695b1a6K3kCOfPnfPD24MFxhioE+1NCojVpDkwuHhJlVsByfrEkTwDL7hD6BIMA1ZeginFJKfBXB6S2l3BOrxdCWyF4VhnGQwvQmledCVfKNBMgL63DHmnUcCGTV6QezC8o9MgDPlMfJlM95h/jJCgyaLrw/gT1b/RCQB8WhgR5Lg15CboolP/bTiT6hWIP2E8gssPLv+w==
From: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
To: Jan Beulich <jbeulich@suse.com>,
        =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        "julien@xen.org" <julien@xen.org>,
        "sstabellini@kernel.org"
	<sstabellini@kernel.org>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Artem Mygaiev <Artem_Mygaiev@epam.com>,
        "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
        "george.dunlap@citrix.com" <george.dunlap@citrix.com>,
        "paul@xen.org"
	<paul@xen.org>,
        Bertrand Marquis <bertrand.marquis@arm.com>,
        Rahul Singh
	<rahul.singh@arm.com>,
        Ian Jackson <ian.jackson@eu.citrix.com>,
        Oleksandr
 Andrushchenko <Oleksandr_Andrushchenko@epam.com>
Subject: Re: [PATCH v5 03/14] vpci: move lock outside of struct vpci
Thread-Topic: [PATCH v5 03/14] vpci: move lock outside of struct vpci
Thread-Index: AQHX4ewHDku9OOCAtECwEMPLB4JkU6xeOMoAgAGIjICAFZt4gA==
Date: Wed, 26 Jan 2022 08:40:09 +0000
Message-ID: <5f00c94d-069d-ea5f-aa1b-1861fe8a7cef@epam.com>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-4-andr2000@gmail.com> <Yd2ffPULbmNpSmaD@Air-de-Roger>
 <d738229b-11ed-db77-f313-5f1618ed95a1@suse.com>
In-Reply-To: <d738229b-11ed-db77-f313-5f1618ed95a1@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 60a39f74-3b25-4c1b-7de2-08d9e0a77651
x-ms-traffictypediagnostic: AM9PR03MB7789:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <AM9PR03MB7789595CB177F31C33C4AA9EE7209@AM9PR03MB7789.eurprd03.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: 
 AHgu/Z2iUcYCCpQac/LaY+rP0xT6m7tumUGznYxp3N2e1wxhPcWwlj5dR8eLVA/uPqtQnUDt14Pkx6KstvfD46jWF1/RtthC+xVlShybkmVjAzLX8b7b7anL5IA6sS7Wvxp4L/+fH1uyX6SXVrofp5UYyviQJzmVTOmsiUM8vryN3ftHzx0zbbsX2dmZBAicfrwwlgik2hNBQAMyluQDtU9ogh11UOoJJ47v626STiQ9QtoBhOQ1q9y0Ra6bIDNe49VBuBib7NdXp/5nBAWE7akYfnaP1cWgxXfxn2DdElwaALoARbs16SzSr+O65W/2Otm0Wxc4oBpae1M2olyNPRmXksk5q0F0th3MjO9Etw4q0hBZh53AUfU9U37lyEtWB8TjK6Qom2NrckGPz29xY4caXDuQOnavFmuMKkHyqzx5Wd/UOo/wpo2vKB25QMLtsbWMLoEH/1psktqkct3JWtXVHL23VoAAYjg+PogToo39ixVIwu1So5amz3JKMRKpStTZRYQt8pypdz8ax0htEF85vwXLpXowXo5Hfw8r2m4f26/CV7v6S3GHTDxs2Fxpdure9OccjceBRwhmyTin68ihS3dydkY2Y5HXZQF7RT6T/E87vlK/Cn/HjhoE5IV9GSKgcCCZyR7Ika6yQL2KpDZJzbsTjkY/UzeO5VrDKAbrjX8OfdzV3wgXGbL9PGymXkTwIkaGxXW57wEu4ahkyumMbTJjDlIMrg5YFbSAI7inGfPcFbBycIATXn/6UBMbtZISptJoKDfPz2UHdN0zequi1f2gxTBvaWygIxURWKpyj5/6bbIbpEB3EckKcbnx5QVklyR4iWtlPuolkeSVow==
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:(13230001)(4636009)(366004)(316002)(186003)(76116006)(110136005)(71200400001)(66946007)(53546011)(26005)(6506007)(6512007)(2616005)(91956017)(107886003)(4326008)(5660300002)(38070700005)(31686004)(7416002)(8936002)(6486002)(966005)(54906003)(2906002)(83380400001)(508600001)(38100700002)(31696002)(8676002)(86362001)(66446008)(66476007)(64756008)(122000001)(36756003)(66556008)(45980500001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?eStpRjlnbndzQ0RyS0dHN3JxMThxWHNJR1FyVHpyMlVCeHluVnIyd1dRV0c3?=
 =?utf-8?B?QjEvdUs0dVhUWkkrcFo0OFN4TytRdVNmNkEzVzRsTk1MRWFkbGdSU0cwSlNC?=
 =?utf-8?B?aWtwc0Z3UElTZ2dIbWdSNUtKM1JwdlFhQ3E3bkFkdDlGUzlWUERXOHBxYTZ6?=
 =?utf-8?B?dENlckM4Z284SVhnMzVER0FMVlk3Szh3ZFpPWTZST1lCeWdha2k0djhuQzZv?=
 =?utf-8?B?eTczZXZPaFllRWZ5MGhoanJhRjZBVDJrTmx6bE5EajFDSnJSRDBKdlM3U1p3?=
 =?utf-8?B?UGkraWhYWmpUQkx5WDN2dnJKRGxiTWhzMDY3SmZ5NU5QK2xEdlVWUlh2Tisz?=
 =?utf-8?B?clEvNmQ2RTNFK3crWWZWVmZEUEloNkVNYURqenZWRkhJdjgwblVhaStHR0Nl?=
 =?utf-8?B?RGhsV00xVVcwSXBNK1RONHNjRWxqQ1RyaUlidnpVQWU0RjhhNmUzY3ZiVUVF?=
 =?utf-8?B?ekNHTVJqZEhDeDRnMDRkMVgxQ1JnYU5ibXNwZ0dvdG5aa01ibVBTZTliQUhQ?=
 =?utf-8?B?aGc4WXoxMTMvM3pxdlFiWXN5Y1JYSGtYb3BxWDdUUm1ITUJJOGFRb29vOXNH?=
 =?utf-8?B?R3FFRlFNOWFFaTA3a0pOSzJna2lWY2FUMjkxMFpJU3JWYVdZRFpnaGJnODlV?=
 =?utf-8?B?dnVIaGVSMzdhUkRrdmY4NUhyVlZJNDlTQ2x0Vmp4dmoycVJSRTg5QTNnYXE2?=
 =?utf-8?B?SUNEeFNCRVp0c2QrcGtmUWZ2Mmg3LzZwT1FBSjBsT1BzNzdaL1JMWlNIdUNl?=
 =?utf-8?B?MnJyV0doVnh4QXV0WllNbUVOeC9TUUczWkdUWVRrRTVHVWNsT2F5dXdPT3ZN?=
 =?utf-8?B?UmRLUjMyOUo1enRQMVo1OEVxbFNUcFhyck1KaHhYTldHNHFTTVFYRGhnNjdO?=
 =?utf-8?B?SjFpV2pLaWdPN1E1RE1qZGw2aU5rbXJ6ZmxLNWJVV3hoTmRQU3NZUWZQdW5u?=
 =?utf-8?B?bGhJK0lmcEtvbktKT1EwZVhkd3NPRHMxRkhPNXBERCtEQlhuMGYyamEyTkFI?=
 =?utf-8?B?NHIxTDZPMHNMWWdUVzBXQUIyd0oraDR4RXpjRHl6anJ5QmtZTkZLenVaeXlV?=
 =?utf-8?B?aUl6TmdxSmorZXc1N2o2UkRPdlZnejR6MUFRSXR2WjFMVWIzdFYzOFprQkVt?=
 =?utf-8?B?dEgzYkk0TUpDV2grM2VqTWVvQ3RwQlMyaWNlZ214eklyTFMyaTd5dWxKUTE3?=
 =?utf-8?B?cFMzQ1FvQmx0QzRQTjY3OXJGcEpIVXBqSmdPMG1PRmNpUXFkNFhYRjlMY05D?=
 =?utf-8?B?dGtoNmFGdFFERldkRW51YUFFMnZOdm56dU1PR3dOZkZLdkxGVk9sYWNyaVZN?=
 =?utf-8?B?RkZUN1dncXdFeUlIVmEvT0Y4aG9tamNYbkU4RUJwbURkMktMaGtTRGVRSlFp?=
 =?utf-8?B?UG9yTytvOFU0bmw1THlBNk5ZWVRIYnE1VWRKeTdLZmpCeElDMktlVERZOHJJ?=
 =?utf-8?B?RUw3UkFVUExyWFFRaHhyWHp2dElTV1Nma1RZbHZodzYvUEpGSVMrczJOV0Uv?=
 =?utf-8?B?OTVDTFp4Q3g1SnFEbCs2dENId0hhNVpkSTdDenNKVnhkOElGZ0swdC95V2NO?=
 =?utf-8?B?Um9PaDRLTWpML0tueFNvNnIvTkN3RTFGV2JyUE9IR3o3YzNOSS9QVFAxZFo2?=
 =?utf-8?B?K0duYzgyQk5iakZMYWZVUWVONGh1NnVCaTExQUlLaUp0RWlCUnVGR2V0Rkgy?=
 =?utf-8?B?b084OXFQRXZiOXJYL2NkTVVud293UFIwT3c1WFZTTkp0enBHOFBmWFp5Y1lD?=
 =?utf-8?B?MVZBb0xHaEp1VWFkOEZuYmRaeTQxWkFndFBCTnZWMlZuSXF2MHd1OUhsUUNK?=
 =?utf-8?B?ZmpKc0FrT2tIeC92Nmg4eGxYRitqeVBZdC9aUDU2SDZ6S1lnSDZNcUV0YWty?=
 =?utf-8?B?eEF4STN1eTNhQnF2K0s4cGI5MDNsNE5jQkFOUVlPMzhhWnl0dTdsV0JCVEY5?=
 =?utf-8?B?NlZSdi9ZOWFnNW53cnFWZEpLZmVrRlFRSXJzaUxCbE9TSmRjWUd2dW9NQ3p3?=
 =?utf-8?B?bWE5ZkNuSW1QdVFuTWVkZDR3YlpDRVczenNKTmE5V1Q5Ym5HZDJZL1VkNTd5?=
 =?utf-8?B?QWxNYVVVYzlSNm1qWm5WTWgxZ01nbjFhOVM2bDROd09zOVNGeTZRVU5VbzJx?=
 =?utf-8?B?TjdmVnNCdWd0VnA3UVZPSzI5SkF3NE83QndyYXlEMjlRZHhMSnVGTzM1V1l5?=
 =?utf-8?B?ZGFFSDVMdUVEeE5WbXRtTVF4THZqWVhLL3luUWJwdzBrK04vbG90VGh0Yjhk?=
 =?utf-8?B?Q1FzYVltWmRZd04xbkFTRVpUMkFMK1hTRkJ4b1BZSHdMMHZaUHRLa08za0JJ?=
 =?utf-8?B?TDRhRDk4TGcvbzdRQXdFVHJjeVo2cU5lMGJ0ZG1tNm9YZTdaQldkdz09?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <8E1CA46281707143B10FCDAC495A9592@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: 60a39f74-3b25-4c1b-7de2-08d9e0a77651
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Jan 2022 08:40:09.7598
 (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: OAl/b0L03pD6tWoXYCraiN8nP26o7PoWJn5gtOXSDpp/MSu0RRNoIWFRULg/hV08z2Erqb/yOggkMwDqb84IVulp33AA1Nct5hRhfCLhiDiWuXKBPWeLskTqvl3CVc0T
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7789
X-Proofpoint-GUID: zHMcnCFBCM4pbQxHfuh9sUv51pLrTvyI
X-Proofpoint-ORIG-GUID: zHMcnCFBCM4pbQxHfuh9sUv51pLrTvyI
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-26_02,2022-01-25_02,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1011 impostorscore=0
 spamscore=0 suspectscore=0 malwarescore=0 bulkscore=0 lowpriorityscore=0
 priorityscore=1501 mlxlogscore=867 mlxscore=0 adultscore=0 phishscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2201110000
 definitions=main-2201260050

SGVsbG8sIFJvZ2VyLCBKYW4hDQoNCk9uIDEyLjAxLjIyIDE2OjQyLCBKYW4gQmV1bGljaCB3cm90
ZToNCj4gT24gMTEuMDEuMjAyMiAxNjoxNywgUm9nZXIgUGF1IE1vbm7DqSB3cm90ZToNCj4+IE9u
IFRodSwgTm92IDI1LCAyMDIxIGF0IDAxOjAyOjQwUE0gKzAyMDAsIE9sZWtzYW5kciBBbmRydXNo
Y2hlbmtvIHdyb3RlOg0KPj4+IGRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy92cGNpL3ZwY2kuYyBi
L3hlbi9kcml2ZXJzL3ZwY2kvdnBjaS5jDQo+Pj4gaW5kZXggNjU3Njk3ZmUzNDA2Li5jZWFhYzQ1
MTZmZjggMTAwNjQ0DQo+Pj4gLS0tIGEveGVuL2RyaXZlcnMvdnBjaS92cGNpLmMNCj4+PiArKysg
Yi94ZW4vZHJpdmVycy92cGNpL3ZwY2kuYw0KPj4+IEBAIC0zNSwxMiArMzUsMTAgQEAgZXh0ZXJu
IHZwY2lfcmVnaXN0ZXJfaW5pdF90ICpjb25zdCBfX3N0YXJ0X3ZwY2lfYXJyYXlbXTsNCj4+PiAg
IGV4dGVybiB2cGNpX3JlZ2lzdGVyX2luaXRfdCAqY29uc3QgX19lbmRfdnBjaV9hcnJheVtdOw0K
Pj4+ICAgI2RlZmluZSBOVU1fVlBDSV9JTklUIChfX2VuZF92cGNpX2FycmF5IC0gX19zdGFydF92
cGNpX2FycmF5KQ0KPj4+ICAgDQo+Pj4gLXZvaWQgdnBjaV9yZW1vdmVfZGV2aWNlKHN0cnVjdCBw
Y2lfZGV2ICpwZGV2KQ0KPj4+ICtzdGF0aWMgdm9pZCB2cGNpX3JlbW92ZV9kZXZpY2VfaGFuZGxl
cnNfbG9ja2VkKHN0cnVjdCBwY2lfZGV2ICpwZGV2KQ0KPj4+ICAgew0KPj4+IC0gICAgaWYgKCAh
aGFzX3ZwY2kocGRldi0+ZG9tYWluKSApDQo+Pj4gLSAgICAgICAgcmV0dXJuOw0KPj4+ICsgICAg
QVNTRVJUKHNwaW5faXNfbG9ja2VkKCZwZGV2LT52cGNpX2xvY2spKTsNCj4+PiAgIA0KPj4+IC0g
ICAgc3Bpbl9sb2NrKCZwZGV2LT52cGNpLT5sb2NrKTsNCj4+PiAgICAgICB3aGlsZSAoICFsaXN0
X2VtcHR5KCZwZGV2LT52cGNpLT5oYW5kbGVycykgKQ0KPj4+ICAgICAgIHsNCj4+PiAgICAgICAg
ICAgc3RydWN0IHZwY2lfcmVnaXN0ZXIgKnIgPSBsaXN0X2ZpcnN0X2VudHJ5KCZwZGV2LT52cGNp
LT5oYW5kbGVycywNCj4+PiBAQCAtNTAsMTUgKzQ4LDMzIEBAIHZvaWQgdnBjaV9yZW1vdmVfZGV2
aWNlKHN0cnVjdCBwY2lfZGV2ICpwZGV2KQ0KPj4+ICAgICAgICAgICBsaXN0X2RlbCgmci0+bm9k
ZSk7DQo+Pj4gICAgICAgICAgIHhmcmVlKHIpOw0KPj4+ICAgICAgIH0NCj4+PiAtICAgIHNwaW5f
dW5sb2NrKCZwZGV2LT52cGNpLT5sb2NrKTsNCj4+PiArfQ0KPj4+ICsNCj4+PiArdm9pZCB2cGNp
X3JlbW92ZV9kZXZpY2VfbG9ja2VkKHN0cnVjdCBwY2lfZGV2ICpwZGV2KQ0KPj4gSSB0aGluayB0
aGlzIGNvdWxkIGJlIHN0YXRpYyBpbnN0ZWFkLCBhcyBpdCdzIG9ubHkgdXNlZCBieQ0KPj4gdnBj
aV9yZW1vdmVfZGV2aWNlIGFuZCB2cGNpX2FkZF9oYW5kbGVycyB3aGljaCBhcmUgbG9jYWwgdG8g
dGhlDQo+PiBmaWxlLg0KVGhpcyBpcyBnb2luZyB0byBiZSB1c2VkIG91dHNpZGUgbGF0ZXIgb24g
d2hpbGUgcHJvY2Vzc2luZyBwZW5kaW5nIG1hcHBpbmdzLA0Kc28gSSB0aGluayBpdCBpcyBub3Qg
d29ydGggaXQgZGVmaW5pbmcgaXQgc3RhdGljIGhlcmUgYW5kIHRoZW4gcmVtb3ZpbmcgdGhlIHN0
YXRpYw0Ka2V5IHdvcmQgbGF0ZXIgb246IHBsZWFzZSBzZWUgW1BBVENIIHY1IDA0LzE0XSB2cGNp
OiBjYW5jZWwgcGVuZGluZyBtYXAvdW5tYXAgb24gdnBjaSByZW1vdmFsIFsxXQ0KPiBEb2VzIHRo
ZSBzcGxpdHRpbmcgb3V0IG9mIHZwY2lfcmVtb3ZlX2RldmljZV9oYW5kbGVyc19sb2NrZWQoKSBi
ZWxvbmcgaW4NCj4gdGhpcyBwYXRjaCBpbiB0aGUgZmlyc3QgcGxhY2U/IFRoZXJlJ3Mgbm8gc2Vj
b25kIGNhbGxlciBiZWluZyBhZGRlZCwgc28NCj4gdGhpcyBsb29rcyB0byBiZSBhbiBvcnRob2dv
bmFsIGFkanVzdG1lbnQuDQpJIHRoaW5rIG9mIGl0IGFzIGEgcHJlcGFyYXRpb24gZm9yIHRoZSB1
cGNvbWluZyBjb2RlOiBhbHRob3VnaCB0aGUgcmVhc29uIGZvciB0aGUNCmNoYW5nZSBtaWdodCBu
b3QgYmUgaW1tZWRpYXRlbHkgc2VlbiBpbiB0aGlzIHBhdGNoIGl0IGlzIHN0aWxsIGluIGxpbmUg
d2l0aCB3aGF0DQpoYXBwZW5zIG5leHQuDQpTbywgSSB3b3VsZCBwcmVmZXIgdG8ga2VlcCB0aGUg
Y2hhbmdlIGFzIGlzOiBhbnl3YXlzIHRoZSB3aG9sZSBzZXJpZXMgc2hvdWxkIHByb2JhYmx5DQpi
ZSBjb21taXR0ZWQgYXMgYSBzaW5nbGUgcGllY2Ugb2Ygd29yaywgc28gaXQgd29uJ3QgbG9vayBp
bmNvbnNpc3RlbnQgdGhlbg0KDQpUaGFuayB5b3UsDQpPbGVrc2FuZHINCj4NCj4gSmFuDQo+DQoN
ClsxXSBodHRwczovL3BhdGNod29yay5rZXJuZWwub3JnL3Byb2plY3QveGVuLWRldmVsL3BhdGNo
LzIwMjExMTI1MTEwMjUxLjI4NzcyMTgtNS1hbmRyMjAwMEBnbWFpbC5jb20v


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 08:45:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 08:45:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260714.450658 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCdvV-00008p-Gb; Wed, 26 Jan 2022 08:45:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260714.450658; Wed, 26 Jan 2022 08:45:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCdvV-00008e-DY; Wed, 26 Jan 2022 08:45:13 +0000
Received: by outflank-mailman (input) for mailman id 260714;
 Wed, 26 Jan 2022 08:45:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DU/T=SK=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nCdvT-000083-Lc
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 08:45:11 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 43f66c08-7e84-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 09:45:10 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 43f66c08-7e84-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643186710;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=uX278L4FAVrVZOZsba6ZQ7SCs/+GWJXykaSN0q2hQdQ=;
  b=OjergcLvvwl90gVwhLBhIChnD+ne4X7AzLXTZlOwKk9hqDtrwlebe2gt
   OBmkc5aU3XaeC/8aySxb50vsGjsDDZjKaxWj9XWauD0wPjbR8LQqnPQ8X
   lArsa23pf5HBpO+B35jiOnHbbJSAee1q4PcPtN1pagEIIGFdIhssMECxH
   E=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: QWC+k+WygnbngbDBS26n46/vFR3gtE542BktanjWeznBOJh97UztpXgjSG5V4tCiGxLV35Bopz
 2f3JUrMLfUeF7LB7UhKCZTvFJnbc8raPyX6q2IVgGQZFzfpWc9siTnRvQK70m5LjjN+Xf76O4w
 xHZQ5b7kScD5dlwQRPg4v42ouMRVkO5Rx0C64SIUGnPk2Kh1SNSAoFwYzqc+4XcxVBnc2LtOoP
 BV9WnPWlYXY/aI/dLDogn5Y1jdqpD6b6KJc8PIi5r3UQiFA8kwzbwr2/Cca1fptFsXpYihDclO
 9cp3Bt73uev712/L9G/R5Rp1
X-SBRS: 5.2
X-MesageID: 63189673
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:c5WPrKLD63Ip5Fc2FE+RBZIlxSXFcZb7ZxGr2PjKsXjdYENS0DBTy
 GcbXW7Xbq2LamDye9F0Po238EoFvJ+HnYM3GgJlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokcxIn5BC5C5xZVG/fjgqoHUVaiUakideSc+EH170Us5xbZg6mJVqYPR7z2l6
 IuaT/L3YDdJ6xYsWo7Dw/vewP/HlK2aVAIw5jTSV9gS1LPtvyB94KYkDbOwNxPFrrx8RYZWc
 QphIIaRpQs19z91Yj+sfy2SnkciGtY+NiDW4pZatjTLbrGvaUXe345iXMfwZ3u7hB3WmMBz6
 +RqjqWBWBwqP7Pvp7RAYRlhRnQW0a1uoNcrIFC6uM2XiUbHb2Ht07NlC0Re0Y8wo7gtRzsUr
 LpBdW5LPkvra+GemdpXTsFFgMg5IdatF4QYonx6lhnSDOo8QICFSKLPjTNd9Glr35AfQ6mFD
 yYfQT80Zj7aaidyBlk4OsMejOr1hGHwVDIN/Tp5ooJoujOOnWSdyoPFL979atGMA8JPkS6wh
 EjL4mD4CREyL8GExHyO9XfErv/Cm2b3VZwfEJW89+V2mxuDy2oLEhoUWFCn5/6jhSaDt8l3c
 hJOvHB09O5rqRLtHoKVswCETGCs4RkMWflhNNYD2RCWyavKwDnJW1oEd2sUADA5j/MeSTsv3
 16PutrmAz1zrbGYIU6gGqeoQSCaYnZMczJbDcMQZU5cuoS4/tlv5v7aZos7SMaIYsvJ9SYcK
 txghAw3nP0tgMECzM1XFniX0mv39vAlouPYjzg7v15JDCslNeZJhKTysDA3CMqsyq7DHzFtW
 1Bfw6CjABgmV83lqcB0aLxl8EuVz/iEKibAplVkAoMs8T+gk1b6I9wLuWojehs1b5ZbEdMMX
 KM1kVkAjHO0FCDyBZKbnqrrU5h6pUQePYmNug/ogipmPcEqKV7vENBGbk+MxWH9+HXAYolkU
 ap3hf2EVC5AYYw+lWLeb75EjdcDm35irUuOG8GT50n3gNK2OS/OIZ9YYQTmUwzMxP7eyOkj2
 4wBZ5LiJtQ2eLCWXxQ7BqZKfQlVdiBqXM6vwyGVH8baSjdb9KgaI6e56dscl0ZNxcy5T8/Eo
 SOwXFF20l36iSGVIAmGcCk7OrjuQYx+vTQwOil1ZQSk3H0qYICO6qYDdsRoIel7pbI7lfMkH
 eMYf8igA+hUTmiV8ToqcpSg/pdpcw6mhFzSMnP9MiQ/ZZNpWyfA5sTgIln07CALAyfu7Zk+r
 rSs2xn1W50GQwg+Xs/aZOj2lwG6vGQHmfI0VEzNe4EBdELp+YlsCirwkv5ofJ1cdUSdnmOXj
 l/EDw0ZqO/Bp54O3OPI3a3U/Z20F+ZeH1ZBGzWJ57iBKiSHrHGoxpVNUbjUcGmFBn/04qire
 c5c0+r4bK8chF9PvodxT+RrwKY564e9rrNW1F05TnDCblDtAbJ8OHiWm8JIs/QVlLNevAK3X
 GOJ+8VbZurVaJ+0TgZJKVp3dPmH2NEVhiLWvKY8L0jN7SNq+KaKDBdJNB6WhS0BdLZ4PevJG
 wv6VBL6P+BnticXDw==
IronPort-HdrOrdr: A9a23:hXJd9qmK9tIzrx2aBVDgw1wRTZLpDfIg3DAbv31ZSRFFG/Fxl6
 iV8sjzsiWE7wr5OUtQ/exoV5PhfZqxz/JICOoqTNKftWvdyQiVxehZhOOIqVDd8kXFh4hgPM
 xbEpSWZueeMbEDt7eZ3DWF
X-IronPort-AV: E=Sophos;i="5.88,317,1635220800"; 
   d="scan'208";a="63189673"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH 0/8] x86: MSR_SPEC_CTRL support for SVM guests
Date: Wed, 26 Jan 2022 08:44:44 +0000
Message-ID: <20220126084452.28975-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

Fixes/extensions to allow HVM guests to use AMD hardware MSR_SPEC_CTRL
facilities.

No PV support yet - that will require some substantially more careful
unpicking of the PV entry/exit asm.

Andrew Cooper (8):
  x86/msr: Fix migration compatibility issue with MSR_SPEC_CTRL
  x86/boot: Collect AMD speculative features earlier during boot
  x86/svm: VMEntry/Exit logic for MSR_SPEC_CTRL
  x86/spec-ctrl: Drop use_spec_ctrl boolean
  x86/spec-ctrl: Introduce new has_spec_ctrl boolean
  x86/spec-ctrl: Use common MSR_SPEC_CTRL logic for AMD
  x86/msr: AMD MSR_SPEC_CTRL infrastructure
  x86/cpuid: Enable MSR_SPEC_CTRL in SVM guests by default

 xen/arch/x86/cpu/amd.c                      |  2 +-
 xen/arch/x86/cpu/common.c                   | 15 +++++---
 xen/arch/x86/cpuid.c                        | 16 ++++++---
 xen/arch/x86/hvm/hvm.c                      | 25 +++++++++++--
 xen/arch/x86/hvm/svm/entry.S                | 10 +++---
 xen/arch/x86/hvm/svm/svm.c                  | 39 ++++++++++++++++++++
 xen/arch/x86/include/asm/current.h          |  2 +-
 xen/arch/x86/include/asm/msr.h              | 11 ++++++
 xen/arch/x86/include/asm/spec_ctrl_asm.h    |  7 ++++
 xen/arch/x86/msr.c                          | 37 ++++++++++++-------
 xen/arch/x86/spec_ctrl.c                    | 56 ++++++++++++++++++++---------
 xen/include/public/arch-x86/cpufeatureset.h | 18 +++++-----
 xen/tools/gen-cpuid.py                      |  5 +++
 13 files changed, 187 insertions(+), 56 deletions(-)

-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 08:45:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 08:45:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260716.450671 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCdvW-0000Lm-9j; Wed, 26 Jan 2022 08:45:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260716.450671; Wed, 26 Jan 2022 08:45:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCdvW-0000KQ-2u; Wed, 26 Jan 2022 08:45:14 +0000
Received: by outflank-mailman (input) for mailman id 260716;
 Wed, 26 Jan 2022 08:45:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DU/T=SK=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nCdvV-000088-0k
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 08:45:13 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 460c27e0-7e84-11ec-8eb8-a37418f5ba1a;
 Wed, 26 Jan 2022 09:45:12 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 460c27e0-7e84-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643186711;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=GrQTjmANh8UZabUWhSSvNr7vTaRzKEVUsBsn2eUeX+c=;
  b=g1t9akpiaCWMezcCR19Q/Qq7EgkDkyLBX9BMLHUzQaw4DAlZZPcwc+E2
   46mFmaaxO4rX+MiTAaMQ4TSPkO+6jKWjvzZIjqZA3iaW6r2fo7znCAjNx
   ni7FgHOHG83NwOYSrh7QPbyXKIQpx8Glfu1T6HU4y80GvZbKC3lGfmgl3
   c=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: URKlWtNEx2vmIBHwWfZSPJeolnlGSKon28GiMVExP3rFLkBqi4vykSppC3LFyYm23Rsnas6ABP
 dskmSwvfJtDSIkdF1FokylUyo/t/Ne7RevIfgTdo2taSSWKR2hB/DU2btYLGdbaVsP0jA6oXP8
 05gr4Ecsl8AV0zYs8SIur6jdi4GCokpTXfTeESRc/aL5kP+fRq4+dwED4MnWJz1EEeQucAofXx
 zSV9KupVFmB2TmERhWQhyW63w9TYYOEo0GaaMyIfCUCnQ8PzQRxqu3qWTbgvocK0kSZmUGpHuA
 lpQq7aDZK6Y5oyAh2n93Q7jP
X-SBRS: 5.2
X-MesageID: 62700208
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:ZiU0k6yFeHWYO12CxWF6t+fjwSrEfRIJ4+MujC+fZmUNrF6WrkUDx
 zBKWGmCP/qIYWH1eYxxOt/l8U4H7MPTydNlGQE6pCAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnvopW1TYhSEUOZugH9IQM8aZfHAhLeNYYH1500g7wrRn2tcAbeWRWGthh
 /uj+6UzB3f9s9JEGjp8B3Wr8U4HUFza4Vv0j3RmDRx5lAa2e0o9VfrzEZqZPXrgKrS4K8bhL
 wr1IBNVyUuCl/slIovNfr8W6STmSJaKVeSFoiI+t6RPHnGuD8H9u0o2HKN0VKtZt9mGt9Yu9
 4hOqrX3cCY0NajQveE6fiREGj4raMWq+JefSZS+mcmazkmAeHrw2fR+SkoxOOX0+M4uXzsIr
 6ZBbmlQMFbT3Ipaw5riIgVoru0lINPmI8U0vXZ4wCuCJf0nXYrCU+PB4towMDIY2JoRRa6EP
 5pxhTxHaDDDYjJJAA4uL60TzKD5qHD/cjNXpwfAzUYwyzeKl1EguFT3C/LKfvSaSMMTmVyXz
 krk1WnkBhARNPSE1CGItHmrg4fnjS79HY4fCrC83vprm0GIgHweDgUMUlm2quX/jVSxM++zM
 GRNpHBo9/JrshX2EJ+tBHVUvUJooDYaBOUNEPITrzis16HR/yOcIUU5UjdePYlOWNANeRQm0
 VqAntXMDDNpsaGIRX/1yop4vQ9eKgBOczZcOHZsoR8tpoC6/dpt1k6nosNLTfbt5uAZDw0c1
 NxjQMIWo7wIxfAG2Kyglbwsq2L9/8OZJuLZC+i+Y45E0u+bTNL0D2BLwQKChRqlEGp/ZgPQ1
 JTjs5PGhN3i9bnXyESwrBwlRdlFHcqtPjzGmkJIFJI87Tmr8HPLVdkOvGonfxo3bppZKWCBj
 KrvVeV5vs470JyCNvcfXm5MI55ykfiI+SrNC5g4keaikrAuLVTarUmClGab3nz3kVhErE3ME
 czzTCpYNl5DUf4P5GPvH481iOZ3rghjmz+7bc2lnnyPjOrPDFbIGOxtGAbfMYgEAFas/V+9H
 yB3bZXakn2ykYTWP0HqzGLkBQladCdgXcGv9ZU/myzqClMOJVzNwsT5mdsJE7GJVYwL/gsR1
 n3iCEJe1nTlgnjLdVeDZnx5Meu9Vpdjt3MreycrOA/wiXQkZI+u6oYZdoc2IuZ7pLAyk6YsQ
 qlXYdiED9ROVi/Dp2YXY67iodEwbx+snw+PYXaoOWBtY556SgXV0db4ZQ+zpjIWBy+6uJJm8
 b2t3w/WW7QZQAFmAJqEYf6j1Qrp73MchPhzTw3DJdwKIBfg941jKirQiP4rIp5TdUWfl2XCj
 wvPWEUWv+jApYMx4eLlv6Hcotf7CfZ6E2pbA3LfseS8Ox7F8zfx2oRHSuuJI2zQDTum5KW4a
 OxJ5PjgK/lbzk1Suo9xHrs3n6Iz49zj++1Twgh+RSiZal2qDvVrI2Wc3NkJvapIn+cLtQyzU
 0OJ299bJbTWZ5+1TA9PfFIoPraZyPUZujjO9vBkckz16Rh+8KeDTUgPbQKHjzZQLectPY4oq
 Qv7VBX6N+BrZsIWD+u7
IronPort-HdrOrdr: A9a23:Fc++0qjx9an3AlvQHX9JtfF1l3BQXuIji2hC6mlwRA09TySZ//
 rBoB19726MtN9xYgBHpTnuAsm9qB/nmaKdpLNhWItKPzOW31dATrsSjrcKqgeIc0aVm9K1l5
 0QF5SWYOeAdWSS5vya3ODXKbkdKaG8gcKVuds=
X-IronPort-AV: E=Sophos;i="5.88,317,1635220800"; 
   d="scan'208";a="62700208"
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/8] x86/boot: Collect AMD speculative features earlier during boot
Date: Wed, 26 Jan 2022 08:44:46 +0000
Message-ID: <20220126084452.28975-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220126084452.28975-1-andrew.cooper3@citrix.com>
References: <20220126084452.28975-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

All AMD IBRS-related features are in CPUID.0x80000008.ebx.  Collect them in
early_cpu_init() so init_speculative_mitigations() can use them.

Rework the existing logic structure to fill in c->extended_cpuid_level and
separate out the ambiguous use of ebx in an otherwise 0x80000008-specific
logic block.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 xen/arch/x86/cpu/common.c | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
index 4a163afbfc7e..866f1a516447 100644
--- a/xen/arch/x86/cpu/common.c
+++ b/xen/arch/x86/cpu/common.c
@@ -348,9 +348,13 @@ void __init early_cpu_init(void)
 	}
 
 	eax = cpuid_eax(0x80000000);
-	if ((eax >> 16) == 0x8000 && eax >= 0x80000008) {
-		ebx = eax >= 0x8000001f ? cpuid_ebx(0x8000001f) : 0;
-		eax = cpuid_eax(0x80000008);
+	if ((eax >> 16) == 0x8000)
+		c->extended_cpuid_level = eax;
+
+	if (c->extended_cpuid_level >= 0x80000008) {
+		cpuid(0x80000008, &eax,
+		      &c->x86_capability[cpufeat_word(X86_FEATURE_CLZERO)],
+		      &ecx, &edx);
 
 		paddr_bits = eax & 0xff;
 		if (paddr_bits > PADDR_BITS)
@@ -363,10 +367,11 @@ void __init early_cpu_init(void)
 		hap_paddr_bits = ((eax >> 16) & 0xff) ?: paddr_bits;
 		if (hap_paddr_bits > PADDR_BITS)
 			hap_paddr_bits = PADDR_BITS;
+	}
 
+	if (c->extended_cpuid_level >= 0x8000001f)
 		/* Account for SME's physical address space reduction. */
-		paddr_bits -= (ebx >> 6) & 0x3f;
-	}
+		paddr_bits -= (cpuid_ebx(0x8000001f) >> 6) & 0x3f;
 
 	if (!(c->x86_vendor & (X86_VENDOR_AMD | X86_VENDOR_HYGON)))
 		park_offline_cpus = opt_mce;
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 08:45:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 08:45:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260715.450664 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCdvV-0000Cc-SL; Wed, 26 Jan 2022 08:45:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260715.450664; Wed, 26 Jan 2022 08:45:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCdvV-0000BA-MD; Wed, 26 Jan 2022 08:45:13 +0000
Received: by outflank-mailman (input) for mailman id 260715;
 Wed, 26 Jan 2022 08:45:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DU/T=SK=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nCdvU-000088-8R
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 08:45:12 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 43c193a8-7e84-11ec-8eb8-a37418f5ba1a;
 Wed, 26 Jan 2022 09:45:10 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 43c193a8-7e84-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643186710;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=aBo0kQNJhRHsmzKv1kY5xGJnmg1ogk4/N3dA6zlLZAk=;
  b=FeQOjRpLueRGy7N/pvvKoGCgoFz4AdQ36qW38bTgP1KNURUqf/403snm
   2Q228Gm/XsyhXo6y/2vEyOYMEv7TuAygL+Nku0cKiOjqvLH3kQVswPHi6
   irPHZzd6gkIovOQMQCIZWCkYJQqFgAwwtkUifcwWTuTp4b90fnIPHiM3f
   k=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: 2eng8OM1elcPvt7hhoxwg1wNUPg0F5A5mXhaa+ZBTTn+YC35aqc63/G8ygJJ4nfZUIhXdUWrze
 RCVHvMK+3tCahktPyzec+NyqtlybGcx0lCSO+sXjzD2G3S/+1F7twrvkiKgC+tT3ZtZoniiTir
 CpixnuKFmTYcckUyRfzU2g+avXfioUnsTNYV8aYBHsL0BjnDs49eXZ9nIUBE45xEIL5cA5DtY3
 0Dee5sytcUKHMyfJZ5PeL3/FTWbCk4AhUdD32LgdkvOGnbfEvY7JlVD7Ulx+xSaFjZQn/FQ7T+
 ihbJa/9SWfWgHrakI3kDm3kA
X-SBRS: 5.2
X-MesageID: 62700205
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:j+PN3K2NMaDk8SlF4fbD5Qd2kn2cJEfYwER7XKvMYLTBsI5bp2BRm
 GoZWW6HaP6MMTSne9B2O4i2/EoFv8OGmIdlSgFppC1hF35El5HIVI+TRqvS04J+DSFhoGZPt
 Zh2hgzodZhsJpPkS5PE3oHJ9RGQ74nRLlbHILOCanAZqTNMEn9700o6wbBh2+aEvPDia++zk
 YKqyyHgEAfNNw5cagr4PIra9XuDFNyr0N8plgRWicJj5TcypFFMZH4rHomjLmOQf2VhNrXSq
 9Avbl2O1jixEx8FUrtJm1tgG6EAaua60QOm0hK6V0U+6/TrS+NbPqsTbZIhhUlrZzqhro9Q6
 IhT6qeLcBYIErXiic4RaBUGOnQrVUFG0OevzXmXtMWSywvNcmf2wuUoB0YzVWEa0r8pWycUr
 6VecW1TKEDY7w616OvTpu1Er8IvNsT0eqgYvWlt12rxBvc6W5HTBa7N4Le02R9u3J8WRayGO
 qL1bxJeYk/lcQF2fW0mL5gegf6Tv0HvIxZx/Qf9Sa0fvDGIkV0ZPKLWGMXRUsyHQ4NShEnwj
 kDs8nn9AxoaHMeC0jfD+XWp7sffkCW+VI8MGbmQ8v9xnEbV1mEVEAcRV1awvb++kEHWZj5EA
 xVKoGx09/F0rRH1CImmN/GlnJKali9DevoNDbIB0zic64bMzRezClMIEBcUPbTKq/QKbTAt0
 1aImfbgCjpurKCZRBqhy1uEkd+hEXNLdDFfPEfoWSNAuoC++99r0nojW/4+SPbdszHjJd3nL
 9lmRgAajq5bs8ME3r7TEbvv02P1/cihouLYC2zqsoOZAuFRON/Ni2+AswGzARN8wGCxFAjpU
 J8swJD20Qz2JcvR/BFhuc1UdF1T296LMSfHnXlkFIQ7+jKm9haLJN4Mu2gleRk1bptUJlcFh
 XM/XysLtfe/21PxNcdKj3+ZUZx2ncAM6/y4PhwrUja+SscoL1LWlM2fTUWRw3rsgCARfVIXY
 v+mnTKXJS9CU8xPlWPuL89EiOND7n1gmQv7GM6qpzz6gev2TCPEEt8tbQrRBt3VGYvZ+m05B
 f4FaZvTo/ieOcWjChTqHXk7dABTciNjVMmo8qS6tIere2JbJY3oMNeJqZtJRmCvt/g9ej7g8
 i7vV0lG5kD4gHGbewyGZmo6MOHkXIplrGJ9NispZA76138maIepzaEea5poIuV3qL09laZ5H
 6sfZsGNIvVTUTCbqT4TWobw8d55fxOxiAPQYyf8OGojf4RtThDi88P/ele97zEHCye67JNso
 7Cp2g7Bb4AEQgBuUJTfZP61lgvjtnkBguNiGUDPJ4ALKknr9YFrLQ33j+M2fJ5QeUmSmGPC2
 l/PUxkCpOTLr4sky/XzhPiJ/9WzDu9zPktGBG2Hv7y4AjbXozi4yohaXefWIT2EDDHo+L+vb
 Pl+xu3nNKFVh05DtodxHuo5za864Nez9bZWwh49QSfOZlWvTLhhPmOHzY9EsagUnu1Vvg6/W
 0Su/NhGOOrWZJO5QQBJfAd1PP6e0fw0myXJ6aVnKUr30yZ74b6bXBgAJBKLkiFccON4PY5NL
 T3NYyLKB9hTUiYXD+s=
IronPort-HdrOrdr: A9a23:mI9JJqM+dSwte8BcTvmjsMiBIKoaSvp037Eqv3oedfUzSL3gqy
 nOpoV86faaslYssR0b9exofZPwJE80lqQFhrX5X43SPzUO0VHAROoJgLcKgQeQfxEWntQtrZ
 uIGJIeNDSfNzdHZL7BkWuFL+o=
X-IronPort-AV: E=Sophos;i="5.88,317,1635220800"; 
   d="scan'208";a="62700205"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH 7/8] x86/msr: AMD MSR_SPEC_CTRL infrastructure
Date: Wed, 26 Jan 2022 08:44:51 +0000
Message-ID: <20220126084452.28975-8-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220126084452.28975-1-andrew.cooper3@citrix.com>
References: <20220126084452.28975-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Fill in VMCB accessors for spec_ctrl in svm_{get,set}_reg(), and CPUID checks
for all supported bits in guest_{rd,wr}msr().

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 xen/arch/x86/hvm/svm/svm.c | 9 +++++++++
 xen/arch/x86/msr.c         | 8 +++++---
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 8fdb530b4004..bc834556c5f7 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -2471,10 +2471,14 @@ static bool svm_get_pending_event(struct vcpu *v, struct x86_event *info)
 
 static uint64_t svm_get_reg(struct vcpu *v, unsigned int reg)
 {
+    const struct vmcb_struct *vmcb = v->arch.hvm.svm.vmcb;
     struct domain *d = v->domain;
 
     switch ( reg )
     {
+    case MSR_SPEC_CTRL:
+        return vmcb->spec_ctrl;
+
     default:
         printk(XENLOG_G_ERR "%s(%pv, 0x%08x) Bad register\n",
                __func__, v, reg);
@@ -2485,10 +2489,15 @@ static uint64_t svm_get_reg(struct vcpu *v, unsigned int reg)
 
 static void svm_set_reg(struct vcpu *v, unsigned int reg, uint64_t val)
 {
+    struct vmcb_struct *vmcb = v->arch.hvm.svm.vmcb;
     struct domain *d = v->domain;
 
     switch ( reg )
     {
+    case MSR_SPEC_CTRL:
+        vmcb->spec_ctrl = val;
+        break;
+
     default:
         printk(XENLOG_G_ERR "%s(%pv, 0x%08x, 0x%016"PRIx64") Bad register\n",
                __func__, v, reg, val);
diff --git a/xen/arch/x86/msr.c b/xen/arch/x86/msr.c
index 5e80c8b47c21..4ac5b5a048eb 100644
--- a/xen/arch/x86/msr.c
+++ b/xen/arch/x86/msr.c
@@ -265,7 +265,7 @@ int guest_rdmsr(struct vcpu *v, uint32_t msr, uint64_t *val)
         break;
 
     case MSR_SPEC_CTRL:
-        if ( !cp->feat.ibrsb )
+        if ( !cp->feat.ibrsb && !cp->extd.ibrs )
             goto gp_fault;
         goto get_reg;
 
@@ -442,7 +442,8 @@ int guest_rdmsr(struct vcpu *v, uint32_t msr, uint64_t *val)
  */
 uint64_t msr_spec_ctrl_valid_bits(const struct cpuid_policy *cp)
 {
-    bool ssbd = cp->feat.ssbd;
+    bool ssbd = cp->feat.ssbd || cp->extd.amd_ssbd;
+    bool psfd = cp->extd.psfd;
 
     /*
      * Note: SPEC_CTRL_STIBP is specified as safe to use (i.e. ignored)
@@ -450,6 +451,7 @@ uint64_t msr_spec_ctrl_valid_bits(const struct cpuid_policy *cp)
      */
     return (SPEC_CTRL_IBRS | SPEC_CTRL_STIBP |
             (ssbd       ? SPEC_CTRL_SSBD       : 0) |
+            (psfd       ? SPEC_CTRL_PSFD       : 0) |
             0);
 }
 
@@ -526,7 +528,7 @@ int guest_wrmsr(struct vcpu *v, uint32_t msr, uint64_t val)
         break;
 
     case MSR_SPEC_CTRL:
-        if ( !cp->feat.ibrsb ||
+        if ( (!cp->feat.ibrsb && !cp->extd.ibrs) ||
              (val & ~msr_spec_ctrl_valid_bits(cp)) )
             goto gp_fault;
         goto set_reg;
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 08:45:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 08:45:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260717.450689 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCdvX-0000oJ-G8; Wed, 26 Jan 2022 08:45:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260717.450689; Wed, 26 Jan 2022 08:45: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 1nCdvX-0000na-BS; Wed, 26 Jan 2022 08:45:15 +0000
Received: by outflank-mailman (input) for mailman id 260717;
 Wed, 26 Jan 2022 08:45:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DU/T=SK=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nCdvV-000083-9f
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 08:45:13 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 45b76c89-7e84-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 09:45:12 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 45b76c89-7e84-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643186712;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=ONLVEqHnbgp799JnDqNCBRCPun777vrD7UMW5XXrOH8=;
  b=OXSZpAScPqkuvwoyjiQvVuw/YPwFN844jcTff8VMLmkyemHv96PjLV2Y
   xTNLTjwUwzUQJIPSPMsAurtakjaDJ4gLzjqXWrDPPPKjWxQ3UkyWi1K9w
   DBhalxZ4SwWKvX2dV1rIWBx+4lBN8Ump91Q7Sl+VuNaHcYgF7i578FAwv
   s=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: qP7Kef6/+gv76kvjcmIFVlT4IQsxjG+soe5DzEoaiAWePJDr0VWauilPfYtCERBVMzRHaCipMz
 R1GmXpyve/ulyEMfG4OibwHX0MNyUQAeJIFovRWAClT3clPA8h7HMC3+cyI6jHeHMGYbPW4vOU
 Jn1OMzoemkNsmGZlFCRbmZV8OJlu85nu/ool/xxDURJ9dtHyDJOGkQaQZue403TK68KYyBD6GG
 8+B6rgrWXqI7O7Xaqfzln3cQZ4wfk6g6sXF7btpLuYfN92ZDbry64+GIIS8skpp8MOEDd5Lzfd
 mpkHRWd2ixGRIpEW01W6rTvV
X-SBRS: 5.2
X-MesageID: 63189675
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:ETtkSK1D0Y/zn6pjgvbD5Qd2kn2cJEfYwER7XKvMYLTBsI5bpzIOz
 zQeXmiAa6qLZDbxct4iPtvk9R4Ev8TTnN5rHgQ+pC1hF35El5HIVI+TRqvS04J+DSFhoGZPt
 Zh2hgzodZhsJpPkS5PE3oHJ9RGQ74nRLlbHILOCanAZqTNMEn9700o6wbBh2+aEvPDia++zk
 YKqyyHgEAfNNw5cagr4PIra9XuDFNyr0N8plgRWicJj5TcypFFMZH4rHomjLmOQf2VhNrXSq
 9Avbl2O1jixEx8FUrtJm1tgG6EAaua60QOm0hK6V0U+6/TrS+NbPqsTbZIhhUlrZzqhwNdhy
 vZ8kqeJeBYyPazSu9tNDitYKnQrVUFG0OevzXmXtMWSywvNcmf2wuUoB0YzVWEa0r8pWycUr
 6VecW1TKEDY7w616OvTpu1Er8IvNsT0eqgYvWlt12rxBvc6W5HTBa7N4Le02R9u3ZkeTKiBO
 qL1bxJ+PD3jOU1tB24aFaB9gMOG22XFQjdx/Qf9Sa0fvDGIkV0ZPKLWGMXRUsyHQ4NShEnwj
 kDs8nn9AxoaHMeC0jfD+XWp7sffkCW+VI8MGbmQ8v9xnEbV1mEVEAcRV1awvb++kEHWZj5EA
 xVKoGx09/F0rRH1CImmN/GlnJKalkEbS9hzIsoB0TCc0anV/SWmVjU2TgcUPbTKq/QKbTAt0
 1aImfbgCjpurKCZRBqhy1uEkd+hEXNLdDFfPEfoWSNAuoC++99r0nojW/4+SPbdszHjJd3nL
 9lmRgAajq5bs8ME3r7TEbvv02P1/cihouLYC2zqsoOZAuFRON/Ni2+AswGzARN8wGCxFAjpU
 J8swJD20Qz2JcvR/BFhuc1UdF1T296LMSfHnXlkFIQ7+jKm9haLJN4Mu2gleRk1bptUJlcFh
 XM/XysLtfe/21PxNcdKj3+ZUZx2ncAM6/y4PhwrUja+SscoL1LWlM2fTUWRw3rsgCARfVIXY
 v+mnTKXJS9CU8xPlWPuL89EiOND7n1gmQv7GM6qpzz6gev2TCPEEt8tbQrRBt3VGYvZ+m05B
 f4FaZvTo/ieOcWjChTqHXk7dABTciNjVMmo8qS6tIere2JbJY3oMNeJqZtJRmCvt/49ej7g8
 i7vV0lG5kD4gHGbewyGZmo6MOHkXIplrGJ9NispZA76138maIepzaEea5poIuV3qL09laZ5H
 6sfZsGNIvVTUTCbqT4TWobw8d55fxOxiAPQYyf8OGojf4RtThDi88P/ele97zEHCye67JNso
 7Cp2g7Bb4AEQgBuUJTfZP61lgvjtnkBguNiGUDPJ4ALKknr9YFrLQ33j+M2fJ5QeUmSmGPC2
 l/PUxkCpOTLr4sky/XzhPiJ/9WzDu9zPktGBG2Hv7y4AjbXozi4yohaXefWIT2EDDHo+L+vb
 Pl+xu3nNKFVh05DtodxHuo5za864Nez9bZWwh49QSfOZlWvTLhhPmOHzY9EsagUnu1Vvg6/W
 0Su/NhGOOrWZJO5QQBJfAd1PP6e0fw0myXJ6aVnKUr30yZ74b6bXBgAJBKLkiFccON4PY5NL
 T3NYyLKB9hTUiYXD+s=
IronPort-HdrOrdr: A9a23:xAEMQKiUI7teXLXGssQZqFcjsHBQXuAji2hC6mlwRA09TySZ//
 rOoB19726NtN9xYgBYpTnuAtjifZqxz/FICMwqTNOftWrdyQ2VxeNZnOnfKlTbckWUnIMw6U
 4jSdkYNDSZNykAsS+Q2mmF+rgbruVviJrY4Nvj8w==
X-IronPort-AV: E=Sophos;i="5.88,317,1635220800"; 
   d="scan'208";a="63189675"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH 4/8] x86/spec-ctrl: Drop use_spec_ctrl boolean
Date: Wed, 26 Jan 2022 08:44:48 +0000
Message-ID: <20220126084452.28975-5-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220126084452.28975-1-andrew.cooper3@citrix.com>
References: <20220126084452.28975-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Several bugfixes have reduced the utility of this variable from it's original
purpose, and now all it does is aid in the setup of SCF_ist_wrmsr.

Simplify the logic by drop the variable, and doubling up the setting of
SCF_ist_wrmsr for the PV and HVM blocks, which will make the AMD SPEC_CTRL
support easier to follow.  Leave a comment explaining why SCF_ist_wrmsr is
still necessary for the VMExit case.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 xen/arch/x86/spec_ctrl.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c
index c18cc8aa493a..8a550d0a0902 100644
--- a/xen/arch/x86/spec_ctrl.c
+++ b/xen/arch/x86/spec_ctrl.c
@@ -927,7 +927,7 @@ static __init void mds_calculations(uint64_t caps)
 void __init init_speculation_mitigations(void)
 {
     enum ind_thunk thunk = THUNK_DEFAULT;
-    bool use_spec_ctrl = false, ibrs = false, hw_smt_enabled;
+    bool ibrs = false, hw_smt_enabled;
     bool cpu_has_bug_taa;
     uint64_t caps = 0;
 
@@ -1016,19 +1016,21 @@ void __init init_speculation_mitigations(void)
     {
         if ( opt_msr_sc_pv )
         {
-            use_spec_ctrl = true;
+            default_spec_ctrl_flags |= SCF_ist_wrmsr;
             setup_force_cpu_cap(X86_FEATURE_SC_MSR_PV);
         }
 
         if ( opt_msr_sc_hvm )
         {
-            use_spec_ctrl = true;
+            /*
+             * While the guest MSR_SPEC_CTRL value is loaded/saved atomically,
+             * Xen's value is not restored atomically.  An early NMI hitting
+             * the VMExit path needs to restore Xen's value for safety.
+             */
+            default_spec_ctrl_flags |= SCF_ist_wrmsr;
             setup_force_cpu_cap(X86_FEATURE_SC_MSR_HVM);
         }
 
-        if ( use_spec_ctrl )
-            default_spec_ctrl_flags |= SCF_ist_wrmsr;
-
         if ( ibrs )
             default_xen_spec_ctrl |= SPEC_CTRL_IBRS;
     }
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 08:45:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 08:45:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260718.450700 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCdvY-0001AD-QE; Wed, 26 Jan 2022 08:45:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260718.450700; Wed, 26 Jan 2022 08:45: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 1nCdvY-00019c-LS; Wed, 26 Jan 2022 08:45:16 +0000
Received: by outflank-mailman (input) for mailman id 260718;
 Wed, 26 Jan 2022 08:45:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DU/T=SK=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nCdvW-000083-Gg
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 08:45:14 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 46d9a977-7e84-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 09:45:13 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 46d9a977-7e84-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643186713;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=nfQ5PrahPjX6kobBhwSJZzObgTQ3kukSc7G1xIJhMMA=;
  b=WyuS+v4MspI/z1RaKS/+W3yeDlyYelc/0ZHiC0JVLyHDcAP+UfSt4UuW
   1xwRI7CcNyNsaUSS7i7UImY0q5DAvpjfSg7vd/1puag3faJzMwml6KM5L
   s4DiEY5egFS6jcpWAWOdDhoqQlXjmOamxFxlAHFJnFatrXgT8PTDcUgk4
   g=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: qfBjII6zSU65fwLijmpQXCMtjFNr8aMBUedraJNDjUXSw1UgL/fWmE+nX5iiCThIi31SZW1PUV
 3ru8ZfI+4Ty2GpvpPjhXiqEZATirT2fAB+BFIkSKamY9o/0SI7kUmFxnlBkLdAy5Y4RXb5D8qA
 jha/UUKZAixcB37fT66DTu1Qjjqm2L73rtcd/g+blQ1HdI15qO8SGhZzd2Fm48YHGRfBA8oJPb
 KbHLAAvSE2j/yNGjQhRWXFRiEucueejyqKOTs7+isaMoLeLVcuGBy5zy6OsmEg7Y8ZhTpYLNTd
 j2tokrooZONBoyXPVRURb4I/
X-SBRS: 5.2
X-MesageID: 63189684
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:AjpwVqyNduWq81o2OOx6t+fjwSrEfRIJ4+MujC+fZmUNrF6WrkVSy
 WMeX2zQafiCMGf0L4wlbYzloB4EvZDVz4M3S1BrqCAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnvopW1TYhSEUOZugH9IQM8aZfHAhLeNYYH1500g7wrRn2tcAbeWRWGthh
 /uj+6UzB3f9s9JEGjp8B3Wr8U4HUFza4Vv0j3RmDRx5lAa2e0o9VfrzEZqZPXrgKrS4K8bhL
 wr1IBNVyUuCl/slIovNfr8W6STmSJaKVeSFoiI+t6RPHnGuD8H9u0o2HKN0VKtZt9mGt5Nxx
 tlor5Occ184E4blxv0BEBJgPj4raMWq+JefSZS+mcmazkmAeHrw2fR+SkoxOOX0+M4uXzsIr
 6ZBbmlQMFbT3Ipaw5riIgVoru0lINPmI8U0vXZ4wCuCJf0nXYrCU+PB4towMDIY2JsXTaeAN
 5ZxhTxHXhnrUyZNBgwrCbEgzL+Lm0P9S2BCtwfAzUYwyzeKl1EguFT3C/LKfvSaSMMTmVyXz
 krk1WnkBhARNPSE1CGItHmrg4fnjS79HY4fCrC83vprm0GIgHweDgUMUlm2quX/jVSxM++zM
 GRNpHBo9/JrshX2EJ+tBHVUvUJooDZfW9RcNvc1xDvV24f/yliAGisPdhNePYlOWNANeRQm0
 VqAntXMDDNpsaGIRX/1yop4vQ9eKgBOczZcOHZsoR8tpoC6/dpt1k6nosNLTfbt5uAZDw0c1
 NxjQMIWo7wIxfAG2Kyglbwsq2L9/8OZJuLZC+i+Y45E0u+bTNL0D2BLwQKChRqlEGp/ZgPQ1
 JTjs5PGhN3i9bnXyESwrBwlRdlFHcqtPjzGmkJIFJI87Tmr8HPLVdkOvGonfxo3bppZKWCBj
 KrvVeV5vs470JyCNvcfXm5MI55ykfiI+SrNC5g4keaikrAuLVTarUmClGab3nz3kVhErE3ME
 czzTCpYNl5DUf4P5GPvH481iOZ3rghjmz+7bc2lnnyPjOrPDFbIGOxtGAbfMYgEAFas/V+9H
 yB3bZXakn2ykYTWP0HqzGLkBQladCdgXcGv9ZU/myzqClMOJVzNwsT5mdsJE7GJVYwM/gsR1
 n3iCEJe1nTlgnjLdVeDZnx5Meu9Vpdjt3MreycrOA/wiXQkZI+u6oYZdoc2IuZ7pLAyk6YsQ
 qlXYdiED9ROVi/Dp2YXY67iodEwbx+snw+PYXaoOWBtY556SgXV0db4ZQ+zpjIWBy+6uJJm8
 b2t3w/WW7QZQAFmAJqEYf6j1Qrp73MchPhzTw3DJdwKIBfg941jKirQiP4rIp5TdUWfl2XCj
 wvPWEUWv+jApYMx4eLlv6Hcotf7CfZ6E2pbA3LfseS8Ox7F8zfx2oRHSuuJI2zQDTum5KW4a
 OxJ5PjgK/lbzk1Suo9xHrs3n6Iz49zj++1Twgh+RSiZal2qDvVrI2Wc3NkJvapIn+cLtQyzU
 0OJ299bJbTWZ5+1TA9PfFIoPraZyPUZujjO9vBkckz16Rh+8KeDTUgPbQKHjzZQLectPY4oq
 Qv7VBX6N+BrZsIWD+u7
IronPort-HdrOrdr: A9a23:wlbnPqhuBlcK9ktLw9wiFGErFHBQXuAji2hC6mlwRA09TySZ//
 rOoB19726NtN9xYgBYpTnuAtjifZqxz/FICMwqTNOftWrdyQ2VxeNZnOnfKlTbckWUnIMw6U
 4jSdkYNDSZNykAsS+Q2mmF+rgbruVviJrY4Nvj8w==
X-IronPort-AV: E=Sophos;i="5.88,317,1635220800"; 
   d="scan'208";a="63189684"
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/8] x86/msr: Fix migration compatibility issue with MSR_SPEC_CTRL
Date: Wed, 26 Jan 2022 08:44:45 +0000
Message-ID: <20220126084452.28975-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220126084452.28975-1-andrew.cooper3@citrix.com>
References: <20220126084452.28975-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

This bug existed in early in 2018 between MSR_SPEC_CTRL arriving in microcode,
and SSBD arriving a few months later.  It went unnoticed presumably because
everyone was busy rebooting everything.

The same bug will reappear when adding PSFD support.

Clamp the guest MSR_SPEC_CTRL value to that permitted by CPUID on migrate.
The guest is already playing with reserved bits at this point, and clamping
the value will prevent a migration to a less capable host from failing.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 xen/arch/x86/hvm/hvm.c         | 25 +++++++++++++++++++++++--
 xen/arch/x86/include/asm/msr.h |  2 ++
 xen/arch/x86/msr.c             | 33 +++++++++++++++++++++------------
 3 files changed, 46 insertions(+), 14 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index d7d3299b431e..c4ddb8607d9c 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -1340,6 +1340,7 @@ static const uint32_t msrs_to_send[] = {
 
 static int hvm_save_cpu_msrs(struct vcpu *v, hvm_domain_context_t *h)
 {
+    const struct domain *d = v->domain;
     struct hvm_save_descriptor *desc = _p(&h->data[h->cur]);
     struct hvm_msr *ctxt;
     unsigned int i;
@@ -1355,7 +1356,8 @@ static int hvm_save_cpu_msrs(struct vcpu *v, hvm_domain_context_t *h)
     for ( i = 0; i < ARRAY_SIZE(msrs_to_send); ++i )
     {
         uint64_t val;
-        int rc = guest_rdmsr(v, msrs_to_send[i], &val);
+        unsigned int msr = msrs_to_send[i];
+        int rc = guest_rdmsr(v, msr, &val);
 
         /*
          * It is the programmers responsibility to ensure that
@@ -1375,7 +1377,26 @@ static int hvm_save_cpu_msrs(struct vcpu *v, hvm_domain_context_t *h)
         if ( !val )
             continue; /* Skip empty MSRs. */
 
-        ctxt->msr[ctxt->count].index = msrs_to_send[i];
+        /*
+         * Guests are given full access to certain MSRs for performance
+         * reasons.  A consequence is that Xen is unable to enforce that all
+         * bits disallowed by the CPUID policy yield #GP, and an enterprising
+         * guest may be able to set and use a bit it ought to leave alone.
+         *
+         * When migrating from a more capable host to a less capable one, such
+         * bits may be rejected by the destination, and the migration failed.
+         *
+         * Discard such bits here on the source side.  Such bits have reserved
+         * behaviour, and the guest has only itself to blame.
+         */
+        switch ( msr )
+        {
+        case MSR_SPEC_CTRL:
+            val &= msr_spec_ctrl_valid_bits(d->arch.cpuid);
+            break;
+        }
+
+        ctxt->msr[ctxt->count].index = msr;
         ctxt->msr[ctxt->count++].val = val;
     }
 
diff --git a/xen/arch/x86/include/asm/msr.h b/xen/arch/x86/include/asm/msr.h
index 10039c2d227b..657a3295613d 100644
--- a/xen/arch/x86/include/asm/msr.h
+++ b/xen/arch/x86/include/asm/msr.h
@@ -277,6 +277,8 @@ static inline void wrmsr_tsc_aux(uint32_t val)
     }
 }
 
+uint64_t msr_spec_ctrl_valid_bits(const struct cpuid_policy *cp);
+
 extern struct msr_policy     raw_msr_policy,
                             host_msr_policy,
                           pv_max_msr_policy,
diff --git a/xen/arch/x86/msr.c b/xen/arch/x86/msr.c
index 2cc355575d45..5e80c8b47c21 100644
--- a/xen/arch/x86/msr.c
+++ b/xen/arch/x86/msr.c
@@ -435,6 +435,24 @@ int guest_rdmsr(struct vcpu *v, uint32_t msr, uint64_t *val)
     return X86EMUL_EXCEPTION;
 }
 
+/*
+ * Caller to confirm that MSR_SPEC_CTRL is available.  Intel and AMD have
+ * separate CPUID features for this functionality, but only set will be
+ * active.
+ */
+uint64_t msr_spec_ctrl_valid_bits(const struct cpuid_policy *cp)
+{
+    bool ssbd = cp->feat.ssbd;
+
+    /*
+     * Note: SPEC_CTRL_STIBP is specified as safe to use (i.e. ignored)
+     * when STIBP isn't enumerated in hardware.
+     */
+    return (SPEC_CTRL_IBRS | SPEC_CTRL_STIBP |
+            (ssbd       ? SPEC_CTRL_SSBD       : 0) |
+            0);
+}
+
 int guest_wrmsr(struct vcpu *v, uint32_t msr, uint64_t val)
 {
     const struct vcpu *curr = current;
@@ -508,18 +526,9 @@ int guest_wrmsr(struct vcpu *v, uint32_t msr, uint64_t val)
         break;
 
     case MSR_SPEC_CTRL:
-        if ( !cp->feat.ibrsb )
-            goto gp_fault; /* MSR available? */
-
-        /*
-         * Note: SPEC_CTRL_STIBP is specified as safe to use (i.e. ignored)
-         * when STIBP isn't enumerated in hardware.
-         */
-        rsvd = ~(SPEC_CTRL_IBRS | SPEC_CTRL_STIBP |
-                 (cp->feat.ssbd ? SPEC_CTRL_SSBD : 0));
-
-        if ( val & rsvd )
-            goto gp_fault; /* Rsvd bit set? */
+        if ( !cp->feat.ibrsb ||
+             (val & ~msr_spec_ctrl_valid_bits(cp)) )
+            goto gp_fault;
         goto set_reg;
 
     case MSR_PRED_CMD:
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 08:45:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 08:45:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260719.450706 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCdvZ-0001Gl-Hd; Wed, 26 Jan 2022 08:45:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260719.450706; Wed, 26 Jan 2022 08: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 1nCdvZ-0001FX-5j; Wed, 26 Jan 2022 08:45:17 +0000
Received: by outflank-mailman (input) for mailman id 260719;
 Wed, 26 Jan 2022 08:45:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DU/T=SK=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nCdvX-000083-LS
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 08:45:15 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4793df3c-7e84-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 09:45:14 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4793df3c-7e84-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643186714;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=mV0HeKfoO9tEMKhFzjK9mLw8ycBButJpD0PG5JqLcwM=;
  b=JxVQKqdINFOTxZVGtZy6SZo/NGNA2FnFRlDecaeWQvqesHV0jo1doqyN
   6H27sHwYYRmnZwQ5Wnj12lpluNMk9zNCvtYUYkmHhlTXknmNsyK4mlzVe
   b+bj7X++Cvtbho83FC2iUhXYsjPlwA8H8h47GjsEqo0d9vtD3YO28dgkL
   A=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: hPEdzxZuLss6wS3U+qFeal6kZD2NB7vYsDKENu3ArHHVQuy9tF8xjC5V0BLzFevDYOdu3vxLcr
 aQ6Zfhwc9eWUnJiWiNINbvT5P9BeUR2wyqtwUvi7g6CfnMB5Wqc1r+00uKYs9EamgQ4Qy2WWl7
 WbAn4/Lv6bZA/sB3ZdgobSLvZ3Fxhm/PWGyhs9UNS3z2Fs8Ol01Lt3XtMFIjPcPK+UXfpJfQ/f
 LDMllh05tfjphgmg5kS6Chjnx0MGuYyBXNhy5uUIAycn8pvebNN6zIdWWSiUeASPuRqe4CIgg6
 83vuWs65/olIx6gMtIWnmS0h
X-SBRS: 5.2
X-MesageID: 63189686
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:iIJ55KlgKV4jyS11amgpeJjo5gxVIURdPkR7XQ2eYbSJt1+Wr1Gzt
 xIeWDyBPPaIYjTyKt9zPo3n90lTu8XSzN5rHlFtqCBjFyMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BClVlxJVF/fngqoDUUYYoAQgsA180IMsdoUg7wbRh29Q22YHR7z6l4
 rseneWOYDdJ5BYsWo4kw/rrRMRH5amaVJsw5zTSVNgT1LPsvyB94KE3fMldG0DQUIhMdtNWc
 s6YpF2PEsE1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXee0v0XRYRQR4/ttmHozx+4
 JZNu5CVUwgFBPXdtc80DQBEUCpGELITrdcrIVDn2SCS50jPcn+qyPRyFkAme4Yf/46bA0kXq
 6ZecmpUKEne2aTmm9pXScE17ignBODtMJkSpTdLyjbBAOx9aZvCX7/L9ZlT2zJYasVmQ62HN
 5tHOWQHgBLoOhh9PloSBa4FpdzznVrVbAFTr0Ckuv9ii4TU5FMoi+W8WDbPQfSVQe1Fk0Deo
 XjJl0zbKBwHMN2UyRKe72mhwOTImEvTSI8UUbG16PNuqFmS3XAITg0bU0Ohpvu0gVL4XMhQQ
 3H44QJ38/J0rhbyCICgAVvo+xZooyLwRfITE+M2zRuC5pCM8iuyLzYdUn1KUPE54ZpeqSMR6
 neFmNbgBDpKubKTSG6A+rr8kQ5eKRT5PkdZO3ZaEFJtD83L5dhq00mRFooL/Lud04WtcQwc1
 Qxmu8TXa187qccQn5u28lnc695HjsiYF1Vljuk7s4/M0++YWGJHT9D5gbQ4xawZRGp8crVnl
 CJV8yR5xLtWZaxhbATXHI0w8EiBvp5pygH0j191BIUG/D+w4XOldo04yGggeBwwaZtaJWO0M
 BC7VeZtCHl7ZirCgUhfONrZNijX5fK4SYSNug78M7KinaSdhCfYpXozNCZ8LkjmkVQ2kLFXB
 HtoWZ3EMJruMow+lGDeb75EidcDn3lirUuOG8yT50n5gNK2OS7EIZ9YYQDmRr1os8u5TPD9r
 ow32z2ikUsPCYUTo0D/rOYuELz9BSFrXM+t850OKLfrz8gPMDhJNsI9CIgJI+RN95m5XM+Rl
 p1kckMHmlf5m1PdLgCGNiJqZL/1BM4tpnMnJy08e12v3iF7M4qo6a4ecboxfKUmq7M/naIlE
 aFddpXSGOlLRxTG5y8ZMcv3ort9eUn5ngmJJSekPmQyJsYyWwzT99b4VQLz7y1SXDGvvM4zr
 uT4hAPWSJYOXSp4C8PSZK79xl+9pyFFyulzQ1HJMp9Yf0C1qNpmLCn4j/kWJcAQKEqcmmvGh
 ljOWRpB/LvDuY449tXNlJuolYbxHrssBFdeEkna8a2yaXvQ8F28zNISS+2PZz3cCj/5of3we
 eVPwvjgG/Qbh1IW4ZFkGrNmwK9itdvio7hWklZtEHnRNgn5D7phJj+N3NVVt70Lzbhc4FPkV
 kWK89hcGLOIJMK6TwJBeFt7NryOhaMOhz3fzfUpO0GrtiZ48Y2OXVhWIxTR2jdWK6F4Md99z
 Oos0CLMB9dTVvb+3g66sx1p
IronPort-HdrOrdr: A9a23:VFJxGqo0sUq9kHBO0ww0CBEaV5oReYIsimQD101hICG8cqSj9v
 xG+85rrSMc6QxhIU3I9urwW5VoLUmyyXcx2/h0AV7AZniBhILLFvAB0WKK+VSJcEeSmtK1l5
 0QFJSWYOeAdmSS5vyb3ODXKbgdKaG8gcWVuds=
X-IronPort-AV: E=Sophos;i="5.88,317,1635220800"; 
   d="scan'208";a="63189686"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH 6/8] x86/spec-ctrl: Use common MSR_SPEC_CTRL logic for AMD
Date: Wed, 26 Jan 2022 08:44:50 +0000
Message-ID: <20220126084452.28975-7-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220126084452.28975-1-andrew.cooper3@citrix.com>
References: <20220126084452.28975-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Currently, amd_init_ssbd() works by being the only write to MSR_SPEC_CTRL in
the system.  This ceases to be true when using the common logic.

Include AMD MSR_SPEC_CTRL in has_spec_ctrl to activate the common paths, and
introduce an AMD specific block to control alternatives.

For now, only configure alternatives for HVM.  PV will require more work.

This is a reasonably large change for low level defaults in the common case,
but should have no practical change in behaviour.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 xen/arch/x86/cpu/amd.c   |  2 +-
 xen/arch/x86/spec_ctrl.c | 26 ++++++++++++++++++++++++--
 2 files changed, 25 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c
index f87484b7ce61..a8e37dbb1f5c 100644
--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -693,7 +693,7 @@ void amd_init_ssbd(const struct cpuinfo_x86 *c)
 		return;
 
 	if (cpu_has_amd_ssbd) {
-		wrmsrl(MSR_SPEC_CTRL, opt_ssbd ? SPEC_CTRL_SSBD : 0);
+		/* Handled by common MSR_SPEC_CTRL logic */
 		return;
 	}
 
diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c
index 2072daf66245..5d08ee866869 100644
--- a/xen/arch/x86/spec_ctrl.c
+++ b/xen/arch/x86/spec_ctrl.c
@@ -22,6 +22,7 @@
 #include <xen/param.h>
 #include <xen/warning.h>
 
+#include <asm/hvm/svm/svm.h>
 #include <asm/microcode.h>
 #include <asm/msr.h>
 #include <asm/pv/domain.h>
@@ -936,7 +937,8 @@ void __init init_speculation_mitigations(void)
 
     hw_smt_enabled = check_smt_enabled();
 
-    has_spec_ctrl = boot_cpu_has(X86_FEATURE_IBRSB);
+    has_spec_ctrl = (boot_cpu_has(X86_FEATURE_IBRSB) ||
+                     boot_cpu_has(X86_FEATURE_IBRS));
 
     /*
      * First, disable the use of retpolines if Xen is using shadow stacks, as
@@ -1031,12 +1033,32 @@ void __init init_speculation_mitigations(void)
         }
     }
 
+    /* AMD hardware: MSR_SPEC_CTRL alternatives setup. */
+    if ( boot_cpu_has(X86_FEATURE_IBRS) )
+    {
+        /*
+         * Virtualising MSR_SPEC_CTRL for guests depends on SVM support, which
+         * on real hardware matches the availability of MSR_SPEC_CTRL in the
+         * first place.
+         *
+         * No need for SCF_ist_wrmsr because, because Xen's value is restored
+         * atomically WRT NMIs in the VMExit path.
+         *
+         * TODO Adjust cpu_has_svm_spec_ctrl to be configured earlier on boot
+         */
+        if ( opt_msr_sc_hvm &&
+             (boot_cpu_data.extended_cpuid_level >= 0x8000000a) &&
+             (cpuid_edx(0x8000000a) & (1u << SVM_FEATURE_SPEC_CTRL)) )
+            setup_force_cpu_cap(X86_FEATURE_SC_MSR_HVM);
+    }
+
     /* If we have IBRS available, see whether we should use it. */
     if ( has_spec_ctrl && ibrs )
         default_xen_spec_ctrl |= SPEC_CTRL_IBRS;
 
     /* If we have SSBD available, see whether we should use it. */
-    if ( boot_cpu_has(X86_FEATURE_SSBD) && opt_ssbd )
+    if ( opt_ssbd && (boot_cpu_has(X86_FEATURE_SSBD) ||
+                      boot_cpu_has(X86_FEATURE_AMD_SSBD)) )
         default_xen_spec_ctrl |= SPEC_CTRL_SSBD;
 
     /*
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 08:45:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 08:45:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260720.450713 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCdva-0001Lv-5J; Wed, 26 Jan 2022 08:45:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260720.450713; Wed, 26 Jan 2022 08: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 1nCdvZ-0001Ig-Ji; Wed, 26 Jan 2022 08:45:17 +0000
Received: by outflank-mailman (input) for mailman id 260720;
 Wed, 26 Jan 2022 08:45:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DU/T=SK=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nCdvY-000088-BB
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 08:45:16 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 46ddab12-7e84-11ec-8eb8-a37418f5ba1a;
 Wed, 26 Jan 2022 09:45:15 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 46ddab12-7e84-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643186714;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=xYPDOEJsWTv8UVjw+JmeU6EN0dJyp6kBoyRZZnSKQ+A=;
  b=TwsqN/5uCwxSs9ooiGRJuuXUPMmiVtNhbJ5kPIoGdKkrzcqbQlSeLrd4
   O2Ox76EuY7Q3oe4EEoVzQomf1dQgx+VQQQLlH1draA5IIrl6dsRVEgpjv
   6lUktfFvz3OrDPyTi8kUc2F22ZcqZCW7m+Jvo1h7pWRmlFUTvykL+4cIW
   M=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: ROLri6rS4OJJYbNdG941fccXfNQe2DtBOYU3AND835mylKMW2gcV18w6N/ctDnKHIj2gS1Q0nK
 iiG93WVMrR2rwnctb+LEN0ypDAtGWySf1QSN415qDvmng30KluBUSpZyMewH4bPKoJ9PHH8Y8/
 kWnTnWLnWI+NnrDRduVoHTbK24dCL96mYh10xffl/e6FB6sBUTHzGsyQRA+sfjffUj5vb9zTFD
 4+WbPBi/nCl+vKTqwaGZdLvqyGwxDOAm/gYqNp7WosSdB5cQ6JaS5poGmwwR7eTsR4xrQtdh8R
 G5QsxgduEL0Iruw2Kt2t3HEC
X-SBRS: 5.2
X-MesageID: 62781563
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:aYfH8qhg8bt8pbxg9gtxNFMyX161tBcKZh0ujC45NGQN5FlHY01je
 htvWT+AaP3cMGSmcttxao/n901Xv5TRndNjT1Q4pS9hHnkb9cadCdqndUqhZCn6wu8v7a5EA
 2fyTvGacajYm1eF/k/F3oAMKRCQ7InQLlbGILes1htZGEk0GE/NtTo5w7Rj2tcy34Dga++wk
 YiaT/P3aQfNNwFcagr424rbwP+4lK2v0N+wlgVWicFj5DcypVFMZH4sDfjZw0/DaptVBoaHq
 9Prl9lVyI97EyAFUbtJmp6jGqEDryW70QKm0hK6UID66vROS7BbPg/W+5PwZG8O4whlkeydx
 /0VsseraBw2YZGcmb8tQjUFLAxRBo1JreqvzXiX6aR/zmXDenrohf5vEFs3LcsT/eMf7WNmr
 KJCbmpXN1ba2rzwkOnTpupE36zPKOHCOo8Ft24m5jbeFfs8GrjIQrnQ5M8e1zA17ixLNaiEO
 JpANGQ0BPjGSwBKY2syCIhkoOPyiVD1dy0E+VGbhrVitgA/yyQuieOwYbI5YOeiWsF9jkue4
 GXc8AzRIDsXKdiewjqt6W+3i6nEmiaTcJIfEvi0++BnhHWXx3cPE1sGWF2ju/67h0WiHdVFJ
 CQpFjEG9PZoshbxF5+kAkP+8CXsUgMgt8R4S+ph8yCW1fXoswfCNnkoEwFsR+cGu5pjLdA17
 WOhk9TsDD1plbSaT3OB67uZxQ+P1TgpwXwqPnFdE1ZcizX3iMRq10+UEI4/eEKgpoCtQVnNL
 ya2QD/Sbln5peoCzO2F8F/OmFpATbCZH1dutm07so9Ihz6VhbJJhaT0uDA3Dt4ade51q2VtW
 lBeyqByC8hVVfmweNSlGrllIV1Qz6/t3MfgqVBuBYI90D+m5mSue4tdiBknehsya51ZJ2O1P
 R+M0e+02HO1FCH7BUOQS9npY/nGMIC6TYi1PhwqRocmjmdNmP+vo3g1OB/4M5HFm0kwi6AvU
 ap3gu73ZUv2/Z9PlWLsL89EiOdD7nlnmQv7GM6npzz6j+v2TCPFGN8tbQrVBshkvfzsnekg2
 4sFXyd8408BALSWj+i+2dN7EG3m2lBiVcmp8JQGL7DaSuekcUl4Y8LsLXoaU9QNt8xoei3gp
 xlRg2dUlwjyg2PpMwKPZiwxYb/jR88n/3k6ITYtLRCj3H16OdSj66IWdp0We7g79bM8ka4oH
 qddI8jQUO5STjnn+igGacWvpoJVaxn21xmFODCoYWZjcsc4FRDJ4NLtYiDm6DIKUnisrcI7r
 rD5jlHbTJMPSh5MFsHTbP7znVq9sWJEwLB5XlfSI8kVc0LpqdA4Jyv0h/4xAscNNRScmWfKi
 1fIWU8V/LCfrZU0/d/FgbG/g72oS+YuTFBHG2T77KqtMXWI9GSU3oIdAv2DeirQVT2o9fz6N
 /lV1fz1LNYOgE1O79hnC79uwK8zu4nvqrtdwlg2FXnHdQ32WLZpI33A1shTrKxdgLRevFLuC
 E6I/9BbP5SPOd/kTwFNdFZ0MLzb2KFGgCTW4NQ0PF7+tX1+87ewWElPOwWB1X5GJ7xvPYJ5m
 eostab6MeBkZsbG5jpesh1pyg==
IronPort-HdrOrdr: A9a23:y+ISKKwc5/SRmzyTrtiWKrPwFL1zdoMgy1knxilNoRw8SKKlfq
 eV7Y0mPH7P+VAssR4b+exoVJPtfZqYz+8R3WBzB8bEYOCFghrKEGgK1+KLqFeMJ8S9zJ846U
 4JSdkHNDSaNzlHZKjBjzVQa+xQouW6zA==
X-IronPort-AV: E=Sophos;i="5.88,317,1635220800"; 
   d="scan'208";a="62781563"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH 3/8] x86/svm: VMEntry/Exit logic for MSR_SPEC_CTRL
Date: Wed, 26 Jan 2022 08:44:47 +0000
Message-ID: <20220126084452.28975-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220126084452.28975-1-andrew.cooper3@citrix.com>
References: <20220126084452.28975-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Hardware maintains both host and guest versions of MSR_SPEC_CTRL, but guests
run with the logical OR of both values.  Therefore, in principle we want to
clear Xen's value before entering the guest.  However, for migration
compatibiltiy, and for performance reasons with SEV-SNP guests, we want the
ability to use a nonzero value behind the guest's back.  Use vcpu_msrs to hold
this value, with the guest value in the VMCB.

On the VMEntry path, adjusting MSR_SPEC_CTRL must be done after CLGI so as to
be atomic with respect to NMIs/etc.  The loading of spec_ctrl_raw into %eax
was also stale from the unused old code, so can be dropped too.

Implement both pieces of logic as small pieces of C, and alternative the call
to get there based on X86_FEATURE_SC_MSR_HVM.  While adjusting the clobber
lists, drop the stale requirements on the VMExit side.

The common case is that host and "guest-protection" values are both 0, so
maintain a per-cpu last_spec_ctrl value to allow us to skip redundant WRMSRs.
The value needs to live in the cpu_info block for subsequent use with PV
guests, and compatibility with XPTI.

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>

Several points:

1) It would be slightly more efficient to pass curr and cpu_info into
   vm{entry,exit}_spec_ctrl(), but setup of such state can't be in the
   ALTERNATIVE block because then the call displacement won't get fixed up.
   All the additional accesses are hot off the stack, so almost certainly
   negligible compared to the WRMSR.

2) The RAS[:32] flushing side effect is under reconsideration.  It is actually
   a very awkward side effect in practice, and not applicable to any
   implementations (that I'm aware of), but for now, it's the documented safe
   action to take.  Furthermore, it avoids complicating the logic with an
   lfence in the else case for Spectre v1 safety.
---
 xen/arch/x86/hvm/svm/entry.S             | 10 +++++-----
 xen/arch/x86/hvm/svm/svm.c               | 30 ++++++++++++++++++++++++++++++
 xen/arch/x86/include/asm/current.h       |  2 +-
 xen/arch/x86/include/asm/msr.h           |  9 +++++++++
 xen/arch/x86/include/asm/spec_ctrl_asm.h |  7 +++++++
 5 files changed, 52 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/entry.S b/xen/arch/x86/hvm/svm/entry.S
index 276215d36aff..c718328ac4cf 100644
--- a/xen/arch/x86/hvm/svm/entry.S
+++ b/xen/arch/x86/hvm/svm/entry.S
@@ -55,11 +55,11 @@ __UNLIKELY_END(nsvm_hap)
         mov  %rsp, %rdi
         call svm_vmenter_helper
 
-        mov VCPU_arch_msrs(%rbx), %rax
-        mov VCPUMSR_spec_ctrl_raw(%rax), %eax
+        clgi
 
         /* WARNING! `ret`, `call *`, `jmp *` not safe beyond this point. */
-        /* SPEC_CTRL_EXIT_TO_SVM   (nothing currently) */
+        /* SPEC_CTRL_EXIT_TO_SVM       Req:                           Clob: C   */
+        ALTERNATIVE "", __stringify(call vmentry_spec_ctrl), X86_FEATURE_SC_MSR_HVM
 
         pop  %r15
         pop  %r14
@@ -78,7 +78,6 @@ __UNLIKELY_END(nsvm_hap)
         pop  %rsi
         pop  %rdi
 
-        clgi
         sti
         vmrun
 
@@ -86,8 +85,9 @@ __UNLIKELY_END(nsvm_hap)
 
         GET_CURRENT(bx)
 
-        /* SPEC_CTRL_ENTRY_FROM_SVM    Req: b=curr %rsp=regs/cpuinfo, Clob: ac  */
+        /* SPEC_CTRL_ENTRY_FROM_SVM    Req:                           Clob: ac,C */
         ALTERNATIVE "", DO_OVERWRITE_RSB, X86_FEATURE_SC_RSB_HVM
+        ALTERNATIVE "", __stringify(call vmexit_spec_ctrl), X86_FEATURE_SC_MSR_HVM
         /* WARNING! `ret`, `call *`, `jmp *` not safe before this point. */
 
         stgi
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index bb6b8e560a9f..8fdb530b4004 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -3086,6 +3086,36 @@ void svm_vmexit_handler(struct cpu_user_regs *regs)
     vmcb_set_vintr(vmcb, intr);
 }
 
+/* Called with GIF=0. */
+void vmexit_spec_ctrl(void)
+{
+    struct cpu_info *info = get_cpu_info();
+    unsigned int val = info->xen_spec_ctrl;
+
+    /*
+     * Write to MSR_SPEC_CTRL unconditionally, for the RAS[:32] flushing side
+     * effect.
+     */
+    wrmsr(MSR_SPEC_CTRL, val, 0);
+    info->last_spec_ctrl = val;
+}
+
+/* Called with GIF=0. */
+void vmentry_spec_ctrl(void)
+{
+    struct cpu_info *info = get_cpu_info();
+    const struct vcpu *curr = current;
+    unsigned int val = curr->arch.msrs->spec_ctrl.raw;
+
+    if ( val != info->last_spec_ctrl )
+    {
+        wrmsr(MSR_SPEC_CTRL, val, 0);
+        info->last_spec_ctrl = val;
+    }
+
+    /* No Spectre v1 concerns.  Execution is going to hit VMRUN imminently. */
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/x86/include/asm/current.h b/xen/arch/x86/include/asm/current.h
index cfbedc31983f..dc0edd9ed07d 100644
--- a/xen/arch/x86/include/asm/current.h
+++ b/xen/arch/x86/include/asm/current.h
@@ -56,6 +56,7 @@ struct cpu_info {
     /* See asm/spec_ctrl_asm.h for usage. */
     unsigned int shadow_spec_ctrl;
     uint8_t      xen_spec_ctrl;
+    uint8_t      last_spec_ctrl;
     uint8_t      spec_ctrl_flags;
 
     /*
@@ -73,7 +74,6 @@ struct cpu_info {
      */
     bool         use_pv_cr3;
 
-    unsigned long __pad;
     /* get_stack_bottom() must be 16-byte aligned */
 };
 
diff --git a/xen/arch/x86/include/asm/msr.h b/xen/arch/x86/include/asm/msr.h
index 657a3295613d..ce4fe51afe54 100644
--- a/xen/arch/x86/include/asm/msr.h
+++ b/xen/arch/x86/include/asm/msr.h
@@ -297,6 +297,15 @@ struct vcpu_msrs
      *
      * For VT-x guests, the guest value is held in the MSR guest load/save
      * list.
+     *
+     * For SVM, the guest value lives in the VMCB, and hardware saves/restores
+     * the host value automatically.  However, guests run with the OR of the
+     * host and guest value, which allows Xen to set protections behind the
+     * guest's back.
+     *
+     * We must clear/restore Xen's value before/after VMRUN to avoid unduly
+     * influencing the guest.  In order to support "behind the guest's back"
+     * protections, we load this value (commonly 0) before VMRUN.
      */
     struct {
         uint32_t raw;
diff --git a/xen/arch/x86/include/asm/spec_ctrl_asm.h b/xen/arch/x86/include/asm/spec_ctrl_asm.h
index bf82528a12ae..02b3b18ce69f 100644
--- a/xen/arch/x86/include/asm/spec_ctrl_asm.h
+++ b/xen/arch/x86/include/asm/spec_ctrl_asm.h
@@ -46,6 +46,9 @@
  *   - On VMX by using MSR load/save lists to have vmentry/exit atomically
  *     load/save the guest value.  Xen's value is loaded in regular code, and
  *     there is no need to use the shadow logic (below).
+ *   - On SVM by altering MSR_SPEC_CTRL inside the CLGI/STGI region.  This
+ *     makes the changes atomic with respect to NMIs/etc, so no need for
+ *     shadowing logic.
  *
  * Factor 2 is harder.  We maintain a shadow_spec_ctrl value, and a use_shadow
  * boolean in the per cpu spec_ctrl_flags.  The synchronous use is:
@@ -67,6 +70,10 @@
  * steps 2 and 6 will restore the shadow value rather than leaving Xen's value
  * loaded and corrupting the value used in guest context.
  *
+ * Additionally, in some cases it is safe to skip writes to MSR_SPEC_CTRL when
+ * we don't require any of the side effects of an identical write.  Maintain a
+ * per-cpu last_spec_ctrl value for this purpose.
+ *
  * The following ASM fragments implement this algorithm.  See their local
  * comments for further details.
  *  - SPEC_CTRL_ENTRY_FROM_PV
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 08:45:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 08:45:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260721.450735 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCdvc-000279-FH; Wed, 26 Jan 2022 08:45:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260721.450735; Wed, 26 Jan 2022 08:45:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCdvc-00025r-6A; Wed, 26 Jan 2022 08:45:20 +0000
Received: by outflank-mailman (input) for mailman id 260721;
 Wed, 26 Jan 2022 08:45:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DU/T=SK=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nCdvZ-000088-BG
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 08:45:17 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 47079ba9-7e84-11ec-8eb8-a37418f5ba1a;
 Wed, 26 Jan 2022 09:45:15 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 47079ba9-7e84-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643186715;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=a0Fglvy67xpQkp55jOY0hwXLJAWEyKSc9I0P5NSH1Gg=;
  b=MiDEGdMiSm69EHxI/5uqfAybdhoq+h5m31NK7T2cH3JFVga8fFCEWNrs
   xFQZLm93jivBv/kP+vDbme1uBvlkFJdcUeSAdg1z6Dvd1Qdm1Fxee2+cW
   nLoRgX3ZTQzH2NyGrvEY8q54qLrXsi8S5Ui+J2igf5S5dmUJXJ1SYMQAD
   w=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: MJqODNEkvyfIXTBXrx+8YsdhBhbrtmynfikPZc8PZB1bPzf5VIotscMwrVN4zJx329A90fWNsz
 cIBnCK1uGLu+RSifgiQ1/WOeOEwGW45exdk4IJTq3ytZrdn0gRsDpjZagOPKwjk+0zGqK6VKMj
 qqP9NkqrtARUy535/x2vXwhpODd9K6UMlhnT5d9zIt6LslgegTpWCxapJRl3sHvnVmV1NDiiRg
 VLYoziFp0PdZ6qNvbluMVfmC9v2DI6efvRgkws+6NyG7gI44RKTxnf7gN26FQ6wJyz5xayUVCE
 1+2Fc/4sM7jFLCX7Hs7ezwMw
X-SBRS: 5.2
X-MesageID: 63189687
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:gMS+5aMLOp0Tk+fvrR1xkMFynXyQoLVcMsEvi/4bfWQNrUol0jcGx
 mEaXm3TPvzZZWWheYxyadu+/EIA6JOAmNBnHQto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdpJYz/uUGuCJQUNUjMlkfZKhTr6UUsxNbVU8En150Eg9w7dRbrNA2rBVPSvc4
 bsenOWHULOV82Yc3rU8sv/rRLtH5ZweiRtA1rAMTakjUGz2zhH5OKk3N6CpR0YUd6EPdgKMq
 0Qv+5nilo/R109F5tpICd8XeGVSKlLZFVDmZna7x8FOK/WNz8A/+v9TCRYSVatYo3aJkdxU0
 tphj8ShZCwAYLTQ2+8lfgYNRkmSPYUekFPGCX22sMjVxEzaaXr8hf5pCSnaP6VBpLwxWzsXs
 6VFdnZdNXhvhMrvqF6/YsBqit4uM4/AO4QHt2s75TrYEewnUdbIRKCiCdpwgmxp1pEQTam2i
 8wxOCtwTDPCeBdzJWgwENEbkMyTj36vfGgNwL6SjfVuuDWCpOBr65DyNPLFd9rMQt9a9m66j
 G/b+2XyAjkBKceSjzGC9xqEluLJ2C/2Ro8WPLm57eJxxk2ewHQJDx8bXkf9puO24nNSQPoGd
 RZSoHB36/Fvqgr7FbERQiFUvlbHvhAQfsBfP9di+Sym4/TN/0WSPkUbG2sphMMdiOc6Qjkj1
 1msltzvBCByvLD9dU9x5ot4vhvpZ3FLcDZqiTssCFJcvoK9+N1bYgfnE447eJNZmOEZDt0ZL
 9qiiCElz4segscQv0lQ1QCW2mn8znQlo+Nc2+k2Yo5Hxl8oDGJGT9bxgbQ+0RqmBNzIJrVml
 CNc8/VyFMhUUfmweNWlGY3h5o2B6fefKyH7ilVyBZQn/DnF0yf9IdsJu2wgeBs0YplsldrVj
 Kn741I5CHh7ZyPCUEOKS9jpV5RCIVbISLwJqcw4nvIRO8MsJWdrDQllZFKK3nCFraTfufpXB
 HtvSu71VSxyIf0+lFKeHr5BuZd2mHxW7T6NFPjTkkT2uZLDNSX9YepUbzOzghURsfnsTPP9q
 YgPbqNnCnx3DYXDX8Ug2ddDdA9RdSliW8meRg4+XrfrHzeK0VoJU5f5qY7NsaQ/90iMvuuXr
 Hy7RGFCz1/z2S/OJQmQMygxY7LzR5dv63k8OHV0b1qv3nEiZ6ep7bseKMRrLeV2qrQ7wK4mV
 eQBduWBHu9LFmbN9QMCYMSvt4dlbhmq216DZnL3fDglcpd8bAXV4du4LBD3/SwDA3Pv58szq
 rGtzC3BRp8HS1gwBcracqv3nViwoWIciKR5WE6Reotff0Dl8Y5LLS3tj6Bof5FQeEubnjbDj
 lSYGxYVo+XJsrQZytiRiPDWtZqtHst/AlFeQzvR44GpOHSI5WGk24JBDrqFJGiPSGPu9ay+T
 uxJ1PWgYuYflVNHvocgQbZmyaUyu4nmq7NAl1k2GXzKaxKgC696I2nA1s5K7/UfyrhcsAqwe
 0SO5tgFZunZZJK7SAYcdFg/c+CO9fAIgT2Dv/06LXLz6DJz4LfaA15ZOAOBiXAFIbZ4WG//L
 TzNZCLCB9SDtycX
IronPort-HdrOrdr: A9a23:UjvXPquNl1N0tKkqP9KLD+eN7skDTNV00zEX/kB9WHVpmszxra
 GTdZMgpGfJYVcqKQgdcL+7Scq9qB/nmqKdpLNhWYtKPzOW3ldATrsSj7cKqgeIc0aVm4JgPO
 VbAs9D4bXLfCNHZK3BgDVQfexP/DD+ytHMudvj
X-IronPort-AV: E=Sophos;i="5.88,317,1635220800"; 
   d="scan'208";a="63189687"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH 8/8] x86/cpuid: Enable MSR_SPEC_CTRL in SVM guests by default
Date: Wed, 26 Jan 2022 08:44:52 +0000
Message-ID: <20220126084452.28975-9-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220126084452.28975-1-andrew.cooper3@citrix.com>
References: <20220126084452.28975-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

With all other pieces in place, MSR_SPEC_CTRL is fully working for HVM guests.

Update the CPUID derivation logic (both PV and HVM to avoid losing subtle
changes), and explicitly enable the CPUID bits for HVM guests.

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>

Given the adjustment to calculate_pv_max_policy(), we could use 'A' rather
than 'S' which would avoid a second same-sized diff to cpufeatureset.h, but
it's also a bit misleading to say 'A' when the PV side won't engage at all
yet.
---
 xen/arch/x86/cpuid.c                        | 16 ++++++++++++----
 xen/include/public/arch-x86/cpufeatureset.h | 18 +++++++++---------
 xen/tools/gen-cpuid.py                      |  5 +++++
 3 files changed, 26 insertions(+), 13 deletions(-)

diff --git a/xen/arch/x86/cpuid.c b/xen/arch/x86/cpuid.c
index b5af48324aef..64570148c165 100644
--- a/xen/arch/x86/cpuid.c
+++ b/xen/arch/x86/cpuid.c
@@ -433,6 +433,8 @@ static void __init guest_common_feature_adjustments(uint32_t *fs)
      */
     if ( test_bit(X86_FEATURE_IBRSB, fs) )
         __set_bit(X86_FEATURE_STIBP, fs);
+    if ( test_bit(X86_FEATURE_IBRS, fs) )
+        __set_bit(X86_FEATURE_AMD_STIBP, fs);
 
     /*
      * On hardware which supports IBRS/IBPB, we can offer IBPB independently
@@ -456,11 +458,14 @@ static void __init calculate_pv_max_policy(void)
         pv_featureset[i] &= pv_max_featuremask[i];
 
     /*
-     * If Xen isn't virtualising MSR_SPEC_CTRL for PV guests because of
-     * administrator choice, hide the feature.
+     * If Xen isn't virtualising MSR_SPEC_CTRL for HVM guests (functional
+     * availability, or admin choice), hide the feature.
      */
     if ( !boot_cpu_has(X86_FEATURE_SC_MSR_PV) )
+    {
         __clear_bit(X86_FEATURE_IBRSB, pv_featureset);
+        __clear_bit(X86_FEATURE_IBRS, pv_featureset);
+    }
 
     guest_common_feature_adjustments(pv_featureset);
 
@@ -530,11 +535,14 @@ static void __init calculate_hvm_max_policy(void)
         __set_bit(X86_FEATURE_SEP, hvm_featureset);
 
     /*
-     * If Xen isn't virtualising MSR_SPEC_CTRL for HVM guests because of
-     * administrator choice, hide the feature.
+     * If Xen isn't virtualising MSR_SPEC_CTRL for HVM guests (functional
+     * availability, or admin choice), hide the feature.
      */
     if ( !boot_cpu_has(X86_FEATURE_SC_MSR_HVM) )
+    {
         __clear_bit(X86_FEATURE_IBRSB, hvm_featureset);
+        __clear_bit(X86_FEATURE_IBRS, hvm_featureset);
+    }
 
     /*
      * With VT-x, some features are only supported by Xen if dedicated
diff --git a/xen/include/public/arch-x86/cpufeatureset.h b/xen/include/public/arch-x86/cpufeatureset.h
index 0b399375566f..dfbf25b9acb3 100644
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -256,18 +256,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(IBRS,          8*32+14) /*S  MSR_SPEC_CTRL.IBRS */
+XEN_CPUFEATURE(AMD_STIBP,     8*32+15) /*S  MSR_SPEC_CTRL.STIBP */
+XEN_CPUFEATURE(IBRS_ALWAYS,   8*32+16) /*S  IBRS preferred always on */
+XEN_CPUFEATURE(STIBP_ALWAYS,  8*32+17) /*S  STIBP preferred always on */
+XEN_CPUFEATURE(IBRS_FAST,     8*32+18) /*S  IBRS preferred over software options */
+XEN_CPUFEATURE(IBRS_SAME_MODE, 8*32+19) /*S  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(AMD_SSBD,      8*32+24) /*S  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 */
+XEN_CPUFEATURE(SSB_NO,        8*32+26) /*S  Hardware not vulnerable to SSB */
+XEN_CPUFEATURE(PSFD,          8*32+28) /*S  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 */
diff --git a/xen/tools/gen-cpuid.py b/xen/tools/gen-cpuid.py
index b953648b6572..e4915b5961aa 100755
--- a/xen/tools/gen-cpuid.py
+++ b/xen/tools/gen-cpuid.py
@@ -290,6 +290,11 @@ def crunch_numbers(state):
 
         # In principle the TSXLDTRK insns could also be considered independent.
         RTM: [TSXLDTRK],
+
+        # AMD speculative controls
+        IBRS: [AMD_STIBP, AMD_SSBD, PSFD,
+               IBRS_ALWAYS, IBRS_FAST, IBRS_SAME_MODE],
+        AMD_STIBP: [STIBP_ALWAYS],
     }
 
     deep_features = tuple(sorted(deps.keys()))
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 08:45:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 08:45:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260722.450741 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCdvd-0002Dh-80; Wed, 26 Jan 2022 08:45:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260722.450741; Wed, 26 Jan 2022 08: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 1nCdvc-0002CY-Lr; Wed, 26 Jan 2022 08:45:20 +0000
Received: by outflank-mailman (input) for mailman id 260722;
 Wed, 26 Jan 2022 08:45:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DU/T=SK=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nCdva-000088-BN
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 08:45:18 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 46e3417d-7e84-11ec-8eb8-a37418f5ba1a;
 Wed, 26 Jan 2022 09:45:15 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 46e3417d-7e84-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643186715;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=DMIani3bgij8H8/jeaN9V9MoninPkgoxwrQXOevq9nM=;
  b=BLyv/L4VLcFDrAzfGQbGmL/qHyh+hn0NzYKIiEvAxRX6lccMzVG/iBuN
   GbxWcitROtT6Cc5giPkVJUCrLTjHkLtZNZYKHIIXL+Fpg/C9zuSEBS+x7
   asAI7hj4fMbUJcv898nIDKwdiatnlb7nk2HPCcB09SUuyFHq+uTKCTjCK
   0=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: tc9ZHDIppsRfMIg6eDk+iTqJGswfDGiDJsHK6jtcrYUUSRBHnyUR1kCsvrymg77jmnYisBzkS4
 TYkYm6AKS7ZNd+YxgmI6gnXlXioYALghjpubMZ8sA7hJossqZK0pt+Fl88tvg+sCcJc1UuJ6e0
 YD/iJddiyGOmeeNV4C26D0yvUjY5+cbWjzQNAECO4IGvjG56dnIqdj5UASYB6KO44N6RWpX0WT
 8HLTjqwZCCTzdRcUHn5W/SZmKoqug5Bb9772tgqpW1f0rGnpGPLF4nt0fpOigIpkylyD4ZtqAB
 17p0S2vSrueJY91bMkQpT2Ry
X-SBRS: 5.2
X-MesageID: 62781736
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:99fEeaxhJC0wHToEKi16t+fjwSrEfRIJ4+MujC+fZmUNrF6WrkUGn
 2cWWDvUOqyLZGvwfY0iPNu1908GucfUn4M1GlRsqCAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnvopW1TYhSEUOZugH9IQM8aZfHAhLeNYYH1500g7wrRn2tcAbeWRWGthh
 /uj+6UzB3f9s9JEGjp8B3Wr8U4HUFza4Vv0j3RmDRx5lAa2e0o9VfrzEZqZPXrgKrS4K8bhL
 wr1IBNVyUuCl/slIovNfr8W6STmSJaKVeSFoiI+t6RPHnGuD8H9u0o2HKN0VKtZt9mGt8BLk
 98VubzzcwcwB4/opvUHED9SUD4raMWq+JefSZS+mcmazkmAeHrw2fR+SkoxOOX0+M4uXzsIr
 6ZBbmlQMFbT3Ipaw5riIgVoru0lINPmI8U0vXZ4wCuCJf0nXYrCU+PB4towMDIY2JoRTa+BP
 JRxhTxHdC/SWQ10Bn4uLrk5s8ChoHDlYRd5gQfAzUYwyzeKl1EguFT3C/LKfvSaSMMTmVyXz
 krk1WnkBhARNPSE1CGItHmrg4fnjS79HY4fCrC83vprm0GIgHweDgUMUlm2quX/jVSxM++zM
 GRNpHBo9/JrshX2EJ+tBHVUvUJooDYMYYFaS+EaqzuN05P2xziIHCsiRH1ePYlOWNANeRQm0
 VqAntXMDDNpsaGIRX/1yop4vQ9eKgBOczZcOHZsoR8tpoC6/dpt1k6nosNLTfbt5uAZDw0c1
 NxjQMIWo7wIxfAG2Kyglbwsq2L9/8OZJuLZC+i+Y45E0u+bTNL0D2BLwQKChRqlEGp/ZgPQ1
 JTjs5PGhN3i9bnXyESwrBwlRdlFHcqtPjzGmkJIFJI87Tmr8HPLVdkOvGonfxo3bppZKWCBj
 KrvVeV5vs470JyCNvcfXm5MI55ykfiI+SrNC5g4keaikrAuLVTarUmClGab3nz3kVhErE3ME
 czzTCpYNl5DUf4P5GPvH481iOZ3rghjmz+7bc2lnnyPjOrPDFbIGOxtGAbfMYgEAFas/V+9H
 yB3bZXakn2ykYTWP0HqzGLkBQladCdgXcGv9ZU/myzqClMOJVzNwsT5mdsJE7GJVYwP/gsR1
 n3iCEJe1nTlgnjLdVeDZnx5Meu9Vpdjt3MreycrOA/wiXQkZI+u6oYZdoc2IuZ7pLAyk6YsQ
 qlXYdiED9ROVi/Dp2YXY67iodEwbx+snw+PYXaoOWBtY556SgXV0db4ZQ+zpjIWBy+6uJJm8
 b2t3w/WW7QZQAFmAJqEYf6j1Qrp73MchPhzTw3DJdwKIBfg941jKirQiP4rIp5TdUWfl2XCj
 wvPWEUWv+jApYMx4eLlv6Hcotf7CfZ6E2pbA3LfseS8Ox7F8zfx2oRHSuuJI2zQDTum5KW4a
 OxJ5PjgK/lbzk1Suo9xHrs3n6Iz49zj++1Twgh+RSiZal2qDvVrI2Wc3NkJvapIn+cLtQyzU
 0OJ299bJbTWZ5+1TA9PfFIoPraZyPUZujjO9vBkckz16Rh+8KeDTUgPbQKHjzZQLectPY4oq
 Qv7VBX6N+BrZsIWD+u7
IronPort-HdrOrdr: A9a23:vpH336DhchpZ3EDlHemU55DYdb4zR+YMi2TC1yhKJyC9Ffbo7v
 xG/c5rsyMc5wxwZJhNo7y90ey7MBbhHP1OkO4s1NWZLWrbUQKTRekIh+bfKn/baknDH4ZmpN
 9dmsNFaeEYY2IUsS+D2njbL+od
X-IronPort-AV: E=Sophos;i="5.88,317,1635220800"; 
   d="scan'208";a="62781736"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH 5/8] x86/spec-ctrl: Introduce new has_spec_ctrl boolean
Date: Wed, 26 Jan 2022 08:44:49 +0000
Message-ID: <20220126084452.28975-6-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220126084452.28975-1-andrew.cooper3@citrix.com>
References: <20220126084452.28975-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Most MSR_SPEC_CTRL setup will be common between Intel and AMD.  Instead of
opencoding an OR of two features everywhere, introduce has_spec_ctrl instead.

Reword the comment above the Intel specific alternatives block to highlight
that it is Intel specific, and pull the setting of default_xen_spec_ctrl.IBRS
out because it will want to be common.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 xen/arch/x86/spec_ctrl.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c
index 8a550d0a0902..2072daf66245 100644
--- a/xen/arch/x86/spec_ctrl.c
+++ b/xen/arch/x86/spec_ctrl.c
@@ -927,7 +927,7 @@ static __init void mds_calculations(uint64_t caps)
 void __init init_speculation_mitigations(void)
 {
     enum ind_thunk thunk = THUNK_DEFAULT;
-    bool ibrs = false, hw_smt_enabled;
+    bool has_spec_ctrl, ibrs = false, hw_smt_enabled;
     bool cpu_has_bug_taa;
     uint64_t caps = 0;
 
@@ -936,6 +936,8 @@ void __init init_speculation_mitigations(void)
 
     hw_smt_enabled = check_smt_enabled();
 
+    has_spec_ctrl = boot_cpu_has(X86_FEATURE_IBRSB);
+
     /*
      * First, disable the use of retpolines if Xen is using shadow stacks, as
      * they are incompatible.
@@ -973,11 +975,11 @@ void __init init_speculation_mitigations(void)
              */
             else if ( retpoline_safe(caps) )
                 thunk = THUNK_RETPOLINE;
-            else if ( boot_cpu_has(X86_FEATURE_IBRSB) )
+            else if ( has_spec_ctrl )
                 ibrs = true;
         }
         /* Without compiler thunk support, use IBRS if available. */
-        else if ( boot_cpu_has(X86_FEATURE_IBRSB) )
+        else if ( has_spec_ctrl )
             ibrs = true;
     }
 
@@ -1008,10 +1010,7 @@ void __init init_speculation_mitigations(void)
     else if ( thunk == THUNK_JMP )
         setup_force_cpu_cap(X86_FEATURE_IND_THUNK_JMP);
 
-    /*
-     * If we are on hardware supporting MSR_SPEC_CTRL, see about setting up
-     * the alternatives blocks so we can virtualise support for guests.
-     */
+    /* Intel hardware: MSR_SPEC_CTRL alternatives setup. */
     if ( boot_cpu_has(X86_FEATURE_IBRSB) )
     {
         if ( opt_msr_sc_pv )
@@ -1030,11 +1029,12 @@ void __init init_speculation_mitigations(void)
             default_spec_ctrl_flags |= SCF_ist_wrmsr;
             setup_force_cpu_cap(X86_FEATURE_SC_MSR_HVM);
         }
-
-        if ( ibrs )
-            default_xen_spec_ctrl |= SPEC_CTRL_IBRS;
     }
 
+    /* If we have IBRS available, see whether we should use it. */
+    if ( has_spec_ctrl && ibrs )
+        default_xen_spec_ctrl |= SPEC_CTRL_IBRS;
+
     /* If we have SSBD available, see whether we should use it. */
     if ( boot_cpu_has(X86_FEATURE_SSBD) && opt_ssbd )
         default_xen_spec_ctrl |= SPEC_CTRL_SSBD;
@@ -1268,7 +1268,7 @@ void __init init_speculation_mitigations(void)
      * boot won't have any other code running in a position to mount an
      * attack.
      */
-    if ( boot_cpu_has(X86_FEATURE_IBRSB) )
+    if ( has_spec_ctrl )
     {
         bsp_delay_spec_ctrl = !cpu_has_hypervisor && default_xen_spec_ctrl;
 
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 09:44:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 09:44:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260754.450787 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCer5-0003DR-QC; Wed, 26 Jan 2022 09:44:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260754.450787; Wed, 26 Jan 2022 09:44: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 1nCer5-0003DK-N6; Wed, 26 Jan 2022 09:44:43 +0000
Received: by outflank-mailman (input) for mailman id 260754;
 Wed, 26 Jan 2022 09:44: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 1nCer4-0003DE-Hn
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 09:44: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 1nCer4-00074r-2u; Wed, 26 Jan 2022 09:44:42 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224] helo=[10.95.98.192])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nCer3-0007lR-T9; Wed, 26 Jan 2022 09: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=/1k0ls0duDmH7JNtDh/Pp5kADAmxetgGMMjYePbknc4=; b=b6GeXGnZl9xJ4jiH6LnlG4vYw5
	Sn7amNhAz9iaxQahd7+XqWaD2GfJmGkj/RR8jkX+98Jvn4o3Jb8EyVJlDjYKVSBSB4NAneTUjC/WA
	tF1GFMao8S0F3d8I7rPs5AriBscxbhsSAEwyXeEaJixhRynPkH7THPoc5TyBHTRjnGQI=;
Message-ID: <b28ca89c-290d-2c56-1bf7-a5be3dacc55a@xen.org>
Date: Wed, 26 Jan 2022 09:44:39 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [XEN v4] xen/arm64: io: Decode ldr/str post-indexing instructions
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>,
 xen-devel@lists.xenproject.org, stefanos@xilinx.com,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com,
 andre.przywara@arm.com, jbeulich@suse.com, wei.chen@arm.com,
 Ayan Kumar Halder <ayankuma@xilinx.com>
References: <20220125211808.23810-1-ayankuma@xilinx.com>
 <8eb4949c-aa9f-38fd-682e-7620b5f9e03c@xen.org>
 <alpine.DEB.2.22.394.2201251519120.27308@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2201251519120.27308@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 26/01/2022 01:45, Stefano Stabellini wrote:
> On Tue, 25 Jan 2022, Julien Grall wrote:
>>> +
>>>        /* TODO: Handle ARM instruction */
>>>        gprintk(XENLOG_ERR, "unhandled ARM instruction\n");
>>>          return 1;
>>>    }
>>>    +#if CONFIG_ARM_64
>>> +void post_increment_register(union ldr_str_instr_class *instr)
>>
>> instr should not be modified, so please use const. Also, it would be
>> preferrable to pass the regs in parameter. So the none of the decoding code
>> relies on the current regs.
>>
>> Furthermore, decode.c should only contain code to update the syndrome and in
>> theory Arm could decide to provide an valid syndrome in future revision. So I
>> would move this code in io.c (or maybe traps.c).
> 
> I was the one to suggest moving it to decode.c to keep it closer to the
> decoding function it is related to, and also because it felt a bit out
> of place in io.c.

How about traps.c? This is where we also take care of incrementing pc 
after we handle a MMIO trap.

>>> +{
>>> +    struct cpu_user_regs *regs = guest_cpu_user_regs();
>>> +    register_t val;
>>> +
>>> +    /* handle when rn = SP */
>>> +    if ( instr->code.rn == 31 )
>>> +        val = regs->sp_el1;
>>> +    else
>>> +        val = get_user_reg(regs, instr->code.rn);
>>> +
>>> +    val += instr->code.imm9;
>>> +
>>> +    if ( instr->code.rn == 31 )
>>> +        regs->sp_el1 = val;
>>> +    else
>>> +        set_user_reg(regs, instr->code.rn, val);
>>> +}
>>> +#endif
>>> +
>>>    /*
>>>     * Local variables:
>>>     * mode: C
>>> diff --git a/xen/arch/arm/decode.h b/xen/arch/arm/decode.h
>>> index 4613763bdb..511cd4a05f 100644
>>> --- a/xen/arch/arm/decode.h
>>> +++ b/xen/arch/arm/decode.h
>>> @@ -23,6 +23,35 @@
>>>    #include <asm/regs.h>
>>>    #include <asm/processor.h>
>>>    +/*
>>> + * Refer to the ARMv8 ARM (DDI 0487G.b), Section C4.1.4 Loads and Stores
>>> + * Page 318 specifies the following bit pattern for
>>> + * "load/store register (immediate post-indexed)".
>>> + *
>>> + * 31 30 29  27 26 25  23   21 20              11   9         4       0
>>> + * ___________________________________________________________________
>>> + * |size|1 1 1 |V |0 0 |opc |0 |      imm9     |0 1 |  Rn     |  Rt   |
>>> + * |____|______|__|____|____|__|_______________|____|_________|_______|
>>> + */
>>> +union ldr_str_instr_class {
>>> +    uint32_t value;
>>> +    struct ldr_str {

No need to name the struct here.

>>> +        unsigned int rt:5;     /* Rt register */
>>> +        unsigned int rn:5;     /* Rn register */
>>> +        unsigned int fixed1:2; /* value == 01b */
>>> +        signed int imm9:9;            /* imm9 */
>>> +        unsigned int fixed2:1; /* value == 0b */
>>> +        unsigned int opc:2;    /* opc */
>>> +        unsigned int fixed3:2; /* value == 00b */
>>> +        unsigned int v:1;      /* vector */
>>> +        unsigned int fixed4:3; /* value == 111b */
>>> +        unsigned int size:2;   /* size */
>>> +    } code;

It would be best to name it ldr_str so this can be easily extended (e.g. 
no renaming) for other instructions in the future.

>>> +};
>>
>> Looking at the code, post_increment_register() only care about 'rn' and
>> 'imm9'. So rather than exposing the full instruction, could we instead provide
>> the strict minimum? I.e something like:
>>
>> struct
>> {
>>       enum instr_type; /* Unknown, ldr/str post increment */
>>       union
>>       {
>>           struct
>>           {
>>             register; /* Register to increment */
>>             imm;      /* Immediate to add */
>>           } ldr_str;
>>       }
>>       uint64_t register;
>> }
>   
> The full description helped a lot during review. I would prefer to keep
> it if you don't feel strongly about it.

I haven't suggested to drop the union. Instead, I am suggesting to keep 
it internally to decode.c and expose something different to the external 
the user. The idea is the caller doesn't care about the full 
instruction, it only cares about what action to do.

Basically, what I am asking is an augmented dabt. So all the information 
are in one place rather than having to carry two structure (struct 
hsr_dabt and union ldr_str_instr_class) which contain mostly redundant 
information.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 09:50:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 09:50:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260759.450804 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCewv-0004lC-Hh; Wed, 26 Jan 2022 09:50:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260759.450804; Wed, 26 Jan 2022 09: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 1nCewv-0004l5-EI; Wed, 26 Jan 2022 09:50:45 +0000
Received: by outflank-mailman (input) for mailman id 260759;
 Wed, 26 Jan 2022 09:50: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 1nCewt-0004kz-Rz
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 09:50: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 1nCewt-0007Cx-2J; Wed, 26 Jan 2022 09:50:43 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224] helo=[10.95.98.192])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nCews-0008Bi-Rt; Wed, 26 Jan 2022 09:50:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=H5ebuzchRd7JcTUDDI9i1s6ltFuVO9D6Cf9cuhvpAw4=; b=YxqxqPWcYrDawpbMwxytazw3Ss
	UIjfnWMLhv4s9DxYozPUqlIdGtxQqxMyETR3R/dvfAVm/2bYO3BV/bOeaaXqkqC795wFPZFOSfSS9
	yIUbaBpmJVpI57vG7UALM9tXnzufbeElFbMja2Q19Dfl9nFOiXFmwz0JzpH46cvVx72c=;
Message-ID: <966ac15d-e91f-e812-1021-296ef60a9a06@xen.org>
Date: Wed, 26 Jan 2022 09:50:40 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [XEN PATCH v2 2/5] xen: export get_free_port
To: Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, jgross@suse.com,
 Bertrand.Marquis@arm.com, Volodymyr_Babchuk@epam.com,
 Stefano Stabellini <stefano.stabellini@xilinx.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop>
 <20220113005855.1180101-2-sstabellini@kernel.org>
 <f3b2ae98-c7af-d8c0-b0a4-52e622517c34@xen.org>
 <alpine.DEB.2.22.394.2201241652330.27308@ubuntu-linux-20-04-desktop>
 <14af544d-0d20-9b58-4d70-5f5086ece032@suse.com>
 <alpine.DEB.2.22.394.2201251435030.27308@ubuntu-linux-20-04-desktop>
 <a992cf74-a75a-43d0-f83a-cd9549f586a8@xen.org>
 <alpine.DEB.2.22.394.2201251530400.27308@ubuntu-linux-20-04-desktop>
 <aa7aee5b-71cf-78c3-f8a2-f8d166f22ecb@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <aa7aee5b-71cf-78c3-f8a2-f8d166f22ecb@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 26/01/2022 07:30, Jan Beulich wrote:
> On 26.01.2022 02:03, Stefano Stabellini wrote:
>> Are you guys OK with something like this?
> 
> With proper proof that this isn't going to regress anything else, maybe.

That's why I sugested to also gate with system_state < SYS_STATE_boot so 
we reduce the potential regression (the use of hypercall should be 
limited at boot).

FWIW, there was a thread [1] to discuss the same issue as Stefano is 
facing (but in the context of Live-Update).

> But ...
> 
>> --- a/xen/include/xsm/dummy.h
>> +++ b/xen/include/xsm/dummy.h
>> @@ -92,7 +92,9 @@ static always_inline int xsm_default_action(
>>               return 0;
>>           /* fall through */
>>       case XSM_PRIV:
>> -        if ( is_control_domain(src) )
>> +        if ( is_control_domain(src) ||
>> +             src->domain_id == DOMID_IDLE ||
>> +             src->domain_id == DOMID_XEN )
>>               return 0;
> 
> ... my first question would be under what circumstances you might observe
> DOMID_XEN here and hence why this check is there.
> 
> Jan >

[1] 
https://lore.kernel.org/xen-devel/bfd645cf42ef7786183be15c222ad04beed362c0.camel@xen.org/

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 10:10:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 10:10:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260765.450821 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCfFt-0007Rw-AO; Wed, 26 Jan 2022 10:10:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260765.450821; Wed, 26 Jan 2022 10: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 1nCfFt-0007Rp-5g; Wed, 26 Jan 2022 10:10:21 +0000
Received: by outflank-mailman (input) for mailman id 260765;
 Wed, 26 Jan 2022 10:10:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=M9ay=SK=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1nCfFs-0007Rj-59
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 10:10:20 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on060d.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::60d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 28a7b1dd-7e90-11ec-8eb8-a37418f5ba1a;
 Wed, 26 Jan 2022 11:10:17 +0100 (CET)
Received: from DU2P251CA0001.EURP251.PROD.OUTLOOK.COM (2603:10a6:10:230::12)
 by DBBPR08MB4506.eurprd08.prod.outlook.com (2603:10a6:10:d0::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.13; Wed, 26 Jan
 2022 10:10:07 +0000
Received: from DB5EUR03FT018.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:230:cafe::71) by DU2P251CA0001.outlook.office365.com
 (2603:10a6:10:230::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15 via Frontend
 Transport; Wed, 26 Jan 2022 10:10:07 +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.4930.15 via Frontend Transport; Wed, 26 Jan 2022 10:10:06 +0000
Received: ("Tessian outbound 63bb5eb69ee8:v113");
 Wed, 26 Jan 2022 10:10:06 +0000
Received: from 80889583d841.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 3D306829-1A37-4A85-B1E7-98D053B76851.1; 
 Wed, 26 Jan 2022 10:10:00 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 80889583d841.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 26 Jan 2022 10:10:00 +0000
Received: from AM5PR0201CA0001.eurprd02.prod.outlook.com
 (2603:10a6:203:3d::11) by VI1PR08MB4302.eurprd08.prod.outlook.com
 (2603:10a6:803:fb::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.8; Wed, 26 Jan
 2022 10:09:52 +0000
Received: from VE1EUR03FT034.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:203:3d:cafe::ab) by AM5PR0201CA0001.outlook.office365.com
 (2603:10a6:203:3d::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15 via Frontend
 Transport; Wed, 26 Jan 2022 10:09:51 +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.4930.15 via Frontend Transport; Wed, 26 Jan 2022 10:09:51 +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.20; Wed, 26 Jan
 2022 10:09:48 +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.20; Wed, 26
 Jan 2022 10:09:47 +0000
Received: from penny.shanghai.arm.com (10.169.188.91) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.20 via Frontend
 Transport; Wed, 26 Jan 2022 10:09:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 28a7b1dd-7e90-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mKV00kB8E2lb3zvCouyq6z5byuuEBhVPh2iHKLoEKXw=;
 b=OzZy5Zr6lfdEc44ggIerMUpXp2iPKoIhjTBe0IauKLvhNbzUtkCafEotkXEvDE942SivRnfIm0xF6Wo7kOeC7NmGjGeqXUsq8JqR8LI9fDAXTTi7kx4PlYjx2QMWgITs6yUEl7+VDSGTGYNiWyV6E3sIG/i27hxzFVvqFhZoz2Y=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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: 00f79546d79046fe
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=alNhyWf5wX8AUKH9KTfdg1EPCrHy37vJAHENqzaDR/md3bLsAzldTnYHgqviNZfQwBropo2xViibocBTRgxaIbhXXDMMU/u+V8zmB8y5ZuY+xSZGe4Kj6IQsn+K/HnX1AwXTDA59o/L0TDxZBQ14Eu3+VuFCSCOrOXuYOYZBppgSw343fZRkgq0h51ZhGEPJhT1WPJ1gQfUoCbQ6bYHltngEGL0jt7/eEYMsjE+JndxlHRM9L0C8MMpKnue5vPp00jKm4wuIN8dDxHPWU8lZJ3cx0x5XurMFqOsrSyw84H1BGohQHdio5gcR6e+ZCbIV0TIVDe6HKxT8GtSKWA3mSg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mKV00kB8E2lb3zvCouyq6z5byuuEBhVPh2iHKLoEKXw=;
 b=Vi8xFxZBiGJyY4XIarCXauzzfIpZLJzdX0O5o7HO5YVyvF/hdTNf2GZEXRbCTzl3VW1E9X22OTnAXCC3G7zUgUFQ06AmJCKT82JlOejORSnHU++S60mQ9nQtlNJx4RBTuweRQ9B7+hc38ONeGefH2UWygYP2wMTLYLQsucL7yVffcWCHNZ2rDNg6EyUgPuwCVddnEdSFZfNxsIP7F9d2Nc60Tj6FZmTaeyqGuExzv3MYtUvRUm5DCixiqH6ceJv9lAD2N9QJkmJ6+7eVUEYHsd5j0FATDINl670rKiNlEjz7hvhBDteP1OkGTcxNYEa8ATKyXveZ/V1443l+dTKKxQ==
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=mKV00kB8E2lb3zvCouyq6z5byuuEBhVPh2iHKLoEKXw=;
 b=OzZy5Zr6lfdEc44ggIerMUpXp2iPKoIhjTBe0IauKLvhNbzUtkCafEotkXEvDE942SivRnfIm0xF6Wo7kOeC7NmGjGeqXUsq8JqR8LI9fDAXTTi7kx4PlYjx2QMWgITs6yUEl7+VDSGTGYNiWyV6E3sIG/i27hxzFVvqFhZoz2Y=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Penny Zheng <penny.zheng@arm.com>
To: <xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
	<julien@xen.org>
CC: <Bertrand.Marquis@arm.com>, <Wei.Chen@arm.com>
Subject: [PATCH] design: design doc for shared memory on a dom0less system
Date: Wed, 26 Jan 2022 10:09:43 +0000
Message-ID: <20220126100943.4086208-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-Office365-Filtering-Correlation-Id: 43e1d97c-2ebc-4cc1-3a32-08d9e0b40732
X-MS-TrafficTypeDiagnostic:
	VI1PR08MB4302:EE_|DB5EUR03FT018:EE_|DBBPR08MB4506:EE_
X-Microsoft-Antispam-PRVS:
	<DBBPR08MB4506329CCAA8252F78027F8DF7209@DBBPR08MB4506.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:
 U92ytrhpGRWzvtB3lIXI1QCP/y6MQs3GbM95xlUT9/n7TCahiIIjwmsBSwieIgGL7Q7n082KsvQgSB7/j7B6IDOYQy1zoZK0+TSIq7W1riiiGpAZYWi6AvdcwZ6jqu8+2p6Qc/CNjEkVdGKYeXGusA4euQVmddMKpR6MeB1XTKu4Gu9Iz9yP1s1ttXYqy6ZQJ9PvRaTV8+0irtMydc+S3KUwKHvBdZQSLjC6ZRvWiHxYeKCZAH6egzDxuKgJjTUYzxqseoZ6PMDGfaKwzNM3C3yUi9K4B1CLmvOIO5/2ghow77gVbx7BF7SIfAszsSfuX9/XXc+EI+DID1n6RXnbWDiykJ1Llfgo1uynqbjUi/93f/mKqdD5xt6Cu/Gp9lKM5p5eEnPMf9eYL8/W5ecf3yPm0tFuAgXRPZ0LPeKdlm/j3nEETyE0J92I93dlW3dsplhDmeEu+31usM9PQ/3ahEmrFuhXygJVeIYwB21QsaYwjrvp3CGQxTnAkPa8XCnMpeikwDcyvKcN4Dej4OJt85qSOl4T809VvYb0NRdqIzN4LloynKzXJD6YtYxceiJGJAIjL/QAzAzCobprEYVLjgqW4BbH7b3X+FbRv6JTaxbSL6m8NKrcbO9vSAWsGcgjINm9IS53fBt54TjPlHromxSbo7SUukqCeKzoJm30LLeeb6Vd3Xy4cOk+QGvYZ12X7NPWdUDPtUa2aIKUYQ9C7T4aP0WxFxUrnW4VhpeweANL15oA9Oz8W+uNuxLAV6XXahW4E89LXP7FzB/udt6GJpt3Yk46BnbYdcCBtkksCfaQ/80tAKdVsf3Ci2E0wFOWO3cCEDYf95lJY4untWt4fSElo/sPtwE1Q8BJforAzVB//pp8nnv/OinIEbKPnCKDfpz5YV49/hmkweDmVfd4FA==
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)(40470700004)(36840700001)(46966006)(40460700003)(110136005)(47076005)(316002)(44832011)(5660300002)(54906003)(86362001)(7696005)(4326008)(1076003)(8936002)(36860700001)(83380400001)(186003)(966005)(336012)(2906002)(26005)(70206006)(36756003)(2616005)(6666004)(426003)(8676002)(81166007)(70586007)(356005)(508600001)(82310400004)(32563001)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB4302
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT018.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	eda53f6b-49af-4fa8-3f70-08d9e0b3fdca
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ts+rVBwmXpXQEjLeT4g4KK8zCssecbxT7QpYTbpltrXCMmVDG49wk71JQfKjVkebBfVn9wf2jrjj/LoRM62cSAG9z0HGGduOt4fF0XU/VOKnihjQF/pdEv1d7lBp0sEMRwSwpHJyj4zDPNntiuSdznV1pOQWkEYDzWMhgA/Nkh53d6j+1VG9u6Zd1PzcKhwvLptaaUbscJkpLJvQqyiXiu6ykVS3y5AXBMaA0wT6j21gdcUISuzFoG92tV0HlU1dDhtpWj95XOuBcAFxRVKAxUmTXlehw0zeMyCQ12rkIOezTCGVKCsle8wEeQdpOJAbs0p6P2+XCbOx+WqG/IVahqpzkDq65R7AqykY0CyQrha9uEQT1EUjKWPSXzrkBry9MkNx0WI0Z3dePw6VH8G40jqh2IeuB8VzgWoCXIbuyPR3x4oc1dUpZu8oyR/k5JDm+lQOHkvhBZsTvPlP1HQdNGegWfUiCmHL8Y+9EiUAViIYvnXfqPU4m5k4I7CmD9s9L7p7xJcLyj4XbStnyuU0s1xcXYHxja7uYcQQyyy70xCTVBljjHpvWbPOLeGpwmIe0Lz+qH5cQk/F1b31IX2uQ3BNFHdPxDOaEv+q1p5dAA/qGaTrZ626AaZCmrhPpPQNKvhRMi0e2sOKGQbYdHaVIWbzk4ZP6KXNIwk9fK2B14BqlaODDgBOVp6ubCl4eQrXp+ALMzGE9TdyvcidPAwtR/e0ObBAJR22F1gm/ALtohbnudkYjRrrV696Nvy/eTZi+hF3M9iGKz3oFw8kLKqLFpbkoHZ3ynlk7+qEzdPv6y7BEeM0Pi2axQuaKFZKGKo7oNfxhVfgsXZOnwOXtdna5XeOh4avUDJCW/VP+9YKosmxVPqZzVJfyoMZ33tebsWW
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(40470700004)(36840700001)(46966006)(26005)(336012)(2906002)(316002)(82310400004)(186003)(966005)(83380400001)(36756003)(70586007)(5660300002)(81166007)(1076003)(8936002)(508600001)(70206006)(40460700003)(8676002)(426003)(36860700001)(110136005)(47076005)(2616005)(86362001)(4326008)(6666004)(7696005)(54906003)(44832011)(32563001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 10:10:06.9018
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 43e1d97c-2ebc-4cc1-3a32-08d9e0b40732
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: DBBPR08MB4506

This commit provides a design doc for static shared memory
on a dom0less system.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
---
 design/shm-dom0less.md | 182 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 182 insertions(+)
 create mode 100644 design/shm-dom0less.md

diff --git a/design/shm-dom0less.md b/design/shm-dom0less.md
new file mode 100644
index 0000000..b46199d
--- /dev/null
+++ b/design/shm-dom0less.md
@@ -0,0 +1,182 @@
+# Static Shared Memory between domains on a dom0less system
+
+This design aims to provide an overview of the new feature: setting up static
+shared memory between domains on a dom0less system, through device tree
+configuration.
+
+The new feature is driven by the need of finding a way to build up
+communication channels on dom0less system, since the legacy ways including
+grant table, etc are all absent there.
+
+It was inspired by the patch serie of "xl/libxl-based shared memory", see
+[1] for more details.
+
+# Static Shared Memory Device Tree Configuration
+
+The static shared memory device tree nodes allow users to statically set up
+shared memory among a group of dom0less DomUs and Dom0, enabling domains
+to do shm-based communication.
+
+- compatible
+
+    "xen,domain-shared-memory-v1"
+
+- xen,shm-id
+
+    An u32 value represents the unique identifier of the shared memory region.
+    User valuing per shared memory region shall follow the ascending order,
+    starting from xen,shm-id = <0x0>, to the maximum identifier
+    xen,shm-id = <0x126>. The special xen,shm-id = <0x127> is reserved for
+    INVALID_SHMID.
+
+- xen,shared-mem
+
+    An array takes a physical address, which is the base address of the
+    shared memory region in host physical address space, a size, and a guest
+    physical address, as the target address of the mapping.
+
+- role(Optional)
+
+    A string property specifying the ownership of a shared memory region,
+    the value must be one of the following: "owner", or "borrower"
+    A shared memory region could be explicitly backed by one domain, which is
+    called "owner domain", and all the other domains who are also sharing
+    this region are called "borrower domain".
+    If not specified, the default value is "borrower" and owner is
+    "dom_shared", a system domain.
+
+## Example
+
+chosen {
+    #address-cells = <0x1>;
+    #size-cells = <0x1>;
+    xen,xen-bootargs = "console=dtuart dtuart=serial0 bootscrub=0";
+
+    ......
+
+    /* this is for Dom0 */
+    dom0-shared-mem@10000000 {
+        compatible = "xen,domain-shared-memory-v1";
+        xen,shm-id = <0x0>;
+        role = "owner";
+        xen,shared-mem = <0x10000000 0x10000000 0x10000000>;
+    }
+
+    domU1 {
+        compatible = "xen,domain";
+        #address-cells = <0x1>;
+        #size-cells = <0x1>;
+        memory = <0 131072>;
+        cpus = <2>;
+        vpl011;
+
+        /*
+         * shared memory region identified as 0x0(xen,shm-id = <0x0>)
+         * shared between dom0.
+         */
+        domU1-shared-mem@10000000 {
+            compatible = "xen,domain-shared-memory-v1";
+            xen,shm-id = <0x0>;
+            role = "borrower";
+            xen,shared-mem = <0x10000000 0x10000000 0x50000000>;
+        }
+
+        domU1-shared-mem@50000000 {
+            compatible = "xen,domain-shared-memory-v1";
+            xen,shm-id = <0x1>;
+            xen,shared-mem = <0x50000000 0x20000000 0x60000000>;
+        }
+
+        ......
+
+    };
+
+    domU2 {
+        compatible = "xen,domain";
+        #address-cells = <0x1>;
+        #size-cells = <0x1>;
+        memory = <0 65536>;
+        cpus = <1>;
+
+        /*
+         * shared memory region identified as 0x1(xen,shm-id = <0x1>)
+         * shared between domU1.
+         */
+        domU2-shared-mem@50000000 {
+            compatible = "xen,domain-shared-memory-v1";
+            xen,shm-id = <0x1>;
+            xen,shared-mem = <0x50000000 0x20000000 0x70000000>;
+        }
+
+        ......
+    };
+};
+
+It is the example of two static shared memory regions.
+
+In terms of shared memory region identified as 0x0, host physical address
+starting at 0x10000000 of 256MB will be reserved to be shared between Dom0
+and DomU1. It will get mapped at 0x10000000 in Dom0 guest physical address
+space, and at 0x50000000 in DomU1 guest physical address space. Dom0 is the
+owner domain, and domU1 is the borrower domain.
+
+And in terms of shared memory region identified as 0x1, host physical address
+starting at 0x50000000 of 512MB will be reserved to be shared between DomU1
+and DomU2. It will get mapped at 0x60000000 in DomU1 guest physical address
+space, and at 0x70000000 in DomU2 guest physical address space. Since no owner
+domain is explicitly defined, the default "dom_shared" is the owner domain,
+and both domU1 and domU2 are the borrower domains.
+
+# Overview of Static Shared Memory Flow
+
+Static Shared Memory working flow could be classified into the following
+steps:
+ - Carve out a range of memory in host physical address space to be used
+for sharing. Define it in device tree configuration, then parse and reserve
+it to avoid other use.
+ - Create a special domain "dom_shared". It will be the owner domain which
+is owning the statically shared pages, if "role" property is not specified.
+ - Per shared memory region could be shared with multiple domains. For
+owner domain, it acquires statically shared pages and assign them to itself,
+in the same way with static memory. And other than owner domain, the others
+who are also sharing are called "borrower domain", for which foreign memory
+map of statically shared pages is required.
+ - Expose the shared memory to the domU using the "xen,shared-memory-v1"
+reserved-memory binding. See
+Documentation/devicetree/bindings/reserved-memory/xen,shared-memory.txt
+in Linux for the corresponding device tree binding.
+
+# Memory management of Shared Memory Region
+
+Each memory page needs to have an "owner" and it is likely that in many cases
+the user don't care who the owner is, so it makes sense that users don't
+need to specify the "role" in device tree if they don't want to, in which
+scenario, a default domain shall be the owner domain.
+
+We propose a new system domain "dom_shared" to be the default domain owning all
+statically unowned shared pages, assigning it dom_id 0x7FF5(DOMID_SHARED).
+
+"dom_shared" domain shall get constructed before domain construction and after
+"setup_virt_paging", during system boot-time, so it could successfully do
+p2m initialization.
+
+Owner domain acquires statically shared pages and assign them to itself,
+while borrower domains get and take reference of them, then do foreign memory
+map of these statically shared pages.
+
+When destroying or rebooting a domain, if it is a borrower domain, other than
+removing foreign memory map of statically shared pages in P2M table, we also
+need to drop according gained reference. And if it is an owner domain, since
+statically shared pages are allocated as guest normal ram, it is not needed to
+do extra removing.
+
+However if owner domain is not the default "dom_shared" domain, but specified
+explicitly in device tree, stopping itself will make shared memory region
+unaccessible to all borrower domains, so we need to remove foreign memory map
+for all borrower domains. Notice that all borrowers domains should be stopped
+before stopping the owner domain.
+
+"dom_shared" domain is destroyed when the whole system shuts down, so its
+owning statically shared pages are only freed at system shutdown.
+
+[1] https://marc.info/?l=xen-devel&m=154404821731186
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 10:31:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 10:31:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260771.450832 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCfZu-0001dd-55; Wed, 26 Jan 2022 10:31:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260771.450832; Wed, 26 Jan 2022 10:31:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCfZu-0001dW-1c; Wed, 26 Jan 2022 10:31:02 +0000
Received: by outflank-mailman (input) for mailman id 260771;
 Wed, 26 Jan 2022 10:31: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 1nCfZs-0001dM-MP; Wed, 26 Jan 2022 10:31: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 1nCfZs-0007yO-J0; Wed, 26 Jan 2022 10:31: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 1nCfZs-0008Hu-AS; Wed, 26 Jan 2022 10:31:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nCfZs-0003KJ-A1; Wed, 26 Jan 2022 10: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Y8V75HDEB8wyZzGfx7EBBagDEIMbLIkARZ/g2fWRNsg=; b=dk9mOxbf2PB/OxEQ3U0S1mSdkn
	8KvLMwRwShsqvuXp8y9XcGvdi5HHtqORvDo2SPS4mPVTJbo9QiJQceYoFHreWPLIqtpkpB+LhjJbW
	/NotHevwiB+u5nkQdrpYQChKzTdlSWkHS7qlNuxT+o2uWD6QflUm6DLSQxVbgxrT4lSM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167820-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167820: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start/freebsd.repeat: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-qcow2: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-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-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-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl: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
X-Osstest-Versions-This:
    linux=49d766f3a0e49624c4cf83909d56c68164e7c545
X-Osstest-Versions-That:
    linux=a08b41ab9e2e468647f78eb17c28e29b93006394
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 26 Jan 2022 10:31:00 +0000

flight 167820 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167820/

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 167810
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167810
 test-amd64-amd64-freebsd12-amd64 21 guest-start/freebsd.repeat fail like 167810
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167810
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167810
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167810
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167810
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167810
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167810
 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-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-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                49d766f3a0e49624c4cf83909d56c68164e7c545
baseline version:
 linux                a08b41ab9e2e468647f78eb17c28e29b93006394

Last test of basis   167810  2022-01-25 06:40:10 Z    1 days
Testing same since   167820  2022-01-25 16:39:44 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  David Sterba <dsterba@suse.com>
  Filipe Manana <fdmanana@suse.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Qu Wenruo <wqu@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   a08b41ab9e2e..49d766f3a0e4  49d766f3a0e49624c4cf83909d56c68164e7c545 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 10:39:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 10:39:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260778.450843 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCfiA-0002T4-2r; Wed, 26 Jan 2022 10:39:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260778.450843; Wed, 26 Jan 2022 10:39:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCfi9-0002Sx-Vn; Wed, 26 Jan 2022 10:39:33 +0000
Received: by outflank-mailman (input) for mailman id 260778;
 Wed, 26 Jan 2022 10:39:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dHDZ=SK=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1nCfi9-0002Sr-AI
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 10:39:33 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20615.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::615])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3e2030b4-7e94-11ec-8eb8-a37418f5ba1a;
 Wed, 26 Jan 2022 11:39:31 +0100 (CET)
Received: from AS9PR06CA0358.eurprd06.prod.outlook.com (2603:10a6:20b:466::20)
 by PAXPR08MB7336.eurprd08.prod.outlook.com (2603:10a6:102:223::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Wed, 26 Jan
 2022 10:39:28 +0000
Received: from AM5EUR03FT014.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:466:cafe::c4) by AS9PR06CA0358.outlook.office365.com
 (2603:10a6:20b:466::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15 via Frontend
 Transport; Wed, 26 Jan 2022 10:39:28 +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.4930.15 via Frontend Transport; Wed, 26 Jan 2022 10:39:27 +0000
Received: ("Tessian outbound 741ca6c82739:v113");
 Wed, 26 Jan 2022 10:39:27 +0000
Received: from 3eef6152fec7.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 A44F9589-6A59-45F7-825F-A6682C30985B.1; 
 Wed, 26 Jan 2022 10:39:16 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3eef6152fec7.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 26 Jan 2022 10:39:16 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by PA4PR08MB6271.eurprd08.prod.outlook.com (2603:10a6:102:eb::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.8; Wed, 26 Jan
 2022 10:39:14 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0%7]) with mapi id 15.20.4909.017; Wed, 26 Jan 2022
 10:39:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3e2030b4-7e94-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=x2BZCvhovCMNnmEWxeFTF+UWgef68eeDSrf+ldkITuA=;
 b=rKu/MoewK2fd+o4DheSF9/vFiMGxbMPuHFhAY8Ei5nZyzCCM0Wum+/KIPxZwTb8ZYivIoCD0oH2WnjwZJqRNctkc/aUXqCV1guIQmIhM0tFaZ5XqQlUQzqs3KgU9DcSmiyHrO+dIe7kH5hJ04VFy4Fn9l+oaJbTI+ealzpPuZRI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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=dakYow+C33quss08nP6BJ/x5O5TJjxwaLTSgDgZ/pL3HL04652t2lD5ieF8G9HOHn/52wd0k1lMF06G9RAe+fm+cO2kh5KCi1uctvy4oU8nn5vsvY9FPuX1vkTniuM7MhZFlpXj24VPzadkxyJt9VjxIRonMz8MoUM0mEuRfwV4Wbt5OsDdNd98zVY1YWelZTGDjypozX+0OVQVVDQqRFs5hOQ/n+UUiExPPtNS0iOXVsKlk7btqbCNkiefcy3yLzjwumyQQN+HIvr4IIywNSkXKe9C4MV9JRzr3DpwNhcTnX//eRRS5PVBQF0YJ+aw8z+1jpn9YS1nurxfriT0wuQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=x2BZCvhovCMNnmEWxeFTF+UWgef68eeDSrf+ldkITuA=;
 b=ZNfq6bcm0oHAPgYxibsBrNFNCYXnbqZA//s5wfYMblZ2isDFGUKro0B2oPwkNBwTPfSm29XGswvJtnC4lE/6UhH17jgXGp2CKw2Ex1KKnDAJEsxbQNn8h8xYeY7F7cz9BxdJzGmWv5FXeRSYOUrG1ZIcF+FYrqkTah48+sqT8EejKzOuBOscLurFakUkSSWOs9Mi5VtFXvXy43Gj/WvtV86sTRl8Jn0ZqjIAklsBEgAfeWO0760ztfigucc5+i8haxSYf7/nr527L6QiVzu8/6QA6wc3Vj1pN4C+37LT4Il9TbpNyTsMUJWkw5vvZ5CBOcYsbo8MgJQNrIgkRnZeZg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=x2BZCvhovCMNnmEWxeFTF+UWgef68eeDSrf+ldkITuA=;
 b=rKu/MoewK2fd+o4DheSF9/vFiMGxbMPuHFhAY8Ei5nZyzCCM0Wum+/KIPxZwTb8ZYivIoCD0oH2WnjwZJqRNctkc/aUXqCV1guIQmIhM0tFaZ5XqQlUQzqs3KgU9DcSmiyHrO+dIe7kH5hJ04VFy4Fn9l+oaJbTI+ealzpPuZRI=
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: [PATCH 11/37] xen/x86: abstract neutral code from
 acpi_numa_memory_affinity_init
Thread-Topic: [PATCH 11/37] xen/x86: abstract neutral code from
 acpi_numa_memory_affinity_init
Thread-Index: AQHXsHMOTNAGPK2yVEyFmawOhLakc6xzJCgAgAKROiA=
Date: Wed, 26 Jan 2022 10:39:14 +0000
Message-ID:
 <PAXPR08MB7420F9BF695574EBD2AE57029E209@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-12-wei.chen@arm.com>
 <46759708-36a8-fcde-d0dc-f73401491cbc@suse.com>
In-Reply-To: <46759708-36a8-fcde-d0dc-f73401491cbc@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: DB055FAD75ACCA409BF258A8BED0377C.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 53319344-05d9-4eaa-70ef-08d9e0b820d7
x-ms-traffictypediagnostic:
	PA4PR08MB6271:EE_|AM5EUR03FT014:EE_|PAXPR08MB7336:EE_
X-Microsoft-Antispam-PRVS:
	<PAXPR08MB7336169E4A179E35F36387159E209@PAXPR08MB7336.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:
 8G7XCE7ndJ/QeRZRSHwZgLA/T5EwHni1w1UNjBOq1lgr7J9S+av0EH61/VqxCXF5Jf4G4wAvkDQQuSkl9Vv4Jo5g2VjY9UMaXKTqBK7Wh+TJJ6NEB9Bwo8jnbBEldtXUH/6x0/ZHdHN+N7E/LvcKs/0mQOZtNcvgbPXNKSyI3rjfpK7DHzq1bha0SlZIlWDxmt7ZVJ2T8MSZeJlKCENpw/2GiOHWppFkQ76E84hQfOGt8lSRtnn4iXGv7KnZ3LqXTpTE79PdFStmSRuCcUNGaQnBeXi0AUXcmrFVkRZlC9mKizZoaUaoLy6d/SRNHIZx4NNFtgqaIqRwe77xLrr6QVziaJXOqCK2s91xiI7oysBY6R6JJ9EX3uGKOA14haYIhjGI+Mwm2CHUdLFd9RCBUR6Bs4LXzkw0ZOqs8DEnzAFMMY6E7v1CFMetBc2kL7p2aa6O1gV4flAXCNPgnZMqbgk6fjhzyTd0Q5e3UKYTMQr/AZTp56Qc+0+JXrvLsD+UidIvT433nYuvHZcTMHsMmiv/GDq1mIF0ks+f8/DPncXj9VdL2hPj/RrnqE6Bgyb6I/nzNTq9pqduipTBo6z+YN+dCXoIUeOrtH+b1oY58AkooIA42Qvw/4cUBdcxXhibO+QFmIH8/ZyGTtSbl3nDI2RjaattuKjFOfG8AVGqouiJK6Bm1CjvQNWr1vs1UYe0H1J48TRQOsSeYMU2x0whzA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(5660300002)(55016003)(186003)(33656002)(71200400001)(83380400001)(8676002)(66556008)(76116006)(66476007)(38100700002)(38070700005)(4326008)(66946007)(86362001)(122000001)(508600001)(2906002)(6916009)(53546011)(26005)(9686003)(66446008)(64756008)(6506007)(54906003)(8936002)(316002)(7696005)(52536014);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6271
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT014.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	d7957713-5443-4df8-5762-08d9e0b818b9
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	pFctK+jIh/r+eC91EWcol+vBLrZ3ud5zjiYI2ikmcUMlpXrR4t3uFZz2oEtUd0grs01G5xJpVW5MCPMmbX4TA/tunHe8z2OeNty+9sdn23W0gLt8gUw4xicURybDIGhlWKqJKM08gGPsPF1Y7I8P+wzL1J2GqZC/KRmHwh1jtX6+kpzkjSeCSVXGNyggMs+IHEFPZ2xEYXhhkj3L6WniLDj0U3uD62jXER14npIA7vkfrKcApMJj/eI+DlSJ/LpGY0bA9YluP7hOJG+J8OBqC8DElO8qAzRtwdNzrdBGbGGSjIKw4Fu2QyQVO1r48TZFDnN8DdeVBXP2VN53zee7s1CnhLAGcpIaamIli+zepFSMLmCLlvUxsiN33oryJxxJMuP2iN1sz9UtbgqQVY8vW++S0vua8S/1bIm4sJhTiZRPvzfJ6FUX27IgZhgA+So/VJfi8kjla5LeZJpqkfvzxB0AErGD+JSXedn+BB41tleRGl9BKCUrzELje84CRBkOiDUL66B+84Y9vUsSOTzUU137QONh0dY0EP7vck0OPMu4cROgmSUwx7ts/SAU27UVLhMeAYkgB7JsKZEVNbjQuwgQ/lj26zZ0Ln0MSLzMsHi9VebvNPBV7SfwzOsChnKt8MEZv2Tmx+THadQUWR/+rZc18vfbcDATN0lZ/xJHQx3jvkYkCt6MvoLyblfC/WqQ
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230001)(4636009)(46966006)(36840700001)(40470700004)(186003)(47076005)(26005)(36860700001)(54906003)(336012)(82310400004)(83380400001)(316002)(356005)(33656002)(4326008)(70206006)(70586007)(8676002)(8936002)(40460700003)(81166007)(6862004)(2906002)(86362001)(9686003)(52536014)(55016003)(508600001)(7696005)(6506007)(5660300002)(53546011)(20210929001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 10:39:27.8605
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 53319344-05d9-4eaa-70ef-08d9e0b820d7
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: PAXPR08MB7336

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMuW5tDHmnIgyNeaXpSAwOjUxDQo+
IFRvOiBXZWkgQ2hlbiA8V2VpLkNoZW5AYXJtLmNvbT4NCj4gQ2M6IEJlcnRyYW5kIE1hcnF1aXMg
PEJlcnRyYW5kLk1hcnF1aXNAYXJtLmNvbT47IHhlbi0NCj4gZGV2ZWxAbGlzdHMueGVucHJvamVj
dC5vcmc7IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc7IGp1bGllbkB4ZW4ub3JnDQo+IFN1YmplY3Q6
IFJlOiBbUEFUQ0ggMTEvMzddIHhlbi94ODY6IGFic3RyYWN0IG5ldXRyYWwgY29kZSBmcm9tDQo+
IGFjcGlfbnVtYV9tZW1vcnlfYWZmaW5pdHlfaW5pdA0KPiANCj4gT24gMjMuMDkuMjAyMSAxNDow
MiwgV2VpIENoZW4gd3JvdGU6DQo+ID4gVGhlcmUgaXMgc29tZSBjb2RlIGluIGFjcGlfbnVtYV9t
ZW1vcnlfYWZmaW5pdHlfaW5pdCB0byB1cGRhdGUgbm9kZQ0KPiA+IG1lbW9yeSByYW5nZSBhbmQg
dXBkYXRlIG5vZGVfbWVtYmxrX3JhbmdlIGFycmF5LiBUaGlzIGNvZGUgaXMgbm90DQo+ID4gQUNQ
SSBzcGVjaWZpYywgaXQgY2FuIGJlIHNoYXJlZCBieSBvdGhlciBOVU1BIGltcGxlbWVudGF0aW9u
LCBsaWtlDQo+ID4gZGV2aWNlIHRyZWUgYmFzZWQgTlVNQSBpbXBsZW1lbnRhdGlvbi4NCj4gPg0K
PiA+IFNvIGluIHRoaXMgcGF0Y2gsIHdlIGFic3RyYWN0IHRoaXMgbWVtb3J5IHJhbmdlIGFuZCBi
bG9ja3MgcmVsYXRpdmUNCj4gPiBjb2RlIHRvIGEgbmV3IGZ1bmN0aW9uLiBUaGlzIHdpbGwgYXZv
aWQgZXhwb3J0aW5nIHN0YXRpYyB2YXJpYWJsZXMNCj4gPiBsaWtlIG5vZGVfbWVtYmxrX3Jhbmdl
LiBBbmQgdGhlIFBYTSBpbiBuZXV0cmFsIGNvZGUgcHJpbnQgbWVzc2FnZXMNCj4gPiBoYXZlIGJl
ZW4gcmVwbGFjZWQgYnkgTk9ERSwgYXMgUFhNIGlzIEFDUEkgc3BlY2lmaWMuDQo+ID4NCj4gPiBT
aWduZWQtb2ZmLWJ5OiBXZWkgQ2hlbiA8d2VpLmNoZW5AYXJtLmNvbT4NCj4gDQo+IFNSQVQgaXMg
YW4gQUNQSSBjb25jZXB0LCB3aGljaCBJIGFzc3VtZSBoYXMgbm8gbWVhbmluZyB3aXRoIERULiBI
ZW5jZQ0KPiBhbnkgZ2VuZXJpY2FsbHkgdXNhYmxlIGxvZ2ljIGhlcmUgd2FudHMsIEkgdGhpbmss
IHNlcGFyYXRpbmcgb3V0IGludG8NCj4gYSBmaWxlIHdoaWNoIGlzIG5vdCBTUkFULXNwZWNpZmlj
IChwZWVraW5nIGFoZWFkLCBzcGVjaWZpY2FsbHkgbm90IGENCj4gZmlsZSBuYW1lZCAibnVtYV9z
cmF0LmMiKS4gVGhpcyBtYXkgaW4gdHVybiByZXF1aXJlIHNvbWUgbW9yZSB0aG91Z2gNCg0KV2hl
biBJIGNyZWF0ZWQgdGhlIGZpbGUsIEkgd2FudGVkIHRvIHBsYWNlIG5vbi1BQ1BJL0RUIHNwZWNp
ZmljIGNvZGUgaW4NCmEgbmV3IGZpbGUuIEJ1dCBJIHdhcyBjb25mdXNlZCBhYm91dCBob3cgdG8g
bmFtZSBpdC4gSSBjaG9zZSBudW1hX3NyYXQuYw0KYXMgdGhlIGZpbGUgbmFtZSBiZWNhdXNlIEkg
dGhvdWdodCB0aGUgZGV2aWNlIHRyZWUgaXMgYWxzbyBhIHN0YXRpYw0KcmVzb3VyY2UgdGFibGUu
IEJ1dCBpdCBzZWVtcyB0aGlzIG5hbWUgaXMgc3RpbGwgbWlzbGVhZGluZywgYmVjYXVzZQ0KQUNQ
SSBTUkFUIGlzIHdlbGwga25vd24uIA0KDQo+IHJlZ2FyZGluZyB0aGUgcHJvcGVyIHNwbGl0IGJl
dHdlZW4gdGhlIHN0dWZmIHJlbWFpbmluZyBpbiBzcmF0LmMgYW5kDQo+IHRoZSBzdHVmZiBiZWNv
bWluZyBraW5kIG9mIGxpYnJhcnkgY29kZS4gSW4gcGFydGljdWxhciB0aGlzIG1heSBtZWFuDQo+
IG1vdmluZyBzb21lIG9mIHRoZSBzdGF0aWMgdmFyaWFibGVzIGFzIHdlbGwsIGFuZCB3aXRoIHRo
ZW0gcGVyaGFwcw0KPiBzb21lIGZ1cnRoZXIgZnVuY3Rpb25zICh3aGlsZSBJIGRpZCBwZWVrIGFo
ZWFkLCBJIGRpZG4ndCBsb29rIGNsb3NlbHkNCj4gYXQgdGhlIGxhdGVyIHBhdGNoIGRvaW5nIHRo
ZSBhY3R1YWwgbW92ZW1lbnQpLiBBbmQgaXQgaXMgdGhlbiBoYXJkIHRvDQo+IHNlZSB3aHkgdGhl
IHNlcGFyYXRpb24gbmVlZHMgdG8gaGFwcGVuIGluIHR3byBzdGVwcyAtIHlvdSBjb3VsZCBtb3Zl
DQo+IHRoZSBnZW5lcmljYWxseSB1c2FibGUgY29kZSB0byBhIG5ldyBmaWxlIHJpZ2h0IGF3YXku
DQo+IA0KDQpPSywgSSB3aWxsIHJlZHVjZSB0aGUgc3RlcHMuIEFuZCBJIHRoaW5rIHRoZSAibmV3
IGZpbGUiIGNhbiBiZSBjb21tb24vbnVtYS5jLg0KQmVjYXVzZSB0aGUgZ2VuZXJpY2FsbHkgdXNh
YmxlIGNvZGUgYXJlIHNvbWUgbG9naWNhbCBmdW5jdGlvbnMgdG8gY2hlY2sgbnVtYQ0KbWVtb3J5
IGJsb2Nrcy9yYW5nZXMgYW5kIHVwZGF0ZSBub2Rlcywgd2UgZG9uJ3QgbmVlZCBhICJudW1hX3Ny
YXQuYyIuDQoNCj4gPiAtLS0gYS94ZW4vYXJjaC94ODYvc3JhdC5jDQo+ID4gKysrIGIveGVuL2Fy
Y2gveDg2L3NyYXQuYw0KPiA+IEBAIC0xMDQsNiArMTA0LDE0IEBAIG5vZGVpZF90IHNldHVwX25v
ZGUodW5zaWduZWQgcHhtKQ0KPiA+ICAJcmV0dXJuIG5vZGU7DQo+ID4gIH0NCj4gPg0KPiA+ICti
b29sIF9faW5pdCBudW1hX21lbWJsa3NfYXZhaWxhYmxlKHZvaWQpDQo+ID4gK3sNCj4gPiArCWlm
IChudW1fbm9kZV9tZW1ibGtzIDwgTlJfTk9ERV9NRU1CTEtTKQ0KPiA+ICsJCXJldHVybiB0cnVl
Ow0KPiA+ICsNCj4gPiArCXJldHVybiBmYWxzZTsNCj4gPiArfQ0KPiANCj4gUGxlYXNlIGNhbiB5
b3UgYXZvaWQgZXhwcmVzc2luZyB0aGluZ3MgaW4gbW9yZSBjb21wbGV4IHRoYW4gbmVjZXNzYXJ5
DQo+IHdheXM/IEhlcmUgSSBkb24ndCBzZWUgd2h5IGl0IGNhbid0IGp1c3QgYmUNCg0KT0ssIEkg
d2lsbCBzaW1wbGlmeSBpdC4NCg0KPiANCj4gYm9vbCBfX2luaXQgbnVtYV9tZW1ibGtzX2F2YWls
YWJsZSh2b2lkKQ0KPiB7DQo+IAlyZXR1cm4gbnVtX25vZGVfbWVtYmxrcyA8IE5SX05PREVfTUVN
QkxLUzsNCj4gfQ0KPiANCj4gPiBAQCAtMzAxLDY5ICszMDksMzUgQEAgc3RhdGljIGJvb2wgX19p
bml0DQo+IGlzX25vZGVfbWVtb3J5X2NvbnRpbnVvdXMobm9kZWlkX3QgbmlkLA0KPiA+ICAJcmV0
dXJuIHRydWU7DQo+ID4gIH0NCj4gPg0KPiA+IC0vKiBDYWxsYmFjayBmb3IgcGFyc2luZyBvZiB0
aGUgUHJveGltaXR5IERvbWFpbiA8LT4gTWVtb3J5IEFyZWENCj4gbWFwcGluZ3MgKi8NCj4gPiAt
dm9pZCBfX2luaXQNCj4gPiAtYWNwaV9udW1hX21lbW9yeV9hZmZpbml0eV9pbml0KGNvbnN0IHN0
cnVjdCBhY3BpX3NyYXRfbWVtX2FmZmluaXR5ICptYSkNCj4gPiArLyogTmV1dHJhbCBOVU1BIG1l
bW9yeSBhZmZpbml0eSBpbml0IGZ1bmN0aW9uIGZvciBBQ1BJIGFuZCBEVCAqLw0KPiA+ICtpbnQg
X19pbml0IG51bWFfdXBkYXRlX25vZGVfbWVtYmxrcyhub2RlaWRfdCBub2RlLA0KPiA+ICsJCXBh
ZGRyX3Qgc3RhcnQsIHBhZGRyX3Qgc2l6ZSwgYm9vbCBob3RwbHVnKQ0KPiANCj4gSW5kZW50YXRp
b24uDQoNCk9LLg0KDQo+IA0KPiA+ICB7DQo+ID4gLQlwYWRkcl90IHN0YXJ0LCBlbmQ7DQo+ID4g
LQl1bnNpZ25lZCBweG07DQo+ID4gLQlub2RlaWRfdCBub2RlOw0KPiA+ICsJcGFkZHJfdCBlbmQg
PSBzdGFydCArIHNpemU7DQo+ID4gIAlpbnQgaTsNCj4gPg0KPiA+IC0JaWYgKHNyYXRfZGlzYWJs
ZWQoKSkNCj4gPiAtCQlyZXR1cm47DQo+ID4gLQlpZiAobWEtPmhlYWRlci5sZW5ndGggIT0gc2l6
ZW9mKHN0cnVjdCBhY3BpX3NyYXRfbWVtX2FmZmluaXR5KSkgew0KPiA+IC0JCWJhZF9zcmF0KCk7
DQo+ID4gLQkJcmV0dXJuOw0KPiA+IC0JfQ0KPiA+IC0JaWYgKCEobWEtPmZsYWdzICYgQUNQSV9T
UkFUX01FTV9FTkFCTEVEKSkNCj4gPiAtCQlyZXR1cm47DQo+ID4gLQ0KPiA+IC0Jc3RhcnQgPSBt
YS0+YmFzZV9hZGRyZXNzOw0KPiA+IC0JZW5kID0gc3RhcnQgKyBtYS0+bGVuZ3RoOw0KPiA+IC0J
LyogU3VwcGxlbWVudCB0aGUgaGV1cmlzdGljcyBpbiBsMXRmX2NhbGN1bGF0aW9ucygpLiAqLw0K
PiA+IC0JbDF0Zl9zYWZlX21hZGRyID0gbWF4KGwxdGZfc2FmZV9tYWRkciwgUk9VTkRVUChlbmQs
IFBBR0VfU0laRSkpOw0KPiA+IC0NCj4gPiAtCWlmIChudW1fbm9kZV9tZW1ibGtzID49IE5SX05P
REVfTUVNQkxLUykNCj4gPiAtCXsNCj4gPiAtCQlkcHJpbnRrKFhFTkxPR19XQVJOSU5HLA0KPiA+
IC0gICAgICAgICAgICAgICAgIlRvbyBtYW55IG51bWEgZW50cnksIHRyeSBiaWdnZXIgTlJfTk9E
RV9NRU1CTEtTIFxuIik7DQo+ID4gLQkJYmFkX3NyYXQoKTsNCj4gPiAtCQlyZXR1cm47DQo+ID4g
LQl9DQo+ID4gLQ0KPiA+IC0JcHhtID0gbWEtPnByb3hpbWl0eV9kb21haW47DQo+ID4gLQlpZiAo
c3JhdF9yZXYgPCAyKQ0KPiA+IC0JCXB4bSAmPSAweGZmOw0KPiA+IC0Jbm9kZSA9IHNldHVwX25v
ZGUocHhtKTsNCj4gPiAtCWlmIChub2RlID09IE5VTUFfTk9fTk9ERSkgew0KPiA+IC0JCWJhZF9z
cmF0KCk7DQo+ID4gLQkJcmV0dXJuOw0KPiA+IC0JfQ0KPiA+IC0JLyogSXQgaXMgZmluZSB0byBh
ZGQgdGhpcyBhcmVhIHRvIHRoZSBub2RlcyBkYXRhIGl0IHdpbGwgYmUgdXNlZA0KPiBsYXRlciov
DQo+ID4gKwkvKiBJdCBpcyBmaW5lIHRvIGFkZCB0aGlzIGFyZWEgdG8gdGhlIG5vZGVzIGRhdGEg
aXQgd2lsbCBiZSB1c2VkDQo+IGxhdGVyICovDQo+ID4gIAlpID0gY29uZmxpY3RpbmdfbWVtYmxr
cyhzdGFydCwgZW5kKTsNCj4gPiAgCWlmIChpIDwgMCkNCj4gPiAgCQkvKiBldmVyeXRoaW5nIGZp
bmUgKi87DQo+ID4gIAllbHNlIGlmIChtZW1ibGtfbm9kZWlkW2ldID09IG5vZGUpIHsNCj4gPiAt
CQlib29sIG1pc21hdGNoID0gIShtYS0+ZmxhZ3MgJiBBQ1BJX1NSQVRfTUVNX0hPVF9QTFVHR0FC
TEUpICE9DQo+ID4gLQkJICAgICAgICAgICAgICAgICF0ZXN0X2JpdChpLCBtZW1ibGtfaG90cGx1
Zyk7DQo+ID4gKwkJYm9vbCBtaXNtYXRjaCA9ICFob3RwbHVnICE9ICF0ZXN0X2JpdChpLCBtZW1i
bGtfaG90cGx1Zyk7DQo+ID4NCj4gPiAtCQlwcmludGsoIiVzU1JBVDogUFhNICV1ICglIlBSSXBh
ZGRyIi0lIlBSSXBhZGRyIikgb3ZlcmxhcHMgd2l0aA0KPiBpdHNlbGYgKCUiUFJJcGFkZHIiLSUi
UFJJcGFkZHIiKVxuIiwNCj4gPiAtCQkgICAgICAgbWlzbWF0Y2ggPyBLRVJOX0VSUiA6IEtFUk5f
V0FSTklORywgcHhtLCBzdGFydCwgZW5kLA0KPiA+ICsJCXByaW50aygiJXNTUkFUOiBOT0RFICV1
ICglIlBSSXBhZGRyIi0lIlBSSXBhZGRyIikgb3ZlcmxhcHMNCj4gd2l0aCBpdHNlbGYgKCUiUFJJ
cGFkZHIiLSUiUFJJcGFkZHIiKVxuIiwNCj4gDQo+IE5pdDogVW5saWtlIFBYTSwgd2hpY2ggaXMg
YW4gYWNyb255bSwgIm5vZGUiIGRvZXNuJ3Qgd2FudCB0byBiZSBhbGwgdXBwZXINCj4gY2FzZS4N
Cj4gDQoNCk9LLg0KDQo+IEFsc28gZGlkIHlvdSBjaGVjayB0aGF0IHRoZSBub2RlIDwtPiBQWE0g
YXNzb2NpYXRpb24gaXMga25vd24gdG8gYSByZWFkZXINCj4gb2YgYSBsb2cgYXQgdGhpcyBwb2lu
dCBpbiB0aW1lPw0KPiANCg0KWWVzLCBJIHJlYWQgeW91ciBjb21tZW50IGJlbG93LiBUaGUgb3Jp
Z2luYWwgbG9nIGNvbnRhaW5zIG5vZGUgPC0+IFBYTSBtYXBwaW5nLg0KQmVjYXVzZSBQWE0gaXMg
QUNQSSBzcGVjaWZpYywgSSB0aGluayBpbiBuZXV0cmFsIGNvZGUsIHdlIGp1c3QgbmVlZCBub2Rl
IGluDQpsb2cuIEJ1dCB0aGlzIGNoYW5nZSByZW1vdmVkIHRoZSBsb2cgb2Ygbm9kZSA8LT4gUFhN
IGFzc29jaWF0aW9uLCBpdCB3YXMgbXkNCm1pc3Rha2UuIEkgd2lsbCBhZGQgdGhlbSBiYWNrIGlu
IG5leHQgdmVyc2lvbi4gQnV0IEkgZG9uJ3QgdGhpbmsgdGhleSB3aWxsIHN0YXkgaW4NCm5ldXRh
bCBjb2RlLCBpdCB3b3VsZCBiZSBpbiBBQ1BJIHNwZWNpZmljIGNvZGUuDQoNCkkgYWxzbyBoYWQg
d2FudGVkIHRvIGtlZXAgUFhNIDwtPiBub2RlIG1hcHBpbmcgaW4gdGhlIGxvZywgc28gSSBzZXQg
dXAgUFhNIHRvDQpub2RlIDEtMSBtYXBwaW5nIGZvciB0aGUgZGV2aWNlIHRyZWUuIEJ1dCB0aGVu
IEkgdGhvdWdodCBpdCB3YXMgYW4gdW5uZWNlc3NhcnkNCmJ1cmRlbiBvbiB0aGUgZGV2aWNlIHRy
ZWUsIHNvIEkgc2VsZWN0ZWQgdG8gcmVtb3ZlIFBYTSBpbiBsb2cuICANCg0KPiA+ICsJCSAgICAg
ICBtaXNtYXRjaCA/IEtFUk5fRVJSIDogS0VSTl9XQVJOSU5HLCBub2RlLCBzdGFydCwgZW5kLA0K
PiA+ICAJCSAgICAgICBub2RlX21lbWJsa19yYW5nZVtpXS5zdGFydCwgbm9kZV9tZW1ibGtfcmFu
Z2VbaV0uZW5kKTsNCj4gPiAgCQlpZiAobWlzbWF0Y2gpIHsNCj4gPiAtCQkJYmFkX3NyYXQoKTsN
Cj4gPiAtCQkJcmV0dXJuOw0KPiA+ICsJCQlyZXR1cm4gLTE7DQo+ID4gIAkJfQ0KPiA+ICAJfSBl
bHNlIHsNCj4gPiAgCQlwcmludGsoS0VSTl9FUlINCj4gPiAtCQkgICAgICAgIlNSQVQ6IFBYTSAl
dSAoJSJQUklwYWRkciItJSJQUklwYWRkciIpIG92ZXJsYXBzIHdpdGgNCj4gUFhNICV1ICglIlBS
SXBhZGRyIi0lIlBSSXBhZGRyIilcbiIsDQo+ID4gLQkJICAgICAgIHB4bSwgc3RhcnQsIGVuZCwg
bm9kZV90b19weG0obWVtYmxrX25vZGVpZFtpXSksDQo+ID4gKwkJICAgICAgICJTUkFUOiBOT0RF
ICV1ICglIlBSSXBhZGRyIi0lIlBSSXBhZGRyIikgb3ZlcmxhcHMgd2l0aA0KPiBOT0RFICV1ICgl
IlBSSXBhZGRyIi0lIlBSSXBhZGRyIilcbiIsDQo+ID4gKwkJICAgICAgIG5vZGUsIHN0YXJ0LCBl
bmQsIG1lbWJsa19ub2RlaWRbaV0sDQo+ID4gIAkJICAgICAgIG5vZGVfbWVtYmxrX3JhbmdlW2ld
LnN0YXJ0LCBub2RlX21lbWJsa19yYW5nZVtpXS5lbmQpOw0KPiA+IC0JCWJhZF9zcmF0KCk7DQo+
ID4gLQkJcmV0dXJuOw0KPiA+ICsJCXJldHVybiAtMTsNCj4gDQo+IFBsZWFzZSBubyAtMSByZXR1
cm4gdmFsdWVzLiBFaXRoZXIgYSBmdW5jdGlvbiBtZWFucyB0byByZXR1cm4gYm9vbGVhbiwNCj4g
aW4gd2hpY2ggY2FzZSBpdCBzaG91bGQgdXNlIGJvb2wgLyB0cnVlIC8gZmFsc2UsIG9yIGl0IG1l
YW5zIHRvIHJldHVybg0KPiBhIHByb3BlciBlcnJuby1zdHlsZSBlcnJvciBjb2RlLg0KPiANCg0K
T2ssIEkgd2lsbCBkbyBpdC4NCg0KPiA+IEBAIC0zNzUsMjYgKzM0OSw2OSBAQCBhY3BpX251bWFf
bWVtb3J5X2FmZmluaXR5X2luaXQoY29uc3Qgc3RydWN0DQo+IGFjcGlfc3JhdF9tZW1fYWZmaW5p
dHkgKm1hKQ0KPiA+ICAJCQlpZiAobmQtPmVuZCA8IGVuZCkNCj4gPiAgCQkJCW5kLT5lbmQgPSBl
bmQ7DQo+ID4NCj4gPiAtCQkJLyogQ2hlY2sgd2hldGhlciB0aGlzIHJhbmdlIGNvbnRhaW5zIG1l
bW9yeSBmb3Igb3RoZXINCj4gbm9kZXMgKi8NCj4gPiAtCQkJaWYgKCFpc19ub2RlX21lbW9yeV9j
b250aW51b3VzKG5vZGUsIG5kLT5zdGFydCwgbmQtPmVuZCkpDQo+IHsNCj4gPiAtCQkJCWJhZF9z
cmF0KCk7DQo+ID4gLQkJCQlyZXR1cm47DQo+ID4gLQkJCX0NCj4gPiArCQkJaWYgKCFpc19ub2Rl
X21lbW9yeV9jb250aW51b3VzKG5vZGUsIG5kLT5zdGFydCwgbmQtPmVuZCkpDQo+ID4gKwkJCQly
ZXR1cm4gLTE7DQo+ID4gIAkJfQ0KPiA+ICAJfQ0KPiA+IC0JcHJpbnRrKEtFUk5fSU5GTyAiU1JB
VDogTm9kZSAldSBQWE0gJXUgJSJQUklwYWRkciItJSJQUklwYWRkciIlc1xuIiwNCj4gPiAtCSAg
ICAgICBub2RlLCBweG0sIHN0YXJ0LCBlbmQsDQo+ID4gLQkgICAgICAgbWEtPmZsYWdzICYgQUNQ
SV9TUkFUX01FTV9IT1RfUExVR0dBQkxFID8gIiAoaG90cGx1ZykiIDogIiIpOw0KPiA+ICsNCj4g
PiArCXByaW50ayhLRVJOX0lORk8gIlNSQVQ6IE5vZGUgJXUgJSJQUklwYWRkciItJSJQUklwYWRk
ciIlc1xuIiwNCj4gPiArCSAgICAgICBub2RlLCBzdGFydCwgZW5kLCBob3RwbHVnID8gIiAoaG90
cGx1ZykiIDogIiIpOw0KPiANCj4gQ29udGludWluZyBmcm9tIGEgY29tbWVudCBmdXJ0aGVyIHVw
OiBIZXJlIHlvdSByZW1vdmUgYW4gaW5zdGFuY2Ugb2YNCj4gbG9nZ2luZyB0aGUgbm9kZSA8LT4g
UFhNIGFzc29jaWF0aW9uLg0KPiANCg0Kc2VlIG15IGFib3ZlIGNvbW1lbnRzLg0KDQo+ID4gIAlu
b2RlX21lbWJsa19yYW5nZVtudW1fbm9kZV9tZW1ibGtzXS5zdGFydCA9IHN0YXJ0Ow0KPiA+ICAJ
bm9kZV9tZW1ibGtfcmFuZ2VbbnVtX25vZGVfbWVtYmxrc10uZW5kID0gZW5kOw0KPiA+ICAJbWVt
YmxrX25vZGVpZFtudW1fbm9kZV9tZW1ibGtzXSA9IG5vZGU7DQo+ID4gLQlpZiAobWEtPmZsYWdz
ICYgQUNQSV9TUkFUX01FTV9IT1RfUExVR0dBQkxFKSB7DQo+ID4gKwlpZiAoaG90cGx1Zykgew0K
PiA+ICAJCV9fc2V0X2JpdChudW1fbm9kZV9tZW1ibGtzLCBtZW1ibGtfaG90cGx1Zyk7DQo+ID4g
IAkJaWYgKGVuZCA+IG1lbV9ob3RwbHVnX2JvdW5kYXJ5KCkpDQo+ID4gIAkJCW1lbV9ob3RwbHVn
X3VwZGF0ZV9ib3VuZGFyeShlbmQpOw0KPiA+ICAJfQ0KPiA+ICAJbnVtX25vZGVfbWVtYmxrcysr
Ow0KPiA+ICsNCj4gPiArCXJldHVybiAwOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICsvKiBDYWxsYmFj
ayBmb3IgcGFyc2luZyBvZiB0aGUgUHJveGltaXR5IERvbWFpbiA8LT4gTWVtb3J5IEFyZWENCj4g
bWFwcGluZ3MgKi8NCj4gPiArdm9pZCBfX2luaXQNCj4gPiArYWNwaV9udW1hX21lbW9yeV9hZmZp
bml0eV9pbml0KGNvbnN0IHN0cnVjdCBhY3BpX3NyYXRfbWVtX2FmZmluaXR5ICptYSkNCj4gPiAr
ew0KPiA+ICsJdW5zaWduZWQgcHhtOw0KPiA+ICsJbm9kZWlkX3Qgbm9kZTsNCj4gPiArCWludCBy
ZXQ7DQo+ID4gKw0KPiA+ICsJaWYgKHNyYXRfZGlzYWJsZWQoKSkNCj4gPiArCQlyZXR1cm47DQo+
ID4gKwlpZiAobWEtPmhlYWRlci5sZW5ndGggIT0gc2l6ZW9mKHN0cnVjdCBhY3BpX3NyYXRfbWVt
X2FmZmluaXR5KSkgew0KPiA+ICsJCWJhZF9zcmF0KCk7DQo+ID4gKwkJcmV0dXJuOw0KPiA+ICsJ
fQ0KPiA+ICsJaWYgKCEobWEtPmZsYWdzICYgQUNQSV9TUkFUX01FTV9FTkFCTEVEKSkNCj4gPiAr
CQlyZXR1cm47DQo+ID4gKw0KPiA+ICsJLyogU3VwcGxlbWVudCB0aGUgaGV1cmlzdGljcyBpbiBs
MXRmX2NhbGN1bGF0aW9ucygpLiAqLw0KPiA+ICsJbDF0Zl9zYWZlX21hZGRyID0gbWF4KGwxdGZf
c2FmZV9tYWRkciwNCj4gPiArCQkJUk9VTkRVUCgobWEtPmJhc2VfYWRkcmVzcyArIG1hLT5sZW5n
dGgpLCBQQUdFX1NJWkUpKTsNCj4gDQo+IEluZGVudGF0aW9uIGFuZCB1bm5lY2Vzc2FyeSBwYWly
IG9mIHBhcmVudGhlc2VzLg0KPiANCg0KT0suDQoNCj4gPiArCWlmICghbnVtYV9tZW1ibGtzX2F2
YWlsYWJsZSgpKQ0KPiA+ICsJew0KPiANCj4gRm9yIGNvZGUgeW91IHRvdWNoLCBwbGVhc2UgdHJ5
IHRvIGJyaW5nIGl0IGludG8gY29uc2lzdGVudCBzdHlsZS4gSGVyZQ0KPiB0aGUgYnJhY2Ugd2Fu
dHMgdG8gbW92ZSB0byB0aGUgcHJldmlvdXMgbGluZSwgc2VlaW5nIHRoYXQgdGhlIGZpbGUgaXMN
Cj4gdXNpbmcgTGludXggc3R5bGUuDQo+IA0KDQpPSy4NCg0KPiA+ICsJCWRwcmludGsoWEVOTE9H
X1dBUk5JTkcsDQo+ID4gKyAgICAgICAgICAgICAgICAiVG9vIG1hbnkgbnVtYSBlbnRyeSwgdHJ5
IGJpZ2dlciBOUl9OT0RFX01FTUJMS1MgXG4iKTsNCj4gDQo+IEhlcmUgeW91IHdhbnQgdG8gZml4
IGluZGVudGF0aW9uIGFuZCBpZGVhbGx5IGFsc28gZm9ybWF0IGFuZCBncmFtbWFyIG9mDQo+IHRo
ZSBhY3R1YWwgbG9nIG1lc3NhZ2UuDQo+IA0KDQpJIHdpbGwgZml4IGl0LCB0aGFua3MuDQoNCj4g
PiArCQliYWRfc3JhdCgpOw0KPiA+ICsJCXJldHVybjsNCj4gPiArCX0NCj4gPiArDQo+ID4gKwlw
eG0gPSBtYS0+cHJveGltaXR5X2RvbWFpbjsNCj4gPiArCWlmIChzcmF0X3JldiA8IDIpDQo+ID4g
KwkJcHhtICY9IDB4ZmY7DQo+ID4gKwlub2RlID0gc2V0dXBfbm9kZShweG0pOw0KPiA+ICsJaWYg
KG5vZGUgPT0gTlVNQV9OT19OT0RFKSB7DQo+ID4gKwkJYmFkX3NyYXQoKTsNCj4gPiArCQlyZXR1
cm47DQo+ID4gKwl9DQo+ID4gKw0KPiA+ICsJcmV0ID0gbnVtYV91cGRhdGVfbm9kZV9tZW1ibGtz
KG5vZGUsIG1hLT5iYXNlX2FkZHJlc3MsIG1hLT5sZW5ndGgsDQo+ID4gKwkJCQkJbWEtPmZsYWdz
ICYgQUNQSV9TUkFUX01FTV9IT1RfUExVR0dBQkxFKTsNCj4gDQo+IEluZGVudGF0aW9uIGFnYWlu
Lg0KDQpPay4NCg0KPiANCj4gSmFuDQoNCg==


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 10:41:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 10:41:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260784.450860 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCfk8-0003sU-Jq; Wed, 26 Jan 2022 10:41:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260784.450860; Wed, 26 Jan 2022 10:41:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCfk8-0003sN-Gg; Wed, 26 Jan 2022 10:41:36 +0000
Received: by outflank-mailman (input) for mailman id 260784;
 Wed, 26 Jan 2022 10:41:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nCfk6-0003sD-Ui; Wed, 26 Jan 2022 10:41:34 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nCfk6-0008Ak-To; Wed, 26 Jan 2022 10:41: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 1nCfk6-0000Ox-Fl; Wed, 26 Jan 2022 10:41:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nCfk6-0007dA-FH; Wed, 26 Jan 2022 10:41:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=DN5K3dEWXfxyFJsG8oVHo01UkwscKcfkri4938n0pqg=; b=0LihzW0U742ghUQ+8c+2hkyYlf
	OK9WX7vOG83qOZAqqQxsuUtMSNXymZ+YQCjbXVYAxEmS9ZOb7u95Nh3sTKzOi10Do9L1jYWN0vYvL
	7986YJT8G4c/XbAoBr2WlzLVZ36DQpOgzAdV3jFdjlLsQo8LtrfLNx35byS/sfWJXZF8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167855-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-coverity test] 167855: all pass - PUSHED
X-Osstest-Versions-This:
    xen=9480a1a519cf016623f657dc544cb372a82b5708
X-Osstest-Versions-That:
    xen=fe9be76d880b1d43b9dca471f45af3fd380ecb00
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 26 Jan 2022 10:41:34 +0000

flight 167855 xen-unstable-coverity real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167855/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 xen                  9480a1a519cf016623f657dc544cb372a82b5708
baseline version:
 xen                  fe9be76d880b1d43b9dca471f45af3fd380ecb00

Last test of basis   167798  2022-01-23 09:19:41 Z    3 days
Testing same since   167855  2022-01-26 09:18:33 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@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
   fe9be76d88..9480a1a519  9480a1a519cf016623f657dc544cb372a82b5708 -> coverity-tested/smoke


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 10:51:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 10:51:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260793.450877 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCftK-0005UO-Lm; Wed, 26 Jan 2022 10:51:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260793.450877; Wed, 26 Jan 2022 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 1nCftK-0005UH-Ij; Wed, 26 Jan 2022 10:51:06 +0000
Received: by outflank-mailman (input) for mailman id 260793;
 Wed, 26 Jan 2022 10:51:05 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nCftJ-0005U7-CO; Wed, 26 Jan 2022 10:51:05 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nCftJ-0008Kr-6X; Wed, 26 Jan 2022 10:51: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 1nCftI-0000kb-Ql; Wed, 26 Jan 2022 10:51:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nCftI-0003uc-QL; Wed, 26 Jan 2022 10:51:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=gdVa/RiAruNBMSmZxsBDScqDKuBwFw1gv+y57GwVAxg=; b=kEYPOeOm16GI78zfUowf52JZh4
	VZhn1wdAhj4QevlBuGxIxZJcBFao5jQ2o9wq9Fa8xjXdQ8XYOdubJoKb3Wd8xSWLU9i5zaTEIaY7A
	q8Eo+6mRZt4qB4QzEQ0epObId+hPK0DJNSK+R0RLLbZfExhgj0WvBTdUu00feO11jUOU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167822-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.14-testing test] 167822: regressions - FAIL
X-Osstest-Failures:
    xen-4.14-testing:build-amd64:xen-build:fail:regression
    xen-4.14-testing:build-amd64-xsm:xen-build:fail:regression
    xen-4.14-testing:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:heisenbug
    xen-4.14-testing:test-amd64-i386-qemuu-rhel6hvm-amd:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-qemuu-rhel6hvm-intel:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-pvshim:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-shadow:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:build-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-livepatch:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-migrupgrade:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-coresched-i386-xl:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-freebsd10-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-freebsd10-i386:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-livepatch:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-migrupgrade:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-pair:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-qemut-rhel6hvm-amd:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-qemut-rhel6hvm-intel:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-xtf-amd64-amd64-1:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-xtf-amd64-amd64-2:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-xtf-amd64-amd64-3:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-xtf-amd64-amd64-4:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-xtf-amd64-amd64-5:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-qcow2: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-credit2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-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-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-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-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-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-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-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: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-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-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=50935b88b4cd7f9cefe9eb2ffc5150d06c501d05
X-Osstest-Versions-That:
    xen=45299b3cc83d3d19c24d74f7e28dcc83e8fa0c2e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 26 Jan 2022 10:51:04 +0000

flight 167822 xen-4.14-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167822/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   6 xen-build                fail REGR. vs. 167629
 build-amd64-xsm               6 xen-build                fail REGR. vs. 167629

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat  fail pass in 167812

Tests which did not succeed, but are not blocking:
 test-amd64-i386-qemuu-rhel6hvm-amd  1 build-check(1)               blocked n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 build-check(1)             blocked n/a
 test-amd64-i386-xl            1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-pvshim     1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemut-debianhvm-amd64  1 build-check(1)         blocked n/a
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm  1 build-check(1)      blocked n/a
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-xl-qemut-win7-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemut-ws16-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-amd64  1 build-check(1)         blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1)  blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm  1 build-check(1)      blocked n/a
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked n/a
 test-amd64-i386-xl-qemuu-ws16-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-shadow     1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-vhd        1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-xsm        1 build-check(1)               blocked  n/a
 test-amd64-coresched-amd64-xl  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-xsm       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-shadow    1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-rtds      1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-ws16-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  1 build-check(1)     blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)        blocked n/a
 test-amd64-amd64-xl-qemut-ws16-amd64  1 build-check(1)             blocked n/a
 build-amd64-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  1 build-check(1)     blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-amd64  1 build-check(1)        blocked n/a
 test-amd64-amd64-xl-qcow2     1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvshim    1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit2   1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit1   1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-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-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-livepatch    1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-intel  1 build-check(1)              blocked n/a
 test-amd64-amd64-migrupgrade  1 build-check(1)               blocked  n/a
 test-amd64-amd64-pair         1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-pygrub       1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-freebsd11-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-qemuu-freebsd12-amd64  1 build-check(1)           blocked n/a
 test-amd64-i386-xl-qemuu-win7-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemuu-ovmf-amd64  1 build-check(1)              blocked n/a
 test-amd64-coresched-i386-xl  1 build-check(1)               blocked  n/a
 test-amd64-i386-freebsd10-amd64  1 build-check(1)               blocked  n/a
 test-amd64-i386-freebsd10-i386  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-livepatch     1 build-check(1)               blocked  n/a
 test-amd64-i386-migrupgrade   1 build-check(1)               blocked  n/a
 test-amd64-i386-pair          1 build-check(1)               blocked  n/a
 test-amd64-i386-qemut-rhel6hvm-amd  1 build-check(1)               blocked n/a
 test-amd64-i386-qemut-rhel6hvm-intel  1 build-check(1)             blocked n/a
 test-xtf-amd64-amd64-1        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-2        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-3        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-4        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-5        1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167629
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167629
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167629
 test-arm64-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-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  50935b88b4cd7f9cefe9eb2ffc5150d06c501d05
baseline version:
 xen                  45299b3cc83d3d19c24d74f7e28dcc83e8fa0c2e

Last test of basis   167629  2022-01-07 08:11:06 Z   19 days
Testing same since   167812  2022-01-25 13:06:26 Z    0 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>

jobs:
 build-amd64-xsm                                              fail    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  fail    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          blocked 
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       blocked 
 test-xtf-amd64-amd64-2                                       blocked 
 test-xtf-amd64-amd64-3                                       blocked 
 test-xtf-amd64-amd64-4                                       blocked 
 test-xtf-amd64-amd64-5                                       blocked 
 test-amd64-amd64-xl                                          blocked 
 test-amd64-coresched-amd64-xl                                blocked 
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           blocked 
 test-amd64-coresched-i386-xl                                 blocked 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        blocked 
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         blocked 
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 blocked 
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 blocked 
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      blocked 
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       blocked 
 test-amd64-amd64-qemuu-nested-amd                            blocked 
 test-amd64-amd64-xl-pvhv2-amd                                blocked 
 test-amd64-i386-qemut-rhel6hvm-amd                           blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-dom0pvh-xl-amd                              blocked 
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    blocked 
 test-amd64-i386-xl-qemut-debianhvm-amd64                     blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    blocked 
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     blocked 
 test-amd64-i386-freebsd10-amd64                              blocked 
 test-amd64-amd64-qemuu-freebsd11-amd64                       blocked 
 test-amd64-amd64-qemuu-freebsd12-amd64                       blocked 
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         blocked 
 test-amd64-i386-xl-qemuu-ovmf-amd64                          blocked 
 test-amd64-amd64-xl-qemut-win7-amd64                         blocked 
 test-amd64-i386-xl-qemut-win7-amd64                          blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-i386-xl-qemuu-win7-amd64                          blocked 
 test-amd64-amd64-xl-qemut-ws16-amd64                         blocked 
 test-amd64-i386-xl-qemut-ws16-amd64                          blocked 
 test-amd64-amd64-xl-qemuu-ws16-amd64                         blocked 
 test-amd64-i386-xl-qemuu-ws16-amd64                          blocked 
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  blocked 
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  blocked 
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        blocked 
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         blocked 
 test-amd64-i386-freebsd10-i386                               blocked 
 test-amd64-amd64-qemuu-nested-intel                          blocked 
 test-amd64-amd64-xl-pvhv2-intel                              blocked 
 test-amd64-i386-qemut-rhel6hvm-intel                         blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-amd64-dom0pvh-xl-intel                            blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   blocked 
 test-amd64-i386-livepatch                                    blocked 
 test-amd64-amd64-migrupgrade                                 blocked 
 test-amd64-i386-migrupgrade                                  blocked 
 test-amd64-amd64-xl-multivcpu                                blocked 
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        blocked 
 test-amd64-i386-pair                                         blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   blocked 
 test-amd64-i386-xl-pvshim                                    blocked 
 test-amd64-amd64-pygrub                                      blocked 
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    blocked 
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     blocked 
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             blocked 
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              blocked 
 test-amd64-amd64-xl-shadow                                   blocked 
 test-amd64-i386-xl-shadow                                    blocked 
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 50935b88b4cd7f9cefe9eb2ffc5150d06c501d05
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Tue Jan 25 13:53:14 2022 +0100

    x86/spec-ctrl: Fix NMI race condition with VT-x MSR_SPEC_CTRL handling
    
    The logic was based on a mistaken understanding of how NMI blocking on vmexit
    works.  NMIs are only blocked for EXIT_REASON_NMI, and not for general exits.
    Therefore, an NMI can in general hit early in the vmx_asm_vmexit_handler path,
    and the guest's value will be clobbered before it is saved.
    
    Switch to using MSR load/save lists.  This causes the guest value to be saved
    atomically with respect to NMIs/MCEs/etc.
    
    First, update vmx_cpuid_policy_changed() to configure the load/save lists at
    the same time as configuring the intercepts.  This function is always used in
    remote context, so extend the vmx_vmcs_{enter,exit}() block to cover the whole
    function, rather than having multiple remote acquisitions of the same VMCS.
    
    Both of vmx_{add,del}_guest_msr() can fail.  The -ESRCH delete case is fine,
    but all others are fatal to the running of the VM, so handle them using
    domain_crash() - this path is only used during domain construction anyway.
    
    Second, update vmx_{get,set}_reg() to use the MSR load/save lists rather than
    vcpu_msrs, and update the vcpu_msrs comment to describe the new state
    location.
    
    Finally, adjust the entry/exit asm.
    
    Because the guest value is saved and loaded atomically, we do not need to
    manually load the guest value, nor do we need to enable SCF_use_shadow.  This
    lets us remove the use of DO_SPEC_CTRL_EXIT_TO_GUEST.  Additionally,
    SPEC_CTRL_ENTRY_FROM_PV gets removed too, because on an early entry failure,
    we're no longer in the guest MSR_SPEC_CTRL context needing to switch back to
    Xen's context.
    
    The only action remaining is to load Xen's MSR_SPEC_CTRL value on vmexit.  We
    could in principle use the host msr list, but is expected to complicated
    future work.  Delete DO_SPEC_CTRL_ENTRY_FROM_HVM entirely, and use a shorter
    code sequence to simply reload Xen's setting from the top-of-stack block.
    
    Adjust the comment at the top of spec_ctrl_asm.h in light of this bugfix.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 81f0eaadf84d273a6ff8df3660b874a02d0e7677
    master date: 2022-01-20 16:32:11 +0000

commit dbfc6ba03ae091b4d42893dc7133b8c587204d2e
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Tue Jan 25 13:52:56 2022 +0100

    x86/spec-ctrl: Drop SPEC_CTRL_{ENTRY_FROM,EXIT_TO}_HVM
    
    These were written before Spectre/Meltdown went public, and there was large
    uncertainty in how the protections would evolve.  As it turns out, they're
    very specific to Intel hardware, and not very suitable for AMD.
    
    Drop the macros, opencoding the relevant subset of functionality, and leaving
    grep-fodder to locate the logic.  No change at all for VT-x.
    
    For AMD, the only relevant piece of functionality is DO_OVERWRITE_RSB,
    although we will soon be adding (different) logic to handle MSR_SPEC_CTRL.
    
    This has a marginal improvement of removing an unconditional pile of long-nops
    from the vmentry/exit path.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 95b13fa43e0753b7514bef13abe28253e8614f62
    master date: 2022-01-20 16:32:11 +0000

commit 4e25a788d000e57c4d04fdd33c209d7173420580
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Tue Jan 25 13:52:30 2022 +0100

    x86/msr: Split MSR_SPEC_CTRL handling
    
    In order to fix a VT-x bug, and support MSR_SPEC_CTRL on AMD, move
    MSR_SPEC_CTRL handling into the new {pv,hvm}_{get,set}_reg() infrastructure.
    
    Duplicate the msrs->spec_ctrl.raw accesses in the PV and VT-x paths for now.
    The SVM path is currently unreachable because of the CPUID policy.
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 6536688439dbca1d08fd6db5be29c39e3917fb2f
    master date: 2022-01-20 16:32:11 +0000

commit c45c2c2e09295ef3008a79d78673af0819ff4e4f
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Tue Jan 25 13:52:07 2022 +0100

    x86/guest: Introduce {get,set}_reg() infrastructure
    
    Various registers have per-guest-type or per-vendor locations or access
    requirements.  To support their use from common code, provide accessors which
    allow for per-guest-type behaviour.
    
    For now, just infrastructure handling default cases and expectations.
    Subsequent patches will start handling registers using this infrastructure.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 88d3ff7ab15da277a85b39735797293fb541c718
    master date: 2022-01-20 16:32:11 +0000

commit 0f88870898ae82aa9e7d0e6d1391e598a4aa7af7
Author: Jan Beulich <jbeulich@suse.com>
Date:   Tue Jan 25 13:51:49 2022 +0100

    x86/time: improve TSC / CPU freq calibration accuracy
    
    While the problem report was for extreme errors, even smaller ones would
    better be avoided: The calculated period to run calibration loops over
    can (and usually will) be shorter than the actual time elapsed between
    first and last platform timer and TSC reads. Adjust values returned from
    the init functions accordingly.
    
    On a Skylake system I've tested this on accuracy (using HPET) went from
    detecting in some cases more than 220kHz too high a value to about
    ±2kHz. On other systems (or on this system, but with PMTMR) the original
    error range was much smaller, with less (in some cases only very little)
    improvement.
    
    Reported-by: James Dingwall <james-xen@dingwall.me.uk>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: a5c9a80af34eefcd6e31d0ed2b083f452cd9076d
    master date: 2022-01-13 14:31:52 +0100

commit 6b776749ff7e45c30696235dbb4ecd2b53401cff
Author: Jan Beulich <jbeulich@suse.com>
Date:   Tue Jan 25 13:51:36 2022 +0100

    x86/time: use relative counts in calibration loops
    
    Looping until reaching/exceeding a certain value is error prone: If the
    target value is close enough to the wrapping point, the loop may not
    terminate at all. Switch to using delta values, which then allows to
    fold the two loops each into just one.
    
    Fixes: 93340297802b ("x86/time: calibrate TSC against platform timer")
    Reported-by: Roger Pau Monné <roger.pau@citrix.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 467191641d2a2fd2e43b3ae7b80399f89d339980
    master date: 2022-01-13 14:30:18 +0100

commit 5af939d96a6c7c5a0b4e00f7be3002333959e7e3
Author: Julien Grall <jgrall@amazon.com>
Date:   Tue Jan 25 13:49:40 2022 +0100

    passthrough/x86: stop pirq iteration immediately in case of error
    
    pt_pirq_iterate() will iterate in batch over all the PIRQs. The outer
    loop will bail out if 'rc' is non-zero but the inner loop will continue.
    
    This means 'rc' will get clobbered and we may miss any errors (such as
    -ERESTART in the case of the callback pci_clean_dpci_irq()).
    
    This is CVE-2022-23035 / XSA-395.
    
    Fixes: c24536b636f2 ("replace d->nr_pirqs sized arrays with radix tree")
    Fixes: f6dd295381f4 ("dpci: replace tasklet with softirq")
    Signed-off-by: Julien Grall <jgrall@amazon.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 9480a1a519cf016623f657dc544cb372a82b5708
    master date: 2022-01-25 13:27:02 +0100

commit dbd85c0a8264aa2cd9b011a189ac8b1d90297d80
Author: Julien Grall <jgrall@amazon.com>
Date:   Tue Jan 25 13:49:26 2022 +0100

    xen/grant-table: Only decrement the refcounter when grant is fully unmapped
    
    The grant unmapping hypercall (GNTTABOP_unmap_grant_ref) is not a
    simple revert of the changes done by the grant mapping hypercall
    (GNTTABOP_map_grant_ref).
    
    Instead, it is possible to partially (or even not) clear some flags.
    This will leave the grant is mapped until a future call where all
    the flags would be cleared.
    
    XSA-380 introduced a refcounting that is meant to only be dropped
    when the grant is fully unmapped. Unfortunately, unmap_common() will
    decrement the refcount for every successful call.
    
    A consequence is a domain would be able to underflow the refcount
    and trigger a BUG().
    
    Looking at the code, it is not clear to me why a domain would
    want to partially clear some flags in the grant-table. But as
    this is part of the ABI, it is better to not change the behavior
    for now.
    
    Fix it by checking if the maptrack handle has been released before
    decrementing the refcounting.
    
    This is CVE-2022-23034 / XSA-394.
    
    Fixes: 9781b51efde2 ("gnttab: replace mapkind()")
    Signed-off-by: Julien Grall <jgrall@amazon.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 975a8fb45ca186b3476e5656c6ad5dad1122dbfd
    master date: 2022-01-25 13:25:49 +0100

commit 861e27398c1da53e1c483c5dde12ad019ced6786
Author: Julien Grall <jgrall@amazon.com>
Date:   Tue Jan 25 13:49:06 2022 +0100

    xen/arm: p2m: Always clear the P2M entry when the mapping is removed
    
    Commit 2148a125b73b ("xen/arm: Track page accessed between batch of
    Set/Way operations") allowed an entry to be invalid from the CPU PoV
    (lpae_is_valid()) but valid for Xen (p2m_is_valid()). This is useful
    to track which page is accessed and only perform an action on them
    (e.g. clean & invalidate the cache after a set/way instruction).
    
    Unfortunately, __p2m_set_entry() is only zeroing the P2M entry when
    lpae_is_valid() returns true. This means the entry will not be zeroed
    if the entry was valid from Xen PoV but invalid from the CPU PoV for
    tracking purpose.
    
    As a consequence, this will allow a domain to continue to access the
    page after it was removed.
    
    Resolve the issue by always zeroing the entry if it the LPAE bit is
    set or the entry is about to be removed.
    
    This is CVE-2022-23033 / XSA-393.
    
    Reported-by: Dmytro Firsov <Dmytro_Firsov@epam.com>
    Fixes: 2148a125b73b ("xen/arm: Track page accessed between batch of Set/Way operations")
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Signed-off-by: Julien Grall <jgrall@amazon.com>
    master commit: a428b913a002eb2b7425b48029c20a52eeee1b5a
    master date: 2022-01-25 13:25:01 +0100
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 10:54:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 10:54:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260800.450887 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCfwT-0006Bh-Au; Wed, 26 Jan 2022 10:54:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260800.450887; Wed, 26 Jan 2022 10: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 1nCfwT-0006Ba-7o; Wed, 26 Jan 2022 10:54:21 +0000
Received: by outflank-mailman (input) for mailman id 260800;
 Wed, 26 Jan 2022 10:54:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OZ3N=SK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nCfwS-0006BS-DS
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 10:54:20 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4eea9553-7e96-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 11:54:17 +0100 (CET)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2058.outbound.protection.outlook.com [104.47.14.58]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-28-Ri-8ECm0PrSzFhmogM4kDQ-1; Wed, 26 Jan 2022 11:54:16 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DB8PR04MB5804.eurprd04.prod.outlook.com (2603:10a6:10:a6::32) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Wed, 26 Jan
 2022 10:54:14 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.015; Wed, 26 Jan 2022
 10: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: 4eea9553-7e96-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643194457;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=m+ge7EUNQiGqI64SVSmpPkDaukHjUKYgDJLmG3iUvu0=;
	b=SGaMkPQ8WT5oiH7ROA3B+sLoLC3380Pm8b+GoTit33DrPe2ZHRzZbwq68jOyZQRSFb9coL
	3XoxS8r26B2fECDI9IC6lenUozRZFS+rqDmCWljDGBNUG6dUwPtkpDNOChVG018rtqhf2c
	mlvQWb0hrUwbHNWdnnxhHMo7alGR+MY=
X-MC-Unique: Ri-8ECm0PrSzFhmogM4kDQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AVpcm7LxT0jPaDU+E2cW3xGkM6mITkky3bpulS1LeP64c9WAL8v8Ryf/uiXMaZ7VdUm0cj7FGarPJcCrstqy1hKhJFaLWEf8AZsUppxAXAUCCL1Qbk4XSXB75gw7/Eaiz46HRNgHmpquX22e6vbb2ThnVIa/7aBtUd3UY6daaHlcpoeg9yORA57/DuXueopbYAFSbYYJss5h/u337mhMbjUX3oI/U0jDwv3uHb1wkEZfatLPVjzutl+ExsVE4hR7xJWlV1nD5lcy3J3ShSxJ54vbyakN/hD0y/HBx81W4G9B3+CyuYRBofaYAFl2Tn1K60JlwTSjoC5kT/2n/DdJdg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kyNLjyoFZjLGmDlnJxY+vUN2MQ8HGo5R2aN/x9XOKBs=;
 b=iPO10O7lyUPj5yNsU8R99yTBxQC6JtbPoRuL5DaEn91+3ojAWLgCms+pfzbRpbvmWsVmc5cCZnnZXr76H+15uu8BYOYrDTqevmqmvli6wS9IFkiW86xniE2ezWWH6lV4Xu4irLVEYyBpTTAYImNov1Uy2N17VQzoDJ4JHBfkBx/tz4kXs3p5J24kM18SQ1KQv9yvdLYQJ27Rp0BytzLcV/Io9mjzUaQc8ONlk4lvQqXeHfYmD4zjmOG/24yK14TYZJINlEDy/oR20COhswn0O5HlPV69Hdd8E0Vb1zhO3aGX+ILIY/9CP6BcbrOL0Oy3Kqj/vTelNvRoavZXzzDRSw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4d7168f4-3963-19ae-f436-2057bc6b0e5d@suse.com>
Date: Wed, 26 Jan 2022 11:54:11 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v5 02/14] vpci: fix function attributes for
 vpci_process_pending
Content-Language: en-US
To: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Artem Mygaiev <Artem_Mygaiev@epam.com>,
 "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
 "george.dunlap@citrix.com" <george.dunlap@citrix.com>,
 "paul@xen.org" <paul@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Rahul Singh <rahul.singh@arm.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-3-andr2000@gmail.com>
 <19c43763-966d-e336-9282-ff12b1b3b2c6@xen.org>
 <YbRfRv3x0lxZvPcw@Air-de-Roger>
 <9ecf5a52-4fa8-04c7-d0f4-8d08b07fcf90@epam.com>
 <2cb7e479-8e25-9531-e01a-7415cd7a3f92@epam.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <2cb7e479-8e25-9531-e01a-7415cd7a3f92@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS9PR06CA0298.eurprd06.prod.outlook.com
 (2603:10a6:20b:45a::6) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: fda92f7d-b139-4786-1831-08d9e0ba30db
X-MS-TrafficTypeDiagnostic: DB8PR04MB5804:EE_
X-Microsoft-Antispam-PRVS:
	<DB8PR04MB580491239D1294301359A157B3209@DB8PR04MB5804.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:
	bIpoI4SVBnG2Dx9ztCtV4QFY7RNy0x2KaftnSpNTPW1YGsGM8nk4n0ctjZ261Mu6CITNbQeLU2PMUQB0OcVfYWoCmpTUgaNFjW9fWZrn6NH3FBzLn+bBBVuN8/no6CovDxtHYdKSPJML5K9vCVrbNfMkS4tEbGmKX2LOAyrqMNDBo8mvtZr4g3Ms2v5z6EO+IrvICC/H/im7Kfz7Wv2PUQsN8kNW4d1tCH9aXeQ54Ku6VCtREVIqPJxyvwIexSqNpIwiyTBgDP9EfUMJbAMHI9iGayL/YfsgSREFtbET7kNSRPWVOJo40KNK1OC+imUAQSP190bHEgYQcgGgcRtIE168tiNE+ZFHCYNzG+oYQCcFmgZgRp1+J9w3dQ2sjYXlqgr7jLc2rRDwvldikiOszi7iVLA+Zs2oNHl6Ho18E7GcQ0DgVWm2ccxVGnJjRb0ckFKb9BV5JlNDhBISaBHReunrQEJtufaA9jBKZoqFD3tgbVO3dG40L/NakJUVb3Ur4okfJALTA07nWjYR/H1sUdFmjvn2MXmqbXKt54dMfIXGYlE8D258SjBnjyUt/nGMynBf2iKljr/TM35pqUoRCjGgt9ejNkxAlkdKs79GbLIxuVgWQeu6fkOV9jtHWiDC6U3XhP9okrrwSmEFZel5alV6JRRSbhcPl0kHWlBMVJfftpQBJnsmgOjK07eEARzKOfSOVWp4CuoG0lQeJO0qc9x/3wImM9PZq3gE+nkMhuo=
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:(13230001)(366004)(6512007)(6506007)(53546011)(31686004)(26005)(7416002)(5660300002)(2906002)(36756003)(4744005)(2616005)(186003)(6666004)(54906003)(6916009)(86362001)(6486002)(4326008)(66946007)(508600001)(38100700002)(8676002)(316002)(8936002)(31696002)(66476007)(66556008)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?KWMlWVKzM5S55z84LpTcCXalDGnDCbB+QiwCne4O5vTdWV1Q5qx39ZzSfsJb?=
 =?us-ascii?Q?df5l/JGEoAGTdCwSDXS++ORjj5DbQTuSsOFt3HjfASiSHuJYAPEfnPOkohx7?=
 =?us-ascii?Q?Xt7DLYyX1oL6KQWQlGqhv+jjZNIKcWVXp6ZAPXhoMAProUwgewalj+GHxlfg?=
 =?us-ascii?Q?5slZ/GNgWBn/aK27L9gzUR/nlmWa1g1ZppPu2EnjyO+jD+n7Kirj166BV+Nb?=
 =?us-ascii?Q?mtrJmUZ0AUgsTraDJRBtQk4Dzdd4rCYVS+APqq5GOzge0MtBYy1jqj/C1TdT?=
 =?us-ascii?Q?IaG00rkNzQpxJ/NcSzMEaNsCGJIRvpZiD//bvtFTP6erlP+YuxRPJpDKcCob?=
 =?us-ascii?Q?STajobLL0RKnUTmgPZAPpIv/PwZuDolTSAN7I2E9UzyUGAR3lPSf8k/ak8OX?=
 =?us-ascii?Q?6z+Bo8N9r4SjMllT20Pmtih7IQDZOn/1+RJwwZiVp2FA3O2IPDs5kYsAjfR8?=
 =?us-ascii?Q?LP5OfiLoX4JqtrRq8M+hBfHcojZN3ADDyGVX31YVk/H+cl4ih3nnUclZyV8n?=
 =?us-ascii?Q?hnj7QZ3GjPrDVEhIhSg2xk7haHY2D7i+KZN2RKp1NqZnMgadRx1lxcMf7TX9?=
 =?us-ascii?Q?SCws82IVqg+hjKi3vb9mnm0tg+kRAfjV8YtxpElVzpUpwcbGGQ3bq0iaHqMJ?=
 =?us-ascii?Q?2uKVcGP9p7RwMTIdsdpUTGFPtPgpA3BJf6yQ3/gC9i+CH/0rVm2noA/wgyaB?=
 =?us-ascii?Q?jHRa9RYm6MkmmdMbLSoi7q/IdHnrd/r7gS8ytwsYMNzv0dZxXPtk6YAMgy57?=
 =?us-ascii?Q?7tlBZMH8oB9KsCRqo7OxPTKrralwXH5CXoJnlxZx+YHFIOvTPX4HVS/9b+Q0?=
 =?us-ascii?Q?xU5PVYmu80urLOoAuxe0CqXI+LPrAs38i8s0uqAFYX/BrQprYKAQwghC/QS5?=
 =?us-ascii?Q?ZNzMqVBQ2BDNa966mfwi4XM8UlCq5Vx2Ui1Xmy8cJ9i2zZhjdUmkC5hwr1OE?=
 =?us-ascii?Q?ua9MYKR2GqVdCj9R/lQTVHn778z2X6L/S1Ez4E9z7RxI2fJPZMNN5hfgHopQ?=
 =?us-ascii?Q?uC2dO3zeay/xa7j2B5uDm8/JXxa288nycQVZvE1+1aPhVBJkhd2Dloxf5ZQh?=
 =?us-ascii?Q?c6xRAGgYW72OhCvGbrJTNmtFZQVC7E+WgRLFiGPnl9hvWXxD2xTq7GgFbkFU?=
 =?us-ascii?Q?BT0YRU7v1KLWHBZTt2fDUEGkTxQ5aUklnBLmowcHAaqdh2AcoHxf9edAySaR?=
 =?us-ascii?Q?GdE6r6KsyI+md7ouAWb5OA/jy71Q30BuPR1s4mKRoJFHfHi+FEZaZuzD0AWZ?=
 =?us-ascii?Q?ezm2O5FiYX5SKt2trEdIg/2MEZ37JFhbS5428d68KcNYd2xvoZTN9IYiEfMg?=
 =?us-ascii?Q?HBtYa4SCxlsoMMjDhKo96Y7bhJUsJAabmZ/V00x9NZNse8me8ZLQzx8GIm9B?=
 =?us-ascii?Q?d5lQrnu0GnD0HSWYChjaFrDhbb5GnGKuETO3Vlrv44hhd7kkri/IOQgTexr7?=
 =?us-ascii?Q?cbwC4O+N7iWcqiGhRWC1zTPgSCF9Kn70XBbolhCJ5gGneK0wE2HyXqsyqvtp?=
 =?us-ascii?Q?rZ6zweksKCB9GUlAG9Tgp6CTWZdI9o8iESMb2+vrQ+wUzuZEkIYFV6sdJ3LD?=
 =?us-ascii?Q?cy65GQwgHgAzVFVqounfe/DvQmU3kgF3VQ2ULhYDKJ1jSBoN6VilYe1psaDs?=
 =?us-ascii?Q?6WBbyKo5HrZI0u4Guq+k65E=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fda92f7d-b139-4786-1831-08d9e0ba30db
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 10:54:14.0651
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: yR4pM6RCRLcDjmdUU0ZjXi25fW8yUuXuGYFPgoAj9UM+CWSXmIgNd+pamCnbWKZQvAQ665SKmuYauTUkOeXE4A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB5804

On 26.01.2022 09:31, Oleksandr Andrushchenko wrote:
> On 11.12.21 10:57, Oleksandr Andrushchenko wrote:
>> On 11.12.21 10:20, Roger Pau Monn=C3=A9 wrote:
>>> I think this can be committed independently of the rest of the
>>> series?
>> I think so
> Could you please commit this one, so I don't have to keep it in the v6 of=
 the series?

Did you actually check before asking? See commit 7dc0233f534f from Dec 14th=
.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 10:58:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 10:58:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260803.450898 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCg0C-0006wv-RL; Wed, 26 Jan 2022 10:58:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260803.450898; Wed, 26 Jan 2022 10:58:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCg0C-0006wo-OI; Wed, 26 Jan 2022 10:58:12 +0000
Received: by outflank-mailman (input) for mailman id 260803;
 Wed, 26 Jan 2022 10:58:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1nCg0B-0006wi-E8
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 10:58: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 1nCg0B-0008TA-6G; Wed, 26 Jan 2022 10:58:11 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224] helo=[10.95.98.192])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nCg0B-0004Uw-0O; Wed, 26 Jan 2022 10:58:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=DnGJciX5v4cgg7TTRPsPFQ28fwLVUi/0thk4r1lqr0M=; b=xK5DZP7738dzzbh51cFT8lFOGn
	hcX/ZwSCm05IrpFUhgK97siTXMDfvs7hYC6dddqxE/WfC3d2dPKNw29MaDEpRaxb9oZRoNWfmrIPu
	TIrxMvcyzRqhp1mrHDqvUF+NYnqDvh7VtL03706uzudjo5cei1g2GgtlSo3tfA5Xo88s=;
Message-ID: <c820b027-1b23-a762-ca91-7a2f0a46f423@xen.org>
Date: Wed, 26 Jan 2022 10:58:09 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [PATCH] design: design doc for shared memory on a dom0less system
To: Penny Zheng <penny.zheng@arm.com>, xen-devel@lists.xenproject.org,
 sstabellini@kernel.org
Cc: Bertrand.Marquis@arm.com, Wei.Chen@arm.com
References: <20220126100943.4086208-1-penny.zheng@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220126100943.4086208-1-penny.zheng@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 26/01/2022 10:09, Penny Zheng wrote:
> This commit provides a design doc for static shared memory
> on a dom0less system.
> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> ---
>   design/shm-dom0less.md | 182 +++++++++++++++++++++++++++++++++++++++++
>   1 file changed, 182 insertions(+)
>   create mode 100644 design/shm-dom0less.md
> 
> diff --git a/design/shm-dom0less.md b/design/shm-dom0less.md
> new file mode 100644
> index 0000000..b46199d
> --- /dev/null
> +++ b/design/shm-dom0less.md
> @@ -0,0 +1,182 @@
> +# Static Shared Memory between domains on a dom0less system
> +
> +This design aims to provide an overview of the new feature: setting up static
> +shared memory between domains on a dom0less system, through device tree
> +configuration.
> +
> +The new feature is driven by the need of finding a way to build up
> +communication channels on dom0less system, since the legacy ways including
> +grant table, etc are all absent there.

Stefano has a series to add support for grant-table [2]. So I think you 
want to justify it differently.

> +
> +It was inspired by the patch serie of "xl/libxl-based shared memory", see
> +[1] for more details.
> +
> +# Static Shared Memory Device Tree Configuration
> +
> +The static shared memory device tree nodes allow users to statically set up
> +shared memory among a group of dom0less DomUs and Dom0, enabling domains
> +to do shm-based communication.
> +
> +- compatible
> +
> +    "xen,domain-shared-memory-v1"
> +
> +- xen,shm-id

 From the document, it is not clear to me what is the purpose of the 
identifier. Could you clarify it?

> +
> +    An u32 value represents the unique identifier of the shared memory region.
> +    User valuing per shared memory region shall follow the ascending order,
> +    starting from xen,shm-id = <0x0>, to the maximum identifier
> +    xen,shm-id = <0x126>.

Why is it limit to 0x126? And also, why do they have to be allocated in 
ascending order?

> The special xen,shm-id = <0x127> is reserved for
> +    INVALID_SHMID.

Why do we need to reserve invalid?

> +
> +- xen,shared-mem
> +
> +    An array takes a physical address, which is the base address of the
> +    shared memory region in host physical address space, a size, and a guest
> +    physical address, as the target address of the mapping.

I think shared memory is useful without static allocation. So I think we 
want to make the host physical address optional.

> +
> +- role(Optional)
> +
> +    A string property specifying the ownership of a shared memory region,
> +    the value must be one of the following: "owner", or "borrower"
> +    A shared memory region could be explicitly backed by one domain, which is
> +    called "owner domain", and all the other domains who are also sharing
> +    this region are called "borrower domain".
> +    If not specified, the default value is "borrower" and owner is
> +    "dom_shared", a system domain.

I don't particularly like adding another system domain. Instead, it 
would be better to always specify the owner.

> +
> +## Example
> +
> +chosen {
> +    #address-cells = <0x1>;
> +    #size-cells = <0x1>;
> +    xen,xen-bootargs = "console=dtuart dtuart=serial0 bootscrub=0";
> +
> +    ......
> +
> +    /* this is for Dom0 */
> +    dom0-shared-mem@10000000 {
> +        compatible = "xen,domain-shared-memory-v1";
> +        xen,shm-id = <0x0>;
> +        role = "owner";
> +        xen,shared-mem = <0x10000000 0x10000000 0x10000000>;
> +    }
> +
> +    domU1 {
> +        compatible = "xen,domain";
> +        #address-cells = <0x1>;
> +        #size-cells = <0x1>;
> +        memory = <0 131072>;
> +        cpus = <2>;
> +        vpl011;
> +
> +        /*
> +         * shared memory region identified as 0x0(xen,shm-id = <0x0>)
> +         * shared between dom0.
> +         */
> +        domU1-shared-mem@10000000 {
> +            compatible = "xen,domain-shared-memory-v1";
> +            xen,shm-id = <0x0>;
> +            role = "borrower";
> +            xen,shared-mem = <0x10000000 0x10000000 0x50000000>;

Technically, you already know the physical address from the owner. In 
fact, it will only increase the risk to get the wrong binding. So I 
would like to suggest a different binding.

1) Reserve the region in the host memory using reserved-memory binding
2) Create a binding per domain that contains a phandle to the host 
memory and the role.

The advantage with this is we could easily support region that are not 
backed by a reserved-memory.


> +        }
> +
> +        domU1-shared-mem@50000000 {
> +            compatible = "xen,domain-shared-memory-v1";
> +            xen,shm-id = <0x1>;
> +            xen,shared-mem = <0x50000000 0x20000000 0x60000000>;
> +        }
> +
> +        ......
> +
> +    };
> +
> +    domU2 {
> +        compatible = "xen,domain";
> +        #address-cells = <0x1>;
> +        #size-cells = <0x1>;
> +        memory = <0 65536>;
> +        cpus = <1>;
> +
> +        /*
> +         * shared memory region identified as 0x1(xen,shm-id = <0x1>)
> +         * shared between domU1.
> +         */
> +        domU2-shared-mem@50000000 {
> +            compatible = "xen,domain-shared-memory-v1";
> +            xen,shm-id = <0x1>;
> +            xen,shared-mem = <0x50000000 0x20000000 0x70000000>;
> +        }
> +
> +        ......
> +    };
> +};
> +
> +It is the example of two static shared memory regions.
> +
> +In terms of shared memory region identified as 0x0, host physical address
> +starting at 0x10000000 of 256MB will be reserved to be shared between Dom0
> +and DomU1. It will get mapped at 0x10000000 in Dom0 guest physical address
> +space, and at 0x50000000 in DomU1 guest physical address space. Dom0 is the
> +owner domain, and domU1 is the borrower domain.
> +
> +And in terms of shared memory region identified as 0x1, host physical address
> +starting at 0x50000000 of 512MB will be reserved to be shared between DomU1
> +and DomU2. It will get mapped at 0x60000000 in DomU1 guest physical address
> +space, and at 0x70000000 in DomU2 guest physical address space. Since no owner
> +domain is explicitly defined, the default "dom_shared" is the owner domain,
> +and both domU1 and domU2 are the borrower domains.
> +
> +# Overview of Static Shared Memory Flow
> +
> +Static Shared Memory working flow could be classified into the following
> +steps:
> + - Carve out a range of memory in host physical address space to be used
> +for sharing. Define it in device tree configuration, then parse and reserve
> +it to avoid other use.
> + - Create a special domain "dom_shared". It will be the owner domain which
> +is owning the statically shared pages, if "role" property is not specified.
> + - Per shared memory region could be shared with multiple domains. For
> +owner domain, it acquires statically shared pages and assign them to itself,
> +in the same way with static memory. And other than owner domain, the others
> +who are also sharing are called "borrower domain", for which foreign memory
> +map of statically shared pages is required.
> + - Expose the shared memory to the domU using the "xen,shared-memory-v1"
> +reserved-memory binding. See
> +Documentation/devicetree/bindings/reserved-memory/xen,shared-memory.txt
> +in Linux for the corresponding device tree binding.
> +
> +# Memory management of Shared Memory Region
> +
> +Each memory page needs to have an "owner" and it is likely that in many cases
> +the user don't care who the owner is, so it makes sense that users don't
> +need to specify the "role" in device tree if they don't want to, in which
> +scenario, a default domain shall be the owner domain.
> +
> +We propose a new system domain "dom_shared" to be the default domain owning all
> +statically unowned shared pages, assigning it dom_id 0x7FF5(DOMID_SHARED).
> +
> +"dom_shared" domain shall get constructed before domain construction and after
> +"setup_virt_paging", during system boot-time, so it could successfully do
> +p2m initialization.

IHMO, this is going too much into details for a design document. The 
goal is to abstract the feature rather than mentioning the 
implementation (which may change during review or in the future).

> +
> +Owner domain acquires statically shared pages and assign them to itself,
> +while borrower domains get and take reference of them, then do foreign memory
> +map of these statically shared pages.

What happens if the borrower is seen before the owner?

> +
> +When destroying or rebooting a domain, if it is a borrower domain, other than
> +removing foreign memory map of statically shared pages in P2M table, we also
> +need to drop according gained reference. And if it is an owner domain, since
> +statically shared pages are allocated as guest normal ram, it is not needed to
> +do extra removing.
> +
> +However if owner domain is not the default "dom_shared" domain, but specified
> +explicitly in device tree, stopping itself will make shared memory region
> +unaccessible to all borrower domains, so we need to remove foreign memory map
> +for all borrower domains. Notice that all borrowers domains should be stopped
> +before stopping the owner domain.

How will you enforce that?

> +
> +"dom_shared" domain is destroyed when the whole system shuts down, so its
> +owning statically shared pages are only freed at system shutdown.
> +
> +[1] https://marc.info/?l=xen-devel&m=154404821731186

[2] <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop>

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 11:13:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 11:13:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260809.450910 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCgF4-0000vk-7p; Wed, 26 Jan 2022 11:13:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260809.450910; Wed, 26 Jan 2022 11:13:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCgF4-0000vd-4W; Wed, 26 Jan 2022 11:13:34 +0000
Received: by outflank-mailman (input) for mailman id 260809;
 Wed, 26 Jan 2022 11:13:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8h68=SK=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nCgF2-0000vX-3S
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 11:13:32 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fcecbcfb-7e98-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 12:13:30 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fcecbcfb-7e98-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643195609;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=H9rhxnYjHYblKwYhaBHI8y1mlD5Jugb9N2BXEwUoDqY=;
  b=NBVY5F5FXrJ/D6lc9Hix3OiHXBA3ZWasrWBzj/A96sQfisBafwNcPhBK
   RyuM6rAjsl/WrgxOORYmqBOnxyLi6F+SSXwkSbSUtOTIzGaFu11o1j6hX
   pi5KnxUgt4ulOH5Ql7rdzCGM797qsD7bAdZ9kE+NErzeGB64uxRfkePkd
   E=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: 1xFPp3EH0kWiukIy4OviummUkCdahCThLxtHfBOpIzHNYZcPTLqjQFlDDnAj9DAOKmQs6NL8C9
 fNgWWUxtIziCUB7w+r6TlKR9i6XAqYqllAi7uWB2tMe4Tpsm5RnaMpuOiG35LipMUBGAKnejvd
 4MYkbu57Nf2R/Lf5e2bt0XFqznymlBntd+9kqwLlfWJ1n0JLgQGEhoSijKMXjnjQeZXjuo0Eo8
 glSZ/ez17HfMC5Purx+QNklz0NPF7kQ5bS+KrZLiwO1/avNueDUIbRed/FzqkKQ9CMAKSu/UhS
 a2yCokJ7rn2UYgtzS5Bs5eNr
X-SBRS: 5.2
X-MesageID: 62789622
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:yj/Mn63MQyihAg3c+PbD5ed3kn2cJEfYwER7XKvMYLTBsI5bp2cGz
 WJNUGzQaPqLYTT8KtpwboXg908BvMTRz9E1TQI5pC1hF35El5HIVI+TRqvS04J+DSFhoGZPt
 Zh2hgzodZhsJpPkS5PE3oHJ9RGQ74nRLlbHILOCanAZqTNMEn9700o6wbBh2+aEvPDia++zk
 YKqyyHgEAfNNw5cagr4PIra9XuDFNyr0N8plgRWicJj5TcypFFMZH4rHomjLmOQf2VhNrXSq
 9Avbl2O1jixEx8FUrtJm1tgG6EAaua60QOm0hK6V0U+6/TrS+NbPqsTbZIhhUlrZzqhgdsr4
 owKts2MEAYzErbzt88zVB1YHHQrVUFG0OevzXmXtMWSywvNcmf2wuUoB0YzVWEa0r8pWycUr
 6VecW1TKEDY7w616OvTpu1EnMMsIdOtJIoCknph0SvYHbAtRpWrr6Diu4UHjGZu3Jom8fD2W
 uo7d2piNgn6REdsJgcsVrdml+HwiSyqG9FfgA3M/vdmi4TJ9yRYyqTgNe3wa9ODRMhLtkuAr
 2eA9GP8ajkkM9iYxSuA42ibrObFliPmW6ofDLS9sPVthTW73mUODDUGWF39puO24makUtJCL
 woP+ywhrYA77kntRd74NzWyrWSYpBcaV5xVGvcj9QCW4qPO5kCSAW1sZhlFZd89vck6XwsWx
 0SJlNPkAz9omLCNQHfb/bCRxRuwMyUIKW4JZQcfUBAIpdLkpekbqRbCTc1qFqKvufTzFSvt2
 DCBrCU4hLI7gNYC0uOw+lWvqyKhoN3FQxA44i3TX3m59UVpaYi9fYuq5FPHq/FaI+6xVUKdt
 XIJn8yf6uEmDpyXkiGJBuIXE9mB5euBMTDaqU5iGd8m7TvFxpK4VdkOunckfh4va5taP2+yC
 KPOhe9PzIFYZlHzKqwmX9uwEegx8ofLO9PhVv+BO7KifaNNXAOA+ShvY2uZ0GbsjFUgnMkDB
 HuLTSq/JS1EUPo6lVJaU89YiOZ2nX5mmQs/ULiml0zP7FaIWJKCpV7p2nOqZ/tx0q6LqR69H
 z13Z5rTkEU3vAETj0DqHW8vwbIicSlT6XPe8ZU/mgu/zuxOQjBJ5xj5mutJRmCdt/4J/tokB
 1nkMqOi9HLxhGfcNSKBYW15ZbXkUP5X9CxnZnV3YAj0hyVzPu5DCZvzkbNtLNHLE8Q4lZZJo
 wQtIZ3cUpyjtByak9jiUXUNhNM7L0n67e5/FyGkfCI+b/Zdq//hobfZkv/U3HBWVEKf7JJmy
 5X5j1+zacddG2xKUZiHANrynwLZlSVMw4paAhqXSuS/jW2xquCG3QSr0K9uSyzNQD2erganO
 /G+WEdB+rKV8tZrqbEkR8ms9u+ULge3JWIDd0Hz5reqLyjKuG2lxI5LSuGTej7BEmjz/c2fi
 S99lpkQ6dULwwRHtZRSCbFuwf5s7tfjveYCnA9lAG/KfxKgDbY5eiuK2sxGt6tswL5FuFTpB
 hLTq4cCYbjZatn4FFMxJRY+arjR3/8jhTSPv+8+J1/35XEr8ePfA1lSJRSFlAdUMKBxbNE+2
 e4ktcNPs16/hxMmP8yolCdR82jQfHUMX79+7sMRAZPxixptwVZHOMSOBijz6ZCJStNNLkh1f
 WPE2Puc3+xRnxOQfWAyGH7B2ftmqa4P4B0ankUfI1mpm8begqNl1hNm7jlqHB9eyQ9K0rwvN
 zEzZVF1P6iH4xxhmNNHAzK3AwhECRCUph7xxl8OmDGLRkWkTDWQfmg0OOLL90EF6WNMODNc+
 ejAmmriVD/reuD33zczBhE5+6CyE4Qp+12Qgt2jEuSEA4I+MGjsjaKZbGYVrwfqXJEqj0rdq
 Og2pOt9ZMUX78LLT3HX32VC6YktdQ==
IronPort-HdrOrdr: A9a23:Q4CcbauL0qylrQ9U3ACfnvZo7skC7oMji2hC6mlwRA09TyXGra
 +TdaUguSMc1gx9ZJhBo7G90KnpewK6yXdQ2/hqAV7EZniahILIFvAY0WKG+VPd8kLFh4xgPM
 tbAs1D4ZjLfCRHZKXBkXiF+rQbsaC6GcmT7I+0pRcdLj2CKZsQlzuRYjzrbHGeLzM2Y6bReq
 Dsgvau8FGbCAsqh4mAdzI4dtmGg+eOuIPtYBYACRJiwA6SjQmw4Lq/NxSDxB8RXx5G3L9nqA
 H+4kHEz5Tml8v+5g7X1mfV4ZgTsNz9yuFbDMjJrsQOMD3jhiuheYwkcbyfuzIepv2p9T8R4Z
 PxiiZlG/42x2Laf2mzrxeo8w780Aw243un8lOciWuLm72OeBsKT+56wa5JeBrQ7EQt+Ptm1r
 hQ4m6fv51LSTvdgSXU/bHzJl9Xv3vxhUBnvf8YjnRZX4dbQqRWt5Yj8ERcF4pFND7m6bogDP
 JlAKjnlblrmGuhHjDkV1RUsZ+RtixZJGbFfqFCgL3Y79FupgE586NCr/Zv20vp9/oGOu55Dq
 r/Q+BVfYp1P7wrhJRGdZM8qPuMexzwqC33QRCvyHTcZeg60iH22tbKCItc3pDeRHVP9up0pK
 j8
X-IronPort-AV: E=Sophos;i="5.88,317,1635220800"; 
   d="scan'208";a="62789622"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=S4L+8AW3RQzBZCkEBln+yM/JRzWfQxtmD8zV1a0NLiUWou82txA9V8iqrtUBprNV2UCKLX4sTY7VzOdxAucegMmJW6j5jIagHmDMDSUGHbRfhe6z1zTHyrgvmqHpKw4tNLYA4CBsOWzuDcs7lscBUHRFcWQuKQwt2dOIarC0HARvUZN7La2+m7NXqSQ4l7KKM5cRTj4zdK9Y86pJFBERkiVce9+m5MCkXXh+Fdw0srP0DTA7yUQtTnyBiLtjTcDpDEAJkZneACxX93v/FU14L5LX1rbbgKaaSttvfkINlhhHXwcZAcKFaJEWcEsDYuQb4VH23sn9MdJRvRbgBlHllQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8NX03lr0AxXyxB81rw2UgGEiN02nL+aX5LRQzc8eG9w=;
 b=cs+cM92uNp9oEueLCsf6v30poTi0PSAMy7eulDn7P2Yk6MblA405dCka7+FNR/w/GBZgdR4w64l+9l4bbyXOVfOYnOzJdWnhICVobDYzs6jDHjXY5M4iCI8e5A0aLCN/Slgus5SwPRtS236iui2xPZw6DA3VQ+ZvP+u3xdwNZOAm856tzumZwfjQb5pFc95JPMGmxAPU+5kieA+JHHmfli7eAH2xBgthGiZB2/dYF5vHhgsYinqvioTl5e8+MDaS5O1Miq23CYXwM+RoVCPwbeLUYqYxJ8o72SWMv3hpVNsUU85fS46YDj04VQspQqLeBjXkm2tJRBacSlAvK8/0aA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8NX03lr0AxXyxB81rw2UgGEiN02nL+aX5LRQzc8eG9w=;
 b=u1qnUpBYXeg8N08/mzGJxDssiAZoFJ8Ky/fE14bQK4GNy+9fTYBNgofs2O+z7pO8WFwRTfTIM9cUq5b10/NifR2FG5Cfj+I5HLglmx+JdtEd57juwn2XoxFiLwfl1Wdt/VrT5hUVB9LHGxow1PISHZ/Vn21TkKwfj6zOPsvLXbw=
Date: Wed, 26 Jan 2022 12:13:18 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
CC: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "julien@xen.org" <julien@xen.org>,
	"sstabellini@kernel.org" <sstabellini@kernel.org>, Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Artem Mygaiev <Artem_Mygaiev@epam.com>,
	"andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
	"george.dunlap@citrix.com" <george.dunlap@citrix.com>, "paul@xen.org"
	<paul@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Rahul Singh
	<rahul.singh@arm.com>, Ian Jackson <ian.jackson@eu.citrix.com>
Subject: Re: [PATCH v5 03/14] vpci: move lock outside of struct vpci
Message-ID: <YfEszsdqeDkWT3ja@Air-de-Roger>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-4-andr2000@gmail.com> <Yd2ffPULbmNpSmaD@Air-de-Roger>
 <d738229b-11ed-db77-f313-5f1618ed95a1@suse.com>
 <5f00c94d-069d-ea5f-aa1b-1861fe8a7cef@epam.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <5f00c94d-069d-ea5f-aa1b-1861fe8a7cef@epam.com>
X-ClientProxiedBy: MR2P264CA0024.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:1::36) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ca11f7f2-8e2c-496d-f710-08d9e0bcde9d
X-MS-TrafficTypeDiagnostic: BN8PR03MB4721:EE_
X-Microsoft-Antispam-PRVS: <BN8PR03MB4721CE26D613A881586EA9A88F209@BN8PR03MB4721.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: yG4dyN7W9sel2ktYL1oh6aJUZPVqZ+OTQUeH607wU5wwPGbgTLN4dQVnO1Cf7gr+6Y6E9n1v/4Wznv1uk2w7JpcRQ4dFcj40CAm4/6ZBPIk8t74rdDnP3sDxKnX0aI88bIplpJDGVWEKVjJoa+++rPhiveTDE8yNjAYohHd61pcZOAebH2cN8z6cubXxSsnuXtsxriS/3t8Qrxf0puXd7MKxKh4FecbDejepWSZjiiUtM/E5yvk22BtY07t0VuaSLTFZNOXCQdY95amoYMf7f4MTT5lYlRn5BDAvUqNwLcll6b6qrmqjrgpkZU+PD/xpxLhgBkWxZQnpo50A28pv0wx6l2Wg3ex4stmt1OPq4By/lIeb/dnv2Mw+H7cb5J0CPDYTJ+wfvzRUTnDMlyofq4rtztdPQZHzA62Yorw5+FAtnGLd9J0d0r6oDQkI+oehJs/G5NDY1h4wi0/8cOiQzrc94szQvf1rNqL/gPw9oU2+g5FQijPoAhSSISdRT3gSQgs4QaOPuyddWKcJbTqIvzWoplIvZtmuOrseql6/aMhXOMMHm5ChEod1KXHTKv2aeX0Qb3rHCf1QykRz3JkKTJ/vt7RnUGn1B6BsY29ci+IjehwWBJ/B8663MkxIpH3Q9boZKjrGBNsrrtQCBZ0COQ==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(7916004)(4636009)(366004)(6666004)(6512007)(6506007)(7416002)(53546011)(86362001)(9686003)(4326008)(5660300002)(82960400001)(107886003)(2906002)(33716001)(38100700002)(8676002)(8936002)(6916009)(6486002)(85182001)(83380400001)(508600001)(54906003)(66946007)(186003)(26005)(316002)(66476007)(66556008)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NnpPS3dKeE0rUjRyUmpCUWpFaytMK3UvVVhxR0k0Snplb2pVSUx3N3k5dUMz?=
 =?utf-8?B?bzRoWHRybmZXWWpudU1MM215d2F2OUJ4TFk3dEpyUGRSWHVHWXYzYmJhZWFZ?=
 =?utf-8?B?eGsyWVMwdlBlbkFxRjZ5N21Cc3RWN3Q1blpYdFd6RFJuUTNpZkRRcWpXRGl0?=
 =?utf-8?B?M3JxZ2F3WkxhMnRyaTlmYldqR0g0K0ZxTEVmclplODFsQUlHM3VOcEpZeW1l?=
 =?utf-8?B?SzdCZnlXM0x5cXp2b0xvb3FmNUpDcjRqYVYxTkN1QldPTStDZGpCVU9Pc21n?=
 =?utf-8?B?U2ROTGJUQU00eW5pRC8yMmxTWDNrRlpjR2JBMFM3MlVQRlNTYm56dHZ0LzBp?=
 =?utf-8?B?YVNpYytJNEVEUkVnVGdhemZMbVZ6cE5hZGdUZlJzcDdqTGRYRGtHY1dhTVlD?=
 =?utf-8?B?QVBHeHdvZ2c0WnU3ZzJWVVVpc1NjZWZJSUN6L0FHWWJiSmNua293VThwcWN3?=
 =?utf-8?B?R1hxQXNMWTUrbjNXWjRadmcvNUtWa0VFMTcvcUVpWTM5dTVoMmJTUURkR2dl?=
 =?utf-8?B?WGhWQjQ2OWEwazNNOFBHMy9RcS9lajhxTHh2ZEMrclpVWDhYQXlhVFVEZyt5?=
 =?utf-8?B?ek1NcTNMTnBpM0owbGZsUDdsN2lHQ2Y4cmxkUzRRcTF4dCt4bTgvaS9zNkV3?=
 =?utf-8?B?UCtZSTBaVUp0LzJ6Njg2eG1zTDF4MkZSaWVaaEl0bmIwdkJLV0xXOFFxWkkr?=
 =?utf-8?B?MEZwdlV3Z2J2ZVBJTDRKaS9SVFRBNXZTN1JNRjhpam9FUW1xQzI5dFhzajhJ?=
 =?utf-8?B?WWdJTm9wbHRHandjbGN2emU1Um9sY2JLWUxxOHl2eExiQ1lkblNPMStGL1Bl?=
 =?utf-8?B?T1I0UG5uZ0pCZkdnR3RFVytLRENWQ01LNlAzZnhqZTlQTU1pbUFPVytjdHZM?=
 =?utf-8?B?N25qZkM3T3Vhb1Jud1p1elk4QzJQTTdCN3pidmhmRmV2U00wUnZ2VitjbmNm?=
 =?utf-8?B?d3VRVENWUVd2TnhkWGVpRkxLMG5GSWU0N2VYakdJRHpSVTZRK0REOStvTHZz?=
 =?utf-8?B?WlpiQkd5dDMweHpwY0EzSDN6eUZHbTUvcFBPM3dwaFNLTllubG1RbWdKRHBt?=
 =?utf-8?B?bk1tdldWUCtGSkNHUS92Wnh0VHA2R2dkZDFxQUJJeFRCaiszYjNGNUNsMmdB?=
 =?utf-8?B?MWxXSHUwdFd1aGppV0lJOU8rbjIzdFhLdHhSeE9JdEorVGRNSmZReFRHaEYz?=
 =?utf-8?B?OVZLLys1ZlREVUMwVkdXK2NNb2xxNXZXTGJxMVpsRTBVWVFLeENoampYdnlX?=
 =?utf-8?B?c0VFeVp3cFQ5WFQ1RGk1VUhpVTM3QkV3bUo1TVNucm52bFRzdHFBUXhDZDB0?=
 =?utf-8?B?cTJnWkYyWVJBMTVsK29ZcjZyelpwSytvNWpkbGVKMEpMVDA3TmMzR3NtUVJ2?=
 =?utf-8?B?WllIYmd3ekxRM2JnN0ZpYjBmR3pVUzI4c0JtbU9LRUNIYmhIcS9qeENsd2hH?=
 =?utf-8?B?ckVnWTN0bVpudGNkL2lkOHpyM3AweFl2cmxWYVJRM2RCWGNFeFZLZ0Zmc3Ix?=
 =?utf-8?B?eW80TytFTnF5UHJpVVppdUdLS3RBYi93U3RaOGsyTUhVKzcvV1VMbnlWbGpV?=
 =?utf-8?B?cU9wL0NCLzVrcU9veEQ1cTZpK3p4VEc0Tk5PTlUxcHNkVXVsZ2p1MUlJNVN2?=
 =?utf-8?B?SmxxS210dDdPbzNIdVpWR3pQTnBZd0EzaUJKMVV5Qk1HVzdHM1lVeEJqTGQ2?=
 =?utf-8?B?eEtNSGYxNXl3a3FndExJc3N2R1ZyUXhiK1FDeGNWOVp6RW1uSGk3Zndlblpw?=
 =?utf-8?B?ZnFYMXdUTTAvSkwxUytLRnYvOXRKZ1hNaTJRejM1S2R0cEd5bUQ1ZTYwNlFV?=
 =?utf-8?B?VHJUQnR2TVlITUVac1loWHZSQXRKUkM5ZVphbU1BL3IvQytlcTlpYU9obDFm?=
 =?utf-8?B?TmIzVWlrcXBLVU5ETndVREFyR1JEUGszeDdhbkJDY0FCUGxKeFUvYnJuRzkv?=
 =?utf-8?B?YXJUelNMaG1pK3A2Q0lRZFYyWUtnTCtDK3VjMWFudmMvTDJJR3dvVnowWUpR?=
 =?utf-8?B?TVFtMHRqbzIxSjdBcFp2OEhZVWdkQ2x3eTVuVFFoMTV6b1hWV0JSeDMrVG1Y?=
 =?utf-8?B?eWx1UXQrdTJrMW5zem5HN3dUZE1pWnBGUmxxK0Z2U3pzV1M4L09XRWY1NW1l?=
 =?utf-8?B?VzB0SzhlZ2Uvb1hackRBellOSWlwK2NPOVJqbVMyM29Xdml4VWtOZkczeGVC?=
 =?utf-8?Q?W5gWFfPOO1m9Y/9JKG1cuQo=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: ca11f7f2-8e2c-496d-f710-08d9e0bcde9d
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 11:13:24.6284
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lD0HANiesl/mPiBF6m4awbfmLjetl2wiLfIwpIVNrgbSShlhZGc/gaADUj21ZmEKAs7I+8PEdghs2HyWs6gASg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR03MB4721
X-OriginatorOrg: citrix.com

On Wed, Jan 26, 2022 at 08:40:09AM +0000, Oleksandr Andrushchenko wrote:
> Hello, Roger, Jan!
> 
> On 12.01.22 16:42, Jan Beulich wrote:
> > On 11.01.2022 16:17, Roger Pau Monné wrote:
> >> On Thu, Nov 25, 2021 at 01:02:40PM +0200, Oleksandr Andrushchenko wrote:
> >>> diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
> >>> index 657697fe3406..ceaac4516ff8 100644
> >>> --- a/xen/drivers/vpci/vpci.c
> >>> +++ b/xen/drivers/vpci/vpci.c
> >>> @@ -35,12 +35,10 @@ extern vpci_register_init_t *const __start_vpci_array[];
> >>>   extern vpci_register_init_t *const __end_vpci_array[];
> >>>   #define NUM_VPCI_INIT (__end_vpci_array - __start_vpci_array)
> >>>   
> >>> -void vpci_remove_device(struct pci_dev *pdev)
> >>> +static void vpci_remove_device_handlers_locked(struct pci_dev *pdev)
> >>>   {
> >>> -    if ( !has_vpci(pdev->domain) )
> >>> -        return;
> >>> +    ASSERT(spin_is_locked(&pdev->vpci_lock));
> >>>   
> >>> -    spin_lock(&pdev->vpci->lock);
> >>>       while ( !list_empty(&pdev->vpci->handlers) )
> >>>       {
> >>>           struct vpci_register *r = list_first_entry(&pdev->vpci->handlers,
> >>> @@ -50,15 +48,33 @@ void vpci_remove_device(struct pci_dev *pdev)
> >>>           list_del(&r->node);
> >>>           xfree(r);
> >>>       }
> >>> -    spin_unlock(&pdev->vpci->lock);
> >>> +}
> >>> +
> >>> +void vpci_remove_device_locked(struct pci_dev *pdev)
> >> I think this could be static instead, as it's only used by
> >> vpci_remove_device and vpci_add_handlers which are local to the
> >> file.
> This is going to be used outside later on while processing pending mappings,
> so I think it is not worth it defining it static here and then removing the static
> key word later on: please see [PATCH v5 04/14] vpci: cancel pending map/unmap on vpci removal [1]

I have some comments there also, which might change the approach
you are using.

> > Does the splitting out of vpci_remove_device_handlers_locked() belong in
> > this patch in the first place? There's no second caller being added, so
> > this looks to be an orthogonal adjustment.
> I think of it as a preparation for the upcoming code: although the reason for the
> change might not be immediately seen in this patch it is still in line with what
> happens next.

Right - it's generally best if the change is done together as the new
callers are added. Otherwise it's hard to understand why certain changes
are made, and you will likely get asked the same question on next
rounds.

It's also possible that the code that requires this is changed in
further iterations so there's no longer a need for the splitting.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 11:15:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 11:15:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260813.450921 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCgGh-0001Yt-Oc; Wed, 26 Jan 2022 11:15:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260813.450921; Wed, 26 Jan 2022 11: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 1nCgGh-0001Ym-K4; Wed, 26 Jan 2022 11:15:15 +0000
Received: by outflank-mailman (input) for mailman id 260813;
 Wed, 26 Jan 2022 11:15:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LG2W=SK=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1nCgGg-0001YY-OD
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 11:15:15 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on0622.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::622])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3b8de206-7e99-11ec-8eb8-a37418f5ba1a;
 Wed, 26 Jan 2022 12:15:14 +0100 (CET)
Received: from AS8PR05CA0026.eurprd05.prod.outlook.com (2603:10a6:20b:311::31)
 by HE1PR0801MB2121.eurprd08.prod.outlook.com (2603:10a6:3:80::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Wed, 26 Jan
 2022 11:15:10 +0000
Received: from VE1EUR03FT028.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:311:cafe::6f) by AS8PR05CA0026.outlook.office365.com
 (2603:10a6:20b:311::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15 via Frontend
 Transport; Wed, 26 Jan 2022 11:15:10 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT028.mail.protection.outlook.com (10.152.18.88) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4930.15 via Frontend Transport; Wed, 26 Jan 2022 11:15:09 +0000
Received: ("Tessian outbound 63bb5eb69ee8:v113");
 Wed, 26 Jan 2022 11:15:09 +0000
Received: from 57ce7fbaef00.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 6542E82A-2283-4314-8C2F-790ACF783762.1; 
 Wed, 26 Jan 2022 11:15:00 +0000
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 57ce7fbaef00.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 26 Jan 2022 11:15:00 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by DB6PR0801MB2006.eurprd08.prod.outlook.com (2603:10a6:4:79::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Wed, 26 Jan
 2022 11:14:56 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::c0c1:d43a:acf3:a59d]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::c0c1:d43a:acf3:a59d%4]) with mapi id 15.20.4909.019; Wed, 26 Jan 2022
 11:14:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3b8de206-7e99-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vVGkjH3tRb9nMYO+u7HSiYAccb6EBrm0PR+smAqRjjY=;
 b=YKrbkgInN2atKemG3u8daKQHuYadkGU9gqmB4qkzvNXrjZ/e/8KTkF420JdrbHUIyEX9cUOhdF+6XRr9jzD4IZ+cMNAjWIQCTOZK/y/AGJhwMRZUvc30L+f0rXUnIiJ/iiPGtWWcVrI/7i0Twh8ATRny4b8rriIU4Kx/a6yZa2o=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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: 844d1f4a161a6f38
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UppbW6RqShyAkmZjRZgACFWmup2mqjhWqXr4YIEYPxO/vayuQd9ibr0GL+GCVSOtkuQhuwBgmEO5qP9TCUMAiZmerLboO5NPMNSybeLd2IVB2h1b7NAD3u8HkciDPcE0d14M1XbNeMT9GHJsqwPAvOyrtu+3aMDu3T/67rVVa/1zTlLpcOqscTwXYHI1pt5gGCOtFJ0c4bvbY1Vazsb/E+8JF6h29/bVKjZ6eVrraK1yQ2Z+SU0TuAXhscAzyWldL7PkCT5gGsQaaFE4NxOqxBu/DrGz08cmKmkfRN2IoLSt79zyT8HJ3W+pvkDkVhICRwrSohb/JdyuFkHh37HS+A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vVGkjH3tRb9nMYO+u7HSiYAccb6EBrm0PR+smAqRjjY=;
 b=ng9nb/fZR7FnPPPxV4Vkk0gjDMTNm+9Yx4+0is1IwXdrAGNCljqnn3tErnNPL2FX0036dxcDZTuGs7t0oIVz+/mfmMUMHvcYe3jBGSJxSVyR0gRyCY/+NU3Hojtjl2HlwVrHsR89NlPLFc87/cc7kJKO2Ycck/PpkroK0/t7fGvrjfyVRv1h0I//EG+5GEYCdh9YAge9x6+PoCzZcPu48YtNK/z7bs1WgSG3fGtmrqBznII2lHI4Blwe8w25CPfqohzN7eMAEXOq2hodedlQ13CRwwp83J7Ujs3MUGNZuY9Re9jf/vuZyqc+ZdbvlVA/um1Zx9y+48H48yy2ivQdBw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vVGkjH3tRb9nMYO+u7HSiYAccb6EBrm0PR+smAqRjjY=;
 b=YKrbkgInN2atKemG3u8daKQHuYadkGU9gqmB4qkzvNXrjZ/e/8KTkF420JdrbHUIyEX9cUOhdF+6XRr9jzD4IZ+cMNAjWIQCTOZK/y/AGJhwMRZUvc30L+f0rXUnIiJ/iiPGtWWcVrI/7i0Twh8ATRny4b8rriIU4Kx/a6yZa2o=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: Penny Zheng <Penny.Zheng@arm.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, Wei Chen <Wei.Chen@arm.com>
Subject: Re: [PATCH] design: design doc for shared memory on a dom0less system
Thread-Topic: [PATCH] design: design doc for shared memory on a dom0less
 system
Thread-Index: AQHYEpzfSIEi7U4qpUyQXv3OoTZGLKx1IfuAgAAEr4A=
Date: Wed, 26 Jan 2022 11:14:56 +0000
Message-ID: <2C44219B-A661-481E-851B-B2DF07ED6F84@arm.com>
References: <20220126100943.4086208-1-penny.zheng@arm.com>
 <c820b027-1b23-a762-ca91-7a2f0a46f423@xen.org>
In-Reply-To: <c820b027-1b23-a762-ca91-7a2f0a46f423@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: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: fe44876f-da7a-414a-8bec-08d9e0bd1da2
x-ms-traffictypediagnostic:
	DB6PR0801MB2006:EE_|VE1EUR03FT028:EE_|HE1PR0801MB2121:EE_
X-Microsoft-Antispam-PRVS:
	<HE1PR0801MB21214B0129F25A134BD2B7839D209@HE1PR0801MB2121.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:
 qfJhoTyU8DuTWKSPmv0SmDwuhA2YqbbB8OyjErjac51euDT4SpdoBRD86dmm1ubbr2tKntH7TTh87VG5mnO9M56rmr5s9Zrw4rWk+nQ+gk5jZAxGTd7ah5jYn2pqBMkXaqZGMeAh437ECXerCk3RndnsJ786U2GLfKkbBQtXvZp0W3ySYo+lKKKp/S6Nii/oBYMUkDNA8ZfYGE5cYbH23NaL/zuLPRzvDcmk7xZT60WZNBcQhHgjjOrAzBoIm1O0xewWbiJnedRLD0mEw2RVURfdL7jSXXLO6DFIqdwM2JuJ/riRycgz5kTIHp8OUJelwyl1i4GONfKJrU8XXcwO8UU5RgcASvMNchAsB5H0grOw5wkAR09q3SaJU7+aQ12J/j35eMg++8dSkX7BoWoJwNJ3oVXcy/M8+1ytIgWPHr8k4w+LFWQWqSwdtY5mqC7ZYPHUnpYxpc2GSIWm/FO0rBxAPo5slXmXtTuzloVk3ZlK16f5alASo020Ssm6RKCHNwba0N9Qhkz5IGoycqVJrpuLVMtXHsoKKXzisJWNocGNXVtwQI1QTNhbTd9xxBoA+2BSSgyQbkoyH6NJsfZgxwfxTjD04HyGZRTyCUrQqXtHV1i1e48WsyMevR6qSGYobpVJwTp4JuX8sSvPsWak7sWuUjd8MpzKm94zClmtgUZXUTXF2L8TmUi11EqO1KdssqwTbW3UCkguLcOti4ziCjb/NtlOK/D9FjI8HOCaO5wjvEuIzPQjjtbFRERSVBKqfLgn8xyChk9b4McvCcd+8ewFxYJ4/sVb1azCu3B0suBUzIBGwwBwM4btKcOK1R9fMY12hh5zWKvnBa+YXnW0PhO3OevpIJfhkzPtt7L964E=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(6486002)(186003)(26005)(966005)(33656002)(508600001)(6512007)(54906003)(316002)(91956017)(6916009)(5660300002)(86362001)(53546011)(64756008)(66446008)(6506007)(2906002)(8676002)(76116006)(66946007)(66556008)(66476007)(83380400001)(8936002)(38070700005)(4326008)(38100700002)(122000001)(71200400001)(2616005)(36756003)(32563001)(45980500001)(20210929001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <00863C2892729D4C87D2E3570166BA77@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB2006
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT028.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	6ca338a5-8b56-48aa-e789-08d9e0bd155c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uu7ScTGVhZIPBtIgcIASZErGWMyxgCj4Z/UU4FGtS8rB6hHjxcR0eMHeNxQwozIjvt5rKNikfqg4iQ4rktQEPqRsccTS8tMdio1fOPGA/RJTLdsOjIFvDvlJ6XAuxgyUfTEXys5/Ba03iqV1EUkqqBJusyAQMmQi7jMznkcR/a7LwllSnp96cedwwIXSJsuhrc1lXATU8kM4o4EQW2N4iNrzzAKb9RUD7APxaBHI6G0ofOP7PHZwlZM4+DnAS53z8iEiikdHLroA/al5h+bgvdTGgn+qrwFQGRFdyTxv/hSJ9D8kDrEVmB/AGLQFSBHL1H8BBlY8+FvVf7aOJ3nYv7EL8Af17iRBTAinCo5PIUYE5h2CNGgDsDeaUNK+5V0oWeSr6X+9ZhA1N6LUlmZfyr64c3eSOlFb778npHAmJfplwUJ6SiMbQiilb23cjKGjaAzzpV0M6AJahLGR0o1wiW0yV94CHThmd2XRh484TtU5JU5GQLVBO6o/p1LhcviTpkD7TbwseHg5VjBePfygHIlvPYJ0G3kYhav/VjsZSOm8wJRrIjUVCOUQ4Z353MQo+iAmjRNMwXim8No2NHam0Nxi/xW8k2n6NP0curJ0iyXCuan1ORrHng9UlI5jzrgLwaeqVCGckTchG9r7GGH3FGEDmaGJD8JKdVMvuH670O9xbvxcme9mMKkNLL95z1c61EhYSOd3iPLf+HuXPAE5KaR5marXbw76WpCiFKj7d6ULLozqeVzMNeML7f1TfI+Oe9rqUTjwyeSwHibE9uirrfiulTNw3hlhrrYU6YyoASb33oAug3MV23zmjIhGgiPyRxyqezAfE3W5Potcjtppx8UpWpQQBaLsrPs4BwRmq0yI5l+biuGDu/NE3ZkWYPcb
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(40470700004)(36840700001)(46966006)(2616005)(40460700003)(2906002)(6862004)(26005)(30864003)(82310400004)(6486002)(8676002)(33656002)(336012)(36756003)(47076005)(36860700001)(54906003)(4326008)(186003)(316002)(81166007)(966005)(86362001)(70206006)(6512007)(83380400001)(8936002)(5660300002)(356005)(53546011)(6506007)(508600001)(70586007)(32563001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 11:15:09.6050
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: fe44876f-da7a-414a-8bec-08d9e0bd1da2
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT028.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB2121

SGkgSnVsaWVuLA0KDQpUaGFua3MgYSBsb3QgZm9yIHRoZSBxdWljayBmZWVkYmFjay4NCg0KPiBP
biAyNiBKYW4gMjAyMiwgYXQgMTA6NTgsIEp1bGllbiBHcmFsbCA8anVsaWVuQHhlbi5vcmc+IHdy
b3RlOg0KPiANCj4gSGksDQo+IA0KPiBPbiAyNi8wMS8yMDIyIDEwOjA5LCBQZW5ueSBaaGVuZyB3
cm90ZToNCj4+IFRoaXMgY29tbWl0IHByb3ZpZGVzIGEgZGVzaWduIGRvYyBmb3Igc3RhdGljIHNo
YXJlZCBtZW1vcnkNCj4+IG9uIGEgZG9tMGxlc3Mgc3lzdGVtLg0KPj4gU2lnbmVkLW9mZi1ieTog
UGVubnkgWmhlbmcgPHBlbm55LnpoZW5nQGFybS5jb20+DQo+PiAtLS0NCj4+ICBkZXNpZ24vc2ht
LWRvbTBsZXNzLm1kIHwgMTgyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrDQo+PiAgMSBmaWxlIGNoYW5nZWQsIDE4MiBpbnNlcnRpb25zKCspDQo+PiAgY3JlYXRlIG1v
ZGUgMTAwNjQ0IGRlc2lnbi9zaG0tZG9tMGxlc3MubWQNCj4+IGRpZmYgLS1naXQgYS9kZXNpZ24v
c2htLWRvbTBsZXNzLm1kIGIvZGVzaWduL3NobS1kb20wbGVzcy5tZA0KPj4gbmV3IGZpbGUgbW9k
ZSAxMDA2NDQNCj4+IGluZGV4IDAwMDAwMDAuLmI0NjE5OWQNCj4+IC0tLSAvZGV2L251bGwNCj4+
ICsrKyBiL2Rlc2lnbi9zaG0tZG9tMGxlc3MubWQNCj4+IEBAIC0wLDAgKzEsMTgyIEBADQo+PiAr
IyBTdGF0aWMgU2hhcmVkIE1lbW9yeSBiZXR3ZWVuIGRvbWFpbnMgb24gYSBkb20wbGVzcyBzeXN0
ZW0NCj4+ICsNCj4+ICtUaGlzIGRlc2lnbiBhaW1zIHRvIHByb3ZpZGUgYW4gb3ZlcnZpZXcgb2Yg
dGhlIG5ldyBmZWF0dXJlOiBzZXR0aW5nIHVwIHN0YXRpYw0KPj4gK3NoYXJlZCBtZW1vcnkgYmV0
d2VlbiBkb21haW5zIG9uIGEgZG9tMGxlc3Mgc3lzdGVtLCB0aHJvdWdoIGRldmljZSB0cmVlDQo+
PiArY29uZmlndXJhdGlvbi4NCj4+ICsNCj4+ICtUaGUgbmV3IGZlYXR1cmUgaXMgZHJpdmVuIGJ5
IHRoZSBuZWVkIG9mIGZpbmRpbmcgYSB3YXkgdG8gYnVpbGQgdXANCj4+ICtjb21tdW5pY2F0aW9u
IGNoYW5uZWxzIG9uIGRvbTBsZXNzIHN5c3RlbSwgc2luY2UgdGhlIGxlZ2FjeSB3YXlzIGluY2x1
ZGluZw0KPj4gK2dyYW50IHRhYmxlLCBldGMgYXJlIGFsbCBhYnNlbnQgdGhlcmUuDQo+IA0KPiBT
dGVmYW5vIGhhcyBhIHNlcmllcyB0byBhZGQgc3VwcG9ydCBmb3IgZ3JhbnQtdGFibGUgWzJdLiBT
byBJIHRoaW5rIHlvdSB3YW50IHRvIGp1c3RpZnkgaXQgZGlmZmVyZW50bHkuDQo+IA0KPj4gKw0K
Pj4gK0l0IHdhcyBpbnNwaXJlZCBieSB0aGUgcGF0Y2ggc2VyaWUgb2YgInhsL2xpYnhsLWJhc2Vk
IHNoYXJlZCBtZW1vcnkiLCBzZWUNCj4+ICtbMV0gZm9yIG1vcmUgZGV0YWlscy4NCj4+ICsNCj4+
ICsjIFN0YXRpYyBTaGFyZWQgTWVtb3J5IERldmljZSBUcmVlIENvbmZpZ3VyYXRpb24NCj4+ICsN
Cj4+ICtUaGUgc3RhdGljIHNoYXJlZCBtZW1vcnkgZGV2aWNlIHRyZWUgbm9kZXMgYWxsb3cgdXNl
cnMgdG8gc3RhdGljYWxseSBzZXQgdXANCj4+ICtzaGFyZWQgbWVtb3J5IGFtb25nIGEgZ3JvdXAg
b2YgZG9tMGxlc3MgRG9tVXMgYW5kIERvbTAsIGVuYWJsaW5nIGRvbWFpbnMNCj4+ICt0byBkbyBz
aG0tYmFzZWQgY29tbXVuaWNhdGlvbi4NCj4+ICsNCj4+ICstIGNvbXBhdGlibGUNCj4+ICsNCj4+
ICsgICAgInhlbixkb21haW4tc2hhcmVkLW1lbW9yeS12MSINCj4+ICsNCj4+ICstIHhlbixzaG0t
aWQNCj4gDQo+IEZyb20gdGhlIGRvY3VtZW50LCBpdCBpcyBub3QgY2xlYXIgdG8gbWUgd2hhdCBp
cyB0aGUgcHVycG9zZSBvZiB0aGUgaWRlbnRpZmllci4gQ291bGQgeW91IGNsYXJpZnkgaXQ/DQo+
IA0KPj4gKw0KPj4gKyAgICBBbiB1MzIgdmFsdWUgcmVwcmVzZW50cyB0aGUgdW5pcXVlIGlkZW50
aWZpZXIgb2YgdGhlIHNoYXJlZCBtZW1vcnkgcmVnaW9uLg0KPj4gKyAgICBVc2VyIHZhbHVpbmcg
cGVyIHNoYXJlZCBtZW1vcnkgcmVnaW9uIHNoYWxsIGZvbGxvdyB0aGUgYXNjZW5kaW5nIG9yZGVy
LA0KPj4gKyAgICBzdGFydGluZyBmcm9tIHhlbixzaG0taWQgPSA8MHgwPiwgdG8gdGhlIG1heGlt
dW0gaWRlbnRpZmllcg0KPj4gKyAgICB4ZW4sc2htLWlkID0gPDB4MTI2Pi4NCj4gDQo+IFdoeSBp
cyBpdCBsaW1pdCB0byAweDEyNj8gQW5kIGFsc28sIHdoeSBkbyB0aGV5IGhhdmUgdG8gYmUgYWxs
b2NhdGVkIGluIGFzY2VuZGluZyBvcmRlcj8NCj4gDQo+PiBUaGUgc3BlY2lhbCB4ZW4sc2htLWlk
ID0gPDB4MTI3PiBpcyByZXNlcnZlZCBmb3INCj4+ICsgICAgSU5WQUxJRF9TSE1JRC4NCj4gDQo+
IFdoeSBkbyB3ZSBuZWVkIHRvIHJlc2VydmUgaW52YWxpZD8NCj4gDQo+PiArDQo+PiArLSB4ZW4s
c2hhcmVkLW1lbQ0KPj4gKw0KPj4gKyAgICBBbiBhcnJheSB0YWtlcyBhIHBoeXNpY2FsIGFkZHJl
c3MsIHdoaWNoIGlzIHRoZSBiYXNlIGFkZHJlc3Mgb2YgdGhlDQo+PiArICAgIHNoYXJlZCBtZW1v
cnkgcmVnaW9uIGluIGhvc3QgcGh5c2ljYWwgYWRkcmVzcyBzcGFjZSwgYSBzaXplLCBhbmQgYSBn
dWVzdA0KPj4gKyAgICBwaHlzaWNhbCBhZGRyZXNzLCBhcyB0aGUgdGFyZ2V0IGFkZHJlc3Mgb2Yg
dGhlIG1hcHBpbmcuDQo+IA0KPiBJIHRoaW5rIHNoYXJlZCBtZW1vcnkgaXMgdXNlZnVsIHdpdGhv
dXQgc3RhdGljIGFsbG9jYXRpb24uIFNvIEkgdGhpbmsgd2Ugd2FudCB0byBtYWtlIHRoZSBob3N0
IHBoeXNpY2FsIGFkZHJlc3Mgb3B0aW9uYWwuDQo+IA0KPj4gKw0KPj4gKy0gcm9sZShPcHRpb25h
bCkNCj4+ICsNCj4+ICsgICAgQSBzdHJpbmcgcHJvcGVydHkgc3BlY2lmeWluZyB0aGUgb3duZXJz
aGlwIG9mIGEgc2hhcmVkIG1lbW9yeSByZWdpb24sDQo+PiArICAgIHRoZSB2YWx1ZSBtdXN0IGJl
IG9uZSBvZiB0aGUgZm9sbG93aW5nOiAib3duZXIiLCBvciAiYm9ycm93ZXIiDQo+PiArICAgIEEg
c2hhcmVkIG1lbW9yeSByZWdpb24gY291bGQgYmUgZXhwbGljaXRseSBiYWNrZWQgYnkgb25lIGRv
bWFpbiwgd2hpY2ggaXMNCj4+ICsgICAgY2FsbGVkICJvd25lciBkb21haW4iLCBhbmQgYWxsIHRo
ZSBvdGhlciBkb21haW5zIHdobyBhcmUgYWxzbyBzaGFyaW5nDQo+PiArICAgIHRoaXMgcmVnaW9u
IGFyZSBjYWxsZWQgImJvcnJvd2VyIGRvbWFpbiIuDQo+PiArICAgIElmIG5vdCBzcGVjaWZpZWQs
IHRoZSBkZWZhdWx0IHZhbHVlIGlzICJib3Jyb3dlciIgYW5kIG93bmVyIGlzDQo+PiArICAgICJk
b21fc2hhcmVkIiwgYSBzeXN0ZW0gZG9tYWluLg0KPiANCj4gSSBkb24ndCBwYXJ0aWN1bGFybHkg
bGlrZSBhZGRpbmcgYW5vdGhlciBzeXN0ZW0gZG9tYWluLiBJbnN0ZWFkLCBpdCB3b3VsZCBiZSBi
ZXR0ZXIgdG8gYWx3YXlzIHNwZWNpZnkgdGhlIG93bmVyLg0KDQpIYXZpbmcgYW4gb3duZXIgd2hp
Y2ggaXMgbm90IFhlbiBpcyBjcmVhdGluZyBhIGRlcGVuZGVuY3kgc28gcmVzdGFydCB0aGUgb3du
ZXIgeW91IHdvdWxkIG5lZWQgdG8gcmVzdGFydCB0aGUgYm9ycm93ZXJzLg0KVG8gcmVtb3ZlIHRo
aXMgZGVwZW5kZW5jeSBhbmQgYWxsb3cgdXNlIGNhc2VzIHdoZXJlIGFueSBkb21haW4gaGF2aW5n
IGFjY2VzcyBjYW4gYmUgcmVzdGFydGVkIHdpdGhvdXQgdGhlIG90aGVyIHNpZGUNCm5lZWRpbmcg
dG8sIGhhdmluZyBYZW4gYXMgdGhlIG93bmVyIGlzIHJlcXVpcmVkLg0KDQpJbml0aWFsIGRpc2N1
c3Npb24gc3RhcnRlZCBiZXR3ZWVuIFBlbm55IGFuZCBTdGVmYW5vIHdlbnQgdGhlIHdheSB5b3Ug
c2FpZCBhbmQgSSBhc2tlZCB0byBtb2RpZnkgaXQgbGlrZSB0aGlzIHRvIGhhdmUgc29tZXRoaW5n
DQptb3JlIGxvb2tpbmcgbGlrZSBhIHN0YW5kYXJkIHNoYXJlZCBtZW1vcnkgd2l0aCBvbmx5IHVz
ZXJzIGJ1dCBubyDigJxvd25lcuKAnS4NCkFsc28gaXQgZml0cyB0byBzb21lIG9mIG91ciB1c2Ug
Y2FzZXMuDQoNCkFuZCBpdCBhbHNvIHNvbHZlIHNvbWUgb2YgdGhlIGlzc3VlcyB5b3UgZm91bmQg
Li4uDQoNCj4gDQo+PiArDQo+PiArIyMgRXhhbXBsZQ0KPj4gKw0KPj4gK2Nob3NlbiB7DQo+PiAr
ICAgICNhZGRyZXNzLWNlbGxzID0gPDB4MT47DQo+PiArICAgICNzaXplLWNlbGxzID0gPDB4MT47
DQo+PiArICAgIHhlbix4ZW4tYm9vdGFyZ3MgPSAiY29uc29sZT1kdHVhcnQgZHR1YXJ0PXNlcmlh
bDAgYm9vdHNjcnViPTAiOw0KPj4gKw0KPj4gKyAgICAuLi4uLi4NCj4+ICsNCj4+ICsgICAgLyog
dGhpcyBpcyBmb3IgRG9tMCAqLw0KPj4gKyAgICBkb20wLXNoYXJlZC1tZW1AMTAwMDAwMDAgew0K
Pj4gKyAgICAgICAgY29tcGF0aWJsZSA9ICJ4ZW4sZG9tYWluLXNoYXJlZC1tZW1vcnktdjEiOw0K
Pj4gKyAgICAgICAgeGVuLHNobS1pZCA9IDwweDA+Ow0KPj4gKyAgICAgICAgcm9sZSA9ICJvd25l
ciI7DQo+PiArICAgICAgICB4ZW4sc2hhcmVkLW1lbSA9IDwweDEwMDAwMDAwIDB4MTAwMDAwMDAg
MHgxMDAwMDAwMD47DQo+PiArICAgIH0NCj4+ICsNCj4+ICsgICAgZG9tVTEgew0KPj4gKyAgICAg
ICAgY29tcGF0aWJsZSA9ICJ4ZW4sZG9tYWluIjsNCj4+ICsgICAgICAgICNhZGRyZXNzLWNlbGxz
ID0gPDB4MT47DQo+PiArICAgICAgICAjc2l6ZS1jZWxscyA9IDwweDE+Ow0KPj4gKyAgICAgICAg
bWVtb3J5ID0gPDAgMTMxMDcyPjsNCj4+ICsgICAgICAgIGNwdXMgPSA8Mj47DQo+PiArICAgICAg
ICB2cGwwMTE7DQo+PiArDQo+PiArICAgICAgICAvKg0KPj4gKyAgICAgICAgICogc2hhcmVkIG1l
bW9yeSByZWdpb24gaWRlbnRpZmllZCBhcyAweDAoeGVuLHNobS1pZCA9IDwweDA+KQ0KPj4gKyAg
ICAgICAgICogc2hhcmVkIGJldHdlZW4gZG9tMC4NCj4+ICsgICAgICAgICAqLw0KPj4gKyAgICAg
ICAgZG9tVTEtc2hhcmVkLW1lbUAxMDAwMDAwMCB7DQo+PiArICAgICAgICAgICAgY29tcGF0aWJs
ZSA9ICJ4ZW4sZG9tYWluLXNoYXJlZC1tZW1vcnktdjEiOw0KPj4gKyAgICAgICAgICAgIHhlbixz
aG0taWQgPSA8MHgwPjsNCj4+ICsgICAgICAgICAgICByb2xlID0gImJvcnJvd2VyIjsNCj4+ICsg
ICAgICAgICAgICB4ZW4sc2hhcmVkLW1lbSA9IDwweDEwMDAwMDAwIDB4MTAwMDAwMDAgMHg1MDAw
MDAwMD47DQo+IA0KPiBUZWNobmljYWxseSwgeW91IGFscmVhZHkga25vdyB0aGUgcGh5c2ljYWwg
YWRkcmVzcyBmcm9tIHRoZSBvd25lci4gSW4gZmFjdCwgaXQgd2lsbCBvbmx5IGluY3JlYXNlIHRo
ZSByaXNrIHRvIGdldCB0aGUgd3JvbmcgYmluZGluZy4gU28gSSB3b3VsZCBsaWtlIHRvIHN1Z2dl
c3QgYSBkaWZmZXJlbnQgYmluZGluZy4NCj4gDQo+IDEpIFJlc2VydmUgdGhlIHJlZ2lvbiBpbiB0
aGUgaG9zdCBtZW1vcnkgdXNpbmcgcmVzZXJ2ZWQtbWVtb3J5IGJpbmRpbmcNCj4gMikgQ3JlYXRl
IGEgYmluZGluZyBwZXIgZG9tYWluIHRoYXQgY29udGFpbnMgYSBwaGFuZGxlIHRvIHRoZSBob3N0
IG1lbW9yeSBhbmQgdGhlIHJvbGUuDQo+IA0KPiBUaGUgYWR2YW50YWdlIHdpdGggdGhpcyBpcyB3
ZSBjb3VsZCBlYXNpbHkgc3VwcG9ydCByZWdpb24gdGhhdCBhcmUgbm90IGJhY2tlZCBieSBhIHJl
c2VydmVkLW1lbW9yeS4NCj4gDQo+IA0KPj4gKyAgICAgICAgfQ0KPj4gKw0KPj4gKyAgICAgICAg
ZG9tVTEtc2hhcmVkLW1lbUA1MDAwMDAwMCB7DQo+PiArICAgICAgICAgICAgY29tcGF0aWJsZSA9
ICJ4ZW4sZG9tYWluLXNoYXJlZC1tZW1vcnktdjEiOw0KPj4gKyAgICAgICAgICAgIHhlbixzaG0t
aWQgPSA8MHgxPjsNCj4+ICsgICAgICAgICAgICB4ZW4sc2hhcmVkLW1lbSA9IDwweDUwMDAwMDAw
IDB4MjAwMDAwMDAgMHg2MDAwMDAwMD47DQo+PiArICAgICAgICB9DQo+PiArDQo+PiArICAgICAg
ICAuLi4uLi4NCj4+ICsNCj4+ICsgICAgfTsNCj4+ICsNCj4+ICsgICAgZG9tVTIgew0KPj4gKyAg
ICAgICAgY29tcGF0aWJsZSA9ICJ4ZW4sZG9tYWluIjsNCj4+ICsgICAgICAgICNhZGRyZXNzLWNl
bGxzID0gPDB4MT47DQo+PiArICAgICAgICAjc2l6ZS1jZWxscyA9IDwweDE+Ow0KPj4gKyAgICAg
ICAgbWVtb3J5ID0gPDAgNjU1MzY+Ow0KPj4gKyAgICAgICAgY3B1cyA9IDwxPjsNCj4+ICsNCj4+
ICsgICAgICAgIC8qDQo+PiArICAgICAgICAgKiBzaGFyZWQgbWVtb3J5IHJlZ2lvbiBpZGVudGlm
aWVkIGFzIDB4MSh4ZW4sc2htLWlkID0gPDB4MT4pDQo+PiArICAgICAgICAgKiBzaGFyZWQgYmV0
d2VlbiBkb21VMS4NCj4+ICsgICAgICAgICAqLw0KPj4gKyAgICAgICAgZG9tVTItc2hhcmVkLW1l
bUA1MDAwMDAwMCB7DQo+PiArICAgICAgICAgICAgY29tcGF0aWJsZSA9ICJ4ZW4sZG9tYWluLXNo
YXJlZC1tZW1vcnktdjEiOw0KPj4gKyAgICAgICAgICAgIHhlbixzaG0taWQgPSA8MHgxPjsNCj4+
ICsgICAgICAgICAgICB4ZW4sc2hhcmVkLW1lbSA9IDwweDUwMDAwMDAwIDB4MjAwMDAwMDAgMHg3
MDAwMDAwMD47DQo+PiArICAgICAgICB9DQo+PiArDQo+PiArICAgICAgICAuLi4uLi4NCj4+ICsg
ICAgfTsNCj4+ICt9Ow0KPj4gKw0KPj4gK0l0IGlzIHRoZSBleGFtcGxlIG9mIHR3byBzdGF0aWMg
c2hhcmVkIG1lbW9yeSByZWdpb25zLg0KPj4gKw0KPj4gK0luIHRlcm1zIG9mIHNoYXJlZCBtZW1v
cnkgcmVnaW9uIGlkZW50aWZpZWQgYXMgMHgwLCBob3N0IHBoeXNpY2FsIGFkZHJlc3MNCj4+ICtz
dGFydGluZyBhdCAweDEwMDAwMDAwIG9mIDI1Nk1CIHdpbGwgYmUgcmVzZXJ2ZWQgdG8gYmUgc2hh
cmVkIGJldHdlZW4gRG9tMA0KPj4gK2FuZCBEb21VMS4gSXQgd2lsbCBnZXQgbWFwcGVkIGF0IDB4
MTAwMDAwMDAgaW4gRG9tMCBndWVzdCBwaHlzaWNhbCBhZGRyZXNzDQo+PiArc3BhY2UsIGFuZCBh
dCAweDUwMDAwMDAwIGluIERvbVUxIGd1ZXN0IHBoeXNpY2FsIGFkZHJlc3Mgc3BhY2UuIERvbTAg
aXMgdGhlDQo+PiArb3duZXIgZG9tYWluLCBhbmQgZG9tVTEgaXMgdGhlIGJvcnJvd2VyIGRvbWFp
bi4NCj4+ICsNCj4+ICtBbmQgaW4gdGVybXMgb2Ygc2hhcmVkIG1lbW9yeSByZWdpb24gaWRlbnRp
ZmllZCBhcyAweDEsIGhvc3QgcGh5c2ljYWwgYWRkcmVzcw0KPj4gK3N0YXJ0aW5nIGF0IDB4NTAw
MDAwMDAgb2YgNTEyTUIgd2lsbCBiZSByZXNlcnZlZCB0byBiZSBzaGFyZWQgYmV0d2VlbiBEb21V
MQ0KPj4gK2FuZCBEb21VMi4gSXQgd2lsbCBnZXQgbWFwcGVkIGF0IDB4NjAwMDAwMDAgaW4gRG9t
VTEgZ3Vlc3QgcGh5c2ljYWwgYWRkcmVzcw0KPj4gK3NwYWNlLCBhbmQgYXQgMHg3MDAwMDAwMCBp
biBEb21VMiBndWVzdCBwaHlzaWNhbCBhZGRyZXNzIHNwYWNlLiBTaW5jZSBubyBvd25lcg0KPj4g
K2RvbWFpbiBpcyBleHBsaWNpdGx5IGRlZmluZWQsIHRoZSBkZWZhdWx0ICJkb21fc2hhcmVkIiBp
cyB0aGUgb3duZXIgZG9tYWluLA0KPj4gK2FuZCBib3RoIGRvbVUxIGFuZCBkb21VMiBhcmUgdGhl
IGJvcnJvd2VyIGRvbWFpbnMuDQo+PiArDQo+PiArIyBPdmVydmlldyBvZiBTdGF0aWMgU2hhcmVk
IE1lbW9yeSBGbG93DQo+PiArDQo+PiArU3RhdGljIFNoYXJlZCBNZW1vcnkgd29ya2luZyBmbG93
IGNvdWxkIGJlIGNsYXNzaWZpZWQgaW50byB0aGUgZm9sbG93aW5nDQo+PiArc3RlcHM6DQo+PiAr
IC0gQ2FydmUgb3V0IGEgcmFuZ2Ugb2YgbWVtb3J5IGluIGhvc3QgcGh5c2ljYWwgYWRkcmVzcyBz
cGFjZSB0byBiZSB1c2VkDQo+PiArZm9yIHNoYXJpbmcuIERlZmluZSBpdCBpbiBkZXZpY2UgdHJl
ZSBjb25maWd1cmF0aW9uLCB0aGVuIHBhcnNlIGFuZCByZXNlcnZlDQo+PiAraXQgdG8gYXZvaWQg
b3RoZXIgdXNlLg0KPj4gKyAtIENyZWF0ZSBhIHNwZWNpYWwgZG9tYWluICJkb21fc2hhcmVkIi4g
SXQgd2lsbCBiZSB0aGUgb3duZXIgZG9tYWluIHdoaWNoDQo+PiAraXMgb3duaW5nIHRoZSBzdGF0
aWNhbGx5IHNoYXJlZCBwYWdlcywgaWYgInJvbGUiIHByb3BlcnR5IGlzIG5vdCBzcGVjaWZpZWQu
DQo+PiArIC0gUGVyIHNoYXJlZCBtZW1vcnkgcmVnaW9uIGNvdWxkIGJlIHNoYXJlZCB3aXRoIG11
bHRpcGxlIGRvbWFpbnMuIEZvcg0KPj4gK293bmVyIGRvbWFpbiwgaXQgYWNxdWlyZXMgc3RhdGlj
YWxseSBzaGFyZWQgcGFnZXMgYW5kIGFzc2lnbiB0aGVtIHRvIGl0c2VsZiwNCj4+ICtpbiB0aGUg
c2FtZSB3YXkgd2l0aCBzdGF0aWMgbWVtb3J5LiBBbmQgb3RoZXIgdGhhbiBvd25lciBkb21haW4s
IHRoZSBvdGhlcnMNCj4+ICt3aG8gYXJlIGFsc28gc2hhcmluZyBhcmUgY2FsbGVkICJib3Jyb3dl
ciBkb21haW4iLCBmb3Igd2hpY2ggZm9yZWlnbiBtZW1vcnkNCj4+ICttYXAgb2Ygc3RhdGljYWxs
eSBzaGFyZWQgcGFnZXMgaXMgcmVxdWlyZWQuDQo+PiArIC0gRXhwb3NlIHRoZSBzaGFyZWQgbWVt
b3J5IHRvIHRoZSBkb21VIHVzaW5nIHRoZSAieGVuLHNoYXJlZC1tZW1vcnktdjEiDQo+PiArcmVz
ZXJ2ZWQtbWVtb3J5IGJpbmRpbmcuIFNlZQ0KPj4gK0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9i
aW5kaW5ncy9yZXNlcnZlZC1tZW1vcnkveGVuLHNoYXJlZC1tZW1vcnkudHh0DQo+PiAraW4gTGlu
dXggZm9yIHRoZSBjb3JyZXNwb25kaW5nIGRldmljZSB0cmVlIGJpbmRpbmcuDQo+PiArDQo+PiAr
IyBNZW1vcnkgbWFuYWdlbWVudCBvZiBTaGFyZWQgTWVtb3J5IFJlZ2lvbg0KPj4gKw0KPj4gK0Vh
Y2ggbWVtb3J5IHBhZ2UgbmVlZHMgdG8gaGF2ZSBhbiAib3duZXIiIGFuZCBpdCBpcyBsaWtlbHkg
dGhhdCBpbiBtYW55IGNhc2VzDQo+PiArdGhlIHVzZXIgZG9uJ3QgY2FyZSB3aG8gdGhlIG93bmVy
IGlzLCBzbyBpdCBtYWtlcyBzZW5zZSB0aGF0IHVzZXJzIGRvbid0DQo+PiArbmVlZCB0byBzcGVj
aWZ5IHRoZSAicm9sZSIgaW4gZGV2aWNlIHRyZWUgaWYgdGhleSBkb24ndCB3YW50IHRvLCBpbiB3
aGljaA0KPj4gK3NjZW5hcmlvLCBhIGRlZmF1bHQgZG9tYWluIHNoYWxsIGJlIHRoZSBvd25lciBk
b21haW4uDQo+PiArDQo+PiArV2UgcHJvcG9zZSBhIG5ldyBzeXN0ZW0gZG9tYWluICJkb21fc2hh
cmVkIiB0byBiZSB0aGUgZGVmYXVsdCBkb21haW4gb3duaW5nIGFsbA0KPj4gK3N0YXRpY2FsbHkg
dW5vd25lZCBzaGFyZWQgcGFnZXMsIGFzc2lnbmluZyBpdCBkb21faWQgMHg3RkY1KERPTUlEX1NI
QVJFRCkuDQo+PiArDQo+PiArImRvbV9zaGFyZWQiIGRvbWFpbiBzaGFsbCBnZXQgY29uc3RydWN0
ZWQgYmVmb3JlIGRvbWFpbiBjb25zdHJ1Y3Rpb24gYW5kIGFmdGVyDQo+PiArInNldHVwX3ZpcnRf
cGFnaW5nIiwgZHVyaW5nIHN5c3RlbSBib290LXRpbWUsIHNvIGl0IGNvdWxkIHN1Y2Nlc3NmdWxs
eSBkbw0KPj4gK3AybSBpbml0aWFsaXphdGlvbi4NCj4gDQo+IElITU8sIHRoaXMgaXMgZ29pbmcg
dG9vIG11Y2ggaW50byBkZXRhaWxzIGZvciBhIGRlc2lnbiBkb2N1bWVudC4gVGhlIGdvYWwgaXMg
dG8gYWJzdHJhY3QgdGhlIGZlYXR1cmUgcmF0aGVyIHRoYW4gbWVudGlvbmluZyB0aGUgaW1wbGVt
ZW50YXRpb24gKHdoaWNoIG1heSBjaGFuZ2UgZHVyaW5nIHJldmlldyBvciBpbiB0aGUgZnV0dXJl
KS4NCj4gDQo+PiArDQo+PiArT3duZXIgZG9tYWluIGFjcXVpcmVzIHN0YXRpY2FsbHkgc2hhcmVk
IHBhZ2VzIGFuZCBhc3NpZ24gdGhlbSB0byBpdHNlbGYsDQo+PiArd2hpbGUgYm9ycm93ZXIgZG9t
YWlucyBnZXQgYW5kIHRha2UgcmVmZXJlbmNlIG9mIHRoZW0sIHRoZW4gZG8gZm9yZWlnbiBtZW1v
cnkNCj4+ICttYXAgb2YgdGhlc2Ugc3RhdGljYWxseSBzaGFyZWQgcGFnZXMuDQo+IA0KPiBXaGF0
IGhhcHBlbnMgaWYgdGhlIGJvcnJvd2VyIGlzIHNlZW4gYmVmb3JlIHRoZSBvd25lcj8NCg0KVGhp
cyBpcyBub3QgYW4gaXNzdWUgaWYgWGVuIGlzIHRoZSBvd25lci4NCg0KPiANCj4+ICsNCj4+ICtX
aGVuIGRlc3Ryb3lpbmcgb3IgcmVib290aW5nIGEgZG9tYWluLCBpZiBpdCBpcyBhIGJvcnJvd2Vy
IGRvbWFpbiwgb3RoZXIgdGhhbg0KPj4gK3JlbW92aW5nIGZvcmVpZ24gbWVtb3J5IG1hcCBvZiBz
dGF0aWNhbGx5IHNoYXJlZCBwYWdlcyBpbiBQMk0gdGFibGUsIHdlIGFsc28NCj4+ICtuZWVkIHRv
IGRyb3AgYWNjb3JkaW5nIGdhaW5lZCByZWZlcmVuY2UuIEFuZCBpZiBpdCBpcyBhbiBvd25lciBk
b21haW4sIHNpbmNlDQo+PiArc3RhdGljYWxseSBzaGFyZWQgcGFnZXMgYXJlIGFsbG9jYXRlZCBh
cyBndWVzdCBub3JtYWwgcmFtLCBpdCBpcyBub3QgbmVlZGVkIHRvDQo+PiArZG8gZXh0cmEgcmVt
b3ZpbmcuDQo+PiArDQo+PiArSG93ZXZlciBpZiBvd25lciBkb21haW4gaXMgbm90IHRoZSBkZWZh
dWx0ICJkb21fc2hhcmVkIiBkb21haW4sIGJ1dCBzcGVjaWZpZWQNCj4+ICtleHBsaWNpdGx5IGlu
IGRldmljZSB0cmVlLCBzdG9wcGluZyBpdHNlbGYgd2lsbCBtYWtlIHNoYXJlZCBtZW1vcnkgcmVn
aW9uDQo+PiArdW5hY2Nlc3NpYmxlIHRvIGFsbCBib3Jyb3dlciBkb21haW5zLCBzbyB3ZSBuZWVk
IHRvIHJlbW92ZSBmb3JlaWduIG1lbW9yeSBtYXANCj4+ICtmb3IgYWxsIGJvcnJvd2VyIGRvbWFp
bnMuIE5vdGljZSB0aGF0IGFsbCBib3Jyb3dlcnMgZG9tYWlucyBzaG91bGQgYmUgc3RvcHBlZA0K
Pj4gK2JlZm9yZSBzdG9wcGluZyB0aGUgb3duZXIgZG9tYWluLg0KPiANCj4gSG93IHdpbGwgeW91
IGVuZm9yY2UgdGhhdD8NCg0KQW5kIHRoaXMgZWl0aGVyLg0KDQpDaGVlcnMNCkJlcnRyYW5kDQoN
Cj4gDQo+PiArDQo+PiArImRvbV9zaGFyZWQiIGRvbWFpbiBpcyBkZXN0cm95ZWQgd2hlbiB0aGUg
d2hvbGUgc3lzdGVtIHNodXRzIGRvd24sIHNvIGl0cw0KPj4gK293bmluZyBzdGF0aWNhbGx5IHNo
YXJlZCBwYWdlcyBhcmUgb25seSBmcmVlZCBhdCBzeXN0ZW0gc2h1dGRvd24uDQo+PiArDQo+PiAr
WzFdIGh0dHBzOi8vbWFyYy5pbmZvLz9sPXhlbi1kZXZlbCZtPTE1NDQwNDgyMTczMTE4Ng0KPiAN
Cj4gWzJdIDxhbHBpbmUuREVCLjIuMjIuMzk0LjIyMDExMjE2NDYyOTAuMTkzNjJAdWJ1bnR1LWxp
bnV4LTIwLTA0LWRlc2t0b3A+DQo+IA0KPiAtLSANCj4gSnVsaWVuIEdyYWxsDQoNCg==


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 11:36:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 11:36:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260820.450948 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCgam-0004Lp-Mv; Wed, 26 Jan 2022 11:36:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260820.450948; Wed, 26 Jan 2022 11:36:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCgam-0004Li-Iz; Wed, 26 Jan 2022 11:36:00 +0000
Received: by outflank-mailman (input) for mailman id 260820;
 Wed, 26 Jan 2022 11:35: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 1nCgal-0004Lb-H9
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 11:35: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 1nCgal-0000iW-Aa; Wed, 26 Jan 2022 11:35:59 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224] helo=[10.95.98.192])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nCgal-0007ty-4B; Wed, 26 Jan 2022 11:35:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=sj8F4iYQQIxRFAtoADA7BuxbuFdeMTl8Fo+UIm20iZA=; b=W9NSu0eqeiW3jNuEDYdfgZlIju
	0z0veDuWIhnow8mvsHpmlqp16+bDlUY6+rIKTYpp/8aq2lOhW/T5LcK/hiN51FXcbgMTrYhWDAw5+
	e077D5lzly1CROC7gPFpK4f59tPEOctSxsVXJHLzvJ4uCN6aJAzxFwikNmWF/THzM3ec=;
Message-ID: <a50d9fde-1d06-7cda-2779-9eea9e1c0134@xen.org>
Date: Wed, 26 Jan 2022 11:35:57 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [PATCH] design: design doc for shared memory on a dom0less system
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Penny Zheng <Penny.Zheng@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 Wei Chen <Wei.Chen@arm.com>
References: <20220126100943.4086208-1-penny.zheng@arm.com>
 <c820b027-1b23-a762-ca91-7a2f0a46f423@xen.org>
 <2C44219B-A661-481E-851B-B2DF07ED6F84@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <2C44219B-A661-481E-851B-B2DF07ED6F84@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Bertrand,

On 26/01/2022 11:14, Bertrand Marquis wrote:
>> On 26 Jan 2022, at 10:58, Julien Grall <julien@xen.org> wrote:
>>
>> Hi,
>>
>> On 26/01/2022 10:09, Penny Zheng wrote:
>>> This commit provides a design doc for static shared memory
>>> on a dom0less system.
>>> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
>>> ---
>>>   design/shm-dom0less.md | 182 +++++++++++++++++++++++++++++++++++++++++
>>>   1 file changed, 182 insertions(+)
>>>   create mode 100644 design/shm-dom0less.md
>>> diff --git a/design/shm-dom0less.md b/design/shm-dom0less.md
>>> new file mode 100644
>>> index 0000000..b46199d
>>> --- /dev/null
>>> +++ b/design/shm-dom0less.md
>>> @@ -0,0 +1,182 @@
>>> +# Static Shared Memory between domains on a dom0less system
>>> +
>>> +This design aims to provide an overview of the new feature: setting up static
>>> +shared memory between domains on a dom0less system, through device tree
>>> +configuration.
>>> +
>>> +The new feature is driven by the need of finding a way to build up
>>> +communication channels on dom0less system, since the legacy ways including
>>> +grant table, etc are all absent there.
>>
>> Stefano has a series to add support for grant-table [2]. So I think you want to justify it differently.
>>
>>> +
>>> +It was inspired by the patch serie of "xl/libxl-based shared memory", see
>>> +[1] for more details.
>>> +
>>> +# Static Shared Memory Device Tree Configuration
>>> +
>>> +The static shared memory device tree nodes allow users to statically set up
>>> +shared memory among a group of dom0less DomUs and Dom0, enabling domains
>>> +to do shm-based communication.
>>> +
>>> +- compatible
>>> +
>>> +    "xen,domain-shared-memory-v1"
>>> +
>>> +- xen,shm-id
>>
>>  From the document, it is not clear to me what is the purpose of the identifier. Could you clarify it?
>>
>>> +
>>> +    An u32 value represents the unique identifier of the shared memory region.
>>> +    User valuing per shared memory region shall follow the ascending order,
>>> +    starting from xen,shm-id = <0x0>, to the maximum identifier
>>> +    xen,shm-id = <0x126>.
>>
>> Why is it limit to 0x126? And also, why do they have to be allocated in ascending order?
>>
>>> The special xen,shm-id = <0x127> is reserved for
>>> +    INVALID_SHMID.
>>
>> Why do we need to reserve invalid?
>>
>>> +
>>> +- xen,shared-mem
>>> +
>>> +    An array takes a physical address, which is the base address of the
>>> +    shared memory region in host physical address space, a size, and a guest
>>> +    physical address, as the target address of the mapping.
>>
>> I think shared memory is useful without static allocation. So I think we want to make the host physical address optional.
>>
>>> +
>>> +- role(Optional)
>>> +
>>> +    A string property specifying the ownership of a shared memory region,
>>> +    the value must be one of the following: "owner", or "borrower"
>>> +    A shared memory region could be explicitly backed by one domain, which is
>>> +    called "owner domain", and all the other domains who are also sharing
>>> +    this region are called "borrower domain".
>>> +    If not specified, the default value is "borrower" and owner is
>>> +    "dom_shared", a system domain.
>>
>> I don't particularly like adding another system domain. Instead, it would be better to always specify the owner.
> 
> Having an owner which is not Xen is creating a dependency so restart the owner you would need to restart the borrowers.

You don't necessarily have to. You can keep the "struct domain" and the 
shared pages in place and wipe everything else.

> To remove this dependency and allow use cases where any domain having access can be restarted without the other side
> needing to, having Xen as the owner is required.

> 
> Initial discussion started between Penny and Stefano went the way you said and I asked to modify it like this to have something
> more looking like a standard shared memory with only users but no “owner”.

My main concern with dom_shared is the permissions. How do you make sure 
that a given page is only shared with the proper domain?

> Also it fits to some of our use cases.

Would you mind to briefly describe them?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 12:18:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 12:18:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260851.451001 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nChF7-0001Al-Kk; Wed, 26 Jan 2022 12:17:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260851.451001; Wed, 26 Jan 2022 12:17:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nChF7-0001Ae-Gz; Wed, 26 Jan 2022 12:17:41 +0000
Received: by outflank-mailman (input) for mailman id 260851;
 Wed, 26 Jan 2022 12:17:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8h68=SK=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nChF6-0001AY-Nb
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 12:17:41 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f27d6abb-7ea1-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 13:17:38 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f27d6abb-7ea1-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643199458;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=MkRBIVnFcedWxoaiKsxH52qkgJGhbFeEZuzbdctB45A=;
  b=DbAWfRD35mCLJD45T1wkIqLtvWhizabQ6SjofCr9NU0npo4PyqdCyCVM
   mQ3B5cRePaJgE1rTJlX2wO+mkUePOaDIz4hTZb0gjQ9ILyjEUorqfwNGs
   Qi9FL7/rzaK/5NraXtK/2Gjh2jcpPSKCigjIqrAkuiWzQwx/TiAEY4gBz
   c=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: DeEVe60V6dTAMMjtEmxVfhbRBEL1KS/YpGG0WIIPSVwSyi1Ji/zEsySO1+4VgSCO2Ia+QIzwDy
 5V3SiS55RVv4nrRwaU92sM6BwbJ9M4xqLoSqrsCHNRKNi1E/56xxSBFVVKBzkY/MbIZSL4TJ/U
 IbxfvB7k7M5gLjaYvrkeWU2wyu9tNWOues6QVZFaZkE1j8MDtFtBGl4GRWeLWMK9dPwl866BcA
 CSXmsB63tIxFSivNF70hF/I8pVR5H6TSVy0WsHj3H8Wo4pT+GYCkeINkhYVJyVjdNI34uf4Qn8
 QsPmNBhCHC1g+2lRvMQ/V7GX
X-SBRS: 5.2
X-MesageID: 64961691
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:VOFpu6sce3N+Pb0n4B/FyZ2vxufnVLBZMUV32f8akzHdYApBsoF/q
 tZmKWCEOv2JMDT1eYsjOoSzpENXsMSHm9RrHVM4/ngzEH8R+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZQP0VOZigHtIQMsadUsxKbVIiGHdJZS5LwbZj2NYx24bhWWthh
 PupyyHhEA79s9JLGjp8B5Kr8HuDa9yr5Vv0FnRnDRx6lAe2e0s9VfrzFonoR5fMeaFGH/bSe
 gr25OrRElU1XfsaIojNfr7TKiXmS1NJVOSEoiI+t6OK2nCuqsGuu0qS2TV1hUp/0l20c95NJ
 NplhJWAUxYILJT1kctADChpCChxHo1Z0eqSSZS/mZT7I0zudnLtx7NlDV0sPJ1e8eFyaY1M3
 aVGcnZXNEnF3r/ohuLgIgVvrp1LwM3DJoQQt2sm1TjEJf0nXYrCU+PB4towMDIY2JwfQ6+AN
 pNxhTxHXh7HalpWKkgtBbUMgvaHv37Cdg1ipwfAzUYwyzeKl1EguFT3C/LKfvSaSMMTmVyXz
 krk1WnkBhARNPSE1CGItHmrg4fnjS79HY4fCrC83vprm0GIgHweDgUMUlm2quX/jVSxM++zM
 GRNpHBo9/JrshX2EJ+tBHVUvUJooDYtUupKAswo0TiE5feL0jeCD2cnbiFoPYlOWNANeRQm0
 VqAntXMDDNpsaGIRX/1yop4vQ9eKgBOczZcOHZsoR8tpoC6/dpt1k6nosNLTfbt5uAZDw0c1
 NxjQMIWo7wIxfAG2Kyglbwsq2L9/8OZJuLZC+i+Y45E0u+bTNL0D2BLwQKChRqlEGp/ZgPQ1
 JTjs5PGhN3i9bnXyESwrBwlRdlFHcqtPjzGmkJIFJI87Tmr8HPLVdkOvGonfxo3bppZKWCBj
 KrvVeV5vs470JyCNvcfXm5MI55ykfiI+SrNC5g4keaikrAuLVTarUmClGab3nz3kVhErE3ME
 czzTCpYNl5DUf4P5GPvH481iOZ3rghjmz+7bc2lnnyPjOrPDFbIGOxtGAbfMYgEAFas/V+9H
 yB3bZXakn2ykYTWP0HqzGLkBQladCdgXcGv9ZU/myzqClMOJVzNwsT5mNsJU4dkg75UhqHP+
 HS8UVVf013xmTvMLgDiV5ypQOqHsU9XoS1pMCoyE0yv3nR/M4+j4L1GL8k8fKU99fwlxvlxF
 qFXd8KFC/VJazLG5zVCMsWt8N08LEym1VCUIi6oQDkjZJo8FQbHzcDpI1n0/y4UAyvp6cZn+
 ++81hnWSIYoThh5CJqEc+qmyl685CBPmO97U0bSDMNUfUHgrNpjJyDr16dlKMAQMxTTgDCd0
 l/OUxsfoODMpa4z8cXI2v/Y/9v4TbMmExMDTWfB7LuwOS3LxUaZwNdNALSSYDTQdGLo46H+N
 +9b+O7xba8cl1FQvosiT7sylfAi58HirqNxxxh/GCmZdEyiD75tLyXU3cRLsaERlLZVtRHvB
 xCK89hef76IJNnkABgaIw98NraP0vQdmz/z6/UpIRqluH8rreTfCUgCbQORjCF9LaduNNJ3y
 Ogsj8ca9gijh0d4Kd2BlC1VqzyBI3Fov3/LbX3G7FsHUjYW92w=
IronPort-HdrOrdr: A9a23:TJTq0q9XKEm3OnpksoVuk+FAdb1zdoMgy1knxilNoENuHfBwxv
 rDoB1E73LJYVYqOU3Jmbi7Sc69qFfnhORICO4qTMqftWjdyRCVxeRZg7cKrAeQeREWmtQtsJ
 uINpIOdOEYbmIK/PoSgjPIaurIqePvmMvD5Za8854ud3ATV0gJ1XYGNu/xKDwReOApP+tcKH
 LKjfA32AZINE5nJfiTNz0gZazuttfLnJXpbVovAAMm0hCHiXeN5KThGxaV8x8CW3cXqI1SvF
 Ttokjc3OGOovu7whjT2yv66IlXosLozp9mCNaXgsYYBz3wgkKDZZhnWZeFoDcpydvfomoCoZ
 3pmVMNLs5z43TeciWcpgbs4RDp1HIU53rr2Taj8A3eiP28YAh/J9tKhIpffBecwVEnpstA3K
 VC2H/cn4ZLDDvb9R6NqeTgZlVPrA6ZsHAimekcgzh0So0FcoJcqoQZ4Qd8DIoAJiTn84oqed
 MeQ/003MwmMW9yUkqp/VWGmLeXLzYO91a9MwQ/U/WuonlrdCsT9Tpc+CQd9k1wg67VBaM0o9
 gsCZ4Y542mePVmGZ6VNN1xMfdfNVa9My4kEFjiaGgPR5t3c04klfbMkcAIDaeRCds18Kc=
X-IronPort-AV: E=Sophos;i="5.88,318,1635220800"; 
   d="scan'208";a="64961691"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Qk6imrqB89TI7Tv8e+EOVpkW63rmbJpUy9XhSZByneTg1HqPhjdygwxFhzMdeXOnKBfAZKE3QmE3ngVk+9g5ZVzLGGvnyZa+LaTPs8wh3J4ik8GKVfWKy9UP05L/5T/VC5uxMryibi0BTKUNf2+D1ITL5ZNP5kRXe30sHgv79oE1kHt1outT5ffRZgjTOocXXOLiB61uR3QLqRZzlp7l1YfWrJF1/AuI/kEWOhHFWsXPtXCafwWhg+ZyUz4G6SWIKrMnqw2PsgLBVQRNzsSxaauO+gMv5eHBOWaqeGu66eFIf005OxX5pUNHLuMYq6veppM2D8kgCZ36BQW7l7PmNw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Pu5v7E6wpEaDLESZ29unUYXoSklMxrmo4g/8dJDRus0=;
 b=HCA0Xi0k2RszNKo5D9ep64qhkzwIh6acbQ6Ny2XpTGgf5TpCJZUl41mxyC43hyMIQTXpf9CSfAgU6lom7nhPgJlgEKEywvdec1G6DevxIqXpQf12sHkpztVaCXu3zYFatiYUPGdj1TJmStrL2/j5gzQysLC4MtZpOcPCkrS7pdAC6Pe5IrX2lT5ofa3x+88DAW9rXoz1Iu05HkgyfE1CIPlJz+N0nBuS2E+1fsJ8CcZqHYRgBL9J5/NAGUPn/I3iSi+1SYHD3h1IbobuY1yQoMgzLP5M4TKRRvHdQ3RI2GnnHYr2rLniOv82e+5g0UlamOO7dK2AXzA+DUkesfR0ew==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Pu5v7E6wpEaDLESZ29unUYXoSklMxrmo4g/8dJDRus0=;
 b=ppia6lVVilZq3pkc728Ng5xV29zfqXqvKE8RDNTuQSQFoRnP0NplO/Mhni5jMei9udgn5iCEssSL0cfuZkz3JzW6yoZTq77is0BqUgqJft+xvxBIMO2XEQsRRP6YBapPUXVoUXNnczPSAdaix2Uh6tWVDlGTpbtSlvJt5jlAWMg=
Date: Wed, 26 Jan 2022 13:17:27 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich
	<JBeulich@suse.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH 1/8] x86/msr: Fix migration compatibility issue with
 MSR_SPEC_CTRL
Message-ID: <YfE71yLhvV9W7GT+@Air-de-Roger>
References: <20220126084452.28975-1-andrew.cooper3@citrix.com>
 <20220126084452.28975-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20220126084452.28975-2-andrew.cooper3@citrix.com>
X-ClientProxiedBy: PR2P264CA0033.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:101:1::21) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: bf0746cb-b9a6-46c7-13d4-08d9e0c5d403
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6647:EE_
X-Microsoft-Antispam-PRVS: <SJ0PR03MB6647009CDAC329E49D5596B48F209@SJ0PR03MB6647.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: amK7PEz9StVxKZ2JlCeClWlW0Wq9Gk6qlEHAGle7nvt5PWW+8/xqQrTkx8auXv3GDYi6sq+zwT75NTfO/gcORe8GVzAKmJLjJnsPSsWVq49MzmSmrQO+w1LgBR1hmDEjH12HPnF7K0fKxIxIzIu3aMuXrIlavDyvO6vbHKlz5dEV0YA8DlIFur2aQwE4mQOAmmxkJw//BLWH7elZ76Xzbx+NtHk3/7GA8Wk8M/DwsPpD00qJtni6pOOZPMO3czrakkhqJsDEGrOpVzAgaUXQzwC99oBJGHxgHz3f0DGhCkxYDeAORMFnAMfLq7BxGcqVuD1hY+qzxJxk3ETRApc2RrvZrbFCFB8uRuGRjvgj+SGT2L0699oNrB8KzYyg50568fOhUxKgD2SAyTOutP0/12DaM1EEBSWCgcOg+iBK8vc4VJMAz9F2z2lcv3NeAteKGubZ3lrGExdtwRZ0NDdRDvjkts5Hut61KEcyq2/t2zlkfZuneEv1NiwyNP/D9ndiqXvmIdLCLEcfDX2zjRm72wjrDgylcYVPFgaLPT4peWHHLQP6TmqV8ricfY32fTZplalpNFHEU1aWgZT7W0r9Oe3WI5gPl/TL1JDuwyJj5QPKpVQ0AqO+tvUOjtVthkslnk4Li8bm/NXa9u0MUhGxqQ==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(6512007)(4326008)(66946007)(66556008)(6666004)(6862004)(9686003)(186003)(82960400001)(6506007)(85182001)(316002)(66476007)(6486002)(54906003)(2906002)(26005)(83380400001)(8676002)(33716001)(8936002)(6636002)(5660300002)(38100700002)(508600001)(86362001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UklXclJiUVhoM1l0cU9wTjA2N1dpT1Mvc3RpRG1sQy9GSFJHcDd1ZzJpZkNT?=
 =?utf-8?B?VUR3a0VIbC9RQUt5bExiMjQ4YjZDWHluNWhLbFJ0SmIwVGV5a1NRYXdWV2xW?=
 =?utf-8?B?TlBuRk1nWVRpTi8xbnZzb1dtMDZPL1Qzdm5FL2U0S1RITDJSbWlWeGpDSXl6?=
 =?utf-8?B?dUI2TmN5MUN4NkxlbVlqNm8xSVV4dmV5RFM5a2didndWVDBTdCt3SndCVVVl?=
 =?utf-8?B?emZMZVlQWUVhRExZQ1k1K0NuNUVKVXBSaWJEY3QyNVIrU3FGZG5HcktGMERH?=
 =?utf-8?B?dGwyUEpISkFLekdVaHdrdlRmcEJoZEhyY1B1SHFBSkpjS0YzSG5LaHA5VGFB?=
 =?utf-8?B?VFN2VDlmWGQvREhmaWllejhFQWZlTEFtcmZQYzF6UHlybGJ1VmRiUE9mcjJx?=
 =?utf-8?B?N2VHU3hRWDZkU2EwUFdQNVBlTkw2dXlsdDJUZVZFcG5aYkdra2RDQjdZc2Jr?=
 =?utf-8?B?QWhGMkNleFZ4Ny9mVkVqdnhtNENVcHl6eStleTUwOEZSN2ZMZHVtdjhSOUhY?=
 =?utf-8?B?TlQ0TVhqQ3Q2SStzTVIxNU9vZ29oN0Nwd0tyTUswVU1lQ3BnQ0R2TStscHlu?=
 =?utf-8?B?a1ZuUUN1dHQzU25za25GT01EYkQzcVRJYTZzVnhqeHh6b2JYSjMyc3ZZNFFk?=
 =?utf-8?B?ZjhsOXcybHZJcnVydTRKOEQxT0Z6WlpmdytaVDN1d0k0OERlZE1WY0ZVRlVG?=
 =?utf-8?B?cE10ZjNGSzNJTGFxS1NqTnJ2UVY5UWdlbXY0RGV3UlNnVE8vZ3g2Wm9OZzlU?=
 =?utf-8?B?ZUhEQmowQmJvbEZudnI0ajlycVgybzlYbFJ6a29OdWlaZW9WTlJRb3ozbW1r?=
 =?utf-8?B?ZDdvREtnQWJiQ3dGQXVPRlRHYzZPVWhWT3c2SWswbi9VUUpLYytZRTdpVXQy?=
 =?utf-8?B?RW05Wm9WZGdzNUZaaUp6OWlRZGNIYVd2a25nVjRUMUhwbEUxcHMyUUMxZjdM?=
 =?utf-8?B?OHZaYlhMK1JTV2x3WmxwT0E2MW9qei9LNnY4R0JnbXNUZXdudVVyeHdxdzAy?=
 =?utf-8?B?MkpVMzlxV1pmY3hMeGZHeU0vTE5lektrNDhaVjFoeFNWSXkvQnRGaEpiODFk?=
 =?utf-8?B?Tm9ZN3VwREZJaU5RdUV2RllvUjhaWHJSa0FpUFJkSWprOE9vMHV0bzVvSUJ5?=
 =?utf-8?B?QmZKcDNNK00wYUplZ0RFWHl4Y1luclBNSUt4YnpwaUkzaGxpN0dLNXhEZnVu?=
 =?utf-8?B?UEJWTVkwSVBad05QVjloWEdPaWVVVU5BVUVrcW9NazBZNEVjUkF2RXNNbStQ?=
 =?utf-8?B?S2dBcXBnakFuVXVDaTU0clJYMjE2TkVRTVVhN3VKdWZuN2pucWJMT2xKQmpi?=
 =?utf-8?B?aGN0Q3BlMWJSY21RK2hINGdTK3RTeWJYUXVQYkZsa1hsQWVpTVFMNkdueVl6?=
 =?utf-8?B?QzhBUDBPRCtBY2Q1V2xsOGE3MENwa3F6NHoweldzUHczaW9weXRJdWlZbEpY?=
 =?utf-8?B?N3lud2t5T1pBUjNaUDBybGcxNHpmUTdwUnVLV2N6emEwZnQzUi9PL0lOcndD?=
 =?utf-8?B?V202QithTkJIS09mTjJ2RUVpa2ZuOTFQNHdBQk85QUNIU2VBSTE3QWFhTWYy?=
 =?utf-8?B?aEdzdWFuQ1p3L3Bma3ZHazRMSGdKek9XQ0dwWThjUzhLQlB2U1A2Y1dFOHIv?=
 =?utf-8?B?TXdJQTZBV0ZoZDE2WjQzdUllbVczWDlkeTdaYk9DSU5VYnRjMTloaUQ3MlpP?=
 =?utf-8?B?Y2dKOVZadGdBTko2b2RyUW5KeC9SMmV0b0tXanBBOEhvNlN1OGJHQlY1d2lN?=
 =?utf-8?B?aDhkR0F5aWwvMm1xcU1FeDFyZW5YaW5HOXprRldCSWh5NkpKKzE2SU5DcXpy?=
 =?utf-8?B?MUVQSlZOME1MU2NzVDk5MWFkVUc5SnI5WTFBWGt5Q3k2Z3oyUm1XNkIwdUgy?=
 =?utf-8?B?aEs3RCtEZzJabkVJUFZtL2hLVWdkMUk4QVFGUkkzbFhvaGloT0FLY1JObnRB?=
 =?utf-8?B?Z2p5cG1kS2lsRFBlL1hxSFl0eCtLcEFlTW16RHgyUnJOclVIWjQxU3JvMVZM?=
 =?utf-8?B?M3h3OXQ4WUdPY3RLYzgxT2NTRTBkTUJiRkVDd3NyS000WHExbTJ6SkZpTGpT?=
 =?utf-8?B?NWo5amJ2anNiK1J5RUR1bU94K1poZ0dMQUJpU3BsL3l5SENFSjh0aFhzV3FE?=
 =?utf-8?B?ZUV5ZFY4dFh4NmlScUVtblZhWmIyV3NJV1pGc256NXlpVjZjT2w2VkQ5MTh5?=
 =?utf-8?Q?Y2hj09Z0pHCq33IX5b3ULcg=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: bf0746cb-b9a6-46c7-13d4-08d9e0c5d403
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 12:17:32.1348
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Js5ZVQy04Xqc/5bHLUo55czNSe8UQ8Vr5VqfcjiCBubikwN9jCSiLKR44i4xhAgcaE3YYIPXM7hDaKVs2IP5kw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6647
X-OriginatorOrg: citrix.com

On Wed, Jan 26, 2022 at 08:44:45AM +0000, Andrew Cooper wrote:
> This bug existed in early in 2018 between MSR_SPEC_CTRL arriving in microcode,
> and SSBD arriving a few months later.  It went unnoticed presumably because
> everyone was busy rebooting everything.
> 
> The same bug will reappear when adding PSFD support.
> 
> Clamp the guest MSR_SPEC_CTRL value to that permitted by CPUID on migrate.
> The guest is already playing with reserved bits at this point, and clamping
> the value will prevent a migration to a less capable host from failing.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau Monné <roger.pau@citrix.com>
> CC: Wei Liu <wl@xen.org>
> ---
>  xen/arch/x86/hvm/hvm.c         | 25 +++++++++++++++++++++++--
>  xen/arch/x86/include/asm/msr.h |  2 ++
>  xen/arch/x86/msr.c             | 33 +++++++++++++++++++++------------
>  3 files changed, 46 insertions(+), 14 deletions(-)
> 
> diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
> index d7d3299b431e..c4ddb8607d9c 100644
> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -1340,6 +1340,7 @@ static const uint32_t msrs_to_send[] = {
>  
>  static int hvm_save_cpu_msrs(struct vcpu *v, hvm_domain_context_t *h)
>  {
> +    const struct domain *d = v->domain;
>      struct hvm_save_descriptor *desc = _p(&h->data[h->cur]);
>      struct hvm_msr *ctxt;
>      unsigned int i;
> @@ -1355,7 +1356,8 @@ static int hvm_save_cpu_msrs(struct vcpu *v, hvm_domain_context_t *h)
>      for ( i = 0; i < ARRAY_SIZE(msrs_to_send); ++i )
>      {
>          uint64_t val;
> -        int rc = guest_rdmsr(v, msrs_to_send[i], &val);
> +        unsigned int msr = msrs_to_send[i];
> +        int rc = guest_rdmsr(v, msr, &val);
>  
>          /*
>           * It is the programmers responsibility to ensure that
> @@ -1375,7 +1377,26 @@ static int hvm_save_cpu_msrs(struct vcpu *v, hvm_domain_context_t *h)
>          if ( !val )
>              continue; /* Skip empty MSRs. */
>  
> -        ctxt->msr[ctxt->count].index = msrs_to_send[i];
> +        /*
> +         * Guests are given full access to certain MSRs for performance
> +         * reasons.  A consequence is that Xen is unable to enforce that all
> +         * bits disallowed by the CPUID policy yield #GP, and an enterprising
> +         * guest may be able to set and use a bit it ought to leave alone.
> +         *
> +         * When migrating from a more capable host to a less capable one, such
> +         * bits may be rejected by the destination, and the migration failed.
> +         *
> +         * Discard such bits here on the source side.  Such bits have reserved
> +         * behaviour, and the guest has only itself to blame.
> +         */
> +        switch ( msr )
> +        {
> +        case MSR_SPEC_CTRL:
> +            val &= msr_spec_ctrl_valid_bits(d->arch.cpuid);
> +            break;
> +        }

Should you move the check for !val here, in case the clearing done
here zeros the MSR?

> +
> +        ctxt->msr[ctxt->count].index = msr;
>          ctxt->msr[ctxt->count++].val = val;
>      }
>  
> diff --git a/xen/arch/x86/include/asm/msr.h b/xen/arch/x86/include/asm/msr.h
> index 10039c2d227b..657a3295613d 100644
> --- a/xen/arch/x86/include/asm/msr.h
> +++ b/xen/arch/x86/include/asm/msr.h
> @@ -277,6 +277,8 @@ static inline void wrmsr_tsc_aux(uint32_t val)
>      }
>  }
>  
> +uint64_t msr_spec_ctrl_valid_bits(const struct cpuid_policy *cp);
> +
>  extern struct msr_policy     raw_msr_policy,
>                              host_msr_policy,
>                            pv_max_msr_policy,
> diff --git a/xen/arch/x86/msr.c b/xen/arch/x86/msr.c
> index 2cc355575d45..5e80c8b47c21 100644
> --- a/xen/arch/x86/msr.c
> +++ b/xen/arch/x86/msr.c
> @@ -435,6 +435,24 @@ int guest_rdmsr(struct vcpu *v, uint32_t msr, uint64_t *val)
>      return X86EMUL_EXCEPTION;
>  }
>  
> +/*
> + * Caller to confirm that MSR_SPEC_CTRL is available.  Intel and AMD have
> + * separate CPUID features for this functionality, but only set will be
> + * active.
> + */
> +uint64_t msr_spec_ctrl_valid_bits(const struct cpuid_policy *cp)
> +{
> +    bool ssbd = cp->feat.ssbd;
> +
> +    /*
> +     * Note: SPEC_CTRL_STIBP is specified as safe to use (i.e. ignored)
> +     * when STIBP isn't enumerated in hardware.
> +     */
> +    return (SPEC_CTRL_IBRS | SPEC_CTRL_STIBP |
> +            (ssbd       ? SPEC_CTRL_SSBD       : 0) |
> +            0);

The format here looks weird to me, and I don't get why you
unconditionally or a 0 at the end?

I would also be fine with using cp->feat.ssbd directly here.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 12:18:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 12:18:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260853.451012 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nChFV-0001aK-Sv; Wed, 26 Jan 2022 12:18:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260853.451012; Wed, 26 Jan 2022 12:18:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nChFV-0001aC-Pa; Wed, 26 Jan 2022 12:18:05 +0000
Received: by outflank-mailman (input) for mailman id 260853;
 Wed, 26 Jan 2022 12:18:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DU/T=SK=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nChFU-0001AY-LB
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 12:18:04 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 01de8784-7ea2-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 13:18:03 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 01de8784-7ea2-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643199483;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=p0k3zJb9kf+iQGr0vjYjFn/7z/q6j2NDS4cvBP7PuYI=;
  b=dS+efInn4ggvezrVPFy9zstvHaCYxfP1tNFYRtsK0pnMjWWnRYUF4/+N
   cHyzAvZc/nPz16BMFq1Oic0ZoHv5OxANOwpKW2g79mS2ns8+o/ndXCdPY
   AVttDt8n/nWhN6mjSJM81awKWDe6/TmM9TdKDE5asm0d6TS9VXHZcH+aM
   c=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: SGxvciOdOfEE01dw79eGWu/cDoMRfHbjC2qcNMpIxZ8gqt6XGwtrjbLLqUh9M9liIFecYoUqWH
 bW34TAVG8o8DWBfMwBQwX2MaSPSDrH8yU7g1wmWZrnKJ9UtXCUBa9GLaBLL+5oKiElGmkZRItx
 V2b3c+hesqMKyKCMZbjAdKcRCRa6rzPykDDfuhch1DTMRF8npmALHc9jQPEy3NV/t/YGNxOENY
 YKBVMa6Dkm7sV32BHq3TSaaHkPGqrP8SPkTL6Th6/WUHnFbE8VSxgMG3tqSsen0N/rFJbv+PPu
 tmcH+XKnzJ7hwZ67X8O86E+P
X-SBRS: 5.2
X-MesageID: 63200838
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:W5MjOKoQ+m1wKVb3T8U0INdes5ReBmL1YhIvgKrLsJaIsI4StFCzt
 garIBmFPf3bNmX2ct11PYW/800AscPUy9UyGQJr/yhgEikV85uZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlZT4vE2xbuKU5NTsY0idfic5Dndx4f5fs7Rh2NQw2ILnW1nlV
 e7a+KUzBnf0g1aYDUpMg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJ8DO+iL
 9sv+Znilo/vE7XBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XnRfTAKtao2zhojx/9
 DlCnYKTVFcYOY3zovZDAyN/HC1+LbNE5bCSdBBTseTLp6HHW37lwvEoB0AqJ4wIvO1wBAmi9
 9RBdmpLNErawbvrnvTrEYGAhex6RCXvFKoZtmtt0nfyCvE+TIqYa67L+cVZzHE7gcUm8fP2O
 ZFDMWI/N0SojxtnZkpKJLgMn/WRg1bmayVYs1u0gatnyj2GpOB2+Oe0a4eEEjCQfu1Kmm6Iq
 2SA+H72ajk4HtGCzTuO8lq3m/TC2yj8Xeo6BLC+s/JnnlCX7mgSEwENE0u2p+GjjUyzUM4ZL
 FYbkhfCtoBrqhbtFIOkGUTl/jjU5XbwRua8DcUkyxzd+6303DyLWDg+aTFNaMw4ttI5EGlCO
 kCyo/vlAjlmsbuwQH2b96uJoT7aBRX5PVPudgdfE1JbvoCLTJUby0uWE409SPLdYsjdRGmoq
 w1muhTSkFn6YSQj86ygtW7KjDu3znQiZl5kv16HNo5JA+4QWWJEW2BKwQSKhRqjBNzAJrVkg
 JTis5LPhAzpJcrV/BFhuM1XQNmUCw+taVUwe2JHEZg77CiK8HW+Z41W6zwWDB43bp1dImK3P
 BOO6Vw5CHpv0J2CN/4fj2WZUJxC8EQdPY69CqC8giRmP/CdizNrDAkxPBXNjggBYWAnkL0lO
 IfzTCpfJS1yNEiT9xLvH711+eZynkgWnDqPLbimkUjP+efANRa9FOdUWHPTP7tRxP7V/23oH
 yN3apHiJ+N3CrOuO0E6MOc7cDg3EJTMLcmm8pMMLr/afFMO9aNII6a5/I7NsrdNxsx9vuzJ4
 mu8Sglfzl/+jmfAMgKEdjZob7aHYHq1hSlT0fUEMQn61n49T5yo6atDJZI7caN+rL5ozOJuT
 ulDcMKFW6wdRjPC8jUbTJ/8sI09K0j72VPQZ3KoMGolYpptZw3V4du4LAHhwzYDU3isvswkr
 rz+ig6CGcgfRx5vBdr9Ye60yw/jpmAUne9/BhOaItRadEj23pJtLij90q0+L80WcE2RzTqGz
 QeGRxwfoLCV8YMy9dDIg4GCrpuoTLQiThYLQTGD4O/vZyfA/2elzYtRa8qyfGjQBDHu5aGvR
 eRJ1PWgYvcJq0lH7thnGLFxwKNgu9a2/+1Gzh5pFWngZkiwDu8yOWGP2MRCu/EfxrJdvgfqC
 EuD9sMDZOeMMcLhVlUQOBAkfqKI0vRNwmve6vE8IUPb4i5r/eXYDRUObkfU0CENfqFoNI4Fw
 Ps6vJ9E4gOyvRMmL9Kag30G7G+LNHEBD/0qu5xy7FUHUeb3JoWuuaDhNxI=
IronPort-HdrOrdr: A9a23:9Hyuz63gIth76Qft4sg8TAqjBQByeYIsimQD101hICG9Lfb2qy
 n+ppgmPEHP5Qr5AEtQ4uxpOMG7MBbhHO1OkPMs1NaZLUTbUQ6TQr2KgrGSugEIdxeOldK1tp
 0QP5SWaueAdWSS5PySiGLTcrYdKbG8geaVbIzlvhNQpHRRGsddBnBCe2Gm+yNNNWt7LKt8MK
 DZyttMpjKmd3hSRN+8HGM5U+/KoMCOvI76YDYdbiRXpzWmvHeN0vrXAhKY1hARX3dk2rE561
 XIlAT/++GKr+y78BnBzGXehq4m1ucJi+EzRfBkuPJlaQkEuTzYJriJnIfy+QzdldvfqGrCVu
 O85yvIcf4DrE85NVvF3CcFkzOQrArGrUWSkGNxxRDY0JTErXsBerR8bY41SGqn12Mw+N57y6
 5FxGSfqt5eCg7Bhj3045zSWwhtjVfcmwtrrQc/tQ0obWIlUs4ZkWXfxjImLL4QWCbhrIw3Gu
 hnC8/RoP5QbFOBdnjc+m1i2salUHg/FgqPBhFqgL3e7xFG2HRii0cIzs0WmXkNsJo7Vplf/u
 zBdqBljqtHQMMaZb90QO0BXcy0AGrQRg+kChPYHX33UKUcf37doZ/+57s4oOmsZZwT1ZM33I
 /MVVtJ3FRCDH4Gyff+qKGj3iq9MFlVbA6dv/22vaIJy4EUbICbQhG+dA==
X-IronPort-AV: E=Sophos;i="5.88,318,1635220800"; 
   d="scan'208";a="63200838"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VicoJWHXosYoimT074cU6S8DWXJeWhU7jg+mk9M0ubEjTxbHNANa7f8lrNMjClAmMh37EiCyqcj1qHCi2yqJwdZtQ+lwOYaayWQ5Zz9bZdpmDUhlHA1O3yx3YzPl38oM8hDfcZK8TSOUeQBqI8VG8MFsUmNLWiGJ6TpBIN4D9i6utP0vtURdqA9KPQzcy95mqEsm8EoodXcQCL8iIPxasP/GUkSUgtnIjBWAD/F5kmtjJfTWongtm7uCesV+KtsOJKk/W0qlCoGU/JbMFiGFu+sb8dnjBo6h7TskzkV6K9lI3Tcvm4wRqxvoxBj/KtjUw4xdXBuQo8jZ7WZ5lF8fXg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=p0k3zJb9kf+iQGr0vjYjFn/7z/q6j2NDS4cvBP7PuYI=;
 b=n2wohcjKgOBmhU0TdswekvLAVEPENYYWjS7UrImpUkUNHFCbm2tjh3jUPYMTmFEcFOlhUIzI7eTulYipQT5l34eg1IOjYw9bd7bLwkhwI2NlX/rsKkAV89ryj0u6TbSr3RRl/J0Rtk8/Kv6A4SbfNZ1aqrzEMJe/7MpITSBVwCMClJI1zxTaYLexuJu04spLynnTWQs7psK9rliWG6Ki1WDywVlEIDUpKKMMlHEZmzQg0W31UnLzDX785MhccTvyIdx6UlZxfO7jkfFdHFjtTnH87/l7dSXt77hnbWHkSk1vP2wX+CN8ItAWeJaj4LFcWMA29+aUcgYbZMf6nXUzug==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=p0k3zJb9kf+iQGr0vjYjFn/7z/q6j2NDS4cvBP7PuYI=;
 b=vubiz71kXQcx/wbgtDkLEQgsQEpMBTD5Y1mBXhwS+9INkniecIi7Shvkt0MW/edIkloFm8JsISWTAK4d8eDF2j0nlxKIKKPALAi/rmNuQ78vqGi+2cGAV3/y1Uq4jN0rdrrdijHdQZYjSFspDNlbIgm32kAwTufq021lHv8EVFQ=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Jan Beulich <JBeulich@suse.com>, Roger Pau Monne <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: Re: [PATCH 8/8] x86/cpuid: Enable MSR_SPEC_CTRL in SVM guests by
 default
Thread-Topic: [PATCH 8/8] x86/cpuid: Enable MSR_SPEC_CTRL in SVM guests by
 default
Thread-Index: AQHYEpESkkbYY5JPR0iMlxtcJtQdZax1OFyA
Date: Wed, 26 Jan 2022 12:17:55 +0000
Message-ID: <e5a79023-edc9-b5fe-b7d7-f23da32a01b5@citrix.com>
References: <20220126084452.28975-1-andrew.cooper3@citrix.com>
 <20220126084452.28975-9-andrew.cooper3@citrix.com>
In-Reply-To: <20220126084452.28975-9-andrew.cooper3@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 21a0ae4c-109c-439a-36cc-08d9e0c5e1f5
x-ms-traffictypediagnostic: CY4PR03MB2967:EE_
x-microsoft-antispam-prvs: <CY4PR03MB29679F9486771472DB954E40BA209@CY4PR03MB2967.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: dyREN6agdPZ1rKrV/m6kWCHV9cBP9JTywBnika+Xewatgjf/+l8qAo5shFzhS2CqewJZ3z2JGq9FXjZ3E4Jdl9bW/RroJPcp+SzJoj4QTNER9Ewb9+BycHAIABgdgN3QSADuEgUCIDWpRbQhvIku/HTJkFMpbHP49r9/Pv7SjiVCrOplkoRtB7OsqtQUqXOObTih0iyHe2aFcXd/4gk0hbauc4DMwQcR9AOYx/peQ8lm/yeGrYSeWx86uit2IXNE0HuOWXh+oHUbCCqP7ZNVo66tLpi90t1vkJzBDI3HZ1mjx04sxulFzQJWxLIHTEhW2wJEZX2mvnhT+T6iJ48L6Biit8+j/zCcvKFENcoFllOBM9LWSBzkCKxciMUbSKx14vX96XdQ8EtXukHsT57FO+WduDa7eG+yPfeuO/CpEJpQvTz6J0LYNpAo7RWWdf36s6q3npiL/qAo3F6XOXXzYpTxsu7rNPluYiWHmq5mVddTK5vlS3ZkcexkwsPYjRCLSQXr8CulkP8sLJiwkXMDttYIhBo8PlHARcRmTmPCmAVHXtp6/POHUL3lG8lDprSkixcu1bZr4DGS4Sm7ARv9z5EeCtYDWvUYIkKSC+lljWvpB1EFxpLYTRPitbDje+StbpbpB8vjLaxf1QHdA5k+fOFSpiG8q3zHEm32f1R7x66w5Qs59gf9UelluTp+Hq/FYqp8VlVnQuJ5VSQENOF13B330CrKvcDcjg/YOO2OyFRyuqUSUbRcsWo36qsfeBaopxCDw52DnOO966nPc8YRYg==
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:(13230001)(4636009)(366004)(38100700002)(82960400001)(83380400001)(122000001)(76116006)(66556008)(66946007)(91956017)(66476007)(64756008)(66446008)(8936002)(54906003)(8676002)(316002)(86362001)(2906002)(31696002)(31686004)(5660300002)(4326008)(508600001)(36756003)(6916009)(53546011)(6506007)(6512007)(71200400001)(38070700005)(186003)(26005)(6486002)(2616005)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Q3czNzdFOE02cVh2Q1VIUVZjM1k1Rlc1bkRuL3ZSYWM3eDE0VFRhYTlsZTVL?=
 =?utf-8?B?dXNydEEvRkZRcnBCT3hKNVliTnhYUXdvYnplL2YvUXhuVGVua21qd1Z3V0pB?=
 =?utf-8?B?TnZBU05FeWtIc2I3bTgxUUFwbmhLcy9UN2wrV1JMRHhhZ3BhZHA1amNFczNF?=
 =?utf-8?B?MjNORTEwMW5PdVR2MW9BOFlTMlkyMXJteW5UdnNJY2szdFovaVd4WFM1MTFs?=
 =?utf-8?B?OERSNW10emp0SHYxbXVzcG1OVkhOSEhJWVdKbnVlbWtoUmdnekc2ZFZraFUz?=
 =?utf-8?B?SEJoSVBkNktHQ2pSTGYvclVuOU5UampKR0IwZXNibTI5NFpPWWNiZzJjZENE?=
 =?utf-8?B?Mk8zTXJseGsyMkhHdEVJdlMzTE9CbW14VG9jL050RWhGVklvbUo5dytCMWVR?=
 =?utf-8?B?Q3lNemtMcENMYW0vZHcrTU1WMU1HZS80YWtXTTFhY0NCZ053WGM3a1cwVVdW?=
 =?utf-8?B?MEVEUysxWHZSaGtFQS9Vd3AwZ28zbUpiT0MySm1xTXB4WlNKbXJUbER6RnBI?=
 =?utf-8?B?S3RGMklzNmQ3QXpUQkhJQzlZUHFGYW84a1FDL3Fvd1pxWTgrbkFEZzJIa0U2?=
 =?utf-8?B?elZ6Y20wQThIU2FyYjJIUy9ja3I3eitZbEtNYWFrYWN5QTdpSDRIdlYvaDlB?=
 =?utf-8?B?N292YnExbTBVUlpESVZYMWpIWGM0a2xiOHNRVGNsZ2RhakYzeDVDUHdxUS80?=
 =?utf-8?B?NnZDK3F5YzZmSHdiaG5ZUkJQZEJBb0NST2dNNlNnSklMN3hlMmJyWFowejE1?=
 =?utf-8?B?aWV2NlZVY3ZGcms4YjVlckZ4VlUxeXp6OGtkQU1ndFlQSE5YWTV1MlVFYXln?=
 =?utf-8?B?RUg2WHJFcmdlUm56bld0QzZ2TFpvS01FUE1hL2JLWGIvY3NMNkN6eEZKUXBD?=
 =?utf-8?B?Ui9xY2dNZVc3QVNJZS9ZRENIVWpiUmNVSGNOOHNKSkJwVDVETTJQSHc4bWFL?=
 =?utf-8?B?YS9IZnV6VkFPQ3Q5eStYSjRHTHh0dWNINWRZYXFQdFBOa3o1SHpIUjVpcStl?=
 =?utf-8?B?QVhnNk9yWUovMkNESkl0MHRFYVdiWm8yaitQU2dhM04rYUFQUTlxejdCb1dM?=
 =?utf-8?B?QWNCL3ZpZzlPNnJCb29pclo0dGx6R0Q4azZzdG13eDlpQlVpaHVmYTJiNWN0?=
 =?utf-8?B?YTVtK2xFVnVWWlRkYWZ6M01JaDc3Y1hRYnZXOHRPZXJxWW5pY3J6YVNObUFT?=
 =?utf-8?B?N0lWcFhZOXdTWlRXcmVXNDdFKys1L0lQNERWVXRFVFFYS1hPSytOdDVUQUhy?=
 =?utf-8?B?cjBZQ0hxT0NwNkVZYWRLK25ZZmdJempJQ3M5Vk1Md2tjZGFKQVZ0d09ralcw?=
 =?utf-8?B?Kzc3aGJZS2hwdUkxMkk2K0JiUjhUdGppWTJ6SmlhK3hDVzdqa2tuemdUcHIx?=
 =?utf-8?B?a2xvQ0d0VDcwUldUejE2TnN1UHhjRFFsUUtnd1lUcjBoUUx0eDZXVDRuemFk?=
 =?utf-8?B?cFl6UnplWUlQUEdBTGdMcXdGY0habHZXeE1ZME0yZlhtaXVGdTN4citOeHlr?=
 =?utf-8?B?SHIrL2c5MEJIQlc4WjFzSlJHZ0R0dE1CVnVLbkdKN0RoV1oxRVF6T2p0RkNX?=
 =?utf-8?B?NzhrMHdqMjFWS05NY0dqSEVYQnV3bW41MnJiUE9hYXpkRUtZRkM1N3JtNmV6?=
 =?utf-8?B?Sjhlb2RYbE1tSjZRUDM2RlAwZVlqbG51WnVEaTNSdldIQUFFeHFFTDJaS25x?=
 =?utf-8?B?NDh4LzlBVnQ1WnFNR0dmTEhyMHBKOGZyVSt5TEVJM09TVWtxWVBXL003L3Bm?=
 =?utf-8?B?b3gwY2s4bmNKNlVUL1orSm9zSHRJR2dmRVcvMGV3Y1djeG5LTEd2NVpLenRx?=
 =?utf-8?B?YVJPKzk3cmJ2ZDR2d2FaMG5Fdm8yb2ZsS29ldG92MzJ6YTRobUJ3MEgzU3Zh?=
 =?utf-8?B?VUZJMWE4T0dUYVpSOTVPK0E0THJBMFBMZnZzNk9USVNIMlo4Q2FXQmY0VVUx?=
 =?utf-8?B?KzFyWlk4cDZYN1RwUFV1S2xqb3ovdGJwZEFIeHArR1ZBalJEL0lPQlpiT280?=
 =?utf-8?B?dGUrYmFyOUhnNWFZdTlyOHlEc29UUUdRd2xDL1NCU2M2QmtuakF0VU9QRXRV?=
 =?utf-8?B?R1hiNzVKTEh5UFkrMjl1NGwvMG5vR3g3MGt1YlVkNE1xUExPckR6MWVxZjBC?=
 =?utf-8?B?dkgvdENNR0JJVmhOcVg4WU96L1FXSDRiaTIyRDN1Rm9XNHpFTExOQTZ2N3Jp?=
 =?utf-8?B?aW54YTdzWktJU21CZjFuc1NMZ2E3RGswOElvSWZlWHN5RDNJeXg4VndqRzNs?=
 =?utf-8?B?OUxNU0I5eEdHQTcwOG5aUDJ4UFlBPT0=?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <562F38E15DF6664C995608358776DBA3@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 21a0ae4c-109c-439a-36cc-08d9e0c5e1f5
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Jan 2022 12:17:55.3133
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: sdRrymRCY5PZs9G3ShNBxInjZ15PMlWymOIZJtiUjfMUiR8JA5QirywJbTfEU4W2PZyVitHet08cD2+k+jRifPOpt6bJMQQ6NEtsyk/CxDY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR03MB2967
X-OriginatorOrg: citrix.com

T24gMjYvMDEvMjAyMiAwODo0NCwgQW5kcmV3IENvb3BlciB3cm90ZToNCj4gV2l0aCBhbGwgb3Ro
ZXIgcGllY2VzIGluIHBsYWNlLCBNU1JfU1BFQ19DVFJMIGlzIGZ1bGx5IHdvcmtpbmcgZm9yIEhW
TSBndWVzdHMuDQo+DQo+IFVwZGF0ZSB0aGUgQ1BVSUQgZGVyaXZhdGlvbiBsb2dpYyAoYm90aCBQ
ViBhbmQgSFZNIHRvIGF2b2lkIGxvc2luZyBzdWJ0bGUNCj4gY2hhbmdlcyksIGFuZCBleHBsaWNp
dGx5IGVuYWJsZSB0aGUgQ1BVSUQgYml0cyBmb3IgSFZNIGd1ZXN0cy4NCj4NCj4gU2lnbmVkLW9m
Zi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4NCg0KU1ZNIGd1
ZXN0cyBnZXQgcmF0aGVyIG1vcmUgc3BlZWR5IHdpdGggdGhpcyBodW5rLCB3aGljaCBJIG1pc3Nl
ZDoNCg0KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vc3ZtL3N2bS5jIGIveGVuL2FyY2gv
eDg2L2h2bS9zdm0vc3ZtLmMNCmluZGV4IGJjODM0NTU2YzVmNy4uZjExNjIyZWQ0ZmY4IDEwMDY0
NA0KLS0tIGEveGVuL2FyY2gveDg2L2h2bS9zdm0vc3ZtLmMNCisrKyBiL3hlbi9hcmNoL3g4Ni9o
dm0vc3ZtL3N2bS5jDQpAQCAtNjA2LDYgKzYwNiwxMCBAQCBzdGF0aWMgdm9pZCBzdm1fY3B1aWRf
cG9saWN5X2NoYW5nZWQoc3RydWN0IHZjcHUgKnYpDQrCoA0KwqDCoMKgwqAgdm1jYl9zZXRfZXhj
ZXB0aW9uX2ludGVyY2VwdHModm1jYiwgYml0bWFwKTsNCsKgDQorwqDCoMKgIC8qIEdpdmUgYWNj
ZXNzIHRvIE1TUl9TUEVDX0NUUkwgaWYgdGhlIGd1ZXN0IGhhcyBiZWVuIHRvbGQgYWJvdXQgaXQu
ICovDQorwqDCoMKgIHN2bV9pbnRlcmNlcHRfbXNyKHYsIE1TUl9TUEVDX0NUUkwsDQorwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNwLT5leHRkLmlicnMgPyBNU1Jf
SU5URVJDRVBUX05PTkUgOg0KTVNSX0lOVEVSQ0VQVF9SVyk7DQorDQrCoMKgwqDCoCAvKiBHaXZl
IGFjY2VzcyB0byBNU1JfUFJFRF9DTUQgaWYgdGhlIGd1ZXN0IGhhcyBiZWVuIHRvbGQgYWJvdXQg
aXQuICovDQrCoMKgwqDCoCBzdm1faW50ZXJjZXB0X21zcih2LCBNU1JfUFJFRF9DTUQsDQrCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjcC0+ZXh0ZC5pYnBiID8g
TVNSX0lOVEVSQ0VQVF9OT05FIDoNCk1TUl9JTlRFUkNFUFRfUlcpOw0KDQoNCkkndmUgZm9sZGVk
IGl0IGludG8gdjIsIGJ1dCB3b24ndCByZXBvc3QgZm9yIGp1c3QgdGhpcy4NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 12:21:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 12:21:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260860.451023 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nChIw-0003As-Fd; Wed, 26 Jan 2022 12:21:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260860.451023; Wed, 26 Jan 2022 12: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 1nChIw-0003Al-Cf; Wed, 26 Jan 2022 12:21:38 +0000
Received: by outflank-mailman (input) for mailman id 260860;
 Wed, 26 Jan 2022 12:21:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MeDS=SK=xilinx.com=ayankuma@srs-se1.protection.inumbo.net>)
 id 1nChIu-0003Af-Pi
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 12:21:37 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam07on20613.outbound.protection.outlook.com
 [2a01:111:f400:7e83::613])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7f5a44f7-7ea2-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 13:21:34 +0100 (CET)
Received: from BN9P222CA0001.NAMP222.PROD.OUTLOOK.COM (2603:10b6:408:10c::6)
 by DM6PR02MB6457.namprd02.prod.outlook.com (2603:10b6:5:1fd::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.10; Wed, 26 Jan
 2022 12:21:29 +0000
Received: from BN1NAM02FT008.eop-nam02.prod.protection.outlook.com
 (2603:10b6:408:10c:cafe::a6) by BN9P222CA0001.outlook.office365.com
 (2603:10b6:408:10c::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.8 via Frontend
 Transport; Wed, 26 Jan 2022 12:21:29 +0000
Received: from xir-pvapexch01.xlnx.xilinx.com (149.199.80.198) by
 BN1NAM02FT008.mail.protection.outlook.com (10.13.2.126) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4930.15 via Frontend Transport; Wed, 26 Jan 2022 12:21:28 +0000
Received: from xir-pvapexch01.xlnx.xilinx.com (172.21.17.15) by
 xir-pvapexch01.xlnx.xilinx.com (172.21.17.15) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2176.14; Wed, 26 Jan 2022 12:21:27 +0000
Received: from smtp.xilinx.com (172.21.105.198) by
 xir-pvapexch01.xlnx.xilinx.com (172.21.17.15) with Microsoft SMTP Server id
 15.1.2176.14 via Frontend Transport; Wed, 26 Jan 2022 12:21:27 +0000
Received: from [10.71.117.101] (port=49686)
 by smtp.xilinx.com with esmtp (Exim 4.90)
 (envelope-from <ayan.kumar.halder@xilinx.com>)
 id 1nChIk-0006vo-Gu; Wed, 26 Jan 2022 12:21: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: 7f5a44f7-7ea2-11ec-8f75-fffcc8bd4f1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fTQRWfP6FFmbZK2/VgSSOs+AmFyf0L6175wc0V2gXYBuOT+c1pZsnP9u86Zo2gK5D97eQxLBqc+LdYw/la2f3Ld+w94eV4NUlIzmCulroB0zWE0dTL+lJlQRFdIhmrCbNcg2OnFZDcqR3IWNPU0S5uArKEMvCNUJh3Qefmjwrezq6C+OeyZUyeFxqkda/yzgjj+Hx0p9z3Ir1cA7zVPIHwpPDdZpxF0bMi/bJ1B6eoO05RWZZ2s6mzOeqfzHUAJK7itjGnBTMtcySebUuX5YV1IPpvccDl+i1Y3XfU9/9FLGDH7VhNdgy/6ow2lsTZLt92bcKuRV2VBxSvqwhsF48A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JXUuvTYxWPm4IBtlsgLQZTuvg1lUIFZmPoNNdspbnGM=;
 b=VSiNQuoc3momXIL/8UEjrJ3E9ME4CbAlkCi2Im8HQ5tt6EJyqD2sexNpNHQswrJq+fjD0PewSkoq3bKmqdJp/UQtzOtPLXRgt8ku0qePMvz/YTOW6WMf45Pp3eqslqxAOczDK8bz6na8gR/9r7fOcVKSegY2JYubylBPWH4FtYYelFQMbhaP0fcNwPIhDmgMFidwdFniihvSdlWQh19RUg+zn6GkEo1OpjQiRJ6GDS8mQgPU+BQr/jxeaWei5j/kv4/IoEJL3HhfrV637bXzq1RuLlnfNJemXoVHFUZiDTnHga9iInxchioAmrNZZ6rlK/gngCaOUvgpyqpBMzMCdA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 149.199.80.198) smtp.rcpttodomain=xen.org smtp.mailfrom=xilinx.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=xilinx.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JXUuvTYxWPm4IBtlsgLQZTuvg1lUIFZmPoNNdspbnGM=;
 b=QY5I2hIKX3JL6SchE5tC6B1x1dlMXerUlrwybWtjQoURcvGYLOoscqntDot+YNrLIptkqQuNX1SWRpus+hg3Y56dDm4c5/B3D+gO0l6k6kj+MJugkv9Uua0/uHZCZuZJoYycHZrOoj7BAdFSSEET8QhfJIYreamtgsjcap/GRPY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 149.199.80.198)
 smtp.mailfrom=xilinx.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=xilinx.com;
Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates
 149.199.80.198 as permitted sender) receiver=protection.outlook.com;
 client-ip=149.199.80.198; helo=xir-pvapexch01.xlnx.xilinx.com;
Message-ID: <eebecd4f-1656-7488-b35c-d4778e9788c5@xilinx.com>
Date: Wed, 26 Jan 2022 12:21:26 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [XEN v4] xen/arm64: io: Decode ldr/str post-indexing instructions
To: Julien Grall <julien@xen.org>, Ayan Kumar Halder
	<ayan.kumar.halder@xilinx.com>, <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefanos@xilinx.com>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>,
	<andre.przywara@arm.com>, <jbeulich@suse.com>, <wei.chen@arm.com>
References: <20220125211808.23810-1-ayankuma@xilinx.com>
 <8eb4949c-aa9f-38fd-682e-7620b5f9e03c@xen.org>
From: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>
In-Reply-To: <8eb4949c-aa9f-38fd-682e-7620b5f9e03c@xen.org>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f0fd0d58-e53e-4cd4-dd46-08d9e0c66151
X-MS-TrafficTypeDiagnostic: DM6PR02MB6457:EE_
X-Microsoft-Antispam-PRVS:
	<DM6PR02MB6457B9B81FC44223EB6B195AB2209@DM6PR02MB6457.namprd02.prod.outlook.com>
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
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:
	0OdPeY1KlpfUp4otHt6/O2kIOJQQOHnd1ANxGhc+6VqlEPNkaTcGkVY30/hJUphM+FO1gdL01A30J+wisMsPNj/oBDw6NUniJIpC175vmu8lgUCb9o6L4YuL6zjMQDvmaPzIrkdVj+o831RHHvFfW65fd/Y2KpLBwXr2OgwSsb+sCamzuinPabhBtgOHisSLlCng4cAxBSInugBIqVPyToxr+3P1JEOqZtzM0lEGe+Aku544vv+oqETJtbGKuxfl6AY3UMlumcDSqy5EqGSdv9fNxRYeB2i+f1wvX1bUGQgGbw4U1bNoOElNpsJGofx2lD1IodySS3Ad9rSd4bdYqHSEQnyiW5m2cDS9nwNcD9RaSvu/UPhyN0qXbVT7uwxzqu39CvT7wJBRLAWNolD2icWNnPaoqZbs5pgk6Pe5lf7mc81BfzJOvoCs34tLX483ac7pNca+6x7lAmc7jcb69itD1AmOQpt/5eHvMYk1JYXvfpXjG6t4sTGNqYCyTpIvXXTayBvBGjLLIRay02m42ctJDRL6HUfFkhNYxFmS5ztTN/6N/VwnLApuFWT1A8yubw1WwwYFdr5irngGM5lzuKVc7Ck5+Jz2ah3Kh34CvrcMGKDmW8PM0ko8a9pGTlglJ+WYE4OxOE0r71ilWdfzUolUe7TJnQR3Oo6q4cbEMfVFV7QT4IRbNL8RZhX4Nh/tAxZyuEd/hA0RRIdrVARiiZ89N3AcJAAOAoktVBlR1X1xfAQa8cTv+yQGCG+3Iz+PEcG0vA3z573oHfeqFhNnwcEMxjg+i+dS93nlkcLu4a0OWc1Et7rtQrKYZ2e5tnyEO4YlgHtBPp+DH5hRmipXRgtfj03z3XQECXtysw3w3+Oj5bbqh4NdZA3z1YACi0gzd0SkaiIzZU82Fu2DgeLQtRvpWBreJwdXFnQzWRPhFnxP+JNAufZ8786wTCF3jQBO
X-Forefront-Antispam-Report:
	CIP:149.199.80.198;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:xir-pvapexch01.xlnx.xilinx.com;PTR:unknown-80-198.xilinx.com;CAT:NONE;SFS:(4636009)(40470700004)(36840700001)(46966006)(8676002)(36756003)(356005)(83380400001)(2906002)(40460700003)(82310400004)(30864003)(31686004)(4326008)(186003)(5660300002)(47076005)(36860700001)(70586007)(336012)(70206006)(31696002)(426003)(508600001)(966005)(9786002)(110136005)(53546011)(316002)(54906003)(2616005)(26005)(7636003)(8936002)(50156003)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: xilinx.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 12:21:28.8818
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f0fd0d58-e53e-4cd4-dd46-08d9e0c66151
X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c;Ip=[149.199.80.198];Helo=[xir-pvapexch01.xlnx.xilinx.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1NAM02FT008.eop-nam02.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR02MB6457

Hi Julien/Stefano,

Thanks for your feedback. The comments are useful.

I need a couple clarifications and then I can send the pre-patch and v5 
(with the fixes suggested).


On 25/01/2022 23:02, Julien Grall wrote:
> Hi,
>
> On 25/01/2022 21:18, Ayan Kumar Halder wrote:
>> At the moment, Xen is only handling data abort with valid syndrome (i.e.
>> ISV=0). Unfortunately, this doesn't cover all the instructions a domain
>> could use to access MMIO regions.
>>
>> For instance, a baremetal OS can use any of the following 
>> instructions, where
>> x1 contains the address of the MMIO region:
>>
>> 1.      ldr     x2,    [x1],    #8
>> 2.      ldr     w2,    [x1],    #-4
>> 3.      ldr     x2,    [x1],    #-8
>> 4.      ldr     w2,    [x1],    #4
>> 5.      ldrh    w2,    [x1],    #2
>> 6.      ldrb    w2,    [x1],    #1
>> 7.      str     x2,    [x1],    #8
>> 8.      str     w2,    [x1],    #-4
>> 9.      strh    w2,    [x1],    #2
>> 10.     strb    w2,    [x1],    #1
>>
>> In the following two instructions, Rn could theoretically be stack 
>> pointer which
>> might contain the address of the MMIO region:-
>> 11.     ldrb    w2,    [Rn],    #1
>> 12.     ldrb    wzr,   [Rn],    #1
>>
>> In order to handle post-indexing store/load instructions (like those 
>> mentioned
>> above), Xen will need to fetch and decode the instruction.
>>
>> This patch only cover post-index store/load instructions from AArch64 
>> mode.
>> For now, this is left unimplemented for trap from AArch32 mode.
>>
>> Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
>> ---
>>
>> Changelog :-
>> v2 - 1. Updated the rn register after reading from it. (Pointed by 
>> Julien,
>>          Stefano)
>>       2. Used a union to represent the instruction opcode (Suggestd 
>> by Bertrand)
>>       3. Fixed coding style issues (Pointed by Julien)
>>       4. In the previous patch, I was updating dabt->sign based on 
>> the signedness
>>          of imm9. This was incorrect. As mentioned in ARMv8 ARM DDI 
>> 0487G.b,
>>          Page 3221, SSE indicates the signedness of the data item 
>> loaded. In our
>>          case, the data item loaded is always unsigned.
>>
>> v3- 1. Handled all the variants of ldr/str (ie 64, 32, 16, 8 bit 
>> variants).
>>         Thus, I have removed the check for "instr->code.opc == 0" 
>> (Suggested by
>>         Andre)
>>      2. Handled the scenario when rn = SP, rt = XZR (Suggested by 
>> Jan, Andre)
>>      3. Added restriction for "rt != rn" (Suggested by Andre)
>>      4. Moved union ldr_str_instr_class {} to decode.h. This is the 
>> header included
>>         by io.c and decode.c (where the union is referred). 
>> (Suggested by Jan)
>>      5. Indentation and typo fixes (Suggested by Jan)
>>
>> v4- 1. Fixed the patch as per Stefano's comments on v3. They are as 
>> follows :-
>>          1.1 Use macros to determine the fixed values in the 
>> instruction opcode
>>          1.2 Checked if instr != NULL
>>          1.3 Changed some data types and added #define ARM_64 for 
>> AArch64 specific
>>              code
>>          1.4 Moved post_increment_register() to decode.c so that the 
>> decoding
>>              logic is confined to a single file.
>>          1.5 Moved some checks from post_increment_register() to
>>              decode_loadstore_postindexing()
>>          1.6 Removed a duplicate check
>>      2. Updated the commit message as per Andre's comments.
>>      3. Changed the names of a label and some comments. *32bit* was 
>> erroneously
>>         mentioned in a label and comments in 
>> decode_loadstore_postindexing()
>>         although the function handled all variants of ldr/str post 
>> indexing.
>>
>>   xen/arch/arm/decode.c | 124 +++++++++++++++++++++++++++++++++++++++++-
>>   xen/arch/arm/decode.h |  41 +++++++++++++-
>>   xen/arch/arm/io.c     |  41 +++++++++++---
>>   3 files changed, 195 insertions(+), 11 deletions(-)
>>
>> diff --git a/xen/arch/arm/decode.c b/xen/arch/arm/decode.c
>> index 792c2e92a7..0c12af7afa 100644
>> --- a/xen/arch/arm/decode.c
>> +++ b/xen/arch/arm/decode.c
>> @@ -84,6 +84,101 @@ bad_thumb2:
>>       return 1;
>>   }
>>   +static int decode_loadstore_postindexing(register_t pc,
>
> This is only handling AArch64 instruction. So please add aarch64 (or 
> arm64) in the name.
>
>> + struct hsr_dabt *dabt,
>> +                                         union ldr_str_instr_class 
>> *instr)
>> +{
>> +    struct cpu_user_regs *regs = guest_cpu_user_regs();
>> +
>> +    if ( instr == NULL )
>
> Wouldn't it be a programming error? If so, should it be ASSERT(...)?
>
>> +    {
>> +        gprintk(XENLOG_ERR, "instr should not be NULL\n");
>> +        return -EINVAL;
>> +    }
>> +
>> +    if ( raw_copy_from_guest(&instr->value, (void * __user)pc, 
>> sizeof (instr)) )
>> +    {
>> +        gprintk(XENLOG_ERR, "Could not copy the instruction from 
>> PC\n");
>> +        return -EFAULT;
>> +    }
>> +
>> +    /*
>> +     * Rn -ne Rt for ldr/str instruction.
>> +     * Check https://developer.arm.com/documentation/dui0802/a/CIHGJHED
>> +     * (Register restrictions)
>
> I find a bit odd that you are pointing to 3 different spec (Compiler, 
> Cortex-A, Arm Arm). Can we please use only the Arm Arm? It should 
> contain everything we need...
>
>> +     *
>> +     * The only exception for this is when rn = 31. It denotes SP 
>> ("Use of SP")
>> +     *
>> +     * And when rt = 31, it denotes wzr/xzr. (Refer
>> +     * 
>> https://developer.arm.com/documentation/den0024/a/ARMv8-Registers/AArch64-special-registers
>
> Same here.
>
> Also, please avoid URL and use the document reference (e.g. ARM DDI 
> 0487F.c for the Arm Arm) are they are easy to find on google.
>
>> +     * "There is no register called X31 or W31. Many instructions 
>> are encoded
>> +     * such that the number 31 represents the zero register, ZR 
>> (WZR/XZR)."
>> +     */
>> +    if ( (instr->code.rn == instr->code.rt) && (instr->code.rn != 31) )
>> +    {
>> +        gprintk(XENLOG_ERR, "Rn should not be equal to Rt except for 
>> r31\n");
>> +        return -EINVAL;
>> +    }
>> +
>> +    /* First, let's check for the fixed values */
>> +    if ( (instr->value & POST_INDEX_FIXED_MASK) != 
>> POST_INDEX_FIXED_VALUE )
>> +    {
>> +        gprintk(XENLOG_ERR, "Cannot decode instruction 
>> 0x%x",instr->value);
>> +        gprintk(XENLOG_ERR, "Decoding not supported for instructions 
>> other than"
>> +            " ldr/str post indexing\n");
>
> Please don't split the message. Instead, it should be:
>
> gprintk(XENLOG_ERR,
>         "...");
>
> But I would combine the two messages and simply write:
>
> "Decoding instruction 0x%x is not supported". Not need to say that we 
> support only ldr/str post indexing.
>
>> +        goto bad_loadstore;
>
> I am a bit confused why some of the error path is using error and 
> other goto. Can you clarify it?
Sorry, this is my carelessness. I was thinking to return an error 
(immediately) for issues un-related to decoding (For eg instr == NULL, 
copy_from_guest()). But on re-thinking, it does not sound sane. I will 
use goto for all the errors as it is important to display the error 
message for the user.
>
>> +    }
>> +
>> +    /*
>> +     * Handle when rn = SP
>> +     * Refer ArmV8 ARM DDI 0487G.b, Page - D1-2463 "Stack pointer 
>> register selection"
>> +     * As we are interested in handling exceptions only from EL1 in 
>> AArch64 state,
>> +     * thus M[3:0] == EL1h (Page - C5-480 "When exception taken from 
>> AArch64 state:")
>
> I read the last sentence as "We only support decoding from instruction 
> run at EL1". But I can't find a check guarantee that.
Sorry, the check below does that but is used only for rn == 31. I should 
move ((regs->cpsr & PSR_MODE_MASK) != PSR_MODE_EL1h) ) into a separate 
check of its own.
>
>> +     */
>> +    if ( (instr->code.rn == 31) && ((regs->cpsr & PSR_MODE_MASK) != 
>> PSR_MODE_EL1h) )
>> +    {
>> +        gprintk(XENLOG_ERR, "SP is valid only for EL1h\n");
>> +        goto bad_loadstore;
>> +    }
>> +
>> +    if ( instr->code.v != 0 )
>> +    {
>> +        gprintk(XENLOG_ERR,
>> +            "ldr/str post indexing for vector types are not 
>> supported\n");
>> +        goto bad_loadstore;
>> +    }
>> +
>> +    /* Check for STR (immediate) */
>> +    if ( instr->code.opc == 0 )
>> +    {
>> +        dabt->write = 1;
>> +    }
>
> Coding style: We don't use {} for single line. In this case, it would 
> also result to have a more readable code.
>
>> +    /* Check for LDR (immediate) */
>> +    else if ( instr->code.opc == 1 )
>> +    {
>> +        dabt->write = 0;
>> +    }
>
> Same.
>
>> +    else
>> +    {
>> +        gprintk(XENLOG_ERR,
>> +            "Decoding ldr/str post indexing is not supported for 
>> this variant\n");
>
> The indentation looks wrong here.
>
>> +        goto bad_loadstore;
>> +    }
>> +
>> +    gprintk(XENLOG_INFO,
>> +        "instr->code.rt = 0x%x, instr->code.size = 0x%x, 
>> instr->code.imm9 = %d\n",
>> +        instr->code.rt, instr->code.size, instr->code.imm9);
>
> The indentation looks wrong here.
>
>> +
>> +    update_dabt(dabt, instr->code.rt, instr->code.size, false);
>> +    dabt->valid = 1;
>> +
>> +    return 0;
>> +
>> + bad_loadstore:
>> +    gprintk(XENLOG_ERR, "unhandled Arm instruction 0x%x\n", 
>> instr->value);
>> +    return 1;
>> +}
>> +
>>   static int decode_thumb(register_t pc, struct hsr_dabt *dabt)
>>   {
>>       uint16_t instr;
>> @@ -150,17 +245,44 @@ bad_thumb:
>>       return 1;
>>   }
>>   -int decode_instruction(const struct cpu_user_regs *regs, struct 
>> hsr_dabt *dabt)
>> +int decode_instruction(const struct cpu_user_regs *regs, struct 
>> hsr_dabt *dabt,
>> +                       union ldr_str_instr_class *instr)
>
> I would like to avoid make the assumption that the instr we decode 
> will always be a store/load. So please rename it to something more 
> generic.

A difference of thought. Should we not name it as per the current usage 
? This will avoid any ambiguity. Later, if this gets extended, then it 
can be named more appropriately depending on the usage.

Also, the bit-pattern in "union ldr_str_instr_class" is very much 
specific to ldr/str. So changing the name to something generic seems 
incorrect imo.

>
>>   {
>>       if ( is_32bit_domain(current->domain) && regs->cpsr & PSR_THUMB )
>>           return decode_thumb(regs->pc, dabt);
>>   +    if ( (is_64bit_domain(current->domain) && 
>> !psr_mode_is_32bit(regs)) )
>
> The first part could be dropped because if psr_mode_is_32bit returns 0 
> then it must mean the domain is 64-bit.
>
>> +    {
>> +        return decode_loadstore_postindexing(regs->pc, dabt, instr);
>> +    }
>
> Coding style: Please drop the {}.
>
>> +
>>       /* TODO: Handle ARM instruction */
>>       gprintk(XENLOG_ERR, "unhandled ARM instruction\n");
>>         return 1;
>>   }
>>   +#if CONFIG_ARM_64
>> +void post_increment_register(union ldr_str_instr_class *instr)
>
> instr should not be modified, so please use const. Also, it would be 
> preferrable to pass the regs in parameter. So the none of the decoding 
> code relies on the current regs.
>
> Furthermore, decode.c should only contain code to update the syndrome 
> and in theory Arm could decide to provide an valid syndrome in future 
> revision. So I would move this code in io.c (or maybe traps.c).
@Stefano/Julien - Can we all agree on traps.c ?
>
>> +{
>> +    struct cpu_user_regs *regs = guest_cpu_user_regs();
>> +    register_t val;
>> +
>> +    /* handle when rn = SP */
>> +    if ( instr->code.rn == 31 )
>> +        val = regs->sp_el1;
>> +    else
>> +        val = get_user_reg(regs, instr->code.rn);
>> +
>> +    val += instr->code.imm9;
>> +
>> +    if ( instr->code.rn == 31 )
>> +        regs->sp_el1 = val;
>> +    else
>> +        set_user_reg(regs, instr->code.rn, val);
>> +}
>> +#endif
>> +
>>   /*
>>    * Local variables:
>>    * mode: C
>> diff --git a/xen/arch/arm/decode.h b/xen/arch/arm/decode.h
>> index 4613763bdb..511cd4a05f 100644
>> --- a/xen/arch/arm/decode.h
>> +++ b/xen/arch/arm/decode.h
>> @@ -23,6 +23,35 @@
>>   #include <asm/regs.h>
>>   #include <asm/processor.h>
>>   +/*
>> + * Refer to the ARMv8 ARM (DDI 0487G.b), Section C4.1.4 Loads and 
>> Stores
>> + * Page 318 specifies the following bit pattern for
>> + * "load/store register (immediate post-indexed)".
>> + *
>> + * 31 30 29  27 26 25  23   21 20              11   9 4       0
>> + * ___________________________________________________________________
>> + * |size|1 1 1 |V |0 0 |opc |0 |      imm9     |0 1 |  Rn |  Rt   |
>> + * |____|______|__|____|____|__|_______________|____|_________|_______|
>> + */
>> +union ldr_str_instr_class {
>> +    uint32_t value;
>> +    struct ldr_str {
>> +        unsigned int rt:5;     /* Rt register */
>> +        unsigned int rn:5;     /* Rn register */
>> +        unsigned int fixed1:2; /* value == 01b */
>> +        signed int imm9:9;            /* imm9 */
>> +        unsigned int fixed2:1; /* value == 0b */
>> +        unsigned int opc:2;    /* opc */
>> +        unsigned int fixed3:2; /* value == 00b */
>> +        unsigned int v:1;      /* vector */
>> +        unsigned int fixed4:3; /* value == 111b */
>> +        unsigned int size:2;   /* size */
>> +    } code;
>> +};
>
> Looking at the code, post_increment_register() only care about 'rn' 
> and 'imm9'. So rather than exposing the full instruction, could we 
> instead provide the strict minimum? I.e something like:
>
> struct
> {
>      enum instr_type; /* Unknown, ldr/str post increment */
>      union
>      {
>          struct
>          {
>            register; /* Register to increment */
>            imm;      /* Immediate to add */
>          } ldr_str;
>      }
>      uint64_t register;
> }
>
>> +
>> +#define POST_INDEX_FIXED_MASK   0x3B200C00
>> +#define POST_INDEX_FIXED_VALUE  0x38000400
>> +
>>   /**
>>    * Decode an instruction from pc
>>    * /!\ This function is not intended to fully decode an 
>> instruction. It
>> @@ -35,8 +64,18 @@
>>    */
>>     int decode_instruction(const struct cpu_user_regs *regs,
>> -                       struct hsr_dabt *dabt);
>> +                       struct hsr_dabt *dabt,
>> +                       union ldr_str_instr_class *instr);
>>   +/**
>> + * Update the register value for Rn
>> + * /!\ This function is used to update the register value for Rn when a
>
> NIT: I would drop /!\ because this looks more the description of the 
> function rather than a warning.
>
>> + * post indexing ldr/str instruction is decoded.
>> + *
>> + * This function will get:
>> + * - The post indexing ldr/str instruction opcode
>> + */
>> +void post_increment_register(union ldr_str_instr_class *instr);
>>   #endif /* __ARCH_ARM_DECODE_H_ */
>>     /*
>> diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
>> index 729287e37c..b9c15e1fe7 100644
>> --- a/xen/arch/arm/io.c
>> +++ b/xen/arch/arm/io.c
>> @@ -106,14 +106,29 @@ enum io_state try_handle_mmio(struct 
>> cpu_user_regs *regs,
>>           .gpa = gpa,
>>           .dabt = dabt
>>       };
>> +    int rc;
>> +    union ldr_str_instr_class instr = {0};
>>         ASSERT(hsr.ec == HSR_EC_DATA_ABORT_LOWER_EL);
>>   +    /*
>> +     * Armv8 processor does not provide a valid syndrome for 
>> post-indexing
>> +     * ldr/str instructions. So in order to process these instructions,
>> +     * Xen must decode them.
>> +     */
>
> This sort of comments will become stall if we decide to add more 
> decoding. So I would keep the comments in io.c generic (i.e. no 
> mention of load/store).
Yes, I can remove ldr/str from comments
>
>> +    if ( !info.dabt.valid )
>
> I would rather prefer if we keep using dabt.valid here rather than 
> info.dabt.valid. It is shorter and keep consistent with how it was 
> checked before.
>
>> +    {
>> +        rc = decode_instruction(regs, &info.dabt, &instr);
>> +        if ( rc )
>> +        {
>> +            gprintk(XENLOG_DEBUG, "Unable to decode instruction\n");
>> +            return IO_ABORT;
>> +        }
>> +    }
>> +
>>       handler = find_mmio_handler(v->domain, info.gpa);
>>       if ( !handler )
>>       {
>> -        int rc;
>> -
>>           rc = try_fwd_ioserv(regs, v, &info);
>>           if ( rc == IO_HANDLED )
>>               return handle_ioserv(regs, v);
>> @@ -121,10 +136,6 @@ enum io_state try_handle_mmio(struct 
>> cpu_user_regs *regs,
>>           return rc;
>>       }
>>   -    /* All the instructions used on emulated MMIO region should be 
>> valid */
>> -    if ( !dabt.valid )
>> -        return IO_ABORT;
>> -
>
> I think moving if ( !dabt.valid ) earlier should be part of a 
> pre-patch. This would allows us to backport it as we don't want to 
> forward the I/O to an IOREQ server if ISV=0.
I would say that in the pre-patch, we should move "if ( !dabt.valid )" 
before "find_mmio_handler()". The reason being if the intruction was not 
decoded successfully (ie ISV=0), then there is no need to find the mmio 
handler corresponding to the gpa. Please let me know your thoughts and I 
can send the pre-patch.
>
>>       /*
>>        * Erratum 766422: Thumb store translation fault to Hypervisor may
>>        * not have correct HSR Rt value.
>> @@ -134,7 +145,7 @@ enum io_state try_handle_mmio(struct 
>> cpu_user_regs *regs,
>>       {
>>           int rc;
>>   -        rc = decode_instruction(regs, &info.dabt);
>> +        rc = decode_instruction(regs, &info.dabt, NULL);
>
> Could we combine the two decode_instruction()?

Do you mean something like this :-

if ( (!info.dabt.valid ) || (( check_workaround_766422() && (regs->cpsr 
& PSR_THUMB) &&
          dabt.write) )

{

         rc = decode_instruction(regs, &info.dabt, &instr); // We know 
that for PSR_THUMB, instr is ignored.
         if ( rc )
         {
             gprintk(XENLOG_DEBUG, "Unable to decode instruction\n");
             return IO_ABORT;
         }

}

>
>>           if ( rc )
>>           {
>>               gprintk(XENLOG_DEBUG, "Unable to decode instruction\n");
>> @@ -143,9 +154,21 @@ enum io_state try_handle_mmio(struct 
>> cpu_user_regs *regs,
>>       }
>>         if ( info.dabt.write )
>> -        return handle_write(handler, v, &info);
>> +        rc = handle_write(handler, v, &info);
>>       else
>> -        return handle_read(handler, v, &info);
>> +        rc = handle_read(handler, v, &info);
>> +
>> +#if CONFIG_ARM_64
>
> Rather than using #ifdef here, I prefer if provide a stub for 
> post_increment_register() that contains ASSERT_UNREACHABLE(). So the 
> code in io.c is more arch-agnostic.

So you mean something like this (in traps.c):-

#if CONFIG_ARM_64

void post_increment_register(union ldr_str_instr_class *instr)

{

     // handle the post increment

}

#else

void post_increment_register(union ldr_str_instr_class *instr)

{

     ASSERT_UNREACHABLE();

}

#endif

If so, I am fine with this.

>
>> +    if ( (is_64bit_domain(current->domain) && 
>> !psr_mode_is_32bit(regs)) )
>
> This is a fairly expensive check. Can we avoid it and instead rely on 
> the instruction to be decoded?

yes, as this has already been checked in decode_instruction(), so we can 
just rely on instr.

- Ayan

>
>> +    {
>> +        if ( instr.value != 0 )
>
> I would prefer if we carry a boolean to indicate whether we manually 
> decoded the instruction. The main advantage is one doesn't need to 
> check in the Arm Arm to figure out that the 0x0 will never result to a 
> valid instruction (it is thankfully used for UDF).
>
>> +        {
>> +            post_increment_register(&instr);
>> +        }
>> +    }
>> +#endif
>> +
>> +    return rc;
>>   }
>>     void register_mmio_handler(struct domain *d,
>
> Cheers,
>


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 12:27:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 12:27:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260864.451034 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nChOZ-0003yz-4l; Wed, 26 Jan 2022 12:27:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260864.451034; Wed, 26 Jan 2022 12:27:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nChOZ-0003ys-1R; Wed, 26 Jan 2022 12:27:27 +0000
Received: by outflank-mailman (input) for mailman id 260864;
 Wed, 26 Jan 2022 12:27:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8h68=SK=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nChOX-0003ym-F1
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 12:27:25 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4f70377d-7ea3-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 13:27:23 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4f70377d-7ea3-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643200043;
  h=from:to:cc:subject:date:message-id:
   content-transfer-encoding:mime-version;
  bh=xbcVBswz+C+IeJtPbHEvBIbkQS4MGyU5aXrK5yg0i9E=;
  b=cEzsUl8/HcF/xT6B/EUgyB4qe07ugexqiGXwA2W/ZnVblrQS+rZNKxZy
   9/KznuXASZYs77qYkXkFX8xC5EKHo8XO+4mME82bCscv+Fyda9TfAxCl9
   BWiu/hPMHLFBbIXzXQTJ8RjfBEYiMMsd7sAFboyhQUC7OeTOnlut4yS7l
   I=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: OJCFHdIi+NS5MSxqD/Ja+6G9HDrbUPzeSViqJEvbd6zRArVFAolZJAWcP2LuC3gKjhHH7fSAbY
 I12pe07F0IKlygrYwYbTamBcZB1puK/3st+tIAnqomtWspUJbayFnpdk9QOsu+ghPZ9Hnjpc47
 Ov5e1sPOZ0MkmVnx18Q5v/Gl6/hOpoOUsWYGGhd6XargEpE3Oln0BeoJ8Kx0k7H5//EDB47TRj
 gVUBOohP+bvzAYmTuNxdPCBiGMDEbp5oc/l54faqeachTaMIZFxExg2lVruTvnIYIUa+ErDQ7x
 OokPDJOi7WEyQNfxXX3jkh1u
X-SBRS: 5.2
X-MesageID: 62793405
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:4RWOqqroFuqhcAKYxzkJwzrecBVeBmJSYxIvgKrLsJaIsI4StFCzt
 garIBmCb/uLNmP9KIhwaI7gphwO6pTSztJrS1A5pC81F3sUopuZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlZT4vE2xbuKU5NTsY0idfic5Dndx4f5fs7Rh2NQw2ILnW1nlV
 e7a+KUzBnf0g1aYDUpMg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJ8DO+iL
 9sv+Znilo/vE7XBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XnRfTAKtao2zhojx/9
 DlCnbDhSC1qAIDLo/0YDSN6LHBeFL0c2KCSdBBTseTLp6HHW37lwvEoB0AqJ4wIvO1wBAmi9
 9RBdmpLNErawbvrnvTrEYGAhex6RCXvFJkYtXx6iynQEN4tQIzZQrWM7thdtNs1rp4UQqeFO
 5JEAdZpRB3kJDJAZAoQNKgRxO2i3nvEfyAJ8XvA8MLb5ECMlVcsgdABKuH9eNaHWMFUlUawv
 X/d8iLyBRRyHNaS0yaf+3SgwOrGhzrmWZk6Hae9sPVthTW73mUODDUGWF39puO24mahX/pPJ
 kpS/TAhxYAp71CiRNT5Wxy+oVaHswQaVt4WFPc1gCmdx6yR7wuHC2wsSj9adMdgpMIwXSYt1
 FKCg5XuHzMHmIOSTXWR57KFtwSYMCIeLXIBTSIcRA5D6N7myKkxkxbOQ9BLAKOzyNrvFlnNL
 yui9XZkwe9J1IhSivv9rQuvby+QSobhYl80zEbpc2We9wYnXqyaNqyB+QL78qMVRGqGdWWps
 H8BksmYyekBC5CRiSCAKNkw8KGVC+Wta2OF3wM2d3U133H0oiP4I9gMiN1rDBoxaq45lSnVj
 Fg/UO+7zLtaJzOUYKB+eOpd4Ox6nPG7RbwJuh05B+eig6SdlifbrUmChmbKhggBdXTAd4lla
 P93lu73VR4n5VxPlmbeegvk+eZDKtoC7W3SX4vn6B+szKCTYnWYIZ9cbgfVN7tksv/Y/VWKm
 zq6Cyds408OOAEZSnKPmbP/0HhQdSRrbXwIg5E/mhG/zvpORzh6Vq65LUIJcI15haVF/tokD
 VnmMnK0PGHX3CWdQS3TMygLQOq2Af5X8CxnVQRxYwfA8yVzMO6HsfZEH7NqLOZPyQCW5aMuJ
 xXzU5/eUq0np/Wu02l1UKQRW6Q7JE303lrfZnT8CNX9FrY5LzH0FhbfVlKH3AEFDzattNt4p
 Lul1wjBRoEESRgkB8HTAM9DBXvr1ZTEsO4tDUbOPPdJf0DgrNpjJyDr16dlKMAQMxTTgDCd0
 l/OUxsfoODMpa4z8cXI2v/Y/9v4TbMmExoIBXTf4Ja3KTLeojipz7hfXbvaZjvaTm71pvmvP
 L0H0/HmPfQbt19WqI4gQa1zxKcz6oK39b9XxwhpBlvRaFGvBu8yK3WKx5AX5KZM2qVYqU29X
 UfWootWPrCAOcXEFl8NJVV6MrTfhK9MwjSLtKY7OkT34iNz7YGra0QKMknekjFZIZt0LJghn
 bUrtvkJ5lHtkREtKNuH0HxZrjzeMnwaXqw7nZgGG4u32BEzw1RPbJGAWC/75JaDN4dFPkUwe
 2LGgaPDg/JXx1bYcmp1Hn/IhLIPiZMLsRFM7VkDO1XWxYaV2q5phEVcoWYtUwBY7hRbyOYia
 GFkOnp8KbiK4zo11tNIWHqhGl0ZCRCUkqArJ4DlSIENo5GUa1Hw
IronPort-HdrOrdr: A9a23:x6vjG6j7SsoU7Dh4yUIw//TGYnBQXzZ13DAbv31ZSRFFG/FwyP
 rAoB1L73PJYWgqNU3I+ergBEGBKUmskaKdhrNhR4tKPTOWw1dASbsN0WKM+UyHJ8STzJ8+6U
 4CSdkANDSTNykCsS+S2mDReLxBsbq6GciT9JvjJhxWPGZXgs9bnmJE4lHxKDwKeOAKP+txKL
 Osou584xawc3Ueacq2QlEDQuj4vtXO0LbrewQPCRIL4BSHyWrA0s+wLzGomjMlFx9fy7Yr9m
 bI1yT/+6WYqvm+jjvRzXXa4Zh6kMbojvFDGMuPoM4ILSiEsHfhWK1RH5m5+BwlquCm71gn1P
 HKvhcbJsx2r0jce2mkyCGdrzXI4XIL0TvP2FWYiXzsrYjSXzQhEfdMgopfb1/w91cglMsU6t
 MG40up875sST/QliX04NbFEztwkFCvnHYkmekPy1RCTIolbqNLp4B3xjIZLH45JlO11GkbKp
 guMCmFj8wmMW9yLkqp9FWH+ebcEUjaRXy9Mws/Us/86UkioJk29Tpb+CUlpAZwyHsKceg32w
 31CNUXqFhwdL5nUUsEPpZ4fSKWMB27ffueChPlHbzYfJt3SE4l7aSHpYkI2A==
X-IronPort-AV: E=Sophos;i="5.88,318,1635220800"; 
   d="scan'208";a="62793405"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=epXZWpLE+vdnmwmW37vw/947o+lKz9/5HO4jqDqeE/q4m9eYaiLUXKWu6cVeISmpwx+2c6eqWcnu2Z0Bht/d7K00vR58wGZvDRGHBl8oOfvFifbk3LIUPh/f8sbx7GPLb1+eAk/YTc/4lLBijvEpXLGXwl2xE1b0Zw4mOEn+BI+WulhJeDZdXCcxVeq93Tbuy60BpaGXaeaEu5w25aHNJ9JtZmxrUxUkPzVWhYmzWuJ5EEC+AAh8XHo3O8qOAeRr1bSftt9w+5e16+YeE9RtxiGIl0cH4SGgyRSJwd63v6qf/UPSpaVkw7g5fPArvNMkxio9GAj3mqAeCf5cR2CagA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NNg0t/iqnwe5xcQUDMVyki8mesYjjduVX3ijL7UpRvQ=;
 b=e2aztB84l8vmtWzmj/VO45N7AujyoWdQM4UHO5fio/+cwphI/tLlLdfuOkudCyPah4mcxHK+STVw6VDUBnryiDPIyNaUkAUXxlCRGYew8sMcJAQ9/a/nwknohIQo7eOPck4qZvBno0HaMLwajXfDMMSmARamiveKa0fHzOSiPaGkdUPjLBKmp3KN1yqIXyjGfgFkG4UPc0ySUoTPSMdgO8f3z2IIL5phN/QMvxiHiabRDAQ+Pe9SWwmiNckaXW8vqLDEULqFKjLWsh4t2VdVbnG8JYI+dt/L6OHT0n5xQ+3tZhieR+hYqe2UhfOz8Lct37c40E+ErCvEdu8WiBnLTw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NNg0t/iqnwe5xcQUDMVyki8mesYjjduVX3ijL7UpRvQ=;
 b=JujnWy171Ztm4vBzDnXZnmq14rapcIhJm7aTlysicxunv/+ci6Z/ZQUusXKVajFyFcGboXvFxCorHxK26hnz8S5JOGoxrKzD4b9Kiny2QbZLuppjB7NDBu40AKDUq2IDKOv1rDrQnaxl8umNg5W+aUZ7EyXvQqsFfVWk5nQTm5Y=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, Wei Liu
	<wl@xen.org>, Paul Durrant <paul@xen.org>
Subject: [PATCH RFC] xen/pci: detect when BARs overlap RAM
Date: Wed, 26 Jan 2022 13:26:48 +0100
Message-ID: <20220126122648.52275-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MR2P264CA0005.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:1::17) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 11816e1e-6822-4819-00a9-08d9e0c7234e
X-MS-TrafficTypeDiagnostic: SA0PR03MB5547:EE_
X-Microsoft-Antispam-PRVS: <SA0PR03MB5547D247C75F9FB8180C5E768F209@SA0PR03MB5547.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: 7fXQ3Elk1YXzXpVoDxGb90Mc4yOxHF3B1Ieh1c3ZAMPI+T33XBYd5Qh7+30zJ7B554AYcEgrxwugxKxl5BGB804ZaCrvPuE/IiFkEb7Ms5VLolsvyzIu4M3TPzitvvwFpusLST6D0z0QCchgk+gKX2scGAoaSRjuz+k8RY/3ecvZOo+uPrwIsvrbuOfB5NHlV2l04YkbLbu3ylMGFL6MUDqjYIZlYQBr64E8rs7+aGjBLxblsa2XreXN8ZEKZAA14tYQZ8OgnKAzyk91R4PqWZfioqTMnYkuNGAhqZ6tvLoI2zL4nqraxYZkUFWQD159BUv3iImDkFADwDMsbt3TwLqujEJgshbqI7a6/0zUtFHRp2SRZ7R3M+tMSM1C+yWXXiMh2zJh/CRKcgCkj9vtn2ATZCjMVA086s6/ez7tnJoOkn7lqUAsco6NSBeC9s56zPsr86VJyrlPNaxRHj1dC2slV8y/9ONGH39mybotR4+7A6CBwVXdP90g8SIPw2A1V1aV/WHC90QHYzxds45i+LGHw8DoidPeedWP2XfZbmeXqS/0m4Crcv5R2vWumzkLhEFnABt/1bke8gGqv+0/YAzjy5Nv/yw6H8xnOJlK0sA6Y8tVqMaboccwjIUFSoDt9Q6RYgT5hi68KVJ3FzLxbg==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(2906002)(36756003)(86362001)(4326008)(66946007)(66556008)(66476007)(316002)(54906003)(6486002)(508600001)(8676002)(8936002)(6506007)(6666004)(6916009)(82960400001)(2616005)(38100700002)(6512007)(5660300002)(26005)(1076003)(83380400001)(186003)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?K0ovTnhqTlNUZGF2dG93cU40MzAzY0JmcjFkTnNqcHNHbm5KVGpWaGxuT0tG?=
 =?utf-8?B?aWxlejQycDVBRlBTendib1pUTmJBaXh5N1o0WkVpUnRFLzRDYlM2bzhkdWZE?=
 =?utf-8?B?Qi9HUkl0WjRJK1ZkMXdoNStjMVJETmpFdnpqdnpTQzVaS1RGUERmcjNGbXdH?=
 =?utf-8?B?dytGcGhXRUF5Uk9Yd0VHZ24wTjRBby90ZS9rRFp6eWhoQW1mMWIyUU1XbXBT?=
 =?utf-8?B?dXZaalFkazUyalp5Tm5rYkQ3U3VlaHZuaG81R3doMUpMa1FiSEVVb1lldCtL?=
 =?utf-8?B?NnJyWkJaU1VtVnhCWXdRbjkxOTBnWHJZeFoyWldFQVltaExMRHVhdTd5ZnlB?=
 =?utf-8?B?VXR0V01kdzltOXAwMjBrTElBU25HQk12UmFBWGhmZnFQUWhXbDRHR21JNkpT?=
 =?utf-8?B?Y0NVUUFqYWp5K0ZJdnVGQThEVmZabzFTZ0V2T29kLzltblRnM3VGUGU5SDdB?=
 =?utf-8?B?aEJxRXVOQ3MzbHh4UFd6ZHBLL2JNdVpzRXJ5MkJVSlVyMWV6Ymhnam9kcTNs?=
 =?utf-8?B?bWkyMjdkMi9Cb1hyVXZibjNyZ1BOTWJRbDVHekdpbWhJcTl5d1dEVmErUS9O?=
 =?utf-8?B?U1BCU1Nsb2x1YmpzNVptaUphOWpTSXROTzA0OHdGcEcyOEFFWElqTG9wMmMv?=
 =?utf-8?B?UE1PWlhzdklsaENRMXVRVEZVN2pCam5yTmNuWGpVNWwxS2FoK0cvUWpheXVX?=
 =?utf-8?B?MXdlQUFPMzJhYUlPVXN3TGJFK3hqSDcveHJuaURuRTArTCtycGh1dW5xdGdH?=
 =?utf-8?B?MzU2bTQ5eGxha0sxaHlqVHRuVG5nV3BLaWxlSmdCUGxzS2RRRWluM25rKytD?=
 =?utf-8?B?ZFBwNk90aDdnUEUwSm4zVFdPeDlQazV2N2d1a09yR1pvbkY5OG9UenZRd1Y0?=
 =?utf-8?B?YXdTMVlRVllvK0xEb2lEUEF3N3RpTjJDcVhDaytNMTdlSXJYeHB4NWMyQUxY?=
 =?utf-8?B?cWZuTnVYWS9IdzUwWnZEUE5tMlRWWWtUbjltZGRMSEtDZDg1a1FQMlR4UkpQ?=
 =?utf-8?B?N0RGaVoyNEZwR292Nk1reldEa1Z6eDRya2hOeXJJdXZyV2wwdUZ0NkNBOHRZ?=
 =?utf-8?B?bVRveGtVWUEzTlFlUnZ3emo4Y0pGTjhJa2F1aGNURWxmdjFlSTNqQmRXTzM3?=
 =?utf-8?B?dnFaamN2eHlYYkhJZDFmMmlHdGFhUU0zUEprcEpCU2ZweWVsZ2VtYWxyNS9n?=
 =?utf-8?B?UmI2L0w0NmNrZEg0amwrc1hPUGM3eWxTdmx0a21zRlpsZEdiWkU4bWp0VGI3?=
 =?utf-8?B?aU13U3B4QVpXNkNIYkRZQ3ZGamtaQTVUTEdwWlFHK3RLeGdSZEl2Z1dLSU1W?=
 =?utf-8?B?dU00azhZYWo2M3VpK0pocytlOXZFUVVEcDZpM2cySjJ6TTUwOGF5V0JyTHJs?=
 =?utf-8?B?WnlIZTRnKzUzdXhaZmJwNm92NC9qN0hDeDY1Nm5uRDRDdFR6aXQ5bWgxbU9L?=
 =?utf-8?B?cEo5Vk55OGxuN2FySXZZVDN3L1l2K2lNME9YNTR6TEVOUm5tNUNwTHZ0Vncv?=
 =?utf-8?B?dGFBanhVTW9WeHFIZ2ZVSURoMnZ2MFk1VE1JU2E2L2g0eU42eDZVM05WZGp0?=
 =?utf-8?B?bHM3Y2FpdEVoNU5XUFkxWHE2Uk1QNlZsOXZJS2ZOeTJsNzhGc1BrV2tUcGx4?=
 =?utf-8?B?bElueWp6ZE5hZDR6NHV6M2FuQ0RuU1AvODAyTlBJdkpvUk40dkNnVG9COTRY?=
 =?utf-8?B?Mm9qRVRwN2ovRjVOQ1BKZ0I0azk5b09wSXNMOW1Db3dPcS9qL0ZDYW4xUmUv?=
 =?utf-8?B?a2JsWGowSDBnYmNDM1ZwenY5eCs1YXZiYXQvUk5RYmI4MTQrdHZMdklLcGVO?=
 =?utf-8?B?RC80QWFCeUFHemhVT3Z4WmhueUNZY2lTS1U3QVFTdmhlSlZXdGJCUFljcVA2?=
 =?utf-8?B?UkFIdGRpR3hzclpZR2NxT1ZzcDFETFFBaXNYODgvMHduK21SSlpuWGYzeGtD?=
 =?utf-8?B?bU5Tanh3RXkyYXlZUWRUQ0JBUWJPUGFqTXB3Q216S2ZiUERwWTJLaHpNQkZ6?=
 =?utf-8?B?dXRvcW95NmZQcEFLM0dKTWN5VmJvWTV0OU5lZ1J6ME56OVJQQ0hVNUtCeDlh?=
 =?utf-8?B?WGllN29IWXhWUmFRTW1SMHMreUNPUVFRMjFjeUZLTlVNMTF3bXl1MmpjR2ZZ?=
 =?utf-8?B?WXVaalhjbFJkWGdIY21IbVU5RjhOU0tpZE8rcm5Xd0pKYkVqRVZrenVVbkpk?=
 =?utf-8?Q?kNe+z5ZYF6lF0uVibTEo27M=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 11816e1e-6822-4819-00a9-08d9e0c7234e
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 12:26:54.5845
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: iAagtm6TRxUOzJOPOUJEHGnDMf8ol3IJRouMVlw2cqgM++eFxHw1ZeYp3+yuObwmUQdrlf6rqpmCMZlTN1flcQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR03MB5547
X-OriginatorOrg: citrix.com

One of the boxes where I was attempting to boot Xen in PVH dom0 mode
has quirky firmware, as it will handover with a device with memory
decoding enabled and a BAR of size 4K at address 0. Such BAR overlaps
with a RAM range on the e820.

This interacts badly with the dom0 PVH build, as BARs will be setup on
the p2m before RAM, so if there's a BAR positioned over a RAM region
it will trigger a domain crash when the dom0 builder attempts to
populate that region with a regular RAM page.

It's in general a very bad idea to have a BAR overlapping with a RAM
region, so add some sanity checks for devices that are added with
memory decoding enabled in order to assure that BARs are not placed on
top of memory regions. If overlaps are detected just disable the
memory decoding bit for the device and expect the hardware domain to
properly position the BAR.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
RFC because:
 - Not sure the best way to implement is_iomem_range on Arm. BARs can
   be quite big, so iterating over every possible page is not ideal.
 - is_iomem_page cannot be used for this purpose on x86, because all
   the low 1MB will return true due to belonging to dom_io.
 - VF BARs are not checked. Should we also check them and disable VF
   if overlaps in a followup patch?
---
 xen/arch/arm/mm.c             | 11 ++++++
 xen/arch/x86/mm.c             | 20 +++++++++++
 xen/drivers/passthrough/pci.c | 68 ++++++++++++++++++++++++++++++++++-
 xen/include/xen/mm.h          |  2 ++
 4 files changed, 100 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index eea926d823..fa4cee64c7 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -1625,6 +1625,17 @@ bool is_iomem_page(mfn_t mfn)
     return !mfn_valid(mfn);
 }
 
+bool is_iomem_range(uint64_t start, uint64_t size)
+{
+    unsigned int i;
+
+    for ( i = 0; i < PFN_UP(size); i++ )
+        if ( !is_iomem_page(_mfn(PFN_DOWN(start) + i)) )
+            return false;
+
+    return true;
+}
+
 void clear_and_clean_page(struct page_info *page)
 {
     void *p = __map_domain_page(page);
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 1397f83e41..03699b2227 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -479,6 +479,26 @@ unsigned int page_get_ram_type(mfn_t mfn)
     return type ?: RAM_TYPE_UNKNOWN;
 }
 
+bool is_iomem_range(uint64_t start, uint64_t size)
+{
+    unsigned int i;
+
+    for ( i = 0; i < e820.nr_map; i++ )
+    {
+        struct e820entry *entry = &e820.map[i];
+
+        if ( entry->type != E820_RAM && entry->type != E820_ACPI &&
+             entry->type != E820_NVS )
+            continue;
+
+        if ( start < entry->addr + entry->size &&
+             entry->addr < start + size )
+            return false;
+    }
+
+    return true;
+}
+
 unsigned long domain_get_maximum_gpfn(struct domain *d)
 {
     if ( is_hvm_domain(d) )
diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index 0d8ab2e716..032df71393 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -233,6 +233,7 @@ static void check_pdev(const struct pci_dev *pdev)
      PCI_STATUS_REC_TARGET_ABORT | PCI_STATUS_REC_MASTER_ABORT | \
      PCI_STATUS_SIG_SYSTEM_ERROR | PCI_STATUS_DETECTED_PARITY)
     u16 val;
+    unsigned int nbars = 0, rom_pos = 0, i;
 
     if ( command_mask )
     {
@@ -251,6 +252,8 @@ static void check_pdev(const struct pci_dev *pdev)
     switch ( pci_conf_read8(pdev->sbdf, PCI_HEADER_TYPE) & 0x7f )
     {
     case PCI_HEADER_TYPE_BRIDGE:
+        nbars = PCI_HEADER_BRIDGE_NR_BARS;
+        rom_pos = PCI_ROM_ADDRESS1;
         if ( !bridge_ctl_mask )
             break;
         val = pci_conf_read16(pdev->sbdf, PCI_BRIDGE_CONTROL);
@@ -267,11 +270,74 @@ static void check_pdev(const struct pci_dev *pdev)
         }
         break;
 
+    case PCI_HEADER_TYPE_NORMAL:
+        nbars = PCI_HEADER_NORMAL_NR_BARS;
+        rom_pos = PCI_ROM_ADDRESS;
+        break;
+
     case PCI_HEADER_TYPE_CARDBUS:
         /* TODO */
         break;
     }
 #undef PCI_STATUS_CHECK
+
+    /* Check if BARs overlap with RAM regions. */
+    val = pci_conf_read16(pdev->sbdf, PCI_COMMAND);
+    if ( !(val & PCI_COMMAND_MEMORY) || pdev->ignore_bars )
+        return;
+
+    pci_conf_write16(pdev->sbdf, PCI_COMMAND, val & ~PCI_COMMAND_MEMORY);
+    for ( i = 0; i < nbars; )
+    {
+        uint64_t addr, size;
+        unsigned int reg = PCI_BASE_ADDRESS_0 + i * 4;
+        int rc = 1;
+
+        if ( (pci_conf_read32(pdev->sbdf, reg) & PCI_BASE_ADDRESS_SPACE) !=
+             PCI_BASE_ADDRESS_SPACE_MEMORY )
+            goto next;
+
+        rc = pci_size_mem_bar(pdev->sbdf, reg, &addr, &size,
+                              (i == nbars - 1) ? PCI_BAR_LAST : 0);
+        if ( rc < 0 )
+            return;
+        if ( size && !is_iomem_range(addr, size) )
+        {
+            /*
+             * Return without enabling memory decoding if BAR overlaps with
+             * RAM region.
+             */
+            printk(XENLOG_WARNING
+                   "%pp: disabled: BAR%u [%" PRIx64 ", %" PRIx64
+                   ") overlaps with RAM\n",
+                   &pdev->sbdf, i, addr, addr + size);
+            return;
+        }
+
+ next:
+        ASSERT(rc > 0);
+        i += rc;
+    }
+
+    if ( pci_conf_read32(pdev->sbdf, rom_pos) & PCI_ROM_ADDRESS_ENABLE )
+    {
+        uint64_t addr, size;
+        int rc = pci_size_mem_bar(pdev->sbdf, rom_pos, &addr, &size,
+                                  PCI_BAR_ROM);
+
+        if ( rc < 0 )
+            return;
+        if ( size && !is_iomem_range(addr, size) )
+        {
+            printk(XENLOG_WARNING
+                   "%pp: disabled: ROM BAR [%" PRIx64 ", %" PRIx64
+                   ") overlaps with RAM\n",
+                   &pdev->sbdf, addr, addr + size);
+            return;
+        }
+    }
+
+    pci_conf_write16(pdev->sbdf, PCI_COMMAND, val);
 }
 
 static void apply_quirks(struct pci_dev *pdev)
@@ -399,8 +465,8 @@ static struct pci_dev *alloc_pdev(struct pci_seg *pseg, u8 bus, u8 devfn)
             break;
     }
 
-    check_pdev(pdev);
     apply_quirks(pdev);
+    check_pdev(pdev);
 
     return pdev;
 }
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index 5db26ed477..764dcad5b3 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -554,6 +554,8 @@ int __must_check steal_page(struct domain *d, struct page_info *page,
 int page_is_ram_type(unsigned long mfn, unsigned long mem_type);
 /* Returns the page type(s). */
 unsigned int page_get_ram_type(mfn_t mfn);
+/* Check if a range is in IO suitable memory. */
+bool is_iomem_range(uint64_t start, uint64_t size);
 
 /* Prepare/destroy a ring for a dom0 helper. Helper with talk
  * with Xen on behalf of this domain. */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 12:44:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 12:44:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260876.451055 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nChfH-0006Wj-Ni; Wed, 26 Jan 2022 12:44:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260876.451055; Wed, 26 Jan 2022 12:44: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 1nChfH-0006Wc-KK; Wed, 26 Jan 2022 12:44:43 +0000
Received: by outflank-mailman (input) for mailman id 260876;
 Wed, 26 Jan 2022 12:44:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8h68=SK=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nChfH-0006WW-2n
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 12:44:43 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ba58ea6e-7ea5-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 13:44:41 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ba58ea6e-7ea5-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643201081;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=CkkDv1ZgfgkZTqq0/NRcdDtIMXOji7Ls91Ea+seX+uk=;
  b=gEfUhLilhDsAKmY5LUFMYzNWo9TRjq+93cXph8G8Pi93yRruIrdqC59k
   FELC3b75F9T7IAF/zyuBoNvxec5nU3suq7hiIHrIM9I2ZMzh/i743sTVD
   xZfg6hNcMAcPvjC8KRe1SHwyfaBDwhR5icfccfQSyLQmPxTxXc1yjhEHx
   I=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: yAV5+4J7yydsmF//WHtXcVq8Jgr20IDxNXeJPmuN7V+M7CCtehpB7Ax2rSWTJdICW2TZ2vBGjl
 cC1QxmKLFhBG7jnN4utVIOa5BXaoxeKjHhbLvSDpGnYK1DO7s3vO3/vrWW5u1eiVxZM0aTd8Dk
 g823e4nHtwj6YLZDbObjl/h8EdiqV1jMcjm4b4bFzVAKqZ0s3tzEFrrNw36AF13mcJkWMpnnmF
 J8z7qm8jS7zQ9WbLEJSekRXHq9V/+eLdkxUuSNM/91UnQVR1qB8mJCa6nCdgjg11P8RQoJlWam
 LPKB9GD7O8piMpeNTRdn7iVm
X-SBRS: 5.2
X-MesageID: 62262429
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:autP+aqFhadQM70byZE62QMQCDVeBmL+YhIvgKrLsJaIsI4StFCzt
 garIBmFMvmLNDHzKN5yadyy/E8PsMeHndIyHgE4+HtgFS9H85uZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlZT4vE2xbuKU5NTsY0idfic5Dndx4f5fs7Rh2NQw2ILnW1nlV
 e7a+KUzBnf0g1aYDUpMg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJ8DO+iL
 9sv+Znilo/vE7XBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XnRfTAKtao2zhojx/9
 DlCnYysRQQVBaDIo/Y2fyNXLHpkZYlb+ZaSdBBTseTLp6HHW37lwvEoB0AqJ4wIvO1wBAmi9
 9RBdmpLNErawbvrnvTrEYGAhex6RCXvFJkYtXx6iynQEN4tQIzZQrWM7thdtNs1rp4UR6iEO
 5BIAdZpRBb9TjwUYUtKM7UZwvbrvGjaIjBxl03A8MLb5ECMlVcsgdABKuH9ZdiiVchT2EGCq
 Qru3U70HxUbP9y30iee/zSngeqntTP2XsceGaO18tZugUaP3SoDBRsOT1y5rPKlzEmkVLpix
 1c8o3R06/JorQryE4e7D0bQTGO4UgA0S8ZcENEB5QW22IH42QmmXXJcaiNAQYlz3CMpfgAC2
 liMltLvIDVgtryJVH6QnoupQSOO1Ts9djFbO3JdJecRy5y6+dxo0EqTJjp2OPPt1rXI9SfML
 ydmRcTUr5EaloY12qqy5jgraBr898GSHmbZCug6N19JDz+Vhqb5NuRECnCBtJ6sybp1qHHb7
 RDofODFtIgz4WmlznDlfQn0NOjBCwy5GDPdm0VzOJIq6i6g/XWuFagJvm0lfRw0bJpYJG+2C
 KM2he+3zMUCVJdNRfQvC79d9uxwlfSwfTgbfq28giVyjmhZK1bcoXAGib+41GHxikk8+ZzTy
 r/AGftA+U0yUPw9pBLvHr91+eZymkgWmD2PLbimkUXP+efONRa9FOZeWHPTP79R0U9xiFiPm
 zqpH5HUm0w3vSyXSnS/zLP/2nhTfSFkXsin8pIOHgNBSyI/cFwc5zbq6epJU6RunrhPl/eO+
 Xe4W0RCz0H4i2GBIgKPAk2Popu2NXqmhX5kbyEqI3iy3H0vPdSm4KsFLsNldrg77u1zi/VzS
 qBdKcmHB/1OTBXB+igcMsah/NAzKkzziFLcJTehbRg+Y4VkG17D9Oj7c1a97yIJFCe265cz+
 uXyygPBTJMfbA1+F8KKOum3xla8sCFFyuJ/VkfFOPdJf0Do/NQ4IiD9lKZvccoNNQ/C1n2R0
 APPWUUUouzEookU9tjVhP/b89f1QrUmRkcDRjvV97e7MyXe71GP+44YXbbaZy3ZWUP15L6mO
 bdfwcbjPaBVh11NqYd9TepmlPps+9v1qrZG5Q14B3GXPU+zA7ZtL3Taj8lCsqpBmu1QtQesA
 x/d/9BbPfOCOd//EU5XLw0gN7zR2fYRkzjUzPI0PESlu3MnoOvZCR1fb0uWlShQDLppK4d0k
 +4utfkf5xG7lhd3YM2NiTpZ9jjUI3ENO0n9Wkr23GM/ZtIX92x/
IronPort-HdrOrdr: A9a23:1eX6kKq7aUtasrRiubI/ioUaV5uzL9V00zEX/kB9WHVpm5Oj+P
 xGzc526farslsssREb+OxpOMG7MBThHLpOkPMs1NCZLXTbUQqTXfpfBO7ZrQEIdBeOlNK1uZ
 0QFpSWTeeAcWSS7vyKkTVQcexQueVvmZrA7Yy1rwYPcegpUdAZ0+4QMHfkLqQcfnghOXNWLu
 v52iIRzADQBkj/I/7LTUUtbqzmnZnmhZjmaRkJC1oO7xSPtyqh7PrfHwKD1hkTfjtTyfN6mF
 K13jDR1+GGibWW2xXc32jc49B/n8bg8MJKAIiphtIOIjvhpw60bMBKWqGEvhoyvOazgWxa2u
 XkklMFBYBe+nnRdma6rV/E3BTh6i8n7zvYxVqRkRLY0LrEbQN/L/AEqZNScxPf5UZllsp7yr
 h302WQsIcSJQ/cnQzmjuK4GS1Cpw6Rmz4PgOQTh3tQXc81c7lKt7ES+0tTDdMpAD/60oY6C+
 NjZfusq8q+SWnqL0wxg1Mfg+BFBh8Ib1W7qwk5y4CoOgFt7TFEJxBy/r1bop8CnKhNPKWsqd
 60dpiAr4s+PfP+W5gNcNvpcfHHelAlfii8Ql56AW6XXZ3vaEi946Ie3t0OlZSXkdozvdwPpK
 g=
X-IronPort-AV: E=Sophos;i="5.88,318,1635220800"; 
   d="scan'208";a="62262429"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jPIfHbC4WXd7Tb5KxLuy+EPn6iYzgt24zKrFPNIwiErcEukwtMauT9muaqLydeKTEhPdntrlG4t02IayZQYqOLg8KCmFKr+Ky4j43L85A8lQaiaasrZnRNRB1YuDx/AtRCbqp6z+pT4Tqeub4YZxv6zpqeFtJip/5f0j5wVrCJxGu04I8g0FYPGHL7lrQ/9e3s0I+prNXrJqmx6wy6jqhZriRLTbod9wB7sGsowCz1Ta28BD8gkXD2tswSBbq2bBdWxqqiYkXNKTbEZhJu/JHy4JyPLjctKBNY6rKSr/iHnuN2aokdnX/BWO+6hD15RddHR2vA806Pp+zlQzmKbktg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HmaDoHg/rKSVZYMvEwO3Cnf8KOnX0bicLWOUtT2qznM=;
 b=Awllnu/bKjaKHWG4QBbftP2NBsgd48hj+j2YzmxwyWhvsWtQMAUMIvt6OAU6x61FjF8D42DD1J8bgTZnwdmixu1FdrVWpvqtFb1BqNhqGN0WALyU44HdxOfpDNJPx9Y7c4cadC1OSaKv+WgM3AlHC6WAaiU2mvDvxwhk7IaZr7KA3gip3DX+5yjd0/5l5990gXrLq+K2/ROcHvk6osyghIrcsuivPjqcyEZmmRMTaS2TMh4cYpA649WA8AD1KUUjVEqgjOD4dR0o2Uz9k2AqLNNBaYNJoom4LCU0U7GzwTP6dOOy5+cbQi8BO5yoSJLsUDYCPcPFfpENSBslfQEHug==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HmaDoHg/rKSVZYMvEwO3Cnf8KOnX0bicLWOUtT2qznM=;
 b=Aab5+qzmtCRoqC2nCiHPNbeI2+RJqKFTococrHXUhGx3DkUFHo+8byGtp5lqX5C9yQtxeOQikxMcA+IWkR1Q0AvPE5ynitDIiihSco9pUwmmJLpHGIdMFxImDDDK2j+ObBILn22X53AZBJUnA2lBNKXTsQZFb3gP5l/ue4arPBg=
Date: Wed, 26 Jan 2022 13:44:31 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich
	<JBeulich@suse.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH 2/8] x86/boot: Collect AMD speculative features earlier
 during boot
Message-ID: <YfFCLxnGDeuk/va0@Air-de-Roger>
References: <20220126084452.28975-1-andrew.cooper3@citrix.com>
 <20220126084452.28975-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20220126084452.28975-3-andrew.cooper3@citrix.com>
X-ClientProxiedBy: MR2P264CA0143.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:30::35) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 820aec31-aa6e-4e39-d9ad-08d9e0c99cc3
X-MS-TrafficTypeDiagnostic: SA2PR03MB5691:EE_
X-Microsoft-Antispam-PRVS: <SA2PR03MB56911439F45330DD363F419A8F209@SA2PR03MB5691.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: w3mFYhYLiV1Y7kzuJNdIOzv+CQa75mIlmkVe25pn98Aw6d2ZErwyObkvgmpKaa/gBffSN1XvFekDyTGWAZ1VbcO89zTjKeP2ZNIKthgKB3nVZkaDXY5RDfy2wOvDZb5XFCKwcrpnmk1YJbpGEBNRrZq1+NIVEdyV6pHKU8UTJGeOpb+nJH2gtRwBhHlRn2Zc0qA3wLWR91Bvw/uKazJ0LupLkuW4PQWPBMDXEsqYR36EKjOYRRhRXNvSG1XyBv190ZMjZdxIQvSHaf2MvwfJl/a3TJLqeROLH3o/lUWeNNjMkka1HlyfIcul6TV3N6viFJ7ysETKgF8GDw6OkrfeLzRh3nbHZW3gIdVM/Efn4X+KoR1dADrocfhk28RovOI5rgNYDFw6k/OHFTBH6rP7ZnUCqZ58IA1ykBu0Cqo2reYHRctDtksTf4j4ExjsmNsLxM3IvuVsbTQa1LXyNCjBV2RhbQs/mCWHtpYz6dU6dEKNE2JYx3quShxLBO+rko2Oe59bLXw9zml2LfVdq/8zyP9HsAtjf7BTdUhgDFUuCUPpKJp2jx5qwo/apeCo+qSTpJCw4G181P+WuMbvNM9xq5gn6T/gZnH/O+4ByK9Nymbggu2E/mSHyz6JUXGFrVt/g5TMexAe7NG2P9Tgy7w6Wg==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(366004)(82960400001)(6636002)(33716001)(6506007)(4744005)(66476007)(66946007)(66556008)(83380400001)(8936002)(316002)(6512007)(54906003)(26005)(86362001)(38100700002)(8676002)(186003)(85182001)(4326008)(508600001)(2906002)(5660300002)(6862004)(6486002)(6666004)(9686003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?M3hOa01ybjVnSkdMZG1UcVJvWVRtYWFmb3dWaXdpU2NsZ3lYK1NNazBCbUh6?=
 =?utf-8?B?eEdpZWQ3SGZPR2RCWU1aZGpkcTdvVDZaejBQcEJPVC80S1ZCSW1lZjVlSGFL?=
 =?utf-8?B?Rmw4N2lFNGVGUG9rOEJsdnlQV1R1VUhVR1ZNY1BZdldvSDl0dUpRU05PeTRG?=
 =?utf-8?B?Qjdib0M3dHEyMXBxbnpGUUgxWS9ISDlGMDlhdCt2NHE4YUduTFl2UVJ2N0VL?=
 =?utf-8?B?a2VlbGo2YmpZbGo2UzQvYlRQSVR3b09CRDk2a2ZhaTRXdStacnRnWUs4NTJ1?=
 =?utf-8?B?cEdXTDVqakJSOGxMK0x1c0FCZGV0TE5QMThCMEg2UVZkNFBwNUt5THUvUzhM?=
 =?utf-8?B?Tk1tdHhkR3d4VnkyTlJmcUJOR0xBQTBIQnM3QXd0SlRNYVBTNGN2VTJUaXFL?=
 =?utf-8?B?NmIzL3MvOXVQMXhqU1BEU3lja2k3bDFTSXhrZVNlZUlJK0NIVm9hdHA4VFFK?=
 =?utf-8?B?cUlxWGtEQlc2WGRwdC85QkNUVE1yR1B2TUQ1dzJnK0lZRVlKbXNpaFFUOUpH?=
 =?utf-8?B?Tm1FVFR5aFF3TEN6bm9DcXdLbFo3eXRhODIyM2tTc1hQTUNzUVM3aWdBWlBn?=
 =?utf-8?B?anVCUExOMkMzRGhJTldpdkFxd3owTjd3Y0h2bzF4SDFlaGhEb1RRbUhRaHo5?=
 =?utf-8?B?L2tucmtBZDNsY2wvOUlNekFqdDhrVlk5djkzazZSckhJOWVwQUExeHZKVXhF?=
 =?utf-8?B?dEp3VzJYbGNRUTZCQ2NoK2d2dkFnQTJrVE1Bbjl2Q0NmUFpNRk9CZ09rNDdD?=
 =?utf-8?B?ZXQ2cWRZdVY5TTloYnZScEc2eXVTaEpURjVHOFdEWWhaMDJiUndXcDd5cWFZ?=
 =?utf-8?B?YlRHU3dINEdFOGhiUStNRDJDM0duTER6b1FBN1pLQ3ZKS0pmanhESGtKbmFR?=
 =?utf-8?B?RzdqYmVVbFZ6VTlWNk5JdkZiM21QQzU2OERHWkRzTzdQUUt6VWNVcW95NXR1?=
 =?utf-8?B?ZmRqdVl0cjVnU3RnV3hKdXdpYXdSMlQ1S3pTQzlaTU9zT01Pc3F1VW8xL3R5?=
 =?utf-8?B?a2ZSMVk0VTZpaXFnTVRreTE4cWxrOFlqZytUbWh0U3RRdGRsRGNPbG9RT2hL?=
 =?utf-8?B?Z3NjZ0lkaHhLRkx1eDI3aWhkb0RtWnI2VlgxN2RUK2NGcEsyS3ZiZFYvNXF2?=
 =?utf-8?B?aXRaeXVFay9ENnpPTWlTWjBja2RtQ3J5SmpzdnBRa0pPS3JKNHpxaHFVTDEx?=
 =?utf-8?B?UXJVWThjQW9VZVAxdlpHNXNjQTluSmJ5WWJzVTh2emhOYVFyNUFRMXIvRHl3?=
 =?utf-8?B?R1kzRmZjTTBwQjlEcWNWQnd0Qmp3VkRxN1ZBUk4zeHdaQ1lqR1JjUnVDc1px?=
 =?utf-8?B?K0tCcnpIbnhhQkJwOU13c1Jwb3hHb3lKSko2RGJKM2pRVW1tNjF6cXpkZFVr?=
 =?utf-8?B?YzBvb1RJN1Z1QXlFMW1aNjVzOUtLSjhCakFkTEgrNk9mUjgvVDVKTkhNUWlV?=
 =?utf-8?B?YWpRT0JMQUcxbVJBdklnM2RDcWZZMmhzeTBFbDNwUE5aWHgyWEFIMDV1cTBi?=
 =?utf-8?B?enVDbm91djRoQVpYTU9RK1d6aDJtVVBUV1BHZ2ZxZDk0cjVSSUtBWGRSdFg1?=
 =?utf-8?B?YmVFRExzYmFScUJadzI5bTRXeFhUdXZPeGdQa0k2VnhRdndzdm9SM21SMlIv?=
 =?utf-8?B?WHl5d3J0L093UTc2dUpFZ2VIZjIyczdxc3o2MDd6SEN3c1RscG5xQU1seE0z?=
 =?utf-8?B?WlVLMnBIaGdWVDhwQU5IOWd4KzhaRmljUjZGWFVGamlXdklReGJNQXh1ZThB?=
 =?utf-8?B?SkluL3BEMUNtcEJpSFZtd0pOaVNNOEdYYWdidml5WGw2K1lzTlR3RGo5a3RX?=
 =?utf-8?B?ZlZkTkZQeS8rRnRCREU0dytCb1BNMkI1QTdTUG5oWWM1ZHpGalRxVC9Rdzk1?=
 =?utf-8?B?dmFtNVl4dStUcDl5SURIWWE1dkxlUlppZmwvbC9CMmpZb01Bc1d3S0Y1L3J6?=
 =?utf-8?B?anBnczAxaElNT1J3enI4TlQ2RCtKeC9TMXRYODdkbVhlYmFNRGtOYjVMaGJi?=
 =?utf-8?B?bEhwY2pJL1VZZG5QZnI0V0pWWDRNQWFtS2tyajcwZmF2U2ZIZjFqRXRlRzlY?=
 =?utf-8?B?b1pLcEswY2g1ZFNiendQcnVONVBGbVVSaW1UVUdLcGFURHVnanZhSE1ya3dz?=
 =?utf-8?B?ZWJmZDVJZDdHZWpiQ0FuWnJid3NWTWJQV0VYWkZBSUhyVHNESTlVdi9MeU9R?=
 =?utf-8?Q?xvU+Mw3NRd9dexmmYiC+M34=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 820aec31-aa6e-4e39-d9ad-08d9e0c99cc3
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 12:44:37.3702
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6voGiFtJVxLVYtiUpk35qLH76DFlv5N9SRPLkwKQHLTnUCntSo9qoXZSEeEOZyn2Yd6FQ3F57kkk2bs98adz/w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR03MB5691
X-OriginatorOrg: citrix.com

On Wed, Jan 26, 2022 at 08:44:46AM +0000, Andrew Cooper wrote:
> All AMD IBRS-related features are in CPUID.0x80000008.ebx.  Collect them in
> early_cpu_init() so init_speculative_mitigations() can use them.
> 
> Rework the existing logic structure to fill in c->extended_cpuid_level and
> separate out the ambiguous use of ebx in an otherwise 0x80000008-specific
> logic block.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

It would be good to update the comment ahead of early_cpu_init to
mention it now also gather speculation-related fields from CPUID in
order to do early setup of mitigations.

I think you could also use boot_cpu_data in spec_ctrl.c print_details
instead of fetching again the cpuid leafs?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 12:47:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 12:47:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260879.451066 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nChi3-0007AI-60; Wed, 26 Jan 2022 12:47:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260879.451066; Wed, 26 Jan 2022 12:47: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 1nChi3-0007AB-2e; Wed, 26 Jan 2022 12:47:35 +0000
Received: by outflank-mailman (input) for mailman id 260879;
 Wed, 26 Jan 2022 12:47:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OZ3N=SK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nChi2-0007A3-C7
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 12:47:34 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 21593a33-7ea6-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 13:47:33 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2104.outbound.protection.outlook.com [104.47.18.104]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-36-kLI6EtzkPruzF1uq3nJTdA-1; Wed, 26 Jan 2022 13:47:31 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DB8PR04MB6555.eurprd04.prod.outlook.com (2603:10a6:10:103::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Wed, 26 Jan
 2022 12:47:29 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.015; Wed, 26 Jan 2022
 12:47:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 21593a33-7ea6-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643201253;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=TgKP2MXJi4QMpbil/c/UUJiX1hvglDfrKYe7y4xe/so=;
	b=J2+09lLk+F7fT1S+ktTHqQUljsUjVF0BUpR0Kfn4wJ4k4aFg9sFY9eNWhzsSa7oDDjqxHE
	C0k/3V26dDSzviG+WOuY9Ke+nd0RGzy9XageO/IYoJIvNH7kDQhubreYk8wb/3GHa5esHl
	Jz/o0KUAKyns33CMfdmGaJ0aU0lLaw8=
X-MC-Unique: kLI6EtzkPruzF1uq3nJTdA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XincRZDkLWXLLgwr6HTBVlKVBNkcDCkpqG/MqJGCiBPLHw9NVRG1zRtyu3v9SYhoBJqhGOTMmmcU6qszQE/bmLwyXIeO/tjcM+wwjh95ATzx+auF/C5lIJT113uI1cKJV0sBOTkjsGB5QbUdU0gxgxBy5DuhUdWxwo7D4q+GzetfmQAOuZlXmLfAVsZ5sUehrbvu35C+8jS4HP09zmkQokcCOKpDL1XcDtdqk0gOtJOmhyJ4NecILq3lxaIEKdMJY6qt5lYZUwl7zLgCxYkK8Ytmw1dmoWRxbSbxv9g3xn3KA/IMAJjXug6Hp73Yr11v1hCdL3kLhoHxfVXpu4cx1Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cIDdExZSfPadiR0MHp0V5XApoC4433ImlzGhuNUc2a4=;
 b=BBUu3/5o+yfSK9sy/hkmmmmziP93Rqwyh8oB6GumjZ9Hx5k7vmvREzl+VNs8wCCi58MW5oobsGQTh8B1xsczD+yiJti6eugxRKxGAlltwuy/nlakijBWco//z1YfRQOy4PBIEQtHZkaWAAihXdVWeaU+QFoR3xTfe+sPjPvfMOBcKyP9pgWuuaOiJiOu5sKz/6ym6Ps/RiYMtPHxohZXj59GUR7q6+vP8aodYV1Dzd35TqRfu7doH7mdlDRBR3VCbkxRH32vw5h82GCDXBiEMX5L9HbF+SkBsQmPr8B3/+iAKgv6vLLIJXtw8t3FYvGlWQlOFXJS41uVdLJ0CHW74Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <72f35326-0ae1-458c-6490-37d14524bf33@suse.com>
Date: Wed, 26 Jan 2022 13:47:27 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 1/3] xen/vioapic: add support for the extended destination
 ID field
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org, David Woodhouse <dwmw2@infradead.org>
References: <20220120152319.7448-1-roger.pau@citrix.com>
 <20220120152319.7448-2-roger.pau@citrix.com>
 <5f8d332d-1bc3-af71-27ba-a4ff7b6e9514@suse.com>
 <YfATkz+nse45Vg3C@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YfATkz+nse45Vg3C@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS9PR06CA0062.eurprd06.prod.outlook.com
 (2603:10a6:20b:464::12) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 1f998453-957b-414d-9c7e-08d9e0ca0364
X-MS-TrafficTypeDiagnostic: DB8PR04MB6555:EE_
X-Microsoft-Antispam-PRVS:
	<DB8PR04MB655567F4DEA639F8141E3D50B3209@DB8PR04MB6555.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:
	Pgkhs59JGNbyJG9NjR0mpPAsdhQQert0hdOqnK/3H027Z8puWHUT92qTWInWReHMJcDpBsY5IpNWSsMS8cAQtYTsBB/MGD/F2IH0/9AawGdRI83tqpDBy0fO4B42fS+Q4cmjEuLq/aZ1dIVgZaNBdV9V6bj45Xv25dTR1hwODXnM6U4Gf/qoFRL3UcCFvQlEGlPyWKavOVK/wNgCqq+HOBAdSi0oSmnMXcgXanEOLa0blEAerRQMHMg4MlNxTISS5HigAUOlYU9XbS4d1e4kEArdAdr471rEByk3d12TCCaFsxhLrg21y3WCIbAV89CJwjDjbmppjlPKJo5YDOE8n7egTolckYcx/NzFCfKy23UES/2rwKyei5+URVO6tlA83+ImIVwGRV+6wGV6ibfhl03ZqJapA4mfK2IWtPWM55uTFvowuZHQAf6TS5jQXtqH76OTIm5kYhyXrgPxy5GeFAYt6C02BCvJk2Gk1nRd0bJjA7C04z/F0G4IuJSUrvZP4gcVyG+x6Ejfi1muQI+DhjyIkwXTzQwufQk8OT7h0LBoddCaG+o4+dtxU7WHDsAVU2HWAbi0H88K2nnBpbEQMwgOKXtmn53Q+me2kCvY2q+Eu/2pUTiqaiyO6+o50oyGpJft90z8KEbHyZjK98Dp2ZiRF/LeN5Mj+9fWM2LqhjcVRCoyB8eUtZYKdWMcdlCQANlSircTEiiDIDU76/Bq4AK690oLUK5QQsgQp0l5LOMBEQHV1pgJqFO6byVp59d4iM4XaZ58sseATknyrVS/PHayB6w9MHwKCcYbcjKacqINK6IXuuXjR9TTlf1eNzYM
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)(66556008)(66476007)(66946007)(53546011)(6486002)(86362001)(5660300002)(2616005)(4326008)(186003)(38100700002)(31686004)(31696002)(6512007)(36756003)(2906002)(6916009)(26005)(6506007)(8936002)(8676002)(508600001)(966005)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?EtPN8YjFR6IPRTxWp82kvY531ZsDpMstYFxQNPPSTHdKrI+26KVgvEmyuhI8?=
 =?us-ascii?Q?W+SSdDDGy8UvWNtwkk52BE1TM5i6fPqzrk8i7fTqDWxZdQ/MRrSjtVbOv/oR?=
 =?us-ascii?Q?JziCcbibv1MmCX6Kd8NPJkAuFoX+89lE7mWGzgunfdM+j6qkmRAI6ATAWreW?=
 =?us-ascii?Q?XCP2xKOsTujucHIhQSe+iP1fBWccCIxqnQX5Ti+ILQqZwoKSD5kNydCdXbvk?=
 =?us-ascii?Q?jdgWANNU+EmSnls88yNXEfeHdksZJlx7WbBRFhvRUiro9HmUvOw8qG3XVhTk?=
 =?us-ascii?Q?fLHF5iphdJ3iusqckk/k+5oHiyUUgXBR9L5g0MqA1Kac5lSVveoKDUylApvZ?=
 =?us-ascii?Q?9t7rSrYCsXydmBz+ZXP578NvVd5zbHd72nr8q+QbCd3UFDkvzS/BNjJe1PBx?=
 =?us-ascii?Q?9cxvoqjym9P+jQHAKIeCAD7Db/Ix8foPuyn4b/pJfSr77FeBvByxYZ9+sL2F?=
 =?us-ascii?Q?vcj9LmtU79AoNyDYbEQjd4XyBtJRds/tNlmzn4BU/RhgwS1V3sLByA2dtG4N?=
 =?us-ascii?Q?KOdxVMWflKWj7IYxnhhq1WBHQIeP2UTl0+RtXcCZk82rBjARs1QCR6ZLiJGK?=
 =?us-ascii?Q?3Wv8VqTcAf8e0G5RdBK4iNABjiN83ZvVAvH62t1w9baYort9HuqNTFSKacx/?=
 =?us-ascii?Q?utsjotjcIb/Rz7HgA/BriuoUjgaQtZoSUO+wfqJkqJ/jP1s30zGZDZzh8zNU?=
 =?us-ascii?Q?Y3SidjtfCRe8RtQot4Qwg19Yp72HprsO+0AaJcWptzIPPVHqLSXgt96Q7i3H?=
 =?us-ascii?Q?l5nEyTF15gnytOCBTFKsFtzBrd+X6dFFgXMLo4+ZxyGd+YBWokPUho3pvLTK?=
 =?us-ascii?Q?94ckbxxH//vn6PAsLNc3X7B5HE9tTljZM0I8SSKfZ1zW54dZyBQNg+JcZmb4?=
 =?us-ascii?Q?3v+iAUBLWJWhC2+0sX1AhzJ4fP/VJF6LpYFEovvuCehURgFuwdkYPqq7Z2oI?=
 =?us-ascii?Q?GzYvNrHMBA1IHMkfpGyV5kSDS5RbvPfc58kAgZEpjJ5pzPuZ7Ca3tERO+hJj?=
 =?us-ascii?Q?bjIRQP+o5in5S7xGmsTzYY+bfZ4vIwfeI0HwAiQOn313Yt2NyflsKXI4GFCn?=
 =?us-ascii?Q?Jjli1EFGClPwsNrCX4NDh/9Iv/DgdiwGM+AVUjHSCqkPww+vpmFeNJrXd7n0?=
 =?us-ascii?Q?tGLwP7CBxJzu9ztJWb6xQ2TGGsled/o+91FEtLxvcEv7CmLdxYb4hylTlmW4?=
 =?us-ascii?Q?ymCj1EyjSy5oERjeCsR0//MbPXxqLglHU4iw0KP66uJOkVDYQtu2/4EHjnvo?=
 =?us-ascii?Q?VaK7L6i+UreNW0fIvqm0MQOvkZLnVma9+ZvwmlYM4XCexT8/pLWBHr96K8Ra?=
 =?us-ascii?Q?yNJo5DzRdtuI+x54dU4vzyGeFyaPHzTWNkzopATnKeP71bDLUP5IhUW9H385?=
 =?us-ascii?Q?YT5vI76e/qu1P0w5OeTGYlzE0C/cC++ZM3kIScsVa3YUdMY6xJKw9ncbAq1X?=
 =?us-ascii?Q?hrglx4witZP4e57cAQw8P2sIHnQIuxh1hiX4Egl05wEqe/cLVCtyXQ1fjK88?=
 =?us-ascii?Q?y40BE6QaUp5PT/3Co0WGGch3+NYUviaRHOldod+wRibJ/KGE8KQnleTwH+aI?=
 =?us-ascii?Q?cF8rDeNzm76zfykGuaZrrw6AR8m+/LbrjF+elCA6wY8ofbS+ZR5MCflPtw1+?=
 =?us-ascii?Q?4bB2wFcsudkj41ZymaRIMK8=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1f998453-957b-414d-9c7e-08d9e0ca0364
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 12:47:29.5826
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 768Y73ZXi3jmbMCd05IfiwrkF2zOEFc1zo1VC5RqYKtuvAjDukcXzmK4AzPIlHV9FfiKVvZaSkuYnSwrIrHz8g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6555

On 25.01.2022 16:13, Roger Pau Monn=C3=A9 wrote:
> On Mon, Jan 24, 2022 at 02:20:47PM +0100, Jan Beulich wrote:
>> On 20.01.2022 16:23, Roger Pau Monne wrote:
>>> Such field uses bits 55:48, but for the purposes the register will be
>>> used use bits 55:49 instead. Bit 48 is used to signal an RTE entry is
>>> in remappable format which is not supported by the vIO-APIC.
>>
>> Neither here nor in the cover letter you point at a formal specification
>> of this mode of operation.
>=20
> I'm not aware of any formal specification of this mode, apart from the
> work done to introduce support in Linux and QEMU:
>=20
> https://lore.kernel.org/all/20201009104616.1314746-1-dwmw2@infradead.org/
> https://git.qemu.org/?p=3Dqemu.git;a=3Dcommitdiff;h=3Dc1bb5418e
>=20
> Adding David in case there's some kind of specification somewhere I'm
> not aware of.
>=20
>> What I'm aware of are vague indications of
>> this mode's existence in some of Intel's chipset data sheets. Yet that
>> leaves open, for example, whether indeed bit 48 cannot be used here.
>=20
> Bit 48 cannot be used because it's already used to signal an RTE is in
> remappable format. We still want to differentiate an RTE entry in
> remappable format, as it should be possible to expose both the
> extended ID support and an emulated IOMMU.

I think I did say so on irc already: There's not really a problem like
this. For one I wouldn't expect an OS to use this extended ID at the
same time as having an IOMMU to deal with the width restriction. And
then, even if they wanted to use both at the same time, they'd simply
need to care about the specific meaning of this bit themselves: When
the bit is set, it would be unavoidable to have it (perhaps identity-)
remapped by the IOMMU.

>>> --- a/xen/arch/x86/hvm/vioapic.c
>>> +++ b/xen/arch/x86/hvm/vioapic.c
>>> @@ -412,7 +412,8 @@ static void ioapic_inj_irq(
>>> =20
>>>  static void vioapic_deliver(struct hvm_vioapic *vioapic, unsigned int =
pin)
>>>  {
>>> -    uint16_t dest =3D vioapic->redirtbl[pin].fields.dest_id;
>>> +    uint16_t dest =3D vioapic->redirtbl[pin].fields.dest_id |
>>> +                    (vioapic->redirtbl[pin].fields.ext_dest_id << 8);
>>
>> What if an existing guest has been writing non-zero in these bits? Can
>> you really use them here without any further indication by the guest?
>=20
> Those bits where reserved previously, so no OS should have used them.
> There are hypervisors already in the field (QEMU/KVM and HyperV) using
> this mode.
>=20
> We could add a per-domain option to disable extended ID mode if we are
> really worried about OSes having used those bits for some reason.

Generally I think previously ignored bits need to be handled with care.
If there was a specification, what is being said there might serve as
a guideline for us. Even if there was just a proper description of the
EDID field found in recent Intel chipset spec, this might already help
determining whether we want/need an enable (or disable). But there's
not even a bit announcing the functionality in, say, the version
register.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 12:47:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 12:47:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260881.451077 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nChiN-0007cO-Er; Wed, 26 Jan 2022 12:47:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260881.451077; Wed, 26 Jan 2022 12: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 1nChiN-0007cH-BW; Wed, 26 Jan 2022 12:47:55 +0000
Received: by outflank-mailman (input) for mailman id 260881;
 Wed, 26 Jan 2022 12:47:53 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1nChiL-0007bx-Ry
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 12:47:53 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nChiL-00027H-C7; Wed, 26 Jan 2022 12:47:53 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224] helo=[10.95.98.192])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nChiL-0005b7-5P; Wed, 26 Jan 2022 12:47:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=FE/oexUuL9In/NBh09bhWlKSau1kwHnncFfywh7oDEo=; b=dwCXqwAltP5gOYYvMZZGFsVzkW
	DFRqImpq1TnUp2XJC5pCPz8vDbUaFcekHzRNXSxDmz4n9/KnWJBdmJKwwGpbujKP83BFVN6f1H8sU
	KaoAqienzHHE52d0YejefVgr8i275h+ype46oXAhhbvYlV5EifirMlLTvX2K/0xXo8b0=;
Message-ID: <b3416dc8-f6a0-bb20-7479-8da1c0bb14df@xen.org>
Date: Wed, 26 Jan 2022 12:47:50 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [XEN v4] xen/arm64: io: Decode ldr/str post-indexing instructions
To: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@xilinx.com, Volodymyr_Babchuk@epam.com,
 bertrand.marquis@arm.com, andre.przywara@arm.com, jbeulich@suse.com,
 wei.chen@arm.com
References: <20220125211808.23810-1-ayankuma@xilinx.com>
 <8eb4949c-aa9f-38fd-682e-7620b5f9e03c@xen.org>
 <eebecd4f-1656-7488-b35c-d4778e9788c5@xilinx.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <eebecd4f-1656-7488-b35c-d4778e9788c5@xilinx.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 26/01/2022 12:21, Ayan Kumar Halder wrote:
> Hi Julien/Stefano,

Hi,

> On 25/01/2022 23:02, Julien Grall wrote:
>>> +    }
>>> +
>>> +    /*
>>> +     * Handle when rn = SP
>>> +     * Refer ArmV8 ARM DDI 0487G.b, Page - D1-2463 "Stack pointer 
>>> register selection"
>>> +     * As we are interested in handling exceptions only from EL1 in 
>>> AArch64 state,
>>> +     * thus M[3:0] == EL1h (Page - C5-480 "When exception taken from 
>>> AArch64 state:")
>>
>> I read the last sentence as "We only support decoding from instruction 
>> run at EL1". But I can't find a check guarantee that.
> Sorry, the check below does that but is used only for rn == 31. I should 
> move ((regs->cpsr & PSR_MODE_MASK) != PSR_MODE_EL1h) ) into a separate 
> check of its own.

The question is why do we want to limit instruction decoding to EL1?

>>
>>> +     */
>>> +    if ( (instr->code.rn == 31) && ((regs->cpsr & PSR_MODE_MASK) != 
>>> PSR_MODE_EL1h) )
>>> +    {
>>> +        gprintk(XENLOG_ERR, "SP is valid only for EL1h\n");
>>> +        goto bad_loadstore;
>>> +    }
>>> +
>>> +    if ( instr->code.v != 0 )
>>> +    {
>>> +        gprintk(XENLOG_ERR,
>>> +            "ldr/str post indexing for vector types are not 
>>> supported\n");
>>> +        goto bad_loadstore;
>>> +    }
>>> +
>>> +    /* Check for STR (immediate) */
>>> +    if ( instr->code.opc == 0 )
>>> +    {
>>> +        dabt->write = 1;
>>> +    }
>>
>> Coding style: We don't use {} for single line. In this case, it would 
>> also result to have a more readable code.
>>
>>> +    /* Check for LDR (immediate) */
>>> +    else if ( instr->code.opc == 1 )
>>> +    {
>>> +        dabt->write = 0;
>>> +    }
>>
>> Same.
>>
>>> +    else
>>> +    {
>>> +        gprintk(XENLOG_ERR,
>>> +            "Decoding ldr/str post indexing is not supported for 
>>> this variant\n");
>>
>> The indentation looks wrong here.
>>
>>> +        goto bad_loadstore;
>>> +    }
>>> +
>>> +    gprintk(XENLOG_INFO,
>>> +        "instr->code.rt = 0x%x, instr->code.size = 0x%x, 
>>> instr->code.imm9 = %d\n",
>>> +        instr->code.rt, instr->code.size, instr->code.imm9);
>>
>> The indentation looks wrong here.
>>
>>> +
>>> +    update_dabt(dabt, instr->code.rt, instr->code.size, false);
>>> +    dabt->valid = 1;
>>> +
>>> +    return 0;
>>> +
>>> + bad_loadstore:
>>> +    gprintk(XENLOG_ERR, "unhandled Arm instruction 0x%x\n", 
>>> instr->value);
>>> +    return 1;
>>> +}
>>> +
>>>   static int decode_thumb(register_t pc, struct hsr_dabt *dabt)
>>>   {
>>>       uint16_t instr;
>>> @@ -150,17 +245,44 @@ bad_thumb:
>>>       return 1;
>>>   }
>>>   -int decode_instruction(const struct cpu_user_regs *regs, struct 
>>> hsr_dabt *dabt)
>>> +int decode_instruction(const struct cpu_user_regs *regs, struct 
>>> hsr_dabt *dabt,
>>> +                       union ldr_str_instr_class *instr)
>>
>> I would like to avoid make the assumption that the instr we decode 
>> will always be a store/load. So please rename it to something more 
>> generic.
> 
> A difference of thought. Should we not name it as per the current usage 
> ? This will avoid any ambiguity.

What ambiguity? The caller should be completely agnostic to what 
instruction we decode.

> Later, if this gets extended, then it 
> can be named more appropriately depending on the usage.

Renaming afterwards is exactly what I want to avoid.

> 
> Also, the bit-pattern in "union ldr_str_instr_class" is very much 
> specific to ldr/str.

I agree that the bit-pattern is specific to load/store. But that's just 
one way to interpret the 32-bit value. It would be easy to add another 
way to interpret it. I.e:

union
{
    value;
    struct {
    } str_ldr;
    struct {
    } brk;
}

>> I think moving if ( !dabt.valid ) earlier should be part of a 
>> pre-patch. This would allows us to backport it as we don't want to 
>> forward the I/O to an IOREQ server if ISV=0.
> I would say that in the pre-patch, we should move "if ( !dabt.valid )" 
> before "find_mmio_handler()". The reason being if the intruction was not 
> decoded successfully (ie ISV=0), then there is no need to find the mmio 
> handler corresponding to the gpa. Please let me know your thoughts and I 
> can send the pre-patch.

Sounds good to me.

>>
>>>       /*
>>>        * Erratum 766422: Thumb store translation fault to Hypervisor may
>>>        * not have correct HSR Rt value.
>>> @@ -134,7 +145,7 @@ enum io_state try_handle_mmio(struct 
>>> cpu_user_regs *regs,
>>>       {
>>>           int rc;
>>>   -        rc = decode_instruction(regs, &info.dabt);
>>> +        rc = decode_instruction(regs, &info.dabt, NULL);
>>
>> Could we combine the two decode_instruction()?
> 
> Do you mean something like this :-

Yes. But...

> 
> if ( (!info.dabt.valid ) || (( check_workaround_766422() && (regs->cpsr 
> & PSR_THUMB) &&
>           dabt.write) )
> 
> {
> 
>          rc = decode_instruction(regs, &info.dabt, &instr); // We know 
> that for PSR_THUMB, instr is ignored.

... without this comment. Also see my reply to Stefano's email.

[...]

> So you mean something like this (in traps.c):-
> 
> #if CONFIG_ARM_64
> 
> void post_increment_register(union ldr_str_instr_class *instr)
> 
> {
> 
>      // handle the post increment
> 
> }
> 
> #else
> 
> void post_increment_register(union ldr_str_instr_class *instr)
> 
> {
> 
>      ASSERT_UNREACHABLE();
> 
> }
> 
> #endif
> 
> If so, I am fine with this.

Yes.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 12:50:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 12:50:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260887.451091 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nChkf-0000iv-0v; Wed, 26 Jan 2022 12:50:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260887.451091; Wed, 26 Jan 2022 12:50:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nChke-0000io-Tr; Wed, 26 Jan 2022 12:50:16 +0000
Received: by outflank-mailman (input) for mailman id 260887;
 Wed, 26 Jan 2022 12:50:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OZ3N=SK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nChke-0000iQ-Ca
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 12:50:16 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 82028b3a-7ea6-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 13:50:15 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2105.outbound.protection.outlook.com [104.47.18.105]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-4-Yt3ydI2XMp-THcu3fPUdhQ-2; Wed, 26 Jan 2022 13:50:14 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AS8PR04MB7861.eurprd04.prod.outlook.com (2603:10a6:20b:2a9::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Wed, 26 Jan
 2022 12:50:13 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.015; Wed, 26 Jan 2022
 12:50:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 82028b3a-7ea6-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643201415;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=XSw/JZ/rYWLzjmJlTaCkcMFGZ0DjyrvO9yBcrZUWS6Y=;
	b=I+RzNYd+J0DLacfxlfEz0f0izQEgO3HM6hK6dwC8mVtGdMjKA9qFQdleMywMr/UUN5dJw7
	6H7mSzn1mW1AFdt0MKHZs23bY9BBU25MtjpYJ0EP9ZCD+KCSp0pyljcLk9xGbe1qS6GDeF
	76q/bgPSvFr6wk3K5mD/SAmeTSDWspk=
X-MC-Unique: Yt3ydI2XMp-THcu3fPUdhQ-2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lhWA/Dvg+TflbDubqKhYj52x6ZImeS4if8dRQrwiNR7S3KpvygxDKpDpP1kj3MOQHcF9jQBHkCIvWqPdB5sHT1blel7eQ1k63Z+N/S7pxIXufYx+ZXXnvCsS7hcOFjwQ+xcXvSJWVNOmNozPLaJCkPFj+dRdih6I5tdsdiTRyKQox+Huuq1FtnkFg4IQ4kNE6rQsRhAEkydYk6t4ZQiMhCgPg72qrLTu3lDTLmbJeivh795Ne+qquXKFhfEK2cYbhPNTUKJLJyjZy/1Tq6dPxNtLxd4bnWYckDP9xARwYh6lxWLw5Ze61WwKFubiYYNNyDw1r8Eq4s2NOxE3B4Eghg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wpAsxlQTr2e0z2cU6pNny8m+NIG4rRI8cK3SmoZUne0=;
 b=lMW7NGQMN+dY6lCTR7um2buYdIBp6qitVuEgu+PIXNcR/vVCdeapS4l4ovk6B95f2fk4gn6d6lPVY227ICvgsF/TzZnSZMyUkl8UKogV0o0h1SrQcq2wGZ+Q70+48n4SToVvy9THlyC3/yF5gOZRBSVz/x4YhVA3ZwqJHcrn4IMLJsLyt29jvVNGZVZUwRlDGBm5fuq0/YaTnYYsKX7Z5aH64ZCkhK3lKSgcriLnKgG8qfjed6rI5WKfIZ17zevFFcbfFhfa1qvnvbFB9oJf7hom5JTaKowkGKTuhK0cukxJgxjoxcJI9xxOLph1gfJji9WYA9eUaZrYipGcTXDftA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <764cdb07-576d-3d2e-328b-9acb96bda402@suse.com>
Date: Wed, 26 Jan 2022 13:50:11 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 2/8] x86/boot: Collect AMD speculative features earlier
 during boot
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <20220126084452.28975-1-andrew.cooper3@citrix.com>
 <20220126084452.28975-3-andrew.cooper3@citrix.com>
 <YfFCLxnGDeuk/va0@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YfFCLxnGDeuk/va0@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS9PR06CA0017.eurprd06.prod.outlook.com
 (2603:10a6:20b:462::13) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 0ea9cb01-7a4b-4534-37e0-08d9e0ca64f6
X-MS-TrafficTypeDiagnostic: AS8PR04MB7861:EE_
X-Microsoft-Antispam-PRVS:
	<AS8PR04MB7861FC428F25BE6C9D8E006DB3209@AS8PR04MB7861.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:
	Ay5V4Fuubz2B1+dW/eFQoAAAzSh0I73dRNIjjIYBJq/CsQ0sOJvZJbfuk+dULc8H3B5i+Z6cGhruZw2CDG6GSYehkNLGQ9h4BchI/TMkf+E2BFiZ5tTMI/IwbfGy0paGW71fboQ8SQjVjOxSVbELHyrddM9b07q8rzJqsy0zPerJ/S6X40VK7mibc4VjDaIfpceBbud3Tx0sHWO1SkKSpFbbbU2pMEuVBVovqoheSzBsxrvIW1DFOJ5qErVhLbCcKo9/GImM2S6Jgixud7mhA69mZK4zM402eNxB4ffEULtRHsEBZiHPD4l61qQJeMzs67WXWhlFOONDX3pVZ4+iosYIt59KPZvHeVW5S2SHoKT16dF5oDEMdECyHq2omy7HvzjTmk1s6mZCxVPn7n7O3i8wPJYOYYhjRLwMZdMCXBt/T/nt8K8iLI22iYea9VBPAtArKeAaIly1YIIAtsGSXlvwfv8WYBgK51SxTSXSjMpdjxu2abj0l3EX669WsiZP5om6zD5a6dwq0NqAPEJUuZrCo59c9VBWNKEq2teBqaZTX8K6gHnUB6VbWxYtUS9B5WXogrxfcV+OjPWxwXmiI8kLqL+Eom3SdZ2MD/3pgb4z9QUkMkrI8LDxK9SmZ/QdoJqxnZck9lhHORBD32Aa+Xa116YSHchAIX91oz6nVlBZiH8fzRMAxq1jVZkSRMjXhsSPA123lmshQRi9v95JqcHF23T8hyllJYqaCMyclAPkFq6e0fBAhui5F/dsNuV8
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:(13230001)(366004)(6916009)(54906003)(31696002)(4326008)(83380400001)(66556008)(86362001)(316002)(53546011)(66946007)(186003)(38100700002)(6506007)(26005)(66476007)(2616005)(8936002)(8676002)(5660300002)(6486002)(508600001)(31686004)(2906002)(6512007)(4744005)(36756003)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?r2sEsu9X7UgcyJkXjQ7hCW4DiGuXqBUfeX0pwj7Y35dUSFQulvSQZQIkUhQt?=
 =?us-ascii?Q?CmayA13Ok8R2760a2PiTjVayJOqABUD/nQdGasrG9dct1t106U96p+VxVLYE?=
 =?us-ascii?Q?P9p723+2mXfTfEj8i/zFWCPBoGCyf4YtIDbs1WqXM5EvnG9ZAPirJk4Tnhb9?=
 =?us-ascii?Q?ivQQpwd//MLN05fmVGFQfg/SLhWdOBlK34v/RYYX8E//hoqYa+7myELciVJm?=
 =?us-ascii?Q?1dyPOvr7pJD2N1yRvnm6r1tR+iA2lXJB2W+6CNx4T5leT/FJZ0KvVu0BoI34?=
 =?us-ascii?Q?knoGleUJGfbqYrTqN56tLH6kxq7U+qGavQzoGNtZDeU20l4LCOGtEh5byFER?=
 =?us-ascii?Q?oyPXU8YXynwtkc+8HTDzJZGmDravbxh5c31KUlHAPdiiY/M3wK22ukyOe1D9?=
 =?us-ascii?Q?1RI7P0LHuxATXZ6bDgOUAXRIxg+TMUeVVB9KujKjKfaHFqaMJKEyu4cPfiCc?=
 =?us-ascii?Q?9TougwV9I6gqv/niq6azA9Yx+pvEu2PMHs4w7A3bSBSb4fmeKstTatDTPwzQ?=
 =?us-ascii?Q?uPD4MsEsBX0JMhR5SL6qOUnjR1/sCLWx6gR36PEuqmS3hXBooaiIxBe9+r43?=
 =?us-ascii?Q?V9AMbTgu1CU1ikKkk/41sLTMzBzfeFt4pV9bBMlDUX5frhkDj5gdveybSTwF?=
 =?us-ascii?Q?WeLSJTC0F6PlQwpRkWqRcIBJVI/+ynouC9FegjWnEU87jkyX19iR5CKqy3MU?=
 =?us-ascii?Q?E1K16N4rLxCXw/N4DfYGOEY2qsDYjf9uBXqTA4r2SCjWp7DoS2EZtKESFTPI?=
 =?us-ascii?Q?/XP4h1g/UwXsgAHgkACQE9YWeEtMZ3BDw4NL5Q4Voipdx5qej2hzdHHf3G71?=
 =?us-ascii?Q?uUN1KYTMUirBa/8wYhTnn5O91PyVptjZpg4YridP9hKPFeUQreradj34SIe3?=
 =?us-ascii?Q?eS4GupYUE7heZgtapJFH0tS1YrECNztgtISFEBm07G9X21ahKYZDStn7Tpih?=
 =?us-ascii?Q?zQ6IB9kQsVGYgYct+V1D7DYFoAr8SWLsZ482LBd7vLnDLQH1rLhHFKyg4FjP?=
 =?us-ascii?Q?GCBJuThdfMCZ5GUMQzCpzXCnLbZbZUZ6qTLhjUuay+XjpgrKSWCAz0YrE1f+?=
 =?us-ascii?Q?zkNIqkw7BBfKVuA2wjsZN8qDDDHLJyo69hvYq2o9V+s9VWP1RWY3Ia4F/YgR?=
 =?us-ascii?Q?kc6yZK5s5xGXMUfqp6GgGGiRy84fQO6fVrEWohFPfg8uj6OVNqGvIBdsL3ep?=
 =?us-ascii?Q?ZXm8viW1/Fm/WHhmzZVYHKgSo15H/nsdjVXNJa5O4yK3zvPkyrztkP/+OraF?=
 =?us-ascii?Q?XXvUhgLspS260t0pXTxBED9VHzkYRKW0sLZY0MGM4Ux+udf6sKoh03s6KbgZ?=
 =?us-ascii?Q?tBd/RETX9AM7ERhdSXI3HgGoqL+OO9I98E9chtSP1X+8+b34VT1zs8Gsjz1h?=
 =?us-ascii?Q?xB2PMp2/kYoIJJ+ij6BDpjC0CKwO7YUMJn8hYb0xZBguUPJgYoA0My3es+rP?=
 =?us-ascii?Q?0otplPaeMqCX3PXmDit/NQnpYC59iwhIXRADp37OEG3Q2oc3S7tez5rue4an?=
 =?us-ascii?Q?83ylNBsJ2zK4k91JfZdDa6iKf0ld3ZmT2ZwHBH7ZH4tMbovZHAzb10Ic8OXG?=
 =?us-ascii?Q?LL5sGRnbbcriTUCu9Zb9U3t5xguChk8EgoJG9eqjsGzOlFrWa4Vcj/FOm4yf?=
 =?us-ascii?Q?1HP+gy8uxsLCVx7UE4VrXZo=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0ea9cb01-7a4b-4534-37e0-08d9e0ca64f6
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 12:50:13.3071
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: hcIPoAWQSqoXsg611aVXJWQK6+bT7FnTWDh4V2SVzdIgym+RBZ18MQ2vZFFK1/dVAHYJ8ONxlfbwistY0B/f4Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7861

On 26.01.2022 13:44, Roger Pau Monn=C3=A9 wrote:
> I think you could also use boot_cpu_data in spec_ctrl.c print_details
> instead of fetching again the cpuid leafs?

Like with pre-existing code there iirc the intention is to really log
what is available in hardware, no matter what was subsequently disabled
in software already (e.g. via "cpuid=3D").

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 12:54:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 12:54:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260891.451105 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nChoc-0001Mk-KZ; Wed, 26 Jan 2022 12:54:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260891.451105; Wed, 26 Jan 2022 12: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 1nChoc-0001Md-HS; Wed, 26 Jan 2022 12:54:22 +0000
Received: by outflank-mailman (input) for mailman id 260891;
 Wed, 26 Jan 2022 12:54:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DU/T=SK=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nChob-0001MX-5O
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 12:54:21 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 12790776-7ea7-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 13:54:19 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 12790776-7ea7-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643201659;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=oxuVZUXvILbGGCssNUdc13jIPVxk4iTBXbaHex86mY4=;
  b=D/Jyr5U5h8I0ZEvJ8wqyYo2SjW0bIxqeC+Y4cKjwLyWs3QQRguhaPLgO
   71iww01t61+9sDs/x3z0nvXHkwxgeqXKXmtFDd+NTSuYXqaHHRVyIeXh4
   z/Gr5iA0MPkIg2GKbQ8Qhv1IF/szQmdIRFTOxRlQguuU7d/Hl+s/XXco4
   c=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: A9cAfWMsuSvleCITOpN6BB7cevgpgLwjTYlTWxwnP7a5tkYN3avJ/kEd/TTztP5Hs+lIetseAY
 J+6EAcZXNaFLUjhyYL/mRip6CaHs0ofHnkrlepo/gp/K2+//Eq5AXH4kUQUQRrVZzKtwwhvoz5
 fxMh09I9Dh8JHSf3kB2fiCRFST3aGGWtB5OnScI0uws4OSIMi2lbVZ+J1DhCYFSxJ/wNF39GQX
 FmPkgGVNGGtoNtVyyO2suqx8bo3RdRa0c5eGzYk7ooO46aRh2Hh9PNBcxCRMjrMqE7noPjMU25
 x4DVhD08yRLnS93ZMMMxQeLb
X-SBRS: 5.2
X-MesageID: 62712488
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:QF/0Wq0CAFAEF4c/gvbD5T52kn2cJEfYwER7XKvMYLTBsI5bp2cCz
 WMcWGqBO6qMMTD0Ko9/b9jj/E4P7J6Hy4QxQAZppC1hF35El5HIVI+TRqvS04J+DSFhoGZPt
 Zh2hgzodZhsJpPkS5PE3oHJ9RGQ74nRLlbHILOCanAZqTNMEn9700o6wbBh2OaEvPDia++zk
 YKqyyHgEAfNNw5cagr4PIra9XuDFNyr0N8plgRWicJj5TcypFFMZH4rHomjLmOQf2VhNrXSq
 9Avbl2O1jixEx8FUrtJm1tgG6EAaua60QOm0hK6V0U+6/TrS+NbPqsTbZIhhUlrZzqhv/Au4
 vlL8rKLFQIAP7biisMiDygfHHQrVUFG0OevzXmXtMWSywvNcmf2wuUoB0YzVWEa0r8pWycUr
 6VecW1TKEDY7w616OvTpu1Er8IvNsT0eqgYvWlt12rxBvc6W5HTBa7N4Le02R9u3J8XR6qON
 6L1bxJuNTD8Mwx+JGsnEbQuntWRuSDmcjxx/Qf9Sa0fvDGIkV0ZPKLWGMXRUsyHQ4NShEnwj
 kDs8nn9AxoaHMeC0jfD+XWp7sffkCW+VI8MGbmQ8v9xnEbV1mEVEAcRV1awvb++kEHWZj5EA
 xVKoGx09/F0rRH1CImmN/GlnJKalj48BPB8FaoU012I46vPzRS+OTQ1CTEUPbTKq/QKbTAt0
 1aImfbgCjpurKCZRBqhy1uEkd+hEXNLdDFfPEfoWSNAuoC++99r0nojW/4+SPbdszHjJd3nL
 9lmRgAajq5bs8ME3r7TEbvv02P1/cihouLYC2zqsoOZAuFRON/Ni2+AswGzARN8wGCxFAjpU
 J8swJD20Qz2JcvR/BFhuc1UdF1T296LMSfHnXlkFIQ7+jKm9haLJN4Mu2gleRk1bptUJlcFh
 XM/XysLtfe/21PxNcdKj3+ZUZx2ncAM6/y4PhwrUja+SscoL1LWlM2fTUWRw3rsgCARfVIXY
 v+mnTKXJS9CU8xPlWPuL89EiOND7n1gmQv7GM6qpzz6gev2TCPEEt8tbQrRBt3VGYvZ+m05B
 f4FaZvTo/ieOcWjChTqHXk7dABTciNjVMmo8qS6tIere2JbJY3oMNeIqZsJcI15haVF0ODO+
 3C2QEhDz1Tjw3bALG23hrpLMtsDhL5z8iA2OzICJ1Gt1yRxaIqj9v5HJZA2YaMm5KpoyvstF
 6sJfMCJA/JuTDXb+mtCMcmh/dI6LBn71xiTOyeFYSQke8IyTQL+5dK5LBDk8zMDD3TruJJm8
 aGgzA7SXbEKWx9mUJTNcPuqwl7o5Sodlet+UlHmON5WfEmwooFmJzao1q08It0WKAWFzTyfj
 l7EDRAdrOjLgok07NiW2vzU89b3S7NzRxMIEXPa4LC6MTjh0lCimYIQAvyVeT39VX/v/Pnwb
 +ti0PyhYuYMm0xHstQgHu8zn74+/dbmu5RT0h9gQCfQd12uB75tfiuG0M1IuvEfz7NVo1LrC
 EeG+90cMrSVIsL1VlUWIVN9POiE0PgVnBjU7Og0fxqmtHMmouLfXBUAJQSIhQxcMKBxYdEsz
 uoWscIL7xCy10gxOdGcgyEIr2mBIxTsiUn8Wk321GMztjcW9w==
IronPort-HdrOrdr: A9a23:+HGXdK35azxRLiJmVxDw7QqjBLwkLtp133Aq2lEZdPU1SKClfq
 WV98jzuiWatN98Yh8dcLK7WJVoMEm8yXcd2+B4V9qftWLdyQiVxe9ZnO7f6gylNyri9vNMkY
 dMGpIObOEY1GIK7/rH3A==
X-IronPort-AV: E=Sophos;i="5.88,318,1635220800"; 
   d="scan'208";a="62712488"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=D1FsxQtE2+R+ISLd3KGC9NUSZh2GwS5XBZA+XoF0xXEKqGRyShCh0uAUYBkyN7gh9ydc4kvWkYtL14hSiw5a8HHjJzsNtPpzSYuIQ9yfj2KuqjOP95QEwA0nhZtT1xvEYsh+WgQ+YiMcmwzw2DYONrNp3oG98+FZFjzpA+6Jx52MK+2HNe2S173h0lignRwZrlY7bUZc/OdFtW4S/zVxQNPkYW8EsbOJylEI+DU81SUMldJEkYGaTSdEm3tDMr0hjtAuRAE4kCQYIPmxjsd/Q1PCBLJbWPtmsEzEw8+ABS+DgY4Zo4AwQWv+f+xUXc+MKpSY+ujGAo3sfTK+HlAKLQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oxuVZUXvILbGGCssNUdc13jIPVxk4iTBXbaHex86mY4=;
 b=O461i7g19yQO2mipFBrCvsb8dZTIc55SuXlwcx158Uoc//KDNyITh8x57fKTAABSOYo73ttoxfx0W2KK3ap6Lv7e9bnNKTCHpjqkZK2OtS1Sw8bQRQfmToDUVY35onwcEjiAq4VKuh5jAyht3PDjAIiYz1ze01d2T1wwW/OgnPwILOWgLsXVJzBFJ7hF0dBAh7FlUQhs/CWpX0A6yQ5teZqf0wXBJXUlemmnR2TLqplpBSRpajBCrn7HFfUM/ZP0P2lwJZZgjmmjAmmfha8I9NjlFOGGB2syux8OU+VX7qCNHP3v9s7iT4PwZ4ZUjsPwFBKiDb8rPa5qXZl+ca3brw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oxuVZUXvILbGGCssNUdc13jIPVxk4iTBXbaHex86mY4=;
 b=NR4Gz6X0VhKIylUeT/Y6OwmsdXjegL158ONKWtXwS1uwAGHwBes/6tqxxGk8WLRAq6GPfiT1Mh5gVAwBFVYCugjzx1FZTsREqTyZgY49lYdqC/ggHxhPHduUQeD0Y+AXTfU1l/OPYB0qpmO/kPQ+XKN6cY/Vx/8N/Lh2aXfNvoE=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich
	<JBeulich@suse.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH 1/8] x86/msr: Fix migration compatibility issue with
 MSR_SPEC_CTRL
Thread-Topic: [PATCH 1/8] x86/msr: Fix migration compatibility issue with
 MSR_SPEC_CTRL
Thread-Index: AQHYEpES7gvScC69dESW9o3ZnqmjH6x1ODuAgAAKRgA=
Date: Wed, 26 Jan 2022 12:54:14 +0000
Message-ID: <089c379d-5603-53b9-69ce-eb3ad83c2e26@citrix.com>
References: <20220126084452.28975-1-andrew.cooper3@citrix.com>
 <20220126084452.28975-2-andrew.cooper3@citrix.com>
 <YfE71yLhvV9W7GT+@Air-de-Roger>
In-Reply-To: <YfE71yLhvV9W7GT+@Air-de-Roger>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 2ca21b40-ca3f-4663-cce6-08d9e0caf4ef
x-ms-traffictypediagnostic: SA0PR03MB5626:EE_
x-microsoft-antispam-prvs: <SA0PR03MB5626E70CBAE88924D9795801BA209@SA0PR03MB5626.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: 0R+DkMDIlDYQLXXYe+eceCkPDnkxtAKxkoQ5NgiQpwgZY+lVklzbvIJJJhUXr8+ozT1AaklL9lwkBj6a6ca0ueEf15kGKngfshHyPMyjXCW61z6bj23iQmX+gIm5pBkv9qd5gY6u+lx3uHsj1XB2sT8tKLzKBrUN3ZNH/4waM932nASt959YOJ90npo4dlOsR1X+EYSm8Go9/0y7bvcpig/+JLPI4mCPCHu+L7HXRUX9mFTjB9KjKpRYX9chhxFlu/XRf+qcORDfTRr6Y5OYJGlhqySbCf/212c7ip2VFqMcbK5S4n9VtOY3oyNt6nv3EoV8KEjgkfLDKNh4KgbCy/JJD8/efPqkci7Qi2nFy2UE/F2feJyyMUCLncyCfLXRtE2QipSYUDJv7ZcQ7ynRzGEgMp9KisQgy1Qc5bxJSvRCoa//agML8vUTrSfWkUfGk8s+GSR3LS8X7EkrvYouPg+YiJ/Ahb1ONDfUHREIep5mSqufdoeZRX1TzYEJkPoIVOwaT2JRWPhHweXZ5D80AVp3MHiPmqGg2Ci8WBkSIAP7bcifLCfm6UNpnjzPqBWkYCgUW+RrhV0kLmIpaXV72XF2s5Uo9McH3/Zao2cOeASfksEe04ayuwKpj3L4ACapiFKkodZ3BtIJf24lTvhMor3FcRtU44TzwtMknIQ07wMxK6wdOhGnrK9eNso6OG9M7RzDMVP+aPtuag2tvPI+yJzd77tRw6A9Gqc5J2ZT8JLpyStuF/rO1sUP6qDDKMrs4QS0N1H0A87h1ohNs2/o7Q==
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:(13230001)(4636009)(366004)(122000001)(6512007)(6506007)(38070700005)(8676002)(82960400001)(86362001)(53546011)(31696002)(2906002)(5660300002)(38100700002)(6862004)(4326008)(8936002)(37006003)(6486002)(36756003)(54906003)(83380400001)(26005)(508600001)(91956017)(2616005)(76116006)(66946007)(66446008)(64756008)(66556008)(66476007)(186003)(71200400001)(316002)(31686004)(6636002)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UXNlZnEvYW5UVVB2aGZvaVc0d1k5YW5KRlZJSkx3aGttcGZOYy9SUWlwN3k3?=
 =?utf-8?B?Vy8vdTRMU051SlprVFc1Vk9nWlo0NllaMmxSVW83dG12RHVMcEQ1Zk1wSG9O?=
 =?utf-8?B?R2hEbGFsaVNQTDd4aEQzd2Z6bFdMTVFPUHlNdEFEbkFYbzVqWGxWRWxmOUZJ?=
 =?utf-8?B?VG00RkkzRFJtcG9jL2I0RUxWOXRoZ0lzc201dzEwTFhjL3kxTGNMSmdJcFNr?=
 =?utf-8?B?elJqN0NHVWVLS1hyc01abGJaUi8wTnkxWGlwaXZVcHBzUG1EYkN5ZDl6M2tJ?=
 =?utf-8?B?NmxsMDJyMW1JK3JQZktqVTJvRWRhMitUSGxZOW5FT0czbXpFM2xhM0FPbmhK?=
 =?utf-8?B?OG10c25DZlpzRExTVUNzSEdoamQ2bXFZV21wYmdMT0VEcW5YaVpwc3VBemNW?=
 =?utf-8?B?T0xjbzJFZDV6TFI0ZXRWUmJQcDQzYXhIRmg2TkZuVHVhb2poUzBzeGNTZXhQ?=
 =?utf-8?B?UTZXWCtsZXlRUEtYVnphbnVvL0J2S3gySjV6SFdVREZJUytxcklOYmpIUDFS?=
 =?utf-8?B?VUVjOUluVTc1aVJBZURUTUFtTTJBelpYM1pzQ3cydGcvVmV0ZkdHby9LK3pL?=
 =?utf-8?B?N2g5MlBXUkhWaTNUZWVFMEh4K0oxeHhMYzFGbEV3NmhGMWNCdHU2by9CNTFj?=
 =?utf-8?B?NkZhMVdobnJZSjUxbWpTdDVncXZ5emJaSlBDRFFCK2pVSGxIbEdQSVFYWW4z?=
 =?utf-8?B?aHZldW5ncVFpUkhlSElxem83elQ2RnJQbFJQdmVmeFJlOGpndldYWkVlUFVZ?=
 =?utf-8?B?d1g2ZGJ1N29rSnBvcVpoajB5NWl5TEFwbUgzenJPcmpXREYrODY4ZjIrUTZr?=
 =?utf-8?B?cDVkOVlmZFh5Yyt6TmpLZlJwOUxXRDh5SVpkYmdlem9yTmEybEdJd013MWdX?=
 =?utf-8?B?SjBBeGpxUU1hUG5qeGhwOVdmeFJneElSU0hzck50Nml3QlM0aDgxOStaaVNx?=
 =?utf-8?B?VnFXTHUybG5VU2creXR5TnBqU0pWUzZocWxac1R6WGlwSzNVbFRlVkV6bW5Q?=
 =?utf-8?B?eUNwWGVKK1Q4OWFJUGNiMVQ3Q2J4ZDljbWdhVkVWamlCbW1CbEtLbzdPRm9N?=
 =?utf-8?B?U3lXODBnM2NDV0lyRXhGZ0hpQWJnUW5PV0s0WFF1TnF2Ym1zVDI1YWxBa2s5?=
 =?utf-8?B?Mk4yWEtaUS83OFhVNllrQlp6ZzRuZTdSaXB6MnJQK0xqa0YxNnlKUHljUVpz?=
 =?utf-8?B?VWE4TjNNd2ZVdFp1NFJ6bk5Ic0RtRGhYL2QvZmQra3JOUjBFQ29pYmY4TDNU?=
 =?utf-8?B?MTUzRWl0a3FhTUlnaVY5ZU5zRGNqak1ubytiRHYxRjhtaUIrSVlNYnFDT0VF?=
 =?utf-8?B?WktadmtYeU5oRVd0SUV2TkhWRzAyNjNJY1hmSUdCUDZnTnVsS3E0VmpHQm9p?=
 =?utf-8?B?cUE1MmNhVmdCRlNqQ09CUTlXRDNYNkJlRHlwejZMN3lRVVFpMGJHUEFZaHFo?=
 =?utf-8?B?Q3ZxN2xxdm1CTU5aNjF5Q3N6TE4zUGwva3BWZzhyanluVGdpR0llWHJSMFRM?=
 =?utf-8?B?YWY2MUpFRDMyMWpIOHlNU2FYMW9zRG9vRzZFdisveitGT0NJbWorc2Nhdytw?=
 =?utf-8?B?R21ISDhXUkRJQ3BWMDdOazZIV2J0NGQvNndDSVFWQTluTjhsWTRQL2hDYjVZ?=
 =?utf-8?B?UE1yNTV4RkFTSWVJMm1wMHcyczRFNzFNOWxOODlUQUFacXdQaGFpOXlQcTBH?=
 =?utf-8?B?cjVoa3ZXaDdoNDk1Nk1Odlp4SmFJZHBtVmgrMzVkSmd1bUlwVFQyZEJ0ZnFp?=
 =?utf-8?B?OXZUY2NERmFiMjFlbVlVWGFCYmpzU0NXMDNtRVZqaWs1VDg3MTAzWWhZdURr?=
 =?utf-8?B?QXM3eVl0SVh1R2pkTWMvMER6TmFVb2MxUmxYUTdCMU5ka1AyVlVhTmROVFE2?=
 =?utf-8?B?TnFtODBHTGQ5WUtPRHFrZFpidXh2WUpCaDF3UCtDaFZwSXpOSXJuR3hKbmw4?=
 =?utf-8?B?bFhQN2Z6Ui8vbTNrckZ3QkZMVDMyVWdoYWFJU0UyZnlKZURaOW9XK3NGUEpG?=
 =?utf-8?B?VTMvRDNtQXowOWdMS2hUMkNLQmhjYUFhUnRsdTZMUzNoTERlTFZ5K0lNQ1hn?=
 =?utf-8?B?cUg0K3FhYzlvY2VacXJsRzl3ZmQ4cXVmZzNxVklaNUplNFNERG1aTmQwVVJ5?=
 =?utf-8?B?djBmY1N0dE9oeERzUStoSjF3eENLK3ZJQVhvdGtWSGhGWFBZY1JQZ0V0QkxH?=
 =?utf-8?B?Y2dNcDA5QVNKSmY4a1ZqcXpWRDVvWDJKeGFFU2tBSTU4L3RqNFBIWVREWFcy?=
 =?utf-8?B?b3ZQbk8vOURHcjBGQ2NZSTZkV0RBPT0=?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <A05EF938D17C0D4092C182029A91FAE9@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2ca21b40-ca3f-4663-cce6-08d9e0caf4ef
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Jan 2022 12:54:14.6070
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: EHod3yJ8BYQqIZQoJqzpXwtinS5MLb55f4nifv5ImtrBCApSSyQR/CFrJ/giiwISL4j9cMzqB7rwewgAuSCJ3kyXhvYNNGIHmSHo+CivyaE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR03MB5626
X-OriginatorOrg: citrix.com

T24gMjYvMDEvMjAyMiAxMjoxNywgUm9nZXIgUGF1IE1vbm5lIHdyb3RlOg0KPiBPbiBXZWQsIEph
biAyNiwgMjAyMiBhdCAwODo0NDo0NUFNICswMDAwLCBBbmRyZXcgQ29vcGVyIHdyb3RlOg0KPj4g
ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMgYi94ZW4vYXJjaC94ODYvaHZtL2h2
bS5jDQo+PiBpbmRleCBkN2QzMjk5YjQzMWUuLmM0ZGRiODYwN2Q5YyAxMDA2NDQNCj4+IC0tLSBh
L3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMNCj4+ICsrKyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMN
Cj4+IEBAIC0xMzc1LDcgKzEzNzcsMjYgQEAgc3RhdGljIGludCBodm1fc2F2ZV9jcHVfbXNycyhz
dHJ1Y3QgdmNwdSAqdiwgaHZtX2RvbWFpbl9jb250ZXh0X3QgKmgpDQo+PiAgICAgICAgICBpZiAo
ICF2YWwgKQ0KPj4gICAgICAgICAgICAgIGNvbnRpbnVlOyAvKiBTa2lwIGVtcHR5IE1TUnMuICov
DQo+PiAgDQo+PiAtICAgICAgICBjdHh0LT5tc3JbY3R4dC0+Y291bnRdLmluZGV4ID0gbXNyc190
b19zZW5kW2ldOw0KPj4gKyAgICAgICAgLyoNCj4+ICsgICAgICAgICAqIEd1ZXN0cyBhcmUgZ2l2
ZW4gZnVsbCBhY2Nlc3MgdG8gY2VydGFpbiBNU1JzIGZvciBwZXJmb3JtYW5jZQ0KPj4gKyAgICAg
ICAgICogcmVhc29ucy4gIEEgY29uc2VxdWVuY2UgaXMgdGhhdCBYZW4gaXMgdW5hYmxlIHRvIGVu
Zm9yY2UgdGhhdCBhbGwNCj4+ICsgICAgICAgICAqIGJpdHMgZGlzYWxsb3dlZCBieSB0aGUgQ1BV
SUQgcG9saWN5IHlpZWxkICNHUCwgYW5kIGFuIGVudGVycHJpc2luZw0KPj4gKyAgICAgICAgICog
Z3Vlc3QgbWF5IGJlIGFibGUgdG8gc2V0IGFuZCB1c2UgYSBiaXQgaXQgb3VnaHQgdG8gbGVhdmUg
YWxvbmUuDQo+PiArICAgICAgICAgKg0KPj4gKyAgICAgICAgICogV2hlbiBtaWdyYXRpbmcgZnJv
bSBhIG1vcmUgY2FwYWJsZSBob3N0IHRvIGEgbGVzcyBjYXBhYmxlIG9uZSwgc3VjaA0KPj4gKyAg
ICAgICAgICogYml0cyBtYXkgYmUgcmVqZWN0ZWQgYnkgdGhlIGRlc3RpbmF0aW9uLCBhbmQgdGhl
IG1pZ3JhdGlvbiBmYWlsZWQuDQo+PiArICAgICAgICAgKg0KPj4gKyAgICAgICAgICogRGlzY2Fy
ZCBzdWNoIGJpdHMgaGVyZSBvbiB0aGUgc291cmNlIHNpZGUuICBTdWNoIGJpdHMgaGF2ZSByZXNl
cnZlZA0KPj4gKyAgICAgICAgICogYmVoYXZpb3VyLCBhbmQgdGhlIGd1ZXN0IGhhcyBvbmx5IGl0
c2VsZiB0byBibGFtZS4NCj4+ICsgICAgICAgICAqLw0KPj4gKyAgICAgICAgc3dpdGNoICggbXNy
ICkNCj4+ICsgICAgICAgIHsNCj4+ICsgICAgICAgIGNhc2UgTVNSX1NQRUNfQ1RSTDoNCj4+ICsg
ICAgICAgICAgICB2YWwgJj0gbXNyX3NwZWNfY3RybF92YWxpZF9iaXRzKGQtPmFyY2guY3B1aWQp
Ow0KPj4gKyAgICAgICAgICAgIGJyZWFrOw0KPj4gKyAgICAgICAgfQ0KPiBTaG91bGQgeW91IG1v
dmUgdGhlIGNoZWNrIGZvciAhdmFsIGhlcmUsIGluIGNhc2UgdGhlIGNsZWFyaW5nIGRvbmUNCj4g
aGVyZSB6ZXJvcyB0aGUgTVNSPw0KDQpTa2lwcGluZyBNU1JzIHdpdGggYSB2YWx1ZSBvZiAwIGlz
IHB1cmVseSBhbiBvcHRpbWlzYXRpb24gdG8gYXZvaWQNCnB1dHRpbmcgYSBsb2FkIG9mIGVtcHR5
IE1TUiByZWNvcmRzIGluIHRoZSBzdHJlYW0sIGJ1dCBub3RoaW5nIHdpbGwgZ28NCndyb25nIGlm
IHN1Y2ggcmVjb3JkcyBhcmUgcHJlc2VudC4NCg0KVGhlIGNvc3Qgb2YgdGhlIGV4dHJhIGxvZ2lj
IGluIFhlbiB0byBzcG90IHRoZSAwIGNvcm5lciBjYXNlIGlzIGdvaW5nIHRvDQpiZSBsYXJnZXIg
dGhhbiB0aGUgZGF0YSZkb3dudGltZSBzYXZpbmcgb2YgMTYgYnl0ZXMgZm9yIGFuIGFscmVhZHkt
YnVnZ3kgVk0uDQoNCkkgY2FuJ3Qgc2F5IEkgY2FyZSBmb3IgZml4aW5nIGl0Li4uDQoNCj4+ICsN
Cj4+ICsgICAgICAgIGN0eHQtPm1zcltjdHh0LT5jb3VudF0uaW5kZXggPSBtc3I7DQo+PiAgICAg
ICAgICBjdHh0LT5tc3JbY3R4dC0+Y291bnQrK10udmFsID0gdmFsOw0KPj4gICAgICB9DQo+PiAg
DQo+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL21zci5oIGIveGVuL2Fy
Y2gveDg2L2luY2x1ZGUvYXNtL21zci5oDQo+PiBpbmRleCAxMDAzOWMyZDIyN2IuLjY1N2EzMjk1
NjEzZCAxMDA2NDQNCj4+IC0tLSBhL3hlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9tc3IuaA0KPj4g
KysrIGIveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL21zci5oDQo+PiBAQCAtMjc3LDYgKzI3Nyw4
IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCB3cm1zcl90c2NfYXV4KHVpbnQzMl90IHZhbCkNCj4+ICAg
ICAgfQ0KPj4gIH0NCj4+ICANCj4+ICt1aW50NjRfdCBtc3Jfc3BlY19jdHJsX3ZhbGlkX2JpdHMo
Y29uc3Qgc3RydWN0IGNwdWlkX3BvbGljeSAqY3ApOw0KPj4gKw0KPj4gIGV4dGVybiBzdHJ1Y3Qg
bXNyX3BvbGljeSAgICAgcmF3X21zcl9wb2xpY3ksDQo+PiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGhvc3RfbXNyX3BvbGljeSwNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB2
X21heF9tc3JfcG9saWN5LA0KPj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tc3IuYyBiL3hl
bi9hcmNoL3g4Ni9tc3IuYw0KPj4gaW5kZXggMmNjMzU1NTc1ZDQ1Li41ZTgwYzhiNDdjMjEgMTAw
NjQ0DQo+PiAtLS0gYS94ZW4vYXJjaC94ODYvbXNyLmMNCj4+ICsrKyBiL3hlbi9hcmNoL3g4Ni9t
c3IuYw0KPj4gQEAgLTQzNSw2ICs0MzUsMjQgQEAgaW50IGd1ZXN0X3JkbXNyKHN0cnVjdCB2Y3B1
ICp2LCB1aW50MzJfdCBtc3IsIHVpbnQ2NF90ICp2YWwpDQo+PiAgICAgIHJldHVybiBYODZFTVVM
X0VYQ0VQVElPTjsNCj4+ICB9DQo+PiAgDQo+PiArLyoNCj4+ICsgKiBDYWxsZXIgdG8gY29uZmly
bSB0aGF0IE1TUl9TUEVDX0NUUkwgaXMgYXZhaWxhYmxlLiAgSW50ZWwgYW5kIEFNRCBoYXZlDQo+
PiArICogc2VwYXJhdGUgQ1BVSUQgZmVhdHVyZXMgZm9yIHRoaXMgZnVuY3Rpb25hbGl0eSwgYnV0
IG9ubHkgc2V0IHdpbGwgYmUNCj4+ICsgKiBhY3RpdmUuDQo+PiArICovDQo+PiArdWludDY0X3Qg
bXNyX3NwZWNfY3RybF92YWxpZF9iaXRzKGNvbnN0IHN0cnVjdCBjcHVpZF9wb2xpY3kgKmNwKQ0K
Pj4gK3sNCj4+ICsgICAgYm9vbCBzc2JkID0gY3AtPmZlYXQuc3NiZDsNCj4+ICsNCj4+ICsgICAg
LyoNCj4+ICsgICAgICogTm90ZTogU1BFQ19DVFJMX1NUSUJQIGlzIHNwZWNpZmllZCBhcyBzYWZl
IHRvIHVzZSAoaS5lLiBpZ25vcmVkKQ0KPj4gKyAgICAgKiB3aGVuIFNUSUJQIGlzbid0IGVudW1l
cmF0ZWQgaW4gaGFyZHdhcmUuDQo+PiArICAgICAqLw0KPj4gKyAgICByZXR1cm4gKFNQRUNfQ1RS
TF9JQlJTIHwgU1BFQ19DVFJMX1NUSUJQIHwNCj4+ICsgICAgICAgICAgICAoc3NiZCAgICAgICA/
IFNQRUNfQ1RSTF9TU0JEICAgICAgIDogMCkgfA0KPj4gKyAgICAgICAgICAgIDApOw0KPiBUaGUg
Zm9ybWF0IGhlcmUgbG9va3Mgd2VpcmQgdG8gbWUsIGFuZCBJIGRvbid0IGdldCB3aHkgeW91DQo+
IHVuY29uZGl0aW9uYWxseSBvciBhIDAgYXQgdGhlIGVuZD8NCj4NCj4gSSB3b3VsZCBhbHNvIGJl
IGZpbmUgd2l0aCB1c2luZyBjcC0+ZmVhdC5zc2JkIGRpcmVjdGx5IGhlcmUuDQoNClNlZSBwYXRj
aCA3IHRvIGNvdmVyIGJvdGggcG9pbnRzLg0KDQpUaGUgdHJhaWxpbmcgMCBpcyBsaWtlIHRyYWls
aW5nIGNvbW1hcywgYW5kIHRoZXJlIHRvIHJlZHVjZSB0aGUgZGlmZnN0YXQNCm9mIHBhdGNoZXMg
YWRkaW5nIG5ldyBsaW5lcy4NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 13:38:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 13:38:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260902.451140 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCiUb-0006LH-8E; Wed, 26 Jan 2022 13:37:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260902.451140; Wed, 26 Jan 2022 13:37:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCiUb-0006LA-59; Wed, 26 Jan 2022 13:37:45 +0000
Received: by outflank-mailman (input) for mailman id 260902;
 Wed, 26 Jan 2022 13:37:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DU/T=SK=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nCiUZ-0006L4-6O
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 13:37:43 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 20ff71b9-7ead-11ec-8eb8-a37418f5ba1a;
 Wed, 26 Jan 2022 14:37:41 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 20ff71b9-7ead-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643204261;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=7BTEWlpuQy4O8gniYLtwQBlmRv6vK8LKl4a/i6yzY6k=;
  b=dcz/iSIEkmfKYQ7Evh0XGwsUEGCvlhxdz1XK0pShaKfqvaDMtRzTmwBw
   wXrLvVt6yZ5hs2DQ2WmevH79o3e0LWu5edObfhYXt2jgCoi+JJeWmtNom
   saAdOCX9TFfVk1hI65DCcyn+INoic5yQ2VI+6kBYAfn/k3aMlfa4M83Y8
   c=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: LGp78/jgwmo9l1aDVLePHRnvYQvJu964NYsDNT1pZmD68MEnaLd3F3IuYJD7Ss7bwKqJfTT2jy
 EUWvWEjGqoQEhHrSl3FKhNWlnwHUpTU+zktPqF4ABLOiWnyt+og1yEKqjZD6Fl7Vf8WsrM30G9
 FygYsKhLWGN4WV2V0f3sKAG6TFQ8G4V903puQ0M9w7wvhyCO4a+0xXfjnta07aufEJ+88BPPix
 A3TT3Il4mEKNcVUdbYvB7UPSwGmzf5xiNYacv/s8BfENHrqvdt2IAHbRhv4JdOYBxOrRfJ4aOH
 /Zlwd3RAHy6AsjNEOkk5howA
X-SBRS: 5.2
X-MesageID: 62797631
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:vLTNwqtlp/+ugpZOvB+3LrQaDOfnVLtZMUV32f8akzHdYApBsoF/q
 tZmKW3QPazfNzDxLdx0Ptzj80IBvpfTy4RlHQRvqS02EHtG+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZQP0VOZigHtIQMsadUsxKbVIiGHdJZS5LwbZj2NYx24bhWWthh
 PupyyHhEA79s9JLGjp8B5Kr8HuDa9yr5Vv0FnRnDRx6lAe2e0s9VfrzFonoR5fMeaFGH/bSe
 gr25OrRElU1XfsaIojNfr7TKiXmS1NJVOSEoiI+t6OK2nCuqsGuu0qS2TV1hUp/0l20c95NJ
 NpllI6Pb14xHKf3ib44aR18DQs9P78eweqSSZS/mZT7I0zudnLtx7NlDV0sPJ1e8eFyaY1M3
 aVGcnZXNEnF3r/ohuLgIgVvrp1LwM3DFYUToHx/ixreCu4rW8vrSKTW/95Imjw3g6iiGN6AP
 ZVINmQ0NXwsZTVjEwtQFqs5ld60myXkUyEB92yZnKAotj27IAtZj+G2bYu9lsaxbdpRtlaVo
 CTB5WuRKjMwOcGbyDGF2mmxneKJliT+MKoCGbv9+vN0jVm7wm0IFAZQRVa9ueO+iEO1R5RYM
 UN8x8Y1hfFsrgrxFIC7BkDm5i7f1vIBZzZOO8wo1yfU0oje2BfDI1IAaiBrK9407PZjEFTGy
 WS1t9/uADVutpicRnSc6qqYoFuOBMQFEYMRTXRaFFVYurEPtKl210uSFYg7TMZZm/WoQWmY/
 tyckMQpa1z/Z+Yv3r7zw13IiinESnPhHl9svVW/so5IA2pEiG+Zi26AtQmzARVodt/xory9U
 J4swZn2AAcmVsnlqcB1aL9RdIxFHt7cWNEmvXZhHoM66xOm8GO5cIZb7VlWfRk1aZ9fJGG1P
 BKD5mu9AaO/2lPwPMebhKrqU6wXIVXIT4y5Bpg4kPITCnSOSON31H43PhPBt4wcuEMtjbs+K
 f+mnTWEVh4n5VBc5GPuHY81iOZzrghnnD+7bc2lk3yPjOTPDFbIGeZtGAbfNYgRsfLbyDg5B
 v4CbaNmPT0FDr2nCsQWmKZORW03wY8TXMCv9JcPJ7fde2KL2ggJUpfs/F/oQKQ894x9nebU5
 HCtHEhezVv0n3rcLguWLHtkbdvSsVxX9BrX5AQgYgSl3WYNe4Gq4PtNfpc7Z+B/pudi0eR1X
 78OfMDZWqZDTTHO+jI8a5jhrdM9KET31FzWZyf1MiIie5NARhDS/oO2dAXY6yRTXDG8stEzo
 uP821qDE4YDXQlrEO3fdOmrkwGqpXEYle8rBxnIL9BfdV/C6o9vLyCt3PY7L9tVcUfIxyeA1
 hbQChAd/LGfr4gw+djPpKaFs4b2TLcuQhsERzHWtO/kOzPb82yvxZ57fNyJJT2NBnnp/KiCZ
 PlOy62uOvMwg1sX4ZF3FKxmzPxi6oK39aNa1AltAF7Cc0+vVuF7OnCD0MRC6v9Ny7tetVfkU
 06D4IAHa7CAOcejG18NPgs1KO+E0KhMyDXV6P00JmT85TN2o+XbARkDYUHUhXwPNqZxPaMk3
 fwl6Zwf5AGIgxY3NsqL03JP/GOWI31cC6gqu/n22mMwZtbHHr2aXaHhNw==
IronPort-HdrOrdr: A9a23:TqBBa6sQdirDkdsawsAPJVPx7skC0oMji2hC6mlwRA09TyXGra
 +TdaUguSMc1gx9ZJh5o6H8BEGBKUmskKKceeEqTPmftXrdyReVxeZZnMrfKlzbamLDH4tmu5
 uIHJIOceEYYWIK7voSpTPIaerIo+P3sJxA592ut0uFJDsCA8oLjmdE40SgYzZLrWF9dMAE/f
 Gnl656Tk+bCBIqh7OAdx44tob41r/2vaOjRSRDKw8s6QGIgz/twqX9CQKk0hAXVC4K6as+8E
 De+jaJpZmLgrWe8FvxxmXT55NZlJ/K0d1YHvGBjcATN3HFlhuoXoJ8QLeP1QpF4t1HqWxa1e
 UkkS1QePib2EmhOF1dZiGdgjUI5Qxer0MKD2Xo2UcL7/aJHw7SQPAx+r6xOiGplXbI+usMjZ
 6jlljpx6a+R3n77VXAzsmNWBdwmkWup30+1eYVknxESIMbLKRctIoF4SpuYd099Q/Bmcga+d
 NVfYrhDTdtACenRmGcunMqzM2nX3w1EBvDSk8eutaN2zwTmHxi1UMXyMEWg39FrfsGOtV5zv
 WBNr4tmKBFT8cQY644DOAdQdGvAmiIRR7XKmqdLVnuCalCMXPQrJz85qkz+YiRCdE15Yp3nI
 6EXEJTtGY0dU6rAcqS3IdT+hSIW2m5VSSF8LAW23G4gMyLeFPGC1zwdLkeqbrWnxxEOLypZx
 +aAuMiP8Pe
X-IronPort-AV: E=Sophos;i="5.88,318,1635220800"; 
   d="scan'208";a="62797631"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XMNZlOZeel3iCB6KJSmDwbkw8A7EMiLQz9loOMUCIDJICh2s2Zgwrb/sjYB8dQkyHu26VcyJ4K4BU+F2xS24BMSYbA8qKbbJXtpQyW5fCCfnHEGT3LZbbgZpZEpxZAt3RNYes4lHVlHQ/466I2DOHP0bgKQilpENhVOT7zuijiU0NhF7a/4S32JAsMZTms4dhYDO6Quf8FtTI1CO563s3HkmhgcLo3wiH+yFJ3seOTguatsWzUQ9lnRqTpxC+f9Yzf3C+a7ovXA5QlGKtugmOTvGvK1mhhhnCO76NaxMVkjaXJz8w5Nfex6OaZl5x+rdN5Y2+Pc9RsZu08lt1zcgjA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7BTEWlpuQy4O8gniYLtwQBlmRv6vK8LKl4a/i6yzY6k=;
 b=GejYyCqHovmdG2oAQpPACMD4BvfoXGsdTK/Zi/YgFkCvFH3t/7+IIAqEQ6iU3lNBrUZVAWLECrrp+kLZRC0bayCP+UMdiq6ffB9mB9d4rgCb+WGqJ7WzMtL8/U9ddxGQ9u/MpRQePs2bTshiLEPDUfIbPmojlgLafnYLLvdveUDh1mH+9ODCpBTMoZop+PrWJ1Kz7XWwiYHBEmeIaJP0653EOwsB5O4iX9aMeitSxEK8377No2OgPjN1n+yEcP0fFRpkBEsPxD9ZmH6zbrzSUvLuvks8dczCkdSZijuIqbptSXGFdl3s2zcHal3rKGSh9olm/wfX9oCuYuCpKqnQ0A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7BTEWlpuQy4O8gniYLtwQBlmRv6vK8LKl4a/i6yzY6k=;
 b=e+GnVIbdyq1O5UbJjaQsdcvC4n46XW2bprqkXnp9W7zTa4MBOK0gkeqBQEJ8T1jmh7auvRN9xiD8Y1LfLv00EZ4jzAy8JA5Y4w1Y49cifTF0znizku5gXqEKIftAQktExXtm77eHWDtPnT4HlEKl+YxMZjOxAvH6g9SyQ+PzTcQ=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich
	<JBeulich@suse.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH 2/8] x86/boot: Collect AMD speculative features earlier
 during boot
Thread-Topic: [PATCH 2/8] x86/boot: Collect AMD speculative features earlier
 during boot
Thread-Index: AQHYEpEIIirjIKT/SEuiwA9Vczaqaqx1P8uAgAAO04A=
Date: Wed, 26 Jan 2022 13:37:35 +0000
Message-ID: <0d457a94-64bc-bbd4-e7ce-59c3b1c1d2f4@citrix.com>
References: <20220126084452.28975-1-andrew.cooper3@citrix.com>
 <20220126084452.28975-3-andrew.cooper3@citrix.com>
 <YfFCLxnGDeuk/va0@Air-de-Roger>
In-Reply-To: <YfFCLxnGDeuk/va0@Air-de-Roger>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 5cffb702-24ab-4faa-44ea-08d9e0d10330
x-ms-traffictypediagnostic: DM4PR03MB6158:EE_
x-microsoft-antispam-prvs: <DM4PR03MB6158206E1E4F5EC15E7949CEBA209@DM4PR03MB6158.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: K+Ewip7t0sFuEPxl+gUnKRUMI7g2adeznZx/TRxbnD2ePDyQAZF/aSHOc70zKtjxhKL/YveibX2eW5BLH//LWrmbFASiu92ey8/nOtcr00bek3J2OQPJyslY78/Rl+EZSCoKlOotwbAF2vbdo3fR2Um74K4kanMMkUGBZ36D+9xfBHNX9TAZVXOiKm2h4p+Q0lq7q1SVcT2lLhkEcAjzGLKqbbcjJFTl7tuZATZ1PF+EQGpVbxzUWWkkRahL2lPxraA3pd8se700ELi2DPzId4w+8RIqQwoq9pRrgVglUXXPg1kgzlydlgmgyOTEkgdroKNmaBL5CvX996Rea/YfXBXDHAVC/pnFofRhYGJkLb9/3KYHKyFmcObq4RaLfwaUrD1layKkf716lDYSOsUOeHzGcpfEz5hqAq/DqPqsxoveiTbQ3Sa2cOOf8TaKd95rD/hyl5njYxXt4vNaMEDWxXdpagmrb0/EbzXUSaBcDGjXN3lcuIr1ZrmfDOjW2d1N7urulujMgq2Ub6MeRmt2dUXZOuvVU2BwpunhXhiSwdqmpq/tmUohSRW+8nrqWV+rgpJZFuKvnc3AnFqPIFcHB+56ajxzGRJL/aYAZoe5cyrfP8h0ZZcm0m9xxJnuY/plqDfRHYZqTLZdggzzpUslwlgTTMJbgt7MIN2E6bSPYTF1IVKEqm9hjLM0vPYMxKPFEIE92lh5ZOaBFGJtB1pSfC0ahfDxMnPJ9hu+DIkO6rthyUsRDyseojnB7Q42xLsguzap5bemGXi2PYacT9TNeg==
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:(13230001)(4636009)(366004)(31686004)(36756003)(2906002)(83380400001)(508600001)(5660300002)(186003)(26005)(2616005)(76116006)(66476007)(8936002)(66556008)(8676002)(66946007)(66446008)(64756008)(6862004)(4326008)(6512007)(82960400001)(53546011)(122000001)(38070700005)(91956017)(38100700002)(6506007)(71200400001)(6636002)(86362001)(316002)(37006003)(54906003)(31696002)(6486002)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Snl0eFpiZnppOFdGU1hpdlo0UTV4TTFpRmZrQnpPcWZoT2hvbGp0cTdhd3V2?=
 =?utf-8?B?SGtNbWN5VHF3ejZhZ1hpYTE1ekdDM0tqM1Q1MC9pQStWL2JCWEtLbjlqekFC?=
 =?utf-8?B?NkhNbTkvTkFHc3UwR3l3c3pnQXd6N3FIVkN1K2dkaVQyajN3YUIzZXlNcXNm?=
 =?utf-8?B?MTZCSTdvaVJIZVgyNllFbzkxTmpORkxBWFo2ZW5XQk9nSEpRaTROZWN5cG1S?=
 =?utf-8?B?aDRrWjFmYjY2ZDdKNGFuNWZuWVJndFc3TVFkU1ZjbDVFV0pydEdUclcwU21H?=
 =?utf-8?B?Um9CZEtwMWMrTnI3bDhKek9VTVJiNm0wanlPOXNkdzZMdFNCVXBYMWRIYnVH?=
 =?utf-8?B?emd6OHdGbEpLbitxNU9sMUkvd1o2dmJKckVwSzBLa3pvc2tEZkhKdGxmUXhY?=
 =?utf-8?B?RkZWQ2Y4MTBSckI1ZHA0d3RjZmFhMG9VN3RpVWNHbHUxK29zMXN6Ynp6dUts?=
 =?utf-8?B?U09aNEgydHJNR0ZJdEp3Vmh6YVFuN3JIZWdwMm1PSWlhYmZqZHorbnFTektz?=
 =?utf-8?B?SThVc1BTaXpnSTlHQVN4Q3ZxaTlyK3QzOTN2NnBadnlsTy90YUt0RGFSWWNp?=
 =?utf-8?B?SEwwaXU5aUNvdzlrb1RSZWcycmdYWFVPT3FHYXJsaFl5QUZDU1lEY0Q2UGk0?=
 =?utf-8?B?TWE1bXBOOTVZS3grMkNjMTVVYStDUmJyYWRKZ0VQSW9McElSY2tVLzVxTmNa?=
 =?utf-8?B?cElNditMeUtaa0lvbWYwS1NvS0RUcTBQa1cvQ3MwTEd1K25LdG1BRkQ0M1pO?=
 =?utf-8?B?UXY2WEFQc2Z0VTNheldTUjBzUHBBUjRxVE84TGFvQ1lEaStrYVZubEVRaks3?=
 =?utf-8?B?Z3FjWDBWMXRvTHRCMWUxZTBENUxHZDE3S2NnaTM5Z2dzRmM4V000MXU0UENU?=
 =?utf-8?B?SldMTytCUC9pUmJudzQwUERoS0QrSUo4VnBkZEFPbTlIa0tEajd3ODUvbW9v?=
 =?utf-8?B?endLUkx2ZWRIQ3dYZVlqeEpHZVhCeENUVGQxdmFUTDNOTGN5S29vZzN6YmFQ?=
 =?utf-8?B?WWsrSnRFVmZxbStLWkFlQTZJVUNDSVgyRnhuRWJZd1N4aGk5WXpzMTcweWNj?=
 =?utf-8?B?cllPaVNwdzdOUWtxQ0Rac0NxVEdyb3QwMmxQMDJNZmdDOVduVDdnUE1FVjlw?=
 =?utf-8?B?ZER6OFAwSDN4S21UR0pmR0FuaUpUcDlEcVJZZjFrYTNnbTYrcTRFclBVL1Zx?=
 =?utf-8?B?a0h6ZFQvOHpuWS9WbjdXVzBzQWVPcGVwTHdtWXh6alBmbUZDODVCOUpXTnJH?=
 =?utf-8?B?RnhJcldPNmhjenUxdzdtNHdCTGIrZmhTbE9GUWp2YWpnQ1J5ejZySjRiREVP?=
 =?utf-8?B?Zng5MUpaelBiTVhRZ2loQnphc1pSbXZqSGVCZ21nL3djQmtrUzNUaWhlaVFS?=
 =?utf-8?B?SXZpQUNLM3VqZThTSzAzamNBaHh3TVg2NDZWRFNwTmRyOGlIWWJDNkx0Yzhs?=
 =?utf-8?B?OVpvbXJHSWN0L3FhbGZibmFhY09GeTdtV2xSUDI1WG9CdlNIdFpEdVY2OTBm?=
 =?utf-8?B?ZDNBVHoxM3BKdnhJTHgxSGVvU0xLdkRDdFZEUzdCWXQzY0ZESVIwamFiaGxP?=
 =?utf-8?B?TGVjOTVyZnBqUVRQcnA0VnhZUlZCUzM3SE4xUi9QODdtQ05FZUtXdUZIRUJ1?=
 =?utf-8?B?Ly9aRTZ3MWR1RTc4U3VsUDdycUFTVWE3aFM3Sk0veVBUd29IcGxiOFdQTitt?=
 =?utf-8?B?NXdvazhoMDIxRUdUVkF2cFIyZGs2cFZDcjBjSGp6b1JvYjRBT2xWTXdsYmlO?=
 =?utf-8?B?K3RBTk92eklRMGlkaWlma1krTittWDAvZ2dad0ZXSDJzVFlndFppTG9OUHp1?=
 =?utf-8?B?T2FKME53SVZRNEhMT0RQWDZMLzgwNnpPNHNFOGJ3cU5obURRNk54RW41TGEx?=
 =?utf-8?B?UWNxZ3Rja09Vd2pFMWU0SVpUVkNDNzA5ZDNIaUlXUXJvMVdlMElabXI3QkIy?=
 =?utf-8?B?YU1KdFc1TVF6bG5ONEFudHQ1blljVGpmRnkydUhCUG1sY0Q4M0cwcStpUmY0?=
 =?utf-8?B?b0t1dHVlL2t0YjZxMVJOMngvSVNSRkMyblJGd09pc2VXS0JTVCt4QzM1b3hh?=
 =?utf-8?B?clZ2V3FEc1ppVnROOTZQd0x6NmYrbFpaWUpjK0t1UUFNMXRHY1o0dzhLSlZr?=
 =?utf-8?B?eFpoL3RmQ095dmNuWVJwRUpjOFNKUElKd2FHVnU3UXRaaEc1dTZGVDFFam45?=
 =?utf-8?B?bXgzdTNCUTV1eVNNcG9BZmNpdDRKNURzNEdlZW4vaitrL0VlWjgyWTNuY0lo?=
 =?utf-8?B?cFZ1UGQvckJXakZrYXlVaEpCNkpBPT0=?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <EF4B5EE55B869046BC68C657360F1CD8@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5cffb702-24ab-4faa-44ea-08d9e0d10330
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Jan 2022 13:37:35.4823
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Meb0earDCbzRYfTEu1CdWs2KKZB/yscbUB5w5BGYvQwW1Wq4J1Tlsxqulyhmb4yEpvDOm2dTdA3BggtXKw1Zgx6pmqcTCSEmHa7qIL+s3BE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR03MB6158
X-OriginatorOrg: citrix.com

T24gMjYvMDEvMjAyMiAxMjo0NCwgUm9nZXIgUGF1IE1vbm7DqSB3cm90ZToNCj4gT24gV2VkLCBK
YW4gMjYsIDIwMjIgYXQgMDg6NDQ6NDZBTSArMDAwMCwgQW5kcmV3IENvb3BlciB3cm90ZToNCj4+
IEFsbCBBTUQgSUJSUy1yZWxhdGVkIGZlYXR1cmVzIGFyZSBpbiBDUFVJRC4weDgwMDAwMDA4LmVi
eC4gIENvbGxlY3QgdGhlbSBpbg0KPj4gZWFybHlfY3B1X2luaXQoKSBzbyBpbml0X3NwZWN1bGF0
aXZlX21pdGlnYXRpb25zKCkgY2FuIHVzZSB0aGVtLg0KPj4NCj4+IFJld29yayB0aGUgZXhpc3Rp
bmcgbG9naWMgc3RydWN0dXJlIHRvIGZpbGwgaW4gYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWwgYW5k
DQo+PiBzZXBhcmF0ZSBvdXQgdGhlIGFtYmlndW91cyB1c2Ugb2YgZWJ4IGluIGFuIG90aGVyd2lz
ZSAweDgwMDAwMDA4LXNwZWNpZmljDQo+PiBsb2dpYyBibG9jay4NCj4+DQo+PiBTaWduZWQtb2Zm
LWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0KPiBSZXZpZXdl
ZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+DQo+DQo+IEl0IHdv
dWxkIGJlIGdvb2QgdG8gdXBkYXRlIHRoZSBjb21tZW50IGFoZWFkIG9mIGVhcmx5X2NwdV9pbml0
IHRvDQo+IG1lbnRpb24gaXQgbm93IGFsc28gZ2F0aGVyIHNwZWN1bGF0aW9uLXJlbGF0ZWQgZmll
bGRzIGZyb20gQ1BVSUQgaW4NCj4gb3JkZXIgdG8gZG8gZWFybHkgc2V0dXAgb2YgbWl0aWdhdGlv
bnMuDQo+DQo+IEkgdGhpbmsgeW91IGNvdWxkIGFsc28gdXNlIGJvb3RfY3B1X2RhdGEgaW4gc3Bl
Y19jdHJsLmMgcHJpbnRfZGV0YWlscw0KPiBpbnN0ZWFkIG9mIGZldGNoaW5nIGFnYWluIHRoZSBj
cHVpZCBsZWFmcz8NCg0KSG1tIC0gSSBtYXkgaGF2ZSBhIG1pc3Rha2UgaGVyZS4NCg0KQm9vdCB0
aW1lIENQVUlEIGhhbmRsaW5nIGlzIGdpYW50IG1lc3MsIGFuZCBJIGhhdmVuJ3QgaGFkIHRpbWUg
dG8gZmluaXNoDQpteSB3b3JrIHRvIG1ha2UgQlNQIG1pY3JvY29kZSBsb2FkaW5nIGRlcGVuZGVu
dCBvbiB4bWFsbG9jKCksIGFsbG93aW5nDQppdCB0byBtb3ZlIGZhciBlYXJsaWVyLCBhbmQgcmVt
b3ZpbmcgdGhlIGVhcmx5L2xhdGUgQ1BVSUQgc3BsaXQuDQoNCkhvd2V2ZXIsIGluaXRfc3BlY3Vs
YXRpdmVfbWl0aWdhdGlvbnMoKSBpcyBjYWxsZWQgYWZ0ZXIgbGF0ZSBDUFVJRA0Kc2V0dXAsIHNv
IGU4YiBzaG91bGQgYmUgc3VpdGFibHkgY29sbGVjdGVkLsKgIExldCBtZSB0cnkgdG8gZmlndXJl
IG91dA0Kd2hhdCdzIGdvaW5nIG9uLg0KDQpGb3IgcHJpbnRfZGV0YWlscygpLCBJIGhhdmUgYSBm
ZWVsaW5nIHRoYXQgbWF5IGhhdmUgYmVlbiBhbiBhcnRlZmFjdCBvZg0KYW4gZWFybHkgdmVyc2lv
biBvZiB0aGUgbG9naWMsIGFuZCBsaWtlbHkgY2FuIGJlIGNsZWFuZWQgdXAuDQoNCn5BbmRyZXcN
Cg==


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 13:38:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 13:38:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260904.451151 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCiUu-0006hy-Ny; Wed, 26 Jan 2022 13:38:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260904.451151; Wed, 26 Jan 2022 13:38:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCiUu-0006hr-Jh; Wed, 26 Jan 2022 13:38:04 +0000
Received: by outflank-mailman (input) for mailman id 260904;
 Wed, 26 Jan 2022 13:38:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LG2W=SK=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1nCiUt-0006fq-9O
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 13:38:03 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20604.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::604])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2d922ef4-7ead-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 14:38:01 +0100 (CET)
Received: from AS8P251CA0014.EURP251.PROD.OUTLOOK.COM (2603:10a6:20b:2f2::13)
 by VE1PR08MB5598.eurprd08.prod.outlook.com (2603:10a6:800:1a2::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.10; Wed, 26 Jan
 2022 13:37:57 +0000
Received: from AM5EUR03FT019.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:2f2:cafe::d3) by AS8P251CA0014.outlook.office365.com
 (2603:10a6:20b:2f2::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15 via Frontend
 Transport; Wed, 26 Jan 2022 13:37:57 +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.4930.15 via Frontend Transport; Wed, 26 Jan 2022 13:37:56 +0000
Received: ("Tessian outbound 741ca6c82739:v113");
 Wed, 26 Jan 2022 13:37:56 +0000
Received: from 00454ee6f302.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 579C2ECF-CFD6-4423-AA93-05B04F2E0E6B.1; 
 Wed, 26 Jan 2022 13:37:44 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 00454ee6f302.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 26 Jan 2022 13:37:44 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by VI1PR08MB2847.eurprd08.prod.outlook.com (2603:10a6:802:19::31)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Wed, 26 Jan
 2022 13:37:42 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::c0c1:d43a:acf3:a59d]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::c0c1:d43a:acf3:a59d%4]) with mapi id 15.20.4909.019; Wed, 26 Jan 2022
 13:37: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: 2d922ef4-7ead-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oFlOgox0i5iRfb4O+T7JoKaY3gplYpM95LpShp58Bm8=;
 b=FTOOrtZIwpPfgn6MxUfgDDmC+RTPL1ypm4ytvr1s9towIxEBQXYWhZcZFZyF8j8KYZMnboSGEq3ZK9tifnBAy5wlFlI/wuTSY6qyM7sba8/2543HD2TaQZQDEFYSuwondFJzxaAxopXNYDL53/+AjHIvFN0WVNbLWEur87mrGgg=
X-MS-Exchange-Authentication-Results: spf=temperror (sender IP is
 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=temperror action=none
 header.from=arm.com;
Received-SPF: TempError (protection.outlook.com: error in processing during
 lookup of arm.com: DNS Timeout)
X-CheckRecipientChecked: true
X-CR-MTA-CID: a56a9a183ea3aa6f
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=D+OJyO2rZMUhybtxfBAFqxfeK6iX9ELLfnRJtIfMkn9HrV9uQ4/VRkmGG6n+I9iDr4FKGIdHveG2hOyfBi5TILFksBwvq86bSvlMR9+RVVhM+qIoF0JvHftAxw138sldPAgynduDhKMX788Rf/gDCno9F+6WtU/MsNsNTW08cQrM/TQ2fi+MS5nlwXv+YW/4+HfFSTK2DIBmlJDnBTVWGWDo/ieVT4UERC++suTJ/fgs+TycwViSK8jJk355P7wBOFm2Ibxxymo48HgByFk6yJT0JqM6IgSexxERWeHdYARfYl2wjJAmGsMSIDzOCgZKKj/9O9GuZ6TMVElijqLucQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oFlOgox0i5iRfb4O+T7JoKaY3gplYpM95LpShp58Bm8=;
 b=gJa9HcIO2x3rz7r6PZ5iBs/Sb5VAQTxC/JgWb3fOAlCw/5Ez5P5KEZYnxL2fY6U1kL94BEsb9iPOpSHLepMhYjoKvgSAFLbOkqDdP9DxGx9HyOnzc5H0RGmWauT/56fn6qjvjrLqZnOUE6kVulME9fO+vuFEninGWKM3dkGxb1OUDbzJqnX7EL4cnLV9AszhfHfwP+fww02xqqJiLfhwlkMeZ0S4mcdPyYgUsY4ranLs8zPyRS2nrGuEsU6UuaEXzPXOMkVQIf8QBPBz2ZZVx/JFMIhFMIlxJWmuEV6ZlswC8BSBSxgdcO59ANPrffjMMJ83K1fZuG6xqmjbHSkPZg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oFlOgox0i5iRfb4O+T7JoKaY3gplYpM95LpShp58Bm8=;
 b=FTOOrtZIwpPfgn6MxUfgDDmC+RTPL1ypm4ytvr1s9towIxEBQXYWhZcZFZyF8j8KYZMnboSGEq3ZK9tifnBAy5wlFlI/wuTSY6qyM7sba8/2543HD2TaQZQDEFYSuwondFJzxaAxopXNYDL53/+AjHIvFN0WVNbLWEur87mrGgg=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: Penny Zheng <Penny.Zheng@arm.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, Wei Chen <Wei.Chen@arm.com>
Subject: Re: [PATCH] design: design doc for shared memory on a dom0less system
Thread-Topic: [PATCH] design: design doc for shared memory on a dom0less
 system
Thread-Index: AQHYEpzfSIEi7U4qpUyQXv3OoTZGLKx1IfuAgAAEr4CAAAXhgIAAIgOA
Date: Wed, 26 Jan 2022 13:37:42 +0000
Message-ID: <588706C5-09FC-48B3-A005-9DCC33D40DCD@arm.com>
References: <20220126100943.4086208-1-penny.zheng@arm.com>
 <c820b027-1b23-a762-ca91-7a2f0a46f423@xen.org>
 <2C44219B-A661-481E-851B-B2DF07ED6F84@arm.com>
 <a50d9fde-1d06-7cda-2779-9eea9e1c0134@xen.org>
In-Reply-To: <a50d9fde-1d06-7cda-2779-9eea9e1c0134@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: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: b85e5685-31c1-4e00-cbda-08d9e0d10f98
x-ms-traffictypediagnostic:
	VI1PR08MB2847:EE_|AM5EUR03FT019:EE_|VE1PR08MB5598:EE_
X-Microsoft-Antispam-PRVS:
	<VE1PR08MB5598FC90905E785E4CE196889D209@VE1PR08MB5598.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:
 luukLrdjZMy2OuT+KZLa+zrlgKwR5jWjU7gI/i5ITL3bfk3RLdV26y7sEwMmgI4kmxotnPsJ3zJb2vjiULlbJK+IsN92xln8+b/393Fi18pKLiVeuvHu/Es46eQVRcT9DeJ0O6BHwcpszpljZ7CsLEMY+5fSqLBFb2nb5s5L51L5TepTtmg2D7mznFoRK3en4xYcxIJ10woNXiwHX7iANx63IuMs6GUYYoqER0KSXg5IIiFGDdXjpHwo3y6Julh7/kbIJVALAdQZXtHdkxOPiqRY9S/8AWiJQCOIFcGgF7/rvp65K0CAvnX6SGHcqiDZXdF7z7Bl3T3cLwrqlhbRwZ1xLtbOfxCWJr4grDDkLrdbQZpjxF5OmRb33nSj5lxsAfgK8FrozTb2LK+1jOdgfFQB2Z5BXXh7ZLi1hMKX6PuSS+OJJghQEx5ckaZGS8lG7I9qSFj1/rjn7BT1Kb/jb68S47JyeBM+r7mRhWgwF42AIhBaB3Xr1aq+IWnmkoafoZOYrKP03LVOw7UpBTc5hnz2Fpyvx/YqVEJTe31Gk8I3nLdhvzwS9DbckNi9RrBVNUIqATe/hWf0d72A45sqzsdjuhGf6I325uELCzWAiobrgYA3WCHmRu+WyHYvFxvhdyeG1t7yuNf26x1b72PRcleZwVlKEyB+JLm8iKEmidXVhTw0q978bp5EatBImJYU0cH2roRXeKD40QTuTKc6zJ9Z3Z6PAfeyHUuB0SjagMEb2gOkYbywW9H6V4/a4pcA+VKAuxmGe8NmMkFZ01eqfQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(316002)(66476007)(66446008)(64756008)(38070700005)(83380400001)(4326008)(8936002)(8676002)(26005)(54906003)(6916009)(33656002)(122000001)(86362001)(38100700002)(186003)(36756003)(2616005)(6486002)(53546011)(76116006)(2906002)(66946007)(6512007)(66556008)(91956017)(6506007)(508600001)(71200400001)(5660300002)(32563001)(45980500001)(20210929001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <76ADFB8F8B8DF947AC118DC9C106E7B9@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB2847
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT019.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	c228d19d-4bc2-42d3-eb78-08d9e0d1071d
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	DjaQFIrihs6JsixsosAmiZcmWl9LF9g20TsBPSWUILUeNWPotGImG6D44FiKYpGTiupM5u8g7hqIBGbGZtd2poodre9UlRdmVRut7g3GgpdpHEwW1EqhKQeePA7QR4EHMjMHzIA7wbuTVmiDsfh6MY+g8PvGBhsmDECCfclkqyXidCp7pfK8Y/FkeFwp0S83vB9aSBRq7i+DjMzLqZ3NLdTa57Bqtj59EVZIdQ9vsxFq4nJ3ybHIy8ZAEZmPLu2AOIUVsfeIlwxlaeo6kP49Q11VzLjGNqcX/l0LgEN4KD7ep05rhNu1KuBA7fLrHTdLBdLUu1VE6bNkkhRuHFe5H7LY11O950K+aXItoJ78xlkxYVvfVgktOb0p1DLmwNwteasNQCE79hTaB1ztUT1nERNJtUkzio0nMDzOD0cIHdqwH64J+Ix6k9LrPgIxIqiASAWO5j87v170e8lcfjHnQCw2gRp8ordE6ZmOFq9wnONwsXyXXTtN5st5M7nSq+TmkhsXKMcXl0bSnZk1XQ0fg80OXP8/mCHesacyZevlFH2T6CXp8yqSHtqjQWvvP8aG2XbAKbRWQlfwN3nZOO59DVXheHTBhyv0hIIObTeOydLbQnDEtSKV8O1aaRykVdIPSNqt50wS7u7iihnWTzR2DlHjovEGn7EtzgYeiDbdFzh1oHoQz26A2u2MCflqORJ1NtdVwuJA5VNSYAXSwBGTZHYkmK2rP5SaONYCtp5abOhIdkgnl4mC28OVb1qij1ry1sRZxAK8i3fxwF5rU7abnnHFm26RD1Xx9DJG/6rMaVKSICh2WhF861lzRUCdjsxU
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(40470700004)(36860700001)(70586007)(36756003)(82310400004)(63350400001)(186003)(63370400001)(6512007)(81166007)(47076005)(2616005)(6486002)(8936002)(5660300002)(6862004)(54906003)(508600001)(70206006)(8676002)(336012)(316002)(2906002)(53546011)(33656002)(86362001)(6506007)(356005)(26005)(4326008)(83380400001)(40460700003)(32563001)(45980500001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 13:37:56.3469
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b85e5685-31c1-4e00-cbda-08d9e0d10f98
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: VE1PR08MB5598

SGkgSnVsaWVuLA0KDQo+IE9uIDI2IEphbiAyMDIyLCBhdCAxMTozNSwgSnVsaWVuIEdyYWxsIDxq
dWxpZW5AeGVuLm9yZz4gd3JvdGU6DQo+IA0KPiBIaSBCZXJ0cmFuZCwNCj4gDQo+IE9uIDI2LzAx
LzIwMjIgMTE6MTQsIEJlcnRyYW5kIE1hcnF1aXMgd3JvdGU6DQo+Pj4gT24gMjYgSmFuIDIwMjIs
IGF0IDEwOjU4LCBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4ub3JnPiB3cm90ZToNCj4+PiANCj4+
PiBIaSwNCj4+PiANCj4+PiBPbiAyNi8wMS8yMDIyIDEwOjA5LCBQZW5ueSBaaGVuZyB3cm90ZToN
Cj4+Pj4gVGhpcyBjb21taXQgcHJvdmlkZXMgYSBkZXNpZ24gZG9jIGZvciBzdGF0aWMgc2hhcmVk
IG1lbW9yeQ0KPj4+PiBvbiBhIGRvbTBsZXNzIHN5c3RlbS4NCj4+Pj4gU2lnbmVkLW9mZi1ieTog
UGVubnkgWmhlbmcgPHBlbm55LnpoZW5nQGFybS5jb20+DQo+Pj4+IC0tLQ0KPj4+PiAgZGVzaWdu
L3NobS1kb20wbGVzcy5tZCB8IDE4MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKw0KPj4+PiAgMSBmaWxlIGNoYW5nZWQsIDE4MiBpbnNlcnRpb25zKCspDQo+Pj4+ICBj
cmVhdGUgbW9kZSAxMDA2NDQgZGVzaWduL3NobS1kb20wbGVzcy5tZA0KPj4+PiBkaWZmIC0tZ2l0
IGEvZGVzaWduL3NobS1kb20wbGVzcy5tZCBiL2Rlc2lnbi9zaG0tZG9tMGxlc3MubWQNCj4+Pj4g
bmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4+Pj4gaW5kZXggMDAwMDAwMC4uYjQ2MTk5ZA0KPj4+PiAt
LS0gL2Rldi9udWxsDQo+Pj4+ICsrKyBiL2Rlc2lnbi9zaG0tZG9tMGxlc3MubWQNCj4+Pj4gQEAg
LTAsMCArMSwxODIgQEANCj4+Pj4gKyMgU3RhdGljIFNoYXJlZCBNZW1vcnkgYmV0d2VlbiBkb21h
aW5zIG9uIGEgZG9tMGxlc3Mgc3lzdGVtDQo+Pj4+ICsNCj4+Pj4gK1RoaXMgZGVzaWduIGFpbXMg
dG8gcHJvdmlkZSBhbiBvdmVydmlldyBvZiB0aGUgbmV3IGZlYXR1cmU6IHNldHRpbmcgdXAgc3Rh
dGljDQo+Pj4+ICtzaGFyZWQgbWVtb3J5IGJldHdlZW4gZG9tYWlucyBvbiBhIGRvbTBsZXNzIHN5
c3RlbSwgdGhyb3VnaCBkZXZpY2UgdHJlZQ0KPj4+PiArY29uZmlndXJhdGlvbi4NCj4+Pj4gKw0K
Pj4+PiArVGhlIG5ldyBmZWF0dXJlIGlzIGRyaXZlbiBieSB0aGUgbmVlZCBvZiBmaW5kaW5nIGEg
d2F5IHRvIGJ1aWxkIHVwDQo+Pj4+ICtjb21tdW5pY2F0aW9uIGNoYW5uZWxzIG9uIGRvbTBsZXNz
IHN5c3RlbSwgc2luY2UgdGhlIGxlZ2FjeSB3YXlzIGluY2x1ZGluZw0KPj4+PiArZ3JhbnQgdGFi
bGUsIGV0YyBhcmUgYWxsIGFic2VudCB0aGVyZS4NCj4+PiANCj4+PiBTdGVmYW5vIGhhcyBhIHNl
cmllcyB0byBhZGQgc3VwcG9ydCBmb3IgZ3JhbnQtdGFibGUgWzJdLiBTbyBJIHRoaW5rIHlvdSB3
YW50IHRvIGp1c3RpZnkgaXQgZGlmZmVyZW50bHkuDQo+Pj4gDQo+Pj4+ICsNCj4+Pj4gK0l0IHdh
cyBpbnNwaXJlZCBieSB0aGUgcGF0Y2ggc2VyaWUgb2YgInhsL2xpYnhsLWJhc2VkIHNoYXJlZCBt
ZW1vcnkiLCBzZWUNCj4+Pj4gK1sxXSBmb3IgbW9yZSBkZXRhaWxzLg0KPj4+PiArDQo+Pj4+ICsj
IFN0YXRpYyBTaGFyZWQgTWVtb3J5IERldmljZSBUcmVlIENvbmZpZ3VyYXRpb24NCj4+Pj4gKw0K
Pj4+PiArVGhlIHN0YXRpYyBzaGFyZWQgbWVtb3J5IGRldmljZSB0cmVlIG5vZGVzIGFsbG93IHVz
ZXJzIHRvIHN0YXRpY2FsbHkgc2V0IHVwDQo+Pj4+ICtzaGFyZWQgbWVtb3J5IGFtb25nIGEgZ3Jv
dXAgb2YgZG9tMGxlc3MgRG9tVXMgYW5kIERvbTAsIGVuYWJsaW5nIGRvbWFpbnMNCj4+Pj4gK3Rv
IGRvIHNobS1iYXNlZCBjb21tdW5pY2F0aW9uLg0KPj4+PiArDQo+Pj4+ICstIGNvbXBhdGlibGUN
Cj4+Pj4gKw0KPj4+PiArICAgICJ4ZW4sZG9tYWluLXNoYXJlZC1tZW1vcnktdjEiDQo+Pj4+ICsN
Cj4+Pj4gKy0geGVuLHNobS1pZA0KPj4+IA0KPj4+IEZyb20gdGhlIGRvY3VtZW50LCBpdCBpcyBu
b3QgY2xlYXIgdG8gbWUgd2hhdCBpcyB0aGUgcHVycG9zZSBvZiB0aGUgaWRlbnRpZmllci4gQ291
bGQgeW91IGNsYXJpZnkgaXQ/DQo+Pj4gDQo+Pj4+ICsNCj4+Pj4gKyAgICBBbiB1MzIgdmFsdWUg
cmVwcmVzZW50cyB0aGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIHNoYXJlZCBtZW1vcnkgcmVn
aW9uLg0KPj4+PiArICAgIFVzZXIgdmFsdWluZyBwZXIgc2hhcmVkIG1lbW9yeSByZWdpb24gc2hh
bGwgZm9sbG93IHRoZSBhc2NlbmRpbmcgb3JkZXIsDQo+Pj4+ICsgICAgc3RhcnRpbmcgZnJvbSB4
ZW4sc2htLWlkID0gPDB4MD4sIHRvIHRoZSBtYXhpbXVtIGlkZW50aWZpZXINCj4+Pj4gKyAgICB4
ZW4sc2htLWlkID0gPDB4MTI2Pi4NCj4+PiANCj4+PiBXaHkgaXMgaXQgbGltaXQgdG8gMHgxMjY/
IEFuZCBhbHNvLCB3aHkgZG8gdGhleSBoYXZlIHRvIGJlIGFsbG9jYXRlZCBpbiBhc2NlbmRpbmcg
b3JkZXI/DQo+Pj4gDQo+Pj4+IFRoZSBzcGVjaWFsIHhlbixzaG0taWQgPSA8MHgxMjc+IGlzIHJl
c2VydmVkIGZvcg0KPj4+PiArICAgIElOVkFMSURfU0hNSUQuDQo+Pj4gDQo+Pj4gV2h5IGRvIHdl
IG5lZWQgdG8gcmVzZXJ2ZSBpbnZhbGlkPw0KPj4+IA0KPj4+PiArDQo+Pj4+ICstIHhlbixzaGFy
ZWQtbWVtDQo+Pj4+ICsNCj4+Pj4gKyAgICBBbiBhcnJheSB0YWtlcyBhIHBoeXNpY2FsIGFkZHJl
c3MsIHdoaWNoIGlzIHRoZSBiYXNlIGFkZHJlc3Mgb2YgdGhlDQo+Pj4+ICsgICAgc2hhcmVkIG1l
bW9yeSByZWdpb24gaW4gaG9zdCBwaHlzaWNhbCBhZGRyZXNzIHNwYWNlLCBhIHNpemUsIGFuZCBh
IGd1ZXN0DQo+Pj4+ICsgICAgcGh5c2ljYWwgYWRkcmVzcywgYXMgdGhlIHRhcmdldCBhZGRyZXNz
IG9mIHRoZSBtYXBwaW5nLg0KPj4+IA0KPj4+IEkgdGhpbmsgc2hhcmVkIG1lbW9yeSBpcyB1c2Vm
dWwgd2l0aG91dCBzdGF0aWMgYWxsb2NhdGlvbi4gU28gSSB0aGluayB3ZSB3YW50IHRvIG1ha2Ug
dGhlIGhvc3QgcGh5c2ljYWwgYWRkcmVzcyBvcHRpb25hbC4NCj4+PiANCj4+Pj4gKw0KPj4+PiAr
LSByb2xlKE9wdGlvbmFsKQ0KPj4+PiArDQo+Pj4+ICsgICAgQSBzdHJpbmcgcHJvcGVydHkgc3Bl
Y2lmeWluZyB0aGUgb3duZXJzaGlwIG9mIGEgc2hhcmVkIG1lbW9yeSByZWdpb24sDQo+Pj4+ICsg
ICAgdGhlIHZhbHVlIG11c3QgYmUgb25lIG9mIHRoZSBmb2xsb3dpbmc6ICJvd25lciIsIG9yICJi
b3Jyb3dlciINCj4+Pj4gKyAgICBBIHNoYXJlZCBtZW1vcnkgcmVnaW9uIGNvdWxkIGJlIGV4cGxp
Y2l0bHkgYmFja2VkIGJ5IG9uZSBkb21haW4sIHdoaWNoIGlzDQo+Pj4+ICsgICAgY2FsbGVkICJv
d25lciBkb21haW4iLCBhbmQgYWxsIHRoZSBvdGhlciBkb21haW5zIHdobyBhcmUgYWxzbyBzaGFy
aW5nDQo+Pj4+ICsgICAgdGhpcyByZWdpb24gYXJlIGNhbGxlZCAiYm9ycm93ZXIgZG9tYWluIi4N
Cj4+Pj4gKyAgICBJZiBub3Qgc3BlY2lmaWVkLCB0aGUgZGVmYXVsdCB2YWx1ZSBpcyAiYm9ycm93
ZXIiIGFuZCBvd25lciBpcw0KPj4+PiArICAgICJkb21fc2hhcmVkIiwgYSBzeXN0ZW0gZG9tYWlu
Lg0KPj4+IA0KPj4+IEkgZG9uJ3QgcGFydGljdWxhcmx5IGxpa2UgYWRkaW5nIGFub3RoZXIgc3lz
dGVtIGRvbWFpbi4gSW5zdGVhZCwgaXQgd291bGQgYmUgYmV0dGVyIHRvIGFsd2F5cyBzcGVjaWZ5
IHRoZSBvd25lci4NCj4+IEhhdmluZyBhbiBvd25lciB3aGljaCBpcyBub3QgWGVuIGlzIGNyZWF0
aW5nIGEgZGVwZW5kZW5jeSBzbyByZXN0YXJ0IHRoZSBvd25lciB5b3Ugd291bGQgbmVlZCB0byBy
ZXN0YXJ0IHRoZSBib3Jyb3dlcnMuDQo+IA0KPiBZb3UgZG9uJ3QgbmVjZXNzYXJpbHkgaGF2ZSB0
by4gWW91IGNhbiBrZWVwIHRoZSAic3RydWN0IGRvbWFpbiIgYW5kIHRoZSBzaGFyZWQgcGFnZXMg
aW4gcGxhY2UgYW5kIHdpcGUgZXZlcnl0aGluZyBlbHNlLg0KDQpCdXQgeW91IG5lZWQgdG8gd2lw
ZSBldmVyeXRoaW5nLg0KDQo+IA0KPj4gVG8gcmVtb3ZlIHRoaXMgZGVwZW5kZW5jeSBhbmQgYWxs
b3cgdXNlIGNhc2VzIHdoZXJlIGFueSBkb21haW4gaGF2aW5nIGFjY2VzcyBjYW4gYmUgcmVzdGFy
dGVkIHdpdGhvdXQgdGhlIG90aGVyIHNpZGUNCj4+IG5lZWRpbmcgdG8sIGhhdmluZyBYZW4gYXMg
dGhlIG93bmVyIGlzIHJlcXVpcmVkLg0KPiANCj4+IEluaXRpYWwgZGlzY3Vzc2lvbiBzdGFydGVk
IGJldHdlZW4gUGVubnkgYW5kIFN0ZWZhbm8gd2VudCB0aGUgd2F5IHlvdSBzYWlkIGFuZCBJIGFz
a2VkIHRvIG1vZGlmeSBpdCBsaWtlIHRoaXMgdG8gaGF2ZSBzb21ldGhpbmcNCj4+IG1vcmUgbG9v
a2luZyBsaWtlIGEgc3RhbmRhcmQgc2hhcmVkIG1lbW9yeSB3aXRoIG9ubHkgdXNlcnMgYnV0IG5v
IOKAnG93bmVy4oCdLg0KPiANCj4gTXkgbWFpbiBjb25jZXJuIHdpdGggZG9tX3NoYXJlZCBpcyB0
aGUgcGVybWlzc2lvbnMuIEhvdyBkbyB5b3UgbWFrZSBzdXJlIHRoYXQgYSBnaXZlbiBwYWdlIGlz
IG9ubHkgc2hhcmVkIHdpdGggdGhlIHByb3BlciBkb21haW4/DQoNClRoYXQgaXMgYnkgY29uZmln
dXJhdGlvbiBhcyB5b3UgZGVmaW5lIHRob3NlIGFyZWEgaW4geW91ciBjb25maWcgYW5kIHNheSB3
aG8gaGFzIGFjY2VzcyB0byBpdC4NCk9yIG1heWJlIEkgbWlzdW5kZXJzdG9vZCB5b3VyIHF1ZXN0
aW9uID8NCg0KPiANCj4+IEFsc28gaXQgZml0cyB0byBzb21lIG9mIG91ciB1c2UgY2FzZXMuDQo+
IA0KPiBXb3VsZCB5b3UgbWluZCB0byBicmllZmx5IGRlc2NyaWJlIHRoZW0/DQoNClN1cmU6DQot
IG9uZSBkb21haW4gcmVhbCB0aW1lIGRvbWFpbiB3cml0aW5nIHNvbWUgbG9ncyBpbiB0aGUgc2hh
cmVkIG1lbW9yeSB0aGF0IGlzIHBvbGxlZCBhbmQgc3RvcmVkIG9uIGEgc3RvcmFnZSBieSBhbiBv
dGhlciBkb21haW4uIA0KUmVhbC10aW1lIGRvbWFpbiBtaWdodCByZWJvb3QgYW5kIHdpcGUgdGhl
IGxvZ3MgYW5kIHRoaXMgY291bGQgYmUgYWNjZXB0YWJsZSwgTGludXggbWlnaHQgcmVib290IGFu
ZCByZXN0YXJ0IHdoZXJlIGl0IGxlZnQuDQotIGxvY2tsZXNzIGZpZm8gYmV0d2VlbiAyIGRvbWFp
bnMuIElmIG9uZSByZXN0YXJ0cyBpdCBjYW4gc3RhcnQgb3ZlciBmcm9tIHdoZXJlIGl0IGxlZnQg
KE9ubHkgbmVlZCBhIG9uZSB0aW1lIGluaXRpYWxpc2VyIGF0IGJvb3QpDQotIHJlZHVuZGFuY3kg
c3lzdGVtLCBmb3IgZXhhbXBsZSAyIGRvbWFpbnMgcHJvdmlkaW5nIGEgcG9zaXRpb24gdGhyb3Vn
aCBkaWZmZXJlbnQgbWVhbnMsIHlvdSBkbyBub3QgY2FyZSB3aG8gcHJvdmlkZXMNCiB5b3UganVz
dCBuZWVkIHRoZSBsYXRlc3QgaW5mbyBzbyBvbmUgY291bGQgb3ZlcnJpZGUgdGhlIGRhdGEgZnJv
bSB0aGUgb3RoZXIgb25lLCB0aGUgcmVhZGVyIHdvdWxkIG5vdCBtaW5kLg0KLSBjb25maWd1cmF0
aW9uIGRhdGEgc3RvcmFnZS4gT25lIGRvbWFpbiByZWFkcyB0aGUgY29uZmlnIGFuZCB0aGVuIHN0
b3BzIHVudGlsIGl0IGlzIHJlc3RhcnRlZCB0byB1cGRhdGUgaXQsIG90aGVyIGRvbWFpbnMgY2Fu
IHJlYWQgdGhlIGNvbmZpZw0KDQpJIGhvcGUgdGhvc2UgYXJlIGhlbHBpbmcsIEkgYW0gb3BlbiB0
byBwcm92aWRlIG90aGVycyBpZiB5b3UgbmVlZC4NCg0KQ2hlZXJzDQpCZXJ0cmFuZA0KDQo+IA0K
PiBDaGVlcnMsDQo+IA0KPiAtLSANCj4gSnVsaWVuIEdyYWxsDQoNCg==


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 13:43:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 13:43:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260909.451162 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCiaO-0008Pk-Cr; Wed, 26 Jan 2022 13:43:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260909.451162; Wed, 26 Jan 2022 13:43:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCiaO-0008Pd-9p; Wed, 26 Jan 2022 13:43:44 +0000
Received: by outflank-mailman (input) for mailman id 260909;
 Wed, 26 Jan 2022 13:43:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GKVh=SK=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1nCiaN-0008PW-7h
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 13:43:43 +0000
Received: from mail-lj1-x230.google.com (mail-lj1-x230.google.com
 [2a00:1450:4864:20::230])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f982dc07-7ead-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 14:43:42 +0100 (CET)
Received: by mail-lj1-x230.google.com with SMTP id e9so9235571ljq.1
 for <xen-devel@lists.xenproject.org>; Wed, 26 Jan 2022 05:43:42 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f982dc07-7ead-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=gMni9wn2lI5Ay+Ji6nDoLzcxqxpYyMWJcG/nvWMzgec=;
        b=bK37PTttXv4jaPZFDghvL5yZRHV1HKeDh+hXrHE6+P2MKRtM2aJAnxNQlu3tJ0inqv
         Vhj56HIU4kBYTudwKYY98HwtCxOCnGxnqR2a8wnYktNlInmtLM26ewY9P2uEEiRvXeJL
         gq8aGcLnEZFhk+HJvITKq7s7U3J9EuYuqTpwk47pTn0K1IESMsy6STDjiXUCAfFEUKsU
         UmysZeqI7jbKETSTQMwH1c9Z/cPVDhUAIqSvKrs3gyfGOxcn/zvHbj2dm65kfqsv4Z0/
         wwynxO6eblSxARqrcAqEddDjh+CeuQhB9zhimzjbsYPVE8qSb6gaQQkzNh6BREATZ2M0
         U8UA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=gMni9wn2lI5Ay+Ji6nDoLzcxqxpYyMWJcG/nvWMzgec=;
        b=WbpJug/DldhUcqHj2onZGm9hVuB8RdA4HVit8F7ZbGLYqt5HztQArNlGuGrT1AJwl5
         kwbHKArLMlmx2Xvvsa+iIl/zE3eitvG+Lks16o6Pa61H10oCjzKs6/zRmDHYvaUohfpf
         zGY3gl7lOwpj5o7KsuFXoaWF86Gv+y8dqMeafzv+swLfXacSJPmkNZFgHZ5+v7iGkWTm
         zb8vnZAuQeM5rhReiKebAFch+oFDpjHGmNBdqHF/8oa9qTKVP9PoAOsrde08PUdA3tDF
         q1Dv/Ke+4KYbjc+IcYsznURzkA/SY6/zQMrKxyzksVME7h/G6W0Ol+hK6r3NknmPiQga
         /5og==
X-Gm-Message-State: AOAM531XbRTSgpagRLJuqJAImSUT6c8PcX7rPl+DpbAAic6gTM2VcpZS
	Hy4f0FLaQarB7g+YkGtH1g2b2t8s5inDo0+HbsY=
X-Google-Smtp-Source: ABdhPJx//VB5lloxzuc+JaSBuwksC5FZfWbpvzfPHPGA+tJE0rT0Vfw5y5CD72i7G5Vxu1w6RvfeqhVzfViG6JiUVoA=
X-Received: by 2002:a05:651c:1241:: with SMTP id h1mr18260308ljh.459.1643204621863;
 Wed, 26 Jan 2022 05:43:41 -0800 (PST)
MIME-Version: 1.0
References: <20211210193434.75566-1-jandryuk@gmail.com> <adfe1c14-f773-0592-e304-d80da8380cc0@gmail.com>
In-Reply-To: <adfe1c14-f773-0592-e304-d80da8380cc0@gmail.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Wed, 26 Jan 2022 08:43:30 -0500
Message-ID: <CAKf6xpv0=ex+OrFb1z4TpaULsmMaPQqmmsxoY_d4yJRt6Zx3sw@mail.gmail.com>
Subject: Re: [PATCH] xen-hvm: Allow disabling buffer_io_timer
To: Paul Durrant <paul@xen.org>
Cc: QEMU <qemu-devel@nongnu.org>, Stefano Stabellini <sstabellini@kernel.org>, 
	Anthony Perard <anthony.perard@citrix.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Richard Henderson <richard.henderson@linaro.org>, Eduardo Habkost <eduardo@habkost.net>, 
	"Michael S. Tsirkin" <mst@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, 
	"open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
Content-Type: text/plain; charset="UTF-8"

On Tue, Dec 14, 2021 at 8:40 AM Durrant, Paul <xadimgnik@gmail.com> wrote:
>
> On 10/12/2021 11:34, Jason Andryuk wrote:
> > commit f37f29d31488 "xen: slightly simplify bufioreq handling" hard
> > coded setting req.count = 1 during initial field setup before the main
> > loop.  This missed a subtlety that an early exit from the loop when
> > there are no ioreqs to process, would have req.count == 0 for the return
> > value.  handle_buffered_io() would then remove state->buffered_io_timer.
> > Instead handle_buffered_iopage() is basically always returning true and
> > handle_buffered_io() always re-setting the timer.
> >
> > Restore the disabling of the timer by introducing a new handled_ioreq
> > boolean and use as the return value.  The named variable will more
> > clearly show the intent of the code.
> >
> > Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
>
> Reviewed-by: Paul Durrant <paul@xen.org>

Thanks, Paul.

What is the next step for getting this into QEMU?

To re-state more plainly, this patch fixes a bug to let QEMU go idle
for longer stretches of time.  Without it, buffer_io_timer continues
to re-arm and fire every 100ms even if there is nothing to do.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 13:47:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 13:47:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260914.451176 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCidx-0000mc-03; Wed, 26 Jan 2022 13:47:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260914.451176; Wed, 26 Jan 2022 13:47:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCidw-0000mV-RK; Wed, 26 Jan 2022 13:47:24 +0000
Received: by outflank-mailman (input) for mailman id 260914;
 Wed, 26 Jan 2022 13:47:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DU/T=SK=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nCidv-0000mJ-C8
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 13:47:23 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7b9f8274-7eae-11ec-8eb8-a37418f5ba1a;
 Wed, 26 Jan 2022 14:47:22 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7b9f8274-7eae-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643204842;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=GW3JUCGlCrKLi4LxHgdYKIzVB9h0wVzBwF+2ddF5u30=;
  b=aigu0x14PywxRvrvHtYCqBWLBbEY9NuxjW5g8zinOEGGn4AdC5m9ydX7
   LUMJmo8rXT4+NioafuMpgXthjMTzoxcHn+j+A+QiWBfeFyjPH6VFGaDqp
   2uikeUcUJTLNNwLi6y/silEstnp5w+vB93Ie9YD+LWZqYyNKmTrm7q+cc
   4=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: wVb+Sbdw22swfv33BIkJaRqPHEJDzias5u2ZS4z522m6WcqFqxS4PVIafJBCJ9hcYxEsrfZ0J8
 gdp7afgxoeQmGx5vmUh59p13y6pdxPBsNKBRptqEukrawjTD4qEFtxAm1giWIxPsK5qsSqjF2Q
 disYmPXDGY91abXrPFOedYS1K/ydfAiHw50lurNRv+VWiBnhAnwaJKH8NPiEusm+u5YDe7wmxC
 LPEEHnzkpQ9K8PZxXKPLYfQEzXMhKUl8waWBtyuwYF4PvP5baUnaod4Ay9Wxam3yQ0xhYheSwg
 Zy3C8a6THFCS761SIcMUGWuv
X-SBRS: 5.2
X-MesageID: 63206005
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:BxJklq/EpJ/u2GgUCIKUDrUDbXmTJUtcMsCJ2f8bNWPcYEJGY0x3z
 GtMXGyOPqyNYmumf9ogOo3j8B8GuMTTzoBlQFFrrC48E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7dj3NYy6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPhWz
 c0UirmhTzs5FYbDm+pBDEBzDBlxaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguwKKsXxMZxZkXZn1TzDVt4tQIzZQrWM7thdtNs1rp4VR66AP
 5JEAdZpRDHFbAxmFwcuM7UdgeSYuCbcQyACq13A8MLb5ECMlVcsgdABKuH9ZdiiVchT2EGCq
 Qru3U70HxUbP9y30iee/zSngeqntTP2XsceGaO18tZugUaP3SoDBRsOT1y5rPKlzEmkVLpix
 1c8o3R06/JorQryE4e7D0bQTGO4UgA0fN9IStIf+Qex2oH/7AWXWjddZSF5Z4lz3CMpfgAC2
 liMltLvIDVgtryJVH6QnoupQSOO1Ts9djFbO3JdJecRy5y6+dxo0EqTJjp2OPPt1rXI9SfML
 ydmRcTUr5EaloY12qqy5jgraBr898GSHmbZCug6N19JDz+Vhqb5NuRECnCBtJ6sybp1qHHb7
 RDofODFtIgz4WmlznDlfQn0NOjBCwy5GDPdm0VzOJIq6i6g/XWuFagJvm0lfRw0bJpYJG+2C
 KM2he+3zMUCVJdNRfQvC79d9uxwlfSwfTgbfq28giVyjmhZK1bcoXAGib+41GHxikk8+ZzTy
 r/AGftA+U0yUPw9pBLvHr91+eZymkgWmD2PLbimkUXP+efONRa9FOZeWHPTP79R0U9xiFiPm
 zqpH5HUm0w3vSyXSnS/zLP/2nhTfSFkXsin8pIOHgNBSyI/cFwc5zbq6epJU6RunrhPl/eO+
 Xe4W0RCz0H4i2GBIgKPAk2Popu2NXqmhX5kbyEqI3iy3H0vPdSm4KsFLsNldrg77u1zi/VzS
 qBdKcmHB/1OTBXB+igcMsah/NAzKkzziFLcJTehbRg+Y4VkG17D9Oj7c1a97yIJFCe265cz+
 uXyygPBTJMfbA1+F8KKOum3xla8sCFFyuJ/VkfFOPdJf0Do/NQ4IiD9lKZvccoNNQ/C1n2R0
 APPWUUUouzEookU9tjVhP/b89f1QrUmRkcDRjvV97e7MyXe71GP+44YXbbaZy3ZWUP15L6mO
 bdfwcbjPaBVh11NqYd9TepmlPps+9v1qrZG5Q14B3GXPU+zA7ZtL3Taj8lCsqpBmu1QtQesA
 x/d/9BbPfOCOd//EU5XLw0gN7zR2fYRkzjUzPI0PESlu3MnoOvZCR1fb0uWlShQDLppK4d0k
 +4utfkf5xG7lhd3YM2NiTpZ9jjUI3ENO0n9Wkr23GM/ZtIX92x/
IronPort-HdrOrdr: A9a23:lhRF1KuwV6ohOgaVyZafNdYs7skC0oMji2hC6mlwRA09TyXGra
 +TdaUguSMc1gx9ZJh5o6H8BEGBKUmskKKceeEqTPmftXrdyReVxeZZnMrfKlzbamLDH4tmu5
 uIHJIOceEYYWIK7voSpTPIaerIo+P3sJxA592ut0uFJDsCA8oLjmdE40SgYzZLrWF9dMAE/f
 Gnl656Tk+bCBIqh7OAdx44tob41r/2vaOjRSRDKw8s6QGIgz/twqX9CQKk0hAXVC4K6as+8E
 De+jaJpZmLgrWe8FvxxmXT55NZlJ/K0d1YHvGBjcATN3HFlhuoXoJ8QLeP1QpF4t1HqWxa1e
 UkkS1QePib2EmhOF1dZiGdgjUI5Qxer0MKD2Xo2UcL7/aJHw7SQPAx+r6xOiGplXbI+usMjZ
 6jlljpx6a+R3n77VXAzsmNWBdwmkWup30+1eYVknxESIMbLKRctIoF4SpuYd099Q/Bmcga+d
 NVfYrhDTdtACenRmGcunMqzM2nX3w1EBvDSk8eutaN2zwTmHxi1UMXyMEWg39FrfsGOtV5zv
 WBNr4tmKBFT8cQY644DOAdQdGvAmiIRR7XKmqdLVnuCalCMXPQrJz85qkz+YiRCdE15Yp3nI
 6EXEJTtGY0dU6rAcqS3IdT+hSIW2m5VSSF8LAW23G4gMyLeFPGC1zwdLkeqbrWnxxEOLypZx
 +aAuMiP8Pe
X-IronPort-AV: E=Sophos;i="5.88,318,1635220800"; 
   d="scan'208";a="63206005"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DPnIivwqsWIOJG3Vl6MUhgedDyzGevaiNtKn8s2b6PedzuO3arQcFAucbi7b4WwgR1SYfcLMnfSyGi2VCb7A7jltEGqTDRtNFzkrL90OjdongkzSFv+ZF5Z4v6tJtetc1V8xxBkrbRaYNOEqCnMHoMJxjiAQWO9wXakE+nlHCz/5MrhHrfG/dIo2Zogq/hGBjoul/o/dCOYq53US7VYqKSFiRs9xE9HjhkCGLIV5alhqxGjLcUqiCGqzQlxpUbN+mxi2AyJrmWjCBZ2rLIdap/4cT9+qc6rfcRs1LQl3tHhqzVBQWx8ObDeoe1Kb8i/TVV0dq5E4zsA/1FvELstRMQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GW3JUCGlCrKLi4LxHgdYKIzVB9h0wVzBwF+2ddF5u30=;
 b=lXi1hn6Mun3uWMBI9CZLWdfU8MwGq/qQMw+avr+tEeQN7jY9Aqjh6p1aWz96F5qKM7SnL1AayDaT0e5CIJamJqiWkdh14eOCDaFgncc4goqO/58F8q2aUEBNeqhbLyTJHbLcSd5SJsN5MucfKTpQ4/4Jr56GwIOvulA6j0hgtes98zknffOZg2oT2P5wRJADDja2ZlhhPe2+XORue0pO1lDR1EG2pQsfP8K4yhB+XhCqcpiJQwTcFxvkyOzeb4tjWOLml/wyaLrJq4X48+ky1ccmeEXuyXAqa8PbTrvCeJSuMgF+AK8imQOr47P0V9U0gLdyQqUXK5zDq0MrftIFTA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GW3JUCGlCrKLi4LxHgdYKIzVB9h0wVzBwF+2ddF5u30=;
 b=oz3bYsmaGyXX5FyAZ+DxLLmaad3dntuFwr3dHKb7fbwQjN9Rj1mtGbs9PypvkHHzfsvBUAaA/DbVApbqJIrwKgIxn7I8/PweQHJO519HUg+0jVeEl3M1/Wq/9l3ZxwxTmugYLPJ9QWjwjki1JAB4RfBhP5dAu2VoA2b1n5gMXEw=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich
	<JBeulich@suse.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH 2/8] x86/boot: Collect AMD speculative features earlier
 during boot
Thread-Topic: [PATCH 2/8] x86/boot: Collect AMD speculative features earlier
 during boot
Thread-Index: AQHYEpEIIirjIKT/SEuiwA9Vczaqaqx1P8uAgAAO04CAAAK1AA==
Date: Wed, 26 Jan 2022 13:47:16 +0000
Message-ID: <5de84014-b1a7-7ddd-70e1-9aadf0387ee1@citrix.com>
References: <20220126084452.28975-1-andrew.cooper3@citrix.com>
 <20220126084452.28975-3-andrew.cooper3@citrix.com>
 <YfFCLxnGDeuk/va0@Air-de-Roger>
 <0d457a94-64bc-bbd4-e7ce-59c3b1c1d2f4@citrix.com>
In-Reply-To: <0d457a94-64bc-bbd4-e7ce-59c3b1c1d2f4@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 97f8ab88-b5fd-4e16-a34d-08d9e0d25d85
x-ms-traffictypediagnostic: DM5PR03MB3388:EE_
x-microsoft-antispam-prvs: <DM5PR03MB3388720EA69A3F0EE69740D7BA209@DM5PR03MB3388.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: J3a8IWE4EaUnE84faQAV2lEkahouyn6AWZLVjlyGVr/8af/x/F6AoirFwivgoA0gZJ+qeRNGWVjFqaCe50V2TEUt2FcuFpGupUO8xFjRbQSXOF/wgWJ+4o/jdEJzACCPoONvXl1hxUIPn24DkaB684YXHVhiHr1TNtzcN3pQpC1AEmJuc4hupCn606iOE/6odDEX5VYchCw2ULj863kWxyGRe1qLyzfwa98zLjBxyuqTFnd+/rKuaWncJrP3/c0QoWZAHsKNEkwEjiqPybFV0BoDqwVJXy/yN4VkZI2j2flelqj/5pOIGJjv4zKZs3g84qvX6cZx3xcteXmXoVjkR8MMsEBKhglHiTZNmDP8CcgA9UMLQlMdRMI99AlNRv9RSfcyXBkmQBT2c1WiBkMXgej9QNWYCoyRMmqa1WYWQ3RQqY0I9NGiYbGmXFqiRLN/VL4fG6LeUs2H0CN4WHQfj2j7L5xkBBzN5kg3Vcv4x2lV7NKOX59ew5/EhPps1BX4c6645P/bZV5mZCkeUSTlmEDq3qrO6M0ZcjvSLc9HPJnX5Q82w/JD7vBCBHPgvazN8PTtDSHiDpBnueJReDm2ZW6I9hLaEfmG4eL9zKfbBP+2PVDaYsICegGY5e2qcekvz0kaTujkfayg/JaHNgNT0hAQStlF8celZPJDcbjMfUpx96XNLn56XsZ/A58zw4RMlbaCNCYnb0NAQasM5l4e3HuWQndsUcHPSW8gQrvPn6c46OkvgKAKXLiAYnkUofS/j5/j/HMxq3MrpcsSwpCl0g==
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)(31686004)(4326008)(6486002)(2906002)(31696002)(66946007)(5660300002)(186003)(508600001)(91956017)(86362001)(53546011)(6506007)(82960400001)(6512007)(66446008)(83380400001)(316002)(71200400001)(6862004)(6636002)(38100700002)(38070700005)(26005)(8676002)(2616005)(64756008)(54906003)(36756003)(122000001)(66476007)(66556008)(8936002)(76116006)(37006003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Sy9wOGpmdTlobDFnVXFYU3BtQ2VtRnp3bEtyNUR2RG05N3o5TDdtUzlxbi90?=
 =?utf-8?B?TUY5NXF2WTNtU2JNc1FkK29QUVZPTlMrZlRicUhDdzJ0UThodWo2UW5qSXZW?=
 =?utf-8?B?cEE1NS8wSVhkSmdSUHErRy9TU3dDT294WG1WNHZXZ0xvYnJZQmhmTHdHTWlm?=
 =?utf-8?B?VTlaRnQvQndmYmdQSGQ0eWpvZE8yTGRUanhxdG1tdUxuQzJFdEJjMHR3WTlI?=
 =?utf-8?B?TTBKWnRQZ2RBVW1jZkJzVDF5aStPamVSUjBzRytRZEFManI3dUh3OGJ3Qncy?=
 =?utf-8?B?UnZZVUs5RTEyTEp4ZDN5OVI5d1BiU1llWUcrUjMyNjIzTXQwQjhzaE5WY29s?=
 =?utf-8?B?SWh6S1NhbDRVdk1VQTNvRE5ObjRwZWJKNWJMWDBFUERwQlYzL2MxNDRnSllQ?=
 =?utf-8?B?NTYrNFZMVTNOdURiUjEvQ3VyUGFaWjRuUHU5VUp6WGxpT3pTY2RkdURGdjIx?=
 =?utf-8?B?M1g5b2xSVXFKQWthcDA0WEhlaXdWZG5QRGpxSnkrRVFnWHlYNlFBY21abDZo?=
 =?utf-8?B?OHcrei9aNnJCYmpLZ2ZFY0Z1eE1mUHFuVWo2ZjcyZWZMVU9zZHJrQVozdjRS?=
 =?utf-8?B?V3hVVzRoSUQzekJnU2NJRHVOalBCSGRhM1l0ZE1VeEpOQVdsSEROUmRpUUZv?=
 =?utf-8?B?b0t1a2ljdng1UCtoUmNkeGZFSmpuWjFiSnZwcDU0SnN5M1F5clR0dGtJYVMv?=
 =?utf-8?B?QmY1dDBKa1EySnV2Y0o5SitUUkRWNEhKdFdER1IzaG5tNVJ2bjYrYWJTd2lo?=
 =?utf-8?B?NVpLMFlLK0JtRVZiNDVHa0xPZ0tobzlxdVB3UlZHaDBjbDloM1lDVUkyL3ZD?=
 =?utf-8?B?VlE3cDl6QThXOU9hakwvcWp2Vm5LUE10bDVBTmloY1JoSXNucFFERVFaZmFq?=
 =?utf-8?B?dFFVV3NFRGRQUlgvSzUyNWY0UVhLTzRKbmdNMTg1bHNMVldiSWRPTWthTC9S?=
 =?utf-8?B?NXF6UVdUZlh3Z21TVFVtZno2Zk15djQrdzk3STNJNnVHQmpDcWJ2akZPRVJQ?=
 =?utf-8?B?aWtybXhLRXpBU2RlV0ZBd3ZsSGpQWW9Yc3VHQjE4NXdxL1d5UVlkNXA2U08r?=
 =?utf-8?B?VE5NWUoyT29jSFBJWk1raVVCaml4bTEvRC95cDZZV2JwRzRHVXhYNC9uVU5N?=
 =?utf-8?B?RFlONzJUNFVxT21jaVIraUplTWo0NUt1T3BUT3NEbWg1ZGFBeHVNUkI5QWFK?=
 =?utf-8?B?aUJ1eDZBRXh3SzBJSFlRTDZHVlRjdHN6alY0dEZmMm5BWk1JV1M1K2RnVzRX?=
 =?utf-8?B?VGpvcUNJU1ZaWUIycHdwdWZKTzRxdlB6ejgzYnVNMTlOcnBnNGF4QkJsaHJK?=
 =?utf-8?B?dG5kL1pDOUpLZlBDa0RHSUxRblJVRENvLzRaU3pMMEdtZzB6d01rTWtsdnQy?=
 =?utf-8?B?SGhQWWwxdDN2OGN0dXBmWjAvU0k0Sk53UklIeityd2Vmb3NBaG1DK2l6ckx6?=
 =?utf-8?B?aFl4MndERW1ldVMza3luWDdpaEZ2Kzc5VVExeDdSa3IzOHFnVlBqN1oyMUdO?=
 =?utf-8?B?R1JyU21DdzE1WU44MXVrNkw4TGJBT0FMTHlzVEcyWVNDTU5tQk9rRVJpdlM4?=
 =?utf-8?B?b256Nm1idHFaWTF6RkZHQmxSaWR6a2MrcDdtU2UxcU1BTys0RENmVkUrRnhC?=
 =?utf-8?B?M2M4R0VGMm02U25jZmtzVFVaYU5NN1V0eDRwYk5OQTRqTmdmUitwYTQ4TUZi?=
 =?utf-8?B?S3lsd0pJNW9QTFlNTUtSTGRLZnJEQ3dQS04wNkoxc1FWRjg3MHpFTStFUHpQ?=
 =?utf-8?B?Nk1QZWk3OHpEc1pZTTVoTU5SMHRYTjNhLzllZ0Y0M2p0MjZhcGd0THdScGVU?=
 =?utf-8?B?TXoxL3FoZkxIZXRuajNtQzJlZmVtYXZTVm83VnBYVHhNVnRRMkdGNWZQUzYv?=
 =?utf-8?B?S2dqSXNsSlZ2QVFUVjU0K0NJR0ROSlpIRHlQK0pXUWszVXE5ajZUem1GaWVa?=
 =?utf-8?B?TnFwVnJRbkFSd2V5amNsSENMMGM5b1VDc0o4MkFjSDgzSllyOFYzZ2Y3SXFt?=
 =?utf-8?B?bGdpdTlsVGlScnpwa29UMGIxdlJsZDJEdDcxVnhGTTg3ODBBUUc5UmZxTVBv?=
 =?utf-8?B?WXhaZFVDaklzejltYXhJK2ZzVGV4QlJGZGh4UW42blZ3Rk9Vc0pWUjN6cENK?=
 =?utf-8?B?UmdBVytsYm1kK0hUTElsZnhWV1pGOEVnbUcwUDJyb1o2K1ptL0VsYkFMbXl6?=
 =?utf-8?B?aCtoVkhCNEF0RlpjVXVNcVgvUGlOeFgzMHgwb3g4MElQaVEzaklmUzR3eERB?=
 =?utf-8?B?V1FXU0llNlo3UTJEYkd3bzhGWHNRPT0=?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <9054E9E96B1FE1469B30C3357176F02D@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 97f8ab88-b5fd-4e16-a34d-08d9e0d25d85
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Jan 2022 13:47:16.5491
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: GCSmLkZ6hR7Bb0lz/wMFpTSi5EVYIrdeuza8VSsnI0V+t4ik9kp/ElyK/f4Eq4yai/m6cTg66srDpi4QsrdC92iP4B+vdeVkkFIhkwftAyI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR03MB3388
X-OriginatorOrg: citrix.com

T24gMjYvMDEvMjAyMiAxMzozNywgQW5kcmV3IENvb3BlciB3cm90ZToNCj4gT24gMjYvMDEvMjAy
MiAxMjo0NCwgUm9nZXIgUGF1IE1vbm7DqSB3cm90ZToNCj4+IE9uIFdlZCwgSmFuIDI2LCAyMDIy
IGF0IDA4OjQ0OjQ2QU0gKzAwMDAsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+Pj4gQWxsIEFNRCBJ
QlJTLXJlbGF0ZWQgZmVhdHVyZXMgYXJlIGluIENQVUlELjB4ODAwMDAwMDguZWJ4LiAgQ29sbGVj
dCB0aGVtIGluDQo+Pj4gZWFybHlfY3B1X2luaXQoKSBzbyBpbml0X3NwZWN1bGF0aXZlX21pdGln
YXRpb25zKCkgY2FuIHVzZSB0aGVtLg0KPj4+DQo+Pj4gUmV3b3JrIHRoZSBleGlzdGluZyBsb2dp
YyBzdHJ1Y3R1cmUgdG8gZmlsbCBpbiBjLT5leHRlbmRlZF9jcHVpZF9sZXZlbCBhbmQNCj4+PiBz
ZXBhcmF0ZSBvdXQgdGhlIGFtYmlndW91cyB1c2Ugb2YgZWJ4IGluIGFuIG90aGVyd2lzZSAweDgw
MDAwMDA4LXNwZWNpZmljDQo+Pj4gbG9naWMgYmxvY2suDQo+Pj4NCj4+PiBTaWduZWQtb2ZmLWJ5
OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0KPj4gUmV2aWV3ZWQt
Ynk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPg0KPj4NCj4+IEl0IHdv
dWxkIGJlIGdvb2QgdG8gdXBkYXRlIHRoZSBjb21tZW50IGFoZWFkIG9mIGVhcmx5X2NwdV9pbml0
IHRvDQo+PiBtZW50aW9uIGl0IG5vdyBhbHNvIGdhdGhlciBzcGVjdWxhdGlvbi1yZWxhdGVkIGZp
ZWxkcyBmcm9tIENQVUlEIGluDQo+PiBvcmRlciB0byBkbyBlYXJseSBzZXR1cCBvZiBtaXRpZ2F0
aW9ucy4NCj4+DQo+PiBJIHRoaW5rIHlvdSBjb3VsZCBhbHNvIHVzZSBib290X2NwdV9kYXRhIGlu
IHNwZWNfY3RybC5jIHByaW50X2RldGFpbHMNCj4+IGluc3RlYWQgb2YgZmV0Y2hpbmcgYWdhaW4g
dGhlIGNwdWlkIGxlYWZzPw0KPiBIbW0gLSBJIG1heSBoYXZlIGEgbWlzdGFrZSBoZXJlLg0KPg0K
PiBCb290IHRpbWUgQ1BVSUQgaGFuZGxpbmcgaXMgZ2lhbnQgbWVzcywgYW5kIEkgaGF2ZW4ndCBo
YWQgdGltZSB0byBmaW5pc2gNCj4gbXkgd29yayB0byBtYWtlIEJTUCBtaWNyb2NvZGUgbG9hZGlu
ZyBkZXBlbmRlbnQgb24geG1hbGxvYygpLCBhbGxvd2luZw0KDQpTb3JyeS7CoCBJIG1lYW4gImlu
ZGVwZW5kZW50IiBoZXJlLg0KDQp+QW5kcmV3DQoNCj4gaXQgdG8gbW92ZSBmYXIgZWFybGllciwg
YW5kIHJlbW92aW5nIHRoZSBlYXJseS9sYXRlIENQVUlEIHNwbGl0Lg0KPg0KPiBIb3dldmVyLCBp
bml0X3NwZWN1bGF0aXZlX21pdGlnYXRpb25zKCkgaXMgY2FsbGVkIGFmdGVyIGxhdGUgQ1BVSUQN
Cj4gc2V0dXAsIHNvIGU4YiBzaG91bGQgYmUgc3VpdGFibHkgY29sbGVjdGVkLsKgIExldCBtZSB0
cnkgdG8gZmlndXJlIG91dA0KPiB3aGF0J3MgZ29pbmcgb24uDQo+DQo+IEZvciBwcmludF9kZXRh
aWxzKCksIEkgaGF2ZSBhIGZlZWxpbmcgdGhhdCBtYXkgaGF2ZSBiZWVuIGFuIGFydGVmYWN0IG9m
DQo+IGFuIGVhcmx5IHZlcnNpb24gb2YgdGhlIGxvZ2ljLCBhbmQgbGlrZWx5IGNhbiBiZSBjbGVh
bmVkIHVwLg0KPg0KPiB+QW5kcmV3DQoNCg==


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 13:47:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 13:47:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260915.451181 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCidx-0000of-88; Wed, 26 Jan 2022 13:47:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260915.451181; Wed, 26 Jan 2022 13:47:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCidx-0000nn-2X; Wed, 26 Jan 2022 13:47:25 +0000
Received: by outflank-mailman (input) for mailman id 260915;
 Wed, 26 Jan 2022 13:47:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xtl2=SK=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1nCidv-0000mK-OR
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 13:47:23 +0000
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com
 [2a00:1450:4864:20::336])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7ce8618c-7eae-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 14:47:22 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 n12-20020a05600c3b8c00b0034eb13edb8eso1917953wms.0
 for <xen-devel@lists.xenproject.org>; Wed, 26 Jan 2022 05:47:22 -0800 (PST)
Received: from [10.7.237.6] (54-240-197-230.amazon.com. [54.240.197.230])
 by smtp.gmail.com with ESMTPSA id p8sm3873089wrr.16.2022.01.26.05.47.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Jan 2022 05:47:21 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7ce8618c-7eae-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=message-id:date:mime-version:user-agent:reply-to:subject
         :content-language:to:cc:references:from:in-reply-to
         :content-transfer-encoding;
        bh=4VWrmponanBoZjuBiqM+aKR3MrRMA0UiGhMwRZriHI0=;
        b=JCXrVw5w8jmMfAHuQXyfZWeBFVP+FfRIIwA/nHcX4GH6GeLxKlZR6B4Oq/4IU8fhhB
         w5U/MwDVapNuCxttoSQIiVeqbQbPAGyt0jKJLjGDHNeKX8Qswfkt6l6iMsnuMqb4vot8
         HDpO1CwmmYiBaNA3/bBtfV3N+ixi5q+SiqaZHImKVcNKQWXKFeoA1H7H0RH1hRE7d/n2
         ZKGcrCZ2h6bm8s9kWePYdkrj3lUiaBkfhSXP5xyS8pQP9rqft1od306SPGNciA7MRSu4
         gpo554ksHPUu0fpj4LSkzTjQYKRaSzuPCTx9cCF4cF9UjuD0VlXSL9fPjoF9cm6ZnIDM
         HX9g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:message-id:date:mime-version:user-agent:reply-to
         :subject:content-language:to:cc:references:from:in-reply-to
         :content-transfer-encoding;
        bh=4VWrmponanBoZjuBiqM+aKR3MrRMA0UiGhMwRZriHI0=;
        b=qurjscOCrDaX3N0iYwrOxZIwPHcMO1l79/jabhDwg7U6Pu1fMBwNfd0HYS/EsW0n8e
         8C3faGPoKs9o14r8axX7gdyTNLj+/mMwmsSHXn3wXhtpdIqg1DjhKxJZlGFNKV/ATwCE
         jnNOlwIUXjZ8TZb+Qj14eF1CBxd0aOlOA+UTAKDgwiYXT0qFkTR+cL1PlkUcaZkYnu9K
         UXLDWrBCN8gikynHDsGHhpR9T1bqIcpYTSxjjSJS4BPCNfF1DSbRcXu9/4fFQAdNfNQb
         /9b90WpBKcq2s4vw6sleyN0PkgnmOH4OjY+PCdrynkEGRZIF3kGd6rH8+M7y9y0DFFHH
         4iBA==
X-Gm-Message-State: AOAM532gJDjpqeMXM9VSGzKRRx964vOMTbVDUahglqaxG0b4+WOAONDN
	a7V/PgOA9sffnv8ttDYU1kE=
X-Google-Smtp-Source: ABdhPJz6bCth0FuLHkr3FlcNdgVZJzrqlzHciCO36Yn2SuiNT64swHO+PdQ5i81QyfsYsH4Q5yvUlw==
X-Received: by 2002:a05:600c:4ec7:: with SMTP id g7mr7480705wmq.171.1643204842294;
        Wed, 26 Jan 2022 05:47:22 -0800 (PST)
Message-ID: <2ebaf0d6-a84a-e929-5ac2-597c81d40230@gmail.com>
Date: Wed, 26 Jan 2022 13:47:20 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Reply-To: paul@xen.org
Subject: Re: [PATCH] xen-hvm: Allow disabling buffer_io_timer
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>, Paul Durrant <paul@xen.org>,
 Anthony Perard <anthony.perard@citrix.com>
Cc: QEMU <qemu-devel@nongnu.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Paolo Bonzini <pbonzini@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Eduardo Habkost <eduardo@habkost.net>, "Michael S. Tsirkin"
 <mst@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
 "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
References: <20211210193434.75566-1-jandryuk@gmail.com>
 <adfe1c14-f773-0592-e304-d80da8380cc0@gmail.com>
 <CAKf6xpv0=ex+OrFb1z4TpaULsmMaPQqmmsxoY_d4yJRt6Zx3sw@mail.gmail.com>
From: "Durrant, Paul" <xadimgnik@gmail.com>
In-Reply-To: <CAKf6xpv0=ex+OrFb1z4TpaULsmMaPQqmmsxoY_d4yJRt6Zx3sw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 26/01/2022 13:43, Jason Andryuk wrote:
> On Tue, Dec 14, 2021 at 8:40 AM Durrant, Paul <xadimgnik@gmail.com> wrote:
>>
>> On 10/12/2021 11:34, Jason Andryuk wrote:
>>> commit f37f29d31488 "xen: slightly simplify bufioreq handling" hard
>>> coded setting req.count = 1 during initial field setup before the main
>>> loop.  This missed a subtlety that an early exit from the loop when
>>> there are no ioreqs to process, would have req.count == 0 for the return
>>> value.  handle_buffered_io() would then remove state->buffered_io_timer.
>>> Instead handle_buffered_iopage() is basically always returning true and
>>> handle_buffered_io() always re-setting the timer.
>>>
>>> Restore the disabling of the timer by introducing a new handled_ioreq
>>> boolean and use as the return value.  The named variable will more
>>> clearly show the intent of the code.
>>>
>>> Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
>>
>> Reviewed-by: Paul Durrant <paul@xen.org>
> 
> Thanks, Paul.
> 
> What is the next step for getting this into QEMU?
> 

Anthony, can you queue this?

   Paul

> To re-state more plainly, this patch fixes a bug to let QEMU go idle
> for longer stretches of time.  Without it, buffer_io_timer continues
> to re-arm and fire every 100ms even if there is nothing to do.
> 
> Regards,
> Jason



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 13:53:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 13:53:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260923.451204 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCija-0002ok-5m; Wed, 26 Jan 2022 13:53:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260923.451204; Wed, 26 Jan 2022 13: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 1nCija-0002od-20; Wed, 26 Jan 2022 13:53:14 +0000
Received: by outflank-mailman (input) for mailman id 260923;
 Wed, 26 Jan 2022 13:53:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nWl3=SK=bombadil.srs.infradead.org=BATV+677f07704d1834417a80+6730+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1nCijY-0002oX-Qh
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 13:53:13 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 495cca76-7eaf-11ec-8eb8-a37418f5ba1a;
 Wed, 26 Jan 2022 14:53:09 +0100 (CET)
Received: from [2001:8b0:10b:1:4a2a:e3ff:fe14:8625]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1nCijN-00Bv25-QD; Wed, 26 Jan 2022 13:53:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 495cca76-7eaf-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=kXCbQWon8MuJ7VB4cuHu+KXLYozYNLBvFHbRnKG24O4=; b=ZFG/dokWSWZ3Y1oAJLAfgODWsl
	rKFoBaqUp7h/VBfsLVKLTYoKvujMl18buL5+rPlWU9+H4EstZw/Q3pQT4RnO/VTq/4//F5O1rixcz
	kujvpTeHmP50muoVMwQRo1GJowdWBepniQ3P6Jj5bf9mxkz/22nReqzbwA6cUey892RH8FCohi1WW
	NgqjEV5WkjvCNTkCEyELxkTPd4iz06ADmPvjYqXJv/VLMn7UZxZagsrFci2YQqzr/Eo3KCCViXJtm
	h2womo7SCdglZikJFBp1NnSQmZ/8XVFhgES3Got+P7i30AwOez5hMArfAl8oNr3oYQKQSyR7EKwnI
	PDOMKJYA==;
Message-ID: <a984ffd4bbadb1cf550e7a980f81db250b3b69c1.camel@infradead.org>
Subject: Re: [PATCH 1/3] xen/vioapic: add support for the extended
 destination ID field
From: David Woodhouse <dwmw2@infradead.org>
To: Roger Pau =?ISO-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>, Jan Beulich
	 <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>, 
	xen-devel@lists.xenproject.org
Date: Wed, 26 Jan 2022 13:52:59 +0000
In-Reply-To: <YfATkz+nse45Vg3C@Air-de-Roger>
References: <20220120152319.7448-1-roger.pau@citrix.com>
	 <20220120152319.7448-2-roger.pau@citrix.com>
	 <5f8d332d-1bc3-af71-27ba-a4ff7b6e9514@suse.com>
	 <YfATkz+nse45Vg3C@Air-de-Roger>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-IaYcQAPuYM423gK5a0V9"
User-Agent: Evolution 3.36.5-0ubuntu1 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html


--=-IaYcQAPuYM423gK5a0V9
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, 2022-01-25 at 16:13 +0100, Roger Pau Monn=C3=A9 wrote:
> On Mon, Jan 24, 2022 at 02:20:47PM +0100, Jan Beulich wrote:
> > On 20.01.2022 16:23, Roger Pau Monne wrote:
> > > Such field uses bits 55:48, but for the purposes the register will be
> > > used use bits 55:49 instead. Bit 48 is used to signal an RTE entry is
> > > in remappable format which is not supported by the vIO-APIC.
> >=20
> > Neither here nor in the cover letter you point at a formal specificatio=
n
> > of this mode of operation.
>=20
> I'm not aware of any formal specification of this mode, apart from the
> work done to introduce support in Linux and QEMU:
>=20
> https://lore.kernel.org/all/20201009104616.1314746-1-dwmw2@infradead.org/
>=20
> https://git.qemu.org/?p=3Dqemu.git;a=3Dcommitdiff;h=3Dc1bb5418e
>=20
>=20
> Adding David in case there's some kind of specification somewhere I'm
> not aware of.

Indeed there is no formal specification that I am aware of, although
it's vaguely possible that Microsoft wrote something up when they added
it to Hyper-V.

https://lore.kernel.org/all/20201103011136.59108-1-decui@microsoft.com/

I had an internal doc which.... looks like I can clean it up a tiny bit
and then share at http://david.woodhou.se/15-bit-msi.pdf if that helps?

> > What I'm aware of are vague indications of
> > this mode's existence in some of Intel's chipset data sheets. Yet that
> > leaves open, for example, whether indeed bit 48 cannot be used here.
>=20
> Bit 48 cannot be used because it's already used to signal an RTE is in
> remappable format. We still want to differentiate an RTE entry in
> remappable format, as it should be possible to expose both the
> extended ID support and an emulated IOMMU.

Right. I chose not to use the low bit of the existing Extended
Destination ID because that's the one Intel used to indicate Remappable
Format. This means we can still expose an IOMMU to guests and easily
distinguish between Compatibility Format and Remappable Format MSIs
just as real hardware does.

> > > --- a/xen/arch/x86/hvm/vioapic.c
> > > +++ b/xen/arch/x86/hvm/vioapic.c
> > > @@ -412,7 +412,8 @@ static void ioapic_inj_irq(
> > > =20
> > >  static void vioapic_deliver(struct hvm_vioapic *vioapic, unsigned in=
t pin)
> > >  {
> > > -    uint16_t dest =3D vioapic->redirtbl[pin].fields.dest_id;
> > > +    uint16_t dest =3D vioapic->redirtbl[pin].fields.dest_id |
> > > +                    (vioapic->redirtbl[pin].fields.ext_dest_id << 8)=
;
> >=20
> > What if an existing guest has been writing non-zero in these bits? Can
> > you really use them here without any further indication by the guest?
>=20
> Those bits where reserved previously, so no OS should have used them.
> There are hypervisors already in the field (QEMU/KVM and HyperV) using
> this mode.
>=20
> We could add a per-domain option to disable extended ID mode if we are
> really worried about OSes having used those bits for some reason.

Note that I didn't even have to touch this part in qemu; the swizzling
of those 8 'Extended Destination ID' bits from the RTE into the
corresponding bits of the MSI message was already being done =E2=80=94 with=
out
which, IRQ remapping wouldn't have worked anyway.



--=-IaYcQAPuYM423gK5a0V9
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjIwMTI2MTM1MjU5WjAvBgkqhkiG9w0BCQQxIgQgCCZ5nf8f
fl/PkCuBrJU+02WbNynk1357rclNF1mHKCYwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgCkwzmtZBZtrPfR6BuoYRO5hLPCpa6kQagO
CojfekLrksGNgGBHp6NmBypYFXTnmjJOZxY2bpPHHitzrMvz65T5San0Ar/Ua0Hp45HC8NvLD0ix
P+J0aptCiLHhkFqzkuSrIOPENgHyP5zfI//chfu1QAHll1Dbm/oUMJyHpL7KLZgMLAvJCJV04KVc
Bku0FHRVpUJORgFmyqGr06wEY3I1BhzGD33K7XC9whfKtwLNDZobqFb/oAW64bWzaH6GNSd6NZsj
/Lohsj7bmH4niBRKS8hHfvZENTvU5KoFRcmDd8LtgXHz1YXFJbC5s44Ll0AEd4BFB1yk+zQLsdCq
FcWoQo7Qo/oOuYHzK0DjbM6E4TmyQaAbPLRQnSEA4c4Q03Mxlz8jcTf0gCqLPbDkE7b+FU5roisj
qxtzXfq2LxKP/cP0Jro/nWBny7Ws4lCYdVfUdDepYnVYch1av9jEbdj0iY2lwctxUo/AI0V7fM7q
2xn9CAzReOT7c94mtqUggS9iKhx5fQ+CWp9Tj+El5+vV6VHMPju6SA6mrO/cWSfu53CFRoxDW20W
kEIrILwzYnTRhaZC5kV8Xwxso6mnEOU51IF9R8D5hAif7YKE70SUhPupLd9+cH727JDkj2m/YuFY
Dqny2hr5k4g+ejpW7A+c8DzMdJBmWH9Q73NizyW4cgAAAAAAAA==


--=-IaYcQAPuYM423gK5a0V9--



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 13:54:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 13:54:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260926.451215 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCiks-0003OQ-Gk; Wed, 26 Jan 2022 13:54:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260926.451215; Wed, 26 Jan 2022 13:54:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCiks-0003OJ-Dl; Wed, 26 Jan 2022 13:54:34 +0000
Received: by outflank-mailman (input) for mailman id 260926;
 Wed, 26 Jan 2022 13:54:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nWl3=SK=bombadil.srs.infradead.org=BATV+677f07704d1834417a80+6730+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1nCikr-0003OB-05
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 13:54:33 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7c3a075c-7eaf-11ec-8eb8-a37418f5ba1a;
 Wed, 26 Jan 2022 14:54:32 +0100 (CET)
Received: from [2001:8b0:10b:1:4a2a:e3ff:fe14:8625]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1nCikn-00BvJQ-7R; Wed, 26 Jan 2022 13:54: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: 7c3a075c-7eaf-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=0kGz1uxwG+NjmsHNHW3w9LKhbF/72BttGp1QfltuxsQ=; b=xpzogaqwoe0Ub+Q/WVfGuAADMk
	g0NfTAqAZR3ZE9rODtL5hLWR/ULgDyP/BnwAx6pct8RtU99Z49N+8B/sGrkKiF6guQOXZArv/jupw
	zl+v6g0hhr/pXGbU4B/LJkIA07u+uhuyW0PqmIAlOlC7Lpmt31ggweV3/e62UcW/hbFe9D8GshvSk
	j9WCXVhsNczAZn1hh1mcDXOJoXq9++Laj1HDmyn/MwkUu6v3Ta6y2OB0qIpQRMbJQrIehGcAWqEBf
	TfP87evwx5so1BjBgeC8cSCWPp8WTk5jUscOSnfbe6rL8Bc5wLdO7HTwxGdOGJLAeeZT/3qj5rMzP
	0IVX2+kQ==;
Message-ID: <4377595bf97c1e317b89411af31528d8f84b2b06.camel@infradead.org>
Subject: Re: [PATCH 2/3] x86/vmsi: add support for extended destination ID
 in address field
From: David Woodhouse <dwmw2@infradead.org>
To: Jan Beulich <jbeulich@suse.com>, Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>, George
 Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Paul Durrant <paul@xen.org>, 
 xen-devel@lists.xenproject.org
Date: Wed, 26 Jan 2022 13:54:26 +0000
In-Reply-To: <2e96bf2e-a31e-da9b-2f08-adfa0928e5b9@suse.com>
References: <20220120152319.7448-1-roger.pau@citrix.com>
	 <20220120152319.7448-3-roger.pau@citrix.com>
	 <2e96bf2e-a31e-da9b-2f08-adfa0928e5b9@suse.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-HN25Z4ZHyqur4Uak5VQO"
User-Agent: Evolution 3.36.5-0ubuntu1 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html


--=-HN25Z4ZHyqur4Uak5VQO
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, 2022-01-24 at 14:47 +0100, Jan Beulich wrote:
> Because of also covering the IO-APIC side, I think the CPUID aspect of
> this really wants splitting into a 3rd patch. That way the MSI and
> IO-APIC parts could in principle go in independently, and only the
> CPUID one needs to remain at the tail.

HPET can generate MSIs directly too.


--=-HN25Z4ZHyqur4Uak5VQO
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjIwMTI2MTM1NDI2WjAvBgkqhkiG9w0BCQQxIgQgSn9Xs/oX
QVLQ9ugqj5KPHbnnKuiM8lfZWD6GVLAASj0wgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgA99Z4fOWfrT9x96kBVci6Q8tpzVJkWj9O1
MmihFPnKdp+gwXlWuf5cdJ8cRAkZDtsRLVWBP4xtC1iRmjKGjKpLccxQ7jVOzUiwf6YLICrRf8NL
TyLqqhvTXb0RbV8TBMN1p1k06MlLEUw6HK6PUxnbF49XKe+LUk+Xz8GkgcowAmr6TDCmeq8B5reQ
pUAGu3+10NWv2PI1qnEl8cBTGMPdPNJ4w9qRFpXs1rk68pBv3sMPH4FPXYjYot2BAqyHxi+NNQ7N
foPsr+awlhX0fq29YpQFzyrcnlAI13LlTRyeXpJZvTKZyUait6Z/X7n8SZ7BDzQzNFK2P75oCjLP
TeZG3wn4clIhna3iubQelkqmHmtdjoSemsdVU3dTG3u3fIDLZ17gNRLJ73yUGUhWtt2I9nsYFZPK
FLI4ga6rB0CtUN+fcUR6UbRR+GP5jE4M26NAAyRsAbvGZoufXtvALf1vd6iifG4ebjIcJEx9ADTx
s8Aqc8J+jXbf1yxo8vZvkMETfEEXCJQc6Opc29o2SBy4I84CkJLmpaso9vW4VzfaD78E8hV7r9Vw
UnfW/oVtz1ZQCnc3bXfWi+aD4Z403SpQGwMASvpMiw1KkhRg8MUwcKozylvXMMLSvvb/VqUchOHS
PTAXwQvr+ywKCt0imwgKrmhT0Wgo37Bgq/Qky3v90QAAAAAAAA==


--=-HN25Z4ZHyqur4Uak5VQO--



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 14:03:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 14:03:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260930.451225 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCitO-00058r-Hq; Wed, 26 Jan 2022 14:03:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260930.451225; Wed, 26 Jan 2022 14:03:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCitO-00058k-Ep; Wed, 26 Jan 2022 14:03:22 +0000
Received: by outflank-mailman (input) for mailman id 260930;
 Wed, 26 Jan 2022 14:03:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nWl3=SK=bombadil.srs.infradead.org=BATV+677f07704d1834417a80+6730+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1nCitM-00058d-Jm
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 14:03:20 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b5fc5388-7eb0-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 15:03:18 +0100 (CET)
Received: from [2001:8b0:10b:1:4a2a:e3ff:fe14:8625]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1nCitI-00BwcE-FW; Wed, 26 Jan 2022 14: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>
X-Inumbo-ID: b5fc5388-7eb0-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=14LCAQR6g2sfAYPQ3Ts+seEcbooD5wNlTVYc4dop3jk=; b=ZPEyurtMtAVNmdBJLQryxApvKZ
	fURrNoSbg5uiU99mAsBjaDTlxOHAnVggIVArtOKd59gkUCG8D4bZOI3pM69nZ/kX7iXu/2qVLSXsO
	vQjWUau+0kKeBTOGArmWDJ9f9Q6QN4KsGVfBIyF+fGvFD6Vay9sELvNN32E+bPQJOzasm3zZQlodU
	hT4nCKNTaiTbHUCbcGcabPEiNd8RMY0vG6bmGv3HUyRqyjSE/1GU1+SfIjGmOLXlt4XlLap4U3Zkh
	bOVXupzpPIFiqh/ZEzObk4esNAXU+I/ohO4FQua48zpau32dvVXVzMCmBQAiiNNUSpqjHMhqirCFR
	pegOS9og==;
Message-ID: <fa654e41d5a40437cccd985157ebd453523df196.camel@infradead.org>
Subject: Re: [PATCH 3/3] HACK: allow adding an offset to the x2APIC ID
From: David Woodhouse <dwmw2@infradead.org>
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Wei Liu <wl@xen.org>
Date: Wed, 26 Jan 2022 14:03:14 +0000
In-Reply-To: <20220120152319.7448-4-roger.pau@citrix.com>
References: <20220120152319.7448-1-roger.pau@citrix.com>
	 <20220120152319.7448-4-roger.pau@citrix.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-lmecigeGvMTN2vOP/iY4"
User-Agent: Evolution 3.36.5-0ubuntu1 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html


--=-lmecigeGvMTN2vOP/iY4
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2022-01-20 at 16:23 +0100, Roger Pau Monne wrote:
> In order to test external interrupts using a destination ID > 255.
> Also start vCPUs with the APIC in x2APIC mode.

Do also test APIC ID =3D=3D 255 too, not just > 255. That one is
particularly interesting since it was *broadcast* in XAPIC mode.
It broke at least once in the qemu/KVM setup with X2APIC.

--=-lmecigeGvMTN2vOP/iY4
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjIwMTI2MTQwMzE0WjAvBgkqhkiG9w0BCQQxIgQg17FpUMpq
JfMPliN5f03laIdpZj4k+LdNCw24XdumX9Ewgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgBp6nUrLo9OT7tjCyOv9pw40GH60TLuMYGU
Gai/Zg2Ht1xWfkJqLmFh4WnLH2deVURhcJ3pFKfoZxc3Ghq8Nq6/r9dRxso5jkUoORcmyfH2XEnb
HxcHrn7QpqC+vVpYqQIllnerpFgHSPpBCsYCkxh7/roBQNvFi1YZDhZsVZSJbEPC5b5W4qURYn8J
iRcbvqJlXSvhom3kYrHGs+Eo7SikNejy6MteYzBzKUkT/OYedbL0vzq0jktXiGCwvYZ6WbiTmcdq
sxwEEJo/9UKWnzLYJwxQVd8FgH5SZfWoRTDULFDgz79ScD7aPVeF5zLmciyPLJx5VpFsjIp/T7au
cWi1KFxmSu9l0MHIlrtWaghaBfRnL24cUP2qvPNAMvI0uDvIkZZbKeMXQXIM5P+hZCZgLG4hNsIv
hOM/O86N2bgfpSXG6dGVK+E+/c6ebyOjsrJ3BKg2/hGjzAf0YaauqijoMJ9yZ57cOlgmDg5rMHbp
tAYzks3svkibT/YR0J0o1LThwFLrgIfHHvYljCNNJa3kPyH8qONTsIY4R0p8QKTf1Q0OOQ/cwO23
++DMMhQkGpRsR0LPRZ5Ue44iWB04q8x9gCROsHR8Wiangi0W6aulKHXYZMz2IWTPZmnAoBaKEzIe
dJVkPZodgTEGCmo6PJhYVcnBgBS1jndGZ5VV2spw2wAAAAAAAA==


--=-lmecigeGvMTN2vOP/iY4--



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 14:08:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 14:08:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260935.451243 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCiyT-0005xH-9Z; Wed, 26 Jan 2022 14:08:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260935.451243; Wed, 26 Jan 2022 14:08:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCiyT-0005xA-4p; Wed, 26 Jan 2022 14:08:37 +0000
Received: by outflank-mailman (input) for mailman id 260935;
 Wed, 26 Jan 2022 14:08:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OZ3N=SK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nCiyS-0005x4-4T
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 14:08:36 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 72c1fefa-7eb1-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 15:08:34 +0100 (CET)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2172.outbound.protection.outlook.com [104.47.17.172]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-11-1PVFt1BtNA6_bNIUPWKv5A-1; Wed, 26 Jan 2022 15:08:32 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM9PR04MB7651.eurprd04.prod.outlook.com (2603:10a6:20b:280::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Wed, 26 Jan
 2022 14:08:31 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.015; Wed, 26 Jan 2022
 14:08: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: 72c1fefa-7eb1-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643206114;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=MmZ1USskdLzeJF9Wk9MCWDo5Q/qi0RGnSUpeupKL0pw=;
	b=cEfPiGtMSeSEmPSyshphRMdbGY0iSwvQD+j7jfpbVNUskt5XevMwwlvUx7/w32naMZircl
	N1elIk//VQJVBVyWYkJe7+Jc7Pb2wsP4PMmvAlI2y7KJ/m025CQ4BB7cTT5JyzK6q6bnaY
	sf9SUqs8297DQR4d6DnACKWUYpvF1aY=
X-MC-Unique: 1PVFt1BtNA6_bNIUPWKv5A-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nuL50o/WvPkGXRRX7gDcoTf4MvPdUs03VO0Q7NjqqvZwtXMoFKY/ys/7VI4utZ23V5Zsyukl/mEZl2C5SCx7/3kbxw53YFBejuXuvHMMBl/STt/dVvHrjqLuhIEPJxxhAnQQm/BIELm2YA2CIgD5ij//JTB5l7uhHfYRyAq4R+ntGbt+atZbdCtupMTL2UYFbOaumkpyy6DpBXk4bmrvfPL+aGrQiBpGOLsjJSWIHYfmGgQGqe910QWwo8FbRDOGv7cYrq3UXMiBydN4Xbi5mIJS4Xp41CCGxLiVsiaJu15rtk5uNdWelTUm5nqZQJfafv1wTHcDqeVlo1DoAvHIuw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MmZ1USskdLzeJF9Wk9MCWDo5Q/qi0RGnSUpeupKL0pw=;
 b=BiMr9Mck8MYRDmuYKEXdqaMKzXnnbzn0YWCskfONJ/EicbIqkWkJMGWHuaV2765HHWuBAnC2S85JD9TZDjJJMc9qFUI3SdKG/oTXMoiXrD4rgBSOMpKqk1Pbhg6k//ZhpWgqXZhczkmi/mwZMmX6+tpruRMjp/LF8eJTac8U9ZzIWPuSXQKvFMRs80+o1nznPT69SvkU1kx4LzymC+q/q1hFXlzMTaYjB26Qhx93hR6cf+xoVyYUwCP16HE5GcYHCxIR+E1yj+sGqxgIzaFnkVIpxoI/Z2DAoU+TPgPrEBIciZpra6i8KHyRIp5IvyEoqxP/a+cs2KDgu1Ab7IPC2Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8537763d-2601-4092-f70f-1abbdd0a211f@suse.com>
Date: Wed, 26 Jan 2022 15:08:28 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH RFC] xen/pci: detect when BARs overlap RAM
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org
References: <20220126122648.52275-1-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220126122648.52275-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR07CA0059.eurprd07.prod.outlook.com
 (2603:10a6:20b:459::28) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ac27af11-13a6-4654-d038-08d9e0d554eb
X-MS-TrafficTypeDiagnostic: AM9PR04MB7651:EE_
X-Microsoft-Antispam-PRVS:
	<AM9PR04MB76515AD01D66CD44A8D929D3B3209@AM9PR04MB7651.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:
	mzHB33b85Z3/JqhGiWmD6/D4bLq2TBOklcrZt8b7ATe8fcPrYIj7zwu6j3Z5UeFnGlMcCt+Zq6Jj0+cI2MJFlpU+8rPvgZ6foHiCy9Ch60DcJsKLtGu1u+BTQwYwBl2QPMx/kD3du7CcGrXi3uT49GZA3GG8MPPtVXqPpoafGPm1M0Tn2nNaNX957mgSy3Sa+FgDSmZDSpL/0poKaJLnljD+umRaRwEYL6TOFn6p89Q4K10RePTZQL0gKhBjOau5IMqlQbvVONPeW4kZY0DLT/rRlwCuLoj2l6b5bMrbaAlk+LCxPDZFORLG/OXxYE2aUCZ/X18qz/7indaMCZBaMeTwmFfrkRAd2yUuWCagOcIjO4NzOWj5VjA4NqXH9j4OqhIslg2fHkWrTTBOmzE7cIQI6iO30+VN39zeap/99jGunnjgyhK8GBlT3CrElrFm7lFv94QeGoDrBvmRazkQ39otddvKK6QdnebWtDutWqC27ToYYvTeTkl0p31nS0/Ad87uDC3mSDZ0R05qUKNUBDNa6N6WDnzVPC/OTjn2sI46ePdZ2D4m14kzKuDcM4FCbtHCjEvk3FkHIAayLwgf1ZtRBNmuaGpbfeB8YCHD7rUfx1mecLmmHYagyjnhbnIh7s7/rMTmM06bTvRo14C7Wj6x6DPpzqgu7dJbwz5HXALHfes/NCkV0HiJ0iUVc3fzFBCPYZCZFxkLZ6EZreJhBr3p1YVLSQAlWJu43SbsghM=
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:(13230001)(366004)(186003)(38100700002)(26005)(2616005)(8676002)(66946007)(8936002)(2906002)(66476007)(7416002)(66556008)(31686004)(5660300002)(4326008)(36756003)(54906003)(31696002)(6506007)(6512007)(6666004)(86362001)(316002)(6916009)(83380400001)(508600001)(6486002)(53546011)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VEM3em0yNlB5S1F4aXJGdlNTbXgycnJEcnBsRVR1cnJWUmVLMDd1V1BOSWNF?=
 =?utf-8?B?RGV3WUpjYTdCcnlBYlh0Mm1IbzdhWXlwQlVnODFGK1djQ05yQ0Q4a2k3RTFz?=
 =?utf-8?B?Qm5nMkk3eEpvNGk5WFJVVmtvVkpJSEdEOXJsRk0vZFgveWJIU3BhaGJmejFV?=
 =?utf-8?B?a3J3ZE1oWnZydGM1T3dHMUowNXR2YjJTSzdhNE5IRC9adDU0WUIrY2hqQzg3?=
 =?utf-8?B?RUNIUHgvVm9Cd0tPbC85Z3JpV3FVNDV4SWxaTTVJT0NHZ3hMU21uU3I3TWY5?=
 =?utf-8?B?bmNjQ2hHa3VtOHFSQTFhVXRXZVorMGxWdWFJOXJMMENaZzhnUEcvTW50Yzlv?=
 =?utf-8?B?RjBvNmdDQjNkR1lpN0pra2JWbGFwZzI4T1kydjJhYktaU0RTMS9lT1g2cFpq?=
 =?utf-8?B?Z005bHdwNjU3dDMyS1RQTlZDWWlDazJFS3E2dTZwMW5xbVAyT1MyL3FkQm4x?=
 =?utf-8?B?TDE5aSswNEFzeWNSdmZ2MU1LRFYyQURFeFRDc1IwVndYNm5PS1JHcGVXaWMw?=
 =?utf-8?B?TWlyc2ZvRng1bHUvaEZQcjIyS0xhZ1Y5d2dXQk1BMG42ZWtRdlFOeTh3QmVL?=
 =?utf-8?B?K3ZieVVJdFU1ZnExSVlCTUs3d0RmWWw1SmwrWFBMSVg4WUVDaHMxMGdFZlgw?=
 =?utf-8?B?c0FnK3BraURFVFZuZEpIU0V5NFhTU2ZZK2RqN2xUMXRGOGptUmlNODNKZkxs?=
 =?utf-8?B?akovSUlGR3hmVERTL2F0cXVWR1JKR3BsR2xyR0xscDArQzRJcTBmeVFvVm8y?=
 =?utf-8?B?am5IVjRoMmZvZEoyblU0MTVxRHROVnA5dXJZZC91UHdYbkM4QWc4QzltMEhn?=
 =?utf-8?B?NERBbG1QdHdxVUpBcG1LUmZpclVRTmU1cU1LOU96Vk5EYy9IUFluTDNQcUlG?=
 =?utf-8?B?VjFpanJzQ25wdkFCVzIyUXgwbTMrUTVteGdKZ0RSN0xGb1BzZGZGUWZxbU9m?=
 =?utf-8?B?STJJVE1CRzZwekx6YWlLM0ZXRTVpcmc3eldwNkY3UGJxbVV2Y2dHaWt2d3lq?=
 =?utf-8?B?M1FGRUJQbVZ3YXczV3ZEY200cTN6T2xTb04zeEk1UXV2cFlqSmcrYk5Ld0tj?=
 =?utf-8?B?V3ZyQjFCbW5jcnEyVUdnL3hXZUtuYWF5aUJkZGljd29JVVpuVU1TTElPdjJU?=
 =?utf-8?B?cng5Q3p6YndFZHBSSzdGTThCTjBzcnZiL3ZML2VBS01WdjQzNHJ6U3k1ZWRD?=
 =?utf-8?B?WkdtUFBpTWVqeU4ybS9aYzJ5ekRRYnZYN2l0VXRBeHo3K00wcTRydHRDWCtL?=
 =?utf-8?B?S3VjdFVkR0w1R3Z4ZWt4b3VrSkhJMHJkUFVHcVRJMnBPZEtjNnJUSVpuOFZF?=
 =?utf-8?B?aStMWXpSN1VEK2owY1VpOEsxWjJhbUpEZG9JL2lKU3hoMy9MK2FXZk5VdE9v?=
 =?utf-8?B?M3hCcWpGcUltOTE4SGhTYXBSa2kyQVllL3NFbGxaS2xLSzhXQTYra3J6TkxX?=
 =?utf-8?B?a1A5aW1vZzgxMW9ldHNKbTZKaWdBT0MwM1k5L0Ryam00QXg5aFF4K0hLU0dH?=
 =?utf-8?B?SWhyWHB4WXRSNkx3cVlLRDNTSzR1dE44YzMxeVVUNmsyY2syWjc3UHo4aGI4?=
 =?utf-8?B?Mlo3aldlZ1A1RnQrcExackNnS3dPenpsT1NnTXp4aUpRdHlJalVodVVJVER4?=
 =?utf-8?B?TVUrUmQrNVZhTDZPZnVqeUNoRVgyQkVpekxQZ0FzTC82bGh6Z3hWNmVrcmZk?=
 =?utf-8?B?RFRCUmxsTHhyU2x1c2hhTnNhYmZLUEJXcjlieURSVEU5TnhtS1VrcmF4N1Zu?=
 =?utf-8?B?Z2xhQXpiSThWSDcySy9mMXRHdVE5SWw2cGJMSngvNzVNUDRNaEZ1TmNlVkFn?=
 =?utf-8?B?TEM2dWtaK21MTVk1c2ZRQXVwTnpPNXh3RUZlTlRQZThpdzBpQ1VkbVpuRjdx?=
 =?utf-8?B?WWc3MXNwWlhaUmpSSXVBQjFOd0lma3M4N1BYMUlSQUFsNmh4MVhpc2RlMlJM?=
 =?utf-8?B?YU41UFZPL2NUbzBqOW95VnJPd2hNbkNlMjJvV0NuWDFyeHZOaGNTR3BPZzhN?=
 =?utf-8?B?clE1VjNVckxBZHNNditSWXBvRDN2dnFxQTAvWEQvUnZVOVBlWHVMeU9BYkdI?=
 =?utf-8?B?OE5ndkVsNmdRVjFRc0R0c2UzcTh5MWwxTExhVlE0aGJFNE9BYVdiZFJla1ZQ?=
 =?utf-8?B?UVdJOGlvVHQwV0t4T2pRVFoyRlZHYlY4NkpOL2FuUnBLdkVRY0dBTGdCNGFD?=
 =?utf-8?Q?XF2L2s//rwf/lR2w2VkLUfE=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ac27af11-13a6-4654-d038-08d9e0d554eb
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 14:08:30.9219
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: d6K03TpZbSBWLLAeeXaTIuUKPLQfm1OHLEz+UhiXwAiqKBJyMwgv3iHdEDi2UX4QWxzt759h7vyNTh/lCrCriA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7651

On 26.01.2022 13:26, Roger Pau Monne wrote:
> RFC because:
>  - Not sure the best way to implement is_iomem_range on Arm. BARs can
>    be quite big, so iterating over every possible page is not ideal.
>  - is_iomem_page cannot be used for this purpose on x86, because all
>    the low 1MB will return true due to belonging to dom_io.

I don't see an issue there - if you were to us it, you'd end up with
the same scalability issue as you point out for Arm.

>  - VF BARs are not checked. Should we also check them and disable VF
>    if overlaps in a followup patch?

Not sure about "followup patch", but once we support SR-IOV for PVH,
that'll want checking, yes.

> --- a/xen/arch/x86/mm.c
> +++ b/xen/arch/x86/mm.c
> @@ -479,6 +479,26 @@ unsigned int page_get_ram_type(mfn_t mfn)
>      return type ?: RAM_TYPE_UNKNOWN;
>  }
>  
> +bool is_iomem_range(uint64_t start, uint64_t size)

Might be nice to have this sit next it is_iomem_page(). And wouldn't
at least "start" better be paddr_t?

> +{
> +    unsigned int i;
> +
> +    for ( i = 0; i < e820.nr_map; i++ )
> +    {
> +        struct e820entry *entry = &e820.map[i];

const?

> +        if ( entry->type != E820_RAM && entry->type != E820_ACPI &&
> +             entry->type != E820_NVS )
> +            continue;

I think UNUSABLE also needs checking for here. Even further, it might
be best to reject any range overlapping an E820 entry, since colliding
with a RESERVED one could mean an overlap with e.g. MMCFG space.

> @@ -267,11 +270,74 @@ static void check_pdev(const struct pci_dev *pdev)
>          }
>          break;
>  
> +    case PCI_HEADER_TYPE_NORMAL:
> +        nbars = PCI_HEADER_NORMAL_NR_BARS;
> +        rom_pos = PCI_ROM_ADDRESS;
> +        break;
> +
>      case PCI_HEADER_TYPE_CARDBUS:
>          /* TODO */
>          break;
>      }
>  #undef PCI_STATUS_CHECK
> +
> +    /* Check if BARs overlap with RAM regions. */
> +    val = pci_conf_read16(pdev->sbdf, PCI_COMMAND);
> +    if ( !(val & PCI_COMMAND_MEMORY) || pdev->ignore_bars )
> +        return;
> +
> +    pci_conf_write16(pdev->sbdf, PCI_COMMAND, val & ~PCI_COMMAND_MEMORY);
> +    for ( i = 0; i < nbars; )
> +    {
> +        uint64_t addr, size;
> +        unsigned int reg = PCI_BASE_ADDRESS_0 + i * 4;
> +        int rc = 1;
> +
> +        if ( (pci_conf_read32(pdev->sbdf, reg) & PCI_BASE_ADDRESS_SPACE) !=
> +             PCI_BASE_ADDRESS_SPACE_MEMORY )
> +            goto next;
> +
> +        rc = pci_size_mem_bar(pdev->sbdf, reg, &addr, &size,
> +                              (i == nbars - 1) ? PCI_BAR_LAST : 0);
> +        if ( rc < 0 )
> +            return;

This isn't very nice, but probably the best you can do. Might be worth
a comment, though.

> +        if ( size && !is_iomem_range(addr, size) )
> +        {
> +            /*
> +             * Return without enabling memory decoding if BAR overlaps with
> +             * RAM region.
> +             */
> +            printk(XENLOG_WARNING
> +                   "%pp: disabled: BAR%u [%" PRIx64 ", %" PRIx64
> +                   ") overlaps with RAM\n",

Mentioning "RAM" in comment and log message is potentially misleading
when considering what other types get also checked (irrespective of my
earlier comment). (Ftaod I don't mind the title using "RAM".)

Also please don't wrap the format string (also again for ROM below).

> @@ -399,8 +465,8 @@ static struct pci_dev *alloc_pdev(struct pci_seg *pseg, u8 bus, u8 devfn)
>              break;
>      }
>  
> -    check_pdev(pdev);
>      apply_quirks(pdev);
> +    check_pdev(pdev);

I can't find the description say anything about this re-ordering. What's
the deal here?

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 14:11:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 14:11:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260938.451254 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCj1a-0007I9-OV; Wed, 26 Jan 2022 14:11:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260938.451254; Wed, 26 Jan 2022 14: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 1nCj1a-0007I2-LI; Wed, 26 Jan 2022 14:11:50 +0000
Received: by outflank-mailman (input) for mailman id 260938;
 Wed, 26 Jan 2022 14:11:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DU/T=SK=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nCj1Z-0007Hw-DG
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 14:11:49 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e5230daf-7eb1-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 15:11:47 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e5230daf-7eb1-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643206307;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=O0VPRRIR7g94oQYfkrE2T0t+ndBvrkeDXsZBZcV8i/8=;
  b=hE7WygAonAVYTny1WaCS/MO9ATEklden2Isq0yV0Z3kHMyDmQnFZEsdV
   rjPUPmoOq+bKHwywttgZjKbd42hSztfhgXLw90C82mXtqiNJYIRMohYsR
   OXPxzMhMnKJyWbvSdzTmhBxYJD9/OWMJCzBkaq7IqCXJYRqoNTu1hoIaU
   I=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: HgXj5yys1vk28GxWA93o5P9/XUaCFluh9EmjtoUIivJByqn2+cpYU/nfPpLdBZ7301MNAyez6Y
 CuD3o90rDori6HBcDefvKf2hGXqsFOjz3MGrhXSH4pcXo9fejeYX/Yr8OA4yaAAozWuIw/7pof
 UQB0dX2Jc0pyhnGqMlA3A3br8edmWCnrCfltmIVa+eiP92nuvuzO7czZ6P1bj1lJqxTuAMfxdh
 zVQJ8m3JdF9tZRGd0PuYDqI91DO3c75+OKe0B4cgu4VDnnVae+24rYY+zU8e+N6qWP0JXdUn12
 wmLEnYV3k79fZWioJyvMNgov
X-SBRS: 5.2
X-MesageID: 62801743
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:29fG4KtWrkUFb9mduih/PZD9W+fnVLtZMUV32f8akzHdYApBsoF/q
 tZmKWGAO6yONDejfdkjPYvloE8CvpCAyYRkTFZvrChkEH5H+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZQP0VOZigHtIQMsadUsxKbVIiGHdJZS5LwbZj2NYx24bhWWthh
 PupyyHhEA79s9JLGjp8B5Kr8HuDa9yr5Vv0FnRnDRx6lAe2e0s9VfrzFonoR5fMeaFGH/bSe
 gr25OrRElU1XfsaIojNfr7TKiXmS1NJVOSEoiI+t6OK2nCuqsGuu0qS2TV1hUp/0l20c95NJ
 NpltaeBcj9xM4T2w+00YURcNio9P5AYweqSSZS/mZT7I0zudnLtx7NlDV0sPJ1e8eFyaY1M3
 aVGcnZXNEnF3r/ohuLgIgVvrp1LwM3DFYUToHx/ixreCu4rW8vrSKTW/95Imjw3g6iiGN6AP
 ZpBMGUzN3wsZTVuOXwXGYkdzd7xqSLWbS15sVOfl/s4tj27IAtZj+G2bYu9lsaxbdpRtlaVo
 CTB5WuRKjMwOcGbyDGF2mmxneKJliT+MKoCGbv9+vN0jVm7wm0IFAZQRVa9ueO+iEO1R5RYM
 UN8x8Y1hfFsrgrxFIC7BkDm5i7f1vIBZzZOO+0B2Tq1kqf92V2QL1pZShtKK94b6vZjEFTGy
 WS1t9/uADVutpicRnSc6qqYoFuOBMQFEYMRTXRaFFVYurEPtKl210uSFYg7TMZZm/WoQWmY/
 tyckMQpa1z/Z+Yv3r7zw13IiinESnPhHl9svVW/so5IA2pEiG+Zi26AtQmzARVodt/xory9U
 J4swZn2AAcmVsnlqcB1aL9RdIxFHt7cWNEmvXZhHoM66xOm8GO5cIZb7VlWfRk1aZ9fJGG1P
 BKD5mu9AaO/2lPwPMebhKrqU6wXIVXIT4y5Bpg4kPITCnSOSON31H43PhPBt4wcuEMtjbs+K
 f+mnTWEVh4n5VBc5GPuHY81iOZzrghnnD+7bc2lk3yPjOTPDFbIGeZtGAbfNYgRsfLbyDg5B
 v4CbaNmPT0FDr2nCsQWmKZORW03wY8TXMCv9JcPJ7fde2KL2ggJUpfs/F/oQKQ894x9nebU5
 HCtHEhezVv0n3rcLguWLHtkbdvSsVxX8RrX5AQgYgSl3WYNe4Gq4PtNfpc7Z+B/pudi0eR1X
 78OfMDZWqZDTTHO+jI8a5jhrdM9KET31FzWZyf1MiIie5NARhDS/oO2dAXY6yRTXDG8stEzo
 uP821qDE4YDXQlrEO3fdOmrkwGqpXEYle8rBxnIL9BfdV/C6o9vLyCt3PY7L9tVcUfIxyeA1
 hbQChAd/LGfr4gw+djPpKaFs4b2TLcuQhsERzHWtO/kOzPb82yvxZ57fNyJJT2NBnnp/KiCZ
 PlOy62uOvMwg1sX4ZF3FKxmzPxi6oK39aNa1AltAF7Cc0+vVuF7OnCD0MRC6v9Ny7tetVfkU
 06D4IAHa7CAOcejG18NPgs1KO+E0KhMyDXV6P00JmT85TN2o+XbARkDYUHUhXwPNqZxPaMk3
 fwl6Zwf5AGIgxY3NsqL03JP/GOWI31cC6gqu/n22mMwZtbHHr2aXaHhNw==
IronPort-HdrOrdr: A9a23:+3DDJq8U7OFyGmhPpW1uk+F+db1zdoMgy1knxilNoENuHPBwxv
 rAoB1E73PJYW4qKQ0dcdDpAtjlfZtFnaQFoLX5To3SIzUO31HYbL2KjLGSjQEIfheeygcz79
 YZT0ETMqyTMbE+t7eG3ODaKadi/DDkytHSuQ629R4EJmsGC9AC0+46MHfgLqQffngaOXNTLu
 v62iMznUvYRZ1hVLXcOpBqZZmnm/T70LbdJTIWDR8u7weDyRmy7qThLhSe1hACFxtS3LYL6w
 H+4k7Ez5Tml8v+5g7X1mfV4ZgTssDm0MF/CMuFjdVQAinwizyveJ9qV9S5zXUISaCUmRIXee
 v30lEd1vdImirsl6aO0EPQMjzboXETArnZuASlaDXY0JbErXkBerR8bMpiA2rkAgwbzY1BOe
 twrhGkX9A8N2KxoA3to9fPTB1kjUyyvD4rlvMSlWVWVc8EZKZWtpF3xjIZLH4sJlOw1GkcKp
 glMCgc3ocgTXqKK3TC+mV/yt2lWXo+Wh+AX0gZo8SQlzxbhmpwwUcUzNEW2i5ozuNzd7BUo+
 Dfdqh4nrBHScEbKap7GecaWMOyTmjAWwjFPm6eKUnuUKsHJ3XOoZjq56hd3pDnRLUYiJ8p3J
 jRWlJRsmA/P0roFM2VxZVOtgvARW2sNA6dgv22J6IJ84EUaICbRBFreWpe5fdI+c9vcPEzc8
 zDTK5rPw==
X-IronPort-AV: E=Sophos;i="5.88,318,1635220800"; 
   d="scan'208";a="62801743"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LgyPRqjRuTl8lDauI8OB4KxTKsC23Pb+792olYQZn+cacuF8hbcofzA/Wts9n/54JOnQHvWezvm/1ZK40RhElyMLvbOXOgBUQJIXaQ7Gn01MuIKjLNccfMMmbXu7kqyD6VKt/fywvpjZ5Ru3OoAiIVMJqFA++hQ/gMypncA+v/h6os5gJEd38D7tTkzgESy2FcTtQMr0xPRK6sUBw4pQpGricWU05ohP6pG0KtHZrk9phBaaho1TQQ57sJYZ8Tt1xTVBKEQDzk2zZB8f+UZj5+4GdY2G3j5GjAPIsOzlrrRwODqyiCJp5QCPvKRJ/ApcNr5RaFL+UuUUAzEmRvs0tw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=O0VPRRIR7g94oQYfkrE2T0t+ndBvrkeDXsZBZcV8i/8=;
 b=Fg0RIjRvFs1YFoiPS98IRcfWtqN89+f0KCdJH+kFf4KhRIzY24D87cnCgpd85LzRSr82jpa5eWyFu2eZuZXCFQDag61CRJyW1j36Z5nIKbNySFMffIkC/hDGNd+CFkAjPzEKna6LKc1K9Qo7ZB375GuF/S1rFXDv4DYVSDQP29/CQSe/Zh7G7aiwdaAiQJemgIewLuqapvOesTPIhzxdsuyeyHqeIG4FSbH0q6t9elWwmvSiPOUtOvVLeVguWYFRMr5Wnp270jiIgs9bWg6u732AzxqTYyEdnau6OtacmXa5rRobSYfclEkbowQBj2IlXu7szoQDGPeGTY9c8ymGFw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=O0VPRRIR7g94oQYfkrE2T0t+ndBvrkeDXsZBZcV8i/8=;
 b=tK6FQLJ6GZXUW3xc072ENacAJE1LMkgqecAY0k6yVtrW4oeLkvRRJ2LGGjZVpXbjsYhpOiE7x82vXL79xg45tkEBu2AhziNpkJ24OsO40UWc4mViRLqWZbPetz8DIpoDBzV6GFlOaCP83jgM5oCmDuy+cfAM/QIsw4TNp9T5p7g=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich
	<JBeulich@suse.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH 2/8] x86/boot: Collect AMD speculative features earlier
 during boot
Thread-Topic: [PATCH 2/8] x86/boot: Collect AMD speculative features earlier
 during boot
Thread-Index: AQHYEpEIIirjIKT/SEuiwA9Vczaqaqx1P8uAgAAO04CAAAK1AIAABtCA
Date: Wed, 26 Jan 2022 14:11:40 +0000
Message-ID: <963deb3c-5ee8-1d11-e315-8c0c9a1e0fce@citrix.com>
References: <20220126084452.28975-1-andrew.cooper3@citrix.com>
 <20220126084452.28975-3-andrew.cooper3@citrix.com>
 <YfFCLxnGDeuk/va0@Air-de-Roger>
 <0d457a94-64bc-bbd4-e7ce-59c3b1c1d2f4@citrix.com>
 <5de84014-b1a7-7ddd-70e1-9aadf0387ee1@citrix.com>
In-Reply-To: <5de84014-b1a7-7ddd-70e1-9aadf0387ee1@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 5e7a3a64-4bd9-417a-8a8c-08d9e0d5c5fc
x-ms-traffictypediagnostic: BN7PR03MB3668:EE_
x-microsoft-antispam-prvs: <BN7PR03MB3668805AF93103E2C75C7528BA209@BN7PR03MB3668.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: hBt+8b9heJK91kGwLN26sO2wUfs07wLBTO1Ix+sk3/Uf7J0kjjWnLlwEM/GvmSUW/68829G88bOuRQ5SMEobwdwv2S5Cf3+TbCUYUiNy/0BOkR6CFGS/paiQmvfBiaDlvNor6lhvtWcpd4ptiR37MDSJMOS0Q9JH5s2yFrtlbfHep+6CovYG5mY2xa77xv/JhUGkxsmG9SxdR0ueGL2FB1TJrQyHHXlQlf9g5TPcPnr+csT6ZGP0+ChWpdLO0NXEz6oD20LWO7c86HGW1Fg2L95GrATaffHdjql2wIbfLDkneTc4ov4diCb6hkpQ/4+aeBtO7k5Yyqajx5JHeEFjYUHpV4Z9QMgAEt2JhA3lPtgoC/Y6HfXvG2lzgO/6uBflsPuD0zEq8IlWEKOvgeaWqwwRK+FTJc12exFCyddx4zL9vJ1Wo9tjH8lxNXYngeOzxc4+Bmt/TUxhzs0iQazV5CmDeQdIz8UQUtbhr86y5fp5XzUaf3FILAHYVm98pdPhNrXl8aXwMuqQ67Hgh/A36jJ5LW67fflJO26z60150tfVLnU2dlLc+ORDqafaBXuRf0TW35q7vvuT5SyYBBZ88Y7KIFQ9NzbAC7YEqU23PWyTsN+8MmT/zGXSqgPoMz0tsYAST3JHfwJAgIJYNrGaiou2djJhmqekiD/F2UJoSTD9UzQpnCeMZXDwMw6gCssc/JnNp1ClYwikLaMJu8m5TZHjL7bGoXosKG6eIoaBQBkdHbmARsL+88zqQSdae1IxAMfPQ0t+9aGDUvWVITix3g==
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:(13230001)(4636009)(366004)(83380400001)(91956017)(508600001)(54906003)(37006003)(6486002)(36756003)(316002)(71200400001)(186003)(6636002)(66556008)(66476007)(26005)(31686004)(76116006)(66946007)(2616005)(64756008)(66446008)(82960400001)(38070700005)(5660300002)(122000001)(6512007)(6506007)(53546011)(8676002)(6862004)(86362001)(38100700002)(8936002)(4326008)(31696002)(2906002)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dU1VME9ienpuTEdGUUI4V255Rm92VlNBN29jcjhKOFYxSnVoaC95R2ZtSlpG?=
 =?utf-8?B?RUJ2L1QrVE9kTWRFM1laWEJLdE53eXcrL250SWYwWVpZUCtYbEdaVHcreDNx?=
 =?utf-8?B?MWtOVEI3RGE0QTF1eVZsRStGV3RmamlVK3p5ejl6VXpaQ050TitDWHVFeEtY?=
 =?utf-8?B?VU44c21rZ2hXQ3BBQTIxU2s1Y21UUm1VdHhQUGdVVlhSbU9iS3lsdVU4MmE2?=
 =?utf-8?B?VGNZYkYrdHR5bVZKaEpKRy9Tc2phcmVnVTBESUgwbVZwcDN0WkpORFk4a3Fj?=
 =?utf-8?B?NSt6MFlZRjlOWCt4YmxvZVJ6cmc3TzBhdGhDYXZTN0hxMUN3dHhubjVOK3hW?=
 =?utf-8?B?UURiakh0Tjh6M3phb3NGak12MXN0QlBCZW9GK2lzcHNoSVlVV1h5d21IU0RB?=
 =?utf-8?B?UlJOUThqN1FqL1FjS2NQTUJZNEpLVjY2dER1dnl3UUlreHM1OUwxVzlrM29Z?=
 =?utf-8?B?ZFhjNEFic0pPaXlKdVRrZm81b1RzWEdsa2srR0NuRVN2STBzYmxCUlVCeGlX?=
 =?utf-8?B?QnR1N2ticnJlcHpjMGViUEdKcWFwQzI4V055MWs5bE1qNlhoRVFKM3JHaXZK?=
 =?utf-8?B?My9DMWZjQmxibkpxWjdqTzJ0TEJpZUtya0pYekdSTWp4V0UvUkVFRzVQUVF3?=
 =?utf-8?B?ckxKWUZYNFBsVFg4cDZWekhFNEREdm55T3ZZKzJTMm1XKzI2T0Vna2ZrQkcv?=
 =?utf-8?B?REl1RWFrZSt2Y1EyT1UzRW1wOUFhc2hGOGUzRzhHb2RqekJiZG4zNjZIc3BK?=
 =?utf-8?B?dDA1ayt6OEpTN3U2QU5KYmluVDFwaXFhaFVwSTRRYjdjV3owbSt2Z2h3STV0?=
 =?utf-8?B?L1FYc3RGS05uR0J2ZFBLWW9WR1hMUEVhY05KV3o0YW9tNzdTU0hHTGRnWC9z?=
 =?utf-8?B?TVp4NzVKR29iQzNFSjVDcEhxWEd5WFlNSE9IODQ1eXppdEQrYnRaVVNQYTR2?=
 =?utf-8?B?eU1XY2hGWk1JbUp0SFBNcTg3c0NUbUNYYmVNRUxoaWxZT3Z1WkhwKzl0bEdy?=
 =?utf-8?B?ZksrdTZWaDdEZlA3Ty9LWnI5dmFhQm1Xb0NFUnBFd1lDNW5Wa05zY0JWUnA4?=
 =?utf-8?B?blk2OVNrOW9SbE9iYmR4SnlBRjgzaDVDb05kR3kxL2xEei9lRmFJTElaRlNu?=
 =?utf-8?B?OFpxajVlakZrd3R0K0F3QzBESGhyUVZjZHlpTFQ5QlJXVjdwNG9Mb0tBRktz?=
 =?utf-8?B?cStDeVJVVUxmdjFRVzBJakF6bGFkY3MyMjJNK29ldEIxUVlJdU5oY0lZS0Fw?=
 =?utf-8?B?S2xoc0pjQ3lEZUtjbXZ5SFlSWllEOTF1R2kwUi9ZZldUS0poZWlhZy9DN0dF?=
 =?utf-8?B?a3BEZWk2aHpLQk5WZVFOb1ZJY1BnWC9aKzRkK0xEUGh2R1hWbmM2b0tBME1i?=
 =?utf-8?B?enNQR2kvaEI2U1cvWWlxNTFNOFc4MkhlbFl4amk0VTA1NlFRQTBoSlp2TTB6?=
 =?utf-8?B?VVZvb0xVa0lzQzFDZkRmdlBZREtLeGN1QnZKL0k1YVZVbFpWblY2ZWdIc1FT?=
 =?utf-8?B?VWdMMzdkUmU1cFV1a2RlODBEWWpJZGFraTNaY3F3eVdkU3JDVVRqbWZYTkRN?=
 =?utf-8?B?VmFPby9HTmFBMmd5UXo1Y01zYWx6QjZPTXpCSHE3Mlg0L01CZnFXd0V4RHQ5?=
 =?utf-8?B?MUJLRWZzUFlFayt6WDA1cm5CTEE4R1ZDV2k1NjJqNVVBOHoxWG1ma3FFUGJK?=
 =?utf-8?B?alBXa2xQbmNFWU1aa0xwVm9LajB4aFBKY0tWcDN1dGZWN0Nka0I0RUw2WGo5?=
 =?utf-8?B?RGllR2tSS3NSbWorNE95VnZVZnRyeUhGRzdQNmhhYVVZb3g4ZkgrMTVMR2da?=
 =?utf-8?B?cHJtb1NkQW1TY1MyU1FGdGpUbEg2YU8xTVJuSEwyOVM0Q0g2UjY2OExpRWRm?=
 =?utf-8?B?TG5nQlpQNURUa2ZmUHc0a0NsdWpHcEJML0JJZC9kb2o1Wld6WDVXekxZVUZL?=
 =?utf-8?B?VnJmSnZkaW5yQTRNZTVHNVliYWJXRVB1QXg5L2luNE5WenFzeEpiTllCcFRi?=
 =?utf-8?B?M0VLSWQvcUd1WFdzMTB1Zzg1WmU5c2wxODM1Sy8yN0JOZzZLYmIrT1g0TE1J?=
 =?utf-8?B?ZnIyVXVUTWlnbHV6WmxBRVRzRnk0Q2pTQlBhY3hXSndDVjJ5aE9DZHcyVERp?=
 =?utf-8?B?Y1RMVzV0OVVWZENmbkI4TGc1V0Ezak1wTlNjNlk5WkFkSUw0ak90SjRZbDlh?=
 =?utf-8?B?aFN3THJHVUdZWmNxR1VZUk5adFBMVVlPb2M1cFh2eVNKbmpwZVlTNVpwOW9Y?=
 =?utf-8?B?OTkrUis3a0UrWXRlT2ZHZXJSc2JnPT0=?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <05DDC3687A886E44B6D1A2A9F5054068@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5e7a3a64-4bd9-417a-8a8c-08d9e0d5c5fc
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Jan 2022 14:11:40.2860
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: VDvz61I0SKrK6Z2nYjoHv92elTfV+057a1n8CnfWhgWFDPG/F7vSmM9bc3Qla/tLwPErH1tw0ZG3IR/VyA4+mZ0YeLZ5EdkOLxqdWCogums=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR03MB3668
X-OriginatorOrg: citrix.com

T24gMjYvMDEvMjAyMiAxMzo0NywgQW5kcmV3IENvb3BlciB3cm90ZToNCj4gT24gMjYvMDEvMjAy
MiAxMzozNywgQW5kcmV3IENvb3BlciB3cm90ZToNCj4+IE9uIDI2LzAxLzIwMjIgMTI6NDQsIFJv
Z2VyIFBhdSBNb25uw6kgd3JvdGU6DQo+Pj4gT24gV2VkLCBKYW4gMjYsIDIwMjIgYXQgMDg6NDQ6
NDZBTSArMDAwMCwgQW5kcmV3IENvb3BlciB3cm90ZToNCj4+Pj4gQWxsIEFNRCBJQlJTLXJlbGF0
ZWQgZmVhdHVyZXMgYXJlIGluIENQVUlELjB4ODAwMDAwMDguZWJ4LiAgQ29sbGVjdCB0aGVtIGlu
DQo+Pj4+IGVhcmx5X2NwdV9pbml0KCkgc28gaW5pdF9zcGVjdWxhdGl2ZV9taXRpZ2F0aW9ucygp
IGNhbiB1c2UgdGhlbS4NCj4+Pj4NCj4+Pj4gUmV3b3JrIHRoZSBleGlzdGluZyBsb2dpYyBzdHJ1
Y3R1cmUgdG8gZmlsbCBpbiBjLT5leHRlbmRlZF9jcHVpZF9sZXZlbCBhbmQNCj4+Pj4gc2VwYXJh
dGUgb3V0IHRoZSBhbWJpZ3VvdXMgdXNlIG9mIGVieCBpbiBhbiBvdGhlcndpc2UgMHg4MDAwMDAw
OC1zcGVjaWZpYw0KPj4+PiBsb2dpYyBibG9jay4NCj4+Pj4NCj4+Pj4gU2lnbmVkLW9mZi1ieTog
QW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4NCj4+PiBSZXZpZXdlZC1i
eTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+DQo+Pj4NCj4+PiBJdCB3
b3VsZCBiZSBnb29kIHRvIHVwZGF0ZSB0aGUgY29tbWVudCBhaGVhZCBvZiBlYXJseV9jcHVfaW5p
dCB0bw0KPj4+IG1lbnRpb24gaXQgbm93IGFsc28gZ2F0aGVyIHNwZWN1bGF0aW9uLXJlbGF0ZWQg
ZmllbGRzIGZyb20gQ1BVSUQgaW4NCj4+PiBvcmRlciB0byBkbyBlYXJseSBzZXR1cCBvZiBtaXRp
Z2F0aW9ucy4NCj4+Pg0KPj4+IEkgdGhpbmsgeW91IGNvdWxkIGFsc28gdXNlIGJvb3RfY3B1X2Rh
dGEgaW4gc3BlY19jdHJsLmMgcHJpbnRfZGV0YWlscw0KPj4+IGluc3RlYWQgb2YgZmV0Y2hpbmcg
YWdhaW4gdGhlIGNwdWlkIGxlYWZzPw0KPj4gSG1tIC0gSSBtYXkgaGF2ZSBhIG1pc3Rha2UgaGVy
ZS4NCj4+DQo+PiBCb290IHRpbWUgQ1BVSUQgaGFuZGxpbmcgaXMgZ2lhbnQgbWVzcywgYW5kIEkg
aGF2ZW4ndCBoYWQgdGltZSB0byBmaW5pc2gNCj4+IG15IHdvcmsgdG8gbWFrZSBCU1AgbWljcm9j
b2RlIGxvYWRpbmcgZGVwZW5kZW50IG9uIHhtYWxsb2MoKSwgYWxsb3dpbmcNCj4gU29ycnkuwqAg
SSBtZWFuICJpbmRlcGVuZGVudCIgaGVyZS4NCj4NCj4gfkFuZHJldw0KPg0KPj4gaXQgdG8gbW92
ZSBmYXIgZWFybGllciwgYW5kIHJlbW92aW5nIHRoZSBlYXJseS9sYXRlIENQVUlEIHNwbGl0Lg0K
Pj4NCj4+IEhvd2V2ZXIsIGluaXRfc3BlY3VsYXRpdmVfbWl0aWdhdGlvbnMoKSBpcyBjYWxsZWQg
YWZ0ZXIgbGF0ZSBDUFVJRA0KPj4gc2V0dXAsIHNvIGU4YiBzaG91bGQgYmUgc3VpdGFibHkgY29s
bGVjdGVkLsKgIExldCBtZSB0cnkgdG8gZmlndXJlIG91dA0KPj4gd2hhdCdzIGdvaW5nIG9uLg0K
DQpBbmQgdGVzdGluZyBzaG93cyB0aGF0IGV2ZXJ5dGhpbmcgd29ya3MgZmluZSB3aXRob3V0IHRo
aXMgcGF0Y2guwqAgSSBtdXN0DQpoYXZlIGhhZCBzb21lIGJyZWFrYWdlIGR1cmluZyBkZXZlbG9w
bWVudCB3aGljaCBoYXMgcmVzb2x2ZWQgaXRzZWxmIGFzDQpwYXJ0IG9mIGNsZWFuaW5nIHRoZSBz
ZXJpZXMgdXAuDQoNCkFueXdheSwgSSdsbCB3aXRoZHJhdyB0aGlzIHBhdGNoLg0KDQp+QW5kcmV3
DQo=


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 14:23:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 14:23:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260944.451271 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCjCV-0000Z7-0t; Wed, 26 Jan 2022 14:23:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260944.451271; Wed, 26 Jan 2022 14:23:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCjCU-0000Z0-Tr; Wed, 26 Jan 2022 14:23:06 +0000
Received: by outflank-mailman (input) for mailman id 260944;
 Wed, 26 Jan 2022 14:23:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8h68=SK=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nCjCT-0000Yt-7Q
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 14:23:05 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7858652e-7eb3-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 15:23:03 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7858652e-7eb3-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643206983;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=+kon9qELRuDG0TRSmcbo2LnjIpnT4/apDLLh+wvYnhw=;
  b=WuvS7xxBKygZja9cwfMfyB+iu0A89hx/0gp2TdyiaT0Ts+GaMc/EG3Lh
   Abq5YgdUR6vvVggqFAk1uzkOI/4Ls1kPrx9nzOgzJdsTvR2L96/DYLhBU
   dYMFYWZpNp7jm2GTYp4J2ZsCfmansTCjRqNBOWITCxC4IgVrUHcujNnof
   Y=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: GwUCZpHnzzXG9/yE04avBwFkBEEPcwrs7aCiWV5Cj7IM+V+G/BN8WkQy6qOdsEqiK+TyxMU7IL
 UvTAYA7NrafFy3t/p2JTxwC4ttHNPn2YjIGx9ZwCoXpaZhauf5xRxbX4VNTp8Cnd3kns4VV5h5
 BrZ9evM9AsKC1QaAj/by0zCWIuUN9lYye/shGDxfvwRLHtWL94DsfJ2bvng8Dcf+W2o1LxDJ7x
 /ArCLEtd6AqwD8VM+NFtHddVrQCGkHcwenzcwmLf1n6zo8fvkUz4tOfYN9J/5ch6ni0OxV5Ef6
 wsyGQvPpkk6KLXQLex5U5NGe
X-SBRS: 5.2
X-MesageID: 62801864
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:3GmO4q8XLeKi+99dDRMSDrUDK3mTJUtcMsCJ2f8bNWPcYEJGY0x3m
 zdKWTjSP6mCZGrzeI8nPNyw8UwBsJKBnd9qHQFp+CE8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7dj3NYy6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPh7x
 4tArJ6LRj0VEaiPxt8XUkRJCzpxaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguw5K8bmJsUHs2xIxjDFF/c2B5vERs0m4PcGhmdo35AQQZ4yY
 eI8ShpyMBnFRyFXJ1g+Jaxjub+IpFjgJmgwRFW9+vNsvjm7IBZK+KP2LNPfd9iORMNUtkWVv
 GTL+yL+GB5yHMSW1D6t4n+qwOjVkkvTSI8UUbG16PNuqFmS3XAITg0bU0Ohpvu0gVL4XMhQQ
 2QW5y4voK4a5EGtCN7nUHWQrGGBoUQ0WtxeCeQ25QiBjK3O7G6xBGIJUzpAY9wOr9ItSHoh0
 Vrht8ztLSxitvuSU331y1uPhWrsY25PdzZEPHJaC1teizX+nG0tphjAENt6EpW6tOHaHHKu+
 DqL8TkmnLpG2KbnyJ6H1VzAhjutoL3AQQg0+hjbUwqZ0+9pWGK2T9f2sAaGtJ6sOK7cFwDc5
 yZcx6By+chTVcnlqcCbfAka8FhFDd6hOSaUv1NgFoJJG9+Fqy/6JtA4DN2TyS5U3ic4ld3BP
 B67VeB5vsY70J6WgUlfOdPZ5yMClvCIKDgdfqqIBueim7AoHON9wAlgZFSLw0fmm1U2nKc0N
 P+zKJjwVi9BVPo7kGfmGI/xNIPHIAhklAs/origl3yaPUe2PibJGd/pznPTBgzG0E90iFqMq
 IsOXyd74x5eTPf/ckHqHX07djg3wYwALcmu8aR/L7fbSiI/QT1JI6KPndsJJtI094wIxrag1
 izsASdwlQug7UAr3C3XMBiPnpu1A8YmxZ/6VARxVWuVN48LONb2s/xHJsJpJNHKNoVLlJZJc
 hXMQO3ZatxnQTXb4TUNK577qY1pbhOwggySeSGiZVACk1RIHmQlI/foIVni8jcgFC2yuZdsq
 rGszFqDE5ECWx5jHIDdb/f2lwG9un0UmeRTWUrUI4YMJBWwodYycyGh3OUqJ8wsKAnYwmfI3
 QihHhpF9/LGpJU48YeViPnc/ZupCeZ3AmFTA3LfseStLSDf82f6md1AXe+EcCrzTmTx/Kn+N
 +xZw+ulaK8MnUpQspo6GLFulPps69zqrr5c7wJlAHSUMAj7VuI+eiGLhJAduLdMy7lVvRqNd
 niOotQKa6+UPM7FEUIKIFZ3ZOq0yvxJyCLZ6u44IRum6XYvrqaHS0hbIzKFlDdZcOluKIogz
 Oos5JwW5gi4hkZ4O9qKlHkJpWGFL3hGWKQ7rJAKRoTsj1NzmF1FZJXdDA7w4Y2ONIoQYhV7f
 GfMifqQnalYy2rDb2E3RCrE0udqjJgTvAxHkQ0ZLFOTl9uZ3vI60XW9K9jsoti5Gvmf799OB
 w==
IronPort-HdrOrdr: A9a23:O9YQBKn+9zhLYT2x1yKTYwhaoV7pDfPOimdD5ihNYBxZY6Wkfp
 +V88jzhCWZtN9OYhwdcLC7WZVpQRvnhPlICK0qTM2ftWjdyRCVxeRZg7cKrAeQeREWmtQtsJ
 uINpIOdeEYbmIK8/oSgjPIaurIqePvmMvD5Za8854ud3ATV0gJ1XYHNu/xKDwReOApP+tcKH
 LKjfA32wZINE5nJviTNz0gZazuttfLnJXpbVovAAMm0hCHiXeN5KThGxaV8x8CW3cXqI1Su1
 Ttokjc3OGOovu7whjT2yv66IlXosLozp9mCNaXgsYYBz3wgkKDZZhnWZeFoDcpydvfo2oCoZ
 3pmVMNLs5z43TeciWcpgbs4RDp1HIU53rr2Taj8AzeiP28YAh/J9tKhIpffBecwVEnpstA3K
 VC2H/cn4ZLDDvb9R6NqOTgZlVPrA6ZsHAimekcgzh0So0FcoJcqoQZ4Qd8DIoAJiTn84oqed
 MeQP003MwmMG9yUkqp/lWGmLeXLzcO91a9MwU/U/WuonZrdCsT9Tpb+CQd9k1wgK7VBaM0ot
 gsCZ4Y5I2mePVmGJ6VNN1xMPdfNVa9Mi4kEFjiV2gPR5t3ck4klfbMkccIDaeRCdg18Kc=
X-IronPort-AV: E=Sophos;i="5.88,318,1635220800"; 
   d="scan'208";a="62801864"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VenB/nHGhBy8dosTD6ST+xZ50zFeOCcsAFwz0zE4v6NcuVzB4D53UFKDhKLaNZ6Fk551kdCKJXJBYiGpc8v6JAs+NSzNDlKESLN49w9GV15q0jleJpjPuWwBOxmHuTSZwo1jQxHyTvS5/4ewtHgWbn5zyVtfw6dZ3+ViT1WyIniSzvLkG4yT16iwd8sLgl/UlPMNp7aplitauv+BJ5Gikb9EGxAjV22MgJ+77ESrviul+SIJymrNRf3etn7krYUstl3eLQkJdorBAvAy8CN8OgqTKgZXCZsUxhJ2oiOEN5/yUXrISa+5rFJbwOhMVDgMqlV/kNqU01n9dtBvG/VovQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ybozYoBvp0zBAnFXuZmtXVpEzxgUtWMhfizZrmN+e0M=;
 b=lTNlbZ14sdpoXeKs1n8j9oE547npS7oDzAiq8Aj9m9QY+eR41xCXtu/xsmE3HeidRTIMSETMYtfZ5uuTCf+7tZ4SDohMmQIgx4aict6NyiRJ1FOc0DI3pbxfJEe/1atOZoBBic5OMEG7vVU6pge20mgkO8JT4hInc9HcLB9mPwijSiFiRAyonQ0JQvUr9yDaJuqxFhQ+8+oE/MVYKPeK/3pVJ0UpnF5NYh/f1vh5UWJtmfAKOo38p21UVoUU0Zu8Ebk4WUVkSqqqsp3nZFkTPs36UOgdE6i5TvTzp5FeRp4BAajxse7Lz9ZDBkLAY+6VFCByhlslyPR0yiNilHhuNA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ybozYoBvp0zBAnFXuZmtXVpEzxgUtWMhfizZrmN+e0M=;
 b=eweE0GJbBR64bzSdVdD21AF8HWI1zQF7rp6QPcWiPPIT/W3CzvHE6kphGO/8YhweU9JmT4oWUQuvtohmkYY/0kIgEluVtAI3wT9Bo0P16aO/uwq+RvNRJeJ6w2jQGJBFdeBrV/bhJMifimmNPQ7W5KSVAfxoCiFKRttF8kruZ1s=
Date: Wed, 26 Jan 2022 15:22:52 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: David Woodhouse <dwmw2@infradead.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Paul Durrant <paul@xen.org>,
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 2/3] x86/vmsi: add support for extended destination ID in
 address field
Message-ID: <YfFZPCv4hTt51Xqd@Air-de-Roger>
References: <20220120152319.7448-1-roger.pau@citrix.com>
 <20220120152319.7448-3-roger.pau@citrix.com>
 <2e96bf2e-a31e-da9b-2f08-adfa0928e5b9@suse.com>
 <4377595bf97c1e317b89411af31528d8f84b2b06.camel@infradead.org>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <4377595bf97c1e317b89411af31528d8f84b2b06.camel@infradead.org>
X-ClientProxiedBy: MR2P264CA0049.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:31::13) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 91f4a06d-1314-4c79-7ff4-08d9e0d75a58
X-MS-TrafficTypeDiagnostic: BN6PR03MB2961:EE_
X-Microsoft-Antispam-PRVS: <BN6PR03MB2961E809F45E6D2CA2BFC8B38F209@BN6PR03MB2961.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: S+9+4jyTgDB0sQLMjDOHfWC1rc1KyGhZzjJTygXvAWDgkaJlPfa5FALwyzWZLNZ7XUXPgCB+hwx2h13ovBx/aq+czuoXjt7qd/eZ2Ohg/shqjtyGX1qU/9tQkZCfsdq5nPe5XMnRja/IZ+7JGu8HIVC/C1Lz6p89UbR+v54CUZi4Wl07Bmqzq1UOvWnEmmDMfeoc/ntXcmQnFpD9BC98u9kRMvt5CVkCEJiO032cdx2gfBxvjHkP3O4Q73qqImrzBLK0Rcgq8GEDbu/V41WhcmX3qpuKD6Skp8XKDVlMRz30EPWbfTr+4QkblUfPsImKUyYR9IoTL3NMW5tXeQwvrHrP+L4+3CXNY4JHMUEyekXcaG4jOGjipMqRlhYps+KhkRReXG9rWrsFMTQrGRDiZVCh1W2E0v6B3uoO2iJv99ZSs0UyvJtMhN0bEH/hCuDl3HgmxXuE57DevNzuH+S2qzzlukJI8AfDVfc0oX/lnykOkbDAbwGNI0EmoPrO8ubVW9S5o/NnqjxybUmYyYWRqVTrBmKsI/gh51owlsXgoB+t9gCmr9djU+Bu3reVyXfBL4oqDkoEnMzZnQLg49V35U9zVRgbv9eDWaTrFn7XA0N8SEe0nFYr6WHbH+OY5dycZXhFXmFzPRs82y0w6QfTDg==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(2906002)(4326008)(26005)(54906003)(186003)(6666004)(508600001)(9686003)(6512007)(66556008)(66946007)(8676002)(316002)(66476007)(5660300002)(8936002)(6916009)(4744005)(6506007)(6486002)(82960400001)(38100700002)(85182001)(86362001)(33716001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZWR1bnJ1cVcwQ1lGaktOMGxsd1phUFM2YklKSzl3VHlROHA2WU1hRjBDUERm?=
 =?utf-8?B?dWtVb0p5NHBBWjIvRkhRUDRsamxpQjdBMXgyblFTZUV6SVM1SjBkUTl4WDgv?=
 =?utf-8?B?WWV2dUZBbXF3MFhMdk5MK2tyemVBUEJUU0VjWXNUZjBQWlVUaVMwclJ1VnZG?=
 =?utf-8?B?NXVkOUFQbWR5N1I5OG9MNS9hTStiOWMvcXFwL2QrbjdMVmE4OTlwMUUwTzIr?=
 =?utf-8?B?WWQvRVNCRUpaK1hUS3haQ0ZMdjY4ZWFrMmRLQW02Zk1lTkRUaFNsU0hTdGRU?=
 =?utf-8?B?dmJnNVFCczl3bnNMd3R6RmJEdkl4VjFxaFpJTEJURUtjQ3gzUG9RVEhMalFm?=
 =?utf-8?B?OThMVXhvTU1vQTBzWDVCejRwK01DZG5YVzJKN3R0N2o2UDl3ZVJhZVlueDhh?=
 =?utf-8?B?TUhzQmRZK3FOVnQ1Nmd4enJyQ01Wc1hMYitDcDkrMTAvdnhHMXF2R1p4Sll0?=
 =?utf-8?B?L08xbGhnM0J3TEU1TmpGR0syM2p6Q01zZkxQaGRyaUFmSWJRaUZqUEE5bFhI?=
 =?utf-8?B?UWxVYzBLTXJVYUdySWJ6WHBEM1ZkcVFIQVdyUE8xNHE1OWxXbU5jdUxGYllr?=
 =?utf-8?B?UkczYUdLZlB5bTYyL1JFeisvZUlCd1F1dC9CNWNlSXpMMTFvcHRkSkFGTEFv?=
 =?utf-8?B?OVA5dVowbUNnK21GQjVYR0N6SHBqa3duUWFQMTRIWjlmeWh6VXExY2hWZ0ZZ?=
 =?utf-8?B?cTh5cHQ0VEpYM09pdTdsZkN4WXJEeW5oVVlKc29mcGhiTWtCdUtFRjBuY1BI?=
 =?utf-8?B?MVRNNVFvQy9mR05GZjZob21zakZhenNLUUc2QmlXSWpnTU02SVc1cmpxN0dj?=
 =?utf-8?B?cXFTR2V4cEk1UEJ1VTRUTEc4R1YvZmJvb0grNC95Wk8wTEI0N0s3OStHMW9X?=
 =?utf-8?B?MTdOWnhSTi9SaDlVT1FZNGEzUU85R1BQY2FXcVFJYi9CM2xJUHUrYkplQ0RO?=
 =?utf-8?B?ZWJPb2pZekt6L01UbFZSR01HeDJCTnBBNmQ5dTFxVGtmQkpxc1F3NzMrb252?=
 =?utf-8?B?Q3VvOEU5Z1M4MmU5UldFcFE5ZFNZd0ErdDNzOVhnU1R2RFdNakNRdW9CMmxh?=
 =?utf-8?B?ZmJtajhNWUZMWmU1eG90QlhFdUxaWjFLdHJOSWdBbE80Q085SDZ0WnJLNlZl?=
 =?utf-8?B?bGdqZGxxM0oyRTJDMmVzeFdLNUR5UTlNa3l1R3Z2L1R4L2M2ajNobTFKd0hG?=
 =?utf-8?B?d0FUaFNYU0pjWlFQWjRyZTdPQWlES2dsS3VHdzNyYTdKV3V2M2xQY0t0aUVp?=
 =?utf-8?B?ZDl4eXRUdjVacnZtMGV2ZldReXNsN3JZOTJDa2RxU01qUFdGWU50U0NSczZo?=
 =?utf-8?B?eml4Y2dZVFpjQ0lNbk5BQXhIakVNNktTNWpoWjVIZkdvUVdCVmlEL1VoWUhy?=
 =?utf-8?B?ZEFpUzdxSk1TKzNCWGZnd2lwQnREWFNzWFdsL0dvYmZ0aTZOczg1WXZITmJJ?=
 =?utf-8?B?OC9SQzM2OVN1UTh5anZIS1JXYkMyNTE1VGt0S2hvTmhEbEh4OHhWdk5VR0xF?=
 =?utf-8?B?Uy84SGJDa0I1SDlnQVRKTVRuKzRteHd2N2N1MDQ1blZac0JOMDFlaTRzYnBY?=
 =?utf-8?B?Ym5VaVR5KzM4cmQvdUlVZjJqOS8rYzFqQjlNUlRvanlPRDlTUVNHOTY0cVJr?=
 =?utf-8?B?OU5NeVNvTkgvaG92QStaQnRPczJ0NS9iMWJEeDBsRTRpV25vUmIrVFlsb20x?=
 =?utf-8?B?K3R6SEFpcXRqckZuS0ZvY2N0c3VrQ2h4SGFHNFFGTHBCTFZxU3VkbEVDelc4?=
 =?utf-8?B?ak5yVEZDaWU4TksyUHhnUmtIUGJDT2pNOGlVS0t4UnpHdFJxZXIyV1lRSDBY?=
 =?utf-8?B?OGJxc0l3TGI3SDYzV21zYmkxa2h5S2FYM1ZweW82MzBvSGhGVnJpTHRmK0dY?=
 =?utf-8?B?YlFyTjBRUXk1djNNY3RYWVE5REFGS0trMEQ5d2dFTHM0b0ZJSjUyTzFHaUI3?=
 =?utf-8?B?dGo0a1ZtMlJUSmVoQ3hsVjRtNHRSQmFrc1M0WktTSGF3Z28wV0RPNG9lOEsz?=
 =?utf-8?B?Y0N5WXkxb3ZHMXFHa0lxQ3JzRGpGZzZhOHhCTGFOS1BoYzFHcDg4akpuRWNy?=
 =?utf-8?B?SXRDaCs0S1c3QVp5MUJVMDYwMkVYZUpRM0lscFRkNHlyWmtpeUJ4VndzZk14?=
 =?utf-8?B?WnNuREo5SDFnaDVwUExZbzB0NHl5UHQvQzBseW1EVjBZei9FT1M5ZDZIYmVK?=
 =?utf-8?Q?UijFayHMlnzX1Zh80+w7PQU=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 91f4a06d-1314-4c79-7ff4-08d9e0d75a58
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 14:22:58.9425
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: idYdN6EqUPu5iZu1Rzpd/2Ca9/4ipO7uuw0Lm6uOYQIkM6W9L2Z7nqPo27E3Tv8ZayDCRDfRIS67UU5zE2chFg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR03MB2961
X-OriginatorOrg: citrix.com

On Wed, Jan 26, 2022 at 01:54:26PM +0000, David Woodhouse wrote:
> On Mon, 2022-01-24 at 14:47 +0100, Jan Beulich wrote:
> > Because of also covering the IO-APIC side, I think the CPUID aspect of
> > this really wants splitting into a 3rd patch. That way the MSI and
> > IO-APIC parts could in principle go in independently, and only the
> > CPUID one needs to remain at the tail.
> 
> HPET can generate MSIs directly too.

Indeed, but the emulated one we expose to HVM guests doesn't support
FSB.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 14:23:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 14:23:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260947.451282 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCjDJ-00016X-BW; Wed, 26 Jan 2022 14:23:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260947.451282; Wed, 26 Jan 2022 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 1nCjDJ-00016Q-7i; Wed, 26 Jan 2022 14:23:57 +0000
Received: by outflank-mailman (input) for mailman id 260947;
 Wed, 26 Jan 2022 14:23:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OZ3N=SK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nCjDH-0000Yt-RR
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 14:23:55 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 978e4185-7eb3-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 15:23:55 +0100 (CET)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2172.outbound.protection.outlook.com [104.47.17.172]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-23-9KxIjXVWPqydTSs66X5KZg-1; Wed, 26 Jan 2022 15:23:53 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4768.eurprd04.prod.outlook.com (2603:10a6:803:53::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Wed, 26 Jan
 2022 14:23:44 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.015; Wed, 26 Jan 2022
 14:23:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 978e4185-7eb3-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643207034;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=vdb1dxNEwQaFi2SDKw+kCJTaliH3z8aVddH2kwCDr/0=;
	b=ah/uE07shsgnFSbwcjjDoNQk6m7BrHqWY6FVHM9d83HuRJdjIEXXHwUPzLR2Iy22MniXFz
	5wqwdYjRDKA67KabpvHnYX2EyVR72T1sJ/duFRenDAUSRszc3fwaxGSyM3oJkdls0NG0d7
	yFISnfrmpwOtua2H0f3iK/YfxPAp3GM=
X-MC-Unique: 9KxIjXVWPqydTSs66X5KZg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aCciht/pRBsKppdtHh9Zs3XlT/ND+80JsqOmZiEcaJHB4bXEnMKbthkmsu7PLrjdmXrwmxg7MKR3iNXhQ7eUh7LWnDPIAb+YJF+gBux1iI8tHoZolQ3ZQJTDFP8pZaxYbstVe+UeKPz0FUbLjZ90zQqJEU2Jl8Kk8z/YN8DtHGFyttcpYEfG6NNIbumteClMKLl5CXXqxV3o3iKMRc5JoavY7Ra6CcR/RQWvoJylSxt0AR9QMGpN3SUXvfeJQ2pdpEzh/VW6zbmfcwYZlaVtROeGoITDMcKAiyPHD+/1brrahul9TWqHIwX13wWhGLCOB7jSoTFcMUirv498k0bXRw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7EQUvQO52vUIc+P+KFB/8Q4U8OUxQ8stHr3t3oQUBB8=;
 b=ZIlRZDseG0OyzMd+NyaGt6WdnJ1Jsw51NfxsvNhFeW5W+S4SHuvsztf+G9TJXNCHgkSWZExofxgIBSo56k7tfZgqIvpbd3keIj7AKRxfzfWvLCNBZQk/PRaRQqrdrx1qu4T7atODz6uHFkNMEr/rogYdQOFYH+n5o2rJ83YuULleXKMtzl0HXGKgKQZ5nTf+yjuN0pjTSamlwk4a8xx68A/IYkl9HdnJ1mqaskDxhOTVswLAN2GIFwb5e6UFVLd06RkZeXqMQ1LhrmhbrkmdcvjCX+FgIx1diW+7tyr+MPI6B/EeEaRxrZPg4wDm3Dfd00Xn3m6fzZqOG0MLagPc1w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <21e443f7-ce72-af39-587f-6e40e72625a9@suse.com>
Date: Wed, 26 Jan 2022 15:23:42 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 1/3] xen/vioapic: add support for the extended destination
 ID field
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>
References: <20220120152319.7448-1-roger.pau@citrix.com>
 <20220120152319.7448-2-roger.pau@citrix.com>
 <5f8d332d-1bc3-af71-27ba-a4ff7b6e9514@suse.com>
 <YfATkz+nse45Vg3C@Air-de-Roger>
 <a984ffd4bbadb1cf550e7a980f81db250b3b69c1.camel@infradead.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <a984ffd4bbadb1cf550e7a980f81db250b3b69c1.camel@infradead.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS8PR04CA0200.eurprd04.prod.outlook.com
 (2603:10a6:20b:2f3::25) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4915faec-b79b-48db-2fb8-08d9e0d77597
X-MS-TrafficTypeDiagnostic: VI1PR04MB4768:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB476868B5C6BDFA64299E8F74B3209@VI1PR04MB4768.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:
	Qvs83qtlvwUS6W1tm8RMy6Wq6h9KP2jtMLIIY2m5bBoHZOpfoS/p/03FM3z58sIxasKuolDxMBBcjN655dfB6jrmYjK6e6v0CXwdzi4pXPaotH63j3QN9s1iI0m0kj/mHqoQCZCKt5S3CkzzHafPlM+82u0r0n0OzcqwcgXOwJwD7GKslPAfKcAIhno60fpRQg04t2mGgK/c12CVm0nGTIdWf8Mmd8YC4PTBXmefRLdUXT45/HtfbEISBqc/S4lOBUuOoBKl1Tad8OqYUbOmj1jWJAVy84uFW+3sXBK29qqgVgihbmJbflBByCBeIVKGBLGyb4BIxAbooklnPeaZRAja4LSCUitRhA98e6tt7vQiRMzd7wkvazF0cbtBAdQTQ08yMSJ5yJGUqSfAjst99i1MAMHmN7v3ldEsIeRDQbAwrwjKDk3socyle5Xd0BV5TPfB73qYn/jixqUaTLgLYYkk0mD+vQfMr4WZRcPTTCzUg6/bom34P//Yl1wGU55M19AcpFc2vyRAC1vSjpyY+oJTXZ7PmujM8wYzCWwSabHRERTMGXl17GHf2acb6wowvqmg4pjGQPNlwC2/VRSJP0gR/1HdKWNMz3C1M8LCqo3PbSFLbTkOGXN8FLMcNFOuCBIMt86PxWcH0ITwF0lwAO8OVyHZv2p0vf8xk6VkPXFoDupMuOAHH4dRKmD6iOiIXSzyzHH3xN9MFAS4XIv/QHeV8x1GVe3yXTZiC4LK2Jv9TOqCH6CTl3hoHAjOuCFCkGQaGmt3B2mohTvkhEmoRHoYTMDzkS7HvR+BdZARwn7ZEeO0FDiCwimxkURyjOfu1ZupmSsnwmaMAR60whmrWazJVh7tGmA7/ycqVuRojfI=
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)(45080400002)(36756003)(4326008)(508600001)(8936002)(66556008)(2616005)(86362001)(66476007)(31696002)(53546011)(6486002)(186003)(2906002)(54906003)(8676002)(38100700002)(6506007)(26005)(6916009)(966005)(6512007)(5660300002)(316002)(31686004)(66946007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?ewvWpZCmPG+ltmSTWqVfmrFUOpJL6a5lvF2dprct19ohxl5xDhUXpJ8+saTl?=
 =?us-ascii?Q?IIczq9F08AMVB/jWHRaZlG7NcHVjH1yPsKrHgE60e/nqbt3kA+qNPpwO5bB6?=
 =?us-ascii?Q?7aLf53fFEU/sFYQ4qb4o8LJLiDVlbhElCpZ7aBHjjUOUyBk2a5J5LmA8RmB/?=
 =?us-ascii?Q?gzgbvB87mfJmXmsn3Xst/a0x/pEQRJvCEQl+cwHhfc7bu35y697Y5rxz8Fyp?=
 =?us-ascii?Q?2/VlVqB6+JFibWtcoAZgEkQbNiTIxod9xU7yREAfw/GH8bRrvQJh8VxA4UTL?=
 =?us-ascii?Q?70iSYUCnPbjOwyKSNK/S1hmRfnNvD2XnpwuhCn07hrQZ6mQETmlzAkX6YPM8?=
 =?us-ascii?Q?HV9khloJDd9iVc3WBIBFe/d31fe5MwVEv36/2/k0dFqA1/9mIuIL7jQTZ2Zi?=
 =?us-ascii?Q?7HILuHQGtnIL5ACk5xoHIod8+S1y4S9p82mIf/llWoHZJRFg+FOtf9fYI+Ob?=
 =?us-ascii?Q?LE89uNr/svc8Ops0TvDHwYbdRNTzZPX91R+haz9a8t9L7Aiwh7yryfw6yOzV?=
 =?us-ascii?Q?guFEHloazWc5F4ANoXMwTOfsBUB97pZrxuLq14kSCmwXTpmg8not/AWtyY1e?=
 =?us-ascii?Q?M++RCqDg4kIO5KY5AoDkIkhzHe3rxq3zxeMp5AEUphenWK/W5yH5X4D5sX2F?=
 =?us-ascii?Q?7fWfjT2NtMsOlM9396HBW8ni/V1j9xwqdJkxHzXGw81+xdy05RwjMxDZqgzX?=
 =?us-ascii?Q?WyZhAw3kIuFDKIJNcd27i+ouAwJC+ezHIEj8x7C6aUuCgIz1w9YpHOMzw4Fm?=
 =?us-ascii?Q?tyDhnhqOSlfZJz2OHEdU5urLAPjRrA7LLvG1T9Au+mej8iVXRsZz/qdFu2Hq?=
 =?us-ascii?Q?jR59/Xy9ONziEiTFdUxXxuLn6OE+r+dnKUUN++AIkfWRDgON9KW6w94wIVov?=
 =?us-ascii?Q?P0OeeQX992MEGsDUgHaVdXrpU22vVyxAyRHTzWblwGps2XnzD2ayL0fioi1B?=
 =?us-ascii?Q?5+XIHaOTXB4hKDifD4G3NsaL177vAtw2S3Pkbrh0ue7e5PZZ0sZ0X3GWDncM?=
 =?us-ascii?Q?WxVeEYyMraPe8kraXdXQWhRb9WFc6SkPuKDpgUUPnuNRWoVKZQhXsdBTnNvM?=
 =?us-ascii?Q?4gi3AeGS5TaSQTx4rO9WnsAfgvVxx7X4F3BN5bzjodkYQzfrVwhggt6G2GmU?=
 =?us-ascii?Q?Y+r1MxKB8+YBUrFBMZhdodV+pxxlIL4Cj/D6jlZ0zwTlE8aOK7g0+AlW7TDI?=
 =?us-ascii?Q?QC54wM97UhipbHuxWd1klTvikV7mPIeQ+AIE2XCTLU5nrJ6rkP4Wpf6dT+k7?=
 =?us-ascii?Q?nnt+AbODRjdaEbHV8BRc+l+lbxDPj5sP0qzvb2A6qRA5Zf2iY1vB042qxd9m?=
 =?us-ascii?Q?5bz8qkkipnddBcjcc5TjQ/jugGKTPXzNS8BMfkBLFkqir3c4x5byfdhX9Yf4?=
 =?us-ascii?Q?AGb+8C57jClJtaZssAARQv6jSE3Iqg2XwxK8uZGIk9mpqAcp7F3PGG9HVOcw?=
 =?us-ascii?Q?JMJ0qjl/zY+FMvSUJywh6Vvn0QT6jNpRPxWFAECaxs5zoJF1WDUu/azTkoge?=
 =?us-ascii?Q?r+bEl5NRm/RJ2ZoIzZhiR32j7tjUc27qwlSz6zaA6wJ2qjIPgdOFhoX0yEtL?=
 =?us-ascii?Q?aG5LFOVvNoqWLjF23bw8lME51sOAolw/MEARR2m49+MseNIpEDB7DWuVuyGF?=
 =?us-ascii?Q?CsTHtPMBuTBOD+Paea7hIv4=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4915faec-b79b-48db-2fb8-08d9e0d77597
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 14:23:44.6318
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dCSSc3vYGkMnVIB9ECMv/nBEs1+RAJ+xTeZlUt325LmGEiPdL8LLj8TkGnwMbP6qRVs47fG1Fw9XHlWeJw3ynQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4768

On 26.01.2022 14:52, David Woodhouse wrote:
> On Tue, 2022-01-25 at 16:13 +0100, Roger Pau Monn=C3=A9 wrote:
>> On Mon, Jan 24, 2022 at 02:20:47PM +0100, Jan Beulich wrote:
>>> On 20.01.2022 16:23, Roger Pau Monne wrote:
>>>> Such field uses bits 55:48, but for the purposes the register will be
>>>> used use bits 55:49 instead. Bit 48 is used to signal an RTE entry is
>>>> in remappable format which is not supported by the vIO-APIC.
>>>
>>> Neither here nor in the cover letter you point at a formal specificatio=
n
>>> of this mode of operation.
>>
>> I'm not aware of any formal specification of this mode, apart from the
>> work done to introduce support in Linux and QEMU:
>>
>> https://lore.kernel.org/all/20201009104616.1314746-1-dwmw2@infradead.org=
/
>>
>> https://git.qemu.org/?p=3Dqemu.git;a=3Dcommitdiff;h=3Dc1bb5418e
>>
>>
>> Adding David in case there's some kind of specification somewhere I'm
>> not aware of.
>=20
> Indeed there is no formal specification that I am aware of, although
> it's vaguely possible that Microsoft wrote something up when they added
> it to Hyper-V.
>=20
> https://lore.kernel.org/all/20201103011136.59108-1-decui@microsoft.com/
>=20
> I had an internal doc which.... looks like I can clean it up a tiny bit
> and then share at http://david.woodhou.se/15-bit-msi.pdf if that helps?

Thanks, this at least puts us on common grounds.

>>> What I'm aware of are vague indications of
>>> this mode's existence in some of Intel's chipset data sheets. Yet that
>>> leaves open, for example, whether indeed bit 48 cannot be used here.
>>
>> Bit 48 cannot be used because it's already used to signal an RTE is in
>> remappable format. We still want to differentiate an RTE entry in
>> remappable format, as it should be possible to expose both the
>> extended ID support and an emulated IOMMU.
>=20
> Right. I chose not to use the low bit of the existing Extended
> Destination ID because that's the one Intel used to indicate Remappable
> Format. This means we can still expose an IOMMU to guests and easily
> distinguish between Compatibility Format and Remappable Format MSIs
> just as real hardware does.

Well, with the defacto standard of using only 7 of the bits we will
have to follow suit of course.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 14:35:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 14:35:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260950.451292 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCjOI-0002kq-B0; Wed, 26 Jan 2022 14:35:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260950.451292; Wed, 26 Jan 2022 14: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 1nCjOI-0002kj-85; Wed, 26 Jan 2022 14:35:18 +0000
Received: by outflank-mailman (input) for mailman id 260950;
 Wed, 26 Jan 2022 14:35:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nCjOH-0002kZ-MF; Wed, 26 Jan 2022 14:35:17 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nCjOH-00047p-Hl; Wed, 26 Jan 2022 14:35:17 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nCjOH-0003Hg-8q; Wed, 26 Jan 2022 14:35:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nCjOH-0000Br-8N; Wed, 26 Jan 2022 14:35:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=1z6E+XJjo9V3V5dODDJB5Bi2KOu63IoSD1dayAMjO9g=; b=J2g9OYOYUvKnMI48KPpZV0jxCw
	pveRh8qjrOrgaBp3mbs6XMlen7IjXg05+ZufEJYPtCKq0ysiAW+dJE6/LnBdk9Wqqg6VF0F82Il8J
	hq40IZgQuu2Yr6mWtxNyW0TQMbP4nOTozMbIE3KpCDOMg4tI/J3UAaoWzs/Z5k6iFeNk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167833-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.15-testing test] 167833: regressions - FAIL
X-Osstest-Failures:
    xen-4.15-testing:build-amd64-xsm:xen-build:fail:regression
    xen-4.15-testing:build-amd64:xen-build:fail:regression
    xen-4.15-testing:test-amd64-i386-qemuu-rhel6hvm-amd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-qemuu-rhel6hvm-intel:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-xl:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-pvshim:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-shadow:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:build-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-livepatch:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-migrupgrade:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-coresched-i386-xl:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-freebsd10-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-freebsd10-i386:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-livepatch:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-migrupgrade:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-pair:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-qemut-rhel6hvm-amd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-i386-qemut-rhel6hvm-intel:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-1:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-3:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-4:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-5:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-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-libvirt: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-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-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-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
X-Osstest-Versions-This:
    xen=bd20d6c87619a6b825478cd5ae0387f9fdaabea0
X-Osstest-Versions-That:
    xen=a763f8f158e81158bdf2470dbc3d98353f2322e2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 26 Jan 2022 14:35:17 +0000

flight 167833 xen-4.15-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167833/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-xsm               6 xen-build                fail REGR. vs. 167628
 build-amd64                   6 xen-build                fail REGR. vs. 167628

Tests which did not succeed, but are not blocking:
 test-amd64-i386-qemuu-rhel6hvm-amd  1 build-check(1)               blocked n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 build-check(1)             blocked n/a
 test-amd64-i386-xl            1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-pvshim     1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemut-debianhvm-amd64  1 build-check(1)         blocked n/a
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm  1 build-check(1)      blocked n/a
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-xl-qemut-win7-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemut-ws16-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-amd64  1 build-check(1)         blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1)  blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm  1 build-check(1)      blocked n/a
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked n/a
 test-amd64-i386-xl-qemuu-ws16-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-shadow     1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-vhd        1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-xsm        1 build-check(1)               blocked  n/a
 test-amd64-coresched-amd64-xl  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-xsm       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-shadow    1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-rtds      1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-ws16-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  1 build-check(1)     blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)        blocked n/a
 test-amd64-amd64-xl-qemut-ws16-amd64  1 build-check(1)             blocked n/a
 build-amd64-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  1 build-check(1)     blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-amd64  1 build-check(1)        blocked n/a
 test-amd64-amd64-xl-qcow2     1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvshim    1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit2   1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit1   1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-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-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-livepatch    1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-intel  1 build-check(1)              blocked n/a
 test-amd64-amd64-migrupgrade  1 build-check(1)               blocked  n/a
 test-amd64-amd64-pair         1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-pygrub       1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-freebsd11-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-qemuu-freebsd12-amd64  1 build-check(1)           blocked n/a
 test-amd64-i386-xl-qemuu-win7-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemuu-ovmf-amd64  1 build-check(1)              blocked n/a
 test-amd64-coresched-i386-xl  1 build-check(1)               blocked  n/a
 test-amd64-i386-freebsd10-amd64  1 build-check(1)               blocked  n/a
 test-amd64-i386-freebsd10-i386  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-livepatch     1 build-check(1)               blocked  n/a
 test-amd64-i386-migrupgrade   1 build-check(1)               blocked  n/a
 test-amd64-i386-pair          1 build-check(1)               blocked  n/a
 test-amd64-i386-qemut-rhel6hvm-amd  1 build-check(1)               blocked n/a
 test-amd64-i386-qemut-rhel6hvm-intel  1 build-check(1)             blocked n/a
 test-xtf-amd64-amd64-1        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-2        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-3        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-4        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-5        1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167628
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167628
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167628
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-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-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  bd20d6c87619a6b825478cd5ae0387f9fdaabea0
baseline version:
 xen                  a763f8f158e81158bdf2470dbc3d98353f2322e2

Last test of basis   167628  2022-01-07 07:36:33 Z   19 days
Testing same since   167813  2022-01-25 13:06:39 Z    1 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>
  Julien Grall <jgrall@amazon.com>

jobs:
 build-amd64-xsm                                              fail    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  fail    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          blocked 
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       blocked 
 test-xtf-amd64-amd64-2                                       blocked 
 test-xtf-amd64-amd64-3                                       blocked 
 test-xtf-amd64-amd64-4                                       blocked 
 test-xtf-amd64-amd64-5                                       blocked 
 test-amd64-amd64-xl                                          blocked 
 test-amd64-coresched-amd64-xl                                blocked 
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           blocked 
 test-amd64-coresched-i386-xl                                 blocked 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        blocked 
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         blocked 
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 blocked 
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 blocked 
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      blocked 
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       blocked 
 test-amd64-amd64-qemuu-nested-amd                            blocked 
 test-amd64-amd64-xl-pvhv2-amd                                blocked 
 test-amd64-i386-qemut-rhel6hvm-amd                           blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-dom0pvh-xl-amd                              blocked 
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    blocked 
 test-amd64-i386-xl-qemut-debianhvm-amd64                     blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    blocked 
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     blocked 
 test-amd64-i386-freebsd10-amd64                              blocked 
 test-amd64-amd64-qemuu-freebsd11-amd64                       blocked 
 test-amd64-amd64-qemuu-freebsd12-amd64                       blocked 
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         blocked 
 test-amd64-i386-xl-qemuu-ovmf-amd64                          blocked 
 test-amd64-amd64-xl-qemut-win7-amd64                         blocked 
 test-amd64-i386-xl-qemut-win7-amd64                          blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-i386-xl-qemuu-win7-amd64                          blocked 
 test-amd64-amd64-xl-qemut-ws16-amd64                         blocked 
 test-amd64-i386-xl-qemut-ws16-amd64                          blocked 
 test-amd64-amd64-xl-qemuu-ws16-amd64                         blocked 
 test-amd64-i386-xl-qemuu-ws16-amd64                          blocked 
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  blocked 
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  blocked 
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        blocked 
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         blocked 
 test-amd64-i386-freebsd10-i386                               blocked 
 test-amd64-amd64-qemuu-nested-intel                          blocked 
 test-amd64-amd64-xl-pvhv2-intel                              blocked 
 test-amd64-i386-qemut-rhel6hvm-intel                         blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-amd64-dom0pvh-xl-intel                            blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   blocked 
 test-amd64-i386-livepatch                                    blocked 
 test-amd64-amd64-migrupgrade                                 blocked 
 test-amd64-i386-migrupgrade                                  blocked 
 test-amd64-amd64-xl-multivcpu                                blocked 
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        blocked 
 test-amd64-i386-pair                                         blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   blocked 
 test-amd64-i386-xl-pvshim                                    blocked 
 test-amd64-amd64-pygrub                                      blocked 
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    blocked 
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     blocked 
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             blocked 
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              blocked 
 test-amd64-amd64-xl-shadow                                   blocked 
 test-amd64-i386-xl-shadow                                    blocked 
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       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 bd20d6c87619a6b825478cd5ae0387f9fdaabea0
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Tue Jan 25 13:46:28 2022 +0100

    x86/spec-ctrl: Fix NMI race condition with VT-x MSR_SPEC_CTRL handling
    
    The logic was based on a mistaken understanding of how NMI blocking on vmexit
    works.  NMIs are only blocked for EXIT_REASON_NMI, and not for general exits.
    Therefore, an NMI can in general hit early in the vmx_asm_vmexit_handler path,
    and the guest's value will be clobbered before it is saved.
    
    Switch to using MSR load/save lists.  This causes the guest value to be saved
    atomically with respect to NMIs/MCEs/etc.
    
    First, update vmx_cpuid_policy_changed() to configure the load/save lists at
    the same time as configuring the intercepts.  This function is always used in
    remote context, so extend the vmx_vmcs_{enter,exit}() block to cover the whole
    function, rather than having multiple remote acquisitions of the same VMCS.
    
    Both of vmx_{add,del}_guest_msr() can fail.  The -ESRCH delete case is fine,
    but all others are fatal to the running of the VM, so handle them using
    domain_crash() - this path is only used during domain construction anyway.
    
    Second, update vmx_{get,set}_reg() to use the MSR load/save lists rather than
    vcpu_msrs, and update the vcpu_msrs comment to describe the new state
    location.
    
    Finally, adjust the entry/exit asm.
    
    Because the guest value is saved and loaded atomically, we do not need to
    manually load the guest value, nor do we need to enable SCF_use_shadow.  This
    lets us remove the use of DO_SPEC_CTRL_EXIT_TO_GUEST.  Additionally,
    SPEC_CTRL_ENTRY_FROM_PV gets removed too, because on an early entry failure,
    we're no longer in the guest MSR_SPEC_CTRL context needing to switch back to
    Xen's context.
    
    The only action remaining is to load Xen's MSR_SPEC_CTRL value on vmexit.  We
    could in principle use the host msr list, but is expected to complicated
    future work.  Delete DO_SPEC_CTRL_ENTRY_FROM_HVM entirely, and use a shorter
    code sequence to simply reload Xen's setting from the top-of-stack block.
    
    Adjust the comment at the top of spec_ctrl_asm.h in light of this bugfix.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 81f0eaadf84d273a6ff8df3660b874a02d0e7677
    master date: 2022-01-20 16:32:11 +0000

commit bffdcc0dc454838e1c75a1e9d98ab140d7aff421
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Tue Jan 25 13:46:14 2022 +0100

    x86/spec-ctrl: Drop SPEC_CTRL_{ENTRY_FROM,EXIT_TO}_HVM
    
    These were written before Spectre/Meltdown went public, and there was large
    uncertainty in how the protections would evolve.  As it turns out, they're
    very specific to Intel hardware, and not very suitable for AMD.
    
    Drop the macros, opencoding the relevant subset of functionality, and leaving
    grep-fodder to locate the logic.  No change at all for VT-x.
    
    For AMD, the only relevant piece of functionality is DO_OVERWRITE_RSB,
    although we will soon be adding (different) logic to handle MSR_SPEC_CTRL.
    
    This has a marginal improvement of removing an unconditional pile of long-nops
    from the vmentry/exit path.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 95b13fa43e0753b7514bef13abe28253e8614f62
    master date: 2022-01-20 16:32:11 +0000

commit 2e4507eb358b580378b0a7aaa6d357401abbca88
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Tue Jan 25 13:45:58 2022 +0100

    x86/msr: Split MSR_SPEC_CTRL handling
    
    In order to fix a VT-x bug, and support MSR_SPEC_CTRL on AMD, move
    MSR_SPEC_CTRL handling into the new {pv,hvm}_{get,set}_reg() infrastructure.
    
    Duplicate the msrs->spec_ctrl.raw accesses in the PV and VT-x paths for now.
    The SVM path is currently unreachable because of the CPUID policy.
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 6536688439dbca1d08fd6db5be29c39e3917fb2f
    master date: 2022-01-20 16:32:11 +0000

commit ff2ce108699b2e1c49bdadc0fecb8e77cf8b34ae
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Tue Jan 25 13:45:33 2022 +0100

    x86/guest: Introduce {get,set}_reg() infrastructure
    
    Various registers have per-guest-type or per-vendor locations or access
    requirements.  To support their use from common code, provide accessors which
    allow for per-guest-type behaviour.
    
    For now, just infrastructure handling default cases and expectations.
    Subsequent patches will start handling registers using this infrastructure.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 88d3ff7ab15da277a85b39735797293fb541c718
    master date: 2022-01-20 16:32:11 +0000

commit 7ca8706ad53d5967fd15fa94c2dd5ada8d42d812
Author: Jason Andryuk <jandryuk@gmail.com>
Date:   Tue Jan 25 13:45:09 2022 +0100

    libxl/PCI: Fix PV hotplug & stubdom coldplug
    
    commit 0fdb48ffe7a1 "libxl: Make sure devices added by pci-attach are
    reflected in the config" broken PCI hotplug (xl pci-attach) for PV
    domains when it moved libxl__create_pci_backend() later in the function.
    
    This also broke HVM + stubdom PCI passthrough coldplug.  For that, the
    PCI devices are hotplugged to a running PV stubdom, and then the QEMU
    QMP device_add commands are made to QEMU inside the stubdom.
    
    A running PV domain calls libxl__wait_for_backend().  With the current
    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:
    1) The domain is PV
    2) The domain is running
    3) The backend is already present
    
    This is because:
    
    1) xen-pcifront is only used for PV.  It does not load for HVM domains
       where QEMU is used.
    
    2) If the domain is not running (starting), then the frontend state will
       be Initialising.  xen-pciback waits for the frontend to transition to
       at Initialised before attempting to connect.  So a wait for a
       non-running domain is not applicable as the backend will not
       transition to Connected.
    
    3) For presence, 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 or changing to
       some other state like closing.  If we are creating the backend, then
       we don't have to worry about the state since it is being created.
    
    Fixes: 0fdb48ffe7a1 ("libxl: Make sure devices added by pci-attach are
    reflected in the config")
    
    Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
    Reviewed-by: Paul Durrant <paul@xen.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    master commit: 73ee2795aaef2cb086ac078bffe1c6b33c0ea91b
    master date: 2022-01-13 14:33:16 +0100

commit ac71fdd9ec8a54240cc09827203197674353a722
Author: Jan Beulich <jbeulich@suse.com>
Date:   Tue Jan 25 13:44:55 2022 +0100

    x86/time: improve TSC / CPU freq calibration accuracy
    
    While the problem report was for extreme errors, even smaller ones would
    better be avoided: The calculated period to run calibration loops over
    can (and usually will) be shorter than the actual time elapsed between
    first and last platform timer and TSC reads. Adjust values returned from
    the init functions accordingly.
    
    On a Skylake system I've tested this on accuracy (using HPET) went from
    detecting in some cases more than 220kHz too high a value to about
    ±2kHz. On other systems (or on this system, but with PMTMR) the original
    error range was much smaller, with less (in some cases only very little)
    improvement.
    
    Reported-by: James Dingwall <james-xen@dingwall.me.uk>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: a5c9a80af34eefcd6e31d0ed2b083f452cd9076d
    master date: 2022-01-13 14:31:52 +0100

commit 793d5ca89fdd9e2cdcb05e88c6cd8446e475b15a
Author: Jan Beulich <jbeulich@suse.com>
Date:   Tue Jan 25 13:44:42 2022 +0100

    x86/time: use relative counts in calibration loops
    
    Looping until reaching/exceeding a certain value is error prone: If the
    target value is close enough to the wrapping point, the loop may not
    terminate at all. Switch to using delta values, which then allows to
    fold the two loops each into just one.
    
    Fixes: 93340297802b ("x86/time: calibrate TSC against platform timer")
    Reported-by: Roger Pau Monné <roger.pau@citrix.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 467191641d2a2fd2e43b3ae7b80399f89d339980
    master date: 2022-01-13 14:30:18 +0100

commit 13e7fe4c938f92933c6aa89e416e3085b13a22c7
Author: Julien Grall <jgrall@amazon.com>
Date:   Tue Jan 25 13:42:53 2022 +0100

    passthrough/x86: stop pirq iteration immediately in case of error
    
    pt_pirq_iterate() will iterate in batch over all the PIRQs. The outer
    loop will bail out if 'rc' is non-zero but the inner loop will continue.
    
    This means 'rc' will get clobbered and we may miss any errors (such as
    -ERESTART in the case of the callback pci_clean_dpci_irq()).
    
    This is CVE-2022-23035 / XSA-395.
    
    Fixes: c24536b636f2 ("replace d->nr_pirqs sized arrays with radix tree")
    Fixes: f6dd295381f4 ("dpci: replace tasklet with softirq")
    Signed-off-by: Julien Grall <jgrall@amazon.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 9480a1a519cf016623f657dc544cb372a82b5708
    master date: 2022-01-25 13:27:02 +0100

commit 2700abffa5e42cf04dc1c6eba73faaba670c99df
Author: Julien Grall <jgrall@amazon.com>
Date:   Tue Jan 25 13:42:21 2022 +0100

    xen/grant-table: Only decrement the refcounter when grant is fully unmapped
    
    The grant unmapping hypercall (GNTTABOP_unmap_grant_ref) is not a
    simple revert of the changes done by the grant mapping hypercall
    (GNTTABOP_map_grant_ref).
    
    Instead, it is possible to partially (or even not) clear some flags.
    This will leave the grant is mapped until a future call where all
    the flags would be cleared.
    
    XSA-380 introduced a refcounting that is meant to only be dropped
    when the grant is fully unmapped. Unfortunately, unmap_common() will
    decrement the refcount for every successful call.
    
    A consequence is a domain would be able to underflow the refcount
    and trigger a BUG().
    
    Looking at the code, it is not clear to me why a domain would
    want to partially clear some flags in the grant-table. But as
    this is part of the ABI, it is better to not change the behavior
    for now.
    
    Fix it by checking if the maptrack handle has been released before
    decrementing the refcounting.
    
    This is CVE-2022-23034 / XSA-394.
    
    Fixes: 9781b51efde2 ("gnttab: replace mapkind()")
    Signed-off-by: Julien Grall <jgrall@amazon.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 975a8fb45ca186b3476e5656c6ad5dad1122dbfd
    master date: 2022-01-25 13:25:49 +0100

commit 53220c4f9db70331284424ff5ff5f286dd3fbc16
Author: Julien Grall <jgrall@amazon.com>
Date:   Tue Jan 25 13:41:59 2022 +0100

    xen/arm: p2m: Always clear the P2M entry when the mapping is removed
    
    Commit 2148a125b73b ("xen/arm: Track page accessed between batch of
    Set/Way operations") allowed an entry to be invalid from the CPU PoV
    (lpae_is_valid()) but valid for Xen (p2m_is_valid()). This is useful
    to track which page is accessed and only perform an action on them
    (e.g. clean & invalidate the cache after a set/way instruction).
    
    Unfortunately, __p2m_set_entry() is only zeroing the P2M entry when
    lpae_is_valid() returns true. This means the entry will not be zeroed
    if the entry was valid from Xen PoV but invalid from the CPU PoV for
    tracking purpose.
    
    As a consequence, this will allow a domain to continue to access the
    page after it was removed.
    
    Resolve the issue by always zeroing the entry if it the LPAE bit is
    set or the entry is about to be removed.
    
    This is CVE-2022-23033 / XSA-393.
    
    Reported-by: Dmytro Firsov <Dmytro_Firsov@epam.com>
    Fixes: 2148a125b73b ("xen/arm: Track page accessed between batch of Set/Way operations")
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Signed-off-by: Julien Grall <jgrall@amazon.com>
    master commit: a428b913a002eb2b7425b48029c20a52eeee1b5a
    master date: 2022-01-25 13:25:01 +0100
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 14:45:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 14:45:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260964.451326 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCjYA-0004X0-KC; Wed, 26 Jan 2022 14:45:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260964.451326; Wed, 26 Jan 2022 14: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 1nCjYA-0004Wt-Gg; Wed, 26 Jan 2022 14:45:30 +0000
Received: by outflank-mailman (input) for mailman id 260964;
 Wed, 26 Jan 2022 14:45:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=hAYL=SK=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1nCjY9-0004Wn-4D
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 14:45:29 +0000
Received: from ppsw-42.csi.cam.ac.uk (ppsw-42.csi.cam.ac.uk [131.111.8.142])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 980b9254-7eb6-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 15:45:26 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:50498)
 by ppsw-42.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.138]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1nCjXx-000kp8-7Q (Exim 4.95) (return-path <amc96@srcf.net>);
 Wed, 26 Jan 2022 14:45:17 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id E069C1FBE5;
 Wed, 26 Jan 2022 14:45:16 +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: 980b9254-7eb6-11ec-8f75-fffcc8bd4f1a
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <a46cb04b-2e83-a4d3-039f-61bdbd381c38@srcf.net>
Date: Wed, 26 Jan 2022 14:45:16 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Content-Language: en-GB
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Wei Liu <wl@xen.org>, Paul Durrant <paul@xen.org>
References: <20220126122648.52275-1-roger.pau@citrix.com>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: [PATCH RFC] xen/pci: detect when BARs overlap RAM
In-Reply-To: <20220126122648.52275-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26/01/2022 12:26, Roger Pau Monne wrote:
> One of the boxes where I was attempting to boot Xen in PVH dom0 mode
> has quirky firmware, as it will handover with a device with memory
> decoding enabled and a BAR of size 4K at address 0. Such BAR overlaps
> with a RAM range on the e820.
>
> This interacts badly with the dom0 PVH build, as BARs will be setup on
> the p2m before RAM, so if there's a BAR positioned over a RAM region
> it will trigger a domain crash when the dom0 builder attempts to
> populate that region with a regular RAM page.
>
> It's in general a very bad idea to have a BAR overlapping with a RAM
> region, so add some sanity checks for devices that are added with
> memory decoding enabled in order to assure that BARs are not placed on
> top of memory regions. If overlaps are detected just disable the
> memory decoding bit for the device and expect the hardware domain to
> properly position the BAR.
>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

I'm not sure this is a sensible approach.

A bar at 0 is utterly unusable, because it is outside of the host bridge
window.

The absence of any coherent GPA map for guests (needs fixing for oh so
many reasons) is a primary contributor to the problem, because Xen
*should* know where the guest's low and high MMIO windows are before
attempting to map BARs into the guest.

The proper fix is to teach Xen about GPA maps, and reject BAR insertion
outside of the respective bridge windows.

An fix in the short term would be to disable the problematic BAR when
scanning the PCI bus to being with.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 15:10:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 15:10:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260971.451346 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCjvp-0007JU-O4; Wed, 26 Jan 2022 15:09:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260971.451346; Wed, 26 Jan 2022 15:09:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCjvp-0007JN-Kp; Wed, 26 Jan 2022 15:09:57 +0000
Received: by outflank-mailman (input) for mailman id 260971;
 Wed, 26 Jan 2022 15:09:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zGnN=SK=epam.com=prvs=3025e8b925=sergiy_kibrik@srs-se1.protection.inumbo.net>)
 id 1nCjvo-0007JH-5j
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 15:09:56 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0370092e-7eba-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 16:09:54 +0100 (CET)
Received: from pps.filterd (m0174678.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20QF9G5u015508;
 Wed, 26 Jan 2022 15:09:36 GMT
Received: from eur05-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2176.outbound.protection.outlook.com [104.47.17.176])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3du8pjr011-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 26 Jan 2022 15:09:36 +0000
Received: from PAXPR03MB8114.eurprd03.prod.outlook.com (2603:10a6:102:227::15)
 by AM6PR03MB4438.eurprd03.prod.outlook.com (2603:10a6:20b:12::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Wed, 26 Jan
 2022 15:09:31 +0000
Received: from PAXPR03MB8114.eurprd03.prod.outlook.com
 ([fe80::9d1a:2b77:5b10:1ea9]) by PAXPR03MB8114.eurprd03.prod.outlook.com
 ([fe80::9d1a:2b77:5b10:1ea9%3]) with mapi id 15.20.4930.015; Wed, 26 Jan 2022
 15:09:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0370092e-7eba-11ec-8f75-fffcc8bd4f1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=P8ksCc0BIoqKhFpjL/rc9etmE/SxzLIFxxu9BaLIC+rOTgMgO1FFsL5qcxw8TaLStJb7Iky1Nky6MkzEalaPOpSPb51AdfcItW0wc/tBKbmHfmHHJUs4T4kT2TDAVzBeJmwvl+rYftRTcGFm/inBxHRdM30+ovPNiNALtL/VGJRKpboQq+nVpWDWNjEVoVwWFS+vAmHyip9tg0sEvLXDp9BVLoyeaFK1d7S5G1n1iNMTKgCgwgh8yK5+5KDz5UqL2tlOjitnIYov520upaZ6JSv9TZ5XArudlm4K2xYCYFwJ2+gJ+f6iixGsO+FQEr6Lyp9PSoBD7rIaWru0+MWabA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=77IEcXF3A9+J0WHK2lhV0lwGNwme5kNZAF7ZbFJ31D4=;
 b=F1AMcnpOdfR24jeB7TDP+pqt8PEeo1B5kGycqg/4uQMMJxBmbut5qHlxIxC6OW27MmRqSFJNFilK//IQ+2Fdb0N0VQCZ2yqT23596N0bWe8ylLR7AKxxd4stRdJjxxal1N7yhQV6xMSo9ZMWJOQujewqgAnNkIWyK+pm89gz8tUx5ZNiqZe/E8CAQ8S1nKljyUvg9G6/GN0f3WIIqlitsumrVGWEbUR4tA6IsEsFJ7p6F33xlHoB7vrZajyIzy8YLpcVIqmmbtyzj9xgMnp0iOH/QdoYJQuUEkrygLw8ALNzIITW/Y3bCY5+zZcPdVyam1czIgu8sjA3PvxYhlzHUQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=77IEcXF3A9+J0WHK2lhV0lwGNwme5kNZAF7ZbFJ31D4=;
 b=WyZeGf37yKLqKTqRxOvg1n6Yk8Al9m9X0LkINQPWGodn2+YH92TwEMNAszIZYb2kUpRvZ/N9RaiK+8a8znS1GsXKzL+ly8qq+Ekb82tr5vS9whGp3+rcgiTp6R8qzqRq3DRiioCIMrUEYKpt3NeeHqemFGshzA2OOXu2Uq/v+BK9n4F15xAuMWQUz5xvsbWPqDk14YSiiJY5oLYELBOt/M41unJABlSxVM2u0vXHn2ONyR1zdzP191TP624upHGWaWYdMtLiKQwGnVGQ1rWWZX3rKfNgeh6Oe2+IDVbgkdWlCfzgPhn2fATreS6VIv0Nl0AEixAxx5MaGieVxj3HzQ==
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: Robin Murphy <robin.murphy@arm.com>
CC: Stefano Stabellini <sstabellini@kernel.org>,
        Julien Grall
	<julien@xen.org>,
        Oleksandr Tyshchenko <olekstysh@gmail.com>,
        "devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
        "linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
        "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v3 1/2] dt-bindings: arm: xen: document Xen iommu device
Thread-Topic: [PATCH v3 1/2] dt-bindings: arm: xen: document Xen iommu device
Thread-Index: AQHYC7c/yzNIx4SEEE+Ytgaw3RrSZKx1dG0A
Date: Wed, 26 Jan 2022 15:09:30 +0000
Message-ID: 
 <PAXPR03MB81144A63E18CAF10E785E2A7F0209@PAXPR03MB8114.eurprd03.prod.outlook.com>
References: <20220117123251.140867-1-Sergiy_Kibrik@epam.com>
 <20220117123251.140867-2-Sergiy_Kibrik@epam.com>
 <e88b882f-4b5d-a801-fc68-66b7f790e11c@arm.com>
In-Reply-To: <e88b882f-4b5d-a801-fc68-66b7f790e11c@arm.com>
Accept-Language: en-US
Content-Language: ru-RU
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 67c6b206-ebd3-4190-81e9-08d9e0ddda85
x-ms-traffictypediagnostic: AM6PR03MB4438:EE_
x-microsoft-antispam-prvs: 
 <AM6PR03MB44382081B1648CAAA0B69739F0209@AM6PR03MB4438.eurprd03.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: 
 syNzauhOMuOmeex4d3sTD44gaVmoMD7zFMGOkdpiHLZuBcm6FmBpD11e20zzWOY4CMmqqvqN1k9cCbOPiYom58IG3Z/ZwUKzDQYWXKO5SfJCiCQ0ygmPfbn9xStuHG9Nga7Vhi48/xy7/LYRcOZUl7LXXgc5/y5WONAOrzdwg3kNE2u1IcxooYxUa2VBvfGDmAuV8kzGeVjH/SjAlHXspn/JGtAVqpsmHH9bw35CG4oi9m3C2lXscvA+TRyfB2GRZe04rR5b5qWWYYBvyQ79RzLtdDdm54AOYw5Le1ie+/8/MhimTfV6lJV8DHmKSdgWtvYRusCP1iSE/+Vb8ObjKWUivTsp6ZME+N2/VKemoEOSAdmceC9nG6mPKTIv7rVRvRnRte8J1O45sgoAwvGIywzisxtNMB8607Gq1gI5q9Sp0p8MqJI9xzXU0JQBUVLNSXpqBzdBT9AxCNCR3MjxRZAwFxpudPWUGFdYMtQAU/OfITKeVU7ycH8kL8c66KqEkjAvo4k/wVARGHA78CMMOH9FZ4OWCmLW1ADL3hY5ZnrEZcmmd9CdDEayZq08Kg8hV5IEPAEv4LKXeMqFILRRwMTm55Mlv2qX+SIl4u37SZWyMcp7B38Fg4ZKtolgrA43zqpaMUe5LkvHshp8ZKtdamOGk+WxlrlWM86rEPrvoGwjlpaTlxuRaKyFZ3yLXVmL5xNJlfGxUWOeMdaY0cdSjQ==
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR03MB8114.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(186003)(26005)(38100700002)(66556008)(64756008)(8936002)(66476007)(76116006)(8676002)(33656002)(5660300002)(55016003)(66946007)(66446008)(2906002)(4744005)(4326008)(52536014)(6916009)(9686003)(6506007)(86362001)(508600001)(38070700005)(316002)(71200400001)(54906003)(7696005)(122000001)(83380400001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?NWw2VTVUOW5ITEdPWHpRWnUzTlc2a1dIbENOZlMxYVNSS2duMEhiTmhobGJj?=
 =?utf-8?B?MnFpVnlCdCtFZmdsNTlOMVhGTTg3aEw5bFNhbkU0dDJmMzNRamswRE1iQXFQ?=
 =?utf-8?B?VGFWLy9jWSttV0RZN200bFYrb1NCa3lSb1RtZEEvSW83Vk1yWnN1cnFxWmI5?=
 =?utf-8?B?NzFRNjRmamVqQW02WEJNVzFER3RlbndBbWxqekVBRUVvZWxCVGJrRktZZHdB?=
 =?utf-8?B?OS9qL2xLRzNLN0ZvSFlLMm15ZVZuaW9EVkcreVlpR2tQcFk2S05lV1BPdlZG?=
 =?utf-8?B?Q0F4VDRjdzlVR1crN2VwRjhsaUZyQUpEQThtTkRvTnpwQmU3eno2SnVOVHhw?=
 =?utf-8?B?dHlVTTR0Z0hGand5cm4vUVVlSGZmQm5Hd2lvWFRGMWovTzNkcEZTcUdTdysr?=
 =?utf-8?B?YUNPN252MFFkb1hidWJMcmpBQ1NvNTE1U2JqaG1KdDZISmFHM0h5VmhTNjV5?=
 =?utf-8?B?RDZxdStvUWlWU3NrYlI2M1lJenpQNWNTZk5GdS85c0t4M0VMM0xnZTNMT1R3?=
 =?utf-8?B?Q1pPb08wa0xUS25OQzR1UjlRTjlPUmM1YllIVTd5OXZBWHV0ME1aTnFTYW9I?=
 =?utf-8?B?R2tMSUVDZThkM0lrZ0lUcklkUnEvWkl4NzhYaGtON3c0VWs1cTQ1SmdGRlU3?=
 =?utf-8?B?Z3NpSjFsUkN6eDBWS0NkWnBhYUYvZ1dNanU4UmtlMEZOTWtsY3g4Q3JVTXVj?=
 =?utf-8?B?czFFckdHNnpOQS9abEErcnRyZWtmZjhUR2VFR3pMUFFXVUcwRVc3NDRtWE5h?=
 =?utf-8?B?YzJ4Q2ZScUM4VlVwblUzb0xRZzhoVzR3SGc2SHFZazFjSXFjSlFwSHk4ckdW?=
 =?utf-8?B?bzVFWWRtdWFacTF4WGdPbWp0N2NPaytGSFBvQXpsbFk2QnJoZW0wdnl3ZThv?=
 =?utf-8?B?TlBUTVVaQmR0ZXliZkZwSTUwRG5JUEZRaHJLZkxyMnNZQTk1cFFnTFpFbzMz?=
 =?utf-8?B?YTlTaC9RNkVlTmRIcjRYVHZPTU5yWGN3QzR1ZG8yOUQzdWNpWmFTVDErMUFp?=
 =?utf-8?B?My9YWGtUMyt6MTNDUGNROVlLcldUNGltVm13RmRwb2hpa0Z6NnlzUXBVYmRF?=
 =?utf-8?B?dHpKN3dyQWdMQzZaTkxaVUFyL0EvbjgwSE9vQjZKbVRoZjFqTWtIb0JSNkJy?=
 =?utf-8?B?aGQ5VEF1dE9wMTh4VlFFSHA1T1NCbEREaWQzb2FvQnhtZGtVc2tiWVJmN1Fa?=
 =?utf-8?B?dmQvQ0VuVkZNcVEzYjIyTU54bC8veTFjdUE5Ym1iY0J2b3ZiaHBSeUNiaDd2?=
 =?utf-8?B?cU1weFczUThFNlJucUZJaGlObWZtYmdZZHozZFFLclJSRUZwcHEvUGMzUlJS?=
 =?utf-8?B?V0VaZVFlU2ZQaWhXU3RaeEpUMElmd0l6SlJZanNkL3FZYXNxckJJeTBxT1Fw?=
 =?utf-8?B?QlA1ekFNbXJWZmFXZHNOdzFCUDl4NFJadUVNN1ZHVVNzamxINWJIQVgyaiti?=
 =?utf-8?B?UGY4NmJ3VVljQytrbUg1cG4wa0JGK01aay83V2FDU3gxenE2RkdJZ1k0bnAv?=
 =?utf-8?B?eDBJUk9KL24wZmpXdHNQdUdUNFJUWWlYbVlMOGhBa1lGZDJYYU9aeWdVVHVC?=
 =?utf-8?B?QlJwWXdsWDBaeWh1TUlraVRiVWZ6WGpWOHhBWEc3b3Yvdm9RcUtvRVh0UkZu?=
 =?utf-8?B?WXhncGxwUCt4d0pmdDJiTURIcmt2Q1I4RjN1ME1OeFN4UnNOZmdRa1hRbjB5?=
 =?utf-8?B?WjFteGVBZUJHZ2tJeVNXUHdQd2dOOHZlU2NjZlBhTWQxUTZJNkpWdFg3QnNJ?=
 =?utf-8?B?dUUxSUZpRWtudk9LRG9CYjYxWE9BVUU3ZDhwV0gwOTJ2VkEvL1pLckI4VVhL?=
 =?utf-8?B?NTFFV3ZheGtMZWdUanB6SWFkdzBWTHd6SG9TSUVnSHc2UW5JaC9oMWJ5T0Nt?=
 =?utf-8?B?SmI4dUlPRUgzZjRUMEhtanNIYm0wdXIzRDI4TCtYTnpqNmRpL3JwSmVUbzFJ?=
 =?utf-8?B?dzVjeFZTU3VjclhZbDZScGFud1VoWGZKYkN1YTBmSGNWTlRiTTFNcVJsd2U1?=
 =?utf-8?B?WGQwcWFLUHFWcXE5b214Y04vZitOaElkaTAwZjBaRzRYK0pqRXR4ektFMUJq?=
 =?utf-8?B?aXRwSFJmYkRHYXpOYVBEWW1SeGtZb2NlUm9jUG9HQTd3ODlkOXNYK0VMZUVR?=
 =?utf-8?B?OHdxaVJxM1BDV01oMFlLT3N3MWZEQnhKR1QydEdJZW5KQWJ5UytoOERPbFNY?=
 =?utf-8?B?S0E9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PAXPR03MB8114.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 67c6b206-ebd3-4190-81e9-08d9e0ddda85
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Jan 2022 15:09:30.6962
 (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: TG72l+tfnwVuQx6wSZ9Ur+V37wbOheFxDP0TVwS9bTHPp58nB9n48e7vy/QhICHGZffh1kKH+qwTuUjm+Rjxpg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR03MB4438
X-Proofpoint-GUID: jVEbKZ7nFA0SYaYNxvNKxKDpIwHngTo6
X-Proofpoint-ORIG-GUID: jVEbKZ7nFA0SYaYNxvNKxKDpIwHngTo6
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-26_05,2022-01-26_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0
 bulkscore=0 phishscore=0 priorityscore=1501 malwarescore=0 mlxlogscore=715
 mlxscore=0 impostorscore=0 suspectscore=0 clxscore=1011 adultscore=0
 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2201110000 definitions=main-2201260093

SGkgUm9iaW4sDQoNCj4gDQo+IFRoaXMgY291bGQgYnJlYWsgTGludXggZ3Vlc3RzLCBzaW5jZSBk
ZXBlbmRpbmcgb24gdGhlIGRlZmVycmVkIHByb2JlDQo+IHRpbWVvdXQgc2V0dGluZyBpdCBjb3Vs
ZCBsZWFkIHRvIGRyaXZlcnMgbmV2ZXIgcHJvYmluZyBiZWNhdXNlIHRoZSAiSU9NTVUiDQo+IG5l
dmVyIGJlY29tZXMgYXZhaWxhYmxlLg0KPiANCg0KSSd2ZSBub3RpY2VkIG5vIGRlZmVycmVkIHBy
b2JlIHRpbWVvdXRzIHdoZW4gYm9vdGluZyB3aXRoIHRoaXMgcGF0Y2guIENvdWxkIHlvdSBwbGVh
c2UgZXhwbGFpbiBtb3JlIG9uIGhvdyB0aGlzIHdvdWxkIGJyZWFrIGd1ZXN0cz8NClRoYW5rIHlv
dSENCg0KIC0tIFNlcmdpeQ0K


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 15:27:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 15:27:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260978.451369 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCkCX-0001bX-Bq; Wed, 26 Jan 2022 15:27:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260978.451369; Wed, 26 Jan 2022 15:27:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCkCX-0001bQ-7t; Wed, 26 Jan 2022 15:27:13 +0000
Received: by outflank-mailman (input) for mailman id 260978;
 Wed, 26 Jan 2022 15:27:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OZ3N=SK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nCkCV-0001bK-Lm
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 15:27:11 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6d648363-7ebc-11ec-8eb8-a37418f5ba1a;
 Wed, 26 Jan 2022 16:27:10 +0100 (CET)
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur03lp2052.outbound.protection.outlook.com [104.47.10.52]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-19-PL3VsjxJNEGrVp2Bl0xNfQ-1; Wed, 26 Jan 2022 16:27:08 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM7PR04MB7144.eurprd04.prod.outlook.com (2603:10a6:20b:11b::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Wed, 26 Jan
 2022 15:27:05 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.015; Wed, 26 Jan 2022
 15:27: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: 6d648363-7ebc-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643210829;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=rqhXcV662ncrOecHWEqA7g8TXTshpAcfxdN3hyGCZOY=;
	b=kXqAI1l1f0+peMe94BoJqNYfnHCSFV+YLOeh6MKM2NLPfxtLa0+6PeXCOY2i/k7MqpDwpY
	gny2BcXzlxJkHvNOAl56WOykYEnDyA0OecvaudC6JNc4RXhOCXQ1Fp3ErsO3E+7Fa9QRsk
	x7MJy5N05hQu5/EH/yW4kM4Xx4ct/Gs=
X-MC-Unique: PL3VsjxJNEGrVp2Bl0xNfQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=g/QpUQHR70OXuyUial8qQ2kvPnCUc872KMCbYwP2gIonNbt00d2pFn/63N2b/fWmuW8fwBrnkxc+Q7nykXDA7rQXZwlP0B1U+zvCfZ/kiZsbfxvlfGkKO7SRco2WfgciBMOEL3kJVowZ1bE6nic/D9YKdIpSUOn+JAtH/5RW2iqN8q+V9dO0pXCsqEMSeWqCh2HzhyocnDeT/SnZ6laKy/iApEUKtkf00gpnTqtV0QmMXR9VM3dC3B4f35qwHTnrkSMuKCXqE6pO9XyiwnD43oBnT4yz6OBEvwiUdfjJ2zx51aZtyJ/gxQqTr3ogLZ/YDJKydZorWhSmbSCi+RXTOw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=P5xD2fRPim1/eMKCb+ZA3iZGUHUsL8Ir6HXuk36GdRY=;
 b=Fo66I+Ihy/N6rbQ521UEcXr0l7g+HEsYors75mA7iN6VgqbMqJtAU18nOwv1WqBiEsDBzQTg6fd/20u0kDhGxqpdFYNf2JEZ8BZ+kiFenrJ5TRzX63CdOGq1SdRzIwSZlDObioqSYEpVx+xTiMES3y23uKD4FTYTcUrItJzu1KMlwprj6qNnaBQUcSKjZiq87Q90a0JBf6DddOtyDeyRbKTT9lKA3dHBOt9NZj1DVrpdTp+tcIwBrk2NO2OOqwiZOaOSJp+WniI9TPy/psdhgWy/aiCOhQQtswNy+Yx3UGMavnrpW14n0yvW8vUidhhPqYUV1Hauy+1WGVYf3MTQ5w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4ce94feb-4a0e-67ad-611a-e56ce43c1a61@suse.com>
Date: Wed, 26 Jan 2022 16:27:04 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH RFC] xen/pci: detect when BARs overlap RAM
Content-Language: en-US
To: Andrew Cooper <amc96@srcf.net>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Paul Durrant <paul@xen.org>, Roger Pau Monne <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20220126122648.52275-1-roger.pau@citrix.com>
 <a46cb04b-2e83-a4d3-039f-61bdbd381c38@srcf.net>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <a46cb04b-2e83-a4d3-039f-61bdbd381c38@srcf.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM6P195CA0083.EURP195.PROD.OUTLOOK.COM
 (2603:10a6:209:86::24) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 15096e04-21f4-4528-e1df-08d9e0e04f43
X-MS-TrafficTypeDiagnostic: AM7PR04MB7144:EE_
X-Microsoft-Antispam-PRVS:
	<AM7PR04MB7144C77F8A1C4D9478A23ECDB3209@AM7PR04MB7144.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:
	kn4fjGqbP6a0CquMqqMjitKGwrAh1vNhrjmflYv35ecNRzWKWzwuvZ0YhF/bBj43IKU81krR7aPBS/ZZ4WTSMixLmabQWzjaQc1znoYhg0uWXGANTZiHJdyAYALfSHbO1HpBvUSgOgPSwXar3Z+N2i2avUt1dhchq+Q1p5tj2Ez5cDPcp5qh0oF+losv3FRu8UTw1q/FdkjLNTWOSCFpstC+BB2EflcMDjkX2J4ZZUly4KdU6ESBfMniG6a1sdzMW+J0EvsQCzRGy5wAvfI3Djdl6luf2odg00VIFeh0pbjd/+xJ3WoQin4uHVxkkgneF1bP8F6LVBKrtv5A0EMZWG2QdG5nWg3ULEnbPyoaXnSV9xuvqmyz/kk3/1j/d7JFv/+F/5r9UVuOQI2tse/LVuG0ahUV1dd4cEmbK8Cch3tNrDzs/aRnug8MAsjCHwN4tJ4hXd3RqDlYpGIvZoQ5KEarpYaKOIGes1BM3+J8It4UNarQ76GU3sSs20ftibxCWSClXkWGQQwaswrvHFu//FLQRvWgU50yKVwvDhFQfiwGyj3JUbjw9SXyg8V9rnPXGZqVGm8pGCaX6rpxs0SDRSv5H7Z20d4hKHZ/oFgqSXWs56d1sW/H2xZV5IxOq3Z1ZFzTNyYAUVIyB9RHLIzkWwS/0Vzo6yc2/2rLBPrPAZ07oT+n5y7IF5IfvwKUB0W/8BjMvWbf+0tHi+1aPFrqc+QuHE2TNGv+aUl/QBCkfeU=
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:(13230001)(366004)(31686004)(5660300002)(8936002)(7416002)(6486002)(4326008)(8676002)(86362001)(66476007)(31696002)(38100700002)(66556008)(36756003)(2906002)(54906003)(508600001)(83380400001)(186003)(316002)(6916009)(66946007)(2616005)(53546011)(26005)(6506007)(6512007)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?ngoiTAa/+Lnnyon0WHAODn3gsNFrJoud5i+uqeFk8c0KfvceOOS34d5XvDxr?=
 =?us-ascii?Q?qCAv1EZvrNi4ExwFIq6XJw54ThRdGcpNSKDQ79ATADjr3Pc0xooLHTqY++pq?=
 =?us-ascii?Q?E2gj+nxQ+2BF865hFf3d8KBDt7X8Fj+Hzaz2/skfnHby99E9bGpcRumVHE+j?=
 =?us-ascii?Q?DKew3RjXHPzM7fD2t5sDwFNnFtiBinFnJFf4fagycxv5i2d9fgO0f2qtn3Kp?=
 =?us-ascii?Q?/OBhz+fwyQlWwFeUg1/E36ZCgPuaPrc2Dm23uxaPRQ5EFd0C54HqStUy8bzN?=
 =?us-ascii?Q?WYkdz4nSgSbde9631RoqebIV6wjedrx/aK8enoq4dl/+yHR3oaR6iARsaN+L?=
 =?us-ascii?Q?tEltUXe7TJZGGtiez/SZ8YqAdNUmpvkz8rwpFQVB7+zhhrz+s00X84Af7AGa?=
 =?us-ascii?Q?Mo2jNrS22YlWx8v8T5dCoafM3GaEdjvZc7uSTveB8oAkhWQCG3pfDk+zkmer?=
 =?us-ascii?Q?UtsIi1gk3KXUWv2NGQtVKj31CeXSBihtApcY3gtC4zxBnS/NMi3Bh0LpKBUC?=
 =?us-ascii?Q?pfDb99SX13rGnK9j7cSzwRxUUhUP6IOXt97qOGTmboBoUVW5pjIZ9w1lsIqu?=
 =?us-ascii?Q?Y2R9LDmibC41bVB9xc5dAPHVZea6VQcaEeC7Pp0k8x+e9t1VByOBuXp3wfdP?=
 =?us-ascii?Q?JoMzYvPy4vdXIFW+K1lZujQrOR0wjbizVXWdgnr56m5JHkjsAg+VNIgRtg4D?=
 =?us-ascii?Q?ebLg321b81D4AeJVpgo2Ld9XHbw6MovpREYla8nmKcsF6d/fxlVjZ6PYJuFz?=
 =?us-ascii?Q?1irPaqT2zicI1CvXH2sdqgDnr7DiWHPeUANVkjKQeh9w86NkGQr4VsF7bonP?=
 =?us-ascii?Q?oi9Y9HnqKVMjeO5OsjFLnt3FBhPCIyZIG5snwb090MFAs0OVoVWt8NprulYQ?=
 =?us-ascii?Q?QS9q9d0LlEuz7u+q2TK0q99fqZFQ1gZi8gxgL8XGkxyGAaUlIr00XU2rp7x/?=
 =?us-ascii?Q?0FnUYk76fKYhy18dyTcu4m2SqTwv5nC8PWYA54LenSN8AZxakO1QKa2DPDm6?=
 =?us-ascii?Q?HrFalcir8frD5QBmu0PNdhorYeP8acRFizzC6Db1MKwWgpSy0e31gRNiVE+V?=
 =?us-ascii?Q?3NTL58HwolXKYW97FS5a2T4yQWSbMz8FvkoL+3nIyRi+RQKxsPK7Sm9ammGB?=
 =?us-ascii?Q?G6SRzvs8Zz6fHzhQN6zw43A+Ko0AhpnEAzPXtYNmQ4QDO+QJrgi7yQWrUoxm?=
 =?us-ascii?Q?0SB4FlChslle/uxV3Axrz1IdrZ0rUhlE/SZvykvIePiNxFvlSQHYHaE2nqmv?=
 =?us-ascii?Q?YVk6YeoyfDavBJyqL4VY0vbMggJeAr3PX075I/ujL2mjbno332tPMiepHIEE?=
 =?us-ascii?Q?LILG79GznYSrx7Il6olx4axsHllILX+TkmaAstPZGnoTJStSWuvdc8pdK6tj?=
 =?us-ascii?Q?OwZYuMGwd0YNHZBCnRAldRSDY7b1ZY216xyFurvXbMBlhRwuBnyDioa6Uve5?=
 =?us-ascii?Q?xO9zWaM1hslYxFeM6Ywx3SKrHs3NDgUobCqG9+hVKjgjW/D284Qy3pHl13iO?=
 =?us-ascii?Q?S2O/NKdvUeQP59+uYXsY3HPJk7V2b4vTJ0eyxYBaluC1kXMvSkDjWBcUelG3?=
 =?us-ascii?Q?/TXrabNwjj8/AMMugbWCc9ELoM4oeOfeBXnRl9KVjx2gTTerNjm62PL1J0e2?=
 =?us-ascii?Q?332Wb9EzFeqXkp6s0O0wc0E=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 15096e04-21f4-4528-e1df-08d9e0e04f43
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 15:27:05.8186
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ekMOLdzFqt8GNkf7U8ooV+8uw0CWl/IrOpTONuJ3sDaaV1LnJxTo7n0AlSXbofT//4tGOJ4eBnsHaZLR6UXZXw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7144

On 26.01.2022 15:45, Andrew Cooper wrote:
> On 26/01/2022 12:26, Roger Pau Monne wrote:
>> One of the boxes where I was attempting to boot Xen in PVH dom0 mode
>> has quirky firmware, as it will handover with a device with memory
>> decoding enabled and a BAR of size 4K at address 0. Such BAR overlaps
>> with a RAM range on the e820.
>>
>> This interacts badly with the dom0 PVH build, as BARs will be setup on
>> the p2m before RAM, so if there's a BAR positioned over a RAM region
>> it will trigger a domain crash when the dom0 builder attempts to
>> populate that region with a regular RAM page.
>>
>> It's in general a very bad idea to have a BAR overlapping with a RAM
>> region, so add some sanity checks for devices that are added with
>> memory decoding enabled in order to assure that BARs are not placed on
>> top of memory regions. If overlaps are detected just disable the
>> memory decoding bit for the device and expect the hardware domain to
>> properly position the BAR.
>>
>> Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
>=20
> I'm not sure this is a sensible approach.
>=20
> A bar at 0 is utterly unusable, because it is outside of the host bridge
> window.
>=20
> The absence of any coherent GPA map for guests (needs fixing for oh so
> many reasons) is a primary contributor to the problem, because Xen
> *should* know where the guest's low and high MMIO windows are before
> attempting to map BARs into the guest.

But this is all about Dom0, ...

> The proper fix is to teach Xen about GPA maps, and reject BAR insertion
> outside of the respective bridge windows.

... and hence this isn't about "insertion", but about what we find
upon booting.

> An fix in the short term would be to disable the problematic BAR when
> scanning the PCI bus to being with.

You can't disable an individual BAR (except for the ROM one), you need
to disable all memory ones collectively (by disabling memory decode).
Which is what Roger does.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 15:45:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 15:45:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260983.451386 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCkUA-00043R-10; Wed, 26 Jan 2022 15:45:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260983.451386; Wed, 26 Jan 2022 15:45: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 1nCkU9-00043K-Sl; Wed, 26 Jan 2022 15:45:25 +0000
Received: by outflank-mailman (input) for mailman id 260983;
 Wed, 26 Jan 2022 15:45:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8h68=SK=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nCkU8-00043E-GE
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 15:45:24 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f7b12d78-7ebe-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 16:45:22 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f7b12d78-7ebe-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643211922;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=xQesOBLCSQbcJ09Thp+C/JGJ4jS8UaFtnzpieHptzyw=;
  b=Kj2NIhMoBUdnnquTTLIA5wiLQRmI34BQuWLJWvP9A6WUyCcH3xUXPJY4
   IKiJCO/6IbI51/ysNZQAfQHfwLgSna/zzXpp5eYj/6+op2KbhHLfDCLJa
   fQ1eCnaAXO+uaMNEyU+gE2EoVHSrxz8GYGjXOZux6eozNbyKMZUGK6Czj
   c=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: TYxtxBX139C8Vf1+o4QMWM+TU/Mj6ZUlISzy5gEPTa7H2nfXyO8h2iafvdRRsKN3MSBaCLvPtH
 gw+fVABsXLu4c5eYb8d2kQDwMJoo7OYMoZ/dmaPGFW+K57dULDPMX2vKlvX3CNqLYF29HEsXqe
 tZEJY6joAH/h15Vr0eyHqG9eSihSbNxhV7t1/lfS/pEkaYtUv8+undUIGKvhGrIR2oHu0cnRAN
 8HMB11DIZljnjiXdLSC0f8dFadUa8Vn39sSIVzbfeSAie/7S11nIyca9lFUR55Sq2Rve8Icaqw
 U8b+UVyjKHwpUsNNMY89V9BY
X-SBRS: 5.2
X-MesageID: 62728626
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:zch/0aPcaC9fQVHvrR3vkcFynXyQoLVcMsEvi/4bfWQNrUp2hmAFy
 DcbWzuEb/+LYmryLdtzbY/n/E9QvpHSx4dhGgto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdpJYz/uUGuCJQUNUjMlkfZKhTr6UUsxNbVU8En150Eg9w7RRbrNA2rBVPSvc4
 bsenOWHULOV82Yc3rU8sv/rRLtH5ZweiRtA1rAMTakjUGz2zhH5OKk3N6CpR0YUd6EPdgKMq
 0Qv+5nilo/R109F5tpICd8XeGVSKlLZFVDmZna7x8FOK/WNz8A/+v9TCRYSVatYoy65xfFO2
 f5ziby5VyQ2P73il/sASSANRkmSPYUekFPGCX22sMjVxEzaaXr8hf5pCSnaP6VBpLwxWzsXs
 6VFdnZdNXhvhMrvqF6/YvNrick5atHiIasUu216zCGfBvEjKXzGa/uQuoUIgm1u7ixINfnwa
 M4bSydoVkqeYTsMAkZHEMwzmfj90xETdBUH8QnI9MLb+VP70whZwLXrdt3PdbSiT8hPglyRo
 G6A+m3jGwwbL/SW0z/D+XWp7sffkCW+VI8MGbmQ8v9xnEbV1mEVEAcRV1awvb++kEHWc8pWN
 kg86ico668o+ySDVcLhVhe1pHqFuB80WNdKFeA+rgaXxcL84QyUG2wFRT5pc8E9uYk9QjlC/
 mGOm9TlFDl+qoq/QHiW9qqXhT6qMC1TJmgHDQcGUA8E7t/LsIw1yBXVQb5e/LWd14OvX2uqm
 nbT8XZ41+57YdM3O7uT5mCdog29jab1bgcrxRrWTkyq8R5jXdvwD2C30mTz4fFFJYefa1COu
 nkYhsSThNwz4YGxeD+lG7tUQuzwjxqRGHiF2AM0QcF9n9i40yP7JehtDCdCyFCF2yruURvge
 wfttAxY//e/11P6PPYsM+pd5ynHpJUM9OgJtNiIP7KigbArLWdrGR2Cg2bKjggBd2B3yckC1
 W+zK5rEMJrjIf0PIMCKb+kcy6Q34Ss12HneQ5v2pzz+j+bFPSXIF+tZbQvRBgzc0E9iiF+Em
 zq4H5DSoyizrcWkOnWHmWLtBQ1iwYcH6WDe9JUMK7/rzvtOE2A9Ef7BqY7NiKQ+95m5Ytzgp
 ynnMmcBkQKXrSSedW2iNy4/AJuyA8cXhS9rbEQEYAfzs1B+MNnH0UvqX8ZtFVXR3LY9nacco
 jhsU5joP8mjvRyeq21CNsGs9dI7HPlp7CrXVxeYjPEEV8cIbyTC+8P+fxup8y8LDyGtstA5r
 aHm3QTeKafvjSw4ZCoPQP7wnV63o1YHn+d+AxnBLtVJIR2++4l2MS3hyPQwJphUexnEwzKb0
 SeQAAsZ+raR89NkroGRiPDWtZqtHst/AlFeQzvR44GpOHSI5WGk24JBDrqFJGiPSGPu9ay+T
 uxJ1PWgYuYflVNHvtMkQbZmxK4z/fX1oLpewlg2FXnHdQ3zWLhhPmOHzY9EsagUnu1Vvg6/W
 0Su/NhGOOrWZJO5QQBJfAd8N7aNz/AZnDXW/M8ZGkSi6X8l5qeDXGVTIwKI1H5XIoxqPd532
 uwmosMXtVCy00J4LtacgylI3G2QNXhcAb4/v5QXDYK32AomzlZOPc7VBiPsuczdbtxNNg8hI
 yOOhbqEjLNZnxKQf302HHnL/OxcmZVR50wakA5cfwyEyojfm/s6/BxN6jBmHA1awyJO3/93J
 mU2ZVZ+Ir+D/mswicVON4x299qt2PFNFpTN9mY0
IronPort-HdrOrdr: A9a23:Fk+I8aCkrWZWXJTlHemF55DYdb4zR+YMi2TDgXoBMSC9Ffbo8/
 xG/c5rsCMd6l4qMk3I/OrsBEDuex/hHPJOjrX5Xo3SPjUO2lHJEGg41/qa/9SIIUSXndK1s5
 0PT0EUMqySMbEVt6fHCKbTKada/DEqmprY4ts3bh1WPGdXV50=
X-IronPort-AV: E=Sophos;i="5.88,318,1635220800"; 
   d="scan'208";a="62728626"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MZmaFBRbdWUbYyyYvxML7E83+8VoSftM3bWVaK1iBt4UC5PP72NdumKV9fLJtaWDRRz4nL6judIaPjfLa69KN/QHKd1G421169rfLtDjJCV3mp3+DQo8noty1xnbAuAYLhaWeeJrp1l2o/y1uJCgfsUaVV/XBSDRVN8Qq9jvcBE7zfNrnk11D9TwjeQSD9QeE6uKN7qX19SNYc9ekSnj1q5yDMKpiUfe1M+2WRaC//IvN/+wMXDfOtCDoQpT/Q0GKNY5w1XfUnW9kVNb4exHovORskZ2GFjXi/Jq8tduhld80YxQmOkbtcrsM+N5TmEW1iU5SP0Q/58WxtF3K95cJQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SzOx2XXdsPxuqJitDKtVyu6svMqQ7P5ryci3cfaR15M=;
 b=Ycv64D3PyjEhgDkcAXdGwXbagjgjvE2NdzdOncMaR8xe0f9GiEygU3tPsxWjx1keq1np9ckrOc4vfI18jnOmZjWBKJKWmIFJ1unG/TgW34+luZ6mqR7F13J7KtvslobTS6JBi7XMsQoNvevmBHLYlGRURMUmrckltsPDye1clekyTFi0ZW+AAK4mnubNf6BxkGesstqY/qqDGL8ZklsqNn3Cz2lIlnZhkh6qiQtdGtHA2n+le++e02zh3SInBLRiS588H4FCufSPmbHuSfDYS1ZBYDuNyGZiv7jgf/tbDyzfLibz/pggkKo4TShE4Y2zkmGigpBcpLUpdqDsFiryFw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SzOx2XXdsPxuqJitDKtVyu6svMqQ7P5ryci3cfaR15M=;
 b=MkSJirwSUTnuNP1Hav5cvF1Ca3H4HwsYPexdX6F1cZyaVjSqr4nd2yMZmEoK+IIzK2drqsx0xQmTWJQy7jKgoGjZYX4lVTHw8AnRmw52bzogz/qFBtkukL0mBrRg60qkA+3VPDFAYSRqitvJ70m2TSg9hHBYP5gTd/mZSiJ/UaQ=
Date: Wed, 26 Jan 2022 16:45:09 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, "Bertrand
 Marquis" <bertrand.marquis@arm.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Wei
 Liu" <wl@xen.org>, Paul Durrant <paul@xen.org>,
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH RFC] xen/pci: detect when BARs overlap RAM
Message-ID: <YfFshcEanUtXUlK3@Air-de-Roger>
References: <20220126122648.52275-1-roger.pau@citrix.com>
 <8537763d-2601-4092-f70f-1abbdd0a211f@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <8537763d-2601-4092-f70f-1abbdd0a211f@suse.com>
X-ClientProxiedBy: MRXP264CA0044.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:14::32) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b1aba72f-b565-40e7-f035-08d9e0e2d85b
X-MS-TrafficTypeDiagnostic: SN6PR03MB3648:EE_
X-Microsoft-Antispam-PRVS: <SN6PR03MB3648B478D4451B6DA59221498F209@SN6PR03MB3648.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: G4D+xzwjxqHUB1c9LymPphRUFBOpgALJbnWFRRsSlfReZ0NCkkuI7LdCkFi/ugugf21dFCrqG62XaIu/JSEUSyKC4uTfg6/K403mP7iXbVDmdGXHGix6WXbbSgIEBHUjJv96/7hckGVrHfFFw9zXnWpvKdaFP0BS+1Z9Z02o4e6mOPnz7OaccHHZTvT2AJtVsc9Rrk577FFBe9U9A9BHER3HhtPaK6pqhx8TmsphLE8QOAVSsEWcX6zEnfmx8U13ZjikskI5DtVpnFmht/6agRu+Scoy1wDVo9cJqIJzGlliqXPQXHMr3FKBtpHgSIZ7W7cnyMoIVwRdcUjwX2BNcoOd/ihrIdaL/ug3h7lerE3p94hsM6RGUZ04Oc6uGjLly09uNn1iggobdnNABIo44B3BWGG07Vw9jWjl5iJYfsifXp+oKRL6bvicwTIQ6S1ZkrVc4LrnQU9eE7XdEAZGGvtrBzFUMGIYlkj7NE41etWRNauayPzmP7UTiNjJ9f18M0x5h+DA3dS52ZBE+MXp0mkjyeFHE1pfNNs1d887XZIFpd2rRKVcmE+krnrmz/Va12x3qrzZiQmkVJR2E8eUq+XmXdr38OR4jTAX4isQof/9L4v10QrraVbV2/r2/L1CrgmGqrqRL429OOsMD2F3zQ==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(6916009)(9686003)(2906002)(26005)(66476007)(6666004)(83380400001)(38100700002)(6512007)(53546011)(8936002)(4326008)(508600001)(5660300002)(186003)(85182001)(8676002)(33716001)(86362001)(66556008)(54906003)(6486002)(66946007)(316002)(82960400001)(6506007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Z0Y3clY1ZlpWa3NaSG4zUUxXblU0UEFicTJCL0hJVEI1bUlFdVdORU9yR1BJ?=
 =?utf-8?B?RXRzendGVW8xR1ZUek8vWWcrMTlWWTIrZTh5Z0FHSE1hR0ZTTW51TEpVMTBo?=
 =?utf-8?B?RHBBTDdyN3Y2eXVPNVpYVnVTY3NnV0lHQ0cxRjFtV0pPWEN2RCtzMVlHcENN?=
 =?utf-8?B?QXZXMmtvejFoUnNVYm1kM0JhQ2pBYXZwZ3R1ZEZoNjh6LzBIbHdQVTVLT3p4?=
 =?utf-8?B?eU1lQjQySkJvUkR5cXpzVEFlV0xYZGpkWlJMNlJWN0RReTFnWHRwZU43MmdI?=
 =?utf-8?B?SUpNN3oyRDZZKzJ3M2JFNHVSNUQvS1plc05lNXNQVjQ2YXZ4VHVHSVNmYzZ0?=
 =?utf-8?B?VjhrS0hUUWNqRERlbmJsOEdkR3FTZWw1UU9INHRjZ2pJUkFGNnRRdGd2M1BF?=
 =?utf-8?B?N1RReXNOdng4OWdKTENsQWZaMldsTGtNN0tHcXh5S2RqMldkUjN6MXMrYVBF?=
 =?utf-8?B?dnhpVTZURlFncWxYVi9IaVVpdG5FMlJzOHVPdzl4WGVoSW44OXI0Z0JydmdR?=
 =?utf-8?B?NFduRGdqN3gxVDl2Z0FselRRTkRNdnA0amprUE41QUxyVDJvTWZ2TTZwbWdM?=
 =?utf-8?B?SldRaWFqaFVONVBVd3FGOS9mVFd1elVxSy9XcXBMWnVaNzkxSE9COUpwVGJn?=
 =?utf-8?B?bkg2T0ZPR0doQlRSaC9VdWh5WHlSVW5iWG5JWUh1NjEveW5RbUtkVnRtMG83?=
 =?utf-8?B?ZlUzZEV0bVpnU2hGVzNuR2F1NmQ2a1c4WHNwK1pRbnNzRW0vTEtJYk1iQnps?=
 =?utf-8?B?R1g5RXJBNkhybDZPQ3lsSTlpd1VuS2g3Ti8vTEZKQ1VJQU1sbXdNM0Rkb3ZE?=
 =?utf-8?B?UXRZazUxSzBUSjlXeWlKOThmNUJobENSMkdaSHdSWUl3T0tFcnlFaXF5U1Rl?=
 =?utf-8?B?YmVvVGovaFhkeGJOTnJ2MU05eFRjdkZWcWVmTGkvQ0MvalJhUXQvdEUzb2pp?=
 =?utf-8?B?MkF5d09BSVlLRWJJenIvb3o3Nmt1OU54RFlZcW9DRmNSMDN6TGxQM3Q0VGdY?=
 =?utf-8?B?T0Y4d3VhTXliT1JkN3I1L3lweHdKZHJReFVtclJkMGlSeEtZOE1XZGtKcHNp?=
 =?utf-8?B?VlFMLzRJQmhFbVJhbzhrQmxSeHhJaDg4a2kwZlEzTUxXWWU2ODNEVFgzV1o3?=
 =?utf-8?B?ODBCU3VIbkM5b1k1Q21RWk0rdGM5WVRuSi9USlozQmlWb0F0NVdNZlJNVmlu?=
 =?utf-8?B?RmtqaXh1TGswYUxZUysvY0hpTUtwQXlMRVFFdVRkK3V6REtuem9SRmVGS3FV?=
 =?utf-8?B?VFpNc1duZ0RQUlp4bVkxdXNuRGpGNDFrbUVSMFpsenczL294MnZ0SERVbDBY?=
 =?utf-8?B?MGZJL3duak44YTMvYmtHMTU4SDFHL2hjcmZGN1N3TE5UUjVFZmlySzY5MUUy?=
 =?utf-8?B?Q3lVZGpoakJ3Q3p0TW9HTWxCTVlweHE2a3BFS3ZMN2xCUnlWblY2QlFjT2dp?=
 =?utf-8?B?NFhrSGxqamFnOWdRTkpsOVAzZzd4ZTJFRStWUGlUS1JOK01QclNnTkVWQnRU?=
 =?utf-8?B?SVlDZXBhOU1lZ2tteEdGNjZoV2IvQ05NMy9WYUk1ZmVlVzd1WkRXSjZQV01w?=
 =?utf-8?B?WnpjMHo0ZElFWitMdVhkSkpFT1J1YTY2VE5WUEY4b3Z5YkFqZmgzUjZkT05N?=
 =?utf-8?B?dDd5SEhLaU0rbHQ4Y2dYK3lENmFRalJwS212Vy9ZZGZpQjZGTmhqRGs2bGRk?=
 =?utf-8?B?WkVRcFBZQy9UOExtOTNUbndIckdlU2pncWJqWFNpT1VOQ2JDVzE0bzkwaURY?=
 =?utf-8?B?TXh6M1U5b2Vrc0l3WU90Vk5zS2hoZFlZOENzSVZxWnZHS0gxVkRVQkdJTW9x?=
 =?utf-8?B?ZG9MWlNoSStjeXJLVWtOeTJ5bzFUQ3ZrUGFLN1orMC9GRWQ4TUNsZ256ZDZQ?=
 =?utf-8?B?MTRWSDVta0R1ZEdPWEF0QzB0aHdobWxTQ0poWmdvZ2Exa0hjSmVBVHFXOHkr?=
 =?utf-8?B?U3RVWFVzWnl1NDlZVFVkZVdSYTJkLzVQQlJnVEo2WjJVNEJhZlJKeVNrTFBW?=
 =?utf-8?B?WGY5RlJaVVhYTnUyQmwzbGVWZUJGeXNoR0VHejZlNzc3cm1Gcy9WVm1mdVBh?=
 =?utf-8?B?VXB0eEdwaGEwM2R6V1RYVEpJNUVSNU01U2wvZVhFYXNFc3FiS241OE1mK1or?=
 =?utf-8?B?WjJub2hIKy9DVGsrQnBXRTV4TFZCVTRVbFFUSmV4bVJmYWJ6YnVKUVhQdmNn?=
 =?utf-8?Q?oFhlzkYKV5AJyV9vJ59NynI=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: b1aba72f-b565-40e7-f035-08d9e0e2d85b
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 15:45:14.8176
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5fzPxE5ePL7iZfqd7tq01wV0RUvI5JaJVmaAZszvYs0V7/ud+toNXDjp9rVnMu1TaRRwm1Ss6DSkpZZ6PO9JxA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR03MB3648
X-OriginatorOrg: citrix.com

On Wed, Jan 26, 2022 at 03:08:28PM +0100, Jan Beulich wrote:
> On 26.01.2022 13:26, Roger Pau Monne wrote:
> > RFC because:
> >  - Not sure the best way to implement is_iomem_range on Arm. BARs can
> >    be quite big, so iterating over every possible page is not ideal.
> >  - is_iomem_page cannot be used for this purpose on x86, because all
> >    the low 1MB will return true due to belonging to dom_io.
> 
> I don't see an issue there - if you were to us it, you'd end up with
> the same scalability issue as you point out for Arm.
> 
> >  - VF BARs are not checked. Should we also check them and disable VF
> >    if overlaps in a followup patch?
> 
> Not sure about "followup patch", but once we support SR-IOV for PVH,
> that'll want checking, yes.
> 
> > --- a/xen/arch/x86/mm.c
> > +++ b/xen/arch/x86/mm.c
> > @@ -479,6 +479,26 @@ unsigned int page_get_ram_type(mfn_t mfn)
> >      return type ?: RAM_TYPE_UNKNOWN;
> >  }
> >  
> > +bool is_iomem_range(uint64_t start, uint64_t size)
> 
> Might be nice to have this sit next it is_iomem_page(). And wouldn't
> at least "start" better be paddr_t?

(paddr_t, size_t) would be better, but AFAICT size_t can be an
unsigned long and on Arm32 that won't be suitable for holding a 64bit
BAR size.

> > +{
> > +    unsigned int i;
> > +
> > +    for ( i = 0; i < e820.nr_map; i++ )
> > +    {
> > +        struct e820entry *entry = &e820.map[i];
> 
> const?
> 
> > +        if ( entry->type != E820_RAM && entry->type != E820_ACPI &&
> > +             entry->type != E820_NVS )
> > +            continue;
> 
> I think UNUSABLE also needs checking for here. Even further, it might
> be best to reject any range overlapping an E820 entry, since colliding
> with a RESERVED one could mean an overlap with e.g. MMCFG space.

Hm, I've though about adding UNUSABLE and RESERVED (and should have
added a note about this), but that might be too restrictive.

> > @@ -267,11 +270,74 @@ static void check_pdev(const struct pci_dev *pdev)
> >          }
> >          break;
> >  
> > +    case PCI_HEADER_TYPE_NORMAL:
> > +        nbars = PCI_HEADER_NORMAL_NR_BARS;
> > +        rom_pos = PCI_ROM_ADDRESS;
> > +        break;
> > +
> >      case PCI_HEADER_TYPE_CARDBUS:
> >          /* TODO */
> >          break;
> >      }
> >  #undef PCI_STATUS_CHECK
> > +
> > +    /* Check if BARs overlap with RAM regions. */
> > +    val = pci_conf_read16(pdev->sbdf, PCI_COMMAND);
> > +    if ( !(val & PCI_COMMAND_MEMORY) || pdev->ignore_bars )
> > +        return;
> > +
> > +    pci_conf_write16(pdev->sbdf, PCI_COMMAND, val & ~PCI_COMMAND_MEMORY);
> > +    for ( i = 0; i < nbars; )
> > +    {
> > +        uint64_t addr, size;
> > +        unsigned int reg = PCI_BASE_ADDRESS_0 + i * 4;
> > +        int rc = 1;
> > +
> > +        if ( (pci_conf_read32(pdev->sbdf, reg) & PCI_BASE_ADDRESS_SPACE) !=
> > +             PCI_BASE_ADDRESS_SPACE_MEMORY )
> > +            goto next;
> > +
> > +        rc = pci_size_mem_bar(pdev->sbdf, reg, &addr, &size,
> > +                              (i == nbars - 1) ? PCI_BAR_LAST : 0);
> > +        if ( rc < 0 )
> > +            return;
> 
> This isn't very nice, but probably the best you can do. Might be worth
> a comment, though.
> 
> > +        if ( size && !is_iomem_range(addr, size) )
> > +        {
> > +            /*
> > +             * Return without enabling memory decoding if BAR overlaps with
> > +             * RAM region.
> > +             */
> > +            printk(XENLOG_WARNING
> > +                   "%pp: disabled: BAR%u [%" PRIx64 ", %" PRIx64
> > +                   ") overlaps with RAM\n",
> 
> Mentioning "RAM" in comment and log message is potentially misleading
> when considering what other types get also checked (irrespective of my
> earlier comment). (Ftaod I don't mind the title using "RAM".)

Would the message below be better?

"%pp disabled: BAR%u [%" PRIx64 ", %" PRIx64 ") overlap detected\n"

> > @@ -399,8 +465,8 @@ static struct pci_dev *alloc_pdev(struct pci_seg *pseg, u8 bus, u8 devfn)
> >              break;
> >      }
> >  
> > -    check_pdev(pdev);
> >      apply_quirks(pdev);
> > +    check_pdev(pdev);
> 
> I can't find the description say anything about this re-ordering. What's
> the deal here?

Should have mentioned: this is required so that ignore_bars is set
prior to calling check_pdev.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 15:49:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 15:49:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260990.451405 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCkXz-0004wj-N7; Wed, 26 Jan 2022 15:49:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260990.451405; Wed, 26 Jan 2022 15:49:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCkXz-0004wc-KA; Wed, 26 Jan 2022 15:49:23 +0000
Received: by outflank-mailman (input) for mailman id 260990;
 Wed, 26 Jan 2022 15:49:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8h68=SK=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nCkXz-0004wW-5d
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 15:49:23 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 85b7fdaf-7ebf-11ec-8eb8-a37418f5ba1a;
 Wed, 26 Jan 2022 16:49:21 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 85b7fdaf-7ebf-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643212161;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=8oOjyUjHih/TiLMJEuk+zPXA5Rt+X20Q1VepQExxS0I=;
  b=bb2kbl+/XtXuSEexmVls+s/OYJcmjoPfxAL+/jfp1uIh84gpKwjacONF
   senNfubBEL4mFWwoFmxCy3LSwsrZQFNf+D9vYLYInrbLW6tpKH7oFOoqK
   fg1MTAcjcT6cIIWnfF7zYhY18yqX19EqVQVSuQ8dKqwPiSwloWqQ4kAlx
   s=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: h6GgggW/CznHHslxgFlUbMnx2/H0qHDFGvj/fxo/Tf+8bv+6kqtGqL3jk5x5CYofFuOHrqmcpY
 jpLMrr7QyxHkWyu26TuwAdctI3hjNJvbSVvKTDFSfOapYGlfyaKUj2OxVya4scwiaJbeADCtAp
 Cg0yM8RuqfHgMbjBhaNM8zmIh/IUKhMwrD4XrlqxNgkP2N76nJDdzQb9Rp8jzJjseLcT2S1+bn
 FLk3bUmbYbF0r1uNDCbXof0hn4CZqLgLGdMmENYFgB42nR/EMoiMtWogNsAgBJpVbLgo7cDpSa
 EwiRTKgldi9UneUylRyPcQFD
X-SBRS: 5.2
X-MesageID: 64980884
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:xGwJZa4Si53ue/hi9cn5lAxRtGLBchMFZxGqfqrLsTDasY5as4F+v
 mJJWGiFO/mKYDb1fNgjOti/oUxVvpCBzdUwTQo4/ilhHi5G8cbLO4+Ufxz6V8+wwmwvb67FA
 +E2MISowBUcFyeEzvuV3zyIQUBUjclkfJKlYAL/En03FV8MpBsJ00o5wbZg2NAw27BVPivW0
 T/Mi5yHULOa82Yc3lI8s8pvfzs24ZweEBtB1rAPTagjUG32zhH5P7pGTU2FFFPqQ5E8IwKPb
 72rIIdVXI/u10xF5tuNyt4Xe6CRK1LYFVDmZnF+A8BOjvXez8CbP2lS2Pc0MC9qZzu1c99Zy
 9pssaCUaCYTDIrznrleWR16FwpyIvgTkFPHCSDXXc27ykTHdz3nwul0DVFwNoodkgp1KTgQr
 7pCcmlLN03dwbLtqF64YrAEasALNs7kMZlZonh95TrYEewnUdbIRKCiCdpwgmth1pgeTaq2i
 8wxZDxrYDrRQiJ0AEo6JIolodmYm2fhbGgNwL6SjfVuuDWCpOBr65DyNPLFd9rMQt9a9m6Sq
 3ja5W3/DlcfPcaG1Due2nu2g6nEmiaTcJIfEvi0++BnhHWXx3cPE1sGWF2ju/67h0WiHdVFJ
 CQ84iMzqYAi+UrtScPyNzWGp3qDsg8ZSsBnOeQw4wGQyYLZ+w+cQGMDS1ZpYdkt5ZEeXiYh2
 BmPks+BLT5lvaCRSHmd3qyJtj70Mi8QRUcAeCsFQA0t89Tl5oYpgXrnVc1/GaS4itn0HzDYw
 D2QqiU6wbIJgqY2O76TpA6dxWj2/96QE1Bztl6/sn+ZAh1RZ4GEY7CMyHnh39F/KtvaRF2ju
 FMIhJ3LhAwRNq2lmCuISeQLObim4feZLTHR6WJS84kdGyeFoCD6I90JiN1qDAIwa5tfJ2e1C
 KPGkV4JvPdu0G2Wgbibim5bI+Aj1uDeGNvsTZg4hfIeM8EqJGdrEMyDDHN8PlwBcmBwwMnT2
 r/BKK5A6Er274w9nVJaoM9GidcWKtgWnz+7eHwC503PPUCiTHCUU6wZF1CFc/o06qiJyC2Mr
 YoEbpDXlUkDDb2hCsUyzWL1BQpbRZTcLcuuw/G7i8bZelY2cI3fI6K5LUwdl3xNwP0Oy7agE
 oCVUU5E0lvv7UAr2i3RAk2PnIjHBM4lxVpiZHREFQ/xhxALPNjzhI9CKcpfVeR3pYRLkK8vJ
 9FYKproPxi6Ymmdk9jrRcOj/NUKmdXCrV/mAhdJlxBmL8c/HFSYo4G9FuYtnQFXZheKWQIFi
 +TI/ivQQIYZRhQkC8DTafm1yEi2s2Rbk+V3N3Yk6PEPEKk12IQ1eSH3kNEtJMQAdUfKyjeAj
 l7EChYEv+jd5YQy9YCR16yDqo6oFcp4H1ZbQDaHverna3GC8zrx25JEXcaJYSvZCDH+9pK9a
 LgH1Pr7KvAGwgpH6tIuD7ZxwKsizNLzvLsGnB98FXDGYg3zWLNtK3WLx+dVsahJyuMLsAe6Q
 BvXqNJbJa+IKIXuF1tIfFgpaeGK1Pc1nDjO7KtqfBWmtXEvpLfeCBdcJRiBjiBZPYBZCoJ9z
 LdzotMS5iy+lgEuboSMgBdL+jneNXcHSagm6M0XWde5lgoxx1heSpXAESuqsoqXYtBBP0R2c
 D+ZgK3O2+ZVykbYKidhEHHM2axWhIgUuQAMx1gHfgzblt3Aj/4x/RtQ7TVoEVgFkkQZi7p+a
 jpxKkl4BaSS5DM51sFMUlelFxxFGBDEqFf6zEEElTGBQkSlPoAXwLbR5QpZEJglzl9h
IronPort-HdrOrdr: A9a23:xggAQqCFeBN6zYnlHemQ55DYdb4zR+YMi2TDsHoBLSC9E/bo8v
 xG885rtiMc5AxxZJhCo7690cu7MBThHPdOiOF6UItKNDOW3ldAR7sSj7cKrQeBJ8TWzJ8l6U
 8+GJIUNDSLNzdHZGzBkXGF+q0brOW6zA==
X-IronPort-AV: E=Sophos;i="5.88,318,1635220800"; 
   d="scan'208";a="64980884"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dXJe6VtIn4fgB3gx5qFYbPIPmZwsQqTMEds8gOiOajkzQhMcATdAtGHGYH/PFMXQdL2HXWsKyyqCj1KRCogb5sbgVWGKjiBXMGbmjU446NM6pXF/dMzLr5lksAXXFEhjbp8WYPiqbqqyC/Sjo991sE9ufME4wyUqCon5GKKUn+C4OgSyvjlVDhBg3pM87LfMqVg4t9JYiA9b14r3yknMCQzqtIt+NaNNEnIriF+r9AfDeCkdaGNIOURCncYA18yXH2ndzLKTiH0sX8+cHq+jFeo+z9OHrQKCUxtSLKs27Kf2frPnH4f7olj/FuYC0V9mlvbE+1rTtFjRH0V38GU69Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=H4YAwF/w+unTE322F2AFQijYArLKdz6GymS+pMDTgWs=;
 b=l2AqrdC3Cj7NRYFA43pejdXsHCd5hnEzD8k0wDXhz/d+tGMJND2Mc+qExEvzajV+HTJUREkuu0EAE04hCwrWz4z4N+HngZukOo+Wueg7APuukcef1qts1D+ryghIZ9beM/IGMd0OYE6aQsNGzdPNiMpKz5B05g7B2YtloQ6rb/g3mtnCxEAeIvYUhjPImkcr+ABrkqhXQH4BLn05EG5nqOauBkivjLK5cee4xJxuaS+qFnBCpBJTOe2W66Ew8NhK0Baalj53zQBkPWVrUSA3ukISJGZgQcJVwU679LbHVpHWUrMfg6BpBC5DIUfR3FfW/UehwHy6vBnhlyqOupW5Xw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=H4YAwF/w+unTE322F2AFQijYArLKdz6GymS+pMDTgWs=;
 b=X3P/D8Rjf7qNFMyVWr5hq7Y+z+IB1xdhHqTLRJafQBAaBLkCXaEVsw7JS7v2S4EynNdMBxfw+Dr7fQByUmHKBRdlLBku+0ncex+LXOZrqe2MlENDEI+b6i+5IKIMi3ejavXEHD5Cq9zY71LNKZCEb7voPc+MU6vKslAhumvEIsI=
Date: Wed, 26 Jan 2022 16:49:09 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <amc96@srcf.net>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, Paul Durrant
	<paul@xen.org>, <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH RFC] xen/pci: detect when BARs overlap RAM
Message-ID: <YfFtddUnO15BaJVS@Air-de-Roger>
References: <20220126122648.52275-1-roger.pau@citrix.com>
 <a46cb04b-2e83-a4d3-039f-61bdbd381c38@srcf.net>
 <4ce94feb-4a0e-67ad-611a-e56ce43c1a61@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <4ce94feb-4a0e-67ad-611a-e56ce43c1a61@suse.com>
X-ClientProxiedBy: MR2P264CA0030.FRAP264.PROD.OUTLOOK.COM (2603:10a6:500::18)
 To DS7PR03MB5608.namprd03.prod.outlook.com (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: dc4df899-1265-414b-6d77-08d9e0e36747
X-MS-TrafficTypeDiagnostic: BYAPR03MB3944:EE_
X-Microsoft-Antispam-PRVS: <BYAPR03MB394473D5FC11160151E32A1D8F209@BYAPR03MB3944.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: 3xfWp95WVONECsAeuyHNZvJeOPwZC9VCtFw016jG6jSrpQqkDh/rjG55SbK9CGsXvDDP+Dfm6oCusCY4O7CUdONl3ZSy+atU4O1LXjeTpL30UFresx1GW2gc2SxREhrCJNhO3vGLnRS3QP8mIgmMYXOLOg7xN6/fFPfPGZV5faxwY4UrqqVmbUFAzyRO5tXVy6B5xQ9yLrlo1qrKXo0xuZ8sq7a2vxaFKPx4zDLrAKQ9JrAdkZLgWJSu7+I6x7DcxwIZLzCwNkavQi4FDJTDZy9+tSzrS7QE/hdzuIKJR0ktz6dTkMR7d2RA1IzcKEXcplPWWmgIPoE9U0KZ6ajn4rdXgmuN6bn2SGLR6zwVjDA6azE4vTAkEAzy5epHN0PeuGvpETX1VEfdF9XPF8YY+i5epfhv30wCWhct2Sr9ImaOgr5nN/HBh+YZ2PUPiVjBzCy3OxhywrDqu/EcOyWiCpXXOlbJFo1r1y+1MYKtitaUO65V5ut40hX0QCtfDrTGSWYZp2NLeY2VxAXpRtbfiC9pokhedQARz1/PuN7tnWIlUYK3Qi2O3KDgKrfuT2er9mGNWim6s1b1OyG/YQktJdcGtWZvp3WEB0xSloSeQ1YecsU6IfqebOBgkVroktSz9GQ2mg1SJU5oHd+atfYkKVZ3zqhPMBHTU8Pt3ZhycFr5wu/QMYvPSXAkSVpvSEAPSsmU+Ve6O5qflczBTvK3Ig==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(7916004)(4636009)(366004)(33716001)(66476007)(66556008)(66946007)(86362001)(5660300002)(4326008)(2906002)(54906003)(508600001)(6486002)(6916009)(316002)(8936002)(38100700002)(82960400001)(26005)(85182001)(186003)(83380400001)(9686003)(53546011)(6506007)(6512007)(6666004)(8676002)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TWcxRDlHdzhGeThGUHk3d1V5bmxFQ3BseDZtQk1vK2hxKy85ZzB6ZDROZHFV?=
 =?utf-8?B?bEVMeS84WVFRcFd3cW5pRlE5ZVRZSyt3N0tiNlEzNzBuY1QzME4vUkdlM3R2?=
 =?utf-8?B?c2J1Y05JY08yVlJFbm8weExFazlWZUpYaS9MeG1uUklVSjFlYmFZRVEwaWlH?=
 =?utf-8?B?OFhISlpBV3BVMi9Oa2RBQTVRb3N3amVzRzNwWDBPVyttUU53bHR5MmNCcU5R?=
 =?utf-8?B?aFFzOGxmUDZOSnptQVo1ZjZjMXhpL0wyQ0hZV3NKZ2ZlL1V4dWxiL3hNdDho?=
 =?utf-8?B?eDM3V3Y0N0FTdExCMXNKOXpBeVdvamY5WFg1V3Z0M05ZWWRUNUNJZkowNGxC?=
 =?utf-8?B?ZXF2cVB6WEZMb0RwclpiZzdLRWxVR1I0b2h5RGhoWlcrZk1TUGdoYkVCUkl3?=
 =?utf-8?B?MkllZURtdGIrYk5nejZ1MURHUFk3VWZWSjRYYzI1Z002N2JvVkp4c3lQbWpN?=
 =?utf-8?B?Z1ZKdXhiZlBHQnNRNkk2Y3c4SGltamo5aUcrb1hDZ29yN1J0dWF5d1plQzNj?=
 =?utf-8?B?TnJGRTc4cGtjWlR6OTJXOFJEOWlXS0M4LzdpNzhwNFZTbXo4a0liVW96Ykhv?=
 =?utf-8?B?ZDFpam1lSU91Yy9xMDFIVzZNU2NNSjh1RGJiSlloTWRpMEwvZUdCQWlLa0Ur?=
 =?utf-8?B?V3dsOVk3bHRWa2xsRFNYNFEwbDRKOWVLWDJVZFBhUTU4WURUak96M0xqU0N1?=
 =?utf-8?B?NWV3N0pNTWcvaVV4bkMwbXorTUt5Y0t5bHp6SFZrMDFuNnBoNGNGQVpFNUZT?=
 =?utf-8?B?aFdrWmM2QnFISDN6SVNrTXBhODBzOC90cUJzeTVFZVFJWkFDaTRjSDBSNG0w?=
 =?utf-8?B?OUkva3FPclhLdThuSHZ6c3RJVWl5NmZDSDZuNEdkSEF5bUdwY29YQzc1S2Ez?=
 =?utf-8?B?U1g4VGR6aFhsVEVBZUtmMVNIeWtETXR1eXYrTWhnSmZMUjFPRDBvd1ZZMk41?=
 =?utf-8?B?cC9XOXF0S1FWMG5HREhlYTJ1eFAzZnlWcmZwSG4vZ3hxaEk0eTBmNkU2RlAz?=
 =?utf-8?B?bVVMaGFLc2V2QjY1cEx5TVZ3RUw2NWV1VHFXQmVKdUlTNmZaMnhqeUVrZzM2?=
 =?utf-8?B?cElKZ3YzRXAxVTMvMlJJdnhtMlhDOTJkUWlKd3BkNkFzcHdrZTJSUmpRYWYz?=
 =?utf-8?B?SEp6Y0Z5VTI1ZFFTZ2hxT3JoMGFQaVc3U0ZxMmgrN2hiNHNSbHlQRE9TNzM0?=
 =?utf-8?B?QnlwZENEWUZNZHFIQUhVeWJEZXVodWZoUEtuWTJNSnJjLzhEcVNSWkZUYklT?=
 =?utf-8?B?YjBFcWtFM3BhcWI4L3BsR0tkai9OeVl3ZEJZSE1FMGltOWx2bVBPaTI3cGJL?=
 =?utf-8?B?Q05NN3BmNGZsZFlXTXRURDlQRDZzdmdtdlpEbmwwaXdJM0hWUE45bTN2cEVh?=
 =?utf-8?B?ZU5zMlVZK1B3d1V5S1FROE9GQTR2OXFnU1FlMFJQc0MvUkp3QkUrWmtaVUp0?=
 =?utf-8?B?RlN3MlFSbmdlVGt4bUdrYVZoVHZQNjhmZnF1cEV4R2RWRy9pYXVuMFJ6Y2Ux?=
 =?utf-8?B?d0I1d3NXTzVTZm1WL0N6SUNCYmJ3WVQyUFRyV2JYUGd0K0RJZjRlZlZEbzZp?=
 =?utf-8?B?NThPZnZhLzNBSnJ6a09CeE9POGpvSm0ydW9PNWxhQk83WXlRRHhxMTd4Smlq?=
 =?utf-8?B?QmNzOVh1NFI1Y2VKQVRtdG1yaFFHV1hCRkE2ZnZnZXFmZkFSdVE0T0NDejRN?=
 =?utf-8?B?K2l2b0pDWWdtQW0xWUtqK2lrd1padGNzTmR1eEV6RjZxSExqNkg2ODJQZkZK?=
 =?utf-8?B?V3BZWk5Dcng5U3l0ZXpPb1VSOVRCUHI0TFh4Y3ErSjlhSGo3eFlCYXNnSHNK?=
 =?utf-8?B?T3VSRTkrdUlkcXhNUWsvSmZtOEF5dEFzWEdyK3RIR01EUEFMRDJZVlNFenV0?=
 =?utf-8?B?Q1paazViVDFVTkJITG5OOHNZWTR1V2s2RzRnOTA2NHBUS0I4S2pYV2dEdEc0?=
 =?utf-8?B?ZG1zT1dxOUMwS0JmcS9CMWQrNWFqdEtKTjVtN2xYRTR1RDVJczJqL0ZTc2Rx?=
 =?utf-8?B?UlJyZUVUVUF3cjY5eDVBWVRPZFl4ZHF1ZEN4RjZIcm1DUWVBeXk4Z2lSbUtj?=
 =?utf-8?B?SjAraWRXaFZTUWlWMW5UZ3lFQnNnOWdhcTdiVHA4Y3lwVDFiZTdXdjJqdXdm?=
 =?utf-8?B?RjlVaENlYUdVSDhmTUJCUC9RSXFkTkUvU3NBRnJKNG1SMXpLZGhPbDFyVzJH?=
 =?utf-8?Q?GSrVnlaZm/jjcX0/13o3GRk=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: dc4df899-1265-414b-6d77-08d9e0e36747
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 15:49:14.5661
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: NdRG6VrzfxwD8HQ5LrUN34PgW6TSfc7W/f/KxFfQ+trWrbKrYhvKULhliETAuoKyCUHuMPjyCkxl7oA2zffImg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB3944
X-OriginatorOrg: citrix.com

On Wed, Jan 26, 2022 at 04:27:04PM +0100, Jan Beulich wrote:
> On 26.01.2022 15:45, Andrew Cooper wrote:
> > On 26/01/2022 12:26, Roger Pau Monne wrote:
> >> One of the boxes where I was attempting to boot Xen in PVH dom0 mode
> >> has quirky firmware, as it will handover with a device with memory
> >> decoding enabled and a BAR of size 4K at address 0. Such BAR overlaps
> >> with a RAM range on the e820.
> >>
> >> This interacts badly with the dom0 PVH build, as BARs will be setup on
> >> the p2m before RAM, so if there's a BAR positioned over a RAM region
> >> it will trigger a domain crash when the dom0 builder attempts to
> >> populate that region with a regular RAM page.
> >>
> >> It's in general a very bad idea to have a BAR overlapping with a RAM
> >> region, so add some sanity checks for devices that are added with
> >> memory decoding enabled in order to assure that BARs are not placed on
> >> top of memory regions. If overlaps are detected just disable the
> >> memory decoding bit for the device and expect the hardware domain to
> >> properly position the BAR.
> >>
> >> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> > 
> > I'm not sure this is a sensible approach.
> > 
> > A bar at 0 is utterly unusable, because it is outside of the host bridge
> > window.
> > 
> > The absence of any coherent GPA map for guests (needs fixing for oh so
> > many reasons) is a primary contributor to the problem, because Xen
> > *should* know where the guest's low and high MMIO windows are before
> > attempting to map BARs into the guest.
> 
> But this is all about Dom0, ...
> 
> > The proper fix is to teach Xen about GPA maps, and reject BAR insertion
> > outside of the respective bridge windows.
> 
> ... and hence this isn't about "insertion", but about what we find
> upon booting.
> 
> > An fix in the short term would be to disable the problematic BAR when
> > scanning the PCI bus to being with.
> 
> You can't disable an individual BAR (except for the ROM one), you need
> to disable all memory ones collectively (by disabling memory decode).
> Which is what Roger does.

I've thought about just disabling the ROM BAR if that's the only
conflicting one, but it was easier given the context to just disable
memory decoding globally like it's done for plain BARs. Didn't seem
worth the extra code to special case the ROM BAR disabling.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 15:54:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 15:54:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260993.451417 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCkd0-0006K4-AE; Wed, 26 Jan 2022 15:54:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260993.451417; Wed, 26 Jan 2022 15:54:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCkd0-0006Jx-6d; Wed, 26 Jan 2022 15:54:34 +0000
Received: by outflank-mailman (input) for mailman id 260993;
 Wed, 26 Jan 2022 15:54:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ptil=SK=arm.com=robin.murphy@srs-se1.protection.inumbo.net>)
 id 1nCkcz-0006Jr-1R
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 15:54:33 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 4027121b-7ec0-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 16:54:32 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 37572D6E;
 Wed, 26 Jan 2022 07:54:31 -0800 (PST)
Received: from [10.57.68.47] (unknown [10.57.68.47])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id F387C3F766;
 Wed, 26 Jan 2022 07:54:29 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4027121b-7ec0-11ec-8f75-fffcc8bd4f1a
Message-ID: <447f89ca-86c0-dc35-e7ac-e6639a573670@arm.com>
Date: Wed, 26 Jan 2022 15:54:25 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101
 Thunderbird/91.5.1
Subject: Re: [PATCH v3 1/2] dt-bindings: arm: xen: document Xen iommu device
Content-Language: en-GB
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Oleksandr Tyshchenko <olekstysh@gmail.com>,
 "devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
 "linux-arm-kernel@lists.infradead.org"
 <linux-arm-kernel@lists.infradead.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20220117123251.140867-1-Sergiy_Kibrik@epam.com>
 <20220117123251.140867-2-Sergiy_Kibrik@epam.com>
 <e88b882f-4b5d-a801-fc68-66b7f790e11c@arm.com>
 <PAXPR03MB81144A63E18CAF10E785E2A7F0209@PAXPR03MB8114.eurprd03.prod.outlook.com>
From: Robin Murphy <robin.murphy@arm.com>
In-Reply-To: <PAXPR03MB81144A63E18CAF10E785E2A7F0209@PAXPR03MB8114.eurprd03.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 2022-01-26 15:09, Sergiy Kibrik wrote:
> Hi Robin,
> 
>>
>> This could break Linux guests, since depending on the deferred probe
>> timeout setting it could lead to drivers never probing because the "IOMMU"
>> never becomes available.
>>
> 
> I've noticed no deferred probe timeouts when booting with this patch. Could you please explain more on how this would break guests?

Right now I think it would actually require command-line intervention, 
e.g. "fw_devlink=on" or "deferred_probe_timeout=3600" (with modules 
enabled for the latter to take full effect), but I'm wary of the 
potential for future config options to control those behaviours by default.

Robin.

> Thank you!
> 
>   -- Sergiy


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 15:59:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 15:59:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.260996.451428 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCkhj-00077R-SP; Wed, 26 Jan 2022 15:59:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 260996.451428; Wed, 26 Jan 2022 15:59:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCkhj-00077K-P8; Wed, 26 Jan 2022 15:59:27 +0000
Received: by outflank-mailman (input) for mailman id 260996;
 Wed, 26 Jan 2022 15:59:26 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1nCkhi-00077D-Tr
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 15:59:26 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nCkhh-0005gv-Fh; Wed, 26 Jan 2022 15:59:25 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nCkhh-0004wO-6t; Wed, 26 Jan 2022 15:59:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:Message-Id:Date:
	Subject:Cc:To:From; bh=eBX7D1PxumbG6dEKxGfJrObnb724MkaIC0aw1q7qAAA=; b=Z1lqUu
	AliszOIcbnQ0/8hqxh4xIUMZ+CAy/rSy2faCYqaiPIOPojibOf0SnCDL8fjSDkR5BOo3H7uPs7UXV
	gexj0xPc6sf3VnkSp5RkeVmeCraPKUw7o/LCxEOoUOjfUTuNErNtVSI8YCa6MVWhAZpZ9A/rXOyAr
	fVTpsumwdlg=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v2] xen: Replace arch_mfn_in_directmap() with arch_mfns_in_directmap()
Date: Wed, 26 Jan 2022 15:59:19 +0000
Message-Id: <20220126155919.36706-1-julien@xen.org>
X-Mailer: git-send-email 2.32.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

The name of arch_mfn_in_directmap() suggests that it will check against
that the passed MFN should be in the directmap.

However, the current callers are passing the next MFN and the
implementation will return true for up to one MFN past the directmap.

It would be more meaningful to test the exact MFN rather than the
next one.

That said, the current expectation is the memory will be direct-mapped
from 0 up to a given MFN. This may not be a valid assumption on all
the architectures.

For instance, on Arm32 only the xenheap that will be direct-mapped.
This may not be allocated a the beginning of the RAM.

So take the opportunity to rework the parameters and pass the
number of pages we want to check. This also requires to rename
the helper to better match the implementation.

Note that the implementation of the helper on arm32 is left as-is
for now.

Signed-off-by: Julien Grall <jgrall@amazon.com>

----

Changes in v2:
    - Pass a region instead the last MFN.
    - Rename the helper to arch_mfns_in_directmap()
    - This was https://lore.kernel.org/xen-devel/20211216152220.3317-1-julien@xen.org/

Looking at the history, it looks like the check in init_node_heap()
was <= and it was simply moved to a new helper without any adjustment
as part of c6fdc9696a "boot allocator: use arch helper for virt_to_mfn
on DIRECTMAP_VIRT region".
---
 xen/arch/arm/include/asm/arm32/mm.h | 2 +-
 xen/arch/arm/include/asm/arm64/mm.h | 2 +-
 xen/arch/x86/include/asm/mm.h       | 6 +++---
 xen/common/page_alloc.c             | 4 ++--
 4 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/xen/arch/arm/include/asm/arm32/mm.h b/xen/arch/arm/include/asm/arm32/mm.h
index 68612499bf6c..6b039d9ceaa2 100644
--- a/xen/arch/arm/include/asm/arm32/mm.h
+++ b/xen/arch/arm/include/asm/arm32/mm.h
@@ -5,7 +5,7 @@
  * Only a limited amount of RAM, called xenheap, is always mapped on ARM32.
  * For convenience always return false.
  */
-static inline bool arch_mfn_in_directmap(unsigned long mfn)
+static inline bool arch_mfns_in_directmap(unsigned long mfn, unsigned long nr)
 {
     return false;
 }
diff --git a/xen/arch/arm/include/asm/arm64/mm.h b/xen/arch/arm/include/asm/arm64/mm.h
index d0a3be7e15a4..aa2adac63189 100644
--- a/xen/arch/arm/include/asm/arm64/mm.h
+++ b/xen/arch/arm/include/asm/arm64/mm.h
@@ -5,7 +5,7 @@
  * On ARM64, all the RAM is currently direct mapped in Xen.
  * Hence return always true.
  */
-static inline bool arch_mfn_in_directmap(unsigned long mfn)
+static inline bool arch_mfns_in_directmap(unsigned long mfn, unsigned long nr)
 {
     return true;
 }
diff --git a/xen/arch/x86/include/asm/mm.h b/xen/arch/x86/include/asm/mm.h
index 5dbcee869624..9b9de4c6bef7 100644
--- a/xen/arch/x86/include/asm/mm.h
+++ b/xen/arch/x86/include/asm/mm.h
@@ -635,13 +635,13 @@ void write_32bit_pse_identmap(uint32_t *l2);
 
 /*
  * x86 maps part of physical memory via the directmap region.
- * Return whether the input MFN falls in that range.
+ * Return whether the range of MFN falls in the directmap region.
  */
-static inline bool arch_mfn_in_directmap(unsigned long mfn)
+static inline bool arch_mfns_in_directmap(unsigned long mfn, unsigned long nr)
 {
     unsigned long eva = min(DIRECTMAP_VIRT_END, HYPERVISOR_VIRT_END);
 
-    return mfn <= (virt_to_mfn(eva - 1) + 1);
+    return (mfn + nr) <= (virt_to_mfn(eva - 1) + 1);
 }
 
 #endif /* __ASM_X86_MM_H__ */
diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 38eea879c04a..f8749b0787a6 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -588,7 +588,7 @@ static unsigned long init_node_heap(int node, unsigned long mfn,
         needed = 0;
     }
     else if ( *use_tail && nr >= needed &&
-              arch_mfn_in_directmap(mfn + nr) &&
+              arch_mfns_in_directmap(mfn + nr - needed, needed) &&
               (!xenheap_bits ||
                !((mfn + nr - 1) >> (xenheap_bits - PAGE_SHIFT))) )
     {
@@ -597,7 +597,7 @@ static unsigned long init_node_heap(int node, unsigned long mfn,
                       PAGE_SIZE - sizeof(**avail) * NR_ZONES;
     }
     else if ( nr >= needed &&
-              arch_mfn_in_directmap(mfn + needed) &&
+              arch_mfns_in_directmap(mfn, needed) &&
               (!xenheap_bits ||
                !((mfn + needed - 1) >> (xenheap_bits - PAGE_SHIFT))) )
     {
-- 
2.32.0



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 16:10:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 16:10:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261001.451444 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCkry-0001FX-Tv; Wed, 26 Jan 2022 16:10:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261001.451444; Wed, 26 Jan 2022 16:10:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCkry-0001F0-Qr; Wed, 26 Jan 2022 16:10:02 +0000
Received: by outflank-mailman (input) for mailman id 261001;
 Wed, 26 Jan 2022 16:10:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OZ3N=SK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nCkrx-00012x-Pk
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 16:10:01 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 69c4cd73-7ec2-11ec-8eb8-a37418f5ba1a;
 Wed, 26 Jan 2022 17:10:00 +0100 (CET)
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur02lp2058.outbound.protection.outlook.com [104.47.4.58]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-39-RrSvbPC6PhOqJMU2SxvuJw-1; Wed, 26 Jan 2022 17:09:58 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM6PR04MB4661.eurprd04.prod.outlook.com (2603:10a6:20b:18::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Wed, 26 Jan
 2022 16:09:58 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.015; Wed, 26 Jan 2022
 16:09:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 69c4cd73-7ec2-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643213400;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=cXolN/SxCM3oIZ3juuu2jb480Reg2M5TA+W5vPslNuM=;
	b=WYMc5xQXKthBCmulI8SUnGGyhn2EhPRH2Y0J5kZDTTLn70PxWtk3fm45aGuhUxGkWy3TCo
	e16NCXhuruGBBlIjKeXpNqi/YU3S+OoCQmYKtaBzbr3bxAFQbrHhg5QZ7UL/Te5xAqIfWG
	gqEhmAZbxpRW+fQhhgupvBbdIhY6PCo=
X-MC-Unique: RrSvbPC6PhOqJMU2SxvuJw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XifWNigV2Z9FyzNOU6PxTUSEBEMlro11PJRcaqK6Zksz/L4n6mrOi1nxGPP2//q0kuqTE1amzVnGUE/Xw3iLmcHNlDmDsj24DhEo+gHOyZD+sXGyZEIuTmbkHV6u+A8i9DLAim6JN9fTgX+mnb6hr5u+g10923SozJWpnjWJPHTnezW789NxuavNGYlxsyt+ZjBlnSvmhD/l1pMFQcBX2BinSahuPYF2FfKNmrATfx0kjjIj8+RFK/xktJVU3L4GIpWPuGJILVwxiw4qmbXwfAafx6l1ZzM+gPOOtZdHW/HeNN1RMjXbwCvoRJzIv6826mjFCaKUZ884a4IQvbbcMA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0X2Fs5FIItK1brESSdlpvADRiP4VXsgO3Ryq0xoLQ7s=;
 b=HIU9bdHrvZqWvIbHvMm6+wt7ViPbzgK9PTUw3ortIW3azcAVzpHJ6ZssnBAnrXY8RFVjxYoiUP9KV+wv72To3EPJz0IxWQf37QGbsXMljzwlAlgemeLroHKroXokf1/TL7Zs0gCUGquFCd/XhgPcHzJnONqe0EvECVERAsO52MP/yHwQSnZMTOd3O4N+o5k8OKpL0gi1NChCyrGkKTaaIZnqn4Ed/9lNK7IxUlkqQuvYu9m+a3sKMnOQCfpzxGA2NLroV8KqbVawCwtb0hJdEc939yV89zTFPaCczXugWs2Wc3ZHFSLKeRnH3DY5Acsn2PjwlY1OmxFXdgtqwAtsTA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <00d0be87-b5b2-b713-661b-eb07e5a5a53b@suse.com>
Date: Wed, 26 Jan 2022 17:09:56 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH RFC] xen/pci: detect when BARs overlap RAM
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org
References: <20220126122648.52275-1-roger.pau@citrix.com>
 <8537763d-2601-4092-f70f-1abbdd0a211f@suse.com>
 <YfFshcEanUtXUlK3@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YfFshcEanUtXUlK3@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS9PR06CA0138.eurprd06.prod.outlook.com
 (2603:10a6:20b:467::24) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3c10c05a-9eec-41a6-a495-08d9e0e64c27
X-MS-TrafficTypeDiagnostic: AM6PR04MB4661:EE_
X-Microsoft-Antispam-PRVS:
	<AM6PR04MB4661B67312403DC066C2A6CEB3209@AM6PR04MB4661.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:
	/OP0XSq72fHtPqcAwY4TftcFHCUb1va3yw50GUjdw4gWLabUyN5Z3MrWmWvJc7PYXD8IiE5vLGwQbrjWN9ZwzF/QAsVb5VyFU7dveGKf1EhTcfj2uNExXUjqPqxII/gbufmZlxSJGhxSjW4xULPLO5ZkaesWkPIWexvcBWw7nEAf6t6gWjUdOs6LK+Z7+bGbBhR3DUYt2RZMP52cUdkloKRJaf2O2KTYKDhOLIE78X1rn9OrecqVitvaVYU03M10lmaR+TtIV1sWwMwJ+quV6pMENI3IzCwyt5RF0fr5Z+PSjZgrg5Y/inJWGHvkN9z+rhRwlsvmVP/OfLCG/KcZSIN3cDfOnPrjTLCOcfV1qsiGmLq1TcBlrgFk2ZBRAjv2W8sk0PchFa+mIZNZ5/dCjrxLS8zl7JfeY4dqoX1PqlPiHRCwfqy2OKBBzQ86To/NhsoLw+vBlJHQs29IVySb9wWQY2FtffS1qCd8KAL9IxQZr4LH24o0keDSpPovFmztjWIWNECKtgNdRREXNR7i79sX+EePREoFWKVoQX1JUzFRMhGw7FLiOpBYaT1vt1rpzGctaeui+IYJuT3iiCfHMEK+DZ1ntUoHYXJJ1uqocsEYLIIQkjFPYMZWZf8SMaa+gHp6Ws638MUsZwglUk3U6W8oiKpiMD7/foAeuO7fU7SAYi+6i7JCiMNUtBje8cmnx8OVAabx6udMkJVrPVSTIMNvldrW+qihj4FONUdeC70fZ4umfDCmXidl4hodBWb/
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:(13230001)(366004)(66946007)(66556008)(4326008)(66476007)(8936002)(31696002)(31686004)(7416002)(86362001)(5660300002)(54906003)(508600001)(6486002)(6916009)(316002)(38100700002)(2906002)(26005)(8676002)(2616005)(36756003)(186003)(83380400001)(6512007)(6506007)(53546011)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?bx5TkPPwmwFOzwlHOhKpGo9F+0dnNeX6yRDGxCJLtPlje+/C29zQMDGZeeXP?=
 =?us-ascii?Q?A0sDHw1+EbsUQAjEl/1IdDps9sQ238en4y/oeKS4QDPz3TAbnPoC0UOOZ2q/?=
 =?us-ascii?Q?IBq2T42yKNJ27/9UFq9MBt3B9A11XEgQsZDxjFXsL3zTuplj3OzCCtO5NvUT?=
 =?us-ascii?Q?hZuaPzi/vfUx6Xq5G85gXmtjSw/yWEa9sZ22W9yWK99x55uYrHTQHseLu7ab?=
 =?us-ascii?Q?yltc1Spxq/VOoq9WhgUP+qNbZBkttsBGvV2kL6TPnbgPCyQlLMofrsVIMaNE?=
 =?us-ascii?Q?cXmatmM51CDKEpfQpxyAcKJd6Utmhk5gePRvck3LNLUKoQ9hGObjNWDw1CsB?=
 =?us-ascii?Q?S3duzUjFcW0dbD45oaHwBwPNkKTnGY/E88NsMtvmmiDzjID2R1oQNCrAHw5M?=
 =?us-ascii?Q?WZUTM+nV61E0MUDhgDSqPBp6cih5iDd8PDjJUShbMW2M2u4Nq7UiuYtFGbYa?=
 =?us-ascii?Q?DSW3iQOCujbCUdrJ2gWG/45vbrMZpcDyXyxW9c7lp0i8z0AhwmDN2frU+s6j?=
 =?us-ascii?Q?vdziJQDVFXriEgcek5HwuP2ZIKOfrnbX8vOkumyH6FyJ/h0weeHVZSG4c6B9?=
 =?us-ascii?Q?pnUhaB3Uerp+ixHoACU0DXUKOj9cO3ZgycOPwgwTQu3MGQS3fiG7PEFiQZ7w?=
 =?us-ascii?Q?ywTmqtJFRt/AsTNtNyOS4m8bzYJGVx7ULTFxvpIuhalXAXZvdFvJ60rnHvjx?=
 =?us-ascii?Q?vxrt6O7rE7xNhBO/E53WMj/HfB441+jYhT5OipMvH/zYpgEYxlXJWyNzEr4d?=
 =?us-ascii?Q?iaZe7N4u5oblCbBBfzNoBi2MYyBMa7sEmMvH+zIeSsK+tqVRGjqOc4mdeE6y?=
 =?us-ascii?Q?YSptDLQFGUVONev/curkX9qoNrrD9soRVeKL4LFRoYT3wXY5iFxxTi4tZq7J?=
 =?us-ascii?Q?x1Bk1De9vEzbjQKuEu7tizPXGk5y8dgm74IxZGq4QxPX1HRbcY436ZSH4uxR?=
 =?us-ascii?Q?5F2ZTWLl+eATX2U5FOOb83IBVtndKOVqm2YiuuLs6EkZSdm3gtvd8mx2SV4H?=
 =?us-ascii?Q?Kbn1nFMTel6Z0wqqO1pnbYbEmaXGUrV5/ULicSUWFD/kMJxeA6XTHcnZp85Z?=
 =?us-ascii?Q?llFuRjBlztzFJi1hzE8kY+ZXgyLGIYb/M8B2UbNq8rpsIgqnVIztrVz4A740?=
 =?us-ascii?Q?vBVoSbOCaODh+q1k03O4u6pRnjtyYrXDpLDaoWTooBxVMvJ5LwTObDZLHz9C?=
 =?us-ascii?Q?ckDlIpe3KIlYTLv2T9dY3F22F8UmHjI/miaxxF5R6mo5NdFTP0U+fRfkwlf9?=
 =?us-ascii?Q?BWwOh8YbeB0v8M9JczPoOY1w2IIFoKEaXGgiX8ltt9OggsbPKbYxPNjH6xHp?=
 =?us-ascii?Q?7oXHWTVLEhy/M9G5jdRJxmLxlddmrZbHbm33szbOYfNhY5nf/HVl0muuVlir?=
 =?us-ascii?Q?fWZMYHm5+zPAHrmbSSESfwFXIVvLPSHrGyD3j7hStdL0zfFRZtzZ+RIDWFzr?=
 =?us-ascii?Q?xzidYuEcwuPX13voXdSfvXruNa85nRXrIGx9TTJgBpEsPowjbp07szPVZ33i?=
 =?us-ascii?Q?wgtmoOO9Ikob1gZEBU9UIgWn/eir/BtCgaeUN2h93hRVS1f1SnSc92THEuNP?=
 =?us-ascii?Q?mPCA9Wj2O+zI4HjJhwjUR7ZIa5U0UpCnE0vrdnDb8tYubiHOVfE+nXjBmoWi?=
 =?us-ascii?Q?47Cj8sermCbcXIUcxfFXF2U=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3c10c05a-9eec-41a6-a495-08d9e0e64c27
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 16:09:57.7058
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3Nxga3YvRICmiHjHl1JXfKJhCw4bAVzS0t7nC2Vsj/EsjXT/GUNKzaCc4MnnqVY2YfCXN33gt6/5qgu3o5iUDA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB4661

On 26.01.2022 16:45, Roger Pau Monn=C3=A9 wrote:
> On Wed, Jan 26, 2022 at 03:08:28PM +0100, Jan Beulich wrote:
>> On 26.01.2022 13:26, Roger Pau Monne wrote:
>>> --- a/xen/arch/x86/mm.c
>>> +++ b/xen/arch/x86/mm.c
>>> @@ -479,6 +479,26 @@ unsigned int page_get_ram_type(mfn_t mfn)
>>>      return type ?: RAM_TYPE_UNKNOWN;
>>>  }
>>> =20
>>> +bool is_iomem_range(uint64_t start, uint64_t size)
>>
>> Might be nice to have this sit next it is_iomem_page(). And wouldn't
>> at least "start" better be paddr_t?
>=20
> (paddr_t, size_t) would be better, but AFAICT size_t can be an
> unsigned long and on Arm32 that won't be suitable for holding a 64bit
> BAR size.

Indeed. We'd need a resource_size_t or alike.

>>> +{
>>> +    unsigned int i;
>>> +
>>> +    for ( i =3D 0; i < e820.nr_map; i++ )
>>> +    {
>>> +        struct e820entry *entry =3D &e820.map[i];
>>
>> const?
>>
>>> +        if ( entry->type !=3D E820_RAM && entry->type !=3D E820_ACPI &=
&
>>> +             entry->type !=3D E820_NVS )
>>> +            continue;
>>
>> I think UNUSABLE also needs checking for here. Even further, it might
>> be best to reject any range overlapping an E820 entry, since colliding
>> with a RESERVED one could mean an overlap with e.g. MMCFG space.
>=20
> Hm, I've though about adding UNUSABLE and RESERVED (and should have
> added a note about this), but that might be too restrictive.

Why (other than because of firmware bugs)?

>>> +        if ( size && !is_iomem_range(addr, size) )
>>> +        {
>>> +            /*
>>> +             * Return without enabling memory decoding if BAR overlaps=
 with
>>> +             * RAM region.
>>> +             */
>>> +            printk(XENLOG_WARNING
>>> +                   "%pp: disabled: BAR%u [%" PRIx64 ", %" PRIx64
>>> +                   ") overlaps with RAM\n",
>>
>> Mentioning "RAM" in comment and log message is potentially misleading
>> when considering what other types get also checked (irrespective of my
>> earlier comment). (Ftaod I don't mind the title using "RAM".)
>=20
> Would the message below be better?
>=20
> "%pp disabled: BAR%u [%" PRIx64 ", %" PRIx64 ") overlap detected\n"

This or maybe

"%pp disabled: BAR%u [%" PRIx64 ", %" PRIx64 ") overlaps with memory map\n"

in particular if, on x86, we'd be checking for any E820 entry type.

>>> @@ -399,8 +465,8 @@ static struct pci_dev *alloc_pdev(struct pci_seg *p=
seg, u8 bus, u8 devfn)
>>>              break;
>>>      }
>>> =20
>>> -    check_pdev(pdev);
>>>      apply_quirks(pdev);
>>> +    check_pdev(pdev);
>>
>> I can't find the description say anything about this re-ordering. What's
>> the deal here?
>=20
> Should have mentioned: this is required so that ignore_bars is set
> prior to calling check_pdev.

Ah, I see. Makes sense, but indeed wants mentioning.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 16:10:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 16:10:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261002.451455 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCksD-00028I-A3; Wed, 26 Jan 2022 16:10:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261002.451455; Wed, 26 Jan 2022 16: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 1nCksD-00028A-6m; Wed, 26 Jan 2022 16:10:17 +0000
Received: by outflank-mailman (input) for mailman id 261002;
 Wed, 26 Jan 2022 16:10: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 1nCksC-00027K-Ke; Wed, 26 Jan 2022 16:10: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 1nCksC-0006QJ-Go; Wed, 26 Jan 2022 16:10: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 1nCksB-00014Z-7i; Wed, 26 Jan 2022 16:10:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nCksB-0003Kh-7E; Wed, 26 Jan 2022 16:10:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
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=bg7Z+SwWsFS1fhe7sSn+E38MWoAmA8eeA4iCAiexF2Y=; b=JuBCFdKMmsqvwadUi43q3wP1xs
	J+oEiNazT5CyDizlsgUK4v1GDnInNE2TTJG9nE6enr76NapN/4qpWff/S4O19P8mKPTO7RFcIB6vK
	JxNmduU2KkWlsZQG0efqLFs70Zoy250ng1/+Ie3fJCHrsGM2/9kswyQduuqxEOI17Pjw=;
To: xen-devel@lists.xenproject.org
Subject: [xen-4.14-testing bisection] complete build-amd64-xsm
Message-Id: <E1nCksB-0003Kh-7E@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 26 Jan 2022 16:10:15 +0000

branch xen-4.14-testing
xenbranch xen-4.14-testing
job build-amd64-xsm
testid xen-build

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:  4e25a788d000e57c4d04fdd33c209d7173420580
  Bug not present: c45c2c2e09295ef3008a79d78673af0819ff4e4f
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/167888/


  commit 4e25a788d000e57c4d04fdd33c209d7173420580
  Author: Andrew Cooper <andrew.cooper3@citrix.com>
  Date:   Tue Jan 25 13:52:30 2022 +0100
  
      x86/msr: Split MSR_SPEC_CTRL handling
      
      In order to fix a VT-x bug, and support MSR_SPEC_CTRL on AMD, move
      MSR_SPEC_CTRL handling into the new {pv,hvm}_{get,set}_reg() infrastructure.
      
      Duplicate the msrs->spec_ctrl.raw accesses in the PV and VT-x paths for now.
      The SVM path is currently unreachable because of the CPUID policy.
      
      No functional change.
      
      Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
      Reviewed-by: Jan Beulich <jbeulich@suse.com>
      master commit: 6536688439dbca1d08fd6db5be29c39e3917fb2f
      master date: 2022-01-20 16:32:11 +0000


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-4.14-testing/build-amd64-xsm.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-4.14-testing/build-amd64-xsm.xen-build --summary-out=tmp/167888.bisection-summary --basis-template=167629 --blessings=real,real-bisect,real-retry xen-4.14-testing build-amd64-xsm xen-build
Searching for failure / basis pass:
 167822 fail [host=himrod1] / 167629 [host=fiano1] 167415 [host=godello0] 167216 ok.
Failure / basis pass flights: 167822 / 167216
(tree with no url: minios)
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 7e5c603cba0823fd97456984f4cfc21c4c831b52 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c e4f02c12518c0fe8154950b2e34c56a92721626e 50935b88b4cd7f9cefe9eb2ffc5150d06c501d05
Basis pass dfafa8e45382939fb5dc78e9d37b97b500a43613 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 2dd4b9b3f84019668719344b40dba79d681be41c c4cf5388652e8434652e30c73aa79635b4253675
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/osstest/ovmf.git#dfafa8e45382939fb5dc78e9d37b97b500a43613-7e5c603cba0823fd97456984f4cfc21c4c831b52 git://xenbits.xen.org/qemu-xen-traditional.git#3c659044118e34603161457db9934a34f816d78b-3c659044118e34603161457db9934a34f816d78b git://xenbits.xen.org/qemu-xen.git#d7d6a60e73ee21e82f0bac2036153ccccf996e6c-d7d6a60e73ee21e82f0bac2036153ccccf996e6c git://xenbits.xen.org/osstest/seabios.git#2dd4b9b3f84019668719344b40dba79d681be\
 41c-e4f02c12518c0fe8154950b2e34c56a92721626e git://xenbits.xen.org/xen.git#c4cf5388652e8434652e30c73aa79635b4253675-50935b88b4cd7f9cefe9eb2ffc5150d06c501d05
Loaded 12639 nodes in revision graph
Searching for test results:
 167216 pass dfafa8e45382939fb5dc78e9d37b97b500a43613 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 2dd4b9b3f84019668719344b40dba79d681be41c c4cf5388652e8434652e30c73aa79635b4253675
 167415 [host=godello0]
 167629 [host=fiano1]
 167812 [host=fiano0]
 167838 [host=fiano0]
 167841 [host=fiano0]
 167842 [host=fiano0]
 167843 [host=fiano0]
 167844 [host=fiano0]
 167845 [host=fiano0]
 167847 [host=fiano0]
 167848 [host=fiano0]
 167854 [host=fiano0]
 167857 [host=fiano0]
 167860 [host=fiano0]
 167822 fail 7e5c603cba0823fd97456984f4cfc21c4c831b52 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c e4f02c12518c0fe8154950b2e34c56a92721626e 50935b88b4cd7f9cefe9eb2ffc5150d06c501d05
 167863 [host=fiano0]
 167866 pass dfafa8e45382939fb5dc78e9d37b97b500a43613 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 2dd4b9b3f84019668719344b40dba79d681be41c c4cf5388652e8434652e30c73aa79635b4253675
 167868 fail 7e5c603cba0823fd97456984f4cfc21c4c831b52 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c e4f02c12518c0fe8154950b2e34c56a92721626e 50935b88b4cd7f9cefe9eb2ffc5150d06c501d05
 167869 pass 04eacd39439d55bb1a5cbd366c19b1c03d5c7846 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 2dd4b9b3f84019668719344b40dba79d681be41c c4cf5388652e8434652e30c73aa79635b4253675
 167870 pass ee1f8262b83dd88b30091e6e81221ff299796099 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 34c3fce6e7361c2e38f22a3d973d72b994285313 cbadf67bcab4e29c883410db393f4f5ef34df04a
 167872 pass 9dd14fc91c174eae87fd122c7ac70073a363527f 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 6a62e0cb0dfe9cd28b70547dbea5caf76847c3a9 d8cf50574bd307f5f8a82ab3ee8e0fdab14cd09f
 167874 pass e73d1bf96a059d81c537108f532624a7b53a428f 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 6a62e0cb0dfe9cd28b70547dbea5caf76847c3a9 45299b3cc83d3d19c24d74f7e28dcc83e8fa0c2e
 167875 pass 7e5c603cba0823fd97456984f4cfc21c4c831b52 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c e4f02c12518c0fe8154950b2e34c56a92721626e 45299b3cc83d3d19c24d74f7e28dcc83e8fa0c2e
 167876 pass 7e5c603cba0823fd97456984f4cfc21c4c831b52 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c e4f02c12518c0fe8154950b2e34c56a92721626e 6b776749ff7e45c30696235dbb4ecd2b53401cff
 167877 pass 7e5c603cba0823fd97456984f4cfc21c4c831b52 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c e4f02c12518c0fe8154950b2e34c56a92721626e c45c2c2e09295ef3008a79d78673af0819ff4e4f
 167878 fail 7e5c603cba0823fd97456984f4cfc21c4c831b52 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c e4f02c12518c0fe8154950b2e34c56a92721626e 4e25a788d000e57c4d04fdd33c209d7173420580
 167879 pass 7e5c603cba0823fd97456984f4cfc21c4c831b52 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c e4f02c12518c0fe8154950b2e34c56a92721626e c45c2c2e09295ef3008a79d78673af0819ff4e4f
 167883 fail 7e5c603cba0823fd97456984f4cfc21c4c831b52 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c e4f02c12518c0fe8154950b2e34c56a92721626e 4e25a788d000e57c4d04fdd33c209d7173420580
 167887 pass 7e5c603cba0823fd97456984f4cfc21c4c831b52 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c e4f02c12518c0fe8154950b2e34c56a92721626e c45c2c2e09295ef3008a79d78673af0819ff4e4f
 167888 fail 7e5c603cba0823fd97456984f4cfc21c4c831b52 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c e4f02c12518c0fe8154950b2e34c56a92721626e 4e25a788d000e57c4d04fdd33c209d7173420580
Searching for interesting versions
 Result found: flight 167216 (pass), for basis pass
 For basis failure, parent search stopping at 7e5c603cba0823fd97456984f4cfc21c4c831b52 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c e4f02c12518c0fe8154950b2e34c56a92721626e c45c2c2e09295ef3008a79d78673af0819ff4e4f, results HASH(0x55ad5bbc3eb0) HASH(0x55ad5bbc98c8) HASH(0x55ad5bb9b440) For basis failure, parent search stopping at 7e5c603cba0823fd97456984f4cfc21c4c831b52 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c e4f02c125\
 18c0fe8154950b2e34c56a92721626e 6b776749ff7e45c30696235dbb4ecd2b53401cff, results HASH(0x55ad5bbc0c80) For basis failure, parent search stopping at 7e5c603cba0823fd97456984f4cfc21c4c831b52 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c e4f02c12518c0fe8154950b2e34c56a92721626e 45299b3cc83d3d19c24d74f7e28dcc83e8fa0c2e, results HASH(0x55ad5bbbcc70) For basis failure, parent search stopping at e73d1bf96a059d81c537108f532624a7b53a428f 3c659044118e34603161457db9934a3\
 4f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 6a62e0cb0dfe9cd28b70547dbea5caf76847c3a9 45299b3cc83d3d19c24d74f7e28dcc83e8fa0c2e, results HASH(0x55ad5bbb9a40) For basis failure, parent search stopping at 9dd14fc91c174eae87fd122c7ac70073a363527f 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 6a62e0cb0dfe9cd28b70547dbea5caf76847c3a9 d8cf50574bd307f5f8a82ab3ee8e0fdab14cd09f, results HASH(0x55ad5bbb3c38) For basis failure, parent search stopping at ee1f8262b83d\
 d88b30091e6e81221ff299796099 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 34c3fce6e7361c2e38f22a3d973d72b994285313 cbadf67bcab4e29c883410db393f4f5ef34df04a, results HASH(0x55ad5bbb0a08) For basis failure, parent search stopping at 04eacd39439d55bb1a5cbd366c19b1c03d5c7846 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 2dd4b9b3f84019668719344b40dba79d681be41c c4cf5388652e8434652e30c73aa79635b4253675, results HASH(0x55ad5bbac9f\
 8) For basis failure, parent search stopping at dfafa8e45382939fb5dc78e9d37b97b500a43613 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c 2dd4b9b3f84019668719344b40dba79d681be41c c4cf5388652e8434652e30c73aa79635b4253675, results HASH(0x55ad5bb96508) HASH(0x55ad5bba63b8) Result found: flight 167822 (fail), for basis failure (at ancestor ~662)
 Repro found: flight 167866 (pass), for basis pass
 Repro found: flight 167868 (fail), for basis failure
 0 revisions at 7e5c603cba0823fd97456984f4cfc21c4c831b52 3c659044118e34603161457db9934a34f816d78b d7d6a60e73ee21e82f0bac2036153ccccf996e6c e4f02c12518c0fe8154950b2e34c56a92721626e c45c2c2e09295ef3008a79d78673af0819ff4e4f
No revisions left to test, checking graph state.
 Result found: flight 167877 (pass), for last pass
 Result found: flight 167878 (fail), for first failure
 Repro found: flight 167879 (pass), for last pass
 Repro found: flight 167883 (fail), for first failure
 Repro found: flight 167887 (pass), for last pass
 Repro found: flight 167888 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  4e25a788d000e57c4d04fdd33c209d7173420580
  Bug not present: c45c2c2e09295ef3008a79d78673af0819ff4e4f
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/167888/


  commit 4e25a788d000e57c4d04fdd33c209d7173420580
  Author: Andrew Cooper <andrew.cooper3@citrix.com>
  Date:   Tue Jan 25 13:52:30 2022 +0100
  
      x86/msr: Split MSR_SPEC_CTRL handling
      
      In order to fix a VT-x bug, and support MSR_SPEC_CTRL on AMD, move
      MSR_SPEC_CTRL handling into the new {pv,hvm}_{get,set}_reg() infrastructure.
      
      Duplicate the msrs->spec_ctrl.raw accesses in the PV and VT-x paths for now.
      The SVM path is currently unreachable because of the CPUID policy.
      
      No functional change.
      
      Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
      Reviewed-by: Jan Beulich <jbeulich@suse.com>
      master commit: 6536688439dbca1d08fd6db5be29c39e3917fb2f
      master date: 2022-01-20 16:32:11 +0000

pnmtopng: 139 colors found
Revision graph left in /home/logs/results/bisect/xen-4.14-testing/build-amd64-xsm.xen-build.{dot,ps,png,html,svg}.
----------------------------------------
167888: tolerable ALL FAIL

flight 167888 xen-4.14-testing real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/167888/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 build-amd64-xsm               6 xen-build               fail baseline untested


jobs:
 build-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 Wed Jan 26 16:20:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 16:20:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261014.451473 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCl1p-00044I-Am; Wed, 26 Jan 2022 16:20:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261014.451473; Wed, 26 Jan 2022 16: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 1nCl1p-00044B-7h; Wed, 26 Jan 2022 16:20:13 +0000
Received: by outflank-mailman (input) for mailman id 261014;
 Wed, 26 Jan 2022 16:20: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 1nCl1n-000445-TA
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 16:20: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 1nCl1m-0006cg-JI; Wed, 26 Jan 2022 16:20:10 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224] helo=[10.95.98.192])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nCl1m-0006TL-Al; Wed, 26 Jan 2022 16:20:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=Yismv3/yiYujs5ihB2oc+mXqXHNdmCkMAaaPblwfTPM=; b=5omN7l5RUD2atqyDXe8X/3VQ6b
	ungVynUM/CWJRTco4v46uCA+eK2UNYtfLsNLq+BZ3BoAWcQKZP70gktdmtgld/CgSKlin72GMASDR
	fslwhcFHYjKL5vOfMfCcMAJNsMPMP8yxh6+dC+KZ6iLCT9vR0pW/EA+NzZAHtlwpgLHQ=;
Message-ID: <e2c94aba-8636-cebe-b90a-bcc19affd061@xen.org>
Date: Wed, 26 Jan 2022 16:20:07 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [PATCH 00/10] Add support for Renesas R-Car S4 IPMMU and other
 misc changes
To: Oleksandr Tyshchenko <olekstysh@gmail.com>, xen-devel@lists.xenproject.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Jan Beulich
 <jbeulich@suse.com>, Paul Durrant <paul@xen.org>,
 Rahul Singh <rahul.singh@arm.com>,
 Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
References: <1638035505-16931-1-git-send-email-olekstysh@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <1638035505-16931-1-git-send-email-olekstysh@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Oleksandr,

On 27/11/2021 17:51, Oleksandr Tyshchenko wrote:
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> 
> The R-Car S4 is an automotive System-on-Chip (SoC) for Car Server/Communication
> Gateway and is one of the first products in Renesas’ 4th-generation R-Car Family.
> 
> The integrated IOMMU HW is also VMSA-compatible and supports stage 2 translation
> table format, therefore can be used with current R-Car Gen3 driver with slight
> modifications.
> 
> In the context of Xen driver the main differences between Gen3 and S4 are
> the following:
>   - HW capacity was enlarged to support up to 16 IPMMU contexts (sets of page table)
>     and up to 64 micro-TLBs per IPMMU device
>   - the memory mapped registers have different bases and offset
> 
> The first part (commits #1-6) is a non-verbatim port of Linux upstream commits
> needed to add support for S4 series easily (prereq work).
> The second part (commits #7-8) is based on the code from the Renesas BSP and
> actually introduces support for R-Car S4 IPMMU.
> The third part (commits #9-10) is misc changes I have locally.
> 
> The patch series is based on 4.16.0-rc4 branch and also available at [1].
> 
> Tested on Renesas Salvator-X board with H3 ES3.0 SoC (Gen3) and Renesas Spider
> board with S4 SoC.
> 
> [1] https://github.com/otyshchenko1/xen/commits/s4_ipmmu_ml1
> 
> Oleksandr Tyshchenko (10):
>    iommu/ipmmu-vmsa: Remove all unused register definitions
>    iommu/ipmmu-vmsa: Add helper functions for MMU "context" registers
>    iommu/ipmmu-vmsa: Add helper functions for "uTLB" registers
>    iommu/ipmmu-vmsa: Add light version of Linux's ipmmu_features
>    iommu/ipmmu-vmsa: Calculate context registers' offset instead of a
>      macro
>    iommu/ipmmu-vmsa: Add utlb_offset_base
>    iommu/ipmmu-vmsa: Add Renesas R8A779F0 (R-Car S4) support
>    iommu/ipmmu-vmsa: Set IPMMU bit IMSCTLR_USE_SECGRP to 0
>    iommu/ipmmu-vmsa: Use refcount for the micro-TLBs
>    iommu/arm: Remove code duplication in all IOMMU drivers

Skimming through the series, it looks like patch #1 - #6 are fully 
acked. The rest would need a respin.

Can I commit the first part (i.e. #1 - #6)?

Cheers,

> 
>   xen/drivers/passthrough/Kconfig          |   6 +-
>   xen/drivers/passthrough/arm/iommu.c      |   7 +
>   xen/drivers/passthrough/arm/ipmmu-vmsa.c | 278 +++++++++++++++++++------------
>   xen/drivers/passthrough/arm/smmu-v3.c    |  10 --
>   xen/drivers/passthrough/arm/smmu.c       |  10 --
>   5 files changed, 178 insertions(+), 133 deletions(-)
> 

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 16:26:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 16:26:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261017.451484 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCl7Z-0004i8-VM; Wed, 26 Jan 2022 16:26:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261017.451484; Wed, 26 Jan 2022 16:26:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCl7Z-0004i1-S8; Wed, 26 Jan 2022 16:26:09 +0000
Received: by outflank-mailman (input) for mailman id 261017;
 Wed, 26 Jan 2022 16:26:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OZ3N=SK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nCl7Z-0004hv-6K
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 16:26:09 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a7232141-7ec4-11ec-8eb8-a37418f5ba1a;
 Wed, 26 Jan 2022 17:26:02 +0100 (CET)
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur02lp2057.outbound.protection.outlook.com [104.47.4.57]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-26-_UmGEDB0MjiyNPnp3Z_Iwg-1; Wed, 26 Jan 2022 17:26:01 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM6PR04MB4647.eurprd04.prod.outlook.com (2603:10a6:20b:18::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Wed, 26 Jan
 2022 16:25:59 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.015; Wed, 26 Jan 2022
 16: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: a7232141-7ec4-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643214362;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=luucFCMsAoI9aYqg1BjC3cocxqtbGm9oOWTDcbdrRcA=;
	b=U+Ki79XGKo53Ryv33tmEqcZnHr8uz/pCxp+NdsbiH3zptVsdgJkwPDj2ScAmugQDZJ0kC7
	DBsW5/QP09jFDD4ClBWwyfp5n630BbBcM5Q57bKhMQiSrYeF79I6F427ZkFpwpSXZmujJO
	QvGxvBvtcQnz9SwCZ9QdRsa4voujW/s=
X-MC-Unique: _UmGEDB0MjiyNPnp3Z_Iwg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=J2i90S3uRWhcrWNcsiR/71uYY5lfh3fToeil/RzMrZcUYDAwPS3JUM8g/bmXGquwqLn3gLARU/4HyxG3lLrGogupGn2ERn+ydLdNWnAZvzlWfI7DzIPG1n5Rggdp/333LG9VwDCxQ6NvlAs8Nl8qFN8AJwYvonc6ioAtPMcqouWc/oRKAlknGaV2AqUbB8Bzz+nLBoBCbLQlLqduRzZRbY3nLgEBJHL0npY/D0pjvyvfCmr/aW+7TBkIhfchwd3ExnX6GaJjTQEpWNhnq4VnOzB7QonefOgLdK5kII+t1b2P8ypKhl1YGDX1wcgTBCBGgbDpctBMiD8DKb3Xn2LYnQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=luucFCMsAoI9aYqg1BjC3cocxqtbGm9oOWTDcbdrRcA=;
 b=oIL/icJ6k9gBFYkgGF3/BL+htdkQbtPjqBSht0QontMz6EHVC+tD6xjl/SOTNIbBFOXfm5sOlVDnx/1I9b6EF77BXt2vBlwEaNqa/Pn4dag1q4Yi/mJsYKJD5jIIe/lQCmc2vDodlOTvP3H57mRuCZm5G350EzbePIF4351LYM4VBiKgT5SxDUWfPy9ZQPNVv2vQqrS7U50Pl9306Sr73argKMOmwlbX8uyrHH+zvHf27e0G7VjuyZhSIfOOSSkHAalvFVHszPhRF7N95VGr78ou8EiztR+OXB5YLx1mQgk2cOg63nCoprT0jZ3ngvPPrxxHCzTpTA8wJlOvuJQoGA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <beefcb76-7e97-9676-cd10-4a8b40e597ce@suse.com>
Date: Wed, 26 Jan 2022 17:25:56 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v2] xen: Replace arch_mfn_in_directmap() with
 arch_mfns_in_directmap()
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Julien Grall <jgrall@amazon.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20220126155919.36706-1-julien@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220126155919.36706-1-julien@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR0301CA0022.eurprd03.prod.outlook.com
 (2603:10a6:20b:468::18) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 64372c92-2cde-4810-0b41-08d9e0e88933
X-MS-TrafficTypeDiagnostic: AM6PR04MB4647:EE_
X-Microsoft-Antispam-PRVS:
	<AM6PR04MB464784D66FAF28BDD2DAF5ABB3209@AM6PR04MB4647.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:
	8a56KdPyV5JNYQqPTL4qQUs9FSwCaPrSRqFztV9dIAGzwGk0VGcvP8a8z/R2Xz75I739nV75S+MuloUitv9MwLChF94DqEqz0wpNFg3Bu8qMHsyNVWFq1B1XGgFWGo2i7a5ETxRweSado9va3WiVWYS5JZ32dr6VZuQhqBMXy4olva+Qbmhf6N4VtIgWUI9jESljmkZtmhO/B15lTDpIkUqt2TaerlUlRbJq79EQqZjgBYPkrQ8iISznhkSMpYHKVWfEjZNL3ry0vuWp3grJ1qlzofIwY3aoOu5RcMdV4JiAUGrWORktMzSEJYB0f/me6WNPmwKnFrU5LrmLpcnfd6Rb6hq1WJPg0pY7PfeS1gz6ET5mFtvMmOYXJ1UHeiNjcW6C/Rn1dJnSH8CwNNoHSikBhVuEQHOYTcie1kvqMRkZ/iU57oqYwsUpP22USb9TQOA5PVDytrKeLKK2+x75BQLG7DZsmlxZakodj1L1scEGARAG7gPMOqvhx5zqW7MEhE/r6jzIYN9dn/0njHmy8oifocwRjLMdqQjgpw9xFibxUsMGc/fHfeIRY6+5Tej1l6vw4xbg9+ptPwzF9lie/WWphWWu7gBVtX3oty0pKBpOoLPwWFVQe5p+JahhklSN+SFNbS5q2ux4sNLDiS7YL8BPZ76AFQaQf/eSpXV13I+4e6P7x/pyBE5oMB7kobvWPHmExycS4rrPXDn/1ukYScirnLKGUI8gDjoKOFXA0hbwjk7jn6coXcwmfYbvjufg
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:(13230001)(366004)(508600001)(6512007)(5660300002)(6486002)(7416002)(36756003)(31686004)(2906002)(53546011)(31696002)(86362001)(6916009)(54906003)(66946007)(316002)(4326008)(66556008)(66476007)(8676002)(8936002)(6666004)(2616005)(186003)(38100700002)(26005)(6506007)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UHVrNE5IZ2J4MVFnMG11Q2FIc3FwSitqdFN1NlppTm5uemhjUkNVdW9uaGZR?=
 =?utf-8?B?c2puV25FaG5SMkQ0Y1NyQ2tJenU0K3kxb05WU0o0c293YTZDaXpOMFJjNGpL?=
 =?utf-8?B?L2NZMllaWmtuclVrZGtBdEwxNmVkT1A5ZHV5cnBNbHl2aTNOS2ovdllhVDIv?=
 =?utf-8?B?V1VzVytzMnJtaEJHQ0FKOG82N1VveEdGMU9FYXZaTG11dVZMSEZNdGo0Qlh1?=
 =?utf-8?B?WTJyVkRWUC9xemtFeUFhUGpVYXhNN3lWeXZUR1B6MHlKTVBDaElQLzJiSG5n?=
 =?utf-8?B?K1g0UG1na0dYT0E5eWNpNWZPZi9BbXBWQnlUZTN5VFo3RzRrbHdSWnVPaE9M?=
 =?utf-8?B?amFXRWhCN2c2OG9LVXVNNWc1bG1wM3JWMXBqSWZmOGRreWh5bEkxQmNzZEFa?=
 =?utf-8?B?WWY2STkvMmlMUkZ0elMzRFNrQjQwa01tOWVRSjdGd09teFcrUFJpRXBtN1U3?=
 =?utf-8?B?dml4YXVlbDE2RU9scCtnZGoxbzJIU1h1ZFZzbGMvUThFNlE5L3A2aVQ2c1VG?=
 =?utf-8?B?REplM1RsdE5IcjdLZXQzS3NTcnVUb0k2S2NCWU5WNG1BaERORjIrYnh6YmxX?=
 =?utf-8?B?Y01zVUhBQzQrWnBzb2lrY3hlRmVPZldqWnpCZDkvKzdvTlNOTFBOdUovODl3?=
 =?utf-8?B?dGxTcG5ncTZFM3p3ZWwyU3N5Vld3T2hibkI4MDdOQ004a1E0ekJObmlUY0JK?=
 =?utf-8?B?MGx0cDF3UFBMNUhIMlhLeU94R2h5b25LK2x6R2lOTFpjeWxnTVNNdCtudjZN?=
 =?utf-8?B?aHlFRTN0V0JBTndjY0gxZ1R0ZVdkWk5ZRDZibGk4RWgxMDVrcXVKZS8xMTN1?=
 =?utf-8?B?TUkyM0xFYTdRbFpEOFB5Y09RK1BySEpGUHdsQU55K3NXSTNCbENYZjcwVGFp?=
 =?utf-8?B?NVVSWlY5cjUxTDJabC9qQnQrNW5MSk1obFk4SmIwalpPY2hLOWt5eXBPbDd0?=
 =?utf-8?B?cHBrUVlOaFJoLzg5T3NqTzdpSmJvVFdHZWt2TVpRVGVmUVZkZmlKb2p5blB5?=
 =?utf-8?B?dDBkTG5qUkhHclQ4SDE1dFNQY29UUjJITnNjUStkME1ZaVVCNlFqQktQWEpv?=
 =?utf-8?B?Q05HbTNobHhzSEt0VG9xa0FSdFkxaVJ0VTliUnVwdHJ6YmVqTTVQR2IybE0y?=
 =?utf-8?B?RTBMTnk3T1hZbGh5SEYrQWYxRGxqZ1NybGhXQ1BwUHJFdFJKUC9qV201M0lR?=
 =?utf-8?B?RGltd2NvVllMd2ZTUDRISmMvcWxwbmFnbm1hNGhudGxVeFVDbWk0Z3NPV1kz?=
 =?utf-8?B?eDZHbTJpWVMzME1LTDdsWjhZMWZ4MHZaTWU3ZFBPd2RaR0o0eUZzVk4vUDBv?=
 =?utf-8?B?TlE5azFxLzA4NGtHd0ZaY0dyUnFxNXE1MWsvWGJMNjRKL1VKYUpUb0VCRFZs?=
 =?utf-8?B?bUpHWENGNktQWTlzTU12ZExUL1RqR21MR013UlBrbnVBVDE3bWd4V280eTN4?=
 =?utf-8?B?dzYrMC9XQlc3dit4cWkzKzA2U0tWbFdQajBsSW1ybFAxM3JEd0NaRm9Pa2hI?=
 =?utf-8?B?dHlpWFI2RFVOZ1JlNkNCSGZGbkM1cnZvRVNtNThXRndDQVlFM1NQZVBaWlpo?=
 =?utf-8?B?ZHVIZSttMW5PMVpsQmxaYk1iSE0rcVg5ZUZIM2JHaXp1bGthNlBpNEVZeXZ3?=
 =?utf-8?B?bzJkZTJ2aXhJL0pMdXMvQ0lBckJSUWRwOStzVCtEajJ6cFc1dStuZlQxS25E?=
 =?utf-8?B?T3BQZkxmNjhkckRQQmFNcHM2SjBkMzhpL0NZVE9OQThYODM1YlhiQXVRbmdG?=
 =?utf-8?B?U0g5WlZZUUZ1U21KdFV5MThScnQrK0pwS1MxWWdRSmNKREtNTXJQeTJJVm5k?=
 =?utf-8?B?QXBqMjhGTzFIemo5T2VQWWF1ckEzbFpFcWpTNmJtNDhmNmdCQ0tlUU1tZzJX?=
 =?utf-8?B?MTJGSC9FSWtNU2dNTmVNbFY2dktLR3NXOXNpOVBuTmM0c3dKWlk0c0x5TmlF?=
 =?utf-8?B?UkZGc05XVWREM1pjN0d6MkdQaG8vdHkyd292YlRDb1VPVTRTS0tjL0Erb044?=
 =?utf-8?B?TURHeko5Z1VRaE44R09mNnpudXVpcmdHUGt4YXdpVzdtSXYxRGM1b1NPd3hk?=
 =?utf-8?B?OEgzTGlQNHBuQmxKQk92UXhrUldZaVRYNm9hN1NaVjB6Y2hHQTVkOG1wWWt0?=
 =?utf-8?B?RUZ2Qzd6aTBhZ3Y1TmUzMDB0cEZkWWFTY3RQQnA1aWRHczZwakg2cWlLTlBz?=
 =?utf-8?Q?ITtXGpDkOKwPfGH6efjQ9T4=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 64372c92-2cde-4810-0b41-08d9e0e88933
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 16:25:59.0369
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: IH2UiQz+T8AJLTTbabGqVMZYAolWwjdfnMfAhoB/STLRZWgl98opJf4MsGQdlHQS0TjZjI+1TLFGQyHG7po3Jg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB4647

On 26.01.2022 16:59, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> The name of arch_mfn_in_directmap() suggests that it will check against
> that the passed MFN should be in the directmap.
> 
> However, the current callers are passing the next MFN and the
> implementation will return true for up to one MFN past the directmap.
> 
> It would be more meaningful to test the exact MFN rather than the
> next one.
> 
> That said, the current expectation is the memory will be direct-mapped
> from 0 up to a given MFN. This may not be a valid assumption on all
> the architectures.
> 
> For instance, on Arm32 only the xenheap that will be direct-mapped.
> This may not be allocated a the beginning of the RAM.
> 
> So take the opportunity to rework the parameters and pass the
> number of pages we want to check. This also requires to rename
> the helper to better match the implementation.
> 
> Note that the implementation of the helper on arm32 is left as-is
> for now.
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 16:28:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 16:28:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261021.451495 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCl9x-0005Yk-Fj; Wed, 26 Jan 2022 16:28:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261021.451495; Wed, 26 Jan 2022 16:28:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCl9x-0005Yd-CT; Wed, 26 Jan 2022 16:28:37 +0000
Received: by outflank-mailman (input) for mailman id 261021;
 Wed, 26 Jan 2022 16:28:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=agIW=SK=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1nCl9v-0005YX-Le
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 16:28:35 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 01a365e2-7ec5-11ec-8eb8-a37418f5ba1a;
 Wed, 26 Jan 2022 17:28:34 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 o30-20020a05600c511e00b0034f4c3186f4so4084813wms.3
 for <xen-devel@lists.xenproject.org>; Wed, 26 Jan 2022 08:28:34 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 01a365e2-7ec5-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=PiQxkHFJA+LS6OgxUkbc65jmrHHRZ4Q7GQDTHOCuXY0=;
        b=SfSTcWnpS5Mdt+uzRCjqkcg8QXwp19zakyRRySIQzCkq81WYkW2ThwdCAa2lnSEM4k
         dDcFpfIZ2Q8ImAN/fGzOOwwvBgzVLWwHRz0buGCQY0AlO7UEcNYoa080klMOxNevQjvm
         lrwQC6T3GAjwHPWOfs3tLPuTrBGCtdMV6EC0Xg5G5nu3/ZtSFLUOPH2W4FLFkjPEHb80
         8eiaUM13xAkN01gbfa4P9lKQ8UpTF2QcUGQy7DgV11UZIKc5wX3ER/BtKQVKySAtgE/z
         D8pDwPJQpC3Jc3v/LX5PBP2qHYDKKpXOPSSoItGnXhMaiT2if2/yNmgAzzNuScNjGrCu
         4E+Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=PiQxkHFJA+LS6OgxUkbc65jmrHHRZ4Q7GQDTHOCuXY0=;
        b=lt5q5WNjKcktrTWkPI95edoyuVG6pe16WrSznw/1uyiUpv8A9QlGsCcT0jF1c90sya
         bsPCVy9tAoq1YGVh9DzNVHuCTyYPVNtOA7ZqWWJiKR4alRHrSyTaKwStT+56sgI2A2Cq
         OXNkg+HO0ubrBO0LGEEAZTd7BDeJXZAhRk7Qj0rsnHtOVQVti18AhQJR1Go2MvZil7YM
         twj0nVpFqtfa9+O15dExQqbRGWtQr6MMnCq2RgOPDz46kPG04x3JKk/V/TvLe5e6I9OK
         igKrbwv53svYBmFZ/xD185/CGusZ/5pz/u2l4BOGJ0GN3tGRtip+lX29BK1yXnzLYbqg
         eJEA==
X-Gm-Message-State: AOAM531zJEZg0s/EbZ2ZTnN0foT1XuF/LggoWdKNP1T8xRmYfklC2PVx
	VCp7N2itnWMoaMajHngCjt9jES400N21JoBI464=
X-Google-Smtp-Source: ABdhPJyMysI5+h6qPq8UAeX9oypKn3HKvh3S+nw7GtCcnB8og/yWUx7AbWol5eaDlCK37pFjeRCWtsB2jOwGAc7nZ5k=
X-Received: by 2002:a05:600c:a47:: with SMTP id c7mr8141807wmq.23.1643214513783;
 Wed, 26 Jan 2022 08:28:33 -0800 (PST)
MIME-Version: 1.0
References: <1638035505-16931-1-git-send-email-olekstysh@gmail.com> <e2c94aba-8636-cebe-b90a-bcc19affd061@xen.org>
In-Reply-To: <e2c94aba-8636-cebe-b90a-bcc19affd061@xen.org>
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
Date: Wed, 26 Jan 2022 18:28:22 +0200
Message-ID: <CAPD2p-kLksv1SWGB5GHZvgVVRKZp_qf-dbSQsvw-X3TZyxn5UA@mail.gmail.com>
Subject: Re: [PATCH 00/10] Add support for Renesas R-Car S4 IPMMU and other
 misc changes
To: Julien Grall <julien@xen.org>
Cc: xen-devel <xen-devel@lists.xenproject.org>, 
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>, 
	Jan Beulich <jbeulich@suse.com>, Paul Durrant <paul@xen.org>, Rahul Singh <rahul.singh@arm.com>, 
	Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Content-Type: multipart/alternative; boundary="0000000000006249eb05d67eb172"

--0000000000006249eb05d67eb172
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Jan 26, 2022 at 6:20 PM Julien Grall <julien@xen.org> wrote:

> Hi Oleksandr,
>

Hi Julien,

[Sorry for the possible format issues]


>
> On 27/11/2021 17:51, Oleksandr Tyshchenko wrote:
> > From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> >
> > The R-Car S4 is an automotive System-on-Chip (SoC) for Car
> Server/Communication
> > Gateway and is one of the first products in Renesas=E2=80=99 4th-genera=
tion
> R-Car Family.
> >
> > The integrated IOMMU HW is also VMSA-compatible and supports stage 2
> translation
> > table format, therefore can be used with current R-Car Gen3 driver with
> slight
> > modifications.
> >
> > In the context of Xen driver the main differences between Gen3 and S4 a=
re
> > the following:
> >   - HW capacity was enlarged to support up to 16 IPMMU contexts (sets o=
f
> page table)
> >     and up to 64 micro-TLBs per IPMMU device
> >   - the memory mapped registers have different bases and offset
> >
> > The first part (commits #1-6) is a non-verbatim port of Linux upstream
> commits
> > needed to add support for S4 series easily (prereq work).
> > The second part (commits #7-8) is based on the code from the Renesas BS=
P
> and
> > actually introduces support for R-Car S4 IPMMU.
> > The third part (commits #9-10) is misc changes I have locally.
> >
> > The patch series is based on 4.16.0-rc4 branch and also available at [1=
].
> >
> > Tested on Renesas Salvator-X board with H3 ES3.0 SoC (Gen3) and Renesas
> Spider
> > board with S4 SoC.
> >
> > [1] https://github.com/otyshchenko1/xen/commits/s4_ipmmu_ml1
> >
> > Oleksandr Tyshchenko (10):
> >    iommu/ipmmu-vmsa: Remove all unused register definitions
> >    iommu/ipmmu-vmsa: Add helper functions for MMU "context" registers
> >    iommu/ipmmu-vmsa: Add helper functions for "uTLB" registers
> >    iommu/ipmmu-vmsa: Add light version of Linux's ipmmu_features
> >    iommu/ipmmu-vmsa: Calculate context registers' offset instead of a
> >      macro
> >    iommu/ipmmu-vmsa: Add utlb_offset_base
> >    iommu/ipmmu-vmsa: Add Renesas R8A779F0 (R-Car S4) support
> >    iommu/ipmmu-vmsa: Set IPMMU bit IMSCTLR_USE_SECGRP to 0
> >    iommu/ipmmu-vmsa: Use refcount for the micro-TLBs
> >    iommu/arm: Remove code duplication in all IOMMU drivers
>
> Skimming through the series, it looks like patch #1 - #6 are fully
> acked. The rest would need a respin.
>
> Can I commit the first part (i.e. #1 - #6)?
>

Please note, this is V1. But V2 [1] was pushed a couple of weeks ago and
all patches are already reviewed)

[1]
https://lore.kernel.org/xen-devel/1640034957-19764-1-git-send-email-oleksty=
sh@gmail.com/


> Cheers,
>
> >
> >   xen/drivers/passthrough/Kconfig          |   6 +-
> >   xen/drivers/passthrough/arm/iommu.c      |   7 +
> >   xen/drivers/passthrough/arm/ipmmu-vmsa.c | 278
> +++++++++++++++++++------------
> >   xen/drivers/passthrough/arm/smmu-v3.c    |  10 --
> >   xen/drivers/passthrough/arm/smmu.c       |  10 --
> >   5 files changed, 178 insertions(+), 133 deletions(-)
> >
>
> --
> Julien Grall
>


--=20
Regards,

Oleksandr Tyshchenko

--0000000000006249eb05d67eb172
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Wed, Jan 26, 2022 at 6:20 PM Julie=
n Grall &lt;<a href=3D"mailto:julien@xen.org">julien@xen.org</a>&gt; wrote:=
<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8=
ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Oleksandr,<b=
r></blockquote><div><br></div><div>Hi Julien,</div><div><br></div><div>[Sor=
ry for the possible format issues]</div><div>=C2=A0</div><blockquote class=
=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rg=
b(204,204,204);padding-left:1ex">
<br>
On 27/11/2021 17:51, Oleksandr Tyshchenko wrote:<br>
&gt; From: Oleksandr Tyshchenko &lt;<a href=3D"mailto:oleksandr_tyshchenko@=
epam.com" target=3D"_blank">oleksandr_tyshchenko@epam.com</a>&gt;<br>
&gt; <br>
&gt; The R-Car S4 is an automotive System-on-Chip (SoC) for Car Server/Comm=
unication<br>
&gt; Gateway and is one of the first products in Renesas=E2=80=99 4th-gener=
ation R-Car Family.<br>
&gt; <br>
&gt; The integrated IOMMU HW is also VMSA-compatible and supports stage 2 t=
ranslation<br>
&gt; table format, therefore can be used with current R-Car Gen3 driver wit=
h slight<br>
&gt; modifications.<br>
&gt; <br>
&gt; In the context of Xen driver the main differences between Gen3 and S4 =
are<br>
&gt; the following:<br>
&gt;=C2=A0 =C2=A0- HW capacity was enlarged to support up to 16 IPMMU conte=
xts (sets of page table)<br>
&gt;=C2=A0 =C2=A0 =C2=A0and up to 64 micro-TLBs per IPMMU device<br>
&gt;=C2=A0 =C2=A0- the memory mapped registers have different bases and off=
set<br>
&gt; <br>
&gt; The first part (commits #1-6) is a non-verbatim port of Linux upstream=
 commits<br>
&gt; needed to add support for S4 series easily (prereq work).<br>
&gt; The second part (commits #7-8) is based on the code from the Renesas B=
SP and<br>
&gt; actually introduces support for R-Car S4 IPMMU.<br>
&gt; The third part (commits #9-10) is misc changes I have locally.<br>
&gt; <br>
&gt; The patch series is based on 4.16.0-rc4 branch and also available at [=
1].<br>
&gt; <br>
&gt; Tested on Renesas Salvator-X board with H3 ES3.0 SoC (Gen3) and Renesa=
s Spider<br>
&gt; board with S4 SoC.<br>
&gt; <br>
&gt; [1] <a href=3D"https://github.com/otyshchenko1/xen/commits/s4_ipmmu_ml=
1" rel=3D"noreferrer" target=3D"_blank">https://github.com/otyshchenko1/xen=
/commits/s4_ipmmu_ml1</a><br>
&gt; <br>
&gt; Oleksandr Tyshchenko (10):<br>
&gt;=C2=A0 =C2=A0 iommu/ipmmu-vmsa: Remove all unused register definitions<=
br>
&gt;=C2=A0 =C2=A0 iommu/ipmmu-vmsa: Add helper functions for MMU &quot;cont=
ext&quot; registers<br>
&gt;=C2=A0 =C2=A0 iommu/ipmmu-vmsa: Add helper functions for &quot;uTLB&quo=
t; registers<br>
&gt;=C2=A0 =C2=A0 iommu/ipmmu-vmsa: Add light version of Linux&#39;s ipmmu_=
features<br>
&gt;=C2=A0 =C2=A0 iommu/ipmmu-vmsa: Calculate context registers&#39; offset=
 instead of a<br>
&gt;=C2=A0 =C2=A0 =C2=A0 macro<br>
&gt;=C2=A0 =C2=A0 iommu/ipmmu-vmsa: Add utlb_offset_base<br>
&gt;=C2=A0 =C2=A0 iommu/ipmmu-vmsa: Add Renesas R8A779F0 (R-Car S4) support=
<br>
&gt;=C2=A0 =C2=A0 iommu/ipmmu-vmsa: Set IPMMU bit IMSCTLR_USE_SECGRP to 0<b=
r>
&gt;=C2=A0 =C2=A0 iommu/ipmmu-vmsa: Use refcount for the micro-TLBs<br>
&gt;=C2=A0 =C2=A0 iommu/arm: Remove code duplication in all IOMMU drivers<b=
r>
<br>
Skimming through the series, it looks like patch #1 - #6 are fully <br>
acked. The rest would need a respin.<br>
<br>
Can I commit the first part (i.e. #1 - #6)?<br></blockquote><div><br></div>=
<div>Please note, this is V1. But V2 [1] was pushed a couple of weeks ago a=
nd all patches are already reviewed)=C2=A0</div><div>=C2=A0</div><div>[1]=
=C2=A0<a href=3D"https://lore.kernel.org/xen-devel/1640034957-19764-1-git-s=
end-email-olekstysh@gmail.com/">https://lore.kernel.org/xen-devel/164003495=
7-19764-1-git-send-email-olekstysh@gmail.com/</a></div><div><br></div><bloc=
kquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:=
1px solid rgb(204,204,204);padding-left:1ex">
<br>
Cheers,<br>
<br>
&gt; <br>
&gt;=C2=A0 =C2=A0xen/drivers/passthrough/Kconfig=C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A0 |=C2=A0 =C2=A06 +-<br>
&gt;=C2=A0 =C2=A0xen/drivers/passthrough/arm/iommu.c=C2=A0 =C2=A0 =C2=A0 |=
=C2=A0 =C2=A07 +<br>
&gt;=C2=A0 =C2=A0xen/drivers/passthrough/arm/ipmmu-vmsa.c | 278 +++++++++++=
++++++++------------<br>
&gt;=C2=A0 =C2=A0xen/drivers/passthrough/arm/smmu-v3.c=C2=A0 =C2=A0 |=C2=A0=
 10 --<br>
&gt;=C2=A0 =C2=A0xen/drivers/passthrough/arm/smmu.c=C2=A0 =C2=A0 =C2=A0 =C2=
=A0|=C2=A0 10 --<br>
&gt;=C2=A0 =C2=A05 files changed, 178 insertions(+), 133 deletions(-)<br>
&gt; <br>
<br>
-- <br>
Julien Grall<br>
</blockquote></div><br clear=3D"all"><div><br></div>-- <br><div dir=3D"ltr"=
 class=3D"gmail_signature"><div dir=3D"ltr"><div><div dir=3D"ltr"><div><div=
 dir=3D"ltr"><span style=3D"background-color:rgb(255,255,255)"><font size=
=3D"2"><span style=3D"color:rgb(51,51,51);font-family:Arial,sans-serif">Reg=
ards,</span></font></span></div><div dir=3D"ltr"><br></div><div dir=3D"ltr"=
><div><span style=3D"background-color:rgb(255,255,255)"><font size=3D"2">Ol=
eksandr Tyshchenko</font></span></div></div></div></div></div></div></div><=
/div>

--0000000000006249eb05d67eb172--


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 16:30:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 16:30:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261024.451506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nClBO-0006ng-TM; Wed, 26 Jan 2022 16:30:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261024.451506; Wed, 26 Jan 2022 16:30: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 1nClBO-0006nZ-Nh; Wed, 26 Jan 2022 16:30:06 +0000
Received: by outflank-mailman (input) for mailman id 261024;
 Wed, 26 Jan 2022 16:30: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 1nClBN-0006be-AJ
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 16:30: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 1nClBM-0006ny-7J; Wed, 26 Jan 2022 16:30:04 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224] helo=[10.95.98.192])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nClBM-000761-14; Wed, 26 Jan 2022 16:30:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=7wBdUjxQnn4HKwaIdhUvyCU0JbRjwYsdHWpZJ+g8lL0=; b=Gj4ebjSZ+PT2oG/xPVTqWTyne7
	gYmdZ3nP9NAxPAYEVhW68DxWas25rmCVG8FuneEkIYIkgMKqeqGGkt4FhZf2DkRU9p5s6h2r0prx+
	r/H/C3Z9Yp8ZK3ljw6NIwo9T23mwePYz2yTb0f07TkiOs3/e9I3dEQx8BbVA7568sDfU=;
Message-ID: <a3caab80-c843-3cd3-e303-3c5d064a772e@xen.org>
Date: Wed, 26 Jan 2022 16:30:01 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [PATCH 00/10] Add support for Renesas R-Car S4 IPMMU and other
 misc changes
To: Oleksandr Tyshchenko <olekstysh@gmail.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Jan Beulich
 <jbeulich@suse.com>, Paul Durrant <paul@xen.org>,
 Rahul Singh <rahul.singh@arm.com>,
 Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
References: <1638035505-16931-1-git-send-email-olekstysh@gmail.com>
 <e2c94aba-8636-cebe-b90a-bcc19affd061@xen.org>
 <CAPD2p-kLksv1SWGB5GHZvgVVRKZp_qf-dbSQsvw-X3TZyxn5UA@mail.gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <CAPD2p-kLksv1SWGB5GHZvgVVRKZp_qf-dbSQsvw-X3TZyxn5UA@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 26/01/2022 16:28, Oleksandr Tyshchenko wrote:
> Please note, this is V1. But V2 [1] was pushed a couple of weeks ago and 
> all patches are already reviewed)
> [1] 
> https://lore.kernel.org/xen-devel/1640034957-19764-1-git-send-email-olekstysh@gmail.com/ 
> <https://lore.kernel.org/xen-devel/1640034957-19764-1-git-send-email-olekstysh@gmail.com/>

Ah! I was looking at the bottom of my inbox and didn't notice the next 
version. I will have a look at v2.

Sorry for the noise.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 16:33:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 16:33:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261031.451529 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nClEx-0007YK-FS; Wed, 26 Jan 2022 16:33:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261031.451529; Wed, 26 Jan 2022 16: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 1nClEx-0007YD-CI; Wed, 26 Jan 2022 16:33:47 +0000
Received: by outflank-mailman (input) for mailman id 261031;
 Wed, 26 Jan 2022 16:33:46 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OZ3N=SK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nClEw-0007Y5-A8
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 16:33:46 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ba9959d5-7ec5-11ec-8eb8-a37418f5ba1a;
 Wed, 26 Jan 2022 17:33:45 +0100 (CET)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2052.outbound.protection.outlook.com [104.47.12.52]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-5-iKrvBA3lNpygXWTjUr1hrw-1; Wed, 26 Jan 2022 17:33:43 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AS4PR04MB9243.eurprd04.prod.outlook.com (2603:10a6:20b:4e2::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Wed, 26 Jan
 2022 16:33:42 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.015; Wed, 26 Jan 2022
 16:33: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: ba9959d5-7ec5-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643214824;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=Pkt7X+vVR2ncP7GWcqKAjQtAV9rV5o+GQb71TO8x9vw=;
	b=Q3gZLtqYCEAD786RwHe9bRW4crA+VJG93NDt6i5vWpbJwUB6BF4RzXAZVfl8PyBF6BmeLN
	tyH4uWXMFbQQjULcqeN/6XjsUjGZRfKzxxwqS90w2hjssXOfsiKDvlKvhT1LH8yGXe7miz
	wm7hBNzgI6t/zO4y6Rru1OPhvZjgT94=
X-MC-Unique: iKrvBA3lNpygXWTjUr1hrw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SDBaAWtzG4QkwJ8Yad/lsF/A2wwmzm5BkgqGvoCB5vEVYCTvgh1r6A0pv85h2iROvUL+FVnSSqKFjOWKb3jXiZdgrGsuHCKiUPd1yRy4l9mmroXn2xjdQdn+/sU8RV4WpXDjobk//evr/ZTGpUXPBeULeozliwAqxPgVtFw0kyB0EjgSlOY6jqUgVFBJ/xFQqDkk+U+a5O1cEcPvzNSfY5bsdaVIWtcBPRAWESp87zcTJ233sh0/sat5LEAQA2jUe7ehEO79mVh8BGeub+IJpsiowJQ4m+AMx4WlL+zVoqOT3GJNMKXKHKJ2ElsDCpua3b8/hW8rC5atvO2uY78yCw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Pkt7X+vVR2ncP7GWcqKAjQtAV9rV5o+GQb71TO8x9vw=;
 b=WPQShcIKediHjcdnuDH1LZ7lPg176NlOfjQqzY/Co5KIr2e3huwMwfEwcQ91+PjtqHjzAUP+CCgm21DHKAm0wNNukewG3O33rPDx8AY2e6dX1/zVD9xdL41PpzT6tUuomQKbLlRU0+bETmepexcqdNrMsDWf67p0NBPRtyFOiBnWNjE04uS3n1k8t+uiFUPCuZalddzw8sCxvuE/CyNsNWAasPr4IJQ6hKPEcm71A8PmN6NCY53Y9c95vNI5ASvTxOfUA3l0dkNN8JeGMR0g/HdnvMynbk7YFu/gElKh233hn7cBrAgiZdyDgJUcW22nCOPRgEIDPj5DPqJPUxVIlA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <614f206b-a28c-de71-7883-453327f2afb0@suse.com>
Date: Wed, 26 Jan 2022 17:33:40 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 1/8] x86/msr: Fix migration compatibility issue with
 MSR_SPEC_CTRL
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220126084452.28975-1-andrew.cooper3@citrix.com>
 <20220126084452.28975-2-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220126084452.28975-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0376.eurprd06.prod.outlook.com
 (2603:10a6:20b:460::14) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 1ecd8fec-2f2e-47b6-e24e-08d9e0e99d45
X-MS-TrafficTypeDiagnostic: AS4PR04MB9243:EE_
X-Microsoft-Antispam-PRVS:
	<AS4PR04MB9243D99AAA441D9D5C5083DDB3209@AS4PR04MB9243.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:
	TA6yOPYxpE/ZavHKsaF9Mz/u9OmBiLGZzy/oXv6UIBdFXBgLjcuUYpXf/YJgxXre/mnTSnUJBdCoPBv/MCtu28fbl/C0Xi7CNcxQlk5AN7Qyuq+s5xg0YOafCIu2dbLc2l0DN8Mvz/dPZVT2K+U9mTVOZNGUZ4IfeGBVwiivSsrPjqTkx4mCfuLocmxu0j8XAkre/fb4q95cWAmBlMQ4VCJyEDBDPD4RjcUvXjXgpYrdjQUPvYUQZmkiBx/sLiuZ8QGxCCJtQUYVTeivQQ4x/OWQ/QHpYpxEzPRnUvYOjOQSKQpYqD9u+J0HTFFMgWDRjmiyX9n2WLooscxUCOYAxuBUtTRzB6DYjYLXy/PtKlLO3DvdgxVGmyEHrtTJYcSYIgValRVu1ie59hV9uxFUExS5X0aKdYiI+z+qMc55W1WlB6AesfgUtzy/myeyNmiWbHjrhe8Dczn3tgYlSXPyfnalvJXR4yePhwLsYL1Cg+zf8xo3BuxQr85XaiYBqWrFe+T3kPwbX3kVXjJvwvuodoVrBbw5WTYOR8BKATvpmDkyACEI4zBX3zYyowRjNWsouZRqGU08KR/C32d149pfwMILELu3teg7trQqry9ON6G+PI0LIUBQpDIyHIfwSw2/1NF+OA0tZyuKHonZDDf8n5nA47ElczWESMi6b3xaLtLROC5mEH4fUx+q28ZRu21mqLgDGj7w9JXQr1nEyNXpzEiiXbLWxLr/gWfXT3VWoKzgILt5C8e+QJRHU2KwX9s1
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:(13230001)(366004)(8936002)(66946007)(66556008)(66476007)(83380400001)(4326008)(8676002)(6506007)(53546011)(2906002)(31686004)(2616005)(36756003)(38100700002)(508600001)(54906003)(26005)(4744005)(6486002)(186003)(6512007)(316002)(31696002)(5660300002)(86362001)(6916009)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c080OTlNMkFIK2R1TGM4VXJTd1pUc3MvdEJEY0NxTFdUNkx1R0hQcC9kRVZH?=
 =?utf-8?B?YXUxK1orU1hQZHc2cDF1TDNhSmJKWTZQVFZvL1BOSkNuemZnVzBxSUgzRjFz?=
 =?utf-8?B?d250enZXS2N6aFE4Y3pWVklCTnFGMFVDcjJlWXFTY1ZHTS9uT1BGSEQvaGo4?=
 =?utf-8?B?bVRaNGJJT2Y3S1htK21DTkFxN2tJNTl4MTA1ZG1DWFVDWTRNQWF6R2xjZ09h?=
 =?utf-8?B?ZGdCQzFjQm1VL3g2QWdtUit0WWR0bkREOUd2YkptdTdYR2xSMW94Y28wRThp?=
 =?utf-8?B?TjllUVloYTZHMHF5ei9JSWo3c2FabEZWY1Z0amJiWEdZaGxRd0JZSHpGTFBz?=
 =?utf-8?B?RFNZK3VsNnpxYk5iZVlkaGR6TEgyR0hZTVBwTHJEanl3RUR0MlVRQXQvM1ZP?=
 =?utf-8?B?R3dUdWwrT3RVMUpwT2pTUXFpKzN2TWhqd29iYVpGOFRJVm1CNUIralJ6WmQ1?=
 =?utf-8?B?ei9saldPZnpPWnhWQ1VVRzRpNFp6Y01YRkt4YUJwcnp5NVVyQ3l3WVhMY0VZ?=
 =?utf-8?B?ZC90ZlZBczVCS3lZblBhZXZoOHdjZUNxU2U3TE1QZktlK0wzU3BWUlRLeTZx?=
 =?utf-8?B?QUJpZG9KRm5DVC8wOXFjSXJYekZSb0tmd01EVFgraW4xOTUwODRzUGt3MTNw?=
 =?utf-8?B?NlNsRFJSMmp4cmhocDlDbUErY0xrSUF0SC9PTzBZU014YjY1NHYxOHR0VXZV?=
 =?utf-8?B?YjNQVjg2OXdNUllqREd3VjdkZG9RaWFpeVZ3bUtDTlFBZzlxd3JqL3JENDB4?=
 =?utf-8?B?UWQ0c0h2ZUtKd2FWNDIvTWFlQkFZZDA2VDVPSURHYjNLd2lMTmJQUi9oQkhD?=
 =?utf-8?B?ek9Ibzd5TnNzdzZlYWc5WHlmNHpqTXc1T0o3cFNISTJaWFVrb1oyekNRWTg4?=
 =?utf-8?B?MjQ0TzlZRHJoWXVnaitjbGpVaTN6OEVxUnB0VXR0RFFyUGJMVTRCVU42akQz?=
 =?utf-8?B?QmdDdFRiZFl2b2hCM1gxTzloTFp6NlVkRktnN0dZN2U2SkV3M05CSUpOZjVP?=
 =?utf-8?B?cHRmajRkZGhNTUwzZ1FnSE1vY3dVd2ErZ0s3TmtoRjl5ZXBUZTVOeDIrRFk4?=
 =?utf-8?B?ZWt4Um5jU3RRTk1EYmNwUElQQ1NNVEFKZWlkRCt3WHliN3Z1SnVlRGxpa0Jh?=
 =?utf-8?B?d0VOdkkya2ZhZ3ZZVEFJNlRnYkdxQnBQOW5QMGRwcmZrSXJyRTJlVFhwMzZx?=
 =?utf-8?B?U21VcWNzV2VJbm84N3YzV08wOUhKVnRXOUxyeWF4YUduQWcxN1hXREFhSWRh?=
 =?utf-8?B?YzJDTzBqenMyUFRUVnFkVkpURWZkN2hCME9zdmpjZ1U4VEh1Szk5cWxzVDBO?=
 =?utf-8?B?SlRXY1hGNVh1bGhSMGo4ZVNjK3hCMXd3YjZhWWxJeWV3QzZEZHlCVzJIYTVI?=
 =?utf-8?B?VnJNOVlQUjdDZE9JSkd2M2ZPYWFGSDRvd29zazhlVzNYNmlHYWlYaDVqVEp2?=
 =?utf-8?B?d2pNSStWNVVZK0U3Y21tNUlFeUM1TFM2SWJPVlNrQndtSVBQSFozQ2hrSm52?=
 =?utf-8?B?K1p0TUFGZEsrKzlzTThKVVRDR1JGaFdTeWo3eTRxa0ZFc3hpdmdxYkJuRjNp?=
 =?utf-8?B?bTd1RDBVY3dFdy9hUmIxaUlZRDJNbHl4SEZsNFZjWVFsT0tQWVJhQ0wvUEUv?=
 =?utf-8?B?Nk9zaUF4cEZuVmsrWkFBVml6dHZTQTNIL3BuVUcyWUNKWFJFZGVla2NGN0hr?=
 =?utf-8?B?bk55SDV2U3RMSEZXM3hvWXFFUkRFaWlueTFUbWZqaVRnQ2VacldFbzB4Uk85?=
 =?utf-8?B?Nk92U1ZqdUNwUkdUQldEV3U1K3VXSVBZWHJHdnBJaFcyNmZhdmQxcDlzQ0Zy?=
 =?utf-8?B?K2xVTi83cy9XQTNFb2N1Q2VKT3hlOUJOeFdMellEZzAxMjdBZjFjWDh6NVlo?=
 =?utf-8?B?bk5BWWFBK3Q2VVcvNmhNUndEZE1YK0w3OFQ4S1d0U203UUpibk5qUGJHRlZk?=
 =?utf-8?B?OTBWOWRLYjJmVHkyeWFrZllrS01senRXODUxQnNsWElLQkxUSEdmUTNqeWxS?=
 =?utf-8?B?K0twM3pLNStkRWMvdVlmMFBROWlNMStvVTJmRTlLaUhua1ZxbWFsMTdmUjNu?=
 =?utf-8?B?UmJTRDB2dmV6b0NveVNXM3NGdW9QOTNuVU55WE1CSC93MmxSRHpvRFhFdTd4?=
 =?utf-8?B?alE2YXRxbDFkVDdEOEV0MmVQU01hS2QzaE1KcWlnblRHSi9YdjY5QStaWWRa?=
 =?utf-8?Q?hys0IsQuUdAOblOqnXNwxoY=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1ecd8fec-2f2e-47b6-e24e-08d9e0e99d45
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 16:33:42.1959
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ToBsuDtmIu627zUewoBZIp4cKZJfXnwIuOIzd8M+BEszhP8g07kA/qI7ZPEu6ESVGkMOBOAgI+G3bvCJ3fYVZA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9243

On 26.01.2022 09:44, Andrew Cooper wrote:
> This bug existed in early in 2018 between MSR_SPEC_CTRL arriving in microcode,
> and SSBD arriving a few months later.  It went unnoticed presumably because
> everyone was busy rebooting everything.
> 
> The same bug will reappear when adding PSFD support.
> 
> Clamp the guest MSR_SPEC_CTRL value to that permitted by CPUID on migrate.
> The guest is already playing with reserved bits at this point, and clamping
> the value will prevent a migration to a less capable host from failing.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 16:43:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 16:43:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261034.451540 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nClOB-0000j2-DE; Wed, 26 Jan 2022 16:43:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261034.451540; Wed, 26 Jan 2022 16:43:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nClOB-0000iv-A2; Wed, 26 Jan 2022 16:43:19 +0000
Received: by outflank-mailman (input) for mailman id 261034;
 Wed, 26 Jan 2022 16:43:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=iJVZ=SK=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nClO9-0000iW-ON
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 16:43:17 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0d5f5d4c-7ec7-11ec-8eb8-a37418f5ba1a;
 Wed, 26 Jan 2022 17:43:16 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d5f5d4c-7ec7-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643215396;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=Ma2biUqHTpSS5SaZFZ5W6hVQcNktSz5lX77ibumn1pA=;
  b=RKjHkKxPoft2TfLHxSj+ptM3bQCHfHy1PDJEEcS0Wf5ujsJ000VKxU7a
   1H4JnUvN8aWkLI3a1A1h9aScl4xGTaPdOEa6fTrcLTz7U9pgo0cBCCVy5
   ulD4Cz67XWjjwh+tH611WJKbGqrrZkuyoiyhp+kUDVz/eRnGK4KJ8cdAI
   A=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: 4anLBNFVMj57IlnNQu3Kmr3I7i5pjiwCGonbV3WDFB8uC24qfHeg8qlCHLuFcPNs8850Ig+nBW
 BvUeXidX/ouDSkogpveoYonTgbNkNh515tXgxhfM6sGimiXOQxx5v0/QJL7kaiaX7uN6/y8cBS
 rLpcHCyI5orl15z+aqoQxSnov/Yvqbk8MiXfUw1qaGi+UJY5Cbt5YueH3+Z0eYSasWmcwzxSek
 4KGBwJNYItKEbunjS8LKnDoso3BU3ZCK5lCWvJifUUlI+SOPU27Prcbf8BedzQ5TGtdi1lWwtL
 TB1jM7bMYc01NPjBzUakH2U7
X-SBRS: 5.2
X-MesageID: 62284306
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:bjxAPKmVu7Vmhj0ZEaa2L5Xo5gzzIERdPkR7XQ2eYbSJt1+Wr1Gzt
 xJLXD3TbvbYMDOneNx1aIW08khVvMfRnIVlTAttrns3FyMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BClVlxJVF/fngqoDUUYYoAQgsA180IMsdoUg7wbRh29Q22YLR7z6l4
 rseneWOYDdJ5BYsWo4kw/rrRMRH5amaVJsw5zTSVNgT1LPsvyB94KE3fMldG0DQUIhMdtNWc
 s6YpF2PEsE1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXee0v0XRYRQR4/ttmHozx+4
 IQRp622QiE5ArHNqt0dYjhDTnxnZJQTrdcrIVDn2SCS50jPcn+qyPRyFkAme4Yf/46bA0kXq
 6ZecmpUKEne2aTmm9pXScE17ignBMDtIIMYvGAm1TzDBOwqaZvCX7/L9ZlT2zJYasVmQ6yEN
 5ZCMWQHgBLoahBmPEkcOokHn7m1jz7mTmJAiErOqv9ii4TU5FMoi+W8WDbPQfSHSdhchEqfj
 mLP9Wf+GQ1cMtGDoRKf83msj/XD2yP2Xo4fDqa/8NZugVua3GtVDwcZPXO+uuWRkEOyW9tDb
 UcT/0IGvaU0sUCmUNT5dxm5u2Kf+A4RXcJKFO834x3LzbDbiy6cD3IPQzoHYcQoucs8TCEv/
 lCMltLtQzdotdW9S3ub+q2FsDCaNi0cLGtEbigBJSMd6sTniJE+iFTIVNkLOLe4i8CwFTzuz
 jSiqi84iLMOy8kR2M2T5VrAhSCtoJnhVAM55gzLGGmi62tRf5W5boal7Vza6/doL4uDSFSF+
 n8elKCjAPsmVM/X0nbXGaNUQe/vt63t3CDgbUBHTsUzxjKm3W6fYYFi2TFPBVw0b99dQGq8C
 KPMgj956JhWNXqsSKZ4ZYOtFsgnpZTd+cTZuuP8NYQXPMUoHOOT1GQ3PBPLgTix+KQ5ufxnY
 f+mndCQ4WH24EiN5B6/XK8j3LAi3UjSLkuDFMmgn3xLPVdzDUN5qIvp0nPSP4jVD4ve+W05F
 uqz0ePQmn2zt8WlOkHqHXY7dwxiEJTCLcmeRzZrXuCCOBF6P2oqFuXcx7gsE6Q8wfgOz7yVo
 C3hBx8HoLYauZEhAV/bApyEQOi3NauTUFphZXB8VbpW8yVLjXmTAFc3KMJsIOhPGB1Lxv9oV
 fgVE/hs8dwUIgkrDw81NMGnxKQ7LUzDrVvXY0KNPWZjF7Y9GV2h0oK0L2PHqXhVZgLq5JRWn
 lFV/l6BKXb1b148XJ++hTPG5w7ZgEXxb8orDxKXeYECIRu1mGWoQgSo5sIKzwg3AU2r7lOnO
 8y+Wn/0fMHB/N049sfnn6eBo9v7GudyBBMCTWLa8ay3JW/R+W/6md1MV+OBfDb8UmLo+fr9O
 bUJnq+kaPBXzkxXt4dcEqpwyf5s7dXYuLIHnB9vG2/Gbgr3B+o4cGWGx8RGqoZE2qRd5VmtQ
 kuK99QDYeeJNcrpHUQ/Pg0gaujfh/gYliOLtaY+IVng5T8x972CCB0AMx6JgS1bDb10LIJ6n
 rtx5J9Is1Sy00N4PMyHgyZY83W3AkYBC6h35IsHBILLixYwzg0Qa5LrFSKrsoqEbM9BMxd2L
 2bM1rbCnblV2mHLb2E3SSrWxeNYiJkD5EJKwVsFKwjbk9bJnKZqjhhY8DBxRQVJ1BRXlel0P
 zEzZUFyIKyP+RZuhdRCAD/wS10QWkXB9xyj0UYNmU3YU1KsBz7EI2AKMOqQ+FwUrjBHdT9B8
 bDEkGvoXF4Gpi0qMvfejaK9l8HecA==
IronPort-HdrOrdr: A9a23:4nyGe6552m4nrYLvtgPXwMzXdLJyesId70hD6qkXc20zTiX4rb
 HLoB1/73TJYVkqNE3I9eruBEDiexPhHPxOj7X5VI3KNGOKhILCFuBfxLqn7zr8GzDvss5xvJ
 0QFpSW0eeAbmSSW/yKgjWFLw==
X-IronPort-AV: E=Sophos;i="5.88,318,1635220800"; 
   d="scan'208";a="62284306"
Date: Wed, 26 Jan 2022 16:43:03 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: <paul@xen.org>
CC: Jason Andryuk <jandryuk@gmail.com>, QEMU <qemu-devel@nongnu.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>, Eduardo Habkost
	<eduardo@habkost.net>, "Michael S. Tsirkin" <mst@redhat.com>, Marcel
 Apfelbaum <marcel.apfelbaum@gmail.com>, "open list:X86 Xen CPUs"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] xen-hvm: Allow disabling buffer_io_timer
Message-ID: <YfF6F6jG1mDbAMAj@perard>
References: <20211210193434.75566-1-jandryuk@gmail.com>
 <adfe1c14-f773-0592-e304-d80da8380cc0@gmail.com>
 <CAKf6xpv0=ex+OrFb1z4TpaULsmMaPQqmmsxoY_d4yJRt6Zx3sw@mail.gmail.com>
 <2ebaf0d6-a84a-e929-5ac2-597c81d40230@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <2ebaf0d6-a84a-e929-5ac2-597c81d40230@gmail.com>

On Wed, Jan 26, 2022 at 01:47:20PM +0000, Durrant, Paul wrote:
> On 26/01/2022 13:43, Jason Andryuk wrote:
> > On Tue, Dec 14, 2021 at 8:40 AM Durrant, Paul <xadimgnik@gmail.com> wrote:
> > > 
> > > On 10/12/2021 11:34, Jason Andryuk wrote:
> > > > commit f37f29d31488 "xen: slightly simplify bufioreq handling" hard
> > > > coded setting req.count = 1 during initial field setup before the main
> > > > loop.  This missed a subtlety that an early exit from the loop when
> > > > there are no ioreqs to process, would have req.count == 0 for the return
> > > > value.  handle_buffered_io() would then remove state->buffered_io_timer.
> > > > Instead handle_buffered_iopage() is basically always returning true and
> > > > handle_buffered_io() always re-setting the timer.
> > > > 
> > > > Restore the disabling of the timer by introducing a new handled_ioreq
> > > > boolean and use as the return value.  The named variable will more
> > > > clearly show the intent of the code.
> > > > 
> > > > Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
> > > 
> > > Reviewed-by: Paul Durrant <paul@xen.org>
> > 
> > Thanks, Paul.
> > 
> > What is the next step for getting this into QEMU?
> > 
> 
> Anthony, can you queue this?

Yes, I'll send a pull request soon.

Sorry I tend to wait a while before preparing pull requests, especially
when there's only one patch. But there's another one now.

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 16:51:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 16:51:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261038.451552 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nClVa-0002Er-CZ; Wed, 26 Jan 2022 16:50:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261038.451552; Wed, 26 Jan 2022 16:50:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nClVa-0002Ek-7N; Wed, 26 Jan 2022 16:50:58 +0000
Received: by outflank-mailman (input) for mailman id 261038;
 Wed, 26 Jan 2022 16:50:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OZ3N=SK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nClVY-0002Ee-8V
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 16:50:56 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 206a147f-7ec8-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 17:50:54 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2109.outbound.protection.outlook.com [104.47.18.109]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-9-NM488FgoNMyLyQryVpUpGA-1; Wed, 26 Jan 2022 17:50:53 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by PR3PR04MB7339.eurprd04.prod.outlook.com (2603:10a6:102:8b::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Wed, 26 Jan
 2022 16:50:52 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.015; Wed, 26 Jan 2022
 16:50: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: 206a147f-7ec8-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643215854;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=cVoBSauL43wjcVPt8t8sL/oARtzHvIs2psLXuiupbu8=;
	b=DmOxUZsiKyS42HxsRL+Dtl2KnW5aYhm5VA9Rd0YG9EHvVGgxhJRC9TfIpJTyjPFmQMPZkt
	od9b8bQdoVc17PpJfDtULAU9/N2yQ6eK1+j4dMjoGBh9ALzxcxxW2illmOq8G6+6vvFl1p
	L5SJbFMBTLUtrwPms3lXW6qJCOBq2Dw=
X-MC-Unique: NM488FgoNMyLyQryVpUpGA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=awZ+EhHz3MAQDHeUIQlavzxPioldpL8gWEHCiQJnc2065PalY6wpmlB1tjefY9cNS04W60PR849Cq3fUjG+wesgDwUh4p14I11HM2kgjHxnxOJ1LQpQd578PnUaxn4Fx8dIoLVEcHnn/k2AFqYatoGeCEEspwjtqDWXEye60tACv6PSAEAY0W/naZJpPcuMGRUx0p/orfHl+p+Cx6itbDaDYmCAbI8W8wlhyM9+M4JR/8AK1RpDSb94DiqVsU4IybvWDDgah5S9LNWiNrPbN+3m9Xb0C7iwprxTBQBwd1/yM+rZvYk+ISKd/cVNVcHdT2SNgDOe3H63BFZrASasOQQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cVoBSauL43wjcVPt8t8sL/oARtzHvIs2psLXuiupbu8=;
 b=dKkhF35sLmXFGsfq0n/c61R1Ab0fNg5yWMOvqjhhxy6SoOUc7aHC0Crm2PemjHKvBis/8U1VF7zZ0RuRA0nu5/tusB2gnA8VeVmK+EOMMxLb9ubJQM79FckKc9RY2tHRolIQBeC1nQhTG9yUboMRrGGBwuOwkkmHcD7ZQcFFEhEYAevg+/Z/DNtdaGNUhSjL2h6xXxL4XOwj9n0y8QlrdLbCV9M4I8EmynfrBawT6qMpIn/9UDJI8J0BG8IUgLBZJbYBgzFswmf4+ZvvYcZLHhyJaxHYqruLvOT3QjFWVAWL0stSrGwWDSohP62TFz7j7Pdr6IHV2Et58Y/n6WRhQg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f5c1134a-f446-7031-877e-6a3177120de9@suse.com>
Date: Wed, 26 Jan 2022 17:50:50 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 3/8] x86/svm: VMEntry/Exit logic for MSR_SPEC_CTRL
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220126084452.28975-1-andrew.cooper3@citrix.com>
 <20220126084452.28975-4-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220126084452.28975-4-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR1001CA0026.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:206:2::39) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8f85af36-5a9c-4808-325d-08d9e0ec0314
X-MS-TrafficTypeDiagnostic: PR3PR04MB7339:EE_
X-Microsoft-Antispam-PRVS:
	<PR3PR04MB7339F6055D04A90D3DC4CBA5B3209@PR3PR04MB7339.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:
	Tm70CTMSPihWaUwLNRgws73unMnCzNV/JZA9OV3EX4K523RhYYeCvgwd/903CFjs5rZj7Q+lwLQg7fXDqiR5C3OKFoXwfaGBwtESIA9/A9j7hLmoB2oxJm0GrlfC/IMorRTqWSNY+6pljKMILnvJs2QqjO6xNIDwDQr+yP9aDpU3y75inVvS8mex6bGoYuV/s/RdwL1ntjEmsgV/PHJKVRhQBQgDbwFTcFhxLo535IyUY//N7XHWQAr0I8KbcN+pFA4NsTiXsvxXBUMy8NHIF40bA9qp2NdVY5Ar4jHd9ZgJGHNPPQKJJCWSw+3OnwnZsRI8U2YA4/N4VArQqnHlvxQShtyjrPi3KwVNy/7ZZPVRG0OIE5vJOTXP6YX6pIKL8PSnkhjCTFUS4/iulr2Dq8lZbCt8eyteugEtxQw3Dctpx5cr2u1e2MTy5LkdTuCB8mQjTVotOn80VWiWSq1fflKGYWRWhVoOclaGJalmQ8/eumeqL7ZxEqLn+x3M7f0c8/cn7pbYSBXRFB34Ni46wt9L2Znkodk4DCc8GhrkyIVMh0E3v5G5eaH2/KYMN032NN+HvZu6sYi6/uA4MmrDQe7NVz+dYVNU/3pQ7GyEPI3sPfa87qEU7b7PY2LZa1/+em/p5OeA+/VaBWUQrNW9O5xUs4WYlGoNPL+lLknbgNbFPMsPJEAZwp/fqPC7z+4D/vfRndjZdtVTEzpmVTARTNFqqp5y/1NTMv9PZOJpxCyv+GfJdOVvqPoVtyEPv0BP
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:(13230001)(366004)(83380400001)(508600001)(186003)(26005)(36756003)(316002)(6916009)(66556008)(31686004)(6486002)(2616005)(66946007)(54906003)(66476007)(5660300002)(53546011)(6512007)(6506007)(86362001)(4326008)(8676002)(8936002)(38100700002)(31696002)(2906002)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TnZSbkpFcERrTThTY0NEZ29BbkY5MzkzSDVCVHQxS1JVbjNwd3c1U0U1TGt5?=
 =?utf-8?B?WWV2WFpDaVZRemRkRlVLY2c3T3YxZFZCTlI4dEpNYkNSOUpiWG5KblVFZW1Z?=
 =?utf-8?B?dGhNNUFXRzFzVkxpU3hvK3NGdkpLNXJWK05JTVM3VjJJWDVQWmRsTU5aaGM5?=
 =?utf-8?B?OWE4bmNudWlIK2QvRWI2YllXTnBKNFBGaUV0SzQ3NWRqS29pVUx1SDdJMUVv?=
 =?utf-8?B?aS9tdGx4dCtmSWlLNjhrVTZJTHVlRHZEcENWMzBtdngyMGNENHZkT0VaQ2FI?=
 =?utf-8?B?NGZtSllJVEl6a1p6OG1mTHhmQXJuVWFacFl1bUdnT1FrSTRSeFdHM0trb0Fi?=
 =?utf-8?B?Uyt1UUxIczREYkRva2xjMVNKZTZSSGtVT1A1R1I2ZDZyOFlRdFRqRlYrQ1Ir?=
 =?utf-8?B?UElTYjFsRHllVnV1aHE1TUtmZE1rRGFKaFkyVEQ5TTJVbitZOE1PZFRVUDdn?=
 =?utf-8?B?VTVCbFFlVzFGRllyMmMyVzVxczdsdCtBdXpxZHdCOVZLcm5NS1hwSDMyQ1VQ?=
 =?utf-8?B?Q2NGYWZqZVhGU245OWQ3Q2VtVG9IbU81Sk9PWjlXTnJ0a2RteUM4Zm12bldw?=
 =?utf-8?B?UkdyVGE0Q3VwcUhPci8yUk9zYTFJOWVSMzZFbThBZkpjbnV4SWJCczVLSytl?=
 =?utf-8?B?bk4vTmVJMlNGeGhIYmptbG1HNW1vc3kyWjNVQ0xmZkVZQU5mTG1vcXNXNHkw?=
 =?utf-8?B?ZEdJY2ROS21ncFJRanRjR2pEQTU3V2pCYjBPbXAyK1Z3UnNHT1JlYktvRmxr?=
 =?utf-8?B?Y0J5ZU5XY21rWEsyT1p3MmxmTHNlT2pHMXNTb3FNSzU3MWNTSFlyR3VNU3hh?=
 =?utf-8?B?TjFmVkIwTkY4enpoL0JYRmRaN0N0NFJjalFzTVlHUklLRy9WY29QQlQxTVRu?=
 =?utf-8?B?MEt0dklDdzdjbWF0Ti9TaXNONDhVSDlNWXF5MkwyTlpzb3ZPOTZLQnd4bFBF?=
 =?utf-8?B?OEhiYjZQclppOXhBTGRhSlhNTXpCRWQ3U1o3YlIwbTNEWXAra1A2K0JLclgr?=
 =?utf-8?B?a2pmN1hSZ2VMOEJFdjZGWjB4MWpORmZsS01OWjF3b3k4MCszaG1aSUlhZUtF?=
 =?utf-8?B?UXlQNHBocmhlakFqbXZqY2pyS3JOMWtZM1JWMFc3SzVDY1NxTHowYUlqNDBo?=
 =?utf-8?B?QlVjdm5OYUF4UnRUQjhtK3pXeDZKOTBkV1pwaStJWFNRamFTankyMFR4bEUx?=
 =?utf-8?B?REFUQm15QmZVZXM1UlpSMi9BT3kyN2NhRFl3U3R1NVBkQWtLNmlSSHF4ekZy?=
 =?utf-8?B?SUxhME8wZEphUkRMT2hpSXRjb1ZFUnJyMEFLYlhwTHZxK011WTZIRlZYN3ZC?=
 =?utf-8?B?dFFCNS9UTG9PVEJ5K2c3SFhmUWVMVjNIazVtdHlUcXZHSkhtK0JZQzQrR3lE?=
 =?utf-8?B?bzUzOHRYVUZnVVM0cFFoMGRBeGw2cHdrZzZyRHVMRFV1Rm1BOVhkSzI3bWM2?=
 =?utf-8?B?M0J1MG1IZXUyZEIyaGN0dTVaQ2VQVDY3R0Fxa3R3NktBTnI3S3JJZFdoQld5?=
 =?utf-8?B?ZTI0TUhkbnFLUW1ja3BMbis2bWRKMWxCdk8zdHFaeXdxRzhlN1d6VStGMGNY?=
 =?utf-8?B?ZjA0U3JyS3ZMeE05d1RTaFVFYXF5MVRJMWo1SlU1c2Z0ZlVTclJnTzh6clVh?=
 =?utf-8?B?eE9ieWdQUWRHazFPaVM5SysybmlJZ2ZjUnVQc2Nxb3J5eDU5UWRNUEdjYk5a?=
 =?utf-8?B?SzVOK0taSDlwWU4rRHRpTS9ncnlQTFp4Vlc2M2NoME9rc29GcTFNTUdHd0ww?=
 =?utf-8?B?Znl0bDJ0N1c4RmxJUS9aOE1NVjMvK09ob1psYnJYVWN2Y3BjWVBIclVwaGZx?=
 =?utf-8?B?bjViQlBqWEt6Rk9jMUY2R1JOYitMTjhDQThUWjR0aTE0WFpDUEIrT3JjMVlS?=
 =?utf-8?B?a0FLb0tNZkdjeUxoNXM4VXpGbWdNbDdjTzJGWENqalVOWStBanBxQXZ3OEhT?=
 =?utf-8?B?VUs5cFRyWDlQanh5dWxUT2xrRDQrbjJPV0xFK3hxSklaUzVJYVB0UWNOdFZ6?=
 =?utf-8?B?UDRzM2UxRjNjZmVYbzBqYTkraGcvUnlqOXRNdG1FdGRHZWIvemVNa1JZb3dx?=
 =?utf-8?B?VER5Q25KcURzRWNHWGoxN1laNkxiOG04enVXRnRQeG5zbzZvOVZVM2pGK0Zv?=
 =?utf-8?B?K3MvaXNIcnJ0REdNL1c0RmJKM2loUUEwejFHTGg3TnBtQlJIRndJQVhIc3I2?=
 =?utf-8?Q?aEIdwnxweEN+tTmM1HP2PIY=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8f85af36-5a9c-4808-325d-08d9e0ec0314
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 16:50:51.9600
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mN6SQTcdS9xOKWBfuk12qLFX+aiTTdkaEc/VqpSTTWQ7s14fetzEP2B1kckDrm6negAXUjAMZvUnijFcZ/QAKw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7339

On 26.01.2022 09:44, Andrew Cooper wrote:
> 1) It would be slightly more efficient to pass curr and cpu_info into
>    vm{entry,exit}_spec_ctrl(), but setup of such state can't be in the
>    ALTERNATIVE block because then the call displacement won't get fixed up.
>    All the additional accesses are hot off the stack, so almost certainly
>    negligible compared to the WRMSR.

What's wrong with using two instances of ALTERNATIVE, one to setup the
call arguments and the 2nd for just the CALL?

> --- a/xen/arch/x86/hvm/svm/entry.S
> +++ b/xen/arch/x86/hvm/svm/entry.S
> @@ -55,11 +55,11 @@ __UNLIKELY_END(nsvm_hap)
>          mov  %rsp, %rdi
>          call svm_vmenter_helper
>  
> -        mov VCPU_arch_msrs(%rbx), %rax
> -        mov VCPUMSR_spec_ctrl_raw(%rax), %eax
> +        clgi
>  
>          /* WARNING! `ret`, `call *`, `jmp *` not safe beyond this point. */
> -        /* SPEC_CTRL_EXIT_TO_SVM   (nothing currently) */
> +        /* SPEC_CTRL_EXIT_TO_SVM       Req:                           Clob: C   */
> +        ALTERNATIVE "", __stringify(call vmentry_spec_ctrl), X86_FEATURE_SC_MSR_HVM

I guess the new upper case C after Clob: stands for "all call-clobbered
registers"? In which case ...

> @@ -86,8 +85,9 @@ __UNLIKELY_END(nsvm_hap)
>  
>          GET_CURRENT(bx)
>  
> -        /* SPEC_CTRL_ENTRY_FROM_SVM    Req: b=curr %rsp=regs/cpuinfo, Clob: ac  */
> +        /* SPEC_CTRL_ENTRY_FROM_SVM    Req:                           Clob: ac,C */
>          ALTERNATIVE "", DO_OVERWRITE_RSB, X86_FEATURE_SC_RSB_HVM
> +        ALTERNATIVE "", __stringify(call vmexit_spec_ctrl), X86_FEATURE_SC_MSR_HVM

... why the explicit further "ac" here? Is the intention to annotate
every individual ALTERNATIVE this way?

> --- a/xen/arch/x86/hvm/svm/svm.c
> +++ b/xen/arch/x86/hvm/svm/svm.c
> @@ -3086,6 +3086,36 @@ void svm_vmexit_handler(struct cpu_user_regs *regs)
>      vmcb_set_vintr(vmcb, intr);
>  }
>  
> +/* Called with GIF=0. */
> +void vmexit_spec_ctrl(void)
> +{
> +    struct cpu_info *info = get_cpu_info();
> +    unsigned int val = info->xen_spec_ctrl;
> +
> +    /*
> +     * Write to MSR_SPEC_CTRL unconditionally, for the RAS[:32] flushing side
> +     * effect.
> +     */
> +    wrmsr(MSR_SPEC_CTRL, val, 0);
> +    info->last_spec_ctrl = val;
> +}
> +
> +/* Called with GIF=0. */
> +void vmentry_spec_ctrl(void)
> +{
> +    struct cpu_info *info = get_cpu_info();
> +    const struct vcpu *curr = current;
> +    unsigned int val = curr->arch.msrs->spec_ctrl.raw;
> +
> +    if ( val != info->last_spec_ctrl )
> +    {
> +        wrmsr(MSR_SPEC_CTRL, val, 0);
> +        info->last_spec_ctrl = val;
> +    }

Is this correct for the very first use on a CPU? last_spec_ctrl
starts out as zero afaict, and hence this very first write would be
skipped if the guest value is also zero (which it will be for a
vCPU first launched), even if we have a non-zero value in the MSR
at that point.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 16:55:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 16:55:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261041.451562 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nClZY-0002zX-Tl; Wed, 26 Jan 2022 16:55:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261041.451562; Wed, 26 Jan 2022 16:55:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nClZY-0002zQ-Pm; Wed, 26 Jan 2022 16:55:04 +0000
Received: by outflank-mailman (input) for mailman id 261041;
 Wed, 26 Jan 2022 16:55:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OZ3N=SK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nClZY-0002zK-9s
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 16:55:04 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b47dcc43-7ec8-11ec-8eb8-a37418f5ba1a;
 Wed, 26 Jan 2022 17:55:03 +0100 (CET)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2055.outbound.protection.outlook.com [104.47.12.55]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-10-3EYudVVgMNuEmcBXFsX4Tw-1; Wed, 26 Jan 2022 17:55:01 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by PR3PR04MB7339.eurprd04.prod.outlook.com (2603:10a6:102:8b::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Wed, 26 Jan
 2022 16:55:00 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.015; Wed, 26 Jan 2022
 16:55:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b47dcc43-7ec8-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643216102;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=7KACc+NqMAkGAFUe0+VlyybcigpM+knPh5JmP0EmPjE=;
	b=Xdp49pbiwEyJcSh1ggkfoiiiRxIa7F579NLJUha+1GhSATd+1nTOKzsD7A1SMmUDipUYXw
	kL/9Q57zUmkHuyFze7StlcchFgjxUZI96yXPmcrs2dDbDRl98Q6FRnRpel20Eep4QeZkmK
	SeDv4JWqFuY+Qbd6i/OwKuuNXQwEtoE=
X-MC-Unique: 3EYudVVgMNuEmcBXFsX4Tw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oUK2hXGlvx5APjPMnqdqaJTx/DzIurm67HCteZf8i3J0X5qf7MnYCXvUffYyVcbQEtf+RRksKAmjl1filQqKPrs0bQ+w0byb3/rb/1z0DQJM+P5oBt02d6IdPmbhvlAZRUK6E0tX1a7zaWoEM9gTzSgbtOZ0/yxZhnPBnmuvGpGe42+2rpcJwLMRoTdIeuQoNkjRdAwaXLmdd01k/XBRWqpdEp/+dfKsjh88SfVlBt3kRXVXHLkWi+6oHiZsJ6oYI/UOLJOoj6nSTAkr5ArbZDDnX5rj68DAyG0k5jlAjm4HbgeMFLD/+ar7Bowk/zKHTUxosP/IgNPRLkvxEQqo2g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7KACc+NqMAkGAFUe0+VlyybcigpM+knPh5JmP0EmPjE=;
 b=X4WBOJKtJ/H5XgAOchfzc4V2NOgLK9SrTBvbWz2bTd60hcOnV1Cr+mHqLZvPgPbU1bf21VbYrMSKOX2lbEr/4FkQ/sYtfSLrlEaVsr30bFIDdVQpIMueb7/WqWBp4AbGIU3N+SoqEpT1L/5IADTYpJ/6xV/sR6u3Bvi934oyjaaXCs5puT2UDBxijf5oZuBxEqWlCt/mC6kBtbMf9fOt4QVn6ts8Ab2CR31IMKFbUQPAaTb5nDhTSxslrSfqYfgVcaqugwlZkOMHaA4o5aqU9JCrIdkPNSk31wrv1V/4K2ALrqj6i0I4TUKL9XalFFPBWYYdwwdRSEaPOMb4JNISvg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <49924d67-ef9f-6ae3-0f1e-83041c1c447f@suse.com>
Date: Wed, 26 Jan 2022 17:54:58 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 4/8] x86/spec-ctrl: Drop use_spec_ctrl boolean
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220126084452.28975-1-andrew.cooper3@citrix.com>
 <20220126084452.28975-5-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220126084452.28975-5-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8P251CA0008.EURP251.PROD.OUTLOOK.COM
 (2603:10a6:20b:2f2::26) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8bb1d9e6-c023-430f-3bcb-08d9e0ec971f
X-MS-TrafficTypeDiagnostic: PR3PR04MB7339:EE_
X-Microsoft-Antispam-PRVS:
	<PR3PR04MB733925DC83701820FFF19226B3209@PR3PR04MB7339.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:
	zWJn7jobr4pKnSN7A0ldaoycYZcVin9mGMwCBRvzOX1EwJb9oa3mQDErNCv/ZEzuuQrbpdc8RyYZrYuGf2ZSCnOSnGe5shIWrH0VD/JmCQGVpIO//XNjtifLTxWFOUBs8q36vHJ4aZqhRk2adChJv3DJmtI18oEhbkzSQdoBhj6LjVjn9BK80S9NGgHPSvJmNCqTt3De7clZp3we1XSimhW5jUwfbxvt8KUy1LBldLUTiDgPr4hyJp78YK/gSr+011ZsP5S/Oc9z3Kf/R/gJig8dIwEF0JNHTHBiYrv3eyXYm6/AnUyEkSciZpuesBqp3cMN4wO7/ARh9fw2g+Gsw/tUQwFTv7YeXbRmKKdPI1V4TLeW3RFCMBvAkBhTAylixfUQt8kKz5/4K1WjVHCEGEswubrzAz0+v0ozz/g3saMHRvanIWWcvCGgdzi7HVTB3S+9J4eDmfFAmgp5Yf8VwrDkYbWRFwpF72oPz5LxhTA2FHp0eyvm9phhxIXPr4/UFawfUyUCwrIReZ6X0ow9j/t5RZS61N8DiUSSE7vRJ4QPar1kGatC+mUWILob5YWEQEX/NBpOtRoblOkiGjy77Kz5byXKz9zbkuEgH0i8AfnelqCz8wS0TSp00zHqJILZxMY6tP6M1SHD8dY9p6sWsGZWhOMGk7Va0y4lCo22ru7LcYOIco/91ogV28C5e+k/uVV85eqxdJnWt/tKHN3SNY4xFIg/yzWC770zlbcfOPQ=
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:(13230001)(366004)(83380400001)(508600001)(186003)(26005)(36756003)(316002)(6916009)(66556008)(31686004)(6486002)(2616005)(66946007)(54906003)(66476007)(5660300002)(4744005)(53546011)(6512007)(6506007)(86362001)(4326008)(8676002)(8936002)(38100700002)(31696002)(2906002)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MjN6SS9EQ0MxdEx1bzRaMWdTdUtNQW5NNWtMZzBxMmNWV2djd0ZYaHFHUE9m?=
 =?utf-8?B?VDlRZGpvUzhBVC9tU2JYa0RpNGNtOG8rcWxueWViWFNFRnM3Z0QwSnl1TG5m?=
 =?utf-8?B?d1BqOU1jR3RLSzVmRHhod3ZybXM2SXhYT3lDbWJQWGl3S0FDbzdiNTdXTWJx?=
 =?utf-8?B?RjRwaUVUSEQwZGdMVWtuRmlBZHRVbjUyRWFIeE5TQldadlFIVFIxcHBWUDJ3?=
 =?utf-8?B?bnJNZEtSbVoxc3NYVWo5L29lcjEwbDhkdlRCcHRMVFdmaUMvVUIwZXoxbEVl?=
 =?utf-8?B?S1pUN1QvQTQyZC94S3YzV09OejJLS2tydFhDcmVYSXVKMnlDRFo5ZjBpSnd1?=
 =?utf-8?B?RWFlOGpEajJkcmpCa0Rkckd0cG5JcWlVTEIyOVAyV3lRNXdqaG9yVUg3MUMv?=
 =?utf-8?B?TG1Nd1Z1QUtDYTlxdmF0ZEZydmRpNDNHNUlCVS96bUI2MlNqQnladnFNeUIx?=
 =?utf-8?B?T0RmQ0FpcUtpTjdtVkhrMGNTNUpBNlBMRWdLQytEcVJwVy9SSVlRNG8rdklK?=
 =?utf-8?B?VEhjL3VJbmFiOUw3a0dXN2kwai9RQy8zSTU3bXNSaWM0dUxIR3FpTCtPNGNL?=
 =?utf-8?B?T2Z4aWVZZlNKaURnT1NmY1EzRjlpNHFQdzA1c2x6dHVsYngvd1M2NXR3dUpL?=
 =?utf-8?B?RDNYWXNyQXo1ZHVRUCtiNFdPVHI4RUhzZmxUOC9qSHVxMGIxVG9nTVIzMnM4?=
 =?utf-8?B?RndPRUUrelpHRDVoeTIyd3V4eVpvcm1Gd2VtR08wVnhURUxoeVFLSEVxNG1x?=
 =?utf-8?B?MU1FMW5lNlhQMWdEcWVsbXozU2xmVjRtdTkwMkhuT0g2N3RwbEo3R0w5T25i?=
 =?utf-8?B?UktBUlZiSTNIQkxYeEdaWnl0NmgybWNQVGFYQk82c1ZZWXYxMTd1MEQrTFFw?=
 =?utf-8?B?cVN2cW9xMGR5OUl2VTdnSVU5VjNyejkvMUNjd3RzbVZVNkV1eVVYVmo1eUE2?=
 =?utf-8?B?eU9DZjVGdmtvdU5Bc2lHclZSU3F4M0VjNVBjNGhVSXBvNXpDYUtzMURKQkxh?=
 =?utf-8?B?RzVLN0xSeCtaRDdHTHFRa2tVdEZMcDFmcjlRRFNVTmdhb2pQNWFGbzZ2VlZO?=
 =?utf-8?B?SEZjYy9xWUhuNlViNUU0UnpPNEJiaXVrZlorekM3Nk1LZVhjRjdrUllRQjNW?=
 =?utf-8?B?UURUM0dlMmQxTTZFbVlTV09iWFp0MlM5NlNpL3FlSjVMZGFQcjhJUzk0b2pq?=
 =?utf-8?B?M0JEeGdIWHJzU1NCcFExelkySHVqQ1JhUFV5L2lxc05tR01kQ2pWVGk0ZWtI?=
 =?utf-8?B?L1p4OGtQNTd5cThsR1JxN2M1Z21BRWR1SE5pSit1TnN1RHpsWG82bTJUcC96?=
 =?utf-8?B?dmJidWxJVFNrY2RrRFZGTGp1UUpEeW0ydSsydTBkK3dGdGU5Z3Q1S0FXbm9k?=
 =?utf-8?B?Q2pPTHlKbWdIaUluZE1nbVlVbVNPMUxHNU4zcGpkZDhLOCtHTVFPTzRwV0ky?=
 =?utf-8?B?aVY2cXMxWUdrckE1WHNleHZWeDVaN3dJUnRESm05UnNkZDRKTXVKQlpUR2hL?=
 =?utf-8?B?QXJPVVU4WmtqMUYrUzl1TzRLWlpuQzJRbTlFL1JlaTJ4dXRQc1djbU14alo3?=
 =?utf-8?B?MFNrTWk1YjRHcGcyTTFySTBzNGhFQ0J1enNFQWkxc0FTa2RKbTNiZmRpbXlZ?=
 =?utf-8?B?MVFrQmk0VWhrM3JOS3BLZWJGMlFsOWloQlhuaDFvdGpQbCttaGl0NzNZU1VK?=
 =?utf-8?B?UmFwaUZtbmVoeXdWcGp6Rzh6ZGVFTTJlcDFManhxRlFlaDJEN2tPS0E4eWxM?=
 =?utf-8?B?Y2xRVVNlbXhVMjM3aTh6ZzZvRTJ2bm1kb1NMdldqdkdlTGREOE83YmhuWGsr?=
 =?utf-8?B?R1dxMHJZT1VHNTRiNFRqamJvQ2Y5NUZxSUlvbSt0WTFkZkFHaVdacXd6RURZ?=
 =?utf-8?B?dmZxWC8xWnNoL3JPRmU5T1NUTklVVzg1SkVuQjZ6V0lLY2s5bU41SGpNNFRx?=
 =?utf-8?B?ZnFrTjMwRG9yYUlFb284NjdvWEJSTTFrK2xpdW0zclk4QUpmeVZPM1ZCcHhT?=
 =?utf-8?B?M3p4WFVnT0M0Uk1YbEtsNExSaXZOSkVEVFNHN3N2L1RudmFIbThaK2dkK2hL?=
 =?utf-8?B?ZmhacFgwVWNPV1JTd2dkNWY2RGs4aHYvOW1KTCtSbyswWUU3VGNvZldXV1Bh?=
 =?utf-8?B?Qk54b1p5Q2VyUDRMU3F4dzNvVjBHeFlpUXlnQmtNL1FDK2V2c1dXa2FKZzln?=
 =?utf-8?Q?hFAj4FsprXdRqE+zjmKqc2g=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8bb1d9e6-c023-430f-3bcb-08d9e0ec971f
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 16:55:00.4445
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7/jSUe8QB6NhopMYiPckNKfv2rK1+kcGLmqvtBqd488YlIXuFSB5Xdfl1+kZMwaDZzoF5W+CKEg3CD6gzfwQ/Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7339

On 26.01.2022 09:44, Andrew Cooper wrote:
> Several bugfixes have reduced the utility of this variable from it's original
> purpose, and now all it does is aid in the setup of SCF_ist_wrmsr.
> 
> Simplify the logic by drop the variable, and doubling up the setting of
> SCF_ist_wrmsr for the PV and HVM blocks, which will make the AMD SPEC_CTRL
> support easier to follow.  Leave a comment explaining why SCF_ist_wrmsr is
> still necessary for the VMExit case.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 16:57:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 16:57:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261044.451573 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nClcB-0003mZ-BO; Wed, 26 Jan 2022 16:57:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261044.451573; Wed, 26 Jan 2022 16:57:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nClcB-0003mS-8B; Wed, 26 Jan 2022 16:57:47 +0000
Received: by outflank-mailman (input) for mailman id 261044;
 Wed, 26 Jan 2022 16:57:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OZ3N=SK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nClcA-0003mM-8D
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 16:57:46 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 152d078d-7ec9-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 17:57:45 +0100 (CET)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2055.outbound.protection.outlook.com [104.47.12.55]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-30-12CpTF2XOCW6dl48uqZQSQ-1; Wed, 26 Jan 2022 17:57:43 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by PR3PR04MB7339.eurprd04.prod.outlook.com (2603:10a6:102:8b::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Wed, 26 Jan
 2022 16:57:42 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.015; Wed, 26 Jan 2022
 16:57:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 152d078d-7ec9-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643216265;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=ZxbyjWi9KmySIm/kbMqSMYbFAQAJeCxR43U3kmXX1l4=;
	b=CTdFeMssPijEWuVY10ysX1B1VeYpyKwV3vUPktHlJySKd4e4i+DcMqE9jjs9O3Yb7abYba
	f2CKcVLIPggeuQ0IEgj9lM8VNj1PjNQEohPD7yWQTIggZJ4Jc61EoUaPpzSWQRRZN7pTym
	gCDzfOktlm7h/HDBevaGMy0pHjbwYuY=
X-MC-Unique: 12CpTF2XOCW6dl48uqZQSQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FyVLO6PHST3VAao2/6KLmUR8i76rEAA9EtT+G9VjXjp/WLEtqE6fABYyPeVSz/2V+0rrm42LjBO9KnGSHkars9B45OcLklN7IyZuirItjLVwdMKLFOuhYIfuHfieItJhxQXglpwv9b6hro4vitlDwIK4MAt0a9ziI9xfePVYH1Mu9zKfjzFl2b9h9y9birfxgcfYh+UH/dtqEnza7Up2Mc4RbuK5Y0EF5JeHgIiSry1yB5olQpSjw+SszxoTrcZD5rAwhx0JlON+uUk9QhLx//0bbluh7xvBxO40bERl5FFqD2BpV0bKdswMwMD1Skq97Z9D3lJG2VqCdXYbxxXA6w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZxbyjWi9KmySIm/kbMqSMYbFAQAJeCxR43U3kmXX1l4=;
 b=m4qkC91Qk/PMEghwRGNHs0nwmflE89YVBjrB5FrKkFIxHu1QdJcsF9dYw7VhUnzAnVkQOT4Y4Fd/SmmDnU3VqdYroe6jyh+H1RVMHHp4WizNveYZJhOqiVvz+4EBg3PaXz/VsU2rRulFasW9VqLWMt8t60Qowlbo06sI1j+4xylsIn3DesZ8/8AkP0PCSIscPyYhsFsXlsXCIPHIAhZEuqRqNC86RL3ZJny7bSdmR0fm9FGcJIKZElWKT5U8y0KYrSZfaKoMWddJcvoIRmm49yXCOL7qx33DzIB5YVbArS8N9UEgj81lWvXze5LPs+sPt5uuzSsPdV+uDEeY2qC4oA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8d7b4f86-7f2e-7c2e-c3fb-94f97ee1c646@suse.com>
Date: Wed, 26 Jan 2022 17:57:41 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 5/8] x86/spec-ctrl: Introduce new has_spec_ctrl boolean
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220126084452.28975-1-andrew.cooper3@citrix.com>
 <20220126084452.28975-6-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220126084452.28975-6-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR04CA0082.eurprd04.prod.outlook.com
 (2603:10a6:20b:313::27) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 877f2ccf-ba1f-4ea3-88d0-08d9e0ecf7c9
X-MS-TrafficTypeDiagnostic: PR3PR04MB7339:EE_
X-Microsoft-Antispam-PRVS:
	<PR3PR04MB733976D91B1321F7A0F75E1CB3209@PR3PR04MB7339.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:1417;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2WzkIYtgPG7Per7tAN0c9XObd6j9hNx7dPDYX3csD4qTH17zqdoIeysfJn0SXezJLoCNpEEWu6qZrzFAm9z73Np0yhE+mFN24HqOhI2slm1V8RapALl1gEGdalVYhArPLWDHgI0yIIElOFr3kLDuIMrZDrTu2VnLWECss5dxy9fPpJxFoxFSU1Y4iNSSsBy/5gg41GBpk+t8oq4T8vdeD6lMFu4MsQQBc0ZGV729Fvyh6Wbn3CShkFxBs4xn/2ZbD5NynBnfE2zYtEajN6wSBH64z6nCLktRPUx1FkprQkVzo2CM2COWNzwLVhpHlqy1525WCXUEGKBoDyEb4eLoX4RMEKsJsaFefZPkXq71M/JXKVtJz8UvXccKWKjdgsTQRTZtmLjeydWthLqOh78jONtzqeOqbDijQmBq0tKRXVYtfegSe0nST/LGlKSC3qEX58POsFPakly64a/I1RE34rHBLUXj7cSP5y4d42RSe1xW9eI8tixN9eeTUqKK0Jp75UJDFM0JLSM0dFlw9pb3QGmug84Bv+FBgcY+22CWrYjUEY4uphakyg0g+tsEGRnQjYWHlxeSjqOJV7j1CLylZj/7fh6NPuVx+pg+s81vWfK8Qxv/f1LlVV0kEDRsnXJNu3DD3EBpI8dlPGUKV7APofdhKCaMy25OILN/bWB5TN/VFlrSPG4bsZdnJkyQn0ydpwF6FtJEqqfvj0QzCqNuk8sSyNvnXPMXPwWKJTY6s7Q=
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:(13230001)(366004)(83380400001)(508600001)(186003)(26005)(36756003)(316002)(6916009)(66556008)(31686004)(6486002)(2616005)(66946007)(54906003)(66476007)(5660300002)(4744005)(53546011)(6512007)(6506007)(86362001)(4326008)(8676002)(8936002)(38100700002)(31696002)(2906002)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eUpldUJNSlcwZFZYemsyS0U1eFphSytQaFhUVFB0eDdIMnRjSWgxajBnNVFs?=
 =?utf-8?B?b0FXSGVodnYveE5tRm5jZzVVRFgyQUd5ODZZK05sL0VoT3RDRG5NbUh6Tm5o?=
 =?utf-8?B?TFVsb2ZSalMrMHpGUnJiUVlXZGduclBRb1RPMDAreHo3a01Jc3NBeVhFSVVj?=
 =?utf-8?B?UUtHYTllelpzMDYzenFkclloYWlMYXNsZi9DdGQ2dUtuWGtTOENSMHpHTnNu?=
 =?utf-8?B?cEZEUEFqU3A4Y0ZBVkZlUVVrUXdIV2N1QURiVkVXRHNhcjNzaGdlQ0J6dGJP?=
 =?utf-8?B?dkg4RmxBa2VKZXZyMVZYNDdQT0gybXNPUlNsS0VVM2UxdXJjY2V2cjU2Umpm?=
 =?utf-8?B?RGVGUmdtVzNCSWNDb0lHZ1N5Y0d5eTdvNTA3NXZwQWYyRktNSC8rZ0prL2M0?=
 =?utf-8?B?VW12RFoxUzRYTzA3b3dkQ0lod0J3Z1FJcEFxdUZ6dWRkLzlLY2JvVW0wbURU?=
 =?utf-8?B?VVNNZlhGcEZyMm81VENBUHNjTHIxSVJxS1VRVzJKZUgvOFp3eHpienNlU2d3?=
 =?utf-8?B?SCtuWHlTWDg5ZlpIYTJTNjEyMmU4bDc1QWdKOEQxQVdlMzJjRmxNUnFIM0hV?=
 =?utf-8?B?NnRjV0ZZUUFVQWZNZTFnRmNyZlFWZzAvM1JKbnVoeUExT1dyRHNhemFITFU3?=
 =?utf-8?B?OEZ5MVJXZER2cjM5VDRUR051OTNhQVRSR016Y2JlVllEV3lKczlDSUVBTGZH?=
 =?utf-8?B?cGkxMXlhOEt1NmZWNXVpL01jeVZXbjczcmVMTUtoTEJ0Qm81NC9uRFpFcytC?=
 =?utf-8?B?Zm1penl6RTF2Ry9Dc3BkY01KR0xXdUV6b0hPbXlvQSttdUc1YUpOYmhBekJJ?=
 =?utf-8?B?bElLVGhsdlB5U2JucXJRZVg0UUhWL1k3bE83SEdDdXlFS2JJOVFDTjlDTis5?=
 =?utf-8?B?ZXBma3FnZ25HSkhXTDJLZk02Yjg0enlEN09pMk8wTXRockYwSHBRWlpIVEpn?=
 =?utf-8?B?eTkrakkrUU5XL0ptY3JZSENqY1E5NG13bmpFdU1hVmRLeE1YYjJRVE9NUTZv?=
 =?utf-8?B?cDVmNW84dkJ5czA5eWwxamYvcjliU2JhYnFmcDJvUUJZbnVXYXh4YUFJaTky?=
 =?utf-8?B?WTUyQUJaeDlxK0pZYUE0TWhJa3luRE9sUzd6YTZTQ3B0N2lhRHVjUy9uczVk?=
 =?utf-8?B?UHRsRjYzcXFwN1ltZk5oY3lySmN1M1RRVjJHTlNVMnUvY0lmd2luNmJpNjVT?=
 =?utf-8?B?WFZ2VWVabC82MjJNMzU1UlI5QWFGcVYzRVBzUTJpRGw1RHdWSWsxRmt1VXo2?=
 =?utf-8?B?MW5GamsxdkljTHBocUZFTHVoS1VubHMxaXhHdEY5MlppSHArSUZER1pVd2E3?=
 =?utf-8?B?WHkxNVVXbHBpeEJ1dzFKOWJDcDM5M0RNdG1zLzIxZXc5M010RmVpVXVraWNh?=
 =?utf-8?B?SmFIREpmZXIzL1hqN3RZdlZJV1VWZWc2eGNORnV2aVBNak90aEFaM0wzYlFZ?=
 =?utf-8?B?Zks5UGNsQ2orYUEzL0tBNXdhOUM2cCtUQ2R5NTVmYjcrS3dRU3NlQmczN2N1?=
 =?utf-8?B?c1l2dFBzZG5NQlowUy80SHVOem5OdlJtNmJGeW1UV0JPUWRzeTUxSzR3NVhx?=
 =?utf-8?B?YnNFNGE5MFZweHMrMDM5ckdGaEZDVDZndmR0MC9SZFhEd2toTkpQaWdTNUsr?=
 =?utf-8?B?TFZvM09pZzZyT1dTV3pSamhNSXVpeXU4QktmNW5CdHJaWXhRL3ZFKzVQdEJy?=
 =?utf-8?B?VG83S1BUd2lUdkNCQWEzYXRuN25NWksyQzBSSlN2WG1sb1Z5ZXB5MVFJemFK?=
 =?utf-8?B?S3lWRFVrUE9adEt5MXMvRzkwOU1rTlBKZXBDTmp3Um4rMXJoSWhqMG0vSTJD?=
 =?utf-8?B?OFgrVFBPSk5lS3NEbXpESmVWRmxrelVFS3FjV281QjZTY2h2cTN0bXJiRGRB?=
 =?utf-8?B?NklubGw1WmJ0OWtBWUdReU84Z3plSXpjWGdacXVtNEYrb25nbEI4cmZiTlFm?=
 =?utf-8?B?MmFRcGpGbjJRbzVpSTkrWDV4NXVFdFNPaWhJdHg3Tm4yb3M3U3BaYURuQUlW?=
 =?utf-8?B?SEFJanBsd1orb0NVNFNySndZNE01U3p3S2l1bThNZ1BaSGpiTmo1U2tJcnZS?=
 =?utf-8?B?UUU0Rmt1dDgxSGNheWNIVU1wS0pYQXppbER1YWRrMTFYR3lHVGNJOHg1OEhp?=
 =?utf-8?B?azhQVDRpYk1mOXZqWXNuZGxnQTBpUWZqNlFMWU5tV1FjVGZZalNtaVpxVGZY?=
 =?utf-8?Q?GC28f+vNM/lDjphxhbrqvOc=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 877f2ccf-ba1f-4ea3-88d0-08d9e0ecf7c9
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 16:57:42.6531
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2y5W/1t6jAoCtIPiquVNNVu2yOX440334gIO0qn7/aP4qYe2nG0v4qkWTyuUZuPFfcjLoAUNomM6Ymq41BOl2g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7339

On 26.01.2022 09:44, Andrew Cooper wrote:
> Most MSR_SPEC_CTRL setup will be common between Intel and AMD.  Instead of
> opencoding an OR of two features everywhere, introduce has_spec_ctrl instead.
> 
> Reword the comment above the Intel specific alternatives block to highlight
> that it is Intel specific, and pull the setting of default_xen_spec_ctrl.IBRS
> out because it will want to be common.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 16:58:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 16:58:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261048.451584 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCld1-0004OI-Qm; Wed, 26 Jan 2022 16:58:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261048.451584; Wed, 26 Jan 2022 16:58:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCld1-0004OB-Ne; Wed, 26 Jan 2022 16:58:39 +0000
Received: by outflank-mailman (input) for mailman id 261048;
 Wed, 26 Jan 2022 16:58:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MeDS=SK=xilinx.com=ayankuma@srs-se1.protection.inumbo.net>)
 id 1nClcz-0004LP-SM
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 16:58:38 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20606.outbound.protection.outlook.com
 [2a01:111:f400:7e89::606])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 32794588-7ec9-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 17:58:35 +0100 (CET)
Received: from SN7P220CA0001.NAMP220.PROD.OUTLOOK.COM (2603:10b6:806:123::6)
 by BYAPR02MB5045.namprd02.prod.outlook.com (2603:10b6:a03:6f::27) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Wed, 26 Jan
 2022 16:58:31 +0000
Received: from SN1NAM02FT0043.eop-nam02.prod.protection.outlook.com
 (2603:10b6:806:123:cafe::80) by SN7P220CA0001.outlook.office365.com
 (2603:10b6:806:123::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.10 via Frontend
 Transport; Wed, 26 Jan 2022 16:58:31 +0000
Received: from xir-pvapexch01.xlnx.xilinx.com (149.199.80.198) by
 SN1NAM02FT0043.mail.protection.outlook.com (10.97.5.57) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4930.15 via Frontend Transport; Wed, 26 Jan 2022 16:58:31 +0000
Received: from xir-pvapexch01.xlnx.xilinx.com (172.21.17.15) by
 xir-pvapexch01.xlnx.xilinx.com (172.21.17.15) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2176.14; Wed, 26 Jan 2022 16:58:29 +0000
Received: from smtp.xilinx.com (172.21.105.198) by
 xir-pvapexch01.xlnx.xilinx.com (172.21.17.15) with Microsoft SMTP Server id
 15.1.2176.14 via Frontend Transport; Wed, 26 Jan 2022 16:58:29 +0000
Received: from [10.108.8.223] (port=56852 helo=xcbayankuma41x.xilinx.com)
 by smtp.xilinx.com with esmtp (Exim 4.90)
 (envelope-from <ayan.kumar.halder@xilinx.com>)
 id 1nClcr-0005Aw-93; Wed, 26 Jan 2022 16:58: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: 32794588-7ec9-11ec-8f75-fffcc8bd4f1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gO5IPAuRt00+dbrrmJMjSSt9ayyp5Q7MJpMxSY4F6VUIaufZAGEg41LkWt9QkmD8fbb9MNdD3G/ieYwht2yCF9DgSBmYSGIFV+9FNvAS9bXNnYtBGbmJfWhaBnQjdUcQSghmqTn+LhSVbz0CJbdi1laY4xL0qx4oJmEMgO1IgGSUDQzbnOvG7OQRO4jJNhJqbYPDcOLHAUAugr1+sBR24TxGLnMVuh9tPuYN5bQU+GCwJ371UaWT9IwsUaKbJvWmXCZW8UH74cJI8M7bBusxCyC8+067xsU3iLDFfoecO2asEAcNrKdJYTzPN6RdrYdMexbilIY1GOmCmDx7zw/9gQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TxTQOVcW7JyWAHFkPGvc7fLMrDWuRmKCeDUTObCeilo=;
 b=azyMwtuKxXhq9iEU8Y2EvMyPhuRlvd9ZSArtBVICedF6ksuGXVXHtbmpx06O7IlbQR+yllzbmpdjAzoKifALKXmHW2ElbY60G9B7BKBjJ1QZVVuJn0VdERmRpb3VPiolemydJAGkcLGCQD1cIadKUcY0TBJWNMZeQ81dNV4jhQD2Cai4Lw58krPNyRMVBY2IlenUXaaYKZh0CmctgYpwWPcBbc1HdPPXr93DInGuRVyjn3XXp1CUgrvaLUzwVYyRnsN4yrFRJwCpTVsa3RnfzFnhV7WjOmXx1wx6QdrQqezGZraRq8WLtjP0/AEXukF0njbfDlUre1BzstZz7kKx8A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 149.199.80.198) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=xilinx.com; dmarc=pass (p=none sp=none pct=100) action=none
 header.from=xilinx.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TxTQOVcW7JyWAHFkPGvc7fLMrDWuRmKCeDUTObCeilo=;
 b=kEUhHV4bgvVY4zXxqxnUPH5GVXG4CkCk5UjMhx6lXSiaxvYI7hIZ3u7LxLUiIwbBMlVEXzGa/HKaenqAlEpTNSqAuLg3buuWw/M7vdI54LCpwsWGHfsWElzrlU7iTgpcP1t5GUSEnIDdIBPeUzVCzprLVSpVdXi8nUG98O4gdaI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 149.199.80.198)
 smtp.mailfrom=xilinx.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=xilinx.com;
Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates
 149.199.80.198 as permitted sender) receiver=protection.outlook.com;
 client-ip=149.199.80.198; helo=xir-pvapexch01.xlnx.xilinx.com;
From: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefanos@xilinx.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>, Ayan Kumar Halder
	<ayankuma@xilinx.com>
Subject: [XEN v1] xen/arm: io: Check ESR_EL2.ISV != 0 before searching for a MMIO handler
Date: Wed, 26 Jan 2022 16:58:27 +0000
Message-ID: <20220126165827.61168-1-ayankuma@xilinx.com>
X-Mailer: git-send-email 2.17.1
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ccb0344c-d687-4ce1-7af0-08d9e0ed14f0
X-MS-TrafficTypeDiagnostic: BYAPR02MB5045:EE_
X-Microsoft-Antispam-PRVS:
	<BYAPR02MB504535FDCCFFCB6C26939C1EB2209@BYAPR02MB5045.namprd02.prod.outlook.com>
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
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:
	LSjoucRCeb0DAB6VyuBe4GTfJl0JAcjRZ40zo9xp+IfcpA4GjVWBnbe6eLA+J393/0zsHp7U9N3i0z1bNl+NN9F+I3syyAHUEX7P/T2oTXBVP6oAa7O8qnQvkzRdrHQrjfpwl+kLH3X7x8zg9wgENq4t3GAMesdyERvshbSjwYgIsh0SU62EzwY08Zw5TYGG8fZyrfJO+bmsosAck+1rQOumdEy1VEXv2L3PYTWtLB/4sDUm5RVsEX8/JmVlI1VTioNP5nzZMM3nBXc7RGbNIHYrl7CcFeA80xpPor+EkF2wPuRtAvsInJT7lN6Ow0tE4nt/LaZN8/9gxpct4UGtpJPgopom8Mh/QtEA8+Y/unEFtclBGiUm7MgWBBA4YCE2jsPMaVO/025MvF96LlzG9FEN5k2PKoTJoAOrkyfd7EKhL8ZlBTHQbpWfvBjYQELN11+MvbEUwA/fhEKXVXvq6ghQTJeBt5iH0sx96sagXS1em8iTd4P3iFEIJjIb0PUi9ayNLZ4RHP2cXbhFpbo40iOJY2qYbBJUKwDDWDtfl+hc2XVLnpyrzyuv2i3rBPvEGdiiNdutByjpUlGaH8qifqVpwsmrfN8zf2/3vmkUazDXvnCRTWMVyTijEyK/ptINIZCo5cDHXzTz+pyyEKGwI5w8lg7V1BHWclU5mvNtXsWV7//ev1uyxk3QafBx2bprfv5eya2RHKKRSJCNw5Gfh3U9fYvo/BdQSa2cjiKT55Kgewypjvye1pB15kdH3P2jeqzz1OGt/tMGVX/5jLZuTcdz8o7YqS1+ZGnKgmgeuAQ=
X-Forefront-Antispam-Report:
	CIP:149.199.80.198;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:xir-pvapexch01.xlnx.xilinx.com;PTR:unknown-80-198.xilinx.com;CAT:NONE;SFS:(13230001)(4636009)(36840700001)(46966006)(7636003)(9786002)(54906003)(83380400001)(82310400004)(6916009)(426003)(70206006)(70586007)(8676002)(5660300002)(4326008)(336012)(8936002)(508600001)(316002)(966005)(107886003)(47076005)(36756003)(1076003)(26005)(36860700001)(186003)(356005)(2616005)(2906002)(7696005)(102446001)(51383001)(20210929001);DIR:OUT;SFP:1101;
X-OriginatorOrg: xilinx.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 16:58:31.0155
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ccb0344c-d687-4ce1-7af0-08d9e0ed14f0
X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c;Ip=[149.199.80.198];Helo=[xir-pvapexch01.xlnx.xilinx.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SN1NAM02FT0043.eop-nam02.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR02MB5045

Refer to Armv8 ARM DDI 0487G.b, Page D13-3219 "ISS encoding for an exception
from a Data Abort" :-
ISV - ISS[23:14] holds a valid instruction syndrome

When the ISV is 0, the instruction could not be decoded by the hardware (ie ISS
is invalid). One should immediately return an error to the caller with an
appropriate error message. There is no use of the MMIO handler. This is the
reason why one should check for ISV before attempting to find a MMIO handler.

Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
---

Suggested by Julien Grall in https://lists.xenproject.org/archives/html/xen-devel/2022-01/msg01245.html

 xen/arch/arm/io.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
index 729287e37c..14d39222f2 100644
--- a/xen/arch/arm/io.c
+++ b/xen/arch/arm/io.c
@@ -109,6 +109,13 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
 
     ASSERT(hsr.ec == HSR_EC_DATA_ABORT_LOWER_EL);
 
+    /* All the instructions used on emulated MMIO region should be valid */
+    if ( !dabt.valid )
+    {
+        gprintk(XENLOG_DEBUG, "No valid instruction syndrome for data abort\n");
+        return IO_ABORT;
+    }
+
     handler = find_mmio_handler(v->domain, info.gpa);
     if ( !handler )
     {
@@ -121,10 +128,6 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
         return rc;
     }
 
-    /* All the instructions used on emulated MMIO region should be valid */
-    if ( !dabt.valid )
-        return IO_ABORT;
-
     /*
      * Erratum 766422: Thumb store translation fault to Hypervisor may
      * not have correct HSR Rt value.
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 17:05:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 17:05:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261051.451595 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCljb-0005qu-KT; Wed, 26 Jan 2022 17:05:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261051.451595; Wed, 26 Jan 2022 17:05:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCljb-0005qn-Ff; Wed, 26 Jan 2022 17:05:27 +0000
Received: by outflank-mailman (input) for mailman id 261051;
 Wed, 26 Jan 2022 17:05:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OZ3N=SK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nCljZ-0005qg-CO
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 17:05:25 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 26c07965-7eca-11ec-8eb8-a37418f5ba1a;
 Wed, 26 Jan 2022 18:05:24 +0100 (CET)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2055.outbound.protection.outlook.com [104.47.2.55]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-37-jzeIIYHROTu92sdhY7QoAw-1; Wed, 26 Jan 2022 18:05:22 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB4656.eurprd04.prod.outlook.com (2603:10a6:803:6c::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Wed, 26 Jan
 2022 17:05:20 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.015; Wed, 26 Jan 2022
 17:05: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: 26c07965-7eca-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643216723;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=D6xXIlZsR/EHC3KNSbZpEtND2Qqmdsanz5jGkPQWzr8=;
	b=G6rZGFu4mJGEPDKdBCYcJGDDN13CtWMSIihDN+1zKiZ+NLehkwz9zI+ur8taC4avVsNNef
	3fqPhYqrWzC02WAirtPg2o7yuRoEy5tfViiketLs6SZo6ALiDpn5lNSrduKCTbM+dJawaB
	7O85X6czlBLjsqYtcUNsQ9rnmSdyJc4=
X-MC-Unique: jzeIIYHROTu92sdhY7QoAw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HEkm/s4/9mxRXgC59HaOltbLFWFeR7ZpudF0zHyL4R5zgwXq7/nsfUWanogOynUlkP74DS5sqxFErg0YIGHyRoTVLs12ZAzzB+YPibkWRCjysUOsIdGrz82UFKavNxLhu5G1/ORTwMAZgk0joD3zmdc5YhgaxTZdGxuCi1B/bO0U0XDhDSjt+rz7Nec5o+jj0w39kwoGkYJWLWKnXBhQFq2DCtbytw3X9xbi1cZMVDr/SAgrwfwbvYs0ypbW7GgDr93X1ZwXwF44rpnzG9W4ofRnyPoGc0uiUMZiwK2LA6M79w35XGLC18/U15nml5RFo4Hznc0E3Qevas5M2hHlsg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=D6xXIlZsR/EHC3KNSbZpEtND2Qqmdsanz5jGkPQWzr8=;
 b=Gl6boWEgoYVpFa01euQW4QNhgsD/rTAjzDRYm2mQe/pyWlpbV7xkmsMUu4WDRwY3emcAWIvGsB/CMmXZpLdFuDjrWXQxrKs3TE8By5DMvwfB/t4EO4HNAhKWp/3dRbKiksq7FjQeDDpUOlU4zdL7ZnEebFlAKL3KNcHNLuQ5+oKD5SY3ZafEecJHn3GkZxFRWIzsKdzLVLnw8dSM6ggQ2pbxFfHUM4FQIG5EhkIrLhL6z8b4mTNEk4hjSPGmfLoY80miLnmhMGGdRKHF/zqI8JJfPbyuEVi/G0rdjerJQ0EWLsr3xgeOPfxAYiPSM8+EuRTDoBgwwdTB1o7H5gqCGQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <da3a98e1-9c91-043f-1a2e-8719e511a81a@suse.com>
Date: Wed, 26 Jan 2022 18:05:18 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 6/8] x86/spec-ctrl: Use common MSR_SPEC_CTRL logic for AMD
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220126084452.28975-1-andrew.cooper3@citrix.com>
 <20220126084452.28975-7-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220126084452.28975-7-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR04CA0002.eurprd04.prod.outlook.com
 (2603:10a6:206:1::15) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 75476dd2-b197-406b-d2c1-08d9e0ee08d7
X-MS-TrafficTypeDiagnostic: VI1PR04MB4656:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB46566FFC2E7C080340E878F5B3209@VI1PR04MB4656.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:
	8ate3nFjIhU22MTajZFRyMTI5kUW2uw/nP3JCWAdfKhARm31BBpxaSnUAU45PkjVABhPa+IHsFnIvDxg7zOtGzih6kyqdpqE2u7cArMFoMrHm+tzLbWZt5sxAcMCjT4v4nTI8kXomw8koDMeYAKn7srDWawxSPGvhS1R37/fL4cgXxlEt018OyBHfOzhuymiH6iXTW94HnsGluzt79c2u0Ja/Uz4uC1DKMF+4U65rF1pSRxNCa8qLYyd5xveFDP0GKoF/j7FgXl3D6JeDUxXN8gKOhVgLvpQAtHeTSdQW/Em5pLBqqzgr4dqBMwdWl5zI4hbmAV6iahAldpb5k7lAh3dxEy4984pZcN2nKAr717zs7XTyJgeXCAgbx5KPVLSKLWyXL8izJr9DktGeiVvy5Iajgubmv0VDHzcZnolnjuROx2s/G2L82mj7//XNj7LWArLln+S24++BHjklR3i9pqWesqMMqeiE42pK0vCksQ1itvDjv9WUkiTScM/2/iqhpYE4GDz0jFRGOp4JX8AFYtZU4C50Z9PCvy+fSPDgSKCZL3wL0fgrCsmfqavhjYsCItEW4jvnPUZ4uOOHAieQtYB6WdWr+9edHnJ1kJn8qf5taROWXHoAUZcK4Deo5jZHShT5MFygVRh0Bi4o38eI9zuemjeLJn/eZHqqEWdeZm/KLo60ZSvlswS2w0QZ3gAAcKm5O8ZLLX7RwXOJjnDaxSP4DRIM14oAa4t6MPleTA=
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:(13230001)(366004)(6512007)(31696002)(2906002)(83380400001)(6486002)(508600001)(186003)(26005)(86362001)(2616005)(53546011)(38100700002)(54906003)(36756003)(5660300002)(4326008)(8676002)(31686004)(6506007)(316002)(66946007)(8936002)(66556008)(66476007)(6916009)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dUNoSnB3SzJ3Yk54Z1ZtNjhYemtJQmRXQzhhV1V1enhZOFE5WDVweThONTRv?=
 =?utf-8?B?VEhOUEM4Z0k5cmdCZ3h1Q0tldFNxOXJoeHFaNUt1SVFGRE50bytLQmN6Z3pa?=
 =?utf-8?B?RWlqUmpVWXFqY1BVeG93cjRlVGxMWXlUSmFqVlljK0trd3hIbVptMWJnMGF6?=
 =?utf-8?B?cWV0dHU3b0JvZ2lRYzJncDhlOEsybm83UHJBNDZ3UFF0eXZVQmNRV1YyNzRT?=
 =?utf-8?B?U210NkxzcGtXa3VmVWZXWU9xSWFXNmdLelFKc3RRZ2tuSHB5SnlTUTgxR2xY?=
 =?utf-8?B?bUZaVXpFU0NsVjFhOENtN0hqNUczeVkySW1EWFp0cXNTRXlscVJvNDdtWUli?=
 =?utf-8?B?RGZaSm4zV1RNT0NlU3B2VEYxZVNDc0tsOCtMNVU1czh1alQ2eDNhWFZJdlJm?=
 =?utf-8?B?S04zVHpVcTUyYXdEemg0d3VSMGNoWlIrT0QzMkNnNVl5aGJMSXl0cFlmaEI5?=
 =?utf-8?B?bHAzNHFQdG45d21YRko1cnhyY1Q2SGQwQ0hxTEJwbUdTL3RqdzFFbllWemZm?=
 =?utf-8?B?OG9SZnA5bkp0MHl1SEl5aXhFSXZtMWN6WTlqUmRCNlR0YldOdVdmOU9zdUoz?=
 =?utf-8?B?UFRIY01tSWRWTnUyTzArYWp6M0JtL2JzWEtIOEsybEo3M0IrYzJZM01xcnpv?=
 =?utf-8?B?Z1dwN1BndHVUYkQ2VkpMbDc3OXgvRUhqb0pGOU9NVEJKU0o5dy9JQTAzZWZU?=
 =?utf-8?B?SzRKdVN6WEV4MkhnNjdJUmQvYit0RjAxMy9WVUk5blIrZTgxK3g4OENhT1Nz?=
 =?utf-8?B?Mi9wMVpVN0JzNEN6WXlJcWJxYy9vWHRhK0VPa2pJUDYxZm5pOXJ0bVNsVEZQ?=
 =?utf-8?B?Y3Bma29PdUU2Q21RMkZseHBkNUlXbWdrSVlDempDblJmS3dZNGp2NnlZUGlz?=
 =?utf-8?B?ODZaQlZFeXR4d0lMem5YR29HR2JYOXowczVPUlR0Y1E4TkR0aW5SY0J3RFgw?=
 =?utf-8?B?a3hqWkNHeUJMVmE4ZXkveERNbmRQekhWRlczdTFQdWx0bnlndU5MRFdmOUJJ?=
 =?utf-8?B?bEhidmIrcWN6VlVFQ25JRXZwbVI0MkQ1UHBheDJGaG4wUXlrbDZ6ckRFcVZ3?=
 =?utf-8?B?aHNIbzRVOWxaR1NlalN6WmUzWmVzOVdqNERBdFo2cHlTUWtkSU9KOTArejU5?=
 =?utf-8?B?eWdUN3VBM3dpTDlwOWczYklxK2lVNDBsUkd2Q2ZULzkzeFQrdTJPY1pWZlVO?=
 =?utf-8?B?TFU4MmtGZUZEYTNiMlpab3ZsdUZ1Y2dMcEVrbUZDMVFQRjh1Z01teWFXOExm?=
 =?utf-8?B?ZmIyN0FuaHNjRkFTSCtQeEVoZzNqZjRKQ2pDK2FCOTdWRzB5ZSs4QTJUSFJl?=
 =?utf-8?B?b08vUWg4MXJ2b0thNzdiNUhiUmwxb0F1aG8vOWdCNDh3Um1OV3BWOFZlTTNk?=
 =?utf-8?B?Sm80NEV6UDVqYVVBNzlJQ1lGVEwra3ZOZkR2aHB4RUZwQnBLM1BCU0tSdHVE?=
 =?utf-8?B?alNLZlVxTm1WM3FSTEVBOFA2TWhVZVNLT2pSQVZKclVhcGQxNmZkNnVwOEtU?=
 =?utf-8?B?WDBXdCs0dmhPSjN3ZFZoWnBTQVJ6aXI1S1NhRkxXRzJrMkhvbElLNTRvekRT?=
 =?utf-8?B?MjlHc1NMNEhOK1lSTndtTDROR0w3WFhDcWNrdUU5akJEeFFjbEFIWlpPYjZF?=
 =?utf-8?B?Z2t5M0s2OUVDcU1mcWRhaEpBMmpydTFpZFhNT0lFcVFjbjRjaFVtS2R4Y2pU?=
 =?utf-8?B?WmhQb3RlanMxdStWNC9yS1p4ckV5bzBoTmNqUmFBQmF2VFpTVnFoQkZPWGRD?=
 =?utf-8?B?T2I3NHZJSlp6ZGVqQ3M2bzl5WTFidkdZNWI5dllSN25QOUd6Mmx6dVQyUFFq?=
 =?utf-8?B?SElGd3BXWXY0ZHVuN2hpZU5XZFlSSzBOSFhVQjBTMGxqSzNhUG84WFBwZW1j?=
 =?utf-8?B?dWxXNW5oZDQrOSsvbExMTnF6eVczYlRQL3YyMjJiUnllbE5VWjVsVlQ0bnpX?=
 =?utf-8?B?Zi96MmhKMmhiSkFBY1hobUd1UjVJRjFnci9MblpzQ29JVThOdEdlanBieWo4?=
 =?utf-8?B?M3JjdzJHcWFHWnJOb3A3VlpJOFFIQXN5RitMRGw0cEJFNllLNDA0WmNPamVz?=
 =?utf-8?B?WHhLbDVzVW9Ya3F0Q2grNnhVQ3NnSTZIdTUxc2Rpb0I4L0N1Ym5VNzZtdDZi?=
 =?utf-8?B?N1RDbW1jUUNUYnI2T2oya2xMYXRjV29aT3hlczRmdVM0a3h1OXFqYU5vQ1BD?=
 =?utf-8?Q?oi/SNZxNwbBLAAU/Ns7hKxo=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 75476dd2-b197-406b-d2c1-08d9e0ee08d7
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 17:05:20.6242
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: AxLH9UqQwvS6RacVrLYBM2lW+0u5qPzSmokYGsJeJfx2V/YMdiP3jxCQCpQX7h1kT1lwSGS/cECuONVw1mgsRQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4656

On 26.01.2022 09:44, Andrew Cooper wrote:
> Currently, amd_init_ssbd() works by being the only write to MSR_SPEC_CTRL in
> the system.  This ceases to be true when using the common logic.
> 
> Include AMD MSR_SPEC_CTRL in has_spec_ctrl to activate the common paths, and
> introduce an AMD specific block to control alternatives.
> 
> For now, only configure alternatives for HVM.  PV will require more work.
> 
> This is a reasonably large change for low level defaults in the common case,
> but should have no practical change in behaviour.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

One nit:

> --- a/xen/arch/x86/cpu/amd.c
> @@ -1031,12 +1033,32 @@ void __init init_speculation_mitigations(void)
>          }
>      }
>  
> +    /* AMD hardware: MSR_SPEC_CTRL alternatives setup. */
> +    if ( boot_cpu_has(X86_FEATURE_IBRS) )
> +    {
> +        /*
> +         * Virtualising MSR_SPEC_CTRL for guests depends on SVM support, which
> +         * on real hardware matches the availability of MSR_SPEC_CTRL in the
> +         * first place.
> +         *
> +         * No need for SCF_ist_wrmsr because, because Xen's value is restored
> +         * atomically WRT NMIs in the VMExit path.

There's one "because" too many here.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 17:10:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 17:10:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261054.451606 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCloT-0007Oq-7m; Wed, 26 Jan 2022 17:10:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261054.451606; Wed, 26 Jan 2022 17: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 1nCloT-0007Oj-2n; Wed, 26 Jan 2022 17:10:29 +0000
Received: by outflank-mailman (input) for mailman id 261054;
 Wed, 26 Jan 2022 17:10: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 1nCloR-0007OZ-Rq; Wed, 26 Jan 2022 17:10: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 1nCloR-0007XE-My; Wed, 26 Jan 2022 17:10: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 1nCloR-0004hD-E6; Wed, 26 Jan 2022 17:10:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nCloR-0002g8-De; Wed, 26 Jan 2022 17:10:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=OIE4zu1op3YG8CTg3YjHZQZnMFabI8LDuRQYhW/X0YI=; b=x+G2Y7VpSiH1Ecfu5iAzIjlU+C
	zlU1jGLTAuaX9veYiXUbp0MD3MkbT4OcvNbcjxQXOjmAoQ16HS1Ak06Mdq5p5EqkpLomr2yPaCJ6W
	6hFVIblg9Gw/Xe07O6BYtIOqBkWh5Y35brTjWq87YIy/EyBWHnpj38MI3qmpYGhc9NBE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167839-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 167839: regressions - FAIL
X-Osstest-Failures:
    xen-4.16-testing:build-amd64:xen-build:fail:regression
    xen-4.16-testing:build-amd64-xsm:xen-build:fail:regression
    xen-4.16-testing:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:heisenbug
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:guest-start/debian.repeat:fail:heisenbug
    xen-4.16-testing:test-amd64-i386-qemuu-rhel6hvm-amd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-qemuu-rhel6hvm-intel:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-xl:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-pvshim:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-shadow:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:build-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-livepatch:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-migrupgrade:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-coresched-i386-xl:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-freebsd10-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-freebsd10-i386:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-livepatch:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-migrupgrade:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-pair:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-qemut-rhel6hvm-amd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-i386-qemut-rhel6hvm-intel:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-xtf-amd64-amd64-1:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-xtf-amd64-amd64-2:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-xtf-amd64-amd64-3:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-xtf-amd64-amd64-4:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-xtf-amd64-amd64-5:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=d3cb5470292eeff776e0c95a7f1e1c9e427d6425
X-Osstest-Versions-That:
    xen=243026a2c5ad64c05281dc8ed2f1f57c0ee5988c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 26 Jan 2022 17:10:27 +0000

flight 167839 xen-4.16-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167839/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   6 xen-build                fail REGR. vs. 167620
 build-amd64-xsm               6 xen-build                fail REGR. vs. 167620

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat  fail pass in 167814
 test-arm64-arm64-libvirt-raw 17 guest-start/debian.repeat  fail pass in 167814

Tests which did not succeed, but are not blocking:
 test-amd64-i386-qemuu-rhel6hvm-amd  1 build-check(1)               blocked n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 build-check(1)             blocked n/a
 test-amd64-i386-xl            1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-pvshim     1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemut-debianhvm-amd64  1 build-check(1)         blocked n/a
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm  1 build-check(1)      blocked n/a
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-xl-qemut-win7-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemut-ws16-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-amd64  1 build-check(1)         blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1)  blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm  1 build-check(1)      blocked n/a
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked n/a
 test-amd64-i386-xl-qemuu-ws16-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-shadow     1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-vhd        1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-xsm        1 build-check(1)               blocked  n/a
 test-amd64-coresched-amd64-xl  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-xsm       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-shadow    1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-rtds      1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-ws16-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  1 build-check(1)     blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)        blocked n/a
 test-amd64-amd64-xl-qemut-ws16-amd64  1 build-check(1)             blocked n/a
 build-amd64-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  1 build-check(1)     blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-amd64  1 build-check(1)        blocked n/a
 test-amd64-amd64-xl-qcow2     1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvshim    1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit2   1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit1   1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-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-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-livepatch    1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-intel  1 build-check(1)              blocked n/a
 test-amd64-amd64-migrupgrade  1 build-check(1)               blocked  n/a
 test-amd64-amd64-pair         1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-pygrub       1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-freebsd11-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-qemuu-freebsd12-amd64  1 build-check(1)           blocked n/a
 test-amd64-i386-xl-qemuu-win7-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemuu-ovmf-amd64  1 build-check(1)              blocked n/a
 test-amd64-coresched-i386-xl  1 build-check(1)               blocked  n/a
 test-amd64-i386-freebsd10-amd64  1 build-check(1)               blocked  n/a
 test-amd64-i386-freebsd10-i386  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-livepatch     1 build-check(1)               blocked  n/a
 test-amd64-i386-migrupgrade   1 build-check(1)               blocked  n/a
 test-amd64-i386-pair          1 build-check(1)               blocked  n/a
 test-amd64-i386-qemut-rhel6hvm-amd  1 build-check(1)               blocked n/a
 test-amd64-i386-qemut-rhel6hvm-intel  1 build-check(1)             blocked n/a
 test-xtf-amd64-amd64-1        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-2        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-3        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-4        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-5        1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167620
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167620
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167620
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-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-armhf-armhf-xl-arndale  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-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          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-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  d3cb5470292eeff776e0c95a7f1e1c9e427d6425
baseline version:
 xen                  243026a2c5ad64c05281dc8ed2f1f57c0ee5988c

Last test of basis   167620  2022-01-06 13:39:16 Z   20 days
Testing same since   167814  2022-01-25 13:06:50 Z    1 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>
  Julien Grall <jgrall@amazon.com>

jobs:
 build-amd64-xsm                                              fail    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  fail    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          blocked 
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       blocked 
 test-xtf-amd64-amd64-2                                       blocked 
 test-xtf-amd64-amd64-3                                       blocked 
 test-xtf-amd64-amd64-4                                       blocked 
 test-xtf-amd64-amd64-5                                       blocked 
 test-amd64-amd64-xl                                          blocked 
 test-amd64-coresched-amd64-xl                                blocked 
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           blocked 
 test-amd64-coresched-i386-xl                                 blocked 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        blocked 
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         blocked 
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 blocked 
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 blocked 
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      blocked 
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       blocked 
 test-amd64-amd64-qemuu-nested-amd                            blocked 
 test-amd64-amd64-xl-pvhv2-amd                                blocked 
 test-amd64-i386-qemut-rhel6hvm-amd                           blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-dom0pvh-xl-amd                              blocked 
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    blocked 
 test-amd64-i386-xl-qemut-debianhvm-amd64                     blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    blocked 
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     blocked 
 test-amd64-i386-freebsd10-amd64                              blocked 
 test-amd64-amd64-qemuu-freebsd11-amd64                       blocked 
 test-amd64-amd64-qemuu-freebsd12-amd64                       blocked 
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         blocked 
 test-amd64-i386-xl-qemuu-ovmf-amd64                          blocked 
 test-amd64-amd64-xl-qemut-win7-amd64                         blocked 
 test-amd64-i386-xl-qemut-win7-amd64                          blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-i386-xl-qemuu-win7-amd64                          blocked 
 test-amd64-amd64-xl-qemut-ws16-amd64                         blocked 
 test-amd64-i386-xl-qemut-ws16-amd64                          blocked 
 test-amd64-amd64-xl-qemuu-ws16-amd64                         blocked 
 test-amd64-i386-xl-qemuu-ws16-amd64                          blocked 
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  blocked 
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  blocked 
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        blocked 
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         blocked 
 test-amd64-i386-freebsd10-i386                               blocked 
 test-amd64-amd64-qemuu-nested-intel                          blocked 
 test-amd64-amd64-xl-pvhv2-intel                              blocked 
 test-amd64-i386-qemut-rhel6hvm-intel                         blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-amd64-dom0pvh-xl-intel                            blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   blocked 
 test-amd64-i386-livepatch                                    blocked 
 test-amd64-amd64-migrupgrade                                 blocked 
 test-amd64-i386-migrupgrade                                  blocked 
 test-amd64-amd64-xl-multivcpu                                blocked 
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        blocked 
 test-amd64-i386-pair                                         blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   blocked 
 test-amd64-i386-xl-pvshim                                    blocked 
 test-amd64-amd64-pygrub                                      blocked 
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    blocked 
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     blocked 
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             blocked 
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              blocked 
 test-amd64-amd64-xl-shadow                                   blocked 
 test-amd64-i386-xl-shadow                                    blocked 
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit d3cb5470292eeff776e0c95a7f1e1c9e427d6425
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Tue Jan 25 13:39:44 2022 +0100

    x86/spec-ctrl: Fix NMI race condition with VT-x MSR_SPEC_CTRL handling
    
    The logic was based on a mistaken understanding of how NMI blocking on vmexit
    works.  NMIs are only blocked for EXIT_REASON_NMI, and not for general exits.
    Therefore, an NMI can in general hit early in the vmx_asm_vmexit_handler path,
    and the guest's value will be clobbered before it is saved.
    
    Switch to using MSR load/save lists.  This causes the guest value to be saved
    atomically with respect to NMIs/MCEs/etc.
    
    First, update vmx_cpuid_policy_changed() to configure the load/save lists at
    the same time as configuring the intercepts.  This function is always used in
    remote context, so extend the vmx_vmcs_{enter,exit}() block to cover the whole
    function, rather than having multiple remote acquisitions of the same VMCS.
    
    Both of vmx_{add,del}_guest_msr() can fail.  The -ESRCH delete case is fine,
    but all others are fatal to the running of the VM, so handle them using
    domain_crash() - this path is only used during domain construction anyway.
    
    Second, update vmx_{get,set}_reg() to use the MSR load/save lists rather than
    vcpu_msrs, and update the vcpu_msrs comment to describe the new state
    location.
    
    Finally, adjust the entry/exit asm.
    
    Because the guest value is saved and loaded atomically, we do not need to
    manually load the guest value, nor do we need to enable SCF_use_shadow.  This
    lets us remove the use of DO_SPEC_CTRL_EXIT_TO_GUEST.  Additionally,
    SPEC_CTRL_ENTRY_FROM_PV gets removed too, because on an early entry failure,
    we're no longer in the guest MSR_SPEC_CTRL context needing to switch back to
    Xen's context.
    
    The only action remaining is to load Xen's MSR_SPEC_CTRL value on vmexit.  We
    could in principle use the host msr list, but is expected to complicated
    future work.  Delete DO_SPEC_CTRL_ENTRY_FROM_HVM entirely, and use a shorter
    code sequence to simply reload Xen's setting from the top-of-stack block.
    
    Adjust the comment at the top of spec_ctrl_asm.h in light of this bugfix.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 81f0eaadf84d273a6ff8df3660b874a02d0e7677
    master date: 2022-01-20 16:32:11 +0000

commit 21d70feed10571543061abeaedd21ce8adc60114
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Tue Jan 25 13:39:31 2022 +0100

    x86/spec-ctrl: Drop SPEC_CTRL_{ENTRY_FROM,EXIT_TO}_HVM
    
    These were written before Spectre/Meltdown went public, and there was large
    uncertainty in how the protections would evolve.  As it turns out, they're
    very specific to Intel hardware, and not very suitable for AMD.
    
    Drop the macros, opencoding the relevant subset of functionality, and leaving
    grep-fodder to locate the logic.  No change at all for VT-x.
    
    For AMD, the only relevant piece of functionality is DO_OVERWRITE_RSB,
    although we will soon be adding (different) logic to handle MSR_SPEC_CTRL.
    
    This has a marginal improvement of removing an unconditional pile of long-nops
    from the vmentry/exit path.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 95b13fa43e0753b7514bef13abe28253e8614f62
    master date: 2022-01-20 16:32:11 +0000

commit cc6fe1bb13197ddc79af480c3c74ce6d6ed3ef2c
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Tue Jan 25 13:39:16 2022 +0100

    x86/msr: Split MSR_SPEC_CTRL handling
    
    In order to fix a VT-x bug, and support MSR_SPEC_CTRL on AMD, move
    MSR_SPEC_CTRL handling into the new {pv,hvm}_{get,set}_reg() infrastructure.
    
    Duplicate the msrs->spec_ctrl.raw accesses in the PV and VT-x paths for now.
    The SVM path is currently unreachable because of the CPUID policy.
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 6536688439dbca1d08fd6db5be29c39e3917fb2f
    master date: 2022-01-20 16:32:11 +0000

commit 20b00921f8a62b1b19d893dd468473161706e02d
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Tue Jan 25 13:38:42 2022 +0100

    x86/guest: Introduce {get,set}_reg() infrastructure
    
    Various registers have per-guest-type or per-vendor locations or access
    requirements.  To support their use from common code, provide accessors which
    allow for per-guest-type behaviour.
    
    For now, just infrastructure handling default cases and expectations.
    Subsequent patches will start handling registers using this infrastructure.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 88d3ff7ab15da277a85b39735797293fb541c718
    master date: 2022-01-20 16:32:11 +0000

commit 8509519268ea6a467a97ca7891a0dca2bfe88cf7
Author: Jason Andryuk <jandryuk@gmail.com>
Date:   Tue Jan 25 13:38:14 2022 +0100

    libxl/PCI: Fix PV hotplug & stubdom coldplug
    
    commit 0fdb48ffe7a1 "libxl: Make sure devices added by pci-attach are
    reflected in the config" broken PCI hotplug (xl pci-attach) for PV
    domains when it moved libxl__create_pci_backend() later in the function.
    
    This also broke HVM + stubdom PCI passthrough coldplug.  For that, the
    PCI devices are hotplugged to a running PV stubdom, and then the QEMU
    QMP device_add commands are made to QEMU inside the stubdom.
    
    A running PV domain calls libxl__wait_for_backend().  With the current
    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:
    1) The domain is PV
    2) The domain is running
    3) The backend is already present
    
    This is because:
    
    1) xen-pcifront is only used for PV.  It does not load for HVM domains
       where QEMU is used.
    
    2) If the domain is not running (starting), then the frontend state will
       be Initialising.  xen-pciback waits for the frontend to transition to
       at Initialised before attempting to connect.  So a wait for a
       non-running domain is not applicable as the backend will not
       transition to Connected.
    
    3) For presence, 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 or changing to
       some other state like closing.  If we are creating the backend, then
       we don't have to worry about the state since it is being created.
    
    Fixes: 0fdb48ffe7a1 ("libxl: Make sure devices added by pci-attach are
    reflected in the config")
    
    Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
    Reviewed-by: Paul Durrant <paul@xen.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    master commit: 73ee2795aaef2cb086ac078bffe1c6b33c0ea91b
    master date: 2022-01-13 14:33:16 +0100

commit fd343ec092f3fac828f82d076ffaaca8ed3b61c9
Author: Jan Beulich <jbeulich@suse.com>
Date:   Tue Jan 25 13:37:59 2022 +0100

    x86/time: improve TSC / CPU freq calibration accuracy
    
    While the problem report was for extreme errors, even smaller ones would
    better be avoided: The calculated period to run calibration loops over
    can (and usually will) be shorter than the actual time elapsed between
    first and last platform timer and TSC reads. Adjust values returned from
    the init functions accordingly.
    
    On a Skylake system I've tested this on accuracy (using HPET) went from
    detecting in some cases more than 220kHz too high a value to about
    ±2kHz. On other systems (or on this system, but with PMTMR) the original
    error range was much smaller, with less (in some cases only very little)
    improvement.
    
    Reported-by: James Dingwall <james-xen@dingwall.me.uk>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: a5c9a80af34eefcd6e31d0ed2b083f452cd9076d
    master date: 2022-01-13 14:31:52 +0100

commit 4774d06097e524913fbd4ffcea3307275c5215d1
Author: Jan Beulich <jbeulich@suse.com>
Date:   Tue Jan 25 13:37:45 2022 +0100

    x86/time: use relative counts in calibration loops
    
    Looping until reaching/exceeding a certain value is error prone: If the
    target value is close enough to the wrapping point, the loop may not
    terminate at all. Switch to using delta values, which then allows to
    fold the two loops each into just one.
    
    Fixes: 93340297802b ("x86/time: calibrate TSC against platform timer")
    Reported-by: Roger Pau Monné <roger.pau@citrix.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 467191641d2a2fd2e43b3ae7b80399f89d339980
    master date: 2022-01-13 14:30:18 +0100

commit 18d0f501596bd55412282aac3db1f0a349a68f50
Author: Julien Grall <jgrall@amazon.com>
Date:   Tue Jan 25 13:35:23 2022 +0100

    passthrough/x86: stop pirq iteration immediately in case of error
    
    pt_pirq_iterate() will iterate in batch over all the PIRQs. The outer
    loop will bail out if 'rc' is non-zero but the inner loop will continue.
    
    This means 'rc' will get clobbered and we may miss any errors (such as
    -ERESTART in the case of the callback pci_clean_dpci_irq()).
    
    This is CVE-2022-23035 / XSA-395.
    
    Fixes: c24536b636f2 ("replace d->nr_pirqs sized arrays with radix tree")
    Fixes: f6dd295381f4 ("dpci: replace tasklet with softirq")
    Signed-off-by: Julien Grall <jgrall@amazon.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 9480a1a519cf016623f657dc544cb372a82b5708
    master date: 2022-01-25 13:27:02 +0100

commit 965fbc8e801c91938dd7efa831fb9078a78deeb7
Author: Julien Grall <jgrall@amazon.com>
Date:   Tue Jan 25 13:35:08 2022 +0100

    xen/grant-table: Only decrement the refcounter when grant is fully unmapped
    
    The grant unmapping hypercall (GNTTABOP_unmap_grant_ref) is not a
    simple revert of the changes done by the grant mapping hypercall
    (GNTTABOP_map_grant_ref).
    
    Instead, it is possible to partially (or even not) clear some flags.
    This will leave the grant is mapped until a future call where all
    the flags would be cleared.
    
    XSA-380 introduced a refcounting that is meant to only be dropped
    when the grant is fully unmapped. Unfortunately, unmap_common() will
    decrement the refcount for every successful call.
    
    A consequence is a domain would be able to underflow the refcount
    and trigger a BUG().
    
    Looking at the code, it is not clear to me why a domain would
    want to partially clear some flags in the grant-table. But as
    this is part of the ABI, it is better to not change the behavior
    for now.
    
    Fix it by checking if the maptrack handle has been released before
    decrementing the refcounting.
    
    This is CVE-2022-23034 / XSA-394.
    
    Fixes: 9781b51efde2 ("gnttab: replace mapkind()")
    Signed-off-by: Julien Grall <jgrall@amazon.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 975a8fb45ca186b3476e5656c6ad5dad1122dbfd
    master date: 2022-01-25 13:25:49 +0100

commit acdb6744460c6264785c031a37d99b8557c56195
Author: Julien Grall <jgrall@amazon.com>
Date:   Tue Jan 25 13:34:55 2022 +0100

    xen/arm: p2m: Always clear the P2M entry when the mapping is removed
    
    Commit 2148a125b73b ("xen/arm: Track page accessed between batch of
    Set/Way operations") allowed an entry to be invalid from the CPU PoV
    (lpae_is_valid()) but valid for Xen (p2m_is_valid()). This is useful
    to track which page is accessed and only perform an action on them
    (e.g. clean & invalidate the cache after a set/way instruction).
    
    Unfortunately, __p2m_set_entry() is only zeroing the P2M entry when
    lpae_is_valid() returns true. This means the entry will not be zeroed
    if the entry was valid from Xen PoV but invalid from the CPU PoV for
    tracking purpose.
    
    As a consequence, this will allow a domain to continue to access the
    page after it was removed.
    
    Resolve the issue by always zeroing the entry if it the LPAE bit is
    set or the entry is about to be removed.
    
    This is CVE-2022-23033 / XSA-393.
    
    Reported-by: Dmytro Firsov <Dmytro_Firsov@epam.com>
    Fixes: 2148a125b73b ("xen/arm: Track page accessed between batch of Set/Way operations")
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Signed-off-by: Julien Grall <jgrall@amazon.com>
    master commit: a428b913a002eb2b7425b48029c20a52eeee1b5a
    master date: 2022-01-25 13:25:01 +0100
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 17:22:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 17:22:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261061.451620 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCm01-0000iT-EW; Wed, 26 Jan 2022 17:22:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261061.451620; Wed, 26 Jan 2022 17:22:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCm01-0000iM-B2; Wed, 26 Jan 2022 17:22:25 +0000
Received: by outflank-mailman (input) for mailman id 261061;
 Wed, 26 Jan 2022 17:22:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=R8cR=SK=gmail.com=julien.grall.oss@srs-se1.protection.inumbo.net>)
 id 1nClzz-0000iG-Sw
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 17:22:23 +0000
Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com
 [2a00:1450:4864:20::436])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 85bf3e7b-7ecc-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 18:22:22 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id s18so242890wrv.7
 for <xen-devel@lists.xenproject.org>; Wed, 26 Jan 2022 09:22:22 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 85bf3e7b-7ecc-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=ZpPpmdktCYWeYpR7EXdyce24R8LeLXW5+Tvet4H1Yyk=;
        b=YvkAWu6l7hB/bdWbFlPqy3ViwVOVxr8OT1Q7/9Pp4ATSctJnSoI5upVazBkUAgeMAx
         AfYQV7fsHO7pKDLyDqWTxnKVniUxJH9bb3sLra7yv97LNp1yNfdL+ngF+jl/MO3D56Rn
         t9jaZ6guWl0m1pG1DUvFxCn9EEpVebOmpajyB2gaERukmJUIzDu1uCOt4Q81NSPHm+Rn
         N6Ajo8ScFTgdHGFOIUkFzEC49LiOLBUF3IHtP7GmZxjR6QsuwEOHgTjt6DfEe4acvzd4
         mGBZjS5NPEcy8U/Qgj0DhLsAp5oKj7U4qN1y70INfeqOLbiiAISrMOi70QeqKviaIcy5
         Ah/g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=ZpPpmdktCYWeYpR7EXdyce24R8LeLXW5+Tvet4H1Yyk=;
        b=Axubpi/JkPQTNLkb3Lfsh1Y47Lc/ycF5zR5QTC1xQWCWLH6RGY5xzag/o48KcJqvjX
         njthWDnY6FRD4LbIvTDFqqNfT0/NTFh6448sODe9tW0+ancFVRkF8K4I8rFp4eQiAoTR
         ohZdn9RLPGZj4dlw2z1S6QPRtGBIqkkZN52da6IcpbRvBr5+SC2FpD76KYKcBJjpfUSv
         nAElygNHNfjmaZs8Q8rxkT9Ewh0Ur1XJhEpQiJgEqzC5mWxydQctClW8iO1C0oiSD/sR
         trzuaYYC4Bjul6+SbmAmY5J9K+FzQAIoCqHK/EQ11UAnoFIQ+G2ollEmnsxQ+xxIMem9
         NH9Q==
X-Gm-Message-State: AOAM533mlKGI3x9Q8spg4FqUdJOAZhWsyKe4W+EazOy6wS6Li5R4ufvW
	803P9LR7P1v0z+mgvKoOoPWU/w8Snd9R/T2klaI=
X-Google-Smtp-Source: ABdhPJybzQa8gCoqJr3lcRyUAe/cU1ECdpzDAwpRBwxDGr+SMyODvZ7g5lrw2pCTCEbr/eXKlM5Ok5KGIsERxJaiVHU=
X-Received: by 2002:adf:d1e9:: with SMTP id g9mr23003597wrd.94.1643217742030;
 Wed, 26 Jan 2022 09:22:22 -0800 (PST)
MIME-Version: 1.0
References: <20220126165827.61168-1-ayankuma@xilinx.com>
In-Reply-To: <20220126165827.61168-1-ayankuma@xilinx.com>
From: Julien Grall <julien.grall.oss@gmail.com>
Date: Wed, 26 Jan 2022 17:22:11 +0000
Message-ID: <CAJ=z9a1KjOAeR4vpRQGA_sYSvx1h331NKim2bgG8jyru94Beow@mail.gmail.com>
Subject: Re: [XEN v1] xen/arm: io: Check ESR_EL2.ISV != 0 before searching for
 a MMIO handler
To: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, stefanos@xilinx.com, 
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>, 
	Ayan Kumar Halder <ayankuma@xilinx.com>
Content-Type: multipart/alternative; boundary="000000000000cd6b4605d67f7155"

--000000000000cd6b4605d67f7155
Content-Type: text/plain; charset="UTF-8"

Hi,

On Wed, 26 Jan 2022, 16:58 Ayan Kumar Halder, <ayan.kumar.halder@xilinx.com>
wrote:

> Refer to Armv8 ARM DDI 0487G.b, Page D13-3219 "ISS encoding for an
> exception
> from a Data Abort" :-
> ISV - ISS[23:14] holds a valid instruction syndrome
>
> When the ISV is 0, the instruction could not be decoded by the hardware
> (ie ISS
> is invalid). One should immediately return an error to the caller with an
> appropriate error message.


That's going to be very spammy because we have use-case where it could trap
without a valid ISV (e.g. when break-before-make happens). So please don't
had a message.

That makes me think that the same will be valid for your other patch.

There is no use of the MMIO handler. This is the
> reason why one should check for ISV before attempting to find a MMIO
> handler.
>
> Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
> ---
>
> Suggested by Julien Grall in
> https://lists.xenproject.org/archives/html/xen-devel/2022-01/msg01245.html
>
>  xen/arch/arm/io.c | 11 +++++++----
>  1 file changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
> index 729287e37c..14d39222f2 100644
> --- a/xen/arch/arm/io.c
> +++ b/xen/arch/arm/io.c
> @@ -109,6 +109,13 @@ enum io_state try_handle_mmio(struct cpu_user_regs
> *regs,
>
>      ASSERT(hsr.ec == HSR_EC_DATA_ABORT_LOWER_EL);
>
> +    /* All the instructions used on emulated MMIO region should be valid
> */
> +    if ( !dabt.valid )
> +    {
> +        gprintk(XENLOG_DEBUG, "No valid instruction syndrome for data
> abort\n");
> +        return IO_ABORT;
> +    }
> +
>      handler = find_mmio_handler(v->domain, info.gpa);
>      if ( !handler )
>      {
> @@ -121,10 +128,6 @@ enum io_state try_handle_mmio(struct cpu_user_regs
> *regs,
>          return rc;
>      }
>
> -    /* All the instructions used on emulated MMIO region should be valid
> */
> -    if ( !dabt.valid )
> -        return IO_ABORT;
> -
>      /*
>       * Erratum 766422: Thumb store translation fault to Hypervisor may
>       * not have correct HSR Rt value.
> --
> 2.17
>

--000000000000cd6b4605d67f7155
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto"><div>Hi,<br><br><div class=3D"gmail_quote"><div dir=3D"lt=
r" class=3D"gmail_attr">On Wed, 26 Jan 2022, 16:58 Ayan Kumar Halder, &lt;<=
a href=3D"mailto:ayan.kumar.halder@xilinx.com">ayan.kumar.halder@xilinx.com=
</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:=
0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Refer to Armv8 ARM =
DDI 0487G.b, Page D13-3219 &quot;ISS encoding for an exception<br>
from a Data Abort&quot; :-<br>
ISV - ISS[23:14] holds a valid instruction syndrome<br>
<br>
When the ISV is 0, the instruction could not be decoded by the hardware (ie=
 ISS<br>
is invalid). One should immediately return an error to the caller with an<b=
r>
appropriate error message. </blockquote></div></div><div dir=3D"auto"><br><=
/div><div dir=3D"auto">That&#39;s going to be very spammy because we have u=
se-case where it could trap without a valid ISV (e.g. when break-before-mak=
e happens). So please don&#39;t had a message.</div><div dir=3D"auto"><br><=
/div><div dir=3D"auto">That makes me think that the same will be valid for =
your other patch.</div><div dir=3D"auto"><br></div><div dir=3D"auto"><div c=
lass=3D"gmail_quote"><blockquote class=3D"gmail_quote" style=3D"margin:0 0 =
0 .8ex;border-left:1px #ccc solid;padding-left:1ex">There is no use of the =
MMIO handler. This is the<br>
reason why one should check for ISV before attempting to find a MMIO handle=
r.<br>
<br>
Signed-off-by: Ayan Kumar Halder &lt;<a href=3D"mailto:ayankuma@xilinx.com"=
 target=3D"_blank" rel=3D"noreferrer">ayankuma@xilinx.com</a>&gt;<br>
---<br>
<br>
Suggested by Julien Grall in <a href=3D"https://lists.xenproject.org/archiv=
es/html/xen-devel/2022-01/msg01245.html" rel=3D"noreferrer noreferrer" targ=
et=3D"_blank">https://lists.xenproject.org/archives/html/xen-devel/2022-01/=
msg01245.html</a><br>
<br>
=C2=A0xen/arch/arm/io.c | 11 +++++++----<br>
=C2=A01 file changed, 7 insertions(+), 4 deletions(-)<br>
<br>
diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c<br>
index 729287e37c..14d39222f2 100644<br>
--- a/xen/arch/arm/io.c<br>
+++ b/xen/arch/arm/io.c<br>
@@ -109,6 +109,13 @@ enum io_state try_handle_mmio(struct cpu_user_regs *re=
gs,<br>
<br>
=C2=A0 =C2=A0 =C2=A0ASSERT(<a href=3D"http://hsr.ec" rel=3D"noreferrer nore=
ferrer" target=3D"_blank">hsr.ec</a> =3D=3D HSR_EC_DATA_ABORT_LOWER_EL);<br=
>
<br>
+=C2=A0 =C2=A0 /* All the instructions used on emulated MMIO region should =
be valid */<br>
+=C2=A0 =C2=A0 if ( !dabt.valid )<br>
+=C2=A0 =C2=A0 {<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 gprintk(XENLOG_DEBUG, &quot;No valid instructi=
on syndrome for data abort\n&quot;);<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 return IO_ABORT;<br>
+=C2=A0 =C2=A0 }<br>
+<br>
=C2=A0 =C2=A0 =C2=A0handler =3D find_mmio_handler(v-&gt;domain, info.gpa);<=
br>
=C2=A0 =C2=A0 =C2=A0if ( !handler )<br>
=C2=A0 =C2=A0 =C2=A0{<br>
@@ -121,10 +128,6 @@ enum io_state try_handle_mmio(struct cpu_user_regs *re=
gs,<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return rc;<br>
=C2=A0 =C2=A0 =C2=A0}<br>
<br>
-=C2=A0 =C2=A0 /* All the instructions used on emulated MMIO region should =
be valid */<br>
-=C2=A0 =C2=A0 if ( !dabt.valid )<br>
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 return IO_ABORT;<br>
-<br>
=C2=A0 =C2=A0 =C2=A0/*<br>
=C2=A0 =C2=A0 =C2=A0 * Erratum 766422: Thumb store translation fault to Hyp=
ervisor may<br>
=C2=A0 =C2=A0 =C2=A0 * not have correct HSR Rt value.<br>
-- <br>
2.17<br>
</blockquote></div></div></div>

--000000000000cd6b4605d67f7155--


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 17:56:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 17:56:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261066.451631 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCmWi-0004R9-4r; Wed, 26 Jan 2022 17:56:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261066.451631; Wed, 26 Jan 2022 17: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 1nCmWi-0004R2-1k; Wed, 26 Jan 2022 17:56:12 +0000
Received: by outflank-mailman (input) for mailman id 261066;
 Wed, 26 Jan 2022 17:56:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MeDS=SK=xilinx.com=ayankuma@srs-se1.protection.inumbo.net>)
 id 1nCmWg-0004Qw-Qt
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 17:56:11 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20617.outbound.protection.outlook.com
 [2a01:111:f400:7e89::617])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 395f805d-7ed1-11ec-8eb8-a37418f5ba1a;
 Wed, 26 Jan 2022 18:56:03 +0100 (CET)
Received: from DM5PR11CA0022.namprd11.prod.outlook.com (2603:10b6:3:115::32)
 by MN2PR02MB5950.namprd02.prod.outlook.com (2603:10b6:208:10f::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Wed, 26 Jan
 2022 17:55:59 +0000
Received: from DM3NAM02FT051.eop-nam02.prod.protection.outlook.com
 (2603:10b6:3:115:cafe::e8) by DM5PR11CA0022.outlook.office365.com
 (2603:10b6:3:115::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15 via Frontend
 Transport; Wed, 26 Jan 2022 17:55:58 +0000
Received: from xir-pvapexch01.xlnx.xilinx.com (149.199.80.198) by
 DM3NAM02FT051.mail.protection.outlook.com (10.13.4.91) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4930.15 via Frontend Transport; Wed, 26 Jan 2022 17:55:58 +0000
Received: from xir-pvapexch01.xlnx.xilinx.com (172.21.17.15) by
 xir-pvapexch01.xlnx.xilinx.com (172.21.17.15) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2176.14; Wed, 26 Jan 2022 17:55:57 +0000
Received: from smtp.xilinx.com (172.21.105.197) by
 xir-pvapexch01.xlnx.xilinx.com (172.21.17.15) with Microsoft SMTP Server id
 15.1.2176.14 via Frontend Transport; Wed, 26 Jan 2022 17:55:57 +0000
Received: from [10.71.116.247] (port=38624)
 by smtp.xilinx.com with esmtp (Exim 4.90)
 (envelope-from <ayan.kumar.halder@xilinx.com>)
 id 1nCmWS-0002pR-C9; Wed, 26 Jan 2022 17:55: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: 395f805d-7ed1-11ec-8eb8-a37418f5ba1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=exGEIaYKj7WQGlsAAfQ1ORNSwwCAYPF+M3kEyH/2i+LM9odT5qh5SG8SdMNCIFSUe8+n6h//P4iMWD9Njy8D+CsC1hIjsVzR3jgEPq6byQ7Ot0DmQQpjcJoeb63oLebWOJR4xcEj043wTlhdLqkNNLoe6LisN0kj1mYJsBAKJ/2/GRQXYpfPYtykIJJYvn1GMWb5d4f06SExne9LYnNFPESqx72c5St1+noCPvIFfmky0J6geYror6UOKjgm5449WN7gWkih6Zry5mNyfGKOgPU6OKpgyVGwRHJ+Foz64gcgrVOce6czRcu5RS9327ku3oS3F63LbwSnX9nGDDS7RA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=k+Qkz71br8G7IERB5odIk3JaTrcYrSZwlDfqRHpXBlI=;
 b=L4/yKrwCNq2uN6TvkcbpSqsfOXKQuaFv4Zv6s5+WMgEv1ZR2TwANrpMFFPPj00P7owtxWGGQA22vAv/UcxnUJPd7Gqd//ajkKszOx65Eybf/zu9QdGsweigU2s7J+9pbbGA/1s3iYy2XqGJKz6wf6QUOlLrbtdwpmZDwdnrkdwynCaM7GkoKWoUxrXtEX0dWVU3Hd5RB+Mfg6ZD2BbdOZfVesGC7HVeBciwETsY/AW8fGC2+3AMKv0geK8nxDRvvznee4SCPWq7MBonReiPC8U8W6Xquv0ptkfGj6fznmRlVwszNrs4nMFNpBz+kK4GI+ys2jGD9bw8d1mm25Q5KeA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 149.199.80.198) smtp.rcpttodomain=gmail.com smtp.mailfrom=xilinx.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=xilinx.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=k+Qkz71br8G7IERB5odIk3JaTrcYrSZwlDfqRHpXBlI=;
 b=BAp5PVmsSGTPUYXVYnCbsWgdQnb2ZoB+OqiyMNZHYHQ6QcPWBu2qfoGazqmLmYFN1V79ghnrGRTWTdapVPqJy7hHzgMbFVo0jBq0MuTWvjwCFZCogzX+/Q0+ISgK8nBdMx0pkYn0xKPgW+ltmczu2ElAde0TYtzXBChxJO0mpTc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 149.199.80.198)
 smtp.mailfrom=xilinx.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=xilinx.com;
Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates
 149.199.80.198 as permitted sender) receiver=protection.outlook.com;
 client-ip=149.199.80.198; helo=xir-pvapexch01.xlnx.xilinx.com;
Content-Type: multipart/alternative;
	boundary="------------epmAppan1bONUB1uCPALluni"
Message-ID: <eeedbb72-d881-363d-c862-234b705eaec7@xilinx.com>
Date: Wed, 26 Jan 2022 17:55:55 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [XEN v1] xen/arm: io: Check ESR_EL2.ISV != 0 before searching for
 a MMIO handler
To: Julien Grall <julien.grall.oss@gmail.com>, Ayan Kumar Halder
	<ayan.kumar.halder@xilinx.com>
CC: xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, <stefanos@xilinx.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>
References: <20220126165827.61168-1-ayankuma@xilinx.com>
 <CAJ=z9a1KjOAeR4vpRQGA_sYSvx1h331NKim2bgG8jyru94Beow@mail.gmail.com>
From: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>
In-Reply-To: <CAJ=z9a1KjOAeR4vpRQGA_sYSvx1h331NKim2bgG8jyru94Beow@mail.gmail.com>
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 701c60a3-7074-4d3d-c7c8-08d9e0f51bd6
X-MS-TrafficTypeDiagnostic: MN2PR02MB5950:EE_
X-Microsoft-Antispam-PRVS:
	<MN2PR02MB5950FF045111923A0B90E5BFB2209@MN2PR02MB5950.namprd02.prod.outlook.com>
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
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:
	4ZFY0x23NTmasRqSk0pBQ4RZ76NzOLlBXf6TYSl7dkZyMxFH6nncb/O090p2iz9Gr3RqPRl40keMATfkyjCst4FAoSSthVTjqGLXZaNNz0hSG0N8080Wzo4//xzY7XNhZJz1acAW9WltMYjfBohHEqJbi44KFrNppeCmIXtgAqnOUShgqKsO0MA4awHHcm6NJhruQFpKjobWRTg7sZZH9FSq35VoYq/FagQ4exafVDYts1Vj/tyaun++ExhldpKLUubZ0MtD7VDENyY65QZSP9z5SgX4r2nmgmVT9KSSAfoRr3xEdCzyIGvvTCh0C7/+6lIEDiNJvg0QxpWwuE7UivcpIAhTj7ZOUplbhOtEsH/OvTctK8pPH/2lAkGeFIeN21MD8/txsjH81Ml8mMyHZ1rO4O3fAPZV3ttRlwXvXeTcgHaxkPFmqe0jwbL/6YhJfyHDPvqh0GNqHpcIelEJA5Lre+dgzA28AUZA12ATGHAWnQxVVIKbZ32HZMDx8c6K3g6RTaE4QlnVtAxDLMt1LwcRJi081vgYnIHFPcEqdNxcZ4/qUkqBqx7PE9Cp0DNcP7vqlmsTapPjtmP4i8Zwtmbii34jdCaNNPvTaNfQ0RMw5r9TaF3vpG5YBZOWPuTVi6K/bPkGWi7LJDSwEMyi9MRVsL/5AmM/YwSECR7haMqZGQJbGJasM836rFdRKz6gWtDiUZ8qhsdKuWZDHPz0gT42+FUx2SeKPXArC7ka4uffM/yi0SsGyQJARNjulDwL2xzD5eBK/9B3YCQRkn5INjp883vgfRG3GqxtNRvvNvGHehNr94ji/AXCE0JNmB4vwtgzX/LGZ9MT+aLu621UBQ==
X-Forefront-Antispam-Report:
	CIP:149.199.80.198;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:xir-pvapexch01.xlnx.xilinx.com;PTR:unknown-80-198.xilinx.com;CAT:NONE;SFS:(13230001)(4636009)(46966006)(36840700001)(40470700004)(36860700001)(36756003)(508600001)(966005)(7636003)(166002)(2906002)(54906003)(110136005)(2616005)(47076005)(31686004)(356005)(82310400004)(8936002)(8676002)(4326008)(426003)(316002)(70586007)(70206006)(83380400001)(186003)(26005)(21615005)(33964004)(31696002)(9786002)(40460700003)(336012)(53546011)(5660300002)(50156003)(51383001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
X-OriginatorOrg: xilinx.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 17:55:58.5962
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 701c60a3-7074-4d3d-c7c8-08d9e0f51bd6
X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c;Ip=[149.199.80.198];Helo=[xir-pvapexch01.xlnx.xilinx.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DM3NAM02FT051.eop-nam02.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR02MB5950

--------------epmAppan1bONUB1uCPALluni
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit

Hi Julien,

On 26/01/2022 17:22, Julien Grall wrote:
> Hi,
>
> On Wed, 26 Jan 2022, 16:58 Ayan Kumar Halder, 
> <ayan.kumar.halder@xilinx.com> wrote:
>
>     Refer to Armv8 ARM DDI 0487G.b, Page D13-3219 "ISS encoding for an
>     exception
>     from a Data Abort" :-
>     ISV - ISS[23:14] holds a valid instruction syndrome
>
>     When the ISV is 0, the instruction could not be decoded by the
>     hardware (ie ISS
>     is invalid). One should immediately return an error to the caller
>     with an
>     appropriate error message. 
>
>
> That's going to be very spammy because we have use-case where it could 
> trap without a valid ISV (e.g. when break-before-make happens). So 
> please don't had a message.

There is already a logging statement in traps.c :-

inject_abt:
     gdprintk(XENLOG_DEBUG,
              "HSR=%#"PRIregister" pc=%#"PRIregister" gva=%#"PRIvaddr" 
gpa=%#"PRIpaddr"\n",
              hsr.bits, regs->pc, gva, gpa);

The reason for the error is to give the user some hint that an IO abort 
is triggered by Xen. Can we keep the error message ?

Also, I think this is a duplicate check 
https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/ioreq.c;h=308650b40051825fdea78bb33bfbcc87ef5deaff;hb=HEAD#l79 
, I will remove this in v2 if it makes sense.

- Ayan

>
> That makes me think that the same will be valid for your other patch.
>
>     There is no use of the MMIO handler. This is the
>     reason why one should check for ISV before attempting to find a
>     MMIO handler.
>
>     Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
>     ---
>
>     Suggested by Julien Grall in
>     https://lists.xenproject.org/archives/html/xen-devel/2022-01/msg01245.html
>
>      xen/arch/arm/io.c | 11 +++++++----
>      1 file changed, 7 insertions(+), 4 deletions(-)
>
>     diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
>     index 729287e37c..14d39222f2 100644
>     --- a/xen/arch/arm/io.c
>     +++ b/xen/arch/arm/io.c
>     @@ -109,6 +109,13 @@ enum io_state try_handle_mmio(struct
>     cpu_user_regs *regs,
>
>          ASSERT(hsr.ec <http://hsr.ec> == HSR_EC_DATA_ABORT_LOWER_EL);
>
>     +    /* All the instructions used on emulated MMIO region should
>     be valid */
>     +    if ( !dabt.valid )
>     +    {
>     +        gprintk(XENLOG_DEBUG, "No valid instruction syndrome for
>     data abort\n");
>     +        return IO_ABORT;
>     +    }
>     +
>          handler = find_mmio_handler(v->domain, info.gpa);
>          if ( !handler )
>          {
>     @@ -121,10 +128,6 @@ enum io_state try_handle_mmio(struct
>     cpu_user_regs *regs,
>              return rc;
>          }
>
>     -    /* All the instructions used on emulated MMIO region should
>     be valid */
>     -    if ( !dabt.valid )
>     -        return IO_ABORT;
>     -
>          /*
>           * Erratum 766422: Thumb store translation fault to
>     Hypervisor may
>           * not have correct HSR Rt value.
>     -- 
>     2.17
>
--------------epmAppan1bONUB1uCPALluni
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hi Julien,</p>
    <div class="moz-cite-prefix">On 26/01/2022 17:22, Julien Grall
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAJ=z9a1KjOAeR4vpRQGA_sYSvx1h331NKim2bgG8jyru94Beow@mail.gmail.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <div dir="auto">
        <div>Hi,<br>
          <br>
          <div class="gmail_quote">
            <div dir="ltr" class="gmail_attr">On Wed, 26 Jan 2022, 16:58
              Ayan Kumar Halder, &lt;<a
                href="mailto:ayan.kumar.halder@xilinx.com"
                moz-do-not-send="true" class="moz-txt-link-freetext">ayan.kumar.halder@xilinx.com</a>&gt;
              wrote:<br>
            </div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">Refer to
              Armv8 ARM DDI 0487G.b, Page D13-3219 "ISS encoding for an
              exception<br>
              from a Data Abort" :-<br>
              ISV - ISS[23:14] holds a valid instruction syndrome<br>
              <br>
              When the ISV is 0, the instruction could not be decoded by
              the hardware (ie ISS<br>
              is invalid). One should immediately return an error to the
              caller with an<br>
              appropriate error message. </blockquote>
          </div>
        </div>
        <div dir="auto"><br>
        </div>
        <div dir="auto">That's going to be very spammy because we have
          use-case where it could trap without a valid ISV (e.g. when
          break-before-make happens). So please don't had a message.</div>
      </div>
    </blockquote>
    <p>There is already a logging statement in traps.c :-</p>
    <p>inject_abt:<br>
          gdprintk(XENLOG_DEBUG,<br>
                   "HSR=%#"PRIregister" pc=%#"PRIregister"
      gva=%#"PRIvaddr" gpa=%#"PRIpaddr"\n",<br>
                   hsr.bits, regs-&gt;pc, gva, gpa);<br>
    </p>
    <p>The reason for the error is to give the user some hint that an IO
      abort is triggered by Xen. Can we keep the error message ?<br>
    </p>
    <p>Also, I think this is a duplicate check
<a class="moz-txt-link-freetext" href="https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/ioreq.c;h=308650b40051825fdea78bb33bfbcc87ef5deaff;hb=HEAD#l79">https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/ioreq.c;h=308650b40051825fdea78bb33bfbcc87ef5deaff;hb=HEAD#l79</a>
      , I will remove this in v2 if it makes sense.</p>
    <p>- Ayan<br>
    </p>
    <blockquote type="cite"
cite="mid:CAJ=z9a1KjOAeR4vpRQGA_sYSvx1h331NKim2bgG8jyru94Beow@mail.gmail.com">
      <div dir="auto">
        <div dir="auto"><br>
        </div>
        <div dir="auto">That makes me think that the same will be valid
          for your other patch.</div>
        <div dir="auto"><br>
        </div>
        <div dir="auto">
          <div class="gmail_quote">
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">There is
              no use of the MMIO handler. This is the<br>
              reason why one should check for ISV before attempting to
              find a MMIO handler.<br>
              <br>
              Signed-off-by: Ayan Kumar Halder &lt;<a
                href="mailto:ayankuma@xilinx.com" target="_blank"
                rel="noreferrer" moz-do-not-send="true"
                class="moz-txt-link-freetext">ayankuma@xilinx.com</a>&gt;<br>
              ---<br>
              <br>
              Suggested by Julien Grall in <a
href="https://lists.xenproject.org/archives/html/xen-devel/2022-01/msg01245.html"
                rel="noreferrer noreferrer" target="_blank"
                moz-do-not-send="true" class="moz-txt-link-freetext">https://lists.xenproject.org/archives/html/xen-devel/2022-01/msg01245.html</a><br>
              <br>
               xen/arch/arm/io.c | 11 +++++++----<br>
               1 file changed, 7 insertions(+), 4 deletions(-)<br>
              <br>
              diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c<br>
              index 729287e37c..14d39222f2 100644<br>
              --- a/xen/arch/arm/io.c<br>
              +++ b/xen/arch/arm/io.c<br>
              @@ -109,6 +109,13 @@ enum io_state try_handle_mmio(struct
              cpu_user_regs *regs,<br>
              <br>
                   ASSERT(<a href="http://hsr.ec" rel="noreferrer
                noreferrer" target="_blank" moz-do-not-send="true">hsr.ec</a>
              == HSR_EC_DATA_ABORT_LOWER_EL);<br>
              <br>
              +    /* All the instructions used on emulated MMIO region
              should be valid */<br>
              +    if ( !dabt.valid )<br>
              +    {<br>
              +        gprintk(XENLOG_DEBUG, "No valid instruction
              syndrome for data abort\n");<br>
              +        return IO_ABORT;<br>
              +    }<br>
              +<br>
                   handler = find_mmio_handler(v-&gt;domain, info.gpa);<br>
                   if ( !handler )<br>
                   {<br>
              @@ -121,10 +128,6 @@ enum io_state try_handle_mmio(struct
              cpu_user_regs *regs,<br>
                       return rc;<br>
                   }<br>
              <br>
              -    /* All the instructions used on emulated MMIO region
              should be valid */<br>
              -    if ( !dabt.valid )<br>
              -        return IO_ABORT;<br>
              -<br>
                   /*<br>
                    * Erratum 766422: Thumb store translation fault to
              Hypervisor may<br>
                    * not have correct HSR Rt value.<br>
              -- <br>
              2.17<br>
            </blockquote>
          </div>
        </div>
      </div>
    </blockquote>
  </body>
</html>

--------------epmAppan1bONUB1uCPALluni--


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 18:48:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 18:48:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261069.451641 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCnLC-0002Bp-23; Wed, 26 Jan 2022 18:48:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261069.451641; Wed, 26 Jan 2022 18:48:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCnLB-0002Bi-VF; Wed, 26 Jan 2022 18:48:21 +0000
Received: by outflank-mailman (input) for mailman id 261069;
 Wed, 26 Jan 2022 18:48:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DU/T=SK=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nCnLA-0002Bb-GK
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 18:48:20 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 85c0d782-7ed8-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 19:48:18 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 85c0d782-7ed8-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643222898;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=vTsUGjjgoZdTVleQofvCUKv4H+hxdrPveKZIhytqiBg=;
  b=hRYI6xT+mhPrm6omHlQXWWlFTl4I/H7V4SJJ/j6sitz4qT3W05+8uXmf
   dXs8yPBjc1xNHlLTU5RHl/8MrNXj68TCvwHXMdbidV/eY/t0FdOPAMR82
   8ZK2YBvhRjlw13FGdFy+4R/ZZ/kLm5ekZOg9gUw4YdcHgmX8TEOamt2NE
   U=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: w66HdRdAIAZXTcqROOvHxpGZQcw4CSeZMAeuTovkgAWfLyPFsua/cEto8JT9qCQp28qz4+pAhX
 flRaAUScUFrqodAjIsTeIJCqZsYE9yvrN7iggTEvUiUok9he7hKTnX0WatCCIEJnsG0kjAY/D1
 3hTLKyu5hRXaPHDuxxIO6678XoiNAuMv7pGLTCTbes9BQ0vmerLH1j1LQv926tDTbCQEEMCf7u
 Z+YOZEq52atY/qQgzhyS9wVL+v29kr7dYQxDu7jUWAxtTk15jhC8s5ztjdyUk6XcevT0dLdr7w
 C6pqpK0ImAfETX8k3JcgDBy3
X-SBRS: 5.2
X-MesageID: 62295711
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:iI2eC6O5BuzpZb/vrR1xkMFynXyQoLVcMsEvi/4bfWQNrUol0zRVx
 mdMCGzUaPeCMTf3f4sjOty2pBxQsMfSztdjTgto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdpJYz/uUGuCJQUNUjMlkfZKhTr6UUsxNbVU8En150Eg9w7RRbrNA2rBVPSvc4
 bsenOWHULOV82Yc3rU8sv/rRLtH5ZweiRtA1rAMTakjUGz2zhH5OKk3N6CpR0YUd6EPdgKMq
 0Qv+5nilo/R109F5tpICd8XeGVSKlLZFVDmZna7x8FOK/WNz8A/+v9TCRYSVatYoxyS2MB82
 NlhjsWLRlwANZzwpO0cTzANRkmSPYUekFPGCX22sMjVxEzaaXr8hf5pCSnaP6VBpLwxWzsXs
 6VFdnZdNXhvhMrvqF6/YsBqit4uM4/AO4QHt2s75TrYEewnUdbIRKCiCdpwgm1q150RRK+2i
 8wxdR9/TQ/heCB2PV4vJ6xknuf4hV7CSmgNwL6SjfVuuDWCpOBr65DyNPLFd9rMQt9a9m66j
 G/b+2XyAjkBKceSjzGC9xqEluLJ2C/2Ro8WPLm57eJxxk2ewHQJDx8bXkf9puO24nNSQPoGd
 RZSoHB36/Fvqgr7FbERQiFUvlatpVkMVspcP9Zj0w7W46Hl3zqQB3QtG2sphMMdiOc6Qjkj1
 1msltzvBCByvLD9dU9x5ot4vhvpZ3FLcDZqiTssCFJcvoK9+N1bYgfnE447eJNZmOEZDt0ZL
 9qiiCElz4segscQv0lQ1QCW2mn8znQlo+Nc2+k2Yo5Hxl8oDGJGT9bxgbQ+0RqmBNzIJrVml
 CNc8/VyFMhUUfmweNWlGY3h5o2B6fefKyH7ilVyBZQn/DnF0yf9IdsJu2wgeBs0YplsldrVj
 Kn741I5CHh7ZyPCUEOKS9jpV5RCIVbISLwJqcw4nvIRO8MsJWdrDQllZFKK3nCFraTfufpXB
 HtvSu71VSxyIf0+lFKeHr5BuZd2mHxW7T6NFPjTkkT2uZLDNSX9YepUbzOzghURsfnsTPP9q
 YgPbqNnCnx3DYXDX8Ug2ddDdA9RdSliW8meRg4+XrfrHzeK0VoJU5f5qY7NsaQ890iMvuuXr
 Hy7RGFCz1/z2S/OJQmQMygxY7LzR5dv63k8OHV0b1qv3nEiZ6ep7bseKMRrLeV2qrQ7wK4mV
 eQBduWBHu9LFmbN9QMCYMSvt4dlbhmq216DZnL3fDglcpd8bAXV4du4LBD3/SwDA3Pv58szq
 rGtzC3BRp8HS1gwBcracqv3nViwoWIciKR5WE6Reotff0Dl8Y5LLS3tj6Bof5FQeEubnjbDj
 lSYGxYVo+XJsrQZytiRiPDWtZqtHst/AlFeQzvR44GpOHSI5WGk24JBDrqFJGiPSGPu9ay+T
 uxJ1PWgYuYflVNHvocgQbZmyaUyu4nmq7NAl1k2GXzKaxKgC696I2nA1s5K7/UfyrhcsAqwe
 0SO5tgFZunZZJK7SAYcdFg/c+CO9fAIgT2Dv/06LXLz6DJz4LfaA15ZOAOBiXAFIbZ4WG//L
 TzNZCLCB9SDtycX
IronPort-HdrOrdr: A9a23:/gl1+KPKLbht0sBcTs2jsMiBIKoaSvp037Eqv3oedfUzSL3+qy
 nOpoV+6faaslYssR0b9exoW5PwJE80l6QFgrX5VI3KNGKN1VdARLsSi7cKqAeAJ8SRzIFgPN
 9bAspDNOE=
X-IronPort-AV: E=Sophos;i="5.88,318,1635220800"; 
   d="scan'208";a="62295711"
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/decode: Decode remaining TigerLake features
Date: Wed, 26 Jan 2022 18:47:58 +0000
Message-ID: <20220126184758.15902-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

These are the two remaining TGL features which xen-cpuid doesn't know yet.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 tools/libs/light/libxl_cpuid.c | 2 ++
 tools/misc/xen-cpuid.c         | 4 ++--
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/tools/libs/light/libxl_cpuid.c b/tools/libs/light/libxl_cpuid.c
index e1acf6648db4..28c2fa6a0350 100644
--- a/tools/libs/light/libxl_cpuid.c
+++ b/tools/libs/light/libxl_cpuid.c
@@ -208,8 +208,10 @@ int libxl_cpuid_parse_config(libxl_cpuid_policy_list *cpuid, const char* str)
         {"vpclmulqdq",   0x00000007,  0, CPUID_REG_ECX, 10,  1},
         {"avx512-vnni",  0x00000007,  0, CPUID_REG_ECX, 11,  1},
         {"avx512-bitalg",0x00000007,  0, CPUID_REG_ECX, 12,  1},
+        {"tme",          0x00000007,  0, CPUID_REG_ECX, 13,  1},
         {"avx512-vpopcntdq",0x00000007,0,CPUID_REG_ECX, 14,  1},
         {"rdpid",        0x00000007,  0, CPUID_REG_ECX, 22,  1},
+        {"keylocker",    0x00000007,  0, CPUID_REG_ECX, 23,  1},
         {"cldemote",     0x00000007,  0, CPUID_REG_ECX, 25,  1},
 
         {"avx512-4vnniw",0x00000007,  0, CPUID_REG_EDX,  2,  1},
diff --git a/tools/misc/xen-cpuid.c b/tools/misc/xen-cpuid.c
index a3003245f12a..28842f56fcb2 100644
--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -127,10 +127,10 @@ static const char *const str_7c0[32] =
     [ 6] = "avx512-vbmi2",     [ 7] = "cet-ss",
     [ 8] = "gfni",             [ 9] = "vaes",
     [10] = "vpclmulqdq",       [11] = "avx512-vnni",
-    [12] = "avx512-bitalg",
+    [12] = "avx512-bitalg",    [13] = "tme",
     [14] = "avx512-vpopcntdq",
 
-    [22] = "rdpid",
+    [22] = "rdpid",            [23] = "keylocker",
     /* 24 */                   [25] = "cldemote",
     /* 26 */                   [27] = "movdiri",
     [28] = "movdir64b",        [29] = "enqcmd",
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 18:56:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 18:56:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261073.451652 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCnTJ-0003ey-19; Wed, 26 Jan 2022 18:56:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261073.451652; Wed, 26 Jan 2022 18:56:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCnTI-0003er-UM; Wed, 26 Jan 2022 18:56:44 +0000
Received: by outflank-mailman (input) for mailman id 261073;
 Wed, 26 Jan 2022 18:56:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pz6t=SK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nCnTH-0003el-Qj
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 18:56:43 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b2ee48c7-7ed9-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 19:56:42 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 209AAB81FBB;
 Wed, 26 Jan 2022 18:56:41 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 767D0C340E3;
 Wed, 26 Jan 2022 18: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: b2ee48c7-7ed9-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1643223399;
	bh=hhaLUZfEq1KVOz2cNPrNgOMr3vE07bz5xNTr1adP0tI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=kCFTPygZEQ+7Vfrn5aTvV6TFY6POgD5vjCuMlk7iOqFoV9eL4KMLANnYv1W/mffsw
	 XwjD8X/C8hPeLcQL+A7E+lmQa5pITkcRh1U19CemCzW82QM1OsaoTY8VuHxuMi4wKC
	 mdR4n1H0M+EscHj8v6EUc02b9T9E5QiYgXLDpqXedzKeLCXituGMQ71XQqZj2mGpvj
	 tzMcWhlDYyasLhvWyYyWYV5HXu+qCswzU6ku4ObpTnQf62xkJINgHXrVjZ6+RF5mQ4
	 z5A4L55f7bcTtsIFVgSZIh2VE+7AL5taWGFXpaa9tMFtF+qWwXyn7ZV1wlUHoVUxjr
	 FL1fMVfVx65JA==
Date: Wed, 26 Jan 2022 10:56:39 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Robin Murphy <robin.murphy@arm.com>
cc: Sergiy Kibrik <Sergiy_Kibrik@epam.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Oleksandr Tyshchenko <olekstysh@gmail.com>, 
    "devicetree@vger.kernel.org" <devicetree@vger.kernel.org>, 
    "linux-arm-kernel@lists.infradead.org" <linux-arm-kernel@lists.infradead.org>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v3 1/2] dt-bindings: arm: xen: document Xen iommu
 device
In-Reply-To: <447f89ca-86c0-dc35-e7ac-e6639a573670@arm.com>
Message-ID: <alpine.DEB.2.22.394.2201261050300.27308@ubuntu-linux-20-04-desktop>
References: <20220117123251.140867-1-Sergiy_Kibrik@epam.com> <20220117123251.140867-2-Sergiy_Kibrik@epam.com> <e88b882f-4b5d-a801-fc68-66b7f790e11c@arm.com> <PAXPR03MB81144A63E18CAF10E785E2A7F0209@PAXPR03MB8114.eurprd03.prod.outlook.com>
 <447f89ca-86c0-dc35-e7ac-e6639a573670@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 26 Jan 2022, Robin Murphy wrote:
> On 2022-01-26 15:09, Sergiy Kibrik wrote:
> > Hi Robin,
> > 
> > > 
> > > This could break Linux guests, since depending on the deferred probe
> > > timeout setting it could lead to drivers never probing because the "IOMMU"
> > > never becomes available.
> > > 
> > 
> > I've noticed no deferred probe timeouts when booting with this patch. Could
> > you please explain more on how this would break guests?
> 
> Right now I think it would actually require command-line intervention, e.g.
> "fw_devlink=on" or "deferred_probe_timeout=3600" (with modules enabled for the
> latter to take full effect), but I'm wary of the potential for future config
> options to control those behaviours by default.

If deferred_probe_timeout=3600 was specified, we would just need an
IOMMU driver in Linux for the "xen,iommu-el2-v1" node to solve the
problem, right? I guess I am trying to say that it wouldn't be a device
tree interface problem but rather a Linux implementation discussion.


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 19:04:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 19:04:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261076.451664 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCnbB-0005Hs-Rm; Wed, 26 Jan 2022 19:04:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261076.451664; Wed, 26 Jan 2022 19: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 1nCnbB-0005Hl-Oc; Wed, 26 Jan 2022 19:04:53 +0000
Received: by outflank-mailman (input) for mailman id 261076;
 Wed, 26 Jan 2022 19:04:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pz6t=SK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nCnbA-0005Hf-3X
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 19:04:52 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d666e4bc-7eda-11ec-8eb8-a37418f5ba1a;
 Wed, 26 Jan 2022 20:04:51 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 41D5FB81FBD;
 Wed, 26 Jan 2022 19:04:50 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 83A58C340E3;
 Wed, 26 Jan 2022 19:04:48 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d666e4bc-7eda-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1643223889;
	bh=AbCp5mwrBDR9VHhaIdzIZliqrhYy6rOnnklzhxgxMws=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=O6XrI+aT7Umrb2OfavxYnWtOo70D4J6lcGjFMqk8Vp5+AV3O9xfhJEpmlsv6TciHY
	 Zx9huJMp5FKHJd3iqJNrJanPTbI7s3z342UZNTJbQ0h7mMrVanZl6gRNHLUz9AgQtd
	 RrDx6w7QKR3rTnK4QUnwqFpCCVjwM38ApMyAWIumXNCSIFvFKijEY+EmU76+tn+lO0
	 fCPD8TrtmqmfDiRi+Q/y74zf/J37KmNG2GscVpnAThSkj29IxpXo++aUoqNVasxpQE
	 2Hwd/cG0YMEcR0g6814HMbov1XDTPifHaai1S5ZHZejvrnn50moxht8FbJMDwekgeS
	 SV/x3C8PjHg0A==
Date: Wed, 26 Jan 2022 11:04:48 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>
cc: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org, 
    sstabellini@kernel.org, stefanos@xilinx.com, Volodymyr_Babchuk@epam.com, 
    bertrand.marquis@arm.com, andre.przywara@arm.com, jbeulich@suse.com, 
    wei.chen@arm.com
Subject: Re: [XEN v4] xen/arm64: io: Decode ldr/str post-indexing
 instructions
In-Reply-To: <eebecd4f-1656-7488-b35c-d4778e9788c5@xilinx.com>
Message-ID: <alpine.DEB.2.22.394.2201261104290.27308@ubuntu-linux-20-04-desktop>
References: <20220125211808.23810-1-ayankuma@xilinx.com> <8eb4949c-aa9f-38fd-682e-7620b5f9e03c@xen.org> <eebecd4f-1656-7488-b35c-d4778e9788c5@xilinx.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 26 Jan 2022, Ayan Kumar Halder wrote:
> > Furthermore, decode.c should only contain code to update the syndrome and in
> > theory Arm could decide to provide an valid syndrome in future revision. So
> > I would move this code in io.c (or maybe traps.c).
> @Stefano/Julien - Can we all agree on traps.c ?

Fine by me


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 19:14:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 19:14:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261079.451675 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCnkq-0006tW-Pd; Wed, 26 Jan 2022 19:14:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261079.451675; Wed, 26 Jan 2022 19:14:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCnkq-0006tP-Ld; Wed, 26 Jan 2022 19:14:52 +0000
Received: by outflank-mailman (input) for mailman id 261079;
 Wed, 26 Jan 2022 19:14:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pz6t=SK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nCnkp-0006tJ-Ar
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 19:14:51 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3b5e8160-7edc-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 20:14:49 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 18A69B81FBE;
 Wed, 26 Jan 2022 19:14:49 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 45D64C340E3;
 Wed, 26 Jan 2022 19:14:47 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3b5e8160-7edc-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1643224487;
	bh=5U9eKRJ9wbUmTkGhzdXtScb3FRnCG/ettkxm0+oAx1c=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ToQmILyio9eV5AkIHafMBTvHLUfL2LQgnTW8tU0BdvgcOLaA68XBzuhxHvH6aY4vr
	 o9c7Mu94y1WpiXIGz8XeVQVHdZylw6qBqI5MJk2jTZeB4EZFnAKZDMGVqTYch5om8s
	 8B1jgUJexdHaFY/vlxkcM13SDPXGdNEk1AOF4USJd+VH27yYD4tT4rOBMZhXK5H7G/
	 O7TlM6vYhFnW1xxwg2T3eCCm4uEkSKcmEmi8DWKJYjzvoCt5baeEjV34yMeGdc4x4D
	 OG+11Y2ZlsITz6yBQxAsMuVGqAagKz3W1IGp1nBMZKuGRyU0SojSR8YCopXG1dGq6s
	 K6XS2GWsgoj1Q==
Date: Wed, 26 Jan 2022 11:14:47 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>, 
    xen-devel@lists.xenproject.org, stefanos@xilinx.com, 
    Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com, 
    andre.przywara@arm.com, jbeulich@suse.com, wei.chen@arm.com, 
    Ayan Kumar Halder <ayankuma@xilinx.com>
Subject: Re: [XEN v4] xen/arm64: io: Decode ldr/str post-indexing
 instructions
In-Reply-To: <b28ca89c-290d-2c56-1bf7-a5be3dacc55a@xen.org>
Message-ID: <alpine.DEB.2.22.394.2201261105490.27308@ubuntu-linux-20-04-desktop>
References: <20220125211808.23810-1-ayankuma@xilinx.com> <8eb4949c-aa9f-38fd-682e-7620b5f9e03c@xen.org> <alpine.DEB.2.22.394.2201251519120.27308@ubuntu-linux-20-04-desktop> <b28ca89c-290d-2c56-1bf7-a5be3dacc55a@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 26 Jan 2022, Julien Grall wrote:
> On 26/01/2022 01:45, Stefano Stabellini wrote:
> > On Tue, 25 Jan 2022, Julien Grall wrote:
> > > > +
> > > >        /* TODO: Handle ARM instruction */
> > > >        gprintk(XENLOG_ERR, "unhandled ARM instruction\n");
> > > >          return 1;
> > > >    }
> > > >    +#if CONFIG_ARM_64
> > > > +void post_increment_register(union ldr_str_instr_class *instr)
> > > 
> > > instr should not be modified, so please use const. Also, it would be
> > > preferrable to pass the regs in parameter. So the none of the decoding
> > > code
> > > relies on the current regs.
> > > 
> > > Furthermore, decode.c should only contain code to update the syndrome and
> > > in
> > > theory Arm could decide to provide an valid syndrome in future revision.
> > > So I
> > > would move this code in io.c (or maybe traps.c).
> > 
> > I was the one to suggest moving it to decode.c to keep it closer to the
> > decoding function it is related to, and also because it felt a bit out
> > of place in io.c.
> 
> How about traps.c? This is where we also take care of incrementing pc after we
> handle a MMIO trap.
> 
> > > > +{
> > > > +    struct cpu_user_regs *regs = guest_cpu_user_regs();
> > > > +    register_t val;
> > > > +
> > > > +    /* handle when rn = SP */
> > > > +    if ( instr->code.rn == 31 )
> > > > +        val = regs->sp_el1;
> > > > +    else
> > > > +        val = get_user_reg(regs, instr->code.rn);
> > > > +
> > > > +    val += instr->code.imm9;
> > > > +
> > > > +    if ( instr->code.rn == 31 )
> > > > +        regs->sp_el1 = val;
> > > > +    else
> > > > +        set_user_reg(regs, instr->code.rn, val);
> > > > +}
> > > > +#endif
> > > > +
> > > >    /*
> > > >     * Local variables:
> > > >     * mode: C
> > > > diff --git a/xen/arch/arm/decode.h b/xen/arch/arm/decode.h
> > > > index 4613763bdb..511cd4a05f 100644
> > > > --- a/xen/arch/arm/decode.h
> > > > +++ b/xen/arch/arm/decode.h
> > > > @@ -23,6 +23,35 @@
> > > >    #include <asm/regs.h>
> > > >    #include <asm/processor.h>
> > > >    +/*
> > > > + * Refer to the ARMv8 ARM (DDI 0487G.b), Section C4.1.4 Loads and
> > > > Stores
> > > > + * Page 318 specifies the following bit pattern for
> > > > + * "load/store register (immediate post-indexed)".
> > > > + *
> > > > + * 31 30 29  27 26 25  23   21 20              11   9         4       0
> > > > + * ___________________________________________________________________
> > > > + * |size|1 1 1 |V |0 0 |opc |0 |      imm9     |0 1 |  Rn     |  Rt   |
> > > > + * |____|______|__|____|____|__|_______________|____|_________|_______|
> > > > + */
> > > > +union ldr_str_instr_class {
> > > > +    uint32_t value;
> > > > +    struct ldr_str {
> 
> No need to name the struct here.
> 
> > > > +        unsigned int rt:5;     /* Rt register */
> > > > +        unsigned int rn:5;     /* Rn register */
> > > > +        unsigned int fixed1:2; /* value == 01b */
> > > > +        signed int imm9:9;            /* imm9 */
> > > > +        unsigned int fixed2:1; /* value == 0b */
> > > > +        unsigned int opc:2;    /* opc */
> > > > +        unsigned int fixed3:2; /* value == 00b */
> > > > +        unsigned int v:1;      /* vector */
> > > > +        unsigned int fixed4:3; /* value == 111b */
> > > > +        unsigned int size:2;   /* size */
> > > > +    } code;
> 
> It would be best to name it ldr_str so this can be easily extended (e.g. no
> renaming) for other instructions in the future.
> 
> > > > +};
> > > 
> > > Looking at the code, post_increment_register() only care about 'rn' and
> > > 'imm9'. So rather than exposing the full instruction, could we instead
> > > provide
> > > the strict minimum? I.e something like:
> > > 
> > > struct
> > > {
> > >       enum instr_type; /* Unknown, ldr/str post increment */
> > >       union
> > >       {
> > >           struct
> > >           {
> > >             register; /* Register to increment */
> > >             imm;      /* Immediate to add */
> > >           } ldr_str;
> > >       }
> > >       uint64_t register;
> > > }
> >   The full description helped a lot during review. I would prefer to keep
> > it if you don't feel strongly about it.
> 
> I haven't suggested to drop the union. Instead, I am suggesting to keep it
> internally to decode.c and expose something different to the external the
> user. The idea is the caller doesn't care about the full instruction, it only
> cares about what action to do.
> 
> Basically, what I am asking is an augmented dabt. So all the information are
> in one place rather than having to carry two structure (struct hsr_dabt and
> union ldr_str_instr_class) which contain mostly redundant information.

That could be a good idea. We shouldn't need "union ldr_str_instr_class"
in io.c, it should only be needed in decode.c. Thus, it could be
internal to decode.c. That's fine by me.


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 19:22:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 19:22:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261083.451686 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCnrw-0008Nq-Ha; Wed, 26 Jan 2022 19:22:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261083.451686; Wed, 26 Jan 2022 19: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 1nCnrw-0008Nj-EV; Wed, 26 Jan 2022 19:22:12 +0000
Received: by outflank-mailman (input) for mailman id 261083;
 Wed, 26 Jan 2022 19:22:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nWl3=SK=bombadil.srs.infradead.org=BATV+677f07704d1834417a80+6730+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1nCnru-0008Nd-Id
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 19:22:11 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3e5ffbe4-7edd-11ec-8f75-fffcc8bd4f1a;
 Wed, 26 Jan 2022 20:22:07 +0100 (CET)
Received: from [2001:8b0:10b:1:4a2a:e3ff:fe14:8625]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1nCnrh-00DNGn-IN; Wed, 26 Jan 2022 19:21: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: 3e5ffbe4-7edd-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=2fnL7rQ7kcT9IsaiLiUVD6C4YSxBZpKPKph6eke7jh8=; b=s8dAOjBDgy2EXwrler7aafa1uh
	rslrgvWa5vnzT1BiKyseJevQHKzi/dC0kSMAOdelaH8HbYb1O1bRtZwYcl2Ztkq6i6t03bkFe5+Gl
	mYusgkcpkvCWE7Ridf3x8gyilGsa1+hunqPYkgE2Cd6lpddoH9Lfu8pna735hMtMpdTYZugDtjMQK
	v1hv3B/EhWVhrouwSQsTCTBoVkSppDtscxVlWNlhIr5b3zhEo86IMhLfMEBhp9X7zhOop8MFntLj4
	B0YOvF6dhMHyGHhDv6ulK4nwKwyhI/mkzdWI+TAdTRsk/UB8pDzo/00+N/wwUF69Vl16Rnt/khXf/
	D5H3weQA==;
Message-ID: <05217a1176ba2d296c078d4e188184096bcae905.camel@infradead.org>
Subject: Re: [PATCH 1/3] xen/vioapic: add support for the extended
 destination ID field
From: David Woodhouse <dwmw2@infradead.org>
To: Jan Beulich <jbeulich@suse.com>, Roger Pau =?ISO-8859-1?Q?Monn=E9?=
	 <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>, 
	xen-devel@lists.xenproject.org
Date: Wed, 26 Jan 2022 19:21:55 +0000
In-Reply-To: <72f35326-0ae1-458c-6490-37d14524bf33@suse.com>
References: <20220120152319.7448-1-roger.pau@citrix.com>
	 <20220120152319.7448-2-roger.pau@citrix.com>
	 <5f8d332d-1bc3-af71-27ba-a4ff7b6e9514@suse.com>
	 <YfATkz+nse45Vg3C@Air-de-Roger>
	 <72f35326-0ae1-458c-6490-37d14524bf33@suse.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-h6U6qKmPRj1v1vMlxeZO"
User-Agent: Evolution 3.36.5-0ubuntu1 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html


--=-h6U6qKmPRj1v1vMlxeZO
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2022-01-26 at 13:47 +0100, Jan Beulich wrote:
> On 25.01.2022 16:13, Roger Pau Monn=C3=A9 wrote:
> > On Mon, Jan 24, 2022 at 02:20:47PM +0100, Jan Beulich wrote:
> > > On 20.01.2022 16:23, Roger Pau Monne wrote:
> > > > Such field uses bits 55:48, but for the purposes the register
> > > > will be
> > > > used use bits 55:49 instead. Bit 48 is used to signal an RTE
> > > > entry is
> > > > in remappable format which is not supported by the vIO-APIC.
> > >=20
> > > Neither here nor in the cover letter you point at a formal
> > > specification
> > > of this mode of operation.
> >=20
> > I'm not aware of any formal specification of this mode, apart from
> > the
> > work done to introduce support in Linux and QEMU:
> >=20
> > https://lore.kernel.org/all/20201009104616.1314746-1-dwmw2@infradead.or=
g/
> >=20
> > https://git.qemu.org/?p=3Dqemu.git;a=3Dcommitdiff;h=3Dc1bb5418e
> >=20
> >=20
> > Adding David in case there's some kind of specification somewhere
> > I'm
> > not aware of.
> >=20
> > > What I'm aware of are vague indications of
> > > this mode's existence in some of Intel's chipset data sheets. Yet tha=
t
> > > leaves open, for example, whether indeed bit 48 cannot be used here.
> >=20
> > Bit 48 cannot be used because it's already used to signal an RTE is in
> > remappable format. We still want to differentiate an RTE entry in
> > remappable format, as it should be possible to expose both the
> > extended ID support and an emulated IOMMU.
>=20
> I think I did say so on irc already: There's not really a problem like
> this. For one I wouldn't expect an OS to use this extended ID at the
> same time as having an IOMMU to deal with the width restriction. And
> then, even if they wanted to use both at the same time, they'd simply
> need to care about the specific meaning of this bit themselves: When
> the bit is set, it would be unavoidable to have it (perhaps identity-)
> remapped by the IOMMU.

As you later said, it's too late for bikeshedding that decision. But I
stand by it regardless of the time.

Even by the time *I* made that choice, it was long since established by
Intel. You could make the same argument about their original hardware
design, that the format bit is pointless and that if an OS enables
interrupt remapping, it knows full well when it's going to use it. It
can even be configured in the IOMMU per PCI function.

There is benefit to having a very clear and unambiguous difference
between the MSI formats that isn't entirely dependent on the IOMMU
being configured correctly. And in my case there is *definitely*
benefit to following the precedent already set by Intel in the real
hardware. For me, those outweighed the marginal additional benefit of
going from 15 to 16 bits of APIC ID in the MSI.

> > > > --- a/xen/arch/x86/hvm/vioapic.c
> > > > +++ b/xen/arch/x86/hvm/vioapic.c
> > > > @@ -412,7 +412,8 @@ static void ioapic_inj_irq(
> > > > =20
> > > >  static void vioapic_deliver(struct hvm_vioapic *vioapic, unsigned =
int pin)
> > > >  {
> > > > -    uint16_t dest =3D vioapic->redirtbl[pin].fields.dest_id;
> > > > +    uint16_t dest =3D vioapic->redirtbl[pin].fields.dest_id |
> > > > +                    (vioapic->redirtbl[pin].fields.ext_dest_id << =
8);
> > >=20
> > > What if an existing guest has been writing non-zero in these bits? Ca=
n
> > > you really use them here without any further indication by the guest?
> >=20
> > Those bits where reserved previously, so no OS should have used them.
> > There are hypervisors already in the field (QEMU/KVM and HyperV) using
> > this mode.
> >=20
> > We could add a per-domain option to disable extended ID mode if we are
> > really worried about OSes having used those bits for some reason.
>=20
> Generally I think previously ignored bits need to be handled with care.
> If there was a specification, what is being said there might serve as
> a guideline for us. Even if there was just a proper description of the
> EDID field found in recent Intel chipset spec, this might already help
> determining whether we want/need an enable (or disable). But there's
> not even a bit announcing the functionality in, say, the version
> register.

It's not very verbose, but the Extended Destination ID in the I/OAPIC
is at least mentioned in the RTE documentation in the 82806AA datasheet
https://datasheet.octopart.com/FW82806AA-SL3VZ-Intel-datasheet-13695406.pdf=
=20

See page 47, =C2=A72.4.10 "Redirection Table High DWord".

The rest you have to kind of piece together from the later
documentation once they actually started *using* it for IRQ remapping.
I think it may also have been used on IA64?

The realisation that we didn't need to have special different code to
compose RTE entries for Compatibility Format vs. Remappable Format, and
that we could just allow the 'upstream' APIC code to compose the MSI
message and then swizzle the bits into the RTE... was rather slow to
come.
https://lore.kernel.org/all/20201024213535.443185-22-dwmw2@infradead.org/


--=-h6U6qKmPRj1v1vMlxeZO
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjIwMTI2MTkyMTU1WjAvBgkqhkiG9w0BCQQxIgQgjd+6hKAS
nrhGSBrn3wSKefclHFaOqX64A1esXaTCMdowgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgBaR7kbMZxbPEowSudGbuS0/6MjYCQ0Sc42
o/p2fxgYYGv/DTMJDWIXQUXRXXDvsHfc6qKzVcy4Tiw9bRozJXPSewVpDadIg/8unAALsdfR5zdD
Ypxl+fz0GwjF+Sb4txiO4T703LfoUOjYsCFegvKYDb3aPxRd3Z4X+/Am3U9Xv/JeZ2Xg5bVIV/8C
MLmOLKDNnFIJ46aF6rqATzcCYK8u7w3PgYE5jVft2O3v2yTbccGSp26WDhgJbqrAbI3Z+1HkJAkf
mUb7AUj6XC8KCXSLiCiqWeAPVZwRQtg55bnzDqOpb/7YH0l6/JvlVmOjvrCrT3vuvHODJaUsCobL
iERm4PKIk0MEmquYusvZT2eA1bIqEwa+iRfE0Blxtc3qbCRYMxk+cRllgTnQl4RUOJGYZOiwQ9Mr
CcVDhbmBdPhZoXNjGKDEp4WkpUnebwqYtL4eYB7eLILnU3z8JeeD+fwM0Vmx4CNoeg9e8KkMGoGz
uc1LiJw5S6y9VsOcmURHd6ntQJXVp18Lny85X4o18OAx5jOecENy+PFO8y+KxJQCzRw1tR8/Oh2u
7qjykV6gtaBr+jc380rlIJ7aUIMdBsqgiOHwFTj0X1iJ58nJRv8tOnK8g8e4LaMrqDyr4b0InPQj
81lS9XTmqAfYGNMzXmGRJKztEkhfZgmBhZCZdKpKiQAAAAAAAA==


--=-h6U6qKmPRj1v1vMlxeZO--



From xen-devel-bounces@lists.xenproject.org Wed Jan 26 20:11:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 20:11:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261093.451715 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCodg-0005se-IU; Wed, 26 Jan 2022 20:11:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261093.451715; Wed, 26 Jan 2022 20:11: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 1nCodg-0005sX-FO; Wed, 26 Jan 2022 20:11:32 +0000
Received: by outflank-mailman (input) for mailman id 261093;
 Wed, 26 Jan 2022 20:11: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 1nCodf-0005sN-ME; Wed, 26 Jan 2022 20:11: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 1nCodf-0002SD-Jg; Wed, 26 Jan 2022 20:11: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 1nCodf-0006mm-9F; Wed, 26 Jan 2022 20:11:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nCodf-0006kk-8m; Wed, 26 Jan 2022 20: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=KxVyCBk0Tp5xcnPa3ybAlYvIckABtQlVCDv7XrYu6tM=; b=L+oB1NohxpRyRvWLEuDpZbYBY3
	7YjHrJbBe30mJXs7VGfZKbQRksccx+d1BlrQStHUGC+8IOnL1W7EGtDSGygAxI3l2tGmgKBvr2z58
	R1y1pr8nzaW89ptp6G5C+lrJCsKs+YauPU1ttAhdDBjddvIhoIMBZTnRBUqku9mXu7bU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167846-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 167846: 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-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=7d54a291383b42f302f9f68508c933fb6987f20b
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 26 Jan 2022 20:11:31 +0000

flight 167846 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167846/

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-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              7d54a291383b42f302f9f68508c933fb6987f20b
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  565 days
Failing since        151818  2020-07-11 04:18:52 Z  564 days  546 attempts
Testing same since   167846  2022-01-26 04:18:56 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>
  Ani Sinha <ani@anisinha.ca>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe Fergeau <cfergeau@redhat.com>
  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>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  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>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  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>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  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 Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas Lécureuil <neoclust@mageia.org>
  Nicolas Lécureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  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>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott 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>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  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>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Дамјан Георгиевски <gdamjan@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 94649 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 20:16:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 20:16:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261100.451726 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCoiW-0006Wr-7G; Wed, 26 Jan 2022 20:16:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261100.451726; Wed, 26 Jan 2022 20:16: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 1nCoiW-0006Wk-3T; Wed, 26 Jan 2022 20:16:32 +0000
Received: by outflank-mailman (input) for mailman id 261100;
 Wed, 26 Jan 2022 20:16:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DU/T=SK=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nCoiU-0006We-0i
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 20:16:30 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d4686599-7ee4-11ec-8eb8-a37418f5ba1a;
 Wed, 26 Jan 2022 21:16:26 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d4686599-7ee4-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643228186;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=TjbYf3qr0mB4cdZhoonTYB0XlIapDqxwV8LmDv+frN8=;
  b=VZ10fUTnckIwDeoBjCVrPja+K8ZMpSTMEipN1qxF2/SkGwk6+xfAtOHu
   J97WuUK9G0CViMzyLuMdmjlrFr2Du8hSMW1siNa0bvyjDhT/+8sMP7z6O
   bHFQpnAXzeTc2Cn+b/gWT+YiZYBAry546+MlQoWazZ4BP3pfd6ULBC23s
   o=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: JJYnYkD4kUzyEG5qn0egiiGJAx9a2rSGOudfEja5LuPCy5tUytR8jwVGw1Y4gZr3B3baS0YoMU
 CoyhOK32VIqqjCfPYLWX9JUVrcCJfXYbUFeXYuXb/pQwjRAgl5zMVg1R2YGTltWml/q3XpJzfK
 sKx2sfsbjgsC+a6E6AI0PqFKft2OuGsiYwkfIa0KV3QIuhRgPlugfjaf1qPZ4PE903wZmCozJn
 pzivMn0q/+0x8mC14MDRBUaUorMppviIjTsi2dkL9rmyU4lFIT19YPARA1fbhmdJb58l5frPaY
 EpXFGSKu9PYIQ/SDuWtC4/bQ
X-SBRS: 5.2
X-MesageID: 62835356
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:Ni4Nw6pRZVHvj6sdSYy6igfg1OFeBmL0YhIvgKrLsJaIsI4StFCzt
 garIBmCOqyKY2T3fYgjO4ix/BkA65TTmtBhQQc5qS8xQSITpZuZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlZT4vE2xbuKU5NTsY0idfic5Dndx4f5fs7Rh2NQw2ILnW1jlV
 e7a+KUzBnf0g1aYDUpMg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJ8DO+iL
 9sv+Znilo/vE7XBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XnRfTAKtao2zhojx/9
 DlCnaafZh80I7HRoeUMdyEGKhp5P45t6qCSdBBTseTLp6HHW37lwvEoB0AqJ4wIvO1wBAmi9
 9RBdmpLNErawbvrnvTrEYGAhex6RCXvFKoZtmtt0nfyCvE+TIqYa67L+cVZzHE7gcUm8fP2O
 ZBJMmc0MUqojxtnGw5NF7A/lcGU22jFUhMBpny8o/YZyj2GpOB2+Oe0a4eEEjCQfu1Fk0Ddq
 m/Y8mDRBhABKMfZ2TeD6mirhOLEgWX8Qo16PKK83u5nhhuU3GN7IB8cWEa/oPK5olWjQN8ZI
 EsRkhfCtoBrqhbtFIOkGUTl/jjU5XbwRua8DcUAxy6V17fI/j+YF0w8EAd6b94Fn90pEGlCO
 kCyo/vlAjlmsbuwQH2b96uJoT7aBRX5PVPudgdfE1JbvoCLTJUby0uWE409SPLdYsjdRGmoq
 w1muhTSkFn6YSQj86ygtW7KjDu3znQiZl5kv16HNo5JA+4QWWJEW2BKwQSKhRqjBNzAJrVkg
 JTis5LPhAzpJcrV/BFhuM1XQNmUCw+taVUwe2JHEZg77CiK8HW+Z41W6zwWDB43bp1dImK3P
 BOO6Vw5CHpv0J2CN/4fj2WZUJxC8EQdPY69CqC8giRmP/CdizNrDAkxPBXNjggBYWAnkL0lO
 IfzTCpfJS1yNEiT9xLvH711+eZynkgWnDqPLbimkUjP+efANRa9FOdUWHPTP7tRxP7V/23oH
 yN3apHiJ+N3CrOuO0E6MOc7cDg3EJTMLcmm8pMMLr/afFMO9aNII6a5/I7NsrdNxsx9vuzJ4
 mu8Sglfzl/+jmfAMgKEdjZob7aHYHq1hShnVcD1FVr3iXUlf6i166ITK8k+cbU9rbQxxv9oV
 fgVPc6HB60XGDjA/j0ca7j7rZBjK0v31V7fYXL9bWhtZYNkSizI5sTgIlnl+h4RA3flrsA5u
 bChiF/WGMJRWwR4Ac/KQ/uz1Fft72MFked/UhKQcNlecUnh6qZwLCn1gqNlKs0AM0yblDCby
 xyXEVETouyU+90599zAhKalqYa1ErQhQhoGTjeDtbvvbHvU5Guux4NEQd2kRzGFWTOm4rima
 MVU0+r4bK8NkmFVvtcuCL1s168/uYfi/ucI0gR+EXzXRF23Ebc8cGKe1MxCu6ARlL9UvQy6B
 hCG9tVAYOjbPcrkFBgaJRY/b/TF3vYRw2GA4fMwKUT8xSl24LvYDhkCY0jS0HRQfOlvLYco4
 eY9o8pHuQWwhy0jPsuCki0JpX+HKWYNUvl/u5wXaGMxZtHHFr2WjUTgNxLL
IronPort-HdrOrdr: A9a23:cPogaaAmH6XcOZTlHenH55DYdb4zR+YMi2TDtnoQdfU4SKGlfq
 OV/cjztyWatN95YhhJ8rq90cK7L080m6QY3bUs
X-IronPort-AV: E=Sophos;i="5.88,319,1635220800"; 
   d="scan'208";a="62835356"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KPfv3Ja/wBMP+hKf2Axcy49PqN17Z5upuzYVhu3/RGvxdgKvUga+dPOY9dDA/kmNiEMoUd+9vt2vWMtT+oSuZuZpJAn2iUJ53uh3IoCuJaWgdpkqli4iAAvgxJ5yTE864cdbIW77I9F3ohy1dlW0fRJizW7Bw1uYzBn1ms2qm3LC0NLfz2UjCrYE1nPwTQLvGa9EfQ9jxGb68Pn3+xPgxvO7IhoOREqjhwJgq+aVx2diDLFNVc1cmofHu+uyfqIKt+cuAx887B9egrcTgtdIp9BKntpOSJJy9qhV0XDYsrqLDpFx5cvJD2YVlDAd4cx4pvTxuaHSMhmtu5TgQLVe6A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TjbYf3qr0mB4cdZhoonTYB0XlIapDqxwV8LmDv+frN8=;
 b=RVMMhNLlrFqfDXkfpQ4T6wMg/JSb7vM3LfL/s4QmD813LkDsSlxnRV5zhIGdFSO7NRh/mfgLEdVPTG4udmBK2vHwNvazDzwrxZXGCnrLPyKf/BY6VbOoEoXkYLGRQOVNuwsoazbKadPgnDD0/dGLQHfwNOSYn2tay/lgW437w/p3aUAqOfhj+Di+zaXFOoI9/YNU1t1gptBnnZyrtDCCz4LGU/dBD4nIVXIDWCm7zJ2iLQSIBUgKAL8NEUYw1c7cPEKGz2XWv9aH2V8L0FpKn7IQUZ2jrp2/jzHuE7cqNQj53jMn9kXhsUHcPKXH0AwVTawvO0tE3Yghv7rI1s/QEw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TjbYf3qr0mB4cdZhoonTYB0XlIapDqxwV8LmDv+frN8=;
 b=TT9x6fTsqeiiZ5+2PWK1BqI/afr+V3XwWCFdy50xImwiF9D2QKWktST4QGcQUsIGtxHuByh0KQ1scaC3YsCjwnTMlA5p1rwjjQ6YMkBXpWQaacSH/VOMPUn/r+BRgE878VSUYmRA8qLl2AUHV/WNoRJKuCnqwIBAmVMK95QI5Zg=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Xen-devel
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 3/8] x86/svm: VMEntry/Exit logic for MSR_SPEC_CTRL
Thread-Topic: [PATCH 3/8] x86/svm: VMEntry/Exit logic for MSR_SPEC_CTRL
Thread-Index: AQHYEpEQO22I/y1Di0S4u/YrCMvx5qx1hJwAgAA5Y4A=
Date: Wed, 26 Jan 2022 20:16:13 +0000
Message-ID: <e987b428-d617-ec8f-16f1-7fd32005f9f3@citrix.com>
References: <20220126084452.28975-1-andrew.cooper3@citrix.com>
 <20220126084452.28975-4-andrew.cooper3@citrix.com>
 <f5c1134a-f446-7031-877e-6a3177120de9@suse.com>
In-Reply-To: <f5c1134a-f446-7031-877e-6a3177120de9@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 08fbcc62-09a7-48b9-640d-08d9e108b39f
x-ms-traffictypediagnostic: SA0PR03MB5386:EE_
x-microsoft-antispam-prvs: <SA0PR03MB53864B0BA5A3933C7E6959A6BA209@SA0PR03MB5386.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: QfTqqhvswLRTOpgCYbgfJKU5yeLUjA4wBSew3aiHBFyNMEhOTdKaNH8qalUGufCMzVVf+IjJSeDQnjORln9QUHDPIiF7FVVLBmjTmAXb+ySAWfvnFPO405O0IUMJxNtDTbZGqCgF3Jz01JKRIaGxE9P8zNZQtUbtimpKozvpdwPN5RIiAfl6CcU99Vv03VEZDnPICKBbFsoTWyqmslC98FkhfDMauOevf964cHViqIYMX6HgBRmTq9sXC5eTNSp9ArqbKwgauuKgtRS1PiDan+Uuh9CbV724Et7jzRRHsw1l/r1zZWQ/yf97Cn1g/w7znofTRWQu8NG1g+FmcI/Bdothj2CPaWlhcxZlcoZNxRC28Z6PvgY8rn+zaGmL2Uok/hzLz8PUbmK9FadAlIbMYVGGdGB2CwNOM1HuL74bp7kgiC68lggN4668evRpCsm+PobUj7tLwHhFwlPv7WLtb/5zE9/VMInTZnb7D+n9jnpxiw4ZeCeu1udjZWQ+7auZERmyA51C/WmsnKpPSN4p0y2MWotM0u6YObetCS3A9VTHTOHYRSZz2aHlPz1ehHedDI2w8goOvhA7khhJb8pOvDwesTWU0Nz8wfq4FXdwFaK+k115gaz/bo13zflsl3r+51uxqt3XmeMTbfhwq9x+0bKbqbyAcRcrLph8PHHY7FnTLzYyaKLqSwQNzzwuNW9rNx8Ayff5etleDVxUl/77W3wxer5LVATK8xF26Zc+RjIXNJT+aHqKSLwVqXPSVw14vxjKeXn36JqjI6jAoIkFkg==
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)(66446008)(6486002)(64756008)(38100700002)(66476007)(26005)(71200400001)(82960400001)(91956017)(66946007)(186003)(76116006)(66556008)(5660300002)(83380400001)(122000001)(54906003)(6916009)(4326008)(8676002)(31686004)(6512007)(31696002)(6506007)(316002)(2616005)(2906002)(508600001)(36756003)(38070700005)(53546011)(8936002)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MWFPNzZ6N2JNKzMzdTRKamNkNWhHRjJ5bmduaW9TdXR0dWlBbEtNQ3Q3Y0t3?=
 =?utf-8?B?RjRYOGdsSlpscjg4c0VqZUZudXl3K3NVamtYZzk2dU1wd0ZKRnduKzFBNllI?=
 =?utf-8?B?WW45akh6NkVwSmZaY2xVdW5tMy9HK2RGQnhoWkVoRGVRTVRlODhxdVFXWXNa?=
 =?utf-8?B?N2hJVzh3dUZUS1RpT3VKZGM2ellXMUZaSHRCVStlU3FON1RjQWJoN1U0OUo4?=
 =?utf-8?B?czFIUWJvTHR3dE1kYkRlL29oc1E3MGE4RmJReVh5ZGFPeTlxV2ZadldCSURS?=
 =?utf-8?B?Y09XT2pqaDBEZUhZNmpPdlo0cllsRytXWnoyazNTcHpURFc4THp6RVI0UUht?=
 =?utf-8?B?cDNLZ1VNOHZGQmJvdVJZRTQ3N0pOOGh6cUN6N2xkUG9oQ3FnK1ZzN041SkFZ?=
 =?utf-8?B?OUl4MHdlcFM5MXdWeUNnanloUFBHdm1SUTFPVHc4RE5rMkRrc2grampseE9N?=
 =?utf-8?B?eW9BZVI1NE43aytNT1FiVHE3cEpkcU1xRms5cTRnQm5SNWttTGZOSHZJMS9O?=
 =?utf-8?B?M3pZUlo4RzUxNitLRlpwZnRTcWt1RjZqanJpT1E5MjlreUR0eUdDZ0hRVENa?=
 =?utf-8?B?THZ3UE9WMFFjM1krS1JNWHFXN0dOVCtxcDdhUG5HeU9GZHVYQjhqVEUzTnEz?=
 =?utf-8?B?NjU0bjlTYzRjZVNaeXNIZGNZZDdnMks0WmVKZVh4WjdwR29ZMSt0elNsUmtj?=
 =?utf-8?B?dmJ6b1ZIeHdjWjFXUnRjbTQ4ZE9XK1hHMzN4aVBqcnA1ZEdLWi9Nd0RBYkJ2?=
 =?utf-8?B?Tm5DZ0YwTWJVcWM2STBsVDhPS3BJbjBLTjRZeWlaZ2hjTFo2dnpZWm0xT0ZB?=
 =?utf-8?B?Wk9DV1phdlZlU2dJZGVvbHhCaERPdlU1RTRPbzduczZwWXF3UW8rQnpkMzhD?=
 =?utf-8?B?NWtaa1piVmt4Q3Z5SVhPSWsxZFkweTdPb3ZCYnN4Njc0cFNuYzNwd3dnemt6?=
 =?utf-8?B?UFVKRFZPb3lTbzM0cmV5K2V5dmRCb01ibWxnTG5memw3cElCQjhnUEtvdnhj?=
 =?utf-8?B?ZHh3SkJmeWZWWk5DR1ZRelV2R2FqZEZsSUdPQXJuc2pUOFl3Z3N0L0pxdy8v?=
 =?utf-8?B?aHA4WG9lZWNNMGlmdTZZeTcwYWlSVFJZd2crMlFYb1RCNHFhV0RGR0tmNm8v?=
 =?utf-8?B?T1V0Z1NDQ0NibG04N05CNy9TbURhUDQzRVFIWTFRZVlNQ1A2ZWl5azZtMFc3?=
 =?utf-8?B?NHdMNENLRExsTWtQcHdZd3pMN1kxUGprRGxqR2d3WXJqM0NuUjc2Q0xaa0F0?=
 =?utf-8?B?ZVA2ODdNYlJZUW1XcmRzb28zOUFUVFRuS1RzeHRLQWRWZkRhTUl0dXpwTXlP?=
 =?utf-8?B?T01UNTdRT3pkb1RtdmtQVEJnUU5BaU5ObkYxZm1qQ2tPUDRwMjMvWHBZSy9k?=
 =?utf-8?B?RW00QzRxR2tibFhpYWkwR0E1NU5WUlVCM3JoTkNnelZCaEVMN0NjNDFPK3dr?=
 =?utf-8?B?dDVHTTFJUDl6c0tEbUkrSXFlbVZmVXA4MCs1aXZiTUJhczFlK2xhUU1mYXEr?=
 =?utf-8?B?WUZCMksrTG45SExWRkZxMEM5RFp1bzdEY0svbkthWnBxZVo2U29iQTRZWlp3?=
 =?utf-8?B?VHFPTmJiQlNpTzRKaGxzdGxNNzViUDhyVHFLVkJxMHhGOU44ZmxTZTRCTDBF?=
 =?utf-8?B?SDZhZFBpaEVFVWJVVEpCdlpwZE9nS2VhdVdsV2gzdnQ5aC9HRTJFUzY0cENN?=
 =?utf-8?B?TXF5TmcxelIxb01XK29sS1FkWDI4V2pZcmpmNjVwc2ZnTTZONmU4RHNSR3hs?=
 =?utf-8?B?ZVRaQ1Q0OEptNlFVazc0UE80WlVOYkZRVW1HOXQ4MW1ueGE3cTBlWGtaSUNP?=
 =?utf-8?B?UjdLcndHdnBUWHJsSjk1WTNvZWh0OXN2a3BnNis4Wjl6WFVmVmZVTVkwL0hy?=
 =?utf-8?B?aWcvSGNMUEZ5QXExcHZDWElLQVFIL09zK1hKRlZob2loZTV3TFl1eFVuNk5w?=
 =?utf-8?B?N1FHOFVja3Q1azBqQU5hL0tRS0p4clhwMEw0NzUwRUU5V3VPSzZUNHdvcUho?=
 =?utf-8?B?b2p3UFE3dTVENTRvUzBGSEpqcUhhZkJQbWc5anpSWFFGOUttMG15aTFiellr?=
 =?utf-8?B?NnZIdms5bnY3bktzTmlZUTk4MFhLWTVpWk1WZ2VhWmpteXNPOWpQY0Q2MitK?=
 =?utf-8?B?MzNTOE9LLzRna3hkOE8rYkFrUFhJWTFhbnNtNTdLQ0RPbTRna2JxS2dRaDBx?=
 =?utf-8?B?eHdyLytiVWxOL3JianliS3VBa3hCWWJQcW9VS1FLakwvWW16ejhlREkwSmlZ?=
 =?utf-8?B?TmNtZGpGMXprbjhxUlEyVGlCUTlRPT0=?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <6412A0432DD53949A1919228D2C11AD8@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 08fbcc62-09a7-48b9-640d-08d9e108b39f
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Jan 2022 20:16:13.7785
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: rbkQTBr1OKWXYu7dWBgY78kJDsG0oUqUTN6QBiCGypCrkW9NHOXHLvQcwVJDisRXHP06hZfTzWp88JKJ9yO+gFnvfWka61D9pKyX2Qdtcoc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR03MB5386
X-OriginatorOrg: citrix.com

T24gMjYvMDEvMjAyMiAxNjo1MCwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDI2LjAxLjIwMjIg
MDk6NDQsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+PiAxKSBJdCB3b3VsZCBiZSBzbGlnaHRseSBt
b3JlIGVmZmljaWVudCB0byBwYXNzIGN1cnIgYW5kIGNwdV9pbmZvIGludG8NCj4+ICAgIHZte2Vu
dHJ5LGV4aXR9X3NwZWNfY3RybCgpLCBidXQgc2V0dXAgb2Ygc3VjaCBzdGF0ZSBjYW4ndCBiZSBp
biB0aGUNCj4+ICAgIEFMVEVSTkFUSVZFIGJsb2NrIGJlY2F1c2UgdGhlbiB0aGUgY2FsbCBkaXNw
bGFjZW1lbnQgd29uJ3QgZ2V0IGZpeGVkIHVwLg0KPj4gICAgQWxsIHRoZSBhZGRpdGlvbmFsIGFj
Y2Vzc2VzIGFyZSBob3Qgb2ZmIHRoZSBzdGFjaywgc28gYWxtb3N0IGNlcnRhaW5seQ0KPj4gICAg
bmVnbGlnaWJsZSBjb21wYXJlZCB0byB0aGUgV1JNU1IuDQo+IFdoYXQncyB3cm9uZyB3aXRoIHVz
aW5nIHR3byBpbnN0YW5jZXMgb2YgQUxURVJOQVRJVkUsIG9uZSB0byBzZXR1cCB0aGUNCj4gY2Fs
bCBhcmd1bWVudHMgYW5kIHRoZSAybmQgZm9yIGp1c3QgdGhlIENBTEw/DQoNCkhtbQ0KDQpkaWZm
IC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9zdm0vZW50cnkuUyBiL3hlbi9hcmNoL3g4Ni9odm0v
c3ZtL2VudHJ5LlMNCmluZGV4IGM3MTgzMjhhYzRjZi4uMWQ0YmU3ZTk3YWUyIDEwMDY0NA0KLS0t
IGEveGVuL2FyY2gveDg2L2h2bS9zdm0vZW50cnkuUw0KKysrIGIveGVuL2FyY2gveDg2L2h2bS9z
dm0vZW50cnkuUw0KQEAgLTU5LDYgKzU5LDcgQEAgX19VTkxJS0VMWV9FTkQobnN2bV9oYXApDQrC
oA0KwqDCoMKgwqDCoMKgwqDCoCAvKiBXQVJOSU5HISBgcmV0YCwgYGNhbGwgKmAsIGBqbXAgKmAg
bm90IHNhZmUgYmV5b25kIHRoaXMgcG9pbnQuICovDQrCoMKgwqDCoMKgwqDCoMKgIC8qIFNQRUNf
Q1RSTF9FWElUX1RPX1NWTcKgwqDCoMKgwqDCoCBSZXE6wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoA0KQ2xvYjogQ8KgwqAgKi8NCivCoMKgwqDCoMKg
wqDCoCBBTFRFUk5BVElWRSAiIiwgX19zdHJpbmdpZnkobW92ICVyYngsICVyZGk7IG1vdiAlcnNw
LCAlcnNpKSwNClg4Nl9GRUFUVVJFX1NDX01TUl9IVk0NCsKgwqDCoMKgwqDCoMKgwqAgQUxURVJO
QVRJVkUgIiIsIF9fc3RyaW5naWZ5KGNhbGwgdm1lbnRyeV9zcGVjX2N0cmwpLA0KWDg2X0ZFQVRV
UkVfU0NfTVNSX0hWTQ0KwqANCsKgwqDCoMKgwqDCoMKgwqAgcG9wwqAgJXIxNQ0KDQppcyBzb21l
d2hhdCBvZiBhIGxvbmcgbGluZSwgYnV0IGlzbid0IHRvbyB0ZXJyaWJsZS4NCg0KSSdtIHRlbXB0
ZWQgdG8gc3dpdGNoIGJhY2sgdG8gdXNpbmcgU1RSKCkgc2VlaW5nIGFzIHdlIGhhdmUgYm90aCBh
bmQgaXQNCmlzIG11Y2ggbW9yZSBjb25jaXNlLg0KPj4gLS0tIGEveGVuL2FyY2gveDg2L2h2bS9z
dm0vZW50cnkuUw0KPj4gKysrIGIveGVuL2FyY2gveDg2L2h2bS9zdm0vZW50cnkuUw0KPj4gQEAg
LTU1LDExICs1NSwxMSBAQCBfX1VOTElLRUxZX0VORChuc3ZtX2hhcCkNCj4+ICAgICAgICAgIG1v
diAgJXJzcCwgJXJkaQ0KPj4gICAgICAgICAgY2FsbCBzdm1fdm1lbnRlcl9oZWxwZXINCj4+ICAN
Cj4+IC0gICAgICAgIG1vdiBWQ1BVX2FyY2hfbXNycyglcmJ4KSwgJXJheA0KPj4gLSAgICAgICAg
bW92IFZDUFVNU1Jfc3BlY19jdHJsX3JhdyglcmF4KSwgJWVheA0KPj4gKyAgICAgICAgY2xnaQ0K
Pj4gIA0KPj4gICAgICAgICAgLyogV0FSTklORyEgYHJldGAsIGBjYWxsICpgLCBgam1wICpgIG5v
dCBzYWZlIGJleW9uZCB0aGlzIHBvaW50LiAqLw0KPj4gLSAgICAgICAgLyogU1BFQ19DVFJMX0VY
SVRfVE9fU1ZNICAgKG5vdGhpbmcgY3VycmVudGx5KSAqLw0KPj4gKyAgICAgICAgLyogU1BFQ19D
VFJMX0VYSVRfVE9fU1ZNICAgICAgIFJlcTogICAgICAgICAgICAgICAgICAgICAgICAgICBDbG9i
OiBDICAgKi8NCj4+ICsgICAgICAgIEFMVEVSTkFUSVZFICIiLCBfX3N0cmluZ2lmeShjYWxsIHZt
ZW50cnlfc3BlY19jdHJsKSwgWDg2X0ZFQVRVUkVfU0NfTVNSX0hWTQ0KPiBJIGd1ZXNzIHRoZSBu
ZXcgdXBwZXIgY2FzZSBDIGFmdGVyIENsb2I6IHN0YW5kcyBmb3IgImFsbCBjYWxsLWNsb2JiZXJl
ZA0KPiByZWdpc3RlcnMiPw0KDQpUaGF0IHdhcyB0aGUgaW50ZW50aW9uLCB5ZXMuDQoNCj4gIElu
IHdoaWNoIGNhc2UgLi4uDQo+DQo+PiBAQCAtODYsOCArODUsOSBAQCBfX1VOTElLRUxZX0VORChu
c3ZtX2hhcCkNCj4+ICANCj4+ICAgICAgICAgIEdFVF9DVVJSRU5UKGJ4KQ0KPj4gIA0KPj4gLSAg
ICAgICAgLyogU1BFQ19DVFJMX0VOVFJZX0ZST01fU1ZNICAgIFJlcTogYj1jdXJyICVyc3A9cmVn
cy9jcHVpbmZvLCBDbG9iOiBhYyAgKi8NCj4+ICsgICAgICAgIC8qIFNQRUNfQ1RSTF9FTlRSWV9G
Uk9NX1NWTSAgICBSZXE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xvYjogYWMsQyAqLw0K
Pj4gICAgICAgICAgQUxURVJOQVRJVkUgIiIsIERPX09WRVJXUklURV9SU0IsIFg4Nl9GRUFUVVJF
X1NDX1JTQl9IVk0NCj4+ICsgICAgICAgIEFMVEVSTkFUSVZFICIiLCBfX3N0cmluZ2lmeShjYWxs
IHZtZXhpdF9zcGVjX2N0cmwpLCBYODZfRkVBVFVSRV9TQ19NU1JfSFZNDQo+IC4uLiB3aHkgdGhl
IGV4cGxpY2l0IGZ1cnRoZXIgImFjIiBoZXJlPyBJcyB0aGUgaW50ZW50aW9uIHRvIGFubm90YXRl
DQo+IGV2ZXJ5IGluZGl2aWR1YWwgQUxURVJOQVRJVkUgdGhpcyB3YXk/DQoNCkZhaXIgcG9pbnQu
wqAgSSdsbCBzd2l0Y2ggdG8ganVzdCBDLg0KDQpUaGUgY2xvYmJlcnMgYXJlIHJhdGhlciBtb3Jl
IGltcG9ydGFudCBmb3IgdGhlIFBWIHNpZGUgd2hlcmUgdGhlIGxvZ2ljDQpoYXMgbXVsdGlwbGUg
bGl2ZSB2YXJpYWJsZXMgYW5kIGl0J3Mgbm90IHRvdGFsbHkgb2J2aW91cyB0aGF0IGFsbCBHUFJz
DQphcmUgYXZhaWxhYmxlLg0KDQo+DQo+PiAtLS0gYS94ZW4vYXJjaC94ODYvaHZtL3N2bS9zdm0u
Yw0KPj4gKysrIGIveGVuL2FyY2gveDg2L2h2bS9zdm0vc3ZtLmMNCj4+IEBAIC0zMDg2LDYgKzMw
ODYsMzYgQEAgdm9pZCBzdm1fdm1leGl0X2hhbmRsZXIoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJl
Z3MpDQo+PiAgICAgIHZtY2Jfc2V0X3ZpbnRyKHZtY2IsIGludHIpOw0KPj4gIH0NCj4+ICANCj4+
ICsvKiBDYWxsZWQgd2l0aCBHSUY9MC4gKi8NCj4+ICt2b2lkIHZtZXhpdF9zcGVjX2N0cmwodm9p
ZCkNCj4+ICt7DQo+PiArICAgIHN0cnVjdCBjcHVfaW5mbyAqaW5mbyA9IGdldF9jcHVfaW5mbygp
Ow0KPj4gKyAgICB1bnNpZ25lZCBpbnQgdmFsID0gaW5mby0+eGVuX3NwZWNfY3RybDsNCj4+ICsN
Cj4+ICsgICAgLyoNCj4+ICsgICAgICogV3JpdGUgdG8gTVNSX1NQRUNfQ1RSTCB1bmNvbmRpdGlv
bmFsbHksIGZvciB0aGUgUkFTWzozMl0gZmx1c2hpbmcgc2lkZQ0KPj4gKyAgICAgKiBlZmZlY3Qu
DQo+PiArICAgICAqLw0KPj4gKyAgICB3cm1zcihNU1JfU1BFQ19DVFJMLCB2YWwsIDApOw0KPj4g
KyAgICBpbmZvLT5sYXN0X3NwZWNfY3RybCA9IHZhbDsNCj4+ICt9DQo+PiArDQo+PiArLyogQ2Fs
bGVkIHdpdGggR0lGPTAuICovDQo+PiArdm9pZCB2bWVudHJ5X3NwZWNfY3RybCh2b2lkKQ0KPj4g
K3sNCj4+ICsgICAgc3RydWN0IGNwdV9pbmZvICppbmZvID0gZ2V0X2NwdV9pbmZvKCk7DQo+PiAr
ICAgIGNvbnN0IHN0cnVjdCB2Y3B1ICpjdXJyID0gY3VycmVudDsNCj4+ICsgICAgdW5zaWduZWQg
aW50IHZhbCA9IGN1cnItPmFyY2gubXNycy0+c3BlY19jdHJsLnJhdzsNCj4+ICsNCj4+ICsgICAg
aWYgKCB2YWwgIT0gaW5mby0+bGFzdF9zcGVjX2N0cmwgKQ0KPj4gKyAgICB7DQo+PiArICAgICAg
ICB3cm1zcihNU1JfU1BFQ19DVFJMLCB2YWwsIDApOw0KPj4gKyAgICAgICAgaW5mby0+bGFzdF9z
cGVjX2N0cmwgPSB2YWw7DQo+PiArICAgIH0NCj4gSXMgdGhpcyBjb3JyZWN0IGZvciB0aGUgdmVy
eSBmaXJzdCB1c2Ugb24gYSBDUFU/IGxhc3Rfc3BlY19jdHJsDQo+IHN0YXJ0cyBvdXQgYXMgemVy
byBhZmFpY3QsIGFuZCBoZW5jZSB0aGlzIHZlcnkgZmlyc3Qgd3JpdGUgd291bGQgYmUNCj4gc2tp
cHBlZCBpZiB0aGUgZ3Vlc3QgdmFsdWUgaXMgYWxzbyB6ZXJvICh3aGljaCBpdCB3aWxsIGJlIGZv
ciBhDQo+IHZDUFUgZmlyc3QgbGF1bmNoZWQpLCBldmVuIGlmIHdlIGhhdmUgYSBub24temVybyB2
YWx1ZSBpbiB0aGUgTVNSDQo+IGF0IHRoYXQgcG9pbnQuDQoNCklzaC4NCg0KV2UgaW50ZW50aW9u
YWxseSB3cml0ZSBNU1JfU1BFQ19DVFJMIG9uY2Ugb24gZWFjaCBDUFUgdG8gY2xlYXIgb3V0IGFu
eQ0KcHJldmlvdXMtZW52aXJvbm1lbnQgc2V0dGluZ3MsIGJ1dCB0aG9zZSBib290IHBhdGhzIG5l
ZWQgdG8gbGF0Y2gNCmxhc3Rfc3BlY19jdHJsIHRvbyBmb3IgdGhpcyB0byB3b3JrIGNvcnJlY3Rs
eS4NCg0KTWFraW5nIHRoaXMgc2FmZSBpcyBzbGlnaHRseSBuYXN0eS7CoCBJIHRoaW5rIHRoZSBi
ZXN0IG9wdGlvbiB3b3VsZCBiZSB0bw0KcmVvcmRlciB0aGlzIHBhdGNoIHRvIGJlIGFmdGVyIHRo
ZSBwYXRjaCA2LCBhbmQgdHdlYWsgdGhlIHdvcmRpbmcgaW4NCnBhdGNoIDYncyBjb21taXQgbWVz
c2FnZS7CoCBUaGF0IHdheSwgd2UncmUgbm90IGFkZGluZyBsYXRjaGluZyB0bw0KbGF0ZXItZHJv
cHBlZCBjb2RlcGF0aHMuDQoNCn5BbmRyZXcNCg==


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 21:29:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 21:29:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261110.451749 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCprB-0005YK-LW; Wed, 26 Jan 2022 21:29:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261110.451749; Wed, 26 Jan 2022 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 1nCprB-0005YD-II; Wed, 26 Jan 2022 21:29:33 +0000
Received: by outflank-mailman (input) for mailman id 261110;
 Wed, 26 Jan 2022 21:29: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 1nCpr9-0005Y3-Tv; Wed, 26 Jan 2022 21:29: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 1nCpr9-0003oq-OI; Wed, 26 Jan 2022 21:29: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 1nCpr9-00024X-EW; Wed, 26 Jan 2022 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 1nCpr9-0006Ab-E5; Wed, 26 Jan 2022 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=8MCvUaAFmFr/WyseczL6Ij0Vad4xVf+gwCdqAx/u0no=; b=ZHNdfjkXQ1EspBN5svAkdUH6TM
	pdiAsl8I0lWGBwv188c9GQAufkqtFWxJ1RKEhaBjfzPZXLDT9rp5o0R/VUgX6o/JTU5koqrNqGUCZ
	IZm88sLiQLYFOoQJOEMCaXFytf0NEVI7JZ/ku40NVGZC9Ur6WmWk07UHIGukzZa+oIV8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167861-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167861: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-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-qcow2: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-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-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-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl: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
X-Osstest-Versions-This:
    linux=0280e3c58f92b2fe0e8fbbdf8d386449168de4a8
X-Osstest-Versions-That:
    linux=49d766f3a0e49624c4cf83909d56c68164e7c545
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 26 Jan 2022 21:29:31 +0000

flight 167861 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167861/

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 167820
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167820
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167820
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167820
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167820
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167820
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167820
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167820
 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-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-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                0280e3c58f92b2fe0e8fbbdf8d386449168de4a8
baseline version:
 linux                49d766f3a0e49624c4cf83909d56c68164e7c545

Last test of basis   167820  2022-01-25 16:39:44 Z    1 days
Testing same since   167861  2022-01-26 10:33:40 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anna Schumaker <Anna.Schumaker@Netapp.com>
  Chuck Lever <chuck.lever@oracle.com>
  Dave Airlie <airlied@redhat.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Gustavo A. R. Silva <gustavoars@kernel.org>
  Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  NeilBrown <neilb@suse.de>
  Olga Kornievskaia <kolga@netapp.com>
  Pierguido Lambri <plambri@redhat.com>
  Trond Myklebust <trond.myklebust@hammerspace.com>
  Trond Myklebust <trond.myklebust@primarydata.com>
  Tvrtko Ursulin <tvrtko.ursulin@intel.com>
  Xiaoke Wang <xkernel.wang@foxmail.com>
  Xin Tan <tanxin.ctf@gmail.com>
  Xin Xiong <xiongx18@fudan.edu.cn>
  Xiyu Yang <xiyuyang19@fudan.edu.cn>
  Xu Wang <vulab@iscas.ac.cn>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   49d766f3a0e4..0280e3c58f92  0280e3c58f92b2fe0e8fbbdf8d386449168de4a8 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 23:01:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 23:01:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261119.451766 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCrI4-0006am-I3; Wed, 26 Jan 2022 23:01:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261119.451766; Wed, 26 Jan 2022 23:01:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCrI4-0006af-EO; Wed, 26 Jan 2022 23:01:24 +0000
Received: by outflank-mailman (input) for mailman id 261119;
 Wed, 26 Jan 2022 23:01:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DU/T=SK=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nCrI3-0006aZ-5V
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 23:01:23 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id deaef45d-7efb-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 00:01:20 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: deaef45d-7efb-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643238080;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=vyIrf5WQuqLKHDNniuuW9zi6d0mYsluPDskZtluFvS4=;
  b=asZUXhGpeQJ/I/r6ljA20nnGW9xemmCrNbwdKzbTptYaH6uXEq9f7is2
   udJ+vxCRiLxiIrYHoIMkAsWy2dFW2yd9CFYgGc5XFV0Dtx8AbQQjT7QFj
   iAPqKgQlAzJTFUdt/Dpk/iZAOw3MgEbKu7NvqiPVCmm02TsxSY3agT6I5
   A=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: pASMY2BuTmYKOf+g06nuIod8aJtMytsJbHKPIsPF4hUuETAPBMa0QykhK4OKcBvsPnG7aCQqsw
 xUaaZQBiy9JPveaAb+iqBagMft0FXTPPzBkAy6RnjFuR3bqVsoud3YLoI2+kuHkbxOMNyGQ9Bc
 3hAv6TBSa0CYxgifndEDV6CMzOwqC1W/ENtUPLoZAs05TR1eVwZqtivat+X295/w06d2Kc7VwK
 T6KCkroxldovm4weUNLI2NHE2ce5D3MAQ6zxO5FmlFEeX3qv+7MVq6iVzX494bMY2NmlZHdinp
 w9tXy/960pf0zCwe/H5FmZdD
X-SBRS: 5.2
X-MesageID: 62312889
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:k2OyWKqVdNNNbs/iiCgiTVGItR9eBmL1YhIvgKrLsJaIsI4StFCzt
 garIBmGPanfZDD0L40jb4ngphxSupPcx9ZiQAM+rH1gEi4VpZuZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlZT4vE2xbuKU5NTsY0idfic5Dndx4f5fs7Rh2NQw2ILnW1jlV
 e7a+KUzBnf0g1aYDUpMg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJ8DO+iL
 9sv+Znilo/vE7XBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XnRfTAKtao2zhojx/9
 DlCnd+gWEQVAqLlo8VHSyJIN3xjYKtg0qCSdBBTseTLp6HHW37lwvEoB0AqJ4wIvO1wBAmi9
 9RBdmpLNErawbvrnvTrEYGAhex6RCXvFKoZtmtt0nfyCvE+TIqYa67L+cVZzHE7gcUm8fP2O
 ZBCMGA/PEWojxtnZXY4Kphmp9uTrEbfcxFIpwjSq7dw2j2GpOB2+Oe0a4eEEjCQfu1Kmm6Iq
 2SA+H72ajkKOdraxTeb/3aEgu7UgTi9SI8UDKe/9PNhnBuU3GN7IB8cWEa/oPK5olWjQN8ZI
 EsRkhfCtoBrqhbtFIOkGUTl/jjU5XbwRua8DcV5+BDO9pbbyj24XHA/XhocdYEgkuUpEGlCO
 kCyo/vlAjlmsbuwQH2b96uJoT7aBRX5PVPudgdfE1JbvoCLTJUby0uWE409SPLdYsjdRGmoq
 w1muhTSkFn6YSQj86ygtW7KjDu3znQiZl5kv16HNo5JA+4QWWJEW2BKwQSKhRqjBNzAJrVkg
 JTis5LPhAzpJcrV/BFhuM1XQNmUCw+taVUwe2JHEZg77CiK8HW+Z41W6zwWDB43bp1dImK3P
 BOO6Vw5CHpv0J2CN/4fj2WZUJxC8EQdPY69CqC8giRmP/CdizNrDAkxPBXNjggBYWAnkL0lO
 IfzTCpfJS1yNEiT9xLvH711+eZynkgWnDqPLbimkUjP+efANRa9FOdUWHPTP7tRxP7V/23oH
 yN3apHiJ+N3CrOuO0E6MOc7cDg3EJTMLcmm8pMMLr/afFMO9aNII6a5/I7NsrdNxsx9vuzJ4
 mu8Sglfzl/+jmfAMgKEdjZob7aHYHq1hSxT0fUEMQn61n49T5yo6atDJZI7caN+rL5ozOJuT
 ulDcMKFW6wdRjPC8jUbTJ/8sI09K0j72VPQZ3KoMGolYpptZw3V4du4LAHhwzYDU3isvswkr
 rz+ig6CGcgfRx5vBdr9Ye60yw/jpmAUne9/BhOaItRadEj23pJtLij90q0+L80WcE2RzTqGz
 QeGRxwfoLCV8YMy9dDIg4GCrpuoTLQiThYLQTGD4O/vZyfA/2elzYtRa8qyfGjQBDHu5aGvR
 eRJ1PWgYvcJq0lH7thnGLFxwKNgu9a2/+1Gzh5pFWngZkiwDu8yOWGP2MRCu/EfxrJdvgfqC
 EuD9sMDZOeMMcLhVlUQOBAkfqKI0vRNwmve6vE8IUPb4i5r/eXYDRUObkfU0CENfqFoNI4Fw
 Ps6vJ9E4gOyvRMmL9Kag30G7G+LNHEBD/0qu5xy7FUHUeb3JoWuuaDhNxI=
IronPort-HdrOrdr: A9a23:Ivp8BamhRCZM8X4zJsqhJAdZl/HpDfOIimdD5ihNYBxZY6Wkfp
 +V88jzhCWZtN9OYhwdcIi7SdS9qXO1z+8R3WGIVY3SEjUOy1HYUL2KirGSggEIeheOudK1sJ
 0PT0EQMqyIMbEXt7eY3OD8Kadb/DDlytHpuQ699QYUcegCUcgJhG0ZajpzUHcGPzWubaBJTq
 Z0jfA3wwZIDE5nCPhTcUN1ONQryee79q7OUFojPVoK+QOOhTSn5PrRCB6DxCoTVDtJ3PML7X
 XFuxaR3NThj9iLjjvnk0PD5ZVfn9XsjvFZAtaXt8QTIjLwzi61eYVaXaGYtjxdmpDs1L9qqq
 iIn/4TBbU115rjRBDynfIr4Xi47N8a0Q6n9bZfuwq6nSW2fkNgNyMLv/MnTvKQ0TtfgDg76t
 MX44vRjesmMfuL9h6NluTgRlVkkFG5rmEllvNWh3tDUZEGYLsUtoAH+lhJea1wVh4SxbpXWN
 WGNvusr8q+sGnqG0zxry1q2pihT34zFhCJTgwLvdGUySFfmDR8w1EDzMISk38c/NZlIqM0q9
 jsI+BtjvVDX8UWZaVyCKMIRta2EHXERVbJPHiJKVrqGakbMzbGqoLx4r8y+Oa2EaZ4gacaid
 DEShdVpGQyc0XhBYmH24BK6AnERCGnUTHk2qhlltFEU33HNczW2AG4OSITevqb0oIi65fgKo
 WO0bptcoreEVc=
X-IronPort-AV: E=Sophos;i="5.88,319,1635220800"; 
   d="scan'208";a="62312889"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YMqjsyICpmme3qIZlMwpd3HKlLjaVREBslIC21Fr4j71kPxrjmN+a3F/IAn8RCYifMX/mBzyivv7DBesSiq8eMClns4HGg+F3CBj4ZUhvLjVBtcd/X6sDhNLzHZN5zC0m84hyFoQJsB1dCwtbjh+pwWm7gYAJ4bM2INRkcRHIvGXTv4lG0/NZ+m/8Q4klO1QVBuxE0L85apd8Fg+Gi8tHxGhL+5H/U8ZgbTKiuVMaPvMh37EAJtwJrmSB4a9hOZUO3bdOZr3C09DP8tScwDMmW2BXvyD1SgjprAclgkGTG1Hu76V92SvteTO+udpKdTQP2BWpC8cPs7gmeD8fe/x1A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vyIrf5WQuqLKHDNniuuW9zi6d0mYsluPDskZtluFvS4=;
 b=N9ctVI68rExuh9P9D1K3+KHOgHrtwf9WXjlVuPPM3Zepw9aYRDX8/dyYUiiPxUvC86eTOts0UCFLLX2VnTqOjpz6j9vlhi/fLG55eWupiGUlGcGkbJTFPGKCISCi/hm+mv92Bii9u4bjDmInpXRLrspODi5Fb8c+gdWmp6oxlZDoju/81uMx+V42LY4HuiiiY4QOjg9/Lhp+7Ad3k5cFuMdATVsq0JZT1yJgJb2AV9tP66igPozF7MwWOACErR1Kxw/u2hmLgE5R/C2a+yAobce+AiEiyxBcK1LlxbTI+j4gngW+xL9QDSpN5adRvTm/GYyhD848gbg82xSzeQ+hbQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vyIrf5WQuqLKHDNniuuW9zi6d0mYsluPDskZtluFvS4=;
 b=c2ONZW7hNiL9n9Uqmwb2STjzenD8ny/sk6/FNF+X9h7zi2o4iuDQuttARCb3cNmTQB/+xORwCV9vklWkKWL1LF/qmveNABbl7XTt9z28YlPZPLDcPlLB++PIym6hqp25UbzTnr9QKhkjQH/enY+LmxuiM+p37Jb8T6cb4UUj3kA=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [PATCH v2 1/2] x86/Intel: Sapphire Rapids Xeons also support PPIN
Thread-Topic: [PATCH v2 1/2] x86/Intel: Sapphire Rapids Xeons also support
 PPIN
Thread-Index: AQHYDghfa/pC6q0h6U+J6bRuWTmtTax19SeA
Date: Wed, 26 Jan 2022 23:01:11 +0000
Message-ID: <e9aae44b-1fd1-2952-daa1-fa36e89eeef6@citrix.com>
References: <64a5a3ac-8f4c-b13d-0b7d-4c4ec15e2721@suse.com>
 <0a8981c6-b3fe-c805-f45b-b6da5d0aa1af@suse.com>
In-Reply-To: <0a8981c6-b3fe-c805-f45b-b6da5d0aa1af@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: d5b75445-0286-4742-f5f8-08d9e11fbf18
x-ms-traffictypediagnostic: DM6PR03MB4651:EE_
x-microsoft-antispam-prvs: <DM6PR03MB46510356635E103E1A4A1395BA209@DM6PR03MB4651.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: S1dGs+ra4wzmGnkdV/WfusfBJh7JiUkEqLZtIHZ2e0pMNt3R/qy3jBV/O1HibTlS8F70q41A3maBhJJNYZD8Y0RjpNZVjlwXXLLamoIbAPWEZ9Dkth+2swRPaNUKRbbnMeACJ7Ew4zVCRnf9rW4anyKX9ilZnAYig+rkCcZXXxy82mjCGJSiJ3X6nPWNFaNJj509P9S18HbCHZ0p2FycgarvvDqoGSRUkCQfv3/jkLs/Wfv/7pg8diNAxdSET3HDMyikBWz0JWWqznaWmhN95x4MxQAJT/69gk72vC2ObBU6Lf8f8Fm7F6p3goq/z8ufr+nLCb2Cy32+JHOW7N0B/swTbxrmdshuUpqAz+V8N6EzH+p6AJ+yN0q3dbwN6+cY9Pi7+IgC02RfsY040H3Q1dMzyfOuM/eERBqqlbdkjEsx6Gh2H7I8FSwT4/mQ6C10F6n+LiP+mCLx9bUY4BXjPju3rTQ7xyG/Lox6ZOY7Gwo4jmA0bCW7EgcH1rLAp1/8nHph1kUSExYy23UyIQ423ENWVnzNAyFAOUlw9IoFWXlxHefNmZLX3YEZoJzrfQKyd92RfludY2AjZUcS+E4QXH9qCy+60mHZQimPuLF3J5BXXP+P2FKrDByFgWVsDAp5+ou4D5K6P7exFImtpMoDxY2WZPlmpt/hOFv0BsvKO4JVjlNrtzRKSmbGWcs6sZ0tpkkBkxdHUeQQOYQ5q1ZQIajQ+a2rZDurDS7Txj8fzinsiRkSCo1edhPJiNu/rji9S80OLjqTdtaJ3FNG2Jm7IyBL7CVHrqCiI9fA1LClKLMMmtsL4yzqWCTFsGmaVtyjZvTFpvya9EOcMFxCHyJzU9FgeIHCtoEYwqvvF2u3Zhc=
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)(2906002)(82960400001)(71200400001)(66446008)(66556008)(6486002)(83380400001)(66946007)(38070700005)(66476007)(53546011)(64756008)(6506007)(91956017)(122000001)(6512007)(31696002)(5660300002)(107886003)(38100700002)(316002)(36756003)(508600001)(4326008)(26005)(186003)(86362001)(8936002)(8676002)(31686004)(2616005)(76116006)(966005)(54906003)(110136005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SlFjS2dVRm1nd2I0ZlNBcmxMbnNEZjQzUG1MWHRCQ2VoVXlqanNkOVFRMlBD?=
 =?utf-8?B?d2xXcWVMc2ZFR0RqVitrdGdwOTJ6bnNEbU1JcmVvSGFPcFBCS2thSzNDME02?=
 =?utf-8?B?M0hXbitrbUpNd0VHTG53OWlWSy9aYXk0OU1mT0YxTVgrQ2hjZDR1RlBsbFJG?=
 =?utf-8?B?L1A1MVJyVklhaUZ2eWtCVHI3WDNJTmN0b2dEZnI4VGsweUFidklOdHpicEJI?=
 =?utf-8?B?cHI4Y1pqdW4xZXNrcU56M0xVOEZLUldIMVBKOWhnTDBuTERQWno5RG50V1Zv?=
 =?utf-8?B?VFhvUkNlWjFJZDUwbTA0eisvL3FnbStYRkJjR1hoL0d0MWZYZnBKTVRkbmE1?=
 =?utf-8?B?ZjhNcXJyNy85TDUxa3p3bGoycEpqdjIyQTZBc3F6UEJOUkw1Z0ZJd3p4NXZS?=
 =?utf-8?B?eW9malB3KzMxbXdDMC9xTDZDMk5VR0xTUE1rY1dsK1hYbEFnQ0JPQllET1cx?=
 =?utf-8?B?ejdPeVQvbWZPMVVlalQ2eGVUS1Rad2prU2VDTERhVFg4OE1JMzMxL2NjMEhv?=
 =?utf-8?B?Mmd1SWFMekZocXE3R0c5M0JPcXlzRFRoa0dGUm03dTc5VDMydyszNEZXUVI3?=
 =?utf-8?B?QXlsM2I2UEprQnhXR1gyZXo4c3ZTbTZFZ0NuUE1xR1k2Tnk0N1Rwck9FaUhm?=
 =?utf-8?B?dFpUKzRoUEFCVnJVaysrUFRiczBoT1E5RzM0ZEhpVitTSlFIZ0ZaT0lkVGdM?=
 =?utf-8?B?dzlPVEtGdTdZQmRGdnZDeTBYaUpYNEZ2alNnN2VCSGJsVEw0Z0JtRHYrbGV6?=
 =?utf-8?B?RU9JTHlKU2dnekd2UjVXREVPb1ZDN3ZNa3BmcSttQ0gvcXBaVEwwbEtaMFU0?=
 =?utf-8?B?RnhRWmFvTWp6UnFGUHdiU1BEQmxVMVJnYjVEdjRUNFdJZFIxU2Y0bnp0Sng5?=
 =?utf-8?B?aHVnSHcvMmF2NnZaK3F1aGw0djhsdyt0TE5KRzEyZ2l4RXlkU3JGVW1VTnNS?=
 =?utf-8?B?eHdHOHlQcXNGRHc4UXFTZ29xanBNMkJGTW1ZT2NKSHd4SHM4NEFEMW1DcXNM?=
 =?utf-8?B?SW1QeXo1MDNHUGRaUk9ydElSNFBXNDNyVE01UFZpVGN3WkNheXE3UFlBSk0r?=
 =?utf-8?B?dDNDclh6VmhYNFIxRGhvbEdBL1NYQ3JBY0l1WFUwUzMvMmNvUDNMblI4a1F2?=
 =?utf-8?B?NUQ0d0lGb1YvQnpIMWNXeUJoYThpaHB5bkpVZ3h3Qmg1WmxjVXZ2elQycUFj?=
 =?utf-8?B?NGN3RVFhYU1CLytMbHYrd1d6QlY3Rmp4dGIyVUFHcFlyaWtYNGpkcGk5MDh4?=
 =?utf-8?B?TzZvU0o3cXNqS1oyVjAzb0lWaXhhU2RIeGxtUTJoUDh6cndHUDcxS3BscEl5?=
 =?utf-8?B?SHNpR01FQytBQ0JIcmUvNEtaNWx0dXViQXRzVVd5UGdaMWZRRUE1UGhOUUEw?=
 =?utf-8?B?MlAzbWNIOXRjUUlGR29nZU9YQ3VTaTR4b25JQ2lUSzdpaC9xUXhwTFBCSkdF?=
 =?utf-8?B?TW15MTJxd3puSzNwWFBXaVNndEFrOXNTS3F3RjlWbkplQU9KOTFjU2VkTnJp?=
 =?utf-8?B?L2FUT1hUaUcwTHNZaTZBZ2JtMXNhMzFHRmluV2laTVhmRE1xU28yYTZZbzN1?=
 =?utf-8?B?TGRHbUl6SVhTbnZ2ZVJ2WlVNVTVCd0ViMExndkxFcm56bnpiT1ZQS3JGYXBJ?=
 =?utf-8?B?UXJiYTh0VHl0N0YwS2RhSUxEN2daZ3B5a0p1OXVyQlk1MFp1ZXlRV3NmYTdP?=
 =?utf-8?B?WW9tOXJyUzRFOFdpU0ljWW5wQkd3eEgxL29nSjk1a1Y5Snd1NjhVK1liV0VU?=
 =?utf-8?B?VGlwMk1ZWXhvV1M2dmpKSjE5Q2owSmFWdkh2YmFpQ3dOSVdoMHY0TUtUZkRT?=
 =?utf-8?B?eVU3bWpQOGlDYmF2c0YxaElDcXEwYjJHY2c0TUJNdVhvbHpnUEh1QVhuMEF5?=
 =?utf-8?B?RUQ4ZlRqN2lEaVBwdW9MbWR4ZFAwTlpMV2ozcEVWc0x1Q3dRTDJDdWV3S1o0?=
 =?utf-8?B?RUlhbUxHUTh2WHc3UVpwNktkRHZuZG91WjRPNS9NOGo5dGZha3l4SjFQUldR?=
 =?utf-8?B?ZExpcGV1dEtpTVRoLzZLT3dIOUhtMFc3b0IxOXlhd3h0eTU1ejJaYmZSRTJR?=
 =?utf-8?B?NXV3QUUzWWFtTUp3ZzljUUdVZmk4WW5FcDBZUXk5TjFITzQ2c015N2dTMGpG?=
 =?utf-8?B?cEJWeVJ6MjljTFBKSUxZZWMzTXRLT1BGaE03THdqa1d6b2xHSk9PazhxR1pW?=
 =?utf-8?B?ZUZYMU9aZXEwM21HUlJGY2k0d0tHWnhlYXFRUUxwanBub2M0Y015V2tpZjNk?=
 =?utf-8?B?blR5a2VjMnR3YnMrN0dURWk4a1BRPT0=?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <458001976AC18D4DACA9CD02CD409064@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d5b75445-0286-4742-f5f8-08d9e11fbf18
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Jan 2022 23:01:11.4861
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: cWjjgTjAVqjf2GKwGwwlupoLVrHPSELK46yTu5ucycfKdvTChuFv7X5TVoqZsfoRT9zxGuOkz62T8cUgR/ig3wVQjOA3iKOCpYm1jYhI+oI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4651
X-OriginatorOrg: citrix.com

T24gMjAvMDEvMjAyMiAxNDoxNiwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IFRoaXMgaXMgYXMgcGVy
IExpbnV4IGNvbW1pdCBhMzMxZjVmZGQzNmQgKCJ4ODYvbWNlOiBBZGQgWGVvbiBTYXBwaGlyZQ0K
PiBSYXBpZHMgdG8gbGlzdCBvZiBDUFVzIHRoYXQgc3VwcG9ydCBQUElOIikganVzdCBpbiBjYXNl
IGEgc3Vic2VxdWVudA0KPiBjaGFuZ2UgbWFraW5nIHVzZSBvZiB0aGUgcmVzcGVjdGl2ZSBuZXcg
Q1BVSUQgYml0IGRvZXNuJ3QgY292ZXIgdGhpcw0KPiBtb2RlbC4NCj4NCj4gU2lnbmVkLW9mZi1i
eTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KDQpTYWRseSwNCmh0dHBzOi8vZ2l0
Lmtlcm5lbC5vcmcvcHViL3NjbS9saW51eC9rZXJuZWwvZ2l0L3RpcC90aXAuZ2l0L2NvbW1pdC8/
aD14ODYvdXJnZW50JmlkPWU0NjQxMjFmMmQ0MGVhYmM3ZDExODIzZmIyNmRiODA3Y2U5NDVkZjQN
Cg0KDQpJY2VMYWtlLUQgdG9vLg0KDQpQcmVmZXJhYmx5IHdpdGggdGhpcyBmaXhlZCwgQWNrZWQt
Ynk6IEFuZHJldyBDb29wZXINCjxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPiAodG8gc2F2ZSBh
IHRyaXZpYWwgcmVwb3N0KSwgYnV0IC4uLg0KDQo+IC0tLQ0KPiBJdCBpcyB1bmNsZWFyIHRvIG1l
IHdoZXRoZXIgdGhpcyBjaGFuZ2UgaXMgYWN0dWFsbHkgbWFkZSBvYnNvbGV0ZSBieSB0aGUNCj4g
c3Vic2VxdWVudCBvbmUgYWRkaW5nIHN1cHBvcnQgZm9yIHRoZSByZXNwZWN0aXZlIG5ldyBDUFVJ
RCBiaXQuDQoNCi4uLiBTYXBwaGlyZSBSYXBpZHMgZG9lc24ndCBlbnVtZXJhdGUgUFBJTi7CoCBI
b3BlZnVsbHkgR3Jhbml0ZSBSYXBpZHMNCndpbGwsIGJ1dCBldmVyeXRoaW5nIFNQUiBhbmQgb2xk
ZXIgd2lsbCBoYXZlIHRvIHJlbHkgb24gbW9kZWwgY2hlY2tzIG9ubHkuDQoNClByb2JhYmx5IGJl
c3QgdG8gZHJvcCB0aGUgc2Vjb25kIGhhbGYgb2YgdGhlIGNvbW1pdCBtZXNzYWdlIHRvIHJlbW92
ZQ0KdGhlIHVuY2VydGFpbnR5Lg0KDQo+IEl0IGFsc28gY29udGludWVzIHRvIGJlIHVuY2xlYXIg
Zm9yIHdoaWNoIENQVSBtb2RlbHMsIGlmIGFueSwgdGhlDQo+IFBQSU5fQ0FQIGJpdCBpbiBQTEFU
Rk9STV9JTkZPIGNvdWxkIGJlIHVzZWQgaW4gZmF2b3Igb2YgYSBtb2RlbCBjaGVjay4NCg0KUHJl
c3VtYWJseSBub25lLCBiZWNhdXNlIHlvdSBuZWVkIHRoZSBzYW1lIHNldCBvZiBtb2RlbCBjaGVj
a3MgdG8NCmludGVycHJldCB0aGUgUFBJTiBiaXQgaW4gUExBVEZPUk1fSU5GTy7CoCBJdCBkb2Vz
IGJlZyB0aGUgcXVlc3Rpb24gd2hhdA0KdGhlIHBvaW50IG9mIHRoZSBiaXQgaXMuLi4NCg0KfkFu
ZHJldw0K


From xen-devel-bounces@lists.xenproject.org Wed Jan 26 23:31:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 26 Jan 2022 23:31:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261123.451776 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCrkj-0001Vs-3o; Wed, 26 Jan 2022 23:31:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261123.451776; Wed, 26 Jan 2022 23:31:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCrkj-0001Vl-0o; Wed, 26 Jan 2022 23:31:01 +0000
Received: by outflank-mailman (input) for mailman id 261123;
 Wed, 26 Jan 2022 23:30:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DU/T=SK=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nCrkh-0001Vf-9W
 for xen-devel@lists.xenproject.org; Wed, 26 Jan 2022 23:30:59 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 021d2c89-7f00-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 00:30:57 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 021d2c89-7f00-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643239856;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=b7qGjUtkWUNkEPjMZRwwEk327kJmGLqbfISdAUSYC3c=;
  b=HHnb/uKnDa5subNkdDC1r4YnwwrNmzOERA0LpEi9gm1pBupwLJCTnGc9
   jLcisbRWSIaZbJlFXVoRpJb47XT2e+jFFxp7E0YQ54bK5K4DB8oQSa/4f
   wVP4bnX7DBXKgdIQJsfMKnA8GET2/4UjZIbqwiUc1+9DA2NFhHRh6SiyK
   I=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: o4DOjTXEmOkR5cbhZ+DxJ8Snv/9Hfh4LdC2jYFdwqP/CFetW4Pvl57D/rk2Y+BwliWlAKDbCJb
 cwc5lSbqlhRjmSpAYZENDPmY17amUXsQX7946lXzgPja2zfWgZVpIRyP4WnBL7qS5Ly7aM2UG0
 B6VGfTYgN0QlZAumQCTguRaOxsrRLIO9M9HfQacxxadq7aOK9Lz1w1zOpcKL7FDxAXgLnu/mKa
 UdVyRBWB0Stbq/IqEZW2hovnCga1uY6wjmKvJYyBXAFg0cXvtsA5ezmf7ChRZU2LmYcrMcQPWa
 EVTk0MRR4oslraQZPT/RqL86
X-SBRS: 5.2
X-MesageID: 62765349
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:MBDSRa+FzeC7dFqBKe/TDrUDbXmTJUtcMsCJ2f8bNWPcYEJGY0x3n
 WNNWGzSPPeKMGKjLdpyOduz9kIO75eHzNA3GgJkqC08E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7dj3NYz6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPhSj
 /9M7oKBbT4FGf3Fp+s9cj1/EwphaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguwKKsXxMZxZkXZn1TzDVt4tQIzZQrWM7thdtNs1rp4UQqiDP
 JZIAdZpRC2cWT8UAX5GMZgzoeKHr2vuchpD9V3A8MLb5ECMlVcsgdABKuH9ZdiiVchT2EGCq
 Qru72n/Rx0XKtGb4T6E6W63wP/CmzvhX4AfH6H+8eRl6HWRzGEODBwdVXOgvOK0zEW5Xrpix
 1c8o3R06/JorQryE4e7D0bQTGO4UgA0eJ16ErYk2SW05o2E6jmWJkkgaT5qd4lz3CMpfgAC2
 liMltLvIDVgtryJVH6QnoupQSOO1Ts9djFbO3JdJecRy5y6+dxo0EqTJjp2OPPt1rXI9SfML
 ydmRcTUr5EaloY12qqy5jgraBr898GSHmbZCug6N19JDz+Vhqb5NuRECnCBtJ6sybp1qHHb7
 RDofODFtIgz4WmlznDlfQn0NOjBCwy5GDPdm0VzOJIq6i6g/XWuFagJvm0lfRw0bJpYJG+2C
 KM2he+3zMUCVJdNRfQvC79d9uxwlfSwfTgbfq28giVyjmhZK1bcoXAGib+41GHxikk8+ZzTy
 r/AGftA+U0yUPw9pBLvHr91+eZymkgWmD2PLbimkUXP+efONRa9FOZeWHPTP79R0U9xiFiPm
 zqpH5HUm0w3vSyXSnS/zLP/2nhTfSFkXsin8pIOHgNBSyI/cFwc5zbq6epJU6RunrhPl/eO+
 Xe4W0RCz0H4i2GBIgKPAk2Popu0NXqmhX5kbyEqI3iy3H0vPdSm4KsFLsNldrg77u1zi/VzS
 qBdKcmHB/1OTBXB+igcMsah/NAzKkzziFLcJTehbRg+Y4VkG17D9Oj7c1a97yIJFCe265cz+
 uXyygPBTJMfbA1+F8KKOum3xla8sCFFyuJ/VkfFOPdJf0Do/NQ4IiD9lKZvccoNNQ/C1n2R0
 APPWUUUouzEookU9tjVhP/b89f1QrUmRkcDRjvV97e7MyXe71GP+44YXbbaZy3ZWUP15L6mO
 bdfwcbjPaBVh11NqYd9TepmlPps+9v1qrZG5Q14B3GXPU+zA7ZtL3Taj8lCsqpBmu1QtQesA
 x/d/9BbPfOCOd//EU5XLw0gN7zR2fYRkzjUzPI0PESlu3MnoOvZCR1fb0uWlShQDLppK4d0k
 +4utfkf5xG7lhd3YM2NiTpZ9jjUI3ENO0n9Wkr23GM/ZtIX92x/
IronPort-HdrOrdr: A9a23:T5IJdaB5u8ScWXblHegIsceALOsnbusQ8zAXPh9KJiC9I/b1qy
 nxppkmPEfP+UsssHFJo6HkBEEZKUmsu6KdkrNhQYtKOzOW+VdATbsSorcKpgePJ8SQzJ8l6U
 4NSdkcNDS0NykBsS+Y2nj5Lz9D+qj+zEnAv463pB0NLT2CKZsQlDuRYjzrSHGeLzM2YabRYa
 DsgPav0ADQHkj/AP7LZEUtbqzmnZnmhZjmaRkJC1oM8w+Vlw6l77b8Dlyxwgoeeykn+8ZgzU
 H11yjCoomzufCyzRHRk0XJ6Y5NpdfnwtxfQOSRl8kuLCn2gArAXvUiZ1TChkFxnAic0idsrD
 D+mWZnAy210QKJQoiBm2qo5+An6kd315at8y7CvZKpm72HeNtzMbs+uWseSGqF16NohqAN7E
 oAtVjpxqZ/HFfOmj/w6MPPUAwvnk2ooWA6mepWlHBHV5ACAYUh57D30XklWKvoJhiKo7zP0d
 MeeP309bJTaxeXfnrZtm5gzJilWWkyBA6PRgwHttaO2zZbkXhlxw9ArfZv0kso5dY4Ud1J9u
 7EOqNnmPVHSdIXd7t0AKMETdGsAmLATBrQOCaZIEjhFqsAJ3XRwqSHrYkd9aWvYtgF3ZEykJ
 POXBdRsnMzYVvnDYmU0JhC4nn2MSyAtPTWu7djDrRCy8/BrYvQQFq+oQoV4ridSt0kc7jmZ8
 o=
X-IronPort-AV: E=Sophos;i="5.88,319,1635220800"; 
   d="scan'208";a="62765349"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jlLNwJoqXld7SUZrmt5buCsxnPAICB1YwHPX9k17HfFEAZNvCOQ2e+O/scMfxZvPF6B9UgQC0v8n+g+0SgK9DNj5rjtyES78gDe33XGFmmhMyaPqwBGFej/Ofut9+0UlAXgd5V3csiXoyZWoQ2lQvXziwCmqcJzh27WjUcWQ3vRlV4PFWv5nezk+FZ2UBVw6x9gqjPlqSxFyI/7qcwJprYAURJAj8krzbFNpMz2yI2gH/srChxjCwMubnhs5t2JTMz4DgMBfco6o9NNwj1iCXQ24PeNjdTBPbBWI7SnhiwN6LtJgZzPHpQaeXnUm9LiCNyAhrzTACdKuBbN517oDXw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=b7qGjUtkWUNkEPjMZRwwEk327kJmGLqbfISdAUSYC3c=;
 b=jJt7Z2rxba4/h24OzLUCFmmFuzORMvZJNCreLKhcRfHn3E8ZST0YxX090r61vPfMNbQZ47yDqYP1ZiBcikwWKrCnKbcsIK6AAUx9mQbQTfeprboh9hszvG+WBtiDu3kgabfNQ4rg1sf8bZYsYE6fOPt6i/tsNig/veyXAUeCrR3KtxPX47uuGAYZhXhsvqVU0qEYUOk+rYX0GwXQd7YUNdsLYvChJ6oF6cMGqPAybaY2yVBIne2z3vQg7NcgutALaHGp4+3IaKjWzJWCmX9okYVaaDgrIvWT3jvL31yGkyPV/1ryhxVaU1BAeTiXqnrBwRhSkptGqQjvdLb8VcFLZA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=b7qGjUtkWUNkEPjMZRwwEk327kJmGLqbfISdAUSYC3c=;
 b=PcMWu942i1tigbbjWXctbetFYZEWXAB3gaeeSrR6evpYqtMjmLk3JkRQQSdcZVIgUKu8JQUEwcPgQi58+KCdP3dH/gONjyLRLaI88I3WhaasUKnWHtfa0J4M0HTtk8GAzD2q38ol/nOvPRI8MjxPCaXo19O3HYKCTsW88gnLs1I=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [PATCH v2 2/2] x86/Intel: use CPUID bit to determine PPIN
 availability
Thread-Topic: [PATCH v2 2/2] x86/Intel: use CPUID bit to determine PPIN
 availability
Thread-Index: AQHYDgiCEwv0NK4Rvkyq5oesJ8VOH6x1/WyA
Date: Wed, 26 Jan 2022 23:30:48 +0000
Message-ID: <31121cc4-5980-3e06-89ea-c2268e2ec53f@citrix.com>
References: <64a5a3ac-8f4c-b13d-0b7d-4c4ec15e2721@suse.com>
 <2d13a663-f03e-b1e2-0c38-5dc3282dab10@suse.com>
In-Reply-To: <2d13a663-f03e-b1e2-0c38-5dc3282dab10@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: c6aebc1f-a843-44b8-ebc9-08d9e123e212
x-ms-traffictypediagnostic: BLAPR03MB5652:EE_
x-microsoft-antispam-prvs: <BLAPR03MB5652735AAE8C2A24DC290D7FBA209@BLAPR03MB5652.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: YUSZKOsQRB4XyqyA3w+McNOG2Kt4dyJXP9hVIG65iAY7DY6R26xMVu3q+L8sLAR8LtOstb37+LEsUiKNYsfSn0M81+Ro75YM3ftD28EnHdxs6W9/4o+C4d8n/z1tvEPSw1nCC4PNS7woLxQfhSAONWYyS1CLhamyInjOA4jS9t0pIX7wAtxqY1r4AaDnnSpVcKWZj0ejTVpgC04TjkBaV66TwBRRzji46pVzhWZFPtEjL86JVbK91V4FFSbADhR5wWQj3Jb8XlejQ6cPlBQPf8wazMe3dunnalmayuwkTl3dtWiNTSeIVFES4Q+7Bl0N4mx/oS8Zsjb+ryMg/c2NQ/94tJAEUSSbSVUXonv4bXdmAD2TMw6ZHFcOi/lhZG2NDky84kga4KCfexUGBTbbn68Lz68vUdCi92v7cp6q3uu28R20+dTo6VrVLtV2WwqOeb5wLulYEKkGAIIf9sHkJNVsB/aoit0t1voDsYti7ODmTBUqImSM/Jhl5xKgEmBijLfEd/DmtW2OYNehJU0spszsw7b2Q20sowMaAwzHBFjAuZgUnhrwNqTYEce1wpKuQ9XDxnY5Gvd7w+2pruilEs3bLVfDkufCf03ZIG8mm2wSFJ+jj8ZiGwh/xL/3v0w9kfYwdeP9k17caRukgL271jG3lq/fhPSP1jjIW8enq/bisUrZ6g2V7n3SmWzRyozMwG37nOjEI3aRrboynPMXL1lLYG3bfsVvK8sw/7nwl2qIEdK2CM7YJcZqhGzmNTJHLW7YGTM4EEABxnK8UCPPQQ==
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:(13230001)(4636009)(366004)(38070700005)(107886003)(6486002)(122000001)(508600001)(5660300002)(36756003)(2906002)(31686004)(6512007)(4326008)(66556008)(38100700002)(66476007)(86362001)(110136005)(31696002)(54906003)(91956017)(66946007)(316002)(76116006)(83380400001)(66446008)(8676002)(64756008)(8936002)(71200400001)(2616005)(186003)(26005)(53546011)(6506007)(82960400001)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cnB0SDhpMlFkdXhpWGRiOU9lZDNYdS9rSXA1bXJLYkpCRWNFd2NVSHRsSE5O?=
 =?utf-8?B?ZHRmcExtVDlMMGJtbW16Q3RHN05ZTnhKc3V5OHNFTmNGcUJxVzFoVFZoKzBS?=
 =?utf-8?B?SjhTcEtacTEwQXlFQmFMcGNFMUVBWXAwZFcyOE5iRVUvQldPZnpONWhxSFdq?=
 =?utf-8?B?NkVNSE4vWEtrVTM1Z0Vnb29aMGVKT2lDOFZnRm0wQXNKZlN2dEZYYU1JRGV5?=
 =?utf-8?B?OW1jdkVBc2R5WVp2UXdiZnh2N2JwbjU3Z2JYL01QNmdxTWhGQmVrcTFYYWdK?=
 =?utf-8?B?ejB1KzlWWHdtY3lqNFUyZm85Rk5qUG1PRU9JS2hESFBrOTFDY0xHT3U2dU5H?=
 =?utf-8?B?WnVyLzVrOC9TbndwMVJvNUgrZ0ZVYXVHYWk2c1RweFdpZmlJMmtyWWJUQXlK?=
 =?utf-8?B?Y05SUTdnWGoyOHYvSHdFMUZqd1lWZFl4RGxXUDZvNlJYM3FPUXNuUnNnUy8x?=
 =?utf-8?B?UDBjblJWdVRSN3RiQTJOODBuY3ljOFJxYWJuOGtBRTdEMTUyUlJtcmdReWdW?=
 =?utf-8?B?bmJZU0lPcjQrS09CelNmbGJ5bnY5NkNQUWZqdEF6RFlLM1ZrZ1hFUTU3WEdp?=
 =?utf-8?B?K0o5aUtqTEtUSHN1cWZWN1dQQzRnc2lVWW8vV1J5U2hVUUVuOGg2WlhGMnlp?=
 =?utf-8?B?OVVPQi80Qy9KRisrdjZKaHlRdTBmeCtLRmRQQkxaSWplMlZEakI2SnBIM0Ix?=
 =?utf-8?B?Uk0reGV2K2JJVHlTckxUNXEvbWNJbGZZWU0wN0JSQjFZSjdlMGpIS3ZhN0xY?=
 =?utf-8?B?R0FsY2grMkI3amh1eGxvbGw0a2NaVEVQWGVOVGx4TjQyU2hDYlZ3REJKTWE0?=
 =?utf-8?B?YWg0QlVmQmkvVEZvNlpTK2pGQ1ZOcUFHNlBoV1Y0d3hBTzJNWTAyM3JXaFF6?=
 =?utf-8?B?aGk0V05IelZSY0RwWm51NDBRUENrTmd0Q2h1d0JwWVdzVTQ5bk5FMnlwVEdY?=
 =?utf-8?B?L0wxUmxJTWpWMjFiT1Q4WW0ya3gwY1FoaEhsNXpsR091dlVjMHhYenZIOXVW?=
 =?utf-8?B?Y2RyQlVDc0JZdkhoZHlnWEh4eGdHTVV3TzhRcFNPNjBiNkRzeHh6czVvai9I?=
 =?utf-8?B?L3V2OFBrWDRyYlJnUmY2d0djMWhFRmRFNG5TdnVLTTFib3VISDZZdXNSSkJH?=
 =?utf-8?B?WHhRb2JQQWszY01uU29JNm15VW45N081Z1NmNGFvT3FhdDM1cDhKbE83MEpD?=
 =?utf-8?B?ZVFHSGRmMWxQd2xUdy9SNHp3TlllOVJZNHdleVB0YlphTTVOUVpuUnlGU0dR?=
 =?utf-8?B?OC8vcUlOTXpqM0QzeDNXalJYcFJ3NmVkZWJpam1KY3h5OUo4YjdVMWpkNVRr?=
 =?utf-8?B?TWZheVVPOEVkbHRveFBNdWJRTlpxSVA0cUcyVXd0aFQ5N01BZW1JakJ6am96?=
 =?utf-8?B?QWZHbmhRUDNJeTdCTTJBcEJDbTlCRm9WRWxUZCtLcU1OUXp5c0doZUZaMHlM?=
 =?utf-8?B?M1U1eFgrTWlFdS9ieHlwV2xVNm0vTVpxa1VDblVrZmRzNkQ5a0RoWmZuVXJX?=
 =?utf-8?B?TitEUU44d2tES1J1ZkVkeDkvclpxQnBoaHlxcDNMa09GckNDb01mSXZEdFhV?=
 =?utf-8?B?c2NIRjdBK3BuRFlBSURKcU5qV3RjdWZJRy9rQlowSGJFMnU2OE13Y1pWNWZw?=
 =?utf-8?B?VUhERlRqdzIzQXJ5a3Y2OG56THhXNFJBamFDQmF1UG9Gem1HbXJzc292WnlP?=
 =?utf-8?B?VmtCTUtEbzNidFU1Mm5yNkN3VkNJS0pPZlNYVFFvNDc1bS9CcXpMYlRYRHI5?=
 =?utf-8?B?UEFhdWVteDQ5MGlmQ2dtSFAzY0lYdWZVRUJHN1lWZm9kODY2cDNOMlMxSith?=
 =?utf-8?B?QzgxTkt2MXkrRnNpUm90cW5tTWV3R3RaRTVzbTBOS3hhekp6QWRiSXZEWmJj?=
 =?utf-8?B?dVRxcmhhaHNzNE42Sm1kdnBzdzhPUG9ZYnNBcjgvWGVsbUo0RWdseHpmZDJE?=
 =?utf-8?B?T0lQbWZ5akZFN3BmcXgzTldPc29vMlNTWXg3WGNHamNNZFRNL2VyTm50R3lQ?=
 =?utf-8?B?eTFGbVE0b1BrbmlvcHpwTDhFTE8vQW1YSjRHWGtkK3BjaDkrL094alFscmE4?=
 =?utf-8?B?QVZSWjdyc2FySVRBUkR6VmJreTE3aWpqSE03L2g5bFVWZDB2MzNHaEVyZDJK?=
 =?utf-8?B?Zm1KdWFhTW15MkZFWDZ6eXJiakdHME1XRHdQR3A0Z2NGTHJvamhCR2UxWTdZ?=
 =?utf-8?B?eWRRd1BWdmdrYzVPS1lpUFpQZWxialpYZzZpM1J2Umw2aGYzRHVlTDFHSVp4?=
 =?utf-8?B?SWVFcHJ2QkhHaHBsY3VQelV4Z2dnPT0=?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <9E86AFF07F56BB469DE7D3AD451305BF@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c6aebc1f-a843-44b8-ebc9-08d9e123e212
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Jan 2022 23:30:48.1537
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 17e0tsaoNZd6ismHtRHJfaQhr32AlcF49uh9dV8r+YA6XtFdwV5uxivPD9DqYK+zX2yrtGWE3MbRjkMs5OEH2CA1RSAmi2Gt/UxHkb9x168=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR03MB5652
X-OriginatorOrg: citrix.com

T24gMjAvMDEvMjAyMiAxNDoxNywgSmFuIEJldWxpY2ggd3JvdGU6DQo+IC0tLSBhL3Rvb2xzL21p
c2MveGVuLWNwdWlkLmMNCj4gKysrIGIvdG9vbHMvbWlzYy94ZW4tY3B1aWQuYw0KPiBAQCAtMTk1
LDYgKzE5NSwxMSBAQCBzdGF0aWMgY29uc3QgY2hhciAqY29uc3Qgc3RyX2UyMWFbMzJdID0NCj4g
ICAgICBbIDZdID0gIm5zY2IiLA0KPiAgfTsNCj4gIA0KPiArc3RhdGljIGNvbnN0IGNoYXIgKmNv
bnN0IHN0cl83YjFbMzJdID0NCj4gK3sNCj4gKyAgICBbIDBdID0gInBwaW4iLA0KPiArfTsNCg0K
SSBoYWRuJ3QgcmVhbGlzZWQgd2hhdCBhIG1lc3Mgd2UgaGFkIHdpdGggdGhlIHByZWZpeGVzLg0K
DQpXZSBoYXZlIEFNRF9QUElOIHJlbmRlcmVkIGFzIHNpbXBseSAicHBpbiIsIHdoaWxlIHdlIGFs
c28gaGF2ZQ0KQU1EX3tTVElCUCxTU0JEfSB3aGljaCBhcmUgcmVuZGVyZWQgd2l0aCBhbiBhbWQt
IHByZWZpeC7CoCBUaGlzIHBhdGNoIGlzDQp0aGUgZmlyc3QgaW50cm9kdWN0aW9uIG9mIGFuIElO
VEVMXyBwcmVmaXhlZCBmZWF0dXJlLg0KDQpXZSBzaG91bGQgZmlndXJlIG91dCBhIGNvbnNpc3Rl
bmN5IHJ1bGUgYW5kIGZpeCB0aGUgbG9naWMsIGJlZm9yZSBhZGRpbmcNCm1vcmUgY29uZnVzaW9u
Lg0KDQpHaXZlbiB0aGUgQU1EIE1TUl9TUEVDX0NUUkwgc2VyaWVzIGp1c3QgcG9zdGVkLCB1c2Ug
b2YgQ1BVSUQgYml0cyB3aWxsDQpvZnRlbiBiZSBzeW1tZXRyaWNhbCBhbmQgaXQncyBhd2t3YXJk
IHRvIGhhdmUgb25lIG9yIHdpdGggYSBwcmVmaXggYW5kDQp0aGUgb3RoZXIgd2l0aG91dC4NCg0K
PiAtLS0gYS94ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC14ODYvY3B1ZmVhdHVyZXNldC5oDQo+ICsr
KyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLXg4Ni9jcHVmZWF0dXJlc2V0LmgNCj4gQEAgLTI5
OSw2ICsyOTksOSBAQCBYRU5fQ1BVRkVBVFVSRShGU1JDUywgICAgICAgIDEwKjMyKzEyKSAvDQo+
ICBYRU5fQ1BVRkVBVFVSRShMRkVOQ0VfRElTUEFUQ0gsICAgIDExKjMyKyAyKSAvKkEgIExGRU5D
RSBhbHdheXMgc2VyaWFsaXppbmcgKi8NCj4gIFhFTl9DUFVGRUFUVVJFKE5TQ0IsICAgICAgICAg
ICAgICAgMTEqMzIrIDYpIC8qQSAgTnVsbCBTZWxlY3RvciBDbGVhcnMgQmFzZSAoYW5kIGxpbWl0
IHRvbykgKi8NCj4gIA0KPiArLyogSW50ZWwtZGVmaW5lZCBDUFUgZmVhdHVyZXMsIENQVUlEIGxl
dmVsIDB4MDAwMDAwMDc6MS5lYngsIHdvcmQgMTIgKi8NCj4gK1hFTl9DUFVGRUFUVVJFKElOVEVM
X1BQSU4sICAgICAgICAgMTIqMzIrIDApIC8qICAgUHJvdGVjdGVkIFByb2Nlc3NvciBJbnZlbnRv
cnkgTnVtYmVyICovDQo+ICsNCj4gICNlbmRpZiAvKiBYRU5fQ1BVRkVBVFVSRSAqLw0KPiAgDQo+
ICAvKiBDbGVhbiB1cCBmcm9tIGEgZGVmYXVsdCBpbmNsdWRlLiAgQ2xvc2UgdGhlIGVudW0gKGZv
ciBDKS4gKi8NCj4gLS0tIGEveGVuL2luY2x1ZGUveGVuL2xpYi94ODYvY3B1aWQuaA0KPiArKysg
Yi94ZW4vaW5jbHVkZS94ZW4vbGliL3g4Ni9jcHVpZC5oDQo+IEBAIC0xNiw2ICsxNiw3IEBADQo+
ICAjZGVmaW5lIEZFQVRVUkVTRVRfN2QwICAgIDkgLyogMHgwMDAwMDAwNzowLmVkeCAgICAqLw0K
PiAgI2RlZmluZSBGRUFUVVJFU0VUXzdhMSAgIDEwIC8qIDB4MDAwMDAwMDc6MS5lYXggICAgKi8N
Cj4gICNkZWZpbmUgRkVBVFVSRVNFVF9lMjFhICAxMSAvKiAweDgwMDAwMDIxLmVheCAgICAgICov
DQo+ICsjZGVmaW5lIEZFQVRVUkVTRVRfN2IxICAgMTIgLyogMHgwMDAwMDAwNzoxLmVieCAgICAq
Lw0KPiAgDQo+ICBzdHJ1Y3QgY3B1aWRfbGVhZg0KPiAgew0KPiBAQCAtMTg4LDYgKzE4OSwxMCBA
QCBzdHJ1Y3QgY3B1aWRfcG9saWN5DQo+ICAgICAgICAgICAgICAgICAgdWludDMyX3QgXzdhMTsN
Cj4gICAgICAgICAgICAgICAgICBzdHJ1Y3QgeyBERUNMX0JJVEZJRUxEKDdhMSk7IH07DQo+ICAg
ICAgICAgICAgICB9Ow0KPiArICAgICAgICAgICAgdW5pb24gew0KPiArICAgICAgICAgICAgICAg
IHVpbnQzMl90IF83YjE7DQo+ICsgICAgICAgICAgICAgICAgc3RydWN0IHsgREVDTF9CSVRGSUVM
RCg3YjEpOyB9Ow0KPiArICAgICAgICAgICAgfTsNCj4gICAgICAgICAgfTsNCj4gICAgICB9IGZl
YXQ7DQo+ICANCj4NCg0KTG9va2luZyBhdCBhIHJlbGF0ZWQgcGF0Y2ggSSd2ZSBnb3QsIGF0IGEg
bWluaW11bSwgeW91IGFsc28gbmVlZDoNCiogY29sbGVjdCB0aGUgbGVhZiBpbiBnZW5lcmljX2lk
ZW50aWZ5KCkNCiogZXh0ZW5kIGNwdWlkX3BvbGljeV90b19mZWF0dXJlc2V0KCkgYW5kIGNwdWlk
X2ZlYXR1cmVzZXRfdG9fcG9saWN5KCkNCg0KSG93ZXZlciBJJ3ZlIGdvdCBhbiBpZGVhIHRvIGhl
bHAgdXMgc3BsaXQgImFkZCBuZXcgbGVhZiIgZnJvbSAiZmlyc3QgYml0DQppbiBuZXcgbGVhZiIg
d2hpY2ggSSdkIGxpa2UgdG8gZXhwZXJpbWVudCB3aXRoIGZpcnN0LsKgIEl0IGlzIHJhdGhlcg0K
YXdrd2FyZCBoYXZpbmcgdGhlIHR3byBtb3N0bHktdW5yZWxhdGVkIGNoYW5nZXMgZm9yY2VkIHRv
Z2V0aGVyIGluIGENCnNpbmdsZSBwYXRjaC4NCg0KfkFuZHJldw0KDQo=


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 00:11:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 00:11:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261128.451793 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCsNQ-0006N3-Gx; Thu, 27 Jan 2022 00:11:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261128.451793; Thu, 27 Jan 2022 00:11:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCsNQ-0006Mw-E5; Thu, 27 Jan 2022 00:11:00 +0000
Received: by outflank-mailman (input) for mailman id 261128;
 Thu, 27 Jan 2022 00:10:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=F3iz=SL=gmail.com=julien.grall.oss@srs-se1.protection.inumbo.net>)
 id 1nCsNO-0006Mq-T7
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 00:10:59 +0000
Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com
 [2a00:1450:4864:20::435])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 992dfc3f-7f05-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 01:10:57 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id m14so1486675wrg.12
 for <xen-devel@lists.xenproject.org>; Wed, 26 Jan 2022 16:10:56 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 992dfc3f-7f05-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=vcSDCFPWamzyk0RDlatb76L3ISdO2FxUY09zc8w6UKw=;
        b=TgWCpk89f6uIxfMYGcvFZnE13JzHgyzflAuMwZl/HRrk+2nANBtbL4DkLn49RHQ+gx
         mjgQisuKTCDCuba1qi8ajyAhDyHz7B1ncyKuO/2oPjlcsw1ouRtH9DKnmx78j3Iy5Weu
         mxaUeD9B7HxPSYOn4SBgjKqdT4gADjxzCOPmWMO9UBIg4o4Up8keh0R41ppAsWVoW3wB
         C44kQ4wmq2LZD0gWnv92NN48otMhQJYCXiWbYY2JLIPkyhmokj0mG/edb+r+hl3dOouR
         RwQ6c5tkiG31ylWo30sBuVVFCgcLKPBdQqjUrEzqJEVskqPx3NQc8wvCq+pkE7vZekqk
         If8w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=vcSDCFPWamzyk0RDlatb76L3ISdO2FxUY09zc8w6UKw=;
        b=HA7MQlypiOfRd2rEtSA4j3yPSe7CDWCEEQbfmqZwGFE3zHAp5vUyFdG48CBqyD/zd0
         lR/DvMXXRTEaOLze+RSQvo+45AfcFz1UhBe90icDrBgnittfJJRspdBVbpy02/BeZsF8
         VlXcZby0rMQky5v5Mm0YDQhwZg1b5r+SABectqjWjXiUYxuYtf1sU+U8zxi3SCPAvn18
         R0ifT/H4D5aeCxr7iec/f7j4hNbMQDw7k7oGVWSFqJg+K69aka6q1/Mx9+c+5DmMVlNM
         SO3+D0Wo4eVGYz1KfVD12faB6uygZuzOPx2o3jDn+w0F+uBW8sPLQJD12/HlLmJzv9SJ
         vfeg==
X-Gm-Message-State: AOAM533diFH/jK7zaqW3nQpXhQy6iyZLVxxSlZ0+kb7oHwxLjGMGBZyt
	UAUPz7KP5yfvVq1cbf9ARRR5cKymsRjnVrHEiWs=
X-Google-Smtp-Source: ABdhPJwlkYS8PaofP3a79dvdROZYdrJwHnhYZjSVq5W7rYkWDa0v6uL8e06rX3p+oWk2VEuNm8vAtS41QZXuEiSf/w8=
X-Received: by 2002:a05:6000:1001:: with SMTP id a1mr854219wrx.230.1643242255842;
 Wed, 26 Jan 2022 16:10:55 -0800 (PST)
MIME-Version: 1.0
References: <20220126165827.61168-1-ayankuma@xilinx.com> <CAJ=z9a1KjOAeR4vpRQGA_sYSvx1h331NKim2bgG8jyru94Beow@mail.gmail.com>
 <eeedbb72-d881-363d-c862-234b705eaec7@xilinx.com>
In-Reply-To: <eeedbb72-d881-363d-c862-234b705eaec7@xilinx.com>
From: Julien Grall <julien.grall.oss@gmail.com>
Date: Thu, 27 Jan 2022 00:10:42 +0000
Message-ID: <CAJ=z9a0VEqr_ODQZvdsO82PiOpHt5-TVc4JWE5pJCeNYPh+XHg@mail.gmail.com>
Subject: Re: [XEN v1] xen/arm: io: Check ESR_EL2.ISV != 0 before searching for
 a MMIO handler
To: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, stefanos@xilinx.com, 
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>
Content-Type: multipart/alternative; boundary="000000000000f07fe905d6852608"

--000000000000f07fe905d6852608
Content-Type: text/plain; charset="UTF-8"

Hi,

On Wed, 26 Jan 2022, 17:56 Ayan Kumar Halder, <ayan.kumar.halder@xilinx.com>
wrote:

> Hi Julien,
> On 26/01/2022 17:22, Julien Grall wrote:
>
> Hi,
>
> On Wed, 26 Jan 2022, 16:58 Ayan Kumar Halder, <
> ayan.kumar.halder@xilinx.com> wrote:
>
>> Refer to Armv8 ARM DDI 0487G.b, Page D13-3219 "ISS encoding for an
>> exception
>> from a Data Abort" :-
>> ISV - ISS[23:14] holds a valid instruction syndrome
>>
>> When the ISV is 0, the instruction could not be decoded by the hardware
>> (ie ISS
>> is invalid). One should immediately return an error to the caller with an
>> appropriate error message.
>
>
> That's going to be very spammy because we have use-case where it could
> trap without a valid ISV (e.g. when break-before-make happens). So please
> don't had a message.
>
> There is already a logging statement in traps.c :-
>
> inject_abt:
>     gdprintk(XENLOG_DEBUG,
>              "HSR=%#"PRIregister" pc=%#"PRIregister" gva=%#"PRIvaddr"
> gpa=%#"PRIpaddr"\n",
>              hsr.bits, regs->pc, gva, gpa);
>
> The reason for the error is to give the user some hint that an IO abort is
> triggered by Xen.
>
The main difference here is inject_dabt should only be reached when we
exhausted all the possibility in I/O handling.

In your case, if we can't handle as an MMIO then we should fallthrough the
other method (see do_trap_stage2_abort_guest()).

In fact, moving the check early and doing the decoding before find_mmio()
or try_fwd_io() is actually wrong. Sorry I should realized that earlier.

So we want to provide an helper that will do the dabt.vid check and do the
decoding. The helper will be called in 2 places.

With that in place, then I agree the gprintk could be kept in place.

Can we keep the error message ?
>
> Also, I think this is a duplicate check
> https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/ioreq.c;h=308650b40051825fdea78bb33bfbcc87ef5deaff;hb=HEAD#l79
> , I will remove this in v2 if it makes sense.
>
> - Ayan
>
>
> That makes me think that the same will be valid for your other patch.
>
> There is no use of the MMIO handler. This is the
>> reason why one should check for ISV before attempting to find a MMIO
>> handler.
>>
>> Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
>> ---
>>
>> Suggested by Julien Grall in
>> https://lists.xenproject.org/archives/html/xen-devel/2022-01/msg01245.html
>>
>>  xen/arch/arm/io.c | 11 +++++++----
>>  1 file changed, 7 insertions(+), 4 deletions(-)
>>
>> diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
>> index 729287e37c..14d39222f2 100644
>> --- a/xen/arch/arm/io.c
>> +++ b/xen/arch/arm/io.c
>> @@ -109,6 +109,13 @@ enum io_state try_handle_mmio(struct cpu_user_regs
>> *regs,
>>
>>      ASSERT(hsr.ec == HSR_EC_DATA_ABORT_LOWER_EL);
>>
>> +    /* All the instructions used on emulated MMIO region should be valid
>> */
>> +    if ( !dabt.valid )
>> +    {
>> +        gprintk(XENLOG_DEBUG, "No valid instruction syndrome for data
>> abort\n");
>> +        return IO_ABORT;
>> +    }
>> +
>>      handler = find_mmio_handler(v->domain, info.gpa);
>>      if ( !handler )
>>      {
>> @@ -121,10 +128,6 @@ enum io_state try_handle_mmio(struct cpu_user_regs
>> *regs,
>>          return rc;
>>      }
>>
>> -    /* All the instructions used on emulated MMIO region should be valid
>> */
>> -    if ( !dabt.valid )
>> -        return IO_ABORT;
>> -
>>      /*
>>       * Erratum 766422: Thumb store translation fault to Hypervisor may
>>       * not have correct HSR Rt value.
>> --
>> 2.17
>>
>

--000000000000f07fe905d6852608
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto"><div>Hi,<br><br><div class=3D"gmail_quote"><div dir=3D"lt=
r" class=3D"gmail_attr">On Wed, 26 Jan 2022, 17:56 Ayan Kumar Halder, &lt;<=
a href=3D"mailto:ayan.kumar.halder@xilinx.com">ayan.kumar.halder@xilinx.com=
</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:=
0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
 =20
   =20
 =20
  <div>
    <p>Hi Julien,</p>
    <div>On 26/01/2022 17:22, Julien Grall
      wrote:<br>
    </div>
    <blockquote type=3D"cite">
     =20
      <div dir=3D"auto">
        <div>Hi,<br>
          <br>
          <div class=3D"gmail_quote">
            <div dir=3D"ltr" class=3D"gmail_attr">On Wed, 26 Jan 2022, 16:5=
8
              Ayan Kumar Halder, &lt;<a href=3D"mailto:ayan.kumar.halder@xi=
linx.com" target=3D"_blank" rel=3D"noreferrer">ayan.kumar.halder@xilinx.com=
</a>&gt;
              wrote:<br>
            </div>
            <blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bo=
rder-left:1px #ccc solid;padding-left:1ex">Refer to
              Armv8 ARM DDI 0487G.b, Page D13-3219 &quot;ISS encoding for a=
n
              exception<br>
              from a Data Abort&quot; :-<br>
              ISV - ISS[23:14] holds a valid instruction syndrome<br>
              <br>
              When the ISV is 0, the instruction could not be decoded by
              the hardware (ie ISS<br>
              is invalid). One should immediately return an error to the
              caller with an<br>
              appropriate error message. </blockquote>
          </div>
        </div>
        <div dir=3D"auto"><br>
        </div>
        <div dir=3D"auto">That&#39;s going to be very spammy because we hav=
e
          use-case where it could trap without a valid ISV (e.g. when
          break-before-make happens). So please don&#39;t had a message.</d=
iv>
      </div>
    </blockquote>
    <p>There is already a logging statement in traps.c :-</p>
    <p>inject_abt:<br>
      =C2=A0=C2=A0=C2=A0 gdprintk(XENLOG_DEBUG,<br>
      =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 &quot;HSR=3D%#&quot;PRIregister&quot; pc=3D%#&quot;PRIregister&quot;
      gva=3D%#&quot;PRIvaddr&quot; gpa=3D%#&quot;PRIpaddr&quot;\n&quot;,<br=
>
      =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 hsr.bits, regs-&gt;pc, gva, gpa);<br>
    </p>
    <p>The reason for the error is to give the user some hint that an IO
      abort is triggered by Xen. </p></div></blockquote></div></div><div di=
r=3D"auto">The main difference here is inject_dabt should only be reached w=
hen we exhausted all the possibility in I/O handling.</div><div dir=3D"auto=
"><br></div><div dir=3D"auto">In your case, if we can&#39;t handle as an MM=
IO then we should fallthrough the other method (see do_trap_stage2_abort_gu=
est()).</div><div dir=3D"auto"><br></div><div dir=3D"auto">In fact, moving =
the check early and doing the decoding before find_mmio() or try_fwd_io() i=
s actually wrong. Sorry I should realized that earlier.</div><div dir=3D"au=
to"><br></div><div dir=3D"auto">So we want to provide an helper that will d=
o the dabt.vid check and do the decoding. The helper will be called in 2 pl=
aces.</div><div dir=3D"auto"><br></div><div dir=3D"auto">With that in place=
, then I agree the gprintk could be kept in place.</div><div dir=3D"auto"><=
br></div><div dir=3D"auto"><div class=3D"gmail_quote"><blockquote class=3D"=
gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-=
left:1ex"><div><p>Can we keep the error message ?<br>
    </p>
    <p>Also, I think this is a duplicate check
<a href=3D"https://xenbits.xen.org/gitweb/?p=3Dxen.git;a=3Dblob;f=3Dxen/arc=
h/arm/ioreq.c;h=3D308650b40051825fdea78bb33bfbcc87ef5deaff;hb=3DHEAD#l79" t=
arget=3D"_blank" rel=3D"noreferrer">https://xenbits.xen.org/gitweb/?p=3Dxen=
.git;a=3Dblob;f=3Dxen/arch/arm/ioreq.c;h=3D308650b40051825fdea78bb33bfbcc87=
ef5deaff;hb=3DHEAD#l79</a>
      , I will remove this in v2 if it makes sense.</p>
    <p>- Ayan<br>
    </p>
    <blockquote type=3D"cite">
      <div dir=3D"auto">
        <div dir=3D"auto"><br>
        </div>
        <div dir=3D"auto">That makes me think that the same will be valid
          for your other patch.</div>
        <div dir=3D"auto"><br>
        </div>
        <div dir=3D"auto">
          <div class=3D"gmail_quote">
            <blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bo=
rder-left:1px #ccc solid;padding-left:1ex">There is
              no use of the MMIO handler. This is the<br>
              reason why one should check for ISV before attempting to
              find a MMIO handler.<br>
              <br>
              Signed-off-by: Ayan Kumar Halder &lt;<a href=3D"mailto:ayanku=
ma@xilinx.com" rel=3D"noreferrer noreferrer" target=3D"_blank">ayankuma@xil=
inx.com</a>&gt;<br>
              ---<br>
              <br>
              Suggested by Julien Grall in <a href=3D"https://lists.xenproj=
ect.org/archives/html/xen-devel/2022-01/msg01245.html" rel=3D"noreferrer no=
referrer noreferrer" target=3D"_blank">https://lists.xenproject.org/archive=
s/html/xen-devel/2022-01/msg01245.html</a><br>
              <br>
              =C2=A0xen/arch/arm/io.c | 11 +++++++----<br>
              =C2=A01 file changed, 7 insertions(+), 4 deletions(-)<br>
              <br>
              diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c<br>
              index 729287e37c..14d39222f2 100644<br>
              --- a/xen/arch/arm/io.c<br>
              +++ b/xen/arch/arm/io.c<br>
              @@ -109,6 +109,13 @@ enum io_state try_handle_mmio(struct
              cpu_user_regs *regs,<br>
              <br>
              =C2=A0 =C2=A0 =C2=A0ASSERT(<a href=3D"http://hsr.ec" rel=3D"n=
oreferrer
                noreferrer noreferrer" target=3D"_blank">hsr.ec</a>
              =3D=3D HSR_EC_DATA_ABORT_LOWER_EL);<br>
              <br>
              +=C2=A0 =C2=A0 /* All the instructions used on emulated MMIO =
region
              should be valid */<br>
              +=C2=A0 =C2=A0 if ( !dabt.valid )<br>
              +=C2=A0 =C2=A0 {<br>
              +=C2=A0 =C2=A0 =C2=A0 =C2=A0 gprintk(XENLOG_DEBUG, &quot;No v=
alid instruction
              syndrome for data abort\n&quot;);<br>
              +=C2=A0 =C2=A0 =C2=A0 =C2=A0 return IO_ABORT;<br>
              +=C2=A0 =C2=A0 }<br>
              +<br>
              =C2=A0 =C2=A0 =C2=A0handler =3D find_mmio_handler(v-&gt;domai=
n, info.gpa);<br>
              =C2=A0 =C2=A0 =C2=A0if ( !handler )<br>
              =C2=A0 =C2=A0 =C2=A0{<br>
              @@ -121,10 +128,6 @@ enum io_state try_handle_mmio(struct
              cpu_user_regs *regs,<br>
              =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return rc;<br>
              =C2=A0 =C2=A0 =C2=A0}<br>
              <br>
              -=C2=A0 =C2=A0 /* All the instructions used on emulated MMIO =
region
              should be valid */<br>
              -=C2=A0 =C2=A0 if ( !dabt.valid )<br>
              -=C2=A0 =C2=A0 =C2=A0 =C2=A0 return IO_ABORT;<br>
              -<br>
              =C2=A0 =C2=A0 =C2=A0/*<br>
              =C2=A0 =C2=A0 =C2=A0 * Erratum 766422: Thumb store translatio=
n fault to
              Hypervisor may<br>
              =C2=A0 =C2=A0 =C2=A0 * not have correct HSR Rt value.<br>
              -- <br>
              2.17<br>
            </blockquote>
          </div>
        </div>
      </div>
    </blockquote>
  </div>

</blockquote></div></div></div>

--000000000000f07fe905d6852608--


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 01:51:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 01:51:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261136.451817 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCtw6-0001J4-96; Thu, 27 Jan 2022 01:50:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261136.451817; Thu, 27 Jan 2022 01:50:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCtw6-0001Iw-3X; Thu, 27 Jan 2022 01:50:54 +0000
Received: by outflank-mailman (input) for mailman id 261136;
 Thu, 27 Jan 2022 01:50:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aWrC=SL=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nCtw5-0001Iq-1n
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 01:50:53 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8d8dc2c0-7f13-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 02:50:50 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 2CBB161C0C;
 Thu, 27 Jan 2022 01:50:49 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2DFB3C340E7;
 Thu, 27 Jan 2022 01:50: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: 8d8dc2c0-7f13-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1643248248;
	bh=Qhqsl+W3vAy/5QqIqLeTzxlesobF7mMU8G0hDOyYqvU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=iCAZvbregHg6tY8qX5Js+Vu8TOzU2Sd04nX599QV0wtJ9NuWQ5qhAhBDI6imWbSvj
	 558dHbG0oP+7GYg5XnwgLzgUUut1x2cGx+Q/R+8CtOrKvl4gEkERD02dhK85/mrviC
	 KET1QD1wE5GSYoJ2axwGmszYHz4iZQKG8IVrhILySXsjP/2PtrGF9Ff51ThHLXMMJH
	 OFzE4SCJ9vQ7pT/FfhXblCC9ykvTsaYyDsTx7gv0uCFEqrFgqqxJyCaSPJZX1VL3X3
	 l5CfN/LPZJqM7BeI2MZ7Y6LP0dSNNQfoOaREYAQpC7hEC2l78v7EJO8oau4VdKnAo6
	 6oxrXqRkCdTqQ==
Date: Wed, 26 Jan 2022 17:50:47 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Jan Beulich <jbeulich@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, jgross@suse.com, Bertrand.Marquis@arm.com, 
    Volodymyr_Babchuk@epam.com, 
    Stefano Stabellini <stefano.stabellini@xilinx.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [XEN PATCH v2 2/5] xen: export get_free_port
In-Reply-To: <966ac15d-e91f-e812-1021-296ef60a9a06@xen.org>
Message-ID: <alpine.DEB.2.22.394.2201261727550.27308@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop> <20220113005855.1180101-2-sstabellini@kernel.org> <f3b2ae98-c7af-d8c0-b0a4-52e622517c34@xen.org> <alpine.DEB.2.22.394.2201241652330.27308@ubuntu-linux-20-04-desktop>
 <14af544d-0d20-9b58-4d70-5f5086ece032@suse.com> <alpine.DEB.2.22.394.2201251435030.27308@ubuntu-linux-20-04-desktop> <a992cf74-a75a-43d0-f83a-cd9549f586a8@xen.org> <alpine.DEB.2.22.394.2201251530400.27308@ubuntu-linux-20-04-desktop>
 <aa7aee5b-71cf-78c3-f8a2-f8d166f22ecb@suse.com> <966ac15d-e91f-e812-1021-296ef60a9a06@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 26 Jan 2022, Julien Grall wrote:
> On 26/01/2022 07:30, Jan Beulich wrote:
> > On 26.01.2022 02:03, Stefano Stabellini wrote:
> > > Are you guys OK with something like this?
> > 
> > With proper proof that this isn't going to regress anything else, maybe.
> 
> That's why I sugested to also gate with system_state < SYS_STATE_boot so we
> reduce the potential regression (the use of hypercall should be limited at
> boot).
> 
> FWIW, there was a thread [1] to discuss the same issue as Stefano is facing
> (but in the context of Live-Update).
> 
> > But ...
> > 
> > > --- a/xen/include/xsm/dummy.h
> > > +++ b/xen/include/xsm/dummy.h
> > > @@ -92,7 +92,9 @@ static always_inline int xsm_default_action(
> > >               return 0;
> > >           /* fall through */
> > >       case XSM_PRIV:
> > > -        if ( is_control_domain(src) )
> > > +        if ( is_control_domain(src) ||
> > > +             src->domain_id == DOMID_IDLE ||
> > > +             src->domain_id == DOMID_XEN )
> > >               return 0;
> > 
> > ... my first question would be under what circumstances you might observe
> > DOMID_XEN here and hence why this check is there.

For simplicity I'll answer all the points here.

I added both DOMID_IDLE and DOMID_XEN because I thought it "made sense",
but there is no need for DOMID_XEN. We only need DOMID_IDLE. Also adding
a system_state <= SYS_STATE_boot is fine (but it needs to be <= instead
of <). The patch appended below works without issues.

Alternatively, I am also quite happy with Jan's suggestion of passing an
extra parameter to evtchn_alloc_unbound, it could be:

int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc, bool disable_xsm);

So that XSM is enabled by default.

Adding the bool parameter to evtchn_alloc_unbound has the advantage of
having only a very minor impact. But either option is totally fine by
me, just let me know your preference.



diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
index b024119896..01996bd9d8 100644
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -94,6 +94,8 @@ static always_inline int xsm_default_action(
     case XSM_PRIV:
         if ( is_control_domain(src) )
             return 0;
+        if ( system_state <= SYS_STATE_boot && src->domain_id == DOMID_IDLE )
+            return 0;
         return -EPERM;
     default:
         LINKER_BUG_ON(1);


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 01:55:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 01:55:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261139.451828 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCu0y-0001xF-PX; Thu, 27 Jan 2022 01:55:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261139.451828; Thu, 27 Jan 2022 01: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 1nCu0y-0001x8-Ma; Thu, 27 Jan 2022 01:55:56 +0000
Received: by outflank-mailman (input) for mailman id 261139;
 Thu, 27 Jan 2022 01:55:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aWrC=SL=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nCu0w-0001x2-Px
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 01:55:54 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4144d13c-7f14-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 02:55:53 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 8373CB81CB2;
 Thu, 27 Jan 2022 01:55:50 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D2D2DC340E7;
 Thu, 27 Jan 2022 01:55: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: 4144d13c-7f14-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1643248549;
	bh=4qGFDoTNv1QpwiReO0CdH6B8nDvgBy+45Vsi6KOvr64=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=fOTyMzPwqdZwWRYAK3fILJZJTZn+H0ziBb57m++yC9XH6EfywOCp8pH3NsBjtIziX
	 tg3Gr/CnTqQ0xqKeWX51VPwgihZRvOYmzJiJCXfp2QcU3s8pzw0VGSP2wItiGtsKdv
	 01hZ7X+lrwmM4wAMoWcLTsYp5robk3KYOEJZXKJThGjkEe7bh0Nsrz2wYVG31QCh2U
	 ZbgaQ7RrhgO7MiMk+A2auW+6ME96cxEyCIKzxnflWE+YIhintJaMLsPgY65yCHopDc
	 5np+A1u4fEz5mmlrBsmY6tvHleNa3/kX3sTTlfTYqMX/p1jqA+FeDgaRrmm4pffCRD
	 N1Ty9Y9jg4nEg==
Date: Wed, 26 Jan 2022 17:55:48 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: xen-devel@lists.xenproject.org, Julien Grall <jgrall@amazon.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Wei Liu <wl@xen.org>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [PATCH v2] xen: Replace arch_mfn_in_directmap() with
 arch_mfns_in_directmap()
In-Reply-To: <20220126155919.36706-1-julien@xen.org>
Message-ID: <alpine.DEB.2.22.394.2201261755370.27308@ubuntu-linux-20-04-desktop>
References: <20220126155919.36706-1-julien@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 26 Jan 2022, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> The name of arch_mfn_in_directmap() suggests that it will check against
> that the passed MFN should be in the directmap.
> 
> However, the current callers are passing the next MFN and the
> implementation will return true for up to one MFN past the directmap.
> 
> It would be more meaningful to test the exact MFN rather than the
> next one.
> 
> That said, the current expectation is the memory will be direct-mapped
> from 0 up to a given MFN. This may not be a valid assumption on all
> the architectures.
> 
> For instance, on Arm32 only the xenheap that will be direct-mapped.
> This may not be allocated a the beginning of the RAM.
> 
> So take the opportunity to rework the parameters and pass the
> number of pages we want to check. This also requires to rename
> the helper to better match the implementation.
> 
> Note that the implementation of the helper on arm32 is left as-is
> for now.
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>

Acked-by: Stefano Stabellini <sstabellini@kernel.org>


> ----
> 
> Changes in v2:
>     - Pass a region instead the last MFN.
>     - Rename the helper to arch_mfns_in_directmap()
>     - This was https://lore.kernel.org/xen-devel/20211216152220.3317-1-julien@xen.org/
> 
> Looking at the history, it looks like the check in init_node_heap()
> was <= and it was simply moved to a new helper without any adjustment
> as part of c6fdc9696a "boot allocator: use arch helper for virt_to_mfn
> on DIRECTMAP_VIRT region".
> ---
>  xen/arch/arm/include/asm/arm32/mm.h | 2 +-
>  xen/arch/arm/include/asm/arm64/mm.h | 2 +-
>  xen/arch/x86/include/asm/mm.h       | 6 +++---
>  xen/common/page_alloc.c             | 4 ++--
>  4 files changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/xen/arch/arm/include/asm/arm32/mm.h b/xen/arch/arm/include/asm/arm32/mm.h
> index 68612499bf6c..6b039d9ceaa2 100644
> --- a/xen/arch/arm/include/asm/arm32/mm.h
> +++ b/xen/arch/arm/include/asm/arm32/mm.h
> @@ -5,7 +5,7 @@
>   * Only a limited amount of RAM, called xenheap, is always mapped on ARM32.
>   * For convenience always return false.
>   */
> -static inline bool arch_mfn_in_directmap(unsigned long mfn)
> +static inline bool arch_mfns_in_directmap(unsigned long mfn, unsigned long nr)
>  {
>      return false;
>  }
> diff --git a/xen/arch/arm/include/asm/arm64/mm.h b/xen/arch/arm/include/asm/arm64/mm.h
> index d0a3be7e15a4..aa2adac63189 100644
> --- a/xen/arch/arm/include/asm/arm64/mm.h
> +++ b/xen/arch/arm/include/asm/arm64/mm.h
> @@ -5,7 +5,7 @@
>   * On ARM64, all the RAM is currently direct mapped in Xen.
>   * Hence return always true.
>   */
> -static inline bool arch_mfn_in_directmap(unsigned long mfn)
> +static inline bool arch_mfns_in_directmap(unsigned long mfn, unsigned long nr)
>  {
>      return true;
>  }
> diff --git a/xen/arch/x86/include/asm/mm.h b/xen/arch/x86/include/asm/mm.h
> index 5dbcee869624..9b9de4c6bef7 100644
> --- a/xen/arch/x86/include/asm/mm.h
> +++ b/xen/arch/x86/include/asm/mm.h
> @@ -635,13 +635,13 @@ void write_32bit_pse_identmap(uint32_t *l2);
>  
>  /*
>   * x86 maps part of physical memory via the directmap region.
> - * Return whether the input MFN falls in that range.
> + * Return whether the range of MFN falls in the directmap region.
>   */
> -static inline bool arch_mfn_in_directmap(unsigned long mfn)
> +static inline bool arch_mfns_in_directmap(unsigned long mfn, unsigned long nr)
>  {
>      unsigned long eva = min(DIRECTMAP_VIRT_END, HYPERVISOR_VIRT_END);
>  
> -    return mfn <= (virt_to_mfn(eva - 1) + 1);
> +    return (mfn + nr) <= (virt_to_mfn(eva - 1) + 1);
>  }
>  
>  #endif /* __ASM_X86_MM_H__ */
> diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
> index 38eea879c04a..f8749b0787a6 100644
> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -588,7 +588,7 @@ static unsigned long init_node_heap(int node, unsigned long mfn,
>          needed = 0;
>      }
>      else if ( *use_tail && nr >= needed &&
> -              arch_mfn_in_directmap(mfn + nr) &&
> +              arch_mfns_in_directmap(mfn + nr - needed, needed) &&
>                (!xenheap_bits ||
>                 !((mfn + nr - 1) >> (xenheap_bits - PAGE_SHIFT))) )
>      {
> @@ -597,7 +597,7 @@ static unsigned long init_node_heap(int node, unsigned long mfn,
>                        PAGE_SIZE - sizeof(**avail) * NR_ZONES;
>      }
>      else if ( nr >= needed &&
> -              arch_mfn_in_directmap(mfn + needed) &&
> +              arch_mfns_in_directmap(mfn, needed) &&
>                (!xenheap_bits ||
>                 !((mfn + needed - 1) >> (xenheap_bits - PAGE_SHIFT))) )
>      {
> -- 
> 2.32.0
> 


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 01:56:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 01:56:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261141.451839 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCu1G-0002O0-2i; Thu, 27 Jan 2022 01:56:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261141.451839; Thu, 27 Jan 2022 01: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 1nCu1F-0002Nr-Ut; Thu, 27 Jan 2022 01:56:13 +0000
Received: by outflank-mailman (input) for mailman id 261141;
 Thu, 27 Jan 2022 01:56:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aWrC=SL=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nCu1D-0002Lz-Uf
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 01:56:11 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4cab14a6-7f14-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 02:56:10 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 34C64B81CB2;
 Thu, 27 Jan 2022 01:56:10 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A2325C340E7;
 Thu, 27 Jan 2022 01:56: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: 4cab14a6-7f14-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1643248569;
	bh=ng6gduAuTYiUGNybBPsugKLGupgE+++KNGcxfbbdMwk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=DvkO5MFtfxVtkphd5yPBuVBrwQ2Vbsr/aq7dz8Q8pUVARLRO3LAhovIvfNVJxW5Rh
	 k2SVaXQLHcuF5Wh3hyY99MMljRxzj75HRDc/hzBjHwLL3XOzv1TO1z9IVnnmtmmdgo
	 jsZizJ8gUi6qcAUEKLV7hOQOx0M3EKUqgIO7hA8L8rRM8HwQ6McdTs7MZ2SDWSRxbD
	 F+TrrUY8QlCtsv3ZlMA9Kr/FINM5kppk9ceEiPftMZNkZi4KOUubBkWU+6TuRSdgpS
	 vXN3ihv48xDLaI3vLpIuIxexKgg2XjEfMPWDbAlviZC9Om1e24NJpak6ByjHmsifZD
	 fEVTc82VoYoDA==
Date: Wed, 26 Jan 2022 17:56:07 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Penny Zheng <penny.zheng@arm.com>, xen-devel@lists.xenproject.org, 
    sstabellini@kernel.org, Bertrand.Marquis@arm.com, Wei.Chen@arm.com
Subject: Re: [PATCH] design: design doc for shared memory on a dom0less
 system
In-Reply-To: <c820b027-1b23-a762-ca91-7a2f0a46f423@xen.org>
Message-ID: <alpine.DEB.2.22.394.2201261619400.27308@ubuntu-linux-20-04-desktop>
References: <20220126100943.4086208-1-penny.zheng@arm.com> <c820b027-1b23-a762-ca91-7a2f0a46f423@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 26 Jan 2022, Julien Grall wrote:
> > +
> > +- role(Optional)
> > +
> > +    A string property specifying the ownership of a shared memory region,
> > +    the value must be one of the following: "owner", or "borrower"
> > +    A shared memory region could be explicitly backed by one domain, which
> > is
> > +    called "owner domain", and all the other domains who are also sharing
> > +    this region are called "borrower domain".
> > +    If not specified, the default value is "borrower" and owner is
> > +    "dom_shared", a system domain.
> 
> I don't particularly like adding another system domain. Instead, it would be
> better to always specify the owner.
 
I wonder if we could reuse one of the existing system domains. DOM_IO
looks very close to what we need here, except that the current
description doesn't quite fit:

"DOMID_IO is used to restrict page-table updates to mapping I/O memory."

Also DOMID_XEN doesn't fit:

"DOMID_XEN is used to allow privileged domains to map restricted parts
of Xen's heap space (e.g., the machine_to_phys table)."


On the other hand the description of DOMID_COW seems to be exactly what
we want:

"DOMID_COW is used as the owner of sharable pages"

This is technically the description of what we need :-D  However, we
know that DOMID_COW was introduced with a different goal in mind.


> > +
> > +## Example
> > +
> > +chosen {
> > +    #address-cells = <0x1>;
> > +    #size-cells = <0x1>;
> > +    xen,xen-bootargs = "console=dtuart dtuart=serial0 bootscrub=0";
> > +
> > +    ......
> > +
> > +    /* this is for Dom0 */
> > +    dom0-shared-mem@10000000 {
> > +        compatible = "xen,domain-shared-memory-v1";
> > +        xen,shm-id = <0x0>;
> > +        role = "owner";
> > +        xen,shared-mem = <0x10000000 0x10000000 0x10000000>;
> > +    }
> > +
> > +    domU1 {
> > +        compatible = "xen,domain";
> > +        #address-cells = <0x1>;
> > +        #size-cells = <0x1>;
> > +        memory = <0 131072>;
> > +        cpus = <2>;
> > +        vpl011;
> > +
> > +        /*
> > +         * shared memory region identified as 0x0(xen,shm-id = <0x0>)
> > +         * shared between dom0.
> > +         */
> > +        domU1-shared-mem@10000000 {
> > +            compatible = "xen,domain-shared-memory-v1";
> > +            xen,shm-id = <0x0>;
> > +            role = "borrower";
> > +            xen,shared-mem = <0x10000000 0x10000000 0x50000000>;
> 
> Technically, you already know the physical address from the owner. In fact, it
> will only increase the risk to get the wrong binding. So I would like to
> suggest a different binding.
> 
> 1) Reserve the region in the host memory using reserved-memory binding
> 2) Create a binding per domain that contains a phandle to the host memory and
> the role.
> 
> The advantage with this is we could easily support region that are not backed
> by a reserved-memory.

I see what you mean but given that we have to specify the guest physical
address anyway I don't think that replacing the physical address with a
phandle would make things easier. We would still need to specify guest
physical address and maybe size. We already have xen,reg that also
works similarly. So I think it would be best to follow the same format
as xen,reg.

That would also handle the case where the shared memory region is an
sram region: we just need to use an address range that corresponds to
mmio-sram instead of memory. Note that with a phandle we would have the
problem that we could only share the entire sram region and not a part
of it (because we could only link to the full mmio-sram node and not to
a subset of it).

We just need to clearly specify the number of address cells and size
cells to use. We could introduce #shared-mem-address-cells or reuse
#address-cells. Either way parsing it should be easy.


If we wanted to use a phandle, I think it should point to a
reserved-memory region outside of /reserved-memory. Long explanation
follows.

Reserved-memory is a bit tricky to get right because reserved-memory is a
configuration node and we don't have a way to tell who the
reserved-memory configuration is for. Is it for Xen? Or for dom0? Or for
domUs? When discussing system device tree topics (system device tree is
very similar to device tree with Xen domain nodes) reserved-memory was
one of the firsts concerns that Rob raised. The solution for system
device tree was that each domain node should have its own
reserved-memory sub-node instead of using /reserved-memory (e.g.
/chosen/domU/reserved-memory).

Going back to Xen, if we take domUs out of the picture, who is
/reserved-memory for? In practice, as most drivers are in dom0, we have
been assuming /reserved-memory is for dom0. Xen copies reserved-memory
nodes to dom0.

This is why I would like to suggest that if we want to use the phandle
model then I think we should use a new and different reserved-memory
node to specify the shared memory. E.g. /chosen/reserved-memory. We
could call it differently and/or have an unambiguous compatible string:

chosen {
    reserved-memory {
        compatible = "xen,domains-reserved-memory-v1";

        ...
    };

This way we clearly distinguish it from /reserved-memory and we avoid
ownership conflicts with dom0.

 
> > +        }
> > +
> > +        domU1-shared-mem@50000000 {
> > +            compatible = "xen,domain-shared-memory-v1";
> > +            xen,shm-id = <0x1>;
> > +            xen,shared-mem = <0x50000000 0x20000000 0x60000000>;
> > +        }
> > +
> > +        ......
> > +
> > +    };
> > +
> > +    domU2 {
> > +        compatible = "xen,domain";
> > +        #address-cells = <0x1>;
> > +        #size-cells = <0x1>;
> > +        memory = <0 65536>;
> > +        cpus = <1>;
> > +
> > +        /*
> > +         * shared memory region identified as 0x1(xen,shm-id = <0x1>)
> > +         * shared between domU1.
> > +         */
> > +        domU2-shared-mem@50000000 {
> > +            compatible = "xen,domain-shared-memory-v1";
> > +            xen,shm-id = <0x1>;
> > +            xen,shared-mem = <0x50000000 0x20000000 0x70000000>;
> > +        }
> > +
> > +        ......
> > +    };
> > +};



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 02:05:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 02:05:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261148.451861 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCu9h-0004Vs-33; Thu, 27 Jan 2022 02:04:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261148.451861; Thu, 27 Jan 2022 02:04:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCu9h-0004Vl-06; Thu, 27 Jan 2022 02:04:57 +0000
Received: by outflank-mailman (input) for mailman id 261148;
 Thu, 27 Jan 2022 02:04: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 1nCu9g-0004Vb-Bu; Thu, 27 Jan 2022 02:04: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 1nCu9g-0002qr-9X; Thu, 27 Jan 2022 02:04: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 1nCu9g-0007aW-3J; Thu, 27 Jan 2022 02:04:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nCu9f-0001k0-Vu; Thu, 27 Jan 2022 02:04: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=M/51v4kA2U2rqzn9vmsS8P7sJBXmisqd/SiYb5IZt/E=; b=0U5W3yaw4hotGh/HaQCR/VIcxI
	pvvR0x4cwDI6KdEhk1FcDHOIPy53l95MLjirNDImqEQMgxR4687Tpx1ILkpd/heyEF9IGCyJLVkPe
	bgtLiRWWHOsypcBj1ZKY3IsVCwqS6PHdv3rz45hY492jBFbOURp3F/xBoioDlzZc1V50=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167851-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167851: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-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-armhf-armhf-libvirt: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-armhf-armhf-libvirt-qcow2: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-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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=9480a1a519cf016623f657dc544cb372a82b5708
X-Osstest-Versions-That:
    xen=329b7bed80032fd52904af6a0cac7dd3716d27cf
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 27 Jan 2022 02:04:55 +0000

flight 167851 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167851/

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 167818
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167818
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167818
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167818
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167818
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167818
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167818
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167818
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167818
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167818
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167818
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167818
 test-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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  9480a1a519cf016623f657dc544cb372a82b5708
baseline version:
 xen                  329b7bed80032fd52904af6a0cac7dd3716d27cf

Last test of basis   167818  2022-01-25 15:39:22 Z    1 days
Testing same since   167851  2022-01-26 08:29:34 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   329b7bed80..9480a1a519  9480a1a519cf016623f657dc544cb372a82b5708 -> master


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 02:58:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 02:58:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261158.451879 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCuz2-0001LI-Va; Thu, 27 Jan 2022 02:58:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261158.451879; Thu, 27 Jan 2022 02: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 1nCuz2-0001LB-ST; Thu, 27 Jan 2022 02:58:00 +0000
Received: by outflank-mailman (input) for mailman id 261158;
 Thu, 27 Jan 2022 02: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 1nCuz1-0001L1-Ry; Thu, 27 Jan 2022 02: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 1nCuz1-0003pG-MQ; Thu, 27 Jan 2022 02: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 1nCuz1-0001Nr-D4; Thu, 27 Jan 2022 02:57:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nCuz1-0006dL-Cc; Thu, 27 Jan 2022 02: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=1WVqULc1kkK/VFutqwQhhgqTZ6OSmZxUTGQVMCXRqi4=; b=bQTRehZLTYjaMkGS3of1gjUKy1
	SZiBKyZoV4W38EpZonnCQ2tGRIibGurr32ldx2uRXl0G0uYOdgrmFGY3rnESizNEkKZZXepe1OZ9Q
	3lccODEp8jcfjYn8xKkPtKQ0FG02UyE18bknJnCvavm2mgyAlBpjYoXvxiJJjgBy+RR4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167864-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.14-testing test] 167864: regressions - FAIL
X-Osstest-Failures:
    xen-4.14-testing:build-amd64:xen-build:fail:regression
    xen-4.14-testing:build-amd64-xsm:xen-build:fail:regression
    xen-4.14-testing:test-amd64-i386-qemuu-rhel6hvm-amd:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-qemuu-rhel6hvm-intel:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-pvshim:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-shadow:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:build-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-livepatch:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-migrupgrade:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-coresched-i386-xl:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-freebsd10-amd64:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-freebsd10-i386:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-livepatch:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-migrupgrade:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-pair:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-qemut-rhel6hvm-amd:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-amd64-i386-qemut-rhel6hvm-intel:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-xtf-amd64-amd64-1:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-xtf-amd64-amd64-2:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-xtf-amd64-amd64-3:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-xtf-amd64-amd64-4:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-xtf-amd64-amd64-5:build-check(1):blocked:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-raw: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-seattle:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-cubietruck: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-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-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-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=50935b88b4cd7f9cefe9eb2ffc5150d06c501d05
X-Osstest-Versions-That:
    xen=45299b3cc83d3d19c24d74f7e28dcc83e8fa0c2e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 27 Jan 2022 02:57:59 +0000

flight 167864 xen-4.14-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167864/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   6 xen-build                fail REGR. vs. 167629
 build-amd64-xsm               6 xen-build                fail REGR. vs. 167629

Tests which did not succeed, but are not blocking:
 test-amd64-i386-qemuu-rhel6hvm-amd  1 build-check(1)               blocked n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 build-check(1)             blocked n/a
 test-amd64-i386-xl            1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-pvshim     1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemut-debianhvm-amd64  1 build-check(1)         blocked n/a
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm  1 build-check(1)      blocked n/a
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-xl-qemut-win7-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemut-ws16-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-amd64  1 build-check(1)         blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1)  blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm  1 build-check(1)      blocked n/a
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked n/a
 test-amd64-i386-xl-qemuu-ws16-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-shadow     1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-vhd        1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-xsm        1 build-check(1)               blocked  n/a
 test-amd64-coresched-amd64-xl  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-xsm       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-shadow    1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-rtds      1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-ws16-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  1 build-check(1)     blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)        blocked n/a
 test-amd64-amd64-xl-qemut-ws16-amd64  1 build-check(1)             blocked n/a
 build-amd64-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  1 build-check(1)     blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-amd64  1 build-check(1)        blocked n/a
 test-amd64-amd64-xl-qcow2     1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvshim    1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit2   1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit1   1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-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-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-livepatch    1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-intel  1 build-check(1)              blocked n/a
 test-amd64-amd64-migrupgrade  1 build-check(1)               blocked  n/a
 test-amd64-amd64-pair         1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-pygrub       1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-freebsd11-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-qemuu-freebsd12-amd64  1 build-check(1)           blocked n/a
 test-amd64-i386-xl-qemuu-win7-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemuu-ovmf-amd64  1 build-check(1)              blocked n/a
 test-amd64-coresched-i386-xl  1 build-check(1)               blocked  n/a
 test-amd64-i386-freebsd10-amd64  1 build-check(1)               blocked  n/a
 test-amd64-i386-freebsd10-i386  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-livepatch     1 build-check(1)               blocked  n/a
 test-amd64-i386-migrupgrade   1 build-check(1)               blocked  n/a
 test-amd64-i386-pair          1 build-check(1)               blocked  n/a
 test-amd64-i386-qemut-rhel6hvm-amd  1 build-check(1)               blocked n/a
 test-amd64-i386-qemut-rhel6hvm-intel  1 build-check(1)             blocked n/a
 test-xtf-amd64-amd64-1        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-2        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-3        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-4        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-5        1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167629
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167629
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167629
 test-arm64-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-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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  50935b88b4cd7f9cefe9eb2ffc5150d06c501d05
baseline version:
 xen                  45299b3cc83d3d19c24d74f7e28dcc83e8fa0c2e

Last test of basis   167629  2022-01-07 08:11:06 Z   19 days
Testing same since   167812  2022-01-25 13:06:26 Z    1 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>

jobs:
 build-amd64-xsm                                              fail    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  fail    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          blocked 
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       blocked 
 test-xtf-amd64-amd64-2                                       blocked 
 test-xtf-amd64-amd64-3                                       blocked 
 test-xtf-amd64-amd64-4                                       blocked 
 test-xtf-amd64-amd64-5                                       blocked 
 test-amd64-amd64-xl                                          blocked 
 test-amd64-coresched-amd64-xl                                blocked 
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           blocked 
 test-amd64-coresched-i386-xl                                 blocked 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        blocked 
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         blocked 
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 blocked 
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 blocked 
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      blocked 
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       blocked 
 test-amd64-amd64-qemuu-nested-amd                            blocked 
 test-amd64-amd64-xl-pvhv2-amd                                blocked 
 test-amd64-i386-qemut-rhel6hvm-amd                           blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-dom0pvh-xl-amd                              blocked 
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    blocked 
 test-amd64-i386-xl-qemut-debianhvm-amd64                     blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    blocked 
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     blocked 
 test-amd64-i386-freebsd10-amd64                              blocked 
 test-amd64-amd64-qemuu-freebsd11-amd64                       blocked 
 test-amd64-amd64-qemuu-freebsd12-amd64                       blocked 
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         blocked 
 test-amd64-i386-xl-qemuu-ovmf-amd64                          blocked 
 test-amd64-amd64-xl-qemut-win7-amd64                         blocked 
 test-amd64-i386-xl-qemut-win7-amd64                          blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-i386-xl-qemuu-win7-amd64                          blocked 
 test-amd64-amd64-xl-qemut-ws16-amd64                         blocked 
 test-amd64-i386-xl-qemut-ws16-amd64                          blocked 
 test-amd64-amd64-xl-qemuu-ws16-amd64                         blocked 
 test-amd64-i386-xl-qemuu-ws16-amd64                          blocked 
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  blocked 
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  blocked 
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        blocked 
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         blocked 
 test-amd64-i386-freebsd10-i386                               blocked 
 test-amd64-amd64-qemuu-nested-intel                          blocked 
 test-amd64-amd64-xl-pvhv2-intel                              blocked 
 test-amd64-i386-qemut-rhel6hvm-intel                         blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-amd64-dom0pvh-xl-intel                            blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   blocked 
 test-amd64-i386-livepatch                                    blocked 
 test-amd64-amd64-migrupgrade                                 blocked 
 test-amd64-i386-migrupgrade                                  blocked 
 test-amd64-amd64-xl-multivcpu                                blocked 
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        blocked 
 test-amd64-i386-pair                                         blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   blocked 
 test-amd64-i386-xl-pvshim                                    blocked 
 test-amd64-amd64-pygrub                                      blocked 
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    blocked 
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     blocked 
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             blocked 
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              blocked 
 test-amd64-amd64-xl-shadow                                   blocked 
 test-amd64-i386-xl-shadow                                    blocked 
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       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 50935b88b4cd7f9cefe9eb2ffc5150d06c501d05
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Tue Jan 25 13:53:14 2022 +0100

    x86/spec-ctrl: Fix NMI race condition with VT-x MSR_SPEC_CTRL handling
    
    The logic was based on a mistaken understanding of how NMI blocking on vmexit
    works.  NMIs are only blocked for EXIT_REASON_NMI, and not for general exits.
    Therefore, an NMI can in general hit early in the vmx_asm_vmexit_handler path,
    and the guest's value will be clobbered before it is saved.
    
    Switch to using MSR load/save lists.  This causes the guest value to be saved
    atomically with respect to NMIs/MCEs/etc.
    
    First, update vmx_cpuid_policy_changed() to configure the load/save lists at
    the same time as configuring the intercepts.  This function is always used in
    remote context, so extend the vmx_vmcs_{enter,exit}() block to cover the whole
    function, rather than having multiple remote acquisitions of the same VMCS.
    
    Both of vmx_{add,del}_guest_msr() can fail.  The -ESRCH delete case is fine,
    but all others are fatal to the running of the VM, so handle them using
    domain_crash() - this path is only used during domain construction anyway.
    
    Second, update vmx_{get,set}_reg() to use the MSR load/save lists rather than
    vcpu_msrs, and update the vcpu_msrs comment to describe the new state
    location.
    
    Finally, adjust the entry/exit asm.
    
    Because the guest value is saved and loaded atomically, we do not need to
    manually load the guest value, nor do we need to enable SCF_use_shadow.  This
    lets us remove the use of DO_SPEC_CTRL_EXIT_TO_GUEST.  Additionally,
    SPEC_CTRL_ENTRY_FROM_PV gets removed too, because on an early entry failure,
    we're no longer in the guest MSR_SPEC_CTRL context needing to switch back to
    Xen's context.
    
    The only action remaining is to load Xen's MSR_SPEC_CTRL value on vmexit.  We
    could in principle use the host msr list, but is expected to complicated
    future work.  Delete DO_SPEC_CTRL_ENTRY_FROM_HVM entirely, and use a shorter
    code sequence to simply reload Xen's setting from the top-of-stack block.
    
    Adjust the comment at the top of spec_ctrl_asm.h in light of this bugfix.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 81f0eaadf84d273a6ff8df3660b874a02d0e7677
    master date: 2022-01-20 16:32:11 +0000

commit dbfc6ba03ae091b4d42893dc7133b8c587204d2e
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Tue Jan 25 13:52:56 2022 +0100

    x86/spec-ctrl: Drop SPEC_CTRL_{ENTRY_FROM,EXIT_TO}_HVM
    
    These were written before Spectre/Meltdown went public, and there was large
    uncertainty in how the protections would evolve.  As it turns out, they're
    very specific to Intel hardware, and not very suitable for AMD.
    
    Drop the macros, opencoding the relevant subset of functionality, and leaving
    grep-fodder to locate the logic.  No change at all for VT-x.
    
    For AMD, the only relevant piece of functionality is DO_OVERWRITE_RSB,
    although we will soon be adding (different) logic to handle MSR_SPEC_CTRL.
    
    This has a marginal improvement of removing an unconditional pile of long-nops
    from the vmentry/exit path.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 95b13fa43e0753b7514bef13abe28253e8614f62
    master date: 2022-01-20 16:32:11 +0000

commit 4e25a788d000e57c4d04fdd33c209d7173420580
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Tue Jan 25 13:52:30 2022 +0100

    x86/msr: Split MSR_SPEC_CTRL handling
    
    In order to fix a VT-x bug, and support MSR_SPEC_CTRL on AMD, move
    MSR_SPEC_CTRL handling into the new {pv,hvm}_{get,set}_reg() infrastructure.
    
    Duplicate the msrs->spec_ctrl.raw accesses in the PV and VT-x paths for now.
    The SVM path is currently unreachable because of the CPUID policy.
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 6536688439dbca1d08fd6db5be29c39e3917fb2f
    master date: 2022-01-20 16:32:11 +0000

commit c45c2c2e09295ef3008a79d78673af0819ff4e4f
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Tue Jan 25 13:52:07 2022 +0100

    x86/guest: Introduce {get,set}_reg() infrastructure
    
    Various registers have per-guest-type or per-vendor locations or access
    requirements.  To support their use from common code, provide accessors which
    allow for per-guest-type behaviour.
    
    For now, just infrastructure handling default cases and expectations.
    Subsequent patches will start handling registers using this infrastructure.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 88d3ff7ab15da277a85b39735797293fb541c718
    master date: 2022-01-20 16:32:11 +0000

commit 0f88870898ae82aa9e7d0e6d1391e598a4aa7af7
Author: Jan Beulich <jbeulich@suse.com>
Date:   Tue Jan 25 13:51:49 2022 +0100

    x86/time: improve TSC / CPU freq calibration accuracy
    
    While the problem report was for extreme errors, even smaller ones would
    better be avoided: The calculated period to run calibration loops over
    can (and usually will) be shorter than the actual time elapsed between
    first and last platform timer and TSC reads. Adjust values returned from
    the init functions accordingly.
    
    On a Skylake system I've tested this on accuracy (using HPET) went from
    detecting in some cases more than 220kHz too high a value to about
    ±2kHz. On other systems (or on this system, but with PMTMR) the original
    error range was much smaller, with less (in some cases only very little)
    improvement.
    
    Reported-by: James Dingwall <james-xen@dingwall.me.uk>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: a5c9a80af34eefcd6e31d0ed2b083f452cd9076d
    master date: 2022-01-13 14:31:52 +0100

commit 6b776749ff7e45c30696235dbb4ecd2b53401cff
Author: Jan Beulich <jbeulich@suse.com>
Date:   Tue Jan 25 13:51:36 2022 +0100

    x86/time: use relative counts in calibration loops
    
    Looping until reaching/exceeding a certain value is error prone: If the
    target value is close enough to the wrapping point, the loop may not
    terminate at all. Switch to using delta values, which then allows to
    fold the two loops each into just one.
    
    Fixes: 93340297802b ("x86/time: calibrate TSC against platform timer")
    Reported-by: Roger Pau Monné <roger.pau@citrix.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 467191641d2a2fd2e43b3ae7b80399f89d339980
    master date: 2022-01-13 14:30:18 +0100

commit 5af939d96a6c7c5a0b4e00f7be3002333959e7e3
Author: Julien Grall <jgrall@amazon.com>
Date:   Tue Jan 25 13:49:40 2022 +0100

    passthrough/x86: stop pirq iteration immediately in case of error
    
    pt_pirq_iterate() will iterate in batch over all the PIRQs. The outer
    loop will bail out if 'rc' is non-zero but the inner loop will continue.
    
    This means 'rc' will get clobbered and we may miss any errors (such as
    -ERESTART in the case of the callback pci_clean_dpci_irq()).
    
    This is CVE-2022-23035 / XSA-395.
    
    Fixes: c24536b636f2 ("replace d->nr_pirqs sized arrays with radix tree")
    Fixes: f6dd295381f4 ("dpci: replace tasklet with softirq")
    Signed-off-by: Julien Grall <jgrall@amazon.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    master commit: 9480a1a519cf016623f657dc544cb372a82b5708
    master date: 2022-01-25 13:27:02 +0100

commit dbd85c0a8264aa2cd9b011a189ac8b1d90297d80
Author: Julien Grall <jgrall@amazon.com>
Date:   Tue Jan 25 13:49:26 2022 +0100

    xen/grant-table: Only decrement the refcounter when grant is fully unmapped
    
    The grant unmapping hypercall (GNTTABOP_unmap_grant_ref) is not a
    simple revert of the changes done by the grant mapping hypercall
    (GNTTABOP_map_grant_ref).
    
    Instead, it is possible to partially (or even not) clear some flags.
    This will leave the grant is mapped until a future call where all
    the flags would be cleared.
    
    XSA-380 introduced a refcounting that is meant to only be dropped
    when the grant is fully unmapped. Unfortunately, unmap_common() will
    decrement the refcount for every successful call.
    
    A consequence is a domain would be able to underflow the refcount
    and trigger a BUG().
    
    Looking at the code, it is not clear to me why a domain would
    want to partially clear some flags in the grant-table. But as
    this is part of the ABI, it is better to not change the behavior
    for now.
    
    Fix it by checking if the maptrack handle has been released before
    decrementing the refcounting.
    
    This is CVE-2022-23034 / XSA-394.
    
    Fixes: 9781b51efde2 ("gnttab: replace mapkind()")
    Signed-off-by: Julien Grall <jgrall@amazon.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 975a8fb45ca186b3476e5656c6ad5dad1122dbfd
    master date: 2022-01-25 13:25:49 +0100

commit 861e27398c1da53e1c483c5dde12ad019ced6786
Author: Julien Grall <jgrall@amazon.com>
Date:   Tue Jan 25 13:49:06 2022 +0100

    xen/arm: p2m: Always clear the P2M entry when the mapping is removed
    
    Commit 2148a125b73b ("xen/arm: Track page accessed between batch of
    Set/Way operations") allowed an entry to be invalid from the CPU PoV
    (lpae_is_valid()) but valid for Xen (p2m_is_valid()). This is useful
    to track which page is accessed and only perform an action on them
    (e.g. clean & invalidate the cache after a set/way instruction).
    
    Unfortunately, __p2m_set_entry() is only zeroing the P2M entry when
    lpae_is_valid() returns true. This means the entry will not be zeroed
    if the entry was valid from Xen PoV but invalid from the CPU PoV for
    tracking purpose.
    
    As a consequence, this will allow a domain to continue to access the
    page after it was removed.
    
    Resolve the issue by always zeroing the entry if it the LPAE bit is
    set or the entry is about to be removed.
    
    This is CVE-2022-23033 / XSA-393.
    
    Reported-by: Dmytro Firsov <Dmytro_Firsov@epam.com>
    Fixes: 2148a125b73b ("xen/arm: Track page accessed between batch of Set/Way operations")
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Signed-off-by: Julien Grall <jgrall@amazon.com>
    master commit: a428b913a002eb2b7425b48029c20a52eeee1b5a
    master date: 2022-01-25 13:25:01 +0100
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 06:04:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 06:04:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261185.451961 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCxtR-0003i4-Ue; Thu, 27 Jan 2022 06:04:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261185.451961; Thu, 27 Jan 2022 06:04:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCxtR-0003hx-Rf; Thu, 27 Jan 2022 06:04:25 +0000
Received: by outflank-mailman (input) for mailman id 261185;
 Thu, 27 Jan 2022 06:04:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nCxtQ-0003hn-SL; Thu, 27 Jan 2022 06:04: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 1nCxtQ-0007tu-Ps; Thu, 27 Jan 2022 06:04: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 1nCxtQ-0003BI-GU; Thu, 27 Jan 2022 06:04:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nCxtQ-0003PM-Ep; Thu, 27 Jan 2022 06: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=EZUTOJYdrobKAB0D9g83H7ifEjil1wJDxMBELkr1WAc=; b=hF6CEerMuljsra/ypNcxl/j/k0
	XYe8KIELTGoil4YjuJJ5HcXicPwpeKP/nxCkIGFDCN5cI3Ct51tVJE2hUJOLndAkwjvL6Te5QCD5a
	B1Q6SCE68r3DADJk2jMQGpKgVcm6IdEro/s1/UyQkT4EEwCqi+il6YL7h/PDja12nVPg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167880-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.15-testing test] 167880: tolerable FAIL - PUSHED
X-Osstest-Failures:
    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-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-win7-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-amd64-xl-qemut-ws16-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-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-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-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-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-amd64-i386-libvirt-raw: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-xsm:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx: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:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2: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-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-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt: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-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    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
X-Osstest-Versions-This:
    xen=2a0c6e79dafeafeb1dcf9b87fcb9abc1e47b40e0
X-Osstest-Versions-That:
    xen=a763f8f158e81158bdf2470dbc3d98353f2322e2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 27 Jan 2022 06:04:24 +0000

flight 167880 xen-4.15-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167880/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167628
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167628
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167628
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167628
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167628
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167628
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167628
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167628
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167628
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167628
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167628
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167628
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-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-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 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-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     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-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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                  2a0c6e79dafeafeb1dcf9b87fcb9abc1e47b40e0
baseline version:
 xen                  a763f8f158e81158bdf2470dbc3d98353f2322e2

Last test of basis   167628  2022-01-07 07:36:33 Z   19 days
Failing since        167813  2022-01-25 13:06:39 Z    1 days    3 attempts
Testing same since   167880  2022-01-26 14:36:31 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>
  Julien Grall <jgrall@amazon.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   a763f8f158..2a0c6e79da  2a0c6e79dafeafeb1dcf9b87fcb9abc1e47b40e0 -> stable-4.15


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 06:30:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 06:30:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261192.451973 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCyIP-00070T-0x; Thu, 27 Jan 2022 06:30:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261192.451973; Thu, 27 Jan 2022 06:30:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCyIO-00070M-U7; Thu, 27 Jan 2022 06:30:12 +0000
Received: by outflank-mailman (input) for mailman id 261192;
 Thu, 27 Jan 2022 06:30:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=EaEz=SL=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1nCyIN-00070E-0n
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 06:30:11 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 92cd8cb4-7f3a-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 07:30:09 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 9D2041F3AF;
 Thu, 27 Jan 2022 06:30:08 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 5EA8413470;
 Thu, 27 Jan 2022 06:30:08 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id sJ7dFfA78mH8cgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 27 Jan 2022 06: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: 92cd8cb4-7f3a-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1643265008; h=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=BUVsitANnbfJYDv58OBHl6jlg+ZcSi87+nae04lEbFE=;
	b=n25Q8+kwBUoLwO3tKZkEk4VLT1bsb4RxhJd87/iQ9blc+X1213uRcZNRWVA2tb6O+uw6c1
	WR0WqibiCci2usTsz4OxzjpUcCMmroR09FZSiGEAAfvYPs3w+9n99eaVfy0yi8xTUDhA9b
	qIkF/ki/2HsORhw0QKrHvRRGgAtj7wc=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Manuel Bouyer <bouyer@antioche.eu.org>,
	Simon Kuenzer <simon.kuenzer@neclab.eu>,
	Paul Durrant <paul@xen.org>
Subject: [PATCH v3] public: add XEN_RING_NR_UNCONSUMED_*() macros to ring.h
Date: Thu, 27 Jan 2022 07:30:04 +0100
Message-Id: <20220127063004.7937-1-jgross@suse.com>
X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Today RING_HAS_UNCONSUMED_*() macros are returning the number of
unconsumed requests or responses instead of a boolean as the name of
the macros would imply.

As this "feature" is already being used, rename the macros to
XEN_RING_NR_UNCONSUMED_*() and define the RING_HAS_UNCONSUMED_*() macros
by using the new XEN_RING_NR_UNCONSUMED_*() macros. In order to avoid
future misuse let RING_HAS_UNCONSUMED_*() optionally really return a
boolean (can be activated by defining XEN_RING_HAS_UNCONSUMED_IS_BOOL).

Note that the known misuses need to be switched to the new
XEN_RING_NR_UNCONSUMED_*() macros when using the RING_HAS_UNCONSUMED_*()
variants returning a boolean value.

Cc: Roger Pau Monne <roger.pau@citrix.com>
Cc: Manuel Bouyer <bouyer@antioche.eu.org>
Cc: Simon Kuenzer <simon.kuenzer@neclab.eu>
Cc: Paul Durrant <paul@xen.org>
Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- add XEN_ prefix to new macros (Jan Beulich)
---
 xen/include/public/io/ring.h | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/xen/include/public/io/ring.h b/xen/include/public/io/ring.h
index c486c457e0..277af36e61 100644
--- a/xen/include/public/io/ring.h
+++ b/xen/include/public/io/ring.h
@@ -208,11 +208,11 @@ typedef struct __name##_back_ring __name##_back_ring_t
     (RING_FREE_REQUESTS(_r) == 0)
 
 /* Test if there are outstanding messages to be processed on a ring. */
-#define RING_HAS_UNCONSUMED_RESPONSES(_r)                               \
+#define XEN_RING_NR_UNCONSUMED_RESPONSES(_r)                            \
     ((_r)->sring->rsp_prod - (_r)->rsp_cons)
 
 #ifdef __GNUC__
-#define RING_HAS_UNCONSUMED_REQUESTS(_r) ({                             \
+#define XEN_RING_NR_UNCONSUMED_REQUESTS(_r) ({                          \
     unsigned int req = (_r)->sring->req_prod - (_r)->req_cons;          \
     unsigned int rsp = RING_SIZE(_r) -                                  \
         ((_r)->req_cons - (_r)->rsp_prod_pvt);                          \
@@ -220,13 +220,27 @@ typedef struct __name##_back_ring __name##_back_ring_t
 })
 #else
 /* Same as above, but without the nice GCC ({ ... }) syntax. */
-#define RING_HAS_UNCONSUMED_REQUESTS(_r)                                \
+#define XEN_RING_NR_UNCONSUMED_REQUESTS(_r)                             \
     ((((_r)->sring->req_prod - (_r)->req_cons) <                        \
       (RING_SIZE(_r) - ((_r)->req_cons - (_r)->rsp_prod_pvt))) ?        \
      ((_r)->sring->req_prod - (_r)->req_cons) :                         \
      (RING_SIZE(_r) - ((_r)->req_cons - (_r)->rsp_prod_pvt)))
 #endif
 
+#ifdef XEN_RING_HAS_UNCONSUMED_IS_BOOL
+/*
+ * These variants should only be used in case no caller is abusing them for
+ * obtaining the number of unconsumed responses/requests.
+ */
+#define RING_HAS_UNCONSUMED_RESPONSES(_r) \
+    (!!XEN_RING_NR_UNCONSUMED_RESPONSES(_r))
+#define RING_HAS_UNCONSUMED_REQUESTS(_r)  \
+    (!!XEN_RING_NR_UNCONSUMED_REQUESTS(_r))
+#else
+#define RING_HAS_UNCONSUMED_RESPONSES(_r) XEN_RING_NR_UNCONSUMED_RESPONSES(_r)
+#define RING_HAS_UNCONSUMED_REQUESTS(_r)  XEN_RING_NR_UNCONSUMED_REQUESTS(_r)
+#endif
+
 /* Direct access to individual ring elements, by index. */
 #define RING_GET_REQUEST(_r, _idx)                                      \
     (&((_r)->sring->ring[((_idx) & (RING_SIZE(_r) - 1))].req))
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 07:12:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 07:12:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261196.451987 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCywy-0002v5-Bv; Thu, 27 Jan 2022 07:12:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261196.451987; Thu, 27 Jan 2022 07:12:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCywy-0002uy-7h; Thu, 27 Jan 2022 07:12:08 +0000
Received: by outflank-mailman (input) for mailman id 261196;
 Thu, 27 Jan 2022 07:12: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 1nCywx-0002uo-Pv; Thu, 27 Jan 2022 07:12: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 1nCywx-0000jo-Lx; Thu, 27 Jan 2022 07:12: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 1nCywx-0006mA-5N; Thu, 27 Jan 2022 07:12:07 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nCywx-0004ua-4u; Thu, 27 Jan 2022 07:12: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=ejGrSlZDhfI/UEQtdMmWQhpjK5A8ltpgUKgIad8tivA=; b=ciunXJW0jO1ed+Q9osRqWzc/0Z
	vIUW0VUkpsGh2PLx/FGmX+gMKBKbXsoyW9L3Hdx6l+WYn+xzHcdwQPX/LjhhSaMdJrHIX90Lgyc66
	/MJ5ATochYheTEv8eH25FUW18U7i5s+sBl5e50N4Vy44iWDie8Ui32+QnvZUlx/yIRks=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167884-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167884: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-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-armhf-armhf-libvirt-qcow2:saverestore-support-check: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: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: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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-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-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-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw: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-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=48302d4eb628ff0bea4d7e92cbf6b726410eb4c3
X-Osstest-Versions-That:
    qemuu=aeb0ae95b7f18c66158792641cb6ba0cde5789ab
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 27 Jan 2022 07:12:07 +0000

flight 167884 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167884/

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 167794
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167794
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167794
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167794
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167794
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167794
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167794
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167794
 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     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          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-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          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-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                48302d4eb628ff0bea4d7e92cbf6b726410eb4c3
baseline version:
 qemuu                aeb0ae95b7f18c66158792641cb6ba0cde5789ab

Last test of basis   167794  2022-01-22 18:08:14 Z    4 days
Testing same since   167884  2022-01-26 15:06:58 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Dr. David Alan Gilbert <dgilbert@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>
  Vivek Goyal <vgoyal@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-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   aeb0ae95b7..48302d4eb6  48302d4eb628ff0bea4d7e92cbf6b726410eb4c3 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 07:25:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 07:25:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261204.451997 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzA7-0004Vi-MN; Thu, 27 Jan 2022 07:25:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261204.451997; Thu, 27 Jan 2022 07:25:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzA7-0004Vb-JQ; Thu, 27 Jan 2022 07:25:43 +0000
Received: by outflank-mailman (input) for mailman id 261204;
 Thu, 27 Jan 2022 07:25:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nCzA6-0004VV-K0
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 07:25:42 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 54ecef95-7f42-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 08:25:41 +0100 (CET)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2054.outbound.protection.outlook.com [104.47.9.54]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-40-GoEUB8VoOTqR6oVs_tWYOQ-1; Thu, 27 Jan 2022 08:25:40 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AS8PR04MB9173.eurprd04.prod.outlook.com (2603:10a6:20b:448::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.18; Thu, 27 Jan
 2022 07:25:38 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 07: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: 54ecef95-7f42-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643268341;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=giiA0YIIHYXKkbOfu9lf9cgqbEe8SY9/S6H2aCDZb08=;
	b=CRytd9XWKN+ZFd1YN92wrzPf0j6bkjnIg02ChFrmWDhB4lEumQb6FkBWRo82sxmB4WsQF5
	jM1SUZL0ZcgB9f7IDShS/x1d0I5ztKvCuOqqRCkjHPc+uNNI2f6sM2EX1XHe8kmqSTq9rl
	i3O9+qVkt8ZI5e/ueEEcyxsyD9Pkf1A=
X-MC-Unique: GoEUB8VoOTqR6oVs_tWYOQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ej12aIky/cgW0n+CunJ6Kbgcb40AY1gl97YkUqnzrbnrXmlboMx8bwMW5KubB81c1ZLh1VFHVNw+EjrIXUvkr7WDO8D/eSG12hNLVYF/bcGW38EE0hia72dh4L3pHrqj5R+vicV88XuySZRorMZGi3hY+dX6GRAVaW6auLcCpUvDCmk+THTGgg+rEjCHOMIzD7Fvrnhz90/BjFiOt72b6y4eBROM5bnr/riTtJUKKeuX9CcMzyRF+sK77j9WNHcHGh0JJ7EH0anvSTZjEPvtl8iZtKneigbu/JJFPPcOCz/AjCD4nq2ZLlIps26M22qMRPBBNw4RupdPCU1rifzoKg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uaotrinTgkLyYR0wKqR/kZNg2yeHCpazezaokuSXli8=;
 b=Lh4V2xhuBbmyrP3UGXLBd4WX1ysPQ48lraCD9hu51HbHudZmZp14XMaGqA1x16mY90TMeTAYmyRQqkC9mrCbv9L/wUgR6n7l+vnoNtU4dS0/94DK6cTGYFx8fTRxL4X72QCBcAhw5OBTKjYL+7arFBt46Rpn0ob5FXBqdRGAgW0TXHrgMIaEor/zVMdAN+uVG+Uju8yLucLZ7dQkzh7D8ifLgfkmaUJxt4pOQNLHGY4zCxgDP+oRZIixENE+9jiBlcrU8m5UichWeMeJeyTYFp/R0EIVDJR1RLF/qMO9VK9QrmEsCMQ/2+wcULOMZ+BnLGZX1o7ewojSqqLNjQreIQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6431b317-a3a5-013a-83e4-37b5c716ceb2@suse.com>
Date: Thu, 27 Jan 2022 08:25:36 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 3/8] x86/svm: VMEntry/Exit logic for MSR_SPEC_CTRL
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20220126084452.28975-1-andrew.cooper3@citrix.com>
 <20220126084452.28975-4-andrew.cooper3@citrix.com>
 <f5c1134a-f446-7031-877e-6a3177120de9@suse.com>
 <e987b428-d617-ec8f-16f1-7fd32005f9f3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <e987b428-d617-ec8f-16f1-7fd32005f9f3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS8P251CA0024.EURP251.PROD.OUTLOOK.COM
 (2603:10a6:20b:2f2::27) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 0066a237-a94c-4902-f1d4-08d9e166371c
X-MS-TrafficTypeDiagnostic: AS8PR04MB9173:EE_
X-Microsoft-Antispam-PRVS:
	<AS8PR04MB9173B9931FA3062A5CEF5565B3219@AS8PR04MB9173.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:
	UxAdlF73ZE95Yo/Vg+SxFpzBSOLMDlNLya3/a21abs1KTAyGenMqN78WbWaxxTYqH/75o09My6MwnVPYlkJ7l9RNNN2JMO94i1qz/nb/4WegaT9Bff2ph5N6J0JbDwmAAS8wKxsrftrgYma0r0E9lohwseFIcFkN4Ugfc8GF1aNc96n8oTc8EK656rqC9KItvxA/1licmzF/1NQ/I9+9J04lW8wmi5Qp7KChNwaFpkR36hWVKT9qiK/1JmrCSaf7+l/FWnna2U+w51WmRG/2pmn7amLcwlzWku1mkRcD+QhCUuFVV6skh19kRGvL1GqLP8bAHodvwnI7HhJAZ2L/Dw8YTqxMdc92Tgzx4sAmB6OPWLxIFLjtseg3Ep1UGHBQR19ZA/g6eR3Uo1L8K4sV6qGua0cdLubFs7VZhZgi+RVEM52q/NfmO1xa4agk7Neu2nEEikNq1uKYys4UzL5HI6XBoyHp5L4e4v+gRwocwFd9hwDHpkcZaIoqr9RXjf1XoB0TG2bX5GK3Xant2/k6KCMHW73FvGWipO0pvxMfpJnnbxC6fhPRb1gyyoZAap7akFbTZ8pKyBo23UuVtGBHcg7/XVz+QjUD1akDB0tuzeR47r88e+PL8BH9MwBlfYp5TwOLjivEFUeP04OjjNJHPT9Za7DF23XcRkznxT3JY+vcz8BsBwWb/l77bu4aIVoAOHE47EUHiALjCXqWM6FKeW0B4VF2u2ltMrolu74zg0U=
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:(13230001)(366004)(6506007)(6512007)(8936002)(8676002)(31696002)(66476007)(66946007)(66556008)(5660300002)(53546011)(4326008)(86362001)(2906002)(38100700002)(2616005)(6486002)(6916009)(83380400001)(186003)(26005)(54906003)(316002)(508600001)(31686004)(36756003)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?17BmMG4Gtmy/1YD8B/3b1dHvtOjtYNuL79jS6ftCI8cftKnbdWF5oui7DEBj?=
 =?us-ascii?Q?or++RZhlW4DVha2DTA/5dGKvY8mKweI0fCtPFzBfUORtX7hhiasoCwCbTc7A?=
 =?us-ascii?Q?qNgITQViCOTbyIGwTdZOoo4ggi+A7n+WKPDbbzRnU/v3oH5dq11wHFdl51KW?=
 =?us-ascii?Q?EOzgclGgiCeHl31Y8UPuz6Y18yjy90nQpJWzhlj5/9YDUOIJFCBiWrBh5T8x?=
 =?us-ascii?Q?ARml7kI4JfoBKK4UKDQOOh03j1BPzZ3f9ZEBJGyxp+6iy+tdLPJgA7+MHDgW?=
 =?us-ascii?Q?wdCa9IlTuHRl7IpHbXEscUcIhWhXDie7FZm8CHWltDKtaUkbFKDv6gR9HnzX?=
 =?us-ascii?Q?iI/5BKbS7UARvBnRIlU6/r5xkhnAiU4KT2WwkrINKiEAVBS4OvjP/FX3Cd+a?=
 =?us-ascii?Q?sqZpo5Hta9SpqwhPT7k/g9AP33N+xPEQclkKI1lp7qhEi813X5ThQrW1kVM7?=
 =?us-ascii?Q?anByCpiNkbzdxiwJqys6uWTX+dzyUFGUmYwq9enk1jNeYbHz/QD7MFTKskZ1?=
 =?us-ascii?Q?mlt+HkSOaXPYsL+iZlQn6EQD4n4BzznBVK8xW9u1TVnxxWk9ZDjgF7JGwd3G?=
 =?us-ascii?Q?oA6guG3LLdOq1/7NwXpMA2gWOwLyxc7fPZBoySKfUb32dBvTIJY8+ktnqpu2?=
 =?us-ascii?Q?M1NPZseyHUQjGREHY4zgykUll9LwnuVI655+yhHJO/h+HeYUY5/O+2rSZaII?=
 =?us-ascii?Q?za+QY7I6jd6cr6mGOg0jRo91fzwdJvSqTsGDJo8BoG+lwACmWVoKzZirAl/3?=
 =?us-ascii?Q?jYQDCv60ZvcWiR3bGtKAEt2/gNSyjqlkim4sToBdJJO4a/FfeIHxSGk7bUty?=
 =?us-ascii?Q?ihODrIMaLrjNn9KWo76RpqcQ+b+s0LII8YruscUJCIq7/5oxRacrNAV5MxK0?=
 =?us-ascii?Q?OwIqLQbGgWw+ITIGNkbNOgwHyY/Yz4cOM60qbrMMGVqgMI7hmzHXTYa/VBym?=
 =?us-ascii?Q?1b/w7nYzJ719n0bqZPo+D/wWThcFmY2OK/qR8VnUDdro/ltExC3BedM4wPmS?=
 =?us-ascii?Q?24zJxg0N7Zj6HBHwldMdbyS6xawD6ln6bj35jgrAt3Nx9kTL9L48xkCaI0JG?=
 =?us-ascii?Q?K9spHqX546zyfC4Tas1UEx96Mo0OiE99ajKUJz/7Edz+vbLKecebaPs0xaov?=
 =?us-ascii?Q?8ShwPuTDjjOSwhbpIJp+v0dPC8U04KVz3qJ+WknfYjA5ENyeNv0WUZU8ONDP?=
 =?us-ascii?Q?cY6yliyHaReM2JKm6oKZhhqy0kReCRXazTXTGiEpZvfeNdP24avucpHtaduK?=
 =?us-ascii?Q?sL5P6TxAvp5HZmqfJnyoZh0Z0p5qMGU8PNsQ1dsivwj4yrnFgkBRyRAsNKAc?=
 =?us-ascii?Q?Pgtjhj7gLeA2bwRl4UT2oxu+n946cOvjKSYmbCGYyV9oxfafu+6Z90h53v9J?=
 =?us-ascii?Q?Yze5IOd8GhzY7XxZdHtkkwEl9acNRqW40r13J6Bn05WNVBwIjtq6s/EhqsMI?=
 =?us-ascii?Q?/+mcvQzlgL6Un14uwB4wxC1VdfFGtOX0I8VeYeMb0AE0UHnvLig5A5BC7a0B?=
 =?us-ascii?Q?sau+BP0sUg/nhMFEz8kN8Y0f2mjeHu+SNnJ3BJj+t/KJKk9aXj9Hcigs3gbH?=
 =?us-ascii?Q?hCpYstj41EtO0Ad1UyRuSlnbbjleufQ6TfIRk08DAeshkPuQ8L9+C0ii2J+4?=
 =?us-ascii?Q?7pTaN7v66nmdgALCquIQy8U=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0066a237-a94c-4902-f1d4-08d9e166371c
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 07:25:38.0318
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: I9b8Q2OkXbVMgpWOpe10IaMD5eRTyzs8C7O2Zymujdgeu7TZRds56Ya1LQaBmxL8oRifwezJ3UJgDXXqaX727g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB9173

On 26.01.2022 21:16, Andrew Cooper wrote:
> On 26/01/2022 16:50, Jan Beulich wrote:
>> On 26.01.2022 09:44, Andrew Cooper wrote:
>>> 1) It would be slightly more efficient to pass curr and cpu_info into
>>>    vm{entry,exit}_spec_ctrl(), but setup of such state can't be in the
>>>    ALTERNATIVE block because then the call displacement won't get fixed=
 up.
>>>    All the additional accesses are hot off the stack, so almost certain=
ly
>>>    negligible compared to the WRMSR.
>> What's wrong with using two instances of ALTERNATIVE, one to setup the
>> call arguments and the 2nd for just the CALL?
>=20
> Hmm
>=20
> diff --git a/xen/arch/x86/hvm/svm/entry.S b/xen/arch/x86/hvm/svm/entry.S
> index c718328ac4cf..1d4be7e97ae2 100644
> --- a/xen/arch/x86/hvm/svm/entry.S
> +++ b/xen/arch/x86/hvm/svm/entry.S
> @@ -59,6 +59,7 @@ __UNLIKELY_END(nsvm_hap)
> =C2=A0
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* WARNING! `ret`, `call=
 *`, `jmp *` not safe beyond this point. */
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* SPEC_CTRL_EXIT_TO_SVM=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Req:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
> Clob: C=C2=A0=C2=A0 */
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ALTERNATIVE "", __stringify(m=
ov %rbx, %rdi; mov %rsp, %rsi),
> X86_FEATURE_SC_MSR_HVM
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ALTERNATIVE "", __string=
ify(call vmentry_spec_ctrl),
> X86_FEATURE_SC_MSR_HVM
> =C2=A0
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 pop=C2=A0 %r15
>=20
> is somewhat of a long line, but isn't too terrible.
>=20
> I'm tempted to switch back to using STR() seeing as we have both and it
> is much more concise.

No objections. In fact I think when I introduced stringify.h over 10 years
back, I didn't realize we already had STR(). Quite certainly first and
foremost because of its bogus placement in xen/config.h (same would go for
at least IS_ALIGNED() as well as KB() and friends).

I wouldn't even mind phasing out stringify.h again. Or maybe we want to
move STR() there ...

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 07:43:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 07:43:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261210.452015 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzQq-0006uu-7N; Thu, 27 Jan 2022 07:43:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261210.452015; Thu, 27 Jan 2022 07:43:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzQq-0006un-43; Thu, 27 Jan 2022 07:43:00 +0000
Received: by outflank-mailman (input) for mailman id 261210;
 Thu, 27 Jan 2022 07:42:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nCzQo-0006uh-CP
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 07:42:58 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id be369156-7f44-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 08:42:57 +0100 (CET)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01lp2055.outbound.protection.outlook.com [104.47.1.55]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-31-mXNwnnThMJGTs0sAk0-khQ-1; Thu, 27 Jan 2022 08:42:55 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DB7PR04MB5450.eurprd04.prod.outlook.com (2603:10a6:10:86::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 07:42:53 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 07:42: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: be369156-7f44-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643269376;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=RINe/sfjcwAJCP+inZj5eo+3eUA8LlCbhlqW44NXc80=;
	b=k3MVE6b3kyAF8FBshoMDGGeR6+O8SYCns82iP1D9sZNwvTZRtAEMwyHN5kZiPsc9ai+yZ7
	0CbeWhdJ6SFwANb8qqySK2+gsGmbc31APmNS5Xm1z4NwHD9EjmEPlvGU8zDCmyFFaswU2C
	R4mObe8lFkQ71wy5vB+XgSRdCq7KS7I=
X-MC-Unique: mXNwnnThMJGTs0sAk0-khQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Y80pH9Jc0YgDC+Hfm8KVnJnz+8auzeLX3BRs/BFH8szWBLvX0n20DYZTjy3dQ2mkd9FjrclN8pmIJulhZ7uekHXwNuVi0JlScnIPpooqj54KMtZ/wU/ZKLRfxNACb2yO207KLw8L6dFZIN3VunPu62geYK/7OxiZFShv0u2UD/8QgOUicYGcBQ4cfwE5Ojoi2y27hSqHtU8XkMR6dI0HSPNL7aUBywqQRCgApGLXjdQQmUHqrpqatxgXO5hxffEjqFSuM+rPxfpJBbmKDP80alW2y4yGGY2ykO7PnuJ1phCCLXiriTIybjxL/cugXybQZP6ArPGLl93Ist+VneX6Cg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=o9HqlyvP4SB57BoGyPsLxg01/ovhW/UsC/I5kH2W7mQ=;
 b=heZesLd9W56r4ueFOTbRL83vjc5NEdDvwXeD7aQqI2+B/P5pu7aL6IwfD75YueH/8s0tEibaqZ1G4geZy1umIL9mKSbehxZo7jKUUmQCM4TxqhFeGuSkWpIjo4H/CGGCT6y8Yzien/OJhsSt0jXV5harxCjz9KDUBpXVl0SVCPC9Tbj40lC8Q+qnlDMGEe8lTo8w8g4gJhq0ZVVDsLHGJQgh/1h1Fjs6Rq9c1fdNj1+Er3b/t5ogFX7axA597RKvbi6N/P5cG3pbhNfxepF1SB37gr6rV8P9CRn4q6/xJU1++Wf2dHls9vOs6V6cqSqybkdFBs0Xtx85TpJXKl8QjA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <62fbb4b6-7694-be4a-8a75-2380192f5533@suse.com>
Date: Thu, 27 Jan 2022 08:42:40 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v2 1/2] x86/Intel: Sapphire Rapids Xeons also support PPIN
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <64a5a3ac-8f4c-b13d-0b7d-4c4ec15e2721@suse.com>
 <0a8981c6-b3fe-c805-f45b-b6da5d0aa1af@suse.com>
 <e9aae44b-1fd1-2952-daa1-fa36e89eeef6@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <e9aae44b-1fd1-2952-daa1-fa36e89eeef6@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM5PR1001CA0057.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:206:15::34) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 22204258-a4a8-4974-0b92-08d9e168a04f
X-MS-TrafficTypeDiagnostic: DB7PR04MB5450:EE_
X-Microsoft-Antispam-PRVS:
	<DB7PR04MB5450F9223CFBE82B01EBF018B3219@DB7PR04MB5450.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:
	KLp7XXbSuv3iQLfn/QUe8KbG0Y+9aeSI9gKBq7Bt7lS6jX+P30unQ6MqtalnPxHImoCNLguVmIbRiOIy5Cy1NIrMhhvfvdK6QNytEa2n5EB636D8lVHSKY0fFihaS9M2J4vj1bJt4ggJ9BnWpyYxowt19xGoEwptW5Hstu1okJT2riLXs3vurgZEMHhp39iPN+kgm6UGAqLaP69vdF1OBXBYdaPj1+xwqQCZzxszfFcpLQddv3taedPw1wISpSY00LzcjXeo7ciOJzxX4WBqcS7IRUcDejg0aHna+Hhtoy5Hz5RmIthpwlLcN8pBQxrJOR0pPX+I0yv7ImgbJFHNnhiNRv/2V4JUmEM9cyqLk59nW3BgGUKsg0f7c0bVHU3ugaKrT4iHE1RNrG7TfwyIzjS9witKQeA1Y0gDbshvu47fERraWN+WIHHfkJUaJ4isrkZEjRfA4C8MLrsG6cp9nCE9mUhAZUN40+wLxAph0AA2rzol1ZF079dfMmSC66396xon06ErukJq3Z9iZOTMX0m8FfYLHEvRyBBEZIAWx8CD5x3eDpjwDJH7IHc1sNTstT3fUvmpvvnNTcRJ20HIJbXOZ9s6KnhjDNOYR3uScxXgU5WzmKuZVkEbF5QtaJ0eNTGrIMMW8yGSlKA8CSHSHajwShergMxpuQBXv3dr5rxIaNQ4QVl7SJi3llnxeEjeM+mA0LSihTWCJzhkS9oI8NvE38blWpepiypwWEhRh+BCUNipFBPg1V3URWKdz2qYCYbLiH01jTEUqK8XnnvOY5TnxMs+Vvms+I1DUMgPL3GmdypUDwaxGSJ4q99knXit
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:(13230001)(366004)(53546011)(186003)(26005)(316002)(6506007)(4326008)(8676002)(2906002)(8936002)(66476007)(66946007)(66556008)(2616005)(83380400001)(6666004)(38100700002)(6486002)(966005)(31686004)(5660300002)(6512007)(6916009)(54906003)(86362001)(508600001)(31696002)(36756003)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?PqZR01jgVbefDd+EWGPJqHMNAR9ZDK5i+Pwekw0aVIWJ3iZ9CgIE1u/upYZZ?=
 =?us-ascii?Q?xkwZKIGQAmIhlskpWOqUW0AC2Pau4Hkr2Zu9khELjpPZcImKrNssAWwuc2T1?=
 =?us-ascii?Q?i8JQ5sOsJDh+9+ANkFDDcguzAgBSLQo9PbHwQxvfXWF9mXBMQlAHe4eJ0KHp?=
 =?us-ascii?Q?2SG7O7D8GNnLlFQTJ/5yb8tsfCw33XZkuQm2UAgBtIZbEwyx5qrpzeNy2UzR?=
 =?us-ascii?Q?t4WmN3S9Z2751ImEJyosDcEugxfxnL/euouFT1U/V26BmTHaogvvkAFbUJQU?=
 =?us-ascii?Q?zwalOnHOtzY10uQrCDpclOp7x94/KHVKsAnEG8w8vgtMGZJ6xPgqxUUfYcV2?=
 =?us-ascii?Q?lhf3H3/m6KLLOzzMhL2kJIzgRk/KF0L/M+EVPGlfRCaB1pZyf58Xt7/tFYe6?=
 =?us-ascii?Q?GZpagR7JsSfnG4Uq1VgwsXCEOeEoRdtVv1dicHUmL1oBUmxFDNSXUrzwM65s?=
 =?us-ascii?Q?NTX9ICoW3k+CV3XgZPjcIg1HOsH+1LnWSrSts8q3wPcRUM1Rzd8sZidTDd9B?=
 =?us-ascii?Q?cRM1qF5i0r8jluAFyHBKr/j2pJOf2ciFwkxTgo6V7jmhKPTEVX3DZYyFYVsL?=
 =?us-ascii?Q?OpqmzcjbMqZ6ejlf1Q2obKlwe5JmRhnTgT7H7j4Bh9S2ixseCkR6ByUYKTuA?=
 =?us-ascii?Q?PHvxcnaZVwyRVRclKCMl+5s5Ptf3iQ6du+Tlni8LvSe7ufmo5HRzRn3LNKzu?=
 =?us-ascii?Q?ZPhcYfSLoDNE3V4sZkBGIp+ed3bZNpgj4mjtlCmWd1mfBbnLoNWyWq5Lu9z8?=
 =?us-ascii?Q?59DSwOnH4d+S20cm5HPU8kJXsfRPVev95FUihp3knfZjvwCsQdKqDWH/J8xt?=
 =?us-ascii?Q?t2HH05Rww2DmbT+GGmNxquD+iiayuZMwCmM4gJRhEIuzRhS09T5EvJ8shujS?=
 =?us-ascii?Q?OsWyoagEJ2U5Bp6lEVsLBaQAnDhCuRPWo5c757yg1XWRuAZaqvcTOnP8taAU?=
 =?us-ascii?Q?zbSFXAE0nUxR4ia0JVoERoSpYoJ1fSS9iTKEn+wGc6WmkXExbNLZPkbKHedH?=
 =?us-ascii?Q?fb5nuMCh+0bfa93eL1dCiGuFctAh7jtg8/LBkyXrBYtfYoRdgO2MdSK2LuhG?=
 =?us-ascii?Q?vSX0HWV9du46+FsYS+5PYmGQj1jumPd+q8sQ2lfbs5Sh17nHMqRq0CEipnB0?=
 =?us-ascii?Q?wLuQTK7DzCX+w3cygFvqLtMuc4FJeoWCrayAD3WZJ+i39Iteyafb8UN+vVul?=
 =?us-ascii?Q?J31BSrJ6Z0W/FhLQ55xaemFOahOfdLxO09YpTt3lnvrAzczlt7HQ61vpCLZg?=
 =?us-ascii?Q?b2lfvggrFvJLO7lwyNEO3JDNHxQv1/WrSwKoGchWxxhmk3JxGOe4kZF/J/st?=
 =?us-ascii?Q?ufHm1mKiovTblCkUkuLECXE59aSz4J/ZWqJ2Qv2be1C4U4/ARgEJPCYCwuYj?=
 =?us-ascii?Q?ScvKvYdrnQOg1LnpZbkfmmrSoSE/4osyLxM4lIQAqj2gGVdWwFBwGjLnMONW?=
 =?us-ascii?Q?RbhNtYQhn+wZvmIBN2RQLPSiG4EFGovrGv/N92bXk0RTtd0NklHPjY7xKcNx?=
 =?us-ascii?Q?j7AJ/p81c8gBViRXCubkgkCwqhHVavaSDPaq8tAhbtK7YEFF41zTLH1uZvfr?=
 =?us-ascii?Q?B90/CUjXxVueV2/vGM4kht6ungvtfnceG5WaiRT1Kxav49HwYcHHwCWHc5iX?=
 =?us-ascii?Q?8Q5t1dDUsGL55wCReDoTwko=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 22204258-a4a8-4974-0b92-08d9e168a04f
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 07:42:53.3112
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: haMX9J7uYwhZ5VST0X4KjvHkHHC6z5WR+jRqSEOlw5GORLac2GWbFfhIUZEOiYyn59nJSJcaG4a8eMtX4lTkeQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB5450

On 27.01.2022 00:01, Andrew Cooper wrote:
> On 20/01/2022 14:16, Jan Beulich wrote:
>> This is as per Linux commit a331f5fdd36d ("x86/mce: Add Xeon Sapphire
>> Rapids to list of CPUs that support PPIN") just in case a subsequent
>> change making use of the respective new CPUID bit doesn't cover this
>> model.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>=20
> Sadly,
> https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?h=3Dx=
86/urgent&id=3De464121f2d40eabc7d11823fb26db807ce945df4
>=20
>=20
> IceLake-D too.
>=20
> Preferably with this fixed, Acked-by: Andrew Cooper
> <andrew.cooper3@citrix.com> (to save a trivial repost),

Sure, added. And thanks.

> but ...
>=20
>> ---
>> It is unclear to me whether this change is actually made obsolete by the
>> subsequent one adding support for the respective new CPUID bit.
>=20
> ... Sapphire Rapids doesn't enumerate PPIN.=C2=A0 Hopefully Granite Rapid=
s
> will, but everything SPR and older will have to rely on model checks only=
.

At least in theory I suppose they could address this by as simple as
a microcode update?

>> It also continues to be unclear for which CPU models, if any, the
>> PPIN_CAP bit in PLATFORM_INFO could be used in favor of a model check.
>=20
> Presumably none, because you need the same set of model checks to
> interpret the PPIN bit in PLATFORM_INFO.=C2=A0 It does beg the question w=
hat
> the point of the bit is...

Well, if the bit never had a different meaning, then a model check
wouldn't be necessary. Just like e.g. probe_cpuid_faulting() doesn't
have one.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 07:50:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 07:50:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261213.452026 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzYI-0008Mv-16; Thu, 27 Jan 2022 07:50:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261213.452026; Thu, 27 Jan 2022 07: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 1nCzYH-0008Mo-UA; Thu, 27 Jan 2022 07:50:41 +0000
Received: by outflank-mailman (input) for mailman id 261213;
 Thu, 27 Jan 2022 07:50:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=h4dm=SL=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1nCzYF-0008Mi-S5
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 07:50:40 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0628.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::628])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d0822797-7f45-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 08:50:37 +0100 (CET)
Received: from AS9PR06CA0094.eurprd06.prod.outlook.com (2603:10a6:20b:465::7)
 by AM0PR08MB5345.eurprd08.prod.outlook.com (2603:10a6:208:18c::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Thu, 27 Jan
 2022 07:50:35 +0000
Received: from AM5EUR03FT038.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:465:cafe::a4) by AS9PR06CA0094.outlook.office365.com
 (2603:10a6:20b:465::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15 via Frontend
 Transport; Thu, 27 Jan 2022 07:50:35 +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.4930.15 via Frontend Transport; Thu, 27 Jan 2022 07:50:35 +0000
Received: ("Tessian outbound 63bb5eb69ee8:v113");
 Thu, 27 Jan 2022 07:50:35 +0000
Received: from c467bad0aed4.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 95CEA543-40F1-4CAE-B94F-1557D69121F8.1; 
 Thu, 27 Jan 2022 07:50:28 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c467bad0aed4.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 27 Jan 2022 07:50:28 +0000
Received: from AM6PR02CA0028.eurprd02.prod.outlook.com (2603:10a6:20b:6e::41)
 by GV1PR08MB7362.eurprd08.prod.outlook.com (2603:10a6:150:21::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 07:50:26 +0000
Received: from AM5EUR03FT023.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:6e:cafe::1d) by AM6PR02CA0028.outlook.office365.com
 (2603:10a6:20b:6e::41) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17 via Frontend
 Transport; Thu, 27 Jan 2022 07:50:26 +0000
Received: from nebula.arm.com (40.67.248.234) by
 AM5EUR03FT023.mail.protection.outlook.com (10.152.16.169) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4930.15 via Frontend Transport; Thu, 27 Jan 2022 07:50:25 +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.20; Thu, 27 Jan
 2022 07:50:24 +0000
Received: from penny.shanghai.arm.com (10.169.188.91) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.20 via Frontend
 Transport; Thu, 27 Jan 2022 07:50:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d0822797-7f45-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Jl/oq/OhINQflcQxakZqHEFozc0DjfnQy8kM1QkqYqI=;
 b=zBDjdKVpHSvcn11VcX76fceRM6n0t3CEZKEIJSRQapknxjTeF7ul7fIAJ2ziJFMEI+5DwZsLei+QGaIQeNqai/rYF35Ob0gOe3YI8AaUqVjbXwIx9qMESff2ki3zLcrMCNVnoGGWL6jYbX3+xVu8sxZ9F4KX2iPGwXZxYxsOAC8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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: 7507fe5ac9449d5c
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oEpK3yrXn1NGO3189xEanHO2lwGniz+qKfjSIwazCzkwS7atRmTjqeNO8EyOGUY2VBP4xIrZ7hwIG0L9z43XdYNZrjZU1yIYKt4j0Xgdod1qmC+6wzho80UQqYNm9UKdU0M+x6p0GGIno+NrRrjW3wBycTij7qF2JwatEzcumOQdfSxioj83aIggNke2KA1jPTI5kFjzpU5uTeOMFTiBFkGrNDRYPxwtdvSKRl/aDLrRgCl9yhiUkNDkKqD1mm/iiBlCMcb6BvSjCM7JRo7LIxKuQiGJ4UHVo3CvJYgcjt10p/Z09CLjXn46YSxm4bq48e6SCd2JF76Q8pZ2++wB9w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Jl/oq/OhINQflcQxakZqHEFozc0DjfnQy8kM1QkqYqI=;
 b=hYONK/2PNWFPwnKv45E4QJdd2DjhZA4d3/Mym1DL/ZB+IaTVx3BmswuV1qwzz9BxF+N/hSGPWivNflJ8rz+/J4WAlqgUu2YxCokZdcvveP6jnmWKxM/pAMt2NzCXYvHsbYFZOw+Liu2pq40XcSZfq/2i/wymWjKeXa+xZWACFl6eZSDp4k+BRFL/Hsl/Ubn+ik5gZrfWwx5Fd0ERxB5enECGULjliogcCmQ27pgJPg7vHjkVR9W9n+N4flsi8AUVXmXvntuJWoCimxb2pBLW3T6wOZP14C9B0Cbb+1s3mE64hHzLoRtIzZeC2jIr8Nm4m75O2zNbr4qeddvlsMIISA==
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=Jl/oq/OhINQflcQxakZqHEFozc0DjfnQy8kM1QkqYqI=;
 b=zBDjdKVpHSvcn11VcX76fceRM6n0t3CEZKEIJSRQapknxjTeF7ul7fIAJ2ziJFMEI+5DwZsLei+QGaIQeNqai/rYF35Ob0gOe3YI8AaUqVjbXwIx9qMESff2ki3zLcrMCNVnoGGWL6jYbX3+xVu8sxZ9F4KX2iPGwXZxYxsOAC8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Penny Zheng <penny.zheng@arm.com>
To: <xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
	<julien@xen.org>
CC: <Bertrand.Marquis@arm.com>, <Wei.Chen@arm.com>
Subject: [PATCH v5 00/11] direct-map memory map
Date: Thu, 27 Jan 2022 07:49:18 +0000
Message-ID: <20220127074929.502885-1-penny.zheng@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 1
X-MS-Office365-Filtering-Correlation-Id: dfa00458-766c-4875-5f59-08d9e169b3c0
X-MS-TrafficTypeDiagnostic:
	GV1PR08MB7362:EE_|AM5EUR03FT038:EE_|AM0PR08MB5345:EE_
X-Microsoft-Antispam-PRVS:
	<AM0PR08MB5345EC25935FBA6F03B6D92CF7219@AM0PR08MB5345.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:
 jFydzVW6AHa+WsFcAOYp/2Oxj1J7E99osbKus5rCkr50eWO54N3o6/T6+m76tj9NNfnriRVeluAIWrlu7PmMTOtqR8hgABzr4kxYqSM9sJk6VeVncaur4c+HIZpkLl+dRzRNEaR8m4jrHGkl0B4uxt5rjAfvvDg1OnIDS0QFh75EwgziCtUn5LcklnqiWj+kud/Hi5i8ZVrjUsw6Pu/Renf8efoKL2KfF97EN96s2Nq9VIM0BWCMywfxK0Dn1KNK85ciQJHYwqcWGOVRf4OuvECNEnxOqC9gnsYoreiEs0lS3crPFQcIf1MWySq5SU3nYrcb2s/hFA0gw826V8MUJHY8VEaeEFxwGAkeDieqDplL0SbleUmRvxsR0b1ATzdEZL39RJf23/2MFogdA4PxNRkFHc5WfxbOUlbVOosSjnsuZg0NHK5UXyr1iPGZA3biU58GdAwm+eFjV9HR41i6/PXcBtFscHyAa4RkAjc1/S8KH3HiBAwpi0GR68Dl2OnDthOL7RIYu55K+htEBrkhVQ8MDHJPpsVlWbXvPM0F9qXIMc6zlaBtYrnBNa/65UVCgWHld+Ba1YxJOGRAsxJqz+WGeFxaoJMIYe5Be0bCmSwHhXZc062DSRbmVyKK/B5DV7mCJ0jXSVXRka1WmF0+Gx7IP29020eIAc7SdtHalOCai3lB6bLx5RzaO5kmX81S9jiyvoDmZjCVzr90zR+mPYTcrlZdQrLIpCVnZExhUxR0J8gMYH7lmEKxcdQBhVL2aUxdXLpLOXewXw4Bn8egLb5vwMX8mSk9tuqT/Y/PxC2T2Tga7dCBJezAHiS3ISKgWfDVQ4p5TgVlEVzGYi21ukiPaTrocElU7EXUvPwHb7Q=
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:(13230001)(4636009)(46966006)(40470700004)(36840700001)(110136005)(36860700001)(316002)(54906003)(70586007)(70206006)(82310400004)(356005)(81166007)(5660300002)(186003)(1076003)(2616005)(44832011)(508600001)(966005)(7696005)(6666004)(2906002)(47076005)(26005)(40460700003)(8936002)(83380400001)(4326008)(8676002)(336012)(426003)(86362001)(36756003)(21314003)(36900700001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB7362
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT038.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ba8e2949-c5aa-4792-a8df-08d9e169ae2e
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qYlVhN+JK8ijSzOZF1N+3G7n+kVjLdjz4/6jUdPp5aFHLdO/P1pBUGmPMV2RQDqF82/+Zz56I0EJqZvLgXqXSGtqVrdOrQUntQcu6qDRJ4WQpvbtsGnOHMbG4GrDBqQc+6pCUkjJZ8QY7zOZz+hpD4vfq5PpJ/jNBW271fpdeoW1HteyV9zShIctYSum8FcOMKNYfzR+VT8j1Dzqxtx1v98ESVvIZ1ARrBmNUJm9uE+VF7TBq3LLob0nquHY6ZeXDhuRLNJ8lcTnO3uKtYbcs+J6sYtrnnJZqOClmKHVGSK7zMFL/hvHUkq+gIdsC3c0oQ5BrPzW8aXb+qvNe8AxjfWl1TMvHhWow72mxwkHDixNVO86S9//ZoD1Ae6G9UK50p/ay5vsGHv6jk/sasRIMspm1Z1ehcGc4qRGOcQH1JPG7PCfnwWsiwQYSRIEdHRDMJPo3AoGyk7l+LwCKQMa/IbXe5BiYmNBIWKAEFjmKO9XAW/gdmjdfC/NjZemIbU5Y3GwGRavDcPgbnI0wypxCUvNMSY8LxaHfdxH0devKuKDMNTfgikISfLnWfP22Y5wBxIqvJqM80necl2EFDGx/RTukAxiU3lMU2qqJEk9eN0SJrw/kCODoqtDY6SKXqHEmzI12c3W25v70CJ+Vl81vClzeIY2Wmn1kkZ3irxhmaasCkJTzPGCKOcArFcyL4199ArmCINivjjuss/EQJO3Mb9/mfO0sNnpKi+1KehG2HNHxGny2ItAb6eLo8GFkOIk2eDLbYts0P8mjRWtxVywHIR05JhmM3arG6t/0GtYm2jsts5K9tYxxFKS6j6YE4widQFkygW2RVv78S6LffkMxA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230001)(4636009)(36840700001)(46966006)(40470700004)(4326008)(82310400004)(8936002)(8676002)(44832011)(110136005)(70206006)(36860700001)(47076005)(70586007)(54906003)(81166007)(5660300002)(86362001)(36756003)(6666004)(83380400001)(7696005)(508600001)(336012)(2906002)(2616005)(1076003)(426003)(186003)(316002)(26005)(40460700003)(966005)(21314003)(20210929001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 07:50:35.2621
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: dfa00458-766c-4875-5f59-08d9e169b3c0
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: AM0PR08MB5345

Cases where domU needs direct-map memory map:
  * IOMMU not present in the system.
  * IOMMU disabled if it doesn't cover a specific device and all the guests
are trusted. Thinking a mixed scenario, where a few devices with IOMMU and
a few without, then guest DMA security still could not be totally guaranteed.
So users may want to disable the IOMMU, to at least gain some performance
improvement from IOMMU disabled.
  * IOMMU disabled as a workaround when it doesn't have enough bandwidth.
To be specific, in a few extreme situation, when multiple devices do DMA
concurrently, these requests may exceed IOMMU's transmission capacity.
  * IOMMU disabled when it adds too much latency on DMA. For example,
TLB may be missing in some IOMMU hardware, which may bring latency in DMA
progress, so users may want to disable it in some realtime scenario.
  * Guest OS relies on the host memory layout

"direct-map" property shall be added under the appropriate domain node,
when users requesting direct-map memory mapping for the domain.

Right now, direct-map is only supported when domain on Static Allocation,
that is, "xen,static-mem" is also necessary in the domain configuration.

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 direct-map, and this
Patch Serie only covers parts of it, which are direct-map memory map.
Other features will be delievered through different patch series.

See https://lists.xenproject.org/archives/html/xen-devel/2021-09/msg00855.html
for Domain on Static Allocation.

This patch serie is based on
https://lists.xenproject.org/archives/html/xen-devel/2021-10/msg00822.html\
---
v5 changes:
- remove const constraint and strict "static allocation" check
- fix coding style
---
v4 changes:
- introduce internal const CDF_xxx flags for domain creation
- introduce internal flag CDF_privileged
- introduce new internal flag CDF_directmap
- add a directmap flag under struct arch_domain and use it to
reimplement is_domain_direct_mapped.
- expand arch_domain_create/domain_create to include internal-only parameter
"const unsigned int flags"
- use mfn_eq() instead, because it is the only value used to indicate
there is an error and this is more lightweight than mfn_valid()
- rename function allocate_static_memory_11() to assign_static_memory_11()
to make clear there is actually no allocation done. Instead we are only
mapping pre-defined host regions to pre-defined guest regions.
- remove tot_size to directly substract psize from kinfo->unassigned_mem
- check kinfo->unassigned_mem doesn't underflow or overflow
- remove nested if/else
- remove ASSERT_UNREACHABLE() to avoid breaking compilation on prod build with
CONFIG_GICV3=n
- comment and commit message refinement
---
v3 changes:
- move flag XEN_DOMCTL_CDF_INTERNAL_directmap back to xen/include/xen/domain.h,
to let it be only available for domain created by XEN.
- name it with extra "INTERNAL" and add comments to warn developers not
to accidently use its bitfield when introducing new XEN_DOMCTL_CDF_xxx flag.
- reject this flag in x86'es arch_sanitise_domain_config()
- add ASSERT_UNREACHABLE to catch any misuse in allocate_static_memory()
and allocate_static_memory_11()
- add another check of validating flag XEN_DOMCTL_CDF_INTERNAL_directmap only
when CONFIG_STATIC_MEMORY is set.
- simply map the CPU interface at the GPA vgic_v2_hw.cbase
- drop 'cells += (GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS)'
- rename 'is_domain_use_host_layout()' to 'domain_use_host_layout()'
---
v2 changes:
- remove the introduce of internal flag
- Refine is_domain_direct_mapped to check whether the flag
XEN_DOMCTL_CDF_directmap is set
- reword "1:1 direct-map" to just "direct-map"
- split the common codes into two helpers: parse_static_mem_prop and
acquire_static_memory_bank to deduce complexity.
- introduce a new helper allocate_static_memory_11 for allocating static
memory for direct-map guests
- remove panic action since it is fine to assign a non-DMA capable device when
IOMMU and direct-map both off
- remove redistributor accessor
- introduce new helper "is_domain_use_host_layout()"
- explain why vpl011 initialization before creating its device tree node
- error out if the domain is direct-mapped and the IRQ is not found
- harden the code and add a check/comment when the hardware UART region
is smaller than CUEST_VPL011_SIZE.

Penny Zheng (4):
  xen/arm: introduce new helper parse_static_mem_prop and
    acquire_static_memory_bank
  xen/arm: introduce direct-map for domUs
  xen/arm: add ASSERT_UNREACHABLE in allocate_static_memory
  xen/arm: gate make_gicv3_domU_node with CONFIG_GICV3

Stefano Stabellini (7):
  xen: introduce internal CDF_xxx flags for domain creation
  xen: introduce CDF_directmap
  xen/arm: avoid setting XEN_DOMCTL_CDF_iommu when IOMMU off
  xen/arm: if direct-map domain use native addresses for GICv2
  xen/arm: if direct-map domain use native addresses for GICv3
  xen/arm: if direct-map domain use native UART address and IRQ number
    for vPL011
  xen/docs: Document how to do passthrough without IOMMU

 docs/misc/arm/device-tree/booting.txt |   6 +
 docs/misc/arm/passthrough-noiommu.txt |  52 +++++
 xen/arch/arm/domain.c                 |   5 +-
 xen/arch/arm/domain_build.c           | 308 +++++++++++++++++++++-----
 xen/arch/arm/include/asm/domain.h     |  19 +-
 xen/arch/arm/include/asm/new_vgic.h   |  10 +
 xen/arch/arm/include/asm/vgic.h       |  11 +
 xen/arch/arm/include/asm/vpl011.h     |   2 +
 xen/arch/arm/vgic-v2.c                |  34 ++-
 xen/arch/arm/vgic-v3.c                |  26 ++-
 xen/arch/arm/vgic/vgic-v2.c           |  34 ++-
 xen/arch/arm/vpl011.c                 |  60 ++++-
 xen/arch/x86/domain.c                 |   3 +-
 xen/arch/x86/setup.c                  |   2 +-
 xen/common/domain.c                   |  12 +-
 xen/common/sched/core.c               |   2 +-
 xen/include/xen/domain.h              |   9 +-
 xen/include/xen/sched.h               |   2 +-
 18 files changed, 490 insertions(+), 107 deletions(-)
 create mode 100644 docs/misc/arm/passthrough-noiommu.txt

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 07:50:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 07:50:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261214.452037 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzYK-0000CG-EO; Thu, 27 Jan 2022 07:50:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261214.452037; Thu, 27 Jan 2022 07: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 1nCzYK-0000C7-Af; Thu, 27 Jan 2022 07:50:44 +0000
Received: by outflank-mailman (input) for mailman id 261214;
 Thu, 27 Jan 2022 07:50:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=h4dm=SL=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1nCzYI-0008Mi-Th
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 07:50:43 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on060d.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::60d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d3197f61-7f45-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 08:50:42 +0100 (CET)
Received: from DB6P18901CA0013.EURP189.PROD.OUTLOOK.COM (2603:10a6:4:16::23)
 by DB8PR08MB5130.eurprd08.prod.outlook.com (2603:10a6:10:e9::25) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 07:50:39 +0000
Received: from DB5EUR03FT044.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:16:cafe::f0) by DB6P18901CA0013.outlook.office365.com
 (2603:10a6:4:16::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15 via Frontend
 Transport; Thu, 27 Jan 2022 07:50:39 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT044.mail.protection.outlook.com (10.152.21.167) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4930.15 via Frontend Transport; Thu, 27 Jan 2022 07:50:38 +0000
Received: ("Tessian outbound 63bb5eb69ee8:v113");
 Thu, 27 Jan 2022 07:50:38 +0000
Received: from c780f9168eb1.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 CB5BDB13-C668-40B6-A27A-DEF6F3187B7E.1; 
 Thu, 27 Jan 2022 07:50:30 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c780f9168eb1.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 27 Jan 2022 07:50:30 +0000
Received: from AS9PR06CA0210.eurprd06.prod.outlook.com (2603:10a6:20b:45d::28)
 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.4930.15; Thu, 27 Jan
 2022 07:50:28 +0000
Received: from AM5EUR03FT046.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:45d:cafe::ca) by AS9PR06CA0210.outlook.office365.com
 (2603:10a6:20b:45d::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15 via Frontend
 Transport; Thu, 27 Jan 2022 07:50:28 +0000
Received: from nebula.arm.com (40.67.248.234) by
 AM5EUR03FT046.mail.protection.outlook.com (10.152.16.164) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4930.15 via Frontend Transport; Thu, 27 Jan 2022 07:50:28 +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.20; Thu, 27 Jan
 2022 07:50:27 +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.20; Thu, 27
 Jan 2022 07:50:26 +0000
Received: from penny.shanghai.arm.com (10.169.188.91) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.20 via Frontend
 Transport; Thu, 27 Jan 2022 07:50:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d3197f61-7f45-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rSh3L/AFX1kwUWbUN803XD5qISN//S+9dF22OnqF/Ss=;
 b=lPPyoz94FwlEGHmUOII9wMO8lhVidDeQOajv7kcMUtK9QPNsX8EnMarfB9mnxQiLrWPoRuvHpapr9yW0aLDnUTJgrMflzcCyQiknO2FkPHxatDpGI5bZ5AUc9EhMeaEePc/GqXAtxnHm6+lJxVlZfxwNS0N7llTuEJU0BwLrYiw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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: a0e7a4546c4c73d0
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AQ6eHOKhVvbZrMVMNTxbEEBiC2J8Sw+Bas6vEk9Sqs0LSV4tanBU0KJQ6bPHLbRJQiWUsQWFKGU7lGklbNE1963zmsBQypRql1KRiuwETVqZOo9WtIZmJjmjvSq+y90e6NolHKe0iL3j2cSbZr0rATRhp4W5RxcLLcmgKBH0W38CbBoOsdQg4OvcsFXKcKveL6KGBfbZvTUdrmAjeFBdrBw0s+wD1hJapw5eTYIVU5N5kyxobFZyTHna8m0n5T6EvdBFk49o4NObTxpL2+njTO2lv0DPgceJSgC6O1p6fUuKIUaiJVnkJS8AnWDwPGLcRl01JUuvN2MH4tzTNChSzg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rSh3L/AFX1kwUWbUN803XD5qISN//S+9dF22OnqF/Ss=;
 b=Z/UqlXJ5LpH2G/yL+BQlvggij6/yxlD6hoHyRxagsEiZKAcraH00ldXJ7rbpJYGmBh+Kijw3nKxBggUlrCkvB82HqpbT3VuijcWNE9hjAiflN9UsGym6ZZhaKhs6h4sOtNDxaogXWwdKoaU/B+gGvvaKuJq3fwfhAjtfI1EwLlcrdLVXPMEREOmDO18cFaPRyQ1wnV2OhiyOAl56gLwliF77TDbBfXBx+SZnvjEHgE3g9Jfz5CKAet/BEwb+y94egEzTdG9/o2Uwk+D5jYTt5LRaRBr4bZHzgfa+uu4Wg7QrbogAWekgjbRQeepplAOj7xCwEB/UdHnlsc0nsyZqtg==
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=rSh3L/AFX1kwUWbUN803XD5qISN//S+9dF22OnqF/Ss=;
 b=lPPyoz94FwlEGHmUOII9wMO8lhVidDeQOajv7kcMUtK9QPNsX8EnMarfB9mnxQiLrWPoRuvHpapr9yW0aLDnUTJgrMflzcCyQiknO2FkPHxatDpGI5bZ5AUc9EhMeaEePc/GqXAtxnHm6+lJxVlZfxwNS0N7llTuEJU0BwLrYiw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Penny Zheng <penny.zheng@arm.com>
To: <xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
	<julien@xen.org>
CC: <Bertrand.Marquis@arm.com>, <Wei.Chen@arm.com>
Subject: [PATCH v5 01/11] xen: introduce internal CDF_xxx flags for domain creation
Date: Thu, 27 Jan 2022 07:49:19 +0000
Message-ID: <20220127074929.502885-2-penny.zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220127074929.502885-1-penny.zheng@arm.com>
References: <20220127074929.502885-1-penny.zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-Office365-Filtering-Correlation-Id: 297eebb0-cc8e-41cd-ce0f-08d9e169b5f3
X-MS-TrafficTypeDiagnostic:
	VE1PR08MB4877:EE_|DB5EUR03FT044:EE_|DB8PR08MB5130:EE_
X-Microsoft-Antispam-PRVS:
	<DB8PR08MB513049D72B46A2BE64701815F7219@DB8PR08MB5130.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:
 KSGpiICiUrydWxOKs8WR34Rt4t6PUOE2R7pix5PnOADzVLDAAL2BJwV+9AKMNR6EfuChvAp1MK/Uqu8RS2qhz/KDpEbXVzifsMFdpnRSxj/84HeZR/TeTR/r8CjJKmMmWVeDzibTQlJnHu8/B15rp9krE68QX82PDTNrPWOqhOoT36t050QGYuNq1QNUQrmOMTAyTePoShVvQVABBo+ofFhcaKIVgZxiBoScRl1SV6MLifwIOoZBchOC9lQYrT40wmMosM3Phjg3u6QE2JIP2fgz5xox+BPDyON8ljlA0jwioexAfZQmmzJZOAg48aDX9DKM1x/py3oKkW8E22n2J0FQuUFCTqVK1oqBJytHzl8/6Ergy9Sp1/qo2wbVaNeFn3k9pK3MrrASf9zOS9mfUlHKTiDeI++S6ObFbY/r0Du6XVKK6Crvk0W8CwT5TYF209mrIGg7k/D1V2yv6E++uNakCUHgs0zPucE4dTeZ/xrnWwwHbM7tS5HguBDgHaSSCap42+Q9cGQZyes33J15oYuEC4V/oI7mzZLMHAhDEcmr8b81WV3nSlY0yg9HzCoVR8RVPWkr+mM+m3ooUVXsolOBisvxGYCtxQ92DGdz4H1I99WZaSwfA05EKGhl3aPlC6uigx6ckeEtSbZdeYOq48xC4mCLT3BSMeikrwRLHdjdXgLKtzeVJ9xsUbGGj9Bzl8xKcUjzkxRPSG4U+HyYY9qQCzCKHgVgNC9KZIgm0cU=
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:(13230001)(4636009)(40470700004)(46966006)(36840700001)(186003)(36756003)(1076003)(81166007)(36860700001)(26005)(40460700003)(356005)(47076005)(7696005)(44832011)(2616005)(6666004)(2906002)(82310400004)(83380400001)(336012)(70206006)(70586007)(4326008)(508600001)(8676002)(426003)(8936002)(54906003)(110136005)(5660300002)(86362001)(316002)(21314003)(36900700001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB4877
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT044.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	1fc58dbc-a7ff-42b5-0f87-08d9e169afa8
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8qp8svwKDWe3TRJosiRBO34prpAV/MqZqxKgAvDJHXyU1qOPrwLoOkoPeMXaT2zgTO1YE4+IxLqzb/BIvkq4rYAH1UrPCfTdtzBXmFuyvgz4JQRdV9r5rSeMmjfjaZN6EuBPWWiKgoh3qwYHf8ljuDhHCBVtSeT8e/6kbYq0E3ZLSdP6VjU5P/WeOewQUVtzO0oE0tnCj0juLgrLrNBd4/VYEgkyGyfJGXcnsL7eaYAR3Dmkdtg+1ZpT2Tucp0//cbKqd7hmy+FAyS9avksaax5b5oWbwNLfQ/OEhFho2QS0GjH2GOtpStyjpLDCNgD7ELaliIHGXXbauj/KHQqtsMC7uLLNSvhiha/AggW9i7sO3VsSmAnupJwNPYxrAuMopSXm5I3wMraumZUkDoKo9lVRsoIZ0QZTY1P6eQG9y94bzOvD6GJKY9nb783pFTHUm7fWty87TvyivngAbIBK6et+gIhvY3I2svH5RS5kVM7cgwomfP0HYsQOZJq9IGVqaT6mB/uubiqNTE3l0OaGYWacELEW8ZG/SxtS/K6hwzFWQnnPaGTxnkjBBFFZPfHD9cx1cUvSbsFQO5mTLVFHph+YJ91G86BAL4M0IMlCBOJIwhuEVONzQDmruz/h2MUMxjLg5mGI0NvEcCBdwYw0Kl3+Se7bNmesfkBlkUaYJA295AjCz9QjIObtq1NxxBhG2WfRFIw6CefKn1Pa9LBucg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230001)(4636009)(40470700004)(36840700001)(46966006)(2616005)(44832011)(81166007)(2906002)(36860700001)(83380400001)(1076003)(47076005)(82310400004)(186003)(26005)(70586007)(5660300002)(508600001)(426003)(336012)(4326008)(8936002)(8676002)(6666004)(36756003)(70206006)(316002)(86362001)(40460700003)(54906003)(7696005)(110136005)(21314003)(20210929001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 07:50:38.9949
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 297eebb0-cc8e-41cd-ce0f-08d9e169b5f3
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT044.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5130

From: Stefano Stabellini <sstabellini@kernel.org>

We are passing an internal-only boolean flag at domain creation to
specify whether we want the domain to be privileged (i.e. dom0) or
not. Another flag will be introduced later in this series.

This commit extends original "boolean" to an "unsigned int" covering both
the existing "is_priv" and our new "directmap", which will be introduced later.

To make visible the relationship, we name the respective constants CDF_xxx
(with no XEN_DOMCTL_ prefix) to represent the difference with the public
constants XEN_DOMCTL_CDF_xxx.

Allocate bit 0 as CDF_privileged: whether a domain is privileged or not.

Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Tested-by: Stefano Stabellini <sstabellini@kernel.org>
---
v4 changes:
- new commit
---
v5 changes
- remove const constraint
---
 xen/arch/arm/domain_build.c |  4 ++--
 xen/arch/x86/setup.c        |  2 +-
 xen/common/domain.c         | 10 +++++-----
 xen/common/sched/core.c     |  2 +-
 xen/include/xen/domain.h    |  4 ++++
 xen/include/xen/sched.h     |  2 +-
 6 files changed, 14 insertions(+), 10 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 6931c022a2..0fab8604de 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -3058,7 +3058,7 @@ void __init create_domUs(void)
          * very important to use the pre-increment operator to call
          * domain_create() with a domid > 0. (domid == 0 is reserved for Dom0)
          */
-        d = domain_create(++max_init_domid, &d_cfg, false);
+        d = domain_create(++max_init_domid, &d_cfg, 0);
         if ( IS_ERR(d) )
             panic("Error creating domain %s\n", dt_node_name(node));
 
@@ -3160,7 +3160,7 @@ void __init create_dom0(void)
     if ( iommu_enabled )
         dom0_cfg.flags |= XEN_DOMCTL_CDF_iommu;
 
-    dom0 = domain_create(0, &dom0_cfg, true);
+    dom0 = domain_create(0, &dom0_cfg, CDF_privileged);
     if ( IS_ERR(dom0) || (alloc_dom0_vcpu0(dom0) == NULL) )
         panic("Error creating domain 0\n");
 
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index e716005145..a14271488c 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -789,7 +789,7 @@ static struct domain *__init create_dom0(const module_t *image,
 
     /* Create initial domain.  Not d0 for pvshim. */
     domid = get_initial_domain_id();
-    d = domain_create(domid, &dom0_cfg, !pv_shim);
+    d = domain_create(domid, &dom0_cfg, pv_shim ? 0 : CDF_privileged);
     if ( IS_ERR(d) )
         panic("Error creating d%u: %ld\n", domid, PTR_ERR(d));
 
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 2048ebad86..a79103e04a 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -552,7 +552,7 @@ static int sanitise_domain_config(struct xen_domctl_createdomain *config)
 
 struct domain *domain_create(domid_t domid,
                              struct xen_domctl_createdomain *config,
-                             bool is_priv)
+                             unsigned int flags)
 {
     struct domain *d, **pd, *old_hwdom = NULL;
     enum { INIT_watchdog = 1u<<1,
@@ -578,7 +578,7 @@ struct domain *domain_create(domid_t domid,
     }
 
     /* Sort out our idea of is_control_domain(). */
-    d->is_privileged = is_priv;
+    d->is_privileged = flags & CDF_privileged;
 
     /* Sort out our idea of is_hardware_domain(). */
     if ( domid == 0 || domid == hardware_domid )
@@ -772,7 +772,7 @@ void __init setup_system_domains(void)
      * Hidden PCI devices will also be associated with this domain
      * (but be [partly] controlled by Dom0 nevertheless).
      */
-    dom_xen = domain_create(DOMID_XEN, NULL, false);
+    dom_xen = domain_create(DOMID_XEN, NULL, 0);
     if ( IS_ERR(dom_xen) )
         panic("Failed to create d[XEN]: %ld\n", PTR_ERR(dom_xen));
 
@@ -782,7 +782,7 @@ void __init setup_system_domains(void)
      * array. Mappings occur at the priv of the caller.
      * Quarantined PCI devices will be associated with this domain.
      */
-    dom_io = domain_create(DOMID_IO, NULL, false);
+    dom_io = domain_create(DOMID_IO, NULL, 0);
     if ( IS_ERR(dom_io) )
         panic("Failed to create d[IO]: %ld\n", PTR_ERR(dom_io));
 
@@ -791,7 +791,7 @@ void __init setup_system_domains(void)
      * Initialise our COW domain.
      * This domain owns sharable pages.
      */
-    dom_cow = domain_create(DOMID_COW, NULL, false);
+    dom_cow = domain_create(DOMID_COW, NULL, 0);
     if ( IS_ERR(dom_cow) )
         panic("Failed to create d[COW]: %ld\n", PTR_ERR(dom_cow));
 #endif
diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index 8f4b1ca10d..f5c819349b 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -3021,7 +3021,7 @@ void __init scheduler_init(void)
         sched_ratelimit_us = SCHED_DEFAULT_RATELIMIT_US;
     }
 
-    idle_domain = domain_create(DOMID_IDLE, NULL, false);
+    idle_domain = domain_create(DOMID_IDLE, NULL, 0);
     BUG_ON(IS_ERR(idle_domain));
     BUG_ON(nr_cpu_ids > ARRAY_SIZE(idle_vcpu));
     idle_domain->vcpu = idle_vcpu;
diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h
index 160c8dbdab..cfb0b47f13 100644
--- a/xen/include/xen/domain.h
+++ b/xen/include/xen/domain.h
@@ -28,6 +28,10 @@ void getdomaininfo(struct domain *d, struct xen_domctl_getdomaininfo *info);
 void arch_get_domain_info(const struct domain *d,
                           struct xen_domctl_getdomaininfo *info);
 
+/* CDF_* constant. Internal flags for domain creation. */
+/* Is this a privileged domain? */
+#define CDF_privileged           (1U << 0)
+
 /*
  * Arch-specifics.
  */
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 37f78cc4c4..24a9a87f83 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -665,7 +665,7 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config);
  */
 struct domain *domain_create(domid_t domid,
                              struct xen_domctl_createdomain *config,
-                             bool is_priv);
+                             unsigned int flags);
 
 /*
  * rcu_lock_domain_by_id() is more efficient than get_domain_by_id().
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 07:50:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 07:50:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261215.452048 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzYR-0000ZM-Ly; Thu, 27 Jan 2022 07:50:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261215.452048; Thu, 27 Jan 2022 07:50:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzYR-0000ZB-Ic; Thu, 27 Jan 2022 07:50:51 +0000
Received: by outflank-mailman (input) for mailman id 261215;
 Thu, 27 Jan 2022 07:50:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=h4dm=SL=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1nCzYQ-0000Xj-Bj
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 07:50:50 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0627.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::627])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d737afb7-7f45-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 08:50:49 +0100 (CET)
Received: from DB6P18901CA0010.EURP189.PROD.OUTLOOK.COM (2603:10a6:4:16::20)
 by AM5PR0801MB1651.eurprd08.prod.outlook.com (2603:10a6:203:39::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 07:50:43 +0000
Received: from DB5EUR03FT044.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:16:cafe::ec) by DB6P18901CA0010.outlook.office365.com
 (2603:10a6:4:16::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17 via Frontend
 Transport; Thu, 27 Jan 2022 07:50:43 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT044.mail.protection.outlook.com (10.152.21.167) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4930.15 via Frontend Transport; Thu, 27 Jan 2022 07:50:43 +0000
Received: ("Tessian outbound 63bb5eb69ee8:v113");
 Thu, 27 Jan 2022 07:50:43 +0000
Received: from c34b16ce37c1.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 8846CCC2-29D0-4286-9D8E-C4CE81294CE9.1; 
 Thu, 27 Jan 2022 07:50:37 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c34b16ce37c1.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 27 Jan 2022 07:50:37 +0000
Received: from AS8PR04CA0093.eurprd04.prod.outlook.com (2603:10a6:20b:31e::8)
 by AM6PR08MB4405.eurprd08.prod.outlook.com (2603:10a6:20b:b7::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.13; Thu, 27 Jan
 2022 07:50:34 +0000
Received: from AM5EUR03FT032.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:31e:cafe::24) by AS8PR04CA0093.outlook.office365.com
 (2603:10a6:20b:31e::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15 via Frontend
 Transport; Thu, 27 Jan 2022 07:50:34 +0000
Received: from nebula.arm.com (40.67.248.234) by
 AM5EUR03FT032.mail.protection.outlook.com (10.152.16.84) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4930.15 via Frontend Transport; Thu, 27 Jan 2022 07:50:34 +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.20; Thu, 27 Jan
 2022 07:50:34 +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.20; Thu, 27
 Jan 2022 07:50:33 +0000
Received: from penny.shanghai.arm.com (10.169.188.91) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.20 via Frontend
 Transport; Thu, 27 Jan 2022 07:50: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: d737afb7-7f45-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sH+JDxJqSi4MWsWTFqNhTsipHdTKsPE2NyugzwEu6T4=;
 b=Vc7dnXhke1WEMCeyxX0IS8a4Un2a+xHRKrZuuuo8cASs3NGbMo/8E3/7yILtWEpwYRQIF0Tks496X3ga03/7Um9LxC1k7JhrpKPefuOjlswZH9M/CNJoR6OJK4wlOJZ1pcNMZHI250fx/duzCyX7hG0if97Q1dnxMP7ftjiKGMc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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: 6cb73171e516e849
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=esla83ufDgRB4Mm+JNxkW8Cx5CPCE/329La6LqyBPqYWGSKxzsKl1kWx3+qjk3C88/Q7PXQ07j3PsoJ+9qa/FB+b/8Pxr0nLuQ1XEXP/8Jp6PGeQLBimI2T+sLI1cB4+X4T7qdl5FA1HA+NpnVacJZKktl2h1q2TIKogGPXRy8wTM+wJgY3ZthkYRU0kJ7uA9haD9li2IWBaIYZWvMrNomD0Y6Z7P149UBu672DwnpnsKUDl5ppgyHpd9Lo350GZ4Hrpcb4pfoZs6VaNJguUDG73FpNbK9Z+sWLT7D416Ul0QJHu35f++SGGIIEo3HVS03cgFeW1exI2HM6C3nct3w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sH+JDxJqSi4MWsWTFqNhTsipHdTKsPE2NyugzwEu6T4=;
 b=Y1N0SWOyn0LGqBRpg55Z807evmue0+VIjv/vvaEftB6pMqpZlBzy4EabEzWbTd9OXsOTOp5q46nu4Xs0mcNB40erlK2J1tdYar2djrx6Ofqg/k/EVSkIkoYd+6P5ryW0v0cbvy1t2J9l5kP4OPkVraCgy7OvP3vmXNJclTrA44VoNH0htPKYcBOu9LmtOpEjhq252wiA7kndqt+eQGB7r34UP2iGBsvDXcHrSU53Melyw1dP2kHGj6wsybyMIyFC4/Acvw+3rg4pS7DbMslujgfOkX8MUV18tEvap0V9isUq6Kbrdx4WRcamfKK8xDyNu6D4rT5yusVIdr1/2oVkNA==
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=sH+JDxJqSi4MWsWTFqNhTsipHdTKsPE2NyugzwEu6T4=;
 b=Vc7dnXhke1WEMCeyxX0IS8a4Un2a+xHRKrZuuuo8cASs3NGbMo/8E3/7yILtWEpwYRQIF0Tks496X3ga03/7Um9LxC1k7JhrpKPefuOjlswZH9M/CNJoR6OJK4wlOJZ1pcNMZHI250fx/duzCyX7hG0if97Q1dnxMP7ftjiKGMc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Penny Zheng <penny.zheng@arm.com>
To: <xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
	<julien@xen.org>
CC: <Bertrand.Marquis@arm.com>, <Wei.Chen@arm.com>
Subject: [PATCH v5 04/11] xen/arm: introduce new helper parse_static_mem_prop and acquire_static_memory_bank
Date: Thu, 27 Jan 2022 07:49:22 +0000
Message-ID: <20220127074929.502885-5-penny.zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220127074929.502885-1-penny.zheng@arm.com>
References: <20220127074929.502885-1-penny.zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-Office365-Filtering-Correlation-Id: 46d47487-b43b-4e15-6e9a-08d9e169b883
X-MS-TrafficTypeDiagnostic:
	AM6PR08MB4405:EE_|DB5EUR03FT044:EE_|AM5PR0801MB1651:EE_
X-Microsoft-Antispam-PRVS:
	<AM5PR0801MB16512A1456974F797524E939F7219@AM5PR0801MB1651.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:281;OLM:281;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 SpR9G3ONgDxJ6mcbjZJRKREMM6lJ3FmLvqotqI8Qv4qs+OYzWUWo28pL3jjpnGBIWGC+usm2+LBFqgjaRTp7Wcrz7/KzZkD0IL7fB37oag+bLWxButVm2Of385pg1ANN8USn8XWX/x/y4Fxv0PmJcUH2Wg3QOkfFee0N7wbV1H8bwZ0edIpIl9MHFgAe7/O6X1Im19k++mokagStbsjb3WOYHaBOpZhW+HFc9DslGkMjj70w4wQ1hOoMLLWii7Q34+dsVDodz/t0CHkNBymLNrZ86tsNvtbwspSsAhc2x1JrNntdg3cJB/aXiNyLOWPifQhHt0Z40jI4xiDF6D44Oan0eaXNfmwRS1AnRA3OgUoml7koU/po/znK6S1UCBd5kI+S/BRAzbv8Kn5lZjojHo4EH7y9nhdO1qqQTM9zQq6MSt7+EDfesuf6osWI6P632JuulHRA4ozHTvvnDo9w4GghS8SPoejXSAl+QBZoECNEEU0xpOXjJGSLv63X/h/uRlzewS34yBkkKfOs1dpi/Y6nKIn+L+i5Dv9nThqLI0n/lcUXOfyt7KwC3NDvbHFAh1CybfQbKlX5eKvHJCAu5L8EcCk6doVr8+abXI16moM0mi1COmZqgGh17Nn48L6msiKn+U5eywQc0dEfvX2sHMGWJf3zOlLkCKGK2IHvXA//XnO1NfIyKYYMRTvk5tcFbq3Cr7YUMXb/OoSITlPE/jlEXwXwqSFHYEMW7pdXsxLJGr3Psu43xJDcVzjmDBBDxvRODdgDhHsR2tCnIoJ8ZfLjkpYU0tqbVUAyKpDTcj8=
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)(40470700004)(46966006)(36840700001)(7696005)(44832011)(5660300002)(6666004)(83380400001)(8936002)(2616005)(86362001)(70206006)(40460700003)(47076005)(356005)(4326008)(81166007)(110136005)(54906003)(316002)(26005)(336012)(36860700001)(82310400004)(2906002)(508600001)(70586007)(426003)(8676002)(1076003)(186003)(36756003)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4405
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT044.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	d86766de-d184-44c4-29b3-08d9e169b36a
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Q4aB5jJX/dS19+0SWGdMla0w+zcXmYCndCxWhRBzUFT3TmDuusOnS/HuFpHO4wr3bOQrRK/zaDGUIX5buS7AutgVaJ00Y00zbETTn+3fRh1tj9vWSu6VSDiKJaNLyImCN4FRzKijQdYqRhU9Y9sU5kdmm6KXqUA0I1MtnppJDUiYKEvGkvotqYYkMcsKQIMl3cJoGR7CHJ4kEbwxh1mTbu2km5Ar/6S8DXVmAlfd7tZPQ1OuXKHRZGrMp7QJn75JTROEm+tOl3BNB/jsItbo3qdsffNUDALjaxXhpUTN6pZ3pF3XELTIiJw4TN85NZbEYSSehXa/gITVPVCIsqoXYO7Sf7lNJVnagnXYqumQZltpQCM8HCN5skKzTnraImuqROdlLYZITELSNGyiNkz48X4GrkIhMXmWCUzkaQHYmKDMRNRN7oxoiOfEBidR7EoxAn5ZBMt3GhBUdKKYYI61tcswMDu12vcu7aLRnDuY456FZjHR53oN2Q47aGioxR8NBgP1wlBBtzg8epaHMAyE93iJAxnwBM8ASnlz/d46yo4Ab8J6N/AxULmhqq0Ornh5dZewKbWboRQyFYBWTdxn7mWkCpNnr4ZjPMoz89OHNg31YwEYEubzHGq1/IzUIlB30CIb2oHdOWmHJZuyxIvVh17zu++3xiXvmmYY18S9986mQY9QeJQ/wkYlLeRNOekZ
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230001)(4636009)(46966006)(36840700001)(40470700004)(82310400004)(110136005)(54906003)(26005)(426003)(336012)(47076005)(1076003)(83380400001)(186003)(6666004)(7696005)(508600001)(2616005)(86362001)(36860700001)(70586007)(8936002)(8676002)(4326008)(70206006)(2906002)(44832011)(5660300002)(40460700003)(316002)(81166007)(36756003)(20210929001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 07:50:43.3072
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 46d47487-b43b-4e15-6e9a-08d9e169b883
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT044.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1651

Later, we will introduce assign_static_memory_11 for allocating static
memory for direct-map domains, and it will share a lot common codes with
the existing allocate_static_memory.

In order not to bring a lot of duplicate codes, and also to make the whole
code more readable, this commit extracts common codes into two new helpers
parse_static_mem_prop and acquire_static_memory_bank.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Tested-by: Stefano Stabellini <sstabellini@kernel.org>
---
v3 changes:
- new commit, split from the original "[PATCH v2 2/6] xen/arm: introduce
direct-map for domUs"
---
v4 changes
- explain briefly in the commit message why we want to do device assignment
without IOMMU.
---
v5 changes
- fix coding style
---
 xen/arch/arm/domain_build.c | 100 +++++++++++++++++++++++-------------
 1 file changed, 64 insertions(+), 36 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index c1e8c99f64..e61d2d53ba 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -509,12 +509,69 @@ static bool __init append_static_memory_to_bank(struct domain *d,
     return true;
 }
 
+static mfn_t __init acquire_static_memory_bank(struct domain *d,
+                                               const __be32 **cell,
+                                               u32 addr_cells, u32 size_cells,
+                                               paddr_t *pbase, paddr_t *psize)
+{
+    mfn_t smfn;
+    int res;
+
+    device_tree_get_reg(cell, addr_cells, size_cells, pbase, psize);
+    ASSERT(IS_ALIGNED(*pbase, PAGE_SIZE) && IS_ALIGNED(*psize, PAGE_SIZE));
+    if ( PFN_DOWN(*psize) > UINT_MAX )
+    {
+        printk(XENLOG_ERR "%pd: static memory size too large: %#"PRIpaddr,
+               d, *psize);
+        return INVALID_MFN;
+    }
+
+    smfn = maddr_to_mfn(*pbase);
+    res = acquire_domstatic_pages(d, smfn, PFN_DOWN(*psize), 0);
+    if ( res )
+    {
+        printk(XENLOG_ERR
+               "%pd: failed to acquire static memory: %d.\n", d, res);
+        return INVALID_MFN;
+    }
+
+    return smfn;
+}
+
+static int __init parse_static_mem_prop(const struct dt_device_node *node,
+                                        u32 *addr_cells, u32 *size_cells,
+                                        int *length, const __be32 **cell)
+{
+    const struct dt_property *prop;
+
+    prop = dt_find_property(node, "xen,static-mem", NULL);
+    if ( !dt_property_read_u32(node, "#xen,static-mem-address-cells",
+                               addr_cells) )
+    {
+        printk(XENLOG_ERR
+               "failed to read \"#xen,static-mem-address-cells\".\n");
+        return -EINVAL;
+    }
+
+    if ( !dt_property_read_u32(node, "#xen,static-mem-size-cells",
+                               size_cells) )
+    {
+        printk(XENLOG_ERR
+               "failed to read \"#xen,static-mem-size-cells\".\n");
+        return -EINVAL;
+    }
+
+    *cell = (const __be32 *)prop->value;
+    *length = prop->length;
+
+    return 0;
+}
+
 /* 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, bank = 0;
     const uint64_t rambase[] = GUEST_RAM_BANK_BASES;
@@ -523,24 +580,10 @@ static void __init allocate_static_memory(struct domain *d,
     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;
-    }
+    int length;
 
-    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);
+    if ( parse_static_mem_prop(node, &addr_cells, &size_cells, &length, &cell) )
         goto fail;
-    }
     reg_cells = addr_cells + size_cells;
 
     /*
@@ -551,29 +594,14 @@ static void __init allocate_static_memory(struct domain *d,
     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));
+    nr_banks = 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));
-
-        if ( PFN_DOWN(psize) > UINT_MAX )
-        {
-            printk(XENLOG_ERR "%pd: static memory size too large: %#"PRIpaddr,
-                   d, psize);
+        smfn = acquire_static_memory_bank(d, &cell, addr_cells, size_cells,
+                                          &pbase, &psize);
+        if ( mfn_eq(smfn, INVALID_MFN) )
             goto fail;
-        }
-        smfn = maddr_to_mfn(pbase);
-        res = acquire_domstatic_pages(d, smfn, PFN_DOWN(psize), 0);
-        if ( res )
-        {
-            printk(XENLOG_ERR
-                   "%pd: failed to acquire static memory: %d.\n", d, res);
-            goto fail;
-        }
 
         printk(XENLOG_INFO "%pd: STATIC BANK[%u] %#"PRIpaddr"-%#"PRIpaddr"\n",
                d, bank, pbase, pbase + psize);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 07:50:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 07:50:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261216.452059 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzYU-0000sI-4H; Thu, 27 Jan 2022 07:50:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261216.452059; Thu, 27 Jan 2022 07:50:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzYT-0000s7-W8; Thu, 27 Jan 2022 07:50:53 +0000
Received: by outflank-mailman (input) for mailman id 261216;
 Thu, 27 Jan 2022 07:50:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=h4dm=SL=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1nCzYR-0000Xj-VT
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 07:50:52 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20625.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::625])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d8bb539b-7f45-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 08:50:50 +0100 (CET)
Received: from DB6PR0301CA0075.eurprd03.prod.outlook.com (2603:10a6:6:30::22)
 by AM9PR08MB6820.eurprd08.prod.outlook.com (2603:10a6:20b:30f::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 07:50:41 +0000
Received: from DB5EUR03FT016.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:6:30:cafe::a6) by DB6PR0301CA0075.outlook.office365.com
 (2603:10a6:6:30::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17 via Frontend
 Transport; Thu, 27 Jan 2022 07:50:41 +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.4930.15 via Frontend Transport; Thu, 27 Jan 2022 07:50:41 +0000
Received: ("Tessian outbound 18e50a6f0513:v113");
 Thu, 27 Jan 2022 07:50:41 +0000
Received: from 47971b1d2ff1.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 CEEA1370-56B6-42BE-9901-F134C1CDAB0D.1; 
 Thu, 27 Jan 2022 07:50:34 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 47971b1d2ff1.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 27 Jan 2022 07:50:34 +0000
Received: from AS8PR04CA0106.eurprd04.prod.outlook.com (2603:10a6:20b:31e::21)
 by AM0PR08MB4961.eurprd08.prod.outlook.com (2603:10a6:208:161::29)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 07:50:31 +0000
Received: from AM5EUR03FT032.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:31e:cafe::55) by AS8PR04CA0106.outlook.office365.com
 (2603:10a6:20b:31e::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17 via Frontend
 Transport; Thu, 27 Jan 2022 07:50:31 +0000
Received: from nebula.arm.com (40.67.248.234) by
 AM5EUR03FT032.mail.protection.outlook.com (10.152.16.84) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4930.15 via Frontend Transport; Thu, 27 Jan 2022 07:50:31 +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.20; Thu, 27 Jan
 2022 07:50:29 +0000
Received: from penny.shanghai.arm.com (10.169.188.91) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.20 via Frontend
 Transport; Thu, 27 Jan 2022 07:50:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d8bb539b-7f45-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qJY+Z8v2F+OrilDf0c+mywrBc7V7NbAWQsU/sTzRiWQ=;
 b=YOWaLxK2hRMsjcThyNKtsOXrILT4Gu3QkZrllp7XvKCBYQgatpTiAV/dKOT2Igbm3BkQKYYjtKr6lPWJtok7y6JpM0GqYp1FJIlQPlaZEAthvQ5e0J5IzC5Jh+rDzlk/Aqg6eD24p7u0f0a8ztwIIWPsY9zxUjZu3oI24EMRewM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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: e9646bc275f6d35e
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C2JVR5LaimGOCi2GUq7jN8EW7Q4qMPrcVvb+Kha9qlw4JLBUyN/HvL1H/XgtQafi5cUdpbtXBC0fE6dXYDpLegCO18kja416hUrhLMD3XULATn9Mm7DSQucqayNNAdXo2Fap+W+/dnBormPm/GvP83vs6H4sN4+GF0HEPWf9JWefj5BaXDDpjiEyKook6HLIPz+Qlfoyyyc+3XU62kx4kpiUwPIIDp5rawJXUg9pt+PpA2xdDghkUWNTT1r4Lh2GRhG2EFb2LagLXM0l4BH+j8MM7UE96Kaei7F4hEN4+djHBekvUaEWSNA8fYwdaOPTImfDhVon1pUr1QdVx4phhA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qJY+Z8v2F+OrilDf0c+mywrBc7V7NbAWQsU/sTzRiWQ=;
 b=P2oxIwm9La25o3IPrp2gu7NVmOig1zBDJCUvZ8/GU5FJ6z/llktjJO38z1lFCUv0OhmXkMZHmr8Uu/9HuoLvVSBlkBlcqhSzFtdAvRiNfoM6AL+zA3L5TP3OSdDdODjJyJ0ViA9xAtdHe1A0OjyMjmYNRq4hwScPqLRoRzxg2b0FE0Q8Xj4CfWx/bnBYXs4SN7XAYDcFRSk/qpQ1n5jcRYBgrpzPkrzv3vY0uhezxmS0nLxDxHsZpMpdF1w3CUdew1b3r7ufRqZfzrLjrXVBSyCZRb3D/jT+TilyYvLdQDoqUuZZuAEfrENU6JwV3M9DTS4wrUcki1b2FTcoq1Rv3Q==
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=qJY+Z8v2F+OrilDf0c+mywrBc7V7NbAWQsU/sTzRiWQ=;
 b=YOWaLxK2hRMsjcThyNKtsOXrILT4Gu3QkZrllp7XvKCBYQgatpTiAV/dKOT2Igbm3BkQKYYjtKr6lPWJtok7y6JpM0GqYp1FJIlQPlaZEAthvQ5e0J5IzC5Jh+rDzlk/Aqg6eD24p7u0f0a8ztwIIWPsY9zxUjZu3oI24EMRewM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Penny Zheng <penny.zheng@arm.com>
To: <xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
	<julien@xen.org>
CC: <Bertrand.Marquis@arm.com>, <Wei.Chen@arm.com>
Subject: [PATCH v5 02/11] xen: introduce CDF_directmap
Date: Thu, 27 Jan 2022 07:49:20 +0000
Message-ID: <20220127074929.502885-3-penny.zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220127074929.502885-1-penny.zheng@arm.com>
References: <20220127074929.502885-1-penny.zheng@arm.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 1
X-MS-Office365-Filtering-Correlation-Id: 2034215e-60a6-408e-8712-08d9e169b72c
X-MS-TrafficTypeDiagnostic:
	AM0PR08MB4961:EE_|DB5EUR03FT016:EE_|AM9PR08MB6820:EE_
X-Microsoft-Antispam-PRVS:
	<AM9PR08MB6820BD49DEED433E0B032978F7219@AM9PR08MB6820.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:213;OLM:213;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 S6ty7VA1WgAomn9VI6LOvP5W71fC7dsKo5l/EfKkbNHg3xoI6xd/PVrB0UlfZKmLRoSv5hoX9Elzp21YE85Bg1OwtXtzCLgBLHGG5bwGFeA/BHaZ63W3h/xUQB9+ZBXagoGa+Q5ywTf1JKsSOBf2nRpO0s3ephuAS1vle9/OrCUWPqFTeV1c3Muq6CrsK6c1hj8hXrXakCy5jupynevU4Dnz8nZJZ8Lo3dAG9i47S8YeL/JJwz/b+HQj2H5IaOij+llUHY8d77dEKAHsLZEa+9dssgLHKpSOT+ttJ+cFUrkwRmSG4moVyNTiwY2ylkxFQk/bqf6LqGBBjxSTIrzmHK7YkXljluW6PsDKXEGgM38OdUfvqH6CN1SCtZloXkXSO3dE4FBRse2CY6ptyuiZnyDSS+nJ9x9dWaqt/vjHkojrSEzeSNIe8YDGr8tLoHUHam5H1amtpNrNMd5mVwNyQV7W41ks0vqrMYsBSZA3qfWEUsVJ79KeSy0dS7Q94BWvDU+TfhZnUXc0qAatw+VdYKvPqyHxCX8rf5V0oKEeB4W9+YxEoafTftgyUU3b/W9FbJHQn3TcRIbbdMZLHJ4F2njaq9azluURPaDFLn17sFlwlVw/FvfFWJ6kd4ejLqZ67fCYAupWaEpirdrvKWrRGTSF2xVHpNP6QktawcOtDuapl9cIWgqsori1Cp8r1L1WYR7besOi9bVvt16qDE3Sw81iLh2WYagD4achjasU7rI=
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:(13230001)(4636009)(36840700001)(46966006)(40470700004)(36756003)(6666004)(336012)(426003)(70586007)(70206006)(8676002)(4326008)(8936002)(5660300002)(7696005)(508600001)(110136005)(86362001)(316002)(54906003)(40460700003)(81166007)(44832011)(356005)(2906002)(2616005)(26005)(47076005)(1076003)(186003)(82310400004)(83380400001)(36860700001)(21314003)(36900700001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4961
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT016.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	c93fe7fd-476d-4415-fedb-08d9e169b14c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QsrKD67OpbVVNwqUmpgToM95YkJIxhUNlatGnbUqWkFCl0IM0cMhiuMDU8yRFIu0MiQyOkotdKSRk7MjzhoES1dzsDSTtmFU8rqa/NfXu7Qc3sg6mPXLwh6Xh4/dKZrVNavfp7I4b+j5DOFEl5pUWyvABMWBPF9me2XT8cpqpr8kfxrapTVFZqiBR5hl3CWg6nsGGTk4IUPDbq5sqZvYMUnrhlVH3QUZ7dHYAR5S1j0rhhXJLpQy6O5EY379RzZXOQ7DpIcDL+KhK5oa26gHpF8JgJFV7tMdbJVDW/bKANTIKnNxz/Fhde+GTphCwWSlw6Sm6hRSAYkXUofFutU89n39gWqYbxhD2J5PlTrUc/WdY/XaX5S+1BNvOmv4UC93aQG2yrF7u7XF1sYPAAIRIjc2QyaTf4snBsMZucIXbRFX6UZdlZEq6hgQLEGkCukqcNkrdR9ClU337UKFiXH2P2f6IzlcXNczaLM2KZWwqLxPdJIeSVwM6fs7O+cdrlRaAupvB6KIYRGU8s/CJ5jTdKrgxhTqrnn/Qc+O4CwrZfdeL9p87DsKRzzs3o5cglUIvoqJD86W0U4FCOUAtcqP7qu6yE9GJamrguPtNPq3Rb6RNsrmx+0FCgatN5zrCJlQafU61z4PKs+LNwwXJYd8lDWvHNSwLVKeEK2pGJE/rTiHNCpYGouRAsm83tLrnuBN5tFO3UjiJUfxIkqCLA2bPA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230001)(4636009)(40470700004)(46966006)(36840700001)(83380400001)(86362001)(426003)(5660300002)(2906002)(36756003)(6666004)(47076005)(336012)(54906003)(110136005)(7696005)(40460700003)(8936002)(26005)(316002)(36860700001)(508600001)(1076003)(4326008)(8676002)(186003)(44832011)(70206006)(81166007)(2616005)(82310400004)(70586007)(21314003)(20210929001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 07:50:41.0600
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2034215e-60a6-408e-8712-08d9e169b72c
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: AM9PR08MB6820

From: Stefano Stabellini <sstabellini@kernel.org>

This commit introduces a new arm-specific flag CDF_directmap to specify
that a domain should have its memory direct-map(guest physical address
== physical address) at domain creation.

Also, add a directmap flag under struct arch_domain and use it to
reimplement is_domain_direct_mapped.

For now, direct-map is only available when statically allocated memory is
used for the domain, that is, "xen,static-mem" must be also defined in the
domain configuration.

Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Tested-by: Stefano Stabellini <sstabellini@kernel.org>
---
CC: andrew.cooper3@citrix.com
CC: jbeulich@suse.com
CC: George Dunlap <George.Dunlap@eu.citrix.com>
CC: Ian Jackson <ian.jackson@eu.citrix.com>
CC: Wei Liu <wl@xen.org>
CC: "Roger Pau Monné" <roger.pau@citrix.com>
---
v2 changes
- remove the introduce of internal flag
- remove flag direct_map since we already store this flag in d->options
- Refine is_domain_direct_mapped to check whether the flag
XEN_DOMCTL_CDF_directmap is set
- reword "1:1 direct-map" to just "direct-map"
---
v3 changes
- move flag back to xen/include/xen/domain.h, to let it be only available for
domain created by XEN.
- name it with extra "INTERNAL" and add comments to warn developers not
to accidently use its bitfield when introducing new XEN_DOMCTL_CDF_xxx flag.
- reject this flag in x86'es arch_sanitise_domain_config()
---
v4 changes
- introduce new internal flag CDF_directmap
- add a directmap flag under struct arch_domain and use it to
reimplement is_domain_direct_mapped.
- expand arch_domain_create to include internal-only parameter "const unsigned
int flags"
---
v5 changes
- remove const constraint
- strict "static allocation" check
---
 docs/misc/arm/device-tree/booting.txt |  6 ++++++
 xen/arch/arm/domain.c                 |  5 ++++-
 xen/arch/arm/domain_build.c           | 14 ++++++++++++--
 xen/arch/arm/include/asm/domain.h     |  5 +++--
 xen/arch/x86/domain.c                 |  3 ++-
 xen/common/domain.c                   |  2 +-
 xen/include/xen/domain.h              |  5 ++++-
 7 files changed, 32 insertions(+), 8 deletions(-)

diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
index 71895663a4..a94125394e 100644
--- a/docs/misc/arm/device-tree/booting.txt
+++ b/docs/misc/arm/device-tree/booting.txt
@@ -182,6 +182,12 @@ with the following properties:
     Both #address-cells and #size-cells need to be specified because
     both sub-nodes (described shortly) have reg properties.
 
+- direct-map
+
+    Only available when statically allocated memory is used for the domain.
+    An empty property to request the memory of the domain to be
+    direct-map (guest physical address == physical address).
+
 Under the "xen,domain" compatible node, one or more sub-nodes are present
 for the DomU kernel and ramdisk.
 
diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 92a6c509e5..8110c1df86 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -692,7 +692,8 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
 }
 
 int arch_domain_create(struct domain *d,
-                       struct xen_domctl_createdomain *config)
+                       struct xen_domctl_createdomain *config,
+                       unsigned int flags)
 {
     int rc, count = 0;
 
@@ -708,6 +709,8 @@ int arch_domain_create(struct domain *d,
     ioreq_domain_init(d);
 #endif
 
+    d->arch.directmap = flags & CDF_directmap;
+
     /* p2m_init relies on some value initialized by the IOMMU subsystem */
     if ( (rc = iommu_domain_init(d, config->iommu_opts)) != 0 )
         goto fail;
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 0fab8604de..6467e8ee32 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -3029,10 +3029,20 @@ void __init create_domUs(void)
             .max_maptrack_frames = -1,
             .grant_opts = XEN_DOMCTL_GRANT_version(opt_gnttab_max_version),
         };
+        unsigned int flags = 0U;
 
         if ( !dt_device_is_compatible(node, "xen,domain") )
             continue;
 
+        if ( dt_property_read_bool(node, "direct-map") )
+        {
+            if ( !IS_ENABLED(CONFIG_STATIC_MEMORY) || !dt_find_property(node, "xen,static-mem", NULL) )
+                panic("direct-map is not valid for domain %s without static allocation.\n",
+                      dt_node_name(node));
+
+            flags |= CDF_directmap;
+        }
+
         if ( !dt_property_read_u32(node, "cpus", &d_cfg.max_vcpus) )
             panic("Missing property 'cpus' for domain %s\n",
                   dt_node_name(node));
@@ -3058,7 +3068,7 @@ void __init create_domUs(void)
          * very important to use the pre-increment operator to call
          * domain_create() with a domid > 0. (domid == 0 is reserved for Dom0)
          */
-        d = domain_create(++max_init_domid, &d_cfg, 0);
+        d = domain_create(++max_init_domid, &d_cfg, flags);
         if ( IS_ERR(d) )
             panic("Error creating domain %s\n", dt_node_name(node));
 
@@ -3160,7 +3170,7 @@ void __init create_dom0(void)
     if ( iommu_enabled )
         dom0_cfg.flags |= XEN_DOMCTL_CDF_iommu;
 
-    dom0 = domain_create(0, &dom0_cfg, CDF_privileged);
+    dom0 = domain_create(0, &dom0_cfg, CDF_privileged | CDF_directmap);
     if ( IS_ERR(dom0) || (alloc_dom0_vcpu0(dom0) == NULL) )
         panic("Error creating domain 0\n");
 
diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
index 9b3647587a..cb37ce89ec 100644
--- a/xen/arch/arm/include/asm/domain.h
+++ b/xen/arch/arm/include/asm/domain.h
@@ -29,8 +29,7 @@ enum domain_type {
 #define is_64bit_domain(d) (0)
 #endif
 
-/* The hardware domain has always its memory direct mapped. */
-#define is_domain_direct_mapped(d) is_hardware_domain(d)
+#define is_domain_direct_mapped(d) (d->arch.directmap)
 
 struct vtimer {
     struct vcpu *v;
@@ -89,6 +88,8 @@ struct arch_domain
 #ifdef CONFIG_TEE
     void *tee;
 #endif
+
+    bool directmap;
 }  __cacheline_aligned;
 
 struct arch_vcpu
diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index ef1812dc14..9835f90ea0 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -722,7 +722,8 @@ static bool emulation_flags_ok(const struct domain *d, uint32_t emflags)
 }
 
 int arch_domain_create(struct domain *d,
-                       struct xen_domctl_createdomain *config)
+                       struct xen_domctl_createdomain *config,
+                       unsigned int flags)
 {
     bool paging_initialised = false;
     uint32_t emflags;
diff --git a/xen/common/domain.c b/xen/common/domain.c
index a79103e04a..3742322d22 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -659,7 +659,7 @@ struct domain *domain_create(domid_t domid,
         radix_tree_init(&d->pirq_tree);
     }
 
-    if ( (err = arch_domain_create(d, config)) != 0 )
+    if ( (err = arch_domain_create(d, config, flags)) != 0 )
         goto fail;
     init_status |= INIT_arch;
 
diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h
index cfb0b47f13..3a2371d715 100644
--- a/xen/include/xen/domain.h
+++ b/xen/include/xen/domain.h
@@ -31,6 +31,8 @@ void arch_get_domain_info(const struct domain *d,
 /* CDF_* constant. Internal flags for domain creation. */
 /* Is this a privileged domain? */
 #define CDF_privileged           (1U << 0)
+/* Should domain memory be directly mapped? */
+#define CDF_directmap            (1U << 1)
 
 /*
  * Arch-specifics.
@@ -65,7 +67,8 @@ int map_vcpu_info(struct vcpu *v, unsigned long gfn, unsigned offset);
 void unmap_vcpu_info(struct vcpu *v);
 
 int arch_domain_create(struct domain *d,
-                       struct xen_domctl_createdomain *config);
+                       struct xen_domctl_createdomain *config,
+                       unsigned int flags);
 
 void arch_domain_destroy(struct domain *d);
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 07:50:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 07:50:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261217.452070 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzYV-00018o-Go; Thu, 27 Jan 2022 07:50:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261217.452070; Thu, 27 Jan 2022 07: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 1nCzYV-00018c-9N; Thu, 27 Jan 2022 07:50:55 +0000
Received: by outflank-mailman (input) for mailman id 261217;
 Thu, 27 Jan 2022 07:50:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=h4dm=SL=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1nCzYU-0008Mi-Dg
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 07:50:54 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on0600.outbound.protection.outlook.com
 [2a01:111:f400:fe1e::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id da354251-7f45-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 08:50:53 +0100 (CET)
Received: from DB6PR1001CA0027.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:4:55::13)
 by VI1PR0801MB1885.eurprd08.prod.outlook.com (2603:10a6:800:84::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Thu, 27 Jan
 2022 07:50:50 +0000
Received: from DB5EUR03FT027.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:55:cafe::df) by DB6PR1001CA0027.outlook.office365.com
 (2603:10a6:4:55::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17 via Frontend
 Transport; Thu, 27 Jan 2022 07:50:50 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT027.mail.protection.outlook.com (10.152.20.121) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4930.15 via Frontend Transport; Thu, 27 Jan 2022 07:50:49 +0000
Received: ("Tessian outbound 2877e54fe176:v113");
 Thu, 27 Jan 2022 07:50:49 +0000
Received: from 22ec596bc51f.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 1F59E17D-8800-4770-B9F5-9F826555375A.1; 
 Thu, 27 Jan 2022 07:50:43 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 22ec596bc51f.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 27 Jan 2022 07:50:43 +0000
Received: from AS9PR06CA0396.eurprd06.prod.outlook.com (2603:10a6:20b:461::9)
 by AM5PR0801MB1634.eurprd08.prod.outlook.com (2603:10a6:203:39::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.14; Thu, 27 Jan
 2022 07:50:40 +0000
Received: from AM5EUR03FT012.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:461:cafe::4e) by AS9PR06CA0396.outlook.office365.com
 (2603:10a6:20b:461::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15 via Frontend
 Transport; Thu, 27 Jan 2022 07:50:40 +0000
Received: from nebula.arm.com (40.67.248.234) by
 AM5EUR03FT012.mail.protection.outlook.com (10.152.16.161) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4930.15 via Frontend Transport; Thu, 27 Jan 2022 07:50:40 +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.20; Thu, 27 Jan
 2022 07:50:38 +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.20; Thu, 27
 Jan 2022 07:50:37 +0000
Received: from penny.shanghai.arm.com (10.169.188.91) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.20 via Frontend
 Transport; Thu, 27 Jan 2022 07:50:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: da354251-7f45-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5ADeT2DevMW88RBtpOZP9XyqhR303hWtW1f/VBC5H4k=;
 b=evXeaosW0bIjoA8RBjMsViybg5chvFqBj8UTq1W7uFQFajFAtxPnH/aZtafomgCnKCamBZtR0uk0aOrWrtrr1YxlGVyYoA4p7KQs3GyRizIenFgOSmx2F+sZg+MZ9CgDfMPkD8EY/o4qylGKLaKXyH6mTmWpAi9fphK/tdo8+5U=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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: 4668b5f1c2a5e3f1
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WCW6lGP8Nwbc9guDJDgDin3T5X8WFfNzB4cxbjPIpQE+m8Bpw8qIkY5II2gbvI59AiVLHVYcas1aRRtzHj2vzhEoyBv3hndU0xotzFR+jvO83yMkv12xQZYZy4qyqWfbZLAOMmd2+MHs0D7B/rNqw04MY8UVEveSBk/mZz+78aj9aqgOCJf1D3Kw67gjTC6EU60pTghKeVULkzJsntpANBrGLZx5NgjrCFP6l+fQT7HBWnA1XD5zwI9+ucjxIrMAUEaGbjMNCauNLADS1tH8uCo7KsxjcAOcfSIP7KuTFbZtxXPfsKZM615qOO7iNsCW2ZCAYOUcGYDYG9yXbombyA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5ADeT2DevMW88RBtpOZP9XyqhR303hWtW1f/VBC5H4k=;
 b=FaHwWwq1w4BUmm9nj74ATWuxD1T4sLijglvTn5IzLNG2wdroKvOviUB69jEV0PyZAd25nnxtQOMkE49kiTS54qoY+8K9iTEA1gehLNSUJcrW+ylMOys1uVv6fWyJVje3lVJSbQBOuLTvlNYF1xrIXU+5b1Ard+1uxOsWVknN+e/u91rEy4S3Zk3eFsR19FkYiW2lbE6ULQB8rz8UXZ5iGl+YmcdEjXjuOCNbgJQ6+La+SWh3kegAC0IgW2qYiEfWiF1+Uwmm142i3+reJQmg5gT7XGEcQf5jz4Ll95Z/PbmuZtcEnYEYCpfoA6ZLbQmxoJmZw/eSvZjsgdm8LnbnYw==
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=5ADeT2DevMW88RBtpOZP9XyqhR303hWtW1f/VBC5H4k=;
 b=evXeaosW0bIjoA8RBjMsViybg5chvFqBj8UTq1W7uFQFajFAtxPnH/aZtafomgCnKCamBZtR0uk0aOrWrtrr1YxlGVyYoA4p7KQs3GyRizIenFgOSmx2F+sZg+MZ9CgDfMPkD8EY/o4qylGKLaKXyH6mTmWpAi9fphK/tdo8+5U=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Penny Zheng <penny.zheng@arm.com>
To: <xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
	<julien@xen.org>
CC: <Bertrand.Marquis@arm.com>, <Wei.Chen@arm.com>
Subject: [PATCH v5 06/11] xen/arm: add ASSERT_UNREACHABLE in allocate_static_memory
Date: Thu, 27 Jan 2022 07:49:24 +0000
Message-ID: <20220127074929.502885-7-penny.zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220127074929.502885-1-penny.zheng@arm.com>
References: <20220127074929.502885-1-penny.zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-Office365-Filtering-Correlation-Id: cf3d3887-5b1d-49a8-080a-08d9e169bc73
X-MS-TrafficTypeDiagnostic:
	AM5PR0801MB1634:EE_|DB5EUR03FT027:EE_|VI1PR0801MB1885:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0801MB1885FED9DBCA29F06866F0C4F7219@VI1PR0801MB1885.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:326;OLM:326;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 dKj/ASqYfY7IOU1Pk0j5xYdQUFcdH1dgbeRLmE7joC2iSl0LB2SiXZQTK97w/01HOr8Nx0YHAlpJSqWSoiisT8pbN95Hqwxg6fyWfyciGSEBZ7/cQzxahq1BdxulpnVZYndCGXYZA3aBEMNniZ50HKKsi/iR9leEgNj+bxyiGp8/M5YQFOkebh4/AOy/5dLHHNtLt5sjBywD6ZJaZpElOOYvVIUAst790YT6RuMuowNOxlK10qmjPMeo4En4np0ByKMljkVk/6FmHMBMGkyuzTmViAKxdY7vKg4ZSschYwA7tcnRWarTggJkZOuc8wRfPWc795CrGuL/VAsfyIIrp9ChOVlAkEfPTqm0nuHR47M/IgqUFJ7Q8OOPTD2EJAhZMS/H1GssXlD1dInCNc4uxn+nfmGF2T8bWMOHEp5SXpvxzs099TCq/+I9kBbrTXd7omQmHgaUGat1RfgiU+D+LTBLeSnFrifnbf291Yjam1VL5NwZHCeminzZgPe/gYvmbhdlovt8iYt9hyMLaq7hZOeVJ5GMVkMv5IOVnxsAkHMWtua24vsRdx03ASg/nbtoXKkX1i+4vJbS5Wbpdf6EN8dOmFuXAQQ4uBBYpilpJBnpCORZtmUNcbU+zO0t0GHguxKfqInTrhnxCJt9E4Yc0Av/DSnmS437ymYoODOgw/RE6m5mfS0WjbgccJGRRl3fs2uM0D4ZEw4JC8PpKDiKk0PvDExXxzVPhB2LIdSAZN7BmVbkLiocAx/T0EvAAPviLFhlKFqs2IzhVO7MAqQsuM64rS8Vt2V/cmXNK4Hs1fQ=
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)(40470700004)(46966006)(82310400004)(40460700003)(8676002)(2906002)(54906003)(316002)(4326008)(508600001)(186003)(336012)(110136005)(26005)(47076005)(5660300002)(6666004)(1076003)(4744005)(81166007)(2616005)(44832011)(7696005)(36860700001)(70586007)(426003)(70206006)(86362001)(36756003)(356005)(8936002)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1634
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT027.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	f988be24-d081-4013-29c4-08d9e169b6d1
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	SscVWSg11K5oGEhNhQX+U3nImf8evTA2NTemQDdw/v3LcD3Sf4DAKl9ExEoHTmLbyrKqTmwbE/iPiOAe5g30leEt9Ju3VTp3kOfDFk9bTUkzQUsPLD55Uef1WbpcXJboELRZLyXrL+VR+5H/tbGVkumypysZc59m4NKgySff9Iw4S78wp98Ib7Tr8t9bUrECEF7G6hd/SjxBc6Ztxd3KxOt+xkc294vJyiuQYF3HF00jgxgLGDN6L64OkFd5pAvu9lUz908BUVCbodBFrYgFSb/dNrKq0gUxAVn87Hmo3Bq2oGYWv3QycvY8UQAmNeZUrjl8+bzr0Ulb7hD0PJYgSow1oGpBiuowzrljF5z9X5Wohb0vTasldZmFW+tiZFE90daGi3I016B3MhaV6b8kWafoFrTc3NKQC9X3qH39TsSk4sU5+NO05CI1lWng+t5qAFgfVysjCx83s5j7aQH0K2a+OL/+05XHZNrvBwe/Diiksl1cVizfzbjLrg+dAFDcfPFZYmLAKQLZYAQJkOTqH8v3htJ4HJGUSVollEb2sgQupaLJreYsfjl3j8E2m7cqpboTLrPx3jRRvL0WDTqgm8sOXm3NclxRPsWaHrT2GhLQ0TrmgO/EGZ3BLprU0PvI8rnT9Sx9CjnvqQJiNNYNEJ/zBnP88Okben6cQW56YVCs9k6n8cgFcd1gaeDgZJ67
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230001)(4636009)(40470700004)(36840700001)(46966006)(316002)(70586007)(70206006)(8936002)(8676002)(82310400004)(4326008)(7696005)(40460700003)(336012)(426003)(26005)(44832011)(5660300002)(186003)(6666004)(1076003)(86362001)(47076005)(36756003)(81166007)(36860700001)(508600001)(4744005)(2616005)(54906003)(2906002)(110136005)(20210929001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 07:50:49.9106
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cf3d3887-5b1d-49a8-080a-08d9e169bc73
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT027.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB1885

Helper allocate_static_memory is not meant to be reachable when built with
!CONFIG_STATIC_MEMORY, so this commit adds ASSERT_UNREACHABLE in it to catch
potential misuse.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Acked-by: Julien Grall <jgrall@amazon.com>
Tested-by: Stefano Stabellini <sstabellini@kernel.org>
---
v3 changes:
- new commit
---
v4 changes:
- nothing changed
---
v5 changes:
- nothing changed
---
 xen/arch/arm/domain_build.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index ec29bd302c..52f256de9c 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -755,6 +755,7 @@ static void __init allocate_static_memory(struct domain *d,
                                           struct kernel_info *kinfo,
                                           const struct dt_device_node *node)
 {
+    ASSERT_UNREACHABLE();
 }
 
 static void __init assign_static_memory_11(struct domain *d,
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 07:50:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 07:50:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261220.452080 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzYY-0001at-2R; Thu, 27 Jan 2022 07:50:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261220.452080; Thu, 27 Jan 2022 07:50:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzYX-0001aa-Um; Thu, 27 Jan 2022 07:50:57 +0000
Received: by outflank-mailman (input) for mailman id 261220;
 Thu, 27 Jan 2022 07:50:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=h4dm=SL=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1nCzYW-0008Mi-Kd
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 07:50:56 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20619.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::619])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id db55eb29-7f45-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 08:50:55 +0100 (CET)
Received: from AS9PR04CA0081.eurprd04.prod.outlook.com (2603:10a6:20b:48b::22)
 by HE1PR0801MB1996.eurprd08.prod.outlook.com (2603:10a6:3:54::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.8; Thu, 27 Jan
 2022 07:50:52 +0000
Received: from VE1EUR03FT063.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:48b:cafe::b9) by AS9PR04CA0081.outlook.office365.com
 (2603:10a6:20b:48b::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17 via Frontend
 Transport; Thu, 27 Jan 2022 07:50:52 +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.4930.15 via Frontend Transport; Thu, 27 Jan 2022 07:50:51 +0000
Received: ("Tessian outbound 1f399c739551:v113");
 Thu, 27 Jan 2022 07:50:51 +0000
Received: from 0a577f82bb16.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 A4A52311-87C7-434D-8891-B9A20B23E059.1; 
 Thu, 27 Jan 2022 07:50:44 +0000
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0a577f82bb16.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 27 Jan 2022 07:50:44 +0000
Received: from AS9PR06CA0182.eurprd06.prod.outlook.com (2603:10a6:20b:45d::16)
 by DB9PR08MB6992.eurprd08.prod.outlook.com (2603:10a6:10:2c6::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Thu, 27 Jan
 2022 07:50:43 +0000
Received: from AM5EUR03FT046.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:45d:cafe::d) by AS9PR06CA0182.outlook.office365.com
 (2603:10a6:20b:45d::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15 via Frontend
 Transport; Thu, 27 Jan 2022 07:50:43 +0000
Received: from nebula.arm.com (40.67.248.234) by
 AM5EUR03FT046.mail.protection.outlook.com (10.152.16.164) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4930.15 via Frontend Transport; Thu, 27 Jan 2022 07:50:43 +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.20; Thu, 27 Jan
 2022 07:50:42 +0000
Received: from penny.shanghai.arm.com (10.169.188.91) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.20 via Frontend
 Transport; Thu, 27 Jan 2022 07:50:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: db55eb29-7f45-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Zv99J/JvMfg/PNJtCHZ3IadhuqFRQ7hXXDxbc+rSdBs=;
 b=9iJxpoh4krPejyXqyHN8wXFT/M7Qlr39a2d3YbAriYnXCLY0rRRe1NH5nt3l/EhNSoGEOVEISKzPpH29hw94AYhBc/SvXs/Xp5sweEmmofNnG0hz6KSNL2F0EmeCoZTNLZ7fiXg+sfd+OT4wxwl3hjJbm5JXwzCoETwyOREX1Xg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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: a7f6b200aa6f18af
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=j9eh1KFLRb3HJnzrr9pdBLVV9UbQ6HPV+76bKjsozv/0h59frKPiI/pGaX43UBAOx/rTkV/gZB8N0yZdk2aArCmUr0zcmjANX2jHAKwU63siM3hK7AHztw3KxlecZEdYfZ5fGxTPi0aereWYg0qeV8sDgWl95XZkl/6ovjBHvVCLdHv1K7gkq73Lq2M5qhIzpr3k5fmD0Y0/SIMD92KA/docukzo/gRhJAtX8mLcSEfCjPtO4DTLM2+ZR0rQqUmbHXecouQWC0yWjJ7+wVMJq7OW6gHK8dKUFggwdxARZgXsNewRlM3HB7N2pJXocsfosdJDgq1PdA9Exhmilc112A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Zv99J/JvMfg/PNJtCHZ3IadhuqFRQ7hXXDxbc+rSdBs=;
 b=l2gSdUVV2vQ4fKKlAjveKMOuUdWQ/AGIRS0sjWUzfgZ90MdYamv/CsbG3VD7o86iUV6+3LpBlQmCvu5OFDNVhxVY/d0mBTt7rVdTSBhvl+0ZVO9rGjDzV8ZMqiU9tNPajh0X4wcWOtGXhG3VAdsvreSp3TAPPpHfssI0HDpj3E2y763Mr9iKUYglPMyZVecI3lC0YbB1rnHtLIBvNsG0kTq0RPQwj6XrMwZTc672ELjeTk/ikeRjiRBkMuVRL6WDpesCfqNDLe2NzQvjz+t0kXUcarxqceDMM0H5gC20BqQVNa7udXi9I+NVrPYYOEHE99NuU+XJeyYG64l1A8eIRg==
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=Zv99J/JvMfg/PNJtCHZ3IadhuqFRQ7hXXDxbc+rSdBs=;
 b=9iJxpoh4krPejyXqyHN8wXFT/M7Qlr39a2d3YbAriYnXCLY0rRRe1NH5nt3l/EhNSoGEOVEISKzPpH29hw94AYhBc/SvXs/Xp5sweEmmofNnG0hz6KSNL2F0EmeCoZTNLZ7fiXg+sfd+OT4wxwl3hjJbm5JXwzCoETwyOREX1Xg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Penny Zheng <penny.zheng@arm.com>
To: <xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
	<julien@xen.org>
CC: <Bertrand.Marquis@arm.com>, <Wei.Chen@arm.com>
Subject: [PATCH v5 08/11] xen/arm: gate make_gicv3_domU_node with CONFIG_GICV3
Date: Thu, 27 Jan 2022 07:49:26 +0000
Message-ID: <20220127074929.502885-9-penny.zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220127074929.502885-1-penny.zheng@arm.com>
References: <20220127074929.502885-1-penny.zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-Office365-Filtering-Correlation-Id: 1a472994-30e0-4646-67ee-08d9e169bdab
X-MS-TrafficTypeDiagnostic:
	DB9PR08MB6992:EE_|VE1EUR03FT063:EE_|HE1PR0801MB1996:EE_
X-Microsoft-Antispam-PRVS:
	<HE1PR0801MB1996B27683E37A4914FFA039F7219@HE1PR0801MB1996.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:78;OLM:78;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 +gx5fE4vfaU+A55P9QNH16RXL1nfd07hbO1NJ1P2HOYZ0nQ4XqAY7ICb3iituL2i7Vgnd4MB2Yh74B/zDfCOZRNBPj7mhx5hDv0e12AGCpfbhxS1VxTfjVJXJnS/Yoqv23jkD5l9ZK25RC+IxNfZOJutxuSjcYZ6BBtIUaaHFYyFz035PwsrIjz8Vz3fHlQuNV41eL7EKyx88a7z5eT/Yhqkpdlk4mrgV0U8ODg+6O4DH4atogD0iKorAK9xohEPKgVLmLkaJWn1tbsx3UCDDw9u8rhVBZi/JZpkrHmCtL2K+BhMlm3crEDyE+mxzaS61Pa3EGICsmmyG1pNQD0pe/c4kxGza2OXp9VnaJZcNFoP2twMXaeE5zf3wvcZeMTTdMWMQW25azRnoVD1lro4XyIecVRqfDj5jPTNICz6r/HGU1hr0N1qOsIJ5u/fDpSEqDUMHRsLkaPn10jUV04GkhFyYE3vgBuDT/POuvALniO7JToCub71LzJyR8nSdT+9Fh/ADcV0IMYFI21TDzkrKVrp9pdKeMItdZBDTiTDEW8SbuKB3tnALo1F2j5epp6hmrWqiCl/iW9M/AOZ+Dd+yBTWyJcmznMXUoNl3yNTtbhicnuu0BYjguCKERKGu6J8Wr3AeWcEF3SB8OfcdXarTKq3Q8xI4SEVpkDpu7f2sPvrWn6eWPU8cvY0gtdGB8UsB12WLYEb/u2MCIU+/5MC0w==
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:(13230001)(4636009)(46966006)(40470700004)(36840700001)(40460700003)(2906002)(336012)(186003)(2616005)(1076003)(7696005)(6666004)(26005)(426003)(81166007)(82310400004)(36860700001)(44832011)(47076005)(5660300002)(508600001)(70586007)(70206006)(36756003)(8936002)(110136005)(54906003)(8676002)(4326008)(86362001)(316002)(356005)(36900700001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6992
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT063.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	45e28c0e-e5a6-420d-0a54-08d9e169b8a8
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JAGHGmMPZnl10LLid3q7UvBHjpfwko4HiHNbuO33Xm4rlS0eWl/V+dN9Uk8E78K0gBznQT/ZujQF+GSIyXPY31XImhAYI1hWFxg70FxCeopEvDB9hLxhA7UkIJ6oxp6/4Cd1XaMrjKW0QGtV4nVEJATd4Lo0GIsuQ8Ps4Zi6I7EBF6aLrU+d4tCFv6rUYh9fcDSfHjZn/7zB5jWXVUtwYylafdvBPiS8TTffzGXBtcaAJiIzYsbK/G//Ta+VRZr+ZCp7HvqMg2wNoM5F4XhB+t2W6qcM9I9TCOSAVMlc7R8b33IrPdzgHfrnDf+EB3wMtBDSzNDpwtqzFW13Ui+24iAJueh+qjtHh61i8BHdruo3H53HFazs372VMH/I/DfD+0izt907Fc2Vtiov+rlh4n7YLFJWDOh63YcbYS35SyPZBInWHnE7Xt5XXaKmms/8qp4LB5BOfxmTuFEEA+yva/jSossTnTEJGRaBhuYpcAtHACdU/kru8RIee7oFNRTOmOG9rA2z+H6psztJwhO0gBSxmpM7iJTI5D9yL4u+TkKwww279qtCFrhPQ0G7/RnVbXOUnCK+dvyy/uEGTOnEnTY35kBpmdh712qlJbPiKIqp9h/inAIHa3A03nFlJ7iL2ThWMTu2RqPj7354Pha2e5k+G41Dw8tpSv/8jwnBnB5r5teyzAqZePdbkgVWtTjk8VBFxgzYeSDaElzePmcH8Og+oCrS8iX+2b9dwcGJanFw89akxi5bEmoliz1It6N8/3IBS/1B430SQ8DXVAacYg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(40470700004)(186003)(336012)(86362001)(26005)(82310400004)(2616005)(36756003)(70586007)(36860700001)(6666004)(8936002)(5660300002)(1076003)(81166007)(44832011)(316002)(426003)(8676002)(2906002)(47076005)(54906003)(70206006)(7696005)(40460700003)(4326008)(508600001)(110136005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 07:50:51.8484
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1a472994-30e0-4646-67ee-08d9e169bdab
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: HE1PR0801MB1996

This commit gates function make_gicv3_domU_node with CONFIG_GICV3.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
Tested-by: Stefano Stabellini <sstabellini@kernel.org>
---
v4 changes:
- remove ASSERT_UNREACHABLE() to avoid breaking compilation on prod build with
CONFIG_GICV3=n
---
v5 changes:
- nothing changed
---
 xen/arch/arm/domain_build.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 87391adde6..a01dc60b55 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2322,6 +2322,7 @@ static int __init make_gicv2_domU_node(struct kernel_info *kinfo)
     return res;
 }
 
+#ifdef CONFIG_GICV3
 static int __init make_gicv3_domU_node(struct kernel_info *kinfo)
 {
     void *fdt = kinfo->fdt;
@@ -2371,13 +2372,16 @@ static int __init make_gicv3_domU_node(struct kernel_info *kinfo)
 
     return res;
 }
+#endif
 
 static int __init make_gic_domU_node(struct kernel_info *kinfo)
 {
     switch ( kinfo->d->arch.vgic.version )
     {
+#ifdef CONFIG_GICV3
     case GIC_V3:
         return make_gicv3_domU_node(kinfo);
+#endif
     case GIC_V2:
         return make_gicv2_domU_node(kinfo);
     default:
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 07:51:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 07:51:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261221.452092 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzYd-0002Ca-FN; Thu, 27 Jan 2022 07:51:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261221.452092; Thu, 27 Jan 2022 07:51:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzYd-0002CP-9u; Thu, 27 Jan 2022 07:51:03 +0000
Received: by outflank-mailman (input) for mailman id 261221;
 Thu, 27 Jan 2022 07:51:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=h4dm=SL=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1nCzYb-0000Xj-DZ
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 07:51:01 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0621.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::621])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ddff6367-7f45-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 08:51:00 +0100 (CET)
Received: from DB6PR0301CA0079.eurprd03.prod.outlook.com (2603:10a6:6:30::26)
 by DBAPR08MB5672.eurprd08.prod.outlook.com (2603:10a6:10:1ad::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Thu, 27 Jan
 2022 07:50:54 +0000
Received: from DB5EUR03FT049.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:6:30:cafe::68) by DB6PR0301CA0079.outlook.office365.com
 (2603:10a6:6:30::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15 via Frontend
 Transport; Thu, 27 Jan 2022 07:50:54 +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.4930.15 via Frontend Transport; Thu, 27 Jan 2022 07:50:54 +0000
Received: ("Tessian outbound 341d209a0e52:v113");
 Thu, 27 Jan 2022 07:50:54 +0000
Received: from 1d318a173880.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 5EF2D08F-F751-4B8F-B3F8-AB26A3B854F7.1; 
 Thu, 27 Jan 2022 07:50:47 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 1d318a173880.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 27 Jan 2022 07:50:47 +0000
Received: from AS9PR06CA0406.eurprd06.prod.outlook.com (2603:10a6:20b:461::16)
 by VI1PR08MB2973.eurprd08.prod.outlook.com (2603:10a6:803:4d::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 07:50:41 +0000
Received: from AM5EUR03FT012.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:461:cafe::cd) by AS9PR06CA0406.outlook.office365.com
 (2603:10a6:20b:461::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15 via Frontend
 Transport; Thu, 27 Jan 2022 07:50:41 +0000
Received: from nebula.arm.com (40.67.248.234) by
 AM5EUR03FT012.mail.protection.outlook.com (10.152.16.161) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4930.15 via Frontend Transport; Thu, 27 Jan 2022 07:50: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.20; Thu, 27 Jan
 2022 07:50:40 +0000
Received: from penny.shanghai.arm.com (10.169.188.91) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.20 via Frontend
 Transport; Thu, 27 Jan 2022 07: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: ddff6367-7f45-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=92c4thxXtm2R15izEYnn+8igZY9iFkc7Fk+R9NtSz44=;
 b=ucYr5ThdxMW4w6n1FZ4ZNboL1NZNo5AjIZF8bbU/LaxyWETDTyy82/9sDgkIWezcjJdEujDHmxssAhlKOE0QytCK5n4aJMtu49hM3ugDG5v8NaVyswfC/JE/IM41zwX7t73swbfkDKK40ArwzvzCF7P3FGUgzBgyENTKkxfp2uc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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: b91a6021e0fab8e2
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TPiwNwHhPVs8Xke09dN2hh1lZhyQ+O43EHePUjxJWpyfeG4xOpY8Zo2aeOWk1pU5LS17R6W6PhAMtpOeGWTWp0YsM5aJ7FjpHkDwY5dhPLqrB044A5pLBSlmacdUu/klMPW6FDCjMyYE4BX/icbUSyD5F5jHhQhxmA5Jpcv5FrBOCXx2MnIQXG+HyHG6wz4E+JU909T2iLZMK7fwYGFYtcIcQQgrmh5J46Q0uOk8mmPYjh3uQr0DeCvYas08qTLRbKNc6tpwXgLMDS/LXmrYN1e13PR/XaiREOtSD4dL7MakDJbAjKWkJ3hagicWzpJcceBKHnRIX9/Rj359fyn2ig==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=92c4thxXtm2R15izEYnn+8igZY9iFkc7Fk+R9NtSz44=;
 b=NH4gKpne+VjEh/RCto+oQ38bGOodF7cCLiDvzccDRF1EVVCe5HEcCnAWHOuvW2+78x/xDGFcSJsQo3pL8bTFjIPuaKw6AgvRwxtuVcS03b20kuswRddTY6mZiaNdyT0aVniDEyTP3SeU8rWg20pACL1s4bLu/M9uxLsyuILs1dsC4jCd+xzOBHGWqAIBWmy16d1zk2/nQkQMi6RLXxA/XnaeoPohoxdp4BTQI/MR+EP9vrTIq4p3Y4AwtIYLNFTuS2QG3dIVqRp4yW5X/aLxktSnKaGOC6BN1p8sJ6hEa81D6rNVnrSK6CbDvAv+Rme9+5cAoXM4u4A6qQ9jpJM7Cg==
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=92c4thxXtm2R15izEYnn+8igZY9iFkc7Fk+R9NtSz44=;
 b=ucYr5ThdxMW4w6n1FZ4ZNboL1NZNo5AjIZF8bbU/LaxyWETDTyy82/9sDgkIWezcjJdEujDHmxssAhlKOE0QytCK5n4aJMtu49hM3ugDG5v8NaVyswfC/JE/IM41zwX7t73swbfkDKK40ArwzvzCF7P3FGUgzBgyENTKkxfp2uc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Penny Zheng <penny.zheng@arm.com>
To: <xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
	<julien@xen.org>
CC: <Bertrand.Marquis@arm.com>, <Wei.Chen@arm.com>
Subject: [PATCH v5 07/11] xen/arm: if direct-map domain use native addresses for GICv2
Date: Thu, 27 Jan 2022 07:49:25 +0000
Message-ID: <20220127074929.502885-8-penny.zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220127074929.502885-1-penny.zheng@arm.com>
References: <20220127074929.502885-1-penny.zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-Office365-Filtering-Correlation-Id: 0634c7f6-cb23-43d0-eac3-08d9e169bf18
X-MS-TrafficTypeDiagnostic:
	VI1PR08MB2973:EE_|DB5EUR03FT049:EE_|DBAPR08MB5672:EE_
X-Microsoft-Antispam-PRVS:
	<DBAPR08MB56720E6053873A94A625AA18F7219@DBAPR08MB5672.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:
 bsTBQiZBPJw7Vh9hHaUPZGlr11VdhvUroyKLq1Ui8orAUT2XEUe6Z/nsEtbd7uGxvGWg5dzRAP6P3876Oy8FU1oDW9UP0D001g8SNYIr5hmDx3uHCWyPPUei8QcRAlDl2Qcj5J0vVzyq6QDx3aVFLIeZ7pJ8NTWyPTZTfbjTXQi5stBUz1V+hCWV/91UvvnodbRjYPB9MZT2EUmksixlVmunBXVhMpKvtWzkfCqUFIYN3ETk1mVaQ/ml3YIQxhZv716Ff0fO4CMoIKfaps53QkBj8tSQUEJUtT1EBPRwm8+cbZWwk3hHBVYzmwgdz8d0f6nWNNyVnCxo+KgabLA1m6ucgYiUVQui1FmpsOddnF3m0xdhG8LqBLGWoCO5gItGtCPi4ReLmjwjaU6anx9LLC0R3aSUOz+qEdWXrdN7rAqQgKllqnyhi55x6MmQFYoiMlmoeFWQuob5dSTllk82Khw4tSKn1E9hjKN1gOo0GXA+z6Vfr4KlE6YaWAA5BR3QAgX6093BrR5uDmx6VObYUmYhCi08W91V+UsyjBNHKHahthHU2kVe4OUfH8l3xJBv7lBq3Arww++5DkIWyYJNJlwo1itvpGwv/dJClaRb5ddstEEoPq2MTGYjgOFFJuQZ7l3nTKjqBXbNAkQp+HjzC0W0FyhcxsHyUK7grYdS1sQBP7zU0XycMzf7+u/kd4cZMGZTl+RSmFZNFtIEVfrBmA==
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:(13230001)(4636009)(36840700001)(46966006)(40470700004)(70206006)(70586007)(336012)(426003)(8676002)(8936002)(86362001)(4326008)(83380400001)(82310400004)(44832011)(5660300002)(356005)(47076005)(81166007)(54906003)(6666004)(36860700001)(2906002)(40460700003)(36756003)(110136005)(2616005)(508600001)(316002)(7696005)(186003)(26005)(1076003)(36900700001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB2973
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT049.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	9c634ab6-6b37-42a8-8455-08d9e169b74f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	WRSJHTXCd0yr3GYIyqd4mnnjLTIe6rONgv5Yv1EPxNLZKGH2+fdJb/26XT54EzJ5Nund0nOV2tFRp4Yzm12kYUoAkSoCkfMoPxoEUT2Fptjx70ZNiTEnoG5w2DS5FC2O/e5oABh7qv/r/C6ZKSB8sRjFUFGFeW/olHhuiMLIJM/zmPnhazWmePOcuNRx/WCSSe5FS5YV6B6j+uDuBqWYrBlsFPhV31axQCOtUNzaJUlpcxUrRYKWjsriehMczW0x1Xy13fk14yYr1yKBMkJ3q2U+7xbBHv9xPdhLGFKtNNfhzcgXvts8XwH3D2w0gWWaicHaS3+mtte+3HzQdrPWXk//eRsn8EAizK4grrzv6UYQoyFZJ2ixNtZsAMFdnfcetIqXZhUTuWQeeGSeFGk+5WobWktAZIOG3wM+mi1gDZ4T0fxP/ec7F2YOAiofvwJ89UJF8cyQGumb2MbkuR8o26ZpLaBy6yVdLx5BSUvTIPpmBlShsiXCJIEMAzlG6mNhD4ofvpRxb5W/sTaq/qlL9LBr+WlciMKsKPjBpZ5ejwkdXaRGz2eJo5JKTFOAlPa2ty9PNcZDlgbABQxG8POYLHCDxq4NbolGztyF5rMZbTLp3Q0ZCjuuibJ9qB4p5u4kVmrXxmMA5sAOgcQJKKTEptXUJ6l1rB17oHH0wqPJ0Jf1EHT+MKR0RWibA12TaNs+
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230001)(4636009)(46966006)(36840700001)(40470700004)(70206006)(70586007)(110136005)(5660300002)(8936002)(8676002)(36756003)(44832011)(82310400004)(54906003)(2906002)(316002)(4326008)(81166007)(7696005)(40460700003)(2616005)(36860700001)(6666004)(47076005)(26005)(83380400001)(426003)(336012)(1076003)(508600001)(186003)(86362001)(20210929001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 07:50:54.3532
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0634c7f6-cb23-43d0-eac3-08d9e169bf18
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: DBAPR08MB5672

From: Stefano Stabellini <sstabellini@kernel.org>

Today we use native addresses to map the GICv2 for Dom0 and fixed
addresses for DomUs.

This patch changes the behavior so that native addresses are used for
all domains that are direct-mapped.

NEW VGIC has different naming schemes, like referring distributor base
address as vgic_dist_base, other than the dbase. So this patch also introduces
vgic_dist_base/vgic_cpu_base accessor to access correct distributor base
address/cpu interface base address on varied scenarios,

Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Tested-by: Stefano Stabellini <sstabellini@kernel.org>
---
v2 changes
- combine all changes in patch 4-6 here
---
v3 changes
- refine comment message
- add a comment explaining how the 38 was found of "char buf[38]"
- simply map the CPU interface at the GPA vgic_v2_hw.cbase
- remove a spurious change
---
v4 changes:
- refine comment to let it be a summary of the if/else if/else.
---
v5 changes:
- nothing changed
---
 xen/arch/arm/domain_build.c         | 11 +++++++---
 xen/arch/arm/include/asm/new_vgic.h | 10 +++++++++
 xen/arch/arm/include/asm/vgic.h     | 11 ++++++++++
 xen/arch/arm/vgic-v2.c              | 34 +++++++++++++++++++++++------
 xen/arch/arm/vgic/vgic-v2.c         | 34 +++++++++++++++++++++++------
 5 files changed, 83 insertions(+), 17 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 52f256de9c..87391adde6 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2273,8 +2273,13 @@ static int __init make_gicv2_domU_node(struct kernel_info *kinfo)
     int res = 0;
     __be32 reg[(GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS) * 2];
     __be32 *cells;
+    const struct domain *d = kinfo->d;
+    /* Placeholder for interrupt-controller@ + a 64-bit number + \0 */
+    char buf[38];
 
-    res = fdt_begin_node(fdt, "interrupt-controller@"__stringify(GUEST_GICD_BASE));
+    snprintf(buf, sizeof(buf), "interrupt-controller@%"PRIx64,
+             vgic_dist_base(&d->arch.vgic));
+    res = fdt_begin_node(fdt, buf);
     if ( res )
         return res;
 
@@ -2296,9 +2301,9 @@ static int __init make_gicv2_domU_node(struct kernel_info *kinfo)
 
     cells = &reg[0];
     dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
-                       GUEST_GICD_BASE, GUEST_GICD_SIZE);
+                       vgic_dist_base(&d->arch.vgic), GUEST_GICD_SIZE);
     dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
-                       GUEST_GICC_BASE, GUEST_GICC_SIZE);
+                       vgic_cpu_base(&d->arch.vgic), GUEST_GICC_SIZE);
 
     res = fdt_property(fdt, "reg", reg, sizeof(reg));
     if (res)
diff --git a/xen/arch/arm/include/asm/new_vgic.h b/xen/arch/arm/include/asm/new_vgic.h
index 97d622bff6..ab57fcd91d 100644
--- a/xen/arch/arm/include/asm/new_vgic.h
+++ b/xen/arch/arm/include/asm/new_vgic.h
@@ -186,6 +186,16 @@ struct vgic_cpu {
     uint32_t num_id_bits;
 };
 
+static inline paddr_t vgic_cpu_base(const struct vgic_dist *vgic)
+{
+    return vgic->vgic_cpu_base;
+}
+
+static inline paddr_t vgic_dist_base(const struct vgic_dist *vgic)
+{
+    return vgic->vgic_dist_base;
+}
+
 #endif /* __ASM_ARM_NEW_VGIC_H */
 
 /*
diff --git a/xen/arch/arm/include/asm/vgic.h b/xen/arch/arm/include/asm/vgic.h
index ade427a808..d2a9fc7d83 100644
--- a/xen/arch/arm/include/asm/vgic.h
+++ b/xen/arch/arm/include/asm/vgic.h
@@ -152,6 +152,7 @@ struct vgic_dist {
     struct pending_irq *pending_irqs;
     /* Base address for guest GIC */
     paddr_t dbase; /* Distributor base address */
+    paddr_t cbase; /* CPU interface base address */
 #ifdef CONFIG_GICV3
     /* GIC V3 addressing */
     /* List of contiguous occupied by the redistributors */
@@ -271,6 +272,16 @@ static inline int REG_RANK_NR(int b, uint32_t n)
 
 enum gic_sgi_mode;
 
+static inline paddr_t vgic_cpu_base(const struct vgic_dist *vgic)
+{
+    return vgic->cbase;
+}
+
+static inline paddr_t vgic_dist_base(const struct vgic_dist *vgic)
+{
+    return vgic->dbase;
+}
+
 /*
  * Offset of GICD_<FOO><n> with its rank, for GICD_<FOO> size <s> with
  * <b>-bits-per-interrupt.
diff --git a/xen/arch/arm/vgic-v2.c b/xen/arch/arm/vgic-v2.c
index 589c033eda..b1bd7a46ad 100644
--- a/xen/arch/arm/vgic-v2.c
+++ b/xen/arch/arm/vgic-v2.c
@@ -654,12 +654,16 @@ static int vgic_v2_vcpu_init(struct vcpu *v)
 static int vgic_v2_domain_init(struct domain *d)
 {
     int ret;
-    paddr_t cbase, csize;
+    paddr_t csize;
     paddr_t vbase;
 
     /*
-     * The hardware domain gets the hardware address.
-     * Guests get the virtual platform layout.
+     * The hardware domain and direct-mapped domain both get the hardware
+     * address.
+     * We have to handle them separately because the hwdom is re-using the
+     * same Device-Tree as the host (see more details below).
+     *
+     * Other domains get the virtual platform layout.
      */
     if ( is_hardware_domain(d) )
     {
@@ -671,10 +675,26 @@ static int vgic_v2_domain_init(struct domain *d)
          * Note that we assume the size of the CPU interface is always
          * aligned to PAGE_SIZE.
          */
-        cbase = vgic_v2_hw.cbase;
+        d->arch.vgic.cbase = vgic_v2_hw.cbase;
         csize = vgic_v2_hw.csize;
         vbase = vgic_v2_hw.vbase;
     }
+    else if ( is_domain_direct_mapped(d) )
+    {
+        /*
+         * For all the direct-mapped domain other than the hardware domain,
+         * we only map a 8kB CPU interface but we make sure it is at a
+         * location occupied by the physical GIC in the host device tree.
+         *
+         * We need to add an offset to the virtual CPU interface base
+         * address when the GIC is aliased to get a 8kB contiguous
+         * region.
+         */
+        d->arch.vgic.dbase = vgic_v2_hw.dbase;
+        d->arch.vgic.cbase = vgic_v2_hw.cbase;
+        csize = GUEST_GICC_SIZE;
+        vbase = vgic_v2_hw.vbase + vgic_v2_hw.aliased_offset;
+    }
     else
     {
         d->arch.vgic.dbase = GUEST_GICD_BASE;
@@ -685,7 +705,7 @@ static int vgic_v2_domain_init(struct domain *d)
          * region.
          */
         BUILD_BUG_ON(GUEST_GICC_SIZE != SZ_8K);
-        cbase = GUEST_GICC_BASE;
+        d->arch.vgic.cbase = GUEST_GICC_BASE;
         csize = GUEST_GICC_SIZE;
         vbase = vgic_v2_hw.vbase + vgic_v2_hw.aliased_offset;
     }
@@ -694,8 +714,8 @@ static int vgic_v2_domain_init(struct domain *d)
      * Map the gic virtual cpu interface in the gic cpu interface
      * region of the guest.
      */
-    ret = map_mmio_regions(d, gaddr_to_gfn(cbase), csize / PAGE_SIZE,
-                           maddr_to_mfn(vbase));
+    ret = map_mmio_regions(d, gaddr_to_gfn(d->arch.vgic.cbase),
+                           csize / PAGE_SIZE, maddr_to_mfn(vbase));
     if ( ret )
         return ret;
 
diff --git a/xen/arch/arm/vgic/vgic-v2.c b/xen/arch/arm/vgic/vgic-v2.c
index b5ba4ace87..1a99d3a8b4 100644
--- a/xen/arch/arm/vgic/vgic-v2.c
+++ b/xen/arch/arm/vgic/vgic-v2.c
@@ -258,13 +258,17 @@ void vgic_v2_enable(struct vcpu *vcpu)
 int vgic_v2_map_resources(struct domain *d)
 {
     struct vgic_dist *dist = &d->arch.vgic;
-    paddr_t cbase, csize;
+    paddr_t csize;
     paddr_t vbase;
     int ret;
 
     /*
-     * The hardware domain gets the hardware address.
-     * Guests get the virtual platform layout.
+     * The hardware domain and direct-mapped domain both get the hardware
+     * address.
+     * We have to handle them separately because the hwdom is re-using the
+     * same Device-Tree as the host (see more details below).
+     *
+     * Other domains get the virtual platform layout.
      */
     if ( is_hardware_domain(d) )
     {
@@ -276,10 +280,26 @@ int vgic_v2_map_resources(struct domain *d)
          * Note that we assume the size of the CPU interface is always
          * aligned to PAGE_SIZE.
          */
-        cbase = gic_v2_hw_data.cbase;
+        d->arch.vgic.vgic_cpu_base = gic_v2_hw_data.cbase;
         csize = gic_v2_hw_data.csize;
         vbase = gic_v2_hw_data.vbase;
     }
+    else if ( is_domain_direct_mapped(d) )
+    {
+        d->arch.vgic.vgic_dist_base = gic_v2_hw_data.dbase;
+        /*
+         * For all the direct-mapped domain other than the hardware domain,
+         * we only map a 8kB CPU interface but we make sure it is at a location
+         * occupied by the physical GIC in the host device tree.
+         *
+         * We need to add an offset to the virtual CPU interface base
+         * address when the GIC is aliased to get a 8kB contiguous
+         * region.
+         */
+        d->arch.vgic.vgic_cpu_base = gic_v2_hw_data.cbase;
+        csize = GUEST_GICC_SIZE;
+        vbase = gic_v2_hw_data.vbase + gic_v2_hw_data.aliased_offset;
+    }
     else
     {
         d->arch.vgic.vgic_dist_base = GUEST_GICD_BASE;
@@ -290,7 +310,7 @@ int vgic_v2_map_resources(struct domain *d)
          * region.
          */
         BUILD_BUG_ON(GUEST_GICC_SIZE != SZ_8K);
-        cbase = GUEST_GICC_BASE;
+        d->arch.vgic.vgic_cpu_base = GUEST_GICC_BASE;
         csize = GUEST_GICC_SIZE;
         vbase = gic_v2_hw_data.vbase + gic_v2_hw_data.aliased_offset;
     }
@@ -308,8 +328,8 @@ int vgic_v2_map_resources(struct domain *d)
      * Map the gic virtual cpu interface in the gic cpu interface
      * region of the guest.
      */
-    ret = map_mmio_regions(d, gaddr_to_gfn(cbase), csize / PAGE_SIZE,
-                           maddr_to_mfn(vbase));
+    ret = map_mmio_regions(d, gaddr_to_gfn(d->arch.vgic.vgic_cpu_base),
+                           csize / PAGE_SIZE, maddr_to_mfn(vbase));
     if ( ret )
     {
         gdprintk(XENLOG_ERR, "Unable to remap VGIC CPU to VCPU\n");
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 07:51:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 07:51:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261222.452103 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzYf-0002W7-3w; Thu, 27 Jan 2022 07:51:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261222.452103; Thu, 27 Jan 2022 07:51:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzYe-0002Vd-Se; Thu, 27 Jan 2022 07:51:04 +0000
Received: by outflank-mailman (input) for mailman id 261222;
 Thu, 27 Jan 2022 07:51:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=h4dm=SL=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1nCzYd-0000Xj-6Y
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 07:51:03 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2060c.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::60c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id df22b873-7f45-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 08:51:02 +0100 (CET)
Received: from AS9PR04CA0039.eurprd04.prod.outlook.com (2603:10a6:20b:46a::33)
 by VI1PR08MB3693.eurprd08.prod.outlook.com (2603:10a6:803:ba::25)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Thu, 27 Jan
 2022 07:50:57 +0000
Received: from AM5EUR03FT023.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:46a:cafe::9e) by AS9PR04CA0039.outlook.office365.com
 (2603:10a6:20b:46a::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17 via Frontend
 Transport; Thu, 27 Jan 2022 07:50:57 +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.4930.15 via Frontend Transport; Thu, 27 Jan 2022 07:50:57 +0000
Received: ("Tessian outbound 341d209a0e52:v113");
 Thu, 27 Jan 2022 07:50:57 +0000
Received: from 64383953ffce.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 AE18489E-133D-4068-9C1D-E88C7A94542E.1; 
 Thu, 27 Jan 2022 07:50:50 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 64383953ffce.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 27 Jan 2022 07:50:50 +0000
Received: from AS9PR06CA0022.eurprd06.prod.outlook.com (2603:10a6:20b:462::14)
 by AM0PR08MB5284.eurprd08.prod.outlook.com (2603:10a6:208:12a::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 07:50:49 +0000
Received: from AM5EUR03FT018.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:462:cafe::4a) by AS9PR06CA0022.outlook.office365.com
 (2603:10a6:20b:462::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15 via Frontend
 Transport; Thu, 27 Jan 2022 07:50:49 +0000
Received: from nebula.arm.com (40.67.248.234) by
 AM5EUR03FT018.mail.protection.outlook.com (10.152.16.114) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4930.15 via Frontend Transport; Thu, 27 Jan 2022 07:50: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.20; Thu, 27 Jan
 2022 07:50:47 +0000
Received: from penny.shanghai.arm.com (10.169.188.91) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.20 via Frontend
 Transport; Thu, 27 Jan 2022 07:50:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: df22b873-7f45-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=k8CtSJ23GsJakIevRnNKBt0vBQ8CUngOOT5AcDXX548=;
 b=MUWYoiRlmLlGeKcBomXuCxRIRI0rJ9n1X8NHwTEFB5uo6gMXOBk2wctW/JB1MPitV3ru8dhKhQtv+bcrv9VYPzER2FZPoaeLhQHdQiA7pppRE709Kgq1iOydI0UkEl/H6mYx5z6TpxsQYoGiFEROCftXZM9uTtJjemN0Zptgrgg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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: 3a3dd52fa7e5f5e0
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KtlDUKZCSdazox97n0JYFSKN8IDFf9Rw6Ds8BBHbwG6JoXrsP6KS1SQ8rPVnV+EJHgirz3tEr7vZCkbXIuQFZ8RHYItknTns3/KK21xRV9NofofQGDAUhUbveRdjy8iaIhyJQ/Ab2Q9hU3COXV8GfoSG7IA2yy6Uczajagt0nCEZs7j0DII+oS7dM1CawzsweotiWwrvOEW9/MM0CHl9f6RnNLBUOd4KfLkI2+9xC8Xa4jAkpVUZuqMdyEXXFFeGWeKDvEXB6QzSUmDF1YkbXajwJryL/OHBePNPTW8R7e4s+ranuuRYq3S2N6JiVvzXKnj5CyjjbmEojwgWAfNtcA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=k8CtSJ23GsJakIevRnNKBt0vBQ8CUngOOT5AcDXX548=;
 b=f0icKa2Et5sF6boMTWRyKWqdExipo2uW6PX/GEwpNii3bpOCEF+DBFKsYrBhUELooRc5osHjQTB8A6G4z0KcQjaqd8OGXXe6VUMPGeN8pFIkc88Dt6MfVnPhakiLQ9/ziSAkG5NVXjqCCndOeEjpBZ/GUa6UOcctLDr+7VKOsLScT1Sy216eaOAjDosx4kUXXm1aTv9weFi3RAGQOD+UevA75oe8XPJ1lbCZBDrBKX2/SdplHLF9hPvlmmehf0ZY4eNfiZn0fDqbUpDiJyEq7wIxNf34PnZKC8U0nwLJ5495yQrC6mAtRB1kpHJBAD6FfSU0TThl0N+P4BfkRj8yOg==
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=k8CtSJ23GsJakIevRnNKBt0vBQ8CUngOOT5AcDXX548=;
 b=MUWYoiRlmLlGeKcBomXuCxRIRI0rJ9n1X8NHwTEFB5uo6gMXOBk2wctW/JB1MPitV3ru8dhKhQtv+bcrv9VYPzER2FZPoaeLhQHdQiA7pppRE709Kgq1iOydI0UkEl/H6mYx5z6TpxsQYoGiFEROCftXZM9uTtJjemN0Zptgrgg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Penny Zheng <penny.zheng@arm.com>
To: <xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
	<julien@xen.org>
CC: <Bertrand.Marquis@arm.com>, <Wei.Chen@arm.com>
Subject: [PATCH v5 10/11] xen/arm: if direct-map domain use native UART address and IRQ number for vPL011
Date: Thu, 27 Jan 2022 07:49:28 +0000
Message-ID: <20220127074929.502885-11-penny.zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220127074929.502885-1-penny.zheng@arm.com>
References: <20220127074929.502885-1-penny.zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-Office365-Filtering-Correlation-Id: daccd649-5a00-4051-036a-08d9e169c108
X-MS-TrafficTypeDiagnostic:
	AM0PR08MB5284:EE_|AM5EUR03FT023:EE_|VI1PR08MB3693:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR08MB3693F6E054A3E014B723B2A2F7219@VI1PR08MB3693.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:
 ini/MalvR427+EcTDQvf8NVgUWbWdQqp6aiadtzQRcuTIf1pIaLU2vhoOHNMHb74f1UDbcTt7/0W3KFWk1apnhrNhLq6F6cJ2w6qcJW8bBtuut4dEP8HhEup6fTf7i9zbsTQ90sZgGd6aEWVGjGn3C5SST4NMCFXKChOfLrTueSvGPXhykliM2aXBJmYYcfGRA+P8u030oKbONVX/+WCRS7BbOuka4Lsv8mwERkISBcvqIW/RPAwT2yojPzZMqWoaT/nWPWI4jyvPEWZ9Fl/9A4t5nInJHK3itSJGXt1eOQaYrTojIjl9MnPZCwSTylQKEHpIMYg4EztK2rBuyRLVSUmx86hA4MiGRTf3kPCkoPzJHsUbpT9f+nxO8vurYQsmrE8+HHZNgqeYncuc/EhUunALsOD7casEsIeQLHj293xJZAIT6NVWTH/hcgzhpqj/jzI6RcOU+l5wwXzqVdUWA9kdK5V/Kylb4HaxSJ2yDUeHdb/PtC3ijYBOdmGYmD4pecDFXSYEkSfhgTZI5nvt76X29pJmXS610SnW7Wt3NbXwpmQNOyCCWYA45i7GmsM6rAVNk+PlDuoCewjIUNS7PAEd3SzOAiFyZJHxiaa0PYUX/+u+DxBktWYghqh3/c0iakfVjYqgdEt/NDFfwDUX32TyyKOeXw7t9QdF7BcHkHxXbDmhCEgRTdvrPM3vr43+DUbj6fJuzeWicSS9lUdhg==
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:(13230001)(4636009)(40470700004)(36840700001)(46966006)(36756003)(6666004)(70586007)(70206006)(426003)(336012)(8676002)(8936002)(5660300002)(4326008)(7696005)(508600001)(86362001)(316002)(54906003)(40460700003)(110136005)(356005)(44832011)(2906002)(81166007)(2616005)(1076003)(26005)(186003)(47076005)(82310400004)(36860700001)(83380400001)(36900700001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5284
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT023.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	0aaa8d1c-3a95-47ca-4149-08d9e169bc1b
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QzCHNVuQV6uzGxJSnVf2wn6H2kqcsiYMLgiaqW/P7xdyV25D5hcGK2TKgaW4zyJ3djgo4fO7RoQryCF76BKLhG4JZzkhLmDqEmPUOO3NVUfmqH5lXsJuW4EBbifhFZBSJfAeKJ1m2e/JPVcuB+UJuVOuPlca/0Jwvugw6SuH3P+40H/LFYT1kGCJ4U2kswVHyt9ny7EZumT1Xs2PfnGXG7BUwlXhnrpcEkI2KjpitvzyTf8A1oQ+PMxcyPR1NaoAi11cgdeGqlLbZsDtCg6xqMUJe7OEC1pziseXf7VVG8SOECKZ2qyes5OPfv0bbi0wlwNL0ySDlGA2uSHt5oe16luFBUpl1TzyLbO8bGbraFOWmNdk7RHMbjtgZ4kicb/gWzC03je4smBrjKoJpfDBzeSXkUmFBODujAW1OE/AA8c1N59HFokW1DjElG6unBqZUP8haWoT2Zb2NSHFsaCtqWSDzTH1YBHw3oE7d1X/jtpuQWB7EAP1mDgsw53/zl19AHYVejVSPY2wRd+SyduxEUioLD7RcoCNBdw8bPMgNQkFnrHmyRlX6/fshjAD0N4wfVEpQjFYgjOctLl6ftA5BMDowUGcsQTz1k01hkOv4rk8FYCQqyG7nt1Qx1LzlfOycjzk7Lh32sv/GxVYQDnhngy0KqARrU+8MRxG6/uNwgx30753B2GP+P8Nh7qCplB3
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230001)(4636009)(40470700004)(46966006)(36840700001)(54906003)(36756003)(186003)(86362001)(1076003)(6666004)(26005)(2616005)(40460700003)(110136005)(316002)(47076005)(508600001)(44832011)(36860700001)(81166007)(5660300002)(336012)(70586007)(70206006)(8936002)(8676002)(4326008)(82310400004)(426003)(7696005)(2906002)(83380400001)(20210929001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 07:50:57.5354
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: daccd649-5a00-4051-036a-08d9e169c108
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: VI1PR08MB3693

From: Stefano Stabellini <sstabellini@kernel.org>

We always use a fix address to map the vPL011 to domains. The address
could be a problem for direct-map domains.

So, for domains that are directly mapped, reuse the address of the
physical UART on the platform to avoid potential clashes.

Do the same for the virtual IRQ number: instead of always using
GUEST_VPL011_SPI, try to reuse the physical SPI number if possible.

Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Tested-by: Stefano Stabellini <sstabellini@kernel.org>
---
v2 changes:
- explain why vpl011 initialization before creating its device tree node
- error out if the domain is direct-mapped and the IRQ is not found
- harden the code and add a check/comment when the hardware UART region
is smaller than GUEST_VPL011_SIZE.
---
v3 changes:
- explain how the '27' was found for 'buf'
- fix checking before dereferencing
- refine comment message
---
v4 changes:
- refine comment message
---
v5 changes:
- nothing changed
---
 xen/arch/arm/domain_build.c       | 44 +++++++++++++++++++----
 xen/arch/arm/include/asm/vpl011.h |  2 ++
 xen/arch/arm/vpl011.c             | 60 +++++++++++++++++++++++++++----
 3 files changed, 92 insertions(+), 14 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index cff2cb93cc..8be01678de 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -30,6 +30,7 @@
 
 #include <xen/irq.h>
 #include <xen/grant_table.h>
+#include <xen/serial.h>
 
 static unsigned int __initdata opt_dom0_max_vcpus;
 integer_param("dom0_max_vcpus", opt_dom0_max_vcpus);
@@ -2415,8 +2416,12 @@ static int __init make_vpl011_uart_node(struct kernel_info *kinfo)
     gic_interrupt_t intr;
     __be32 reg[GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS];
     __be32 *cells;
+    struct domain *d = kinfo->d;
+    /* Placeholder for sbsa-uart@ + a 64-bit number + \0 */
+    char buf[27];
 
-    res = fdt_begin_node(fdt, "sbsa-uart@"__stringify(GUEST_PL011_BASE));
+    snprintf(buf, sizeof(buf), "sbsa-uart@%"PRIx64, d->arch.vpl011.base_addr);
+    res = fdt_begin_node(fdt, buf);
     if ( res )
         return res;
 
@@ -2426,14 +2431,14 @@ static int __init make_vpl011_uart_node(struct kernel_info *kinfo)
 
     cells = &reg[0];
     dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS,
-                       GUEST_ROOT_SIZE_CELLS, GUEST_PL011_BASE,
+                       GUEST_ROOT_SIZE_CELLS, d->arch.vpl011.base_addr,
                        GUEST_PL011_SIZE);
 
     res = fdt_property(fdt, "reg", reg, sizeof(reg));
     if ( res )
         return res;
 
-    set_interrupt(intr, GUEST_VPL011_SPI, 0xf, DT_IRQ_TYPE_LEVEL_HIGH);
+    set_interrupt(intr, d->arch.vpl011.virq, 0xf, DT_IRQ_TYPE_LEVEL_HIGH);
 
     res = fdt_property(fdt, "interrupts", intr, sizeof (intr));
     if ( res )
@@ -3145,6 +3150,14 @@ static int __init construct_domU(struct domain *d,
     else
         assign_static_memory_11(d, &kinfo, node);
 
+    /*
+     * Base address and irq number are needed when creating vpl011 device
+     * tree node in prepare_dtb_domU, so initialization on related variables
+     * shall be done first.
+     */
+    if ( kinfo.vpl011 )
+        rc = domain_vpl011_init(d, NULL);
+
     rc = prepare_dtb_domU(d, &kinfo);
     if ( rc < 0 )
         return rc;
@@ -3153,9 +3166,6 @@ static int __init construct_domU(struct domain *d,
     if ( rc < 0 )
         return rc;
 
-    if ( kinfo.vpl011 )
-        rc = domain_vpl011_init(d, NULL);
-
     return rc;
 }
 
@@ -3200,15 +3210,35 @@ void __init create_domUs(void)
 
         if ( !dt_property_read_u32(node, "nr_spis", &d_cfg.arch.nr_spis) )
         {
+            unsigned int vpl011_virq = GUEST_VPL011_SPI;
+
             d_cfg.arch.nr_spis = gic_number_lines() - 32;
 
+            /*
+             * The VPL011 virq is GUEST_VPL011_SPI, unless direct-map is
+             * set, in which case it'll match the hardware.
+             *
+             * Since the domain is not yet created, we can't use
+             * d->arch.vpl011.irq. So the logic to find the vIRQ has to
+             * be hardcoded.
+             * The logic here shall be consistent with the one in
+             * domain_vpl011_init().
+             */
+            if ( flags & CDF_directmap )
+            {
+                vpl011_virq = serial_irq(SERHND_DTUART);
+                if ( vpl011_virq < 0 )
+                    panic("Error getting IRQ number for this serial port %d\n",
+                          SERHND_DTUART);
+            }
+
             /*
              * vpl011 uses one emulated SPI. If vpl011 is requested, make
              * sure that we allocate enough SPIs for it.
              */
             if ( dt_property_read_bool(node, "vpl011") )
                 d_cfg.arch.nr_spis = MAX(d_cfg.arch.nr_spis,
-                                         GUEST_VPL011_SPI - 32 + 1);
+                                         vpl011_virq - 32 + 1);
         }
 
         /*
diff --git a/xen/arch/arm/include/asm/vpl011.h b/xen/arch/arm/include/asm/vpl011.h
index e6c7ab7381..c09abcd7a9 100644
--- a/xen/arch/arm/include/asm/vpl011.h
+++ b/xen/arch/arm/include/asm/vpl011.h
@@ -53,6 +53,8 @@ struct vpl011 {
     uint32_t    uarticr;        /* Interrupt clear register */
     uint32_t    uartris;        /* Raw interrupt status register */
     uint32_t    shadow_uartmis; /* shadow masked interrupt register */
+    paddr_t     base_addr;
+    unsigned int virq;
     spinlock_t  lock;
     evtchn_port_t evtchn;
 };
diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c
index 895f436cc4..43522d48fd 100644
--- a/xen/arch/arm/vpl011.c
+++ b/xen/arch/arm/vpl011.c
@@ -29,6 +29,7 @@
 #include <xen/mm.h>
 #include <xen/sched.h>
 #include <xen/console.h>
+#include <xen/serial.h>
 #include <public/domctl.h>
 #include <public/io/console.h>
 #include <asm/pl011-uart.h>
@@ -71,11 +72,11 @@ static void vpl011_update_interrupt_status(struct domain *d)
      * status bit has been set since the last time.
      */
     if ( uartmis & ~vpl011->shadow_uartmis )
-        vgic_inject_irq(d, NULL, GUEST_VPL011_SPI, true);
+        vgic_inject_irq(d, NULL, vpl011->virq, true);
 
     vpl011->shadow_uartmis = uartmis;
 #else
-    vgic_inject_irq(d, NULL, GUEST_VPL011_SPI, uartmis);
+    vgic_inject_irq(d, NULL, vpl011->virq, uartmis);
 #endif
 }
 
@@ -347,7 +348,8 @@ static int vpl011_mmio_read(struct vcpu *v,
                             void *priv)
 {
     struct hsr_dabt dabt = info->dabt;
-    uint32_t vpl011_reg = (uint32_t)(info->gpa - GUEST_PL011_BASE);
+    uint32_t vpl011_reg = (uint32_t)(info->gpa -
+                                     v->domain->arch.vpl011.base_addr);
     struct vpl011 *vpl011 = &v->domain->arch.vpl011;
     struct domain *d = v->domain;
     unsigned long flags;
@@ -430,7 +432,8 @@ static int vpl011_mmio_write(struct vcpu *v,
                              void *priv)
 {
     struct hsr_dabt dabt = info->dabt;
-    uint32_t vpl011_reg = (uint32_t)(info->gpa - GUEST_PL011_BASE);
+    uint32_t vpl011_reg = (uint32_t)(info->gpa -
+                                     v->domain->arch.vpl011.base_addr);
     struct vpl011 *vpl011 = &v->domain->arch.vpl011;
     struct domain *d = v->domain;
     unsigned long flags;
@@ -626,6 +629,49 @@ int domain_vpl011_init(struct domain *d, struct vpl011_init_info *info)
     if ( vpl011->backend.dom.ring_buf )
         return -EINVAL;
 
+    /*
+     * The VPL011 virq is GUEST_VPL011_SPI, except for direct-map domains
+     * where the hardware value shall be used.
+     * The logic here should stay in sync with the one in
+     * create_domUs().
+     */
+    if ( is_domain_direct_mapped(d) )
+    {
+        const struct vuart_info *uart = serial_vuart_info(SERHND_DTUART);
+        int vpl011_irq = serial_irq(SERHND_DTUART);
+
+        if ( (uart != NULL) && (vpl011_irq > 0) )
+        {
+            vpl011->base_addr = uart->base_addr;
+            vpl011->virq = vpl011_irq;
+        }
+        else
+        {
+            printk(XENLOG_ERR
+                   "vpl011: Unable to re-use the Xen UART information.\n");
+            return -EINVAL;
+        }
+
+        /*
+         * Since the PL011 we emulate for the guest requires a 4KB region,
+         * and on some Hardware (e.g. on some sunxi SoC), the UART MMIO
+         * region is less than 4KB, in which case, there may exist multiple
+         * devices within the same 4KB region, here adds the following check to
+         * prevent potential known pitfalls
+         */
+        if ( uart->size < GUEST_PL011_SIZE )
+        {
+            printk(XENLOG_ERR
+                   "vpl011: Can't re-use the Xen UART MMIO region as it is too small.\n");
+            return -EINVAL;
+        }
+    }
+    else
+    {
+        vpl011->base_addr = GUEST_PL011_BASE;
+        vpl011->virq = GUEST_VPL011_SPI;
+    }
+
     /*
      * info is NULL when the backend is in Xen.
      * info is != NULL when the backend is in a domain.
@@ -661,7 +707,7 @@ int domain_vpl011_init(struct domain *d, struct vpl011_init_info *info)
         }
     }
 
-    rc = vgic_reserve_virq(d, GUEST_VPL011_SPI);
+    rc = vgic_reserve_virq(d, vpl011->virq);
     if ( !rc )
     {
         rc = -EINVAL;
@@ -673,12 +719,12 @@ int domain_vpl011_init(struct domain *d, struct vpl011_init_info *info)
     spin_lock_init(&vpl011->lock);
 
     register_mmio_handler(d, &vpl011_mmio_handler,
-                          GUEST_PL011_BASE, GUEST_PL011_SIZE, NULL);
+                          vpl011->base_addr, GUEST_PL011_SIZE, NULL);
 
     return 0;
 
 out2:
-    vgic_free_virq(d, GUEST_VPL011_SPI);
+    vgic_free_virq(d, vpl011->virq);
 
 out1:
     if ( vpl011->backend_in_domain )
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 07:51:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 07:51:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261228.452114 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzYm-0003Zv-Go; Thu, 27 Jan 2022 07:51:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261228.452114; Thu, 27 Jan 2022 07: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 1nCzYm-0003Za-B7; Thu, 27 Jan 2022 07:51:12 +0000
Received: by outflank-mailman (input) for mailman id 261228;
 Thu, 27 Jan 2022 07:51:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=h4dm=SL=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1nCzYk-0000Xj-P4
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 07:51:10 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on061a.outbound.protection.outlook.com
 [2a01:111:f400:fe1e::61a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e1fd8c1a-7f45-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 08:51:06 +0100 (CET)
Received: from AS9PR06CA0175.eurprd06.prod.outlook.com (2603:10a6:20b:45c::25)
 by PA4PR08MB6128.eurprd08.prod.outlook.com (2603:10a6:102:f2::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.10; Thu, 27 Jan
 2022 07:51:03 +0000
Received: from VE1EUR03FT028.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:45c:cafe::1e) by AS9PR06CA0175.outlook.office365.com
 (2603:10a6:20b:45c::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15 via Frontend
 Transport; Thu, 27 Jan 2022 07:51:03 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT028.mail.protection.outlook.com (10.152.18.88) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4930.15 via Frontend Transport; Thu, 27 Jan 2022 07:51:02 +0000
Received: ("Tessian outbound 2877e54fe176:v113");
 Thu, 27 Jan 2022 07:51:02 +0000
Received: from 3aa213c0726f.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 A40001FB-D96D-4334-9974-9672E1538D2D.1; 
 Thu, 27 Jan 2022 07:50:56 +0000
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3aa213c0726f.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 27 Jan 2022 07:50:56 +0000
Received: from DB6PR0301CA0058.eurprd03.prod.outlook.com (2603:10a6:4:54::26)
 by VI1PR08MB4029.eurprd08.prod.outlook.com (2603:10a6:803:ec::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 07:50:54 +0000
Received: from DB5EUR03FT037.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:54:cafe::e2) by DB6PR0301CA0058.outlook.office365.com
 (2603:10a6:4:54::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17 via Frontend
 Transport; Thu, 27 Jan 2022 07:50:53 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT037.mail.protection.outlook.com (10.152.20.215) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4930.15 via Frontend Transport; Thu, 27 Jan 2022 07:50:53 +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.20; Thu, 27 Jan
 2022 07:50:32 +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.20; Thu, 27
 Jan 2022 07:50:31 +0000
Received: from penny.shanghai.arm.com (10.169.188.91) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.20 via Frontend
 Transport; Thu, 27 Jan 2022 07:50: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: e1fd8c1a-7f45-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Rl3pkQoUExfheoWKn2LL1MYHodWIJQAVAKmSODsmtEM=;
 b=vwMHaAuwe9WJ5uX602CpgHOUFjwzJG/w04emSjL0YtI438gWd7vjnv4KyEXYy2c5SexBk/o7x/kkX5T45YDe4Oui/dnSv7TV7+AA3Sx7Vo5BbZxMWBPOx7zXHHmu4tTtPp/Iaozc1Od/OWS6rHD5lz92bs+ta9JLN/93EuvRQGs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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: 1c844911c2d0f9d3
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FEAwo/xv1/topxQPlBp6JoeF2VhN/T61cESr/Ghdfq0YwbjX0bPkyFrqYB8iM56NEIQZShbc01WhlyeSgCFYb4OS/m+DCPqQdD/MSgdezQh2lQA+K/PHfURaULzgSDbaqBx2LlknAgwJDc92MUXPsqUZFRLcETRB9gCF9JZqWdfagSNL8r/wZVd+vzFXc8P3TB2blTmQB953Sxe02MyDVnxE/KS9Dfpt8A5xolUME/xdJDnWncSv+TLi+jzKJgz+AfNUUbOSg4czzE0olYjmZbT7V0IysMD+Ji9d2YBIOioo5+bGxxzLsRQ3F1h9mSkrufYUl6S6aOOzQRlD+YnOkA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Rl3pkQoUExfheoWKn2LL1MYHodWIJQAVAKmSODsmtEM=;
 b=PP7HDOL8M5HYSdUzE42w5OIGGhMB43wD/oODVYTMmpjSg3A2OjRVdJQehv7MzH5LizpN/UNXU/2+TmCa1GNDogkxSqp1D2Cd8z2y0hH2g3qqjNOG+0HsBnhekaKfMwuOHKEt4+A3FstBktPa7ztGYDJoXEx5Ps+s/M+O0k13uNNbI207LqBQ1jd5PE42umtVz/PWSmt2DKMgR/REFJq7dYMuI3/DL54gm+C3KQPsKD3mF7ySPgBjZdcaTTggTq1+grzrbZU8VDPs75eNTgmfADgHYcW8FC5dT3+wNJjQ6SWY+hC+KAeAvkVZ+vWt821IZUHBHVLi+MM8NreN39vn5w==
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=Rl3pkQoUExfheoWKn2LL1MYHodWIJQAVAKmSODsmtEM=;
 b=vwMHaAuwe9WJ5uX602CpgHOUFjwzJG/w04emSjL0YtI438gWd7vjnv4KyEXYy2c5SexBk/o7x/kkX5T45YDe4Oui/dnSv7TV7+AA3Sx7Vo5BbZxMWBPOx7zXHHmu4tTtPp/Iaozc1Od/OWS6rHD5lz92bs+ta9JLN/93EuvRQGs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Penny Zheng <penny.zheng@arm.com>
To: <xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
	<julien@xen.org>
CC: <Bertrand.Marquis@arm.com>, <Wei.Chen@arm.com>
Subject: [PATCH v5 03/11] xen/arm: avoid setting XEN_DOMCTL_CDF_iommu when IOMMU off
Date: Thu, 27 Jan 2022 07:49:21 +0000
Message-ID: <20220127074929.502885-4-penny.zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220127074929.502885-1-penny.zheng@arm.com>
References: <20220127074929.502885-1-penny.zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-Office365-Filtering-Correlation-Id: 07f30cc9-8caf-48d9-975f-08d9e169c42e
X-MS-TrafficTypeDiagnostic:
	VI1PR08MB4029:EE_|VE1EUR03FT028:EE_|PA4PR08MB6128:EE_
X-Microsoft-Antispam-PRVS:
	<PA4PR08MB6128D102BE6130C1CEC22E97F7219@PA4PR08MB6128.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:1332;OLM:1332;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 7i0Lwtjjnn9mIYEafqA1AdQBTpadhLbvhbjjyuAhDsTR43wWjUnaABxkYdtOA467gE8sk0svFIbMq0JOzuZYeR1ok29Wd8jB6ODZa1C0ALqnMdTsJGhTicxENIx+vyYSPk9sfWHd1Eu5DkxLCUdPNd5zSRYy7QWfD7XO51HtoDCkcxuLKJjNg3GeSj376F1qhoodRCickYmiAaAK103OfqMvx5nBTKanGvJliwdqqMMWmvv9/V3STxWtgaBHZekHgUetlqkboMXLIEGW3bDmnobZEYKFqLOLbDrKhcjd7BSRcB9DLK5qOy7bNDq8Vk5ii0UQ/aJv4ZGW3aZYcZlZD1Zawc9INr5mQ4wCjxvSiWS6vCHu+UKamCmmj+DrnLLmZJxFw77CWfAMmhRWWi1KB9Ih1nVwGJdB8rIFT8FN4pHzD3hDhDIT9Z+JLD/UgsFhQcLomcJriMEv34pg02myD8tIlFCxv4/Sp8HaGzK94CuhJEV8IXWp3mvzuCw5Kr6T3OXhEMS0+hJxegLmLuSt15OP7I+fF5xYvXPdevqxCGRFWB6l5DZLLEHq5EBxJfUCk7mnYFUY3IWPSOy1hK3QJjFsKq4jy7fUmOq3xrMw9WRNXsxbkLwOb2FrbaXMdew3AuG62yQ9wQtlgIAuyl6ain7htXf1gZssc25EODByDv7cwIclJabfN0uHg7Lm/ml+iKe0S4pLneuMy1NFgcmT0Q==
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:(13230001)(4636009)(40470700004)(36840700001)(46966006)(2616005)(44832011)(81166007)(2906002)(356005)(36860700001)(83380400001)(1076003)(47076005)(82310400004)(186003)(26005)(70586007)(5660300002)(508600001)(426003)(336012)(4326008)(8936002)(8676002)(6666004)(36756003)(70206006)(316002)(86362001)(40460700003)(54906003)(7696005)(110136005)(36900700001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB4029
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT028.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	325893ee-de7e-4d49-fe4c-08d9e169be94
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	FJSZ6Y7PhGn4YEMb3Y+2+zPflBvIAnU1zYI446sa3ZxvX8g6LuWiEcRIl1Lb/+vxQXJOF2V813E5HiVZj6ZA4M0dQJRbEjizzGGrQUhUGWMJAFRhjdTT3LFPcdwKhhzDsVHaLcW1JGSwc0mtwDJ3hg6CEtAQ14fIR3wxJ4eVU8h5aiBilLlER6IMiYeH4w4v7+ihoh+YAfVT+Kjxa5hNu7ymoMN6ML5HAl79+KCi/AtK0SL9k4omMye/i56K5wRUDoc4S43o8uIfEOy8YWI5KX1LEREjp3PcG6zwy4pr8REWRhSiFhYcHeAYljY8RXJT9TghugwqH0Gf5BuKTrMsNssIAiknbRTnSevLXMQFOgdJa5jQ6BID/ruAhMH7o61VodBnoY5jwuG89WrxfT/uT8Cw7zLVsD84iLyfQQE6mabCKzw1GcztXjfFqKU3BV1bDSB0MgD7FZJtmNyx155cy0XNKYLvDGB6CFBB+lifeBuDOdJJ/YzzQtx4XIRUShrfQT/Z5VI6G0FXKpf8NEg1MM4tvOZhSpvlIABam7lZnV7hiCHk/bDCnsQKFEia6dmwf7NAoPsyYIHqHvYZL6d3+AizVXpWs98pd0qBIKwxGEGPV0z9yNXgC8dMBqikRe3KZOsetsaodiZCXwhXDNcH1Pl3nG1wI/jSwQtkAcCowsXPBeH1LmiFy12Ilf7n/FAOVWobexZGdpKZcnLxrUoYBvcPxBb7k01/3InRTmpuxvaehMLTe+QEJMVnLkU7MpABBOiW6MwWhqT8ufVn5vXD+w==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(40470700004)(36840700001)(4326008)(86362001)(8676002)(83380400001)(47076005)(5660300002)(2616005)(81166007)(2906002)(7696005)(6666004)(1076003)(26005)(44832011)(508600001)(36756003)(186003)(40460700003)(82310400004)(110136005)(54906003)(70586007)(70206006)(426003)(316002)(8936002)(336012)(36860700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 07:51:02.7745
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 07f30cc9-8caf-48d9-975f-08d9e169c42e
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT028.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6128

From: Stefano Stabellini <sstabellini@kernel.org>

When IOMMU is absent or shall not be used (trusted domain, performance,
hardware limitation, ..., etc), in which cases this commit avoids setting
XEN_DOMCTL_CDF_iommu to make those user cases possible and prevent failure
later during device assignment.

Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Tested-by: Stefano Stabellini <sstabellini@kernel.org>
---
v3 changes:
- new commit, split from the original "[PATCH v2 2/6] xen/arm: introduce
direct-map for domUs"
---
v4 changes:
- explain briefly in the commit message why we want to do device assignment
without IOMMU.
---
v5 changes:
- nothing changed
---
 xen/arch/arm/domain_build.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 6467e8ee32..c1e8c99f64 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -3047,7 +3047,8 @@ void __init create_domUs(void)
             panic("Missing property 'cpus' for domain %s\n",
                   dt_node_name(node));
 
-        if ( dt_find_compatible_node(node, NULL, "multiboot,device-tree") )
+        if ( dt_find_compatible_node(node, NULL, "multiboot,device-tree") &&
+             iommu_enabled )
             d_cfg.flags |= XEN_DOMCTL_CDF_iommu;
 
         if ( !dt_property_read_u32(node, "nr_spis", &d_cfg.arch.nr_spis) )
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 07:51:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 07:51:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261232.452125 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzYo-0003xl-5H; Thu, 27 Jan 2022 07:51:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261232.452125; Thu, 27 Jan 2022 07:51:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzYo-0003we-05; Thu, 27 Jan 2022 07:51:14 +0000
Received: by outflank-mailman (input) for mailman id 261232;
 Thu, 27 Jan 2022 07:51:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=h4dm=SL=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1nCzYm-0008Mi-SI
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 07:51:13 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2061f.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::61f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e4da8ad7-7f45-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 08:51:11 +0100 (CET)
Received: from AM8P191CA0016.EURP191.PROD.OUTLOOK.COM (2603:10a6:20b:21a::21)
 by AM9PR08MB7101.eurprd08.prod.outlook.com (2603:10a6:20b:41a::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Thu, 27 Jan
 2022 07:51:10 +0000
Received: from VE1EUR03FT019.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:21a:cafe::b6) by AM8P191CA0016.outlook.office365.com
 (2603:10a6:20b:21a::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15 via Frontend
 Transport; Thu, 27 Jan 2022 07:51:10 +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.4930.15 via Frontend Transport; Thu, 27 Jan 2022 07:51:09 +0000
Received: ("Tessian outbound 741ca6c82739:v113");
 Thu, 27 Jan 2022 07:51:09 +0000
Received: from e105dde92142.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 CC93E2F0-21EA-4475-94A2-76E03B244F59.1; 
 Thu, 27 Jan 2022 07:51:03 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e105dde92142.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 27 Jan 2022 07:51:03 +0000
Received: from DB6PR0301CA0061.eurprd03.prod.outlook.com (2603:10a6:4:54::29)
 by DBAPR08MB5847.eurprd08.prod.outlook.com (2603:10a6:10:1a0::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Thu, 27 Jan
 2022 07:50:55 +0000
Received: from DB5EUR03FT037.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:54:cafe::70) by DB6PR0301CA0061.outlook.office365.com
 (2603:10a6:4:54::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17 via Frontend
 Transport; Thu, 27 Jan 2022 07:50:55 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT037.mail.protection.outlook.com (10.152.20.215) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4930.15 via Frontend Transport; Thu, 27 Jan 2022 07:50:55 +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.20; Thu, 27 Jan
 2022 07:50:36 +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.20; Thu, 27
 Jan 2022 07:50:35 +0000
Received: from penny.shanghai.arm.com (10.169.188.91) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.20 via Frontend
 Transport; Thu, 27 Jan 2022 07: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: e4da8ad7-7f45-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HJ6pNGZyTQYLxJKZGBnj9F34C5RzJhd0CRvAgb1BVyU=;
 b=PA/rvwGNZkNJApPB68L21Y4sL3jX0/KuSSVoDUTgbaWhmaQKkzJnfIrzVsKauWgXkbq7s8MgllCaxNf8Q37ZgOgFtYQonIMA7/kHY6l7fGxb96C2/PXXZ2WUO1zfv8qY0jlTxiV0kInqYE0XWWsCSmuLu/1pNoM1d+5yvc3S5F8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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: fc1e44a9ecbac685
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hZ0kQAYF8QlByHFRDLkIv/rOVPvCSuxvNyHmpIftqL+NYEzeg8DsWCmaaHeWa+ZZczlSJl5ddPVI93gXs6qm7wsVf1g5Nay/a8dPu30txIwtY4a+hK6RXwMByY4FM41f54+jhRsOIgFROw4ySH7VLSRrr7TnRzG7Mh3evNeb0ajIlrew99Afy4rtSuTeVdIRKN5n90UyZ1qyycTurR8WmUxiKPUdLXTl49+9NOFHx/Uyr1wIagyNT5L8gJyUmeBABT7bNVxQzNSTlIU8x7nO5h1kV/CQ1KDe+KHLs2s2D4npZGrOhsvYy4keENGQ6WKOBs3ZuPJjZlYn+ZWG9fQNtg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HJ6pNGZyTQYLxJKZGBnj9F34C5RzJhd0CRvAgb1BVyU=;
 b=c6kfX5lOsUezfWWxOjN0zr9a6gYy1bGRUbu2gplxppcNaVmlw8YsKHQmm6LLOB5I60p7NXCMOtrNBh2UUwzrZk2A7yRnC3VD5cbrj0pRa531kwqCHvmh86p+xV2CUch56AQIcuYaTSm+/RB4K+QH9P9jRoBFamICiMHOEnPAAXbR2Z4WkEl6za1KGQKll3T/8JAAMImgapLWZmQxfaA+YFc6SQfxvfhs7kcQY7K0RrHmYrxUn77pFxV21Mo0hkHljyrTt0u27+CBeEG1rTd0PEJm0MUj9GwvqmdwVyOxbW1SJ+Z7bdU58yhBoIXVQ1B3lRsAYVFIm8bWSXPIrqkQng==
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=HJ6pNGZyTQYLxJKZGBnj9F34C5RzJhd0CRvAgb1BVyU=;
 b=PA/rvwGNZkNJApPB68L21Y4sL3jX0/KuSSVoDUTgbaWhmaQKkzJnfIrzVsKauWgXkbq7s8MgllCaxNf8Q37ZgOgFtYQonIMA7/kHY6l7fGxb96C2/PXXZ2WUO1zfv8qY0jlTxiV0kInqYE0XWWsCSmuLu/1pNoM1d+5yvc3S5F8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Penny Zheng <penny.zheng@arm.com>
To: <xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
	<julien@xen.org>
CC: <Bertrand.Marquis@arm.com>, <Wei.Chen@arm.com>
Subject: [PATCH v5 05/11] xen/arm: introduce direct-map for domUs
Date: Thu, 27 Jan 2022 07:49:23 +0000
Message-ID: <20220127074929.502885-6-penny.zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220127074929.502885-1-penny.zheng@arm.com>
References: <20220127074929.502885-1-penny.zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-Office365-Filtering-Correlation-Id: 0fef3adb-fa6b-471d-0603-08d9e169c84f
X-MS-TrafficTypeDiagnostic:
	DBAPR08MB5847:EE_|VE1EUR03FT019:EE_|AM9PR08MB7101:EE_
X-Microsoft-Antispam-PRVS:
	<AM9PR08MB7101971CA34E36ABE627096CF7219@AM9PR08MB7101.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:1332;OLM:1332;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 YIGTyZ10pbiRE2SCuJzGy3xYDA9n7WdEcB0TtjwG7ipnpOcgthhCWudKsY1nortkoiQ2I5048UpHQ7o6vSm7w50u2/1NT7snwA4eiRShUX31jPOy/dJcMphwoK4q1Ff2s8VydD+xR2mPL5VKNXbpXea1X5IUneF3tXO0Q6PMl7C8ItiKi9k+7RuMEOXV8oZ/dOzrDWTJ4YhC/WOO1dUdBTcdPlUgWPUy3VScX6N08S2SmOT0CE+0s+FWflDRISGNUNTPGOzB2G4V0ohSHbMvy5Ziu2hghTAMyCuqjCzd+JQRy7PqDMBVyKh81ub/T8R0mMi9GxKLzAYjETgHO0ROL63MREcQUbmhfxa40Aw1GkM4JI4doAzAejUN9Qr4Txbfv2zdkdOzAZ7oDT6z6wCyJg+BZSL5eU7wGlZLA6HtTfeN/GD/n14gIHLCh+wxWJn3YiBPODYa1O39/tEq4Dv6onuCkROz9GcnARa+bcJFXMOryW9FiWIsRBzuavXp8aQM3FQQAxu1RMmHnp/0oQ8Fps1fJFzk427pUSaWBLuPkT3oKJ6OBtpM7j8wfEPYPtEKLI1z+WkGlyb+9CnJj6VrnHC5EstWIlkONjRQcnHCFwM1AKRXcude1uIpZK5isg69WmA9XSohpEmW5zZX9DycrN5LDKWUxqwgngv+vgYLqQxIgXnOfqyb4iDh21zxv5S4OyksbVH1MRXEJfqompnVYQ==
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:(13230001)(4636009)(40470700004)(46966006)(36840700001)(5660300002)(36860700001)(2616005)(70206006)(70586007)(2906002)(36756003)(508600001)(6666004)(81166007)(44832011)(356005)(7696005)(83380400001)(54906003)(26005)(82310400004)(316002)(40460700003)(336012)(110136005)(8936002)(8676002)(4326008)(1076003)(186003)(47076005)(426003)(86362001)(36900700001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5847
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT019.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	27549ade-7b54-4dc7-4f7e-08d9e169bfae
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	72bo7nO9CoeYRE2LFIVw7WCx4vXCqGtN2oGfdu4VZJMe1kblMpN6MsxhobV/OS5EZULpNUJ1gBpfdRx/biATHVAf1yBce1AFDFYXDVYkwPavOIyJe/9T5703j9J4FJMFISy839B+PwdNTRJ21WGHNR0/TzDMurDNIGxgZtABd3nlUGcTfb+gmROHXLZ4gBnk8PDQEDo15uRrHBPobWSBZlsHePAJK8UbpgqpXLMKDN0UlfsGnEXXSZOEY/EuqP5NKm1WWsWSmUqWTJLtx6qssnrH39vyaVX+sFrfgI33dJXExxATwgmp0zOoqU6oONA+bPtwwy+nMDyRLLZbtDDxKTqvOJfUAVP6pPQuJgeCCn5ZFqU7LlijR68Cm3I3qzZwPSx8HpRVpsha0zZGCQgeVyVh5v42vUhA1mUN6aCq+6Sm0jZQ/8yqmmu7g9EYgxoeiUlCmLA7YDxkbBK82/qrtSvoffJpzZZ523Lq5K37KiGfcgjhz5PgrSjrtlMnckIZLP7TlAIL7K3Rc1hXhYf6sE5UeLYpKaObymY825F8ySwF830vP/icLHA4UGAkeeY/2aOf5bhXWeTaqQfhvG8PslCpU67PaJkrgaHdtOHCGvXOLrYfBVP+mnxfyhYuWBdi0GpYYYPEgt4j2uFYQB0T9oL9fIKXPJ0mOfs4srfSyifDVcpsIdTAEt+vkn60ttv4
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230001)(4636009)(46966006)(36840700001)(40470700004)(2616005)(26005)(186003)(1076003)(508600001)(86362001)(44832011)(426003)(36860700001)(47076005)(336012)(40460700003)(83380400001)(2906002)(6666004)(7696005)(4326008)(110136005)(81166007)(316002)(82310400004)(8936002)(5660300002)(70206006)(70586007)(8676002)(54906003)(36756003)(20210929001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 07:51:09.7025
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0fef3adb-fa6b-471d-0603-08d9e169c84f
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: AM9PR08MB7101

Cases where domU needs direct-map memory map:
  * IOMMU not present in the system.
  * IOMMU disabled if it doesn't cover a specific device and all the guests
are trusted. Thinking a mixed scenario, where a few devices with IOMMU and
a few without, then guest DMA security still could not be totally guaranteed.
So users may want to disable the IOMMU, to at least gain some performance
improvement from IOMMU disabled.
  * IOMMU disabled as a workaround when it doesn't have enough bandwidth.
To be specific, in a few extreme situation, when multiple devices do DMA
concurrently, these requests may exceed IOMMU's transmission capacity.
  * IOMMU disabled when it adds too much latency on DMA. For example,
TLB may be missing in some IOMMU hardware, which may bring latency in DMA
progress, so users may want to disable it in some realtime scenario.
  * Guest OS relies on the host memory layout

This commit introduces a new helper assign_static_memory_11 to allocate
static memory as guest RAM for direct-map domain.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Tested-by: Stefano Stabellini <sstabellini@kernel.org>
---
v2 changes:
- split the common codes into two helpers: parse_static_mem_prop and
acquire_static_memory_bank to deduce complexity.
- introduce a new helper allocate_static_memory_11 for allocating static
memory for direct-map guests
- remove redundant use "bool direct_map", to be replaced by
d_cfg.flags & XEN_DOMCTL_CDF_directmap
- remove panic action since it is fine to assign a non-DMA capable device when
IOMMU and direct-map both off
---
v3 changes:
- doc refinement
- drop the pointless gbank
- add check of the size of nr_banks shall not exceed NR_MEM_BANKS
- add ASSERT_UNREACHABLE to catch any misuse
- add another check of validating flag XEN_DOMCTL_CDF_INTERNAL_directmap only
when CONFIG_STATIC_MEMORY is set.
---
v4 changes:
- comment refinement
- rename function allocate_static_memory_11() to assign_static_memory_11()
to make clear there is actually no allocation done. Instead we are only
mapping pre-defined host regions to pre-defined guest regions.
- remove tot_size to directly substract psize from kinfo->unassigned_mem
- check kinfo->unassigned_mem doesn't underflow or overflow
- remove nested if/else
- refine "panic" info
---
v5 changes:
- fix coding style
---
 xen/arch/arm/domain_build.c | 97 +++++++++++++++++++++++++++++++++++--
 1 file changed, 94 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index e61d2d53ba..ec29bd302c 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -494,8 +494,17 @@ static bool __init append_static_memory_to_bank(struct domain *d,
 {
     int res;
     unsigned int nr_pages = PFN_DOWN(size);
-    /* Infer next GFN. */
-    gfn_t sgfn = gaddr_to_gfn(bank->start + bank->size);
+    gfn_t sgfn;
+
+    /*
+     * For direct-mapped domain, the GFN match the MFN.
+     * Otherwise, this is inferred on what has already been allocated
+     * in the bank.
+     */
+    if ( !is_domain_direct_mapped(d) )
+        sgfn = gaddr_to_gfn(bank->start + bank->size);
+    else
+        sgfn = gaddr_to_gfn(mfn_to_maddr(smfn));
 
     res = guest_physmap_add_pages(d, sgfn, smfn, nr_pages);
     if ( res )
@@ -668,12 +677,92 @@ static void __init allocate_static_memory(struct domain *d,
  fail:
     panic("Failed to allocate requested static memory for domain %pd.", d);
 }
+
+/*
+ * Allocate static memory as RAM for one specific domain d.
+ * The static memory will be directly mapped in the guest(Guest Physical
+ * Address == Physical Address).
+ */
+static void __init assign_static_memory_11(struct domain *d,
+                                           struct kernel_info *kinfo,
+                                           const struct dt_device_node *node)
+{
+    u32 addr_cells, size_cells, reg_cells;
+    unsigned int nr_banks, bank = 0;
+    const __be32 *cell;
+    paddr_t pbase, psize;
+    mfn_t smfn;
+    int length;
+
+    if ( parse_static_mem_prop(node, &addr_cells, &size_cells, &length, &cell) )
+    {
+        printk(XENLOG_ERR
+               "%pd: failed to parse \"xen,static-mem\" property.\n", d);
+        goto fail;
+    }
+    reg_cells = addr_cells + size_cells;
+    nr_banks = length / (reg_cells * sizeof(u32));
+
+    if ( nr_banks > NR_MEM_BANKS )
+    {
+        printk(XENLOG_ERR
+               "%pd: exceed max number of supported guest memory banks.\n", d);
+        goto fail;
+    }
+
+    for ( ; bank < nr_banks; bank++ )
+    {
+        smfn = acquire_static_memory_bank(d, &cell, addr_cells, size_cells,
+                                          &pbase, &psize);
+        if ( mfn_eq(smfn, INVALID_MFN) )
+            goto fail;
+
+        printk(XENLOG_INFO "%pd: STATIC BANK[%u] %#"PRIpaddr"-%#"PRIpaddr"\n",
+               d, bank, pbase, pbase + psize);
+
+        /* One guest memory bank is matched with one physical memory bank. */
+        kinfo->mem.bank[bank].start = pbase;
+        if ( !append_static_memory_to_bank(d, &kinfo->mem.bank[bank],
+                                           smfn, psize) )
+            goto fail;
+
+        kinfo->unassigned_mem -= psize;
+    }
+
+    kinfo->mem.nr_banks = nr_banks;
+
+    /*
+     * The property 'memory' should match the amount of memory given to
+     * the guest.
+     * Currently, it is only possible to either acquire static memory or
+     * let Xen allocate. *Mixing* is not supported.
+     */
+    if ( kinfo->unassigned_mem != 0 )
+    {
+        printk(XENLOG_ERR
+               "Size of \"memory\" property doesn't match up with the sum-up of \"xen,static-mem\".\n");
+        goto fail;
+    }
+
+    return;
+
+ fail:
+    panic("Failed to assign requested static memory for direct-map domain %pd.",
+          d);
+}
 #else
 static void __init allocate_static_memory(struct domain *d,
                                           struct kernel_info *kinfo,
                                           const struct dt_device_node *node)
 {
 }
+
+static void __init assign_static_memory_11(struct domain *d,
+                                           struct kernel_info *kinfo,
+                                           const struct dt_device_node *node)
+{
+    ASSERT_UNREACHABLE();
+}
 #endif
 
 /*
@@ -3023,8 +3112,10 @@ static int __init construct_domU(struct domain *d,
 #endif
     if ( !dt_find_property(node, "xen,static-mem", NULL) )
         allocate_memory(d, &kinfo);
-    else
+    else if ( !is_domain_direct_mapped(d) )
         allocate_static_memory(d, &kinfo, node);
+    else
+        assign_static_memory_11(d, &kinfo, node);
 
     rc = prepare_dtb_domU(d, &kinfo);
     if ( rc < 0 )
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 07:57:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 07:57:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261233.452136 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzeJ-000682-Vu; Thu, 27 Jan 2022 07:56:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261233.452136; Thu, 27 Jan 2022 07: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 1nCzeJ-00067v-SO; Thu, 27 Jan 2022 07:56:55 +0000
Received: by outflank-mailman (input) for mailman id 261233;
 Thu, 27 Jan 2022 07:56:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nCzeI-00067n-Im
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 07:56:54 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b0b76349-7f46-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 08:56:53 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2106.outbound.protection.outlook.com [104.47.18.106]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-28-14P18EVnNSqYre4cLOr1KA-1; Thu, 27 Jan 2022 08:56:52 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM0PR04MB5041.eurprd04.prod.outlook.com (2603:10a6:208:bf::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 07:56:50 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 07:56:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b0b76349-7f46-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643270213;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=mtFIBX07JmKgFyFHJN4Oe8G2y+SXY8eL4YI00ZKlUkE=;
	b=DOx3um4oj9+WvD1t8g0n1eJ/jFDS7+VNC7awmik3CHBNzYVqZlCptsGhEXxzt1/dCICW5h
	+0RyCz5/AhaSRrvcJnQZa00CWs3ui7bLf/2BUsUUAQ7MCwOJsWKu18d/A0lAskC0fLL8ka
	87UwTvtUHtAO2daJjB6KtE9hHiYMkyU=
X-MC-Unique: 14P18EVnNSqYre4cLOr1KA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IoAmSqZ8fOHIqWqIoJzH5RX9ezTzPE5zm5GnTZZVteBZ07+bCGwRE6pVgMclT2w0RbOOE/yy3cYlFz9WEuEfegDfXEFREQQ5mTrbQd7Lyfn9iDrZ6LfWuvAUfaWrhLWunQw1af9hlGolswTT5oKjCaj1v7FyybaX98YsX+CeS5pesVsUGRZ21YQ61wQL0+SA+PigU1Hz9AbuXyfRqGqbNz9uR2JZwhtrYHreUXhed5J6WyjpwQMPsOAWDDcOU7V6AkKefFUb1zIdYX30PMwFMlvp/xyt2XGex9bK8MRnE6ncAerDsWyxqYaikPs9rgHI/08O/ERFs1N8OnQsp5tLXw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pGnjn2YzP8YJVc+76ST39NTXgr/APnCHJQ78huRYelE=;
 b=C0U8P1VFPiF2rPG58ewAkD9a4lh4ghUP50UvTa9shgeWOSmjVQDdit+SG0BEm4NSWlYIToaD3tkFy4BPnC3GMaYY/SVPbakgHowHmHxyRxNBF/Wn+QEnf6h9xNA7zdxC1nqbbApByz3r7ptNH/rKHZ6O6UgoNZDwwYOfsyj6s0NGs9S5G3ZMbMYPMiOldYwpDXtVavf77n0vQ8sLWwBWKLU4MvtkzeL4+x2H19GiDCsrKWHtCWON0SXNiN/E+7716nFvupaWGMaWUYJX47pCo+zImTGzt/wArdSMFFfl7cvFbA/3aloYEG6u8WQwkpetXDDTrbjFlnzvDqQylH/u3A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6b07b22a-8599-320e-5746-fe1fe279c62b@suse.com>
Date: Thu, 27 Jan 2022 08:56:49 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v2 2/2] x86/Intel: use CPUID bit to determine PPIN
 availability
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <64a5a3ac-8f4c-b13d-0b7d-4c4ec15e2721@suse.com>
 <2d13a663-f03e-b1e2-0c38-5dc3282dab10@suse.com>
 <31121cc4-5980-3e06-89ea-c2268e2ec53f@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <31121cc4-5980-3e06-89ea-c2268e2ec53f@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM7PR04CA0019.eurprd04.prod.outlook.com
 (2603:10a6:20b:110::29) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e958f600-692d-4921-8c41-08d9e16a934c
X-MS-TrafficTypeDiagnostic: AM0PR04MB5041:EE_
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB5041D42E9CCD4451A8A112E9B3219@AM0PR04MB5041.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:
	XuQBDlSfZ7eC91/XnLCaJw/aDhVArrniEXhjVYz71wEi4Qm0zSjFpZ1ndRsLnrCTu9Q8hWsmqz3gzahndROgDHSlGVIqOxebIBlW3lKNurv1UZQBgBT25K/CDYqGlCa+OQ5+6zEIPKgGAOI+LkCT8nFKyNl+CPQPeYZhjWApesStMaS6yjL4TBlVxzSAfGHZKQEVfHGZ5RHCL5zquSOrG3h4WJL73hXggkwf/mmstd7Z99F43mEZGCwuH9rRvE/zFhT6yF1P03yV2seToYjj7eP7h3cbzE0GmmOH7VXQbtzqJGXU18qwv5lfML0sJbaTqBzerJRnZXyE1kldG4WEfP0/n0Ar3+iS2ugF2qibHQLPiaJ3X+Kx0wM+3KxJ3lkH9xS28/AA9P8GTToHnXVE7gO45AHxnXxPj4I2AhVu+DwQythArhia36lb/X2wgnd7mGpIoQghGFh30PXo/f2eps14pgUR6ZOG+3lqOVhk0tE1mbRLDNQjFxbFFr7uYCOAJpvoCn3nwT2XTtCtcIYn3jneXYxjko71QrJiKPGQZLt4A4tyFz32/OKHZtMChv6LCtiyJ4eOVyOOXHFtewQLCLNnQIr5qqSWrkMY/rjaEnlupAJIJKvK5MOUkM4PZSIPhXK4cYhc1R3EfxYf8vYFl8AP83fKpWPw6QEzyd36o5Su2HAwBPZM/REjH9d4Gqb8h8CDJ9sGFnD03b56pOW9eTRX0rg4yAVohkdGviFHgV/XevUxtHnUu6hxA9SuCIwN
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:(13230001)(366004)(2616005)(26005)(186003)(508600001)(2906002)(86362001)(31686004)(6486002)(53546011)(6512007)(6506007)(316002)(4326008)(31696002)(5660300002)(8936002)(66476007)(66946007)(66556008)(8676002)(6916009)(54906003)(36756003)(38100700002)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?KccHJzJeNndejg48ftGeagave5tWK5OqslHB/sjpqFa1eAjMwKLvgltW+mih?=
 =?us-ascii?Q?vaMW73WiQE+zvKHv374u9D5j+eudxYUCvaKOgB0dcQy3ppC2mHNhOywV34Nr?=
 =?us-ascii?Q?gyoAM6v8ceyjwBz8jbsR95IPYTdwe47rfhPcr6yZREaBKIWnXAfT3nhnZVpz?=
 =?us-ascii?Q?MFevexxUhPtG93fstms/MY63nCO+3GfMIHPJ1zEI+dalzlJO/NOzLHJZ4juu?=
 =?us-ascii?Q?1FDJd1KnIhMdYoilI2Kjq429/rKsoiFuUGwR8Odk0n0IF5B47wC9rIqPXPE4?=
 =?us-ascii?Q?2LQ61VlH3mnuknvWLfXS2cximXaBckrHbpkLSGJtq/bDMs6iGkXkUPX36e7q?=
 =?us-ascii?Q?WBhnIOetvYhgEnvFW8AqBIGsMxpYegk0a8t4Si5S/J0f7ZqzZCXJ1Je1UBp4?=
 =?us-ascii?Q?f18H14iAiVfKmniuoToxrTdduILj0KhaW1MXnp51ZSeEY7PokAG8/b0fA0yn?=
 =?us-ascii?Q?zlUN+SnzfeeVjTyQxO0010AUXutIc1VTmJQJyZlFcIynVrOrxNkepl+vdaXi?=
 =?us-ascii?Q?Z6rQMgmL3F0hyScH/MuMOu71Q+xzPz08l6F5dqZWD3ChXX5KywYGf/F+qNax?=
 =?us-ascii?Q?IysQE9FlqQKhqIbjFxgoBiEEa509htvin6XrH/Wtomd1KSC63eljzrc0kmwP?=
 =?us-ascii?Q?olyKZDjIHmtypwO8UWgmls436/h0tUVdrRGss8Nww9Kc89OEc57okPUYXuLW?=
 =?us-ascii?Q?p1C2ogA8QoCLEIlWU1FQioCT1Y/txMB536JlXwxxwjgNTulnGI2NY/8zIV8z?=
 =?us-ascii?Q?QdWvTtXK2tRC58MN+ZMkVBxtUhBbsCUGfIoRjMDH9caOuhsemYnaw6PYa5TT?=
 =?us-ascii?Q?ne+poguBDYfMIixRHnuCilyJbGdhPGSpIpBWs+bGmXQfJO0TZeT4ySSc19m/?=
 =?us-ascii?Q?qadG9vzIVyBj/ri4qzGiXrz4f1SsrWS5A2Rmp/XaLBYwGKPJWSdeq9SoZRBd?=
 =?us-ascii?Q?xN1i+fJs0NcbNK42a7u2AEHcYbVPGX0+3JvW0nMmKsW+y8tIWeGVEzgLg8Ne?=
 =?us-ascii?Q?7K2LiC9Uv6iZUTjiUt2i2V05HDqDS6obo3HUy8s9D77PrnUxsYV+wWjFcWN2?=
 =?us-ascii?Q?YVEIY0bFXgCEk6b2Dlt/OClYILsgitsPjt7iOZxwIKyXtQxKodbkLcNLpmj2?=
 =?us-ascii?Q?2YzUIf66VoHer+HEyYiZNpb2H07k8d+pQGV+oXcjhG1VprsDgqL9PCOJCx1E?=
 =?us-ascii?Q?p6Z/v3DBMof0ZIaCGYK/4ZPGZ50ROSZXKB4XuHN5zTTBLvMrSqp/JcrvFWMz?=
 =?us-ascii?Q?hF86i3cMCWJzqWpO+4fKOittk+KmeWIXFNGC/nGBfehzcOsBq2QIG/wn5ShX?=
 =?us-ascii?Q?7Y1OtwFpHe1UA1B3WA30YGSHDuulyfgIFQ83odM7kwM11AHTOBDf3obzUbOL?=
 =?us-ascii?Q?8yd4cr/UDOTX1WQcYzVPm8soFYwH7/u+hrsM2CtvM4Rl7BaETp6Z032LBq13?=
 =?us-ascii?Q?dE3W4v0oMEgnQNHLAYpur7kPm3qbTGrBT1HtuPluuYRiNGf+sJqblAfi6a31?=
 =?us-ascii?Q?WrDq4yoqBG7sgxllwhYrjImA/fGnqKRCQ6ifDCskpIQdqeHjOoh4sLHZ4Q4I?=
 =?us-ascii?Q?C++4z2YSX3QWDZj1Se/OHeLzFmCZYMPTsMto3ysArdgTGpHUTB5D90Ekk6Bj?=
 =?us-ascii?Q?/CIW1ZmLnhu/xJ92H317HoQ=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e958f600-692d-4921-8c41-08d9e16a934c
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 07:56:50.4623
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wbCFsGSvMbGrej2lRUCaJtsMOKavKwLo+rBS0WiuTscZc6IPoL4b+S85KX6unpd8AndzlMfJXyoqPeLbD3fwpQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5041

On 27.01.2022 00:30, Andrew Cooper wrote:
> On 20/01/2022 14:17, Jan Beulich wrote:
>> --- a/tools/misc/xen-cpuid.c
>> +++ b/tools/misc/xen-cpuid.c
>> @@ -195,6 +195,11 @@ static const char *const str_e21a[32] =3D
>>      [ 6] =3D "nscb",
>>  };
>> =20
>> +static const char *const str_7b1[32] =3D
>> +{
>> +    [ 0] =3D "ppin",
>> +};
>=20
> I hadn't realised what a mess we had with the prefixes.
>=20
> We have AMD_PPIN rendered as simply "ppin", while we also have
> AMD_{STIBP,SSBD} which are rendered with an amd- prefix.=C2=A0 This patch=
 is
> the first introduction of an INTEL_ prefixed feature.
>=20
> We should figure out a consistency rule and fix the logic, before adding
> more confusion.
>=20
> Given the AMD MSR_SPEC_CTRL series just posted, use of CPUID bits will
> often be symmetrical and it's awkward to have one or with a prefix and
> the other without.

IOW you suggest I add a kind-of-prereq patch to drop the prefixes?

>> --- a/xen/include/xen/lib/x86/cpuid.h
>> +++ b/xen/include/xen/lib/x86/cpuid.h
>> @@ -16,6 +16,7 @@
>>  #define FEATURESET_7d0    9 /* 0x00000007:0.edx    */
>>  #define FEATURESET_7a1   10 /* 0x00000007:1.eax    */
>>  #define FEATURESET_e21a  11 /* 0x80000021.eax      */
>> +#define FEATURESET_7b1   12 /* 0x00000007:1.ebx    */
>> =20
>>  struct cpuid_leaf
>>  {
>> @@ -188,6 +189,10 @@ struct cpuid_policy
>>                  uint32_t _7a1;
>>                  struct { DECL_BITFIELD(7a1); };
>>              };
>> +            union {
>> +                uint32_t _7b1;
>> +                struct { DECL_BITFIELD(7b1); };
>> +            };
>>          };
>>      } feat;
>> =20
>>
>=20
> Looking at a related patch I've got, at a minimum, you also need:
> * collect the leaf in generic_identify()

I'll need to make a patch first to collect 7a1, as it seems. It was
actually 7a1 that I used as a reference, iirc.

> * extend cpuid_policy_to_featureset() and cpuid_featureset_to_policy()

Yeah, I missed those. Presumably by looking for instances only under
arch/x86/. Especially with per-arch include/ now living under
arch/<arch>/, having separate x86 bits elsewhere is a little unhelpful.

> However I've got an idea to help us split "add new leaf" from "first bit
> in new leaf" which I'd like to experiment with first.=C2=A0 It is rather
> awkward having the two mostly-unrelated changes forced together in a
> single patch.

I'll make the necessary adjustments here anyway. I can always re-base
on top of what you may come up with.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 07:57:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 07:57:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261246.452147 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzea-0006dD-Bo; Thu, 27 Jan 2022 07:57:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261246.452147; Thu, 27 Jan 2022 07:57:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzea-0006cy-8f; Thu, 27 Jan 2022 07:57:12 +0000
Received: by outflank-mailman (input) for mailman id 261246;
 Thu, 27 Jan 2022 07:57:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=h4dm=SL=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1nCzYn-0000Xj-Qx
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 07:51:14 +0000
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur03on0602.outbound.protection.outlook.com
 [2a01:111:f400:fe0a::602])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e3f6d853-7f45-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 08:51:10 +0100 (CET)
Received: from DB8PR06CA0031.eurprd06.prod.outlook.com (2603:10a6:10:100::44)
 by PA4PR08MB6270.eurprd08.prod.outlook.com (2603:10a6:102:f3::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.8; Thu, 27 Jan
 2022 07:51:07 +0000
Received: from DB5EUR03FT045.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:100:cafe::1a) by DB8PR06CA0031.outlook.office365.com
 (2603:10a6:10:100::44) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17 via Frontend
 Transport; Thu, 27 Jan 2022 07:51:07 +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.4930.15 via Frontend Transport; Thu, 27 Jan 2022 07:51:07 +0000
Received: ("Tessian outbound 31aeb3346a45:v113");
 Thu, 27 Jan 2022 07:51:07 +0000
Received: from 128d14ed8f60.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 E1D87FAF-AB90-492D-BF3E-CC1231DCDE9F.1; 
 Thu, 27 Jan 2022 07:51:01 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 128d14ed8f60.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 27 Jan 2022 07:51:01 +0000
Received: from DB6PR0301CA0059.eurprd03.prod.outlook.com (2603:10a6:4:54::27)
 by VI1PR0802MB2222.eurprd08.prod.outlook.com (2603:10a6:800:9b::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.13; Thu, 27 Jan
 2022 07:50:59 +0000
Received: from DB5EUR03FT037.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:54:cafe::a1) by DB6PR0301CA0059.outlook.office365.com
 (2603:10a6:4:54::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17 via Frontend
 Transport; Thu, 27 Jan 2022 07:50:59 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT037.mail.protection.outlook.com (10.152.20.215) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4930.15 via Frontend Transport; Thu, 27 Jan 2022 07:50:59 +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.20; Thu, 27 Jan
 2022 07:50:45 +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.20; Thu, 27
 Jan 2022 07:50:44 +0000
Received: from penny.shanghai.arm.com (10.169.188.91) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.20 via Frontend
 Transport; Thu, 27 Jan 2022 07:50:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e3f6d853-7f45-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4yHBHWg0SsFunO7nPJhF8c2G7ELWbJA5oRhqIflaUA8=;
 b=d5P/qfrM/9H0c1aCeiyKnXDQLD/pMPtQh6bW+sCnHutFJxAlUvHA0Sr6zIu2dWM/E9C1zjyptQZrM4cUlMfXu/qzCuJT/ftV3P1ElTTJIaRYlG+2B2BWn+SHorAQsz/CTt3OWClQ2uIxCmM3CIrwyUkcMLivpS4qj5O7rC6aAtw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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: 39d3dce02635785d
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=h3sCeeX6iDBJI6JRgzm49UHKoypHB5xNFA5ArlfzerTNTbZGONzdjCjEbTe3kXju9T/7m8KUwn5dlpRYUgyIEDioR0QKQ2swJarc1FqXP7C7wyUekryhaGCzH89pymnTLdtqjw4dqw8cvOG4yeSfTgWibUXSuWCieqSbk3IU9uUncXUq1J+ll+4RInDlBzMKq75MGwz6D11gsNeUfs0kBvTluTFsdY16Bzva2izk8LtJuPJo4yu1GBOwe1abBG+SSnj7baS2rrOcrlufWFs8E30nx22Vdz4xtUGL+uweGnvYsOXePWIXklJXctN4tFJX61rH23xQ1bUiGE2miAw/sA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4yHBHWg0SsFunO7nPJhF8c2G7ELWbJA5oRhqIflaUA8=;
 b=O9L7xqK44URBEBrI7W0Qde/MUSjgpziODkLAg//bEwR7V1OtUt+SMsX7a+HQPa/bgh5y/FHNBA7A+2QxVmAeXLDP+wnyjXr58ngc1ZJYXdaHCtWOmZ/mDtEOmz9e5WOZew7mJtS+mhAkmRoM5D23tF4O/Ut0vZmijQHncAnHkN3gdcyJ/b+M3HmaiTDLdflyqbzCp49kAcaSAxKujazbNQQc2aztkoAvJ96t2oc/8B5ipY2EVK8UMbMxIWDhba8GgaP0k9SSA8HZNdDy4VtsY4pC8AjDUET5ycweI8Nnze5NeEwWEeDmUQuwq5fvZfGGNYEd5OIcyNWrMXZRulHHWA==
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=4yHBHWg0SsFunO7nPJhF8c2G7ELWbJA5oRhqIflaUA8=;
 b=d5P/qfrM/9H0c1aCeiyKnXDQLD/pMPtQh6bW+sCnHutFJxAlUvHA0Sr6zIu2dWM/E9C1zjyptQZrM4cUlMfXu/qzCuJT/ftV3P1ElTTJIaRYlG+2B2BWn+SHorAQsz/CTt3OWClQ2uIxCmM3CIrwyUkcMLivpS4qj5O7rC6aAtw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Penny Zheng <penny.zheng@arm.com>
To: <xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
	<julien@xen.org>
CC: <Bertrand.Marquis@arm.com>, <Wei.Chen@arm.com>
Subject: [PATCH v5 09/11] xen/arm: if direct-map domain use native addresses for GICv3
Date: Thu, 27 Jan 2022 07:49:27 +0000
Message-ID: <20220127074929.502885-10-penny.zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220127074929.502885-1-penny.zheng@arm.com>
References: <20220127074929.502885-1-penny.zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-Office365-Filtering-Correlation-Id: efed1adb-c521-4815-ef8f-08d9e169c718
X-MS-TrafficTypeDiagnostic:
	VI1PR0802MB2222:EE_|DB5EUR03FT045:EE_|PA4PR08MB6270:EE_
X-Microsoft-Antispam-PRVS:
	<PA4PR08MB627061297A94B90654AC3A40F7219@PA4PR08MB6270.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:
 UHSm05SWqe5cZnsxOYaicIDqe7MbFoVXxlJMaDxOtW2CGj8ZVv7oT5WsjJgKKKAZbLTb1a4MOKOchBJtQXXpHjSxZnqKt+tMpo0Q+0Gu6nlAoARIxwm1nLwnekXbqlQdWKmqkSYjUw7IHmNfmdStgffWuMa0at3ur557V9W6Tk3s/928PvAG5ttz5kxkJQn03gnPm+HWoKnUXWYN6IWv9dkZbzDFCIAhhEbQ6Xmhp8AFYc8Zvwny0REdIw5MI6fZQ+6DXWfNbv1gzVksAuvJhg0eP/cYqqAKOQ37FCcRzPdsq1E6vVvvw9KZRch5eIj0XxXJmsPd1vAsLeUsFTT+uAEjY4DOFNM/IiQZ72//zTpJLQFMWhuKOmv4Gx3SB/xc9Aic9WAEKNXvKVb6pbD+AydvPJtfl48qUP7Ory3fHAjVoXzWwTuohYRZQB5kDXoiYu0bZG2W2qKi6kNCCSEJy722PFBQozbl4MjgbggkAC2XqjkoCmG/UPFMeJnDUnfR8PyyrivNJOuTjgPP3t+vF42A+W5T17HDA6OWfky3DLKMseyVMSVK213TqIbF0f0mh4IWWFR/LdZlxD4sb0D+XK3vbfbQVw9V65PpGn8pH1zXfc6B/cGBNUDQVQz10YuirMqWgmagFlvbv+UIvx0YHW7fGWW5BGmqLUOc0g9/7QDzPhGo8LnrRgpLkBjBFbsAACnGAeDbWH6botCS36AKsnEWzdWRZ6xT2NYQBp33WAP9xMzuAY7umVzsCH+d2sg/gDWyvRMr7L/zZeY6BWugeUsI2ZnJLwDuJATJGPsuoqQ=
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)(40470700004)(36840700001)(5660300002)(70206006)(110136005)(336012)(47076005)(26005)(2906002)(36860700001)(356005)(8676002)(8936002)(186003)(44832011)(54906003)(316002)(70586007)(81166007)(82310400004)(86362001)(1076003)(6666004)(83380400001)(508600001)(426003)(7696005)(36756003)(2616005)(4326008)(40460700003)(36900700001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0802MB2222
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT045.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	d8d1dfc7-06d6-469d-64da-08d9e169c215
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LiusU4IMJP+U82I2H6B9Gz7naw78BbZem8nVuLktRFMH7Izd/lU+Tbx0HiEsobwwjMpivPUBBKJvWBVBfEjwWBS7ZrSQg4B+ht5IZhej+WfHR9wjciVHp6YoVyhDwKO2C4439w4tmLr4o/9n1WyUpjTuyYfhplcII0MlFdNfHnp0x8uaLHcva5CpBCwgph4niiUwDVWn3TVrCj9S2ZL3TdOwbID22ZOygc+b7x1wu9jnFGt6K/BasI7pwHI15YW1M7w22dndCqBhCNxw7EuONrYrjlhJEnl8vM07hBG3gLjt7VvnWhPWTkD5CB4Gxh2owsGZNfP3m2gvri8XsF2wYq7U3S8EXDnRdIyiTCEsxQX0+D10/OCpsj2lIYJPYiYG2UeyvbgRZoyf8zS+4uozWiP4MVSMRbsHqjr5IJgGzYXTynD6p5FfMnDqLVe1UV/mbPdNR4GpjX/iPeppLOAeFy7RrUMbjISOmtpDQTvTBF1cV52CSc4ov8l9RJljDqz9/orOAQnpVo3UG1ACKv393qOTBfR/N7lpD14Zf+RcRQTQ3V7wZMFTzoUrPhkNcEp5lmViXqmAo6VgegOU+NuMveR9FbmGz7PtkbpL0h3sM6UVwpWMdOfDvxI0YxTWpQOKbsxPtzOII0opigmSle1lgzA+d9o+7C1hESTsQgKi0WLaSKpqy2dgO89zyTor94Oc699lsi7SPEESpTwTYX4l6ehuAutxSlBALDM6d2TOzSMeSntmXpbyHKvBitIKgOue4Y7IxFbDY13yeQOLUBC5hQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(40470700004)(81166007)(44832011)(70586007)(36756003)(70206006)(2616005)(40460700003)(8936002)(4326008)(83380400001)(186003)(5660300002)(426003)(82310400004)(26005)(1076003)(336012)(8676002)(316002)(6666004)(110136005)(86362001)(54906003)(508600001)(7696005)(47076005)(2906002)(36860700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 07:51:07.7595
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: efed1adb-c521-4815-ef8f-08d9e169c718
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: PA4PR08MB6270

From: Stefano Stabellini <sstabellini@kernel.org>

Today we use native addresses to map the GICv3 for Dom0 and fixed
addresses for DomUs.

This patch changes the behavior so that native addresses are used for
all domain which is using the host memory layout

Considering that DOM0 may not always be directly mapped in the future,
this patch introduces a new helper "domain_use_host_layout()" that
wraps both two check "is_domain_direct_mapped(d) || is_hardware_domain(d)"
for more flexible usage.

Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Tested-by: Stefano Stabellini <sstabellini@kernel.org>
---
v2 changes:
- remove redistributor accessor
- introduce new helper "is_domain_use_host_layout()"
- comment fix
---
v3 changes:
- the comment on top of 'buf' to explain how 38 was found
- fix res getting overwritten
- drop 'cells += (GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS)'
- free 'reg' right way
- fix comment
- rename 'is_domain_use_host_layout()' to 'domain_use_host_layout()'
---
v4 changes:
- refine comment
---
v5 changes:
- nothing changed
---
 xen/arch/arm/domain_build.c       | 34 +++++++++++++++++++++++--------
 xen/arch/arm/include/asm/domain.h | 14 +++++++++++++
 xen/arch/arm/vgic-v3.c            | 26 ++++++++++++-----------
 3 files changed, 54 insertions(+), 20 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index a01dc60b55..cff2cb93cc 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2327,10 +2327,16 @@ static int __init make_gicv3_domU_node(struct kernel_info *kinfo)
 {
     void *fdt = kinfo->fdt;
     int res = 0;
-    __be32 reg[(GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS) * 2];
-    __be32 *cells;
+    __be32 *reg, *cells;
+    const struct domain *d = kinfo->d;
+    /* Placeholder for interrupt-controller@ + a 64-bit number + \0 */
+    char buf[38];
+    unsigned int i, len = 0;
+
+    snprintf(buf, sizeof(buf), "interrupt-controller@%"PRIx64,
+             vgic_dist_base(&d->arch.vgic));
 
-    res = fdt_begin_node(fdt, "interrupt-controller@"__stringify(GUEST_GICV3_GICD_BASE));
+    res = fdt_begin_node(fdt, buf);
     if ( res )
         return res;
 
@@ -2350,13 +2356,25 @@ static int __init make_gicv3_domU_node(struct kernel_info *kinfo)
     if ( res )
         return res;
 
-    cells = &reg[0];
-    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
-                       GUEST_GICV3_GICD_BASE, GUEST_GICV3_GICD_SIZE);
+    /* reg specifies all re-distributors and Distributor. */
+    len = (GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS) *
+          (d->arch.vgic.nr_regions + 1) * sizeof(__be32);
+    reg = xmalloc_bytes(len);
+    if ( reg == NULL )
+        return -ENOMEM;
+    cells = reg;
+
     dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
-                       GUEST_GICV3_GICR0_BASE, GUEST_GICV3_GICR0_SIZE);
+                       vgic_dist_base(&d->arch.vgic), GUEST_GICV3_GICD_SIZE);
 
-    res = fdt_property(fdt, "reg", reg, sizeof(reg));
+    for ( i = 0; i < d->arch.vgic.nr_regions; i++ )
+        dt_child_set_range(&cells,
+                           GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
+                           d->arch.vgic.rdist_regions[i].base,
+                           d->arch.vgic.rdist_regions[i].size);
+
+    res = fdt_property(fdt, "reg", reg, len);
+    xfree(reg);
     if (res)
         return res;
 
diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
index cb37ce89ec..848fec8a0f 100644
--- a/xen/arch/arm/include/asm/domain.h
+++ b/xen/arch/arm/include/asm/domain.h
@@ -31,6 +31,20 @@ enum domain_type {
 
 #define is_domain_direct_mapped(d) (d->arch.directmap)
 
+/*
+ * Is the domain using the host memory layout?
+ *
+ * Direct-mapped domain will always have the RAM mapped with GFN == MFN.
+ * To avoid any trouble finding space, it is easier to force using the
+ * host memory layout.
+ *
+ * The hardware domain will use the host layout regardless of
+ * direct-mapped because some OS may rely on a specific address ranges
+ * for the devices.
+ */
+#define domain_use_host_layout(d) (is_domain_direct_mapped(d) || \
+                                   is_hardware_domain(d))
+
 struct vtimer {
     struct vcpu *v;
     int irq;
diff --git a/xen/arch/arm/vgic-v3.c b/xen/arch/arm/vgic-v3.c
index 65bb7991a6..144089a7b6 100644
--- a/xen/arch/arm/vgic-v3.c
+++ b/xen/arch/arm/vgic-v3.c
@@ -1640,14 +1640,15 @@ static inline unsigned int vgic_v3_max_rdist_count(struct domain *d)
      * Normally there is only one GICv3 redistributor region.
      * The GICv3 DT binding provisions for multiple regions, since there are
      * platforms out there which need those (multi-socket systems).
-     * For Dom0 we have to live with the MMIO layout the hardware provides,
-     * so we have to copy the multiple regions - as the first region may not
-     * provide enough space to hold all redistributors we need.
+     * For domain using the host memory layout, we have to live with the MMIO
+     * layout the hardware provides, so we have to copy the multiple regions
+     * - as the first region may not provide enough space to hold all
+     * redistributors we need.
      * However DomU get a constructed memory map, so we can go with
      * the architected single redistributor region.
      */
-    return is_hardware_domain(d) ? vgic_v3_hw.nr_rdist_regions :
-               GUEST_GICV3_RDIST_REGIONS;
+    return domain_use_host_layout(d) ? vgic_v3_hw.nr_rdist_regions :
+                                       GUEST_GICV3_RDIST_REGIONS;
 }
 
 static int vgic_v3_domain_init(struct domain *d)
@@ -1669,10 +1670,11 @@ static int vgic_v3_domain_init(struct domain *d)
     radix_tree_init(&d->arch.vgic.pend_lpi_tree);
 
     /*
-     * Domain 0 gets the hardware address.
-     * Guests get the virtual platform layout.
+     * For domain using the host memory layout, it gets the hardware
+     * address.
+     * Other domains get the virtual platform layout.
      */
-    if ( is_hardware_domain(d) )
+    if ( domain_use_host_layout(d) )
     {
         unsigned int first_cpu = 0;
 
@@ -1695,10 +1697,10 @@ static int vgic_v3_domain_init(struct domain *d)
         }
 
         /*
-         * The hardware domain may not use all the re-distributors
-         * regions (e.g when the number of vCPUs does not match the
-         * number of pCPUs). Update the number of regions to avoid
-         * exposing unused region as they will not get emulated.
+         * For domain using the host memory layout, it may not use all
+         * the re-distributors regions (e.g when the number of vCPUs does
+         * not match the number of pCPUs). Update the number of regions to
+         * avoid exposing unused region as they will not get emulated.
          */
         d->arch.vgic.nr_regions = i + 1;
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 07:57:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 07:57:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261254.452158 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzei-00074q-LY; Thu, 27 Jan 2022 07:57:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261254.452158; Thu, 27 Jan 2022 07:57:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzei-00074g-HF; Thu, 27 Jan 2022 07:57:20 +0000
Received: by outflank-mailman (input) for mailman id 261254;
 Thu, 27 Jan 2022 07:57:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=h4dm=SL=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1nCzYm-0000Xj-PX
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 07:51:13 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0622.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::622])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e37e206e-7f45-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 08:51:09 +0100 (CET)
Received: from DU2PR04CA0215.eurprd04.prod.outlook.com (2603:10a6:10:2b1::10)
 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.4930.15; Thu, 27 Jan
 2022 07:51:04 +0000
Received: from DB5EUR03FT024.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:2b1:cafe::da) by DU2PR04CA0215.outlook.office365.com
 (2603:10a6:10:2b1::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17 via Frontend
 Transport; Thu, 27 Jan 2022 07:51:04 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT024.mail.protection.outlook.com (10.152.20.67) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4930.15 via Frontend Transport; Thu, 27 Jan 2022 07:51:04 +0000
Received: ("Tessian outbound 741ca6c82739:v113");
 Thu, 27 Jan 2022 07:51:04 +0000
Received: from 76afdeb32a0b.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 7A15F6C0-0970-4E25-AE5E-8A0214808630.1; 
 Thu, 27 Jan 2022 07:50:58 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 76afdeb32a0b.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 27 Jan 2022 07:50:58 +0000
Received: from DB6PR0301CA0050.eurprd03.prod.outlook.com (2603:10a6:4:54::18)
 by AM0PR08MB3954.eurprd08.prod.outlook.com (2603:10a6:208:130::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Thu, 27 Jan
 2022 07:50:56 +0000
Received: from DB5EUR03FT037.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:54:cafe::2d) by DB6PR0301CA0050.outlook.office365.com
 (2603:10a6:4:54::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17 via Frontend
 Transport; Thu, 27 Jan 2022 07:50:55 +0000
Received: from nebula.arm.com (40.67.248.234) by
 DB5EUR03FT037.mail.protection.outlook.com (10.152.20.215) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4930.15 via Frontend Transport; Thu, 27 Jan 2022 07:50:55 +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.20; Thu, 27 Jan
 2022 07:50:49 +0000
Received: from penny.shanghai.arm.com (10.169.188.91) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.20 via Frontend
 Transport; Thu, 27 Jan 2022 07:50:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e37e206e-7f45-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fcniZhKAF+YlzkF8r4ObH2CSPPalx5peyg6qh95+h3o=;
 b=nqFHC9vBUa77Q7UdBVvDxOdQWJQWYZ1OmpOFVywIGQM+Eqvui3KLRBMOMBl/PXIMTvLRJfHYAkUhhsQqzd8UUYddLde4r6lECP0NqW0oK+y+7pV8VlPyXfkG+vwZXByCKE3k959hcka0a3T9rKfdx8DsCRjtDW9BuS/HdD/KrF0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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: 2778a4c416ac9ed8
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EcOegVREa0pntX0NOkJU1LFEOGYnli6lJ9SkL0Q8LtHNDQrkeBZ+c2cBllZTgSLbFZI3ndqR2ZgvoGL686Oyi0xxx0vvIDaUJSYhzD81cbuBWVGE8Clc5mXJakY0POYDAEE0nbuTafQzsm/ygMh/FzE7Rk4RyaeYBVTQqa+qkLJwEIlNn0XjTj8u0CC5Irl33dp7hmQ1VKX84kvA1ztL9pO5wcfg21KZb5ipSNYyQuchbHB/HO6G4+AxluWSOlYv8dnLc30qzbVAJkXZLVm6SYw3B8VjCEK19aTEHxJwM5myfkpd/QzFaP+uXGe84j9Zb/MG8seKT/eeEvKiIjv8Pg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fcniZhKAF+YlzkF8r4ObH2CSPPalx5peyg6qh95+h3o=;
 b=Yz2JMyW4zY9JOG4QqpdM9nVgb75Ev+AxzoNrFgE4mmG6lrpdIvAGg0McsYevT0PKiYyJqf884GOXbyWNuWjY9F0rZ/kNmFBh/zwUvw1oniWdLkCQiOy0Mx/e3NUeLuGrT3eGDlSIsoKcMcOr9nhNluv+KBojguLNXFcRW3e8pk7CNmz8NSkC+0iBhmjuzWwUcr/6XEk+rm1hs9jp3kzz9pUhNKgZI8K9XKSnSsy5dHEhFJlFzyfwoeA1odhoErJ6wafyLHmaUGqAdLY2t74XZkf5DK8IbNfuQDgdJ0xhPz5eSfx3P6oY7aXMXPcqlVvVGYyO9wIraZ/My3k4MkNEQA==
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=fcniZhKAF+YlzkF8r4ObH2CSPPalx5peyg6qh95+h3o=;
 b=nqFHC9vBUa77Q7UdBVvDxOdQWJQWYZ1OmpOFVywIGQM+Eqvui3KLRBMOMBl/PXIMTvLRJfHYAkUhhsQqzd8UUYddLde4r6lECP0NqW0oK+y+7pV8VlPyXfkG+vwZXByCKE3k959hcka0a3T9rKfdx8DsCRjtDW9BuS/HdD/KrF0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
From: Penny Zheng <penny.zheng@arm.com>
To: <xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
	<julien@xen.org>
CC: <Bertrand.Marquis@arm.com>, <Wei.Chen@arm.com>
Subject: [PATCH v5 11/11] xen/docs: Document how to do passthrough without IOMMU
Date: Thu, 27 Jan 2022 07:49:29 +0000
Message-ID: <20220127074929.502885-12-penny.zheng@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220127074929.502885-1-penny.zheng@arm.com>
References: <20220127074929.502885-1-penny.zheng@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-Office365-Filtering-Correlation-Id: c50995f4-530e-4289-e9b6-08d9e169c52e
X-MS-TrafficTypeDiagnostic:
	AM0PR08MB3954:EE_|DB5EUR03FT024:EE_|AM0PR08MB3057:EE_
X-Microsoft-Antispam-PRVS:
	<AM0PR08MB3057C7FFDC8596F6656A7BB4F7219@AM0PR08MB3057.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Oob-TLC-OOBClassifiers: OLM:1751;OLM:1751;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 exw++onWsfnf+UHypgGwng7/bYZn6bdN+YZiuQu30BYb6Rtd+c0A1se/Z31pDe8lfG/WOoU1YY1fyGkIkkWuzycLICjKBx03S9xuNxRSHYUQcBzDflVRN3JK3jLIz6+MLZmWviAPUkSk1gyRFRtNj8v3iu4z9obIR42gYphsdab4doBabvEZf8WxTGRYCk5D9+JTiPZOR46srYola/DW9RlpuDzNzgcafRskiZMuW6QHqNyTFu/iVEDHFyX6lb9WzmLoovwWA4TS9xsuki2JtzaR+cnZPdbiltWsg4/mu2ThnpswQRz+JBig5uvYsVwElzv5+qKoMcIUH/Zo+4+4TwOhsKvQHDjpIGBXTzHL3UIQXy2aBS3hzKtFr+NIGbgG6aTQaEqZ6BkCHtkiCgbhj128Em2bOQLOJYhdOW6Tq4OSABueZrgHI56MPclXGfVvDj4JA0ZBhWtanlkxyTVAGoTjbzfA8YWPqTNy9Gggkz2S5k4Mrc7XY82wXqVFH+2mVn5+4Lg2/962xFRuOQja3GcUc3im1dtxPVt3UMCLySzWam5RkecjL8Jhqal+kiSu0TDTunl1T923y1o559I3rqw3cOmiteaHQMSBdjCAC3sMM/a/G7DplLqidbC+bY5Hw5pI7wxFjo+emHskZ7BWGSbJzLT755rOrv83DthlZ2Arr4iIWAtRB37PoNGQHLUO2Zs9lJ+UCuvjchSYdAZSQA==
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:(13230001)(4636009)(46966006)(36840700001)(40470700004)(70586007)(70206006)(4326008)(8676002)(81166007)(82310400004)(8936002)(426003)(5660300002)(336012)(356005)(83380400001)(2906002)(7696005)(40460700003)(6666004)(2616005)(110136005)(36756003)(54906003)(86362001)(1076003)(186003)(26005)(44832011)(36860700001)(508600001)(316002)(47076005)(36900700001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3954
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT024.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	dc20f1f8-7c4a-4faa-22df-08d9e169c004
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	SHK0EllLIpTGYsOG6CxGDsIpicmEt+LIQKgy8hfKpyoMkVW+bXoQkYhMteoeJjam0iQrzDzCj4Payqd4g8EUm+9jYRTpRGP1UiEb9RLd0nIGH5/HMVjpwZyHlzbuYiWE/RXkATeOdijBhthbA8LC4WBTLXow4+qRmIyvRF5r68zgnOjORZDsCbeoGY6HG9e5JLIJOha4//ttbPwrDPWChiursw9r9oaIt4j4KYY/TNoJW4A2TflC+BAKyRNIviU97LAx7+QPqQOupHhXuzbrLR+J1Ekyu2FBhr3KjPL5XsryIX65utaGO8ge4WlDUVcx6BT+CMuNnwdpETyDeIiu+kIJoui8ZMD5Wv7GVmSi+GJhM8aIyum3a3SS3erFKoH+slbM2RR8Na8xqEmYVhrVufs1M7T/rpEe2juUkeOP7Pao0CyVRAb7AO2c4ayWhw58VsqeCvX68Ru5afIraB9dTW0+D6YePTVES2lNYx5ISAqenUcXZlGV43AGU40k0MqWzYTLojqTD4S9v3AS9wA4tTzMhPQeU2caMHlkuhHVhFA76iSpmWf9kMfdT0N8cyFQIXRwwgnmDi6dav+ReNI+gMJkFFOvmUZW7eEi0LAu+8wVyzKdGVHtoSCWBk95qU7PGzs0MzZ6tD9mytFIyvM7Bt1McXzwghoek2p09CrGWptNZkkIqKgDp6gxpxzSMJST
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230001)(4636009)(40470700004)(46966006)(36840700001)(2906002)(36860700001)(5660300002)(2616005)(70206006)(70586007)(508600001)(6666004)(81166007)(36756003)(44832011)(7696005)(83380400001)(26005)(82310400004)(316002)(40460700003)(54906003)(110136005)(336012)(4326008)(8676002)(8936002)(47076005)(1076003)(186003)(426003)(86362001)(20210929001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 07:51:04.5481
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c50995f4-530e-4289-e9b6-08d9e169c52e
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT024.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3057

From: Stefano Stabellini <sstabellini@kernel.org>

This commit creates a new doc to document how to do passthrough without IOMMU.

Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Tested-by: Stefano Stabellini <sstabellini@kernel.org>
---
v2 changes:
- nothing changed
---
v3 changes:
- nothing changed
---
v4 changes:
- nothing changed
---
v5 changes:
- nothing changed
---
 docs/misc/arm/passthrough-noiommu.txt | 52 +++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)
 create mode 100644 docs/misc/arm/passthrough-noiommu.txt

diff --git a/docs/misc/arm/passthrough-noiommu.txt b/docs/misc/arm/passthrough-noiommu.txt
new file mode 100644
index 0000000000..3e2ef21ad7
--- /dev/null
+++ b/docs/misc/arm/passthrough-noiommu.txt
@@ -0,0 +1,52 @@
+Request Device Assignment without IOMMU support
+===============================================
+
+*WARNING:
+Users should be aware that it is not always secure to assign a device without
+IOMMU protection.
+When the device is not protected by the IOMMU, the administrator should make
+sure that:
+ 1. The device is assigned to a trusted guest.
+ 2. Users have additional security mechanism on the platform.
+
+This document assumes that the IOMMU is absent from the system or it is
+disabled (status = "disabled" in device tree).
+
+Add xen,force-assign-without-iommu; to the device tree snippet:
+
+ethernet: ethernet@ff0e0000 {
+	compatible = "cdns,zynqmp-gem";
+	xen,path = "/amba/ethernet@ff0e0000";
+	xen,reg = <0x0 0xff0e0000 0x1000 0x0 0xff0e0000>;
+	xen,force-assign-without-iommu;
+};
+
+Request 1:1 memory mapping for the domain on static allocation
+==============================================================
+
+Add a direct-map property under the appropriate /chosen/domU node which
+is also statically allocated with physical memory ranges through
+xen,static-mem property as its guest RAM.
+
+Below is an example on how to specify the 1:1 memory mapping for the domain
+on static allocation in the device-tree:
+
+/ {
+	chosen {
+		domU1 {
+			compatible = "xen,domain";
+			#address-cells = <0x2>;
+			#size-cells = <0x2>;
+			cpus = <2>;
+			memory = <0x0 0x80000>;
+			#xen,static-mem-address-cells = <0x1>;
+			#xen,static-mem-size-cells = <0x1>;
+			xen,static-mem = <0x30000000 0x20000000>;
+			direct-map;
+			...
+		};
+	};
+};
+
+Besides reserving a 512MB region starting at the host physical address
+0x30000000 to DomU1, it also requests 1:1 memory mapping.
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 08:03:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 08:03:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261271.452168 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzkB-000145-Jr; Thu, 27 Jan 2022 08:02:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261271.452168; Thu, 27 Jan 2022 08:02:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzkB-00013y-Gx; Thu, 27 Jan 2022 08:02:59 +0000
Received: by outflank-mailman (input) for mailman id 261271;
 Thu, 27 Jan 2022 08:02:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nCzkA-00013s-02
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 08:02:58 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 898b2a06-7f47-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 09:02:57 +0100 (CET)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01lp2058.outbound.protection.outlook.com [104.47.1.58]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-19-cTbLLlDtPzKTabDBf-x45w-1; Thu, 27 Jan 2022 09:02:55 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DB7PR04MB4828.eurprd04.prod.outlook.com (2603:10a6:10:23::24) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 08:02:54 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 08: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>
X-Inumbo-ID: 898b2a06-7f47-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643270576;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=CKBc0hp/O/gCiopinaeq1+Ljj7nAvrdrFtuGvr5/vlw=;
	b=hxet2lgj+m0KtXiiqI6Kc5+rq9sSyIEOqLVpuetowt1N9VP6+QoZzSnyboKlTdgxC4YGo+
	WQi9SMoxsBEq6F+Qu/XypLFKMj91mJGJAwSYqK/MZywlBHLY+FDuU0nODMwzXUO1UEAzar
	lWZCujr/uf3Gzh/u0T84xw60IA9A+HM=
X-MC-Unique: cTbLLlDtPzKTabDBf-x45w-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Qy1NM/B3XXJmAyLu1uNbKGvCTnSq5LTeXlnIL78hjAi1hHoNa6i4cgNCGrkBHvqo67Qwaa6dBnKndSgZtbbBRUBI1KB1q1yh+vR+c8rcciHeFzrjbTEJl+GObuShMHFPF3GTRcJu7yNbmUVy3UqLRSk7+d3Iaq8Gzmd09r2FtIzDUEoaAV29VpYrDQdVmBCg3LjWksSbtWo/2qp78ZjAHNWYUqy/PWZIk6vPzsPOcqk6RZ9je17K6IP2B1YzZCWyiQzcirozSXjyRZSQB8i+VzzXu20M3zIYjDThO0OtbcuWTQ0TebMRo7UfoAr5tvieAVWgX9F02zxoGpbS80SkKQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CKBc0hp/O/gCiopinaeq1+Ljj7nAvrdrFtuGvr5/vlw=;
 b=c+gCeowK5RmVLT4tRc55Zs2A2+IpVNgGSE3m+pwng8IGZn8u/1pinm23RkJjtbaEyonhrDsEjLvXWoZMgRmG3cvERfPPSQoMFxQbjcpbKgnoJmM9+8JFx9/NjXw0eUOoNuNiTRfHY8YQcWyedFOy/Yko94piAHZpc1SCsNqgvpr3kYMXlNH3LsBUtkPel4HKElryN8qEb61UhIYX3DRRsbros5X6bQokJfF2BxY+ABKmT+Dso74zmnnsq7FKRzcFeSF//MPskxu9j8M952ZkyLtDJ1tfxeBEm3A04jXxIxrxH5Wr/2N9AGr5OneZY9qSb7OEKUYohIac+F8i1pZeQw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <fef7e175-ea16-b2e7-37d2-67594e98b1b8@suse.com>
Date: Thu, 27 Jan 2022 09:02:53 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v3] public: add XEN_RING_NR_UNCONSUMED_*() macros to
 ring.h
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Roger Pau Monne <roger.pau@citrix.com>,
 Manuel Bouyer <bouyer@antioche.eu.org>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>, Paul Durrant <paul@xen.org>,
 xen-devel@lists.xenproject.org
References: <20220127063004.7937-1-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220127063004.7937-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR0502CA0052.eurprd05.prod.outlook.com
 (2603:10a6:20b:56::29) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a84f3235-0b11-424f-b5a2-08d9e16b6c1d
X-MS-TrafficTypeDiagnostic: DB7PR04MB4828:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-Microsoft-Antispam-PRVS:
	<DB7PR04MB482823CC61080CDE9AB5020FB3219@DB7PR04MB4828.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:2512;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Voq9C9lPnuGhEVHYd1JFnRgLjs0U5nw2lGyBE2r7eIOQv32u1CbYj0Q4D6LX2A9+mCQzqHb41HTDQQSHyMjopyNxND/4tjsapb0TxVnYZs92jbqdNGxcfr2pSWQKOYJmIYvEi8WkGTfQkRQ575gpXnj8d+hao/Tjoku2YiTJLKIaQ8jdqQfpz/ehvdNbSMDfTzaDSefYwSTwSFN9XQoSE00VBaI+AHVsjVdK4sTZXGUb6TMvj+jzho+XJdwxzqk48srHiacRLIsNNzjVyk5qZU+NEc9DOxLmPjkMBZ9HVQM75PBOEVppwd+JDzx/y+nZ5SBdWtmdH0i9Kea8v/h0nGFJyz/wjUnkGgnEIyu5hWrGs9c6XQf/q9tkSk9hjyI1CZ/5h96e1V/xypMdSWFFbEFSNtQ5YGvBDhaWFv3HL2VsEMrCXRldBuxJEufXDmwompweIIOSCqO2n7MqBTQ1xtuI4pnbc9G/tLFaMWXEd18m9bpidcuNZn5OOsnxg2VcO6Ifr8n5kpUIPo+eDuebyFN2bCgCU5iA8TxNlmo5flcONYHmXvq0ww8+pr0bX9VVJlcz8IDYSqySfYPpVEgOnyz47SYMTO3EUr3dsXR0cYYVNHkiTHY6aIbbGod6LiQXsneNXhTuox/bsL5JvVjqFZXbBl9/HOM1r+H/NpxfBHvmDS43RCiKFRMFC7dsEpCAY8kCJl822u4sbN5+3Dsi6/inMRn1YXfvFk3tlhXsqN0zFJdHSl2vbjVhCCU2X+DY
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:(13230001)(366004)(53546011)(186003)(26005)(316002)(6506007)(4326008)(8676002)(2906002)(8936002)(66476007)(66946007)(2616005)(6862004)(66556008)(83380400001)(38100700002)(6486002)(31686004)(5660300002)(6636002)(6512007)(37006003)(54906003)(86362001)(508600001)(31696002)(36756003)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b1A3UFZ0NFB4aG5DRmpYditMbzh3Q1NDcEcwSWhuL2tucDAraUFxL3cwbmtz?=
 =?utf-8?B?dk9vZmEyMU9aMnJiYjdPMTRqVmQ5ZEdnaUFvQU9udDdHNTduM3YvUmhBQk1i?=
 =?utf-8?B?Y1lZQ3Njb2FnTW5hUm5FVnVDYm1vcUM2U1RhczRFWS9uRXVQTGFvMFdWS3R0?=
 =?utf-8?B?ME9UTDBBdjJNb1JXazc1bko2Rk9sYjNpVzc0UFVGdURRVGxJU0FqUlZ1b2Zt?=
 =?utf-8?B?WGxSRVhwWG0zanhQRDBpRnVTc0x1Z2FGU1A3QnE3Z2R5eFk3TEdXTkI0NXZi?=
 =?utf-8?B?cWlPbDlYSG5NbC96bkxTUG9lbTRqZ3pHejlqSlRORzZ5UUdCOG1ybGNwM1N1?=
 =?utf-8?B?WEQxVDFuemo4YjBEdFJRZGg3ZUpKMjBmcFQ0UnhLQko2aHl0cWdMTzl6NGxu?=
 =?utf-8?B?RVJEdkxTWER3MUxCS0xjbURqUWUxVVV3SW1qQkJHbVhvaDdYR3p2bXJYcUM1?=
 =?utf-8?B?UjZRZktaanYxdmZhbDhiSWMydzJQTnhKYXd3Um5XZ2tPcTErSFk1ZTFSVmRw?=
 =?utf-8?B?MWhMdElwSVdzMWxmMnRLczd5QnNUNU95NFZ6R1lmaDFoTklua25nR2pxT1Z4?=
 =?utf-8?B?UXVtZmxXTEVlUkxmbVp3dGFXWlMxUnc4MDdBZUd0b2EzTDl1NG1Fb0trbzVv?=
 =?utf-8?B?dy9KNi9ZTUk5a21BTE1mRE1yeXB2M3o1emNsSmZWemkrTVg0QmpTUy9FbGZB?=
 =?utf-8?B?L0UwRGgwWEdHODZzN25FN0lDUytFNjJtV0h5Z3Y0NzVCNEVCd1N6U1AraHRO?=
 =?utf-8?B?djZoU2FtaENNSkJKbURjODMwYmVuVWFUWjRGL21WUERZUlhuYVRlek1mSW41?=
 =?utf-8?B?UU5VbjZ1Q1dGWkdXbzBIdXc1R1NrR3pKTzRwWE9xMWkwYkhpNFpkZEp4bkxt?=
 =?utf-8?B?aDdaMXlwdWthN3Y5c0FvTDlVSVhUazNBbnlqU21SN0ZrZE1DSStxRVRIemZs?=
 =?utf-8?B?dHpQVC96QjJ5WXB1cXcwUlJLSStxWTBVR3p6cXAvZUFmQkVaSzJicFVUdXgw?=
 =?utf-8?B?Z3puM3A5SVJkK1NLNGlLM1o4Qm5vbnN0cU8zVi9PbXFVSFR1Z2VCMGt1NXp0?=
 =?utf-8?B?OUhUdlhmWnpFQWJUeXFsYUMrMUdJU3AxOGlhMHdxYy9jNHhDNmxZcE5EemRS?=
 =?utf-8?B?ZlFCRHh4bVBSVTBrUFA5UjNPUWhpR09nOGtFQmpyZUZZWEk1Rzl2YWxIZTc3?=
 =?utf-8?B?U21sTW9aa0c0VTJlSzdocUIwSTh6QldHVnBUNFJFaVNsRkdFZUhvNGdGa3RM?=
 =?utf-8?B?SjFCTUtlRmYzUlRnL1BsTFBPL2pGQmNVSUlVZXlrRzA1bHpETENFWmJGdVJP?=
 =?utf-8?B?eEdpVm51ZzR4NHJ2NEZGQ3Q4Y1MxREFsc0Z0dk5tdEQ4MWJqNmplN1NrMXBs?=
 =?utf-8?B?RFh2dTNtNlYxOUxidG5KbWRUV1d0enpHVm9kUTc4ZHRwYWN3VlJ6bzRJR2gv?=
 =?utf-8?B?TkhlTDQ5bjI5a2FPTjFwbkQ3aEFtK0pOUEN5MFdhMjY2TGZ2K3NaZWxSRmZW?=
 =?utf-8?B?TjhOOThiQlpra2kxUG9jSmhQaVlCV3FlejNseDM0eHAyYjk4SGxwN3dSdSs3?=
 =?utf-8?B?WUFWWHZqVW5oeHl1UjZLanlNNThzMDRSNTFhRnpzYjU4V0dCN3NPZS9LeWpB?=
 =?utf-8?B?NFVvNHI1VzBZNUJEWnNrVDJ5Q0M3TkNPSDMySCtydEp2eUMzaWdYRVMyQ09O?=
 =?utf-8?B?NmQ0eG1XL2Zoa0tuYkhtRkxJME1pWXA5bWJHUXRrTk5sWGxaL2pacFZxLzRO?=
 =?utf-8?B?cGd3aFB4a1cxa3doaCtNRFZsaTRHbnhXRHlQWEhELzRySC9saGt6MHRpWGor?=
 =?utf-8?B?YzJTc2wwNkpweXZvR1o1eFQ2bFFEVXg4Y0JpazZJZ2p3S0p5bGdWL1ZxZWNV?=
 =?utf-8?B?bCtSNzhuTkRXamFYUStXNkN3QXBMNlAyb1NPQTJTNWVpamNTaEtvSTMraHdh?=
 =?utf-8?B?T3JOZlhrRTd5U2p4eHJCeExRS2RleXR5SXZpZDU3dHAyYmpDbmE3NnQrbzJF?=
 =?utf-8?B?Wk1RY1RML1BITFEzNVhzMnMxekdNMkNhb1poZWRxQURLTGd1S1djMGtobFpI?=
 =?utf-8?B?SW9uZ3RlN0tJZHhJbE9teE1tWkxqSVRzdFgyR0t3NUZ3UC9SYVZ3M1NFNURX?=
 =?utf-8?B?Y29XQmNFWk51MUdkYlJHNzRHTmR1ZXNMbmMwa2ZpUHdhSmRPU1JDL0N5RXEr?=
 =?utf-8?Q?pUcxnzsWbSF9T+gJ6bJZWi0=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a84f3235-0b11-424f-b5a2-08d9e16b6c1d
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 08:02:54.2991
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9iw1eVoynWVX5iCM7jdWamH5LgaBs2SCyMcwBPp2TMLu1stcNo/reyiSR9KZqXN6FJybuImXpWD88YgwBXEisA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB4828

On 27.01.2022 07:30, Juergen Gross wrote:
> Today RING_HAS_UNCONSUMED_*() macros are returning the number of
> unconsumed requests or responses instead of a boolean as the name of
> the macros would imply.
> 
> As this "feature" is already being used, rename the macros to
> XEN_RING_NR_UNCONSUMED_*() and define the RING_HAS_UNCONSUMED_*() macros
> by using the new XEN_RING_NR_UNCONSUMED_*() macros. In order to avoid
> future misuse let RING_HAS_UNCONSUMED_*() optionally really return a
> boolean (can be activated by defining XEN_RING_HAS_UNCONSUMED_IS_BOOL).
> 
> Note that the known misuses need to be switched to the new
> XEN_RING_NR_UNCONSUMED_*() macros when using the RING_HAS_UNCONSUMED_*()
> variants returning a boolean value.
> 
> Cc: Roger Pau Monne <roger.pau@citrix.com>
> Cc: Manuel Bouyer <bouyer@antioche.eu.org>
> Cc: Simon Kuenzer <simon.kuenzer@neclab.eu>
> Cc: Paul Durrant <paul@xen.org>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 08:04:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 08:04:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261274.452179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzlQ-0001co-Uy; Thu, 27 Jan 2022 08:04:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261274.452179; Thu, 27 Jan 2022 08:04:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzlQ-0001ch-Rt; Thu, 27 Jan 2022 08:04:16 +0000
Received: by outflank-mailman (input) for mailman id 261274;
 Thu, 27 Jan 2022 08:04:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=xPLH=SL=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1nCzlQ-0001cZ-Bj
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 08:04:16 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur02on0629.outbound.protection.outlook.com
 [2a01:111:f400:fe05::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b7e8c73a-7f47-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 09:04:15 +0100 (CET)
Received: from AM5PR0202CA0010.eurprd02.prod.outlook.com
 (2603:10a6:203:69::20) 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.4930.15; Thu, 27 Jan
 2022 08:04:04 +0000
Received: from VE1EUR03FT061.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:203:69:cafe::4d) by AM5PR0202CA0010.outlook.office365.com
 (2603:10a6:203:69::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17 via Frontend
 Transport; Thu, 27 Jan 2022 08:04:04 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT061.mail.protection.outlook.com (10.152.19.220) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4930.15 via Frontend Transport; Thu, 27 Jan 2022 08:04:03 +0000
Received: ("Tessian outbound 741ca6c82739:v113");
 Thu, 27 Jan 2022 08:04:03 +0000
Received: from 671eae0af1e9.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 986679E4-760B-4DEA-AFE5-71D39C474955.1; 
 Thu, 27 Jan 2022 08:03:57 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 671eae0af1e9.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 27 Jan 2022 08:03:57 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by AM9PR08MB6932.eurprd08.prod.outlook.com (2603:10a6:20b:301::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.8; Thu, 27 Jan
 2022 08:03:56 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0%7]) with mapi id 15.20.4909.017; Thu, 27 Jan 2022
 08:03:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b7e8c73a-7f47-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4aulY6N+wY3Q2qtoEOWjfk646UHH1xeCvrILBn0guYs=;
 b=K6r8ugmTPtSo8jtQXOGVR/7ZVLcy1oCLzc4bZvz6goHUFek+IMD+4bAuTqjlUsUjUSLqVugAcIxEmmGCZGAGrQ0Kec8SZ80JLZ/ZL4kHo3ZEBDMGXW+8mO/CErAxJHU3SFYj7kUJwK0Gd1n8PBUwpCnDVowvb2kWhf4oZBqSSzs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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=RSJA2tO0CK2F5OioKUqhY66hFQF1sx9nsP9xz43RAlR/k3EV9JOPbzJUF9FDwcgeQYmVl3tIEn1xt98h9LWXLJEYgy6OGPIFADuW2Rhkm/F2arGUND4+aZt69C9KDvek03RSjG0sT5O3DoL/o9sRDB5+2TWY0uD4ARBy27swBOrZSjpWy83kN0F0ffPBC4gO6qAQsx45TJcf2wYdA15p0Hbj0MAJkQD8mihrLZ6mTSKW9fP4F36SiitP7QR3RPwvoU99LcutmOK8A8cX5sNxFdRtgqfIX5IpqgjdPxUkq65yAC1q1Y1NgI4KF4a0KAei07O8xuzSBASjPU5nOOA8fQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4aulY6N+wY3Q2qtoEOWjfk646UHH1xeCvrILBn0guYs=;
 b=oMyDl7U7SsYSEpipYQew3GxIzz2KZEdPS548LvIlPudM/oZeRNMgeMdTDXGzARSo7kjFj2C4Ev2ometfbX+LfTM0U76Xi0PlGuXuW+K/MxGhSOyc8FMbHzEbWN55dMrTHoetPY4kB4BTGtNUXDN4PjtBCoHdATkxEB3AVjTAMAjjF+FE58uv5JPAB/iVVJXOW1C7ORbLqp+UN+E/GB/i2ApsT/r3MPAKKfnQXAj4kaW273ZcWp1YtRHQhrHIQScWj86ZnVTQah8nF2yUGAW2ItnhOxq2N6g/P1W0DSAq6fLntCft3UvwcmJGIflAZ5NfYW839bmzeBalCWToW2nybA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4aulY6N+wY3Q2qtoEOWjfk646UHH1xeCvrILBn0guYs=;
 b=K6r8ugmTPtSo8jtQXOGVR/7ZVLcy1oCLzc4bZvz6goHUFek+IMD+4bAuTqjlUsUjUSLqVugAcIxEmmGCZGAGrQ0Kec8SZ80JLZ/ZL4kHo3ZEBDMGXW+8mO/CErAxJHU3SFYj7kUJwK0Gd1n8PBUwpCnDVowvb2kWhf4oZBqSSzs=
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: [PATCH 12/37] xen/x86: decouple nodes_cover_memory from E820 map
Thread-Topic: [PATCH 12/37] xen/x86: decouple nodes_cover_memory from E820 map
Thread-Index: AQHXsHMWLK2Lk+nkCEuQGshEHTFFNqxzJoSAgAQcdmA=
Date: Thu, 27 Jan 2022 08:03:55 +0000
Message-ID:
 <PAXPR08MB74209CAE2D594D22DFF14DDA9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-13-wei.chen@arm.com>
 <b6c16f31-b233-1493-aebb-716e087f5ca1@suse.com>
In-Reply-To: <b6c16f31-b233-1493-aebb-716e087f5ca1@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: C960163EF1F47B4682D992B165CD7D69.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 8b31d1a6-1df2-4086-717d-08d9e16b95a0
x-ms-traffictypediagnostic:
	AM9PR08MB6932:EE_|VE1EUR03FT061:EE_|AM8PR08MB5651:EE_
X-Microsoft-Antispam-PRVS:
	<AM8PR08MB56517713C5B7D49F9CAD76779E219@AM8PR08MB5651.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:2657;OLM:2657;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 ocYxhgZxGEIXhQLIKKXEJwwDL73FicA42zN996zjTTQyE6C6i0m3U7KBjcnghe0kk2KaaYN0B2AVf4od8ht0JeQqq7fGJYStQ920IC0K95rATGoiFSo7zBqXlJmTZFbvCc/f/CjLzh4e6XbtjyS16JTS+GVuUA88TQ5LtPmEumS+MKSgJyb77Oo4Cz/oT17BD6pX8dfjRVK4g4l0WjPX1KdltnsqR1kThxmYTKpgCdxPxmWUHMVK48wSgL/cdLTrevHox0uR/Oxw/w8wOP/4aO6lkE73YxXL05dNVuUzcHApvgTZbMU1eZU43UyOnHLguTVbiFwMsY7on9cRPnuIPhno6WhmBQuJLJDRx5TnEHEwAr618OaneGuKaUHrJ9bI4Cblr3HCvppEFGvwNvHvRVN71bougsXVqeQ07UVFVw/8d392ST1o/oIrv7BLk5BsNnluZJpJ4USfWoZKMF3kvn+SeuZCM4uPBtgTGIf86hh1wDCidvoWtrzD9L1h/lxfY6onuCKECzRZkWEcdqGzJqrkszsBANKke5UTRhtjw8sQy39JC2iS3bre65Xm+wA03GjpNnlvjuq3n3PC1VFkTrkcLxNgn4UKOKXWjGmMQdNKzfOK4N1YOMliWUASnGaBSCbBRZjvXtU5fgga11oU//R9av2k+9oAoTB7R0ujR6GeeX4tkcjzNin/cM4ikNK3zTS7WLLVab32Im1P4UElbg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(508600001)(2906002)(186003)(66446008)(9686003)(66946007)(53546011)(316002)(33656002)(64756008)(71200400001)(6506007)(6916009)(54906003)(66556008)(83380400001)(66476007)(26005)(52536014)(38070700005)(8676002)(8936002)(122000001)(76116006)(55016003)(38100700002)(4326008)(7696005)(86362001)(5660300002);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6932
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT061.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	31bd640e-3a07-4e5f-418d-08d9e16b9109
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	w/8CA3swseqlRombsZtn4I9sQ7Nsb2SKgURtohNJgU6W8Y/FNBap/vJSCNIYiLYlcS/i+V5V8/OzHio3e/DnlJNR7strKiv9tepNOS/mpMJB9k7en8NO/OaQ3C/eA4QLjI0J9J2nEZUjPq0QGzaU1xlO4B93PfCrt9/bs8GXGnWkvjjrjtwcDlKNezt6hP+H4wc+qy6YtCQChw86gzNC/7EuvdVnUlqYIepoPUq3fQe8pOxIjMDhpw0mqfcTf/A/RT4ZLpC97ZU9gxfn7mrESb8xn+0LQpAGvyfLles/Pc4QRRqi5BaBh5lqASBv3XK1xv0JefUEwLiUFTAz0hPyvey6Ce94jW7L/KqUjLZPyyj3gL9W3tkwlVkXfpPrzgXxiuwVaAwpnfjjFn5py7zLqzYPW1ACR61MOSi9yv0QSVIk00YtQWvCe8VkKm8ei21lSBjYE7QIV/JKJXlFP+TE1RWd+zA8rs2C/3xL/5BCGeVn/ZO++8P2y8STEfdW6a0hQE9M782ADo6hgiuZkrbu84MzhotGodiejLEwK1JjmBQdru0bnUmvHJOKb0uoGxvFkLEDwUPvwu1/8q8K3YqoV+JIjtnwLi5K5OtIGF1StGsUI1y8kFXuTYZjhlRf09XN0lyeqeMHTCcFzWesG5Lz42ShCDUl7ff7DTcxssNXBrw=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230001)(4636009)(46966006)(36840700001)(40470700004)(26005)(186003)(508600001)(86362001)(47076005)(36860700001)(336012)(83380400001)(33656002)(40460700003)(7696005)(53546011)(2906002)(9686003)(6506007)(82310400004)(8936002)(5660300002)(70206006)(70586007)(52536014)(8676002)(54906003)(316002)(4326008)(6862004)(356005)(55016003)(81166007)(20210929001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 08:04:03.6612
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8b31d1a6-1df2-4086-717d-08d9e16b95a0
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT061.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5651

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMuW5tDHmnIgyNeaXpSAwOjU5DQo+
IFRvOiBXZWkgQ2hlbiA8V2VpLkNoZW5AYXJtLmNvbT4NCj4gQ2M6IEJlcnRyYW5kIE1hcnF1aXMg
PEJlcnRyYW5kLk1hcnF1aXNAYXJtLmNvbT47IHhlbi0NCj4gZGV2ZWxAbGlzdHMueGVucHJvamVj
dC5vcmc7IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc7IGp1bGllbkB4ZW4ub3JnDQo+IFN1YmplY3Q6
IFJlOiBbUEFUQ0ggMTIvMzddIHhlbi94ODY6IGRlY291cGxlIG5vZGVzX2NvdmVyX21lbW9yeSBm
cm9tIEU4MjANCj4gbWFwDQo+IA0KPiBPbiAyMy4wOS4yMDIxIDE0OjAyLCBXZWkgQ2hlbiB3cm90
ZToNCj4gPiBXZSB3aWxsIHJldXNlIG5vZGVzX2NvdmVyX21lbW9yeSBmb3IgQXJtIHRvIGNoZWNr
IGl0cyBib290bWVtDQo+ID4gaW5mby4gU28gd2UgaW50cm9kdWNlIHR3byBhcmNoIGhlbHBlcnMg
dG8gZ2V0IG1lbW9yeSBtYXAncw0KPiA+IGVudHJ5IG51bWJlciBhbmQgc3BlY2lmaWVkIGVudHJ5
J3MgcmFuZ2U6DQo+ID4gICAgIGFyY2hfZ2V0X21lbW9yeV9iYW5rX251bWJlcg0KPiA+ICAgICBh
cmNoX2dldF9tZW1vcnlfYmFua19yYW5nZQ0KPiANCj4gSSdtIHNvcnJ5LCBidXQgcGVyc29uYWxs
eSBJIHNlZSBubyB3YXkgZm9yIHlvdSB0byBpbnRyb2R1Y2UgdGhlIHRlcm0NCj4gIm1lbW9yeSBi
YW5rIiBpbnRvIHg4NiBjb2RlLg0KPiANCg0KSW4gbXkgbGF0ZXN0IGNoYW5nZXMsIEkgaGF2ZSB1
cGRhdGVkIHRoZXNlIHR3byBoZWxwZXJzIHRvOg0KdWludDMyX3QgX19pbml0IGFyY2hfbWVtaW5m
b19nZXRfbnJfYmFuayh2b2lkKQ0KX19pbml0IGFyY2hfbWVtaW5mb19nZXRfcmFtX2JhbmtfcmFu
Z2UoLi4uKQ0KSSBhbSBzb3JyeSwgSSBmb3Jnb3QgdG8gY2hhbmdlIHRoZSBjb21taXQgbG9nIGFj
Y29yZGluZ2x5Lg0KSSB3aWxsIHVwZGF0ZSBpdCBpbiBuZXh0IHZlcnNpb24uDQoNCj4gPiAtLS0g
YS94ZW4vYXJjaC94ODYvbnVtYS5jDQo+ID4gKysrIGIveGVuL2FyY2gveDg2L251bWEuYw0KPiA+
IEBAIC0zNzgsNiArMzc4LDI0IEBAIHVuc2lnbmVkIGludCBhcmNoX2hhdmVfZGVmYXVsdF9kbWF6
b25lKHZvaWQpDQo+ID4gICAgICByZXR1cm4gKCBudW1fb25saW5lX25vZGVzKCkgPiAxICkgPyAx
IDogMDsNCj4gPiAgfQ0KPiA+DQo+ID4gK3VpbnQzMl90IF9faW5pdCBhcmNoX21lbWluZm9fZ2V0
X25yX2Jhbmsodm9pZCkNCj4gDQo+IHVuc2lnbmVkIGludCAoYWxzbyBlbHNld2hlcmUpDQo+IA0K
DQpPSy4NCg0KPiA+ICt7DQo+ID4gKwlyZXR1cm4gZTgyMC5ucl9tYXA7DQo+ID4gK30NCj4gPiAr
DQo+ID4gK2ludCBfX2luaXQgYXJjaF9tZW1pbmZvX2dldF9yYW1fYmFua19yYW5nZSh1aW50MzJf
dCBiYW5rLA0KPiA+ICsJcGFkZHJfdCAqc3RhcnQsIHBhZGRyX3QgKmVuZCkNCj4gPiArew0KPiA+
ICsJaWYgKGU4MjAubWFwW2JhbmtdLnR5cGUgIT0gRTgyMF9SQU0gfHwgIXN0YXJ0IHx8ICFlbmQp
IHsNCj4gDQo+IEkgc2VlIG5vIHJlYXNvbiBmb3IgdGhlIGNoZWNraW5nIG9mIHN0YXJ0IGFuZCBl
bmQuDQo+IA0KDQpZZXMsIEkgaGF2ZSByZW1vdmVkIHRoaXMgY2hlY2tpbmcgaW4gdGhlIGxhdGVz
dCB2ZXJzaW9uLg0KDQo+ID4gKwkJcmV0dXJuIC0xOw0KPiA+ICsJfQ0KPiANCj4gTm8gbmVlZCBm
b3IgYnJhY2VzIGhlcmUuDQo+IA0KDQpPay4NCg0KPiA+ICsJKnN0YXJ0ID0gZTgyMC5tYXBbYmFu
a10uYWRkcjsNCj4gPiArCSplbmQgPSBlODIwLm1hcFtiYW5rXS5hZGRyICsgZTgyMC5tYXBbYmFu
a10uc2l6ZTsNCj4gPiArDQo+ID4gKwlyZXR1cm4gMDsNCj4gPiArfQ0KPiA+ICsNCj4gPiAgc3Rh
dGljIHZvaWQgZHVtcF9udW1hKHVuc2lnbmVkIGNoYXIga2V5KQ0KPiA+ICB7DQo+ID4gICAgICBz
X3RpbWVfdCBub3cgPSBOT1coKTsNCj4gDQo+IEp1ZGdpbmcgYnkganVzdCB0aGUgdHdvIHBpZWNl
cyBvZiBwYXRjaCBjb250ZXh0IHlvdSdyZSBpbnNlcnRpbmcNCj4gYSBMaW51eC1zdHlsZSBjb2Rl
IGZyYWdtZW50IGluIHRoZSBtaWRkbGUgb2YgdHdvIFhlbi1zdHlsZSBvbmVzLg0KPiANCj4gVmFy
aW91cyBvdGhlciBjb21tZW50cyBnaXZlbiBmb3IgZWFybGllciBwYXRjaGVzIGFwcGx5IGhlcmUg
YXMgd2VsbC4NCj4gDQoNClllcywgdGhlIG9yaWdpbmFsIGZpbGUgaXMgeGVuLXN0eWxlLiBJIHdp
bGwgY2hhbmdlIHRoZSBpbnNlcnRlZCBjb2RlDQp0byB4ZW4tc3R5bGUgdG9vLiBUaGFua3MhDQoN
Cj4gSmFuDQoNCg==


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 08:06:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 08:06:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261277.452191 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCznb-0002G7-Bz; Thu, 27 Jan 2022 08:06:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261277.452191; Thu, 27 Jan 2022 08: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 1nCznb-0002G0-8v; Thu, 27 Jan 2022 08:06:31 +0000
Received: by outflank-mailman (input) for mailman id 261277;
 Thu, 27 Jan 2022 08:06:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=xPLH=SL=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1nCzna-0002Fu-Fl
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 08:06:30 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2061a.outbound.protection.outlook.com
 [2a01:111:f400:7d00::61a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 07c9924a-7f48-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 09:06:29 +0100 (CET)
Received: from AM6P193CA0114.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:85::19)
 by DBBPR08MB4792.eurprd08.prod.outlook.com (2603:10a6:10:df::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 08:06:25 +0000
Received: from AM5EUR03FT031.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:85:cafe::7c) by AM6P193CA0114.outlook.office365.com
 (2603:10a6:209:85::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17 via Frontend
 Transport; Thu, 27 Jan 2022 08:06:25 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT031.mail.protection.outlook.com (10.152.16.111) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4930.15 via Frontend Transport; Thu, 27 Jan 2022 08:06:24 +0000
Received: ("Tessian outbound 18e50a6f0513:v113");
 Thu, 27 Jan 2022 08:06:24 +0000
Received: from 85703f28e5ea.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B21AD918-B19F-4721-AB9F-74D4D07A1518.1; 
 Thu, 27 Jan 2022 08:06:14 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 85703f28e5ea.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 27 Jan 2022 08:06:14 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by PR2PR08MB4843.eurprd08.prod.outlook.com (2603:10a6:101:24::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 08:06:12 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0%7]) with mapi id 15.20.4909.017; Thu, 27 Jan 2022
 08:06:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 07c9924a-7f48-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FzkYhBh25GyKcBuErLDPSNPnUiG+lvDCA0kKw38c57Y=;
 b=ZTsB8UuFvX+4Bhx8FBHspndt7gmjoHzrc4z+xMR+7bDbUTHLRGMENm+rtdNa6IpbDlEZfNJqxUeoc0OMwovv/zRzpw3/ODXt8wQKfZr6mv+JR4alH/VwoMGTC2bMs2W2GhYJo967N2Qfsp/Yx5go3a36jr0wUmZAPN9wqKa5+Ao=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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=Ee3xJ0Sg30VlWaufo1IHAVuFMPopXc6ihhoJgZXh8tMrIHO/MhjuHk9LhuQpxr9c6EL+awG6cydZeH19f4Ze7B5BGiA6DDJTz+O7lkG/89oVHKt8oFnCSI1mlXFF03pIzSFi2W3ll7MkVBBl6Nm8aos07U1b0bT+mM4s/56nIUwVlULeGk76GPPPMrYBoxdC1uvRDrfz6XgmXdrTT3C1qmKWk9uKs8D2nOYnMrDRLnrYx2Wa+/otbNoj/TOUBPGUUZlCm5E43un0cwjg9h40xd6t44H2D2YlYaB2o6/3Ptfmp1LlD6a9o8Ibukp+yF/Tx3vyCHGaogt1jIGxUu/wWg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FzkYhBh25GyKcBuErLDPSNPnUiG+lvDCA0kKw38c57Y=;
 b=aOoimM8BjxQcr/uqq1ExrEg6e7F3xupV+iFNQM5QujePtUPytZ/FWRYeRParPxbLL4VP0dD7lKNeB4oIMnAkDt1Mw7ExSgaV00Psqw7MKWuPI2FvXx9FMi8O2Fi0mMO1HaK5j4Hz07ejgIjhxp7o673Dj/h8JdEiJyYFDiLeELtYs/CqCbrSRRA52DdxJFSkZK8d3p7NzcUZVKkBMHCTo2thlDAGjylon8ZHU7l9Js1tXWbRdWDblHqxXSEbTpic3nMkX4TbjZRjlJccM220YIRucwqlECGQxlZ0jT7VBiWq6YooStRoOSvS+CXrJp+AwwTSViF6joiP5UnkIKGkxg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FzkYhBh25GyKcBuErLDPSNPnUiG+lvDCA0kKw38c57Y=;
 b=ZTsB8UuFvX+4Bhx8FBHspndt7gmjoHzrc4z+xMR+7bDbUTHLRGMENm+rtdNa6IpbDlEZfNJqxUeoc0OMwovv/zRzpw3/ODXt8wQKfZr6mv+JR4alH/VwoMGTC2bMs2W2GhYJo967N2Qfsp/Yx5go3a36jr0wUmZAPN9wqKa5+Ao=
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: [PATCH 13/37] xen/x86: decouple processor_nodes_parsed from acpi
 numa functions
Thread-Topic: [PATCH 13/37] xen/x86: decouple processor_nodes_parsed from acpi
 numa functions
Thread-Index: AQHXsHMSdKhLEbfZMUSB+hDEcZc+16x0QMkAgAMHpwA=
Date: Thu, 27 Jan 2022 08:06:12 +0000
Message-ID:
 <PAXPR08MB742089B2F0A35EB51AB594DF9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-14-wei.chen@arm.com>
 <8df7606b-bf0d-bc6e-5393-09d187539e26@suse.com>
In-Reply-To: <8df7606b-bf0d-bc6e-5393-09d187539e26@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: BBD609408C36F24B8B92F974F9C13D8B.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 895a3e6a-eda0-4d7f-c21c-08d9e16be9c6
x-ms-traffictypediagnostic:
	PR2PR08MB4843:EE_|AM5EUR03FT031:EE_|DBBPR08MB4792:EE_
X-Microsoft-Antispam-PRVS:
	<DBBPR08MB479233266EA360A5EBC9129B9E219@DBBPR08MB4792.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:
 RQX4c6PmqEuYoRDf2pFpN5pnvCE0/XRKU+CW/w8oFx9MgFj85lmsb5NQoveUABPc2CEjHeBamNrXXYwkTN2NTCeLaOpUZfTxg5HmHJaaxswTePEVO28LOU0JyTYeTRJSeKO99INKEkGmgEChr1ta7V0/7YAbA2YnVpKMM48mjVtcjU+ZK4EJZHK2fAq21F2w87XXYp4rvEEznP1jjgTR4UnW1Xc1t/LpCUC/Qe2+YY89b+yorxplwcil6YHlHq9xuXzsiLql6DdG/8UA0Ax52+UG6sirx6HKZnF0Qq4mYbzcggDycW2PCuYWWwR6WiOo8g1b5zc2bsIKCVuTZrRO9luzl8vkW8LBxh++pexlbCg4o37CF+ItdrJ6xNwf6ExnS5wvsyFm9+BEuyi5UOAWepqqOqf5bY8AzSnDtWs408b029nMT6v2KrTPq3vy+oqIuHbj9IBsuYqu98jSSIYK1bjBWqz+q4QB/JP9a7lae5J7Ifbusr5eYtf4tXxeayOhEGy4FNoe3JFD5makdJLKDnTVR2LtjJ1Ty0SwYJkCpTnatUQ88IgGIf/mrnFJYnTN5gqjCac7QtdTL/2XseGZkMNxI4gXd0kLtUQi/S+kzsOQ3mJcTJo5KCUi6quRIM2SpCKQCHuSBBJW7Tn/dcXCM8EpJGmSE0Mrz1e9fvVZuG/oQ+6bv8cTWEEzKhsLRQuk4IW/BDDisVRNCDHgnEmwHw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(71200400001)(54906003)(2906002)(52536014)(53546011)(186003)(26005)(6506007)(6916009)(33656002)(316002)(9686003)(508600001)(7696005)(86362001)(55016003)(83380400001)(64756008)(66946007)(66556008)(66476007)(66446008)(76116006)(8676002)(4326008)(8936002)(122000001)(5660300002)(38100700002)(38070700005)(20210929001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR2PR08MB4843
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT031.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	be1a4346-cff7-4ce3-afc1-08d9e16be285
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZFJ8XfENEPXdNhYe2MA6PfjEbqU8lzPNznow2yZCEIU6kv0CvwAFxF+5a8IJBmyt8AYrUPrS+2j1cWKig55LPIAbxry9m7q9o63zXk9LChORU5kKdYknwc1xjnAF1MUHSN7o5IUeDDvFP+Y6/S4bX5rWb4ZaqivUfvSP8RA3MltYM9J04C/ufZnUfJmMYhs9n8M4Lo+tmecFF2VlOKWztTpEK1bK6pTbfQHPP/hR88jx3gIkodSP8+SiwgWUKWc8c+EN3XHfXLPJvgSF5s+JkQftkEySIHP5WsBS2xrMM58v5/rlYa+jfSTtCPygv3jkgnIAm9Mzh0CJ8i+IwLKWG6EliucZaPKJnFZvKyVilJhmQK3TFvFWclGpzFw6X6YGjDq/8pjk0kkOVjM3ECZQxbwKmxhmn0aAB+iPXxWP0hDQoGGTEGMHRM2a3xSpkPkzKWJc+xANw4wd6SETtJWa4PhPOyMDK5yD/tcK4khQnF5jXGYR4p/nEnzkWrARvbbS05ucbQMJm/5jEjC/IwllD7zblMjutlEQk8zqvsG3qPVL+oTZBhivHIgtPGUiFgV+lWJmJrfw2dw8c7cPpVKRmP4i7zLWpJ2Q0riMpnHOaTJO+1ST98kEG3CXhQyaFzWrxXdh9MPZuA+4NyVhD1pOMnXRKyP31VNOfL98PAEVMPswyxHDYAGSCjDCVT48sbg/
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230001)(4636009)(46966006)(36840700001)(40470700004)(36860700001)(40460700003)(54906003)(2906002)(52536014)(53546011)(186003)(26005)(6506007)(33656002)(316002)(9686003)(508600001)(7696005)(86362001)(55016003)(83380400001)(82310400004)(6862004)(336012)(70206006)(70586007)(8676002)(4326008)(8936002)(47076005)(81166007)(5660300002)(356005)(20210929001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 08:06:24.8878
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 895a3e6a-eda0-4d7f-c21c-08d9e16be9c6
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT031.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB4792

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMuW5tDHmnIgyNeaXpSAxNzo0OQ0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiBCZXJ0cmFuZCBNYXJxdWlz
IDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyB4ZW4tDQo+IGRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnOyBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqdWxpZW5AeGVuLm9yZw0KPiBTdWJqZWN0
OiBSZTogW1BBVENIIDEzLzM3XSB4ZW4veDg2OiBkZWNvdXBsZSBwcm9jZXNzb3Jfbm9kZXNfcGFy
c2VkIGZyb20NCj4gYWNwaSBudW1hIGZ1bmN0aW9ucw0KPiANCj4gT24gMjMuMDkuMjAyMSAxNDow
MiwgV2VpIENoZW4gd3JvdGU6DQo+ID4gLS0tIGEveGVuL2FyY2gveDg2L3NyYXQuYw0KPiA+ICsr
KyBiL3hlbi9hcmNoL3g4Ni9zcmF0LmMNCj4gPiBAQCAtMTA0LDYgKzEwNCwxMSBAQCBub2RlaWRf
dCBzZXR1cF9ub2RlKHVuc2lnbmVkIHB4bSkNCj4gPiAgCXJldHVybiBub2RlOw0KPiA+ICB9DQo+
ID4NCj4gPiArdm9pZCAgX19pbml0IG51bWFfc2V0X3Byb2Nlc3Nvcl9ub2Rlc19wYXJzZWQobm9k
ZWlkX3Qgbm9kZSkNCj4gDQo+IEJlc2lkZXMgKG5pdCkgdGhlIHN0cmF5IGJsYW5rIGhlcmUsIGVh
cmxpZXIgY29tbWVudHMgYXBwbHkuIFRoZSB3YXkgeW91DQo+IGRvIHRoZSByZWFycmFuZ2VtZW50
IGl0IGlzIGNsb3NlIHRvIGltcG9zc2libGUgdG8gc2VlIHRoZSBhY3R1YWwgIndoeSINCj4gYmVo
aW5kIHRoZSBjaGFuZ2VzLiBFdmVuIGlmIGl0IHdvdWxkIG1ha2UgZm9yIGEgYmlnZ2VyIHBhdGNo
LCBJIHRoaW5rDQo+IHlvdSB3YW50IHRvIGNvbGxhcHNlIHBhdGNoZXMgYW5kIG1vdmUgdGhpbmdz
IG91dCBvZiBzcmF0LmMgY29kZSB3aGlsZQ0KPiB5b3Ugc3BsaXQgb3V0IGdlbmVyaWNhbGx5IHVz
YWJsZSBmdW5jdGlvbmFsaXR5LiBPciwgaWYgdGhlIHJlc3VsdCB3YXMNCj4gZGVlbWVkIHRvIGxh
cmdlIGEgcGF0Y2ggdG8gaGF2ZSBhbGwgaW4gb25lIGdvLCBtYWtlIHRoZSBtb3ZlbWVudCBvZg0K
PiBpbmRpdmlkdWFsIHN0YXRpYyB2YXJpYWJsZXMgdGhlIHRvcGljIG9mIGVhY2ggcGF0Y2gsIGlu
dHJvZHVjaW5nDQo+IGFjY2Vzc29yIGZ1bmN0aW9ucyBsaWtlIHRoZSBvbmUgaGVyZS4NCj4gDQoN
ClRoYW5rcywgSSB3aWxsIGZpeCB0aGVtIGluIG5leHQgdmVyc2lvbi4NCg0KPiBKYW4NCg0K


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 08:08:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 08:08:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261281.452202 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzpj-0002wp-TL; Thu, 27 Jan 2022 08:08:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261281.452202; Thu, 27 Jan 2022 08: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 1nCzpj-0002wi-Py; Thu, 27 Jan 2022 08:08:43 +0000
Received: by outflank-mailman (input) for mailman id 261281;
 Thu, 27 Jan 2022 08:08:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nCzpi-0002wa-CI
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 08:08:42 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 542e6253-7f48-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 09:08:37 +0100 (CET)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2058.outbound.protection.outlook.com [104.47.13.58]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-10-b_YqzRAQOIiaQN9Ti3E-YA-1; Thu, 27 Jan 2022 09:08:39 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by PAXPR04MB8304.eurprd04.prod.outlook.com (2603:10a6:102:1bc::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 08:08:38 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 08:08:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 542e6253-7f48-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643270921;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=keT4XrnRwdum1Kf1jtKAKPrf1bjboU7Fyz9NPQQTTzU=;
	b=V7mE6AY+VNs9dbPTgUGy+5oxvWGO24Hfkvd+k7YaKdlwMg7WdmmB+IieztGNror5pqURlT
	ovkfzHaRvbCDDZR74ZMGQWG4wz3B40s5KiIGVKLQCGIWNiC15ghFRIfp9BDjWik6pv2hlA
	3enMe+eGE6Pnfvf3cgdkFCJmGEVj1P4=
X-MC-Unique: b_YqzRAQOIiaQN9Ti3E-YA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KVjthuX/wbdfasJeN8lafWq9XDU3M3ZO3IbxrJbSd55R2bNp0PJltUxFX6pangP6HsbSsA+AyhTJh6WG2BeHaLMPt6Qy+QowL2MlY2ef6TJYAgsC6KoyQa7BcYIytLFhCkiHuG7P0q9RyQjXlZ1qO0XpLeyW7d/Qgxzo9MadnTHzDbyiebhJjjaUU8zmXkhFQ0yF/WypcFUGnARXA3a+cbGvf2SYjH+M0KWHFQC8NmVHIqi0UT3vQRx7TjViwamfa3ETDrIC+1FKmMcl6t0pV4kqpyg2VPpgKDtckzST1w6B5PDKkC1pqXWd2t3JNrZnbkvqnVPo7DciX7a2MOlLhA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aQe/dzEj1K/ID9RES+XuKb/Gq+hmTUITyTvoEVOB4z8=;
 b=LKgvzCBlvqBvtnsP6EoDs1fS+C6AVKvQFOmwQrN7aAGAfaHWUaqHI5GBzTo4HTHg6FPl5aWcNndvBjvc2sleq8FOGsuj7llJJdUvdJHUrMBm42AfFix9HMiaw2S5wykaGi89MBwzDebD98fHAKwvNJveHzrm85+jgHA1Cao5wwdUhzOUFg70z8qg4p8kxVYgqFEFrC0Eryyhu9MZ7Pp1ltf16YBG2JlH7v0OT6R4cNM3fHzkv+ed9u7+NoDipiz6F3V7f50YrYYq3ooHHJo/edVDmyfjVKNJcsclgiOo3Gn+cIhD1xsRsTa82FziZ6mUfn4Qus73SXNKb0zmjwmDWw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d4bb30f9-92a4-47ef-05bd-0ae1dacb3642@suse.com>
Date: Thu, 27 Jan 2022 09:08:35 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 12/37] xen/x86: decouple nodes_cover_memory from E820 map
Content-Language: en-US
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: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-13-wei.chen@arm.com>
 <b6c16f31-b233-1493-aebb-716e087f5ca1@suse.com>
 <PAXPR08MB74209CAE2D594D22DFF14DDA9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <PAXPR08MB74209CAE2D594D22DFF14DDA9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM6P193CA0115.EURP193.PROD.OUTLOOK.COM
 (2603:10a6:209:85::20) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e48b2dc9-ae48-42fa-afe0-08d9e16c3905
X-MS-TrafficTypeDiagnostic: PAXPR04MB8304:EE_
X-Microsoft-Antispam-PRVS:
	<PAXPR04MB8304A657804A2958C21427EFB3219@PAXPR04MB8304.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:1002;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yffRsndUBh2oPXaOtZ26RegwCtGFrTeM5oE1wNUhuKqR/947dUQvxJLtQPNCtqxc+mTDY1tXFWYwUYVr2nNcZur58qlDjfzPJAlMCe05KfjPrV0n53ISb3V1maImFe4SCEQkKV7wkFeabKnCF1WFHVqSIX2L2x79tsORFw0Ul20C3AUZeRqH/cuEzMH5sO9A4pmIqujWvyEBMZfLGfo3o+6NV3dBrXB2fNTzjT9O6FkRpV2QBkknMkfVFKmsrwDY4MWxNCPxlp8nFLYoROqEC4j6NTPjlweyECc/zPYe3kzRF+d1Fy7CJzM1IiKWIOXJm/zW2TwdfrI4GK+iipRXZtcOqlt9RzQgOVtrxE4t3ditcDKk0/l4ENhEHl6D+uUQoKSN23V14QC37kEGSt0FERohQ40vgcWlhSfQm92YcJ+aEG4XCq9/oXT3V/X/W3DIhv7CjYCoX3a26oESCYDmmOL2lz07nK4tNqg8voVlJe+a2jUNjeQuh7FdFsKqUE+LKAR3Y4/U8xlW1GAEJ85p8um8xcz9hGYsdVBXvdvNL1APAL2RAGYhj4gMhI+i2Hy7ydPfCKbAHsY/A3Yg4FJsC++X2hgOHzwar2vaBG9ppG5IAcaFtB+f6WRURFDjS2fq/rcpXsIG4aH+rV9XUEN1bxUZLvj7DqbdX3GFk47W5UPu6K0wV3NIKKcfQUmX0THvHa+YnU+LBajDnBLrDXdIUgvJ7FWYZzyFVqywBxdNsmhgATp5LffSixsRhyARJKmA
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:(13230001)(366004)(6666004)(6506007)(6512007)(4744005)(8936002)(66946007)(66556008)(66476007)(5660300002)(8676002)(53546011)(4326008)(31696002)(2906002)(86362001)(38100700002)(83380400001)(6486002)(186003)(2616005)(26005)(36756003)(508600001)(6916009)(316002)(54906003)(31686004)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?EtkXZrau5mxeKZWYC8XYRWVJbCVjiGAjmnCtvELChMmHllekj0ymiZlUIt7D?=
 =?us-ascii?Q?NA+YJMW47iVGrFcaYePXIOiJmWholG55OkeViTeAHqEzPAWSif3kxHxz7Jnr?=
 =?us-ascii?Q?budd/kuOWbhUqiM13XszqRzQgiCoqmzEYJbJOORO4WsFU3JcPwAuEsnn404g?=
 =?us-ascii?Q?7rIsD6Mvav6wLhOzEQ27z9eIQ5wituClX+1XtIJRMNGj66SDigcxf/pGH6g3?=
 =?us-ascii?Q?SbayjK3cHG2O2CX6vjXhG/TXI1Rb9AlnvZZhbeFvUbxe/Bw+AQ5POAz4dteR?=
 =?us-ascii?Q?5MVCo8RgPh9yjMG9DLJ6awqVCrVzptDGYAcGW3XPJBh/rbBZO4Z2Hsl2N/HN?=
 =?us-ascii?Q?sk7GkH6SynfQGX6rOj4ePeQRp2bKRWM38WvPF9buSfXuRMhkYinEGkk+cVi1?=
 =?us-ascii?Q?SyZ5yc1PNO5ipPBgL0eJ0C/Wy4itWpGNGDPzoDVbh7nvsg7FvA2oSdeF9sNi?=
 =?us-ascii?Q?vXeWBcnbf47HAOuj7Fu9ejXnV8C+4vcvwGNnYcoG0Q7ILnzQoQlizGD2sAUX?=
 =?us-ascii?Q?KqVVA8jJUqTmNLcW+ewTh4ESKiVwJc1OxorPOl1D0yJliyDRKpT43P8D/+Y9?=
 =?us-ascii?Q?nP8amo1ZqCqjyofBookfRiKVjvRfCooKOLpXTEYaI68E533tL5yH1ZzCLFUt?=
 =?us-ascii?Q?YwwHBOWyc228/J4attIqMJeBC/M5LjSl6FrAaGKuIHWT0M57AVKNgHtOZO5C?=
 =?us-ascii?Q?YnSu477ElNUw7RMtc/TM+dj+IvClfzke2xuVZUIVM5Sb4I6pdM59qElhWH7V?=
 =?us-ascii?Q?BXkTmf6DEE2WibP9vUhLi5JG0NAYYdTc3bnawlWEOKS2UXVo5b3HTAhuiaiW?=
 =?us-ascii?Q?t38UN9AHKIrnumi67pNr9Xji62lo6Mj9tqNm+Cu9EWWfV956UoXWZfWEEx53?=
 =?us-ascii?Q?O9yKQpSkfsGXIiFZApVtZQ8YzaeN2MaBFwhMlXBoWRC45s9w/ArOJBC+qThJ?=
 =?us-ascii?Q?cs5tUyahBUbnCiHFzKk50erUuvbzCCW6DlmzLA0tRn0nfGKpow+d30JBbjoN?=
 =?us-ascii?Q?91LyQ7OmutRa6/4UjgUwa6PK39tnkp9J5OoiABWnDTF6qnaqqvqie+YDARIW?=
 =?us-ascii?Q?85s01UbLQXg9mKtiA/hCBKfSfSgstvsx1ldZWorPx4XmGS2tCkA27xBDAz+V?=
 =?us-ascii?Q?zucRv+PlawmoFNJWabFdIWXMMMx2QYbdIhI6l6HM4wsTRqXg3EkGrnibcYPZ?=
 =?us-ascii?Q?Fflcm4ULbE10jsZSI19Fm/ktdSK60Ej9YvWvmqi5NdjV0YhfMiKm2Nq0K1FM?=
 =?us-ascii?Q?FsxfEl2Vgfsvereg/rod+K1r+WGmJkbD4q9yOYMXh7Y52GzEsath4yp+fEWa?=
 =?us-ascii?Q?LN+EXoPZZTxv6IWA4f93phH/Ffj4FYvqHu2wtitdKcH7gfv7n8B2ZO9dixXE?=
 =?us-ascii?Q?plhtNV+C7PIyKSB8OGqUd2mE8SFWZPFT6nLQCn8b3au0Ogh2Y5EWjg993sBE?=
 =?us-ascii?Q?DgJCWWCFYlAlu1lb2znKoHDBquFyE+Da394hDu14jtOzMPhYoTUX7PH3LWA+?=
 =?us-ascii?Q?M+wMwMqoV7cR3kIm/BeG+Y2X/ycShKZyo9hWjPrwW4ZMAybf7vPpPMwmh3df?=
 =?us-ascii?Q?BbtbBnzVsrY+ssKUKAdmO7LGY5TRaJ9v0XMpLY+VbsfiHvHX/ulnw6d5t/d7?=
 =?us-ascii?Q?SDWAzCKGJDkFyzC+xP/arIE=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e48b2dc9-ae48-42fa-afe0-08d9e16c3905
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 08:08:38.0277
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: n7A+dzvfMiM9NTOdfzdO1W9tzCaq3FM1wdTZ81gV3SECTnOZUpjhksaEqt5wh9amYTJiy7rlUezP5/pb6neDpQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8304

On 27.01.2022 09:03, Wei Chen wrote:
>> From: Jan Beulich <jbeulich@suse.com>
>> Sent: 2022=E5=B9=B41=E6=9C=8825=E6=97=A5 0:59
>>
>> On 23.09.2021 14:02, 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
>>
>> I'm sorry, but personally I see no way for you to introduce the term
>> "memory bank" into x86 code.
>=20
> In my latest changes, I have updated these two helpers to:
> uint32_t __init arch_meminfo_get_nr_bank(void)
> __init arch_meminfo_get_ram_bank_range(...)
> I am sorry, I forgot to change the commit log accordingly.
> I will update it in next version.

I'm sorry for the ambiguity of my earlier reply, but my objection was
against "bank", not "memory". As an aside, you also don't want the
function return "uint32_t" - see ./CODING_STYLE.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 08:09:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 08:09:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261285.452213 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzqM-0003Vh-63; Thu, 27 Jan 2022 08:09:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261285.452213; Thu, 27 Jan 2022 08: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 1nCzqM-0003Va-2n; Thu, 27 Jan 2022 08:09:22 +0000
Received: by outflank-mailman (input) for mailman id 261285;
 Thu, 27 Jan 2022 08:09:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=xPLH=SL=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1nCzqK-0003Kd-Ja
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 08:09:20 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0619.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::619])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6d36fda1-7f48-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 09:09:19 +0100 (CET)
Received: from AM6P192CA0094.EURP192.PROD.OUTLOOK.COM (2603:10a6:209:8d::35)
 by DBBPR08MB5548.eurprd08.prod.outlook.com (2603:10a6:10:c1::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 08:09:16 +0000
Received: from AM5EUR03FT055.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:8d:cafe::9c) by AM6P192CA0094.outlook.office365.com
 (2603:10a6:209:8d::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15 via Frontend
 Transport; Thu, 27 Jan 2022 08:09: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.4930.15 via Frontend Transport; Thu, 27 Jan 2022 08:09:16 +0000
Received: ("Tessian outbound 31aeb3346a45:v113");
 Thu, 27 Jan 2022 08:09:16 +0000
Received: from cd9263645637.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 614BA2E3-7A0E-47F9-B108-5BDD865EDCD1.1; 
 Thu, 27 Jan 2022 08:09:07 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id cd9263645637.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 27 Jan 2022 08:09:07 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by DB9PR08MB6410.eurprd08.prod.outlook.com (2603:10a6:10:262::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Thu, 27 Jan
 2022 08:09:01 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0%7]) with mapi id 15.20.4909.017; Thu, 27 Jan 2022
 08:09:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6d36fda1-7f48-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yQnSvIPrioYZfrjh5gO0/XMTtkGStO9qRsZqgT58GSg=;
 b=GhuMZRONKpydTHx4D06yq6pivRSEK9cG9vKqhbwL0awGQ+Ey5tOOsMRqWYyK7UObcFzs2FLdFqPq63otEqq/Sbn0ca6eYfP26/upp5Hon+paFPUJ43POB0FN4iAO798hTOFlGyOeLSrC3YXgtduBAHEp7+stMsGmua76R7QzLMI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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=mDvcrXOz4puo8l6fMu47I5hVP5aDVkDM7R9dSR0HVmAKWml9M+IkB0PgVfvVem9+i9hqvU+1PgWUtQGBNDbpuUi1v+veKtxEttDcJh/KXZ4Yqze2XQvHR8QfAzg/LeXUTo4ryxIJOVVE6tXmZFxdvbUcXAANHDph1d+0iLTOQwNMEqHZLfmPkBZGHg4sANI19Z9+RCUKAemLcgBsr3tOQYSuSO+ZL/y76Ki1eEqLmPxj4FdkFQqij1I8xBk3L6jVoY14vzqnD04Yq8feg5w1QxKZ2mvlE10mZ26mSmti3FIGIhlNCwy+nFpVMSnl4B3sZPaxBcWCZEFg+SgKfZHVVg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yQnSvIPrioYZfrjh5gO0/XMTtkGStO9qRsZqgT58GSg=;
 b=JYW5cL3MscFrv4OhqGdxDKdbLby+c07mnxr6Yueme/Xqll8IzuqOvJHi2jpnhLXucAa5o14DO9PsZapgQWgqHGOsvr+WOjSu+3blayZLoFNOu6hkx2Nzxx9fxGsQXzh4npd2Cc0oS4haNjvIolgAKBnQuzhFVwQzqRucR4OwPF7BhUo84NxjUPDZengzWOJ8u2QS+bBE+yrxSOxjSh10bYkGQn1zerCkQLPajv1Gn0iTyOxFRmTOEkHziUWvrr8RmedvYrIdrPb/4RjZk+WS7YlYBCe9rBDXsHDcT98FTP9hmt+eDplQJUD0Z9JNoLEvombZw6jGWfPCQnR4G8OMkQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yQnSvIPrioYZfrjh5gO0/XMTtkGStO9qRsZqgT58GSg=;
 b=GhuMZRONKpydTHx4D06yq6pivRSEK9cG9vKqhbwL0awGQ+Ey5tOOsMRqWYyK7UObcFzs2FLdFqPq63otEqq/Sbn0ca6eYfP26/upp5Hon+paFPUJ43POB0FN4iAO798hTOFlGyOeLSrC3YXgtduBAHEp7+stMsGmua76R7QzLMI=
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: [PATCH 14/37] xen/x86: use name fw_numa to replace acpi_numa
Thread-Topic: [PATCH 14/37] xen/x86: use name fw_numa to replace acpi_numa
Thread-Index: AQHXsHMTdEf6BAAAdE2ZG0NU313E1ax0R1uAgAMBfOA=
Date: Thu, 27 Jan 2022 08:09:01 +0000
Message-ID:
 <PAXPR08MB74204141BBEEADC83AC92A6E9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-15-wei.chen@arm.com>
 <74c249c9-4c49-0f46-2b51-cf76fe450b9f@suse.com>
In-Reply-To: <74c249c9-4c49-0f46-2b51-cf76fe450b9f@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: F6022C611A49304F87641678C8920CAD.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: fde38ef9-243e-470f-c239-08d9e16c4ff6
x-ms-traffictypediagnostic:
	DB9PR08MB6410:EE_|AM5EUR03FT055:EE_|DBBPR08MB5548:EE_
X-Microsoft-Antispam-PRVS:
	<DBBPR08MB5548901AA7DDDD1EBBAB57649E219@DBBPR08MB5548.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:
 ZQ/fYO5vlLQEV//ygILeXZuATgx9MGcUYL5iNrRWoTrPHj3FOnye1tEIRlG+KxUr/Ffj+3ncEvzwrqmCXlpLKImQEjqEkFOiY/SQ0L8LwNlPGY9jSrhWyhooH1Ar5lglOqfXh9LRcUBmVOLa65L9ETrl3leER1l7QReAFlaB1Fix1plXCVY5DEuqfdaJnMFkgBDs3s0UZg5H+11HS/+Y3KfUAecHyndk2ByMcMOBVaYOBYiquGyS5OtkauMMZll/2j9gDWQh2pWs7wA68ZqMjiEMO98cjHhhz/fjNZWE7y4mwyQ9O2p1+4sX6RpljTYrAGJMPQV8G9iCK9fvjh49SKKb1OyJyv4D/owV1yJQeCcLUdbGVMwPECNmRDt2zqr8sQNx++1Uh6RPCsrj80+sfCy7NmPyuWXZ9IY0x1qq6iTHkbNYIU4yQLzEOxQzyEVZzeC7t5wiBNo2540rNkg9BbaAy8cz5qqx9ULqC97hSk0dSfZiQJqKVI/n1cFuj7mQXluAkODo/qMxMDV7mRsqMbWL1YSumnMGC0dAtQTQLNkNEAj6IYonWlNu79t52ikyucUaLCOblqOq2ojciRhSsAFu91RiwK31vO4ydq/C5xNAAjaCLVxesLIY64Rh0FwfNgo8I1KE9Lrb5Vj3Y03LMUc2KDw2PwDe8syPYwtoM9ZkpxUrum3O1ro64xe13wvnnjLi/0dvLIVYt0RMNZVGMbWAPcWfc+2a2MlaKX3rI52/FBNVh1a5DRFnqU2l9JT6
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(6916009)(33656002)(8676002)(55016003)(66946007)(66476007)(66446008)(64756008)(4326008)(26005)(316002)(122000001)(83380400001)(186003)(54906003)(66556008)(71200400001)(76116006)(8936002)(38100700002)(52536014)(508600001)(53546011)(5660300002)(9686003)(6506007)(7696005)(38070700005)(2906002)(86362001)(20210929001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6410
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;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-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	aac7ac4f-f231-4e3a-49f2-08d9e16c4718
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bKO5ZywFD/uWrUWHtAVTWilJIh4fZTpd59hbo1/uK8GrJJ2UHre5uTaA4+J2vApnd5dRvoXx53P9W+r50afWEY5B8rjApjXlVi1xeO8vyyPdeGD3IKAN/AZd8501W8RWtmpB9o/EaeXH7b9JGjnyTC9FcAR0myz+1CZ0k1R8zrb3GxoEt5GDc0ZLEPm76Mka6GicwhZkXVkkDD4WB9Zr1fOd9pdNdgEc0tuwmD7Wu8PewvmffOvjQVVNmH7O4NPTNaoxJCxZEgf1povehKNJ4uoS6y7R7eVWCG9NBhaecCkNLfE2gcPd3N5HxPXR9Jc3E39ntHFX+ZvH3TsGvTEkyIUXXhzuBxJtMAb8kdjOxHEkJZ21r2S9IC++4jT3jxy7vRAB1bBu4sK26JmbwnQ8UVLU2RDGwUa/pyy833XZ3lsObJfEljoXBHUgafS5LiLEXIEGZTIxVZeJaIuhSblmEdeWywcOnN2SIvaO6iTwyOZ01tktzBAwAQ5DBOvJfVzYxHoy7NIQ5poMsNwgWYxw0dGYl6KGxsfJ5kt7as9rDu9vQHeAWTDDbg4L1f/23JF6wpFIn/XxxdWIXQQr6lm0sIiM9shUlc6o7G/EapL8mTcgk4ypIefN+q774ij6Kkd3Txayowcp3SwS/jPWI9v37SCpqJ7yYZFNExjVfKk/+vd4BeudCzY6qwfN1eOm8gYy
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230001)(4636009)(46966006)(36840700001)(40470700004)(36860700001)(40460700003)(54906003)(2906002)(52536014)(53546011)(186003)(26005)(6506007)(33656002)(316002)(9686003)(508600001)(7696005)(86362001)(55016003)(83380400001)(82310400004)(6862004)(336012)(70206006)(70586007)(8676002)(4326008)(8936002)(47076005)(81166007)(5660300002)(356005)(20210929001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 08:09:16.3306
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: fde38ef9-243e-470f-c239-08d9e16c4ff6
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: DBBPR08MB5548

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMuW5tDHmnIgyNeaXpSAxODoxMw0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiBCZXJ0cmFuZCBNYXJxdWlz
IDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyB4ZW4tDQo+IGRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnOyBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqdWxpZW5AeGVuLm9yZw0KPiBTdWJqZWN0
OiBSZTogW1BBVENIIDE0LzM3XSB4ZW4veDg2OiB1c2UgbmFtZSBmd19udW1hIHRvIHJlcGxhY2Ug
YWNwaV9udW1hDQo+IA0KPiBPbiAyMy4wOS4yMDIxIDE0OjAyLCBXZWkgQ2hlbiB3cm90ZToNCj4g
PiAtLS0gYS94ZW4vYXJjaC94ODYvbnVtYS5jDQo+ID4gKysrIGIveGVuL2FyY2gveDg2L251bWEu
Yw0KPiA+IEBAIC01MSwxMSArNTEsMTEgQEAgY3B1bWFza190IG5vZGVfdG9fY3B1bWFza1tNQVhf
TlVNTk9ERVNdDQo+IF9fcmVhZF9tb3N0bHk7DQo+ID4gIG5vZGVtYXNrX3QgX19yZWFkX21vc3Rs
eSBub2RlX29ubGluZV9tYXAgPSB7IHsgWzBdID0gMVVMIH0gfTsNCj4gPg0KPiA+ICBib29sIG51
bWFfb2ZmOw0KPiA+IC1zOCBhY3BpX251bWEgPSAwOw0KPiA+ICtzOCBmd19udW1hID0gMDsNCj4g
DQo+IEluIHg4NiBjb2RlIEknZCBwcmVmZXIgdGhpcyB0byByZW1haW4gImFjcGlfbnVtYSIuIElm
IHlvdSBuZWVkIHRvIGFjY2Vzcw0KPiB0aGUgdmFyaWFibGUgZnJvbSB0by1iZWNvbWUtZ2VuZXJp
YyBjb2RlLCBpbnRyb2R1Y2UgYW4gaW5saW5lIHdyYXBwZXINCj4gKHBvc3NpYmx5IG5hbWVkIG51
bWFfbW9kZSgpKSwgYWxsb3dpbmcgeW91IHRvIGRvIHdoYXRldmVyIHlvdSBuZWVkIGluIHRoZQ0K
PiBEVCBjYXNlLiBJdCBtYXkgYmUgaGVscGZ1bCB0byBmb2xkIHRoaXMgd2l0aCBudW1hX29mZiB0
aGVuLCBzZWVpbmcgZS5nLg0KPiAuLi4NCj4gDQo+ID4gIGludCBzcmF0X2Rpc2FibGVkKHZvaWQp
DQo+ID4gIHsNCj4gPiAtICAgIHJldHVybiBudW1hX29mZiB8fCBhY3BpX251bWEgPCAwOw0KPiA+
ICsgICAgcmV0dXJuIG51bWFfb2ZmIHx8IGZ3X251bWEgPCAwOw0KPiANCj4gLi4uIHRoaXMuIEFj
dHVhbGx5IEkgdGhpbmsgdGhlIHVuZGVybHlpbmcgZW51bWVyYXRpb24gY291bGQgZXZlbiBiZSBt
YWRlDQo+IGdlbmVyaWM6DQo+IA0KPiBlbnVtIG51bWFfbW9kZSB7DQo+ICAgICBudW1hX29mZiwN
Cj4gICAgIG51bWFfb24sDQo+ICAgICBudW1hX2FjcGksDQo+IH07DQo+IA0KPiBpcywgSSBiZWxp
ZXZlLCBzdWZmaWNpZW50IHRvIGV4cHJlc3MgdGhlIHByZXNlbnQgKG51bWFfb2ZmLGFjcGlfbnVt
YSkNCj4gdHVwbGUuIEluIHRoaXMgY29udGV4dCBJJ2QgbGlrZSB0byBwb2ludCBvdXQgdGhhdCB0
aGUgdHdvIHVzZXMgb2YNCj4gYWNwaV9udW1hIGluIHNyYXRfcGFyc2VfcmVnaW9ucygpIGFuZCBz
cmF0X2RldGVjdF9ub2RlKCkgc2hvdWxkIGxpa2VseQ0KPiBiZSBpbnZvY2F0aW9ucyBvZiBzcmF0
X2Rpc2FibGVkKCkgaW5zdGVhZCwgdG8gYWxzbyB0YWtlIG51bWFfb2ZmIGludG8NCj4gYWNjb3Vu
dC4gVGhpcyB3b3VsZCB0aGVuIGJlIGFkZHJlc3NlZCBlZmZlY3RpdmVseSBhcyBhIHNpZGUgZWZm
ZWN0IGJ5DQo+IHJlcGxhY2luZyBvcGVuLWNvZGVkIHVzZXMgYXMgd2VsbCBhcyBzcmF0X2Rpc2Fi
bGVkKCkgYnkgbnVtYV9tb2RlKCkgKG9yDQo+IHdoaWNoZXZlciBuYW1lIHRoZSBuZXcgaGVscGVy
IHdvdWxkIGdhaW4pLg0KPiANCg0KWWVzLCB0aGF0IHNlZW1zIG1vcmUgcmVhc29uYWJsZSwgSSB3
aWxsIHRyeSB0aGlzIGluIG5leHQgdmVyc2lvbi4NCg0KPiBKYW4NCg0K


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 08:14:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 08:14:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261288.452223 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzvX-0004zL-QO; Thu, 27 Jan 2022 08:14:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261288.452223; Thu, 27 Jan 2022 08:14:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzvX-0004zE-NR; Thu, 27 Jan 2022 08:14:43 +0000
Received: by outflank-mailman (input) for mailman id 261288;
 Thu, 27 Jan 2022 08:14:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=xPLH=SL=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1nCzvW-0004z6-75
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 08:14:42 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2062d.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2d415fa4-7f49-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 09:14:41 +0100 (CET)
Received: from AM5PR0601CA0039.eurprd06.prod.outlook.com
 (2603:10a6:203:68::25) by VI1PR08MB2895.eurprd08.prod.outlook.com
 (2603:10a6:802:21::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Thu, 27 Jan
 2022 08:14:37 +0000
Received: from AM5EUR03FT007.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:203:68:cafe::d8) by AM5PR0601CA0039.outlook.office365.com
 (2603:10a6:203:68::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15 via Frontend
 Transport; Thu, 27 Jan 2022 08:14:37 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT007.mail.protection.outlook.com (10.152.16.145) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4930.15 via Frontend Transport; Thu, 27 Jan 2022 08:14:37 +0000
Received: ("Tessian outbound 2877e54fe176:v113");
 Thu, 27 Jan 2022 08:14:37 +0000
Received: from 6fbbc44db5ee.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F76F7EA9-01D2-4494-81A4-B9F5CE172342.1; 
 Thu, 27 Jan 2022 08:14:31 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 6fbbc44db5ee.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 27 Jan 2022 08:14:31 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by AS8PR08MB7268.eurprd08.prod.outlook.com (2603:10a6:20b:423::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 08:14:30 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0%7]) with mapi id 15.20.4909.017; Thu, 27 Jan 2022
 08:14:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2d415fa4-7f49-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oCEc+zKkmkqTCdCnziPZ+ZQWzgH2zfHYlC70jkur7JE=;
 b=gHKy8Ni4Id+CZPcsAFKUvejGMxQT1nPsMXIgJQMgRoAhrNwF0RJbRoe/bmxwYO6RFkmfhSIftpinjYK/GhXdKgyVLzG+KrrLXMb4PL+YaUWB3XQ3kBSWw68zkcJEX6+TOpZjJr5UPnz41bmkZsGJQZQy0ahyoA3eeIAEI9Da510=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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=b0EqQt8RUsSu8VgzdL5+WAQiB5BwAm3AZOJunmEOp+N/Daias6q8BEYnymyCUnEMLHAkE2spkRvAqK3YutHplS966P/QcfYdZz9w3IWowRpFDAv3Gxz8fqk20ou3DtAokGlNuhBeW59AcOGbZCiaFwMGBWV/U8vJRoSs4vM8FZAxZlETUHOof138tppb5grYHBiWojEHmOOMNeAQu/SyKiw9G7h7Tn5RSVBFTN5fy1bODHgVozpiXDLigvWlAuYSEwN9lNOM+J1+a070IpVQ9G7Jo4ADhqrRToeAAGsMalMvNAPXoLC0WePHjoGM0pbI8lZ2unhQNyc2seoNCmPJvg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oCEc+zKkmkqTCdCnziPZ+ZQWzgH2zfHYlC70jkur7JE=;
 b=kpmIPviHHEzAu6Li3/T1QAuNAZc1RLo0yaW3Tz7EW6igS46Hh4OcVHYxMhqaUpzSGQ7B0qBIlXzk0V8jLmLk45Rw04+enrYaeZ+C258Q3OhunUyMDdWndJcWDPeMPFUaO27+HAEyPcOHtGOxUP7a4A0Ldn9itQNUNlXRht6IdTzXgYdArD2/ankMQzhOUYVSVLLOtiBVGImUXiFNbyTh+jv6oYBW7OQzx9Z5OSyhkNLE3AELNG+VFYwcBYP27DHAwVCAIXd3D3H+4TI4kj1vSatICyiSea5XbbrcQQGDa5Lt+XvKM5/Sf7rzx0nIwzXAZMZkjD/XhpvCcYP3f1eM9g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oCEc+zKkmkqTCdCnziPZ+ZQWzgH2zfHYlC70jkur7JE=;
 b=gHKy8Ni4Id+CZPcsAFKUvejGMxQT1nPsMXIgJQMgRoAhrNwF0RJbRoe/bmxwYO6RFkmfhSIftpinjYK/GhXdKgyVLzG+KrrLXMb4PL+YaUWB3XQ3kBSWw68zkcJEX6+TOpZjJr5UPnz41bmkZsGJQZQy0ahyoA3eeIAEI9Da510=
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: [PATCH 15/37] xen/x86: rename acpi_scan_nodes to numa_scan_nodes
Thread-Topic: [PATCH 15/37] xen/x86: rename acpi_scan_nodes to numa_scan_nodes
Thread-Index: AQHXsHMZzHhoPQlfrk6ax6b2f3dKq6x0SK8AgAMBXcA=
Date: Thu, 27 Jan 2022 08:14:29 +0000
Message-ID:
 <PAXPR08MB7420BA234D7996B78C4BF6F09E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-16-wei.chen@arm.com>
 <66b9e129-8c6f-22d4-644e-ffff1dc2b559@suse.com>
In-Reply-To: <66b9e129-8c6f-22d4-644e-ffff1dc2b559@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 8104951A642991428BD6DC96CC92F62D.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 1fe40e9b-10a4-4af8-688e-08d9e16d0f3b
x-ms-traffictypediagnostic:
	AS8PR08MB7268:EE_|AM5EUR03FT007:EE_|VI1PR08MB2895:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR08MB289539EE3E7D3B89469C2D3D9E219@VI1PR08MB2895.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:5516;OLM:5516;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 xftvOaElag3kJ5PXwOnkNXTw2SmwukbO3Kg8ogTjMybrQk/SuoxhQDayxvTOmBRMh+toszvxii7frYf52dl1w8q7VXI7+KNeEcgq/gmOk4chfqkA7HVJpbinCl7R3eSLHaDi7Bm4ua6MQjbkq5PlyFLzQSEhGsfmioSZQKTmu9aNRu+ZgyYWPsmKjBq0/ddtaBU8Tc9T6mkLTi0vxEcrCmlU9zHajVZMYs98Fb6kzkff6xtr5G83O26Wnx0tPOM4YgmLyFIn3hMQSj2DROfnrA9BZ9P0TJhw4gL7nZNGiK3cLWJwMzUXTq9MrST8aUnGyj9gwH8+keRvyFQfJvlq0F7ptg1u8MMPFG2rESQI6B2ae0M5MTd9MLaIWCoDhl1DNgkRlkhORw5+QVZ+VKPUfhsNUFySyqGEegnjrjpvLfK7YJyXRf6t0vdtOEqtyEDSh8SQwxRAysT9A6xgDhIUkH5HeHDaNoTYGBkV8hdnJ06f17q1Z8nXEmiSXtjpuZPEHBG1AGnGHvDK6fHdmtvQgw9wlnpjonC0/e5XEr0zqG+SWysZ20ejtDo18lNZThZWUQ4AMLoF7lHhoQ4yLk5ns1c2burjmU1rB1/8vryHFspgXJDlswkFbNO4kd1hG07g3neQ+PX75lbyFs1hGfIeQyiXpNYWru/By/5boMN9lN8fXYqDhZ4OTPKiCUtDLh5LkI2bzkR3NmuhCG1y5TSnjQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(33656002)(83380400001)(52536014)(38070700005)(7696005)(186003)(6506007)(53546011)(9686003)(26005)(54906003)(6916009)(316002)(86362001)(508600001)(71200400001)(2906002)(55016003)(4326008)(8936002)(122000001)(8676002)(5660300002)(66476007)(66556008)(38100700002)(66446008)(66946007)(64756008)(76116006)(20210929001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB7268
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT007.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	6af3be5b-1a42-4a3f-67c4-08d9e16d0ae8
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dDYASArGi0vWpwwjN0S6W0SBOgRbKoDzwFZv6ew6rX2e1d+mhL3z5589a3Kbmz/oXi+L493hPNIQ28aAlEIp4SN0AwS/X6QiimgOo8bt9PGur5N5i10pNnePG5km7dmfhwLbE84jNCGfqgBr54ZRrjOenfmgVvVry+CRK6SzpHSCcX++0bP/VtalD4EOPmrr4fV+KintpbMBOH9oYV6rqaFqJpU2Q6ixq2hVcO3KFNVXsc+mw2gT+DiWS2qVcIRwSP+VjL26ZXYcnWQ+/9bWvYd9rj02d5jk8J3miC8CA1iJcEOzm+9sEeorJlXu903uR3svuq4w4x0I7tjCz8II/75k7areT8YBIM9/69j1AkmvjlOLRKCOrqYD6yJO+AF4cwRWUbSVLAUvkQ3PhAQW7bYLY2Tiy6upDYR60rOc6VTG9/+lV9QT4L4gO0y1uQigYCReCjAbNjsP2STz5vsOqNHAsRGoY9Tk3xod6pcrrJDG3G9Dln6FdF/keVCK+FLuND7bhhNz/kc02nOCI9zzX3/vN8qSqdXVsW0b8I3QjqSKXMD/D+1Koh0lsWXwNAgcelTtdLF6Bs54ECFiVkdfhKQxNKzfJwR8MmvEfyw7Jid6OLMHkpg3R0tkvMi7xfD2TfBD9GlJQba71Jwa8cvDQGEaIOo9uvJAknGahmmFCDaiQPplFx/NYAJ5lU8bt33B
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230001)(4636009)(40470700004)(46966006)(36840700001)(83380400001)(54906003)(508600001)(36860700001)(47076005)(186003)(336012)(26005)(316002)(33656002)(70586007)(40460700003)(86362001)(8676002)(82310400004)(9686003)(356005)(81166007)(53546011)(7696005)(5660300002)(6506007)(52536014)(6862004)(4326008)(8936002)(55016003)(2906002)(70206006)(20210929001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 08:14:37.2247
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1fe40e9b-10a4-4af8-688e-08d9e16d0f3b
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT007.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB2895

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMuW5tDHmnIgyNeaXpSAxODoxOA0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiBCZXJ0cmFuZCBNYXJxdWlz
IDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyB4ZW4tDQo+IGRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnOyBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqdWxpZW5AeGVuLm9yZw0KPiBTdWJqZWN0
OiBSZTogW1BBVENIIDE1LzM3XSB4ZW4veDg2OiByZW5hbWUgYWNwaV9zY2FuX25vZGVzIHRvDQo+
IG51bWFfc2Nhbl9ub2Rlcw0KPiANCj4gT24gMjMuMDkuMjAyMSAxNDowMiwgV2VpIENoZW4gd3Jv
dGU6DQo+ID4gLS0tIGEveGVuL2FyY2gveDg2L3NyYXQuYw0KPiA+ICsrKyBiL3hlbi9hcmNoL3g4
Ni9zcmF0LmMNCj4gPiBAQCAtNTEyLDcgKzUxMiw3IEBAIHZvaWQgX19pbml0IHNyYXRfcGFyc2Vf
cmVnaW9ucyhwYWRkcl90IGFkZHIpDQo+ID4gIH0NCj4gPg0KPiA+ICAvKiBVc2UgdGhlIGluZm9y
bWF0aW9uIGRpc2NvdmVyZWQgYWJvdmUgdG8gYWN0dWFsbHkgc2V0IHVwIHRoZSBub2Rlcy4NCj4g
Ki8NCj4gPiAtaW50IF9faW5pdCBhY3BpX3NjYW5fbm9kZXMocGFkZHJfdCBzdGFydCwgcGFkZHJf
dCBlbmQpDQo+ID4gK2ludCBfX2luaXQgbnVtYV9zY2FuX25vZGVzKHBhZGRyX3Qgc3RhcnQsIHBh
ZGRyX3QgZW5kKQ0KPiA+ICB7DQo+ID4gIAlpbnQgaTsNCj4gPiAgCW5vZGVtYXNrX3QgYWxsX25v
ZGVzX3BhcnNlZDsNCj4gPiBAQCAtNTQ3LDcgKzU0Nyw3IEBAIGludCBfX2luaXQgYWNwaV9zY2Fu
X25vZGVzKHBhZGRyX3Qgc3RhcnQsIHBhZGRyX3QNCj4gZW5kKQ0KPiA+ICAJCXBhZGRyX3Qgc2l6
ZSA9IG5vZGVzW2ldLmVuZCAtIG5vZGVzW2ldLnN0YXJ0Ow0KPiA+ICAJCWlmICggc2l6ZSA9PSAw
ICkNCj4gPiAgCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiU1JBVDogTm9kZSAldSBoYXMgbm8gbWVt
b3J5LiAiDQo+ID4gLQkJCSAgICAgICAiQklPUyBCdWcgb3IgbWlzLWNvbmZpZ3VyZWQgaGFyZHdh
cmU/XG4iLCBpKTsNCj4gPiArCQkJICAgICAgICJGaXJtd2FyZSBCdWcgb3IgbWlzLWNvbmZpZ3Vy
ZWQgaGFyZHdhcmU/XG4iLCBpKTsNCj4gDQo+IEJlc2lkZXMgdGhlIHByaW9yIHRoZW1lIG9mIGlu
LXBsYWNlIHJlbmFtZXMgbm90IG1ha2luZyBjbGVhciB3aHkgdGhlDQo+IHJlbmFtZSBpcyBiZWlu
ZyBkb25lIChieSBkZWZlcnJpbmcgdG8gZnV0dXJlIHBhdGNoZXMgdGhlbiBtb3ZpbmcgdGhlDQo+
IGNvZGUpIEknbSBwdXp6bGVkIGJ5IHlvdSByZXBsYWNpbmcgIkJJT1MiIGJ1dCBsZWF2aW5nICJT
UkFUIiBpbiBwbGFjZS4NCj4gDQoNClRoZSByZWFzb24gaXMgdGhlIHNhbWUgYXMgSSBzYWlkIGlu
IHByZXZpb3VzIHBhdGNoLiBBdCB0aGF0IHRpbWUsIEkNCndhbnQgdG8gdHJlYXQgZGV2aWNlIHRy
ZWUgYXMgYW5vdGhlciBzdGF0aWMgcmVzb3VyY2UgdGFibGUuIEkgd291bGQgY2hhbmdlDQoiU1JB
VCIgdG8gIk5VTUEiLiBBbmQgSSB3aWxsIHRyeSB0byBtZXJnZSB0aGlzIHJlbmFtZSBwYXRjaCB3
aXRoIHRoZQ0KYWN0dWFsIGFmZmVjdGVkIHBhdGNoLg0KDQo+IEphbg0KDQo=


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 08:16:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 08:16:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261292.452235 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzwp-0005bI-AG; Thu, 27 Jan 2022 08:16:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261292.452235; Thu, 27 Jan 2022 08:16:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nCzwp-0005bB-6U; Thu, 27 Jan 2022 08:16:03 +0000
Received: by outflank-mailman (input) for mailman id 261292;
 Thu, 27 Jan 2022 08:16:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nCzwo-0005b1-0x
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 08:16:02 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 59c210a1-7f49-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 09:15:55 +0100 (CET)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2056.outbound.protection.outlook.com [104.47.2.56]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-12-hQgmTGSfPweb9hXvzNuNrQ-1; Thu, 27 Jan 2022 09:15:58 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM9PR04MB7588.eurprd04.prod.outlook.com (2603:10a6:20b:2dd::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 08:15:57 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 08:15:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 59c210a1-7f49-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643271359;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=Lk4t9bJ6B9lspMmE404zJ6wngCG49istLQYM/3AUBmg=;
	b=bgCZOeR7SJHVvfZ1CHLdlKZTZ+n3tQcweLNFjOha6+Z8wkmCr5Jk1C2CiHjzwMjWBljnq3
	uUs8mdJaOKTTNPqOdTH5uuXxnMO4phR3Xm2wFV4TxXpav7JV2F7Nr+77DF2nsMKdcyf249
	yzsKMmGiSkZEm8WWgMKOKBScMSlPLck=
X-MC-Unique: hQgmTGSfPweb9hXvzNuNrQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YtALkATXAKH1EGmbnxJz8d533SCUnbrW5T/M6AbSgo9P2234ip7NA2LonoIz267Q64gp/ye84HfkLPdCG7wwzjXPZ5CVtkOSYC2JqCPYLGVdrwVYc/pJT2sW9qzOTZtArMHZQZSmqS0vGstgfpVmdQtRoENEfAe8UGiDquPI6O66gAtz9F7Vl104QdEu/TsyqlzKcOx2QQYsqxm6yUor9NJpR3fEMl8zzSuIMW2uxc+STI3YwFj44TSx3gOFhyx8L3lU1k/vBQbYXYS0oEHV0TjMYbq3rSJj+1E8S7xYXkLaebRsZRG5f/jgunziBM3twiReyP1ZozAPxoKOYAjXYg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Lk4t9bJ6B9lspMmE404zJ6wngCG49istLQYM/3AUBmg=;
 b=cJ4FhFEhJLxn95XZMbZr3Ydy7R+eDqQirOL1yNea+8WVP7X181F0BUGzrX2HcE9Tufk9G/M2sqTVHvkqrYakHaDZFd0xy5ge/HGl/9vARUHEaN9feHcUKegr/zsuU7+jzLxqQ6pd2ZwNFFdYPOdXWBNqHkzsVKWoZ0pfvUpV8HiZvLjHhLYHUDb/JDcYcU86y77YQeFTAxNbhlS5ZfAhQsMnIryxEUmiYqmeteBRW7nRNbmAR1q3aM7sHXc4ZZJOmd2lZR4SnScv2q80xS6BNJX6zH9LC2WSamkl1nFivGm/bak1YRkkuKT7ykPlowqeQYEr0jsLcZj/GFQ3/VIYXg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <03ec0af6-326e-35dd-3e0f-8cac8359b725@suse.com>
Date: Thu, 27 Jan 2022 09:15:56 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v2 2/2] x86/Intel: use CPUID bit to determine PPIN
 availability
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <64a5a3ac-8f4c-b13d-0b7d-4c4ec15e2721@suse.com>
 <2d13a663-f03e-b1e2-0c38-5dc3282dab10@suse.com>
 <31121cc4-5980-3e06-89ea-c2268e2ec53f@citrix.com>
 <6b07b22a-8599-320e-5746-fe1fe279c62b@suse.com>
In-Reply-To: <6b07b22a-8599-320e-5746-fe1fe279c62b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM7PR04CA0025.eurprd04.prod.outlook.com
 (2603:10a6:20b:110::35) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 23f289e1-3d56-4893-6e3e-08d9e16d3f01
X-MS-TrafficTypeDiagnostic: AM9PR04MB7588:EE_
X-Microsoft-Antispam-PRVS:
	<AM9PR04MB7588B8FDF00BD0570715B565B3219@AM9PR04MB7588.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:
	Ypqm4nJrrEO0N1Dkc1n7jwDnXfrzXyds6jpZILXm6q36wPvd7ZzDqv/ov93DnDVVpv38mfeHBmd6pygIelfzDN91HEbCxVzfxdTJaZWtS7KiskkDX/tyt5eSOwpX8Fl4PTaUBEtzpjooQBXzI7f7G126IlbuEr/bWbn0je9ORLb3c4Xts4+BGpBURQDJiAE8HRh+9/A60XH4xOoscH3R+Nl9RlQe2d3TbLBQ3pkJ2pIDANb3pDK2JW5Wbgj1/fym8ot0dtgjm/tCrHHdTYpTxNo+dtmkmR9y+lpJ3gSTdD3kKAqmJPC/PSOtAYsnnoP8vWpIANHFY/Gmqmxpgoxmve7fR2WOwLzjm3Ngs1i3n+UiRWSZYGcPwiFhutCY8HY+ULNqdxFl7ZZxHygKOfSJ8tEizAd+ZdGIe845uGiLq/53du37gMKTxMhfrBoEqg7kizUVo9hknOFG3vR5d9Gyu9gwWjM7ncuPl/GWO1+6cposVUYlJZtmzLWiTK6nOv8G6EpBb3S7utZQJRTcXAbxx+WuupQNRzEqU+BuOC66kLU5JVzyPOsWlsallFItyaqSk8ofs0mHASer0EuCaFs8IVDJnX8YzbUL0mlTOPCWYRN7Z6ilWXSHBDcV+hSWpdRESGH/nFZoLhbGXMZ0RvruJX1g1zVYXHM8xHjI8naT1oaSc6VpOooY9SgL6Fbv5V9P8SRFmvEVdifwuaAPzkCzvInGVrssfrcFnUoAq2VBnGjmRnUcMmvz5xU52ngqpw0p
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:(13230001)(366004)(4744005)(5660300002)(6512007)(2616005)(6916009)(6486002)(2906002)(54906003)(31686004)(36756003)(508600001)(31696002)(86362001)(186003)(26005)(316002)(66476007)(66556008)(66946007)(53546011)(38100700002)(4326008)(6506007)(8936002)(8676002)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WlI4WFlJNTlwVWRpcnRtVjdZU1QxdWFlcEVyYmVlRnNBdVQ1M3R1aytHNzlz?=
 =?utf-8?B?SzBJWU1oMzAzRVpXcW1ycmlxOGY2V3FQOGp3a2NlM3RKNW9udjNwRFVZaEZ1?=
 =?utf-8?B?RURZQkdGQ1M0OEltOE5OTVpwNENGN3g1MncrSnprRmRsYjZQaEh4MXhEcFVo?=
 =?utf-8?B?Q1hzY0ptbkg1WEZVQ3hPQ204aldwWDVYYU8xN1RZTVRaZjF1bUpCczY3OU1N?=
 =?utf-8?B?dStYcWlnMWxDMitkSjQ5L3NLMkgwWWFJTExCa3dya3RoelBHVndWdnBjOTNM?=
 =?utf-8?B?Y2REckJ0aFRKangxK052SzNaM1FpVUJrN2ladit1b2p6N01hU202VENlTGJK?=
 =?utf-8?B?Q3BaUkJrZUZYWWM1SDdqcnRpSDhRVnFDZ0FNNjllZy9NbVJ1c0lNMVNWWENQ?=
 =?utf-8?B?alV6QWwrZHFDZmprRHlsTkJKdzN2QjVrR0x1UjIraVR2STF6MnB3cUxFUWcw?=
 =?utf-8?B?dUEyZVZvdTNXb2lTa3BIV0JPREFad29FY1hodHlFK2ZZU2l3MkVValczOTFu?=
 =?utf-8?B?WGkxSnZKWXBHYlpLVzNPcGI5NExRRmh4K09Zdlp2MlB2SERPZTM4ZVZmYjdM?=
 =?utf-8?B?dmpkWUE1dVZVWk1oR0JxeFRoZ3ErMmhTaXp1Vlpici9DcE01WGxoWVJwUGtN?=
 =?utf-8?B?cE5sY2xJU1BtSHFLVWpkRkYrZ0FmSm9CUXZ3dGpjMmxsVG9Cd3A2cWZoZ3Yv?=
 =?utf-8?B?V3p2Y0g0cy9WbnBGMHpQUC81UUMxZmJCR1owWFFRc3UrZ2U2KzR4ckJ3WlhU?=
 =?utf-8?B?THhOVXFyQkMvaUtvc3ZEZC9JaTlZNWR4a2V3VnNlRSttQ1E0ZVBoV1BZL3JW?=
 =?utf-8?B?QTZaa0NWMWNsYUIrR3RKTHRQUEdHWS91SmtwbDZQL3BkZytLdXp1dk1sRFZD?=
 =?utf-8?B?L0F5ZGxXU1JjUVBzUWpNZDFhK1h5MUR5V2Zuc251QUkxa2RsK3lveGVVUWgw?=
 =?utf-8?B?OTBkMW04TGJDL2M3MHN0TW9FY0NyN1hoTDYzczN1Mllsc2RzTGdSOEpOWFFm?=
 =?utf-8?B?RmNibmtETERyejdBTXU5TEFQOVFuZmswckdrWmNOMEg3cXpsaUY0QTlwMTIx?=
 =?utf-8?B?NEdBbmpLdTNDUmVPcG5uKzJ6U0YrcjJxY2JiOWU0Q3VYd3Q0ZnpBMGh3dnRC?=
 =?utf-8?B?NkZuVExHQjAxTzlUdTVqR2o4dzBnS3dhQW5BdlIvREF2QlR4Y0kxQ0NmWUFq?=
 =?utf-8?B?RU9JZE9aZE5YdWNkdGMzWWdVNDh0aDV6aDRzMmJFN2ExQTJCWmxhUlNKZFdj?=
 =?utf-8?B?WkpDRnAzd3hONjQrMzNhbUgwbUZLWG4wdWY4SVI3d01iSnFpcUVHQlJ0TVRX?=
 =?utf-8?B?ZDdKeTdCV0dnV2xvc0tRQ0xmRjdNUWpqdVBGYlhnQmtFa2pJSlY5UDI0eHBP?=
 =?utf-8?B?bFVjYmVEc1JkOWhiWmJZNzRBNU5VTE1GVjNOOHFnejR0VkRZcnErSU9LMmJE?=
 =?utf-8?B?ZUhvaEZXMjlsSEQrRnZJbW43T1p2SUQyYUkwVWN2SjZIWjB1SkRlQk5vcXQw?=
 =?utf-8?B?NStQMjY1Z2lkd25PYk56bUpxYkdMb2I0Tk52N3NkV1Q0bHYxZGQ2bUhyR2Zv?=
 =?utf-8?B?T2RjalNHNURmVDkya1N5V1l2bFFTNUxFK3VVTGMxaEg5T296WWFqY0FlNXJ0?=
 =?utf-8?B?bW9oRys4UWpOaGsrajJTait6ek9QR2tmZXg1LzZwNkQ5Z2FHdXhIaVhxaExN?=
 =?utf-8?B?dFEyQkNwSmdyRzgrWXB5L25LRklJcE41YUpsNEl6MGVIL1lWSHlvNGtlSVBO?=
 =?utf-8?B?Z3M0WHZQWWgycVpTU0pWdGhWVFhsbU1kNW1YYmg3OWgvaVY3TmVhQzZRbXRn?=
 =?utf-8?B?Ykx0eTU4VTlNV3BWTThDSzA1aVhKS28vK3FJOXp1a251S05mWDRFUjRmUWR4?=
 =?utf-8?B?TkM3MnVKNVpLTkRKMG9OSmdnS29sekRHYTZsMjJXZks5L01XUXFOa0lOYTVC?=
 =?utf-8?B?T28zN3J2ZzV6S0ttU1JOSmptZ3p6Z011ZWwwbWNGckV6dFZXOXpwSjhsNkE0?=
 =?utf-8?B?S3RHR1crMGE5UThpN1B2cjF0NjMwVHcrWjdRWVQ2d3kzZlBRT3FZZVhQWUdC?=
 =?utf-8?B?eDMvZXRWSHhyZU5GNjZNUkJ5K2RXdkVUQUZTczVhSlZEVGhtNHBLL3hRVTla?=
 =?utf-8?B?VW94WEFjVWdDNkwwNDRvS0JWcnJuQURXNWFIb2FvR2hnS2dFS2FFblVPd0dT?=
 =?utf-8?Q?9SB00lGa4Tv7mM7Wl91i1LE=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 23f289e1-3d56-4893-6e3e-08d9e16d3f01
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 08:15:57.5472
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CoDDaLJIKUAGBXD/T2+JWuBF3rTpgiT48m402zUasf2KFXUFGw1BieSn4kIpisVmCn9F0fFK4JfcD8YT0DPrkQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7588

On 27.01.2022 08:56, Jan Beulich wrote:
> On 27.01.2022 00:30, Andrew Cooper wrote:
>> On 20/01/2022 14:17, Jan Beulich wrote:
>>> @@ -188,6 +189,10 @@ struct cpuid_policy
>>>                  uint32_t _7a1;
>>>                  struct { DECL_BITFIELD(7a1); };
>>>              };
>>> +            union {
>>> +                uint32_t _7b1;
>>> +                struct { DECL_BITFIELD(7b1); };
>>> +            };
>>>          };
>>>      } feat;
>>>  
>>>
>>
>> Looking at a related patch I've got, at a minimum, you also need:
>> * collect the leaf in generic_identify()
> 
> I'll need to make a patch first to collect 7a1, as it seems. It was
> actually 7a1 that I used as a reference, iirc.

Actually that's there, just that I didn't spot it when looking for
the "(7, " pattern in cpu/common.c. This form is used only in
early_cpu_init(), while generic_identify() uses
cpuid_count(0x00000007, ...). All quite inconsistent ...

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 08:22:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 08:22:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261295.452246 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD03Q-0007A1-2p; Thu, 27 Jan 2022 08:22:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261295.452246; Thu, 27 Jan 2022 08: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 1nD03P-00079u-V4; Thu, 27 Jan 2022 08:22:51 +0000
Received: by outflank-mailman (input) for mailman id 261295;
 Thu, 27 Jan 2022 08:22:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9wmt=SL=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nD03N-00079k-P0
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 08:22:50 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4b9cd2a3-7f4a-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 09:22:43 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4b9cd2a3-7f4a-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643271767;
  h=from:to:cc:subject:date:message-id:
   content-transfer-encoding:mime-version;
  bh=EJ7BMsDVn5BfVRvqTIlHUesTbdGl8VjwcDwNOTmq/jM=;
  b=Lfw9zOwnP49QzlF5HAS/7YDxCRtlXwYunaDXvnQ/v89KhNSixC7OuuwG
   kMk+PBK7qn9YmcYJu/RQhdrhoKmoXN8O/fnZyzX0K5wrT4wmm1CTk31RJ
   EMwXTivPW1j5++U4ws+1rUuPrHoof5H+mtdfAaVED+BNyHDtVMXKtTy6H
   8=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: i2ytqYmjw/nn2ZfamQEBAYynoSlV3/6U0bU4HwSJNRia+YjD2VJp9LNlzE0h+C+sql24nwSSLI
 CHtAwc4gevaaBUKuNzFxBhY4w9EMDqFNp7ogygNMFk2FGKh8+iLf5PjVgfML3c7aK8TiR7eEzd
 lx5Fpy01ob6h0me8ky9VyndCnR9Mg4crpPPay0mF6zE7AU5ttutOjMYxqErQ+HrGT2PyW9v4VZ
 1z939l64hCXUCznZ5pM3LL0id/1zvLoe3Sjj0uJcR9l7GViK0Fpwp7r7QWI6Uh7mlILttRoTYC
 wp42GZeNqhjEFO7qWry11kL+
X-SBRS: 5.2
X-MesageID: 63277558
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:TTnb76jyol1QSidi2O/ldu4EX161KhYKZh0ujC45NGQN5FlHY01je
 htvXj+HPf2MZzSke90lbom+oUME6p/cy4BhSAY+qSE8ECMb9cadCdqndUqhZCn6wu8v7a5EA
 2fyTvGacajYm1eF/k/F3oAMKRCQ7InQLlbGILes1htZGEk0GE/NtTo5w7Rj2tcy3oDga++wk
 YiaT/P3aQfNNwFcagr424rbwP+4lK2v0N+wlgVWicFj5DcypVFMZH4sDfjZw0/DaptVBoaHq
 9Prl9lVyI97EyAFUbtJmp6jGqEDryW70QKm0hK6UID66vROS7BbPg/W+5PwZG8O4whlkeydx
 /13raaORDoTOpHOu8UsaxkDAn0mHL1JreqvzXiX6aR/zmXDenrohf5vEFs3LcsT/eMf7WNmr
 KJCbmpXN1ba2rzwkOnTpupE36zPKOHxO4wSoDd4xCzxBvc6W5HTBa7N4Le02R9u3ZoRQquDN
 6L1bxJgMRDnWjZ/PGsII41ipdX3vnPvTmxH/Qf9Sa0fvDGIkV0ZPKLWGNjfd8GORM5Vtl2Fv
 W+A9GP8ajkQOcaD0zOD/jSpj/XWgCLgcIsIEfuz8fsCqEWa22g7GBAQE1yhrpGRlUqWS99Zb
 UsO9UIGtrMu/UamSt38WRyQo3OeuBMYHd1KHIUS+AyLj6bZ/QudLmwFVSJaLswrstcsQj4n3
 UPPmMnmbRRRt7mSRWOY562jhzq4MigILkcPfSYBCwAC5rHLopw3jx/JZsZuFuiylNKdJN3r6
 2nU9m5k3exV1JNVkfXglbzav96yjqLRdDA42z/TYmCGzzJBZNW0O9SJ+VeOuJ6sM72lZlWGu
 XEFne2X4+YPEYyBmUSxfQkdIF26z63baWOB2DaDC7Fkrm3woCD7Iei89RkjfB8BDyoSRdP+j
 KY/Uyt17YQbAnalZLQfj2mZW5VzlviI+TgIu5npgjtyjnpZKVfvEMJGPxf4M4XRfK4Ey/xX1
 XCzKp7EMJriIf47pAdavs9EuVPR+ggwxHnIWbfwxAm93LyVaRa9EOlZawHVNrtnsfvZ8W05F
 uqz0ePQlX2zt8WlOkHqHXM7dwhWfRDX+7iowyCoSgJzClU/QzxwYxMg6bggZ5Zkj8xoehTgp
 RmAtrtj4AOn3xXvcFzSAlg6Me+Hdcsh8RoTYHJ9VX71iylLSdv+t883KspoFYTLAcQ+l5aYu
 dFfJZXZahmOIxyakwkggW7V9dw7K0/z1FvQZkJIolEXJvZdeuAAwfe9FiPH/ygSFCun88w4p
 ryrzATARpQfAQ9lCa7rhDiHnztdZFARx7B/WVXmON5WdBm++YRmMXWp3PQ2P9sNOVPIwT7Dj
 1SaBhIRpO/spY4p8YaW2fDY/tnxS+YuTFBHG2T77KqtMXWI9GSU3oIdAv2DeirQVT2o9fz6N
 /lV1fz1LNYOgE1O79hnC79uwK9nv4nvqrZWwx5KBnLOa1j3WLpsLmPfhZtEt7FXx68fsgyzA
 xrd9t5fMLSPGcXkDF9Oe1Z1MrXdjakZw2CA4+40LUP24D5M0ICGCUgCbQORjCF9LaduNN93y
 +kWp8NLuRe0jQAnM4jag3kMpXiMNHEJT44uqooeXN3wkgMux1xPPc7cByvx7M3dYtlAKBB3c
 Dqdha6EjLVA3EvSNXE0ECGVj+ZagJ0PvjFMzUMDeAvVyoaU2Kdv0U0D6ykzQyRU0g5DgrB6N
 WVcPkFoIbmDomVzj89ZUmHwQwxMCXV1IKAqJ4flQIEBc3SVaw==
IronPort-HdrOrdr: A9a23:jjQVPqAOh8+h/1XlHehCsceALOsnbusQ8zAXPh9KJyC9I/b2qy
 nxppgmPH/P6Ar4WBkb6Le90c67MA7hHP9OkPMs1NKZPTUO11HYVb2KgbGSpgEIeBeOiNK1t5
 0QC5SWYeeYZTMR4LeYkWuF+r4bsaa6GcuT9IHjJhlWPGVXg/YK1XYENu/XKDw/eCB2Qb4CUL
 aM7MtOoDStPVwRc8SAH3EAG8zOvcfCmp7KaQMPQ0dP0njFsRqYrJrBVzSI1BYXVD1ChZ8k7G
 j+igT8ooGuqeuyxBPw33Laq75WhNzi4N1eA9HksLlfFhzcziKTIKhxUbyLuz445Mmp9VYRid
 HJ5ywtOsxigkmhCV2dkF/I4U3NwTwu43jtxRuzmn34u/H0Qzo8Fo5omZ9ZWgGx0TtugPhMlI
 Zwm06JvZteCh3N2A7n4cLTah1snk2o5VI/jO8oiWBFW4d2Us4ckWUmxjIVLH48JlO71Gh+e9
 MeT/00pcwmPG9yVkqp8FWGm7eXLzYO9hTveDl3hiXa6UkSoJlD9Tpp+CUopAZ0yHsMceg02w
 36CNUaqFg3dL5sUUtcPpZ2fSLlMB2FffrzWFjiU2gPUpt3f07wlw==
X-IronPort-AV: E=Sophos;i="5.88,320,1635220800"; 
   d="scan'208";a="63277558"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MfD0IS1KBUAzifJFY7qifaH02XfxzJVljTC6QmCaprmfY38zIsZhPH196rFJutqfyl6Xu2YhqiYhrKOnaSyBwfjdQ0hzCXDNuUPJTxNt7DWxFbBOykDb3IY9k42Bi3Q/IeGp0H8I2vMNDjX7sCf6IAGy8mA2Gmc/zuyf2CUkNew1goitW6KXa7f43XI4w2I/2GC3Ft+oxP1RrORHbpQ0z9CIK3NKtS2d+dES93WkIaHkmKy7V+5tnTmN/qjjItIgRFkOj665fK5op3ioPhPqzuRu2UtgUpwh37N9v+eurJl9mz5ZIY/DyXj9Ylb8Cn1w8fgSNdAGx8472GUWRn2YqQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6tkCapznQWJ8ExDQRvBzeDu8ghGeLcH/K+PaPNmFKp4=;
 b=aUZRUZnJeFSP7piYyWT4L8LD9uvmsFHAT+moXahwC/ebxvmrfRuwFWHslNurUUW6FAEUldYboAgacoVbItNrN8PXNjAJGmzfheJ1JzeYFSzKvAibmBozOzvpLecgcuqDr2U4pWlcly2J/thhIqjf46A3gF/2Cd+rfJeqcAlhmKRxyGNoMJofpcWn3x6K+229pKPpNECiHcmiY/Y4pplgJdlAt7yUkOIFr45wSVlT63TMSkBXvOY2NPshYIZRLaOJzlGfuBBUDFpJS3siNmcU6xJltOSa2ULZVf3xK1XJer8CPyC4dQGdTOcDPjRlecwErb54poZt/XcNHHJpAPTr5A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6tkCapznQWJ8ExDQRvBzeDu8ghGeLcH/K+PaPNmFKp4=;
 b=qhlR4VGLNQXf0C3w8BVP4gXYjGynbT/gstA72aJolTctqFbhphM0Bx1J6k+WyDtT8Ldubf3Syvy72veyYfdfTxyXSKvr1EhPIP60JRRXU1kR9lJiTyt8jc9F4htDfEL8XPKpcssvDV2/1FDNE4sBT1J/0oEPuOukElKKYUuqsSU=
From: Roger Pau Monne <roger.pau@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Roger Pau Monne <roger.pau@citrix.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, Wei Liu
	<wl@xen.org>, Paul Durrant <paul@xen.org>
Subject: [PATCH v2] xen/pci: detect when BARs are not suitably positioned
Date: Thu, 27 Jan 2022 09:22:18 +0100
Message-ID: <20220127082218.57902-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.34.1
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MRXP264CA0007.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:15::19) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4e9b2002-b88d-4d92-982f-08d9e16e29c6
X-MS-TrafficTypeDiagnostic: BN8PR03MB5140:EE_
X-Microsoft-Antispam-PRVS: <BN8PR03MB5140E353425F017EDFAFB7398F219@BN8PR03MB5140.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:248;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 6lsUfyYCNK/l4R4TvvjHDWJMLRjcI6jXsOetdB00YAcSGzpcJNYuJJLIMREPcxp2q+x4K3faZlFF1AR2gwupdiz41BQAKJZiExGnyGErIxmB5GVBqQ5sqPLXf5wmzEnakx6qyfvzirfJIMoXoWu/QIOzs7CiXnjAzZMcA7wHotyEo74PvbZxn54XVbqdCokavJ9VORL/MvL+04MVnOTbTxRHEJdJkN9sWogtFV8VO9B01sw1DubDdeAoylIFyNGCLmlTj27HDL29IKTSZuAKXhYqGYjxNk9GCDMooy3zs0cZvmcf4CY+QGLbsWzG2h5Mn0Ebr/jE6oIXuqBIhm40JxRIsvEXdSGhD8o1lcduV274Ct1cswHvaLPcpi9Xwt3PcYe1pBEQpb3qZLFwwArpynFDNaPbesGDYx5S+aTFNY33c2Ec2SH45Oi5xrJXGETwz8eI0gGJpztxx90Dd/NkIKjXtZRvZwdHL4Sc1iokb+QbtqdeKWIK6wfzlFXSNVCI6ous+BqzbC18lI0T82FZkaAqKsbemamYFG0/TerKQu5ovrCHVEKmycCLRR1/m4cW7e8HEAtG9NuSk0fGJIwxPq2fD2GCORePIbvyvEyQ5ZZEU1/70JO1OLDu4dWK0NxqIuU6GCepSc8R+PHpg3goTg==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(86362001)(2906002)(8936002)(8676002)(316002)(5660300002)(4326008)(1076003)(6486002)(6666004)(6506007)(6512007)(2616005)(186003)(26005)(6916009)(508600001)(54906003)(36756003)(83380400001)(38100700002)(82960400001)(66946007)(66476007)(66556008)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?WVUvYU5oQjM5UXlwUzhWcGxKaFJSVFpucC9KRFRxZjJUQndSR012SEdxOER5?=
 =?utf-8?B?REZTbys4MFg5K2hMWjB2MEtoS0FWdGQwT2I1OThlYTV1L285MS81UXkyM0dZ?=
 =?utf-8?B?NzRzbzFFRlZGSVdxd0lpNzZqS1dpL2VBTTBHb1RLMlBuRTN6SnA2bVhuMjlv?=
 =?utf-8?B?Vit3MnFyNEZvUm5NbDdBN2VFTkhnbG9ISDZGQWZuTllHMnhVa2NtblI5QVFv?=
 =?utf-8?B?UTdjajVuNlRMdW91TDRtU1c1SEhHb09RM2l2WS9sNE8xbFZWemV6VVBkYnRR?=
 =?utf-8?B?T1hDTjVYSGRwNXV0MFA3aml5MjY5ampzYTA5d1VNY2RPN0o1YXNKbzVvNlZz?=
 =?utf-8?B?RVoxZjVZek50ZFdsTHdEVVVGL01pcWh5aTJkVDNHOSt0MHZaWUNoK3NsV0ZU?=
 =?utf-8?B?eElsK1JRU0k5WkFzNlVNcDQrYVY4NTkyMFVSZlB3L2pQV3hoaDIxZzZjVHFT?=
 =?utf-8?B?QXNKaC9WVG1IZS9vb1VXK29hUXhmVzNDUEZNR1Qyc2FzNUhoOFNlRTNOdThW?=
 =?utf-8?B?TXJFOURiY3NNNGU3R0ZrUWJCRDR5Tkh5SVA5NUVGTWhpYWdZcDVyd2laeHNY?=
 =?utf-8?B?Yk40WVlVSExrbmEwaVVvMWp1azZYcDVPNU0zend0c0M4UGVzVnZTQy9kelNi?=
 =?utf-8?B?dUwwVUxuUTZkOUl2a3BlVzMzZkxLb2xzMWRyNUJUQmNNYmVCT2Z6Z3NGczEy?=
 =?utf-8?B?REFsUmZUOG95ZlFZU0JMY2NYWWZ4K3hCc2tvaWVqemFsRGRvL21DUnU5UGpP?=
 =?utf-8?B?VFVpQU53dmtJYzE1bmFFWGk2Mnkrbkt4WnRhaTcrWWlGQWM5Zk0zZ1RhWkxO?=
 =?utf-8?B?VkR1Q3gvWHE2WlAxb1djR2w0NExnRFV5ZVNXN1dreTQreTlEVUJsUFFyb09m?=
 =?utf-8?B?L21JdlJNZ1VuTFNQSW1xalFmdWw0TmdCOVBCcGRldU1tTlpZNDh2ajM0MmNk?=
 =?utf-8?B?OExYOE53WFhGR2pDMlNmSmdLRGRGeFNhcTJ6TS9zZ3o1S2Rzc3VaRm9ybEg3?=
 =?utf-8?B?V1FXM2RLNXVzOE5qT0oxRGl3a0owRXMyd3k3dXJkTzVFK2grRTAxT2Rndmc2?=
 =?utf-8?B?RjM2YXVQRHpUUXluRXJFeXhSZU14UXVEQ3NyRmRXdzVrcS9RU2ZuUEdWcGJM?=
 =?utf-8?B?c0JYb2puSVk3WWhvSEF6dyt0Zk1nakg1QVY5OTF5YUNoWmFvY1lycUNiVjly?=
 =?utf-8?B?RlZqOWQ3YStEWWVlZnVYZWgrOC91TkJnamZKZmVnT0NWeVVhbHVmRVMrN2RR?=
 =?utf-8?B?Sm8weXo3ZWxQK3h6RCtOekZZQjQrWUgzOEZyeFVJbGU3d0ppbDI0eFEwOXlj?=
 =?utf-8?B?bmZiUUo1dUE2VnBSN0lOeDAxV2EyL2FaS3VmUHA4enNBcHROYzR6K3pMRjMr?=
 =?utf-8?B?dU1OSWNTWCt4eHViTWVGNThVK0RHa1hCbSt5Y01YN3JicU5MOEdZS0g0SWFW?=
 =?utf-8?B?eWx4SGRiMmdtVXlJcXYxalhXSnhzZ2gxa3ZkMjdxbEQzeDEwVlZpcG9xUVVM?=
 =?utf-8?B?UHZDNGVRMEpReHZ3VXowQTF6Q3NmbEQxU2xGMHVmVmRhenFWb214S0dyNEs5?=
 =?utf-8?B?bVJYalJTZC9XcERLMEYzbEV4N1JUUHpYNmhRMHJ1OVVSMk9hQVRITS9iWW9m?=
 =?utf-8?B?ODc2M3J0Q3hlWTlleE81NGpxZXM3RHc1bnZEZjZpOHdwSU1nSDJsMDJSWDB2?=
 =?utf-8?B?dE5mWis2d3R6Qm9zUVQ2Y1FhdmN6OTVyK05OeHc5aGF0LytjNlF2Q0owNzhL?=
 =?utf-8?B?cVlZaitvN2xDYWIzRGdrTjJ6SzN4MHpLNkZsVlVuNEQ4WUxOUzJlQzlVcnlz?=
 =?utf-8?B?N3FVL1ltOXZIVktDVEdyU09hTmdiZ2UwaXVNZk0ybmJSQTYxR3NjOEpRUWNM?=
 =?utf-8?B?Umd6SGI2dEpsZmpXZzVXNEYxbXowdG9zSDBVMnVIbXJINXBscGM2Rys3NlhD?=
 =?utf-8?B?bkpLN3ZFNVNBdFNFVDJqMHNIeTlNK2k5a2tzYk1XUi8zemF1aVAwZWVlVFNv?=
 =?utf-8?B?UDA2Y1VHc1g0Kzg0aExVUHQwZjhrUUliUDBScm1BbkNONURZT2drNDVxZ0l5?=
 =?utf-8?B?SHVlazZZbkRyUko0Q2FMK2FhVCtyejV4V0oybGpYVXlld05Lb25semNoMzdN?=
 =?utf-8?B?QmZCSjZXalRZRG5YQzJKNlNSaWR3OWZjQXlPbkJET2VyS3dzWHljdWtrZnVs?=
 =?utf-8?Q?0xOZUD8JCjrfwA3xlIfU5VA=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 4e9b2002-b88d-4d92-982f-08d9e16e29c6
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 08:22:31.5512
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ukt0wKS6QOb/w/1uaT8BNTp18HgN15j4/In88h5QSd89Rm0H3Zo5HSP/C45LmwmKnD43Bu1xnsI6IjihS+E8JQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR03MB5140
X-OriginatorOrg: citrix.com

One of the boxes where I was attempting to boot Xen in PVH dom0 mode
has quirky firmware, as it will handover with a PCI device with memory
decoding enabled and a BAR of size 4K at address 0. Such BAR overlaps
with a RAM range on the e820.

This interacts badly with the dom0 PVH build, as BARs will be setup on
the p2m before RAM, so if there's a BAR positioned over a RAM region
it will trigger a domain crash when the dom0 builder attempts to
populate that region with a regular RAM page.

It's in general a very bad idea to have a BAR overlapping with a RAM
region, so add some sanity checks for devices that are added with
memory decoding enabled in order to assure that BARs are not placed on
top of memory regions defined in the memory map. If overlaps are
detected just disable the memory decoding bit for the device and
expect the hardware domain to properly position the BAR.

Note apply_quirks must be called before check_pdev so that ignore_bars
is set when calling the later. PCI_HEADER_{NORMAL,BRIDGE}_NR_BARS
needs to be moved into pci_regs.h so it's defined even in the absence
of vPCI.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v1:
 - Add comment regarding pci_size_mem_bar failure.
 - Make e820entry const.
 - Move is_iomem_range after is_iomem_page.
 - Reword error message.
 - Make is_iomem_range paddr_t
 - Expand commit message.
 - Move PCI_HEADER_{NORMAL,BRIDGE}_NR_BARS.
 - Only attempt to read ROM BAR if rom_pos != 0.
---
 xen/arch/arm/mm.c             | 11 ++++++
 xen/arch/x86/mm.c             | 17 +++++++++
 xen/drivers/passthrough/pci.c | 69 ++++++++++++++++++++++++++++++++++-
 xen/include/xen/mm.h          |  2 +
 xen/include/xen/pci_regs.h    |  2 +
 xen/include/xen/vpci.h        |  2 -
 6 files changed, 100 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index eea926d823..4626e9eb8b 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -1625,6 +1625,17 @@ bool is_iomem_page(mfn_t mfn)
     return !mfn_valid(mfn);
 }
 
+bool is_iomem_range(paddr_t start, uint64_t size)
+{
+    unsigned int i;
+
+    for ( i = 0; i < PFN_UP(size); i++ )
+        if ( !is_iomem_page(_mfn(PFN_DOWN(start) + i)) )
+            return false;
+
+    return true;
+}
+
 void clear_and_clean_page(struct page_info *page)
 {
     void *p = __map_domain_page(page);
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 1397f83e41..3f451134c6 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -783,6 +783,23 @@ bool is_iomem_page(mfn_t mfn)
     return (page_get_owner(page) == dom_io);
 }
 
+bool is_iomem_range(paddr_t start, uint64_t size)
+{
+    unsigned int i;
+
+    for ( i = 0; i < e820.nr_map; i++ )
+    {
+        const struct e820entry *entry = &e820.map[i];
+
+        /* Do not allow overlaps with any memory range. */
+        if ( start < entry->addr + entry->size &&
+             entry->addr < start + size )
+            return false;
+    }
+
+    return true;
+}
+
 static int update_xen_mappings(unsigned long mfn, unsigned int cacheattr)
 {
     int err = 0;
diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index 0d8ab2e716..07753109e0 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -233,6 +233,7 @@ static void check_pdev(const struct pci_dev *pdev)
      PCI_STATUS_REC_TARGET_ABORT | PCI_STATUS_REC_MASTER_ABORT | \
      PCI_STATUS_SIG_SYSTEM_ERROR | PCI_STATUS_DETECTED_PARITY)
     u16 val;
+    unsigned int nbars = 0, rom_pos = 0, i;
 
     if ( command_mask )
     {
@@ -251,6 +252,8 @@ static void check_pdev(const struct pci_dev *pdev)
     switch ( pci_conf_read8(pdev->sbdf, PCI_HEADER_TYPE) & 0x7f )
     {
     case PCI_HEADER_TYPE_BRIDGE:
+        nbars = PCI_HEADER_BRIDGE_NR_BARS;
+        rom_pos = PCI_ROM_ADDRESS1;
         if ( !bridge_ctl_mask )
             break;
         val = pci_conf_read16(pdev->sbdf, PCI_BRIDGE_CONTROL);
@@ -267,11 +270,75 @@ static void check_pdev(const struct pci_dev *pdev)
         }
         break;
 
+    case PCI_HEADER_TYPE_NORMAL:
+        nbars = PCI_HEADER_NORMAL_NR_BARS;
+        rom_pos = PCI_ROM_ADDRESS;
+        break;
+
     case PCI_HEADER_TYPE_CARDBUS:
         /* TODO */
         break;
     }
 #undef PCI_STATUS_CHECK
+
+    /* Check if BARs overlap with other memory regions. */
+    val = pci_conf_read16(pdev->sbdf, PCI_COMMAND);
+    if ( !(val & PCI_COMMAND_MEMORY) || pdev->ignore_bars )
+        return;
+
+    pci_conf_write16(pdev->sbdf, PCI_COMMAND, val & ~PCI_COMMAND_MEMORY);
+    for ( i = 0; i < nbars; )
+    {
+        uint64_t addr, size;
+        unsigned int reg = PCI_BASE_ADDRESS_0 + i * 4;
+        int rc = 1;
+
+        if ( (pci_conf_read32(pdev->sbdf, reg) & PCI_BASE_ADDRESS_SPACE) !=
+             PCI_BASE_ADDRESS_SPACE_MEMORY )
+            goto next;
+
+        rc = pci_size_mem_bar(pdev->sbdf, reg, &addr, &size,
+                              (i == nbars - 1) ? PCI_BAR_LAST : 0);
+        if ( rc < 0 )
+            /* Unable to size, better leave memory decoding disabled. */
+            return;
+        if ( size && !is_iomem_range(addr, size) )
+        {
+            /*
+             * Return without enabling memory decoding if BAR position is not
+             * in IO suitable memory. Let the hardware domain re-position the
+             * BAR.
+             */
+            printk(XENLOG_WARNING
+"%pp disabled: BAR%u [%" PRIx64 ", %" PRIx64 ") overlaps with memory map\n",
+                   &pdev->sbdf, i, addr, addr + size);
+            return;
+        }
+
+ next:
+        ASSERT(rc > 0);
+        i += rc;
+    }
+
+    if ( rom_pos &&
+         (pci_conf_read32(pdev->sbdf, rom_pos) & PCI_ROM_ADDRESS_ENABLE) )
+    {
+        uint64_t addr, size;
+        int rc = pci_size_mem_bar(pdev->sbdf, rom_pos, &addr, &size,
+                                  PCI_BAR_ROM);
+
+        if ( rc < 0 )
+            return;
+        if ( size && !is_iomem_range(addr, size) )
+        {
+            printk(XENLOG_WARNING
+"%pp disabled: ROM BAR [%" PRIx64 ", %" PRIx64 ") overlaps with memory map\n",
+                   &pdev->sbdf, addr, addr + size);
+            return;
+        }
+    }
+
+    pci_conf_write16(pdev->sbdf, PCI_COMMAND, val);
 }
 
 static void apply_quirks(struct pci_dev *pdev)
@@ -399,8 +466,8 @@ static struct pci_dev *alloc_pdev(struct pci_seg *pseg, u8 bus, u8 devfn)
             break;
     }
 
-    check_pdev(pdev);
     apply_quirks(pdev);
+    check_pdev(pdev);
 
     return pdev;
 }
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index 5db26ed477..4801811bb5 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -554,6 +554,8 @@ int __must_check steal_page(struct domain *d, struct page_info *page,
 int page_is_ram_type(unsigned long mfn, unsigned long mem_type);
 /* Returns the page type(s). */
 unsigned int page_get_ram_type(mfn_t mfn);
+/* Check if a range is in IO suitable memory. */
+bool is_iomem_range(paddr_t start, uint64_t size);
 
 /* Prepare/destroy a ring for a dom0 helper. Helper with talk
  * with Xen on behalf of this domain. */
diff --git a/xen/include/xen/pci_regs.h b/xen/include/xen/pci_regs.h
index cc4ee3b83e..ee8e82be36 100644
--- a/xen/include/xen/pci_regs.h
+++ b/xen/include/xen/pci_regs.h
@@ -88,6 +88,8 @@
  * 0xffffffff to the register, and reading it back.  Only
  * 1 bits are decoded.
  */
+#define PCI_HEADER_NORMAL_NR_BARS	6
+#define PCI_HEADER_BRIDGE_NR_BARS	2
 #define PCI_BASE_ADDRESS_0	0x10	/* 32 bits */
 #define PCI_BASE_ADDRESS_1	0x14	/* 32 bits [htype 0,1 only] */
 #define PCI_BASE_ADDRESS_2	0x18	/* 32 bits [htype 0 only] */
diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
index 3f32de9d7e..e8ac1eb395 100644
--- a/xen/include/xen/vpci.h
+++ b/xen/include/xen/vpci.h
@@ -80,8 +80,6 @@ struct vpci {
             bool prefetchable : 1;
             /* Store whether the BAR is mapped into guest p2m. */
             bool enabled      : 1;
-#define PCI_HEADER_NORMAL_NR_BARS        6
-#define PCI_HEADER_BRIDGE_NR_BARS        2
         } bars[PCI_HEADER_NORMAL_NR_BARS + 1];
         /* At most 6 BARS + 1 expansion ROM BAR. */
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 08:27:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 08:27:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261299.452257 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD07l-0007uh-OR; Thu, 27 Jan 2022 08:27:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261299.452257; Thu, 27 Jan 2022 08: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 1nD07l-0007ua-K2; Thu, 27 Jan 2022 08:27:21 +0000
Received: by outflank-mailman (input) for mailman id 261299;
 Thu, 27 Jan 2022 08:27:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9wmt=SL=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nD07k-0007uU-Bj
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 08:27:20 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id efa2bee0-7f4a-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 09:27:18 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: efa2bee0-7f4a-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643272038;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=0aRo1HYytPhs9Tr1gK8GGp0P04cJ7QALtKlb118Ap8g=;
  b=d9hlq1wKlkpQXANfUPhwiBQVbrOwkTXcAbZOYyU8xaEOTfWUxam+82a1
   ywnCcs7ADxhI9SeMlXKVJDS5ERApr95T23qs7OSTp656Y7XHfu0URB6vz
   mjcpTvrMiJOpSoX6d4/gtPX6dfJBiJsRb4WhLbEL+5NAGasaJ+9hFOPfY
   U=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: sJ64WfSDeMdiONTXucYd3uTx5dZ2R0smuh8B25H2gPfgwnJOOsUaKVlIUdnwhhJKX3d3GFbFjd
 L58Z6EmBnPo3hi9ZEODD+dzp9LwpHkci5Orp7kpZ3QUJtry0iUpyqwaVU6APCvwm1qN+fpj/wz
 jCsiD2XyJu25SFtVOMXYQyO4Jru6xQmLWE9lFW/vCooIx1KnWNU/Vp7YXT3BysTO8Y91eKiuxK
 ts+9NUP4jZDZgrYClQ7tTDVIjCWXA445xg554DzwT7bWFPZuGOIh4NRpbLglvihgNWmwROcafL
 nd/0Qu5MURQbp0rQBQEQ0nLp
X-SBRS: 5.2
X-MesageID: 62790235
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:ayFZzqACcAl7oRVW/2Plw5YqxClBgxIJ4kV8jS/XYbTApGxwhTNRz
 WtOWmCCaK6CMTH2fd5+PN7j8RwGvZDdn4IwQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMo/u1Si6FatANl1ElvU2zbue6WL6s1hxZH1c+En940007wobVv6Yz6TSHK1LV0
 T/Ni5W31G+Ng1aY5UpNtspvADs21BjDkGtwUm4WPJinj3eH/5UhN7oNJLnZEpfNatI88thW5
 Qr05OrREmvxp3/BAz4++1rxWhVirrX6ZWBihpfKMkQLb9crSiEai84G2PQghUh/tymlgZcgx
 ctxqIXhcl5yL4Pdl9QkTEwNe81+FfUuFL7vJHG+tYqYzlHccmuqyPJrZK00FdRGoKAtWzgIr
 KFGbmBWBvyAr7veLLaTUO5ji95lNMD2FIgepmth3XfSCvNOrZXrHf+VtIcCh2pYasZmEcfMd
 ssrODVWQC/fUwFmMFI8D8ogtbL97pX4W2IB8w/EzUYt2EDMyCRh3b6rN8DaEvSASN9JhE+eq
 iTD9n7gHxABHNWFzHyO9XfErv/Cm2b3VZwfEJW89+V2mxuDy2oLEhoUWFCn5/6jhSaWQ9tCL
 2QE9yxoqrI9nGSwVcX0VRC8pH+CvzYfVsBWHul87xuCooLW6QuEAmkPThZadccr8sQxQFQC6
 FiNmN/4AC11h5ecQ3md67S8oCu7PG4eKmpqTS0ZSQoI5fHzrYd1iQjAJuuPC4bs0IezQ2uph
 WnX8m5u3N3/kPLnyY2H4XzZxGOhuKTUV18Ov17GcHOq3jpmMdvNi5OT1XDX6vNJLYC8R1aHv
 WQZl8X20N3iHa1hhwTWHrxTQejBC+KtdWSF3AUxR8VJGyGFpib7Fb289g2SM6uA3iwsXTbyK
 HHetgpKjHO4FCv7NPQnC25d5ilD8EQBKTgHfq2MBjatSsIoHONiwM2ITRTNt4wKuBN0+ZzTw
 b/BLa6R4Y8yUMyLNgaeSeYHyqMMzSsj327VTp2T5035jeHEPybOF+pdbQrmggUFAEWs+lu9H
 zF3bJPi9vmieLemPnm/HXA7czjm0kTX9bip8pcKJ4Zv0yJtGX07Cu+5/F/SU9cNokihrc+Rp
 ivVchYBkDLX3CSbQS3XNCwLQO6xDP5X8CJqVQRxbA3A8yVyPu6SAFI3KsFfkU8PrrIzlJaZj
 pAtJq29Pxi4Ym2XomtGNcik8tUKmdbCrVvmAhdJqQMXJvZIbwfI5sXlbk3o8iwPBTCwrswwv
 /ur0QazfHbJb1sK4B/+ZK39wlWvk2Iane4uDULELsMKIBfn8ZRwKjy3hfgyepleJRLGzzqc9
 gCXHRZH+rWd/95rqIHE1fKesoOkM+piBU4GTWPV2qm7aHvB9W25zI4eDOvRJWLBVHn58bmJb
 PlOy62uK+UOmVtH6tIuE7tiwa8kycHoortWklZtEHnRNgz5AbJ8OHiWm8JIs/QVlLNevAK3X
 GOJ+8VbZurVaJ+0TgZJKVN8POqZ1PwSlj3D1tgPIR33tH1t4b6KcUROJB3Q2iZTG6R4bdE+y
 uA7tc9ItwHm0kg2MsyLhzx//niXKiBSSL0us5wXDdO5igcvzV0eM5XQBjWvvcOKYtRIdEIrP
 iWVlOzJgLEFnhjOdH86FH7s2+tBhMtR5EAWnQFaf1nZyMDYgvIX3QFK9WVlRwtY+RxLzuZvN
 zU5LEZyP6iPo29licUrs7pAwO2d6Ml1InDM9mY=
IronPort-HdrOrdr: A9a23:61QHFKPB7MMwI8BcTsWjsMiBIKoaSvp037BN7TEXdfU1SL39qy
 nKpp8mPHDP5Ar5NEtOpTniAsm9qBHnm6KdiLN5Vd3OYOCMggqVBbAnwYz+wyDxXw3Sn9QtsJ
 uIqpIOa+EY22IK7/rH3A==
X-IronPort-AV: E=Sophos;i="5.88,320,1635220800"; 
   d="scan'208";a="62790235"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ERcL5QE/G+340MEaLL5mLVpRP0zpc9ikW76FC/n4XIc/XMIA4+X9zUsOGkdgvilkjcsHhdtvXrK70tqsnd8cIEDfPi9bekbTxkKj174KVOWqNegVWW75ukWOL/b0eAW+c4YRafMe6jPagpz3NIZH0zuCsL9hWtTA6OkcRO0xvDRCGUQS64L7IW+ul6znRn7KNp5TSISGu3Q9BguI+m8Qdw1dL092rx0CHOw45RoCWlrkBhVAXIIzA3SeY9MYoH9zt94a7WchfHTioDxAJJrgR9Ml8rOWkH6N/CiynueAeES/1/YPTYWROuQBMZm5u6kRke+vQ46pR0gFbCiFF8NxZQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FokOvpbtqEKuo3CLY63io3uWo3Idy8l8lS9fNisrU0A=;
 b=cSZR2p4tPtKcrYg7AaKFmXFh07a2hd3qDofnybbL7W8TGIVWtzVE8ayNJeqY2rSXZsWZ6Mr7BmNhK2kAxI3ZAIzYT1QyJNhy2p7AUDw0YxcLhoO4vw9fP9tZSNElF7Wqbx8xt/6thPacfPM/q6SmwdZtYhadCSHqhdkYgxYkuVYYnhtuKy8+2oYklKAeK3rptAOCgLq/9qxUc4kQ99yo8gualht+Ke2rLw/c3LR2i52GONW0vWbTa/LFdjmWDnB8E6x0NJfntKjUhmIbTJH3cLOS/6KOmw2asnS4WnNBjgGystuM8kjuvRnFx5NjM9MAhqC18ePd7+9XIoiWwlU72A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FokOvpbtqEKuo3CLY63io3uWo3Idy8l8lS9fNisrU0A=;
 b=S+YkbPcVSXGlQy7JlsvUjzz8HzRlBIMMMzGvwjPx9OQqvm56bLXtfgicTp53QWXFuIu9ffxWatSNuBZvZviPMGhYOOBWHF8WpfcwdZlXJvkvnPO4NYgMdJLF44kWqqueb6+8e3vj2+14zVhZ7DKIw+UQi2vLcS1jdBZrIBLTPm0=
Date: Thu, 27 Jan 2022 09:27:08 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, "Bertrand
 Marquis" <bertrand.marquis@arm.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Wei
 Liu" <wl@xen.org>, Paul Durrant <paul@xen.org>,
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH RFC] xen/pci: detect when BARs overlap RAM
Message-ID: <YfJXXOzDuY8UX2Qv@Air-de-Roger>
References: <20220126122648.52275-1-roger.pau@citrix.com>
 <8537763d-2601-4092-f70f-1abbdd0a211f@suse.com>
 <YfFshcEanUtXUlK3@Air-de-Roger>
 <00d0be87-b5b2-b713-661b-eb07e5a5a53b@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <00d0be87-b5b2-b713-661b-eb07e5a5a53b@suse.com>
X-ClientProxiedBy: MR2P264CA0115.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:33::31) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d11da98b-0ff5-4208-f51b-08d9e16ed162
X-MS-TrafficTypeDiagnostic: MN2PR03MB5200:EE_
X-Microsoft-Antispam-PRVS: <MN2PR03MB5200503318CE855418865BFC8F219@MN2PR03MB5200.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: 3m1GAyExGke0mNilYMhL17x3TXMS+69CCsyttSJYHH1dDRUSRM8qdG1RAM6iWvDCeAkAQoULXuvx6XXawrIHp93jr1kT3J5D78PbLa2Nw/F0LzFhwEp1HJr5hHNtu0qOD7LKi9kKitcOHNHme35CcqlLOhHU+opTGPNUG8QW/TdEgZ+v4jS5TgkOnUVJTGgO12qa0YD0rHxjMNmJW9uUlTBdpO6+qlXF0P5nr6sFEFCFOZkDv47mDUDJC7Ol99zddECHgV4FNSI3pF/WQQfQ6muhbzYv3YnWuaxOcEW1d6oqGPBvEi+AX4eyhd3XyiviCKZvYOiyF0H2WysWZq1dKJIsHPDr9gZZsHEdaR0g09S93qQFLhu9BOMJLuhMrf4vfTBfIWxRg0XJws2+gGlfIv3a3cmMQJVj1dvWAEeng0dm9EaZWSZuDgSu6NkXar3Bf3JQJX0cG8MJGc5iPx9hrJWQZ/IkuxSPzrEFjBm/DMr4At1xIEuGFsfLXBOHdtTjeqn2cVKNTh7JPngjdrro6QTGImPmrQ39CeoWw5fKJ/++5pGeYOnj2m83DjYZ/CU0xtvXVudyNiwHUzWbbeULnk6buw7WZLF3O8auCZNQgt/Cw46hdgmMilgJgQ4S/xf6K/MY6fPT5yIDAHit539EyQ==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(7916004)(366004)(86362001)(2906002)(8936002)(8676002)(316002)(5660300002)(4326008)(9686003)(6486002)(6666004)(6506007)(6512007)(186003)(26005)(85182001)(6916009)(508600001)(54906003)(53546011)(33716001)(83380400001)(38100700002)(82960400001)(66946007)(66476007)(66556008)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?V0VOM0tEejRKQzdtTnlOVlRGNFlmMDBJcVVUd2liWTNGTGNyNGw2U043ZFZo?=
 =?utf-8?B?Z3RYWkZEWU92OFcvTHYzVXBkbmF1Yk9MTTRMZzVkRk9xZUVjQWMrNGtwc1Nl?=
 =?utf-8?B?b1JXTE94dWd5aEJDRjhmdXptdVdzZEE2cVVrazcrSUNaOVh2eUtkUUdBbEhP?=
 =?utf-8?B?UUFxMEcxRHNPQk8zeE5JZ25WUElEV0ROY2JJbTFCYjZxMjRjWDh4ZDFncmZI?=
 =?utf-8?B?cnMxeXY0V3RQS2Nxd1RrR3MyNDlpZWo5UDFUT2N3cUVBQnBWSUJJbkN3eFpN?=
 =?utf-8?B?OTUyWks4TGNxS21GN2tiZ1NicEdkK3FTbEEvTTF1ankwbUI4bkFKUzBCVmhB?=
 =?utf-8?B?K0JPWXI0cUo2b3dKZ3laM1l2WDJMYlB5cmdvOEEzMm9nbmpiaTE2MGVPbzlT?=
 =?utf-8?B?QyttYVdjd2RwejRnUXZvYWhlZml2STk2bGRrOWFYTmE2d2lKYW13Ym1CQ09T?=
 =?utf-8?B?ZVY3dS9xVDFTeWYwODVpaHU4N0crUVNCNHZ6WDZ4UmxRbmUya1laSlVtMUJh?=
 =?utf-8?B?QWVlYVJHNlZyc0FFNlE3OHNzMVRjMlQzK0ZJUU83dk5VdkdLTzYwVi8rQm5Y?=
 =?utf-8?B?eDRPdTliUHF2YVRjRU90Nko3QStnRTVDeUhQUHIxWnQ0TW1iYkI5d1g1TUVI?=
 =?utf-8?B?dC8rODdSU01rRHMxZkpNRzNhQ2g4TkZCYlFwUHYwME1wZ3VsNzdGMUN3emFU?=
 =?utf-8?B?RFdBdWlIVUFvRW5nbkZQY0xpUDJGa2czWmlLblNDRkJub3U1UnZpYjF3bmxn?=
 =?utf-8?B?MVZnWGsvMkM3Nkd4M2FjWEU2LzNBMkpva213Y1FDVUxqTlhMOHBvQUswZXMx?=
 =?utf-8?B?NkM2aCtOc3QxNGhrTGNDVU41MjJhSmNHcGc0K1B4bkJ1bGJFQUdoZDltdm0r?=
 =?utf-8?B?NmNqMEFyYm5VS2lvK0gySnlEL3diWjZmOEd6KzMvSTg1b2o2Wm5sM090VkNl?=
 =?utf-8?B?cUtLSXlHQS9tME05OHA0WktZS2dmbmhwYjdGSk9RZHRSclIyTkZ1SEJOTEdX?=
 =?utf-8?B?d25ic1pMang1OUlnUU9CUXliWXIyUXRxOGpUVzlseUMwK2RxL25UekU1QW8z?=
 =?utf-8?B?OGlRb2ovbGxkUDVlc3N1OExJZVk0UnkzZzFQOUVCRHhHWWRHVzAwR1hlRXlu?=
 =?utf-8?B?UmtubGRtRGlmaTFKZ0g4eFlBdFFkbWJUUHVxckhkMDlaTFB5cHhML2txL1ZM?=
 =?utf-8?B?ZzcwYm5hV2JudUduYjliT2tWbTVIRUxVMDdyQUdiazlJN0F6ZWpzNTdkUkRs?=
 =?utf-8?B?Q1lwL2h2aGRTYnBGYi8wK2JLNDhmK0w1ckt5cHRCZ1VKbDVzMUNvbmpVQVdV?=
 =?utf-8?B?blFGUXk0dHE2UWlSTDZPR3VNRDFxc29IeExxOGF1YUFqZ0YzbmZQM0ZpM0tK?=
 =?utf-8?B?d2E1cTV1TEZBemNnMUdNbVpMZEpZZ1dzRXFyWmowcno4WklleTBCUjMxWmdI?=
 =?utf-8?B?UnBJZXN5ZUo4MjJiWFNCL2VCU2MyOEVkejNyeVN1RjdyQnB4Wmwvck5ZYXdU?=
 =?utf-8?B?R3M2blRzb3pHNCtkaDF4NmMxcm90eWk4UnZYTEEwUHJsdFBtanhseUlFTFIx?=
 =?utf-8?B?eWYvRjQxemgramtrVXRRU0VoeWp3WDBORDloYVNpNjNaQ2ZIWm84a2tiajRK?=
 =?utf-8?B?OHEzdU9HNEd1RGgrSHlXTkhxbm5ZKzF2b20wYjJ2THFFN3JMNU9wTEhEZ1o2?=
 =?utf-8?B?bTBRMkY0N1pVMHhzaFlPazd2Q0NjaFpac3V6QjhkKzd2ZXZHdzVLZmMzSTJs?=
 =?utf-8?B?eXJEaWFIU3NGZTU1c09RUEZjVFlaQXhVYkVnYW9RZnFseUZjbi9IamowV2ZO?=
 =?utf-8?B?Z3ZyWW5OUmpjSUZMOEl0bGpEU0VtcUtNMHdRYTNvZUs4T0dEUTdCV2pJa1Fy?=
 =?utf-8?B?VS9FL3h0aTZlVFJkVk02YXRvWWJSeVNQUktMdFpsT1VyTmtjVG1HcndvSm0x?=
 =?utf-8?B?Y3lqY0Q1elRqMnN5YUZNQ3lGZEJvSW9teFF3WFV4aWJ6T0ppTGl0UEh4eno0?=
 =?utf-8?B?WDBxVTNUaU5IMUo0ZFAxVHBic0U1SjJXTnVSaFM5MThoTWw4SFJTeVhTNGZp?=
 =?utf-8?B?b3o1UUI1ZnJyMlZONlFWUlpkbUZmTityQ05GbjJEcnRHbDN5MTFWcFBDSzk1?=
 =?utf-8?B?N0dhY3M1cnlWamNIUGhDWDhaaEVIdSs0OTN2b3hHU1J2b1VtOWhPalhuSjhx?=
 =?utf-8?Q?+qWfn1feXHvpbbZ6tJNdQMc=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: d11da98b-0ff5-4208-f51b-08d9e16ed162
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 08:27:12.7412
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: KzEbY9tgrk0DWnomUIjU8HUMDNHW6cN2hXJErX5GCPDGhqXfjxsAT0LuHwdB30nDCgUnnMflXTmRG300Ik/E5g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5200
X-OriginatorOrg: citrix.com

On Wed, Jan 26, 2022 at 05:09:56PM +0100, Jan Beulich wrote:
> On 26.01.2022 16:45, Roger Pau Monné wrote:
> > On Wed, Jan 26, 2022 at 03:08:28PM +0100, Jan Beulich wrote:
> >> On 26.01.2022 13:26, Roger Pau Monne wrote:
> >>> +        if ( entry->type != E820_RAM && entry->type != E820_ACPI &&
> >>> +             entry->type != E820_NVS )
> >>> +            continue;
> >>
> >> I think UNUSABLE also needs checking for here. Even further, it might
> >> be best to reject any range overlapping an E820 entry, since colliding
> >> with a RESERVED one could mean an overlap with e.g. MMCFG space.
> > 
> > Hm, I've though about adding UNUSABLE and RESERVED (and should have
> > added a note about this), but that might be too restrictive.
> 
> Why (other than because of firmware bugs)?

Handling overlaps with those wasn't strictly needed to solve the issue
at hand, but I didn't take into account that an overlap with a MMCFG
region would be equally bad. I've extended the check to cover any
E820 entry.

> >>> +        if ( size && !is_iomem_range(addr, size) )
> >>> +        {
> >>> +            /*
> >>> +             * Return without enabling memory decoding if BAR overlaps with
> >>> +             * RAM region.
> >>> +             */
> >>> +            printk(XENLOG_WARNING
> >>> +                   "%pp: disabled: BAR%u [%" PRIx64 ", %" PRIx64
> >>> +                   ") overlaps with RAM\n",
> >>
> >> Mentioning "RAM" in comment and log message is potentially misleading
> >> when considering what other types get also checked (irrespective of my
> >> earlier comment). (Ftaod I don't mind the title using "RAM".)
> > 
> > Would the message below be better?
> > 
> > "%pp disabled: BAR%u [%" PRIx64 ", %" PRIx64 ") overlap detected\n"
> 
> This or maybe
> 
> "%pp disabled: BAR%u [%" PRIx64 ", %" PRIx64 ") overlaps with memory map\n"
> 
> in particular if, on x86, we'd be checking for any E820 entry type.

Done.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 08:35:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 08:35:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261306.452274 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD0FV-0000vd-LH; Thu, 27 Jan 2022 08:35:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261306.452274; Thu, 27 Jan 2022 08: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 1nD0FV-0000vW-HL; Thu, 27 Jan 2022 08:35:21 +0000
Received: by outflank-mailman (input) for mailman id 261306;
 Thu, 27 Jan 2022 08:35:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=xPLH=SL=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1nD0FU-0000vQ-C7
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 08:35:20 +0000
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur03on0605.outbound.protection.outlook.com
 [2a01:111:f400:fe08::605])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0e0d9eaa-7f4c-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 09:35:18 +0100 (CET)
Received: from DU2PR04CA0079.eurprd04.prod.outlook.com (2603:10a6:10:232::24)
 by VI1PR0801MB1872.eurprd08.prod.outlook.com (2603:10a6:800:86::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.13; Thu, 27 Jan
 2022 08:35:15 +0000
Received: from DB5EUR03FT031.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:232:cafe::36) by DU2PR04CA0079.outlook.office365.com
 (2603:10a6:10:232::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17 via Frontend
 Transport; Thu, 27 Jan 2022 08:35:15 +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.4930.15 via Frontend Transport; Thu, 27 Jan 2022 08:35:14 +0000
Received: ("Tessian outbound 18e50a6f0513:v113");
 Thu, 27 Jan 2022 08:35:14 +0000
Received: from d266de9932ce.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 1311F2D0-FF19-42DE-92F9-0912D78A3BAA.1; 
 Thu, 27 Jan 2022 08:35:04 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d266de9932ce.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 27 Jan 2022 08:35:04 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by AS8PR08MB6581.eurprd08.prod.outlook.com (2603:10a6:20b:33a::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Thu, 27 Jan
 2022 08:35:03 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0%7]) with mapi id 15.20.4909.017; Thu, 27 Jan 2022
 08:35:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0e0d9eaa-7f4c-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mab40k7/0J8oTR/+k8Vujec6oE3MdZUkH3iyI2oUna8=;
 b=l7JZxmIwz8ZySNoeamKjqjCdxptktHx2E+jyzU8cyGydiuI0iFskvpo1TIn0m9j4RtjCzf3Nm8RWvn2BEo3LevhhslEMGuUp3oo46pJ52+B+5vAI8feDxgvHpsCGZ9zGGpaw9jJ1KJhhUGUOBy2wwnSNOCmNePH7hgWzMbBmDjU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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=LIZlkqYkohGaieNnrm9xcmQz/u+XeNshbKMKln+NGei5C8Xrjvhh4BE6t+Xx818T5/kgd6NnUGYLcc80Tm9Fx1ALBF5AXHfrHNOOQ0qJXXpJfLY3EzA79wJfLDDnQ6xx87zxxkc9nLXtB0QB/hlJZelLMm9Gp7Mz0ryw939UMuwUtM84EAY3I1/u+CQeGkIhgMvI6YVpyps4ZYj1VTkc5i0Jz1SClaCJdvIsDAS8t87NYlSs9hIX5kEGjZ6yTlnFuAzAZppkOVw8UfVzkebxZ/L6ceQh9w75zOgh7ISQSxct+9G881h9gPJU1FGNdHVUYA3tsQP9KRZRgsymv2oMzQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mab40k7/0J8oTR/+k8Vujec6oE3MdZUkH3iyI2oUna8=;
 b=ki+H2Y2P0+U7aMNUeMwubKB6UXClupVgy1wrJxYPGyQOiV4bf28uo6mKLIjyhULpE19ZLpea+3uref+B10aHP1TNhyHE6+izKLFuGiRpEdLDhF0rsPXutgS6TAdntL8xgdnp5Mq10ItRYGj9MTbf2rbVGTnyu2mOdKk9cpEykxYHc43YbCOmTJOOr/raEsgZGTIdPJpyjCSWA+bveL86/2zGZvQ1IC7duwTA7PlYu+23ygi326LGzFN2lP8DHTqkzmnWV7UHK3yp3tc+jvBP1d5twHpGCOWXa1IeLjm8LSFOita4iZ69mguNjpsSElDYdakjgVmBxgzPp5I8Ez8cnw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mab40k7/0J8oTR/+k8Vujec6oE3MdZUkH3iyI2oUna8=;
 b=l7JZxmIwz8ZySNoeamKjqjCdxptktHx2E+jyzU8cyGydiuI0iFskvpo1TIn0m9j4RtjCzf3Nm8RWvn2BEo3LevhhslEMGuUp3oo46pJ52+B+5vAI8feDxgvHpsCGZ9zGGpaw9jJ1KJhhUGUOBy2wwnSNOCmNePH7hgWzMbBmDjU=
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: [PATCH 16/37] xen/x86: export srat_bad to external
Thread-Topic: [PATCH 16/37] xen/x86: export srat_bad to external
Thread-Index: AQHXsHMnFy02K9wv1EmfXGO37i6/5qx0SfuAgAMEmKA=
Date: Thu, 27 Jan 2022 08:35:02 +0000
Message-ID:
 <PAXPR08MB742092EAA94BF614FCF7EE3E9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-17-wei.chen@arm.com>
 <de67a7ab-785b-f545-5aa3-36e710db0868@suse.com>
In-Reply-To: <de67a7ab-785b-f545-5aa3-36e710db0868@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 582FE7E34CBCE64CBEC2B963402B689D.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 8bdefd56-1952-4ace-0257-08d9e16ff0dc
x-ms-traffictypediagnostic:
	AS8PR08MB6581:EE_|DB5EUR03FT031:EE_|VI1PR0801MB1872:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0801MB1872477EFD4CD1FD92C689569E219@VI1PR0801MB1872.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:
 FeNIJlgZSFDSs8plf/JDJwfBlSEGp7O544llYibsI1wxFua3tQ3Ruh4exloWRoR89bIdBDGt1nQzWOqSd574gTy3n7EEwRVJC/PAvnkIXVGFhoYcPFBoNcqchlH8ngwguUp7OxDHZexfv5ENoAoaKKUgltG5MBRD5C/9ji3dCFLiiKQ2ZjSd3RnT2MyZrIz5bkkgAadbaQchE3T4CRSEjjQcG2LngUgmW+ZKFrXH599rcU/fF0nuvFHG8vEsVCPc7MmdHLVFGAxYGqztUnRuH5BwlAJhjuwEkDU4fnHDm4hgGH/sm/Jx5E6ML1jxCK71nCXfugtEBeWxvZF1oay8ima0IslXy6w2mpDMdu0vW6QPg7S4BKh+n5F/y/Kc7JRvkw4xGcznq4zf2ERo6agzX0YYw9x0LMIS5NhMicxw5OVNmGNvo9+racTDQqx3VBqMBW5jEbiXg9lMd7nGQJZFU7sMMKBsgJ6lxvp2PnhOOWiOLGxa8uMHk4Nmw7kcXJnoOOLzwz4eiusvFCjL+G6H4sURt129cwlcu3CSTu6/qU21xVDuNQUBG69zj+3+AfaA+4sm5syYYvLPiaI4sSou6ODl1G37E83SeyRKV5+19GRLutuf3YKmtiAEDrl4crkyeKyMW2fC8ECXojoMl2a4xB0xOXGXdtKvmk8hbfAX6CJYuQJYd+R26VGcIXhgjv7u3xC9yr2PaEgKywGgKnOgAg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(186003)(38100700002)(66476007)(66556008)(66946007)(2906002)(33656002)(64756008)(4326008)(55016003)(76116006)(8676002)(5660300002)(66446008)(8936002)(52536014)(26005)(9686003)(122000001)(7696005)(38070700005)(6506007)(86362001)(508600001)(71200400001)(316002)(83380400001)(54906003)(53546011)(6916009)(20210929001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6581
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT031.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	578c0ef7-3858-45e6-4845-08d9e16fe974
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	h7BB7Acjkzg96OT8tneFEhAy5yA1i7DVSxhskRxCMBz/TQQl5gkDDvyuz8uk9wNWgVNnicaZuTuBV0juMek+FXmGWbqrzdhIAkYlobpLh1jMf4RDN5xzBtZUp2/1BRKeqG7d7VRbqnCEg+qIxNGASkYfckCRld/GC1T5gvuXfRA6hXnWbi8TPq4yHhDlRIo2p8lzsJb+PqgocfgTEwU2UAKJg5XlmGOrclhYElzBwnpr7M3kv4tOmyp7pTTiOhykQW6XAzut7dGWj/TFKGK1Ovrb1tbuKkNw8Bn6WbwCzfq5rIoyw2nt+d0JzbvGZ+SSW/S4KG76oYePPvDEbpDnIPObKUcBcyOD63zd07QKJyn0objZGZObsT8bHksVelY5u2Q4X2boYKQ0TQJ/Y9oC8chlAex9+DUgoYzjrizbFC+VpYJ5uF3ATJNhzaQ/r8DGTD0pi9FMpxLKN3ISUsA8qknXAXvmaaWsmYT1lqdeUSCiyLZnCbzNtCug0wwaXlO4r7K+so5a7Xe/uRk8qFETA/wFS+6F/u11Fg+iYoPv6qhhqgdzkCCdEQdTwX3aSDVS/gtYljzWmxrIxdSXOfRSwSwajvxiDYOhUON2VFzPjTnc2ajwG+Y+APHK79WxXILGpMC7rscoC4EffqTUb2Xa2RxBT4eIA1kcT3Fpah+ZiGf0xAH4ri78n7Bt2oUx5DiZ0rtAAterWTvvZxeNOvALDgLlf2PR2aOOpAXjPjq5ZbZMha2Lv6GMM2Rs7v5GOV2vMYKc+ztx1kgg/tYq79cfqA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(40470700004)(8936002)(8676002)(6506007)(336012)(40460700003)(53546011)(55016003)(356005)(9686003)(2906002)(6862004)(186003)(4326008)(52536014)(82310400004)(7696005)(26005)(316002)(47076005)(54906003)(36860700001)(70586007)(83380400001)(81166007)(33656002)(86362001)(508600001)(5660300002)(70206006);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 08:35:14.8049
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8bdefd56-1952-4ace-0257-08d9e16ff0dc
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: VI1PR0801MB1872

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMuW5tDHmnIgyNeaXpSAxODoyMg0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiBCZXJ0cmFuZCBNYXJxdWlz
IDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyB4ZW4tDQo+IGRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnOyBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqdWxpZW5AeGVuLm9yZw0KPiBTdWJqZWN0
OiBSZTogW1BBVENIIDE2LzM3XSB4ZW4veDg2OiBleHBvcnQgc3JhdF9iYWQgdG8gZXh0ZXJuYWwN
Cj4gDQo+IE9uIDIzLjA5LjIwMjEgMTQ6MDIsIFdlaSBDaGVuIHdyb3RlOg0KPiA+IHNyYXRfYmFk
IGlzIHVzZWQgd2hlbiBOVU1BIGluaXRpYWxpemF0aW9uIGNvZGUgc2NhbiBTUkFUIGZhaWxlZC4N
Cj4gPiBJdCB3aWxsIHR1cm4gZndfbnVtYSB0byBkaXNhYmxlZCBzdGF0dXMuIEl0cyBpbXBsZW1l
bnRhdGlvbiBkZXBlbmRzDQo+ID4gb24gTlVNQSBpbXBsZW1lbnRhdGlvbi4gV2Ugd2FudCBldmVy
eSBOVU1BIGltcGxlbWVudGF0aW9uIHRvIHByb3ZpZGUNCj4gPiB0aGlzIGZ1bmN0aW9uIGZvciBj
b21tb24gaW5pdGlhbGl6YXRpb24gY29kZS4NCj4gPg0KPiA+IEluIHRoaXMgcGF0Y2gsIHdlIGV4
cG9ydCBzcmF0X2JhZCB0byBleHRlcm5hbC4gVGhpcyB3aWxsIGFsbG93IHRvDQo+ID4gaGF2ZSB0
aGUgY29kZSBtb3N0bHkgY29tbW9uLg0KPiANCj4gSGVyZSBhcyB3ZWxsIGFzIGluIHRoZSBzdWJq
ZWN0IGl0IHdvdWxkIGhlbHAgaWYgdGhlIGZ1bmN0aW9uIG5hbWUNCj4gd2Fzbid0IHRoZSB3cm9u
ZyB3YXkgcm91bmQuIEkgYWxzbyBkb24ndCBzZWUgaG93IHlvdSBtZWFuIHRvIHVzZSBhDQo+IGZ1
bmN0aW9uIGNvbnRhaW5pbmcgInNyYXQiIGluIGl0cyBuYW1lIGZyb20gbm9uLUFDUEkgY29kZS4N
Cj4gDQo+IFBlcmhhcHMgYWxvbmdzaWRlIG51bWFfbW9kZSgpIChzZWUgdGhlIHJlcGx5IHRvIHRo
ZSBlYXJsaWVyIHBhdGNoKQ0KPiB5b3Ugd2FudCB0byBoYXZlIGEgc2V0X251bWFfb2ZmKCkgaGVs
cGVyIChuYW1lIHN1YmplY3QgdG8NCj4gaW1wcm92ZW1lbnQpPw0KPiANCg0KWWVzLCBhY3R1YWxs
eSwgSSB3YW50IGEgZnVuY3Rpb24gdG8gZGlzYWJsZSB0aGUgbnVtYSB3aGVuIHdlIGVuY291bnRl
cg0KYW55IGVycm9yIGluIG51bWEgaW5pdGlhbGl6YXRpb24uIEFuZCB3ZSBhbHNvIHNvIHdhbnQg
dG8gaW5kaWNhdGUgdGhlDQpudW1hIG9mZiBpcyBjYXVzZWQgYnkgY29uZmlndXJhdGlvbiBlcnJv
ci4gU28gd2UgaGFkIHRob3VnaHQgdG8gdXNlDQpudW1hX2Z3X2ZhdWx0IHRvIHJlcGxhY2Ugc3Jh
dF9iYWQuDQoNCj4gPiAtLS0gYS94ZW4vYXJjaC94ODYvc3JhdC5jDQo+ID4gKysrIGIveGVuL2Fy
Y2gveDg2L3NyYXQuYw0KPiA+IEBAIC0xNjMsNyArMTYzLDcgQEAgc3RhdGljIF9faW5pdCB2b2lk
IGN1dG9mZl9ub2RlKGludCBpLCBwYWRkcl90IHN0YXJ0LA0KPiBwYWRkcl90IGVuZCkNCj4gPiAg
CX0NCj4gPiAgfQ0KPiA+DQo+ID4gLXN0YXRpYyBfX2luaXQgdm9pZCBiYWRfc3JhdCh2b2lkKQ0K
PiA+ICtfX2luaXQgdm9pZCBiYWRfc3JhdCh2b2lkKQ0KPiANCj4gTml0OiBPbmNlIGFnYWluLCB3
aGVuIHRvdWNoaW5nIGNvZGUsIHBsZWFzZSB0YWtlIHRoZSBvcHBvcnR1bml0eSBhbmQNCj4gYWRq
dXN0IHN0eWxlIGlzc3VlcyAoaGVyZTogX19pbml0IGFuZCB2b2lkIHdhbnQgdG8gY2hhbmdlIHBs
YWNlcykuDQo+IA0KDQpUaGFua3MgYWdhaW4hDQoNCj4gSmFuDQoNCg==


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 08:37:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 08:37:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261309.452284 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD0HY-0001ZG-1l; Thu, 27 Jan 2022 08:37:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261309.452284; Thu, 27 Jan 2022 08:37:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD0HX-0001Z9-Uw; Thu, 27 Jan 2022 08:37:27 +0000
Received: by outflank-mailman (input) for mailman id 261309;
 Thu, 27 Jan 2022 08:37:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD0HW-0001Z1-4l
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 08:37:26 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5a37930e-7f4c-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 09:37:25 +0100 (CET)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2056.outbound.protection.outlook.com [104.47.0.56]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-39-m3sGIoKoP8yT8Lgb4jbN8w-1; Thu, 27 Jan 2022 09:37:23 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM0PR04MB4977.eurprd04.prod.outlook.com (2603:10a6:208:c1::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 08:37:21 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 08:37:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5a37930e-7f4c-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643272644;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=6/dwuMhovaHMY4aXLL/RUwa/txH3GtpWP/4vt7mQosI=;
	b=SSroprRIsuTSH71EFwLXGAOAoHfRE9EBDXFLEujNdDWsZyotzskNCD4jk5WGyJdMZXswCR
	inPLvR3IPKLIdlWNg6GwtarAlF/2INmP0SY/AZyX8PBBI4kbCs0uIn7HAfi4VeHbC7i11j
	z8ERvf9tbqwF2ForMD3d05yGKXMWRXE=
X-MC-Unique: m3sGIoKoP8yT8Lgb4jbN8w-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=i3LPhXMhVGWe/qft570zunPQDKYBM8RSJWyWbjseN/X4k2ubCh/USpt0yUmKL57650O3wMhEZ/J8hQGv8YScWMtWfpXALvxFRlE9/4yyFF3nfQkGIBI5ekfERtddBqscqT+bj23drggp6pIa6bPUGETvuu38u1HaNT6qJIWAzdwR78TUxGIv/0rvhBmHfWv8SGI1lai0LxtT/75xfN59daF7bsF3+TRV8qQDEwT3XS+5tup22sLLa7Io6L8A8KLsu+xopNOalzQvY75ukAOrFEJ3Pefg6zjmNMMx2ip0XzaSu5xT/Npo0EvkhPcZ447nQZeBZ0UDxL4cs+xwwqTqsQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qrR5IIovUV8hqi7Wt/gCp+G+J9JQRpJy2jVPcWNFArc=;
 b=HVcR1ytmp2L/1j98DGwfLQfzABLXk2mxcCDmGtRRwORchXyfHDrIZoLcXlVnHZB/Yl7VO84eVj6e8m2YtDCFej5yg2EQwFWq8f3pEcY+vZfJp0wRRQ+OoXYWJBuiksZcewKw4l8pp02+jzZTFB8SYrEh/gAc0KxoQhXwfncYHGaUnvdUnAJouYN4l07H5HJKWGCya3CIT+6appiz98Fd+M2crUryUkJ3eu6IZlI4daC2+8noK8VtHsn1AHm3wGL/azajLCk2quSCI17YY8c7wr94vTXAwd9AbZhXszDphJB7N+/2iW5cgSTGLCmDa/eJt1XV6PdHx6iz1uEq90TmmQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <fab7bd72-b370-45dc-90d6-64ea49ce4aa0@suse.com>
Date: Thu, 27 Jan 2022 09:37:20 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 16/37] xen/x86: export srat_bad to external
Content-Language: en-US
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: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-17-wei.chen@arm.com>
 <de67a7ab-785b-f545-5aa3-36e710db0868@suse.com>
 <PAXPR08MB742092EAA94BF614FCF7EE3E9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <PAXPR08MB742092EAA94BF614FCF7EE3E9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS8PR07CA0048.eurprd07.prod.outlook.com
 (2603:10a6:20b:459::22) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d9d18978-b777-4c9b-16dc-08d9e1703c67
X-MS-TrafficTypeDiagnostic: AM0PR04MB4977:EE_
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB49779E4B288C773951DE179BB3219@AM0PR04MB4977.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:
	2+Ai3s9SGMDqhw21q6nPQD4c8X8evzxwYIQsPjfWcPZaP5GtkMdNfNlggKq3M57VQFqguoL+Elhh8thDwsitTU8/qm730mxowyA7zXOHllQ+lp9CX5f3EYfw0LNcGxfeJwG9GYtY8cVPA/LjSITmzapIxeinZKnY65XhEQAWVBwqhrt6tTADYc8oUanZIcnEyJDPd8s170qhlzyFxziNwOWg0bt7ZEgMroKAhLk98lJQfKXfy4aTEnzTQVFUaDY4qLs+tArLf0yVo6pWeKT1KPoq+22KJ2DoTmO0oVGQSSe9ERefBKgsFsSyXDQ15PjQIvZ8OigYmq6W46jIXXobj4ja4DlNj0SHJLzVFinSfeMBdhwMA5zQmVQS0HA7ybZMh7I9dY+yZUcQOnP60EebK+/TcEmgH727sO4t4YWO8ooJ4GF/Gi2qC1zY0EwkkPdJzTh/vB6PJPNmy+Jh3+Nu5/lDmFfaN2RJ7+ZTyAWC6vVXHm+z9yoCFE4Dqc1toUdLORqySSp8Q1At5ex7N269Zj/K5sTpplaGzJCGTx1N+F7gdH6bVkBwXZzwzPb6QMRc17PaV2fkEl6vECAxITe0S3m5bKL1q5r2KJZPQNo3iIL3inGlmanmDK5Ybh5DlmUoWGqjdEnsaUxLP+KQ6tzq0C3CBrZetomBZLCBHrzpVPLhmH9X8EXqTSmdGrqyvVSpEvXDrb6t0dtMcfAcNWFg1HkvuoNNYqdxuLxw/jxYxAfVkdsWPIfP/+QNN9fEX0J0
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:(13230001)(366004)(66946007)(66556008)(66476007)(8676002)(36756003)(8936002)(38100700002)(4326008)(54906003)(5660300002)(2906002)(6916009)(316002)(6506007)(2616005)(31686004)(6512007)(83380400001)(508600001)(53546011)(26005)(186003)(31696002)(6486002)(86362001)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?euUG9A74ySaM1yFUTtmxMnkF167I15/0FtAutEkYuB4xtrVXKWFZjZnhHiU0?=
 =?us-ascii?Q?fRwv067Z2hspoZBBfaVAsgao5pmoxavfXNHenYS6t9qC+4x0etkxktOUwI8T?=
 =?us-ascii?Q?/LI9+Xohkh+wZI2cqqScjspyRIGZD4vuNpuEzN3bdHybGXOEU7M6qBV+fRXN?=
 =?us-ascii?Q?RlM/md9t301XkS1JccZeSf98p+Z9T8i2BwqkjPjUBKzkTvYU90DiWAnoNsfF?=
 =?us-ascii?Q?t6WzQw5P4/XNoXW0Ij17kogIkLYFMYmsfNvzg8rpVWE6c8mNPIJPOex2hiLh?=
 =?us-ascii?Q?RUF5PGfXUqEWUkCferBkGbVO4LimpGxNEh+5iH9sEDr/mXF5YsC/DkHGvc49?=
 =?us-ascii?Q?XaCD1PbB6Ypev7jKiIU5AuZFlRdJIEv/CL8UPCLkiuiM8xOcEaY1iYGsDqXT?=
 =?us-ascii?Q?wSCuNlORN3GOWlvTBjXiU7syL9BZuMLx6ssCIK23orTiQVNdmdB/zmfcfOHz?=
 =?us-ascii?Q?cw4YWocQdWyGsyUITxN28adIrToDa1kzblBwCI4lWngfEMmeb5d5cN5L+jdB?=
 =?us-ascii?Q?93nNQQUFEhOw7eDwSZGxEIVH/a+SiYgyO/jL34qjPQ7mJVtougfHa3nMv0xq?=
 =?us-ascii?Q?+v9Dw2uu43WJ428SHo7uSX+IyX5a5NYnODvOdNAKIKsBAdg0tJ875Fx/XQGF?=
 =?us-ascii?Q?oOsj5oWmdLC+wMl6sXsHeQd42ejY9BbVFd3UVdjKUAdfqZjJhF8uy5sBOW/j?=
 =?us-ascii?Q?Az/fayBqJDEQoJ+OdYiE+KYILNyWBcz+XEzulBVz27HjB7A/zqb7m7bTlxCn?=
 =?us-ascii?Q?I6c9EZ+7HVX4hD41dVGsENb1eZr4dupoJsvNCVsrzcFF2qyCW7UlVNO0bKkV?=
 =?us-ascii?Q?C5xR6TtpHOO9s9Ai6lQhHPTDMT+o4OfSXLiBfR5MUQAdmI+pC96H8ikww5l7?=
 =?us-ascii?Q?GzCE62W8m3NaZmvePlNa234b5Rd9EhNNrbHp7qbK61x/uBdKtQR5eQoE6r4t?=
 =?us-ascii?Q?onpo6gRwWzWhOVdm8iwE31fPZrBipivfmZJGzR/ujWUkrihy/80cRkIWnyBO?=
 =?us-ascii?Q?8vGcZmwGmAkX4epKTTAoUNG6b9MsXUQMNrbkWrwK1FPSvzfLz1hN0Aw/2znO?=
 =?us-ascii?Q?Ip7tI9bLrx0K/bqA5oUua+ObnJh5P8rD/vZYhT+qcN6QyDtuJfeDJaaM1Tba?=
 =?us-ascii?Q?5ZTDFsmk24OvXawmuI6avnVLHqyh1OkRUY/zb0Y7hDr2uxQsj+wwRjCRguRY?=
 =?us-ascii?Q?mkakWogwiA1KrUz7ipPnw7+opr8MDyInJG3GeNTfKEmQBos9iZP3mBq90KGU?=
 =?us-ascii?Q?2d17jaYXx2AS5XiVcBe5LSrcysL/ExydUc/GmsIQYyPQnyJFqkABKGwb4/uB?=
 =?us-ascii?Q?+UvNYrk19D9N4vHwBXXAd/CTusk2AXxNk1VmTVDYumkrOGlePMVVsMbkJPnp?=
 =?us-ascii?Q?CrBwpsBJ6uqeN3/8x4ektS/MUToM60f5+68k5Q5m5WzYxvYgu7R1MxwrEznk?=
 =?us-ascii?Q?In8MQvtAu11OZE7XSSww8f8vmRK+iwwMzcgYou/rbd+0XBY9dDxU8p4vSJI/?=
 =?us-ascii?Q?vNbglObvtYip3M8h+gmjjUpcuZ1HeW3171acqQ7dAspecJGUaAudJ6jo+Q5M?=
 =?us-ascii?Q?ZCCGnoLYWE4oBNzLzvs8d8MMjwWZpAgELsHAwl7In+vDwVPDcrpoXNkgiufB?=
 =?us-ascii?Q?AY91fopeYaMJlnWcVz1NwyU=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d9d18978-b777-4c9b-16dc-08d9e1703c67
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 08:37:21.6705
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: H/722nqLfiwEISUa2MiSDTcqyuIJJKxZK4/71dvOX3pQP7i4qXM7K4vrFLJBBXePkJjpTBcHo4DSIZ6kzVdbvg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4977

On 27.01.2022 09:35, Wei Chen wrote:
> Hi Jan,
>=20
>> -----Original Message-----
>> From: Jan Beulich <jbeulich@suse.com>
>> Sent: 2022=E5=B9=B41=E6=9C=8825=E6=97=A5 18:22
>> To: Wei Chen <Wei.Chen@arm.com>
>> Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>; xen-
>> devel@lists.xenproject.org; sstabellini@kernel.org; julien@xen.org
>> Subject: Re: [PATCH 16/37] xen/x86: export srat_bad to external
>>
>> On 23.09.2021 14:02, Wei Chen wrote:
>>> srat_bad is used when NUMA initialization code scan SRAT failed.
>>> It will turn fw_numa to disabled status. Its implementation depends
>>> on NUMA implementation. We want every NUMA implementation to provide
>>> this function for common initialization code.
>>>
>>> In this patch, we export srat_bad to external. This will allow to
>>> have the code mostly common.
>>
>> Here as well as in the subject it would help if the function name
>> wasn't the wrong way round. I also don't see how you mean to use a
>> function containing "srat" in its name from non-ACPI code.
>>
>> Perhaps alongside numa_mode() (see the reply to the earlier patch)
>> you want to have a set_numa_off() helper (name subject to
>> improvement)?
>>
>=20
> Yes, actually, I want a function to disable the numa when we encounter
> any error in numa initialization. And we also so want to indicate the
> numa off is caused by configuration error. So we had thought to use
> numa_fw_fault to replace srat_bad.

Why not simply numa_bad() or, say, numa_disable()?

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 08:38:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 08:38:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261313.452296 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD0II-0002BS-Es; Thu, 27 Jan 2022 08:38:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261313.452296; Thu, 27 Jan 2022 08: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 1nD0II-0002BL-Bn; Thu, 27 Jan 2022 08:38:14 +0000
Received: by outflank-mailman (input) for mailman id 261313;
 Thu, 27 Jan 2022 08:38:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=xPLH=SL=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1nD0IH-0001Z1-0I
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 08:38:13 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on060f.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::60f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 75f579a4-7f4c-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 09:38:12 +0100 (CET)
Received: from AS8PR04CA0100.eurprd04.prod.outlook.com (2603:10a6:20b:31e::15)
 by VI1PR08MB4061.eurprd08.prod.outlook.com (2603:10a6:803:e7::33)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.10; Thu, 27 Jan
 2022 08:38:09 +0000
Received: from AM5EUR03FT046.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:31e:cafe::89) by AS8PR04CA0100.outlook.office365.com
 (2603:10a6:20b:31e::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17 via Frontend
 Transport; Thu, 27 Jan 2022 08:38:09 +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.4930.15 via Frontend Transport; Thu, 27 Jan 2022 08:38:09 +0000
Received: ("Tessian outbound 1f399c739551:v113");
 Thu, 27 Jan 2022 08:38:09 +0000
Received: from a90e437a0a03.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 36708814-1695-4396-9234-11130ABB1756.1; 
 Thu, 27 Jan 2022 08:37:58 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a90e437a0a03.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 27 Jan 2022 08:37:58 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by VI1PR08MB4509.eurprd08.prod.outlook.com (2603:10a6:803:f2::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.10; Thu, 27 Jan
 2022 08:37:55 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0%7]) with mapi id 15.20.4909.017; Thu, 27 Jan 2022
 08:37:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 75f579a4-7f4c-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ffCIXkpnW1uuM+j8VKF6KFjEz58l8eDshhdQpFdWj78=;
 b=QkfitdXyF1snFNrnrzgx8I4+6Mj0Woy3zziBcFQVmpCDPbD5iwcBuCpY3NMO6BK+4mbropKY+WXZmhTojWYCFECybUbu+AZq1nzmt2qY5pHk/7fjIflz8WwutkIRtQ8eLYVE6VFyMud9yPee32CWV6WaODOEiAF5Ub+jxjDHnIw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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=UIEdu8CPPnvPPfISBT3OU9ty5hqqWeiyDsu3DXS+IeDhjt3k/MXnma6O0jns18DVxbSz0xnXIV9X/6HO53NIokjKz1Rb7H5yisNRDWhNFz1o+oALItmXycWP1WLuyxWpEggCF+V7yAvf4oPnsTk5up6RS7dbhKdC2rB1HVT9D/dqr8Vy5CUfbI4r9S7Ub1vvM3wqgeMjug/h1ie3E2w+R5fqRVnEeXWGKaEsSFPe5bt9x07R9a3CYaZmkteC/ErK/odalpvchtUk34HaPhGTw5KrVyk6PYrdsYaZXsrSceZahZ2TxHnai2HzDh8zO/XvtWr2UmLB9kmgI7ZRo1DHCg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ffCIXkpnW1uuM+j8VKF6KFjEz58l8eDshhdQpFdWj78=;
 b=VPNkNsMiRKXXx57NWpkxsq6JN2NPho4EJ21D8SkpvwbvFxk8MgYejHWkJ5WvxFVuOWejvkWP0vp+6BSQca0z+pZOBcgw50qDl+Gr8yt2zrm4bQLXO7iEmWR8OP4K+qd0fkpH3ZubLzglM69HGPpXVK7vZu48TX6HoTVgvs52MV9DFdA0nLR3Cff/mqa4goBaF1Uaa5bUAARziu27B4sRdA/SvRiCrgb5BB42vPr0+79YEEr6R/9RLdpCazOpo9nn31x0D9fxEvglr29uqR1KOrvWnAsocbOnlnpd7dzoMfiBoXJUwZIEOyQH4k3QBeAxa3e4aDLnenbgOr9tYcyBhA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ffCIXkpnW1uuM+j8VKF6KFjEz58l8eDshhdQpFdWj78=;
 b=QkfitdXyF1snFNrnrzgx8I4+6Mj0Woy3zziBcFQVmpCDPbD5iwcBuCpY3NMO6BK+4mbropKY+WXZmhTojWYCFECybUbu+AZq1nzmt2qY5pHk/7fjIflz8WwutkIRtQ8eLYVE6VFyMud9yPee32CWV6WaODOEiAF5Ub+jxjDHnIw=
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: [PATCH 17/37] xen/x86: use CONFIG_NUMA to gate numa_scan_nodes
Thread-Topic: [PATCH 17/37] xen/x86: use CONFIG_NUMA to gate numa_scan_nodes
Thread-Index: AQHXsHMdGsr4qfVkUkOsqMTqurczg6x0SxEAgAMGQfA=
Date: Thu, 27 Jan 2022 08:37:54 +0000
Message-ID:
 <PAXPR08MB7420774EDB08DB59ADE3B6589E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-18-wei.chen@arm.com>
 <e862e6c2-8e3f-3cdd-88ce-127dd65b6255@suse.com>
In-Reply-To: <e862e6c2-8e3f-3cdd-88ce-127dd65b6255@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 0C94D0CD2EF68A4AA7CA60B06189B1E2.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: cbc29466-93e4-47f4-5729-08d9e17058e1
x-ms-traffictypediagnostic:
	VI1PR08MB4509:EE_|AM5EUR03FT046:EE_|VI1PR08MB4061:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR08MB4061BC6A30EDA38B478DF1CF9E219@VI1PR08MB4061.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:
 7wuDicT2PVIkhskMz3NLKiZV5RrIPcTuVtYogN/AM9Q3nXxIZqF0JOOUJl3FKMrY9Kcpj5rSapSw9Bc99VfzV1i5HSlWlgvKY9wgA3Gq+f5AIbmBKhjn1Lgn+x2wy+xFSxdoKSxB5ZNuD7aHbp890YeSiYgOcmTNKs0+go6794KtglyPNxBGYK2wxgAuUg9CMOstuijCux+od9cstT0xM3EFd8DjZNKVGLBCUVEV7lg1LRgJFN3sqdbp4jd2QPxOqgZtNmVr821rL7IWUIA6Ry1AKv1geGjV2DImTbkxI0+S5SIXpbPFUkpbHQZ5eJaYFgSnG3Mcu7+9sPlR8w+AFRS0EY4t5t1LAr4MFauKQ3aBh4l9zOZL8u5Ln10lpIOhF9MTmONDGvjI0ABd45UYUS1eXuEvpy0P7vtKAHQ80k9TNG2OMrbRQJm4FTpO8HBmXcHjtdnA2mCSrlZ+UGGnmLYCQYHB+qeov4AxE5VjA9c+m6m1PHSnYLahlr6EHTifMSXMLFo+T/ibc78T9QVjKjZaJH90biPp4d7iiyHUmiktsolLhByUANW1iZznkKUPMl8KdeRXUZuNws2MvwFUHVa/ujbFWYMN/yYSS1u3RmUsSduJ1hXa8+bCrHrh9WO8WeAjYLJFUo4hGOcik27I6TpP4svSf2DSn/RkcRC5Dk+zbyXp6zwbgYDkLRyxn/QHp6ZIO93mMfP+RFvOzR+Z5A==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(76116006)(7696005)(508600001)(2906002)(26005)(8936002)(71200400001)(52536014)(9686003)(66556008)(64756008)(33656002)(6916009)(186003)(5660300002)(6506007)(66476007)(54906003)(86362001)(38070700005)(8676002)(55016003)(83380400001)(53546011)(66946007)(316002)(4326008)(66446008)(38100700002)(122000001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB4509
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;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-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	c4d51f23-3e4f-4e1d-4707-08d9e170507b
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/rFxJhooVRhNE09NbBhMuMzqzIsTKnpd9hYS9296069Kqg7wX10/SJxsho6x8rnvofkrk/vGhRUUR+1wPyNYDrrIZbIZqQWfvQpsFSQz7FNSOgzIIMgjA3Ju+0R9uezFeuWmWnxCFWqrlQlNMMRltsqpVoSPW5ikGciGuE/LAujQ5MKyOg3Yo1VOAZC5PIrxR/6L/x2pahEFqrMJHdk+Uimw2y2lN9uWDClHa44qUesM4YfXeiWnJ0kO5IM05aYU9UiQbJ2ha8dQ/xm1eKbRr9Y2jvy58VTmGbQUF+ty2UaT7yvBhwcm+AjktYhMWwmvANP42m7J4v84oTcGwzwybGYbuwsk3NFvo9mPtuYneAPJfVOxlqMbKfypBHu3IpnpyJb482R/BT3VExAbPFEOf1XGh8RHdrebqd9QuDXVO5DaIthAnt/tue3y0E+mz1gqksF38Id0E/vuMmOe/Cwz3ZDhWpKGDk8UzYM9X3i1ihWYT29AKW5Gka5b7Hf/qVrjZ95hWHsb7BUJ8zMyfp1akxqNDcz+2fNt6gu7FQSBuCeGq1qLWv691Hb1Mm0liVC0I75e81dHy89ShWPguwPIdhUox0bsBfAq5wxsyX9Y2G92LXOe3+ytV4EhCfWhyKG5kAkcUVa2Jw2rjiv3t3o71v4BG3GFTgKK02sr3Vln3tzym2IlmUuAeWF1nRaYXfDeMFT9d+VHyOSCpalfmEeuVduir4aV3VKfuQfDnxAFGIrSSTR71w0IWTeM15yEHva5HBJYwMVP/7f975VyWIWq3g==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(40470700004)(186003)(81166007)(26005)(8936002)(47076005)(7696005)(36860700001)(86362001)(8676002)(356005)(83380400001)(6506007)(70206006)(33656002)(70586007)(53546011)(5660300002)(82310400004)(54906003)(316002)(40460700003)(336012)(508600001)(6862004)(2906002)(4326008)(52536014)(9686003)(55016003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 08:38:09.2821
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cbc29466-93e4-47f4-5729-08d9e17058e1
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: VI1PR08MB4061

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMuW5tDHmnIgyNeaXpSAxODoyNg0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiBCZXJ0cmFuZCBNYXJxdWlz
IDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyB4ZW4tDQo+IGRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnOyBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqdWxpZW5AeGVuLm9yZw0KPiBTdWJqZWN0
OiBSZTogW1BBVENIIDE3LzM3XSB4ZW4veDg2OiB1c2UgQ09ORklHX05VTUEgdG8gZ2F0ZQ0KPiBu
dW1hX3NjYW5fbm9kZXMNCj4gDQo+IE9uIDIzLjA5LjIwMjEgMTQ6MDIsIFdlaSBDaGVuIHdyb3Rl
Og0KPiA+IEFzIHdlIGhhdmUgdHVybmVkIG51bWFfc2Nhbl9ub2RlcyB0byBuZXV0cmFsIGZ1bmN0
aW9uLiBJZiB3ZQ0KPiA+IHN0aWxsIHVzZSBDT05GSUdfQUNQSV9OVU1BIGluIG51bWFfaW5pdG1l
bV9pbml0IHRvIGdhdGUNCj4gPiBudW1hX3NjYW5fbm9kZXMgdGhhdCBkb2Vzbid0IG1ha2Ugc2Vu
c2UuIEFzIENPTkZJR19BQ1BJX05VTUENCj4gPiB3aWxsIGJlIHNlbGVjdGVkIGJ5IENPTkZJR19O
VU1BIGZvciB4ODYuIFNvIGluIHRoaXMgcGF0Y2gsDQo+ID4gd2UgcmVwbGFjZSBDT05GSUdfQUNQ
SV9OVU1BIGJ5IENPTkZJR19OVU1BLg0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogV2VpIENoZW4g
PHdlaS5jaGVuQGFybS5jb20+DQo+ID4gLS0tDQo+ID4gIHhlbi9hcmNoL3g4Ni9udW1hLmMgfCAy
ICstDQo+ID4gIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQ0K
PiA+DQo+ID4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9udW1hLmMgYi94ZW4vYXJjaC94ODYv
bnVtYS5jDQo+ID4gaW5kZXggOGE0NzEwZGYzOS4uNTA5ZDI3MzhjMCAxMDA2NDQNCj4gPiAtLS0g
YS94ZW4vYXJjaC94ODYvbnVtYS5jDQo+ID4gKysrIGIveGVuL2FyY2gveDg2L251bWEuYw0KPiA+
IEBAIC0yNjAsNyArMjYwLDcgQEAgdm9pZCBfX2luaXQgbnVtYV9pbml0bWVtX2luaXQodW5zaWdu
ZWQgbG9uZw0KPiBzdGFydF9wZm4sIHVuc2lnbmVkIGxvbmcgZW5kX3BmbikNCj4gPiAgICAgIHN0
YXJ0ID0gcGZuX3RvX3BhZGRyKHN0YXJ0X3Bmbik7DQo+ID4gICAgICBlbmQgPSBwZm5fdG9fcGFk
ZHIoZW5kX3Bmbik7DQo+ID4NCj4gPiAtI2lmZGVmIENPTkZJR19BQ1BJX05VTUENCj4gPiArI2lm
ZGVmIENPTkZJR19OVU1BDQo+ID4gICAgICBpZiAoICFudW1hX29mZiAmJiAhbnVtYV9zY2FuX25v
ZGVzKHN0YXJ0LCBlbmQpICkNCj4gPiAgICAgICAgICByZXR1cm47DQo+ID4gICNlbmRpZg0KPiAN
Cj4gV2h5IGlzIHRoaXMgYSBzZXBhcmF0ZSBwYXRjaCwgcmF0aGVyIHRoYW4gcGFydCBvZiB0aGUg
b25lIHJlbmFtaW5nDQo+IHRoZSBmdW5jdGlvbj8NCg0KSSB3aWxsIG1lcmdlIHRoZXNlIHR3byBw
YXRjaGVzLg0KDQo+IA0KPiBKYW4NCg0K


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 08:44:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 08:44:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261316.452307 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD0Oh-0003dB-5Q; Thu, 27 Jan 2022 08:44:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261316.452307; Thu, 27 Jan 2022 08:44:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD0Oh-0003d4-2N; Thu, 27 Jan 2022 08:44:51 +0000
Received: by outflank-mailman (input) for mailman id 261316;
 Thu, 27 Jan 2022 08:44:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=xPLH=SL=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1nD0Of-0003cy-Li
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 08:44:49 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2060c.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::60c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6289be1a-7f4d-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 09:44:48 +0100 (CET)
Received: from AM6PR10CA0102.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:209:8c::43)
 by GV1PR08MB7363.eurprd08.prod.outlook.com (2603:10a6:150:22::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.11; Thu, 27 Jan
 2022 08:44:46 +0000
Received: from VE1EUR03FT044.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:8c:cafe::67) by AM6PR10CA0102.outlook.office365.com
 (2603:10a6:209:8c::43) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15 via Frontend
 Transport; Thu, 27 Jan 2022 08:44:45 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT044.mail.protection.outlook.com (10.152.19.106) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4930.15 via Frontend Transport; Thu, 27 Jan 2022 08:44:44 +0000
Received: ("Tessian outbound 341d209a0e52:v113");
 Thu, 27 Jan 2022 08:44:43 +0000
Received: from a0ab422b5cb9.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 EB75B7DC-E613-46EC-BD3F-82D7E2908FF5.1; 
 Thu, 27 Jan 2022 08:44:38 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a0ab422b5cb9.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 27 Jan 2022 08:44:38 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by AS8PR08MB7027.eurprd08.prod.outlook.com (2603:10a6:20b:34e::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 08:44:30 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0%7]) with mapi id 15.20.4909.017; Thu, 27 Jan 2022
 08:44:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6289be1a-7f4d-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kPJCqTHmwpltoHKb3HtG+WTzxhVcrMGlenQZU1EZIb4=;
 b=veAbBI5GwLv+kNAZLcoO/ISmRZKDAp2GLhWvhiE+8rwQvKlY+S5zAY1Jbhbx2PEgQE+D/FhhpGYQ9lbNYdqess/bzi5fWuXBdRnNVdrOqzSBVUmBoBMobLNTi4rCg/olPy5akSwjRZDg4+36bok444iBjeEQimwc08QV0ftILZk=
X-MS-Exchange-Authentication-Results: spf=temperror (sender IP is
 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=temperror action=none
 header.from=arm.com;
Received-SPF: TempError (protection.outlook.com: error in processing during
 lookup of arm.com: DNS Timeout)
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GJr+fxZGu1pFKekBR1239Kbjq7HtlqpvVyeq4g2Vf6yJVfJ6l/U752bsjc9Vn/Trq/vdeguZ3d57u/OK+SM5x3F9FBqyV+XnfAwkJd679XH3T0yGNKlSFcLlntXbNG3khHgPG/C/DRbuB84RCFXM1zkhTwzWxe3/hAK0cLJ/r2s+EpyyRSUOqMy0uEy1X87DxHaJOf2fudJNj3muq5xV2RSeUC8drr73LVLYql158WY3pg/GIy6H1CUWi08HlbR1/OR30Aa2xgF0IwCyRvaLvo03x/PVoPRWQ94j0s04GI1thpHOM8mK3nySTukoijqDIPrLhry2yNRbGMX42GqWdg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kPJCqTHmwpltoHKb3HtG+WTzxhVcrMGlenQZU1EZIb4=;
 b=lRKDoY5K45ZMsH5NLwfKzH6du/ehrKSSrh8rH8JK+6jaM6YQSU4Kho5Pmn6AMS3dJhNAP0IL3TkhSxVLMCI9NkzZIQycwnE974MGZOGYhy1u9QXoRZxlCxNyD9L51kIAyt4X140sMmlM8wPn2GVw/F2PLGxixHSjsGJSdc6MKARtMrphsOHBInjjulMSSORQR5QH+vBkJSJu5J2QFoHR+8JbyWouhZ2lGO413mPCu8S2SFV1HTaUnPhoAsPN53wEqaTERR3YBdLycyixmC7KkMETy73cIrXY+oPx2sD9yS+1nDF7/IkIBOhB9PZF3paTAkOhx85hGHoszZ6kpMOr8A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kPJCqTHmwpltoHKb3HtG+WTzxhVcrMGlenQZU1EZIb4=;
 b=veAbBI5GwLv+kNAZLcoO/ISmRZKDAp2GLhWvhiE+8rwQvKlY+S5zAY1Jbhbx2PEgQE+D/FhhpGYQ9lbNYdqess/bzi5fWuXBdRnNVdrOqzSBVUmBoBMobLNTi4rCg/olPy5akSwjRZDg4+36bok444iBjeEQimwc08QV0ftILZk=
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: [PATCH 20/37] xen: introduce CONFIG_EFI to stub API for non-EFI
 architecture
Thread-Topic: [PATCH 20/37] xen: introduce CONFIG_EFI to stub API for non-EFI
 architecture
Thread-Index: AQHXsHMtR+l18+MmpE6rl/RjSXTBgqx0TXyAgAME0EA=
Date: Thu, 27 Jan 2022 08:44:30 +0000
Message-ID:
 <PAXPR08MB7420AC9A05A6118642F544BD9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-21-wei.chen@arm.com>
 <d80da027-93ac-4819-ef7a-f3fd8592e443@suse.com>
In-Reply-To: <d80da027-93ac-4819-ef7a-f3fd8592e443@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 0B26039A0A4C7C4DA094F99B4F734DB7.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 710486eb-0db7-4f82-18af-08d9e1714460
x-ms-traffictypediagnostic:
	AS8PR08MB7027:EE_|VE1EUR03FT044:EE_|GV1PR08MB7363:EE_
X-Microsoft-Antispam-PRVS:
	<GV1PR08MB73637BA34BEA7AE9928774719E219@GV1PR08MB7363.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:
 DFdi154/sf1XAaKoKyXe2r3DWiCCLn0bBTUfmIvzOFFQv9FC6jSxERXukgsZGucs7A299K3s9903uGuDNL2OeWOx8QZxCTScVQYU7RnrNYdec2B3E5/X9pwLtlYocP/b1mo009eH0Z0Dhi8kc4qVUqPLZ+Fb3YpK117P4xjCTWYAprew5j0/aKlAW5gtziUTtLh7qDtSbD6U+UccPQQs2it0P2v6tVH4aqOgNoYz52g7FoKBPHBEvAncYrGsiYvToUF493TzILxJOy36C/MYI5n6j0KX6CGGIuaLi0kVmumn4MxkeRPsUA0CqwID8g/WBAMo31UrO6MzX7ar7jhQx0iV1KEUTy3sMwYN+kzBcoQoa6EBiPHG+oAHUKz5pM+0dN+stZZZQJxHtBnMzVSTC/q5Qu3ZTfb6UM4JGMhIhMSCScYeG5Qr3C8mFWHcDUFl368n66TS3vsY42grh4J/S3/OKusb/RrYphcZ9fCwbiCMmEYuTkmUibw0FFKBgsuPvQ+Spxb+de0ZO1YvnISWqNYrBBcVY/sg8YQztLxEIUzD09b3JX4McRZK4/qOwBoCsAyaJroVQF+SPlvjkW2Fh5I0DA3Qiq+KpzHJje0s8uZd/SYFjRekE+bc4PTpBpmko23+RfXIuMIOlsE3vc1kL7SSk4hdvJ0/QZ3VU9a+6wcluTr4OUXer3E3HUD8LsHOU1PPeZZMnLxD+aHBYzxdWw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(2906002)(7696005)(6506007)(26005)(86362001)(76116006)(9686003)(66946007)(186003)(8936002)(4326008)(66556008)(8676002)(53546011)(66446008)(66476007)(64756008)(38070700005)(5660300002)(55016003)(122000001)(54906003)(71200400001)(83380400001)(6916009)(508600001)(316002)(33656002)(52536014)(38100700002)(20210929001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB7027
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT044.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a4c13ed3-e00e-4c1b-4259-08d9e1713c58
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	e/BIBRP9mmd+Ye6dmrDvpsUnLlPI2bBr4vTf+6hko7UE3bJcEtmk0a04el0rtZ2YAWfBVZhansQrPZWaA72kC7AdSHLpOyoIGpQ7QtZ+QqevHnGbPuOhaniMXuZk8+365LNJGNrIUGUUMXFZkFDqy6kVDxFeMnOQh3ZY1ynXeEbsbRa6LjGg4/4ctSC0l3Jvi6NPzCaTqhwGU6lM9G3wXZdUke5uR4ej2Vzp+wzSOjbazobae7lPnEQYGp5rmdQxQgK06oy/Nhzmsu/c3sGSdMk7IKuVWBnreI5b2AdFjTkgpp6mgGPLNuXaVi0YXtq3JntiDOd7SBonnXRxrnYjSFiFXH243LqjtiYZ/yA2I6hwEzz0QbqB8PSXMxshcnmIVxWVR/myrXGwa52Laa4vQ+OwAPLyoai0BTgw9Lxlji+Bbd5x5O78VwxQkGAwTQlibdtqWD4l/00d1vVJCKMVk6ngw8NCiN8+WkeICsHhCvqSKhl+jCNM2PpTWcXxAq9vkvIRKDqKgH+EzKXhq6zjeh2Mo2pM+U2usjFMd2xFDo4cKH4yHzvY2JmpKGNlb7w5oLbmHOrqVmhw2YITZp0/M2A8HyFLjABqckMRhcoFOHTWWBZndZky6eQVUK5ry4x5fw1Uis6j1lI2/o5JG2S0WMSF8k5ROvWFxAhJKtfJV7LkJbWYAjIrARSp5fnOCK1WzJryclXteoszjynJb8DekcR331Y0F3iL1yFq2ynL1WGz9kBu8/JnhBbughDwepGmiA4ZrVvQv1WidvVrNjJvPw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(40470700004)(40460700003)(316002)(63350400001)(186003)(33656002)(86362001)(70586007)(83380400001)(82310400004)(2906002)(336012)(4326008)(508600001)(5660300002)(52536014)(8936002)(6506007)(8676002)(26005)(356005)(81166007)(70206006)(53546011)(54906003)(9686003)(55016003)(36860700001)(47076005)(63370400001)(7696005)(6862004);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 08:44:44.3244
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 710486eb-0db7-4f82-18af-08d9e1714460
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: GV1PR08MB7363

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMuW5tDHmnIgyNeaXpSAxODozNQ0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiBCZXJ0cmFuZCBNYXJxdWlz
IDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyB4ZW4tDQo+IGRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnOyBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqdWxpZW5AeGVuLm9yZw0KPiBTdWJqZWN0
OiBSZTogW1BBVENIIDIwLzM3XSB4ZW46IGludHJvZHVjZSBDT05GSUdfRUZJIHRvIHN0dWIgQVBJ
IGZvciBub24tDQo+IEVGSSBhcmNoaXRlY3R1cmUNCj4gDQo+IE9uIDIzLjA5LjIwMjEgMTQ6MDIs
IFdlaSBDaGVuIHdyb3RlOg0KPiA+IC0tLSBhL3hlbi9jb21tb24vS2NvbmZpZw0KPiA+ICsrKyBi
L3hlbi9jb21tb24vS2NvbmZpZw0KPiA+IEBAIC0xMSw2ICsxMSwxNiBAQCBjb25maWcgQ09NUEFU
DQo+ID4gIGNvbmZpZyBDT1JFX1BBUktJTkcNCj4gPiAgCWJvb2wNCj4gPg0KPiA+ICtjb25maWcg
RUZJDQo+ID4gKwlib29sDQo+ID4gKwktLS1oZWxwLS0tDQo+ID4gKyAgICAgIFRoaXMgb3B0aW9u
IHByb3ZpZGVzIHN1cHBvcnQgZm9yIHJ1bnRpbWUgc2VydmljZXMgcHJvdmlkZWQNCj4gPiArICAg
ICAgYnkgVUVGSSBmaXJtd2FyZSAoc3VjaCBhcyBub24tdm9sYXRpbGUgdmFyaWFibGVzLCByZWFs
dGltZQ0KPiA+ICsgICAgICBjbG9jaywgYW5kIHBsYXRmb3JtIHJlc2V0KS4gQSBVRUZJIHN0dWIg
aXMgYWxzbyBwcm92aWRlZCB0bw0KPiA+ICsgICAgICBhbGxvdyB0aGUga2VybmVsIHRvIGJlIGJv
b3RlZCBhcyBhbiBFRkkgYXBwbGljYXRpb24uIFRoaXMNCj4gPiArICAgICAgaXMgb25seSB1c2Vm
dWwgZm9yIGtlcm5lbHMgdGhhdCBtYXkgcnVuIG9uIHN5c3RlbXMgdGhhdCBoYXZlDQo+ID4gKyAg
ICAgIFVFRkkgZmlybXdhcmUuDQo+IA0KPiBUaGUgd2F5IGVuYWJsaW5nIG9mIChmdWxsKSBFRkkg
c3VwcG9ydCB3b3JrcyBvbiB4ODYsIEkgY29uc2lkZXIgaXQNCj4gd3JvbmcgLyBtaXNsZWFkaW5n
IHRvIHB1dCB0aGUgb3B0aW9uIGluIGNvbW1vbiBjb2RlLiBBdCB0aGUgdmVyeSBsZWFzdA0KPiB0
aGUgaGVscCB0ZXh0IHdvdWxkIG5lZWQgdG8gY2FsbCBvdXQgdGhlIGV4dHJhIGRlcGVuZGVuY2ll
cy4gUGx1cyB0aGUNCj4gaGVscCB0ZXh0IG9mIGNvdXJzZSB0aGVuIG5lZWRzIHRvIGJlIGdlbmVy
aWMgKGkuZS4gYXBwbGljYWJsZSB0byBib3RoDQo+IEFybSBhbmQgeDg2KS4gVGhhdCdzIG5vdHdp
dGhzdGFuZGluZyB0aGUgZmFjdCB0aGF0IHdpdGhvdXQgYSBwcm9tcHQNCj4gdGhlIGhlbHAgdGV4
dCB3b24ndCBldmVyIGJlIHNlZW4gd2hpbGUgY29uZmlndXJpbmcgWGVuLg0KPiANCj4gQWxzbyAo
bml0KTogSW5kZW50YXRpb24uIEFuZCBwbGVhc2UgZG9uJ3QgdXNlIC0tLWhlbHAtLS0gYW55bW9y
ZSBpbg0KPiBuZXcgY29kZS4NCj4gDQoNCkkgaGF2ZSB1c2VkIENPTkZJR19BUk1fRUZJIHRvIHJl
cGxhY2UgdGhpcyBjb21tb24gRUZJIGNvbmZpZyBpbiBteQ0KbGF0ZXN0IHZlcnNpb24uIFRoaXMg
S2NvbmZpZyBvcHRpb24gaGFzIGJlZW4gcmVtb3ZlZC4NCkFuZCB0aGFua3MsIEkgd2lsbCBub3Qg
dXNlIC0taGVscC0tIGFueW1vcmUuDQoNCj4gPiAtLS0gYS94ZW4vaW5jbHVkZS94ZW4vZWZpLmgN
Cj4gPiArKysgYi94ZW4vaW5jbHVkZS94ZW4vZWZpLmgNCj4gPiBAQCAtMjUsNiArMjUsOCBAQCBl
eHRlcm4gc3RydWN0IGVmaSBlZmk7DQo+ID4NCj4gPiAgI2lmbmRlZiBfX0FTU0VNQkxZX18NCj4g
Pg0KPiA+ICsjaWZkZWYgQ09ORklHX0VGSQ0KPiA+ICsNCj4gPiAgdW5pb24geGVucGZfZWZpX2lu
Zm87DQo+ID4gIHVuaW9uIGNvbXBhdF9wZl9lZmlfaW5mbzsNCj4gPg0KPiA+IEBAIC00NSw2ICs0
Nyw4IEBAIGludCBlZmlfcnVudGltZV9jYWxsKHN0cnVjdCB4ZW5wZl9lZmlfcnVudGltZV9jYWxs
ICopOw0KPiA+ICBpbnQgZWZpX2NvbXBhdF9nZXRfaW5mbyh1aW50MzJfdCBpZHgsIHVuaW9uIGNv
bXBhdF9wZl9lZmlfaW5mbyAqKTsNCj4gPiAgaW50IGVmaV9jb21wYXRfcnVudGltZV9jYWxsKHN0
cnVjdCBjb21wYXRfcGZfZWZpX3J1bnRpbWVfY2FsbCAqKTsNCj4gPg0KPiA+ICsjZW5kaWYgLyog
Q09ORklHX0VGSSovDQo+IA0KPiBJIGNhbiBzZWUgdGhhdCBpbiB0aGUgbGF0ZXIgcGF0Y2gsIHdo
ZW4gaW50cm9kdWNpbmcgaW5saW5lIHN0dWJzLA0KPiB5b3Ugd291bGQgbmVlZCBjb25kaXRpb25h
bHMgaGVyZSwgYnV0IEkgZG9uJ3QgdGhpbmsgeW91IG5lZWQgdGhlbQ0KPiByaWdodCBoZXJlIChv
ciB5b3UgbWF5IHdhbnQgdG8gaW50cm9kdWNlIHRoZSBzdHVicyByaWdodCBhd2F5KS4NCj4gDQo+
IEFsc28gKG5pdCk6IE1pc3NpbmcgYmxhbmsgaW4gdGhlIGNvbW1lbnQuDQo+IA0KPiBKYW4NCg0K


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 08:45:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 08:45:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261318.452318 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD0PE-00049s-Ey; Thu, 27 Jan 2022 08:45:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261318.452318; Thu, 27 Jan 2022 08: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 1nD0PE-00049l-Ba; Thu, 27 Jan 2022 08:45:24 +0000
Received: by outflank-mailman (input) for mailman id 261318;
 Thu, 27 Jan 2022 08:45:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=xPLH=SL=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1nD0PD-00049T-9G
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 08:45:23 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20615.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::615])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 766b9eff-7f4d-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 09:45:22 +0100 (CET)
Received: from AS9P194CA0024.EURP194.PROD.OUTLOOK.COM (2603:10a6:20b:46d::29)
 by DBAPR08MB5845.eurprd08.prod.outlook.com (2603:10a6:10:1a5::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Thu, 27 Jan
 2022 08:45:20 +0000
Received: from VE1EUR03FT049.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:46d:cafe::16) by AS9P194CA0024.outlook.office365.com
 (2603:10a6:20b:46d::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15 via Frontend
 Transport; Thu, 27 Jan 2022 08:45:20 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT049.mail.protection.outlook.com (10.152.19.216) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4930.15 via Frontend Transport; Thu, 27 Jan 2022 08:45:19 +0000
Received: ("Tessian outbound 18e50a6f0513:v113");
 Thu, 27 Jan 2022 08:45:19 +0000
Received: from 9f831656d4c8.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 A681E2FC-53BF-4979-B85D-C32001752FD1.1; 
 Thu, 27 Jan 2022 08:45:14 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9f831656d4c8.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 27 Jan 2022 08:45:14 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by DB6PR0802MB2229.eurprd08.prod.outlook.com (2603:10a6:4:86::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 08:45:12 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0%7]) with mapi id 15.20.4909.017; Thu, 27 Jan 2022
 08:45: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: 766b9eff-7f4d-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6EpOza1ye61p1xaBFI78QEksFsXzc628vl2Cwh3thwo=;
 b=YdAOW0+I7caN1JV1bDz/2+r25SykVxQd6ZZxM+3+4ufHnzkGNfeLwL17s+WpEYMABAYQQD29lUeGC47tmEsmGgmsjGYJvTZnCI75qhsKd6tktb4DuaFMf7NHvmAyEOvfTjBuW+42DWCmfjFKa2vpDk3+fxSSp1jZM8jnL74uW1g=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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=U0PzyEg9ew72QbpOz7fEkqWRMUL/fOk4z91kJhlugPvWQ95d2eBsq8hzuUaho3qbucbkCCFWFm8XCVG4jA9faFd9WzJ4ce3nbdBNzHSuk9LDu1+fgxSqS6g69UV02NQXXO5VoKQFfhVe+pUmbMbi8aNBoDPI7L9nepJ088RfGAPsdQcrc2sAVNiB4+LU/p7O/BM6Ma1x+J6hfa/KVB5oONjkvATl+yeKWsKZBkupxVmD/kTmLk8L1ELHu1FqYNSoSPWGlFaFefKEV94BAgtlpvncvkcOUhUvLkLLJQYoEBM2PKMziRmI7fpOqcztr/LJkX0V8X9XxMhFbifazc3h9A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6EpOza1ye61p1xaBFI78QEksFsXzc628vl2Cwh3thwo=;
 b=QwMO7S/AlBAR4BKJDF2zUnvsFdtTDn5ApQuoBC1A7bRysBVoT8k6t3BEfVyjAy+L9+5s+nJ7TCXHBqOuGVWi5jjD/rMXdkbK1J1GXyu1DvXbM5xBdluB9rjdd82v21KVS4NGsvd3evAkZ9VJbqBKzI/idhClKD7h6QKixm78kFxSMgMvWIi1Qk3hmZjlK3DKJUfCYYyIMEyUeKLeu/KZAGZLvU+svMzNEhUoyB3TBXJOj61XupOqLiLooKPybEcFnDu/8hvRTRrn2alrs/GuesfBCwytESO7JJprMVq1ADBHInyykpVp2ZhGA/iKbejuiQV9+Lmr0ArNuTYkMrj7Ww==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6EpOza1ye61p1xaBFI78QEksFsXzc628vl2Cwh3thwo=;
 b=YdAOW0+I7caN1JV1bDz/2+r25SykVxQd6ZZxM+3+4ufHnzkGNfeLwL17s+WpEYMABAYQQD29lUeGC47tmEsmGgmsjGYJvTZnCI75qhsKd6tktb4DuaFMf7NHvmAyEOvfTjBuW+42DWCmfjFKa2vpDk3+fxSSp1jZM8jnL74uW1g=
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: [PATCH 21/37] xen/arm: Keep memory nodes in dtb for NUMA when
 boot from EFI
Thread-Topic: [PATCH 21/37] xen/arm: Keep memory nodes in dtb for NUMA when
 boot from EFI
Thread-Index: AQHXsHMrd58EkQofR0OqZuXsqMtGrKx0TpYAgAMEzTA=
Date: Thu, 27 Jan 2022 08:45:11 +0000
Message-ID:
 <PAXPR08MB742032F03C7326404437E9869E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-22-wei.chen@arm.com>
 <9424e908-2f86-d487-e02f-dc0cec4820e9@suse.com>
In-Reply-To: <9424e908-2f86-d487-e02f-dc0cec4820e9@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 2172FBDFD183E44F8D82DBE72A28BC10.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: bc26c446-58ba-4729-2633-08d9e171599b
x-ms-traffictypediagnostic:
	DB6PR0802MB2229:EE_|VE1EUR03FT049:EE_|DBAPR08MB5845:EE_
X-Microsoft-Antispam-PRVS:
	<DBAPR08MB584586DE70F77828929B3A989E219@DBAPR08MB5845.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:
 iswfibRiPlh5aO2nNts9fMa4xn78M6dcNiXhYP1J30Kw1xjRjKXYkC6RvhUleZyRHp11nK3VE68aA7GY4yRvgoG4RLuD/c3ijPeQYyz9ctZiNipcFftAHs0drBwSzJoPRjUNaGIlA5zdfxhfOjEpj9RPwUTfFfn9P9Q1naXWGqTK/zlE8GWSNJJLFPHYNH8ipigHFNHXMhiUVyx3g4DUc1mRhy7CNMxZ/KiDhr85VTNUzr7BXYgeTPnLAeNHwnGzrHDvij+rgVp8bFpTcMOdkP/+UH2zx6hjbc4FQ7CxdF9J4S6Ld8K95pg3em4EyUI00QL2y0YrOqYxbH6v6fC+NQMsGw3ryLbzodEOqhpbj6oH9lQe72ckOTThZ7Dy7Or/pH7zWmkcmGw1ZjM3YqXj7b8mQTnEmdit/+psJ3B6A3TFURCCKFM3osmM8/ZLcJ1He2dCr6tEIaquB5+Rcg4uItklDUvPZR/Dz+vgydxRGnHXzK4qJrFSMugsCZtEIt4RXrtsDu5gq6v134ccyIEXIyVcMcLBjhiPKWwhu3D1prFOsWnJyVYmo419PEZn0VN5k8Js24RuUQ4iwswxmov8+V8n00MFbSawrvf4RPjog7WoCvDayi46YUBkF4H0WZ+tzwd56vRUczA/WICNPVK3cCiEDAfTVb5aHXP6jgNQMVwRF11Tq/jdA53V4jIb4+f2rOZjNKnfkJCwtOmB8pUy3Q==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(86362001)(6506007)(54906003)(5660300002)(7696005)(508600001)(316002)(2906002)(52536014)(38100700002)(4744005)(26005)(186003)(6916009)(9686003)(83380400001)(33656002)(66446008)(66556008)(76116006)(66476007)(64756008)(4326008)(8676002)(8936002)(66946007)(122000001)(53546011)(55016003)(71200400001)(38070700005)(20210929001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2229
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT049.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b92ee877-deab-4284-8349-08d9e17154c9
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	il1kgIiO+JAMh4qZ7PAYrdnZ7+e4cbbG5oqtQZoCYpeB1oH8JC+ZGLKiP00prgrduGjHrsxVH9gVo/7K+ob2liYtjiNMtJoEXc0JkINvjNjsDUrHUjvoIVzzwoFrubMeQ23DB3bCMRBR7ewgJ6S62qs7a1sdGEncA9nShOcTdNl7esF0XRDrHfJkZTH+eKlDPgPXm2ymFixnF0mVydgpjad8hEy1AM3V4NhXUx7JAN8BhCT6iBJl6IiSq+b5lZpBOlA55KOPJn0jdQRe0AjuBHoMw59IniwKIM1zLoiReCPVJiWpYdheZITYqe78DFpRBIg7L3YdY2277ay2N5Cglnw7HKsvTQ5zbAYThndREjpch73ttr5EtzAxSI5+yyYfJBj7dXDPfXGMAB7YUHU1nSPTPwLqYcdWrW5NxtxNRmLuU6NEI3nqPj1idM5r0IIapiXerabhsZzlm+7jgZaIM4G1ylxubCbtYX5YZlb5movAF9/pig6toA5MOwYbrRGtZLK+0/6uekxQroWQrDRwAqkZ30O1ZYSkl5/+Br4Zg4juQ/eiW7pd20g1Fb15jt6po9Bsmlizl95PgLHMYmStRpnmQc1Tfvy2cF3trxjxIgjtk/YEuomTMWJrM+XdMPs+A08Q3sPZ9gfWweEzL9Kkq59aowlApxusTGIJIIpOEvA4NNPN8e4xwY1xrkf60gBK
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230001)(4636009)(36840700001)(40470700004)(46966006)(70586007)(6862004)(70206006)(8676002)(4326008)(33656002)(81166007)(82310400004)(8936002)(356005)(5660300002)(336012)(52536014)(55016003)(83380400001)(53546011)(2906002)(6506007)(7696005)(54906003)(86362001)(40460700003)(4744005)(186003)(26005)(36860700001)(508600001)(9686003)(47076005)(316002)(20210929001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 08:45:19.9506
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: bc26c446-58ba-4729-2633-08d9e171599b
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VE1EUR03FT049.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5845

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMuW5tDHmnIgyNeaXpSAxODozOQ0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiBCZXJ0cmFuZCBNYXJxdWlz
IDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyB4ZW4tDQo+IGRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnOyBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqdWxpZW5AeGVuLm9yZw0KPiBTdWJqZWN0
OiBSZTogW1BBVENIIDIxLzM3XSB4ZW4vYXJtOiBLZWVwIG1lbW9yeSBub2RlcyBpbiBkdGIgZm9y
IE5VTUEgd2hlbg0KPiBib290IGZyb20gRUZJDQo+IA0KPiBPbiAyMy4wOS4yMDIxIDE0OjAyLCBX
ZWkgQ2hlbiB3cm90ZToNCj4gPiAtLS0gYS94ZW4vaW5jbHVkZS94ZW4vZWZpLmgNCj4gPiArKysg
Yi94ZW4vaW5jbHVkZS94ZW4vZWZpLmgNCj4gPiBAQCAtNDcsNiArNDcsMTMgQEAgaW50IGVmaV9y
dW50aW1lX2NhbGwoc3RydWN0IHhlbnBmX2VmaV9ydW50aW1lX2NhbGwgKik7DQo+ID4gIGludCBl
ZmlfY29tcGF0X2dldF9pbmZvKHVpbnQzMl90IGlkeCwgdW5pb24gY29tcGF0X3BmX2VmaV9pbmZv
ICopOw0KPiA+ICBpbnQgZWZpX2NvbXBhdF9ydW50aW1lX2NhbGwoc3RydWN0IGNvbXBhdF9wZl9l
ZmlfcnVudGltZV9jYWxsICopOw0KPiA+DQo+ID4gKyNlbHNlDQo+ID4gKw0KPiA+ICtzdGF0aWMg
aW5saW5lIGJvb2wgZWZpX2VuYWJsZWQodW5zaWduZWQgaW50IGZlYXR1cmUpDQo+ID4gK3sNCj4g
PiArICAgIHJldHVybiBmYWxzZTsNCj4gPiArfQ0KPiA+ICsNCj4gPiAgI2VuZGlmIC8qIENPTkZJ
R19FRkkqLw0KPiANCj4gQXMgYWxyZWFkeSBoaW50ZWQgYXQgZm9yIHRoZSBlYXJsaWVyIHBhdGNo
LCBJIHRoaW5rIHRoaXMgaHVuayB3YW50cw0KPiBtb3ZpbmcgYWhlYWQgaW4gdGhlIHNlcmllcy4N
Cg0KWWVzLCBJIHdpbGwgZG8gaXQuDQpUaGFua3MhDQoNCj4gDQo+IEphbg0KDQo=


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 08:48:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 08:48:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261323.452329 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD0Ro-0004wq-15; Thu, 27 Jan 2022 08:48:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261323.452329; Thu, 27 Jan 2022 08:48:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD0Rn-0004wj-UI; Thu, 27 Jan 2022 08:48:03 +0000
Received: by outflank-mailman (input) for mailman id 261323;
 Thu, 27 Jan 2022 08:48:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=xPLH=SL=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1nD0Rm-0004wd-Sq
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 08:48:02 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0617.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::617])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d575cbd7-7f4d-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 09:48:01 +0100 (CET)
Received: from DB6PR1001CA0031.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:4:55::17)
 by PA4PR08MB6286.eurprd08.prod.outlook.com (2603:10a6:102:f2::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 08:47:51 +0000
Received: from DB5EUR03FT007.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:55:cafe::f6) by DB6PR1001CA0031.outlook.office365.com
 (2603:10a6:4:55::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15 via Frontend
 Transport; Thu, 27 Jan 2022 08:47:51 +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.4930.15 via Frontend Transport; Thu, 27 Jan 2022 08:47:51 +0000
Received: ("Tessian outbound 31aeb3346a45:v113");
 Thu, 27 Jan 2022 08:47:51 +0000
Received: from 0ca3f6b263ce.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 4E849FBA-EE48-4784-93F0-5F6424E10DD7.1; 
 Thu, 27 Jan 2022 08:47:45 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0ca3f6b263ce.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 27 Jan 2022 08:47:45 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by VI1PR08MB5376.eurprd08.prod.outlook.com (2603:10a6:803:13e::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.8; Thu, 27 Jan
 2022 08:47:33 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0%7]) with mapi id 15.20.4909.017; Thu, 27 Jan 2022
 08:47:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d575cbd7-7f4d-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6w9JL6lBnKDmDtI9N0cPUQ3IpG1eflaM/TnQ7PivLzY=;
 b=piTCOcQriCzYUDtu6c6/awHmv4TZKU+oMZZMTym7nDZbvK4kAjZ1Cy2ryzD//lxJFg2U4N2hre4ZjhIb4yXKUVJoYQO9KlZTMopLDHjBZWpHK6KhEoR9S0wcRZ1oF2LLt/IZyqG/rzfemeqXIUnzSQdQRJEcqtT4Wce1JzewvDY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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=nGIzTikE902Rax/C4KrDpwaNIIFtzVG+Dskt9ycIwZRCktUYmvTpu1xtNITwnfnmxo2FXtspwmKtOo/OCjf4ULlZcC62MS1xVL2yTGQmhNilDsfVV8dOzYDaXPMFm0C4kvobu0On5oaohr3Lh9KySxz7FPlk9OmR9qb9H54fLWHYY36ar0SJJpnA4sQ9UPz0faR5u1VtuzRDT0xJ2TkUJUB7IZ1rhQmuQmkp8jfBvKOyNb4dgpqOFsNc7a66KvBC3QCPgGjjrMjAgiG6OdgaEGsz3yGStT/C4nWwGKHBoOQreWZsv+U4cvHK5wCrJQjL8vCydzvgzBiWwP5Ov1RBQg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6w9JL6lBnKDmDtI9N0cPUQ3IpG1eflaM/TnQ7PivLzY=;
 b=QkpjM+8m8yoMHn8HYBkcYWJHX6+W+FHwugzFlq2rft0Z2olYxOSxezDfKUxx4/sdpLVH+AGOaFn+pYDd3ysYxbLb4ychW8+TRE3qB2RH2HWxy36Up+vy+A/YCqHobbIXdoY3zUG985s5+x94OzZn2tzQ5u5xFWfqSSN1Vc5ugZH6FSzB+xl2LMVenlIHK7ys5AkXx5lF1FEU8J43nnQ0KnvY2Mbw7BF3Gutylq2UTVS8cDvIar95SAIG88dtMfEmU9wxN7o8KhBsStcKBPORoigtxZdwdwPnlfEicJmqRUFYjwKhEfRCcSZbTwKVfUNx8axyH6rQgZg/IYmGgXxAVw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6w9JL6lBnKDmDtI9N0cPUQ3IpG1eflaM/TnQ7PivLzY=;
 b=piTCOcQriCzYUDtu6c6/awHmv4TZKU+oMZZMTym7nDZbvK4kAjZ1Cy2ryzD//lxJFg2U4N2hre4ZjhIb4yXKUVJoYQO9KlZTMopLDHjBZWpHK6KhEoR9S0wcRZ1oF2LLt/IZyqG/rzfemeqXIUnzSQdQRJEcqtT4Wce1JzewvDY=
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: [PATCH 16/37] xen/x86: export srat_bad to external
Thread-Topic: [PATCH 16/37] xen/x86: export srat_bad to external
Thread-Index: AQHXsHMnFy02K9wv1EmfXGO37i6/5qx0SfuAgAMEmKCAAAK4AIAAAm5w
Date: Thu, 27 Jan 2022 08:47:33 +0000
Message-ID:
 <PAXPR08MB7420A9C9F95F1F5AB7890F989E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-17-wei.chen@arm.com>
 <de67a7ab-785b-f545-5aa3-36e710db0868@suse.com>
 <PAXPR08MB742092EAA94BF614FCF7EE3E9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <fab7bd72-b370-45dc-90d6-64ea49ce4aa0@suse.com>
In-Reply-To: <fab7bd72-b370-45dc-90d6-64ea49ce4aa0@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: D6E821699053B24C81287C5F93124F39.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 28bc6f93-2e96-4008-4508-08d9e171b39e
x-ms-traffictypediagnostic:
	VI1PR08MB5376:EE_|DB5EUR03FT007:EE_|PA4PR08MB6286:EE_
X-Microsoft-Antispam-PRVS:
	<PA4PR08MB62866F9A0AD8EEEF9D4CFFF59E219@PA4PR08MB6286.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:
 ubCVRzdUGeddujm4yuId1VskOyZhvB1UWQCs3bRew+KYUNgdJtQ0vZm58JZfxzeWAMb8Ufo4BMPP8KCkzp9eGg55ml/MYiMHLUUasxR6lKNFaNzIzUkMxSmqv+BCosk66Yr6GXlLUih83tpruE0w4HBihxQtCy2hhwKhEmX3G4F+bYHT8XXEXKYKm27GfQKXwxG7S5CUS4nywuU3TF7W/9eLC8wCf99XxTlrlwdhul3YNXUIbPDpgeU0DkY4RMGaxJdyIObBtJqfHIMqRNrMp78djil2OOT9bk7U9KeMQ+/DIKzr9uWPkF+31TWQnYUh1mm40gAWN584h/Ej3+ML260dDbluFojprGQbKHsdf7Vm2ez/+LIz/RtG2WqSMEbawXCswUh87E9kGMfjwOH6wwQIQO+5Woh2+m2cgw23thIRIrdQ/xTFoK/3qqWAXqewhXbiemti8zWWFmm0hHN3Dx3Hr6k7cZFc/CSkeTbw1drsXKac3A1uUvSmHESS82dIh+U9yRzAbBfL1UUcNfWAWWm/Ft2mijylbflUHl0Oc3uaQsi3QixziLFC5tJNexNpu2NwxG0t7d2MZqA1Er/Iq8uv9ICvVbH3JAYOeyI/fvQIc1ZNTfuzivqf61BwXJk1jk88eEOQeF5rHElOF/Kn3DZ772Gzf9moTPwFer2iwZMZ8LlZXyOeot/t3tEu6oQsm1UuqRwmySbtgHbR01FglA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(122000001)(8936002)(8676002)(71200400001)(2906002)(508600001)(86362001)(9686003)(6916009)(66476007)(38070700005)(55016003)(38100700002)(52536014)(316002)(4326008)(66556008)(83380400001)(54906003)(6506007)(66446008)(66946007)(76116006)(33656002)(186003)(53546011)(26005)(7696005)(64756008)(5660300002);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5376
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;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-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	e40e67e7-29f4-4b22-f21a-08d9e171a954
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PNbFinxXZU3BYZ3ZxA4H3ygc90Tw1XjWYt0k367mTeLB/Q3upX9MHnbuAHTLf1ju6d5BlEh5G2ikwsxB90cbg/usVm3Y8PWeRxaIxmce2HyhEnDhduIo+5vUioE2JZz2klEGAYR/8LWf63XnR4r00o+WBzqduNv8oYIow0z2zDsaX+KJyUSUdCxLXIVfcBEG+UBX7YBtC3BmcWCodzNr4BHt8h156b4FwrectTCQGWAwlKzbqPyzpAqKZxWtUTKtqq0ddfrgX/ryw/W74OJmCBfNSgXMfihZ2DELleOvCMAa4kKrNAsSp4UMewDSYYsvvm93e211R7vpmcWrSulvpD8vdh1vzT+5VWlOZcBjvccVDzpM3RSYwyXC3vYQcSW+Wn+3FP10wgiZwk4fr79nVblf/WviQ0NsIonnRDyonG7fod9BIuikzdKbaKa2PYGyK1r2Fd3OE9zzYPn8jWawf4wjhR9KQ1LdglkPG3UcQtfxu7NRCdI4cSF2p9twLgy3S475nTuTCIkkp4lF+Fqd37/KvjYHx2NbNo3nqatyetaV7jrxoAlJK4119ApY2Jy2LLTOb11/h9+VMwLLNYb438xU5kDQss6JXmg2hhhuRRQKRlCnXOAXnSx2+P6L2wDpiqkHM7nCJivN+Ik9VO1zLLaDpXkvj2LxgEYo5oSaC0ihjyveCeeSw4H+FdJTGkdX
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230001)(4636009)(36840700001)(46966006)(40470700004)(6506007)(7696005)(53546011)(508600001)(186003)(2906002)(52536014)(8676002)(6862004)(4326008)(336012)(86362001)(83380400001)(55016003)(33656002)(26005)(47076005)(8936002)(40460700003)(9686003)(54906003)(316002)(36860700001)(5660300002)(82310400004)(81166007)(356005)(70206006)(70586007)(20210929001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 08:47:51.0683
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 28bc6f93-2e96-4008-4508-08d9e171b39e
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: PA4PR08MB6286

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMuW5tDHmnIgyN+aXpSAxNjozNw0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiBCZXJ0cmFuZCBNYXJxdWlz
IDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyB4ZW4tDQo+IGRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnOyBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqdWxpZW5AeGVuLm9yZw0KPiBTdWJqZWN0
OiBSZTogW1BBVENIIDE2LzM3XSB4ZW4veDg2OiBleHBvcnQgc3JhdF9iYWQgdG8gZXh0ZXJuYWwN
Cj4gDQo+IE9uIDI3LjAxLjIwMjIgMDk6MzUsIFdlaSBDaGVuIHdyb3RlOg0KPiA+IEhpIEphbiwN
Cj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBKYW4gQmV1
bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+ID4+IFNlbnQ6IDIwMjLlubQx5pyIMjXml6UgMTg6
MjINCj4gPj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPg0KPiA+PiBDYzogQmVydHJh
bmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPjsgeGVuLQ0KPiA+PiBkZXZlbEBs
aXN0cy54ZW5wcm9qZWN0Lm9yZzsgc3N0YWJlbGxpbmlAa2VybmVsLm9yZzsganVsaWVuQHhlbi5v
cmcNCj4gPj4gU3ViamVjdDogUmU6IFtQQVRDSCAxNi8zN10geGVuL3g4NjogZXhwb3J0IHNyYXRf
YmFkIHRvIGV4dGVybmFsDQo+ID4+DQo+ID4+IE9uIDIzLjA5LjIwMjEgMTQ6MDIsIFdlaSBDaGVu
IHdyb3RlOg0KPiA+Pj4gc3JhdF9iYWQgaXMgdXNlZCB3aGVuIE5VTUEgaW5pdGlhbGl6YXRpb24g
Y29kZSBzY2FuIFNSQVQgZmFpbGVkLg0KPiA+Pj4gSXQgd2lsbCB0dXJuIGZ3X251bWEgdG8gZGlz
YWJsZWQgc3RhdHVzLiBJdHMgaW1wbGVtZW50YXRpb24gZGVwZW5kcw0KPiA+Pj4gb24gTlVNQSBp
bXBsZW1lbnRhdGlvbi4gV2Ugd2FudCBldmVyeSBOVU1BIGltcGxlbWVudGF0aW9uIHRvIHByb3Zp
ZGUNCj4gPj4+IHRoaXMgZnVuY3Rpb24gZm9yIGNvbW1vbiBpbml0aWFsaXphdGlvbiBjb2RlLg0K
PiA+Pj4NCj4gPj4+IEluIHRoaXMgcGF0Y2gsIHdlIGV4cG9ydCBzcmF0X2JhZCB0byBleHRlcm5h
bC4gVGhpcyB3aWxsIGFsbG93IHRvDQo+ID4+PiBoYXZlIHRoZSBjb2RlIG1vc3RseSBjb21tb24u
DQo+ID4+DQo+ID4+IEhlcmUgYXMgd2VsbCBhcyBpbiB0aGUgc3ViamVjdCBpdCB3b3VsZCBoZWxw
IGlmIHRoZSBmdW5jdGlvbiBuYW1lDQo+ID4+IHdhc24ndCB0aGUgd3Jvbmcgd2F5IHJvdW5kLiBJ
IGFsc28gZG9uJ3Qgc2VlIGhvdyB5b3UgbWVhbiB0byB1c2UgYQ0KPiA+PiBmdW5jdGlvbiBjb250
YWluaW5nICJzcmF0IiBpbiBpdHMgbmFtZSBmcm9tIG5vbi1BQ1BJIGNvZGUuDQo+ID4+DQo+ID4+
IFBlcmhhcHMgYWxvbmdzaWRlIG51bWFfbW9kZSgpIChzZWUgdGhlIHJlcGx5IHRvIHRoZSBlYXJs
aWVyIHBhdGNoKQ0KPiA+PiB5b3Ugd2FudCB0byBoYXZlIGEgc2V0X251bWFfb2ZmKCkgaGVscGVy
IChuYW1lIHN1YmplY3QgdG8NCj4gPj4gaW1wcm92ZW1lbnQpPw0KPiA+Pg0KPiA+DQo+ID4gWWVz
LCBhY3R1YWxseSwgSSB3YW50IGEgZnVuY3Rpb24gdG8gZGlzYWJsZSB0aGUgbnVtYSB3aGVuIHdl
IGVuY291bnRlcg0KPiA+IGFueSBlcnJvciBpbiBudW1hIGluaXRpYWxpemF0aW9uLiBBbmQgd2Ug
YWxzbyBzbyB3YW50IHRvIGluZGljYXRlIHRoZQ0KPiA+IG51bWEgb2ZmIGlzIGNhdXNlZCBieSBj
b25maWd1cmF0aW9uIGVycm9yLiBTbyB3ZSBoYWQgdGhvdWdodCB0byB1c2UNCj4gPiBudW1hX2Z3
X2ZhdWx0IHRvIHJlcGxhY2Ugc3JhdF9iYWQuDQo+IA0KPiBXaHkgbm90IHNpbXBseSBudW1hX2Jh
ZCgpIG9yLCBzYXksIG51bWFfZGlzYWJsZSgpPw0KPiANCg0KbnVtYV9iYWQgd291bGQgYmUgT0su
DQoNCj4gSmFuDQoNCg==


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 08:48:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 08:48:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261325.452340 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD0S9-0005QP-A5; Thu, 27 Jan 2022 08:48:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261325.452340; Thu, 27 Jan 2022 08:48:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD0S9-0005QG-6n; Thu, 27 Jan 2022 08:48:25 +0000
Received: by outflank-mailman (input) for mailman id 261325;
 Thu, 27 Jan 2022 08:48:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD0S7-0004wd-0M
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 08:48:23 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e16e4c47-7f4d-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 09:48:21 +0100 (CET)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2055.outbound.protection.outlook.com [104.47.13.55]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-5-HsvK8GsgNV2n7a1dS3AbUw-1; Thu, 27 Jan 2022 09:48:20 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by PAXPR04MB9423.eurprd04.prod.outlook.com (2603:10a6:102:2b3::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 08:48:18 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 08:48:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e16e4c47-7f4d-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643273301;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=XSK5J8ggiUsZRw8UOO8CzM47LF2LNC3PhGAh/1xyCS8=;
	b=F8mUoSGCnY8WSYDx3fxjOxdBDBAx6cYas+3FrLPC/H3ly0KxYOVZ4dIPPueshOPeiN3J+D
	D+1dF3bCfsOcZ95a0tGxKXID1zZg7iXMJr5mAK4yz/Nv4df8ClX2TpVxZuJCOMWZcnVfYH
	Ldt2xu1ma/OqZoT66Gcd10u6WmThClA=
X-MC-Unique: HsvK8GsgNV2n7a1dS3AbUw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YzhJN9hcpQhXSa4lWGbLHrjZ7e7r+rkVu/scc12AOwNeVpBdJb6PvVJlmr4KQ/NbYK3dYODPcBFeWescjeUqHjWyuPDpyRZPPWuBdA/5Ri2OScCcIWp0KgKsw98mbmKg+ksqLcvBPg1hknV5lqzboqBJNHj/t1Yo2Hbfh+Y+JWG1eRQta20uZeVlzmr4PA7rlAHhBq+pSJ9+B2/3NkPo5dSRDak2I9k7PSMMImJa2cMlrWms59s0WNdY9HAd3/HqWsyDwddwuqlBORb+jaNFnnUas55cVy2YZQ+oEae9A4rbMOPMb3XPcjT+Y3AEeStbyezIVoEkP/rW1u/ffcQDXw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XSK5J8ggiUsZRw8UOO8CzM47LF2LNC3PhGAh/1xyCS8=;
 b=P/wSXI0QaV52j8QFfNeM+JuYsVx2bO2/x0q07y9ilALmv3BbqTu7wTZlsL3LywIv7WMrcM8L2w4vDYbgi+ASFr3TS7fEgXzwLMB6dUZvRJGygRKR71rwoK6LVva4r5uVTffXTAiq/HiZVfL/yxQA3v0YF+Ywd9Ul0z5PI7hVn9NI2m8OxCALhjdMu1o0LB8qOY+UAUhpmDzW0wAvPTxrvAi1k4mBPNefLhhtH+xdmTSuzFWyrUDpDNIc4/59slgv1N+eUSWosvPyJRbmuSbygUazI1Do7rOfpjbOUryaX6yOp0gre5H7OAv6kbylf6XQ4MqYbsgvTCyGpMbVi+Oi8w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4a82bfdf-479d-3813-069a-84d30a6e29fd@suse.com>
Date: Thu, 27 Jan 2022 09:48:16 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v2] xen/pci: detect when BARs are not suitably positioned
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org
References: <20220127082218.57902-1-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220127082218.57902-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR04CA0041.eurprd04.prod.outlook.com
 (2603:10a6:20b:46a::30) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 08c93be5-8513-47d7-f6bb-08d9e171c396
X-MS-TrafficTypeDiagnostic: PAXPR04MB9423:EE_
X-Microsoft-Antispam-PRVS:
	<PAXPR04MB9423C25B65608391BA43E8AFB3219@PAXPR04MB9423.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:
	r2u2Zb0LQ9thnouaoGqTT2gB+x5KL2alj+tIiy4oCJ/TpD3SzN6syZfvIKs1yx94Fhv/Ih5Suv1OCKgCHKODJFkn+NGq7pyqmwdQOm0QMCuIGFJaI3lwjXHk1Bq4mUJWgMndjD5lRcg6HKNO6KRlMPJV+GiQ7Zw0oG4AemdIhSbo2iX+6/wRr6qdB73/nWzEWMbRQoC478twB4f5FmBNde+nyjO8XCBdzDL5yUidCec98plfYA2icsbnh1lyeDc0/eqMT/GPX2VurUPkt/gvc+ECEyvsnaHwyXsWiEYCTgCENo4mjI04XcQFxkgSGUGWK4vqxhEaA4KUUyMoj9HzixIHcAVp/Ogv+LwX/b15u9eQFsYczTJVKWkE7aWIFonQ8ZmBvVRd1nJk6OGckeGmPzb6bMWJkPbmMD9Zxu+MoP7+SR7ba9Z2VxoHjWDjk3czMjgE/bvMg4bqNWYC4UoBrGSiTmKk1P3x4GNLEBxOCYcAHYZ2cQoiXT/M/ICyGxKPcKrT19JG6sOpk0Megs/MjM9B1scoW9slMZnVayWfM4dOULI0GmET+1xHj15gjQnf58ZM3xDdamtbZFu3VpKZX0UGFbMi8da73Ahc0/meXa8ckAxwQt/zYjR9/HWWuxIAeuWxxfNIi4UcZ398/EmvLSQ18m6thIq6ViHUEqcWOVaa1psnKrsf8iZX8tc73Y2K/tsRB8w5H+mX69XDbT0Kf3giIjHttxhchFSux36HCVlEmWOMt31IiEs5MRq6xBfm
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:(13230001)(366004)(2616005)(38100700002)(2906002)(83380400001)(186003)(26005)(66556008)(4326008)(8676002)(5660300002)(8936002)(66476007)(66946007)(6486002)(31686004)(36756003)(86362001)(316002)(31696002)(6916009)(54906003)(6506007)(7416002)(53546011)(6512007)(508600001)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T0w0blgzM3dOTDVvVVJDelc3MktuRXY0TmNLL3I2VHN6b1NwSFN0TGhZcVN6?=
 =?utf-8?B?SkNJcDkvZjJqcnhxekoxQUl4UjRKUjNrNW5UaXZCQVRhM0VEWHFwUmxUcFRW?=
 =?utf-8?B?RjVza1FQaTdxN2RDeVRuTnpIREZCNkV1L1NUUUZWaDBFRzZ4djJxWVhsalNh?=
 =?utf-8?B?TWR6S0kxUjJvRXVFbTBucnNEa1Q0cW0vNUFSR3ZjNERLZisyTUdsNmZ5bnYx?=
 =?utf-8?B?Z3FZREtDK1g3bDdBMkdmWjdmdXlJRU5ib2VPT1JWVTNNQ3FtUFF4UFhMYlBQ?=
 =?utf-8?B?akZRZ2gwWGRyRmNBc0JiM05vMHRMRkpTbXhodmNIZ0haU3dhRXBOdkpSZzMv?=
 =?utf-8?B?V2dpNlJKZUpPZTZLRzFZS0RlNmd3K0szR0M3ZmMxWVpvRDJaZVVlTXhPSzJu?=
 =?utf-8?B?cFNIUkZIcFlnalhFRWYzV1V0YkdLZk9TenU2MVZhTnduLzhZZ3pSMWVWbU8y?=
 =?utf-8?B?dlNSeEREeXFldzAzcDMweG5jbEdaR3BVakM5dFZNZXZLOWdvZ2ZPMFpuL1FQ?=
 =?utf-8?B?R3BYa2NKSXp5N1BUb1NzbXBheW41Rk1XREk5ZHk1Tml4WGIxZGJvTFloQ1l6?=
 =?utf-8?B?amE5eEk5Tlh5OE51V1FsbGo1MXJpeGVaTFhmK0grNGJ2VkRncEtvbFJLWFBO?=
 =?utf-8?B?dUdxYTVRS3Rud2ViU21jN3lkc3U5Q2JEWUZvM3lTZE9NRWpOUEUwMTlNdkh1?=
 =?utf-8?B?c3lFVnhHcFhkeWlkM29mQ2U1cU5YTGpkWC9hd2V4QzZUN2h3U2dBdkJnaFhq?=
 =?utf-8?B?SlpMNXp1V2JBQU5PUXJZZ0h6Uzc5aHdiVjlWUytvaXV1WEswUEJFV3dVRSs3?=
 =?utf-8?B?a2NZcjliTXkzeGEyL2lPMG5IQTVST2VjRk9wVnRleUtmL3BpQkJ5Q2dCK3FI?=
 =?utf-8?B?eGRnMFU4YlYyYWNsT2RVcWxBK0pkUGJOdWpDUlg5Zk9wQms4KzI1eSs0OTRj?=
 =?utf-8?B?MU5HaFBFdWZnNGZhNk1NREhXam0zTmpNRWs3clpzVmFKaTdMdU53YTNkU3gx?=
 =?utf-8?B?Q0tOaFNVT0VtUVJqTWJHWjRESE0zSFI1cmJnb0pXNlo5NDJVdXhaNDhUOWJv?=
 =?utf-8?B?WklIbFNueHY2YXc3dktmdHI4ZWpTeE5IK3Z6NytiQlVxTmVkbUtsUTlUaWEr?=
 =?utf-8?B?UG03czVNbCtzbmN5cENCbW5IUEE3czJVTms3dTZITzQzM3NNRWR0cjRqRTFk?=
 =?utf-8?B?QzdHM3hycFIyYjBIN01CV3JsbjJKZnVVeS9MQVlXeHp3Wmhvc01ReHE1d2pN?=
 =?utf-8?B?c0w2ZG1JbS85OS9yWlZmVndFYVRNNHpPNCt3S3Q2cllaTFhNanZwVnQxMCtI?=
 =?utf-8?B?ZjZUSGpRTldZV3dGWUdvRjJQUFJ3K1owRkprd2lwY1pnY3VQdTN4d3FRU2JQ?=
 =?utf-8?B?VisyTGNDcmNzdnBqMFJjZUhld1J6cm8yNTVZY1NZVWN2MCtRM0JnREZ5akpk?=
 =?utf-8?B?N1lldDh4YTNQK3F2bHdoVFRTK0liNzJPWGF3OHpNRnp3dzVUaDc0Q3lhRzRD?=
 =?utf-8?B?WnhHQXZ5RklPcThpSVdOWTRnWjFwSzF4VlNIMXF0M1lOVXdVUlBQWEp0L1pJ?=
 =?utf-8?B?RU1vRjBVVVJKZDI0RXpCUFlxYlc0US9RS3hrU0tTbGNHWG43YWltQm5LMkll?=
 =?utf-8?B?YUh6V1F5UXd2T09nUXVIN0ZnbkVQSmVySSttQUpZMkdiTFpjSXA2ZjNhbzNn?=
 =?utf-8?B?RldzZHBZTTYwbUtvSUhLdDFXb3JDeDFNQjBQT0V4dUQwMzhJRFNzTHRrWHFi?=
 =?utf-8?B?TXhSN2NIZVZqZDB6T0hDZW1MRkpxalVsa0pVNW56Y0lPTWlsbXNkN0NVMHpM?=
 =?utf-8?B?Sy9wWFRsSzZrZS9HZThOMXRWMWxGRTl3ZW53eFZPcTIxenQ1NVRrU2o0TDR6?=
 =?utf-8?B?MG9YMStrdlU5eW9BZ256WWVSSXNaWmpFSFZsTFkrVExZTjRabncvZGJYMCtI?=
 =?utf-8?B?Qk1WOUkyd3RNZXA4WFdvWklxRGQ2TDREdnlUekRQSEcwOGlDejFZR2pScE9M?=
 =?utf-8?B?QXFSOHZnWXpnNWxraEdpOTdSTXRrQWptcEpCMmROK0RWdGVPZ2RLNTJYMDRT?=
 =?utf-8?B?ZnJmWmErSU1KMTQrekhFa1lmdVpmeTlEWkV4aDZUdDJXNUpZQ1RuRjZmZWhl?=
 =?utf-8?B?MUloT2VlM0lpU1NjWDVOUlJDTklhTHlFN3hqN0ZCWGFoN3RRRUY1a1RBQVlw?=
 =?utf-8?Q?oFFJyzYbAMVNEav2cxerMU0=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 08c93be5-8513-47d7-f6bb-08d9e171c396
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 08:48:17.9421
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: AJN+NehkO7+e/tR8vB2mus+z8IDs7rECR7UQI19fca4r9oQuUPkN32wG6SMIg3+lPFXJKl7s6ZliPUUKGfUwuA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9423

On 27.01.2022 09:22, Roger Pau Monne wrote:
> --- a/xen/arch/arm/mm.c
> +++ b/xen/arch/arm/mm.c
> @@ -1625,6 +1625,17 @@ bool is_iomem_page(mfn_t mfn)
>      return !mfn_valid(mfn);
>  }
>  
> +bool is_iomem_range(paddr_t start, uint64_t size)
> +{
> +    unsigned int i;
> +
> +    for ( i = 0; i < PFN_UP(size); i++ )
> +        if ( !is_iomem_page(_mfn(PFN_DOWN(start) + i)) )
> +            return false;
> +
> +    return true;
> +}

I'm afraid you can't very well call this non-RFC as long as this doesn't
scale. Or if you're building on this still being dead code on Arm, then
some kind of "fixme" annotation would be needed here (or the function be
omitted altogether, for Arm folks to sort out before they actually start
selecting the HAS_PCI Kconfig setting).

> --- a/xen/arch/x86/mm.c
> +++ b/xen/arch/x86/mm.c
> @@ -783,6 +783,23 @@ bool is_iomem_page(mfn_t mfn)
>      return (page_get_owner(page) == dom_io);
>  }
>  
> +bool is_iomem_range(paddr_t start, uint64_t size)
> +{
> +    unsigned int i;
> +
> +    for ( i = 0; i < e820.nr_map; i++ )
> +    {
> +        const struct e820entry *entry = &e820.map[i];
> +
> +        /* Do not allow overlaps with any memory range. */
> +        if ( start < entry->addr + entry->size &&
> +             entry->addr < start + size )
> +            return false;
> +    }
> +
> +    return true;
> +}

I should have realized (and pointed out) earlier that with the type
check dropped the function name no longer represents what the
function does. It now really is unsuitable for about anything other
that the checking of BARs.

> @@ -267,11 +270,75 @@ static void check_pdev(const struct pci_dev *pdev)
>          }
>          break;
>  
> +    case PCI_HEADER_TYPE_NORMAL:
> +        nbars = PCI_HEADER_NORMAL_NR_BARS;
> +        rom_pos = PCI_ROM_ADDRESS;
> +        break;
> +
>      case PCI_HEADER_TYPE_CARDBUS:
>          /* TODO */
>          break;
>      }
>  #undef PCI_STATUS_CHECK
> +
> +    /* Check if BARs overlap with other memory regions. */
> +    val = pci_conf_read16(pdev->sbdf, PCI_COMMAND);
> +    if ( !(val & PCI_COMMAND_MEMORY) || pdev->ignore_bars )
> +        return;
> +
> +    pci_conf_write16(pdev->sbdf, PCI_COMMAND, val & ~PCI_COMMAND_MEMORY);
> +    for ( i = 0; i < nbars; )
> +    {
> +        uint64_t addr, size;
> +        unsigned int reg = PCI_BASE_ADDRESS_0 + i * 4;
> +        int rc = 1;
> +
> +        if ( (pci_conf_read32(pdev->sbdf, reg) & PCI_BASE_ADDRESS_SPACE) !=
> +             PCI_BASE_ADDRESS_SPACE_MEMORY )
> +            goto next;
> +
> +        rc = pci_size_mem_bar(pdev->sbdf, reg, &addr, &size,
> +                              (i == nbars - 1) ? PCI_BAR_LAST : 0);
> +        if ( rc < 0 )
> +            /* Unable to size, better leave memory decoding disabled. */
> +            return;
> +        if ( size && !is_iomem_range(addr, size) )
> +        {
> +            /*
> +             * Return without enabling memory decoding if BAR position is not
> +             * in IO suitable memory. Let the hardware domain re-position the
> +             * BAR.
> +             */
> +            printk(XENLOG_WARNING
> +"%pp disabled: BAR%u [%" PRIx64 ", %" PRIx64 ") overlaps with memory map\n",

I guess despite its length this still wants indenting properly. Maybe
you could fold this and ...

> +                   &pdev->sbdf, i, addr, addr + size);
> +            return;
> +        }
> +
> + next:
> +        ASSERT(rc > 0);
> +        i += rc;
> +    }
> +
> +    if ( rom_pos &&
> +         (pci_conf_read32(pdev->sbdf, rom_pos) & PCI_ROM_ADDRESS_ENABLE) )
> +    {
> +        uint64_t addr, size;
> +        int rc = pci_size_mem_bar(pdev->sbdf, rom_pos, &addr, &size,
> +                                  PCI_BAR_ROM);
> +
> +        if ( rc < 0 )
> +            return;
> +        if ( size && !is_iomem_range(addr, size) )
> +        {
> +            printk(XENLOG_WARNING
> +"%pp disabled: ROM BAR [%" PRIx64 ", %" PRIx64 ") overlaps with memory map\n",

.. this into

    static const char warn[] =
        "%pp disabled: %sBAR [%" PRIx64 ", %" PRIx64 ") overlaps with memory map\n";

to limit indentation and redundancy at the same time? Could then also
be re-used later for the SR-IOV BAR check.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 08:52:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 08:52:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261329.452350 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD0Vh-0006vj-SL; Thu, 27 Jan 2022 08:52:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261329.452350; Thu, 27 Jan 2022 08:52:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD0Vh-0006vc-PH; Thu, 27 Jan 2022 08:52:05 +0000
Received: by outflank-mailman (input) for mailman id 261329;
 Thu, 27 Jan 2022 08:52:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=xPLH=SL=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1nD0Vg-0006vU-OW
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 08:52:04 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on060d.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::60d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 64b37dac-7f4e-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 09:52:02 +0100 (CET)
Received: from DB6PR0402CA0009.eurprd04.prod.outlook.com (2603:10a6:4:91::19)
 by DB9PR08MB7423.eurprd08.prod.outlook.com (2603:10a6:10:370::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 08:51:59 +0000
Received: from DB5EUR03FT031.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:91:cafe::bd) by DB6PR0402CA0009.outlook.office365.com
 (2603:10a6:4:91::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17 via Frontend
 Transport; Thu, 27 Jan 2022 08:51:59 +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.4930.15 via Frontend Transport; Thu, 27 Jan 2022 08:51:59 +0000
Received: ("Tessian outbound 18e50a6f0513:v113");
 Thu, 27 Jan 2022 08:51:59 +0000
Received: from 43e38c799519.3
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 00184D30-73C0-4A4A-8BB0-6A33B3D3AF82.1; 
 Thu, 27 Jan 2022 08:51:49 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 43e38c799519.3
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 27 Jan 2022 08:51:49 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by DB8PR08MB4026.eurprd08.prod.outlook.com (2603:10a6:10:aa::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.13; Thu, 27 Jan
 2022 08:51:45 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0%7]) with mapi id 15.20.4909.017; Thu, 27 Jan 2022
 08:51:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 64b37dac-7f4e-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cA1W6QfRvGuvF7DLE8iuPwmvhcbmT/Fw7fS38X7hYrQ=;
 b=5F1egX9A/r0+4vXDqIdiT8K5bW0LMqDO+7npNLk0rJ/P0LYQTqf7OWB6k2/FR5bKEgYVg5vsm6UuZ3D7KV3BDdO8soYQCOTi12IlQAmxvagBLwgJGns2i018CqRHhqR60d2g0uhbaRgJtqggB1JwJJnk5muazUHvWa2HkRSrWfg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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=YhjymsWY0yxWX9k9l7CSzPU4C1bCS5caBQ8jaY34ffzIef7fcjBEIWGfnRxrYCKjrAHptQA4d/d40kVj7XJk/lFylTvFadYB9koQp8ozYKfVb+k8TxmyRfCoGJbku2rWJxoplaEDKeSkFeRdgSUAJlwHHDykeob7RtNn3icvo1zFJ1dPAwT5CCzt58x4KqEYOZxTabyMibfM7Cc2j5/VHUEqiNmDBqRFm1a0yPNOO5N9bYzCXOthzrMOTklXSt0tS3go+VvTHG4jHXYYL5Wvwmq22g5SR5UG6cUDE98mqgilZ7JT5KO0YOaKuT/aVzohrzhegNXiZNOka+4wdtEObw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cA1W6QfRvGuvF7DLE8iuPwmvhcbmT/Fw7fS38X7hYrQ=;
 b=AxVyUkEq1jQWnPXaqa8kjN/4eyxDP6Sc6nbqjscLEd0rVo37vub6lciMBEYlSUhufCl/hYAGt/kjzbB8npUv2MyXeKs2bzUrqONrWsv5G7/g/DoC5ccCjNo5SLb6yB/ueaZyMb4rb2wECBIFFKkvVnGQ0AnaRSL18dg2ZCWludAauCAPjLq94D+IXXVe1+veeG2wlpLZKZAH/SCRyC20CIRNdO/OlN01DoGWZNTaNslXBMVq9m9q9LW+t5o83LYElG9tSDKzeDLstnfHqh9wfM0JuDYpiqlj+SV/n/COysfwQrFNFOHsEF0cT1w5G0aCns01C7Vk8CH+sP1WIYJlRQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cA1W6QfRvGuvF7DLE8iuPwmvhcbmT/Fw7fS38X7hYrQ=;
 b=5F1egX9A/r0+4vXDqIdiT8K5bW0LMqDO+7npNLk0rJ/P0LYQTqf7OWB6k2/FR5bKEgYVg5vsm6UuZ3D7KV3BDdO8soYQCOTi12IlQAmxvagBLwgJGns2i018CqRHhqR60d2g0uhbaRgJtqggB1JwJJnk5muazUHvWa2HkRSrWfg=
From: Wei Chen <Wei.Chen@arm.com>
To: Wei Chen <Wei.Chen@arm.com>, 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: [PATCH 20/37] xen: introduce CONFIG_EFI to stub API for non-EFI
 architecture
Thread-Topic: [PATCH 20/37] xen: introduce CONFIG_EFI to stub API for non-EFI
 architecture
Thread-Index: AQHXsHMtR+l18+MmpE6rl/RjSXTBgqx0TXyAgAME0ECAAAH2oA==
Date: Thu, 27 Jan 2022 08:51:45 +0000
Message-ID:
 <PAXPR08MB7420252BFA15D032BDDF2F4A9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-21-wei.chen@arm.com>
 <d80da027-93ac-4819-ef7a-f3fd8592e443@suse.com>
 <PAXPR08MB7420AC9A05A6118642F544BD9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
In-Reply-To:
 <PAXPR08MB7420AC9A05A6118642F544BD9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 1F6490EA8501FB4FBA3962A8603890F6.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 4b2ef3c3-cfbc-425f-1632-08d9e17247a3
x-ms-traffictypediagnostic:
	DB8PR08MB4026:EE_|DB5EUR03FT031:EE_|DB9PR08MB7423:EE_
X-Microsoft-Antispam-PRVS:
	<DB9PR08MB7423F5A65275343B38B914C49E219@DB9PR08MB7423.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:
 cEHNlTBw8YinjIm0BL6fk1eVamRYylgm58jKanBb2OQ8ZVi89jeu1lUuWpn+XhXRRLpA1Pzchpu1JmTSrk0+DFBLsk/luk0LYymoGwxUZIOHrKYqh0aWpG03n/VeF1Q+BlkVewp7fBznCC4b6ymkTjPfi33kiZUe834EJ6Klg7GMH2bMgY73SL1dZQ7o833l0VLLjc+Hwxhj1eP3Epi8Dm5FZog7nTqZ6nl8mUbIek9kzogndtKle05j3kMZaeJSqYx1fpdFmKeCU8Vhg2XTGNzN7czki/XMrZWQs1lxvz2fa8BdJNRLJa4Fy1eqw1SBlb+4Jp+ddxY6czGUVD14uc64mEVzuUTeoUE9Pb/0XYHXwW6oUH5ekMcWvm5ky//pKrDTg8fHX44O1FIxhOs4T8oh8YgBguBJlr0Cv59J2GQrIUQ6ftG845Jwg0hDpOWvCHeyeMolrmGkz8VJUkGrxRgznT2IKi9GsQs1qq+7H8rddk9FEsbftpzRFOtg0Ke2aUCYYQaDdE4TtAfczRPkgcduZ+VjuHyOqRv/01VRwe86gdyH0EeE3w7oZohZz5SuzORIJ6iQUiE2L4JmXrYPfSlFA+N34t7HmnEbHejsIVQROKcBlybE7UXTfkCRZ0D17lXcvUCkUZdjxti6Ao+ts7NgF678p3O6i8R/TYJBJBKDP5Cpdrm4m2nnPYNQkHx5d7lLX4/zTntDBrUftQqSpg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(76116006)(52536014)(33656002)(9686003)(2906002)(83380400001)(66946007)(66556008)(66476007)(316002)(122000001)(38100700002)(66446008)(54906003)(64756008)(508600001)(86362001)(55016003)(2940100002)(110136005)(4326008)(38070700005)(7696005)(8676002)(26005)(8936002)(6506007)(53546011)(5660300002)(71200400001)(186003);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB4026
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;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-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	d39f645b-fe50-4adc-00e3-08d9e1723f60
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hDrtrEBbCr3HoX2+ncFnObyNVJXfZCcd1fDIXSQBIZqEZM7gSl3ItGGDh81ELqlF8oFF0jKJwfL6Y/z3ctVyiTDZOI77X5cgaR7h1biS3E9tQC59wtE2R3GJSExOoTOEoze280FreIci7Rr1kkd3CQQ3ZtBhB5996Cifb0ZGRkRcoL6WZXlwmzeltjXCIgVDnWptSvxFPF36lKusQRvPn2IfuoDGkteASfFjn0YAtsssiy/PHphrr7jl5G32SsEDam2AkogMLsjHwlKp67ex6lXG84vZxrKC9aw0TUaljkbdArygtQ2qcWNqBuZgjyWml2nPQRvTO2sSzsWSoKOiYknZyK2UeQwx+nQ+qW8RkKtiIwEBHUllSGQXHwak0JcKjGDOcc+qOxS1vUr5hQHl7GVkrb0ThvjhMzfFJ0ayZr1wHlsRzVcpR5IsdiKL9SSSot0lmIrMof7IQB6IJMeXXZ2+iBNxx60BMQPeeAVmF3jK/oKaiRZg5S8wcfTQL1B1/4NJCgs0GOgCxnCUnWiAj9Q7uiRoCUNDp4yiUauJTEyblo62A2GZpaDRl6pVTPV12JHKYsgi38ekRkxAua3qpYph+P3tPtNRgGhPapyRi2NvAJiMrK+1m9fg8EPIlC3gwc5a/0pU52vvofAKg4nk0s1QTPTJKf3ovXNruukdsSctXOnd1GfYc7Rk+Kh/SHaT
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230001)(4636009)(40470700004)(36840700001)(46966006)(83380400001)(356005)(2940100002)(81166007)(2906002)(33656002)(26005)(47076005)(186003)(82310400004)(55016003)(36860700001)(9686003)(336012)(5660300002)(8676002)(4326008)(8936002)(70586007)(70206006)(86362001)(316002)(40460700003)(54906003)(508600001)(53546011)(52536014)(7696005)(110136005)(6506007)(20210929001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 08:51:59.3871
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4b2ef3c3-cfbc-425f-1632-08d9e17247a3
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: DB9PR08MB7423

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFhlbi1kZXZl
bCA8eGVuLWRldmVsLWJvdW5jZXNAbGlzdHMueGVucHJvamVjdC5vcmc+IE9uIEJlaGFsZiBPZiBX
ZWkNCj4gQ2hlbg0KPiBTZW50OiAyMDIy5bm0MeaciDI35pelIDE2OjQ1DQo+IFRvOiBKYW4gQmV1
bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+IENjOiBCZXJ0cmFuZCBNYXJxdWlzIDxCZXJ0cmFu
ZC5NYXJxdWlzQGFybS5jb20+OyB4ZW4tDQo+IGRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnOyBz
c3RhYmVsbGluaUBrZXJuZWwub3JnOyBqdWxpZW5AeGVuLm9yZw0KPiBTdWJqZWN0OiBSRTogW1BB
VENIIDIwLzM3XSB4ZW46IGludHJvZHVjZSBDT05GSUdfRUZJIHRvIHN0dWIgQVBJIGZvciBub24t
DQo+IEVGSSBhcmNoaXRlY3R1cmUNCj4gDQo+IEhpIEphbiwNCj4gDQo+ID4gLS0tLS1PcmlnaW5h
bCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+
DQo+ID4gU2VudDogMjAyMuW5tDHmnIgyNeaXpSAxODozNQ0KPiA+IFRvOiBXZWkgQ2hlbiA8V2Vp
LkNoZW5AYXJtLmNvbT4NCj4gPiBDYzogQmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVp
c0Bhcm0uY29tPjsgeGVuLQ0KPiA+IGRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnOyBzc3RhYmVs
bGluaUBrZXJuZWwub3JnOyBqdWxpZW5AeGVuLm9yZw0KPiA+IFN1YmplY3Q6IFJlOiBbUEFUQ0gg
MjAvMzddIHhlbjogaW50cm9kdWNlIENPTkZJR19FRkkgdG8gc3R1YiBBUEkgZm9yDQo+IG5vbi0N
Cj4gPiBFRkkgYXJjaGl0ZWN0dXJlDQo+ID4NCj4gPiBPbiAyMy4wOS4yMDIxIDE0OjAyLCBXZWkg
Q2hlbiB3cm90ZToNCj4gPiA+IC0tLSBhL3hlbi9jb21tb24vS2NvbmZpZw0KPiA+ID4gKysrIGIv
eGVuL2NvbW1vbi9LY29uZmlnDQo+ID4gPiBAQCAtMTEsNiArMTEsMTYgQEAgY29uZmlnIENPTVBB
VA0KPiA+ID4gIGNvbmZpZyBDT1JFX1BBUktJTkcNCj4gPiA+ICAJYm9vbA0KPiA+ID4NCj4gPiA+
ICtjb25maWcgRUZJDQo+ID4gPiArCWJvb2wNCj4gPiA+ICsJLS0taGVscC0tLQ0KPiA+ID4gKyAg
ICAgIFRoaXMgb3B0aW9uIHByb3ZpZGVzIHN1cHBvcnQgZm9yIHJ1bnRpbWUgc2VydmljZXMgcHJv
dmlkZWQNCj4gPiA+ICsgICAgICBieSBVRUZJIGZpcm13YXJlIChzdWNoIGFzIG5vbi12b2xhdGls
ZSB2YXJpYWJsZXMsIHJlYWx0aW1lDQo+ID4gPiArICAgICAgY2xvY2ssIGFuZCBwbGF0Zm9ybSBy
ZXNldCkuIEEgVUVGSSBzdHViIGlzIGFsc28gcHJvdmlkZWQgdG8NCj4gPiA+ICsgICAgICBhbGxv
dyB0aGUga2VybmVsIHRvIGJlIGJvb3RlZCBhcyBhbiBFRkkgYXBwbGljYXRpb24uIFRoaXMNCj4g
PiA+ICsgICAgICBpcyBvbmx5IHVzZWZ1bCBmb3Iga2VybmVscyB0aGF0IG1heSBydW4gb24gc3lz
dGVtcyB0aGF0IGhhdmUNCj4gPiA+ICsgICAgICBVRUZJIGZpcm13YXJlLg0KPiA+DQo+ID4gVGhl
IHdheSBlbmFibGluZyBvZiAoZnVsbCkgRUZJIHN1cHBvcnQgd29ya3Mgb24geDg2LCBJIGNvbnNp
ZGVyIGl0DQo+ID4gd3JvbmcgLyBtaXNsZWFkaW5nIHRvIHB1dCB0aGUgb3B0aW9uIGluIGNvbW1v
biBjb2RlLiBBdCB0aGUgdmVyeSBsZWFzdA0KPiA+IHRoZSBoZWxwIHRleHQgd291bGQgbmVlZCB0
byBjYWxsIG91dCB0aGUgZXh0cmEgZGVwZW5kZW5jaWVzLiBQbHVzIHRoZQ0KPiA+IGhlbHAgdGV4
dCBvZiBjb3Vyc2UgdGhlbiBuZWVkcyB0byBiZSBnZW5lcmljIChpLmUuIGFwcGxpY2FibGUgdG8g
Ym90aA0KPiA+IEFybSBhbmQgeDg2KS4gVGhhdCdzIG5vdHdpdGhzdGFuZGluZyB0aGUgZmFjdCB0
aGF0IHdpdGhvdXQgYSBwcm9tcHQNCj4gPiB0aGUgaGVscCB0ZXh0IHdvbid0IGV2ZXIgYmUgc2Vl
biB3aGlsZSBjb25maWd1cmluZyBYZW4uDQo+ID4NCj4gPiBBbHNvIChuaXQpOiBJbmRlbnRhdGlv
bi4gQW5kIHBsZWFzZSBkb24ndCB1c2UgLS0taGVscC0tLSBhbnltb3JlIGluDQo+ID4gbmV3IGNv
ZGUuDQo+ID4NCj4gDQo+IEkgaGF2ZSB1c2VkIENPTkZJR19BUk1fRUZJIHRvIHJlcGxhY2UgdGhp
cyBjb21tb24gRUZJIGNvbmZpZyBpbiBteQ0KPiBsYXRlc3QgdmVyc2lvbi4gVGhpcyBLY29uZmln
IG9wdGlvbiBoYXMgYmVlbiByZW1vdmVkLg0KPiBBbmQgdGhhbmtzLCBJIHdpbGwgbm90IHVzZSAt
LWhlbHAtLSBhbnltb3JlLg0KPiANCj4gPiA+IC0tLSBhL3hlbi9pbmNsdWRlL3hlbi9lZmkuaA0K
PiA+ID4gKysrIGIveGVuL2luY2x1ZGUveGVuL2VmaS5oDQo+ID4gPiBAQCAtMjUsNiArMjUsOCBA
QCBleHRlcm4gc3RydWN0IGVmaSBlZmk7DQo+ID4gPg0KPiA+ID4gICNpZm5kZWYgX19BU1NFTUJM
WV9fDQo+ID4gPg0KPiA+ID4gKyNpZmRlZiBDT05GSUdfRUZJDQo+ID4gPiArDQo+ID4gPiAgdW5p
b24geGVucGZfZWZpX2luZm87DQo+ID4gPiAgdW5pb24gY29tcGF0X3BmX2VmaV9pbmZvOw0KPiA+
ID4NCj4gPiA+IEBAIC00NSw2ICs0Nyw4IEBAIGludCBlZmlfcnVudGltZV9jYWxsKHN0cnVjdCB4
ZW5wZl9lZmlfcnVudGltZV9jYWxsDQo+ICopOw0KPiA+ID4gIGludCBlZmlfY29tcGF0X2dldF9p
bmZvKHVpbnQzMl90IGlkeCwgdW5pb24gY29tcGF0X3BmX2VmaV9pbmZvICopOw0KPiA+ID4gIGlu
dCBlZmlfY29tcGF0X3J1bnRpbWVfY2FsbChzdHJ1Y3QgY29tcGF0X3BmX2VmaV9ydW50aW1lX2Nh
bGwgKik7DQo+ID4gPg0KPiA+ID4gKyNlbmRpZiAvKiBDT05GSUdfRUZJKi8NCj4gPg0KPiA+IEkg
Y2FuIHNlZSB0aGF0IGluIHRoZSBsYXRlciBwYXRjaCwgd2hlbiBpbnRyb2R1Y2luZyBpbmxpbmUg
c3R1YnMsDQo+ID4geW91IHdvdWxkIG5lZWQgY29uZGl0aW9uYWxzIGhlcmUsIGJ1dCBJIGRvbid0
IHRoaW5rIHlvdSBuZWVkIHRoZW0NCj4gPiByaWdodCBoZXJlIChvciB5b3UgbWF5IHdhbnQgdG8g
aW50cm9kdWNlIHRoZSBzdHVicyByaWdodCBhd2F5KS4NCj4gPg0KPiA+IEFsc28gKG5pdCk6IE1p
c3NpbmcgYmxhbmsgaW4gdGhlIGNvbW1lbnQuDQo+ID4NCg0KSSBhbSBzb3JyeSwgSSBoYWQgbWlz
c2VkIHRoaXMgY29tbWVudC4gSW4gbXkgbGF0ZXN0IGNoYW5nZXMsDQpJIGhhdmUgaW50cm9kdWNl
ZCBhIHN0dWIgZmlsZSBmb3Igbm9uLUVGSSBhcmNoaXRlY3R1cmVzLg0KVGhlIHJlYXNvbiB3aHkg
d2UgZG9uJ3QgdXNlIGEgbWFjcm8gdG8gc3R1YiB0aGUgaGVscGVycw0KaW4gZWZpLmggaXMgdGhh
dCwgc29tZSBhcmNoaXRlY3R1cmVzIGhhdmUgaW1wbGVtZW50ZWQgc3R1Yg0KaGVscGVycyBpbiB0
aGVpciBzdHViLmMuIElmIHdlIGRlZmluZSBzdHViIGhlbHBlcnMgaW4NCmVmaS5oLCB0aGlzIHdp
bGwgY2F1c2UgZnVuY3Rpb24gcmVkZWZpbml0aW9uIGVycm9yLiBXZSBuZWVkDQp0byBmaXggdGhp
cyBlcnJvciBmb3IgYWxsIGFyY2hpdGVjdHVyZXMuIEFuZCBzb21lIGhlbHBlcnMNCmlzIG5vdCBl
YXN5IHRvIGltcGxlbWVudCBhcyBhIGlubGluZSBmdW5jdGlvbiBpbiBlZmkuaC4NClNvIHdlIHVz
ZSBzdHViIGZpbGUgaW5zdGVhZCBvZiBzdHViaW5nIGluIGVmaS5oDQoNCj4gPiBKYW4NCg0K


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 08:57:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 08:57:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261333.452362 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD0bD-0007h6-N6; Thu, 27 Jan 2022 08:57:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261333.452362; Thu, 27 Jan 2022 08:57:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD0bD-0007gz-J6; Thu, 27 Jan 2022 08:57:47 +0000
Received: by outflank-mailman (input) for mailman id 261333;
 Thu, 27 Jan 2022 08:57:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD0bB-0007gq-RG
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 08:57:45 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 31253653-7f4f-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 09:57:44 +0100 (CET)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2175.outbound.protection.outlook.com [104.47.17.175]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-28-x5LWBLMdPK-1BF6XDJn5RQ-1; Thu, 27 Jan 2022 09:57:43 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM0PR04MB6626.eurprd04.prod.outlook.com (2603:10a6:208:176::27)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 08:57:42 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 08:57:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 31253653-7f4f-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643273864;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=E+LARHJ3Jw2ikV93/VgUD4DRI8yK6eLd4xIzdHttfjo=;
	b=mvSZ4IKvZVt5p3yyikga4hOPedMo7V1CaqSVztIMy82Fm2dkXsJ+3vIGduhPVfvxRPN3mB
	cFvRZ62kWVdz7rs1+wYtsIaVFbkESFZsUH5rioM9zi81aQSA1gCkscEGPXdZXpADs8ufBr
	3YwiL3+D4J0Ke2GS/jCBClIkzurkuzE=
X-MC-Unique: x5LWBLMdPK-1BF6XDJn5RQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=l3Fw5umCEIf910FgAFe1m5xVB7h5c64OZrflApoBnTkLiFtNjoFQU3WvVtQD+x5Z/rcUyAjAh23yRLu0cjvXqjekyqBYZk+XljwansZUJREz2R/hJ4HoOJL3d3hPbQxXo2qoVcVy0sSPQvN8B7GCP0JoB457OBWFWXIFHKZfb0bBjpVS61msgISudg9FK2InsD5kCgacJB9kvnhQYx0NxnxhEvFlIaMZJogaWqOkQbf5Td9M3l4Lt/1N3fWxfE1MfTBlQcCzfE+3bLmtoBUXbBD0yTWgT1IA8rewlS3lwIp7bGMsEO2MEwfI84SOHMSQuFJUEoF1qCZzUwq7HxXZyg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=E+LARHJ3Jw2ikV93/VgUD4DRI8yK6eLd4xIzdHttfjo=;
 b=ACqYfDRage8LNs4hN06DrfpHZXAs52Y1kJVbVI+89yRm5cvu2RGWEa/Ad1TD5k7OZrac7PS/TGAoy+cIPLyesaH5tCLgMANp4BL2lmHTkrtMQMDZbKVxFUWwvM96UtKlmPR2I9eknyVPA8fkdgkszrxcVs0zfuFX71Tqygv6vxwsIvKxbsJAToyZOIbD2x/uAOSP6AQUNFFVWthrJnW2UneUjIsJncGPMvZ4+juiIuRCZhhhkMewx6FUWFkuUuGavOwg1V0WybZ58fhOuAd1Wb2/dcDZpmJIK4zVWOW8zcCtzhLR0DA57fx+TgvcmgzzYsaY/5ERy9QbJfc631Q2qw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <56f4495e-498b-960b-f8ba-5432896fe926@suse.com>
Date: Thu, 27 Jan 2022 09:57:40 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH] x86/decode: Decode remaining TigerLake features
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220126184758.15902-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220126184758.15902-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR04CA0090.eurprd04.prod.outlook.com
 (2603:10a6:20b:313::35) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d0aa8ebd-e9eb-49dc-55f2-08d9e17313c4
X-MS-TrafficTypeDiagnostic: AM0PR04MB6626:EE_
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB6626F913D096CFFB4114689AB3219@AM0PR04MB6626.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:
	wzcJG4jdRoPaWrKU5Cxg4/bVflThpYXB9mpJF5jMFlwHWc4n+L7S9Fh/jQL91sBXwsVdEwghwTfpeLLpk3iiIT8HkWxz6xssmZN2/aRkZmJMJOeE9z6D5U4KO7aipZsXkGmJmPyTTWlSkZ58ywaThi9EFamLrod26frV/P9LGTzLcgJ22fjzKTP1fKPgJZxma+5pHyaRrS9V9ATlng5SYfd7B1PxCFiAaWfCNENLyTvH724l0IlLlfFZXn85Hb5saoCqIBAe1u6u+ikTMFOgpA4FtuYJ8J+0GD9FLAGSLs2mLOD5CgbbywOyIw/NikNjO0fuwOowYn2/6heY/TnrC2lBiPyXpxlg3Gc87Qo5KrDQyCt8silKd1pPGwNuTdkM4RgNpM1+ir95U9df8O9ChzEGrtaAv5w2LxNo6b6mGN+p8cLaMFEEnQCaEuxoO0fybZbzJLhjZQfaIj3lSJhZQLPuBbA25mpX5Iz3qGv+7oFSmP6E63PXwuO+WECUeDxlMnlX0o9nO7lSoUEgrwauiD64TO2Z6WugHAKbq6Y1GaEE33Ut9ubP/SSb0+ug3F8XLBD1VXnnL+WSNgxuyPuzvRtAusKVnMn2/ex6ZEfwri8ATOxAksHI7CwgeDKW3408Qzu8lLOXieIuuNVjclHyOZIgGs2zzZ0GMq3Z1Q6FjFOSDLthITU6Zd2HPXvNamM1bF9UaLFhRMDb86+3MKatj8xULoghtNtwP8ZCrkRbxIaTPppftUlz0DcOB6WPx323
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:(13230001)(366004)(6506007)(83380400001)(36756003)(6486002)(186003)(53546011)(26005)(2616005)(31686004)(31696002)(6512007)(2906002)(6916009)(316002)(54906003)(86362001)(508600001)(4326008)(8936002)(8676002)(66556008)(38100700002)(66476007)(66946007)(5660300002)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OHJvVG1zVjZvS3puUTNRZ0V1dTcxTkkvZjNDL1JlVXE4UEo3TjlZOWhwN0hs?=
 =?utf-8?B?Z0owa1NGUVc0Y05iTU9VVk4vY0kwVytwN0JrZE0rc0JBc2k4dGliV1JPMysr?=
 =?utf-8?B?YW10WVZTZ2pwSE40TWlDaGpqZmJVZ2tPcUtqRXNZMSsyd0dNNy9nWDd5MGNS?=
 =?utf-8?B?dTJYRGFCQU5XK25HczcyekpxT2h6UVBNTkY2OEIwTHZaZlZERVh0MmkraEFD?=
 =?utf-8?B?Z0RkeXVHN2FlOTZMRlAwdXMvYnBsSXptT2Rmb1hSbWU5YVpUejM2SWtkdlJV?=
 =?utf-8?B?RmpGR3Q5QU05eThvTDMvTlg4NW1kS3VsL2tKSUJtck9lZTBNdUR4bTVoTVBl?=
 =?utf-8?B?SWJNM0hrK29MbnY3V1hJVWZOV3ZkM1RsRi8zNUQ5Zzl3Vkp6T1gzalJnZzdV?=
 =?utf-8?B?NHo1cTZSNGEzUldBWFFXRkxBSXpwalhUak1NQ2ZsNm85ZXhSS3ZqYTE2S3d6?=
 =?utf-8?B?SC8ybDVBYTBPOUdad0JWeklHZmJnWDdVVkNHQ2psd09seE1QdVJpV0lEZDZv?=
 =?utf-8?B?Rkx1MU9wVEIwaGU3TnRYcFFQTTFha3VxL3NiY3JiSXZ4cC9uUGxCa2xWT3ZR?=
 =?utf-8?B?WGN5NXBWdWJuZ29uM2EvMlVyNXplVEcxTGhSckFTVGd6eGRlRmFHRGRnTVp6?=
 =?utf-8?B?SmxKam5TR2hkdDY4cUhJeFRic05JTFlrWWcwb0tYVUtqVTlrakFUZ0Rack0x?=
 =?utf-8?B?OTZISS9vOU9GdldwT1ZwdmliZUlSVFc4RHNzMUtMdVN3QW9jWGZ5bGJCVFlq?=
 =?utf-8?B?UW02ZElpOVVpczBVTHJqVkxrMVpFTkF6bS9HTzBPOUI5bWJsSW5WdVlZNkVZ?=
 =?utf-8?B?enk5NGJNanV5dVEvQzFLOWhtQmtNM0NUYVduWlN5M3VFY0lURW1BTVlZTlgv?=
 =?utf-8?B?aUw3QUtCTEhpQ09pOVRuazFRWEJvUUloL0JhR0ZGUDI2ZkRmQ29WZ09vMHho?=
 =?utf-8?B?NEdsZlNqSEVNM3IwSy9RNGpEQkdON1l4Q25IUW5mMUJGeXJzSkZqczh3NHBR?=
 =?utf-8?B?TnBjUVQyOWxzRlBnRUNwM3QxNXl2VDU2Uit0TFZOZFUxcGwzbU9ueG1VSE9B?=
 =?utf-8?B?TGo2SS9DTUVNcTQ5QzBudG5LZzg3c2l3NGV4WlIxMm9NM25tMSsreTZlcEl5?=
 =?utf-8?B?SXBsQ3ErYlhLVWRNd0NxMVVZRytUME1YM3hmM3NSVW5HWGZPaTlTa29FeXJt?=
 =?utf-8?B?bElPa3psbXIyZSszbGxaUUFxQk9FU1phU0g5dzVLcVd6SEFPL0liNEE1WnpH?=
 =?utf-8?B?VEt5RzlKTmNZK2NUOEdwdnJDRDB1VnRic3JScURzN1lUQWN6OEI4QStidDB5?=
 =?utf-8?B?ZzRwVWNKKy9aY1Rla3JCNi95NkpFbWVOcmd1bmxzUVFjYWZaUktVa0ZNWTZ1?=
 =?utf-8?B?U0ZFVXQ4azZDTW5MSG16bm9ITnB3ZjZuQlZWMWprQjNsUEpJVk5NcTNMMDUz?=
 =?utf-8?B?d2hiSGRMWmFocXk0NERpeG9WVHpNeFJQNGFuWGQwa0NwcHFDYVNXb0lHc2NG?=
 =?utf-8?B?VGZlOFRyOU1oMkxIeVE4dTBobkREVGszL3RsY3ErR2xxbXlvdXRyVDcxeUs0?=
 =?utf-8?B?SWcvc3MxaWhGUjluQWhHOWRMU1BabnE0SGQxTGVpMmVOMWV5MVdqVnIvMkEz?=
 =?utf-8?B?S1N1U3RnYXBLV2ZObnZQUGR6azM5SHp2TEYrYVBGUlBPVGRzRmluVHY0MHFD?=
 =?utf-8?B?LzFJK3lVbVNveDk1YllCUVpLYUxaZDM3Qktha1hQYzU2bFJaalVMeVFGNkJr?=
 =?utf-8?B?alR5VXVpdWlyNkJFano1NmthZDJBb2V4TWdwMVlKVE0yc08vTG4zR2FVSEk2?=
 =?utf-8?B?MklXczRZeTZkb2dnL0w0MjhFS3dvWDZPdkpDQWFVN0hJRWlQaENSL1RpTnlL?=
 =?utf-8?B?Q1JFTHgvak1OUGZkZ3VOMnZYZS9FV1JGKzhhQUhHbkVWZitBdFc2QzFWcjNF?=
 =?utf-8?B?ZlNKRlVXanRxdHFuM3BVc3R1c3pCdjBhQmZnNDJKQVJIMTBTZEVyRWc2SW1H?=
 =?utf-8?B?RC9FZG9xNEJ5QmtsOGo3SUJkdXFQTEdBemZDaUxVK2F0MXZBKytFOXJoOHVV?=
 =?utf-8?B?aTdCT0VwM1M5aS9HUTdMb2FnYW0reGs1SHBGbUxmOUxxNVlQYklKUVhZdzFT?=
 =?utf-8?B?a0krd05UUCtRTGFvUEdPYS9Hb2laUmwrYkpiYzFLUGhHc0hFQzdhTksrMFRh?=
 =?utf-8?Q?xGzEY6g+FgNUVL+gK/GuW7I=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d0aa8ebd-e9eb-49dc-55f2-08d9e17313c4
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 08:57:42.1414
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WxRYXcLWMH9VdzVYy2RdO8Pi44vk/KkQ63I+QUjFrwFJxXv6b1huSXn4bMtCv756MO2JVY82MynPXIT62g9GKQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6626

On 26.01.2022 19:47, Andrew Cooper wrote:
> These are the two remaining TGL features which xen-cpuid doesn't know yet.

Well, for KeyLocker that's only part of the truth. The KeyLocker
leaf has further (sub-)features.

> --- a/tools/libs/light/libxl_cpuid.c
> +++ b/tools/libs/light/libxl_cpuid.c
> @@ -208,8 +208,10 @@ int libxl_cpuid_parse_config(libxl_cpuid_policy_list *cpuid, const char* str)
>          {"vpclmulqdq",   0x00000007,  0, CPUID_REG_ECX, 10,  1},
>          {"avx512-vnni",  0x00000007,  0, CPUID_REG_ECX, 11,  1},
>          {"avx512-bitalg",0x00000007,  0, CPUID_REG_ECX, 12,  1},
> +        {"tme",          0x00000007,  0, CPUID_REG_ECX, 13,  1},
>          {"avx512-vpopcntdq",0x00000007,0,CPUID_REG_ECX, 14,  1},
>          {"rdpid",        0x00000007,  0, CPUID_REG_ECX, 22,  1},
> +        {"keylocker",    0x00000007,  0, CPUID_REG_ECX, 23,  1},
>          {"cldemote",     0x00000007,  0, CPUID_REG_ECX, 25,  1},

In my KeyLocker series I name this just "kl", matching how the spec
refers to it. But first of all - this is unrelated to xen-cpuid and
not very useful to have without the settings actually being possible
to use sensibly.

> --- a/tools/misc/xen-cpuid.c
> +++ b/tools/misc/xen-cpuid.c
> @@ -127,10 +127,10 @@ static const char *const str_7c0[32] =
>      [ 6] = "avx512-vbmi2",     [ 7] = "cet-ss",
>      [ 8] = "gfni",             [ 9] = "vaes",
>      [10] = "vpclmulqdq",       [11] = "avx512-vnni",
> -    [12] = "avx512-bitalg",
> +    [12] = "avx512-bitalg",    [13] = "tme",
>      [14] = "avx512-vpopcntdq",
>  
> -    [22] = "rdpid",
> +    [22] = "rdpid",            [23] = "keylocker",

Like above, matching the spec I call this just "kl" in my patch.

I can certainly post what I have, maybe at least the first of those
patches would actually make sense to take. Whether the actual
emulator changes are very useful to have right away (i.e. without
other infrastructure in place to really make use of KL) is less
clear. I didn't post them yet for this reason as well as them
sitting on top of the stalled AMX series.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 09:00:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 09:00:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261338.452372 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD0do-0000dq-41; Thu, 27 Jan 2022 09:00:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261338.452372; Thu, 27 Jan 2022 09: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 1nD0do-0000dj-0s; Thu, 27 Jan 2022 09:00:28 +0000
Received: by outflank-mailman (input) for mailman id 261338;
 Thu, 27 Jan 2022 09:00:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD0dm-0000dZ-OJ
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 09:00:26 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 911384db-7f4f-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 10:00:25 +0100 (CET)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2057.outbound.protection.outlook.com [104.47.2.57]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-34-xLWrtmrtP4ClcuHClL55IA-1; Thu, 27 Jan 2022 10:00:24 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AS8PR04MB7927.eurprd04.prod.outlook.com (2603:10a6:20b:2ad::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 09:00:22 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 09:00: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: 911384db-7f4f-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643274025;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=Hs+IudkRE3ZhGjPesnaM8Q1PklM/3LqGyy1dtIpPTlE=;
	b=i+TfcrwiwXKNLl41uyLOnI5VEhkXcmVCLtsIADMtumK2M6Q+0+ZJJuKrJFnHn9EMyZoQxV
	Lt8FoDhm1FHH3Hs/9LPz4+k42jnS52ol3jwHqOeQ3kfZDE9aYutG8iBzqpWQonvHgmX251
	8SeKkYjMhgehksOnnQTPHOLnzFOaKAE=
X-MC-Unique: xLWrtmrtP4ClcuHClL55IA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WH8/OFKsj9nFCU/LcEELPzF6fiInaUp7JvG9kPqlTJUdSRe5mvf2gjKrSFt1J3a4xQUpOjQ8ieL15PzclAZSv1a77CbQObiwH49z0ADysD4ovrZe/eW4uGhhabwoMYw2FSyrn/4GQuOtMNIHlD//ViVx2WSoucj/EcnK5aSzviARzhpHG2t6GFO+rgmImGRZXjUpswadrCag9s+y7MxqaRWNuz7UtZL7djm6abYbKgW7/f00+hP8/Fz6W4wp31t9AZV1Onk8ZNGUR/BC9uQfiYSImagmMF+p6beB9oLaYGzEthIiRqy+YFeU/LYi2iMDVny8SPorDc+wRU9GTgRWlQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bc47LZ5+tio6nYxO3krvRwGGgmj6HFki2jn66dewA3I=;
 b=RzVKEhr98wOPrRKDJjnptFj5dJeLuGl9vPiIaSkKS+hqgsBQ8zqHDZZ3oTjkT2tHO+r6FNf+0tDGYpchcvcngnOEkP5tPJENdRYrzjaGTUXsvdNhT9YwwEH6u8AijgrABAA7ZDdGOO7E7/ZEvbO3+7g2cfzo1ycBlPdG6Gh1QqrndRhJVkjnEASEHhZmc9U8J2aWfVhHEL+rS/80ToBzuejysOEH0bAOARDkh4MXu5eWSEEDxOS1TRJhvhv5B2L5QUItz5wjf56tNE14O9wwFZCLIzto5P6bw8Mt0Jd3Qdf03VNW5WQ+E7aXEuMuVMIvb1yy9QpUkZMo56i7gnrpkg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e135adab-8b21-8dc0-2518-e505a59feb9f@suse.com>
Date: Thu, 27 Jan 2022 10:00:20 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 20/37] xen: introduce CONFIG_EFI to stub API for non-EFI
 architecture
Content-Language: en-US
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: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-21-wei.chen@arm.com>
 <d80da027-93ac-4819-ef7a-f3fd8592e443@suse.com>
 <PAXPR08MB7420AC9A05A6118642F544BD9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <PAXPR08MB7420252BFA15D032BDDF2F4A9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <PAXPR08MB7420252BFA15D032BDDF2F4A9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS9PR06CA0316.eurprd06.prod.outlook.com
 (2603:10a6:20b:45b::25) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 12c4e174-7d75-4547-b684-08d9e1737357
X-MS-TrafficTypeDiagnostic: AS8PR04MB7927:EE_
X-Microsoft-Antispam-PRVS:
	<AS8PR04MB79271D16937212EEDA11DE28B3219@AS8PR04MB7927.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:
	U3rdtsIGAJiePmYSReMzV1gcvSSh2Bsj3PKwjhHOxBWD1XyYc44TRJwF7Bx1CM4aX1UmIVS/vmEyASW7HVQcjfLv9UKDNxWG64LZWU4tyyj6n+kg5cUAKPXJwwx9qxnJDWJ1B+22RoO2M86UKSLpUq5oafHjnrzFp5/x5rPym1erdDlSTjzriSbwYk0m5BlO4YXNMLZNwgEPFNKVjGg4YqoH5ZONhE1GP8o6V1sxhQ1DnWMju3Qv617Md63JDDo+nHS3S1diFPjAmmL7qW8HxFDVCto3GSg04wzL3jYlD8/tEPqgLi6FB7VJVoJc5YaIap/s7l3x+bPJVOj+F61y1Re5/jxM18D2k2+igQtwEOBQRjAmxxqv3gYjUpw8Ks/geXnkOnP6jq8u0RYKdcQImtUoU7sgi4xxfP13SuNi4bJ+9gOn5IQju6zuRIoEWiCM1xsZeeYTlEpVyIHnIJxH9EM7CXivVSAYnywhZKQkwLSn+fXXZuO6DuUxYf+Eeh+7ovZBGsnPobNVgsAbiAQrdTVTOv/JZ1cj/Sb8irPdrcUKQ3eti1XSvCyfhkp1dkWZkbAkYhgNAQrSEAkUHB4rmZrGbnL4Ma62LE8xYapWskYSk7HP0m68yk1+njD+S/H10mdRMIbANkzX764oex0+HIZS9tymtQWsxJioEWhITX658Z0X8TO0yrB0Vc5uMdED1fpXYCWunse1RnR0Bd1dma/ghPQUnhZNoSzKvrb/hsBAkIeS09qWyPMHRH6OWTrD
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:(13230001)(366004)(66476007)(66556008)(66946007)(4326008)(8676002)(8936002)(5660300002)(83380400001)(53546011)(2906002)(6506007)(26005)(2616005)(6486002)(31686004)(36756003)(54906003)(186003)(86362001)(6916009)(508600001)(6512007)(316002)(31696002)(38100700002)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?A3wJnCBPM875Fz5Rx0qeZ41LLk8k8VTWxBlt5uR1dcdkcxsb3GXBM0P6aLzf?=
 =?us-ascii?Q?AcAwikmAPpLOfUbnEwBt37YqEE27SaRd0rmBwKGqZWHHWsYnjxLVzZjgBFgi?=
 =?us-ascii?Q?JR7oOESyFf4q45HYADr7D/xLZmPMAz9swtG4RgASkO5LjVgCJbP/tmYKUtbS?=
 =?us-ascii?Q?H41oZVrT9m3jx3f9XXks9Bhx0yqujs+mQ+YmljBxCzeqjyyfrQ29MxEVLr52?=
 =?us-ascii?Q?VOqWqYT3/VyDD4VUc0AhiuZVk6L6KIIcIRZohBP8YNKardiqFqgbhw14FKBe?=
 =?us-ascii?Q?Q1h3oWU5BegSuHXF2iwb+fiJYRa6LVhN8C3OTFRaHiSQnYfvuMBjN/AVRcg3?=
 =?us-ascii?Q?JOdTohYXRGRfClr0u+5ScRZq4hyrx9SQ8VD7iiY3JFncQxVLsbLZ16hlV0st?=
 =?us-ascii?Q?FFZwkK8YF/Gn2zqz3u+UTsgbLXlFjcHZ2b3WPKZqtwwTTnVOSreUuxOQ4qwZ?=
 =?us-ascii?Q?rIfcOeUXGRZcxqnLo24kKiGomkhR0VwhTWaYkWf/31pzIhl0NUwsRt0H19lu?=
 =?us-ascii?Q?g+3adwvJ5e4a+hiV6HVJKV5UYDVmls7uMD95jwhx9d9Y4bSo6qcFvXrIjP8X?=
 =?us-ascii?Q?T0q1iKuOoYKFHpUupvPcaT2l1oxanb2aun3l1yhcjNb2s0e/FmBxz+VfUoZW?=
 =?us-ascii?Q?lN3/D6UjWPk1BLaz9BRGgOba5aSpQR1mUSGcZZaxZBpcBofNoXq+skA6xxAz?=
 =?us-ascii?Q?ScY0KY0LVkO+jfDr2gHH8tWCzvFryUeLbnTGKzlOyvJjQtX11gCK+J+VvHkG?=
 =?us-ascii?Q?692a6egnd0Nbj4+tGWQHY8A9sWcppNqrJkyutCSK0wNnGJDays6W7Sb4XIPs?=
 =?us-ascii?Q?c2zTew0T7Nw17WGKOIT2YCxIOQED6VgPJ4dWNNWNMlm3AW5Axrtx6mnXLET+?=
 =?us-ascii?Q?I0tdxPz/6I1ifi+X8vLrZUETk90QdAb1QIVRRgMgdlTGi4srWR2dbXhyNA7E?=
 =?us-ascii?Q?mko/4xY5Ztg5odhTdN9yp8yrE5n0+2SzY0Ma6qFjtd09b4SzSVj7AVPWJgt7?=
 =?us-ascii?Q?jwlvDF2MkSTeCn59bP2JA6Tir+6HtaE0yTle1W5kigJ+DWzXSUsI7D/Og5Dw?=
 =?us-ascii?Q?u2Eyjm5uhbtSofG6DyRRUAa+UzRxcydSe3189w/umZ0Bu7SfOX/3LQuuqDOw?=
 =?us-ascii?Q?n/kzx0vRWSOAozOSNuN5kPqTYSY1EX9zHEhZq1own4Yd73kaUkedU2ttTchX?=
 =?us-ascii?Q?5EkxI/aL2AX8nURsDhZKMbz2b0gJAJHwYL9R5jrFy8z7Y6kmMlWmGcaDlpPV?=
 =?us-ascii?Q?DsS/KtJ67ep6Tk7C1CnePWUXu7sbDmCRg20Q2z1vuEue3rbQ4iI5eVKU0DZe?=
 =?us-ascii?Q?GFLgCWthkdjqWGoiYAIcWZmti2cwLMfzVBG19Ms4T2LCxpcqDlI/l5eempbY?=
 =?us-ascii?Q?ZVk6DX/8lxDnHZhW5MmQXe0rYyDCGqvCVcyp4n0bsphKROUILfWtxyqmNdaL?=
 =?us-ascii?Q?DSt67cd3J5NTuBnaDS+0vld3fpwYOC7Q684fM1ZI/XB/1pljoeTbLg6Cr2P+?=
 =?us-ascii?Q?k70cpUGDihhEDPGH16qaEQdEvJ4No3GQPhCO01Zh0kt3ekaW8r/J63FNinDP?=
 =?us-ascii?Q?nh6pKw6rVibaNhTmbCqSliRBpOtXNu20YlDpQPjPBpaWuKgJwV0nUtJkd1PP?=
 =?us-ascii?Q?jUIpJuVUwVFQQEG2K9jm5LY=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 12c4e174-7d75-4547-b684-08d9e1737357
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 09:00:22.3658
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: kwdM2aXInySBnuxsXkkPWBpC+QVhIIGMcaq0COnKDyuwVUhqaIljGMZSpeiJmD6d6zeytAD4VLjB8zNKvAeoLg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7927

On 27.01.2022 09:51, Wei Chen wrote:
>> From: Xen-devel <xen-devel-bounces@lists.xenproject.org> On Behalf Of We=
i
>> Chen
>> Sent: 2022=E5=B9=B41=E6=9C=8827=E6=97=A5 16:45
>>
>>> From: Jan Beulich <jbeulich@suse.com>
>>> Sent: 2022=E5=B9=B41=E6=9C=8825=E6=97=A5 18:35
>>>
>>> On 23.09.2021 14:02, Wei Chen wrote:
>>>> --- a/xen/common/Kconfig
>>>> +++ b/xen/common/Kconfig
>>>> @@ -11,6 +11,16 @@ config COMPAT
>>>>  config CORE_PARKING
>>>>  	bool
>>>>
>>>> +config EFI
>>>> +	bool
>>>> +	---help---
>>>> +      This option provides support for runtime services provided
>>>> +      by UEFI firmware (such as non-volatile variables, realtime
>>>> +      clock, and platform reset). A UEFI stub is also provided to
>>>> +      allow the kernel to be booted as an EFI application. This
>>>> +      is only useful for kernels that may run on systems that have
>>>> +      UEFI firmware.
>>>
>>> The way enabling of (full) EFI support works on x86, I consider it
>>> wrong / misleading to put the option in common code. At the very least
>>> the help text would need to call out the extra dependencies. Plus the
>>> help text of course then needs to be generic (i.e. applicable to both
>>> Arm and x86). That's notwithstanding the fact that without a prompt
>>> the help text won't ever be seen while configuring Xen.
>>>
>>> Also (nit): Indentation. And please don't use ---help--- anymore in
>>> new code.
>>>
>>
>> I have used CONFIG_ARM_EFI to replace this common EFI config in my
>> latest version. This Kconfig option has been removed.
>> And thanks, I will not use --help-- anymore.
>>
>>>> --- a/xen/include/xen/efi.h
>>>> +++ b/xen/include/xen/efi.h
>>>> @@ -25,6 +25,8 @@ extern struct efi efi;
>>>>
>>>>  #ifndef __ASSEMBLY__
>>>>
>>>> +#ifdef CONFIG_EFI
>>>> +
>>>>  union xenpf_efi_info;
>>>>  union compat_pf_efi_info;
>>>>
>>>> @@ -45,6 +47,8 @@ int efi_runtime_call(struct xenpf_efi_runtime_call
>> *);
>>>>  int efi_compat_get_info(uint32_t idx, union compat_pf_efi_info *);
>>>>  int efi_compat_runtime_call(struct compat_pf_efi_runtime_call *);
>>>>
>>>> +#endif /* CONFIG_EFI*/
>>>
>>> I can see that in the later patch, when introducing inline stubs,
>>> you would need conditionals here, but I don't think you need them
>>> right here (or you may want to introduce the stubs right away).
>>>
>>> Also (nit): Missing blank in the comment.
>=20
> I am sorry, I had missed this comment. In my latest changes,
> I have introduced a stub file for non-EFI architectures.
> The reason why we don't use a macro to stub the helpers
> in efi.h is that, some architectures have implemented stub
> helpers in their stub.c. If we define stub helpers in
> efi.h, this will cause function redefinition error. We need
> to fix this error for all architectures. And some helpers
> is not easy to implement as a inline function in efi.h.
> So we use stub file instead of stubing in efi.h

But you realize we already have such a stub file on x86?

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 09:03:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 09:03:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261341.452384 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD0gm-0001HL-Kj; Thu, 27 Jan 2022 09:03:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261341.452384; Thu, 27 Jan 2022 09:03:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD0gm-0001HE-HQ; Thu, 27 Jan 2022 09:03:32 +0000
Received: by outflank-mailman (input) for mailman id 261341;
 Thu, 27 Jan 2022 09:03:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=xPLH=SL=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1nD0gl-0001H8-Dr
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 09:03:31 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on061b.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::61b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id febfdf34-7f4f-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 10:03:29 +0100 (CET)
Received: from DB6P193CA0024.EURP193.PROD.OUTLOOK.COM (2603:10a6:6:29::34) by
 AM4PR08MB2820.eurprd08.prod.outlook.com (2603:10a6:205:d::26) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4930.15; Thu, 27 Jan 2022 09:03:27 +0000
Received: from DB5EUR03FT029.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:6:29:cafe::5f) by DB6P193CA0024.outlook.office365.com
 (2603:10a6:6:29::34) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17 via Frontend
 Transport; Thu, 27 Jan 2022 09:03:27 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT029.mail.protection.outlook.com (10.152.20.131) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4930.15 via Frontend Transport; Thu, 27 Jan 2022 09:03:27 +0000
Received: ("Tessian outbound 18e50a6f0513:v113");
 Thu, 27 Jan 2022 09:03:27 +0000
Received: from 27336e28517c.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 4D189A5B-7039-4E22-A903-8AFE01D0C4B0.1; 
 Thu, 27 Jan 2022 09:03:16 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 27336e28517c.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 27 Jan 2022 09:03:16 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by AM6PR08MB3750.eurprd08.prod.outlook.com (2603:10a6:20b:81::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.14; Thu, 27 Jan
 2022 09:03:14 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0%7]) with mapi id 15.20.4909.017; Thu, 27 Jan 2022
 09: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: febfdf34-7f4f-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=juXz+M71dQnfP5HVhsfEK2tSXWFozxA3q5U/+LaYu/0=;
 b=B1RRT80GsHcZ9ikFTVdr5iWu3MpIN2kJEtq/MhbA8i5OhP70c6snKSV0Wmv49KI4glwlhdoc6GfUDTQvYc96hsMnG1e54ZD+E3H/0k/Spbs7US+BmiQpBSiAOnj6O8OgQIXTD4YmcCK+s+SeP8s0CG2jNoBzoUZxaHBZtRFWBho=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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=hdhvwYZYrHLlKzLXTPQGk9LmWVStsz+7Nbt69QVjeqd7V3swBR89Aj7KowpFQlnp0oHbombk7saeVpM08gnpjOoMDmi4eCPE4yzRDU3qKAdKxxqdKcbCZ5Gdcmoh6mGnCnzfEKakAAMZQJQRXq9xoSZN0E4SInHMhWgyGzvC9/oDP4GWbidABeOQ7cKb1k56CHdVTB6tz14celr4Eo8VaMGVmj4XsPdtYjLVssclEH3UHRjLoRirIl2GQKESFDgWAmdF20AV9eeajdYOxgS3a7V+1+SjNelo1mexu0YoP820dghDMFR/bnfkSc+wDPvqh+qicoknnX0KhMn7ugJ06g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=juXz+M71dQnfP5HVhsfEK2tSXWFozxA3q5U/+LaYu/0=;
 b=bXM2ZPqKKePNFIxjBv5A0hDQu9DEb+5XIhyOX6/k1jAO3GAWM7x7JQS43CbkJ0pppci0Mw7Cb6AOk0DrGFweUkCu2mq8OMZUbh2T971SXcsxOd0WNuOkGUKUUrMcW1WfMSKgRgKcNkSQ1B55qCUyVnW7JF//PvraV3GGGN2fIfjuH7MI1zM0jevixxUxOBTbpHF1hb3qWUAgAEv3C3LL3JX6dBg11LCzsOL1sqpw6HghEzwLazBaDFVL2lbpK0LHqd9VYOt4fqwxvCh2LlvyuTHgSlHYJmk1twy5w+pVfBnUrxASrE94RRrPV+BSZ9QblRef7g/nGM0C5FaLZn9zYA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=juXz+M71dQnfP5HVhsfEK2tSXWFozxA3q5U/+LaYu/0=;
 b=B1RRT80GsHcZ9ikFTVdr5iWu3MpIN2kJEtq/MhbA8i5OhP70c6snKSV0Wmv49KI4glwlhdoc6GfUDTQvYc96hsMnG1e54ZD+E3H/0k/Spbs7US+BmiQpBSiAOnj6O8OgQIXTD4YmcCK+s+SeP8s0CG2jNoBzoUZxaHBZtRFWBho=
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: [PATCH 12/37] xen/x86: decouple nodes_cover_memory from E820 map
Thread-Topic: [PATCH 12/37] xen/x86: decouple nodes_cover_memory from E820 map
Thread-Index: AQHXsHMWLK2Lk+nkCEuQGshEHTFFNqxzJoSAgAQcdmCAAAZJgIAADE6g
Date: Thu, 27 Jan 2022 09:03:13 +0000
Message-ID:
 <PAXPR08MB7420131F1D61587D251C05239E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-13-wei.chen@arm.com>
 <b6c16f31-b233-1493-aebb-716e087f5ca1@suse.com>
 <PAXPR08MB74209CAE2D594D22DFF14DDA9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <d4bb30f9-92a4-47ef-05bd-0ae1dacb3642@suse.com>
In-Reply-To: <d4bb30f9-92a4-47ef-05bd-0ae1dacb3642@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: F908342D8DCD8C40932FF44E80B9E07A.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: e165d96f-c692-46bd-cc55-08d9e173e19e
x-ms-traffictypediagnostic:
	AM6PR08MB3750:EE_|DB5EUR03FT029:EE_|AM4PR08MB2820:EE_
X-Microsoft-Antispam-PRVS:
	<AM4PR08MB282070A0B1354957E14E878B9E219@AM4PR08MB2820.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:
 tQ7gIrOHOlWMy+DDEafIZvGHUVY/7kSKLIo8g1lEm3Ps5qjVqv8KgpdRvdgfUUm2H1Mu7kMty3vL3mQtFbMY418UZDDS7iHxZcX7KEFEWe8PrHipRWpGnZB9Kpb5uG9oM0DV7RDZsFPnCWjRU5J4mP1angkaL0dG0szMxAMyfc1kJ/bBakbCHrN880Y9nNgb2Jb+MXy0g31hnZEZnw76LS/8kZ+cEPOpnwu7O5MuKLB8L3gYGqQpSKj5NCiqnU3rcVWGfbaUgv8GwioXxy0XGNr35yRvQTGzCulJRc7nFMv+bCSrJo0RCmaaYkMierbJqMej1xT2utBCd9ETXfKucmfT82JIfw95zjwCIB9I2/cQSeJH+ZsbaUt04zLYCzLUA2Y3dDVkCN+nhVqMmfmg76IhVYLJ6rhe67RFAFw01qT6B84D+S2QNd0VPjFXMimXfofLGWjyGoysILh8DcPA2ww2Pex2CXwttwISUmKbtNdi+yTInODqnwdQo59S8jCyFhKFR1uDVyDhkOBAX1yO/1a710FLUpcO4FqzLzkrBqy4xBsjsofdINppOlYa/FE4Krv0d/62hmg8Jjhco6Q/1OBTBciKdNrU62G7eTwKl07b/Pwn6aM4ypd28eLcFN517opvX6vR8q5loJ4pTakjaFLrN5cgd1c7ygnIZZFo9Nt1bAKrBv2MbS5zGfDSm6Vbv5vAGuhdu/V/drT/V7lsaw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(508600001)(6916009)(55016003)(4326008)(26005)(33656002)(86362001)(122000001)(53546011)(52536014)(5660300002)(2906002)(8676002)(76116006)(7696005)(186003)(38070700005)(8936002)(66446008)(66556008)(66476007)(54906003)(6506007)(38100700002)(9686003)(64756008)(66946007)(83380400001)(316002)(71200400001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3750
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT029.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b92e5da8-e0fe-4f80-fb00-08d9e173d9dc
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2lVI/pqzQr4wNcXb1Xgq72LsiBWS5UtABPE8kr9/YANPuTy7wzbu6pZZlCIKmjjzKNWarFYMt9I9JzJVilVudFTKf+bdybRpdUry8AJO72qGU2F8j7DJovRJ4hXc5zV1GvIm25UJojEengOg9xfRQfsrmsDfQ1PbfownWra8PGXGdkvY/Nr2m3wO2DjbP2xzgvExSzz/TN8CKdvRiCYCg59+U3lF8mqZZvRbvQ7hoNT0wEnRJ+MZHYfjVm4FPGR7/hO1ybfp4MVwB81yQsRkLGK58pHhzqgnMW4LQxLmwlNLM1l2B/r8iDXoHPT0vvUhIBd11G3HF1/UDgmiMPhquTERH7qqU8Ev7jsETpQN6RZ5kTK2TmlIIB07n1ghkRnDDl9G7+KYDfG4XQJt6Wh/FeWE/Atqz8/9JEYcAMPDREHJXG9g59xwUTjnsLe96d94WerTbNq501iDYFss40CzpGE22cGcW8fVjHN2ZITMyXFGW1j5KXC08FqnA+0Ch/y+UYqPX1aKkavmNhkFIx4ZgVEw+flJpht02crQpzGWA6SryEWtVQ0+J3sHbhSkfoUCmgbiqbfXW7NY6WkOs9iZ1F5S6j/J9O1pQXWDioxcnZkDSvsG+Zn9oQtyvdCt6W282wE56xEBR9eSu9O5W2NH4sTo2/tN0dZlOcaSYYLHosoaYKAxDC8wCDzeGsHY945u
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230001)(4636009)(36840700001)(40470700004)(46966006)(70586007)(82310400004)(70206006)(8676002)(6862004)(4326008)(33656002)(8936002)(5660300002)(336012)(52536014)(81166007)(55016003)(356005)(83380400001)(53546011)(7696005)(2906002)(6506007)(26005)(40460700003)(9686003)(54906003)(86362001)(186003)(508600001)(36860700001)(47076005)(316002)(20210929001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 09:03:27.2330
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e165d96f-c692-46bd-cc55-08d9e173e19e
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT029.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR08MB2820

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMuW5tDHmnIgyN+aXpSAxNjowOQ0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiBCZXJ0cmFuZCBNYXJxdWlz
IDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyB4ZW4tDQo+IGRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnOyBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqdWxpZW5AeGVuLm9yZw0KPiBTdWJqZWN0
OiBSZTogW1BBVENIIDEyLzM3XSB4ZW4veDg2OiBkZWNvdXBsZSBub2Rlc19jb3Zlcl9tZW1vcnkg
ZnJvbSBFODIwDQo+IG1hcA0KPiANCj4gT24gMjcuMDEuMjAyMiAwOTowMywgV2VpIENoZW4gd3Jv
dGU6DQo+ID4+IEZyb206IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gPj4gU2Vu
dDogMjAyMuW5tDHmnIgyNeaXpSAwOjU5DQo+ID4+DQo+ID4+IE9uIDIzLjA5LjIwMjEgMTQ6MDIs
IFdlaSBDaGVuIHdyb3RlOg0KPiA+Pj4gV2Ugd2lsbCByZXVzZSBub2Rlc19jb3Zlcl9tZW1vcnkg
Zm9yIEFybSB0byBjaGVjayBpdHMgYm9vdG1lbQ0KPiA+Pj4gaW5mby4gU28gd2UgaW50cm9kdWNl
IHR3byBhcmNoIGhlbHBlcnMgdG8gZ2V0IG1lbW9yeSBtYXAncw0KPiA+Pj4gZW50cnkgbnVtYmVy
IGFuZCBzcGVjaWZpZWQgZW50cnkncyByYW5nZToNCj4gPj4+ICAgICBhcmNoX2dldF9tZW1vcnlf
YmFua19udW1iZXINCj4gPj4+ICAgICBhcmNoX2dldF9tZW1vcnlfYmFua19yYW5nZQ0KPiA+Pg0K
PiA+PiBJJ20gc29ycnksIGJ1dCBwZXJzb25hbGx5IEkgc2VlIG5vIHdheSBmb3IgeW91IHRvIGlu
dHJvZHVjZSB0aGUgdGVybQ0KPiA+PiAibWVtb3J5IGJhbmsiIGludG8geDg2IGNvZGUuDQo+ID4N
Cj4gPiBJbiBteSBsYXRlc3QgY2hhbmdlcywgSSBoYXZlIHVwZGF0ZWQgdGhlc2UgdHdvIGhlbHBl
cnMgdG86DQo+ID4gdWludDMyX3QgX19pbml0IGFyY2hfbWVtaW5mb19nZXRfbnJfYmFuayh2b2lk
KQ0KPiA+IF9faW5pdCBhcmNoX21lbWluZm9fZ2V0X3JhbV9iYW5rX3JhbmdlKC4uLikNCj4gPiBJ
IGFtIHNvcnJ5LCBJIGZvcmdvdCB0byBjaGFuZ2UgdGhlIGNvbW1pdCBsb2cgYWNjb3JkaW5nbHku
DQo+ID4gSSB3aWxsIHVwZGF0ZSBpdCBpbiBuZXh0IHZlcnNpb24uDQo+IA0KPiBJJ20gc29ycnkg
Zm9yIHRoZSBhbWJpZ3VpdHkgb2YgbXkgZWFybGllciByZXBseSwgYnV0IG15IG9iamVjdGlvbiB3
YXMNCj4gYWdhaW5zdCAiYmFuayIsIG5vdCAibWVtb3J5Ii4gQXMgYW4gYXNpZGUsIHlvdSBhbHNv
IGRvbid0IHdhbnQgdGhlDQoNCkhvdyBhYm91dCBhcmNoX21lbWluZm9fZ2V0X25yX21hcC8gYXJj
aF9tZW1pbmZvX2dldF9tYXBfcmFuZ2U/DQpJIGFtIHNvcnJ5LCBJIGFtIG5vdCB2ZXJ5IGZhbWls
aWFyIHdpdGggZTgyMCBtYXAsIGNvdWxkIHlvdQ0KZ2l2ZSBtZSBzb21lIHN1Z2dlc3Rpb25zPw0K
DQo+IGZ1bmN0aW9uIHJldHVybiAidWludDMyX3QiIC0gc2VlIC4vQ09ESU5HX1NUWUxFLg0KDQpP
Sy4NCg0KPiANCj4gSmFuDQoNCg==


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 09:09:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 09:09:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261345.452395 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD0mu-00022V-Fl; Thu, 27 Jan 2022 09:09:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261345.452395; Thu, 27 Jan 2022 09:09:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD0mu-00022O-CM; Thu, 27 Jan 2022 09:09:52 +0000
Received: by outflank-mailman (input) for mailman id 261345;
 Thu, 27 Jan 2022 09:09:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=xPLH=SL=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1nD0mt-00022I-Fo
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 09:09:51 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2060a.outbound.protection.outlook.com
 [2a01:111:f400:7d00::60a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e15d49c5-7f50-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 10:09:50 +0100 (CET)
Received: from AM5PR0601CA0045.eurprd06.prod.outlook.com
 (2603:10a6:203:68::31) by DB7PR08MB3434.eurprd08.prod.outlook.com
 (2603:10a6:10:42::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.12; Thu, 27 Jan
 2022 09:09:43 +0000
Received: from AM5EUR03FT052.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:203:68:cafe::94) 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.4930.15 via Frontend
 Transport; Thu, 27 Jan 2022 09:09:43 +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.4930.15 via Frontend Transport; Thu, 27 Jan 2022 09:09:42 +0000
Received: ("Tessian outbound 2877e54fe176:v113");
 Thu, 27 Jan 2022 09:09:42 +0000
Received: from 3ab5192ca902.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 C19422F0-AD2A-4132-A936-594F9B80E01C.1; 
 Thu, 27 Jan 2022 09:09:32 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3ab5192ca902.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 27 Jan 2022 09:09:32 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by DB7PR08MB3594.eurprd08.prod.outlook.com (2603:10a6:10:4e::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.10; Thu, 27 Jan
 2022 09:09:29 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0%7]) with mapi id 15.20.4909.017; Thu, 27 Jan 2022
 09:09:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e15d49c5-7f50-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SssAtDPU01TrkZTQwdoBBqNpjX+VrpzLtcBMiMqwRMc=;
 b=Ebvf2JVd651D0PBwSys3hvnvKtd9fXOCoWoCFGNLqh/S59VkEJNR3DuKL+sWCSsDp6mxQYOCNhdQYa5KgGQGETOnWTOeJC57l14xqjg7HDr0pduZGdOn4+R5MRSfH5ZDu665V+brhAISkcYsc8DC5lJUVgCuMJM3GcETQNYyTZs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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=W2Your5wjcvjrWMKfqb5yUcrIFav1rK4a5TTeaBXpG0jP/+1NPybHDHzn/K3IMzBiTKu7eY7fzj/5niL4HOxVaWgBTDcFMhmFzpypm0j1qzDW5njBnVt1Z6V6O0xTmUJBe95xpGpE9Vl8DKNpgsKlLf8I1UXHt3UbCw59D7SVTpZ7EGPxqpwwGwhwA3hxiz13N0UPt/Q1Qh4oVX92IRa7jolQ0/9nzEldQ60xt49VKCKMz7YBZ9plRKZBUng5PrEIqPZ8OcJqVS54vGMVsF1ra6i6BDT74z91EF9u62iAl0nJElp+j6P7rg1PP7YbZa+y0iJ5JD0pIoQ9OCUtsgghA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SssAtDPU01TrkZTQwdoBBqNpjX+VrpzLtcBMiMqwRMc=;
 b=cYXfkB4tZh+Y/A3szHvpl/xfr6A8HKZslB0XNTTq/B/zG+yWQ9cd9o+wETDWU+E/9vZFnlS4zeFR4yalxLPLKi6bro4aP1inBVcKAFXXiKyJewaFVrNdCPUHKbM1fGIitREMbDkhzFTwLYpKTLANS43ZD57ZIhOj+5/Arnq+sKSNKBmANvJ2j27QC8swGnZSOFOUmGgXp5sNImE3sNfViciOQ1CViutoU3gcmYAfhCadb9BpHltjHjIoUqF9nSWFOkYHM3ifEIswZ0DW9F3DLMeEdrJKGoJrnMnSnar/K4Pr6Tw3+IgmDEjciU+KMwIpUhXJ3eGQwnqi5phtSnLcGA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SssAtDPU01TrkZTQwdoBBqNpjX+VrpzLtcBMiMqwRMc=;
 b=Ebvf2JVd651D0PBwSys3hvnvKtd9fXOCoWoCFGNLqh/S59VkEJNR3DuKL+sWCSsDp6mxQYOCNhdQYa5KgGQGETOnWTOeJC57l14xqjg7HDr0pduZGdOn4+R5MRSfH5ZDu665V+brhAISkcYsc8DC5lJUVgCuMJM3GcETQNYyTZs=
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: [PATCH 20/37] xen: introduce CONFIG_EFI to stub API for non-EFI
 architecture
Thread-Topic: [PATCH 20/37] xen: introduce CONFIG_EFI to stub API for non-EFI
 architecture
Thread-Index: AQHXsHMtR+l18+MmpE6rl/RjSXTBgqx0TXyAgAME0ECAAAH2oIAAA3YAgAAA4bA=
Date: Thu, 27 Jan 2022 09:09:28 +0000
Message-ID:
 <PAXPR08MB7420EF1360C2E1D63D278A1B9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-21-wei.chen@arm.com>
 <d80da027-93ac-4819-ef7a-f3fd8592e443@suse.com>
 <PAXPR08MB7420AC9A05A6118642F544BD9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <PAXPR08MB7420252BFA15D032BDDF2F4A9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <e135adab-8b21-8dc0-2518-e505a59feb9f@suse.com>
In-Reply-To: <e135adab-8b21-8dc0-2518-e505a59feb9f@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: F4E5441351A38E4EABB6FE42377AE5A4.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 8d098645-6dea-4b0e-dbac-08d9e174c17b
x-ms-traffictypediagnostic:
	DB7PR08MB3594:EE_|AM5EUR03FT052:EE_|DB7PR08MB3434:EE_
X-Microsoft-Antispam-PRVS:
	<DB7PR08MB3434736D9F9ADDC48FCD4E499E219@DB7PR08MB3434.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:
 qY7v4omuRn2pfMB03sxU0BN6+mr45y7fQwzs7wFzQvXkbqUV28FzYcAMhBF/5VdCspL0k6jaq1qF1KeeU5AgiXIv/+40+f7I/fsrA9V+bfiwS0+Wy0JukcLDom9oYn7tHCdw6Yryy8lXBu0VBVu4qICVZeU/FIICM9G0yAmWCLzdWq8y2m6wfGwUflUGHS8E7ov55Kt680oecmpQfrM8oHbZA/WvYjJsKMfWRORH0AdN6YfecnJbDqRCwmoFC5Fgb9WAPAzJUqGOi8257AOOgVB2uQ0sya0ZPFk9xTvCm7tvc5J5BokABgMxahzEmzvp/wx+9VbXkpArMt8kyegwbiW/HP4XG/5YR0Xt0XdpCKOqEG8TG4a7Zv3EbIjCrWE94kb1Kezfm6wkvTPywa1gxhnQyubDkAiGQs1VmYd57QwHgOCjg0c+bKtCysFk8o1B6TqRdasJDKwLb5EwFMTCO1co+67Usu5+2HGm17fn5UTRJnbgTY+av2PXFq8dZhhj+mkLK0tXecH+KfZ3MH92rrUojpW252zWMFkqS5fpEawDY/ut3ucE6f4L/pkK6xYoqbr/cktyLmhTv35gfDUvp33LnlMZMdY+C9faOlKq7odiS8oKzC/XG4iZZbQdK7Ugytwe1xa/Og2BMAnHJ9ZatyD9Z9OwylSem393MkCnkZ5emXVEQtvVz8UGYsuZeml0bvHLFyrGmdonu9j9N3yPHw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(2906002)(9686003)(52536014)(66446008)(7696005)(54906003)(316002)(122000001)(55016003)(66556008)(8936002)(64756008)(66946007)(83380400001)(38100700002)(6506007)(86362001)(71200400001)(4326008)(33656002)(53546011)(66476007)(186003)(6916009)(508600001)(8676002)(26005)(5660300002)(76116006)(38070700005);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3594
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;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-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	d27c81f8-e71d-4761-0858-08d9e174b911
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	f9DnHXVDuvOBFGV22afvl1Z8aIrM9ZOzG2Xom9JbBDawJFua12fmtTGim+JpoNonjVXqr/ygLiZTm9sAnc9LU0gxe4ygPdsZN5E3Lm6aeuJ/yJNKioHu457MTz4QlFlJzaP4lg/0WO99Q+OLNKFcKQTOzyJcOnudpv/Atuynsa8fO8FQLhgDPUzsVkn9E/4SbxcvmcYaCyT2DWD8HmImPU9QmrL4ghFFjnAWKjJr5VMkdT1mFDKrSxJN0qWf2IJXu/nlvPV3VTvO6N/P7E6w4d3cS8yz4LxJqZQqHrvEI5FukonudSjdsiYy2vWUI5kB917qJhkrbINSmVS8yXeFcSn5MWsIv/5YFVa5SJzujAS8cox7V+Tk6FurajA8m8NnetytHLkjKc4ufRFEvNZ7S30u/mUJ4D4ecQaMEG2/SudlMer/RCnsJ4qzxBH7wxY2ql1OdfXHcyShX+dL42McFL/GWDaRNAkyvjIThh+oZxn/iaW8FyDSknPAslky+FCNLky6j1jngcyd/Tecv0Mw48QZWqccOviKxxD1iansjf1v+JWwNr5wHIdq1Znw9dc3pNxicQtxbXrELICyXRHDUOkQYvmBFd8RvmBePOxDU7H1M4c6VIEaIMTgJLG1rDN0rNMWTLq7OQee1B2lA6eX8JunK8/reZBN8QWKE5OuFM/9F3eQib0J08lclAD6C2r15z2I4KQH99KBONFZb/54fzHEdirkIPb+8pzqiMDcJDC/xNqbETBK5wTDeS2Vxd4to2uLEbSIGh7PNR3WKqlcGg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(40470700004)(7696005)(83380400001)(6862004)(356005)(26005)(81166007)(55016003)(52536014)(54906003)(2906002)(4326008)(508600001)(8676002)(82310400004)(33656002)(40460700003)(5660300002)(186003)(36860700001)(336012)(70206006)(86362001)(47076005)(316002)(6506007)(8936002)(53546011)(9686003)(70586007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 09:09:42.7472
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8d098645-6dea-4b0e-dbac-08d9e174c17b
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: DB7PR08MB3434

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMuW5tDHmnIgyN+aXpSAxNzowMA0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiBCZXJ0cmFuZCBNYXJxdWlz
IDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyB4ZW4tDQo+IGRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnOyBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqdWxpZW5AeGVuLm9yZw0KPiBTdWJqZWN0
OiBSZTogW1BBVENIIDIwLzM3XSB4ZW46IGludHJvZHVjZSBDT05GSUdfRUZJIHRvIHN0dWIgQVBJ
IGZvciBub24tDQo+IEVGSSBhcmNoaXRlY3R1cmUNCj4gDQo+IE9uIDI3LjAxLjIwMjIgMDk6NTEs
IFdlaSBDaGVuIHdyb3RlOg0KPiA+PiBGcm9tOiBYZW4tZGV2ZWwgPHhlbi1kZXZlbC1ib3VuY2Vz
QGxpc3RzLnhlbnByb2plY3Qub3JnPiBPbiBCZWhhbGYgT2YNCj4gV2VpDQo+ID4+IENoZW4NCj4g
Pj4gU2VudDogMjAyMuW5tDHmnIgyN+aXpSAxNjo0NQ0KPiA+Pg0KPiA+Pj4gRnJvbTogSmFuIEJl
dWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPiA+Pj4gU2VudDogMjAyMuW5tDHmnIgyNeaXpSAx
ODozNQ0KPiA+Pj4NCj4gPj4+IE9uIDIzLjA5LjIwMjEgMTQ6MDIsIFdlaSBDaGVuIHdyb3RlOg0K
PiA+Pj4+IC0tLSBhL3hlbi9jb21tb24vS2NvbmZpZw0KPiA+Pj4+ICsrKyBiL3hlbi9jb21tb24v
S2NvbmZpZw0KPiA+Pj4+IEBAIC0xMSw2ICsxMSwxNiBAQCBjb25maWcgQ09NUEFUDQo+ID4+Pj4g
IGNvbmZpZyBDT1JFX1BBUktJTkcNCj4gPj4+PiAgCWJvb2wNCj4gPj4+Pg0KPiA+Pj4+ICtjb25m
aWcgRUZJDQo+ID4+Pj4gKwlib29sDQo+ID4+Pj4gKwktLS1oZWxwLS0tDQo+ID4+Pj4gKyAgICAg
IFRoaXMgb3B0aW9uIHByb3ZpZGVzIHN1cHBvcnQgZm9yIHJ1bnRpbWUgc2VydmljZXMgcHJvdmlk
ZWQNCj4gPj4+PiArICAgICAgYnkgVUVGSSBmaXJtd2FyZSAoc3VjaCBhcyBub24tdm9sYXRpbGUg
dmFyaWFibGVzLCByZWFsdGltZQ0KPiA+Pj4+ICsgICAgICBjbG9jaywgYW5kIHBsYXRmb3JtIHJl
c2V0KS4gQSBVRUZJIHN0dWIgaXMgYWxzbyBwcm92aWRlZCB0bw0KPiA+Pj4+ICsgICAgICBhbGxv
dyB0aGUga2VybmVsIHRvIGJlIGJvb3RlZCBhcyBhbiBFRkkgYXBwbGljYXRpb24uIFRoaXMNCj4g
Pj4+PiArICAgICAgaXMgb25seSB1c2VmdWwgZm9yIGtlcm5lbHMgdGhhdCBtYXkgcnVuIG9uIHN5
c3RlbXMgdGhhdCBoYXZlDQo+ID4+Pj4gKyAgICAgIFVFRkkgZmlybXdhcmUuDQo+ID4+Pg0KPiA+
Pj4gVGhlIHdheSBlbmFibGluZyBvZiAoZnVsbCkgRUZJIHN1cHBvcnQgd29ya3Mgb24geDg2LCBJ
IGNvbnNpZGVyIGl0DQo+ID4+PiB3cm9uZyAvIG1pc2xlYWRpbmcgdG8gcHV0IHRoZSBvcHRpb24g
aW4gY29tbW9uIGNvZGUuIEF0IHRoZSB2ZXJ5IGxlYXN0DQo+ID4+PiB0aGUgaGVscCB0ZXh0IHdv
dWxkIG5lZWQgdG8gY2FsbCBvdXQgdGhlIGV4dHJhIGRlcGVuZGVuY2llcy4gUGx1cyB0aGUNCj4g
Pj4+IGhlbHAgdGV4dCBvZiBjb3Vyc2UgdGhlbiBuZWVkcyB0byBiZSBnZW5lcmljIChpLmUuIGFw
cGxpY2FibGUgdG8gYm90aA0KPiA+Pj4gQXJtIGFuZCB4ODYpLiBUaGF0J3Mgbm90d2l0aHN0YW5k
aW5nIHRoZSBmYWN0IHRoYXQgd2l0aG91dCBhIHByb21wdA0KPiA+Pj4gdGhlIGhlbHAgdGV4dCB3
b24ndCBldmVyIGJlIHNlZW4gd2hpbGUgY29uZmlndXJpbmcgWGVuLg0KPiA+Pj4NCj4gPj4+IEFs
c28gKG5pdCk6IEluZGVudGF0aW9uLiBBbmQgcGxlYXNlIGRvbid0IHVzZSAtLS1oZWxwLS0tIGFu
eW1vcmUgaW4NCj4gPj4+IG5ldyBjb2RlLg0KPiA+Pj4NCj4gPj4NCj4gPj4gSSBoYXZlIHVzZWQg
Q09ORklHX0FSTV9FRkkgdG8gcmVwbGFjZSB0aGlzIGNvbW1vbiBFRkkgY29uZmlnIGluIG15DQo+
ID4+IGxhdGVzdCB2ZXJzaW9uLiBUaGlzIEtjb25maWcgb3B0aW9uIGhhcyBiZWVuIHJlbW92ZWQu
DQo+ID4+IEFuZCB0aGFua3MsIEkgd2lsbCBub3QgdXNlIC0taGVscC0tIGFueW1vcmUuDQo+ID4+
DQo+ID4+Pj4gLS0tIGEveGVuL2luY2x1ZGUveGVuL2VmaS5oDQo+ID4+Pj4gKysrIGIveGVuL2lu
Y2x1ZGUveGVuL2VmaS5oDQo+ID4+Pj4gQEAgLTI1LDYgKzI1LDggQEAgZXh0ZXJuIHN0cnVjdCBl
ZmkgZWZpOw0KPiA+Pj4+DQo+ID4+Pj4gICNpZm5kZWYgX19BU1NFTUJMWV9fDQo+ID4+Pj4NCj4g
Pj4+PiArI2lmZGVmIENPTkZJR19FRkkNCj4gPj4+PiArDQo+ID4+Pj4gIHVuaW9uIHhlbnBmX2Vm
aV9pbmZvOw0KPiA+Pj4+ICB1bmlvbiBjb21wYXRfcGZfZWZpX2luZm87DQo+ID4+Pj4NCj4gPj4+
PiBAQCAtNDUsNiArNDcsOCBAQCBpbnQgZWZpX3J1bnRpbWVfY2FsbChzdHJ1Y3QgeGVucGZfZWZp
X3J1bnRpbWVfY2FsbA0KPiA+PiAqKTsNCj4gPj4+PiAgaW50IGVmaV9jb21wYXRfZ2V0X2luZm8o
dWludDMyX3QgaWR4LCB1bmlvbiBjb21wYXRfcGZfZWZpX2luZm8gKik7DQo+ID4+Pj4gIGludCBl
ZmlfY29tcGF0X3J1bnRpbWVfY2FsbChzdHJ1Y3QgY29tcGF0X3BmX2VmaV9ydW50aW1lX2NhbGwg
Kik7DQo+ID4+Pj4NCj4gPj4+PiArI2VuZGlmIC8qIENPTkZJR19FRkkqLw0KPiA+Pj4NCj4gPj4+
IEkgY2FuIHNlZSB0aGF0IGluIHRoZSBsYXRlciBwYXRjaCwgd2hlbiBpbnRyb2R1Y2luZyBpbmxp
bmUgc3R1YnMsDQo+ID4+PiB5b3Ugd291bGQgbmVlZCBjb25kaXRpb25hbHMgaGVyZSwgYnV0IEkg
ZG9uJ3QgdGhpbmsgeW91IG5lZWQgdGhlbQ0KPiA+Pj4gcmlnaHQgaGVyZSAob3IgeW91IG1heSB3
YW50IHRvIGludHJvZHVjZSB0aGUgc3R1YnMgcmlnaHQgYXdheSkuDQo+ID4+Pg0KPiA+Pj4gQWxz
byAobml0KTogTWlzc2luZyBibGFuayBpbiB0aGUgY29tbWVudC4NCj4gPg0KPiA+IEkgYW0gc29y
cnksIEkgaGFkIG1pc3NlZCB0aGlzIGNvbW1lbnQuIEluIG15IGxhdGVzdCBjaGFuZ2VzLA0KPiA+
IEkgaGF2ZSBpbnRyb2R1Y2VkIGEgc3R1YiBmaWxlIGZvciBub24tRUZJIGFyY2hpdGVjdHVyZXMu
DQo+ID4gVGhlIHJlYXNvbiB3aHkgd2UgZG9uJ3QgdXNlIGEgbWFjcm8gdG8gc3R1YiB0aGUgaGVs
cGVycw0KPiA+IGluIGVmaS5oIGlzIHRoYXQsIHNvbWUgYXJjaGl0ZWN0dXJlcyBoYXZlIGltcGxl
bWVudGVkIHN0dWINCj4gPiBoZWxwZXJzIGluIHRoZWlyIHN0dWIuYy4gSWYgd2UgZGVmaW5lIHN0
dWIgaGVscGVycyBpbg0KPiA+IGVmaS5oLCB0aGlzIHdpbGwgY2F1c2UgZnVuY3Rpb24gcmVkZWZp
bml0aW9uIGVycm9yLiBXZSBuZWVkDQo+ID4gdG8gZml4IHRoaXMgZXJyb3IgZm9yIGFsbCBhcmNo
aXRlY3R1cmVzLiBBbmQgc29tZSBoZWxwZXJzDQo+ID4gaXMgbm90IGVhc3kgdG8gaW1wbGVtZW50
IGFzIGEgaW5saW5lIGZ1bmN0aW9uIGluIGVmaS5oLg0KPiA+IFNvIHdlIHVzZSBzdHViIGZpbGUg
aW5zdGVhZCBvZiBzdHViaW5nIGluIGVmaS5oDQo+IA0KPiBCdXQgeW91IHJlYWxpemUgd2UgYWxy
ZWFkeSBoYXZlIHN1Y2ggYSBzdHViIGZpbGUgb24geDg2Pw0KPiANCg0KWWVzLCB3ZSBmb3VuZCB0
aGUgcmVkZWZpbml0aW9uIGVycm9ycyB0aGF0IGFyZSBjYXVzZWQgYnkgeDg2IHN0dWIgZmlsZQ0K
YW5kIG5ldyBtYWNyb3MgaW4gc3R1Yi5oLiBXZSBoYWQgdHJpZXMgdG8gYWRkOg0KaWZlcSAoJChY
RU5fQlVJTERfRUZJKSx5KQ0KQ0ZMQUdTLXkgKz0gLURYRU5fQlVJTERfRUZJDQpYRU5fQ0ZMQUdT
ICs9IC1EWEVOX0JVSUxEX0VGSQ0KZW5kaWYNCng4Ni9NYWtlZmlsZSB0byBnYXRlIHRoZXNlIG5l
dyBtYWNyb3MsIGJ1dCBpdCBzZWVtcyB0aGF0IHdlIG1heSBuZWVkDQp0byBjaGFuZ2UgRUZJIGJ1
aWxkIGxvZ2ljIGZvciB4ODYuIEl0IHdpbGwgY2F1c2UgbW9yZSByaXNrcyBmb3IgbWUuDQpTbyBJ
IHdhbnQgdG8gaW50cm9kdWNlIGEgc2ltaWxhciBzdHViLmMgaW4gYXJjaC9hcm0uDQoNCg0KPiBK
YW4NCg0K


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 09:16:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 09:16:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261348.452406 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD0ta-0003Rk-7o; Thu, 27 Jan 2022 09:16:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261348.452406; Thu, 27 Jan 2022 09: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 1nD0ta-0003Rd-3l; Thu, 27 Jan 2022 09:16:46 +0000
Received: by outflank-mailman (input) for mailman id 261348;
 Thu, 27 Jan 2022 09:16:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD0tY-0003RX-JO
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 09:16:44 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d73703d1-7f51-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 10:16:42 +0100 (CET)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2176.outbound.protection.outlook.com [104.47.17.176]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-27-lCACdx73MJyv1i7cZ5gN2Q-1; Thu, 27 Jan 2022 10:16:40 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR0402MB2912.eurprd04.prod.outlook.com (2603:10a6:800:b7::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 09:16:39 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 09:16: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: d73703d1-7f51-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643275002;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=+YxU0OcgU/lGGLwYGOCF7NNqFHithPfLCBja9kZHNPM=;
	b=LZ6fQ9vf3A7c/0EPK8HUQdbxCzhgQ4y1vzYJT7xTG3+5jukG1STnQljJ0UVjFTZcigaqeX
	3/Ek/JK16/7gtXaygsx/BNCfmzPWe08kf0J8l85c8KV4sTXFOz/PeWCch0v7eZKL7xQQUS
	iqabWGU+pyO8MDdQPHNa38S2eLPpKuo=
X-MC-Unique: lCACdx73MJyv1i7cZ5gN2Q-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oSddCkKhbMns9zWmqaSrcPUFrin5r57xTA+Uk9VJRHuhqaGhhRuybpKdz1rXAaW0jgzYRutq8drUOFhykjsFCbZG5y7ae4rcc/tWC/s5Su/QaTtXC6jYaqEJ8djuMkgQpR/sDN3jMNc98Gg0p2WyHd2lRnKL+tNAjMROVzBiRiVKmjEHH3rSrkwRQCX+1swZkAdX6PNN/RxxzRuvjBTn74PEO+WDw8HJ2NgmI3wu3XSBKJ1d4oLw5a7VWPdjPi+LlamBSF6VFV4tLEuIa32Ili2HbAYKHKubBkAwH1MylFVS7aUUvfTNyLvdSf+CZhs3WBoKkGr4r3umLTJna98c4Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QgMJcaqGP+p1yHBFYVmlw1ktTEcpgcZXxS6jIjG8JEU=;
 b=PonTF3eUBq6YHGCiX2Q6Q0VTcJCuOlHtXvMhWWMmiMlS2QYhiaGAryksidjluYLdYqdkByZc7Ak3EiYRJSjZO5/4FxgGvHP7Qbednf8MAZtu3S8RmQRFJ7OlZmSjyogbX7+MTup5Lj5xBTfySOhvd6oV6H0BoMYnE+1s9tHLO2TBHI5d93PxDmbi2j3l2TGMq8640K4W3RQtmDltXONlYRgaj4m/PN2LI7U/6kxhN56BXpfKcp+7cyHjuzQVmGN7EB7M+gJRgBifTg96yX0CSmuV4CXgEuKmwT5jeA+4+RS13XV7mJNykPTtWYbZJ+C05olF1oqa36PUHZEV9R/DDQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b274899d-55f5-1851-82e6-69898d53e726@suse.com>
Date: Thu, 27 Jan 2022 10:16:38 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 20/37] xen: introduce CONFIG_EFI to stub API for non-EFI
 architecture
Content-Language: en-US
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: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-21-wei.chen@arm.com>
 <d80da027-93ac-4819-ef7a-f3fd8592e443@suse.com>
 <PAXPR08MB7420AC9A05A6118642F544BD9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <PAXPR08MB7420252BFA15D032BDDF2F4A9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <e135adab-8b21-8dc0-2518-e505a59feb9f@suse.com>
 <PAXPR08MB7420EF1360C2E1D63D278A1B9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <PAXPR08MB7420EF1360C2E1D63D278A1B9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM6P195CA0097.EURP195.PROD.OUTLOOK.COM
 (2603:10a6:209:86::38) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 66bf6be1-bc80-46b3-2c16-08d9e175ba04
X-MS-TrafficTypeDiagnostic: VI1PR0402MB2912:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR0402MB29129240F87FD8A4FCC9BE02B3219@VI1PR0402MB2912.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:
	ENHQhhhWP6T+DlqtbYXEAtwokPd/MYpz78kXnNuyLY7Wxd3ewHTOTNfnica5Sg3SbR8lImKZ/IPedphX/5hAIXvO3gf/aUl6ETI9KAjqbC+aQwNebKQ960UzYwITXmRMPlOeIs0cjH/MusruthAtnrR9JTu6Oxc/nKCkCFqSDpRHDwMlLpyzSVnudn31lMtIQUnaCz7hv7xg4VVFcPu9TCwOrX6AMMARxcHm1jcCDKmVu3+qhvVMxa6rFykQLnFP0ABOQPIra803lyLej5xkPHXse/bqSLbq3C9NE0ncFMKFf0GXfpnZsaB/JLHshP9xjs2y0iKt2WyqtMqn0xAyMlJX/ZOl7qwCmPmDGgHhKrj8l6hoCP2Gd/Ex3Qew2MKyBuYbCcHH96A9CxbfRR/POuGNmo9neGpqxxeVlgx5uCI04xEYcOF8hSjcFRDqj2Ka17PqcKbBFVqKQnflIIR7HNNGRhM4Puv+MrmeEQ2EigOdYnmLyAYdn6weEfrk6WaYZFpE3PjLb3nl3sgnH6v8G1XNPo+2dHh0CRLCG4JK+AASbpzJxNFVYuwEiFuduFrdyYbNsEnst5H161tBdn3l0gs4O8CpdrP/lc4h+W/v06QKZ8mH9PX3BBNCUhsvrsEVqJ+LxYq9aa80Z28xS/cbS+FAyz/kMF7k9MZXvUwe8pFtKvTMjWtZABG0GzdD1Zm2H0Q4nHclrWfkmNohnzCTJDuKVB1Y2yPqEJXfzX3XpUHMw0o8GU99AzZVhSoNAhm4
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:(13230001)(366004)(66476007)(66556008)(5660300002)(8936002)(8676002)(31686004)(86362001)(508600001)(36756003)(6486002)(54906003)(316002)(6916009)(83380400001)(38100700002)(53546011)(6512007)(6506007)(2906002)(26005)(31696002)(66946007)(2616005)(186003)(4326008)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?ifSc9WJVsJMn+UHr1ifeLr9rHeO96Cjt5IBolU8y0lwjs1sTAU079jwBnSmb?=
 =?us-ascii?Q?1tlXRp+WClgGmPk+aZ11UjSlC1T5rlAnTRS7d2LDRAMKadpP0lsg7Z/aiwC0?=
 =?us-ascii?Q?4zAgG5PccMIzK5pt72/hDANqkC0q5Ibs05pxli1S4jtwKv+0PXA7BXrlJyC4?=
 =?us-ascii?Q?Nv+EJIZw1V2c+dDNMGEAhTzQo9cRZRmnKcUdUkGSHjSrz/ODOXN+P7t8PrIB?=
 =?us-ascii?Q?aPrLGeZbNm01qg7q68OiL3YixI9Fkcq/tEbSmXLdwooFYmzDwqz2e6Okvfxx?=
 =?us-ascii?Q?DTJGjZBFDHmRq1H98gPbKObm0r7mQsFuDf/7KUueZjFZk2ha1j7f/6mUcdkZ?=
 =?us-ascii?Q?2ATYn4E4rl+c/36rbxvu9ETZljUt56tlxocjzka0qMvuncqA5cClxwcL7d5r?=
 =?us-ascii?Q?F9cMrusddZOLNPNmMrOS1XD34XawnB3wuYH5tpCiXR33Q1QXz95+haufwFxN?=
 =?us-ascii?Q?3zjicjyx4deqhCzt1GLvHW9TWSV74MsXstZb52pVGZdJvu9l6QD2J1nmvvm+?=
 =?us-ascii?Q?+u18PtP1NiYZ8ptS2QL1RT0XjIJOUXvCJpyVfIuOARVn+dEnhNI1/hMfm+ec?=
 =?us-ascii?Q?lxv5G7XeOYG9vRTdc0Uo5ajB4+YtBQEeY1ZA9p8+26E/zLgTyX5wvQCUhmvL?=
 =?us-ascii?Q?Eb/IrlcWMcT9wex0jYRzCOommywonSj7GMaYnattvaI+huF30YG/kX1RP7ba?=
 =?us-ascii?Q?f+tY2AALLwzPWz43rgheHS9YVEAgtaHQHPofQCQGfjdeOOlyc2EmGKrycFkq?=
 =?us-ascii?Q?mAemOveS18rSic6rfoou+VONcp+EZlW3A32Bbx3KDpm/Vvlice1wMGrJwNuF?=
 =?us-ascii?Q?DunzFwp0WngN8l44lW3OccCA4MPdoX6wlVdbtg6+odRwaQwoHHKpY1L7F7UK?=
 =?us-ascii?Q?jtxVk/FtpDhtYBVyvaleLhCi+BTN3TzHYBaF4kegt/8aq1rIufYM3hfL2Zln?=
 =?us-ascii?Q?DrzOpqs9hv0SsYciCPG+HistvOwdQYZP5WRsNZcGa8I91V0ZlRd/M/yydh3p?=
 =?us-ascii?Q?0YKWVfJO17xYE2ewnrDbbOcPOjRtEPRtfB5KeCk+jw/QibBa3GZld60Ys3/d?=
 =?us-ascii?Q?wkRkyRqGSbjZyeYsu+8yV+v8doc762bbjkZTx0V9expgpdNa9nM0pS95PGK3?=
 =?us-ascii?Q?2Rakaa1DnLcTGFhnzSZyV6RTtNZWUyucc4AgGwOSIeXOzpc8lhbXlqsW8WUa?=
 =?us-ascii?Q?uA9siIVR0hlnAGP9svVjp5jUmcyoZvG+HhBM5chimdywQyWeLwBW7pf+joV0?=
 =?us-ascii?Q?lVa3ouJvJYOS/17wbawIgwusCMLelL/9pvPQjupIG/cc86gB91iJ62x5xtas?=
 =?us-ascii?Q?7wmXYz4B8QDryN+xXgYW3K+geQzLS80hc8bPPZJ7fFHsVy090Wfc0NhjZdQX?=
 =?us-ascii?Q?Dj/Hsk2Dn1+Lr5Jn5lnv6w1bl8ccyu5Ss5YKzvbzFasGc4th5KUaMVg3EN9L?=
 =?us-ascii?Q?iZvpDa4APSLfZzE/N6U7zNcdKfarN4KZ2M6aJT2m6N9Qu2ZVuLCdaCsl7lfB?=
 =?us-ascii?Q?sfaxeYgcFCfWrMY8uNEj04S0csiRVrCTc6pu7U77iRpzVmPadOc7fMtHtVA4?=
 =?us-ascii?Q?cFAAmZ6MijY2RWvJPSBZbj06x4jy3vlyPuQl6rHy3VygAHaXAaJWuPoV8yKy?=
 =?us-ascii?Q?Cr3b4kD2DCAX+bCmM8CZC7Y=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 66bf6be1-bc80-46b3-2c16-08d9e175ba04
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 09:16:39.9144
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: nRmLYO9KGzgItvgvYgRr1fxWPPkmCAf+YvvB+znpdZBhD60uGit4pm2cMk6xq2ksq8YFHmwPJgJG62ALyPHEJQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB2912

On 27.01.2022 10:09, Wei Chen wrote:
>> From: Jan Beulich <jbeulich@suse.com>
>> Sent: 2022=E5=B9=B41=E6=9C=8827=E6=97=A5 17:00
>>
>> On 27.01.2022 09:51, Wei Chen wrote:
>>>> From: Xen-devel <xen-devel-bounces@lists.xenproject.org> On Behalf Of
>> Wei
>>>> Chen
>>>> Sent: 2022=E5=B9=B41=E6=9C=8827=E6=97=A5 16:45
>>>>
>>>>> From: Jan Beulich <jbeulich@suse.com>
>>>>> Sent: 2022=E5=B9=B41=E6=9C=8825=E6=97=A5 18:35
>>>>>
>>>>> On 23.09.2021 14:02, Wei Chen wrote:
>>>>>> --- a/xen/common/Kconfig
>>>>>> +++ b/xen/common/Kconfig
>>>>>> @@ -11,6 +11,16 @@ config COMPAT
>>>>>>  config CORE_PARKING
>>>>>>  	bool
>>>>>>
>>>>>> +config EFI
>>>>>> +	bool
>>>>>> +	---help---
>>>>>> +      This option provides support for runtime services provided
>>>>>> +      by UEFI firmware (such as non-volatile variables, realtime
>>>>>> +      clock, and platform reset). A UEFI stub is also provided to
>>>>>> +      allow the kernel to be booted as an EFI application. This
>>>>>> +      is only useful for kernels that may run on systems that have
>>>>>> +      UEFI firmware.
>>>>>
>>>>> The way enabling of (full) EFI support works on x86, I consider it
>>>>> wrong / misleading to put the option in common code. At the very leas=
t
>>>>> the help text would need to call out the extra dependencies. Plus the
>>>>> help text of course then needs to be generic (i.e. applicable to both
>>>>> Arm and x86). That's notwithstanding the fact that without a prompt
>>>>> the help text won't ever be seen while configuring Xen.
>>>>>
>>>>> Also (nit): Indentation. And please don't use ---help--- anymore in
>>>>> new code.
>>>>>
>>>>
>>>> I have used CONFIG_ARM_EFI to replace this common EFI config in my
>>>> latest version. This Kconfig option has been removed.
>>>> And thanks, I will not use --help-- anymore.
>>>>
>>>>>> --- a/xen/include/xen/efi.h
>>>>>> +++ b/xen/include/xen/efi.h
>>>>>> @@ -25,6 +25,8 @@ extern struct efi efi;
>>>>>>
>>>>>>  #ifndef __ASSEMBLY__
>>>>>>
>>>>>> +#ifdef CONFIG_EFI
>>>>>> +
>>>>>>  union xenpf_efi_info;
>>>>>>  union compat_pf_efi_info;
>>>>>>
>>>>>> @@ -45,6 +47,8 @@ int efi_runtime_call(struct xenpf_efi_runtime_call
>>>> *);
>>>>>>  int efi_compat_get_info(uint32_t idx, union compat_pf_efi_info *);
>>>>>>  int efi_compat_runtime_call(struct compat_pf_efi_runtime_call *);
>>>>>>
>>>>>> +#endif /* CONFIG_EFI*/
>>>>>
>>>>> I can see that in the later patch, when introducing inline stubs,
>>>>> you would need conditionals here, but I don't think you need them
>>>>> right here (or you may want to introduce the stubs right away).
>>>>>
>>>>> Also (nit): Missing blank in the comment.
>>>
>>> I am sorry, I had missed this comment. In my latest changes,
>>> I have introduced a stub file for non-EFI architectures.
>>> The reason why we don't use a macro to stub the helpers
>>> in efi.h is that, some architectures have implemented stub
>>> helpers in their stub.c. If we define stub helpers in
>>> efi.h, this will cause function redefinition error. We need
>>> to fix this error for all architectures. And some helpers
>>> is not easy to implement as a inline function in efi.h.
>>> So we use stub file instead of stubing in efi.h
>>
>> But you realize we already have such a stub file on x86?
>>
>=20
> Yes, we found the redefinition errors that are caused by x86 stub file
> and new macros in stub.h. We had tries to add:
> ifeq ($(XEN_BUILD_EFI),y)
> CFLAGS-y +=3D -DXEN_BUILD_EFI
> XEN_CFLAGS +=3D -DXEN_BUILD_EFI
> endif
> x86/Makefile to gate these new macros, but it seems that we may need
> to change EFI build logic for x86. It will cause more risks for me.
> So I want to introduce a similar stub.c in arch/arm.

While that's perhaps fine, ideally common bits would be common. Iirc
already back at the time I was wondering why stub.c had to be x86-
only.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 09:22:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 09:22:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261352.452417 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD0zE-0004zF-Vu; Thu, 27 Jan 2022 09:22:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261352.452417; Thu, 27 Jan 2022 09:22:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD0zE-0004z8-Sj; Thu, 27 Jan 2022 09:22:36 +0000
Received: by outflank-mailman (input) for mailman id 261352;
 Thu, 27 Jan 2022 09:22:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD0zD-0004z2-DH
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 09:22:35 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a8dc62c8-7f52-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 10:22:34 +0100 (CET)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2050.outbound.protection.outlook.com [104.47.13.50]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-27-jYylFniuPHGcfatyGuVfpw-1; Thu, 27 Jan 2022 10:22:32 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM6PR04MB5365.eurprd04.prod.outlook.com (2603:10a6:20b:99::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Thu, 27 Jan
 2022 09:22:30 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 09:22:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a8dc62c8-7f52-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643275353;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=TLFqD99FARL9XQMsZCRocnSm6uQAvJwUGxFnWi+Rhb0=;
	b=LtfjP32ditZWMJNEyBay1o2gCO343djwWr7QYVfz/MyWK088+VtJXn0mkMx0c3gPHtUsuy
	ZoXpgpdHNgbY12UaMbAsTiZBEY9gVwbYPJQG9VvB+pmaS7/hfIkiddLXVqRn4R//gvt4I+
	PjaWBOxf/RDUemEPD42D+ssHd5ecyYw=
X-MC-Unique: jYylFniuPHGcfatyGuVfpw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AIgo/tF/2BrYg9ywiyLvnEAHDIQ8cET+g54vKDN0jhWXUuMgGUUskxK73MOjC158mJNWj+VpG7wZ5omvrXM4FjM5eNoU/nqRVU60LayRVYGy65GzoFDBY64YrdrIBdc14pIDkHegrqyrnX6UyNOIgBXZU6YXJslyRkOJ8LxYKgQuHOUW+TOyzfbGAHtGOWraPf5QQgVWyzFKpmX6/V+r8VeryzxZAO3vl+qC8ATUC5056KLSURCeX8z+C6GU03GsB8YWjIKmKQG4QKdh7q231OyYw0KNR+V8UbMTLJJ1vP0KZzXUnSA5r2KuqJjMBfJ6B4Axv8QZdk3t8ys5jCGu+Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=roLsfW5BYtLkyJsUdQFvcHZ6aAyOjF7GMt7sZWiTRZA=;
 b=mJbyFg/Tf5HSgXP6QKvmVnz9Skklmm/aG3KI+Vi7+DJWItBtHgej2ZnsC3tGtHL+seae9Ywi1Bc1wUHVXInrB2TsBmiNIHvcP46I8o6NFgfrz0612fqRTqi4CdC0oqvwSfNZgQOZaWh9hKTIVq9r/6VrJKPF7LmgDfH91L7TD8/MzGjk4w5o+o0KSJ23BdUdYjpmV1MnbDBm5lBdDliLjeWnBnfVkNYloeonq+FrhFKI3OKvA9isAw0OiiY1H1ssBqtpNpthslkEMefvyTXaD55l2+NOmhw+iii0oRkNwjesebQMyOOj4sZVRN0KZN8oxzPejp7zsrUs7Pjibj3/zg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9ed21543-c299-12fc-a445-ed146fb59412@suse.com>
Date: Thu, 27 Jan 2022 10:22:29 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 12/37] xen/x86: decouple nodes_cover_memory from E820 map
Content-Language: en-US
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: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-13-wei.chen@arm.com>
 <b6c16f31-b233-1493-aebb-716e087f5ca1@suse.com>
 <PAXPR08MB74209CAE2D594D22DFF14DDA9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <d4bb30f9-92a4-47ef-05bd-0ae1dacb3642@suse.com>
 <PAXPR08MB7420131F1D61587D251C05239E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <PAXPR08MB7420131F1D61587D251C05239E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS8P250CA0029.EURP250.PROD.OUTLOOK.COM
 (2603:10a6:20b:330::34) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: dbabc2f3-71c8-4dbf-7210-08d9e1768ad5
X-MS-TrafficTypeDiagnostic: AM6PR04MB5365:EE_
X-Microsoft-Antispam-PRVS:
	<AM6PR04MB5365EDA9BCE4DA9E6B7C0B34B3219@AM6PR04MB5365.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:
	Je8zUBx6jn1fawXH6CNO5le36kM6eSmW5ZjlT3c8xOIvlN2Sy64OnqpzaogdzIPNaLyYr+7zEPC6y2adavnvkc5bqV/g9btSl6solQjXcTfzcxeWQ4CjI7RrGy13BWJ66BoQq97LnxFtR7WZQn2ZLPOZdSJ5b6aZjDM4IeVlqQ88srHAD9gQ/UImWyYoe3xq/86r1TpDM0wJ2Fv00qCban/aDDaUFHP9bCtDHnuoWxJ/9DXwcm6TUkDgFX07Tsi6fj5IAGJdptULPZE6F1lZUUZHMSP8nTuOPJKxMfxu4BXt7zQrhHc1eudia2zN9FZ24SW5+Cz4B437G/9ubjO/P0pNjCZZKj5ChFsGLiGYXjk5wecL98dYhfVTiFFzxO2WrfBONN+xL0KT6XGspro0VM0uwJd06/SpMcHn27Pc/BnnaMEG144iQ4AURSZVlKWkoXhPBoEvCMxZkoa53jYwQD2vglykRqPm1NPdQ8NYI4AgJYipCHAxMCeEaFaN7vrKZCj+BIp6ssG6bKYLxfvEDhWTRIp1jR0FildjRMrRrppmBdFgr4eG5FIzm29SihaUiuI4ZUgt2nknzK6I026PeA3UVXd1V5kivwGBrhClp+bv3Iqxtjx/c+GR9dbKJYgG+i83f3ZTG5OoEHkorvzwNlHtBTMD4EfvE7ixdJHL8MpBnuCZ9qewfn++UKwhq/FSb+V1scAWWHWbL/SUNMC7x5oRuW6OEzyyfk3NNihme/QEkED4uuzKPb78KJv/kxcm
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:(13230001)(366004)(66946007)(6512007)(5660300002)(2616005)(6486002)(53546011)(2906002)(36756003)(508600001)(6506007)(66556008)(31686004)(83380400001)(54906003)(66476007)(26005)(316002)(6916009)(4326008)(8936002)(8676002)(38100700002)(186003)(31696002)(86362001)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?RMOT54ka+XlNYhXXO+tQyPb2pqN6sZ4qa3JXxQDe/E1826U29svLVvKQ6GZL?=
 =?us-ascii?Q?jYw/oyaWdNl+J9m9Ixy8MCv7vEhlpaVdNd1AgnE90lcpf4s87dxezzfVUOiE?=
 =?us-ascii?Q?snR8GsOmRUNJKJ12RzedQSdQ7GvqvtufiYp7lesaAvZHOFbLnLRZQ9NTu10U?=
 =?us-ascii?Q?8+9ICpCHQN3pgpIxUu9YyDmN1AdqlcTnNK+WNFEKQApAIhO2hvYSlWYBCZht?=
 =?us-ascii?Q?NfFTnQKraip0PdjgHrUwK8Q2E1khZ+mZcEJw+aGNkYIziaCSAWaBjRNdqvr7?=
 =?us-ascii?Q?OPQJVvfAKe133SdzvhfwR4QHrcWUHuPu9bPXXNLpiEuVu2N7rV/mPGbDCsA+?=
 =?us-ascii?Q?XlLQqURx6WFPhfEfxm4FKqTDfaS6HOun1JBJLvEKEHClHPFuHfL1m0fUi5pM?=
 =?us-ascii?Q?O0tZmkVhjVH3ufCyEQXZi4reMsSt8Q4+ffetg9aPCxQ17IGceIltrPaB9lvT?=
 =?us-ascii?Q?LJbA+OG7Bw0B5bafanYcjnj/z/SsbMvFFt9hX4xi4gHJa3CNn3NoFMnR8a56?=
 =?us-ascii?Q?tcDSuT/b4p7ytWovJxgrAZAz1ohSuSj707UZ7XDXtH20B7AGDn5uCoxL5kIN?=
 =?us-ascii?Q?UAWFc40slybrLgSqdqdSJCfZq7KxKU7WRucgcm/8SdcGN1TxLPvuOUoBQkE4?=
 =?us-ascii?Q?gNn1iV7/W1ETA/5GVNKDnFZQKaSJFzRg11x2e2gDyHUc8+PiG7ZoNIG+vGr1?=
 =?us-ascii?Q?z0PC2F2/jXUPIl7gggyhaFxOMDOh8c9xtHWL42y5yV3jO5ltptIdsPou7gp7?=
 =?us-ascii?Q?4ohgzlvVOxiLSKkSuklcR2tPLh+3FRYVSKxRT/24nRFbqMR8WqkJO/kRmnrm?=
 =?us-ascii?Q?mYpDo/yGafwSUw7SgL3/tW4WzL1Ou2YNMPPMItf2/4fgs1UbWeY5WLafGmpo?=
 =?us-ascii?Q?1g9GmGKAlybTVJ93DdUsaRpT+luR3CYqkM9z4MjFw0PyQK53UwdBOJ8AsZeB?=
 =?us-ascii?Q?GP7Koad4uAeea0JmRdzluVw9gBApejX5Td9fx3bwyjXNk6l9+K2ZToC21Bde?=
 =?us-ascii?Q?WMDHudjfTI26YTR+VS85A3YY1Vcbjbm0yvx4rNNExZ3MMnt423dTET9inonk?=
 =?us-ascii?Q?e/Ti0/NE8zcIa+s9cXT6Ile7kIalaEXV4trsgNHE8NfMCrucCt4AHveaFVQU?=
 =?us-ascii?Q?eLgUObiyzjNJAB7tf4JhQR7sVsIxUEgzHvaDn14gzMP051/U8eXV7S38ajpc?=
 =?us-ascii?Q?1wZf/XgeRRjjRepHBP0EXwUY41Nn/K11cETE4ttT9pBnWsf1JjZMOHh6B7lp?=
 =?us-ascii?Q?SqsMCy6J8q/aS8K0CR0PQJh72SqU1UTuu1PEVvz1tCVGEYJv8PK9AzH9AxNG?=
 =?us-ascii?Q?qfw1Es/QjPWkClKozCpyjReP0vjnXXIMxeWmSkQ4SSuTggBE8/5DEaID1d73?=
 =?us-ascii?Q?nsF7OztPhPNNDmf0NcFSdzSJYlLOsZgGaXyGqA7n2vlho0kHXcSCVid0AodC?=
 =?us-ascii?Q?Mzt2GPn1Ss5oT5Dtc4HbIcjeuDjCt/jZOl8RZz1a1Atos/476dLAhRpaPzQt?=
 =?us-ascii?Q?wFuJtLj0NUeIKAKOglsASNP+RlYm9Km/b9ZqsnLU52JuzK8zAmOavraYgMLw?=
 =?us-ascii?Q?T6PlKz2c/A6KwmDlfB4axtJ+5/M/tEft+EREoup6fzv9RPGar7/84Hj+DTUD?=
 =?us-ascii?Q?2WzTjZB68e1RVo70JV0M/kc=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dbabc2f3-71c8-4dbf-7210-08d9e1768ad5
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 09:22:30.2989
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9JdVa8tvlmhoRAWryw7ZACFWraqydTQxret7fH14E70Hznhq/2bbWzW3wR04FrljMyVAYNaMKgivZToohkkdeg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB5365

On 27.01.2022 10:03, Wei Chen wrote:
>> From: Jan Beulich <jbeulich@suse.com>
>> Sent: 2022=E5=B9=B41=E6=9C=8827=E6=97=A5 16:09
>>
>> On 27.01.2022 09:03, Wei Chen wrote:
>>>> From: Jan Beulich <jbeulich@suse.com>
>>>> Sent: 2022=E5=B9=B41=E6=9C=8825=E6=97=A5 0:59
>>>>
>>>> On 23.09.2021 14:02, 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
>>>>
>>>> I'm sorry, but personally I see no way for you to introduce the term
>>>> "memory bank" into x86 code.
>>>
>>> In my latest changes, I have updated these two helpers to:
>>> uint32_t __init arch_meminfo_get_nr_bank(void)
>>> __init arch_meminfo_get_ram_bank_range(...)
>>> I am sorry, I forgot to change the commit log accordingly.
>>> I will update it in next version.
>>
>> I'm sorry for the ambiguity of my earlier reply, but my objection was
>> against "bank", not "memory". As an aside, you also don't want the
>=20
> How about arch_meminfo_get_nr_map/ arch_meminfo_get_map_range?
> I am sorry, I am not very familiar with e820 map, could you
> give me some suggestions?

First of all I don't think you need a "get_nr" function at all, which
eliminates the need to find a good name for it. The "get_range" function
can easily provide back a unique indicator when the passed in index is
beyond the number of regions. For this function's name, how about
arch_get_memory_map() or arch_get_memory_map_block() or
arch_get_memory_map_range() (in order of my personal preference)?

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 09:25:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 09:25:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261355.452428 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD11u-0005ap-Eh; Thu, 27 Jan 2022 09:25:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261355.452428; Thu, 27 Jan 2022 09:25:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD11u-0005ai-A5; Thu, 27 Jan 2022 09:25:22 +0000
Received: by outflank-mailman (input) for mailman id 261355;
 Thu, 27 Jan 2022 09:25:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=xPLH=SL=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1nD11t-0005aa-P1
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 09:25:21 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0605.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::605])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0ba9929b-7f53-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 10:25:20 +0100 (CET)
Received: from AM5PR0601CA0045.eurprd06.prod.outlook.com
 (2603:10a6:203:68::31) by AM6PR08MB3367.eurprd08.prod.outlook.com
 (2603:10a6:20b:44::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 09:25:09 +0000
Received: from VE1EUR03FT045.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:203:68:cafe::23) 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.4930.15 via Frontend
 Transport; Thu, 27 Jan 2022 09:25:09 +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.4930.15 via Frontend Transport; Thu, 27 Jan 2022 09:25:08 +0000
Received: ("Tessian outbound 341d209a0e52:v113");
 Thu, 27 Jan 2022 09:25:08 +0000
Received: from 7a0b6caa3425.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 4D1068AA-D99B-4291-AF11-F6BF0A08391A.1; 
 Thu, 27 Jan 2022 09:25:02 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 7a0b6caa3425.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 27 Jan 2022 09:25:02 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by HE1PR0802MB2507.eurprd08.prod.outlook.com (2603:10a6:3:e1::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 09:25:00 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0%7]) with mapi id 15.20.4909.017; Thu, 27 Jan 2022
 09:25: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: 0ba9929b-7f53-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Eda+o/eaVRL+ux6gK4p5TJDZR21Rzh0PM3SZM2Rf6hM=;
 b=cA9ImlWgYeTmDE+slXxMQo1aMVnu7St6S+IeDYV3EYtD0wPJSHqmEEI9ZEzX5Lgo7xgrX8KPS78rQA53kki2AD1nj493vj6Y0kgiFFARPVLiXi4iHrbovbUl4eIsXunpBP4O4EDwR8Tj4SByswP7E9hU8lwlfH1bJbnMlMpnVRI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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=nYoO41eCQQexXx2axcDfqGYecRq+qLpw7yDlt+wAXpfeuU1gxhGPLe6AUcdyxM0FItmzL1BLaHJavd+qmZnDTQWsk2jdhmuTsj+cX1mHWYDG4XXv3CGpJ2LLItXc6S0ynI7noYDAxpSkv8dgW1KIg3iO3NVsEP49kRzwwoF6A5SrKXQXU9qhgz6AX1HIuq51yU+mXJxwF5SRXGutCVVsJVqiKv0Oq4ep9NGDCrMEsJ0GR2cc27Pjmtr78anHqGhmI/ByUL+Da3gLRxTVD99elNCfvwxiqp1Afau4Th7BdwAIAp2yAH0KMkZr4N+aGv88pBRftP6GeakF7gs6wEAHYA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Eda+o/eaVRL+ux6gK4p5TJDZR21Rzh0PM3SZM2Rf6hM=;
 b=ZWcu85iMKs3ZRexolBKXz9n8WSUHusObwJCENW6Iy6CGyUsjBAC8CBCfPeMIeYfk6eBU4jyta61rjCqK9kJU8xuWpea9nxH30QNhEF2nrOZaUseBGz2LpoJTbka+QZBbXRdJfrMIS4grZufengv+biv9bmOxsyrm1cfqtOiWbGtnLlf2FRPHmpsMI0WtyvBCfv0zwu1r5596/gIh0d4v7lUlug81wj60kRa9tpyGYVsZINXtdL7omcKbJ0LMgMwAZPbI567hlz/rplo9yNoLzZ5/BGd147nDUAcwCjGCl9X35LHby0jpIAyCXa65o0YjMYbJDSgUyDBDWHQEnXzzJQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Eda+o/eaVRL+ux6gK4p5TJDZR21Rzh0PM3SZM2Rf6hM=;
 b=cA9ImlWgYeTmDE+slXxMQo1aMVnu7St6S+IeDYV3EYtD0wPJSHqmEEI9ZEzX5Lgo7xgrX8KPS78rQA53kki2AD1nj493vj6Y0kgiFFARPVLiXi4iHrbovbUl4eIsXunpBP4O4EDwR8Tj4SByswP7E9hU8lwlfH1bJbnMlMpnVRI=
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: [PATCH 20/37] xen: introduce CONFIG_EFI to stub API for non-EFI
 architecture
Thread-Topic: [PATCH 20/37] xen: introduce CONFIG_EFI to stub API for non-EFI
 architecture
Thread-Index:
 AQHXsHMtR+l18+MmpE6rl/RjSXTBgqx0TXyAgAME0ECAAAH2oIAAA3YAgAAA4bCAAAOtAIAAAa7A
Date: Thu, 27 Jan 2022 09:25:00 +0000
Message-ID:
 <PAXPR08MB74205D98C454993DCFAE4FFC9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-21-wei.chen@arm.com>
 <d80da027-93ac-4819-ef7a-f3fd8592e443@suse.com>
 <PAXPR08MB7420AC9A05A6118642F544BD9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <PAXPR08MB7420252BFA15D032BDDF2F4A9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <e135adab-8b21-8dc0-2518-e505a59feb9f@suse.com>
 <PAXPR08MB7420EF1360C2E1D63D278A1B9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <b274899d-55f5-1851-82e6-69898d53e726@suse.com>
In-Reply-To: <b274899d-55f5-1851-82e6-69898d53e726@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 023A501837DA2E488AA9C8E468012E82.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 3d78fa60-0bd8-4fb9-2f4e-08d9e176e97d
x-ms-traffictypediagnostic:
	HE1PR0802MB2507:EE_|VE1EUR03FT045:EE_|AM6PR08MB3367:EE_
X-Microsoft-Antispam-PRVS:
	<AM6PR08MB3367C7932B732E0C6BF90D149E219@AM6PR08MB3367.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:
 p1MxdG7Pvrqok2WbsnIBkVu0I5WJ95fqkZmuu1mHVGpCtuRAi2H7a80qX/2sVsBJo3Md2ti3Jjda97t3k8nS8shvZ2LURkMVtG8F29K6dWGVcZvSghRQvqPS/Gx4jdv6py7uTx3u2MWQzTZsXfLS7XgztclGRbvte6MBAWd0LJiolvBtT1v6VzE/IeJXH//WEq4ySR67Ms8UB6A5VGYhFhGPFzWy7fc6zRzahLDpRsWz1n0uX/2NDr1l3z552UXh9KKDh2ISBjWidoUkAYGJjhyANQZWj9iPegO0qNEtYN2Ve0Erm1aSSwejLi0rM/oe9VLQorT60vvHFM1qdB+U0H6o8UkkD/BOTNxvIqs2PRPgxFbVC3a5oZy4M5UaKvXixvtpptLMYQEi+RB6UiNU1g0WYdb7bFeNN3kFAQ/CNT6zJI/ha582fSh+w812YLW0+VokgxbQRTF0u1vZ48V+d7zA7YEV+DPrP4e+2s+8uumktVEHRs9mzkP/LfPGbsh4p8vEjb7pmKsgc60xtc5BTp4t3SSD5APfmZrNQq90AxB0vH1+rdXp51SeeaPgPxUFOafp3JpMD2zFFObYPBTtbdAHTLMlyLC6Z8uqq5B7egGSVZmqt1jqooWrG/xr1r/nWcqhsPwQ1dIzPF915ZYqphRq3hayQDSM484bXAtxxgE6/bA1XNhCNT4JwsanVtifDnkQuEoiYL06VthwT1aA8w==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(71200400001)(54906003)(2906002)(52536014)(53546011)(186003)(26005)(6916009)(33656002)(316002)(9686003)(6506007)(508600001)(7696005)(86362001)(55016003)(66476007)(83380400001)(64756008)(66946007)(66446008)(66556008)(76116006)(4326008)(8936002)(8676002)(122000001)(5660300002)(38100700002)(38070700005)(20210929001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0802MB2507
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT045.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	e96c8a94-d9ee-4ca9-0c76-08d9e176e49b
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0IdFxb/Ps/K9XlsBCX1dzHwuc1ih5H+0rJ50za8FqnAW+jH2rPq8P2TQzcdZUoY47fMn/oD6Zsh5zrVVO4Fx8QEB2OmgNp+2MDdFlIu74qnQ4f8rOq8T0TO3/buv6T+DMHK44teVcPKQC3aNSsmr5vUZzA+cHpb5BncuYtCwJC1PwZssYXfMEPLcC7UiADZcptzbwC6o9bnD/Pu0hgxMCQVNnXS8MJGtCGBvT9J+fQKY7LSptU1/W5+IuiUeHrWEkXBtrmiJUn5DXtEetjDbGoiDz1CRbjc75+cllXuSChpv9pK5/nKMHgH60cZM/3HYdhPP/fzDMo1g64ADdnI8BwAR+Vfwff77p3e8aDdYIlUo+Qga8l8hcHL64RwPipOiSGjCpyH6Z/h8BsUc9bQtPMMQWEuNS6XCLRcFp+6g12jFcybfjCVERAKY2KZoKTRMpTHSYWRnunB0bvKp46e7LOLZyRt81eL/aBho8/oq6sYCpIjUa8UARoC6IA1cXOi3garll4hocUimTMV5m38qYAqGVlquwjdzrBQvrUcT+ySiWFh8/gA0f82CXtKA5kcgcyuIhZ92L1MXaBj4PK9HFhthMwmBm4c4MyrdwcQHWEWQLVOqh8s94/0E/MY3G+PiUOtHD8AIT4PDyj0eMnJDIyQK3GoEwSEWTi3+tYzcSWclcnooj7h6Qs6FzkjVX4PJ
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230001)(4636009)(46966006)(40470700004)(36840700001)(316002)(36860700001)(54906003)(82310400004)(70586007)(9686003)(70206006)(81166007)(356005)(5660300002)(508600001)(2906002)(186003)(52536014)(6506007)(7696005)(53546011)(26005)(47076005)(8936002)(40460700003)(4326008)(6862004)(8676002)(33656002)(336012)(86362001)(55016003)(83380400001)(20210929001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 09:25:08.7915
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3d78fa60-0bd8-4fb9-2f4e-08d9e176e97d
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: AM6PR08MB3367

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMuW5tDHmnIgyN+aXpSAxNzoxNw0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiBCZXJ0cmFuZCBNYXJxdWlz
IDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyB4ZW4tDQo+IGRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnOyBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqdWxpZW5AeGVuLm9yZw0KPiBTdWJqZWN0
OiBSZTogW1BBVENIIDIwLzM3XSB4ZW46IGludHJvZHVjZSBDT05GSUdfRUZJIHRvIHN0dWIgQVBJ
IGZvciBub24tDQo+IEVGSSBhcmNoaXRlY3R1cmUNCj4gDQo+IE9uIDI3LjAxLjIwMjIgMTA6MDks
IFdlaSBDaGVuIHdyb3RlOg0KPiA+PiBGcm9tOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5j
b20+DQo+ID4+IFNlbnQ6IDIwMjLlubQx5pyIMjfml6UgMTc6MDANCj4gPj4NCj4gPj4gT24gMjcu
MDEuMjAyMiAwOTo1MSwgV2VpIENoZW4gd3JvdGU6DQo+ID4+Pj4gRnJvbTogWGVuLWRldmVsIDx4
ZW4tZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW5wcm9qZWN0Lm9yZz4gT24gQmVoYWxmIE9mDQo+ID4+
IFdlaQ0KPiA+Pj4+IENoZW4NCj4gPj4+PiBTZW50OiAyMDIy5bm0MeaciDI35pelIDE2OjQ1DQo+
ID4+Pj4NCj4gPj4+Pj4gRnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPiA+
Pj4+PiBTZW50OiAyMDIy5bm0MeaciDI15pelIDE4OjM1DQo+ID4+Pj4+DQo+ID4+Pj4+IE9uIDIz
LjA5LjIwMjEgMTQ6MDIsIFdlaSBDaGVuIHdyb3RlOg0KPiA+Pj4+Pj4gLS0tIGEveGVuL2NvbW1v
bi9LY29uZmlnDQo+ID4+Pj4+PiArKysgYi94ZW4vY29tbW9uL0tjb25maWcNCj4gPj4+Pj4+IEBA
IC0xMSw2ICsxMSwxNiBAQCBjb25maWcgQ09NUEFUDQo+ID4+Pj4+PiAgY29uZmlnIENPUkVfUEFS
S0lORw0KPiA+Pj4+Pj4gIAlib29sDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gK2NvbmZpZyBFRkkNCj4g
Pj4+Pj4+ICsJYm9vbA0KPiA+Pj4+Pj4gKwktLS1oZWxwLS0tDQo+ID4+Pj4+PiArICAgICAgVGhp
cyBvcHRpb24gcHJvdmlkZXMgc3VwcG9ydCBmb3IgcnVudGltZSBzZXJ2aWNlcyBwcm92aWRlZA0K
PiA+Pj4+Pj4gKyAgICAgIGJ5IFVFRkkgZmlybXdhcmUgKHN1Y2ggYXMgbm9uLXZvbGF0aWxlIHZh
cmlhYmxlcywgcmVhbHRpbWUNCj4gPj4+Pj4+ICsgICAgICBjbG9jaywgYW5kIHBsYXRmb3JtIHJl
c2V0KS4gQSBVRUZJIHN0dWIgaXMgYWxzbyBwcm92aWRlZCB0bw0KPiA+Pj4+Pj4gKyAgICAgIGFs
bG93IHRoZSBrZXJuZWwgdG8gYmUgYm9vdGVkIGFzIGFuIEVGSSBhcHBsaWNhdGlvbi4gVGhpcw0K
PiA+Pj4+Pj4gKyAgICAgIGlzIG9ubHkgdXNlZnVsIGZvciBrZXJuZWxzIHRoYXQgbWF5IHJ1biBv
biBzeXN0ZW1zIHRoYXQgaGF2ZQ0KPiA+Pj4+Pj4gKyAgICAgIFVFRkkgZmlybXdhcmUuDQo+ID4+
Pj4+DQo+ID4+Pj4+IFRoZSB3YXkgZW5hYmxpbmcgb2YgKGZ1bGwpIEVGSSBzdXBwb3J0IHdvcmtz
IG9uIHg4NiwgSSBjb25zaWRlciBpdA0KPiA+Pj4+PiB3cm9uZyAvIG1pc2xlYWRpbmcgdG8gcHV0
IHRoZSBvcHRpb24gaW4gY29tbW9uIGNvZGUuIEF0IHRoZSB2ZXJ5DQo+IGxlYXN0DQo+ID4+Pj4+
IHRoZSBoZWxwIHRleHQgd291bGQgbmVlZCB0byBjYWxsIG91dCB0aGUgZXh0cmEgZGVwZW5kZW5j
aWVzLiBQbHVzDQo+IHRoZQ0KPiA+Pj4+PiBoZWxwIHRleHQgb2YgY291cnNlIHRoZW4gbmVlZHMg
dG8gYmUgZ2VuZXJpYyAoaS5lLiBhcHBsaWNhYmxlIHRvDQo+IGJvdGgNCj4gPj4+Pj4gQXJtIGFu
ZCB4ODYpLiBUaGF0J3Mgbm90d2l0aHN0YW5kaW5nIHRoZSBmYWN0IHRoYXQgd2l0aG91dCBhIHBy
b21wdA0KPiA+Pj4+PiB0aGUgaGVscCB0ZXh0IHdvbid0IGV2ZXIgYmUgc2VlbiB3aGlsZSBjb25m
aWd1cmluZyBYZW4uDQo+ID4+Pj4+DQo+ID4+Pj4+IEFsc28gKG5pdCk6IEluZGVudGF0aW9uLiBB
bmQgcGxlYXNlIGRvbid0IHVzZSAtLS1oZWxwLS0tIGFueW1vcmUgaW4NCj4gPj4+Pj4gbmV3IGNv
ZGUuDQo+ID4+Pj4+DQo+ID4+Pj4NCj4gPj4+PiBJIGhhdmUgdXNlZCBDT05GSUdfQVJNX0VGSSB0
byByZXBsYWNlIHRoaXMgY29tbW9uIEVGSSBjb25maWcgaW4gbXkNCj4gPj4+PiBsYXRlc3QgdmVy
c2lvbi4gVGhpcyBLY29uZmlnIG9wdGlvbiBoYXMgYmVlbiByZW1vdmVkLg0KPiA+Pj4+IEFuZCB0
aGFua3MsIEkgd2lsbCBub3QgdXNlIC0taGVscC0tIGFueW1vcmUuDQo+ID4+Pj4NCj4gPj4+Pj4+
IC0tLSBhL3hlbi9pbmNsdWRlL3hlbi9lZmkuaA0KPiA+Pj4+Pj4gKysrIGIveGVuL2luY2x1ZGUv
eGVuL2VmaS5oDQo+ID4+Pj4+PiBAQCAtMjUsNiArMjUsOCBAQCBleHRlcm4gc3RydWN0IGVmaSBl
Zmk7DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gICNpZm5kZWYgX19BU1NFTUJMWV9fDQo+ID4+Pj4+Pg0K
PiA+Pj4+Pj4gKyNpZmRlZiBDT05GSUdfRUZJDQo+ID4+Pj4+PiArDQo+ID4+Pj4+PiAgdW5pb24g
eGVucGZfZWZpX2luZm87DQo+ID4+Pj4+PiAgdW5pb24gY29tcGF0X3BmX2VmaV9pbmZvOw0KPiA+
Pj4+Pj4NCj4gPj4+Pj4+IEBAIC00NSw2ICs0Nyw4IEBAIGludCBlZmlfcnVudGltZV9jYWxsKHN0
cnVjdA0KPiB4ZW5wZl9lZmlfcnVudGltZV9jYWxsDQo+ID4+Pj4gKik7DQo+ID4+Pj4+PiAgaW50
IGVmaV9jb21wYXRfZ2V0X2luZm8odWludDMyX3QgaWR4LCB1bmlvbiBjb21wYXRfcGZfZWZpX2lu
Zm8gKik7DQo+ID4+Pj4+PiAgaW50IGVmaV9jb21wYXRfcnVudGltZV9jYWxsKHN0cnVjdCBjb21w
YXRfcGZfZWZpX3J1bnRpbWVfY2FsbCAqKTsNCj4gPj4+Pj4+DQo+ID4+Pj4+PiArI2VuZGlmIC8q
IENPTkZJR19FRkkqLw0KPiA+Pj4+Pg0KPiA+Pj4+PiBJIGNhbiBzZWUgdGhhdCBpbiB0aGUgbGF0
ZXIgcGF0Y2gsIHdoZW4gaW50cm9kdWNpbmcgaW5saW5lIHN0dWJzLA0KPiA+Pj4+PiB5b3Ugd291
bGQgbmVlZCBjb25kaXRpb25hbHMgaGVyZSwgYnV0IEkgZG9uJ3QgdGhpbmsgeW91IG5lZWQgdGhl
bQ0KPiA+Pj4+PiByaWdodCBoZXJlIChvciB5b3UgbWF5IHdhbnQgdG8gaW50cm9kdWNlIHRoZSBz
dHVicyByaWdodCBhd2F5KS4NCj4gPj4+Pj4NCj4gPj4+Pj4gQWxzbyAobml0KTogTWlzc2luZyBi
bGFuayBpbiB0aGUgY29tbWVudC4NCj4gPj4+DQo+ID4+PiBJIGFtIHNvcnJ5LCBJIGhhZCBtaXNz
ZWQgdGhpcyBjb21tZW50LiBJbiBteSBsYXRlc3QgY2hhbmdlcywNCj4gPj4+IEkgaGF2ZSBpbnRy
b2R1Y2VkIGEgc3R1YiBmaWxlIGZvciBub24tRUZJIGFyY2hpdGVjdHVyZXMuDQo+ID4+PiBUaGUg
cmVhc29uIHdoeSB3ZSBkb24ndCB1c2UgYSBtYWNybyB0byBzdHViIHRoZSBoZWxwZXJzDQo+ID4+
PiBpbiBlZmkuaCBpcyB0aGF0LCBzb21lIGFyY2hpdGVjdHVyZXMgaGF2ZSBpbXBsZW1lbnRlZCBz
dHViDQo+ID4+PiBoZWxwZXJzIGluIHRoZWlyIHN0dWIuYy4gSWYgd2UgZGVmaW5lIHN0dWIgaGVs
cGVycyBpbg0KPiA+Pj4gZWZpLmgsIHRoaXMgd2lsbCBjYXVzZSBmdW5jdGlvbiByZWRlZmluaXRp
b24gZXJyb3IuIFdlIG5lZWQNCj4gPj4+IHRvIGZpeCB0aGlzIGVycm9yIGZvciBhbGwgYXJjaGl0
ZWN0dXJlcy4gQW5kIHNvbWUgaGVscGVycw0KPiA+Pj4gaXMgbm90IGVhc3kgdG8gaW1wbGVtZW50
IGFzIGEgaW5saW5lIGZ1bmN0aW9uIGluIGVmaS5oLg0KPiA+Pj4gU28gd2UgdXNlIHN0dWIgZmls
ZSBpbnN0ZWFkIG9mIHN0dWJpbmcgaW4gZWZpLmgNCj4gPj4NCj4gPj4gQnV0IHlvdSByZWFsaXpl
IHdlIGFscmVhZHkgaGF2ZSBzdWNoIGEgc3R1YiBmaWxlIG9uIHg4Nj8NCj4gPj4NCj4gPg0KPiA+
IFllcywgd2UgZm91bmQgdGhlIHJlZGVmaW5pdGlvbiBlcnJvcnMgdGhhdCBhcmUgY2F1c2VkIGJ5
IHg4NiBzdHViIGZpbGUNCj4gPiBhbmQgbmV3IG1hY3JvcyBpbiBzdHViLmguIFdlIGhhZCB0cmll
cyB0byBhZGQ6DQo+ID4gaWZlcSAoJChYRU5fQlVJTERfRUZJKSx5KQ0KPiA+IENGTEFHUy15ICs9
IC1EWEVOX0JVSUxEX0VGSQ0KPiA+IFhFTl9DRkxBR1MgKz0gLURYRU5fQlVJTERfRUZJDQo+ID4g
ZW5kaWYNCj4gPiB4ODYvTWFrZWZpbGUgdG8gZ2F0ZSB0aGVzZSBuZXcgbWFjcm9zLCBidXQgaXQg
c2VlbXMgdGhhdCB3ZSBtYXkgbmVlZA0KPiA+IHRvIGNoYW5nZSBFRkkgYnVpbGQgbG9naWMgZm9y
IHg4Ni4gSXQgd2lsbCBjYXVzZSBtb3JlIHJpc2tzIGZvciBtZS4NCj4gPiBTbyBJIHdhbnQgdG8g
aW50cm9kdWNlIGEgc2ltaWxhciBzdHViLmMgaW4gYXJjaC9hcm0uDQo+IA0KPiBXaGlsZSB0aGF0
J3MgcGVyaGFwcyBmaW5lLCBpZGVhbGx5IGNvbW1vbiBiaXRzIHdvdWxkIGJlIGNvbW1vbi4gSWly
Yw0KPiBhbHJlYWR5IGJhY2sgYXQgdGhlIHRpbWUgSSB3YXMgd29uZGVyaW5nIHdoeSBzdHViLmMg
aGFkIHRvIGJlIHg4Ni0NCj4gb25seS4NCg0KU29tZSBkdW1teSBmdW5jdGlvbnMgaW4gc3R1Yi5j
IGNhbiBiZSBzaGFyZWQgYnkgYXJtIG9yIG90aGVyIGFyY2hpdGVjdHVyZXMuDQpCdXQgc29tZSBm
dW5jdGlvbnMgbGlrZSBlZmlfbXVsdGlib290MiBhcmUgYXJjaGl0ZWN0dXJlIGRlcGVuZGVudC4N
Cg0KPiANCj4gSmFuDQoNCg==


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 09:27:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 09:27:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261358.452439 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD13x-0006Fv-Qj; Thu, 27 Jan 2022 09:27:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261358.452439; Thu, 27 Jan 2022 09: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 1nD13x-0006Fo-NM; Thu, 27 Jan 2022 09:27:29 +0000
Received: by outflank-mailman (input) for mailman id 261358;
 Thu, 27 Jan 2022 09:27:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=xPLH=SL=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1nD13w-0006FP-Ac
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 09:27:28 +0000
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur02on061c.outbound.protection.outlook.com
 [2a01:111:f400:fe05::61c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 57521676-7f53-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 10:27:27 +0100 (CET)
Received: from AM6PR05CA0029.eurprd05.prod.outlook.com (2603:10a6:20b:2e::42)
 by AM8PR08MB6323.eurprd08.prod.outlook.com (2603:10a6:20b:354::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.7; Thu, 27 Jan
 2022 09:27:25 +0000
Received: from AM5EUR03FT004.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:2e:cafe::44) by AM6PR05CA0029.outlook.office365.com
 (2603:10a6:20b:2e::42) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17 via Frontend
 Transport; Thu, 27 Jan 2022 09:27:25 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM5EUR03FT004.mail.protection.outlook.com (10.152.16.163) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4930.15 via Frontend Transport; Thu, 27 Jan 2022 09:27:24 +0000
Received: ("Tessian outbound 63bb5eb69ee8:v113");
 Thu, 27 Jan 2022 09:27:24 +0000
Received: from 7c1d755e4d63.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 5865D43E-CF78-4380-8901-6A876DD55D9B.1; 
 Thu, 27 Jan 2022 09:27:19 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 7c1d755e4d63.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 27 Jan 2022 09:27:19 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by DB8PR08MB4187.eurprd08.prod.outlook.com (2603:10a6:10:a5::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Thu, 27 Jan
 2022 09:27:15 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::4463:2795:6645:5dd0%7]) with mapi id 15.20.4909.017; Thu, 27 Jan 2022
 09:27:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 57521676-7f53-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9StqRPKe9C0ovEdHmfCHPIqa19prN36+omMW4Wnpe/E=;
 b=SrWjPzIQnDq/+ZzDMNMaf/QHMscVXN6a5xF3XKePlCRbrkw1+8RdSn3RglIgLEP+CyhnEtJoiiOrf18UrSYqaGdN6YqZHWeu0mtqNuq6tBq2oSk+G0vrtKmhAPwZzotoitxpR7Fj7CWiykHWy7fr2M4e+jKX7wh5lGZgEoEZxI8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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=VCIkc3ovlA5w9LMgxQhSUbVxYxa326RGbUhxQMnXUDJpoRlLyDjTHm9CW3oPWicODbhDeeaEO0wPwbZK5Kj9hQyGR12UDtpeEKS/Kh5TZPRG7HVb4Y33KGPTIkX6GgsXQnhp2MfNoR28rLl70QMcGXOI76CVU2FBah0eURSb8KgPMFvkmyEGJ48Pol8ldMN867CgKBynMlJIyRqp+fC25jZf4PyodianBGKZa/1nuVVecN9XNQmBo+KdsZOtFM4Nj3DnikORKllDZyGpShZx3nv1hbp7dYzTEnt98HFpd2oQVtQ3b6vNIcaykrDg2QfjlhT6WtFPJg5GT0SkF30DdA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9StqRPKe9C0ovEdHmfCHPIqa19prN36+omMW4Wnpe/E=;
 b=evfj7Bhw0MzRurZ6YJxXtguslt8REHurqAz6cbznH6vUA/yGXcOXn2RYq+iuVx/RLUuoxhQZ1PwA63IVVd7ELhrFqydiEcZSCeuXZqCSnkKlifiHQy8NYpc0zDOVwenzjZkJlSn2x3URM0hJGZHUPw4HURLmjotZl3PzU6F2S7/DkyEaw8ygJcHgx3FmovxZFylr0fw0gkvVEgkkQK2rrU5zNj9lpCfGBf+pI5q9et6/QlvcH52IxbXcfcq4Qo379d8YaApdPimN+NwOPWTuZnpVbyyTmmoEJFQ03Hg/PU4/3fK8TwgJPEDam8AIL8W01zey/jSR2U9P3vjk7/Xo0g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9StqRPKe9C0ovEdHmfCHPIqa19prN36+omMW4Wnpe/E=;
 b=SrWjPzIQnDq/+ZzDMNMaf/QHMscVXN6a5xF3XKePlCRbrkw1+8RdSn3RglIgLEP+CyhnEtJoiiOrf18UrSYqaGdN6YqZHWeu0mtqNuq6tBq2oSk+G0vrtKmhAPwZzotoitxpR7Fj7CWiykHWy7fr2M4e+jKX7wh5lGZgEoEZxI8=
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: [PATCH 12/37] xen/x86: decouple nodes_cover_memory from E820 map
Thread-Topic: [PATCH 12/37] xen/x86: decouple nodes_cover_memory from E820 map
Thread-Index:
 AQHXsHMWLK2Lk+nkCEuQGshEHTFFNqxzJoSAgAQcdmCAAAZJgIAADE6ggAAIWICAAAEtwA==
Date: Thu, 27 Jan 2022 09:27:15 +0000
Message-ID:
 <PAXPR08MB742087826533A5127BE073469E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-13-wei.chen@arm.com>
 <b6c16f31-b233-1493-aebb-716e087f5ca1@suse.com>
 <PAXPR08MB74209CAE2D594D22DFF14DDA9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <d4bb30f9-92a4-47ef-05bd-0ae1dacb3642@suse.com>
 <PAXPR08MB7420131F1D61587D251C05239E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <9ed21543-c299-12fc-a445-ed146fb59412@suse.com>
In-Reply-To: <9ed21543-c299-12fc-a445-ed146fb59412@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 06E64D65C1C6304985AAB2FFE1F62433.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 517ea070-56bc-4239-0ae5-08d9e1773a94
x-ms-traffictypediagnostic:
	DB8PR08MB4187:EE_|AM5EUR03FT004:EE_|AM8PR08MB6323:EE_
X-Microsoft-Antispam-PRVS:
	<AM8PR08MB632356FB5E03DBC0AFA51F409E219@AM8PR08MB6323.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:
 oj74yLNJ3KIa5JJrAGcDP2BV2kZ/mD94++Uttq4PZOJ9kKFNdYXn9nuLJho9yboWU7sUtmAF2d8YZ7ulAtf/N7z7GlxCYYqF2/TgNf35d64J6pheOK6mOhBjMnyrISZfVL7nY+nGr28aXltATVIK2xqo6ZedrKlwDd0csAfz+OHBzal9btLUU6lm3meoeEoneqDcGC3QbMwGeOJ3zkqQMrnIIRbAlAIT9a27MSnG/O7wtULdQmF014CkaGwFePh6aX0RX9Z9C8iejVD8jQc8Yk9VbIyXeYIFslUOIQU7Ui48Fwgj1nw5q7lxKNVFtHfEH26QevA9hsu9QhY3ZNjcDuJQjI19t1GKZMGb+seVmAHKzDYRDi2VSjnOC3bw4J5/oltxn8QFxcQUX7G7JKfrAvbAFYq2E5xv2g7ysC8tGO8qvJGAQ8mk4NsV7XHA1mHGMfRstu2yxVFS58PjpA1rN/VC+LkozfmqJZu/hIJg565PEix6G3eSZOKhuz1n+hlIqvScpf5m8xZe5EBBTjQg1auOtCxK9tE2Kv6hgPRDiI0/zy2LjmVRILksnL7D5EIN8MrWw358JDBmr2XRss0kGakWnsnm/uIzRfXvjHa3V62TBj/18V6pnVNLYujYSOQS8fOqcltxIJjxbR1KAq4TnMilIHC9c5hHWJyUpV8bBFkdgH+pZpsW4V0jwnjrnOwM494QpM7aAdqiIWarRNd16g==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(186003)(38100700002)(66556008)(64756008)(8676002)(66476007)(66446008)(2906002)(33656002)(8936002)(66946007)(5660300002)(4326008)(55016003)(26005)(52536014)(76116006)(54906003)(86362001)(9686003)(6916009)(83380400001)(508600001)(38070700005)(316002)(71200400001)(7696005)(122000001)(6506007)(53546011)(20210929001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB4187
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM5EUR03FT004.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	7e6646f7-32de-429b-4441-08d9e17734e1
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uBk15Y41a6VXApKvBxbIPiC2BuKRpknvGHCDB0i/v5bqUsYeIo1LLecnWhH1GdBnK57H0SrUdRAUoKjeFVhB8sNR9tSwO+Al4kHM2eJwCq1Bg6LfAP9vSvRfuhuuoOZ/PwMspDozu1Nk7nSwNpHsOnvlKMiQEdf9L7Vu9t2cAXOesvXId+/T4XVgtf7GK5r1c2TBFCgasfvSf/WiKeK6OruYjoRTm4s0pjAXE3WgBpULR/DcHaQD2lmGbrmvyygTQpzRyr12PJD1DKiDqEG8FLYxQiigwA4FS1kq+vVO6+F3fMcDmLh+EDYqcj0JLDFdCZM+ne/6YFEeW+uCGmjBR274P6CPzp5wkwPLsserYUyZB/0cXH4NtZQiPLKAHM0yZc98M+EHJ4XA3Y8K0Sm0/KB9nS/SaS54Y8O9AFcNyk4KgeQMDOj+CcC6Zev/d5mPIh/uPks2Neg2FV9qD2+rr4as3UW2j4AzdQrpAXS7jUhP2DAMEolubnehw58AI1bSs2IbfY96rpceDAI7N2pCEuJsGV6A2loTiK/t27+Ovu32y9W71TlUqnL+LNzKV0v0RDmibiYQKw72qM5VIYXNnB7vDK/BJPghaj978trzMMvsrR3fUnGjOPHNRWBvYxMj5WiOmPbEU9FMFjxRmO4ZVXbayWIgxv48Cc33tZgOd6QOf5xde/7TYH2DbJsPQFEZ7oqrBikHy7oTvE3Osd+vhxf0Ta46Tu1rCgIlGfxLRd2VgTnaQIiSri274m3jV1czZYxusItUWICNyHS5imGskA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;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)(40470700004)(36840700001)(7696005)(26005)(6506007)(40460700003)(316002)(86362001)(336012)(47076005)(8676002)(53546011)(6862004)(186003)(36860700001)(2906002)(4326008)(8936002)(33656002)(81166007)(9686003)(356005)(82310400004)(55016003)(54906003)(70206006)(52536014)(83380400001)(508600001)(5660300002)(70586007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 09:27:24.9305
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 517ea070-56bc-4239-0ae5-08d9e1773a94
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM5EUR03FT004.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6323

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMuW5tDHmnIgyN+aXpSAxNzoyMg0K
PiBUbzogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+DQo+IENjOiBCZXJ0cmFuZCBNYXJxdWlz
IDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+OyB4ZW4tDQo+IGRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnOyBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBqdWxpZW5AeGVuLm9yZw0KPiBTdWJqZWN0
OiBSZTogW1BBVENIIDEyLzM3XSB4ZW4veDg2OiBkZWNvdXBsZSBub2Rlc19jb3Zlcl9tZW1vcnkg
ZnJvbSBFODIwDQo+IG1hcA0KPiANCj4gT24gMjcuMDEuMjAyMiAxMDowMywgV2VpIENoZW4gd3Jv
dGU6DQo+ID4+IEZyb206IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gPj4gU2Vu
dDogMjAyMuW5tDHmnIgyN+aXpSAxNjowOQ0KPiA+Pg0KPiA+PiBPbiAyNy4wMS4yMDIyIDA5OjAz
LCBXZWkgQ2hlbiB3cm90ZToNCj4gPj4+PiBGcm9tOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz
ZS5jb20+DQo+ID4+Pj4gU2VudDogMjAyMuW5tDHmnIgyNeaXpSAwOjU5DQo+ID4+Pj4NCj4gPj4+
PiBPbiAyMy4wOS4yMDIxIDE0OjAyLCBXZWkgQ2hlbiB3cm90ZToNCj4gPj4+Pj4gV2Ugd2lsbCBy
ZXVzZSBub2Rlc19jb3Zlcl9tZW1vcnkgZm9yIEFybSB0byBjaGVjayBpdHMgYm9vdG1lbQ0KPiA+
Pj4+PiBpbmZvLiBTbyB3ZSBpbnRyb2R1Y2UgdHdvIGFyY2ggaGVscGVycyB0byBnZXQgbWVtb3J5
IG1hcCdzDQo+ID4+Pj4+IGVudHJ5IG51bWJlciBhbmQgc3BlY2lmaWVkIGVudHJ5J3MgcmFuZ2U6
DQo+ID4+Pj4+ICAgICBhcmNoX2dldF9tZW1vcnlfYmFua19udW1iZXINCj4gPj4+Pj4gICAgIGFy
Y2hfZ2V0X21lbW9yeV9iYW5rX3JhbmdlDQo+ID4+Pj4NCj4gPj4+PiBJJ20gc29ycnksIGJ1dCBw
ZXJzb25hbGx5IEkgc2VlIG5vIHdheSBmb3IgeW91IHRvIGludHJvZHVjZSB0aGUgdGVybQ0KPiA+
Pj4+ICJtZW1vcnkgYmFuayIgaW50byB4ODYgY29kZS4NCj4gPj4+DQo+ID4+PiBJbiBteSBsYXRl
c3QgY2hhbmdlcywgSSBoYXZlIHVwZGF0ZWQgdGhlc2UgdHdvIGhlbHBlcnMgdG86DQo+ID4+PiB1
aW50MzJfdCBfX2luaXQgYXJjaF9tZW1pbmZvX2dldF9ucl9iYW5rKHZvaWQpDQo+ID4+PiBfX2lu
aXQgYXJjaF9tZW1pbmZvX2dldF9yYW1fYmFua19yYW5nZSguLi4pDQo+ID4+PiBJIGFtIHNvcnJ5
LCBJIGZvcmdvdCB0byBjaGFuZ2UgdGhlIGNvbW1pdCBsb2cgYWNjb3JkaW5nbHkuDQo+ID4+PiBJ
IHdpbGwgdXBkYXRlIGl0IGluIG5leHQgdmVyc2lvbi4NCj4gPj4NCj4gPj4gSSdtIHNvcnJ5IGZv
ciB0aGUgYW1iaWd1aXR5IG9mIG15IGVhcmxpZXIgcmVwbHksIGJ1dCBteSBvYmplY3Rpb24gd2Fz
DQo+ID4+IGFnYWluc3QgImJhbmsiLCBub3QgIm1lbW9yeSIuIEFzIGFuIGFzaWRlLCB5b3UgYWxz
byBkb24ndCB3YW50IHRoZQ0KPiA+DQo+ID4gSG93IGFib3V0IGFyY2hfbWVtaW5mb19nZXRfbnJf
bWFwLyBhcmNoX21lbWluZm9fZ2V0X21hcF9yYW5nZT8NCj4gPiBJIGFtIHNvcnJ5LCBJIGFtIG5v
dCB2ZXJ5IGZhbWlsaWFyIHdpdGggZTgyMCBtYXAsIGNvdWxkIHlvdQ0KPiA+IGdpdmUgbWUgc29t
ZSBzdWdnZXN0aW9ucz8NCj4gDQo+IEZpcnN0IG9mIGFsbCBJIGRvbid0IHRoaW5rIHlvdSBuZWVk
IGEgImdldF9uciIgZnVuY3Rpb24gYXQgYWxsLCB3aGljaA0KPiBlbGltaW5hdGVzIHRoZSBuZWVk
IHRvIGZpbmQgYSBnb29kIG5hbWUgZm9yIGl0LiBUaGUgImdldF9yYW5nZSIgZnVuY3Rpb24NCj4g
Y2FuIGVhc2lseSBwcm92aWRlIGJhY2sgYSB1bmlxdWUgaW5kaWNhdG9yIHdoZW4gdGhlIHBhc3Nl
ZCBpbiBpbmRleCBpcw0KPiBiZXlvbmQgdGhlIG51bWJlciBvZiByZWdpb25zLiBGb3IgdGhpcyBm
dW5jdGlvbidzIG5hbWUsIGhvdyBhYm91dA0KPiBhcmNoX2dldF9tZW1vcnlfbWFwKCkgb3IgYXJj
aF9nZXRfbWVtb3J5X21hcF9ibG9jaygpIG9yDQo+IGFyY2hfZ2V0X21lbW9yeV9tYXBfcmFuZ2Uo
KSAoaW4gb3JkZXIgb2YgbXkgcGVyc29uYWwgcHJlZmVyZW5jZSk/DQo+IA0KDQpUaGFua3MsIEkg
d2lsbCB0cnkgdG8gdXNlIGFyY2hfZ2V0X21lbW9yeV9tYXAgZm9yIHg4NiBhbmQgYXJtLg0KDQo+
IEphbg0KDQo=


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 09:28:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 09:28:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261362.452450 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD14V-0006qk-9F; Thu, 27 Jan 2022 09:28:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261362.452450; Thu, 27 Jan 2022 09: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 1nD14V-0006qd-5F; Thu, 27 Jan 2022 09:28:03 +0000
Received: by outflank-mailman (input) for mailman id 261362;
 Thu, 27 Jan 2022 09:28:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD14T-0006FP-U7
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 09:28:02 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6bdf1964-7f53-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 10:28:01 +0100 (CET)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2056.outbound.protection.outlook.com [104.47.13.56]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-9-_rJbMt-uNI2ggUu_NnutzQ-1; Thu, 27 Jan 2022 10:27:59 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM0PR04MB7170.eurprd04.prod.outlook.com (2603:10a6:208:191::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 09:27:58 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 09:27: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: 6bdf1964-7f53-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643275681;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=W/5k5Xfd3dQOo/Z7xXpJLuCFx/nll2F3if04cciYiyk=;
	b=B87IwNV5+GWWR4EtwqT0M4+02fmFuLem0QnM41MiedOqk2pGbJ+mrKMVPgO4/Oa1Qc6zYx
	WM/0k3tEJuXktse/FlsvQb48/XK/XA2vDCB26h9GtDirlhH5s+hbgjC+awWMWptzpx3R4m
	VWaLWXtu/U1B1VTztdDPYlz9pZRiDFA=
X-MC-Unique: _rJbMt-uNI2ggUu_NnutzQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aUAzvDcp8MOJuQhlTmKToADnfl7w9bqfPfWppLZJvsmopxmjyiF5FLgVSZ8dfktWXNrzpNRk0hm5Jz6QLYOwj6NzkNVcdpg8rHHLbMrV/jeI2tsm8OB9/Q24vvWZU4OzNwz6Ipu1oc0YdXT74jJ/spCpMGqycWWeb6XZHqjMfMteLdYY5y5XH1IIRGgjx39Zvv98QZrQLeMT8gHCRtuiHkKs9EEIUSATsGtsO9iXV7QslMEum9Yknew7kLkzBI7dJfW2mFaT4JV5Z7u/j7YImlrcA+sf+USpK90BdYxh5AYcRxYpwI/I+/K0w1ZgEz1lzByuVVSxN8HVBAvfEqiUkg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uAJMKBzHmpJiyKX99hTGyy4QJF5IOpcj1B8d/meTB1o=;
 b=JBSBBEtaAb4N+qIV77youN/sKdpz+hWOI6+FY3jb1Em4TnDyODb+b8OPYUPtOSFcKps+ygXS+zPdMsCP9qtovVLRY8YT8KDdd2Q8Rn28BCe18Du64w8vLCcwIrupqpXNiSjWlAK95Q4zGuq65E5GVuoTSryAWJKQM6+PODAN7I0AYRDCJyUoz+CBwdVtVWxNmIJ1VylFivjyorBiSbK6/9pMDjxHvhG08YfVN3mfX2e0aAKHKFahDv3oZU0R89bnJxe0hpjTFKE4UnR9KmX5FEZNFnADHhH4TMYoicE8AQQ+CKkx/takBz+aco2tf64wUUmfUe35hmgFNllYWrsbyA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <677bb034-242d-e9ce-00ce-57e7214fd4cc@suse.com>
Date: Thu, 27 Jan 2022 10:27:56 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 20/37] xen: introduce CONFIG_EFI to stub API for non-EFI
 architecture
Content-Language: en-US
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: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-21-wei.chen@arm.com>
 <d80da027-93ac-4819-ef7a-f3fd8592e443@suse.com>
 <PAXPR08MB7420AC9A05A6118642F544BD9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <PAXPR08MB7420252BFA15D032BDDF2F4A9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <e135adab-8b21-8dc0-2518-e505a59feb9f@suse.com>
 <PAXPR08MB7420EF1360C2E1D63D278A1B9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <b274899d-55f5-1851-82e6-69898d53e726@suse.com>
 <PAXPR08MB74205D98C454993DCFAE4FFC9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <PAXPR08MB74205D98C454993DCFAE4FFC9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM6P192CA0039.EURP192.PROD.OUTLOOK.COM
 (2603:10a6:209:82::16) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9a4bd808-fa7d-47bf-6691-08d9e1774e2f
X-MS-TrafficTypeDiagnostic: AM0PR04MB7170:EE_
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB71702DB47FFAF62721FB5FFEB3219@AM0PR04MB7170.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:
	MTOUK4VlqJco3ZvNuCc8yEaTsqpoiahLM3SyWjygH/1eohvA1sFidvdqXdjYfAZ1+oU9ggOBm95oLUHVm2xm2pkXXyMfunMT295IJ28cTR111Y9lUMoOiexrQJfg4fMLxV41Q+EqConjX0fAkMAcy2wVz2CD+g+K/wSC3D99miBWnV6Dk7+9/Z4m7SV5arb9zzvwYLy0vvO4Mkt2222982t9ILy8WmGKkRbW/1VKjSUl4qzgcdveA2fFsFTIf4zeVouBpNpkFfKYDfK4HKU/vin+buY1CeLJJqUHVwQfjYtX2wFg8l+dT7xykkbzDHJaT4KF34G2FO3vJnL2UPsRI357MbU3B8I/l1T9C+tzT7QRJ4zyMo8CBfSCOBz9IbP+pwU5ncGtkkkpPyqZnkVyjGgZ2EM0LQnvb4bq+dCBJyaQiy9IXx7ZWL0Ywx5h571ApVqBACLPxK8GDqvLOXbPj4niJvKDIM4Zr8Ygm+eFvM+CJGT/g1JPglqPokgBfcqI69StBiUpiv+O2hj5d1C6mJe6AqD6uk9ni0odu7K5a1gjGp4Nq28vyYfImRIEEAfo1jpOLAym2nfJtyDZHNbuFFJ6I23actfMwBnXXuDKksVH1EyQEEwxFDKxLM+mNDlfy6LZaRjO6lNsszwCPfds4lUFME3kNuMKENYKuqrSpmpBbCJD2+k5R/q13ngyoHZAYoPKMgpCO+rpn43KcpebZ/LbnpFH6xCmb/Efh0NAVgs=
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:(13230001)(366004)(36756003)(6916009)(54906003)(8676002)(316002)(31696002)(4326008)(66556008)(66476007)(5660300002)(66946007)(8936002)(38100700002)(31686004)(6486002)(2616005)(26005)(186003)(86362001)(508600001)(53546011)(2906002)(6506007)(6512007)(83380400001)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?g0kptFLE8XdHx2F61skXIdHR/OgLwM2u2FJLsOx5hXfu8bJYRJy+yztE5YF6?=
 =?us-ascii?Q?FJGD4pynV9V3hX32M0TeZnr2+TS7cbG7eKZ6aU1mYW5tusGLN3XSZJ7oetLE?=
 =?us-ascii?Q?STMocgSyVO5oRFfqPAELrOoKUvgbd9CoiLkWnUCcmMCwh5mrj0CZQE9NctjY?=
 =?us-ascii?Q?5YUK7nUwDwI8a7hywuq6UL+6qDjff643PGRrawNhjQNKg/oSL24+HFlRp2BF?=
 =?us-ascii?Q?4r5Mmk0OeeEn3niZ3Ltg6k/gPKLZLlZ2q7eilm2DG20SnvdWlTBEhvbKnlCr?=
 =?us-ascii?Q?7UQk16FEuDrqFEjREBllPZO6uSgped/P9nEKHQUB2yY6FeDEDI7oXfgz1NPa?=
 =?us-ascii?Q?Rz0IhmIyKbOGDaLz9bdg7TJUSNChHyhLIkj4EZLryqH/neUd1EusF/GNUD7A?=
 =?us-ascii?Q?DnRYOZB/rlIFovpctAhnkYN0TLgIndIAGtWquOflKLC45MyNh/2smREKvIUT?=
 =?us-ascii?Q?ftn4k4N5nMAGU/XbG48KaDAFvAhgA7jitOyHi96A/+g7GZSdxW6AXcPE9V5b?=
 =?us-ascii?Q?0G4ztzWDGWWt2Cta+bcSxZkVD3zQvM9AJAPlnvKxwBmHSOieRqbAuV8stnFJ?=
 =?us-ascii?Q?D+sm3llulTfQnQTnZgXQhE3vYNvykgml5ID7HRXPj5k5C2Ym8qzPHzWsHewp?=
 =?us-ascii?Q?gKssbU+Qf547TSg06MhTZmbo5CSEHvu3x2YeFSXMMA0ABUYHqMV7T4EIonFn?=
 =?us-ascii?Q?rg0XFe0q7g4RlLRDDbBFA7MvExWk1pH5rCPFvx1NzDGbgT9ZxY/Ph5DQyMNC?=
 =?us-ascii?Q?HTPlbc4XlAIUZgztYW7MgZpGMqfOJLpaRatGnrwrp05gIZ1vvZ7/8EdrsVub?=
 =?us-ascii?Q?88N4FGGeVd1EgxSg6z6ts409j4aG/XOf9f4/l8rQfKe53j3qWrHHVGOcPYTk?=
 =?us-ascii?Q?G38gae51b96iVlqxqFTRnt3UkEYOuPOM+4j6k0rL/sV9YsO0nMJX+a6M6X2x?=
 =?us-ascii?Q?THghFgN8nzUjXow6tY3lIem34YePGImlE8gjXM8ztwu36fCiwXbRhOTqCm0f?=
 =?us-ascii?Q?Fnjo2yk8XWhBvB06r24QE6+SCjp8G9XaYxtyCeiYT/4UtezOOHxokHLFQDfy?=
 =?us-ascii?Q?a2GrMnMEiesgYGSHsQXAwSEciSJir/WJM2tG7SKp3T8aLF5PZSJ6KvK+f26z?=
 =?us-ascii?Q?pjx+7cgA+WfacU7kyNazo+9GjbbADskE9rhotDltNrnePCEDUOvAwTK3DRTo?=
 =?us-ascii?Q?2FS53d8PIPChqYkocBq8Ev36z/Y053qQaAfvjW/LvVzTdcsOw/6yYI5UhH15?=
 =?us-ascii?Q?0l64QGKSxJt6PyPxXWfHRt/jKA/7JOfmONmuTeOFds2cgvPW4neqIxa7ZPja?=
 =?us-ascii?Q?ikM1tPworTz20e3H5DNaxoDZO2vzfOPVqBj81qD8a7W3kgoDWzYLhd8EhOoz?=
 =?us-ascii?Q?kElLMfSVweaM1Uq1TV2PDENbSL+UC3rlaK98VRAATfF/N5W1LGZkQzLF4xMO?=
 =?us-ascii?Q?f7q+Dy2WuSxcdMoF5UJeVO2hqgPN4WQ3WQ9LdfTLxaGSFPWagJCY2L67a5m6?=
 =?us-ascii?Q?dQ3c998nMYUa/z6PSwJEDLmTO/gH+QgLND5TU/e+AOtrCsj17zjDGB1f7k0d?=
 =?us-ascii?Q?tvC7uDZQizyhIGGPLydPqbBhEoWHm6hnEtFbKt71oqI2K3m3v48zZTGdn8HJ?=
 =?us-ascii?Q?0v266xapI1OepXroNNYKDuc=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9a4bd808-fa7d-47bf-6691-08d9e1774e2f
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 09:27:57.9972
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ngU4dHdbv/x5tju0wI492YrB01uY1RdMkvhlOqv2k3gFSBoe9NPzF/WJCpKZl8LgaYD73MTQN3T0fTjz9uQgtA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB7170

On 27.01.2022 10:25, Wei Chen wrote:
>> From: Jan Beulich <jbeulich@suse.com>
>> Sent: 2022=E5=B9=B41=E6=9C=8827=E6=97=A5 17:17
>>
>> On 27.01.2022 10:09, Wei Chen wrote:
>>>> From: Jan Beulich <jbeulich@suse.com>
>>>> Sent: 2022=E5=B9=B41=E6=9C=8827=E6=97=A5 17:00
>>>>
>>>> But you realize we already have such a stub file on x86?
>>>>
>>>
>>> Yes, we found the redefinition errors that are caused by x86 stub file
>>> and new macros in stub.h. We had tries to add:
>>> ifeq ($(XEN_BUILD_EFI),y)
>>> CFLAGS-y +=3D -DXEN_BUILD_EFI
>>> XEN_CFLAGS +=3D -DXEN_BUILD_EFI
>>> endif
>>> x86/Makefile to gate these new macros, but it seems that we may need
>>> to change EFI build logic for x86. It will cause more risks for me.
>>> So I want to introduce a similar stub.c in arch/arm.
>>
>> While that's perhaps fine, ideally common bits would be common. Iirc
>> already back at the time I was wondering why stub.c had to be x86-
>> only.
>=20
> Some dummy functions in stub.c can be shared by arm or other architecture=
s.
> But some functions like efi_multiboot2 are architecture dependent.

Right - that's no different from the bulk of the non-stubbed EFI code.
I don't really mind you making an Arm-specific stub file if there's
not very much duplication, but it doesn't feel very good. In the end
it's up to the Arm maintainers anyway.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 09:30:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 09:30:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261367.452461 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD16P-0007YU-LG; Thu, 27 Jan 2022 09:30:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261367.452461; Thu, 27 Jan 2022 09: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 1nD16P-0007YL-HQ; Thu, 27 Jan 2022 09:30:01 +0000
Received: by outflank-mailman (input) for mailman id 261367;
 Thu, 27 Jan 2022 09:30: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 1nD16O-0007Ul-BZ; Thu, 27 Jan 2022 09:30: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 1nD16O-00042h-7g; Thu, 27 Jan 2022 09:30: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 1nD16N-0004rs-Mq; Thu, 27 Jan 2022 09:29:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nD16N-0007KO-MP; Thu, 27 Jan 2022 09:29: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=C0ywFECETa89D+dPDhbXnXtt2xoggdEqOnB1PKTD1JU=; b=Y20gFgoRCRN1G8XgIZO37ChZz4
	EQzpJBchx8KUOFlUVf86wRJY4PufeyF5n+vfDzcgPlsHqXUm1J5c/wspz6KyDWKXV1nio3DizohXK
	80fHRTxVatn/VYaekYbvtvYG/gW5Bfmyk0RHenalZ2zIB0zQ8+WA5zBM2DKfFJ6D55ZI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167894-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 167894: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.16-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=8abb345e6b5c11b79d1a032533130ea6c5519435
X-Osstest-Versions-That:
    xen=243026a2c5ad64c05281dc8ed2f1f57c0ee5988c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 27 Jan 2022 09:29:59 +0000

flight 167894 xen-4.16-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167894/

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 167620
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167620
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167620
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167620
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167620
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167620
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167620
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167620
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167620
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167620
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167620
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167620
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  8abb345e6b5c11b79d1a032533130ea6c5519435
baseline version:
 xen                  243026a2c5ad64c05281dc8ed2f1f57c0ee5988c

Last test of basis   167620  2022-01-06 13:39:16 Z   20 days
Failing since        167814  2022-01-25 13:06:50 Z    1 days    3 attempts
Testing same since   167894  2022-01-26 17:11:33 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>
  Julien Grall <jgrall@amazon.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   243026a2c5..8abb345e6b  8abb345e6b5c11b79d1a032533130ea6c5519435 -> stable-4.16


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 09:33:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 09:33:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261378.452484 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD19p-0000fc-Ef; Thu, 27 Jan 2022 09:33:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261378.452484; Thu, 27 Jan 2022 09:33:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD19p-0000fV-Bc; Thu, 27 Jan 2022 09:33:33 +0000
Received: by outflank-mailman (input) for mailman id 261378;
 Thu, 27 Jan 2022 09:33:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD19n-0000ev-Ux
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 09:33:31 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 306ddaad-7f54-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 10:33:31 +0100 (CET)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2173.outbound.protection.outlook.com [104.47.17.173]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-2-CuS1CkAlOCaQhpi4Q1up5g-1; Thu, 27 Jan 2022 10:33:29 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DBBPR04MB6028.eurprd04.prod.outlook.com (2603:10a6:10:c1::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 09:33:28 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 09:33:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 306ddaad-7f54-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643276010;
	h=from:from:reply-to:subject:subject: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=e2G6HEvqgyZzbhWrZsOHHJdpAi/p7XJLGVvl/WIrZNs=;
	b=YTz85ygEEeLYsFRhuBm070rIWOcQxtH4m9FAzdopHSnZiAoc/ZMEx32AjGSUQc1vauGrY4
	PcxRNiBFPGXVMcplxYVjxWwUSAvxDwvNl3HhLtM4gbsuMnOxXaQHnfXCM4ZMZovdfec/zI
	A6S2+BZ59cMoNjrNohS88VllNC2F/Ms=
X-MC-Unique: CuS1CkAlOCaQhpi4Q1up5g-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZfcmPqcLxcQqGMtf3HZ4j+tro6dXrfs3fFgcqp36uk8EU67ARKwA43GBwM7aNHbXP5jUUUXPblG1ZK+3bXzP7rWdg/QjD5u+woGRXZL+y2PL5H8Avxo8cMj9s124CPl6/PRYZk8KpESW6B6pZFCO1Edop9e3/h/lr6DHMaopzlG6g0W5hvyT/GNqcy7Q9TflqqmW1SZS8MdWKY+DGHHZbHD+oamVAwxpWtozGwG59EeoyF7TxKmI0lyZmM6b/sqTxwqyh5X+RthBxuDT0uMFRWnZPQy0jXjulvcxXOUdmVGoL5zeO6fkQRF5G9CKIi2GhfWAYlX2DEoFASmAY0Bvuw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=e2G6HEvqgyZzbhWrZsOHHJdpAi/p7XJLGVvl/WIrZNs=;
 b=WbtCroGrRbgEeEPvllovmQprbhEwMsISpI8nq5uNizc09yGOq5kk71XI7n4aYiSUdfi/GmPSEXQ/Dy2+ob9p8Tbl8gvZ2ZXQI1a4JdmThDlHUN2hBJM80AXifioMGKW9mI6gf/APrXtWF3a1xROi1U1v0MoprmcdMj7AsijOm6bfgHMhOQf7/WUCc1H7myLMApcqZJqNohXiyxRwtFzBwdTY+mNAaKwTJV02tEAFtPS4R3jNxeubfE3DL4OZ/YJc2/hN+7I2wuz95S0uAOxZT67GfB1tkoO2JRrbRmf5tAAm0r4JViAIWu9Kdqgg3O7wXuJNOhlhZCxPQ6gIznhhzA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f1ed128d-839d-c0bb-5a1a-4dc96d65cec7@suse.com>
Date: Thu, 27 Jan 2022 10:33:26 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] tools/xen-cpuid: drop "amd-" prefixes from strings
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM7PR04CA0019.eurprd04.prod.outlook.com
 (2603:10a6:20b:110::29) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: acebe687-44ad-42b8-48ce-08d9e17812de
X-MS-TrafficTypeDiagnostic: DBBPR04MB6028:EE_
X-Microsoft-Antispam-PRVS:
	<DBBPR04MB60282D48C7EC94CFB33C975BB3219@DBBPR04MB6028.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:
	sgK4MJ1bnMMNSeTc8M21Li5cwtGwiSbBbr1BCA3l9znw3LXXUyKtb3Qe6XhruzQNOY4t4npLOtNu/8HYzGvp4vEmoSB91snojD30HuniSqN09f+Goy0pGgjukdGwR9CLw+3i0ypmRm9DGXCyETSGOiqpisht4vAd6r+uQ6+5LtbWnWn/RjbAeg9jHzyIea4LGx56aN3LmRUXwg0Mk2WB4tpmko8QMu/L1osGLZ/s8pCC6EByKC0kpVgQOZpOfma4Rcx94H7yDpPOvpvDdT2lpj1HeXtOmkBPQMEviwdTpE8zcJ076a0r9ubLOO1XYZng+yeiY4bBH9GxwkbvI1BLIIUmU+eKUQcz8YgFdGu++/R65x9eEQlajHGcvdwmrI4JuPSg+CerX1yQY3I1eswFwwFBJ5jUX2hFB9Hj3kdbr4KW5Ygmw0akpcyV6s0rqQ0n51t7/9Elk1aPGd3pHx8HCsAQy9FvdNs9Gb++nj6XzcXTippRRkYWzFpowY/QcHcx5K0k59JU4N7D9zl+za4uM6x06wh1Mc7lNjWct00xbfzBcXIeCuX551+jevEFcv3/pKCNL1AFgc6OZceRdKsllkeg+NuaQNfZuN1jvoxaV22/bFn+t7vOrYCBgK3ecJUjPq15cEfkTD1MCOrj6v6vh0lPo9D71+rRkDymjbxZ8lTXbOa7l4UD2/fIl9vsUZUu7+TbGLOV7zWI2ZmakRjiVMgvS8RW3Lvac30u5y41wjs=
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:(13230001)(366004)(8676002)(66946007)(66476007)(6486002)(66556008)(8936002)(31696002)(4744005)(86362001)(5660300002)(4326008)(2906002)(6916009)(2616005)(54906003)(31686004)(186003)(26005)(36756003)(6512007)(508600001)(83380400001)(6506007)(316002)(38100700002)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eWVJcWlvdW5SUDJMV05VSDNpZGkrT0phbGthWGFkcnlEVlIwODVhaG9PYW0x?=
 =?utf-8?B?SE5RbHBNL0taSTVGWEt6VkhldVJBNmphVWt4aTBkRDFuSlU3b2NQUkp6STNS?=
 =?utf-8?B?N0hpYlBxd0Zsc1lzTU9BalNUZVRiNVIwd2lvQi8xV3BIb21sanpLeGFKSStC?=
 =?utf-8?B?QjRnNEZMT3FPQmpKWVdTSHFSWFBHY0NCY3dZdGJRZlk0dVBPRzdFa3RQYzhr?=
 =?utf-8?B?ZkRlcmlocWltQVlHY0ZlR24rZ1FMVlJRSHJEaUZuc0dCM1ZYL0JsZ3RXSkhI?=
 =?utf-8?B?OTM5amV3dy9jZlF5NjAvQXZrZkNQWFFaVTk5VzZ4M3BYRnRKMTU1MDh0aFRj?=
 =?utf-8?B?MFloOXQxa1dJUjI1K1pHZUFzYkNRajlSdG9teThaUVh0Y1Vpb2NiQlI0enNa?=
 =?utf-8?B?bklmTkFvRXV2T1dIdXBPTnVMUEZKRktucUVXZVhwSHlpK2h0N1ZMZngvS05v?=
 =?utf-8?B?N0pnWWc2ZHdxYzQvQ0s3dXVYYzdsc1h1M2FBRkZEdURFQ0U5S01BRERDM2tK?=
 =?utf-8?B?aEc1cU9KYmpPSEFiYytDOVpDbzMweHdWVVpCWGJQbTFLbkppMElDaTdPZWMw?=
 =?utf-8?B?QXpmZVZnYytQWnRveklndWZ6Z1B2RTF6L1VwbGQyRmY0bHZUSDFZc1J6Qk9D?=
 =?utf-8?B?RDI2a2l0RVN6dE5JUWZiTjVoL29XUnlJVXl1L2hoU3BXNmllVzZ4YjZwWU1u?=
 =?utf-8?B?TG1MaDhSRm14YVZuTjNFUUo2UVBKcmlDcUNkMGhnekRTSkZMWjVONkN2bDBU?=
 =?utf-8?B?QTB6WWs5Q3VEVkZwVkRDT2JWUWZDQjZyVlYzSUNxSHJkWVkvTFk4YjVZRVcx?=
 =?utf-8?B?eGlPcTJQRSs4dWNySG13V3VqdmtDMnhOSFNPblRLaUd1Y1AvdWpJRHdFbW8r?=
 =?utf-8?B?WUY0VGFSU0hmZHlOUDNCK1h6VFVjNHZmV1pTTkZHeE1XVWxTY0c1MWRjSm9a?=
 =?utf-8?B?MFZQdjRMMyswLy9mSzZHNEN5aDh3bU9ldnJoVEtlano1TVB3LzZYTGpmaVVY?=
 =?utf-8?B?UVk3OTRxamZVdi84dm9ITUxNUERXYnhITnIwTWtIUnEwK0RqeUE5VVgxQzI5?=
 =?utf-8?B?dXhoQmdaand6b3QvbVJ1VU5JMWhrR1ZIVmxDc0EyTjdtTklINytDY1ZUNnpD?=
 =?utf-8?B?Vnozcm1MTmR0YmtIWjFnTU9Ta0txZmVNaHEySCtYMHlMVEUzUENobVd2bGx4?=
 =?utf-8?B?NE1BZDRrdnlpNWVaYlhIeHN3V1pDZ05xNXVIbkVzeWdSWEZvdlZDdkZnNDRi?=
 =?utf-8?B?YlVudFhzWVg2V1ZEV1kwNUV2dTlrOWo1NTE4L0pGblJxcWx3K25yQTRSN2l3?=
 =?utf-8?B?TG1ocE9CWmNoU3B4cWYzVEFuTk11K1cxY0RKbWN6elVsV0I1T2IyTlB5b2w4?=
 =?utf-8?B?dDhDTUcrSWlwdlVxQlN4SFRrWDFpenBJRVFGbzVwRkZYSnZ5VUZVK055dHJw?=
 =?utf-8?B?Sm5KSituaFhPaUVVSG12OVMwYnQ4eWVHVko4c0wyUkJTUEVIOVg4TnV5bWlR?=
 =?utf-8?B?N0Y1c2c3M3IwdkdOdytiZlZERGcrR2dJS1JBb0RJY09ldm9PeUh1Wk9CUUNz?=
 =?utf-8?B?ZTlIcXkxckI0WkNjRzB4a241OG50RlB2cjU5WThwa1FLK0hVdEZwbmxvdkFW?=
 =?utf-8?B?dE5uOGF5Z0VZdUEvL2d3Q1M0TElWQzFLS1p6NHdxdXQ5b3M4NGZXcldJMk01?=
 =?utf-8?B?YXRNbE8wa3c4dHJuS1l2dFhxVjcxZitodS9NMTdtUFUrVVc4YUFKQlRVcFh1?=
 =?utf-8?B?RnNDaEhSZXE3Wm5mSGYwZW1TdXdnWW93VTAxQlltK2ZvSnRFb0NvV1B5dlZ0?=
 =?utf-8?B?SUJZbExraE1YemFBU2VKK3JOZnYrY2hFUkJ1REV0YkFGanBWY2pzamloTUdj?=
 =?utf-8?B?VEZYd1Z3ckx4VXh3SGd2K0dNYnl2cTdXeW9VbnZkM2ZJa3ZXanpaTFFtZ0Rn?=
 =?utf-8?B?a3ptdlFOU2ZoV1pBdWQydUsvYnZLamNFdXhwTlB4K09iMGtBK2Q2c09qUWVn?=
 =?utf-8?B?WFFsc0JYQm45Zy9RTkI5TkpVdEhyWjJUN3RMSC9xbEw1aWQxNk53RGE1MTlN?=
 =?utf-8?B?MzBORG1NNzF1QjVZOVYxWUJINDZDZmlGdnRBdUdkOHRQWFFqRDR1MytLV3Vx?=
 =?utf-8?B?ZXhXT2cvT2h0YnlwaC80QURqMnkyUFZnUHdaTEh4Um5NdXd4WU90TkJuZHNO?=
 =?utf-8?Q?7yjxdg9VLjc0dLY9+IgH/oE=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: acebe687-44ad-42b8-48ce-08d9e17812de
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 09:33:27.9768
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /v2xn2PmGIsMg8/7POj7Z8FyMd5zTe5OHY4jkHFo4dvn4vvpFdMbcKtFU1k/OVRxg8YNMjYw2B9rrNNL8RG/mQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB6028

Andrew says "Given the AMD MSR_SPEC_CTRL series just posted, use of
CPUID bits will often be symmetrical and it's awkward to have one or
with a prefix and the other without." Let's drop the two prefixes of
this kind that we have.

Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v3: New.

--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -152,13 +152,13 @@ static const char *const str_e8b[32] =
     /* [ 8] */                 [ 9] = "wbnoinvd",
 
     [12] = "ibpb",
-    [14] = "ibrs",             [15] = "amd-stibp",
+    [14] = "ibrs",             [15] = "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",
+    [24] = "ssbd",             [25] = "virt-ssbd",
     [26] = "ssb-no",
     [28] = "psfd",
 };



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 09:47:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 09:47:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261390.452531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD1N9-0002gQ-Uk; Thu, 27 Jan 2022 09:47:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261390.452531; Thu, 27 Jan 2022 09:47:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD1N9-0002gJ-Rc; Thu, 27 Jan 2022 09:47:19 +0000
Received: by outflank-mailman (input) for mailman id 261390;
 Thu, 27 Jan 2022 09:47:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9wmt=SL=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nD1N7-0002gD-V1
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 09:47:18 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1aa05caa-7f56-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 10:47:15 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1aa05caa-7f56-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643276835;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=FAN2fpEKWhngt7SG02/SMOibRgbqOkNj2LeZtzAzwKI=;
  b=SQHI+2+pcBI8ObV4ADScE4xd7xuWKmiBaVHx2Gx2JxSboWh07mNzcm94
   9FSCtMGWVVF8BqqnJDXWYze/bJ6W51LKQhf1JWk5cNN7OIDq5pk8uZi/r
   7xHJg2iHH+PaRJzGOx5/VQLyxfBF1z7JgOwRdbL5u8UzkzK8B/apAPS6w
   M=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: 4C0kOs2NsJ4Yo/HUFJ9l4hBLys6n8SL7IRW1vRidVBi2q91GAw+Y2qOScr1tBJnKa5C38KoTO3
 HGUUVxpWCfYfqHlfRr3eKR2vbsxVtvXErmgzbAQ5B2cDXijBY2ZaZEcQwEKKAbHIOQfkzjg9fe
 I8v1GartSTFC/16qsNfs6ANVqXHI8H5CTnSWpgsBkZuJY2OT9orQT2GgDF7sqnr5d0Lw0TTPsP
 kwSnNfRyw8qWVOvgML0wEJWdj2amF8siY9B/boTFGytvgQSLJ8QsRq5OXMHorHfYCt6Eml4Nlv
 vx/xx9L0TRrv44pX9mpRsRTu
X-SBRS: 5.2
X-MesageID: 62344281
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:De4IFa+FyuCW6/Hi4HixDrUDyniTJUtcMsCJ2f8bNWPcYEJGY0x3x
 2FOW2GFPK6KYWXwKo9+Pt6woRlXvZSGzII3HVM6rig8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7dj3dYx6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPhjk
 PlUnqOyYj1qL7eVxv4ZUkNkOXlHaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguw5K8bmJsUHs2xIxjDFF/c2B5vERs0m4PcGhmxs2poeRJ4yY
 eI6RWNFSjbwPycWBXcvFrE3zeKCt3nwJmgwRFW9+vNsvjm7IBZK+KfpGMrYfJqNX8o9tkyVv
 H7c9mL1RBQTLsWCyCGt+2ipwOTImEvTSI8UUbG16PNuqFmS3XAITg0bU0Ohpvu0gVL4XMhQQ
 2QM8zcqhbg/8gqsVNaVdwajvHeOsxoYWtxRO+438geAzuzT+QnxLmoOQyNFadcmnNQrXjFs3
 ViM9/vXAjhovKyQWGiq3L6epjOvOgAYNWYHIyQDSGMt4cTnoYw1pgLCSJBkCqHdszHuMWium
 XbQ9nF43uhNy55Qv0mmwbzZqyD0ioHicQwe3EbGRDv79Ad4PrKPP7X9vDA38s18BIqeS1CAu
 l0NlM6f8P0CAPmxqcCdfAkeNOr3vqjYaVUwlXYqRsB8rGr1pxZPaKgNuGkWGat/DioTldYFi
 mf3sBgZ2pJcNWDCgURfM9PoUJRCIUQN+L3YuhHogjhmP8AZmOyvpngGiausM4bFyhVEfUYXY
 s/zTCpUJSxGYZmLNRLvLwvn7Zclxzol2UTYTo3hwhKs3NK2PSDJEu1eaADQM7hkvctoRTk5F
 f4FaaNmLD0ECIXDjtT/q9ZPfTjm01BlbXwJlyCnXrHaeVc3cI3QI/TQ3akga+RYc1d9zY/1E
 oWGchYAkjLX3CSfQS3TMywLQO6xAf5X8CxqVQRxbQfA8yVyOu6HsfZAH6bbiJF6roSPO9YuE
 alcEyhBa9wSIgn6F8M1NMmk89c6JU313Gpj/UONOVACQnKpfCSQkvfMdQrz7igeSC2xsMo1u
 bq70Q3HB5EEQmxf4Az+MZpDFnu94ioQnvxcRUzNLoUBcUng6tEyeSfwkuU2M4cHLhCanmmW0
 AOfABE5o+jRotBqrImV1P7c94r5QfFjGkd6HnXA6erkPyft4Wf+k5RLV/yFfG6BWTqsqrmif
 +hc09r1LOYDwARRq4N5HrsylfA+6tLjqqV01ANhGHmXPV2nBqk5eiuN3NVVt70Lzbhc4FPkV
 kWK89hcGLOIJMK6TwJBeFt7NryOjKhGlCPT4PI5JFTByBV2pLfXA19POxSsiTBGKOcnOo0S3
 up86tUd7Bayi0R2P4/e3DxU7WmFMlcJT74j6sMBGIbuhwcmlgNCbJjbBnOk6Z2DcYwRYEwjI
 zvSj6venbVMgEHFdiNrR3TK2ONcg7UIuQxLkwBedwjYxIKdi69lxgBV/BQ2Uh9Rn0dO3O9EM
 2R2M1F4ePeV9DByickfB22hFmmt3vFCFpAdH7fRqFDkcg==
IronPort-HdrOrdr: A9a23:uT+cdqODU+yAwsBcTv2jsMiBIKoaSvp037BN7TEUdfU1SL38qy
 nApoV56faZslcssRIb9+xoWpPwJk80nKQdieN9AV7LZniBhILCFvAB0WKN+V3d8gTFh5dgPf
 gKScND4afLYmSSJ/yKmDVQaOxN/OW6
X-IronPort-AV: E=Sophos;i="5.88,320,1635220800"; 
   d="scan'208";a="62344281"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hvS+eZF4XZU6euIVbVl66D27VHNIcx75VMmKl9H5LoOEt7VUydXQw4MQ++odNlxG4zw6XhgGwVVH7MGiYgzpLdjAjmjcyqSvE7jaClowN31eEM3RhpM/QAjGLK2vCRuu4VLXYucNNYwknrq8JteZczhEje0bvGaaJkdSa/93Rvzh2W/p9HaaATBLJ+41a7vHNASJJ6Bx8twutYNm1iVCPLKGWePreMkZ/o2XJzrC6U993CSPck3pEto4+9eoECDqehvM76C2bmj2s21dMm22+V6wp6tznbijLiFj5CTJqBAWxswNZuPxSuduRWwj0uDsYcsEAc/Larbtf6fx7N2RiQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yTIUS7Z/qeWhGpV1l/PKLzqKWGc3G8Ldfmgdp2vZopA=;
 b=Ykigqyyqjrc92UHu+8Jv8PnzUEdqonv+P5m6TtffMk6q4tuRFaY2ZewMlfy6Jb350V+fa9HO6RiLotD0n6okRFdExSKzoOnntgTbaP7RBzMiHYXi6zy91qgFmhfovVSPk+/lCh+lokfMKsPM/Bv3dsNgJ+vof0/JlvTvQb3YaS4lpB2XUBKjsd0saw666gAsI7emchyYli+4M0LpVnYlzvNig4tQsQtRr72ymyHx10hJ2MElhQdjw5f1wR8Re2ukytBtwMxN0oOamf4SIqgh/vSblopY/ncyBm5yIlj+ixkR5cqU8yumm6+Crvn3/g9chDKf+DOBzWOpzDXhYeqlSg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yTIUS7Z/qeWhGpV1l/PKLzqKWGc3G8Ldfmgdp2vZopA=;
 b=KPXPyuffWrwBIqA79NqXbONa1xAxIyieFULg8ikjrm7/UpvE5linZntTcAJ5QQnuGYk6cNLhfmsiE2NmbhLIsNU8VwqPiu32xflqLDzLNAHqDUO2hbOkijFA1KfJswYwbEaeRQkOtObmFjkIfL4WxS9QWKJhUHeb5E4c9wQwINM=
Date: Thu, 27 Jan 2022 10:47:03 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Bertrand
 Marquis <bertrand.marquis@arm.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Wei
 Liu <wl@xen.org>, Paul Durrant <paul@xen.org>,
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2] xen/pci: detect when BARs are not suitably positioned
Message-ID: <YfJqF8/IIz7k+8G3@Air-de-Roger>
References: <20220127082218.57902-1-roger.pau@citrix.com>
 <4a82bfdf-479d-3813-069a-84d30a6e29fd@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <4a82bfdf-479d-3813-069a-84d30a6e29fd@suse.com>
X-ClientProxiedBy: MR2P264CA0024.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:1::36) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 65f5cc5f-33a1-40a8-fbfe-08d9e179fc24
X-MS-TrafficTypeDiagnostic: CH0PR03MB6003:EE_
X-Microsoft-Antispam-PRVS: <CH0PR03MB6003DED261B04B6D52EAE9C28F219@CH0PR03MB6003.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:962;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 8yFT5q3Q/7G4XKEWhowWvGWTgUmvFOglB5aICDikKqM/EniwRFtjIuHBr/nYgHBEyVW5RoPxRIdnct0TmM8cDWBIGj/aX2/0fgDMyDjrR4Jk8c/sTO0V0o53wPNNKY3gEJuFo2oBsaGL6mpfSOQYZjpTudnzqS9pdSsiuZqC6FmmcY/ZQIUiqZYOCG20kvSlOaxySo2ZxnFo0lJZsYYEutFnMLIGDemW+FdOTURJ8M2vmrVUAbRjvas9elpPwld3EgfnB+VDp7FLl2FetX0MQHmzvXUzy5VR/RegsZGDCjb8tCY6SY2r2JyoC+FepF2CrMpNC+BXPIadaWNA4tm6pk2wqStBaHQbkxYhv+lTDR27OBLZTn6ezSpjNexw4/WsVH8GIo8alnpPHVNLBh4tyU4qKyQiDz/4MS0Dn/CTiVLX4ZnA6ba/9XTg+9hXxaI8DApQ3waHGPKZhLcSMJIaEXBmUxRZi0l+QPnotNXotgQ6IULuFmjb2SbbOFMJoe8CJZkYBZZVviFRlgJqXcB5ASD7qQTL+YHgLHJ6JQ9za+m6V6sodLQCm8ORygjEEi0JgGnElF5APn8HoNNsUAN4iV3tqQJ3b5znVh/lDle/r2Xx4Se4Qe8RtGKqC1gILH48p1YYNh6KRLD6Hcfy1v1zbA==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(7916004)(4636009)(366004)(83380400001)(316002)(508600001)(6916009)(54906003)(26005)(85182001)(6486002)(186003)(5660300002)(8936002)(66556008)(66476007)(66946007)(8676002)(53546011)(4326008)(6512007)(6506007)(6666004)(9686003)(38100700002)(33716001)(82960400001)(2906002)(86362001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NWVTSEhDdmhMMEp1NVZxcW1vUTFZb2NOdWhoSWZpa1Znd2k2WVl6VWFjeU83?=
 =?utf-8?B?SlNaY05EOUpDaUM3TWt2ZmFSQUhQdjdSQjkvcjhCOFV0SzBnV3htZHpXUjBP?=
 =?utf-8?B?UlExUXNOLzhxSDVQOGQ4Ry9RUFRpZ05ORHZTRlBCMER3U2J5bWZqd1l2bG1U?=
 =?utf-8?B?c251YVUvSU05aGZpVkU5aCtvSGVUd0U2ejBUZlVKU3hzd1NncXIvamo5cjFu?=
 =?utf-8?B?blp2anRwaTBTalVsY1cvVHRoVFNUbzVCa01ja1UxaUM5d2tJUXFabFZlZ25k?=
 =?utf-8?B?TldLaFhlTWRJTkpNa3pCWDRGNndWM1NGRGtYNWludmhPem9NMm5yQy9MM2hG?=
 =?utf-8?B?RVN5ME1uL3JNNFNDbmJOUlVkZ3hwSG5TTFJqaENDeDZMZ2RKcVNDdXQ3RXVU?=
 =?utf-8?B?QTRyQkNQZndUVktFWVZaQjRHWE1WMGNKK0dtR2ROcHVseDNxa0xaVGF6c05W?=
 =?utf-8?B?b2hIeEVJUExYVndxc012M2Zsb2o1OWpWRjB0R1FEbUFldTNnZjRPbkNIRTd3?=
 =?utf-8?B?Ni9oZEJUd3MvUGo2QUo1SlFQNmlKdEFWTjZ3cUEyOHQzeDc3L1RnMlUvYUMz?=
 =?utf-8?B?dyt6MzZHRXdTS0M1bk5DMW51RDBnSnlCK2FUbVRFQWtTcUVtNzZITnQ5WEtJ?=
 =?utf-8?B?a0k5NFJ0VHVVaHdmcUxBalhWWFAxVkFHaGVLemwyYVdJamxtUmdGWVA2SWhL?=
 =?utf-8?B?ZnM5U21MKzRRblM5d1dXeFlndkgwaG1LMDZHeUZPekp3VWNlVlZRbG1jZGJO?=
 =?utf-8?B?SUpSdHI4Um9ZenY1TlZ5dGw5SnB1QWtvUS9uT3hRWTM5SWoyaXFWbmszdHkr?=
 =?utf-8?B?Q25nNUdRN3R6YlhXSWRUU0haS1plM1BFNjdmOThrT05ZcnZ2SERBdXd3dW1y?=
 =?utf-8?B?UGdvem9qZEVVbUVMUHBHNlgyRlA0Z2wzVzJuUTU4ODB6UjZ6QlRmK28wd3lX?=
 =?utf-8?B?RW9rV1lTMm5iYUU5T2dCN1ZkdHlQdDIrTFpjdmdFNGRzOUYrbWlmUzJGTWZl?=
 =?utf-8?B?Q2RMdk45ejV5ZnVRZGloTWM1RzdwVklCbmhlZmFEYjZodzZPOXZqRm9XSGdm?=
 =?utf-8?B?S0t6akp2ZGFhb2MvaHhINCsvcngvVlJITHc5QVlWWGgyek13M1ZnaHdQcnNM?=
 =?utf-8?B?NlhBck1jRTZMUnRORGRiK2FobmxvN09PK2RWdlJlTkxtT2VQMlk3ZkFxTkZ3?=
 =?utf-8?B?bFlnYlBxb3Rrb1RwZHRkZ1Y2eEJ4Ulo4ZzJEMDRYdjBGK0hhL2N0UE5Bc2d2?=
 =?utf-8?B?VVVrU3M1bXdNZGNtdWJEOXRXeFJUblcwNkpwL1pSSE1uVDdWSlU3TEIxeW1I?=
 =?utf-8?B?ZVlSL0MveG8yeVR0NkJQWnVFS1pBZmlrRTZlM2djK2RJblMrSFV4TkZBUFpX?=
 =?utf-8?B?Qzk4UmNpcEM5a2JzR29hVWsvclluQ1ZnSkVrNGpJMG9kUEZxN1Y4Nmo5L3lX?=
 =?utf-8?B?OHk4cVNJVDhrSGovSzdpdHBrS0hSZXBFdzFhb0xJMysyL0dxTTBtREV0MjNv?=
 =?utf-8?B?QWZGakRTVWU3MUhXRXArVDVMM1NCYlFiKzh0NDJobEF5eDVkLzNqY0U4UnAx?=
 =?utf-8?B?Vmw5SUZ6OStXcWx4ejhTMEZzcGE3cXFwUlo5TzgwMTUxUndFR1VwWHFLZlFr?=
 =?utf-8?B?VUNoWXhUNXdPNWJhcTJUM1kxT3dRY1hzRnZsWDRyU0ZZSTdPd0VTKzgrS1Yr?=
 =?utf-8?B?N2pqcG11VVE2bFI3L3FFU0NNbitrRmdVaTVnUWh0OEJySXdGcTIwNSs1MGdY?=
 =?utf-8?B?elJ2VnlVR3FEQXIyWm5OUVVwanVMMjNsTEtieWRoQkFJY0pjK1dlNlVjakN0?=
 =?utf-8?B?TTdEYVpiSjNmZ1ZpWXNRYmpKK0F4SFBuOE1BSjFSK0VWRlJLVTJhaDNLWnRk?=
 =?utf-8?B?K2p6RW4wSmIweVlvNnM4UXhQSStTQ1lGQlRuTGp1Qnkza243dEs1cVVoOGRi?=
 =?utf-8?B?YnpkZDZRQW1oUllDVjNmYUNRMkk0WklmU055cklQdHlIdnZrSUFucExnaUdz?=
 =?utf-8?B?Wk1ZZnNrUm5VUWFtTVMxWks4YXVpakY2VVNlR2xrZEExMlczSnA0Q0RKYkQ2?=
 =?utf-8?B?Wkw2aGJxOTZhTkRVQnlJUkF4WDAreURkY3dwR2t5YWhIZDQ0dGZCcDhma2tS?=
 =?utf-8?B?cVU4bmxQeWNyYW1iUVJYQVVOWUt5a29LdTdCTEFHZ1h2UCtLR2NRYk4rNW5U?=
 =?utf-8?Q?QoUcGuKlAiu0Rs97WHIs2cY=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 65f5cc5f-33a1-40a8-fbfe-08d9e179fc24
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 09:47:08.8772
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Wz3Ob6QDhDdw2CnuOHw1WF++mc4YLNQoCLnfrt+JDZxMfHD0eFDngk6vCPSvoROoJyOqu3+rGj0vv9+RP6SoaQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR03MB6003
X-OriginatorOrg: citrix.com

On Thu, Jan 27, 2022 at 09:48:16AM +0100, Jan Beulich wrote:
> On 27.01.2022 09:22, Roger Pau Monne wrote:
> > --- a/xen/arch/arm/mm.c
> > +++ b/xen/arch/arm/mm.c
> > @@ -1625,6 +1625,17 @@ bool is_iomem_page(mfn_t mfn)
> >      return !mfn_valid(mfn);
> >  }
> >  
> > +bool is_iomem_range(paddr_t start, uint64_t size)
> > +{
> > +    unsigned int i;
> > +
> > +    for ( i = 0; i < PFN_UP(size); i++ )
> > +        if ( !is_iomem_page(_mfn(PFN_DOWN(start) + i)) )
> > +            return false;
> > +
> > +    return true;
> > +}
> 
> I'm afraid you can't very well call this non-RFC as long as this doesn't
> scale. Or if you're building on this still being dead code on Arm, then
> some kind of "fixme" annotation would be needed here (or the function be
> omitted altogether, for Arm folks to sort out before they actually start
> selecting the HAS_PCI Kconfig setting).

I was expecting the lack of 'RFC' tag to attract the attention of the
maintainers for feedback. If not I'm happy to add a FIXME here or just
drop the chunk.

> > --- a/xen/arch/x86/mm.c
> > +++ b/xen/arch/x86/mm.c
> > @@ -783,6 +783,23 @@ bool is_iomem_page(mfn_t mfn)
> >      return (page_get_owner(page) == dom_io);
> >  }
> >  
> > +bool is_iomem_range(paddr_t start, uint64_t size)
> > +{
> > +    unsigned int i;
> > +
> > +    for ( i = 0; i < e820.nr_map; i++ )
> > +    {
> > +        const struct e820entry *entry = &e820.map[i];
> > +
> > +        /* Do not allow overlaps with any memory range. */
> > +        if ( start < entry->addr + entry->size &&
> > +             entry->addr < start + size )
> > +            return false;
> > +    }
> > +
> > +    return true;
> > +}
> 
> I should have realized (and pointed out) earlier that with the type
> check dropped the function name no longer represents what the
> function does. It now really is unsuitable for about anything other
> that the checking of BARs.

is_devmem_range would be more suitable?

I will wrap this in an #ifdef HAS_PCI section now.

> > @@ -267,11 +270,75 @@ static void check_pdev(const struct pci_dev *pdev)
> >          }
> >          break;
> >  
> > +    case PCI_HEADER_TYPE_NORMAL:
> > +        nbars = PCI_HEADER_NORMAL_NR_BARS;
> > +        rom_pos = PCI_ROM_ADDRESS;
> > +        break;
> > +
> >      case PCI_HEADER_TYPE_CARDBUS:
> >          /* TODO */
> >          break;
> >      }
> >  #undef PCI_STATUS_CHECK
> > +
> > +    /* Check if BARs overlap with other memory regions. */
> > +    val = pci_conf_read16(pdev->sbdf, PCI_COMMAND);
> > +    if ( !(val & PCI_COMMAND_MEMORY) || pdev->ignore_bars )
> > +        return;
> > +
> > +    pci_conf_write16(pdev->sbdf, PCI_COMMAND, val & ~PCI_COMMAND_MEMORY);
> > +    for ( i = 0; i < nbars; )
> > +    {
> > +        uint64_t addr, size;
> > +        unsigned int reg = PCI_BASE_ADDRESS_0 + i * 4;
> > +        int rc = 1;
> > +
> > +        if ( (pci_conf_read32(pdev->sbdf, reg) & PCI_BASE_ADDRESS_SPACE) !=
> > +             PCI_BASE_ADDRESS_SPACE_MEMORY )
> > +            goto next;
> > +
> > +        rc = pci_size_mem_bar(pdev->sbdf, reg, &addr, &size,
> > +                              (i == nbars - 1) ? PCI_BAR_LAST : 0);
> > +        if ( rc < 0 )
> > +            /* Unable to size, better leave memory decoding disabled. */
> > +            return;
> > +        if ( size && !is_iomem_range(addr, size) )
> > +        {
> > +            /*
> > +             * Return without enabling memory decoding if BAR position is not
> > +             * in IO suitable memory. Let the hardware domain re-position the
> > +             * BAR.
> > +             */
> > +            printk(XENLOG_WARNING
> > +"%pp disabled: BAR%u [%" PRIx64 ", %" PRIx64 ") overlaps with memory map\n",
> 
> I guess despite its length this still wants indenting properly. Maybe
> you could fold this and ...
> 
> > +                   &pdev->sbdf, i, addr, addr + size);
> > +            return;
> > +        }
> > +
> > + next:
> > +        ASSERT(rc > 0);
> > +        i += rc;
> > +    }
> > +
> > +    if ( rom_pos &&
> > +         (pci_conf_read32(pdev->sbdf, rom_pos) & PCI_ROM_ADDRESS_ENABLE) )
> > +    {
> > +        uint64_t addr, size;
> > +        int rc = pci_size_mem_bar(pdev->sbdf, rom_pos, &addr, &size,
> > +                                  PCI_BAR_ROM);
> > +
> > +        if ( rc < 0 )
> > +            return;
> > +        if ( size && !is_iomem_range(addr, size) )
> > +        {
> > +            printk(XENLOG_WARNING
> > +"%pp disabled: ROM BAR [%" PRIx64 ", %" PRIx64 ") overlaps with memory map\n",
> 
> .. this into
> 
>     static const char warn[] =
>         "%pp disabled: %sBAR [%" PRIx64 ", %" PRIx64 ") overlaps with memory map\n";
> 
> to limit indentation and redundancy at the same time? Could then also
> be re-used later for the SR-IOV BAR check.

Sure.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 09:51:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 09:51:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261393.452542 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD1Qy-00042S-FL; Thu, 27 Jan 2022 09:51:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261393.452542; Thu, 27 Jan 2022 09: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 1nD1Qy-00042L-CG; Thu, 27 Jan 2022 09:51:16 +0000
Received: by outflank-mailman (input) for mailman id 261393;
 Thu, 27 Jan 2022 09:51: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 1nD1Qw-00042F-V0
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 09:51:14 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nD1Qw-0004VL-8C; Thu, 27 Jan 2022 09:51:14 +0000
Received: from 54-240-197-225.amazon.com ([54.240.197.225]
 helo=[192.168.9.172]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nD1Qw-0003Ib-0Y; Thu, 27 Jan 2022 09:51:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=d7Me/Efu5iQBvEq98/PCYBUSLdZDehMZxfaLcTXJ0/k=; b=UYAWyh36ZGt1SeXSyoSAIxN0Vc
	Nt1R9SRMkt97CJw1AvJdhv4s+rJSCqc8squ/VQsvM4c8JzkjJRyZvhVRalnvEmdjU069eE5FsAOc1
	XiEncj59888XVEnRobOBpwj6JaDQQxIJpPRz9kJ2CH0VAD4o5t6K/A83/CEMjBWXjwcQ=;
Message-ID: <33d1c1eb-7d6d-21c6-8ed4-3daef5be90d3@xen.org>
Date: Thu, 27 Jan 2022 09:51:11 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [XEN PATCH v2 2/5] xen: export get_free_port
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org,
 jgross@suse.com, Bertrand.Marquis@arm.com, Volodymyr_Babchuk@epam.com,
 Stefano Stabellini <stefano.stabellini@xilinx.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop>
 <20220113005855.1180101-2-sstabellini@kernel.org>
 <f3b2ae98-c7af-d8c0-b0a4-52e622517c34@xen.org>
 <alpine.DEB.2.22.394.2201241652330.27308@ubuntu-linux-20-04-desktop>
 <14af544d-0d20-9b58-4d70-5f5086ece032@suse.com>
 <alpine.DEB.2.22.394.2201251435030.27308@ubuntu-linux-20-04-desktop>
 <a992cf74-a75a-43d0-f83a-cd9549f586a8@xen.org>
 <alpine.DEB.2.22.394.2201251530400.27308@ubuntu-linux-20-04-desktop>
 <aa7aee5b-71cf-78c3-f8a2-f8d166f22ecb@suse.com>
 <966ac15d-e91f-e812-1021-296ef60a9a06@xen.org>
 <alpine.DEB.2.22.394.2201261727550.27308@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2201261727550.27308@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 27/01/2022 01:50, Stefano Stabellini wrote:
> On Wed, 26 Jan 2022, Julien Grall wrote:
>> On 26/01/2022 07:30, Jan Beulich wrote:
>>> On 26.01.2022 02:03, Stefano Stabellini wrote:
>>>> Are you guys OK with something like this?
>>>
>>> With proper proof that this isn't going to regress anything else, maybe.
>>
>> That's why I sugested to also gate with system_state < SYS_STATE_boot so we
>> reduce the potential regression (the use of hypercall should be limited at
>> boot).
>>
>> FWIW, there was a thread [1] to discuss the same issue as Stefano is facing
>> (but in the context of Live-Update).
>>
>>> But ...
>>>
>>>> --- a/xen/include/xsm/dummy.h
>>>> +++ b/xen/include/xsm/dummy.h
>>>> @@ -92,7 +92,9 @@ static always_inline int xsm_default_action(
>>>>                return 0;
>>>>            /* fall through */
>>>>        case XSM_PRIV:
>>>> -        if ( is_control_domain(src) )
>>>> +        if ( is_control_domain(src) ||
>>>> +             src->domain_id == DOMID_IDLE ||
>>>> +             src->domain_id == DOMID_XEN )
>>>>                return 0;
>>>
>>> ... my first question would be under what circumstances you might observe
>>> DOMID_XEN here and hence why this check is there.
> 
> For simplicity I'll answer all the points here.
> 
> I added both DOMID_IDLE and DOMID_XEN because I thought it "made sense",
> but there is no need for DOMID_XEN. We only need DOMID_IDLE. Also adding
> a system_state <= SYS_STATE_boot is fine (but it needs to be <= instead
> of <). The patch appended below works without issues.
> 
> Alternatively, I am also quite happy with Jan's suggestion of passing an
> extra parameter to evtchn_alloc_unbound, it could be:
> 
> int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc, bool disable_xsm);
> 
> So that XSM is enabled by default.
> 
> Adding the bool parameter to evtchn_alloc_unbound has the advantage of
> having only a very minor impact.

We will likely need similar approach for other hypercalls in the future 
if we need to call them from Xen context (e.g. when restoring domain 
state during Live-Update).

So my preference would be to directly go with modifying the 
xsm_default_action().

> But either option is totally fine by
> me, just let me know your preference.
> 
> 
> 
> diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
> index b024119896..01996bd9d8 100644
> --- a/xen/include/xsm/dummy.h
> +++ b/xen/include/xsm/dummy.h
> @@ -94,6 +94,8 @@ static always_inline int xsm_default_action(
>       case XSM_PRIV:
>           if ( is_control_domain(src) )
>               return 0;
> +        if ( system_state <= SYS_STATE_boot && src->domain_id == DOMID_IDLE )

I would surround this with unlikely and possibly prevent speculation (Jan?).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 10:00:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 10:00:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261398.452556 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD1a8-0005hq-H1; Thu, 27 Jan 2022 10:00:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261398.452556; Thu, 27 Jan 2022 10:00:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD1a8-0005hj-Dq; Thu, 27 Jan 2022 10:00:44 +0000
Received: by outflank-mailman (input) for mailman id 261398;
 Thu, 27 Jan 2022 10:00: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 1nD1a7-0005hd-Hk
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 10:00: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 1nD1a5-0004kI-CD; Thu, 27 Jan 2022 10:00:41 +0000
Received: from 54-240-197-225.amazon.com ([54.240.197.225]
 helo=[192.168.9.172]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nD1a5-0004Ap-6F; Thu, 27 Jan 2022 10:00:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=GjKL+XlbwmNv7WW0YvQWji58Nm3XCZTccRwATp/DkRk=; b=NBCYBgCRScs/eACmmBIP515KQx
	m+Hz2yR0I+MLU/Lr3AhrScpUFR8TUwO+CpdixPd0cuvC7Dh5/Ma9zNCe3Gs8KYGT6059CHQRmfpKI
	7mcf9zhrqs8DqerqSj5k+S7TummS//iRl+P6lmp0qB7SIkVelWvOVITU4RguD6QfMoRk=;
Message-ID: <8e59b4ef-a009-b380-f262-a8381abbea16@xen.org>
Date: Thu, 27 Jan 2022 10:00:39 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [PATCH 20/37] xen: introduce CONFIG_EFI to stub API for non-EFI
 architecture
To: Jan Beulich <jbeulich@suse.com>, 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: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-21-wei.chen@arm.com>
 <d80da027-93ac-4819-ef7a-f3fd8592e443@suse.com>
 <PAXPR08MB7420AC9A05A6118642F544BD9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <PAXPR08MB7420252BFA15D032BDDF2F4A9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <e135adab-8b21-8dc0-2518-e505a59feb9f@suse.com>
 <PAXPR08MB7420EF1360C2E1D63D278A1B9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <b274899d-55f5-1851-82e6-69898d53e726@suse.com>
 <PAXPR08MB74205D98C454993DCFAE4FFC9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <677bb034-242d-e9ce-00ce-57e7214fd4cc@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <677bb034-242d-e9ce-00ce-57e7214fd4cc@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 27/01/2022 09:27, Jan Beulich wrote:
> On 27.01.2022 10:25, Wei Chen wrote:
>>> From: Jan Beulich <jbeulich@suse.com>
>>> Sent: 2022年1月27日 17:17
>>>
>>> On 27.01.2022 10:09, Wei Chen wrote:
>>>>> From: Jan Beulich <jbeulich@suse.com>
>>>>> Sent: 2022年1月27日 17:00
>>>>>
>>>>> But you realize we already have such a stub file on x86?
>>>>>
>>>>
>>>> Yes, we found the redefinition errors that are caused by x86 stub file
>>>> and new macros in stub.h. We had tries to add:
>>>> ifeq ($(XEN_BUILD_EFI),y)
>>>> CFLAGS-y += -DXEN_BUILD_EFI
>>>> XEN_CFLAGS += -DXEN_BUILD_EFI
>>>> endif
>>>> x86/Makefile to gate these new macros, but it seems that we may need
>>>> to change EFI build logic for x86. It will cause more risks for me.
>>>> So I want to introduce a similar stub.c in arch/arm.
>>>
>>> While that's perhaps fine, ideally common bits would be common. Iirc
>>> already back at the time I was wondering why stub.c had to be x86-
>>> only.
>>
>> Some dummy functions in stub.c can be shared by arm or other architectures.
>> But some functions like efi_multiboot2 are architecture dependent.
> 
> Right - that's no different from the bulk of the non-stubbed EFI code.
> I don't really mind you making an Arm-specific stub file if there's
> not very much duplication, but it doesn't feel very good. In the end
> it's up to the Arm maintainers anyway.

If the stubs are mostly the same then they should be common rather than 
duplicated.

 > x86/Makefile to gate these new macros, but it seems that we may need
 > to change EFI build logic for x86. It will cause more risks for me.

But that would be a build risk right? If so, it is quite easy to 
verify/catch it compare to runtime issue.

Cheers,

> 
> Jan
> 

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 10:23:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 10:23:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261402.452567 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD1vi-0008Bw-DN; Thu, 27 Jan 2022 10:23:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261402.452567; Thu, 27 Jan 2022 10: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 1nD1vi-0008Bp-9F; Thu, 27 Jan 2022 10:23:02 +0000
Received: by outflank-mailman (input) for mailman id 261402;
 Thu, 27 Jan 2022 10:23:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1nD1vh-0008Bj-Bw
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 10:23:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nD1vg-0005BP-Nm; Thu, 27 Jan 2022 10:23:00 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.9.172]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nD1vg-0005v2-HG; Thu, 27 Jan 2022 10:23:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=vPJI9gtyLCYXwij5hv1a4o2sHv9CU//8h/50obrRdsI=; b=G9KLIcmWofGNS8waSOkRn7dMgM
	r1N3GfHwRq5wxbQj1o7zFKbab6mSssm27os6oEXcjHPvWiBN9dm08yFanvtWFlAjcH4UL5fNh3B0T
	Pxc3UZtMOvZE2ar2JdmkcIz+rc7GprLiotocC9usRCnt+j4t+BeEtB+P8cklvBYIAYLA=;
Message-ID: <f09f4f12-5eb8-ce1e-3fed-6f2d9ba7809d@xen.org>
Date: Thu, 27 Jan 2022 10:22:58 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [XEN v4] xen/arm64: io: Decode ldr/str post-indexing instructions
To: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@xilinx.com, Volodymyr_Babchuk@epam.com,
 bertrand.marquis@arm.com, andre.przywara@arm.com, jbeulich@suse.com,
 wei.chen@arm.com, Ayan Kumar Halder <ayankuma@xilinx.com>
References: <20220125211808.23810-1-ayankuma@xilinx.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220125211808.23810-1-ayankuma@xilinx.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Ayan,

Below some more comments on a few issues I noticed while reviewing your 
other patch yesterday.

On 25/01/2022 21:18, Ayan Kumar Halder wrote:
> diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
> index 729287e37c..b9c15e1fe7 100644
> --- a/xen/arch/arm/io.c
> +++ b/xen/arch/arm/io.c
> @@ -106,14 +106,29 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>           .gpa = gpa,
>           .dabt = dabt
>       };
> +    int rc;
> +    union ldr_str_instr_class instr = {0};
>   
>       ASSERT(hsr.ec == HSR_EC_DATA_ABORT_LOWER_EL);
>   
> +    /*
> +     * Armv8 processor does not provide a valid syndrome for post-indexing
> +     * ldr/str instructions. So in order to process these instructions,
> +     * Xen must decode them.
> +     */
> +    if ( !info.dabt.valid )
> +    {
> +        rc = decode_instruction(regs, &info.dabt, &instr);
> +        if ( rc )
> +        {
> +            gprintk(XENLOG_DEBUG, "Unable to decode instruction\n");
> +            return IO_ABORT;

Sorry, I should have noticed this earlier.

If we return IO_ABORT here, it means Xen will inject an abort to the 
domain. However, an I/O may trap in Xen for other reasons. One explain 
is when Xen modify the P2M it has to temporarily remove the mapping and 
then recreate it. This leaves a small window when an access may trap.

In this situation, we don't care that the instruction syndrome is 
invalid. Therefore, it would be wrong to inject an abort to the domain. 
What we want is looking whether another part of Xen handles it.

One possibility would be to return IO_UNHANDLED here. However... it 
means that we will end up to decode the instruction when this is not 
necessary. So I think we want to move the decode after 
find_mmio_handler() has succeeded.

Regarding, try_fwd_ioserv(). As you rightly pointed out, it already 
contains a dabt.valid check. We would want to augment it to decode the 
instruction. I think the thumb workaround should be there as well.

> +        }
> +    }
> +
>       handler = find_mmio_handler(v->domain, info.gpa);
>       if ( !handler )
>       {
> -        int rc;
> -
>           rc = try_fwd_ioserv(regs, v, &info);
>           if ( rc == IO_HANDLED )
>               return handle_ioserv(regs, v);
> @@ -121,10 +136,6 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>           return rc;
>       }
>   
> -    /* All the instructions used on emulated MMIO region should be valid */
> -    if ( !dabt.valid )
> -        return IO_ABORT;
> -
>       /*
>        * Erratum 766422: Thumb store translation fault to Hypervisor may
>        * not have correct HSR Rt value.
> @@ -134,7 +145,7 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>       {
>           int rc;
>   
> -        rc = decode_instruction(regs, &info.dabt);
> +        rc = decode_instruction(regs, &info.dabt, NULL);
>           if ( rc )
>           {
>               gprintk(XENLOG_DEBUG, "Unable to decode instruction\n");
> @@ -143,9 +154,21 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>       }
>   
>       if ( info.dabt.write )
> -        return handle_write(handler, v, &info);
> +        rc = handle_write(handler, v, &info);
>       else
> -        return handle_read(handler, v, &info);
> +        rc = handle_read(handler, v, &info);
> +
> +#if CONFIG_ARM_64
> +    if ( (is_64bit_domain(current->domain) && !psr_mode_is_32bit(regs)) )
> +    {
> +        if ( instr.value != 0 )
> +        {
> +            post_increment_register(&instr);
> +        }

This path will not be reached when the I/O is forwarded to an IOREQ 
server. I think we need to add similar code in 
arch_ioreq_complete_mmio() (just before advance_pc()).

Just for completeness, even if it would be easier, I don't think we can 
update the register before the MMIO is handled (i.e. in 
try_fwd_ioserv()) because in theory the instruction is not completed. So 
I am a bit worry that this may impact other subsystem (the obvious one 
are the registers dump would be incorrect).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 10:45:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 10:45:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261409.452584 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD2Hq-0002Ha-Cq; Thu, 27 Jan 2022 10:45:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261409.452584; Thu, 27 Jan 2022 10:45:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD2Hq-0002HT-9b; Thu, 27 Jan 2022 10:45:54 +0000
Received: by outflank-mailman (input) for mailman id 261409;
 Thu, 27 Jan 2022 10:45: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 1nD2Ho-0002HI-9Z
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 10:45: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 1nD2Hm-0005Yv-UK; Thu, 27 Jan 2022 10:45:50 +0000
Received: from 54-240-197-225.amazon.com ([54.240.197.225]
 helo=[192.168.9.172]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nD2Hm-0007w2-O9; Thu, 27 Jan 2022 10:45:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=ESbhOQ9xHoGuf//v0U2lPOIGPSUyBRH0cY6HbgzAEwo=; b=wnp3/banGfhWe9aIgBzAHawnt0
	ufWeTVeoiP6eEsRmDICMIoH59nrX/gmMAuUdPsfcm3CUPpC476RxWiSAqOWO0pNxeDd/hlgWimz0+
	ii5yDZLTvI3FPwSdXrehEtNpYhC9ZfsXbsBMf278UJdn3IOrtHfdNJuggWXLKe2D/Ax4=;
Message-ID: <f5e38653-aa2a-c843-39c8-f8c69fc9fbde@xen.org>
Date: Thu, 27 Jan 2022 10:45:47 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [PATCH v4] EFI: always map EfiRuntimeServices{Code,Data}
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Sergey Temerkhanov <s.temerkhanov@gmail.com>
References: <89d182f6-95e8-674a-2297-6e98435385f8@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <89d182f6-95e8-674a-2297-6e98435385f8@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 12/01/2022 08:45, Jan Beulich wrote:
> From: Sergey Temerkhanov <s.temerkhanov@gmail.com>
> 
> This helps overcome problems observed with some UEFI implementations

Would it be possible to provide some details about the platform? This is 
helpful to track why a workaround is present.

> which don't set the Attributes field in memery descriptors properly.

typo: s/memery/memory/

> 
> Signed-off-by: Sergey Temerkhanov <s.temerkhanov@gmail.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> v4: Drop EFI_MEMORY_CACHEABILITY_MASK. Fold with pre-existing if() (into
>      switch()). Style.
> ---
> I guess "map_bs" would also want honoring in efi_exit_boot(), but that's
> yet another patch then I suppose.

IIUC, we would need to invalidate the mapping when map_bs was used. Is 
it correct? If so, then I agree this sounds separate to the issue you 
are describing here.

> 
> --- a/xen/common/efi/boot.c
> +++ b/xen/common/efi/boot.c
> @@ -1094,7 +1094,13 @@ static void __init efi_exit_boot(EFI_HAN
>       {
>           EFI_MEMORY_DESCRIPTOR *desc = efi_memmap + i;
>   
> -        if ( desc->Attribute & EFI_MEMORY_RUNTIME )
> +        /*
> +         * Runtime services regions are always mapped here.
> +         * Attributes may be adjusted in efi_init_memory().
> +         */
> +        if ( (desc->Attribute & EFI_MEMORY_RUNTIME) ||
> +             desc->Type == EfiRuntimeServicesCode ||
> +             desc->Type == EfiRuntimeServicesData )

My knowledge with the stub is limited. Would you be able to explain why 
we need to map the runtime services even with !efi_enabled(EFI_RS)?

The reason I am asking is if we don't need it, then it would be 
sufficient to rely on desc->Attribute because you updated it in 
efi_init_memory().

>               desc->VirtualStart = desc->PhysicalStart;
>           else
>               desc->VirtualStart = INVALID_VIRTUAL_ADDRESS;
> @@ -1545,13 +1551,36 @@ void __init efi_init_memory(void)
>                       ROUNDUP(desc->PhysicalStart + len, PAGE_SIZE));
>           }
>   
> -        if ( !efi_enabled(EFI_RS) ||
> -             (!(desc->Attribute & EFI_MEMORY_RUNTIME) &&
> -              (!map_bs ||
> -               (desc->Type != EfiBootServicesCode &&
> -                desc->Type != EfiBootServicesData))) )
> +        if ( !efi_enabled(EFI_RS) )
>               continue;
>   
> +        if ( !(desc->Attribute & EFI_MEMORY_RUNTIME) )
> +        {
> +            switch ( desc->Type )
> +            {
> +            default:
> +                continue;
> +
> +            /*
> +             * Adjust runtime services regions. Keep in sync with
> +             * efi_exit_boot().
> +             */
> +            case EfiRuntimeServicesCode:
> +            case EfiRuntimeServicesData:
> +                printk(XENLOG_WARNING
> +                       "Setting RUNTIME attribute for %013" PRIx64 "-%013" PRIx64 "\n",
> +                       desc->PhysicalStart, desc->PhysicalStart + len - 1);
> +                desc->Attribute |= EFI_MEMORY_RUNTIME;
> +                break;
> +
> +            case EfiBootServicesCode:
> +            case EfiBootServicesData:
> +                if ( !map_bs )
> +                    continue;
> +                break;
> +            }
> +        }

The new code is much easier to read :).


> +
>           desc->VirtualStart = INVALID_VIRTUAL_ADDRESS;
>   
>           smfn = PFN_DOWN(desc->PhysicalStart);
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 11:00:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 11:00:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261412.452595 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD2WF-0004iV-Ld; Thu, 27 Jan 2022 11:00:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261412.452595; Thu, 27 Jan 2022 11:00:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD2WF-0004iO-Hm; Thu, 27 Jan 2022 11:00:47 +0000
Received: by outflank-mailman (input) for mailman id 261412;
 Thu, 27 Jan 2022 11:00:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CHyz=SL=citrix.com=George.Dunlap@srs-se1.protection.inumbo.net>)
 id 1nD2WE-0004iI-Rx
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 11:00:47 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5ecf8640-7f60-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 12:00:44 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5ecf8640-7f60-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643281244;
  h=from:to:subject:date:message-id:content-id:
   content-transfer-encoding:mime-version;
  bh=7hbu8lTlU7Xu0v3B/Qae/O0uH/1D+H9aSehcBzrrA+8=;
  b=RGwm2EVftAJR3lBEJAfNzH3mzkW+tjqKQFJ6gnlUMWO6HbSWKPJUBXDy
   9eYieiB2p3JiIJfUijeQdGOEX8IVW9Xt1+yciFoEIA6EhTIUuGQnKlR2v
   yEIWi0QlG6G8F40nSqDY3YTptzq0ysyTs14kSKZFoa4wwQWs2Hoq3gwGF
   E=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: JKCgzxunG7qY4c8V8sNyPf3gABmf/qyMBu1E7ZA0KrRjRNUjT5UCAQLsUfV9S2qrHm60/cEWZj
 E1+fmR40qKJMDz/2gHSZWSzvaOWMUF8NofQKztPsO0r46n2MpSGtyTfqD9KRAENogyng0HgyzK
 rWC77+N0QQ2eAxDXPiiN4iYPCx0ioyoTZ5Sew51ooerqdxD9WJBh61yLNScAwdOImnhtmmhF/o
 8DMz+xqcn4SbBrkpzJ7KM9awFgkJSbiif209es5khnO+qBe+JzCIH99OyDQ+Yp/PSTzm+N+2N0
 qofSagjLow4MFuN0CFoiibpK
X-SBRS: 5.2
X-MesageID: 62880735
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:34aYPqnGlaEdd5XbJuqKFy3o5gysLURdPkR7XQ2eYbSJt1+Wr1Gzt
 xIXWD3Qa/nfZWr2eIhwO9y28xgG6JOEztdiSFdspHg0RiMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BClVlxJVF/fngqoDUUYYoAQgsA180IMsdoUg7wbRh29Q32YHR7z6l4
 rseneWOYDdJ5BYsWo4kw/rrRMRH5amaVJsw5zTSVNgT1LPsvyB94KE3fMldG0DQUIhMdtNWc
 s6YpF2PEsE1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXee0v0XRYRQR4/ttmHozx+4
 Nlpn4CBFwoFBfzFtO8BTEYJQzBENqITrdcrIVDn2SCS50jPcn+qyPRyFkAme4Yf/46bA0kXq
 6ZecmpUKEne2aTmm9pXScE17ignBObmO5kQtzdM0DfdBO4OSpHfWaTao9Rf2V/cg+gQR6aOP
 5VCNFKDajzSPwFzEVASA64egcK5liDAbA0Js1Cs8P9fD2/7k1UqjemF3MDuUsaNT4NJmVmeo
 m/X12v8CxAecteYzFKt+Gitj+mJgiT8VJk6BLy89/h6xlaUwwQ7AhocX0r9rOK5jkO7UtR3J
 Ekd+y5opq83nGSmQtb0RVu5r3qJpR8VQPJAEuk77hHLwa3Riy6SA2kCXzdbZPQjqs4tWTVs3
 ViM9/viDCZjt7C9QnuH+rCZ6zi1PEA9N24LYzYZTA0Dy9bmqYA3yBnIS75LHLGwkfX8HDjix
 DbMpy94mrZ7pdACzay38lnanzupjpfMRw8xoA7QWwqN5wZ4eKakYYKy4FTW5PoGK5yWJnGGu
 HkamsWEquQHCJuAjjClXuwREarv6eztGDHRjEZzH5hn8hyp52K4O4tX5VlWI0NkMd0NfzPzV
 1PCogNa5JJVP3yCYLd+ZsS6DMFC5aT4DtHkSvD8Z8JDeIRsbxSA+DxyZEmWxCbml01EuasyP
 7+WYcGwBHAbFKEhzT3eb+4G0fkpgD8/wW/SQ5/TwBGu0L7Yb3mQIZ8dMVySdKY69qSAiF7Q/
 9tVccCNzn13auT+fy2Ryo8VIlAiJGI+Q5vxrqR/fPSOJAZvHmJ6Uqf5zrYoeogjlKNQ/s/P+
 ny+QUZexEDIjHvLMxiRantjZbXsWr5ytXs+eycrOD6A2n44fJyg648FdoA6YKFh8uF/pdZ2Q
 OMCYN6oGelUR3LM/DF1RZrwso1kMgymjBiVOCyNZyIjepdmTAvP4cLgYgrp+28FCS/fndMyv
 qe63wXHaZMGThZlCoDdb/fH51G2vX5bmuNaXk3UL90Vc0LpmKBxICvtkuA7C84JIBTHgDCd0
 m6+ABEEqO2Is4Iz2NjPma2A6YyuFoNWDkdcWmXW87uyHS3b5Xa4h59NVv6SejLQX3+y/7+tD
 c1Zxvf9PflBn1dSvpBUFKxixqYzodDootdy1gl+B3zWdXykD7phJj+N2swnnqZN3L5CpQyuW
 k+VvMYcMrGAIsDNH1sYJQ5jZeOGvdkOnTPT67IvKUP25CZo9ZKOS0AUNB6J4AR/IbV7dqA4y
 +46s88VwwC4kBwnKMmBlCNPsW+LKxQocaw9qJABRrXsgwEr4l1Fe5rREDDx+pKULd5LNyECP
 jaRjbGEhPJYy0zNYnc3PXfI1OtZw58JvXhizkIGJlmPssrIgLkwxhI52S8sUg1fwxFD0uRyE
 mtmLUt4IeOJ5TgArO1KQ3zqIBlMAhaU4GT40V5Pn2rcJ2GBTHDAKVoYKOmE/U0H229Edz0d9
 7adoE7eTTv1ddvtmAszXUJooebqS9BZ+grYns29AMOfHIJ8aj3g6oerZHAFrxKhGsI0g0vAu
 +hh1O9/Zqz8LmgbpKhTI5ed0bMcWRWVPltISPtq/L4KNWzEcTT00j+LQ31dYesUeaaMqxXhT
 ZUzeIQfDHxSyRpisBgXIYQQEuF5sMV47fYJZqy0dD4XibCQ+28BXI3rygDyg2oiQtNLmMk7K
 5/Mez/qLlF8lUe4iEeW8pAaZzPQjc0sIVSlgbvrqLlh+4cr7bk0GXzexIdYqJl83OFP2xuP9
 D3OaKbNpwCJ4dQ9xtC8ekmv6ujdFD8SaAhq2F3r2zitRYmWWSsri+/zggO6V+ixFeBJM+mbb
 ZzX7LbKMLrt5d7aqVzxlZibDLVu7s6vRudROc+fBCAEwXDYA5e3vUZbpjHQxXl1fDV1vJfPq
 +yQM5PYSDLoc40FmC09h9Z2TX7x9Jgbno+//Hjg/pxg+zAW0BDdLcPPyJMaRTozS8P8ALWnU
 lWck6/3vrhw9d0QbDdZWa0OK8ImcTfLBPt3H/Ws5GLwJjT53Tu/Vk7KyEBIBcfjUCfUSa4XI
 PvtG3DDSfhFkPiYlY4C690r4ER/4bQUqbBYQ3/xMuVe0liSJGUHMf4cIdMBDJRVmTb1z5b2e
 HfGa25KNMk3dW4snczU7IuxUwGBKPYJP9uldDUl81nNM3W9BZ+aAasn/SBlui8kdjzmxeChC
 Ncf5nyvYUThnsA3Hb4etq6hnONq5vLG3XZUq0rzpNP/XkQFCrIQ2X0/QAcUDX7bE9vAnVngL
 HQuQTwWW1myTEP8SJ4ye3NcFBwDkinoyjEkMXWGzNrF4t3Jx+xc0vzvfer01+RbPsgNIbcPQ
 1LxRneMvD/KiiBC5/Nxtotw06FuCP+NEsyrF4PZRFUfz/Oq92AqH8Iehi5THssszxFSTgHGn
 T627nlgWEnccBJN2KebwBki8o5qVi5eFCnAiQPyqGOUkRE9yNSFKRGmwBiidMP1oqnn+U5ZX
 C0TfACapFjP7Gnoojx3t/I6oF2bAJ5OSSmYA35wFp6iwA2xTGJ9Fax61xBo3t1cx3RI24FIe
 fvDyN464o+mAnuC0g2McA31uVS7Q2Ptwjg+toI=
IronPort-HdrOrdr: A9a23:Yi+CXa6NYYgk9CK4oAPXwXmBI+orL9Y04lQ7vn2ZFiY7TiXIra
 yTdaoguCMc0AxhIE3JAbi7SeS9qADnhOVICO4qTPuftWjdySGVxeRZg7cKrAeQfREWmtQttp
 uIEJIOR+EYb2IK9PoSiTPQe71Lobm6GciT9L7jJhxWPGRXgtRbnmBE43GgYylLrWd9dPgEPa
 vZwvACiyureHwRYMj+LGICRfL/q9rCk4+jSQIaBjY8gTP+ww+A2frfKVy1zx0eWzRAzfMJ6m
 7eiTH04a2lrrWS1gLc7WnO9J5b8eGRi+erRfb8yvT9GA+cyDpAV74RHoFqewpF5N1H3Wxa0+
 UkZS1QePibpUmhOF1d6iGdoTUImAxelkMKj2Xo2UcL6PaJOw4SGo5Pg5lUfQDe7FdltNZg0L
 hT12bcrJZPCwjc9R6NruQhx3lR5zaJSFcZ4JkuZkZkIP0jgX5q3P8i1VIQFI1FEDPx6YghHu
 UrBMbA5OxOeVffa3zCpGFgzNGlQ3x2R369MwM/k93Q1yITkGFyzkMeysBalnAc9IglQ50B4+
 jfKKxnmLxHU8dTZ6NgA+UKR9exFwX2MFrxGXPXJU6iGLAMOnrLpZKy6LIp5PuycJhN15c2kI
 SpaiItiYfzQTOaNSSj5uw7zvn9ehTOYd228LAh23FQgMyNeIbW
X-IronPort-AV: E=Sophos;i="5.88,320,1635220800"; 
   d="scan'208";a="62880735"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XxRAVKaDVzdzdnYU/3iaxlOFmdCo7/pnXPX2Im1fvkvKGBrYwUZ2CyJtHX58mWsCAYsGeb5LOWPVilWvR4sC0vbsg2xFo8VoR4+gDY6hEWPafKWlx6sDMx6zBpdv0nY6xH/oxlRhD2q5mJcgA7dirkQVF42Wz0aIhp5QrWG4mN3MjxTK891kJZDQZgK3Wz+L787ENRL+nJGjAtRcUJ5QEpPG/QM++vaZg16sX9P0W+8M1E06gaHLZukhN/afGcecRwRqXSUVSz+rQT0HZJGJ/5v5funYAD9OXI4/96yjQdnVnJeXpru1x9uoHcJkHJm7pgMnj+lsy1231WL/n4yiGA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7hbu8lTlU7Xu0v3B/Qae/O0uH/1D+H9aSehcBzrrA+8=;
 b=ByjRruPlBcnSaz5+Zd7GFt/Q3zXxQN9pbbc/XTADEvVSdHr6X/aEhtjEw4g6ncqi9QVJUcIrXla5/J4k2YK1gp1yQ/L6aumdqoJmx6Xs80emlh0xfrx5Hxd41jgOB66RibNoAJifC4NRho/4LghF7Wf4EtWO5ZnmHfbyfsi5UGz4x64KRbV3s5Qg4bUbY2u1ak90ylDYxModeVR6emkvs2pI6IRbph2z2o8uqoWBKp0I0iPFohUpuP4MfHZAF4tQew37flsj3i1YHKhGVuQZGRzigU6tARh7W8H3YKwTqoaHfyPpfDINLu0KfltXiQ1pwb7eAD+aTr+Z4+OzJbqidg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7hbu8lTlU7Xu0v3B/Qae/O0uH/1D+H9aSehcBzrrA+8=;
 b=mqRHwmyduF9F5TMs1BbIQ6dTvADITaeLpZP5L7gXQmREMm6cf+x7hAMNxBm7Y4or/dNycaoGMcH32IK+phT+2O9sbOE6fW4cgw8o1DBaS816DBTrib34WOFrwDyum8jc6EAGS7D3Nec6ZzI7Th8Yjr4ldexBb2+Ho4t3lMmYxkk=
From: George Dunlap <George.Dunlap@citrix.com>
To: xen-devel <xen-devel@lists.xenproject.org>, Tamas K Lengyel
	<tamas.k.lengyel@gmail.com>, "intel-xen@intel.com" <intel-xen@intel.com>,
	"daniel.kiper@oracle.com" <daniel.kiper@oracle.com>, Roger Pau Monne
	<roger.pau@citrix.com>, Sergey Dyasli <sergey.dyasli@citrix.com>,
	"Christopher Clark" <christopher.w.clark@gmail.com>, Rich Persaud
	<persaur@gmail.com>, Kevin Pearson <kevin.pearson@ortmanconsulting.com>,
	Juergen Gross <jgross@suse.com>, =?utf-8?B?UGF1bCBEdXJyYW50wqA=?=
	<pdurrant@amazon.com>, "Ji, John" <john.ji@intel.com>,
	"edgar.iglesias@xilinx.com" <edgar.iglesias@xilinx.com>,
	"robin.randhawa@arm.com" <robin.randhawa@arm.com>, Artem Mygaiev
	<Artem_Mygaiev@epam.com>, "Matt Spencer" <Matt.Spencer@arm.com>, Stewart
 Hildebrand <Stewart.Hildebrand@dornerworks.com>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, "mirela.simonovic@aggios.com"
	<mirela.simonovic@aggios.com>, Jarvis Roach <Jarvis.Roach@dornerworks.com>,
	Jeff Kubascik <Jeff.Kubascik@dornerworks.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Ian Jackson
	<Ian.Jackson@citrix.com>, Rian Quinn <rianquinn@gmail.com>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>,
	=?utf-8?B?4oCL4oCL4oCL4oCL4oCL4oCL4oCLRG91ZyBHb2xkc3RlaW4=?=
	<cardoe@cardoe.com>, George Dunlap <George.Dunlap@citrix.com>, "David
 Woodhouse" <dwmw@amazon.co.uk>,
	=?utf-8?B?4oCL4oCL4oCL4oCL4oCL4oCL4oCLQW1pdCBTaGFo?= <amit@infradead.org>,
	=?utf-8?B?4oCL4oCL4oCL4oCL4oCL4oCL4oCLVmFyYWQgR2F1dGFt?=
	<varadgautam@gmail.com>, Brian Woods <brian.woods@xilinx.com>, Robert Townley
	<rob.townley@gmail.com>, Bobby Eshleman <bobby.eshleman@gmail.com>,
	=?utf-8?B?4oCL4oCL4oCL4oCL4oCL4oCL4oCLQ29yZXkgTWlueWFyZA==?=
	<cminyard@mvista.com>, Olivier Lambert <olivier.lambert@vates.fr>, "Andrew
 Cooper" <Andrew.Cooper3@citrix.com>, Ash Wilding <ash.j.wilding@gmail.com>,
	Rahul Singh <Rahul.Singh@arm.com>, =?utf-8?B?UGlvdHIgS3LDs2w=?=
	<piotr.krol@3mdeb.com>, Brendan Kerrigan <brendank310@gmail.com>, "Thierry
 Laurion (Insurgo)" <insurgo@riseup.net>, Oleksandr Andrushchenko
	<oleksandr_andrushchenko@epam.com>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>, Deepthi <deepthi.m@ltts.com>, Scott Davis
	<scottwd@gmail.com>, Ben Boyd <ben@exotanium.io>, Anthony Perard
	<anthony.perard@citrix.com>
Subject: [ANNOUNCE] Call for agenda items for 1 February Community Call @ 1600
 UTC
Thread-Topic: [ANNOUNCE] Call for agenda items for 1 February Community Call @
 1600 UTC
Thread-Index: AQHYE20cy5jWYSei1EqhhPoTiZmPsA==
Date: Thu, 27 Jan 2022 11:00:35 +0000
Message-ID: <32874B66-E1C5-469B-98D7-FC50392C0F79@citrix.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3654.60.0.2.21)
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 5088dfdd-c23c-4d83-b3a5-08d9e1843eda
x-ms-traffictypediagnostic: DM4PR03MB5998:EE_
x-microsoft-antispam-prvs: <DM4PR03MB59987EA165F121957707D83E99219@DM4PR03MB5998.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: EbwupPKmTUkeFUBAdvkxJJWk3u+UXgQpbKQbrujfykic9Toc7g20cDRlZnX72a7OETnB6nWmJIH84f9D3VmYvZRcO0LsQdExqSMyIQjtefDkVzHc8EeaPGRyyJyQm17p8+tXB1zuibum3d0VCgbBK7MvN+c3GibU9p6rOw77Fpq7CaNwcwjUnpBbXbKX1H1S5xB4uPue7gwahojzEMbtJEYukiHmLaICwulduCy1e2tnOJauLEbQnOMScbGXGBOndciVbAC4uU7qsRMjJonemFWwrdpRj8brW7PIddn8BXyJHqbPx6nOyRIKs7eSoayeZEW/yiaIHvb0kzx9bH9u/YbDjvL8U46WNUQWSqTuzpDShZx3MTlh7XnBaHLvHROZtHJWjswtbhMYY6R3fAn5H4aQqpChhb5rVBfb2OTnO/cEyaYYtPBj3oHv81oxJr0DN1GorXo3rAMpfhqrIxuiEtmq1Z1x6+vbeth4dmKllRlzc+SNaXAfG0PwD6/Y3Et2fz8UKEmxELraj+oa5YfMPlRhbLi76LfpawZTor6o1w0VYQR+gEOWKFY3moC3+DgnJsNvpr968Twq+0+MJNSTPZ7Y13fp+n81MbJM7FcevdrZHqkLQJAbQ5S/ZsjklmMbV6FvN0QkDh43TlJdVYV50DqDpWiZ0Cy53Y8LtwfZ96k40k1JSQcgqcvclMItT6KKgKURNKOIT9z5hIP0KPeWJKqBSPe3NGIzZ0YePUKMm2DGA/lFtBslfSxxKmT1LZCDEXQckMWzRLh7pQI2jnvZXGZ5GesAluFLTsc7ngTNSgesf9NY3r7iZ8T2Yd09ZaNFqTIb++G5L9XVKOsngSkWwQ==
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR03MB5669.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(110136005)(2906002)(6636002)(2616005)(26005)(508600001)(186003)(6512007)(7416002)(7406005)(86362001)(5660300002)(966005)(6486002)(36756003)(91956017)(76116006)(66946007)(8936002)(8676002)(66556008)(66476007)(66446008)(64756008)(83380400001)(316002)(38070700005)(71200400001)(921005)(6506007)(82960400001)(33656002)(122000001)(38100700002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bVlmL2JmWWZuSWFVYmhPdGd3RDhKNmM5RDBhbDZkVm1YNGpObHYyTzZhNUlu?=
 =?utf-8?B?V3pJazAyQ25Ua0VFNWdhYWhLL2hlWFVHMDRGVkJ6a1pURGcrdnRqZEo3d01W?=
 =?utf-8?B?bEh5ZVJ4TjVIa0pZL3B5SSs2dnhRTVRYOURQQWh4U3dxNUVPSE9wYzk4ZnRY?=
 =?utf-8?B?cG5vUXVSTlFWL3R3QjcwMUx6Z0t2T29rOStIWnV6OFdRWmREZWkzSUFmcGZJ?=
 =?utf-8?B?L0lSZnpudGpIRkZHUWd4RmU4U2tCUjNFKzMyeVdlc21yL0NTYmlMaGRzbUU4?=
 =?utf-8?B?U3o1bjlrakJwd01Vd0I0c25oR3c2ZTNMZjE1L0ptelpiOHdzaVJOTmlFQ3cw?=
 =?utf-8?B?anRkTUc4c0wxYU03OFNHU3FCMm5kOFB2QXZoQ2NBNlE4elNzcjBlT2FkTjRt?=
 =?utf-8?B?c1QyclgxU2FCR3Q0d1dLQU9kNnB4WWJyQ1prTlBRd2p6bXJ0cU0yNUFkNGNE?=
 =?utf-8?B?a3duZnRSSitoWU9vbGpmSUtRVkpvMGkxZFVPT0t6RDh4cnY0QkxvZEZsTDQv?=
 =?utf-8?B?YTZjRWRUa0E0Y3RyakJDTGZNZGJWeXpSVVhsWWppZnA0ajJWL1VBYk9kZ0N5?=
 =?utf-8?B?dUJiWnBoR1dGT1lHL3F6a1BORnp0N3RuTXhMN1hTU3BOWnZCWjlkMUdVTElC?=
 =?utf-8?B?MWdTYU5sd1JOVzdjWHpZVEF5blpHMzhJOEphTFRzeGVLdkhmR3JJcThoYTVI?=
 =?utf-8?B?L1F0L3FNY2ZReGpTTGxrMHRhbmpnNXRrNUYxdjFhZnZVbi9vYVAwZTkzNXhl?=
 =?utf-8?B?ajNTeGRwMU5CdWZuNEZtbVE5UE85N2w2SlA4TktlSSs2MWFKZjcyOHdBcGhE?=
 =?utf-8?B?MGhwaXVXMHdMU2I1MTR2b3NLenVkcDhFVys4OUhSeWtkS1BDNHcwSDgyWng2?=
 =?utf-8?B?WWNrTUw2dVJrYklDdkUvdDlRL09QbHh3ek4yL3A2UHZEdzY4d2o4bXZtNkpP?=
 =?utf-8?B?QUZselZaNHFBMmZOSjZSZVY2K3p1Szk5bTdNZlhPN1RQQ3lLTnNiM3QwN082?=
 =?utf-8?B?ZmxvTHNTVjFhQ3V3dWdCbjBKbTBnMklxemlYa0hpcG05ZWdWSEZSbXBRZDFN?=
 =?utf-8?B?b0Y4QXE3RExnY1BDc1dsblZyQlYvL3UxSGhkN1h3eWVBaGhrOFRPNytsanJj?=
 =?utf-8?B?byt3UjFtayt5Qm5OWElqZFNlcXFRcTVqL3NTWHhKR0VJeXlTZ2hjbkNYVUs3?=
 =?utf-8?B?bmhvUmpwbVBhaEJQMGdWYzFSbngyQ1prK214cEpVUW02R1FTNzFPYk1DTnh4?=
 =?utf-8?B?K29jRlhJNm1NUzFoeXpUdjJxVTIrcEVDUE9IOXdKMG9JalBSdDQ2TFdjZkxS?=
 =?utf-8?B?bitLRUZub25LR2hyR0lwVkt6RzkvZEpkY3BHcjNqaFFTbDVhYmpFUktDM1g4?=
 =?utf-8?B?WVlheWliME9WNk45REpnZzd4OHB6U2w4dHNlWW12U0V3YW9KNzU2WjBTSlht?=
 =?utf-8?B?QURDOGdTZjhnaDFPS0NpV2xyYmZtdGo2Tk9aUUJzWFdDSENaTkxWNHkrUm5P?=
 =?utf-8?B?MngyeEpzTXYvMkkxQVRRZkpkaXZiTzNjYTlqaUJERkRWekRROFlXOTFKcllP?=
 =?utf-8?B?WjJQL2g0MzNrMGJRQTVab2UxM1htV1hUblgwMXVjeFkxQzV0TUc0b1VnK0JW?=
 =?utf-8?B?UmlNOElHTERWRWphOG5tdHk3cW1NSk52NzJuMU9PZ0NrMnJYRlFRWURjb1B5?=
 =?utf-8?B?bWhQczNwaVBPNTFjQ1NNdXkvc2puWnB6UVN0clp1ek5Bb09CSCtjUUlPOFpT?=
 =?utf-8?B?aitrcC8zcGc4RmQ1SUlTRjRXcm54K3JSdllJaEpmZFk5SjR3QTE5bTJxV3l2?=
 =?utf-8?B?TFpaclh3czNsSGpQNE5xMFJSR3FkcUcvczRRNXJWSkMzM1RkdXNiRWNITDdk?=
 =?utf-8?B?UlRMVGNPYWJ2cUs4UWdCT2FDRnJDOVliaG5xZUthbEtMYWpMSjZxeEcyVEpi?=
 =?utf-8?B?L1pRZURLM3lGcjdYaG9vbXRJeHREdDFNS0lmUzI3SEY5em5XWDhiazB2SWsw?=
 =?utf-8?B?ZU9OQ3YxMW0rcHRPVUNTRCtpYnNsd2UwQWtiakJFYkFaK05NZzdFNW44TTgx?=
 =?utf-8?B?UjRmNmVmcEY4TEEzMXBWcFliQlRmSnAwa1RvN3JFR3BINVlPbGEzSDArNXlq?=
 =?utf-8?B?OGZNYmlzQnRRT1FIZXFXalcvdWw0SXJBMVJLQXo2UzUyVnIvRzlFMUJVMWpH?=
 =?utf-8?B?UG8yQWIxYXFZTkVSaDUwTlduSGxJMzZLNFpyZjdSTi9MT3hRWk1HWW9VcTNO?=
 =?utf-8?Q?gFMTxooBIeVeu7MycC5pimSrzD9QjibF6n5OnR9atw=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <63AD173B395F5D499241D602A4E42EBB@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PH0PR03MB5669.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5088dfdd-c23c-4d83-b3a5-08d9e1843eda
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Jan 2022 11:00:35.4057
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: JMtl2yJnbGF2tse10zzkXL42WWdymityAYV/94MKGUoEIlh3e5dtHzYl81dThAr78ROIMmLA5lie0gY2GJMlnaKtsaF4TUK1LfWkuu17gO0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR03MB5998
X-OriginatorOrg: citrix.com

SGkgYWxsLA0KDQpUaGUgcHJvcG9zZWQgYWdlbmRhIGlzIGluIGh0dHBzOi8vY3J5cHRwYWQuZnIv
cGFkLyMvMi9wYWQvZWRpdC9JT2VNKzk0SWZ0RFowQnl1LTBhUjluMEQvIGFuZCB5b3UgY2FuIGVk
aXQgdG8gYWRkIGl0ZW1zLiAgQWx0ZXJuYXRpdmVseSwgeW91IGNhbiByZXBseSB0byB0aGlzIG1h
aWwgZGlyZWN0bHkuDQoNCkFnZW5kYSBpdGVtcyBhcHByZWNpYXRlZCBhIGZldyBkYXlzIGJlZm9y
ZSB0aGUgY2FsbDogcGxlYXNlIHB1dCB5b3VyIG5hbWUgYmVzaWRlcyBpdGVtcyBpZiB5b3UgZWRp
dCB0aGUgZG9jdW1lbnQuDQoNCk5vdGUgdGhlIGZvbGxvd2luZyBhZG1pbmlzdHJhdGl2ZSBjb252
ZW50aW9ucyBmb3IgdGhlIGNhbGw6DQoqIFVubGVzcywgYWdyZWVkIGluIHRoZSBwZXJ2aW91cyBt
ZWV0aW5nIG90aGVyd2lzZSwgdGhlIGNhbGwgaXMgb24gdGhlIDFzdCBUdWVzZGF5IG9mIGVhY2gg
bW9udGggYXQgMTYwMCBCcml0aXNoIFRpbWUgKGVpdGhlciBHTVQgb3IgQlNUKQ0KKiBJIHVzdWFs
bHkgc2VuZCBvdXQgYSBtZWV0aW5nIHJlbWluZGVyIGEgZmV3IGRheXMgYmVmb3JlIHdpdGggYSBw
cm92aXNpb25hbCBhZ2VuZGENCg0KKiBUbyBhbGxvdyB0aW1lIHRvIHN3aXRjaCBiZXR3ZWVuIG1l
ZXRpbmdzLCB3ZSdsbCBwbGFuIG9uIHN0YXJ0aW5nIHRoZSBhZ2VuZGEgYXQgMTY6MDUgc2hhcnAu
ICBBaW0gdG8gam9pbiBieSAxNjowMyBpZiBwb3NzaWJsZSB0byBhbGxvY2F0ZSB0aW1lIHRvIHNv
cnQgb3V0IHRlY2huaWNhbCBkaWZmaWN1bHRpZXMgJmMNCg0KKiBJZiB5b3Ugd2FudCB0byBiZSBD
QydlZCBwbGVhc2UgYWRkIG9yIHJlbW92ZSB5b3Vyc2VsZiBmcm9tIHRoZSBzaWduLXVwLXNoZWV0
IGF0IGh0dHBzOi8vY3J5cHRwYWQuZnIvcGFkLyMvMi9wYWQvZWRpdC9EOXZHemloUHh4QU9lNlJG
UHowc1JDZisvDQoNCkJlc3QgUmVnYXJkcw0KR2VvcmdlDQoNCg0KDQo9PSBEaWFsLWluIEluZm9y
bWF0aW9uID09DQojIyBNZWV0aW5nIHRpbWUNCjE1OjAwIC0gMTY6MDAgVVRDDQpGdXJ0aGVyIElu
dGVybmF0aW9uYWwgbWVldGluZyB0aW1lczogaHR0cHM6Ly93d3cudGltZWFuZGRhdGUuY29tL3dv
cmxkY2xvY2svbWVldGluZ2RldGFpbHMuaHRtbD95ZWFyPTIwMjImbW9udGg9MDImZGF5PTEmaG91
cj0xNiZtaW49MCZzZWM9MCZwMT0xMjM0JnAyPTM3JnAzPTIyNCZwND0xNzkNCg0KDQojIyBEaWFs
IGluIGRldGFpbHMNCldlYjogaHR0cHM6Ly9tZWV0LmppdC5zaS9YZW5Qcm9qZWN0Q29tbXVuaXR5
Q2FsbA0KDQpEaWFsLWluIGluZm8gYW5kIHBpbiBjYW4gYmUgZm91bmQgaGVyZToNCg0KaHR0cHM6
Ly9tZWV0LmppdC5zaS9zdGF0aWMvZGlhbEluSW5mby5odG1sP3Jvb209WGVuUHJvamVjdENvbW11
bml0eUNhbGw=


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 11:49:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 11:49:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261416.452606 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD3Gw-0000oW-FU; Thu, 27 Jan 2022 11:49:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261416.452606; Thu, 27 Jan 2022 11:49:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD3Gw-0000oP-Bs; Thu, 27 Jan 2022 11:49:02 +0000
Received: by outflank-mailman (input) for mailman id 261416;
 Thu, 27 Jan 2022 11:49:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1nD3Gv-0000oJ-4x
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 11:49:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nD3Gu-0006oE-IQ; Thu, 27 Jan 2022 11:49:00 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.9.172]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nD3Gu-0004Jn-AQ; Thu, 27 Jan 2022 11:49:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=eVgzKQn8WuqtrjyoIfPwpsEZJQWPOJSIVG1Hq0fetRM=; b=MPoLxCGCVdJzVD+Em6BZSXfjih
	MYQ9VUw5Eo7lDJOfXJHRSNY7d9L2eokD81paHdrNJJj3/9YZEdOFsmKggMWOJ0ssE0JHTbeVRRejL
	khBJdkuuapaKAAylTiqCC7dI5bVHgE5cQ3TBlBANDn6BcmU0qmLIW1HrBgChQDyUvy9k=;
Message-ID: <5ca5e8c4-93b8-de4c-3582-cda9bd6b809e@xen.org>
Date: Thu, 27 Jan 2022 11:48:58 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [PATCH V2 09/10] iommu/ipmmu-vmsa: Use refcount for the
 micro-TLBs
To: Oleksandr Tyshchenko <olekstysh@gmail.com>, xen-devel@lists.xenproject.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>,
 Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
References: <1640034957-19764-1-git-send-email-olekstysh@gmail.com>
 <1640034957-19764-10-git-send-email-olekstysh@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <1640034957-19764-10-git-send-email-olekstysh@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Oleksandr,

On 20/12/2021 21:15, Oleksandr Tyshchenko wrote:
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> 
> Reference-count the micro-TLBs as several bus masters can be
> connected to the same micro-TLB (and drop TODO comment).
> This wasn't an issue so far, since the platform devices
> (this driver deals with) get assigned/deassigned together during
> domain creation/destruction. But, in order to support PCI devices
> (which are hot-pluggable) in the near future we will need to
> take care of.

Looking at the code, it is not possible to share the micro-TLB between 
domains (or even Xen). So technically, we will still want to {, 
un}hotplug the devices using the same u-TLB together.

Therefore, I would clarify that this is necessary because even if we 
have to remove all the devices together, the IOMMU driver will be 
de-assigning them one-by-one.

I would add a similar comment in the code as well.

> 
> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
> ---
> Changes V1 -> V2:
>     - add R-b
>     - add ASSERT() in ipmmu_utlb_disable()
> ---
>   xen/drivers/passthrough/arm/ipmmu-vmsa.c | 19 +++++++++++--------
>   1 file changed, 11 insertions(+), 8 deletions(-)
> 
> diff --git a/xen/drivers/passthrough/arm/ipmmu-vmsa.c b/xen/drivers/passthrough/arm/ipmmu-vmsa.c
> index 649b9f6..1224ea4 100644
> --- a/xen/drivers/passthrough/arm/ipmmu-vmsa.c
> +++ b/xen/drivers/passthrough/arm/ipmmu-vmsa.c
> @@ -127,6 +127,7 @@ struct ipmmu_vmsa_device {
>       spinlock_t lock;    /* Protects ctx and domains[] */
>       DECLARE_BITMAP(ctx, IPMMU_CTX_MAX);
>       struct ipmmu_vmsa_domain *domains[IPMMU_CTX_MAX];
> +    unsigned int utlb_refcount[IPMMU_UTLB_MAX];
>       const struct ipmmu_features *features;
>   };
>   
> @@ -467,13 +468,12 @@ static int ipmmu_utlb_enable(struct ipmmu_vmsa_domain *domain,
>           }
>       }
>   
> -    /*
> -     * TODO: Reference-count the micro-TLB as several bus masters can be
> -     * connected to the same micro-TLB.
> -     */
> -    ipmmu_imuasid_write(mmu, utlb, 0);
> -    ipmmu_imuctr_write(mmu, utlb, imuctr |
> -                       IMUCTR_TTSEL_MMU(domain->context_id) | IMUCTR_MMUEN);
> +    if ( mmu->utlb_refcount[utlb]++ == 0 )
> +    {
> +        ipmmu_imuasid_write(mmu, utlb, 0);
> +        ipmmu_imuctr_write(mmu, utlb, imuctr |
> +                           IMUCTR_TTSEL_MMU(domain->context_id) | IMUCTR_MMUEN);
> +    }
>   
>       return 0;
>   }
> @@ -484,7 +484,10 @@ static void ipmmu_utlb_disable(struct ipmmu_vmsa_domain *domain,
>   {
>       struct ipmmu_vmsa_device *mmu = domain->mmu;
>   
> -    ipmmu_imuctr_write(mmu, utlb, 0);
> +    ASSERT(mmu->utlb_refcount[utlb] > 0);
> +
> +    if ( --mmu->utlb_refcount[utlb] == 0 )
> +        ipmmu_imuctr_write(mmu, utlb, 0);
>   }
>   
>   /* Domain/Context Management */

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 11:54:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 11:54:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261419.452617 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD3MB-0002Bu-3B; Thu, 27 Jan 2022 11:54:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261419.452617; Thu, 27 Jan 2022 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 1nD3MA-0002Bn-Vw; Thu, 27 Jan 2022 11:54:26 +0000
Received: by outflank-mailman (input) for mailman id 261419;
 Thu, 27 Jan 2022 11:54: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 1nD3M9-0002Bh-7r
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 11:54: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 1nD3M8-0006u5-LR; Thu, 27 Jan 2022 11:54:24 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.9.172]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nD3M8-0004Yo-F0; Thu, 27 Jan 2022 11:54:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=DkjgMq13UlcESViqDZrJGA1EG+ZEpaKX2A/4U7xThqs=; b=g+I5phPSTnjy7yrxnbuVVJiuqh
	WcHsyM84NM/hQ7K0GosTT0LCUmQ5vOFhUFqFR0+oP/HDlr1rOfeVhU6ODkVMBiLMKGTOyToUs2NVW
	4meb9wnuEHV8xTukDOK01V7VSNxeukWBcEUS4SOH2iE3Y9MCQxuaaaR1tRXAvxg/iavU=;
Message-ID: <8384b39e-4cd1-95e0-73e0-60b0f2876fe4@xen.org>
Date: Thu, 27 Jan 2022 11:54:22 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [PATCH V2 10/10] iommu/arm: Remove code duplication in all IOMMU
 drivers
To: Oleksandr Tyshchenko <olekstysh@gmail.com>,
 xen-devel@lists.xenproject.org, Bertrand Marquis <bertrand.marquis@arm.com>,
 Rahul Singh <rahul.singh@arm.com>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>,
 Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
References: <1640034957-19764-1-git-send-email-olekstysh@gmail.com>
 <1640034957-19764-11-git-send-email-olekstysh@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <1640034957-19764-11-git-send-email-olekstysh@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 20/12/2021 21:15, Oleksandr Tyshchenko wrote:
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> 
> All IOMMU drivers on Arm perform almost the same generic actions in
> hwdom_init callback. Move this code to common arch_iommu_hwdom_init()
> in order to get rid of code duplication.
> 
> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> Reviewed-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
> ---
> Changes V1 -> V2:
>     - add R-b
> ---
>   xen/drivers/passthrough/arm/iommu.c      |  7 +++++++
>   xen/drivers/passthrough/arm/ipmmu-vmsa.c |  8 --------
>   xen/drivers/passthrough/arm/smmu-v3.c    | 10 ----------
>   xen/drivers/passthrough/arm/smmu.c       | 10 ----------
>   4 files changed, 7 insertions(+), 28 deletions(-)
> 
> diff --git a/xen/drivers/passthrough/arm/iommu.c b/xen/drivers/passthrough/arm/iommu.c
> index ee653a9..fc45318 100644
> --- a/xen/drivers/passthrough/arm/iommu.c
> +++ b/xen/drivers/passthrough/arm/iommu.c
> @@ -134,6 +134,13 @@ void arch_iommu_domain_destroy(struct domain *d)
>   
>   void __hwdom_init arch_iommu_hwdom_init(struct domain *d)
>   {
> +    /* Set to false options not supported on ARM. */
> +    if ( iommu_hwdom_inclusive )
> +        printk(XENLOG_WARNING "map-inclusive dom0-iommu option is not supported on ARM\n");
> +    iommu_hwdom_inclusive = false;
> +    if ( iommu_hwdom_reserved == 1 )
> +        printk(XENLOG_WARNING "map-reserved dom0-iommu option is not supported on ARM\n");
> +    iommu_hwdom_reserved = 0;
>   }
>   
>   /*
> diff --git a/xen/drivers/passthrough/arm/ipmmu-vmsa.c b/xen/drivers/passthrough/arm/ipmmu-vmsa.c
> index 1224ea4..64d8ddc 100644
> --- a/xen/drivers/passthrough/arm/ipmmu-vmsa.c
> +++ b/xen/drivers/passthrough/arm/ipmmu-vmsa.c
> @@ -1325,14 +1325,6 @@ static int ipmmu_iommu_domain_init(struct domain *d)
>   
>   static void __hwdom_init ipmmu_iommu_hwdom_init(struct domain *d)
>   {
> -    /* Set to false options not supported on ARM. */
> -    if ( iommu_hwdom_inclusive )
> -        printk(XENLOG_WARNING "ipmmu: map-inclusive dom0-iommu option is not supported on ARM\n");
> -    iommu_hwdom_inclusive = false;
> -    if ( iommu_hwdom_reserved == 1 )
> -        printk(XENLOG_WARNING "ipmmu: map-reserved dom0-iommu option is not supported on ARM\n");
> -    iommu_hwdom_reserved = 0;
> -
>       arch_iommu_hwdom_init(d);
>   }

With this change, ipmmu_iommu_domain_init() is just a call to 
arch_iommu_hwdom_init(). The two functions have the same prototype, so 
could we simply drop the former and update the .hwdom_init to directly 
point to the latter?

>   
> diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
> index d115df7..ca8b5c7 100644
> --- a/xen/drivers/passthrough/arm/smmu-v3.c
> +++ b/xen/drivers/passthrough/arm/smmu-v3.c
> @@ -3404,16 +3404,6 @@ static int arm_smmu_iommu_xen_domain_init(struct domain *d)
>   
>   static void __hwdom_init arm_smmu_iommu_hwdom_init(struct domain *d)
>   {
> -	/* Set to false options not supported on ARM. */
> -	if (iommu_hwdom_inclusive)
> -		printk(XENLOG_WARNING
> -		"map-inclusive dom0-iommu option is not supported on ARM\n");
> -	iommu_hwdom_inclusive = false;
> -	if (iommu_hwdom_reserved == 1)
> -		printk(XENLOG_WARNING
> -		"map-reserved dom0-iommu option is not supported on ARM\n");
> -	iommu_hwdom_reserved = 0;
> -
>   	arch_iommu_hwdom_init(d);
>   }
>   

Same here.

> diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough/arm/smmu.c
> index c9dfc4c..ec18df7 100644
> --- a/xen/drivers/passthrough/arm/smmu.c
> +++ b/xen/drivers/passthrough/arm/smmu.c
> @@ -2851,16 +2851,6 @@ static int arm_smmu_iommu_domain_init(struct domain *d)
>   
>   static void __hwdom_init arm_smmu_iommu_hwdom_init(struct domain *d)
>   {
> -	/* Set to false options not supported on ARM. */
> -	if ( iommu_hwdom_inclusive )
> -		printk(XENLOG_WARNING
> -		"map-inclusive dom0-iommu option is not supported on ARM\n");
> -	iommu_hwdom_inclusive = false;
> -	if ( iommu_hwdom_reserved == 1 )
> -		printk(XENLOG_WARNING
> -		"map-reserved dom0-iommu option is not supported on ARM\n");
> -	iommu_hwdom_reserved = 0;
> -
>   	arch_iommu_hwdom_init(d);
>   }
>   

Same here.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 12:07:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 12:07:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261425.452628 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD3Yt-0003te-EQ; Thu, 27 Jan 2022 12:07:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261425.452628; Thu, 27 Jan 2022 12:07:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD3Yt-0003tX-BC; Thu, 27 Jan 2022 12:07:35 +0000
Received: by outflank-mailman (input) for mailman id 261425;
 Thu, 27 Jan 2022 12:07:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD3Ys-0003tR-HF
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 12:07:34 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b4971746-7f69-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 13:07:32 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2105.outbound.protection.outlook.com [104.47.18.105]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-2-YJuAr0bGN_2eIYdYNty1FA-1; Thu, 27 Jan 2022 13:07:31 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DBBPR04MB7994.eurprd04.prod.outlook.com (2603:10a6:10:1ea::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 12:07:29 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 12:07:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b4971746-7f69-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643285252;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=d6zYVxrnV4iqT4Z0mURDK/A+PhocD2Ui6NiNclR8aO8=;
	b=kZYoLvDT0xa2801hzPLd9/5BwRr7TeMvLBpz+kTNd8Dej99OGAKuBx0casdjWKPgz1N21Y
	4l14IJmCunPkIfCB13Ldm231u/7XXc6hQOZAtl8PMTsSRxpjMJWy4kYplwmPphHd8FTkF4
	wkkEMxOuryDnCfHPNdW4JgHlPYWYjXQ=
X-MC-Unique: YJuAr0bGN_2eIYdYNty1FA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=G29pQTsd+5VMmTa8p7QpZdngjpIhlyUB1Y7ETbj0EcBRaKZou44FthoY8Mxk6ELZlQ3EzZLe63SjhC0NjCWc6/MBOiywvk8yX1CWOc3CnusoXMu4d1gk09fhkqwr/RhqjKzhOSifzZMlzTW3tsYdePaZipfW+zsByTRm1F+VXsoDrzY0YOV/xOzzjPQOMQHVRUNfILDkCL3ZVd45v2QDM0tAM3IQolpQyut/5XBepUWoCEPHjtxTRBg/yXuA7skvU0YZDtx53q9mlZuVtwizljrihCapSR68n58yjdnYPjve5xo2/Y/oCaaxZ8noZedTvZ6sebivkfydIGOqp1E0Kg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=d6zYVxrnV4iqT4Z0mURDK/A+PhocD2Ui6NiNclR8aO8=;
 b=c5pU7IQOo+nt6JebVD4suXy2Xwk+Zv6kuTWQQyQsYPYlRbWuhhEMrcy+canQ1DK/Duoo8/6eq4ZjXEMJOd4rTeEAvaN7Jc04odJhbZ0M9duxdM5tPu5aSOjXD2rqdhlxzUqGh/A9YMcTknEn1RV34pSwJYgqLEESvLNLS7Hm6zjKkUeYADCPoiha8hudDur45l+GzJRNqQI7FPQhMFpkK81A7TZHtrMcp8BaEWybleqVlbwwz3sYoiLg1ZjNQmuTGEMWZ8RwAHtRroYSVM3xeBVKwieJVGdE3H6EbPY3MHXJgmt9jCv5zt3StnQXsrC9A3Wm2tHysdLsG1WhSGRUgQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b2edac13-f019-f615-0655-8510bfffedbe@suse.com>
Date: Thu, 27 Jan 2022 13:07:28 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [XEN PATCH v2 2/5] xen: export get_free_port
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, jgross@suse.com,
 Bertrand.Marquis@arm.com, Volodymyr_Babchuk@epam.com,
 Stefano Stabellini <stefano.stabellini@xilinx.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop>
 <20220113005855.1180101-2-sstabellini@kernel.org>
 <f3b2ae98-c7af-d8c0-b0a4-52e622517c34@xen.org>
 <alpine.DEB.2.22.394.2201241652330.27308@ubuntu-linux-20-04-desktop>
 <14af544d-0d20-9b58-4d70-5f5086ece032@suse.com>
 <alpine.DEB.2.22.394.2201251435030.27308@ubuntu-linux-20-04-desktop>
 <a992cf74-a75a-43d0-f83a-cd9549f586a8@xen.org>
 <alpine.DEB.2.22.394.2201251530400.27308@ubuntu-linux-20-04-desktop>
 <aa7aee5b-71cf-78c3-f8a2-f8d166f22ecb@suse.com>
 <966ac15d-e91f-e812-1021-296ef60a9a06@xen.org>
 <alpine.DEB.2.22.394.2201261727550.27308@ubuntu-linux-20-04-desktop>
 <33d1c1eb-7d6d-21c6-8ed4-3daef5be90d3@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <33d1c1eb-7d6d-21c6-8ed4-3daef5be90d3@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0001.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::11) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 65b72a62-e90e-4872-f056-08d9e18d973b
X-MS-TrafficTypeDiagnostic: DBBPR04MB7994:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-Microsoft-Antispam-PRVS:
	<DBBPR04MB79944F3626AE06B6F52F8093B3219@DBBPR04MB7994.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:
	RUKw/p5scu5Hk/MWROiQ84Sj05pql+SB1y9mUbiDKCm6VZrlAdP9EnGMI0Fh1fTLU+HyeDJBW4t7CyJm21yMFu08F0fc2FaqG1hLs9WpQw0MWNqGfR6f3bRQhnseNv2SIsDFBxLMqYrHE4PUb0MnW8dnLa85hUw8XmDckLPifkcpm0n72wxLvzk3WRuZGdpNwkdupO6PE0uXfrlLEQp6G2uZ4fmfN5a3rGPkmccxxsmNRhWTfdP4IfPB6lgtQ0txvI+h7cdgixroV0j46qooAxXn1NntmztfkN1xpGvwg+Uj/HHMQozzmxQVjuTsSzyqUYulBhyHisCPx7ZxIlnoQFEO1ZZtvv/kN89HXACdZOTJGostWbfFM4xTiEJrSbWdHtBQz/4Z8dkBWggCkc97HggIokVQpPx1hEicyStcLrV37mp265z6CE4WX/Vn4oUybJFbS0cez7ygq4jQs/+ArcrMUTCIVL886aWZ8Zilgo5JfAM7h20VJkcjP/gv8ILy6FeM1cVNhHVChsPwVdqDadHPaN9ypztJAnQFRrlB+rEkELP5r6r7JsiRx+cS760/ccgrlQMZE6S37920TQ9vlcBEGND0cQg8BA7GaigNx71QErCcue3yuZxTqP2PrkZopgXsUCNrX3d8JLgsufk9nmLV/MVuuk0o5uxOeQ36YOHhzhr4ioKK8zvm3iERZfMHrlf9Sd9lbQJ9G5d32NjqdWbzZrqL9TO3hRQ4yjJrS9s=
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:(13230001)(366004)(6486002)(31686004)(36756003)(508600001)(66476007)(66556008)(4326008)(5660300002)(8936002)(8676002)(66946007)(53546011)(6506007)(6512007)(86362001)(316002)(31696002)(54906003)(6916009)(2616005)(2906002)(38100700002)(186003)(26005)(83380400001)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TXVjaG9icHl2ZmwyVUhuTVpPcC9xQVAxQ1V0cU9uemVQWk1pcjM1ZXlUNGRL?=
 =?utf-8?B?dDdjTXN1WWI3RjBzalgweTVNTFNmVCtDTGNIMUJHMEVUbDNnMFh2ZnR2cDZH?=
 =?utf-8?B?NVF1RUhGd2pGY0plZU5Galc5empJOUp6MUY4WU5aWWlzYjBCM01Cd3FJTlQz?=
 =?utf-8?B?YlZmMk1UbEhuK0JRNjRZbUM4YmtwQW5OWmJOQjFNbzZMOHF2T3l0ZWhjOTcx?=
 =?utf-8?B?Rmg4YTczUHI5VkFmSThPYkZRSWpFSzZza2xjSWo5ZThLTTdFN0pEOU8zL2VH?=
 =?utf-8?B?WWN5dDFHbXg5WVJhVlptQ2tqOUtMZ1VwRUlOSVpkMWgyWENoU3l1VHRmSGEw?=
 =?utf-8?B?RC83OUpnQnBGaW5KN2owYzV5UjdIL09tWTZMdDFVQ0FKbmVGMXN3bHJmTmZj?=
 =?utf-8?B?dkpyL1pIQXpxdGVOYmpoTnpMVHZzNmRhWXJQcGFybk5QaGlaaHpGYjIzOTNq?=
 =?utf-8?B?cFEyRklxY0ltN3pnT2QrOExPVGhrSzFram81SmhEWkIvbkw5aGg4MzVvRlNG?=
 =?utf-8?B?VHhWSElRU1N2ZDJsZ0g1Q0FsT1ArTy8vOGJsMmF3dEgzc1d0ZlhqdFZqT1NJ?=
 =?utf-8?B?UjlhRTIrK2YwOTBmdEpKUFJyWHRYK2RtaWozejVxajVHVVluSjkrd1dINFZt?=
 =?utf-8?B?bEhhYUU2V3JMN25CWE5SdnB5a1czbjIwOFVvbjVESzlLbHA1cDZ3YlNPMkxm?=
 =?utf-8?B?SklGSWtFZTRDWXN1TDBKbHhETDkxcEtIRUNoeldBeTZ2T3JzZkhHZWVCQU9N?=
 =?utf-8?B?YTlCK3dOQXBCMFFYN0NwRENoRGlEZTUzcWhEKzhLTUlPalBBVEVpVDc0dis2?=
 =?utf-8?B?RVZZVnp1VW40d1FIaEtQWkxRQ2JvSWNNZEVHWXV3OUhHMlhWT1BibjlOclZk?=
 =?utf-8?B?RklIdkh3T0ZaZUpzQWJiUmZ5NUQydkJqZmsyVzdTQnRCZ0g5Wm0ySFl3QThn?=
 =?utf-8?B?UU1KcVFMd1ZDRWNNRFdvUUFQWWR5NVU5ekV6ZktjeWs2dDY5MW1qNnhKVjU5?=
 =?utf-8?B?Y1F5VmJ2L1ljLy93OFVSQUpqYjZnOVFSaytySWZIL1FWMDByeS9vUHc0NnZ5?=
 =?utf-8?B?VzVDUkpBM3RJY0I2NHFrRk1YTzY0ejBIdWwvUERHOUVYeWRVSmhWVnpLOEN1?=
 =?utf-8?B?SE5Cb1c0YTFSaGplRUFpTXg3WjFYei90K2VpaXNaRzJINWlOTzFBdUJhSDcv?=
 =?utf-8?B?WnlyajQyRVlhYjJYNVNXYVNadGJjU3ZKYU1XSlRFZWN1bkNqeFhPb3pyeC90?=
 =?utf-8?B?VDZFemNrRFp6eFRtUjFONUZnZHRKUlJVeHRCVWhoalhqMDhZdTJVSHpOc1o5?=
 =?utf-8?B?ZGJDeTZMMFZYRFdENjY2cHFhcDBGVUtrN3d3R2Zjd1dPSGJUbUJoNGQ2Qklj?=
 =?utf-8?B?QmZtQ3YycnJKZmVmNjBwVjlOTFl0Y0E4elZYVnJXZHgya005YnlFUnpDMzdp?=
 =?utf-8?B?WGFQdlo3UlM0amxvU05MdU05RkE4YnFPWXpVMlNuNG9NVjFLaklhZ3JJcldv?=
 =?utf-8?B?Nk5JN2VMRWQyaHBGZENJaTFGV3FFUk82ZkVvQTVpZERFOFpETmdoLzMwbVAy?=
 =?utf-8?B?dHlMTTZBZVIyMmROeEh3ZEtsd1NiR0liUDNkbGthTTVLTjZydFNSZUdmMW83?=
 =?utf-8?B?VlVWTWtzOGlaazNXbnpwbnVPNkY4WUVqUTJQVUZkbEY3RHBmV1hOY1o1MnJl?=
 =?utf-8?B?aDJ4YnI2ZDNnOWsyQkZnTEQwMkgvd05VYkpEdzZtNXN6WlU1MmRSSlplTlhp?=
 =?utf-8?B?djhQOWphblAvK2U5amE1blkrQXI3SGRwaXpXd2U4UlFEZWZjL1BLTUhVbXps?=
 =?utf-8?B?WkJtQVJWWHdvRnJLS3dwY0pBRE1CNUkrM0tTNFA3Qm5uaEJBbXlSWjRjaThN?=
 =?utf-8?B?NVIxc0tkZlJKK0ZuQnY1d28yM1FKclNncnpXSllCOU9DemQzWC91aCtOYnpW?=
 =?utf-8?B?enllLy9LQVRxZXdsL2dKRDJMK212dlVXeXJkSGFZQnpSSkJ2ZFlXd0I2VTN2?=
 =?utf-8?B?czVhQ2pCUnBPckRCb1dJWjBPamlYVlYyTVAvdEFod0hMSDZ0SVdqblRXMFhQ?=
 =?utf-8?B?UmlKSW9mVEU4MnRvYjQ2Y0xLSzZRblFUVFFhOVJKbkN1VkUxNW8xSlcyYy80?=
 =?utf-8?B?MzZObzIxWmFaRU50aEZ3NTBFYnZHdU1xVHF5ZlVYQjBaYXBEbUVRWE9ERlVM?=
 =?utf-8?Q?ebToS/bKdVmqYUrzBEKHOdY=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 65b72a62-e90e-4872-f056-08d9e18d973b
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 12:07:29.4968
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mgBaIatCmbED4cNjdEE4KwW7U0HiZ7wOQ+6aDzGPdiMjT81+MDJd18fF5W0OWXMJBxHeqAtniZOOKewIF29GLw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7994

On 27.01.2022 10:51, Julien Grall wrote:
> On 27/01/2022 01:50, Stefano Stabellini wrote:
>> On Wed, 26 Jan 2022, Julien Grall wrote:
>>> On 26/01/2022 07:30, Jan Beulich wrote:
>>>> On 26.01.2022 02:03, Stefano Stabellini wrote:
>>>>> Are you guys OK with something like this?
>>>>
>>>> With proper proof that this isn't going to regress anything else, maybe.
>>>
>>> That's why I sugested to also gate with system_state < SYS_STATE_boot so we
>>> reduce the potential regression (the use of hypercall should be limited at
>>> boot).
>>>
>>> FWIW, there was a thread [1] to discuss the same issue as Stefano is facing
>>> (but in the context of Live-Update).
>>>
>>>> But ...
>>>>
>>>>> --- a/xen/include/xsm/dummy.h
>>>>> +++ b/xen/include/xsm/dummy.h
>>>>> @@ -92,7 +92,9 @@ static always_inline int xsm_default_action(
>>>>>                return 0;
>>>>>            /* fall through */
>>>>>        case XSM_PRIV:
>>>>> -        if ( is_control_domain(src) )
>>>>> +        if ( is_control_domain(src) ||
>>>>> +             src->domain_id == DOMID_IDLE ||
>>>>> +             src->domain_id == DOMID_XEN )
>>>>>                return 0;
>>>>
>>>> ... my first question would be under what circumstances you might observe
>>>> DOMID_XEN here and hence why this check is there.
>>
>> For simplicity I'll answer all the points here.
>>
>> I added both DOMID_IDLE and DOMID_XEN because I thought it "made sense",
>> but there is no need for DOMID_XEN. We only need DOMID_IDLE. Also adding
>> a system_state <= SYS_STATE_boot is fine (but it needs to be <= instead
>> of <). The patch appended below works without issues.
>>
>> Alternatively, I am also quite happy with Jan's suggestion of passing an
>> extra parameter to evtchn_alloc_unbound, it could be:
>>
>> int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc, bool disable_xsm);
>>
>> So that XSM is enabled by default.
>>
>> Adding the bool parameter to evtchn_alloc_unbound has the advantage of
>> having only a very minor impact.
> 
> We will likely need similar approach for other hypercalls in the future 
> if we need to call them from Xen context (e.g. when restoring domain 
> state during Live-Update).
> 
> So my preference would be to directly go with modifying the 
> xsm_default_action().

How would this help when a real XSM policy is in use? Already in SILO
mode I think you wouldn't get past the check, as the idle domain
doesn't satisfy silo_mode_dom_check()'s use of is_control_domain().
Actually I'm not even sure you'd get that far - I was under the
impression that the domain at other side of the channel may not even
be around at that time, in which case silo_evtchn_unbound() would
return -ESRCH.

Additionally relaxing things at a central place like this one comes
with the risk of relaxing too much. As said in reply to Stefano - if
this is to be done, proof will need to be provided that this doesn't
and won't permit operations which aren't supposed to be permitted. I
for one would much prefer relaxation on a case-by-case basis. That
said I'm afraid it hasn't become clear to me why the XSM check needs
bypassing here in the first place, and why this is acceptable from a
security standpoint.

>> --- a/xen/include/xsm/dummy.h
>> +++ b/xen/include/xsm/dummy.h
>> @@ -94,6 +94,8 @@ static always_inline int xsm_default_action(
>>       case XSM_PRIV:
>>           if ( is_control_domain(src) )
>>               return 0;
>> +        if ( system_state <= SYS_STATE_boot && src->domain_id == DOMID_IDLE )
> 
> I would surround this with unlikely and possibly prevent speculation (Jan?).

Unlikely - perhaps yes. Preventing speculation in principle also
yes, but not at the expense of adding a 2nd LFENCE (besides the one
in is_control_domain()). Yet open-coding is_control_domain() wouldn't
be very nice either. But as per above I hope anyway we're not going
to need to find a good solution here.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 12:10:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 12:10:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261428.452639 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD3bS-0005EH-UY; Thu, 27 Jan 2022 12:10:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261428.452639; Thu, 27 Jan 2022 12:10: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 1nD3bS-0005EA-Q9; Thu, 27 Jan 2022 12:10:14 +0000
Received: by outflank-mailman (input) for mailman id 261428;
 Thu, 27 Jan 2022 12:10:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NFuB=SL=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1nD3bR-0005E4-2R
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 12:10:13 +0000
Received: from mail-lj1-x22f.google.com (mail-lj1-x22f.google.com
 [2a00:1450:4864:20::22f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 136cf24e-7f6a-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 13:10:11 +0100 (CET)
Received: by mail-lj1-x22f.google.com with SMTP id e9so4029423ljq.1
 for <xen-devel@lists.xenproject.org>; Thu, 27 Jan 2022 04:10:12 -0800 (PST)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id y3sm948020lji.96.2022.01.27.04.10.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Jan 2022 04:10:10 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 136cf24e-7f6a-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=EP7H1MD7VG4qY9HkmiP9yxysuw89DmQofTsk0GAt9TA=;
        b=KU58LSIWdCK+KfN2tMigMREB7xEjUONNrgMfOGISdIjc4jrBMEbGeRM1PwMWfVxtXt
         2FFKTUARbOaZzVg6qEBluh406KOqPQiPdBLUWtNT/cX6nRmZPxgdarjSy4ffu46NzpAU
         T7MjUsnnsGWql/wh3QSwuhGrODtPTrf5qWyhY90j7JnDkMnyCxL4JelxeqCaG9aF4s8d
         PDSwz4ZO8xb8xS+M6SFrvbdmYh6Xt61ugFKKt2ZAmPsXaOR412wc09NC+wd5v6oeXYnU
         zhF8mNWzaYwD1hLybKn7RzFacyDvp7a22G1DJArrAsS2mqsS7NJdibWSSFmyhm5cM7N2
         dwIw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        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=EP7H1MD7VG4qY9HkmiP9yxysuw89DmQofTsk0GAt9TA=;
        b=uRdz3l4qBGpHPzi6ULFdcr5myXO/7Mn3ySRGk/lA9ug6a7lkyYAaH9FAGWWMh9m14H
         LS+ISm+qwtDua/ki1ENpFYayYfkDX5ClAQ40YvBHmQY3YkKjpOXvsgRwIIUok23wjM1N
         p+DTCIEWT4HNPfXDlFVYOO0QwSRFj3W87g/coq5h4lpqIVT9CKeDjH30yT2C1FZEL+XL
         uMQSBTp1uE5jOkQsS8gut5VnXW95uP0AMTVJjixxfmVObPsTjBSs00bbsVY6d8613FkE
         5hpCiVRH84UQPar6LsVA+yQAqYVlcYJGtjjsR7aM7lpb3GxFrMyCCJTUuMR87n/6IsII
         HKCA==
X-Gm-Message-State: AOAM533fgGDdGpwGJDDVCHDa7/48MSMi+/Os7H0HSX/RG1xi1vhn2Yws
	hbU9YnBLZc4ouwCK/0puH4w=
X-Google-Smtp-Source: ABdhPJxUnG178fExzwUO0teByZF6fKEsKML/emfdI05MaFrjTpwVBXgA4ZaBfV7eLOU4RhgYAEgLDQ==
X-Received: by 2002:a05:651c:17a2:: with SMTP id bn34mr2779247ljb.34.1643285411317;
        Thu, 27 Jan 2022 04:10:11 -0800 (PST)
Subject: Re: [PATCH V2 10/10] iommu/arm: Remove code duplication in all IOMMU
 drivers
To: Julien Grall <julien@xen.org>, Rahul Singh <rahul.singh@arm.com>
Cc: xen-devel@lists.xenproject.org,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>,
 Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
References: <1640034957-19764-1-git-send-email-olekstysh@gmail.com>
 <1640034957-19764-11-git-send-email-olekstysh@gmail.com>
 <8384b39e-4cd1-95e0-73e0-60b0f2876fe4@xen.org>
From: Oleksandr <olekstysh@gmail.com>
Message-ID: <a1d8f32b-1424-8874-dafc-4caeba82772b@gmail.com>
Date: Thu, 27 Jan 2022 14:10:09 +0200
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: <8384b39e-4cd1-95e0-73e0-60b0f2876fe4@xen.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US


On 27.01.22 13:54, Julien Grall wrote:
> Hi,


Hi Julien


>
> On 20/12/2021 21:15, Oleksandr Tyshchenko wrote:
>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>
>> All IOMMU drivers on Arm perform almost the same generic actions in
>> hwdom_init callback. Move this code to common arch_iommu_hwdom_init()
>> in order to get rid of code duplication.
>>
>> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>> Reviewed-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>> Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
>> ---
>> Changes V1 -> V2:
>>     - add R-b
>> ---
>>   xen/drivers/passthrough/arm/iommu.c      |  7 +++++++
>>   xen/drivers/passthrough/arm/ipmmu-vmsa.c |  8 --------
>>   xen/drivers/passthrough/arm/smmu-v3.c    | 10 ----------
>>   xen/drivers/passthrough/arm/smmu.c       | 10 ----------
>>   4 files changed, 7 insertions(+), 28 deletions(-)
>>
>> diff --git a/xen/drivers/passthrough/arm/iommu.c 
>> b/xen/drivers/passthrough/arm/iommu.c
>> index ee653a9..fc45318 100644
>> --- a/xen/drivers/passthrough/arm/iommu.c
>> +++ b/xen/drivers/passthrough/arm/iommu.c
>> @@ -134,6 +134,13 @@ void arch_iommu_domain_destroy(struct domain *d)
>>     void __hwdom_init arch_iommu_hwdom_init(struct domain *d)
>>   {
>> +    /* Set to false options not supported on ARM. */
>> +    if ( iommu_hwdom_inclusive )
>> +        printk(XENLOG_WARNING "map-inclusive dom0-iommu option is 
>> not supported on ARM\n");
>> +    iommu_hwdom_inclusive = false;
>> +    if ( iommu_hwdom_reserved == 1 )
>> +        printk(XENLOG_WARNING "map-reserved dom0-iommu option is not 
>> supported on ARM\n");
>> +    iommu_hwdom_reserved = 0;
>>   }
>>     /*
>> diff --git a/xen/drivers/passthrough/arm/ipmmu-vmsa.c 
>> b/xen/drivers/passthrough/arm/ipmmu-vmsa.c
>> index 1224ea4..64d8ddc 100644
>> --- a/xen/drivers/passthrough/arm/ipmmu-vmsa.c
>> +++ b/xen/drivers/passthrough/arm/ipmmu-vmsa.c
>> @@ -1325,14 +1325,6 @@ static int ipmmu_iommu_domain_init(struct 
>> domain *d)
>>     static void __hwdom_init ipmmu_iommu_hwdom_init(struct domain *d)
>>   {
>> -    /* Set to false options not supported on ARM. */
>> -    if ( iommu_hwdom_inclusive )
>> -        printk(XENLOG_WARNING "ipmmu: map-inclusive dom0-iommu 
>> option is not supported on ARM\n");
>> -    iommu_hwdom_inclusive = false;
>> -    if ( iommu_hwdom_reserved == 1 )
>> -        printk(XENLOG_WARNING "ipmmu: map-reserved dom0-iommu option 
>> is not supported on ARM\n");
>> -    iommu_hwdom_reserved = 0;
>> -
>>       arch_iommu_hwdom_init(d);
>>   }
>
> With this change, ipmmu_iommu_domain_init() is just a call to 
> arch_iommu_hwdom_init(). The two functions have the same prototype, so 
> could we simply drop the former and update the .hwdom_init to directly 
> point to the latter?

Yes, good idea, will update. Thank you.


>
>
>>   diff --git a/xen/drivers/passthrough/arm/smmu-v3.c 
>> b/xen/drivers/passthrough/arm/smmu-v3.c
>> index d115df7..ca8b5c7 100644
>> --- a/xen/drivers/passthrough/arm/smmu-v3.c
>> +++ b/xen/drivers/passthrough/arm/smmu-v3.c
>> @@ -3404,16 +3404,6 @@ static int 
>> arm_smmu_iommu_xen_domain_init(struct domain *d)
>>     static void __hwdom_init arm_smmu_iommu_hwdom_init(struct domain *d)
>>   {
>> -    /* Set to false options not supported on ARM. */
>> -    if (iommu_hwdom_inclusive)
>> -        printk(XENLOG_WARNING
>> -        "map-inclusive dom0-iommu option is not supported on ARM\n");
>> -    iommu_hwdom_inclusive = false;
>> -    if (iommu_hwdom_reserved == 1)
>> -        printk(XENLOG_WARNING
>> -        "map-reserved dom0-iommu option is not supported on ARM\n");
>> -    iommu_hwdom_reserved = 0;
>> -
>>       arch_iommu_hwdom_init(d);
>>   }
>
> Same here.
>
>> diff --git a/xen/drivers/passthrough/arm/smmu.c 
>> b/xen/drivers/passthrough/arm/smmu.c
>> index c9dfc4c..ec18df7 100644
>> --- a/xen/drivers/passthrough/arm/smmu.c
>> +++ b/xen/drivers/passthrough/arm/smmu.c
>> @@ -2851,16 +2851,6 @@ static int arm_smmu_iommu_domain_init(struct 
>> domain *d)
>>     static void __hwdom_init arm_smmu_iommu_hwdom_init(struct domain *d)
>>   {
>> -    /* Set to false options not supported on ARM. */
>> -    if ( iommu_hwdom_inclusive )
>> -        printk(XENLOG_WARNING
>> -        "map-inclusive dom0-iommu option is not supported on ARM\n");
>> -    iommu_hwdom_inclusive = false;
>> -    if ( iommu_hwdom_reserved == 1 )
>> -        printk(XENLOG_WARNING
>> -        "map-reserved dom0-iommu option is not supported on ARM\n");
>> -    iommu_hwdom_reserved = 0;
>> -
>>       arch_iommu_hwdom_init(d);
>>   }
>
> Same here.
>
> Cheers,
>
-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 12:14:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 12:14:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261431.452649 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD3fY-0005sE-E0; Thu, 27 Jan 2022 12:14:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261431.452649; Thu, 27 Jan 2022 12:14:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD3fY-0005s7-As; Thu, 27 Jan 2022 12:14:28 +0000
Received: by outflank-mailman (input) for mailman id 261431;
 Thu, 27 Jan 2022 12:14:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD3fW-0005rv-KH
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 12:14:26 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id aa94098f-7f6a-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 13:14:24 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2108.outbound.protection.outlook.com [104.47.18.108]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-4-bZFxq0s8PdiXNfQ0I0ji4g-1; Thu, 27 Jan 2022 13:14:24 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AS8PR04MB9175.eurprd04.prod.outlook.com (2603:10a6:20b:44a::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Thu, 27 Jan
 2022 12:14:23 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 12:14: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: aa94098f-7f6a-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643285665;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=e9w6f5wY8mPKlXWlY/G1Nrj5kr1M+9umWtcuCiq59gI=;
	b=IcdIjbIJeN7d8J8sgaj/dUkm1MGJcMSDxAtaO9HG9wfIGo4SyySDbIr/dC80IRcmbUczPO
	O7VJFtlQB4qHd/5XnJfmbzZimqeJU/hGcx3QXUPOR7yz225JJPo39eLGGLvAedb0r4F2V4
	kUkACgH4/YppqZGGq7Qt/iyMrjlfnjc=
X-MC-Unique: bZFxq0s8PdiXNfQ0I0ji4g-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=T1mekHaD3v7A8cbPk+egDGLTZy3qv1ddaQ2RuNgtQX+KxsubkSSxrFTndJtkX9Y4fw20fDlMo+kdnCjjmy/2mEt1GoRYGqAHZYabxpDgpR8mo6kFcch9Hw8T1eRnr9QVXFZSWnBA6VE1gyBIAQugTZMm1MM9xfxxDyeNVX5J7jrVi+HnamDFMob4TCDaqK2yi/HI8SA8GYJ4jrBAXI07yzL6EQsaZ53fiwlvMS4GStPoOemtTJCjOUudVxeFl5HLqCO9tXR4Jihr7jOAhExNwlIh7QfLI5P8Z5yseinIsP5F5x9KBAzZxmshqUJoal58CAgfZiU1kPhnwjAlbgObng==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eqpTnif0F9bY38cKDGOlfIum6QhbwVE2YJhicpSd+V4=;
 b=XrjRktZhf3gwuNeq/VW4xKN1LeIiasR+FXM0g9N9uUhemJJOW0MkPp55ambHT1XjYsF1puoRzBkYbsSWkikPcDUkNptIi1IL1gFkD/C0RhsVXZpO4qT1yQVozq68APXa8lY+/kdhXH6w+8nrOM/YVSIAuhHFfpGRQ2+TSQeQGvzgpRL5Hoh2XlM+88XUC2KM7R2JOtaFX6kDJGAxoIss/GbgYXvQc42DVkaB0JRwfIy6Kok4XTLp6zmZNrXXbUfiDqPtbqhAs0uiAhcyOc/04uDGyhIphNdE8b5AHhcZpcG7voHCQfwc2u4hFLUJhHOWGKei+TjJFh1IVUyCTJYzbw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <994b74d9-12db-dcfe-5dfa-eb01394262ae@suse.com>
Date: Thu, 27 Jan 2022 13:14:21 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v2] xen/pci: detect when BARs are not suitably positioned
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org
References: <20220127082218.57902-1-roger.pau@citrix.com>
 <4a82bfdf-479d-3813-069a-84d30a6e29fd@suse.com>
 <YfJqF8/IIz7k+8G3@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YfJqF8/IIz7k+8G3@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM6P194CA0100.EURP194.PROD.OUTLOOK.COM
 (2603:10a6:209:8f::41) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: bfabafd8-a154-4f90-9392-08d9e18e8de3
X-MS-TrafficTypeDiagnostic: AS8PR04MB9175:EE_
X-Microsoft-Antispam-PRVS:
	<AS8PR04MB9175C7A54D5152D83C255662B3219@AS8PR04MB9175.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:2150;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GkqNPfJi3khmVjflL8IuC+IWUyQDY2qeM7+78liVmOFTAA9gkQd7xE+g22MErn0L7O5/KNqDby9ugE6Gl8e8/bZpYlNDMBuwkWKpDCmwNKRSSYYRp00r2ugBCwtSGxLdoWQWesikq5YwiPri6v2/VAb6KbMTH+HqAUhaOn7fX5XuOtF+2Bhf5HeFHj4bEiUf62javrCaaxAbumiGEyth39BUCJvk54LXhVpxsBi5d8abLnl1mSYZHqJMaxQyFy4KG7DSQJ+1gMEgFmbhEo+riZriBugXw24yG0VzIt473d2kGgm9ao/Ke4cVM4OJA6A+a3PBLo8yd8bWHVRdChuS/tDloMYa7XFn3WGGk/Vz/0rxhd11fij2TrhHviYhO5mELDMczJrG7IcytvGf/geu+StDwDhdVo3EW+0ato32x7pZmFcFR09idvGOWECMaxWSTdq9tsKG9NuAiAPpffJVXMCia3Vl92O9FXDrg48O8tkqIgDfmJuM6WsVQV1GeeZC9eLgSPVqHkdeYEZoZU1tDyM3rRp3cSQ6ZUlI2qHCkpBJ3zYDS+6c9X1cNbeyjcCB1EyJ0Xe0vU4u3on+ZW145NbQGQGOfgzXg+3pBgOwRLxPD9P0qqCGQ3OsTN7tTVGb0xOdzo7C7/AaCoPsvlXcsIDWLOEiZP8byM7E4F4AK7roVQ2FniPWgmw3KLD++l9tr2VfEQQWryjOgY8y2ZQG0lFx17IzV2MDgLYqT2f0at5R5DtS/oOVam4a2g+BMWyk
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:(13230001)(366004)(6512007)(508600001)(6506007)(53546011)(38100700002)(6486002)(4326008)(54906003)(66946007)(66556008)(31696002)(2906002)(8936002)(86362001)(8676002)(66476007)(5660300002)(26005)(186003)(36756003)(2616005)(31686004)(7416002)(6916009)(316002)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?7jwFbHfNkA6L0nEyz5RTYBVCphtTUc9AvrP6BkxfVQlpP6MSl4cYrTa7jS1Z?=
 =?us-ascii?Q?ym7gtBCuMSwf73RCRKtIwJPz2v6wG8LTigRU1t0yem4tkYvADru0zgp5fHxb?=
 =?us-ascii?Q?WQY/ZOmZIysQxmsz4EpdZmvq9BIY6PGiBINEU6MSFUgSUXQgZTqi3jCoOEzS?=
 =?us-ascii?Q?faoOt53pu/y0oVTlN2U8uPlIQ34ClCHfD3CAVCrNMSGEyId63H8MNsYkmgSn?=
 =?us-ascii?Q?A3mSV/BEoLniQEmmjRe1OlNZx4AD5paaU9JQxWnVpLX7NKjF5EjqaiTICACQ?=
 =?us-ascii?Q?M+dVZCQxKcjhQTnkJy0fTRzY6hgG01JmLOkX1maQUWGIg6OCKMMr0qtW3I7K?=
 =?us-ascii?Q?VMsPlprSxc8+Wx7YcAVQic98GEwqkIQdRLhk0gKFT6X1WqMVE6U6flScFDay?=
 =?us-ascii?Q?qA1uIXkhEN+YnXrE2OG72fqenhuogzo1bUc4rItlUDfyIxgofMfmTWyS4eV6?=
 =?us-ascii?Q?hy25VGfv3wNU3A+THkCFdWIZDk26HlOPNtIkI6/XZX96uCHLXFyGPIXfVPvx?=
 =?us-ascii?Q?VIYhwmRqSwXM14Hr/fbDG+5Mnkr2LgTorMzERI/3TSOprSKAHW4EEjmWu1nM?=
 =?us-ascii?Q?vSNAc/HfMUESj+F7QIEnPIrdvNz1YstYaT1Z+FJdyPSyLz7Xq2IR48sLOXWz?=
 =?us-ascii?Q?xnVuyzQUGs2H2aCArERwtzipM4BHBozypiRyTizbUC7LTomKOr70iPfdT59V?=
 =?us-ascii?Q?VdEIiohLn1qe+Y8gUnCzmWJu0oBwTDUKn0sC+WH+ehW4voFKxa/S+MLDOeir?=
 =?us-ascii?Q?2XWapaCJTAQVXSbcw54MDgBmG8lXsPsJzzt+ABKLtsfOjzSiC9BPKwwu/Ezm?=
 =?us-ascii?Q?IzDwLtdPDvASlVOtwxbsHzjZTz23S0XcVs/YTGmGAwOBkd+zW6993J0g8GHZ?=
 =?us-ascii?Q?mz0TzGBP9MYDyHFSl0aRG5T03mahMf54O1OpYWJRVESd8BQALxsn6+ZsDfIF?=
 =?us-ascii?Q?JO8XYN7mArevZukTZpahzakhH2K6Lnpm7LoHfTPbScq4iOfZlHul502MnHGv?=
 =?us-ascii?Q?TyCeKilRTz5dvI7k3lIB+iT25TDWc+Tyzz+iy133lfdozHOZb04Xgl3QB4KB?=
 =?us-ascii?Q?3nKSQ0vEeblzpvGQTojRkcH/Me8peo/n/HAeL0NWRsf6dOElP1Uzd9jBsEXL?=
 =?us-ascii?Q?lOUy6J0xwnM4d/mWJsxKlFDidWMtQeo+edLaqSYLrJDzTsVOWcQrteQ+l5oU?=
 =?us-ascii?Q?TAx8ej8wQUtGcrjyq0LLCTOq+mi89n+p19fDOOa96FQav/Hm4sJs+bbdT+VS?=
 =?us-ascii?Q?yRkfw6sRhZh5FkoZFa4Gr5HOsZo5poxEeAy4Zf0N+ULjaQafwHp5sc1VS2dD?=
 =?us-ascii?Q?NxNyGNktEFzcUUBO7IuGH0SET7FXGS0Zr172Z6z7ImV8LYByQB0WuPuVnSIV?=
 =?us-ascii?Q?FR2Z+e79gZIrTWvX+8NK4LDZi/JuPEBYNKtYTgemOo2GrOyRZXLnHkyjig6C?=
 =?us-ascii?Q?qZqY6V6gu3wFFdh0XBFtlCdrX6DIADq5kBJdAueLDzAaxNf1a9EpUq4ra3L1?=
 =?us-ascii?Q?Ne7fheN+nI9nvA+DNxpONWy7rseOQmlpaeHbda33Q0AlHEL3oq7ArpZBeDPH?=
 =?us-ascii?Q?OmwFjXEnpfgLm67rHnccL/fmAUERoFaek7SV8p46ZeDhh1fnWojq8T7XdBTJ?=
 =?us-ascii?Q?Bp+TBIucJr634yJuTM0IALs=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bfabafd8-a154-4f90-9392-08d9e18e8de3
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 12:14:23.3618
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: nFZbVZSfOmQVQy4jbjo0pJyP0c2+/4BIScWTvyDBCIc8jVZy2EV+oblcUk/PH7lUs0dFHAYW8C5w6wPSuzYc7Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB9175

On 27.01.2022 10:47, Roger Pau Monn=C3=A9 wrote:
> On Thu, Jan 27, 2022 at 09:48:16AM +0100, Jan Beulich wrote:
>> On 27.01.2022 09:22, Roger Pau Monne wrote:
>>> --- a/xen/arch/arm/mm.c
>>> +++ b/xen/arch/arm/mm.c
>>> @@ -1625,6 +1625,17 @@ bool is_iomem_page(mfn_t mfn)
>>>      return !mfn_valid(mfn);
>>>  }
>>> =20
>>> +bool is_iomem_range(paddr_t start, uint64_t size)
>>> +{
>>> +    unsigned int i;
>>> +
>>> +    for ( i =3D 0; i < PFN_UP(size); i++ )
>>> +        if ( !is_iomem_page(_mfn(PFN_DOWN(start) + i)) )
>>> +            return false;
>>> +
>>> +    return true;
>>> +}
>>
>> I'm afraid you can't very well call this non-RFC as long as this doesn't
>> scale. Or if you're building on this still being dead code on Arm, then
>> some kind of "fixme" annotation would be needed here (or the function be
>> omitted altogether, for Arm folks to sort out before they actually start
>> selecting the HAS_PCI Kconfig setting).
>=20
> I was expecting the lack of 'RFC' tag to attract the attention of the
> maintainers for feedback.

Oh, I see.

>>> --- a/xen/arch/x86/mm.c
>>> +++ b/xen/arch/x86/mm.c
>>> @@ -783,6 +783,23 @@ bool is_iomem_page(mfn_t mfn)
>>>      return (page_get_owner(page) =3D=3D dom_io);
>>>  }
>>> =20
>>> +bool is_iomem_range(paddr_t start, uint64_t size)
>>> +{
>>> +    unsigned int i;
>>> +
>>> +    for ( i =3D 0; i < e820.nr_map; i++ )
>>> +    {
>>> +        const struct e820entry *entry =3D &e820.map[i];
>>> +
>>> +        /* Do not allow overlaps with any memory range. */
>>> +        if ( start < entry->addr + entry->size &&
>>> +             entry->addr < start + size )
>>> +            return false;
>>> +    }
>>> +
>>> +    return true;
>>> +}
>>
>> I should have realized (and pointed out) earlier that with the type
>> check dropped the function name no longer represents what the
>> function does. It now really is unsuitable for about anything other
>> that the checking of BARs.
>=20
> is_devmem_range would be more suitable?

I'd make it even more tight and use e.g. is_pci_bar_range(). Or
maybe is_uncovered_range()?

> I will wrap this in an #ifdef HAS_PCI section now.

What would be the point of that, as long as X86 selects HAS_PCI
unconditionally? (Arguably one may want to turn off PCI support in
shim-only builds.)

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 12:25:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 12:25:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261437.452664 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD3qP-0007SB-G5; Thu, 27 Jan 2022 12:25:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261437.452664; Thu, 27 Jan 2022 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 1nD3qP-0007S4-Cr; Thu, 27 Jan 2022 12:25:41 +0000
Received: by outflank-mailman (input) for mailman id 261437;
 Thu, 27 Jan 2022 12:25:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD3qO-0007Ry-0g
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 12:25:40 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3c0ea3cc-7f6c-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 13:25:38 +0100 (CET)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2054.outbound.protection.outlook.com [104.47.12.54]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-29-0yvwEGqyPsuXVCsp6Xj3aw-1; Thu, 27 Jan 2022 13:25:36 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM0PR04MB4369.eurprd04.prod.outlook.com (2603:10a6:208:6f::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 12:25:35 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 12: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: 3c0ea3cc-7f6c-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643286338;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=DbcpEA0scycMrCPtp2utFKAS4NxXqQt9jVqs8C0Fg4M=;
	b=OFyRWzaxJVSN3rOnb0Zqdh5VbzQQfGB7foCwZPUFmIFxlyRkSs6EBDLWAGAmzsjTdOQPYW
	blslDhq/k2Mc2+D7pDFeXmXIlON+zre9r5tfwRZSju1GxjZoOoetVYUqC96voqxeWj426z
	qnou4kA6UnvwWRQHG6RGGKAnBKyyM6A=
X-MC-Unique: 0yvwEGqyPsuXVCsp6Xj3aw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BV6g/jPUY3c+ghbVAiqDMI2DMDPqCzYnU0udH6I4iUDyDtffKeMwQwbhzAEMoLCX9t6SLyDAv59YpH+3OV11JJA4rjpFCip6BTw6axMSHPnmqze0NkmCytw7G7k6IyzfYukBpR+HKUUsf9yjTq5QeKhVPaSTCcTiAU2TcXA2ZkKP6mJZoH6yYLuoS/TF4tjfxUOb3FoRs18Gy1G6VLCh4K/rK7EIKV8bREEfDQ9d8Z/mrwGaBEuoxQonP2tIq9Z/NxX3t4mF91l23aSiyvL/g4iv2s1dJAMjjhVFLCh+E2EWJj5hcjnyEF4Y1FL2Fiowhu6aV9pg9P/41TSY58TEQQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DbcpEA0scycMrCPtp2utFKAS4NxXqQt9jVqs8C0Fg4M=;
 b=ebt/Rzzc7P28lUqfddU/24qWtH3I3ss7aclD6DdyOtEGIQ9RFi6U57IYXajpOYdZS2pjRDVteUnnrgFncb4P4q+G3oRFJH2nSfFBv80KB+Kw73oJ14YRCr4HUbgxBef9rZ0m2R1VdM/V/pQyM8I1igvCvnUtYuZtP1rMQ6VVZPGqZrTexs/5bSD/DC12I4MJww8COhGQuorsm9/wjy+DPgPn8Kszkl9lKbbqtK/4YL/YuRGyFupZxiEn+bcsk/XhFG8b/kajlyF4efewkCtyWrrjlX2IHedGHHRJMlmX8ddAGfGx+UkIoUuDHKP6VdmaVxN96ymT6GEOrKMH8+8yjQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2860d074-ecfb-273a-88c7-391e3297ccba@suse.com>
Date: Thu, 27 Jan 2022 13:25:34 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v4] EFI: always map EfiRuntimeServices{Code,Data}
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Sergey Temerkhanov <s.temerkhanov@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <89d182f6-95e8-674a-2297-6e98435385f8@suse.com>
 <f5e38653-aa2a-c843-39c8-f8c69fc9fbde@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <f5e38653-aa2a-c843-39c8-f8c69fc9fbde@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR08CA0015.eurprd08.prod.outlook.com
 (2603:10a6:20b:b2::27) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: fda0a45a-b903-4c3f-7305-08d9e1901e6f
X-MS-TrafficTypeDiagnostic: AM0PR04MB4369:EE_
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB4369E0BC80278153D5B9036AB3219@AM0PR04MB4369.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:
	chYmTwvRQoJ24JI4kF9pw3/6cFJwhjVvvTlOUHivUE0MA0I13UbIFwKiTnvsLigOZYb8W432XIBmuh3vs27TG9OJOutI0tRN71xCYzaije3UulYHgRO4dLy+hiwzLaQAlhhVorYXVqaLeq4RpughfRZyVOY69vjNIoppc1Rja3NUnqsN6dl4UtKKey1UdrWj2kp67kjARYThiNDtC5g7Na39jez57rieNZKpLtgytm64kmBnXSzTPv1iFTQJTeixcizL7iNTZo7spk3+XUWycMBYqpfso+U0Ps6nwCBZRXKOTgzhfUbrm2L3L61xJ2oU+W9AIEBWATLeDw0hldqWuw+pBIuJ3+TMzDRI3/9oOq1GqjYZbmpYdxV5qUQ3mhdwS7SQiYCr51N3P8Oku+sMxmXuW5tEvCNA1A/3yPjJqmFHn9CLiuAatoGmnusd1S7pQ93VgSD+iaEGbPG+8dmLjSlDYOaGTrJFCg/TmRdmGGwDCFvtUMr8zR+naWW2B/lpno7XnuJ+jYQAdPdOJro0I/MCtOCm0roOHG6YkVb69xXlg1dhEFYb+UgdKlpAOV2TspbOD3ZtxOH1aJwrniKeInbsErNZAHb/fHPjVYe1hUwXZs1Y2y/bY9DkNd6dfru7dCgRaQ23JGCzkd7l8EYPRIFGJjZO0Yj9q2WCosQ7xBVYxKDGppp+CSDSDmXAVDB8ypvd43riow5bZvCmw6I8uy885fK5LrHkbb2iv7I7dIBT72Nms161pqaSfOekHgIE
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:(13230001)(366004)(83380400001)(316002)(6916009)(508600001)(31696002)(54906003)(6506007)(53546011)(6512007)(26005)(6486002)(186003)(86362001)(2616005)(8676002)(8936002)(36756003)(38100700002)(5660300002)(31686004)(2906002)(66476007)(66556008)(66946007)(4326008)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VVJxcW5mU1lkVXBvTmZQalpTWEg4SEZUUEU4ODZOb25WdERkWUtFTWVFUlBC?=
 =?utf-8?B?cXlqNkVqU3d0dWVKd000Y1JTb3VLc1djNGZTVnZLSkx5MGFVU3R2MHp5TE8r?=
 =?utf-8?B?V1p4SURrV3Q3UW80OXhDNU9KUjIxdVkrVjVodCtRbk5GMThGK2czSHdjMGMx?=
 =?utf-8?B?VEtpNDJmNUp6UzRUK0ZXYWJEK2tzZWJpazVLaGx6cWhhTDRjNC9TYmJsR3dQ?=
 =?utf-8?B?WUI1RHV2WVJKUG5iUXNJeFV5UE1OVE9GeFRZSDk3a2FnQzNxYkpHcWdTcXE4?=
 =?utf-8?B?Q1JjTitDaXNsdm56TEJnQUFzeUZzU2gzZ0t6dUFCeUUzQXVUck0zZnRCYU5N?=
 =?utf-8?B?T0NFWnFOV0ozK1RxZ25ua3ZpV3lPWEVlMlNGS3FwVitnL2NIRW4xVkU4RzVP?=
 =?utf-8?B?Z1RyeG9PVXZ2dEJpakFFQm8wbXpOeTNWS08wWDRNZ0xKYmNlbGZKT0ZiYk5J?=
 =?utf-8?B?UitQb3JUMVFIbTJ3TGYxM09FZEFONFRQUkxpaWZBSnhaWm1CU2tFR0RjQlFB?=
 =?utf-8?B?YnZWSW01SFNVNmlaVjc0ZEtIVThyNHVEY0N4T1RudDNUcG52enkzTHJ2aURS?=
 =?utf-8?B?ZFlpYXpzM2trb2t5V1ppbXJjY3ltbWRoajlpR3lQVWM1REUxWmlyK1E5S3FN?=
 =?utf-8?B?eDA5bHF1VjJhYU9MeWl3cCtkalRmdC93a3FrUFBCQmEvaHlDMHRWbEJBY2tl?=
 =?utf-8?B?dzloaFNuRys4RVRqTHJGTmNpUU5VRzNaVGdCZ0xNQzR2L2xHOG94QWVsQTY3?=
 =?utf-8?B?YWxQZnNCNHJpenhleWVCVmtwNXFvc3RkZXlmaUEwMzhzbTRyTGZuK1JZSU5D?=
 =?utf-8?B?VFJLSTZKTUQxTEwwcTQrUlI4dERvUElnU2pXdjZpUWFCWFZZRVlvODFvVERx?=
 =?utf-8?B?MnVhT29pSmNDYXBXcUV1SGh4Y0lRV21WS29sRXBLSHNMUEl4U0JBNnNxaE9a?=
 =?utf-8?B?cFVsN1FXRnduQUdnaEhWVWxTdkRZbXV4YU9ubVhKMklhaDRuUEVWZlVZZysr?=
 =?utf-8?B?ZnkrZUg0Y0ZZRGJMd2VlZ2l1dEFKYkgrQWIyREZjUXoxUkNNRXdZTWhjRG9p?=
 =?utf-8?B?S2I1V1JrUExEaDd2NnQrMzhLcDY0REZ1OEk1MThETGliNWpiOUhkZW4vU0lI?=
 =?utf-8?B?QzNId3VTamcrc3VIS1FmejE4cHROaGdOaVczb0JvRkZKeDNPTW1LcjFlOXF0?=
 =?utf-8?B?RDE4bjhYYWlBSFhHdEhmN29aQWxqN01uWHJ4RDFTOU5yNlc2YnZyc00zc3Bs?=
 =?utf-8?B?cWthRitiV3k1MDRoaUNWY1J1K2E2K3cxaENPc3VMMUZSZmovUnJTamlDQjA4?=
 =?utf-8?B?ZFBEbGF4SHp5dExVYVZBSWl5Q2hsQ01sM1paQ2hxQTdSNmVuWUM3cy9oQXdS?=
 =?utf-8?B?Y01ReVIyeWpoZDhsazU3NmtaOHlVMTRLRzhzNGdaUFpmc3MyTktNK21YazFu?=
 =?utf-8?B?YjhDUUFOREZIQXZOMjgwSjgxd0EvTytvUWZ6bmtlRG1rNk5CbThuSEZWUXA2?=
 =?utf-8?B?L0NZK25sZDhEV09wWjlFckJaZnJ5eDY5U0MwNW9TUjBLMzhWdEFONGJkVEUr?=
 =?utf-8?B?S214YVpBNW1IeThROE16d0lmV0xmM1FpN1hZNGR5WUg1SnJhVjU4c0FEV3Ns?=
 =?utf-8?B?RWp2Y29lcTM5MUVjcURSQy9QNUF0dkJFMWRMMjk1cExSUUlzRXF5bHZqLzVt?=
 =?utf-8?B?Lys2dEFRVjljRlJzd2c0VzV2TFd1ZWhyR25WU1QrYklibWtCeFZkR21lenV3?=
 =?utf-8?B?VGMzYzhEQWN6dlltYlR2dmFJYVRlN1ZrcmFpeEZqREgwV0hlNnU1bjBjVEZ2?=
 =?utf-8?B?QlBOUWFERDU4cFF1YklQZWZ1NlVMUWZKenFZajNBenRJOG80WjlMeGx5NTBU?=
 =?utf-8?B?eEk3L3U0bjR4SlFyTkl3YlNXNms3RmUwU2NqMmNrdXI0cysvUkwrd0hWYzFy?=
 =?utf-8?B?S0JUR0pKZ2RVTjBlTmNydi9oTnAyZTVhMS9RMm8vaDBicldqMFJsZnV1Sk00?=
 =?utf-8?B?VXUwZHZkUFg3SGdEQXJ3UkRGcEtzWGdkRXhsQ25lM2ExK3ZnNk1BU1BtTkhR?=
 =?utf-8?B?Q0pTUTN4YkpBZStIbmdHQjM3U0dtRm9IRFVOMVJ2dlhKNm4rTmFRcmRpT3B3?=
 =?utf-8?B?MjJwVmJBUkUya3ZPUzJYUXViVGVyT2FUbW1ZV05JSUsvVVZoaVMybFUzczg0?=
 =?utf-8?Q?cE9kaLwHECwEtXQApf3qG3k=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fda0a45a-b903-4c3f-7305-08d9e1901e6f
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 12:25:35.3046
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6kQQIeE87M0FojPhvq0JVNkIc9VMTPBZYo3Odv004Ejgql5loB4kiTiqvPktXvHhnUBnh7nUs2rSm/nJePDhNg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4369

On 27.01.2022 11:45, Julien Grall wrote:
> On 12/01/2022 08:45, Jan Beulich wrote:
>> From: Sergey Temerkhanov <s.temerkhanov@gmail.com>
>>
>> This helps overcome problems observed with some UEFI implementations
> 
> Would it be possible to provide some details about the platform? This is 
> helpful to track why a workaround is present.

I cannot provide any details. I took over the patch after pinging
Sergey more than once, without any reaction. It was him to actually
run into the problem in the wild.

>> which don't set the Attributes field in memery descriptors properly.
> 
> typo: s/memery/memory/
> 
>>
>> Signed-off-by: Sergey Temerkhanov <s.temerkhanov@gmail.com>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> v4: Drop EFI_MEMORY_CACHEABILITY_MASK. Fold with pre-existing if() (into
>>      switch()). Style.
>> ---
>> I guess "map_bs" would also want honoring in efi_exit_boot(), but that's
>> yet another patch then I suppose.
> 
> IIUC, we would need to invalidate the mapping when map_bs was used. Is 
> it correct? If so, then I agree this sounds separate to the issue you 
> are describing here.

No, the other way around: We'd also need to put in a valid virtual
address there for EfiBootServices{Code,Data}. I expect this wasn't
done when map_bs was introduced because iirc at that time the code
fragment in efi_exit_boot() was entirely dead, present merely for
documentation purposes.

>> --- a/xen/common/efi/boot.c
>> +++ b/xen/common/efi/boot.c
>> @@ -1094,7 +1094,13 @@ static void __init efi_exit_boot(EFI_HAN
>>       {
>>           EFI_MEMORY_DESCRIPTOR *desc = efi_memmap + i;
>>   
>> -        if ( desc->Attribute & EFI_MEMORY_RUNTIME )
>> +        /*
>> +         * Runtime services regions are always mapped here.
>> +         * Attributes may be adjusted in efi_init_memory().
>> +         */
>> +        if ( (desc->Attribute & EFI_MEMORY_RUNTIME) ||
>> +             desc->Type == EfiRuntimeServicesCode ||
>> +             desc->Type == EfiRuntimeServicesData )
> 
> My knowledge with the stub is limited. Would you be able to explain why 
> we need to map the runtime services even with !efi_enabled(EFI_RS)?

In principle we wouldn't need to, but the final setting of this bit
isn't known yet at this point - it'll be known only after parsing
the command line (see parse_efi_param()).

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 12:36:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 12:36:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261440.452674 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD41A-0000WF-H6; Thu, 27 Jan 2022 12:36:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261440.452674; Thu, 27 Jan 2022 12:36:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD41A-0000W8-Dp; Thu, 27 Jan 2022 12:36:48 +0000
Received: by outflank-mailman (input) for mailman id 261440;
 Thu, 27 Jan 2022 12:36: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 1nD419-0000W2-UC
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 12:36: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 1nD418-0007iy-Rp; Thu, 27 Jan 2022 12:36:46 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.9.172]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nD418-0008JX-J0; Thu, 27 Jan 2022 12:36:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=dRf7NYrtscc1cf6dd5B2HAqYl2hJywvb0E/fQzYI7jM=; b=Jop1sEMzeKmp5w6VCSMW+dxhO9
	vHe96O+H0h7us/c77NFhqbwyEd1d29fvvrCJSwQWcZBHzzSoPp3QknNnYzOA48ijlF97lh6KAV01b
	aweX5I4DlDvzhk6Lga0aOL9ctkv10z6Ze4wKUDB30X6yJZLu6pDtfD99ONV7etSBnQdE=;
Message-ID: <485dd117-f8f0-e0fc-e3bc-7e430813648e@xen.org>
Date: Thu, 27 Jan 2022 12:36:44 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [PATCH V2 00/10] Add support for Renesas R-Car S4 IPMMU and other
 misc changes
To: Oleksandr Tyshchenko <olekstysh@gmail.com>, xen-devel@lists.xenproject.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Jan Beulich
 <jbeulich@suse.com>, Paul Durrant <paul@xen.org>,
 Rahul Singh <rahul.singh@arm.com>,
 Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>,
 Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
References: <1640034957-19764-1-git-send-email-olekstysh@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <1640034957-19764-1-git-send-email-olekstysh@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 20/12/2021 21:15, Oleksandr Tyshchenko wrote:
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> 
> Hello all.
> 
> You can find the V1 patch series at [1].
> 
> The R-Car S4 is an automotive System-on-Chip (SoC) for Car Server/Communication
> Gateway and is one of the first products in Renesas’ 4th-generation R-Car Family.
> 
> The integrated IOMMU HW is also VMSA-compatible and supports stage 2 translation
> table format, therefore can be used with current R-Car Gen3 driver with slight
> modifications.
> 
> In the context of Xen driver the main differences between Gen3 and Gen4 are
> the following:
>   - HW capacity was enlarged to support up to 16 IPMMU contexts (sets of page table)
>     and up to 64 micro-TLBs per IPMMU device
>   - the memory mapped registers have different bases and offset
> 
> The first part (commits #1-6) is a non-verbatim port of Linux upstream commits
> needed to add support for S4 series easily (prereq work).
> The second part (commits #7-8) is based on the code from the Renesas BSP and
> actually introduces support for R-Car S4 IPMMU.
> The third part (commits #9-10) is misc changes I have locally.
> 
> The patch series is based on the latest staging branch
> "f3999bc2e099 arm/efi: Handle Xen bootargs from both xen.cfg and DT"
> and also available at [2].
> 
> Tested on Renesas Salvator-X board with H3 ES3.0 SoC (Gen3) and Renesas Spider
> board with S4 SoC (Gen4).
> 
> [1] https://lore.kernel.org/all/1638035505-16931-1-git-send-email-olekstysh@gmail.com/
> [2] https://github.com/otyshchenko1/xen/commits/s4_ipmmu_ml2
> 
> 
> Oleksandr Tyshchenko (10):
>    iommu/ipmmu-vmsa: Remove all unused register definitions
>    iommu/ipmmu-vmsa: Add helper functions for MMU "context" registers
>    iommu/ipmmu-vmsa: Add helper functions for "uTLB" registers
>    iommu/ipmmu-vmsa: Add light version of Linux's ipmmu_features
>    iommu/ipmmu-vmsa: Calculate context registers' offset instead of a
>      macro
>    iommu/ipmmu-vmsa: Add utlb_offset_base
>    iommu/ipmmu-vmsa: Add Renesas R8A779F0 (R-Car S4) support
>    iommu/ipmmu-vmsa: Set IPMMU bit IMSCTLR_USE_SECGRP to 0

For the first 8 patches:

Acked-by: Julien Grall <jgrall@amazon.com>

I have also committed them. The last..

>    iommu/ipmmu-vmsa: Use refcount for the micro-TLBs
>    iommu/arm: Remove code duplication in all IOMMU drivers

... 2 patches have some comments. So I have committed them yet.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 12:47:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 12:47:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261452.452721 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD4BN-0002VF-S8; Thu, 27 Jan 2022 12:47:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261452.452721; Thu, 27 Jan 2022 12:47:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD4BN-0002V8-P3; Thu, 27 Jan 2022 12:47:21 +0000
Received: by outflank-mailman (input) for mailman id 261452;
 Thu, 27 Jan 2022 12:47: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 1nD4BM-0002Ux-Dv; Thu, 27 Jan 2022 12:47: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 1nD4BM-0007vh-D9; Thu, 27 Jan 2022 12:47: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 1nD4BL-0006rS-Vr; Thu, 27 Jan 2022 12:47:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nD4BL-0001MA-VR; Thu, 27 Jan 2022 12:47: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=lgsFsfKvGgHFK9Zzr0KH4sg7r+sMoU9loAGolyA6+L4=; b=zx40UnygVyr64Yw9UAndecOkO2
	nUAS5NS1UmYhJjwwWB1BhUNr9/jEwdzvqoGSVLws90h6Am0Sh8q8hIDoh2wxvaOhL51hiOspk9Yjs
	Ptgv90orK/izxU/lnxA2poP7STSXAOh2yr6MIEuwMwtRBT9u7qUknPjySlhHo90DO/Xo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167907-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 167907: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=8cc5590eab974ab34e2bfa1c9d6a7ef94c70ffae
X-Osstest-Versions-That:
    ovmf=7e5c603cba0823fd97456984f4cfc21c4c831b52
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 27 Jan 2022 12:47:19 +0000

flight 167907 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167907/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 8cc5590eab974ab34e2bfa1c9d6a7ef94c70ffae
baseline version:
 ovmf                 7e5c603cba0823fd97456984f4cfc21c4c831b52

Last test of basis   167803  2022-01-24 01:55:31 Z    3 days
Testing same since   167907  2022-01-27 02:40:24 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Kun Qin <kuqin12@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   7e5c603cba..8cc5590eab  8cc5590eab974ab34e2bfa1c9d6a7ef94c70ffae -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 12:55:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 12:55:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261459.452732 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD4If-0003uF-L2; Thu, 27 Jan 2022 12:54:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261459.452732; Thu, 27 Jan 2022 12: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 1nD4If-0003u8-Hi; Thu, 27 Jan 2022 12:54:53 +0000
Received: by outflank-mailman (input) for mailman id 261459;
 Thu, 27 Jan 2022 12:54:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD4Ie-0003u2-8u
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 12:54:52 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 50c2904f-7f70-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 13:54:51 +0100 (CET)
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur02lp2053.outbound.protection.outlook.com [104.47.4.53]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-15-DWnCEEcaMaWHZ0mTJJvaLw-1; Thu, 27 Jan 2022 13:54:49 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AS1PR04MB9407.eurprd04.prod.outlook.com (2603:10a6:20b:4d9::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 12:54:43 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 12:54: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: 50c2904f-7f70-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643288090;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=jUcJmN6jlKijIbl/I51T24eZTzV7QGvASK1sSh8ViyY=;
	b=A+KuYW8iqGwOJHZHd7L367ita9L/SVyqvcZ9bzXBUmY4wMyaE6kuDOdKmdsRyBye4LElDr
	7Zh+FtCxDIGN6p/2TYFfjyOoO/IY+71g8L5EOkI2foweHsFli1OPPd4x7ysCEIRHuXMVcP
	zYbaz18b2L1gBQKFwv2E2MJsy/N09Y0=
X-MC-Unique: DWnCEEcaMaWHZ0mTJJvaLw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EeVpcIlHYW7TNNDudCUbIsw/IhFT2Uv9tYK5R+D9znWIc303GlwbYSCLEQhcj0bAOQFf++aAwZiAZEwExoPFzHCd5eUSBCnBVn6l2tbr9LAx+Ril07aesjycPY5RIrTIAV6Agn/VybM3IDja/ty5pRDMKm/Gr7M/uV3+ImqHf4hSYcZ8zSwxC+msN64bBpOSgTVntC91N4SB9Db5aR9QOYJZko4zDKSdq+5pWsduhIzu2S8msPgUmdxNy1vTn3cxt98HWX8mSfT5kY7Gw4CPNdTvQFy1oyqqebPZrjbp+uPvg8Jb5YMk3VpgxJeGGNMd00CGx0xD0amCBN/zTAgYNQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jUcJmN6jlKijIbl/I51T24eZTzV7QGvASK1sSh8ViyY=;
 b=fyOybCQG1cvVgum08Qsv4R0fVSMvVehI8fHTwFoDQxZ4MaqZXvDCBzotXjIbefxI/UynxJaHW6ulAgnFdlbclW4nG9gBT17O184nngGf5MGlWBburuaHQD0xvv95t2VhIVpnZNbhLrknlNgT8YrqW8dT98r4Eja/v/3e4k8mIldWoGalR/0iCdN8FicTZdG87iBEELAP6FSArBV0IIzrQeo1U8SFAWiDqdi0PyVcOk+u7ftMJctbIPYwvGvsmPMQ3omGRwccQ7W+72GAOuZR8pMZzIgZfg+v0GE0mLldkFM3m6TCyPRXvwXT62uiJgQ1/+RSm2HcIyDHCWN72AeLyQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <fc8d27b6-411e-51b5-ee57-c6715ce8c50f@suse.com>
Date: Thu, 27 Jan 2022 13:54:42 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v3] x86/Intel: use CPUID bit to determine PPIN availability
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: <64a5a3ac-8f4c-b13d-0b7d-4c4ec15e2721@suse.com>
Content-Language: en-US
In-Reply-To: <64a5a3ac-8f4c-b13d-0b7d-4c4ec15e2721@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0344.eurprd06.prod.outlook.com
 (2603:10a6:20b:466::27) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 13418d3f-762e-4904-7993-08d9e194302f
X-MS-TrafficTypeDiagnostic: AS1PR04MB9407:EE_
X-Microsoft-Antispam-PRVS:
	<AS1PR04MB9407585E4B427C5D79FE3709B3219@AS1PR04MB9407.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:
	cchV9Fc/D+VWXkW7Eur2ysvRaHPSnyd+jftB2neeuE4IhrX60FhDfIa9ytB954y60iaWbb1pzPcH2Ro6vniVXgXVkvvdtZ5ZiqPVQOVWTi6aRuY4E0agDQxpxm0aqxwbyyOJwFPen0YdWhl25Q/x+uTSPyBVc07RbEBz8WnZqmxkdQ17KeMJjaF2QiD0z/3qwicoPl8Fj5eit7OWXfdQHNi5NIMg0jdyu54jNMzQ9k1nhKLp/GyIOskfLO6AqQq+GADuKhv9qiI3YyTO3+LMpMdj/me1yHOwihKXHcNrG4jWPyuLoHLZrcR5lQNooX0M6uW/+XY+ZIDPDRFoH1qC1jIdgwKj6KeqjriIHN1CmiXb+qlIDVdS1iGOubVSCErdKBLsf3WXSDTn5OAHgxDzDqr4zY8UDNWkTY6gCfRzIr5Vmmla7lVzS69SpEhxnTIF74jbwEhm08P3wb6GBhzdnr9ooo8ROuI5hglblEgmgEdBAMJtXurQwR0yLPenrzMLAJva7jLXlkkgvP1+6vOB+eIgVF6ep6xQrUbsS5R3IpA+un2Gux+PC+8Vj41NzsonKJCIY3iF0vxhMA4IA2bydvE8lBWzUe1UqtKfKhX+rLCV6ths1hyx9PnwcKpaJWL8sHJ9xWxmopp5KxtXRys/NribgCMeCusUdEH4J7FBEtVIDWULrrmO67a+1fdFO0tm0Z8awqQ5OpbcxQDBKORfGgIdOPTin2E1L1pnlzEVhsoqx+Cwz+J6cIOwIuVUUQJI
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:(13230001)(366004)(38100700002)(83380400001)(6506007)(2906002)(26005)(186003)(2616005)(6512007)(66946007)(66476007)(66556008)(31696002)(4326008)(8936002)(5660300002)(31686004)(8676002)(6486002)(508600001)(316002)(6916009)(86362001)(54906003)(36756003)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R3gzMW1ybkpnODJhaFlnbi9rV0NtSDdmTHJwSGpyV3FmZlpxckpYcXNjMFFU?=
 =?utf-8?B?alhrMGdNWmY2Vk5ZM2pIQ09WMVVxalZVanFRS2s4dDdlVHdtb1E5UHp6MmVa?=
 =?utf-8?B?WDBSUnQzY1RQVy92ZzgxZFQ4bW0zNENlSm00cHptd0tOdzhtNGtuTnBBaDB5?=
 =?utf-8?B?eGJ1WnJVNkxxUWo3Z3FhT0QvQkNWQWF5ZUl0N3NUZGxsZUZpSVZpVHlQYUNk?=
 =?utf-8?B?bkljdWJCQ2x5TmtwUVpkZDR4QVUxQThGY2pwS1hKNUJjaGJnL0w0RDFGcjJB?=
 =?utf-8?B?VjhCT21GZUc2aGp5ZmNzdlVaSk1MRnVOWW5xVEpvdWNnblNHQzVlYzZ6NHFs?=
 =?utf-8?B?VVJzbTFhNjNwWDZPNWZmNVEzNU1TVFhNRytiWVh3ZWdQWFgxaFFGRHJ0NG9s?=
 =?utf-8?B?NlRuYWs1NmNZQlZ3cWZ4THQxMHZVVHh1ajJHdVRCZUVQYXhQcTlsMlBFeTBa?=
 =?utf-8?B?MnQ1THNTUC9WUUVEb243djJOS2hXUXoxdHk2L09TM05saHY5ZEZXSkcwYzUr?=
 =?utf-8?B?QVlHOVVISG00T1hRSEFVWEs1VmNPcE1vL2J5R0ZHaHBNd0Z3a1NmL1FxQlB6?=
 =?utf-8?B?VnlzUkZTb2hudmw4WUtvYjZQS2R3eWlOdHREdTBXZDVrUHpqbEduOVpRVkVo?=
 =?utf-8?B?ODExZU1QNy9TUWo2VEhFR3BJayt2UkUzcEx3VHBvd2d6V1dDUmMyVFV6OXFv?=
 =?utf-8?B?aHBmVmtUMGxVUlVCSnVVQnQ0NUlWRE9sUTZzQzh5dEt2Y3dGcjN6MHQrRTlV?=
 =?utf-8?B?RE5peC83bC9IdGJReE1ZVHJMZkxrMWdhSlJCT1JGWFdjOG82WTZWZlJtTWJQ?=
 =?utf-8?B?TjZLbGNsWkFzOHNCVWRxWStpanhCanJ6MW9OZW5udWFhQnRzeGJRNW9NZDFU?=
 =?utf-8?B?QjIzZmJ3VGhGUjFwdHlmR3hTcHlVQjhjT3dKeXg0enJ2V1Y3YXkwOFhySUcv?=
 =?utf-8?B?dDZRVEgvRkhWeWZxYXZFVGtvRitnRlRtdS9lRzY1aHBzY0dGZjFhbmZPS3pU?=
 =?utf-8?B?U2p0YklpTkxZL05LeTFzdXpJUzZjdE1BNmltODVwZ1h1NjZBQlJLRTdYS1Jo?=
 =?utf-8?B?bFladFBNR29EalRxTit3azdUQkFGU3JNV1Zza3d4MEMwZ0pMTm55U25PS0xm?=
 =?utf-8?B?bTRad2lCdDF6UldFeVRkU2lnbHp1MEdzSndhaDJJTDNzajErdEpwRW9weG9z?=
 =?utf-8?B?elZpV0NhM1lKZ3ZwWnQxUFlOd2NRbFBoTENHWFMzK0hjNWhibnZiRXZhQXFH?=
 =?utf-8?B?UzlQUDh6aFZvUVlRZ2NlRlA0S3phY2hpWTR1T3RoM0hSQ2JVdjdwN0xvOTR6?=
 =?utf-8?B?RG1zUHplME04Qmw5b3g1SXJJb0VJd3Rjd2FGeG1ET0NqTktGK296NTh3cWRy?=
 =?utf-8?B?YVJwVStIK2k4MmUxS3hNR09hUDNWR3laTDBzT1NBMVBsUSsvWXE1Wnk0bHJL?=
 =?utf-8?B?UHV1UktNdnkyVzAydzR6ZUlHVTVqdDhDZXJTTW5zbHgyVnBKTmZPNytnR3Fa?=
 =?utf-8?B?MGp2UlF4bEJRaTY4QmZzOFZURFAxOU5QOXQ2MDNuY0l5ZGlLTGRubzIzRGZD?=
 =?utf-8?B?aUoybHJmSWE2clNKRlF3dWF4UkVpR2FzaFU5Sy9TWjlEVlZmUGlNNWhqOGE4?=
 =?utf-8?B?SkEwWUlNdjBKT3dQalFMRWVMdzRVN05CZnhiYUpraXJWeEs4U3JBdjZMV2dJ?=
 =?utf-8?B?QjZjaTNST3lLSFZtbEhVMnJnc2t5dnFveVVHTGxvam5XNnkrZEpVc0hVZlRN?=
 =?utf-8?B?dDFlNURENWx5Zkk2R2tVanZ1S05DODAxRURTQUgyZWNYRXlCVm0vOVhGbHlk?=
 =?utf-8?B?ZzF5NHE3dHZUbGhmYWltU0E2eGd2ejlndjNtcmZyNXdkRTMwbEdNOTUrMEZ3?=
 =?utf-8?B?WktwRTZISUgrOUk0Z2VMNlpTT1ZiQ0tNN2ZPd3ZSd1FKd2FaVmhnQzJtL21O?=
 =?utf-8?B?V1NFa0t6N1E0Y24wVFAvaGswQS84MjVsay8rbDBTWlhQbWNBRFFTMXdaQjZU?=
 =?utf-8?B?anhGMTgwdGdpWitBZ3RpZDQ0OFZMSVV4Uy91cFBzcnpmSTBXM004MjRndUdC?=
 =?utf-8?B?MjN3MkdNZmIzTGZLTWZRZTE2ZDJHbHFqbkE2Mk1iR2RSVkQwUDVwTnNBQlVX?=
 =?utf-8?B?WXp5Ni93eUg4anRGM0gxSjhVS2F5SWZGM1hqajFYNVNtVFo5U0dQYm1DVThZ?=
 =?utf-8?Q?xICij7FRR2kVSXYaMA6sYpw=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 13418d3f-762e-4904-7993-08d9e194302f
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 12:54:43.1025
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EKYPJlMTQcDdVgcFGsuSZT0PhgIc5+lZndZ0GX0C8ec5sbhl1IzBunqzb1Vr6sXb0wVjY/+PA3wo/kvCm5FZMA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR04MB9407

As of SDM revision 076 there is a CPUID bit for this functionality. Use
it to amend the existing model-based logic.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
It continues to be unclear for which CPU models, if any, the PPIN_CAP
bit in PLATFORM_INFO could be used in favor of a model check.
---
v3: Actually record CPUID[7:1].EBX. Adjust policy <-> feature conversion
    functions.
v2: Don't rename AMD's identifier in xen-cpuid.c. Name Intel's just
    "ppin" as well. Move str_7b1[]. Update a comment.

--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -195,6 +195,11 @@ static const char *const str_e21a[32] =
     [ 6] = "nscb",
 };
 
+static const char *const str_7b1[32] =
+{
+    [ 0] = "ppin",
+};
+
 static const struct {
     const char *name;
     const char *abbr;
@@ -213,6 +218,7 @@ static const struct {
     { "0x00000007:0.edx", "7d0", str_7d0 },
     { "0x00000007:1.eax", "7a1", str_7a1 },
     { "0x80000021.eax",  "e21a", str_e21a },
+    { "0x00000007:1.ebx", "7b1", str_7b1 },
 };
 
 #define COL_ALIGN "18"
--- a/xen/arch/x86/cpu/common.c
+++ b/xen/arch/x86/cpu/common.c
@@ -445,7 +445,8 @@ static void generic_identify(struct cpui
 		if (eax > 0)
 			cpuid_count(0x00000007, 1,
 				    &c->x86_capability[cpufeat_word(X86_FEATURE_AVX512_BF16)],
-				    &tmp, &tmp, &tmp);
+				    &c->x86_capability[cpufeat_word(X86_FEATURE_INTEL_PPIN)],
+				    &tmp, &tmp);
 	}
 
 	if (c->cpuid_level >= 0xd)
--- a/xen/arch/x86/cpu/mcheck/mce_intel.c
+++ b/xen/arch/x86/cpu/mcheck/mce_intel.c
@@ -859,12 +859,20 @@ static void intel_init_ppin(const struct
     /*
      * Even if testing the presence of the MSR would be enough, we don't
      * want to risk the situation where other models reuse this MSR for
-     * other purposes.
+     * other purposes.  Despite the late addition of a CPUID bit (rendering
+     * the MSR architectural), keep using the same detection logic there.
      */
     switch ( c->x86_model )
     {
         uint64_t val;
 
+    default:
+        if ( !cpu_has(c, X86_FEATURE_INTEL_PPIN) )
+        {
+            ppin_msr = 0;
+            return;
+        }
+        fallthrough;
     case 0x3e: /* IvyBridge X */
     case 0x3f: /* Haswell X */
     case 0x4f: /* Broadwell X */
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -299,6 +299,9 @@ XEN_CPUFEATURE(FSRCS,        10*32+12) /
 XEN_CPUFEATURE(LFENCE_DISPATCH,    11*32+ 2) /*A  LFENCE always serializing */
 XEN_CPUFEATURE(NSCB,               11*32+ 6) /*A  Null Selector Clears Base (and limit too) */
 
+/* Intel-defined CPU features, CPUID level 0x00000007:1.ebx, word 12 */
+XEN_CPUFEATURE(INTEL_PPIN,         12*32+ 0) /*   Protected Processor Inventory Number */
+
 #endif /* XEN_CPUFEATURE */
 
 /* Clean up from a default include.  Close the enum (for C). */
--- a/xen/include/xen/lib/x86/cpuid.h
+++ b/xen/include/xen/lib/x86/cpuid.h
@@ -16,6 +16,7 @@
 #define FEATURESET_7d0    9 /* 0x00000007:0.edx    */
 #define FEATURESET_7a1   10 /* 0x00000007:1.eax    */
 #define FEATURESET_e21a  11 /* 0x80000021.eax      */
+#define FEATURESET_7b1   12 /* 0x00000007:1.ebx    */
 
 struct cpuid_leaf
 {
@@ -188,6 +189,10 @@ struct cpuid_policy
                 uint32_t _7a1;
                 struct { DECL_BITFIELD(7a1); };
             };
+            union {
+                uint32_t _7b1;
+                struct { DECL_BITFIELD(7b1); };
+            };
         };
     } feat;
 
@@ -327,6 +332,7 @@ static inline void cpuid_policy_to_featu
     fs[FEATURESET_7d0] = p->feat._7d0;
     fs[FEATURESET_7a1] = p->feat._7a1;
     fs[FEATURESET_e21a] = p->extd.e21a;
+    fs[FEATURESET_7b1] = p->feat._7b1;
 }
 
 /* Fill in a CPUID policy from a featureset bitmap. */
@@ -345,6 +351,7 @@ static inline void cpuid_featureset_to_p
     p->feat._7d0  = fs[FEATURESET_7d0];
     p->feat._7a1  = fs[FEATURESET_7a1];
     p->extd.e21a  = fs[FEATURESET_e21a];
+    p->feat._7b1  = fs[FEATURESET_7b1];
 }
 
 static inline uint64_t cpuid_policy_xcr0_max(const struct cpuid_policy *p)



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 12:56:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 12:56:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261465.452751 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD4KK-0004dd-9X; Thu, 27 Jan 2022 12:56:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261465.452751; Thu, 27 Jan 2022 12:56:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD4KK-0004dW-6H; Thu, 27 Jan 2022 12:56:36 +0000
Received: by outflank-mailman (input) for mailman id 261465;
 Thu, 27 Jan 2022 12:56:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NFuB=SL=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1nD4KJ-0004dL-6n
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 12:56:35 +0000
Received: from mail-lf1-x131.google.com (mail-lf1-x131.google.com
 [2a00:1450:4864:20::131])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8da4cf63-7f70-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 13:56:33 +0100 (CET)
Received: by mail-lf1-x131.google.com with SMTP id a28so5135120lfl.7
 for <xen-devel@lists.xenproject.org>; Thu, 27 Jan 2022 04:56:33 -0800 (PST)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id t17sm1876135lja.132.2022.01.27.04.56.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Jan 2022 04:56:32 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8da4cf63-7f70-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=sIK+HPr2dbtcAxBYALkkWoHzFT6nz1wIP0aIR9+EnKc=;
        b=Y0YRF+OI1bweq0fCTJRzQ88tf02SpUfduD8cGlmt+Gu0soc6Rfhd1+yJ9YGUxHeXha
         XKYvlOl12sQQL4ozhp39fWRdGU2JAfvKb9QIIeSEt7V7XYuAg53u0xAvIGoScQo/boJi
         LaHAPiGj8KEPDDEzS14V2h8VFjAQyUrL1D0T+k06LDDqIPDD1lktVuS40DBg/dviH06R
         LP3NXFpe5nAe2P2K2zpP9vZ54pJKILHDGg7VwXgHBVPjzcB1Qud6ZWnxm1vefstDM63e
         RYY65NIN9uq3qbdaDvj4emTMfAv7yMCpzmkc2AYTMw+dLOTaqnop6T/riBfWBIXjv5lP
         8guQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        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=sIK+HPr2dbtcAxBYALkkWoHzFT6nz1wIP0aIR9+EnKc=;
        b=s0g5LzoRcNOrBktsE2Gw3L70DC8a9aXNS38x9Ost+vvY/McMD7LMX03NDbMDkDWFMn
         0GnLAFRJ8XQ/Q/O/a8g9evijT6NDwJMuhJpVrAoOr3n3sCNo/N5ubfiYnLP6E2KIMao7
         hbYWndxkrkgVObclA7qp+b9nQo6z///PpZ5+p74e1RzWn6wZ0FNgNTV3ZTGIf/clQNGE
         78B0Vl018kH9NyiXWE3K0QwUBGCmGZcTavso/ie4wPkKiPQHvq7ojNeh9EHMT6DXb6Yu
         zuiltkyBOAa0nqKLF3YLM9ku7Bl7vejcAwtJ4anYmQTA0tDvv1hWcvj1VPHo5o4dx79A
         eZcA==
X-Gm-Message-State: AOAM533cjvyklrJB67JJsIXH+o+jRlB2z7BW49jHmaEDU8O24GGbKpr7
	B4/JJBcX7Knxkq/+AyZh2ho=
X-Google-Smtp-Source: ABdhPJyubd/NF4cgzD8ROo/1cFgiy+l8yg/gAAS5lMmQDy161rGB1U+fvacqGdvVB+I5ty8fkHKWJg==
X-Received: by 2002:a19:c210:: with SMTP id l16mr2908437lfc.362.1643288192625;
        Thu, 27 Jan 2022 04:56:32 -0800 (PST)
Subject: Re: [PATCH V2 00/10] Add support for Renesas R-Car S4 IPMMU and other
 misc changes
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Jan Beulich
 <jbeulich@suse.com>, Paul Durrant <paul@xen.org>,
 Rahul Singh <rahul.singh@arm.com>,
 Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>,
 Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
References: <1640034957-19764-1-git-send-email-olekstysh@gmail.com>
 <485dd117-f8f0-e0fc-e3bc-7e430813648e@xen.org>
From: Oleksandr <olekstysh@gmail.com>
Message-ID: <f08ebfc0-a208-88d7-e442-18a2603a6728@gmail.com>
Date: Thu, 27 Jan 2022 14:56:31 +0200
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: <485dd117-f8f0-e0fc-e3bc-7e430813648e@xen.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US


On 27.01.22 14:36, Julien Grall wrote:
> Hi,


Hi Julien


>
> On 20/12/2021 21:15, Oleksandr Tyshchenko wrote:
>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>
>> Hello all.
>>
>> You can find the V1 patch series at [1].
>>
>> The R-Car S4 is an automotive System-on-Chip (SoC) for Car 
>> Server/Communication
>> Gateway and is one of the first products in Renesas’ 4th-generation 
>> R-Car Family.
>>
>> The integrated IOMMU HW is also VMSA-compatible and supports stage 2 
>> translation
>> table format, therefore can be used with current R-Car Gen3 driver 
>> with slight
>> modifications.
>>
>> In the context of Xen driver the main differences between Gen3 and 
>> Gen4 are
>> the following:
>>   - HW capacity was enlarged to support up to 16 IPMMU contexts (sets 
>> of page table)
>>     and up to 64 micro-TLBs per IPMMU device
>>   - the memory mapped registers have different bases and offset
>>
>> The first part (commits #1-6) is a non-verbatim port of Linux 
>> upstream commits
>> needed to add support for S4 series easily (prereq work).
>> The second part (commits #7-8) is based on the code from the Renesas 
>> BSP and
>> actually introduces support for R-Car S4 IPMMU.
>> The third part (commits #9-10) is misc changes I have locally.
>>
>> The patch series is based on the latest staging branch
>> "f3999bc2e099 arm/efi: Handle Xen bootargs from both xen.cfg and DT"
>> and also available at [2].
>>
>> Tested on Renesas Salvator-X board with H3 ES3.0 SoC (Gen3) and 
>> Renesas Spider
>> board with S4 SoC (Gen4).
>>
>> [1] 
>> https://lore.kernel.org/all/1638035505-16931-1-git-send-email-olekstysh@gmail.com/
>> [2] https://github.com/otyshchenko1/xen/commits/s4_ipmmu_ml2
>>
>>
>> Oleksandr Tyshchenko (10):
>>    iommu/ipmmu-vmsa: Remove all unused register definitions
>>    iommu/ipmmu-vmsa: Add helper functions for MMU "context" registers
>>    iommu/ipmmu-vmsa: Add helper functions for "uTLB" registers
>>    iommu/ipmmu-vmsa: Add light version of Linux's ipmmu_features
>>    iommu/ipmmu-vmsa: Calculate context registers' offset instead of a
>>      macro
>>    iommu/ipmmu-vmsa: Add utlb_offset_base
>>    iommu/ipmmu-vmsa: Add Renesas R8A779F0 (R-Car S4) support
>>    iommu/ipmmu-vmsa: Set IPMMU bit IMSCTLR_USE_SECGRP to 0
>
> For the first 8 patches:
>
> Acked-by: Julien Grall <jgrall@amazon.com>

Thank you!


>
> I have also committed them. The last..
>
>>    iommu/ipmmu-vmsa: Use refcount for the micro-TLBs
>>    iommu/arm: Remove code duplication in all IOMMU drivers
>
> ... 2 patches have some comments. So I have committed them yet.

ok, I will update them and re-push probably today.


>
>
> Cheers,
>
-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 13:06:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 13:06:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261468.452763 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD4U4-0006By-7s; Thu, 27 Jan 2022 13:06:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261468.452763; Thu, 27 Jan 2022 13:06:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD4U4-0006Br-4o; Thu, 27 Jan 2022 13:06:40 +0000
Received: by outflank-mailman (input) for mailman id 261468;
 Thu, 27 Jan 2022 13:06:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD4U3-0006Bl-5K
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 13:06:39 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f62a0c96-7f71-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 14:06:38 +0100 (CET)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2110.outbound.protection.outlook.com [104.47.17.110]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-10-ynIPP-DNPeOEeqzGLxYi4g-1; Thu, 27 Jan 2022 14:06:36 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VE1PR04MB7357.eurprd04.prod.outlook.com (2603:10a6:800:1ae::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 13:06:35 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 13: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>
X-Inumbo-ID: f62a0c96-7f71-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643288797;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=YTbiYMKeLeRRmUX8jCfhFqVZvJXEo8KcAB5kW2YxVWk=;
	b=HGM768QL68oYDfdaVCb9cuH1/lI1xTVFWvfxdbJv7Oy3Y6ulBF5CRX++iaGGChIKtWJ5YW
	mMIPJsp8b1JjV54foC31e09C44/r3qev8G3MJkgxO5PA0JGEBfHuUBXufZ5gtVQ6hYSiG0
	ItM3Yry4Th0Y+nOT6g3NkVFRPxFCMPU=
X-MC-Unique: ynIPP-DNPeOEeqzGLxYi4g-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mwnxHPy5iIvf1GNdMDx6ldQUvXS2EwzryFEfUdsLaSa/znesyaKsDCpnOfLDwruSQFVTX9tikg/kVECqMNHKFRl7LjApp7HwiwStxWS14oLUleH10JAynO+atqTs11cnxHBaDnirTWHrWT0kn9B9d+5r+GgCbJGCcej5aLALPNL6ACfhl9zefkfrGwiiZ7ivoH4L5lVSJWq1LCC+aiPaAd3Z1cTsijx5LJeYWC8n7lJ0Lsvu5hhmthTMLHgih/tu7v+/NUZx0BWRP4yT70N68R0pIkH5wYY8NaaAJBsVBVJmkWKnDF29dTCTeYKNm6ZQwVasT4pIarmG+W36QsE6tw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YTbiYMKeLeRRmUX8jCfhFqVZvJXEo8KcAB5kW2YxVWk=;
 b=mZt7JQkli04EbbNg4q+ClUvB3MNNRzJLbQtJTCwV8oLgE7DVyYug/JLka614v6VBtNFQUjn6ypS5p/Sjg65GhHK8WaJGnbP6ES/BILCd9mxI3XmtDPhO1AQT+ifVbbRKSuIqZqVBwqQgP7PAP18e95rLogiJglUZ33k7UlJ2ByzlZ+HJqNKF0z0u4LlpDilrKeaGA+HtRksWq1+QQ8LE6QpgOXNj/NYHP4ek68eXDsnkcbxsmBTXoqj0WCeGW8wBlDtrdhckWVvfvdUitfzmiDopW8mH1q0Ppg3vpvmIxj0XYH1pO4Wwk9iQ4q7MqZ9YfV31FEKICB3eHzwV28BKGQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <277503eb-c6ad-af30-5736-e68bba87a313@suse.com>
Date: Thu, 27 Jan 2022 14:06:34 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 7/8] x86/msr: AMD MSR_SPEC_CTRL infrastructure
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220126084452.28975-1-andrew.cooper3@citrix.com>
 <20220126084452.28975-8-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220126084452.28975-8-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR04CA0039.eurprd04.prod.outlook.com
 (2603:10a6:20b:312::14) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ef46c6c6-9ece-482f-ce75-08d9e195d8de
X-MS-TrafficTypeDiagnostic: VE1PR04MB7357:EE_
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB7357BD74D36CFADF8026B738B3219@VE1PR04MB7357.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:2150;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2q6VW0bGGXK/PcIeB6DP4crOswcLjPeuJviP3DZ8lU9q0587ynz+uRekwmvjk2Haf+Lm6ss0M8QxRDuqXJI87N4/17uxNgaHCNfZxVG2L8FqrXx0+NB3l+UASvIt8Sy5BOUQmEP7gwVkfprhVMaByRsRrw/AlxU4STRTR7UQ2/aZkBfTRFHh2O1zITWX5pkOJjXGcSLIRhodh/lXxZhD68VzVhN1luUoLvqm0SC/XVdnG9Fl6/By8/cIFe1E2qJhNC7w8NqXV9/Gc2M2apZMfrC3hGtWDM6PM3fVejpdPcd9xWfBu6gMyNtc2020KZstEKhgiMdWHuSxClfCVNa2z6AkDBPPpoz5VG+cxhcwZOfCK6sGT1aDanqsx9ZcUbRGzxHawr0Lq1hZSQ4JPkwVqCYzty9w+vphoZPwJnHykNoK3hokr6w4GgWUiZ0ScUL9xtWWyI9jSKS35U57jbiu8MO7QmLglHo0kZYUCJLhoNRX8y3u0seTcKz/dTT2Gqvh2n0LfwUv7/EKfO6NjazWhMHCWA3/tdHQM4VbSpz2ko9gGA4/SCS4Nr4JUTcMWiaPA8N9eMAHBk15IrG/oYtbESV6fImM3kfE3jJX+nyZ1xmH2UUWA7rmOIFeq0dHfHJHFHDKSyTHso1Qk2juk4xSoNn85M8+kkhZK+8ol2lCUcH2xx8kLek1aGHS4frPD75CX/lWHvZj+4edcAV80BqZm0kFKi97e3PglHL8UIaZS7DzaaGPlYAvhKz39vQDbA2p
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:(13230001)(366004)(558084003)(8676002)(8936002)(66556008)(66946007)(6486002)(66476007)(31696002)(86362001)(4326008)(2906002)(6916009)(5660300002)(26005)(54906003)(2616005)(31686004)(186003)(36756003)(53546011)(83380400001)(508600001)(6512007)(6506007)(38100700002)(316002)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MUJOLzNhcUp2ZFJYREE5SzU1OHJ6UzVMWU83dUIrSjl6YlFLYXd6V05QQ0kz?=
 =?utf-8?B?dDVVaUZLd3BIZmxIVjRuNGVJdVhtdVUzZyt0ODU2Q05FbEFoekYzV3N5Z0VT?=
 =?utf-8?B?Ym83RCs2NDlhdzVjS3J2dU1RZTVFa2VRVmFDQmJpeG03TEVzRGNvNjB6M1Zo?=
 =?utf-8?B?UzFZd052bWxPU0UwU2dkU29TRGRBUjBGcTlyY0JLSndvTWdOZkNPRUtkVDBs?=
 =?utf-8?B?T1VCSEpkZkV5dVBUME9JUFNpTHlveTIxVXNQUzJKRUZOTlgveUV2dTB2WmpG?=
 =?utf-8?B?L0FSSFo2Y2ZKQlVzenFMZ01oY0w0WWdlRmF0RUNoZFRwRk9PYzFaOCtiMmhy?=
 =?utf-8?B?cHB1U2ZpZnNRaUJ2YWJxS1QxYzBKNTN3anhLd1NQbFA5cWpnbWU2TzVtNURv?=
 =?utf-8?B?dUQvN0hIYmJxT3ZscTdRc2dOT2NPLzBwTXNwVDEyQk9ZbXVEMW54M0kxNk5Z?=
 =?utf-8?B?d0lJVFZHNUNsOVc1aE51TGpMOWhOSzNkdnlybzJYREN3QmFPZVZKbXUvOVZY?=
 =?utf-8?B?cGtvTTgxN3lJeitua0lXaFFNYjlWYTBHdHhWZ3Z4bkpYNWp2T2NsKzhaWVVp?=
 =?utf-8?B?VERxNUtmeFJpWis0dGRRODBBNEtNYjRpS0dqR0hFM256WVZvcXJaTEl4VE1S?=
 =?utf-8?B?S25HWTNtRWNtMEdaaWRjVDhncE1ncTg2YTRud2tacWQreS85cmNMU3FJVXdG?=
 =?utf-8?B?ZlJwTHN1L25idS94OGJMSUozcFNVckI5TWdxbGlwa0hEZC9ZZnc0WlpCVzI3?=
 =?utf-8?B?b0ZJU2VqL3RCd00vQ0lSNHpRNk5rVkUvSnV0RXVZeHAzbHpyWDhTQ0xESzFj?=
 =?utf-8?B?M0hFajJyOTEwQXRBVk1PZEdreG92aTBEVnljOXJWUWswdE50R3MrbEhzNC9T?=
 =?utf-8?B?VW9NTk1YaWpsamdVRUI4VVFMSVhDb2oweWc0SUFtRzBqNUFOWVRJelgvNENT?=
 =?utf-8?B?WFRlWUxldzBVeHFrYnp6Qk02ZlI1TUhVRDBlaGtqV1VvdWphOEpDRmZXdDY3?=
 =?utf-8?B?M252NXJiZzBEYnhtdXZ1OFhLZ2tqWG5KRms1YnVicTR2QXpvZDh6TFY2bmli?=
 =?utf-8?B?bG1FOG1SUk5QQ052N1NmZmVMQjR2OTdPWjZoREFQZ1N3eUdTSzQ4YzlkL0ZG?=
 =?utf-8?B?SHJXdnZOWDJJZm8xMEFWQm5vWFRCZ2JibHJ2czlxQUl4YUlnSWdxTlNzTmN5?=
 =?utf-8?B?Rjg2cjVYWnlKRXpKOGo0cGFoSmp4NDlUTE1IWWRybkUzVlRaenhqVDJueXlS?=
 =?utf-8?B?c3p3UEtzVnp2SzVFZmhWZTBCUzRRNDFzeCtNTlZ2cURMU3EwZ3d4R0JmYVhi?=
 =?utf-8?B?UXpyQ3pFU0dXTW5SVFVvYjRlTjFFdmhrck16MWZCdUF2THhMdHVXM2R6ZnFr?=
 =?utf-8?B?TXV6eTI2L2xiczdFSXdhZmE2QXlQL0xUajV0S0wzVkhaR1lHY29JMlhQNDJ5?=
 =?utf-8?B?MmVqMEo4Mm9pUlVhU2dxMHZwYmpWdlRKZytUM3FVejlpU0F5T1NtUVhkMkh0?=
 =?utf-8?B?K0xPRWZDS2k1eU5wTUNkQ2ZzcGhhVkhlU3FmUndHRUFtVDFuMjVzTlBMWFBQ?=
 =?utf-8?B?S0hIdTlWTGVGR1EvOUcxQXI0L1hGZW4xckFIMXB3V3pDandqVlozYkRtZmRX?=
 =?utf-8?B?eXdsQVVWSHZXRldFSTI1RXIzQWtoaU0rcDVZMFRFdTFVR21ZdTk0RkJBNzJz?=
 =?utf-8?B?eWRKcW5yQmN5Y0FCREdWVHA2R3V3amFBV1Fpc2pCRDBiNjZ5NkFnQ1k5clRa?=
 =?utf-8?B?T0VzZzdRU2prWldVbkRrNTlQYlVpempMVEpGdncybElXRnRCZ1VWZmJXNlhJ?=
 =?utf-8?B?Y2NHL2Fzclo2Y2RkL2NxaUFGdEszSTJXOHBXSDVUTnltTk5RbHFzQ1F5V0VU?=
 =?utf-8?B?Rit4cWVoRDl6bFdIWlZKMjRhV2x6RExqYk9CSVFIV015UkFRbGlqVFlXOW9U?=
 =?utf-8?B?NGFiczZ6RnNUeWpiUXN0NW9rQ3JUUWdKUHpNQXRYU2Fid3ZuNXpLMmo5STRh?=
 =?utf-8?B?UEhRTTd5QThlV20yaS9pTUF0SXl2dFJCdXR1ekZCSXB6dnVlSTdQamQyUW9I?=
 =?utf-8?B?NWdtWG9YR2FDYTVhY0FaKzh6bEFTNmVYSVlBQkdCS2Z5V0RXU3hxd05IbzE1?=
 =?utf-8?B?LzhYekg1dWI4T0QwZjlrWDVmbVBPRlFCb0lHOEVDWGQ5b09nRVdqSXVJVVhX?=
 =?utf-8?Q?gUZISi1GB36cwkNWh/c4YCQ=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ef46c6c6-9ece-482f-ce75-08d9e195d8de
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 13:06:35.6836
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jAnJhBIuVY7BHsAx1VXCeFwo6TPdog2Epwt5HzgU0hqjiqcDs0cxy0rI/dE2StTZ93YpPFRl7ekDYOUsN3UqiQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7357

On 26.01.2022 09:44, Andrew Cooper wrote:
> Fill in VMCB accessors for spec_ctrl in svm_{get,set}_reg(), and CPUID checks
> for all supported bits in guest_{rd,wr}msr().
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 13:12:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 13:12:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261471.452774 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD4Za-0007eP-T1; Thu, 27 Jan 2022 13:12:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261471.452774; Thu, 27 Jan 2022 13:12: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 1nD4Za-0007eH-Pi; Thu, 27 Jan 2022 13:12:22 +0000
Received: by outflank-mailman (input) for mailman id 261471;
 Thu, 27 Jan 2022 13:12:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NFuB=SL=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1nD4ZZ-0007eB-Mz
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 13:12:21 +0000
Received: from mail-lf1-x12a.google.com (mail-lf1-x12a.google.com
 [2a00:1450:4864:20::12a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c25f0dbb-7f72-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 14:12:20 +0100 (CET)
Received: by mail-lf1-x12a.google.com with SMTP id n8so5263273lfq.4
 for <xen-devel@lists.xenproject.org>; Thu, 27 Jan 2022 05:12:20 -0800 (PST)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id e10sm1835096ljk.30.2022.01.27.05.12.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Jan 2022 05:12:19 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c25f0dbb-7f72-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=DwT77EWg7HZ/9Z5GWp9CRYMsVNSb83mlX5xe/fYgdiI=;
        b=X+QGGoKAlkIzdCg7UvuZ37TCA4rD3RL7EZQgTWD+WLFNJ6Dok8so1gWZXVnGmuzRRZ
         jPxE91DYioMphXjDBeyPaHr/PNPCkOgaqI+3nXwnAHrtSGw7QK6NA85j03HDcL5y7/Hk
         6d3SDy2ciO2C/+XfStmtwrawQE3U6tLLl8/+Ph0wyQAquDpO2w67vs1jT58bSh9MoTDr
         AblcoMNYzODZVvnC7oIlUFUsHkD6D+z53nZ0fv9RBMOIwywH14gvCu3BzBejzLbVZNJS
         5j52OBwiuJmPAzJsYwF8ry/TSsG3ToOQLJZbHVJEx37v/9e+cn3KVMMfU/MANtrH/ZM2
         myGw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        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=DwT77EWg7HZ/9Z5GWp9CRYMsVNSb83mlX5xe/fYgdiI=;
        b=1U73kgMGT/OG8vmNXB/O1/RuoZVppil5tn6YDsuwVUDDoOVkqEbTQJ+wEgXvx9Vdvy
         7wrxtTHYcU80vaCJk+TEDxJwJCpsTSkV3edcLurF/+I3qucxh6eI2AsX+Wq0MLRiNgeQ
         d9XE+Nu5sDed7dwcTica7CxpOG7datLACRjMHsAgXYR1F9JdIgXcvEwZPr/rUQdGk2QB
         SVPVYGsJsvAgeN6frQfyFbaOXvlyf6F6INvUhQRCsqlAACsHzX1Iv6SVYxkBw6gaRxfJ
         WshL1mUW3ZcP+qoGODgM0F0frwKejE85HQfa2AQiEBEFRWwtXgJOHYVwZfGKUOo5W7bI
         xBHg==
X-Gm-Message-State: AOAM530W/zmEcX6s9xkCWQhQis7RWuPta+eSEzCGDrZt+59a/dJGzr1Y
	jPCPi5enjeR2ISfMlqT8grU=
X-Google-Smtp-Source: ABdhPJwNJ7XAtzg7C8A1blvaSEAzKCfp+vIxUnoVozgRHfCtd19f45z2XxRGDZqmejZxY9pXh8li5w==
X-Received: by 2002:ac2:54aa:: with SMTP id w10mr2706635lfk.357.1643289139554;
        Thu, 27 Jan 2022 05:12:19 -0800 (PST)
Subject: Re: [PATCH V2 09/10] iommu/ipmmu-vmsa: Use refcount for the
 micro-TLBs
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>,
 Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
References: <1640034957-19764-1-git-send-email-olekstysh@gmail.com>
 <1640034957-19764-10-git-send-email-olekstysh@gmail.com>
 <5ca5e8c4-93b8-de4c-3582-cda9bd6b809e@xen.org>
From: Oleksandr <olekstysh@gmail.com>
Message-ID: <bf0d928a-0e60-6614-c506-8d666f9bae9b@gmail.com>
Date: Thu, 27 Jan 2022 15:12:18 +0200
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: <5ca5e8c4-93b8-de4c-3582-cda9bd6b809e@xen.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US


On 27.01.22 13:48, Julien Grall wrote:
> Hi Oleksandr,

Hi Julien


>
> On 20/12/2021 21:15, Oleksandr Tyshchenko wrote:
>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>
>> Reference-count the micro-TLBs as several bus masters can be
>> connected to the same micro-TLB (and drop TODO comment).
>> This wasn't an issue so far, since the platform devices
>> (this driver deals with) get assigned/deassigned together during
>> domain creation/destruction. But, in order to support PCI devices
>> (which are hot-pluggable) in the near future we will need to
>> take care of.
>
> Looking at the code, it is not possible to share the micro-TLB between 
> domains (or even Xen). So technically, we will still want to {, 
> un}hotplug the devices using the same u-TLB together.
>
> Therefore, I would clarify that this is necessary because even if we 
> have to remove all the devices together, the IOMMU driver will be 
> de-assigning them one-by-one.
>
> I would add a similar comment in the code as well.

ok, will add.


>
>
>>
>> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>> Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
>> ---
>> Changes V1 -> V2:
>>     - add R-b
>>     - add ASSERT() in ipmmu_utlb_disable()
>> ---
>>   xen/drivers/passthrough/arm/ipmmu-vmsa.c | 19 +++++++++++--------
>>   1 file changed, 11 insertions(+), 8 deletions(-)
>>
>> diff --git a/xen/drivers/passthrough/arm/ipmmu-vmsa.c 
>> b/xen/drivers/passthrough/arm/ipmmu-vmsa.c
>> index 649b9f6..1224ea4 100644
>> --- a/xen/drivers/passthrough/arm/ipmmu-vmsa.c
>> +++ b/xen/drivers/passthrough/arm/ipmmu-vmsa.c
>> @@ -127,6 +127,7 @@ struct ipmmu_vmsa_device {
>>       spinlock_t lock;    /* Protects ctx and domains[] */
>>       DECLARE_BITMAP(ctx, IPMMU_CTX_MAX);
>>       struct ipmmu_vmsa_domain *domains[IPMMU_CTX_MAX];
>> +    unsigned int utlb_refcount[IPMMU_UTLB_MAX];
>>       const struct ipmmu_features *features;
>>   };
>>   @@ -467,13 +468,12 @@ static int ipmmu_utlb_enable(struct 
>> ipmmu_vmsa_domain *domain,
>>           }
>>       }
>>   -    /*
>> -     * TODO: Reference-count the micro-TLB as several bus masters 
>> can be
>> -     * connected to the same micro-TLB.
>> -     */
>> -    ipmmu_imuasid_write(mmu, utlb, 0);
>> -    ipmmu_imuctr_write(mmu, utlb, imuctr |
>> -                       IMUCTR_TTSEL_MMU(domain->context_id) | 
>> IMUCTR_MMUEN);
>> +    if ( mmu->utlb_refcount[utlb]++ == 0 )
>> +    {
>> +        ipmmu_imuasid_write(mmu, utlb, 0);
>> +        ipmmu_imuctr_write(mmu, utlb, imuctr |
>> + IMUCTR_TTSEL_MMU(domain->context_id) | IMUCTR_MMUEN);
>> +    }
>>         return 0;
>>   }
>> @@ -484,7 +484,10 @@ static void ipmmu_utlb_disable(struct 
>> ipmmu_vmsa_domain *domain,
>>   {
>>       struct ipmmu_vmsa_device *mmu = domain->mmu;
>>   -    ipmmu_imuctr_write(mmu, utlb, 0);
>> +    ASSERT(mmu->utlb_refcount[utlb] > 0);
>> +
>> +    if ( --mmu->utlb_refcount[utlb] == 0 )
>> +        ipmmu_imuctr_write(mmu, utlb, 0);
>>   }
>>     /* Domain/Context Management */
>
> Cheers,
>
-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 13:20:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 13:20:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261474.452784 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD4hO-0000g1-NP; Thu, 27 Jan 2022 13:20:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261474.452784; Thu, 27 Jan 2022 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 1nD4hO-0000fu-KH; Thu, 27 Jan 2022 13:20:26 +0000
Received: by outflank-mailman (input) for mailman id 261474;
 Thu, 27 Jan 2022 13:20:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=T5dr=SL=xilinx.com=ayankuma@srs-se1.protection.inumbo.net>)
 id 1nD4hM-0000fo-Rg
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 13:20:24 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2062f.outbound.protection.outlook.com
 [2a01:111:f400:fe59::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e071e7c7-7f73-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 14:20:22 +0100 (CET)
Received: from BN9PR03CA0578.namprd03.prod.outlook.com (2603:10b6:408:10d::13)
 by SJ0PR02MB8829.namprd02.prod.outlook.com (2603:10b6:a03:3d4::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.10; Thu, 27 Jan
 2022 13:20:18 +0000
Received: from BN1NAM02FT014.eop-nam02.prod.protection.outlook.com
 (2603:10b6:408:10d:cafe::d3) by BN9PR03CA0578.outlook.office365.com
 (2603:10b6:408:10d::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15 via Frontend
 Transport; Thu, 27 Jan 2022 13:20:18 +0000
Received: from xir-pvapexch01.xlnx.xilinx.com (149.199.80.198) by
 BN1NAM02FT014.mail.protection.outlook.com (10.13.2.131) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4930.15 via Frontend Transport; Thu, 27 Jan 2022 13:20:18 +0000
Received: from xir-pvapexch02.xlnx.xilinx.com (172.21.17.17) by
 xir-pvapexch01.xlnx.xilinx.com (172.21.17.15) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2176.14; Thu, 27 Jan 2022 13:20:17 +0000
Received: from smtp.xilinx.com (172.21.105.197) by
 xir-pvapexch02.xlnx.xilinx.com (172.21.17.17) with Microsoft SMTP Server id
 15.1.2176.14 via Frontend Transport; Thu, 27 Jan 2022 13:20:17 +0000
Received: from [10.71.118.179] (port=33714)
 by smtp.xilinx.com with esmtp (Exim 4.90)
 (envelope-from <ayan.kumar.halder@xilinx.com>)
 id 1nD4hE-0005Ip-8n; Thu, 27 Jan 2022 13:20:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e071e7c7-7f73-11ec-8eb8-a37418f5ba1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lJFAk4CvrrOAq8BFmNcg/JjwjRMFeD+H5SxAX6M/rNwx67+S49aIHRekX2nor9/tGJvSBljDLS8FNXauRt7yMDn7XGjWcs4SsrUyN3d175vU2C3Adp0zs2FkY93TJXV2s9CdVV4n/h2lXRAIc9rT6UvbWWsSXrPJar+ep7t3Po78yorbuWUXiWrBaJOktgIsjrR9zsDrhhXOm9QUBrKZmRtnRIyRnD+j6NEKHEEDg0CPhPQi3Pebw6T6k4KifBBHC9KCSNw+F724MfOZ1FYEEJ7jvupv/jmeE+B8RidCOSeJkK9iWwu5MYeMRU+XyfRcWquAv8G5w49C6FW0LMTilA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OM8eBfZ8IooPMdkJRKSLF+5ERYarMti6W2Zv7eXSUDw=;
 b=EktcXVEBqW6QkDXnKngDU2Y7ZjNsgcSZ3WcXvukArmdtRMdoZnMy4XApA/6/5Xf5KyFS08oWPb816GEnNOFefagu5qr0mItq/4KpyUxzetExYBUifotr6wj7MafRD60SnhoykM+PCLKY0NJWH9kd0UyBvaY6u6T1P0yHnUf/O8QvJ/Y8HjT1kiXbDmqj+/W0OBXg0wC23iXlYeg0PYefWPG4NlGj1+u2Puc2WnxYamoWOEJdmgzEkc2rJZ/5GN6rKocXPWO6s5Oszxh+y+cbhm7YmlA2WzgAIkuRrPenOuZFzqhS3/8CKXDkSuvR55t4Dxye/a8qAS3aSoXttQBvjQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 149.199.80.198) smtp.rcpttodomain=gmail.com smtp.mailfrom=xilinx.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=xilinx.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OM8eBfZ8IooPMdkJRKSLF+5ERYarMti6W2Zv7eXSUDw=;
 b=pIe68JJCVEURAYNhQJ5pTmSWP9tZ6lY4Pj/FVMRMpUGbf9wjUI6GWNP7dRH9Mic0gyeAJg38x002IzkyWOUhLMG1y7o06cIVG/B3zzzLF70uzU798oXDUOM0us/sC2OU14rcjr14rUIE7RvM+cne2Cc6Orz65PDJym+bXn9Hy+U=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 149.199.80.198)
 smtp.mailfrom=xilinx.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=xilinx.com;
Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates
 149.199.80.198 as permitted sender) receiver=protection.outlook.com;
 client-ip=149.199.80.198; helo=xir-pvapexch01.xlnx.xilinx.com;
Message-ID: <bee7ea7a-6d3d-bf3c-4b5f-d40deb601867@xilinx.com>
Date: Thu, 27 Jan 2022 13:20:15 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [XEN v1] xen/arm: io: Check ESR_EL2.ISV != 0 before searching for
 a MMIO handler
To: Julien Grall <julien.grall.oss@gmail.com>, Ayan Kumar Halder
	<ayan.kumar.halder@xilinx.com>
CC: xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, <stefanos@xilinx.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>
References: <20220126165827.61168-1-ayankuma@xilinx.com>
 <CAJ=z9a1KjOAeR4vpRQGA_sYSvx1h331NKim2bgG8jyru94Beow@mail.gmail.com>
 <eeedbb72-d881-363d-c862-234b705eaec7@xilinx.com>
 <CAJ=z9a0VEqr_ODQZvdsO82PiOpHt5-TVc4JWE5pJCeNYPh+XHg@mail.gmail.com>
From: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>
In-Reply-To: <CAJ=z9a0VEqr_ODQZvdsO82PiOpHt5-TVc4JWE5pJCeNYPh+XHg@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f8ab30fd-f3df-4450-cea2-08d9e197c36c
X-MS-TrafficTypeDiagnostic: SJ0PR02MB8829:EE_
X-Microsoft-Antispam-PRVS:
	<SJ0PR02MB8829939F16C21104EF6B170CB2219@SJ0PR02MB8829.namprd02.prod.outlook.com>
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
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:
	LeRv3TJtreISUNre/aceUMkO4GDkDh4mYsmCIAlhf8etqwNJcwYD69EG6b3z9k+BAStRZVPvmcrpfh0RZvZ+iPE73KAQNUlUbIgJuAHNGI/HAnhI1TVsj32mDF4Hazx0McURp7amf8eoRrrY2b+vv/4u9G9jxxJipnOuMZJ46ullhsf3lQNpqlMJojHwQwJSLitak9VvGrXU/n6rtz47YywUUOstmngxtja3Sb749iXHuhPsrSZnJEI9cEGKc3NzQ12Yi//UILlYFGTxyhASBAAGNSLUeElJ9pJn4n8znM90caHNiEXmjUQrLUhgLR570orK3n59MqtoCAS4oQCATJ9mswJ5tge7L3XnrcNz5bYgn0S6buS3zmWLzZ2idUAUesoDfd3dHgMDxCKsXX7gBf01ta8JpM9i3zcyKasRh90PfWmPvc8MhXlVugE1i4rJ7MjQ7ExJVMqzYKY7pVtb5w04YT76JCwhO2t4PosX2ZiaSAX+SdOZ9UT6H6ROHhRAL0VAYjAGOcOfahuOCMMYz/Klmb2DJt/OwkrGFwzIlcgDL/ZDsA1Q9aIvI37XOg1mcWD1TGu/3FgzvqJPEqp7UOLNMtaLyjJ/kttuqSgtNitROJm1WBx0g8PcAOJXBR4LbAAQ7K6mm6VLaM440fbfT1V6RF19m9Do20QGsLUwYBPqqNwpVp0f1/TNUpXKEbCJMr+pEiIgJ+MXEwaX8jsF8EjoOcFlvfMJ3oGdKBumPTKXJo1SBaSmr4ATeeUsO5Ei2AQIq+zzSt+J7PzeLTSTdjSkepsp0YHp1SDvKgfyGxTyplzP0fZ3tg3nTiQ5V/t1iMgLSantapsCCpRfmVA6CnO59jaiNrSkoT6UOtRhze1Mbmylggh0uguiLSIhj3Ga+JhFrW4cjiDQ4UGPu+RBU4JH0VOOPeN5QCd2bM2vTRFLTPK5NXPHhDC+YaG3LEOP
X-Forefront-Antispam-Report:
	CIP:149.199.80.198;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:xir-pvapexch01.xlnx.xilinx.com;PTR:unknown-80-198.xilinx.com;CAT:NONE;SFS:(4636009)(36840700001)(46966006)(40470700004)(8676002)(2906002)(54906003)(9786002)(5660300002)(966005)(82310400004)(316002)(31686004)(186003)(110136005)(36860700001)(70586007)(4326008)(83380400001)(2616005)(31696002)(336012)(356005)(47076005)(26005)(53546011)(426003)(40460700003)(36756003)(8936002)(7636003)(70206006)(508600001)(50156003)(51383001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: xilinx.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 13:20:18.3072
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f8ab30fd-f3df-4450-cea2-08d9e197c36c
X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c;Ip=[149.199.80.198];Helo=[xir-pvapexch01.xlnx.xilinx.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1NAM02FT014.eop-nam02.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR02MB8829

Hi,

Asking here as well (might not have been clear on irc).

On 27/01/2022 00:10, Julien Grall wrote:
> Hi,
>
> On Wed, 26 Jan 2022, 17:56 Ayan Kumar Halder, 
> <ayan.kumar.halder@xilinx.com> wrote:
>
>     Hi Julien,
>
>     On 26/01/2022 17:22, Julien Grall wrote:
>>     Hi,
>>
>>     On Wed, 26 Jan 2022, 16:58 Ayan Kumar Halder,
>>     <ayan.kumar.halder@xilinx.com> wrote:
>>
>>         Refer to Armv8 ARM DDI 0487G.b, Page D13-3219 "ISS encoding
>>         for an exception
>>         from a Data Abort" :-
>>         ISV - ISS[23:14] holds a valid instruction syndrome
>>
>>         When the ISV is 0, the instruction could not be decoded by
>>         the hardware (ie ISS
>>         is invalid). One should immediately return an error to the
>>         caller with an
>>         appropriate error message. 
>>
>>
>>     That's going to be very spammy because we have use-case where it
>>     could trap without a valid ISV (e.g. when break-before-make
>>     happens). So please don't had a message.
>
>     There is already a logging statement in traps.c :-
>
>     inject_abt:
>         gdprintk(XENLOG_DEBUG,
>                  "HSR=%#"PRIregister" pc=%#"PRIregister"
>     gva=%#"PRIvaddr" gpa=%#"PRIpaddr"\n",
>                  hsr.bits, regs->pc, gva, gpa);
>
>     The reason for the error is to give the user some hint that an IO
>     abort is triggered by Xen.
>
> The main difference here is inject_dabt should only be reached when we 
> exhausted all the possibility in I/O handling.
>
> In your case, if we can't handle as an MMIO then we should fallthrough 
> the other method (see do_trap_stage2_abort_guest()).
>
> In fact, moving the check early and doing the decoding before 
> find_mmio() or try_fwd_io() is actually wrong. Sorry I should realized 
> that earlier.

Why should we care about MMIO when ISS is invalid ? Should we not check 
first if the ISS is valid or not as it will trigger IO_abort regardless 
of the MMIO.

I am assuming that once Xen resolves the MMIO 
(p2m_resolve_translation_fault()), the guest will again try to run the 
same instruction on MMIO region. This will be trapped in Xen which will 
return IO abort as the post-indexing instruction could not be decoded.

In this scenario, translation fault resolved by Xen was of no use.

Please help to clear my doubts.

- Ayan

>
> So we want to provide an helper that will do the dabt.vid check and do 
> the decoding. The helper will be called in 2 places.
>
> With that in place, then I agree the gprintk could be kept in place.
>
>     Can we keep the error message ?
>
>     Also, I think this is a duplicate check
>     https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/ioreq.c;h=308650b40051825fdea78bb33bfbcc87ef5deaff;hb=HEAD#l79
>     , I will remove this in v2 if it makes sense.
>
>     - Ayan
>
>>
>>     That makes me think that the same will be valid for your other patch.
>>
>>         There is no use of the MMIO handler. This is the
>>         reason why one should check for ISV before attempting to find
>>         a MMIO handler.
>>
>>         Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
>>         ---
>>
>>         Suggested by Julien Grall in
>>         https://lists.xenproject.org/archives/html/xen-devel/2022-01/msg01245.html
>>
>>          xen/arch/arm/io.c | 11 +++++++----
>>          1 file changed, 7 insertions(+), 4 deletions(-)
>>
>>         diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
>>         index 729287e37c..14d39222f2 100644
>>         --- a/xen/arch/arm/io.c
>>         +++ b/xen/arch/arm/io.c
>>         @@ -109,6 +109,13 @@ enum io_state try_handle_mmio(struct
>>         cpu_user_regs *regs,
>>
>>              ASSERT(hsr.ec <http://hsr.ec> ==
>>         HSR_EC_DATA_ABORT_LOWER_EL);
>>
>>         +    /* All the instructions used on emulated MMIO region
>>         should be valid */
>>         +    if ( !dabt.valid )
>>         +    {
>>         +        gprintk(XENLOG_DEBUG, "No valid instruction syndrome
>>         for data abort\n");
>>         +        return IO_ABORT;
>>         +    }
>>         +
>>              handler = find_mmio_handler(v->domain, info.gpa);
>>              if ( !handler )
>>              {
>>         @@ -121,10 +128,6 @@ enum io_state try_handle_mmio(struct
>>         cpu_user_regs *regs,
>>                  return rc;
>>              }
>>
>>         -    /* All the instructions used on emulated MMIO region
>>         should be valid */
>>         -    if ( !dabt.valid )
>>         -        return IO_ABORT;
>>         -
>>              /*
>>               * Erratum 766422: Thumb store translation fault to
>>         Hypervisor may
>>               * not have correct HSR Rt value.
>>         -- 
>>         2.17
>>


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 13:31:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 13:31:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261478.452795 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD4rs-0002F0-Sn; Thu, 27 Jan 2022 13:31:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261478.452795; Thu, 27 Jan 2022 13: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 1nD4rs-0002Et-Pn; Thu, 27 Jan 2022 13:31:16 +0000
Received: by outflank-mailman (input) for mailman id 261478;
 Thu, 27 Jan 2022 13:31:16 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1nD4rs-0002En-BE
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 13:31:16 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nD4rr-0000NJ-Hm; Thu, 27 Jan 2022 13:31:15 +0000
Received: from 54-240-197-225.amazon.com ([54.240.197.225]
 helo=[192.168.9.172]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nD4rr-0003zP-B3; Thu, 27 Jan 2022 13:31:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=ebWfG6Jpi5FW+COuScfdM4cJGCUbuaf+nVcYzONzqpI=; b=rEBSoCMOaqss07UmmjgEEK511/
	9c2XWMR6sYQ3QByQzgM0/sJir/V5A6WR5vF6eTM6PzHKKoR8Y8MmF3vZwOo76eET8pikVePcLLEWT
	mkSkpbK3MyjdKh5CbEqRebZw1N12bd0Hyo48YKn4zYyRhoTZv1n262i4Ip7R8RwKQ5jE=;
Message-ID: <55c8e510-8b8d-ca27-f635-e2109fff9c5d@xen.org>
Date: Thu, 27 Jan 2022 13:31:13 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [XEN PATCH v2 2/5] xen: export get_free_port
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, jgross@suse.com,
 Bertrand.Marquis@arm.com, Volodymyr_Babchuk@epam.com,
 Stefano Stabellini <stefano.stabellini@xilinx.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop>
 <20220113005855.1180101-2-sstabellini@kernel.org>
 <f3b2ae98-c7af-d8c0-b0a4-52e622517c34@xen.org>
 <alpine.DEB.2.22.394.2201241652330.27308@ubuntu-linux-20-04-desktop>
 <14af544d-0d20-9b58-4d70-5f5086ece032@suse.com>
 <alpine.DEB.2.22.394.2201251435030.27308@ubuntu-linux-20-04-desktop>
 <a992cf74-a75a-43d0-f83a-cd9549f586a8@xen.org>
 <alpine.DEB.2.22.394.2201251530400.27308@ubuntu-linux-20-04-desktop>
 <aa7aee5b-71cf-78c3-f8a2-f8d166f22ecb@suse.com>
 <966ac15d-e91f-e812-1021-296ef60a9a06@xen.org>
 <alpine.DEB.2.22.394.2201261727550.27308@ubuntu-linux-20-04-desktop>
 <33d1c1eb-7d6d-21c6-8ed4-3daef5be90d3@xen.org>
 <b2edac13-f019-f615-0655-8510bfffedbe@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <b2edac13-f019-f615-0655-8510bfffedbe@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 27/01/2022 12:07, Jan Beulich wrote:
> On 27.01.2022 10:51, Julien Grall wrote:
>> On 27/01/2022 01:50, Stefano Stabellini wrote:
>>> On Wed, 26 Jan 2022, Julien Grall wrote:
>>>> On 26/01/2022 07:30, Jan Beulich wrote:
>>>>> On 26.01.2022 02:03, Stefano Stabellini wrote:
>>>>>> Are you guys OK with something like this?
>>>>>
>>>>> With proper proof that this isn't going to regress anything else, maybe.
>>>>
>>>> That's why I sugested to also gate with system_state < SYS_STATE_boot so we
>>>> reduce the potential regression (the use of hypercall should be limited at
>>>> boot).
>>>>
>>>> FWIW, there was a thread [1] to discuss the same issue as Stefano is facing
>>>> (but in the context of Live-Update).
>>>>
>>>>> But ...
>>>>>
>>>>>> --- a/xen/include/xsm/dummy.h
>>>>>> +++ b/xen/include/xsm/dummy.h
>>>>>> @@ -92,7 +92,9 @@ static always_inline int xsm_default_action(
>>>>>>                 return 0;
>>>>>>             /* fall through */
>>>>>>         case XSM_PRIV:
>>>>>> -        if ( is_control_domain(src) )
>>>>>> +        if ( is_control_domain(src) ||
>>>>>> +             src->domain_id == DOMID_IDLE ||
>>>>>> +             src->domain_id == DOMID_XEN )
>>>>>>                 return 0;
>>>>>
>>>>> ... my first question would be under what circumstances you might observe
>>>>> DOMID_XEN here and hence why this check is there.
>>>
>>> For simplicity I'll answer all the points here.
>>>
>>> I added both DOMID_IDLE and DOMID_XEN because I thought it "made sense",
>>> but there is no need for DOMID_XEN. We only need DOMID_IDLE. Also adding
>>> a system_state <= SYS_STATE_boot is fine (but it needs to be <= instead
>>> of <). The patch appended below works without issues.
>>>
>>> Alternatively, I am also quite happy with Jan's suggestion of passing an
>>> extra parameter to evtchn_alloc_unbound, it could be:
>>>
>>> int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc, bool disable_xsm);
>>>
>>> So that XSM is enabled by default.
>>>
>>> Adding the bool parameter to evtchn_alloc_unbound has the advantage of
>>> having only a very minor impact.
>>
>> We will likely need similar approach for other hypercalls in the future
>> if we need to call them from Xen context (e.g. when restoring domain
>> state during Live-Update).
>>
>> So my preference would be to directly go with modifying the
>> xsm_default_action().
> 
> How would this help when a real XSM policy is in use? Already in SILO
> mode I think you wouldn't get past the check, as the idle domain
> doesn't satisfy silo_mode_dom_check()'s use of is_control_domain().
> Actually I'm not even sure you'd get that far - I was under the
> impression that the domain at other side of the channel may not even
> be around at that time, in which case silo_evtchn_unbound() would
> return -ESRCH.

This would not help for real XSM policy. We would either need to bypass 
XSM completely or decide what to do depending on the mode (e.g. SILO, 
FLASK...).

> 
> Additionally relaxing things at a central place like this one comes
> with the risk of relaxing too much. As said in reply to Stefano - if
> this is to be done, proof will need to be provided that this doesn't
> and won't permit operations which aren't supposed to be permitted. I
> for one would much prefer relaxation on a case-by-case basis.

The problem is you will end up to modify a lot of code. This will be 
quite tedious when the policy is likely going to be the same (e.g. if we 
are booting, then allow to use the hypercall).

So I think it makes more sense to do the modification at central place. 
That said, this is not strictly necessary for what Stefano needs. So I 
am OK if we go with local hack and deferred the debate to when a wider 
solution is needed.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 13:47:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 13:47:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261481.452807 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD57w-0003sk-C5; Thu, 27 Jan 2022 13:47:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261481.452807; Thu, 27 Jan 2022 13: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 1nD57w-0003sd-8D; Thu, 27 Jan 2022 13:47:52 +0000
Received: by outflank-mailman (input) for mailman id 261481;
 Thu, 27 Jan 2022 13:47:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD57u-0003sX-To
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 13:47:50 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id aebe40a7-7f77-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 14:47:35 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2113.outbound.protection.outlook.com [104.47.18.113]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-13-i_LZgdhpPWCwDPQj48tvhg-2; Thu, 27 Jan 2022 14:47:48 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by PR3PR04MB7322.eurprd04.prod.outlook.com (2603:10a6:102:8e::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 13:47:46 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 13:47: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: aebe40a7-7f77-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643291269;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=cQYWCRAkXu0eUBODgJtaz5stVxp/6sBRE4yTBikJc8o=;
	b=YjEHEJOd962jkeHXytrrN2/YFYSw5Q/nfMvGibm7TyzmkehhDhAZ2kSpoBtQ1//mbWo/dQ
	tGPY7OZQm3Nf5yNliiGNayd6Kym6F1m1/w/22KGVUGXBRLucoIS1gHbpGGQ3u9qlAP3hac
	UZdxvnmYucHO9RSdYnQvm87Cvg/KvWw=
X-MC-Unique: i_LZgdhpPWCwDPQj48tvhg-2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YrLPpDRdgJar0XTDMmhut+97ZIuC4vP0ypXfQiaYOb51A/JSKmDMII/KMJuSD4oYt0uyyExANtSz8V15d1RSA6RJ8pcgPE/wyy4BRTK22kLRBC4/3urCtz0N9Epbbbaq5OA1vZBgsstf1xOJGGV6bnReLIg/wujxrzAfu8srz++AcrF9ctGjOiyQZPJ/Q5aZFoErj8DckkZqP/EwSSOQyDYnV0qw4lyno3w6DX6I+0gDQ0S6Q3WZFU+C40tvBDD8jFABQJnYmrT0jU/F+cyOG8s0BH7hoBqVh6dqNZ85VSdPPKy0tVU8U/GWf6MU3vPuCqfIjmwcu1pTl+6iUIaPgg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=A296S82GnOFGZIwRRMQW9CHBp1hVssunKqLk7bn85Ko=;
 b=bkauZaTKSYPJP5jpZhRLNot+8iaeX3OIySjEfkyxCJGwVD7WTJXbRPUCsKpt8XvLHnjZbgF4ZhXQEld9Le0KO0Vdygx6vyCKsMXuphTClBXgCQxbeBGI4F4T4ed6F4GljWuuzjNVLi74oGXnf6PQ4+WTDQ8uWxZntu/BK13XeuiqsTtAdTLyenNXSbWbxUAiEWw4cSTFVWWkk0XO7yOCY3t6YXi8VZIVSpcKM/2qEks5y2rYoZt/W+fTujySYL4kC8Jh4qv//98pRYSOMZQ+ln0M7gNGtkCGMB/z6U5fKfdfFa34v7ys0nRc15hU3FegORu8yDAxCaIxAYsTZqlCBQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4a9c11b0-1564-9014-2185-01318a98b334@suse.com>
Date: Thu, 27 Jan 2022 14:47:45 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 8/8] x86/cpuid: Enable MSR_SPEC_CTRL in SVM guests by
 default
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220126084452.28975-1-andrew.cooper3@citrix.com>
 <20220126084452.28975-9-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220126084452.28975-9-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM6PR0502CA0044.eurprd05.prod.outlook.com
 (2603:10a6:20b:56::21) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4ff57f4b-5ee5-403a-4cc6-08d9e19b99a3
X-MS-TrafficTypeDiagnostic: PR3PR04MB7322:EE_
X-Microsoft-Antispam-PRVS:
	<PR3PR04MB732233B86B2407436F57CEEBB3219@PR3PR04MB7322.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:
	vdjnw59lv7GcWMbE00OJt9zsTiGerZra6QAcN3O0lunH02vJTbgY5r8xNpezmtRKTkuNfq4OyzKj19mx080TxJEQkwss+Dm0TAawSDEDTAcbklTaAHsRPsCdOiGUQw3ZjFnqFf/wdlpbkEy/eFjOFAWzlKq+huI4tw6hhP3zCcLF+GE9F9kCAHTeGACHxdaSMcBrLxa31c/3CYniU5sCV6lSDZeVGfhSW27++v0CrPrLnqsc2Q876ZtekrJ9CMB7uUnw8LtF57irC9CA9E10zgD0VdIZTQOU6yrEFX0H5Kt9Gg5itAnzpSNgIsJTu8+IceMKXdjwm4VC9Z2OGwJww0W4vz3Lj/ON1kFl+AsOUYZZFjUMAMRJk3d6EA3R+HO3bi9rpSa0FLDUGqV5vH7QUGBwuUuYnYqivw4ps6jEmvEIq1URrySPRZpgEKgb2fXq60TolJcg5g0syryDoEZxQqWj8Kzd9U6siuj/vTD18WU+r2cAncoVIcFQ+65hfKxMkEqTL+syvGme2Z6zorSVSfDKo939PwdLy9Ihy5oLfuQ/CKncpLUdEEggT5feUJT+yfQYwtiR0QcR2lLr/EujLik7B8h6/xkPvVtqA4TzUAjLBudYHSARvUKWTT63YwWI7h3wFbvAmHEx56iDpz4nUP1zmZN1b7yEGWACH53MwU41fXzPJ2cJmYIPbInXaHURz3nuIT87zEjcya2Qla/CKbBnwc3nazM4zYmgzOh0M/WSKyHuJrs5huhpKy8LOeK3
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:(13230001)(366004)(31686004)(38100700002)(2616005)(26005)(83380400001)(186003)(6512007)(6506007)(53546011)(2906002)(5660300002)(31696002)(36756003)(316002)(8936002)(8676002)(66946007)(66556008)(66476007)(4326008)(86362001)(54906003)(6486002)(508600001)(6916009)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?Xh/TFp+KbpCLA0DErPtH23AywvSNPPRiJ85RfVF2wANd4rWP05AzaGVvpTbB?=
 =?us-ascii?Q?DyZhnwr39SVWuBfEGAZTx0zkCdXKeIfbPgODPDz+7NyO39Cnj2frkhtXF7Wu?=
 =?us-ascii?Q?vDlRoiRBqjE7/m0lq3MQA7rvI3KvQUJxyntsEfm9KBGMshRRS0JldMixpT99?=
 =?us-ascii?Q?AGumxXJxApqQ/0XSH8R2nTbNg7S0OkxvCCThOfw+oniYCMvZMmI/++1UTDxO?=
 =?us-ascii?Q?qDohhXJY1+Pesr8yv1DWIltlmXyuk52qo/MTE1WPQlzSz52usdVYKOCuqBLy?=
 =?us-ascii?Q?TxDXcc+QjLd3wTntSGeDu9Q7gBzMLsdKooIq3VdiHJgEBuYT2L067gWNI3BF?=
 =?us-ascii?Q?eCI2p+JEs00QOQmpfnx+zvMMBnibOn5a1h6HZJXVxF6Rw2BoSTmXguaEGiKI?=
 =?us-ascii?Q?gJZ36JfUVGzkPzQl15iv/mJYzoUzOPbGXUiCZdtr6j33bAi4UpJ7biTXBNRC?=
 =?us-ascii?Q?IlQrXJagFsMXSi1srpadgoXD02Tbem3CI6wbEB551znkxAztHJHBUmmGXsOb?=
 =?us-ascii?Q?lL6CVYsYxrHGeEf8Uzv+3qt0VJ3bTILrMigaAc2fyVtISFytG1ISt7zh7zuI?=
 =?us-ascii?Q?/mYXCGFspjEkC8Lx8p5DU2PkIyGMNQJ6bFCpzTf3UhKfGeNZ9MzlKFcc8r6Z?=
 =?us-ascii?Q?cE8UnucRqIMi3SoCoJvjq5dUtrujT1CGr5W/djqy6QwhUQfqGbYNqDDTledF?=
 =?us-ascii?Q?CbMdrDR0IENWXfak4sSM/jRTVFf4hJEGc7j39GhTjLsdsEC3Z63ek6RGrp9M?=
 =?us-ascii?Q?284HV5r6Uhf9hOz52mxE/J50iRX4qulzi8L+wo/PJrRr2yWfhvSStkGNyhWM?=
 =?us-ascii?Q?PITej/q7iqY4FbcgsELpXdVmDKO47ug/XdP577/KAfb7jZ0iV9rjNE9c+3xm?=
 =?us-ascii?Q?Lo3meyi13JYyQzE6b1D9x8R4303HaytRL9DWx7f8caC+/crQlpaMnO23Oy6X?=
 =?us-ascii?Q?i/ft8ed1jysEhtDO1ptD5MMHRJZzu6QKBuVZPjuo1Mqfrn8OY4xCkCz1gsCW?=
 =?us-ascii?Q?qafOmiX/2Vmnsc0Dyzoo7mCD4w4RNJyQWM9n+en23KLKV23rD5JOE5DxN+Q6?=
 =?us-ascii?Q?iX5STh70AOgM8eD4vwOzGnCtn/Rqrl4COI/kskC9F6cCqiMqkDk1S/rf+Lg1?=
 =?us-ascii?Q?BbgQ3IIkvuClKI03FlZ6E3m1+aDgVIvmCuxR0c6S0XiwbboTUbk7Ajg+sEZL?=
 =?us-ascii?Q?hcqNgIIvKefzhosCa/5bzKmhSHovDW88PWDJXSgY/fTWyMYS1G4HpcktxqnK?=
 =?us-ascii?Q?xUso01VVSFo0l506cyPOnQiEwWwbc490xICu1R8m0qE1aIUBnhMVgo/9mvcg?=
 =?us-ascii?Q?zTaaB9yX/QBZOjUWITg3m646hSml297peak0lVXTBTzqneuLVpmYY3OS55dG?=
 =?us-ascii?Q?RbP/VmhAgKX+9Uxt3hTAkX1gRevosOBDewIm/SPdMa47e2+ubH2JrmTj2k1w?=
 =?us-ascii?Q?FWZvctEqQHH1LNmIE544Qeen6KSewT4c4nbJBMzUgKNzdwEJf1J7JUTpVBP2?=
 =?us-ascii?Q?cSoLCjm7TnHLBXb4zK4uqbrEXI+zhSfA+320T/NLGwKXpqMto8GC/i8vgvMf?=
 =?us-ascii?Q?rlCJuJHGguw5rVrJgNZSsOhnWVl/iNph4POVL4lHTAhyYZbceQr+WJJixLV7?=
 =?us-ascii?Q?2jdXXFldzXFlqhVoCkM9v/k=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4ff57f4b-5ee5-403a-4cc6-08d9e19b99a3
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 13:47:46.5776
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rGeEMbkesvhkyFWbkKr40crTWjf2rhgKnUREi9oOM0JcSJVYUc/J2iblthhs2KVngSZ6/E++rNY0z0oDYhpMzA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7322

On 26.01.2022 09:44, Andrew Cooper wrote:
> With all other pieces in place, MSR_SPEC_CTRL is fully working for HVM gu=
ests.
>=20
> Update the CPUID derivation logic (both PV and HVM to avoid losing subtle
> changes), and explicitly enable the CPUID bits for HVM guests.
>=20
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> CC: Wei Liu <wl@xen.org>
>=20
> Given the adjustment to calculate_pv_max_policy(), we could use 'A' rathe=
r
> than 'S' which would avoid a second same-sized diff to cpufeatureset.h, b=
ut
> it's also a bit misleading to say 'A' when the PV side won't engage at al=
l
> yet.

I agree with using 'S' at this point for most of them. I'm unsure for
SSB_NO, though - there 'A' would seem more appropriate, and afaict it
would then also be visible to PV guests (since you validly don't make
it dependent upon IBRS or anything else). Aiui this could have been
done even ahead of this work of yours.

> --- a/xen/arch/x86/cpuid.c
> +++ b/xen/arch/x86/cpuid.c
> @@ -433,6 +433,8 @@ static void __init guest_common_feature_adjustments(u=
int32_t *fs)
>       */
>      if ( test_bit(X86_FEATURE_IBRSB, fs) )
>          __set_bit(X86_FEATURE_STIBP, fs);
> +    if ( test_bit(X86_FEATURE_IBRS, fs) )
> +        __set_bit(X86_FEATURE_AMD_STIBP, fs);
> =20
>      /*
>       * On hardware which supports IBRS/IBPB, we can offer IBPB independe=
ntly

Following this comment is a cross-vendor adjustment. Shouldn't there
be more of these now? Or has this been a one-off for some reason?

> @@ -456,11 +458,14 @@ static void __init calculate_pv_max_policy(void)
>          pv_featureset[i] &=3D pv_max_featuremask[i];
> =20
>      /*
> -     * If Xen isn't virtualising MSR_SPEC_CTRL for PV guests because of
> -     * administrator choice, hide the feature.
> +     * If Xen isn't virtualising MSR_SPEC_CTRL for HVM guests (functiona=
l
> +     * availability, or admin choice), hide the feature.
> +     */

Unintended replacement of "PV" by "HVM"?

>      if ( !boot_cpu_has(X86_FEATURE_SC_MSR_PV) )
> +    {
>          __clear_bit(X86_FEATURE_IBRSB, pv_featureset);
> +        __clear_bit(X86_FEATURE_IBRS, pv_featureset);
> +    }
> =20
>      guest_common_feature_adjustments(pv_featureset);

What I had done in a local (and incomplete) patch is pass
X86_FEATURE_SC_MSR_{PV,HVM} into guest_common_feature_adjustments()
and do what you extend above (and then again for HVM) centrally
there. (My gen-cpuid.py adjustment was smaller, so there were even
more bits to clear, and hence it became yet more relevant to avoid
doing this in two places.)

> --- a/xen/tools/gen-cpuid.py
> +++ b/xen/tools/gen-cpuid.py
> @@ -290,6 +290,11 @@ def crunch_numbers(state):
> =20
>          # In principle the TSXLDTRK insns could also be considered indep=
endent.
>          RTM: [TSXLDTRK],
> +
> +        # AMD speculative controls
> +        IBRS: [AMD_STIBP, AMD_SSBD, PSFD,
> +               IBRS_ALWAYS, IBRS_FAST, IBRS_SAME_MODE],
> +        AMD_STIBP: [STIBP_ALWAYS],
>      }

Could I talk you into moving this ahead of RTM, such that it sits
next to the related Intel stuff?

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 13:57:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 13:57:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261484.452817 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD5HT-0005O4-Am; Thu, 27 Jan 2022 13:57:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261484.452817; Thu, 27 Jan 2022 13:57:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD5HT-0005Nx-7s; Thu, 27 Jan 2022 13:57:43 +0000
Received: by outflank-mailman (input) for mailman id 261484;
 Thu, 27 Jan 2022 13:57:41 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1nD5HR-0005Nr-MJ
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 13:57: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 1nD5HR-0000r0-7N; Thu, 27 Jan 2022 13:57:41 +0000
Received: from 54-240-197-225.amazon.com ([54.240.197.225]
 helo=[192.168.9.172]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nD5HR-0005sk-15; Thu, 27 Jan 2022 13:57:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=6BPt4LVkX2pqFFtYmVvTYxHfqN85gD/IwtFeOjSZaQQ=; b=6KZDHj2lYIj6IXvhwoH+T7N9vL
	GcWnkKsP6o4KxV1fxbmPNQnXWwBY7beqSERNHyYcNqlfPHlDfFS8F/sLjl388s9T/vGbz3vIJy2Wo
	Vkgw+4hGyuaCDRgRSRUCl+RplJIZpOx0S5sQ4bWrUE1lju4MLhL71NtReH5zcpKuvyZI=;
Message-ID: <2064878e-4ef1-f0a3-1476-7175c2c8d29e@xen.org>
Date: Thu, 27 Jan 2022 13:57:38 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [XEN v1] xen/arm: io: Check ESR_EL2.ISV != 0 before searching for
 a MMIO handler
To: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>,
 Julien Grall <julien.grall.oss@gmail.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>, stefanos@xilinx.com,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <20220126165827.61168-1-ayankuma@xilinx.com>
 <CAJ=z9a1KjOAeR4vpRQGA_sYSvx1h331NKim2bgG8jyru94Beow@mail.gmail.com>
 <eeedbb72-d881-363d-c862-234b705eaec7@xilinx.com>
 <CAJ=z9a0VEqr_ODQZvdsO82PiOpHt5-TVc4JWE5pJCeNYPh+XHg@mail.gmail.com>
 <bee7ea7a-6d3d-bf3c-4b5f-d40deb601867@xilinx.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <bee7ea7a-6d3d-bf3c-4b5f-d40deb601867@xilinx.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 27/01/2022 13:20, Ayan Kumar Halder wrote:
> Hi,
> 
> Asking here as well (might not have been clear on irc).
> 
> On 27/01/2022 00:10, Julien Grall wrote:
>> Hi,
>>
>> On Wed, 26 Jan 2022, 17:56 Ayan Kumar Halder, 
>> <ayan.kumar.halder@xilinx.com> wrote:
>>
>>     Hi Julien,
>>
>>     On 26/01/2022 17:22, Julien Grall wrote:
>>>     Hi,
>>>
>>>     On Wed, 26 Jan 2022, 16:58 Ayan Kumar Halder,
>>>     <ayan.kumar.halder@xilinx.com> wrote:
>>>
>>>         Refer to Armv8 ARM DDI 0487G.b, Page D13-3219 "ISS encoding
>>>         for an exception
>>>         from a Data Abort" :-
>>>         ISV - ISS[23:14] holds a valid instruction syndrome
>>>
>>>         When the ISV is 0, the instruction could not be decoded by
>>>         the hardware (ie ISS
>>>         is invalid). One should immediately return an error to the
>>>         caller with an
>>>         appropriate error message.
>>>
>>>     That's going to be very spammy because we have use-case where it
>>>     could trap without a valid ISV (e.g. when break-before-make
>>>     happens). So please don't had a message.
>>
>>     There is already a logging statement in traps.c :-
>>
>>     inject_abt:
>>         gdprintk(XENLOG_DEBUG,
>>                  "HSR=%#"PRIregister" pc=%#"PRIregister"
>>     gva=%#"PRIvaddr" gpa=%#"PRIpaddr"\n",
>>                  hsr.bits, regs->pc, gva, gpa);
>>
>>     The reason for the error is to give the user some hint that an IO
>>     abort is triggered by Xen.
>>
>> The main difference here is inject_dabt should only be reached when we 
>> exhausted all the possibility in I/O handling.
>>
>> In your case, if we can't handle as an MMIO then we should fallthrough 
>> the other method (see do_trap_stage2_abort_guest()).
>>
>> In fact, moving the check early and doing the decoding before 
>> find_mmio() or try_fwd_io() is actually wrong. Sorry I should realized 
>> that earlier.
> 
> Why should we care about MMIO when ISS is invalid ?

Because a translation fault doesn't mean this is emulated MMIO. This may 
be actual RAM but with the stage-2 entry marked as invalid for tracking 
purpose (or else).

> Should we not check 
> first if the ISS is valid or not as it will trigger IO_abort regardless 
> of the MMIO.

No. Imagine the guest decides to use a store exclusive on a RAM region 
that was temporally marked as invalid in the stage-2 page-table.

This will generate a data abort in Xen with ISV=0. We want to try to 
resolve the fault first and retry the instruction.

> 
> I am assuming that once Xen resolves the MMIO 
> (p2m_resolve_translation_fault()), the guest will again try to run the 
> same instruction on MMIO region. This will be trapped in Xen which will 
> return IO abort as the post-indexing instruction could not be decoded.

The access will not trap again in Xen if the fault was resolved.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 14:34:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 14:34:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261488.452828 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD5rO-0001LR-9m; Thu, 27 Jan 2022 14:34:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261488.452828; Thu, 27 Jan 2022 14:34:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD5rO-0001LK-6p; Thu, 27 Jan 2022 14:34:50 +0000
Received: by outflank-mailman (input) for mailman id 261488;
 Thu, 27 Jan 2022 14:34:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD5rM-0001LE-8q
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 14:34:48 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4634991e-7f7e-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 15:34:46 +0100 (CET)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2052.outbound.protection.outlook.com [104.47.9.52]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-9-53OY9-E7O9qVj1UqI6QNOA-1; Thu, 27 Jan 2022 15:34:45 +0100
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.4930.17; Thu, 27 Jan
 2022 14:34:42 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 14: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: 4634991e-7f7e-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643294086;
	h=from:from:reply-to:subject:subject: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=j6uvKqA9HgHe7EOgU3bZKcgbjXHaT84fxzLyjZIduUg=;
	b=bfAyJblr7ZmuMuNLsqXo0H8TzNBMWSMeFpQACluBqTsPpHQHPJUwadrjSbUTLX9Gr7YODa
	CzuIOJ/Nk+QkVVXC++M+gqA8aaVKy2vtayuGaY/mHh5YvSBd77/ZZUDwqOGSmaIurEXmwA
	mPFQdOITccHrG6z4YP+N8ZOi7Ew5yFU=
X-MC-Unique: 53OY9-E7O9qVj1UqI6QNOA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ahlpuid3CepbKN+EbaKk3EwnV0dHrFTUV1l+qjfSUoP8LILdCXbhKsBF+ijVbVoRhXjhpf6jv0J6J+qArmcmUt6DMp0GwOwEQ1bSQVhqmqInW0akkp2m3VTZ4fkLjaAdBl2UGVfnFBOnIeMSxeZdvDunSxNcYjtLEj/qw0nT6/rGbxHRbc229HWYjHjvAk4fpYrYAODnXxszW0odsJH+4Y2lGlfLpGYj6tKS7dlnYwrAfX/ZFauhQ4p4pgjbCPiHAs221MXWy3fURHkBwhsdhBOYHY1RaEWadGioAlIHcdG9QnvvwWs05eQYHGgBqA55wz9BZaPEI1zF6OccSv7gaw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=j6uvKqA9HgHe7EOgU3bZKcgbjXHaT84fxzLyjZIduUg=;
 b=IZ5tgGFPGmNGrBt1xb2UNKdzwnSrXMsgS28Wrg+1EAv8+PZtMd6znCiWW+lbNzKGB0NT9XN3tSMVJEpbBfTptR+DjARQnN5bLtNuVYAKBZeBIgM0QQAW3Y5qh6i8kTKAgr6A7d4U4dNgHRZBjSUowkWQReKrR9MxF48MpeesB9ADLXcTWjn8oyMwlclydqz10GvHe3eoUQKXYGmipRxR8oy/HLTkGdTOL12Pqru+ROkGbVBKX8V/05Us0v/Mok9aCrS5SUMv4EJbZCUjN53uwlVLDgPSPyyMnb+foj5C5Rl9DDNZaO8kC9yN+Snb21/HBt5eVABj7Heu0tw/+fHdqQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <75125344-b0e1-9663-4c1a-84bb35870fef@suse.com>
Date: Thu, 27 Jan 2022 15:34:41 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2] lib: extend ASSERT()
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: 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-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 689f41a8-4362-4bdd-0252-08d9e1a22837
X-MS-TrafficTypeDiagnostic: VI1PR04MB5901:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB590174E6E91EC0E50483C8C0B3219@VI1PR04MB5901.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:
	kBbEbVApIsCPmPdK5bJC0UfceIHxjNlSL3nw5vUgMqtUed7kGV3zXubODlQM6q6lB+1bAaQ1g2FaZOLY68W6OAZDzG3igS3wwDKSA9RvhLdDTwGhFFFS3jkxRpH+NtADIXI2+k9g57aKakQjOIXnDnJEaUuaGYn6NKABeM1cbdKWVAKAl+umDG35T483BHMRpVBVzs+JyYRsgEd/ipQpGDMx30RyJrX13qyuT3vTnwuS4kbFrlKrVkMad1vb8EegduXlu+fVs5JsmIUrNOvGVWgc5EwpHp36rIkkCHQXwMEMUYNRWjQkqdEH2zV+gj1+e4sawVs0MjuuO4NsSKQpGEKt3L5dpcDnmHEy7MDVqQZWk6XeWJ3fN85zs7rsDYi2zFaiw6+THI4WnEKY4wUHaSu6vkm11/OdVoV/dkwL5ePbd1V2UHuf/MMI1cXUtXUKWLlY5v8L8fU8oEfvoGXdPU02Y/1oKUplkWipnXrVbaVSHv4pe/a1E0SiwnlPUuVWnnpSrw0ngu7zryga1YzLL2ItBtlN0bShbVAH12mhaayMF9RLTtdJ5xqYszJ9HPgPwgLArra2MmhSlvw6L3dDhJ78K46oMKbsqzRhHx23F/IVBalGfwvZPEA29tpyrcV28LoE+ROl07htXEa0VHazedhFAr+T9j6mRarRSumiTSBJIT8txNWXYq3sn89RmLGXKao2VuyNvz9cMz5f6Da8Gk4+OcM8ORkWtlIFz1otxsTFyC0azTlkVw6XXoRxljRT
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:(13230001)(366004)(54906003)(31686004)(6486002)(36756003)(86362001)(2616005)(38100700002)(186003)(6916009)(26005)(6512007)(316002)(31696002)(508600001)(5660300002)(66476007)(66556008)(66946007)(8936002)(4326008)(8676002)(2906002)(6506007)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cjcxRFBGL21qOC95RW82amhrWXFZYy9aaUc3ckdubHdxa3RoSkxiT1BSYVdZ?=
 =?utf-8?B?K2Q0WTBZSXl5aXdTVHNqcVRod0Vjb01Tb3d2UU5JMCtXb1VXZEQ1TkU2TlhM?=
 =?utf-8?B?L0plRmd1a0JwN1JOTkJnbzNXbXcvcVdRcUZTaGpOK2ttSEs1M010K2gydDdX?=
 =?utf-8?B?YncrOVJMVzVQcS9xZ0VJMUlPMm01aWtldmFzb2c1RzJBcllpbk9IS1NWdkZ1?=
 =?utf-8?B?UWFMRWZOUTdEQzZnbTRhaDljMjZyQXlaaW5lcm1XektGaXBBT1VsMFBqVkNo?=
 =?utf-8?B?NEhpNjV1SzZpODIwRDBmb0V4MEpkU3U0c05HakUxVDhjaCt5cjBlUENiZ1Mw?=
 =?utf-8?B?UXRnb0grb0JkakFuR2NJT3Y4NkxqcXB6c2dpcitDd2UvNHo5bEcyc3VYZ2pw?=
 =?utf-8?B?Vzl5aC92QmFKY0Y5ZVhObjFadUtONFdaZzkwQmFlb3BPYVU2bmFSSXBpMTNI?=
 =?utf-8?B?OGNCajBWK2txZUEyZ21oUytGL3NZSGZsRzNoU2FWTGxHS25QR0NPd21RalVs?=
 =?utf-8?B?WEM1d2w1Q3pxbjdCaXhBTDk0QjBYMFlZN2lqeERzVzhOSmxnOThZS0NERms0?=
 =?utf-8?B?ZHdoSmpvaW1lMTVocEJ6WWEyOHJhOTR2c3o0RjFhVzhySXU3Yi9nYThoUzBk?=
 =?utf-8?B?c1RLNzZsTnlFUkZyNHYxWVZtQzFNYkZ4QmdDYWdqbjZsNW1VVFlqNWRHcW50?=
 =?utf-8?B?RTR1V3l4T0Y5ZTlRcnVlQXRBeXVxVzRvNzE1dHVVVGpCQmVXZXVHNjFMNkNi?=
 =?utf-8?B?ZlhCS1NxWkZMSklOc3ZIYkJ3aGJTWmVIY0JJQ2M4RmVKUlQvbnVrZnZvOXVi?=
 =?utf-8?B?TFRvcG9aVGYweDFTTnFlb3A3SHBlUHRLZWRxcEsxVno5bTRqNVordkRMSlhL?=
 =?utf-8?B?WEhBazNoa01oUnlIQUtZTzVieU1DMERZN2NMYkVMTDR4ZkxOSkNwblVkeHk2?=
 =?utf-8?B?Z0UrM0hLTE1CSEVmQXZCVjJYek1FMWcrUVBVVUlxYTJBZkJqVmxYSlhOU3Iz?=
 =?utf-8?B?NnhTSGxlZ3M0c0RYd0dWcmljZnZMdGZXZ1JWVkZETHpDZ3U3b3R5bmhJcWFu?=
 =?utf-8?B?OXlwbFUybWFvYjRSdzhWeWEzOTEwK2plS0wwOEsyalFaQ0Y1N3NUQXVuenJk?=
 =?utf-8?B?MHVISFNlMmwxcUF3TS9tT1ZxL2J1VndRWlFGbzJ6enk1VFhFT0hTMXlEWVRN?=
 =?utf-8?B?Z0t5MmNHbUJVZGV1MDZKc0FJQlltSDlMeEs4bUsrRXhHSlRzbmk5SVNYWFV3?=
 =?utf-8?B?d2JkMHNNR2NWTXNsYnk0V0V4VGwyTlYwdHRGTHNEcHE0ZFRHeTV5Q3lMRzNr?=
 =?utf-8?B?ZXJaU0ljT1ZsZjZCZVo4TTl0dTE2MmpSK09EZFZiR0hJaVB4RFFueGlhQ1hq?=
 =?utf-8?B?OU1oSWI4TU1EeFYxLzhVcC91a1FHUVZYcEZGTFhEdEFMSURiTDhHdzhwME12?=
 =?utf-8?B?TzZkYllmMEJQTTVjbmp4S1VFSjJzdzBVRWE2RlVxUkZqQ2ExV0dSWUZtT1dY?=
 =?utf-8?B?Sjk3K2JaVy9nMXIvZ1BrZkQzR0ZWNktyZ3BrOUlZRHptN1Zzb0piWWdFdmJm?=
 =?utf-8?B?aGRRUVd2N1BVOVR3WVJ2UTFOTjBJYTJrcG1Pa2lsb2JsNzFuUGh0YjNZMlhZ?=
 =?utf-8?B?dFQ4UjJlbEkzV29Uc0wyT05BZHIyR1hwMDlMbUtoWkphVHV1cGs2RlRNeFFj?=
 =?utf-8?B?Z1RCOGw2d2tDdGFaSzFNR25IVkpGaG5yUllybU94ZVBxaHFlSUp2M0pSalJL?=
 =?utf-8?B?QmdsYUhjczlqTXhuanJEUktxQXdHbzk1OFlWNkxhNHN1ekZiOHZrZ1puZXNy?=
 =?utf-8?B?dWdWYlF4OWdsS21sUHMyWklrZEk5enVBOUp5M2ZNSEg5Z3FPeHVtcVJMcXpP?=
 =?utf-8?B?ZWJyT3lsVlI0M3AySE5ka1NJQ0E5Unl5ZG5lS1JVOVU4Wlk0NmpWRy9Dc3ZY?=
 =?utf-8?B?Wkx3YjlFa1dscmxJMzJYMGF4a0xncVpFYnUwcEF3b0czN2hCR2VaSzBYYThK?=
 =?utf-8?B?clg4dWxXVTcvWXhQNWhNcGRNMjA3K1R5VzljWDVnRWdFcmVpOUtNSlRSdjB1?=
 =?utf-8?B?Y04xeG0zQkYyMUZpQWpuOHFaQXAzOWlpbGJWSVJSNUplT01vNVFtVUN4NEVS?=
 =?utf-8?B?cUxrWEhqMFBKUUg2VSsydkJnK2ZkU2JZLzcrYUh6UlJ2NmlwZi9Pcnp5b2xw?=
 =?utf-8?Q?Wqr4TwwiLNUbGIY+IvAO+/4=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 689f41a8-4362-4bdd-0252-08d9e1a22837
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 14:34:42.7468
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wTw2tv5WX+C93hh9nOpOuVm4oawU2ZTpgrQPuo3kAfRcGECu1/5iuPUyjK6DFXsjXF4UIUi5SnZc95QMfluI1A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5901

The increasing amount of constructs along the lines of

    if ( !condition )
    {
        ASSERT_UNREACHABLE();
        return;
    }

is not only longer than necessary, but also doesn't produce incident
specific console output (except for file name and line number). Allow
the intended effect to be achieved with ASSERT(), by giving it a second
parameter allowing specification of the action to take in release builds
in case an assertion would have triggered in a debug one. The example
above then becomes

    ASSERT(condition, return);

Make sure the condition will continue to not get evaluated when just a
single argument gets passed to ASSERT().

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Rename new macro parameter.
---
RFC: The use of a control flow construct as a macro argument may be
     controversial.

--- a/xen/common/memory.c
+++ b/xen/common/memory.c
@@ -826,11 +826,7 @@ int xenmem_add_to_physmap(struct domain
     union add_to_physmap_extra extra = {};
     struct page_info *pages[16];
 
-    if ( !paging_mode_translate(d) )
-    {
-        ASSERT_UNREACHABLE();
-        return -EACCES;
-    }
+    ASSERT(paging_mode_translate(d), return -EACCES);
 
     if ( xatp->space == XENMAPSPACE_gmfn_foreign )
         extra.foreign_domid = DOMID_INVALID;
@@ -920,11 +916,7 @@ static int xenmem_add_to_physmap_batch(s
      * call doesn't succumb to dead-code-elimination. Duplicate the short-circut
      * from xatp_permission_check() to try and help the compiler out.
      */
-    if ( !paging_mode_translate(d) )
-    {
-        ASSERT_UNREACHABLE();
-        return -EACCES;
-    }
+    ASSERT(paging_mode_translate(d), return -EACCES);
 
     if ( unlikely(xatpb->size < extent) )
         return -EILSEQ;
--- a/xen/include/xen/lib.h
+++ b/xen/include/xen/lib.h
@@ -49,11 +49,13 @@
 #endif
 
 #ifndef NDEBUG
-#define ASSERT(p) \
+#define ASSERT(p, ...) \
     do { if ( unlikely(!(p)) ) assert_failed(#p); } while (0)
 #define ASSERT_UNREACHABLE() assert_failed("unreachable")
 #else
-#define ASSERT(p) do { if ( 0 && (p) ) {} } while (0)
+#define ASSERT(p, failsafe...) do { \
+        if ( !count_args(failsafe) || unlikely(!(p)) ) { failsafe; } \
+    } while ( 0 )
 #define ASSERT_UNREACHABLE() do { } while (0)
 #endif
 



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 14:39:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 14:39:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261492.452840 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD5vu-00026C-1i; Thu, 27 Jan 2022 14:39:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261492.452840; Thu, 27 Jan 2022 14:39:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD5vt-000265-Ug; Thu, 27 Jan 2022 14:39:29 +0000
Received: by outflank-mailman (input) for mailman id 261492;
 Thu, 27 Jan 2022 14:39:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=r5SY=SL=gmail.com=digetx@srs-se1.protection.inumbo.net>)
 id 1nD5vt-00025z-Ch
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 14:39:29 +0000
Received: from mail-lf1-x130.google.com (mail-lf1-x130.google.com
 [2a00:1450:4864:20::130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ee589d03-7f7e-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 15:39:28 +0100 (CET)
Received: by mail-lf1-x130.google.com with SMTP id u14so5718269lfo.11
 for <xen-devel@lists.xenproject.org>; Thu, 27 Jan 2022 06:39:28 -0800 (PST)
Received: from [192.168.2.145] (109-252-138-126.dynamic.spd-mgts.ru.
 [109.252.138.126])
 by smtp.googlemail.com with ESMTPSA id r13sm476323lfr.65.2022.01.27.06.39.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Jan 2022 06:39:22 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ee589d03-7f7e-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=message-id:date:mime-version:user-agent:subject:content-language:to
         :cc:references:from:in-reply-to:content-transfer-encoding;
        bh=XkYKE/mqIw+ZogEPzGoXmtOQI8nkKTmA4V70TLbVWS4=;
        b=BHb2Xn1jq66/9MHahrzGm/gWUKtVbh/58wKW18vGWzni3fO5qyqP4VG1OOnOie8Jsh
         gDERoDSbSutwAXYx2C5vNn4TrrwM4BpgdHcNKbywEL+R5MYLhL5n2nGGvdHyYC3+WdiR
         AH7kOLTk/zgQKoF333ryAx/KFlOhDG6pX/tZk4LwhLgv5peCfB01DtWBVE+9RHO5Zn9/
         GlTTQk4e9TGZCrINPfliTtlCZdTAH9LmWOb+qXQAmfLULPmn+Omh2L6j2NgulGAPM/A+
         p0mPzTS/Ny1WZgGK/AicqnPTN5Ub7NU4t23e3Ka67Gnz7TG7Nyg0lXeqh7s3FoDGgrJx
         11/A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:message-id:date:mime-version:user-agent:subject
         :content-language:to:cc:references:from:in-reply-to
         :content-transfer-encoding;
        bh=XkYKE/mqIw+ZogEPzGoXmtOQI8nkKTmA4V70TLbVWS4=;
        b=CfnJ6S2nHqx/3Pa4MP5vZpgR0qpzMIFaiv9IQKWuxSgPCwbt7/O0bwq0tU8Kt4bMOP
         moYl/r2j+2Kwmq4j/ZRrbr9JEwIe+DknYUoFiYq70F0UA20pXdcWwpHMckQPqZr7HIg/
         dzgsKFwTUsaLuRlc1kRAjyU5aO6Tw6ozaytWpLx33fLl5JNW7coHx30k/+U0lvdhC7y/
         CUcTwM/TRr+/hz8WlrEEAW0YB2+USuNVmWAk4HzVG0vI3dHp4TKgNkLTqvrB1jKJwBkE
         JuFHWFw9Y75IIpSy0B15VsHck1/zUYFhf4V3ijcJMfX8M7xGJZ/LUn3INaRQPgfndR4v
         8Hbg==
X-Gm-Message-State: AOAM532ERmVjvMgfBrnX05ZUAyp0uN9WKjk7JajEphE8V/qYdjq+0+eT
	vVE+PWCI1xwhIPKmweT1yuE=
X-Google-Smtp-Source: ABdhPJy1MhVvMOXi8UxQ8s4idXCyJ+ifGIsp8CpwyHRf9+W1A9LbFInI9I0x2geweWfK/i1YhzfC+Q==
X-Received: by 2002:a05:6512:3d1c:: with SMTP id d28mr2997039lfv.135.1643294367899;
        Thu, 27 Jan 2022 06:39:27 -0800 (PST)
Message-ID: <e8d3ca39-ddeb-2c21-6000-1cc65da57915@gmail.com>
Date: Thu, 27 Jan 2022 17:39:15 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v5 04/21] kernel: Add combined power-off+restart handler
 call chain API
Content-Language: en-US
To: =?UTF-8?B?TWljaGHFgiBNaXJvc8WCYXc=?= <mirq-linux@rere.qmqm.pl>
Cc: Thierry Reding <thierry.reding@gmail.com>,
 Jonathan Hunter <jonathanh@nvidia.com>, Russell King
 <linux@armlinux.org.uk>, Catalin Marinas <catalin.marinas@arm.com>,
 Will Deacon <will@kernel.org>, Guo Ren <guoren@kernel.org>,
 Geert Uytterhoeven <geert@linux-m68k.org>, Greg Ungerer
 <gerg@linux-m68k.org>, Joshua Thompson <funaho@jurai.org>,
 Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
 Sebastian Reichel <sre@kernel.org>, Linus Walleij
 <linus.walleij@linaro.org>, Philipp Zabel <p.zabel@pengutronix.de>,
 Greentime Hu <green.hu@gmail.com>, Vincent Chen <deanbo422@gmail.com>,
 "James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
 Helge Deller <deller@gmx.de>, Michael Ellerman <mpe@ellerman.id.au>,
 Benjamin Herrenschmidt <benh@kernel.crashing.org>,
 Paul Mackerras <paulus@samba.org>, Paul Walmsley <paul.walmsley@sifive.com>,
 Palmer Dabbelt <palmer@dabbelt.com>, Albert Ou <aou@eecs.berkeley.edu>,
 Yoshinori Sato <ysato@users.sourceforge.jp>, Rich Felker <dalias@libc.org>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Juergen Gross
 <jgross@suse.com>, Stefano Stabellini <sstabellini@kernel.org>,
 "Rafael J. Wysocki" <rafael@kernel.org>, Len Brown <lenb@kernel.org>,
 Santosh Shilimkar <ssantosh@kernel.org>,
 Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
 Liam Girdwood <lgirdwood@gmail.com>, Mark Brown <broonie@kernel.org>,
 Pavel Machek <pavel@ucw.cz>, Lee Jones <lee.jones@linaro.org>,
 Andrew Morton <akpm@linux-foundation.org>, Guenter Roeck
 <linux@roeck-us.net>, Daniel Lezcano <daniel.lezcano@linaro.org>,
 Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
 Ulf Hansson <ulf.hansson@linaro.org>, alankao@andestech.com,
 "K . C . Kuen-Chern Lin" <kclin@andestech.com>,
 linux-kernel@vger.kernel.org, linux-csky@vger.kernel.org,
 linux-ia64@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
 linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
 linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org,
 linux-sh@vger.kernel.org, xen-devel@lists.xenproject.org,
 linux-acpi@vger.kernel.org, linux-pm@vger.kernel.org,
 linux-tegra@vger.kernel.org
References: <20211212210309.9851-1-digetx@gmail.com>
 <20211212210309.9851-5-digetx@gmail.com> <Ydofs2CIfA+r5KAz@qmqm.qmqm.pl>
From: Dmitry Osipenko <digetx@gmail.com>
In-Reply-To: <Ydofs2CIfA+r5KAz@qmqm.qmqm.pl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello Michał,

09.01.2022 02:35, Michał Mirosław пишет:
> BTW, I couldn't find a right description of my idea of unifying the
> chains before, so let me sketch it now.
> 
> The idea is to have a single system-off chain in which the callback
> gets a mode ({QUERY_*, PREP_*, DO_*} for each of {*_REBOOT, *_POWEROFF, ...?).
> The QUERY_* calls would be made in can_kernel_reboot/poweroff(): all
> would be called, and if at least one returned true, then the shutdown
> mode would continue. All of PREP_* would be called then. After that
> all DO_* would be tried until one doesn't return (succeeded or broke
> the system hard). Classic for(;;); could be a final fallback for the
> case where arch/machine (lowest priority) call would return instead
> of halting the system in machine-dependent way. The QUERY and PREP
> stages could be combined, but I haven't thought about it enough to
> see what conditions would need to be imposed on the callbacks in
> that case (maybe it's not worth the trouble, since it isn't a fast
> path anyway?). The goal here is to have less (duplicated) code in
> kernel, but otherwise it seems equivalent to your API proposal.

Thank you again for yours proposal! IMO, it's much more important to
keep the core code simple and maintainable, rather than try to optimize
it without a very good reason, given that this isn't a hot code path at
all and saving a couple of bytes won't be noticeable. The poweroff,
restart and reboot were separated before this series and I'm finding
that it's easier to follow the code when it's structured that way. I'm
not convinced that we need to change it.


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 14:46:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 14:46:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261495.452850 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD62Y-0003U8-OZ; Thu, 27 Jan 2022 14:46:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261495.452850; Thu, 27 Jan 2022 14:46: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 1nD62Y-0003U1-La; Thu, 27 Jan 2022 14:46:22 +0000
Received: by outflank-mailman (input) for mailman id 261495;
 Thu, 27 Jan 2022 14:46:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD62X-0003Tv-3Q
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 14:46:21 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e388222a-7f7f-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 15:46:20 +0100 (CET)
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur03lp2055.outbound.protection.outlook.com [104.47.8.55]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-2-TzRcbC_TMGWkHPFhz6DH9g-1; Thu, 27 Jan 2022 15:46:18 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM9PR04MB8860.eurprd04.prod.outlook.com (2603:10a6:20b:40b::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 14:46:17 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 14:46:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e388222a-7f7f-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643294779;
	h=from:from:reply-to:subject:subject: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=+bEpZbv6pnmggZyPNMRZltHtJILWOIMJbeWgkWVBKYQ=;
	b=KUMSOSY0kpqxXYNNVV2opUpbY1QFLNAIcCHyCoeVXC50mqSQzd6WPDeAON6C8vZvM0FBeE
	zPDXiPnFxLBconA9cxGp2qwj9KVPwZE7ape093gzJbzLvai9zGAJwZi6oFqFy1pE93utzE
	gK+qB5Xh1F8AOLKnvMAXgcIu4lEJ2TQ=
X-MC-Unique: TzRcbC_TMGWkHPFhz6DH9g-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MX2a3IOawLbNwaml6vsbqZK+oRN6xkAQhmVR1nHeKEQ88LLiHEhvQxLNBFP2169oz+VG0xiuRucyO9jUp+S6fhXGNDV+lHoaVbKpuXVvzZLHaKyG2EVbEQUjaTLFykZWW9rjRs6leKYHVxsrgIV4syw2ygdREYdbdlhf51/842pGLhE/1vPAPgafbGzdRvMCzl+9nInXcFL2uRTemZlkbILPIRzG4KgrqlgdJm79pVbf0BDKZTlgFdLn6oI7NAHM8MUet1B+IOrGMVhZEUZTV/O1E0qsgNvQFSqwdv8iL+kC7N5LgHT08kMeVR2TSlFEFVTd5gYTH3lk4/P1GIeGPw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+bEpZbv6pnmggZyPNMRZltHtJILWOIMJbeWgkWVBKYQ=;
 b=CeCnGBAeOFbLXGShIIkVdpP62QXOlAilM92ULOIwFM+wcrRCVGZLp63G2GM+xCj4p6+rO6JsprzV3hnM5ZMEhoVSYjpp0DKk7BmwuEPdLd3Gi05iI1yOBxEY3mkcY3KYJtvZPclFc/vLnOdc7Mpdr9YHqYvTr4aG8xypXwvRijoRZmCUbq+nmn4plXNRivJ5ynSmSLOTJGe9V4TKvsQKpcdLyZqaEmrlfL5DoqtFXgfgZprYJvGVw/4RGI89iEQX0Ysv0Ui7NVeVogMoZOMze114OwtNSOmGRtV78hD6qWQ4JWhWrfHn/qGKG2hJdtOC5Ze8sbm5/681qkhDZvG5dg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4b7db7ae-eb84-7ecc-4334-fe5f0f7ef46b@suse.com>
Date: Thu, 27 Jan 2022 15:46:16 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2 0/4] (mainly) IOMMU hook adjustments
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Paul Durrant <paul@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR02CA0036.eurprd02.prod.outlook.com
 (2603:10a6:20b:6e::49) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 49e86145-d5dc-4ec9-ea79-08d9e1a3c675
X-MS-TrafficTypeDiagnostic: AM9PR04MB8860:EE_
X-Microsoft-Antispam-PRVS:
	<AM9PR04MB88601B3BE023AD5EBDB1D50DB3219@AM9PR04MB8860.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:
	GYnM8c+3x6dXnf1kmGdEJeEW2mrwOIeGc13sUyTUTZ6VOzPIa/CxW8Cn+dKj1MkaADuiLe9OrKsnvVrrsWKC6pI88seC4C7C4AbT7knRL+G57XAK6nNW+hSdwPv2V7eQTfpqgEGmVM1Cu8Mm9Di3JJYrAsDHT6n53P5jaN+szQqveSjNB5NRJmDrKSYVQHdzMuGqjbBts5U5gOZDiUvWqz1wIHiXpB0pjM4r1fnwMP4TU6hTLHPN0ikbCKVyQIG0lt/rqOIHyZ4KxVUcxPxIq2k5t+X2t/keVa1O74Byl/grjm3x6WxRJPokuqaBF+lIjIZ6sJbZxNsrlDxwe4sXFBCXMGJCYC1UGgaaAsLlrOLgr7m0y6X3V5WqSqg0eCIwk7btUOqiGc726HGU92iscej7K06NsUH9bzeHYRtftDTOvoGvxysT5/iOUrTHFOXFea1rs2DWWoKI9WbcTiQWDZJ+NYwdMnDp97hczaIHf/i6/uHelL4Bydiama0VvGCuj/skiEWkEgteutq5/WmfvbnN3iCEH5T970zUT1yUf5zkASS62GLtFYW2BX4jju87MDutSLhpmxU2kEFIEDsEc7fyxvkwU5HdBERsXmKs0Pfh+mEjias9bxVcdMcZ3SZws/6/b/A4wamtQpano413ghSzE0xgB9/w30QB5CGy0/VEXQ5+aopkG10RWSDsI4gZsHDIhoSA5PWpbCF/73OWTIdKxrlnTHzClIhS1a/PTaXPVzm1POcR6y81D8gFGVGG
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:(13230001)(366004)(83380400001)(86362001)(186003)(26005)(316002)(38100700002)(4326008)(8676002)(6506007)(8936002)(66476007)(66556008)(66946007)(5660300002)(6512007)(2616005)(4744005)(31696002)(54906003)(36756003)(508600001)(6916009)(31686004)(2906002)(6486002)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cGo2MWN3djh1d2ZhVGZINnVqYld1VjNYQVFKVmtaNzhTZmtjZmpiL1crSENX?=
 =?utf-8?B?ZEtVU21jd2xjOGNXd3NHdW5ITVRjaVUvSmZxZjhha3NJTEFWajBKY1k1c1k2?=
 =?utf-8?B?bTZ0d1h3aklrcTJSalMydGdGcXdkc2xQOWp6NGRrU2d3Y1N0cU5mNVhua1RH?=
 =?utf-8?B?TVJ0bTRMUkc3aURVK3JCbXNSb3B0RzZGNjc5STRRbCtvQmR0UVIzS01lWU5x?=
 =?utf-8?B?dGc3U3RYL3dMQmYvTHh3L29WODY4ME9XU3dDUXZUMTIyQ0pHYkpxRk1PTGhP?=
 =?utf-8?B?clNjZzIxNlRRVDlJT0o1S3Z4Y1k1dHJqOER2UnVQdVB4OWZUS2srQnNRRDZ1?=
 =?utf-8?B?TS9IMU9pbTMwK2kzRlliTnVpU1puS1o4WjNuSXZMaHJLdXpNNnhqQ1grMThh?=
 =?utf-8?B?WktWOTY0cTF2eXFKb2JOcVZ6TzF1aExJK25meGVrMHR2eU1TSlZCbjNKNUJQ?=
 =?utf-8?B?WWV2cEkvZ3ZvZkowTERaUzBQYS9HY1RtN0pWWXRXTHpmQVd2UXRLZWpzNEt4?=
 =?utf-8?B?NFJHbG0yWW1TUkgvTk0xSkJPNGxONENLUVdxeVpLV2hCc1IzclhIdzZqRzVx?=
 =?utf-8?B?RHdPL1hwK3l5SExJNGo1YmJiMnlPeEdBdXptSi9CMTZDRWRTNG5zL3l1MU9o?=
 =?utf-8?B?ZUt5dFZLWE44bk80Yk9TMnRuYkhNdlZqWGlMQ0ZWczQ0ZFZEN1ZoSUxNNS9R?=
 =?utf-8?B?SGEwM0lycXVOU2hSdmdzcnVhMlNzTUNrdTgzOFkxNnVHQXcwMUVwNENjbXg2?=
 =?utf-8?B?NlRiV056ekhtUlVXdTdrTDhwZHU3RTJ0TTB0RkVkc3JxME53NWtFdkE2bVRV?=
 =?utf-8?B?OWNFcUtKRHdTenVPOGRENHRyV0E2YVhKeStKOUFncGdrL3p6RGtGWUYyZXcw?=
 =?utf-8?B?aFBtTjVLVm4vMW9mOHpBUXQxTTMyUG1EbGsxelF4emNOSXhucFJxWm5Iejlt?=
 =?utf-8?B?Tjhwc1B3TFdPZmdFNmlCdnplRFE3NVBtOHVpS1NBWEpMTkFsN2RlUTVsaG5Y?=
 =?utf-8?B?aFdIbkZTNE9YZmVSbGxHUmhHOFNNcWJLQzJtZnh0aFJGZlVadEp0aXJoZHI4?=
 =?utf-8?B?QmFjcnVDTVVwRFViR0FLMmFCY3RwN2FiWVNhVXhyQmROOTBxT0o0c3JxNFhE?=
 =?utf-8?B?QVNlTUZVNFo5N01rMXJlQmJ0RnI2eFRkVXBhaUhkVkdWblRDLzJmRDJUQTdy?=
 =?utf-8?B?Q1hPWXVOaytCMHZhSy85ZDAvQ3dhNmVQOVJnTDg0cTFXTGgrc3pLbENqTFFp?=
 =?utf-8?B?aElWc2UzOVRjelRjT0lsRTBPVkRVS3NyMEtZVUdmditSekQ4TFlBSGoxOWdS?=
 =?utf-8?B?aER2VjVDTERlcDBvVzl5aU8xbk1iVUdVdng5VFo5WGwrREFSM2U5UVBqb2xQ?=
 =?utf-8?B?NXlCUURwc25VQmJkdXJUdmY3eElvWEpaL2wweW9ORC9zSjlsczBMa2YzSk5T?=
 =?utf-8?B?RENZWUUySUJpZHhiZVN0WTVpYzEvZTk2MGNrb3d3Y0ViWFdlak1Nb0hPK3h0?=
 =?utf-8?B?OFI1NlhJQm1HRGpHUlhiejc2VlRZMDU0K2wvWFNPaUdwVVZ4N3lJeVlCVDEy?=
 =?utf-8?B?VlU5eVlzSUQzQ1BLaHNiV3BRLzJRSUxqR1VScy94WVRlVU01czlWZzZ0WHJ2?=
 =?utf-8?B?amQ4ZjJpSHZJWkxXK0hVa3FmQnNzdFplTmlqY1NLQXE2OWRDdEVTVmwzSEJy?=
 =?utf-8?B?bWwzWUwvMXBaOGVYTkJHVkQ0aFN2b3FoUzY4ZitDdStxK1VubjJ4ZTI5QUFP?=
 =?utf-8?B?Qjl0TW9MMUdTSy9DK0FjRG5LK2tKby91RU5VV1lsZXhVL3dPekl0cHZ6aEhw?=
 =?utf-8?B?ZGdaL25XZ1crSUU2OEhvMThMY2NJekVLdnVVcmIzVDlJQklidTk0NytJRlRx?=
 =?utf-8?B?clBPZGV4eU9vbzdCZDJoTWM0M0dRSDYvdnJVNzNCZHFFcVZsUHR4bXMzNEFn?=
 =?utf-8?B?VWRIcTJldVF6eW9kS3ZVR01ZYmVIWElubTFKaUcvTjlKbS9QZ2l2QmRWelZ0?=
 =?utf-8?B?T2hkYnBUMUU2c0JXZmJ3bkt4NG5VMEJhVHFhbit2SktEd1hSTHJYeWpvN1F0?=
 =?utf-8?B?WVZlVzNtY005TkY2TFJLZm50UTdXUFFaaUdLMG9COEdYcEIwYXdkV2VsQmFs?=
 =?utf-8?B?Q2w3SEZtcHEycVY3U3QvVjE1WUQxR01tLzhrTGRkTGtvaURuMG1aY0o2MGJw?=
 =?utf-8?Q?GKSeM/Y2ShzvipPtTfMAOfw=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 49e86145-d5dc-4ec9-ea79-08d9e1a3c675
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 14:46:17.7046
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: P7+iLwcnoPi9ycMO7IT2aKRkOuitlX8yBTYnKqqEs9/FNDZ5D+OPvchpUf6u0i/oMwoV7zxVxLOBjJu8bfZQSw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8860

Besides the altcall conversion, some further adjustments appeared desirable
to do while touching that area.

1: IOMMU/x86: switch to alternatives-call patching in further instances
2: VT-d / x86: re-arrange cache syncing
3: VT-d: replace flush_all_cache()
4: IOMMU/PCI: propagate get_device_group_id() failure

I'm sending this v2 after waiting for quite some time on continuing some
aspects which were discussed on the v1 thread, but no luck. Also there's
a new 4th patch now, as kind of a result from on part of that discussion.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 14:47:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 14:47:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261499.452862 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD642-00049D-53; Thu, 27 Jan 2022 14:47:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261499.452862; Thu, 27 Jan 2022 14:47:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD642-000496-1i; Thu, 27 Jan 2022 14:47:54 +0000
Received: by outflank-mailman (input) for mailman id 261499;
 Thu, 27 Jan 2022 14:47:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD640-00048y-Kw
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 14:47:52 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 19e9cdd1-7f80-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 15:47:51 +0100 (CET)
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur03lp2051.outbound.protection.outlook.com [104.47.8.51]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-32-QkxKy3ZaNgqEP2Vqov5T6g-2; Thu, 27 Jan 2022 15:47:49 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM6PR04MB4887.eurprd04.prod.outlook.com (2603:10a6:20b:b::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 14:47:48 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 14:47:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 19e9cdd1-7f80-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643294870;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=3I1TgTZD2+5dVGqfXHMBx1Zok2HcxjSuWbMR77W+8Ws=;
	b=cQOT8IBdtZ9Oo73nlaXx8Y80xzutvzOmhTHxE11d6bNMBjWzuF4vzs7D57uQp2XIyZgUtL
	ONTLSZSkpDDcbxX1tQrlnr63u5/M39GiD2L/UyxgPuXPIJxcQkU6rMAnmHSLzMV8yWGKaB
	H5iUksDy1dxJ4162gxkejycI49EwY+k=
X-MC-Unique: QkxKy3ZaNgqEP2Vqov5T6g-2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cQpV4RTvgVx18TqU0PPmTGJL48fXXOE1ztN7ZTmddf8XKWIJhAMQV4gJjZb9I1VjUcz9drWzklw+BAratZk47jb6wi3kADV0Q5aepfA3Lq9R6WH+ZgfMYyr1u31BIK24m3qDRMIEtnQgrhHDuoWQZzN/e8y3X8HcMoFbuhSQF8+PrqCOzO/oXrD4am6utCPSmr0mHnNgFpW8OMVtZsL97FIDWEpeCZLAqww0nzMjnXSre3HB1dY72Tr9roU6hXhR0glMbN4qaZjuZ5VRMmNs53+DWK1FSJlX056zB0o90cYMM0uPxr1nURckYE9knlM9QctNQTVuOF0q2m3zbD5LaA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3I1TgTZD2+5dVGqfXHMBx1Zok2HcxjSuWbMR77W+8Ws=;
 b=npiY8yXiJ7YagaTA07oXIy6vY3pB1o3i9D5bx/np6YrYR/eK6Uc4aTypkBYiRL3PDYy4v+6MgQXMbE1in3Gbwpy6MgiF1kknGNKdyj8PLUEsdClJgE+O+PT80wqoXX1Vt+iK8lkB72l+7YC4kOGFSGXLAYy8C4RZ+t6QB7Im7fg1ZxOMsTgL6m+9mGmix+XT+zCSaJPtbUAbHP4Nzmtm8I7yDnDdspnGbkf5kBuejiUZW5TXeeRIpEMqYjPS1HfbIWRVV+9UUomEkAJ8CsXAAPW0Zr/PtksGa4vIhH8UXFFV1KoM8I0R3GeP2qPRmDSUf+pWf2XceJt4vntRUJRkeg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9f6e1b13-d53f-05d3-0f88-a05bd0da03f9@suse.com>
Date: Thu, 27 Jan 2022 15:47:46 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: [PATCH v2 1/4] IOMMU/x86: switch to alternatives-call patching in
 further instances
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Paul Durrant <paul@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>
References: <4b7db7ae-eb84-7ecc-4334-fe5f0f7ef46b@suse.com>
In-Reply-To: <4b7db7ae-eb84-7ecc-4334-fe5f0f7ef46b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR07CA0047.eurprd07.prod.outlook.com
 (2603:10a6:20b:459::35) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c63a46aa-a43f-47ef-e60c-08d9e1a3fc25
X-MS-TrafficTypeDiagnostic: AM6PR04MB4887:EE_
X-Microsoft-Antispam-PRVS:
	<AM6PR04MB48875BE5C2886FEEF1FA6769B3219@AM6PR04MB4887.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:
	Oy+1oBsgj5mTYoNqMUyONYC3EvkFF6whnq3Ovi93Vg2iQTdlnNvKkxOKL05IDyPigFPuv1qIWszkTBwCwctHDAH3fF1U5T4zlfGe3hVB72SRaixICi+gnW9B7+ZAFpYV29ZZE80+1e1ULKwuIwQm2HmykPPX4OOUUHAdAz9qrBu7VrmhvAD2UiarjuWRFai8L9IVUHo9Ie2fPgqA2m9jGc5iGDUU/T9guHRojWrjOCBRv2C3JwtojcAKM1MLFns0lk8+SKBy+mC5q4xECM14ob/MyB9/wPYGBF7+R0Ge5R2R6+NYfhhjuOSfpkpmQn/HoxyBRecUBIbHvU0ftVxJFsjeQTxlLKUpWyvLi+TrtKuYIbIDfzU+MJAAJN07w+dcik154I/e1POmgmbWat54mwHHqOAW2CHMgmbLDPsZkl7POw6+cGjSiDB2y9qAtZNVu9qZd54ALPNaPKG0sMMlvHO3Aj3G+8gVKDsrjMg7E2/cXSp9xGDAP1SDUyhbirOsYvM+9MKVCW5DGXnD6RL65P2JBTl4rp4V/DYrAe3geR/opQxP3GzdjR8hpHehLD6vTEDlGjNmbJ/BinyIiVUuj3WME0/kwV7TO5z/hpx9Yl8tI+yVBFIQ5zBQvoq0TUGTaMtAaYnjItM1JDPMxx7zIv5m3GTxQi7rc4gxYtgO8MlSnSZFSXC1B8u0UBd7qB8/ouqe+GhSKh3Xfg44ExpMX1+SkhEnXYUg2R1f0HmdPODhaT3hH0djkkpYVdeWHOFa
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:(13230001)(366004)(36756003)(83380400001)(6512007)(6506007)(186003)(26005)(31686004)(31696002)(6486002)(2616005)(54906003)(6916009)(316002)(86362001)(508600001)(2906002)(4326008)(8676002)(8936002)(5660300002)(66556008)(66476007)(38100700002)(66946007)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K2hzKzVTNEo2eUcyRTRDdnROa3J2Z1BZVE80b3phTzliaE1yREJvdFI0c2dh?=
 =?utf-8?B?QW9oOFhZdmhBbDhrbVRjaDNEcEs4dlREcDN2K2FqWlh4NGJ5c2pPYWZYTGZG?=
 =?utf-8?B?TjBUWDA2bnFVT0pOY1FCZDBQc3orTVBRamlhMnUwaGpsaVlxb1J5U0R4d3FU?=
 =?utf-8?B?d3M2QWF3RktIZVp4RlhTcnNwa08vU2gxMmNEUG5HeWhmbGZwbktLQm83eStB?=
 =?utf-8?B?RzhDb1l1c3FjM055QzlYS1RNNFNwcWdVNmg4dGVYM0hPNjZ6OGNZUUtNNUhT?=
 =?utf-8?B?cktsT3krY04ydDlaMU0yemxNZ0s0OTF1RmZmTVNwWUo4bGZKY0RKNUh6QnQ3?=
 =?utf-8?B?V0tiQ29ISm05OFFadWJHV01kM05USjNxMWEyNko2OU5RWHVPRHcxa0JoV0Fx?=
 =?utf-8?B?S2JVbUFlc0NDNFl6d2M2Sno2cWhvdUNLdSsrK2xFTEorTXY0V0Q5STk0U2Yy?=
 =?utf-8?B?Ym1CUmNkWHZHM0dHZmxBWVJ4OHI1MCtvM0tCY0hlRFdCdmlCSmw4aXc3L2Ju?=
 =?utf-8?B?S0JUckFPUDZIMVk4eDZZbDZ6V3NzM0hJc1MwSGdkMHpiYkpwL2xOMWFmak42?=
 =?utf-8?B?T0pCeis2YSt1V3F4ZVZKSWRmVEorSyt5b0gyeTR6dTJpTHBBdDVhb3pZY3pL?=
 =?utf-8?B?ZmdvNHphZ0NLcVYxbEZuempQZWJzS2gwU0g2UW94OXJSQ3k5T2oyMFhVVDhN?=
 =?utf-8?B?Ui9xdk9BbHgwbWdoN1BlajNGOEgzQ2NEeFdoT2U0cWFSN3JaVy9Fd0d1TFZn?=
 =?utf-8?B?UW0wOTFOVFFFNXdaV1ZqOXlGeER2U1NSUGJnMFZMZlFQOXJRQ0N4QjdQNWRF?=
 =?utf-8?B?M3ZxNFBMbjZqVlhXbXRXSTRJZUV5OWxLMkZFM0pKKzJQQVROTmoyUFYzYVJD?=
 =?utf-8?B?TGZiemVOVTI4dTF4NzV1SzJ3bXgzdE5kQ2pxaFBEL2p2cWZKbG9FWTVYblpV?=
 =?utf-8?B?UUYyNVdaMVZobmFqVVBtbXVFeG5WdjliUFdlQ20yNlpwcGwxdnE4Y3ZQdlNZ?=
 =?utf-8?B?ak5jdkQvU1RFUS9hQkZQSlNNRFpLQ1FaUGRjeFhGRlVaYzhmZ3lpWThSWUdP?=
 =?utf-8?B?bml1QjdwRXVpSER3SkJmVWVlTTVibHBGYWxxQi9HczRMOXNTYnJVVWp3dUhr?=
 =?utf-8?B?LzRqcU9tcTJsMkRKM3VEaFQ1L0RTdklQbkJhaVhDaWJMRHpDWjdTaVdaR053?=
 =?utf-8?B?dGpMSy9Wa2hpeVd1bHhOUUF6K1EybURGN1Z0QmtWTUt1aW9qdGZXTk5DWDdO?=
 =?utf-8?B?SzJNejZ6dkxPU2pWVGx3SDVieExLUlFpQWRVcU1PMHF3cUV1dXVMVXd1TFJY?=
 =?utf-8?B?RHl3d3RiWmNPelM2RWVWSDIvYWRQc0RVOFQ5QmpCVXdPTGVjTUlJQVVWSkFB?=
 =?utf-8?B?NTFScmRpTFNNNW9HY3A0NVJQV3JFYzNQWE9Pdk1PaGlRL3BsOWhIS1F2WVdt?=
 =?utf-8?B?V0JhWU00MnlzbUludWVZdTZEQUJIWTlraUFHbWpDRzdxSUpUVGQ5QUQrZmVS?=
 =?utf-8?B?Q0lXWENkcWRaWjhEYU9MelNXd1BxREZyR2JmdVNERnJlS0ViZEZWVnBhbG41?=
 =?utf-8?B?VHlLL0djbnluOHZxOTFQc1VrNjhmUTViTStRZStNN255UUVqNEN2VE9Bc1M2?=
 =?utf-8?B?WGJzMDJuUXdUd0VxUThxb1NodFU5d2ZudGNMa3REMFBDWHJ2ZTlPdm42R25u?=
 =?utf-8?B?N0UvaERORUw1MUhOMXE4Y3RGQ0gvQlBieURxUWpickFJTEZzL04yM3k5WWZ6?=
 =?utf-8?B?WktMZ0t2ZGxsQ2hWRzkvalJYUUZqMDQ1N2I3RmZvVUk3Y1gvN0UzcDB6c0JH?=
 =?utf-8?B?ak5Lb0ZoUitPeHlQZ2Y4UkpRNW82UGw5Q1hoNGNNbytYdXpycy9rcDNyR0xY?=
 =?utf-8?B?WFVadlZyeFJSekJ6M0pxTHJSVjJaSDhQRTZkWnVoeE1RejgvQ2c5SmMya2NB?=
 =?utf-8?B?VFBKek5rMGcrQjJ4UUV0c0RQRU9OWCtNTHAxTnBTQWtWWEswTEtXYnZqZmJ2?=
 =?utf-8?B?VkpKMU9Lcnc2czRYRHY3MGUyVGl0VnpUY01UbW54eTJwMS9QMGZyNkl2QWVW?=
 =?utf-8?B?T0ZDeFQ0NmxYM3dUR3RDQzA4MjZnbUdSb1hqL205UGUveXJNMFJXRUtYdmJy?=
 =?utf-8?B?V1lzeUZqNkdVeEI5Q3g2b3FETEFyTCtVbHNtODQxaUFOVklYaDFsOHdpYnVp?=
 =?utf-8?Q?A+O1fZdgAo5sUoFPYO1+bUU=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c63a46aa-a43f-47ef-e60c-08d9e1a3fc25
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 14:47:47.8084
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XgTQ62oT5ODM3RxKnZjnlxbH9QpUBnc0YkYXvCHnB1z7lAvXGSSastUBuIuzDxrwsX+nO/3U16ZFfR+N8lBWKw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB4887

This is, once again, to limit the number of indirect calls as much as
possible. The only hook invocation which isn't sensible to convert is
setup(). And of course Arm-only use sites are left alone as well.

Note regarding the introduction / use of local variables in pci.c:
struct pci_dev's involved fields are const. This const propagates, via
typeof(), to the local helper variables in the altcall macros. These
helper variables are, however, used as outputs (and hence can't be
const). In iommu_get_device_group() make use of the new local variables
to also simplify some adjacent code.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/passthrough/iommu.c
+++ b/xen/drivers/passthrough/iommu.c
@@ -198,7 +198,7 @@ int iommu_domain_init(struct domain *d,
         return ret;
 
     hd->platform_ops = iommu_get_ops();
-    ret = hd->platform_ops->init(d);
+    ret = iommu_call(hd->platform_ops, init, d);
     if ( ret || is_system_domain(d) )
         return ret;
 
@@ -233,7 +233,7 @@ void __hwdom_init iommu_hwdom_init(struc
 
     register_keyhandler('o', &iommu_dump_page_tables, "dump iommu page tables", 0);
 
-    hd->platform_ops->hwdom_init(d);
+    iommu_vcall(hd->platform_ops, hwdom_init, d);
 }
 
 static void iommu_teardown(struct domain *d)
@@ -576,7 +576,7 @@ int iommu_get_reserved_device_memory(iom
     if ( !ops->get_reserved_device_memory )
         return 0;
 
-    return ops->get_reserved_device_memory(func, ctxt);
+    return iommu_call(ops, get_reserved_device_memory, func, ctxt);
 }
 
 bool_t iommu_has_feature(struct domain *d, enum iommu_feature feature)
@@ -603,7 +603,7 @@ static void iommu_dump_page_tables(unsig
             continue;
         }
 
-        dom_iommu(d)->platform_ops->dump_page_tables(d);
+        iommu_vcall(dom_iommu(d)->platform_ops, dump_page_tables, d);
     }
 
     rcu_read_unlock(&domlist_read_lock);
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -861,15 +861,15 @@ static int deassign_device(struct domain
         devfn += pdev->phantom_stride;
         if ( PCI_SLOT(devfn) != PCI_SLOT(pdev->devfn) )
             break;
-        ret = hd->platform_ops->reassign_device(d, target, devfn,
-                                                pci_to_dev(pdev));
+        ret = iommu_call(hd->platform_ops, reassign_device, d, target, devfn,
+                         pci_to_dev(pdev));
         if ( ret )
             goto out;
     }
 
     devfn = pdev->devfn;
-    ret = hd->platform_ops->reassign_device(d, target, devfn,
-                                            pci_to_dev(pdev));
+    ret = iommu_call(hd->platform_ops, reassign_device, d, target, devfn,
+                     pci_to_dev(pdev));
     if ( ret )
         goto out;
 
@@ -1300,7 +1300,7 @@ static int iommu_add_device(struct pci_d
 {
     const struct domain_iommu *hd;
     int rc;
-    u8 devfn;
+    unsigned int devfn = pdev->devfn;
 
     if ( !pdev->domain )
         return -EINVAL;
@@ -1311,16 +1311,16 @@ static int iommu_add_device(struct pci_d
     if ( !is_iommu_enabled(pdev->domain) )
         return 0;
 
-    rc = hd->platform_ops->add_device(pdev->devfn, pci_to_dev(pdev));
+    rc = iommu_call(hd->platform_ops, add_device, devfn, pci_to_dev(pdev));
     if ( rc || !pdev->phantom_stride )
         return rc;
 
-    for ( devfn = pdev->devfn ; ; )
+    for ( ; ; )
     {
         devfn += pdev->phantom_stride;
         if ( PCI_SLOT(devfn) != PCI_SLOT(pdev->devfn) )
             return 0;
-        rc = hd->platform_ops->add_device(devfn, pci_to_dev(pdev));
+        rc = iommu_call(hd->platform_ops, add_device, devfn, pci_to_dev(pdev));
         if ( rc )
             printk(XENLOG_WARNING "IOMMU: add %pp failed (%d)\n",
                    &pdev->sbdf, rc);
@@ -1341,7 +1341,7 @@ static int iommu_enable_device(struct pc
          !hd->platform_ops->enable_device )
         return 0;
 
-    return hd->platform_ops->enable_device(pci_to_dev(pdev));
+    return iommu_call(hd->platform_ops, enable_device, pci_to_dev(pdev));
 }
 
 static int iommu_remove_device(struct pci_dev *pdev)
@@ -1363,7 +1363,8 @@ static int iommu_remove_device(struct pc
         devfn += pdev->phantom_stride;
         if ( PCI_SLOT(devfn) != PCI_SLOT(pdev->devfn) )
             break;
-        rc = hd->platform_ops->remove_device(devfn, pci_to_dev(pdev));
+        rc = iommu_call(hd->platform_ops, remove_device, devfn,
+                        pci_to_dev(pdev));
         if ( !rc )
             continue;
 
@@ -1371,7 +1372,9 @@ static int iommu_remove_device(struct pc
         return rc;
     }
 
-    return hd->platform_ops->remove_device(pdev->devfn, pci_to_dev(pdev));
+    devfn = pdev->devfn;
+
+    return iommu_call(hd->platform_ops, remove_device, devfn, pci_to_dev(pdev));
 }
 
 static int device_assigned(u16 seg, u8 bus, u8 devfn)
@@ -1421,7 +1424,8 @@ static int assign_device(struct domain *
 
     pdev->fault.count = 0;
 
-    if ( (rc = hd->platform_ops->assign_device(d, devfn, pci_to_dev(pdev), flag)) )
+    if ( (rc = iommu_call(hd->platform_ops, assign_device, d, devfn,
+                          pci_to_dev(pdev), flag)) )
         goto done;
 
     for ( ; pdev->phantom_stride; rc = 0 )
@@ -1429,7 +1433,8 @@ static int assign_device(struct domain *
         devfn += pdev->phantom_stride;
         if ( PCI_SLOT(devfn) != PCI_SLOT(pdev->devfn) )
             break;
-        rc = hd->platform_ops->assign_device(d, devfn, pci_to_dev(pdev), flag);
+        rc = iommu_call(hd->platform_ops, assign_device, d, devfn,
+                        pci_to_dev(pdev), flag);
     }
 
  done:
@@ -1457,24 +1462,24 @@ static int iommu_get_device_group(
     if ( !is_iommu_enabled(d) || !ops->get_device_group_id )
         return 0;
 
-    group_id = ops->get_device_group_id(seg, bus, devfn);
+    group_id = iommu_call(ops, get_device_group_id, seg, bus, devfn);
 
     pcidevs_lock();
     for_each_pdev( d, pdev )
     {
-        if ( (pdev->seg != seg) ||
-             ((pdev->bus == bus) && (pdev->devfn == devfn)) )
+        unsigned int b = pdev->bus;
+        unsigned int df = pdev->devfn;
+
+        if ( (pdev->seg != seg) || ((b == bus) && (df == devfn)) )
             continue;
 
-        if ( xsm_get_device_group(XSM_HOOK, (seg << 16) | (pdev->bus << 8) | pdev->devfn) )
+        if ( xsm_get_device_group(XSM_HOOK, (seg << 16) | (b << 8) | df) )
             continue;
 
-        sdev_id = ops->get_device_group_id(seg, pdev->bus, pdev->devfn);
+        sdev_id = iommu_call(ops, get_device_group_id, seg, b, df);
         if ( (sdev_id == group_id) && (i < max_sdevs) )
         {
-            bdf = 0;
-            bdf |= (pdev->bus & 0xff) << 16;
-            bdf |= (pdev->devfn & 0xff) << 8;
+            bdf = (b << 16) | (df << 8);
 
             if ( unlikely(copy_to_guest_offset(buf, i, &bdf, 1)) )
             {
--- a/xen/drivers/passthrough/x86/iommu.c
+++ b/xen/drivers/passthrough/x86/iommu.c
@@ -145,7 +145,7 @@ unsigned int iommu_read_apic_from_ire(un
 int __init iommu_setup_hpet_msi(struct msi_desc *msi)
 {
     const struct iommu_ops *ops = iommu_get_ops();
-    return ops->setup_hpet_msi ? ops->setup_hpet_msi(msi) : -ENODEV;
+    return ops->setup_hpet_msi ? iommu_call(ops, setup_hpet_msi, msi) : -ENODEV;
 }
 
 void __hwdom_init arch_iommu_check_autotranslated_hwdom(struct domain *d)
@@ -406,7 +406,7 @@ int iommu_free_pgtables(struct domain *d
      * Pages will be moved to the free list below. So we want to
      * clear the root page-table to avoid any potential use after-free.
      */
-    hd->platform_ops->clear_root_pgtable(d);
+    iommu_vcall(hd->platform_ops, clear_root_pgtable, d);
 
     while ( (pg = page_list_remove_head(&hd->arch.pgtables.list)) )
     {



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 14:48:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 14:48:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261504.452873 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD64f-0004mN-IP; Thu, 27 Jan 2022 14:48:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261504.452873; Thu, 27 Jan 2022 14:48:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD64f-0004mG-Ec; Thu, 27 Jan 2022 14:48:33 +0000
Received: by outflank-mailman (input) for mailman id 261504;
 Thu, 27 Jan 2022 14:48:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD64d-00048y-VI
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 14:48:32 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 31a6ca23-7f80-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 15:48:30 +0100 (CET)
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur03lp2053.outbound.protection.outlook.com [104.47.8.53]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-29-FYOqhvIEOheojccgRClpvw-1; Thu, 27 Jan 2022 15:48:29 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM6PR04MB4887.eurprd04.prod.outlook.com (2603:10a6:20b:b::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 14:48:28 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 14:48:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 31a6ca23-7f80-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643294910;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=9uRmQeQ2GIyo2OW1VQw24UUZo9Bo39U2yqak3SzTI9o=;
	b=fQCcnO0Logkpo3J7KwRkGmJ4AYW7R3uc8rd10P6/+qZ2hbCAVAfpNaPw1921/0O08oQ41u
	S0OqYmv3IkvO2Zl82d+8lTvOFTtFUlZKEe9Uoo7bhdm9Frcs5qcQhq4sf8UkJXgXsyFDf3
	K1oXsat81n96pmttHwg587fzolzt0JU=
X-MC-Unique: FYOqhvIEOheojccgRClpvw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Iaf2ZAEFiph+lboTFgT+gQj387kmVuAt6F1xsUZrzsUYxupz+2c8jmeSs9nYwMNIrCDXpeetjQyc1ZeYmCFX8Rf1JeAq3Jf1J/0q2VUBbsTFolvTSR024Ez98XSXl3JynoNcWxkkz+J/P1lDpGU1Zd+tlQuUXi/yH4TN6w3EAIMR4p+IsORYaHNivg1ufQdmXmwLL00gjl5pt6UUEzuQwrCDf3NAbpRNgnmDSuw5OrikmiPPEXDOg+GhYrtT4+3N0kA/kwj7r0b+jMIx9DSPxFpzkPSizSYpTVf4X6sfZmDhqlINvy/KzTPpjt4dAWPYfiVgGZw79l33dHcxv46Bog==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9uRmQeQ2GIyo2OW1VQw24UUZo9Bo39U2yqak3SzTI9o=;
 b=B2QbSkVWPjNwseaykb2WLX+lrl7PXgLs65Ed+OJGBECu7hAhiZwBXd31dxw4DAR9aWDpbRjuoBV5bQiJwn6OfON+jW7U2eDXvfzKHA/XNusD55I9sLp9sVA0QkyxeHZ1OjcixkaV+G/Z0Ojz+QHyRcZ2WY6qaWfQOa2VXz+/QsyTnyQiGXEwH/b20cbxqag/TlUtIcTw36byd+wS9KZcbg3YbNoyxL3zAzwtkS0lT4oQcN3lzJrFTssJAtH6FPONBD/wEZLM9HsvNfsR9HJPyNafwhELsEhraYjDUwBO4qn7KRt9ES061jYX02lPmg/ifK3DU7x8VsBSolkfdZ1SlQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <54c4539f-0bed-c42d-aa8e-4e31c45c4245@suse.com>
Date: Thu, 27 Jan 2022 15:48:26 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: [PATCH v2 2/4] VT-d / x86: re-arrange cache syncing
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Paul Durrant <paul@xen.org>, Kevin Tian <kevin.tian@intel.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <4b7db7ae-eb84-7ecc-4334-fe5f0f7ef46b@suse.com>
In-Reply-To: <4b7db7ae-eb84-7ecc-4334-fe5f0f7ef46b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR07CA0058.eurprd07.prod.outlook.com
 (2603:10a6:20b:459::15) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f8b32988-752b-4555-8ed0-08d9e1a41444
X-MS-TrafficTypeDiagnostic: AM6PR04MB4887:EE_
X-Microsoft-Antispam-PRVS:
	<AM6PR04MB4887F89B6E59AFFDDF68819EB3219@AM6PR04MB4887.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:
	2zeN7dvCFKzVFE9+qYjDRHT6ox73hyj6qKSq8ajxBYoewhpwunKTLYWI46SxPMgC+S7NI4SH8mVATSaHZBV4kfaGoaNX4okyouZNgQUCEpZ1bv3KsNfj3NM+SomOtqnKOvBwd5Sm8NHAFPJ1t/XvTlMtg50W6Kv0aMuf0rg00f5tw6f2QuDjNiUEV3FBXcQuK9yu/aJ1p+5abuaRtAs5+j1ESjLQ/Ji6Lfx4/MqPQ+5LDeXaNDLrbXUR55whwIcLnHSwUHyOxyj28aYRZvBkDjGi7bNbmUlGxZJ6tWIXktBaN3qwT80w3+nc0uQcT3hYhH/nxC3fHobF8Nypmf1XjEg2fdoh4ZQa0Zel7FMxw8KxE0O2/A+YZvuAfheZfyGUox/jg/L2z6E3aVAlnofZcMUysvVleBhjjVPeA/mmgku6KCjuOu/xAyDn089t/6qCxWz5Byg0Ieg4vBEdf6xXz7Nz03zDVs4nq9xbE2ccwKQAJQj+NkCgppj2id5MUCiRT2A1Lw9T4OXEaH8AjhHJ9uDK0iNxU7EkdsX9E1FMz51+29Z24NkdgAPl1n+8yIJmxukp/e1F/fXyl/aPv+dLPL99bIU1uPLNkLKuxy8rk3MeY85/3n2BBitlExY1zSdvLj9KBGt3iWlOA2GUTR0VXIiu6WhImRqaVRwaESuJUO4CFwjuP3CG0vxdTiYc4aThc8gX/VUXh1wO+aRYWo+pR4IVllb87WOjZYx119Dr6FrGaWRanZPzmf++w8Wc7nSC
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:(13230001)(366004)(36756003)(83380400001)(6512007)(6506007)(186003)(26005)(31686004)(31696002)(6486002)(2616005)(54906003)(6916009)(316002)(86362001)(508600001)(2906002)(4326008)(8676002)(8936002)(5660300002)(66556008)(66476007)(38100700002)(66946007)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N3J0V2lOV0tMOUVLN2pwc0ZMWkp5SGdFWGlZUUZDZGlPY2NvTDJpN2FIOEp4?=
 =?utf-8?B?VDFZRjdBUjRGOG9ENVlIZWVmQ1ZBcVluSEhUd3NSWWZvRkVzSEsrdEwwcS8y?=
 =?utf-8?B?WjlyZXNOb2t5TjFLeldHSjUxOHFTQUkxd1hMNEc5MVBnd2NOdlRCMUgvSUFu?=
 =?utf-8?B?ZU9uSUFsd2xiWC9nQktYenh3VXZKdTVzcHhjUGhHNS9nbkZwSjkzYXlybkFm?=
 =?utf-8?B?aTBpNk8zZVdIR0Y1dnhjb083ejZGeHJBeVpzVHdsMkpDOUlQOGI2ZmlaY0tX?=
 =?utf-8?B?TWo4SS9jeGVTbExKc1VzQlEyeVVBUmdZSDBvZmtib0NBeDcxZFpQK1RJQ05z?=
 =?utf-8?B?aElXVlp3cC85WXNBWkphUmFEZll0emp4cVFPYXRCRFc4ZXRhM1hNSGhJT0hz?=
 =?utf-8?B?MlJLL0JHUml5T2NYSkNCcWNsNVhyOGlVazBDZUNzMjQrNXl6MkQwbDVsSVFn?=
 =?utf-8?B?ZFdKc05NMWpkbVowU2dXM1owL2Jaa2xtNUp2aXhGbDJDUlVobXAxcjBLaDVn?=
 =?utf-8?B?RzhOTlNKUG1Ya0tsbWN1NHJKeFh5UnpXdG5SWFBSckRjTjZJb2t5aDBCUjFP?=
 =?utf-8?B?SXhpVGtRUGtuWXJ0YjcvejZJL2tMSVNqczl3SzUwM282MyszYU9NY0oyRXFP?=
 =?utf-8?B?RWtxcmVBdGFhTUZ4ZXkzRE4raUVEamFNSUtqamtvazNXT1RtRVg4WEtZaHJR?=
 =?utf-8?B?R1pnZHRTcDNYTkZ5SkRyTlJ0QUUwbUZ3ZnJpUU9jLzczV3IwM1p0dXUwc1Zk?=
 =?utf-8?B?WmxnaHd0aGxEdHVsc2lMRnEzRzRyVHk2NEVmTE5Qa1BHa0p3NjlFcVRmdVFD?=
 =?utf-8?B?QlBtelN6K0hHOVJrSGN4ejNaK1hpZEV4dnFraGVZaTJMNlFPZnB2K1cxb3hM?=
 =?utf-8?B?aGxCa3RZb29oRk9OOEt2VzN0bmxkRmJQUHNwTEY2THR4ZUNheUdVQk5ZY1VL?=
 =?utf-8?B?R21sT3FMVUZDd2lsMVlOYTZlbnN0K21BTXF2bXcvT3hnMUdiRWwrenFiL3RF?=
 =?utf-8?B?b0RjUXJ1SUswZTdxN2cySWEwaDRtRW5ubjc4SWFYdFowRjNxUyt0elpTaUNy?=
 =?utf-8?B?U1kzbUVSZkhadmtSMVlNamNYY0FHRkNvQWdTRGFhQzc0SUh2TGNvK0k1SDcy?=
 =?utf-8?B?T3pib3o5SXp0M1prOG8zcU5vc2Q0dDlHeElXa2R0WTMxTlp1QzBocXR4TUNX?=
 =?utf-8?B?M3NLQ1I5MFF3NG8yZFpRdXJVSUI1blV1bTg0WElDakg0OFZGUGEzR0lFNGhp?=
 =?utf-8?B?NWNyWHVqcElRM2VpdCtLeVJ0WFludDVZeHBNam9PYWViL2oxMnp5Rk9OYWNQ?=
 =?utf-8?B?V0Fwb0RzYm4zc2N3ZlFpYS9SOFg4bnY2dVdzd0pHVWpaQ2k1QzJnOUN5RlY0?=
 =?utf-8?B?ZWVzUVhjemIzSGl0UkZQdFUxc0dheVdLQUFRdEt2QlEwTHFOcEVaby9jamFw?=
 =?utf-8?B?R0NQaTVLZEJpRDE2TE9BbHJIbm5va201SU9XVS9nc0NDbzlaM2VuVXp5SlFz?=
 =?utf-8?B?YTF5Y3UyNGhpUGh6ZU5jc2hNZ0czVEtTajFqQWRDMHJDa0lPc1Z3R3lHUlNO?=
 =?utf-8?B?V1NuU0o4TEJNR1o1dm96dmthcnJxVFRyOXA5eWU5TXFPS0k2VHprQnpQQWRn?=
 =?utf-8?B?K3cxL2dPV1pIRUhFMzlVcnpFRmFZQ2tNSFZJV2xkUmtyVnowOWVkTHJyUjR1?=
 =?utf-8?B?TWM0czVIeVVMMTJKcHZaVnFnNEhGdlY1OUY3T1pnUCtoNlBTRVZRNE9OMnpK?=
 =?utf-8?B?ZFV3NVlITEdyWVZzYWxvVmJmaUFPcER3NXZBWmJ4Y1I2dDRwbzI5cnNsR2xS?=
 =?utf-8?B?dHhrUmhidllGbSttS05kL3pmNmg2MG4rVzd1MGdYbFdib3lTNFZ5cWl5STdr?=
 =?utf-8?B?TWlqSWRZNkpUUkFkWDhTVU5wcUdaQlRxYTA4cE5uRlZCS3UzdXlSbkxqNEQ0?=
 =?utf-8?B?WUljVlIwWFY2MkRYQnhPSXJWTnRzZzRzdmVCWW5ldHByRUxIYnpoSFp6VzB3?=
 =?utf-8?B?czhFYndPOUo3MHFpRVg0VFpGdWNYUW02SFV3UnNzZ0NpRnNSWFRTZFBHZzZT?=
 =?utf-8?B?T29BVlhsT1RGZzZZOWwxR00rSWNRUjR6Z01RdWtPMXZYNi9BTGlCNTFBaGZm?=
 =?utf-8?B?YkNuWUdUNzBEemhOT05CamlLRVNaN1pDcWM5VHJrUzBQY1htbyttQUIzYklt?=
 =?utf-8?Q?we8AU47qzivb7VOZk4khI2c=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f8b32988-752b-4555-8ed0-08d9e1a41444
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 14:48:28.2121
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rhnPS8FxfXme2rYRGL1yR4XQHYWaAT+b74XViFOvPZg5gk63lmVQhysQ3fczqaevHcxByva2O+5wOy0kLBT+vw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB4887

The actual function should always have lived in core x86 code; move it
there, replacing get_cache_line_size() by readily available (except very
early during boot; see the code comment) data. Also rename the function.

Drop the respective IOMMU hook, (re)introducing a respective boolean
instead. Replace a true and an almost open-coding instance of
iommu_sync_cache().

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Placing the function next to flush_area_local() exposes a curious
asymmetry between the SFENCE placements: sync_cache() has it after the
flush, while flush_area_local() has it before it. I think the latter one
is misplaced.
---
v2: Rename sync_cache() to cache_writeback().

--- a/xen/arch/x86/flushtlb.c
+++ b/xen/arch/x86/flushtlb.c
@@ -11,6 +11,7 @@
 #include <xen/sched.h>
 #include <xen/smp.h>
 #include <xen/softirq.h>
+#include <asm/cache.h>
 #include <asm/flushtlb.h>
 #include <asm/invpcid.h>
 #include <asm/nops.h>
@@ -265,6 +266,57 @@ unsigned int flush_area_local(const void
     return flags;
 }
 
+void cache_writeback(const void *addr, unsigned int size)
+{
+    /*
+     * This function may be called before current_cpu_data is established.
+     * Hence a fallback is needed to prevent the loop below becoming infinite.
+     */
+    unsigned int clflush_size = current_cpu_data.x86_clflush_size ?: 16;
+    const void *end = addr + size;
+
+    addr -= (unsigned long)addr & (clflush_size - 1);
+    for ( ; addr < end; addr += clflush_size )
+    {
+/*
+ * The arguments to a macro must not include preprocessor directives. Doing so
+ * results in undefined behavior, so we have to create some defines here in
+ * order to avoid it.
+ */
+#if defined(HAVE_AS_CLWB)
+# define CLWB_ENCODING "clwb %[p]"
+#elif defined(HAVE_AS_XSAVEOPT)
+# define CLWB_ENCODING "data16 xsaveopt %[p]" /* clwb */
+#else
+# define CLWB_ENCODING ".byte 0x66, 0x0f, 0xae, 0x30" /* clwb (%%rax) */
+#endif
+
+#define BASE_INPUT(addr) [p] "m" (*(const char *)(addr))
+#if defined(HAVE_AS_CLWB) || defined(HAVE_AS_XSAVEOPT)
+# define INPUT BASE_INPUT
+#else
+# define INPUT(addr) "a" (addr), BASE_INPUT(addr)
+#endif
+        /*
+         * Note regarding the use of NOP_DS_PREFIX: it's faster to do a clflush
+         * + prefix than a clflush + nop, and hence the prefix is added instead
+         * of letting the alternative framework fill the gap by appending nops.
+         */
+        alternative_io_2(".byte " __stringify(NOP_DS_PREFIX) "; clflush %[p]",
+                         "data16 clflush %[p]", /* clflushopt */
+                         X86_FEATURE_CLFLUSHOPT,
+                         CLWB_ENCODING,
+                         X86_FEATURE_CLWB, /* no outputs */,
+                         INPUT(addr));
+#undef INPUT
+#undef BASE_INPUT
+#undef CLWB_ENCODING
+    }
+
+    alternative_2("", "sfence", X86_FEATURE_CLFLUSHOPT,
+                      "sfence", X86_FEATURE_CLWB);
+}
+
 unsigned int guest_flush_tlb_flags(const struct domain *d)
 {
     bool shadow = paging_mode_shadow(d);
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -240,54 +240,6 @@ domid_t did_to_domain_id(const struct vt
     return iommu->domid_map[did];
 }
 
-static void sync_cache(const void *addr, unsigned int size)
-{
-    static unsigned long clflush_size = 0;
-    const void *end = addr + size;
-
-    if ( clflush_size == 0 )
-        clflush_size = get_cache_line_size();
-
-    addr -= (unsigned long)addr & (clflush_size - 1);
-    for ( ; addr < end; addr += clflush_size )
-/*
- * The arguments to a macro must not include preprocessor directives. Doing so
- * results in undefined behavior, so we have to create some defines here in
- * order to avoid it.
- */
-#if defined(HAVE_AS_CLWB)
-# define CLWB_ENCODING "clwb %[p]"
-#elif defined(HAVE_AS_XSAVEOPT)
-# define CLWB_ENCODING "data16 xsaveopt %[p]" /* clwb */
-#else
-# define CLWB_ENCODING ".byte 0x66, 0x0f, 0xae, 0x30" /* clwb (%%rax) */
-#endif
-
-#define BASE_INPUT(addr) [p] "m" (*(const char *)(addr))
-#if defined(HAVE_AS_CLWB) || defined(HAVE_AS_XSAVEOPT)
-# define INPUT BASE_INPUT
-#else
-# define INPUT(addr) "a" (addr), BASE_INPUT(addr)
-#endif
-        /*
-         * Note regarding the use of NOP_DS_PREFIX: it's faster to do a clflush
-         * + prefix than a clflush + nop, and hence the prefix is added instead
-         * of letting the alternative framework fill the gap by appending nops.
-         */
-        alternative_io_2(".byte " __stringify(NOP_DS_PREFIX) "; clflush %[p]",
-                         "data16 clflush %[p]", /* clflushopt */
-                         X86_FEATURE_CLFLUSHOPT,
-                         CLWB_ENCODING,
-                         X86_FEATURE_CLWB, /* no outputs */,
-                         INPUT(addr));
-#undef INPUT
-#undef BASE_INPUT
-#undef CLWB_ENCODING
-
-    alternative_2("", "sfence", X86_FEATURE_CLFLUSHOPT,
-                      "sfence", X86_FEATURE_CLWB);
-}
-
 /* Allocate page table, return its machine address */
 uint64_t alloc_pgtable_maddr(unsigned long npages, nodeid_t node)
 {
@@ -306,8 +258,7 @@ uint64_t alloc_pgtable_maddr(unsigned lo
 
         clear_page(vaddr);
 
-        if ( (iommu_ops.init ? &iommu_ops : &vtd_ops)->sync_cache )
-            sync_cache(vaddr, PAGE_SIZE);
+        iommu_sync_cache(vaddr, PAGE_SIZE);
         unmap_domain_page(vaddr);
         cur_pg++;
     }
@@ -1327,7 +1278,7 @@ int __init iommu_alloc(struct acpi_drhd_
     iommu->nr_pt_levels = agaw_to_level(agaw);
 
     if ( !ecap_coherent(iommu->ecap) )
-        vtd_ops.sync_cache = sync_cache;
+        iommu_non_coherent = true;
 
     nr_dom = cap_ndoms(iommu->cap);
 
--- a/xen/drivers/passthrough/x86/iommu.c
+++ b/xen/drivers/passthrough/x86/iommu.c
@@ -28,6 +28,7 @@
 
 const struct iommu_init_ops *__initdata iommu_init_ops;
 struct iommu_ops __read_mostly iommu_ops;
+bool __read_mostly iommu_non_coherent;
 
 enum iommu_intremap __read_mostly iommu_intremap = iommu_intremap_full;
 
@@ -438,8 +439,7 @@ struct page_info *iommu_alloc_pgtable(st
     p = __map_domain_page(pg);
     clear_page(p);
 
-    if ( hd->platform_ops->sync_cache )
-        iommu_vcall(hd->platform_ops, sync_cache, p, PAGE_SIZE);
+    iommu_sync_cache(p, PAGE_SIZE);
 
     unmap_domain_page(p);
 
--- a/xen/arch/x86/include/asm/cache.h
+++ b/xen/arch/x86/include/asm/cache.h
@@ -11,4 +11,10 @@
 
 #define __read_mostly __section(".data.read_mostly")
 
+#ifndef __ASSEMBLY__
+
+void cache_writeback(const void *addr, unsigned int size);
+
+#endif
+
 #endif
--- a/xen/arch/x86/include/asm/iommu.h
+++ b/xen/arch/x86/include/asm/iommu.h
@@ -19,6 +19,7 @@
 #include <xen/mem_access.h>
 #include <xen/spinlock.h>
 #include <asm/apicdef.h>
+#include <asm/cache.h>
 #include <asm/processor.h>
 #include <asm/hvm/vmx/vmcs.h>
 
@@ -134,12 +135,13 @@ extern bool untrusted_msi;
 int pi_update_irte(const struct pi_desc *pi_desc, const struct pirq *pirq,
                    const uint8_t gvec);
 
-#define iommu_sync_cache(addr, size) ({                 \
-    const struct iommu_ops *ops = iommu_get_ops();      \
-                                                        \
-    if ( ops->sync_cache )                              \
-        iommu_vcall(ops, sync_cache, addr, size);       \
-})
+extern bool iommu_non_coherent;
+
+static inline void iommu_sync_cache(const void *addr, unsigned int size)
+{
+    if ( iommu_non_coherent )
+        cache_writeback(addr, size);
+}
 
 int __must_check iommu_free_pgtables(struct domain *d);
 struct page_info *__must_check iommu_alloc_pgtable(struct domain *d);
--- a/xen/include/xen/iommu.h
+++ b/xen/include/xen/iommu.h
@@ -268,7 +268,6 @@ struct iommu_ops {
     int (*setup_hpet_msi)(struct msi_desc *);
 
     int (*adjust_irq_affinities)(void);
-    void (*sync_cache)(const void *addr, unsigned int size);
     void (*clear_root_pgtable)(struct domain *d);
     int (*update_ire_from_msi)(struct msi_desc *msi_desc, struct msi_msg *msg);
 #endif /* CONFIG_X86 */
--- a/xen/drivers/passthrough/vtd/extern.h
+++ b/xen/drivers/passthrough/vtd/extern.h
@@ -78,7 +78,6 @@ int __must_check qinval_device_iotlb_syn
                                           struct pci_dev *pdev,
                                           u16 did, u16 size, u64 addr);
 
-unsigned int get_cache_line_size(void);
 void flush_all_cache(void);
 
 uint64_t alloc_pgtable_maddr(unsigned long npages, nodeid_t node);
--- a/xen/drivers/passthrough/vtd/x86/vtd.c
+++ b/xen/drivers/passthrough/vtd/x86/vtd.c
@@ -47,11 +47,6 @@ void unmap_vtd_domain_page(const void *v
     unmap_domain_page(va);
 }
 
-unsigned int get_cache_line_size(void)
-{
-    return ((cpuid_ebx(1) >> 8) & 0xff) * 8;
-}
-
 void flush_all_cache()
 {
     wbinvd();



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 14:49:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 14:49:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261508.452884 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD65G-0005LQ-Qx; Thu, 27 Jan 2022 14:49:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261508.452884; Thu, 27 Jan 2022 14: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 1nD65G-0005LJ-Ng; Thu, 27 Jan 2022 14:49:10 +0000
Received: by outflank-mailman (input) for mailman id 261508;
 Thu, 27 Jan 2022 14:49:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD65F-0005K3-LD
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 14:49:09 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 482ca612-7f80-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 15:49:08 +0100 (CET)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2055.outbound.protection.outlook.com [104.47.0.55]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-31-2arEmq7zMCWOxUNe2YOImQ-1; Thu, 27 Jan 2022 15:49:07 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM6PR04MB4887.eurprd04.prod.outlook.com (2603:10a6:20b:b::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 14:49:05 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 14:49: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: 482ca612-7f80-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643294948;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=fOd3RfnzHL4D+dtvfMnfEOwQW5XKehauO+k69wnLAEw=;
	b=M6EPiyXuqL3d81Ravjv1+E2WXIpNebaYSXl/Lb7gThsL5qEaMWJkParyE1ybzpaVTkVLyI
	nR6waOqAFaJ7H9lXhGQlpNlPQ4uZZmBJkTnbm4P12w6Cd0J/Ok2CWkwrkIeijr445vaTWQ
	DeotFTFB/czkA4jVYEa5bv8qOzGsB6Y=
X-MC-Unique: 2arEmq7zMCWOxUNe2YOImQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YJ6PJYJgJkkACtdWpL/oCqimLZ/bYDJAGUwoyUG4mytY342cxzy7DMZGbJZyIfyxI4pdesJXZ8Y2mlucbJjOE/VFn8aQTy9QIaMHDVqk0caUuUC7M6wbwhX/Vp1t1jnMs6q3zHJOU/36fgi4dv0irH1Qe4FhQLZA9bb23CRc8soDGRfp1JA6ayEVNCTmTcMNoUfzxIqzO1z5ZxMY3/ACa7aPDF28YnUvOIVoIS9qN0hKNCxAnqzA5OTzM97CvhH1Tlal8im9KywniGWZTaavDyppTXaILR/jxBNZHwBuRs/ejnEPdVJnDRCYASS/tPmZWGG7YBVU74NPkpE1nlRB8w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fOd3RfnzHL4D+dtvfMnfEOwQW5XKehauO+k69wnLAEw=;
 b=kA8RgK2JTtCtBJvER5pC7crfGfyEwyRKja1zx2l82TvgK/L8Gpnc8eCGD//DxoBbHPeUHJnJYU5Qo+sbIWR7Qfc9LhjVqP7rbXKYpIplQhJbA0McqDyVfsqxg07BCDdewZP/Hk9xM1gQAI/YUO5glnG7dFe39tslGyyk+6fdjaO8yPoEBJeJsp/yn0odgGtj/cNIe7oaLvRf43c2JpRaaCYLvJeoVnT3xkXsZ8gv4NpbgIkMAkdQdrxtenM8ZQAKTBCRYbq3DJntmJZQ6az0i3OjPXTCbXohiHtb7tI1Stb2Ri9Vd0x9A0QEOUKNuygz7z9JWqVZ14mVgA9SN6+12g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2a39cb48-7d38-6d7e-0557-fd93d377a31b@suse.com>
Date: Thu, 27 Jan 2022 15:49:04 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: [PATCH v2 3/4] VT-d: replace flush_all_cache()
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Paul Durrant <paul@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Kevin Tian <kevin.tian@intel.com>
References: <4b7db7ae-eb84-7ecc-4334-fe5f0f7ef46b@suse.com>
In-Reply-To: <4b7db7ae-eb84-7ecc-4334-fe5f0f7ef46b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR05CA0025.eurprd05.prod.outlook.com
 (2603:10a6:20b:311::30) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b9a8ddff-2c5c-4221-b4dc-08d9e1a42ab3
X-MS-TrafficTypeDiagnostic: AM6PR04MB4887:EE_
X-Microsoft-Antispam-PRVS:
	<AM6PR04MB488774507021154F1E5DCF90B3219@AM6PR04MB4887.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:
	jWaf/7f4fo1ZwZ1+QAYkdaQbjMwwrhCCnU1y9mn1Vm9jvCW2kdp24RYW6y94ib2mYNfBGWdP4fw9jTw06Vz80M5fHoX0nolNakG6Sh2OM6StizWw1W+ynsPBxN3+/HFpgnH+ILabUciUErONuHisfTAC4rqNuEvpAwjtbYB3F8L6owEL63mpUiu+KXLUUEyP2TUBzg4EPpXwKqM3/kvvhOIz4lEJGIIFHfFE4NS4eXNpix2MnCObhD2fccmIoteBzP2I72dHzMe6ByosWIcEG7csfK6iWLcbyQfIqcHIK6OSnnb1tMgTAi1JM76wjGyhoeoATcG8YdrpiL+/DlawXGEdDow+LP91q2tq2QD1qFExaFdhK5Z1SH4Y/gVtSeEftfzKTBr6lZxABbqobqgI9R5+Uvsj0/wX5BTBDqCMHx1OaI81xySrYTZpzXh6wyqJIkUH6IbcnMPONZPToTn252T46k3LT0bClZeUxtWaM0WHQR0To7CrwcbJEu4YmbeJ3Bp5BJ1MvsSqhY42O7HwbZIFKQSip+8IbHmvwKqvb2VG6k7LmG1sxK+WobR7NESHS9RQFAVIroeOGqOIxNtKvynGcFPujVDvV+YSmVe1WONFu41NE8Darh3sAwKzK4FnuRCDwNnyp1AzxHH50OLVglV6MjmXS1YRbP5bOCcg8kgi202sC+9iSoA+QDg2gbdiaG1b/rHnB2sBC+6Ba+brc2Au+PCSgWLVWLmBvIjNxOJj+bjUt6ejJeOrUk7qcjzE
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:(13230001)(366004)(36756003)(6512007)(6506007)(186003)(26005)(31686004)(31696002)(6486002)(2616005)(54906003)(6916009)(316002)(86362001)(508600001)(2906002)(4326008)(8676002)(8936002)(5660300002)(66556008)(66476007)(38100700002)(66946007)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UGFUMDN4RmFtcWhWRTRBWExCaUlkdHVsZmd5aDk3V1BUbTR1Yk8wandXcld4?=
 =?utf-8?B?L1BSbFB4TCtwMy8rK1p6TDdDYnRpeWZ2Q1R5WW92TmlQcnFSSy9od2hubGgx?=
 =?utf-8?B?bkZGVVd0bGpmLyt6a0daOGZUOUduMUFtb21XK3IwdEg2cWc2V3gyRU9XWncz?=
 =?utf-8?B?cWhMOWJKcDI0NlJ4TUFNb3U0enZFRUUvL05oUUZWb0FCMm92cTVTMWxIUUc2?=
 =?utf-8?B?NEZKQ2diMVdyTlVLUU1EbmwyWUZYb1FUN3IzZGdaUmlNVHpZNnFPSDlTeWhj?=
 =?utf-8?B?bXV5NmZxRnhTT2xnOUdTakhvZWFrNmxMS20rdFBxUzFDeDNoWTlhUW1tTWF3?=
 =?utf-8?B?YVBQdUQwdmw3M0VxTkVJRFJCbFV4TzEycTB3U0ZrVTlRWlpZT0lnQ1JZc2Zs?=
 =?utf-8?B?RDFDd1pKNEREL2NIVndsVjFRdEtpTjUvVS9VWmNwRnZKV2pCWkg4NlZJWjlv?=
 =?utf-8?B?b3dUQTlPZ2czbTBSR3BwSWUwM0dwTGdGelNuREJXb0VaY3EvZmd1S29PTGUr?=
 =?utf-8?B?dUdUVW10QmpnTHk5T3RkbkNVdnhMeXp3cUpEbldHVHZGemdtYXR1ZjVjSitR?=
 =?utf-8?B?QTJnNFhPNXJFdjc1NWg3aEp2eGpLcEVvL0VaeGJhbUNETVV0c0JQaTYyaDdq?=
 =?utf-8?B?R1FiVlh5SFRucmdLdFFOL3N2aFpkMHBKSnhFVStuZ0xIZm1EQkdPZmo2RUpS?=
 =?utf-8?B?eW1kSTNjQUdSZHMrYkpyUW9LTTRrVVlqNzk4RFAxUnoyL3hTNm5CTHpHZC9V?=
 =?utf-8?B?NGVmTlR3Vm0wbkE4bFFhejE3VkhoYjJ0eFN0M0V0L0xVK2R6VlRlRkdVVUo3?=
 =?utf-8?B?M2pucS9XdzMwU2RDNWl6VVlkaE1IdTJTZFVaeEhjWXd5bXB0cjdGOW8xeFRl?=
 =?utf-8?B?NGRaMUpodEhXVzBNWXdRbVhvcXArcmNlZkx1NEtwMmZMQTVqVk8yZ0pxMmRY?=
 =?utf-8?B?YzhrV3plWk5SckV0VnRic1VJWXpYd0hqL2FzN0J5bVlQWU9mT21yWitjK3V4?=
 =?utf-8?B?UG03bnFGdlZXaUovQ0pBZ0NEUUpRRkl2TGJjMUk3S3A0aFlGWlhBZXVqMGJD?=
 =?utf-8?B?NTQ2QmxYNU9weXR2TkZQMTRGWjNsTWMwS0FVeFIrUC9FQ3YyMWdMci9oNDl0?=
 =?utf-8?B?TVg3NFRFczEvOHhVWG9hallucEtJaTZROE4xNzUzVVd1QW12R0R5ZUJtdWVh?=
 =?utf-8?B?RUNqZmN3ajZERGtKQ0w0cUtlUUFkS2FPak0ramRwNXhnVnZFTDVJMEdIZm9R?=
 =?utf-8?B?WTBMWHcyUDZCcjBOYmpZY2p1OHRaSHpTSWhXMkh4RlVFbXV4THI3V1hnQW5y?=
 =?utf-8?B?M0d4a1Vseis0cGpmbE5RSmtHM05MZzh6MnZnYnJNVmJFQ2ZVNHBKK0pmNXhZ?=
 =?utf-8?B?dFN4em83S3FsRWluVEh5Tk95Ny9LTWl0dXI3Zm1CUVp1eFQzUXZxYTZJY1hh?=
 =?utf-8?B?WmtZT05zZmZuSjNhZFgyU3QyKzU2elZReTdjRGs4cnR3ZE9zZmNxUklmQS9H?=
 =?utf-8?B?WUlIcjZ2ODZENnZHd3FkWnhwcEVxN3NZNEFXVkxJZ1BkNUhDOVFBSjhtRDVX?=
 =?utf-8?B?UjFRbkZMc3RmdVVseUxWbS91andaemxaYmZ4T2NmeDNURWlDay94RjV1eGd4?=
 =?utf-8?B?Y2pxWlB0eUZpODQ4dXlnS3VEeW0wYnRvMUNOQWpGejBoVWR3RTZQQ3RDdlcr?=
 =?utf-8?B?Z1E5cVpXVmw4dCtUSDB1aXVuWndGVlkyc2FpRHJna1RMaFlWRG5SMHZzd2Ey?=
 =?utf-8?B?OGppNnJqNFZVbVB4aGh4aTN0TWQ1b2I5UWY4MnBVWElMWCtzVW8rNjRZNTNW?=
 =?utf-8?B?Yk9oOUZHd0xsazYrOFk0MWJLOTFlQUQ1aTJTU21Eekh2ckRha1JuNkRvNG5M?=
 =?utf-8?B?RjlvbVZXN0JvY203NUlybWhhYWcyd3lRY3ZPOE1KUTVFMGZpdUw2QUd0aHQr?=
 =?utf-8?B?K2RicTMrZkt3TTFkZ0lCWXhEN1J5U2RQcXlmc1RWVi8yUHQrZ210emxXUUhH?=
 =?utf-8?B?VENqSW9UMTZlWjNLd3BsbG9JUTdxZ29HNjZKUzBHcXdiQWhtMklCOHR1cndl?=
 =?utf-8?B?WFlOSlFVVWlEM1l5WnZFc2VBZlJOWG9Ha1pBbWtIWGNiemlpK2RIdkhWU08z?=
 =?utf-8?B?M3BQdU5OK0p1ZmF5R25vMm9hWjk0S0tjQTlYUUtweEtpWGdRc1VOSzRmYzlv?=
 =?utf-8?Q?YCF30gS6GVa7P1gsdTcbCWM=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b9a8ddff-2c5c-4221-b4dc-08d9e1a42ab3
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 14:49:05.8348
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wJ49VW/FBLu+GdS0nXSlr0OZW+WqQLMQGM56ly6z5Dx2znq8875HDUwQe7O4sgj9h1r8pFJh9rhhO3QqPvSe4g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB4887

Let's use infrastructure we have available instead of an open-coded
wbinvd() invocation.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/passthrough/vtd/extern.h
+++ b/xen/drivers/passthrough/vtd/extern.h
@@ -78,8 +78,6 @@ int __must_check qinval_device_iotlb_syn
                                           struct pci_dev *pdev,
                                           u16 did, u16 size, u64 addr);
 
-void flush_all_cache(void);
-
 uint64_t alloc_pgtable_maddr(unsigned long npages, nodeid_t node);
 void free_pgtable_maddr(u64 maddr);
 void *map_vtd_domain_page(u64 maddr);
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -623,7 +623,8 @@ static int __must_check iommu_flush_all(
     bool_t flush_dev_iotlb;
     int rc = 0;
 
-    flush_all_cache();
+    flush_local(FLUSH_CACHE);
+
     for_each_drhd_unit ( drhd )
     {
         int context_rc, iotlb_rc;
--- a/xen/drivers/passthrough/vtd/x86/vtd.c
+++ b/xen/drivers/passthrough/vtd/x86/vtd.c
@@ -46,8 +46,3 @@ void unmap_vtd_domain_page(const void *v
 {
     unmap_domain_page(va);
 }
-
-void flush_all_cache()
-{
-    wbinvd();
-}



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 14:49:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 14:49:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261512.452895 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD65x-0005w7-4y; Thu, 27 Jan 2022 14:49:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261512.452895; Thu, 27 Jan 2022 14:49:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD65x-0005w0-1K; Thu, 27 Jan 2022 14:49:53 +0000
Received: by outflank-mailman (input) for mailman id 261512;
 Thu, 27 Jan 2022 14:49:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD65v-0005tu-R2
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 14:49:51 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 616d1d63-7f80-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 15:49:51 +0100 (CET)
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur03lp2058.outbound.protection.outlook.com [104.47.8.58]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-20-Po1JJaETOXuNNo_YttVhCw-2; Thu, 27 Jan 2022 15:49:49 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM6PR04MB4887.eurprd04.prod.outlook.com (2603:10a6:20b:b::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 14:49:48 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 14:49: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: 616d1d63-7f80-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643294990;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=DMhzatDsyvqO50atIdsWIGLVtdsSYBlhlA7D8k9xKVo=;
	b=jl8bcgX6X07E9rkSPLl1M0sD5xkms2J0WSnsorow1Gn4zF3E9w3lYx2svr2tJMSNElIUYD
	3GFEVaOGESDZSYA1AogezaDLd+KjtKVz7QlAlujpus5KXgV1IqcTSp959WhpJlxwaC/o/H
	jcvApHBlrPCkILJIiADi9Tyi0TTLjy8=
X-MC-Unique: Po1JJaETOXuNNo_YttVhCw-2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iYfCO8JDt1Qf5ZdUj6PM2osKZmogIqPbjcvnELZeTH/Wu3XKGLpTUkfRodHb7/tWZEyVO+3/3JgYfgXoHY9XZC8lPBbfddw6/vAJMFD9c5dujmY+aC8rAv9PfYoC80YdBzI3mYldOHpAW+SjOU7ptz67ks9v4zW4/WawP6qtHMrCOsO/8jSfB5oOBNVkaAyJ/gckfzJk324hcX/zEbNbh+lYKr02OGRlmZ8mOcrn/xI0sTokR6FWPuFSceCa0GdG0wyUeQJqjvfAvnvmSdgk2kUzv9FT+2iZgCxfinX4GGFtByVFozzVri71jduYK/z5h8EV5WZBhWw3qRIGhQEcVQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DMhzatDsyvqO50atIdsWIGLVtdsSYBlhlA7D8k9xKVo=;
 b=F2qQ3HUCbgpyGRc3HGGv+pI7BljmFMJ+MwACJxWa9maIGqRCov7BnwW6yhwmy/1OyjyH+Opjy4yogHRoPGPaXlRNRypHeYdJx8owDW7gwwDr67NfkCl2vT8tG7cuH8600DK5RJIqsl6Qcu+6y7EWe1DJW/Rxcbw/pGyLQ/MI+cyardErKEKWPOsATBuSTMG2UGZ3H0iW9Dux2M5yEkjhEzGyqIF1W4QAYhzEgeaz6YEi+dRHez1N7oGA+4jZaLGcWS9TyhL868AiVrecHlRqFIYXuVVB7YjSamfhdkNB6QtrGl4j3Lqa5WdCl1Gvov4jvVVrJwMaHFrLyyIxhiJqCA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <998f6587-d64a-7336-a44b-d05ca486b4bc@suse.com>
Date: Thu, 27 Jan 2022 15:49:47 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: [PATCH v2 4/4] IOMMU/PCI: propagate get_device_group_id() failure
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Paul Durrant <paul@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Kevin Tian <kevin.tian@intel.com>
References: <4b7db7ae-eb84-7ecc-4334-fe5f0f7ef46b@suse.com>
In-Reply-To: <4b7db7ae-eb84-7ecc-4334-fe5f0f7ef46b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR04CA0145.eurprd04.prod.outlook.com
 (2603:10a6:20b:127::30) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a2a96b44-7209-40c8-e3fb-08d9e1a44443
X-MS-TrafficTypeDiagnostic: AM6PR04MB4887:EE_
X-Microsoft-Antispam-PRVS:
	<AM6PR04MB4887DE40EEE0F7F352D3D0B9B3219@AM6PR04MB4887.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:
	NzdifO8MSmmZZIFUaqJxtOO9QOiRH8c4HEm/oshoocWUt80Evcc2HgZcilL+yHUPHV4oiF1RwYdw5FKZw/PU6mxYssEYbtMFEaZzgHPOYD1TXqW3ElJkaFb7uHBviDQ7y+/oxPdkJd6dp923hT11bXZdZK4k6Qpfa8Bx4EU63wrsm4GY2dOpPYuXfAIaJSkxrZBEFLjs1pjIsfccRSVfkafMod9sGggQFidthCjg7BiB+t13FVLcTpw274fYmCaXX94+Jsr8HRID1fKra1FOukW4EInpN+2FcQh4oa9A6dbBcH9yPzP5fuanmia9TKntuG9eS5zic2hoP1hXw11kVTILkdptC3HvTgOLjOVQxYkSvaFluLH34tLhBjLDhfofSj0FNNG8PXTSKM0uZM4LPubgt2J7Ym4Yc3fi1C5FTE9JLIGEeI8BVH8vTrL4h5vBJuPR7OzIHXmAMyGAmzm4rijeDvejAHPe3yWNkzlMZm+hfu774zyzviBErqvbdAZVAjCsr6L1JobWPenJ/LzNhWbjzjGtHKbcm8aT45og1Hsw2zTaO+V/w1yFgZNeDYP6w5TggIKQJUcN0BNL7dKPW22LifuJ3+mzMuytRXco7h+VPqthx0hpK2/iq+ejou8nMU06plg7Amfzm5gzPnJw0D9EaH+6dsSe37+WnLLhpFNeFCRg/wX5SWkyY52uxRQIQ9Lu2nz/1p03nXdoY5AO9oEkWVFluHxYaih1S0cXLKFWWjVwAflkIhDaFq5/nTyD
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:(13230001)(366004)(36756003)(83380400001)(6512007)(6506007)(186003)(26005)(31686004)(31696002)(6486002)(2616005)(54906003)(6916009)(316002)(86362001)(508600001)(2906002)(4326008)(8676002)(8936002)(5660300002)(66556008)(66476007)(38100700002)(66946007)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OFRnWXJMeFEwdVpOUHNpeEJLK3B2NEFsa0luQWFtdDB2TGcvTjNDV3kvdDcv?=
 =?utf-8?B?K211ZlBQTTRWMExka1lEcEZiMTVTTDFaNTdST2VRVFVMMmovaFZTbHVORisz?=
 =?utf-8?B?QlFHRWJlRzRRbnU5MFZFNWk2UzZBV2xwM21CQ2ZndS9UVWtiQkVIYzNWLzhu?=
 =?utf-8?B?cktIemlpQlM5V2dCUmFNL1NrNlRkVk1DOUU1ZTV0L3lnVWJpRnJtQ1BpQWlL?=
 =?utf-8?B?QStXb1VCM2NJelBHSk1Ka3AvTzliakdVRVZoeTd1alBRK3VsSy9HL3pPQTZ5?=
 =?utf-8?B?RnhpVDJ2bWpaMmxRM3RhUDRDK3VxRXJIVEpMRldlNVpWeDdqSEc3RWllOGdP?=
 =?utf-8?B?T2twaTM2NE5jWXRWUHAxMlZXbkI1bERQMHpWWHhLNnA0a2ZmTm5LUjNoUXZM?=
 =?utf-8?B?M01qeHhPN0U2ZXF0UFQxTWZ4bmdHcUc3SVErcTR5S253RnMvUkdQbVBvdjhs?=
 =?utf-8?B?Um9qaHpXaDNaZ1ZReGFucmNSTDVoRE14eUtkYmVNYkk0V2h2Y0dYNHNhZVhU?=
 =?utf-8?B?WG1ySk4rTGsrL2x6Z24yTTFvMzdBa0xLYWkyN2t6dEsrS3djQ1FOcFVqenNL?=
 =?utf-8?B?Z2lGU3lEdHduZUUyUzFCbnZnczNRYUE4WTFFUk5lMjl1R0Q1dHNLRnk4L2k1?=
 =?utf-8?B?UGIva0lWT0k2UmFKWHVhUDN6REdhWng0RUp4amRkQUxERzI0UERyY0tVMCtQ?=
 =?utf-8?B?UWE3d24vRW9mcjlxSXB1QW9aZkMzSDlhS3dNbkl5b2lMWGFmemRSYzdYckQw?=
 =?utf-8?B?QnkvZkorRkFabmR6anBiaUY0VGlBQ0ZPcWsvTWZOTE9kcEp3WllSVDNIeWhX?=
 =?utf-8?B?T2dSMEd3dEJ3eGMwWjdEaDdFdDdvY29CQWFSOWZ6Y00yRWw4anplaUUrekdi?=
 =?utf-8?B?S21rS0dZZDlERERLeCtYWStwbVM3OXk2djlEOXVOU1MrZklOd3krSUdqWHdU?=
 =?utf-8?B?Z2Y0TUR3aGtDOHY2RWpvWGZwbVpCaE9uNmNDbEpmOEhyc096L05za01MVlFQ?=
 =?utf-8?B?QTRUanRybTdzV0ZNdW80eXE2S0JJRTl1Lytjcm03NDBZQ3NvYzJJaE9abUdB?=
 =?utf-8?B?dUlvV3NRcjZoQTNtdFdIbjRXZVNWaTBaam5pczJMSUJmSHNmQVkwR0xCaFNV?=
 =?utf-8?B?V1VCclZsWnlPenVIdUpobE9ETVZJRUZidHVEbXRDOUhmSXRDUVJTTEkxa3BY?=
 =?utf-8?B?d1VJM0xCbE85VW5sVVlsVHVkZU1NeXhDQnhCUVE4SUNlRDhhQTRxSmE3TlFQ?=
 =?utf-8?B?ZVltUGFtN0lDNG5QSnVKcHI2dGRvNnY4NWVhUmpVbWlValRQYUh1Q2J2eUlp?=
 =?utf-8?B?NDY0L1VkY0FsczJGVm1Sa0JXL214QlVlUStEaUdHQ280M1g5ajFiMnNWdkdz?=
 =?utf-8?B?Q0VzRUZvMmpsN1pBTGZrakpacENiVlJLbCsyYlIzUlVjeFpyeUg1bUt3K25P?=
 =?utf-8?B?cEVsSDZ0UkZwY29WZTFTSG91bGhDVElmNzdEdXNjczVoeHUyaUFtOVpQOTJS?=
 =?utf-8?B?U3JkVWlKbU1uazlCY214SWg3N3RZT1NoVGR0dVhrbzJnd3ZyUWJKT2dQWEx0?=
 =?utf-8?B?T0puZDA5MXorQytCbzg3ZTJnMFM3L2o0VlRibGE1TzV5VDdlZkxzeEtFa2xL?=
 =?utf-8?B?Tk1TeFRJaTJ4bGFPS0dHcTcxYnAvaDBXeGVpeDZoU1J3a241cHRLOERSSlB5?=
 =?utf-8?B?VVMvNVk4QzVpc29kT05Kb0RPMzJvWFBSSDhHUUo4OXJFUjY1NjRHZXpVcTQ3?=
 =?utf-8?B?amtCN2l4SFhQYThWZHdqNFNwNG9obU0rUGpuVGVMVDJZNXAwcGM0YVVGb3FW?=
 =?utf-8?B?RWMwVVA0Y0s4TDMrcUZFUGptMy9jREZIMkNTQjlYTWZTMjBoTEVtMnJEUkhm?=
 =?utf-8?B?UUU4UU1md1o1N3lMUkEyYTIrcTU2blIzOWVPYjFKUkM5T0dkVU9XcmM1Y3Z1?=
 =?utf-8?B?RHBQTDRWVlo2VDZZdkdsaU5WZ2pSc2JnQ2lUekdiRWQvVkVwK2ZjQyszTTZu?=
 =?utf-8?B?NXU1TkFIVGl1MlBhYkQrNkRmaE1tQ21VaFJxZUoxOFZxS3krdGNxNmJHZlgy?=
 =?utf-8?B?Y25ZUmlWVVdOeG8vSkRqdCtUaERLTWpUbXBuVGM3eWs3bXU1TGxUMXFJSCt1?=
 =?utf-8?B?VEc5OEo0eTNrTVlJRFJFVEpHQm40MGJjTi9CeTMydXZiZldiTmJQRmh4QzVp?=
 =?utf-8?Q?tercPkYVM0Z5WV75AirCFDw=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a2a96b44-7209-40c8-e3fb-08d9e1a44443
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 14:49:48.7071
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: SdxYT07Bx6nxXI0qhZFc6gIc+ncim8bEA526PCr/uVhMvkHoJG5X8RQDm5YAMIGxzbCLXzRzlBQwn1MxsBeulw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB4887

The VT-d hook can indicate an error, which shouldn't be ignored. Convert
the hook's return value to a proper error code, and let that bubble up.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
I'm not convinced of the XSM related behavior here: It's neither clear
why the check gets performed on the possible further group members
instead of on the passed in device, nor - if the former is indeed
intended behavior - why the loop then simply gets continued instead of
returning an error. After all in such a case the reported "group" is
actually incomplete, which can't result in anything good.

I'm further unconvinced that it is correct for the AMD hook to never
return an error.
---
v2: New.

--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -1463,6 +1463,8 @@ static int iommu_get_device_group(
         return 0;
 
     group_id = iommu_call(ops, get_device_group_id, seg, bus, devfn);
+    if ( group_id < 0 )
+        return group_id;
 
     pcidevs_lock();
     for_each_pdev( d, pdev )
@@ -1477,6 +1479,12 @@ static int iommu_get_device_group(
             continue;
 
         sdev_id = iommu_call(ops, get_device_group_id, seg, b, df);
+        if ( sdev_id < 0 )
+        {
+            pcidevs_unlock();
+            return sdev_id;
+        }
+
         if ( (sdev_id == group_id) && (i < max_sdevs) )
         {
             bdf = (b << 16) | (df << 8);
@@ -1484,7 +1492,7 @@ static int iommu_get_device_group(
             if ( unlikely(copy_to_guest_offset(buf, i, &bdf, 1)) )
             {
                 pcidevs_unlock();
-                return -1;
+                return -EFAULT;
             }
             i++;
         }
@@ -1552,8 +1560,7 @@ int iommu_do_pci_domctl(
         ret = iommu_get_device_group(d, seg, bus, devfn, sdevs, max_sdevs);
         if ( ret < 0 )
         {
-            dprintk(XENLOG_ERR, "iommu_get_device_group() failed!\n");
-            ret = -EFAULT;
+            dprintk(XENLOG_ERR, "iommu_get_device_group() failed: %d\n", ret);
             domctl->u.get_device_group.num_sdevs = 0;
         }
         else
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -2564,10 +2564,11 @@ static int intel_iommu_assign_device(
 static int intel_iommu_group_id(u16 seg, u8 bus, u8 devfn)
 {
     u8 secbus;
+
     if ( find_upstream_bridge(seg, &bus, &devfn, &secbus) < 0 )
-        return -1;
-    else
-        return PCI_BDF2(bus, devfn);
+        return -ENODEV;
+
+    return PCI_BDF2(bus, devfn);
 }
 
 static int __must_check vtd_suspend(void)



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 14:53:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 14:53:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261517.452905 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD69J-0007Pz-Nh; Thu, 27 Jan 2022 14:53:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261517.452905; Thu, 27 Jan 2022 14:53:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD69J-0007Ps-Kq; Thu, 27 Jan 2022 14:53:21 +0000
Received: by outflank-mailman (input) for mailman id 261517;
 Thu, 27 Jan 2022 14:53:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD69H-0007Pl-O2
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 14:53:19 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dd00e2ba-7f80-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 15:53:18 +0100 (CET)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2177.outbound.protection.outlook.com [104.47.17.177]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-16-g4NHsuWsO-GdL_7x8tglEQ-1; Thu, 27 Jan 2022 15:53:16 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM7PR04MB7191.eurprd04.prod.outlook.com (2603:10a6:20b:11c::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 14:53:15 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 14:53:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dd00e2ba-7f80-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643295198;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=QXqEOApuhNTDDOQi+0lYzxh9XjWyCRDTmsHjLzOzlRQ=;
	b=WMSI0U155lKdxaBfWu9F1rVcGoiu3C+e3htPSk65+UecLk2c0pYMsmkSQvkHpvhY3BKzwr
	NcUmDM6ATCaGJUv9Ykl99W5lHFGIwxFoTkhVLdxBhb/GbCtS3IUaJspO3YUyT3ZQ7cAirO
	ZNU1a8BlR1+s/mJmlNRTzO+fVaz78HQ=
X-MC-Unique: g4NHsuWsO-GdL_7x8tglEQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KlMd7QR8LotlPDEZtBvNkAoSmvfO0Hmt6s9M2XKuZOETYTkkKXKIchc5loDRiOduejHZLnNQWB/HjJdjKtiZbjHRt79rrEHvN9miMvUNAEUcLDikSFRG8GuFl1pkd4MXE/Mh81m+tACMGUBueQrsv2w3+f+40vzlyMkT9/NoIKDolasaB7rfwtuq7k86JCm+gRFhs9HMTVpji11/jm7TEd1tzUrcJB+YGoKzqAZcIDfs+qO17zZFPnsVEK0jgFFTvOvYdJD3/v7+JEM2OcE1r9EzDu6phiOBr7uXldjLGlUHVCrhm5axM3dPHNJut+QamQtJO5JJj5zly+s3t1EWqA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QXqEOApuhNTDDOQi+0lYzxh9XjWyCRDTmsHjLzOzlRQ=;
 b=nJ2Tt5GZYKUxWb1udCTqOYyglaCa1M7/U7dPoML/hNUAPnZHLKqa7nDAX1XL2tPpAKd20QjTsWcBnyylrJaWwyh9K91zY7CITBsleuCaNLhrHvVdHc1uqoJyhOOmTVTZd3zeccAVe8fY0uRWchmdo2ui28V8wqY5nUdDD/rZ166st819s3Ez4C1Gf8diBj0f7OdZdC8T9pGrJgu2D881oD0l6o3wWVJdGCsrHdbsL908RpIdF6qTYOSaPaGqd1VQpwrLUoAv9kATDX6eR6fTnnvVFkKN3iRLPiKVr4y7mJ7n4KB54sWEbX8QqXqCGdSUt6sO1spEU1Q+iGqlJ5uBbw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c2606525-5d1b-c410-d750-1372334c4c7b@suse.com>
Date: Thu, 27 Jan 2022 15:53:14 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v3] memory: XENMEM_add_to_physmap (almost) wrapping checks
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <9725c93e-c227-f29f-07a4-65e383bb7858@suse.com>
Content-Language: en-US
In-Reply-To: <9725c93e-c227-f29f-07a4-65e383bb7858@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P191CA0100.EURP191.PROD.OUTLOOK.COM
 (2603:10a6:209:8a::41) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: faba302d-b965-41a4-03f4-08d9e1a4bf87
X-MS-TrafficTypeDiagnostic: AM7PR04MB7191:EE_
X-Microsoft-Antispam-PRVS:
	<AM7PR04MB7191FB18ADB1089406905D4CB3219@AM7PR04MB7191.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:
	PKFxfMyGaZHIDUODd5fDwzV3OSJpuz/zfubEYlSpK556cqyClbWXx7Y4nLNJ/gwFMXsLqck/VUZdrOENyETt6NTgTa7Q2yEqY6DUqsqTRPRcp4+RruoQq2z7eGyr4uwchgpw0fMsyCanfEI2LHd1KSTkBLKKGDT3RPBNXD/itomae71qo7qXLmn/St5yALrHOedKo63mQdbgsH3sswV2gdxePFxODxkeaqmsx2Ah5nBgWDKkth3HCkuRFVUMx70UQftbKc/CeFzpuZYpvMae6a4R1XtYZHuUyz/l4+pcR3RdvBAemEO7VsHF8G6jmS0PNAWudim89MuBOvwlvMNwPOqgP9T33yv30X3pIbaqYMFKw56KRVBA9dcb/JeDKPEhAQ7T4I98SoNnLb2xQDv1mV/vqzEtxOjNeBnA7lE8YJ3A+UrI47qVx1QiOl/idL0JB+DEttpqF9EGfDvLnjVbKbIe1gqrAriShvqzkWMi/8zdeDezAPU5Mmh3hc8dGZvvm0SkFLFwXVDnOwgVNIgFVOtFGI3PhmgXvC/znf2xxli/NFIb9XKMjjt05oUpKYBSWxRI5iLjK65QyUNFz5lFDFl0awUHQGGK6wKYxcYIUEjualSezuVYi2XgZ8X9TRzTrkRo/BYagmfLJBzLjgxrjUHEQLS6clOz03yg9cA31wO/+aUGlCaJdUnvE7EF/u6nXm3vDEfFzBfNnycTClrFgg3GlOXCAm/G0UN4eqnqhGDLmfx/RVT/Pxs3Q21xOQCM
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:(13230001)(366004)(83380400001)(6486002)(6916009)(316002)(508600001)(2616005)(54906003)(36756003)(31686004)(186003)(26005)(8936002)(5660300002)(66946007)(66556008)(31696002)(4326008)(6506007)(8676002)(6512007)(66476007)(38100700002)(86362001)(2906002)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZHFla3JteEJZQjVWYU84LzJvS0Y2cjhQUURZMmVUcDVYNUpaQUREQTE2TVhD?=
 =?utf-8?B?V2U1ckV0b3FWSCs2RlJEa25PVDZxejBYclB0MzV4SEROazBBWXhBdDUvNlBZ?=
 =?utf-8?B?cjAvZkxmTzhXSmNkcm9nYU9LSW9yYjIrSnhUMW1PUDhBdmRSdUJCUmROVUxI?=
 =?utf-8?B?dUpCYnRBaEMway9YUkRoTXNHV0NPdXppNnlxTlhtbmJkWTl6eTc3ZXlVanhW?=
 =?utf-8?B?ZEJLMExPeXJJSDRIVWE0ZHk0NnhkYVdWSzZTc2RselN3YWJSQ1JVN05RYlhN?=
 =?utf-8?B?ZG1hTzF1cFJJcnMwUUI0RU9hOE40QzRxb2JKNXBjWnhiWTRGUnF2VzFvNHVy?=
 =?utf-8?B?RXdoQnpFdjRmenlsMm9sS0ZaaEI1ZVhDYTJFSTVrL2FWK21FcFYwb3IxcEpK?=
 =?utf-8?B?Nlc1VGlRVXVHYmtxYVNFUkpwSmtJUGZ0RGRQMHY1L3N5OUdESEZOVUJXajZP?=
 =?utf-8?B?c3N5VXM2alcySm96bzNRY0FlaEpwK3E3OFllZ0Fsa2N3d3pkcGdKeTFRMWxB?=
 =?utf-8?B?Ky9nWUJoVlkzcEZCbmUvcUFMVGR2ZWYzZFVvVGFiYXE5WmtIVVJINTVzVGVJ?=
 =?utf-8?B?Mk5zeUNJRlVZSkdVVjJjQlBrQ3B0dEVpRVBXdWNqbjJwS0cyNWw2OVVpNEc0?=
 =?utf-8?B?RDJwOUVVV01VYVdqM1pBbUdWbkZOSEg3blBIMWN6eU9lUG9BWUl1S3ZhZkhr?=
 =?utf-8?B?YXZEcGtOT0R6UzdiVk95cGZwRklpV281TkdwVkJQS0c3SkMvc1huMTV2Zm5G?=
 =?utf-8?B?cWR1NzBLc0UvM24xYnRCeGt5eVQ5WVNKZVFzbStQVEk4YW9MTy9wNXl3REFr?=
 =?utf-8?B?Sk9Mb0FhNGdpa1QvU0gwZ2JzUDUvN1g4R1dqaHdZaGtvZG9ENzB5TG00WW9Q?=
 =?utf-8?B?bzcxQkNtMlBNWXVGSTFMc29PVnBhZ3NxMlkyVGVkV2Ewdmh5a2ZPcHVFTFZy?=
 =?utf-8?B?R3ZJblZvOTNmQSs4anZVeThWNUM2WkoyNWJ2bFJHYkpGUGltY0lEcWg0aUY3?=
 =?utf-8?B?MEQ3c3FxQm1GclNJblRJM20zYVBhZ1dLNUNKRDRDekdMTHU2bFc5cmhQcUdX?=
 =?utf-8?B?WFlVcGVhdVpZY0hrZ1hpL3VacWJPdHBpYWd6WlgxMUFkWXNwOEdXMk5yNHFD?=
 =?utf-8?B?SEhUY1cxWlljcWhEM3FXVDZ5NVBEbFJJa1EzTGdwY0hqdEY2Z2NmTFRGSTky?=
 =?utf-8?B?bkJJYy94YWtOL3A1eEZueXhHSzlvQ2dHcUFOdG96MDlad3RFTFZ0elJhQ2cr?=
 =?utf-8?B?d1lnY3MvdFRmNmdnSy9kSngwWEpsaUVEbHJLMHBadFFOYlNKME1pYlRlcVVQ?=
 =?utf-8?B?b1NJRGY3aU1nVi9DR050ODcxZnJTM0NRWk9JQ0luL0orRGVSZFpqZ2Z3VTVp?=
 =?utf-8?B?aWE3ZUoyZGV4NUV1N1crVC92ZXRURS9OVTBoZndQY1BXNzN2OEVFVVJsanJQ?=
 =?utf-8?B?UlF0KzhUSWhNTW9Da1M3SGdDcE8zR3VWQk9icy9zSFJXNmZpUnFCbXdqTTZ0?=
 =?utf-8?B?Y2gwZGJSTnBwTlNwM3NoUmdLYnJobjN0eWxJYmg2RDYvbVQvSDByenVwRDha?=
 =?utf-8?B?VDFvWUIyTC9ad2ZNWjByRDVsb1BodXlqalNjNFFWOVRwNno0TmpVQ0I0U0s3?=
 =?utf-8?B?VVYvWjRzTzVNUEFsYWY4c0ZGQVYxeVg2ZVRFd3Y2bzNRZS9jbzl3N0doQWRz?=
 =?utf-8?B?bGcwZmJReVlJRnpMMDVDVCtVd0J1SXVmZHZEMUlpQ1hnV2xTcS8vdFVrNlBH?=
 =?utf-8?B?RzdSS2FXUDBUNi9mazZDMmdFS3BkeTc0cTdaczBBZ2FGMWp4Y1BGU3l0aEdB?=
 =?utf-8?B?VEFkOG8ySmo5ZFI5MnFJVktQT2ZPNWl0ZTdhSFM2cXlaNXF3YlB4M1M0dkMz?=
 =?utf-8?B?dGl6KzlpdGJ2TnNFYWJjbEtBY3FkdEN4SHJSZ1lleTc3bjg0cXpualUzUlEz?=
 =?utf-8?B?RXdyQVY5blBQa2NGSDkwaW9PRy9ZR3BFSWQ4VE9UYWVDdmNGVkJuc0RTWTU1?=
 =?utf-8?B?WFZBSEJubms3akdoeW5wZzBZY1VWZTZnWXhBY0krMFBiclpMVUFodnVJci9C?=
 =?utf-8?B?MUxrS0JKRTExTWU0RDlOME50ajlyRWFPSGxnQlVrZnNJdE5JQkF5TSt4Z2x5?=
 =?utf-8?B?S01xWnNzQkJ0d2NibkdUdzRsT1A3aE9raS9ISUg5ck15d2o2d0NleUoyNlM2?=
 =?utf-8?Q?+LCVTmvijOYTMaWOopSBBrk=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: faba302d-b965-41a4-03f4-08d9e1a4bf87
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 14:53:15.5224
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zXPnw8rmJRQV2xmnYrJAFJoEKGE5ytQWGVGDAlGXH4s1r1BEmZu7tKY+kgJnuTr6u55CYmsN72SPepqncbElKQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7191

Determining that behavior is correct (i.e. results in failure) for a
passed in GFN equaling INVALID_GFN is non-trivial. Make this quite a bit
more obvious by checking input in generic code - both for singular
requests to not match the value and for range ones to not pass / wrap
through it.

For Arm similarly make more obvious that no wrapping of MFNs passed
for XENMAPSPACE_dev_mmio and thus to map_dev_mmio_region() can occur:
Drop the "nr" parameter of the function to avoid future callers
appearing which might not themselves check for wrapping. Otherwise
the respective ASSERT() in rangeset_contains_range() could trigger.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v3: Rename function to map_dev_mmio_page().
v2: Add comment to BUILD_BUG_ON(). Avoid transiently #define-ing _gfn()
    (by way of new prereq patch).

--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -1479,7 +1479,7 @@ int xenmem_add_to_physmap_one(
         break;
     }
     case XENMAPSPACE_dev_mmio:
-        rc = map_dev_mmio_region(d, gfn, 1, _mfn(idx));
+        rc = map_dev_mmio_page(d, gfn, _mfn(idx));
         return rc;
 
     default:
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -1355,21 +1355,18 @@ int unmap_mmio_regions(struct domain *d,
     return p2m_remove_mapping(d, start_gfn, nr, mfn);
 }
 
-int map_dev_mmio_region(struct domain *d,
-                        gfn_t gfn,
-                        unsigned long nr,
-                        mfn_t mfn)
+int map_dev_mmio_page(struct domain *d, gfn_t gfn, mfn_t mfn)
 {
     int res;
 
-    if ( !(nr && iomem_access_permitted(d, mfn_x(mfn), mfn_x(mfn) + nr - 1)) )
+    if ( !iomem_access_permitted(d, mfn_x(mfn), mfn_x(mfn)) )
         return 0;
 
-    res = p2m_insert_mapping(d, gfn, nr, mfn, p2m_mmio_direct_c);
+    res = p2m_insert_mapping(d, gfn, 1, mfn, p2m_mmio_direct_c);
     if ( res < 0 )
     {
-        printk(XENLOG_G_ERR "Unable to map MFNs [%#"PRI_mfn" - %#"PRI_mfn" in Dom%d\n",
-               mfn_x(mfn), mfn_x(mfn) + nr - 1, d->domain_id);
+        printk(XENLOG_G_ERR "Unable to map MFN %#"PRI_mfn" in %pd\n",
+               mfn_x(mfn), d);
         return res;
     }
 
--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -4157,7 +4157,10 @@ int gnttab_map_frame(struct domain *d, u
     bool status = false;
 
     if ( gfn_eq(gfn, INVALID_GFN) )
+    {
+        ASSERT_UNREACHABLE();
         return -EINVAL;
+    }
 
     grant_write_lock(gt);
 
--- a/xen/common/memory.c
+++ b/xen/common/memory.c
@@ -832,6 +832,9 @@ int xenmem_add_to_physmap(struct domain
         return -EACCES;
     }
 
+    if ( gfn_eq(_gfn(xatp->gpfn), INVALID_GFN) )
+        return -EINVAL;
+
     if ( xatp->space == XENMAPSPACE_gmfn_foreign )
         extra.foreign_domid = DOMID_INVALID;
 
@@ -842,6 +845,18 @@ int xenmem_add_to_physmap(struct domain
     if ( xatp->size < start )
         return -EILSEQ;
 
+    if ( xatp->gpfn + xatp->size < xatp->gpfn ||
+         xatp->idx + xatp->size < xatp->idx )
+    {
+        /*
+         * Make sure INVALID_GFN is the highest representable value, i.e.
+         * guaranteeing that it won't fall in the middle of the
+         * [xatp->gpfn, xatp->gpfn + xatp->size) range checked above.
+         */
+        BUILD_BUG_ON(INVALID_GFN_RAW + 1);
+        return -EOVERFLOW;
+    }
+
     xatp->idx += start;
     xatp->gpfn += start;
     xatp->size -= start;
@@ -962,6 +977,9 @@ static int xenmem_add_to_physmap_batch(s
                                                extent, 1)) )
             return -EFAULT;
 
+        if ( gfn_eq(_gfn(gpfn), INVALID_GFN) )
+            return -EINVAL;
+
         rc = xenmem_add_to_physmap_one(d, xatpb->space, extra,
                                        idx, _gfn(gpfn));
 
--- a/xen/arch/arm/include/asm/p2m.h
+++ b/xen/arch/arm/include/asm/p2m.h
@@ -295,10 +295,7 @@ int unmap_regions_p2mt(struct domain *d,
                        unsigned long nr,
                        mfn_t mfn);
 
-int map_dev_mmio_region(struct domain *d,
-                        gfn_t gfn,
-                        unsigned long nr,
-                        mfn_t mfn);
+int map_dev_mmio_page(struct domain *d, gfn_t gfn, mfn_t mfn);
 
 int p2m_insert_mapping(struct domain *d, gfn_t start_gfn, unsigned long nr,
                        mfn_t mfn, p2m_type_t t);



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 14:53:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 14:53:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261520.452917 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD69m-0007uE-0f; Thu, 27 Jan 2022 14:53:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261520.452917; Thu, 27 Jan 2022 14:53:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD69l-0007u7-Te; Thu, 27 Jan 2022 14:53:49 +0000
Received: by outflank-mailman (input) for mailman id 261520;
 Thu, 27 Jan 2022 14:53:48 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nD69k-0007tp-Kz; Thu, 27 Jan 2022 14:53:48 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nD69k-00020F-Hg; Thu, 27 Jan 2022 14:53:48 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nD69k-00068d-5B; Thu, 27 Jan 2022 14:53:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nD69k-00088W-4X; Thu, 27 Jan 2022 14:53:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=3yCL/3Otj3rLVpRgdX+IDf2V+5OA25obNEmwggMh42Q=; b=Ma0TQw/IOy4hXU3HXVuu6TTvxd
	pSgKelvcgKsoZdgFbC+joS8W2SFNmf9K01YW6Xur+H9aDodeyRh+e2I+12pBZNBwrIaEZtPd2688k
	lbtgJ+WmmDPmWNsxn9o02haoD37VJhaykpjtTb6Wyyfl18wlBdzjPbYuV/Usso2Kf2Nw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167906-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167906: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-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-armhf-armhf-libvirt: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-armhf-armhf-libvirt-qcow2: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-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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=9480a1a519cf016623f657dc544cb372a82b5708
X-Osstest-Versions-That:
    xen=9480a1a519cf016623f657dc544cb372a82b5708
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 27 Jan 2022 14:53:48 +0000

flight 167906 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167906/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat  fail pass in 167851

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167851
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167851
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167851
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167851
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167851
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167851
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167851
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167851
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167851
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167851
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167851
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167851
 test-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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  9480a1a519cf016623f657dc544cb372a82b5708
baseline version:
 xen                  9480a1a519cf016623f657dc544cb372a82b5708

Last test of basis   167906  2022-01-27 02:07:58 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 15:02:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 15:02:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261530.452928 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD6ID-0001Af-26; Thu, 27 Jan 2022 15:02:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261530.452928; Thu, 27 Jan 2022 15: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 1nD6IC-0001AY-VI; Thu, 27 Jan 2022 15:02:32 +0000
Received: by outflank-mailman (input) for mailman id 261530;
 Thu, 27 Jan 2022 15:02:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD6IB-0001A9-Rr
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 15:02:31 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 25d03224-7f82-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 16:02:30 +0100 (CET)
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur02lp2058.outbound.protection.outlook.com [104.47.5.58]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-40-x3eci9lSOgWDPXUA0CGWVA-1; Thu, 27 Jan 2022 16:02:28 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by PR3PR04MB7227.eurprd04.prod.outlook.com (2603:10a6:102:82::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 15:02:26 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 15: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>
X-Inumbo-ID: 25d03224-7f82-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643295749;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=nccBUsu0YhLaHkZcQr3GSGEk+O0A/XeeBP7y9LD1V9w=;
	b=CLfJ7Cpz6G9AK+QnOJpTYGxVG8/VfsMSnBQYDhko29oyi0CTDHioWLfqU/9aOkdLaej6xR
	NWexbLYTkoK5+oSud1L94vDeu5K80EkQmBQwEAUIhb7Uk7+BdqCARlhxFvfWBZccUQ3LGx
	tQn/rPEtT0p4zCC1bEMhsByuz/9pPhI=
X-MC-Unique: x3eci9lSOgWDPXUA0CGWVA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=U8DW8IvAVTcxC6wgfYn0R+mvUxxMeHGuwbOHeSwqVwBdFolpCQ0vy4GV6IC02WsOHLJ+eRX/OiQ/tA6I2kKaRpfwo6VVuJFk3HxcNWZ5/0l6qESFzPPiRrVVO6j1/JdFC2o8SRsV/oyI7erd/iRZh3wrkVte4AM/m1D6ACtp3uZDUhqp/uzzp51n+twoGBbu+8dCCenYtlQeopKw+D0JbryNaQk/kXTCsATj4RJEyPlz8SkUMKraUTfH2LHTcINCsTM3SowuYwcxkBuxvcwGEFJKzAL2JMGWiPZIlYTF8ise0ixodcL1v6wZXLTzCMwJyimzM+uv8rOdVDo2ubR6ZA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nccBUsu0YhLaHkZcQr3GSGEk+O0A/XeeBP7y9LD1V9w=;
 b=DgaEzyIj9ETRTh0N3C6vK/fOI2ZEiTKZdIBBLtepjlyvvHM1Ad+s7/op1J5QVJFCJB8rrfb4Te6fxm/MpikMLRnGwGnqpvzsxeY01aOioMBzW/6/A1stmY3TVfaTncg1o5qNhlrFLBfaijrARI4gIzdT+buc05ZfFbblLsCab1nwSmaruF/qgk02OMaiPqrdGCWgkG9No4IKfIbulB2UBeATjMcN49P3CEbIgNFHk0E9DnFwjPrfrkkArasEsGXm2iEjJfv8G1AwpRceIBGbMnLpoxB/vLfCNB/vmQN6TWPiw1lg2+W6BXKcb3DATk6gtyTN0vk/hI+iASvvC7eAEQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <93baa5ae-57ae-ec99-2568-3692abb5e62a@suse.com>
Date: Thu, 27 Jan 2022 16:02:24 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Ping: [PATCH v3 1/2] IOMMU/x86: disallow device assignment to PoD
 guests
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Wei Liu <wl@xen.org>, Anthony Perard <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>, Paul Durrant <paul@xen.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <6fe7b036-2bdb-b391-4e6c-1b5d7e05a119@suse.com>
 <b0a77526-17f2-a5ab-6f7f-1b3caeb4a59b@suse.com>
In-Reply-To: <b0a77526-17f2-a5ab-6f7f-1b3caeb4a59b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR10CA0042.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:209:80::19) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ba16fbbd-41c7-41c6-847a-08d9e1a607a8
X-MS-TrafficTypeDiagnostic: PR3PR04MB7227:EE_
X-Microsoft-Antispam-PRVS:
	<PR3PR04MB722786ABE4F6D56A2B1D9341B3219@PR3PR04MB7227.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:
	sq1jX0+Mw68Xn2k3VV6i7+PoqCA+dTsxntTeH/aXnsPj/hBP2YUi7dms/BckfmxVo7Pfd6ztpI1ImlRfNBIVVQbE91rtBZX1F7aJOWCiR4Fx9E+jFuPfWYfuvpxh2L1sPWlAqEwgPlw46fO2vYjilr5IP9dGCEmGxTh50RrAsMfw/ny2oY1M2votPguc/6rPetmiH+X6K9BgDlzIXkTdpV6JnCLfBZD8y5yIBx4fnWhYnwi2LiG5DhNngq0UlGgG7QcmezN8oc0br05q7uQiATgMQrLRwLgKMVJcGLTVodxPXHh73a/sQV1FwuNs1UPJ5BMvI7CE8XputKghM3wb2G7iSpp9I+FtCZM0yb+VZl8por6KJ+DMw8jvB/4ViZB95E3rssFfdwRPD5XOl1tMNc0x95CI3RKqgu0ehU9dZM2cq9TXHLXHqTE4dduIVqXH97i9vYtKXkFRx7u6rBc9imbKiQbaw0T9CSxp7+aiGJJ6SgIABce9FrEZXPx/ex4jfEhoS129/nvM/c3ptiN6dDQIMPXiH4//5hEfwFo1xDOlYV8EPuBwABnWsU/CC8LJiX4Hu4Q2Mkikn0aZX0TLvCEmUHvlbSYhY9LoVtPHIJlLLE87GuR98p8TAM6f7dTl8yo4/gxeWzouAaREvA7EMbB/qqtmdFx9SMKVRqSYDD6hkUMg8JsReb9Mg8wdEmj7jf9HCv536xY1CNHoO77+z0DgqzfWHwl83pTu549rZQcvF/9ZAeUH3YgdpOS6qJ45
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:(13230001)(366004)(110136005)(54906003)(6512007)(316002)(7416002)(66946007)(38100700002)(5660300002)(2616005)(66476007)(31686004)(6506007)(53546011)(2906002)(186003)(6486002)(508600001)(26005)(66556008)(8936002)(8676002)(4326008)(31696002)(36756003)(86362001)(83380400001)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SVhBWk4veDRoWUF4RnRvbXlReWNRMkxUNGdkaHZzbWZ3c0lZZDZjMThFMHNr?=
 =?utf-8?B?akt5TTk2THFuUEk1eTg5ZkptUXVpNE81Ukl0bCtVaUFqcEVESHFmck9ob1Yx?=
 =?utf-8?B?TlA5YjRlSDg1SW9GMHJ6U0dzWHY3bitwOWVseVZFczRYRmt4RDN3aEh4N1NZ?=
 =?utf-8?B?K1hvNUhKTjUxSU0vb3hpOUxJaHQrZi80OG0yWDBkZFFUMG1kVS9ab05hMHpU?=
 =?utf-8?B?VHFuU1E5cmRxQVRNY09JVEg5RVlid3RpV0crTUNMa1JnbDZMSGpUSGxtQmx1?=
 =?utf-8?B?QXNzcGxrZzNtaXlwRk0wZWFmN3NMQWdXZnF2dVU2WUV3RjZuZG5Wd3JkaERt?=
 =?utf-8?B?YkFMaU0yZGFlaGRQVTVZaXdZWitqK3ZETFR3bHdaLzBuZHdkQVFCV3lQQlBD?=
 =?utf-8?B?dGJTVEJuU01zZzN0NnZzOExwRGxmTDh2SnYyZ29GMTJFMXM4Y1hMdGp4YUZ5?=
 =?utf-8?B?QkRkekRwcW9lM2l2bllFd1FtYisxVFloVmZNZXU3Y1hKNkF2QzI2K3F3UGpU?=
 =?utf-8?B?ZGI4YWpsTDVlYXV3K3BNamd0eUhtUjZGbGFpTldhR3RleEV1M29iRlZEMjRa?=
 =?utf-8?B?VFpaV01WSVE0Z2RuS1JhOEJGR3diekRNUjF5emV2bVBNZ3hrZ2ZLcjhvNmNx?=
 =?utf-8?B?d1JBVFdRWXE2Z3RWTzJpbUQveVBac1BXZmU0aDFnczFNenB2WWMrWXlWVVpG?=
 =?utf-8?B?bHg3TiszWlBVMGNpa09HMTJRWkVFZVl2N2QrRXVVLzkrTVZSd2p2aEhvN0dx?=
 =?utf-8?B?b0dqSjFFOXZJYmUrUURvRjRYVU1vTWRnSkN6SkppSXd2NXB2TXVoQ1JFU1lD?=
 =?utf-8?B?VDdKaUp4My93dnBYVlBUdTV3MVBIbmxZc3pieHBzYmZmMzk4YkhOcmoxWW04?=
 =?utf-8?B?aUdBOVlrc2hjdU9WWXRaV2hkUEdCYVlRd3ZNN25CeXFaTnd1SExIUzZ6ZmVF?=
 =?utf-8?B?bk5mWlBwRk9vLzdXcmMrU01xYzBQSU53THRIQ3ZGZS9uUWkwTmcwNVhEbmY5?=
 =?utf-8?B?b3l3S1g5ZHF2QzdTczE2NXM5VTZSdE1VVWVNNk9oMC9nK2xESTNLUThvaWM3?=
 =?utf-8?B?N0NxMTlDWnZDVGJSWkZCQ3NWcjZYYVpxbXNQdVYvSE9DUVBRaWJiQVJZMHN4?=
 =?utf-8?B?T3F1V0ZFU1pWVHk4UFVSNDJKTVhLUC80RzZPY1dsT3lkQWdpVk9KR2RKdzFo?=
 =?utf-8?B?VlE5NGlqTHV2OG53d2pNeURuYS9lUmpRNW9DZVFqRzNJbGFpb1AvQ1VRNHE4?=
 =?utf-8?B?ckYraXlJazRNREJHcGtZTmw0Q3VocGxYczlPU09XSERVaGFPVjRwS1IvOU1u?=
 =?utf-8?B?ckFIMiszT3RUaWtzTXpVSnpERTNVdjA5cnR2cysrWmtGOWJMZk1WN2lwbVFE?=
 =?utf-8?B?UnA3MEtSRCt4WnVxa3ZCdVpQZzBXQ092K2FtLy9WbmZLVHpjQitJQmlhK2tK?=
 =?utf-8?B?YUZZb29pQW5sU2wxcGh1R01sK0g3dVQ2TWtuWXFvYU1DZ1lpRzB4b2Uyanpn?=
 =?utf-8?B?VTVzZXVXeUY2bk82QnlUQUREN0hBMDg5aEhaYitESGVwTEdOcWtBbVl4R1Vj?=
 =?utf-8?B?N2dnV05NR1BNS1h2MWI1dkJJc3NCd1hReWJvaldsSThKKzQ4Vmt3VFg4aGdQ?=
 =?utf-8?B?QmRSWXluYWN2alEvTW9KR3gySGxtWjExVGV6anBOYlZxUTR6Y1E5Rzd0UUpz?=
 =?utf-8?B?UTNwVjBoSmZOZW5RWnNpazN0Y2FOcjUrMXRRZisrcHRWeVFGUnE1MjhnZC9p?=
 =?utf-8?B?cW1lRHZUd01RdUUyOUJ4NDFTN3dVOTU3bXBWVGRnVEUwMGlSUDFPZGVMNC9q?=
 =?utf-8?B?elhtVDNvcEtlZ3JSTkwreE1FSElGZDU5clg0NnZWOGJEUmNZU093K29nZ1dG?=
 =?utf-8?B?cTJvZEJqOVBBRjVrczNTSDg1ZWNPazhWak9jQ0piTUZOQUxOOGxvZjJxb0Vw?=
 =?utf-8?B?dVZJVnMzb1F4d0FxQTBib3k3RTZtdjdYd09mV0lXYWRCQ0I2U25PbXBZSTBk?=
 =?utf-8?B?SkN6MWRzQlRxYllsR0FSS3pLc3A2OGlGSGxMdlJFcW4yVmpVL2h4RGZZM1FZ?=
 =?utf-8?B?andHancvdy9YK010T1h4L2M0cmE5NkN2NElFamhLemZ3ZjVSOFNRZXpVYmZ3?=
 =?utf-8?B?K1l1TW1DSkZraXZEZkl2Y3NjNVIzbkFIWFV1bERvOThXbGlyYTRNM1NTNS9C?=
 =?utf-8?Q?2QQOUmpXX4B2/9GpSZgTdok=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ba16fbbd-41c7-41c6-847a-08d9e1a607a8
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 15:02:26.2065
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7pFmDKq7xG0wECZCKdLH+l4heoFDNP3l/Lr/EtLFPv2BJ/cCO2QeFKfCskYen9JNpsttyXCRJp7gnR3soiNyrQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7227

On 04.01.2022 10:41, Jan Beulich wrote:
> While it is okay for IOMMU page tables to get set up for guests starting
> in PoD mode, actual device assignment may only occur once all PoD
> entries have been removed from the P2M. So far this was enforced only
> for boot-time assignment, and only in the tool stack.
> 
> Also use the new function to replace p2m_pod_entry_count(): Its unlocked
> access to p2m->pod.entry_count wasn't really okay (irrespective of the
> result being stale by the time the caller gets to see it).
> 
> To allow the tool stack to see a consistent snapshot of PoD state, move
> the tail of XENMEM_{get,set}_pod_target handling into a function, adding
> proper locking there.
> 
> In libxl take the liberty to use the new local variable r also for a
> pre-existing call into libxc.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Ping? (Anthony, I realize you weren't Cc-ed on the original submission.)

Jan

> ---
> If p2m->pod.entry_count == p2m->pod.count it is in principle possible to
> permit device assignment by actively resolving all remaining PoD entries.
> 
> Initially I thought this was introduced by f89f555827a6 ("remove late
> (on-demand) construction of IOMMU page tables"), but without
> arch_iommu_use_permitted() checking for PoD I think the issue has been
> there before that.
> ---
> v3: In p2m_pod_set_mem_target() move check down.
> v2: New.
> 
> --- a/tools/libs/light/libxl_pci.c
> +++ b/tools/libs/light/libxl_pci.c
> @@ -1619,8 +1619,13 @@ void libxl__device_pci_add(libxl__egc *e
>      pas->callback = device_pci_add_stubdom_done;
>  
>      if (libxl__domain_type(gc, domid) == LIBXL_DOMAIN_TYPE_HVM) {
> -        rc = xc_test_assign_device(ctx->xch, domid, pci_encode_bdf(pci));
> -        if (rc) {
> +        int r;
> +        uint64_t cache, ents;
> +
> +        rc = ERROR_FAIL;
> +
> +        r = xc_test_assign_device(ctx->xch, domid, pci_encode_bdf(pci));
> +        if (r) {
>              LOGD(ERROR, domid,
>                   "PCI device %04x:%02x:%02x.%u %s?",
>                   pci->domain, pci->bus, pci->dev, pci->func,
> @@ -1628,6 +1633,22 @@ void libxl__device_pci_add(libxl__egc *e
>                   : "already assigned to a different guest");
>              goto out;
>          }
> +
> +        r = xc_domain_get_pod_target(ctx->xch, domid, NULL, &cache, &ents);
> +        if (r) {
> +            LOGED(ERROR, domid, "Cannot determine PoD status");
> +            goto out;
> +        }
> +        /*
> +         * In principle it is sufficient for the domain to have ballooned down
> +         * enough such that ents <= cache.  But any remaining entries would
> +         * need resolving first.  Until such time when this gets effected,
> +         * refuse assignment as long as any entries are left.
> +         */
> +        if (ents /* > cache */) {
> +            LOGD(ERROR, domid, "Cannot assign device with PoD still active");
> +            goto out;
> +        }
>      }
>  
>      rc = libxl__device_pci_setdefault(gc, domid, pci, !starting);
> --- a/xen/arch/x86/mm/p2m-pod.c
> +++ b/xen/arch/x86/mm/p2m-pod.c
> @@ -20,6 +20,7 @@
>   */
>  
>  #include <xen/event.h>
> +#include <xen/iocap.h>
>  #include <xen/ioreq.h>
>  #include <xen/mm.h>
>  #include <xen/sched.h>
> @@ -359,7 +360,10 @@ p2m_pod_set_mem_target(struct domain *d,
>  
>      ASSERT( pod_target >= p2m->pod.count );
>  
> -    ret = p2m_pod_set_cache_target(p2m, pod_target, 1/*preemptible*/);
> +    if ( has_arch_pdevs(d) || cache_flush_permitted(d) )
> +        ret = -ENOTEMPTY;
> +    else
> +        ret = p2m_pod_set_cache_target(p2m, pod_target, 1/*preemptible*/);
>  
>  out:
>      pod_unlock(p2m);
> @@ -367,6 +371,23 @@ out:
>      return ret;
>  }
>  
> +void p2m_pod_get_mem_target(const struct domain *d, xen_pod_target_t *target)
> +{
> +    struct p2m_domain *p2m = p2m_get_hostp2m(d);
> +
> +    ASSERT(is_hvm_domain(d));
> +
> +    pod_lock(p2m);
> +    lock_page_alloc(p2m);
> +
> +    target->tot_pages       = domain_tot_pages(d);
> +    target->pod_cache_pages = p2m->pod.count;
> +    target->pod_entries     = p2m->pod.entry_count;
> +
> +    unlock_page_alloc(p2m);
> +    pod_unlock(p2m);
> +}
> +
>  int p2m_pod_empty_cache(struct domain *d)
>  {
>      struct p2m_domain *p2m = p2m_get_hostp2m(d);
> @@ -1384,6 +1405,9 @@ guest_physmap_mark_populate_on_demand(st
>      if ( !paging_mode_translate(d) )
>          return -EINVAL;
>  
> +    if ( has_arch_pdevs(d) || cache_flush_permitted(d) )
> +        return -ENOTEMPTY;
> +
>      do {
>          rc = mark_populate_on_demand(d, gfn, chunk_order);
>  
> @@ -1405,3 +1429,20 @@ void p2m_pod_init(struct p2m_domain *p2m
>      for ( i = 0; i < ARRAY_SIZE(p2m->pod.mrp.list); ++i )
>          p2m->pod.mrp.list[i] = gfn_x(INVALID_GFN);
>  }
> +
> +bool p2m_pod_active(const struct domain *d)
> +{
> +    struct p2m_domain *p2m;
> +    bool res;
> +
> +    if ( !is_hvm_domain(d) )
> +        return false;
> +
> +    p2m = p2m_get_hostp2m(d);
> +
> +    pod_lock(p2m);
> +    res = p2m->pod.entry_count | p2m->pod.count;
> +    pod_unlock(p2m);
> +
> +    return res;
> +}
> --- a/xen/arch/x86/mm.c
> +++ b/xen/arch/x86/mm.c
> @@ -4778,7 +4778,6 @@ long arch_memory_op(unsigned long cmd, X
>      {
>          xen_pod_target_t target;
>          struct domain *d;
> -        struct p2m_domain *p2m;
>  
>          if ( copy_from_guest(&target, arg, 1) )
>              return -EFAULT;
> @@ -4787,7 +4786,9 @@ long arch_memory_op(unsigned long cmd, X
>          if ( d == NULL )
>              return -ESRCH;
>  
> -        if ( cmd == XENMEM_set_pod_target )
> +        if ( !is_hvm_domain(d) )
> +            rc = -EINVAL;
> +        else if ( cmd == XENMEM_set_pod_target )
>              rc = xsm_set_pod_target(XSM_PRIV, d);
>          else
>              rc = xsm_get_pod_target(XSM_PRIV, d);
> @@ -4813,10 +4814,7 @@ long arch_memory_op(unsigned long cmd, X
>          }
>          else if ( rc >= 0 )
>          {
> -            p2m = p2m_get_hostp2m(d);
> -            target.tot_pages       = domain_tot_pages(d);
> -            target.pod_cache_pages = p2m->pod.count;
> -            target.pod_entries     = p2m->pod.entry_count;
> +            p2m_pod_get_mem_target(d, &target);
>  
>              if ( __copy_to_guest(arg, &target, 1) )
>              {
> --- a/xen/common/vm_event.c
> +++ b/xen/common/vm_event.c
> @@ -639,7 +639,7 @@ int vm_event_domctl(struct domain *d, st
>  
>              rc = -EXDEV;
>              /* Disallow paging in a PoD guest */
> -            if ( p2m_pod_entry_count(p2m_get_hostp2m(d)) )
> +            if ( p2m_pod_active(d) )
>                  break;
>  
>              /* domain_pause() not required here, see XSA-99 */
> --- a/xen/drivers/passthrough/x86/iommu.c
> +++ b/xen/drivers/passthrough/x86/iommu.c
> @@ -454,11 +454,12 @@ bool arch_iommu_use_permitted(const stru
>  {
>      /*
>       * Prevent device assign if mem paging, mem sharing or log-dirty
> -     * have been enabled for this domain.
> +     * have been enabled for this domain, or if PoD is still in active use.
>       */
>      return d == dom_io ||
>             (likely(!mem_sharing_enabled(d)) &&
>              likely(!mem_paging_enabled(d)) &&
> +            likely(!p2m_pod_active(d)) &&
>              likely(!p2m_get_hostp2m(d)->global_logdirty));
>  }
>  
> --- a/xen/arch/x86/include/asm/p2m.h
> +++ b/xen/arch/x86/include/asm/p2m.h
> @@ -661,6 +661,12 @@ int p2m_pod_empty_cache(struct domain *d
>   * domain matches target */
>  int p2m_pod_set_mem_target(struct domain *d, unsigned long target);
>  
> +/* Obtain a consistent snapshot of PoD related domain state. */
> +void p2m_pod_get_mem_target(const struct domain *d, xen_pod_target_t *target);
> +
> +/* Check whether PoD is (still) active in a domain. */
> +bool p2m_pod_active(const struct domain *d);
> +
>  /* Scan pod cache when offline/broken page triggered */
>  int
>  p2m_pod_offline_or_broken_hit(struct page_info *p);
> @@ -669,11 +675,6 @@ p2m_pod_offline_or_broken_hit(struct pag
>  void
>  p2m_pod_offline_or_broken_replace(struct page_info *p);
>  
> -static inline long p2m_pod_entry_count(const struct p2m_domain *p2m)
> -{
> -    return p2m->pod.entry_count;
> -}
> -
>  void p2m_pod_init(struct p2m_domain *p2m);
>  
>  #else
> @@ -689,6 +690,11 @@ static inline int p2m_pod_empty_cache(st
>      return 0;
>  }
>  
> +static inline bool p2m_pod_active(const struct domain *d)
> +{
> +    return false;
> +}
> +
>  static inline int p2m_pod_offline_or_broken_hit(struct page_info *p)
>  {
>      return 0;
> @@ -699,11 +705,6 @@ static inline void p2m_pod_offline_or_br
>      ASSERT_UNREACHABLE();
>  }
>  
> -static inline long p2m_pod_entry_count(const struct p2m_domain *p2m)
> -{
> -    return 0;
> -}
> -
>  static inline void p2m_pod_init(struct p2m_domain *p2m) {}
>  
>  #endif
> 
> 



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 15:03:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 15:03:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261533.452939 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD6J1-0001ec-Bt; Thu, 27 Jan 2022 15:03:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261533.452939; Thu, 27 Jan 2022 15:03:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD6J1-0001eV-8f; Thu, 27 Jan 2022 15:03:23 +0000
Received: by outflank-mailman (input) for mailman id 261533;
 Thu, 27 Jan 2022 15:03:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD6Iz-0001eD-VM
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 15:03:21 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4419e913-7f82-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 16:03:21 +0100 (CET)
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur03lp2055.outbound.protection.outlook.com [104.47.8.55]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-35-_WFbRH74M6CLUq2D5yVjYg-1; Thu, 27 Jan 2022 16:03:18 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM6PR04MB6759.eurprd04.prod.outlook.com (2603:10a6:20b:d8::27)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 15:03:16 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 15: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>
X-Inumbo-ID: 4419e913-7f82-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643295800;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=tAsZ1INTzuG72sYTQK15mT+SFnZ9SnW+BPZRRBe+xys=;
	b=kShq4aDLZlT/UcGBEaGyvJR1zpN/PqxRM4MQxpRtLSnhM2kJhIFsa+4zI4vLlDz4g2S+R3
	nfj7DjCU5U5LtydoSffi/P8dOyP6Dj5VITspy1/H43pYqgwgGLbWEJBZ+9XO4uddSWTvLZ
	LAIYynORmokd5FBDu210Vi5uJnbGK8w=
X-MC-Unique: _WFbRH74M6CLUq2D5yVjYg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=H7erZQjzedGN+JaOrPrSkxKyekOrWP8Zz8X90u0Gn3+++Lit4q3v434GSXZ0uCp54NeR0Z4qECAEW7JaQz8PI2ZCcFPaKAc9+OZog5LPMlCY7jHrv9+umUtbYE+WZle2kmXzrKndmf+hqmGNUQy/Nl6ZkCix7pFbk2rUc+xJw9ArOmFbBHpZQ9rM/ynDq2NIdyX6erOSYnUZjbuGrBsQr02fx94kh52Mb8aJFqbKKVRdOA/RbO0BCkvLMIOyizw5/7MQscRfkb4k/+09aHoDsXsMkjofZeGbdx2mNG+7ljPjyRnK5gSzIc2zzbHRFcUMGZTXCxl9RenOQBsegnSQtA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tAsZ1INTzuG72sYTQK15mT+SFnZ9SnW+BPZRRBe+xys=;
 b=HeKMnRQpRYnPU3/qEFHF5UqM9er4I8SDgG80rti3Tc8PFD9/kOO72wo4Ti1QZVvgaBW7w7o9OEhgAzSEIgazh3Bpm2qQtgIxginnWos0CB1e+raOEQrtLvVRGbFrXcDBLSrRDZO0HtQpLvU/xAKiGX4gFwDpIevqGQptgNS42wfvnba+CxUO3ZhDPhyqjySCf9x1jrD+w8zCz3YgMuYbR2nZDqRPO6xnjosZZuNzvxFVRyjHWlYQFB1CElDlOvYTHwg1oTVM6xLrZyRecxsIZV7HUggkNx1RR3tuYcPnaDyC+RQc5Bf5c1dF/XtKqkkFjmUdHmsd5dHpvnhi32cT5A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <eb29d7cf-17ab-8fc9-cc12-789ba5cd0ca1@suse.com>
Date: Thu, 27 Jan 2022 16:03:15 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Ping: [PATCH v3 2/2] x86/mm: tidy XENMEM_{get,set}_pod_target
 handling
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: Wei Liu <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <6fe7b036-2bdb-b391-4e6c-1b5d7e05a119@suse.com>
 <8cba4cd0-d218-da1b-dcea-4cc3047c0946@suse.com>
In-Reply-To: <8cba4cd0-d218-da1b-dcea-4cc3047c0946@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR10CA0064.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:209:80::41) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: fa19871d-4b5c-4e98-e0a0-08d9e1a625c8
X-MS-TrafficTypeDiagnostic: AM6PR04MB6759:EE_
X-Microsoft-Antispam-PRVS:
	<AM6PR04MB6759BDEAA0F10A88E953CD8FB3219@AM6PR04MB6759.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:419;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QWLX8J78Bo+tK6rsqSHaqJ40FUCfoJTQkB3nlM4W2YbVKmgYbqacCoDbcNrjPp/5oo4DsMnz3cwfQEEhJrO1gFMiM030ghnMD20BC9fu0fhhbloPHN90iq9058s4+OwlhlmfR3aNGm93vfQiH5UukKOvdH6nCSvTOJ1xSTsSpOzhigdYyzmCt+m51xNrZvYR7hKX/ypR9J/7GGqPV2kYZJ+XNZ7DBtO+6PId690JBUZIbfZRhGSmiaJIN1Ip6uIZc4FzVcQ88xJ0/4DZxLJl4/3LEeghmz98ox9Pn7UhUhDPNzuhi7yzQdYHU5+C/u3FfisiLP20c6oubQrVMkcpqqT97BHkbj12xmsj7aU/qn+VW8iYTLqxvzLpVLXmycy3tAL+kDdNPRWQShWLaIojnY5EVzOATi7L9hEyh+3d9oul9BqEF2n7acS4f/BQ5yr2bNE/qb7mon6J1R+yNtaQk7axFUKl4BrGiSkgvkf4qU4rNUVF4MhSY3ZtWAk46u/vruLTmEGTNlMWDzdMuhaLrsyhp1sGyppbIFn0xhnBTCVYqSvQbimEW/eHS5iO4yjBLwdsOS3h4urPlcQdg8F9BqeJ4XEQoDTqQwSJ2uyq4rOzOjIAJRK5AoJ8TYs3HX3IuOEIwSitSw7lLaJqY7OO0FeN6HQnWYdPcY2TFrcg4+xlem3eKRqH52KEe3lNWVNdY802UxEYiZ96VM1UUiFSyZ8us4WpHPRmT7EUa+I9I4SJ1vi4h1DoNauyRp+EO8EK
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:(13230001)(366004)(54906003)(6486002)(86362001)(31686004)(2616005)(36756003)(38100700002)(186003)(26005)(110136005)(316002)(6512007)(31696002)(508600001)(4326008)(8676002)(5660300002)(66476007)(66556008)(66946007)(8936002)(2906002)(6506007)(83380400001)(53546011)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eU8wUWhsQVdXQzRuOUpaVEU1T2kybkZkMFJaaXpTK29oazJWcTF0MUlYTTlz?=
 =?utf-8?B?SUhDLzhGcUpwSzdLUm1kWkh0a0c2bkppZk5laG5zUkh6L3RjR091alFWdWxM?=
 =?utf-8?B?NFQ2c2dzQ0FOSk1kS0hFK2RDMjdoTmd5ck83dU02NnBzUWtReHh2OUZOdFI5?=
 =?utf-8?B?cnkvdkwxUnUrT1JsSTZwRmFkYm5hSEdtNUVUNVNzT1dkQWJjd1NPRytPZlJj?=
 =?utf-8?B?RVR4N3lsckJIdU0yYjdXVnIrb0wrNkhjTmpSMmp5NnF4bnZPMHl5RUoyTEFj?=
 =?utf-8?B?aUlLQjNBTXlBV3kxd1JnUXp5YWltRkFub29zK09jQXFKS1NGQ21MNUgzajB6?=
 =?utf-8?B?dnZqeW80c0JyZmRTbWtoQTJUWHIrVU1BTDlJdnp3V3c0OVMrdVdJc1RJYWk2?=
 =?utf-8?B?d2ZTb3A0WTRkYmJIQXRKM0FkNzVRSWZ4cDFGVkpwTXBiNG92eUxOeHY4Z1g4?=
 =?utf-8?B?WmVhd1crOVpXWWQxY1VDOE5ZM1g1N0xjZ0tKV0ovMDBUdFVUQUtNM1I4M1V2?=
 =?utf-8?B?ZHduckJFR1dmSUk0SFFQU3dzeUJjWFRORGcxcEdycHc4cUw1ejZ4SkhCL1Nm?=
 =?utf-8?B?dDI2U1ZHcHRFUXhkTjdrWWFlbWFTY2ZkdDZRNzBqb3A5Z05GNlpNOUZ5L1Bl?=
 =?utf-8?B?UDZFbk1FMi9SMmJTdml0NFFFVTN2ZUxzeS8rWWRjV0djU2pXQmNNVWU2NlhT?=
 =?utf-8?B?M0wvNUtwdG55QlJLMFowZ2R5UlpONmhEWE9WZUV3b3ZOREZ2QVJMclBiT0Vw?=
 =?utf-8?B?NjVvcjNsdWJlUnA2ajYzN2hEczdJZ2s1ZzVEdWIya0JodDdteCtQQ21SY0ps?=
 =?utf-8?B?b0k2M3J4dGdJTGRWbUhWbkVhRmMvNERiSit5bjZzU21lMXRMVEh5SHJ6d1RU?=
 =?utf-8?B?QVRRZ1hUYjlNdUx5WVQyc2RyVXlXSERPUUV5Z3NhYUJMVUtKT3FBQ3ZOZ01X?=
 =?utf-8?B?b3l1NnUxek4vZk1EZnBQV1NndlFpZzZxckJNb0U4bEJHTVJuSTlzS1ZJOHJk?=
 =?utf-8?B?a0VhSlJJL2JHRi9ibjE3MWRrUFpyTW13QUFsRjRxR2tHeGh5Wk9jUW5GUzJZ?=
 =?utf-8?B?NXRaL1krSi9ZWnFDQ25ZVVIyaEZING4rTkFySjFpb1FRS3l0U1FqbHVaNHRt?=
 =?utf-8?B?eUUrTStCVWU1bVA2S05iall5bHltaE9nMzIyOG9ENkFqRXk1cGQ4U0RJbHZk?=
 =?utf-8?B?MlVFK25scFY2UllvY0RNblkvanVVRkM0NTFLMFF3OGhvVUR3aGxheE11RGpq?=
 =?utf-8?B?WmtEUTFibDljaXNid1pxcEdEbTJsVlB3UWpFOVNYRDc0ZEg0SXcwRkFLU0pl?=
 =?utf-8?B?b1d3R084RmxKVDBpR0JuU1orRHVLeVdybGVtOXNtclZyTUJUMGlmRFo4TDdp?=
 =?utf-8?B?dnBOSDJXT1hKZ3RiaFUxMmVkL3VqUzVxemxNWUFvRGl2Uytaamt4VjV0V3lL?=
 =?utf-8?B?UGlNajkvNGY4SDl4dU1QMUFldXR2b0VVSmE2dnp0WGc0U1l0UExEMHF5aXE1?=
 =?utf-8?B?VHVENHFJMERDT25CbHEzdmV2Sng4c1B0UGxBUFlVUHBNcEw4eWtiODYvMjU2?=
 =?utf-8?B?VldlU2lKTTN3cXhOd2pSUDRJWHNXdTBjTjRwdDgrL21ZVlkyVHRlaG13WGla?=
 =?utf-8?B?NTZmMUJQTTNZZGdoUGlabHJSOWVQRlVWZ0ExRjFPSEl1SFpaeGc2V2hBYmVw?=
 =?utf-8?B?VXR4Smh0UTJBc25ZRm9OTG54Vmw4UlRkdEZzWjFxNEprK0FaUm8yTXBlbEwx?=
 =?utf-8?B?Lyt2cC9sNmpoOFJ6SmtFMkpkb0tIdmJzZlpsSEVGRmlwMzlPWDhqYUxwYVdM?=
 =?utf-8?B?bjZKeTgrSWtGUC9rWHVMRFJqOTl2NlpHalE0di9KeVp6SSsvcE16UmV0SENo?=
 =?utf-8?B?M2Y3alRnZ3Q5S0R1bFNBK1V5cXV2MnVJMk5sQW1RK3NJaHpPUmtzVVQ4b0xU?=
 =?utf-8?B?V0V4MFNvSVdZUlRDZnJmck5ZQ3JOSWRDd1NoaWVrdjFlbWJSakFQcGxxczdw?=
 =?utf-8?B?Tk1nbGJ2ekxNdGxGT2Y2YWFkOGFHaWl4SlpFTUtFZlp1VUorWk5oQzZDTHN6?=
 =?utf-8?B?TFI4S05JZHJLNnptSTZwSkM3eGhFeWQ5dGlGNFRBT01wOUxDbnVsQWQvOUNK?=
 =?utf-8?B?V2pMaDU1dWxNWGlNNTlvOC9YZExqVlBPRC9icXVCR1dvSGRHUTU0ZUxCNTEx?=
 =?utf-8?Q?y6oDe8Qi2yuXApcTjhPy7y8=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fa19871d-4b5c-4e98-e0a0-08d9e1a625c8
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 15:03:16.5940
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: g6CvT81LZhcOFjUbXngHFLykn25o7onyuKZCrPKS9GMA8BecwsHaRCXYOw5IjUJMcP928DTucikOQBRZXWFbgw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB6759

On 04.01.2022 10:41, Jan Beulich wrote:
> Do away with the "pod_target_out_unlock" label. In particular by folding
> if()-s, the logic can be expressed with less code (and no goto-s) this
> way.
> 
> Limit scope of "p2m", constifying it at the same time.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Ping?

Jan

> --- a/xen/arch/x86/mm.c
> +++ b/xen/arch/x86/mm.c
> @@ -4789,23 +4789,17 @@ long arch_memory_op(unsigned long cmd, X
>          if ( !is_hvm_domain(d) )
>              rc = -EINVAL;
>          else if ( cmd == XENMEM_set_pod_target )
> -            rc = xsm_set_pod_target(XSM_PRIV, d);
> -        else
> -            rc = xsm_get_pod_target(XSM_PRIV, d);
> -
> -        if ( rc != 0 )
> -            goto pod_target_out_unlock;
> -
> -        if ( cmd == XENMEM_set_pod_target )
>          {
> -            if ( target.target_pages > d->max_pages )
> -            {
> +            rc = xsm_set_pod_target(XSM_PRIV, d);
> +            if ( rc )
> +                ASSERT(rc < 0);
> +            else if ( target.target_pages > d->max_pages )
>                  rc = -EINVAL;
> -                goto pod_target_out_unlock;
> -            }
> -
> -            rc = p2m_pod_set_mem_target(d, target.target_pages);
> +            else
> +                rc = p2m_pod_set_mem_target(d, target.target_pages);
>          }
> +        else
> +            rc = xsm_get_pod_target(XSM_PRIV, d);
>  
>          if ( rc == -ERESTART )
>          {
> @@ -4817,13 +4811,9 @@ long arch_memory_op(unsigned long cmd, X
>              p2m_pod_get_mem_target(d, &target);
>  
>              if ( __copy_to_guest(arg, &target, 1) )
> -            {
> -                rc= -EFAULT;
> -                goto pod_target_out_unlock;
> -            }
> +                rc = -EFAULT;
>          }
>  
> -    pod_target_out_unlock:
>          rcu_unlock_domain(d);
>          return rc;
>      }
> 
> 



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 15:04:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 15:04:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261539.452950 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD6Jo-0002FK-Qn; Thu, 27 Jan 2022 15:04:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261539.452950; Thu, 27 Jan 2022 15:04:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD6Jo-0002FD-Ne; Thu, 27 Jan 2022 15:04:12 +0000
Received: by outflank-mailman (input) for mailman id 261539;
 Thu, 27 Jan 2022 15:04:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD6Jm-000262-CO
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 15:04:10 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 611e96a5-7f82-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 16:04:09 +0100 (CET)
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur03lp2057.outbound.protection.outlook.com [104.47.8.57]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-31-ITSv14fwOvCZ_IueZgcWUA-1; Thu, 27 Jan 2022 16:04:08 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM6PR04MB6759.eurprd04.prod.outlook.com (2603:10a6:20b:d8::27)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 15:04:05 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 15:04:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 611e96a5-7f82-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643295849;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=1/eJQ7ucRYOgu4tEr/tg4FmbXpCLdpuA78wG+MCPCTI=;
	b=A2ZfYie6TGYwEE0yZ4n0I8QSTWk2gcFvPpmQQ+FBTwk5yLXcvcuw6+PDjTz+MzkAoqrKXA
	ul92MOV3oU1SYOTO54fdgjM93nzz9Wu4EIZ31eWmFb9OrsJiu9dd2k/oRNGq0lNTmlUw3X
	ADxWSdZUFSB5F8LUR6PECtldCGyqwZg=
X-MC-Unique: ITSv14fwOvCZ_IueZgcWUA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eveOxcK4q2qzBsxmfbPv33ucXLQPFOZuwTOpWNLFrlYilyumi0Gryd9sjicfAFfSNhV7yFJ0gElLzyhGhv+sED1JlyoHghzRc6v/vIUDxdVxKq/AJxfTr3AzqoHCVo/KhK4hxCcrUq08jnhdYqpfFI04LLBm+jNBXa8crDDU/D7wjiTCrEhPjL0p7kXjN26vjKh3gVeoW3mn/d7zMAOXhRVuEXQrR/LzCjE3GZwWH6tg0smgMgcKF+9XE9R5TcsID8fHNf5OBa5mo1IJmwas1IbQ1sTFgS7JEK7sp7ELaSaPuiAb9bRQjMVEsjWFe1ORE0sB5T/ESe/IGQHVEFtKFg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1/eJQ7ucRYOgu4tEr/tg4FmbXpCLdpuA78wG+MCPCTI=;
 b=iiIGRHzSmNccKiecPoE22Vy/wCKySgmTR3ZAenBn61dzGTkSWRdfVdftMbTyl/PXMVKLfYOJPKEpNIbW/K4+B0cuDe/ODMMX9JetYB4070SinO4h5r/73Mqw2Oxho1RNEJsQcRPV97Ni1DH0OlCwBf+wwWlr/+F1UPMghHFf9bv7PLv8mCBKwxWFZpM8bnjwXKKuq32ld89TEt+RNAK77awgHOpOWVLGvUxUhidmLtW8fIwUMi1h7/66F2cVRVqhSBbsg89m8WQ9BaZdGK6gJEkMBYSyU9ZTI5jCZ3b8bN3P1DhQPHOJL/urEYalTI7X7IsJU3bfHgC0gNlnfCRnTQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d60d879b-faa8-415e-cffa-c7e05da2814a@suse.com>
Date: Thu, 27 Jan 2022 16:04:04 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Ping: [PATCH v2 1/3] x86/PoD: simplify / improve p2m_pod_cache_add()
Content-Language: en-US
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>, George Dunlap <george.dunlap@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <e9257e96-ede9-2809-9a77-fd4dc206badc@suse.com>
 <0c61e460-122c-6486-00b7-22a9a24ee1fc@suse.com>
In-Reply-To: <0c61e460-122c-6486-00b7-22a9a24ee1fc@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR0201CA0001.eurprd02.prod.outlook.com
 (2603:10a6:203:3d::11) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a0d03e8e-b91d-4cca-c313-08d9e1a642e7
X-MS-TrafficTypeDiagnostic: AM6PR04MB6759:EE_
X-Microsoft-Antispam-PRVS:
	<AM6PR04MB6759D6A9A4F46A0BDB1D189CB3219@AM6PR04MB6759.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:619;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NlTZacNzYPQcJf9qgNMWw+9Rd+2joRq1iif4h3A9Dug9eH+84e1QniO7B6B8eydnRLXH7/PAP5b0WGuMLywoZIWtsQp9bgiYBUdnPj5sgBjcKsXmhTapAovzydHbJ/Hx8jXvas78BYY1DOK+qBKaBTvxlsWCtBnUEL4jIqjxpuGA1Vxbkq5WWnjPNzWWUP4hItVsPB50TsvO8mu/LmERyIEubDtFP+H8oEtrGjNuVpISQNG+0NfVNbOo3Wwda/86YpLJb17jm6tYuFFbqnWSsbdAJjb4cHL9OzDq0LcKCJhgf9qOmputn06hHVLOZNJ2e9yKb/pMblxws6KXc2YjAMmayLbeaCQEJpZ0yOsHvioQCl4aR1ZJqVBZ1NItOX2QdoCgxx7B7+hUjHm9PeMSyvlH6FxFAeAW33mQNzkDrASm28AWd3rCAsxFjse9LlXgYbvjCDdiFAm9d3kGVjN+LCQ3MjUBB3/sd/GGvs2bHaWTV7TttWbcnczDHnbrI2cZRJmM8D0qcFFu4in/48+AvJJjxtG314MYtMy/cSqUl+VXLUGqCi5eVWchIcrgJB+lk3S0pgveNLwiBVoFjQGXQPsVez85do4O4OUeFpTGHRGzaKNWYRLpWOOYIjWudJg525wVGO70fGVaPkhWb624rIpiCqxBpqrQfXuOPzFz9JoAIOvd5vcy2jBO4g66OydC14NDwgO0JkhbdANPiHNWL71ltVc07iFFcvRVFMLwITgdA6Nu86GRKlLaTuM+340z
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:(13230001)(366004)(54906003)(6486002)(86362001)(6916009)(31686004)(2616005)(36756003)(38100700002)(186003)(26005)(6512007)(31696002)(498600001)(4326008)(8676002)(5660300002)(66476007)(66556008)(66946007)(8936002)(2906002)(6506007)(83380400001)(53546011)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UnVlSW0rd1VRaDJwQmo0TU1McUZkVnBVNlZ6T0tnbFd6VGhkc3dPajZVcFk4?=
 =?utf-8?B?UWlpU0o4VVFSd0tZVGh2LzIzMFl3ckREWFV0NGdBazFMVlE3VjFOWklLSHc3?=
 =?utf-8?B?YTM3d3g1V0pRWW5tUjBZZkEvS1R6a2VWeDdLMTRzSGJ4MFFpcFJ1ZTg3bzNG?=
 =?utf-8?B?Q1oxNmRzOTN6Vkc0b2hsTzRQaE8wdURpWU5lUWpQYjV2M0JvR1l4TFJ6K1dV?=
 =?utf-8?B?QllyeEhKWWJwZS9lRjJLQVpoZzZWaTllVHAzNS9wdU54eko5a2ZiamtFKzM2?=
 =?utf-8?B?akFGOWtsclUzU0VkUFpYRndZQnNCOTZyTGZyc2pmYThZbXlxdTJRNmxxT0xh?=
 =?utf-8?B?WFNNa1FMRmxQajlBSDdKaGgweTZ2bC8zVFZMS3ZJRlMvM2hTL0Y0aFBLVTYy?=
 =?utf-8?B?Z084ekxSbFVaSnloV3BFZW5KQWlXcUp0eWJidXo0V012ZElYWGg4cXVVTnNQ?=
 =?utf-8?B?aVkyT2RvZzRPWmFVMzNCK2JvekpNQ3Z4S2lDakFiU21LUkluQlRYbnlUTTRY?=
 =?utf-8?B?NXlrUFYrZHdVUUhpSlBDYjdTL05rT0dLbGdBZjY5WXVCdi9aK0lxYmtJZDFi?=
 =?utf-8?B?VnBhamdwNzdmdms1d2NKMld2Q2xCcTRqbkNWQkV4OWdzNVJpcUhVR0MwMU5O?=
 =?utf-8?B?VVEva2o0S2ZvU2M3Mm0wSm5LTHErQlYzQW1LeHZwT0ZqaTRrTzkyUDUzbXpi?=
 =?utf-8?B?ck5MeGFKQ1ErZGJNTERsQzg2NFBQcGhOTzBkcmh0b29pZWQrVGVGNHYrQVZs?=
 =?utf-8?B?UUpSbXVFVFlLYzlYeHQ0LytsMWJLakkvL0xNTERSV2NHdVpFeGpvN0tjbFNY?=
 =?utf-8?B?RFFVTEsrTUlHdnpiWEJSMGxDME9jNW9wUW9SaHpMVndMTUZSM2RlRlVIT3pw?=
 =?utf-8?B?a0ljTzhBWnZLeStoSVlGN1Nad0VUSThGTWttSDZoQkptZGlycDRnaVF0blU4?=
 =?utf-8?B?Wm80S1pvYVBRVnlLbDFvdnEwcDBCT0dyeG1mdWFQZ2FkTk5zVDZVOHhrS0c0?=
 =?utf-8?B?L2tzU1FqcnFCR0Y5eFhwWVA0QjgwM29rVitEY012NmVRN1drNGcxd3hUZGU4?=
 =?utf-8?B?UjZ6dXFGcGw2eDB2YzMvUkF6d0h3OVVlYlJuQS8rUnFLNnNPWjRaYjZ5ejhu?=
 =?utf-8?B?VHNSZmVISldYbUQ1MVRnb2Q2WkxXaklxQlN6a3FiZEorak80SXl6ZTRRN3ls?=
 =?utf-8?B?RlNMR01yRmJMTVZSckNtQmVjdk5CeURmSkVna1FRVEhoOHNnZ2tZM3BObXRM?=
 =?utf-8?B?bW1BZi8zZjNxeXZ5RDFTcy9ZQ3g4cmNvQkJhVGM0cE51QzRESnRzVkc3dEpS?=
 =?utf-8?B?K0JjdklvaWFqZUliOFgzQjVzN0t5ZU1HTjBnNGh0Rkx2ZWN6Z3hTaEFUay9J?=
 =?utf-8?B?LzUrQzdKd0xlbG9uWGxoUXR3cE8xdjFUc1ZoWGJaVGZMdjcrMVZzOHNDc1Zp?=
 =?utf-8?B?Zk1IcEZVVTZFWTkrQ2hCSzdLY3FBYk1MQzB0YXJhY0tYUnkwVTRtQzBobzJ2?=
 =?utf-8?B?OU9nRnVKUi9tSnNGTHhoY25wRlZVK1puQ3hxU0x4RThkRnVMWXNYMkZZT0JY?=
 =?utf-8?B?VXRsZkFmN3NvSWtqb01oRGtMdzhOR0lGbjJXR25hQ3ZuSWFHbTVlRGZlSExu?=
 =?utf-8?B?c0NBT2JzazBFM2xaTXQ3QWFLck5nK3Nyd3BubENmRFVwL0o0bkk3dTlia2xC?=
 =?utf-8?B?WDJLbkpKT2VtNkJacjJkTkRPdkpIM3VsMGNVWlVoK1haMzdaQ1RqY2NGR0lO?=
 =?utf-8?B?NjVaLzRMeGdRTDZYVlliS2kzQ0VVSVJzZTk1NnF5M0JvWC9LanNRcnY1N000?=
 =?utf-8?B?a0VGQmIvNjJIbFBOVm9zTGR3Y0srZXJud0lYOGtoU2xVVmZKbUJTaXNlSFEv?=
 =?utf-8?B?VWVlaDlaRHd3QUVtaTJad2liV0k1cDg3Zy91bGFkUVI1TndTSm03MC91WGll?=
 =?utf-8?B?allzMC92RXBUdllHUERIL2ptUnlCd0NGMG80czQvYWI4NE9lemJ2TlpvSVJa?=
 =?utf-8?B?QXk1K3d5VkljbG9pejlQM3BHQTlTcGwzeWI3bnM3VnVjTW12TnI2eUo1UnBH?=
 =?utf-8?B?b1J5YVh4cFk2N2VXUkV5ejBjRWlsQUxDL1JpMjl1aG0yWFZiby9LRmprb0xv?=
 =?utf-8?B?cTZwbGFZNTNPdHhMMlFOVDE4Rm8zYWIzYndYMmRSZWdveURhVjlKWWJJKzAx?=
 =?utf-8?Q?E5C3JyWyZeDknubPvDP9M8Y=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a0d03e8e-b91d-4cca-c313-08d9e1a642e7
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 15:04:05.4660
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3Cgcjfk3Klm+cSbZFFxLzPcNVdKbrAudhJPuS3TXTfrdXwMSDNeONbGtBTU4OWqfFT1zZFOxYGJUBJDThLk1fw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB6759

On 04.01.2022 10:48, Jan Beulich wrote:
> Avoid recurring MFN -> page or page -> MFN translations. Drop the pretty
> pointless local variable "p". Make sure the MFN logged in a debugging
> error message is actually the offending one. Return negative errno
> values rather than -1 (presently no caller really cares, but imo this
> should change). Adjust style.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> v2: Return -errno. Drop exclamation mark from log message.

Ping?

> --- a/xen/arch/x86/mm/p2m-pod.c
> +++ b/xen/arch/x86/mm/p2m-pod.c
> @@ -58,34 +58,27 @@ p2m_pod_cache_add(struct p2m_domain *p2m
>                    unsigned int order)
>  {
>      unsigned long i;
> -    struct page_info *p;
>      struct domain *d = p2m->domain;
> +    mfn_t mfn = page_to_mfn(page);
>  
>  #ifndef NDEBUG
> -    mfn_t mfn;
> -
> -    mfn = page_to_mfn(page);
> -
>      /* Check to make sure this is a contiguous region */
>      if ( mfn_x(mfn) & ((1UL << order) - 1) )
>      {
>          printk("%s: mfn %lx not aligned order %u! (mask %lx)\n",
>                 __func__, mfn_x(mfn), order, ((1UL << order) - 1));
> -        return -1;
> +        return -EINVAL;
>      }
>  
> -    for ( i = 0; i < 1UL << order ; i++)
> +    for ( i = 0; i < (1UL << order); i++)
>      {
> -        struct domain * od;
> +        const struct domain *od = page_get_owner(page + i);
>  
> -        p = mfn_to_page(mfn_add(mfn, i));
> -        od = page_get_owner(p);
>          if ( od != d )
>          {
> -            printk("%s: mfn %lx expected owner d%d, got owner d%d!\n",
> -                   __func__, mfn_x(mfn), d->domain_id,
> -                   od ? od->domain_id : -1);
> -            return -1;
> +            printk("%s: mfn %lx owner: expected %pd, got %pd\n",
> +                   __func__, mfn_x(mfn) + i, d, od);
> +            return -EACCES;
>          }
>      }
>  #endif
> @@ -98,16 +91,12 @@ p2m_pod_cache_add(struct p2m_domain *p2m
>       * promise to provide zero pages. So we scrub pages before using.
>       */
>      for ( i = 0; i < (1UL << order); i++ )
> -        clear_domain_page(mfn_add(page_to_mfn(page), i));
> +        clear_domain_page(mfn_add(mfn, i));
>  
>      /* First, take all pages off the domain list */
>      lock_page_alloc(p2m);
> -    for ( i = 0; i < 1UL << order ; i++ )
> -    {
> -        p = page + i;
> -        page_list_del(p, &d->page_list);
> -    }
> -
> +    for ( i = 0; i < (1UL << order); i++ )
> +        page_list_del(page + i, &d->page_list);
>      unlock_page_alloc(p2m);
>  
>      /* Then add to the appropriate populate-on-demand list. */
> 
> 



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 15:04:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 15:04:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261542.452961 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD6KM-0002t3-3i; Thu, 27 Jan 2022 15:04:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261542.452961; Thu, 27 Jan 2022 15:04:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD6KM-0002sv-0g; Thu, 27 Jan 2022 15:04:46 +0000
Received: by outflank-mailman (input) for mailman id 261542;
 Thu, 27 Jan 2022 15:04:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD6KK-000262-Ry
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 15:04:44 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 75bb873a-7f82-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 16:04:44 +0100 (CET)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2051.outbound.protection.outlook.com [104.47.0.51]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-25-qPoW3n7KNzijFQPk-zE5QQ-1; Thu, 27 Jan 2022 16:04:42 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM9PR04MB8353.eurprd04.prod.outlook.com (2603:10a6:20b:3ef::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 15:04:41 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 15:04:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 75bb873a-7f82-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643295883;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=MQ1jObtNsVt0Gb/q4hYMDZAGb5jCrEKaEVTZn5oVjeo=;
	b=juUp472jRiLxmS6f31PVXUYbxYuzx0TdTU9tht19oW0vEULtKkyqD/LCyVDQtQLs6lifjV
	PAdUQCDbDV7lEpFGq9wKQYWkZi6Fw71CQD0OD+2QBv9WAwSWu5Wm56cYU1tQzUYWSn/HDf
	HVfbJxPrnZWZ13AH9dby4HByQCNUZx4=
X-MC-Unique: qPoW3n7KNzijFQPk-zE5QQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=c44QG9IeMcWPC1C67MadY8EzN8pbuAwogt34yY9/5YF/3GQrZEPfcz3VVD5gxgtXXW1vsYR5M80zAMMb2pihqruHeytiXkb32uyTOkbwlywXZJ+S9rEC5gNJjgroh6cbX/XvP1JYbcqrVOR04dlOeqBHEmMJUKxwp+WyzSA1aCf6Z9+XPRZ5pn1h3v5vEbGzTK0uKC1QXVkX/uEeHlH6zq3ch4w5cLoax7LyUbZUM88mPuXRdlz8y18ohoRGXAciAuASbhYHiRJ9zA58i5Fcb580eo5CIpV7QhHe+R181Idkuo23kZ7FzejkWysaA2oKZhMo6YWP1IU0sZQV1fqEmQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MQ1jObtNsVt0Gb/q4hYMDZAGb5jCrEKaEVTZn5oVjeo=;
 b=G8GTfpoiHFDdxpD8XduH8FRWXP5/v/VsijT/H7L20aTic6F0XEWn+M1onTCJ5s1XScKLP1hjk3ueXFN57AwKoy5hHqCS1+/+u4qTTqokIsy/PSa/JhHxZGpvXUP87jrtbjSDOzyosKmWnqickNUoTS4E94G582Pbe/rX+polZ8E2NcA84d7/szrbNYelQiSQAHUJDqHPElBJVVpTLs+QxWOknJWsmQ22ehi/pXZUs+C7OOfj21obRyTeakXeywt7yXghS5x+8jW3YVRV2c789+725aLTbASSvRFjvG7gkPdaBEoXgIMO/iPriglgF1YN+VSBNxchp1uX8B5lISNNVQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b3a79f29-e3ec-6b3f-e569-5d2679a5edef@suse.com>
Date: Thu, 27 Jan 2022 16:04:40 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Ping: [PATCH v2] x86/PoD: move increment of entry count
Content-Language: en-US
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>, George Dunlap <george.dunlap@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <ac46f25b-e669-f309-b36e-c4760e10479e@suse.com>
 <5b3f46f3-3c9f-57fb-00a5-94128f41e34a@suse.com>
In-Reply-To: <5b3f46f3-3c9f-57fb-00a5-94128f41e34a@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P192CA0072.EURP192.PROD.OUTLOOK.COM
 (2603:10a6:209:82::49) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d4f4dd5b-039b-4b86-0a4d-08d9e1a65872
X-MS-TrafficTypeDiagnostic: AM9PR04MB8353:EE_
X-Microsoft-Antispam-PRVS:
	<AM9PR04MB83538AB27F17898BD9FC8B9EB3219@AM9PR04MB8353.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:
	tImdUWJb6yM70FngTztL+TX/oE5l5M2Pju+qMBsbB+LacupK+OUErsgxu4oaqYLfBYx3LTy4gdhLC3fMvTH8m5H9E1kRYrxlc0AfzErDE/v0DR1KdCcFvNpihK2ub05ijW0QWTWlI7/ZLBkBy9BE/KzTNVVWmnzUPHEVqRy6HlYPbZicm7svnLVAC/qDGbPU/80wZ8QPnqmBJETnZqtE8BrSssxNW8bDwgnhqS9WshWxwopy/MyDnayj1KdjYgqsmFr5fzH/bLk1pWCoadkq8UJj1KjnbvyHBuDOn9L24BxpYuSFf99Zzt9o7F9DxFVhaRN1m46JvRKNx/ufUq8EVnFEc4m1wWYkOZRC4VSKVd7S1eTW0prwAjDphO6xiBtTlEgMok2iISkk5ZgOifshfEO1YNl/nxKkzRkFMkhw0+0HMyU2a2AspF8wf4lM4l0lcQctjv+7Ba/VQ3V1Kwziel3jMxXDjM2Wq1nj4PxJLF9FwJhEqpWjr7GjvaPl3L3RrjjWBXLXuRS/n2lTC7D3JuN2sQZpb8jrzZYvu2KDmxqQHewVLRKA0WCvZ+lWjGcx1UDfWOoXvGZ9HMRhvnLLmZCW3WiHB9bbhwQvDOfCgx+LHgxxMihNUZ7xQmaImKRDwz9aoZK3gAtxsdLj5bc0MuVk2hLfXufNRd5Xu5aXD5PmP7uInsdP3Y/vsyofDJQ0lrUOSqE2KED/Pi8NDL87WRj0utS958xHUs5LNgR4XsyJFVqhcNP1H3TVYvWbreYb
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:(13230001)(366004)(66946007)(66556008)(8936002)(66476007)(8676002)(36756003)(5660300002)(38100700002)(54906003)(2906002)(6916009)(316002)(4326008)(86362001)(6486002)(6506007)(31686004)(2616005)(6512007)(83380400001)(508600001)(53546011)(31696002)(186003)(26005)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VmxjTHZQbVZ3blJib0NiWEt3dHVLRmxvNWtaS2RmQVduNndEUE5oeHhqWFFK?=
 =?utf-8?B?UEFoNXkvR1MxdnpOMFBBeHdKbG9SL3pJZzRiSU9HMzdDakVxVGFodDFvT05F?=
 =?utf-8?B?NlNCOWdvaFUzMVdSUVM5aUE0VWZ5b28yVE00dGsrODA0clRsc00yYnJUdGVm?=
 =?utf-8?B?UFEzeDFpc0U3ZjNML2Z0Zm1DTHo2eXhHSGdqWlkxZEI1RGFZK0xkUm5URlZv?=
 =?utf-8?B?VXBsZTZBQ1MxM2p1bFhzMlh6TnZoSDY1WitYcVZrckoxMnV4M3hzSS84dVV5?=
 =?utf-8?B?LzdHakNwVTRSODhIOHA5NytYWUx5V3FTcG44VVNZVmxtR1k3U2tQU0ttekZZ?=
 =?utf-8?B?RlBwbUtlTHpEaldycTVQL0RzT05pZ2l4S21zMm1GNXBDMldjRW04OEN3SlRP?=
 =?utf-8?B?c0RuN3RKNWhmQjVLY1NGTlI1RmRoTGVFbytUeS9zWHgyWEJTUnRPSkNSd3cr?=
 =?utf-8?B?UU9CUDM2WWF6UWY2MkhCYmxkS1FQZWdLSkdJN2E0QWIxNS9ZNTRFZWY4eWRS?=
 =?utf-8?B?MS9wV00rOWNORUlNWDJIV0o5UTM5WkNRVkhIaktsSnl4cnIrY3RjbnJmVDJl?=
 =?utf-8?B?ejZWK3kwaHhibkk3TklsZ0lCQ2Z3VVFsUjNrRUcySTlLdjUya296ZzYrQmhs?=
 =?utf-8?B?YmJMeHQ2OUphSjZocVpnK2QrdmdwVEhITFArOHF6bXl4VEpkOC9OM0s4OFda?=
 =?utf-8?B?MS9BTnhHaytpNWNHcHdWWS9ueU5UUGpvdzQ2alE3SWJYZ0tPd0pmam5vZUcr?=
 =?utf-8?B?a2VpOEZhWU9FY25kUmppQVRBdU16UkUwdGwrdnFwTFlBUE90YjN6STVlR1pV?=
 =?utf-8?B?OUdFOHZScWxIa0dBak5wYkUvUGpJbFBhMGd5QjF1Rmowdy90SE1sZWlLRXRn?=
 =?utf-8?B?cUwzVWZ1UDdDb2x1Y2xKQnNWa1JadUNCRS94V2NkV28xQzI2TzNqYksxbmdk?=
 =?utf-8?B?T1hSY1U0NE1WMklBMkRQbDRXc2JETTlQSFVVT0k0cWV6bERaeHRQZC9qNlc3?=
 =?utf-8?B?Y3prdlpwSkltMExnV0FFU1JuNFhPOE1lYWZEWlVmSUZtK3pDNDRDNXplL2pO?=
 =?utf-8?B?RldiSnl0SzVGc3lXT2RhRmpQKytvbEhXWFZsb0RFS1FaL3RDeGN2VkhBeGdE?=
 =?utf-8?B?bUxPNXNYZjVkazQvOTVjcmdEMldXZHVIOC8zTTZEZUZNV3FkSm1HMHh2Q0Mx?=
 =?utf-8?B?RlFzelFyWFJNOURoeTFDVmFhK09PY0JHaVZJdFBaMzd2UzVBc2RUU2lYNjBa?=
 =?utf-8?B?UVR1UWNOYVpZK3FoVm9iZWxKS1IyTmVEYWVkWTVoTTljRitVK0dtR2k4NER0?=
 =?utf-8?B?ZktKYUN5V0RERkdrRzB3UTlrakxqUEZvOEhkZlVWUXdIM3REYmVpSWIrSUNv?=
 =?utf-8?B?VmE5eGpJMElYNFRnNXNvcncvbTZDY0taZlkxSXZxM1Z4RUxHTU9kQlM0VWpB?=
 =?utf-8?B?YU5GWmhPRmNOZitiTmhDNFFPNkNYOTBCZEptdTVpYkJLZ3RRMnlEdEJZMDJT?=
 =?utf-8?B?d251RW8wcDRMem9OODhmQnUvNktHS0JKSFQ1dDV2NzFZQ0dtdkVnc295WnZh?=
 =?utf-8?B?RHVaSFQ4SnFuR3k3YVFST1VmT2FwUDBCOTFTeGhybE9XU3J6c0d6Ni9VOVJI?=
 =?utf-8?B?dEhMa3J6cXBOMEQ3RXR5N0NVRlU1VXdpK3dSb212RXlzZjhuQjJpKy9yQlRL?=
 =?utf-8?B?Uyt1SjhNdUEzSE54VDVCeUpUcjN2cVNwMWtNMkNhMXNVaW00OVY4bnNOby91?=
 =?utf-8?B?MkFsd3VsdXVUUHhmN2JmMzZLVEZHTjRrdEE1ZkxrRGlTYkhXN1hVZzZoMW1F?=
 =?utf-8?B?d3NjcjM2dURhL0tjaHpJcEhKcjUvdDBodmx6VTJTVHJRTm1KY2tPQlJlb1Uy?=
 =?utf-8?B?Zm5CWWxCc3c0dTlBSGJxVHNNaVRNNnhCOTVpQUZYZTQ3WDZZOERJemx3aXY1?=
 =?utf-8?B?N2UvSGE4SERJOTNWN0dOL1FKMnlsLzl4bHEwQUVjUmF5VXNpbkhYM3pZU21q?=
 =?utf-8?B?MENFMENMN2FrWlFUeHVZMTN5RE11SWNVeEhYMW1EbVJLOEwxQnRUVGdLZTNW?=
 =?utf-8?B?Zjd6ZVd1SFdtbzE3SEpjOWJ4dnNYUkthTFJwWFVnSy9qb0R3MTd6VFcrTDhm?=
 =?utf-8?B?V2RVMUZlN1lkZ3ZmVGFBTUw4eDU3ZEZrMkQySzg2azBFTUxZWTMvUGlvSjIz?=
 =?utf-8?Q?v7HzoQLL6mZoVGcmUA/YyLM=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d4f4dd5b-039b-4b86-0a4d-08d9e1a65872
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 15:04:41.5575
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DecYn7yJqypCnNifyszmuyIt/H4t0S3bmgRdOEK9F4qelkeWToG1juuFzmArXkvC+JosVBa4k531sCF4KGQZwQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8353

On 04.01.2022 11:57, Jan Beulich wrote:
> When not holding the PoD lock across the entire region covering P2M
> update and stats update, the entry count should indicate too large a
> value in preference to a too small one, to avoid functions bailing early
> when they find the count is zero. Hence increments should happen ahead
> of P2M updates, while decrements should happen only after. Deal with the
> one place where this hasn't been the case yet.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> v2: Add comments.

Ping?

Jan

> ---
> While it might be possible to hold the PoD lock over the entire
> operation, I didn't want to chance introducing a lock order violation on
> a perhaps rarely taken code path.
> 
> --- a/xen/arch/x86/mm/p2m-pod.c
> +++ b/xen/arch/x86/mm/p2m-pod.c
> @@ -1342,19 +1342,22 @@ mark_populate_on_demand(struct domain *d
>          }
>      }
>  
> +    /*
> +     * Without holding the PoD lock across the entire operation, bump the
> +     * entry count up front assuming success of p2m_set_entry(), undoing the
> +     * bump as necessary upon failure.  Bumping only upon success would risk
> +     * code elsewhere observing entry count being zero despite there actually
> +     * still being PoD entries.
> +     */
> +    pod_lock(p2m);
> +    p2m->pod.entry_count += (1UL << order) - pod_count;
> +    pod_unlock(p2m);
> +
>      /* Now, actually do the two-way mapping */
>      rc = p2m_set_entry(p2m, gfn, INVALID_MFN, order,
>                         p2m_populate_on_demand, p2m->default_access);
>      if ( rc == 0 )
> -    {
> -        pod_lock(p2m);
> -        p2m->pod.entry_count += 1UL << order;
> -        p2m->pod.entry_count -= pod_count;
> -        BUG_ON(p2m->pod.entry_count < 0);
> -        pod_unlock(p2m);
> -
>          ioreq_request_mapcache_invalidate(d);
> -    }
>      else if ( order )
>      {
>          /*
> @@ -1366,6 +1369,14 @@ mark_populate_on_demand(struct domain *d
>                 d, gfn_l, order, rc);
>          domain_crash(d);
>      }
> +    else if ( !pod_count )
> +    {
> +        /* Undo earlier increment; see comment above. */
> +        pod_lock(p2m);
> +        BUG_ON(!p2m->pod.entry_count);
> +        --p2m->pod.entry_count;
> +        pod_unlock(p2m);
> +    }
>  
>  out:
>      gfn_unlock(p2m, gfn, order);
> 
> 



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 15:07:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 15:07:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261548.452971 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD6MW-0003fz-GQ; Thu, 27 Jan 2022 15:07:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261548.452971; Thu, 27 Jan 2022 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 1nD6MW-0003fs-DT; Thu, 27 Jan 2022 15:07:00 +0000
Received: by outflank-mailman (input) for mailman id 261548;
 Thu, 27 Jan 2022 15:06:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD6MV-0003fm-08
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 15:06:59 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c57a4628-7f82-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 16:06:57 +0100 (CET)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2057.outbound.protection.outlook.com [104.47.9.57]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-33-DY9EwIZUNZmVuwsM6ksnBA-1; Thu, 27 Jan 2022 16:06:56 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM6PR04MB6759.eurprd04.prod.outlook.com (2603:10a6:20b:d8::27)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 15:06:55 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 15:06: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: c57a4628-7f82-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643296017;
	h=from:from:reply-to:subject:subject: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=3ERwCWiy09e/X7t2Ph27wCKPGARBVC8AE1wNG+vQlrM=;
	b=BDdXwoFb398cjeNtoX3u2JvM5G9tldXzcp5oRklagzIkRc9X+rQUcPi6xox3683LbLMz3A
	qc9JX7SZ63B5EuQDAlNMdJ3gqWs7srhEEKXP1f/wZZ/49A60Q3RCkmvWPoz1pYeFy2V6tY
	TNWDplxzrpqz0LKryTJorMrErchVwv4=
X-MC-Unique: DY9EwIZUNZmVuwsM6ksnBA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LYvvsp2As2D9tJ0nTTiS4u02ubzE1o/NpgxvXUmGuYn5Up6+/LCDsp6mEJd5yfAFEyCdESjgUOY2JAqWl4V0dCtVGj65KinkrYmsMLcPekSSUHbfds+/cDKpSqsRFifPtZKJiJYF9ctjcZdCyOl8+tzUh1kgLfjXyjye1FmtgwcAY8vnAJQ6DAcHP7QXXMZXC4c3VxIMymSRAwSSU+oJJi9XihV2zKH3bRxTwrn276EWH0s+Q5G7xIjnpUkJwPT3zAU9+tyiY/rg107nSlsXRhQ56W9n5XcBlYff8QpuB5QFxV3ILnOTVC+dXLqapFXPeih7k81HwZKb1q39Pg/otQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3ERwCWiy09e/X7t2Ph27wCKPGARBVC8AE1wNG+vQlrM=;
 b=LxQJ0U/6jAa8WyW3kY55t3o5yob5H809/wuCFvJ1zRxM6xo18LXTtqBmNGQG7wwIkGz+D8papCXLrDavPxUifoLOOS2/6ntWPZyBte4ZDrBmPJokXyaOOq+AuCkQi0+BTdznvAznlbSwnjbM5Elc6nfzF5WACtDG1fl2jGtihtEeLSmD+nrxsxz4HrbBBJXnN4jV9Tg6rGoXGDcTXcfGbW38s60+9N8+8imBslMA9631LslCg/MVs+wzvjOn58vI2e7mhabHtlpU41sNf+BEQzU9Uw4TyfdoDehlBT1bLa3lMKKidZ7evYK/U6f/6a3uIYU8UzV1rRpICo79FLwoSg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2c421077-81c2-a45e-f7c3-9827d3cb1abf@suse.com>
Date: Thu, 27 Jan 2022 16:06:53 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Tamas K Lengyel <tamas@tklengyel.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 George Dunlap <george.dunlap@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v3] x86/altp2m: p2m_altp2m_propagate_change() should honor
 present page order
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR05CA0018.eurprd05.prod.outlook.com
 (2603:10a6:20b:2e::31) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 52177856-303c-40f9-a1f8-08d9e1a6a824
X-MS-TrafficTypeDiagnostic: AM6PR04MB6759:EE_
X-Microsoft-Antispam-PRVS:
	<AM6PR04MB67598CE467ECCDCD4DEC3D6CB3219@AM6PR04MB6759.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:
	3IahKMql4y2QdF6rTKMJomI/4LF7Zcfx8m09OD8u8oUD6kduHmlBobaHyepG9KAY0vunRy4NVRBQRxg2wNFphy0TkqofidTaX588wXnTSTSxBjSUppx9s/MTAabXyPZ2JPcO+IUXh8jWagVFcqCwW60pYEB0W2Hc8IHNcmvSeIxiG30Vf2w/kKfjFbDUKG1uMFytGVUXYJ1y1Aaz6u1j8dbaUkkdnsb4ZaavfcP5URMAlCeNtbvU8VTamlNaab5TeQhEsk6xKfr1dT8PZtWpSI6o/et+fzm2ieO313H6cxAIihN3BAwrC2CMXHrwJDZ5xTTqKdrxcbnOBy7MHqwTtAOAhkfTd9elx+RYBXjn1C2tmRb833rwzpoog2/o7NlFLnYhhX+gJVA9WHObqUUeGIazwxGfa6iPYo3Ay4GIOuayM8G7VUN0e7pQP60mV3B0dFlz3mUVTtjmDbmH0M5Pg3QlxG+/cMQ3/SYseUSQYp3RCGyeY8HeUcNYzNjvssrfUTYs6dSwgddCLWBtyiwf2m4Ca9IobKKq4ysDdRx1ZcFAy3VliHZZWq4ybZA/T3DYiOxGIO03IuvUSbPZPSb904r3yRl1vN9NF/sV5zNnFOGlDd0nm+vw3tY70/miU3s53QU17/1XaddNY+fHK/jUk1x1yFKRZwQyjikj70iusGnlFlPVFsC0TvnPuXzRd4PvffyBe6jg73E8PjNCfxdcq16ZSSRWYCuF/lg5FOsdi6xXcPopoqy/TkQFh0fqs5Qq
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:(13230001)(366004)(54906003)(6486002)(86362001)(6916009)(31686004)(2616005)(36756003)(38100700002)(186003)(26005)(316002)(6512007)(31696002)(508600001)(4326008)(8676002)(5660300002)(66476007)(66556008)(66946007)(8936002)(2906002)(6506007)(83380400001)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VG5hN2w5cGlqVlU4TzVucmJJWnovWlIvck0xTzl5SFAvZTFzRFBYVUxkNGF1?=
 =?utf-8?B?ekFYbG9YaE5zeGs2bnZHcmNIQ2p1S3dSVVFJLzQ3QlB5Q1hwQkpmYXo1L0p0?=
 =?utf-8?B?ckp3UXg5VkZ0TGhqQ0hHU2p2WENNTVY3eHp5U2UxV0JUbEkrYjA5cVE3VDlT?=
 =?utf-8?B?eWtIWjBKV3NKY0o4alA4akpLRWxOSUZyaVlhMm5PUjA1cjRHREJZT1UyYjZT?=
 =?utf-8?B?U3RWWkE5TWI1SGtpMEtUZmdIZ1BZV0w3S2QrUU9VRGJHdE9JUWl0WWh2NGwx?=
 =?utf-8?B?VmlVNDJxVG1sU3E3cTF3Tnh2LzF6R1pOeTZTaENEWnRqeHdZZFlJWjFFdWpB?=
 =?utf-8?B?cGxUR081NWhpcXh3bUo0Y21EM3JQa3RsVjZOaUk0d1VZdmZMWlUvdW90SFgx?=
 =?utf-8?B?MFlmLzIvcWtpS0FzdmVpUGFFWUNUN3FuWjRBaVJodUdZZ2VMblZ4NUxKK0Va?=
 =?utf-8?B?c3p6bGhENXNLbDlYbmdOSEJzZ3Z1SmhWMjh4NWw2K0Y3aGppVmxXYkJQUWt4?=
 =?utf-8?B?RnlycGx6cFdjRlFiamJVSWI3R1AzWEdTVTF5Vm9NWlVMRHIzYW9IUVA3a1FW?=
 =?utf-8?B?aXczWHA4UEZWVWRZTXI2V3h5aG52eHNPdW5wUzZUNXN2dTNYZzN0WE1HY1JK?=
 =?utf-8?B?M0dTWDdacWFKYzJLM2ZoM0Jzank0VDNreCtvR0xQNmJGRklNODlYT09OV0dt?=
 =?utf-8?B?V1BwZysrSUp5NjlZOHhBWWZQSFRKNUE3cldHRzRGamlsZGxOamFFSTRZQUNt?=
 =?utf-8?B?ZTN0Zm9qZktVRlEwTGpsU3BJSUtyS0NxQldTUGZlMXlOR1QrR3krWnNaQmhj?=
 =?utf-8?B?YmwzQlZxU3FTVHNaVTdwcG40SHhTaWlrTW5IUkZXeGNsOEdoeUVkMmZVcTFs?=
 =?utf-8?B?S3ducUhLdXprWEVwemVLYmcwRmhQQXhIL2MrNkNKWjczcGxUTnBxTmw1K0FI?=
 =?utf-8?B?ck5qYWIzdjlsNDBGR3JqOEVGNVR2THBPeUp1SHM4T1A2TFZaT2huWmdxM1Nl?=
 =?utf-8?B?K3VJUW53TGhkNDdkNDlJUmU2ajRyMnRvOXEwQTZyQ1owaVBzWmNkOXpSRmdL?=
 =?utf-8?B?WStKbS8vT3RzeitsV0tWUlJtRXRqZUpQT041cGl5c1dGWlJvenFLcWx4d2g4?=
 =?utf-8?B?eWs3TTdHaFpCcC9rbWNISThkZXlFbUJVT09TeERHaXBjZS9oRU5WQ1Y0dDVG?=
 =?utf-8?B?b1huSGR0aG42b0FNSFVyalhaK0xjMWc1c1AxUlFlTDZKa2taQytEenJ1WlE1?=
 =?utf-8?B?MWp4VjZRWWFONUxmR0tPR1hpUFdzOGwzb0w2bWh2YmVodHdReGRIYXdMbFQx?=
 =?utf-8?B?VDN1c0dWc3ZvMzVJR0wrL2xla2E4VHVJWnVxaGxoTUphYWk4UkpENWc5UnRl?=
 =?utf-8?B?Q0NMY2NlNXlGTjJONWFqSzg1L1l4bkRFaWUxOElROGRSU2kzemZFYkVHWXQx?=
 =?utf-8?B?b01QWGhHdGlsN2l1WGdKdEt5aytyTEk1Qi9IWHlrekNESjhVbkl5b2VXMmdN?=
 =?utf-8?B?WjA4ckMrSDVEYnUzSmJRNS9mZmZ0cDg4cVZrYzZIWXZnc1htanJSUUdNM1Bo?=
 =?utf-8?B?YUJRVFBESmlhMGFKRjJ0ZnppY3JzWmZGMG9uZENpcGRtK3N1Um1HWmNXRjVY?=
 =?utf-8?B?T2xXcDFoSUlDZjFtblQxUzBPRmJrVEU3K3VWR1hFL1BWbXZOeEpmUnJneDJX?=
 =?utf-8?B?Ymhxbk00WHRBNXBabWh0bzJtajdRQkhSNFVvZXBTVVhVckR5aVladFdjVUtD?=
 =?utf-8?B?Zi9NMVlXK01WZWx5MEFQejFQeU1ZVWo4V3dHYmppV2lHOGcyOWxqOSszVVJ1?=
 =?utf-8?B?U01UVEVDMk9MbVBBNkVKVjUxK3JyTGxoaHlwWWl1ZTQvYnFJNU1SdzJ5VHV3?=
 =?utf-8?B?L1FldmxFeXFickxJRUJYVm5hcUxwMjE3Q3VJVDFhQm9qbFBmU1A1M1RnRE1q?=
 =?utf-8?B?SmFtTkluU25rK25DOE9CY2w0S3E3cHlxN20wdlp6SHhKWTFBNEtsRkl2OTE4?=
 =?utf-8?B?cnVGNGZSREt4cHpZelA1bTZkM1ZDNzZ3REZBbVpqQTgyNHhqaGtHNy9VckNF?=
 =?utf-8?B?aDdteWx6OFhhZWV5bTl4U2hCVmxYV25XMjAwUmxEbG1QTWRkNlpzbVNQcUkv?=
 =?utf-8?B?dDN0RUxwaUQ3aVNyOEJIWFZRMk96NWRadHJDK09HcERqcGVZWFNmMU5sOTZ6?=
 =?utf-8?Q?KVnqvPnpX59YFVtaKQMa2Cs=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 52177856-303c-40f9-a1f8-08d9e1a6a824
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 15:06:55.2679
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: omJBGNclObLrthOD5uHBECBE/Iso0Nokstl8tSvbY0NvWAaI8UaCFU4owWi8Km7AeEd0j7rEDhCKAPvFIwBqYQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB6759

For higher order mappings the comparison against p2m->min_remapped_gfn
needs to take the upper bound of the covered GFN range into account, not
just the base GFN. Otherwise, i.e. when dropping a mapping overlapping
the remapped range but the base GFN outside of that range, an altp2m may
wrongly not get reset.

Note that there's no need to call get_gfn_type_access() ahead of the
check against the remapped range boundaries: None of its outputs are
needed earlier, and p2m_reset_altp2m() doesn't require the lock to be
held. In fact this avoids a latent lock order violation: With per-GFN
locking p2m_reset_altp2m() not only doesn't require the GFN lock to be
held, but holding such a lock would actually not be allowed, as the
function acquires a P2M lock.

Local variables are moved into the more narrow scope (one is deleted
altogether) to help see their actual life ranges.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Note that this addresses only half of the problem: get_gfn_type_access()
would also need invoking for all of the involved GFNs, not just the 1st
one.
---
v3: Don't pass the minimum of both orders to p2m_set_entry() (as was the
    case in the original code). Restore get_gfn_type_access() return
    value checking.

--- a/xen/arch/x86/mm/p2m.c
+++ b/xen/arch/x86/mm/p2m.c
@@ -2534,9 +2534,6 @@ int p2m_altp2m_propagate_change(struct d
                                 p2m_type_t p2mt, p2m_access_t p2ma)
 {
     struct p2m_domain *p2m;
-    p2m_access_t a;
-    p2m_type_t t;
-    mfn_t m;
     unsigned int i;
     unsigned int reset_count = 0;
     unsigned int last_reset_idx = ~0;
@@ -2549,15 +2546,16 @@ int p2m_altp2m_propagate_change(struct d
 
     for ( i = 0; i < MAX_ALTP2M; i++ )
     {
+        p2m_type_t t;
+        p2m_access_t a;
+
         if ( d->arch.altp2m_eptp[i] == mfn_x(INVALID_MFN) )
             continue;
 
         p2m = d->arch.altp2m_p2m[i];
-        m = get_gfn_type_access(p2m, gfn_x(gfn), &t, &a, 0, NULL);
 
         /* Check for a dropped page that may impact this altp2m */
-        if ( mfn_eq(mfn, INVALID_MFN) &&
-             gfn_x(gfn) >= p2m->min_remapped_gfn &&
+        if ( gfn_x(gfn) + (1UL << page_order) > p2m->min_remapped_gfn &&
              gfn_x(gfn) <= p2m->max_remapped_gfn )
         {
             if ( !reset_count++ )
@@ -2568,8 +2566,6 @@ int p2m_altp2m_propagate_change(struct d
             else
             {
                 /* At least 2 altp2m's impacted, so reset everything */
-                __put_gfn(p2m, gfn_x(gfn));
-
                 for ( i = 0; i < MAX_ALTP2M; i++ )
                 {
                     if ( i == last_reset_idx ||
@@ -2583,16 +2579,19 @@ int p2m_altp2m_propagate_change(struct d
                 break;
             }
         }
-        else if ( !mfn_eq(m, INVALID_MFN) )
+        else if ( !mfn_eq(get_gfn_type_access(p2m, gfn_x(gfn), &t, &a, 0,
+                                              NULL), INVALID_MFN) )
         {
             int rc = p2m_set_entry(p2m, gfn, mfn, page_order, p2mt, p2ma);
 
             /* Best effort: Don't bail on error. */
             if ( !ret )
                 ret = rc;
-        }
 
-        __put_gfn(p2m, gfn_x(gfn));
+            __put_gfn(p2m, gfn_x(gfn));
+        }
+        else
+            __put_gfn(p2m, gfn_x(gfn));
     }
 
     altp2m_list_unlock(d);



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 15:12:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 15:12:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261553.452983 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD6RK-00058A-8f; Thu, 27 Jan 2022 15:11:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261553.452983; Thu, 27 Jan 2022 15: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 1nD6RK-000583-5N; Thu, 27 Jan 2022 15:11:58 +0000
Received: by outflank-mailman (input) for mailman id 261553;
 Thu, 27 Jan 2022 15:11:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD6RI-00057x-Ot
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 15:11:56 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 76ff48f8-7f83-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 16:11:55 +0100 (CET)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01lp2055.outbound.protection.outlook.com [104.47.1.55]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-19-7FrJYYYPOjOOLmWcCa9dvA-1; Thu, 27 Jan 2022 16:11:54 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DB8PR04MB6683.eurprd04.prod.outlook.com (2603:10a6:10:3c::26) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Thu, 27 Jan
 2022 15:11:52 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 15:11:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 76ff48f8-7f83-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643296315;
	h=from:from:reply-to:subject:subject: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=xAfV4efI07QJ6ksfrDQOBauSw9AepGMyr8JwLCjJ3YQ=;
	b=VjPp5ubNS5w6HO4wHRAIIZU19WBLgvO0tMwrRp+Zu4wZIv7mu6WOVMISZb6zYuP+18ZdsR
	b1FkOL0JApme3BGtkb/+RCfyGCtZy1PP4ks7foFApvqcbE7CDhMcYZQTv0nu/i5mFYyb/U
	vDr+dfrh6bYntG9uO70Pc499QhrEv74=
X-MC-Unique: 7FrJYYYPOjOOLmWcCa9dvA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gCGbgPaTuTz93bWqzaUCySOLy815HyVUU+CnGT5aHNECzTv6dZeLLWLxPvD30EW6qdiQF4u6l1ySMkaC8zfgXVtPCljegskV9G+90qBbdvX2u0z9M19nHNoRsxrDEB04/RCOmNZSzHIW+KpWfhgPTUwQbYRPPWjkapNVhXI3EM0CEos7sbUjQ5t+tXRztXD1TDZjrTMzufMy3GDSOGIfTD1iW4sjmRxQDEdTqHmbwV4cyeOuQy0WAg3Q9xVU4eQ9MCGIG/IWetEepGm9yT2BH54bruJ7YvweiGnbqpIjjYgnA60L30yEg7UwLCZALnrd/adLBnXIRNnxo0Ebtz0Cag==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xAfV4efI07QJ6ksfrDQOBauSw9AepGMyr8JwLCjJ3YQ=;
 b=Fv7fa4wMjKsF2Xp6Ig646RgOpf4CM3Q1e43O8B0cGtHCOcX8ZfVtleptzq15cL0t8MVsHwjiN9rF+G4aK455VwwuX7vtl4NOtCpK4rejzaPUNVLOzB4b8NkFTGqn9eGbbjTvn25JIvfF0I8lTTvqEnvgC0G8fqoFnewJinLL0TYqZ7Ocz0oRkXLzMXnwwUZEWYwQ0U2k63gbUnymrIPl1H5+nTLxOkIOMhsJHR4uwGjhx9AWCM40JvQAL1dhjkxKllfKctXCuNzhfTQ1vtUBdhgnYjKP4225G6881qst63BGseus4ykAnj2ExCskFksyq7GD+OEngrfoTV3RhEB02w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <faff6a1e-9f00-e924-9766-deda8f0b38c1@suse.com>
Date: Thu, 27 Jan 2022 16:11:51 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v3 0/2] x86/mwait-idle: updates from Linux (and more)
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR07CA0028.eurprd07.prod.outlook.com
 (2603:10a6:20b:46c::30) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9ee6e626-4dd6-4401-6b9c-08d9e1a75928
X-MS-TrafficTypeDiagnostic: DB8PR04MB6683:EE_
X-Microsoft-Antispam-PRVS:
	<DB8PR04MB6683FD9783BE7D1EF35F7A6CB3219@DB8PR04MB6683.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:
	On6YLgEJ83ezN6p3o1bWJNlYOvnCTjfAXjCsDUB4Wjcl/gs6BFws7HqsIHWygll/CqTzyZVyLBURVzDDKS4uhO9yi9kK9mrPwGWEiWFFNEYKM8Ds6Otebszw+Lov4uLyJWKmPE82PVx/grcQ8fwNc5JYVihzozmUsZC+HA8qGMrCAdteMtSNUwLViFB2hRdvItjgnikevY/2lAm9nmBCMNP8m1hxHV0/KCexgggwGFhS00MkZvcuz74FItI3pW3KLGbJeqkAjxxEPYxfjEJcrimsjDg1hdPrEvfBBZ8M7PuTDH9n0AtjZ0QR6xkKG9POtcQjj2lhsyry9Q+nv6pjuWaTrVNNM4NBlvMhEZv7UvxD8JGyJaNw2ksfONTt2n2dRk2ZwwXAPOPUrnQ/5aeXQMgO7I9rFnS2zBnAr6H4G5nIZhkHvgH2rGV5cj1J8BLXRmRHU3xFjitBT8vrZQTBUh0/rPPMLO5Eu2CLCrOvk6hKuXYq67ci9rHERsgwSooIHttqfYjy/kQFJzl+JECB/YLo32AUq595ZKJr2eAkmejX8ydyqWau+ZBlHc0TrJY2QlXgqgWDKKh1DVnOkwhwjl0TdrTLGuGceavV3lutkyr4yG/uiJhnW6Np2m3i6BMvCCJpot9O+3g+VxexQ8HxD/KeNhuy/bYqIHfoKt3YYGMcLbUwdYFfmT0j/zHN6eUhXeNnWV8lp7Slxo5uxJwFYCpDJ/QiFCsYQu1NhJDtoXv5irlX7eUfV0EUsWT1e14D
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:(13230001)(366004)(6512007)(508600001)(558084003)(2906002)(26005)(86362001)(186003)(2616005)(6486002)(31696002)(83380400001)(66946007)(6916009)(316002)(54906003)(15650500001)(5660300002)(36756003)(4326008)(8676002)(31686004)(38100700002)(6506007)(66476007)(8936002)(66556008)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Wk1ucFdRQW1DZmE5UCtic0ppSmNqOWFFYkVvVmxWT0MwRXNwbnlBVnJVYlAx?=
 =?utf-8?B?cEdFc1FSU0FyMDUwc2laZUZYMHNxUGVmOGt1SjRkS2lxYlZNb1VrRXRQM3Vz?=
 =?utf-8?B?RHRXZEVNbng3bUxWNHlKSGlmZnlTMndNdEJIWmlnQXhXQytWeTJ1OWxCWFR4?=
 =?utf-8?B?aC9wblNUUVZidWRaazhLS0IxVlFDcDMwSW5NM2MzeEJ0bDczZkJsTFk0TE5N?=
 =?utf-8?B?S3BCUGhMUkJhdnluU215VE91ZWRGZkR4RUk5TWJtSnlEZittaUt3T3NiT3k4?=
 =?utf-8?B?dlNqUWR4ZjlxU3A2b2IyREdTTmhPb1J1S3FrbTZqcFNjVmVibFNYeEZzM0xh?=
 =?utf-8?B?UmhaT21FakRMRnNCNUExTGJaOWVoVVJPOE1Iank1T1pVWnRSNklPdjh0QlNs?=
 =?utf-8?B?MmJjeXdyMGJnQ1BKU0xPbEhaaUpJSmw2aWNuMmF6c2RPRVJwS1hoanU3WTlU?=
 =?utf-8?B?Qjh0QTEzZGxWMmUzb1pBUzJCTXdEVHZWTjMxNDNZMHdmSlVFVjNWTGJieDFX?=
 =?utf-8?B?MHJCcU01MGVWR1l4ZE8yTTBUbWtwUytabWRzWXQwME96UGRReCs5eml4ZEFq?=
 =?utf-8?B?RUN4QTBSRVIwMGM1SWlZcnU2UE9vcUE3VzV4Z3hDR1owL0o5bTFUUWhhMU1G?=
 =?utf-8?B?UEVza3ZPNXpYUDMxOExoWU91aGhtV2VsOGZTdW1KRTF4Njh6NmtieWthT1l4?=
 =?utf-8?B?NGJIUEJkVERmcXFzdGtyU0N6Q3VGdjFWMDFyamN6ODBaeEdJcmNVbE9xQjF1?=
 =?utf-8?B?UWJlaEhiTnE4MjNScDdiSUtKaklVRUxFbkkycFZuQytvbFhEdEd5S0t1dTh2?=
 =?utf-8?B?VU53dGNhYmdhMEhWN3gxZWxzK0FTL2tuRjVpUFYvcmtwdm1QVFNibmlQWFhO?=
 =?utf-8?B?WnkzV0ZNc1BQOE1IL0ZTUERmbGlKamxmRDFrRU1ocEZhZkVHNmx2d3VWdTFE?=
 =?utf-8?B?N3ZRL08xRWlaS2p2VzQ0M1JZYnZIbGVHcWhmbHpES3lzUGJnWmIyQkNRaFFp?=
 =?utf-8?B?UmRTVko2RytGQlRlTnJ1Z2NIZEQzNDc1ZFZMWWtUeWpxcXk2RGJqamJncXU3?=
 =?utf-8?B?RXd1ekxJRzhTbm45aG1GbGk4OTJEL0RPM0ZFU1VUSkpOaVZOMEY3ZDZrTTRP?=
 =?utf-8?B?ZlMrUWtqQWI3eE9Uek1TT0kxdUpBWFRZTytKOExwbmxmbFhNVFl4VjJFNEpO?=
 =?utf-8?B?d1pQaE54N2lMenhqSDZVajByWFplSUN1Y0p4UXFJcXhoUjkzNzJOVEdoa0Jt?=
 =?utf-8?B?Ni8rYmxvSmlGYU5iaWNHdlpCakhpRy9RWmd1NXpZOUZaK2x2RWd2a0ErMy9h?=
 =?utf-8?B?WUQ5UHJHc3B3ZW9Id0tEMjRqNHRla0srWHl6UUVtellyZ1ZsTmZxZ2djMUZH?=
 =?utf-8?B?Y3B6aVlXaVZES3Y5RDMzbUJGR0VZNXppR1FRUkR5SjV2TWdKWHJ3ckF1WExJ?=
 =?utf-8?B?dnJEdDhRcUVyQ094aksxam1FcXdLUkU3N28rdmFiSzB3eUxrTGdtVnBncFZh?=
 =?utf-8?B?OHhtY2NQeGM4U1RVNDZYUUVKZWQ3Z3R5Zjc5eTFkd2Y5VTRndUlxZEJ5K1hT?=
 =?utf-8?B?eHNDd3ltbFNDc2dwT3czM1k3ZzIwY243czRsZTI0elpRWER3elU4N3NlamYw?=
 =?utf-8?B?alZNeXdpbTRUUzJhV0U2bWFrMkJDdytkaTJLNnEwTXg2ZnlFNkFvcHNKMUt1?=
 =?utf-8?B?V05hSnpEb0JCdlhLWnJKV3lyZzhOblV6cEFLWFF1ZHBEUTdzcloxeEZSTmo1?=
 =?utf-8?B?cThGWFRyZ2dsbGpoTDNYb25LZXNEcm10RktZMHpPeTBrQWNHc215MWoyamJJ?=
 =?utf-8?B?dVVSMHNsMjFNNk8xNDEzbWdPdWlkVXNJQ1pxWnpHUm9nTTAwc284Q2JmbkVR?=
 =?utf-8?B?QWdyd0cyb1o5c25uKzQrczR0RnNnbUJNWTkzTUNMRVUydmFTWUEzd3o5aFZR?=
 =?utf-8?B?NVo4TmFjU2hLd3BjbTlrcHhWcCtCaFpHYzBIeDJ6cnEwNlBsOVJxVXVYR2tC?=
 =?utf-8?B?VkNkVWtuUzRHQnNiMHJYUjBSSzZ5SXF0dmFzTll5VXN3azJWL0p3VFB1N1Vu?=
 =?utf-8?B?b012L1plTm5XSE5STG5rNWlqb3h4bG5zakxNT05VWEMrcHZteEVMTVBHT1dC?=
 =?utf-8?B?RDJYQ3hvR3FBZWJQdzUwT0VqNDRyNVZTbVNyOEpkWmpEeFkxRURlbmVJVU1n?=
 =?utf-8?Q?/nrPpSrX2RfZK/HcHHGM6Y8=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9ee6e626-4dd6-4401-6b9c-08d9e1a75928
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 15:11:52.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: d0CSEikZy4Wv1qhNpkZ/CGcN18pmAgqi2eMw/RTwqeHbe1hHNLxjXxi74eH6h9So6Twwnrm13OnLVXjC5ItoEw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6683

1: enable interrupts before C1 on Xeons
2: squash stats update when not actually entering C-state

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 15:13:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 15:13:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261557.452994 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD6Sm-0005hZ-KG; Thu, 27 Jan 2022 15:13:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261557.452994; Thu, 27 Jan 2022 15:13:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD6Sm-0005hS-G1; Thu, 27 Jan 2022 15:13:28 +0000
Received: by outflank-mailman (input) for mailman id 261557;
 Thu, 27 Jan 2022 15:13:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD6Sk-0005hJ-W7
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 15:13:26 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ac8f9861-7f83-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 16:13:25 +0100 (CET)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01lp2059.outbound.protection.outlook.com [104.47.1.59]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-10-BfUHM7SqNve5cQ3Vb8572Q-1; Thu, 27 Jan 2022 16:13:24 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DB8PR04MB6683.eurprd04.prod.outlook.com (2603:10a6:10:3c::26) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Thu, 27 Jan
 2022 15:13:22 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 15:13:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ac8f9861-7f83-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643296405;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=pBd6EFlOt65MszPeXwWMNIdktA8qG33hlxukXA8/vBE=;
	b=KRR3BI6L2c1tx0Q02MLsParR0TIVbOdQrdthbisLFKrzvTiY7aJd/C+8w98V3byDe6M0Ud
	PPDaE3w/0hgKx04Pzn09P1i+Ohhz54xbhLcxg4NIXN/6s4mLXI+PctmEb8OBZRA/W7H9jc
	xZwF4BjBP3J0YuPPWyNoIQOwEluZLos=
X-MC-Unique: BfUHM7SqNve5cQ3Vb8572Q-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PK5hqaJymP1J8v9KIJp2fp/U3QGJIxgYQmN4t/T6anHFCx48SB6qhBs32Oz7BiIlgD6Y7ugeI2SZ5vhk8rtl2ShXLo2knU7in6ost+fmaqAcmq+vmdpi2SsMuPXUSks7CaCAVbGOinWTbT9XL18VEO6rCT1XHm+6Cs+tWAwqftSBB5jpAbRmOBBY0YnnZM7guAaeeAp0xkkDEoggTjb5siYSWLdP6xi5g/W917R0Df3Jp5c9V/0Q3ZvqXi1CaaQk9yQZ3nuo3wuYhkjteyrAOe9ChRBJVSCkLTnvAs2K0dF18xrcjK6a74MVScP+ZCy3uYVCidstaiY59aXqR5zB1Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pBd6EFlOt65MszPeXwWMNIdktA8qG33hlxukXA8/vBE=;
 b=BAqtBxbgaP/Wfy09QXl3gOfOqjkrj1XvRUkBsOguuc0NYfwBAXGTG9uYtGJkhGhNLFtdvWNquvJqM+p9HSWcauKDv9GpbOCd5uvQ6Jzy+syg5hziFPLhB9WsjKG2K3gBafXB5di2EDp0zqGV/02fLuxkU38lBG2wtHaGKEHDKS2gYFOncEvPTgH1uBe94M7mZtGgX3IdfXhSgpzlVmZlX/6F3h4PhUYKu7Y2ob9TfVRVgRAP6E3AtmpnXMCwhj41xWuwR3CAMTyGY9WPymqQ22wblh0ILAJeUwNZQ/yxJb8mp/M4GPIOSFOfETKS3nU7k1t2wgy2SP0Ru/DkXioY+Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <379483c7-fe7d-16ee-454f-8f8dd001dc48@suse.com>
Date: Thu, 27 Jan 2022 16:13:21 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: [PATCH v3 1/2] x86/mwait-idle: enable interrupts before C1 on Xeons
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <faff6a1e-9f00-e924-9766-deda8f0b38c1@suse.com>
In-Reply-To: <faff6a1e-9f00-e924-9766-deda8f0b38c1@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P195CA0020.EURP195.PROD.OUTLOOK.COM
 (2603:10a6:209:81::33) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 048d5f07-3993-4d26-eb03-08d9e1a78f1f
X-MS-TrafficTypeDiagnostic: DB8PR04MB6683:EE_
X-Microsoft-Antispam-PRVS:
	<DB8PR04MB6683DF13CE0E1E2949CD7C71B3219@DB8PR04MB6683.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:3631;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zHH/7rqJw9li9YW7NVWdQKajLlaSMfPqL/uU6lBoYk1+uaYTr1PZISrzp6RnWtOSlxh1c4iqH6ZanyQFgOm2+9o40fVWwRf+yCKcHvF957zIBmsC4Loh9bQY9q/58SVNEOsvZ1oVYJKEDKb1qqm6eND/6WdMEDy1GxHrbMykZGzQqxizu8OXcPTy9oXSYyUR4lQnGA1+zA2DiO3PIHwFnyUWpsBGdS4MsRccHYXREyZZn0zZ2hY7zrLOft3GvOaRcZksYk7pAyQnTvJlAG+999Nq3BOeHMo7PDTAOUO7K58U27aid6c4UEZE+arpnXUFdHZ3jiVB3sZDMhDFCYk3XIKH0b989nx6nTNKvM6hGV2m4P/JQZBqJ62StnXcC6ZlqE+Jk4Zu2jR/7oTl0iN6FbiQMqMtKfkRrl0Z3TpT7CiJDLfMg7B9kNlaOSYw2XPs30dOt549e/py/loJWREc1LYVRI+zV86Zea6wNxkmIPuyh7Gp/7OXiOzBg2P5/Fbzh9IfR3vVD8FzGoWgSfCZA16vbYM67qPagqz/C3/KvalzgG3txCKNynTyhq8rB8DZRBL6SjF69VO9jk8erwGvcAx0hvikuaXAoWS2D0L8rBo37+WUOsz13cZATI7hADNCXpi+BcSxV3vn9DCCM9Y7QmYqJkDqVfS0TsQsJCEfrAUXaKJNXsY29+k6yxrz9i/s7aSwoF8JfgslOVaHnHN25QrDOvkhgoU85z8s13y6bPpKSHJpcUimDl73x+mMFFYDWp5OEPRtSSMS7J588grmrQ==
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:(13230001)(366004)(6512007)(508600001)(2906002)(26005)(86362001)(186003)(2616005)(6486002)(31696002)(83380400001)(66946007)(6916009)(316002)(54906003)(5660300002)(36756003)(4326008)(8676002)(31686004)(38100700002)(6506007)(66476007)(8936002)(66556008)(21314003)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bnZoR2JtbWFOT1cwYkZkWE03M2FkNlNFcEFSZlY0bWU0YWh6Ulg1bm9oaHZi?=
 =?utf-8?B?VlNyellCTlZDeEt6dXVQYzFpTHB2OUptZUc5YUthVndoUFFxaEl4c3J5bjZp?=
 =?utf-8?B?L2FpMUhEeHAvZ2YyaGNkWEx6ZFlOcFB1M05KaWY0Y3ZQbDlGL0p6dW5RUUFQ?=
 =?utf-8?B?NnV5ZjdWWEhIZjczTEhSTzMyK3VudEJCVHdTMmN1Vi9SZTlObDVpN2ovdi9Y?=
 =?utf-8?B?TnFJOXhJRXZleHJ1Wko5SkVvenZON3FlK2lrN3pWZlBRZTBoam1IdHZGTWdF?=
 =?utf-8?B?eVIzaGhTMitBN1g5MDd1czZBZTBwT1lidzkvSnk4VlJac3dIY0V0MWV5WVAr?=
 =?utf-8?B?SVVFOUtQZFRpcEk1WUg4UUNKVzlETkEya3NCRTA1L096Sytkc2Jrdzk5QklZ?=
 =?utf-8?B?UFNhc3dKMUREMzA3WkkwWTJLa3I0K0NuR2lnQnFhallQVkU3QlVRUDkxUnRT?=
 =?utf-8?B?eWZLVHJ5SU4rTFg4MXU1WVZWcEs4UjZqYU5sbXM0ajlxNzlmUjFnWjVwdk9B?=
 =?utf-8?B?aFBENWJidHRkR0N5a2tUdHdDQkZyVmYwNXNnMHVlbHI5V1RzM1FGMXA0ZzYy?=
 =?utf-8?B?R0E2S2c4NURKWmhPeHlxSStuZTQ0SEEzT0h4ZFRCR3ppNjJ1Q1FnZUltSVFB?=
 =?utf-8?B?M21VRG1Icko1WEJ0U3JhRDJoMWFkMlBBVjRGLzBraXNlNDRVWjFpZVl4N3dM?=
 =?utf-8?B?dUlhSzZKTzF0V0UybWg4NnU4aXZwUW0xNVB0Ujd5N3U0NGlRT2VydlEzdzRY?=
 =?utf-8?B?OG5uOVkvSllpZkg5aVY5VjNsS2RPalRNcXRrTnV6dGZZNjVaVUlEWmpDelps?=
 =?utf-8?B?c3lzWHlzbjJna0VUWDdjMDZydGlpOTNvSE9HNXJoQzNFYXBuUUFyUmFzKzlF?=
 =?utf-8?B?bUZsNlZNYzE4RkxFN1V4QXpRQWp3R1d0ODRkcnpnamxsQUJXTkRIZzc4OVNG?=
 =?utf-8?B?ekZpWFRrMG1KN1NrV2VXQ0xkYktJTFJQNHpJYjhvV1N5M21aWWRwQWQ1TDlV?=
 =?utf-8?B?S055QnFUMTI3SEJuYlNrd1NNMExhdlhDMHRTWjlGbWYzWVhUV2hlNnFiVk5Q?=
 =?utf-8?B?dk5MMmhsZWZlQXI1WCszcWdIS2pVT2VrZk9QdVVZNzJVY1VLOFdNU0FwbFVM?=
 =?utf-8?B?MStyTS9sdGdOUDc2MEZnU3FPczFIbmtqUUFvN0pZWFVLZzlyVVYzMldqZGgz?=
 =?utf-8?B?U1J2TXFCTmhEdlFiT2IycW5JdndJVnUyMzZMTHMxd2FscWlMUmhvQTM1UGls?=
 =?utf-8?B?SDZqNTl4QXE5MGlSVFNrMmNJSEZOdnMxbldiWVUrSzFGWHl4Q2FjU2szQ0dy?=
 =?utf-8?B?TXMzenA2WjdYdVZ0aFk4OTNGZTVrSGU0eGlxczdVNXNTQVF3MDlUTjcrZFM4?=
 =?utf-8?B?Y2hhTmFLemFTaEdzQUlKVG1ZKzgvZnQxVU1DWGllOFJMeERmWHhDZGtCVTRS?=
 =?utf-8?B?ZzBGd1kxeHlzaXhmYS9hVFFpclZFV1N2aHZRWEJTbUVlK3FTeCtVTU1LMW1Z?=
 =?utf-8?B?Q0ROdDZPWTZ4VURDREIwTG9EQkxINFVWYkdzaGQwNjRlNnQ0UFB6WWg3Mks3?=
 =?utf-8?B?Tm5LdCs4Mi9qNWVmeVpYRm9yQUJ4eGVSUU5CTmRNbVB3cThWRm10M2FUSkVY?=
 =?utf-8?B?ODczVCsvRDFEeXhSOWZzZldiRkFMN2JSM3U0cDZJZHhnTk9reGVObnZGNHNF?=
 =?utf-8?B?bm1SY1VnVXFHclUycVV4NnVNOWdJRk5OblRoVkVYWVJTZUgra1Q2Z0ZwdnZC?=
 =?utf-8?B?NEU5cEY5aEF5UElOSENsZFo3SlNxYmRkNUw2b3czcjI3Z0NiS0NtUVFpUUdU?=
 =?utf-8?B?c2dBL1FFOThrYkU2SkZRQ1ZOVjVnZW9DUHpwcnFjVE1zQjF5U2ZuSnIxdWtB?=
 =?utf-8?B?cFVDaUE0S2g3YWtlbjlnTG9PWnNyU2kzcDFycS9yeXdJd3lEQVFNOXZMZ3lJ?=
 =?utf-8?B?ZlgxWTIydXkwZHQ2akVRMlh3Nk1HR0hzMEl1RWhJSVNlSkFHblpFUXZvZVpu?=
 =?utf-8?B?NnBQWHZVc2tWdUdqcXM0SmtXVmsrS1NFWFA5R1VRdE05ZXFzTTlzblhFWVhU?=
 =?utf-8?B?eXY5SjhaK2NVVzhIWno2QVcrejI5QUJvd1JwYkx3ZUhrWnBGOXpDeUFtS1pK?=
 =?utf-8?B?K0d1V0s2V2ROUWNyUXByRkZHSFRENWNLYjI4NDJvc0wrZG5YM3pjNWVtUU9O?=
 =?utf-8?Q?uWR6rjF7PSOuc7cONukmpIs=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 048d5f07-3993-4d26-eb03-08d9e1a78f1f
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 15:13:22.8219
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: q18XtsG3DTNpb9Wb9JRcMuVRco87c/+MvE/SAB8Hm7nZwKjrAZR80pBCv8tZWnJ61VVMpwui1Msgz3JWW9fhoA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6683

From: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>

Enable local interrupts before requesting C1 on the last two generations
of Intel Xeon platforms: Sky Lake, Cascade Lake, Cooper Lake, Ice Lake.
This decreases average C1 interrupt latency by about 5-10%, as measured
with the 'wult' tool.

The '->enter()' function of the driver enters C-states with local
interrupts disabled by executing the 'monitor' and 'mwait' pair of
instructions. If an interrupt happens, the CPU exits the C-state and
continues executing instructions after 'mwait'. It does not jump to
the interrupt handler, because local interrupts are disabled. The
cpuidle subsystem enables interrupts a bit later, after doing some
housekeeping.

With this patch, we enable local interrupts before requesting C1. In
this case, if the CPU wakes up because of an interrupt, it will jump
to the interrupt handler right away. The cpuidle housekeeping will be
done after the pending interrupt(s) are handled.

Enabling interrupts before entering a C-state has measurable impact
for faster C-states, like C1. Deeper, but slower C-states like C6 do
not really benefit from this sort of change, because their latency is
a lot higher comparing to the delay added by cpuidle housekeeping.

This change was also tested with cyclictest and dbench. In case of Ice
Lake, the average cyclictest latency decreased by 5.1%, and the average
'dbench' throughput increased by about 0.8%. Both tests were run for 4
hours with only C1 enabled (all other idle states, including 'POLL',
were disabled). CPU frequency was pinned to HFM, and uncore frequency
was pinned to the maximum value. The other platforms had similar
single-digit percentage improvements.

It is worth noting that this patch affects 'cpuidle' statistics a tiny
bit.  Before this patch, C1 residency did not include the interrupt
handling time, but with this patch, it will include it. This is similar
to what happens in case of the 'POLL' state, which also runs with
interrupts enabled.

Suggested-by: Len Brown <len.brown@intel.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
[Linux commit: c227233ad64c77e57db738ab0e46439db71822a3]

We don't have a pointer into cpuidle_state_table[] readily available.
To compensate, propagate the flag into struct acpi_processor_cx.

Unlike Linux we want to
- disable IRQs again after MWAITing, as subsequently invoked functions
  assume so,
- avoid enabling IRQs if cstate_restore_tsc() is not a no-op, to avoid
  interfering with, in particular, the time rendezvous.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
RFC: I'm not entirely certain that we want to take this, i.e. whether
     we're as much worried about interrupt latency.
RFC: I was going back and forth between putting the local_irq_enable()
     ahead of or after cpu_is_haltable().
---
v3: Propagate flag to struct acpi_processor_cx. Don't set flag when TSC
    may stop whild in a C-state.
v2: New.

--- a/xen/arch/x86/cpu/mwait-idle.c
+++ b/xen/arch/x86/cpu/mwait-idle.c
@@ -108,6 +108,11 @@ static const struct cpuidle_state {
 
 #define CPUIDLE_FLAG_DISABLED		0x1
 /*
+ * Enable interrupts before entering the C-state. On some platforms and for
+ * some C-states, this may measurably decrease interrupt latency.
+ */
+#define CPUIDLE_FLAG_IRQ_ENABLE		0x8000
+/*
  * Set this flag for states where the HW flushes the TLB for us
  * and so we don't need cross-calls to keep it consistent.
  * If this flag is set, SW flushes the TLB, so even if the
@@ -539,7 +544,7 @@ static struct cpuidle_state __read_mostl
 static struct cpuidle_state __read_mostly skx_cstates[] = {
 	{
 		.name = "C1",
-		.flags = MWAIT2flg(0x00),
+		.flags = MWAIT2flg(0x00) | CPUIDLE_FLAG_IRQ_ENABLE,
 		.exit_latency = 2,
 		.target_residency = 2,
 	},
@@ -561,7 +566,7 @@ static struct cpuidle_state __read_mostl
 static const struct cpuidle_state icx_cstates[] = {
        {
                .name = "C1",
-               .flags = MWAIT2flg(0x00),
+               .flags = MWAIT2flg(0x00) | CPUIDLE_FLAG_IRQ_ENABLE,
                .exit_latency = 1,
                .target_residency = 1,
        },
@@ -842,9 +847,15 @@ static void mwait_idle(void)
 
 	update_last_cx_stat(power, cx, before);
 
-	if (cpu_is_haltable(cpu))
+	if (cpu_is_haltable(cpu)) {
+		if (cx->irq_enable_early)
+			local_irq_enable();
+
 		mwait_idle_with_hints(cx->address, MWAIT_ECX_INTERRUPT_BREAK);
 
+		local_irq_disable();
+	}
+
 	after = alternative_call(cpuidle_get_tick);
 
 	cstate_restore_tsc();
@@ -1335,6 +1346,11 @@ static int mwait_idle_cpu_init(struct no
 		cx->latency = cpuidle_state_table[cstate].exit_latency;
 		cx->target_residency =
 			cpuidle_state_table[cstate].target_residency;
+		if ((cpuidle_state_table[cstate].flags &
+		     CPUIDLE_FLAG_IRQ_ENABLE) &&
+		    /* cstate_restore_tsc() needs to be a no-op */
+		    boot_cpu_has(X86_FEATURE_NONSTOP_TSC))
+			cx->irq_enable_early = true;
 
 		dev->count++;
 	}
--- a/xen/include/xen/cpuidle.h
+++ b/xen/include/xen/cpuidle.h
@@ -42,6 +42,7 @@ struct acpi_processor_cx
     u8 idx;
     u8 type;         /* ACPI_STATE_Cn */
     u8 entry_method; /* ACPI_CSTATE_EM_xxx */
+    bool irq_enable_early;
     u32 address;
     u32 latency;
     u32 target_residency;



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 15:13:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 15:13:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261559.453005 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD6TA-0006Bg-Th; Thu, 27 Jan 2022 15:13:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261559.453005; Thu, 27 Jan 2022 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 1nD6TA-0006BZ-QG; Thu, 27 Jan 2022 15:13:52 +0000
Received: by outflank-mailman (input) for mailman id 261559;
 Thu, 27 Jan 2022 15:13:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD6TA-0006BI-62
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 15:13:52 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bbd9c594-7f83-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 16:13:51 +0100 (CET)
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur02lp2058.outbound.protection.outlook.com [104.47.4.58]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-34-mg8HBOwMMyuE2qd1UH2CQg-1; Thu, 27 Jan 2022 16:13:50 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DB8PR04MB6683.eurprd04.prod.outlook.com (2603:10a6:10:3c::26) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Thu, 27 Jan
 2022 15:13:48 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 15:13:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bbd9c594-7f83-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643296431;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=gmEKu/9ca5lmYiJgoL5lXi4Mn2sZqGXi0uK5GeeQpB4=;
	b=C2oHqi4ZXxrvi8oVER2MvJpNLxYFuhZzmmdnqUU3GuAE5Oq0btFlp3ZSZVzQKLDGVDjyMZ
	UhqkGVRig6F9CCCxWxnEUW6+y9qycGm192w6KCMvAC0cWyCwVi0j+q+0r/1KHfprmApnSW
	5L76Ibbsf/jDr9Z/a9FDj+JJfCcY70w=
X-MC-Unique: mg8HBOwMMyuE2qd1UH2CQg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dsNlr4oZpKp8GfZFfN1suIJmAwFxkcE2Cq9YIIs5dZQpKRVs1kocqzfFPojCME+3eOqTT/nm1RjqU+hY4YEckb8PSsFveyIrlhMHEpbcbghyvYNp3JF9FKe6LyAxVPkzn98NdMVysqrJUJ1e5MV+GpH8+fNNMqkkjyDQ1NW3AlFBD7aj1ERxWiqlwYa97Nmam+Fw/CR5A/IutI1CGoBOFgnhyeEW1qEXBh1GRi6vc3qqFzsakv435J0pdkSGVW0zWuIjt8UjxkH3F3LE+USDHol8jOb7ptDD0xA6EeUW9DfYuSKiFH5FS+TNGxL3i1Je08F+lGvOsdjt1t3JQuVK2w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gmEKu/9ca5lmYiJgoL5lXi4Mn2sZqGXi0uK5GeeQpB4=;
 b=Ydc+5pSntp53rD5K+N2zq86zxPtNt7tilcg4t3L0ovdgkYTHUbQ82jnMb3755wo965CuWPsbmx3ERdPhBy4Gx7jBAhZJ98F8CUs43Xq/t8F+mwJjmxnrB8zqnWKvqwTFPtmQH/b8yP7r/tYKiekhyp+1AoftkGSjft3mN3UmEBIvMRMph/iHgjbHjUPlL4eUau10r0q47+A3GpWONi6zi7eHOmeBs8EviRLhjILclgGDYZyfd6zNaiggkgOfSgg4hoGrhrRBXibfKctYAMmxJTvecRvtSiZVO3nuwBXjArNZTIsXsbqjlI3jT8gg0WR7HkHSmD9Jl15qmrT0mDOTaA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6a9152e5-1a7d-c569-3483-66f022027597@suse.com>
Date: Thu, 27 Jan 2022 16:13:47 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: [PATCH v3 2/2] x86/mwait-idle: squash stats update when not actually
 entering C-state
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <faff6a1e-9f00-e924-9766-deda8f0b38c1@suse.com>
In-Reply-To: <faff6a1e-9f00-e924-9766-deda8f0b38c1@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P195CA0025.EURP195.PROD.OUTLOOK.COM
 (2603:10a6:209:81::38) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 917a67c5-ee72-4c07-7e0c-08d9e1a79ea8
X-MS-TrafficTypeDiagnostic: DB8PR04MB6683:EE_
X-Microsoft-Antispam-PRVS:
	<DB8PR04MB66836DCBA8A0F81309E3F595B3219@DB8PR04MB6683.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:
	DJcZPDBMuG0vJrK1J+pjqi9GyilvI6u1x+H3hCH3FrHO4kqCFKKZ9HilYiXAIDSc0TeKLnLLO/9E7m56oWbasUOv8KyBJLpmjlWktmK/SHBCS/eE8WkiESNlL6CzY7XQzioTG7RlHFzeqtLdg8kDpIC1TwKbfN8dQUBZgwjiOb8DCu990zb49V+PFjJlLLHr4LRCQXnCMrNu9ELAcsPt3Xywbphd9LZ6+6vepo5AawYq52vU4QB5sxpePXvn08f7PX9f7LYN2Whwife4e/iHD5X+5e7IhJtqvq/pX9BTyxFj2i7jn5QLhHeIAgEFtu0ZySQT9WVc75kNTF4gl32ogi2PBlw4GYhbI4OevHpWlPen1IwJTZ7Y/VE26ADbV2ln6pAQRVy0A7Qb5okvfn4+vMctiQKHgUSoQZ5Kc4/ArbblCMuoZHzp+e/l+J0BPvlRf5Q9GZkfTzOvJoGJTbaEUQBVijSbzz+jZc0dpecc+Mw0QbnLLEAG/XoPWccSOmtPR+2n7FIZKW6xymCM2tY4cCeoeE2ONo47b7fQ1C10KWFOmsMyw+8fsupiC82b99FdeEDYxH72iCooeLYIW8bqRO1X3tOHxLrksVa+mE6lKU9e8qnQxpjCMUka48EA7a1C0jrGo26D2NS7wy4XAfOn3zGNpx0mig0HUqCwrLIP13RfKbxUIOSeru35vPtftXRGSeFR7Be5JboXOPJUbr2MdYyZiKBdPabwtzqfujVmcavqNzKHvs9l8AOJOozmlI1T
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:(13230001)(366004)(6512007)(508600001)(2906002)(26005)(86362001)(186003)(2616005)(6486002)(31696002)(83380400001)(66946007)(6916009)(316002)(54906003)(15650500001)(5660300002)(36756003)(4326008)(8676002)(31686004)(38100700002)(6506007)(66476007)(8936002)(66556008)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OVdtQk0yWW10akh5WEpINWlCZ0cxQ2N6djRlZzV4eEFJeHVpNWxFT1JGbGl3?=
 =?utf-8?B?ZEZRRmlGMy8rSmw5cVh4SHhOT0hzQThQbjFNNlFyVSt4ckozYjRzeW5UZ3Iz?=
 =?utf-8?B?WUNWTlhTLytlVDNuNzRtdGtiSHVWdzhhbXJHcDBzQ2h2R2hicEJzbHhVdFQ2?=
 =?utf-8?B?a3FSNGlDUXBheXNsbE50c3VGamR2RUUrWkFFZUdIKzZ2VjRMZHJ3NDhrM08v?=
 =?utf-8?B?ZkV6VFBuZGk4TklYSjFBU1pBQzF3L1lxVEJ4eDFYOEVpMzdXbjlmT2lHdHFW?=
 =?utf-8?B?b0Z4NXViM1c0VEJwVHRpcnA1L2FNRXI3UmRORXFmdFU0cFp6NDRYUWFqalNw?=
 =?utf-8?B?KzJQdlV3cFQ3RHNPWUNNRkNiRFFhTTErc2tIYmNXcWZUTUd4eHByM3JBczdX?=
 =?utf-8?B?RktHQnI4NGUwaTBFbEs5YnREYlhFR2I5ZFZQZ3ZFVEI3d3ZMUTN3dHJIY21M?=
 =?utf-8?B?djNLZEUxTGx0NWw5SVZkVFRwOGhISUtrME1uODZFV2cwVlNiWTB0TXdBa0ZI?=
 =?utf-8?B?ZTQ0UFlXMWlVZ2txTUpVUU8rK2JBNDVESmt3UjhOdWllOTcyWmhNMVk5d01J?=
 =?utf-8?B?cmwyWUo2SHZWcUlMZnA2L0l0bld4VzczTkNjd3ZTOG5hcjFCcGFvRGFZMWov?=
 =?utf-8?B?RkgzSFZrWGFreHNZd2t4a0hlZStxMTVqZStzZEZxMXFCVXcrRVRxdE02MnpJ?=
 =?utf-8?B?ZHg3cHd4bDdJbE1ocTlPNTRSNUthamUwT1JNT0F1MzluS3R0emZPdXJSeFJw?=
 =?utf-8?B?TjZYL0xZQlpndzZ2YXJoaTlyRDl0ZkdSUEZZd294TjVHZWo1ck1aMlNJSSsv?=
 =?utf-8?B?YUN0b3dkM3o5YnVRTEx2L0srb1NMditFUjZ0eEpwZlVUZXdQZnRBeDJhTkhQ?=
 =?utf-8?B?UGNScXhyQWhNWjhkSWZWUExJLzJtOVNUcHlmOEU2VE8reEtCZDlkSUdvd2Ry?=
 =?utf-8?B?dlZ6dElhUzR0bEx3STJGelJLQ0RoMUFjL0tCYUl2K0pTSG1OYkhJYmhtVXRQ?=
 =?utf-8?B?eHdmQ1YvMnBFTThMUm1YL1BSMnlWbjdzZkYvazZwVnQyN1lUK1hxYWFxQU9B?=
 =?utf-8?B?NW5ldXVOUGU3WXlQcGwyd1IwcVFWQW5adS9wSS9XZ2IzZUJhR0hkOU95VXk2?=
 =?utf-8?B?aitXNUV5UzNvRVN5WFFtZ2s4K3p3VzdaMlBwd3JwRktGMXpwbTdya0pSTTUy?=
 =?utf-8?B?dUJkNUZDZ3BvL0tlNEFmUkQ1QjdrbXFGRW41TFQ0enVEek5mSCtEM3ppTmxs?=
 =?utf-8?B?dDNSdER5Rnk1Sk0zYkpjeTYrcmwyTkoyWS95djJ1MWdwWW5VOE9SRkEzNGZ3?=
 =?utf-8?B?bmp2WW9kYkJYdFdKdVlRTjdacS9Dc2o2aHROME54aGhLbmwrOTFPZDJsVktU?=
 =?utf-8?B?MDF5WXdSMlM4YmJaY24rYlR2OHpmbmlLZFk1eC9WNkxiUG01c1lncTdYQjNC?=
 =?utf-8?B?b1QrU2dWQmtkSFdBTWV4TVFKcy96TEM3aFhWeWNSZmkwRTMzeHZTUDlOQUtl?=
 =?utf-8?B?eVkyMndZQjlJT3krVlVWck9HZC9qODk2bjR6SjF5dXA0dWNWNzBodVE0U2tM?=
 =?utf-8?B?NkR6Ukl4L1lNelhpZitBVVNRSVlQV1h4NTY5dURaNDUvQUdmdUlwL3JhRUcr?=
 =?utf-8?B?bTljaGgyVkZuVmVGenJicEFsanJnaERwZmFNemRYbHBpc1VjakJBOUVxZW4r?=
 =?utf-8?B?VnUyL2ZScngrN1RIUmEwZ2dJblBOc3JZaW94N0U2ZHlCS3FlZEJreldjcWFx?=
 =?utf-8?B?Mk5uWnB5VUlER085VTg0WGdXN0dQZGJmdno2d0RNWjhuZHl3RktHK0FXTjkx?=
 =?utf-8?B?ZWtjTzcwZnRweXN1TVZJZXkyMFRPUE53QXFyc2thNEIzaTlCTlozeFZnWklW?=
 =?utf-8?B?ZjFvc3FRdEFuVjFXRjZIR3dUU2NQY2w1cmQ4MmVDNlJScUp1U0ZJVzJpYWFF?=
 =?utf-8?B?SXorNEJWMXgwZVVqSTVUMkN6WENJckdKa3E1V29TVVk0QzU1QVRKM1pDTWtF?=
 =?utf-8?B?RDVrNURoRHkzS1ErRjdmM1ZrUzUwUCtNTVVlNkk1M0k2eTllQjhkYXM2eWxk?=
 =?utf-8?B?VG5SdlpwQ0dieVFHVlBJRUR0ZWlUL0ROYS9KM3p4djhiZExoQXBSTnJLYkFC?=
 =?utf-8?B?UFRMTGQ5WFV3dUoyV0NRbE5ZN3YwaEdjOUpheVhrdlpDdmxOVS93Q0tnNjVB?=
 =?utf-8?Q?ase7J5p0s5KnQ3mL1cCRz5w=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 917a67c5-ee72-4c07-7e0c-08d9e1a79ea8
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 15:13:48.8360
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: SszrsmfOrgtHE1Q8VPFjGX3ABaL7clHQsdMb9m3tI/DN3uwTY+0mlNufUE20N90N63rdBj19jxZtGyrTw3xvtw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6683

While we don't want to skip calling update_idle_stats(), arrange for it
to not increment the overall time spent in the state we didn't really
enter.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
RFC: If we wanted to also move the tracing, then I think the part ahead
     of the if() also would need moving. At that point we could as well
     move update_last_cx_stat(), too, which afaict would allow skipping
     update_idle_stats() on the "else" path (which therefore would go
     away). Yet then, with the setting of power->safe_state moved up a
     little (which imo it should have been anyway) the two
     cpu_is_haltable() invocations would only have the lapic_timer_off()
     invocation left in between. This would then seem to call for simply
     ditching the 2nd one - acpi-idle also doesn't have a 2nd instance.
TBD: For the tracing I wonder if that really needs to come ahead of the
     local_irq_enable(). Maybe trace_exit_reason() needs to, but quite
     certainly TRACE_6D() doesn't.
---
v3: Also move cstate_restore_tsc() invocation and split ones to
    update_idle_stats().
v2: New.

--- a/xen/arch/x86/cpu/mwait-idle.c
+++ b/xen/arch/x86/cpu/mwait-idle.c
@@ -854,17 +854,23 @@ static void mwait_idle(void)
 		mwait_idle_with_hints(cx->address, MWAIT_ECX_INTERRUPT_BREAK);
 
 		local_irq_disable();
-	}
 
-	after = alternative_call(cpuidle_get_tick);
+		after = alternative_call(cpuidle_get_tick);
+
+		cstate_restore_tsc();
+
+		/* Now back in C0. */
+		update_idle_stats(power, cx, before, after);
+	} else {
+		/* Never left C0. */
+		after = alternative_call(cpuidle_get_tick);
+		update_idle_stats(power, cx, after, after);
+	}
 
-	cstate_restore_tsc();
 	trace_exit_reason(irq_traced);
 	TRACE_6D(TRC_PM_IDLE_EXIT, cx->type, after,
 		irq_traced[0], irq_traced[1], irq_traced[2], irq_traced[3]);
 
-	/* Now back in C0. */
-	update_idle_stats(power, cx, before, after);
 	local_irq_enable();
 
 	if (!(lapic_timer_reliable_states & (1 << cx->type)))



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 15:35:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 15:35:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261567.453016 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD6nw-0000NX-SD; Thu, 27 Jan 2022 15:35:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261567.453016; Thu, 27 Jan 2022 15: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 1nD6nw-0000NQ-P7; Thu, 27 Jan 2022 15:35:20 +0000
Received: by outflank-mailman (input) for mailman id 261567;
 Thu, 27 Jan 2022 15:35:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD6nv-0000NK-Uf
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 15:35:19 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bb1b03ce-7f86-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 16:35:18 +0100 (CET)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2051.outbound.protection.outlook.com [104.47.14.51]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-20-NuPJrPh0Nlmj-PGdE7Ua7A-1; Thu, 27 Jan 2022 16:35:16 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AS8PR04MB7703.eurprd04.prod.outlook.com (2603:10a6:20b:23c::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Thu, 27 Jan
 2022 15:35:12 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 15:35:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bb1b03ce-7f86-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643297718;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=gPujNYUxo+0Gasu8USXOZu8hbrzsyrESsyFPFo/qBsE=;
	b=FGcj/SDArLxmNnIbmhtOb0CjoY/gHdNDO1TC/qLO0CeTndlEB6KCs4VPVOHasTxhjoJYpT
	d/mHGxQjiSpCiW/zIxE7mj1BsxbGbsulJpaSY5ZxGlXb5+otNtiX4p9NwI5uuV2rR5MQGb
	xmRRJ6mDcsuT5tV6Tc3dFPl0qnHx3Ww=
X-MC-Unique: NuPJrPh0Nlmj-PGdE7Ua7A-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cFWUXvH61WpszFfFWLfI5v8ukv2Kx3Vn/YFVB1Z8xz9P1Yu3SD0OxTaGI5kyjSrX1bupZqvMTJLy3Wxq/HGvGhl6gxU7AQgihAirKZrXtA07xEjsKjB8ev+iYI29oxac1mUO/CAFH7dvhR267v8Zc9jssaYp/vRDrX721GJS3TNPtjeF9l/suTioC1BNOWtAsGtf7xvWT5Lg4s28LE3pM0oUjRhtqPgFzSll6Xv/cAUQ7NFT9NF/dFBf9ovID6Af5WWBq5jo5M2/UOP/g9mbX0QVGlLIVuREL5yrQkfxS0Jmf7mV3GrHXCqW7ZqTgbDUlVgYU0sadnU3TNS91QEqJQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gPujNYUxo+0Gasu8USXOZu8hbrzsyrESsyFPFo/qBsE=;
 b=FAKSBqEexS0QoG5toNZDnzbd2pp2TFq1cymL9unGQOG7M3mQxSSesu+HDgqzyASYNBDHee5drGz96e/3F0EW/U0D/pueBsqCzN4clIxee0Kp6TWLNUpASxeFRt4BGeXe4RvlFM+17t3kM04EPDbhKtJxzeTVFRBoi2uamTpP01hB6ZLBZ0w+C9WVqykkasRvilog9P8RA1wZedIL6niz5Q+cJkGZky3f0nh7cW7AL/PeB3I2o01fF2dO+/ND99RzMKTINTMwwXzgO2u9bBTe69NfRk54GO64SSc9m9vDHEWhOQqaq4Hm30duQLzkcjC5dZWWDo2j3y2FI1iJENNZHg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1c0beb93-0d8c-ab47-cc33-3a8554f41a9c@suse.com>
Date: Thu, 27 Jan 2022 16:35:10 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [XEN PATCH v9 01/30] build: set XEN_BUILD_EFI earlier
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20220125110103.3527686-1-anthony.perard@citrix.com>
 <20220125110103.3527686-2-anthony.perard@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220125110103.3527686-2-anthony.perard@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0158.eurprd06.prod.outlook.com
 (2603:10a6:20b:45c::16) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c7038699-5e9e-4d1e-6e2d-08d9e1aa9b4f
X-MS-TrafficTypeDiagnostic: AS8PR04MB7703:EE_
X-Microsoft-Antispam-PRVS:
	<AS8PR04MB770364D00A16605C74407A26B3219@AS8PR04MB7703.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:
	vjKyHkLnkJi5yCZgMmnzLjkBTqL4leI2+u04M4+5JnVOVze2QqOKWW4Vr5ly7sIGhacY+K1JaA/WKO+GQsIGctzu/HOX3wbY0f3ipn/rgfiWHxRXKm23plvwZYQ/TxJxwcO+rAh2ndnOUUiKV54B2P1V50z6s9mQLCgj3DDlI3gQtKfxSoLfpJsuLfVpeplv5yP7S/GVNl7hy6oSz9RTcKn2MUzFEKKNOuSvuBIw9ktgfGwWsYSGXT1Cbq9NAQ1NjHDjJOuUSkQOpGDBu2R5TRQbJ96MjY/bbWk6fEsK76v8amlO8GAJkr1ATSV1R6d0qLZnx5yuC5pIkeOTQ73lNVoTHL8V+DFrfFuupeXkpdDEPF4ouLvsSZsFqRu1quYHmpRhMHrCsh4GWrp3TJxrH6I4qGwzq0T3seNTE5g3PvdmTBAzbdOjHRUE25lCwzGQilKXz5kW+lQHWq4B7Czu7ZZgKZUfI48qvgBNJ5c7CTirIJQek5S/4AG+KWskyc8H30WDttSyE9QagllQQ40+czvd8a4oGBZ7xO2ipnCeJP8I03AHOFSqVONf+BaRHYMl505nx2aFTyhLm9BZHzZyPsaIo0NAyiiEmwzdWsoVVWQ6lk6XLAkAaI+rY5op5Qq+ivecZ04TMIvEZPl228nfe6n86SKairDQYfwjMVTD4ugvCLT0NC8iimpdGRy+5qVoOk5itUPrEEacoEjFyEEj8WXNrTUNnJuqi1mL/fMatsA=
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:(13230001)(366004)(186003)(2616005)(8676002)(53546011)(6506007)(6512007)(26005)(83380400001)(36756003)(4326008)(66476007)(8936002)(6486002)(508600001)(86362001)(5660300002)(31696002)(66946007)(31686004)(66556008)(38100700002)(2906002)(6916009)(316002)(54906003)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UEo1SmVsRkdrQ3dqcXhIRG1ZUzRFMWk0R0t2KzRFdk1Fdk5FTmV0Y2pNQlVu?=
 =?utf-8?B?ZUFYNE5tSHd6bkc3c3hDMmZFRlhYbG1YSUxJUWJIU25tWXhaNGVYRGlxaHJF?=
 =?utf-8?B?TTFZUDlmK0hzd2FVRmRVMmlkRUIxeHVTbGVkZVIzMEREc05aTHF1UFVFZncr?=
 =?utf-8?B?UTJPTWM4WnN0MlJNdFJVUDUzRmZ4bFlZaUxqc1hJMVl6ZDdKSmhEUlo5NDBF?=
 =?utf-8?B?cEhhT2RRblB3d2VjeDAvcy9DSHFmaDd0SzJVSGJqdW9HZXA4U3lTQWQ1eFY3?=
 =?utf-8?B?UHJlenhaa3ZRNSs5VGhISmh4M2pTSUhQRlhtZ3pYYzNGVzVrQmI3N2U0SXNn?=
 =?utf-8?B?NEhyb0ZiSWViWDRUa1ZQWm5LSjQxcGI0ZnJGUnVmQUo0SkZCRFhhRlU0QWJN?=
 =?utf-8?B?S1V3NGlPMmhDWE0vQS83RjlkVk1XdmpyanhvUEZHWVI4YVdXcjIvelpmaVdS?=
 =?utf-8?B?OXI3dDlmVzNSZ0NKNWNXenlTNzVCakRXOWV5SUVDM0hGRUdJVXdBbmtvZGxh?=
 =?utf-8?B?a3B6eWFCZHIrU08zM3lsYWdjb3V3NzdhUmdXT2R1SDQ5MzBhUjlubkJFUDZC?=
 =?utf-8?B?ZXVrMmhKWWhOSGEwMXc0MDJCdHpla0c3eG9KSUU0Ui9sK1ZwWmhoRFZVQ05E?=
 =?utf-8?B?ZVI3TFlYbm91SnE2UHU3TVZMclNXSU5DVjcvSUswR2RDcHlRQUVUdzQvT1Nl?=
 =?utf-8?B?eEZNR2pnRUtvNVpZM0FnKzdTY3lDTlUxU0FMdkp6N1lJUmFNMmNMZWNsVmRC?=
 =?utf-8?B?bS9oYWFpalkyYS9sYUZtMmgyK2pVbmRpNjNCK2sraUNkMVEwZVNqTkFEbDRn?=
 =?utf-8?B?bUJDMXdVaDVuajlkeUZ4anZqY2pYc1hnVXlzL0twQlBLQlJEQ3NhOXJvcTBl?=
 =?utf-8?B?MDMzYTJtNXl4bHMyYnZZRlJGRy9VL0NCVm5YM1hnTXJxWEZ1bjNtc0RsZXc3?=
 =?utf-8?B?ZUcvQ2pHbDQxL25QVkZjSE1jN3VKbXp4dlJVL0ZnbEorQlkzdktkNjNoeHp3?=
 =?utf-8?B?R0k1Z0VpazFjTWpGZnZETU9aQWdwbUl0VUQwdXkyNGFrc05CSVVzc242RkJD?=
 =?utf-8?B?L1VRb1RabXpxWW9hYUdpNlhyai8xMjFrcFRMN25XK3B4Nmtyb0JOb25qZDlB?=
 =?utf-8?B?dC9EOFkwK2ptZEIxV1drdjNpcXZmSmdORzRWNmdhZ3VpaFI4OGFGN0xaMFJT?=
 =?utf-8?B?UVduT1kyQjdsaVlnL1ZEMUsrUHZtQVphd1djaXhhbnU5bzQ2aTZPdjJ6bEZz?=
 =?utf-8?B?T1lFUnNjbHFtcGxNTHBtVGZLM1g2RkhGZ3pmR3hJbS9xNUpENk8wR1V0WG10?=
 =?utf-8?B?d3NWNURTeWh6cmFXRUpVdHRGdkorTVBEZ000WVB4UDd3YmY4TUpwMEdpcnRL?=
 =?utf-8?B?YjAzWjhSWTFURmwzM1J5QUl0b3laQ25oTS9Yd3JZdkZLRHVLU3BNTEpHUTU5?=
 =?utf-8?B?cXpHRWtESWQ0bHB5UnRaZXFXcGRiSVFLTHM0SUFCZitIdEJkcDdOOTVSLzho?=
 =?utf-8?B?YnFiUy9RQ0tuTWw4S05Iay8rNExOSVNQK1F4b05MWUNaTkFqa0RrVjZVbFgx?=
 =?utf-8?B?VmtnYW1ncWxHQTkycWorWG1XM0JwTGF3eG0vTXlQQWd4YW1INHkra1E0c1ZX?=
 =?utf-8?B?bzZUKzYwMHBHdTlKS08zTEFFOVVvbTBsSlFNUlZhRUYvbUNLbXJXZWlRK2dB?=
 =?utf-8?B?cHBVWTdNVHhoOU5JeWgyRmdiTkN1bFI4Y1VIOERId2hQbWV3MXoxTExheWpE?=
 =?utf-8?B?MTU5ZXJpV2RWNytFYWdDTUZuR1NrU2FDNXYrcnMrdWQrOFlIUFl0SGFncDRE?=
 =?utf-8?B?dzY3YWdsZVhJOGdFa0NvUzRSWHhpREF5V2FNek1VYjV2VlVjblZXRnhUdUxM?=
 =?utf-8?B?SXEwV3JCYk9xRlhxMGJFblI3Y0VlRmJDUjQ3Mk4vUEJWRVZhTTIvam5MQUhl?=
 =?utf-8?B?Q0FPOTNsSFN3V0htQ256eFU5dHkzMHhhczA3eEhVaUhraFBxMGhKUkJ3Q2gw?=
 =?utf-8?B?eXRWOHdFTmYwK3luMWhUWWVQWnc2czN0Zi82R1lLWWRzYW9LUWdtdXlvLzdx?=
 =?utf-8?B?ZEMwZTlyWVdDMUt3NWtlN0tQa0V6RVBkdlhuZDkrZUwzdUMrQ1BsbWtTcnRS?=
 =?utf-8?B?ODN3cENRYTFoREVuWktURVYwV05VdnlCYVJwSmxuSDYxNGxTbzdmM3JobHR3?=
 =?utf-8?Q?wbZZP3VHLeOeqBT9lOU2k8g=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c7038699-5e9e-4d1e-6e2d-08d9e1aa9b4f
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 15:35:11.8030
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: KQ0wsfp0IrSIUzqsNHOSRrFQkwOK8iQewgLCnnj5iy23iQjaKgdRDy7vuiLiAKc6uUlXO9neMDUG9v64Uchv5g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7703

On 25.01.2022 12:00, Anthony PERARD wrote:
> 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): 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-nr-fixups) as the former might be
> a bit too generic.
> 
> In order to avoid exporting MKRELOC, the variable is added to $(MAKE)
> command line. The only modification needed is in target "build", the
> modification target "$(TARGET)" will be needed with a following patch
> "build: avoid re-executing the main Makefile by introducing build.mk".
> 
> We can now revert 24b0ce9a5da2, we don't need to override efi-y on
> recursion anymore.
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 15:37:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 15:37:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261571.453027 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD6pZ-00013H-7D; Thu, 27 Jan 2022 15:37:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261571.453027; Thu, 27 Jan 2022 15:37:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD6pZ-00013A-3u; Thu, 27 Jan 2022 15:37:01 +0000
Received: by outflank-mailman (input) for mailman id 261571;
 Thu, 27 Jan 2022 15:37:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD6pY-000134-4u
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 15:37:00 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f7045062-7f86-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 16:36:59 +0100 (CET)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2050.outbound.protection.outlook.com [104.47.12.50]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-5-0MrOuMg-PGuR1HQbBKEZbw-1; Thu, 27 Jan 2022 16:36:57 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AS8PR04MB7703.eurprd04.prod.outlook.com (2603:10a6:20b:23c::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Thu, 27 Jan
 2022 15:36:56 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 15: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: f7045062-7f86-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643297818;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=xB3AFYw3k0IzWWRUZBVRAMh5OlFxd6ihqY0OgI0bpUQ=;
	b=N/fZanLdPfiSIKeI1NRlsGK8xB/5cJ9usZE6Kn4KXEiJHY8t0exclLzsSAp6AE7Mzcjk9F
	5+ZlSFznwB+5i6qUWSS5RPFytKqdJGU9HWs56jhoIZwgzcYBsgs+XJoxI8MtjGDqpr3lHj
	08G/NdBuQXg6vBguBlyMTazL2Fd/TSM=
X-MC-Unique: 0MrOuMg-PGuR1HQbBKEZbw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nIzFP09X+zIKQg50c07FeOoGGVNPhJVfKleeqc4RivUwAbMsRKFwBZLw5vCsd1YnQdRG5uamMPmx5npi5Ffcwu35u46wKWxulRwVkAkTjyF/R++W5c6xNNNqbP+MREXUCe5UnkrL2QrmJFcu3Tx+zf9Siyj2JAnj6rQYpbyvIjRqrbyvj/qwv+fe5w+Q+p7M/B+8wr2h0QzHF3efxrfKq8+V3G+ka1K9yaLWqgjEgGzNIsc9zHXX7YD3VIeFp8Igzj3AjI/nBhIgQ03ODiqFnNmA/sm8/mDy6Luinu5kBZEpC8PedN/2CsvUdcrFf16EwroaLuoi817rGn2bfgLL2Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xB3AFYw3k0IzWWRUZBVRAMh5OlFxd6ihqY0OgI0bpUQ=;
 b=YhGnzqBjy2aiTXLEawKJz3n7ozoZlcSi7NuV9iC/gkwANqemubIanWv1DpNsg2q55GmNvYSNGAsECFWHDXhuGfNMUadrkKs0kB2I4TFjo6/7a0Heo590T83CBAFIXbsTZw8rWark4/HkSU97dSHy4sQRty1hRjo24myg2q0poxJBdwv0pDT39dYiMuRKp572dxCvtP3qsvQYd2DkV9o1E4VDqO6q5Uu4x0KJF5M9adMKs9ogQb227P0VeAlC9eb+6X/xDKlTJd1uxPnGA+I+1lSIUvp3EVSafkOnlo1D5MrCarj2/l/4WtVy+XeRYmzzk72oTNJzr5EQ6S2mbVxtNg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3ac912e7-d250-5e3b-33b0-262c293cf045@suse.com>
Date: Thu, 27 Jan 2022 16:36:55 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [XEN PATCH v9 03/30] build: fix exported variable name
 CFLAGS_stack_boundary
Content-Language: en-US
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: <20220125110103.3527686-1-anthony.perard@citrix.com>
 <20220125110103.3527686-4-anthony.perard@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220125110103.3527686-4-anthony.perard@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0399.eurprd06.prod.outlook.com
 (2603:10a6:20b:461::12) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 61bbe9f3-8ec6-49e6-cc23-08d9e1aad9a3
X-MS-TrafficTypeDiagnostic: AS8PR04MB7703:EE_
X-Microsoft-Antispam-PRVS:
	<AS8PR04MB77036866B9F04C6757F2DA1EB3219@AS8PR04MB7703.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:
	a1BeSpSdlruagvcrICFbYyCluozSGyvM7HX+E5J8rAr0auxPcWo/E8OH6tix0QIAqybBq6Q48JyT8B1TwX3bE/Hxp9zGOemj98zkjnhz2RyjuqFuRCk+YtGFUppleb01gSf1UDOmHuh5saj02aCcdfCKU9N8+LoBDxIiRNNevVYmSdYY3BjLBubl+J6mhxTB5xlj1p9gfdfxq6IFrRPc4aOpgVhE2o56Or/zBVp4boAtLPcDHK98rNMMkbogs7JHk70KKi4jAUxlS2FldVoCwj0R3bk38kHABBCsNwFvN1By1EzCh3HTrwgyVenjlL5dfi6hFPzN/IHsvUYjAPlB5IM+0v4789yifavlY2OGipT4NlsUAZpnyxg5/ka396ralLZ0ddMAMfblwoyVtZzNLyCPFuOuY/pt7e60Cl2xggFYJlmzV/AO3CNMJjww4B+Q6lkU4YnXHyhBaeqeG2OLKd2D3YgoDpdFZElAYd6qWADKs6TnD/M9mSALTUxqS8d6dVwe4IqDD7HqE4hogZiHGgeQNzxALm6W+fJmEX8hiRHUoU9Af9v5iJ/eq2qF3maVmON5qX9rX6e/gwgF/o3e2jjm5XNxvxm9mhZOmXgwAf0jdFojBuzeg3QTLVkK4Ed+7RESClM87juuOP2hnwD9XM9LYbrj+9hEtTHdMM0lEEVLwKHuMO+QsA5u7opCi1k3VYzF0xezXNHN5KQv4R0XA0bTZxz2m/i4v0XRrNnucnxzZUR5qGqGERd+vMzRMbbK
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:(13230001)(366004)(186003)(2616005)(8676002)(53546011)(6506007)(6512007)(26005)(36756003)(4326008)(66476007)(8936002)(6486002)(508600001)(4744005)(86362001)(5660300002)(31696002)(66946007)(31686004)(66556008)(38100700002)(2906002)(6916009)(316002)(54906003)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZUFSTVd1azVnR2ZZRjJUWVVEc1gzWnViY21LT24zK0hFVmx1WkVpRTVMbGhw?=
 =?utf-8?B?WXRTWjlpWTUySjdKbkJZZnRrSDkrUmJTZHRGZWlPaHo4R1dDMXU3NUZHeFVx?=
 =?utf-8?B?V2ZNTzdmSXIweHZib0FuZE5PTWJnRDI5eVhJMkFjb0dsZTJIekQrcFRjRDFJ?=
 =?utf-8?B?bmtPM2F5U3dBYkl5WXUySHdMMDEzSHZXb2VicHcrUHlnM3g2b25oQTQ5OGpI?=
 =?utf-8?B?cUhGSXZxUllzc0c4ZzhnUThqM1NZZkxIblprMUdLSEh3aUhvTkJTWGl6eWE5?=
 =?utf-8?B?TXFUWFlLTGNIQ1JCME9mWHVqOFY4OWtjR1hLZTJHYlJQTVJQZWYremNKaGJ6?=
 =?utf-8?B?RFFMVlcwTzJZUWZud1B4c2RScUxVUkVmc0NWWXJaVTBQbG9DaUM1YWIzSDdI?=
 =?utf-8?B?Sk9CQ2hYUFBHMHhvUlQrUWVWYXFZTWNiLzdrZWtkRzVyeE1LNFRhYUU5OVdj?=
 =?utf-8?B?aG9LT241SVc2RStFRS9qc2grRFkxL1NLMkk1YU5GWERVWUNWNnJ6QSt0Y3Az?=
 =?utf-8?B?VnkvTjJ5cC9HaHVNTE04VFJkMXdnQ3ZEb2hMTTBLemFQOE9UY3NlQklRZEdW?=
 =?utf-8?B?SjQ4TzhnNjVjWjcyUlNHeUxKTmV4d0FHMUtqNEdtZzdtMnpkYmk5ZTRsUzRh?=
 =?utf-8?B?ZlAwYURSaFBGaGd1aWlQdkg2SHhpVkVVUjkrbjVnSHFlbGk4b0NBdWhJTUJO?=
 =?utf-8?B?cmlzdjlSYUgxQ3ZWRVFEZU1KbFpXZjJVRVI3MC92SENUVzNITi9Vd0NTZks0?=
 =?utf-8?B?VUlvS1BPZ1dxWXFQS200VXNuNUFsTU9wU2doMklEK2xOcVkrTms3UEdhaGVK?=
 =?utf-8?B?c0g0Y3ZlUC9VOTNlc2NGbGhpQjYzeTRrM0dHWDhzT3RRRDJZbDc5bVY2UGVo?=
 =?utf-8?B?Z1R5NlYzVEtPa2lvVDZyQkdySVBzT3M5MUZidXkzTW9EdkRnbzJiNnNyTExu?=
 =?utf-8?B?QVYxbktPbjRJY25vWW4rajZhRWxIMUxEaXViVlNFY0dzZU1CRnBaWWFxYXg5?=
 =?utf-8?B?NWhFZ0xySmw5b2FYMFo2M0VKRXY4dmZMMzBqNWIvOWprS24zVk5JNHFtb2lK?=
 =?utf-8?B?MDAvVU01QXB4ZHNzWTd1Q1o2Vk1TcDlXNEhmVWJVa0hFdFBVU3MrUWtqcit0?=
 =?utf-8?B?T250RWVjUWk2RGU2d0JscTIrcnRVQ1hhRE43SDEzckU4UUhkenVnR3RmbFFM?=
 =?utf-8?B?SnNhdU43SkpIQ0o2N1prSC9VVUFzSkdmeFg5OEJXakYvb2pvOTBmSnpkSUtP?=
 =?utf-8?B?UTdDRHJPY3Vmb0cyZHhieVZLQmM4UXRjUTBpd2FmTG5pY3lXUVZnY0pSSzBj?=
 =?utf-8?B?Z29lV1lnY0V3Yy93VXorL2RHSWFrUEZrT010bStDL3JiZnhjaW5XY0I1RG9U?=
 =?utf-8?B?aXRFSjZkejkrQTNFdnI3SjBJRnFiOHhqOHk1SmNsMnk0MkpzN3dMRUxObFB0?=
 =?utf-8?B?ZDNlaEdHWE9SOEJuSndNNGhuVmx1aVU5SjNacUw4VkJjbDRzV3VXSWJZcFpu?=
 =?utf-8?B?ZXRuN2hEWDMxZHJBWTczdlMxUFc5dUtaYkE5WTQ1K2MwNWVCb1ovcUF4bzVF?=
 =?utf-8?B?ajQwUVJycnF1S25OTU1RREtObzN0VkpKMjl5WC90Vkk0YXJqVFZZeG9WQ0Rv?=
 =?utf-8?B?am1ZV2xva0xCOXNsSzJxbWhKenN2bjBBMDhhanQya0t3RUFyQXpZK1B3YlFx?=
 =?utf-8?B?cS9mNFl6bTFPYTZqbE9ONk1oWGpHVGx0RDFwRUc5WFF2TEM3VEVTRXR5VkNl?=
 =?utf-8?B?YS9TUmN2VHVWRTBkZWlHMDI5Qkh3V2FBWkdrU3M5WEduUVJadGJGSUN0OCtX?=
 =?utf-8?B?QWpKVE5KYUw1ZjlBYTY4OFgzTEdwYStPeXY3bGFHa00zKzRLV0F3YlNoOVBv?=
 =?utf-8?B?MHVwemN0MVI4Vmwrdi8weEcvbVBBUnk3eXRmUDRaTUlhekVsYmx1Q0duM1Uw?=
 =?utf-8?B?ek9peWIvL2RIbWRlUTZmYUlBcVhYdG9IR2VlVUJMZ1FKTVhIT210TnJzQU04?=
 =?utf-8?B?eUllSHpKZmZod09YNExHUEM1OUlkU3VnNEZ1THVNbHAwMkM4ajhWT3ZiVVZ2?=
 =?utf-8?B?aGtGbGFhays1anBQTXBFWTFyaUNiUlVjRmFqQUQ1TnkyVWxHZXg3STB6MjNt?=
 =?utf-8?B?a0p4OHhLdkovUGFQS1ZTNW00MkdwTjVwQkJIbW1LQk15anc0bUF0SlZlS3Ux?=
 =?utf-8?Q?oCAY4U3uJn51XpybHmUDLW0=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 61bbe9f3-8ec6-49e6-cc23-08d9e1aad9a3
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 15:36:56.2966
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: z7Q6QtV3ADpdYR+h69RDfEv3D1cdK0A3WeLn26ExmUo1kWcHoRpWqwN6FHrRRUGfUCvd1Kh6m2EQBHgvw6V44w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7703

On 25.01.2022 12:00, Anthony PERARD wrote:
> Exporting a variable with a dash doesn't work reliably, they may be
> striped from the environment when calling a sub-make or sub-shell.
> 
> CFLAGS-stack-boundary start to be removed from env in patch "build:
> set ALL_OBJS in main Makefile; move prelink.o to main Makefile" when
> running `make "ALL_OBJS=.."` due to the addition of the quote. At
> least in my empirical tests.
> 
> Fixes: 2740d96efd ("xen/build: have the root Makefile generates the CFLAGS")
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 15:48:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 15:48:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261575.453037 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD70e-0002aS-8v; Thu, 27 Jan 2022 15:48:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261575.453037; Thu, 27 Jan 2022 15:48:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD70e-0002aL-5r; Thu, 27 Jan 2022 15:48:28 +0000
Received: by outflank-mailman (input) for mailman id 261575;
 Thu, 27 Jan 2022 15:48:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=T5dr=SL=xilinx.com=ayankuma@srs-se1.protection.inumbo.net>)
 id 1nD70c-0002aF-5z
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 15:48:26 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam08on2061b.outbound.protection.outlook.com
 [2a01:111:f400:7e8d::61b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8e881a81-7f88-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 16:48:24 +0100 (CET)
Received: from SN6PR04CA0104.namprd04.prod.outlook.com (2603:10b6:805:f2::45)
 by MW4PR02MB7122.namprd02.prod.outlook.com (2603:10b6:303:76::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.8; Thu, 27 Jan
 2022 15:48:20 +0000
Received: from SN1NAM02FT0035.eop-nam02.prod.protection.outlook.com
 (2603:10b6:805:f2:cafe::6a) by SN6PR04CA0104.outlook.office365.com
 (2603:10b6:805:f2::45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17 via Frontend
 Transport; Thu, 27 Jan 2022 15:48:20 +0000
Received: from xir-pvapexch02.xlnx.xilinx.com (149.199.80.198) by
 SN1NAM02FT0035.mail.protection.outlook.com (10.97.4.137) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4930.15 via Frontend Transport; Thu, 27 Jan 2022 15:48:19 +0000
Received: from xir-pvapexch02.xlnx.xilinx.com (172.21.17.17) by
 xir-pvapexch02.xlnx.xilinx.com (172.21.17.17) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2176.14; Thu, 27 Jan 2022 15:48:18 +0000
Received: from smtp.xilinx.com (172.21.105.198) by
 xir-pvapexch02.xlnx.xilinx.com (172.21.17.17) with Microsoft SMTP Server id
 15.1.2176.14 via Frontend Transport; Thu, 27 Jan 2022 15:48:18 +0000
Received: from [10.71.119.211] (port=53640)
 by smtp.xilinx.com with esmtp (Exim 4.90)
 (envelope-from <ayan.kumar.halder@xilinx.com>)
 id 1nD70T-0006kG-NF; Thu, 27 Jan 2022 15:48: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: 8e881a81-7f88-11ec-8f75-fffcc8bd4f1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dH1Nkfo1WAV6jfQ6O7pVwNce5+bcZFqItS8cr5aAuB0mHXs7lF7/jxgwX2QaIktCtviqztV/iDYElhOwhaRQfOgzroCOtTgxzo4e4qVPv/a7fcBKhEWwfzrGROeoFCmDs46iokm9THJVBSHnmeXdhymJBb6RFsg0nth3aNWEtOwjf+einJ2+ORZqWB3d85wXc+kOknN6D9xF/ZP/ydaRzYbbDe4PVpz43Pi3CBsD96pKvlV80eT7h7v7QWWh4FKEgsHeNDXDxVyuqIHDeNc18snBq79WA43yTP9iew/fCat+8bQ7KBpOicHk74IdXD7AiI+ERfPrZvcht/8u9FjxhQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TJV2GIf50jElWiSP06bslgEuffoQFwZvW85RN1gxl3U=;
 b=nKWI51Jmum34q7H1aK66twXuGQpgDFAVTvuDFQ/YBUh4RmHO5cD0YPkk4MiIbTPZJD3THbaBNEEdsCo5ixCGiyM9jlsaW5hx5AlfmywLx4ziAaqgt01gj8jpppmLs+yFF8E28GLf+YrBMF4DWwkg9WFGzAg3mQ5UVPAVZFltyrbeh6WL3BjQoEeokLqYvAGZIjnf3B5ra12HIXfvgShN5lbuAJ3pM3I/3QKWjh/FWDA+2rjgrg1U26ZW37ic0BxwUFEmodBRre3v+fhkT6jYcOAcv/w4DwGNSBhFclU0BfT5Xxz2Samh9w3gdLnWs3PseDdaBkIU81VIOtL5XGdqzg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 149.199.80.198) smtp.rcpttodomain=xen.org smtp.mailfrom=xilinx.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=xilinx.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TJV2GIf50jElWiSP06bslgEuffoQFwZvW85RN1gxl3U=;
 b=oTh7r55dY1OJ5PKoahkRk/IooXhsW6XtNmqCI5+5wmsxeLwfg567JbBKmJEpJeglZLpHgJQEczqF+Di1RRA2amDA4EhATsZRJYhXYvyUtO9sWcickDKntiBjj6+rb5KYzKebERyVIf4mGu5H2sVyraHuo0pP4+u3vxFYV1B2Vok=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 149.199.80.198)
 smtp.mailfrom=xilinx.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=xilinx.com;
Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates
 149.199.80.198 as permitted sender) receiver=protection.outlook.com;
 client-ip=149.199.80.198; helo=xir-pvapexch02.xlnx.xilinx.com;
Message-ID: <bcd28a18-80ea-0987-6867-5c6fc634a8a5@xilinx.com>
Date: Thu, 27 Jan 2022 15:48:17 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [XEN v1] xen/arm: io: Check ESR_EL2.ISV != 0 before searching for
 a MMIO handler
To: Julien Grall <julien@xen.org>, Ayan Kumar Halder
	<ayan.kumar.halder@xilinx.com>, Julien Grall <julien.grall.oss@gmail.com>
CC: xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, <stefanos@xilinx.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>
References: <20220126165827.61168-1-ayankuma@xilinx.com>
 <CAJ=z9a1KjOAeR4vpRQGA_sYSvx1h331NKim2bgG8jyru94Beow@mail.gmail.com>
 <eeedbb72-d881-363d-c862-234b705eaec7@xilinx.com>
 <CAJ=z9a0VEqr_ODQZvdsO82PiOpHt5-TVc4JWE5pJCeNYPh+XHg@mail.gmail.com>
 <bee7ea7a-6d3d-bf3c-4b5f-d40deb601867@xilinx.com>
 <2064878e-4ef1-f0a3-1476-7175c2c8d29e@xen.org>
From: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>
In-Reply-To: <2064878e-4ef1-f0a3-1476-7175c2c8d29e@xen.org>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b0e4ae97-d0e7-474f-03a1-08d9e1ac715e
X-MS-TrafficTypeDiagnostic: MW4PR02MB7122:EE_
X-Microsoft-Antispam-PRVS:
	<MW4PR02MB71220FF998D8F9BE32E4B455B2219@MW4PR02MB7122.namprd02.prod.outlook.com>
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
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:
	RwZ36g1EzkANh4NYAVemdUpqLo7wgi0WuQbfFyCuWNsa6ldw+XG/cXWUFrZ169cwQhEkdmNt6ecku82mEBcAYtMBQV7Ro3TjOFs0ZXGYAwCj+uWVbb3YQ4pvddfgJ+WMUtRSpxnispq7158JTzmpMOaC79IWArY60TthwNXqk98f+4YIUlGI8A7B08A/wgNbAMOx5W+ooMzEQck2jGKVcXuOQIl86vvWax0RhtXB9wzKdu5mKaNaPuqrY2hooHypjn92LtZqlrDX0FGBhNefJzrUK3YOR8qas7aVC34bfETnTRaPubG9daWZgBtLrgsLmcTgrT1lW2tNe7KgI0rAPJLVxrNwpUwrbJt3pJgoCm1EcyD6ZSoSG2m8wX1y7vxSzcEYypNKAKtmILFn41ESqirS0mzLQvQ+qn7CUmrGETrDjH70UjzIYF1c7dJBKhpvOSjnn5jS2Ao9/EKa2VTe7noUBIoJOxWEzefjaKRfaAWlDNwj+SwcTxRyQX3ebK9f9PftcmlKLZMMx7EXaEdXsS/bnl4M+PNy7AuuQBXBLlqNtFsStBgpFuhNILyUod8ZaYqBp3jaCTyLWlYGXVqYP4BkaOeg7y4UVZXYD8ibJMJ0cTWEziS7qxz9NKpJ3N1Iyqy9IGkIe/EWVH3NZPhgVoiv75EerkSZXCke6iQ7P9DJWdY3wSXb/uDZl+nQaccwn3tZpCs40Hxxk9StAOKt0/0j3c5WAAz/rGFaMF973kWpagL/UdWnNgfYyocovfGQK7JRHD1YJHT9s8EWkO0E9U2gZB9f+/vHyQSSbIY6husR27FWmgxTqF18nOy9XAPEziaqnwRJy3Rl3hHfnygiuD6rsPXM+PBtbSEJu/3l4ys=
X-Forefront-Antispam-Report:
	CIP:149.199.80.198;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:xir-pvapexch02.xlnx.xilinx.com;PTR:unknown-80-198.xilinx.com;CAT:NONE;SFS:(4636009)(46966006)(40470700004)(36840700001)(83380400001)(47076005)(40460700003)(31696002)(36860700001)(186003)(70586007)(356005)(70206006)(31686004)(316002)(2906002)(36756003)(508600001)(9786002)(2616005)(53546011)(5660300002)(82310400004)(426003)(8676002)(26005)(8936002)(336012)(54906003)(110136005)(7636003)(4326008)(50156003)(51383001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: xilinx.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 15:48:19.9434
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b0e4ae97-d0e7-474f-03a1-08d9e1ac715e
X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c;Ip=[149.199.80.198];Helo=[xir-pvapexch02.xlnx.xilinx.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SN1NAM02FT0035.eop-nam02.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR02MB7122

Hi Julien,

Thanks a lot for your clarification. Appreciate your help. I have a 
concern as below:-

On 27/01/2022 13:57, Julien Grall wrote:
>
>
> On 27/01/2022 13:20, Ayan Kumar Halder wrote:
>> Hi,
>>
>> Asking here as well (might not have been clear on irc).
>>
>> On 27/01/2022 00:10, Julien Grall wrote:
>>> Hi,
>>>
>>> On Wed, 26 Jan 2022, 17:56 Ayan Kumar Halder, 
>>> <ayan.kumar.halder@xilinx.com> wrote:
>>>
>>>     Hi Julien,
>>>
>>>     On 26/01/2022 17:22, Julien Grall wrote:
>>>>     Hi,
>>>>
>>>>     On Wed, 26 Jan 2022, 16:58 Ayan Kumar Halder,
>>>>     <ayan.kumar.halder@xilinx.com> wrote:
>>>>
>>>>         Refer to Armv8 ARM DDI 0487G.b, Page D13-3219 "ISS encoding
>>>>         for an exception
>>>>         from a Data Abort" :-
>>>>         ISV - ISS[23:14] holds a valid instruction syndrome
>>>>
>>>>         When the ISV is 0, the instruction could not be decoded by
>>>>         the hardware (ie ISS
>>>>         is invalid). One should immediately return an error to the
>>>>         caller with an
>>>>         appropriate error message.
>>>>
>>>>     That's going to be very spammy because we have use-case where it
>>>>     could trap without a valid ISV (e.g. when break-before-make
>>>>     happens). So please don't had a message.
>>>
>>>     There is already a logging statement in traps.c :-
>>>
>>>     inject_abt:
>>>         gdprintk(XENLOG_DEBUG,
>>>                  "HSR=%#"PRIregister" pc=%#"PRIregister"
>>>     gva=%#"PRIvaddr" gpa=%#"PRIpaddr"\n",
>>>                  hsr.bits, regs->pc, gva, gpa);
>>>
>>>     The reason for the error is to give the user some hint that an IO
>>>     abort is triggered by Xen.
>>>
>>> The main difference here is inject_dabt should only be reached when 
>>> we exhausted all the possibility in I/O handling.
>>>
>>> In your case, if we can't handle as an MMIO then we should 
>>> fallthrough the other method (see do_trap_stage2_abort_guest()).
>>>
>>> In fact, moving the check early and doing the decoding before 
>>> find_mmio() or try_fwd_io() is actually wrong. Sorry I should 
>>> realized that earlier.
>>
>> Why should we care about MMIO when ISS is invalid ?
>
> Because a translation fault doesn't mean this is emulated MMIO. This 
> may be actual RAM but with the stage-2 entry marked as invalid for 
> tracking purpose (or else).
>
>> Should we not check first if the ISS is valid or not as it will 
>> trigger IO_abort regardless of the MMIO.
>
> No. Imagine the guest decides to use a store exclusive on a RAM region 
> that was temporally marked as invalid in the stage-2 page-table.
>
> This will generate a data abort in Xen with ISV=0. We want to try to 
> resolve the fault first and retry the instruction.
>
>>
>> I am assuming that once Xen resolves the MMIO 
>> (p2m_resolve_translation_fault()), the guest will again try to run 
>> the same instruction on MMIO region. This will be trapped in Xen 
>> which will return IO abort as the post-indexing instruction could not 
>> be decoded.
>
> The access will not trap again in Xen if the fault was resolved.

I think your words makes sense.

However, I am still concerned that we might not be doing the correct 
thing in try_fwd_ioserv().

See this :-

     ioreq_t p = {
         .type = IOREQ_TYPE_COPY,
         .addr = info->gpa,
         .size = 1 << info->dabt.size,
         .count = 1,
         .dir = !info->dabt.write,
         /*
          * On x86, df is used by 'rep' instruction to tell the direction
          * to iterate (forward or backward).
          * On Arm, all the accesses to MMIO region will do a single
          * memory access. So for now, we can safely always set to 0.
          */
         .df = 0,
         .data = get_user_reg(regs, info->dabt.reg),
         .state = STATE_IOREQ_READY,
     };
If info->dabt.valid = 0, then '.size', '.dir' and '.data' fields are 
invalid.

'.size' gets used in ioreq_server_select() to obtain the end address. It 
seems incorrect to me.

I suppose "if ( !info->dabt.valid )" needs to be checked before "s = 
ioreq_server_select(v->domain, &p);".

What do you think ?

- Ayan

>
> Cheers,
>


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 15:50:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 15:50:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261580.453049 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD72l-0003yk-Pb; Thu, 27 Jan 2022 15:50:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261580.453049; Thu, 27 Jan 2022 15:50:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD72l-0003yd-MM; Thu, 27 Jan 2022 15:50:39 +0000
Received: by outflank-mailman (input) for mailman id 261580;
 Thu, 27 Jan 2022 15:50:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD72k-0003yV-Gk
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 15:50:38 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id deae39e3-7f88-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 16:50:37 +0100 (CET)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2055.outbound.protection.outlook.com [104.47.13.55]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-36-ljuWP19XOF20WCvzRvJwJQ-1; Thu, 27 Jan 2022 16:50:35 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM9PR04MB8307.eurprd04.prod.outlook.com (2603:10a6:20b:3e6::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 15:50:33 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 15:50:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: deae39e3-7f88-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643298636;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=dBZnrUhW5qQClEpXHSUcEADMuARLM/i+xLdUFskPT2g=;
	b=NWDNPH+ffi8EKrTVHa6H3PuUkOi1T3AyZe3fRl6TyMdnm1/4iBimqb1Ykf/Q1YaEa8P7CV
	AQe/pcDkeaGihan0KTZLNIzc82VUymVrZ4Uvt0Z/O5eRVIls8lELvhwTAgmEYfSIJtP7qf
	UvC5D+t+3qmZcYFqLCQqVX/3Zt2YJ9Q=
X-MC-Unique: ljuWP19XOF20WCvzRvJwJQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GqoF57IKHKuOF/yUq+MEEtzGMCEOU57EkgpAF28H7EZgPDJtrN74E/t/FrdyAhoruiih3MlqhKaZEBj9p+TuDLXT7xMrcQ5J2To1XPlfT+6//NroilOdgG0WkapVC34D1l7OQTWmppiiHTK8Fz18EKxM+rqFkYpI7prGdunWGgaf1oV4OlabVTMINT1WfPbjDADyp5qpeIR5LKCYJumw6qlNtQ6Xq8/Z6LLObOOfZl/I8FzKrjb9hFkeBN6lmRpGX1YWuTL9/YZeU14mZ1jRBFgFpKIkEBwH90/HteSQGb8Ce0BuKEsGcjcWNYuTdMiSD6zueAQ2lpr3Av61k/hsWg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dBZnrUhW5qQClEpXHSUcEADMuARLM/i+xLdUFskPT2g=;
 b=UGPP8B8ryy50DDjpYkpQXTQdf2m3qI3CBSp7kaGIrWPXsMah9hZL4wfjrxnWg7J/ljlGpHHBGixp/h2fTl1GljpIo8bfPVwbbGeeYzRV8mFVwsKP286BoPVtIpD+nhFNnCD7hMggobHNe8xNujxm09CcYH2G2auDW/T1Txxcj2kWpFlmhQGvyg79PpTis/sEOXCm/i2DwIIt5fOyHDA8MPGD1FScC38fQsemw0QY24PSNxm8+q39qab6E5DRJNStdWpccgurArq+s+ybRPNO4HV/kHfgHMGNUY6v4mCKqUwSOAED1JSfJNXpzE2vLo3Ng4dS09bDO+M7fW7sk0cKBw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9bd4d8e6-d426-97be-f1d4-429a793f888c@suse.com>
Date: Thu, 27 Jan 2022 16:50:32 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [XEN PATCH v9 04/30] build: set ALL_OBJS in main Makefile; move
 prelink.o to main Makefile
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20220125110103.3527686-1-anthony.perard@citrix.com>
 <20220125110103.3527686-5-anthony.perard@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220125110103.3527686-5-anthony.perard@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0015.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::20) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 342f5466-dd8a-4eee-ac7d-08d9e1acc0c1
X-MS-TrafficTypeDiagnostic: AM9PR04MB8307:EE_
X-Microsoft-Antispam-PRVS:
	<AM9PR04MB8307D651B5CCCCFD1D48BD34B3219@AM9PR04MB8307.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:
	lABmk5wU/6toRVMZ5/8IAXfFABzOinBHucGE8sYxsytJNhHS3fCQjXSO76ScN4ni03DVJAHEpAMAm+pj06e4LOCveTHQ0MMnc1MhRm4HI9iIzfvVZqZGjgqWWO6PxNZ4++wtvqj8lfqT/ZTD20dTSk6Skl9CaxATHOjsIKre9Zc2l6WQmYL0LU5/QmQVG/IDmRTOMPdr7x2bgc7xQ1XWiTLhH5R2SPM8Nl2enuDzBJSACwqVUcjaoy+VjakgOD22t0YtkWQkvGrr3Y+uO3cnAyD/2af9Lwxfhzeoeh2aE+jxX+UzNzWUD/Q+1USkmPke4ZHkULY4dhzKBbxLRXQ10q5c0H/jsSWFF3m7+bMnVrumJzDz0jzn3yrqgVJf+iDeJ4mFiY/Kuixc+IVlnsX/HttvRZVjs7+E5l7yzk+90FuHgfCIY61HuIQ6g74RUIpAQQWlSJburpTf9VRtEK5hV2bSfwL9TyafLg0qVZe32EOpLmEu6CxzHzagJBRxlAIi/WThlVMmVE9TTEDgD2fX1N4fAgDE/Bp8a4VFbfTTWqnBzJDOXL11arL1K9t2tFJReiUxZa1wcX1wXEDkNk3N4H3VZs1gwP8TYqDhfdOM6C8D0xPtCE16RTKP5CcElnIuijO/TK/9+eY1+WfLFywJ6aq+BQ+w6Jh8yo7fFODpylARdgApQg5PjVdrp9zmPZMay4BWp39dMCZEKf3z1d3b4qem8hwtm3ZaKi/k5bOQqgZ/+FSPzEgs8XUcx8/JLcrG
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:(13230001)(366004)(66946007)(66556008)(8936002)(7416002)(66476007)(36756003)(8676002)(5660300002)(54906003)(38100700002)(6916009)(316002)(4326008)(2906002)(6486002)(2616005)(31686004)(6512007)(31696002)(6506007)(83380400001)(508600001)(53546011)(186003)(86362001)(26005)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T3NFd1VoWUhHNkFJQi9QMElGWkhDUEc5UW1lWms0YmpjSExYYmgvZnBGWlc2?=
 =?utf-8?B?cE05cWxmcDJZR1pENVU4RVNrMlAwdmlkcnEvQUhRbnp0VXlGc3ljRXdLRjVZ?=
 =?utf-8?B?NGRMc0t2cWFzMWRYazBmbDBKRnhqc0JOWllUeFNpRmxmblZuaFJqRFk1R24r?=
 =?utf-8?B?VllnVSsvU0s5SjdUZGNEdkg0dkpCYVpWbFFvc2RRTnV0SXRJc3lsZ3IvdDFv?=
 =?utf-8?B?eG5Qc2dtN09PcnlIUEtaVWFHZjhwcFdINWgvS29UNjhSTFUzQnpVZmtzd1hx?=
 =?utf-8?B?L2Z2VGVvMTdHY0NoNmRLa2VtaDNWa2pYYzNaYjA5aGlDMWphcXNuWTRrY1ZN?=
 =?utf-8?B?T0F6VzlhNi9rbXB1MFFCOFp5ZXBHclRZa3gzbGNqMFZWcXJER2VCQkc3aE9I?=
 =?utf-8?B?NDRoNFI4NUYyRmg1QVMvaUZqV2pEbHUybkh0SGhCdUR1UUI0alJGeWpTbkdC?=
 =?utf-8?B?d1lXVG5GbGRvS01yeWQ3cUpTaUM0dEt0aVd6YzlrZFNMa2s1NkY1bTh3bkt4?=
 =?utf-8?B?UHVCeDNpNVlNTWptdXNUQ3JZN1A0eGJBajJHSzNEazlnWE5YQXZqT2RETTlB?=
 =?utf-8?B?QnpSZi9MM3VVTW9CRnlFQ3JNTmk3QnBSbnlJUlh3RVd0UVk2TVlEU2E1ZVZr?=
 =?utf-8?B?SXZLRnprNHZpWU9JMVhQMG95bVVyK3FEMjEzaDVtdHFuRmphZ2hCaHI5QUFN?=
 =?utf-8?B?QTVzYTBoSWVnQ0xEeTdZVmtQb3JFYU40RmhLY0lCVzd3bGZiRmNzRDRzOWRY?=
 =?utf-8?B?MGhqTXBiL1lzZEJRZ3U5dWRWQ010NHgxOHJJM1lnOTRRUjRGamRKd2hWVEJj?=
 =?utf-8?B?Zk1nbWpOTGI4bVRRL3E3QUFqVzZrTUZ1Tit0Uyt2Yjk2emkvMWNNTG9VM3Jv?=
 =?utf-8?B?OTFxN2wwcTdyMVFGblFNRm1tNE5ORG55bHAycWpSMFZrYnQzNUVhVU5BeDlq?=
 =?utf-8?B?Ty90OTF0blRnQkZWc0FNY2dzbERmM0dKcTRJbnd0c0M5ejFoVWxhZFVHNGpn?=
 =?utf-8?B?SzVTOFlVRXpiS3lXcjBNbk5pM2FZdVRyV0dTbEo3S1NlMEgwd3dWUDkvZ2pl?=
 =?utf-8?B?Um1XMUdLNFBiTk1BSGxKWll4eU1Sb0U1dXdLcHRKRGduakF4aXFXNElIdkxN?=
 =?utf-8?B?bkU3aitKUHdPQ25HOWhMU2ZxWFAzclZxMmVCREY2VmpSb1pGVFREOEluUm9H?=
 =?utf-8?B?ZGh3Mjh1cFg5QTNobWhZUHZITjdoWEdCNjVxWTJqeXJOcGNMTEZTaUNLUGxm?=
 =?utf-8?B?SURGU2dBT3JVbXQ3VzFJOG1vQW9rYUZYQlJNS2dGaHlEMTduSFUvK1pqQTlO?=
 =?utf-8?B?dEdKZW9sUk1kRnNTRnY2bVBBWit5clhLUDcrbCtENGUwVzBUUXhWMXVJSG5n?=
 =?utf-8?B?NEdMSXA5NjcrTTVwZTk0VURXVlRhd2VaNW9rNDJ5dGkwTEdEVWtodU9QN20r?=
 =?utf-8?B?bmZmS3VSbHdOQ3JoeVY1eCt1R2Y5bS8vSHdTRkxIdUc2Vzc4bWcxYmQzdjEx?=
 =?utf-8?B?djVrbW45VWJScXFZWHYvckhuR2o4MGhWN3pHRHdjT2JaeTJEOG0xclA3ZWR5?=
 =?utf-8?B?Y3JLQnpXankvSDM0c2NGcTREdkRvWExJblNZQmJGRFNDMStKbUlxZVgrK0hz?=
 =?utf-8?B?UHRuSEtGTGlrWUhCNS9DTG9XZHBSN3BheHZubWtWSElHSnBBbVdFQjlKM3Uz?=
 =?utf-8?B?ZmZvUDNTMU8zSWxBbnowRnpzb3Z4dWc4UDJpSmQ4N2xaNEU0VmlMdnJHNjl5?=
 =?utf-8?B?c2VCcUpKOG5UWlcwcEJmN216dmpLMzlqLzV6M0t4VFlYcHVNc25OWnRCSmRR?=
 =?utf-8?B?em51cExwd3FYTEZ2T0tsM3hLbDVBaFFGakdOdnhhVGs5OHI5K0NXb0NQTzRs?=
 =?utf-8?B?c005c3Bhd3kybDFYYWhTUkRKSzhabFlwQnJ4SmpHOW5TYlJiNjBFTDE2aTRs?=
 =?utf-8?B?b3F1b3ZQUVlFYVNpN2VxMXduOUl4eE9ZSGphM2RaVHA3M3dwUlNseWxKTklu?=
 =?utf-8?B?clNIMTJxYUJTVkZwbnpMc1dKTzQyeVpGOTdBcW9OQkRFNVFBdTZpV1FLL3d5?=
 =?utf-8?B?bDM5NVZMSTlVU3ZHdzQ0Qi9JM1FmT2dkbTd5S3FRa0c2Wm1HOS9lRXVocGNV?=
 =?utf-8?B?ZERnMnB6aVhLR3pkZktNTnAyaXA2STB6TUwwV3dPc3pBc3ZJNnJJdDJDSVRI?=
 =?utf-8?Q?H2tlM4iHgdn5SSy7VkL+MqQ=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 342f5466-dd8a-4eee-ac7d-08d9e1acc0c1
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 15:50:33.7615
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: uxP4OWRhKvGKlpe5mrgkqN0/tbcNA/OjnEs701Rka/e2usEsiGxmSl77t99VS+ZLqAkryxVIWSMVv6D8XBFcsA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8307

On 25.01.2022 12:00, Anthony PERARD wrote:
> 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, then 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 to use "$<" 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>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
with a remark and maybe a small adjustment suggestion:

> --- a/xen/Makefile
> +++ b/xen/Makefile
> @@ -285,6 +285,16 @@ CFLAGS += -flto
>  LDFLAGS-$(CONFIG_CC_IS_CLANG) += -plugin LLVMgold.so
>  endif
>  
> +# Note that link order matters!

Merely as a remark: I wonder how applicable that comment is anymore.
If anything I'd expect it to be relevant to $(TARGET_SUBARCH)/head.o
(Arm) and boot/built_in.o (x86), neither of which get named here.

> @@ -407,7 +417,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) MKRELOC=$(MKRELOC) $@
> +	$(MAKE) -f $(BASEDIR)/Rules.mk MKRELOC=$(MKRELOC) "ALL_OBJS=$(ALL_OBJS-y)" "ALL_LIBS=$(ALL_LIBS-y)" $@

I'm always a little wary of using double quotes when it's not clear
what exactly a macro may expand to. Single quotes at least have less
restrictions ...

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 15:57:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 15:57:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261584.453060 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD79M-0004l9-GT; Thu, 27 Jan 2022 15:57:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261584.453060; Thu, 27 Jan 2022 15:57:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD79M-0004l2-DC; Thu, 27 Jan 2022 15:57:28 +0000
Received: by outflank-mailman (input) for mailman id 261584;
 Thu, 27 Jan 2022 15:57:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD79K-0004kw-Qa
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 15:57:26 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d1d4e1d3-7f89-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 16:57:25 +0100 (CET)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2058.outbound.protection.outlook.com [104.47.12.58]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-17-fYtRUNyFNmeCBbb4bB_MRA-1; Thu, 27 Jan 2022 16:57:23 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM0PR0402MB3553.eurprd04.prod.outlook.com (2603:10a6:208:1b::30)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 15:57:22 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 15:57:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d1d4e1d3-7f89-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643299044;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=FKgbRvQCixbeZjZFUvP4FhD/a0fIyYo+VXIWTBUenJA=;
	b=f+Re6tJcfiNm0ksDpytNH1Abe8qyYoRkRyS3+SE85mqt1i3jY54JuTh9KQduwU24wqc2zc
	KEPsysaHWNLHNm9gNvMB1cZzR16I8SptugAvlCphX/HCCKOt8vakaQQFbQysLvf+S9Q2Fs
	xyHiBmVbKT1pjq8iow6eYcFYmB4cBAU=
X-MC-Unique: fYtRUNyFNmeCBbb4bB_MRA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ctxoE/v6SlinSiTXdzyh58ZP/RrcVOY5wtb0PNF0Iv4Y/xyGDZbuF9xDVxYjMpmsTH8biWbiibjkKyfM/RBn3XRUDKHKuTcFpxE8H7iVDt9JA7/Ji4PoISo05TW1kqef8LVOI+qCGxzTNzQVnjGIz6waS3cg8vQUNTRaIh0XYLwv+yFAZTI9FGe6G00kMUulsJ8i8el5o71iIeQgWmoWN4myxxkwUvj07u82j8PyIIyPBccva6un+9VcZxf15y/4+Eqn9u5Jfriput/6WrWpng+4LADKfQ4IXDDH5QjCAHuWAYQiBUBJH5OQ0lGynK4IJrHrRnb4Sdm+xDdS6pF3ug==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FKgbRvQCixbeZjZFUvP4FhD/a0fIyYo+VXIWTBUenJA=;
 b=bW8Pm2wBFZuJK8Bw6ubhbXy+ojpziQJUsqOHy9PycI8aPrsdZkFYn+SMgiD9zGsodVoiJ+TwtpKoqmtGhyHC5N022X/uqrv+Sx5scROLfxAgk7HWxD1fn9E2fwDzsExpMjNtzTou5UWXUDc7nI3SyIecfsc5JEYNxYHUvJUtOQuVgTOYaryJ2TJNrB+1fSP/1k85w5RGSUZ4oGdxZePNHEjneIeBm7VsnEJ3LKv+dDZkaDQjZJ4KAG1RGTf5QHlX8JdJ3PyoqKuwK9u/B8zVipXOh8SITI33EFCRluvvGZYRSvZUj3Vme234st6Zy2xeoxBsrnLn1kKZycnL71HfQQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <708a1723-7b01-e82b-f2c2-d031a33ae55e@suse.com>
Date: Thu, 27 Jan 2022 16:57:20 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [XEN PATCH v9 08/30] build: fix enforce unique symbols for recent
 clang version
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20220125110103.3527686-1-anthony.perard@citrix.com>
 <20220125110103.3527686-9-anthony.perard@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220125110103.3527686-9-anthony.perard@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FRYP281CA0004.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::14)
 To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8cdc9226-ea1c-43fb-f571-08d9e1adb439
X-MS-TrafficTypeDiagnostic: AM0PR0402MB3553:EE_
X-Microsoft-Antispam-PRVS:
	<AM0PR0402MB3553FB74D95610F7F0D0711BB3219@AM0PR0402MB3553.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:
	silJ3bH1R+Ro9S8LJlGLLfYDPDVHOzULnD5U+X8uf/u/lFKm6YNOJgHqwQmRDQOXJ9XHxUsdhBHBx20zttkD69CKnW73QUCK744ouIHrC+9WngG7sPCCnEX5mr+upXu2SKdzUpLHwok2ZwauIVx5rKNi1zslnErUk1DAxpeuCxguyaeLU9+aFLg/8JGScUNVeFONBdXqy2GXATRcNxJWo6bEAdPSz9oaKgl5EJoLYjbcEjMDGR5mm19Lyyna7+SV0GYs9JC+HFNHJ85wyezQ1dqkCKxqa5NWEuksTkdvl7eOxSOBn75fdoXvsxVjC0/yaGWCkIWF918UP+Ffdpb/V9OrnqKE4lAUmxYdeTBWuS8eyuY1T5tk5PMg28x3zE28FuP23StS7137TKTDgcUHupsZykwQq/7qK4EZAd/m5Rcj2Ihvn9l1I5K/7V6ny5oRRrpVe9pj5/mQyqIGuIItxUI5308Qp/KXC0b/DoAa8FPDE7x4lwzwKcKDY6uuP+D/nWKzCpKPgxl3iwsK86CxOU6KlbkmL9pF/GBkYAjM00bnN3mfqzuggoNm+3qvlcRgMwHEC8z1MzK/zoGvwtB/VloRWCuJPzMCxmxIc/51ZkQDnVKighCtlYZdkTlcD3K5svzsL8fycSSV7l/nUwhqpb/Jc1BkyRd8ZmjkLnftvScv5ZhCtnKicxXvGETMzHdhb32OKmSvuhQa+onwuQH2RSLns7+pMMcz5Xz5lOcjOGj/+QwNLpjsilM8kzZBkYqZ
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:(13230001)(366004)(31696002)(66476007)(4744005)(66946007)(66556008)(8936002)(8676002)(110136005)(5660300002)(316002)(508600001)(54906003)(36756003)(4326008)(6486002)(86362001)(186003)(83380400001)(31686004)(26005)(2616005)(38100700002)(2906002)(53546011)(6506007)(6512007)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K2NqUGR3VkhBalkyckg4T0lKb0RZdEFTZGc4SkZsMEdzamhoWTZTTGNSVWRJ?=
 =?utf-8?B?TGUvYlJjZDdRMFl1bmtTQk90OVZvYWttOEpFaHNCYkIwaVdpaU1Bb1N6S1Rw?=
 =?utf-8?B?U1Z5MmlCd0Q2KzNmVE9IcHpjei9COVZLR3ArNEc5UWl4MmZhc1dDOURqbWVn?=
 =?utf-8?B?VEJYd2VFTXdrRkZFR0tRVHpFbFBwcjUzNlZ1VXZ3Yk5YTktNVXY2ZUY2clpN?=
 =?utf-8?B?OWNOQkNyTHJzamFJbEJZRThYMDBFeEZ2ckE5VjVoZHhPS1d1MllJVnA1Z090?=
 =?utf-8?B?ZlMwVDdnQlZobGJiMnBjUmpZRzE3dURsZjN0UmZvMityTHZMU243S25hZml3?=
 =?utf-8?B?QWk4SHJDVURUWmFGdTd3ZmdnWXQwaXFqdHZvYWprRFlwT0F0bk9wb3ZPajIx?=
 =?utf-8?B?TG9wUG0ybW5hdEFKQ28wNXdFVXIySUV3QlR3UitOTTBqaW9WM1BIdE5uNVpa?=
 =?utf-8?B?SnRXaFVZaU1ZNEV2UTdyREE3Vmc0UVNmUEJITDZLMHJZZnBnT3ZlU2g0NUpL?=
 =?utf-8?B?a3VBTG1KVlQ2Q0I5Y2lTWEwrSWVoOTRJNFBIZFBnYTFsQy8xMHpmTFl2RFhn?=
 =?utf-8?B?K1ZFL0E5eUtJSW1May9mVUorbkZRdm9rbmM1VlVDRHlMaWozc3hZZEs5TFFn?=
 =?utf-8?B?SmlyRlVwRmtxQ0lkRDR4N1Z4U2QyR3NuWXhpYkZ4Z3hyaEhEbExaL3R5QW1j?=
 =?utf-8?B?UlNPZ3lIN0Y1MDR1cnZYMzMwYVlKOWJvY0pTYm5ta1d1SlhKcUw4eFUvRGFm?=
 =?utf-8?B?ZkhRczJyeXpJcWRFZ3F5aUJvRXhJdHYwN2lDYi9jd2xxbWkzdUg0cGtNVlZs?=
 =?utf-8?B?enJ3M2pGd1RSMHExbytkZDdjb3VMY3BhcVYrWjJJb0UxREZEU3pHZEdmSjBN?=
 =?utf-8?B?QmI5T3pJS3dlbDZybUVzcFI4OHovN2N1V1gvd1B6NnEyYXpZejFQL3UrbFFh?=
 =?utf-8?B?aGJCQnF4NTlsZWZyZGxhS2hmWkttVnZmMTQwdEIveUpNRk5NZjlQajJpaFls?=
 =?utf-8?B?dWZMQ0hpT0JPalgrQmxFUTFiRUY2VjFscUJHdS9WNU5sK2kyd2oweVFHdlNG?=
 =?utf-8?B?bVNoUGR4OHZrTnRWUUxobG91WjJxYUVnc0cxdm4xL0RhVWNSdEk1NE1BSk5T?=
 =?utf-8?B?ZEtuWkJKVGJVMGVuK0JENXdNc3pzLysydDdIRlJldnllek04eTViY1hJbFRm?=
 =?utf-8?B?b1Q0TkVOa1FqZTZCMlNrR1daaDNpUTZUd0VYWGI4YUpCbFVvNDVPR0pnUFZN?=
 =?utf-8?B?ODdIU0hISUsyQTR5bzdxcTM3blhWd29KZmJLeW9uT3VoanZqSW1xdGVvU2Ns?=
 =?utf-8?B?Qk1vVkFHTkk2ZDJSUnpsaE96QXZ4eVRWOXpHY0NuZWdIZm1YU0VOem1LRFBF?=
 =?utf-8?B?L0JBZkdWRDQxY1hadEhTWWtmQ2tBOTVRTXJwenRpd2RUZm5INi9SYzUxOXdt?=
 =?utf-8?B?ZTlXZ1ZrakZ5TGk5bjZNNkljT3l2KzNac2VQTWNCaHEyd1FqTkk3SmtqM3F6?=
 =?utf-8?B?dGl1b05qS3Q0N2svSW0xT205WTNOM3ZqQmVoSFl1MHUzRHZlcEpDeUJyTWor?=
 =?utf-8?B?QVJyRzlKTHU1TTdhSGlJRWVuS0d6Undub0dGQ1BXeFNjVDRNNDhBU0FBWlgw?=
 =?utf-8?B?N0FYNEZ6UnplOUxWbWFDRWJPdVFsa0llbjdTQllkNGhqQUdkSE5rVTRBWGVY?=
 =?utf-8?B?T3NwQWhyZ0dQbEVEdklEY0JMUDgzZDRqdWcxcE1iNmovd0N3NHl6Y0lJd2tH?=
 =?utf-8?B?djdQZ2k2NjlaejhraWdhR3JHNSs1VklqQVJHTWlrVHViV1Urdm1OVjRabVBa?=
 =?utf-8?B?WWR3YjlyT0RkSkFYVTJydWwrVVdPV3kzNldBVENpZ1hMT3pFNjhQZnhSdFIr?=
 =?utf-8?B?NU5paC92WFlTR2lVRjB0VmM0MVNta1RWWjYzczVxc1pBMnM5d2lMRjdxWTV2?=
 =?utf-8?B?V2ZKVmhCeWR1V2hGSlZlRmVVUmtlYkVlaXBjbkkrbDZodjBOTmpDRFI0MytY?=
 =?utf-8?B?dEZBNmFyYTRjbWpUWk1QR29mS0NKUmtjMkNZNXpudm13Q1hSVDhMaXBBa2R5?=
 =?utf-8?B?MnZzNEY3NHBJem1jQ21ncDRNNXZnWFZ3bFVOWnFtSnBJUkpYOFNDWW44WEdq?=
 =?utf-8?B?cjN0SjFFZlBrVWJIYW1uaTdxNmhxV0VVNDhKQ280MzFMSU9qWVFHcEZ5Wkh3?=
 =?utf-8?Q?9CDQdxv7s4+NYl4h72bHPaw=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8cdc9226-ea1c-43fb-f571-08d9e1adb439
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 15:57:22.0643
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: UokzUO25U+eYzQqTGN9VEOMa4LKpnRwItYlMXks/Enwh4Mqx2i6Z9exJNjNMHayai9l7uIARJiqevHOYRysD8Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0402MB3553

On 25.01.2022 12:00, Anthony PERARD wrote:
> clang 6.0 and newer behave like gcc in regards for the FILE symbol, so
> only the filename rather than the full path to the source file.
> 
> clang 3.8.1-24 (in our debian:stretch container) and 3.5.0-10
> (in our debian:jessie container) do store the full path to the source
> file in the FILE symbol.
> 
> Also, based on commit 81ecb38b83 ("build: provide option to
> disambiguate symbol names"), which were using clang 5, the change of
> behavior likely happened in clang 6.0.
> 
> This means that we also need to check clang version to figure out
> which command we need to use to redefine symbol.
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

The "likely" in the description still worries me some. Roger, would
you happen to know, or know of a way to find out for sure ("sure"
not meaning to exclude the usual risk associated with version
number checks)?

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 16:03:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 16:03:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261588.453071 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD7Ey-0006fz-5y; Thu, 27 Jan 2022 16:03:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261588.453071; Thu, 27 Jan 2022 16:03:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD7Ey-0006fs-2L; Thu, 27 Jan 2022 16:03:16 +0000
Received: by outflank-mailman (input) for mailman id 261588;
 Thu, 27 Jan 2022 16:03:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gTCZ=SL=citrix.com=Jane.Malalane@srs-se1.protection.inumbo.net>)
 id 1nD7Ew-0006fm-3z
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 16:03:14 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9f63e1f8-7f8a-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 17:03:11 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9f63e1f8-7f8a-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643299391;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=KbCHfnHqA60M4H/QqqoWBexkzzJXkf0J/g9Tmuc4ELU=;
  b=Pfw3BHyNLNCB4x0cNlgMHTw6uQtohm29jmyKOnC0/3uO862N4KQW5Cbk
   RovtnP2C+DRvJeBgazFHlcdb/thFm2OU+c55XDGyFVfGZcRJuO7YPb3nX
   j35IIaj+POWQa7pYx0ZVsj30pmcEebIDE6Btl0nZ9TCAd3h4QuClsod9t
   o=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: LHiybkVR/9FUluMSi4hQ/wgHk9COdq2en+gNS3RIN5zt2JUw2WCnTi373B+gSil6DGmd8WsycK
 CbMUgF4HO5vX1FCgswujxQQVRddo7iBsEjGbOIb8mx1tWt+wECNAD/Z/YGZ7s5LHt3loFq/Vku
 hqDfo+2Pl29qImsWBMtEpFIMi3Uq4ppVPt2F5xdDRyODRxykFLWHq8CgYs6v07fabxz/zo/Z8G
 qyeqnLB6bMudLfGVaENheW4xnvJEUBq1D7A5Vo8G1CiPpAH8Nw/KMMp2ocPVY+JL5yK221p/Gf
 6fLaeYd88QH4DWUYYZXurRCE
X-SBRS: 5.2
X-MesageID: 62826978
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:BPcG7qk/uNBVmkN/myREmmzo5gzyIERdPkR7XQ2eYbSJt1+Wr1Gzt
 xJOWj2EPf2IYWKgfo10O9jkpEsOupGGy4A2GlZpqiFjHiMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BClVlxJVF/fngqoDUUYYoAQgsA180IMsdoUg7wbRh29Q32YLR7z6l4
 rseneWOYDdJ5BYsWo4kw/rrRMRH5amaVJsw5zTSVNgT1LPsvyB94KE3fMldG0DQUIhMdtNWc
 s6YpF2PEsE1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXee0v0XRYRQR4/ttmHozx+4
 NBrsrKZTRZzBYPjsckgdxYDLAp9F7ITrdcrIVDn2SCS50jPcn+qyPRyFkAme4Yf/46bA0kXq
 6ZecmpUKEne2aTmm9pXScE17ignBOviOo5Zn3hkxDXQC/sOSpHfWaTao9Rf2V/cg+gQR6aEO
 ZtGOVKDajz4bgERAUU9KKsGhaT2nGOgLzFZhRGK8P9fD2/7k1UqjemF3MDuUuKNQcJZj0OJv
 FXs9m7yAgwZHNGHwD/D+XWp7sfUhj/yUo8WELy+99ZpjUeVy2hVDwcZPXOxrOOlkEe4V5RaI
 lYN5ys1haEo8QqgSdyVdx61vn+C+AIdUtx4Eusm5QXLwa3Riy6bG25CSDdCYd4nscYeRDo22
 1vPlNTsbRRtv6eSUmm17aqPoHW5Pi19BX8PY2oIQBUI5/HnoZovlVTfQ9B7Cqm3g9bpXzbqz
 FiiriIzmrEShs4jzLig8BbMhDfEjprUSg844C3HU2Tj6Rl2DKa6Y6S45F6d6uxPRLt1VXHY4
 iJCwZLHqrlTU9fdz0RhXdnhApmswfGrGTnN22VBMLAMyhCioEGIfqpPtWQWyFhSDu4IfjrgY
 Un2sAxX5YNOMHbCUZKbc75dGOxxk/G+SI2NuuT8K4MXP8MvLFPvEDRGOBbIt10BhnTAhk3W1
 X2zVc+3RUgXBq18pNZdb7dMiOR7rszSKI66eHwa8/hF+efGDJJ2Ye1cWLdrUgzfxPnZyOky2
 40HX/ZmMz0FDIXDjtPr2YASN0sWCnMwGIr7rcdaHsbafFY9Qjp5UKGMme5wE2CAo0izvr2Wl
 p1achQAoGcTeFWdcVnaApydQO2HsWlDQYITYnV3YAfAN4kLaoez9qYPH6bbjpF8nNGPOcVcF
 qFfE+3ZW6wnYm2ep1w1MMehxKQ/KkXDrV/ebkKNPWlkF7Y9FlOhxzMRVla1nAEUEDGNvNczy
 5X5kFuzrWwrHVoyVa47qZuHkjuMgJTqsLsiBhSTeogKJhyEHUoDA3WZs8Lb6vokcX3rrgZ2H
 S7LafvBjeWS8YIz7vfTgqWI89WgH+dkRxIIFGjH97emcyLd+zP7k4NHVe+JexHbVX/1p/r+N
 bkEkamkPa1VhktOvqp9D61vkfA06ezwquII1Q9jBnjKMQimU+syPnmc0MBTnaRR3bsF6xCuU
 0eC94ACa7WEMc/oCnALIw8hYrjR3P0YgGCKv/80PF/79Gl8+7/eCRdeOByFiSp8KrppMdx6n
 bd96ZBOswHm00gkKNeLiCxQ5l+gFH1YXvV1rIweDa/qlhEvlgNIb6vDB3Kk+5qIcdhNbBUne
 2fGmKrYir1A7UPeaH5vR2PV1O9QiJlS6hBHyFgOewaAltbf36Jl2RRQ9XI8TxhPzwUB2OV2Y
 zA5O0pwLKSI3jFpmMkcADz8R1AfXEWUqh7r1l8EtGzFVE35BGXCIVo0NfuJ4E1EoXlXeSJW/
 e3AxWvoOdowkBodAsfmtZZZlsHe
IronPort-HdrOrdr: A9a23:UemA4Kv+Zcxsgti78EoITn4k7skDeNV00zEX/kB9WHVpm62j+/
 xG+c5x6faaslkssR0b9+xoWpPhfZqsz/9ICOAqVN/JMTUO01HYT72Kg7GSpgHIKmnT8fNcyL
 clU4UWMqyVMbGit7eZ3DWF
X-IronPort-AV: E=Sophos;i="5.88,321,1635220800"; 
   d="scan'208";a="62826978"
From: Jane Malalane <jane.malalane@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Jane Malalane <jane.malalane@citrix.com>, Wei Liu <wl@xen.org>, "Anthony
 PERARD" <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, "Andrew
 Cooper" <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, "Stefano Stabellini" <sstabellini@kernel.org>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian
	<kevin.tian@intel.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>
Subject: [PATCH 1/2] xen+tools: Report Interrupt Controller Virtualization capabilities on x86
Date: Thu, 27 Jan 2022 16:01:32 +0000
Message-ID: <20220127160133.11608-2-jane.malalane@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220127160133.11608-1-jane.malalane@citrix.com>
References: <20220127160133.11608-1-jane.malalane@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Add XEN_SYSCTL_PHYSCAP_ARCH_ASSISTED_xapic and
XEN_SYSCTL_PHYSCAP_ARCH_ASSISTED_x2apic to report accelerated xapic
and x2apic, on x86 hardware.
No such features are currently implemented on AMD hardware.

For that purpose, also add an arch-specific "capabilities" parameter
to struct xen_sysctl_physinfo.

Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Wei Liu <wl@xen.org>
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Juergen Gross <jgross@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: George Dunlap <george.dunlap@citrix.com>
CC: Jan Beulich <jbeulich@suse.com>
CC: Julien Grall <julien@xen.org>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Jun Nakajima <jun.nakajima@intel.com>
CC: Kevin Tian <kevin.tian@intel.com>
CC: "Roger Pau Monné" <roger.pau@citrix.com>
---
 tools/golang/xenlight/helpers.gen.go |  4 ++++
 tools/golang/xenlight/types.gen.go   |  6 ++++++
 tools/include/libxl.h                | 14 ++++++++++++++
 tools/libs/light/libxl.c             |  3 +++
 tools/libs/light/libxl_arch.h        |  4 ++++
 tools/libs/light/libxl_arm.c         |  4 ++++
 tools/libs/light/libxl_types.idl     |  2 ++
 tools/libs/light/libxl_x86.c         | 11 +++++++++++
 tools/ocaml/libs/xc/xenctrl.ml       |  5 +++++
 tools/ocaml/libs/xc/xenctrl.mli      |  5 +++++
 tools/xl/xl_info.c                   |  6 ++++--
 xen/arch/x86/hvm/vmx/vmcs.c          |  6 ++++++
 xen/arch/x86/include/asm/domain.h    |  4 ++++
 xen/arch/x86/sysctl.c                |  7 +++++++
 xen/include/public/arch-x86/xen.h    |  4 ++++
 xen/include/public/sysctl.h          |  1 +
 16 files changed, 84 insertions(+), 2 deletions(-)

diff --git a/tools/golang/xenlight/helpers.gen.go b/tools/golang/xenlight/helpers.gen.go
index b746ff1081..dd4e6c9f14 100644
--- a/tools/golang/xenlight/helpers.gen.go
+++ b/tools/golang/xenlight/helpers.gen.go
@@ -3373,6 +3373,8 @@ x.CapVmtrace = bool(xc.cap_vmtrace)
 x.CapVpmu = bool(xc.cap_vpmu)
 x.CapGnttabV1 = bool(xc.cap_gnttab_v1)
 x.CapGnttabV2 = bool(xc.cap_gnttab_v2)
+x.CapAssistedXapic = bool(xc.cap_assisted_xapic)
+x.CapAssistedX2Apic = bool(xc.cap_assisted_x2apic)
 
  return nil}
 
@@ -3407,6 +3409,8 @@ xc.cap_vmtrace = C.bool(x.CapVmtrace)
 xc.cap_vpmu = C.bool(x.CapVpmu)
 xc.cap_gnttab_v1 = C.bool(x.CapGnttabV1)
 xc.cap_gnttab_v2 = C.bool(x.CapGnttabV2)
+xc.cap_assisted_xapic = C.bool(x.CapAssistedXapic)
+xc.cap_assisted_x2apic = C.bool(x.CapAssistedX2Apic)
 
  return nil
  }
diff --git a/tools/golang/xenlight/types.gen.go b/tools/golang/xenlight/types.gen.go
index b1e84d5258..5f384b767c 100644
--- a/tools/golang/xenlight/types.gen.go
+++ b/tools/golang/xenlight/types.gen.go
@@ -389,6 +389,10 @@ RunHotplugScripts Defbool
 DriverDomain Defbool
 Passthrough Passthrough
 XendSuspendEvtchnCompat Defbool
+ArchX86 struct {
+AssistedXapic Defbool
+AssistedX2Apic Defbool
+}
 }
 
 type DomainRestoreParams struct {
@@ -1014,6 +1018,8 @@ CapVmtrace bool
 CapVpmu bool
 CapGnttabV1 bool
 CapGnttabV2 bool
+CapAssistedXApic bool
+CapAssistedX2apic bool
 }
 
 type Connectorinfo struct {
diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index 2bbbd21f0b..6d51e56704 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -528,6 +528,20 @@
 #define LIBXL_HAVE_MAX_GRANT_VERSION 1
 
 /*
+ * LIBXL_HAVE_PHYSINFO_ASSISTED_XAPIC indicates that libxl_physinfo has a
+ * cap_assisted_xapic field, which indicates the availability of xAPIC
+ * hardware assisted emulation.
+ */
+#define LIBXL_HAVE_PHYSINFO_ASSISTED_XAPIC 1
+
+/*
+ * LIBXL_HAVE_PHYSINFO_ASSISTED_X2APIC indicates that libxl_physinfo has a
+ * cap_assisted_x2apic field, which indicates the availability of x2APIC
+ * hardware assisted emulation.
+ */
+#define LIBXL_HAVE_PHYSINFO_ASSISTED_X2APIC 1
+
+/*
  * libxl ABI compatibility
  *
  * The only guarantee which libxl makes regarding ABI compatibility
diff --git a/tools/libs/light/libxl.c b/tools/libs/light/libxl.c
index 667ae6409b..1588701d19 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)
@@ -410,6 +411,8 @@ int libxl_get_physinfo(libxl_ctx *ctx, libxl_physinfo *physinfo)
     physinfo->cap_gnttab_v2 =
         !!(xcphysinfo.capabilities & XEN_SYSCTL_PHYSCAP_gnttab_v2);
 
+    libxl__arch_get_physinfo(physinfo, xcphysinfo);
+
     GC_FREE;
     return 0;
 }
diff --git a/tools/libs/light/libxl_arch.h b/tools/libs/light/libxl_arch.h
index 1522ecb97f..00cc50394d 100644
--- a/tools/libs/light/libxl_arch.h
+++ b/tools/libs/light/libxl_arch.h
@@ -86,6 +86,10 @@ int libxl__arch_extra_memory(libxl__gc *gc,
                              uint64_t *out);
 
 _hidden
+void libxl__arch_get_physinfo(libxl_physinfo *physinfo,
+                              xc_physinfo_t xcphysinfo);
+
+_hidden
 void libxl__arch_update_domain_config(libxl__gc *gc,
                                       libxl_domain_config *dst,
                                       const libxl_domain_config *src);
diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index eef1de0939..52f2545498 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -1431,6 +1431,10 @@ int libxl__arch_passthrough_mode_setdefault(libxl__gc *gc,
     return rc;
 }
 
+void libxl__arch_get_physinfo(libxl_physinfo *physinfo, xc_physinfo_t xcphysinfo)
+{
+}
+
 void libxl__arch_update_domain_config(libxl__gc *gc,
                                       libxl_domain_config *dst,
                                       const libxl_domain_config *src)
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index 2a42da2f7d..42ac6c357b 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -1068,6 +1068,8 @@ libxl_physinfo = Struct("physinfo", [
     ("cap_vpmu", bool),
     ("cap_gnttab_v1", bool),
     ("cap_gnttab_v2", bool),
+    ("cap_assisted_xapic", bool),
+    ("cap_assisted_x2apic", bool),
     ], dir=DIR_OUT)
 
 libxl_connectorinfo = Struct("connectorinfo", [
diff --git a/tools/libs/light/libxl_x86.c b/tools/libs/light/libxl_x86.c
index 1feadebb18..33da51fe89 100644
--- a/tools/libs/light/libxl_x86.c
+++ b/tools/libs/light/libxl_x86.c
@@ -866,6 +866,17 @@ int libxl__arch_passthrough_mode_setdefault(libxl__gc *gc,
     return rc;
 }
 
+void libxl__arch_get_physinfo(libxl_physinfo *physinfo,
+                              xc_physinfo_t xcphysinfo)
+{
+    physinfo->cap_assisted_xapic =
+        !!(xcphysinfo.arch_capabilities &
+           XEN_SYSCTL_PHYSCAP_ARCH_ASSISTED_XAPIC);
+    physinfo->cap_assisted_x2apic =
+        !!(xcphysinfo.arch_capabilities &
+           XEN_SYSCTL_PHYSCAP_ARCH_ASSISTED_X2APIC);
+}
+
 void libxl__arch_update_domain_config(libxl__gc *gc,
                                       libxl_domain_config *dst,
                                       const libxl_domain_config *src)
diff --git a/tools/ocaml/libs/xc/xenctrl.ml b/tools/ocaml/libs/xc/xenctrl.ml
index 7503031d8f..7ce832d605 100644
--- a/tools/ocaml/libs/xc/xenctrl.ml
+++ b/tools/ocaml/libs/xc/xenctrl.ml
@@ -127,6 +127,10 @@ type physinfo_cap_flag =
 	| CAP_Gnttab_v1
 	| CAP_Gnttab_v2
 
+type physinfo_cap_arch_flag =
+	| CAP_ARCH_ASSISTED_XAPIC
+	| CAP_ARCH_ASSISTED_X2APIC
+
 type physinfo =
 {
 	threads_per_core : int;
@@ -139,6 +143,7 @@ type physinfo =
 	scrub_pages      : nativeint;
 	(* XXX hw_cap *)
 	capabilities     : physinfo_cap_flag list;
+	arch_capabilities : physinfo_cap_arch_flag list;
 	max_nr_cpus      : int;
 }
 
diff --git a/tools/ocaml/libs/xc/xenctrl.mli b/tools/ocaml/libs/xc/xenctrl.mli
index d1d9c9247a..a2b15130ee 100644
--- a/tools/ocaml/libs/xc/xenctrl.mli
+++ b/tools/ocaml/libs/xc/xenctrl.mli
@@ -112,6 +112,10 @@ type physinfo_cap_flag =
   | CAP_Gnttab_v1
   | CAP_Gnttab_v2
 
+type physinfo_cap_arch_flag =
+  | CAP_ARCH_ASSISTED_XAPIC
+  | CAP_ARCH_ASSISTED_X2APIC
+
 type physinfo = {
   threads_per_core : int;
   cores_per_socket : int;
@@ -122,6 +126,7 @@ type physinfo = {
   free_pages       : nativeint;
   scrub_pages      : nativeint;
   capabilities     : physinfo_cap_flag list;
+  arch_capabilities : physinfo_cap_arch_flag list;
   max_nr_cpus      : int; (** compile-time max possible number of nr_cpus *)
 }
 type version = { major : int; minor : int; extra : string; }
diff --git a/tools/xl/xl_info.c b/tools/xl/xl_info.c
index 712b7638b0..3205270754 100644
--- a/tools/xl/xl_info.c
+++ b/tools/xl/xl_info.c
@@ -210,7 +210,7 @@ static void output_physinfo(void)
          info.hw_cap[4], info.hw_cap[5], info.hw_cap[6], info.hw_cap[7]
         );
 
-    maybe_printf("virt_caps              :%s%s%s%s%s%s%s%s%s%s%s\n",
+    maybe_printf("virt_caps              :%s%s%s%s%s%s%s%s%s%s%s%s%s\n",
          info.cap_pv ? " pv" : "",
          info.cap_hvm ? " hvm" : "",
          info.cap_hvm && info.cap_hvm_directio ? " hvm_directio" : "",
@@ -221,7 +221,9 @@ static void output_physinfo(void)
          info.cap_vmtrace ? " vmtrace" : "",
          info.cap_vpmu ? " vpmu" : "",
          info.cap_gnttab_v1 ? " gnttab-v1" : "",
-         info.cap_gnttab_v2 ? " gnttab-v2" : ""
+         info.cap_gnttab_v2 ? " gnttab-v2" : "",
+         info.cap_assisted_xapic ? " assisted_xapic" : "",
+         info.cap_assisted_x2apic ? " assisted_x2apic" : ""
         );
 
     vinfo = libxl_get_version_info(ctx);
diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
index 7ab15e07a0..7691db0fdd 100644
--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -343,6 +343,12 @@ static int vmx_init_vmcs_config(bool bsp)
             MSR_IA32_VMX_PROCBASED_CTLS2, &mismatch);
     }
 
+    /* Check whether hardware supports accelerated xapic and x2apic. */
+    assisted_xapic_available = cpu_has_vmx_virtualize_apic_accesses;
+    assisted_x2apic_available = cpu_has_vmx_virtualize_x2apic_mode &&
+                                cpu_has_vmx_apic_reg_virt &&
+                                cpu_has_vmx_virtual_intr_delivery;
+
     /* The IA32_VMX_EPT_VPID_CAP MSR exists only when EPT or VPID available */
     if ( _vmx_secondary_exec_control & (SECONDARY_EXEC_ENABLE_EPT |
                                         SECONDARY_EXEC_ENABLE_VPID) )
diff --git a/xen/arch/x86/include/asm/domain.h b/xen/arch/x86/include/asm/domain.h
index e62e109598..d6602795b4 100644
--- a/xen/arch/x86/include/asm/domain.h
+++ b/xen/arch/x86/include/asm/domain.h
@@ -756,6 +756,10 @@ static inline void pv_inject_sw_interrupt(unsigned int vector)
                       : is_pv_32bit_domain(d) ? PV32_VM_ASSIST_MASK \
                                               : PV64_VM_ASSIST_MASK)
 
+extern bool assisted_xapic_available;
+
+extern bool assisted_x2apic_available;
+
 #endif /* __ASM_DOMAIN_H__ */
 
 /*
diff --git a/xen/arch/x86/sysctl.c b/xen/arch/x86/sysctl.c
index aff52a13f3..d0acf1f584 100644
--- a/xen/arch/x86/sysctl.c
+++ b/xen/arch/x86/sysctl.c
@@ -69,6 +69,9 @@ struct l3_cache_info {
     unsigned long size;
 };
 
+bool __read_mostly assisted_xapic_available;
+bool __read_mostly assisted_x2apic_available;
+
 static void l3_cache_get(void *arg)
 {
     struct cpuid4_info info;
@@ -135,6 +138,10 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
         pi->capabilities |= XEN_SYSCTL_PHYSCAP_hap;
     if ( IS_ENABLED(CONFIG_SHADOW_PAGING) )
         pi->capabilities |= XEN_SYSCTL_PHYSCAP_shadow;
+    if ( assisted_xapic_available )
+        pi->arch_capabilities |= XEN_SYSCTL_PHYSCAP_ARCH_ASSISTED_XAPIC;
+    if ( assisted_x2apic_available )
+        pi->arch_capabilities |= XEN_SYSCTL_PHYSCAP_ARCH_ASSISTED_X2APIC;
 }
 
 long arch_do_sysctl(
diff --git a/xen/include/public/arch-x86/xen.h b/xen/include/public/arch-x86/xen.h
index 7acd94c8eb..f7b17e0f98 100644
--- a/xen/include/public/arch-x86/xen.h
+++ b/xen/include/public/arch-x86/xen.h
@@ -326,6 +326,10 @@ struct xen_arch_domainconfig {
 
 /* GPE0 bit set during CPU hotplug */
 #define XEN_ACPI_GPE0_CPUHP_BIT      2
+
+#define XEN_SYSCTL_PHYSCAP_ARCH_ASSISTED_XAPIC  (1u << 0)
+#define XEN_SYSCTL_PHYSCAP_ARCH_ASSISTED_X2APIC (1u << 1)
+
 #endif
 
 /*
diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
index 55252e97f2..16bdcab853 100644
--- a/xen/include/public/sysctl.h
+++ b/xen/include/public/sysctl.h
@@ -120,6 +120,7 @@ struct xen_sysctl_physinfo {
     uint32_t max_node_id; /* Largest possible node ID on this host */
     uint32_t cpu_khz;
     uint32_t capabilities;/* XEN_SYSCTL_PHYSCAP_??? */
+    uint32_t arch_capabilities;/* XEN_SYSCTL_PHYSCAP_ARCH_ */
     uint64_aligned_t total_pages;
     uint64_aligned_t free_pages;
     uint64_aligned_t scrub_pages;
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 16:03:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 16:03:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261590.453082 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD7FJ-00075I-JJ; Thu, 27 Jan 2022 16:03:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261590.453082; Thu, 27 Jan 2022 16:03:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD7FJ-00075B-FD; Thu, 27 Jan 2022 16:03:37 +0000
Received: by outflank-mailman (input) for mailman id 261590;
 Thu, 27 Jan 2022 16:03:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gTCZ=SL=citrix.com=Jane.Malalane@srs-se1.protection.inumbo.net>)
 id 1nD7FH-0006fm-Ck
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 16:03:35 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ac83f755-7f8a-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 17:03:34 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ac83f755-7f8a-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643299413;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=1bf6JjPGyis6Uey5ekjwWrZErtd0uOwOSZeLgjdY1Gs=;
  b=gxOXC638Jo1Fa034UrjrMfly9P1jX1gqCRxdjMznr5hTZMSHWcTIgFUx
   a0x5qcEWkpvuHYjJHEPFKMjgnfje1jqAksZkHDELggMQBwVS9/2JuEAMo
   53f0pnOr8OF0yfXBxwvHe2PAN9PrkNXiKUK9CCkxB7BPCKQ4nIytWQsvn
   Y=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: eRLvSCagbh6y1l7lOooc1LIdhv+2d7sa+xzV/yh3T5bWnmmTMqPMf0nq6BBkU7kqSauYRh0bJa
 dBaKsVm0vhbZFf4oX82h81L181oYrmcrGcD1SbzpbqvMSmkQuEokwCk8RanIJUU88CiRG0w2qE
 mgc8nLQyQ37X8kkWE4Vo08nNJ1xj03Rev2DTtdkUmzzpKl1/jgCxqdtCgsTDIRPAM3By7Efj+r
 qWy+xg/u+02aLHMIlt0bQJXqDCR2h6kBKa+ybhEnR0hGrh04VII2fuenooE9w8hyDVCsg6L3Wx
 4WRZL9eYxGnSa6KBJ6Zygsru
X-SBRS: 5.2
X-MesageID: 62376352
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:h+F4hauvpMBvf/qAdBz1EWm/5+fnVGFZMUV32f8akzHdYApBsoF/q
 tZmKTuOO/qKZmCmL9p/Ody+80kG6MSDn9ZnSVA6+Hw2QnsR+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZQP0VOZigHtIQMsadUsxKbVIiGHdJZS5LwbZj2NYx24fhWWthh
 PupyyHhEA79s9JLGjp8B5Kr8HuDa9yr5Vv0FnRnDRx6lAe2e0s9VfrzFonoR5fMeaFGH/bSe
 gr25OrRElU1XfsaIojNfr7TKiXmS1NJVOSEoiI+t6OK2nCuqsGuu0qS2TV1hUp/0l20c95NJ
 Npl656RVhciIpH2tsc0egVnAg5aMLdn9+qSSZS/mZT7I0zudnLtx7NlDV0sPJ1e8eFyaY1M3
 aVGcnZXNEnF3r/ohuLgIgVvrp1LwM3DHooZtzdFxDXQCf8gTLjIQrnQ5M8e1zA17ixLNaiEP
 JVHMmc1BPjGSxRsEEscS80Ups6L1lXmVTQI+FKUopNitgA/yyQuieOwYbI5YOeiVchT20qVu
 G/C12D4GQ0BcsySzyKf9XChjfOJmjn0ML/+D5XhqKQs2gfKgDVOVltGDjNXvMVVlGbgWfNAO
 0cIxhAAjoEb6HO6Yf3wRTy39SvsUgEnZ/JcFOgz6Qeow6XS4hqECmVscgOteODKp+dtG2V0i
 wbhc8fBQGU27ebLES71GqK88GvqURX5O1PucsPtoeEtx9D46L8+gRvUJjqIOP7k14alcd0cL
 t3jkcTfu1nxpZNTv0lY1Qqe695JmnQvZlRojukwdjn9hj6VnKb/O+SVBaHztJ6s1rqxQFibp
 2QjkMOD9u0IBpzlvHXTHL5XR+nyuavdbWy0bbtT838JrWrFF5mLJtg43d2DDB0xbpZslcHBP
 ic/Rj+9FLcMZSD3PMebkqq6CtgwzLiIKDgWfqu8Uza6WbAoLFXv1Hg3PSa4hjmx+GBxz/1XE
 crFIK6EUCZLYYw6nWHeb7pMjtcWKtUWmDm7qWbTlUr3iNJzpRe9FN84Dbd5Rrlptfzf+FSMr
 Y832gnj40w3bdASqxL/qeY7RW3m51BgWvgacuRbKbyOJBRIAmYkB6ODyL8tYdU9za9Uiv3J7
 je2XUoBkAjzgnjOKAOrbHF/aeywAcYj/CxjZSF8b0y133UDYJq06PtNfZUAYrR6pvdoyuR5T
 qdZdpzYUOhPUDnO5x8UcYL58N55bB2uiA/XZ3ilbTEzcoROXQvM/tO4LALj+DNXVni8tNcko
 q3m3QTeGMJRSwNnBcfQSfSu01Lu4iRNxLMsBxPFe4ABdl/t/Y5mLz3KosU2e8xcew/ewja61
 hqNBUtKr+f6vIJoosLCgrqJrtn1HrImTFZaBWTS8Z2/KTLeoji42YZFXeuFIWLdWWfz9Pnwb
 OlZ1aihYvgOnVIMuItgCbd7i6k54oK39bNdyw1lGlTNbkiqVew8ciXXg5EXu/0f3KJdtCu3R
 lmLq4tTNri+Mc/4FEIceVg+ZeOZ2PBIwjTf4JzZ+qkhCPObKFZfbXhvAg==
IronPort-HdrOrdr: A9a23:Uqffyqzeo/hwunWLdFSeKrPwIL1zdoMgy1knxilNoRw8SKKlfq
 eV7ZMmPH7P+VIssR4b+exoVJPtfZq+z+8R3WByB8bAYOCOggLBR+sO0WKL+UyHJ8SUzI9gPM
 lbHJSWcOeAb2RHsQ==
X-IronPort-AV: E=Sophos;i="5.88,321,1635220800"; 
   d="scan'208";a="62376352"
From: Jane Malalane <jane.malalane@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Jane Malalane <jane.malalane@citrix.com>
Subject: [PATCH 0/2] xen: Report and use hardware APIC virtualization capabilities
Date: Thu, 27 Jan 2022 16:01:31 +0000
Message-ID: <20220127160133.11608-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):
  xen+tools: Report Interrupt Controller Virtualization capabilities on
    x86
  x86/xen: Allow per-domain usage of hardware virtualized APIC

 docs/man/xl.cfg.5.pod.in              | 10 +++++++
 docs/man/xl.conf.5.pod.in             | 12 ++++++++
 tools/golang/xenlight/helpers.gen.go  | 16 +++++++++++
 tools/golang/xenlight/types.gen.go    |  6 ++++
 tools/include/libxl.h                 | 14 +++++++++
 tools/libs/light/libxl.c              |  3 ++
 tools/libs/light/libxl_arch.h         |  9 ++++--
 tools/libs/light/libxl_arm.c          |  9 ++++--
 tools/libs/light/libxl_create.c       | 21 ++++++++------
 tools/libs/light/libxl_types.idl      |  4 +++
 tools/libs/light/libxl_x86.c          | 54 +++++++++++++++++++++++++++++++++--
 tools/ocaml/libs/xc/xenctrl.ml        |  7 +++++
 tools/ocaml/libs/xc/xenctrl.mli       |  7 +++++
 tools/xl/xl.c                         |  8 ++++++
 tools/xl/xl.h                         |  2 ++
 tools/xl/xl_info.c                    |  6 ++--
 tools/xl/xl_parse.c                   | 14 +++++++++
 xen/arch/x86/domain.c                 | 27 +++++++++++++++++-
 xen/arch/x86/hvm/vmx/vmcs.c           | 10 +++++++
 xen/arch/x86/hvm/vmx/vmx.c            | 13 +++++----
 xen/arch/x86/include/asm/domain.h     |  4 +++
 xen/arch/x86/include/asm/hvm/domain.h |  6 ++++
 xen/arch/x86/sysctl.c                 |  7 +++++
 xen/arch/x86/traps.c                  |  6 ++--
 xen/include/public/arch-x86/xen.h     |  6 ++++
 xen/include/public/sysctl.h           |  1 +
 26 files changed, 258 insertions(+), 24 deletions(-)

-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 16:03:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 16:03:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261593.453092 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD7FU-0007Ux-SY; Thu, 27 Jan 2022 16:03:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261593.453092; Thu, 27 Jan 2022 16:03:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD7FU-0007Uo-Oz; Thu, 27 Jan 2022 16:03:48 +0000
Received: by outflank-mailman (input) for mailman id 261593;
 Thu, 27 Jan 2022 16:03:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gTCZ=SL=citrix.com=Jane.Malalane@srs-se1.protection.inumbo.net>)
 id 1nD7FT-0007IG-7v
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 16:03:47 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b24d10a4-7f8a-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 17:03:44 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b24d10a4-7f8a-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643299424;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=+yNA4QpK0HheW6EtNEOxmPGzMdf3CuW/rQJCIFYL5Yc=;
  b=hLxLX9RZ77/0LD8eWgB1OLdW5HLacYWR1XiPte/JovaJgTsVaiJVHXnB
   8XxBSxJ6AD3bMoGq1qXA11mxKfRpjcVqYHpOBadpFNUw8LLoPd4XTB8cq
   7c1fVQhzM61pywq/hZ5UxdsjWXDfg1G060Bh2BMl9U9dvY0A71YRdDaez
   k=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: EkdIgiv7C3BnnaDEErp9U3OJcwpyPPjDHu1Hg7cnG9G27OY1xPiG5LX2ApUrepPvzP0DFRFQOL
 Cz2a+WOFp0H2gVS9EKJArXUa8xHkGf7bRiMFafeajSLo5RKlvOJeeRFbHR4apwKJngQXPVP03/
 RlCn5pXkXuSGt/cEU3npqTRP/H3iMqxEeDZ0tL1C4I4ApUPVenRaSMIEczEDIoz9MHRudSsOkR
 S+5CoQkuABm5BA2qVGdfi3Koah8qTXGR+FuH22L/ZwI9XzOkP4Yts/XAoC9LH1Ad34CDKAplHA
 aTfw6wOwEzBJSGDIfbkzyfOu
X-SBRS: 5.2
X-MesageID: 63315225
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:uTFbp6w0nxS0FDjQb4F6t+eFwSrEfRIJ4+MujC+fZmUNrF6WrkVRx
 zYdWWCCbvaOMDDxf9kgaNmypk0G6J+BnYVmSQZvqyAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnvopW1TYhSEUOZugH9IQM8aZfHAhLeNYYH1500g7wrRm2tQAbeWRWGthh
 /uj+6UzB3f9s9JEGjp8B3Wr8U4HUFza4Vv0j3RmDRx5lAa2e0o9VfrzEZqZPXrgKrS4K8bhL
 wr1IBNVyUuCl/slIovNfr8W6STmSJaKVeSFoiI+t6RPHnGuD8H9u0o2HKN0VKtZt9mGt8Eql
 9BOmb+vcigGEKmcuMIUfDN4Ez4raMWq+JefSZS+mcmazkmAeHrw2fR+SkoxOOX0+M4uXzsIr
 6ZBbmlQMFbT3Ipaw5riIgVoruYqKsStGYobs3VpyzzxBvc6W5HTBa7N4Le02R9u3ZsXQKyEO
 qL1bxJFdSyYPABSFm0ZVss0hP34pnX0KwJx/Qf9Sa0fvDGIkV0ZPKLWGMHOZtWASMFRn0CZj
 mHL5WL0BlcdLtP34TiY9nOhgMffkCW9X5gdfJWG8fptjEyW13YkIhQcXlumotG0kke7HdlYL
 iQ89iMwoIAo+UesT927WAe3yFaGsQQbQMF4CPAh5UeGza+8yxaUAC0IQyBMbPQitdQqXno62
 1mRhdTrCDdz9rqPRhq16bO8vT60fy8PIgcqZyUJUA8E6NnLu5wog1TESdMLLUKupoSrQ3eqm
 WnM9XVgweVI5SIW60ml1UGc3DevirvWdSEayAGHfkSswSlZZJHwMuRE9mPnxfpHKY+YSHyIs
 34Fh9WS4YgyMH2dqMCeaL5TRe/0vp5pJBWZ2AcyRMd5q1xB7lb+Jdg43d1oGKt+3i/okxfNa
 VSbhw5e7YQ70JCCPf4uONLZ5yjHIMHd+TXZuhL8M4ImjntZLlbvEMRSiai4hT2FfK8EyvlXB
 HtjWZzwZUv28Iw+pNZMe88T0KUw2gc1zn7JSJbwwnyPiOTCPyTOEexbbQPTP4jVCZ9oRi2Pr
 b6z0OPRk31ivBDWOHGLoeb/03hURZTEOXwGg5MOLbPSSuaXMGogF+XQ0dscl39NxMxoehPz1
 ijlACdwkQOn7VWecFniQi09NNvHAMguxVpmbX1EFQv5gBALPNfwhJrzgrNqJ9HLAsQ5k64tJ
 xTEEu3daslypsPvomREMsKl/dU8LXxGR2umZkKYXdT2RLY4LyShxzMuVlKynMXXJibo58Y4v
 ZO60QbXHcgKSwh4VZ6EY/Oz1VKh+3ManbsqDUfPJ9BSfmTq8ZRrdHOt3qNmfZlUJEWR3Cae2
 iaXHQwc+bvHrbgq/YSbnquDtYqoTbdzRxIIA2nB4L+qHiDG5W7/k5RYWeOFcGmFBmP58amvf
 8tPyPT4PKFVlVpGqdMkQb1q0bg/953koLoDllZoG3DCblKKDLJ8IybZgZkT5/MVnrIA4Fm4Q
 EOC/NVeKI6lAsK9HQ5DPhchY8SCyeoQxmvY48MqLRio/yRw5reGDxlfZkHelCxHIbJpG4o52
 uN96tUO4gmyhxd2YNaLiidYqzaFInAaCvh1s5gbBMngixYxy0EEapvZU3ek7JaKYtRKE08rP
 j7L2/aS2+UCnhLPIygpCHzA/etBnpBf6hlFwWgLK0mNhteY1OQ82wdc8GhvQwlYpvmdPzmf5
 oS/25VJGJiz
IronPort-HdrOrdr: A9a23:gU/Rq6rXYbVhOlMGviEvPY0aV5oReYIsimQD101hICG8cqSj9v
 xG+85rrSMc6QxhIU3I9urwW5VoLUmyyXcx2/h0AV7AZniBhILLFvAB0WKK+VSJcEeSmtK1l5
 0QFJSWYOeAdmSS5vyb3ODXKbgdKaG8gcWVuds=
X-IronPort-AV: E=Sophos;i="5.88,321,1635220800"; 
   d="scan'208";a="63315225"
From: Jane Malalane <jane.malalane@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Jane Malalane <jane.malalane@citrix.com>, Wei Liu <wl@xen.org>, "Anthony
 PERARD" <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, "Andrew
 Cooper" <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, "Christian
 Lindig" <christian.lindig@citrix.com>, David Scott <dave@recoil.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH 2/2] x86/xen: Allow per-domain usage of hardware virtualized APIC
Date: Thu, 27 Jan 2022 16:01:33 +0000
Message-ID: <20220127160133.11608-3-jane.malalane@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220127160133.11608-1-jane.malalane@citrix.com>
References: <20220127160133.11608-1-jane.malalane@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Introduce a new per-domain creation x86 specific flag to
select whether hardware assisted virtualization should be used for
x{2}APIC.

A per-domain option is added to xl in order to select the usage of
x{2}APIC hardware assisted vitualization, as well as a global
configuration option.

Having all APIC interaction exit to Xen for emulation is slow and can
induce much overhead. Hardware can speed up x{2}APIC by running APIC
read/write accesses without taking a VM exit.

Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Wei Liu <wl@xen.org>
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Juergen Gross <jgross@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: George Dunlap <george.dunlap@citrix.com>
CC: Jan Beulich <jbeulich@suse.com>
CC: Julien Grall <julien@xen.org>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Christian Lindig <christian.lindig@citrix.com>
CC: David Scott <dave@recoil.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: "Roger Pau Monné" <roger.pau@citrix.com>
---
 docs/man/xl.cfg.5.pod.in              | 10 ++++++++
 docs/man/xl.conf.5.pod.in             | 12 ++++++++++
 tools/golang/xenlight/helpers.gen.go  | 12 ++++++++++
 tools/libs/light/libxl_arch.h         |  5 ++--
 tools/libs/light/libxl_arm.c          |  5 ++--
 tools/libs/light/libxl_create.c       | 21 ++++++++++-------
 tools/libs/light/libxl_types.idl      |  2 ++
 tools/libs/light/libxl_x86.c          | 43 +++++++++++++++++++++++++++++++++--
 tools/ocaml/libs/xc/xenctrl.ml        |  2 ++
 tools/ocaml/libs/xc/xenctrl.mli       |  2 ++
 tools/xl/xl.c                         |  8 +++++++
 tools/xl/xl.h                         |  2 ++
 tools/xl/xl_parse.c                   | 14 ++++++++++++
 xen/arch/x86/domain.c                 | 27 +++++++++++++++++++++-
 xen/arch/x86/hvm/vmx/vmcs.c           |  4 ++++
 xen/arch/x86/hvm/vmx/vmx.c            | 13 +++++++----
 xen/arch/x86/include/asm/hvm/domain.h |  6 +++++
 xen/arch/x86/traps.c                  |  6 +++--
 xen/include/public/arch-x86/xen.h     |  2 ++
 19 files changed, 174 insertions(+), 22 deletions(-)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index b98d161398..974fe7d2d8 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -1862,6 +1862,16 @@ firmware tables when using certain older guest Operating
 Systems. These tables have been superseded by newer constructs within
 the ACPI tables.
 
+=item B<assisted_xapic=BOOLEAN>
+B<(x86 only)> Enables or disables hardware assisted virtualization for xapic.
+This allows accessing APIC registers without a VM-exit.
+The default is settable via L<xl.conf(5)>.
+
+=item B<assisted_x2apic=BOOLEAN>
+B<(x86 only)> Enables or disables hardware assisted virtualization for x2apic.
+This allows accessing APIC registers without a VM-exit.
+The default is settable via L<xl.conf(5)>.
+
 =item B<nx=BOOLEAN>
 
 B<(x86 only)> Hides or exposes the No-eXecute capability. This allows a guest
diff --git a/docs/man/xl.conf.5.pod.in b/docs/man/xl.conf.5.pod.in
index df20c08137..2d0a59d019 100644
--- a/docs/man/xl.conf.5.pod.in
+++ b/docs/man/xl.conf.5.pod.in
@@ -107,6 +107,18 @@ Sets the default value for the C<max_grant_version> domain config value.
 
 Default: maximum grant version supported by the hypervisor.
 
+=item B<assisted_xapic=BOOLEAN>
+
+If enabled, domains will use xAPIC hardware assisted emulation by default.
+
+Default: enabled.
+
+=item B<assisted_x2apic=BOOLEAN>
+
+If enabled, domains will use x2APIC hardware assisted emulation by default.
+
+Default: enabled.
+
 =item B<vif.default.script="PATH">
 
 Configures the default hotplug script used by virtual network devices.
diff --git a/tools/golang/xenlight/helpers.gen.go b/tools/golang/xenlight/helpers.gen.go
index dd4e6c9f14..90e7b9b205 100644
--- a/tools/golang/xenlight/helpers.gen.go
+++ b/tools/golang/xenlight/helpers.gen.go
@@ -636,6 +636,12 @@ x.Passthrough = Passthrough(xc.passthrough)
 if err := x.XendSuspendEvtchnCompat.fromC(&xc.xend_suspend_evtchn_compat);err != nil {
 return fmt.Errorf("converting field XendSuspendEvtchnCompat: %v", err)
 }
+if err := x.ArchX86.AssistedXapic.fromC(&xc.arch_x86.assisted_xapic);err != nil {
+return fmt.Errorf("converting field ArchX86.AssistedXapic: %v", err)
+}
+if err := x.ArchX86.AssistedX2Apic.fromC(&xc.arch_x86.assisted_x2apic);err != nil {
+return fmt.Errorf("converting field ArchX86.AssistedX2Apic: %v", err)
+}
 
  return nil}
 
@@ -679,6 +685,12 @@ xc.passthrough = C.libxl_passthrough(x.Passthrough)
 if err := x.XendSuspendEvtchnCompat.toC(&xc.xend_suspend_evtchn_compat); err != nil {
 return fmt.Errorf("converting field XendSuspendEvtchnCompat: %v", err)
 }
+if err := x.ArchX86.AssistedXapic.toC(&xc.arch_x86.assisted_xapic); err != nil {
+return fmt.Errorf("converting field ArchX86.AssistedXapic: %v", err)
+}
+if err := x.ArchX86.AssistedX2Apic.toC(&xc.arch_x86.assisted_x2apic); err != nil {
+return fmt.Errorf("converting field ArchX86.AssistedX2Apic: %v", err)
+}
 
  return nil
  }
diff --git a/tools/libs/light/libxl_arch.h b/tools/libs/light/libxl_arch.h
index 00cc50394d..2eaff45526 100644
--- a/tools/libs/light/libxl_arch.h
+++ b/tools/libs/light/libxl_arch.h
@@ -71,8 +71,9 @@ void libxl__arch_domain_create_info_setdefault(libxl__gc *gc,
                                                libxl_domain_create_info *c_info);
 
 _hidden
-void libxl__arch_domain_build_info_setdefault(libxl__gc *gc,
-                                              libxl_domain_build_info *b_info);
+int libxl__arch_domain_build_info_setdefault(libxl__gc *gc,
+                                             libxl_domain_build_info *b_info,
+                                             const libxl_physinfo *physinfo);
 
 _hidden
 int libxl__arch_passthrough_mode_setdefault(libxl__gc *gc,
diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index 52f2545498..4d422bef96 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -1384,8 +1384,9 @@ void libxl__arch_domain_create_info_setdefault(libxl__gc *gc,
     }
 }
 
-void libxl__arch_domain_build_info_setdefault(libxl__gc *gc,
-                                              libxl_domain_build_info *b_info)
+int libxl__arch_domain_build_info_setdefault(libxl__gc *gc,
+                                             libxl_domain_build_info *b_info,
+                                             const libxl_physinfo *physinfo)
 {
     /* ACPI is disabled by default */
     libxl_defbool_setdefault(&b_info->acpi, false);
diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_create.c
index d7a40d7550..2bae6fef62 100644
--- a/tools/libs/light/libxl_create.c
+++ b/tools/libs/light/libxl_create.c
@@ -264,7 +264,6 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
     if (!b_info->event_channels)
         b_info->event_channels = 1023;
 
-    libxl__arch_domain_build_info_setdefault(gc, b_info);
     libxl_defbool_setdefault(&b_info->dm_restrict, false);
 
     if (b_info->iommu_memkb == LIBXL_MEMKB_DEFAULT)
@@ -456,15 +455,21 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
         libxl_defbool_setdefault(&b_info->nested_hvm,               false);
     }
 
-    if (b_info->max_grant_version == LIBXL_MAX_GRANT_DEFAULT) {
-        libxl_physinfo info;
+    libxl_physinfo info;
 
-        rc = libxl_get_physinfo(CTX, &info);
-        if (rc) {
-            LOG(ERROR, "failed to get hypervisor info");
-            return rc;
-        }
+    rc = libxl_get_physinfo(CTX, &info);
+    if (rc) {
+        LOG(ERROR, "failed to get hypervisor info");
+        return rc;
+    }
 
+    rc = libxl__arch_domain_build_info_setdefault(gc, b_info, &info);
+    if (rc) {
+        LOG(ERROR, "unable to set domain arch build info defaults");
+        return rc;
+    }
+
+    if (b_info->max_grant_version == LIBXL_MAX_GRANT_DEFAULT) {
         if (info.cap_gnttab_v2)
             b_info->max_grant_version = 2;
         else if (info.cap_gnttab_v1)
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index 42ac6c357b..db5eb0a0b3 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -648,6 +648,8 @@ libxl_domain_build_info = Struct("domain_build_info",[
                                ("vuart", libxl_vuart_type),
                               ])),
     ("arch_x86", Struct(None, [("msr_relaxed", libxl_defbool),
+                               ("assisted_xapic", libxl_defbool),
+                               ("assisted_x2apic", libxl_defbool),
                               ])),
     # Alternate p2m is not bound to any architecture or guest type, as it is
     # supported by x86 HVM and ARM support is planned.
diff --git a/tools/libs/light/libxl_x86.c b/tools/libs/light/libxl_x86.c
index 33da51fe89..b257fca756 100644
--- a/tools/libs/light/libxl_x86.c
+++ b/tools/libs/light/libxl_x86.c
@@ -23,6 +23,12 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
     if (libxl_defbool_val(d_config->b_info.arch_x86.msr_relaxed))
         config->arch.misc_flags |= XEN_X86_MSR_RELAXED;
 
+    if(libxl_defbool_val(d_config->b_info.arch_x86.assisted_xapic))
+        config->arch.misc_flags |= XEN_X86_ASSISTED_XAPIC;
+
+    if(libxl_defbool_val(d_config->b_info.arch_x86.assisted_x2apic))
+        config->arch.misc_flags |= XEN_X86_ASSISTED_X2APIC;
+
     return 0;
 }
 
@@ -819,11 +825,44 @@ void libxl__arch_domain_create_info_setdefault(libxl__gc *gc,
 {
 }
 
-void libxl__arch_domain_build_info_setdefault(libxl__gc *gc,
-                                              libxl_domain_build_info *b_info)
+int libxl__arch_domain_build_info_setdefault(libxl__gc *gc,
+                                             libxl_domain_build_info *b_info,
+                                             const libxl_physinfo *physinfo)
 {
+    int rc;
+    bool assisted_xapic;
+    bool assisted_x2apic;
+
     libxl_defbool_setdefault(&b_info->acpi, true);
     libxl_defbool_setdefault(&b_info->arch_x86.msr_relaxed, false);
+
+    libxl_defbool_setdefault(&b_info->arch_x86.assisted_xapic, false);
+    libxl_defbool_setdefault(&b_info->arch_x86.assisted_x2apic, false);
+
+    assisted_xapic = libxl_defbool_val(b_info->arch_x86.assisted_xapic);
+    assisted_x2apic = libxl_defbool_val(b_info->arch_x86.assisted_x2apic);
+
+    if ((assisted_xapic || assisted_x2apic) &&
+        b_info->type == LIBXL_DOMAIN_TYPE_PV)
+    {
+        LOG(ERROR, "Interrupt Controller Virtualization not supported for PV");
+        rc = ERROR_INVAL;
+        goto out;
+    }
+
+    if ((assisted_xapic && !physinfo->cap_assisted_xapic) ||
+         (assisted_x2apic && !physinfo->cap_assisted_x2apic))
+    {
+        LOG(ERROR, "x%sAPIC hardware supported emulation not available",
+            assisted_xapic && !physinfo->cap_assisted_xapic ? "" : "2");
+        rc =  ERROR_INVAL;
+        goto out;
+    }
+
+    rc = 0;
+out:
+    return rc;
+
 }
 
 int libxl__arch_passthrough_mode_setdefault(libxl__gc *gc,
diff --git a/tools/ocaml/libs/xc/xenctrl.ml b/tools/ocaml/libs/xc/xenctrl.ml
index 7ce832d605..cce30d8731 100644
--- a/tools/ocaml/libs/xc/xenctrl.ml
+++ b/tools/ocaml/libs/xc/xenctrl.ml
@@ -50,6 +50,8 @@ type x86_arch_emulation_flags =
 
 type x86_arch_misc_flags =
 	| X86_MSR_RELAXED
+	| X86_ASSISTED_XAPIC
+	| X86_ASSISTED_X2APIC
 
 type xen_x86_arch_domainconfig =
 {
diff --git a/tools/ocaml/libs/xc/xenctrl.mli b/tools/ocaml/libs/xc/xenctrl.mli
index a2b15130ee..67a22ec15c 100644
--- a/tools/ocaml/libs/xc/xenctrl.mli
+++ b/tools/ocaml/libs/xc/xenctrl.mli
@@ -44,6 +44,8 @@ type x86_arch_emulation_flags =
 
 type x86_arch_misc_flags =
   | X86_MSR_RELAXED
+  | X86_ASSISTED_XAPIC
+  | X86_ASSISTED_X2APIC
 
 type xen_x86_arch_domainconfig = {
   emulation_flags: x86_arch_emulation_flags list;
diff --git a/tools/xl/xl.c b/tools/xl/xl.c
index 2d1ec18ea3..b97e491c9c 100644
--- a/tools/xl/xl.c
+++ b/tools/xl/xl.c
@@ -57,6 +57,8 @@ int max_grant_frames = -1;
 int max_maptrack_frames = -1;
 int max_grant_version = LIBXL_MAX_GRANT_DEFAULT;
 libxl_domid domid_policy = INVALID_DOMID;
+int assisted_xapic = 0;
+int assisted_x2apic = 0;
 
 xentoollog_level minmsglevel = minmsglevel_default;
 
@@ -201,6 +203,12 @@ static void parse_global_config(const char *configfile,
     if (!xlu_cfg_get_long (config, "claim_mode", &l, 0))
         claim_mode = l;
 
+    if (!xlu_cfg_get_long (config, "assisted_xapic", &l, 0))
+        assisted_xapic = l;
+
+    if (!xlu_cfg_get_long (config, "assisted_x2apic", &l, 0))
+        assisted_x2apic = l;
+
     xlu_cfg_replace_string (config, "remus.default.netbufscript",
         &default_remus_netbufscript, 0);
     xlu_cfg_replace_string (config, "colo.default.proxyscript",
diff --git a/tools/xl/xl.h b/tools/xl/xl.h
index c5c4bedbdd..528deb3feb 100644
--- a/tools/xl/xl.h
+++ b/tools/xl/xl.h
@@ -286,6 +286,8 @@ extern libxl_bitmap global_vm_affinity_mask;
 extern libxl_bitmap global_hvm_affinity_mask;
 extern libxl_bitmap global_pv_affinity_mask;
 extern libxl_domid domid_policy;
+extern int assisted_xapic;
+extern int assisted_x2apic;
 
 enum output_format {
     OUTPUT_FORMAT_JSON,
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index 117fcdcb2b..16ff9e76bc 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -1681,6 +1681,20 @@ void parse_config_data(const char *config_source,
         xlu_cfg_get_defbool(config, "vpt_align", &b_info->u.hvm.vpt_align, 0);
         xlu_cfg_get_defbool(config, "apic", &b_info->apic, 0);
 
+        e = xlu_cfg_get_defbool(config, "assisted_xapic",
+                                &b_info->arch_x86.assisted_xapic, 0);
+        if (e == ESRCH) /* not specified */
+            libxl_defbool_set(&b_info->arch_x86.assisted_xapic, assisted_xapic);
+        else if (e)
+            exit(1);
+
+        e = xlu_cfg_get_defbool(config, "assisted_x2apic",
+                                &b_info->arch_x86.assisted_x2apic, 0);
+        if (e == ESRCH) /* not specified */
+            libxl_defbool_set(&b_info->arch_x86.assisted_x2apic, assisted_x2apic);
+        else if (e)
+            exit(1);
+
         switch (xlu_cfg_get_list(config, "viridian",
                                  &viridian, &num_viridian, 1))
         {
diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index ef1812dc14..d08f51e28b 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -619,6 +619,8 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
     bool hvm = config->flags & XEN_DOMCTL_CDF_hvm;
     bool hap = config->flags & XEN_DOMCTL_CDF_hap;
     bool nested_virt = config->flags & XEN_DOMCTL_CDF_nested_virt;
+    bool assisted_xapic = config->arch.misc_flags & XEN_X86_ASSISTED_XAPIC;
+    bool assisted_x2apic = config->arch.misc_flags & XEN_X86_ASSISTED_X2APIC;
     unsigned int max_vcpus;
 
     if ( hvm ? !hvm_enabled : !IS_ENABLED(CONFIG_PV) )
@@ -685,13 +687,30 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
         }
     }
 
-    if ( config->arch.misc_flags & ~XEN_X86_MSR_RELAXED )
+    if ( config->arch.misc_flags & ~(XEN_X86_MSR_RELAXED |
+                                     XEN_X86_ASSISTED_XAPIC |
+                                     XEN_X86_ASSISTED_X2APIC) )
     {
         dprintk(XENLOG_INFO, "Invalid arch misc flags %#x\n",
                 config->arch.misc_flags);
         return -EINVAL;
     }
 
+    if ( (assisted_xapic || assisted_x2apic) && !hvm )
+    {
+        dprintk(XENLOG_INFO,
+                "Interrupt Controller Virtualization not supported for PV\n");
+        return -EINVAL;
+    }
+
+    if ( (assisted_xapic && !assisted_xapic_available) ||
+         (assisted_x2apic && !assisted_x2apic_available) )
+    {
+        dprintk(XENLOG_INFO, "x%sAPIC requested but not available\n",
+                assisted_xapic && !assisted_xapic_available ? "" : "2");
+        return -EINVAL;
+    }
+
     return 0;
 }
 
@@ -863,6 +882,12 @@ int arch_domain_create(struct domain *d,
 
     d->arch.msr_relaxed = config->arch.misc_flags & XEN_X86_MSR_RELAXED;
 
+    d->arch.hvm.assisted_xapic =
+        config->arch.misc_flags & XEN_X86_ASSISTED_XAPIC;
+
+    d->arch.hvm.assisted_x2apic =
+        config->arch.misc_flags & XEN_X86_ASSISTED_X2APIC;
+
     return 0;
 
  fail:
diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
index 7691db0fdd..cb2d9759c9 100644
--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -1154,6 +1154,10 @@ static int construct_vmcs(struct vcpu *v)
         __vmwrite(PLE_WINDOW, ple_window);
     }
 
+    if ( !v->domain->arch.hvm.assisted_xapic )
+        v->arch.hvm.vmx.secondary_exec_control &=
+            ~SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES;
+
     if ( cpu_has_vmx_secondary_exec_control )
         __vmwrite(SECONDARY_VM_EXEC_CONTROL,
                   v->arch.hvm.vmx.secondary_exec_control);
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index c44cf8f5d4..6501fb1a08 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -3342,16 +3342,19 @@ static void vmx_install_vlapic_mapping(struct vcpu *v)
 
 void vmx_vlapic_msr_changed(struct vcpu *v)
 {
-    int virtualize_x2apic_mode;
+    int virtualize_xapic_mode, virtualize_x2apic_mode;
     struct vlapic *vlapic = vcpu_vlapic(v);
     unsigned int msr;
 
+    virtualize_xapic_mode = ( cpu_has_vmx_virtualize_apic_accesses &&
+                              v->domain->arch.hvm.assisted_xapic );
+
     virtualize_x2apic_mode = ( (cpu_has_vmx_apic_reg_virt ||
                                 cpu_has_vmx_virtual_intr_delivery) &&
-                               cpu_has_vmx_virtualize_x2apic_mode );
+                               cpu_has_vmx_virtualize_x2apic_mode &&
+                               v->domain->arch.hvm.assisted_x2apic );
 
-    if ( !cpu_has_vmx_virtualize_apic_accesses &&
-         !virtualize_x2apic_mode )
+    if ( !virtualize_xapic_mode && !virtualize_x2apic_mode )
         return;
 
     vmx_vmcs_enter(v);
@@ -3382,7 +3385,7 @@ void vmx_vlapic_msr_changed(struct vcpu *v)
                 vmx_clear_msr_intercept(v, MSR_X2APIC_SELF, VMX_MSR_W);
             }
         }
-        else
+        else if ( virtualize_xapic_mode )
             v->arch.hvm.vmx.secondary_exec_control |=
                 SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES;
     }
diff --git a/xen/arch/x86/include/asm/hvm/domain.h b/xen/arch/x86/include/asm/hvm/domain.h
index 698455444e..0e888cbeba 100644
--- a/xen/arch/x86/include/asm/hvm/domain.h
+++ b/xen/arch/x86/include/asm/hvm/domain.h
@@ -117,6 +117,12 @@ struct hvm_domain {
 
     bool                   is_s3_suspended;
 
+    /* xAPIC hardware assisted emulation. */
+    bool assisted_xapic;
+
+    /* x2APIC hardware assisted emulation. */
+    bool assisted_x2apic;
+
     /* hypervisor intercepted msix table */
     struct list_head       msixtbl_list;
 
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 485bd66971..c215605814 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -1115,7 +1115,8 @@ void cpuid_hypervisor_leaves(const struct vcpu *v, uint32_t leaf,
         if ( !is_hvm_domain(d) || subleaf != 0 )
             break;
 
-        if ( cpu_has_vmx_apic_reg_virt )
+        if ( cpu_has_vmx_apic_reg_virt &&
+             v->domain->arch.hvm.assisted_xapic )
             res->a |= XEN_HVM_CPUID_APIC_ACCESS_VIRT;
 
         /*
@@ -1126,7 +1127,8 @@ void cpuid_hypervisor_leaves(const struct vcpu *v, uint32_t leaf,
          */
         if ( cpu_has_vmx_virtualize_x2apic_mode &&
              cpu_has_vmx_apic_reg_virt &&
-             cpu_has_vmx_virtual_intr_delivery )
+             cpu_has_vmx_virtual_intr_delivery &&
+             v->domain->arch.hvm.assisted_x2apic )
             res->a |= XEN_HVM_CPUID_X2APIC_VIRT;
 
         /*
diff --git a/xen/include/public/arch-x86/xen.h b/xen/include/public/arch-x86/xen.h
index f7b17e0f98..3c63c027a8 100644
--- a/xen/include/public/arch-x86/xen.h
+++ b/xen/include/public/arch-x86/xen.h
@@ -317,6 +317,8 @@ struct xen_arch_domainconfig {
  * doesn't allow the guest to read or write to the underlying MSR.
  */
 #define XEN_X86_MSR_RELAXED (1u << 0)
+#define XEN_X86_ASSISTED_XAPIC (1u << 1)
+#define XEN_X86_ASSISTED_X2APIC (1u << 2)
     uint32_t misc_flags;
 };
 
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 16:10:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 16:10:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261604.453115 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD7LR-0000WC-Ug; Thu, 27 Jan 2022 16:09:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261604.453115; Thu, 27 Jan 2022 16:09:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD7LR-0000W3-Rd; Thu, 27 Jan 2022 16:09:57 +0000
Received: by outflank-mailman (input) for mailman id 261604;
 Thu, 27 Jan 2022 16:09:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=P5DO=SL=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nD7LP-0000Fm-Vu
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 16:09:56 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8ed35694-7f8b-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 17:09:53 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8ed35694-7f8b-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643299793;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=cqDDNo9XQo+p+6wfnK3QCWiQ2Uhfmwi7vpbD69d9GwM=;
  b=NWzYDmhw8DJAO3UmrNQx8TfhQft1AxMrNyC4gJ7xwpYSyHVoMsXlOIUX
   YQ+5rf1aBEbeSsa6hyRbXnu5C156OWcyEfb8sPkMXeOtXdn79izxruSUG
   GdbNoo5XwJuCN1FvvirrB0FSadbHYpMRwpODP2S6bYvdFt1qltj3zdRuO
   U=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: IFj/TZilgoV/a5sUEyNk8b5YQVsqKHEcaT7+kCO5ldO5aEMbOXSAo/P+jfVHduehIgM8iyXhMI
 QWM78daELv5M1mWtT8SY6Sk7/FIuahDQGusy8Va03V9hmJLulUKRQvobphE3Rl0v1MAA+bNegn
 GqFU2DWWOYi7khmc3MmG62G0IxfVjAdBgHjrH7OLb+AhAHKMBUrW4rXkqWjRVuu91so5MEwoLd
 oYtyTh+kRp0ugsZ6ftWbG8jwHEgsMotUKmhRItH/WYi/d2tI6y1Xgsn81N5YPJNBXZ+UbQ18pL
 qfL1r6cdhodIJvVS0GysNFLn
X-SBRS: 5.2
X-MesageID: 62906692
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:FEXvoqkfCCFXMZiQ9ie4v5no5gxVIURdPkR7XQ2eYbSJt1+Wr1Gzt
 xIdXDvQa/zYMGSheYgiPYqw9B4H75Tdy9NjTAQ/qC81EyMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BClVlxJVF/fngqoDUUYYoAQgsA180IMsdoUg7wbRh29Q32YLR7z6l4
 rseneWOYDdJ5BYsWo4kw/rrRMRH5amaVJsw5zTSVNgT1LPsvyB94KE3fMldG0DQUIhMdtNWc
 s6YpF2PEsE1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXee0v0XRYRQR4/ttmHozx+4
 OxhnoSWbTsvApfJub4kWjxlMmZ/HrITrdcrIVDn2SCS50jPcn+qyPRyFkAme4Yf/46bA0kXq
 6ZecmpUKEne2aTmm9pXScE17ignBODtMJkSpTdLyjbBAOx9aZvCX7/L9ZlT2zJYasVmQ6yPP
 5RHOGAHgBLoM1piJGlHMM8Fper0nHKvdzBT826KnP9ii4TU5FMoi+W8WDbPQfSVQe1Fk0Deo
 XjJl0zbKBwHMN2UyRKe72mhwOTImEvTSI8UUbG16PNuqFmS3XAITg0bU0Ohpvu0gVL4XMhQQ
 3H44QJ38/J0rhbyCICgAVvo+xZooyLwRfJpP8YiziWxzJbu5ifDP2Ehcx8Gaf854ZpeqSMR6
 neFmNbgBDpKubKTSG6A+rr8kQ5eKRT5PkdZO3ZaEFJtD83L5dhq00mRFooL/Lud04WtcQwc1
 Qxmu8TXa187qccQn5u28lnc695HjsiYF1Vljuk7s4/M0++YWGJHT9HwgbQ4xawZRGp8crVnl
 CJZ8yR5xLtWZaxhbATXHI0w8EiBvp5pygH0j191BIUG/D+w4XOldo04yGggeBwzaZ5fJ2KxP
 R67VeZtCHl7ZiXCgUhfONrZNijX5fK4SYSNug78MLKinaSdhCfYpXozNCZ8LkjmkVQ2kLFXB
 HtoWZ3EMJruMow+lGDeb75EidcDn3lirUuOG8yT50n5gNK2OS7EIZ9YYQDmRr1os8u5TPD9r
 ow32z2ikUsPCYUTo0D/rOYuELz9BSFrXM+t850OKLfrz8gPMDhJNsI9CIgJI+RN95m5XM+Rl
 p1kckMHmlf5m1PdLgCGNiJqZL/1BM4tpnMnJy08e12v3iF7M4qo6a4ecboxfKUmq7M/naIlE
 aFddpXSGOlLRxTG5y8ZMcv3ort9eUn5ngmJJSekPmQyJsYyWwzT99b4VQLz7y1SXDGvvM4zr
 uT4hAPWSJYOXSp4C8PSZK79xl+9pyFFyulzQ1HJMp9Yf0C1qNpmLCn4j/kWJcAQKEqcmmvGh
 ljOWRpB/LvDuY449tXNlJuolYbxHrssBFdeEkna8a2yaXvQ8F28zNISS+2PZz3cCj/5of3we
 eVPwvjgG/Qbh1IW4ZFkGrNmwK9itdvio7hWklZtEHnRNgn5D7phJj+N3NVVt70Lzbhc4FPkV
 kWK89hcGLOIJMK6TwJBeFt7NryOhaMOhz3fzfUpO0GrtiZ48Y2OXVhWIxTR2jdWK6F4Md99z
 Oos0CLMB9dTVvb+3g66sx1p
IronPort-HdrOrdr: A9a23:Jf/qKKlADTwTNAPb36Gq304BkXjpDfIS3DAbv31ZSRFFG/Fw8P
 re+8jztCWE7Ar5N0tQ++xoVJPhfZq+z/9ICOsqTNGftWDd0QPDQe1fBOPZskTd8kbFh4tgPM
 lbAstD4fTLfCBHZZmQ2mKF+qwbruVvWprY/ts2tE0DcT1X
X-IronPort-AV: E=Sophos;i="5.88,321,1635220800"; 
   d="scan'208";a="62906692"
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/cpuid: Disentangle logic for new feature leaves
Date: Thu, 27 Jan 2022 16:09:38 +0000
Message-ID: <20220127160940.19469-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220127160940.19469-1-andrew.cooper3@citrix.com>
References: <20220127160940.19469-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Adding a new feature leaf is a reasonable amount of boilerplate and for the
patch to build, at least one feature from the new leaf needs defining.  This
typically causes two non-trivial changes to be merged together.

First, have gen-cpuid.py write out some extra placeholder defines:

  #define CPUID_BITFIELD_11 bool :1, :1, lfence_dispatch:1, ...
  #define CPUID_BITFIELD_12 uint32_t :32 /* placeholder */
  #define CPUID_BITFIELD_13 uint32_t :32 /* placeholder */
  #define CPUID_BITFIELD_14 uint32_t :32 /* placeholder */
  #define CPUID_BITFIELD_15 uint32_t :32 /* placeholder */

This allows DECL_BITFIELD() to be added to struct cpuid_policy without
requiring a XEN_CPUFEATURE() declared for the leaf.  The choice of 4 is
arbitrary, and allows us to add more than one leaf at a time if necessary.

Second, rework generic_identify() to not use feature leaf names.

The choice of deriving the index from a feature was to avoid mismatches, but
its correctness depends on bugs like c/s 249e0f1d8f20 ("x86/cpuid: Fix
TSXLDTRK definition") not happening.

Switch to using FEATURESET_* just like the policy/featureset helpers.  This
breaks the cognitive complexity of needing to know which leaf a specifically
named feature should reside in, and is shorter to write.  It is also far
easier to identify as correct at a glance, given the correlation with the
CPUID leaf being read.

In addition, tidy up some other bits of generic_identify()
 * Drop leading zeros from leaf numbers.
 * Don't use a locked update for X86_FEATURE_APERFMPERF.
 * Rework extended_cpuid_level calculation to avoid setting it twice.
 * Use "leaf >= $N" consistently so $N matches with the CPUID input.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 xen/arch/x86/cpu/common.c | 54 +++++++++++++++++++++++------------------------
 xen/tools/gen-cpuid.py    |  2 ++
 2 files changed, 29 insertions(+), 27 deletions(-)

diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
index 4a163afbfc7e..c6773c85fd3e 100644
--- a/xen/arch/x86/cpu/common.c
+++ b/xen/arch/x86/cpu/common.c
@@ -379,7 +379,7 @@ static void generic_identify(struct cpuinfo_x86 *c)
 	u32 eax, ebx, ecx, edx, tmp;
 
 	/* Get vendor name */
-	cpuid(0x00000000, &c->cpuid_level, &ebx, &ecx, &edx);
+	cpuid(0, &c->cpuid_level, &ebx, &ecx, &edx);
 	*(u32 *)&c->x86_vendor_id[0] = ebx;
 	*(u32 *)&c->x86_vendor_id[8] = ecx;
 	*(u32 *)&c->x86_vendor_id[4] = edx;
@@ -394,7 +394,7 @@ static void generic_identify(struct cpuinfo_x86 *c)
 	/* Note that the vendor-specific code below might override */
 
 	/* Model and family information. */
-	cpuid(0x00000001, &eax, &ebx, &ecx, &edx);
+	cpuid(1, &eax, &ebx, &ecx, &edx);
 	c->x86 = get_cpu_family(eax, &c->x86_model, &c->x86_mask);
 	c->apicid = phys_pkg_id((ebx >> 24) & 0xFF, 0);
 	c->phys_proc_id = c->apicid;
@@ -404,53 +404,53 @@ static void generic_identify(struct cpuinfo_x86 *c)
 
 	/* c_early_init() may have adjusted cpuid levels/features.  Reread. */
 	c->cpuid_level = cpuid_eax(0);
-	cpuid(0x00000001, &eax, &ebx, &ecx, &edx);
-	c->x86_capability[cpufeat_word(X86_FEATURE_FPU)] = edx;
-	c->x86_capability[cpufeat_word(X86_FEATURE_SSE3)] = ecx;
+	cpuid(1, &eax, &ebx,
+	      &c->x86_capability[FEATURESET_1c],
+	      &c->x86_capability[FEATURESET_1d]);
 
 	if ( cpu_has(c, X86_FEATURE_CLFLUSH) )
 		c->x86_clflush_size = ((ebx >> 8) & 0xff) * 8;
 
 	if ( (c->cpuid_level >= CPUID_PM_LEAF) &&
 	     (cpuid_ecx(CPUID_PM_LEAF) & CPUID6_ECX_APERFMPERF_CAPABILITY) )
-		set_bit(X86_FEATURE_APERFMPERF, c->x86_capability);
+		__set_bit(X86_FEATURE_APERFMPERF, c->x86_capability);
+
+	eax = cpuid_eax(0x80000000);
+	if ((eax >> 16) == 0x8000)
+		c->extended_cpuid_level = eax;
 
 	/* AMD-defined flags: level 0x80000001 */
-	c->extended_cpuid_level = cpuid_eax(0x80000000);
-	if ((c->extended_cpuid_level >> 16) != 0x8000)
-		c->extended_cpuid_level = 0;
-	if (c->extended_cpuid_level > 0x80000000)
+	if (c->extended_cpuid_level >= 0x80000001)
 		cpuid(0x80000001, &tmp, &tmp,
-		      &c->x86_capability[cpufeat_word(X86_FEATURE_LAHF_LM)],
-		      &c->x86_capability[cpufeat_word(X86_FEATURE_SYSCALL)]);
+		      &c->x86_capability[FEATURESET_e1c],
+		      &c->x86_capability[FEATURESET_e1d]);
 
 	if (c->extended_cpuid_level >= 0x80000004)
 		get_model_name(c); /* Default name */
 	if (c->extended_cpuid_level >= 0x80000007)
-		c->x86_capability[cpufeat_word(X86_FEATURE_ITSC)]
-			= cpuid_edx(0x80000007);
+		c->x86_capability[FEATURESET_e7d] = cpuid_edx(0x80000007);
 	if (c->extended_cpuid_level >= 0x80000008)
-		c->x86_capability[cpufeat_word(X86_FEATURE_CLZERO)]
-			= cpuid_ebx(0x80000008);
+		c->x86_capability[FEATURESET_e8b] = cpuid_ebx(0x80000008);
 	if (c->extended_cpuid_level >= 0x80000021)
-		c->x86_capability[cpufeat_word(X86_FEATURE_LFENCE_DISPATCH)]
-			= cpuid_eax(0x80000021);
+		c->x86_capability[FEATURESET_e21a] = cpuid_eax(0x80000021);
 
 	/* Intel-defined flags: level 0x00000007 */
-	if ( c->cpuid_level >= 0x00000007 ) {
-		cpuid_count(0x00000007, 0, &eax,
-			    &c->x86_capability[cpufeat_word(X86_FEATURE_FSGSBASE)],
-			    &c->x86_capability[cpufeat_word(X86_FEATURE_PKU)],
-			    &c->x86_capability[cpufeat_word(X86_FEATURE_AVX512_4VNNIW)]);
-		if (eax > 0)
-			cpuid_count(0x00000007, 1,
-				    &c->x86_capability[cpufeat_word(X86_FEATURE_AVX512_BF16)],
+	if (c->cpuid_level >= 7) {
+		uint32_t max_subleaf;
+
+		cpuid_count(7, 0, &max_subleaf,
+			    &c->x86_capability[FEATURESET_7b0],
+			    &c->x86_capability[FEATURESET_7c0],
+			    &c->x86_capability[FEATURESET_7d0]);
+		if (max_subleaf >= 1)
+			cpuid_count(7, 1,
+				    &c->x86_capability[FEATURESET_7a1],
 				    &tmp, &tmp, &tmp);
 	}
 
 	if (c->cpuid_level >= 0xd)
 		cpuid_count(0xd, 1,
-			    &c->x86_capability[cpufeat_word(X86_FEATURE_XSAVEOPT)],
+			    &c->x86_capability[FEATURESET_Da1],
 			    &tmp, &tmp, &tmp);
 }
 
diff --git a/xen/tools/gen-cpuid.py b/xen/tools/gen-cpuid.py
index b953648b6572..470cd76d1c52 100755
--- a/xen/tools/gen-cpuid.py
+++ b/xen/tools/gen-cpuid.py
@@ -423,6 +423,8 @@ def write_results(state):
 
 """)
 
+    state.bitfields += ["uint32_t :32 /* placeholder */"] * 4
+
     for idx, text in enumerate(state.bitfields):
         state.output.write(
             "#define CPUID_BITFIELD_%d \\\n    %s\n\n"
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 16:10:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 16:10:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261603.453103 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD7LQ-0000G4-Mf; Thu, 27 Jan 2022 16:09:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261603.453103; Thu, 27 Jan 2022 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 1nD7LQ-0000Fx-Jh; Thu, 27 Jan 2022 16:09:56 +0000
Received: by outflank-mailman (input) for mailman id 261603;
 Thu, 27 Jan 2022 16:09:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=P5DO=SL=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nD7LP-0000Fm-7U
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 16:09:55 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8f715695-7f8b-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 17:09:54 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8f715695-7f8b-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643299794;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=K2xsJnp3zQK3VEYzJLhPGSNdCwaw8xe+brV1B1jBPsk=;
  b=c6lPwo+wkLPp8aUM74xeguj1blshSkUYt246TaIEM1MKkMF+Gw/QEnnJ
   DWzMhf23JktSZW8IobthTdhi9Zjb25vpyFZ2oIIL9u/yFf3Mwq8RDxoxs
   KU5VyiPkhpJ+sahWHZ3lDX2aKxxlrBiGJbkrgfomp4HdGa7haIaCkDLUM
   o=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: ldjjz8wtLgAs+I3lj8LjWbfLxk5kXdD9XWqvTJZpwJCENeh3pIgPhty98JQFBRKQk5r5yEUsmh
 u4GCeQ8po6siWNSndBoPoxU+ph/DSpTten8Z3bu17CCwKFeN0CvFrRxRghlQaZIVr1XwzNdEsy
 LjRvr48ZjLYhd5Ly7CphmEGY7b2JygTyUbMCC6KKXJuRpOpL2xQzGST6kc58sOnieWEpn93JSP
 sQIUdvJpUxuJ2hZE00XjC3OH41YDx8t+/bng4Ho+que1SvJurTriHRQQ2WWcukPs7RaOBpbwHT
 y+Ba10iMYKAa/pPDSQ519t8+
X-SBRS: 5.2
X-MesageID: 62827763
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:zVRsEquyjvIULaSaGxwxk217g+fnVGFZMUV32f8akzHdYApBsoF/q
 tZmKW+OafqIa2anfdsgb4W+phsEuZXXz4NrQANqqXwzRXkS+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZQP0VOZigHtIQMsadUsxKbVIiGHdJZS5LwbZj2NYx24fhWWthh
 PupyyHhEA79s9JLGjp8B5Kr8HuDa9yr5Vv0FnRnDRx6lAe2e0s9VfrzFonoR5fMeaFGH/bSe
 gr25OrRElU1XfsaIojNfr7TKiXmS1NJVOSEoiI+t6OK2nCuqsGuu0qS2TV1hUp/0l20c95NJ
 NpliIaZRxgSBoz3m6cQawR3SzpvE6Nh9+qSSZS/mZT7I0zudnLtx7NlDV0sPJ1e8eFyaY1M3
 aVGcnZXNEnF3r/ohuLgIgVvrp1LwM3DFYUToHx/ixreCu4rW8vrSKTW/95Imjw3g6iiGN6AP
 ZpDNmUxN3wsZTVWNVMNLZ8DnN2HjybiKA91tQLNqYAetj27IAtZj+G2bYu9lsaxbdVYmAOUq
 3zL+0z9AwoGL5qPxDyd6HWui+TT2yThV+ov+KaQr6AwxgfJnypKVUNQBQDTTeSFZlCWZsh2J
 VMvwgsVrus/zFGEFsLscROfryvR1vIDYOZ4H+o/4QCL76Pb5QeFG2QJJgJ8hMwaWNweHmJzi
 ALQ9z/9LXk26eDOFyrBnluBhW7qYUAowXk+iTjopOfvy/3qu8kNgx3GVb6P+4bl34SuSVkcL
 91nxRXSZon/b+ZWj81XHnid2lpAQ6QlqCZvu207uUr+tmtEiHaNPdDA1LQixa8owHylZleAp
 mMYvMOV8foDC5qA/ATUHrlWRurxvKjYaGCN6bKKI3XH327zk5JEVdsIiAyS2W8zappUEdMXS
 BG7VfxtCG97YyLxMP4fj3OZAMU216nwfekJpdiPBueilqNZLVfdlAk3PBb49zm0zCAEzP9jU
 b/GL5fEJStKWMxPkWvtL89AgOBD+8zL7T6JLXwN5075geP2ib/8YeptDWZimchgvPrb+12Eq
 ogGXyZIoj0GONDDjuDs2dZ7BTg3wbITXPgacuRbKbyOJBRIAmYkB6ODyL8tYdU9za9Uiv3J7
 je2XUoBkAjzgnjOKAOrbHF/aeywAcYj/CxjZSF8b0y133UDYJq06PtNfZUAYrR6pvdoyuR5T
 qdZdpzYUOhPUDnO5x8UcYL58N55bB2uiA/XZ3ilbTEzcoROXQvM/tO4LALj+DNXVni8tNcko
 q3m3QTeGMJRSwNnBcfQSfSu01Lu4iRNxLMsBxPFe4ABdl/t/Y5mLz3KosU2e8xcew/ewja61
 hqNBUtKr+f6vIJoosLCgrqJrtn1HrImTFZaBWTS8Z2/KTLeoji42YZFXeuFIWLdWWfz9Pnwb
 OlZ1aihYvgOnVIMuItgCbd7i6k54oK39bNdyw1lGlTNbkiqVew8ciXXg5EXu/0f3KJdtCu3R
 lmLq4tTNri+Mc/4FEIceVg+ZeOZ2PBIwjTf4JzZ+qkhCPObKFZfbXhvAg==
IronPort-HdrOrdr: A9a23:dK8cjK6NYUDHWobjcAPXwMbXdLJyesId70hD6qhwISY1TiX+rb
 HJoB17726StN9/YgBCpTntAsa9qBDnhPpICOsqTNWftWDd0QPCRuwP0WKL+UyYJ8SUzI5gPM
 lbHZSWcOeAaGRHsQ==
X-IronPort-AV: E=Sophos;i="5.88,321,1635220800"; 
   d="scan'208";a="62827763"
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/cpuid: Disntangle, and PPIN
Date: Thu, 27 Jan 2022 16:09:37 +0000
Message-ID: <20220127160940.19469-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

Work to disentangle new feature addition, using PPIN as an example.

Andrew Cooper (1):
  x86/cpuid: Disentangle logic for new feature leaves

Jan Beulich (2):
  x86/cpuid: Infrastructure for leaf 0x00000007:1.ebx
  x86/Intel: use CPUID bit to determine PPIN availability

 tools/misc/xen-cpuid.c                      |  6 +++
 xen/arch/x86/cpu/common.c                   | 57 +++++++++++++++--------------
 xen/arch/x86/cpu/mcheck/mce_intel.c         | 10 ++++-
 xen/include/public/arch-x86/cpufeatureset.h |  3 ++
 xen/include/xen/lib/x86/cpuid.h             |  7 ++++
 xen/tools/gen-cpuid.py                      |  2 +
 6 files changed, 56 insertions(+), 29 deletions(-)

-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 16:10:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 16:10:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261605.453126 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD7La-0001SB-9X; Thu, 27 Jan 2022 16:10:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261605.453126; Thu, 27 Jan 2022 16:10:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD7La-0001Rc-4E; Thu, 27 Jan 2022 16:10:06 +0000
Received: by outflank-mailman (input) for mailman id 261605;
 Thu, 27 Jan 2022 16:10:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=P5DO=SL=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nD7LY-0000Fm-GK
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 16:10:04 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 94ecaa62-7f8b-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 17:10:03 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 94ecaa62-7f8b-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643299803;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=NAfZmENFvpFC+4N9PTwRI2r2MLloqo5ssnUKxL6VWnc=;
  b=RddqtLab8749RRKKnS8y+LNio1ANfYgcp1GSo0hE34p9PLJtyqju61kf
   /EVTUR2230T2+mNgGX17dJX+vvRASWchYTE6c/nKyByPOuHTXzjQmEojk
   muBEfbh0q1YNzXEcWtCF/CSeKUgj3V7J+eQ7wRCme3oTsw5WoI1zqmnCq
   M=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: e1c40uzr/oj2qR6DsQsTx9mHdwXqQE45ey0pEAKnxMVolmDq0f7Dx2NBsL9u5qsHBbyPmWXzOB
 CrKIdrKKebQUxSM8e+PcYKpTlFo1F+8yshzUr+KZYGcFyEg9/P5VxUEK6xPvV2+imZG1/LUAyk
 RiGanZ6dbEbRS8W7qE0JZM3Az+aCsGy+ukdW/gP1Y6n3SqNPOZsnWkqhkTBGroie7LTytcmw7a
 MhDWnV2Qk//pzF4PA7rG/rDt0ujupV5uwi8mlqO/SQgV5rwT3X9DqHf4CRHUTDr1ysjfRM7SX+
 xb59jPk0NBe0BpaAFCKO4baR
X-SBRS: 5.2
X-MesageID: 62827787
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:bm3dLarlaczQZ1FPtiWbG0OO1aleBmLMYhIvgKrLsJaIsI4StFCzt
 garIBnUMvyNNmCgfIokaN+1oBkDvJHXxt9iQQJtqXg2QSgbpZuZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlZT4vE2xbuKU5NTsY0idfic5Dndx4f5fs7Rh2NQw2ILmW1nlV
 e7a+KUzBnf0g1aYDUpMg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJ8DO+iL
 9sv+Znilo/vE7XBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XnRfTAKtao2zhojx/9
 DlCnZyAVyYyD/SRocoyfRleSXxsLKMf/aCSdBBTseTLp6HHW37lwvEoB0AqJ4wIvO1wBAmi9
 9RBdmpLNErawbvrnvTrEYGAhex6RCXvFKoZtmtt0nfyCvE+TIqYa67L+cVZzHE7gcUm8fP2O
 ZBJM2UwPEuojxtnAVpIJZQw3+WRp2TnQWZV+AvIhoMo7D2GpOB2+Oe0a4eEEjCQfu1Kmm6Iq
 2SA+H72ajkYPtGCzTuO8lq3m/TC2yj8Xeo6BLC+s/JnnlCX7mgSEwENE0u2p+GjjUyzUM4ZL
 FYbkhfCtoBrqhbtFIOkGUTl/jjU5XbwRua8DcU62B+s0ZuNvj+3KUYESGQces0o7copEGlCO
 kCyo/vlAjlmsbuwQH2b96uJoT7aBRX5PVPudgdfE1JbvoCLTJUby0uWE409SPLdYsjdRGmoq
 w1muhTSkFn6YSQj86ygtW7KjDu3znQiZl5kv16HNo5JA+4QWWJEW2BKwQWDhRqjBNzAJrVkg
 JTis5LDhAzpJcrV/BFhuM1XQNmUCw+taVUwe2JHEZg77CiK8HW+Z41W6zwWDB43bp1eImeyP
 hKL5FI5CHpv0J2CN/Efj2WZUJxC8EQdPY69CqC8giRmPPCdizNrDAkxPBXNjggBYWAnkL0lO
 IfzTCpfJS1yNEiT9xLvH711+eZynkgWnDqPLbimkUjP+efANRa9FOdUWHPTP7tRxP7V/23oH
 yN3apHiJ+N3CrOuO0E6MOc7cDg3EJTMLcmm8pMMLr/afFMO9aNII6a5/I7NsrdNx8x9/tokN
 FnkMqOB4Fag13DBNyuQbXVvNOHmUZpl9CppNi0wJ1e4nXMkZN/3vqsYcpI2e5gh9fBikqEoH
 6VUJZ3YD6QdUCnD9hQccYL58N5oeiO0iF/cJCGiejU+IcJtHlSb5t/+cwLz3yASFS7r59Amq
 rit21qDE5oOTghvFujMb/erww/jtHQRgrsqDUDJPsNSaAPn940zc379ifo+IsctLxTfx2TFi
 1bKUElA/eSU+t076tjEg6yAvryFKeomExoIBXTf4Ja3KTLeojipz7hfXbvaZjvaTm71pvmvP
 L0H0/HmPfQbt19WqI4gQa1zxKcz6taz9b9XygNoQCfCY1ixU+4yJ3CH2Y9Et7FXx68fsgyzA
 xrd9t5fMLSPGcXkDF9Oe1Z1MrXdjakZymvI8PA4AETm/ysmrrOIXHJbMwSIlCEAfqB+N5kow
 Lt5tcMbg+BlZsHG7jpSYvhoylmx
IronPort-HdrOrdr: A9a23:nICjt68mR6jx/nf8M5luk+DWI+orL9Y04lQ7vn2YSXRuE/Bw8P
 re+sjztCWE7wr5N0tQ+uxoVJPufZq+z+8Q3WByB8bBYOCOggLBR+sOgbcKqweQYhEWndQ86U
 4PScZD4aXLfD1Hsfo=
X-IronPort-AV: E=Sophos;i="5.88,321,1635220800"; 
   d="scan'208";a="62827787"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>
Subject: [PATCH 3/3] x86/Intel: use CPUID bit to determine PPIN availability
Date: Thu, 27 Jan 2022 16:09:40 +0000
Message-ID: <20220127160940.19469-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220127160940.19469-1-andrew.cooper3@citrix.com>
References: <20220127160940.19469-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

From: Jan Beulich <jbeulich@suse.com>

As of SDM revision 076 there is a CPUID bit for this functionality. Use
it to amend the existing model-based logic.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>

Split in two.
---
 tools/misc/xen-cpuid.c                      |  1 +
 xen/arch/x86/cpu/mcheck/mce_intel.c         | 10 +++++++++-
 xen/include/public/arch-x86/cpufeatureset.h |  1 +
 3 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/tools/misc/xen-cpuid.c b/tools/misc/xen-cpuid.c
index 17e67e379fa4..3c8f3ed1bad1 100644
--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -197,6 +197,7 @@ static const char *const str_e21a[32] =
 
 static const char *const str_7b1[32] =
 {
+    [ 0] = "ppin",
 };
 
 static const struct {
diff --git a/xen/arch/x86/cpu/mcheck/mce_intel.c b/xen/arch/x86/cpu/mcheck/mce_intel.c
index d0161e9d4daa..d63d6083d3a7 100644
--- a/xen/arch/x86/cpu/mcheck/mce_intel.c
+++ b/xen/arch/x86/cpu/mcheck/mce_intel.c
@@ -859,12 +859,20 @@ static void intel_init_ppin(const struct cpuinfo_x86 *c)
     /*
      * Even if testing the presence of the MSR would be enough, we don't
      * want to risk the situation where other models reuse this MSR for
-     * other purposes.
+     * other purposes.  Despite the late addition of a CPUID bit (rendering
+     * the MSR architectural), keep using the same detection logic there.
      */
     switch ( c->x86_model )
     {
         uint64_t val;
 
+    default:
+        if ( !cpu_has(c, X86_FEATURE_INTEL_PPIN) )
+        {
+            ppin_msr = 0;
+            return;
+        }
+        fallthrough;
     case 0x3e: /* IvyBridge X */
     case 0x3f: /* Haswell X */
     case 0x4f: /* Broadwell X */
diff --git a/xen/include/public/arch-x86/cpufeatureset.h b/xen/include/public/arch-x86/cpufeatureset.h
index 588f924de59e..6e44148a0901 100644
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -300,6 +300,7 @@ XEN_CPUFEATURE(LFENCE_DISPATCH,    11*32+ 2) /*A  LFENCE always serializing */
 XEN_CPUFEATURE(NSCB,               11*32+ 6) /*A  Null Selector Clears Base (and limit too) */
 
 /* Intel-defined CPU features, CPUID level 0x00000007:1.ebx, word 12 */
+XEN_CPUFEATURE(INTEL_PPIN,         12*32+ 0) /*   Protected Processor Inventory Number */
 
 #endif /* XEN_CPUFEATURE */
 
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 16:10:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 16:10:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261606.453131 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD7La-0001Xd-Mq; Thu, 27 Jan 2022 16:10:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261606.453131; Thu, 27 Jan 2022 16:10:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD7La-0001WU-ES; Thu, 27 Jan 2022 16:10:06 +0000
Received: by outflank-mailman (input) for mailman id 261606;
 Thu, 27 Jan 2022 16:10:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=P5DO=SL=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nD7LZ-0001H9-C4
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 16:10:05 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 94841f7a-7f8b-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 17:10:03 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 94841f7a-7f8b-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643299803;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=wmiJm/LpfNDm7MNdAZF82tB57Pb8mKGWOQBYXFHZYDs=;
  b=gnBgYRFwqSh4R+bf55akS7sHARfApZzo29YGUesZ4SzhZgx54Q7cDWJK
   y8/xST5wSdwu6czsgKIG7wWySSNI42fiEB3Ftn6InGq0/kMfqnTxKFjzv
   yG7nutdIoVLq0pD7RG82kH5qD+49fa0sW2zn3/4Udtp68FNDWkQ778Ui8
   w=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: vzJ+nry1dja6wBVGQXCvWj4lZUshMfNS8cca9kr6KogLvgUCs9EZwzt1ebeJu1eLJyY/kk9RCV
 6eWAN/9loy8Xduzi18LSmntg29DSJuqK1m8mGK92/xSQx1sjZEdZVGwzpDB4+4Q8UYAI0Cagsl
 8hmZBMjgC4NL4F5+wD4drOo5Cu5HR8SiiYDePbt5iMrbt73zD2ze4lgnb3dSW+s1u5XsNOH9Ue
 vglwH1NXVsuZioLXsvAuChXoCDmpfO3ZMPb5UUgcNksRO0QUHxrFl6lbDT3YnryKKiWcjFu/8r
 xSHbOOxAGO0AopWe8KHQvmQs
X-SBRS: 5.2
X-MesageID: 62377197
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:DUX+KqvJUBhDbsQECFySr7kdd+fnVIJZMUV32f8akzHdYApBsoF/q
 tZmKWyHOP2OZjfyKt9+YY+3oE4A75HTyNNjQFNq+CA8Qy8T+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZQP0VOZigHtIQMsadUsxKbVIiGHdJZS5LwbZj2NYx24fhWWthh
 PupyyHhEA79s9JLGjp8B5Kr8HuDa9yr5Vv0FnRnDRx6lAe2e0s9VfrzFonoR5fMeaFGH/bSe
 gr25OrRElU1XfsaIojNfr7TKiXmS1NJVOSEoiI+t6OK2nCuqsGuu0qS2TV1hUp/0l20c95NJ
 NplsZavDjx4ArPwl8c9SUJ+KAN7OrNa5+qSSZS/mZT7I0zudnLtx7NlDV0sPJ1e8eFyaY1M3
 aVGcnZXNEnF3r/ohuLgIgVvrp1LwM3DFYUToHx/ixreCu4rW8vrSKTW/95Imjw3g6iiGN6AP
 ZFGNmM+M3wsZTV0AGlUMLNupd6nvWjcahhipGO0hZo4tj27IAtZj+G2bYu9lsaxbdpRtlaVo
 CTB5WuRKhMQOcGbyDGF2mmxneKJliT+MKoCGbv9+vN0jVm7wm0IFAZQRVa9ueO+iEO1R5RYM
 UN8x8Y1hfFsrgrxFIC7BkDm5i7f1vIBZzZOO+kw90a2m5bK3wm6JnJfaAVjbds4qNBjEFTGy
 WS1t9/uADVutpicRnSc6qqYoFuOBMQFEYMRTXRaFFVYurEPtKl210uSFYg7TMZZm/WoQWmY/
 tyckMQpa1z/Z+Yv3r7zw13IiinESnPhHl9svVW/so5IA2pEiG+Zi26AtACzARVodt/xory9U
 J4swZX2AAcmVsnlqcB1aL9RdIxFHt7cWNEmvXZhHoM66xOm8GO5cIZb7VlWfRk1aZxfIWS3P
 ReO6Gu9AaO/2lPwM8ebhKrqU6wXIVXIT4y5Bpg4kPIQCnSOSON31H43PhPBt4wcuEMtjbs+K
 f+mnTWEVh4n5VBc5GPuHY81iOZzrghnnD+7bc2lk3yPjOTPDFbIGeZtGAbfNYgRsfLbyDg5B
 v4CbaNmPT0FDr2nCsQWmKZORW03wY8TXMCv9JcPJ7fde2KL2ggJUpfs/F/oQKQ994w9qwsC1
 ijVtpZwxAWtiHvZBx+Nb3w/OrrjUYwm9SAwPDA2PEbu0H8mON794KAafpoxXL8m6O08kqIkE
 6hbI52NUqZVVzDK2zUBdp2h/oZsQwum2FCVNC2/bTlhI5M5H17V+sXpdxfE/TUVCnblrtM3p
 rCtj1uJQZcKSwl4ItzRbfajkwG4sXQHwbogVErUONhDPk7r9dEyeSD2i/Y2JeAKKAnCmWTGh
 1rHX09AqLCU8YEv8dTPiaSVlKuTErNzThhAAm3WzbeqLi2GrGCt9pBNDbSTdjfHWWKqpKj7P
 bdJz+vxOeEslUpRt9YuCK5iyK8z6oe9p7JeyQg4TnzHY07yV+FlK3iCm8JOqrdM1vlSvg7vA
 hCD/dxTOLOoPsL5EQFOeFp5P7rbjfxEyCPP6fkVIVnh4H4l9bWKZkxeIh2QhXEPN7ByKo4kn
 b8stcN+B9ZTUfb23gJqVhxpylk=
IronPort-HdrOrdr: A9a23:R/36Nqnhudg0ksFWlQBgOJkLp5TpDfIU3DAbv31ZSRFFG/Fxl6
 iV8sjzsiWE8Qr5OUtQ/+xoV5PhfZqxz/JICMwqTNKftWrdyQyVxeNZnOjfKlTbckWUnINgPO
 VbAsxD4bXLfCBHZK3BgTVQfexO/DD+ytHLudvj
X-IronPort-AV: E=Sophos;i="5.88,321,1635220800"; 
   d="scan'208";a="62377197"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>
Subject: [PATCH 2/3] x86/cpuid: Infrastructure for leaf 0x00000007:1.ebx
Date: Thu, 27 Jan 2022 16:09:39 +0000
Message-ID: <20220127160940.19469-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220127160940.19469-1-andrew.cooper3@citrix.com>
References: <20220127160940.19469-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

From: Jan Beulich <jbeulich@suse.com>

Signed-off-by: Jan Beulich <jbeulich@suse.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>

Split in two, rebase.
---
 tools/misc/xen-cpuid.c                      | 5 +++++
 xen/arch/x86/cpu/common.c                   | 3 ++-
 xen/include/public/arch-x86/cpufeatureset.h | 2 ++
 xen/include/xen/lib/x86/cpuid.h             | 7 +++++++
 4 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/tools/misc/xen-cpuid.c b/tools/misc/xen-cpuid.c
index a3003245f12a..17e67e379fa4 100644
--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -195,6 +195,10 @@ static const char *const str_e21a[32] =
     [ 6] = "nscb",
 };
 
+static const char *const str_7b1[32] =
+{
+};
+
 static const struct {
     const char *name;
     const char *abbr;
@@ -213,6 +217,7 @@ static const struct {
     { "0x00000007:0.edx", "7d0", str_7d0 },
     { "0x00000007:1.eax", "7a1", str_7a1 },
     { "0x80000021.eax",  "e21a", str_e21a },
+    { "0x00000007:1.ebx", "7b1", str_7b1 },
 };
 
 #define COL_ALIGN "18"
diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
index c6773c85fd3e..d4f5028fa2ec 100644
--- a/xen/arch/x86/cpu/common.c
+++ b/xen/arch/x86/cpu/common.c
@@ -445,7 +445,8 @@ static void generic_identify(struct cpuinfo_x86 *c)
 		if (max_subleaf >= 1)
 			cpuid_count(7, 1,
 				    &c->x86_capability[FEATURESET_7a1],
-				    &tmp, &tmp, &tmp);
+				    &c->x86_capability[FEATURESET_7b1],
+				    &tmp, &tmp);
 	}
 
 	if (c->cpuid_level >= 0xd)
diff --git a/xen/include/public/arch-x86/cpufeatureset.h b/xen/include/public/arch-x86/cpufeatureset.h
index 0b399375566f..588f924de59e 100644
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -299,6 +299,8 @@ XEN_CPUFEATURE(FSRCS,        10*32+12) /*A  Fast Short REP CMPSB/SCASB */
 XEN_CPUFEATURE(LFENCE_DISPATCH,    11*32+ 2) /*A  LFENCE always serializing */
 XEN_CPUFEATURE(NSCB,               11*32+ 6) /*A  Null Selector Clears Base (and limit too) */
 
+/* Intel-defined CPU features, CPUID level 0x00000007:1.ebx, word 12 */
+
 #endif /* XEN_CPUFEATURE */
 
 /* Clean up from a default include.  Close the enum (for C). */
diff --git a/xen/include/xen/lib/x86/cpuid.h b/xen/include/xen/lib/x86/cpuid.h
index a4d254ea96e0..e87036b30380 100644
--- a/xen/include/xen/lib/x86/cpuid.h
+++ b/xen/include/xen/lib/x86/cpuid.h
@@ -16,6 +16,7 @@
 #define FEATURESET_7d0    9 /* 0x00000007:0.edx    */
 #define FEATURESET_7a1   10 /* 0x00000007:1.eax    */
 #define FEATURESET_e21a  11 /* 0x80000021.eax      */
+#define FEATURESET_7b1   12 /* 0x00000007:1.ebx    */
 
 struct cpuid_leaf
 {
@@ -188,6 +189,10 @@ struct cpuid_policy
                 uint32_t _7a1;
                 struct { DECL_BITFIELD(7a1); };
             };
+            union {
+                uint32_t _7b1;
+                struct { DECL_BITFIELD(7b1); };
+            };
         };
     } feat;
 
@@ -327,6 +332,7 @@ static inline void cpuid_policy_to_featureset(
     fs[FEATURESET_7d0] = p->feat._7d0;
     fs[FEATURESET_7a1] = p->feat._7a1;
     fs[FEATURESET_e21a] = p->extd.e21a;
+    fs[FEATURESET_7b1] = p->feat._7b1;
 }
 
 /* Fill in a CPUID policy from a featureset bitmap. */
@@ -345,6 +351,7 @@ static inline void cpuid_featureset_to_policy(
     p->feat._7d0  = fs[FEATURESET_7d0];
     p->feat._7a1  = fs[FEATURESET_7a1];
     p->extd.e21a  = fs[FEATURESET_e21a];
+    p->feat._7b1  = fs[FEATURESET_7b1];
 }
 
 static inline uint64_t cpuid_policy_xcr0_max(const struct cpuid_policy *p)
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 16:20:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 16:20:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261620.453148 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD7VN-0004Ka-NY; Thu, 27 Jan 2022 16:20:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261620.453148; Thu, 27 Jan 2022 16: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 1nD7VN-0004KT-K2; Thu, 27 Jan 2022 16:20:13 +0000
Received: by outflank-mailman (input) for mailman id 261620;
 Thu, 27 Jan 2022 16:20:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=P5DO=SL=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nD7VL-0004KN-Vf
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 16:20:12 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fea20377-7f8c-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 17:20:10 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fea20377-7f8c-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643300410;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=Rz4MeOqmOd6nVkvhcy1G9N2jnczBmfonv6t51gRcFzU=;
  b=HzP2Dz/lNqdUsJoTP9RyDO6C5Ov7RszbqOMTfOQ6zjJgGH3kXusI4Xpk
   6edIXgNzua4+58hwQkOWnegCycTWivw4eX8eXyX7Lt/semXrC6EHS66y2
   GopAvWdH39Gvs8im+0sotHtCYqTpx2ebETYLU7QzBj1z5yFx9Ns/ia4yX
   4=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: cnb8f63fWneYzH8TwNljrh+cENDrdcpqhtYr6vaPNp+hcDmQOlNQClkWBDMUAugnZaDtx6QHP2
 X4w8BuecxPIfe7pkWBZUI/P6icJ6mBqlgYgaGpg0rMRW7i9HMB1/bYIUPyK59YXXi0wi06C5K9
 9E0ctGwBksE3cy/ihLugn62yajxRUHeWm82CR0PW3pct2gkxwoN4HRCasUtB8W0NA+9I5FiQc5
 VlpPN339Jdd0ObvULjVbrzdpNtJHzuAQzI5kXtw7nYWnz9Ar914TB4C+3R2AEt1xDCkvJnqVbo
 YzEXcwSnzNZnKcOsrmlmw2Mq
X-SBRS: 5.2
X-MesageID: 65085203
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:JKTUV6luAypR/eU99Bcr7+jo5gxsIURdPkR7XQ2eYbSJt1+Wr1Gzt
 xJLCm+GMvaPMWuhf9t+O43goU8AvpTTm4AwTQI9pHg9RCMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BClVlxJVF/fngqoDUUYYoAQgsA180IMsdoUg7wbRh29Q32YLR7z6l4
 rseneWOYDdJ5BYsWo4kw/rrRMRH5amaVJsw5zTSVNgT1LPsvyB94KE3fMldG0DQUIhMdtNWc
 s6YpF2PEsE1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXee0v0XRYRQR4/ttmHozx+4
 N5VmoWgcCMtBJHByc8gAyNEHHk5BaITrdcrIVDn2SCS50jPcn+qyPRyFkAme4Yf/46bA0kXq
 6ZecmpUKEne2aTmm9pXScE17ignBODtMJkSpTdLyjbBAOx9aZvCX7/L9ZlT2zJYasVmQ6uGN
 5dDMWEHgBLofTRsYwszDZAEnbmVrWHVdzp/8w/Eqv9ii4TU5FMoi+W8WDbPQfSVQe1Fk0Deo
 XjJl0zbKBwHMN2UyRKe72mhwOTImEvTSI8UUbG16PNuqFmS3XAITg0bU0Ohpvu0gVL4XMhQQ
 3H44QJ38/J0rhbyCICgAVvo+xZooyLwRfJbC8Ij+DipzpDo7leyOzg+UjEZL+Qp4ZpeqSMR6
 neFmNbgBDpKubKTSG6A+rr8kQ5eKRT5PkdZO3ZaEFJtD83L5dhq00mRFooL/Lud04WtcQwc1
 Qxmu8TXa187qccQn5u28lnc695HjsiYF1Vljuk7s4/M0++YWGJHT9HwgbQ4xawZRGp8crVnl
 CJZ8yR5xLtWZaxhbATXHI0w8EiBvp5pygH0j191BIUG/D+w4XOldo04yGggeBwzaZ5fJ2KxP
 R67VeZtCHl7ZiXCgUhfONrZNijX5fK4SYSNug78MLKinaSdhCfYpXozNCZ8LkjmkVQ2kLFXB
 HtoWZ3EMJruMow+lGDeb75EidcDn3lirUuOG8yT50n5gNK2OS7EIZ9YYQDmRr1os8u5TPD9r
 ow32z2ikUsPCYUTo0D/rOYuELz9BSFrXM+t850OKLfrz8gPMDhJNsI9CIgJIuRNt69Uiv3J7
 je6XEpZw0D4nnrJNUOBbXULVV8ldc8XQasTMXN+MFC29WIkZIrzvq4Te4FuJess9fB5zO4yR
 P4AIp3SDvNKQzXB2jIccZii89AyKEX13VqDb3i/fTwyX598XAiVqNXqSRTiqXsVBS2tuMpg/
 7D5jlHHQYAOThhJBdrNbK791Eu4uHUQwbogX0bBLtRJVl/r9Yxmd374gvMtepleIhTf3DqKk
 Q2RBE5A9+XKpoY09vjPhLyF8Nj1Q7cvQBICEjCCv7isNCTc8m6y+qN6Ub6FLWLHSWf52KS+f
 uEJnfvyB+IKwQRRuI1mHrc1ka9nv4nzp6VXxxhPFWnQawj5EatpJ3SL0JUdtqBJwbMF6wK6V
 ljWp4tfMLSNfsjkDEQQNEwuaeHajaMYnTzb7PIUJkTm5XAooOrbABsKZxTc2jZAKLZVMZ8+x
 bZzscEb3AWzlx42P4vUlStT7WmNciQNXqhPWkv222M3Zt7HEm1/XKE=
IronPort-HdrOrdr: A9a23:6InomqFUIV+YIYRipLqFTJHXdLJyesId70hD6qkvc3Nom52j+/
 xGws536fatskdtZJkh8erwXZVp2RvnhNBICPoqTMuftW7dySqVxeBZnMTfKljbdREWmdQtrJ
 uIH5IOa+EYSGIK9/oSgzPIU+rIouP3iJxA7N22pxwGLGFXguNbnnxE426gYxdLrWJ9dP4E/e
 +nl6x6Tk2bCBMqh6qAdxs4dtmGg+eOuIPtYBYACRJiwhKJlymU5LnzFAXd9gsCUhtUqI1Ssl
 Ttokjc3OGOovu7whjT2yv49JJNgubszdNFGYilltUVEDPxkQylDb4RGYFq/QpF5d1H2mxa1+
 UkkC1QefibLEmhJ11dlCGdnzUIFgxes0MKh2Xo2kcL6vaJOw7SQ/Ax+76xNCGptnbI9esMoJ
 6ilQiixutqJAKFkyLn69fSURZ20kKyvHo5iOYWy2dSSI0EddZq3MYiFW5uYd899RjBmcsa+S
 hVfbXhzecTdUnfY2HSv2FpztDpVnMvHg2eSkxHvsCOyTBZkH1w0kNdnaUk7zs93YN4T4MB6/
 XPM6xumr0LRsgKbbhlDONERcesEGTCTR/FLWrXK1X6E6MMPW7LtvfMkfgIzfDvfIZNwIo5mZ
 zHXl8dvWkue1j2AcnLx5FP+gClehT1Yd0s8LAp23FUgMyPeFPbC1z1dLl1qbrSnxw2OLyvZ8
 qO
X-IronPort-AV: E=Sophos;i="5.88,321,1635220800"; 
   d="scan'208";a="65085203"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cskUz9heUgDt6tXwXzd9jCO4ArhDYU+UHen/AzoxwFLhkx8d00ifli7fNNQ4bEdBka3X2Bq/hHoHKF/Au5DXfgS2PXPwct9H3MOViu0FH0Mzj7nfiuydmg76vfQ4kTIZ+ctcGnywlVwxmFgNuqsyKV/xaJJLoNZXOXYeJRwT8uhydg8lDbDlAJQ5hkp7HQztI/qFO1Re7uQAU5xQ2vf4IV1L5cF/ZqcJrHFNO/bjmzLJAtlJwuVimWjIOA7eGBF7CLyGnbmJ9BQ0eizbk0LVmAxWvUVu0pPArDDnbwldvz89AJgvtAdGMZ1Y61WG76MN8fLPsBohnStjLtbSIyognQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Rz4MeOqmOd6nVkvhcy1G9N2jnczBmfonv6t51gRcFzU=;
 b=STD8bQXv6m54dZzteIbD0NKZFl6w3MsoHQtFkaC7Vgk0NbluqnlWDwO3qZOK5uNHjHzOtCEdxAn0DVuElJPYGFaNatpMebbQC8RRlUutv/EMgaEiHLjgnCE5QpmHoXCUKy5qt+XA+dIzfpR9pwXgBcxch9B5UutkImLxye0156dcEtix2sgaCvtZVBxx9pJxlVxW0Gf9N0+iLNHfrgSXI70ipTJBoWUbb9WXrjaf0hS/YoPRrXeQhp/6P/Ob+DdRdZDcmTX910Q1MqBQG1MjMSeKOXk5nXWf0DgwKO+LJdC47qp30dk6ktih00T+UK4NHF2i/fC98x4LeqgrfkTPiA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Rz4MeOqmOd6nVkvhcy1G9N2jnczBmfonv6t51gRcFzU=;
 b=Ql0mWKyg1tbokVt/mEghWuDBl8+tZsP4TmmvnV7cJUCKLHq/vtwHXvcJzMXwy5Hw2OJs5B0GJI9wQMTSNJvdkPEQFS5Y/pDXGQDYal6uVo26D6lqxW5hII8IslZYosrmm3mP08f/HF/tgfGYFJdyOrDOb9fpZvjCBlxTjfaZV/E=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Jan Beulich <JBeulich@suse.com>, Roger Pau Monne <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: Re: [PATCH 1/3] x86/cpuid: Disentangle logic for new feature leaves
Thread-Topic: [PATCH 1/3] x86/cpuid: Disentangle logic for new feature leaves
Thread-Index: AQHYE5hplKNdaXkno0SC1jCd8+jv06x3DEoA
Date: Thu, 27 Jan 2022 16:20:05 +0000
Message-ID: <50f43491-e593-af32-b3dd-9a4102c64a7c@citrix.com>
References: <20220127160940.19469-1-andrew.cooper3@citrix.com>
 <20220127160940.19469-2-andrew.cooper3@citrix.com>
In-Reply-To: <20220127160940.19469-2-andrew.cooper3@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: dcf22dd5-bb14-4967-557b-08d9e1b0e0d5
x-ms-traffictypediagnostic: BN7PR03MB3476:EE_
x-microsoft-antispam-prvs: <BN7PR03MB3476B511FF58ECFBD672D060BA219@BN7PR03MB3476.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: D9cJHPVO6CcRJFvv+td7Yb6mNHgWs04rcdUQX81RFMbdlVceE07Qa4PSfRE3LqgKec2FphtzaHWw3bDRsfZS9/oggdwYcTRdYUX/EcFgiXLafrDKIROsfjyKboETveaSCmU6/gxwU1DojCn7jrdj7GM9YfAcqbdeFCIaSJqiiA9I8j+A7rR0IxXg2iph1vpCJOSSTwpJNC412ugzO6NfSy321PGCKOHZc5oG4c5bArTs3q2pa8ZAhc3j5g8vCfw00GRc8Von6e3nAsa7K5Sea7Mm1WR7aVDzlDf7u2v+aYoCz89fVMkCRhGmQltrEyJtwTy49EVd+cmFQSpuNvb0i+Lw+8gqL2Mq9Ta84Hl/UU6MO3YW5YdOJU0H49sKm2k0gfAu1EUnBOuo1vaVh6F8TR5ukozWXX18KmxcYrLb3MIrIKbPY6AfGG1LJwe0BdGn4GSbbvLK+15AmWpqe1PNNVnNs+VjzQ44yUcznbdzoN2MPN99Pvq+ys2Q9/Gi3SugeNYgdzyHZd4cA0CSZb22txd91z22xbww4OSQMQlx5iyLy8JGbB0K9VoQgudZ1ZCkmAWvTiaYbTLbQOW8hkRtGlUPh9Ue9mmNzeyH4C/q7W8vfjSJVCy4sZOQhKuvKlT1mwwndR6NN1vxTB6SlwFuYHIfB2n4IcP1Wse+3UNaR8npKK/GhN2XXsJUz/zL1Yi94JEgeuL2pzBEehGNMx0rYHhrZvHNkjkQtXZK+vx3Lw9bQlsbkHCOMzJSYTZUI4e08NmZ0d1jnTIoWmakEjOMaQ==
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:(13230001)(4636009)(366004)(66946007)(6512007)(2906002)(76116006)(2616005)(6486002)(91956017)(5660300002)(53546011)(36756003)(508600001)(6506007)(71200400001)(31686004)(66556008)(26005)(122000001)(54906003)(316002)(38070700005)(6916009)(66476007)(66446008)(64756008)(83380400001)(4326008)(8676002)(8936002)(38100700002)(186003)(86362001)(82960400001)(31696002)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TzliODAydG4xU3dPN21Lb3p2b1JUSklwczZ5WGJad094cGdETExTREFRU1Jm?=
 =?utf-8?B?TmxrQ1dsRVF1aE1QK3htYmZ2akVnUXdGLytUWElrdDUrUzFhcUttOFA2UXpB?=
 =?utf-8?B?elFYVlFpNzZGNGF3ZjlEOThDUUVBK0E0YTlDa2U2cHh6d01uV1FmU1lCWXZY?=
 =?utf-8?B?M0kyVTRJRkpEbkVUS3BiN1FPUUpUK0o3ZitOU1M2ZkJGeUJiR1I2RjZvdjVV?=
 =?utf-8?B?d1dFNWtxMW41UWJEOWZ4ZlhwalhEUjRub09yYXhONVFtdVRkQngrUVQ3azJs?=
 =?utf-8?B?dFUwOXpKMVJvNGNKNkM1QUlXMzAyNlhDNEliNzNqYmQ5V285aTE4UU42L1Y4?=
 =?utf-8?B?LzJSMWZuazV1NUxYUkNJNTVGZUgwbTFlQkRHUm9zdnFwT2xkOVI5V1gvcVlr?=
 =?utf-8?B?Z25Ec3NtN3lweUNqZDFUWEJDN2xFa1JQVmRLSWhqeGNXaUY0VUZWWEcrRUhm?=
 =?utf-8?B?NnFSOXpsbzJQNDBhT0g2TVhURjF2NVprbmhNWC8zZnhnMGRYRVFzekNCSGdl?=
 =?utf-8?B?Rk1LS01tVEFXWnd1YnpPSnlvZHl3K1VJeTYyMWJWaEhEUWNBa3RHbHdCaW4y?=
 =?utf-8?B?aEVGeFRRbitEbVVrOFltbDhEeHRCb2pET0RvL3J5REloNnM2N3JjaExTckdW?=
 =?utf-8?B?K0tzaTNPMXY3UURBYlpzeTB5RjVSVzhiV3BpZ2dWQThhekkwTDkwc29JQVo0?=
 =?utf-8?B?K0c0ZTJQemx2Z1ZTUDFDT0FCcjZGeEh3d3A1ckczVWZFUDN4Yy9iV01zbkpa?=
 =?utf-8?B?cllkWHhYWm9XV2N5S1MyY1d3OE9ad2FCOVRlVlVQVjNhMmxxdFpucCtJUGps?=
 =?utf-8?B?U1U0S0ZOQ3pJbDY5NzJ3QmF6UytpdHMveG45RGtySzdVZjl4Q2xVUlRCOENm?=
 =?utf-8?B?c2tNeUZ0MytGeUxuaS9uOGpveU9wMisrdlU1aE9neXZSYkNBamZiNmI1MWVD?=
 =?utf-8?B?SGp0RkR5VEQxeU1MTXdUUlR5RnNtektoL28yK0ZTWXJuM2U5SFhHNG1GQ3Ra?=
 =?utf-8?B?Q0JPNmZhRCtOc1RhanBIc3RNWHJESW9zMDVoWU1NYmwxQWdRM0xEdDhUZS9S?=
 =?utf-8?B?dE5YNWRCTHpHNUZ1N09pWHBvd1N1OUI5S3F6K3d0UEY3VlJvUDF4ZksvMGVV?=
 =?utf-8?B?NnR0NVM3QXNITHBVd0VzRFRzMEkycnV2OHljQm04NmJ3RFNYSjYzWFJEcWxB?=
 =?utf-8?B?b3dxYnRxdGFtWXI2amg2UUF5bm0rVE5DekxRSmh6Z3piQ3MzSHBlUm1sUjZa?=
 =?utf-8?B?OFVuK09TajYrd2p0dGRHMEQ0alM4VmdyTmx3TVo0RU8zc3VNYjYwQzZ4OUNW?=
 =?utf-8?B?bVNLdE84b2xPV3FNR2pqT3FhaXRzU1JydTlSZ3czanBNL0RnTXhxd0RLUVlK?=
 =?utf-8?B?MC85end3RmtDVzdKUW1VVHZEdWtPK1NITnhhZW04dno1NDN4STlPUmJiLytY?=
 =?utf-8?B?c3FFNFFjZ05ReTZrME16Tm5YWldrd3J1UkkyNmRkV1ZKMmZ3YjI2S1YzVjZC?=
 =?utf-8?B?SkhKQjZseVVXcTBmV290VkRUajFBY1FKMnlIU2w1RExEenF0OXF5ZzlLSENY?=
 =?utf-8?B?a3lPMjB3ZitPcUlwdmtqM3JucTdaYWFVVm1YNGpxL2FwU2d1bEMxaHdiSDVL?=
 =?utf-8?B?ekJQUjFLUmptd3E0TTQ2ODRZRmhYcjE4THZxOGFvcU1EWlFkT1M2TnBTK0FE?=
 =?utf-8?B?UUZNQUNWS002dVBYeHZ3cy8yMzhyMWtLWjVHdFZLY3dsUEpVcVFIQjEwbkYr?=
 =?utf-8?B?N0I5cjVtVWhlUDFFS0c5dXNGL2MzSmRxTytiU0p3SmlJZkRyNWp2R2srRlZl?=
 =?utf-8?B?YUh1VjNEN1lRdGpRWjF1MDBxbytrKzJmcTRzZU93U1F0cDhxM3RnZGVtZmdh?=
 =?utf-8?B?SHRjOWhUNUt5aDAyOVN1ZDN1QXlpWnp2UVc1Z1NtR2dyOGJwWUtHMGx6QTJH?=
 =?utf-8?B?aEpwbFNKRXNWL0JsbUNmOEFVSDVrOHdWRmZYaE53Qk9hSjdLMVlQdUhZMW1E?=
 =?utf-8?B?dkgrdUVBUDRTWFlIRlVJbU81L01ZeXZvNXp0WTJjNXFtVUEzMGhqYytCVFdE?=
 =?utf-8?B?YXVXcUo5bCtMUUF6M0RWdG1sejVQN2hwR2IxdlE5YWlMMm9tc3pVa2hUNXpF?=
 =?utf-8?B?aWwySXBNNnlzSFNQRm5VVHdSZHYzSWVUNGx1Sm9zbi92QWtlY0FvZHVhKzI0?=
 =?utf-8?B?WUVLMUJYeERnZ2JkU1kveXV1RUlFMmY1ZWZMVTZMYWNEVTZPYzVmSUFYUyt2?=
 =?utf-8?B?ekw4dVNmeWYxekNTc1YvZldDd05RPT0=?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <5B062BED8B44FF4EBC716BF797AAB3DE@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dcf22dd5-bb14-4967-557b-08d9e1b0e0d5
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Jan 2022 16:20:05.1582
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: /lcVGl7U7w27k/ezNXvDofCw3J4JB3cikNW1QSWOhqqghXy7WKVa7QTM6tXPLvLyMoOHGq2oz2RqCtzeuqudJgeRi5os9ucOClI4x2L2Ikk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR03MB3476
X-OriginatorOrg: citrix.com

T24gMjcvMDEvMjAyMiAxNjowOSwgQW5kcmV3IENvb3BlciB3cm90ZToNCj4gQWRkaW5nIGEgbmV3
IGZlYXR1cmUgbGVhZiBpcyBhIHJlYXNvbmFibGUgYW1vdW50IG9mIGJvaWxlcnBsYXRlIGFuZCBm
b3IgdGhlDQo+IHBhdGNoIHRvIGJ1aWxkLCBhdCBsZWFzdCBvbmUgZmVhdHVyZSBmcm9tIHRoZSBu
ZXcgbGVhZiBuZWVkcyBkZWZpbmluZy4gIFRoaXMNCj4gdHlwaWNhbGx5IGNhdXNlcyB0d28gbm9u
LXRyaXZpYWwgY2hhbmdlcyB0byBiZSBtZXJnZWQgdG9nZXRoZXIuDQo+DQo+IEZpcnN0LCBoYXZl
IGdlbi1jcHVpZC5weSB3cml0ZSBvdXQgc29tZSBleHRyYSBwbGFjZWhvbGRlciBkZWZpbmVzOg0K
Pg0KPiAgICNkZWZpbmUgQ1BVSURfQklURklFTERfMTEgYm9vbCA6MSwgOjEsIGxmZW5jZV9kaXNw
YXRjaDoxLCAuLi4NCj4gICAjZGVmaW5lIENQVUlEX0JJVEZJRUxEXzEyIHVpbnQzMl90IDozMiAv
KiBwbGFjZWhvbGRlciAqLw0KPiAgICNkZWZpbmUgQ1BVSURfQklURklFTERfMTMgdWludDMyX3Qg
OjMyIC8qIHBsYWNlaG9sZGVyICovDQo+ICAgI2RlZmluZSBDUFVJRF9CSVRGSUVMRF8xNCB1aW50
MzJfdCA6MzIgLyogcGxhY2Vob2xkZXIgKi8NCj4gICAjZGVmaW5lIENQVUlEX0JJVEZJRUxEXzE1
IHVpbnQzMl90IDozMiAvKiBwbGFjZWhvbGRlciAqLw0KPg0KPiBUaGlzIGFsbG93cyBERUNMX0JJ
VEZJRUxEKCkgdG8gYmUgYWRkZWQgdG8gc3RydWN0IGNwdWlkX3BvbGljeSB3aXRob3V0DQo+IHJl
cXVpcmluZyBhIFhFTl9DUFVGRUFUVVJFKCkgZGVjbGFyZWQgZm9yIHRoZSBsZWFmLiAgVGhlIGNo
b2ljZSBvZiA0IGlzDQo+IGFyYml0cmFyeSwgYW5kIGFsbG93cyB1cyB0byBhZGQgbW9yZSB0aGFu
IG9uZSBsZWFmIGF0IGEgdGltZSBpZiBuZWNlc3NhcnkuDQo+DQo+IFNlY29uZCwgcmV3b3JrIGdl
bmVyaWNfaWRlbnRpZnkoKSB0byBub3QgdXNlIGZlYXR1cmUgbGVhZiBuYW1lcy4NCg0KVGhpcyBz
aG91bGQgc2F5ICJub3QgdXNlIHNwZWNpZmljIGZlYXR1cmUgbmFtZXMuIg0KDQpGaXhlZCBsb2Nh
bGx5Lg0KDQp+QW5kcmV3DQoNCj4gVGhlIGNob2ljZSBvZiBkZXJpdmluZyB0aGUgaW5kZXggZnJv
bSBhIGZlYXR1cmUgd2FzIHRvIGF2b2lkIG1pc21hdGNoZXMsIGJ1dA0KPiBpdHMgY29ycmVjdG5l
c3MgZGVwZW5kcyBvbiBidWdzIGxpa2UgYy9zIDI0OWUwZjFkOGYyMCAoIng4Ni9jcHVpZDogRml4
DQo+IFRTWExEVFJLIGRlZmluaXRpb24iKSBub3QgaGFwcGVuaW5nLg0KPg0KPiBTd2l0Y2ggdG8g
dXNpbmcgRkVBVFVSRVNFVF8qIGp1c3QgbGlrZSB0aGUgcG9saWN5L2ZlYXR1cmVzZXQgaGVscGVy
cy4gIFRoaXMNCj4gYnJlYWtzIHRoZSBjb2duaXRpdmUgY29tcGxleGl0eSBvZiBuZWVkaW5nIHRv
IGtub3cgd2hpY2ggbGVhZiBhIHNwZWNpZmljYWxseQ0KPiBuYW1lZCBmZWF0dXJlIHNob3VsZCBy
ZXNpZGUgaW4sIGFuZCBpcyBzaG9ydGVyIHRvIHdyaXRlLiAgSXQgaXMgYWxzbyBmYXINCj4gZWFz
aWVyIHRvIGlkZW50aWZ5IGFzIGNvcnJlY3QgYXQgYSBnbGFuY2UsIGdpdmVuIHRoZSBjb3JyZWxh
dGlvbiB3aXRoIHRoZQ0KPiBDUFVJRCBsZWFmIGJlaW5nIHJlYWQuDQo+DQo+IEluIGFkZGl0aW9u
LCB0aWR5IHVwIHNvbWUgb3RoZXIgYml0cyBvZiBnZW5lcmljX2lkZW50aWZ5KCkNCj4gICogRHJv
cCBsZWFkaW5nIHplcm9zIGZyb20gbGVhZiBudW1iZXJzLg0KPiAgKiBEb24ndCB1c2UgYSBsb2Nr
ZWQgdXBkYXRlIGZvciBYODZfRkVBVFVSRV9BUEVSRk1QRVJGLg0KPiAgKiBSZXdvcmsgZXh0ZW5k
ZWRfY3B1aWRfbGV2ZWwgY2FsY3VsYXRpb24gdG8gYXZvaWQgc2V0dGluZyBpdCB0d2ljZS4NCj4g
ICogVXNlICJsZWFmID49ICROIiBjb25zaXN0ZW50bHkgc28gJE4gbWF0Y2hlcyB3aXRoIHRoZSBD
UFVJRCBpbnB1dC4NCj4NCj4gU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNv
b3BlcjNAY2l0cml4LmNvbT4NCg0K


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 16:21:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 16:21:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261623.453159 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD7WX-0004u8-2q; Thu, 27 Jan 2022 16:21:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261623.453159; Thu, 27 Jan 2022 16: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 1nD7WW-0004u0-UZ; Thu, 27 Jan 2022 16:21:24 +0000
Received: by outflank-mailman (input) for mailman id 261623;
 Thu, 27 Jan 2022 16:21:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IOiu=SL=citrix.com=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1nD7WV-0004tf-6I
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 16:21:23 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 284c6948-7f8d-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 17:21:19 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 284c6948-7f8d-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643300479;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:mime-version;
  bh=6s2fVJGJBPtumMsP5lLEO2XTE2qiMqZ42jvqtZRE85U=;
  b=iEEZKoOUK9tqn9TAm+igf6H6kI3IQjKPAEBrZHQ/S4o42QLB8nHdEteb
   N/rmD07IKKXCaAUe4C9ljay2E8hr4LuI9xN1Db/bQZ3Zl1SEgJGeLYsOC
   +5ij2Thhhw/f9XNhfM7tnxysvN8NG1McB2fkYrwOPeydvEEWjVn1OW1hU
   A=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: Bh3KZUha1DWXa3ZPvRAZh486hM1cVNeyXaVBIKQZXMu1fPZf4YcWwjk4TS8Tn/Pg/B8LBmJxnM
 hp3pzP0HLobV0FaXc7PwGCcWGZ0Ucrhb/oyxzc4SxkRxtcVHlgEAGKRLleLoUBfGlQEXUiqWSx
 cuMWi6LRzECeCWFFKUexmCD6H4FqCzPAT11CZD0uPSf3dTi0VYFEot/R8rJFc55o/UFqCvONrx
 wCab1OdfS2HQoEfE34eSf3ZXSbvd6O3PMaX4Wi9pjVW/R+PBadYqujsWDqWlqPx/SbpzTSN/ia
 tuooGgAj1qF76HvubGCfthDj
X-SBRS: 5.2
X-MesageID: 62829119
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:uvY+NK9vmLgjbfLiEu6WDrUD1XiTJUtcMsCJ2f8bNWPcYEJGY0x3m
 jAYWDyEOaqIMzGnf99/Yd+3/UMG6sLdnYMwGwJury48E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7dj3dYy6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPhq+
 upQrKKBWT0YL6yVlsI6QjN/DBpxaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguwoLNPqJ58es3cmyTDfAfcpaZvCX7/L9ZlT2zJYasVmQ6yOP
 ZtAMGsHgBLoPE1gZngaWZ8CnsSyo3ymXmAHp0irnP9ii4TU5FMoi+W8WDbPQfSRXtlclEuco
 mPA/kz6DwscOdjZziCKmlqum+vOkCXTSI8UUrqi+ZZCvlqXwWACDQwMYnGyq/K5l02WVspWL
 gof/S9GhaQ76kGDVNT2WBy85nmesXY0RN54A+A8rgaXxcL88wufQ2QJUDNFQNgnr9MtAywn0
 EeTmNHkDiApt6eaIVqf/LqJqTK5OQAOMHQPIyQDSGMt4db5p5oopgnSVdslG6mw5uAZAhmpn
 WrM9nJnwexO04hbjM1X4GwrnRq3lKfUVzAE9j/mT2P84CVedaSCeLenvA2zAel7EK6VSVyIv
 X4hkseY7fwTAZzlqBFhUNnhD5nyua/bbWS0bUpHWsB4qm/zoyLLkZV4vWkmTHqFJProbtMAj
 KX7nQpKrKFeM3KxBUOcS9LgUp96pUQM+DmMaxw1UjasSsUpHONk1Hs3DaJ144wLuBJx+U3YE
 czDGftA9V5AVcxaIMOeHo/xK4MDyCEk3n/0Tpvm1Rmh2rf2TCfLFexfawPVML1hsfLsTODpH
 zB3bZXiJ/J3C7WWX8Uq2dRLcQBiwYYTW/gaVPC7hsbce1E7SQnN+tfawK87epwNokimvrygw
 51JYWcBkACXrSSecW2iMyk/AJuyA8oXhS9lbEQEYAb5s1B+MN3HxPpOKPMKkUwPqbYLIQhcF
 adVIq1tw51nF1z6xtjqRcCt9dM5LEXy21vm0ujMSGFXQqOMjjfho7fMVgDu6DMPHmyws84/q
 KenzQTVXdwIQAEKMSocQKvHI4qZsSdPleRscVHPJ9UPKkzg/JIzc376j+MtItFKIhLGn2PI2
 wGTCBYehO/Mv45qr4WZ2fHa99+kQ7lkA05XP2jH9rLqZyPUyXWunN1bW+GScDGDCG6toPe+Z
 f9Yxu3XOeEcmAoYqJJ1FrtmlPps59bmq7JA4B5jGXHHMwaiBr96eyHU1shTrKxdgLRevFLuC
 E6I/9BbP5SPOd/kTwFNdFZ0MLzb2KhNyDfI7PkzLEHr3wNN/eKKARdIIh2BqC1BN78pYokr9
 vgs5ZwN4Aulhxt0btvf1nJI936BJ2ArWrk8ss1IG5fijwcmxw0QYZHYDSOqspiDZ88VbxsvK
 z6QwqHDm65d1gzJdH9qTSrB2u9UhJIvvhFWzQBdewTVy4Sd3vJnjgdM9TkXTxhOykQV2u1+D
 WFnKklpKPjc5DxvnsVCAzihFgwp6Md1IaAtJ4/lTFHkcnQ=
IronPort-HdrOrdr: A9a23:7KF9u6zec5yljtn/9ekJKrPxheskLtp133Aq2lEZdPULSKKlfp
 GV88jziyWZtN9IYgBdpTiBUJPwJU80hqQFnrX5XI3SEjUO3VHIEGgM1/qb/9SNIVydygcZ79
 YcT0EcMqywMbEZt7eA3ODQKb9Jq7PrkNHKuQ6d9QYWcegDUdA60+4TMHf9LqQCfng+OXNPLu
 v72iMonUvERV0nKuCAQlUVVenKoNPG0Lj8ZwQdOhIh4A6SyRu19b/TCXGjr1cjegIK5Y1n3X
 nOkgT/6Knmmeq80AXg22ja6IkTsMf9y+FEGNeHhqEuW3bRY0eTFcZcso+5zXQISdKUmREXeR
 730lEd1vFImjbsl6eO0ELQMkfboW4TAjTZuCGlaDPY0L3ErXQBepB8bMtiA2jkwltls9dm3K
 1R2WWF85JREBPbhSz4o8PFThdwiyOP0DcfeX56tQ0ubWIyUs4bkWUkxjIeLH7AJlOM1Kk3VO
 11SM3M7vdfdl2XK3jfo2l02dSpGnA+BA2PTEQOstGcl2E+pgE382IIgMgE2nsQ/pM0TJdJo+
 zCL6RzjblLCssbd7h0CusNSda+TmbNXRXPOmSPJkmPLtBKB1vd75rspLkl7uCjf5IFiJM0hZ
 TaSVtd8XU/fkr/YPf+lKGjMiq9CVlVcQ6dv/221qIJzIEUHoCbQxFrYGpe5/ednw==
X-IronPort-AV: E=Sophos;i="5.88,321,1635220800"; 
   d="scan'208,217";a="62829119"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IaY2js9sqxuo853EV60UrF0MqHxpfDbmrxyb/gkQxqjci0O2JEaWExX8ttGdOYAc8XA+GVB2w7BNX89SgwwZNF3Kh+PbX/KNvUqjRQAoDE3WZCYFWcpFHw+ofn2yF3UjBauK/AuBY+DWGn3spdH3hdwWomVkntUwiu8mieohoyRNc1cx4iugKxI+Lf6ki2iEuoXbYTmoib2K1yCp3Bdtg6ACU2Eyco93xd982y2nkj4e2RJd7+JsK/7x7Erb3hJYENlDxT6x0b49YR8+Jbauy33b2zmNay82AzSdSco0VQ2xyhXL/oqBY4I0XLnN62O2zIe8+A25dvJZKLOl1Vas8Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6s2fVJGJBPtumMsP5lLEO2XTE2qiMqZ42jvqtZRE85U=;
 b=Cs2p6O0iRXawvTuzvedbykeK2MftCKV3G/x0vW+3amV0ZOnN9UVL+hokeJS0NzyLNYklyOsYI9aaDJ24ZlIK6y/id1Qxj2a7jzcMnXX/PQD20Ayrc2AFYCDfdkv0gBx+ZthmPlE/DKDiW5nzrm5VYlN8jWz12GozuOVDMewaKMNB1IDKj06BVIfKLwvpeaDQNanPVeCL4BreAndIsC5PMyZUCEPrGFB1ezgvsJ+Ko0ovdMMwr73/qdyTF8ZsJoxWwI20zj7doWCNSRwDjfYHibtRwDAL1/BYUNKC7sCLwCL/NrAU9RU+taCyQGtwFf7xDdYLmGZzLo1bPgcSSZFDHA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6s2fVJGJBPtumMsP5lLEO2XTE2qiMqZ42jvqtZRE85U=;
 b=SwygO4B6j3U5QYhvgBDsTRZR7zYunEpCI6AalrRZAs6KMs21HM5Go2PgBxco9E4nqgKPfjkkXKpp5F9iudaBOiSjzaeYmn6wPZn6SbJ3G7JSNZ3ckivU37CSbS/J/jFpMRxghJugdMVNFyt+Gk+Y/FDCXjf9BYLA+FGynH3KLZw=
From: Christian Lindig <christian.lindig@citrix.com>
To: Jane Malalane <Jane.Malalane@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, "Anthony
 Perard" <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, "Andrew
 Cooper" <Andrew.Cooper3@citrix.com>, George Dunlap
	<George.Dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, David Scott
	<dave@recoil.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, "Roger Pau
 Monne" <roger.pau@citrix.com>
Subject: Re: [PATCH 2/2] x86/xen: Allow per-domain usage of hardware
 virtualized APIC
Thread-Topic: [PATCH 2/2] x86/xen: Allow per-domain usage of hardware
 virtualized APIC
Thread-Index: AQHYE5eVZRQ1lFhjOU+HWGCR3lWBc6x3DJuA
Date: Thu, 27 Jan 2022 16:21:12 +0000
Message-ID: <58C9E7E7-35AA-47C1-A3DD-9FF5485B7934@citrix.com>
References: <20220127160133.11608-1-jane.malalane@citrix.com>
 <20220127160133.11608-3-jane.malalane@citrix.com>
In-Reply-To: <20220127160133.11608-3-jane.malalane@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3608.120.23.2.4)
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: f7b1c397-3227-4cac-0dd8-08d9e1b108fe
x-ms-traffictypediagnostic: BYAPR03MB3765:EE_
x-microsoft-antispam-prvs: <BYAPR03MB3765AB30048255AEE2E7B2B0F6219@BYAPR03MB3765.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: PGlltR/VsBqbQL/15PwQvYJaPmm9Jl6du+3p2ebABtlM1go1LStp72TXyBW+y5Zi8JBUEKP9Z81IsYbdQDuKg1EV4OaHXV4Fb/thHwfKhUsgbIjH38Mjms95bsL3Dl2ddBo2/3Nge3v6rTByUTJIEEFYs5Gh9tXGXNykOKtVGuxlalkiShhHrgQVkVKE4JLn1VK0iLuzF+leNncctLURMQAnMKa8JYdX0hXR0X9uio7qnlvzSwYGd8EVGcHFoNkFIfe6iUg/t6zpWL6bvOnKU6CZjkfuywxLoU2cMezghSEOh7akYOS5SCqs22fBTbG6CI1WZBlkUHjptxhA7mzJCApc6o+VN2nwgMpZxxbl1W+HIDZYEluYaPGbn+2gOLrcDlDjL/Th2zdapDoMlEBhQdtZWaZy3m6aCTRzdWOJrsXHBcmpKNZH4ekbhxysvw6keb0b+yR4Y57Rb8ak9Bg64nKF92P9Ka2XPBisRDNESQFrVq+NyVIobBrWqLwzxHEct9KGy0q54/QhdjZWRsqoEi9i4JoZ7fOGg6+Wf+awCnyMnqs417b60lqZ3zsDkNAThAxmb9IQrMaU/OIcaOXR63D4ExWQ+JaS5JKjBeXO6SFDcCGv0c2JtNH3Rkomj67rMkvj8s0Z+l0d8d6ypX9fpIm4SGHkYo07BkZBrx5IjKSyYPP2F/13c4yNHFQf1GQQrbkxE74xsmMAJSgyDeg8fpAzT6vZsCopEi745R4JuVg=
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR03MB6380.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(6512007)(6506007)(122000001)(107886003)(44832011)(53546011)(82960400001)(8936002)(2906002)(86362001)(38100700002)(8676002)(4326008)(5660300002)(30864003)(38070700005)(6862004)(64756008)(37006003)(71200400001)(66556008)(6636002)(26005)(91956017)(83380400001)(508600001)(36756003)(54906003)(76116006)(66946007)(2616005)(186003)(66446008)(66476007)(316002)(33656002)(6486002)(45980500001)(579004)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?aFNCZ2N5Y2EzT2VBbEU5TWdMTUNwaVhYNEVnQXFNSXZPZTl3eFhqRFFGSnhG?=
 =?utf-8?B?TkJUVFF3MTU3bk8wSTl4OFZXU2hSZTF1blNqSUJCUW9DaWt4TTMzNGY3SEhi?=
 =?utf-8?B?SFp0Z3E0cy92N1VtdkhwWngvL0xGVFlhLy9tTVFsdW5RVktoUDhrOFM4Nkcy?=
 =?utf-8?B?cjhaZjhtSnlNMSsyZkVLNC9NZnVUelZnZk5ua2pudXQxNUlwcEhWelAyT05o?=
 =?utf-8?B?MG9pMVRkR2twY1BXVE5FTDl4NXJhQVdHM3J4cVlvNkFkTWxhWm91cGFBaC9q?=
 =?utf-8?B?bnV6N0Y1M2FJaVpjT0tkQ1VwQVYyRDBFSG5yQk5pUUNLcXZMWE4wazhtSGh5?=
 =?utf-8?B?ZlVhT0xPczVtaEFaUDFxNTdrZ2V3TjlHWWEvMmNDaFBDTGVnRzRlM0NpZkla?=
 =?utf-8?B?MzVjdGZYK1lGQXZHbFJ1aU9sSTBuLzhWZFdzMUdiSG1sUHZCRGk0aHBDMG9E?=
 =?utf-8?B?Qi8ramJXeUpaTG81aXFZNzVhaGlHbDR2UEpwb056MjlyQXFJdDVBaElWTnd6?=
 =?utf-8?B?RjJDSGpHR01oWUMvQ2l1dk0rOU1KdXlyc0pPdWRSbzlJNWRaUjFmV1hQVHha?=
 =?utf-8?B?L0h6QWF2aHhJU1JnQWpJYWRROHdMZE1vM1JYVFZWeFZhSUJ3VklJQkR6YXZm?=
 =?utf-8?B?dHhxSndLY1NZcng4c0grT1lwTkdiNXIrWU1PY1dtSUxOeTJDQ2ZXL3dnbHQw?=
 =?utf-8?B?RHdVY0N4WU5jeC9SZUc2Q1U4c0taQ1kzZlpuUStJaUpIUHFWdnJjS1NDRW5F?=
 =?utf-8?B?SmJtQTU1ZHB4K1U3czhRUXlOdW5NbzIxU3ZZOW5JMnBpTzNCdkRuL1QrSWJi?=
 =?utf-8?B?UEMyVEE2d2Zoc09jeWQ0UmJkOTNtaEg1NEJ1N2N1Wms2RmpYKzQ4OENuSDhz?=
 =?utf-8?B?VHJJc1B3Zzk5K2Y3T0VFekVuZ2p6TWRrMU5hVXlib29hWnhFYkN2emswTXZS?=
 =?utf-8?B?ZVFOQ0tpdWF2MWlrQ1JQcjhXQkp6b08rK0trelBodWpCTTl5eUVIVHpwdHdT?=
 =?utf-8?B?WEd6T01TZURoQy9pSEl2ZlRzV2g3MEM3RGM1R3JjYkgrTmk2RTBrN0NEaHEr?=
 =?utf-8?B?VzZjaXQydGlmVWlmd1RidnpjMDJxZlhzbWMzL2pqK0taTmp3Uyt1WkVKZkQ1?=
 =?utf-8?B?MHE1bFhwMTQrTlJXUXdtWUYyZndlUUM3Um5zRit5MXhHUTFqVnhKaFVWaDJP?=
 =?utf-8?B?YWJoWkJ6UFJTZjBNN0tqL3h3SUpEV0NSbGRQZnlZbkxCWGxCNTZMMkh0Uzgz?=
 =?utf-8?B?b2dMYkI1VTkwMkxla3RUaEloTnM5SmxzWUJzdlZnQlBTTW03ZUgvdTV6MXNP?=
 =?utf-8?B?akE5SndGMTdwM2FKU1NXQjNhem0yME5EOSs2bkhhcW9meUpvVS9OQW96NTcx?=
 =?utf-8?B?cHlWRmc3TGNIK0JYQXZQbWF6OXFaZlZxK25oYVZxQVY5ZkljamNPNFp5MWxk?=
 =?utf-8?B?NWhUSzM1dlJmazFRRGk5aUtsK0VYR1NreS9ndTFzeC9wRG9wMUR1VlczdCtL?=
 =?utf-8?B?NzJoYWpnWVBlKzc5YnNza1RBc0VJSXFQVWZKOUxUQ255Ni9tU1dBS0VwTDF6?=
 =?utf-8?B?MjI1YUZjMHRiUUc4L1BFbElmakhHOGFoUnlIMXhneDJOdXU1bzBPaEh2c1V3?=
 =?utf-8?B?Vjl2WEZGSWFFb0xNZ01PaG9xSlphMC9waUJ6em8zZSt5NWFLVUhaYi9FUXhI?=
 =?utf-8?B?ekVWdUtyVVczU0FmUkdEUTdZVXZ6MSs1YzhtWjhJM2JQZDRpTUtKclYwOVFP?=
 =?utf-8?B?WXpiRHJjZXVEeGxaTFpaQkV3QzlQNVBmNXU1T0tGUFBPUVF3QkZpZHhTVUlQ?=
 =?utf-8?B?cEdtTTZXNHVSRVNYelcvbHN6eTJ5b2cyaUdXaUNGS0JCYituc1NtaG4xQ09p?=
 =?utf-8?B?V1VjYUVPMTBkaStmdVlZL1JjZkJBUWNOUnJjcEJJZGQzVmRoNjdqSVlFUkNI?=
 =?utf-8?B?WDkydmJORlRFYWxKUXJ1Tm9CbWlOTEswZXZoaHRYekRHUDUrVExNUGRsWFFj?=
 =?utf-8?B?ajhxQ0Nya29CTURmUHQ3MWY3T2lTc2VQeUZZV3RiSDdPNFFtUzloYVNSSTJU?=
 =?utf-8?B?T3kwdVU2Z1MyeG1BT2wwRDdtaVhXdzBlRHM1dDFUOHZ0SlgwOEZSRVRaNUda?=
 =?utf-8?B?Zm50NFA5V2k4MEEyVlNXQ2FFNFMvTzVSSVpvTy90d0RrYlJ2YWZabmNYOVly?=
 =?utf-8?B?bys3NStyekhPeVJRQWg0MitZNVlnTk1ubnVhRzgveklMSlNwME5SdFdRZE9I?=
 =?utf-8?Q?LwNno6KCtalR4z/yRXXE0dAoiciBAAAFG6Pl/KZhG4=3D?=
Content-Type: multipart/alternative;
	boundary="_000_58C9E7E735AA47C1A3DD9FF5485B7934citrixcom_"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MW4PR03MB6380.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f7b1c397-3227-4cac-0dd8-08d9e1b108fe
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Jan 2022 16:21:12.4714
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: d19U/Xejuxk94Y3TIRac/i9vkR6rgrUrvP2a0VIwPHC7nxQXEmxQfUc8DeFEBMab1NoyAlO8c8xBY3cndP6kcOJfCn7WCZQIIXffHJum1J0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB3765
X-OriginatorOrg: citrix.com

--_000_58C9E7E735AA47C1A3DD9FF5485B7934citrixcom_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

VGhlIGNoYW5nZXMgZm9yIHRoZSBPQ2FtbCBiaW5kaW5ncyBhcmUgbWluaW1hbCBhbmQgYWRtaW5p
c3RyYXRpdmUuIFRoaXMgbG9va3MgZ29vZCB0byBtZS4NCg0KQWNrZWQtYnk6IENocmlzdGlhbiBM
aW5kaWcgPGNocmlzdGlhbi5saW5kaWdAY2l0cml4LmNvbTxtYWlsdG86Y2hyaXN0aWFuLmxpbmRp
Z0BjaXRyaXguY29tPj4NCg0KT24gMjcgSmFuIDIwMjIsIGF0IDE2OjAxLCBKYW5lIE1hbGFsYW5l
IDxqYW5lLm1hbGFsYW5lQGNpdHJpeC5jb208bWFpbHRvOmphbmUubWFsYWxhbmVAY2l0cml4LmNv
bT4+IHdyb3RlOg0KDQpJbnRyb2R1Y2UgYSBuZXcgcGVyLWRvbWFpbiBjcmVhdGlvbiB4ODYgc3Bl
Y2lmaWMgZmxhZyB0bw0Kc2VsZWN0IHdoZXRoZXIgaGFyZHdhcmUgYXNzaXN0ZWQgdmlydHVhbGl6
YXRpb24gc2hvdWxkIGJlIHVzZWQgZm9yDQp4ezJ9QVBJQy4NCg0KQSBwZXItZG9tYWluIG9wdGlv
biBpcyBhZGRlZCB0byB4bCBpbiBvcmRlciB0byBzZWxlY3QgdGhlIHVzYWdlIG9mDQp4ezJ9QVBJ
QyBoYXJkd2FyZSBhc3Npc3RlZCB2aXR1YWxpemF0aW9uLCBhcyB3ZWxsIGFzIGEgZ2xvYmFsDQpj
b25maWd1cmF0aW9uIG9wdGlvbi4NCg0KSGF2aW5nIGFsbCBBUElDIGludGVyYWN0aW9uIGV4aXQg
dG8gWGVuIGZvciBlbXVsYXRpb24gaXMgc2xvdyBhbmQgY2FuDQppbmR1Y2UgbXVjaCBvdmVyaGVh
ZC4gSGFyZHdhcmUgY2FuIHNwZWVkIHVwIHh7Mn1BUElDIGJ5IHJ1bm5pbmcgQVBJQw0KcmVhZC93
cml0ZSBhY2Nlc3NlcyB3aXRob3V0IHRha2luZyBhIFZNIGV4aXQuDQoNClNpZ25lZC1vZmYtYnk6
IEphbmUgTWFsYWxhbmUgPGphbmUubWFsYWxhbmVAY2l0cml4LmNvbTxtYWlsdG86amFuZS5tYWxh
bGFuZUBjaXRyaXguY29tPj4NClN1Z2dlc3RlZC1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNv
b3BlcjNAY2l0cml4LmNvbTxtYWlsdG86YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4+DQotLS0N
CkNDOiBXZWkgTGl1IDx3bEB4ZW4ub3JnPG1haWx0bzp3bEB4ZW4ub3JnPj4NCkNDOiBBbnRob255
IFBFUkFSRCA8YW50aG9ueS5wZXJhcmRAY2l0cml4LmNvbTxtYWlsdG86YW50aG9ueS5wZXJhcmRA
Y2l0cml4LmNvbT4+DQpDQzogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPG1haWx0bzpq
Z3Jvc3NAc3VzZS5jb20+Pg0KQ0M6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJp
eC5jb208bWFpbHRvOmFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Pg0KQ0M6IEdlb3JnZSBEdW5s
YXAgPGdlb3JnZS5kdW5sYXBAY2l0cml4LmNvbTxtYWlsdG86Z2VvcmdlLmR1bmxhcEBjaXRyaXgu
Y29tPj4NCkNDOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb208bWFpbHRvOmpiZXVsaWNo
QHN1c2UuY29tPj4NCkNDOiBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4ub3JnPG1haWx0bzpqdWxp
ZW5AeGVuLm9yZz4+DQpDQzogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwu
b3JnPG1haWx0bzpzc3RhYmVsbGluaUBrZXJuZWwub3JnPj4NCkNDOiBDaHJpc3RpYW4gTGluZGln
IDxjaHJpc3RpYW4ubGluZGlnQGNpdHJpeC5jb208bWFpbHRvOmNocmlzdGlhbi5saW5kaWdAY2l0
cml4LmNvbT4+DQpDQzogRGF2aWQgU2NvdHQgPGRhdmVAcmVjb2lsLm9yZzxtYWlsdG86ZGF2ZUBy
ZWNvaWwub3JnPj4NCkNDOiBWb2xvZHlteXIgQmFiY2h1ayA8Vm9sb2R5bXlyX0JhYmNodWtAZXBh
bS5jb208bWFpbHRvOlZvbG9keW15cl9CYWJjaHVrQGVwYW0uY29tPj4NCkNDOiAiUm9nZXIgUGF1
IE1vbm7DqSIgPHJvZ2VyLnBhdUBjaXRyaXguY29tPG1haWx0bzpyb2dlci5wYXVAY2l0cml4LmNv
bT4+DQotLS0NCmRvY3MvbWFuL3hsLmNmZy41LnBvZC5pbiAgICAgICAgICAgICAgfCAxMCArKysr
KysrKw0KZG9jcy9tYW4veGwuY29uZi41LnBvZC5pbiAgICAgICAgICAgICB8IDEyICsrKysrKysr
KysNCnRvb2xzL2dvbGFuZy94ZW5saWdodC9oZWxwZXJzLmdlbi5nbyAgfCAxMiArKysrKysrKysr
DQp0b29scy9saWJzL2xpZ2h0L2xpYnhsX2FyY2guaCAgICAgICAgIHwgIDUgKystLQ0KdG9vbHMv
bGlicy9saWdodC9saWJ4bF9hcm0uYyAgICAgICAgICB8ICA1ICsrLS0NCnRvb2xzL2xpYnMvbGln
aHQvbGlieGxfY3JlYXRlLmMgICAgICAgfCAyMSArKysrKysrKysrLS0tLS0tLQ0KdG9vbHMvbGli
cy9saWdodC9saWJ4bF90eXBlcy5pZGwgICAgICB8ICAyICsrDQp0b29scy9saWJzL2xpZ2h0L2xp
YnhsX3g4Ni5jICAgICAgICAgIHwgNDMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
LS0NCnRvb2xzL29jYW1sL2xpYnMveGMveGVuY3RybC5tbCAgICAgICAgfCAgMiArKw0KdG9vbHMv
b2NhbWwvbGlicy94Yy94ZW5jdHJsLm1saSAgICAgICB8ICAyICsrDQp0b29scy94bC94bC5jICAg
ICAgICAgICAgICAgICAgICAgICAgIHwgIDggKysrKysrKw0KdG9vbHMveGwveGwuaCAgICAgICAg
ICAgICAgICAgICAgICAgICB8ICAyICsrDQp0b29scy94bC94bF9wYXJzZS5jICAgICAgICAgICAg
ICAgICAgIHwgMTQgKysrKysrKysrKysrDQp4ZW4vYXJjaC94ODYvZG9tYWluLmMgICAgICAgICAg
ICAgICAgIHwgMjcgKysrKysrKysrKysrKysrKysrKysrLQ0KeGVuL2FyY2gveDg2L2h2bS92bXgv
dm1jcy5jICAgICAgICAgICB8ICA0ICsrKysNCnhlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jICAg
ICAgICAgICAgfCAxMyArKysrKysrLS0tLQ0KeGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2h2bS9k
b21haW4uaCB8ICA2ICsrKysrDQp4ZW4vYXJjaC94ODYvdHJhcHMuYyAgICAgICAgICAgICAgICAg
IHwgIDYgKysrLS0NCnhlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLXg4Ni94ZW4uaCAgICAgfCAgMiAr
Kw0KMTkgZmlsZXMgY2hhbmdlZCwgMTc0IGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKQ0K
DQpkaWZmIC0tZ2l0IGEvZG9jcy9tYW4veGwuY2ZnLjUucG9kLmluIGIvZG9jcy9tYW4veGwuY2Zn
LjUucG9kLmluDQppbmRleCBiOThkMTYxMzk4Li45NzRmZTdkMmQ4IDEwMDY0NA0KLS0tIGEvZG9j
cy9tYW4veGwuY2ZnLjUucG9kLmluDQorKysgYi9kb2NzL21hbi94bC5jZmcuNS5wb2QuaW4NCkBA
IC0xODYyLDYgKzE4NjIsMTYgQEAgZmlybXdhcmUgdGFibGVzIHdoZW4gdXNpbmcgY2VydGFpbiBv
bGRlciBndWVzdCBPcGVyYXRpbmcNClN5c3RlbXMuIFRoZXNlIHRhYmxlcyBoYXZlIGJlZW4gc3Vw
ZXJzZWRlZCBieSBuZXdlciBjb25zdHJ1Y3RzIHdpdGhpbg0KdGhlIEFDUEkgdGFibGVzLg0KDQor
PWl0ZW0gQjxhc3Npc3RlZF94YXBpYz1CT09MRUFOPg0KK0I8KHg4NiBvbmx5KT4gRW5hYmxlcyBv
ciBkaXNhYmxlcyBoYXJkd2FyZSBhc3Npc3RlZCB2aXJ0dWFsaXphdGlvbiBmb3IgeGFwaWMuDQor
VGhpcyBhbGxvd3MgYWNjZXNzaW5nIEFQSUMgcmVnaXN0ZXJzIHdpdGhvdXQgYSBWTS1leGl0Lg0K
K1RoZSBkZWZhdWx0IGlzIHNldHRhYmxlIHZpYSBMPHhsLmNvbmYoNSk+Lg0KKw0KKz1pdGVtIEI8
YXNzaXN0ZWRfeDJhcGljPUJPT0xFQU4+DQorQjwoeDg2IG9ubHkpPiBFbmFibGVzIG9yIGRpc2Fi
bGVzIGhhcmR3YXJlIGFzc2lzdGVkIHZpcnR1YWxpemF0aW9uIGZvciB4MmFwaWMuDQorVGhpcyBh
bGxvd3MgYWNjZXNzaW5nIEFQSUMgcmVnaXN0ZXJzIHdpdGhvdXQgYSBWTS1leGl0Lg0KK1RoZSBk
ZWZhdWx0IGlzIHNldHRhYmxlIHZpYSBMPHhsLmNvbmYoNSk+Lg0KKw0KPWl0ZW0gQjxueD1CT09M
RUFOPg0KDQpCPCh4ODYgb25seSk+IEhpZGVzIG9yIGV4cG9zZXMgdGhlIE5vLWVYZWN1dGUgY2Fw
YWJpbGl0eS4gVGhpcyBhbGxvd3MgYSBndWVzdA0KZGlmZiAtLWdpdCBhL2RvY3MvbWFuL3hsLmNv
bmYuNS5wb2QuaW4gYi9kb2NzL21hbi94bC5jb25mLjUucG9kLmluDQppbmRleCBkZjIwYzA4MTM3
Li4yZDBhNTlkMDE5IDEwMDY0NA0KLS0tIGEvZG9jcy9tYW4veGwuY29uZi41LnBvZC5pbg0KKysr
IGIvZG9jcy9tYW4veGwuY29uZi41LnBvZC5pbg0KQEAgLTEwNyw2ICsxMDcsMTggQEAgU2V0cyB0
aGUgZGVmYXVsdCB2YWx1ZSBmb3IgdGhlIEM8bWF4X2dyYW50X3ZlcnNpb24+IGRvbWFpbiBjb25m
aWcgdmFsdWUuDQoNCkRlZmF1bHQ6IG1heGltdW0gZ3JhbnQgdmVyc2lvbiBzdXBwb3J0ZWQgYnkg
dGhlIGh5cGVydmlzb3IuDQoNCis9aXRlbSBCPGFzc2lzdGVkX3hhcGljPUJPT0xFQU4+DQorDQor
SWYgZW5hYmxlZCwgZG9tYWlucyB3aWxsIHVzZSB4QVBJQyBoYXJkd2FyZSBhc3Npc3RlZCBlbXVs
YXRpb24gYnkgZGVmYXVsdC4NCisNCitEZWZhdWx0OiBlbmFibGVkLg0KKw0KKz1pdGVtIEI8YXNz
aXN0ZWRfeDJhcGljPUJPT0xFQU4+DQorDQorSWYgZW5hYmxlZCwgZG9tYWlucyB3aWxsIHVzZSB4
MkFQSUMgaGFyZHdhcmUgYXNzaXN0ZWQgZW11bGF0aW9uIGJ5IGRlZmF1bHQuDQorDQorRGVmYXVs
dDogZW5hYmxlZC4NCisNCj1pdGVtIEI8dmlmLmRlZmF1bHQuc2NyaXB0PSJQQVRIIj4NCg0KQ29u
ZmlndXJlcyB0aGUgZGVmYXVsdCBob3RwbHVnIHNjcmlwdCB1c2VkIGJ5IHZpcnR1YWwgbmV0d29y
ayBkZXZpY2VzLg0KZGlmZiAtLWdpdCBhL3Rvb2xzL2dvbGFuZy94ZW5saWdodC9oZWxwZXJzLmdl
bi5nbyBiL3Rvb2xzL2dvbGFuZy94ZW5saWdodC9oZWxwZXJzLmdlbi5nbw0KaW5kZXggZGQ0ZTZj
OWYxNC4uOTBlN2I5YjIwNSAxMDA2NDQNCi0tLSBhL3Rvb2xzL2dvbGFuZy94ZW5saWdodC9oZWxw
ZXJzLmdlbi5nbw0KKysrIGIvdG9vbHMvZ29sYW5nL3hlbmxpZ2h0L2hlbHBlcnMuZ2VuLmdvDQpA
QCAtNjM2LDYgKzYzNiwxMiBAQCB4LlBhc3N0aHJvdWdoID0gUGFzc3Rocm91Z2goeGMucGFzc3Ro
cm91Z2gpDQppZiBlcnIgOj0geC5YZW5kU3VzcGVuZEV2dGNobkNvbXBhdC5mcm9tQygmeGMueGVu
ZF9zdXNwZW5kX2V2dGNobl9jb21wYXQpO2VyciAhPSBuaWwgew0KcmV0dXJuIGZtdC5FcnJvcmYo
ImNvbnZlcnRpbmcgZmllbGQgWGVuZFN1c3BlbmRFdnRjaG5Db21wYXQ6ICV2IiwgZXJyKQ0KfQ0K
K2lmIGVyciA6PSB4LkFyY2hYODYuQXNzaXN0ZWRYYXBpYy5mcm9tQygmeGMuYXJjaF94ODYuYXNz
aXN0ZWRfeGFwaWMpO2VyciAhPSBuaWwgew0KK3JldHVybiBmbXQuRXJyb3JmKCJjb252ZXJ0aW5n
IGZpZWxkIEFyY2hYODYuQXNzaXN0ZWRYYXBpYzogJXYiLCBlcnIpDQorfQ0KK2lmIGVyciA6PSB4
LkFyY2hYODYuQXNzaXN0ZWRYMkFwaWMuZnJvbUMoJnhjLmFyY2hfeDg2LmFzc2lzdGVkX3gyYXBp
Yyk7ZXJyICE9IG5pbCB7DQorcmV0dXJuIGZtdC5FcnJvcmYoImNvbnZlcnRpbmcgZmllbGQgQXJj
aFg4Ni5Bc3Npc3RlZFgyQXBpYzogJXYiLCBlcnIpDQorfQ0KDQogcmV0dXJuIG5pbH0NCg0KQEAg
LTY3OSw2ICs2ODUsMTIgQEAgeGMucGFzc3Rocm91Z2ggPSBDLmxpYnhsX3Bhc3N0aHJvdWdoKHgu
UGFzc3Rocm91Z2gpDQppZiBlcnIgOj0geC5YZW5kU3VzcGVuZEV2dGNobkNvbXBhdC50b0MoJnhj
LnhlbmRfc3VzcGVuZF9ldnRjaG5fY29tcGF0KTsgZXJyICE9IG5pbCB7DQpyZXR1cm4gZm10LkVy
cm9yZigiY29udmVydGluZyBmaWVsZCBYZW5kU3VzcGVuZEV2dGNobkNvbXBhdDogJXYiLCBlcnIp
DQp9DQoraWYgZXJyIDo9IHguQXJjaFg4Ni5Bc3Npc3RlZFhhcGljLnRvQygmeGMuYXJjaF94ODYu
YXNzaXN0ZWRfeGFwaWMpOyBlcnIgIT0gbmlsIHsNCityZXR1cm4gZm10LkVycm9yZigiY29udmVy
dGluZyBmaWVsZCBBcmNoWDg2LkFzc2lzdGVkWGFwaWM6ICV2IiwgZXJyKQ0KK30NCitpZiBlcnIg
Oj0geC5BcmNoWDg2LkFzc2lzdGVkWDJBcGljLnRvQygmeGMuYXJjaF94ODYuYXNzaXN0ZWRfeDJh
cGljKTsgZXJyICE9IG5pbCB7DQorcmV0dXJuIGZtdC5FcnJvcmYoImNvbnZlcnRpbmcgZmllbGQg
QXJjaFg4Ni5Bc3Npc3RlZFgyQXBpYzogJXYiLCBlcnIpDQorfQ0KDQogcmV0dXJuIG5pbA0KIH0N
CmRpZmYgLS1naXQgYS90b29scy9saWJzL2xpZ2h0L2xpYnhsX2FyY2guaCBiL3Rvb2xzL2xpYnMv
bGlnaHQvbGlieGxfYXJjaC5oDQppbmRleCAwMGNjNTAzOTRkLi4yZWFmZjQ1NTI2IDEwMDY0NA0K
LS0tIGEvdG9vbHMvbGlicy9saWdodC9saWJ4bF9hcmNoLmgNCisrKyBiL3Rvb2xzL2xpYnMvbGln
aHQvbGlieGxfYXJjaC5oDQpAQCAtNzEsOCArNzEsOSBAQCB2b2lkIGxpYnhsX19hcmNoX2RvbWFp
bl9jcmVhdGVfaW5mb19zZXRkZWZhdWx0KGxpYnhsX19nYyAqZ2MsDQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RvbWFpbl9jcmVhdGVfaW5mbyAq
Y19pbmZvKTsNCg0KX2hpZGRlbg0KLXZvaWQgbGlieGxfX2FyY2hfZG9tYWluX2J1aWxkX2luZm9f
c2V0ZGVmYXVsdChsaWJ4bF9fZ2MgKmdjLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBsaWJ4bF9kb21haW5fYnVpbGRfaW5mbyAqYl9pbmZvKTsNCitpbnQg
bGlieGxfX2FyY2hfZG9tYWluX2J1aWxkX2luZm9fc2V0ZGVmYXVsdChsaWJ4bF9fZ2MgKmdjLA0K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RvbWFp
bl9idWlsZF9pbmZvICpiX2luZm8sDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgbGlieGxfcGh5c2luZm8gKnBoeXNpbmZvKTsNCg0KX2hpZGRlbg0K
aW50IGxpYnhsX19hcmNoX3Bhc3N0aHJvdWdoX21vZGVfc2V0ZGVmYXVsdChsaWJ4bF9fZ2MgKmdj
LA0KZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfYXJtLmMgYi90b29scy9saWJz
L2xpZ2h0L2xpYnhsX2FybS5jDQppbmRleCA1MmYyNTQ1NDk4Li40ZDQyMmJlZjk2IDEwMDY0NA0K
LS0tIGEvdG9vbHMvbGlicy9saWdodC9saWJ4bF9hcm0uYw0KKysrIGIvdG9vbHMvbGlicy9saWdo
dC9saWJ4bF9hcm0uYw0KQEAgLTEzODQsOCArMTM4NCw5IEBAIHZvaWQgbGlieGxfX2FyY2hfZG9t
YWluX2NyZWF0ZV9pbmZvX3NldGRlZmF1bHQobGlieGxfX2djICpnYywNCiAgICB9DQp9DQoNCi12
b2lkIGxpYnhsX19hcmNoX2RvbWFpbl9idWlsZF9pbmZvX3NldGRlZmF1bHQobGlieGxfX2djICpn
YywNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxf
ZG9tYWluX2J1aWxkX2luZm8gKmJfaW5mbykNCitpbnQgbGlieGxfX2FyY2hfZG9tYWluX2J1aWxk
X2luZm9fc2V0ZGVmYXVsdChsaWJ4bF9fZ2MgKmdjLA0KKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RvbWFpbl9idWlsZF9pbmZvICpiX2luZm8sDQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlieGxf
cGh5c2luZm8gKnBoeXNpbmZvKQ0Kew0KICAgIC8qIEFDUEkgaXMgZGlzYWJsZWQgYnkgZGVmYXVs
dCAqLw0KICAgIGxpYnhsX2RlZmJvb2xfc2V0ZGVmYXVsdCgmYl9pbmZvLT5hY3BpLCBmYWxzZSk7
DQpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlicy9saWdodC9saWJ4bF9jcmVhdGUuYyBiL3Rvb2xzL2xp
YnMvbGlnaHQvbGlieGxfY3JlYXRlLmMNCmluZGV4IGQ3YTQwZDc1NTAuLjJiYWU2ZmVmNjIgMTAw
NjQ0DQotLS0gYS90b29scy9saWJzL2xpZ2h0L2xpYnhsX2NyZWF0ZS5jDQorKysgYi90b29scy9s
aWJzL2xpZ2h0L2xpYnhsX2NyZWF0ZS5jDQpAQCAtMjY0LDcgKzI2NCw2IEBAIGludCBsaWJ4bF9f
ZG9tYWluX2J1aWxkX2luZm9fc2V0ZGVmYXVsdChsaWJ4bF9fZ2MgKmdjLA0KICAgIGlmICghYl9p
bmZvLT5ldmVudF9jaGFubmVscykNCiAgICAgICAgYl9pbmZvLT5ldmVudF9jaGFubmVscyA9IDEw
MjM7DQoNCi0gICAgbGlieGxfX2FyY2hfZG9tYWluX2J1aWxkX2luZm9fc2V0ZGVmYXVsdChnYywg
Yl9pbmZvKTsNCiAgICBsaWJ4bF9kZWZib29sX3NldGRlZmF1bHQoJmJfaW5mby0+ZG1fcmVzdHJp
Y3QsIGZhbHNlKTsNCg0KICAgIGlmIChiX2luZm8tPmlvbW11X21lbWtiID09IExJQlhMX01FTUtC
X0RFRkFVTFQpDQpAQCAtNDU2LDE1ICs0NTUsMjEgQEAgaW50IGxpYnhsX19kb21haW5fYnVpbGRf
aW5mb19zZXRkZWZhdWx0KGxpYnhsX19nYyAqZ2MsDQogICAgICAgIGxpYnhsX2RlZmJvb2xfc2V0
ZGVmYXVsdCgmYl9pbmZvLT5uZXN0ZWRfaHZtLCAgICAgICAgICAgICAgIGZhbHNlKTsNCiAgICB9
DQoNCi0gICAgaWYgKGJfaW5mby0+bWF4X2dyYW50X3ZlcnNpb24gPT0gTElCWExfTUFYX0dSQU5U
X0RFRkFVTFQpIHsNCi0gICAgICAgIGxpYnhsX3BoeXNpbmZvIGluZm87DQorICAgIGxpYnhsX3Bo
eXNpbmZvIGluZm87DQoNCi0gICAgICAgIHJjID0gbGlieGxfZ2V0X3BoeXNpbmZvKENUWCwgJmlu
Zm8pOw0KLSAgICAgICAgaWYgKHJjKSB7DQotICAgICAgICAgICAgTE9HKEVSUk9SLCAiZmFpbGVk
IHRvIGdldCBoeXBlcnZpc29yIGluZm8iKTsNCi0gICAgICAgICAgICByZXR1cm4gcmM7DQotICAg
ICAgICB9DQorICAgIHJjID0gbGlieGxfZ2V0X3BoeXNpbmZvKENUWCwgJmluZm8pOw0KKyAgICBp
ZiAocmMpIHsNCisgICAgICAgIExPRyhFUlJPUiwgImZhaWxlZCB0byBnZXQgaHlwZXJ2aXNvciBp
bmZvIik7DQorICAgICAgICByZXR1cm4gcmM7DQorICAgIH0NCg0KKyAgICByYyA9IGxpYnhsX19h
cmNoX2RvbWFpbl9idWlsZF9pbmZvX3NldGRlZmF1bHQoZ2MsIGJfaW5mbywgJmluZm8pOw0KKyAg
ICBpZiAocmMpIHsNCisgICAgICAgIExPRyhFUlJPUiwgInVuYWJsZSB0byBzZXQgZG9tYWluIGFy
Y2ggYnVpbGQgaW5mbyBkZWZhdWx0cyIpOw0KKyAgICAgICAgcmV0dXJuIHJjOw0KKyAgICB9DQor
DQorICAgIGlmIChiX2luZm8tPm1heF9ncmFudF92ZXJzaW9uID09IExJQlhMX01BWF9HUkFOVF9E
RUZBVUxUKSB7DQogICAgICAgIGlmIChpbmZvLmNhcF9nbnR0YWJfdjIpDQogICAgICAgICAgICBi
X2luZm8tPm1heF9ncmFudF92ZXJzaW9uID0gMjsNCiAgICAgICAgZWxzZSBpZiAoaW5mby5jYXBf
Z250dGFiX3YxKQ0KZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfdHlwZXMuaWRs
IGIvdG9vbHMvbGlicy9saWdodC9saWJ4bF90eXBlcy5pZGwNCmluZGV4IDQyYWM2YzM1N2IuLmRi
NWViMGEwYjMgMTAwNjQ0DQotLS0gYS90b29scy9saWJzL2xpZ2h0L2xpYnhsX3R5cGVzLmlkbA0K
KysrIGIvdG9vbHMvbGlicy9saWdodC9saWJ4bF90eXBlcy5pZGwNCkBAIC02NDgsNiArNjQ4LDgg
QEAgbGlieGxfZG9tYWluX2J1aWxkX2luZm8gPSBTdHJ1Y3QoImRvbWFpbl9idWlsZF9pbmZvIixb
DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJ2dWFydCIsIGxpYnhsX3Z1YXJ0X3R5
cGUpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSkpLA0KICAgICgiYXJjaF94ODYi
LCBTdHJ1Y3QoTm9uZSwgWygibXNyX3JlbGF4ZWQiLCBsaWJ4bF9kZWZib29sKSwNCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKCJhc3Npc3RlZF94YXBpYyIsIGxpYnhsX2RlZmJvb2wp
LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoImFzc2lzdGVkX3gyYXBpYyIsIGxp
YnhsX2RlZmJvb2wpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSkpLA0KICAgICMg
QWx0ZXJuYXRlIHAybSBpcyBub3QgYm91bmQgdG8gYW55IGFyY2hpdGVjdHVyZSBvciBndWVzdCB0
eXBlLCBhcyBpdCBpcw0KICAgICMgc3VwcG9ydGVkIGJ5IHg4NiBIVk0gYW5kIEFSTSBzdXBwb3J0
IGlzIHBsYW5uZWQuDQpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlicy9saWdodC9saWJ4bF94ODYuYyBi
L3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfeDg2LmMNCmluZGV4IDMzZGE1MWZlODkuLmIyNTdmY2E3
NTYgMTAwNjQ0DQotLS0gYS90b29scy9saWJzL2xpZ2h0L2xpYnhsX3g4Ni5jDQorKysgYi90b29s
cy9saWJzL2xpZ2h0L2xpYnhsX3g4Ni5jDQpAQCAtMjMsNiArMjMsMTIgQEAgaW50IGxpYnhsX19h
cmNoX2RvbWFpbl9wcmVwYXJlX2NvbmZpZyhsaWJ4bF9fZ2MgKmdjLA0KICAgIGlmIChsaWJ4bF9k
ZWZib29sX3ZhbChkX2NvbmZpZy0+Yl9pbmZvLmFyY2hfeDg2Lm1zcl9yZWxheGVkKSkNCiAgICAg
ICAgY29uZmlnLT5hcmNoLm1pc2NfZmxhZ3MgfD0gWEVOX1g4Nl9NU1JfUkVMQVhFRDsNCg0KKyAg
ICBpZihsaWJ4bF9kZWZib29sX3ZhbChkX2NvbmZpZy0+Yl9pbmZvLmFyY2hfeDg2LmFzc2lzdGVk
X3hhcGljKSkNCisgICAgICAgIGNvbmZpZy0+YXJjaC5taXNjX2ZsYWdzIHw9IFhFTl9YODZfQVNT
SVNURURfWEFQSUM7DQorDQorICAgIGlmKGxpYnhsX2RlZmJvb2xfdmFsKGRfY29uZmlnLT5iX2lu
Zm8uYXJjaF94ODYuYXNzaXN0ZWRfeDJhcGljKSkNCisgICAgICAgIGNvbmZpZy0+YXJjaC5taXNj
X2ZsYWdzIHw9IFhFTl9YODZfQVNTSVNURURfWDJBUElDOw0KKw0KICAgIHJldHVybiAwOw0KfQ0K
DQpAQCAtODE5LDExICs4MjUsNDQgQEAgdm9pZCBsaWJ4bF9fYXJjaF9kb21haW5fY3JlYXRlX2lu
Zm9fc2V0ZGVmYXVsdChsaWJ4bF9fZ2MgKmdjLA0Kew0KfQ0KDQotdm9pZCBsaWJ4bF9fYXJjaF9k
b21haW5fYnVpbGRfaW5mb19zZXRkZWZhdWx0KGxpYnhsX19nYyAqZ2MsDQotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RvbWFpbl9idWlsZF9pbmZv
ICpiX2luZm8pDQoraW50IGxpYnhsX19hcmNoX2RvbWFpbl9idWlsZF9pbmZvX3NldGRlZmF1bHQo
bGlieGxfX2djICpnYywNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBsaWJ4bF9kb21haW5fYnVpbGRfaW5mbyAqYl9pbmZvLA0KKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpYnhsX3BoeXNpbmZvICpwaHlzaW5m
bykNCnsNCisgICAgaW50IHJjOw0KKyAgICBib29sIGFzc2lzdGVkX3hhcGljOw0KKyAgICBib29s
IGFzc2lzdGVkX3gyYXBpYzsNCisNCiAgICBsaWJ4bF9kZWZib29sX3NldGRlZmF1bHQoJmJfaW5m
by0+YWNwaSwgdHJ1ZSk7DQogICAgbGlieGxfZGVmYm9vbF9zZXRkZWZhdWx0KCZiX2luZm8tPmFy
Y2hfeDg2Lm1zcl9yZWxheGVkLCBmYWxzZSk7DQorDQorICAgIGxpYnhsX2RlZmJvb2xfc2V0ZGVm
YXVsdCgmYl9pbmZvLT5hcmNoX3g4Ni5hc3Npc3RlZF94YXBpYywgZmFsc2UpOw0KKyAgICBsaWJ4
bF9kZWZib29sX3NldGRlZmF1bHQoJmJfaW5mby0+YXJjaF94ODYuYXNzaXN0ZWRfeDJhcGljLCBm
YWxzZSk7DQorDQorICAgIGFzc2lzdGVkX3hhcGljID0gbGlieGxfZGVmYm9vbF92YWwoYl9pbmZv
LT5hcmNoX3g4Ni5hc3Npc3RlZF94YXBpYyk7DQorICAgIGFzc2lzdGVkX3gyYXBpYyA9IGxpYnhs
X2RlZmJvb2xfdmFsKGJfaW5mby0+YXJjaF94ODYuYXNzaXN0ZWRfeDJhcGljKTsNCisNCisgICAg
aWYgKChhc3Npc3RlZF94YXBpYyB8fCBhc3Npc3RlZF94MmFwaWMpICYmDQorICAgICAgICBiX2lu
Zm8tPnR5cGUgPT0gTElCWExfRE9NQUlOX1RZUEVfUFYpDQorICAgIHsNCisgICAgICAgIExPRyhF
UlJPUiwgIkludGVycnVwdCBDb250cm9sbGVyIFZpcnR1YWxpemF0aW9uIG5vdCBzdXBwb3J0ZWQg
Zm9yIFBWIik7DQorICAgICAgICByYyA9IEVSUk9SX0lOVkFMOw0KKyAgICAgICAgZ290byBvdXQ7
DQorICAgIH0NCisNCisgICAgaWYgKChhc3Npc3RlZF94YXBpYyAmJiAhcGh5c2luZm8tPmNhcF9h
c3Npc3RlZF94YXBpYykgfHwNCisgICAgICAgICAoYXNzaXN0ZWRfeDJhcGljICYmICFwaHlzaW5m
by0+Y2FwX2Fzc2lzdGVkX3gyYXBpYykpDQorICAgIHsNCisgICAgICAgIExPRyhFUlJPUiwgIngl
c0FQSUMgaGFyZHdhcmUgc3VwcG9ydGVkIGVtdWxhdGlvbiBub3QgYXZhaWxhYmxlIiwNCisgICAg
ICAgICAgICBhc3Npc3RlZF94YXBpYyAmJiAhcGh5c2luZm8tPmNhcF9hc3Npc3RlZF94YXBpYyA/
ICIiIDogIjIiKTsNCisgICAgICAgIHJjID0gIEVSUk9SX0lOVkFMOw0KKyAgICAgICAgZ290byBv
dXQ7DQorICAgIH0NCisNCisgICAgcmMgPSAwOw0KK291dDoNCisgICAgcmV0dXJuIHJjOw0KKw0K
fQ0KDQppbnQgbGlieGxfX2FyY2hfcGFzc3Rocm91Z2hfbW9kZV9zZXRkZWZhdWx0KGxpYnhsX19n
YyAqZ2MsDQpkaWZmIC0tZ2l0IGEvdG9vbHMvb2NhbWwvbGlicy94Yy94ZW5jdHJsLm1sIGIvdG9v
bHMvb2NhbWwvbGlicy94Yy94ZW5jdHJsLm1sDQppbmRleCA3Y2U4MzJkNjA1Li5jY2UzMGQ4NzMx
IDEwMDY0NA0KLS0tIGEvdG9vbHMvb2NhbWwvbGlicy94Yy94ZW5jdHJsLm1sDQorKysgYi90b29s
cy9vY2FtbC9saWJzL3hjL3hlbmN0cmwubWwNCkBAIC01MCw2ICs1MCw4IEBAIHR5cGUgeDg2X2Fy
Y2hfZW11bGF0aW9uX2ZsYWdzID0NCg0KdHlwZSB4ODZfYXJjaF9taXNjX2ZsYWdzID0NCnwgWDg2
X01TUl9SRUxBWEVEDQorIHwgWDg2X0FTU0lTVEVEX1hBUElDDQorIHwgWDg2X0FTU0lTVEVEX1gy
QVBJQw0KDQp0eXBlIHhlbl94ODZfYXJjaF9kb21haW5jb25maWcgPQ0Kew0KZGlmZiAtLWdpdCBh
L3Rvb2xzL29jYW1sL2xpYnMveGMveGVuY3RybC5tbGkgYi90b29scy9vY2FtbC9saWJzL3hjL3hl
bmN0cmwubWxpDQppbmRleCBhMmIxNTEzMGVlLi42N2EyMmVjMTVjIDEwMDY0NA0KLS0tIGEvdG9v
bHMvb2NhbWwvbGlicy94Yy94ZW5jdHJsLm1saQ0KKysrIGIvdG9vbHMvb2NhbWwvbGlicy94Yy94
ZW5jdHJsLm1saQ0KQEAgLTQ0LDYgKzQ0LDggQEAgdHlwZSB4ODZfYXJjaF9lbXVsYXRpb25fZmxh
Z3MgPQ0KDQp0eXBlIHg4Nl9hcmNoX21pc2NfZmxhZ3MgPQ0KICB8IFg4Nl9NU1JfUkVMQVhFRA0K
KyAgfCBYODZfQVNTSVNURURfWEFQSUMNCisgIHwgWDg2X0FTU0lTVEVEX1gyQVBJQw0KDQp0eXBl
IHhlbl94ODZfYXJjaF9kb21haW5jb25maWcgPSB7DQogIGVtdWxhdGlvbl9mbGFnczogeDg2X2Fy
Y2hfZW11bGF0aW9uX2ZsYWdzIGxpc3Q7DQpkaWZmIC0tZ2l0IGEvdG9vbHMveGwveGwuYyBiL3Rv
b2xzL3hsL3hsLmMNCmluZGV4IDJkMWVjMThlYTMuLmI5N2U0OTFjOWMgMTAwNjQ0DQotLS0gYS90
b29scy94bC94bC5jDQorKysgYi90b29scy94bC94bC5jDQpAQCAtNTcsNiArNTcsOCBAQCBpbnQg
bWF4X2dyYW50X2ZyYW1lcyA9IC0xOw0KaW50IG1heF9tYXB0cmFja19mcmFtZXMgPSAtMTsNCmlu
dCBtYXhfZ3JhbnRfdmVyc2lvbiA9IExJQlhMX01BWF9HUkFOVF9ERUZBVUxUOw0KbGlieGxfZG9t
aWQgZG9taWRfcG9saWN5ID0gSU5WQUxJRF9ET01JRDsNCitpbnQgYXNzaXN0ZWRfeGFwaWMgPSAw
Ow0KK2ludCBhc3Npc3RlZF94MmFwaWMgPSAwOw0KDQp4ZW50b29sbG9nX2xldmVsIG1pbm1zZ2xl
dmVsID0gbWlubXNnbGV2ZWxfZGVmYXVsdDsNCg0KQEAgLTIwMSw2ICsyMDMsMTIgQEAgc3RhdGlj
IHZvaWQgcGFyc2VfZ2xvYmFsX2NvbmZpZyhjb25zdCBjaGFyICpjb25maWdmaWxlLA0KICAgIGlm
ICgheGx1X2NmZ19nZXRfbG9uZyAoY29uZmlnLCAiY2xhaW1fbW9kZSIsICZsLCAwKSkNCiAgICAg
ICAgY2xhaW1fbW9kZSA9IGw7DQoNCisgICAgaWYgKCF4bHVfY2ZnX2dldF9sb25nIChjb25maWcs
ICJhc3Npc3RlZF94YXBpYyIsICZsLCAwKSkNCisgICAgICAgIGFzc2lzdGVkX3hhcGljID0gbDsN
CisNCisgICAgaWYgKCF4bHVfY2ZnX2dldF9sb25nIChjb25maWcsICJhc3Npc3RlZF94MmFwaWMi
LCAmbCwgMCkpDQorICAgICAgICBhc3Npc3RlZF94MmFwaWMgPSBsOw0KKw0KICAgIHhsdV9jZmdf
cmVwbGFjZV9zdHJpbmcgKGNvbmZpZywgInJlbXVzLmRlZmF1bHQubmV0YnVmc2NyaXB0IiwNCiAg
ICAgICAgJmRlZmF1bHRfcmVtdXNfbmV0YnVmc2NyaXB0LCAwKTsNCiAgICB4bHVfY2ZnX3JlcGxh
Y2Vfc3RyaW5nIChjb25maWcsICJjb2xvLmRlZmF1bHQucHJveHlzY3JpcHQiLA0KZGlmZiAtLWdp
dCBhL3Rvb2xzL3hsL3hsLmggYi90b29scy94bC94bC5oDQppbmRleCBjNWM0YmVkYmRkLi41Mjhk
ZWIzZmViIDEwMDY0NA0KLS0tIGEvdG9vbHMveGwveGwuaA0KKysrIGIvdG9vbHMveGwveGwuaA0K
QEAgLTI4Niw2ICsyODYsOCBAQCBleHRlcm4gbGlieGxfYml0bWFwIGdsb2JhbF92bV9hZmZpbml0
eV9tYXNrOw0KZXh0ZXJuIGxpYnhsX2JpdG1hcCBnbG9iYWxfaHZtX2FmZmluaXR5X21hc2s7DQpl
eHRlcm4gbGlieGxfYml0bWFwIGdsb2JhbF9wdl9hZmZpbml0eV9tYXNrOw0KZXh0ZXJuIGxpYnhs
X2RvbWlkIGRvbWlkX3BvbGljeTsNCitleHRlcm4gaW50IGFzc2lzdGVkX3hhcGljOw0KK2V4dGVy
biBpbnQgYXNzaXN0ZWRfeDJhcGljOw0KDQplbnVtIG91dHB1dF9mb3JtYXQgew0KICAgIE9VVFBV
VF9GT1JNQVRfSlNPTiwNCmRpZmYgLS1naXQgYS90b29scy94bC94bF9wYXJzZS5jIGIvdG9vbHMv
eGwveGxfcGFyc2UuYw0KaW5kZXggMTE3ZmNkY2IyYi4uMTZmZjllNzZiYyAxMDA2NDQNCi0tLSBh
L3Rvb2xzL3hsL3hsX3BhcnNlLmMNCisrKyBiL3Rvb2xzL3hsL3hsX3BhcnNlLmMNCkBAIC0xNjgx
LDYgKzE2ODEsMjAgQEAgdm9pZCBwYXJzZV9jb25maWdfZGF0YShjb25zdCBjaGFyICpjb25maWdf
c291cmNlLA0KICAgICAgICB4bHVfY2ZnX2dldF9kZWZib29sKGNvbmZpZywgInZwdF9hbGlnbiIs
ICZiX2luZm8tPnUuaHZtLnZwdF9hbGlnbiwgMCk7DQogICAgICAgIHhsdV9jZmdfZ2V0X2RlZmJv
b2woY29uZmlnLCAiYXBpYyIsICZiX2luZm8tPmFwaWMsIDApOw0KDQorICAgICAgICBlID0geGx1
X2NmZ19nZXRfZGVmYm9vbChjb25maWcsICJhc3Npc3RlZF94YXBpYyIsDQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAmYl9pbmZvLT5hcmNoX3g4Ni5hc3Npc3RlZF94YXBpYywgMCk7
DQorICAgICAgICBpZiAoZSA9PSBFU1JDSCkgLyogbm90IHNwZWNpZmllZCAqLw0KKyAgICAgICAg
ICAgIGxpYnhsX2RlZmJvb2xfc2V0KCZiX2luZm8tPmFyY2hfeDg2LmFzc2lzdGVkX3hhcGljLCBh
c3Npc3RlZF94YXBpYyk7DQorICAgICAgICBlbHNlIGlmIChlKQ0KKyAgICAgICAgICAgIGV4aXQo
MSk7DQorDQorICAgICAgICBlID0geGx1X2NmZ19nZXRfZGVmYm9vbChjb25maWcsICJhc3Npc3Rl
ZF94MmFwaWMiLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmJfaW5mby0+YXJj
aF94ODYuYXNzaXN0ZWRfeDJhcGljLCAwKTsNCisgICAgICAgIGlmIChlID09IEVTUkNIKSAvKiBu
b3Qgc3BlY2lmaWVkICovDQorICAgICAgICAgICAgbGlieGxfZGVmYm9vbF9zZXQoJmJfaW5mby0+
YXJjaF94ODYuYXNzaXN0ZWRfeDJhcGljLCBhc3Npc3RlZF94MmFwaWMpOw0KKyAgICAgICAgZWxz
ZSBpZiAoZSkNCisgICAgICAgICAgICBleGl0KDEpOw0KKw0KICAgICAgICBzd2l0Y2ggKHhsdV9j
ZmdfZ2V0X2xpc3QoY29uZmlnLCAidmlyaWRpYW4iLA0KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJnZpcmlkaWFuLCAmbnVtX3ZpcmlkaWFuLCAxKSkNCiAgICAgICAgew0KZGlmZiAt
LWdpdCBhL3hlbi9hcmNoL3g4Ni9kb21haW4uYyBiL3hlbi9hcmNoL3g4Ni9kb21haW4uYw0KaW5k
ZXggZWYxODEyZGMxNC4uZDA4ZjUxZTI4YiAxMDA2NDQNCi0tLSBhL3hlbi9hcmNoL3g4Ni9kb21h
aW4uYw0KKysrIGIveGVuL2FyY2gveDg2L2RvbWFpbi5jDQpAQCAtNjE5LDYgKzYxOSw4IEBAIGlu
dCBhcmNoX3Nhbml0aXNlX2RvbWFpbl9jb25maWcoc3RydWN0IHhlbl9kb21jdGxfY3JlYXRlZG9t
YWluICpjb25maWcpDQogICAgYm9vbCBodm0gPSBjb25maWctPmZsYWdzICYgWEVOX0RPTUNUTF9D
REZfaHZtOw0KICAgIGJvb2wgaGFwID0gY29uZmlnLT5mbGFncyAmIFhFTl9ET01DVExfQ0RGX2hh
cDsNCiAgICBib29sIG5lc3RlZF92aXJ0ID0gY29uZmlnLT5mbGFncyAmIFhFTl9ET01DVExfQ0RG
X25lc3RlZF92aXJ0Ow0KKyAgICBib29sIGFzc2lzdGVkX3hhcGljID0gY29uZmlnLT5hcmNoLm1p
c2NfZmxhZ3MgJiBYRU5fWDg2X0FTU0lTVEVEX1hBUElDOw0KKyAgICBib29sIGFzc2lzdGVkX3gy
YXBpYyA9IGNvbmZpZy0+YXJjaC5taXNjX2ZsYWdzICYgWEVOX1g4Nl9BU1NJU1RFRF9YMkFQSUM7
DQogICAgdW5zaWduZWQgaW50IG1heF92Y3B1czsNCg0KICAgIGlmICggaHZtID8gIWh2bV9lbmFi
bGVkIDogIUlTX0VOQUJMRUQoQ09ORklHX1BWKSApDQpAQCAtNjg1LDEzICs2ODcsMzAgQEAgaW50
IGFyY2hfc2FuaXRpc2VfZG9tYWluX2NvbmZpZyhzdHJ1Y3QgeGVuX2RvbWN0bF9jcmVhdGVkb21h
aW4gKmNvbmZpZykNCiAgICAgICAgfQ0KICAgIH0NCg0KLSAgICBpZiAoIGNvbmZpZy0+YXJjaC5t
aXNjX2ZsYWdzICYgflhFTl9YODZfTVNSX1JFTEFYRUQgKQ0KKyAgICBpZiAoIGNvbmZpZy0+YXJj
aC5taXNjX2ZsYWdzICYgfihYRU5fWDg2X01TUl9SRUxBWEVEIHwNCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgWEVOX1g4Nl9BU1NJU1RFRF9YQVBJQyB8DQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTl9YODZfQVNTSVNURURfWDJBUElDKSApDQog
ICAgew0KICAgICAgICBkcHJpbnRrKFhFTkxPR19JTkZPLCAiSW52YWxpZCBhcmNoIG1pc2MgZmxh
Z3MgJSN4XG4iLA0KICAgICAgICAgICAgICAgIGNvbmZpZy0+YXJjaC5taXNjX2ZsYWdzKTsNCiAg
ICAgICAgcmV0dXJuIC1FSU5WQUw7DQogICAgfQ0KDQorICAgIGlmICggKGFzc2lzdGVkX3hhcGlj
IHx8IGFzc2lzdGVkX3gyYXBpYykgJiYgIWh2bSApDQorICAgIHsNCisgICAgICAgIGRwcmludGso
WEVOTE9HX0lORk8sDQorICAgICAgICAgICAgICAgICJJbnRlcnJ1cHQgQ29udHJvbGxlciBWaXJ0
dWFsaXphdGlvbiBub3Qgc3VwcG9ydGVkIGZvciBQVlxuIik7DQorICAgICAgICByZXR1cm4gLUVJ
TlZBTDsNCisgICAgfQ0KKw0KKyAgICBpZiAoIChhc3Npc3RlZF94YXBpYyAmJiAhYXNzaXN0ZWRf
eGFwaWNfYXZhaWxhYmxlKSB8fA0KKyAgICAgICAgIChhc3Npc3RlZF94MmFwaWMgJiYgIWFzc2lz
dGVkX3gyYXBpY19hdmFpbGFibGUpICkNCisgICAgew0KKyAgICAgICAgZHByaW50ayhYRU5MT0df
SU5GTywgInglc0FQSUMgcmVxdWVzdGVkIGJ1dCBub3QgYXZhaWxhYmxlXG4iLA0KKyAgICAgICAg
ICAgICAgICBhc3Npc3RlZF94YXBpYyAmJiAhYXNzaXN0ZWRfeGFwaWNfYXZhaWxhYmxlID8gIiIg
OiAiMiIpOw0KKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQorICAgIH0NCisNCiAgICByZXR1cm4g
MDsNCn0NCg0KQEAgLTg2Myw2ICs4ODIsMTIgQEAgaW50IGFyY2hfZG9tYWluX2NyZWF0ZShzdHJ1
Y3QgZG9tYWluICpkLA0KDQogICAgZC0+YXJjaC5tc3JfcmVsYXhlZCA9IGNvbmZpZy0+YXJjaC5t
aXNjX2ZsYWdzICYgWEVOX1g4Nl9NU1JfUkVMQVhFRDsNCg0KKyAgICBkLT5hcmNoLmh2bS5hc3Np
c3RlZF94YXBpYyA9DQorICAgICAgICBjb25maWctPmFyY2gubWlzY19mbGFncyAmIFhFTl9YODZf
QVNTSVNURURfWEFQSUM7DQorDQorICAgIGQtPmFyY2guaHZtLmFzc2lzdGVkX3gyYXBpYyA9DQor
ICAgICAgICBjb25maWctPmFyY2gubWlzY19mbGFncyAmIFhFTl9YODZfQVNTSVNURURfWDJBUElD
Ow0KKw0KICAgIHJldHVybiAwOw0KDQogZmFpbDoNCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYv
aHZtL3ZteC92bWNzLmMgYi94ZW4vYXJjaC94ODYvaHZtL3ZteC92bWNzLmMNCmluZGV4IDc2OTFk
YjBmZGQuLmNiMmQ5NzU5YzkgMTAwNjQ0DQotLS0gYS94ZW4vYXJjaC94ODYvaHZtL3ZteC92bWNz
LmMNCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZtY3MuYw0KQEAgLTExNTQsNiArMTE1NCwx
MCBAQCBzdGF0aWMgaW50IGNvbnN0cnVjdF92bWNzKHN0cnVjdCB2Y3B1ICp2KQ0KICAgICAgICBf
X3Ztd3JpdGUoUExFX1dJTkRPVywgcGxlX3dpbmRvdyk7DQogICAgfQ0KDQorICAgIGlmICggIXYt
PmRvbWFpbi0+YXJjaC5odm0uYXNzaXN0ZWRfeGFwaWMgKQ0KKyAgICAgICAgdi0+YXJjaC5odm0u
dm14LnNlY29uZGFyeV9leGVjX2NvbnRyb2wgJj0NCisgICAgICAgICAgICB+U0VDT05EQVJZX0VY
RUNfVklSVFVBTElaRV9BUElDX0FDQ0VTU0VTOw0KKw0KICAgIGlmICggY3B1X2hhc192bXhfc2Vj
b25kYXJ5X2V4ZWNfY29udHJvbCApDQogICAgICAgIF9fdm13cml0ZShTRUNPTkRBUllfVk1fRVhF
Q19DT05UUk9MLA0KICAgICAgICAgICAgICAgICAgdi0+YXJjaC5odm0udm14LnNlY29uZGFyeV9l
eGVjX2NvbnRyb2wpOw0KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jIGIv
eGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMNCmluZGV4IGM0NGNmOGY1ZDQuLjY1MDFmYjFhMDgg
MTAwNjQ0DQotLS0gYS94ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYw0KKysrIGIveGVuL2FyY2gv
eDg2L2h2bS92bXgvdm14LmMNCkBAIC0zMzQyLDE2ICszMzQyLDE5IEBAIHN0YXRpYyB2b2lkIHZt
eF9pbnN0YWxsX3ZsYXBpY19tYXBwaW5nKHN0cnVjdCB2Y3B1ICp2KQ0KDQp2b2lkIHZteF92bGFw
aWNfbXNyX2NoYW5nZWQoc3RydWN0IHZjcHUgKnYpDQp7DQotICAgIGludCB2aXJ0dWFsaXplX3gy
YXBpY19tb2RlOw0KKyAgICBpbnQgdmlydHVhbGl6ZV94YXBpY19tb2RlLCB2aXJ0dWFsaXplX3gy
YXBpY19tb2RlOw0KICAgIHN0cnVjdCB2bGFwaWMgKnZsYXBpYyA9IHZjcHVfdmxhcGljKHYpOw0K
ICAgIHVuc2lnbmVkIGludCBtc3I7DQoNCisgICAgdmlydHVhbGl6ZV94YXBpY19tb2RlID0gKCBj
cHVfaGFzX3ZteF92aXJ0dWFsaXplX2FwaWNfYWNjZXNzZXMgJiYNCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB2LT5kb21haW4tPmFyY2guaHZtLmFzc2lzdGVkX3hhcGljICk7DQorDQog
ICAgdmlydHVhbGl6ZV94MmFwaWNfbW9kZSA9ICggKGNwdV9oYXNfdm14X2FwaWNfcmVnX3ZpcnQg
fHwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3B1X2hhc192bXhfdmlydHVhbF9p
bnRyX2RlbGl2ZXJ5KSAmJg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcHVfaGFz
X3ZteF92aXJ0dWFsaXplX3gyYXBpY19tb2RlICk7DQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNwdV9oYXNfdm14X3ZpcnR1YWxpemVfeDJhcGljX21vZGUgJiYNCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdi0+ZG9tYWluLT5hcmNoLmh2bS5hc3Npc3RlZF94MmFwaWMg
KTsNCg0KLSAgICBpZiAoICFjcHVfaGFzX3ZteF92aXJ0dWFsaXplX2FwaWNfYWNjZXNzZXMgJiYN
Ci0gICAgICAgICAhdmlydHVhbGl6ZV94MmFwaWNfbW9kZSApDQorICAgIGlmICggIXZpcnR1YWxp
emVfeGFwaWNfbW9kZSAmJiAhdmlydHVhbGl6ZV94MmFwaWNfbW9kZSApDQogICAgICAgIHJldHVy
bjsNCg0KICAgIHZteF92bWNzX2VudGVyKHYpOw0KQEAgLTMzODIsNyArMzM4NSw3IEBAIHZvaWQg
dm14X3ZsYXBpY19tc3JfY2hhbmdlZChzdHJ1Y3QgdmNwdSAqdikNCiAgICAgICAgICAgICAgICB2
bXhfY2xlYXJfbXNyX2ludGVyY2VwdCh2LCBNU1JfWDJBUElDX1NFTEYsIFZNWF9NU1JfVyk7DQog
ICAgICAgICAgICB9DQogICAgICAgIH0NCi0gICAgICAgIGVsc2UNCisgICAgICAgIGVsc2UgaWYg
KCB2aXJ0dWFsaXplX3hhcGljX21vZGUgKQ0KICAgICAgICAgICAgdi0+YXJjaC5odm0udm14LnNl
Y29uZGFyeV9leGVjX2NvbnRyb2wgfD0NCiAgICAgICAgICAgICAgICBTRUNPTkRBUllfRVhFQ19W
SVJUVUFMSVpFX0FQSUNfQUNDRVNTRVM7DQogICAgfQ0KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4
Ni9pbmNsdWRlL2FzbS9odm0vZG9tYWluLmggYi94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vaHZt
L2RvbWFpbi5oDQppbmRleCA2OTg0NTU0NDRlLi4wZTg4OGNiZWJhIDEwMDY0NA0KLS0tIGEveGVu
L2FyY2gveDg2L2luY2x1ZGUvYXNtL2h2bS9kb21haW4uaA0KKysrIGIveGVuL2FyY2gveDg2L2lu
Y2x1ZGUvYXNtL2h2bS9kb21haW4uaA0KQEAgLTExNyw2ICsxMTcsMTIgQEAgc3RydWN0IGh2bV9k
b21haW4gew0KDQogICAgYm9vbCAgICAgICAgICAgICAgICAgICBpc19zM19zdXNwZW5kZWQ7DQoN
CisgICAgLyogeEFQSUMgaGFyZHdhcmUgYXNzaXN0ZWQgZW11bGF0aW9uLiAqLw0KKyAgICBib29s
IGFzc2lzdGVkX3hhcGljOw0KKw0KKyAgICAvKiB4MkFQSUMgaGFyZHdhcmUgYXNzaXN0ZWQgZW11
bGF0aW9uLiAqLw0KKyAgICBib29sIGFzc2lzdGVkX3gyYXBpYzsNCisNCiAgICAvKiBoeXBlcnZp
c29yIGludGVyY2VwdGVkIG1zaXggdGFibGUgKi8NCiAgICBzdHJ1Y3QgbGlzdF9oZWFkICAgICAg
IG1zaXh0YmxfbGlzdDsNCg0KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni90cmFwcy5jIGIveGVu
L2FyY2gveDg2L3RyYXBzLmMNCmluZGV4IDQ4NWJkNjY5NzEuLmMyMTU2MDU4MTQgMTAwNjQ0DQot
LS0gYS94ZW4vYXJjaC94ODYvdHJhcHMuYw0KKysrIGIveGVuL2FyY2gveDg2L3RyYXBzLmMNCkBA
IC0xMTE1LDcgKzExMTUsOCBAQCB2b2lkIGNwdWlkX2h5cGVydmlzb3JfbGVhdmVzKGNvbnN0IHN0
cnVjdCB2Y3B1ICp2LCB1aW50MzJfdCBsZWFmLA0KICAgICAgICBpZiAoICFpc19odm1fZG9tYWlu
KGQpIHx8IHN1YmxlYWYgIT0gMCApDQogICAgICAgICAgICBicmVhazsNCg0KLSAgICAgICAgaWYg
KCBjcHVfaGFzX3ZteF9hcGljX3JlZ192aXJ0ICkNCisgICAgICAgIGlmICggY3B1X2hhc192bXhf
YXBpY19yZWdfdmlydCAmJg0KKyAgICAgICAgICAgICB2LT5kb21haW4tPmFyY2guaHZtLmFzc2lz
dGVkX3hhcGljICkNCiAgICAgICAgICAgIHJlcy0+YSB8PSBYRU5fSFZNX0NQVUlEX0FQSUNfQUND
RVNTX1ZJUlQ7DQoNCiAgICAgICAgLyoNCkBAIC0xMTI2LDcgKzExMjcsOCBAQCB2b2lkIGNwdWlk
X2h5cGVydmlzb3JfbGVhdmVzKGNvbnN0IHN0cnVjdCB2Y3B1ICp2LCB1aW50MzJfdCBsZWFmLA0K
ICAgICAgICAgKi8NCiAgICAgICAgaWYgKCBjcHVfaGFzX3ZteF92aXJ0dWFsaXplX3gyYXBpY19t
b2RlICYmDQogICAgICAgICAgICAgY3B1X2hhc192bXhfYXBpY19yZWdfdmlydCAmJg0KLSAgICAg
ICAgICAgICBjcHVfaGFzX3ZteF92aXJ0dWFsX2ludHJfZGVsaXZlcnkgKQ0KKyAgICAgICAgICAg
ICBjcHVfaGFzX3ZteF92aXJ0dWFsX2ludHJfZGVsaXZlcnkgJiYNCisgICAgICAgICAgICAgdi0+
ZG9tYWluLT5hcmNoLmh2bS5hc3Npc3RlZF94MmFwaWMgKQ0KICAgICAgICAgICAgcmVzLT5hIHw9
IFhFTl9IVk1fQ1BVSURfWDJBUElDX1ZJUlQ7DQoNCiAgICAgICAgLyoNCmRpZmYgLS1naXQgYS94
ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC14ODYveGVuLmggYi94ZW4vaW5jbHVkZS9wdWJsaWMvYXJj
aC14ODYveGVuLmgNCmluZGV4IGY3YjE3ZTBmOTguLjNjNjNjMDI3YTggMTAwNjQ0DQotLS0gYS94
ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC14ODYveGVuLmgNCisrKyBiL3hlbi9pbmNsdWRlL3B1Ymxp
Yy9hcmNoLXg4Ni94ZW4uaA0KQEAgLTMxNyw2ICszMTcsOCBAQCBzdHJ1Y3QgeGVuX2FyY2hfZG9t
YWluY29uZmlnIHsNCiAqIGRvZXNuJ3QgYWxsb3cgdGhlIGd1ZXN0IHRvIHJlYWQgb3Igd3JpdGUg
dG8gdGhlIHVuZGVybHlpbmcgTVNSLg0KICovDQojZGVmaW5lIFhFTl9YODZfTVNSX1JFTEFYRUQg
KDF1IDw8IDApDQorI2RlZmluZSBYRU5fWDg2X0FTU0lTVEVEX1hBUElDICgxdSA8PCAxKQ0KKyNk
ZWZpbmUgWEVOX1g4Nl9BU1NJU1RFRF9YMkFQSUMgKDF1IDw8IDIpDQogICAgdWludDMyX3QgbWlz
Y19mbGFnczsNCn07DQoNCi0tDQoyLjExLjANCg0KDQo=

--_000_58C9E7E735AA47C1A3DD9FF5485B7934citrixcom_
Content-Type: text/html; charset="utf-8"
Content-ID: <9E40D94565B12F46977A454FF8C2DC9C@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64

PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i
dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjwvaGVhZD4NCjxib2R5IHN0eWxlPSJ3b3JkLXdy
YXA6IGJyZWFrLXdvcmQ7IC13ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsgbGluZS1icmVhazogYWZ0
ZXItd2hpdGUtc3BhY2U7IiBjbGFzcz0iIj4NClRoZSBjaGFuZ2VzIGZvciB0aGUgT0NhbWwgYmlu
ZGluZ3MgYXJlIG1pbmltYWwgYW5kIGFkbWluaXN0cmF0aXZlLiBUaGlzIGxvb2tzIGdvb2QgdG8g
bWUuDQo8ZGl2IGNsYXNzPSIiPjxiciBjbGFzcz0iIj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj5B
Y2tlZC1ieTogQ2hyaXN0aWFuIExpbmRpZyAmbHQ7PGEgaHJlZj0ibWFpbHRvOmNocmlzdGlhbi5s
aW5kaWdAY2l0cml4LmNvbSIgY2xhc3M9IiI+Y2hyaXN0aWFuLmxpbmRpZ0BjaXRyaXguY29tPC9h
PiZndDs8YnIgY2xhc3M9IiI+DQo8ZGl2PjxiciBjbGFzcz0iIj4NCjxibG9ja3F1b3RlIHR5cGU9
ImNpdGUiIGNsYXNzPSIiPg0KPGRpdiBjbGFzcz0iIj5PbiAyNyBKYW4gMjAyMiwgYXQgMTY6MDEs
IEphbmUgTWFsYWxhbmUgJmx0OzxhIGhyZWY9Im1haWx0bzpqYW5lLm1hbGFsYW5lQGNpdHJpeC5j
b20iIGNsYXNzPSIiPmphbmUubWFsYWxhbmVAY2l0cml4LmNvbTwvYT4mZ3Q7IHdyb3RlOjwvZGl2
Pg0KPGJyIGNsYXNzPSJBcHBsZS1pbnRlcmNoYW5nZS1uZXdsaW5lIj4NCjxkaXYgY2xhc3M9IiI+
DQo8ZGl2IGNsYXNzPSIiPkludHJvZHVjZSBhIG5ldyBwZXItZG9tYWluIGNyZWF0aW9uIHg4NiBz
cGVjaWZpYyBmbGFnIHRvPGJyIGNsYXNzPSIiPg0Kc2VsZWN0IHdoZXRoZXIgaGFyZHdhcmUgYXNz
aXN0ZWQgdmlydHVhbGl6YXRpb24gc2hvdWxkIGJlIHVzZWQgZm9yPGJyIGNsYXNzPSIiPg0KeHsy
fUFQSUMuPGJyIGNsYXNzPSIiPg0KPGJyIGNsYXNzPSIiPg0KQSBwZXItZG9tYWluIG9wdGlvbiBp
cyBhZGRlZCB0byB4bCBpbiBvcmRlciB0byBzZWxlY3QgdGhlIHVzYWdlIG9mPGJyIGNsYXNzPSIi
Pg0KeHsyfUFQSUMgaGFyZHdhcmUgYXNzaXN0ZWQgdml0dWFsaXphdGlvbiwgYXMgd2VsbCBhcyBh
IGdsb2JhbDxiciBjbGFzcz0iIj4NCmNvbmZpZ3VyYXRpb24gb3B0aW9uLjxiciBjbGFzcz0iIj4N
CjxiciBjbGFzcz0iIj4NCkhhdmluZyBhbGwgQVBJQyBpbnRlcmFjdGlvbiBleGl0IHRvIFhlbiBm
b3IgZW11bGF0aW9uIGlzIHNsb3cgYW5kIGNhbjxiciBjbGFzcz0iIj4NCmluZHVjZSBtdWNoIG92
ZXJoZWFkLiBIYXJkd2FyZSBjYW4gc3BlZWQgdXAgeHsyfUFQSUMgYnkgcnVubmluZyBBUElDPGJy
IGNsYXNzPSIiPg0KcmVhZC93cml0ZSBhY2Nlc3NlcyB3aXRob3V0IHRha2luZyBhIFZNIGV4aXQu
PGJyIGNsYXNzPSIiPg0KPGJyIGNsYXNzPSIiPg0KU2lnbmVkLW9mZi1ieTogSmFuZSBNYWxhbGFu
ZSAmbHQ7PGEgaHJlZj0ibWFpbHRvOmphbmUubWFsYWxhbmVAY2l0cml4LmNvbSIgY2xhc3M9IiI+
amFuZS5tYWxhbGFuZUBjaXRyaXguY29tPC9hPiZndDs8YnIgY2xhc3M9IiI+DQpTdWdnZXN0ZWQt
Ynk6IEFuZHJldyBDb29wZXIgJmx0OzxhIGhyZWY9Im1haWx0bzphbmRyZXcuY29vcGVyM0BjaXRy
aXguY29tIiBjbGFzcz0iIj5hbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPC9hPiZndDs8YnIgY2xh
c3M9IiI+DQotLS08YnIgY2xhc3M9IiI+DQpDQzogV2VpIExpdSAmbHQ7PGEgaHJlZj0ibWFpbHRv
OndsQHhlbi5vcmciIGNsYXNzPSIiPndsQHhlbi5vcmc8L2E+Jmd0OzxiciBjbGFzcz0iIj4NCkND
OiBBbnRob255IFBFUkFSRCAmbHQ7PGEgaHJlZj0ibWFpbHRvOmFudGhvbnkucGVyYXJkQGNpdHJp
eC5jb20iIGNsYXNzPSIiPmFudGhvbnkucGVyYXJkQGNpdHJpeC5jb208L2E+Jmd0OzxiciBjbGFz
cz0iIj4NCkNDOiBKdWVyZ2VuIEdyb3NzICZsdDs8YSBocmVmPSJtYWlsdG86amdyb3NzQHN1c2Uu
Y29tIiBjbGFzcz0iIj5qZ3Jvc3NAc3VzZS5jb208L2E+Jmd0OzxiciBjbGFzcz0iIj4NCkNDOiBB
bmRyZXcgQ29vcGVyICZsdDs8YSBocmVmPSJtYWlsdG86YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bSIgY2xhc3M9IiI+YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbTwvYT4mZ3Q7PGJyIGNsYXNzPSIi
Pg0KQ0M6IEdlb3JnZSBEdW5sYXAgJmx0OzxhIGhyZWY9Im1haWx0bzpnZW9yZ2UuZHVubGFwQGNp
dHJpeC5jb20iIGNsYXNzPSIiPmdlb3JnZS5kdW5sYXBAY2l0cml4LmNvbTwvYT4mZ3Q7PGJyIGNs
YXNzPSIiPg0KQ0M6IEphbiBCZXVsaWNoICZsdDs8YSBocmVmPSJtYWlsdG86amJldWxpY2hAc3Vz
ZS5jb20iIGNsYXNzPSIiPmpiZXVsaWNoQHN1c2UuY29tPC9hPiZndDs8YnIgY2xhc3M9IiI+DQpD
QzogSnVsaWVuIEdyYWxsICZsdDs8YSBocmVmPSJtYWlsdG86anVsaWVuQHhlbi5vcmciIGNsYXNz
PSIiPmp1bGllbkB4ZW4ub3JnPC9hPiZndDs8YnIgY2xhc3M9IiI+DQpDQzogU3RlZmFubyBTdGFi
ZWxsaW5pICZsdDs8YSBocmVmPSJtYWlsdG86c3N0YWJlbGxpbmlAa2VybmVsLm9yZyIgY2xhc3M9
IiI+c3N0YWJlbGxpbmlAa2VybmVsLm9yZzwvYT4mZ3Q7PGJyIGNsYXNzPSIiPg0KQ0M6IENocmlz
dGlhbiBMaW5kaWcgJmx0OzxhIGhyZWY9Im1haWx0bzpjaHJpc3RpYW4ubGluZGlnQGNpdHJpeC5j
b20iIGNsYXNzPSIiPmNocmlzdGlhbi5saW5kaWdAY2l0cml4LmNvbTwvYT4mZ3Q7PGJyIGNsYXNz
PSIiPg0KQ0M6IERhdmlkIFNjb3R0ICZsdDs8YSBocmVmPSJtYWlsdG86ZGF2ZUByZWNvaWwub3Jn
IiBjbGFzcz0iIj5kYXZlQHJlY29pbC5vcmc8L2E+Jmd0OzxiciBjbGFzcz0iIj4NCkNDOiBWb2xv
ZHlteXIgQmFiY2h1ayAmbHQ7PGEgaHJlZj0ibWFpbHRvOlZvbG9keW15cl9CYWJjaHVrQGVwYW0u
Y29tIiBjbGFzcz0iIj5Wb2xvZHlteXJfQmFiY2h1a0BlcGFtLmNvbTwvYT4mZ3Q7PGJyIGNsYXNz
PSIiPg0KQ0M6ICZxdW90O1JvZ2VyIFBhdSBNb25uw6kmcXVvdDsgJmx0OzxhIGhyZWY9Im1haWx0
bzpyb2dlci5wYXVAY2l0cml4LmNvbSIgY2xhc3M9IiI+cm9nZXIucGF1QGNpdHJpeC5jb208L2E+
Jmd0OzxiciBjbGFzcz0iIj4NCi0tLTxiciBjbGFzcz0iIj4NCmRvY3MvbWFuL3hsLmNmZy41LnBv
ZC5pbiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt8IDEwICsrKysrKysrPGJyIGNsYXNzPSIiPg0KZG9j
cy9tYW4veGwuY29uZi41LnBvZC5pbiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt8IDEyICsrKysrKysrKys8YnIg
Y2xhc3M9IiI+DQp0b29scy9nb2xhbmcveGVubGlnaHQvaGVscGVycy5nZW4uZ28gJm5ic3A7fCAx
MiArKysrKysrKysrPGJyIGNsYXNzPSIiPg0KdG9vbHMvbGlicy9saWdodC9saWJ4bF9hcmNoLmgg
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fCAmbmJzcDs1
ICsrLS08YnIgY2xhc3M9IiI+DQp0b29scy9saWJzL2xpZ2h0L2xpYnhsX2FybS5jICZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3wgJm5ic3A7NSAr
Ky0tPGJyIGNsYXNzPSIiPg0KdG9vbHMvbGlicy9saWdodC9saWJ4bF9jcmVhdGUuYyAmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt8IDIxICsrKysrKysrKystLS0tLS0tPGJyIGNs
YXNzPSIiPg0KdG9vbHMvbGlicy9saWdodC9saWJ4bF90eXBlcy5pZGwgJm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7fCAmbmJzcDsyICsrPGJyIGNsYXNzPSIiPg0KdG9vbHMvbGlicy9saWdo
dC9saWJ4bF94ODYuYyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDt8IDQzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tPGJyIGNs
YXNzPSIiPg0KdG9vbHMvb2NhbWwvbGlicy94Yy94ZW5jdHJsLm1sICZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3wgJm5ic3A7MiArKzxiciBjbGFzcz0iIj4NCnRvb2xz
L29jYW1sL2xpYnMveGMveGVuY3RybC5tbGkgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7fCAmbmJzcDsyICsrPGJyIGNsYXNzPSIiPg0KdG9vbHMveGwveGwuYyAmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDt8ICZuYnNwOzggKysrKysrKzxiciBjbGFzcz0iIj4NCnRvb2xz
L3hsL3hsLmggJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fCAmbmJzcDsyICsrPGJyIGNs
YXNzPSIiPg0KdG9vbHMveGwveGxfcGFyc2UuYyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt8IDE0ICsrKysrKysrKysrKzxiciBjbGFzcz0iIj4NCnhl
bi9hcmNoL3g4Ni9kb21haW4uYyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDt8IDI3ICsrKysrKysrKysrKysrKysrKysrKy08YnIgY2xhc3M9IiI+DQp4ZW4vYXJjaC94ODYv
aHZtL3ZteC92bWNzLmMgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7fCAmbmJzcDs0ICsrKys8YnIgY2xhc3M9IiI+DQp4ZW4vYXJjaC94
ODYvaHZtL3ZteC92bXguYyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt8IDEzICsrKysrKystLS0tPGJyIGNsYXNzPSIiPg0K
eGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2h2bS9kb21haW4uaCB8ICZuYnNwOzYgKysrKys8YnIg
Y2xhc3M9IiI+DQp4ZW4vYXJjaC94ODYvdHJhcHMuYyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDt8ICZuYnNwOzYgKysrLS08YnIgY2xhc3M9IiI+DQp4ZW4vaW5j
bHVkZS9wdWJsaWMvYXJjaC14ODYveGVuLmggJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fCAmbmJz
cDsyICsrPGJyIGNsYXNzPSIiPg0KMTkgZmlsZXMgY2hhbmdlZCwgMTc0IGluc2VydGlvbnMoKyks
IDIyIGRlbGV0aW9ucygtKTxiciBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NCmRpZmYgLS1naXQg
YS9kb2NzL21hbi94bC5jZmcuNS5wb2QuaW4gYi9kb2NzL21hbi94bC5jZmcuNS5wb2QuaW48YnIg
Y2xhc3M9IiI+DQppbmRleCBiOThkMTYxMzk4Li45NzRmZTdkMmQ4IDEwMDY0NDxiciBjbGFzcz0i
Ij4NCi0tLSBhL2RvY3MvbWFuL3hsLmNmZy41LnBvZC5pbjxiciBjbGFzcz0iIj4NCisrKyBiL2Rv
Y3MvbWFuL3hsLmNmZy41LnBvZC5pbjxiciBjbGFzcz0iIj4NCkBAIC0xODYyLDYgKzE4NjIsMTYg
QEAgZmlybXdhcmUgdGFibGVzIHdoZW4gdXNpbmcgY2VydGFpbiBvbGRlciBndWVzdCBPcGVyYXRp
bmc8YnIgY2xhc3M9IiI+DQpTeXN0ZW1zLiBUaGVzZSB0YWJsZXMgaGF2ZSBiZWVuIHN1cGVyc2Vk
ZWQgYnkgbmV3ZXIgY29uc3RydWN0cyB3aXRoaW48YnIgY2xhc3M9IiI+DQp0aGUgQUNQSSB0YWJs
ZXMuPGJyIGNsYXNzPSIiPg0KPGJyIGNsYXNzPSIiPg0KKz1pdGVtIEImbHQ7YXNzaXN0ZWRfeGFw
aWM9Qk9PTEVBTiZndDs8YnIgY2xhc3M9IiI+DQorQiZsdDsoeDg2IG9ubHkpJmd0OyBFbmFibGVz
IG9yIGRpc2FibGVzIGhhcmR3YXJlIGFzc2lzdGVkIHZpcnR1YWxpemF0aW9uIGZvciB4YXBpYy48
YnIgY2xhc3M9IiI+DQorVGhpcyBhbGxvd3MgYWNjZXNzaW5nIEFQSUMgcmVnaXN0ZXJzIHdpdGhv
dXQgYSBWTS1leGl0LjxiciBjbGFzcz0iIj4NCitUaGUgZGVmYXVsdCBpcyBzZXR0YWJsZSB2aWEg
TCZsdDt4bC5jb25mKDUpJmd0Oy48YnIgY2xhc3M9IiI+DQorPGJyIGNsYXNzPSIiPg0KKz1pdGVt
IEImbHQ7YXNzaXN0ZWRfeDJhcGljPUJPT0xFQU4mZ3Q7PGJyIGNsYXNzPSIiPg0KK0ImbHQ7KHg4
NiBvbmx5KSZndDsgRW5hYmxlcyBvciBkaXNhYmxlcyBoYXJkd2FyZSBhc3Npc3RlZCB2aXJ0dWFs
aXphdGlvbiBmb3IgeDJhcGljLjxiciBjbGFzcz0iIj4NCitUaGlzIGFsbG93cyBhY2Nlc3Npbmcg
QVBJQyByZWdpc3RlcnMgd2l0aG91dCBhIFZNLWV4aXQuPGJyIGNsYXNzPSIiPg0KK1RoZSBkZWZh
dWx0IGlzIHNldHRhYmxlIHZpYSBMJmx0O3hsLmNvbmYoNSkmZ3Q7LjxiciBjbGFzcz0iIj4NCis8
YnIgY2xhc3M9IiI+DQo9aXRlbSBCJmx0O254PUJPT0xFQU4mZ3Q7PGJyIGNsYXNzPSIiPg0KPGJy
IGNsYXNzPSIiPg0KQiZsdDsoeDg2IG9ubHkpJmd0OyBIaWRlcyBvciBleHBvc2VzIHRoZSBOby1l
WGVjdXRlIGNhcGFiaWxpdHkuIFRoaXMgYWxsb3dzIGEgZ3Vlc3Q8YnIgY2xhc3M9IiI+DQpkaWZm
IC0tZ2l0IGEvZG9jcy9tYW4veGwuY29uZi41LnBvZC5pbiBiL2RvY3MvbWFuL3hsLmNvbmYuNS5w
b2QuaW48YnIgY2xhc3M9IiI+DQppbmRleCBkZjIwYzA4MTM3Li4yZDBhNTlkMDE5IDEwMDY0NDxi
ciBjbGFzcz0iIj4NCi0tLSBhL2RvY3MvbWFuL3hsLmNvbmYuNS5wb2QuaW48YnIgY2xhc3M9IiI+
DQorKysgYi9kb2NzL21hbi94bC5jb25mLjUucG9kLmluPGJyIGNsYXNzPSIiPg0KQEAgLTEwNyw2
ICsxMDcsMTggQEAgU2V0cyB0aGUgZGVmYXVsdCB2YWx1ZSBmb3IgdGhlIEMmbHQ7bWF4X2dyYW50
X3ZlcnNpb24mZ3Q7IGRvbWFpbiBjb25maWcgdmFsdWUuPGJyIGNsYXNzPSIiPg0KPGJyIGNsYXNz
PSIiPg0KRGVmYXVsdDogbWF4aW11bSBncmFudCB2ZXJzaW9uIHN1cHBvcnRlZCBieSB0aGUgaHlw
ZXJ2aXNvci48YnIgY2xhc3M9IiI+DQo8YnIgY2xhc3M9IiI+DQorPWl0ZW0gQiZsdDthc3Npc3Rl
ZF94YXBpYz1CT09MRUFOJmd0OzxiciBjbGFzcz0iIj4NCis8YnIgY2xhc3M9IiI+DQorSWYgZW5h
YmxlZCwgZG9tYWlucyB3aWxsIHVzZSB4QVBJQyBoYXJkd2FyZSBhc3Npc3RlZCBlbXVsYXRpb24g
YnkgZGVmYXVsdC48YnIgY2xhc3M9IiI+DQorPGJyIGNsYXNzPSIiPg0KK0RlZmF1bHQ6IGVuYWJs
ZWQuPGJyIGNsYXNzPSIiPg0KKzxiciBjbGFzcz0iIj4NCis9aXRlbSBCJmx0O2Fzc2lzdGVkX3gy
YXBpYz1CT09MRUFOJmd0OzxiciBjbGFzcz0iIj4NCis8YnIgY2xhc3M9IiI+DQorSWYgZW5hYmxl
ZCwgZG9tYWlucyB3aWxsIHVzZSB4MkFQSUMgaGFyZHdhcmUgYXNzaXN0ZWQgZW11bGF0aW9uIGJ5
IGRlZmF1bHQuPGJyIGNsYXNzPSIiPg0KKzxiciBjbGFzcz0iIj4NCitEZWZhdWx0OiBlbmFibGVk
LjxiciBjbGFzcz0iIj4NCis8YnIgY2xhc3M9IiI+DQo9aXRlbSBCJmx0O3ZpZi5kZWZhdWx0LnNj
cmlwdD0mcXVvdDtQQVRIJnF1b3Q7Jmd0OzxiciBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NCkNv
bmZpZ3VyZXMgdGhlIGRlZmF1bHQgaG90cGx1ZyBzY3JpcHQgdXNlZCBieSB2aXJ0dWFsIG5ldHdv
cmsgZGV2aWNlcy48YnIgY2xhc3M9IiI+DQpkaWZmIC0tZ2l0IGEvdG9vbHMvZ29sYW5nL3hlbmxp
Z2h0L2hlbHBlcnMuZ2VuLmdvIGIvdG9vbHMvZ29sYW5nL3hlbmxpZ2h0L2hlbHBlcnMuZ2VuLmdv
PGJyIGNsYXNzPSIiPg0KaW5kZXggZGQ0ZTZjOWYxNC4uOTBlN2I5YjIwNSAxMDA2NDQ8YnIgY2xh
c3M9IiI+DQotLS0gYS90b29scy9nb2xhbmcveGVubGlnaHQvaGVscGVycy5nZW4uZ288YnIgY2xh
c3M9IiI+DQorKysgYi90b29scy9nb2xhbmcveGVubGlnaHQvaGVscGVycy5nZW4uZ288YnIgY2xh
c3M9IiI+DQpAQCAtNjM2LDYgKzYzNiwxMiBAQCB4LlBhc3N0aHJvdWdoID0gUGFzc3Rocm91Z2go
eGMucGFzc3Rocm91Z2gpPGJyIGNsYXNzPSIiPg0KaWYgZXJyIDo9IHguWGVuZFN1c3BlbmRFdnRj
aG5Db21wYXQuZnJvbUMoJmFtcDt4Yy54ZW5kX3N1c3BlbmRfZXZ0Y2huX2NvbXBhdCk7ZXJyICE9
IG5pbCB7PGJyIGNsYXNzPSIiPg0KcmV0dXJuIGZtdC5FcnJvcmYoJnF1b3Q7Y29udmVydGluZyBm
aWVsZCBYZW5kU3VzcGVuZEV2dGNobkNvbXBhdDogJXYmcXVvdDssIGVycik8YnIgY2xhc3M9IiI+
DQp9PGJyIGNsYXNzPSIiPg0KK2lmIGVyciA6PSB4LkFyY2hYODYuQXNzaXN0ZWRYYXBpYy5mcm9t
QygmYW1wO3hjLmFyY2hfeDg2LmFzc2lzdGVkX3hhcGljKTtlcnIgIT0gbmlsIHs8YnIgY2xhc3M9
IiI+DQorcmV0dXJuIGZtdC5FcnJvcmYoJnF1b3Q7Y29udmVydGluZyBmaWVsZCBBcmNoWDg2LkFz
c2lzdGVkWGFwaWM6ICV2JnF1b3Q7LCBlcnIpPGJyIGNsYXNzPSIiPg0KK308YnIgY2xhc3M9IiI+
DQoraWYgZXJyIDo9IHguQXJjaFg4Ni5Bc3Npc3RlZFgyQXBpYy5mcm9tQygmYW1wO3hjLmFyY2hf
eDg2LmFzc2lzdGVkX3gyYXBpYyk7ZXJyICE9IG5pbCB7PGJyIGNsYXNzPSIiPg0KK3JldHVybiBm
bXQuRXJyb3JmKCZxdW90O2NvbnZlcnRpbmcgZmllbGQgQXJjaFg4Ni5Bc3Npc3RlZFgyQXBpYzog
JXYmcXVvdDssIGVycik8YnIgY2xhc3M9IiI+DQorfTxiciBjbGFzcz0iIj4NCjxiciBjbGFzcz0i
Ij4NCiZuYnNwO3JldHVybiBuaWx9PGJyIGNsYXNzPSIiPg0KPGJyIGNsYXNzPSIiPg0KQEAgLTY3
OSw2ICs2ODUsMTIgQEAgeGMucGFzc3Rocm91Z2ggPSBDLmxpYnhsX3Bhc3N0aHJvdWdoKHguUGFz
c3Rocm91Z2gpPGJyIGNsYXNzPSIiPg0KaWYgZXJyIDo9IHguWGVuZFN1c3BlbmRFdnRjaG5Db21w
YXQudG9DKCZhbXA7eGMueGVuZF9zdXNwZW5kX2V2dGNobl9jb21wYXQpOyBlcnIgIT0gbmlsIHs8
YnIgY2xhc3M9IiI+DQpyZXR1cm4gZm10LkVycm9yZigmcXVvdDtjb252ZXJ0aW5nIGZpZWxkIFhl
bmRTdXNwZW5kRXZ0Y2huQ29tcGF0OiAldiZxdW90OywgZXJyKTxiciBjbGFzcz0iIj4NCn08YnIg
Y2xhc3M9IiI+DQoraWYgZXJyIDo9IHguQXJjaFg4Ni5Bc3Npc3RlZFhhcGljLnRvQygmYW1wO3hj
LmFyY2hfeDg2LmFzc2lzdGVkX3hhcGljKTsgZXJyICE9IG5pbCB7PGJyIGNsYXNzPSIiPg0KK3Jl
dHVybiBmbXQuRXJyb3JmKCZxdW90O2NvbnZlcnRpbmcgZmllbGQgQXJjaFg4Ni5Bc3Npc3RlZFhh
cGljOiAldiZxdW90OywgZXJyKTxiciBjbGFzcz0iIj4NCit9PGJyIGNsYXNzPSIiPg0KK2lmIGVy
ciA6PSB4LkFyY2hYODYuQXNzaXN0ZWRYMkFwaWMudG9DKCZhbXA7eGMuYXJjaF94ODYuYXNzaXN0
ZWRfeDJhcGljKTsgZXJyICE9IG5pbCB7PGJyIGNsYXNzPSIiPg0KK3JldHVybiBmbXQuRXJyb3Jm
KCZxdW90O2NvbnZlcnRpbmcgZmllbGQgQXJjaFg4Ni5Bc3Npc3RlZFgyQXBpYzogJXYmcXVvdDss
IGVycik8YnIgY2xhc3M9IiI+DQorfTxiciBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NCiZuYnNw
O3JldHVybiBuaWw8YnIgY2xhc3M9IiI+DQombmJzcDt9PGJyIGNsYXNzPSIiPg0KZGlmZiAtLWdp
dCBhL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfYXJjaC5oIGIvdG9vbHMvbGlicy9saWdodC9saWJ4
bF9hcmNoLmg8YnIgY2xhc3M9IiI+DQppbmRleCAwMGNjNTAzOTRkLi4yZWFmZjQ1NTI2IDEwMDY0
NDxiciBjbGFzcz0iIj4NCi0tLSBhL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfYXJjaC5oPGJyIGNs
YXNzPSIiPg0KKysrIGIvdG9vbHMvbGlicy9saWdodC9saWJ4bF9hcmNoLmg8YnIgY2xhc3M9IiI+
DQpAQCAtNzEsOCArNzEsOSBAQCB2b2lkIGxpYnhsX19hcmNoX2RvbWFpbl9jcmVhdGVfaW5mb19z
ZXRkZWZhdWx0KGxpYnhsX19nYyAqZ2MsPGJyIGNsYXNzPSIiPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7bGlieGxfZG9tYWluX2NyZWF0ZV9p
bmZvICpjX2luZm8pOzxiciBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NCl9oaWRkZW48YnIgY2xh
c3M9IiI+DQotdm9pZCBsaWJ4bF9fYXJjaF9kb21haW5fYnVpbGRfaW5mb19zZXRkZWZhdWx0KGxp
YnhsX19nYyAqZ2MsPGJyIGNsYXNzPSIiPg0KLSAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDtsaWJ4bF9kb21haW5fYnVpbGRfaW5mbyAqYl9pbmZvKTs8YnIgY2xhc3M9
IiI+DQoraW50IGxpYnhsX19hcmNoX2RvbWFpbl9idWlsZF9pbmZvX3NldGRlZmF1bHQobGlieGxf
X2djICpnYyw8YnIgY2xhc3M9IiI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwO2xpYnhsX2RvbWFpbl9idWlsZF9pbmZvICpiX2luZm8sPGJyIGNsYXNzPSIiPg0KKyAmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtjb25zdCBsaWJ4bF9waHlzaW5mbyAqcGh5
c2luZm8pOzxiciBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NCl9oaWRkZW48YnIgY2xhc3M9IiI+
DQppbnQgbGlieGxfX2FyY2hfcGFzc3Rocm91Z2hfbW9kZV9zZXRkZWZhdWx0KGxpYnhsX19nYyAq
Z2MsPGJyIGNsYXNzPSIiPg0KZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfYXJt
LmMgYi90b29scy9saWJzL2xpZ2h0L2xpYnhsX2FybS5jPGJyIGNsYXNzPSIiPg0KaW5kZXggNTJm
MjU0NTQ5OC4uNGQ0MjJiZWY5NiAxMDA2NDQ8YnIgY2xhc3M9IiI+DQotLS0gYS90b29scy9saWJz
L2xpZ2h0L2xpYnhsX2FybS5jPGJyIGNsYXNzPSIiPg0KKysrIGIvdG9vbHMvbGlicy9saWdodC9s
aWJ4bF9hcm0uYzxiciBjbGFzcz0iIj4NCkBAIC0xMzg0LDggKzEzODQsOSBAQCB2b2lkIGxpYnhs
X19hcmNoX2RvbWFpbl9jcmVhdGVfaW5mb19zZXRkZWZhdWx0KGxpYnhsX19nYyAqZ2MsPGJyIGNs
YXNzPSIiPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fTxiciBjbGFzcz0iIj4NCn08YnIgY2xh
c3M9IiI+DQo8YnIgY2xhc3M9IiI+DQotdm9pZCBsaWJ4bF9fYXJjaF9kb21haW5fYnVpbGRfaW5m
b19zZXRkZWZhdWx0KGxpYnhsX19nYyAqZ2MsPGJyIGNsYXNzPSIiPg0KLSAmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtsaWJ4bF9kb21haW5fYnVpbGRfaW5mbyAqYl9p
bmZvKTxiciBjbGFzcz0iIj4NCitpbnQgbGlieGxfX2FyY2hfZG9tYWluX2J1aWxkX2luZm9fc2V0
ZGVmYXVsdChsaWJ4bF9fZ2MgKmdjLDxiciBjbGFzcz0iIj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7bGlieGxfZG9tYWluX2J1aWxkX2luZm8gKmJfaW5mbyw8YnIgY2xh
c3M9IiI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2NvbnN0IGxpYnhs
X3BoeXNpbmZvICpwaHlzaW5mbyk8YnIgY2xhc3M9IiI+DQp7PGJyIGNsYXNzPSIiPg0KJm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7LyogQUNQSSBpcyBkaXNhYmxlZCBieSBkZWZhdWx0ICovPGJyIGNs
YXNzPSIiPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7bGlieGxfZGVmYm9vbF9zZXRkZWZhdWx0
KCZhbXA7Yl9pbmZvLSZndDthY3BpLCBmYWxzZSk7PGJyIGNsYXNzPSIiPg0KZGlmZiAtLWdpdCBh
L3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfY3JlYXRlLmMgYi90b29scy9saWJzL2xpZ2h0L2xpYnhs
X2NyZWF0ZS5jPGJyIGNsYXNzPSIiPg0KaW5kZXggZDdhNDBkNzU1MC4uMmJhZTZmZWY2MiAxMDA2
NDQ8YnIgY2xhc3M9IiI+DQotLS0gYS90b29scy9saWJzL2xpZ2h0L2xpYnhsX2NyZWF0ZS5jPGJy
IGNsYXNzPSIiPg0KKysrIGIvdG9vbHMvbGlicy9saWdodC9saWJ4bF9jcmVhdGUuYzxiciBjbGFz
cz0iIj4NCkBAIC0yNjQsNyArMjY0LDYgQEAgaW50IGxpYnhsX19kb21haW5fYnVpbGRfaW5mb19z
ZXRkZWZhdWx0KGxpYnhsX19nYyAqZ2MsPGJyIGNsYXNzPSIiPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7aWYgKCFiX2luZm8tJmd0O2V2ZW50X2NoYW5uZWxzKTxiciBjbGFzcz0iIj4NCiZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2JfaW5mby0mZ3Q7ZXZl
bnRfY2hhbm5lbHMgPSAxMDIzOzxiciBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NCi0gJm5ic3A7
Jm5ic3A7Jm5ic3A7bGlieGxfX2FyY2hfZG9tYWluX2J1aWxkX2luZm9fc2V0ZGVmYXVsdChnYywg
Yl9pbmZvKTs8YnIgY2xhc3M9IiI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtsaWJ4bF9kZWZi
b29sX3NldGRlZmF1bHQoJmFtcDtiX2luZm8tJmd0O2RtX3Jlc3RyaWN0LCBmYWxzZSk7PGJyIGNs
YXNzPSIiPg0KPGJyIGNsYXNzPSIiPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7aWYgKGJfaW5m
by0mZ3Q7aW9tbXVfbWVta2IgPT0gTElCWExfTUVNS0JfREVGQVVMVCk8YnIgY2xhc3M9IiI+DQpA
QCAtNDU2LDE1ICs0NTUsMjEgQEAgaW50IGxpYnhsX19kb21haW5fYnVpbGRfaW5mb19zZXRkZWZh
dWx0KGxpYnhsX19nYyAqZ2MsPGJyIGNsYXNzPSIiPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7bGlieGxfZGVmYm9vbF9zZXRkZWZhdWx0KCZhbXA7Yl9p
bmZvLSZndDtuZXN0ZWRfaHZtLCAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtmYWxzZSk7PGJy
IGNsYXNzPSIiPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fTxiciBjbGFzcz0iIj4NCjxiciBj
bGFzcz0iIj4NCi0gJm5ic3A7Jm5ic3A7Jm5ic3A7aWYgKGJfaW5mby0mZ3Q7bWF4X2dyYW50X3Zl
cnNpb24gPT0gTElCWExfTUFYX0dSQU5UX0RFRkFVTFQpIHs8YnIgY2xhc3M9IiI+DQotICZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2xpYnhsX3BoeXNpbmZvIGluZm87
PGJyIGNsYXNzPSIiPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtsaWJ4bF9waHlzaW5mbyBpbmZvOzxi
ciBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NCi0gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7cmMgPSBsaWJ4bF9nZXRfcGh5c2luZm8oQ1RYLCAmYW1wO2luZm8pOzxi
ciBjbGFzcz0iIj4NCi0gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
aWYgKHJjKSB7PGJyIGNsYXNzPSIiPg0KLSAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtMT0coRVJST1IsICZxdW90O2ZhaWxl
ZCB0byBnZXQgaHlwZXJ2aXNvciBpbmZvJnF1b3Q7KTs8YnIgY2xhc3M9IiI+DQotICZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
O3JldHVybiByYzs8YnIgY2xhc3M9IiI+DQotICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwO308YnIgY2xhc3M9IiI+DQorICZuYnNwOyZuYnNwOyZuYnNwO3JjID0gbGli
eGxfZ2V0X3BoeXNpbmZvKENUWCwgJmFtcDtpbmZvKTs8YnIgY2xhc3M9IiI+DQorICZuYnNwOyZu
YnNwOyZuYnNwO2lmIChyYykgezxiciBjbGFzcz0iIj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7TE9HKEVSUk9SLCAmcXVvdDtmYWlsZWQgdG8gZ2V0IGh5cGVy
dmlzb3IgaW5mbyZxdW90Oyk7PGJyIGNsYXNzPSIiPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDtyZXR1cm4gcmM7PGJyIGNsYXNzPSIiPg0KKyAmbmJzcDsmbmJz
cDsmbmJzcDt9PGJyIGNsYXNzPSIiPg0KPGJyIGNsYXNzPSIiPg0KKyAmbmJzcDsmbmJzcDsmbmJz
cDtyYyA9IGxpYnhsX19hcmNoX2RvbWFpbl9idWlsZF9pbmZvX3NldGRlZmF1bHQoZ2MsIGJfaW5m
bywgJmFtcDtpbmZvKTs8YnIgY2xhc3M9IiI+DQorICZuYnNwOyZuYnNwOyZuYnNwO2lmIChyYykg
ezxiciBjbGFzcz0iIj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7TE9HKEVSUk9SLCAmcXVvdDt1bmFibGUgdG8gc2V0IGRvbWFpbiBhcmNoIGJ1aWxkIGluZm8g
ZGVmYXVsdHMmcXVvdDspOzxiciBjbGFzcz0iIj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0dXJuIHJjOzxiciBjbGFzcz0iIj4NCisgJm5ic3A7Jm5ic3A7
Jm5ic3A7fTxiciBjbGFzcz0iIj4NCis8YnIgY2xhc3M9IiI+DQorICZuYnNwOyZuYnNwOyZuYnNw
O2lmIChiX2luZm8tJmd0O21heF9ncmFudF92ZXJzaW9uID09IExJQlhMX01BWF9HUkFOVF9ERUZB
VUxUKSB7PGJyIGNsYXNzPSIiPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7aWYgKGluZm8uY2FwX2dudHRhYl92Mik8YnIgY2xhc3M9IiI+DQombmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDtiX2luZm8tJmd0O21heF9ncmFudF92ZXJzaW9uID0gMjs8YnIgY2xhc3M9IiI+DQom
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtlbHNlIGlmIChp
bmZvLmNhcF9nbnR0YWJfdjEpPGJyIGNsYXNzPSIiPg0KZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMv
bGlnaHQvbGlieGxfdHlwZXMuaWRsIGIvdG9vbHMvbGlicy9saWdodC9saWJ4bF90eXBlcy5pZGw8
YnIgY2xhc3M9IiI+DQppbmRleCA0MmFjNmMzNTdiLi5kYjVlYjBhMGIzIDEwMDY0NDxiciBjbGFz
cz0iIj4NCi0tLSBhL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfdHlwZXMuaWRsPGJyIGNsYXNzPSIi
Pg0KKysrIGIvdG9vbHMvbGlicy9saWdodC9saWJ4bF90eXBlcy5pZGw8YnIgY2xhc3M9IiI+DQpA
QCAtNjQ4LDYgKzY0OCw4IEBAIGxpYnhsX2RvbWFpbl9idWlsZF9pbmZvID0gU3RydWN0KCZxdW90
O2RvbWFpbl9idWlsZF9pbmZvJnF1b3Q7LFs8YnIgY2xhc3M9IiI+DQombmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDso
JnF1b3Q7dnVhcnQmcXVvdDssIGxpYnhsX3Z1YXJ0X3R5cGUpLDxiciBjbGFzcz0iIj4NCiZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwO10pKSw8YnIgY2xhc3M9IiI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsoJnF1b3Q7YXJj
aF94ODYmcXVvdDssIFN0cnVjdChOb25lLCBbKCZxdW90O21zcl9yZWxheGVkJnF1b3Q7LCBsaWJ4
bF9kZWZib29sKSw8YnIgY2xhc3M9IiI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOygmcXVvdDthc3Npc3RlZF94YXBp
YyZxdW90OywgbGlieGxfZGVmYm9vbCksPGJyIGNsYXNzPSIiPg0KKyAmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsoJnF1b3Q7
YXNzaXN0ZWRfeDJhcGljJnF1b3Q7LCBsaWJ4bF9kZWZib29sKSw8YnIgY2xhc3M9IiI+DQombmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDtdKSksPGJyIGNsYXNzPSIiPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IyBBbHRlcm5h
dGUgcDJtIGlzIG5vdCBib3VuZCB0byBhbnkgYXJjaGl0ZWN0dXJlIG9yIGd1ZXN0IHR5cGUsIGFz
IGl0IGlzPGJyIGNsYXNzPSIiPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IyBzdXBwb3J0ZWQg
YnkgeDg2IEhWTSBhbmQgQVJNIHN1cHBvcnQgaXMgcGxhbm5lZC48YnIgY2xhc3M9IiI+DQpkaWZm
IC0tZ2l0IGEvdG9vbHMvbGlicy9saWdodC9saWJ4bF94ODYuYyBiL3Rvb2xzL2xpYnMvbGlnaHQv
bGlieGxfeDg2LmM8YnIgY2xhc3M9IiI+DQppbmRleCAzM2RhNTFmZTg5Li5iMjU3ZmNhNzU2IDEw
MDY0NDxiciBjbGFzcz0iIj4NCi0tLSBhL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfeDg2LmM8YnIg
Y2xhc3M9IiI+DQorKysgYi90b29scy9saWJzL2xpZ2h0L2xpYnhsX3g4Ni5jPGJyIGNsYXNzPSIi
Pg0KQEAgLTIzLDYgKzIzLDEyIEBAIGludCBsaWJ4bF9fYXJjaF9kb21haW5fcHJlcGFyZV9jb25m
aWcobGlieGxfX2djICpnYyw8YnIgY2xhc3M9IiI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtp
ZiAobGlieGxfZGVmYm9vbF92YWwoZF9jb25maWctJmd0O2JfaW5mby5hcmNoX3g4Ni5tc3JfcmVs
YXhlZCkpPGJyIGNsYXNzPSIiPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Y29uZmlnLSZndDthcmNoLm1pc2NfZmxhZ3MgfD0gWEVOX1g4Nl9NU1JfUkVM
QVhFRDs8YnIgY2xhc3M9IiI+DQo8YnIgY2xhc3M9IiI+DQorICZuYnNwOyZuYnNwOyZuYnNwO2lm
KGxpYnhsX2RlZmJvb2xfdmFsKGRfY29uZmlnLSZndDtiX2luZm8uYXJjaF94ODYuYXNzaXN0ZWRf
eGFwaWMpKTxiciBjbGFzcz0iIj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Y29uZmlnLSZndDthcmNoLm1pc2NfZmxhZ3MgfD0gWEVOX1g4Nl9BU1NJU1RFRF9Y
QVBJQzs8YnIgY2xhc3M9IiI+DQorPGJyIGNsYXNzPSIiPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtp
ZihsaWJ4bF9kZWZib29sX3ZhbChkX2NvbmZpZy0mZ3Q7Yl9pbmZvLmFyY2hfeDg2LmFzc2lzdGVk
X3gyYXBpYykpPGJyIGNsYXNzPSIiPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDtjb25maWctJmd0O2FyY2gubWlzY19mbGFncyB8PSBYRU5fWDg2X0FTU0lTVEVE
X1gyQVBJQzs8YnIgY2xhc3M9IiI+DQorPGJyIGNsYXNzPSIiPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7cmV0dXJuIDA7PGJyIGNsYXNzPSIiPg0KfTxiciBjbGFzcz0iIj4NCjxiciBjbGFzcz0i
Ij4NCkBAIC04MTksMTEgKzgyNSw0NCBAQCB2b2lkIGxpYnhsX19hcmNoX2RvbWFpbl9jcmVhdGVf
aW5mb19zZXRkZWZhdWx0KGxpYnhsX19nYyAqZ2MsPGJyIGNsYXNzPSIiPg0KezxiciBjbGFzcz0i
Ij4NCn08YnIgY2xhc3M9IiI+DQo8YnIgY2xhc3M9IiI+DQotdm9pZCBsaWJ4bF9fYXJjaF9kb21h
aW5fYnVpbGRfaW5mb19zZXRkZWZhdWx0KGxpYnhsX19nYyAqZ2MsPGJyIGNsYXNzPSIiPg0KLSAm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtsaWJ4bF9kb21haW5fYnVp
bGRfaW5mbyAqYl9pbmZvKTxiciBjbGFzcz0iIj4NCitpbnQgbGlieGxfX2FyY2hfZG9tYWluX2J1
aWxkX2luZm9fc2V0ZGVmYXVsdChsaWJ4bF9fZ2MgKmdjLDxiciBjbGFzcz0iIj4NCisgJm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7bGlieGxfZG9tYWluX2J1aWxkX2luZm8gKmJf
aW5mbyw8YnIgY2xhc3M9IiI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
O2NvbnN0IGxpYnhsX3BoeXNpbmZvICpwaHlzaW5mbyk8YnIgY2xhc3M9IiI+DQp7PGJyIGNsYXNz
PSIiPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtpbnQgcmM7PGJyIGNsYXNzPSIiPg0KKyAmbmJzcDsm
bmJzcDsmbmJzcDtib29sIGFzc2lzdGVkX3hhcGljOzxiciBjbGFzcz0iIj4NCisgJm5ic3A7Jm5i
c3A7Jm5ic3A7Ym9vbCBhc3Npc3RlZF94MmFwaWM7PGJyIGNsYXNzPSIiPg0KKzxiciBjbGFzcz0i
Ij4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2xpYnhsX2RlZmJvb2xfc2V0ZGVmYXVsdCgmYW1w
O2JfaW5mby0mZ3Q7YWNwaSwgdHJ1ZSk7PGJyIGNsYXNzPSIiPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7bGlieGxfZGVmYm9vbF9zZXRkZWZhdWx0KCZhbXA7Yl9pbmZvLSZndDthcmNoX3g4Ni5t
c3JfcmVsYXhlZCwgZmFsc2UpOzxiciBjbGFzcz0iIj4NCis8YnIgY2xhc3M9IiI+DQorICZuYnNw
OyZuYnNwOyZuYnNwO2xpYnhsX2RlZmJvb2xfc2V0ZGVmYXVsdCgmYW1wO2JfaW5mby0mZ3Q7YXJj
aF94ODYuYXNzaXN0ZWRfeGFwaWMsIGZhbHNlKTs8YnIgY2xhc3M9IiI+DQorICZuYnNwOyZuYnNw
OyZuYnNwO2xpYnhsX2RlZmJvb2xfc2V0ZGVmYXVsdCgmYW1wO2JfaW5mby0mZ3Q7YXJjaF94ODYu
YXNzaXN0ZWRfeDJhcGljLCBmYWxzZSk7PGJyIGNsYXNzPSIiPg0KKzxiciBjbGFzcz0iIj4NCisg
Jm5ic3A7Jm5ic3A7Jm5ic3A7YXNzaXN0ZWRfeGFwaWMgPSBsaWJ4bF9kZWZib29sX3ZhbChiX2lu
Zm8tJmd0O2FyY2hfeDg2LmFzc2lzdGVkX3hhcGljKTs8YnIgY2xhc3M9IiI+DQorICZuYnNwOyZu
YnNwOyZuYnNwO2Fzc2lzdGVkX3gyYXBpYyA9IGxpYnhsX2RlZmJvb2xfdmFsKGJfaW5mby0mZ3Q7
YXJjaF94ODYuYXNzaXN0ZWRfeDJhcGljKTs8YnIgY2xhc3M9IiI+DQorPGJyIGNsYXNzPSIiPg0K
KyAmbmJzcDsmbmJzcDsmbmJzcDtpZiAoKGFzc2lzdGVkX3hhcGljIHx8IGFzc2lzdGVkX3gyYXBp
YykgJmFtcDsmYW1wOzxiciBjbGFzcz0iIj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Yl9pbmZvLSZndDt0eXBlID09IExJQlhMX0RPTUFJTl9UWVBFX1BWKTxi
ciBjbGFzcz0iIj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7ezxiciBjbGFzcz0iIj4NCisgJm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7TE9HKEVSUk9SLCAmcXVvdDtJbnRl
cnJ1cHQgQ29udHJvbGxlciBWaXJ0dWFsaXphdGlvbiBub3Qgc3VwcG9ydGVkIGZvciBQViZxdW90
Oyk7PGJyIGNsYXNzPSIiPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDtyYyA9IEVSUk9SX0lOVkFMOzxiciBjbGFzcz0iIj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Z290byBvdXQ7PGJyIGNsYXNzPSIiPg0KKyAmbmJzcDsm
bmJzcDsmbmJzcDt9PGJyIGNsYXNzPSIiPg0KKzxiciBjbGFzcz0iIj4NCisgJm5ic3A7Jm5ic3A7
Jm5ic3A7aWYgKChhc3Npc3RlZF94YXBpYyAmYW1wOyZhbXA7ICFwaHlzaW5mby0mZ3Q7Y2FwX2Fz
c2lzdGVkX3hhcGljKSB8fDxiciBjbGFzcz0iIj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7KGFzc2lzdGVkX3gyYXBpYyAmYW1wOyZhbXA7ICFwaHlz
aW5mby0mZ3Q7Y2FwX2Fzc2lzdGVkX3gyYXBpYykpPGJyIGNsYXNzPSIiPg0KKyAmbmJzcDsmbmJz
cDsmbmJzcDt7PGJyIGNsYXNzPSIiPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDtMT0coRVJST1IsICZxdW90O3glc0FQSUMgaGFyZHdhcmUgc3VwcG9ydGVkIGVt
dWxhdGlvbiBub3QgYXZhaWxhYmxlJnF1b3Q7LDxiciBjbGFzcz0iIj4NCisgJm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7YXNz
aXN0ZWRfeGFwaWMgJmFtcDsmYW1wOyAhcGh5c2luZm8tJmd0O2NhcF9hc3Npc3RlZF94YXBpYyA/
ICZxdW90OyZxdW90OyA6ICZxdW90OzImcXVvdDspOzxiciBjbGFzcz0iIj4NCisgJm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmMgPSAmbmJzcDtFUlJPUl9JTlZBTDs8
YnIgY2xhc3M9IiI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
O2dvdG8gb3V0OzxiciBjbGFzcz0iIj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7fTxiciBjbGFzcz0i
Ij4NCis8YnIgY2xhc3M9IiI+DQorICZuYnNwOyZuYnNwOyZuYnNwO3JjID0gMDs8YnIgY2xhc3M9
IiI+DQorb3V0OjxiciBjbGFzcz0iIj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7cmV0dXJuIHJjOzxi
ciBjbGFzcz0iIj4NCis8YnIgY2xhc3M9IiI+DQp9PGJyIGNsYXNzPSIiPg0KPGJyIGNsYXNzPSIi
Pg0KaW50IGxpYnhsX19hcmNoX3Bhc3N0aHJvdWdoX21vZGVfc2V0ZGVmYXVsdChsaWJ4bF9fZ2Mg
KmdjLDxiciBjbGFzcz0iIj4NCmRpZmYgLS1naXQgYS90b29scy9vY2FtbC9saWJzL3hjL3hlbmN0
cmwubWwgYi90b29scy9vY2FtbC9saWJzL3hjL3hlbmN0cmwubWw8YnIgY2xhc3M9IiI+DQppbmRl
eCA3Y2U4MzJkNjA1Li5jY2UzMGQ4NzMxIDEwMDY0NDxiciBjbGFzcz0iIj4NCi0tLSBhL3Rvb2xz
L29jYW1sL2xpYnMveGMveGVuY3RybC5tbDxiciBjbGFzcz0iIj4NCisrKyBiL3Rvb2xzL29jYW1s
L2xpYnMveGMveGVuY3RybC5tbDxiciBjbGFzcz0iIj4NCkBAIC01MCw2ICs1MCw4IEBAIHR5cGUg
eDg2X2FyY2hfZW11bGF0aW9uX2ZsYWdzID08YnIgY2xhc3M9IiI+DQo8YnIgY2xhc3M9IiI+DQp0
eXBlIHg4Nl9hcmNoX21pc2NfZmxhZ3MgPTxiciBjbGFzcz0iIj4NCjxzcGFuIGNsYXNzPSJBcHBs
ZS10YWItc3BhbiIgc3R5bGU9IndoaXRlLXNwYWNlOnByZSI+PC9zcGFuPnwgWDg2X01TUl9SRUxB
WEVEPGJyIGNsYXNzPSIiPg0KKzxzcGFuIGNsYXNzPSJBcHBsZS10YWItc3BhbiIgc3R5bGU9Indo
aXRlLXNwYWNlOnByZSI+IDwvc3Bhbj58IFg4Nl9BU1NJU1RFRF9YQVBJQzxiciBjbGFzcz0iIj4N
Cis8c3BhbiBjbGFzcz0iQXBwbGUtdGFiLXNwYW4iIHN0eWxlPSJ3aGl0ZS1zcGFjZTpwcmUiPiA8
L3NwYW4+fCBYODZfQVNTSVNURURfWDJBUElDPGJyIGNsYXNzPSIiPg0KPGJyIGNsYXNzPSIiPg0K
dHlwZSB4ZW5feDg2X2FyY2hfZG9tYWluY29uZmlnID08YnIgY2xhc3M9IiI+DQp7PGJyIGNsYXNz
PSIiPg0KZGlmZiAtLWdpdCBhL3Rvb2xzL29jYW1sL2xpYnMveGMveGVuY3RybC5tbGkgYi90b29s
cy9vY2FtbC9saWJzL3hjL3hlbmN0cmwubWxpPGJyIGNsYXNzPSIiPg0KaW5kZXggYTJiMTUxMzBl
ZS4uNjdhMjJlYzE1YyAxMDA2NDQ8YnIgY2xhc3M9IiI+DQotLS0gYS90b29scy9vY2FtbC9saWJz
L3hjL3hlbmN0cmwubWxpPGJyIGNsYXNzPSIiPg0KKysrIGIvdG9vbHMvb2NhbWwvbGlicy94Yy94
ZW5jdHJsLm1saTxiciBjbGFzcz0iIj4NCkBAIC00NCw2ICs0NCw4IEBAIHR5cGUgeDg2X2FyY2hf
ZW11bGF0aW9uX2ZsYWdzID08YnIgY2xhc3M9IiI+DQo8YnIgY2xhc3M9IiI+DQp0eXBlIHg4Nl9h
cmNoX21pc2NfZmxhZ3MgPTxiciBjbGFzcz0iIj4NCiZuYnNwOyZuYnNwO3wgWDg2X01TUl9SRUxB
WEVEPGJyIGNsYXNzPSIiPg0KKyAmbmJzcDt8IFg4Nl9BU1NJU1RFRF9YQVBJQzxiciBjbGFzcz0i
Ij4NCisgJm5ic3A7fCBYODZfQVNTSVNURURfWDJBUElDPGJyIGNsYXNzPSIiPg0KPGJyIGNsYXNz
PSIiPg0KdHlwZSB4ZW5feDg2X2FyY2hfZG9tYWluY29uZmlnID0gezxiciBjbGFzcz0iIj4NCiZu
YnNwOyZuYnNwO2VtdWxhdGlvbl9mbGFnczogeDg2X2FyY2hfZW11bGF0aW9uX2ZsYWdzIGxpc3Q7
PGJyIGNsYXNzPSIiPg0KZGlmZiAtLWdpdCBhL3Rvb2xzL3hsL3hsLmMgYi90b29scy94bC94bC5j
PGJyIGNsYXNzPSIiPg0KaW5kZXggMmQxZWMxOGVhMy4uYjk3ZTQ5MWM5YyAxMDA2NDQ8YnIgY2xh
c3M9IiI+DQotLS0gYS90b29scy94bC94bC5jPGJyIGNsYXNzPSIiPg0KKysrIGIvdG9vbHMveGwv
eGwuYzxiciBjbGFzcz0iIj4NCkBAIC01Nyw2ICs1Nyw4IEBAIGludCBtYXhfZ3JhbnRfZnJhbWVz
ID0gLTE7PGJyIGNsYXNzPSIiPg0KaW50IG1heF9tYXB0cmFja19mcmFtZXMgPSAtMTs8YnIgY2xh
c3M9IiI+DQppbnQgbWF4X2dyYW50X3ZlcnNpb24gPSBMSUJYTF9NQVhfR1JBTlRfREVGQVVMVDs8
YnIgY2xhc3M9IiI+DQpsaWJ4bF9kb21pZCBkb21pZF9wb2xpY3kgPSBJTlZBTElEX0RPTUlEOzxi
ciBjbGFzcz0iIj4NCitpbnQgYXNzaXN0ZWRfeGFwaWMgPSAwOzxiciBjbGFzcz0iIj4NCitpbnQg
YXNzaXN0ZWRfeDJhcGljID0gMDs8YnIgY2xhc3M9IiI+DQo8YnIgY2xhc3M9IiI+DQp4ZW50b29s
bG9nX2xldmVsIG1pbm1zZ2xldmVsID0gbWlubXNnbGV2ZWxfZGVmYXVsdDs8YnIgY2xhc3M9IiI+
DQo8YnIgY2xhc3M9IiI+DQpAQCAtMjAxLDYgKzIwMywxMiBAQCBzdGF0aWMgdm9pZCBwYXJzZV9n
bG9iYWxfY29uZmlnKGNvbnN0IGNoYXIgKmNvbmZpZ2ZpbGUsPGJyIGNsYXNzPSIiPg0KJm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7aWYgKCF4bHVfY2ZnX2dldF9sb25nIChjb25maWcsICZxdW90O2Ns
YWltX21vZGUmcXVvdDssICZhbXA7bCwgMCkpPGJyIGNsYXNzPSIiPg0KJm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Y2xhaW1fbW9kZSA9IGw7PGJyIGNsYXNz
PSIiPg0KPGJyIGNsYXNzPSIiPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtpZiAoIXhsdV9jZmdfZ2V0
X2xvbmcgKGNvbmZpZywgJnF1b3Q7YXNzaXN0ZWRfeGFwaWMmcXVvdDssICZhbXA7bCwgMCkpPGJy
IGNsYXNzPSIiPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDth
c3Npc3RlZF94YXBpYyA9IGw7PGJyIGNsYXNzPSIiPg0KKzxiciBjbGFzcz0iIj4NCisgJm5ic3A7
Jm5ic3A7Jm5ic3A7aWYgKCF4bHVfY2ZnX2dldF9sb25nIChjb25maWcsICZxdW90O2Fzc2lzdGVk
X3gyYXBpYyZxdW90OywgJmFtcDtsLCAwKSk8YnIgY2xhc3M9IiI+DQorICZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2Fzc2lzdGVkX3gyYXBpYyA9IGw7PGJyIGNsYXNz
PSIiPg0KKzxiciBjbGFzcz0iIj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3hsdV9jZmdfcmVw
bGFjZV9zdHJpbmcgKGNvbmZpZywgJnF1b3Q7cmVtdXMuZGVmYXVsdC5uZXRidWZzY3JpcHQmcXVv
dDssPGJyIGNsYXNzPSIiPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7JmFtcDtkZWZhdWx0X3JlbXVzX25ldGJ1ZnNjcmlwdCwgMCk7PGJyIGNsYXNzPSIi
Pg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7eGx1X2NmZ19yZXBsYWNlX3N0cmluZyAoY29uZmln
LCAmcXVvdDtjb2xvLmRlZmF1bHQucHJveHlzY3JpcHQmcXVvdDssPGJyIGNsYXNzPSIiPg0KZGlm
ZiAtLWdpdCBhL3Rvb2xzL3hsL3hsLmggYi90b29scy94bC94bC5oPGJyIGNsYXNzPSIiPg0KaW5k
ZXggYzVjNGJlZGJkZC4uNTI4ZGViM2ZlYiAxMDA2NDQ8YnIgY2xhc3M9IiI+DQotLS0gYS90b29s
cy94bC94bC5oPGJyIGNsYXNzPSIiPg0KKysrIGIvdG9vbHMveGwveGwuaDxiciBjbGFzcz0iIj4N
CkBAIC0yODYsNiArMjg2LDggQEAgZXh0ZXJuIGxpYnhsX2JpdG1hcCBnbG9iYWxfdm1fYWZmaW5p
dHlfbWFzazs8YnIgY2xhc3M9IiI+DQpleHRlcm4gbGlieGxfYml0bWFwIGdsb2JhbF9odm1fYWZm
aW5pdHlfbWFzazs8YnIgY2xhc3M9IiI+DQpleHRlcm4gbGlieGxfYml0bWFwIGdsb2JhbF9wdl9h
ZmZpbml0eV9tYXNrOzxiciBjbGFzcz0iIj4NCmV4dGVybiBsaWJ4bF9kb21pZCBkb21pZF9wb2xp
Y3k7PGJyIGNsYXNzPSIiPg0KK2V4dGVybiBpbnQgYXNzaXN0ZWRfeGFwaWM7PGJyIGNsYXNzPSIi
Pg0KK2V4dGVybiBpbnQgYXNzaXN0ZWRfeDJhcGljOzxiciBjbGFzcz0iIj4NCjxiciBjbGFzcz0i
Ij4NCmVudW0gb3V0cHV0X2Zvcm1hdCB7PGJyIGNsYXNzPSIiPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7T1VUUFVUX0ZPUk1BVF9KU09OLDxiciBjbGFzcz0iIj4NCmRpZmYgLS1naXQgYS90b29s
cy94bC94bF9wYXJzZS5jIGIvdG9vbHMveGwveGxfcGFyc2UuYzxiciBjbGFzcz0iIj4NCmluZGV4
IDExN2ZjZGNiMmIuLjE2ZmY5ZTc2YmMgMTAwNjQ0PGJyIGNsYXNzPSIiPg0KLS0tIGEvdG9vbHMv
eGwveGxfcGFyc2UuYzxiciBjbGFzcz0iIj4NCisrKyBiL3Rvb2xzL3hsL3hsX3BhcnNlLmM8YnIg
Y2xhc3M9IiI+DQpAQCAtMTY4MSw2ICsxNjgxLDIwIEBAIHZvaWQgcGFyc2VfY29uZmlnX2RhdGEo
Y29uc3QgY2hhciAqY29uZmlnX3NvdXJjZSw8YnIgY2xhc3M9IiI+DQombmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt4bHVfY2ZnX2dldF9kZWZib29sKGNvbmZp
ZywgJnF1b3Q7dnB0X2FsaWduJnF1b3Q7LCAmYW1wO2JfaW5mby0mZ3Q7dS5odm0udnB0X2FsaWdu
LCAwKTs8YnIgY2xhc3M9IiI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDt4bHVfY2ZnX2dldF9kZWZib29sKGNvbmZpZywgJnF1b3Q7YXBpYyZxdW90Oywg
JmFtcDtiX2luZm8tJmd0O2FwaWMsIDApOzxiciBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NCisg
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ZSA9IHhsdV9jZmdfZ2V0
X2RlZmJvb2woY29uZmlnLCAmcXVvdDthc3Npc3RlZF94YXBpYyZxdW90Oyw8YnIgY2xhc3M9IiI+
DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZhbXA7Yl9pbmZvLSZndDthcmNoX3g4Ni5hc3Npc3RlZF94YXBp
YywgMCk7PGJyIGNsYXNzPSIiPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDtpZiAoZSA9PSBFU1JDSCkgLyogbm90IHNwZWNpZmllZCAqLzxiciBjbGFzcz0iIj4N
CisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7bGlieGxfZGVmYm9vbF9zZXQoJmFtcDtiX2luZm8tJmd0O2FyY2hfeDg2LmFz
c2lzdGVkX3hhcGljLCBhc3Npc3RlZF94YXBpYyk7PGJyIGNsYXNzPSIiPg0KKyAmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtlbHNlIGlmIChlKTxiciBjbGFzcz0iIj4N
CisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7ZXhpdCgxKTs8YnIgY2xhc3M9IiI+DQorPGJyIGNsYXNzPSIiPg0KKyAmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtlID0geGx1X2NmZ19nZXRfZGVm
Ym9vbChjb25maWcsICZxdW90O2Fzc2lzdGVkX3gyYXBpYyZxdW90Oyw8YnIgY2xhc3M9IiI+DQor
ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZhbXA7Yl9pbmZvLSZndDthcmNoX3g4Ni5hc3Npc3RlZF94MmFwaWMs
IDApOzxiciBjbGFzcz0iIj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7aWYgKGUgPT0gRVNSQ0gpIC8qIG5vdCBzcGVjaWZpZWQgKi88YnIgY2xhc3M9IiI+DQor
ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwO2xpYnhsX2RlZmJvb2xfc2V0KCZhbXA7Yl9pbmZvLSZndDthcmNoX3g4Ni5hc3Np
c3RlZF94MmFwaWMsIGFzc2lzdGVkX3gyYXBpYyk7PGJyIGNsYXNzPSIiPg0KKyAmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtlbHNlIGlmIChlKTxiciBjbGFzcz0iIj4N
CisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7ZXhpdCgxKTs8YnIgY2xhc3M9IiI+DQorPGJyIGNsYXNzPSIiPg0KJm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7c3dpdGNoICh4bHVfY2Zn
X2dldF9saXN0KGNvbmZpZywgJnF1b3Q7dmlyaWRpYW4mcXVvdDssPGJyIGNsYXNzPSIiPg0KJm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7JmFtcDt2aXJpZGlhbiwgJmFtcDtudW1fdmlyaWRpYW4s
IDEpKTxiciBjbGFzcz0iIj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwO3s8YnIgY2xhc3M9IiI+DQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2RvbWFp
bi5jIGIveGVuL2FyY2gveDg2L2RvbWFpbi5jPGJyIGNsYXNzPSIiPg0KaW5kZXggZWYxODEyZGMx
NC4uZDA4ZjUxZTI4YiAxMDA2NDQ8YnIgY2xhc3M9IiI+DQotLS0gYS94ZW4vYXJjaC94ODYvZG9t
YWluLmM8YnIgY2xhc3M9IiI+DQorKysgYi94ZW4vYXJjaC94ODYvZG9tYWluLmM8YnIgY2xhc3M9
IiI+DQpAQCAtNjE5LDYgKzYxOSw4IEBAIGludCBhcmNoX3Nhbml0aXNlX2RvbWFpbl9jb25maWco
c3RydWN0IHhlbl9kb21jdGxfY3JlYXRlZG9tYWluICpjb25maWcpPGJyIGNsYXNzPSIiPg0KJm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Ym9vbCBodm0gPSBjb25maWctJmd0O2ZsYWdzICZhbXA7IFhF
Tl9ET01DVExfQ0RGX2h2bTs8YnIgY2xhc3M9IiI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDti
b29sIGhhcCA9IGNvbmZpZy0mZ3Q7ZmxhZ3MgJmFtcDsgWEVOX0RPTUNUTF9DREZfaGFwOzxiciBj
bGFzcz0iIj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2Jvb2wgbmVzdGVkX3ZpcnQgPSBjb25m
aWctJmd0O2ZsYWdzICZhbXA7IFhFTl9ET01DVExfQ0RGX25lc3RlZF92aXJ0OzxiciBjbGFzcz0i
Ij4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Ym9vbCBhc3Npc3RlZF94YXBpYyA9IGNvbmZpZy0mZ3Q7
YXJjaC5taXNjX2ZsYWdzICZhbXA7IFhFTl9YODZfQVNTSVNURURfWEFQSUM7PGJyIGNsYXNzPSIi
Pg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtib29sIGFzc2lzdGVkX3gyYXBpYyA9IGNvbmZpZy0mZ3Q7
YXJjaC5taXNjX2ZsYWdzICZhbXA7IFhFTl9YODZfQVNTSVNURURfWDJBUElDOzxiciBjbGFzcz0i
Ij4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3Vuc2lnbmVkIGludCBtYXhfdmNwdXM7PGJyIGNs
YXNzPSIiPg0KPGJyIGNsYXNzPSIiPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7aWYgKCBodm0g
PyAhaHZtX2VuYWJsZWQgOiAhSVNfRU5BQkxFRChDT05GSUdfUFYpICk8YnIgY2xhc3M9IiI+DQpA
QCAtNjg1LDEzICs2ODcsMzAgQEAgaW50IGFyY2hfc2FuaXRpc2VfZG9tYWluX2NvbmZpZyhzdHJ1
Y3QgeGVuX2RvbWN0bF9jcmVhdGVkb21haW4gKmNvbmZpZyk8YnIgY2xhc3M9IiI+DQombmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt9PGJyIGNsYXNzPSIiPg0K
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fTxiciBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NCi0g
Jm5ic3A7Jm5ic3A7Jm5ic3A7aWYgKCBjb25maWctJmd0O2FyY2gubWlzY19mbGFncyAmYW1wOyB+
WEVOX1g4Nl9NU1JfUkVMQVhFRCApPGJyIGNsYXNzPSIiPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtp
ZiAoIGNvbmZpZy0mZ3Q7YXJjaC5taXNjX2ZsYWdzICZhbXA7IH4oWEVOX1g4Nl9NU1JfUkVMQVhF
RCB8PGJyIGNsYXNzPSIiPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDtYRU5fWDg2X0FTU0lTVEVEX1hBUElDIHw8YnIgY2xhc3M9IiI+DQorICZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1hFTl9YODZfQVNTSVNURURfWDJB
UElDKSApPGJyIGNsYXNzPSIiPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ezxiciBjbGFzcz0i
Ij4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2Rwcmlu
dGsoWEVOTE9HX0lORk8sICZxdW90O0ludmFsaWQgYXJjaCBtaXNjIGZsYWdzICUjeFxuJnF1b3Q7
LDxiciBjbGFzcz0iIj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2Nv
bmZpZy0mZ3Q7YXJjaC5taXNjX2ZsYWdzKTs8YnIgY2xhc3M9IiI+DQombmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtyZXR1cm4gLUVJTlZBTDs8YnIgY2xhc3M9
IiI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt9PGJyIGNsYXNzPSIiPg0KPGJyIGNsYXNzPSIi
Pg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtpZiAoIChhc3Npc3RlZF94YXBpYyB8fCBhc3Npc3RlZF94
MmFwaWMpICZhbXA7JmFtcDsgIWh2bSApPGJyIGNsYXNzPSIiPg0KKyAmbmJzcDsmbmJzcDsmbmJz
cDt7PGJyIGNsYXNzPSIiPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDtkcHJpbnRrKFhFTkxPR19JTkZPLDxiciBjbGFzcz0iIj4NCisgJm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7JnF1b3Q7SW50ZXJydXB0IENvbnRyb2xsZXIgVmlydHVhbGl6YXRp
b24gbm90IHN1cHBvcnRlZCBmb3IgUFZcbiZxdW90Oyk7PGJyIGNsYXNzPSIiPg0KKyAmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtyZXR1cm4gLUVJTlZBTDs8YnIgY2xh
c3M9IiI+DQorICZuYnNwOyZuYnNwOyZuYnNwO308YnIgY2xhc3M9IiI+DQorPGJyIGNsYXNzPSIi
Pg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtpZiAoIChhc3Npc3RlZF94YXBpYyAmYW1wOyZhbXA7ICFh
c3Npc3RlZF94YXBpY19hdmFpbGFibGUpIHx8PGJyIGNsYXNzPSIiPg0KKyAmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsoYXNzaXN0ZWRfeDJhcGljICZhbXA7
JmFtcDsgIWFzc2lzdGVkX3gyYXBpY19hdmFpbGFibGUpICk8YnIgY2xhc3M9IiI+DQorICZuYnNw
OyZuYnNwOyZuYnNwO3s8YnIgY2xhc3M9IiI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwO2RwcmludGsoWEVOTE9HX0lORk8sICZxdW90O3glc0FQSUMgcmVxdWVz
dGVkIGJ1dCBub3QgYXZhaWxhYmxlXG4mcXVvdDssPGJyIGNsYXNzPSIiPg0KKyAmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDthc3Npc3RlZF94YXBpYyAmYW1wOyZhbXA7ICFhc3Npc3Rl
ZF94YXBpY19hdmFpbGFibGUgPyAmcXVvdDsmcXVvdDsgOiAmcXVvdDsyJnF1b3Q7KTs8YnIgY2xh
c3M9IiI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JldHVy
biAtRUlOVkFMOzxiciBjbGFzcz0iIj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7fTxiciBjbGFzcz0i
Ij4NCis8YnIgY2xhc3M9IiI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtyZXR1cm4gMDs8YnIg
Y2xhc3M9IiI+DQp9PGJyIGNsYXNzPSIiPg0KPGJyIGNsYXNzPSIiPg0KQEAgLTg2Myw2ICs4ODIs
MTIgQEAgaW50IGFyY2hfZG9tYWluX2NyZWF0ZShzdHJ1Y3QgZG9tYWluICpkLDxiciBjbGFzcz0i
Ij4NCjxiciBjbGFzcz0iIj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2QtJmd0O2FyY2gubXNy
X3JlbGF4ZWQgPSBjb25maWctJmd0O2FyY2gubWlzY19mbGFncyAmYW1wOyBYRU5fWDg2X01TUl9S
RUxBWEVEOzxiciBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7
ZC0mZ3Q7YXJjaC5odm0uYXNzaXN0ZWRfeGFwaWMgPTxiciBjbGFzcz0iIj4NCisgJm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Y29uZmlnLSZndDthcmNoLm1pc2NfZmxh
Z3MgJmFtcDsgWEVOX1g4Nl9BU1NJU1RFRF9YQVBJQzs8YnIgY2xhc3M9IiI+DQorPGJyIGNsYXNz
PSIiPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtkLSZndDthcmNoLmh2bS5hc3Npc3RlZF94MmFwaWMg
PTxiciBjbGFzcz0iIj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Y29uZmlnLSZndDthcmNoLm1pc2NfZmxhZ3MgJmFtcDsgWEVOX1g4Nl9BU1NJU1RFRF9YMkFQ
SUM7PGJyIGNsYXNzPSIiPg0KKzxiciBjbGFzcz0iIj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
O3JldHVybiAwOzxiciBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NCiZuYnNwO2ZhaWw6PGJyIGNs
YXNzPSIiPg0KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZtY3MuYyBiL3hlbi9h
cmNoL3g4Ni9odm0vdm14L3ZtY3MuYzxiciBjbGFzcz0iIj4NCmluZGV4IDc2OTFkYjBmZGQuLmNi
MmQ5NzU5YzkgMTAwNjQ0PGJyIGNsYXNzPSIiPg0KLS0tIGEveGVuL2FyY2gveDg2L2h2bS92bXgv
dm1jcy5jPGJyIGNsYXNzPSIiPg0KKysrIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdm1jcy5jPGJy
IGNsYXNzPSIiPg0KQEAgLTExNTQsNiArMTE1NCwxMCBAQCBzdGF0aWMgaW50IGNvbnN0cnVjdF92
bWNzKHN0cnVjdCB2Y3B1ICp2KTxiciBjbGFzcz0iIj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO19fdm13cml0ZShQTEVfV0lORE9XLCBwbGVfd2luZG93
KTs8YnIgY2xhc3M9IiI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt9PGJyIGNsYXNzPSIiPg0K
PGJyIGNsYXNzPSIiPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtpZiAoICF2LSZndDtkb21haW4tJmd0
O2FyY2guaHZtLmFzc2lzdGVkX3hhcGljICk8YnIgY2xhc3M9IiI+DQorICZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3YtJmd0O2FyY2guaHZtLnZteC5zZWNvbmRhcnlf
ZXhlY19jb250cm9sICZhbXA7PTxiciBjbGFzcz0iIj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7flNFQ09OREFSWV9F
WEVDX1ZJUlRVQUxJWkVfQVBJQ19BQ0NFU1NFUzs8YnIgY2xhc3M9IiI+DQorPGJyIGNsYXNzPSIi
Pg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7aWYgKCBjcHVfaGFzX3ZteF9zZWNvbmRhcnlfZXhl
Y19jb250cm9sICk8YnIgY2xhc3M9IiI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDtfX3Ztd3JpdGUoU0VDT05EQVJZX1ZNX0VYRUNfQ09OVFJPTCw8YnIg
Y2xhc3M9IiI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDt2LSZndDthcmNoLmh2bS52bXguc2Vjb25kYXJ5X2V4ZWNfY29udHJvbCk7PGJyIGNsYXNz
PSIiPg0KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jIGIveGVuL2FyY2gv
eDg2L2h2bS92bXgvdm14LmM8YnIgY2xhc3M9IiI+DQppbmRleCBjNDRjZjhmNWQ0Li42NTAxZmIx
YTA4IDEwMDY0NDxiciBjbGFzcz0iIj4NCi0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5j
PGJyIGNsYXNzPSIiPg0KKysrIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmM8YnIgY2xhc3M9
IiI+DQpAQCAtMzM0MiwxNiArMzM0MiwxOSBAQCBzdGF0aWMgdm9pZCB2bXhfaW5zdGFsbF92bGFw
aWNfbWFwcGluZyhzdHJ1Y3QgdmNwdSAqdik8YnIgY2xhc3M9IiI+DQo8YnIgY2xhc3M9IiI+DQp2
b2lkIHZteF92bGFwaWNfbXNyX2NoYW5nZWQoc3RydWN0IHZjcHUgKnYpPGJyIGNsYXNzPSIiPg0K
ezxiciBjbGFzcz0iIj4NCi0gJm5ic3A7Jm5ic3A7Jm5ic3A7aW50IHZpcnR1YWxpemVfeDJhcGlj
X21vZGU7PGJyIGNsYXNzPSIiPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtpbnQgdmlydHVhbGl6ZV94
YXBpY19tb2RlLCB2aXJ0dWFsaXplX3gyYXBpY19tb2RlOzxiciBjbGFzcz0iIj4NCiZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwO3N0cnVjdCB2bGFwaWMgKnZsYXBpYyA9IHZjcHVfdmxhcGljKHYpOzxi
ciBjbGFzcz0iIj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3Vuc2lnbmVkIGludCBtc3I7PGJy
IGNsYXNzPSIiPg0KPGJyIGNsYXNzPSIiPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDt2aXJ0dWFsaXpl
X3hhcGljX21vZGUgPSAoIGNwdV9oYXNfdm14X3ZpcnR1YWxpemVfYXBpY19hY2Nlc3NlcyAmYW1w
OyZhbXA7PGJyIGNsYXNzPSIiPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt2LSZndDtkb21haW4tJmd0O2FyY2guaHZtLmFzc2lz
dGVkX3hhcGljICk7PGJyIGNsYXNzPSIiPg0KKzxiciBjbGFzcz0iIj4NCiZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwO3ZpcnR1YWxpemVfeDJhcGljX21vZGUgPSAoIChjcHVfaGFzX3ZteF9hcGljX3Jl
Z192aXJ0IHx8PGJyIGNsYXNzPSIiPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Y3B1X2hhc192bXhf
dmlydHVhbF9pbnRyX2RlbGl2ZXJ5KSAmYW1wOyZhbXA7PGJyIGNsYXNzPSIiPg0KLSAmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDtjcHVfaGFzX3ZteF92aXJ0dWFsaXplX3gyYXBpY19tb2RlICk7PGJyIGNsYXNzPSIiPg0KKyAm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDtjcHVfaGFzX3ZteF92aXJ0dWFsaXplX3gyYXBpY19tb2RlICZhbXA7JmFtcDs8YnIg
Y2xhc3M9IiI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwO3YtJmd0O2RvbWFpbi0mZ3Q7YXJjaC5odm0uYXNzaXN0ZWRf
eDJhcGljICk7PGJyIGNsYXNzPSIiPg0KPGJyIGNsYXNzPSIiPg0KLSAmbmJzcDsmbmJzcDsmbmJz
cDtpZiAoICFjcHVfaGFzX3ZteF92aXJ0dWFsaXplX2FwaWNfYWNjZXNzZXMgJmFtcDsmYW1wOzxi
ciBjbGFzcz0iIj4NCi0gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7IXZpcnR1YWxpemVfeDJhcGljX21vZGUgKTxiciBjbGFzcz0iIj4NCisgJm5ic3A7Jm5i
c3A7Jm5ic3A7aWYgKCAhdmlydHVhbGl6ZV94YXBpY19tb2RlICZhbXA7JmFtcDsgIXZpcnR1YWxp
emVfeDJhcGljX21vZGUgKTxiciBjbGFzcz0iIj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JldHVybjs8YnIgY2xhc3M9IiI+DQo8YnIgY2xhc3M9IiI+
DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt2bXhfdm1jc19lbnRlcih2KTs8YnIgY2xhc3M9IiI+
DQpAQCAtMzM4Miw3ICszMzg1LDcgQEAgdm9pZCB2bXhfdmxhcGljX21zcl9jaGFuZ2VkKHN0cnVj
dCB2Y3B1ICp2KTxiciBjbGFzcz0iIj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwO3ZteF9jbGVhcl9tc3JfaW50ZXJjZXB0KHYsIE1TUl9YMkFQSUNfU0VMRiwgVk1YX01T
Ul9XKTs8YnIgY2xhc3M9IiI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt9PGJyIGNsYXNzPSIiPg0KJm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fTxiciBjbGFzcz0iIj4N
Ci0gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ZWxzZTxiciBjbGFz
cz0iIj4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ZWxzZSBp
ZiAoIHZpcnR1YWxpemVfeGFwaWNfbW9kZSApPGJyIGNsYXNzPSIiPg0KJm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
di0mZ3Q7YXJjaC5odm0udm14LnNlY29uZGFyeV9leGVjX2NvbnRyb2wgfD08YnIgY2xhc3M9IiI+
DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtTRUNPTkRBUllfRVhFQ19W
SVJUVUFMSVpFX0FQSUNfQUNDRVNTRVM7PGJyIGNsYXNzPSIiPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7fTxiciBjbGFzcz0iIj4NCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaW5jbHVkZS9h
c20vaHZtL2RvbWFpbi5oIGIveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2h2bS9kb21haW4uaDxi
ciBjbGFzcz0iIj4NCmluZGV4IDY5ODQ1NTQ0NGUuLjBlODg4Y2JlYmEgMTAwNjQ0PGJyIGNsYXNz
PSIiPg0KLS0tIGEveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2h2bS9kb21haW4uaDxiciBjbGFz
cz0iIj4NCisrKyBiL3hlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9odm0vZG9tYWluLmg8YnIgY2xh
c3M9IiI+DQpAQCAtMTE3LDYgKzExNywxMiBAQCBzdHJ1Y3QgaHZtX2RvbWFpbiB7PGJyIGNsYXNz
PSIiPg0KPGJyIGNsYXNzPSIiPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Ym9vbCAmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtpc19zM19zdXNwZW5k
ZWQ7PGJyIGNsYXNzPSIiPg0KPGJyIGNsYXNzPSIiPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDsvKiB4
QVBJQyBoYXJkd2FyZSBhc3Npc3RlZCBlbXVsYXRpb24uICovPGJyIGNsYXNzPSIiPg0KKyAmbmJz
cDsmbmJzcDsmbmJzcDtib29sIGFzc2lzdGVkX3hhcGljOzxiciBjbGFzcz0iIj4NCis8YnIgY2xh
c3M9IiI+DQorICZuYnNwOyZuYnNwOyZuYnNwOy8qIHgyQVBJQyBoYXJkd2FyZSBhc3Npc3RlZCBl
bXVsYXRpb24uICovPGJyIGNsYXNzPSIiPg0KKyAmbmJzcDsmbmJzcDsmbmJzcDtib29sIGFzc2lz
dGVkX3gyYXBpYzs8YnIgY2xhc3M9IiI+DQorPGJyIGNsYXNzPSIiPg0KJm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7LyogaHlwZXJ2aXNvciBpbnRlcmNlcHRlZCBtc2l4IHRhYmxlICovPGJyIGNsYXNz
PSIiPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7c3RydWN0IGxpc3RfaGVhZCAmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDttc2l4dGJsX2xpc3Q7PGJyIGNsYXNzPSIiPg0KPGJy
IGNsYXNzPSIiPg0KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni90cmFwcy5jIGIveGVuL2FyY2gv
eDg2L3RyYXBzLmM8YnIgY2xhc3M9IiI+DQppbmRleCA0ODViZDY2OTcxLi5jMjE1NjA1ODE0IDEw
MDY0NDxiciBjbGFzcz0iIj4NCi0tLSBhL3hlbi9hcmNoL3g4Ni90cmFwcy5jPGJyIGNsYXNzPSIi
Pg0KKysrIGIveGVuL2FyY2gveDg2L3RyYXBzLmM8YnIgY2xhc3M9IiI+DQpAQCAtMTExNSw3ICsx
MTE1LDggQEAgdm9pZCBjcHVpZF9oeXBlcnZpc29yX2xlYXZlcyhjb25zdCBzdHJ1Y3QgdmNwdSAq
diwgdWludDMyX3QgbGVhZiw8YnIgY2xhc3M9IiI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtpZiAoICFpc19odm1fZG9tYWluKGQpIHx8IHN1YmxlYWYg
IT0gMCApPGJyIGNsYXNzPSIiPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7YnJlYWs7PGJyIGNsYXNzPSIiPg0K
PGJyIGNsYXNzPSIiPg0KLSAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDtpZiAoIGNwdV9oYXNfdm14X2FwaWNfcmVnX3ZpcnQgKTxiciBjbGFzcz0iIj4NCisgJm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7aWYgKCBjcHVfaGFzX3ZteF9hcGlj
X3JlZ192aXJ0ICZhbXA7JmFtcDs8YnIgY2xhc3M9IiI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3YtJmd0
O2RvbWFpbi0mZ3Q7YXJjaC5odm0uYXNzaXN0ZWRfeGFwaWMgKTxiciBjbGFzcz0iIj4NCiZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwO3Jlcy0mZ3Q7YSB8PSBYRU5fSFZNX0NQVUlEX0FQSUNfQUNDRVNTX1ZJUlQ7PGJy
IGNsYXNzPSIiPg0KPGJyIGNsYXNzPSIiPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Lyo8YnIgY2xhc3M9IiI+DQpAQCAtMTEyNiw3ICsxMTI3LDggQEAg
dm9pZCBjcHVpZF9oeXBlcnZpc29yX2xlYXZlcyhjb25zdCBzdHJ1Y3QgdmNwdSAqdiwgdWludDMy
X3QgbGVhZiw8YnIgY2xhc3M9IiI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsqLzxiciBjbGFzcz0iIj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2lmICggY3B1X2hhc192bXhfdmlydHVhbGl6ZV94
MmFwaWNfbW9kZSAmYW1wOyZhbXA7PGJyIGNsYXNzPSIiPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Y3B1X2hhc192bXhfYXBpY19yZWdfdmlydCAmYW1wOyZhbXA7PGJyIGNsYXNzPSIiPg0KLSAmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDtjcHVfaGFzX3ZteF92aXJ0dWFsX2ludHJfZGVsaXZlcnkgKTxiciBjbGFzcz0i
Ij4NCisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Y3B1X2hhc192bXhfdmlydHVhbF9pbnRyX2RlbGl2ZXJ5ICZh
bXA7JmFtcDs8YnIgY2xhc3M9IiI+DQorICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3YtJmd0O2RvbWFpbi0mZ3Q7
YXJjaC5odm0uYXNzaXN0ZWRfeDJhcGljICk8YnIgY2xhc3M9IiI+DQombmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDty
ZXMtJmd0O2EgfD0gWEVOX0hWTV9DUFVJRF9YMkFQSUNfVklSVDs8YnIgY2xhc3M9IiI+DQo8YnIg
Y2xhc3M9IiI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsvKjxiciBjbGFzcz0iIj4NCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC14
ODYveGVuLmggYi94ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC14ODYveGVuLmg8YnIgY2xhc3M9IiI+
DQppbmRleCBmN2IxN2UwZjk4Li4zYzYzYzAyN2E4IDEwMDY0NDxiciBjbGFzcz0iIj4NCi0tLSBh
L3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLXg4Ni94ZW4uaDxiciBjbGFzcz0iIj4NCisrKyBiL3hl
bi9pbmNsdWRlL3B1YmxpYy9hcmNoLXg4Ni94ZW4uaDxiciBjbGFzcz0iIj4NCkBAIC0zMTcsNiAr
MzE3LDggQEAgc3RydWN0IHhlbl9hcmNoX2RvbWFpbmNvbmZpZyB7PGJyIGNsYXNzPSIiPg0KJm5i
c3A7KiBkb2Vzbid0IGFsbG93IHRoZSBndWVzdCB0byByZWFkIG9yIHdyaXRlIHRvIHRoZSB1bmRl
cmx5aW5nIE1TUi48YnIgY2xhc3M9IiI+DQombmJzcDsqLzxiciBjbGFzcz0iIj4NCiNkZWZpbmUg
WEVOX1g4Nl9NU1JfUkVMQVhFRCAoMXUgJmx0OyZsdDsgMCk8YnIgY2xhc3M9IiI+DQorI2RlZmlu
ZSBYRU5fWDg2X0FTU0lTVEVEX1hBUElDICgxdSAmbHQ7Jmx0OyAxKTxiciBjbGFzcz0iIj4NCisj
ZGVmaW5lIFhFTl9YODZfQVNTSVNURURfWDJBUElDICgxdSAmbHQ7Jmx0OyAyKTxiciBjbGFzcz0i
Ij4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3VpbnQzMl90IG1pc2NfZmxhZ3M7PGJyIGNsYXNz
PSIiPg0KfTs8YnIgY2xhc3M9IiI+DQo8YnIgY2xhc3M9IiI+DQotLSA8YnIgY2xhc3M9IiI+DQoy
LjExLjA8YnIgY2xhc3M9IiI+DQo8YnIgY2xhc3M9IiI+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ibG9j
a3F1b3RlPg0KPC9kaXY+DQo8YnIgY2xhc3M9IiI+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4N
Cg==

--_000_58C9E7E735AA47C1A3DD9FF5485B7934citrixcom_--


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 16:33:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 16:33:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261629.453169 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD7hl-0006Zp-9R; Thu, 27 Jan 2022 16:33:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261629.453169; Thu, 27 Jan 2022 16:33:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD7hl-0006Zi-6U; Thu, 27 Jan 2022 16:33:01 +0000
Received: by outflank-mailman (input) for mailman id 261629;
 Thu, 27 Jan 2022 16:33: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 1nD7hk-0006ZU-L7; Thu, 27 Jan 2022 16:33: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 1nD7hk-0004Vx-Hx; Thu, 27 Jan 2022 16:33: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 1nD7hk-0002Em-1X; Thu, 27 Jan 2022 16:33:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nD7hk-0005R1-16; Thu, 27 Jan 2022 16:33:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=y0XnZBx5Ui0ZgI1bg+WJGb9wQSojEfhtHUZ/1NsAlxM=; b=Ob1gtLBg9VUsoSCr4/dh07Y6iL
	oX3Dl2uAe0Eupeb+GRcvwRdnsLo+psu+0TryggqQHNPaM3NL3xLcMsucLZr8Gz7Z6OBKEgHr1Cjjr
	ZSsJLr8cTIbrN+sGUAV1i+dLUPZFYqTZAvnvuqXU04y8Ut4zoJmcA3Q3/s+CfCbgPkqs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167911-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 167911: 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-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=f9db6f3ab66ebc1eedac0118198480f402c20547
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 27 Jan 2022 16:33:00 +0000

flight 167911 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167911/

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-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              f9db6f3ab66ebc1eedac0118198480f402c20547
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  566 days
Failing since        151818  2020-07-11 04:18:52 Z  565 days  547 attempts
Testing same since   167911  2022-01-27 04:18:54 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>
  Ani Sinha <ani@anisinha.ca>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe Fergeau <cfergeau@redhat.com>
  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>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  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>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  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>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  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 Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas Lécureuil <neoclust@mageia.org>
  Nicolas Lécureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  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>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott 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>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  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>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Дамјан Георгиевски <gdamjan@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 94929 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 16:39:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 16:39:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261637.453180 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD7o2-0007Ou-1o; Thu, 27 Jan 2022 16:39:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261637.453180; Thu, 27 Jan 2022 16: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 1nD7o1-0007On-Uo; Thu, 27 Jan 2022 16:39:29 +0000
Received: by outflank-mailman (input) for mailman id 261637;
 Thu, 27 Jan 2022 16:39:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD7o0-0007Oh-FD
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 16:39:28 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b0861af2-7f8f-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 17:39:26 +0100 (CET)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2059.outbound.protection.outlook.com [104.47.13.59]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-28-2FRnBAsqO6eDIGH_oIdcIQ-1; Thu, 27 Jan 2022 17:39:24 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM0PR04MB5330.eurprd04.prod.outlook.com (2603:10a6:208:5d::26)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 16:39:23 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 16:39:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b0861af2-7f8f-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643301566;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=tj2ke7WSkHngM11L1o1J/VnnjX97LkyHEKI8AW/no1k=;
	b=DOeaDhn9TaY8BgR2SUruyNpDf8bJeWbFuSAfvGXyoc78r0e5PR9zQgs18Pk9fPvR9oxCNZ
	sb0ezSNmKfGjKjogxaq7EHxjFYQkNfAgR6FPMwsujFKWIVW3Y2epeN0VSV7ayHrkRe5/up
	g3qlMyqncr6SJ3xRhVa6Ii3kRvCm3VQ=
X-MC-Unique: 2FRnBAsqO6eDIGH_oIdcIQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Z36YBVAR6QYkNkZmPQ+gMCRH+DV0PhA9jn7YfdeQrKcuhkWvMGVIss9nQkxNME9l3z67VMGkK7URJ5PmGDTH6H4tXzG4J03M4lRio0DNMFhWvRd98xV07VlSyQwgFh4bVVVif+mL4UihVWtOIyxrxdeDxAB0qXCefKuLm7nwfuHn61uElcEAlOLtU6idsobuLAygYFC/NQJsdJBoYy7ut4zEUv3cm5XpZLTv39h/xh7H2yNoH8ZVfkBcuTjHJT7qMd9HL/s32wLxMiRbEfC9mgdqGkXZOFdEorwA86JuJY73b6J7J7v9GMs8GK+bDWOwVJm0A+Ap6Oh4xLgWix9f9Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tj2ke7WSkHngM11L1o1J/VnnjX97LkyHEKI8AW/no1k=;
 b=HJTS/Zh4avP3GHf9kJ1Izrze4kzWCmLbBLJsC1M1iu/SO8wqQhLVYvcLLdkl2tgvbIYG+G2OOMb45CxwbFGHzLtlce4N8k3oG7jRo4cVfqZon3XqJUjdJlOIZFBjPTkdLt4LP3MrJQ/NJlPwzhNqUUcqMqlv/G8L45Anwfx0fnco9yTGUfG2dhKLgB23yBVAGin2tA/y+rWdBQDYk4HchSE2c7D2l879joE9LrSrDgDpZ/hlb/ktYsiZiJH6Mof6QyKGyTp+MBw57OBY1wiIVHDl1v/J2eJPiFfIOK7Yk7M/5Vg9MNzbcbH+wwti7nf3rl37jo4QRXpvcWcZkAOUgA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8de571a4-0c66-cda5-bec6-60b3fc229f95@suse.com>
Date: Thu, 27 Jan 2022 17:39:21 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 1/3] x86/cpuid: Disentangle logic for new feature leaves
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220127160940.19469-1-andrew.cooper3@citrix.com>
 <20220127160940.19469-2-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220127160940.19469-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR08CA0045.eurprd08.prod.outlook.com
 (2603:10a6:20b:c0::33) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b7e71569-c637-41ef-1ef9-08d9e1b392e3
X-MS-TrafficTypeDiagnostic: AM0PR04MB5330:EE_
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB53300B7F63388BE3DB1D3AC9B3219@AM0PR04MB5330.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:
	nBhJdFeyIbHu22LmUUm+9bLDdr0JI4HXaOqovVawUoTBNouHfuG9Bnaj7qtmZew0fbz+PPbnTGFSBn1CLYiCfzq56fs78aDqc64o7K2mIKYmxjAgTR8VD8jPO5tMnt7GVu4yQ9OZPee0LdqheaTdtD/OkcBj3jk3xRDjx86nNbdASnEpyUHNwrEemEnlMQRaALLNX/M+l4nF9grOZnia3qR8A0i/Phxkc74JqFWNymcE/2+9zWsljoGgLYns8RyXVxLiOpi+01Nl2S1ssefNZOR50O+8ROds8oM9869Mr+xR6Ko8t0o/wHdrGVGSBrbAAFfPookDtsnYlCbxWUYkavQTU/1cqXaBAAnw3EQfjSjGKwjiCZl+sQrnnEACZutUYfc8ytWHxSOWHH2TjL/R/3hbsBVWXt3/H+JMlL7cxxE9DBtbSy87oRjusJKiPTKl4AP31uWbrnbiofZ7OYgifc7qF3wm37DzzTAiRWcteyUMxGvZKC0cu5FTIgDz0FDDKAwRlvZCJ6VqJAIsWqtWSIcOCh01zC++YoOrGMzV/UBA5F1T57EQhbLiYhsPC6v26ReYV0R7troZA2FPKxcTBgFlhQHuBu7Wi+R5IlFhnyhinf1+ljSiJvXJ/g+KqKUz/c4GJtVVLwMFoOo6GQLKazkVxflCooNyfBHG1+HvMcPTp5LI9LOZoMjZwjEj7jRhGrzHbhGfxv1gerur85sTw0R+A8EbgkXRAOs5i/TlME95tnz1GORx4N6YILl81gwJ
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:(13230001)(366004)(54906003)(36756003)(8676002)(6916009)(8936002)(31696002)(66946007)(5660300002)(66476007)(66556008)(38100700002)(316002)(4326008)(2616005)(26005)(186003)(6486002)(86362001)(508600001)(31686004)(53546011)(6506007)(2906002)(6512007)(83380400001)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bW9CVHZyOVFaUkEvOUh4aUZ3ZmhmUFhxbHdia0xSWHI2bFBzdDhjems5emlu?=
 =?utf-8?B?dzc3a1liYWUzdTZ6TU1iTGsxb1lVWTF2WWpyTWdhM1U4V3gyMGJZL1U1SGpo?=
 =?utf-8?B?UG5pR2k0SzU2R2x0a0I0ZDM0US9aK1JWdnZaN1BoTkt4REl4YWk1WlVEcWxh?=
 =?utf-8?B?WXV6YWR5V0V4bDBXdVIzRVZxdHN5U1dWbDdqMm1jWHBPUHFHRTRWc0IwQ3Fm?=
 =?utf-8?B?emxZcDBzdkRrNEdBM21FSkhuWWdrZEhiY3pJVnJOc2d6b1NQYmhORXJiNGpk?=
 =?utf-8?B?MU80WTE5elliUklPd2ZHZGxObGhCa2FqVHcwUVlDRjJFcjd6TzFPZlpNTUNn?=
 =?utf-8?B?R3RQeUFtb3FBZ0JkQkpiYjJ1dXFUUTRsMWlzU3RObmFvQ0plQ29qNEF5V0Vr?=
 =?utf-8?B?NVBiWnF6NHRKZmpmc2MyZytJQW9MVmRFN0M3UWNUNk1iQ3NHME9kN2xvRlNu?=
 =?utf-8?B?bFVhRUhoaThSZWkzUXR0aEc2cXd3RGNUUHo3TC95YlRQbDBXbTRhRTBJUWti?=
 =?utf-8?B?b0cwbVFPMEw3MEZsZWZmQ0MyT1JBRFdLM2V4eHd5NkRMMmZRenlKNkYySHg3?=
 =?utf-8?B?YXA5MWY0TG5IdGRxZnAyZWRDVThrdzFFVXpmV3FRUFJPY3IzY3JycDl1T2Z4?=
 =?utf-8?B?NVE2QXE2VC9BbWZORElKMjZoa1FPUHEzbFRKWGZMV0F4TjBSWDBLNFpVWkZy?=
 =?utf-8?B?ZU5rNDY0LzQ4dFRTM20xNllOSzIzQUwxNjBZc0J6NE4yclJjQTJCSFpnTGhk?=
 =?utf-8?B?bGdRVTdPcVk3ZDFMV3VtejVJRzgzWXVCbEZPL2hOaHY5cGJ4N0JjRjRaYW5G?=
 =?utf-8?B?MTUxVGdXZjFJd3lYM0VPby9sM2RpKzV5R2MyRmpVTFRLNk55TzZmSkJqV0F4?=
 =?utf-8?B?Z1BTNHVYb2ZWdmFVeGRsY2lmV0RWQU9iZGE2eERFblMwUW1rWEZQUFVMQ0tU?=
 =?utf-8?B?Z0dxbHgzdWxWQk5PY0NMRFdNeXRGZHR1VFpHM05UZ1JLRU1QQ0syRnl1d3d0?=
 =?utf-8?B?d09TOHI4eDBWZlZueUlySnprbit3SVNOd3VmcDIvRHgyTnVQTVlIUjJFK3Zh?=
 =?utf-8?B?MDhyMFd3dmlpbHRxeG1pRDV6N3VRRitFUVhjYi91TzRJZ1BJYWFNbWV3am81?=
 =?utf-8?B?LytDTzRlU09YS1V4ZHlNQ3JvODFaWkphWm9RcGpudlErdk94bERSYWo4Mlor?=
 =?utf-8?B?VjZBd3J1V0dUR3FMZmVSa1p6T01XaXZqMmR6ZE9pQTh0UW1UYTU3cE1mUjdD?=
 =?utf-8?B?dTA4T2ZMc2hOa1k2dUl5NTlnWi9iNTFPcnJjekR2b2UwTG9JNGs4Y1QxNzVT?=
 =?utf-8?B?RGZhRFdLcFg0cUo5d0JOU2ROMnkrMm5ZRnI3Q2hBMzNGcW9IcDdmaFg0WElF?=
 =?utf-8?B?WWNVMUg1SFFCZ3hOQklWU2owZjFqVHVieWc1ZEI3MFM0QVVsald0WE5sUTJ2?=
 =?utf-8?B?Zzloc1NMU25ZbVFrZ3ZLR1ZWaFJyYnNZWnY0KzhiaGxydVpWVzlxM1ovOWV0?=
 =?utf-8?B?YUpGL0JWdE85azZDWEtzeWpxYlRpYUIxZ2w5TUEzMmY3R3pacVVTbmJRdGh6?=
 =?utf-8?B?eUxISmtPWFI2VEpEMTRxbHpJSjN0NGhvOHBaanM3a2NseTVlaTFhK0NQUmdT?=
 =?utf-8?B?ODZ2OWVWeFZ1amQ0SFN4bVhGQm9RWXh0ZFdMMXBJUXY0MUliMFoyQm10aUhS?=
 =?utf-8?B?MEtycG1CRWcxb01hWkhmRlFKcCtVNi9EVzVGb1JTektSelM3bVlmSzd1a1Q0?=
 =?utf-8?B?Zzc2YWoxaHd0YkVFaVk4QUFncFhJM3lVNEszZGwrcWpWY091dG9aRWZzeEFa?=
 =?utf-8?B?eXh2ZkNmOVp0V0xzTWxOekVOR0pnN0RlT0ZlcFppOG5zNDBoNkc4TkVuUm9v?=
 =?utf-8?B?cW9JcWVHRmZrY3UzYkRLQmtVbGdjUDRWbklHSmhFSHJuSFpwOVNLV3NJVkQr?=
 =?utf-8?B?d1JuQ2g1Zm9SUlZ1YlEwVGtxWjlhRkwzQWVwNkZlSEd0dXJqbVhkdCsrWWdi?=
 =?utf-8?B?OThscGdqdGtuVERHTDhNMXVaNlV0QlNvZkNHLzArek5wZ0pTYjFvM0JpWVRP?=
 =?utf-8?B?ZXc1QTB6YVlWQm04ZWF3UWFpcDI5WnlkKzF4K1pXdU4xblg1WW15eCt3d3JU?=
 =?utf-8?B?bE1hZ0l5RkZ5QzhKbGlwSFhuZy9FbTA0eGJ5Zk1BTVNJZTBkWVRpTnVOTnc1?=
 =?utf-8?Q?55rCv9RjuS13IAu+Iuim3E8=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b7e71569-c637-41ef-1ef9-08d9e1b392e3
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 16:39:23.1889
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: QlmBNHIpS7+DsUj/0VENc0CB34ObvH/XB9Dzs82Jj7nq+ezRdqRkCUnrvEK8CfHiDvIn3CriM1VJQYMItE01zg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5330

On 27.01.2022 17:09, Andrew Cooper wrote:
> Adding a new feature leaf is a reasonable amount of boilerplate and for the
> patch to build, at least one feature from the new leaf needs defining.  This
> typically causes two non-trivial changes to be merged together.
> 
> First, have gen-cpuid.py write out some extra placeholder defines:
> 
>   #define CPUID_BITFIELD_11 bool :1, :1, lfence_dispatch:1, ...
>   #define CPUID_BITFIELD_12 uint32_t :32 /* placeholder */
>   #define CPUID_BITFIELD_13 uint32_t :32 /* placeholder */
>   #define CPUID_BITFIELD_14 uint32_t :32 /* placeholder */
>   #define CPUID_BITFIELD_15 uint32_t :32 /* placeholder */
> 
> This allows DECL_BITFIELD() to be added to struct cpuid_policy without
> requiring a XEN_CPUFEATURE() declared for the leaf.  The choice of 4 is
> arbitrary, and allows us to add more than one leaf at a time if necessary.
> 
> Second, rework generic_identify() to not use feature leaf names.
> 
> The choice of deriving the index from a feature was to avoid mismatches, but
> its correctness depends on bugs like c/s 249e0f1d8f20 ("x86/cpuid: Fix
> TSXLDTRK definition") not happening.
> 
> Switch to using FEATURESET_* just like the policy/featureset helpers.  This
> breaks the cognitive complexity of needing to know which leaf a specifically
> named feature should reside in, and is shorter to write.  It is also far
> easier to identify as correct at a glance, given the correlation with the
> CPUID leaf being read.
> 
> In addition, tidy up some other bits of generic_identify()
>  * Drop leading zeros from leaf numbers.
>  * Don't use a locked update for X86_FEATURE_APERFMPERF.
>  * Rework extended_cpuid_level calculation to avoid setting it twice.
>  * Use "leaf >= $N" consistently so $N matches with the CPUID input.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

I will admit that I'm not sure yet whether I will want to break up the
KeyLocker patch just like you did with the PPIN one.

The one thing that worries me some that there's still the unvalidated
connection between FEATURESET_* and the numbers used in the public
cpufeatureset.h. But I have no good idea (yet) for a build-time check.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 16:41:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 16:41:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261641.453192 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD7px-0000I3-Ea; Thu, 27 Jan 2022 16:41:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261641.453192; Thu, 27 Jan 2022 16:41:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD7px-0000Hu-Ai; Thu, 27 Jan 2022 16:41:29 +0000
Received: by outflank-mailman (input) for mailman id 261641;
 Thu, 27 Jan 2022 16:41:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=V/tf=SL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nD7pv-0000Hk-Pv
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 16:41:27 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f85e3856-7f8f-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 17:41:26 +0100 (CET)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01lp2055.outbound.protection.outlook.com [104.47.1.55]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-37-7MSTp4kONlecwBSPECqG2A-1; Thu, 27 Jan 2022 17:41:25 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM0PR04MB4948.eurprd04.prod.outlook.com (2603:10a6:208:ca::32)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 16:41:24 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 16:41:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f85e3856-7f8f-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643301686;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=jsjF8qmMNZ/GeMPWvbN2KvZGnmEETIHhn2jyTfZw4f8=;
	b=KUAD9RsenhWCwKncJFAEDrSWrO6Szvgod+y3xaneVTB8hGcjtwycn8F9Wa3h9gA3JEm+tV
	13+bkrPPU/3OVidmNgt5dSYECZ8AIduyAZmWAGcN3+/2p9HpRMLrck9OrMPsRRvmRhZz0W
	i6uAefHuPDW/dgx5sxE9Ih7tPZeaxw4=
X-MC-Unique: 7MSTp4kONlecwBSPECqG2A-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bOwjxsh7Ncs0B3f2ltjWK55FHzoFRdmWSDd7+iCiHKArYF4q6DsNdUgxB2yAXb5awEvfb1lHBoVUJnarM4O3GI9wzGtMZK1CikLufHf9H8AgB+7YJqcOzrC+grtChL0qm03Kymr7/jWRFh1hafxxjlB5IpdTTjD5ywm7TsnvoNML3BOM0JTNN975iuZsat15YQZrngSglNruGx2uakGqoar4Z7rHngeAPDQX6PR8KE4i01udpAx3YXjp2bAuNZIQ2lVWMzlFLm/XKjzYdn3OFqj8Mt99MYBG0wxsHJ69csbe4sIZpy9pMsfZsp0c2qfl4c9VMcaHvmS6wCdH8gqW5Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jsjF8qmMNZ/GeMPWvbN2KvZGnmEETIHhn2jyTfZw4f8=;
 b=k7FeV00spQWTTvz9To3IVLBbFSrPSZCkzKZ1yhIH1OX5FG1gawnoSGmtlzUGp/BQbrByJFuqwICqJGek20WILXyd5UuJS8p0jtwYA/Z95EDXyiG6+xiocwluUdAS2GWKLTaFC25bTpWRPZYHIEADok1M33FMfmOL66PuWW78SwSeCi7KbEDiHamV7uOvDT1WXuweqcN4zBQ6gE7IV0i6MTWAGmuHQHaDPNeoqN/xg1Y1MV/XtRXDKjkSmT6MCnv9Ljrl8Pzz+4CNF/pFJyNhGzucqE+B6FQiS9H/DkJBTYqRgRIFbAdM6TE7x7BrYPZB2h6ArFOl3zO8IKEp6CdhXA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d2405bc8-64be-206d-7d79-b06e2fdb6ae9@suse.com>
Date: Thu, 27 Jan 2022 17:41:23 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 2/3] x86/cpuid: Infrastructure for leaf 0x00000007:1.ebx
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220127160940.19469-1-andrew.cooper3@citrix.com>
 <20220127160940.19469-3-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220127160940.19469-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR0701CA0066.eurprd07.prod.outlook.com
 (2603:10a6:203:2::28) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 1fd86f19-4b56-451d-19a1-08d9e1b3db20
X-MS-TrafficTypeDiagnostic: AM0PR04MB4948:EE_
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB49486F9A4FABACDDBB2B782FB3219@AM0PR04MB4948.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:1091;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	FNnnmARnULqDNoFBFyUkYHeQhwiOd5EC9U+DlkSXkldOXYIC5NETAI8y08LlHOq6fHvVTgzdQnHbvjtFe4UVb+Hl/Xuq2iq8zCztweQ96btwBl5vLVEVOtcWb+YOwg5hOsLr2Du6f7Q3WTpYX99t0JLmqXn3/NbkHjEDsLRCUkE5UgXu7sWrckXabsP0mMfx1LTjmHOTJIvX19u9kb3eOUwWW6dqL66ztnDl7EQkWSJGNF4Usq+2P73Lio1Zu0Zs6l0iKV/bzFPGaJ1Oo2ytA2kLqIs7YAAQ4+p8WiEDhq/Qv06DlCR48I/QSmim/4LMPfcOfjGXJk9Xb73NW9Vq1xvUWLOT9eL9tcuAH3PJdLRfIiZPzsQGH76CRjIXtEv1dqGZkRxaJ8UDXL4Tm4pTC+Uu2u+2g5gBvUW1M5CrUobRGw134NGKQhXWQt5VVlrGMtnfTnmEeswWokrRY8OgNv5lO5mfQybZpVyOQLLcl8O1Pyv8/4T4JpGCfSMyh0wkETHKO7Shs5/BGk5EYRd9c6rDXUXkEhWiF0g8ePXdxYZV/pEbKG7gnX4w3yVLtWTxzPZ6sBTSOT6kviimCNxK4uZoe0v/zQqgEahzpW+mxivuk43ZxN10epqG0w3I963+d7UjIBHlpCEjSDUD7RICxAT3vOOHnZrGEfA3UbBnQjYn4oNIaaxwJolINBwOInrb2oAqq3nxrh10q9hmC5hX7XVjrHIX3o/iizqccLr28HMN5aYWg956kndW6Q3f+pfs
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:(13230001)(366004)(66946007)(4744005)(66556008)(66476007)(8676002)(36756003)(8936002)(54906003)(5660300002)(2906002)(4326008)(38100700002)(316002)(6916009)(31686004)(2616005)(6512007)(6506007)(186003)(508600001)(26005)(53546011)(6486002)(31696002)(86362001)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WE80b05RaXlQazJLVEhJb3FwNlB3UldhajBLNTFCaGhpZmt0eHdvbmJ2eDBL?=
 =?utf-8?B?Ym4xMndDeEM4TGhWRjhNV2RWdGFvc21FOFJ6ZzFRQS8yeVZHd1hGZXNvYVJ1?=
 =?utf-8?B?cXFPVDZ4azhtNkIzNXhmYW8rMUZGaWVoOGNHYjFOVjgzT0EyYkFRaWtZSktG?=
 =?utf-8?B?NWNsRDNDWnkyM1F4R0RRQmJjN1R3aGJzWUIveGVSNk1JUWl1RDRwbzRnSjdi?=
 =?utf-8?B?Z3dRZ0JuNUlyOHQvWUJYSk5rMGRnYzlwVS9xcmU1clMrQ1R2OTFrUEcwdDhG?=
 =?utf-8?B?bHBtUE8ycHJEQ0VXTU9IQW5rRThSSUs1WW9RTUR2TmVacDJSWkJVajVFRCt5?=
 =?utf-8?B?dUZNamVkL3UrU0N6MXA5TEZRYytnbFlLNDVFcDNXU2I3QTQwQ1daZ05EQXhs?=
 =?utf-8?B?KzNGL3FZbW84aU5PNWdPRFdxRWxWV3lwOFRtc29mTVRQa0RMVTI4ZjkrZDZL?=
 =?utf-8?B?bWJ5OHQ4T0lpbksrOURCME92bGUyT0hRUW1WRlBjRVFiOTg3OEFEbDdyVHdY?=
 =?utf-8?B?QXNBYUQ0L2loemtTajhyQjlYWFAzdGx3TG1NZk1LY2lhZGhDa00wRThBaGRC?=
 =?utf-8?B?Z1pPbTExNThRSHBzUWZyTkU5UDVUcEpDN2dIRUIrNU1iWEt5cGpMdEZCV296?=
 =?utf-8?B?NnE0eGdHZ1NlZVhJY1dVN0RUTzBxcW5UbWIyVndHejEyd2ZXdjlEdEtPUTk2?=
 =?utf-8?B?RFZDNXVSNkg4SUpoajQwa1BsdWQ3TTYyUWkvUUphcHJYcHlDSDc2bk1SNnJD?=
 =?utf-8?B?R25oLzVZKzd3UDdSWXBoc25Xb0VkR0p4ZFU4R0I4cmtOWHU5M3N6RlV0T3A2?=
 =?utf-8?B?dzNiOFRpdWhEOE55cGZOV2k4T2k3L3lhdnkwN3NLNG16S3pEQUV6ZGtqRE1H?=
 =?utf-8?B?ajloeEY3N0ZINjhoWjdKL3BEYTF0c3c0cTh6RS9BMVkxa0hITGJVTHBxVENT?=
 =?utf-8?B?U0J4K3IvOG1zbi85OXdoV2pwdTlDMlVaWDRtOTdsUEkwUStUMHpGLzN6OWdu?=
 =?utf-8?B?c1BxdGJmVmVYRUVpZ0djcVFMeVdVQ1NTYjZ6a0tRT3lyc2tjbVNwQUdCV3ZL?=
 =?utf-8?B?SjFsYkZQK1UxL2J3YjdxYXRTNTE5TVFxL29pRy9TRnpBNXdlMFVWc0lKamlW?=
 =?utf-8?B?dVdaN1FVUGxMbHZiK0toWjN5eFRrRFRuTjlBWjBtVVJXQy92T0diQXJFUGwr?=
 =?utf-8?B?eXdhMWJPQUJoQjFHSGFTeHhCV0hrbUhIWTVqVnBHcUZvVFNOZGFEWlpIL1N4?=
 =?utf-8?B?ZW9hUDIwNTM4Mmd3RXlHUDdaT2QvQ0hDdHk4dkh5ZGp1OUlDQzIvNlpxZmJB?=
 =?utf-8?B?enV3RTk2elFwT0dZY2p6TTFMRnY5a3VabXRLdVlNMWNTaGRCcTNTMTF0Qks1?=
 =?utf-8?B?Y2FNekFGR21iNUtTQWs4VTFjc3oxS0ZreVFmbG5CSUxrNlJHVk1YWmc3YWFi?=
 =?utf-8?B?U1RJZDlqVXRTa0hFRDNaMGpoNXp1VFIrNjN1VkRrSDhkcXFGdmlRMUpTQjda?=
 =?utf-8?B?MzYxSUJBTXpUQkRmVVVZZlkyak1udUgvMnZHK2lWV1dpY2NHMFI3MW9KREFu?=
 =?utf-8?B?T3dXWTlNdmllU2lsNTd2WEthRktoc3RKaVNsbUxsZFZDM1lvZDJobXJ2Q3pN?=
 =?utf-8?B?dXVMeTVyZUtEV3Rzb0ZPaEo2c2NNSEdtMldaOWdYSGlMWlNhUC9VZ04rZmIx?=
 =?utf-8?B?cjhXTW4rQnhHWHh4QW1uaENzcnhhTUx6Q1FrdnJ4RHhGTHdzdjBpRlJpb1Fm?=
 =?utf-8?B?UHJCK0M4MWxrdGQ4cDlFVFl0c0todlFORDlLN1FGdUVCdytYYUdMQU9TK1Vu?=
 =?utf-8?B?RXNLK25UY0Zzd0M5SDVQcUVkZjVGa2huYmtKWXg3aXNoV1FkZUdQK2Z6QzRu?=
 =?utf-8?B?SDhlRGoyVUJlTjBDd2xmcEJSM1lCSWxkVWs5SDJGRk9jT05XY1doQlVsZVhW?=
 =?utf-8?B?RHZBREh5eTV4ODJjSFJhc2FzRHViVDhJdmd1RkYzRjUrYjFMWmNTTnk1VTRI?=
 =?utf-8?B?RHJuL2xVTXB4NjZldXA5aGFLYUtlRUYrZDRZVE9iTk1NUmFldi9FekJ5ZUpR?=
 =?utf-8?B?Z3IwYlJoZmlpOSt0QlBLVlljRjZJSldMMlpsMzVIbC8xU0lzMU5VS3BlbDRp?=
 =?utf-8?B?d1pNZ0l3blhaR0hRSVRJSmZHWUwzOVdIV3krRUMxVFlLQlVYTlQ3Rm9GTElt?=
 =?utf-8?Q?WmXuZb9hLTU7/UGtSxYRhtk=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1fd86f19-4b56-451d-19a1-08d9e1b3db20
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2022 16:41:24.3220
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: SKyVp/2J7e1fCyyWJKTIyNhY+uFvm28losNPAv35KG2CgXnfT4K5fpnn7+HuH7hJxjn8TDcblOEAouWYmNDocg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4948

On 27.01.2022 17:09, Andrew Cooper wrote:
> From: Jan Beulich <jbeulich@suse.com>
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Considering what patch 1 does to the code, would you mind dropping
the 0x0000000 number prefix from the subject?

Jan



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 16:46:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 16:46:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261646.453202 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD7uk-00010x-5S; Thu, 27 Jan 2022 16:46:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261646.453202; Thu, 27 Jan 2022 16:46:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD7uk-00010q-2O; Thu, 27 Jan 2022 16:46:26 +0000
Received: by outflank-mailman (input) for mailman id 261646;
 Thu, 27 Jan 2022 16:46:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=lCdZ=SL=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1nD7uj-00010k-NP
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 16:46:25 +0000
Received: from ppsw-33.csi.cam.ac.uk (ppsw-33.csi.cam.ac.uk [131.111.8.133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a87ad9cc-7f90-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 17:46:24 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:51318)
 by ppsw-33.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.137]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1nD7uf-0002XG-ij (Exim 4.95) (return-path <amc96@srcf.net>);
 Thu, 27 Jan 2022 16:46:21 +0000
Received: from [192.168.1.10] (host-92-12-61-86.as13285.net [92.12.61.86])
 (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 9BA0E1FBE5;
 Thu, 27 Jan 2022 16:46:21 +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: a87ad9cc-7f90-11ec-8eb8-a37418f5ba1a
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <40e4f34a-9124-1312-02ab-1c7e457aa1cc@srcf.net>
Date: Thu, 27 Jan 2022 16:46:21 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220127160940.19469-1-andrew.cooper3@citrix.com>
 <20220127160940.19469-2-andrew.cooper3@citrix.com>
 <8de571a4-0c66-cda5-bec6-60b3fc229f95@suse.com>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: [PATCH 1/3] x86/cpuid: Disentangle logic for new feature leaves
In-Reply-To: <8de571a4-0c66-cda5-bec6-60b3fc229f95@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27/01/2022 16:39, Jan Beulich wrote:
> On 27.01.2022 17:09, Andrew Cooper wrote:
>> Adding a new feature leaf is a reasonable amount of boilerplate and for the
>> patch to build, at least one feature from the new leaf needs defining.  This
>> typically causes two non-trivial changes to be merged together.
>>
>> First, have gen-cpuid.py write out some extra placeholder defines:
>>
>>   #define CPUID_BITFIELD_11 bool :1, :1, lfence_dispatch:1, ...
>>   #define CPUID_BITFIELD_12 uint32_t :32 /* placeholder */
>>   #define CPUID_BITFIELD_13 uint32_t :32 /* placeholder */
>>   #define CPUID_BITFIELD_14 uint32_t :32 /* placeholder */
>>   #define CPUID_BITFIELD_15 uint32_t :32 /* placeholder */
>>
>> This allows DECL_BITFIELD() to be added to struct cpuid_policy without
>> requiring a XEN_CPUFEATURE() declared for the leaf.  The choice of 4 is
>> arbitrary, and allows us to add more than one leaf at a time if necessary.
>>
>> Second, rework generic_identify() to not use feature leaf names.
>>
>> The choice of deriving the index from a feature was to avoid mismatches, but
>> its correctness depends on bugs like c/s 249e0f1d8f20 ("x86/cpuid: Fix
>> TSXLDTRK definition") not happening.
>>
>> Switch to using FEATURESET_* just like the policy/featureset helpers.  This
>> breaks the cognitive complexity of needing to know which leaf a specifically
>> named feature should reside in, and is shorter to write.  It is also far
>> easier to identify as correct at a glance, given the correlation with the
>> CPUID leaf being read.
>>
>> In addition, tidy up some other bits of generic_identify()
>>  * Drop leading zeros from leaf numbers.
>>  * Don't use a locked update for X86_FEATURE_APERFMPERF.
>>  * Rework extended_cpuid_level calculation to avoid setting it twice.
>>  * Use "leaf >= $N" consistently so $N matches with the CPUID input.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks.

>
> I will admit that I'm not sure yet whether I will want to break up the
> KeyLocker patch just like you did with the PPIN one.
>
> The one thing that worries me some that there's still the unvalidated
> connection between FEATURESET_* and the numbers used in the public
> cpufeatureset.h. But I have no good idea (yet) for a build-time check.

I was also struggling with that.  One thing I considered was having some
semantic structure to

/* Intel-defined CPU features, CPUID level 0x00000007:1.ebx, word 12 */

and have FEATURESET_* written automatically too, but I can't think of a
nice way of organising this right now.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 17:06:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 17:06:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261650.453214 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD8E9-0003Vu-RU; Thu, 27 Jan 2022 17:06:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261650.453214; Thu, 27 Jan 2022 17:06:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD8E9-0003Vn-NY; Thu, 27 Jan 2022 17:06:29 +0000
Received: by outflank-mailman (input) for mailman id 261650;
 Thu, 27 Jan 2022 17:06: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 1nD8E8-0003Vd-Gx; Thu, 27 Jan 2022 17:06: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 1nD8E8-0005Ad-Ea; Thu, 27 Jan 2022 17:06: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 1nD8E7-0003Yv-TB; Thu, 27 Jan 2022 17:06:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nD8E7-0008Td-Sh; Thu, 27 Jan 2022 17:06: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=GmbsL1D2sJYcOjqe7oRMK1kNq45nZ2LFD3qyWHWPmQ4=; b=eNiCWMCaONhCCFSIwP3cczDIvX
	kFneNuLldH95KutYuPfUCn/PMd833bTSQBLIh6XCxCMngf5Agl74KuT/SpMRmygAqWInMduXrMt5M
	aheNiDBApTyHnITtH0wrhIq26WAkDaFstf0IpCl+xghiecdE55Dj8UwC+uwqLA7h8ztg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167918-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 167918: 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=0bdc43c8dec993258e930b34855853c22b917519
X-Osstest-Versions-That:
    xen=9480a1a519cf016623f657dc544cb372a82b5708
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 27 Jan 2022 17:06:27 +0000

flight 167918 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167918/

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                  0bdc43c8dec993258e930b34855853c22b917519
baseline version:
 xen                  9480a1a519cf016623f657dc544cb372a82b5708

Last test of basis   167819  2022-01-25 16:00:27 Z    2 days
Testing same since   167918  2022-01-27 13:01:40 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  James Dingwall <james-xen@dingwall.me.uk>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
  Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   9480a1a519..0bdc43c8de  0bdc43c8dec993258e930b34855853c22b917519 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 17:09:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 17:09:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261658.453224 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD8Ge-0004Dn-8e; Thu, 27 Jan 2022 17:09:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261658.453224; Thu, 27 Jan 2022 17: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 1nD8Ge-0004Dg-5e; Thu, 27 Jan 2022 17:09:04 +0000
Received: by outflank-mailman (input) for mailman id 261658;
 Thu, 27 Jan 2022 17:09:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hoeX=SL=redhat.com=snitzer@srs-se1.protection.inumbo.net>)
 id 1nD8Gc-0004DY-OI
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 17:09:02 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d21c2c1f-7f93-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 18:09:01 +0100 (CET)
Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com
 [209.85.222.199]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-628-IHRx5PcGO02aAYTFTYg3kw-1; Thu, 27 Jan 2022 12:08:58 -0500
Received: by mail-qk1-f199.google.com with SMTP id
 b189-20020a3780c6000000b0047b06f34f4cso2801843qkd.17
 for <xen-devel@lists.xenproject.org>; Thu, 27 Jan 2022 09:08:58 -0800 (PST)
Received: from localhost (pool-68-160-176-52.bstnma.fios.verizon.net.
 [68.160.176.52])
 by smtp.gmail.com with ESMTPSA id a141sm1694826qkc.73.2022.01.27.09.08.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 27 Jan 2022 09:08:57 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d21c2c1f-7f93-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1643303340;
	h=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=kAV23rTMcuty4CJFZ8o8ysOxnvRFj2DI1yB1mT746og=;
	b=QU+UARpVft1TH4Ycj9CFqX254OOzM8EVrl3ZtSl6Dm32JTefsVBZbhy/HPfFFespA+mbTR
	N92inGTPutQzpsDrmtG8FbGj739lvdaM7u5zo/Los13xUSThaZNJ09o4q0S2CfBUaczQ+J
	pX2caUc1wui+XiRXE/spsU6KvZ7L4xc=
X-MC-Unique: IHRx5PcGO02aAYTFTYg3kw-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:date:from:to:cc:subject:message-id:references
         :mime-version:content-disposition:in-reply-to;
        bh=kAV23rTMcuty4CJFZ8o8ysOxnvRFj2DI1yB1mT746og=;
        b=uOm8hPIyNsGPTnnkiH1HtqC61Uee4s/+tvm6Q/XbGf11JX5MgFFiau1Ay6X96AAqX0
         /DCdO8+NF1xcczqycXzppG5PJNyXfJc7XvPF7FNeIxD+Q6MUaHRJSLozDfNj70QH1IyQ
         sALYnl5cszxK0QybKJKzQSw4ZIcAeuldcPm0oGwE9rsCupB0HkKGsDl45he4AhbPlVws
         VTlaOijNi+FPzSwDMnbRR4v5H4gS5ey2QodC7UYyjt14Jc5zEoAmv4Nb2141GRdpdAaQ
         xASk0GSn7xDTvMFyvqcSlFnV1a6D4oAtd05fw3tLXJ8c2LFnH15mJYAqPTKcw+dRCXtW
         EaEg==
X-Gm-Message-State: AOAM533oHJZSwnx4ajNbtWRX0PFAE789z3nlOppn14M228txTfb/dsrn
	qd7SmYcSDo+YW8f4PyFbba7Ra0MJfcktuB5pCHUZn/q9b7VlrQw3nAprAGWyceNp6DvHwqBjYW7
	wOl/DUEBIy9RcE1fkzOYuBJb20Q==
X-Received: by 2002:ac8:44c9:: with SMTP id b9mr3555329qto.524.1643303338471;
        Thu, 27 Jan 2022 09:08:58 -0800 (PST)
X-Google-Smtp-Source: ABdhPJyDu0k2yM0Z7B8jNmnNXJFkDazruS7TZzFMNaHKbWmY0JBs9tIC0IfQuLij5Gmty6LtXXG+Yw==
X-Received: by 2002:ac8:44c9:: with SMTP id b9mr3555294qto.524.1643303338263;
        Thu, 27 Jan 2022 09:08:58 -0800 (PST)
Date: Thu, 27 Jan 2022 12:08:56 -0500
From: Mike Snitzer <snitzer@redhat.com>
To: Christoph Hellwig <hch@lst.de>
Cc: Jens Axboe <axboe@kernel.dk>, Pavel Begunkov <asml.silence@gmail.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org, dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org, linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org, ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org, drbd-dev@lists.linbit.com
Subject: Re: [PATCH 05/19] dm: bio_alloc can't fail if it is allowed to sleep
Message-ID: <YfLRqCMAhLH8xhDD@redhat.com>
References: <20220124091107.642561-1-hch@lst.de>
 <20220124091107.642561-6-hch@lst.de>
MIME-Version: 1.0
In-Reply-To: <20220124091107.642561-6-hch@lst.de>
Authentication-Results: relay.mimecast.com;
	auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=snitzer@redhat.com
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Mon, Jan 24 2022 at  4:10P -0500,
Christoph Hellwig <hch@lst.de> wrote:

> Remove handling of NULL returns from sleeping bio_alloc calls given that
> those can't fail.
> 
> Signed-off-by: Christoph Hellwig <hch@lst.de>

Acked-by: Mike Snitzer <snitzer@redhat.com>



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 17:09:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 17:09:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261662.453236 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD8HK-0004mk-Jx; Thu, 27 Jan 2022 17:09:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261662.453236; Thu, 27 Jan 2022 17: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 1nD8HK-0004md-FM; Thu, 27 Jan 2022 17:09:46 +0000
Received: by outflank-mailman (input) for mailman id 261662;
 Thu, 27 Jan 2022 17:09:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hoeX=SL=redhat.com=snitzer@srs-se1.protection.inumbo.net>)
 id 1nD8HJ-0004ZA-6q
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 17:09:45 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eace3e4f-7f93-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 18:09:43 +0100 (CET)
Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com
 [209.85.219.69]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-17-vcqnUuqAN4qzlNijow4jkg-1; Thu, 27 Jan 2022 12:09:37 -0500
Received: by mail-qv1-f69.google.com with SMTP id
 iv13-20020ad45ced000000b004248c87cc4cso3750898qvb.10
 for <xen-devel@lists.xenproject.org>; Thu, 27 Jan 2022 09:09:37 -0800 (PST)
Received: from localhost (pool-68-160-176-52.bstnma.fios.verizon.net.
 [68.160.176.52])
 by smtp.gmail.com with ESMTPSA id i8sm1628636qti.52.2022.01.27.09.09.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 27 Jan 2022 09:09:36 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eace3e4f-7f93-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1643303381;
	h=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=+dhUoO5mtU5C6v7W8MZ+6HMQJZitoVQcF/qB+IF1Jr0=;
	b=iqZwwK30l7CDia1+L6TyOX78TJGh777QRB7HIqQCgyBv2L68CLt4FXEBkuy9Eu2uBf8uV5
	QT1RNH9hptiXMInzgIqbnfWB9aj+Mu9pqkX9ntG7/TWIM+/Ffqvyweq73ETk4A5QybIiGB
	CiGgb7wr5SfeI0CpBNG+8U/3Oce9ZOc=
X-MC-Unique: vcqnUuqAN4qzlNijow4jkg-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:date:from:to:cc:subject:message-id:references
         :mime-version:content-disposition:in-reply-to;
        bh=+dhUoO5mtU5C6v7W8MZ+6HMQJZitoVQcF/qB+IF1Jr0=;
        b=Gb7uOtbah0rJl37WBGqf4yLNC/j6vtvDhSTNDJkB52p3HRF6nO3NAJqtItBA4gRoZd
         gUsExzphGf5r7FRCiamLd71auuYbDZDppP8Zm9ZKOBvDR3RD4swi21Drf5rGaHctMkyq
         8y8eSIdVF1ziUBhyyfBJyryobKWSMdQaBKbGrV+wREL7ZdO2on1X6VcJORbV5/mPq4SD
         MhU4Euhm3kYx3gwGMDAlLdEohlyUGZnHRLpSbqdYZ9k00xBM//wFTyptBMD+8b4QmlIf
         yutavk7vyfs7G31H0Jmd6rCYCeyUj4vzybMU3xg5/sl9PDogIOWBltfo6iRDY59P4pc5
         XTmA==
X-Gm-Message-State: AOAM533f8v4bZs0KgbRLvqf9wcLyRF5g5gTZ4qvI54y+/tWbsRHVq705
	C9+izHoI4xGMXjf53yHcMGBiHyphu4G8fJqgysmggYiQh3Qnhv0XpCpqRwY8wMhCpksntb5hoeu
	lOB9/bwVeUH4SoO5A/+HBHsoPLg==
X-Received: by 2002:a05:620a:1671:: with SMTP id d17mr3422679qko.683.1643303377469;
        Thu, 27 Jan 2022 09:09:37 -0800 (PST)
X-Google-Smtp-Source: ABdhPJyie4bqi26jfgNY8Cjw+Pn5xYBOKV6NvnkIoBYF0/ZaizWWrCUD9ZTrfOlIA4zvFGF0i2/RFw==
X-Received: by 2002:a05:620a:1671:: with SMTP id d17mr3422658qko.683.1643303377286;
        Thu, 27 Jan 2022 09:09:37 -0800 (PST)
Date: Thu, 27 Jan 2022 12:09:36 -0500
From: Mike Snitzer <snitzer@redhat.com>
To: Christoph Hellwig <hch@lst.de>
Cc: Jens Axboe <axboe@kernel.dk>, Pavel Begunkov <asml.silence@gmail.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org, dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org, linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org, ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org, drbd-dev@lists.linbit.com
Subject: Re: [PATCH 06/19] dm-crypt: remove clone_init
Message-ID: <YfLR0DPcDOYO65Hp@redhat.com>
References: <20220124091107.642561-1-hch@lst.de>
 <20220124091107.642561-7-hch@lst.de>
MIME-Version: 1.0
In-Reply-To: <20220124091107.642561-7-hch@lst.de>
Authentication-Results: relay.mimecast.com;
	auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=snitzer@redhat.com
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Mon, Jan 24 2022 at  4:10P -0500,
Christoph Hellwig <hch@lst.de> wrote:

> Just open code it next to the bio allocations, which saves a few lines
> of code, prepares for future changes and allows to remove the duplicate
> bi_opf assignment for the bio_clone_fast case in kcryptd_io_read.
> 
> Signed-off-by: Christoph Hellwig <hch@lst.de>

Acked-by: Mike Snitzer <snitzer@redhat.com>



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 17:11:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 17:11:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261666.453246 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD8Ii-00069G-T3; Thu, 27 Jan 2022 17:11:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261666.453246; Thu, 27 Jan 2022 17:11:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD8Ii-000699-Q0; Thu, 27 Jan 2022 17:11:12 +0000
Received: by outflank-mailman (input) for mailman id 261666;
 Thu, 27 Jan 2022 17:11:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hoeX=SL=redhat.com=snitzer@srs-se1.protection.inumbo.net>)
 id 1nD8Ih-000690-E1
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 17:11:11 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1f12f973-7f94-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 18:11:10 +0100 (CET)
Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com
 [209.85.222.197]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-287-3NJ8pzutNG6bGdvbnKgABg-1; Thu, 27 Jan 2022 12:11:08 -0500
Received: by mail-qk1-f197.google.com with SMTP id
 i26-20020a05620a075a00b0047ec29823c0so2854043qki.6
 for <xen-devel@lists.xenproject.org>; Thu, 27 Jan 2022 09:11:08 -0800 (PST)
Received: from localhost (pool-68-160-176-52.bstnma.fios.verizon.net.
 [68.160.176.52])
 by smtp.gmail.com with ESMTPSA id h6sm1661870qtx.43.2022.01.27.09.11.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 27 Jan 2022 09:11:06 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1f12f973-7f94-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1643303469;
	h=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=hISkPgWXBvxaPJR1A6cjvL239jVaZB/M99kE10NpdT4=;
	b=T+O7ZF/7JwGOGUIvTZg6eaQYi/o72n7QCPHbJSfgPmX6HDEXWnmZUPSVEdm8lDarNlmoJQ
	GhtzkmbItddRzZOso6KBieqZ7OBdv9/4kj0uaa5kTqtOwbux3JqkjCuyDbpdZkqKk5FAVM
	VrNTQbAElD3bR/3I/u1QNS555vRbMQw=
X-MC-Unique: 3NJ8pzutNG6bGdvbnKgABg-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:date:from:to:cc:subject:message-id:references
         :mime-version:content-disposition:in-reply-to;
        bh=hISkPgWXBvxaPJR1A6cjvL239jVaZB/M99kE10NpdT4=;
        b=cNz83ebMVJDKka7OtkmkKjcypKnZWbrvxcoo2mbbJmRo4e1NRqAvPoKSE0Y+RBgfwG
         hsztCp/9Rtq1j5Gg7mg6vg1tz0/pE0zt2rblHh3P7paIun2A0N0rNXSSlBPJmxxM5KIL
         jvamVmcorr37AscJRpw/TraoDgT3sI+aQ6AoVxSY3i6al887cb/xMe0aDGokZ5f28zRh
         /Ejd/P+0l5317Pm90tyfvj8QGv7HjpqPYL/T3ylWxwGWaE6JVQWcv3N9jxDx8BZpv9H8
         W7dnvhj432qREY4n93PMP/U4nXPg1tp1SYRQrnVp2EZXwqS3P/rgSksVibCVcKNdt+4e
         tBmg==
X-Gm-Message-State: AOAM531MkI0SpZgOfgp9pVnzsYBj/prLEIzJQ3PJegnMPxe/MyYH6tyk
	9AtZRGilpecyaU2PWDf/dR1Ih/5JJYJWZdtOQeCTWktJ6a9gHhB7ReAgOYkhrXoBO6qgHkJSCWJ
	rkLgN7BDeCJdRaTZMS55YdwrIqw==
X-Received: by 2002:a05:6214:c2a:: with SMTP id a10mr4419652qvd.42.1643303467584;
        Thu, 27 Jan 2022 09:11:07 -0800 (PST)
X-Google-Smtp-Source: ABdhPJwQanMj7Y00ur/yzuLmY8gwfKPDXJeoixdwOU4KzNAVApl7lAtazZ8/rD9LIFjZrTulwd1nlg==
X-Received: by 2002:a05:6214:c2a:: with SMTP id a10mr4419637qvd.42.1643303467335;
        Thu, 27 Jan 2022 09:11:07 -0800 (PST)
Date: Thu, 27 Jan 2022 12:11:06 -0500
From: Mike Snitzer <snitzer@redhat.com>
To: Christoph Hellwig <hch@lst.de>
Cc: Jens Axboe <axboe@kernel.dk>, Pavel Begunkov <asml.silence@gmail.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org, dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org, linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org, ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org, drbd-dev@lists.linbit.com
Subject: Re: [PATCH 07/19] dm-snap: use blkdev_issue_flush instead of open
 coding it
Message-ID: <YfLSKlF89y3Cbf+S@redhat.com>
References: <20220124091107.642561-1-hch@lst.de>
 <20220124091107.642561-8-hch@lst.de>
MIME-Version: 1.0
In-Reply-To: <20220124091107.642561-8-hch@lst.de>
Authentication-Results: relay.mimecast.com;
	auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=snitzer@redhat.com
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Mon, Jan 24 2022 at  4:10P -0500,
Christoph Hellwig <hch@lst.de> wrote:

> Use blkdev_issue_flush, which uses an on-stack bio instead of an
> opencoded version with a bio embedded into struct dm_snapshot.
> 
> Signed-off-by: Christoph Hellwig <hch@lst.de>

Acked-by: Mike Snitzer <snitzer@redhat.com>



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 17:11:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 17:11:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261670.453258 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD8JG-0006hQ-5i; Thu, 27 Jan 2022 17:11:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261670.453258; Thu, 27 Jan 2022 17: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 1nD8JG-0006hJ-2O; Thu, 27 Jan 2022 17:11:46 +0000
Received: by outflank-mailman (input) for mailman id 261670;
 Thu, 27 Jan 2022 17:11:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hoeX=SL=redhat.com=snitzer@srs-se1.protection.inumbo.net>)
 id 1nD8JF-0006cx-Il
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 17:11:45 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 33a248b6-7f94-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 18:11:44 +0100 (CET)
Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com
 [209.85.222.197]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-523-zrwZWRM7P4S01hhQ_Am24A-1; Thu, 27 Jan 2022 12:11:42 -0500
Received: by mail-qk1-f197.google.com with SMTP id
 a127-20020a37b185000000b004789e386256so2851887qkf.8
 for <xen-devel@lists.xenproject.org>; Thu, 27 Jan 2022 09:11:42 -0800 (PST)
Received: from localhost (pool-68-160-176-52.bstnma.fios.verizon.net.
 [68.160.176.52])
 by smtp.gmail.com with ESMTPSA id w8sm119796qti.21.2022.01.27.09.11.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 27 Jan 2022 09:11:41 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 33a248b6-7f94-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1643303503;
	h=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=xtKZnu3m4MJ1lsPgVyhgN06mFCH9uLK+At7c0q3e4j8=;
	b=LN8FAamK45sm6noJKUN6tg+JuKEjFXTHjCz0Gz3hQXd7xEnG8vCRHb6CYG8/0sito9KieR
	EoA3uFroRZoPvlL+SDdS4cbDbrpWlWUd6YK5HZdf/U3wzh4GlyqcSS/9tB/oQEndPVNawx
	37imUkamyk+Z/2GOH1G55UuYiAToeOc=
X-MC-Unique: zrwZWRM7P4S01hhQ_Am24A-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:date:from:to:cc:subject:message-id:references
         :mime-version:content-disposition:in-reply-to;
        bh=xtKZnu3m4MJ1lsPgVyhgN06mFCH9uLK+At7c0q3e4j8=;
        b=i0AGaALR64Rz/J4cgq0x0M8XciwHId0mkXXWw7GkbcY7px6G4NSd89rW6AWf4eB1vl
         Ys8fkYg+1LWwqMZVTKqMbZq4wmSQJk7/N+QiKY+vyvhOnxd0KzRPswh/U7ViF/gHNVlb
         n3/K+hWhAkJiB8F9Qp9lNI3XBlMyLk0RcxgPyGSNpA6kV6hEyQwPMtEUfztAg7t7a+2p
         h2dpD9SoKzzHY4U4BGcr5y6mscdfDj9OHVlO7fSMUIro6LqLl8ZOwbIIMQmB1PqVm8uU
         u449gDXnPhSZJ4xVqntIoImRLBUYQ8JlewezcVeT6GFHQrmn4yKAwpMi1rkMaxI4bOmQ
         +jKg==
X-Gm-Message-State: AOAM530w0sGN+INcBVl0ArWpDv1I3io738tdmHDpk/3UScRZIYeLCNGX
	hBw5/ayEIZYHsLXqtldw9fY9XNO5uuV8Zrt49woNpREVhKAdiZUVVsqcMlWwb/Fpm7HRtBIB7FY
	3m94w1OkyfocQZ8dmhuzvgrmeVg==
X-Received: by 2002:ad4:5968:: with SMTP id eq8mr3808178qvb.80.1643303501894;
        Thu, 27 Jan 2022 09:11:41 -0800 (PST)
X-Google-Smtp-Source: ABdhPJztPCW/ls/HGsD9xe/WMaahh4UjrJsfEVpwqwRI5tHMnXcgyiZLuuvrhgvmY/MRUsNQeYYfvQ==
X-Received: by 2002:ad4:5968:: with SMTP id eq8mr3808154qvb.80.1643303501730;
        Thu, 27 Jan 2022 09:11:41 -0800 (PST)
Date: Thu, 27 Jan 2022 12:11:40 -0500
From: Mike Snitzer <snitzer@redhat.com>
To: Christoph Hellwig <hch@lst.de>
Cc: Jens Axboe <axboe@kernel.dk>, Pavel Begunkov <asml.silence@gmail.com>,
	Ryusuke Konishi <konishi.ryusuke@gmail.com>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Md . Haris Iqbal " <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.co>,
	Philipp Reisner <philipp.reisner@linbit.com>,
	Lars Ellenberg <lars.ellenberg@linbit.com>,
	linux-block@vger.kernel.org, dm-devel@redhat.com,
	linux-fsdevel@vger.kernel.org, linux-nfs@vger.kernel.org,
	linux-nilfs@vger.kernel.org, ntfs3@lists.linux.dev,
	xen-devel@lists.xenproject.org, drbd-dev@lists.linbit.com
Subject: Re: [PATCH 08/19] dm-thin: use blkdev_issue_flush instead of open
 coding it
Message-ID: <YfLSTPB7UUZKqQKL@redhat.com>
References: <20220124091107.642561-1-hch@lst.de>
 <20220124091107.642561-9-hch@lst.de>
MIME-Version: 1.0
In-Reply-To: <20220124091107.642561-9-hch@lst.de>
Authentication-Results: relay.mimecast.com;
	auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=snitzer@redhat.com
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Mon, Jan 24 2022 at  4:10P -0500,
Christoph Hellwig <hch@lst.de> wrote:

> Use blkdev_issue_flush, which uses an on-stack bio instead of an
> opencoded version with a bio embedded into struct pool.
> 
> Signed-off-by: Christoph Hellwig <hch@lst.de>

Acked-by: Mike Snitzer <snitzer@redhat.com>



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 17:19:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 17:19:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261675.453268 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD8QP-0007a2-26; Thu, 27 Jan 2022 17:19:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261675.453268; Thu, 27 Jan 2022 17:19:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD8QO-0007Zv-VC; Thu, 27 Jan 2022 17:19:08 +0000
Received: by outflank-mailman (input) for mailman id 261675;
 Thu, 27 Jan 2022 17:19:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OY7K=SL=epam.com=prvs=3026043c18=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1nD8QN-0007Zp-GX
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 17:19:07 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3a3b6d23-7f95-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 18:19:05 +0100 (CET)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20RGRkeT023275;
 Thu, 27 Jan 2022 17:18:56 GMT
Received: from eur04-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2058.outbound.protection.outlook.com [104.47.14.58])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3duxxbg6de-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 27 Jan 2022 17:18:56 +0000
Received: from PAXPR03MB7594.eurprd03.prod.outlook.com (2603:10a6:102:201::14)
 by DB7PR03MB3849.eurprd03.prod.outlook.com (2603:10a6:5:30::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 17:18:52 +0000
Received: from PAXPR03MB7594.eurprd03.prod.outlook.com
 ([fe80::157a:fb23:aa6c:f0f6]) by PAXPR03MB7594.eurprd03.prod.outlook.com
 ([fe80::157a:fb23:aa6c:f0f6%6]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022
 17:18:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3a3b6d23-7f95-11ec-8eb8-a37418f5ba1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZnoF9JZr0q+iPbQTjj7pYIDTovIFaNklEEiVLHtMMJ9XYH24NRywqp5sqM+dEFNs/TrKb5qdTxZlwO6dklL4fWQl98oux24r3HJ10JWrKlAuuD+WQ+KSrNfXtAOdZ6DSRhbaM5n7ifQ1Xp+L7Rfxjr7u/e0ZrQdXxXs1xPWThXllfv7jXItcPM8Cc5n17uixecS1itphY1+PbDXd8976q5lf7R47n1iE5XwYvi/Eh0WACXXp5k7wPXYAFJLoPEqREXYrf33aEJCnGiXZjqWNSjMLJIs7f5awsLEBEvfBLsI11jyAiLS6O3oylGvH3jsP0DB0MIdkOJq7wwqfNiVytA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9kT+KpM4dXYi6LOx5cIQab4cJkY5Y7hJY7aMajLxK1Q=;
 b=Nw0ARgZpLWMgQ1SqlIi/jXvvnLGx+6fX7mEOKv6mGR2ImimWWyOX9m5W9NvbjXEuZdhQfFnhsYHTh5zBHOxzJ1fa8/fZkqXW/U1aPZQAaVTUxm1hh1Ka4Bg8i2m5eWoUU72rU/XeSrNH4hVwYCD5qNzgiC1J9cLJqS5szCKq4DqrPnREaX6oBV8h2bRKxZWk5abPeqSNHkVCYe7FQ8uGOvvEv3cvT5HhvXA38V4u/l47BcTibJogMjGwvt+t1qTcPfxTmALdfO5XVOZULemgTNmooPY64KCG1hwJggtWTh5MoqVzzIHydhNUG3gCTdG5p3RufHZv3zRQhlmxntKy7A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9kT+KpM4dXYi6LOx5cIQab4cJkY5Y7hJY7aMajLxK1Q=;
 b=PRyxypc2li4FrsTyqbdoovgYAAG2SoPSVOn1YXvIG4soj556G66BHDlf7uCfRs0NmrYiwh3PXxlmSd6KZxVg3iOM8hvZCp5iklw8FfX8mGHGHKbw4JS23ATIxC8JzVGHcXgzDhiVAcnYvnr5UQJkur5qiWwSkG2J0OW9z0AuoyauKhOZxDqtGa6OtWeEaEwvGjOWSUHtjLaLToxjWLpB+Qvfiqf3BiFNqjhhrwlXuKdq7E5f8BX1YAjxzcCGXKj0Aa7MdPqrp1p+eGN54j46DTUCMG81vUzDxW3tcjXQZmrr3HbWgiXgW2ZxMD2SiyrsEy7wOi3R5VecnEmk0CyjWw==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        Stefano
 Stabellini <sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Bertrand
 Marquis <bertrand.marquis@arm.com>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH] xen/serial: scif: add support for HSCIF
Thread-Topic: [PATCH] xen/serial: scif: add support for HSCIF
Thread-Index: AQHYE59f1kOdWDtKEkSxzzo4QkJiKqx3HBKA
Date: Thu, 27 Jan 2022 17:18:52 +0000
Message-ID: <87ee4tgkr3.fsf@epam.com>
References: <20220127170008.271723-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20220127170008.271723-1-volodymyr_babchuk@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.6.5; emacs 27.2
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 610e6dc9-ef3e-4bea-f551-08d9e1b9171c
x-ms-traffictypediagnostic: DB7PR03MB3849:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <DB7PR03MB3849509692B843208C83B4F7E6219@DB7PR03MB3849.eurprd03.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: 
 E1Ja9psMJCAU2vIf0aSgDUcXF37WUGsqdnP/r/qg0U8xyTxe9chJv+8OWbkfh7ulkrBerLvH8m4vk8cZG/4RMcYBtFCl9ufYHrYdaDoHmJhlK29SaqB2oEBND2XZYqqRTvKyB43KoMG1AddiBT5R2bvYBLgzMfRZXOZD5A8WcuuwyZmuS0VVpfyj4Bu0WnyvtEatbU6Jme/D/ik0SaxIA2qjQrvzmAbPJYsWK19FBoQ/oYRLTRvw9dMVocmYHJxW0oHoBCSjfB7JpS+m2P6bxiQcl3CQL9hA2cWB45IkFuW7LCAAHxCQJQWEIGSQgaA0eRiJmMa14Tu+nkwSN5uGnV+GrIiyFfZqg0MTWcK9MpAAgDnzm4F5CoLaajVadTQJF+pnrOUEj2gvB6BPeqkmWq/mlym6yi8ycv/D09X2Nycp+COggqyPk3iweeWe+PtI/Zs4BAgGpRi376FotLL8MC3Fkz8tsI8RHn0qPB/FYMry2n9yEPTL4utd7PHZV3+/WmU1uaKj7YCqc17l0symE73kQ3StV7uWR8OMbp3nN6OIuy1W6yA5WEvtLeuC1TmR/nGwcdzFYp9w0aiTfHSSIlSnZguBM4ZMfCazRvSDiAfMi4kcIxhmIOoakRziGI21CMeErSjlqHU8FywpdSO9Mzj6wIX7q+YMuEgH24WFHLSOK4lJ2ToAwALpXUFnoUQ7M5FT42QtViHkEX2suiYYVQ==
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR03MB7594.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(38100700002)(2906002)(110136005)(2616005)(6486002)(36756003)(508600001)(122000001)(107886003)(6636002)(76116006)(66476007)(55236004)(38070700005)(64756008)(4326008)(8936002)(8676002)(71200400001)(26005)(86362001)(186003)(6512007)(66446008)(6506007)(91956017)(316002)(66946007)(66556008)(5660300002)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?DNmHSbWLCe7XQ448fGhBSPbRpvM5QZrKqVZwRk3R4vtbuHXcaLr/l/uEAY?=
 =?iso-8859-1?Q?P0Y6owxuEcZAjryDithgldoCmJizigD/uuhTev1yRs7WmrbQ9IRDRPCf+s?=
 =?iso-8859-1?Q?jTdbr/Pt7bOav8NuyqIKH6Q7nRPIWnZYFqqsHQ82qcJE9iOxqluOHlzN7k?=
 =?iso-8859-1?Q?E3knzfDlDhuKuV4/2kBWRhu912/HlsASl4PtSL5vFJmjkh2mVLT6YfGDnU?=
 =?iso-8859-1?Q?kBWBU1OjCd4WLrDOn+m872Q+UMN5UnXByqju7Uv2hqIiJ6uwUWBszSE5m1?=
 =?iso-8859-1?Q?yNp3azJH301W1vXDBkqw+qlEhiwOV+8gZb8Ir2aCdd1lDKBJAI2vsGN0f6?=
 =?iso-8859-1?Q?zRmZy0CxdSFwHy4a67160wUXBXlp76nFRWgknIVfoR/kW6Nbtfaqy5BJv0?=
 =?iso-8859-1?Q?egxloKCDAuWCKNP1QcpM9g29xmbwUFLf4dj8qUbVzOHeFaIA+KjDaRn2OI?=
 =?iso-8859-1?Q?WoFzAL56P6teLX7kOHqoLuNMndbw5n7+WhAozKSZ1UED9tm+dQ4Q66ndzB?=
 =?iso-8859-1?Q?q7RkCpLvlvN2LkD2jADJSquLWJM5BNHLW2KW73pj2qfrwGKCfqDm7AJUc/?=
 =?iso-8859-1?Q?SdSRozIM4kkn99jWgCAkU0zIFH7iVRqhTJL9BvR+Mlksg+0NFsHW2eMFuS?=
 =?iso-8859-1?Q?aPigMydlRgRbU3E0pAzmvD1UKkS87QjNZE0dSTy8Sh9cGkBnfibN2i1mHu?=
 =?iso-8859-1?Q?M4fOM9e4uVq75vmHFnH+EVG0Lvj3bMCEgDDzb6xMowlOjivRc6UJY37Ynz?=
 =?iso-8859-1?Q?p4zb8HYPTQn1kA/F4CGlf9HwIDis3cFLfP7Tx7SIZJgTMv6lk46lZFugdC?=
 =?iso-8859-1?Q?aa9zKbEhkTwYsmzQkF7wIDbFZjd1NLShsdqtwZp4/45th7rtLfseYMrJjA?=
 =?iso-8859-1?Q?XVwW2EAZcdyHljJOYZQcVwr2Y7YMZM01ntRnzJw+7JkQ270lj50aaJrNDz?=
 =?iso-8859-1?Q?LYUzKmvqNjr+UB5gVwkWdEmyZsmFjlasGx1Y88xQwsWO5XnzaS9Y9H0FX+?=
 =?iso-8859-1?Q?dEi9QxxtHoynQoLo5GgS0MbLW+eCX/HRTRJjLduQ0rpf03P7Gpv/8aOB2C?=
 =?iso-8859-1?Q?EbmB0BgX0w2KRa/DaYmr3sajsSicvansAcFUON7ibJm3OinjIGuJZJ4Yw0?=
 =?iso-8859-1?Q?BbDtvHiQZamlVTZIJCNmyqvcWkEaZ5cUcPM6Zmlc9Cl5BbzXexIqw6SEzX?=
 =?iso-8859-1?Q?iA2fcPn3f23+yY11/D9rQ+5AWZwHUDcPGUVN3pGBcJ/TQz+SAgauaZKmt5?=
 =?iso-8859-1?Q?AOcP3clrmVk1OaGWL26IhU3UupouistI6LPDs28AhoCfeO+ENxdqCrdu5W?=
 =?iso-8859-1?Q?sJ7qQHe8g7FTVjLPEHdKQ1KQgiJoAIf0dJFIKgQNKF4kPf8PPkV+95HWIw?=
 =?iso-8859-1?Q?5fN8tjicUtUYtYcQLJfl+S/Se+60xUegTOTE35lLHF/Og7HZx8Ez0EBY86?=
 =?iso-8859-1?Q?TnhHfkMCfdknfiRRHQS0YL4QVjc66302nJcrTcANgs2mfHGtQ6wdyfqrSn?=
 =?iso-8859-1?Q?hbN+0yKqoifDn5LjWA/m0/CP9gFjEBlo7ELmatyzT22beeHIAmxJ2LH4VM?=
 =?iso-8859-1?Q?0wWS0BJMedzsoRp3Cu5wW/5Znu11U/OHW+AjJBlsHLUC511pIR+7luq+AW?=
 =?iso-8859-1?Q?G13MuXYYv4Y8diNJuIAqIyWi2zCQSUQ85+Fd9jRZPP04eNAnS9ZUqqguCb?=
 =?iso-8859-1?Q?WcDkqA4/AUQROYt2Sk4KzfmuWrpuf2j7GHeh7dpFMF8l0ilmWMQ9X+rNQs?=
 =?iso-8859-1?Q?nJDoDRKx8p11ruV3m4Dcs8yyI=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: PAXPR03MB7594.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 610e6dc9-ef3e-4bea-f551-08d9e1b9171c
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Jan 2022 17:18:52.1984
 (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: X+haKfZkgYTeRd/iasq6e3atmgDwGnHw/klbWK4u4PBpWSjcQCUCxy6pVhfmAmpFxECqWoCzDVFI7bV6PCSo9tZXIOYCJ0uz8FahuSLf2rY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR03MB3849
X-Proofpoint-GUID: XHrqTUaHO_rp1mo4yUKr5NF831APFehy
X-Proofpoint-ORIG-GUID: XHrqTUaHO_rp1mo4yUKr5NF831APFehy
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-27_03,2022-01-27_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501
 spamscore=0 clxscore=1015 mlxlogscore=999 adultscore=0 bulkscore=0
 suspectscore=0 impostorscore=0 mlxscore=0 lowpriorityscore=0 phishscore=0
 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2201110000 definitions=main-2201270102


Hi Julien, Bertrand,

Sorry, I messed up with your e-mail addresses in the previous
email. Adding you correctly.=20

Volodymyr Babchuk <volodymyr_babchuk@epam.com> writes:

> HSCIF is a high-speed variant of Renesas SCIF serial interface. From
> Xen point of view, they almost the same, only difference is in FIFO
> size.
>
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> ---
>  xen/drivers/char/scif-uart.c | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
>
> diff --git a/xen/drivers/char/scif-uart.c b/xen/drivers/char/scif-uart.c
> index ee204a11a4..8f4485bdfc 100644
> --- a/xen/drivers/char/scif-uart.c
> +++ b/xen/drivers/char/scif-uart.c
> @@ -47,6 +47,7 @@ enum port_types
>  {
>      SCIF_PORT,
>      SCIFA_PORT,
> +    HSCIF_PORT,
>      NR_PORTS,
>  };
> =20
> @@ -88,6 +89,17 @@ static const struct port_params port_params[NR_PORTS] =
=3D
>                          SCASCR_BRIE,
>          .fifo_size    =3D 64,
>      },
> +    [HSCIF_PORT] =3D
> +    {
> +        .status_reg   =3D SCIF_SCFSR,
> +        .tx_fifo_reg  =3D SCIF_SCFTDR,
> +        .rx_fifo_reg  =3D SCIF_SCFRDR,
> +        .overrun_reg  =3D SCIF_SCLSR,
> +        .overrun_mask =3D SCLSR_ORER,
> +        .error_mask   =3D SCFSR_PER | SCFSR_FER | SCFSR_BRK | SCFSR_ER,
> +        .irq_flags    =3D SCSCR_RIE | SCSCR_TIE | SCSCR_REIE,
> +        .fifo_size    =3D 128,
> +    },
>  };
> =20
>  static void scif_uart_interrupt(int irq, void *data, struct cpu_user_reg=
s *regs)
> @@ -288,6 +300,7 @@ static const struct dt_device_match scif_uart_dt_matc=
h[] __initconst =3D
>  {
>      { .compatible =3D "renesas,scif",  .data =3D &port_params[SCIF_PORT]=
 },
>      { .compatible =3D "renesas,scifa", .data =3D &port_params[SCIFA_PORT=
] },
> +    { .compatible =3D "renesas,hscif", .data =3D &port_params[HSCIF_PORT=
] },
>      { /* sentinel */ },
>  };


--=20
Volodymyr Babchuk at EPAM=


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 17:25:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 17:25:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261679.453279 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD8Wb-0000Xg-Og; Thu, 27 Jan 2022 17:25:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261679.453279; Thu, 27 Jan 2022 17: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 1nD8Wb-0000XZ-LY; Thu, 27 Jan 2022 17:25:33 +0000
Received: by outflank-mailman (input) for mailman id 261679;
 Thu, 27 Jan 2022 17:25:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=P5DO=SL=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nD8Wa-0000XT-94
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 17:25:32 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1e12855d-7f96-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 18:25:29 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1e12855d-7f96-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643304331;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=GRlBy3Hcfv97HnRoqUHBr/B7nT/6blkzJcUtfOazMys=;
  b=fju2I4e9ipym/dYa09bEZeNYa1tEM9HUZMLdzgjbljqiNDdNXJZLnkSq
   okoeM6QCL/2WeMoLYN56gj4XWLXKubjFiEVcc+0C8U/1Vc1DzTXsfkLMH
   F1yPey5TVa4hHOsTOr9Tt5uxbQyygLbCDkpmFNeecPPwgiy0Xt5bpdF3W
   U=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: B1qimpH4pyBd93MQKgm/MspG8Hlr+M7HQteMCpgVQgAauF66rvFtXcV5HFgrI7VDJe0WWNQPTn
 4Y6G28ZAgCT2VO69mAsbDehg03Sz9Se5/504DfYaqWTMbYu8zVp2n1gWlMSPkSc1FZ8n5YDHKX
 ctQ+vG8gsXr3sHNfc5WaojinWWE2FsiZ+iX/byo396YAFc5wlxx9CGchEfoCJeyVO1S40QWhQJ
 15qPfrF0VYR3iiQ5rJ4TmuOEamOUY1RsZ16toH4OIfsOa+Nrx/qgSoztiIxN83P7vcN611Iajo
 Xv1mj1RaEniWn21XTWnW6KGb
X-SBRS: 5.2
X-MesageID: 62385864
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:5Fw4l6AYg2dDnBVW/8bkw5YqxClBgxIJ4kV8jS/XYbTApG90hjFSz
 DdKUD2FOf2Da2SgLYhzO4qx/ElUsMTdydNnQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMo/u1Si6FatANl1ElvU2zbue6WL6s1hxZH1c+En940007wYbVv6Yz6TSHK1LV0
 T/Ni5W31G+Ng1aY5UpNtspvADs21BjDkGtwUm4WPJinj3eH/5UhN7oNJLnZEpfNatI88thW5
 Qr05OrREmvxp3/BAz4++1rxWhVirrX6ZWBihpfKMkQLb9crSiEai84G2PQghUh/ghSrrvFdx
 Pt2noWBSSl3Do/sqeInekwNe81+FfUuFL7vJHG+tYqYzlHccmuqyPJrZK00FdRGoKAtWzgIr
 KFGbmBWBvyAr7veLLaTY+9gnMk8auLsO5sSoCpIxjDFF/c2B5vERs0m4PcGhmxg25AQQZ4yY
 eITbTExRRLtTCdAZFtKMZllkOCGnmDwJmgwRFW9+vNsvjm7IBZK+KjgNp/Zd8KHQe1Rn12Ev
 STW8mLhGBYYOdeDjz2f/RqEmevnjS79HoUIG9WQ9PRnnVmSzWw7EwANWB2wpvzRt6Klc4sBc
 QpOoHNo9PVsshzwJjXgY/GmiHelnC89d9Z+KMYj2QGjlJr2wzefPEFRG1atd+canMMxQDUr0
 HqAkNXoGSFjvdWpdJ6NyluHhWjsYHZIdAfucQdBFFJYuIe7/OnfmzqSFo4LLUKjsjHi9dgcK
 RiupTN2ubgchNVjO06TrQGe2GLESnQko2cICuTrsoCNs1sRiG2NPdXABb3nARBodtvxor6p5
 yBspiRmxLpSZaxhbQTUKAn3IJmn5uyeLBrXikN1Ep8q+lyFoiD/JtoLuGogeR80Y67onAMFh
 meJ52u9A7cIZBOXgVJfOdrtW6zGM4C+fTgaahwkRoUXOcUgHON21CpveVSRzwjQfLsEyskC1
 WOgWZ/0Vx4yUP0/pBLvHrt1+eJ1mkgWmD2CLbimn0XP+efPPxa9FOZaWGZim8hktstoVi2Pr
 YYGXyZLoj0CONDDjt7/qN5KcgtSfCFlXPgbaaV/L4a+H+avI0l4Y9f5yrI9YY112aNTk+bD5
 HamXUFEjlH4gBX6xc+iMSE6AF82dZog/389IwI2OlOkhyoqbYq1tf9NfJorZ7g3sudkyKcsH
 fUCfsyBBNVJSyjGpGtBPcWs8tQ6eUT5nx+KMgqkfCM7I8xqSTvW94K2ZQDo7iQPUHa67JNsv
 7262wrHapMfXAA+Xt3OYfeiwgrp73gQke5/RWXSJdxXdBm++YRmMXWp3PQ2P9sNOVPIwT7Dj
 1SaBhIRpO/spY4p8YaW2fDY/tnxS+YnRxhUBWjW67qyJBL2xGv7zN8SSvuMcBDcSHjwpPeoa
 9JKwqyuK/YAhltL7dZxSu450aIk6tLzjLZG1QA4Tm7TZlGmB748cHmL2c5D6v9EyrND4FbkX
 0uO/p9ROKmTOdOjG1kUfVJ3YuOG3PASuz/T8fVqfxmquH4ppOKKARdIIh2BqC1BN78kYooqz
 NAotNMS9wHi2AEhNcyLj3wM+mmBRpDav37Lan3O7FfXtzcW
IronPort-HdrOrdr: A9a23:N/WmHaMGSGEaXMBcT2X155DYdb4zR+YMi2TDiHofdfUFSKClfp
 6V8cjzjSWE9Qr4WBkb6LW90DHpewKTyXcH2/hsAV7EZnimhILIFvAs0WKG+VPd8kLFh5dgPM
 tbAstD4ZjLfCJHZKXBkUmF+rQbsaG6GcmT7I+0pRYMcegpUdAa0+4QMHfALqQcfngjOXNNLu
 v72iMxnUvGRZ14VLXYOlA1G8z44/HbnpPvZhALQzQ97hOVsD+u4LnmVzCFwxY3SVp0sPQf2F
 mAtza8yrSosvm9xBOZ/XTU9Y5qlNzozcYGLNCQi/ISNi7nhm+TFcZcsvy5zXUISdOUmREXee
 r30lEd1gNImirsl1SO0F/QMs/boW4TAjHZuASlaDDY0LPErXoBerR8bMRiA0bkAgMbzaFBOO
 gg5RPpi7NHSRzHhyjz/N7OSlVjkVe1u2MrlaoJg2VYSpZ2Us4akWUzxjIcLH47JlOw1GnnKp
 gbMOjMoPJNNV+KZXHQuWdihNSqQ3QoBx+DBkwPoNac3TRalG1wixJw/r1Sol4QsJYmD5VU7e
 XNNapl0LlIU88NdKp4QOMMW9G+BGDBSQ/FdGiSPVPkHqcaPG+lke+73JwloOWxPJAYxpo7n5
 rMFFteqG4pYkrrTdaD2ZVamyq9CVlVnQ6dvP22y6IJyIEUdYCbRhFrEmpe4PdIi89vd/HmZw
 ==
X-IronPort-AV: E=Sophos;i="5.88,321,1635220800"; 
   d="scan'208";a="62385864"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CQlOzfKD+Czfo8wDB5wegPl5kWkqf2/9pQHNxZYA8ocDSlWViZpj89qT7ldIL+vTSCpk0sSrKTOtxc2aRO8ldnKnSlDmtY3qRpOpvtlouwwflDAfbNEFfpzQpHbPPI4BolJdmdNV8m+dVB7/sPmijgsbfGOAdGNu/bMHeKWqIrS7stq+nSwIOrry6XArAmcXtbgtlJ3tskKol5RWXlFqDHwwDEHrQ2lUxV0DWN768q+t1t0zLLurLLqm0q+YQXI4nFSIEsuWZVs3GWiiklV6zp0akFTQfXFPSO9p58s6yFGA6etpckt5jkAMVhCdZAPos3sWOYlJigWxTdHrrjS7aA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GRlBy3Hcfv97HnRoqUHBr/B7nT/6blkzJcUtfOazMys=;
 b=YAJTkOyzWvUrXYymqzf9IyaLGjtKAm6k7GNOdgQDsc+Rq38VYLKr6uTVgMVFD8xhH4Q54pRF+F1xhaCn3+lxZLyku7VNKdPKnnwnGu1s5CLhTFTMh6FG8yE4Omhbq/nNFf5zj9i/aV9U/T0OYmg2fYzdmVHNq9eCmphmtMawWg1AMF0bR5gZuMGoMJFZLg2wNm9GNPm1dvuLBXy5sDC+9Tm5T17nIGKv0L3jEpOT4wcscOW6kMpasE/J9cnLHIojKYQ1v+sdodGgpyrZOgmDlm3cwHbQymXh59Gh6+qtbtdeOOI/AKYvCu5e5/N2Kpoh64X+elcCklWwgsgZebMSIg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GRlBy3Hcfv97HnRoqUHBr/B7nT/6blkzJcUtfOazMys=;
 b=gSk9AFDpw0sSGXPZauQPsU1LMLSVtfeZO2c/UIuRSzAZvrN6aoNuiX6o5oGm3df3ku/roz7Z2+gv9YXuB2HDxut28LW7VLhsIOo963Cu/Ppkv++IB97qE1UZsfpPOn2p/a4OLC44GQuBq5d9D+ZBaP2A0Jz7cDfYln+HUlizqPI=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Xen-devel
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 8/8] x86/cpuid: Enable MSR_SPEC_CTRL in SVM guests by
 default
Thread-Topic: [PATCH 8/8] x86/cpuid: Enable MSR_SPEC_CTRL in SVM guests by
 default
Thread-Index: AQHYEpESkkbYY5JPR0iMlxtcJtQdZax248qAgAA7a4A=
Date: Thu, 27 Jan 2022 17:20:25 +0000
Message-ID: <dcd5acf4-1f16-4314-4ff3-427b205e7b2f@citrix.com>
References: <20220126084452.28975-1-andrew.cooper3@citrix.com>
 <20220126084452.28975-9-andrew.cooper3@citrix.com>
 <4a9c11b0-1564-9014-2185-01318a98b334@suse.com>
In-Reply-To: <4a9c11b0-1564-9014-2185-01318a98b334@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: e2bac889-65bf-4915-a478-08d9e1b94ecf
x-ms-traffictypediagnostic: DM8PR03MB6231:EE_
x-microsoft-antispam-prvs: <DM8PR03MB6231490C677057844E655128BA219@DM8PR03MB6231.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: 42U71UbcFuKUDRHGSL+KYIbZOGQU8b8dYhNmKPCI3b3Gtjf7oXPcHcvqhR3KL4uhLst7CzgulXkulLI/owKsD1MhCCEb1Axvqnp2WtJJpl48De1/mnPITPqNNxlybwaAgCo9tCH+RHeYKBzmYXgQyOSg1fQLAaLhSDIcT8W+mffIivHSScNhqT7GTyaOUpGJXngkf59iRmMaGjJwUZJpldDAv0CnsNeEok/Kkrp22yBwsbJ4A5zv1b9C2vmg/8QIAifLbq3ioMHDBJwpxoXW99BkCBM5Oj3lr5T7On17LMbNUX7/7THOZAg2pAy8xGTYRRT5DYK45bBkq+WyPvxodu5CZsjeMkRgSBMqfgPS9LkTSTKjIZsbFvI+O7Um0Htewf3BHoSr8N/uRI0Foqn1W+PiqXW42bEHIVc3iXzTMmWKvqxeQMdo3Eqg9l4Z7HmrQsRcgaog1TTjMOPcdPGhH5ri6wYZ4xp/9wiv1dX6b2+vONGB2mP9KoRQpdCmED7FlIbI1ulOy1NYiwyKxxLmbT6CuQQ+9xuxSkCM/jRNTlfcidHKLTzjIpB0bywNu6jqBNviLIxjKdU7GA++85nW2tr8yG5C0GoVTI09m/FowtSrSExnQfuWnrEspD1P330Vdk+cELvxCB93ECqYJf67rRA3V1LxVhFcbd6s1n2/kJ5XFoMqQBe+E3NIkwslzhUC93iEU2WxmlabPpROeMtELFqDqqYteZR35GmedsKVOTsDBRqeJbCqK1o89uiyLZeV1peT7ISVY3zOJBM2ZVrorQ==
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:(13230001)(4636009)(366004)(91956017)(186003)(2616005)(26005)(66476007)(66556008)(122000001)(66946007)(38100700002)(86362001)(66446008)(53546011)(64756008)(6512007)(6506007)(83380400001)(71200400001)(76116006)(31686004)(2906002)(6916009)(82960400001)(8936002)(54906003)(5660300002)(8676002)(36756003)(508600001)(316002)(6486002)(4326008)(31696002)(38070700005)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cHNFd3gwcENtcUk5RzBVMzdTL0xhTHMzcFh4c3JkQVFzYitrc0xUQktvSDNl?=
 =?utf-8?B?dGVPdlhrK3ZOL3p5MStiZGlaeUJhSHNvSUp4REtKckZadVJuQ0tzNnkzaFVC?=
 =?utf-8?B?VXlEcjJYczVabENmSlExUnRRN1pwRjR5NkYxZDhMbGFQTldLMFdmZ1RnT0JC?=
 =?utf-8?B?QzJobVhEeTlPelNvVEpwZTg1cEtUcER1U0krR0QyQ1FYeFlvS0hQb01sNVNO?=
 =?utf-8?B?NGN6eWxYNmczVUtCK1FtM1hkK1NSa0YxNjFNQnBtbUp5a29yS3NyWVB6MFU4?=
 =?utf-8?B?ajJONTU1c0ljUnhpS096emhvZFZFbU9sY3Q2bjhER2dwV0ljY3hoSkplV0VD?=
 =?utf-8?B?MGFOVTQrMEtiWkdtbE96WmtBbXhYK1VQMUptT1JQU0RvRlJLMGVlVWNKdUtM?=
 =?utf-8?B?WG1MdUdYZXdqZDJPcnVBY2QxZ0RabUZnWlYvamdXTkdVbVhxQ0hIOEhOQXhP?=
 =?utf-8?B?elZzZ1JNSU1NMWxQcG1NYlk2NDhHNDJNRDBiR2o5dXpwazlad1pHN3RJc2p2?=
 =?utf-8?B?R1ZqOURaNmw3TjFVeGt5Vm5nT0pJQXVtZUJRdXZ0dTBQbzdHRzNyOERkcDRB?=
 =?utf-8?B?c3cvME5HNWsxdUlKUTNoY2RkK0JwUWwwTlNiUk1IL0h2U0FSVlk0QzRrMlND?=
 =?utf-8?B?U3p2UVdUSU5icHFXZ3ZaY0ptSzN2VUEwbDN5bGxYOG1TcjIzd3NReks5dUt5?=
 =?utf-8?B?Q3V1bEZ2dnYvK2FLem4xWFlxcGZwT0w4M2Fac3lkR1U2dEZ1TjMveVpzd2R2?=
 =?utf-8?B?SzRKa0x4RHhNYXRPa2ZuNlMxNjAvd3hNMEkwdFhRUTdIa1VMaGp6NlVZSDN2?=
 =?utf-8?B?S2U3K2x2SUpmZ3FOeS9EUzBOTkhqY3o3cVlJdVFLaHdLOUdneDBwOGN2S3pG?=
 =?utf-8?B?SGxsemhjcnpDdjN2bFhrSzhGcy92eUUzWkwxQktHcWk5ZkpKZzhZM292WjFV?=
 =?utf-8?B?djNmVit4RnJjR0xWQU1LTlAzUGw3QnBjczdvMDVCTG9tZmdXWjZ3dTdUblA1?=
 =?utf-8?B?VGZMNFBqRy9MbFE2YWp0UmZzOGVNY3lWRGxRRXdoeDIxeXczRklNTGhONjdI?=
 =?utf-8?B?ODhxZXJYQWR5akI0by9aOHE4QzJXNGR1eTVnemhHSnZaeXYzN3NwVEdKc3Bj?=
 =?utf-8?B?bkxHWndyeUs0VC9URERSZ251STFpbk1XU0w4d0U3eGg2V1IvUnBSUmYzUGUr?=
 =?utf-8?B?N05MWFJ0dzZsajFjK3NHMTYzUktOaWR3czVOSVliNFJwYnY5Sk1MRDFVcSt5?=
 =?utf-8?B?U2VudGt0cCtsOGR5bWtoUEU4VzF2ZHcxYm9QaXQ5ZnJHa3NVekVCSzlqR010?=
 =?utf-8?B?T1NvNk5RYmovRE5vTXhQUE9lanJNaFFvSG9ZQlh6YjRkeG1SVGlXMnAzSEdn?=
 =?utf-8?B?cFNkVVllS3IzZzdwbWZUdEtCUGNCVGcrclZWY1ZHNnFvQ09PTi9tNDBuY0w0?=
 =?utf-8?B?RmEyUTNXMnBJZUpkQzQ1Y3NHNm1jQkhQRVFnZ05XdU1ORmp2azJ5b0sxTVQw?=
 =?utf-8?B?RUtSZXRaaWNtdU9SQTZHSnNNb0dVZ2FXa2h3UUl0TExycEN0ZVoxQTRUMlc4?=
 =?utf-8?B?L2cxQ1NsdDkzSDZDUWVRS2hYRTJoeHVrWFZFM0N0RTNsU3Q5Q2xtTU4zSCtL?=
 =?utf-8?B?eHU0YWdpV294YUwxaXpCcGlKSEtmdzBnUFIvVE1ESzBEN1Q4ak1xTVN6VEdF?=
 =?utf-8?B?K0U3SnN2dVU4NUlrNFhNbnZrR0M5U2VPc0JYbTM2ZitTTVpqN2dCbkpmdytX?=
 =?utf-8?B?bHh2S2pGa0pDaGFZenlXN1J4NGRYQ1FTU1BFL3RERkkxWjQwdVlZN0NSMG9q?=
 =?utf-8?B?SDA1NWlnNllHTjg1RFVNN1ExbTh5U09jTEZUd05oYlRudS9aa2tJUFpaKzFq?=
 =?utf-8?B?RUFOdUdxUXBibFBYMEpRV2ZjaVMxbW9NZDBUaiszSVlKb09rbU1NQ3NySXRK?=
 =?utf-8?B?bm91S2pFTjRQQkJ0b2FEM3R1Tml3bWVxTmdGZExvZnc4NkNCTnFNT04zekRY?=
 =?utf-8?B?YUZhYUJ5RmtscHA3NXpPbSt6dVNYd3d4aEdtWXZieGgvRlRBRjRrdWlzdTZX?=
 =?utf-8?B?d1ZMSmYwakxQZThGeEZxd1RwMjZ6TnFxclRkYXRWRWhuMTFMTTBnaDQ1Vm5p?=
 =?utf-8?B?RWE1NDVkQ3lodVZHMEV3MGMxTlpFVmYvOGNlMnJuT3o5VnA1d0l3bGJyaFZl?=
 =?utf-8?B?YzA0aURrQmFmcFc5K0NpTzBteWhOOFdCVWEwSTk1cElGQktCd2xOQXFTaFlY?=
 =?utf-8?B?b0NqODM1eGozTGlkdjlQNmt0Y1dBPT0=?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <34AB4909204B1B489F3966928C90D36E@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e2bac889-65bf-4915-a478-08d9e1b94ecf
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Jan 2022 17:20:25.5816
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: aApn84IbQVVefYUnrZHlOdg54ODWN0s+b2zen+dPciKo5fOkD8r0t/4r8FIQFs6m5DfqeENMLNrzVQgtcZBhjgQGCZIOVl/Fx9sXfJ4WSKI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM8PR03MB6231
X-OriginatorOrg: citrix.com

T24gMjcvMDEvMjAyMiAxMzo0NywgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDI2LjAxLjIwMjIg
MDk6NDQsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+PiBXaXRoIGFsbCBvdGhlciBwaWVjZXMgaW4g
cGxhY2UsIE1TUl9TUEVDX0NUUkwgaXMgZnVsbHkgd29ya2luZyBmb3IgSFZNIGd1ZXN0cy4NCj4+
DQo+PiBVcGRhdGUgdGhlIENQVUlEIGRlcml2YXRpb24gbG9naWMgKGJvdGggUFYgYW5kIEhWTSB0
byBhdm9pZCBsb3Npbmcgc3VidGxlDQo+PiBjaGFuZ2VzKSwgYW5kIGV4cGxpY2l0bHkgZW5hYmxl
IHRoZSBDUFVJRCBiaXRzIGZvciBIVk0gZ3Vlc3RzLg0KPj4NCj4+IFNpZ25lZC1vZmYtYnk6IEFu
ZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+DQo+PiAtLS0NCj4+IENDOiBK
YW4gQmV1bGljaCA8SkJldWxpY2hAc3VzZS5jb20+DQo+PiBDQzogUm9nZXIgUGF1IE1vbm7DqSA8
cm9nZXIucGF1QGNpdHJpeC5jb20+DQo+PiBDQzogV2VpIExpdSA8d2xAeGVuLm9yZz4NCj4+DQo+
PiBHaXZlbiB0aGUgYWRqdXN0bWVudCB0byBjYWxjdWxhdGVfcHZfbWF4X3BvbGljeSgpLCB3ZSBj
b3VsZCB1c2UgJ0EnIHJhdGhlcg0KPj4gdGhhbiAnUycgd2hpY2ggd291bGQgYXZvaWQgYSBzZWNv
bmQgc2FtZS1zaXplZCBkaWZmIHRvIGNwdWZlYXR1cmVzZXQuaCwgYnV0DQo+PiBpdCdzIGFsc28g
YSBiaXQgbWlzbGVhZGluZyB0byBzYXkgJ0EnIHdoZW4gdGhlIFBWIHNpZGUgd29uJ3QgZW5nYWdl
IGF0IGFsbA0KPj4geWV0Lg0KPiBJIGFncmVlIHdpdGggdXNpbmcgJ1MnIGF0IHRoaXMgcG9pbnQg
Zm9yIG1vc3Qgb2YgdGhlbS4gSSdtIHVuc3VyZSBmb3INCj4gU1NCX05PLCB0aG91Z2ggLSB0aGVy
ZSAnQScgd291bGQgc2VlbSBtb3JlIGFwcHJvcHJpYXRlLCBhbmQgYWZhaWN0IGl0DQo+IHdvdWxk
IHRoZW4gYWxzbyBiZSB2aXNpYmxlIHRvIFBWIGd1ZXN0cyAoc2luY2UgeW91IHZhbGlkbHkgZG9u
J3QgbWFrZQ0KPiBpdCBkZXBlbmRlbnQgdXBvbiBJQlJTIG9yIGFueXRoaW5nIGVsc2UpLiBBaXVp
IHRoaXMgY291bGQgaGF2ZSBiZWVuDQo+IGRvbmUgZXZlbiBhaGVhZCBvZiB0aGlzIHdvcmsgb2Yg
eW91cnMuDQoNCkhtbS7CoCBUaGVyZSBhcmVuJ3QgYW55IEFNRCBDUFVzIEknbSBhd2FyZSBvZiB3
aGljaCBlbnVtZXJhdGUgU1NCX05PLCBidXQNCml0IHByb2JhYmx5IG91Z2h0IHRvIGJlICdBJy7C
oCBJJ2xsIHB1bGwgdGhpcyBvdXQgaW50byBhIHNlcGFyYXRlIGNoYW5nZS4NCg0KPj4gLS0tIGEv
eGVuL2FyY2gveDg2L2NwdWlkLmMNCj4+ICsrKyBiL3hlbi9hcmNoL3g4Ni9jcHVpZC5jDQo+PiBA
QCAtNDMzLDYgKzQzMyw4IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBndWVzdF9jb21tb25fZmVhdHVy
ZV9hZGp1c3RtZW50cyh1aW50MzJfdCAqZnMpDQo+PiAgICAgICAqLw0KPj4gICAgICBpZiAoIHRl
c3RfYml0KFg4Nl9GRUFUVVJFX0lCUlNCLCBmcykgKQ0KPj4gICAgICAgICAgX19zZXRfYml0KFg4
Nl9GRUFUVVJFX1NUSUJQLCBmcyk7DQo+PiArICAgIGlmICggdGVzdF9iaXQoWDg2X0ZFQVRVUkVf
SUJSUywgZnMpICkNCj4+ICsgICAgICAgIF9fc2V0X2JpdChYODZfRkVBVFVSRV9BTURfU1RJQlAs
IGZzKTsNCj4+ICANCj4+ICAgICAgLyoNCj4+ICAgICAgICogT24gaGFyZHdhcmUgd2hpY2ggc3Vw
cG9ydHMgSUJSUy9JQlBCLCB3ZSBjYW4gb2ZmZXIgSUJQQiBpbmRlcGVuZGVudGx5DQo+IEZvbGxv
d2luZyB0aGlzIGNvbW1lbnQgaXMgYSBjcm9zcy12ZW5kb3IgYWRqdXN0bWVudC4gU2hvdWxkbid0
IHRoZXJlDQo+IGJlIG1vcmUgb2YgdGhlc2Ugbm93PyBPciBoYXMgdGhpcyBiZWVuIGEgb25lLW9m
ZiBmb3Igc29tZSByZWFzb24/DQoNCk1TUl9QUkVEX0NNRCBpcyBlYXN5IHRvIGNyb3NzLXZlbmRv
ciAoanVzdCBleHBvc2UgdGhlIENQVUlEIGJpdCBhbmQNCk1TUiksIGJ1dCBJSVJDIHRoZSBpbnRl
bnRpb24gaGVyZSB3YXMgdG8gYmUgYWJsZSB0byBjb25maWd1cmUgYW4gSW50ZWwNClZNIHdpdGgg
SUJQQiBvbmx5IGFuZCBubyBJQlJTLg0KDQpUaGlzIHdhcyBhdCB0aGUgc2FtZSB0aW1lIGFzIHRo
ZSBidWdneSBNU1JfU1BFQ19DVFJMIG1pY3JvY29kZSB3YXMgb3V0DQppbiB0aGUgd2lsZCBhbmQg
YSBgMTogd3Jtc3I7IGptcCAxYmAgbG9vcCB3b3VsZCByZWxpYWJseSB0YWtlIHRoZSBzeXN0ZW0N
CmRvd24uDQoNCg0KRm9yIE1TUl9TUEVDX0NUUkwsIHRoZXJlIGFyZSB0aHJlZSBzdWJzdGFudGlh
bGx5IGRpZmZlcmVudCBiZWhhdmlvdXJzLsKgDQpUaGlzIGlzIHBhcnQgb2Ygd2h5IHRoaXMgc2Vy
aWVzIGhhcyB0YWtlbiBzbyBsb25nIHRvIGdldCBvcmdhbmlzZWQsIGFuZA0Kd2h5IHRoZXJlJ3Mg
bm8gUFYgZ3Vlc3Qgc3VwcG9ydCB5ZXQuDQoNCkF0dGVtcHRpbmcgdG8gY3Jvc3MtdmVuZG9yIGFu
eXRoaW5nIHJlbGF0ZWQgdG8gTVNSX1NQRUNfQ1RSTCB3aWxsIGJlIGENCmRpc2FzdGVyLsKgIEV2
ZW4gaWYgeW91IGNhbiBtYWtlIHRoZSBWTSBub3QgY3Jhc2ggKG91Z2h0IHRvIGJlIGRvYWJsZSks
DQppdCdzIGdvaW5nIHRvIGhhdmUgYSB2ZXJ5IGJyb2tlbiBpZGVhIG9mIGl0cyBTcGVjdHJlLXYy
IHNhZmV0eS4NCg0KPj4gQEAgLTQ1NiwxMSArNDU4LDE0IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBj
YWxjdWxhdGVfcHZfbWF4X3BvbGljeSh2b2lkKQ0KPj4gICAgICAgICAgcHZfZmVhdHVyZXNldFtp
XSAmPSBwdl9tYXhfZmVhdHVyZW1hc2tbaV07DQo+PiAgDQo+PiAgICAgIC8qDQo+PiAtICAgICAq
IElmIFhlbiBpc24ndCB2aXJ0dWFsaXNpbmcgTVNSX1NQRUNfQ1RSTCBmb3IgUFYgZ3Vlc3RzIGJl
Y2F1c2Ugb2YNCj4+IC0gICAgICogYWRtaW5pc3RyYXRvciBjaG9pY2UsIGhpZGUgdGhlIGZlYXR1
cmUuDQo+PiArICAgICAqIElmIFhlbiBpc24ndCB2aXJ0dWFsaXNpbmcgTVNSX1NQRUNfQ1RSTCBm
b3IgSFZNIGd1ZXN0cyAoZnVuY3Rpb25hbA0KPj4gKyAgICAgKiBhdmFpbGFiaWxpdHksIG9yIGFk
bWluIGNob2ljZSksIGhpZGUgdGhlIGZlYXR1cmUuDQo+PiArICAgICAqLw0KPiBVbmludGVuZGVk
IHJlcGxhY2VtZW50IG9mICJQViIgYnkgIkhWTSI/DQoNClllcy7CoCBUb28gbXVjaCBjb3B5JnBh
c3RlLg0KDQp+QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 17:35:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 17:35:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261683.453291 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD8gZ-00024e-QO; Thu, 27 Jan 2022 17:35:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261683.453291; Thu, 27 Jan 2022 17: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 1nD8gZ-00024X-Lb; Thu, 27 Jan 2022 17:35:51 +0000
Received: by outflank-mailman (input) for mailman id 261683;
 Thu, 27 Jan 2022 17:35:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=P5DO=SL=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nD8gX-00024R-Sy
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 17:35:49 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8f458e23-7f97-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 18:35:48 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8f458e23-7f97-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643304948;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=SWVPtmGpUBxhB4f4tqSue2NIRoANcsSL8Cp5qV69uQQ=;
  b=VUh0awcYMiC7wwEPnYUpldqLcg8dj6NNaf9pOInpdsi5UOpoWf7TyUpo
   QNvuY+MANa95Tb4OJ8sCVyYng7cJomnBAgDp1G1hQkx1xPOzr5B6sAGS4
   d/pjph3beN78Ds6Iq+XEKePT9d5rtNbDR/K9KeFxCpIxgTPXHNSbYEEKe
   o=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: 4/OlRQuFodIXadi+GhhjzkhEj/3EfgcWYIkrnje/E866eXWIdUnivWiXf1wKq5VbP6KMhJWQbp
 oLltORLmqlJ3eJe7hkuefMZkhVnNycReRKMVgbJbns9Eze2CDDugdjHtrQH3rlwAdENPgHwTjq
 tIxnOaTuaVa/Y/xD5LLKON/T4vGv74ysrOiGkBz8NjFe8lyEyl5lkP+Z+pKZT9g0MKuMTi6A8r
 VgFKtNSP9TvL4w6cBMnnNkUjv5Kkm3en85xqlkj89r+wylN8iQRAl6Ci2o3p2rr/OjSWvNMn+c
 7C1XyGH8ND5Z4hCxgL5y3dh1
X-SBRS: 5.2
X-MesageID: 62916624
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:ml5mY6907Y53aJWm63/iDrUDbXmTJUtcMsCJ2f8bNWPcYEJGY0x3z
 WROCjrUaamJZjD8eowjYY/noUwO7ZTcyNVmSQVl/y08E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7dj3dYy6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPh7x
 Ptou5n3Vz03O5fesv5NDxh9NwhhaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguwKKsXxMZxZkXZn1TzDVt4tQIzZQrWM7thdtNs1rp4UTK+AO
 ZBFAdZpRC/+WV5hA0cXMrgFg9yNmHq8WGNe8k3A8MLb5ECMlVcsgdABKuH9atGMAMlYgEucj
 mbH5HjiRAEXMsSFzjiI+W7qgfXA9QvkXKoCGbv+8eRl6HWRzGEODBwdVXOgvOK0zEW5Xrpix
 1c8o3R06/JorQryE4e7D0bQTGO4UgA0UdZ+NuM/rx+31K/u8SyDVjQFaxpod4lz3CMpfgAC2
 liMltLvIDVgtryJVH6QnoupQSOO1Ts9djFbO3JdJecRy5y6+dxo0EqTJjp2OPPt1rXI9SfML
 ydmRcTUr5EaloY12qqy5jgraBr898GSHmbZCug6N19JDz+Vhqb4P+RECnCBtJ6sybp1qHHb4
 RDofODFtIgz4WmlznDlfQn0NOjBCwy5GDPdm0VzOJIq6i6g/XWuFagJvm0lfhwxaZhZIWK4C
 KM2he+3zMUNVJdNRfQvC79d9uxwlfSwfTgbfq68giVyjmhZK1bcoXAGib+41GHxikk8+ZzTy
 r/AGftA+U0yUPw9pBLvHr91+eZymkgWmD2PLbimkUXP+efONRa9FOZeWHPTP79R0U9xiFiPm
 zqpH5HUm0w3vSyXSnS/zLP/2nhTfSFkXsin8pIOHgNBSyI/cFwc5zbq6epJU6RunrhPl/eO+
 Xe4W0RCz0H4i2GBIgKPAk2PopuyNXqmhX5kbyEqI3iy3H0vPdSm4KsFLsNldrg77u1zi/VzS
 qBdKcmHB/1OTBXB+igcMsah/NAzKkzziFLcJTehbRg+Y4VkG17D9Oj7c1a97yIJFCe265cz+
 uXyygPBTJMfbA1+F8KKOum3xla8sCFFyuJ/VkfFOPdJf0Do/NQ4IiD9lKZvccoNNQ/C1n2R0
 APPWUUUouzEookU9tjVhP/b89f1QrUmRkcDRjvV97e7MyXe71GP+44YXbbaZy3ZWUP15L6mO
 bdfwcbjPaBVh11NqYd9TepmlPps+9v1qrZG5Q14B3GXPU+zA7ZtL3Taj8lCsqpBmu1QtQesA
 x/d/9BbPfOCOd//EU5XLw0gN7zR2fYRkzjUzPI0PESlu3MnoOvZCR1fb0uWlShQDLppK4d0k
 +4utfkf5xG7lhd3YM2NiTpZ9jjUI3ENO0n9Wkr23GM/ZtIX92x/
IronPort-HdrOrdr: A9a23:35C0+aD0eG1Bp0HlHegIsceALOsnbusQ8zAXPh9KJiC9I/b1qy
 nxppkmPEfP+UsssHFJo6HkBEEZKUmsu6KdkrNhQYtKOzOW+VdATbsSorcKpgePJ8SQzJ8l6U
 4NSdkcNDS0NykBsS+Y2nj5Lz9D+qj+zEnAv463pB0NLT2CKZsQlDuRYjzrSHGeLzM2YabRYa
 DsgPav0ADQHkj/AP7LZEUtbqzmnZnmhZjmaRkJC1oM8w+Vlw6l77b8Dlyxwgoeeykn+8ZgzU
 H11yjCoomzufCyzRHRk0XJ6Y5NpdfnwtxfQOSRl8kuLCn2gArAXvUiZ1TChkFxnAic0idsrD
 D+mWZnAy210QKJQoiBm2qo5+An6kd315at8y7CvZKpm72HeNtzMbs+uWseSGqF16NohqAN7E
 oAtVjpxqZ/HFfOmj/w6MPPUAwvnk2ooWA6mepWlHBHV5ACAYUh57D30XklWKvoJhiKo7zP0d
 MeeP309bJTaxeXfnrZtm5gzJilWWkyBA6PRgwHttaO2zZbkXhlxw9ArfZv0kso5dY4Ud1J9u
 7EOqNnmPVHSdIXd7t0AKMETdGsAmLATBrQOCaZIEjhFqsAJ3XRwqSHrYkd9aWvYtgF3ZEykJ
 POXBdRsnMzYVvnDYmU0JhC4nn2MSyAtPTWu7djDrRCy8/BrYvQQFq+oQoV4ridSt0kc7jmZ8
 o=
X-IronPort-AV: E=Sophos;i="5.88,321,1635220800"; 
   d="scan'208";a="62916624"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lDEiH61Go5JBKfIfkS6WzM/tmMCiALIaD6qYuHzc9T1gcux/AYjPigvZhi4WAhjoIKaS1e62qc8om2XVhrYtFa2Fs3VEOyWs6hl/CcO8jPt7upAlSRnZASF+UQf8C8bX1P51LefRs0gJa6qEaqTIXJ8HwvHRkrnoln2PZWyx2W3hfkRV7TCRrr9XD1jYbJfkqYu/RRAxKSnW7joEdCxqUfSl1zCqi+LLvzBu1A3HtwmkpZuLXHQylhD0wAooa5Vhm1fnVC+SYABtMMT3xRvL1PK9m4X410DK8U2vdlfubNxhWL6e6tH7PiWCXT9mR+sMc9vdTLmgPkZZpzU6MMJ99g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SWVPtmGpUBxhB4f4tqSue2NIRoANcsSL8Cp5qV69uQQ=;
 b=MpSH4AHONVv44pppqM2Pl145vAH+2Unq0/4KMW11+eW5JK3X5vz5zPAEiHrcWZBc/RRUlIjP/oDTj9apXXXsXAXHHbZWlN0v47eNO5sbYcquHF17XdxzxJMVUspm3kbeE/mlR4tRquC78Gcz2zYTMRaMGC2bv/qrE0LSg/pJyUbxaLPAXnuPOn7ESrWTlwCYlFlRDy5c1bbt/cKDJiEGLDnEoOuVeNbzNm56IC0aig+lrOM3YKT4BsUUBf7e/kjbhNCNFXsaDgCds94A4UHK05Op/YrOZgm0QwS83LFMcUICgiZyMloTktGLchHTpNWhiqqcx3n65gTO4oqqilE55w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SWVPtmGpUBxhB4f4tqSue2NIRoANcsSL8Cp5qV69uQQ=;
 b=phT/1fu+2hQfB3HHMeccHlfOrpObbFUHJSniqOYAvRF8lwBf+/HQAzj0RYodRHuMW6P2YQjHHvj+bxogoyAhsgj3ANK+P8iAlySaVLbjr5WXQhAl1BMRHdd01b1MbEPX1bVGVFqe80621AFCNBjrEH4y0TNW+yEmVF7Yx7fbfGI=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Xen-devel
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 2/3] x86/cpuid: Infrastructure for leaf 0x00000007:1.ebx
Thread-Topic: [PATCH 2/3] x86/cpuid: Infrastructure for leaf 0x00000007:1.ebx
Thread-Index: AQHYE5huD7pVCoL/d0KskraI0R0Urax3Ej+AgAAPHYA=
Date: Thu, 27 Jan 2022 17:35:29 +0000
Message-ID: <ccb7bfb0-20a4-e80b-62ad-aabe41e358c1@citrix.com>
References: <20220127160940.19469-1-andrew.cooper3@citrix.com>
 <20220127160940.19469-3-andrew.cooper3@citrix.com>
 <d2405bc8-64be-206d-7d79-b06e2fdb6ae9@suse.com>
In-Reply-To: <d2405bc8-64be-206d-7d79-b06e2fdb6ae9@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: e8ea79c0-2bf8-4369-e6a1-08d9e1bb6991
x-ms-traffictypediagnostic: DM5PR03MB2841:EE_
x-microsoft-antispam-prvs: <DM5PR03MB284176C7C676FE3A602B1571BA219@DM5PR03MB2841.namprd03.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:1091;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: l7nFVxIKBdjinTYVny3uLMw6gkX8DZt/20Kji8n23sopqXvmBY/LO6zYf4WUdodqbjREYGPWfUHs1aaYqeleer5qeLCJB6eZOoiPLrBenfOmbXjcPX4MYpeanPAE1d39M3Oh2PIi2V3CX8c3mBUUX1SGFNFpeeKG+XLHhF2N7UXv9771Di2PnssVr8w+5/U9l7c99aVcp50tb5bZsxeA7YUC8pl1zMNlDt9zWXX260l23HhsFuPdbij+j+yJUC29mHivfOoDzF0dI2/TQj6QE3zYXIdxjKG14BlAT0o3qvaZUYuCCLupjVBOHzpyEWh6Cl/T0QzkrtL3tGR7fCjvT3Um8prVZURr+5hWFFnMuuYGTkzmzhUrUSaUXRLm0hIk4WvSXZIagpVP0f+y+PIhQJNTJi/XYSA34QFg/f8Hr1xOP697i5jGhxWjbyyrU7s1YM2esF5PfT0q/kNjKnDTKuaL8Sth8zAtoviHk/yaPZOgdWXJARgIG5yCEMRj3DmiprbhD80mUucaUCA7vXXa52FRN5i8enN/5pX32I2Rg7Pgzn12BsBqYsGePmp8XNY6HVbgfiN+S8mALmbUykVbgq4gISNu2KSOhfTAIxPat//PkYBZVV+Fkf3wK1sl1dNbMDDx6uDDkzXx+zoLfyUF4XFDn6DKvyEU7/3PgweAsrlgN+AjnaFq0vZiYHEI0WZ/a64NnFpgONb9NiXEq4B1FmvjU/jrJGk7B24RQxIF/QQgUigb6wo8wks9yFv6ey0hAt0I4bytnFcncKQdMFURaw==
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:(13230001)(4636009)(366004)(508600001)(6916009)(54906003)(316002)(6486002)(86362001)(6512007)(186003)(76116006)(66476007)(5660300002)(4326008)(8676002)(8936002)(66446008)(66556008)(64756008)(66946007)(82960400001)(31696002)(36756003)(2616005)(31686004)(6506007)(91956017)(53546011)(38070700005)(71200400001)(38100700002)(26005)(4744005)(2906002)(122000001)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZXh0N2JCbDliWEhMV091aEt1emxHN1hESXNjYWVPRkpwTmxyVFp2anNmcllR?=
 =?utf-8?B?ZWZCTTJvdGFQbWsxeW5wVVQ4UlR2YVU3bENkdFRpS256dzBRU1lIY2lyVGww?=
 =?utf-8?B?bTRVdmZrNkN5N3R1N0xwY2d4ZWtqdkNhZlBDL0hEM0s3RGpnZEZWRlNOUjVi?=
 =?utf-8?B?TDZhRGFoV1lOeWhiY1BNVzVISGRseWc5YmJsbGFhd1JKMHpFSTNrNE84RDJY?=
 =?utf-8?B?SXk2aVZub1pNdWErVWZEdjE1U29SUzMxRjROZXVWMHo0T1hkY3NBWGJuK0dE?=
 =?utf-8?B?dG1EVFREWVQ5enZoUXNHWWNGbGRKZFpmYmhjS2RMUC9CRWZ3bWIyN3NBUGNO?=
 =?utf-8?B?aGRrdDQwTjNSWFN5dWYvVUM1dmxXcFFZdUhTdkFtQW91MUNJd0VmUm1mdWtN?=
 =?utf-8?B?VTZtQ0tpeTd1SmhrZ1JaVE1qU05FbVVMbEMrUUhobWdhaTVuYTFNSFhuOFdO?=
 =?utf-8?B?M0N0YlVyZ1FCSk80Qi91UGI2UHJqVE5kQVVQbVlzNnVDZTlxb3hxRDJKVGNX?=
 =?utf-8?B?MDA3UU9YUDBDditRekppZUhxelR2L3FwWE0xb2txc1FMR053S3lRdUVFU2I2?=
 =?utf-8?B?ZTU3KzE5dW9QMzJMRWc0RzZOTUh5TDhOdWRqbnVqTFY0TElQUEdndkVUYkR3?=
 =?utf-8?B?V0NtaTMxMVdrZ0d6NTBieWFXbGxVKytZY0VxUTNDalRTYUc2c1czb0JpYkIy?=
 =?utf-8?B?WCtPUTEwcEtFNCtucWxMdTFPS2M4S21MaFdaWDAybGIzWTIyVyt6QTMzZHpo?=
 =?utf-8?B?Tm1xWHJOWERpK0VhM3FUdDZHaHBIN1hCaCtsRzhkREt4QVVBUkorZFJzTSty?=
 =?utf-8?B?MFYxeXNHeWVWdVZQeVE1TCtqNDVZSTk5RmlXeUhPRmQwRTBwMkpRQXRrbHdC?=
 =?utf-8?B?MU5lV0NrUUJyTWMwWVNXanpobEVyMTk0TEs0S3pSbTR6RGpOVlVUaWZNREo2?=
 =?utf-8?B?d0Z6STFjbU9yTkZucXdaWWd4UnE2V0pLRXZNZW9YaHBSazRreVZOamVKT3Bj?=
 =?utf-8?B?QXhPek9SWEdwQS9TM25pYlE0MDBEb0VPNk9veWpGenVUZ0x4cU1GYUFodHZI?=
 =?utf-8?B?bTJjT1hlV0FQa0wrV2hHbno5T01jRUJPUW5BMHNyRVlsWk9rTE5LejV1TlZl?=
 =?utf-8?B?bWoyRGZKSUgwM2JUbUdhbkhLdmI3Smg4UnNCdXphb0p1WlpKWEk1Ti81RHFk?=
 =?utf-8?B?cHJJVzRCSTlZNElyQ3VvU3BrUHJsYlJiaWpoeEdJZmhieFQvVDRQNG1ERHRv?=
 =?utf-8?B?eExxbWhkVGlPdlZFZkdwOTJxZ3hYNU9lcVk3V0hGVHU5eTkwWDJtZUZyQ0R1?=
 =?utf-8?B?R2lnUDg5MmpLRE9HK3BIN1laOTl6emdaRjJzZXlPS3poUURSaklVNm1vbDJN?=
 =?utf-8?B?ejJKVTA5WTVsb0VoVlFYSmhkSmMyU1RMQTkzWjhkOW9TcUE4VlhmV3ROSnU5?=
 =?utf-8?B?cjl2elYrOXRRY0FWNlFlWE43bEZXNEVEc3lOMXp1QVFDeWt5L1ZtVlFMZGR0?=
 =?utf-8?B?L21SOUdTUFRienJOb29Gc0Fqak5EU2dxQWpQOEZwUDRlaW1vNU9uRXBMUUdJ?=
 =?utf-8?B?MURoRlFFNzJKdUJtcStVU281dUZRbHpKMVJyNklGMVplUy9HV2djMGNYeGp3?=
 =?utf-8?B?U3BaZDR3aUxZK3dSamQvSFRDNFB5YndBL3lwdGdrWkliN1Y5eXZ0NTZsUm94?=
 =?utf-8?B?amZwUGFMWlVRYnk2Y0YrRWtnUGFBdFZWSmpKVkd3Ujd2eHFaeFl5MVhqN3N6?=
 =?utf-8?B?T0JwR1h0eGJpbjdUMkVjbWg3U3MwdkFkWm1za3d0TUFnYnFvSlV5YVQwKzg5?=
 =?utf-8?B?c2h0VUt1M2Q2eXBPdzU2SndxSU9qZ1JpalQwRWFOelpmZXlCM0xXQTZSYVBp?=
 =?utf-8?B?MlBjTUxyM3VHVkp0N2luUFBGNHA5QkZmaURiclM5dnd6VTNXR0hCS2ZGNUFv?=
 =?utf-8?B?cUc4S2ZBemp4RVZqcVA3OElGVkovL0R5ekFXTHh6RUE5WHdPejhlbEtmZWtI?=
 =?utf-8?B?MFZoZy95d2xzeGVKWklPNWc1VDZtajNBZmtZMkp5RStKREZtOWN6b1FFc0RP?=
 =?utf-8?B?WGZGVHY3QUl2VVVZRTEyK0RkelpWM2ZGcmQ3K3kyNHh4aUlFd294WjFvaEN5?=
 =?utf-8?B?b1Q0MEFzaDNHUmRGbFEvcUtibFI1ekI5ZzJlRTN6TzJTOU5kVG1NZ2RudDQw?=
 =?utf-8?B?NS9ub1FoZFJOYVpscDhyWitnL3NwMkRlb1FSLy9rOGZFUXl4dnBwKzhROVY0?=
 =?utf-8?B?dUlCM2hzalVHTGFDVFhZdm5UaStRPT0=?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <11873813DC81C3428DC02A81AB4C1E42@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e8ea79c0-2bf8-4369-e6a1-08d9e1bb6991
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Jan 2022 17:35:29.5001
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Tj7DIbwVecW7o5BsdTLDFrPQVsoUFehs/4xKsLvu7m3xEHRgq1hZUMh7qaCC8SjV+NbSKEVmW5qNQM5QB7YLnIaWHMiIJgQp9Yk4x2pSGDk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR03MB2841
X-OriginatorOrg: citrix.com

T24gMjcvMDEvMjAyMiAxNjo0MSwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDI3LjAxLjIwMjIg
MTc6MDksIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+PiBGcm9tOiBKYW4gQmV1bGljaCA8amJldWxp
Y2hAc3VzZS5jb20+DQo+Pg0KPj4gU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPg0KPj4gU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3Bl
cjNAY2l0cml4LmNvbT4NCj4gQ29uc2lkZXJpbmcgd2hhdCBwYXRjaCAxIGRvZXMgdG8gdGhlIGNv
ZGUsIHdvdWxkIHlvdSBtaW5kIGRyb3BwaW5nDQo+IHRoZSAweDAwMDAwMDAgbnVtYmVyIHByZWZp
eCBmcm9tIHRoZSBzdWJqZWN0Pw0KDQpPb3BzLCB5ZXMuwqAgRG9uZS4NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 18:12:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 18:12:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261688.453302 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nD9FM-0006f8-Ro; Thu, 27 Jan 2022 18:11:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261688.453302; Thu, 27 Jan 2022 18:11: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 1nD9FM-0006f1-Oh; Thu, 27 Jan 2022 18:11:48 +0000
Received: by outflank-mailman (input) for mailman id 261688;
 Thu, 27 Jan 2022 18:11:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OqAq=SL=epam.com=prvs=3026f1f2df=oleksii_moisieiev@srs-se1.protection.inumbo.net>)
 id 1nD9FL-0006eu-0f
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 18:11:47 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 952bf4db-7f9c-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 19:11:44 +0100 (CET)
Received: from pps.filterd (m0174678.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20RGjMxw024158;
 Thu, 27 Jan 2022 18:11:41 GMT
Received: from eur05-am6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2104.outbound.protection.outlook.com [104.47.18.104])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3duy6n0adh-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 27 Jan 2022 18:11:41 +0000
Received: from PA4PR03MB7136.eurprd03.prod.outlook.com (2603:10a6:102:ea::23)
 by AM0PR03MB5057.eurprd03.prod.outlook.com (2603:10a6:208:108::29)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Thu, 27 Jan
 2022 18:11:35 +0000
Received: from PA4PR03MB7136.eurprd03.prod.outlook.com
 ([fe80::711f:a15e:91c1:6d43]) by PA4PR03MB7136.eurprd03.prod.outlook.com
 ([fe80::711f:a15e:91c1:6d43%4]) with mapi id 15.20.4930.015; Thu, 27 Jan 2022
 18:11:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 952bf4db-7f9c-11ec-8eb8-a37418f5ba1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YgGewTgBgKSpRFGow3/7MvlFiVkk3jKIflnG7F7s/qXhYD3ZAxAG5KEVk0ulQjJxrvoEuT8egzz6MS2BNyNe4cYK+d2yLmI4vRTNS+xh/ij3XYK+orI8Vlv/VnyQ9PFbneq6EUOSEmM9v2mb9LCsQhkGEAjinAzIOxRyxAdvuwb4GMmz/PUzHOAc94J8vBaYdcECCf5Ww9TT1ZTTtm8sCXgPfH8OaMM1WD063F4TLOddM53RI1BMITP0NCmG7ukWHGOi98eYv95wxfcsVoPUi+dukAIbxD50KkVyQC312DTTWrV4Svo7zfCguez7SuUHFUF5oTs3euHj6F2a/q1Ckg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EDJsrAySHBWKqPNTbFsG4+WCaf3I2MPm8vprHWNjg/o=;
 b=X1LmD6aslwkj9WyjK0b6GAQp4+5eAbRsl9MEkhY/F0eOITNItm8pt62yzKVYVGGznz8i0sR6wz/ak37VTg7DG4VXCA0aBKlzT7Ikl0qHBThOoqARMYckpdksmwwqFJZYrPjlMVrz9olTgcgzEBXC8E+V6S23sZ8TMS2nIwKjz1ptMZxdfYhoSSPm30ID799X3hR+Ptr7O1qInUxBqaFFsQgn59EyE2VSPojaaKskwWpRnBAL3ERAaaF3UzqH1qhA+uxMUEkPErx/MPR+jjlypDbgyRrKLaBVDXLEVP0D4iozl6uCfZe5YSsrnKl7yWO8+bm4vujqd9Q1RjyQs5wTCA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EDJsrAySHBWKqPNTbFsG4+WCaf3I2MPm8vprHWNjg/o=;
 b=QeOGFtCcgZcSeucivGSJv8r2b6sPdBaFDzOv5Bf4AGKRbGhoDhr+23XPaXVnyRHyy2z86n8rKkCLg9hP9U+YDU7BpJAr1t7FjbbVLvrBG2ZabseFeuqOTHXWilPnrEs+bcUDcixdjN4jkbywxHhha90ShxayjK2WoBm7cVDcOmJzKzrNX+NNoNB36BqIGQA9UhDIQB50mkHTko9DtSi7InRSVEyMCSLfj/DQNs6lgX9SgdXdZHuDuRDieF0IKJuwtz2YVMKFyvo+CROqYSLb37uei2xFuz5z3fPZ/NrivxDp+CidOiH+cfD4s0H1BNyjucdtV3L659tDHpkbWsLAPw==
From: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>,
        "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
Thread-Topic: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
Thread-Index: 
 AQHX8M3JF7Ng56/tV0+8/7pODiaWfKw3iHyAgAQwJICAAG+xgIABQZuAgAAWSACAAOV/AIABANAAgCsRKgCAAOC8gIAAlQqAgADLX4CAARblgIAAX5CAgASN5YCAAAwYAIAABamAgAAvCoCAARH1gIAAcQYAgALwEgA=
Date: Thu, 27 Jan 2022 18:11:33 +0000
Message-ID: <20220127181132.GA149448@EPUAKYIW015D>
References: <20220120102147.GA4153317@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2201201230480.27308@ubuntu-linux-20-04-desktop>
 <20220121150753.GA898010@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2201211236060.27308@ubuntu-linux-20-04-desktop>
 <20220124182249.GA2485483@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2201241056290.27308@ubuntu-linux-20-04-desktop>
 <d5c84296-79a6-5698-802d-4d9ba60dbf24@xen.org>
 <alpine.DEB.2.22.394.2201241403240.27308@ubuntu-linux-20-04-desktop>
 <20220125143515.GA2803662@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2201251245120.27308@ubuntu-linux-20-04-desktop>
In-Reply-To: 
 <alpine.DEB.2.22.394.2201251245120.27308@ubuntu-linux-20-04-desktop>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: c66e833c-04d6-401b-22d0-08d9e1c07355
x-ms-traffictypediagnostic: AM0PR03MB5057:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <AM0PR03MB505795145CD25E6A65160064E3219@AM0PR03MB5057.eurprd03.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: 
 RaEOAUOfFa5PpRRpl4Z0A6z1bhNeEhSsUjZEEvwLb686l1QQyS0kqM3Me04SuxTeupW6MteCBjU8H3AikSRbPdsLC+o3ysuxcVWijg+1YTN+WcInJDF2swNMZwCWkPy/hpGZ5cGqHSJNg/WDHULQk5CKzdthyUV1LbjeTKh9nzFFgb3GL0/wJ5NjqnMEP/45L1xZNrERBgKmrukowoRIZ8AmcmBycpSv2R1Uf6z6PQ1oMU/05N9HB3uIZ51K0ue1Nc/rC5h2jGeBm9u3+hboCSIERKjusI5cyBBBeyagsdArY01nCBC2v1+TBpSEfa/v69eNpl5T4rHWzPR6ycceROJzIMd1ib0ZwOOg/+Lp5aXbWIYTQUr7ZTLfRJSLpnR7QkVJPzucKe2rrzCmALy53AWA3PrYHmFhnAtSBtJ6ScRqyHx926Bo9a6BFfhjnWfel0cVqZmHtea7CYBCT12IvhOS76tlDftZCHNREU9C3U4GNmmcaFRnfHNN3uYlrRWR8BaxzU+vAvnIVczNRQVqB+sI2exPy6EUNpBaH9tF4dBKkbzMaD9H+i2oQ9Adu0i1BVHjUT/l447ld90KtCiA4dBJboYt65fPxEgdUeqA47D73XpqHFih/vmFDnSI6rEyGhzzjioX7hdimokcQawxDMrnMEjGYKcCTgp6OER1ByyIT4srU2o4t+oO/oQxgbICravwjcwhdU2Fj46nDDDnAUlNxuq6HmAQgHGMGJFm7RRWFfv24G6kbSFJHIgh1XBsclDh8AMcJCeQI+Io2fAIS1J0uRMpYx7tk0PUJe8tYXk=
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR03MB7136.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(7916004)(366004)(66946007)(76116006)(66556008)(64756008)(66446008)(66476007)(8936002)(8676002)(5660300002)(54906003)(38100700002)(33656002)(4326008)(71200400001)(122000001)(2906002)(91956017)(316002)(6916009)(9686003)(6486002)(33716001)(6512007)(6506007)(83380400001)(186003)(508600001)(1076003)(38070700005)(26005)(53546011)(966005)(86362001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?us-ascii?Q?iRd+UOgtQABxK5ssrwU2Io1Rc4oSTty8MrPDCCwfVpt57qXiXVJHEQETpC+Q?=
 =?us-ascii?Q?I+O1Yb/fCymdqhuPL3pUgrZpnjcVNDhY3yKuVgtFpyo1j8cuDFC+hzKJRkr1?=
 =?us-ascii?Q?KTNtOkFl0yx3pnsdI1vu8ZmiHywEZQgNuozqcoWYXTbDliRS4hhNcgJQg5Ca?=
 =?us-ascii?Q?XtFKeoKJh6rkBUJH7ryONLOnnwqtlaGnHe4gHWur3ZdK/mexR1drGYkFl6zM?=
 =?us-ascii?Q?FfbtR+xoxAFBVM55oRoZgMd/HhPw5JnAPi4lFJh5XzyzFlgLejBh1jV8KmgW?=
 =?us-ascii?Q?OhP3+6NLtbFEXtLdq6FpcTzyoGYU7ykkWP0LSaCiCD9ML1X1p70VweG6GywK?=
 =?us-ascii?Q?8ZMqqnErKip4hq7FlsQddwSd3++vO+xIe7iCnktzTsuFVVT2uHHXWn9jRbFW?=
 =?us-ascii?Q?Tv2k++0wpHTUFGpYp+eRRZvY1k1d6NLwp9Ahg6btIl9stD9zmxWF2i0e+Fu7?=
 =?us-ascii?Q?uA5LfZdKOgIp+/FJKaskaYxWmamYKLVo7HzjQf53+DoGUgUAa8nr37rPYQzW?=
 =?us-ascii?Q?nPPvzdbaWLc6Oo01x/I5gi73WNeK8O+zwAFPBwWzf5JbiP3qONgcHtSSinIJ?=
 =?us-ascii?Q?zCaknCewyYHm1HfQUAVlZapt2CHl5MW2wufeV+JEe8wMzrjjCVvu3gz7hCLe?=
 =?us-ascii?Q?9ojPXmbML6BxAG1h27LBCPGL96q9Y2eCK6Dfxr6FsJBFSpUgSXCENxpjNtp8?=
 =?us-ascii?Q?yxhYDJTdzkT+gkoSObqsqED2+kzbubASLdGRySxHgBpslB/dP5XrZmSET/Ji?=
 =?us-ascii?Q?/XKP+jMeWmVlZGBwttK5rbh/RW0zgUmgyhWFUSWMlaod/xNG9tpjgNijjdwR?=
 =?us-ascii?Q?sjduobVPpBi9az89bj7AfQjp6NEf1c7gaupBdi4K8NOm9pQUly3gBNdnl1Tg?=
 =?us-ascii?Q?JU4QAyFQAzRZqRJXXfqEYra0k9mJ06Vnj6bVr5x4/2jGX5yMHTdI8yT68m6K?=
 =?us-ascii?Q?2bJ9I5NeQ5ahDFWSTBct2OOnLgpjoyofe8bXN7rLh1Tg8Bn+jOCk6h8aBP36?=
 =?us-ascii?Q?D10tHdV7+OVwFH0+U02K9oZ43N9pzJTHJsZEiXCXs+1WGe4eAHW8L3s/8zvA?=
 =?us-ascii?Q?L3+RMeM90s7sZVp+vBtr7O/wN1hPU4gwovnmLolzSJWg9Fci9ONBHQ7rXnfa?=
 =?us-ascii?Q?tYJA+sdsvee9yfIbIwcZ1OOuupLYnNwAWVFWMjIiwl/yQHN6Im5yAJgPva/k?=
 =?us-ascii?Q?tCM3sZEe0thvPDd7hVikl5PLTgMhkxTdF92UsTfxzwVoRfIT0yI/uNiaGjsp?=
 =?us-ascii?Q?pFuj0vL6tIn5wDcV0Emh9AeDjxCZjoyfRaknyiyka/mGID2ktkEL8gDqu6NH?=
 =?us-ascii?Q?HaZJRZmU1b+5GXouijCNjLsBu0ViKtrMD5QnP1JYYHapN/CZ7W0ScBFOjIw/?=
 =?us-ascii?Q?ag70rlwtPmElhT6EAC7q5FsyTv41ZYTOTvLTQiqtUDI8A8MxSMsMQimwn1JI?=
 =?us-ascii?Q?sM22qxomIDbQlSSE8nm7ElJroXy2QVp9o20YVl6U/jQ6mETo6jo84/+plz62?=
 =?us-ascii?Q?vfUTxDa29n5HFobkfQ6wDC/fKFVvx8ceq5X0zTdXtydvJVKHyU5XBHxVCViq?=
 =?us-ascii?Q?+laSWBETKmp2/7jgCpl4mCZLfhbTTZ7uFQ253d+OOweTMfBP1YbNTcsZLdeC?=
 =?us-ascii?Q?IoOhsQGO5g5WVyEzwDUBL9K5FThGjxYghDJdr6GalkGDBskrxO4Htx5hL2Rc?=
 =?us-ascii?Q?UUmRJz3tZwQXj2QNG9/737W9Lt8=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <C26942C880AC7A48B26D034D5C37A3F8@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PA4PR03MB7136.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c66e833c-04d6-401b-22d0-08d9e1c07355
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Jan 2022 18:11:33.3784
 (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: 6v+A8Fm4xjvJzA/d0N/VuZtJLCCSU4kHArrahzPZr2GrZQ2Eh8zzB0I0SmAZfip1LCMlgevMvdQ3KXHyNzs/uT+Cv2IezIiyj6mFDebgJwI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR03MB5057
X-Proofpoint-ORIG-GUID: MqJApzUtF7ZFnWq6qfE60B5EFiKdKsfY
X-Proofpoint-GUID: MqJApzUtF7ZFnWq6qfE60B5EFiKdKsfY
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-27_03,2022-01-27_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 clxscore=1015
 mlxlogscore=788 impostorscore=0 lowpriorityscore=0 mlxscore=0
 malwarescore=0 adultscore=0 spamscore=0 priorityscore=1501 phishscore=0
 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2201110000 definitions=main-2201270105

On Tue, Jan 25, 2022 at 01:19:46PM -0800, Stefano Stabellini wrote:
> On Tue, 25 Jan 2022, Oleksii Moisieiev wrote:
> > On Mon, Jan 24, 2022 at 02:14:43PM -0800, Stefano Stabellini wrote:
> > > On Mon, 24 Jan 2022, Julien Grall wrote:
> > > > On 24/01/2022 19:06, Stefano Stabellini wrote:
> > > > > It looks like XEN_DOMCTL_host_node_by_path and
> > > > > XEN_DOMCTL_find_host_compatible_node would also solve the problem=
 but I
> > > > > think that a single hypercall that retrieves the entire host DTB =
would
> > > > > be easier to implement
> > > >=20
> > > > DOMCTL should only be used to handle per-domain information. If we =
want to
> > > > create a new sub-hypercall of either __HYPERVISOR_platform_op or
> > > > __HYPERVISOR_sysctl_op (not sure which one).
> > > >=20
> > > > AFAICT, both are versioned.
> > > >=20
> > > > > and more robust in the long term. >
> > > > > hypfs has the advantage that it would create an interface more si=
milar
> > > > > to the one people are already used to on Linux systems
> > > > > (/proc/device-tree). xl/libxl would have to scan the whole hypfs =
tree,
> > > > > which intuitively I think it would be slower.
> > > >=20
> > > > Even if you have the binary blob, you would still have to scan the
> > > > device-tree. That said, it is probably going to be potentially a bi=
t faster
> > > > because you have less hypercall.
> > > >=20
> > > > However, here this is a trade-off between memory use and speed. If =
you want
> > > > speed, then you may have to transfer up to 2MB every time. So the q=
uestion is
> > > > do we care more about speed or memory usage?
> > > >=20
> > > > > Also the feature might be
> > > > > harder to implement but I am not sure.
> > > > >=20
> > > > > I don't have a strong preference and this is not a stable interfa=
ce (we
> > > > > don't have to be extra paranoid about forward and backward
> > > > > compatibility). So I am fine either way. Let's see what the other=
s think
> > > > > as well.
> > > >=20
> > > > My preference would be to use hypfs as this is cleaner than exposin=
g a blob.
> > >=20
> > > That's also fine by me. Probably the hypfs implementation shouldn't b=
e
> > > much more difficult than something like
> > > XEN_DOMCTL_host_node_by_path/XEN_DOMCTL_find_host_compatible_node.
> > >=20
> > >=20
> > > > However, are we sure we can simply copy the content of the host Dev=
ice-Tree to
> > > > the guest Device-Tree for SCMI? For instance, I know that for devic=
e
> > > > passthrough there are some property that needs to be altered for so=
me devices.
> > > > Hence, why it is not present. Although, I vaguely recalled to have =
written a
> > > > PoC, not sure if it was posted on the ML.
> > >=20
> > > The SCMI node cannot be copied "as is" from host to guest. It needs a
> > > couple of changes but they seem feasible as they are limited to the
> > > channels exposed to the guest. (The generic device passthrough case i=
s a
> > > lot more difficult.)
> >=20
> >=20
> > Hi Stefano,
> >=20
> > What I'm thinking about is do we actually need to create SCMI node in D=
omU device-tree?
> > I have this question is because we don't need SCMI node to be present i=
n DomU=20
> > device-tree if it has no passed-through devices, which are using scmi.=
=20
> > So if we don't have passed-through devices or do not provide DomU parti=
al device-tree=20
> > in config, then there is no need to create SCMI node.
> >=20
> > For now I see the following possible domu configurations:
> > 1) If DomU has a lot of passed-through devices and it's easier to inher=
it=20
> > host device-tree and disable not passed-through devices.
> > Partial device tree will looks like this:
> >=20
> > #include "r8a77961-salvator-xs.dts" //include host device tree
> >=20
> > /
> > {
> > 	soc {
> > 		...
> > 	}
> >=20
> > };
> >=20
> > // Disable non passed-through devices
> > &hscif {
> > 	status =3D "disabled";
> > };
> >=20
> > In this case DomU partial device-tree will inherit arm,scmi-smc and=20
> > arm,scmi-shmem nodes and all clock/reset/power-domains which are using =
scmi.=20
> > All this nodes can be copied to DomU device-tree from partial device-tr=
ee.
>=20
> This is an almost dom0 configuration. For this kind of use-cases, I
> think it is enough to handle dom0 automatically correctly. I wouldn't
> ask for anything more than that.
>=20
>=20
> > 2) DomU has few passed-through devices, so it's easier to add the devic=
e nodes=20
> > to the passthrough node of DomU partial device-tree.
> > DomU partial device-tree will look like this:
> > {
> > 	scmi_shmem: scp-shmem@0x53FF0000 {
> > 		compatible =3D "arm,scmi-shmem";
> > 		reg =3D <0x0 0x53FF0000 0x0 0x10000>; =20
> > 	};
> > 	scmi {
> > 		arm,smc-id =3D <....>;
> > 		compatible =3D "arm,scmi-smc";=20
> > 		shmem =3D <&scmi_shmem>;
> > 		scmi_clock: protocol@14 {
> > 			...
> > 		};
> > 		scmi_reset: protocol@16 {
> > 			...
> > 		};
> > 	};=20
> > 	passthrough {
> > 		hscif0: serial@e6540000 {=20
> > 			compatible =3D "renesas,hscif-r8a77961";
> > 			scmi_devid =3D <5>;
> > 			clocks =3D <&scmi_clock 5>;
> > 			resets =3D <&scmi_reset 5>;
> >  			...
> > 		};
> > 	};
> > };
> >=20
> > As you can see in this case we have to manually copy arm,scmi-shmem and=
=20
> > arm,scmi-smc nodes with hscif0 node or the device-tree compilation will=
 fail.
> > We can use 0x53FF0000, provided in arm,scmi-shmem node and map domain c=
hannel=20
> > to this address and copy scmi related nodes to the DomU device-tree.
> > This is useful when we need to expose only certain protocols to the Dom=
U.=20
> > Also it's easy to modify DomU scmi node, as we need for stm32mp1 for ex=
ample=20
> > when different smc-id should be set for DomU.
>=20
> I think this is the most interesting case that should be automated and
> not require manual intervention. Let me explain why.
>=20
> Currently we require partial device trees to be manually written because
> there is no easy way to automatically generate them. (I have some ideas
> on how to automatically generate partial device trees but that is a
> separate discussion.)
>=20
> Unfortunately, it has become increasingly clear that it is too difficult
> for users (even advanced users!) to come up with the appropriate partial
> device trees. Thus, I am reluctant to introduce more things that rely on
> the user having to manually specify partial device tree information.
> This is why I would like the SCMI nodes to be automatically added for
> domUs.
>=20
> Of course, if a user provides the scmi and scmi_shmem nodes in the
> partial device tree we could just use them. But ideally we should also
> be able to automatically generated them based on the host device tree
> nodes, so that the user only needs to provide serial@e6540000 (in your
> example, scmi_devid would need to be populated too) and the rest would
> be done automatically as we do today for the gic and vuart nodes.
>=20
> At the same time I don't want to scope-creep this patch series too much
> and I don't mean to ask you to add a huge new infrastructure to Xen and
> the Xen tools just to get SCMI support in. I would rather have a
> not-great automatic generation of the domU SCMI nodes than nothing (e.g.
> using your suggested XEN_DOMCTL_host_node_by_path and
> XEN_DOMCTL_find_host_compatible_node hypercalls althought they would
> need to be platform_op as Julien suggested).
>=20
> It looks like the generation of scmi_shmem and scmi should be easy
> enough that could be handled without difficulty in xl/libxl. But if that
> turns out to be too difficult, we could have a small independent
> bash/python script that from the host device tree generates the partial
> device tree with the SCMI nodes. From Xen point of view we are would
> still be using the partial device tree, but the partial device tree
> itself would be generated instead of manually written. As this workflow
> requires a separate tool I think it is a worse option than the one
> above. Still better than nothing though.
>=20
Hi Stefano,

Thank you for the detail answer. I went through hypfs and will try to
export host device_tree. Then xl will be able to use hypfs data to
generate arm,scmi-smc node if arm,scmi-smc node was not provided in
DomU partial device-tree. Unfortunately, some changes should be done
to hypfs because it seems not ready to handle nested dynamic dirs.

I'll see if I can update hypfs without breaking the original
functionality. If not, I will have to create all hypfs dir structure on
start. For now I'm working on making dynamically created hypfs tree
structure, based on host device-tree.

Best regards,
Oleksii.
>=20
> > 3) DomU doesn't have any passthrough nodes, which are using scmi.
> > In this case we don't want SCMI nodes to be in the DomU device-tree.
> >=20
> > I see only one use-case when we may need scmi nodes to be generated by =
xl in=20
> > DomU device-tree:
> > Xen generates psci node to handle cpu_on and cpu_off.=20
> > According to the Section 4.3.2.5 of the DEN0056C [1]:
> > > For these power domains, this protocol can be used to implement PSCI =
CPU_SUSPEND, CPU_ON, CPU_FREEZE, CPU_DEFAULT_SUSPEND and CPU_OFF functions.
> >=20
> > So in theory psci node can use scmi to control cpu state. But this is n=
ot our=20
> > use-case because we don't want to give DomU ability to stop physical CP=
U.=20
> > Xen can't intercept and handle CPU_ON and CPU_OFF requests when mailbox=
 transport=20
> > is used for SCMI communication.
> >=20
> > [1] "SCMI Specification DEN0056C," [Online]. Available: https://urldefe=
nse.com/v3/__https://developer.arm.com/documentation/den0056/latest__;!!GF_=
29dbcQIUBPA!k5oB4BpbIN-hU5jrWvNy9FLXi3Kavu3qTr5lESjK8NnlS261E0Nuqg2_pUQWxb2=
hDdLa$ [developer[.]arm[.]com]=20
>=20
> I agree with you on this one; I am not worried about this case.=


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 19:14:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 19:14:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261705.453357 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDADT-0005BP-SE; Thu, 27 Jan 2022 19:13:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261705.453357; Thu, 27 Jan 2022 19:13:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDADT-0005BI-OT; Thu, 27 Jan 2022 19:13:55 +0000
Received: by outflank-mailman (input) for mailman id 261705;
 Thu, 27 Jan 2022 19:13:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nDADS-0005B8-2U; Thu, 27 Jan 2022 19:13:54 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nDADS-0007ZB-0F; Thu, 27 Jan 2022 19:13:54 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nDADR-0000si-F1; Thu, 27 Jan 2022 19:13:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nDADR-0005oD-EH; Thu, 27 Jan 2022 19:13:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ADOUtZhaaBwlWi+LT4aUmiZsPkopO7FI2QHwkINNgQk=; b=V4ao/rLLLRmOdo29cLRmed2HsM
	XZFxsW/av38NNheqi/qf3v/1w30tQaHpFYmjHm+1rCuCYrEKD6bLemt71SWuLMshzKBZA+eOUBzr/
	jnfT0mtXJXkxhYx+kG6fOMyZuS9EXwiB0C8Kj6yueICLlgJPm50MqPlpIon3z/06+oyk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167908-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.14-testing test] 167908: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.14-testing:test-arm64-arm64-xl:debian-fixup:fail:heisenbug
    xen-4.14-testing:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    xen-4.14-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-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-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt: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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-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-amd64-libvirt-vhd: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-libvirt-xsm: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: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-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-rtds:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-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:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-cubietruck: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: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-raw:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=689734d05d5ec6b52b9e84807806471141088d84
X-Osstest-Versions-That:
    xen=45299b3cc83d3d19c24d74f7e28dcc83e8fa0c2e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 27 Jan 2022 19:13:53 +0000

flight 167908 xen-4.14-testing real [real]
flight 167923 xen-4.14-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/167908/
http://logs.test-lab.xenproject.org/osstest/logs/167923/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl          13 debian-fixup        fail pass in 167923-retest

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds    18 guest-start/debian.repeat fail REGR. vs. 167629

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop       fail blocked in 167629
 test-arm64-arm64-xl         15 migrate-support-check fail in 167923 never pass
 test-arm64-arm64-xl     16 saverestore-support-check fail in 167923 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167629
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167629
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167629
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167629
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167629
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167629
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167629
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167629
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167629
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167629
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167629
 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-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      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 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                  689734d05d5ec6b52b9e84807806471141088d84
baseline version:
 xen                  45299b3cc83d3d19c24d74f7e28dcc83e8fa0c2e

Last test of basis   167629  2022-01-07 08:11:06 Z   20 days
Failing since        167812  2022-01-25 13:06:26 Z    2 days    4 attempts
Testing same since   167908  2022-01-27 03:00:00 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>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     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-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   45299b3cc8..689734d05d  689734d05d5ec6b52b9e84807806471141088d84 -> stable-4.14


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 19:24:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 19:24:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261714.453368 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDANg-0006n6-3O; Thu, 27 Jan 2022 19:24:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261714.453368; Thu, 27 Jan 2022 19: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 1nDANf-0006mz-VX; Thu, 27 Jan 2022 19:24:27 +0000
Received: by outflank-mailman (input) for mailman id 261714;
 Thu, 27 Jan 2022 19:24:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NFuB=SL=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1nDANf-0006mt-3r
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 19:24:27 +0000
Received: from mail-lf1-x130.google.com (mail-lf1-x130.google.com
 [2a00:1450:4864:20::130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bd4f4f66-7fa6-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 20:24:26 +0100 (CET)
Received: by mail-lf1-x130.google.com with SMTP id x23so7439449lfc.0
 for <xen-devel@lists.xenproject.org>; Thu, 27 Jan 2022 11:24:25 -0800 (PST)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id v29sm1708667ljv.72.2022.01.27.11.24.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Jan 2022 11:24:24 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bd4f4f66-7fa6-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=subject:to:references:cc:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=HjUKTB0LO38Oq7kA6GWyOqES6oITlEIqKghOGUitPmM=;
        b=If5IjESYuCuDd6wvxK2q2J5tVPPswjhZBJX9HKoDQ4enB/Y531drShAKaVsogMPI98
         R41Xc2dEcoWjMdOjL4mpwPfkIPID0EGelNW63bc6SHpkNHlBdYXM9kdkYQ0vHcwhxYoA
         vvSsPKTO2d1Z/I0kCU8D4t7d+Rjz3gesdUjqLFX1hpzjzIzGeUrNCsrG5rcJi+odWp+W
         TkR+PEBK+G01u/jZVgVoLFc7yuSLwHFOYWX77J8c/rzkxlQKkjp1uQiDf6XIexo40uFQ
         jYZkvfflVn/XXzD8JXIFUF5ZN73C9Vz7XD8vGRuiI6edCqbUwGqPCvIke5dSI/h65i//
         oJZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:subject:to:references:cc:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-transfer-encoding
         :content-language;
        bh=HjUKTB0LO38Oq7kA6GWyOqES6oITlEIqKghOGUitPmM=;
        b=QIeMjgiiwdu5pQaYtzIECJniosR/l7nsQ+skW1onfPmmQ/6iZ3Ndwf4V8hqE5ACVj/
         jBkLy6MCVzZT8+y/J29dpHJGg6AG4AA9rNFSJjENLVqOwpPObp5iAvCgQ39zmY3b2n/k
         QdLN+cK7+ARRw8x2N+BsJGYbYjRijwQshpugO5dfqNBnCw7h+Il1AlqLvlEflhFpTI2z
         yY0LqMQ8uMkOokhzu9xL7FeJclitm6aXRxz/M9NkZRlXxSaU7G/EaOHsx26L9k/JIKey
         9qj7fQjvf3tlZrrV5YDuEH8rEARPFhnXAPMb3I4Nsf9pYRV7M0mgarnGn9Cm5B0YMMf9
         icBA==
X-Gm-Message-State: AOAM531gIWFgM4O9kruA1w7mWE+UVqI1q8ALNyCXyVxK77Ja2Obt8Fw6
	KAxxzofgYV0/hlJKWyE3S2E=
X-Google-Smtp-Source: ABdhPJzFqGceXuqeuVWeqtX4kYiufTB1c5cw1KhmqEwJtl/Tgye5Lh/6zJsJgQyskC2Ypef6jjrMdQ==
X-Received: by 2002:a05:6512:3184:: with SMTP id i4mr3743519lfe.275.1643311465258;
        Thu, 27 Jan 2022 11:24:25 -0800 (PST)
Subject: Re: [PATCH] xen/serial: scif: add support for HSCIF
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
References: <20220127170008.271723-1-volodymyr_babchuk@epam.com>
 <87ee4tgkr3.fsf@epam.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>
From: Oleksandr <olekstysh@gmail.com>
Message-ID: <9b2091c6-8749-98a9-3d57-650d7045c2e5@gmail.com>
Date: Thu, 27 Jan 2022 21:24:24 +0200
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: <87ee4tgkr3.fsf@epam.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US


On 27.01.22 19:18, Volodymyr Babchuk wrote:

Hi Volodymyr

> Hi Julien, Bertrand,
>
> Sorry, I messed up with your e-mail addresses in the previous
> email. Adding you correctly.
>
> Volodymyr Babchuk <volodymyr_babchuk@epam.com> writes:
>
>> HSCIF is a high-speed variant of Renesas SCIF serial interface. From
>> Xen point of view, they almost the same, only difference is in FIFO
>> size.
>>
>> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>> ---
>>   xen/drivers/char/scif-uart.c | 13 +++++++++++++
>>   1 file changed, 13 insertions(+)
>>
>> diff --git a/xen/drivers/char/scif-uart.c b/xen/drivers/char/scif-uart.c
>> index ee204a11a4..8f4485bdfc 100644
>> --- a/xen/drivers/char/scif-uart.c
>> +++ b/xen/drivers/char/scif-uart.c
>> @@ -47,6 +47,7 @@ enum port_types
>>   {
>>       SCIF_PORT,
>>       SCIFA_PORT,
>> +    HSCIF_PORT,
>>       NR_PORTS,
>>   };
>>   
>> @@ -88,6 +89,17 @@ static const struct port_params port_params[NR_PORTS] =
>>                           SCASCR_BRIE,
>>           .fifo_size    = 64,
>>       },
>> +    [HSCIF_PORT] =
>> +    {
>> +        .status_reg   = SCIF_SCFSR,
>> +        .tx_fifo_reg  = SCIF_SCFTDR,
>> +        .rx_fifo_reg  = SCIF_SCFRDR,
>> +        .overrun_reg  = SCIF_SCLSR,
>> +        .overrun_mask = SCLSR_ORER,
>> +        .error_mask   = SCFSR_PER | SCFSR_FER | SCFSR_BRK | SCFSR_ER,
>> +        .irq_flags    = SCSCR_RIE | SCSCR_TIE | SCSCR_REIE,
>> +        .fifo_size    = 128,
>> +    },
>>   };
>>   
>>   static void scif_uart_interrupt(int irq, void *data, struct cpu_user_regs *regs)
>> @@ -288,6 +300,7 @@ static const struct dt_device_match scif_uart_dt_match[] __initconst =
>>   {
>>       { .compatible = "renesas,scif",  .data = &port_params[SCIF_PORT] },
>>       { .compatible = "renesas,scifa", .data = &port_params[SCIFA_PORT] },
>> +    { .compatible = "renesas,hscif", .data = &port_params[HSCIF_PORT] },
>>       { /* sentinel */ },
>>   };


nit: I would also update description string at the beginning of that file.

  Driver for SCIF(A) ... ---> Driver for (H)SCIF(A) ...


With or without that change:

Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>


>
-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 19:56:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 19:56:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261720.453390 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDAsg-00026G-S3; Thu, 27 Jan 2022 19:56:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261720.453390; Thu, 27 Jan 2022 19:56:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDAsg-000269-PB; Thu, 27 Jan 2022 19:56:30 +0000
Received: by outflank-mailman (input) for mailman id 261720;
 Thu, 27 Jan 2022 19:56:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NFuB=SL=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1nDAsf-0001qT-84
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 19:56:29 +0000
Received: from mail-lj1-x22b.google.com (mail-lj1-x22b.google.com
 [2a00:1450:4864:20::22b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 36c40072-7fab-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 20:56:27 +0100 (CET)
Received: by mail-lj1-x22b.google.com with SMTP id c7so5392215ljr.13
 for <xen-devel@lists.xenproject.org>; Thu, 27 Jan 2022 11:56:28 -0800 (PST)
Received: from otyshchenko.router ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id j18sm897631lja.26.2022.01.27.11.56.26
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Thu, 27 Jan 2022 11:56:27 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 36c40072-7fab-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=from:to:cc:subject:date:message-id:in-reply-to:references;
        bh=eo+OIjpWTXwwmP6Pj09KcPNoGuASdj6ZBH9bhBu2VCw=;
        b=iDUfuS+F3RXhOl1S+NtxvwmywXVfdpg/1suc17SJauTt31SRjVBqOSPkY8HPRZ3yht
         V5rDuJcBddF2xl3DbceoNuYAQUUSF5qiU0E52+J/aACS257yTq1T6Nn+iPxdZdaE9kDL
         hf2T1BPiO/T3Sa86kIZztllTb4j+uouEzdxgh0tu6ZzNjiEgvtVjlw7zn91CzZZFcjz7
         Sc3dQrctP6ihBiQKEFE7e8XdNr9NhI0fceClfyLTbSsdSxuC0UT5saRMxGnNvELm1Jad
         QjtHBIJJlYfR5e8F03PVzrDbj4OQvKjuaXZsyB+YTvqlJ8GtE0X8NwZyY5ixxO3wH5XY
         E68g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references;
        bh=eo+OIjpWTXwwmP6Pj09KcPNoGuASdj6ZBH9bhBu2VCw=;
        b=LTtVdKlzLSCs+4OXazw/x2pcIVG3MmA420q+U6x3tvugG2ngkekTTnD4kwigxvaFxA
         6kVGCJb5FlUEJnuRYcp8HHnxxtB9WCckOj3G/e3fsDV+uZti8WjHLg8YSZGC19jYy5eI
         LK2/nYBeAK+O1K1SECCDDlrkQd3L+M3CnW6pB7OaPQzlJUZHMqnHXh4/+OPmgxtADkwl
         UsrTobqukwEiN9lAO4ujOXwNgP2T9JBpAye7sOc7M4hEIEBhM6gm/vC7VpU+/eYTNpN7
         DSjycmtkPiZJba6CKTv+eWpR5AzutOXaP3mj2D7WnYPvmGAvyK9tZjPT3pktMbDzVIdX
         1HXw==
X-Gm-Message-State: AOAM532KGCYVmToaa67mwl3PT/bK82mP+yh9oqbeqyz/4rBuWNKRBKnP
	lxhT7eqixU7o7bLS2r0K2WA1ARnN9Vk=
X-Google-Smtp-Source: ABdhPJyd1lR2ZBeKpiYRAK/LysWfxNy0vopwBbbkjjazDv5ZCPLS4hfEdTurAUDwwUCv2rBBBlQH1Q==
X-Received: by 2002:a2e:a786:: with SMTP id c6mr3545836ljf.385.1643313387620;
        Thu, 27 Jan 2022 11:56:27 -0800 (PST)
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>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>,
	Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Subject: [PATCH V3 1/2] iommu/ipmmu-vmsa: Use refcount for the micro-TLBs
Date: Thu, 27 Jan 2022 21:55:51 +0200
Message-Id: <1643313352-29940-2-git-send-email-olekstysh@gmail.com>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1643313352-29940-1-git-send-email-olekstysh@gmail.com>
References: <1643313352-29940-1-git-send-email-olekstysh@gmail.com>

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

Reference-count the micro-TLBs as several bus masters can be
connected to the same micro-TLB (and drop TODO comment).
This wasn't an issue so far, since the platform devices
(this driver deals with) get assigned/deassigned together during
domain creation/destruction. But, in order to support PCI devices
(which are hot-pluggable) in the near future we will need to
take care of.

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
---
Changes V1 -> V2:
   - add R-b
   - add ASSERT() in ipmmu_utlb_disable()

Changes V2 -> V3:
   - add comment to the code
---
 xen/drivers/passthrough/arm/ipmmu-vmsa.c | 21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)

diff --git a/xen/drivers/passthrough/arm/ipmmu-vmsa.c b/xen/drivers/passthrough/arm/ipmmu-vmsa.c
index 649b9f6..c912120 100644
--- a/xen/drivers/passthrough/arm/ipmmu-vmsa.c
+++ b/xen/drivers/passthrough/arm/ipmmu-vmsa.c
@@ -127,6 +127,7 @@ struct ipmmu_vmsa_device {
     spinlock_t lock;    /* Protects ctx and domains[] */
     DECLARE_BITMAP(ctx, IPMMU_CTX_MAX);
     struct ipmmu_vmsa_domain *domains[IPMMU_CTX_MAX];
+    unsigned int utlb_refcount[IPMMU_UTLB_MAX];
     const struct ipmmu_features *features;
 };
 
@@ -468,12 +469,17 @@ static int ipmmu_utlb_enable(struct ipmmu_vmsa_domain *domain,
     }
 
     /*
-     * TODO: Reference-count the micro-TLB as several bus masters can be
-     * connected to the same micro-TLB.
+     * Reference-count the micro-TLBs as several bus masters can be connected
+     * to the same micro-TLB. The platform devices get assigned/deassigned
+     * together during domain creation/destruction. The PCI devices which use
+     * the same micro-TLB must also be hot-(un)plugged together.
      */
-    ipmmu_imuasid_write(mmu, utlb, 0);
-    ipmmu_imuctr_write(mmu, utlb, imuctr |
-                       IMUCTR_TTSEL_MMU(domain->context_id) | IMUCTR_MMUEN);
+    if ( mmu->utlb_refcount[utlb]++ == 0 )
+    {
+        ipmmu_imuasid_write(mmu, utlb, 0);
+        ipmmu_imuctr_write(mmu, utlb, imuctr |
+                           IMUCTR_TTSEL_MMU(domain->context_id) | IMUCTR_MMUEN);
+    }
 
     return 0;
 }
@@ -484,7 +490,10 @@ static void ipmmu_utlb_disable(struct ipmmu_vmsa_domain *domain,
 {
     struct ipmmu_vmsa_device *mmu = domain->mmu;
 
-    ipmmu_imuctr_write(mmu, utlb, 0);
+    ASSERT(mmu->utlb_refcount[utlb] > 0);
+
+    if ( --mmu->utlb_refcount[utlb] == 0 )
+        ipmmu_imuctr_write(mmu, utlb, 0);
 }
 
 /* Domain/Context Management */
-- 
2.7.4



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 19:56:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 19:56:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261719.453379 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDAsf-0001qg-KX; Thu, 27 Jan 2022 19:56:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261719.453379; Thu, 27 Jan 2022 19:56:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDAsf-0001qZ-HR; Thu, 27 Jan 2022 19:56:29 +0000
Received: by outflank-mailman (input) for mailman id 261719;
 Thu, 27 Jan 2022 19:56:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NFuB=SL=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1nDAse-0001qN-CE
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 19:56:28 +0000
Received: from mail-lj1-x231.google.com (mail-lj1-x231.google.com
 [2a00:1450:4864:20::231])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 368b2239-7fab-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 20:56:27 +0100 (CET)
Received: by mail-lj1-x231.google.com with SMTP id j14so5938385lja.3
 for <xen-devel@lists.xenproject.org>; Thu, 27 Jan 2022 11:56:27 -0800 (PST)
Received: from otyshchenko.router ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id j18sm897631lja.26.2022.01.27.11.56.25
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Thu, 27 Jan 2022 11:56:25 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 368b2239-7fab-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=from:to:cc:subject:date:message-id;
        bh=apbir4IjKg1w+3c39Se1f3s+WEDrg8JE1dUFOnBYRx8=;
        b=QAv58k13Gpm6ZKlZNZaGBbuaqV2zltJ05dkI2VtzvT/hoOA4zUwvpiI8CV87yQdwxz
         KlDuyc20IW6mGx1e6FPzdxtws+8cynt8O3SBT8kL/Q1bZD2dlpd9Cq+2igp8crTHOzuy
         +WVKtH2Rzt8KWkzPc6177aj3ZDbVx7FC46F/lE9Dmtfqd2dhZK+vu52nG1rEGs+GCwhh
         fvrCfSOgsIqB14nNUI3cJkGnTUoItN8f8Kf63nBjAnLf17Spa0dejjzCW5+PPJBa+q3e
         mQDHQT8tJcLuPIxpfG+a+3KpZNiWelRTaLx931vz7fa6vpd50R0fwoS9RvxsiRAOqz64
         WGgQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id;
        bh=apbir4IjKg1w+3c39Se1f3s+WEDrg8JE1dUFOnBYRx8=;
        b=20zerNZS/IbwIw6b2084nT/W8MmnEJBMuf/Y+EMSOZvO7pA3hgXFf8mpRIp3q+6LhL
         7jHZkcotoIARCFgEuPswX2ZD/4wu6wPF6a7ERI/DLCMQk0lwIXWTS+3i7s4CaL1UhKkF
         18uY86DX7SZOZIE1xvzEZR9/8LH1QYnoP9Hxyhha3YLvAm+q+T91IFTIwqrc6DqYIk+n
         OQHVfYc57cOirBkjkAO+5fawR80AgRum/ddBHlHmuP1lZGjPqs7tAt3Q8PIaYuMnhcib
         Nv69NPhb4S6jVOG1Eqf56SS1jsUoluRKQy5aZARToU0emntCrOos3/tm/rl10aiOv6xz
         oEiQ==
X-Gm-Message-State: AOAM531793kcq5oeWeU7SMzRl631E+ubfpb7EYWBy8QAx4HKBBFuE4pd
	cVqtXxuo2VnEQ0WvTFnL9ioofDjVdI0=
X-Google-Smtp-Source: ABdhPJxnFCsPZPqfhxrLyAr2O47O6RX++UinGksAuJA2tdhK83/KQnVBmgyRjTSFjfHhljwAln65jA==
X-Received: by 2002:a2e:9d0a:: with SMTP id t10mr3703284lji.219.1643313386531;
        Thu, 27 Jan 2022 11:56:26 -0800 (PST)
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>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Rahul Singh <rahul.singh@arm.com>,
	Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>,
	Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Subject: [PATCH V3 0/2] Add support for Renesas R-Car S4 IPMMU and other misc changes (remaining 2 patches)
Date: Thu, 27 Jan 2022 21:55:50 +0200
Message-Id: <1643313352-29940-1-git-send-email-olekstysh@gmail.com>
X-Mailer: git-send-email 2.7.4

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

Hello all.

You can find the V1-V2 patch series at [1]-[2].

The first 8 patches (prereq work + R-Car S4 IPMMU support) have been already committed.
These are remaining 2 patches which include misc changes.

[1] https://lore.kernel.org/all/1638035505-16931-1-git-send-email-olekstysh@gmail.com/
[2] https://lore.kernel.org/all/1640034957-19764-1-git-send-email-olekstysh@gmail.com/

Oleksandr Tyshchenko (2):
  iommu/ipmmu-vmsa: Use refcount for the micro-TLBs
  iommu/arm: Remove code duplication in all IOMMU drivers

 xen/drivers/passthrough/arm/iommu.c      |  7 +++++++
 xen/drivers/passthrough/arm/ipmmu-vmsa.c | 36 ++++++++++++++------------------
 xen/drivers/passthrough/arm/smmu-v3.c    | 17 +--------------
 xen/drivers/passthrough/arm/smmu.c       | 17 +--------------
 4 files changed, 25 insertions(+), 52 deletions(-)

-- 
2.7.4



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 19:56:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 19:56:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261721.453401 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDAsi-0002M5-57; Thu, 27 Jan 2022 19:56:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261721.453401; Thu, 27 Jan 2022 19:56:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDAsi-0002Lu-1d; Thu, 27 Jan 2022 19:56:32 +0000
Received: by outflank-mailman (input) for mailman id 261721;
 Thu, 27 Jan 2022 19:56:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NFuB=SL=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1nDAsf-0001qN-Tx
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 19:56:30 +0000
Received: from mail-lf1-x133.google.com (mail-lf1-x133.google.com
 [2a00:1450:4864:20::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 379aabe7-7fab-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 20:56:29 +0100 (CET)
Received: by mail-lf1-x133.google.com with SMTP id u6so7420582lfm.10
 for <xen-devel@lists.xenproject.org>; Thu, 27 Jan 2022 11:56:29 -0800 (PST)
Received: from otyshchenko.router ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id j18sm897631lja.26.2022.01.27.11.56.27
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Thu, 27 Jan 2022 11:56:28 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 379aabe7-7fab-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=from:to:cc:subject:date:message-id:in-reply-to:references;
        bh=9x3Unk7KT3XMe8edi/04ny0Op6Yqm01LPkdhOdEqFH8=;
        b=nItGuj/k8uxRgN8VTCw9s0qR1Fbpu7B1F7RuxhrBsjHIryfVgsBTWu9hCspadqILtT
         3N+ijPeqKmSLiZqJVIMVOPU2Ut9cgG8fQZ9PG5ZW7bUkHtc6P86L1IJOKEPOMdxBzdbH
         R9VxIEFSdFnuhzEoYw8A49N1qOwYp7hYEj+vGwXMNEOW1S3qxfQ+gQj5GNVECYGhWYfb
         E7koa63MAAG3EOs5moEoV8afkX1IQTpReZQSyhuX8gWfPI2LnwrGXnikvceUUFRZnliI
         IL+F06aCyzk19Ko0PkvEEZZYL2xsAsGDf5eZf5W54hnhQZtHSxz+2c0Szr4GY0iS1f/5
         Eh/g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references;
        bh=9x3Unk7KT3XMe8edi/04ny0Op6Yqm01LPkdhOdEqFH8=;
        b=WXre7v3PHXCGSh15G9QtjdZoKjoUAzXd93lherOmPZQWN2U3ixVkdyfYnxwefryKsE
         95c+ycePP+5xSx0waH8R+PpW2KnOkWySnOiq1h/DsPbdHwQdjYtT1lSjpDkv/OlFIJlJ
         ivuFE7jJupPreZVI4uU5h0yHnj9H/sNIqN3OdApNFY+p1FMw3xXNot7TMxGhpAgyUbjB
         BEZWcl1diShWmwwBIP2jOS4vC+SuNJUw2YDaYX9Q7flaxQBw5YlHrkWSsQCESfGt+Eym
         bYn/rV/qtDI4TGHv4H+pqhRsN404/DL8wdTWHj+aospZTSx6QpWc1tWgKi1cIAl838mt
         YYjQ==
X-Gm-Message-State: AOAM532dshYAbIVJeB6nn9U0DgNN0wiDDUJe63mB0jL044to9mcrCVXJ
	1vO8BCLjqmmeTHeVHBtb8fwFpDw1SKw=
X-Google-Smtp-Source: ABdhPJwvCtFrFAerya6ye4MW9mbvSwPBeHBGZp6QwFtTmX3fBdWqDyVFbVqQNr6c+go6DbE3Ik1ffA==
X-Received: by 2002:a19:4f4a:: with SMTP id a10mr3726025lfk.397.1643313388555;
        Thu, 27 Jan 2022 11:56:28 -0800 (PST)
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>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Rahul Singh <rahul.singh@arm.com>,
	Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>,
	Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Subject: [PATCH V3 2/2] iommu/arm: Remove code duplication in all IOMMU drivers
Date: Thu, 27 Jan 2022 21:55:52 +0200
Message-Id: <1643313352-29940-3-git-send-email-olekstysh@gmail.com>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1643313352-29940-1-git-send-email-olekstysh@gmail.com>
References: <1643313352-29940-1-git-send-email-olekstysh@gmail.com>

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

All IOMMU drivers on Arm perform almost the same generic actions in
hwdom_init callback. Move this code to common arch_iommu_hwdom_init()
in order to get rid of code duplication.

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Reviewed-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
---
Changes V1 -> V2:
   - add R-b

Changes V2 -> V3:
   - drop platform specific *_iommu_hwdom_init(), make .hwdom_init
     to directly point to the common arch_iommu_hwdom_init()
---
 xen/drivers/passthrough/arm/iommu.c      |  7 +++++++
 xen/drivers/passthrough/arm/ipmmu-vmsa.c | 15 +--------------
 xen/drivers/passthrough/arm/smmu-v3.c    | 17 +----------------
 xen/drivers/passthrough/arm/smmu.c       | 17 +----------------
 4 files changed, 10 insertions(+), 46 deletions(-)

diff --git a/xen/drivers/passthrough/arm/iommu.c b/xen/drivers/passthrough/arm/iommu.c
index ee653a9..fc45318 100644
--- a/xen/drivers/passthrough/arm/iommu.c
+++ b/xen/drivers/passthrough/arm/iommu.c
@@ -134,6 +134,13 @@ void arch_iommu_domain_destroy(struct domain *d)
 
 void __hwdom_init arch_iommu_hwdom_init(struct domain *d)
 {
+    /* Set to false options not supported on ARM. */
+    if ( iommu_hwdom_inclusive )
+        printk(XENLOG_WARNING "map-inclusive dom0-iommu option is not supported on ARM\n");
+    iommu_hwdom_inclusive = false;
+    if ( iommu_hwdom_reserved == 1 )
+        printk(XENLOG_WARNING "map-reserved dom0-iommu option is not supported on ARM\n");
+    iommu_hwdom_reserved = 0;
 }
 
 /*
diff --git a/xen/drivers/passthrough/arm/ipmmu-vmsa.c b/xen/drivers/passthrough/arm/ipmmu-vmsa.c
index c912120..d2572bc 100644
--- a/xen/drivers/passthrough/arm/ipmmu-vmsa.c
+++ b/xen/drivers/passthrough/arm/ipmmu-vmsa.c
@@ -1329,19 +1329,6 @@ static int ipmmu_iommu_domain_init(struct domain *d)
     return 0;
 }
 
-static void __hwdom_init ipmmu_iommu_hwdom_init(struct domain *d)
-{
-    /* Set to false options not supported on ARM. */
-    if ( iommu_hwdom_inclusive )
-        printk(XENLOG_WARNING "ipmmu: map-inclusive dom0-iommu option is not supported on ARM\n");
-    iommu_hwdom_inclusive = false;
-    if ( iommu_hwdom_reserved == 1 )
-        printk(XENLOG_WARNING "ipmmu: map-reserved dom0-iommu option is not supported on ARM\n");
-    iommu_hwdom_reserved = 0;
-
-    arch_iommu_hwdom_init(d);
-}
-
 static void ipmmu_iommu_domain_teardown(struct domain *d)
 {
     struct ipmmu_vmsa_xen_domain *xen_domain = dom_iommu(d)->arch.priv;
@@ -1369,7 +1356,7 @@ static void ipmmu_iommu_domain_teardown(struct domain *d)
 static const struct iommu_ops ipmmu_iommu_ops =
 {
     .init            = ipmmu_iommu_domain_init,
-    .hwdom_init      = ipmmu_iommu_hwdom_init,
+    .hwdom_init      = arch_iommu_hwdom_init,
     .teardown        = ipmmu_iommu_domain_teardown,
     .iotlb_flush     = ipmmu_iotlb_flush,
     .iotlb_flush_all = ipmmu_iotlb_flush_all,
diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
index d115df7..71b022f 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -3402,21 +3402,6 @@ static int arm_smmu_iommu_xen_domain_init(struct domain *d)
 
 }
 
-static void __hwdom_init arm_smmu_iommu_hwdom_init(struct domain *d)
-{
-	/* Set to false options not supported on ARM. */
-	if (iommu_hwdom_inclusive)
-		printk(XENLOG_WARNING
-		"map-inclusive dom0-iommu option is not supported on ARM\n");
-	iommu_hwdom_inclusive = false;
-	if (iommu_hwdom_reserved == 1)
-		printk(XENLOG_WARNING
-		"map-reserved dom0-iommu option is not supported on ARM\n");
-	iommu_hwdom_reserved = 0;
-
-	arch_iommu_hwdom_init(d);
-}
-
 static void arm_smmu_iommu_xen_domain_teardown(struct domain *d)
 {
 	struct arm_smmu_xen_domain *xen_domain = dom_iommu(d)->arch.priv;
@@ -3427,7 +3412,7 @@ static void arm_smmu_iommu_xen_domain_teardown(struct domain *d)
 
 static const struct iommu_ops arm_smmu_iommu_ops = {
 	.init		= arm_smmu_iommu_xen_domain_init,
-	.hwdom_init		= arm_smmu_iommu_hwdom_init,
+	.hwdom_init		= arch_iommu_hwdom_init,
 	.teardown		= arm_smmu_iommu_xen_domain_teardown,
 	.iotlb_flush		= arm_smmu_iotlb_flush,
 	.iotlb_flush_all	= arm_smmu_iotlb_flush_all,
diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough/arm/smmu.c
index c9dfc4c..b186c28 100644
--- a/xen/drivers/passthrough/arm/smmu.c
+++ b/xen/drivers/passthrough/arm/smmu.c
@@ -2849,21 +2849,6 @@ static int arm_smmu_iommu_domain_init(struct domain *d)
 	return 0;
 }
 
-static void __hwdom_init arm_smmu_iommu_hwdom_init(struct domain *d)
-{
-	/* Set to false options not supported on ARM. */
-	if ( iommu_hwdom_inclusive )
-		printk(XENLOG_WARNING
-		"map-inclusive dom0-iommu option is not supported on ARM\n");
-	iommu_hwdom_inclusive = false;
-	if ( iommu_hwdom_reserved == 1 )
-		printk(XENLOG_WARNING
-		"map-reserved dom0-iommu option is not supported on ARM\n");
-	iommu_hwdom_reserved = 0;
-
-	arch_iommu_hwdom_init(d);
-}
-
 static void arm_smmu_iommu_domain_teardown(struct domain *d)
 {
 	struct arm_smmu_xen_domain *xen_domain = dom_iommu(d)->arch.priv;
@@ -2874,7 +2859,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,
+    .hwdom_init = arch_iommu_hwdom_init,
     .add_device = arm_smmu_dt_add_device_generic,
     .teardown = arm_smmu_iommu_domain_teardown,
     .iotlb_flush = arm_smmu_iotlb_flush,
-- 
2.7.4



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 20:03:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 20:03:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261731.453412 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDAz7-0004bn-SK; Thu, 27 Jan 2022 20:03:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261731.453412; Thu, 27 Jan 2022 20:03:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDAz7-0004bg-P7; Thu, 27 Jan 2022 20:03:09 +0000
Received: by outflank-mailman (input) for mailman id 261731;
 Thu, 27 Jan 2022 20:03: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 1nDAz7-0004ba-B1
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 20:03: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 1nDAz6-00005Q-Jg; Thu, 27 Jan 2022 20:03:08 +0000
Received: from 54-240-197-225.amazon.com ([54.240.197.225]
 helo=[192.168.9.172]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nDAz6-00074V-DN; Thu, 27 Jan 2022 20:03:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=T2Kyz6lgnejr3D4ZhCpmhrSm6pLCpXAeIHE8s+dkpm0=; b=R0cCkiJoVlPZcmfC/HkNTAIgKx
	cakGr2ij5zzSSpvoh/zSTvMOkFMjcD7DSmgghkI/DSgj42UUvycJ9CNY0yJFUKIhoExrY6IykNiYc
	Ie5/Mr7AqHi1TxgiSoYot37IFtfrFRexuMNbW4TdtA8MmG6l2v0nhC6Di4KAlca9ep9g=;
Message-ID: <1532ec77-17d3-665b-3c19-ab8fd4147a7d@xen.org>
Date: Thu, 27 Jan 2022 20:03:06 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [PATCH V3 2/2] iommu/arm: Remove code duplication in all IOMMU
 drivers
To: Oleksandr Tyshchenko <olekstysh@gmail.com>, xen-devel@lists.xenproject.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Rahul Singh <rahul.singh@arm.com>,
 Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>,
 Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
References: <1643313352-29940-1-git-send-email-olekstysh@gmail.com>
 <1643313352-29940-3-git-send-email-olekstysh@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <1643313352-29940-3-git-send-email-olekstysh@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 27/01/2022 19:55, Oleksandr Tyshchenko wrote:
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> 
> All IOMMU drivers on Arm perform almost the same generic actions in
> hwdom_init callback. Move this code to common arch_iommu_hwdom_init()
> in order to get rid of code duplication.
> 
> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> Reviewed-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>

IMO, the reviewed-by tags should have been dropped with the changes you 
made. So I would like both reviewer to confirm they are happy with the 
change.

This also technically needs an ack from Bertrand/Rahul.

> ---
> Changes V1 -> V2:
>     - add R-b
> 
> Changes V2 -> V3:
>     - drop platform specific *_iommu_hwdom_init(), make .hwdom_init
>       to directly point to the common arch_iommu_hwdom_init()
> ---
>   xen/drivers/passthrough/arm/iommu.c      |  7 +++++++
>   xen/drivers/passthrough/arm/ipmmu-vmsa.c | 15 +--------------
>   xen/drivers/passthrough/arm/smmu-v3.c    | 17 +----------------
>   xen/drivers/passthrough/arm/smmu.c       | 17 +----------------
>   4 files changed, 10 insertions(+), 46 deletions(-)
> 
> diff --git a/xen/drivers/passthrough/arm/iommu.c b/xen/drivers/passthrough/arm/iommu.c
> index ee653a9..fc45318 100644
> --- a/xen/drivers/passthrough/arm/iommu.c
> +++ b/xen/drivers/passthrough/arm/iommu.c
> @@ -134,6 +134,13 @@ void arch_iommu_domain_destroy(struct domain *d)
>   
>   void __hwdom_init arch_iommu_hwdom_init(struct domain *d)
>   {
> +    /* Set to false options not supported on ARM. */
> +    if ( iommu_hwdom_inclusive )
> +        printk(XENLOG_WARNING "map-inclusive dom0-iommu option is not supported on ARM\n");
> +    iommu_hwdom_inclusive = false;
> +    if ( iommu_hwdom_reserved == 1 )
> +        printk(XENLOG_WARNING "map-reserved dom0-iommu option is not supported on ARM\n");
> +    iommu_hwdom_reserved = 0;
>   }
>   
>   /*
> diff --git a/xen/drivers/passthrough/arm/ipmmu-vmsa.c b/xen/drivers/passthrough/arm/ipmmu-vmsa.c
> index c912120..d2572bc 100644
> --- a/xen/drivers/passthrough/arm/ipmmu-vmsa.c
> +++ b/xen/drivers/passthrough/arm/ipmmu-vmsa.c
> @@ -1329,19 +1329,6 @@ static int ipmmu_iommu_domain_init(struct domain *d)
>       return 0;
>   }
>   
> -static void __hwdom_init ipmmu_iommu_hwdom_init(struct domain *d)
> -{
> -    /* Set to false options not supported on ARM. */
> -    if ( iommu_hwdom_inclusive )
> -        printk(XENLOG_WARNING "ipmmu: map-inclusive dom0-iommu option is not supported on ARM\n");
> -    iommu_hwdom_inclusive = false;
> -    if ( iommu_hwdom_reserved == 1 )
> -        printk(XENLOG_WARNING "ipmmu: map-reserved dom0-iommu option is not supported on ARM\n");
> -    iommu_hwdom_reserved = 0;
> -
> -    arch_iommu_hwdom_init(d);
> -}
> -
>   static void ipmmu_iommu_domain_teardown(struct domain *d)
>   {
>       struct ipmmu_vmsa_xen_domain *xen_domain = dom_iommu(d)->arch.priv;
> @@ -1369,7 +1356,7 @@ static void ipmmu_iommu_domain_teardown(struct domain *d)
>   static const struct iommu_ops ipmmu_iommu_ops =
>   {
>       .init            = ipmmu_iommu_domain_init,
> -    .hwdom_init      = ipmmu_iommu_hwdom_init,
> +    .hwdom_init      = arch_iommu_hwdom_init,
>       .teardown        = ipmmu_iommu_domain_teardown,
>       .iotlb_flush     = ipmmu_iotlb_flush,
>       .iotlb_flush_all = ipmmu_iotlb_flush_all,
> diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
> index d115df7..71b022f 100644
> --- a/xen/drivers/passthrough/arm/smmu-v3.c
> +++ b/xen/drivers/passthrough/arm/smmu-v3.c
> @@ -3402,21 +3402,6 @@ static int arm_smmu_iommu_xen_domain_init(struct domain *d)
>   
>   }
>   
> -static void __hwdom_init arm_smmu_iommu_hwdom_init(struct domain *d)
> -{
> -	/* Set to false options not supported on ARM. */
> -	if (iommu_hwdom_inclusive)
> -		printk(XENLOG_WARNING
> -		"map-inclusive dom0-iommu option is not supported on ARM\n");
> -	iommu_hwdom_inclusive = false;
> -	if (iommu_hwdom_reserved == 1)
> -		printk(XENLOG_WARNING
> -		"map-reserved dom0-iommu option is not supported on ARM\n");
> -	iommu_hwdom_reserved = 0;
> -
> -	arch_iommu_hwdom_init(d);
> -}
> -
>   static void arm_smmu_iommu_xen_domain_teardown(struct domain *d)
>   {
>   	struct arm_smmu_xen_domain *xen_domain = dom_iommu(d)->arch.priv;
> @@ -3427,7 +3412,7 @@ static void arm_smmu_iommu_xen_domain_teardown(struct domain *d)
>   
>   static const struct iommu_ops arm_smmu_iommu_ops = {
>   	.init		= arm_smmu_iommu_xen_domain_init,
> -	.hwdom_init		= arm_smmu_iommu_hwdom_init,
> +	.hwdom_init		= arch_iommu_hwdom_init,
>   	.teardown		= arm_smmu_iommu_xen_domain_teardown,
>   	.iotlb_flush		= arm_smmu_iotlb_flush,
>   	.iotlb_flush_all	= arm_smmu_iotlb_flush_all,
> diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough/arm/smmu.c
> index c9dfc4c..b186c28 100644
> --- a/xen/drivers/passthrough/arm/smmu.c
> +++ b/xen/drivers/passthrough/arm/smmu.c
> @@ -2849,21 +2849,6 @@ static int arm_smmu_iommu_domain_init(struct domain *d)
>   	return 0;
>   }
>   
> -static void __hwdom_init arm_smmu_iommu_hwdom_init(struct domain *d)
> -{
> -	/* Set to false options not supported on ARM. */
> -	if ( iommu_hwdom_inclusive )
> -		printk(XENLOG_WARNING
> -		"map-inclusive dom0-iommu option is not supported on ARM\n");
> -	iommu_hwdom_inclusive = false;
> -	if ( iommu_hwdom_reserved == 1 )
> -		printk(XENLOG_WARNING
> -		"map-reserved dom0-iommu option is not supported on ARM\n");
> -	iommu_hwdom_reserved = 0;
> -
> -	arch_iommu_hwdom_init(d);
> -}
> -
>   static void arm_smmu_iommu_domain_teardown(struct domain *d)
>   {
>   	struct arm_smmu_xen_domain *xen_domain = dom_iommu(d)->arch.priv;
> @@ -2874,7 +2859,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,
> +    .hwdom_init = arch_iommu_hwdom_init,
>       .add_device = arm_smmu_dt_add_device_generic,
>       .teardown = arm_smmu_iommu_domain_teardown,
>       .iotlb_flush = arm_smmu_iotlb_flush,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 20:27:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 20:27:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261741.453443 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDBMl-0007Z9-6h; Thu, 27 Jan 2022 20:27:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261741.453443; Thu, 27 Jan 2022 20: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 1nDBMl-0007Z2-2x; Thu, 27 Jan 2022 20:27:35 +0000
Received: by outflank-mailman (input) for mailman id 261741;
 Thu, 27 Jan 2022 20:27: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 1nDBMj-0007Yw-Pz
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 20:27: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 1nDBMj-0000ZL-Bq; Thu, 27 Jan 2022 20:27:33 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.9.172]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nDBMj-0000gK-5J; Thu, 27 Jan 2022 20:27:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=or0l77o6KKBH8TWZ0VlBt47TJfw/x1KjgGi+zgJPUqs=; b=ngwodQfADA14+xNblM8QA6MiDE
	TgvnWSiHO/E9oXkQKYh/UUu98JXYRFvbHGntGgaKL/mleTTw5XGFvANl+YAIpFNGgDWeS+bLFmXY5
	UNGQ+CfSl3S6YFDFNCJsgYmh8jxJMt/5OUJ+Mq8s7TGbThfBoQwj7NVTsgiCayZXzHzI=;
Message-ID: <f6853134-8b65-5ffb-b39a-62ed26b3f499@xen.org>
Date: Thu, 27 Jan 2022 20:27:31 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [XEN v1] xen/arm: io: Check ESR_EL2.ISV != 0 before searching for
 a MMIO handler
To: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>,
 Julien Grall <julien.grall.oss@gmail.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>, stefanos@xilinx.com,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <20220126165827.61168-1-ayankuma@xilinx.com>
 <CAJ=z9a1KjOAeR4vpRQGA_sYSvx1h331NKim2bgG8jyru94Beow@mail.gmail.com>
 <eeedbb72-d881-363d-c862-234b705eaec7@xilinx.com>
 <CAJ=z9a0VEqr_ODQZvdsO82PiOpHt5-TVc4JWE5pJCeNYPh+XHg@mail.gmail.com>
 <bee7ea7a-6d3d-bf3c-4b5f-d40deb601867@xilinx.com>
 <2064878e-4ef1-f0a3-1476-7175c2c8d29e@xen.org>
 <bcd28a18-80ea-0987-6867-5c6fc634a8a5@xilinx.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <bcd28a18-80ea-0987-6867-5c6fc634a8a5@xilinx.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 27/01/2022 15:48, Ayan Kumar Halder wrote:
> Hi Julien,

Hi,

> On 27/01/2022 13:57, Julien Grall wrote:
>>
>>
>> On 27/01/2022 13:20, Ayan Kumar Halder wrote:
>>> Hi,
>>>
>>> Asking here as well (might not have been clear on irc).
>>>
>>> On 27/01/2022 00:10, Julien Grall wrote:
>>>> Hi,
>>>>
>>>> On Wed, 26 Jan 2022, 17:56 Ayan Kumar Halder, 
>>>> <ayan.kumar.halder@xilinx.com> wrote:
>>>>
>>>>     Hi Julien,
>>>>
>>>>     On 26/01/2022 17:22, Julien Grall wrote:
>>>>>     Hi,
>>>>>
>>>>>     On Wed, 26 Jan 2022, 16:58 Ayan Kumar Halder,
>>>>>     <ayan.kumar.halder@xilinx.com> wrote:
>>>>>
>>>>>         Refer to Armv8 ARM DDI 0487G.b, Page D13-3219 "ISS encoding
>>>>>         for an exception
>>>>>         from a Data Abort" :-
>>>>>         ISV - ISS[23:14] holds a valid instruction syndrome
>>>>>
>>>>>         When the ISV is 0, the instruction could not be decoded by
>>>>>         the hardware (ie ISS
>>>>>         is invalid). One should immediately return an error to the
>>>>>         caller with an
>>>>>         appropriate error message.
>>>>>
>>>>>     That's going to be very spammy because we have use-case where it
>>>>>     could trap without a valid ISV (e.g. when break-before-make
>>>>>     happens). So please don't had a message.
>>>>
>>>>     There is already a logging statement in traps.c :-
>>>>
>>>>     inject_abt:
>>>>         gdprintk(XENLOG_DEBUG,
>>>>                  "HSR=%#"PRIregister" pc=%#"PRIregister"
>>>>     gva=%#"PRIvaddr" gpa=%#"PRIpaddr"\n",
>>>>                  hsr.bits, regs->pc, gva, gpa);
>>>>
>>>>     The reason for the error is to give the user some hint that an IO
>>>>     abort is triggered by Xen.
>>>>
>>>> The main difference here is inject_dabt should only be reached when 
>>>> we exhausted all the possibility in I/O handling.
>>>>
>>>> In your case, if we can't handle as an MMIO then we should 
>>>> fallthrough the other method (see do_trap_stage2_abort_guest()).
>>>>
>>>> In fact, moving the check early and doing the decoding before 
>>>> find_mmio() or try_fwd_io() is actually wrong. Sorry I should 
>>>> realized that earlier.
>>>
>>> Why should we care about MMIO when ISS is invalid ?
>>
>> Because a translation fault doesn't mean this is emulated MMIO. This 
>> may be actual RAM but with the stage-2 entry marked as invalid for 
>> tracking purpose (or else).
>>
>>> Should we not check first if the ISS is valid or not as it will 
>>> trigger IO_abort regardless of the MMIO.
>>
>> No. Imagine the guest decides to use a store exclusive on a RAM region 
>> that was temporally marked as invalid in the stage-2 page-table.
>>
>> This will generate a data abort in Xen with ISV=0. We want to try to 
>> resolve the fault first and retry the instruction.
>>
>>>
>>> I am assuming that once Xen resolves the MMIO 
>>> (p2m_resolve_translation_fault()), the guest will again try to run 
>>> the same instruction on MMIO region. This will be trapped in Xen 
>>> which will return IO abort as the post-indexing instruction could not 
>>> be decoded.
>>
>> The access will not trap again in Xen if the fault was resolved.
> 
> I think your words makes sense.
> 
> However, I am still concerned that we might not be doing the correct 
> thing in try_fwd_ioserv().
> 
> See this :-
> 
>      ioreq_t p = {
>          .type = IOREQ_TYPE_COPY,
>          .addr = info->gpa,
>          .size = 1 << info->dabt.size,
>          .count = 1,
>          .dir = !info->dabt.write,
>          /*
>           * On x86, df is used by 'rep' instruction to tell the direction
>           * to iterate (forward or backward).
>           * On Arm, all the accesses to MMIO region will do a single
>           * memory access. So for now, we can safely always set to 0.
>           */
>          .df = 0,
>          .data = get_user_reg(regs, info->dabt.reg),
>          .state = STATE_IOREQ_READY,
>      };
> If info->dabt.valid = 0, then '.size', '.dir' and '.data' fields are 
> invalid.

Sort of. ISV=0 means that bits [23:14] are RES0. So this doesn't cover 
the field WnR. The validity of WnR will depend on DFSC. In our case, we 
will always reach this code with a translation fault. So WnR should 
always be valid.

That said, the rest will not be valid.

> 
> '.size' gets used in ioreq_server_select() to obtain the end address. It 
> seems incorrect to me.
> 
> I suppose "if ( !info->dabt.valid )" needs to be checked before "s = 
> ioreq_server_select(v->domain, &p);".

The trouble is we would need to return IO_UNHANDLED (so the rest of the 
code can pick it up) which I think is incorrect here.

The approach I can think of is to call ioreq_server_select() with size = 
0 (i.e. byte access). Then decode the size (if needed) and then check 
the access is correct.

This is not very nice. But that at the same time, I would like to avoid 
dealing emulated I/O in Xen or outside differently. Stefano?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 20:45:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 20:45:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261745.453454 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDBdx-0001mx-NA; Thu, 27 Jan 2022 20:45:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261745.453454; Thu, 27 Jan 2022 20: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 1nDBdx-0001mq-K3; Thu, 27 Jan 2022 20:45:21 +0000
Received: by outflank-mailman (input) for mailman id 261745;
 Thu, 27 Jan 2022 20:45:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NFuB=SL=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1nDBdw-0001mi-25
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 20:45:20 +0000
Received: from mail-lf1-x12f.google.com (mail-lf1-x12f.google.com
 [2a00:1450:4864:20::12f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 09b9e7e4-7fb2-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 21:45:18 +0100 (CET)
Received: by mail-lf1-x12f.google.com with SMTP id b9so7663660lfq.6
 for <xen-devel@lists.xenproject.org>; Thu, 27 Jan 2022 12:45:18 -0800 (PST)
Received: from [192.168.1.7] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id x5sm591233ljm.62.2022.01.27.12.45.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 27 Jan 2022 12:45:17 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 09b9e7e4-7fb2-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=subject:to:cc:references:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-transfer-encoding:content-language;
        bh=dVzeY1A6roTsVX8jpB/rqTqsnO6LLc1i1ofaQp0t6K8=;
        b=M94ft0BtcvwfbTzMUV3bB+bFN2fVLsNUTNctOhy5ce4eq3LK4B4d6Dri17MXpEaGYo
         yFl0KVqZFuUgHmDvzIaO3HM77Uj3CF6caFUdbRA+uM5OG0NViEeyCcJ4EmkMTDpnW9zA
         WSnF9spu53eeyVyqXmZydRJ5twFc6zBCELABD9lnBVaApKXEJFys2wVuXvl2We+66Cnw
         q4+1Bjp3Pub8dprIoV7E2IpSFIUrcywWx/4jVLkUEnvnQT6C9psMha+TBd9pf/d3k9Ut
         /PZP87sADrO6ZSX8Qfz3Iq/Db0wwnFQOgAO8tnqHUc7+ZyI8HRa/FeHSbmz9hHjbv7cl
         GRZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        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=dVzeY1A6roTsVX8jpB/rqTqsnO6LLc1i1ofaQp0t6K8=;
        b=7mSsW19UUWNOjwSLYmnibA7CA8i4JJhhQS35Ppj/MaVdqIs5N3i3e/Lgu3Ly+j9osv
         h6GADIXcnP4AFJtBWKyGBJY7hCdd7Kqw8mI5ZWh1+xV0sgpKw5sx+t2JBOOtWtnhtIqj
         7obdXuZD59gde1+i7qv1Sy3CRigjnxpjoS/xuQ6j1++BmpX1tbwYOl7OeADjyLdBOxcW
         y8dXHVS/gLd0IS2Xy+BxteWECsuhVGQSEYfeWUhjIbQuLQwnikR85Sw9fugowq3yS0+i
         jlHz2Oo4+UWphm3zsWy7NYVrWjR0lEwj1TKe7P5hpBXCW6aBk+GENYqckB4PIV8zofEO
         HYBA==
X-Gm-Message-State: AOAM530MEwHQwGdM4pl/MEgVmVnF4KT56I/+Y5qCVPUvC7dSzBhkzamT
	QfwQYVZAY5qaYEDAlX7c0sE=
X-Google-Smtp-Source: ABdhPJxZxopLv6S8TOEqi73eWBQyfKZppP6kp2fR9BKdzL0d03mfrUQvnu/t2597KT6NRwJZtlxGLg==
X-Received: by 2002:a05:6512:b20:: with SMTP id w32mr4039446lfu.686.1643316318074;
        Thu, 27 Jan 2022 12:45:18 -0800 (PST)
Subject: Re: [PATCH V3 2/2] iommu/arm: Remove code duplication in all IOMMU
 drivers
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Rahul Singh <rahul.singh@arm.com>,
 Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>,
 Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
References: <1643313352-29940-1-git-send-email-olekstysh@gmail.com>
 <1643313352-29940-3-git-send-email-olekstysh@gmail.com>
 <1532ec77-17d3-665b-3c19-ab8fd4147a7d@xen.org>
From: Oleksandr <olekstysh@gmail.com>
Message-ID: <148b97bf-792c-1b0e-cfaf-56a5709969a0@gmail.com>
Date: Thu, 27 Jan 2022 22:45:16 +0200
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: <1532ec77-17d3-665b-3c19-ab8fd4147a7d@xen.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US


On 27.01.22 22:03, Julien Grall wrote:
> Hi,


Hi Julien


>
> On 27/01/2022 19:55, Oleksandr Tyshchenko wrote:
>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>
>> All IOMMU drivers on Arm perform almost the same generic actions in
>> hwdom_init callback. Move this code to common arch_iommu_hwdom_init()
>> in order to get rid of code duplication.
>>
>> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>> Reviewed-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>> Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
>
> IMO, the reviewed-by tags should have been dropped with the changes 
> you made. 

Yes, you are right.  I apologize, my fault.


> So I would like both reviewer to confirm they are happy with the change.
>
> This also technically needs an ack from Bertrand/Rahul.

Yes, for the SMMU V3.


>
>> ---
>> Changes V1 -> V2:
>>     - add R-b
>>
>> Changes V2 -> V3:
>>     - drop platform specific *_iommu_hwdom_init(), make .hwdom_init
>>       to directly point to the common arch_iommu_hwdom_init()
>> ---
>>   xen/drivers/passthrough/arm/iommu.c      |  7 +++++++
>>   xen/drivers/passthrough/arm/ipmmu-vmsa.c | 15 +--------------
>>   xen/drivers/passthrough/arm/smmu-v3.c    | 17 +----------------
>>   xen/drivers/passthrough/arm/smmu.c       | 17 +----------------
>>   4 files changed, 10 insertions(+), 46 deletions(-)
>>
>> diff --git a/xen/drivers/passthrough/arm/iommu.c 
>> b/xen/drivers/passthrough/arm/iommu.c
>> index ee653a9..fc45318 100644
>> --- a/xen/drivers/passthrough/arm/iommu.c
>> +++ b/xen/drivers/passthrough/arm/iommu.c
>> @@ -134,6 +134,13 @@ void arch_iommu_domain_destroy(struct domain *d)
>>     void __hwdom_init arch_iommu_hwdom_init(struct domain *d)
>>   {
>> +    /* Set to false options not supported on ARM. */
>> +    if ( iommu_hwdom_inclusive )
>> +        printk(XENLOG_WARNING "map-inclusive dom0-iommu option is 
>> not supported on ARM\n");
>> +    iommu_hwdom_inclusive = false;
>> +    if ( iommu_hwdom_reserved == 1 )
>> +        printk(XENLOG_WARNING "map-reserved dom0-iommu option is not 
>> supported on ARM\n");
>> +    iommu_hwdom_reserved = 0;
>>   }
>>     /*
>> diff --git a/xen/drivers/passthrough/arm/ipmmu-vmsa.c 
>> b/xen/drivers/passthrough/arm/ipmmu-vmsa.c
>> index c912120..d2572bc 100644
>> --- a/xen/drivers/passthrough/arm/ipmmu-vmsa.c
>> +++ b/xen/drivers/passthrough/arm/ipmmu-vmsa.c
>> @@ -1329,19 +1329,6 @@ static int ipmmu_iommu_domain_init(struct 
>> domain *d)
>>       return 0;
>>   }
>>   -static void __hwdom_init ipmmu_iommu_hwdom_init(struct domain *d)
>> -{
>> -    /* Set to false options not supported on ARM. */
>> -    if ( iommu_hwdom_inclusive )
>> -        printk(XENLOG_WARNING "ipmmu: map-inclusive dom0-iommu 
>> option is not supported on ARM\n");
>> -    iommu_hwdom_inclusive = false;
>> -    if ( iommu_hwdom_reserved == 1 )
>> -        printk(XENLOG_WARNING "ipmmu: map-reserved dom0-iommu option 
>> is not supported on ARM\n");
>> -    iommu_hwdom_reserved = 0;
>> -
>> -    arch_iommu_hwdom_init(d);
>> -}
>> -
>>   static void ipmmu_iommu_domain_teardown(struct domain *d)
>>   {
>>       struct ipmmu_vmsa_xen_domain *xen_domain = 
>> dom_iommu(d)->arch.priv;
>> @@ -1369,7 +1356,7 @@ static void ipmmu_iommu_domain_teardown(struct 
>> domain *d)
>>   static const struct iommu_ops ipmmu_iommu_ops =
>>   {
>>       .init            = ipmmu_iommu_domain_init,
>> -    .hwdom_init      = ipmmu_iommu_hwdom_init,
>> +    .hwdom_init      = arch_iommu_hwdom_init,
>>       .teardown        = ipmmu_iommu_domain_teardown,
>>       .iotlb_flush     = ipmmu_iotlb_flush,
>>       .iotlb_flush_all = ipmmu_iotlb_flush_all,
>> diff --git a/xen/drivers/passthrough/arm/smmu-v3.c 
>> b/xen/drivers/passthrough/arm/smmu-v3.c
>> index d115df7..71b022f 100644
>> --- a/xen/drivers/passthrough/arm/smmu-v3.c
>> +++ b/xen/drivers/passthrough/arm/smmu-v3.c
>> @@ -3402,21 +3402,6 @@ static int 
>> arm_smmu_iommu_xen_domain_init(struct domain *d)
>>     }
>>   -static void __hwdom_init arm_smmu_iommu_hwdom_init(struct domain *d)
>> -{
>> -    /* Set to false options not supported on ARM. */
>> -    if (iommu_hwdom_inclusive)
>> -        printk(XENLOG_WARNING
>> -        "map-inclusive dom0-iommu option is not supported on ARM\n");
>> -    iommu_hwdom_inclusive = false;
>> -    if (iommu_hwdom_reserved == 1)
>> -        printk(XENLOG_WARNING
>> -        "map-reserved dom0-iommu option is not supported on ARM\n");
>> -    iommu_hwdom_reserved = 0;
>> -
>> -    arch_iommu_hwdom_init(d);
>> -}
>> -
>>   static void arm_smmu_iommu_xen_domain_teardown(struct domain *d)
>>   {
>>       struct arm_smmu_xen_domain *xen_domain = dom_iommu(d)->arch.priv;
>> @@ -3427,7 +3412,7 @@ static void 
>> arm_smmu_iommu_xen_domain_teardown(struct domain *d)
>>     static const struct iommu_ops arm_smmu_iommu_ops = {
>>       .init        = arm_smmu_iommu_xen_domain_init,
>> -    .hwdom_init        = arm_smmu_iommu_hwdom_init,
>> +    .hwdom_init        = arch_iommu_hwdom_init,
>>       .teardown        = arm_smmu_iommu_xen_domain_teardown,
>>       .iotlb_flush        = arm_smmu_iotlb_flush,
>>       .iotlb_flush_all    = arm_smmu_iotlb_flush_all,
>> diff --git a/xen/drivers/passthrough/arm/smmu.c 
>> b/xen/drivers/passthrough/arm/smmu.c
>> index c9dfc4c..b186c28 100644
>> --- a/xen/drivers/passthrough/arm/smmu.c
>> +++ b/xen/drivers/passthrough/arm/smmu.c
>> @@ -2849,21 +2849,6 @@ static int arm_smmu_iommu_domain_init(struct 
>> domain *d)
>>       return 0;
>>   }
>>   -static void __hwdom_init arm_smmu_iommu_hwdom_init(struct domain *d)
>> -{
>> -    /* Set to false options not supported on ARM. */
>> -    if ( iommu_hwdom_inclusive )
>> -        printk(XENLOG_WARNING
>> -        "map-inclusive dom0-iommu option is not supported on ARM\n");
>> -    iommu_hwdom_inclusive = false;
>> -    if ( iommu_hwdom_reserved == 1 )
>> -        printk(XENLOG_WARNING
>> -        "map-reserved dom0-iommu option is not supported on ARM\n");
>> -    iommu_hwdom_reserved = 0;
>> -
>> -    arch_iommu_hwdom_init(d);
>> -}
>> -
>>   static void arm_smmu_iommu_domain_teardown(struct domain *d)
>>   {
>>       struct arm_smmu_xen_domain *xen_domain = dom_iommu(d)->arch.priv;
>> @@ -2874,7 +2859,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,
>> +    .hwdom_init = arch_iommu_hwdom_init,
>>       .add_device = arm_smmu_dt_add_device_generic,
>>       .teardown = arm_smmu_iommu_domain_teardown,
>>       .iotlb_flush = arm_smmu_iotlb_flush,
>
-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Thu Jan 27 21:19:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 21:19:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261750.453464 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDCAW-0005VH-Cr; Thu, 27 Jan 2022 21:19:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261750.453464; Thu, 27 Jan 2022 21: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 1nDCAW-0005VA-9v; Thu, 27 Jan 2022 21:19:00 +0000
Received: by outflank-mailman (input) for mailman id 261750;
 Thu, 27 Jan 2022 21:18:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aWrC=SL=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nDCAU-0005V4-Vo
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 21:18:58 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bc6709b5-7fb6-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 22:18:56 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 0E14BB821D8;
 Thu, 27 Jan 2022 21:18:56 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8FC0FC340E4;
 Thu, 27 Jan 2022 21:18:54 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bc6709b5-7fb6-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1643318334;
	bh=UwzvuEXHqU1Fbnfltnd30eLmQ6L9DjfPP9DIukhHLCk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=X0wHrjd+TiaxlLqA4hM9670XN/vj/0DTQEv7GR/ScQKq7+7TW5k5dWBuv9MAr7C23
	 f/vqRAc2ODNFHv8+wC/Bf66+jf+4ohVN23WmtuA34O/gNxA41yGRLUWiaC+N9v4nxi
	 7JtGAXwVNwWJ22p+7dQVssGoAE+skBP+e+PdR/9IgJlheqPUKbWJ/e2gQhlq+VDtJJ
	 na1WRKwonL65s6O+LHsczwxdV9FGFv/g4rydZpHmIHZKhbgEZm8118klsa4eofJbYp
	 rdtyZY6IpDk5672Fc3nxdpL8XuzSyvBj6pzsgOsFFw+fgZ5D8XboHjDGr7zMMf21L2
	 OB3CntYI7mbsA==
Date: Thu, 27 Jan 2022 13:18:54 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [RFC v1 3/5] xen/arm: introduce SCMI-SMC mediator driver
In-Reply-To: <20220127181132.GA149448@EPUAKYIW015D>
Message-ID: <alpine.DEB.2.22.394.2201271318120.27308@ubuntu-linux-20-04-desktop>
References: <20220120102147.GA4153317@EPUAKYIW015D> <alpine.DEB.2.22.394.2201201230480.27308@ubuntu-linux-20-04-desktop> <20220121150753.GA898010@EPUAKYIW015D> <alpine.DEB.2.22.394.2201211236060.27308@ubuntu-linux-20-04-desktop> <20220124182249.GA2485483@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2201241056290.27308@ubuntu-linux-20-04-desktop> <d5c84296-79a6-5698-802d-4d9ba60dbf24@xen.org> <alpine.DEB.2.22.394.2201241403240.27308@ubuntu-linux-20-04-desktop> <20220125143515.GA2803662@EPUAKYIW015D>
 <alpine.DEB.2.22.394.2201251245120.27308@ubuntu-linux-20-04-desktop> <20220127181132.GA149448@EPUAKYIW015D>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 27 Jan 2022, Oleksii Moisieiev wrote:
> On Tue, Jan 25, 2022 at 01:19:46PM -0800, Stefano Stabellini wrote:
> > On Tue, 25 Jan 2022, Oleksii Moisieiev wrote:
> > > On Mon, Jan 24, 2022 at 02:14:43PM -0800, Stefano Stabellini wrote:
> > > > On Mon, 24 Jan 2022, Julien Grall wrote:
> > > > > On 24/01/2022 19:06, Stefano Stabellini wrote:
> > > > > > It looks like XEN_DOMCTL_host_node_by_path and
> > > > > > XEN_DOMCTL_find_host_compatible_node would also solve the problem but I
> > > > > > think that a single hypercall that retrieves the entire host DTB would
> > > > > > be easier to implement
> > > > > 
> > > > > DOMCTL should only be used to handle per-domain information. If we want to
> > > > > create a new sub-hypercall of either __HYPERVISOR_platform_op or
> > > > > __HYPERVISOR_sysctl_op (not sure which one).
> > > > > 
> > > > > AFAICT, both are versioned.
> > > > > 
> > > > > > and more robust in the long term. >
> > > > > > hypfs has the advantage that it would create an interface more similar
> > > > > > to the one people are already used to on Linux systems
> > > > > > (/proc/device-tree). xl/libxl would have to scan the whole hypfs tree,
> > > > > > which intuitively I think it would be slower.
> > > > > 
> > > > > Even if you have the binary blob, you would still have to scan the
> > > > > device-tree. That said, it is probably going to be potentially a bit faster
> > > > > because you have less hypercall.
> > > > > 
> > > > > However, here this is a trade-off between memory use and speed. If you want
> > > > > speed, then you may have to transfer up to 2MB every time. So the question is
> > > > > do we care more about speed or memory usage?
> > > > > 
> > > > > > Also the feature might be
> > > > > > harder to implement but I am not sure.
> > > > > > 
> > > > > > I don't have a strong preference and this is not a stable interface (we
> > > > > > don't have to be extra paranoid about forward and backward
> > > > > > compatibility). So I am fine either way. Let's see what the others think
> > > > > > as well.
> > > > > 
> > > > > My preference would be to use hypfs as this is cleaner than exposing a blob.
> > > > 
> > > > That's also fine by me. Probably the hypfs implementation shouldn't be
> > > > much more difficult than something like
> > > > XEN_DOMCTL_host_node_by_path/XEN_DOMCTL_find_host_compatible_node.
> > > > 
> > > > 
> > > > > However, are we sure we can simply copy the content of the host Device-Tree to
> > > > > the guest Device-Tree for SCMI? For instance, I know that for device
> > > > > passthrough there are some property that needs to be altered for some devices.
> > > > > Hence, why it is not present. Although, I vaguely recalled to have written a
> > > > > PoC, not sure if it was posted on the ML.
> > > > 
> > > > The SCMI node cannot be copied "as is" from host to guest. It needs a
> > > > couple of changes but they seem feasible as they are limited to the
> > > > channels exposed to the guest. (The generic device passthrough case is a
> > > > lot more difficult.)
> > > 
> > > 
> > > Hi Stefano,
> > > 
> > > What I'm thinking about is do we actually need to create SCMI node in DomU device-tree?
> > > I have this question is because we don't need SCMI node to be present in DomU 
> > > device-tree if it has no passed-through devices, which are using scmi. 
> > > So if we don't have passed-through devices or do not provide DomU partial device-tree 
> > > in config, then there is no need to create SCMI node.
> > > 
> > > For now I see the following possible domu configurations:
> > > 1) If DomU has a lot of passed-through devices and it's easier to inherit 
> > > host device-tree and disable not passed-through devices.
> > > Partial device tree will looks like this:
> > > 
> > > #include "r8a77961-salvator-xs.dts" //include host device tree
> > > 
> > > /
> > > {
> > > 	soc {
> > > 		...
> > > 	}
> > > 
> > > };
> > > 
> > > // Disable non passed-through devices
> > > &hscif {
> > > 	status = "disabled";
> > > };
> > > 
> > > In this case DomU partial device-tree will inherit arm,scmi-smc and 
> > > arm,scmi-shmem nodes and all clock/reset/power-domains which are using scmi. 
> > > All this nodes can be copied to DomU device-tree from partial device-tree.
> > 
> > This is an almost dom0 configuration. For this kind of use-cases, I
> > think it is enough to handle dom0 automatically correctly. I wouldn't
> > ask for anything more than that.
> > 
> > 
> > > 2) DomU has few passed-through devices, so it's easier to add the device nodes 
> > > to the passthrough node of DomU partial device-tree.
> > > DomU partial device-tree will look like this:
> > > {
> > > 	scmi_shmem: scp-shmem@0x53FF0000 {
> > > 		compatible = "arm,scmi-shmem";
> > > 		reg = <0x0 0x53FF0000 0x0 0x10000>;  
> > > 	};
> > > 	scmi {
> > > 		arm,smc-id = <....>;
> > > 		compatible = "arm,scmi-smc"; 
> > > 		shmem = <&scmi_shmem>;
> > > 		scmi_clock: protocol@14 {
> > > 			...
> > > 		};
> > > 		scmi_reset: protocol@16 {
> > > 			...
> > > 		};
> > > 	}; 
> > > 	passthrough {
> > > 		hscif0: serial@e6540000 { 
> > > 			compatible = "renesas,hscif-r8a77961";
> > > 			scmi_devid = <5>;
> > > 			clocks = <&scmi_clock 5>;
> > > 			resets = <&scmi_reset 5>;
> > >  			...
> > > 		};
> > > 	};
> > > };
> > > 
> > > As you can see in this case we have to manually copy arm,scmi-shmem and 
> > > arm,scmi-smc nodes with hscif0 node or the device-tree compilation will fail.
> > > We can use 0x53FF0000, provided in arm,scmi-shmem node and map domain channel 
> > > to this address and copy scmi related nodes to the DomU device-tree.
> > > This is useful when we need to expose only certain protocols to the DomU. 
> > > Also it's easy to modify DomU scmi node, as we need for stm32mp1 for example 
> > > when different smc-id should be set for DomU.
> > 
> > I think this is the most interesting case that should be automated and
> > not require manual intervention. Let me explain why.
> > 
> > Currently we require partial device trees to be manually written because
> > there is no easy way to automatically generate them. (I have some ideas
> > on how to automatically generate partial device trees but that is a
> > separate discussion.)
> > 
> > Unfortunately, it has become increasingly clear that it is too difficult
> > for users (even advanced users!) to come up with the appropriate partial
> > device trees. Thus, I am reluctant to introduce more things that rely on
> > the user having to manually specify partial device tree information.
> > This is why I would like the SCMI nodes to be automatically added for
> > domUs.
> > 
> > Of course, if a user provides the scmi and scmi_shmem nodes in the
> > partial device tree we could just use them. But ideally we should also
> > be able to automatically generated them based on the host device tree
> > nodes, so that the user only needs to provide serial@e6540000 (in your
> > example, scmi_devid would need to be populated too) and the rest would
> > be done automatically as we do today for the gic and vuart nodes.
> > 
> > At the same time I don't want to scope-creep this patch series too much
> > and I don't mean to ask you to add a huge new infrastructure to Xen and
> > the Xen tools just to get SCMI support in. I would rather have a
> > not-great automatic generation of the domU SCMI nodes than nothing (e.g.
> > using your suggested XEN_DOMCTL_host_node_by_path and
> > XEN_DOMCTL_find_host_compatible_node hypercalls althought they would
> > need to be platform_op as Julien suggested).
> > 
> > It looks like the generation of scmi_shmem and scmi should be easy
> > enough that could be handled without difficulty in xl/libxl. But if that
> > turns out to be too difficult, we could have a small independent
> > bash/python script that from the host device tree generates the partial
> > device tree with the SCMI nodes. From Xen point of view we are would
> > still be using the partial device tree, but the partial device tree
> > itself would be generated instead of manually written. As this workflow
> > requires a separate tool I think it is a worse option than the one
> > above. Still better than nothing though.
> > 
> Hi Stefano,
> 
> Thank you for the detail answer. I went through hypfs and will try to
> export host device_tree. Then xl will be able to use hypfs data to
> generate arm,scmi-smc node if arm,scmi-smc node was not provided in
> DomU partial device-tree. Unfortunately, some changes should be done
> to hypfs because it seems not ready to handle nested dynamic dirs.
> 
> I'll see if I can update hypfs without breaking the original
> functionality. If not, I will have to create all hypfs dir structure on
> start. For now I'm working on making dynamically created hypfs tree
> structure, based on host device-tree.

That's fantastic, thank you Oleksii! I think it is going to be super
userful!


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 21:56:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 21:56:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261758.453476 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDCkh-0001Pe-F3; Thu, 27 Jan 2022 21:56:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261758.453476; Thu, 27 Jan 2022 21:56:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDCkh-0001PX-Bh; Thu, 27 Jan 2022 21:56:23 +0000
Received: by outflank-mailman (input) for mailman id 261758;
 Thu, 27 Jan 2022 21:56:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=P5DO=SL=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nDCkg-0001PR-5g
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 21:56:22 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f3f23776-7fbb-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 22:56:19 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f3f23776-7fbb-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643320578;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=3dro7bpOrzYdjVfXa1cR+Dfph1OtQWZIml24Wy7KIdE=;
  b=JTNEhPY5A5STmPiMCKjmqsu3r0a8TgIDzxD9AmgAiDJbeKpn1bmAb9Gk
   TMRLfMY9g9XghcIoddxpjqY7x9vf0VTtGIrwgeDZZdjYzOfc8EY2GoAlN
   wz7uZI3o4pxX8/nYtPQ7uOYMtVBg9HPBsSfaIWv+mJFc8dVnu8C9NOPxZ
   Y=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: ft+AMviMAtE1rx7KPEq1kNOzYc5hUZwdAHxCnt0I6SPIXY6Jyh01jDbxmq3mjKRIsP8Rp3mpRs
 o12oZ3aPy6Th1NEFSm1pZyanRP5X2E2NI7qKJHt7tyrU5TA2e/mnY0WtdKzxhSudPpie3PCvIU
 vzIvWOku4BkzeHwtNmY6YhnaosjAyHh4GscqjepQr1j7xsvdPSQcrM846tRdQ7ZEML+lZO0Y8o
 HEFR7l5FpITiBdgBaNfi683EZVn2xkPiL626AWQ2Qnfs8Fq2G59L3Wu2cJFgpLh6w7KSLcXVIz
 /6HGCg6kO5qcdnGNlraTFWlj
X-SBRS: 5.2
X-MesageID: 62935773
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:KZSmH6rEX/gCXUUbfhAUlqLyMYVeBmL1YhIvgKrLsJaIsI4StFCzt
 garIBnXa6mNZjT8c9okO4rk9E1SsJDWndM2SARo+C8zEy9A8JuZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlZT4vE2xbuKU5NTsY0idfic5Dndx4f5fs7Rh2NQw2ILmW1nlV
 e7a+KUzBnf0g1aYDUpMg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJ8DO+iL
 9sv+Znilo/vE7XBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XnRfTAKtao2zhojx/9
 DlCnZ6OFjcuB6n0o9YYQhh+Fn9VO7wfoIaSdBBTseTLp6HHW37lwvEoB0AqJ4wIvO1wBAmi9
 9RBdmpLNErawbvrnvTrEYGAhex6RCXvFKoZtmtt0nfyCvE+TIqYa67L+cVZzHE7gcUm8fP2O
 ZBIMmcwM0+ojxtnPmkbAs8Pw/mSuUbiLBgbiFLI/I4oyj2GpOB2+Oe0a4eEEjCQfu1Fk0Ddq
 m/Y8mDRBhABKMfZ2TeD6mirhOLEgWX8Qo16PKK83u5nhhuU3GN7IB8cWEa/oPK5olWjQN8ZI
 EsRkhfCtoBrqhbtFIOkGUTl/jjU5XbwRua8DcU41l69zZPQ2z2rA3kFaDsfQ9o37ZcPEGlCO
 kCyo/vlAjlmsbuwQH2b96uJoT7aBRX5PVPudgdfE1JbvoCLTJUby0uWE409SPLdYsjdRGmoq
 w1muhTSkFn6YSQj86ygtW7KjDu3znQiZl5kv16HNo5JA+4QWWJEW2BKwQWDhRqjBNzAJrVkg
 JTis5LDhAzpJcrV/BFhuM1XQNmUCw+taVUwe2JHEZg77CiK8HW+Z41W6zwWDB43bp1eImeyP
 hKL5FI5CHpv0J2CN/Efj2WZUJxC8EQdPY69CqC8giRmPPCdizNrDAkxPBXNjggBYWAnkL0lO
 IfzTCpfJS1yNEiT9xLvH711+eZynkgWnDqPLbimkUjP+efANRa9FOdUWHPTP7tRxP7V/23oH
 yN3apHiJ+N3CrOuO0E6MOc7cDg3EJTMLcmm8pMMLr/afFMO9aNII6a5/I7NsrdNxsx9vuzJ4
 mu8Sglfzl/+jmfAMgKEdjZob7aHYHq1hSxT0fUEMQn61n49T5yo6atDJZI7caN+rL5ozOJuT
 ulDcMKFW6wdRjPC8jUbTJ/8sI09K0j72VPQZ3KoMGolYpptZw3V4du4LAHhwzYDU3isvswkr
 rz+ig6CGcgfRx5vBdr9Ye60yw/jpmAUne9/BhOaItRadEj23pJtLij90q0+L80WcE2RzTqGz
 QeGRxwfoLCV8YMy9dDIg4GCrpuoTLQiThYLQTGD4O/vZyfA/2elzYtRa8qyfGjQBDHu5aGvR
 eRJ1PWgYvcJq0lH7thnGLFxwKNgu9a2/+1Gzh5pFWngZkiwDu8yOWGP2MRCu/EfxrJdvgfqC
 EuD9sMDZOeMMcLhVlUQOBAkfqKI0vRNwmve6vE8IUPb4i5r/eXYDRUObkfU0CENfqFoNI4Fw
 Ps6vJ9E4gOyvRMmL9Kag30G7G+LNHEBD/0qu5xy7FUHUeb3JoWuuaDhNxI=
IronPort-HdrOrdr: A9a23:mcBfNal05SwCZSiymX/JBiD1EaXpDfOIimdD5ihNYBxZY6Wkfp
 +V88jzhCWZtN9OYhwdcIi7SdS9qXO1z+8R3WGIVY3SEjUOy1HYUL2KirGSggEIeheOudK1sJ
 0PT0EQMqyIMbEXt7eY3OD8Kadb/DDlytHpuQ699QYUcegCUcgJhG0ZajpzUHcGPzWubaBJTq
 Z0jfA3wwZIDE5nCPhTcUN1ONQryee79q7OUFojPVoK+QOOhTSn5PrRCB6DxCoTVDtJ3PML7X
 XFuxaR3NThj9iLjjvnk0PD5ZVfn9XsjvFZAtaXt8QTIjLwzi61eYVaXaGYtjxdmpDs1L9qqq
 iIn/4TBbU115rjRBDynfIr4Xi47N8a0Q6n9bZfuwq6nSW2fkNgNyMLv/MnTvKQ0TtfgDg76t
 MX44vRjesmMfuL9h6NluTgRlVkkFG5rmEllvNWh3tDUZEGYLsUtoAH+lhJea1wVh4SxbpXWN
 WGNvusr8q+sGnqG0zxry1q2pihT34zFhCJTgwLvdGUySFfmDR8w1EDzMISk38c/NZlIqM0q9
 jsI+BtjvVDX8UWZaVyCKMIRta2EHXERVbJPHiJKVrqGakbMzbGqoLx4r8y+Oa2EaZ4gacaid
 DEShdVpGQyc0XhBYmH24BK6AnERCGnUTHk2qhlltFEU33HNczW2AG4OSITevqb0oIi65fgKo
 WO0bptcoreEVc=
X-IronPort-AV: E=Sophos;i="5.88,321,1635220800"; 
   d="scan'208";a="62935773"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hctyBWSd5sfLXvV/DZLL43gjaf52J0YhU5L3EpuGtggfmMStpmimLryzZJ0BgMHhYljQCHCaP8x8yzPHW3g/SRFHLHx5itx2ARjUeux0xkIGiZTjVXWIewnDNg0bJyH5w9Wemak+pFtjrkhOvf5rFzsgHFcUtZXjCrgzqy50FihACwmA5dten7j0KmZ/SXJwg9p+6M7HvRpx6N6ChcTBLVt7kbWQAiMhl1AE45Pv9hDqWbj4yf/HW2IW/1P4HejTD199ODSfKPkl/ShsdKa6yXA2RkyzrpHcRUVLjldctdxHj/5benxMt26JjphbTKT9Py3642xd7HlZLopUsCV84g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3dro7bpOrzYdjVfXa1cR+Dfph1OtQWZIml24Wy7KIdE=;
 b=jVJm39QoOdGQja9j3hXc2pgbvvDz/p+Jd9wQZY2ygOww0H9/7z8O8B3auGddn1yMtXUsSjDqTbBllRFjqZcfpozjKRbBCwa3TYFLS1oClMoQHxrHk3XEAnavUeLYQYkHrs77xSbi5EZTHMnyvjUBj4ck6ZbTbP/tZNEFah/Qr/PYZOvTFuX9yPVr/8BPg4hEYPYb552MxFQkfqbB3uYc4J1p3RK9PrU0qahtGeL294Jn6DU2uX6jONOCCE8ZWe/MZWMu/944E9hXkTqnbUaKd9yWIijMTmC01HI1rPQdmAM9s4V8u+FhLsL4LY5gj58GQrP5WnVTQwo162Al5K+cbg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3dro7bpOrzYdjVfXa1cR+Dfph1OtQWZIml24Wy7KIdE=;
 b=VF8oe7cs9XSQcQVc/pCbZpOzABZr0tC33hmN33jW2x1gdU17t2u1d3ozq+bOoCB6UfwriQp4bd9hUDqw+9kevdyhzhLCjzF3jSUWTKWLq4LFaBViWdBq3dmC2hT+J7LWLOm+nD4VjL1jcszd40sl7UndVtswKr202kSHiCPx4io=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Xen-devel
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 3/8] x86/svm: VMEntry/Exit logic for MSR_SPEC_CTRL
Thread-Topic: [PATCH 3/8] x86/svm: VMEntry/Exit logic for MSR_SPEC_CTRL
Thread-Index: AQHYEpEQO22I/y1Di0S4u/YrCMvx5qx1hJwAgAA5Y4CAALsGAIAA8yeA
Date: Thu, 27 Jan 2022 21:55:54 +0000
Message-ID: <a807efa6-bea7-a624-cec1-412b4041557f@citrix.com>
References: <20220126084452.28975-1-andrew.cooper3@citrix.com>
 <20220126084452.28975-4-andrew.cooper3@citrix.com>
 <f5c1134a-f446-7031-877e-6a3177120de9@suse.com>
 <e987b428-d617-ec8f-16f1-7fd32005f9f3@citrix.com>
 <6431b317-a3a5-013a-83e4-37b5c716ceb2@suse.com>
In-Reply-To: <6431b317-a3a5-013a-83e4-37b5c716ceb2@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.1
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 73fa29f5-0122-40dc-07ae-08d9e1dfca9d
x-ms-traffictypediagnostic: CY4PR03MB2424:EE_
x-microsoft-antispam-prvs: <CY4PR03MB242440BAD5F89E4D60F9C0C1BA219@CY4PR03MB2424.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: RDX8a0C7ds/WvsIOZm5et6tiErJDXjomAHQqivtuLbbnCp7YpqTAg0py/yZddirLu/dMtB8+WW1Vs5eQ0J0TyOcqUh5+LUjjq4L9kfPQZoIkkFLcxj79o6GD6BPuFlK/41Guqghcud87ZrywIsXY8NABraJkGcZfewNoCwiEBsmEWoc3e6HVfip/yDl8KB4b/stlFhKHbz/Fo3Bla4QzoTRq+M+0SBNsxrHicBDzR4dGBCEEvYyciHnDbxo3y4g7N3Bzf9lJ+RqE1DjIEWKI7NtWXAnUNDZ4k28gvjAYwYerkOdd7jBmCjZdI+LF/1Ey4vz/CSxrD23nIdtcTA2aNLbapn6q73aBy9mI3L+GmV0gc2bT/TbEnhSLH4ddcVeFGaab5IBbIOtXWDuKnM8zKEJftQ2b4O0qlXURs2mUJxvX6H+fY9QW4Ms2FDHQVPoa808dHp83UO3sFOIt/l8rqmy1okQ78yZp3VOvkTSQPn6Ndy13nl7LSS65Ve59awvpwGyUsk5Ux4jGXTBInSGpPEHOfTrzaMfrl4jPtrEkZbnjJ/dqvLWYT4Tk1jV/gD0OtMknZcNU5oW+3szs03GOFgI00m4QcLC6lIFVHnQ1+wVAddUYyuSNY3imRMhGNg11PLbKA19FvkVwY6s2QJax4oHlV1BJj2FVlWprQtmNNxljW0BEMKiJJZ/x5DW0ik5gYmUeXSbxjLjVW9vRMJlq0nHKWd0Wyl7wgLofcFEo32EuqKXFaoTvBKR+K3h2iMhWHTcUn5JBb43cwUFz2DZO1A==
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)(91956017)(64756008)(66476007)(31696002)(31686004)(82960400001)(76116006)(66446008)(2906002)(86362001)(38070700005)(508600001)(2616005)(6916009)(4326008)(8936002)(26005)(122000001)(54906003)(6506007)(38100700002)(83380400001)(6512007)(8676002)(53546011)(5660300002)(71200400001)(66946007)(186003)(66556008)(36756003)(316002)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?d3N5SElJdVFDODVzUGtoU2gwVGtrU2pvWXdIMVMzRFd0L2J5T09mR0RsQytK?=
 =?utf-8?B?QTB2QStqbGF1dHYzOTVkWW80VGgwaSt1M0k0eWJOV0xGcEhTQ0ZOcjQ5Vlpa?=
 =?utf-8?B?SXgrMnpVTk1GYU4wdWc5UWhKTUNxMUR1UmwrdFRxcFpjUml5bURockVGdFEw?=
 =?utf-8?B?Qkp2YzRMK2lOU0tuL3RCL0pKUEdsZ3VkNmllT01GZGlvUmJVSlFieW9Kemdh?=
 =?utf-8?B?MUUyWjJrRnNmSTNVQ1M2bHFhZmFKU2xCekRldW1BMkVxWnYxd2hMTUpqR2la?=
 =?utf-8?B?QzRoS1RKZjdHU2pNRllMTk13WUZzb1JMU3Z6K1dvNlBUaTU5N3E4M1RDLzEy?=
 =?utf-8?B?R2NMQS9nWkw1Y3JNd05JTWtaSEJ4RE1nN0ZXTHZKK29wNk5xdWsrS0Z3M0xG?=
 =?utf-8?B?aVB0VDhNNklPT3VobStTZ0xJSHFhRDc2Z1J2dW1XUVhhbmRqQmg2VFBaVmhU?=
 =?utf-8?B?dVhSTE1yMjRUeFFjNUp4T2pzQm9UUFJ2R0tXbFdLN1NkQlFjYzliWE9Xb21i?=
 =?utf-8?B?d3VBcE5WSHl4Zi9GNUpUS3c0TkM1RXhqazVrOGhJTDRKVEpRVjNuTE5QNE9B?=
 =?utf-8?B?bWRCOXpjNllqdUNNSlRNYXNuaFNzZWVRamttVTdjVEoyMDNnTm5ocGtSUFp0?=
 =?utf-8?B?c2ZCR3BkZTcwYVN3REMrTG1GYzRpRElncFF5eVVtNCt4ZXU3eEU5RFR2UmZm?=
 =?utf-8?B?YlBIWGtBMHhSV2dhS2U5eFNQTVZ5aTBBM1lEblZ1akIvOFhjRVhmSWRXUVk1?=
 =?utf-8?B?d3B4SENMZzFTTW4zNkZWY0cvUVhWNHVqWW1UU2V5NjlwN0VJU0VQeHlscFNp?=
 =?utf-8?B?Y1JQSUY1RFIveXc2RVhab1JhUStOVTNYVUtTVGlLSmo2Yld4Nzd2elpNVU1w?=
 =?utf-8?B?NDU2Mk1kRFJUam90UjFzdlVuT1ZSWThPb0FmUFV4WWIzQ1QwU0FDSElrWmxC?=
 =?utf-8?B?K3pVSVZCSG1JQTdBaHFvRlZoY1lhazdRZlBrWSs1YVlsejlRbFNjZms3emFq?=
 =?utf-8?B?Z21BaW5MeWRndmgwenRFOVFiQklMVVhxWFBKV2VlTEJmbkNqeUozYWhncVpY?=
 =?utf-8?B?Tm5lMjdoMW5lUXNLQzlWbHJ2WFUvN2M3alFtbTFkclhoWGhmYklHbXJjQjFS?=
 =?utf-8?B?SlVscjVBdmlXU2FrWEt5OUFSaGlMQmN3ODFtbkNXNXg2cStYdWlhWHZ1ZHNa?=
 =?utf-8?B?QU1vcStyM0xkTThaczNaNmFtUDZYZnZnWTFtZW43NlRRZHZCWTZEVWc1azZL?=
 =?utf-8?B?Y2c5SGlFZnkydjFVaXNYT2lkd285V0ZZNnM3c1pYNU9pRjNsQklCNkFxYkR1?=
 =?utf-8?B?YzR6RWxsSG55KzJOWFZ6YmFOLzEyazI5dWxmQTFMbWhZODJDZ2l1U3dzWDBF?=
 =?utf-8?B?QUprci9TUElKTk84SXNKOTFQTXJPS25lZlZRWDZFaXBCL2NFaFdiYzZFRkxC?=
 =?utf-8?B?SFFZY00vODBxMFZxdGJhcnFEREdYakgwUHFIeis3VFlpSTBvZmtCaWNiTkpi?=
 =?utf-8?B?SDRrSDBCcGNxSElWM3BTdUVUam9xdEV1SW5oQXdxdTh2Zk5FZnBZbFhQTUds?=
 =?utf-8?B?cnJEdXExSDFob0hTcnoyZlhzZFVWakhHRTI5T3RlN01QR1ozekxubXd1Tzla?=
 =?utf-8?B?b2JINDl6VEVydWd3dFlRR202MlllbXZnRTJMWnpkMUlKYkJmNjZud0RUWDFC?=
 =?utf-8?B?U3VsN2JZSXJqT1lnU0lWczNLL1UwMDdUMWcrR0Y1M25aZlNxc1hmRzFDRGhZ?=
 =?utf-8?B?bi9tT284UU9YVzBsTUNZektMcW5HbzExc0FUYm1nNDJUTTN2R1RoLy9NdTZ6?=
 =?utf-8?B?QTZBRXJaSUdyZmZOUmRiYmRmSGpGU1B0RndpN0RTWUkvZk9BWXRWZXhxT1N0?=
 =?utf-8?B?WlltVTl5WkN4YUVZNE1kdS9qajBBb0VxTm9GVC9TcXNIRkRwTzB0clNRSHc3?=
 =?utf-8?B?TU1IWERpa0laUS9ZS2dnNCtyS2JBREtXaTFUbUt1RVpSOFBteTV2RCs5RE1T?=
 =?utf-8?B?cFl4NWUvVWZNZENMem9OKytSTmw1Qk1udVJoSUZEQkNzNExSOEpqdEpTMmNT?=
 =?utf-8?B?YzdHelBUSG52QW5zODMvcVJvMk5YdHk4ZU52dzY4ZitDUDRreDFoUjMrUGIv?=
 =?utf-8?B?YlZvRGhpRU9UN2wrUTRDWDhTYmZwQUpwWnp3SER6Y3IyVWtKZklpdy82Nm96?=
 =?utf-8?B?cjc0OFhNaTM4b1I0bGkvZDZpWjZkMVN6VTh2WHZJWUlJU0N2QURXMHFVZXNJ?=
 =?utf-8?B?WU9waS9YalJtSk9vejlaWXdlQzhRPT0=?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <52AB2CD2DB377C45B9B35E86608781B3@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 73fa29f5-0122-40dc-07ae-08d9e1dfca9d
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Jan 2022 21:55:54.2100
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: AmlKr5kNPlAg2/MyJJMxJVFHko/TCklffubvbSsXSWV0ROmA6llzBAeSR9tUP8bHa88U+9HKmN+6Jq3NjZ3Q9QDTLFhgqq+GIldERcNMWfg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR03MB2424
X-OriginatorOrg: citrix.com

T24gMjcvMDEvMjAyMiAwNzoyNSwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDI2LjAxLjIwMjIg
MjE6MTYsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+PiBPbiAyNi8wMS8yMDIyIDE2OjUwLCBKYW4g
QmV1bGljaCB3cm90ZToNCj4+PiBPbiAyNi4wMS4yMDIyIDA5OjQ0LCBBbmRyZXcgQ29vcGVyIHdy
b3RlOg0KPj4+PiAxKSBJdCB3b3VsZCBiZSBzbGlnaHRseSBtb3JlIGVmZmljaWVudCB0byBwYXNz
IGN1cnIgYW5kIGNwdV9pbmZvIGludG8NCj4+Pj4gICAgdm17ZW50cnksZXhpdH1fc3BlY19jdHJs
KCksIGJ1dCBzZXR1cCBvZiBzdWNoIHN0YXRlIGNhbid0IGJlIGluIHRoZQ0KPj4+PiAgICBBTFRF
Uk5BVElWRSBibG9jayBiZWNhdXNlIHRoZW4gdGhlIGNhbGwgZGlzcGxhY2VtZW50IHdvbid0IGdl
dCBmaXhlZCB1cC4NCj4+Pj4gICAgQWxsIHRoZSBhZGRpdGlvbmFsIGFjY2Vzc2VzIGFyZSBob3Qg
b2ZmIHRoZSBzdGFjaywgc28gYWxtb3N0IGNlcnRhaW5seQ0KPj4+PiAgICBuZWdsaWdpYmxlIGNv
bXBhcmVkIHRvIHRoZSBXUk1TUi4NCj4+PiBXaGF0J3Mgd3Jvbmcgd2l0aCB1c2luZyB0d28gaW5z
dGFuY2VzIG9mIEFMVEVSTkFUSVZFLCBvbmUgdG8gc2V0dXAgdGhlDQo+Pj4gY2FsbCBhcmd1bWVu
dHMgYW5kIHRoZSAybmQgZm9yIGp1c3QgdGhlIENBTEw/DQo+PiBIbW0NCj4+DQo+PiBkaWZmIC0t
Z2l0IGEveGVuL2FyY2gveDg2L2h2bS9zdm0vZW50cnkuUyBiL3hlbi9hcmNoL3g4Ni9odm0vc3Zt
L2VudHJ5LlMNCj4+IGluZGV4IGM3MTgzMjhhYzRjZi4uMWQ0YmU3ZTk3YWUyIDEwMDY0NA0KPj4g
LS0tIGEveGVuL2FyY2gveDg2L2h2bS9zdm0vZW50cnkuUw0KPj4gKysrIGIveGVuL2FyY2gveDg2
L2h2bS9zdm0vZW50cnkuUw0KPj4gQEAgLTU5LDYgKzU5LDcgQEAgX19VTkxJS0VMWV9FTkQobnN2
bV9oYXApDQo+PiDCoA0KPj4gwqDCoMKgwqDCoMKgwqDCoCAvKiBXQVJOSU5HISBgcmV0YCwgYGNh
bGwgKmAsIGBqbXAgKmAgbm90IHNhZmUgYmV5b25kIHRoaXMgcG9pbnQuICovDQo+PiDCoMKgwqDC
oMKgwqDCoMKgIC8qIFNQRUNfQ1RSTF9FWElUX1RPX1NWTcKgwqDCoMKgwqDCoCBSZXE6wqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoA0KPj4gQ2xvYjog
Q8KgwqAgKi8NCj4+ICvCoMKgwqDCoMKgwqDCoCBBTFRFUk5BVElWRSAiIiwgX19zdHJpbmdpZnko
bW92ICVyYngsICVyZGk7IG1vdiAlcnNwLCAlcnNpKSwNCj4+IFg4Nl9GRUFUVVJFX1NDX01TUl9I
Vk0NCj4+IMKgwqDCoMKgwqDCoMKgwqAgQUxURVJOQVRJVkUgIiIsIF9fc3RyaW5naWZ5KGNhbGwg
dm1lbnRyeV9zcGVjX2N0cmwpLA0KPj4gWDg2X0ZFQVRVUkVfU0NfTVNSX0hWTQ0KPj4gwqANCj4+
IMKgwqDCoMKgwqDCoMKgwqAgcG9wwqAgJXIxNQ0KPj4NCj4+IGlzIHNvbWV3aGF0IG9mIGEgbG9u
ZyBsaW5lLCBidXQgaXNuJ3QgdG9vIHRlcnJpYmxlLg0KPj4NCj4+IEknbSB0ZW1wdGVkIHRvIHN3
aXRjaCBiYWNrIHRvIHVzaW5nIFNUUigpIHNlZWluZyBhcyB3ZSBoYXZlIGJvdGggYW5kIGl0DQo+
PiBpcyBtdWNoIG1vcmUgY29uY2lzZS4NCj4gTm8gb2JqZWN0aW9ucy4gSW4gZmFjdCBJIHRoaW5r
IHdoZW4gSSBpbnRyb2R1Y2VkIHN0cmluZ2lmeS5oIG92ZXIgMTAgeWVhcnMNCj4gYmFjaywgSSBk
aWRuJ3QgcmVhbGl6ZSB3ZSBhbHJlYWR5IGhhZCBTVFIoKS4gUXVpdGUgY2VydGFpbmx5IGZpcnN0
IGFuZA0KPiBmb3JlbW9zdCBiZWNhdXNlIG9mIGl0cyBib2d1cyBwbGFjZW1lbnQgaW4geGVuL2Nv
bmZpZy5oIChzYW1lIHdvdWxkIGdvIGZvcg0KPiBhdCBsZWFzdCBJU19BTElHTkVEKCkgYXMgd2Vs
bCBhcyBLQigpIGFuZCBmcmllbmRzKS4NCj4NCj4gSSB3b3VsZG4ndCBldmVuIG1pbmQgcGhhc2lu
ZyBvdXQgc3RyaW5naWZ5LmggYWdhaW4uIE9yIG1heWJlIHdlIHdhbnQgdG8NCj4gbW92ZSBTVFIo
KSB0aGVyZSAuLi4NCg0KTm93IHRoYXQgd2UndmUgZ2l2ZW4gdXAgdXNpbmcgZnJlZXN0YW5kaW5n
IGhlYWRlcnMgYW55d2hlcmUsIHRoZXJlJ3MgYQ0KeGVuL3N0ZGRlZi5oIHNoYXBlZCBob2xlLg0K
DQpUaGluZ3MgbGlrZSBOVUxMIHNob3VsZCBtb3ZlIGFjcm9zcywgYnV0IGl0IHdvdWxkIGFsc28g
YmUgdGhlDQphcHByb3ByaWF0ZSBwbGFjZSBmb3IgQVJSQVlfU0laRSgpIGFuZCBwcmV0dHkgbXVj
aCBldmVyeXRoaW5nIGVsc2Ugd2UNCmV4cGVjdCB0byBiZSB1YmlxdWl0b3VzLsKgIExpbnV4IGlu
Y2x1ZGVzIHRoaW5ncyBsaWtlIG9mZnNldG9mKCkuDQoNCn5BbmRyZXcNCg==


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 22:41:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 22:41:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261763.453486 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDDRr-0006lK-Pe; Thu, 27 Jan 2022 22:40:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261763.453486; Thu, 27 Jan 2022 22: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 1nDDRr-0006lD-Mj; Thu, 27 Jan 2022 22:40:59 +0000
Received: by outflank-mailman (input) for mailman id 261763;
 Thu, 27 Jan 2022 22:40:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aWrC=SL=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nDDRq-0006l7-Bd
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 22:40:58 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 304e3108-7fc2-11ec-8eb8-a37418f5ba1a;
 Thu, 27 Jan 2022 23:40:56 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id CAC5961BBE;
 Thu, 27 Jan 2022 22:40:54 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D1F8AC340E4;
 Thu, 27 Jan 2022 22:40: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: 304e3108-7fc2-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1643323254;
	bh=kFzTHGJaeoDb+qvVKWXZSk+JOj/DTDahkGYdIqOMslI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=MXAA765m6+rLGhiElFAwdXvK5iDF+f4NlAxjFol+vmpiSLYM4WSH9inXACKJDq2Wi
	 DHpfhY6jUtGjHggDRGMF3+2T3B0h+Ul17qZPI+UsnXO0t2aQFQKFI5iCiz126tfRd8
	 xAQenOAGXP78I9g2HXC01QPufHPJsQcbpf6m+Z8MTwcoa7mYa+HXYHO7kUMI0P500u
	 PQudBA4qoCzthryntOtimYXIPe2jbornZ0U1Q4hsBu1laaQ1MR0D6aaSACS4xA0Bi4
	 3asi/B/Yw1OQoAkcp77GCEX8ywMbvFIYIc6h3NVrFaUrTcpgR/XGwvkanpvBv7jwNz
	 /2mmDSQY7n8ug==
Date: Thu, 27 Jan 2022 14:40:53 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>, 
    Julien Grall <julien.grall.oss@gmail.com>, 
    xen-devel <xen-devel@lists.xenproject.org>, 
    Stefano Stabellini <sstabellini@kernel.org>, stefanos@xilinx.com, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [XEN v1] xen/arm: io: Check ESR_EL2.ISV != 0 before searching
 for a MMIO handler
In-Reply-To: <f6853134-8b65-5ffb-b39a-62ed26b3f499@xen.org>
Message-ID: <alpine.DEB.2.22.394.2201271327430.27308@ubuntu-linux-20-04-desktop>
References: <20220126165827.61168-1-ayankuma@xilinx.com> <CAJ=z9a1KjOAeR4vpRQGA_sYSvx1h331NKim2bgG8jyru94Beow@mail.gmail.com> <eeedbb72-d881-363d-c862-234b705eaec7@xilinx.com> <CAJ=z9a0VEqr_ODQZvdsO82PiOpHt5-TVc4JWE5pJCeNYPh+XHg@mail.gmail.com>
 <bee7ea7a-6d3d-bf3c-4b5f-d40deb601867@xilinx.com> <2064878e-4ef1-f0a3-1476-7175c2c8d29e@xen.org> <bcd28a18-80ea-0987-6867-5c6fc634a8a5@xilinx.com> <f6853134-8b65-5ffb-b39a-62ed26b3f499@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-84538357-1643321245=:27308"
Content-ID: <alpine.DEB.2.22.394.2201271407560.27308@ubuntu-linux-20-04-desktop>

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-84538357-1643321245=:27308
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2201271407561.27308@ubuntu-linux-20-04-desktop>

On Thu, 27 Jan 2022, Julien Grall wrote:
> On 27/01/2022 15:48, Ayan Kumar Halder wrote:
> > On 27/01/2022 13:57, Julien Grall wrote:
> > > 
> > > 
> > > On 27/01/2022 13:20, Ayan Kumar Halder wrote:
> > > > Hi,
> > > > 
> > > > Asking here as well (might not have been clear on irc).
> > > > 
> > > > On 27/01/2022 00:10, Julien Grall wrote:
> > > > > Hi,
> > > > > 
> > > > > On Wed, 26 Jan 2022, 17:56 Ayan Kumar Halder,
> > > > > <ayan.kumar.halder@xilinx.com> wrote:
> > > > > 
> > > > >     Hi Julien,
> > > > > 
> > > > >     On 26/01/2022 17:22, Julien Grall wrote:
> > > > > >     Hi,
> > > > > > 
> > > > > >     On Wed, 26 Jan 2022, 16:58 Ayan Kumar Halder,
> > > > > >     <ayan.kumar.halder@xilinx.com> wrote:
> > > > > > 
> > > > > >         Refer to Armv8 ARM DDI 0487G.b, Page D13-3219 "ISS encoding
> > > > > >         for an exception
> > > > > >         from a Data Abort" :-
> > > > > >         ISV - ISS[23:14] holds a valid instruction syndrome
> > > > > > 
> > > > > >         When the ISV is 0, the instruction could not be decoded by
> > > > > >         the hardware (ie ISS
> > > > > >         is invalid). One should immediately return an error to the
> > > > > >         caller with an
> > > > > >         appropriate error message.
> > > > > > 
> > > > > >     That's going to be very spammy because we have use-case where it
> > > > > >     could trap without a valid ISV (e.g. when break-before-make
> > > > > >     happens). So please don't had a message.
> > > > > 
> > > > >     There is already a logging statement in traps.c :-
> > > > > 
> > > > >     inject_abt:
> > > > >         gdprintk(XENLOG_DEBUG,
> > > > >                  "HSR=%#"PRIregister" pc=%#"PRIregister"
> > > > >     gva=%#"PRIvaddr" gpa=%#"PRIpaddr"\n",
> > > > >                  hsr.bits, regs->pc, gva, gpa);
> > > > > 
> > > > >     The reason for the error is to give the user some hint that an IO
> > > > >     abort is triggered by Xen.
> > > > > 
> > > > > The main difference here is inject_dabt should only be reached when we
> > > > > exhausted all the possibility in I/O handling.
> > > > > 
> > > > > In your case, if we can't handle as an MMIO then we should fallthrough
> > > > > the other method (see do_trap_stage2_abort_guest()).
> > > > > 
> > > > > In fact, moving the check early and doing the decoding before
> > > > > find_mmio() or try_fwd_io() is actually wrong. Sorry I should realized
> > > > > that earlier.
> > > > 
> > > > Why should we care about MMIO when ISS is invalid ?
> > > 
> > > Because a translation fault doesn't mean this is emulated MMIO. This may
> > > be actual RAM but with the stage-2 entry marked as invalid for tracking
> > > purpose (or else).
> > > 
> > > > Should we not check first if the ISS is valid or not as it will trigger
> > > > IO_abort regardless of the MMIO.
> > > 
> > > No. Imagine the guest decides to use a store exclusive on a RAM region
> > > that was temporally marked as invalid in the stage-2 page-table.
> > > 
> > > This will generate a data abort in Xen with ISV=0. We want to try to
> > > resolve the fault first and retry the instruction.
> > > 
> > > > 
> > > > I am assuming that once Xen resolves the MMIO
> > > > (p2m_resolve_translation_fault()), the guest will again try to run the
> > > > same instruction on MMIO region. This will be trapped in Xen which will
> > > > return IO abort as the post-indexing instruction could not be decoded.
> > > 
> > > The access will not trap again in Xen if the fault was resolved.
> > 
> > I think your words makes sense.
> > 
> > However, I am still concerned that we might not be doing the correct thing
> > in try_fwd_ioserv().
> > 
> > See this :-
> > 
> >      ioreq_t p = {
> >          .type = IOREQ_TYPE_COPY,
> >          .addr = info->gpa,
> >          .size = 1 << info->dabt.size,
> >          .count = 1,
> >          .dir = !info->dabt.write,
> >          /*
> >           * On x86, df is used by 'rep' instruction to tell the direction
> >           * to iterate (forward or backward).
> >           * On Arm, all the accesses to MMIO region will do a single
> >           * memory access. So for now, we can safely always set to 0.
> >           */
> >          .df = 0,
> >          .data = get_user_reg(regs, info->dabt.reg),
> >          .state = STATE_IOREQ_READY,
> >      };
> > If info->dabt.valid = 0, then '.size', '.dir' and '.data' fields are
> > invalid.
> 
> Sort of. ISV=0 means that bits [23:14] are RES0. So this doesn't cover the
> field WnR. The validity of WnR will depend on DFSC. In our case, we will
> always reach this code with a translation fault. So WnR should always be
> valid.
> 
> That said, the rest will not be valid.
> 
> > 
> > '.size' gets used in ioreq_server_select() to obtain the end address. It
> > seems incorrect to me.
> > 
> > I suppose "if ( !info->dabt.valid )" needs to be checked before "s =
> > ioreq_server_select(v->domain, &p);".
> 
> The trouble is we would need to return IO_UNHANDLED (so the rest of the code
> can pick it up) which I think is incorrect here.
> 
> The approach I can think of is to call ioreq_server_select() with size = 0
> (i.e. byte access). Then decode the size (if needed) and then check the access
> is correct.
> 
> This is not very nice. But that at the same time, I would like to avoid
> dealing emulated I/O in Xen or outside differently. Stefano?

I am with you on both points.

One thing I noticed is that the code today is not able to deal with
IO_UNHANDLED for MMIO regions handled by IOREQ servers or Xen MMIO
emulator handlers. p2m_resolve_translation_fault and try_map_mmio are
called after try_handle_mmio returns IO_UNHANDLED but try_handle_mmio is
not called a second time (or am I mistaken?)

Another thing I noticed is that currently find_mmio_handler and
try_fwd_ioserv expect dabt to be already populated and valid so it would
be better if we could get there only when dabt.valid.

With these two things in mind, I think maybe the best thing to do is to
change the code in do_trap_stage2_abort_guest slightly so that
p2m_resolve_translation_fault and try_map_mmio are called first when
!dabt.valid.

Patch below only for explaning; it doesn't build as is and I am not sure
it is 100% correct. For instance, if try_map_mmio succeeds, should we
return or goto again?


diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 9339d12f58..d09f901a50 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -1965,7 +1965,8 @@ static void do_trap_stage2_abort_guest(struct cpu_user_regs *regs,
          *
          * Note that emulated region cannot be executed
          */
-        if ( is_data )
+again:
+        if ( is_data && hsr.dabt.valid )
         {
             enum io_state state = try_handle_mmio(regs, hsr, gpa);
 
@@ -1996,6 +1997,12 @@ static void do_trap_stage2_abort_guest(struct cpu_user_regs *regs,
         if ( is_data && try_map_mmio(gaddr_to_gfn(gpa)) )
             return;
 
+        if ( !hsr.dabt.valid )
+        {
+            if ( !decode_instruction(regs, &hsr.dabt) )
+                goto again;
+        }
+
         break;
     default:
         gprintk(XENLOG_WARNING,
--8323329-84538357-1643321245=:27308--


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 22:51:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 22:51:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261767.453498 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDDbk-0008IX-QQ; Thu, 27 Jan 2022 22:51:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261767.453498; Thu, 27 Jan 2022 22: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 1nDDbk-0008IQ-N6; Thu, 27 Jan 2022 22:51:12 +0000
Received: by outflank-mailman (input) for mailman id 261767;
 Thu, 27 Jan 2022 22:51: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 1nDDbj-0008IG-7I; Thu, 27 Jan 2022 22:51: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 1nDDbj-00036B-3t; Thu, 27 Jan 2022 22:51: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 1nDDbi-0003zK-K8; Thu, 27 Jan 2022 22:51:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nDDbi-0007GQ-Jj; Thu, 27 Jan 2022 22: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=A/tnLphRBM+COxVZqhqW7RZ6Gll6WXdqr15PlkuZTjM=; b=JCZizl+RyEBxI+UzFkX4JFtNLu
	bJyWFzOJRVjE3LfKi7en9Zoc+MqIZWJZGLVJS7iR5ww+MJc7XimMxkbaDYyWiuKNsMqcrDAwww89u
	aUztfYm1fxRgxMbLvGmiuGkxKC+DB34xRgISrNv7X41PdumZQ+vGIxPen6uzZCSGntqQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167919-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 167919: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=6777e673839a510aaa62a48514a4223da7d3bba2
X-Osstest-Versions-That:
    ovmf=8cc5590eab974ab34e2bfa1c9d6a7ef94c70ffae
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 27 Jan 2022 22:51:10 +0000

flight 167919 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167919/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 6777e673839a510aaa62a48514a4223da7d3bba2
baseline version:
 ovmf                 8cc5590eab974ab34e2bfa1c9d6a7ef94c70ffae

Last test of basis   167907  2022-01-27 02:40:24 Z    0 days
Testing same since   167919  2022-01-27 13:10:49 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Min Xu <min.m.xu@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
   8cc5590eab..6777e67383  6777e673839a510aaa62a48514a4223da7d3bba2 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 23:06:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 23:06:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261776.453509 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDDqF-0001ZP-A2; Thu, 27 Jan 2022 23:06:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261776.453509; Thu, 27 Jan 2022 23:06:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDDqF-0001ZI-6X; Thu, 27 Jan 2022 23:06:11 +0000
Received: by outflank-mailman (input) for mailman id 261776;
 Thu, 27 Jan 2022 23:06:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=F3iz=SL=gmail.com=julien.grall.oss@srs-se1.protection.inumbo.net>)
 id 1nDDqE-0001ZC-Cn
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 23:06:10 +0000
Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com
 [2a00:1450:4864:20::432])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b6280962-7fc5-11ec-8eb8-a37418f5ba1a;
 Fri, 28 Jan 2022 00:06:08 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id k18so7412612wrg.11
 for <xen-devel@lists.xenproject.org>; Thu, 27 Jan 2022 15:06:08 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b6280962-7fc5-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=601x8TXtoK0XOMdCQkicw790lMFnRqZEvlm3korMnH8=;
        b=kJEvgj6iaDqMy1QIeOY1KlrbFv5HlmWK2/KsKSqqZbrzT+/41W5y5drEBrh8qBZYbB
         b01cDbCpMO8q1PyqZvXvJ2qKKSz31dSC2DBOo4C9kt7tf5bV+OEpVNil3rpP2UQCSTAq
         X0qsRo8A84u2ZK14QLzsLXvKXob7hrYHlb4WPOie8W2tVvP8UfL2hPtOEnLWuK0OFsc9
         27XnPDx2HH1F+WVNyFacDyeKE6Ij82JCYecnw2P99Ce0H/uZJFY4BvS99qAazLKJk+9g
         DMEZ+IJ7KPqouxJDqVfN61embvEZr0vVjqnmKPslMikEXSozYwJnDvtnb/0PcgNcBPh6
         Z8zw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=601x8TXtoK0XOMdCQkicw790lMFnRqZEvlm3korMnH8=;
        b=yKkMatBP3JK0N1cvvZB2U02Mis20oiwK8k06kXEVXi47aawS5COnXfPOhlrAcAy3V8
         KIZlqjKbdsM55e8cGkVjCSLugigHAxPoHz6CmyWNyZSWVa4Gpj1shuDc8OVXTpcOxnTY
         CMxrSMgdrjLUiXCSM2nZ02RJF6v0NT9fHyMW1jx7amucTbJHf7Th0C6Y2graDWyUyAJ/
         NU5bH7OMJ+lICRlbiiuAa/JhduvWsWO6U6In93UJiNhfhdTNgXOOQvLyYzVWrq6Qe/9p
         HAzFeqRiJ8Y4CdPplDycW2EHUfWH8IXJJ1Bga6sv2dBDvW85acIitCJbb9Hmfq9bYZ7M
         meHA==
X-Gm-Message-State: AOAM530wcMNZcM0JCv4lr6/XG+lG/0CXqjVINwdu2x/CPZDUt5ioW1Ea
	53uiilGRhsTWHlOt9PmcC58C/MrHcD7O7sm3kmA=
X-Google-Smtp-Source: ABdhPJzUsBCwZT1xbgpv62G0NFIfBTP05QthlsNT3lgvuu/V4ERR4909Sy6NN84DQgUZG087WI8ELpyE0TX+aFkrJLU=
X-Received: by 2002:a05:6000:1101:: with SMTP id z1mr4690430wrw.135.1643324767944;
 Thu, 27 Jan 2022 15:06:07 -0800 (PST)
MIME-Version: 1.0
References: <20220126165827.61168-1-ayankuma@xilinx.com> <CAJ=z9a1KjOAeR4vpRQGA_sYSvx1h331NKim2bgG8jyru94Beow@mail.gmail.com>
 <eeedbb72-d881-363d-c862-234b705eaec7@xilinx.com> <CAJ=z9a0VEqr_ODQZvdsO82PiOpHt5-TVc4JWE5pJCeNYPh+XHg@mail.gmail.com>
 <bee7ea7a-6d3d-bf3c-4b5f-d40deb601867@xilinx.com> <2064878e-4ef1-f0a3-1476-7175c2c8d29e@xen.org>
 <bcd28a18-80ea-0987-6867-5c6fc634a8a5@xilinx.com> <f6853134-8b65-5ffb-b39a-62ed26b3f499@xen.org>
 <alpine.DEB.2.22.394.2201271327430.27308@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2201271327430.27308@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien.grall.oss@gmail.com>
Date: Thu, 27 Jan 2022 23:05:56 +0000
Message-ID: <CAJ=z9a2Sp6w0b21p96YHx4w_m0jAbYJ4v=cVar-1nPeL7SotZw@mail.gmail.com>
Subject: Re: [XEN v1] xen/arm: io: Check ESR_EL2.ISV != 0 before searching for
 a MMIO handler
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>, 
	xen-devel <xen-devel@lists.xenproject.org>, stefanos@xilinx.com, 
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>
Content-Type: text/plain; charset="UTF-8"

On Thu, 27 Jan 2022 at 22:40, Stefano Stabellini <sstabellini@kernel.org> wrote:
> I am with you on both points.
>
> One thing I noticed is that the code today is not able to deal with
> IO_UNHANDLED for MMIO regions handled by IOREQ servers or Xen MMIO
> emulator handlers. p2m_resolve_translation_fault and try_map_mmio are
> called after try_handle_mmio returns IO_UNHANDLED but try_handle_mmio is
> not called a second time (or am I mistaken?)

Why would you need it? If try_mmio_fault() doesn't work the first time, then
it will not work the second it.

>
> Another thing I noticed is that currently find_mmio_handler and
> try_fwd_ioserv expect dabt to be already populated and valid so it would
> be better if we could get there only when dabt.valid.
>
> With these two things in mind, I think maybe the best thing to do is to
> change the code in do_trap_stage2_abort_guest slightly so that
> p2m_resolve_translation_fault and try_map_mmio are called first when
> !dabt.valid.

An abort will mostly likely happen because of emulated I/O. If we call
p2m_resolve_translation_fault() and try_map_mmio() first, then it means
the processing will take longer than necessary for the common case.

So I think we want to keep the order as it is. I.e first trying the MMIO
and then falling back to the less likely reason for a trap.

>
> Patch below only for explaning; it doesn't build as is and I am not sure
> it is 100% correct. For instance, if try_map_mmio succeeds, should we
> return or goto again?

If try_map_mmio() succeeds then it means we create a valid entry
in the stage-2. Therefore, we want to return to the guest and
try to execute the instruction.

The same is valid for p2m_resolve_translation_fault(). If it works
then it means we successfully set the valid bit in an entry. So
we want to re-try directly.

Cheers,


From xen-devel-bounces@lists.xenproject.org Thu Jan 27 23:06:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 27 Jan 2022 23:06:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261779.453519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDDqo-000207-Ia; Thu, 27 Jan 2022 23:06:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261779.453519; Thu, 27 Jan 2022 23:06:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDDqo-000200-Fd; Thu, 27 Jan 2022 23:06:46 +0000
Received: by outflank-mailman (input) for mailman id 261779;
 Thu, 27 Jan 2022 23:06:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=F3iz=SL=gmail.com=julien.grall.oss@srs-se1.protection.inumbo.net>)
 id 1nDDqn-0001ZC-Hs
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 23:06:45 +0000
Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com
 [2a00:1450:4864:20::32f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cbacba37-7fc5-11ec-8eb8-a37418f5ba1a;
 Fri, 28 Jan 2022 00:06:44 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 l12-20020a7bc34c000000b003467c58cbdfso6931982wmj.2
 for <xen-devel@lists.xenproject.org>; Thu, 27 Jan 2022 15:06:44 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cbacba37-7fc5-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=dbraYYMiRiczT/Ho84MUyk24oR1IuMOPK/STodgWYuk=;
        b=RBWiA6wwRGVbL1Okl2lC4alfAO5ma5rnFGkadco39YEMKi/wnnQAjjXPhEymOujU2d
         uE0Wb1Vh+R5ClHpMd9BtZyyyXbPFBlYHcMN9mgy3aC6pt61JX3fKWzYCmBw9givnN+oH
         fLnm+q0Qohm/J1egGPTc1OOrEn5o3ydc6ragZLqbv2XMM2//fbTFATxgJWgNvDIapJJo
         nGOmVLDIHYmANgHxh8O4RfZH1fAsqzriQ+litflkwwYCbJtLba8YjDh5EpEbR+viEIbJ
         giKpMePLwkjgLEqHs7Yh3JyXQZpdYvM0N3sxDbNoHGsnZLTYFdK7kM2Bcc7S9X5Av+cJ
         Pk5g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=dbraYYMiRiczT/Ho84MUyk24oR1IuMOPK/STodgWYuk=;
        b=586gF69dxNHXnRvQzHG4ek0r2+QHI08LLIkpLUsWA+sLuFX/5+C7BQKmXW+8XBk3HR
         XqcHbeJnA1F5sz1RI1DxB8K4WhXluUZa3M5aFTrEmQ4DzQ05OYOQNFpv0AktNASIABp+
         +IqTjsbzoGRcWtVkYLZPPzRjDxoEj63slBgRx1rBo5S341dqi3CjbuNbVKEOdJdoxTA6
         r+xr2Vy93GYMRaQZBmZc5bH9nhMGQPqZ1aNE8QA9wTQlf1SCRD4bceenPea0UaKvgFE5
         knYqOtzMbruPP/lQiLJLtl7qqxZoGms7HfJ3PFn7OMZMPuRqipeF4zJtPpq/aK0LT2jM
         SA7g==
X-Gm-Message-State: AOAM533scoA04d+UoGkqVISccvURsZ40M+gZcYMBAWK6C0hIc10ikI12
	R5Y5EOhpY3N34n0j65LhEisT2/caTZP8lu122Cg=
X-Google-Smtp-Source: ABdhPJwysP9AZhbuHukIfUluOTbiDu3jyKjAsglXdydmAhO+Kh+/HNC+qUlQUBEC/IZtqCOUrGtNfM055bzzKYBDWmM=
X-Received: by 2002:a05:600c:491:: with SMTP id d17mr6628829wme.130.1643324804183;
 Thu, 27 Jan 2022 15:06:44 -0800 (PST)
MIME-Version: 1.0
References: <20220126165827.61168-1-ayankuma@xilinx.com> <CAJ=z9a1KjOAeR4vpRQGA_sYSvx1h331NKim2bgG8jyru94Beow@mail.gmail.com>
 <eeedbb72-d881-363d-c862-234b705eaec7@xilinx.com> <CAJ=z9a0VEqr_ODQZvdsO82PiOpHt5-TVc4JWE5pJCeNYPh+XHg@mail.gmail.com>
 <bee7ea7a-6d3d-bf3c-4b5f-d40deb601867@xilinx.com> <2064878e-4ef1-f0a3-1476-7175c2c8d29e@xen.org>
 <bcd28a18-80ea-0987-6867-5c6fc634a8a5@xilinx.com> <f6853134-8b65-5ffb-b39a-62ed26b3f499@xen.org>
 <alpine.DEB.2.22.394.2201271327430.27308@ubuntu-linux-20-04-desktop> <CAJ=z9a2Sp6w0b21p96YHx4w_m0jAbYJ4v=cVar-1nPeL7SotZw@mail.gmail.com>
In-Reply-To: <CAJ=z9a2Sp6w0b21p96YHx4w_m0jAbYJ4v=cVar-1nPeL7SotZw@mail.gmail.com>
From: Julien Grall <julien.grall.oss@gmail.com>
Date: Thu, 27 Jan 2022 23:06:32 +0000
Message-ID: <CAJ=z9a1HML30aGn52GY34g-QbvLPHep7j=H-UDxsH1+B0CEb3Q@mail.gmail.com>
Subject: Re: [XEN v1] xen/arm: io: Check ESR_EL2.ISV != 0 before searching for
 a MMIO handler
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>, 
	xen-devel <xen-devel@lists.xenproject.org>, stefanos@xilinx.com, 
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>
Content-Type: text/plain; charset="UTF-8"

On Thu, 27 Jan 2022 at 23:05, Julien Grall <julien.grall.oss@gmail.com> wrote:
>
> On Thu, 27 Jan 2022 at 22:40, Stefano Stabellini <sstabellini@kernel.org> wrote:
> > I am with you on both points.
> >
> > One thing I noticed is that the code today is not able to deal with
> > IO_UNHANDLED for MMIO regions handled by IOREQ servers or Xen MMIO
> > emulator handlers. p2m_resolve_translation_fault and try_map_mmio are
> > called after try_handle_mmio returns IO_UNHANDLED but try_handle_mmio is
> > not called a second time (or am I mistaken?)
>
> Why would you need it? If try_mmio_fault() doesn't work the first time, then

Sorry I meant try_handle_mmio().

> it will not work the second it.
>
> >
> > Another thing I noticed is that currently find_mmio_handler and
> > try_fwd_ioserv expect dabt to be already populated and valid so it would
> > be better if we could get there only when dabt.valid.
> >
> > With these two things in mind, I think maybe the best thing to do is to
> > change the code in do_trap_stage2_abort_guest slightly so that
> > p2m_resolve_translation_fault and try_map_mmio are called first when
> > !dabt.valid.
>
> An abort will mostly likely happen because of emulated I/O. If we call
> p2m_resolve_translation_fault() and try_map_mmio() first, then it means
> the processing will take longer than necessary for the common case.
>
> So I think we want to keep the order as it is. I.e first trying the MMIO
> and then falling back to the less likely reason for a trap.
>
> >
> > Patch below only for explaning; it doesn't build as is and I am not sure
> > it is 100% correct. For instance, if try_map_mmio succeeds, should we
> > return or goto again?
>
> If try_map_mmio() succeeds then it means we create a valid entry
> in the stage-2. Therefore, we want to return to the guest and
> try to execute the instruction.
>
> The same is valid for p2m_resolve_translation_fault(). If it works
> then it means we successfully set the valid bit in an entry. So
> we want to re-try directly.
>
> Cheers,


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 00:06:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 00:06:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261788.453531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDEmH-0000m0-OM; Fri, 28 Jan 2022 00:06:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261788.453531; Fri, 28 Jan 2022 00:06:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDEmH-0000lt-Ki; Fri, 28 Jan 2022 00:06:09 +0000
Received: by outflank-mailman (input) for mailman id 261788;
 Fri, 28 Jan 2022 00:06: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 1nDEmG-0000lj-2D; Fri, 28 Jan 2022 00:06: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 1nDEmF-00051Z-Ub; Fri, 28 Jan 2022 00:06: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 1nDEmF-0000Ov-GT; Fri, 28 Jan 2022 00:06:07 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nDEmF-00058I-G0; Fri, 28 Jan 2022 00: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=sGI0Lj0gnUse3G1wyoolobeeDZUk0NZ3DUAyjq8/WqU=; b=2QZl5/cKMjXwrrJ6OX4Na3OysZ
	Z+fKxjBsLFawIpZ1DTi1f2TE5tB9vF6sMN8iaD+LvRsZJ3g3O1MLZ63NGHfjWW4o3IZymXgWr7bA7
	4fAFqOv0N9lRIN8++fgXRSrzN3M11sJmhKiIQ42bbid3VcZ9cb1w+ncvY4MBJzknR4Uo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167916-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 167916: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-5.4:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-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-qcow2:saverestore-support-check: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-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-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-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-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt: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-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=411d8da1c84369f4d4eef7dd55766dffc0a169fd
X-Osstest-Versions-That:
    linux=4aa2e7393e140f434c469bffe478e11cb9c55ed8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 28 Jan 2022 00:06:07 +0000

flight 167916 linux-5.4 real [real]
flight 167925 linux-5.4 real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/167916/
http://logs.test-lab.xenproject.org/osstest/logs/167925/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat fail pass in 167925-retest

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds    18 guest-start/debian.repeat fail REGR. vs. 167782

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167782
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167782
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167782
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167782
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167782
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167782
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167782
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167782
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167782
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167782
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167782
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167782
 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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                411d8da1c84369f4d4eef7dd55766dffc0a169fd
baseline version:
 linux                4aa2e7393e140f434c469bffe478e11cb9c55ed8

Last test of basis   167782  2022-01-21 09:01:54 Z    6 days
Testing same since   167916  2022-01-27 08:41:47 Z    0 days    1 attempts

------------------------------------------------------------
321 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                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

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
   4aa2e7393e14..411d8da1c843  411d8da1c84369f4d4eef7dd55766dffc0a169fd -> tested/linux-5.4


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 00:27:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 00:27:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261797.453541 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDF6E-0003Ol-8l; Fri, 28 Jan 2022 00:26:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261797.453541; Fri, 28 Jan 2022 00:26:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDF6E-0003Oe-57; Fri, 28 Jan 2022 00:26:46 +0000
Received: by outflank-mailman (input) for mailman id 261797;
 Fri, 28 Jan 2022 00:26: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 1nDF6C-0003OT-ND; Fri, 28 Jan 2022 00:26: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 1nDF6C-0005Nx-Kk; Fri, 28 Jan 2022 00:26: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 1nDF6C-0001DO-5l; Fri, 28 Jan 2022 00:26:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nDF6C-00052w-5J; Fri, 28 Jan 2022 00: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=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=mAxfCmqzu36n1FWJNeYzxTNZz1jBLMRma3LnJXFGRqQ=; b=bQNwnfccBEczzKav7U6JXbiRfU
	VFY0QpyDIm8HyI8hSaG4vbSgflJ6RUujjAFQ2dxjw9LJwxAfycqcWfX8phuf+PL54cVY/2EUnBuLm
	+2VEy/B17dwVP7g88HSdqd+P0Wo/Uj8+qS7/XHt//P6Xw92HLy4mCoBNLvBzhe6cfo4M=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167920-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [seabios test] 167920: tolerable FAIL - PUSHED
X-Osstest-Failures:
    seabios:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    seabios:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    seabios:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    seabios:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    seabios:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    seabios:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    seabios:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    seabios=dc776a2d9ca9e1b857e880ff682668871369b4c3
X-Osstest-Versions-That:
    seabios=e4f02c12518c0fe8154950b2e34c56a92721626e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 28 Jan 2022 00:26:44 +0000

flight 167920 seabios real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167920/

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 167788
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167788
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167788
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167788
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167788
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass

version targeted for testing:
 seabios              dc776a2d9ca9e1b857e880ff682668871369b4c3
baseline version:
 seabios              e4f02c12518c0fe8154950b2e34c56a92721626e

Last test of basis   167788  2022-01-21 16:10:27 Z    6 days
Testing same since   167920  2022-01-27 16:42:48 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexander Graf <graf@amazon.com>
  Jan Beulich <jbeulich@suse.com>
  Jan Beulich via SeaBIOS <seabios@seabios.org>
  Kevin O'Connor <kevin@koconnor.net>
  Volker Rümelin <vr_qemu@t-online.de>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/seabios.git
   e4f02c1..dc776a2  dc776a2d9ca9e1b857e880ff682668871369b4c3 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 01:05:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 01:05:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261805.453553 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDFhV-0001Su-A7; Fri, 28 Jan 2022 01:05:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261805.453553; Fri, 28 Jan 2022 01:05:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDFhV-0001Sn-6U; Fri, 28 Jan 2022 01:05:17 +0000
Received: by outflank-mailman (input) for mailman id 261805;
 Fri, 28 Jan 2022 01:05: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 1nDFhU-0001Sd-G7; Fri, 28 Jan 2022 01:05: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 1nDFhU-0007dQ-C2; Fri, 28 Jan 2022 01:05: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 1nDFhT-0002YE-QL; Fri, 28 Jan 2022 01:05:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nDFhT-0000FK-Pu; Fri, 28 Jan 2022 01:05: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=BtfUdzV0ucnUFb4mgvuRGV96XaqZCtifE6RV4TcHHX8=; b=qt+CVVvOrftuSIa2+/zam0gRDs
	T5+ZETDz1LV1q0H8Sjw2IPXa2vK05ps7scgGrA6SoyWKhCutxX0osj+PPajHc8MVjQnhVxvgQ+UoM
	TNxQ0v4kgxi4V9zb4ImoGPP3+4sCBL+ddGfo4uXM1+8ZDeJ4Fr9+WzGLm32BLYFZGRE4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167924-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 167924: 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=969a57f73f6b011b2ebf4c0ab1715efc65837335
X-Osstest-Versions-That:
    xen=0bdc43c8dec993258e930b34855853c22b917519
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 28 Jan 2022 01:05:15 +0000

flight 167924 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167924/

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                  969a57f73f6b011b2ebf4c0ab1715efc65837335
baseline version:
 xen                  0bdc43c8dec993258e930b34855853c22b917519

Last test of basis   167918  2022-01-27 13:01:40 Z    0 days
Testing same since   167924  2022-01-27 21:02:57 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-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
   0bdc43c8de..969a57f73f  969a57f73f6b011b2ebf4c0ab1715efc65837335 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 01:20:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 01:20:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261813.453563 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDFvs-0003va-M2; Fri, 28 Jan 2022 01:20:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261813.453563; Fri, 28 Jan 2022 01: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 1nDFvs-0003vT-Iw; Fri, 28 Jan 2022 01:20:08 +0000
Received: by outflank-mailman (input) for mailman id 261813;
 Fri, 28 Jan 2022 01:20:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wh6+=SM=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nDFvq-0003n7-Fl
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 01:20:06 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6badf8cb-7fd8-11ec-8eb8-a37418f5ba1a;
 Fri, 28 Jan 2022 02:20:04 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 186EEB81998;
 Fri, 28 Jan 2022 01:20:03 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 874B5C340E5;
 Fri, 28 Jan 2022 01:20: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: 6badf8cb-7fd8-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1643332801;
	bh=xxpNVKIdYzaICyQ+EqVWA0iw9ASvPp4gk8AIVy6AaNs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=W2DgZvnhWpaKofABkhdM8mBYzpWSW/6qYSZSZCl2V/F8LtOlMDUB4Z8wVmIcCLYG5
	 HSSOtGpgqTzzZpsHXCwbj2FvpBwOBKxkFykckLCalyWdIjbph3QfJ4yZTplkiJciPP
	 b+x67kJjMCMLITGYZ+yWVLKSBIqq4qd14/kW8n5eR3SbdPQ8zOfkNGeBrGFwpiJXA8
	 LvtDHWML3Vxqr/uq13ej3u1l8CPf+X+2Q6eS+ta6HrkBBWePtyKbIOT7rpMWSFhuwr
	 oG2dVOhMPASrc+CtWePhVAQiWMQyuY8q0Wb3Ir5Li1+YJqNEsewM5jdtqUMhxXJfWG
	 hQfYDc9hUFrLA==
Date: Thu, 27 Jan 2022 17:20:01 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien.grall.oss@gmail.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>, 
    xen-devel <xen-devel@lists.xenproject.org>, stefanos@xilinx.com, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [XEN v1] xen/arm: io: Check ESR_EL2.ISV != 0 before searching
 for a MMIO handler
In-Reply-To: <CAJ=z9a1HML30aGn52GY34g-QbvLPHep7j=H-UDxsH1+B0CEb3Q@mail.gmail.com>
Message-ID: <alpine.DEB.2.22.394.2201271513330.27308@ubuntu-linux-20-04-desktop>
References: <20220126165827.61168-1-ayankuma@xilinx.com> <CAJ=z9a1KjOAeR4vpRQGA_sYSvx1h331NKim2bgG8jyru94Beow@mail.gmail.com> <eeedbb72-d881-363d-c862-234b705eaec7@xilinx.com> <CAJ=z9a0VEqr_ODQZvdsO82PiOpHt5-TVc4JWE5pJCeNYPh+XHg@mail.gmail.com>
 <bee7ea7a-6d3d-bf3c-4b5f-d40deb601867@xilinx.com> <2064878e-4ef1-f0a3-1476-7175c2c8d29e@xen.org> <bcd28a18-80ea-0987-6867-5c6fc634a8a5@xilinx.com> <f6853134-8b65-5ffb-b39a-62ed26b3f499@xen.org> <alpine.DEB.2.22.394.2201271327430.27308@ubuntu-linux-20-04-desktop>
 <CAJ=z9a2Sp6w0b21p96YHx4w_m0jAbYJ4v=cVar-1nPeL7SotZw@mail.gmail.com> <CAJ=z9a1HML30aGn52GY34g-QbvLPHep7j=H-UDxsH1+B0CEb3Q@mail.gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 27 Jan 2022, Julien Grall wrote:
> On Thu, 27 Jan 2022 at 23:05, Julien Grall <julien.grall.oss@gmail.com> wrote:
> >
> > On Thu, 27 Jan 2022 at 22:40, Stefano Stabellini <sstabellini@kernel.org> wrote:
> > > I am with you on both points.
> > >
> > > One thing I noticed is that the code today is not able to deal with
> > > IO_UNHANDLED for MMIO regions handled by IOREQ servers or Xen MMIO
> > > emulator handlers. p2m_resolve_translation_fault and try_map_mmio are
> > > called after try_handle_mmio returns IO_UNHANDLED but try_handle_mmio is
> > > not called a second time (or am I mistaken?)
> >
> > Why would you need it? If try_mmio_fault() doesn't work the first time, then
> 
> Sorry I meant try_handle_mmio().
> 
> > it will not work the second it.

I think I explained myself badly, I'll try again below.


> > > Another thing I noticed is that currently find_mmio_handler and
> > > try_fwd_ioserv expect dabt to be already populated and valid so it would
> > > be better if we could get there only when dabt.valid.
> > >
> > > With these two things in mind, I think maybe the best thing to do is to
> > > change the code in do_trap_stage2_abort_guest slightly so that
> > > p2m_resolve_translation_fault and try_map_mmio are called first when
> > > !dabt.valid.
> >
> > An abort will mostly likely happen because of emulated I/O. If we call
> > p2m_resolve_translation_fault() and try_map_mmio() first, then it means
> > the processing will take longer than necessary for the common case.
> >
> > So I think we want to keep the order as it is. I.e first trying the MMIO
> > and then falling back to the less likely reason for a trap.

Yeah I thought about it as well. The idea would be that if dabt.valid is
set then we leave things as they are (we call try_handle_mmio first) but
if dabt.valid is not set (it is not valid) then we skip the
try_handle_mmio() call because it wouldn't succeed anyway and go
directly to p2m_resolve_translation_fault() and try_map_mmio().

If either of them work (also reading what you wrote about it) then we
return immediately.

If not, then we call decode_instruction from do_trap_stage2_abort_guest
and try again. The second time dabt.valid is set so we end up calling
try_handle_mmio() as usual.

Just for clarity let me copy/paste the relevant code, apologies if it
was already obvious to you -- I got the impression my suggestion wasn't
very clear.



+again:
+        if ( is_data && hsr.dabt.valid )
        {
            enum io_state state = try_handle_mmio(regs, hsr, gpa);

            switch ( state )
            {
            case IO_ABORT:
                goto inject_abt;
            case IO_HANDLED:
                advance_pc(regs, hsr);
                return;
            case IO_RETRY:
                /* finish later */
                return;
            case IO_UNHANDLED:
                /* IO unhandled, try another way to handle it. */
                break;
            }
        }

        /*
         * First check if the translation fault can be resolved by the
         * P2M subsystem. If that's the case nothing else to do.
         */
        if ( p2m_resolve_translation_fault(current->domain,
                                           gaddr_to_gfn(gpa)) )
            return;

        if ( is_data && try_map_mmio(gaddr_to_gfn(gpa)) )
            return;

+        if ( !hsr.dabt.valid )
+        {
+            if ( !decode_instruction(regs, &hsr.dabt) )
+                goto again;
+        }

        break;
    default:
        gprintk(XENLOG_WARNING,
                "Unsupported FSC: HSR=%#"PRIregister" DFSC=%#x\n",
                hsr.bits, xabt.fsc);
    }


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 01:38:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 01:38:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261819.453579 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDGDH-0005jP-9G; Fri, 28 Jan 2022 01:38:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261819.453579; Fri, 28 Jan 2022 01:38:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDGDH-0005jI-3j; Fri, 28 Jan 2022 01:38:07 +0000
Received: by outflank-mailman (input) for mailman id 261819;
 Fri, 28 Jan 2022 01:38:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wh6+=SM=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nDGDF-0005jB-6e
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 01:38:05 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ee2c6231-7fda-11ec-8eb8-a37418f5ba1a;
 Fri, 28 Jan 2022 02:38:03 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 339FD61CFF;
 Fri, 28 Jan 2022 01:38:01 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 32FA2C340E4;
 Fri, 28 Jan 2022 01:38: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: ee2c6231-7fda-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1643333880;
	bh=rIlI9IpZgAb4gVlHvkdemDAs8GGRkUl+/s3hWXrBC5M=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=hxJF4dTvHXiVxgFMz6jmhTUv01kByPkLX/ZTf0RM1yrGR44oP1dzHigYJrfRDo43G
	 D2vEAJRJ6+XI1THz/GTJsTA+tzbaERsd+lhhS17AjwQs1XZswqIoPKqXidiD8RnbdS
	 L7x3uo0/pVcQGyIeje61FXjbUVU2IcQZ2LBskzpJD6iga7UigpXjrx3y9wUvo57O3z
	 Mkdaq8g7Grr42KbQBDba+F8gMZt6KchmH1Or+PpxbaLcUOY6NvUuOfNIXqtXG/529v
	 wkTPVmlXgKBx1n+0CmaemLI8KHmUnmPLl9Jlx5L6HzIY5lmWeZDaLnRuQyB8JCIiuo
	 PrX5K8GSXVAgQ==
Date: Thu, 27 Jan 2022 17:38:00 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org, 
    jgross@suse.com, Bertrand.Marquis@arm.com, Volodymyr_Babchuk@epam.com, 
    Stefano Stabellini <stefano.stabellini@xilinx.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH v2 2/5] xen: export get_free_port
In-Reply-To: <55c8e510-8b8d-ca27-f635-e2109fff9c5d@xen.org>
Message-ID: <alpine.DEB.2.22.394.2201271729410.27308@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop> <20220113005855.1180101-2-sstabellini@kernel.org> <f3b2ae98-c7af-d8c0-b0a4-52e622517c34@xen.org> <alpine.DEB.2.22.394.2201241652330.27308@ubuntu-linux-20-04-desktop>
 <14af544d-0d20-9b58-4d70-5f5086ece032@suse.com> <alpine.DEB.2.22.394.2201251435030.27308@ubuntu-linux-20-04-desktop> <a992cf74-a75a-43d0-f83a-cd9549f586a8@xen.org> <alpine.DEB.2.22.394.2201251530400.27308@ubuntu-linux-20-04-desktop>
 <aa7aee5b-71cf-78c3-f8a2-f8d166f22ecb@suse.com> <966ac15d-e91f-e812-1021-296ef60a9a06@xen.org> <alpine.DEB.2.22.394.2201261727550.27308@ubuntu-linux-20-04-desktop> <33d1c1eb-7d6d-21c6-8ed4-3daef5be90d3@xen.org> <b2edac13-f019-f615-0655-8510bfffedbe@suse.com>
 <55c8e510-8b8d-ca27-f635-e2109fff9c5d@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 27 Jan 2022, Julien Grall wrote:
> On 27/01/2022 12:07, Jan Beulich wrote:
> > On 27.01.2022 10:51, Julien Grall wrote:
> > > On 27/01/2022 01:50, Stefano Stabellini wrote:
> > > > On Wed, 26 Jan 2022, Julien Grall wrote:
> > > > > On 26/01/2022 07:30, Jan Beulich wrote:
> > > > > > On 26.01.2022 02:03, Stefano Stabellini wrote:
> > > > > > > Are you guys OK with something like this?
> > > > > > 
> > > > > > With proper proof that this isn't going to regress anything else,
> > > > > > maybe.
> > > > > 
> > > > > That's why I sugested to also gate with system_state < SYS_STATE_boot
> > > > > so we
> > > > > reduce the potential regression (the use of hypercall should be
> > > > > limited at
> > > > > boot).
> > > > > 
> > > > > FWIW, there was a thread [1] to discuss the same issue as Stefano is
> > > > > facing
> > > > > (but in the context of Live-Update).
> > > > > 
> > > > > > But ...
> > > > > > 
> > > > > > > --- a/xen/include/xsm/dummy.h
> > > > > > > +++ b/xen/include/xsm/dummy.h
> > > > > > > @@ -92,7 +92,9 @@ static always_inline int xsm_default_action(
> > > > > > >                 return 0;
> > > > > > >             /* fall through */
> > > > > > >         case XSM_PRIV:
> > > > > > > -        if ( is_control_domain(src) )
> > > > > > > +        if ( is_control_domain(src) ||
> > > > > > > +             src->domain_id == DOMID_IDLE ||
> > > > > > > +             src->domain_id == DOMID_XEN )
> > > > > > >                 return 0;
> > > > > > 
> > > > > > ... my first question would be under what circumstances you might
> > > > > > observe
> > > > > > DOMID_XEN here and hence why this check is there.
> > > > 
> > > > For simplicity I'll answer all the points here.
> > > > 
> > > > I added both DOMID_IDLE and DOMID_XEN because I thought it "made sense",
> > > > but there is no need for DOMID_XEN. We only need DOMID_IDLE. Also adding
> > > > a system_state <= SYS_STATE_boot is fine (but it needs to be <= instead
> > > > of <). The patch appended below works without issues.
> > > > 
> > > > Alternatively, I am also quite happy with Jan's suggestion of passing an
> > > > extra parameter to evtchn_alloc_unbound, it could be:
> > > > 
> > > > int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc, bool
> > > > disable_xsm);
> > > > 
> > > > So that XSM is enabled by default.
> > > > 
> > > > Adding the bool parameter to evtchn_alloc_unbound has the advantage of
> > > > having only a very minor impact.
> > > 
> > > We will likely need similar approach for other hypercalls in the future
> > > if we need to call them from Xen context (e.g. when restoring domain
> > > state during Live-Update).
> > > 
> > > So my preference would be to directly go with modifying the
> > > xsm_default_action().
> > 
> > How would this help when a real XSM policy is in use? Already in SILO
> > mode I think you wouldn't get past the check, as the idle domain
> > doesn't satisfy silo_mode_dom_check()'s use of is_control_domain().
> > Actually I'm not even sure you'd get that far - I was under the
> > impression that the domain at other side of the channel may not even
> > be around at that time, in which case silo_evtchn_unbound() would
> > return -ESRCH.
> 
> This would not help for real XSM policy. We would either need to bypass XSM
> completely or decide what to do depending on the mode (e.g. SILO, FLASK...).
> 
> > 
> > Additionally relaxing things at a central place like this one comes
> > with the risk of relaxing too much. As said in reply to Stefano - if
> > this is to be done, proof will need to be provided that this doesn't
> > and won't permit operations which aren't supposed to be permitted. I
> > for one would much prefer relaxation on a case-by-case basis.
> 
> The problem is you will end up to modify a lot of code. This will be quite
> tedious when the policy is likely going to be the same (e.g. if we are
> booting, then allow to use the hypercall).
> 
> So I think it makes more sense to do the modification at central place. That
> said, this is not strictly necessary for what Stefano needs. So I am OK if we
> go with local hack and deferred the debate to when a wider solution is needed.

OK, thank you. I'll go with the following then.


diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
index da88ad141a..dde85444fe 100644
--- a/xen/common/event_channel.c
+++ b/xen/common/event_channel.c
@@ -284,7 +284,7 @@ void evtchn_free(struct domain *d, struct evtchn *chn)
     xsm_evtchn_close_post(chn);
 }
 
-static int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
+int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc, bool disable_xsm)
 {
     struct evtchn *chn;
     struct domain *d;
@@ -301,9 +301,12 @@ static int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
         ERROR_EXIT_DOM(port, d);
     chn = evtchn_from_port(d, port);
 
-    rc = xsm_evtchn_unbound(XSM_TARGET, d, chn, alloc->remote_dom);
-    if ( rc )
-        goto out;
+    if ( !disable_xsm )
+    {
+        rc = xsm_evtchn_unbound(XSM_TARGET, d, chn, alloc->remote_dom);
+        if ( rc )
+            goto out;
+    }
 
     evtchn_write_lock(chn);
 
@@ -1195,7 +1198,7 @@ long do_event_channel_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
         struct evtchn_alloc_unbound alloc_unbound;
         if ( copy_from_guest(&alloc_unbound, arg, 1) != 0 )
             return -EFAULT;
-        rc = evtchn_alloc_unbound(&alloc_unbound);
+        rc = evtchn_alloc_unbound(&alloc_unbound, false);
         if ( !rc && __copy_to_guest(arg, &alloc_unbound, 1) )
             rc = -EFAULT; /* Cleaning up here would be a mess! */
         break;
diff --git a/xen/include/xen/event.h b/xen/include/xen/event.h
index 21c95e14fd..5ea3ac345b 100644
--- a/xen/include/xen/event.h
+++ b/xen/include/xen/event.h
@@ -68,6 +68,9 @@ int evtchn_close(struct domain *d1, int port1, bool guest);
 /* Free an event channel. */
 void evtchn_free(struct domain *d, struct evtchn *chn);
 
+/* Create a new event channel port */
+int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc, bool disable_xsm);
+
 /* Allocate a specific event channel port. */
 int evtchn_allocate_port(struct domain *d, unsigned int port);
 


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 01:47:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 01:47:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261823.453590 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDGML-0007Gi-4f; Fri, 28 Jan 2022 01:47:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261823.453590; Fri, 28 Jan 2022 01: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 1nDGML-0007Gb-1X; Fri, 28 Jan 2022 01:47:29 +0000
Received: by outflank-mailman (input) for mailman id 261823;
 Fri, 28 Jan 2022 01:47: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 1nDGMJ-0007GR-SC; Fri, 28 Jan 2022 01:47: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 1nDGMJ-0008Mf-Op; Fri, 28 Jan 2022 01:47: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 1nDGMJ-000544-A4; Fri, 28 Jan 2022 01:47:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nDGMJ-0002t8-9K; Fri, 28 Jan 2022 01:47:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=RkPpFhfH2mxF1kmBYuicyfol9+iJCfLDaKGWA5D2blk=; b=G8dHm4mBdQXM3PtAJjKCXQPX3+
	3HgOl/EHUt8i+tb5T0NIIDSLk0kLVbyjBpIJRu19CohGHTGGtF8CDX9UB/cu+8u+MjaQ909Gsp2TB
	SERzqdCicGYxnFcpihxg0rI6EO62s51pVQA3xdB7Ykp7oh8III6I9XB8az40LMlQi/Mg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167917-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167917: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt-qcow2:host-ping-check-xen:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-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-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-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-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl: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
X-Osstest-Versions-This:
    linux=626b2dda7651a7c766108db4cdc0825db05b980d
X-Osstest-Versions-That:
    linux=0280e3c58f92b2fe0e8fbbdf8d386449168de4a8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 28 Jan 2022 01:47:27 +0000

flight 167917 linux-linus real [real]
flight 167926 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/167917/
http://logs.test-lab.xenproject.org/osstest/logs/167926/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt-qcow2 10 host-ping-check-xen fail pass in 167926-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail in 167926 like 167861
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check fail in 167926 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167861
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167861
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167861
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167861
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167861
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167861
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167861
 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-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-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-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                626b2dda7651a7c766108db4cdc0825db05b980d
baseline version:
 linux                0280e3c58f92b2fe0e8fbbdf8d386449168de4a8

Last test of basis   167861  2022-01-26 10:33:40 Z    1 days
Testing same since   167917  2022-01-27 10:12:35 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Bjorn Andersson <bjorn.andersson@linaro.org>
  Linus Torvalds <torvalds@linux-foundation.org>
  Matthias Kaehlcke <mka@chromium.org>
  Randy Dunlap <rdunlap@infradead.org>
  Sujit Kautkar <sujitka@chromium.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   0280e3c58f92..626b2dda7651  626b2dda7651a7c766108db4cdc0825db05b980d -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 04:36:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 04:36:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261833.453601 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDIzB-00081z-Bg; Fri, 28 Jan 2022 04:35:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261833.453601; Fri, 28 Jan 2022 04:35: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 1nDIzB-00081s-8c; Fri, 28 Jan 2022 04:35:45 +0000
Received: by outflank-mailman (input) for mailman id 261833;
 Fri, 28 Jan 2022 04:35:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=PPK3=SM=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1nDIz9-00081m-ET
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 04:35:43 +0000
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur03on0619.outbound.protection.outlook.com
 [2a01:111:f400:fe0a::619])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bf0a6b9b-7ff3-11ec-8eb8-a37418f5ba1a;
 Fri, 28 Jan 2022 05:35:40 +0100 (CET)
Received: from AM7PR02CA0029.eurprd02.prod.outlook.com (2603:10a6:20b:100::39)
 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.4930.17; Fri, 28 Jan
 2022 04:35:37 +0000
Received: from VE1EUR03FT008.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:100:cafe::1e) by AM7PR02CA0029.outlook.office365.com
 (2603:10a6:20b:100::39) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15 via Frontend
 Transport; Fri, 28 Jan 2022 04:35:37 +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.4930.15 via Frontend Transport; Fri, 28 Jan 2022 04:35:37 +0000
Received: ("Tessian outbound 63bb5eb69ee8:v113");
 Fri, 28 Jan 2022 04:35:36 +0000
Received: from 77fcd44256eb.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B407D059-B862-4E85-9866-39562873BE01.1; 
 Fri, 28 Jan 2022 04:35:30 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 77fcd44256eb.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 28 Jan 2022 04:35:30 +0000
Received: from AS1PR08MB7426.eurprd08.prod.outlook.com (2603:10a6:20b:4c5::16)
 by AM6PR08MB3335.eurprd08.prod.outlook.com (2603:10a6:209:4c::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Fri, 28 Jan
 2022 04:35:29 +0000
Received: from AS1PR08MB7426.eurprd08.prod.outlook.com
 ([fe80::d8eb:9221:89a6:df99]) by AS1PR08MB7426.eurprd08.prod.outlook.com
 ([fe80::d8eb:9221:89a6:df99%9]) with mapi id 15.20.4930.017; Fri, 28 Jan 2022
 04:35:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bf0a6b9b-7ff3-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LswWmfZr/1thz2Va2j2uD/bXSfofoPGW72BdvvRvi/E=;
 b=OHIjlshZody+pb2X+OFbnmA7F9bBZ7w3t50yzeOU+ktuITQyGG1+lmZ08B1j2hFpk6KiStUGYOR1uU9KhlxmISdgtQEFMRp2iP+bxW7LBx9wA2W/XpYD+7ulJ4+1+VCHFFXLCDo7LHzNqGtp3z+RxzLd3p56FWosfibRYtCFkt4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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=dZkMfCIMR/dHS3Y9j0GJdA8oyCTLWBxbjcYDcYqEu+WWkTDa0/HWI6hd+DpDB1XUlJN90JTaVnbXrhYbmPT8WefyvfF6ZWzBJVRUrqZCXG5SOO+vCLTaT806VkA63UOP+AnaPQJNqAACZPueXQLsYGGJ2Kop2LGhBCMc9RHk9tdeWHn43zSa4+zUSljvemruyk6Whf8gcgZVVBQjOM3+fgGLJKGC2eij57kCc1NpbG2rj0k+jvJSyI/k3di5smpyzR/IwrQd/9crdC+IIUcBMqMkOR98tSPTwicQuQwQE2foY3EIx1/BBHp9G/dlBpuLzwyDohnFj/Xjks12m++/PQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LswWmfZr/1thz2Va2j2uD/bXSfofoPGW72BdvvRvi/E=;
 b=PRpKnYjB3A7ot8huvowofwtl5obiPKC9a0qKOWEp/ByWlwfIiVdSf/12vNfFTPgTiuNSXTdGzUqaaI/wl+gg6Ks3V4RNac4zPHotvCi464ioyQUEIpzmn1QlFSzqoKC4QjhdSZqDtIR8yOsl9fJijOTzXod8vla/Y3VLZVZRRMuORNq6EmhDvSQkCce/IyWKswuu1vntTyad8iaTa/2UZme3ZLr8T9g0neE/hLJ1DUajysWfSJ9KiT91pEvd368KjEHQeLALN4MC6rgP6nGBUxMi0AykPCIK/R2ooN9DNlXAimPXfjSE2awMlEgd0WG0G9d0qMD3gu6cw22JbFUeWw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LswWmfZr/1thz2Va2j2uD/bXSfofoPGW72BdvvRvi/E=;
 b=OHIjlshZody+pb2X+OFbnmA7F9bBZ7w3t50yzeOU+ktuITQyGG1+lmZ08B1j2hFpk6KiStUGYOR1uU9KhlxmISdgtQEFMRp2iP+bxW7LBx9wA2W/XpYD+7ulJ4+1+VCHFFXLCDo7LHzNqGtp3z+RxzLd3p56FWosfibRYtCFkt4=
From: Wei Chen <Wei.Chen@arm.com>
To: Julien Grall <julien@xen.org>, 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>
Subject: RE: [PATCH 20/37] xen: introduce CONFIG_EFI to stub API for non-EFI
 architecture
Thread-Topic: [PATCH 20/37] xen: introduce CONFIG_EFI to stub API for non-EFI
 architecture
Thread-Index:
 AQHXsHMtR+l18+MmpE6rl/RjSXTBgqx0TXyAgAME0ECAAAH2oIAAA3YAgAAA4bCAAAOtAIAAAa7AgAABegCAAAkkgIABNnUw
Date: Fri, 28 Jan 2022 04:35:28 +0000
Message-ID:
 <AS1PR08MB74260C9D87DA7B0BFD49A32F9E229@AS1PR08MB7426.eurprd08.prod.outlook.com>
References: <20210923120236.3692135-1-wei.chen@arm.com>
 <20210923120236.3692135-21-wei.chen@arm.com>
 <d80da027-93ac-4819-ef7a-f3fd8592e443@suse.com>
 <PAXPR08MB7420AC9A05A6118642F544BD9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <PAXPR08MB7420252BFA15D032BDDF2F4A9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <e135adab-8b21-8dc0-2518-e505a59feb9f@suse.com>
 <PAXPR08MB7420EF1360C2E1D63D278A1B9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <b274899d-55f5-1851-82e6-69898d53e726@suse.com>
 <PAXPR08MB74205D98C454993DCFAE4FFC9E219@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <677bb034-242d-e9ce-00ce-57e7214fd4cc@suse.com>
 <8e59b4ef-a009-b380-f262-a8381abbea16@xen.org>
In-Reply-To: <8e59b4ef-a009-b380-f262-a8381abbea16@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 9FA73070DF6C54478A37882495533FDF.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: b81ea48a-d50f-47b7-aa73-08d9e217a19c
x-ms-traffictypediagnostic:
	AM6PR08MB3335:EE_|VE1EUR03FT008:EE_|DBBPR08MB6060:EE_
X-Microsoft-Antispam-PRVS:
	<DBBPR08MB6060D222730ADEDD0291C3839E229@DBBPR08MB6060.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:
 RexH8/dkJYzymcci8cuYAj9aSNHrV9eId9vQrffPdu6cAvA+6zHIUddYj6Z6JfqgPpMQWRQv/PxzEan694VEFgDTpmd6ui99TWv/r2E+dYvHXM0twd4Oevp02RFpuW4XZLLHJU1HS0vz55RUybQNB9MQN/6HIgtiMSQWIjbu058hEuvdvOvyBAvGtSuwJ74g0zojONJiLWdG1n/Ay3nbso3ollsuuNyZLN3MkEf2IY2RDZvSP+S6oPMRwBI00WNKvHEJkVZ2XS0aLc6g33zdQYd37qXMcjDgs26nMbd9aw7OpeJ85wFQTJOBr8dln4mBNZYltWPLeGtqXwsIWMQSePVr6+Td/8js4kortbBwG5KP+c0D8NdHu3qjf3C8dWLMdHUBwY7Vv9jeZ19XISdzG6RFLKCSldC9l8joMEdlKRuEf3JE+rhd8uGvsf36Kshe9+81aL71Ot1BPQg5djoSzvezpHFTY1fDCinnMR2OxwObt2NP9tqqnNGPUtgvFLIyThSm61nLWoI5WjZJPpfdZDFPonpF0QEWmK2/C48xoyCgAUA1bodHRiNAdf7nO8Tgk4fNKuHcYO2d+jD1GJ5nKM3rOPmQF0Yc5pnnaTfb4p99iE4sgp1QirYT3Oj/9QH0GElHblret/x0CmGFiMVZK14Q91ciLJey71r5DGHKPTqOM8MqbQbBTsn5413ZY/tWmT0S27seUxzMI0zmF7FDhg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS1PR08MB7426.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(52536014)(5660300002)(110136005)(66556008)(66446008)(66946007)(66476007)(76116006)(38100700002)(54906003)(64756008)(8936002)(55016003)(86362001)(186003)(38070700005)(8676002)(83380400001)(26005)(508600001)(316002)(4326008)(33656002)(122000001)(53546011)(7696005)(6506007)(9686003)(71200400001)(2906002)(20210929001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3335
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VE1EUR03FT008.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	71a93285-d172-4fcc-1c37-08d9e2179c9a
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9em0WEluGJPQsxw3jtmLo6OJ3ITeNj6KySgbmc3YR0grI9Dl8/NUXkMwrTf8RyxHEH6Vd6yobRKhCqxhEAzJEu4P/oE7IifjnCd0/Q47aa/GQphLqM1LkOnnZKVf2Rv6NRxBpA8iHjAz2Pg1Diyv4ocjXw8EFJX07WeSej3w7tANKvs8uoNficidiCJ7VcXmiI9GkS4vBoQ8Xujb/lcyPQ8PQ0+7noBIzf0uHaf/tAoCJdO1fG+HynbgasniGfsn27KbjmY78A9XL9ak3/Z5aboPTGBgdpldE73KX/cxHnmuE8KtLVVZQAw+ULGC+d481uAQmE5z4Lcdji87gv0fW5fzzMIJ+3gF6piKUFF1J8zqc8inzP5BbBFzeLi1U4PKn32mPc0iPifwbPe2xueGLST+Vx+zrWgsu2FvwvJNRDz94CUcKBXCL6UROVAtkvtATEMqXfF2e22IFs7NtnJWDV0pjYF612NFYAYKYR7g4ZScxuVOJ7kr6l152zlAjFye/WlY6ciS+QSD2tJALxLMXovdaVZhXiYDSyDh+H/R3VpfYEZ5JOOCB3jC6Lw/scDez+gkTXQ5xGStDVfSrMiSfj/tsu4kqtSMo0N7spfLXXWXcUwVMIEfeLvvSILiYaDmUdSJy/1Fxd04DeY0MtmuoQZKwo5VBKz/c1jttYNbEhBgbpw6jo2GtuU75BToIUxk
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230001)(4636009)(36840700001)(40470700004)(46966006)(5660300002)(55016003)(336012)(2906002)(54906003)(6506007)(9686003)(8936002)(508600001)(4326008)(8676002)(70586007)(107886003)(70206006)(110136005)(7696005)(83380400001)(52536014)(316002)(26005)(186003)(40460700003)(36860700001)(82310400004)(33656002)(86362001)(53546011)(81166007)(47076005)(356005)(20210929001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jan 2022 04:35:37.2222
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b81ea48a-d50f-47b7-aa73-08d9e217a19c
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: DBBPR08MB6060

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFNlbnQ6IDIwMjLlubQx5pyIMjfml6UgMTg6MDEN
Cj4gVG86IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT47IFdlaSBDaGVuIDxXZWkuQ2hl
bkBhcm0uY29tPg0KPiBDYzogQmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0u
Y29tPjsgeGVuLQ0KPiBkZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZzsgc3N0YWJlbGxpbmlAa2Vy
bmVsLm9yZw0KPiBTdWJqZWN0OiBSZTogW1BBVENIIDIwLzM3XSB4ZW46IGludHJvZHVjZSBDT05G
SUdfRUZJIHRvIHN0dWIgQVBJIGZvciBub24tDQo+IEVGSSBhcmNoaXRlY3R1cmUNCj4gDQo+IEhp
LA0KPiANCj4gT24gMjcvMDEvMjAyMiAwOToyNywgSmFuIEJldWxpY2ggd3JvdGU6DQo+ID4gT24g
MjcuMDEuMjAyMiAxMDoyNSwgV2VpIENoZW4gd3JvdGU6DQo+ID4+PiBGcm9tOiBKYW4gQmV1bGlj
aCA8amJldWxpY2hAc3VzZS5jb20+DQo+ID4+PiBTZW50OiAyMDIy5bm0MeaciDI35pelIDE3OjE3
DQo+ID4+Pg0KPiA+Pj4gT24gMjcuMDEuMjAyMiAxMDowOSwgV2VpIENoZW4gd3JvdGU6DQo+ID4+
Pj4+IEZyb206IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gPj4+Pj4gU2VudDog
MjAyMuW5tDHmnIgyN+aXpSAxNzowMA0KPiA+Pj4+Pg0KPiA+Pj4+PiBCdXQgeW91IHJlYWxpemUg
d2UgYWxyZWFkeSBoYXZlIHN1Y2ggYSBzdHViIGZpbGUgb24geDg2Pw0KPiA+Pj4+Pg0KPiA+Pj4+
DQo+ID4+Pj4gWWVzLCB3ZSBmb3VuZCB0aGUgcmVkZWZpbml0aW9uIGVycm9ycyB0aGF0IGFyZSBj
YXVzZWQgYnkgeDg2IHN0dWINCj4gZmlsZQ0KPiA+Pj4+IGFuZCBuZXcgbWFjcm9zIGluIHN0dWIu
aC4gV2UgaGFkIHRyaWVzIHRvIGFkZDoNCj4gPj4+PiBpZmVxICgkKFhFTl9CVUlMRF9FRkkpLHkp
DQo+ID4+Pj4gQ0ZMQUdTLXkgKz0gLURYRU5fQlVJTERfRUZJDQo+ID4+Pj4gWEVOX0NGTEFHUyAr
PSAtRFhFTl9CVUlMRF9FRkkNCj4gPj4+PiBlbmRpZg0KPiA+Pj4+IHg4Ni9NYWtlZmlsZSB0byBn
YXRlIHRoZXNlIG5ldyBtYWNyb3MsIGJ1dCBpdCBzZWVtcyB0aGF0IHdlIG1heSBuZWVkDQo+ID4+
Pj4gdG8gY2hhbmdlIEVGSSBidWlsZCBsb2dpYyBmb3IgeDg2LiBJdCB3aWxsIGNhdXNlIG1vcmUg
cmlza3MgZm9yIG1lLg0KPiA+Pj4+IFNvIEkgd2FudCB0byBpbnRyb2R1Y2UgYSBzaW1pbGFyIHN0
dWIuYyBpbiBhcmNoL2FybS4NCj4gPj4+DQo+ID4+PiBXaGlsZSB0aGF0J3MgcGVyaGFwcyBmaW5l
LCBpZGVhbGx5IGNvbW1vbiBiaXRzIHdvdWxkIGJlIGNvbW1vbi4gSWlyYw0KPiA+Pj4gYWxyZWFk
eSBiYWNrIGF0IHRoZSB0aW1lIEkgd2FzIHdvbmRlcmluZyB3aHkgc3R1Yi5jIGhhZCB0byBiZSB4
ODYtDQo+ID4+PiBvbmx5Lg0KPiA+Pg0KPiA+PiBTb21lIGR1bW15IGZ1bmN0aW9ucyBpbiBzdHVi
LmMgY2FuIGJlIHNoYXJlZCBieSBhcm0gb3Igb3RoZXINCj4gYXJjaGl0ZWN0dXJlcy4NCj4gPj4g
QnV0IHNvbWUgZnVuY3Rpb25zIGxpa2UgZWZpX211bHRpYm9vdDIgYXJlIGFyY2hpdGVjdHVyZSBk
ZXBlbmRlbnQuDQo+ID4NCj4gPiBSaWdodCAtIHRoYXQncyBubyBkaWZmZXJlbnQgZnJvbSB0aGUg
YnVsayBvZiB0aGUgbm9uLXN0dWJiZWQgRUZJIGNvZGUuDQo+ID4gSSBkb24ndCByZWFsbHkgbWlu
ZCB5b3UgbWFraW5nIGFuIEFybS1zcGVjaWZpYyBzdHViIGZpbGUgaWYgdGhlcmUncw0KPiA+IG5v
dCB2ZXJ5IG11Y2ggZHVwbGljYXRpb24sIGJ1dCBpdCBkb2Vzbid0IGZlZWwgdmVyeSBnb29kLiBJ
biB0aGUgZW5kDQo+ID4gaXQncyB1cCB0byB0aGUgQXJtIG1haW50YWluZXJzIGFueXdheS4NCj4g
DQo+IElmIHRoZSBzdHVicyBhcmUgbW9zdGx5IHRoZSBzYW1lIHRoZW4gdGhleSBzaG91bGQgYmUg
Y29tbW9uIHJhdGhlciB0aGFuDQo+IGR1cGxpY2F0ZWQuDQo+IA0KPiAgPiB4ODYvTWFrZWZpbGUg
dG8gZ2F0ZSB0aGVzZSBuZXcgbWFjcm9zLCBidXQgaXQgc2VlbXMgdGhhdCB3ZSBtYXkgbmVlZA0K
PiAgPiB0byBjaGFuZ2UgRUZJIGJ1aWxkIGxvZ2ljIGZvciB4ODYuIEl0IHdpbGwgY2F1c2UgbW9y
ZSByaXNrcyBmb3IgbWUuDQo+IA0KPiBCdXQgdGhhdCB3b3VsZCBiZSBhIGJ1aWxkIHJpc2sgcmln
aHQ/IElmIHNvLCBpdCBpcyBxdWl0ZSBlYXN5IHRvDQo+IHZlcmlmeS9jYXRjaCBpdCBjb21wYXJl
IHRvIHJ1bnRpbWUgaXNzdWUuDQo+IA0KUmlzayBtYXkgYmUgbm90IHZlcnkgYWNjdXJhdGUgd29y
ZC4gSSBtZWFuLCBJIHdhcyBhZnJhaWQgdGhhdCBteSBjaGFuZ2VzDQp0byB4ODYgRUZJIGJ1aWxk
IHdvdWxkIGludHJvZHVjZSBzb21lIHVuZm9yZXNlZW4gcHJvYmxlbXMgdG8geDg2LiBCZWNhdXNl
DQpJIGFtIG5vdCB2ZXJ5IGZhbWlsaWFyIHdpdGggdGhhdC4gQXMgeW91IGFuZCBKYW4gdGhpbmsg
aXQncyBiZXR0ZXIsIEkgd2lsbA0KdHJ5IHRvIGRvIGl0Lg0KDQo+IENoZWVycywNCj4gDQo+ID4N
Cj4gPiBKYW4NCj4gPg0KPiANCj4gLS0NCj4gSnVsaWVuIEdyYWxsDQo=


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 05:15:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 05:15:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261756.453611 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDJbP-0004Mj-7o; Fri, 28 Jan 2022 05:15:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261756.453611; Fri, 28 Jan 2022 05: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 1nDJbP-0004Mc-4r; Fri, 28 Jan 2022 05:15:15 +0000
Received: by outflank-mailman (input) for mailman id 261756;
 Thu, 27 Jan 2022 21:38:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Mi6w=SL=gmail.com=konishi.ryusuke@srs-se1.protection.inumbo.net>)
 id 1nDCTD-00083P-M5
 for xen-devel@lists.xenproject.org; Thu, 27 Jan 2022 21:38:19 +0000
Received: from mail-lf1-x12a.google.com (mail-lf1-x12a.google.com
 [2a00:1450:4864:20::12a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7120faee-7fb9-11ec-8f75-fffcc8bd4f1a;
 Thu, 27 Jan 2022 22:38:18 +0100 (CET)
Received: by mail-lf1-x12a.google.com with SMTP id b9so7889197lfq.6
 for <xen-devel@lists.xenproject.org>; Thu, 27 Jan 2022 13:38:18 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7120faee-7fb9-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=z+U+izVFukrEKq10kL5qCCsiT3qJmeLAo+mnNrOVCPU=;
        b=DwtRea8LCCOg/PGJHjd1bTltmn0bHa2clILkAwGYtZppoAY25qIBMTxyD6B5uMLit6
         7wk+d+sZiWX35l8wQaAoyrJ9H5CizW30SYci3NU1ojzD14qB67btK2MGpyfbQ3U8Fswu
         zxqpCDGkYCIAg/NDZ5r6/eIuacbMkuvBlqu9ammCZDYbuScyx0/VXZFI/czsoS4aCdCY
         RzPo3aqhubsJoGDCZLj5SmdkiGyLla36RWFVNiU5MVGZ7MrbcY5xEOS4+eUv/n2M8qYN
         MVuY5Y428ZMyJxOjYYJ1BtbtHPjLQ+HBbJ/bfmBPwl0UHF3vKl1N9F7XDbteSxFshMZ6
         OfIw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=z+U+izVFukrEKq10kL5qCCsiT3qJmeLAo+mnNrOVCPU=;
        b=wngYF+42Xvjt3euV9Yf7vclKE70OwRw/M73t0sczfW0MRWmsUtOAuiZlNPqFfSNi78
         wK+pqMdxYyQXWYhhckI8UgqDEe/pkuZhvmqdI/mpsMNR0rSXQLW+U7I4QG7bwmelDFai
         S2gYkHuAvLA2rjLwn7erTlA1wbp/wGuLCINGmI47BIlX4pM30va611QkQOFwldb4X2u0
         DK9Yys4LsHm0rqvkvZEh6XTAuokXAm4ka7WP/sk7rtJf1xgaVt1KgN/47loWbuvd/Us7
         pI5SuyUAZf2xDo2972Mt9hTsCvDmrXq7YQi2+9WCnFB0qSqEXgUjnlopgE5QpoT5ZH/w
         xnwA==
X-Gm-Message-State: AOAM533cgxTEA5snDxrk8mgywg8vN7fcxgCLVdaPDADu6UChFdXoxBy3
	E6/wybSQukOaNWGqaPK59KmLJo9Fgwc3kvxlLJ4=
X-Google-Smtp-Source: ABdhPJxaVoQ4SfBVmSOjFCGrgluhZGplrFWaRNqk5pMVob8JHRQWRWEKNtxwMeMPmpBWjy5SR70YaIdo0zrC/X/8wRA=
X-Received: by 2002:ac2:58f7:: with SMTP id v23mr4043478lfo.390.1643319497799;
 Thu, 27 Jan 2022 13:38:17 -0800 (PST)
MIME-Version: 1.0
References: <20220124091107.642561-1-hch@lst.de> <20220124091107.642561-3-hch@lst.de>
In-Reply-To: <20220124091107.642561-3-hch@lst.de>
From: Ryusuke Konishi <konishi.ryusuke@gmail.com>
Date: Fri, 28 Jan 2022 06:38:05 +0900
Message-ID: <CAKFNMomoLqbbOwg5d6aBHCyGT5v+NF=N2Rm3QwYk8NDXsoJHtA@mail.gmail.com>
Subject: Re: [PATCH 02/19] nilfs2: remove nilfs_alloc_seg_bio
To: Christoph Hellwig <hch@lst.de>
Cc: Jens Axboe <axboe@kernel.dk>, Pavel Begunkov <asml.silence@gmail.com>, 
	Mike Snitzer <snitzer@redhat.com>, 
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>, 
	Andrew Morton <akpm@linux-foundation.org>, "Md . Haris Iqbal" <haris.iqbal@ionos.com>, 
	Jack Wang <jinpu.wang@ionos.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.co>, 
	Philipp Reisner <philipp.reisner@linbit.com>, Lars Ellenberg <lars.ellenberg@linbit.com>, 
	linux-block@vger.kernel.org, device-mapper development <dm-devel@redhat.com>, 
	linux-fsdevel@vger.kernel.org, linux-nfs@vger.kernel.org, 
	linux-nilfs <linux-nilfs@vger.kernel.org>, ntfs3@lists.linux.dev, 
	xen-devel@lists.xenproject.org, drbd-dev@lists.linbit.com
Content-Type: text/plain; charset="UTF-8"

On Mon, Jan 24, 2022 at 6:11 PM Christoph Hellwig <hch@lst.de> wrote:
>
> bio_alloc will never fail when it can sleep.  Remove the now simple
> nilfs_alloc_seg_bio helper and open code it in the only caller.
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> ---
>  fs/nilfs2/segbuf.c | 31 ++++---------------------------
>  1 file changed, 4 insertions(+), 27 deletions(-)

Acked-by: Ryusuke Konishi <konishi.ryusuke@gmail.com>

Thanks!

Ryusuke Konishi


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 05:42:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 05:42:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261840.453623 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDK1g-0007p5-Fn; Fri, 28 Jan 2022 05:42:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261840.453623; Fri, 28 Jan 2022 05: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 1nDK1g-0007oy-Cj; Fri, 28 Jan 2022 05:42:24 +0000
Received: by outflank-mailman (input) for mailman id 261840;
 Fri, 28 Jan 2022 05:42: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 1nDK1f-0007oo-1R; Fri, 28 Jan 2022 05:42: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 1nDK1e-00050d-V8; Fri, 28 Jan 2022 05: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 1nDK1e-0008Gm-Jc; Fri, 28 Jan 2022 05:42:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nDK1e-0005kp-It; Fri, 28 Jan 2022 05:42:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=/A1Dt/OVGDOL1wsiBGuzqfUba/9ibcxhmIC/qmy1sHE=; b=aX2sPGmvKieJZHE2+71KIEGYoR
	8+u68hxcBI/0XpfsyKLEd0dn1v8vpEM3Hs9OsVYELoY7SrhX8EWMZzYGx0IVxX/AHcYt+vKY8pn60
	4i2eAqLj28tKpyER4OTqmPxnGkso+CRvSjcpAxNa3r8MO8y8nUc3KXLZ3T7dBn2O+vf0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167928-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 167928: 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=2a565f9b40db981a860574be26d86a8665e71c38
X-Osstest-Versions-That:
    xen=969a57f73f6b011b2ebf4c0ab1715efc65837335
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 28 Jan 2022 05:42:22 +0000

flight 167928 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167928/

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                  2a565f9b40db981a860574be26d86a8665e71c38
baseline version:
 xen                  969a57f73f6b011b2ebf4c0ab1715efc65837335

Last test of basis   167924  2022-01-27 21:02:57 Z    0 days
Testing same since   167928  2022-01-28 02:00:32 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  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
   969a57f73f..2a565f9b40  2a565f9b40db981a860574be26d86a8665e71c38 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 06:24:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 06:24:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261861.453678 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDKgo-0004Ut-0v; Fri, 28 Jan 2022 06:24:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261861.453678; Fri, 28 Jan 2022 06: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 1nDKgn-0004Um-U1; Fri, 28 Jan 2022 06:24:53 +0000
Received: by outflank-mailman (input) for mailman id 261861;
 Fri, 28 Jan 2022 06:24:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nDKgm-0004Uc-Ah; Fri, 28 Jan 2022 06:24:52 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nDKgm-0005rS-8N; Fri, 28 Jan 2022 06:24:52 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nDKgl-0002QW-Rp; Fri, 28 Jan 2022 06:24:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nDKgl-0000Uy-RM; Fri, 28 Jan 2022 06: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=VtB9kuAS4llrs4wBLpI7N5o5uYMraoSGNLCiZRpn2ao=; b=k0qkOJ0GITFlG/TfDyCsncFz9f
	zvqtx4wufPJEccZaWggCYf8fITAD52V9sY4Cvn3kOfMsteE26/IanjXIF2Zf4h4aXBB5mJPs6gByA
	6GtDF+NGIEhuldGqjTO3gCF7ZvehVdaqilTXdo8Zojs/brHWBcLepXhO03ZCrFV/32aY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167921-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167921: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-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-armhf-armhf-libvirt: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-armhf-armhf-libvirt-qcow2: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-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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=0bdc43c8dec993258e930b34855853c22b917519
X-Osstest-Versions-That:
    xen=9480a1a519cf016623f657dc544cb372a82b5708
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 28 Jan 2022 06:24:51 +0000

flight 167921 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167921/

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 167906
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167906
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167906
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167906
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167906
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167906
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167906
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167906
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167906
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167906
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167906
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167906
 test-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-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  0bdc43c8dec993258e930b34855853c22b917519
baseline version:
 xen                  9480a1a519cf016623f657dc544cb372a82b5708

Last test of basis   167906  2022-01-27 02:07:58 Z    1 days
Testing same since   167921  2022-01-27 17:07:05 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  James Dingwall <james-xen@dingwall.me.uk>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
  Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   9480a1a519..0bdc43c8de  0bdc43c8dec993258e930b34855853c22b917519 -> master


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 06:49:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 06:49:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261870.453689 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDL43-0007KW-4i; Fri, 28 Jan 2022 06:48:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261870.453689; Fri, 28 Jan 2022 06:48:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDL43-0007KP-1A; Fri, 28 Jan 2022 06:48:55 +0000
Received: by outflank-mailman (input) for mailman id 261870;
 Fri, 28 Jan 2022 06:48:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=B5aJ=SM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nDL41-0007KH-Ex
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 06:48:53 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5a144f3c-8006-11ec-8eb8-a37418f5ba1a;
 Fri, 28 Jan 2022 07:48:51 +0100 (CET)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01lp2056.outbound.protection.outlook.com [104.47.1.56]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-23-xBFi74SeNj-xfRKQ_RjoSg-1; Fri, 28 Jan 2022 07:48:49 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DU0PR04MB9298.eurprd04.prod.outlook.com (2603:10a6:10:355::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Fri, 28 Jan
 2022 06:48:46 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Fri, 28 Jan 2022
 06:48: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: 5a144f3c-8006-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643352531;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=YmLq5uB/Y9CPzbv2Zk3CtTevVCYDKFI1di5e5tNVpKs=;
	b=BoAld7/JG4HgYwCxoMo5cv/GGk5UVXjhQH0mf3r15gICblHrhB5+le5aXkEZrfj5LO1/S/
	4kUA32IPRZwKMBC2QCB3Nw7JtCwA46BGuKnZ8lrpnyfxpi2nxlfhFsNVwf7bWxOoQnD3VX
	xizbT6FevRbuDR+K1YYq2Kkahq/t1yI=
X-MC-Unique: xBFi74SeNj-xfRKQ_RjoSg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QvY81XqC6TDPEc2PxaKiifuBAiY3hb10gIz50bNk5XriRpfaEjsqxBTySX/KFzc/zAbXwjXTQ6FsHiKBEAqbnDx4cvDlcJK4M6DkTdf+OMIQMqgjWE7Z5ogdZgePVD90GxZ8mj/PhzdiT1UH2q+skTGhyID48rGiTg7T9+uGKrf3KAt53JhHCw/+NCsUc/ZY18LQQMZr8QF9oRJCdL4JtDdMkchr4/q2VKaar0lWbylUeOS0PYGlGtwvZyy8M+rkEksd0EM6e2MQRwPQO+5Uto5iv3PsjRR72yvPVpH0YbNFzsfTth/eK7iObuqAkcKw1gkb+aGLxf3hnRJ8ZoXUeg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5HDj+QDjhBelpbStj8jZgdzE9FCzwzbGpviKNmsqLmE=;
 b=AA+974KmMuv3M5seXDkWPd0cRgAeBlmHKbawKNO3OWKFFONRk6lYSQs46TcnbVbCuseZpzDXv7I/bNz8TalXU2zqU8hUw7AdaAyqdI8ScHvzZKWek7DB6LubHEJPNl6fWcBXaNgzuq1w38Paeda4TluWqTeJBoIMwEsRWrj3d3J8NmZgEGdGHrLA1xYuQxTx1q92BMKsZJEz0EJmJnq4HjrcmB/X5Z669LH8Icqe29eQ5RFgcZn8luC6UEKPpnmZ7dwccQkTMy324LdWlyto8eMuTcvjNU3TUKi6VYYm9FZz1hs032+73ocAFRYxVv207BBPvbdy6XohM1kQ6mrJ5g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c7be91c7-6010-1146-b6fb-92d4793ad49b@suse.com>
Date: Fri, 28 Jan 2022 07:48:44 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH RFC] xen/pci: detect when BARs overlap RAM
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org
References: <20220126122648.52275-1-roger.pau@citrix.com>
 <8537763d-2601-4092-f70f-1abbdd0a211f@suse.com>
 <YfFshcEanUtXUlK3@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YfFshcEanUtXUlK3@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: FR3P281CA0077.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::10) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 28a02d44-aa28-47ae-4deb-08d9e22a3b69
X-MS-TrafficTypeDiagnostic: DU0PR04MB9298:EE_
X-Microsoft-Antispam-PRVS:
	<DU0PR04MB929808B2DED5C4D6D3F577AFB3229@DU0PR04MB9298.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:
	Snz5bHyw0oiLBcgiX0weLCLwFZZxwvIIKOMfL7i82uMUBdXR+laf1yS6Fl3Uvwhg2odO9BZGR4Ut4v2lqARWAC9lwu4ZrPQPsRkJ3n4CewihrhHYN15yR7IEJ3Lx/GU1vfZyFDAxtcGACMbYedwxF0aKJVAmPu35easKSAwiexMW503Q96skuwclHupH0elZ5Cdq+6EiWEBBYdNU7JsRc+ZH1KLh+LoCXmIbto1gKRVXXsNZK/RjIRTl9Q601BHZFN+fpAHmsoi9O7fo416YV1nre8VaBmGa1HxrgSXMP3wpJ9T7QzK99A+ldp/kfsbbVkWVSAnWATikdajMt1j10UIbSY4YKDC3i/42qO0C0CPhtP2Cq6m9R6Ei8ZwnP+keBsmpTU+gxtTZUnVPM6lCtpw8g/QymcBKDeDJourACKxqZocxNsSnMO4+BSuZlM4iMrCe7XEfvhk93YX5BOFklAKxXWNaHKnHhcUfo6zddZp2JowkHxMnIb/+nrggnM3AMbbvueYjMsPMliXqcJKJD6DO2NYRRWfgG94rFBNiIwwr8n3D0F1ZbDRSLegCbmqDy/fSsVBs02YpKChm9K6lvSmfgMfiQmwHtPxs4mjk825/OQREAV1zgfQeqgL3t+DJyORm5pSVhZIYjpTrJbWpH58JZg9W6UjlkvSXH+OtGJdOQunn52DA8Nb8klPwnOVKs9EezPpgUzTtpmwG0PlXcNGl/mULr0A14Hh+AtJjDqQ=
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:(13230001)(366004)(66946007)(66556008)(4744005)(86362001)(7416002)(36756003)(4326008)(5660300002)(8936002)(8676002)(66476007)(6512007)(53546011)(38100700002)(186003)(508600001)(2906002)(54906003)(316002)(6506007)(31686004)(31696002)(6916009)(6486002)(2616005)(26005)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?GuSlx///Y9pH+fJoiddc/urensthHW0MFOmQhTW+S26++VCpiZE13Cbsa+8y?=
 =?us-ascii?Q?xxQ2rb8DjE+jsVPtx+Cz1JpjY2Q2zpSf76rtbo2lrth8j6CJXeEVESMGX2L7?=
 =?us-ascii?Q?E8BlJGaOLLgwNJ45zyQgJqnYufC/5qlFdmHfb6ROfx64HmB8x3vDTW+dJ2TV?=
 =?us-ascii?Q?rAiC2APwBv4xqh+qhkN0kjEjJflDJnTgWLV2xE6cz2yYQZClvamvLGZOPiY9?=
 =?us-ascii?Q?odZmcV/mvNXMDzJYbmtxg9OE6G5O0rWeJJvuBfSlnmiTBpPnpTrzFo5HJBUT?=
 =?us-ascii?Q?l45j+9BxCjgtZ9vffTwcgA0UlVjW/PXD99IQj8Vygu0AUottKLt7bEgKfa+/?=
 =?us-ascii?Q?7VBG3S0UeJMjHmICSWyP/Ri6pT6Awe3+1ojBRP27AwNEO27NuTHLMq7YD7hJ?=
 =?us-ascii?Q?4DgUJh3g7Ta5ipfniLrWQqOvhdiEzxTppjJfv8BD/tCE54rP5lDaz921jM5+?=
 =?us-ascii?Q?cCU78Z4n3EhfiwZXSvcEEHj4vdChzVPBgkZSk4tLVDnsc05jv6iRS0g8bQh9?=
 =?us-ascii?Q?anafQzXmiHaqI0R1mhpJAj4goMIzMfiMhyVYxCae6tbUZ7u0byPofCJ/C42N?=
 =?us-ascii?Q?iXLU84UgOQNHHebGRKSZHJ4PeQEyzyvaIjfGdHNAzjHxP/4i517YewuaVbJK?=
 =?us-ascii?Q?9VuglMqlRXWcZSyAfJPyJeTxkrmoCCRcrBfte8PRB8bHtqOYI+diTbkrPJW3?=
 =?us-ascii?Q?ieJ/v6nnS3TjkmtJzYuRvTAv23j4WtHte+2WIfkwAKzlY3hW8A7L+Bgh7jj/?=
 =?us-ascii?Q?cHpQmSYXdsMmfwWT/9ckXjucrsRybji2Z5Zzlr7wqblnJBRJh9dK7+2gFx0t?=
 =?us-ascii?Q?gooDHWhv5JOJ/qkZeHgkfo1ZY2vjERjTk/tzHmckrk56xQybAKvvXxzteP6z?=
 =?us-ascii?Q?wCSJ3sOaS7NlFSviJ+tNDTGjmZ8sZgfXacA3TgNizcsR+Zee4LWlmGT8p2uz?=
 =?us-ascii?Q?X2Qu/bubUKA9YOR260eP4wE5RWGLjmVIC4Q9JcTv5gf9jCk1ORQKYVn/pSAz?=
 =?us-ascii?Q?oqJleg9Bv4BCnVSmmClj06+EGfEYcOwY7FY35h3O/HslXz2Gi/EQ8XtSmh4u?=
 =?us-ascii?Q?Xjj0V1elDXk8F61xygDi+2IrDEYDu1T/wiV6FquVg6cp5xKFdthk9MoPnXHi?=
 =?us-ascii?Q?bOlKvP6QTNMgEfYOWLU+bZ4FNwym7GAIWQaiD+UBhWMK+IkF4I8XfsosZLva?=
 =?us-ascii?Q?GPYEqNaYCZIqq0P+ghtTPZhyf/JqKJieaa1DDZAaI7veh0bsgk6ZKgSeC4Wc?=
 =?us-ascii?Q?LOPxx+vofoE4aXiL70AkZQD0/Naf1Qonl1W5oni0etB3Du8kolHSVesyf+OW?=
 =?us-ascii?Q?o+CnzPxKPtdZAQmT455Q3YMmAoeI+7XgdDpJnAcvbfnuNLhPfkb0lRC9N3ZE?=
 =?us-ascii?Q?FAYKKyjp30C/tnoKqHs/p3bIybilonyXfBbCLHcjcMTUW4kVN5h/oFHAT7cU?=
 =?us-ascii?Q?FHuL8A4idMcV38G08HU6WKeSYybR+J4kxg2ilx9xdcOZ+luLjbBRODcRcj7N?=
 =?us-ascii?Q?1rqUuVnZrJsBWoX+q1Kp90qHq0Tg4lKlSVP7abDRCJ6A38T/IFt1gB+udXXW?=
 =?us-ascii?Q?cAtpp320wWp3spXhsAtmL6KyQtHw+Ou/mNpAyrNmawwrWUvWGct3/XXCX6ms?=
 =?us-ascii?Q?qgosymt6PVh3mY7lHaTJn78=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 28a02d44-aa28-47ae-4deb-08d9e22a3b69
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jan 2022 06:48:46.4615
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xEeyOcMQ/hMGckgL8XYCNzSSbIzfw0GuZYDVADFtN8YkXBhYRiVzex1rMp+cdYGmE0uRrixgnyUriPhFu8FuWg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9298

On 26.01.2022 16:45, Roger Pau Monn=C3=A9 wrote:
> On Wed, Jan 26, 2022 at 03:08:28PM +0100, Jan Beulich wrote:
>> On 26.01.2022 13:26, Roger Pau Monne wrote:
>>> --- a/xen/arch/x86/mm.c
>>> +++ b/xen/arch/x86/mm.c
>>> @@ -479,6 +479,26 @@ unsigned int page_get_ram_type(mfn_t mfn)
>>>      return type ?: RAM_TYPE_UNKNOWN;
>>>  }
>>> =20
>>> +bool is_iomem_range(uint64_t start, uint64_t size)
>>
>> Might be nice to have this sit next it is_iomem_page(). And wouldn't
>> at least "start" better be paddr_t?
>=20
> (paddr_t, size_t) would be better, but AFAICT size_t can be an
> unsigned long and on Arm32 that won't be suitable for holding a 64bit
> BAR size.

Talking of representing the range - a BAR occupying one part of a
page overlapping an E820 entry covering another part of that same
page is going to be equally bad, I think. The range may therefore
want expressing in page granularity. This may then be easier as
[start,end], at least on the calling side (can use PFN_DOWN()
twice then).

Jan



From xen-devel-bounces@lists.xenproject.org Fri Jan 28 07:04:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 07:04:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261874.453700 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDLJU-0001Ka-Gt; Fri, 28 Jan 2022 07:04:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261874.453700; Fri, 28 Jan 2022 07:04:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDLJU-0001KS-DQ; Fri, 28 Jan 2022 07:04:52 +0000
Received: by outflank-mailman (input) for mailman id 261874;
 Fri, 28 Jan 2022 07:04:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=B5aJ=SM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nDLJT-0001KM-CG
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 07:04:51 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 94e9012b-8008-11ec-8f75-fffcc8bd4f1a;
 Fri, 28 Jan 2022 08:04:50 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2111.outbound.protection.outlook.com [104.47.18.111]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-25-E4mCGSWFOIuQWkLPmPXZ7w-1; Fri, 28 Jan 2022 08:04:47 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5199.eurprd04.prod.outlook.com (2603:10a6:803:62::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Fri, 28 Jan
 2022 07:04:45 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Fri, 28 Jan 2022
 07:04:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 94e9012b-8008-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643353488;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=O4KbgNdbWRWQ0Bif5DjjCwVdhYV5B3pXcN/a8dARgZ4=;
	b=OwudvltccxCbgZlWdpzLM/8NCDokQX7amqibqEPvOxATqwGUYdYBWiF2KQE0FRDiSAy7zd
	HUZyrxqrDngP0CQOAB+alw71jv63ko3vvSX1qLzlRfRQ8bRVlDjeF8s/IvoQ7CmFSebaeC
	MbL3jtYg1UBefu8aJ6pHM8Z0x0JXjog=
X-MC-Unique: E4mCGSWFOIuQWkLPmPXZ7w-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SYiodU8KMPFpt1USZW9CvZ2HdsUfBaeggw9U4U3GqQ3xfhp55Ctq24Cr/SrmZTIpZ86peQqSNm0AqugNc8b16Rp/5Vc8po9oF1xy43A51T4gTHvHiJbCnVF0UT1Yl9Ht+bDGSYhNyKNRud3fgM0fMa0kcfOJLpHZ++GwixA8Zt7XeYcHWI0zHxVKbIKavLlBLlBpNJEQGri4aBQwjwaWW/Ee8XddB506uxyvtcgrtN9VBTzxC9KzCZ0LngVEo0nF0tXt+gaTqsHQBHskl1jSS8o22GlYx6aJp0FAHQzhCamWaVzgZ85oXvhu+mpADfYG/hxUUB2cCavLXf21x2feog==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=O4KbgNdbWRWQ0Bif5DjjCwVdhYV5B3pXcN/a8dARgZ4=;
 b=Pk1NaWYLnhGKhNnP2U+IVlJRC/UZ5Y1w3fdzG85OqsNIbsyX5gIpLzM0M/pJNR2Q991osw6eQddwq/yNdVtYe1UhAJeCBMbq+wOP1Ad6wCYr0o+TuGJuHHo3/DfAZv2JUjKDvZaaKg+dRQcJVUmfuW895J8O/jMbmOZU+uZLXMnrNQZLaWPci2CLabggTSeVp6J/OfPFoxpJetwdq0EwrtB8a3mFGKoWWZu49DTWzkOQu0sGne3mtZXvzMqczkRg0bBaeEtzOsL3TX1rggmn1XBIZiDbwUdfRErwfbR0Fsstj/+y0Aj2/530sXvmtcEJIVaMrFDfjPmfNXPTaJfkrQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8bf1f314-c1ba-eb8c-460b-d385a794b2b8@suse.com>
Date: Fri, 28 Jan 2022 08:04:44 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: Debian Bug#1004269: Linker segfault while building src:xen
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Hans van Kranenburg <hans@knorrie.org>
Cc: xen-devel <xen-devel@lists.xenproject.org>
References: <2a095341-a727-23d1-2dce-dd9caa72c920@knorrie.org>
 <798c8459-7f28-c081-15bf-04ea94e8b711@knorrie.org>
 <9497ff64-8fe3-5d5d-303a-2d9f8709ade3@suse.com>
In-Reply-To: <9497ff64-8fe3-5d5d-303a-2d9f8709ade3@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR01CA0050.eurprd01.prod.exchangelabs.com
 (2603:10a6:20b:e0::27) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 7535ee87-6c6b-47cd-b863-08d9e22c772b
X-MS-TrafficTypeDiagnostic: VI1PR04MB5199:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB5199F223C40C2D0EE757E8BEB3229@VI1PR04MB5199.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:
	mjPBzNbKkY8CT0g2YenlMsw1CE3Zg9cLlh3g4xgauXQ/RJSXXzuySJYIyssgPw/nE/6684suPqIyze44gigurt5t+VOZnLmKEiePaV6NeYnUP/oACkXGuTgl32eK44R7pTOtbS4OFuqvYvQxZHvJROUj7JSzWQ+lEQsSMBRovhIQIATfMzb8PeUkKpkVl8KWi/4saT3ii6g9nAYssmVjjJxtrkERPN7fKclShZlw8IRZYtFj4suB0XbVb3zbgFWmPdm4VcqdMbCBpJcGYDW89pPseQilkytq7t+ryajktTe0vBW5O1wrIYf1BAOjgYLXN3h/tCfU0X3r54qFOudKwCZD7iYoBms65po7eOFAjQx5FnWqC/IwBik5I3e2HyfYOt5DHig+5sTzpne/akAoPbH77sOBOl5UoAoT71JvqorQ/lrlEy/DkxMjxV41MgnsAEYI1uGOMrt9FAPaOA3Uws1zy+u65b6AZD8EPKXUb5sWAj2Jx8QJi7+hzEktWnkQ0Ozmmpy7YMnPBVvhlpk5URkdKCdr/weNETCw9cyCceeaAr5v/XUWRJ34aIujiox5t58IAKKjf91p4UPlV56AMyjiJTgSFIa5V8UAkXUC3/7GBNlgwuM/2buF2h2vfDJHly5VoUShVPGXRxmk2Oj0nCF6vkNP+iGT5PhqSV9fmVwfzAUb8enVL3RPiAuO1PVywlbTtcCqT58w5KP0jv7kwDFgdGAfqkg+Vz7sKiVzAFcB7Wf7TH76taeCGcLieGKKwahmpSDMTbyZhGNvIFS/kGsZDvRgY3oSH8KZ3kxlqU09/tuhXZSGqFpezW8uW9AK
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:(13230001)(366004)(6486002)(31686004)(186003)(2616005)(26005)(36756003)(4744005)(6916009)(966005)(86362001)(38100700002)(31696002)(6512007)(316002)(508600001)(8676002)(5660300002)(8936002)(66476007)(66556008)(66946007)(4326008)(6506007)(2906002)(53546011)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YUE0eFJlcnc5bWF4UFZxZDZzYTg0a1RSdlZ4dEdMaU9ONSs2c21yOWRMZnJN?=
 =?utf-8?B?TnkrNFJQbWExT1F6R0ZlOW9hcVFQWmt2Y1ZHNEY3MndUMlZYeVpMaU1sRkVv?=
 =?utf-8?B?TGlPT0o1QXQ4c1FaR0lXRFk0b1NxTVRucUhTS1VlRU1KTlYvSmx3ajBDd2gy?=
 =?utf-8?B?S3FOUTYxL21NcUE3OGFCc0RvTmhxQkZRcW5TODhpaTVvbm5vcFI2YXJzV0pO?=
 =?utf-8?B?VjVQMW81aEwrOG1XWG9sbm9BbERPdDNLaTFMRGQxS2JaVkFzcjhTSnVtYlBw?=
 =?utf-8?B?Mm5BSnBzQSt2REl2Myt3aHJFWk1mUHdlZ3AxQlhHUldOWFNiemxWdlZ5MytT?=
 =?utf-8?B?TEVSMFZMRFV6S3pDZ2p0VGQvVEp0b21EZWVseHN2U3pZeWdMZXBUM0FqRW5x?=
 =?utf-8?B?UlN3WWlXQzJJdmlzako5dkNMQWcyMVZ4ejVTRDUvMmc0YkxlUVdKR3FWTXVG?=
 =?utf-8?B?NmN3amxSV2NTdUFPeEpvcjFyWWk5ZHlnMjBMdlR2MFIreFl3bGFnSVRaUXdU?=
 =?utf-8?B?ZERNRm5LMUFxRUJLNFN1aUxrRlE0TWlFa1RlK3MrVWI5YzNYbzZnKzRqdDV0?=
 =?utf-8?B?bE94c2t4TVZUZThiVFdzazVET3NMMCtkT2o0RjIxTHZRL1N3WDY3SzlFWDdp?=
 =?utf-8?B?aEkzMEdWbGJTZ3p6bzNVb0dXK2pQYzM3UWhTcHg3YWVtaUxiVWI1NFVTN2l0?=
 =?utf-8?B?cnZ0ZzJnRENCWmpUOTVPdnJyV2dBWFo0bU1sWC9sblpHS3ZYVmRxNndCU0xi?=
 =?utf-8?B?THljYkszWStnSXFESGwrbFhhUk9taVdNQXR3K0JPV1MrcERhK1ZaT2FzVnI5?=
 =?utf-8?B?MDBibVRseno3Q2RBQzRKMGxTM3h5WURHRWkvNFRoSTFkZkR4eXNSNitIZGkv?=
 =?utf-8?B?MTB3WDlvZWhrOEZFZ294LzUwZjh3dWdiMlZzdFlxNUlVeGJBY3p3QkVuVUpR?=
 =?utf-8?B?NzBIYzE2VDlnV2NMaTNaR0VwVlBJOFVCMVlweGszSzFNclVjdnk1cGlCUk1V?=
 =?utf-8?B?elpIS0lzazNXR0RPQXg2clpUQWJDQlJwY01MQ3F5aFdXWUNNT2ZzSEFBQ2xr?=
 =?utf-8?B?bktoejZtN1JscXlmbHA3M2l5VEpKeVI2NW5LZUZRcjhwekxjcGVpMnZqU1E2?=
 =?utf-8?B?dEZpaTFYb2Q4cDNGTmREc2FCWURZdmE4T1VGV2gxVHRNQ1hNK3l0VlUyMGIv?=
 =?utf-8?B?eFduSldGSTByR2Y1YVFCUm1yakpIbkwrNUZTOEU2bGl6ai9vQXF2VXZydXNX?=
 =?utf-8?B?dFlOZnAzaWM0NWFKUHFTRzBpQ1g5SkJRcUFDZVFZUEZhQVpDcTRvRlRRVTly?=
 =?utf-8?B?aVZSOEd2TXJWblJwcTE3VER6dVZnV0ErYS9rTC9XWkM1TVVYaXA0YU83OHI1?=
 =?utf-8?B?b0ZzUjNyQy9XWDhoZUIvVnRsaG9wMnBnV3lHdWxPNWpJNDU4cVZnZXYxMzhU?=
 =?utf-8?B?YkJ5bUNkYzY4blRvazJPdUU0dkJmb0JtNWdIZUs0NDlJdEEvNVRaTG1ueGUy?=
 =?utf-8?B?QzlveUxXK09kZHlwYWdLM3QydkdLY3B1SzVpTU1SWGFaa1dCRjFVQW9zamNG?=
 =?utf-8?B?NFFxdDhyVjQ4a3h5STdQemdJbWgweTNkWTVJdFJURzJuQzZCdFJ1QnFUTXBo?=
 =?utf-8?B?aUFkT3VDaVJhNnJuUW1hQ0VJekRidkMrOWJ3QnhVS0xIYksrbEYrOXZINWdu?=
 =?utf-8?B?N0hYMndhZmZNSDRJUDlMWm5vTEd5Rk8xb1I4dkFRdmMrL2p3Nlh2dmtVcWxy?=
 =?utf-8?B?eHFHS2FlbnFUVFhNZFBxZ2ZvY08zVGZZaDZXVFZSL292UHB2K1NOdHBOR1lS?=
 =?utf-8?B?N0FNblJOdFZyVnU2OXIrcGE1MDhlQis4RlZ5MDN4L0U4TUI4eWo5KzB1bUMv?=
 =?utf-8?B?TThGZXo3K29MMXl2czAwQk4yb1h0YVRUQnl1VEVOcFR6M25vclFoZXpLcEhh?=
 =?utf-8?B?NzI3TjNINEpYN0lHTU05YmZZZzhST2dTUXBySSsyMW1IY2pjVTdIaVczTGVD?=
 =?utf-8?B?b1RVVEF3NUk1L1R0R21DdWVzSFJEcm5PS2NXVnVjRlUrUVdhMFJ3dzVXNllh?=
 =?utf-8?B?cXVSRDNWNng5YXF4clZuY3IxNDdKNytRRGhUWlg5U2c1d3ZicURncmFHbUZH?=
 =?utf-8?B?bnFIUHByU29lUTFQOXBpc0xmRXJVNnBSWm15VkgwdGR6RHh6T1BnWkRHZXd1?=
 =?utf-8?Q?O4yqoOeOSNz9yuEgg8ZVzsU=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7535ee87-6c6b-47cd-b863-08d9e22c772b
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jan 2022 07:04:45.7303
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: P4XrctsIIBi22iCJ//7lLTaEQkIdn0pdKHhQPtipDW7ZHXngyorAiWcIAnEiHTO2Fl8fQlVkkG8snnUAhZxsNw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5199

On 24.01.2022 09:40, Jan Beulich wrote:
> On 23.01.2022 22:52, Hans van Kranenburg wrote:
>> * Any suggestions about what we can do to help figure this out?
> 
> I'm pretty certain this needs debugging from the binutils side, so I
> guess you will want to report it there (even more so with 2.38 around
> the corner). I guess it's actually debugging ld or bisecting which
> provide the best chance of figuring out what's going on.

For the sake of xen-devel, this looks to have been fixed in binutils:

https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=07c9f243b3a12cc6749bc02ee7b165859979348b

Jan



From xen-devel-bounces@lists.xenproject.org Fri Jan 28 07:09:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 07:09:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261878.453711 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDLNc-00024l-3K; Fri, 28 Jan 2022 07:09:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261878.453711; Fri, 28 Jan 2022 07:09:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDLNb-00024e-VW; Fri, 28 Jan 2022 07:09:07 +0000
Received: by outflank-mailman (input) for mailman id 261878;
 Fri, 28 Jan 2022 07:09:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=B5aJ=SM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nDLNa-00024Y-RQ
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 07:09:06 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2e0c1091-8009-11ec-8eb8-a37418f5ba1a;
 Fri, 28 Jan 2022 08:09:05 +0100 (CET)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2058.outbound.protection.outlook.com [104.47.2.58]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-29-NGlZpbFkM3uewBONAZ3bQQ-1; Fri, 28 Jan 2022 08:09:04 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by PAXPR04MB8207.eurprd04.prod.outlook.com (2603:10a6:102:1cd::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Fri, 28 Jan
 2022 07:09:02 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Fri, 28 Jan 2022
 07:09:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2e0c1091-8009-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643353745;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=h4CfLYkZCgQ2re1mVcjg9UU+1Pzuy7M47xgaksVvZBs=;
	b=J/98guYsh+Ty4Jex3vtSH0wGwOj4kB6p8e0EHwj2uYqzBAVDJrxE0zS0bIzZijVfxnNXXe
	EYwT2myadetjJKcdGfpgAa4+qLJgXtFp+pgftzB/eZQt/z/hp/yPM9W5GU4a6MNaXioUHT
	kQP83/7CeBbhUsojpPaKQepAaJvaJGs=
X-MC-Unique: NGlZpbFkM3uewBONAZ3bQQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RYRO47sUWVRvp/W5Kv1Fw5YhuNmDdCsnwV7NUxXILrTC/UNGr7x6T7tf3h6KFOGEKcyJowY4jVcHcs8WnkDFwjzwEcXtnJW8EjhlJCtAxH7IUsVpOyg8UeLeHuovEL33s6vh+DCE+iC6BditZYQKTx22tt9Jry+Bsnvs+13w8X4Nym/6xVB7B8cm5FC5WdO+iiKLdRKGdDMql7i47V/fiOcBOB1WsQYBGXcuB4k8hxgozxRU87aBpby1dqqWygN8r4dL1BYuKDaSgDPy7tDZXeWzDb9cEGKhkZJhlf9ADfd+jCABUeGEtfKRxDqvBYXkU6D8ImoiKYt4GY2pL4exMQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=h4CfLYkZCgQ2re1mVcjg9UU+1Pzuy7M47xgaksVvZBs=;
 b=T/hVg58KPy3kobQC9r69WvHNj02mibY7MmcmaHjlad1ic761IAQq1SdliQWau79ssPCWT5UUpQoxKff59wSAP7Gd8q01IeM3RQo8QlnUaxFAqgxGHyME0LH5mj30hQzeYd099MK9z0ea4D5Pnn++g67YCCgxf0s3hsbrzXXIGGYUH7nFpjPV3rXdCdyjuSJvUemHZyros/JQr2nbNwzyKsHJEqrEyVinm5QC7a9bd+6DsC1Jjq9VYD6aGyslqSBYSUNaJN06Pj0CfsynMWkWc0dCWkuxbAIP1jK6iCHiWvYmF84vp6DRv4dubA5fouTqBaOzr9cY4JOt4/2PeiVKjQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1525cbb9-75c7-7991-853d-78b387528dfa@suse.com>
Date: Fri, 28 Jan 2022 08:09:01 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [XEN PATCH v2 2/5] xen: export get_free_port
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, jgross@suse.com,
 Bertrand.Marquis@arm.com, Volodymyr_Babchuk@epam.com,
 Stefano Stabellini <stefano.stabellini@xilinx.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>
References: <alpine.DEB.2.22.394.2201121646290.19362@ubuntu-linux-20-04-desktop>
 <20220113005855.1180101-2-sstabellini@kernel.org>
 <f3b2ae98-c7af-d8c0-b0a4-52e622517c34@xen.org>
 <alpine.DEB.2.22.394.2201241652330.27308@ubuntu-linux-20-04-desktop>
 <14af544d-0d20-9b58-4d70-5f5086ece032@suse.com>
 <alpine.DEB.2.22.394.2201251435030.27308@ubuntu-linux-20-04-desktop>
 <a992cf74-a75a-43d0-f83a-cd9549f586a8@xen.org>
 <alpine.DEB.2.22.394.2201251530400.27308@ubuntu-linux-20-04-desktop>
 <aa7aee5b-71cf-78c3-f8a2-f8d166f22ecb@suse.com>
 <966ac15d-e91f-e812-1021-296ef60a9a06@xen.org>
 <alpine.DEB.2.22.394.2201261727550.27308@ubuntu-linux-20-04-desktop>
 <33d1c1eb-7d6d-21c6-8ed4-3daef5be90d3@xen.org>
 <b2edac13-f019-f615-0655-8510bfffedbe@suse.com>
 <55c8e510-8b8d-ca27-f635-e2109fff9c5d@xen.org>
 <alpine.DEB.2.22.394.2201271729410.27308@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2201271729410.27308@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR04CA0147.eurprd04.prod.outlook.com
 (2603:10a6:20b:127::32) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2b3463a2-f954-4753-2514-08d9e22d105d
X-MS-TrafficTypeDiagnostic: PAXPR04MB8207:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-Microsoft-Antispam-PRVS:
	<PAXPR04MB820799E1B2E0143CA681EF15B3229@PAXPR04MB8207.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:
	n64inkyQyuRMg73IaksoLsdqXmdB5FJygW6Q7i23YpH92QOYTKaxPlbyXl1yGEYjoXrAefRxWDbJqQ1VwHe6nTjFKgt305rANFOM+La8QWTYpwF+hwXThBtDFyx0Z9q4TvDU7VsYAjLZ4ck6LFMCXX7ykf5i4yZZnKMTYgTUGv6mGYWYpYeT6ORmCaQPVATjyR2MUC2KwipFBhMB31a3wxSBQsk42y5ykXMMPmWM69m+UZdCfyXvf+Nks+bc6eaQ7OaYcL3EDFF7A41r/uOKoFVThKfzIQv6cOfsw20Jvs9zaH6IyB2B5ZvfPfwSh+EurGpsdzP9t1vUFGnHCWmbT1nLtiTs5ECy1uba5Tbl/DzOalEmqKdJP/bZDHzwf7AkDcvX//x6H5UqzClQJBd3Ii4may3cI1+4reQ0Pgling8CBhZysnw6s7hDvUvwZYdO10GkMfWhypjz2c+pbTolU8Phy07GaVh4EH2WV0M6hEdfkEHzvHfNJXYNYQAYQO7MVwz8rNwwBz7vn7sQXxOuryVFn/0hBixHCHsWDygNyU0D1cB36WxtMr/yc5rdn17Ay7cWpSVxyvxuWh7hMYu4f3g1uqTHFTWogDyXpS9ks9K0ml4NR74pYaG2IUSUhWWof+ZE+3gq7LaLJvTqE7LYBaBBHEq6HEca+IgyVfqPKTqX4RnixzmMJatHKfUok7fkwGJ96LGnvcG70ONnSw7qc98d6eGHn0KRtotbkAA2jSiDDVqbGhOT+/A/9WhkRK26
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:(13230001)(366004)(31686004)(508600001)(54906003)(186003)(2616005)(6512007)(38100700002)(6506007)(83380400001)(26005)(53546011)(316002)(36756003)(66476007)(66946007)(86362001)(8936002)(6486002)(4326008)(66556008)(8676002)(5660300002)(2906002)(6916009)(31696002)(4744005)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bkFDaklTdEcyWWdBZ1Z5MWRDYlVHRHFyaDZiV2FWYXgyTVZyN29HVlBXNnVk?=
 =?utf-8?B?ZmFPcmlRa0VxVFFOZFBORXV6MjNUK1dkWHU3TW5MR2p6dDBjVm91YlVNRk1D?=
 =?utf-8?B?WkVMc3NjUkdheUs0cG12UDJqeDlYWk5RcXJ6WHBmR2o4djJSNU8veTZqZGtS?=
 =?utf-8?B?VWlNeERnQ0I1OE9MSWhOaCtsOGw1NGVxQlFnMXU4dmFKcWJyZlhXV3pTbkhV?=
 =?utf-8?B?ZFpBdENjZEd0b1JZSVFzZlNvY3ZZeUJJTXB3L1YyaldtTDh2bS9sTXJyYk5H?=
 =?utf-8?B?SU1oNzkzbHBEeHk1UDhFemoyZXBuZ2YyU3Axb2xCUklETXJGQWxwRDRwbDU4?=
 =?utf-8?B?eWZLSmpZRWZLN1ZHeDhCdTVBYlBxREJaVk45Z1BwUmthbGVhNmp4a0dYc1Fl?=
 =?utf-8?B?RkFQSlFwUTdIOXZrdGhENmpBTUNUR2lpelFUK3kzczB2L0JHZTVvbjNGYms1?=
 =?utf-8?B?b0Mxdlg5c0FpcnVlZitLakpwT0ZUV0NGOUxHbkRnMjhIdldnNUF4WnVEWVZB?=
 =?utf-8?B?ZjgwcXo5ZU5PODJxQUMvVmZCaEJCTTZsUGlhSnR1N042dTN5QWxHcm1PK0hk?=
 =?utf-8?B?dEZvK1NVRWdnNldid1R5UjVNWEhJTUFZV1NnWFdTTzdQbEFudjRqZEdHNEFV?=
 =?utf-8?B?ajJGY3A3K3lqWjNCSjFkczFJZVhtMFNFKzN1a2VJZC9WM05YZndxNk1ZdmhZ?=
 =?utf-8?B?dmd1emZzc0JtbW80OUg4TXRhRWpNdCs1SlF1VHgwTjJra0xqenk5eEhYTHR0?=
 =?utf-8?B?R1prMjRpeWVjdUpnRUJCU3F4Wkl1ZnZEVzVoZTFNUTE2ZFpXcC9NQ1dYS2wv?=
 =?utf-8?B?Z3JFY0NlMHFBelNtV1dkZFFrY2FIK3d2cllheU1ZTFNOQW9RNEc0S1dYQ01S?=
 =?utf-8?B?STAvS3VCZ0pMOW5YM05BZURKTW9aYVV6WVpHZy9GdjJHR2wxbWozZkZXdEd2?=
 =?utf-8?B?cUtQelBieFlxWWY2WXNWWlk2MitQZWQ0ekR5WGMxMmJNam1JaWptMFh2V25q?=
 =?utf-8?B?VVZoVzJhOE5TQTZlKzN0MzFScUtmeDF4SmpvRitUMkI3UG9IdTh6eXgvYzll?=
 =?utf-8?B?SVVSeml3MkdYaTNxaDFjdENVRGttNHhHalNRNHlUNzVZSGp3ejZyNElKbXdK?=
 =?utf-8?B?ZGttNkNndEZseU1NQnRuYy9sSkFuVTZTMWdxczBIVHNrRXl5ME9sbWVIMGhH?=
 =?utf-8?B?VW9TTG5taHVCVUNMRXJDR08xaTFMaldmTE1mZmN4NHYxVE9oWTFUZWpBYmdS?=
 =?utf-8?B?YkJJdVhUbk45a0k3K21WbWR0Wlp0a3EzZi9wem1EZXRQMFFzYzNkVUNWeEIw?=
 =?utf-8?B?bU5ha0I1TFNpRHJjVzhNYit0WjNOcWlRQzBZWjBNbU11MUlBSUZacERBTHp1?=
 =?utf-8?B?bmxYYUxFTjdnZzhVU2U5ZjYwTnh3d0dXZXdEMUloNzJMRGpXdUMyTmhpR1dN?=
 =?utf-8?B?dlQrb3NXeFZZV3dkNnlzQjdmYWVRa2N1T0pibHVTcHVCN05lOTJtejVleUk2?=
 =?utf-8?B?MkhYRzZ0UExPaitzMlNLZHllTFEvMWVWNlhqMTVVUHdnUElPSm1Hb1Z3ejhP?=
 =?utf-8?B?blkveFdEanpSc2VEdmx4YTg0dzdCNXZoWFRzWTBHWWhNM1FNTksrZUZBbjd2?=
 =?utf-8?B?YUlIT0V1eXVqYjVRWUVNMDFJZlluZGU3M0hFWU5PaGY1RDZIWE5yR0NKbGtU?=
 =?utf-8?B?Wkg0MzNvNEQrWGRweHVCenB4WVc2MHZ0Q0E5RW92bnp0NUhaQ1IzTDRIcmFN?=
 =?utf-8?B?UUgvWGNhTHNyOE9obEcrODBJM2U3RnlMbEQva1BhNHlGWDZxN3o0Q245RjJs?=
 =?utf-8?B?TlZZUW0xaFZCV013WEhuY1o5VTFjOG5aT3NZODlzWWxTc0dnR3djQU5pSmpQ?=
 =?utf-8?B?aEM3SUsxaFpXQ2M1WTlnRHVRQ1BQY0hVRkpiQnhpaGxwdzJRWkZ4blVTQ1VU?=
 =?utf-8?B?TFY1NnRNdkNNYm5lcjh5NWlOWGNOelZlS0Z2U2w3ZExDT2Z1Uzg0TXFvVmFp?=
 =?utf-8?B?VGJnMFRKWkRKWU1KaThLV3FoWUhjZHlHMmJ1bTlJOVVuR2w5eFlBRkJIQmNu?=
 =?utf-8?B?d0ZkZ2VFcmxSYUJ2RkhXa2tBN3VMZlJ2bGgwZG5CcUVNbHBaS3Q0elRocWpV?=
 =?utf-8?B?L1dOWUE2SkRPam9tdXZWQnIzeE54U2I2MXRCdWJyanVnamN3STlUdjdPcmsz?=
 =?utf-8?Q?O3ZHXwSbmeoIzb0700gsJG8=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2b3463a2-f954-4753-2514-08d9e22d105d
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jan 2022 07:09:02.6831
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XqV4raHYRl2jm0U6+xm6s1+KvG3DIPQw4cXOHUNvfYMyjvvb6UU6SIbSpYqD0f/9Xqete0hFsrLoQ8SyWeRaVA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8207

On 28.01.2022 02:38, Stefano Stabellini wrote:
> --- a/xen/common/event_channel.c
> +++ b/xen/common/event_channel.c
> @@ -284,7 +284,7 @@ void evtchn_free(struct domain *d, struct evtchn *chn)
>      xsm_evtchn_close_post(chn);
>  }
>  
> -static int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
> +int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc, bool disable_xsm)

Nit: I don't think "disable" expresses the behavior. May I suggest "skip" or
"bypass" or some such? Or invert the boolean and name it "check_xsm" or even
simply "xsm"?

Jan



From xen-devel-bounces@lists.xenproject.org Fri Jan 28 08:48:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 08:48:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261890.453722 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDMvW-0004jv-N5; Fri, 28 Jan 2022 08:48:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261890.453722; Fri, 28 Jan 2022 08:48:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDMvW-0004jo-Jc; Fri, 28 Jan 2022 08:48:14 +0000
Received: by outflank-mailman (input) for mailman id 261890;
 Fri, 28 Jan 2022 08:48:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=STMZ=SM=suse.com=dfaggioli@srs-se1.protection.inumbo.net>)
 id 1nDMvV-0004ji-B7
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 08:48:13 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 062842b3-8017-11ec-8eb8-a37418f5ba1a;
 Fri, 28 Jan 2022 09:48:12 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 9012D21709;
 Fri, 28 Jan 2022 08:48:11 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id B743D13A66;
 Fri, 28 Jan 2022 08:48:09 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id PXH6Icmt82G6ZQAAMHmgww
 (envelope-from <dfaggioli@suse.com>); Fri, 28 Jan 2022 08:48:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 062842b3-8017-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1643359691; 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=JbbeLP0aFndZrYa+qtOS16mpujA3WDSJHYYzVCvj+vA=;
	b=DFKMOqyMPM3pkMeBGEeBlvySivcjkS/OXYKwTgf14Uc0DnKwZ/o9rdP/C0FNIY/9dVG2gH
	W0vvZPvUxnps+NQjdLZvIgE7XtBunJwyi9mgCwXzzLRNG5rs+d9gWewnwpiq+mASAUtN0/
	uUnTpJVgQo8N4BBZ+Q/i3+WLu7zKKL8=
Subject: [PATCH v2] tools/libs/light: don't touch nr_vcpus_out if listing
 vcpus and returning NULL
From: Dario Faggioli <dfaggioli@suse.com>
To: xen-devel@lists.xenproject.org
Cc: James Fehlig <jfehlig@suse.com>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
Date: Fri, 28 Jan 2022 09:48:05 +0100
Message-ID: <164335968477.24662.7673734521447971250.stgit@work>
User-Agent: StGit/0.23
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit

If we are in libxl_list_vcpu() and we are returning NULL, let's avoid
touching the output parameter *nr_vcpus_out, which the caller should
have initialized to 0.

The current behavior could be problematic if are creating a domain and,
in the meantime, an existing one is destroyed when we have already done
some steps of the loop. At which point, we'd return a NULL list of vcpus
but with something different than 0 as the number of vcpus in that list.
And this can cause troubles in the callers (e.g., nr_vcpus_on_nodes()),
when they do a libxl_vcpuinfo_list_free().

Crashes due to this are rare and difficult to reproduce, but have been
observed, with stack traces looking like this one:

#0  libxl_bitmap_dispose (map=map@entry=0x50) at libxl_utils.c:626
#1  0x00007fe72c993a32 in libxl_vcpuinfo_dispose (p=p@entry=0x38) at _libxl_types.c:692
#2  0x00007fe72c94e3c4 in libxl_vcpuinfo_list_free (list=0x0, nr=<optimized out>) at libxl_utils.c:1059
#3  0x00007fe72c9528bf in nr_vcpus_on_nodes (vcpus_on_node=0x7fe71000eb60, suitable_cpumap=0x7fe721df0d38, tinfo_elements=48, tinfo=0x7fe7101b3900, gc=0x7fe7101bbfa0) at libxl_numa.c:258
#4  libxl__get_numa_candidate (gc=gc@entry=0x7fe7100033a0, min_free_memkb=4233216, min_cpus=4, min_nodes=min_nodes@entry=0, max_nodes=max_nodes@entry=0, suitable_cpumap=suitable_cpumap@entry=0x7fe721df0d38, numa_cmpf=0x7fe72c940110 <numa_cmpf>, cndt_out=0x7fe721df0cf0, cndt_found=0x7fe721df0cb4) at libxl_numa.c:394
#5  0x00007fe72c94152b in numa_place_domain (d_config=0x7fe721df11b0, domid=975, gc=0x7fe7100033a0) at libxl_dom.c:209
#6  libxl__build_pre (gc=gc@entry=0x7fe7100033a0, domid=domid@entry=975, d_config=d_config@entry=0x7fe721df11b0, state=state@entry=0x7fe710077700) at libxl_dom.c:436
#7  0x00007fe72c92c4a5 in libxl__domain_build (gc=0x7fe7100033a0, d_config=d_config@entry=0x7fe721df11b0, domid=975, state=0x7fe710077700) at libxl_create.c:444
#8  0x00007fe72c92de8b in domcreate_bootloader_done (egc=0x7fe721df0f60, bl=0x7fe7100778c0, rc=<optimized out>) at libxl_create.c:1222
#9  0x00007fe72c980425 in libxl__bootloader_run (egc=egc@entry=0x7fe721df0f60, bl=bl@entry=0x7fe7100778c0) at libxl_bootloader.c:403
#10 0x00007fe72c92f281 in initiate_domain_create (egc=egc@entry=0x7fe721df0f60, dcs=dcs@entry=0x7fe7100771b0) at libxl_create.c:1159
#11 0x00007fe72c92f456 in do_domain_create (ctx=ctx@entry=0x7fe71001c840, d_config=d_config@entry=0x7fe721df11b0, domid=domid@entry=0x7fe721df10a8, restore_fd=restore_fd@entry=-1, send_back_fd=send_back_fd@entry=-1, params=params@entry=0x0, ao_how=0x0, aop_console_how=0x7fe721df10f0) at libxl_create.c:1856
#12 0x00007fe72c92f776 in libxl_domain_create_new (ctx=0x7fe71001c840, d_config=d_config@entry=0x7fe721df11b0, domid=domid@entry=0x7fe721df10a8, ao_how=ao_how@entry=0x0, aop_console_how=aop_console_how@entry=0x7fe721df10f0) at libxl_create.c:2075

Signed-off-by: Dario Faggioli <dfaggioli@suse.com>
Tested-by: James Fehlig <jfehlig@suse.com>
---
Cc: Wei Liu <wl@xen.org>
Cc: Anthony PERARD <anthony.perard@citrix.com>
Cc: Juergen Gross <jgross@suse.com>
---
This change should be backported to all supported branches.
---
Changes from v1:
- dropped patch 1; this one is enough of a fix
- removed an assert() deemed non necessary
- kept GC_FREE just before return in libxl_list_vcpu()
- nr_vcpus is now unsigned
- fix some typos
---
 tools/libs/light/libxl_domain.c |   14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/tools/libs/light/libxl_domain.c b/tools/libs/light/libxl_domain.c
index 544a9bf59d..d438232117 100644
--- a/tools/libs/light/libxl_domain.c
+++ b/tools/libs/light/libxl_domain.c
@@ -1661,6 +1661,7 @@ libxl_vcpuinfo *libxl_list_vcpu(libxl_ctx *ctx, uint32_t domid,
     libxl_vcpuinfo *ptr, *ret;
     xc_domaininfo_t domaininfo;
     xc_vcpuinfo_t vcpuinfo;
+    unsigned int nr_vcpus;
 
     if (xc_domain_getinfolist(ctx->xch, domid, 1, &domaininfo) != 1) {
         LOGED(ERROR, domid, "Getting infolist");
@@ -1677,33 +1678,34 @@ libxl_vcpuinfo *libxl_list_vcpu(libxl_ctx *ctx, uint32_t domid,
     ret = ptr = libxl__calloc(NOGC, domaininfo.max_vcpu_id + 1,
                               sizeof(libxl_vcpuinfo));
 
-    for (*nr_vcpus_out = 0;
-         *nr_vcpus_out <= domaininfo.max_vcpu_id;
-         ++*nr_vcpus_out, ++ptr) {
+    for (nr_vcpus = 0;
+         nr_vcpus <= domaininfo.max_vcpu_id;
+         ++nr_vcpus, ++ptr) {
         libxl_bitmap_init(&ptr->cpumap);
         if (libxl_cpu_bitmap_alloc(ctx, &ptr->cpumap, 0))
             goto err;
         libxl_bitmap_init(&ptr->cpumap_soft);
         if (libxl_cpu_bitmap_alloc(ctx, &ptr->cpumap_soft, 0))
             goto err;
-        if (xc_vcpu_getinfo(ctx->xch, domid, *nr_vcpus_out, &vcpuinfo) == -1) {
+        if (xc_vcpu_getinfo(ctx->xch, domid, nr_vcpus, &vcpuinfo) == -1) {
             LOGED(ERROR, domid, "Getting vcpu info");
             goto err;
         }
 
-        if (xc_vcpu_getaffinity(ctx->xch, domid, *nr_vcpus_out,
+        if (xc_vcpu_getaffinity(ctx->xch, domid, nr_vcpus,
                                 ptr->cpumap.map, ptr->cpumap_soft.map,
                                 XEN_VCPUAFFINITY_SOFT|XEN_VCPUAFFINITY_HARD) == -1) {
             LOGED(ERROR, domid, "Getting vcpu affinity");
             goto err;
         }
-        ptr->vcpuid = *nr_vcpus_out;
+        ptr->vcpuid = nr_vcpus;
         ptr->cpu = vcpuinfo.cpu;
         ptr->online = !!vcpuinfo.online;
         ptr->blocked = !!vcpuinfo.blocked;
         ptr->running = !!vcpuinfo.running;
         ptr->vcpu_time = vcpuinfo.cpu_time;
     }
+    *nr_vcpus_out = nr_vcpus;
     GC_FREE;
     return ret;
 




From xen-devel-bounces@lists.xenproject.org Fri Jan 28 09:28:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 09:28:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261894.453733 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDNY5-0000qt-QW; Fri, 28 Jan 2022 09:28:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261894.453733; Fri, 28 Jan 2022 09: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 1nDNY5-0000qm-NI; Fri, 28 Jan 2022 09:28:05 +0000
Received: by outflank-mailman (input) for mailman id 261894;
 Fri, 28 Jan 2022 09:28:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NLE7=SM=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1nDNY4-0000qf-7l
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 09:28:04 +0000
Received: from mail-wr1-x433.google.com (mail-wr1-x433.google.com
 [2a00:1450:4864:20::433])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 97230064-801c-11ec-8f75-fffcc8bd4f1a;
 Fri, 28 Jan 2022 10:28:02 +0100 (CET)
Received: by mail-wr1-x433.google.com with SMTP id c23so9672374wrb.5
 for <xen-devel@lists.xenproject.org>; Fri, 28 Jan 2022 01:28:02 -0800 (PST)
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 i13sm1352067wrf.3.2022.01.28.01.28.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 28 Jan 2022 01:28:01 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 97230064-801c-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=message-id:date:mime-version:user-agent:reply-to:subject
         :content-language:to:cc:references:from:in-reply-to
         :content-transfer-encoding;
        bh=RCTNxTMrhZWWZEvNRrN69ioKirAxESZ6gzc0RPn7GsE=;
        b=SyWRLKblVIXDs7QPjT7YN+9DOZpCj0uD7aO990szh2wszb1v4ktzzucx5217Uadgsg
         /KKAQrnh7Yjni+u3onTFtITElwmjkXHrjm363YGKWKG8fAxQNHFVndUxyVN9OL73TZwP
         gMJG0PuU2ajZPxSWV5Xw0dfRp/c8oYVa8zn9Jl7+SFARnlTgWnVFC+xqsOw4ALKrGCuA
         AWZ/FzMvygWcIk30Ov+b83EuLMPBgMqz9ctEQEZeOhRpCt/n1EIlJjsG4II02h+6SPTz
         64QMj4xQx9HizDVeILi5h24SKVV4/2ftEmiRermrhzBlr8MDOp+7OZr3M9MEOj+MLwfA
         lVNg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:message-id:date:mime-version:user-agent:reply-to
         :subject:content-language:to:cc:references:from:in-reply-to
         :content-transfer-encoding;
        bh=RCTNxTMrhZWWZEvNRrN69ioKirAxESZ6gzc0RPn7GsE=;
        b=ZyTI6LyJrpYcsMrlvl/H/+U2fRjKcZeGGFxGm0uch9HljZ0Blp9+QrDcZ5XzE2UDy2
         DqE5NV16+ERJFn8ihOIpdJVDMhWWkq476FXRLZko6miT3l2h48kVTruZLx+kCA95umUm
         sIImk8Ye0CKl+gRhTbc4hb013qvyhk10UWuQ/71e88JqazrUCyV1ZXL5/puWa1gEUbD1
         HXn2zJyP50k6GMPCpA3dIKH0U/QxcOKja2YVkaQB5Jfb5mGP8ZQYd2uVFRpL+kgpk8nX
         P4YSMRU0W6fil7uWtVDRDs0opkknXN7B1Hv13nWCZMQao63DzlVI7KnN0bdksO4hjPx2
         Pn/Q==
X-Gm-Message-State: AOAM5323EpxP/Tkxd+9XAPGDW/rBl1Zh07TG40zp0raD4taaJjp+fqRy
	J/axNq80E/bF8ayTWIlamUM14SPSiHo=
X-Google-Smtp-Source: ABdhPJx6x1WauUPSQXijq6mHmfrkQPZRNeg6TR/590p0SMI164jZlEU40nbu2WQWQ7tbO50VaVhCsQ==
X-Received: by 2002:a05:6000:1203:: with SMTP id e3mr6275846wrx.221.1643362082246;
        Fri, 28 Jan 2022 01:28:02 -0800 (PST)
Message-ID: <d5734fe5-4743-8034-57e8-afbc2ce2c624@gmail.com>
Date: Fri, 28 Jan 2022 09:28:00 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Reply-To: paul@xen.org
Subject: Re: [PATCH v2 1/4] IOMMU/x86: switch to alternatives-call patching in
 further instances
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Paul Durrant <paul@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>
References: <4b7db7ae-eb84-7ecc-4334-fe5f0f7ef46b@suse.com>
 <9f6e1b13-d53f-05d3-0f88-a05bd0da03f9@suse.com>
From: "Durrant, Paul" <xadimgnik@gmail.com>
In-Reply-To: <9f6e1b13-d53f-05d3-0f88-a05bd0da03f9@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 27/01/2022 14:47, Jan Beulich wrote:
> This is, once again, to limit the number of indirect calls as much as
> possible. The only hook invocation which isn't sensible to convert is
> setup(). And of course Arm-only use sites are left alone as well.
> 
> Note regarding the introduction / use of local variables in pci.c:
> struct pci_dev's involved fields are const. This const propagates, via
> typeof(), to the local helper variables in the altcall macros. These
> helper variables are, however, used as outputs (and hence can't be
> const). In iommu_get_device_group() make use of the new local variables
> to also simplify some adjacent code.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> --- a/xen/drivers/passthrough/iommu.c
> +++ b/xen/drivers/passthrough/iommu.c
> @@ -198,7 +198,7 @@ int iommu_domain_init(struct domain *d,
>           return ret;
>   
>       hd->platform_ops = iommu_get_ops();
> -    ret = hd->platform_ops->init(d);
> +    ret = iommu_call(hd->platform_ops, init, d);
>       if ( ret || is_system_domain(d) )
>           return ret;
>   
> @@ -233,7 +233,7 @@ void __hwdom_init iommu_hwdom_init(struc
>   
>       register_keyhandler('o', &iommu_dump_page_tables, "dump iommu page tables", 0);
>   
> -    hd->platform_ops->hwdom_init(d);
> +    iommu_vcall(hd->platform_ops, hwdom_init, d);
>   }
>   
>   static void iommu_teardown(struct domain *d)
> @@ -576,7 +576,7 @@ int iommu_get_reserved_device_memory(iom
>       if ( !ops->get_reserved_device_memory )
>           return 0;
>   
> -    return ops->get_reserved_device_memory(func, ctxt);
> +    return iommu_call(ops, get_reserved_device_memory, func, ctxt);
>   }
>   
>   bool_t iommu_has_feature(struct domain *d, enum iommu_feature feature)
> @@ -603,7 +603,7 @@ static void iommu_dump_page_tables(unsig
>               continue;
>           }
>   
> -        dom_iommu(d)->platform_ops->dump_page_tables(d);
> +        iommu_vcall(dom_iommu(d)->platform_ops, dump_page_tables, d);
>       }
>   
>       rcu_read_unlock(&domlist_read_lock);
> --- a/xen/drivers/passthrough/pci.c
> +++ b/xen/drivers/passthrough/pci.c
> @@ -861,15 +861,15 @@ static int deassign_device(struct domain
>           devfn += pdev->phantom_stride;
>           if ( PCI_SLOT(devfn) != PCI_SLOT(pdev->devfn) )
>               break;
> -        ret = hd->platform_ops->reassign_device(d, target, devfn,
> -                                                pci_to_dev(pdev));
> +        ret = iommu_call(hd->platform_ops, reassign_device, d, target, devfn,
> +                         pci_to_dev(pdev));
>           if ( ret )
>               goto out;
>       }
>   
>       devfn = pdev->devfn;
> -    ret = hd->platform_ops->reassign_device(d, target, devfn,
> -                                            pci_to_dev(pdev));
> +    ret = iommu_call(hd->platform_ops, reassign_device, d, target, devfn,
> +                     pci_to_dev(pdev));
>       if ( ret )
>           goto out;
>   
> @@ -1300,7 +1300,7 @@ static int iommu_add_device(struct pci_d
>   {
>       const struct domain_iommu *hd;
>       int rc;
> -    u8 devfn;
> +    unsigned int devfn = pdev->devfn;
>   
>       if ( !pdev->domain )
>           return -EINVAL;
> @@ -1311,16 +1311,16 @@ static int iommu_add_device(struct pci_d
>       if ( !is_iommu_enabled(pdev->domain) )
>           return 0;
>   
> -    rc = hd->platform_ops->add_device(pdev->devfn, pci_to_dev(pdev));
> +    rc = iommu_call(hd->platform_ops, add_device, devfn, pci_to_dev(pdev));
>       if ( rc || !pdev->phantom_stride )
>           return rc;
>   
> -    for ( devfn = pdev->devfn ; ; )
> +    for ( ; ; )
>       {
>           devfn += pdev->phantom_stride;
>           if ( PCI_SLOT(devfn) != PCI_SLOT(pdev->devfn) )
>               return 0;
> -        rc = hd->platform_ops->add_device(devfn, pci_to_dev(pdev));
> +        rc = iommu_call(hd->platform_ops, add_device, devfn, pci_to_dev(pdev));
>           if ( rc )
>               printk(XENLOG_WARNING "IOMMU: add %pp failed (%d)\n",
>                      &pdev->sbdf, rc);
> @@ -1341,7 +1341,7 @@ static int iommu_enable_device(struct pc
>            !hd->platform_ops->enable_device )
>           return 0;
>   
> -    return hd->platform_ops->enable_device(pci_to_dev(pdev));
> +    return iommu_call(hd->platform_ops, enable_device, pci_to_dev(pdev));
>   }
>   
>   static int iommu_remove_device(struct pci_dev *pdev)
> @@ -1363,7 +1363,8 @@ static int iommu_remove_device(struct pc
>           devfn += pdev->phantom_stride;
>           if ( PCI_SLOT(devfn) != PCI_SLOT(pdev->devfn) )
>               break;
> -        rc = hd->platform_ops->remove_device(devfn, pci_to_dev(pdev));
> +        rc = iommu_call(hd->platform_ops, remove_device, devfn,
> +                        pci_to_dev(pdev));
>           if ( !rc )
>               continue;
>   
> @@ -1371,7 +1372,9 @@ static int iommu_remove_device(struct pc
>           return rc;
>       }
>   
> -    return hd->platform_ops->remove_device(pdev->devfn, pci_to_dev(pdev));
> +    devfn = pdev->devfn;
> +
> +    return iommu_call(hd->platform_ops, remove_device, devfn, pci_to_dev(pdev));
>   }
>   
>   static int device_assigned(u16 seg, u8 bus, u8 devfn)
> @@ -1421,7 +1424,8 @@ static int assign_device(struct domain *
>   
>       pdev->fault.count = 0;
>   
> -    if ( (rc = hd->platform_ops->assign_device(d, devfn, pci_to_dev(pdev), flag)) )
> +    if ( (rc = iommu_call(hd->platform_ops, assign_device, d, devfn,
> +                          pci_to_dev(pdev), flag)) )
>           goto done;
>   
>       for ( ; pdev->phantom_stride; rc = 0 )
> @@ -1429,7 +1433,8 @@ static int assign_device(struct domain *
>           devfn += pdev->phantom_stride;
>           if ( PCI_SLOT(devfn) != PCI_SLOT(pdev->devfn) )
>               break;
> -        rc = hd->platform_ops->assign_device(d, devfn, pci_to_dev(pdev), flag);
> +        rc = iommu_call(hd->platform_ops, assign_device, d, devfn,
> +                        pci_to_dev(pdev), flag);
>       }
>   
>    done:
> @@ -1457,24 +1462,24 @@ static int iommu_get_device_group(
>       if ( !is_iommu_enabled(d) || !ops->get_device_group_id )
>           return 0;
>   
> -    group_id = ops->get_device_group_id(seg, bus, devfn);
> +    group_id = iommu_call(ops, get_device_group_id, seg, bus, devfn);
>   
>       pcidevs_lock();
>       for_each_pdev( d, pdev )
>       {
> -        if ( (pdev->seg != seg) ||
> -             ((pdev->bus == bus) && (pdev->devfn == devfn)) )
> +        unsigned int b = pdev->bus;
> +        unsigned int df = pdev->devfn;
> +
> +        if ( (pdev->seg != seg) || ((b == bus) && (df == devfn)) )
>               continue;
>   
> -        if ( xsm_get_device_group(XSM_HOOK, (seg << 16) | (pdev->bus << 8) | pdev->devfn) )
> +        if ( xsm_get_device_group(XSM_HOOK, (seg << 16) | (b << 8) | df) )
>               continue;
>   
> -        sdev_id = ops->get_device_group_id(seg, pdev->bus, pdev->devfn);
> +        sdev_id = iommu_call(ops, get_device_group_id, seg, b, df);
>           if ( (sdev_id == group_id) && (i < max_sdevs) )
>           {
> -            bdf = 0;
> -            bdf |= (pdev->bus & 0xff) << 16;
> -            bdf |= (pdev->devfn & 0xff) << 8;
> +            bdf = (b << 16) | (df << 8);

Don't we have a macro for this now? Probably best to start using it 
whilst modifying the code.

Anyway...

Reviewed-by: Paul Durrant <paul@xen.org>

>   
>               if ( unlikely(copy_to_guest_offset(buf, i, &bdf, 1)) )
>               {
> --- a/xen/drivers/passthrough/x86/iommu.c
> +++ b/xen/drivers/passthrough/x86/iommu.c
> @@ -145,7 +145,7 @@ unsigned int iommu_read_apic_from_ire(un
>   int __init iommu_setup_hpet_msi(struct msi_desc *msi)
>   {
>       const struct iommu_ops *ops = iommu_get_ops();
> -    return ops->setup_hpet_msi ? ops->setup_hpet_msi(msi) : -ENODEV;
> +    return ops->setup_hpet_msi ? iommu_call(ops, setup_hpet_msi, msi) : -ENODEV;
>   }
>   
>   void __hwdom_init arch_iommu_check_autotranslated_hwdom(struct domain *d)
> @@ -406,7 +406,7 @@ int iommu_free_pgtables(struct domain *d
>        * Pages will be moved to the free list below. So we want to
>        * clear the root page-table to avoid any potential use after-free.
>        */
> -    hd->platform_ops->clear_root_pgtable(d);
> +    iommu_vcall(hd->platform_ops, clear_root_pgtable, d);
>   
>       while ( (pg = page_list_remove_head(&hd->arch.pgtables.list)) )
>       {
> 



From xen-devel-bounces@lists.xenproject.org Fri Jan 28 09:32:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 09:32:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261897.453743 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDNcJ-0002G5-D4; Fri, 28 Jan 2022 09:32:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261897.453743; Fri, 28 Jan 2022 09:32: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 1nDNcJ-0002Fy-9d; Fri, 28 Jan 2022 09:32:27 +0000
Received: by outflank-mailman (input) for mailman id 261897;
 Fri, 28 Jan 2022 09:32:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NLE7=SM=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1nDNcH-0002Fs-8s
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 09:32:25 +0000
Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com
 [2a00:1450:4864:20::432])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3306d439-801d-11ec-8f75-fffcc8bd4f1a;
 Fri, 28 Jan 2022 10:32:24 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id m14so9434012wrg.12
 for <xen-devel@lists.xenproject.org>; Fri, 28 Jan 2022 01:32:24 -0800 (PST)
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 t16sm1600627wmq.21.2022.01.28.01.32.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 28 Jan 2022 01:32:23 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3306d439-801d-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=message-id:date:mime-version:user-agent:reply-to:subject
         :content-language:to:cc:references:from:in-reply-to
         :content-transfer-encoding;
        bh=JRo1T7L6MW/uOzZekDbIeAx5PEsC9wF7g3b0GyFOUz8=;
        b=RwQ2Sl635Q9EooFA16w7vPJnvrNWJwwIrHslEeOqJahHHnERcXo0TdZWZsrYM6XYaV
         XcTw81EXb8+qTjUs5og452xp0c9eCLDa8n6EOLd4DwUaETJRaPt4iRfMddj9qikIkmRi
         a2ZoJQGFZIOrCqQft62FeJ+OKjzSd9xTgd7q4JmsNrkKvgd6iFFtMQLnrWlfwh5ywulQ
         r6BLLshOl6of9QGt/2fOokQVCbZEvfAO5HXybm78zQD+x5mi2CV+wAMYFEXISNsVns/Z
         4OUsXeFu1VO41hrcTvEodrsMo0QmIOZeAwqfBPxs7+gfcA92aGqqGX0n8fUvgRoCL/Qf
         mSYw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:message-id:date:mime-version:user-agent:reply-to
         :subject:content-language:to:cc:references:from:in-reply-to
         :content-transfer-encoding;
        bh=JRo1T7L6MW/uOzZekDbIeAx5PEsC9wF7g3b0GyFOUz8=;
        b=kqXuS7TIHFcUEZ6Qor9dO51IxYRAkFGTmStpu8/i34gL9lE170f35985mz7J/LDTh/
         G7ZvlccqDhAd4TnMAAAQLAF2t5s6/s5vy4AOB0tq4xke7TpGxI8uf5h9biDld6QHzTGi
         Yra2bPL/W8xfXbXNkj66Imz0yXQfke5dDuDC71wP+SJQc8ueXMtKKKSRI3ML0DmDkZ7p
         X7ZbChmAcT4d2hElJPwTrBmTJxSpVS2LxC3S/hSyvw1A4UzV03WOuaaPp/3XQ5/+Iv15
         pQsqDDG6qijQj899i8VGqLOLlhWrI2oM1YDV0V9RULI0iLv2NH1+kh8go5Acz4W2YYOd
         PcCQ==
X-Gm-Message-State: AOAM532IGyqQ+ezI8raDruGdcdJyoioNU+TptDXiTuDklzyRhEqy+Y4E
	XXLaRz7+x3ROnYd/guuhktc=
X-Google-Smtp-Source: ABdhPJzcEgDCfQgyM6LJMQA0GffUJySlPCdLQqCoNoo6jCDnwjh9GVjGF5J9dyxlQ8kXiNRtyviYQQ==
X-Received: by 2002:a05:6000:1a8c:: with SMTP id f12mr6040520wry.511.1643362343916;
        Fri, 28 Jan 2022 01:32:23 -0800 (PST)
Message-ID: <982ac98a-966a-c996-882b-1bddd7423c0b@gmail.com>
Date: Fri, 28 Jan 2022 09:32:22 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Reply-To: paul@xen.org
Subject: Re: [PATCH v2 2/4] VT-d / x86: re-arrange cache syncing
Content-Language: en-US
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>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <4b7db7ae-eb84-7ecc-4334-fe5f0f7ef46b@suse.com>
 <54c4539f-0bed-c42d-aa8e-4e31c45c4245@suse.com>
From: "Durrant, Paul" <xadimgnik@gmail.com>
In-Reply-To: <54c4539f-0bed-c42d-aa8e-4e31c45c4245@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 27/01/2022 14:48, Jan Beulich wrote:
> The actual function should always have lived in core x86 code; move it
> there, replacing get_cache_line_size() by readily available (except very
> early during boot; see the code comment) data. Also rename the function.
> 
> Drop the respective IOMMU hook, (re)introducing a respective boolean
> instead. Replace a true and an almost open-coding instance of
> iommu_sync_cache().
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Paul Durrant <paul@xen.org>


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 09:33:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 09:33:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261900.453754 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDNdI-0002pL-Mn; Fri, 28 Jan 2022 09:33:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261900.453754; Fri, 28 Jan 2022 09:33:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDNdI-0002pE-Jt; Fri, 28 Jan 2022 09:33:28 +0000
Received: by outflank-mailman (input) for mailman id 261900;
 Fri, 28 Jan 2022 09:33:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NLE7=SM=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1nDNdG-0002ow-Oc
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 09:33:26 +0000
Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com
 [2a00:1450:4864:20::435])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 57cc90b5-801d-11ec-8eb8-a37418f5ba1a;
 Fri, 28 Jan 2022 10:33:25 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id a13so9671526wrh.9
 for <xen-devel@lists.xenproject.org>; Fri, 28 Jan 2022 01:33:25 -0800 (PST)
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 j2sm1652268wms.2.2022.01.28.01.33.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 28 Jan 2022 01:33:25 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 57cc90b5-801d-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=message-id:date:mime-version:user-agent:reply-to:subject
         :content-language:to:cc:references:from:in-reply-to
         :content-transfer-encoding;
        bh=plhXkEzt/U4kKfasM9VBlGsAddywk/NZy1UIU6M0Dcc=;
        b=SN9XjuVt4SQPxCgWSLSaG+9QiJdi7C/7x4OhMtoC32vj8ZLWq52rUAN35CpEETSxig
         ey00hCL9j2QWAaE8sbfqpvv45sFh/fr36n5MOX/g6iyVXPAxd88cS1dOp02lHB3qW6se
         Pq2qWBxCSNU33gNWcfIZsr6e6jY2uJ8bJD39fS8K8hoNZlWRY9pstW1arr5iVrp5gxRd
         IY2or7Cj6hw3APqZuYKfqwgYe10TiZiZFCcfa/B7BhTayVspuHD0LYSJk6UisylNeoVV
         dUQ5zA8II+qEmF3IuZYl1uwTxivqpUJKHfUx0qmRPzJ0mfJR9OXR1+5fUlES03C2AlzG
         NLvA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:message-id:date:mime-version:user-agent:reply-to
         :subject:content-language:to:cc:references:from:in-reply-to
         :content-transfer-encoding;
        bh=plhXkEzt/U4kKfasM9VBlGsAddywk/NZy1UIU6M0Dcc=;
        b=PBgKh1n2++5uszUL42H1ILRBREFi/wVQcjFG6oyOdMNELAGpOwmnk3UB6cM4k5+hJh
         lozhvfCGSJyuj8eD+OnAwd33ud717MB9B8R0PBIPmRTLmQeIiEv31iQ20TVs6IreupRu
         KCrDqEjJ9MXG8yA4wB++qyhUUbX1Ny/xEZ1ME5wHNIFZT1lwzE2NDk4u8PqnZ+KX9YVJ
         ZdBoe3eGLNHrBy58L+AaJHr1fr2mrafrf4jZa/RJh69sf100ZAoSzfPqXt7TTGy36wC3
         FWAGKQj7HhK83q2avlHbriKMxFmoYpyi2ZKoYVYERftsJ5szNceBYoDKJFsBKHapIGBq
         BJjA==
X-Gm-Message-State: AOAM532kCixyLgygK+NK/Hrc+kT9FtnYEwrYTRQcAn3sMe4r9m592T9P
	VnLVhRzR49rd8qwZTAo8rRc=
X-Google-Smtp-Source: ABdhPJzVNDebvB0BksOvP2AeoIfSOcAj6W1AvoQPWcqABnzeTPtP/qjMjYQiKoGx5lbyfqb2slzJgg==
X-Received: by 2002:adf:f302:: with SMTP id i2mr6414441wro.114.1643362405426;
        Fri, 28 Jan 2022 01:33:25 -0800 (PST)
Message-ID: <a62cbd59-f968-0bb4-b261-8ad21c19c593@gmail.com>
Date: Fri, 28 Jan 2022 09:33:24 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Reply-To: paul@xen.org
Subject: Re: [PATCH v2 3/4] VT-d: replace flush_all_cache()
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Paul Durrant <paul@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Kevin Tian <kevin.tian@intel.com>
References: <4b7db7ae-eb84-7ecc-4334-fe5f0f7ef46b@suse.com>
 <2a39cb48-7d38-6d7e-0557-fd93d377a31b@suse.com>
From: "Durrant, Paul" <xadimgnik@gmail.com>
In-Reply-To: <2a39cb48-7d38-6d7e-0557-fd93d377a31b@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 27/01/2022 14:49, Jan Beulich wrote:
> Let's use infrastructure we have available instead of an open-coded
> wbinvd() invocation.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Paul Durrant <paul@xen.org>


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 09:37:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 09:37:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261907.453766 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDNhV-0003gE-DN; Fri, 28 Jan 2022 09:37:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261907.453766; Fri, 28 Jan 2022 09: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 1nDNhV-0003g7-AJ; Fri, 28 Jan 2022 09:37:49 +0000
Received: by outflank-mailman (input) for mailman id 261907;
 Fri, 28 Jan 2022 09:37:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NLE7=SM=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1nDNhU-0003g1-4n
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 09:37:48 +0000
Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com
 [2a00:1450:4864:20::429])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f381b79e-801d-11ec-8eb8-a37418f5ba1a;
 Fri, 28 Jan 2022 10:37:47 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id u15so9732743wrt.3
 for <xen-devel@lists.xenproject.org>; Fri, 28 Jan 2022 01:37:47 -0800 (PST)
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 u7sm1513104wml.7.2022.01.28.01.37.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 28 Jan 2022 01:37:46 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f381b79e-801d-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=message-id:date:mime-version:user-agent:reply-to:subject
         :content-language:to:cc:references:from:in-reply-to
         :content-transfer-encoding;
        bh=CUBUlllwIrtjoiltYib61AlCPOQmSESy3Oh4tXfXE4I=;
        b=OB9ibjvzkni5RBwUO4lNS96aUhXkp8XdjY8cZRHLgGpJVWnJAT7sK/umILoNZa+BtB
         /T5ltyofZu56S0D9GoWQT7iWpmNfGq7erZVit56FamcG//3B3IbgMEmN7B8wET5AY4EQ
         3tado1du78/IJR92WCNqXdQ3RRMbzlDeBd5CovKZAbI7azhUkBMhyinSgpCtlHu5PRHF
         imBqdueYeBL04YoViybVkx7nvz7DJnV6LbWsLmuxEMH3GPy86ZkfVCrxv3NXPqiyhX20
         pK3SC/Zix8aLj//tpxJ5pqcnTEhnYQL0SmY0uxRWTRWZEqnE8pAZ0x8ut9mia4eJi1lp
         eOXw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:message-id:date:mime-version:user-agent:reply-to
         :subject:content-language:to:cc:references:from:in-reply-to
         :content-transfer-encoding;
        bh=CUBUlllwIrtjoiltYib61AlCPOQmSESy3Oh4tXfXE4I=;
        b=TVgLN6PUWWZpkZROEt2jhI0kKOaL0tD1j2fhj/9Ikndw9VYcpr1hiPpfqcFvdCm3Wb
         DCRVwYPgWsC8uMPLEVLniN1/Gu/Uk0pU0USIELZ/4JnBN2YF+YxfNyMAg4rNTJlWZMZG
         fvj2q75poW/aTvBpn/rPEhfkSimTcP5VM9MfitqgI+oCLY15A7okawgT+k2NoZV8HsFT
         mCR08f8SB3nBkXx/SgkhIIBJvV3JTd4eLjfOabFXRsGs5gnyK9N1hmoKxLVqz4GzKmxZ
         ts74FqI42U3PqN2AM5DBDM/5PGp9x18nf1Ym4pkncwbgwlrfM9VeyQLeFVnyS5ACJeAW
         NerQ==
X-Gm-Message-State: AOAM532b6kHQRzoEta6rIoF4LW2OsgCG3Ds+oOIgp6zx13bDsHkTsv83
	jw39w9lBKSdB4lVuVjmvDNET8lt1vVY=
X-Google-Smtp-Source: ABdhPJy8mj/F0IOi5tdi+3HZPtn+Of86shguhs7sfkK7R38olNhHSliEBWyGeiq62IDU9C+sydBp7Q==
X-Received: by 2002:adf:b610:: with SMTP id f16mr6330578wre.266.1643362666715;
        Fri, 28 Jan 2022 01:37:46 -0800 (PST)
Message-ID: <e39b1ad8-75b0-b1f4-b59a-49da2d1cf320@gmail.com>
Date: Fri, 28 Jan 2022 09:37:45 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Reply-To: paul@xen.org
Subject: Re: [PATCH v2 4/4] IOMMU/PCI: propagate get_device_group_id() failure
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Paul Durrant <paul@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Kevin Tian <kevin.tian@intel.com>
References: <4b7db7ae-eb84-7ecc-4334-fe5f0f7ef46b@suse.com>
 <998f6587-d64a-7336-a44b-d05ca486b4bc@suse.com>
From: "Durrant, Paul" <xadimgnik@gmail.com>
In-Reply-To: <998f6587-d64a-7336-a44b-d05ca486b4bc@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 27/01/2022 14:49, Jan Beulich wrote:
> The VT-d hook can indicate an error, which shouldn't be ignored. Convert
> the hook's return value to a proper error code, and let that bubble up.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Paul Durrant <paul@xen.org>


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 09:44:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 09:44:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261911.453777 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDNoL-00055i-4p; Fri, 28 Jan 2022 09:44:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261911.453777; Fri, 28 Jan 2022 09:44:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDNoL-00055b-1s; Fri, 28 Jan 2022 09:44:53 +0000
Received: by outflank-mailman (input) for mailman id 261911;
 Fri, 28 Jan 2022 09:44: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 1nDNoJ-00055R-M9; Fri, 28 Jan 2022 09:44: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 1nDNoJ-0001Uf-Jk; Fri, 28 Jan 2022 09:44: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 1nDNoJ-0003fQ-2r; Fri, 28 Jan 2022 09:44:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nDNoJ-0001cj-2B; Fri, 28 Jan 2022 09:44:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=riBB/pUZrUDo9NO00s/DbyUn63NnHhzOcWAcvMJKqHU=; b=Z1fA45SNLcodAg5BKwNIa2Cqlv
	8errLxU/MnTU0YA80ZhDlnqn6KrFn8UI9l9AhM6QN3h6P5qkA9IoXfpdm+t35AxrbANvC9yph+/JV
	aJZ8J7Ex1EbQMF53eqxsJRG2ppdgyCPUrtgX8MZqX+ik6Eqp0XG4PAElohcNY13ZdwK4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167929-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 167929: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=a867f3a7042ae0b4c1189bececbe72aa8a8a8e27
X-Osstest-Versions-That:
    ovmf=6777e673839a510aaa62a48514a4223da7d3bba2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 28 Jan 2022 09:44:51 +0000

flight 167929 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167929/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 a867f3a7042ae0b4c1189bececbe72aa8a8a8e27
baseline version:
 ovmf                 6777e673839a510aaa62a48514a4223da7d3bba2

Last test of basis   167919  2022-01-27 13:10:49 Z    0 days
Testing same since   167929  2022-01-28 02:41:45 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   6777e67383..a867f3a704  a867f3a7042ae0b4c1189bececbe72aa8a8a8e27 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 09:47:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 09:47:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261919.453788 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDNqT-0005qF-JE; Fri, 28 Jan 2022 09:47:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261919.453788; Fri, 28 Jan 2022 09:47: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 1nDNqT-0005q8-G1; Fri, 28 Jan 2022 09:47:05 +0000
Received: by outflank-mailman (input) for mailman id 261919;
 Fri, 28 Jan 2022 09:47: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 1nDNqR-0005q0-Ik
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 09:47: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 1nDNqQ-0001ZL-8R; Fri, 28 Jan 2022 09:47:02 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233] helo=[10.85.40.172])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nDNqQ-0002dm-1v; Fri, 28 Jan 2022 09:47:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=IghY+6njR2OlWa7nH45RTM65V9UCpY5tSlOOv/KqYPc=; b=fvApcyW0kjsGA7S9Sq0FoFrjsp
	vutOTwU6kTD/1TwQO+zEqP1z5GlbIH31pJqAlVSDMRcGFS46CzSYNmCULrIYVd5IsWCW7W8cPi3Db
	sbh8s78DqCp+YWt8u6Qy1ako1nndtjQCzazggxcakmuZxmJM2Xuakr+T1MuWZjb0xaUo=;
Message-ID: <9880cf7c-962f-8a32-483c-2bf5889d3273@xen.org>
Date: Fri, 28 Jan 2022 09:46:59 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [XEN v1] xen/arm: io: Check ESR_EL2.ISV != 0 before searching for
 a MMIO handler
To: Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien.grall.oss@gmail.com>
Cc: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>,
 xen-devel <xen-devel@lists.xenproject.org>, stefanos@xilinx.com,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <20220126165827.61168-1-ayankuma@xilinx.com>
 <CAJ=z9a1KjOAeR4vpRQGA_sYSvx1h331NKim2bgG8jyru94Beow@mail.gmail.com>
 <eeedbb72-d881-363d-c862-234b705eaec7@xilinx.com>
 <CAJ=z9a0VEqr_ODQZvdsO82PiOpHt5-TVc4JWE5pJCeNYPh+XHg@mail.gmail.com>
 <bee7ea7a-6d3d-bf3c-4b5f-d40deb601867@xilinx.com>
 <2064878e-4ef1-f0a3-1476-7175c2c8d29e@xen.org>
 <bcd28a18-80ea-0987-6867-5c6fc634a8a5@xilinx.com>
 <f6853134-8b65-5ffb-b39a-62ed26b3f499@xen.org>
 <alpine.DEB.2.22.394.2201271327430.27308@ubuntu-linux-20-04-desktop>
 <CAJ=z9a2Sp6w0b21p96YHx4w_m0jAbYJ4v=cVar-1nPeL7SotZw@mail.gmail.com>
 <CAJ=z9a1HML30aGn52GY34g-QbvLPHep7j=H-UDxsH1+B0CEb3Q@mail.gmail.com>
 <alpine.DEB.2.22.394.2201271513330.27308@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2201271513330.27308@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 28/01/2022 01:20, Stefano Stabellini wrote:
> On Thu, 27 Jan 2022, Julien Grall wrote:
>> On Thu, 27 Jan 2022 at 23:05, Julien Grall <julien.grall.oss@gmail.com> wrote:
>>>
>>> On Thu, 27 Jan 2022 at 22:40, Stefano Stabellini <sstabellini@kernel.org> wrote:
>>>> I am with you on both points.
>>>>
>>>> One thing I noticed is that the code today is not able to deal with
>>>> IO_UNHANDLED for MMIO regions handled by IOREQ servers or Xen MMIO
>>>> emulator handlers. p2m_resolve_translation_fault and try_map_mmio are
>>>> called after try_handle_mmio returns IO_UNHANDLED but try_handle_mmio is
>>>> not called a second time (or am I mistaken?)
>>>
>>> Why would you need it? If try_mmio_fault() doesn't work the first time, then
>>
>> Sorry I meant try_handle_mmio().
>>
>>> it will not work the second it.
> 
> I think I explained myself badly, I'll try again below.
> 
> 
>>>> Another thing I noticed is that currently find_mmio_handler and
>>>> try_fwd_ioserv expect dabt to be already populated and valid so it would
>>>> be better if we could get there only when dabt.valid.
>>>>
>>>> With these two things in mind, I think maybe the best thing to do is to
>>>> change the code in do_trap_stage2_abort_guest slightly so that
>>>> p2m_resolve_translation_fault and try_map_mmio are called first when
>>>> !dabt.valid.
>>>
>>> An abort will mostly likely happen because of emulated I/O. If we call
>>> p2m_resolve_translation_fault() and try_map_mmio() first, then it means
>>> the processing will take longer than necessary for the common case.
>>>
>>> So I think we want to keep the order as it is. I.e first trying the MMIO
>>> and then falling back to the less likely reason for a trap.
> 
> Yeah I thought about it as well. The idea would be that if dabt.valid is
> set then we leave things as they are (we call try_handle_mmio first) but
> if dabt.valid is not set (it is not valid) then we skip the
> try_handle_mmio() call because it wouldn't succeed anyway and go
> directly to p2m_resolve_translation_fault() and try_map_mmio().
> 
> If either of them work (also reading what you wrote about it) then we
> return immediately.

Ok. So the assumption is data abort with invalid syndrome would mostly 
likely be because of a fault handled by p2m_resolve_translation_fault().

I think this makes sense. However, I am not convinced we can currently 
safely call try_map_mmio() before try_handle_mmio(). This is because the 
logic in try_map_mmio() is quite fragile and we may mistakenly map an 
emulated region.

Similarly, we can't call try_map_mmio() before 
p2m_resolve_translation_fault() because a transient fault may be
misinterpreted.

I think we may be able to harden try_map_mmio() by checking if the I/O 
region is emulated. But this will need to be fully thought through first.

> 
> If not, then we call decode_instruction from do_trap_stage2_abort_guest
> and try again. The second time dabt.valid is set so we end up calling
> try_handle_mmio() as usual.

With the approach below, you will also end up to call 
p2m_resolve_translation_fault() and try_map_mmio() a second time if 
try_handle_mmio() fails.

> 
> Just for clarity let me copy/paste the relevant code, apologies if it
> was already obvious to you -- I got the impression my suggestion wasn't
> very clear.
> 
> 
> 
> +again:
> +        if ( is_data && hsr.dabt.valid )
>          {
>              enum io_state state = try_handle_mmio(regs, hsr, gpa);
> 
>              switch ( state )
>              {
>              case IO_ABORT:
>                  goto inject_abt;
>              case IO_HANDLED:
>                  advance_pc(regs, hsr);
>                  return;
>              case IO_RETRY:
>                  /* finish later */
>                  return;
>              case IO_UNHANDLED:
>                  /* IO unhandled, try another way to handle it. */
>                  break;
>              }
>          }
> 
>          /*
>           * First check if the translation fault can be resolved by the
>           * P2M subsystem. If that's the case nothing else to do.
>           */
>          if ( p2m_resolve_translation_fault(current->domain,
>                                             gaddr_to_gfn(gpa)) )
>              return;
> 
>          if ( is_data && try_map_mmio(gaddr_to_gfn(gpa)) )
>              return;
> 
> +        if ( !hsr.dabt.valid )
One more thing I noticed, a stage 2 fault can also happen on an access 
made for a stage 1 translation walk. In this case, I think we don't want 
to decode the instruction.

So this would need to be !hsr.dabt.valid && !hsr.dabt.s1ptw. Depending 
on which patch we go with, this would also need to be adjusted in the 
other one as well.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 10:12:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 10:12:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261923.453799 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDOES-0000tn-KP; Fri, 28 Jan 2022 10:11:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261923.453799; Fri, 28 Jan 2022 10: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 1nDOES-0000tg-Fu; Fri, 28 Jan 2022 10:11:52 +0000
Received: by outflank-mailman (input) for mailman id 261923;
 Fri, 28 Jan 2022 10:11:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=P4Sn=SM=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1nDOEQ-0000s3-BV
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 10:11:50 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2060c.outbound.protection.outlook.com
 [2a01:111:f400:7d00::60c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id af0a6179-8022-11ec-8f75-fffcc8bd4f1a;
 Fri, 28 Jan 2022 11:11:46 +0100 (CET)
Received: from DB6PR0202CA0034.eurprd02.prod.outlook.com (2603:10a6:4:a5::20)
 by AS8PR08MB7125.eurprd08.prod.outlook.com (2603:10a6:20b:400::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.18; Fri, 28 Jan
 2022 10:11:30 +0000
Received: from DB5EUR03FT003.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:a5:cafe::4a) by DB6PR0202CA0034.outlook.office365.com
 (2603:10a6:4:a5::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17 via Frontend
 Transport; Fri, 28 Jan 2022 10:11:30 +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.4930.15 via Frontend Transport; Fri, 28 Jan 2022 10:11:30 +0000
Received: ("Tessian outbound 18e50a6f0513:v113");
 Fri, 28 Jan 2022 10:11:30 +0000
Received: from c5a7acb58fdd.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 DF419B7E-F674-479A-8B7B-ED30EFADF423.1; 
 Fri, 28 Jan 2022 10:11:23 +0000
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c5a7acb58fdd.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 28 Jan 2022 10:11:23 +0000
Received: from AM5PR0801MB2020.eurprd08.prod.outlook.com
 (2603:10a6:203:4c::14) by DBBPR08MB5961.eurprd08.prod.outlook.com
 (2603:10a6:10:203::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.18; Fri, 28 Jan
 2022 10:11:22 +0000
Received: from AM5PR0801MB2020.eurprd08.prod.outlook.com
 ([fe80::7de6:3b44:c82d:a94f]) by AM5PR0801MB2020.eurprd08.prod.outlook.com
 ([fe80::7de6:3b44:c82d:a94f%3]) with mapi id 15.20.4930.019; Fri, 28 Jan 2022
 10:11:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: af0a6179-8022-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fuG/PccR1TLXTUgY3vQA/s5khnbwFBufd/AeSVguk7Y=;
 b=5PRvUz1QjzHmMMzADs758qJ3qtAw65ephlzopbw7bMt8aaCjsdVtMNYy3d3W4F5mF8A1taNi1bWABX2Kl5bN8uwE15wkidZ5Yikk9zUjjZ4Qdactjh6FLcr8/pv4qvTo9FsS9kt9Z3KVOkNRV6PDei7vfrpf7JRVy7wiF9DW8PI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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: 35d38b24fbccdea4
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=k/jTVvhz3Eyw3kIzXZ6OmjYlOtE02bXufzAAb86WNPChiLvwS88sAl4QSUgY/Ni7ZEssFzuOuFP9D59mVHGkOzfJijU840+k8HsiHp0hDUUpxWd706LSmMKJabgH9SzcM4umsdWt/X5yrtfSVDeFlVyorU+ZtFU6VFla5L/mA4koKdu/wUGIHi5z65L0A7D7k+s1wpNRJFn8425JukpYsNqWRL+1qDCN/lYMug4u74UCx58tRhxZEETF9In9X4paCISPsToLGba+vAj2hegIlmbYCPtF+7zm2/2tb0HK5rR92PUy02EIdDnY7q9LDtsR+T5Mk0kGIt79Epl7/n/Pgw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fuG/PccR1TLXTUgY3vQA/s5khnbwFBufd/AeSVguk7Y=;
 b=jmB3AzJc5MrDYdT3GCqDMbn033AJxEQS35BFh1E4SmZVCaIE25ilyw5wKiRkivUX3i8phtnvRyujNzjeFVNX+SUWdBns+DPtiXzsjgScVbxfOYz7oyk47Z5QDLDlNtPbUUpTiPSgXaaH+UyZHlxpvmgtdPQ5M+39b5u0DzjfsK1XsbxBXvq8UGyR+S5cmOl16OzOMV2I6C88SUohLDxlJEM+Q6EuiRg9kTzvM3a6GMDoWEBMp5avHboQPv43QvCGRDJw1CiIZZ6e5HtOsZ62zGFhCQ7pyYK3nd5pH5pmz5yrlXkrtRUg/vI70Z6AWzrTvy6tv3sulI0pkVBH4iXU1Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fuG/PccR1TLXTUgY3vQA/s5khnbwFBufd/AeSVguk7Y=;
 b=5PRvUz1QjzHmMMzADs758qJ3qtAw65ephlzopbw7bMt8aaCjsdVtMNYy3d3W4F5mF8A1taNi1bWABX2Kl5bN8uwE15wkidZ5Yikk9zUjjZ4Qdactjh6FLcr8/pv4qvTo9FsS9kt9Z3KVOkNRV6PDei7vfrpf7JRVy7wiF9DW8PI=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Oleksandr Tyshchenko <olekstysh@gmail.com>
CC: xen-devel <xen-devel@lists.xenproject.org>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>, Oleksandr Andrushchenko
	<oleksandr_andrushchenko@epam.com>
Subject: Re: [PATCH V3 2/2] iommu/arm: Remove code duplication in all IOMMU
 drivers
Thread-Topic: [PATCH V3 2/2] iommu/arm: Remove code duplication in all IOMMU
 drivers
Thread-Index: AQHYE7gPNcv17HiKsEavKTW33N9/cqx4N1uA
Date: Fri, 28 Jan 2022 10:11:22 +0000
Message-ID: <D2AF70F5-594B-42AE-82DB-CA10F3B1501B@arm.com>
References: <1643313352-29940-1-git-send-email-olekstysh@gmail.com>
 <1643313352-29940-3-git-send-email-olekstysh@gmail.com>
In-Reply-To: <1643313352-29940-3-git-send-email-olekstysh@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: b45807e0-e050-4e73-43b1-08d9e2468dd6
x-ms-traffictypediagnostic:
	DBBPR08MB5961:EE_|DB5EUR03FT003:EE_|AS8PR08MB7125:EE_
X-Microsoft-Antispam-PRVS:
	<AS8PR08MB7125AE395D845CB00A746839FC229@AS8PR08MB7125.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:
 0d0XKPsN6CHzVH455vtJYnr7+kvdYbL60SjR5iuk3Lb9h9pyvIRP3PemjqKB2eG/zjuOJmKCd/eXSgowJXRHUdrx7ydn6RVsiA89t3ohiAqrHV3+GGXoSFIFyFIPDf6Dhta9gBogUgpORsn1vvrArBiLAHqS4lGLAu9jBknfyfeY0xoyCxODoVWwi8o70drdtmGNiJY0NyhE7IlRpc744t8eTnrvF0XbK6m05b7uO+enzPRuuhxnaGHmEqLHWAPYpOhu8nZHIUBGKbTPzP7MFeohV8WrgKF/lhulRayaT8Gk87+fcGzFoeIuYAqUMahpvUOfe/9QMBaQJBJiGat8qq4N5hkyV0JjD3+0Y73bUWfS0Lkln57OLj4qfVTwdmHYt0N+KDXPmsNCyvu4QoTlPDlYmosVjL0C7qmdbQOp7MCa8M3RqEahFMIDfm2QpCD6SAqGEbu2p3+Ohy2XwBRoB9ybn1lxhnjCS646jF5YsmvBq30gYo5ngsI1n+YRuOF0fWIaFtNJhN9Y/pxItWCGZRVwalNBrWTCrzSpJGoFTKwTuTWSDjqEhsalx25WZ2riNeL8oPqOwnuUHH8Op4y7u9MzN8D98K8mTD6JH+0b87NRkaTN3ThMR2QkP/LJelmnRvKB56AkPsQ7CC9oEadSyWMs9u1Ya2kU0aNjq8BM3pZcIiCofKuiJ8XZ+kvhecJTQUFvzSFzE8613UmAIOI3K37OilDrMPpmElYibkmQ7CPiHx3eiM5wpfNJbOK5EloW
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM5PR0801MB2020.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(122000001)(2906002)(38100700002)(186003)(53546011)(26005)(6506007)(2616005)(5660300002)(6512007)(71200400001)(36756003)(4326008)(6916009)(508600001)(6486002)(91956017)(66476007)(33656002)(8676002)(66446008)(8936002)(76116006)(64756008)(54906003)(38070700005)(66946007)(66556008)(316002)(83380400001)(86362001)(45980500001)(20210929001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <A6DC8C8E2BABBE4AA6AF0AFBB40B1F6D@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB5961
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;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-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	13b72d42-2110-41e8-4f18-08d9e24688f5
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	CiVIVEoKwtAcU61OTs9rV1QuIPk1tUqLmakpBsXzatnenzuPMOGvmyn9ndnoZ/y1mWgxslhu0gCk0cNS0xEnZ6BPuC3/8bWJVNiy8KSW1skgsf4hV2it672LFLrf3qPZQzh0EraKD6++DtBR2wNuTFBd0FljOA2OzfM2iCp1mKIcKeanESE5fdv+G9oe36ztokmtWcmG1q8dDEPgAN6vgaVFDQZMSNOojq0/PdNS93NdaR8K7p622YdaCiSanNgaSwHMow9o7WC8c1PI662vmL1mouAtYz4wcviBD2ozvQ40kSX5S2LNQZ4SsanjhIU0gjv+SB0RBkMCyPLJZI0Kci8MSryCTTE5btRn6vGEyLFi2TTCtdW34q6YhbQDKLtk2WcfLvx2Fe3EEEFRQGcFgMUfXDqWGzARmVuLYTqBzjC7yJsfpVRMiq8wKwpTzIhWoyru5RE+lnTnhLLODa5OicRpAwOm52IE5mQEy15xC64rO1DSfCk7M3yhqm6M5mc4zc9TA9sq+cLGwwix0QvaOQA5tL+vB9XrzalD2Fh8dgh6YNEXmcIsf42hAHzQ9AzO3WPrON1VGlY0nVHqB3RM6e3LdS2mqQGIpOuFAc7eBIHy+lpg7vMTh7tWG84y/OXVl1p5s1kesOGFrpJ7D5XsLPlIGpmwvEBIJMCD51zQM6ws2SiIBFilsWmlMeX+/Zi5
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230001)(4636009)(36840700001)(40470700004)(46966006)(47076005)(2906002)(86362001)(316002)(6486002)(2616005)(81166007)(36860700001)(356005)(6506007)(508600001)(54906003)(33656002)(186003)(26005)(82310400004)(40460700003)(70206006)(4326008)(5660300002)(83380400001)(107886003)(70586007)(336012)(36756003)(6512007)(8936002)(6862004)(53546011)(8676002)(20210929001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jan 2022 10:11:30.4697
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b45807e0-e050-4e73-43b1-08d9e2468dd6
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: AS8PR08MB7125

Hi Oleksandr,

> On 27 Jan 2022, at 7:55 pm, Oleksandr Tyshchenko <olekstysh@gmail.com> wr=
ote:
>=20
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>=20
> All IOMMU drivers on Arm perform almost the same generic actions in
> hwdom_init callback. Move this code to common arch_iommu_hwdom_init()
> in order to get rid of code duplication.
>=20
> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> Reviewed-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>

Acked-by:: Rahul Singh <rahul.singh@arm.com>

Regards,
Rahul
> ---
> Changes V1 -> V2:
>   - add R-b
>=20
> Changes V2 -> V3:
>   - drop platform specific *_iommu_hwdom_init(), make .hwdom_init
>     to directly point to the common arch_iommu_hwdom_init()
> ---
> xen/drivers/passthrough/arm/iommu.c      |  7 +++++++
> xen/drivers/passthrough/arm/ipmmu-vmsa.c | 15 +--------------
> xen/drivers/passthrough/arm/smmu-v3.c    | 17 +----------------
> xen/drivers/passthrough/arm/smmu.c       | 17 +----------------
> 4 files changed, 10 insertions(+), 46 deletions(-)
>=20
> diff --git a/xen/drivers/passthrough/arm/iommu.c b/xen/drivers/passthroug=
h/arm/iommu.c
> index ee653a9..fc45318 100644
> --- a/xen/drivers/passthrough/arm/iommu.c
> +++ b/xen/drivers/passthrough/arm/iommu.c
> @@ -134,6 +134,13 @@ void arch_iommu_domain_destroy(struct domain *d)
>=20
> void __hwdom_init arch_iommu_hwdom_init(struct domain *d)
> {
> +    /* Set to false options not supported on ARM. */
> +    if ( iommu_hwdom_inclusive )
> +        printk(XENLOG_WARNING "map-inclusive dom0-iommu option is not su=
pported on ARM\n");
> +    iommu_hwdom_inclusive =3D false;
> +    if ( iommu_hwdom_reserved =3D=3D 1 )
> +        printk(XENLOG_WARNING "map-reserved dom0-iommu option is not sup=
ported on ARM\n");
> +    iommu_hwdom_reserved =3D 0;
> }
>=20
> /*
> diff --git a/xen/drivers/passthrough/arm/ipmmu-vmsa.c b/xen/drivers/passt=
hrough/arm/ipmmu-vmsa.c
> index c912120..d2572bc 100644
> --- a/xen/drivers/passthrough/arm/ipmmu-vmsa.c
> +++ b/xen/drivers/passthrough/arm/ipmmu-vmsa.c
> @@ -1329,19 +1329,6 @@ static int ipmmu_iommu_domain_init(struct domain *=
d)
>     return 0;
> }
>=20
> -static void __hwdom_init ipmmu_iommu_hwdom_init(struct domain *d)
> -{
> -    /* Set to false options not supported on ARM. */
> -    if ( iommu_hwdom_inclusive )
> -        printk(XENLOG_WARNING "ipmmu: map-inclusive dom0-iommu option is=
 not supported on ARM\n");
> -    iommu_hwdom_inclusive =3D false;
> -    if ( iommu_hwdom_reserved =3D=3D 1 )
> -        printk(XENLOG_WARNING "ipmmu: map-reserved dom0-iommu option is =
not supported on ARM\n");
> -    iommu_hwdom_reserved =3D 0;
> -
> -    arch_iommu_hwdom_init(d);
> -}
> -
> static void ipmmu_iommu_domain_teardown(struct domain *d)
> {
>     struct ipmmu_vmsa_xen_domain *xen_domain =3D dom_iommu(d)->arch.priv;
> @@ -1369,7 +1356,7 @@ static void ipmmu_iommu_domain_teardown(struct doma=
in *d)
> static const struct iommu_ops ipmmu_iommu_ops =3D
> {
>     .init            =3D ipmmu_iommu_domain_init,
> -    .hwdom_init      =3D ipmmu_iommu_hwdom_init,
> +    .hwdom_init      =3D arch_iommu_hwdom_init,
>     .teardown        =3D ipmmu_iommu_domain_teardown,
>     .iotlb_flush     =3D ipmmu_iotlb_flush,
>     .iotlb_flush_all =3D ipmmu_iotlb_flush_all,
> diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthro=
ugh/arm/smmu-v3.c
> index d115df7..71b022f 100644
> --- a/xen/drivers/passthrough/arm/smmu-v3.c
> +++ b/xen/drivers/passthrough/arm/smmu-v3.c
> @@ -3402,21 +3402,6 @@ static int arm_smmu_iommu_xen_domain_init(struct d=
omain *d)
>=20
> }
>=20
> -static void __hwdom_init arm_smmu_iommu_hwdom_init(struct domain *d)
> -{
> -	/* Set to false options not supported on ARM. */
> -	if (iommu_hwdom_inclusive)
> -		printk(XENLOG_WARNING
> -		"map-inclusive dom0-iommu option is not supported on ARM\n");
> -	iommu_hwdom_inclusive =3D false;
> -	if (iommu_hwdom_reserved =3D=3D 1)
> -		printk(XENLOG_WARNING
> -		"map-reserved dom0-iommu option is not supported on ARM\n");
> -	iommu_hwdom_reserved =3D 0;
> -
> -	arch_iommu_hwdom_init(d);
> -}
> -
> static void arm_smmu_iommu_xen_domain_teardown(struct domain *d)
> {
> 	struct arm_smmu_xen_domain *xen_domain =3D dom_iommu(d)->arch.priv;
> @@ -3427,7 +3412,7 @@ static void arm_smmu_iommu_xen_domain_teardown(stru=
ct domain *d)
>=20
> static const struct iommu_ops arm_smmu_iommu_ops =3D {
> 	.init		=3D arm_smmu_iommu_xen_domain_init,
> -	.hwdom_init		=3D arm_smmu_iommu_hwdom_init,
> +	.hwdom_init		=3D arch_iommu_hwdom_init,
> 	.teardown		=3D arm_smmu_iommu_xen_domain_teardown,
> 	.iotlb_flush		=3D arm_smmu_iotlb_flush,
> 	.iotlb_flush_all	=3D arm_smmu_iotlb_flush_all,
> diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough=
/arm/smmu.c
> index c9dfc4c..b186c28 100644
> --- a/xen/drivers/passthrough/arm/smmu.c
> +++ b/xen/drivers/passthrough/arm/smmu.c
> @@ -2849,21 +2849,6 @@ static int arm_smmu_iommu_domain_init(struct domai=
n *d)
> 	return 0;
> }
>=20
> -static void __hwdom_init arm_smmu_iommu_hwdom_init(struct domain *d)
> -{
> -	/* Set to false options not supported on ARM. */
> -	if ( iommu_hwdom_inclusive )
> -		printk(XENLOG_WARNING
> -		"map-inclusive dom0-iommu option is not supported on ARM\n");
> -	iommu_hwdom_inclusive =3D false;
> -	if ( iommu_hwdom_reserved =3D=3D 1 )
> -		printk(XENLOG_WARNING
> -		"map-reserved dom0-iommu option is not supported on ARM\n");
> -	iommu_hwdom_reserved =3D 0;
> -
> -	arch_iommu_hwdom_init(d);
> -}
> -
> static void arm_smmu_iommu_domain_teardown(struct domain *d)
> {
> 	struct arm_smmu_xen_domain *xen_domain =3D dom_iommu(d)->arch.priv;
> @@ -2874,7 +2859,7 @@ static void arm_smmu_iommu_domain_teardown(struct d=
omain *d)
>=20
> static const struct iommu_ops arm_smmu_iommu_ops =3D {
>     .init =3D arm_smmu_iommu_domain_init,
> -    .hwdom_init =3D arm_smmu_iommu_hwdom_init,
> +    .hwdom_init =3D arch_iommu_hwdom_init,
>     .add_device =3D arm_smmu_dt_add_device_generic,
>     .teardown =3D arm_smmu_iommu_domain_teardown,
>     .iotlb_flush =3D arm_smmu_iotlb_flush,
> --=20
> 2.7.4
>=20
>=20



From xen-devel-bounces@lists.xenproject.org Fri Jan 28 10:37:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 10:37:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261929.453810 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDOcq-0003i9-Sc; Fri, 28 Jan 2022 10:37:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261929.453810; Fri, 28 Jan 2022 10:37:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDOcq-0003i2-Ok; Fri, 28 Jan 2022 10:37:04 +0000
Received: by outflank-mailman (input) for mailman id 261929;
 Fri, 28 Jan 2022 10:37:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=B5aJ=SM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nDOcp-0003hw-33
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 10:37:03 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 39f73045-8026-11ec-8eb8-a37418f5ba1a;
 Fri, 28 Jan 2022 11:37:01 +0100 (CET)
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur03lp2050.outbound.protection.outlook.com [104.47.10.50]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-36-xNIfM23uOBSiDPYZ7xl9rQ-1; Fri, 28 Jan 2022 11:36:59 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DB7PR04MB5418.eurprd04.prod.outlook.com (2603:10a6:10:83::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.19; Fri, 28 Jan
 2022 10:36:58 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Fri, 28 Jan 2022
 10:36:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 39f73045-8026-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643366221;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=72GN5dE/UvS737PEGXDv2rGsm6JboRHNJEnW8SC4O+A=;
	b=BkGtbxEh9xdDsFF2xPzYEsYpckVneG5m6J91qPR+vp4CCtVtDXyR7SpLGh4I6vf7NJvc/U
	Dh+L3+Fsem+E4RPUibTIQ7aGQ6tqh/fH7OPkuQh3yJQtqhYkgpAcGYXw37i9OAHrkUlCJe
	9NPt4VLe7jjlKFJdycQG+Q5D8zEtjRM=
X-MC-Unique: xNIfM23uOBSiDPYZ7xl9rQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fi5W1342fbhXUSxl0mf2T36+VIzLH1Zp99876P8KxUUXgqvAbDhKyFq/8yUowEOuqnw+k+gYyJ3eUmSrw+41ZNw5+bUSmaohQPTj9skh+bt8fArscuXxqVZ/Yi6RYBwUISS6jyesObEmZLRL4xcmdlvSIjhI2STjN8LqWNq2PMuUe2+dkLNk6BhTdwiOItlypj92y8qV6amnEq/b0Z8A7rNf4hbKyppMuFyPU6MI/LcCf6UI4wownEKmo54+X7cU9+AzjBACeBTuvlKEnWtuqXzCTf71Xu+qHS0aLsQso6sI2TKvdYCk1as1+r9fsdTDU5Be6+TtfBEvBgK3RmdsIA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=72GN5dE/UvS737PEGXDv2rGsm6JboRHNJEnW8SC4O+A=;
 b=LnEzRK/Qn9Tg7ivvSfZZPBex7HmcTkqER3ozuSp4iof2qKG/vEuiWNBVRivLLL6XbqTfzXXAdxUUk46UW/Gf9mgz9a+QWYGjQzNDcEtFyZgPXa8a22Emj6FrgJq6UQWRvagES3/01k/0Es+rlPiwrvDH66hzrmq6b3m9VyW+zdYaOcVenTniAVbeAVG0kfj193a37azYjjJ5I015sswkFpe1pbWUWbNm9HNsqYkbOC2z5R8GAb8T8DH1sAuzKe8zK94c1Q6wU3DHnSGGgKXO4lyrRaNe7kh3/CrU9C+98DDityoMqI1Qf5xoXkTpmFazPawaW4Em+ePZ410p6yByzg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ecaf1c37-0d70-77e6-2343-68bb25c167b8@suse.com>
Date: Fri, 28 Jan 2022 11:36:56 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v2 1/4] IOMMU/x86: switch to alternatives-call patching in
 further instances
Content-Language: en-US
To: paul@xen.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <4b7db7ae-eb84-7ecc-4334-fe5f0f7ef46b@suse.com>
 <9f6e1b13-d53f-05d3-0f88-a05bd0da03f9@suse.com>
 <d5734fe5-4743-8034-57e8-afbc2ce2c624@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <d5734fe5-4743-8034-57e8-afbc2ce2c624@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P194CA0011.EURP194.PROD.OUTLOOK.COM
 (2603:10a6:209:90::24) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9fcc4550-c722-41ae-afa9-08d9e24a1c39
X-MS-TrafficTypeDiagnostic: DB7PR04MB5418:EE_
X-Microsoft-Antispam-PRVS:
	<DB7PR04MB54182DBBCAC8F0E7A86EF423B3229@DB7PR04MB5418.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:
	4DiAy77oaeFoUmanCOFMV6CoamnHaHDl/45ntKeQQ4jUQ4RdzIUljj76981LKw8L+CxZly/tujVla9VMPW/Wsysj7Mq7ujgN8zajxqObf9R4DTERu7ho/dZ51xpTtD4FM13lwpvQWmqQ/63YO1ymb39IrHh611faID7kujLVyjuClRM49MmUwhjgEXp6jLkYnrtyyY52Judg6Kg28LKCeemoAExkQrTtLFju1CCBMHZ5WoRe4woJQ3dPz/u8AoQPUo4RYcQrwv6HH+iDLrwidzTV9+SNPijbpEUCicZhwYqpq9XRDHyNbDgi3ZZY/WMEA3NgSGj94tR8bIBiqSAk3/O2YDbUvzwdGobDNKnbHWkEblqLmbLs3VJj4DkaBqg2d69zPVsvIg7V94KhFpDCOzc47SW3mUfkEeXt/AKUVmxGaMHcDJ4QJ+HUBpkvZvBKv5CEeQI8IpGnYYxVb0JrcmjTV+JNOsMSvQlfpI+8vhrcd9sJlBljzYJeinBTj/N9EGSJL6eeD8AxyEZPUKiWM5a8GTjb7bJpS3AuvWg+6kzgBQZ11HgFPLm2FaQ78C16nfuYTt+2Zh0fSDM6DnPCR6j+m+R0EAviWbVx62RVSSTJIbd3ayiKmeCGQ0QsvXT3TGyYPHlPjFfW6uPUq4S/4ItCYny/ynVAO9Llhp/hQ4R8Txdm943052vrxM7AGnq1XkPLjAJj7eN+5PIjYAFMFAdTWybtENFZgrcEABBZUes=
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:(13230001)(366004)(31686004)(6486002)(6506007)(5660300002)(83380400001)(2906002)(36756003)(4326008)(316002)(66946007)(66556008)(54906003)(66476007)(86362001)(31696002)(6916009)(8676002)(38100700002)(2616005)(186003)(508600001)(8936002)(6512007)(53546011)(26005)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dmJxRHpjV0ZnL3FuTXhTUCtiM0VuU0NQSUlYbnJMejY0eU0vRmFnS3czWVlj?=
 =?utf-8?B?NENFRG5mNnNSV2VPeVNSWW8wUzRYWVIyR0lvaUhLS0tObFJ6Y0x1eXpuWGpE?=
 =?utf-8?B?V2U0OStRVTgwbUgrekNEaUNIb3ZIc1dOeTRTUVlXb1FXWFZUNEh4ejN6dEdJ?=
 =?utf-8?B?ZVNYOXBuaVNDVjRvaXU2WmJhY3VaSnpNTlFhOFozakdJbWJUTDkrM0tJZTJi?=
 =?utf-8?B?V1R3bDBSVFJTSm96Ly9tU0pnc3IrdkJNc3lCd3hRaEpXRDc1UytIbEQyWnI0?=
 =?utf-8?B?L2hCekhYZzNJTGN6Y3BkVDd5YXJnOG8zU1dVMFNpZEZINWt2RjlleVFJY3hS?=
 =?utf-8?B?anZHS251MStNa2ZTcTlrVmZJYVUxa2w2SkJiSUdIa2MyYTBiWmg2Z2VadUNV?=
 =?utf-8?B?eTltb0hWMzhVQzUxTXk5TFNIbEhvdER3TEQybmJYYVpQYTNsWXJ6d1ZtVVNa?=
 =?utf-8?B?WlhyLy9rL1NtVU1xUzhlQ0IyYjlRdFREQWoycjdKbE9xdzk5dkVyTU9XOVpB?=
 =?utf-8?B?MzBmcVBnU1FLQTFFQ2JJQTJ4ZEMvVHEweWJrWFUrcC95Rko4K0V1VFZzclhD?=
 =?utf-8?B?ZGtBcmxmRG9ITVozT0VoZVduWjdzME9HbUxRUmpxNXN6R1lmUHdvRG1GYXM4?=
 =?utf-8?B?NFFUZXVEdUIyZ3VpbjVrcmU4MzdHa0pIZ0JOTVZERzR2M280WTFtUzI0TXM1?=
 =?utf-8?B?YlROQ2N4MTg5V1hMSS9vdEJ6b2oxK3ZrQ1UxNkZEV3B4R1BSdXYrRGdqTnRz?=
 =?utf-8?B?dWkwdndhK1B0cTcvc3IxOUdyN3YzVjJWZ1c1ZmIwaU1MNVpSMUdZOUhOcWRt?=
 =?utf-8?B?MFNmSUNZMm8zYlRVTVp1SktiMVdGaW90dHRlUk5wOEM2WTl6a0J1WXIxdllL?=
 =?utf-8?B?Qkw3Q3RuQXhDdFRwSnNZMStYY0J4Y2ZlY1dqMm1lZTlSMFBLNXRDYlA0SGhJ?=
 =?utf-8?B?MVRmUnBvbkQzaC9lZ2NiYmhnQjRaUDFjWVpwaHFUMkJ6cktZblpaRURjSzRO?=
 =?utf-8?B?QlJhWld2cDVoNGlYNmdIRW8vVDBnQlhWUDVoeGJCN2NwbFZTYkd6YTJmWit6?=
 =?utf-8?B?YTVYQWY4TEVUUkJTL25mengwWGN4WFN2QWo0YzV5cmp3SU1uekhwTEFzRlBV?=
 =?utf-8?B?STMwcWErVmVRK1BXRG5HTVpzQU11YjhBOGdOMW83Q0FGUERwNWVNRi8zODls?=
 =?utf-8?B?ZlAxZ2h2V3RhY2JGZVpjSk1yWncvMTI2Zm1kUVRIZkhxRnZXSU5GeUUySkYv?=
 =?utf-8?B?TTFWUUZxZTFTTzBoK0M3aFd2ZFB3andoSDU4ZWxXa3NWMDV6Vk5DWFpwR01W?=
 =?utf-8?B?Rzd6bDNyZ1BMK3hNZWFxRmxHRVMzdGVnYlczR05PZDNuc09mekJKeHhQNVJz?=
 =?utf-8?B?UkpPelJVbzVOSFh2L3JENXE1T0crck15TTNka1N3K0tGTk1LVitZaFdRR3ZM?=
 =?utf-8?B?OU5EcjNPcDlDeUhmeHVBZnZuTnpKNTRFaEkwSTIwa094Zkw4dHM5RW9MRktt?=
 =?utf-8?B?bVoxVEZkYmt2amR3NENpaDRjSWQ3WWJXdDJ3dWNsREtwRVJ2TUlBV09ZU2Ix?=
 =?utf-8?B?djFyQngyVVBLeDd4SXdMcXJUdnhnQ0p6M2ROcGc4NHNnaVQ3aE1OYXJHbGQ3?=
 =?utf-8?B?RU5tNk5aWkpPWlNTTW1QbkdURmVtVG9WNnArMEp0TjFlcTFDR1k5dXNwblYr?=
 =?utf-8?B?QUpTcVB2UXlZaXV5dWRHbUZEWTQ3UzRBZHZRNHhKcm1hMEdWL3AwMGl6MUFz?=
 =?utf-8?B?NjhkeGNLT2NFK2FzbXMvbnZWV05oSmVJWjBuV1M0RjdTdWxLZUZ4YlFUMEF5?=
 =?utf-8?B?eWR5SXBxRysvTTNRTDJScTcxMDVNWHZsdlRIQWt6R2VrZzd5QUdIaW9ucGR6?=
 =?utf-8?B?LzJETms3TSt0VFRwY203SXVyOXI3UmZWcmlpejk5dHgvTUg3WG5BeUx6RnZS?=
 =?utf-8?B?eGZmVnZiYUZValQvYzZ6ZVowcS9ZZUZZdjVZMDA5SUJqMlpLSHM4S0lNeGZ2?=
 =?utf-8?B?OERHbTkzVUl2MUM0NG5oVlM1a2R0UGtXK3UveldxZE9ydFJEa0p3WHBYQWNT?=
 =?utf-8?B?dGRPbi9LWStJMmdMZjJrbDREdWpaQ0JEVStEcWoweUt3ZXNlVFJtQk1oTFhv?=
 =?utf-8?B?bzZKQTl6YTFtcDNJa2FVNTNPVDZnS0FyUEMyOUR5L0FnVy8xTWFtaWF5TFlW?=
 =?utf-8?Q?rOUH76I5C196KG3PJT+PMV0=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9fcc4550-c722-41ae-afa9-08d9e24a1c39
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jan 2022 10:36:58.4572
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xWIReN3obQaoQJ20p2/0nSJsfgyWVwvAOdbZqFBAZwEt6F1LR6XRn9caXqdL93VqUlVDeriweVgpDhNe5JAWKw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB5418

On 28.01.2022 10:28, Durrant, Paul wrote:
> On 27/01/2022 14:47, Jan Beulich wrote:
>> @@ -1457,24 +1462,24 @@ static int iommu_get_device_group(
>>       if ( !is_iommu_enabled(d) || !ops->get_device_group_id )
>>           return 0;
>>   
>> -    group_id = ops->get_device_group_id(seg, bus, devfn);
>> +    group_id = iommu_call(ops, get_device_group_id, seg, bus, devfn);
>>   
>>       pcidevs_lock();
>>       for_each_pdev( d, pdev )
>>       {
>> -        if ( (pdev->seg != seg) ||
>> -             ((pdev->bus == bus) && (pdev->devfn == devfn)) )
>> +        unsigned int b = pdev->bus;
>> +        unsigned int df = pdev->devfn;
>> +
>> +        if ( (pdev->seg != seg) || ((b == bus) && (df == devfn)) )
>>               continue;
>>   
>> -        if ( xsm_get_device_group(XSM_HOOK, (seg << 16) | (pdev->bus << 8) | pdev->devfn) )
>> +        if ( xsm_get_device_group(XSM_HOOK, (seg << 16) | (b << 8) | df) )
>>               continue;
>>   
>> -        sdev_id = ops->get_device_group_id(seg, pdev->bus, pdev->devfn);
>> +        sdev_id = iommu_call(ops, get_device_group_id, seg, b, df);
>>           if ( (sdev_id == group_id) && (i < max_sdevs) )
>>           {
>> -            bdf = 0;
>> -            bdf |= (pdev->bus & 0xff) << 16;
>> -            bdf |= (pdev->devfn & 0xff) << 8;
>> +            bdf = (b << 16) | (df << 8);
> 
> Don't we have a macro for this now? Probably best to start using it 
> whilst modifying the code.

We don't. And it would feel somewhat misleading to use PCI_BDF2(b, df) << 8
here. The situation is even worse imo: Besides there not being a macro, I
also cannot seem to find any documentation on this non-standard layout (BDF
shifted left by 8). Yet then again I also can't spot any caller of
xc_get_device_group() ...

> Reviewed-by: Paul Durrant <paul@xen.org>

Thanks.

Jan



From xen-devel-bounces@lists.xenproject.org Fri Jan 28 10:40:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 10:40:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261933.453821 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDOgU-00053n-DM; Fri, 28 Jan 2022 10:40:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261933.453821; Fri, 28 Jan 2022 10:40:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDOgU-00053g-9B; Fri, 28 Jan 2022 10:40:50 +0000
Received: by outflank-mailman (input) for mailman id 261933;
 Fri, 28 Jan 2022 10:40:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=P4Sn=SM=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1nDOgS-00053a-CQ
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 10:40:48 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on061b.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::61b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bfbbe18b-8026-11ec-8f75-fffcc8bd4f1a;
 Fri, 28 Jan 2022 11:40:46 +0100 (CET)
Received: from DB6PR07CA0158.eurprd07.prod.outlook.com (2603:10a6:6:43::12) 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.4930.17; Fri, 28 Jan 2022 10:40:43 +0000
Received: from DB5EUR03FT044.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:6:43:cafe::28) by DB6PR07CA0158.outlook.office365.com
 (2603:10a6:6:43::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.5 via Frontend
 Transport; Fri, 28 Jan 2022 10:40:43 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT044.mail.protection.outlook.com (10.152.21.167) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4930.15 via Frontend Transport; Fri, 28 Jan 2022 10:40:43 +0000
Received: ("Tessian outbound 341d209a0e52:v113");
 Fri, 28 Jan 2022 10:40:43 +0000
Received: from 20bc75457840.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 56A1A45E-A8A2-4876-9600-B11C47A09A89.1; 
 Fri, 28 Jan 2022 10:40:36 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 20bc75457840.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 28 Jan 2022 10:40:36 +0000
Received: from AM5PR0801MB2020.eurprd08.prod.outlook.com
 (2603:10a6:203:4c::14) by DB9PR08MB6683.eurprd08.prod.outlook.com
 (2603:10a6:10:2ad::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Fri, 28 Jan
 2022 10:40:33 +0000
Received: from AM5PR0801MB2020.eurprd08.prod.outlook.com
 ([fe80::7de6:3b44:c82d:a94f]) by AM5PR0801MB2020.eurprd08.prod.outlook.com
 ([fe80::7de6:3b44:c82d:a94f%3]) with mapi id 15.20.4930.019; Fri, 28 Jan 2022
 10: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>
X-Inumbo-ID: bfbbe18b-8026-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZZX1gX9T+0+Pvj6y9Aebg33B2F67hCTSSTW9AtwOm+A=;
 b=utHOErUz6TzaemI9MvjCA9APo562KOhbI3NUoDvzwPyV8+EIXnxCeXEmZykM1EqUICKrvAy1RvsVqj9bjrC1woSQbc4wxqpfsxmZGOJZefu9bUFPTXdS3W67xOFtEzZRvMrN1FqTIvHL4TzN3wU5fx6HWrDHlNtwjTuJnFAHtEU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 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: 7451f71a1e9e45f8
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TGQV2Sn381EzPEagpSlu6YEUEB4n90l/1mkouO90VhdMsYkIpylPLDgwrqEUwk/5t86/bhDeyFdpOFJ3NkzYzgoWvr7UQGb1oAZis8nkAbNy/sfEVYdmnX9dLRzXoQaGqQynVx2uxKlb3D0WHFEghyT/Y1p84tZDnwMLegyabaLIhvZZKYbE7FVOAxczdp5Yste/KY6qqwHKY4tXrzZT1pb/YYe73TTgg0NScqjCQ6qP+JxaTwHzZZHmsiX3OawCoQFrKfaZkEW55aci5VGYcRJs352aDDSUav/aVBE7jTxfyJ2FRwbzxlW3ymWA3s4ivnaXFntI17MhcBRDO/wOYA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZZX1gX9T+0+Pvj6y9Aebg33B2F67hCTSSTW9AtwOm+A=;
 b=a++8/yhdF4CfBf/wxiQZmuombL+wwbJkNb2fdRpZ6FmkTGdEd3eFq0rfXAMAhh3UFUxivgVCIhR4Xc41doaVIJPqfx2Srmn1Qqh1Yt4aAdnm0HqC0hffEBP/fOJuMhQKOGCG/E8gFoGgPx54zStX7fqUkulLf4CFM34UEwKbrQGXIfDH4CyryYZHfcWv+/7dY5Ik4CzXo5ny4qyklFsWTSeGw3BEf8A+Q8To3j6NA0xK38Jy4lcMJv0BS/IEPgHTFEuJWXt7g0Q0pgbN4Nx2ucJunAkjPsplQvF8BEjpKd/TRP8fdzXtjzbsaB/6WBiPbs/B2ufsCLyhL+CLLG4YAg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZZX1gX9T+0+Pvj6y9Aebg33B2F67hCTSSTW9AtwOm+A=;
 b=utHOErUz6TzaemI9MvjCA9APo562KOhbI3NUoDvzwPyV8+EIXnxCeXEmZykM1EqUICKrvAy1RvsVqj9bjrC1woSQbc4wxqpfsxmZGOJZefu9bUFPTXdS3W67xOFtEzZRvMrN1FqTIvHL4TzN3wU5fx6HWrDHlNtwjTuJnFAHtEU=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Paul
 Durrant <paul@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v2 1/4] IOMMU/x86: switch to alternatives-call patching in
 further instances
Thread-Topic: [PATCH v2 1/4] IOMMU/x86: switch to alternatives-call patching
 in further instances
Thread-Index: AQHYE4zovlZrTiTMtEaG1m4PWdsJMqx4P9gA
Date: Fri, 28 Jan 2022 10:40:33 +0000
Message-ID: <2C739B20-0A5E-477B-853F-E914129EB10D@arm.com>
References: <4b7db7ae-eb84-7ecc-4334-fe5f0f7ef46b@suse.com>
 <9f6e1b13-d53f-05d3-0f88-a05bd0da03f9@suse.com>
In-Reply-To: <9f6e1b13-d53f-05d3-0f88-a05bd0da03f9@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 0840cfb3-8826-4210-dff1-08d9e24aa297
x-ms-traffictypediagnostic:
	DB9PR08MB6683:EE_|DB5EUR03FT044:EE_|DBBPR08MB4885:EE_
X-Microsoft-Antispam-PRVS:
	<DBBPR08MB48856FDD8261A97D23908734FC229@DBBPR08MB4885.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:
 KP2x/4RzuioAxf7dkh6PDIe8G6hsVtYpG0j4SdH8Q+QhSNzCadT1scDGmCXXr5B5J4Id1xbFNRQ03s7njQIg6kphugHb1/molK5TSC2U+kHRexE3648srD6K3HgFNpruafO+Kn6RRvEOut6B6bx+bFOtf/Y2B1YOS5bcRR7jmn2ZqyjPfWPlcnxcRmTabgdhy/74UatBsHcpexIU6sg4vfq5ippiEva7ydCoOoKtVDGUMEUJUYzAd9s9H50Mn5KhOB9TNUnp4iZ1n0n7IO6nKY8QlkLmIlsU4kcyiOGhxq91LFze0Gi0w/4K+0Y8eeZpKMbCnHUiEZLOMkfBgzhA/CMD1JnAWCn3QmyV3Vj+s8g8d0oXOTczwWV5LJ4VdTUKS+HAEaP71D5Aw3KMlywOO1bhgwec2U4bjhbZNJWBOH0w2+UtBrFx3JCY9YiksEUdpuWlGbhItEVy+8+bOEEL5hystxan23MuNHIZxMEqDplfBKhpT5b+Z2OqnqimIwEoghc8h2rdYzI2NeuInUuvBKr4NVFIBRKoeo5O+rnDpcF2M1Z2WCPVZcl9LmXFakiDtzkQoc6rAUttveb4mMtoOcpiIhcy7y4nbsZQDHOscfEw/iC12kfToyNO+Ik+S/Cnu/HtLJJuFT/r8eSQ0q7j3adzQoKBn8yucmDjE0l4Eiu5SUxYr0MZqB1OlGLX1MDbpwN8oXbe4bBMzbRFtlwsoij4PhywbmG67pHEubFW1lSlSLMfTMe9Epyd+6MPli/+
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM5PR0801MB2020.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(4326008)(6486002)(66946007)(38070700005)(86362001)(54906003)(66556008)(64756008)(66446008)(66476007)(8936002)(83380400001)(76116006)(71200400001)(6916009)(508600001)(91956017)(316002)(38100700002)(8676002)(2906002)(186003)(53546011)(6512007)(36756003)(6506007)(26005)(122000001)(2616005)(33656002)(5660300002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <49B2E4F37301B04CB2660F8D6D9A87AE@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6683
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5EUR03FT044.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	27ed0ccd-a0ac-4839-bbf8-08d9e24a9cc2
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	D65vxU2egQxmKPUaVvVLztI1I4PqY6eMZqkH0/6NsL1xXHDWvxNzbRJundmvqiWZ2hjdSReBMy/silrNFhYiPBW7Gbpbsi33ClJMKbdT0j5vLyBK8a5dC0cixehu6DriEdL19h/yrMFliaFBx3h/BYrGi/4KW0138GIhH60fmTM47uOSjtHU4OYGgL1jpd/SaDj3pGRKPVN3V50oHpmvA0C+3M+EQvxv9079/qsJ1AL0OCZZU0SPtqenH0CTkFn8p/Sa1D7r9QLRlThxT0yOGtidmjLgMm5cbwta9iHyQDtWFrg+Ei594nZ9SK5zlSVFO2Tl6Zj9kUS2/Ptd5M0hBQB67t14ADvT0upGPyyQjomrowIuqlvxKArkt+NjwqrlmPBnVz8CBT23zIcKfU3EvN2CKF1gopPW6xWZemyon2bV557x7yknRlGfwODq2S/eVgNumM8kOTadskBlMuWzNWHRLLtNlLOU9cPGYLigZu+oh2+hEiTIdh/TvaJx+5k1bGdGr5UeLv0u+UWQoBg6bOYa1i/N4UKYdM1IAuWeVg/kG4DowsdoW3UoeESBYSCBe/dKTGUOmpVoVcIg8Q8rxypEOSTZkjz61iM9I/nnu2pUecdfgGn3a8htpN6JFI4QFJwg637e4v6li2ufmPRn83/1+M8RdE8KYn5eZFAMoiA90MQHcpKwQ/riW245FHNL
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230001)(4636009)(40470700004)(46966006)(36840700001)(36756003)(2616005)(107886003)(86362001)(508600001)(6506007)(336012)(83380400001)(2906002)(316002)(5660300002)(6512007)(54906003)(26005)(186003)(40460700003)(53546011)(4326008)(6862004)(8676002)(8936002)(82310400004)(33656002)(70206006)(70586007)(81166007)(47076005)(36860700001)(6486002)(356005)(20210929001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jan 2022 10:40:43.2799
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0840cfb3-8826-4210-dff1-08d9e24aa297
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5EUR03FT044.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB4885

Hi Jan,

> On 27 Jan 2022, at 2:47 pm, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> This is, once again, to limit the number of indirect calls as much as
> possible. The only hook invocation which isn't sensible to convert is
> setup(). And of course Arm-only use sites are left alone as well.
>=20
> Note regarding the introduction / use of local variables in pci.c:
> struct pci_dev's involved fields are const. This const propagates, via
> typeof(), to the local helper variables in the altcall macros. These
> helper variables are, however, used as outputs (and hence can't be
> const). In iommu_get_device_group() make use of the new local variables
> to also simplify some adjacent code.
>=20
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Rahul Singh <rahul.singh@arm.com>
Tested-by: Rahul Singh <rahul.singh@arm.com>

Regards,
Rahul
>=20
> --- a/xen/drivers/passthrough/iommu.c
> +++ b/xen/drivers/passthrough/iommu.c
> @@ -198,7 +198,7 @@ int iommu_domain_init(struct domain *d,
>         return ret;
>=20
>     hd->platform_ops =3D iommu_get_ops();
> -    ret =3D hd->platform_ops->init(d);
> +    ret =3D iommu_call(hd->platform_ops, init, d);
>     if ( ret || is_system_domain(d) )
>         return ret;
>=20
> @@ -233,7 +233,7 @@ void __hwdom_init iommu_hwdom_init(struc
>=20
>     register_keyhandler('o', &iommu_dump_page_tables, "dump iommu page ta=
bles", 0);
>=20
> -    hd->platform_ops->hwdom_init(d);
> +    iommu_vcall(hd->platform_ops, hwdom_init, d);
> }
>=20
> static void iommu_teardown(struct domain *d)
> @@ -576,7 +576,7 @@ int iommu_get_reserved_device_memory(iom
>     if ( !ops->get_reserved_device_memory )
>         return 0;
>=20
> -    return ops->get_reserved_device_memory(func, ctxt);
> +    return iommu_call(ops, get_reserved_device_memory, func, ctxt);
> }
>=20
> bool_t iommu_has_feature(struct domain *d, enum iommu_feature feature)
> @@ -603,7 +603,7 @@ static void iommu_dump_page_tables(unsig
>             continue;
>         }
>=20
> -        dom_iommu(d)->platform_ops->dump_page_tables(d);
> +        iommu_vcall(dom_iommu(d)->platform_ops, dump_page_tables, d);
>     }
>=20
>     rcu_read_unlock(&domlist_read_lock);
> --- a/xen/drivers/passthrough/pci.c
> +++ b/xen/drivers/passthrough/pci.c
> @@ -861,15 +861,15 @@ static int deassign_device(struct domain
>         devfn +=3D pdev->phantom_stride;
>         if ( PCI_SLOT(devfn) !=3D PCI_SLOT(pdev->devfn) )
>             break;
> -        ret =3D hd->platform_ops->reassign_device(d, target, devfn,
> -                                                pci_to_dev(pdev));
> +        ret =3D iommu_call(hd->platform_ops, reassign_device, d, target,=
 devfn,
> +                         pci_to_dev(pdev));
>         if ( ret )
>             goto out;
>     }
>=20
>     devfn =3D pdev->devfn;
> -    ret =3D hd->platform_ops->reassign_device(d, target, devfn,
> -                                            pci_to_dev(pdev));
> +    ret =3D iommu_call(hd->platform_ops, reassign_device, d, target, dev=
fn,
> +                     pci_to_dev(pdev));
>     if ( ret )
>         goto out;
>=20
> @@ -1300,7 +1300,7 @@ static int iommu_add_device(struct pci_d
> {
>     const struct domain_iommu *hd;
>     int rc;
> -    u8 devfn;
> +    unsigned int devfn =3D pdev->devfn;
>=20
>     if ( !pdev->domain )
>         return -EINVAL;
> @@ -1311,16 +1311,16 @@ static int iommu_add_device(struct pci_d
>     if ( !is_iommu_enabled(pdev->domain) )
>         return 0;
>=20
> -    rc =3D hd->platform_ops->add_device(pdev->devfn, pci_to_dev(pdev));
> +    rc =3D iommu_call(hd->platform_ops, add_device, devfn, pci_to_dev(pd=
ev));
>     if ( rc || !pdev->phantom_stride )
>         return rc;
>=20
> -    for ( devfn =3D pdev->devfn ; ; )
> +    for ( ; ; )
>     {
>         devfn +=3D pdev->phantom_stride;
>         if ( PCI_SLOT(devfn) !=3D PCI_SLOT(pdev->devfn) )
>             return 0;
> -        rc =3D hd->platform_ops->add_device(devfn, pci_to_dev(pdev));
> +        rc =3D iommu_call(hd->platform_ops, add_device, devfn, pci_to_de=
v(pdev));
>         if ( rc )
>             printk(XENLOG_WARNING "IOMMU: add %pp failed (%d)\n",
>                    &pdev->sbdf, rc);
> @@ -1341,7 +1341,7 @@ static int iommu_enable_device(struct pc
>          !hd->platform_ops->enable_device )
>         return 0;
>=20
> -    return hd->platform_ops->enable_device(pci_to_dev(pdev));
> +    return iommu_call(hd->platform_ops, enable_device, pci_to_dev(pdev))=
;
> }
>=20
> static int iommu_remove_device(struct pci_dev *pdev)
> @@ -1363,7 +1363,8 @@ static int iommu_remove_device(struct pc
>         devfn +=3D pdev->phantom_stride;
>         if ( PCI_SLOT(devfn) !=3D PCI_SLOT(pdev->devfn) )
>             break;
> -        rc =3D hd->platform_ops->remove_device(devfn, pci_to_dev(pdev));
> +        rc =3D iommu_call(hd->platform_ops, remove_device, devfn,
> +                        pci_to_dev(pdev));
>         if ( !rc )
>             continue;
>=20
> @@ -1371,7 +1372,9 @@ static int iommu_remove_device(struct pc
>         return rc;
>     }
>=20
> -    return hd->platform_ops->remove_device(pdev->devfn, pci_to_dev(pdev)=
);
> +    devfn =3D pdev->devfn;
> +
> +    return iommu_call(hd->platform_ops, remove_device, devfn, pci_to_dev=
(pdev));
> }
>=20
> static int device_assigned(u16 seg, u8 bus, u8 devfn)
> @@ -1421,7 +1424,8 @@ static int assign_device(struct domain *
>=20
>     pdev->fault.count =3D 0;
>=20
> -    if ( (rc =3D hd->platform_ops->assign_device(d, devfn, pci_to_dev(pd=
ev), flag)) )
> +    if ( (rc =3D iommu_call(hd->platform_ops, assign_device, d, devfn,
> +                          pci_to_dev(pdev), flag)) )
>         goto done;
>=20
>     for ( ; pdev->phantom_stride; rc =3D 0 )
> @@ -1429,7 +1433,8 @@ static int assign_device(struct domain *
>         devfn +=3D pdev->phantom_stride;
>         if ( PCI_SLOT(devfn) !=3D PCI_SLOT(pdev->devfn) )
>             break;
> -        rc =3D hd->platform_ops->assign_device(d, devfn, pci_to_dev(pdev=
), flag);
> +        rc =3D iommu_call(hd->platform_ops, assign_device, d, devfn,
> +                        pci_to_dev(pdev), flag);
>     }
>=20
>  done:
> @@ -1457,24 +1462,24 @@ static int iommu_get_device_group(
>     if ( !is_iommu_enabled(d) || !ops->get_device_group_id )
>         return 0;
>=20
> -    group_id =3D ops->get_device_group_id(seg, bus, devfn);
> +    group_id =3D iommu_call(ops, get_device_group_id, seg, bus, devfn);
>=20
>     pcidevs_lock();
>     for_each_pdev( d, pdev )
>     {
> -        if ( (pdev->seg !=3D seg) ||
> -             ((pdev->bus =3D=3D bus) && (pdev->devfn =3D=3D devfn)) )
> +        unsigned int b =3D pdev->bus;
> +        unsigned int df =3D pdev->devfn;
> +
> +        if ( (pdev->seg !=3D seg) || ((b =3D=3D bus) && (df =3D=3D devfn=
)) )
>             continue;
>=20
> -        if ( xsm_get_device_group(XSM_HOOK, (seg << 16) | (pdev->bus << =
8) | pdev->devfn) )
> +        if ( xsm_get_device_group(XSM_HOOK, (seg << 16) | (b << 8) | df)=
 )
>             continue;
>=20
> -        sdev_id =3D ops->get_device_group_id(seg, pdev->bus, pdev->devfn=
);
> +        sdev_id =3D iommu_call(ops, get_device_group_id, seg, b, df);
>         if ( (sdev_id =3D=3D group_id) && (i < max_sdevs) )
>         {
> -            bdf =3D 0;
> -            bdf |=3D (pdev->bus & 0xff) << 16;
> -            bdf |=3D (pdev->devfn & 0xff) << 8;
> +            bdf =3D (b << 16) | (df << 8);
>=20
>             if ( unlikely(copy_to_guest_offset(buf, i, &bdf, 1)) )
>             {
> --- a/xen/drivers/passthrough/x86/iommu.c
> +++ b/xen/drivers/passthrough/x86/iommu.c
> @@ -145,7 +145,7 @@ unsigned int iommu_read_apic_from_ire(un
> int __init iommu_setup_hpet_msi(struct msi_desc *msi)
> {
>     const struct iommu_ops *ops =3D iommu_get_ops();
> -    return ops->setup_hpet_msi ? ops->setup_hpet_msi(msi) : -ENODEV;
> +    return ops->setup_hpet_msi ? iommu_call(ops, setup_hpet_msi, msi) : =
-ENODEV;
> }
>=20
> void __hwdom_init arch_iommu_check_autotranslated_hwdom(struct domain *d)
> @@ -406,7 +406,7 @@ int iommu_free_pgtables(struct domain *d
>      * Pages will be moved to the free list below. So we want to
>      * clear the root page-table to avoid any potential use after-free.
>      */
> -    hd->platform_ops->clear_root_pgtable(d);
> +    iommu_vcall(hd->platform_ops, clear_root_pgtable, d);
>=20
>     while ( (pg =3D page_list_remove_head(&hd->arch.pgtables.list)) )
>     {
>=20
>=20



From xen-devel-bounces@lists.xenproject.org Fri Jan 28 10:54:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 10:54:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261939.453831 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDOtX-0006qH-OI; Fri, 28 Jan 2022 10:54:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261939.453831; Fri, 28 Jan 2022 10:54:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDOtX-0006qA-LB; Fri, 28 Jan 2022 10:54:19 +0000
Received: by outflank-mailman (input) for mailman id 261939;
 Fri, 28 Jan 2022 10:54:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5Vxm=SM=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nDOtW-0006q4-Mj
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 10:54:19 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a1cba937-8028-11ec-8f75-fffcc8bd4f1a;
 Fri, 28 Jan 2022 11:54:16 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a1cba937-8028-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643367256;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=TQckBNnbN2DjuIhUYz7tdGviOCUcVXp9z8pxSHh+1yE=;
  b=AiENMe2czMVXTQtyfGVhOQ1khwl0hv4QfQFZoT+/TwuK4mcw76WrFuSo
   lH2KLTb9rGcIHmuVXKRfxgBIGKaUJ24d3kIW+agHGciV278r34tzSFOvf
   JKK00ill4gh9VqmNIzEOdzCweXbwR9+hrjsS8RT6qHOEAA9uwt/BW6VOW
   U=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: hSuW8XG5L9RHa+42azXpKZcoC+5BLi4wI+8zLGLsnv/i5P8ZGIAM7vzmwHhh3KjBsywPiowSA4
 D7EULPf1HFTQblN5Jjcc2phTzBAb6pdJ8nt/Zh8n7T8qnh36CIPUi+aRV3w9hqzMQbCWcCQPu7
 STTKRpNb0CtZAH/QTu95+vKc6+LK7N7d1g1uBJZ07a2zdugocCFBI6uz57SWh4vHW+Cj5yOMFK
 XKlDzoKggtx2wOY13poPT7x2jSqEWAB6WoRBUj9hOyWBi9bq+Z4La2mmn3GSTnElwUs/R8xlci
 aG0AgNMJEZsymHPs0jlCjSni
X-SBRS: 5.2
X-MesageID: 62972548
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:rKooJKnoEjcqkKTAncOwe1ro5gxuIURdPkR7XQ2eYbSJt1+Wr1Gzt
 xIcUWCAaPrbMGX0LY1+aom/9U0P6pfTnN5mHgpur3gyRCMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BClVlxJVF/fngqoDUUYYoAQgsA180IMsdoUg7wbRh29Q42YPR7z6l4
 rseneWOYDdJ5BYsWo4kw/rrRMRH5amaVJsw5zTSVNgT1LPsvyB94KE3fMldG0DQUIhMdtNWc
 s6YpF2PEsE1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXee0v0XRYRQR4/ttmHozx+4
 PlMkIyPaz8ABZHNwrgQSxpaHTBzMoQTrdcrIVDn2SCS50jPcn+qyPRyFkAme4Yf/46bA0kXq
 6ZecmpUKEne2aTmm9pXScE17ignBODtMJkSpTdLyjbBAOx9aZvCX7/L9ZlT2zJYasVmQ6yPO
 JBENWoHgBLoTixTN3coL6kChuKlmUfCKwEGp2KMqv9ii4TU5FMoi+W8WDbPQfSaSMMQkkuGq
 2bu+2XiHgpcJNGZ0SCC8H+nmqnIhyyTcJobCbmQ5vNsxlqJyQQ7ChcbSF+6qvmRkVOlVpRUL
 El8x8Y1hfFsrgrxFIC7BkDm5i7f1vIBZzZOO8E7zRGy6JL92DqYXDQJVj1DZs0ru+ZjEFTGy
 WS1t9/uADVutpicRnSc6qqYoFuOBMQFEYMRTXRaFFVYurEPtKl210uSFYg7TMZZm/WoQWmY/
 tyckMQpa1z/Z+Yv3r7zw13IiinESnPhHl9svVW/so5IA2pEiG+Zi26AtACzARVodt/xory9U
 J4swZX2AAcmVsnlqcB1aL9RdIxFHt7cWNEmvXZhHoM66xOm8GO5cIZb7VlWfRk1aZxfIWS3P
 ReO6Gu9AaO/2lPwM8ebhKrqU6wXIVXIT4y5Bpg4kPIQCnSOSON31H43PhPBt4wcuEMtjbs+K
 f+mnTWEVh4n5VBc5GPuHY81iOZzrghnnD+7bc2lk3yPjOTPDFbIGeZtGAbfNYgRsfLbyDg5B
 v4CbaNmPT0FDr2nCsQWmKZORW03wY8TXMCv9JcPJ7fde2KL2ggJUpfs/F/oQKQ894x9nebU5
 HCtHEhezVv0n3rcLguWLHtkbdvSsVxX9hrX5AQgYgSl3WYNe4Gq4PtNfpc7Z+B/pudi0eR1X
 78OfMDZWqZDTTHO+jI8a5jhrdM9KET31FzWZyf1MiIie5NARhDS/oO2dAXY6yRTXDG8stEzo
 uP821qDE4YDXQlrEO3fdOmrkwGqpXEYle8rBxnIL9BfdV/C6o9vLyCt3PY7L9tVcUfIxyeA1
 hbQChAd/LGfr4gw+djPpKaFs4b2TLcuQhsERzHWtO/kOzPb82yvxZ57fNyJJT2NBnnp/KiCZ
 PlOy62uOvMwg1sX4ZF3FKxmzPxi6oK39aNa1AltAF7Cc0+vVuF7OnCD0MRC6v9Ny7tetVfkU
 06D4IAHa7CAOcejG18NPgs1KO+E0KhMyDXV6P00JmT85TN2o+XbARkDYUHUhXwPNqZxPaMk3
 fwl6Zwf5AGIgxY3NsqL03JP/GOWI31cC6gqu/n22mMwZtbHHr2aXaHhNw==
IronPort-HdrOrdr: A9a23:iZUP36McGr8sDMBcTv2jsMiBIKoaSvp037BN7TEUdfU1SL38qy
 nApoV56faZslcssRIb9+xoWpPwJk80nKQdieN9AV7LZniBhILCFvAB0WKN+V3d8gTFh5dgPf
 gKScND4afLYmSSJ/yKmDVQaOxN/OW6
X-IronPort-AV: E=Sophos;i="5.88,323,1635220800"; 
   d="scan'208";a="62972548"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=K0WMKI2GvHL2fAkCA4Wc+gCEV0+vLoVweYx1tlS1QVRiJx2l4utwKoOT4bmbThIrwggaFgA4fi2MphSTRe17PiUsnWv7eHqe+uydSFWYUJtpnkd7J2PSBcUh3xzl0LotCgDuhnhmaOJjx5TBB2t003zEcRk34v8XgRrfsWGzL2+r+Sdv8CGUTBdE9cLz/4+qZolSYks6jdlOLThORwFoy4g9Wt6eSz5qV2z4TNMkMP0UtzRL4jizekwpHiW/jMROawZBYKGuIkzEGL7aATrsTs2/cElSL8YqcSJrbXHAG3c732nxmdgmED5AJxuXFGlDaXc2KLrq7tHjHmVZ6gerQQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TQckBNnbN2DjuIhUYz7tdGviOCUcVXp9z8pxSHh+1yE=;
 b=JlWPos8mApt0iovst+m8Xf2AL/KYcGV7L88c2mApSWFb0JETT7o3vJwRrOUFntHZ5PAUMBSFychM51ZQNuZYNNPEQanES41P7W5WDe1IqT/ucjv/Hf8c2lEi5rhnJKYLCH/q9kbR1GFaW6pB0QhAvKvVDQo7PN6NunQ5BtWD0QQLEJwDqYp/V5QLhRMkeP7cazIylFbHST1k9UfwiAii9ogE2PMYVX44lUHosOP2fwVlK0FHA52OB6bTz5DWKtFrtSVgLfGPjMV91kJMvexbLtZ9A01Bzmv8K9rkyM2uCHoUPK5tqvG0chp7SymFELGr7vP8JO1rbmWRbbkVKBMzvw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TQckBNnbN2DjuIhUYz7tdGviOCUcVXp9z8pxSHh+1yE=;
 b=mCDxkmpvluvYmTagEt+CsQDw8+m5DcLqvDbkbQyublYB/PWHx2nAg6AUWT/UHPDacWP1Yfupxeo3/aO/LrwGIP9A4HFaYjrp5N1MZ7gfdehANXDfdsnAuA2ijtGqvpU0RmFmvhNcNcmsOCYhZMtrz7P+tZXIx5mkSB5ZSMaoF9c=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "paul@xen.org" <paul@xen.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 1/4] IOMMU/x86: switch to alternatives-call patching in
 further instances
Thread-Topic: [PATCH v2 1/4] IOMMU/x86: switch to alternatives-call patching
 in further instances
Thread-Index: AQHYE4zoXz+e/Oq3aUuTOSXG/tztY6x4K5QAgAATQwCAAATRAA==
Date: Fri, 28 Jan 2022 10:54:10 +0000
Message-ID: <06b427ba-e353-cd54-a212-c0b82c78632f@citrix.com>
References: <4b7db7ae-eb84-7ecc-4334-fe5f0f7ef46b@suse.com>
 <9f6e1b13-d53f-05d3-0f88-a05bd0da03f9@suse.com>
 <d5734fe5-4743-8034-57e8-afbc2ce2c624@gmail.com>
 <ecaf1c37-0d70-77e6-2343-68bb25c167b8@suse.com>
In-Reply-To: <ecaf1c37-0d70-77e6-2343-68bb25c167b8@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.1
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 28b4ad03-51c9-4209-348f-08d9e24c8407
x-ms-traffictypediagnostic: PH0PR03MB6493:EE_
x-microsoft-antispam-prvs: <PH0PR03MB649332D2BF3D3FD13D0858EFBA229@PH0PR03MB6493.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: tV3Md+V43pOB9ZxPk/XHWCVZ8RZmir5NtvNw3xuOEKwKVNouTtSTYBZ8M7qS7eup1xVkXNLLwvt+2AHMsnelrO4bfxjLUYgh2rkL7D7GDxToBYUtYpPPmXvB1Kb2V+OhvnUs1eT/dVWDp4ENRMLz/7mLTu/3HJvpNyBvE7QDCZfKZPB4KgzL5sFyI/3uJKuC99rTS7wnmyUUrKlqgQbenDIoM01S2bLJCmIoI6NQ4FNbC7xS206/8GjCw2k5cJny27KRTp87hSI4yCwIX4Tl7QVOJYd7N9FTRmbKDOPThzIb0LyIaHVRB5mKZhZ9gwjNcQRzWriVgrc0IO0k4wD5WQzcu3PYDlInNdktfdSEe/QOVKxWwO4CIGu3AjOxKkF9TaN2sK5BISR2yGIsR2VHxUmAZi3MBFBI2YE4lWvbRLk3+tKhWgelnypVXAubRlbgdtC2k+5ZNgQ1d7wNuMjkULP9u1Mv3oCIlHJH2/2rFj7ECQYBctLa6Viu604717Dm1wYVoOKxmeZvYf6pIfbewFCRYJSQ5vtD1htYuGM+PuIXtXFpr8HF2iEx7rC3RWA3nrRiZHw3taZfkaKdli6o3iKB2kaV/im2ljqn9+3RE3lVQ3EoUsgu1hBfRLIcBChSvW3OqEh9gzi7HUTThh4cXgnsji4tznH8aMpKHmFI9qVVMBpgdewYty6DOU52DkWUFQ5AiTFkU7jKFajxQTEM+yT2qpKxEFmkNLNtuR2jvLVbLzlMziuNNSbPC4QXwBT1qA5WNDShMAt6AqXu8Z39rg==
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:(13230001)(4636009)(366004)(82960400001)(38100700002)(31686004)(110136005)(316002)(508600001)(2906002)(2616005)(6486002)(38070700005)(36756003)(122000001)(66556008)(66446008)(8936002)(91956017)(66946007)(6512007)(64756008)(8676002)(31696002)(76116006)(4326008)(6506007)(186003)(5660300002)(71200400001)(83380400001)(26005)(53546011)(86362001)(66476007)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bjVmYXBnWmNuL25iVlRBb1l3Q01VaUlnbXVqM0s4aUFGRUZhM05hdUpndXdq?=
 =?utf-8?B?aXVkay82RytBL2NnUEtobFlvY28zSk5keVNDOHIwN0NiNDk2VHByZHIzM0pu?=
 =?utf-8?B?ODNRa3VlTlRiaC9GUlhMSnlQMUNJL1d2V053Ykx5WTdheXB3QVhxc2J5LzJM?=
 =?utf-8?B?NXI3ckpQOUw2UlhKa0t6TXM2SEZkSDBNYWZqc1RWQWt2NTdtQUV1S3gyNUFl?=
 =?utf-8?B?UkkvK0s5NS9aU0R2MDNLVi83NWdwd3EwUlU5S1FuOTZDOGJIb0hoWVdjUWZ6?=
 =?utf-8?B?T0NNdUJuSmhmMTJ4cVhYNEcrM0p3WHdnL240OXl4Sml2RmY3aTlvU2ZHMGFx?=
 =?utf-8?B?M042bzczNExMTWxJc3NnQnZUcHJrSlFreGp0eGxGL1BST09CbXlXeFlLZys3?=
 =?utf-8?B?R3FUZEgydEhLOVhuaEdSeEpiaUZGV0lwdm5NQmRlOFFrSStWM2dnb09KSSs5?=
 =?utf-8?B?allOTmlBVVZSSlpvZkhLWTcxU2ZWSnNRbnh2aTJHUFRSTHgyMEwyQjFJQzdj?=
 =?utf-8?B?YkFhVG1uYzJVNGR6Tm1vRFA1Q2QyUEdTVWV3K2VNMG9mUW5lS2VET1dtSG9v?=
 =?utf-8?B?dUlsVFZ4SG5TLzEybDl6eE9wcXVMN1J5MmZHYi82VmpYODhiYm14Vm1HTWJt?=
 =?utf-8?B?TmEwWHFMeUNBUFpOSVYvdHE0K0JOcEF0ZHN0V3Y5MDFHTzJwaGFZbFg1QklU?=
 =?utf-8?B?cnI3MmFiWDB4TjIvUjEyK2toY3hvUXNTQnkxT0NsK09PRkF3T1ZnMzB5K0Vs?=
 =?utf-8?B?NkFXOFlSbmVEL3JSV05LVGZsSVE3YXluL0VZb1E4S2lsclZYWXZOb1RBREZT?=
 =?utf-8?B?MlJqSEQ3ZXoxMHZmS3VodWszalZ2dzgvRDBrNFpMUXpnNGlMNjhMSHZkOS9x?=
 =?utf-8?B?YldoaFdwMFIrQ0swdDNDOElaYktxWkRSQ0pEUU9ndFgwelAvV2IyTksyTkFZ?=
 =?utf-8?B?OUZjRzg1aWowYTlXQmpmNGZBOGtjcndWMnczTHAzdkRHc0o1TjNaS20rU0cr?=
 =?utf-8?B?SEIxTW9YQVI0OVdURGVIem5DSjUxNTNLUDVrR3JSNnBHNlJLWktaaVh6UXho?=
 =?utf-8?B?WkU5NUJ6cnk3WmMzVTh5QzJ5TkRtdksvMHZDV1FFMDZKSWJFVU9CN25IcEFi?=
 =?utf-8?B?WEhnZ1NSWlA5eHBScTFDTDdmajljS2l1SVdPL2NCY01pekZJb2NjV3BUK0hw?=
 =?utf-8?B?RHNYekZHYnQxZ0JWbEFyeHI3bGpRMVk4c1NZQ0ErZFMzN1h5WlZaeVVHOERs?=
 =?utf-8?B?M3c2QldwcW9paWVnVWMvU29ydk5oOXlseWpaeVhzTDc5VEtDODRjZWtpTkhP?=
 =?utf-8?B?QUh3QkJXVmFBVklCbTVvRjlLaVQzS2R3VzhQdzR4MzVhemE3T1N5RGN3QmlM?=
 =?utf-8?B?WWZFZWR5UFNEYmU1bFM5RkFUUDhITXdFb0pTYVhsWE1CUmZkZHNIVVpMeG1R?=
 =?utf-8?B?M0Q1aEJhVmRSVk9lNHNNVnVKTTF1TlZhK3VrUkZzYU5UcWJiV3g3cVFsS0xL?=
 =?utf-8?B?Y3QyUFl5bnJKL3lBVzdUNlE4emlFR1BMTEdvaElGalhEYzU1VHFYRkNEVTEr?=
 =?utf-8?B?SW12U1lSajhBZ3V2NzFzb0psbDNSd1BxejQ3bUxOUkJuaktMZi9FZ2NjRTh2?=
 =?utf-8?B?YUhLckJWejF4Unp1cmNZc0tQWHp3d21BVk9TZjNtd0xIWFFDbjFuU0R0Yk8w?=
 =?utf-8?B?UFlQWTYxak9PTFZWYWdLMEd3NVBHWjVqdjA0SGtjOWxuaEU3c3VvRFU0Y0Nw?=
 =?utf-8?B?RkdvVWFCVjE1azRkNWNrc3p6OGJsdUZSNVlsNjU3S1VReWU1RDhyM1k2UGNn?=
 =?utf-8?B?TFF3SVNwWlNoOE1SRkRISSs2cUR6cmp0UERGSzI3MldoSVdNaTBLK2ZnMVI5?=
 =?utf-8?B?NUthb0kvVC9pblhoTDR1bU5iRDJmaWFNenkwUmZhOHNEZnBScVA0cS9ZNHFP?=
 =?utf-8?B?SUtrUzA2dVVVZlNqT3N4ZTJ0RXZ6M2w5TlZ1Q0hnRVo2MHRNZ0dJeG84ZmpD?=
 =?utf-8?B?bHgzVDJVdVdNQ0svbC8xZFVtb1F4eVEwdDNiVk5PRVJjbHR3QU5VK0lHckFy?=
 =?utf-8?B?THdldktlUGUydUNHbWpxUmRBeFVBMk5qVzg0anhzT25ONXN0bFNVdEtxakNS?=
 =?utf-8?B?Rzk1eDB4TmpEcGhGczBIUThKK1lsK1F2Y3V4RmwvK28xbE5pWEF3Z2NoU2dh?=
 =?utf-8?B?UWdIcUtsM0FPZThRQmowVjl1dWtaZlRhVzdFZUg0NCt3QkRlOS9FQUZjQ1gw?=
 =?utf-8?B?QVJKNDdvUVJ6RjlkMGNXT20xQWFnPT0=?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <4700A23A4A6D0343B80AA8D8A40F73C9@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 28b4ad03-51c9-4209-348f-08d9e24c8407
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Jan 2022 10:54:10.8686
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: jiZ3AidATCywXzGycewYsY33o1+Bk4MQSkBLBWODGGATcvKJB+yHrWOSTEfw4hYOg7xbSPOzKL3iDXSjLurXdlIuUG3tGOiYkRpAzmoaIg8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6493
X-OriginatorOrg: citrix.com

T24gMjgvMDEvMjAyMiAxMDozNiwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDI4LjAxLjIwMjIg
MTA6MjgsIER1cnJhbnQsIFBhdWwgd3JvdGU6DQo+PiBPbiAyNy8wMS8yMDIyIDE0OjQ3LCBKYW4g
QmV1bGljaCB3cm90ZToNCj4+PiBAQCAtMTQ1NywyNCArMTQ2MiwyNCBAQCBzdGF0aWMgaW50IGlv
bW11X2dldF9kZXZpY2VfZ3JvdXAoDQo+Pj4gICAgICAgaWYgKCAhaXNfaW9tbXVfZW5hYmxlZChk
KSB8fCAhb3BzLT5nZXRfZGV2aWNlX2dyb3VwX2lkICkNCj4+PiAgICAgICAgICAgcmV0dXJuIDA7
DQo+Pj4gICANCj4+PiAtICAgIGdyb3VwX2lkID0gb3BzLT5nZXRfZGV2aWNlX2dyb3VwX2lkKHNl
ZywgYnVzLCBkZXZmbik7DQo+Pj4gKyAgICBncm91cF9pZCA9IGlvbW11X2NhbGwob3BzLCBnZXRf
ZGV2aWNlX2dyb3VwX2lkLCBzZWcsIGJ1cywgZGV2Zm4pOw0KPj4+ICAgDQo+Pj4gICAgICAgcGNp
ZGV2c19sb2NrKCk7DQo+Pj4gICAgICAgZm9yX2VhY2hfcGRldiggZCwgcGRldiApDQo+Pj4gICAg
ICAgew0KPj4+IC0gICAgICAgIGlmICggKHBkZXYtPnNlZyAhPSBzZWcpIHx8DQo+Pj4gLSAgICAg
ICAgICAgICAoKHBkZXYtPmJ1cyA9PSBidXMpICYmIChwZGV2LT5kZXZmbiA9PSBkZXZmbikpICkN
Cj4+PiArICAgICAgICB1bnNpZ25lZCBpbnQgYiA9IHBkZXYtPmJ1czsNCj4+PiArICAgICAgICB1
bnNpZ25lZCBpbnQgZGYgPSBwZGV2LT5kZXZmbjsNCj4+PiArDQo+Pj4gKyAgICAgICAgaWYgKCAo
cGRldi0+c2VnICE9IHNlZykgfHwgKChiID09IGJ1cykgJiYgKGRmID09IGRldmZuKSkgKQ0KPj4+
ICAgICAgICAgICAgICAgY29udGludWU7DQo+Pj4gICANCj4+PiAtICAgICAgICBpZiAoIHhzbV9n
ZXRfZGV2aWNlX2dyb3VwKFhTTV9IT09LLCAoc2VnIDw8IDE2KSB8IChwZGV2LT5idXMgPDwgOCkg
fCBwZGV2LT5kZXZmbikgKQ0KPj4+ICsgICAgICAgIGlmICggeHNtX2dldF9kZXZpY2VfZ3JvdXAo
WFNNX0hPT0ssIChzZWcgPDwgMTYpIHwgKGIgPDwgOCkgfCBkZikgKQ0KPj4+ICAgICAgICAgICAg
ICAgY29udGludWU7DQo+Pj4gICANCj4+PiAtICAgICAgICBzZGV2X2lkID0gb3BzLT5nZXRfZGV2
aWNlX2dyb3VwX2lkKHNlZywgcGRldi0+YnVzLCBwZGV2LT5kZXZmbik7DQo+Pj4gKyAgICAgICAg
c2Rldl9pZCA9IGlvbW11X2NhbGwob3BzLCBnZXRfZGV2aWNlX2dyb3VwX2lkLCBzZWcsIGIsIGRm
KTsNCj4+PiAgICAgICAgICAgaWYgKCAoc2Rldl9pZCA9PSBncm91cF9pZCkgJiYgKGkgPCBtYXhf
c2RldnMpICkNCj4+PiAgICAgICAgICAgew0KPj4+IC0gICAgICAgICAgICBiZGYgPSAwOw0KPj4+
IC0gICAgICAgICAgICBiZGYgfD0gKHBkZXYtPmJ1cyAmIDB4ZmYpIDw8IDE2Ow0KPj4+IC0gICAg
ICAgICAgICBiZGYgfD0gKHBkZXYtPmRldmZuICYgMHhmZikgPDwgODsNCj4+PiArICAgICAgICAg
ICAgYmRmID0gKGIgPDwgMTYpIHwgKGRmIDw8IDgpOw0KPj4gRG9uJ3Qgd2UgaGF2ZSBhIG1hY3Jv
IGZvciB0aGlzIG5vdz8gUHJvYmFibHkgYmVzdCB0byBzdGFydCB1c2luZyBpdCANCj4+IHdoaWxz
dCBtb2RpZnlpbmcgdGhlIGNvZGUuDQo+IFdlIGRvbid0LiBBbmQgaXQgd291bGQgZmVlbCBzb21l
d2hhdCBtaXNsZWFkaW5nIHRvIHVzZSBQQ0lfQkRGMihiLCBkZikgPDwgOA0KPiBoZXJlLiBUaGUg
c2l0dWF0aW9uIGlzIGV2ZW4gd29yc2UgaW1vOiBCZXNpZGVzIHRoZXJlIG5vdCBiZWluZyBhIG1h
Y3JvLCBJDQo+IGFsc28gY2Fubm90IHNlZW0gdG8gZmluZCBhbnkgZG9jdW1lbnRhdGlvbiBvbiB0
aGlzIG5vbi1zdGFuZGFyZCBsYXlvdXQgKEJERg0KPiBzaGlmdGVkIGxlZnQgYnkgOCkuIFlldCB0
aGVuIGFnYWluIEkgYWxzbyBjYW4ndCBzcG90IGFueSBjYWxsZXIgb2YNCj4geGNfZ2V0X2Rldmlj
ZV9ncm91cCgpIC4uLg0KDQpJJ20gc3VyZSBJIGFscmVhZHkgZGlkIHRoZSBhcmNoYWVvbG9neS4N
Cg0KZGV2aWNlIGdyb3VwcyB3ZXJlIGJyb2tlbiBieSBhIGh5cGVyY2FsbCBib3VuY2UgYnVmZmVy
aW5nIGNoYW5nZSAyIHllYXJzDQpiZWZvcmUgdGhlIG9ubHkgY2FsbGVyIHdhcyBkcm9wcGVkIHdp
dGggWGVuZC4NCg0KVGhpcyBtZXNzIG9mIGEgaHlwZXJjYWxsIGhhcyBkZW1vbnN0cmFibHkgbm90
IGJlZW4gdXNlZCBpbiBhIGRlY2FkZS7CoCBJDQpmaXJtbHkgc3VnZ2VzdCBkcm9wcGluZyBpdCwg
cmF0aGVyIHRoYW4gd2FzdGluZyBlZmZvcnQgdHJ5aW5nIHRvIHVuYnJlYWsNCmFuIGludGVyZmFj
ZSB3aGljaCBuZWVkcyBkZWxldGluZyBhbnl3YXkgYXMgdGhlIGZpcnN0IHN0ZXAgdG8gZG9pbmcN
CklPTU1VIGdyb3Vwcy4NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 11:12:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 11:12:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261949.453858 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDPBQ-0001B1-IK; Fri, 28 Jan 2022 11:12:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261949.453858; Fri, 28 Jan 2022 11:12:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDPBQ-0001Au-FN; Fri, 28 Jan 2022 11:12:48 +0000
Received: by outflank-mailman (input) for mailman id 261949;
 Fri, 28 Jan 2022 11:12:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=i1b2=SM=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nDPBP-0001Ao-IL
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 11:12:47 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 32abf890-802b-11ec-8eb8-a37418f5ba1a;
 Fri, 28 Jan 2022 12:12:45 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 32abf890-802b-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643368365;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=Hi0X0gqQtp0aUUIkI7+NkQoHa6l3pTPoLgVoG5UVM1c=;
  b=bXeCqogoAEqzMiShG344/yBjPp0Fd+2a1/88h/SR05Nn27mJv1eNsG2E
   SXpuc3YJgEaOH63N9pTnDvNqwlvH/8uflf169AnaShEJcIm3pW94abTnx
   Pgne/iUQf7NuYdloTOhZieb/bYm9lkPit8nTdGtJknkD0zK1vurOtFVhc
   g=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: XcUHZ6w6WhlnFR6mIDe/aRXhtJl2m3EhNhUHJtgYYlcZx5InAFZzrDiSelWIFIwg4LNG4ceDhl
 bqGgThoj8ezwtdna3boEpGx33hTEWsSQY1DamXNeDvARQVOF8oXmzCO8dIPF8ZoN3PmU302nL/
 BP52/tAAHFhh961DLna7KlKFjQRBtJjNl9exbwXxYVlCI5mhOkLw8bEUrtQA95ifNb/AquDWvE
 U2qNXiG0JHoZvBhEZr0ymV5tJAlZBmK68qgVvUcdpN2JXKrRaoazF3q9y+NEk8r7URpDWuQFY/
 ArEcqecaXJQhM3nMwzfk9GHL
X-SBRS: 5.2
X-MesageID: 63381032
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:8jCpSKtWEIYeNV8qlsW2jOkusufnVKVZMUV32f8akzHdYApBsoF/q
 tZmKT2Ga/nfNmT1LtwjYNvg9RtQvcWDn4RiHVNl/ChnQX9H+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZQP0VOZigHtIQMsadUsxKbVIiGHdJZS5LwbZj2NYx24jhWGthh
 PupyyHhEA79s9JLGjp8B5Kr8HuDa9yr5Vv0FnRnDRx6lAe2e0s9VfrzFonoR5fMeaFGH/bSe
 gr25OrRElU1XfsaIojNfr7TKiXmS1NJVOSEoiI+t6OK2nCuqsGuu0qS2TV1hUp/0l20c95NJ
 Npl6IeoZyIxF/X1h9teaRRyOj5xZoRp0eqSSZS/mZT7I0zudnLtx7NlDV0sPJ1e8eFyaY1M3
 aVGcnZXNEnF3r/ohuLgIgVvrp1LwM3DNYUDunZm3HfBAOwvW5zrSKTW/95Imjw3g6iiGN6AP
 JFJMGI0NnwsZTVdIVUaDoI9kN2h3EvzUQx3sHySi5Iotj27IAtZj+G2bYu9lsaxbdpRtlaVo
 CTB5WuRKhMVLtuE0hKe72mhwOTImEvTWowfFLm5+dZxnUaegGcUDXU+WVWyrva4jUq/c8lCM
 EFS8S0rxYAi+UruQtTjUhmQpH+fogVaS9dWC/c96gyG1uzT+QnxO4QfZmcfMpp87pZwHGF0k
 A/S9z/0OdBxmOCOUVy47p7MlCyNehIYB0YdanQtYiJQtrEPv7oPph7IS99iFou8gdv0BSz8z
 li2kcQuu1kApZVVjvvmpDgrlxrp/8GUFVBtum07S0r4tlsRWWKzW2C/BbE3B95kJZ3RcFSOt
 WNsdyO2vLFXVsHleMBgrYww8FCVCxStbWW0bb1HRcBJG9GRF5iLJ904DNZWfx8BDyr8UWW1C
 HI/QCsIjHOpAFOkbLVsf6W6ANkwwK7rGLzND66INYAVOsMvKVfarUmCgHJ8OUi3ziDAdolkY
 f+mnTuEVy5GWcyLMhLoLwvi7VPb7n9nnj6CLXwK5x+mzaCfdBaopUQtazOzghQCxPrc+m39q
 o8HX+PTkkk3eLCgPkH/rNBCRXhXfSlTLc2n8KR/K7/cSjeK7Ul8UZc9N5t7Jdw890mU/8+Vl
 kyAtrhwkQqm2iafeFzUMxiOqtrHBP5CkJ7yBgR0VX7A5pTpSdz2hEvGX5doL7Qh6sJ5yvt4E
 6sMd8maW6wdQTXb4TUNK5L6qdU6JhisgAuPOQujYSQ+IME8F1CYpIe8c1u97jQKAwq2qdA6/
 ++q2DTETMdRXA9lFsvXNq6ilgvjoXgHletudELUOd0PKl70+Y1nJnWp3P86Ks0BMzvZwT6e2
 1rECBsUv7CV8YQ07MPIleaPqILwS7lyGU9THm/667eqNHaFojr/kNEYCOvRJGLTTmL5/qmmd
 N559fCkPa1VhktOvqp9D61vkfA06ezwquII1Q9jBnjKMQimU+syPnmc0MBTnaRR3bsF6xCuU
 0eC99QGa7WEPMTpTAwYKAY/N7nR0PgVnn/Z7OgvIVW87yhypeLVXUJXNhiKqSpcMLoqb991n
 bZ/4JYbu16llx4nEtealSQFpW2DI0sJX7gjqpxHUpTgjRAmyw0abJHRYsMsDEpjtzmY3pEWH
 wKp
IronPort-HdrOrdr: A9a23:MS89R6P50KPhacBcTsOjsMiBIKoaSvp037Eqv3oRdfVwSL3+qy
 nOpoV+6faaslossR0b9uxofZPwJ080lqQFhLX5X43SPzUO0VHAROoJgLcKgQeQeREWntQtrJ
 uIGJIfNDSfNzZHsfo=
X-IronPort-AV: E=Sophos;i="5.88,323,1635220800"; 
   d="scan'208";a="63381032"
Date: Fri, 28 Jan 2022 11:12:14 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Dario Faggioli <dfaggioli@suse.com>
CC: <xen-devel@lists.xenproject.org>, James Fehlig <jfehlig@suse.com>, Wei Liu
	<wl@xen.org>, Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH v2] tools/libs/light: don't touch nr_vcpus_out if listing
 vcpus and returning NULL
Message-ID: <YfPPjkfPK/VpZcQW@perard>
References: <164335968477.24662.7673734521447971250.stgit@work>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <164335968477.24662.7673734521447971250.stgit@work>

On Fri, Jan 28, 2022 at 09:48:05AM +0100, Dario Faggioli wrote:
> If we are in libxl_list_vcpu() and we are returning NULL, let's avoid
> touching the output parameter *nr_vcpus_out, which the caller should
> have initialized to 0.
> 
> The current behavior could be problematic if are creating a domain and,
> in the meantime, an existing one is destroyed when we have already done
> some steps of the loop. At which point, we'd return a NULL list of vcpus
> but with something different than 0 as the number of vcpus in that list.
> And this can cause troubles in the callers (e.g., nr_vcpus_on_nodes()),
> when they do a libxl_vcpuinfo_list_free().
> 
> Crashes due to this are rare and difficult to reproduce, but have been
> observed, with stack traces looking like this one:
> 
> #0  libxl_bitmap_dispose (map=map@entry=0x50) at libxl_utils.c:626
> #1  0x00007fe72c993a32 in libxl_vcpuinfo_dispose (p=p@entry=0x38) at _libxl_types.c:692
> #2  0x00007fe72c94e3c4 in libxl_vcpuinfo_list_free (list=0x0, nr=<optimized out>) at libxl_utils.c:1059
> #3  0x00007fe72c9528bf in nr_vcpus_on_nodes (vcpus_on_node=0x7fe71000eb60, suitable_cpumap=0x7fe721df0d38, tinfo_elements=48, tinfo=0x7fe7101b3900, gc=0x7fe7101bbfa0) at libxl_numa.c:258
> #4  libxl__get_numa_candidate (gc=gc@entry=0x7fe7100033a0, min_free_memkb=4233216, min_cpus=4, min_nodes=min_nodes@entry=0, max_nodes=max_nodes@entry=0, suitable_cpumap=suitable_cpumap@entry=0x7fe721df0d38, numa_cmpf=0x7fe72c940110 <numa_cmpf>, cndt_out=0x7fe721df0cf0, cndt_found=0x7fe721df0cb4) at libxl_numa.c:394
> #5  0x00007fe72c94152b in numa_place_domain (d_config=0x7fe721df11b0, domid=975, gc=0x7fe7100033a0) at libxl_dom.c:209
> #6  libxl__build_pre (gc=gc@entry=0x7fe7100033a0, domid=domid@entry=975, d_config=d_config@entry=0x7fe721df11b0, state=state@entry=0x7fe710077700) at libxl_dom.c:436
> #7  0x00007fe72c92c4a5 in libxl__domain_build (gc=0x7fe7100033a0, d_config=d_config@entry=0x7fe721df11b0, domid=975, state=0x7fe710077700) at libxl_create.c:444
> #8  0x00007fe72c92de8b in domcreate_bootloader_done (egc=0x7fe721df0f60, bl=0x7fe7100778c0, rc=<optimized out>) at libxl_create.c:1222
> #9  0x00007fe72c980425 in libxl__bootloader_run (egc=egc@entry=0x7fe721df0f60, bl=bl@entry=0x7fe7100778c0) at libxl_bootloader.c:403
> #10 0x00007fe72c92f281 in initiate_domain_create (egc=egc@entry=0x7fe721df0f60, dcs=dcs@entry=0x7fe7100771b0) at libxl_create.c:1159
> #11 0x00007fe72c92f456 in do_domain_create (ctx=ctx@entry=0x7fe71001c840, d_config=d_config@entry=0x7fe721df11b0, domid=domid@entry=0x7fe721df10a8, restore_fd=restore_fd@entry=-1, send_back_fd=send_back_fd@entry=-1, params=params@entry=0x0, ao_how=0x0, aop_console_how=0x7fe721df10f0) at libxl_create.c:1856
> #12 0x00007fe72c92f776 in libxl_domain_create_new (ctx=0x7fe71001c840, d_config=d_config@entry=0x7fe721df11b0, domid=domid@entry=0x7fe721df10a8, ao_how=ao_how@entry=0x0, aop_console_how=aop_console_how@entry=0x7fe721df10f0) at libxl_create.c:2075
> 
> Signed-off-by: Dario Faggioli <dfaggioli@suse.com>
> Tested-by: James Fehlig <jfehlig@suse.com>
> ---
> This change should be backported to all supported branches.
> ---
> Changes from v1:
> - dropped patch 1; this one is enough of a fix
> - removed an assert() deemed non necessary
> - kept GC_FREE just before return in libxl_list_vcpu()
> - nr_vcpus is now unsigned
> - fix some typos
> ---

Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 11:15:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 11:15:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261953.453870 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDPDe-0001lA-V8; Fri, 28 Jan 2022 11:15:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261953.453870; Fri, 28 Jan 2022 11: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 1nDPDe-0001l3-Ro; Fri, 28 Jan 2022 11:15:06 +0000
Received: by outflank-mailman (input) for mailman id 261953;
 Fri, 28 Jan 2022 11:15:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=B5aJ=SM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nDPDd-0001kv-8V
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 11:15:05 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8a7fa558-802b-11ec-8eb8-a37418f5ba1a;
 Fri, 28 Jan 2022 12:15:04 +0100 (CET)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2105.outbound.protection.outlook.com [104.47.17.105]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-23-mmcoWYxFOjWWqjNrdkbFzA-1; Fri, 28 Jan 2022 12:15:02 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DB7PR04MB5146.eurprd04.prod.outlook.com (2603:10a6:10:23::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Fri, 28 Jan
 2022 11:15:00 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Fri, 28 Jan 2022
 11:15:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8a7fa558-802b-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643368503;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=XmIHgUr8HiWv1bY0ay18YAn1MnrOKIQ/iHnjgU61aDA=;
	b=YjxQeTKn/Q6IiGRig9a7ZZOsb6Ox/rBI5HxDYMzu+GVjDthcy/MYxKVTsOK5n7i2AJDWim
	xK8Ac7Euao6Ah+V3EW8sLcBC9WaYTp0EiFL0RA+rZuOyV0Fw7NGIncLUkC1HqjLvbHEKf1
	7IPeih0uMMlZsdSDNHppK+fUqIBytpM=
X-MC-Unique: mmcoWYxFOjWWqjNrdkbFzA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TS0J+I7X6xntXtIlC3GVM4Yu4k4lvcFNtD4Hr/CFGT0m4eJSO7MPWNRID8B1H5gywCkmFwQ67LPcQEHlu6HZDQjUbwqFzgBiXsBWxtM0LDGnTV1KWxXW/JhZ1AEsbIjEH41l+aNMxa2TNWN0E2Ej8QGVCRRIv6UknTmgRZ0nXZN/KoJGN3zxDC9rjZnGtFSjWJfTUV4D3amshC2qX+IH0WF2GF/yh+QKEzMozmerCKxX7CuOrO5oJa+fRduMgc0o5MkXhyqXs228IUnNzTjLCif0y+y7FFF8vVpQr1qATS4ohSop5ZPR1khEjk+IkNb/XkWDdPbnyKBPqS/Vusa9Lg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XmIHgUr8HiWv1bY0ay18YAn1MnrOKIQ/iHnjgU61aDA=;
 b=C9fC6lSKlkHRl+I/PbtfbVo5VyLaBI0ykGFBLtuBuNEbq9k0BL5gQ8fSgVjXueE91daCOn4B65CqMqRruQsLN9uCQkP3KwckP2mKqYZjShsVdBkJEXxNe3QnnggnGmJrHD2Y9L0DpDUsBN4dd/Abe68/+LqCx3rvCT1oFkZiNja9Wp4rkL0i+piOn3r0U3m0YeBqb4W+Vye/9x3DcRml+vKcA+rKwxnxXyhgHfT02aHFYLmKdCRo9eATdht95WvGBe8/5ruSFJW2Zbdgc6J9qL9Nx7I+NDQtHTUmvQIQm/28YVYG7nkD+vBpHRgKG/DKucc4is3Zom6qjr15HBESQA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d729f897-6319-e82d-f953-c8411fde1e07@suse.com>
Date: Fri, 28 Jan 2022 12:14:58 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [XEN PATCH v9 03/30] build: fix exported variable name
 CFLAGS_stack_boundary
Content-Language: en-US
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: <20220125110103.3527686-1-anthony.perard@citrix.com>
 <20220125110103.3527686-4-anthony.perard@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220125110103.3527686-4-anthony.perard@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR08CA0013.eurprd08.prod.outlook.com
 (2603:10a6:20b:b2::25) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: fb568cc2-a05e-4bd9-23ef-08d9e24f6c67
X-MS-TrafficTypeDiagnostic: DB7PR04MB5146:EE_
X-Microsoft-Antispam-PRVS:
	<DB7PR04MB51463F5764E3CE65AF47A872B3229@DB7PR04MB5146.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:
	7ISgl40oUt5r28hVB7lpLaZnRd8WAxXAenl4JkxGGWsZsxRCUXzMn3PkyzXm48/TmkffQePF1g49q2hB9YK2UZ2nOjZNWZgEhvAWvBXOQcdvV2N6K04X+u4p0f3Kx6KFKnFbZ0/5wAoA4HrEk8jePIpRw5RO9YMh3fm2uIaN9YLNlFa0prKi1wOOpRGZPleRyv9ntACtdKvDhTlzy/d+uBXfjE0C2vmi8secdYRe6hpPAgjUa/Vcf9EaAy7EcbwK9dbuPHoPhqIXq1WW3KdmIV5jq22LXsAekokxrz9uwpPnUapYOUnX3PsGvxl9p64Xxx5mjILgPvU06gHFrmo3kqUY8WwrU8XAaIqF3pByF6fNJzNO50+IoZKcITLJukE+SNyXFfKa/m8AMmJvV7cVCl+zknRNwI+1DziWIr6Y9sM5WhGiSfIuq1zQbeTIZ1iy1fhuOPkXWCyVtCMwo3fWx9TPqZJ1kpgUSeqFr811yC+M4hRcp2fEw/ZuSeFkZpABI+XBi/0BfoJfih37KZQ+GJ7XfhZCuODiGPdKvSqubg81PXsYClKRXcCENGfp7ym+IE9B+2WKPT+BM1M55fonRdkplEO+DVC4bAJYTKyfRMG4qXGbSaxhb47XSzOxbe0vlExLIDeOaN2nB+tU7iHAyKEBfLIF2llmbCaGkwDpg5yqxqk3ut3Hlqd8W/aRc37BOAmNlU8jHZ8anh330reITxpHMEdq6drguT4DvoKJncA=
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:(13230001)(366004)(4744005)(53546011)(26005)(6506007)(2906002)(186003)(66476007)(38100700002)(66556008)(6512007)(2616005)(66946007)(6916009)(31696002)(4326008)(8936002)(5660300002)(31686004)(316002)(86362001)(508600001)(6486002)(54906003)(36756003)(8676002)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UElFSVRRRU1keTBWdGY2MmlhQmlVTW1RSWhIa29qVzdDR1lJeXZXbHRISFZQ?=
 =?utf-8?B?VlNiRU9PZkNrU3JQYWwxcmhVY0cwS3IyOHVWOUl6UjZ1RXdFRTMwcE8weHY2?=
 =?utf-8?B?L01YRjRyTUszSWMwM3hxczZwa2l3TnROaFhMdnF6VXFHWWg2U1VkYVE3VU4y?=
 =?utf-8?B?bG5VUGVxY3BjajZHaktvM3dkYVArTmhoRjFmTnZDcG03ei9ZZWpPZldhbmJj?=
 =?utf-8?B?a2h3OE01YzBzU3NzQlhTVnBhdlBVVE10bEgyREpQWllLK2M5RktnTkxNRDhr?=
 =?utf-8?B?V01EeldNL3FIVWlVVTBOS0dVaE1IZXc4ZWl5SElxdnU3ZmxrZTNXOW9yRUUr?=
 =?utf-8?B?c21QUy82bEV0ZkdYOTdsNlhVd2Vjd2xLZVJPZ3lGVjByNHVBMXRuU2JXSTFW?=
 =?utf-8?B?Uzg0VVRudWszUzJWMEZ0cTJ1MFZQSDBhRnJMeG1LRGJYVStzM3RIWmpoWWcw?=
 =?utf-8?B?ZVBkcVp0cUZOWjhLRTJDOFIzZEFuK1daUkJMblNSdTgyL2VOdjdoSkV1aGsy?=
 =?utf-8?B?TVZRcTFhWmprRm1yOTJxVzRyK0NXdVFiL3hEb250WWgzMVBzdVhxdnhtaHg2?=
 =?utf-8?B?VHE3QXAzSXRBS3NVcTA4RkUvZDVKbWJKdW5pYmVMV2tsRHFjdkdNM05sbVBx?=
 =?utf-8?B?Ym1XemorQ2RYRitId1dkNkRBUWJMMlVtenRMdlU2MW1OWHcxZFlGdTVpVTk1?=
 =?utf-8?B?WHRlZlM2RElwcmpVQ25jSlhvZzdYU2pKeVUvYWVxVlRzRjI2aUlVYnZZVHBW?=
 =?utf-8?B?M1VjUHdIUi9qY3VLZmx3RXpwSlFzOGRQUXVUdUYrVjNJOFV5QUpkYkFjR1Zu?=
 =?utf-8?B?WHRVOE9sc09HeWc0MkRFemtBbllXYk92ZnJ6OTdRUExBTnJjQUpKcUx5cmU2?=
 =?utf-8?B?blVEYVVPb2liMjE2emlnUHpKVWJ6ZU5tZHdmZ1dQajN0Vjl1SjBSZktITGdh?=
 =?utf-8?B?Vi9QV1gyZ1Y4dFlFd0xYZkljYUQ4U29va1c1NkVSMGZ2SXdKb3ZpV3lEUFNs?=
 =?utf-8?B?eXUrWnJOWGx3Q1ZKdkd5NS95WlRuWHFnNm5KQ3JwOHpOdGg4bWR5MFhML09u?=
 =?utf-8?B?bGZqSTE4TUFCcVdpWFA0ejlXQkQ4Yk1jNXNTL2JNejlIbWpwbnVPUnR0bFQw?=
 =?utf-8?B?bnV1aWVHam41bHlOMEJVNjVUVWUzajBWMGo4WjZ3eTNPRFVETzZQNGJ2UUt1?=
 =?utf-8?B?QkhFcDhvU2hzZnNWT280eXRFVmcybTBONmtlRis2VDAxeFFrbUk3dUVyQUp5?=
 =?utf-8?B?dVpYOTlmU1BwN2Rpd0pnbllJaFBhUE55TWsvYmhDMUEvY0szV2Y0TGZPakhn?=
 =?utf-8?B?czhtNm9UbGdkOW1MSmVaMjRaNnY4KzFnZXpPdE5CWTRLS1FkbXdZRFVNTXVz?=
 =?utf-8?B?QzhYM0YwRWZQbFp1ZkQ4V1VROWE4UW5PV2YyUnRXeitEK0Nyd2x5Z3p3OEJT?=
 =?utf-8?B?OUMxWWhjeVYzV2Y0Mm1janpLWjBMdDZRWWFFeDNENGh2WHdZeStQMUlvcTBl?=
 =?utf-8?B?T1ZXdkFkeFJONGUrZGR2Q093c0c4NTR0VFUyZFU5Zmp0b3dhS0dKSjJ5ZU9J?=
 =?utf-8?B?eER3T1BqTWNrbUNHSzZOVnZsTHFObHQzRlpWNmpDaVlwMXZvVWNiMXd0Wnc3?=
 =?utf-8?B?eVFWT1loK2tPRzZ4Q0pTSkpHSGJYM2xZRlp0OHdnRGx3bE1xVW9WWExNMEVO?=
 =?utf-8?B?dmxlUFg1U1pTK2Vkb285aTJMZGgxOWRkT3djNDdtczdwQVFUd0R1ZUtYcHh3?=
 =?utf-8?B?QmZVYnZZZHVPYnNzU0F5dEhVWDRGcjZuY2tlVmczT3JHa2RPa2hzOEpZU0Jk?=
 =?utf-8?B?ZENYb1BJWVVmaS95cy84NHNMR1dKOGV6YzMwQXZ4VjZ6elNIdHhQZlUyYURV?=
 =?utf-8?B?RWZ6dk5Da2xDZVZPKzVvR3NhMWQ1VVQ5Nm95Qkt6b2pKcTlUVW5PQVhDc1k4?=
 =?utf-8?B?Y25JdUVVNENIcU5leXdVSm9OR0Y5OXI0WE4xUklaNjJ1dW9teG1hU3kzMzNh?=
 =?utf-8?B?emltYkZ4YitEQ3RmUjlwL2pLR3FjSnB5ejl5TUFCZlF1dkZEaFF0elJnWGgz?=
 =?utf-8?B?aTBqMGFRK3pzcU1QVUtMeXVxKzQvamMzRDNHVExzOUFtUjNjb0YraGxSTmk5?=
 =?utf-8?B?QWpDSjRWUUJSK3grQU1ILzVIaGhPMSsyQjUrSjhlNGtTNEkrZG5HNlZyOW83?=
 =?utf-8?Q?CFNubUiuaxquqmGYE9fiTGg=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fb568cc2-a05e-4bd9-23ef-08d9e24f6c67
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jan 2022 11:15:00.0971
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: joQg+h0ZI3XgwXM/aGCGz0Y9r7k/J1Xrx3G0IoQZq/3gpM3cdfDkjL9JDnLuuUOTLHQh0uO277Wqt+FgPxwGzg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB5146

On 25.01.2022 12:00, Anthony PERARD wrote:
> Exporting a variable with a dash doesn't work reliably, they may be
> striped from the environment when calling a sub-make or sub-shell.
> 
> CFLAGS-stack-boundary start to be removed from env in patch "build:
> set ALL_OBJS in main Makefile; move prelink.o to main Makefile" when
> running `make "ALL_OBJS=.."` due to the addition of the quote. At
> least in my empirical tests.
> 
> Fixes: 2740d96efd ("xen/build: have the root Makefile generates the CFLAGS")
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

While I did commit this, I'm still somewhat confused. How would quoting
of elements on a make command line make a difference to which variables
get exported?

In any event I understand the description that prior to the subsequent
change there's not actually any issue. Hence I'm not going to queue
this for backporting despite the Fixes: tag. Unless of course I'm told
otherwise (with justification).

Jan



From xen-devel-bounces@lists.xenproject.org Fri Jan 28 11:29:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 11:29:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261958.453880 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDPRZ-0003aQ-Aw; Fri, 28 Jan 2022 11:29:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261958.453880; Fri, 28 Jan 2022 11:29:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDPRZ-0003aJ-7m; Fri, 28 Jan 2022 11:29:29 +0000
Received: by outflank-mailman (input) for mailman id 261958;
 Fri, 28 Jan 2022 11:29: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 1nDPRY-0003a9-FE; Fri, 28 Jan 2022 11:29: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 1nDPRY-0003UG-DG; Fri, 28 Jan 2022 11:29: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 1nDPRX-00081M-Si; Fri, 28 Jan 2022 11:29:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nDPRX-00056Y-Rz; Fri, 28 Jan 2022 11:29:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=5eVCG8i6Gt55C77YeN61edl2r3sKcs7Lo6GJD1VQcYc=; b=zF+VaiNWm58wRL4GCnAL0cZ7kb
	1D4fPPbY/08fl7D72oiPrIifY3wOOPDM0NtGtBH7pGctx1VLluYWTU7tXVBpeSD1eNsaShQW4Sre3
	+x5CXh6auceEPnOLhvLUxLyg7CIqpIdGxXrIBKC+NTSFj0J5nEYR9rCXXfzwVQVyWQrI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167922-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167922: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check: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-armhf-armhf-libvirt-qcow2:saverestore-support-check: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: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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-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-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-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw: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-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=cfe63e46be0a1f8a7fd2fd5547222f8344a43279
X-Osstest-Versions-That:
    qemuu=48302d4eb628ff0bea4d7e92cbf6b726410eb4c3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 28 Jan 2022 11:29:27 +0000

flight 167922 qemu-mainline real [real]
flight 167932 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/167922/
http://logs.test-lab.xenproject.org/osstest/logs/167932/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 167932-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167884
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167884
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167884
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167884
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167884
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167884
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167884
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167884
 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     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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          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-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                cfe63e46be0a1f8a7fd2fd5547222f8344a43279
baseline version:
 qemuu                48302d4eb628ff0bea4d7e92cbf6b726410eb4c3

Last test of basis   167884  2022-01-26 15:06:58 Z    1 days
Testing same since   167922  2022-01-27 17:38:15 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Markus Armbruster <armbru@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>
  Victor Toso <victortoso@redhat.com>
  Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.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                 fail    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   48302d4eb6..cfe63e46be  cfe63e46be0a1f8a7fd2fd5547222f8344a43279 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 11:32:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 11:32:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261966.453891 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDPUS-0004xR-QL; Fri, 28 Jan 2022 11:32:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261966.453891; Fri, 28 Jan 2022 11: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 1nDPUS-0004xK-NM; Fri, 28 Jan 2022 11:32:28 +0000
Received: by outflank-mailman (input) for mailman id 261966;
 Fri, 28 Jan 2022 11:32:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=i1b2=SM=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nDPUR-0004xE-Rc
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 11:32:27 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f71ad9a2-802d-11ec-8f75-fffcc8bd4f1a;
 Fri, 28 Jan 2022 12:32:26 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f71ad9a2-802d-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643369546;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=e5q/44vJODyf7qMYzeeneh5rniTWVTHCWe3p4+g/FfQ=;
  b=FpHdmOuVzR3tviwZjJaFH6ggJwOVopY1Nlpv0fWMBlV+K8PBjYNIao3H
   GtItkzoKadT/hGbfzomYtCbrU1NcfJyuwFVm/TpD3ZK5zB00m9NwpQ4U0
   HV4VF1HvTgpWI6NBb1mTkhZ49z5VoHv/2ov5193bspyGEh/0nMVP6TbkG
   g=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: uJT9nUtCfec8y9bMNecZjcfkqlY6PtU3UBiAAvtOU+YTcFwJP0lHQwW//7vPAGmYiSsAbS6PmV
 fPG+PLRIVOfL2cCcxarx/MoHsb639EmL2LbTuGVf86iuhuvf8sls5iIF58yk7I1Vh0PFntxxNr
 nN8JIVK+IGa0C6XBUxkuPeDBwRb/JL7d56NqyN9M7SmX35fb+3q3ViIFwx98IS8Fbdmu9GUz4S
 IrUh+DiNdHPE5ozUgZT8UxcWFzzD3PQRdCRPDY3zc1i4+WI1mQRPCmBY0ujvTZg8za5+Ga6nWK
 Hqyie2U1v1+wAwNSKLlDQNvj
X-SBRS: 5.2
X-MesageID: 65153195
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:V+nho6rsg4A133KS00Qf+7YKUoteBmKyYhIvgKrLsJaIsI4StFCzt
 garIBnTOvneN2ahLopzaoixo0xT6JCGzd42S1A6rS0yHyIW85uZCYyVIHmrMnLJJKUvbq7GA
 +byyDXkBJppJpMJjk71atANlZT4vE2xbuKU5NTsY0idfic5Dndx4f5fs7Rh2NQw2ILpW1jlV
 e7a+KUzBnf0g1aYDUpMg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJ8DO+iL
 9sv+Znilo/vE7XBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XnRfTAKtao2zhojx/9
 DlCnbKUEUBwMbXXobs2VgdUHg10MrMbv6CSdBBTseTLp6HHW37lwvEoB0AqJ4wIvO1wBAmi9
 9RBdmpLNErawbvrnvTrEYGAhex6RCXvFIoZpnFnyyCfFfs8SIrPa67L+cVZzHE7gcUm8fP2O
 ZdANGE2PUmojxtnJ3Y+L6pnvOCRgHjScXpFjHOupLANyj2GpOB2+Oe0a4eEEjCQfu1rmUKfq
 nPD7n7OKBgQP9yCyhKI6nupwOTImEvTUo8ICKex8PIshVSJ33ESEzUfT179qv684mauVtQaJ
 0EK9y4Gqakp6FftXtT7Rwe/onOPolgbQdU4O/I+wBGAzOzT+QnxLmoOQyNFadcmnNQrXjFs3
 ViM9/vrGDhuvbu9WX+bsLCOoluaIjMJJGUPYSsFSwot4NT5pow3yBXVQb5e/LWd14OvX2uqm
 nbT8XZ41+57YdM3O7uT03SfxGujvoPwESUw+Anacmiq8F4+e9vwD2C30mTz4fFFJYefa1COu
 nkYhsSThNwz4YGxeD+lG7tUQuzwjxqRGHiF2AM0QcF9n9i40yP7JehtDCdCyFCF2yruURvge
 wfttAxY//e/11P6PPYsM+pd5ynHpJUM9OgJtNiJNrKigbArLWdrGR2Cg2bKgggBd2B3yckC1
 W+zK5rEMJrjIf0PIMCKb+kcy6Q34Ss12HneQ5v2pzz+j+bFPiXNEulYaAbfBgzc0E9iiF+Lm
 zq4H5DSoyizrcWkOnWHmWLtBQ5iwYcH6WDe9JUMK7/rzvtOE2A9Ef7BqY7NiKQ+95m5Ytzgp
 ynnMmcBkQKXrSSedW2iNy4/AJuyA8cXhS9rbEQEYAfzs1B+MNnH0UvqX8ZtFVXR3LY9nacco
 jhsU5joP8mjvRyeq21CNsGs9dI7HPlp7CrXVxeYjPEEV8YIb2T0FhXMJWMDLQECUXi6s9UQu
 bql2l+JSJYPXV06Xs3XdOiu3xW6un1EwLB+WE7BI99yfkTw8dc1d3yt36Fve8xcew/ewja61
 hqNBUtKr+f6vIJoosLCgrqJrtn1HrImTFZaBWTS8Z2/KTLeoji42YZFXevRJWLdWWr49b+Mf
 +JQy/2gYvQLkEwT69h3EqpxzLJ47Nzq/ucIwgNhFXTNTlKqFrI/fSXWgZgR7vVAn+YLtxG3V
 0SD/shhFY+IYM61QkQMIAcFb/iY0a1GkDfl8vlocl7x4zV6/eTbXBwKbQWMkiFUMJB8LJghn
 bU6oMcT5gGy1kgqP9KBgnwG/miANCVdAaAut5VcC473kAs7jFpFZMWEWCPx5ZiObfRKM1Urf
 WDI1PaT2ewEyxqQaWc3GFjMwfFZ1MYHtx19xVMfI0iEx4jejfgt0RwNqTk6Q2y5FPmcPz6f7
 oSzC3BIGA==
IronPort-HdrOrdr: A9a23:dMSS56BcTpKH6cTlHems55DYdb4zR+YMi2TC1yhKJyC9Vvbo8/
 xG/c5rsCMc5wx9ZJhNo7y90ey7MBThHP1OkOss1NWZPDUO0VHAROoJ0WKh+UyCJ8SXzJ866U
 4KSclD4bPLYmRHsQ==
X-IronPort-AV: E=Sophos;i="5.88,323,1635220800"; 
   d="scan'208";a="65153195"
Date: Fri, 28 Jan 2022 11:32:15 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	<xen-devel@lists.xenproject.org>
Subject: Re: [XEN PATCH v9 04/30] build: set ALL_OBJS in main Makefile; move
 prelink.o to main Makefile
Message-ID: <YfPUP6iAatz9JPaS@perard>
References: <20220125110103.3527686-1-anthony.perard@citrix.com>
 <20220125110103.3527686-5-anthony.perard@citrix.com>
 <9bd4d8e6-d426-97be-f1d4-429a793f888c@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <9bd4d8e6-d426-97be-f1d4-429a793f888c@suse.com>

On Thu, Jan 27, 2022 at 04:50:32PM +0100, Jan Beulich wrote:
> On 25.01.2022 12:00, Anthony PERARD wrote:
> > --- a/xen/Makefile
> > +++ b/xen/Makefile
> > @@ -285,6 +285,16 @@ CFLAGS += -flto
> >  LDFLAGS-$(CONFIG_CC_IS_CLANG) += -plugin LLVMgold.so
> >  endif
> >  
> > +# Note that link order matters!
> 
> Merely as a remark: I wonder how applicable that comment is anymore.
> If anything I'd expect it to be relevant to $(TARGET_SUBARCH)/head.o
> (Arm) and boot/built_in.o (x86), neither of which get named here.

Indeed, the order here probably doesn't matter. I tried to build on x86
with the list reversed (so still leaving boot/ first) and the build
works. I didn't try to boot it.

Maybe it's time to retire the comment?

> > @@ -407,7 +417,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) MKRELOC=$(MKRELOC) $@
> > +	$(MAKE) -f $(BASEDIR)/Rules.mk MKRELOC=$(MKRELOC) "ALL_OBJS=$(ALL_OBJS-y)" "ALL_LIBS=$(ALL_LIBS-y)" $@
> 
> I'm always a little wary of using double quotes when it's not clear
> what exactly a macro may expand to. Single quotes at least have less
> restrictions ...

Using single quotes sounds good.

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 11:41:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 11:41:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261970.453903 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDPdT-0006VW-OM; Fri, 28 Jan 2022 11:41:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261970.453903; Fri, 28 Jan 2022 11:41:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDPdT-0006VP-LT; Fri, 28 Jan 2022 11:41:47 +0000
Received: by outflank-mailman (input) for mailman id 261970;
 Fri, 28 Jan 2022 11:41:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=B5aJ=SM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nDPdS-0006Uz-60
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 11:41:46 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 44c18a75-802f-11ec-8f75-fffcc8bd4f1a;
 Fri, 28 Jan 2022 12:41:44 +0100 (CET)
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur02lp2054.outbound.protection.outlook.com [104.47.5.54]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-24-SOm1B_QlOFafBNT5KCp64A-1; Fri, 28 Jan 2022 12:41:43 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DB9PR04MB8172.eurprd04.prod.outlook.com (2603:10a6:10:249::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.19; Fri, 28 Jan
 2022 11:41:41 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Fri, 28 Jan 2022
 11: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: 44c18a75-802f-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643370104;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=ng4cWlIouCpGvfbfFpdMWlqZ7oGFx6uPQrKT4270Aco=;
	b=FMF12FYfptT4chIERqo1Wi+a72KCPkyC6GImZOxevgpcQPhb7f0axWir/CLD4Zm9snqEYt
	6zrVsJo5lyXmsLx4DAHueyfkFbJ79dK5cN+uMSsV+AAFAJB5qsFUQDiEVDXTlN8PuByMjQ
	cqrR8kUoSvW4zgnTnuE9hYh6ij/X+KU=
X-MC-Unique: SOm1B_QlOFafBNT5KCp64A-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UJVUsxHLk3X64jNJre5xPQHvrPtwl4By+OTjI+IO9zYL9g02Kz4vsq7F/1qZawnOZsoZ64BWXa9vBA1agv5AJmCtjYKJtYy/kGmtgo6RBkeHDjiEV+hoaAfL1rkZnQJABo2/rDuhTJW/zZUNBqGiYEviBBcm1UAvKuS+NMUVfi/GbFHOwjpUVx1VNjOxPLJ80xw3mAi1sCSlUS/xPkJwzxFdJvU4SEwflyn+ddKdxCrDWy3X5/I9UgwsryTveA3FT6+y4gBnRqJs9oE7nY9vEGVRNWJ3KME+0rLJkr+FM9sapFEbFF+KsXSqHnFuHkKnZgtf617sNRyfatm+0Jp8qg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ng4cWlIouCpGvfbfFpdMWlqZ7oGFx6uPQrKT4270Aco=;
 b=RAU674MzRR3KHcfk03iM9LKvlMzrOCkqHF4n9gukKY2W0ml1uCEaL3tc4K07pjhMt3bCIao5HES1W9iWAb0M+tsBB2pUf9U/tR1Pwffn10VG9vMCNU0KRS+sJifedM6T7dO/SsUqYR1sc6WWziJpzu2jWs15EtJWpzulNXK8k17V+x2cc5R5tJHostgchRfS6B/QGkoWn/zWzbT4UTfcRqBwh7NTV3Mur+oN84mZKVE2rvGkj5xHRI+dTQVIHd1H3kWIQeL36WKw1yvOhyIP7fmCUo6oLf7AthUyJBRnMsTM1kfyrsm/QooLDHxrs7f+anpoQtUA3DnVAn1hnY6CjA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4c757048-bf9f-5743-a2e7-cbf5a7fd97d5@suse.com>
Date: Fri, 28 Jan 2022 12:41:38 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [XEN PATCH v9 04/30] build: set ALL_OBJS in main Makefile; move
 prelink.o to main Makefile
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20220125110103.3527686-1-anthony.perard@citrix.com>
 <20220125110103.3527686-5-anthony.perard@citrix.com>
 <9bd4d8e6-d426-97be-f1d4-429a793f888c@suse.com> <YfPUP6iAatz9JPaS@perard>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YfPUP6iAatz9JPaS@perard>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P193CA0059.EURP193.PROD.OUTLOOK.COM
 (2603:10a6:209:8e::36) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8d516091-1b97-4447-62f5-08d9e2532666
X-MS-TrafficTypeDiagnostic: DB9PR04MB8172:EE_
X-Microsoft-Antispam-PRVS:
	<DB9PR04MB81727953EFFB924AE19193E3B3229@DB9PR04MB8172.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:
	+RqOMRM0KLBg7GDnfmEwlRzXam0QnOfzBI29tSb6iGrzsd64svF3AVnse3Jw+eMvUhlFhj9LYmFaDEMPLJvM+dQ55eoJ4gpoWlw9CGAat2gfZl0YzcGgweIKnfCWF0sIX4PW6uBgpIin/khZPmSYzGJDTgLB0cQhfE1Yu6Evu8P4Aa2irHpsRha7EPcCQBU5QoJUMb+WHkQJ1lLBsfJe6M0y/YkqxVnEU1qdAHusNn6WDZPkkUYZNovwgmzG5uUE4LNPTr/y7gGxXnrkIpihORGFVISKXyAH/X7rcUQtE8Tspz0dym6bT8pLKKOLAD6cxQP9l6hPhJLynjFWl8WQC409Cui1vjtK7BK3Ipvobj5P5VRsKxY/7NdflGWloHJVou1dMVNZS+3XnMrHtOxWbiiNknPoA63AZ04jJLBKPuMGkmX1aEtwf2Q1LORjgNHmRAzYwXaFDdN/lRXAVfbPnYEFxcuq298x7bIvOvrOzHN3axIZIy8q69M/zzKRtn4BnlgxoemFOBWUplRmy9GcxRJLbD9lH7sXa0RgTHhog/HTMec42FZOVG0veDIQ1nhCJyFORvw5zogu8ZfOo7b5J/UNDPHqmxOvehr24cMhgiUHU2hYn0Qu+oBY9as+oHUgEDUHFZ4y+MCi5k9dgGX9BI+zr/9reYSwQ9+B5IE9FQNtFienXFvof0pnedsrhJNqkmdves9wGq/fr5sWrKrYAwUmaEex3gV5NDEnUqJ6hrijaNnCkWOpzWfsjf1Uekn5/7TkMyV4LZlSCEcS3oY2XA==
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:(13230001)(366004)(5660300002)(7416002)(508600001)(54906003)(26005)(316002)(38100700002)(6916009)(2906002)(6486002)(86362001)(186003)(66556008)(2616005)(31696002)(83380400001)(66946007)(66476007)(4326008)(31686004)(8676002)(8936002)(53546011)(36756003)(6506007)(6512007)(87944003)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z0dtWjl3dVBGdUVZWmVteFZZTDY5NUtBTTVBcFFFSk16RVhUNnRySWxuRVpE?=
 =?utf-8?B?RktjZlRzaEp2cEJLRmVnU1RvUitKNTF2SnpJdnJBU3QyTjBqcGJ4NHdwM2tj?=
 =?utf-8?B?TzYrSk9WVk85Ujh6b3l6Z0hxMTFJeitrZnhZVk5iM0VjR2lXYUhyR2F4dWxB?=
 =?utf-8?B?eXFjZ3BDdTlmSUVkNkZ0U1doL1YxaDZOVlNIeUlGTTNOeEZxRk0zU1VtT3hN?=
 =?utf-8?B?TG8vLzlLb1BoTkovQlVTWnB4SnptVVU5d0hqMVMyak11N0d3a0ZJc0xkSll5?=
 =?utf-8?B?VGxpWVBwcW1pTzcwcnFNL2NtaFhiaUJEamJhdk9LVmhTbXBiWk1wUGhuQlpQ?=
 =?utf-8?B?RlptaEJIVjJqTWJZTlZOLzJ3aTBSYksxYnBHdlJ1ekp3MzhzQTVkMitIRU4w?=
 =?utf-8?B?RTRaSXFZTjVGSkJyeGhtQUVwanVBK0hzNXI3N24rV3IvMlEyM0VYNmIxS0No?=
 =?utf-8?B?b2tsVVViNGtHa3FJMHpWMDJEcHJVcndRZnU1R2lDcTJZbWRNYk9ESlBEZmxH?=
 =?utf-8?B?eUoxaHlJcXVIMWhJaDhFZGxIMEpZeEFiZXEyV1drdkpSWWRpeTR1OGpIbno5?=
 =?utf-8?B?c1owN2V5by91Tkk4SFQ0Q3p3UTBuM3Z4V20rbTUvT09hUlRaUFJ3Z1R4SzB2?=
 =?utf-8?B?cFloWUNqZHVQS1VBSjBwYnJuUFVqRk91Vlh6RE5FTmw0OTJyc1IyVGVUcXpn?=
 =?utf-8?B?VDFaWTdYNGRyeThXdHVTdEFsa241R0hoQkVpNGUyU29UaDdqR3ZBeGluUEJp?=
 =?utf-8?B?NVpyRjNBSzBFd2liMklJTVhYYUJVNGxOenNkVDdTTmk0aGl5djFobkh6WVM5?=
 =?utf-8?B?TVlZVldBdVdCVThYRnZXVm1SUVczWDNDZVJ4T3hFQWFBblF5bjJXb1F1cVZh?=
 =?utf-8?B?MkMvc1RQaG5nV0RHZFpBTy8vOGJCSGg5ejF4K2FQVjM1dmQrM0pJRjdJR1pK?=
 =?utf-8?B?bFIrOGFjNzJlZ0VEUks0WTQxSEtHQnplUXRBa2VkOU40MTluREEvdGYxZzBk?=
 =?utf-8?B?WitOQ0h6VHlJWGF4YXpWWXFsRWtMcEZ6TFVMaFA3Tms1a28wMVJ3b1MxRzdJ?=
 =?utf-8?B?bGJvTytIZ2hIWG9ETk1tZjJ5MklucVFETmhzSEZ1WTQwSGdUNVhtQUUzQnBt?=
 =?utf-8?B?eWZiTmhIR0tZVWdYRXVCVmNmeFkvSCtXWE5OQWNiVVg1NEcwNjVnOFZQbk9P?=
 =?utf-8?B?U05xcytjMzFrYVU0T3gxTFhCMTVCNVdQQWZrUFRBRlppRVF2T1lzTmhYU3Bx?=
 =?utf-8?B?Y0hWZ1d4bHFFc3p4OEl4SlZrNUtPc1ZDS29idXNwOVlwU3F0UlVCWWNYV2h5?=
 =?utf-8?B?Yi8yOGpNbTdxeVJZOWwya2JDSXJTZ0kzS1NoNlcvY0YxZmR1SXhFRm5qeGlG?=
 =?utf-8?B?SHIyMlBteUlWaGxJR2U4Rm95RXJBRFMxMTB2ZFVxNWxhdWFQRDFmMTdjeFpG?=
 =?utf-8?B?cW9NMC9pbkJES1FuaFE3Sm0zWmpobWt6SHVrUXFTK0tCZzRnZ3BHTWlhL29t?=
 =?utf-8?B?Vm5jNzJmOU9vUnVZUTNTczFoQUpSVXdSbWZJbUkydk91cWNKMHVFYm1FV0VI?=
 =?utf-8?B?M1B2enNVNmdyZWplOHNWa1FYUEcrSEhIYUh5UjY1N0xRcGZ5cnNSRnNHMzNP?=
 =?utf-8?B?ZjJja1BHbllqYStsNE5MTU14NjNDS3lzRFNJbm9FbW1MNFdBb203MUlEZnFB?=
 =?utf-8?B?di85elRjYjFpelBrSWtOQ0NITHVlVDl2Z1VMUGFEbjE5a3ZMUmdZT2NQaGNK?=
 =?utf-8?B?MXlZekl2alU4VmxNbG5uT2U5SHUwVWFhaXU3ZW1uZHJteEVPc0k1blVtMnY5?=
 =?utf-8?B?VWFQTHlraDBMSmdVQUdMcTE0MlNEdjc5dnp6Y09Uc1dCRmMyVGM1b3E2WEtv?=
 =?utf-8?B?a3hBaEFpQXdsS0dYNUVKK3NJZ2RHZWdqbXlaWWN1bVNONWd2QzhTNlZYMTdS?=
 =?utf-8?B?aEp1NHY3WTMzTm5YbDJUNFg4Z2JQcVg3OWtLdzhSMFpySnhiem1KNGdYeXBK?=
 =?utf-8?B?cUlJYlk5M0VkVWRhelFvQ1dRVGxnaGdDL3luTkE5MWxGY2tFMklmVHdiQ1hz?=
 =?utf-8?B?UkRCY1RBMFYweHh2dVViTzc2L1lIVjYwZmZPUTBZTlJIbW5LWkRVZ1huOHR4?=
 =?utf-8?B?ekRBb3JEMC9qK3N3cFErV1ArMW9od2M0Y3pLYmcxaFNsS2lLMUg4Vm1lMlQz?=
 =?utf-8?Q?pSfIeKAGqdGZbj5iuiuZu3g=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8d516091-1b97-4447-62f5-08d9e2532666
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jan 2022 11:41:40.7949
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: R6kcfXzJHH3u6rx62nBshr3UFcasZQc/Dyomltqu5Kx7/Nyqc7vfu3IJYt7bODsdFuX0i4VgNKMS09NTApBC6g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8172

On 28.01.2022 12:32, Anthony PERARD wrote:
> On Thu, Jan 27, 2022 at 04:50:32PM +0100, Jan Beulich wrote:
>> On 25.01.2022 12:00, Anthony PERARD wrote:
>>> --- a/xen/Makefile
>>> +++ b/xen/Makefile
>>> @@ -285,6 +285,16 @@ CFLAGS += -flto
>>>  LDFLAGS-$(CONFIG_CC_IS_CLANG) += -plugin LLVMgold.so
>>>  endif
>>>  
>>> +# Note that link order matters!
>>
>> Merely as a remark: I wonder how applicable that comment is anymore.
>> If anything I'd expect it to be relevant to $(TARGET_SUBARCH)/head.o
>> (Arm) and boot/built_in.o (x86), neither of which get named here.
> 
> Indeed, the order here probably doesn't matter. I tried to build on x86
> with the list reversed (so still leaving boot/ first) and the build
> works. I didn't try to boot it.

It's quite unlikely for the order to matter at build time. Being able
to boot the result is the minimum. Even then you can't be sure you
merely avoided the problematic piece of code on the particular
hardware you did the test on. Perhaps the most fragile parts are
sections holding pointers which get processed in the order the linker
put them. E.g. unexpected interdependencies between initcalls.

> Maybe it's time to retire the comment?

Probably, but Arm folks would want to confirm that's fine on their side
as well.

Jan



From xen-devel-bounces@lists.xenproject.org Fri Jan 28 12:04:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 12:04:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261975.453914 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDPyt-0000oQ-PU; Fri, 28 Jan 2022 12:03:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261975.453914; Fri, 28 Jan 2022 12:03: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 1nDPyt-0000oJ-MT; Fri, 28 Jan 2022 12:03:55 +0000
Received: by outflank-mailman (input) for mailman id 261975;
 Fri, 28 Jan 2022 12:03:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=i1b2=SM=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nDPys-0000oD-Ac
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 12:03:54 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5b2dfb2e-8032-11ec-8eb8-a37418f5ba1a;
 Fri, 28 Jan 2022 13:03:52 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5b2dfb2e-8032-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643371434;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=l9D27HB3iS86PR7VXPjkscybmEWCe5w+FcA33s/NxP8=;
  b=hhy0BP771KeRGoIC+0i+YK3wlZNoYeYtN7FyB2tGFzALw3qlGm0E+lhg
   NFadP6WcJFGUP8ihw/TkE9F7FOtuj4KuqFmhDPmEpyeLH4Cca+R7JNy1H
   2a/mCBn8Bdi7d0iDVh1ho9DjAoieQwBNpBXdMkueilukYkzTWjvJn0pM1
   0=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: msM6PLL2W6fMGoHBzACf4Fli1CyUaUWt2X5zqcbqjEEbzq9Yxtjn18Gkb5iMFkA+ijEA81zQBP
 lbXd6b5aLdNrAEotppmw2HgDwG5yQ7j+x9UaYXnyc2X5Gy1TRYBT7zjedRcOrNLbDDFefupGXc
 YSBeAApQdTT3cmp3IgrtsqU3K5HQSHzCdboHAw8NKz2RmDPTEzzhori3NqzistcVU7lQf9nlNS
 AEaEqH6oErWX9nTsMbJ6TuR+x/seFc+QWCCzoxDelDOVMJ3ziAC6TEDCgA9FZLyl7sCYBPusoz
 IEQdSSwuPMCVhacbv33mnYPd
X-SBRS: 5.2
X-MesageID: 62894888
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:G1l4fagOV7v4fSYmeqEBiZ6LX161nBcKZh0ujC45NGQN5FlHY01je
 htvCzqEO/2IMGOjfd4ia9nkoBhXusKAnIAxQABtrC8wFngb9cadCdqndUqhZCn6wu8v7a5EA
 2fyTvGacajYm1eF/k/F3oAMKRCQ7InQLlbGILes1htZGEk0GE/NtTo5w7Rj2tcy0YDia++wk
 YiaT/P3aQfNNwFcagr424rbwP+4lK2v0N+wlgVWicFj5DcypVFMZH4sDfjZw0/DaptVBoaHq
 9Prl9lVyI97EyAFUbtJmp6jGqEDryW70QKm0hK6UID66vROS7BbPg/W+5PwZG8O4whlkeydx
 /1uibuRWFd5A5TCv85HcBdILQ5QMqdvreqvzXiX6aR/zmXDenrohf5vEFs3LcsT/eMf7WNmr
 KJCbmpXN1ba2rzwkOnTpupE36zPKOHiOp8fvXdxiynUF/88TbjIQrnQ5M8e1zA17ixLNaiEN
 5tFOWo/BPjGSzhdZQ49Cqggp+2xjGSuaC9zqBXEnpNitgA/yyQuieOwYbI5YOeiWsF9jkue4
 GXc8AzREhwccdCS1zeB2natnfPU2zP2XpoIE7+1/eIsh0ecrkQIEwEfX1a/pfi/i2a9VshZJ
 khS/TAhxYAw/kG2Stj2XzWjvWWJ+BUbXrJ4EfA+6QyL4rrZ5UCeHGdsc9JaQIV47olsH2Vsj
 wLX2YOybdByjFGLYVGh0ZaF/WOPACYyBzUhaz86YiUK6fC29enfkSnzZtpkFae0iPj8Fjfx3
 y2GoUACulkDsSIY//7lpA6a2lpAsrCMF1dovVuPAgpJ+yskPNbNWmC+1bTMAR+sxq69R0LJg
 nULktP2AAsmXcDUz3zlrAng8diUCxe53N/03AYH83oJrW3FF5ufkWZ4umwWyKBBaZ5sRNMRS
 BWP0T69HbcKVJdQUYd5YpiqF+MhxrX6GNLuW5j8N4QSOcIqLFTZoXkzNCZ8OlwBdmB2z8nT3
 r/AKa6R4YsyU/w7nFJauc9DuVPU+szO7TyKHs2qp/hW+bGfeGSUWd843KimNYgEAFe/iFyNq
 b53bpLSoz0GCbGWSnSJreY7cA5bRVBmVcGeg5EGLYarf1s5cFzN/teMm9vNjaQ/wfQM/goJl
 1ngMnJlJK3X3C2edl7SOyk9MdsCn/9X9BoGAMDlBn7ws1BLXGplxP53m0IfceZ1+ep94+RzS
 vVZKcyMDu4WEmbM+igHbIm7p4tnLUz5iQWLNiujQT4+Y58/GFCZpo66JlPipHsUEy66lcoiu
 Ln8hAnVdoUOGlZ5B8HMZfPxk17o5SoBmPh/VlfjK8VIfBm+65BjLiH816dlI8wFJRjZ6CGd0
 gKaXUURqeXX+tdn+9jVn6GU6YyuFrImTEZdGmDa65ewNDXboTX/kdMRDr7QcGmEBm3u+aika
 eFE9N3GMaUKzARQro5xM7d31qZitdHhkKBXk1Z/F3LRYlX1Vr45eiua3dNCv7Fmz6NCvVfkQ
 VqG/9RXNOnbOM7hF1JNdgMpYv7aiKMRkzjWq/80PF/79Gl8+7/eCRdeOByFiSp8KrppMdx6n
 bd96ZBOswHv2AA3NtumjzxP8zXeJ3MNZKwrq5UGDdK5kQEs0FxDPcTRByKeDEtjsDmQ3p3G+
 gOpuZc=
IronPort-HdrOrdr: A9a23:BA4dXqEmgJTVDGeDpLqE6seALOsnbusQ8zAXP0AYc31om+ij5q
 eTdZUgpHvJYVkqNE3I9eruBEDEewK7yXcX2/h1AV7BZniEhILAFugLhuGO/9SjIVydygc079
 YYT0EUMr3N5DZB4/rH3A==
X-IronPort-AV: E=Sophos;i="5.88,323,1635220800"; 
   d="scan'208";a="62894888"
Date: Fri, 28 Jan 2022 12:03:41 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
	"Julien Grall" <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>, <xen-devel@lists.xenproject.org>
Subject: Re: [XEN PATCH v9 08/30] build: fix enforce unique symbols for
 recent clang version
Message-ID: <YfPbndiBeViN0heB@perard>
References: <20220125110103.3527686-1-anthony.perard@citrix.com>
 <20220125110103.3527686-9-anthony.perard@citrix.com>
 <708a1723-7b01-e82b-f2c2-d031a33ae55e@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <708a1723-7b01-e82b-f2c2-d031a33ae55e@suse.com>

On Thu, Jan 27, 2022 at 04:57:20PM +0100, Jan Beulich wrote:
> On 25.01.2022 12:00, Anthony PERARD wrote:
> > clang 6.0 and newer behave like gcc in regards for the FILE symbol, so
> > only the filename rather than the full path to the source file.
> > 
> > clang 3.8.1-24 (in our debian:stretch container) and 3.5.0-10
> > (in our debian:jessie container) do store the full path to the source
> > file in the FILE symbol.
> > 
> > Also, based on commit 81ecb38b83 ("build: provide option to
> > disambiguate symbol names"), which were using clang 5, the change of
> > behavior likely happened in clang 6.0.
> > 
> > This means that we also need to check clang version to figure out
> > which command we need to use to redefine symbol.
> > 
> > Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> 
> The "likely" in the description still worries me some. Roger, would
> you happen to know, or know of a way to find out for sure ("sure"
> not meaning to exclude the usual risk associated with version
> number checks)?

I found f5040b9685a7 ("Make .file directive to have basename only") as
part of LLVM's "release/6.x" branch (and "llvmorg-6.0.0" tag), but not
in "release/5.x".

https://github.com/llvm/llvm-project/commit/f5040b9685a760e584c576e9185295e54635d51e

This patch would seems to be the one changing the behavior. This still
suggest clang 6.0.

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 12:08:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 12:08:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261979.453924 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDQ33-0001ZO-BL; Fri, 28 Jan 2022 12:08:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261979.453924; Fri, 28 Jan 2022 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 1nDQ33-0001ZH-8F; Fri, 28 Jan 2022 12:08:13 +0000
Received: by outflank-mailman (input) for mailman id 261979;
 Fri, 28 Jan 2022 12:08:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DjlO=SM=xilinx.com=ayankuma@srs-se1.protection.inumbo.net>)
 id 1nDQ32-0001ZB-1I
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 12:08:12 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20623.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::623])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f4ee5e81-8032-11ec-8f75-fffcc8bd4f1a;
 Fri, 28 Jan 2022 13:08:10 +0100 (CET)
Received: from SN4PR0501CA0079.namprd05.prod.outlook.com
 (2603:10b6:803:22::17) by DM8PR02MB8101.namprd02.prod.outlook.com
 (2603:10b6:8:1a::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.10; Fri, 28 Jan
 2022 12:08:07 +0000
Received: from SN1NAM02FT0036.eop-nam02.prod.protection.outlook.com
 (2603:10b6:803:22:cafe::c5) by SN4PR0501CA0079.outlook.office365.com
 (2603:10b6:803:22::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.5 via Frontend
 Transport; Fri, 28 Jan 2022 12:08:06 +0000
Received: from xir-pvapexch02.xlnx.xilinx.com (149.199.80.198) by
 SN1NAM02FT0036.mail.protection.outlook.com (10.97.4.102) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4930.15 via Frontend Transport; Fri, 28 Jan 2022 12:08:05 +0000
Received: from xir-pvapexch01.xlnx.xilinx.com (172.21.17.15) by
 xir-pvapexch02.xlnx.xilinx.com (172.21.17.17) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2176.14; Fri, 28 Jan 2022 12:08:04 +0000
Received: from smtp.xilinx.com (172.21.105.198) by
 xir-pvapexch01.xlnx.xilinx.com (172.21.17.15) with Microsoft SMTP Server id
 15.1.2176.14 via Frontend Transport; Fri, 28 Jan 2022 12:08:04 +0000
Received: from [10.71.117.48] (port=55667)
 by smtp.xilinx.com with esmtp (Exim 4.90)
 (envelope-from <ayan.kumar.halder@xilinx.com>)
 id 1nDQ2t-00066W-DT; Fri, 28 Jan 2022 12:08: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: f4ee5e81-8032-11ec-8f75-fffcc8bd4f1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=V7Vsri6HGJ7zoW49qKCbfIK+5mFlJC5IRhD9NLPO0gPDB7TVtlHKSfQNCnWo4WWME6oo/SxysxAlrK+2YYK3/jSNQWuGAOsBpnquzctOnVBXYMrZq/toll2poDW3Ju1dbM/lCObldoALzGg/5liygkNm0b80A0n3Tznhtj8WLQggAOSZKWUbUtpXsKNmvtkjA9JPDAQ4VZXZ/FAEqhUPnvAxC1AGOZt0I3TTTU1uCkXyo4eXZsaG6/smVEGsqMhupWylBLwjllHVwWHR+NcmS8ksuDb5lYOLRFj+CcImDZZQ2n33HqIZjJPJLkkQipdGuB6XnmqUp4q24cVxmictRQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dAgwEsqbYyqq5pjJ0fZSpOvLz5DniqCuJcX2G2jjbqM=;
 b=QO6vgh5kbZCkhlXF0prrLnk9dajKdAwBE4oJovUei3ZzZrN/hXOn6FHqsfkgwURaqSLNpxdLEogs3NXd2E4A6f4tqcTxNSVCIh7Lh4TGG01i2sN3x0BGoNmkHGbkwwhi5SBb8XftXrVaIkfd6uadgoW/d5wL0ajYF1PulHCDpwNM2QIKLYShaYmbm8a6DzyDl7yToq9zn+jw3HK/OhrIJrABC1vKRwVpp567IgfLkKpKEISHhOozwcGTu2AqS13UsC8YBPSKwjsmEFORCJ/xaeQjMqJL4WBnI1d6EUDwQsfBF7aXD60jplyo9JU/NzAcKcWvj1xNGtIw7a/FMONYKw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 149.199.80.198) smtp.rcpttodomain=xen.org smtp.mailfrom=xilinx.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=xilinx.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dAgwEsqbYyqq5pjJ0fZSpOvLz5DniqCuJcX2G2jjbqM=;
 b=YDp7WiO3fRGQUXCT6dUL9oztdyemzS82qXqa1yfkg4rsOgc2XUh2u/NA1lTqFxrSZ1y8WYdA+XKg6XOX7Qvw2dSvGsJpUeGhnNaRbjmGNeA1BXklLovwL7+YJaJ3TgztF+8VzoWfkaDSAOwu0cHWOjaZxly9GtkCqu0r5PySJt0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 149.199.80.198)
 smtp.mailfrom=xilinx.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=xilinx.com;
Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates
 149.199.80.198 as permitted sender) receiver=protection.outlook.com;
 client-ip=149.199.80.198; helo=xir-pvapexch02.xlnx.xilinx.com;
Message-ID: <95944225-6642-b41c-c496-d735826e3c93@xilinx.com>
Date: Fri, 28 Jan 2022 12:08:02 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [XEN v1] xen/arm: io: Check ESR_EL2.ISV != 0 before searching for
 a MMIO handler
To: Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien.grall.oss@gmail.com>
CC: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>, xen-devel
	<xen-devel@lists.xenproject.org>, <stefanos@xilinx.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>
References: <20220126165827.61168-1-ayankuma@xilinx.com>
 <CAJ=z9a1KjOAeR4vpRQGA_sYSvx1h331NKim2bgG8jyru94Beow@mail.gmail.com>
 <eeedbb72-d881-363d-c862-234b705eaec7@xilinx.com>
 <CAJ=z9a0VEqr_ODQZvdsO82PiOpHt5-TVc4JWE5pJCeNYPh+XHg@mail.gmail.com>
 <bee7ea7a-6d3d-bf3c-4b5f-d40deb601867@xilinx.com>
 <2064878e-4ef1-f0a3-1476-7175c2c8d29e@xen.org>
 <bcd28a18-80ea-0987-6867-5c6fc634a8a5@xilinx.com>
 <f6853134-8b65-5ffb-b39a-62ed26b3f499@xen.org>
 <alpine.DEB.2.22.394.2201271327430.27308@ubuntu-linux-20-04-desktop>
 <CAJ=z9a2Sp6w0b21p96YHx4w_m0jAbYJ4v=cVar-1nPeL7SotZw@mail.gmail.com>
 <CAJ=z9a1HML30aGn52GY34g-QbvLPHep7j=H-UDxsH1+B0CEb3Q@mail.gmail.com>
 <alpine.DEB.2.22.394.2201271513330.27308@ubuntu-linux-20-04-desktop>
 <9880cf7c-962f-8a32-483c-2bf5889d3273@xen.org>
From: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>
In-Reply-To: <9880cf7c-962f-8a32-483c-2bf5889d3273@xen.org>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 75ea433a-2744-4679-77c5-08d9e256d797
X-MS-TrafficTypeDiagnostic: DM8PR02MB8101:EE_
X-Microsoft-Antispam-PRVS:
	<DM8PR02MB81016DB02CF589E85168E793B2229@DM8PR02MB8101.namprd02.prod.outlook.com>
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
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:
	=?utf-8?B?K0hTcWVyV0dlK0xrS3cvSWhkd3NsNFQvazRBMk5kZ01janVCVURpMnUrcDYz?=
 =?utf-8?B?WTFnWVpUQWVKcVJ6U1Y1clI0VFVXSnBaanZQQTBlR3BDTlFQZEMzUWZVRmd3?=
 =?utf-8?B?ckljcGFySndjand4amVYbkxTOUJrZk9RRWhhTXZKT1l2Sjg0cStNaFhMMndE?=
 =?utf-8?B?eE5PS3VCWmJhaWlBQTAzM2djMURyRzhHOTdubzZQcTVjcUM0NFJkbnFTLy9M?=
 =?utf-8?B?UzFBNlV4V0RYUklxazg4S003OGwrUmJ5Z1k2SmdGalhNNkkyb2Mrak1PUVRk?=
 =?utf-8?B?dUszM3RVZ1QvM0k2Q1ZIcm53T3NzQ0tVa2xER2labHIvNUZPZVZ5M0IrOHd3?=
 =?utf-8?B?YmZlYTJxNUdZWDQ1RlBoQjNsOGJHaVdLaDFKU2k4ek1KLytxdE5udVV6L01F?=
 =?utf-8?B?MW82c3ZEVXliNDVMRk5yemJPb25HVG9YL0kwUG9ZL2gxVDh0ODR2V3ByRUc2?=
 =?utf-8?B?c1RlK2hRQ210Q0pac2Fhd2JFOUE4RFJZQjBJbzFNQ2ZCYnpPYkp6M29jaUE3?=
 =?utf-8?B?UkdFOWdEUEZEZWU0VDI4MmRveDJOT21iSXZHVlR1TGhod2IyOUJpUlZnWWh1?=
 =?utf-8?B?MXZvaERHOEtFRUsrOTFuTEltNlN0Vk5Pc2M3R2JZM3ZzTTMwNkJ1cWlBclVV?=
 =?utf-8?B?amJiZzhKMGtNdGNQcnI1UGh0bVIxbUdaZ28rdHdYQU9OVXdTOXVUc01oTnYr?=
 =?utf-8?B?S2FKWHc2Ni9DZVdGNGxoNmJoT2NaRGt6dXp2dzdaMG1sQzR6RkJzc0wzRmp2?=
 =?utf-8?B?QXBMVjlIR2ZGRWhDL0xlVFRzbm01OUVVUWcrelMvRlJPZjhFR0FOeW1Cb0tX?=
 =?utf-8?B?SFJNbEZVa1lwak9GbW0vSmpzVFhiVU9tSWh3QUJPMSs3RjVmZy9NYmFaOXQ3?=
 =?utf-8?B?V25Rdk9hbmlzSkVUdHNqMFpSNzRrczREaUx0MDVkT0FiMDZDcTJhREh1eU5n?=
 =?utf-8?B?clZEaDJRRlhrMzhHVG96T3MzdlkwMU5lUXNib20wK0lucGlNRVlSNWxZZ3hG?=
 =?utf-8?B?V0VsWC96WWkrNENCa3RrdWllMjM2LzZlM1BmVktPT0lMSUppaG9lTkhjUlhE?=
 =?utf-8?B?ZjFjQUdlYVQvRVVmSWFDR3BVanA1YWVmZUhsamtPd1BvZXl3YXk5UUoydkZD?=
 =?utf-8?B?eitHQysvVGIyMVVicU5NMVo2blliUTJFVnpZbi9NWjBxMGc5T2RUeEY0dkM3?=
 =?utf-8?B?bWdKWjFOUExsM24zeU9nMWxxVHJQWCs5Zm5odVM0Sy90TUgxMy8zMEhCbG01?=
 =?utf-8?B?aUlqeGphVGJ1anNSRjQ5SUJvQzNMVnR6VFZDLzN2QVlSOFdQUT09?=
X-Forefront-Antispam-Report:
	CIP:149.199.80.198;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:xir-pvapexch02.xlnx.xilinx.com;PTR:unknown-80-198.xilinx.com;CAT:NONE;SFS:(4636009)(46966006)(36840700001)(40470700004)(336012)(966005)(53546011)(110136005)(83380400001)(5660300002)(508600001)(31686004)(40460700003)(26005)(316002)(9786002)(70206006)(47076005)(356005)(186003)(36860700001)(8936002)(7636003)(54906003)(4326008)(82310400004)(8676002)(2906002)(426003)(2616005)(31696002)(70586007)(36756003)(50156003)(51383001)(43740500002)(473944003);DIR:OUT;SFP:1101;
X-OriginatorOrg: xilinx.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jan 2022 12:08:05.8916
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 75ea433a-2744-4679-77c5-08d9e256d797
X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c;Ip=[149.199.80.198];Helo=[xir-pvapexch02.xlnx.xilinx.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SN1NAM02FT0036.eop-nam02.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM8PR02MB8101

Hi Julien/Stefano,

Good discussion to learn about Xen (from a newbie's perspective). :)

I am trying to clarify my understanding. Some queries as below :-

On 28/01/2022 09:46, Julien Grall wrote:
>
>
> On 28/01/2022 01:20, Stefano Stabellini wrote:
>> On Thu, 27 Jan 2022, Julien Grall wrote:
>>> On Thu, 27 Jan 2022 at 23:05, Julien Grall 
>>> <julien.grall.oss@gmail.com> wrote:
>>>>
>>>> On Thu, 27 Jan 2022 at 22:40, Stefano Stabellini 
>>>> <sstabellini@kernel.org> wrote:
>>>>> I am with you on both points.
>>>>>
>>>>> One thing I noticed is that the code today is not able to deal with
>>>>> IO_UNHANDLED for MMIO regions handled by IOREQ servers or Xen MMIO
>>>>> emulator handlers. p2m_resolve_translation_fault and try_map_mmio are
>>>>> called after try_handle_mmio returns IO_UNHANDLED but 
>>>>> try_handle_mmio is
>>>>> not called a second time (or am I mistaken?)
>>>>
>>>> Why would you need it? If try_mmio_fault() doesn't work the first 
>>>> time, then
>>>
>>> Sorry I meant try_handle_mmio().
>>>
>>>> it will not work the second it.
>>
>> I think I explained myself badly, I'll try again below.
>>
>>
>>>>> Another thing I noticed is that currently find_mmio_handler and
>>>>> try_fwd_ioserv expect dabt to be already populated and valid so it 
>>>>> would
>>>>> be better if we could get there only when dabt.valid.
>>>>>
>>>>> With these two things in mind, I think maybe the best thing to do 
>>>>> is to
>>>>> change the code in do_trap_stage2_abort_guest slightly so that
>>>>> p2m_resolve_translation_fault and try_map_mmio are called first when
>>>>> !dabt.valid.
>>>>
>>>> An abort will mostly likely happen because of emulated I/O. If we call
>>>> p2m_resolve_translation_fault() and try_map_mmio() first, then it 
>>>> means
>>>> the processing will take longer than necessary for the common case.
>>>>
>>>> So I think we want to keep the order as it is. I.e first trying the 
>>>> MMIO
>>>> and then falling back to the less likely reason for a trap.
>>
>> Yeah I thought about it as well. The idea would be that if dabt.valid is
>> set then we leave things as they are (we call try_handle_mmio first) but
>> if dabt.valid is not set (it is not valid) then we skip the
>> try_handle_mmio() call because it wouldn't succeed anyway and go
>> directly to p2m_resolve_translation_fault() and try_map_mmio().
>>
>> If either of them work (also reading what you wrote about it) then we
>> return immediately.
>
> Ok. So the assumption is data abort with invalid syndrome would mostly 
> likely be because of a fault handled by p2m_resolve_translation_fault().
>
> I think this makes sense. However, I am not convinced we can currently 
> safely call try_map_mmio() before try_handle_mmio(). This is because 
> the logic in try_map_mmio() is quite fragile and we may mistakenly map 
> an emulated region.

By emulated region, you mean vgic.dbase (Refer 
https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/vgic-v2.c;h=589c033eda8f5e11af33c868eae2c159f985eac9;hb=0bdc43c8dec993258e930b34855853c22b917519#l702, 
which has not been mapped to the guest) and thus requires an MMIO handler.

Is my understanding correcr ?

If so, can Xen mantain a table of such emulated regions ? I am guessing 
that all emulated regions will have a mmio_handler. Then, before 
invoking try_map_mmio(), it can check the table.

>
> Similarly, we can't call try_map_mmio() before 
> p2m_resolve_translation_fault() because a transient fault may be
> misinterpreted.
>
> I think we may be able to harden try_map_mmio() by checking if the I/O 
> region is emulated. But this will need to be fully thought through first.
>
>>
>> If not, then we call decode_instruction from do_trap_stage2_abort_guest
>> and try again. The second time dabt.valid is set so we end up calling
>> try_handle_mmio() as usual.
>
> With the approach below, you will also end up to call 
> p2m_resolve_translation_fault() and try_map_mmio() a second time if 
> try_handle_mmio() fails.
>
>>
>> Just for clarity let me copy/paste the relevant code, apologies if it
>> was already obvious to you -- I got the impression my suggestion wasn't
>> very clear.
>>
>>
>>
>> +again:
>> +        if ( is_data && hsr.dabt.valid )
>>          {
>>              enum io_state state = try_handle_mmio(regs, hsr, gpa);
>>
>>              switch ( state )
>>              {
>>              case IO_ABORT:
>>                  goto inject_abt;
>>              case IO_HANDLED:
>>                  advance_pc(regs, hsr);
>>                  return;
>>              case IO_RETRY:
>>                  /* finish later */
>>                  return;
>>              case IO_UNHANDLED:
>>                  /* IO unhandled, try another way to handle it. */
>>                  break;
>>              }
>>          }
>>
>>          /*
>>           * First check if the translation fault can be resolved by the
>>           * P2M subsystem. If that's the case nothing else to do.
>>           */
>>          if ( p2m_resolve_translation_fault(current->domain,
>>                                             gaddr_to_gfn(gpa)) )
>>              return;
>>
>>          if ( is_data && try_map_mmio(gaddr_to_gfn(gpa)) )
>>              return;
>>
>> +        if ( !hsr.dabt.valid )
> One more thing I noticed, a stage 2 fault can also happen on an access 
> made for a stage 1 translation walk. In this case, I think we don't 
> want to decode the instruction.
>
> So this would need to be !hsr.dabt.valid && !hsr.dabt.s1ptw. Depending 
> on which patch we go with, this would also need to be adjusted in the 
> other one as well.

This triggered me to check for the remaining bits as well. Refer DDI 
0487G.b Armv8 Arm, "ISS encoding for an exception from a Data Abort", 
Page D13-3219

I guess we need to check the following :-

1. !hsr.dabt.valid

2. !hsr.dabt.s1ptw - Abort may be due to stage 1 translation table walk

3. !hsr.dabt.cache - Abort is due to cache maintenance or address 
translation instructions. We do not decode these instructions.

4. !hsr.dabt.eat - Abort is external


There is no need to check the following due to the reasons mentioned :-

1. hsr.dabt.dfsc - no need as we have already determined that it is a 
translation fault from EL0/EL1.

2. hsr.dabt.write - no need as the fault can be caused due to both read 
or write

3. hsr.dabt.fnv - no use for this in instruction decoding

4. hsr.dabt.sbzp0 - Bits[12:11] - We know that DFSC cannot be 0b010000 
(FEAT_RAS), We may not check for FEAT_LS64 as from the instruction 
opcode, we can make out that it is not ST64BV, LD64B, ST64B or ST64BV0

                          Bit[13] - VCNR - The instruction opcode will 
tell us that it is not MRS/MSR instruction.

Please let me know if my understanding is correct. I can send out a v5 
patch "Re: [XEN v4] xen/arm64: io: Decode ldr/str post-indexing 
instructions" will additional checks in place.

- Ayan

>
> Cheers,
>


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 12:24:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 12:24:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261983.453936 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDQIG-0003we-Ls; Fri, 28 Jan 2022 12:23:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261983.453936; Fri, 28 Jan 2022 12: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 1nDQIG-0003wX-Im; Fri, 28 Jan 2022 12:23:56 +0000
Received: by outflank-mailman (input) for mailman id 261983;
 Fri, 28 Jan 2022 12:23:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PBCP=SM=epam.com=prvs=402709c4a7=oleksandr_andrushchenko@srs-se1.protection.inumbo.net>)
 id 1nDQIF-0003wR-BG
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 12:23:55 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 26582205-8035-11ec-8f75-fffcc8bd4f1a;
 Fri, 28 Jan 2022 13:23:52 +0100 (CET)
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 ESMTP id 20SCHmu8031754;
 Fri, 28 Jan 2022 12:23:47 GMT
Received: from eur04-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2058.outbound.protection.outlook.com [104.47.14.58])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3dvgc2r2jd-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 28 Jan 2022 12:23:46 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com (2603:10a6:20b:153::17)
 by AS8PR03MB7256.eurprd03.prod.outlook.com (2603:10a6:20b:2e1::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Fri, 28 Jan
 2022 12:21:09 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6]) by AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6%3]) with mapi id 15.20.4930.018; Fri, 28 Jan 2022
 12:21:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 26582205-8035-11ec-8f75-fffcc8bd4f1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VF5brUyIuxa++prqKXoFYGohFhtEMyQAFsfz6wi8B0ERC3e5D3q+RN/mQ92PgaqxGeqrlyslPIzZ7V3IywORZ2k492A48929KsjnRyc2q9TpU89k8gk8T140dFFf1pgzXNwS4d1JAJzzEMiBq98rCHsJlTpykKeedlfzRs87r1MjQ86WJhcSt6fSHkiP4hKhdlVntN1awdYlOLPmDK5qSt9MODc7Rk4ud+6UBbOjM1PGmW/PgsdGe8pLejqDnQt5Uc7AG9pOMwemX3zY8NXSYVMYeXn/4H2sMgEyh4+ZoB1Z/cC80zRsf13eFxUupbIK50+J7OlWq0tTf/p0JcZIBw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Tx0e/oqjV1uLH9gyiTqXXT74vkpnxNakMYuIGCdco5I=;
 b=ORteBCNkcDeJyavhnFwvVv3j4/pTvSOMAzhQwV4mAHOts0IUAjfWtwqpmHGksg9gFYNO3ceDt5+qVxAZlrF8Hwc2sHscCJoRqFy3GMyf//nYteAE+qn2asdV2Eda6IP7bs6FMFkcdOdxAHDe+QQqLPyY9lxqhcGevLpARmOMSSIxOF+XRvDDGe711aOF9l/hK8L+VX/Ik+9OEsncKSkhEWnVYr2RFr7d1MDBFkxP9KvXVeZxaUW8RqwpFMUqbIsyOnsSa/BQ6Im2Y95Q/By2ailEE1Dt5fA63gpqVGhPwrf5hYO+STi7yV7Pl8gIGMWX+/Ajri5yFpWThiOCAOkz8w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Tx0e/oqjV1uLH9gyiTqXXT74vkpnxNakMYuIGCdco5I=;
 b=HT7iwKsPX6OpnDqfp+tAEpfQaOiakCNGw9idX2tVFdJN8SOxoSDhO4KMDIr6SelLKPLwlDFQnQkw2xX/SsMJZ/KKnUH4ddEP6FRm2qDtUnPRHoGnZiZ/Kn2UQPUUYVfU4lGP17Tq8bMA0FvKZOzdjPuKt7g0skpXJIPiW6nEUhPnxkRH2q8Va97tkCEqU8MnuE/1v+cUDFvtSCsoynh5Bb6j1u4pSgFjqNNPFmvJML6xw4N+CyDdij+07p+SZ/N1Ls4OjS7h54unA4LwS/sP+pDUnWFX5G1FaLGKEbdV1nmsFDjkNAl52Drru3s0OJ1jOSdVOXD3IQEREggtaJzD6Q==
From: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "julien@xen.org" <julien@xen.org>,
        "sstabellini@kernel.org"
	<sstabellini@kernel.org>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Artem Mygaiev <Artem_Mygaiev@epam.com>,
        "roger.pau@citrix.com" <roger.pau@citrix.com>,
        "andrew.cooper3@citrix.com"
	<andrew.cooper3@citrix.com>,
        "george.dunlap@citrix.com"
	<george.dunlap@citrix.com>,
        "paul@xen.org" <paul@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Rahul Singh <rahul.singh@arm.com>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        Oleksandr
 Andrushchenko <Oleksandr_Andrushchenko@epam.com>
Subject: Re: [PATCH v5 04/14] vpci: cancel pending map/unmap on vpci removal
Thread-Topic: [PATCH v5 04/14] vpci: cancel pending map/unmap on vpci removal
Thread-Index: AQHX4ewFMUIx3Ap2dEiG4Ts6A1fyCaxfzfoAgBjxPAA=
Date: Fri, 28 Jan 2022 12:21:08 +0000
Message-ID: <13911739-3d9c-c56b-4f3a-766fbdb0b82d@epam.com>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-5-andr2000@gmail.com>
 <7dd52b2d-9fe0-0ece-a7f1-9ec2c6da72de@suse.com>
In-Reply-To: <7dd52b2d-9fe0-0ece-a7f1-9ec2c6da72de@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 053e424e-0b56-4e1c-df4b-08d9e258aa39
x-ms-traffictypediagnostic: AS8PR03MB7256:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <AS8PR03MB7256C8E3E62033C753B49730E7229@AS8PR03MB7256.eurprd03.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: 
 NnkLKKiV+JUMQRFp/zKLGFeAFx+s35U33ctt458bhERW7DD3r09t5PdWdyGwB892zDcDqfddFbI2ERG74fv1ljEGl02mymrCq7l3fl9PyKcZlN2RWLe3NiXt2KMYpc5OlRhonpJmIf7Ydv01fZEzblsHk0jIF7Ap6i/EcPjwM7W+yfL9fqW+QrkACLaojYrDSAiqCpfmBCJzjAjCurvtNlt3V5fVSSdJ7LUqY/fGMynwXa51vB4+rJKumUKl7uKGnqoGa0dlmzAkPN+L0DJdHYFWivpxGmvlqnWB2DpucKYklZeO8mI3PwfLXNgqSrUoLTloIUpukkqUtfqwef4LPZSL/xWRgkvjq/WqLjfaj9or+N5yep95faagXA5FRWK3E9lir12QExFQ+hJP5DKAI2MvmYMNSbxcBMnSvyXojPJNMWoR0e+KFI6qLhmVxSdcDKqUKdy9/aMUWY8P86oIDj4r0MGwk7kW78N82sLsbkvj9Km1c8hTwzB6Qcgm8PyHzCf+3O87/26765Jj0tM0iX40xsml1THlcDf8IuAc4S6Z2xuh7c/4bijNtnIxaZH1uvvgY8M4JIkDNNT/xGWUehIMNMkYP9So/dBIDLuVm5BCbXatJnJQmtZ+wQWd2kW9mO1JcWpD7OxP2q3KTol6cFHSvchtHssKYmM2rDsascsp6qQnvgLl5/Z7+cf0mMf/zYpn6YgbdRLg3wbxzl+uCV+yGkEtMReo2LNHA2+z/Y8AsSRgu3CbbpBLSqc71Ozo
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:(13230001)(4636009)(366004)(31686004)(38100700002)(26005)(83380400001)(2616005)(186003)(122000001)(53546011)(71200400001)(6512007)(6506007)(38070700005)(2906002)(8936002)(31696002)(5660300002)(64756008)(66946007)(8676002)(7416002)(66446008)(66476007)(36756003)(86362001)(76116006)(4326008)(66556008)(54906003)(6486002)(91956017)(508600001)(316002)(6916009)(107886003)(45980500001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?MkwwRlV0ZnNoMkRJcGNHa2xtaG9wekpBN2VORjJjS1Q2a2VLdGVXNnU1bHdv?=
 =?utf-8?B?RkpiUWFGZEJFSEFaRThpNVZ2UXNPT0tGc0ZWZU1nVGFtdHhxZzU3U1dRZ1BJ?=
 =?utf-8?B?K1lpM1pDZGYwb2xqR1JjMmpoazJQWE9Fa2MwVkt5YXlIdUEwM09oTjVrVW5w?=
 =?utf-8?B?WmhkZFpHQTVpSXlCeGNWaXBDUHRSV0xBUkJJckVpdUFVb1RzR3ZVKzg2Q25y?=
 =?utf-8?B?R3NWcnlnZkxhYUc5MTlpTk42SVRvM2FNT3U2eGw1b3U2L09Tdmo0WktsdlJE?=
 =?utf-8?B?REg3c1JVSFhvWHNHeE5BbzMwY2hjcFRUdkhKQTR0Rk15K25OeEtoWWcvOHNB?=
 =?utf-8?B?YWp4Zi8zZ2ROd1h4SEZFak51cmhxZ2l3ay9IVklVcHhKUEFsUEk5M081dEd4?=
 =?utf-8?B?WDhtMHJ3a09RQzdlTmlIdmF3anVnOEtFVTUxbWJUMGRkQU9yRnc2QlBucjZp?=
 =?utf-8?B?RzVlUW5LWEsxL2hJQ2ljMzZ6SzVWMERQc3lEL1Y2UTJIRURRZFFLRHIvTGZm?=
 =?utf-8?B?YmlFNUsvc2xma0s1Tlo0Mk4vRExIZU9lRUF1OHROSDIxa0x6Z2VzYVRYT1dZ?=
 =?utf-8?B?WXM2MkJCU2tvTUw1WjdmZGpYMzdJNENhN01vTjFmYUd2UFFGcHN0TURCcGxZ?=
 =?utf-8?B?eDF1di9oOTB3TENTc3lKUE42d0ptc1hsMldRTmF1K2dsRUM3TGN0TFZyeWFm?=
 =?utf-8?B?TVBUNGFSZjl4UXhVU0RwUFFLRFhYc0JRaDdPVGJPNW1xNXArMzJDWWtmUzk3?=
 =?utf-8?B?ZS9iTm5RZStUSlY4YTR5WTZQaFhzNVhmSkEvR2ZLbUg3M0tpaWs5elVXelFv?=
 =?utf-8?B?dGFMV2lOYklhMDRZek55Z2pZdFB3OStSaUtITG1YLzNKa3lFelF6RkxrMzdK?=
 =?utf-8?B?am9RaUhId1FwbXlqSE1QWGxPcEZqVVlpL3IvR1hJUlRzTERWSngrZll1Ujl0?=
 =?utf-8?B?RXNDWlREWWQrNGFOZjV1eFB5ZnRMVlFEd2FzTEpXMWdtVUlXYk5ka085QjA4?=
 =?utf-8?B?NFZScGdNaHRZQW9ZUStzdDFEVmVMdTMwZ1RZVzQyeG5RRkdZK1U1SUNMck5Q?=
 =?utf-8?B?M3dxT0pyU29DbjArYWVSWFBobS9aN0NXS0w5YVluNVJiSE9sa0t0V1grVlVl?=
 =?utf-8?B?MTVybzMwYXJsVmlodG9qRlVWY3hpTWVDcmJMQjZIbXZpbWJCY01VM0pLSjFw?=
 =?utf-8?B?R3pFelJ5VW1wSEErQlg0b2Zha1ViRnloZ2hnY1JCbjRoZWFzSTEvc0grbW5Q?=
 =?utf-8?B?YjhkaEc0d1RrUmtlWk5JcVc4QnA0SmJweUdaRjVBaWMwdWc5TW9aYTBtZHdI?=
 =?utf-8?B?MjYvTEE4OUtqZ05ZZVRhV0tKWnNUODQwamVEb3V1VjJxenVvY2grbkdsb3N1?=
 =?utf-8?B?ZEk2ZFovWWJiRFdHRkxhalNTYnNGODBiU0N4TDgrQkNTL2hvSDNEaDhpNlJP?=
 =?utf-8?B?UVh3aXprYUNkTkFwSVVScFZjeEJiNzFoMnVOKzdDY1RXdGUxSVhRZmdqMThD?=
 =?utf-8?B?Nm9ETk5OZkszVWlZZytXZUlGWUx4MkFJZEZ6TjkyQWE3WDZlSVltTVdoTnJK?=
 =?utf-8?B?amdVZENGcFBoV3k0Y3E5OFJicHhmbkw3L2pWc1ZjOTBFckJCQkJXS3FBREhr?=
 =?utf-8?B?RVRGVnBvblN4b0t3SjRIeUVmeEtEbGJ3R1YxbEQybGJPbTlyUFcwTmY3YVdv?=
 =?utf-8?B?bzlRNVBqZ2grbjBkMnhZSTFoTVNuRTRCNEkwd1RDVzduY0R1OGlBNCtTbGFJ?=
 =?utf-8?B?aXlSdW55djZVSnphSTRzcHNHYW1WZ3pMUC8rZ1lQdjEvZlVjaTZzc3NoVGJF?=
 =?utf-8?B?R25kVzNPOXU3akhpOXNGcm9QTWoyMVBkZStGYVExTWZMbWxoRWtsTXF2ZjdB?=
 =?utf-8?B?R2d4bkhrRWNjbnFxSkZBZ1I2dmlMY0t4bE9hR2lDdnFlRm9rNUQ4cW4vMVgw?=
 =?utf-8?B?S0EvbmVBZFE5NFRHVVIvNVRZZmMvNk11cWphRGVqTU5jQ1hNMThXZXFvb3ZG?=
 =?utf-8?B?Z3R0YmUvMkkwdWhHeDJ2N3lYRmVhdVMyUGNzME9OOU9qajZBMW1xTzNEZmtD?=
 =?utf-8?B?bjU5UnE0elRMQ1hGMjVRTHhTekNLcGQydE9CTnh5aFlxRlRnUHZDSEJicXdp?=
 =?utf-8?B?QmpWY3dWTUhwNGZGRWlvQUdMcXpzSks3U3pxU1RhbVl6YXlFYlE2Y3Zqb0tv?=
 =?utf-8?B?cGJSbVRzOFVPZ0dyYUFXbFMyOGNTb2NBSUg3cnJhRndqR0VIWlVVNVNPbmx6?=
 =?utf-8?B?a0UrWGMxY1lRdlh0TXNiTkZSZDFGSFc0UjVjWFVIV3l1cmJlQk9hd24vOFpW?=
 =?utf-8?B?RXB1NGRabzBWc2ZUYkl3b3B5U000M2FaMldoUXQ2enJhWUxSMDIzUT09?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <50C82F557F52C849BCE743658958ABC8@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: 053e424e-0b56-4e1c-df4b-08d9e258aa39
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Jan 2022 12:21:08.9773
 (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: 86gh7Sj4Pnz/f4jUHNJxasZSgu9QIbUBFI5UIupZCVNjFIx7XmwGbXY/9IrLWEsEsgyo/iHFog9erAY8N4Zq09K9APMxzX+f+0UP15LI3KrAB/01e6npGU4gFMzv/UfU
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB7256
X-Proofpoint-GUID: CYoH7y4d97sGIeFjIvHRgIVX-uPWM6XT
X-Proofpoint-ORIG-GUID: CYoH7y4d97sGIeFjIvHRgIVX-uPWM6XT
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-28_03,2022-01-27_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 bulkscore=0
 mlxscore=0 priorityscore=1501 mlxlogscore=923 adultscore=0
 lowpriorityscore=0 phishscore=0 spamscore=0 malwarescore=0 impostorscore=0
 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2201110000 definitions=main-2201280078

DQoNCk9uIDEyLjAxLjIyIDE3OjI3LCBKYW4gQmV1bGljaCB3cm90ZToNCj4gT24gMjUuMTEuMjAy
MSAxMjowMiwgT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gd3JvdGU6DQo+PiBGcm9tOiBPbGVrc2Fu
ZHIgQW5kcnVzaGNoZW5rbyA8b2xla3NhbmRyX2FuZHJ1c2hjaGVua29AZXBhbS5jb20+DQo+Pg0K
Pj4gV2hlbiBhIHZQQ0kgaXMgcmVtb3ZlZCBmb3IgYSBQQ0kgZGV2aWNlIGl0IGlzIHBvc3NpYmxl
IHRoYXQgd2UgaGF2ZQ0KPj4gc2NoZWR1bGVkIGEgZGVsYXllZCB3b3JrIGZvciBtYXAvdW5tYXAg
b3BlcmF0aW9ucyBmb3IgdGhhdCBkZXZpY2UuDQo+PiBGb3IgZXhhbXBsZSwgdGhlIGZvbGxvd2lu
ZyBzY2VuYXJpbyBjYW4gaWxsdXN0cmF0ZSB0aGUgcHJvYmxlbToNCj4+DQo+PiBwY2lfcGh5c2Rl
dl9vcA0KPj4gICAgIHBjaV9hZGRfZGV2aWNlDQo+PiAgICAgICAgIGluaXRfYmFycyAtPiBtb2Rp
ZnlfYmFycyAtPiBkZWZlcl9tYXAgLT4gcmFpc2Vfc29mdGlycShTQ0hFRFVMRV9TT0ZUSVJRKQ0K
Pj4gICAgIGlvbW11X2FkZF9kZXZpY2UgPC0gRkFJTFMNCj4+ICAgICB2cGNpX3JlbW92ZV9kZXZp
Y2UgLT4geGZyZWUocGRldi0+dnBjaSkNCj4+DQo+PiBsZWF2ZV9oeXBlcnZpc29yX3RvX2d1ZXN0
DQo+PiAgICAgdnBjaV9wcm9jZXNzX3BlbmRpbmc6IHYtPnZwY2kubWVtICE9IE5VTEw7IHYtPnZw
Y2kucGRldi0+dnBjaSA9PSBOVUxMDQo+Pg0KPj4gRm9yIHRoZSBoYXJkd2FyZSBkb21haW4gd2Ug
Y29udGludWUgZXhlY3V0aW9uIGFzIHRoZSB3b3JzZSB0aGF0DQo+PiBjb3VsZCBoYXBwZW4gaXMg
dGhhdCBNTUlPIG1hcHBpbmdzIGFyZSBsZWZ0IGluIHBsYWNlIHdoZW4gdGhlDQo+PiBkZXZpY2Ug
aGFzIGJlZW4gZGVhc3NpZ25lZC4NCj4+DQo+PiBGb3IgdW5wcml2aWxlZ2VkIGRvbWFpbnMgdGhh
dCBnZXQgYSBmYWlsdXJlIGluIHRoZSBtaWRkbGUgb2YgYSB2UENJDQo+PiB7dW59bWFwIG9wZXJh
dGlvbiB3ZSBuZWVkIHRvIGRlc3Ryb3kgdGhlbSwgYXMgd2UgZG9uJ3Qga25vdyBpbiB3aGljaA0K
Pj4gc3RhdGUgdGhlIHAybSBpcy4gVGhpcyBjYW4gb25seSBoYXBwZW4gaW4gdnBjaV9wcm9jZXNz
X3BlbmRpbmcgZm9yDQo+PiBEb21VcyBhcyB0aGV5IHdvbid0IGJlIGFsbG93ZWQgdG8gY2FsbCBw
Y2lfYWRkX2RldmljZS4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBPbGVrc2FuZHIgQW5kcnVzaGNo
ZW5rbyA8b2xla3NhbmRyX2FuZHJ1c2hjaGVua29AZXBhbS5jb20+DQo+Pg0KPj4gLS0tDQo+PiBD
YzogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+DQo+PiAtLS0NCj4+IFNp
bmNlIHY0Og0KPj4gICAtIGNyYXNoIGd1ZXN0IGRvbWFpbiBpZiBtYXAvdW5tYXAgb3BlcmF0aW9u
IGRpZG4ndCBzdWNjZWVkDQo+PiAgIC0gcmUtd29yayB2cGNpIGNhbmNlbCB3b3JrIHRvIGNhbmNl
bCB3b3JrIG9uIGFsbCB2Q1BVcw0KPj4gICAtIHVzZSBuZXcgbG9ja2luZyBzY2hlbWUgd2l0aCBw
ZGV2LT52cGNpX2xvY2sNCj4+IE5ldyBpbiB2NA0KPj4NCj4+IEZpeGVzOiA4NmRiY2Y2ZTMwY2Ig
KCJ2cGNpOiBjYW5jZWwgcGVuZGluZyBtYXAvdW5tYXAgb24gdnBjaSByZW1vdmFsIikNCj4gV2hh
dCBpcyB0aGlzIGFib3V0Pw0KSnVzdCBhIGxlZnRvdmVyIGFmdGVyIHNxdWFzaGluZyBXSVAgcGF0
Y2hlcywgc29ycnkNCj4NCj4gSmFuDQo+DQpUaGFuayB5b3UsDQpPbGVrc2FuZHI=


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 12:43:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 12:43:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261988.453947 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDQbT-0006YM-EM; Fri, 28 Jan 2022 12:43:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261988.453947; Fri, 28 Jan 2022 12:43: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 1nDQbT-0006YF-9O; Fri, 28 Jan 2022 12:43:47 +0000
Received: by outflank-mailman (input) for mailman id 261988;
 Fri, 28 Jan 2022 12:43:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=B5aJ=SM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nDQbR-0006Y9-PW
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 12:43:45 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ed774e6d-8037-11ec-8eb8-a37418f5ba1a;
 Fri, 28 Jan 2022 13:43:44 +0100 (CET)
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur02lp2052.outbound.protection.outlook.com [104.47.4.52]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-3-4LnytWwUMTKIWsJCDbjIhg-1; Fri, 28 Jan 2022 13:43:41 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM0PR04MB6372.eurprd04.prod.outlook.com (2603:10a6:208:16b::27)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.19; Fri, 28 Jan
 2022 12:43:40 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Fri, 28 Jan 2022
 12:43:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ed774e6d-8037-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643373823;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=7X2ntNnnQ16v9t4cWE5oej4JS0ziR+EKIL+nJJ914GM=;
	b=i/12UPsmOyNKK3BJZ9BXtW13dlAgAUJSvmaK1cLBniAu+JWWe/9WCfw+Wjp6iSv0GfNtoO
	lBjL6n3d7+2E2Nu/fYyJZqiV0CgPeQjigjG2YRr3+u0xAMzCUop+zhL+NYzI7kAQ9rMiy6
	OtD12ExioW8IYwCYFLXhbP0ThcEjmRc=
X-MC-Unique: 4LnytWwUMTKIWsJCDbjIhg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=A4Y/9TEyo6wnXF/u4OU7Yy+9OVJISNomQtiR9MDhN8hL0iN+C4IgB8fm9yTTW4FL2SX213EIo6/zkh8y5Q86+x7HYZ1OFzWrF8hQOItobMqpKvm2XYJYjPd/f4VgKlqUYJegvwfDGzHbZCSy8ACBlEpjtx7HW1nCVt+aaIVbcdHOlEo7RgPqlsN3Qw9TT+6ckNVdTwdlQVu7XYLt/DG9gZf0D/dXOKRV2unvW83eNB2KTGWcy1PpHy4pa19HX2mZMzH3NS9QT24hTlrxv/ekgyNxjCKrIVKQjH5AwZNSr0PxDD1m6Ul7uxZ/5cnEr0Nl7xF5aHatLIVwfxl919P+0g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7X2ntNnnQ16v9t4cWE5oej4JS0ziR+EKIL+nJJ914GM=;
 b=e6ul2/ArrhymqzEU/axOlvGgdl8NuCS5Q1wCE8Nw9nVVAWnVqbUT/qrZaJuWF5aO2ztwYdbmHnIGbLlljDo8McdEkhzswLPBFL/fJxoh0BFUO5f7uAvR4eqwIp/sXG5ok0zrHM7Xp5ZFCRfmj2WciAJ+pkKDsW5GQEotYzk6QSyEncrgTQl4LwlpEpN8sV+Wk8EiA9q6OH3ApVcvROf1PAPMOFUbKIuSW1noY5A6qHnC96rV48Fe4a4lO9hljhPODOVt+mCgGSJGeAE/FSOZfXE1sLWNnsTjuWMBYHDeuoOSCdibbU8Z5DqeLqxazRpgSVxegSOyPOkDiwiFPSqcDQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b9b4262e-5ca2-b051-7aba-b2ad1a6bdc01@suse.com>
Date: Fri, 28 Jan 2022 13:43:38 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [XEN PATCH v9 08/30] build: fix enforce unique symbols for recent
 clang version
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20220125110103.3527686-1-anthony.perard@citrix.com>
 <20220125110103.3527686-9-anthony.perard@citrix.com>
 <708a1723-7b01-e82b-f2c2-d031a33ae55e@suse.com> <YfPbndiBeViN0heB@perard>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YfPbndiBeViN0heB@perard>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P192CA0057.EURP192.PROD.OUTLOOK.COM
 (2603:10a6:209:82::34) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 749548e6-7641-467f-adb8-08d9e25bcf46
X-MS-TrafficTypeDiagnostic: AM0PR04MB6372:EE_
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB6372A80C07A35604A2CBF4F6B3229@AM0PR04MB6372.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:
	Q74R1Nwn6ZgoMaH9DeWl4HiGq//x6fmDXwwke94mPXQK3wzmy8OVrtLBCi5ISaSp3GeJS7aCL4vKNs3o9xu4z0SPRtHOdLr9Kg3kS6eOfOPnKOVu3NWiaxkC7GAJGQjd6OB44oXBokVjraZZRBMqZTsIU3x+YRnUqcUCqz2+tf/GvSsgpnLDTw9u59w/1W+0jxcnA0oVFjzHJJjv69S1QEEGCaHAMS+7jdX+moM6tMUADLnhzLwmA//NB6tGfFbUwqxFMSSPSq0COSiGZ9xEf8QHpIX7eYBD8V/dI+OrJFyIL7mYl+1lggpgrpK46vG0xX+yrYobw7M81Nyd6VSoqRIs/v1/OYBIXRMbRrq7uNT/jKkniE46/FoP0yG+y4nrlwgg00VuPg2DdFRaolQJScZ3HEXMj8GMo8MSdkkKVdhynC/LM4Q2cDfN11BzAxJy4EnrHO0DlWwGvmBh5Jl0zhswFsoljGQEdk0+U8gTtM4/sxDxTcB4d32ZQtA4rqUAMFLHv50xORWd+tpoZgNMCDS8u8yxKSVp9Plq2vseSkSYzR1fd4BYZTCJnLLcIHxoEL/h3ibLwe7GdRc5J+Yc6VcUe8WmD7NuwNbyGti/q5f14YuICimcSKln3srpR5FR2NMTTQpGvzp53YjTFzDWZ416etstIkKUl21h171GkQ7NZULBt9ArK4/LLsYVlDswyfW/TULpM5J615SOljoeEWYIIeg9aPvM0KBbO8zKddARReOV9jhz2DwmmRnKZr7DgvdVfjwpPbDteqm2yHbOzsDDYcE4YAgwJ5/0p7XksyMOz6lLYEjsyEA5RDzxZzLJ
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:(13230001)(366004)(2906002)(316002)(54906003)(508600001)(5660300002)(38100700002)(6916009)(2616005)(66946007)(66476007)(66556008)(8936002)(8676002)(6506007)(6512007)(31696002)(86362001)(53546011)(4326008)(6486002)(83380400001)(966005)(36756003)(31686004)(26005)(186003)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?L2p3VXRGZHkxYkczV3NSc0loS2VCcjlQMEdaM2llWGkvVEJmSVlqOUIwZHpq?=
 =?utf-8?B?MzNsUUdwazZIZTBRWE8waWIyWGg5d2dpZkQ1TjNnTXRyRHVSZjFSQjk5Nm00?=
 =?utf-8?B?eGNuS014bUM4eVNISWh5dVM5ZS9kUEtibW15dVhxRU5DeTZUbnQ0WjhzYStx?=
 =?utf-8?B?Ulk5SnN3eGw3cHZlb3VtRE9iTHJrS0pOKzlFZWU4OFBvTktLampaM0xNWmdY?=
 =?utf-8?B?ME5KSUt2OVlNTk9mYXhWM3FoeUFQZHlWRDhkdEkvRWFvbGduWVh2WW5IVVhl?=
 =?utf-8?B?TWZQWWlDNDhYWXpsVzcvMUdyZkt0eTV6Zkc3dUZJMElNVjdqaERMNXdDajNs?=
 =?utf-8?B?UEQwbnAvVDFmNmppL3F4WTdnSmgyU001YWYrZHZ3ek02dXJMM1luZ2dDTjVM?=
 =?utf-8?B?MDNVOFQ5SVVMTjVDMGo1azFpVlJkS1JkVlduNStKUnh4QW9CWTFrRWFwTWhr?=
 =?utf-8?B?ZjA3aTRxUVdLQWsrVDZkQWxvRjBXakNNUTJsL2RBdUdLMXVzMVR1R2F5OUE4?=
 =?utf-8?B?QlNwa21BMXpZL0Q5WWpReFgrQ3hDSHZxcXlUeTZjU3FZck9KSllaakRuR1Zu?=
 =?utf-8?B?dkU5TC82ZlRQQWo2Z0tMTW5KMEk5QzdlSm5Sc3ZFR1VUeGxkVXZkZDg4NnpO?=
 =?utf-8?B?V053VlBPQkxCSU5BeWZHUHJjdE5sUTJ2elcxRVRXNEM2bGFrbkpVdk41N2hl?=
 =?utf-8?B?RkFaL1ZCdTZTcGlKTG5wZEtEakRXbGFHTXlOaG9rTGdjcmpiYkNsK0tHUU1E?=
 =?utf-8?B?dnFaNjJUZzRuRXFQY3FxZHJrdW9Ib1BZT0J6UTVzb3I0MUlLK1BkcFRWN2RZ?=
 =?utf-8?B?MVlCdFkzeTRLdXMyTUd6UFdVNDdna21ZZDFWSU1GaGZERmt0MU14RVRTUjBO?=
 =?utf-8?B?eGh5cU5VeXMrcTNTY2hiZk9Bbk9kc1VDM0cybno3cUVwSkJJK21sVllDVXFU?=
 =?utf-8?B?eGk0NHF2SXkwd3RhVnNVSU12N2E4ejVwaFdCbHE0eFFsRTlKNmkza3AzdVZZ?=
 =?utf-8?B?TUNZNXZnelJaY0IyTVkxNm9MWjJ3eTYxNnVNcWF0SUNoM2VRR2UyeS9sTWVa?=
 =?utf-8?B?Z0EwM1hCaTYzcWdrVTZMNURqTXJwbXZYZWp2bjB4YTlRVlMxVVhneGhES2hK?=
 =?utf-8?B?STVrQU9zODlzOFFQL2FwL2RmNm5SdWIySXVlbEM5K2VyRFFud3Z6aERRa3Yr?=
 =?utf-8?B?VHBPWENKZW5aWkMzZHk0a0w1SE5DUWlyUjBDNHNCbkVodHFnc0JDS1RBbHcv?=
 =?utf-8?B?M3dVQVZKaGhYVk8zY3E0N0thQXJCR2krbk1ISTdSUlowb0EyMm5xdEJwZVkx?=
 =?utf-8?B?Q0Y3VUdvTkhWRDBpc1RKZk1XSWRhRC9lNFhhOHVaTWgyRWZ4bTBjakJjbS9O?=
 =?utf-8?B?aEhZemxYU0hwVk1SMFRHZ3N3WmhzMFhpWGgyZ21kZHVHTFVTOW5pcVI4K01E?=
 =?utf-8?B?S3p6U000STZNY2MrQVRmazhCQWlJSFYzMG0rdUNrZkhQWGxDdUVOKy9hWWgv?=
 =?utf-8?B?T3V1NkNsaXRQa3JwMUN5MEk1SWtzc2xQREYrVnAwL2VKRHdlcHVCSkZMNzlO?=
 =?utf-8?B?QlZRcU9wQzk3ZloxcUZNTWh0K1BTNTZHK2pQWXI1NjlTYys4Q3k5WTJNa3Qr?=
 =?utf-8?B?djNodGpJV2U5QWtLS05TSHpCcnc4QkhBS0Z5cDJzMUFUVkFKaDl1Q2FjdEpW?=
 =?utf-8?B?ekFxSmZvdFJSc21UeGZlMlVtZWptQlRkUGMwQ0xBV0VSUDM1citEek10QmpX?=
 =?utf-8?B?c0lPSGZ5azVNWmt3Z0xVY0ZGek9mc1d3SmE1eUs4dnBtSFcxVC92RnY0TitV?=
 =?utf-8?B?TVdVTzloUExMVnV2RTZpc2VLdWxoVmlEcS9ucnY0QVkxN2FBTDM4WThuSUtX?=
 =?utf-8?B?RlptTkorcXg1SkJrS0hhUUNzWHJkQXd1ejVJQkw0VVJYODZHNXFwaG12NGU1?=
 =?utf-8?B?NHR5ZTlBZ2tBTWNpTU5KMVIwOHViUnBEamUxM0gzcU13RkFSNmZWdjR6NHN1?=
 =?utf-8?B?Sjk3RXRLRk4xeTNoRDZRZWNWUldDYURPSXUvRWRUR3R4aUZEYzdBZWVwRzR6?=
 =?utf-8?B?R2tmaFV2V2lhY0kxMEU4QVBTZktKd2RlTVAweWNvYlE2Nm9JWnJNSkhDMldz?=
 =?utf-8?B?dE9UODg2b0ExM3JtNnpQYzhMeWthWE9GZUdERS93Vi9yaDNObzVjVk5OVTlt?=
 =?utf-8?Q?ajDa0BCYNRnZPKu7+QaDbkU=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 749548e6-7641-467f-adb8-08d9e25bcf46
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jan 2022 12:43:40.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: yyMiJhtGMIYKKDvCWdo0e9+8WbKEuNEpDu47s91c+Qralx73n+2rFl8aLZGqI5rXOQmlTS//6XMzLbSbXMxESg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6372

On 28.01.2022 13:03, Anthony PERARD wrote:
> On Thu, Jan 27, 2022 at 04:57:20PM +0100, Jan Beulich wrote:
>> On 25.01.2022 12:00, Anthony PERARD wrote:
>>> clang 6.0 and newer behave like gcc in regards for the FILE symbol, so
>>> only the filename rather than the full path to the source file.
>>>
>>> clang 3.8.1-24 (in our debian:stretch container) and 3.5.0-10
>>> (in our debian:jessie container) do store the full path to the source
>>> file in the FILE symbol.
>>>
>>> Also, based on commit 81ecb38b83 ("build: provide option to
>>> disambiguate symbol names"), which were using clang 5, the change of
>>> behavior likely happened in clang 6.0.
>>>
>>> This means that we also need to check clang version to figure out
>>> which command we need to use to redefine symbol.
>>>
>>> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
>>
>> The "likely" in the description still worries me some. Roger, would
>> you happen to know, or know of a way to find out for sure ("sure"
>> not meaning to exclude the usual risk associated with version
>> number checks)?
> 
> I found f5040b9685a7 ("Make .file directive to have basename only") as
> part of LLVM's "release/6.x" branch (and "llvmorg-6.0.0" tag), but not
> in "release/5.x".
> 
> https://github.com/llvm/llvm-project/commit/f5040b9685a760e584c576e9185295e54635d51e
> 
> This patch would seems to be the one changing the behavior. This still
> suggest clang 6.0.

Oh, thanks for digging this out. May I suggest to replace (or delete)
"likely" then in the description?

Acked-by: Jan Beulich <jbeulich@suse.com>

Jan



From xen-devel-bounces@lists.xenproject.org Fri Jan 28 13:04:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 13:04:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261992.453958 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDQuw-0000jQ-0O; Fri, 28 Jan 2022 13:03:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261992.453958; Fri, 28 Jan 2022 13:03: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 1nDQuv-0000jJ-TF; Fri, 28 Jan 2022 13:03:53 +0000
Received: by outflank-mailman (input) for mailman id 261992;
 Fri, 28 Jan 2022 13:03:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PBCP=SM=epam.com=prvs=402709c4a7=oleksandr_andrushchenko@srs-se1.protection.inumbo.net>)
 id 1nDQuv-0000jD-89
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 13:03:53 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bc8ab71b-803a-11ec-8eb8-a37418f5ba1a;
 Fri, 28 Jan 2022 14:03:51 +0100 (CET)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20SCwDNL001040;
 Fri, 28 Jan 2022 13:03:48 GMT
Received: from eur05-db8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2111.outbound.protection.outlook.com [104.47.17.111])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3dvgp3g8sx-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 28 Jan 2022 13:03:47 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com (2603:10a6:20b:153::17)
 by DB7PR03MB4811.eurprd03.prod.outlook.com (2603:10a6:10:30::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.18; Fri, 28 Jan
 2022 13:03:39 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6]) by AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6%3]) with mapi id 15.20.4930.018; Fri, 28 Jan 2022
 13:03:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bc8ab71b-803a-11ec-8eb8-a37418f5ba1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jYPkp2wotfJH6v0xQwfAJiwZ9sn0mUDgPuvEiLMStuO8UAoRx4Ep/wy/3feRZjNfXOKD7nhASpykX1Vj/EFMLa+4Wm40p5MevQxs3osN7bT32dVdbIx+MSWtJIEl3AYhB41ObrkuIFNJwUZ9oGefbpFVLwoOSS00EwkYg7mgdV4boVA7JLgWPKJiUFvL8F60xFvMYGkrA3MIjWE6NzS9pxpbjy4Z+yxStZLBzf8IlsVT7R3xrA99W++KI2p2kzsKXw2TrRtHibwFRNT4y+sR7Bv1kDHRHX2aAJg4j1yMPUji0it+IgWxAOzNlWQWivePcPPeMibqzGGrSY2gM5/kNQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XXSRjk22+M9ygXSnobb9qzA0KqtxZcN9yE8wzySD7oU=;
 b=MtWzuMlH6VxIEfjh9YVyIpGbak1OS3loUPXH6HC8pYCN6qCrM/SPAONwV6bPKy07qTmCZ9Iu/cvsEeqAcuVj56OC4S6XS+UkK+YtU4DtlP3+OHrdKxPscgGpc5yXp14bEOZj5JQOfiFyt7RzbKlZ435D1IOfung91OEofRT1qcZnRamvl05KFJhA9gkVaycHKvZDEhhn9A+4moXAauJWrq7CrVfEbryGvd8SX0yjJwZVr8KCSIElNclsvI7HKAJXm81+hobWOeJbgdSzCzFZGVTPZN+wNQB2o561o0b6vRF+EWJVr2OFblo3WZ4xolYm3+zKBhDrxLEk0fXDw0r/qg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XXSRjk22+M9ygXSnobb9qzA0KqtxZcN9yE8wzySD7oU=;
 b=J1/l0LGvMamGYSy7hiI6NWGYQL6PUVk7llslkz4eYeryNkcLr9KvhVlXyUuU2x0FcSp4SqiturYkzs+regmeCzVZj0xAmxGguLeThQ/YjtCC4hZWCV0K8hcR5X1lAJTnHhRws3oLiTSkISA/v83ch+//NQWGaU9uEMD7sXH7wrqvoVfivmJqcu6ToBQi84sr3dTj4SC7PaDEVC+lIDDkcolwajheb0VzrccO0c5lw8//FmIwpNIw34BVydXIpr5Rjz3GVr6Swrv7CpcPo8RCUFTwYc2s9OX+7PJhAbmsMYp15ToPmHKLwaoOz3OnfTbe/SVg+CH/uKCXJ1b/xz34fg==
From: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
To: Jan Beulich <jbeulich@suse.com>,
        =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>
CC: "julien@xen.org" <julien@xen.org>,
        "sstabellini@kernel.org"
	<sstabellini@kernel.org>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Artem Mygaiev <Artem_Mygaiev@epam.com>,
        "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
        "george.dunlap@citrix.com" <george.dunlap@citrix.com>,
        "paul@xen.org"
	<paul@xen.org>,
        Bertrand Marquis <bertrand.marquis@arm.com>,
        Rahul Singh
	<rahul.singh@arm.com>,
        "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>,
        Oleksandr Andrushchenko
	<Oleksandr_Andrushchenko@epam.com>
Subject: Re: [PATCH v5 14/14] vpci: add TODO for the registers not explicitly
 handled
Thread-Topic: [PATCH v5 14/14] vpci: add TODO for the registers not explicitly
 handled
Thread-Index: AQHX4ewNiPcRmuDEOU6R/33b+PKQzqwUGDwAgE0mpACAAALxAIAXiUaA
Date: Fri, 28 Jan 2022 13:03:39 +0000
Message-ID: <4796e3f2-a472-f5b6-2841-5590407efd92@epam.com>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-15-andr2000@gmail.com>
 <892d6148-e98f-def2-121b-922f1215a442@suse.com>
 <YeAo1sNve2iaJuzb@Air-de-Roger>
 <410f27c7-ed38-c1ff-ec2a-2ffd32e6751f@suse.com>
In-Reply-To: <410f27c7-ed38-c1ff-ec2a-2ffd32e6751f@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: f6c1eada-3a23-4a32-0668-08d9e25e9ab4
x-ms-traffictypediagnostic: DB7PR03MB4811:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <DB7PR03MB4811674E6B39F20D94DED0D0E7229@DB7PR03MB4811.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: 
 RTB8efPHjErKTw5N90q6AOrX8C+lZLnbzKHa3iZoMECMB/A5rWZGjC3+8o0nQuXTIIEIaulskI5P2L1Ndj73Ztyeqq6Se0y6k4twl/uEwtRstr1lBsyY/A2YBHrRiAxxG5+NGK6hwwEyK8+y7Ts28HiPcQWDuRB8JfQlhmjcMIlmxmX+ojQ76GGxR3ZVBpGcO8mg5QGdoRF4eWdbkUl3GlJ7euRU1nrkTYmvEtwz6//cily+0Dqr9WIad/kleoJE86kYkq4/uhqXPqgm0bcPY80YH00OPdsbaZGbv55Un81GspevGfQ8xhCHpAKzDzxO2ZQpPK7V3XQofemPL7OoHSXlTjLc3celxptJZsKQCZRx9rel3MZlQio9qfllEvIVhaIwUqDtDvLbFIDb4XX321RF4jBBW571GHKzBM2WT9tIczbcOTPr8iPZCSo3Fa532w9dq4jYO1SfiO1mVCn6FV6lsOOoS1svroQ75bIC3D8+su94EuEl4wUGWWlPk2x+/5euNiZAUD5ySmQBiZAS8xXg5OO8UqLX+07PjksYMRs8RV8XpP3moAM5LumOHLtJzsaI51vLy/PpUfxWWsqDZZnipW209T8GjIwd0ZST84CVcG6F4/N/eZICDy1vQE4WWeEl6/FWkctY8LwUwvn0p6A8mADi/vdsAThDv/yfQWgz2rrwk7Rh2ekeb7g3gOrJpcxBE1nEieQcVAoZUjHaUoz04x358AlNH9gdPgsDpb1qsE96tvk86oZJg/pwE/Bi
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:(13230001)(4636009)(366004)(7416002)(122000001)(36756003)(31686004)(66446008)(2906002)(66556008)(66946007)(64756008)(66476007)(8676002)(91956017)(5660300002)(4326008)(8936002)(38100700002)(76116006)(53546011)(86362001)(83380400001)(38070700005)(316002)(6486002)(54906003)(110136005)(26005)(186003)(6512007)(2616005)(31696002)(71200400001)(508600001)(6506007)(107886003)(45980500001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?ZUY3NjlIYi96VlFlWmJLSXF4TWtZTjN0SnhMRXZiT0QvK0xjaVFnS0E4ZDc3?=
 =?utf-8?B?RFpSS2p6YUZmRE1YdFFGT0hUYVkzWFg5c3hCdGFCcjZ6ZTFWU3VzVHdPc1ZC?=
 =?utf-8?B?Z2FNWHI1MmdIRVpld253elViU1YxcklrQk5hSkZwQmlnZGdsVVM0VXNKTlZm?=
 =?utf-8?B?YnorWG1vMTQ0QThTdmZnL1NCcUloYm9ra0VGNk11VTlneGpCeWExSFRJdU9k?=
 =?utf-8?B?bnpCN2lXYjd6RVlZNWQ2VCtXU1Y4TEJ3UmFSSmxGV1I1b3NzNittUnp0Rmoz?=
 =?utf-8?B?bHlVTnlsWGtkVkVYRzFpQVZ3VVRrUFN6UE5KMkl3RUoyTWdmNCt3NjJzTXdo?=
 =?utf-8?B?V2NXeEg3dEpJald5TmIvM291UHZ1MWtEekhoR1lKTU1iRHVWMkZMbklmV1Ez?=
 =?utf-8?B?enpxcVBmYll3VlptOEFjSENLd2VXelFFbk5vczhVdUUrUzNQRXRaVjJ0Q0RU?=
 =?utf-8?B?S1Ixc0I1bXgvNXR5L1dydXhNaDluN2p2Qm9OT0tlTWJkMzlOUlRWbWE3d0s0?=
 =?utf-8?B?SWF5VUFVdEdvWXRZWEF4OVgwTjVveWo5OHdVTlV1dm5TZmVGRWt0WWhVZFhs?=
 =?utf-8?B?T2EyQk1sVVFXTCtyM0tONHZxNnRuSmdGeXpDVlZ5dnp1TTE4VjhVeGJxZXI2?=
 =?utf-8?B?UC9KZ2xaNUNFY3J1OVViVkVlN0s2b0pXUVpreEIyUU1hZHVUaEE4bTN2VHY1?=
 =?utf-8?B?OVJHc2piWjMxazE0SXJ0RGVLM3grbHRVeDFYOHFteVRTaGtjNGtrU0dLRlJj?=
 =?utf-8?B?L3lsWmJ4K0MwbE5iNTRoMXAyTlp5VTZ0eXVpZlhJdi95d1RCYSs0YWtkY3c3?=
 =?utf-8?B?K0o3KytUNGNzWGF1bmU2c25rMlR0a0Yrb0tpT3VKbklDMUJLdmZ2blJZVnVa?=
 =?utf-8?B?Q2V5dW1tUzBGWUxvUDYrRk0yVXF1SWFaNVN5bFBWZjdkeGhVUVZiNFZud0RG?=
 =?utf-8?B?aXQwNTMxOHB5WTZvRGdpZWsvRHV0Qm9QWHpIWXJnb3JoMTI5a1Bva0ZkeDNF?=
 =?utf-8?B?c3dWUlh4WTA5eUd3WXZzcEoxV3hadmFSR3IwWlJmOG1rbDZBSUF3b3hWc0Ra?=
 =?utf-8?B?eCtiM29GKzU4eDdxdENvcFBNMkdHcjIxTzN5ZTZ1L0g1MWpTQk1PRnJXaXU4?=
 =?utf-8?B?U3NDNG91NFJUL3V3TTQ1STdrSU0xcklsWTg4VVg3OVhsNm1QMEkrZG9mT3Fj?=
 =?utf-8?B?Y1ppczdFYU9KMlgzYXVPTkZDNnhRZE5oWXZsM3VRZGJ0eFNEb3g5aVZkL01Z?=
 =?utf-8?B?eGpSUUtETkxPRHF0ei9RTU9jaEVjdUoxbWRodjJ6SUtGT3oxOTN5UHBmSHB3?=
 =?utf-8?B?bXNUeVUvNjJPVFA5UDJSRzBTSyt5YmlHYzBwQ09yRkpWYTlIQUxDV005MFFW?=
 =?utf-8?B?TWt4WW96WHNER21xTHRBby9NSEVMQ2RkNysvK1Q5RVpMZ3VOUzFKMkJkQTVm?=
 =?utf-8?B?Z1d6SW1LWkxsaG5ra2FWQmROTHhpZWtyWUFQZnBwdW1DbWx2SVNrZkw4L1Qr?=
 =?utf-8?B?blBaOVR5cWh6bGxFcG5wbEtJeW5yQXNtUFRXUGwrWEZ0L0taT0dmTTBOWTlO?=
 =?utf-8?B?K0h4akhJb1NxL0tqdzNZMkVyUGRqVnJaSWhnUWo4THlMSXF0ZE9OUmp3V0hj?=
 =?utf-8?B?bk9tQmRGdklXZE82WjltcWVnN2hleE1hUEVJRk1ndXlGVFhSbmVBQkwzQk53?=
 =?utf-8?B?QzBGQXg2NHA4SXZLWGMvTjd6UUp1YXdCUDBJLzByRi9VbGEycEZPaVhqeVU5?=
 =?utf-8?B?T0ltd0J5WC9RRklRUWpkN1BUdnF6VWRYTEJqRkZ4UnhoVkJzQ2RTdTFGdkI3?=
 =?utf-8?B?S0xvMDVKbXNhYnNVenA4OVZadEh2ZjJCMkFnQ0Z3d3ozblF1Z3FkaU5BTDlC?=
 =?utf-8?B?dVVmT3EvYm9ZSXpOUGt4ai9OTU9Bc3RCVzVqZFBIaHllbVQwRlhMTndWeENh?=
 =?utf-8?B?cTdVYWphUFRMSmFmdVJQemM1THF4Vk55bUxuSVlBRjl2Yys0RUZYNzBoSHhw?=
 =?utf-8?B?NEJpT2VPbjVQZTJCQnpiZ2dYd25nVm5Vdkx0QnZVSkpveUc5bEx0anJPbDNl?=
 =?utf-8?B?TlloalBScU9FSnYrWGdPdHdpZ3V0RjZzTmhHbi9KRzI0T1FuZ2tadVE4WFVM?=
 =?utf-8?B?VlF2Tkp1ZDl1bVZHZFlLUENHVk1EWFVOMUZhT2ptVDRDd2VBK1RReG4wZzJ6?=
 =?utf-8?B?SjZjUTJrcWRlMDJtRnlKVFB0bUhLNW1JTzAvaTJsdWU4UTBjcjhwUysvcTB4?=
 =?utf-8?B?STRKdUhXVnNqWmZOZUxBZENTSFJ2QkxJbHBGZEtyL3Zwd21LeGdXei9KaHpC?=
 =?utf-8?B?cXFHTVBKcG9ZbkhUWmpNWVRIanlIZHFzODd6NXc2clE5aWdOY1ZJUT09?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <8F07871163E0B94E926929A3B4D964F8@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: f6c1eada-3a23-4a32-0668-08d9e25e9ab4
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Jan 2022 13:03:39.9303
 (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: VsCd5PAw7kG32/DD+FlkoNQPM8rNaYQD1ZPKN5VQ9FWGVdwUk6wWQKn/l1su/UF9cIU1Mqk6qHz3bby5/L5ojflyUoy+nYXGTp3v6dEvxdMvRVUABtTyV1UACmVEP35K
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR03MB4811
X-Proofpoint-GUID: EQ0dFmGOqZBdUl9ii7hNVvMuD85fbUpP
X-Proofpoint-ORIG-GUID: EQ0dFmGOqZBdUl9ii7hNVvMuD85fbUpP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-28_03,2022-01-27_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501
 bulkscore=0 suspectscore=0 mlxscore=0 spamscore=0 phishscore=0
 impostorscore=0 malwarescore=0 clxscore=1015 lowpriorityscore=0
 adultscore=0 mlxlogscore=816 classifier=spam adjust=0 reason=mlx
 scancount=1 engine=8.12.0-2201110000 definitions=main-2201280083

SGVsbG8sIFJvZ2VyLCBKYW4hDQoNCk9uIDEzLjAxLjIyIDE1OjM4LCBKYW4gQmV1bGljaCB3cm90
ZToNCj4gT24gMTMuMDEuMjAyMiAxNDoyNywgUm9nZXIgUGF1IE1vbm7DqSB3cm90ZToNCj4+IE9u
IFRodSwgTm92IDI1LCAyMDIxIGF0IDEyOjE3OjMyUE0gKzAxMDAsIEphbiBCZXVsaWNoIHdyb3Rl
Og0KPj4+IE9uIDI1LjExLjIwMjEgMTI6MDIsIE9sZWtzYW5kciBBbmRydXNoY2hlbmtvIHdyb3Rl
Og0KPj4+PiBGcm9tOiBPbGVrc2FuZHIgQW5kcnVzaGNoZW5rbyA8b2xla3NhbmRyX2FuZHJ1c2hj
aGVua29AZXBhbS5jb20+DQo+Pj4+DQo+Pj4+IEZvciB1bnByaXZpbGVnZWQgZ3Vlc3RzIHZwY2lf
e3JlYWR8d3JpdGV9IG5lZWQgdG8gYmUgcmUtd29ya2VkDQo+Pj4+IHRvIG5vdCBwYXNzdGhyb3Vn
aCBhY2Nlc3NlcyB0byB0aGUgcmVnaXN0ZXJzIG5vdCBleHBsaWNpdGx5IGhhbmRsZWQNCj4+Pj4g
YnkgdGhlIGNvcnJlc3BvbmRpbmcgdlBDSSBoYW5kbGVyczogd2l0aG91dCBmaXhpbmcgdGhhdCBw
YXNzdGhyb3VnaA0KPj4+PiB0byBndWVzdHMgaXMgY29tcGxldGVseSB1bnNhZmUgYXMgWGVuIGFs
bG93cyB0aGVtIGZ1bGwgYWNjZXNzIHRvDQo+Pj4+IHRoZSByZWdpc3RlcnMuDQo+Pj4+DQo+Pj4+
IFhlbiBuZWVkcyB0byBiZSBzdXJlIHRoYXQgZXZlcnkgcmVnaXN0ZXIgYSBndWVzdCBhY2Nlc3Nl
cyBpcyBub3QNCj4+Pj4gZ29pbmcgdG8gY2F1c2UgdGhlIHN5c3RlbSB0byBtYWxmdW5jdGlvbiwg
c28gWGVuIG5lZWRzIHRvIGtlZXAgYQ0KPj4+PiBsaXN0IG9mIHRoZSByZWdpc3RlcnMgaXQgaXMg
c2FmZSBmb3IgYSBndWVzdCB0byBhY2Nlc3MuDQo+Pj4+DQo+Pj4+IEZvciBleGFtcGxlLCB3ZSBz
aG91bGQgb25seSBleHBvc2UgdGhlIFBDSSBjYXBhYmlsaXRpZXMgdGhhdCB3ZSBrbm93DQo+Pj4+
IGFyZSBzYWZlIGZvciBhIGd1ZXN0IHRvIHVzZSwgaS5lLjogTVNJIGFuZCBNU0ktWCBpbml0aWFs
bHkuDQo+Pj4+IFRoZSByZXN0IG9mIHRoZSBjYXBhYmlsaXRpZXMgc2hvdWxkIGJlIGJsb2NrZWQg
ZnJvbSBndWVzdCBhY2Nlc3MsDQo+Pj4+IHVubGVzcyB3ZSBhdWRpdCB0aGVtIGFuZCBkZWNsYXJl
IHNhZmUgZm9yIGEgZ3Vlc3QgdG8gYWNjZXNzLg0KPj4+Pg0KPj4+PiBBcyBhIHJlZmVyZW5jZSB3
ZSBtaWdodCB3YW50IHRvIGxvb2sgYXQgdGhlIGFwcHJvYWNoIGN1cnJlbnRseSB1c2VkDQo+Pj4+
IGJ5IFFFTVUgaW4gb3JkZXIgdG8gZG8gUENJIHBhc3N0aHJvdWdoLiBBIHZlcnkgbGltaXRlZCBz
ZXQgb2YgUENJDQo+Pj4+IGNhcGFiaWxpdGllcyBrbm93biB0byBiZSBzYWZlIGZvciB1bnRydXN0
ZWQgYWNjZXNzIGFyZSBleHBvc2VkIHRvIHRoZQ0KPj4+PiBndWVzdCBhbmQgcmVnaXN0ZXJzIG5l
ZWQgdG8gYmUgZXhwbGljaXRseSBoYW5kbGVkIG9yIGVsc2UgYWNjZXNzIGlzDQo+Pj4+IHJlamVj
dGVkLiBYZW4gbmVlZHMgYSBmYWlybHkgc2ltaWxhciBtb2RlbCBpbiB2UENJIG9yIGVsc2Ugbm9u
ZSBvZg0KPj4+PiB0aGlzIHdpbGwgYmUgc2FmZSBmb3IgdW5wcml2aWxlZ2VkIGFjY2Vzcy4NCj4+
Pj4NCj4+Pj4gQWRkIHRoZSBjb3JyZXNwb25kaW5nIFRPRE8gY29tbWVudCB0byBoaWdobGlnaHQg
dGhlcmUgaXMgYSBwcm9ibGVtIHRoYXQNCj4+Pj4gbmVlZHMgdG8gYmUgZml4ZWQuDQo+Pj4+DQo+
Pj4+IFN1Z2dlc3RlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+
DQo+Pj4+IFN1Z2dlc3RlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPj4+
PiBTaWduZWQtb2ZmLWJ5OiBPbGVrc2FuZHIgQW5kcnVzaGNoZW5rbyA8b2xla3NhbmRyX2FuZHJ1
c2hjaGVua29AZXBhbS5jb20+DQo+Pj4gTG9va3Mgb2theSB0byBtZSBpbiBwcmluY2lwbGUsIGJ1
dCBpbW8gbmVlZHMgdG8gY29tZSBlYXJsaWVyIGluIHRoZQ0KPj4+IHNlcmllcywgYmVmb3JlIHRo
aW5ncyBhY3R1YWxseSBnZXQgZXhwb3NlZCB0byBEb21VLXMuDQo+PiBBcmUgZG9tVXMgcmVhbGx5
IGFsbG93ZWQgdG8gdXNlIHRoaXMgY29kZT8gTWF5YmUgaXQncyBkb25lIGluIGENCj4+IHNlcGFy
YXRlIHNlcmllcywgYnV0IGhhc192cGNpIGlzIGhhcmRjb2RlZCB0byBmYWxzZSBvbiBBcm0sIGFu
ZA0KPj4gWDg2X0VNVV9WUENJIGNhbiBvbmx5IGJlIHNldCBmb3IgdGhlIGhhcmR3YXJlIGRvbWFp
biBvbiB4ODYuDQpUaGF0IGlzIGJ5IGludGVudGlvbjogd2UgZG8gbm90IHdhbnQgdG8gaGF2ZSB0
aGlzIGVuYWJsZWQgb24gQXJtIHVudGlsDQppdCBjYW4gcmVhbGx5IGJlIHVzZWQuLi4NCj4gSSdt
IG5vdCBzdXJlIGVpdGhlci4gVGhpcyBzZXJpZXMgZ2l2ZXMgdGhlIGltcHJlc3Npb24gb2YgZXhw
b3NpbmcgdGhpbmdzLA0KPiBidXQgSSBhZG1pdCBJIGRpZG4ndCBwYXkgYXR0ZW50aW9uIHRvIGhh
c192cGNpKCkgYmVpbmcgaGFyZGNvZGVkIG9uIEFybS4NCi4uLnNvIHdlIGVuYWJsZSB2UENJIG9u
IEFybSByaWdodCBhZnRlciB3ZSBhcmUgYWxsIHNldA0KPiBUaGVuIGFnYWluIHRoZXJlIHdlcmUg
YXQgbGVhc3QgMyBzZXJpZXMgaW4gcGFyYWxsZWwgb3JpZ2luYWxseSwgd2l0aA0KPiBpbnRlcmRl
cGVuZGVuY2llcyAoaWlyYykgbm90IHByb3Blcmx5IHNwZWxsZWQgb3V0IC4uLg0KU29ycnkgYWJv
dXQgdGhhdCwgd2Ugc2hvdWxkIGhhdmUgc2FpZCB0aGF0IGV4cGxpY2l0bHkNCj4NCj4gSmFuDQo+
DQpUaGFuayB5b3UsDQpPbGVrc2FuZHI=


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 13:30:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 13:30:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261998.453978 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDRK7-0003i4-Ln; Fri, 28 Jan 2022 13:29:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261998.453978; Fri, 28 Jan 2022 13:29:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDRK7-0003fK-HY; Fri, 28 Jan 2022 13:29:55 +0000
Received: by outflank-mailman (input) for mailman id 261998;
 Fri, 28 Jan 2022 13:29:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5Vxm=SM=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nDRK5-0003aP-OY
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 13:29:53 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5dc8ad07-803e-11ec-8f75-fffcc8bd4f1a;
 Fri, 28 Jan 2022 14:29:50 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5dc8ad07-803e-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643376590;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=V6G8Qskfbksu1pgqDoVMntLfKzcuPRpqZI8kWWn5Gi8=;
  b=gH5cF4t/s6bxCybfQHZrjBL8mmEJ/J0VF1fRodWNibKoaPiYkQZOj9RU
   PA18zf7QCl7xlhVA9r8Bv2Out41h3cnS4hG22BxpSPyaPrY1EvvCJdA+M
   ZxzX5HaKZekkoO1HzV6HbN9nQR5bjq672+rzehwZmc8m76H4JZiASyrZA
   A=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: d1vRukRYYbMvGIDA2fMWC9/OlESx44bAjWolJZRrgA+NZpyErfz3LaO1tStT+CwFztxsVruWot
 lHqgE8Ye5ZwQCzPlabFNaRhK6z5iwlP3Vh8eDEvqS/+6pXu2DsCZzTTO7+l6s77wTMfmSYsrYI
 Wl4l8YrgP6s4gabOklu0Iytm3+x4GHeTD2lyRF4LhPt6caFd3RxMwu8jP12SbfSpG9dw07irB5
 lhCzaKDMefOvXoM1+X54B42/HF6DVVZ2QWWTTbwvz4A5ckmX8C5o6PRo/NMgxaszNC6wlrl/E+
 lU4dkpWaO5UUkfWN/ZBTtLGR
X-SBRS: 5.2
X-MesageID: 63388626
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:E3rVN64UvcrxnMtU2+7+fwxRtOzAchMFZxGqfqrLsTDasY5as4F+v
 mAbCGqCO66La2r2fdwgbd7l9UlQsZ6Ez9Y2HAQ+ry02Hi5G8cbLO4+Ufxz6V8+wwmwvb67FA
 +E2MISowBUcFyeEzvuV3zyIQUBUjclkfJKlYAL/En03FV8MpBsJ00o5wbZg2N4w3bBVPivW0
 T/Mi5yHULOa82Yc3lI8s8pvfzs24ZweEBtB1rAPTagjUG32zhH5P7pGTU2FFFPqQ5E8IwKPb
 72rIIdVXI/u10xF5tuNyt4Xe6CRK1LYFVDmZnF+A8BOjvXez8CbP2lS2Pc0MC9qZzu1c99Z9
 vBRpJbzQxUSN/fhkfUTUT53Hw1BIvgTkFPHCSDXXc27ykTHdz3nwul0DVFwNoodkgp1KTgQr
 7pCcmlLN03dwbLtqF64YrAEasALBc/nJo4A/FpnyinUF60OSpHfWaTao9Rf2V/cg+gQRq2ON
 5RDN1KDajzkXT1+YUxQOqgjhd+jm2LtKx9U9V2K8P9fD2/7k1UqjemF3MDuUsOObdVYmACfv
 G2u10bTDwweNdef4SGY6X/qjejK9QvrVYRXGLCm+/pChFyI2ndVGBAQTUG8o/Sylgi5Qd03F
 qAP0nNw9+5orhXtF4SjGU3jyJKZgvICc+R1D/wwqwuf8aOOzg+ICGojYTJtV8Nz4afaWgcW/
 lOOmtroAxlmv7uUVW+R+9+okN+iBcQGBTRcPHFZFGPp9/Gm+dhu1UyXEr6PBYbo1oWdJN3m/
 9ydQMHSbZ03hNVD6ai09Euvb9mE9smQFV5dCuk6swuYAuJFiGyNOtTABbvzt68owGOlor+p5
 iVsdy+2t7hmMH11vHbRKNjh5Znwjxp/DBXSgER0A74q/Cm39niocOh4uW8ifx0yap1aJGe0M
 Sc/XD+9ArcJYhNGiocsO+qM5zkCl/C8RbwJqNiKBjaxXnSBXFDep3w/DaJh92vsjFItgckC1
 WSzKq6R4YIhIf0/llKeHr5FuZdyn3xW7T6NGfjTkkr2uZLDNC/9YepUazOmM7FmhJ5oVS2Iq
 b6zwePQlUUGOAA/CwGKmbMuwacidChiWsuu+pUJL4Zu4GNOQQkcNhMY+pt5E6QNokifvr6gE
 qiVVhAKxVzhq2fALAnWOHlvZKm2BcR0rG4hPDxqNlGtgiBxbYGq5aYZVp02Ybh4q7Azka8qF
 6EIK5eaH/BCajXb4DBBP5Pzm5NvKUawjgWUMiv7PDVmJ8x8RxbE88PPdxf08HVcFTK+sMYz+
 uXy1g7STZcZaR5lCcLaNKCmw1+r5CBPk+NuRUrYZNJUfRy0ooRtLiXwiN4xIt0NdkqflmfLi
 V7ODE5B9+fXooIz/N3Yvoy+rt+kQ7lkA05XP2jH9rLqZyPUyXWunN1bW+GScDGDCG6toPe+Z
 f9Yxu3XOeEcmAoYqJJ1FrtmwP5s59broLMGnA1oEG+SMgauA7JkZHKHwdNOputGwboA4Vm6X
 UeG+997P7SVOZy6TA5NdVR9NunTh+sJnjTy7OguJBSo7SB6y7OLTEFOMkTekydaNrZ0bNsoz
 OpJVBT6MOBjZs7G6uq7sx0=
IronPort-HdrOrdr: A9a23:MuS/AamBkLchP1SKM2V7t1He+ibpDfIU3DAbv31ZSRFFG/Fxl6
 iV8sjzsiWE8Qr5OUtQ/+xoV5PhfZqxz/JICMwqTNKftWrdyQyVxeNZnOjfKlTbckWUnINgPO
 VbAsxD4bXLfCBHZK3BgTVQfexO/DD+ytHLudvj
X-IronPort-AV: E=Sophos;i="5.88,324,1635220800"; 
   d="scan'208";a="63388626"
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 v2 9/9] x86/cpuid: Enable MSR_SPEC_CTRL in SVM guests by default
Date: Fri, 28 Jan 2022 13:29:27 +0000
Message-ID: <20220128132927.14997-10-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220128132927.14997-1-andrew.cooper3@citrix.com>
References: <20220128132927.14997-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

With all other pieces in place, MSR_SPEC_CTRL is fully working for HVM guests.

Update the CPUID derivation logic (both PV and HVM to avoid losing subtle
changes), drop the MSR intercept, and explicitly enable the CPUID bits for HVM
guests.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>

v2:
 * Drop the MSR intercept too
 * Rework the comment block in gen-cpuid.py
 * Fix typo in comment
---
 xen/arch/x86/cpuid.c                        | 16 ++++++++++++----
 xen/arch/x86/hvm/svm/svm.c                  |  4 ++++
 xen/include/public/arch-x86/cpufeatureset.h | 16 ++++++++--------
 xen/tools/gen-cpuid.py                      | 14 +++++++++-----
 4 files changed, 33 insertions(+), 17 deletions(-)

diff --git a/xen/arch/x86/cpuid.c b/xen/arch/x86/cpuid.c
index b5af48324aef..e24dd283e761 100644
--- a/xen/arch/x86/cpuid.c
+++ b/xen/arch/x86/cpuid.c
@@ -433,6 +433,8 @@ static void __init guest_common_feature_adjustments(uint32_t *fs)
      */
     if ( test_bit(X86_FEATURE_IBRSB, fs) )
         __set_bit(X86_FEATURE_STIBP, fs);
+    if ( test_bit(X86_FEATURE_IBRS, fs) )
+        __set_bit(X86_FEATURE_AMD_STIBP, fs);
 
     /*
      * On hardware which supports IBRS/IBPB, we can offer IBPB independently
@@ -456,11 +458,14 @@ static void __init calculate_pv_max_policy(void)
         pv_featureset[i] &= pv_max_featuremask[i];
 
     /*
-     * If Xen isn't virtualising MSR_SPEC_CTRL for PV guests because of
-     * administrator choice, hide the feature.
+     * If Xen isn't virtualising MSR_SPEC_CTRL for PV guests (functional
+     * availability, or admin choice), hide the feature.
      */
     if ( !boot_cpu_has(X86_FEATURE_SC_MSR_PV) )
+    {
         __clear_bit(X86_FEATURE_IBRSB, pv_featureset);
+        __clear_bit(X86_FEATURE_IBRS, pv_featureset);
+    }
 
     guest_common_feature_adjustments(pv_featureset);
 
@@ -530,11 +535,14 @@ static void __init calculate_hvm_max_policy(void)
         __set_bit(X86_FEATURE_SEP, hvm_featureset);
 
     /*
-     * If Xen isn't virtualising MSR_SPEC_CTRL for HVM guests because of
-     * administrator choice, hide the feature.
+     * If Xen isn't virtualising MSR_SPEC_CTRL for HVM guests (functional
+     * availability, or admin choice), hide the feature.
      */
     if ( !boot_cpu_has(X86_FEATURE_SC_MSR_HVM) )
+    {
         __clear_bit(X86_FEATURE_IBRSB, hvm_featureset);
+        __clear_bit(X86_FEATURE_IBRS, hvm_featureset);
+    }
 
     /*
      * With VT-x, some features are only supported by Xen if dedicated
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index aa82fe29befb..01ce6c71b5f8 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -606,6 +606,10 @@ static void svm_cpuid_policy_changed(struct vcpu *v)
 
     vmcb_set_exception_intercepts(vmcb, bitmap);
 
+    /* Give access to MSR_SPEC_CTRL if the guest has been told about it. */
+    svm_intercept_msr(v, MSR_SPEC_CTRL,
+                      cp->extd.ibrs ? MSR_INTERCEPT_NONE : MSR_INTERCEPT_RW);
+
     /* Give access to MSR_PRED_CMD if the guest has been told about it. */
     svm_intercept_msr(v, MSR_PRED_CMD,
                       cp->extd.ibpb ? MSR_INTERCEPT_NONE : MSR_INTERCEPT_RW);
diff --git a/xen/include/public/arch-x86/cpufeatureset.h b/xen/include/public/arch-x86/cpufeatureset.h
index fd8ab2572304..957df23b65f2 100644
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -256,18 +256,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(IBRS,          8*32+14) /*S  MSR_SPEC_CTRL.IBRS */
+XEN_CPUFEATURE(AMD_STIBP,     8*32+15) /*S  MSR_SPEC_CTRL.STIBP */
+XEN_CPUFEATURE(IBRS_ALWAYS,   8*32+16) /*S  IBRS preferred always on */
+XEN_CPUFEATURE(STIBP_ALWAYS,  8*32+17) /*S  STIBP preferred always on */
+XEN_CPUFEATURE(IBRS_FAST,     8*32+18) /*S  IBRS preferred over software options */
+XEN_CPUFEATURE(IBRS_SAME_MODE, 8*32+19) /*S  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(AMD_SSBD,      8*32+24) /*S  MSR_SPEC_CTRL.SSBD available */
 XEN_CPUFEATURE(VIRT_SSBD,     8*32+25) /*   MSR_VIRT_SPEC_CTRL.SSBD */
 XEN_CPUFEATURE(SSB_NO,        8*32+26) /*A  Hardware not vulnerable to SSB */
-XEN_CPUFEATURE(PSFD,          8*32+28) /*   MSR_SPEC_CTRL.PSFD */
+XEN_CPUFEATURE(PSFD,          8*32+28) /*S  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 */
diff --git a/xen/tools/gen-cpuid.py b/xen/tools/gen-cpuid.py
index 470cd76d1c52..39c8b0c77465 100755
--- a/xen/tools/gen-cpuid.py
+++ b/xen/tools/gen-cpuid.py
@@ -277,16 +277,20 @@ def crunch_numbers(state):
         # The features:
         #   * Single Thread Indirect Branch Predictors
         #   * Speculative Store Bypass Disable
+        #   * Predictive Store Forward Disable
         #
-        # enumerate new bits in MSR_SPEC_CTRL, which is enumerated by Indirect
-        # Branch Restricted Speculation/Indirect Branch Prediction Barrier.
+        # enumerate new bits in MSR_SPEC_CTRL, and technically enumerate
+        # MSR_SPEC_CTRL itself.  AMD further enumerates hints to guide OS
+        # behaviour.
         #
-        # In practice, these features also enumerate the presense of
-        # MSR_SPEC_CTRL.  However, no real hardware will exist with SSBD but
-        # not IBRSB, and we pass this MSR directly to guests.  Treating them
+        # However, no real hardware will exist with e.g. SSBD but not
+        # IBRSB/IBRS, and we pass this MSR directly to guests.  Treating them
         # as dependent features simplifies Xen's logic, and prevents the guest
         # from seeing implausible configurations.
         IBRSB: [STIBP, SSBD],
+        IBRS: [AMD_STIBP, AMD_SSBD, PSFD,
+               IBRS_ALWAYS, IBRS_FAST, IBRS_SAME_MODE],
+        AMD_STIBP: [STIBP_ALWAYS],
 
         # In principle the TSXLDTRK insns could also be considered independent.
         RTM: [TSXLDTRK],
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Fri Jan 28 13:30:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 13:30:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262000.454013 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDRKD-0004lv-ON; Fri, 28 Jan 2022 13:30:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262000.454013; Fri, 28 Jan 2022 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 1nDRKD-0004lQ-I5; Fri, 28 Jan 2022 13:30:01 +0000
Received: by outflank-mailman (input) for mailman id 262000;
 Fri, 28 Jan 2022 13:30:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5Vxm=SM=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nDRKC-0003aP-1E
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 13:30:00 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 626e1aed-803e-11ec-8f75-fffcc8bd4f1a;
 Fri, 28 Jan 2022 14:29:58 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 626e1aed-803e-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643376598;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=5YvOYeOH1AT6H56DS+3LvoaEf/dTfXY53J18WV3bFhA=;
  b=U/qXnclNj9bFxe3lWtbU/vwMfKCfypzWh5eTLWZ9IEEZlCuplqgLlzfa
   ww3EIAlFSAW7HBWHkpCTuQPTh4AssRnmw7fs5Xwv0zSO4fZ3wDNXEvHLu
   sMoMMcghxFx9y0grSCP84JkiEPSC8Q3MATZRlKJq6cIo9c7PIYFdgpNLQ
   c=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: OE0NEHdV6XFmtCNIyXSLHgb0VDfVWzkQ0F/hoL6RGToglNaPHPU2CoWp1cyaard6Y7tgLbNkml
 O+IHN1ep9IWg3e0QCEvMSLjeSVXBCRLvpcUYivSMYssdoXMGrTM5y9Ff89N6xeU7rS50lUdpri
 q6RhedqeSDjRc/K1Fn59nPEPV1X1Cg2SUo4ADkOcsbOxSzEp5WaSNddWl5x06onWSc9zPRXObI
 W39RKjsr9ybUN0UTVeBDyyCl1kMMZ+Thvp50bFIzgb4UcRNCbN1d5T71KfNyBJfnnHF3N1VTaN
 FLJpH7NLZC03T6gM8gGf9djU
X-SBRS: 5.2
X-MesageID: 62981610
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:gEd7UKAn7Sd/jBVW//3kw5YqxClBgxIJ4kV8jS/XYbTApDMkhmRRm
 zEaD2+EOvqPZTH8e98lPYrip0sPuZLWnNVnQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMo/u1Si6FatANl1ElvU2zbue6WL6s1hxZH1c+En9400I7x4bVv6Yz6TSHK1LV0
 T/Ni5W31G+Ng1aY5UpNtspvADs21BjDkGtwUm4WPJinj3eH/5UhN7oNJLnZEpfNatI88thW5
 Qr05OrREmvxp3/BAz4++1rxWhVirrX6ZWBihpfKMkQLb9crSiEai84G2PQghUh/uza5xNVMi
 9537JG5bVknGoPFqMA8akwNe81+FfUuFL7vJHG+tYqYzlHccmuqyPJrZK00FdRGoKAtWzgIr
 KFGbmBWBvyAr7veLLaTY+9gnMk8auLsO5sSoCpIxjDFF/c2B5vERs0m4PcGhmZg354XRZ4yY
 eI5MTR+SwrvZiFlZHoyErgVkPmp3GbWJmgwRFW9+vNsvjm7IBZK+KfpGMrYfJqNX8o9tmSyq
 3/C/m/5KgoHL9HZwj2Amlq8i+mKkS7lVYY6ELyj6uUskFCV3nYUChAdSR28u/bRt6Klc4sBc
 QpOoHNo9PVsshzwJjXgY/GmiE6HjkUZZplbKbQ34SXTxI766ja9J1FRG1atd+canMMxQDUr0
 HqAkNXoGSFjvdWpdJ6NyluHhWjsYHZIdAfucQdBFFJYuIe7/OnfmzqSFo4LLUKjsjHi9dgcK
 RiupTN2ubgchNVjO06TrQGe2GLESnQko2cICuTrsoCNs1sRiG2NPdXABb3nARBodtvxor6p5
 yBspiRmxLpSZaxhbQTUKAn3IJmn5uyeLBrXikN1Ep8q+lyFoiD/JtoLuGogeR80Y67onAMFh
 meJ52u9A7cIZBOXgVJfOdrtW6zGM4C+fTgaahwkRoUXOcUgHON21CpveVSRzwjQfLsEyskC1
 WOgWZ/0Vx4yUP0/pBLvHrt1+eJ1mkgWmD2CLbimn0XP+efPPxa9FOZaWGZim8hktstoVi2Pr
 YYGXyZLoj0CONDDjt7/qN5KcgtSfCFlXPgbaaV/L4a+H+avI0l5Y9e5/F/rU9UNc319mria8
 3ejdFVfzVaj13TLJR/TMiJoaa/1XIY5pnU+ZHR+MVGt0nklQICu8KZAKMdnIeh5rLRunaxuU
 v0IW8ScGfATGD7JzCsQMMvmp4t4eRX12Q/XZ3i5YCIydoJLThDS/oO2ZRPm8SQDV3LltcY3r
 7C6+BncRJ4PG1ZrAMrMMar9xFKtp3kN3ul1WhKQcNVUfUzt9qlsKjDw0aBrc51dd02by2LDh
 QiMABoeqe3cmKMP8YHE1fKesoOkM+piBU4GTWPV2qm7aHvB9W25zI4eDOvRJWLBVHn58bmJb
 PlOy62uK+UOmVtHvtYuE7tvyq5itdLjq6UDk1ZhFXTPKV+qFqlhMj+N2swW7v9BwbpQuA2XX
 EOT+4YFZeXVaZ29SFNBdhA4aumj1O0PnmiA5Ps4F0z2+Str8efVSk5VJRSN1HRQIbYd3FnJG
 gv9VBr6MzCCtyc=
IronPort-HdrOrdr: A9a23:ln8le6O7WMNRScBcT4z255DYdb4zR+YMi2TDiHofdfUFSKClfp
 6V8cjzjSWE8gr5K0tQ5OxoWZPwC080kKQa3WB/B8bFYOCLghrKEGgm1/qY/9SCIVyyygc+79
 YYT0EWMrSZZjIa7foSojPIa+rIq+P3lZxA8N2uqEuFOjsaD52IgT0JaDqzIwlTfk1rFJA5HJ
 2T6o5svDy7Y0kaacy9Gz0sQ/XDj8ejruOoXTc2QzocrCWehzKh77D3VzKC2A0Fbj9JybA+tU
 DYjg3C4Lm5uf3T8G6T64aT1eUWpDLS8KoBOCW+sLlWFtwqsHfsWG1VYczDgNnympDq1L9lqq
 iKn/5qBbUO15qYRBDLnfKq4Xit7B8er0b4z1mWmH3iptG8ag4bJqN69MRkWyqc0lEnut5k1q
 JNwia+jLp4ST39vAmV3amQa/lN/nDE+kbKVdRj10B3QM8QbqRcopcY+14QGJAcHDji4IRiC+
 V2CtrAjcwmOG9yQkqpyVWH+ubcKEjb3y32MXQqq4iQyXxbjXp5x0wXyIgWmWoB7os0T91B6/
 7fOqplmblSRotOBJgNT9spUI+yECjAUBjMOGWdLRDuE7wGIWvEr9ry7K8u7O+ndZQUxN85mY
 jHUllfqWkuEnieQfGmzdlO6FTAUW+9VTPixoVX4IV4oKT1QP7xPSiKWDkV4r+dSjUkc7jmst
 qISeNr6s7YXBnT8NxyrnPDsrFpWAkjbPE=
X-IronPort-AV: E=Sophos;i="5.88,324,1635220800"; 
   d="scan'208";a="62981610"
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 v2 1/9] x86/cpuid: Advertise SSB_NO to guests by default
Date: Fri, 28 Jan 2022 13:29:19 +0000
Message-ID: <20220128132927.14997-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220128132927.14997-1-andrew.cooper3@citrix.com>
References: <20220128132927.14997-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

This is a statement of hardware behaviour, and not related to controls for the
guest kernel to use.  Pass it straight through from hardware.

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>

Not currently enumerated by any CPU I'm aware of.

v2:
 * New
---
 xen/include/public/arch-x86/cpufeatureset.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/public/arch-x86/cpufeatureset.h b/xen/include/public/arch-x86/cpufeatureset.h
index 6e44148a0901..fd8ab2572304 100644
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -266,7 +266,7 @@ 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(SSB_NO,        8*32+26) /*A  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 */
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Fri Jan 28 13:30:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 13:30:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261996.453969 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDRK7-0003an-4W; Fri, 28 Jan 2022 13:29:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261996.453969; Fri, 28 Jan 2022 13:29:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDRK7-0003ag-1U; Fri, 28 Jan 2022 13:29:55 +0000
Received: by outflank-mailman (input) for mailman id 261996;
 Fri, 28 Jan 2022 13:29:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5Vxm=SM=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nDRK5-0003aP-69
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 13:29:53 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5d225354-803e-11ec-8f75-fffcc8bd4f1a;
 Fri, 28 Jan 2022 14:29:49 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5d225354-803e-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643376589;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=1M4Vs3hW9Vi1gMrvvAtCAVzuVssJwllF6xsNbufR8lA=;
  b=a2ueQnQGDAenJHwjZfr2P/PeKoztuCYStPTMkY3SBboZkGinKTnv89Ef
   jlmz99dvTY2S5pYJa7p3JW/an5qy3c31Gm7Fnx0rinNwB/o1A1bJbqhRo
   KAZp2a7VzPQN+JTQSkcHyAL+GZ0jtAnbJqPlFCB+uyEhC/T+of8cj4Hz1
   8=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: SPPmJcLovjZDcJyCVO+NcGfbD4l7jXxKk+deKFReQce1ZqEVGZMihLxhmskFZHOsq/ZL8q5Ull
 CqRFt7uCFikgYnCBEfNNH3v3kghY664GY3Oa30vRgZDCSGW+eNiztFoRk+he7IAttkRUsc/vHK
 ljENliwGyYNqUVHvSGYrWz9B+mpVQ8XlYta+p/GsG8ebuWC9o60xvY0zx980QlICmV521fxVC4
 ls/lnkrDlls3TIMuktKcO9tpmIZQ/WZ452bwRpv4KF7UDCMPuQ5Ulhz06B1jzt0OqtvOfQfiyg
 muS1jhjx45fJG7FVciFDrxA/
X-SBRS: 5.2
X-MesageID: 62450234
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:2pdZ/K3CtyCFIp8LaPbD5Qd2kn2cJEfYwER7XKvMYLTBsI5bpzVUm
 mYbDGDXPvjcamKkLt12bYqzph9TucTRxoRhHFBtpC1hF35El5HIVI+TRqvS04J+DSFhoGZPt
 Zh2hgzodZhsJpPkS5PE3oHJ9RGQ74nRLlbHILOCanAZqTNMEn9700o6wb5h3uaEvPDia++zk
 YKqyyHgEAfNNw5cagr4PIra9XuDFNyr0N8plgRWicJj5TcypFFMZH4rHomjLmOQf2VhNrXSq
 9Avbl2O1jixEx8FUrtJm1tgG6EAaua60QOm0hK6V0U+6/TrS+NbPqsTbZIhhUlrZzqhhPcy1
 IUK6qyJT1kXboHwo6MfUTJZHHQrVUFG0OevzXmXtMWSywvNcmf2wuUoB0YzVWEa0r8pWycUr
 6VecW1TKEDY7w616OvTpu1Er8IvNsT0eqgYvWlt12rxBvc6W5HTBa7N4Le02R9u3JwTRayFO
 6L1bxJhQCT6WxlVCGw2BZcBkbeO3lzRaSJH/Qf9Sa0fvDGIkV0ZPKLWGMXRUsyHQ4NShEnwj
 kDs8nn9AxoaHMeC0jfD+XWp7sffkCW+VI8MGbmQ8v9xnEbV1mEVEAcRV1awvb++kEHWZj5EA
 xVKoGx09/F0rRH1CImmN/GlnJKalgU7GMYAVLIK0QfT9Pr43z3eBGovTzEUPbTKq/QKbTAt0
 1aImfbgCjpurKCZRBqhy1uEkd+hEXNLdDFfPEfoWSNAuoC++99r0nojW/4+SPbdszHjJd3nL
 9lmRgAajq5bs8ME3r7TEbvv02P1/cihouLYC2zqsoOZAuFROdbNi2+AswGzARN8wGCxFATpU
 J8swJD20Qz2JcvR/BFhuc1UdF1T296LMSfHnXlkFIQ7+jKm9haLJN4Mu2slfBw3b55ZKFcFh
 XM/XysLuve/21PxNcdKj3+ZUZx2ncAM6/y7PhwrUja+SscoL1LWlM2fTUWRw3rsgCARfVIXY
 v+mnTKXJS9CU8xPlWPuL89EiOND7n1gmQv7GM6qpzz6gev2TCPEEt8tbQrRBt3VGYvZ+m05B
 f4FaZvTo/ieOcWjChTqHXk7dABTciNjVMmo8qS6tIere2JbJY3oMNeJqZtJRmCvt/49ej7g8
 i7vV0lG5kD4gHGbewyGZmo6MOHkXIplrGJ9NispZA76138maIepzaEea5poIuV3qL09laZ5H
 6sfZsGNIvVTUTCbqT4TWobw8d55fxOxiAPQYyf8OGojf4RtThDi88P/ele97zEHCye67JNso
 7Cp2g7Bb4AEQgBuUJTfZP61lgvjtnkBguNiGUDPJ4ALKknr9YFrLQ33j+M2fJ5QeUmSmGPC2
 l/PUxkCpOTLr4sky/XzhPiJ/9WzDu9zPktGBG2Hv7y4AjbXozi4yohaXefWIT2EDDHo+L+vb
 Pl+xu3nNKFVh05DtodxHuo5za864Nez9bZWwh49QSfOZlWvTLhhPmOHzY9EsagUnu1Vvg6/W
 0Su/NhGOOrWZJO5QQBJfAd1PP6e0fw0myXJ6aVnKUr30yZ74b6bXBgAJBKLkiFccON4PY5NL
 T3NYyLKB9hTUiYXD+s=
IronPort-HdrOrdr: A9a23:w/Nat6+LrB+eLhKykcZuk+GVdr1zdoMgy1knxilNoENuHfBwxv
 rDoB1E73LJYW4qKQsdcKO7SdS9qBLnhNRICOwqU4tKMzOW3ldAQLsSjrcKhgeQYBEWldQtmJ
 uIEZIOceEYZGIS5a2RgWmF+pQbsaG6GcuT9ILjJgJWPGZXgtZbnmNE42igYy9LbTgDIaB8OI
 uX58JBqTblU28QdN6HCn4MWPWGj8HXlbr9CCR2SCIP2U2rt3eF+bT6Gx+X0lM1SDVU24ov9m
 DDjkjQ+rijifem0RXRvlWjoai+2eGRi+erNvb8yfT9GQ+cyDpAo74RHoFqiQpF4N1HLmxa1O
 Uk7S1QePiboEmhAl1d6SGdpDUIlgxep0PK+Bugmn3krtX+RDUmT+R8pa8xSGqe12MQ+Ohm1q
 RFxmSYsIcSKyjhsmDS2/jkPisaz3ZdhxIZ4LUuZrhkINMjQa4UoooF8ExPFpAcWCr89YA8Ce
 FrSNrR/fBMbDqhHjnkV0RUsauRt04Ib2G7q4k5y7+o+ikTmGo8w1oTxcQZkHtF/JUhS4Nc7+
 CBNqhzjrlBQsIfcKo4XY46MICKI32IRQiJPHOZIFzhGq1CM3XRq4Tv6LFw4O2xYpQHwJY7hZ
 yEWlJFsmw5fV7oFKS1rdV22wGIRH/4USXmy8lY6ZQ8srrgRKDzOSnGU1wqm9vImYRqPiQaYY
 fHBHt7OY6TEYLeI/c64+SlYegtFZA3arxkhuoG
X-IronPort-AV: E=Sophos;i="5.88,324,1635220800"; 
   d="scan'208";a="62450234"
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 v2 7/9] x86/svm: VMEntry/Exit logic for MSR_SPEC_CTRL
Date: Fri, 28 Jan 2022 13:29:25 +0000
Message-ID: <20220128132927.14997-8-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220128132927.14997-1-andrew.cooper3@citrix.com>
References: <20220128132927.14997-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Hardware maintains both host and guest versions of MSR_SPEC_CTRL, but guests
run with the logical OR of both values.  Therefore, in principle we want to
clear Xen's value before entering the guest.  However, for migration
compatibility, and for performance reasons with SEV-SNP guests, we want the
ability to use a nonzero value behind the guest's back.  Use vcpu_msrs to hold
this value, with the guest value in the VMCB.

On the VMEntry path, adjusting MSR_SPEC_CTRL must be done after CLGI so as to
be atomic with respect to NMIs/etc.  The loading of spec_ctrl_raw into %eax
was also stale from the unused old code, so can be dropped too.

Implement both pieces of logic as small pieces of C, and alternative the call
to get there based on X86_FEATURE_SC_MSR_HVM.  The use of double alternative
blocks is due to a quirk of the current infrastructure, where call
displacements only get fixed up for the first replacement instruction.  While
adjusting the clobber lists, drop the stale requirements on the VMExit side.

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 RAS[:32] flushing side effect is under reconsideration.  It is actually a
very awkward side effect in practice, and not applicable to any
implementations (that I'm aware of), but for now, it's the documented safe
action to take.  Furthermore, it avoids complicating the logic with an lfence
in the else case for Spectre v1 safety.

v2:
 * Split last_spec_ctrl introduction into earlier patch.
 * Use STR() rather than __stringify() for brevity.
 * Use double alt blocks in order to pass function parameters.
---
 xen/arch/x86/hvm/svm/entry.S             | 12 +++++++-----
 xen/arch/x86/hvm/svm/svm.c               | 27 +++++++++++++++++++++++++++
 xen/arch/x86/include/asm/msr.h           |  9 +++++++++
 xen/arch/x86/include/asm/spec_ctrl_asm.h |  3 +++
 4 files changed, 46 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/entry.S b/xen/arch/x86/hvm/svm/entry.S
index 276215d36aff..190f7095c65c 100644
--- a/xen/arch/x86/hvm/svm/entry.S
+++ b/xen/arch/x86/hvm/svm/entry.S
@@ -55,11 +55,12 @@ __UNLIKELY_END(nsvm_hap)
         mov  %rsp, %rdi
         call svm_vmenter_helper
 
-        mov VCPU_arch_msrs(%rbx), %rax
-        mov VCPUMSR_spec_ctrl_raw(%rax), %eax
+        clgi
 
         /* WARNING! `ret`, `call *`, `jmp *` not safe beyond this point. */
-        /* SPEC_CTRL_EXIT_TO_SVM   (nothing currently) */
+        /* SPEC_CTRL_EXIT_TO_SVM       Req:                           Clob: C   */
+        ALTERNATIVE "", STR(mov %rbx, %rdi; mov %rsp, %rsi), X86_FEATURE_SC_MSR_HVM
+        ALTERNATIVE "", STR(call vmentry_spec_ctrl), X86_FEATURE_SC_MSR_HVM
 
         pop  %r15
         pop  %r14
@@ -78,7 +79,6 @@ __UNLIKELY_END(nsvm_hap)
         pop  %rsi
         pop  %rdi
 
-        clgi
         sti
         vmrun
 
@@ -86,8 +86,10 @@ __UNLIKELY_END(nsvm_hap)
 
         GET_CURRENT(bx)
 
-        /* SPEC_CTRL_ENTRY_FROM_SVM    Req: b=curr %rsp=regs/cpuinfo, Clob: ac  */
+        /* SPEC_CTRL_ENTRY_FROM_SVM    Req:                           Clob: C   */
         ALTERNATIVE "", DO_OVERWRITE_RSB, X86_FEATURE_SC_RSB_HVM
+        ALTERNATIVE "", STR(mov %rsp, %rdi), X86_FEATURE_SC_MSR_HVM
+        ALTERNATIVE "", STR(call vmexit_spec_ctrl), X86_FEATURE_SC_MSR_HVM
         /* WARNING! `ret`, `call *`, `jmp *` not safe before this point. */
 
         stgi
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index bb6b8e560a9f..f753bf48c252 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -3086,6 +3086,33 @@ void svm_vmexit_handler(struct cpu_user_regs *regs)
     vmcb_set_vintr(vmcb, intr);
 }
 
+/* Called with GIF=0. */
+void vmexit_spec_ctrl(struct cpu_info *info)
+{
+    unsigned int val = info->xen_spec_ctrl;
+
+    /*
+     * Write to MSR_SPEC_CTRL unconditionally, for the RAS[:32] flushing side
+     * effect.
+     */
+    wrmsr(MSR_SPEC_CTRL, val, 0);
+    info->last_spec_ctrl = val;
+}
+
+/* Called with GIF=0. */
+void vmentry_spec_ctrl(const struct vcpu *curr, struct cpu_info *info)
+{
+    unsigned int val = curr->arch.msrs->spec_ctrl.raw;
+
+    if ( val != info->last_spec_ctrl )
+    {
+        wrmsr(MSR_SPEC_CTRL, val, 0);
+        info->last_spec_ctrl = val;
+    }
+
+    /* No Spectre v1 concerns.  Execution is going to hit VMRUN imminently. */
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/x86/include/asm/msr.h b/xen/arch/x86/include/asm/msr.h
index 657a3295613d..ce4fe51afe54 100644
--- a/xen/arch/x86/include/asm/msr.h
+++ b/xen/arch/x86/include/asm/msr.h
@@ -297,6 +297,15 @@ struct vcpu_msrs
      *
      * For VT-x guests, the guest value is held in the MSR guest load/save
      * list.
+     *
+     * For SVM, the guest value lives in the VMCB, and hardware saves/restores
+     * the host value automatically.  However, guests run with the OR of the
+     * host and guest value, which allows Xen to set protections behind the
+     * guest's back.
+     *
+     * We must clear/restore Xen's value before/after VMRUN to avoid unduly
+     * influencing the guest.  In order to support "behind the guest's back"
+     * protections, we load this value (commonly 0) before VMRUN.
      */
     struct {
         uint32_t raw;
diff --git a/xen/arch/x86/include/asm/spec_ctrl_asm.h b/xen/arch/x86/include/asm/spec_ctrl_asm.h
index 9c0c7622c41f..02b3b18ce69f 100644
--- a/xen/arch/x86/include/asm/spec_ctrl_asm.h
+++ b/xen/arch/x86/include/asm/spec_ctrl_asm.h
@@ -46,6 +46,9 @@
  *   - On VMX by using MSR load/save lists to have vmentry/exit atomically
  *     load/save the guest value.  Xen's value is loaded in regular code, and
  *     there is no need to use the shadow logic (below).
+ *   - On SVM by altering MSR_SPEC_CTRL inside the CLGI/STGI region.  This
+ *     makes the changes atomic with respect to NMIs/etc, so no need for
+ *     shadowing logic.
  *
  * Factor 2 is harder.  We maintain a shadow_spec_ctrl value, and a use_shadow
  * boolean in the per cpu spec_ctrl_flags.  The synchronous use is:
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Fri Jan 28 13:30:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 13:30:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261997.453975 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDRK7-0003eK-F4; Fri, 28 Jan 2022 13:29:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261997.453975; Fri, 28 Jan 2022 13:29:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDRK7-0003dl-9P; Fri, 28 Jan 2022 13:29:55 +0000
Received: by outflank-mailman (input) for mailman id 261997;
 Fri, 28 Jan 2022 13:29:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5Vxm=SM=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nDRK5-0003aQ-Aw
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 13:29:53 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5e237702-803e-11ec-8eb8-a37418f5ba1a;
 Fri, 28 Jan 2022 14:29:51 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5e237702-803e-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643376591;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=jvgLjL7MB3hMPmdvyPDZopgLkGOarBr/NDTac4D+Vws=;
  b=S2a9CPN7YCHDq/cdSrNfnISxpMV9c3O23U9XanyXEt5QN0RpMYawbEL6
   T3Ou6f9gFW4Y9YBxBtaherj1KnUpY0TKq6b75WQMHZf80r01So++QkqGi
   FtVwGE5t61SjU8zsFaF1LnnwFEtupDu2GrBudasTEIW0/qHTP2wdQamOG
   A=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: zZKYe867PDRHXbBEASc76BVoz+oD81DNfiBdC0vrFS7/UUfvIced70R+ocLjFm6q4F9YYMsaEj
 4OuwfDArb41IilUFQWp22xIZKywMIuCsCK0Crm05sIpKHCbvddui2GVuKPr7E+qviCqsn9zfIh
 MZChXMhiuXO4lhRraS8puz4NAtjly7fopkzJqnHHBxoZRLSUbbVuOpnuE9w/C/pZm/HPPenfI0
 G7qLuV7PZeHVz82Q7DoZlY0xGh6xsBVE/ITxveDHrjNisLPRdJ442la1p9ikG7FsS6otTvSyp+
 B8isG/qL4CY5sAwKO7sXyCBm
X-SBRS: 5.2
X-MesageID: 62900203
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:3c2Tda3Lt0tDiDZeDfbD5Qd2kn2cJEfYwER7XKvMYLTBsI5bpzxSz
 WsdXjuFaKyKY2ujKo9zbIu+/UgPv5HdztY3HgQ/pC1hF35El5HIVI+TRqvS04J+DSFhoGZPt
 Zh2hgzodZhsJpPkS5PE3oHJ9RGQ74nRLlbHILOCanAZqTNMEn9700o6wb5h3uaEvPDia++zk
 YKqyyHgEAfNNw5cagr4PIra9XuDFNyr0N8plgRWicJj5TcypFFMZH4rHomjLmOQf2VhNrXSq
 9Avbl2O1jixEx8FUrtJm1tgG6EAaua60QOm0hK6V0U+6/TrS+NbPqsTbZIhhUlrZzqhw4xNz
 fRV8q6MbQYwOLWLtNxBUTsEOnQrVUFG0OevzXmXtMWSywvNcmf2wuUoB0YzVWEa0r8pWycUr
 6VecW1TKEDY7w616OvTpu1Er8IvNsT0eqgYvWlt12rxBvc6W5HTBa7N4Le02R9u3JEWRayGP
 KL1bxJtVAaZaR8fGmwbJ7g9hfqC1iLFVSVH/Qf9Sa0fvDGIkV0ZPKLWGMXRUsyHQ4NShEnwj
 kDs8nn9AxoaHMeC0jfD+XWp7sffkCW+VI8MGbmQ8v9xnEbV1mEVEAcRV1awvb++kEHWZj5EA
 xVKoGx09/F0rRH1CImmN/GlnJKalkJAZ99xC6oI1CWM06zMpCqhWmomEhcUPbTKq/QKbTAt0
 1aImfbgCjpurKCZRBqhy1uEkd+hEXNLdDFfPEfoWSNAuoC++99r0nojW/4+SPbdszHjJd3nL
 9lmRgAajq5bs8ME3r7TEbvv02P1/cihouLYC2zqsoOZAuFROdbNi2+AswGzARN8wGCxFATpU
 J8swJD20Qz2JcvR/BFhuc1UdF1T296LMSfHnXlkFIQ7+jKm9haLJN4Mu2slfBw3b55ZKFcFh
 XM/XysLuve/21PxNcdKj3+ZUZx2ncAM6/y7PhwrUja+SscoL1LWlM2fTUWRw3rsgCARfVIXY
 v+mnTKXJS9CU8xPlWPuL89EiOND7n1gmQv7GM6qpzz6gev2TCPEEt8tbQrRBt3VGYvZ+m05B
 f4FaZvTo/ieOcWjChTqHXk7dABTciNjVMmo8qS6tIere2JbJY3oMNeJqZtJRmCvt/49ej7g8
 i7vV0lG5kD4gHGbewyGZmo6MOHkXIplrGJ9NispZA76138maIepzaEea5poIuV3qL09laZ5H
 6sfZsGNIvVTUTCbqT4TWobw8d55fxOxiAPQYyf8OGojf4RtThDi88P/ele97zEHCye67JNso
 7Cp2g7Bb4AEQgBuUJTfZP61lgvjtnkBguNiGUDPJ4ALKknr9YFrLQ33j+M2fJ5QeUmSmGPC2
 l/PUxkCpOTLr4sky/XzhPiJ/9WzDu9zPktGBG2Hv7y4AjbXozi4yohaXefWIT2EDDHo+L+vb
 Pl+xu3nNKFVh05DtodxHuo5za864Nez9bZWwh49QSfOZlWvTLhhPmOHzY9EsagUnu1Vvg6/W
 0Su/NhGOOrWZJO5QQBJfAd1PP6e0fw0myXJ6aVnKUr30yZ74b6bXBgAJBKLkiFccON4PY5NL
 T3NYyLKB9hTUiYXD+s=
IronPort-HdrOrdr: A9a23:cOqUyKm0Lne2yvdOkW3dj4M9TPbpDfIW3DAbv31ZSRFFG/Fxl6
 iV/cjzsiWE8Ar5OUtQ4OxoV5PwIk80maQb3WBVB8bHYOCEghrPEGgB1/qB/9SIIUSXnYQxuZ
 uIMZIOb+EYZWIK9voSizPZLz9P+re6GdiT9ILj80s=
X-IronPort-AV: E=Sophos;i="5.88,324,1635220800"; 
   d="scan'208";a="62900203"
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 v2 8/9] x86/msr: AMD MSR_SPEC_CTRL infrastructure
Date: Fri, 28 Jan 2022 13:29:26 +0000
Message-ID: <20220128132927.14997-9-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220128132927.14997-1-andrew.cooper3@citrix.com>
References: <20220128132927.14997-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Fill in VMCB accessors for spec_ctrl in svm_{get,set}_reg(), and CPUID checks
for all supported bits in guest_{rd,wr}msr().

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 xen/arch/x86/hvm/svm/svm.c | 9 +++++++++
 xen/arch/x86/msr.c         | 8 +++++---
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index f753bf48c252..aa82fe29befb 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -2471,10 +2471,14 @@ static bool svm_get_pending_event(struct vcpu *v, struct x86_event *info)
 
 static uint64_t svm_get_reg(struct vcpu *v, unsigned int reg)
 {
+    const struct vmcb_struct *vmcb = v->arch.hvm.svm.vmcb;
     struct domain *d = v->domain;
 
     switch ( reg )
     {
+    case MSR_SPEC_CTRL:
+        return vmcb->spec_ctrl;
+
     default:
         printk(XENLOG_G_ERR "%s(%pv, 0x%08x) Bad register\n",
                __func__, v, reg);
@@ -2485,10 +2489,15 @@ static uint64_t svm_get_reg(struct vcpu *v, unsigned int reg)
 
 static void svm_set_reg(struct vcpu *v, unsigned int reg, uint64_t val)
 {
+    struct vmcb_struct *vmcb = v->arch.hvm.svm.vmcb;
     struct domain *d = v->domain;
 
     switch ( reg )
     {
+    case MSR_SPEC_CTRL:
+        vmcb->spec_ctrl = val;
+        break;
+
     default:
         printk(XENLOG_G_ERR "%s(%pv, 0x%08x, 0x%016"PRIx64") Bad register\n",
                __func__, v, reg, val);
diff --git a/xen/arch/x86/msr.c b/xen/arch/x86/msr.c
index 5e80c8b47c21..4ac5b5a048eb 100644
--- a/xen/arch/x86/msr.c
+++ b/xen/arch/x86/msr.c
@@ -265,7 +265,7 @@ int guest_rdmsr(struct vcpu *v, uint32_t msr, uint64_t *val)
         break;
 
     case MSR_SPEC_CTRL:
-        if ( !cp->feat.ibrsb )
+        if ( !cp->feat.ibrsb && !cp->extd.ibrs )
             goto gp_fault;
         goto get_reg;
 
@@ -442,7 +442,8 @@ int guest_rdmsr(struct vcpu *v, uint32_t msr, uint64_t *val)
  */
 uint64_t msr_spec_ctrl_valid_bits(const struct cpuid_policy *cp)
 {
-    bool ssbd = cp->feat.ssbd;
+    bool ssbd = cp->feat.ssbd || cp->extd.amd_ssbd;
+    bool psfd = cp->extd.psfd;
 
     /*
      * Note: SPEC_CTRL_STIBP is specified as safe to use (i.e. ignored)
@@ -450,6 +451,7 @@ uint64_t msr_spec_ctrl_valid_bits(const struct cpuid_policy *cp)
      */
     return (SPEC_CTRL_IBRS | SPEC_CTRL_STIBP |
             (ssbd       ? SPEC_CTRL_SSBD       : 0) |
+            (psfd       ? SPEC_CTRL_PSFD       : 0) |
             0);
 }
 
@@ -526,7 +528,7 @@ int guest_wrmsr(struct vcpu *v, uint32_t msr, uint64_t val)
         break;
 
     case MSR_SPEC_CTRL:
-        if ( !cp->feat.ibrsb ||
+        if ( (!cp->feat.ibrsb && !cp->extd.ibrs) ||
              (val & ~msr_spec_ctrl_valid_bits(cp)) )
             goto gp_fault;
         goto set_reg;
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Fri Jan 28 13:30:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 13:30:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.261999.454002 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDRKB-0004NW-7A; Fri, 28 Jan 2022 13:29:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 261999.454002; Fri, 28 Jan 2022 13:29:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDRKB-0004NO-3H; Fri, 28 Jan 2022 13:29:59 +0000
Received: by outflank-mailman (input) for mailman id 261999;
 Fri, 28 Jan 2022 13:29:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5Vxm=SM=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nDRK9-0003aP-Vq
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 13:29:58 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6219c91d-803e-11ec-8f75-fffcc8bd4f1a;
 Fri, 28 Jan 2022 14:29:56 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6219c91d-803e-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643376596;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=hm+gxomiwqPtSbO++1a7+fTXxiF/vy04zpwJNsO/xyU=;
  b=iiHMWh8x+fZ++mhQgNKWIN1JvF1UFQgOhfO9ccZKnhZ6LLwVJqFGhX3A
   qZz1b+tuRBcJFWDP6Csob4LhGQb6uUCfOedzWcDZ1OTTvoNCYcBh6zhP1
   NDcDa5pJDXzIyxWn/gA9TxVrgw7k+Tbl2uuigLYD90esCo2NX2w2SiQs8
   Y=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: jPGUa2TrV17ggrERpM+dg0CCxN0dhruUtmk/lgIakaUxAW4C1PEEEzVOPTbIbomG3sbreaCWPy
 tQ6rkwBpNPicB1F0eBRR/jIg5MWjvXIP3zdUzwYiCILjmSpj+CjkvVkWfaz+Vuw4Mqykq5Sb21
 PWPlWR+RIQ6ErPg6xsTICgMh8rm17tW/oW8PDVNw+KnwlUx/TlG6To6Of4BcYE9tCeeftVSGyk
 6EGgTdZYNU+C14vBjkmIDOLANlM7gIY9tv1DF1MUQ3N7wsP+WbJEBiuDxnq0aQnx+2bfbgsykd
 +9NPqUkAIkFgCRHu663NFSHw
X-SBRS: 5.2
X-MesageID: 63388633
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:h7wr9KBO96052hVW//3kw5YqxClBgxIJ4kV8jS/XYbTApD0k0DwHy
 jQZDzjUbviNa2H2LdF/YIzl80pS7ZODnN5rQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMo/u1Si6FatANl1ElvU2zbue6WL6s1hxZH1c+En9400I7x4bVv6Yz6TSHK1LV0
 T/Ni5W31G+Ng1aY5UpNtspvADs21BjDkGtwUm4WPJinj3eH/5UhN7oNJLnZEpfNatI88thW5
 Qr05OrREmvxp3/BAz4++1rxWhVirrX6ZWBihpfKMkQLb9crSiEai84G2PQghUh/jhGYmIBDz
 tt09rvqUjcPI6PsmuNBTEwNe81+FfUuFL7vJHG+tYqYzlHccmuqyPJrZK00FdRGoKAtWzgIr
 KFGbmBWBvyAr7veLLaTY+9gnMk8auLsO5sSoCpIxjDFF/c2B5vERs0m4PcGh2xg1p4VRp4yY
 eJHMR5vMyrwPSdBO3EHOoxgrfu3uHjgJmgwRFW9+vNsvjm7IBZK+KfpGMrYfJqNX8o9tmSyq
 3/C/m/5KgoHL9HZwj2Amlq8i+mKkS7lVYY6ELyj6uUskFCV3nYUChAdSR28u/bRt6Klc4sBc
 QpOoHNo9PVsshzwJjXgY/GmiHugrxlMadxeKq4dshq97LfawwSeWndRG1atd+canMMxQDUr0
 HqAkNXoGSFjvdWpdJ6NyluHhWjsYHZIdAfucQdBFFJYuIe7/OnfmzqSFo4LLUKjsjHi9dgcK
 RiupTN2ubgchNVjO06TrQGe2GLESnQko2cICuTrsoCNs1sRiG2NPdXABb3nARBodtvxor6p5
 yBspiRmxLpSZaxhbQTUKAn3IJmn5uyeLBrXikN1Ep8q+lyFoiD/JtoLuGogeR80Y67onAMFh
 meJ52u9A7cIZBOXgVJfOdrtW6zGM4C+fTgaahwkRoUXOcUgHON21CpveVSRzwjQfLsEyskC1
 WOgWZ/0Vx4yUP0/pBLvHrt1+eJ1mkgWmD2CLbimn0XP+efPPxa9FOZaWGZim8hktstoVi2Pr
 YYGXyZLoj0CONDDjt7/qN5KcgtSfCFlXPgbaaV/L4a+H+avI0l5Y9e5/F/rU9UNc319mria8
 3ejdFVfzVaj13TLJR/TMiJoaa/1XIY5pnU+ZHR+MVGt0nklQICu8KZAKMdnIeh5rLRunaxuU
 v0IW8ScGfATGD7JzCsQMMvmp4t4eRX12Q/XZ3i5YCIydoJLThDS/oO2ZRPm8SQDV3LltcY3r
 7C6+BncRJ4PG1ZrAMrMMar9xFKtp3kN3ul1WhKQcNVUfUzt9qlsKjDw0aBrc51dd02by2LDh
 QiMABoeqe3cmKMP8YHE1fKesoOkM+piBU4GTWPV2qm7aHvB9W25zI4eDOvRJWLBVHn58bmJb
 PlOy62uK+UOmVtHvtYuE7tvyq5itdLjq6UDk1ZhFXTPKV+qFqlhMj+N2swW7v9BwbpQuA2XX
 EOT+4YFZeXVaZ29SFNBdhA4aumj1O0PnmiA5Ps4F0z2+Str8efVSk5VJRSN1HRQIbYd3FnJG
 gv9VBr6MzCCtyc=
IronPort-HdrOrdr: A9a23:lZsfS6sogAMf7DAH0JSoAQYi7skCO4Aji2hC6mlwRA09TyXGra
 +TdaUguSMc1gx9ZJh5o6H7BEDyewKgyXcV2/haAV7GZmfbUQSTXedfBOfZsl7d8mjFh5VgPM
 RbAuVD4b/LfCFHZK/BiWHSebdB/DDEytHRuQ609QYJcegeUdAG0+4PMHf+LqQZfnglObMJUL
 6nouZXrTupfnoaKu6hAGMeYuTFr9rX0Lr7fB8vHXccmUazpALtzIS/PwmT3x8YXT8K66wl63
 L5nwvw4bjmm+2nyyXby3TY4/1t6ZXcI5p4dY2xY/ouW3bRYzWTFcZcsnq5zXUISdSUmRYXeR
 /30lMd1opImjTslyqO0GfQMkHboUkTAjnZuBOlqEqmmNf+Qj0iDcpHmMZ2Tjv1gnBQ+u1U4e
 ZzxGSeuINQDRTc2ALHx/aNeS1LuyOP0CMfech6tQ0FbWLbUs4IkaUPuExSC5sOByT89cQuF/
 RvFtjV4LJMfUqddG2xhBgn/DWAZAVFIv69eDl1hiVV6UkkoFlpi08DgMAPlHYJ85wwD5FC+u
 TfK6xt0LVDVNUfY65xDPoIBZLfMB2HfTvcdGaJZVj3HqAOPHzA75bx/bUu/emvPJgF1oE7lp
 jNWE5R8WQyZ0XtA8uT24AjyGGEfEytGTD2js1O7ZlwvbPxALLtLC2YUVgr19Ctpv0Oa/erL8
 pb+KgmdsMLAVGeaLqh7jeOKaW6c0NuLvH9kuxLK26zng==
X-IronPort-AV: E=Sophos;i="5.88,324,1635220800"; 
   d="scan'208";a="63388633"
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 v2 6/9] x86/spec-ctrl: Use common MSR_SPEC_CTRL logic for AMD
Date: Fri, 28 Jan 2022 13:29:24 +0000
Message-ID: <20220128132927.14997-7-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220128132927.14997-1-andrew.cooper3@citrix.com>
References: <20220128132927.14997-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Currently, amd_init_ssbd() works by being the only write to MSR_SPEC_CTRL in
the system.  This ceases to be true when using the common logic.

Include AMD MSR_SPEC_CTRL in has_spec_ctrl to activate the common paths, and
introduce an AMD specific block to control alternatives.  Also update the
boot/resume paths to configure default_xen_spec_ctrl.

svm.h needs an adjustment to remove a dependency on include order.

For now, only active alternatives for HVM - PV will require more work.  No
functional change, as no alternatives are defined yet for HVM yet.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>

v2:
 * Fix build in some PV Shim configurations
 * Adjust boot/resume paths too
 * Adjust commit message after rearranging in the series
 * Fix typo in comment
---
 xen/arch/x86/acpi/power.c              |  2 +-
 xen/arch/x86/cpu/amd.c                 |  2 +-
 xen/arch/x86/include/asm/hvm/svm/svm.h |  3 +++
 xen/arch/x86/smpboot.c                 |  2 +-
 xen/arch/x86/spec_ctrl.c               | 26 ++++++++++++++++++++++++--
 5 files changed, 30 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/acpi/power.c b/xen/arch/x86/acpi/power.c
index 5f2ec74f744a..0eae29b5687a 100644
--- a/xen/arch/x86/acpi/power.c
+++ b/xen/arch/x86/acpi/power.c
@@ -295,7 +295,7 @@ static int enter_state(u32 state)
     /* Re-enabled default NMI/#MC use of MSR_SPEC_CTRL. */
     ci->spec_ctrl_flags |= (default_spec_ctrl_flags & SCF_ist_wrmsr);
 
-    if ( boot_cpu_has(X86_FEATURE_IBRSB) )
+    if ( boot_cpu_has(X86_FEATURE_IBRSB) || boot_cpu_has(X86_FEATURE_IBRS) )
     {
         wrmsrl(MSR_SPEC_CTRL, default_xen_mcu_opt_ctrl);
         ci->last_spec_ctrl = default_xen_mcu_opt_ctrl;
diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c
index f87484b7ce61..a8e37dbb1f5c 100644
--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -693,7 +693,7 @@ void amd_init_ssbd(const struct cpuinfo_x86 *c)
 		return;
 
 	if (cpu_has_amd_ssbd) {
-		wrmsrl(MSR_SPEC_CTRL, opt_ssbd ? SPEC_CTRL_SSBD : 0);
+		/* Handled by common MSR_SPEC_CTRL logic */
 		return;
 	}
 
diff --git a/xen/arch/x86/include/asm/hvm/svm/svm.h b/xen/arch/x86/include/asm/hvm/svm/svm.h
index 05e968502694..09c32044ec8a 100644
--- a/xen/arch/x86/include/asm/hvm/svm/svm.h
+++ b/xen/arch/x86/include/asm/hvm/svm/svm.h
@@ -45,6 +45,9 @@ static inline void svm_invlpga(unsigned long linear, uint32_t asid)
         "a" (linear), "c" (asid));
 }
 
+struct cpu_user_regs;
+struct vcpu;
+
 unsigned long *svm_msrbit(unsigned long *msr_bitmap, uint32_t msr);
 void __update_guest_eip(struct cpu_user_regs *regs, unsigned int inst_len);
 void svm_update_guest_cr(struct vcpu *, unsigned int cr, unsigned int flags);
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index 1cfdf96207d4..22ae4c1b2de9 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -380,7 +380,7 @@ void start_secondary(void *unused)
      * settings.  Note: These MSRs may only become available after loading
      * microcode.
      */
-    if ( boot_cpu_has(X86_FEATURE_IBRSB) )
+    if ( boot_cpu_has(X86_FEATURE_IBRSB) || boot_cpu_has(X86_FEATURE_IBRS) )
     {
         wrmsrl(MSR_SPEC_CTRL, default_xen_spec_ctrl);
         info->last_spec_ctrl = default_xen_spec_ctrl;
diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c
index b2fd86ebe587..c210bb662f84 100644
--- a/xen/arch/x86/spec_ctrl.c
+++ b/xen/arch/x86/spec_ctrl.c
@@ -22,6 +22,7 @@
 #include <xen/param.h>
 #include <xen/warning.h>
 
+#include <asm/hvm/svm/svm.h>
 #include <asm/microcode.h>
 #include <asm/msr.h>
 #include <asm/pv/domain.h>
@@ -936,7 +937,8 @@ void __init init_speculation_mitigations(void)
 
     hw_smt_enabled = check_smt_enabled();
 
-    has_spec_ctrl = boot_cpu_has(X86_FEATURE_IBRSB);
+    has_spec_ctrl = (boot_cpu_has(X86_FEATURE_IBRSB) ||
+                     boot_cpu_has(X86_FEATURE_IBRS));
 
     /*
      * First, disable the use of retpolines if Xen is using shadow stacks, as
@@ -1031,12 +1033,32 @@ void __init init_speculation_mitigations(void)
         }
     }
 
+    /* AMD hardware: MSR_SPEC_CTRL alternatives setup. */
+    if ( boot_cpu_has(X86_FEATURE_IBRS) )
+    {
+        /*
+         * Virtualising MSR_SPEC_CTRL for guests depends on SVM support, which
+         * on real hardware matches the availability of MSR_SPEC_CTRL in the
+         * first place.
+         *
+         * No need for SCF_ist_wrmsr because Xen's value is restored
+         * atomically WRT NMIs in the VMExit path.
+         *
+         * TODO Adjust cpu_has_svm_spec_ctrl to be configured earlier on boot.
+         */
+        if ( opt_msr_sc_hvm &&
+             (boot_cpu_data.extended_cpuid_level >= 0x8000000a) &&
+             (cpuid_edx(0x8000000a) & (1u << SVM_FEATURE_SPEC_CTRL)) )
+            setup_force_cpu_cap(X86_FEATURE_SC_MSR_HVM);
+    }
+
     /* If we have IBRS available, see whether we should use it. */
     if ( has_spec_ctrl && ibrs )
         default_xen_spec_ctrl |= SPEC_CTRL_IBRS;
 
     /* If we have SSBD available, see whether we should use it. */
-    if ( boot_cpu_has(X86_FEATURE_SSBD) && opt_ssbd )
+    if ( opt_ssbd && (boot_cpu_has(X86_FEATURE_SSBD) ||
+                      boot_cpu_has(X86_FEATURE_AMD_SSBD)) )
         default_xen_spec_ctrl |= SPEC_CTRL_SSBD;
 
     /*
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Fri Jan 28 13:30:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 13:30:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262001.454018 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDRKE-0004pH-3b; Fri, 28 Jan 2022 13:30:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262001.454018; Fri, 28 Jan 2022 13:30:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDRKD-0004nH-Ra; Fri, 28 Jan 2022 13:30:01 +0000
Received: by outflank-mailman (input) for mailman id 262001;
 Fri, 28 Jan 2022 13:30:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5Vxm=SM=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nDRKC-0003aP-Ie
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 13:30:00 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6283387f-803e-11ec-8f75-fffcc8bd4f1a;
 Fri, 28 Jan 2022 14:29:59 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6283387f-803e-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643376599;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=V5QZW2Bs84NfBUe+2j/Budm0/aQ7grq2jkQ+o08Coys=;
  b=J3QdAb26kqT0SMn/G+8k7DuPS+hotXUiBm8HvJIXjyusUG+n91+lM3sY
   qMaBrl4ODLsgqbkLcIuFS1Zkkr4yeiJR5w4Dr2rfeV5cpm2JEd9MYu5pZ
   pXozMuPelGx3V36qXhUnUqVSS1JLGmftG6MMep5ubpSl7Snr0GrwokjL+
   s=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: HgZBql8NadecAkZRh9kU3dOiFqljkeok9L6c0uF+PbwOJ902ssS3Moyl2CwDT8rgTQbVgE57ex
 twrqFha3FQ0kWvbYb0l2OICDxk0vr9p+ESA09HX6CHh/lCcMa0GljxSR/kBo/PZMtRwwbx1ykc
 /NvcloUOugS15XvwrB2eSESa9j4b7UrdxV5M3Zab+00HM3Ow5MO4ICwwxroMlvI2m4vLc7aYEv
 kKHiq+c09csIC2uf07UTcyDXQ4l9+95a1u8tm4OSZlrqu+XZLZ+7uB9joaJJii03qG5WpB3Juz
 VbARZSYpu18XTrL7Bwn86aZl
X-SBRS: 5.2
X-MesageID: 65159875
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:oBcQtquucxObIzWasP7sRiDEz+fnVIJZMUV32f8akzHdYApBsoF/q
 tZmKTqBaKqCNzShKdl/ao23/RgEvZPXyIUwSANoqnwyQX4b+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZQP0VOZigHtIQMsadUsxKbVIiGHdJZS5LwbZj2NYx24jhX2thh
 PupyyHhEA79s9JLGjp8B5Kr8HuDa9yr5Vv0FnRnDRx6lAe2e0s9VfrzFonoR5fMeaFGH/bSe
 gr25OrRElU1XfsaIojNfr7TKiXmS1NJVOSEoiI+t6OK2nCuqsGuu0qS2TV1hUp/0l20c95NJ
 NplicbsWVsrbpb2teEUY0l1Fy1nB45D0eqSSZS/mZT7I0zudnLtx7NlDV0sPJ1e8eFyaY1M3
 aVGcnZXNEnF3r/ohuLgIgVvrp1LwM3DFYUToHx/ixreCu4rW8vrSKTW/95Imjw3g6iiGN6AO
 pNEOGowMXwsZTVEIHMJM8olmd7wmyn9dS9X9HCzvLEOtj27IAtZj+G2bYu9lsaxbdpRtlaVo
 CTB5WuRKjMwOcGbyDGF2mmxneKJliT+MKoCGbv9+vN0jVm7wm0IFAZQRVa9ueO+iEO1R5RYM
 UN8x8Y1hfFsrgrxFIC7BkDm5i7f1vIBZzZOO9FgtBHRyPrv2SucD1hUYzpNceYFseZjEFTGy
 WS1t9/uADVutpicRnSc6qqYoFuOBMQFEYMRTXRaFFVYurEPtKl210uSFYg7TMZZm/WoQWmY/
 tyckMQpa1z/Z+Yv3r7zw13IiinESnPhHl9svVW/so5IA2pEiG+Zi26AtACzARVodt/xory9U
 J4swZX2AAcmVsnlqcB1aL9RdIxFHt7cWNEmvXZhHoM66xOm8GO5cIZb7VlWfRk1aZxfIWS3P
 ReO6Gu9AaO/2lPwM8ebhKrqU6wXIVXIT4y5Bpg4kPIQCnSOSON31H43PhPBt4wcuEMtjbs+K
 f+mnTWEVh4n5VBc5GPuHY81iOZzrghnnD+7bc2lk3yPjOTPDFbIGeZtGAbfNYgRsfLbyDg5B
 v4CbaNmPT0FDr2nCsQWmKZORW03wY8TXMCv9JcPJ7fde2KL2ggJUpfs/F/oQKQ994w9qwsC1
 ijVtpZwxAWtiHvZBx+Nb3w/OrrjUYwm9SAwPDA2PEbu0H8mON794KAafpoxXL8m6O08kqIkE
 6hbI52NUqZVVzDK2zUBdp2h/oZsQwum2FCVNC2/bTlhI5M5H17V+sXpdxfE/TUVCnblrtM3p
 rCtj1uJQZcKSwl4ItzRbfajkwG4sXQHwbogVErUONhDPk7r9dEyeSD2i/Y2JeAKKAnCmWTGh
 1rHX09AqLCU8YEv8dTPiaSVlKuTErNzThhAAm3WzbeqLi2GrGCt9pBNDbSTdjfHWWKqpKj7P
 bdJz+vxOeEslUpRt9YuCK5iyK8z6oe9p7JeyQg4TnzHY07yV+FlK3iCm8JOqrdM1vlSvg7vA
 hCD/dxTOLOoPsL5EQFOeFp5P7rbjfxEyCPP6fkVIVnh4H4l9bWKZkxeIh2QhXEPN7ByKo4kn
 b8stcN+B9ZTUfb23gJqVhxpylk=
IronPort-HdrOrdr: A9a23:Rni1867f/WSA/Pdi0gPXwPDXdLJyesId70hD6qhwISY6TiX+rb
 HWoB17726TtN9/YhEdcLy7VJVoBEmskKKdgrNhWotKPjOW21dARbsKheCJrgEIWReOktK1vZ
 0QC5SWY+eQMbEVt6nHCXGDYrQd/OU=
X-IronPort-AV: E=Sophos;i="5.88,324,1635220800"; 
   d="scan'208";a="65159875"
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 v2 5/9] x86/spec-ctrl: Record the last write to MSR_SPEC_CTRL
Date: Fri, 28 Jan 2022 13:29:23 +0000
Message-ID: <20220128132927.14997-6-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220128132927.14997-1-andrew.cooper3@citrix.com>
References: <20220128132927.14997-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

In some cases, writes to MSR_SPEC_CTRL do not have interesting side effects,
and we should implement lazy context switching like we do with other MSRs.

In the short term, this will be used by the SVM infrastructure, but I expect
to extend it to other contexts in due course.

Introduce cpu_info.last_spec_ctrl for the purpose, and cache writes made from
the boot/resume paths.  The value can't live in regular per-cpu data when it
is eventually used for PV guests when XPTI might be active.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>

v2:
 * New
---
 xen/arch/x86/acpi/power.c                |  3 +++
 xen/arch/x86/include/asm/current.h       |  2 +-
 xen/arch/x86/include/asm/spec_ctrl_asm.h |  4 ++++
 xen/arch/x86/setup.c                     |  5 ++++-
 xen/arch/x86/smpboot.c                   |  5 +++++
 xen/arch/x86/spec_ctrl.c                 | 10 +++++++---
 6 files changed, 24 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/acpi/power.c b/xen/arch/x86/acpi/power.c
index ea2bd8bbfe93..5f2ec74f744a 100644
--- a/xen/arch/x86/acpi/power.c
+++ b/xen/arch/x86/acpi/power.c
@@ -296,7 +296,10 @@ static int enter_state(u32 state)
     ci->spec_ctrl_flags |= (default_spec_ctrl_flags & SCF_ist_wrmsr);
 
     if ( boot_cpu_has(X86_FEATURE_IBRSB) )
+    {
         wrmsrl(MSR_SPEC_CTRL, default_xen_mcu_opt_ctrl);
+        ci->last_spec_ctrl = default_xen_mcu_opt_ctrl;
+    }
 
     if ( boot_cpu_has(X86_FEATURE_SRBDS_CTRL) )
         wrmsrl(MSR_MCU_OPT_CTRL, default_xen_mcu_opt_ctrl);
diff --git a/xen/arch/x86/include/asm/current.h b/xen/arch/x86/include/asm/current.h
index cfbedc31983f..dc0edd9ed07d 100644
--- a/xen/arch/x86/include/asm/current.h
+++ b/xen/arch/x86/include/asm/current.h
@@ -56,6 +56,7 @@ struct cpu_info {
     /* See asm/spec_ctrl_asm.h for usage. */
     unsigned int shadow_spec_ctrl;
     uint8_t      xen_spec_ctrl;
+    uint8_t      last_spec_ctrl;
     uint8_t      spec_ctrl_flags;
 
     /*
@@ -73,7 +74,6 @@ struct cpu_info {
      */
     bool         use_pv_cr3;
 
-    unsigned long __pad;
     /* get_stack_bottom() must be 16-byte aligned */
 };
 
diff --git a/xen/arch/x86/include/asm/spec_ctrl_asm.h b/xen/arch/x86/include/asm/spec_ctrl_asm.h
index bf82528a12ae..9c0c7622c41f 100644
--- a/xen/arch/x86/include/asm/spec_ctrl_asm.h
+++ b/xen/arch/x86/include/asm/spec_ctrl_asm.h
@@ -67,6 +67,10 @@
  * steps 2 and 6 will restore the shadow value rather than leaving Xen's value
  * loaded and corrupting the value used in guest context.
  *
+ * Additionally, in some cases it is safe to skip writes to MSR_SPEC_CTRL when
+ * we don't require any of the side effects of an identical write.  Maintain a
+ * per-cpu last_spec_ctrl value for this purpose.
+ *
  * The following ASM fragments implement this algorithm.  See their local
  * comments for further details.
  *  - SPEC_CTRL_ENTRY_FROM_PV
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index e716005145d3..115f8f651734 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -1930,9 +1930,12 @@ void __init noreturn __start_xen(unsigned long mbi_p)
 
     if ( bsp_delay_spec_ctrl )
     {
-        get_cpu_info()->spec_ctrl_flags &= ~SCF_use_shadow;
+        struct cpu_info *info = get_cpu_info();
+
+        info->spec_ctrl_flags &= ~SCF_use_shadow;
         barrier();
         wrmsrl(MSR_SPEC_CTRL, default_xen_spec_ctrl);
+        info->last_spec_ctrl = default_xen_spec_ctrl;
     }
 
     /* Jump to the 1:1 virtual mappings of cpu0_stack. */
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index 08c0f2d9df04..1cfdf96207d4 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -323,6 +323,8 @@ static void set_cpu_sibling_map(unsigned int cpu)
 
 void start_secondary(void *unused)
 {
+    struct cpu_info *info = get_cpu_info();
+
     /*
      * Dont put anything before smp_callin(), SMP booting is so fragile that we
      * want to limit the things done here to the most necessary things.
@@ -379,7 +381,10 @@ void start_secondary(void *unused)
      * microcode.
      */
     if ( boot_cpu_has(X86_FEATURE_IBRSB) )
+    {
         wrmsrl(MSR_SPEC_CTRL, default_xen_spec_ctrl);
+        info->last_spec_ctrl = default_xen_spec_ctrl;
+    }
     if ( boot_cpu_has(X86_FEATURE_SRBDS_CTRL) )
         wrmsrl(MSR_MCU_OPT_CTRL, default_xen_mcu_opt_ctrl);
 
diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c
index 2072daf66245..b2fd86ebe587 100644
--- a/xen/arch/x86/spec_ctrl.c
+++ b/xen/arch/x86/spec_ctrl.c
@@ -1270,6 +1270,9 @@ void __init init_speculation_mitigations(void)
      */
     if ( has_spec_ctrl )
     {
+        struct cpu_info *info = get_cpu_info();
+        unsigned int val;
+
         bsp_delay_spec_ctrl = !cpu_has_hypervisor && default_xen_spec_ctrl;
 
         /*
@@ -1278,15 +1281,16 @@ void __init init_speculation_mitigations(void)
          */
         if ( bsp_delay_spec_ctrl )
         {
-            struct cpu_info *info = get_cpu_info();
-
             info->shadow_spec_ctrl = 0;
             barrier();
             info->spec_ctrl_flags |= SCF_use_shadow;
             barrier();
         }
 
-        wrmsrl(MSR_SPEC_CTRL, bsp_delay_spec_ctrl ? 0 : default_xen_spec_ctrl);
+        val = bsp_delay_spec_ctrl ? 0 : default_xen_spec_ctrl;
+
+        wrmsrl(MSR_SPEC_CTRL, val);
+        info->last_spec_ctrl = val;
     }
 
     if ( boot_cpu_has(X86_FEATURE_SRBDS_CTRL) )
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Fri Jan 28 13:30:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 13:30:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262002.454026 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDRKE-0004yZ-U6; Fri, 28 Jan 2022 13:30:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262002.454026; Fri, 28 Jan 2022 13:30:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDRKE-0004w9-CI; Fri, 28 Jan 2022 13:30:02 +0000
Received: by outflank-mailman (input) for mailman id 262002;
 Fri, 28 Jan 2022 13:30:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5Vxm=SM=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nDRKD-0003aP-3m
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 13:30:01 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 64259e89-803e-11ec-8f75-fffcc8bd4f1a;
 Fri, 28 Jan 2022 14:30:00 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 64259e89-803e-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643376600;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=gHfpIZlajUaP6cGdkiuSguv/j1zSvd9zDfBvEzVBPh8=;
  b=VcTK6SFso4R6xTRh8ky2XPYt5O6mVf6Pqj/+J6U24yUPvtzgLdPDEHHZ
   ud70B4xxvXk6VEyKY+rqi1w9BJ/pl7lOdMTPp3pfQ+plFt85N9Psqy9KL
   JRTIQqAyJfQunMzj4dxFLFqXu8HRTWN/B5/xPNQQbSwGv+CXGJJ7iJHVn
   w=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: xFsr5l5z5y/D9EoB3ZQVgrJPfyV9kXFMZpXxUAhrWB7N5x7vh8FwwNpBa1LR4L88Nva269NoTD
 gRadX/pU4CRSM1iTbxfzQP2LE9mcAvdHsKT+pGGC5hRdzuncfdDJ9f9uXnS1BbHHMKA0hcvGEi
 r7T8RHAw3C6thv/y2wEhbtwKB4lPeaelCcN+pvqfR5XFtnpTJhkAPaX7AnLTdecl1Q5eGTNSjG
 crgeRLOqsBGzKFnwjv7QxzUh3pi7Idc4EvTQrYc24Jt87DJ/bI+roNhhknP9fhWJO3Lgt68TtK
 lvkODKRs07CBOEJgOS6aVOrt
X-SBRS: 5.2
X-MesageID: 62981611
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:Y0ZiWanVl3PN+mBmO7h1XTPo5gxVIURdPkR7XQ2eYbSJt1+Wr1Gzt
 xIZXWzTb/fcNDb1ftwna9/npElTvZOBy4cwQQNspX0xFSMWpZLJC+rCIxarNUt+DCFioGGLT
 Sk6QoOdRCzhZiaE/n9BClVlxJVF/fngqoDUUYYoAQgsA180IMsdoUg7wbRh29Q42YTR7z6l4
 rseneWOYDdJ5BYsWo4kw/rrRMRH5amaVJsw5zTSVNgT1LPsvyB94KE3fMldG0DQUIhMdtNWc
 s6YpF2PEsE1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXee0v0XRYRQR4/ttmHozx+4
 NdRm5qBVjszBbHzx98CCgUFThFHOaITrdcrIVDn2SCS50jPcn+qyPRyFkAme4Yf/46bA0kXq
 6ZecmpUKEne2aTmm9pXScE17ignBODtMJkSpTdLyjbBAOx9aZvCX7/L9ZlT2zJYasVmQ6yPN
 5NHMGMHgBLoXhpGKgpMDK8EwdiovSnDcQREi1KFnP9ii4TU5FMoi+W8WDbPQfSVQe1Fk0Deo
 XjJl0zbKBwHMN2UyRKe72mhwOTImEvTSI8UUbG16PNuqFmS3XAITg0bU0Ohpvu0gVL4XMhQQ
 3H44QJ38/J0rhbyCICgAVvo+xZooyLwRfJSD8M82R6x0JHI3FmiGTEYE2NxUdgp4ZpeqSMR6
 neFmNbgBDpKubKTSG6A+rr8kQ5eKRT5PkdZO3ZaEFJtD83L5dhq00mRFooL/Lud04WtcQwc1
 Qxmu8TXa187qccQn5u28lnc695HjsiYF1Vljuk7s4/M0++YWGJHT9HwgbQ4xawZRGp8crVnl
 CJZ8yR5xLtWZaxhbATXHI0w8EiBvp5pygH0j191BIUG/D+w4XOldo04yGggeBwzaZ5fJ2KxP
 R67VeZtCHl7ZiXCgUhfONrZNijX5fK4SYSNug78MLKinaSdhCfYpXozNCZ8LkjmkVQ2kLFXB
 HtoWZ3EMJruMow+lGDeb75EidcDn3lirUuOG8yT50n5gNK2OS7EIZ9YYQDmRr1os8u5TPD9r
 ow32z2ikUsPCYUTo0D/rOYuELz9BSFrXM+t850OKLfrz8gPMDhJNsI9CIgJI+RN95m5XM+Rl
 p1kckMHmlf5m1PdLgCGNiJqZL/1BM4tpnMnJy08e12v3iF7M4qo6a4ecboxfKUmq7M/naIlE
 aFddpXSGOlLRxTG5y8ZMcv3ort9eUn5ngmJJSekPmQyJsYyWwzT99b4VQLz7y1SXDGvvM4zr
 uT4hAPWSJYOXSp4C8PSZK79xl+9pyFFyulzQ1HJMp9Yf0C1qNpmLCn4j/kWJcAQKEqcmmvGh
 ljOWRpB/LvDuY449tXNlJuolYbxHrssBFdeEkna8a2yaXvQ8F28zNISS+2PZz3cCj/5of3we
 eVPwvjgG/Qbh1IW4ZFkGrNmwK9itdvio7hWklZtEHnRNgn5D7phJj+N3NVVt70Lzbhc4FPkV
 kWK89hcGLOIJMK6TwJBeFt7NryOhaMOhz3fzfUpO0GrtiZ48Y2OXVhWIxTR2jdWK6F4Md99z
 Oos0CLMB9dTVvb+3g66sx1p
IronPort-HdrOrdr: A9a23:sd3wVq77AfoDKrWokQPXwYWCI+orL9Y04lQ7vn2ZFiY7TiXIra
 yTdaoguCMc0AxhIk3I6urwRZVoIEmsv6KdhLN+AV7MZniBhILFFvAA0WKm+UyaJ8SczJ8R6U
 4DSdkGNDSYNzET5qyagDVQUexQuOVvm5rY4Ns2uk0dKj2CHJsQizuRZDzrcHFedU1jP94UBZ
 Cc7s1Iq36LYnIMdPm2AXEDQqzqu8DLvIiOW29IOzcXrC21yR+44r/zFBaVmj0EVSlU/Lsk+W
 /Z1yTk+6SYte2hwBO07R6c030Woqqh9jJwPr3OtiEnEESvtu9uXvUlZ1S2hkF0nAho0idvrD
 CDmWZmAy050QKsQoj8m2qT5+Cn6kdj11bSjWaCh33tuMr4Qy9/JfZgqOtiA13kwntlhcp71q
 1T2WKfqt5wNjPv2ArAx/WgbWAyqqKTyUBSytL7S0YvCbc2eftfq5cS81hSF4pFFCXm6Jo/GO
 0rF83E4u1KGGnqJkwxk1Mft+BEZE5DaCtug3JyyfC9wnxThjR03kEYzMsQkjMJ8488UYBN46
 DBPr5znL9DQ8cKZeYlbd1xCvefGyjIW1bBIWiSKVPoGOUOPG/MsYf+5PEw6PuxcJIFwZMukN
 DKUU9et2Q1Z0XyYPf+lKFj41TIWiGwTD7twsZR69xwvaD9XqPiNWmZRFUng6Kb0oEi6w3gKo
 OO0b5tco7exFrVaPR0NlfFKudvwFElIb0ohuo=
X-IronPort-AV: E=Sophos;i="5.88,324,1635220800"; 
   d="scan'208";a="62981611"
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 v2 2/9] x86/spec-ctrl: Drop use_spec_ctrl boolean
Date: Fri, 28 Jan 2022 13:29:20 +0000
Message-ID: <20220128132927.14997-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220128132927.14997-1-andrew.cooper3@citrix.com>
References: <20220128132927.14997-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Several bugfixes have reduced the utility of this variable from it's original
purpose, and now all it does is aid in the setup of SCF_ist_wrmsr.

Simplify the logic by drop the variable, and doubling up the setting of
SCF_ist_wrmsr for the PV and HVM blocks, which will make the AMD SPEC_CTRL
support easier to follow.  Leave a comment explaining why SCF_ist_wrmsr is
still necessary for the VMExit case.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 xen/arch/x86/spec_ctrl.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c
index c18cc8aa493a..8a550d0a0902 100644
--- a/xen/arch/x86/spec_ctrl.c
+++ b/xen/arch/x86/spec_ctrl.c
@@ -927,7 +927,7 @@ static __init void mds_calculations(uint64_t caps)
 void __init init_speculation_mitigations(void)
 {
     enum ind_thunk thunk = THUNK_DEFAULT;
-    bool use_spec_ctrl = false, ibrs = false, hw_smt_enabled;
+    bool ibrs = false, hw_smt_enabled;
     bool cpu_has_bug_taa;
     uint64_t caps = 0;
 
@@ -1016,19 +1016,21 @@ void __init init_speculation_mitigations(void)
     {
         if ( opt_msr_sc_pv )
         {
-            use_spec_ctrl = true;
+            default_spec_ctrl_flags |= SCF_ist_wrmsr;
             setup_force_cpu_cap(X86_FEATURE_SC_MSR_PV);
         }
 
         if ( opt_msr_sc_hvm )
         {
-            use_spec_ctrl = true;
+            /*
+             * While the guest MSR_SPEC_CTRL value is loaded/saved atomically,
+             * Xen's value is not restored atomically.  An early NMI hitting
+             * the VMExit path needs to restore Xen's value for safety.
+             */
+            default_spec_ctrl_flags |= SCF_ist_wrmsr;
             setup_force_cpu_cap(X86_FEATURE_SC_MSR_HVM);
         }
 
-        if ( use_spec_ctrl )
-            default_spec_ctrl_flags |= SCF_ist_wrmsr;
-
         if ( ibrs )
             default_xen_spec_ctrl |= SPEC_CTRL_IBRS;
     }
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Fri Jan 28 13:30:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 13:30:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262003.454036 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDRKG-0005Pi-AH; Fri, 28 Jan 2022 13:30:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262003.454036; Fri, 28 Jan 2022 13:30:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDRKF-0005ON-Vf; Fri, 28 Jan 2022 13:30:03 +0000
Received: by outflank-mailman (input) for mailman id 262003;
 Fri, 28 Jan 2022 13:30:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5Vxm=SM=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nDRKE-0003aP-1Z
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 13:30:02 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 64628690-803e-11ec-8f75-fffcc8bd4f1a;
 Fri, 28 Jan 2022 14:30:00 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 64628690-803e-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643376600;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=553IIZvT2PCyQvNhYbatU6CdNT8wA+Ucg/LmMu9hXmw=;
  b=I7ALQtFHwQ+VNcQ3IP1mAOs7isbeKqk1v7f5N0/I5X5NTJJDzkTkFuug
   Hm62Ghhu+hFTHo8bZ8oKSMOipWAWhxTaw5W7ZzGD691z/UHplrG7pXslL
   y1eeMGKwNSLThztMWnp7OBHBmHSYA6r5Klgq5RE+3wgQhVguOAVAW7POI
   4=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: nZ2cejdBDX8oMSUGjR2N26zF1FbjTVo929lAUx01Xqwm40ANi85U1Sd2OlG6+iBkFwctGmOwIX
 4eFkYH9kRi3ubfR1/L20YXM5ak6/TL4AsGLfxWHGQb+RZNaQUfgjCa0HduBirFHMaWEla9c/sX
 7FecPSCerunJ5OtARsar6l/acMC4x9UZDtjPzSX9G/7zGWKazlX/Hu7k2nQ1pgNLjazthIvvKv
 RynbwNibEZba6bMNg/01U5SoLYMWKL+Oo7ta/qMVcFE/62kd51a5xZ/2AT07ani7m3yp2G8roU
 5NRcXPAX9kczz0JZSiLjSYkI
X-SBRS: 5.2
X-MesageID: 65159876
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:YLCM+qKiRBYYAj4uFE+RBZIlxSXFcZb7ZxGr2PjKsXjdYENS1jIOm
 GtMCzrSMvveazanL40kady3oU9UuMODyIM2SQBlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokcxIn5BC5C5xZVG/fjgqoHUVaiUakideSc+EH170Us5y7Zl6mJVqYPR7z2l6
 IuaT/L3YDdJ6xYsWo7Dw/vewP/HlK2aVAIw5jTSV9gS1LPtvyB94KYkDbOwNxPFrrx8RYZWc
 QphIIaRpQs19z91Yj+sfy2SnkciGtY+NiDW4pZatjTLbrGvaUXe345iXMfwZ3u7hB21xYxhl
 NcdjqadTA4ZboDIlP0ncBxxRnQW0a1uoNcrIFC6uM2XiUbHb2Ht07NlC0Re0Y8wo7gtRzsUr
 LpBdW5LPkvra+GemdpXTsFFgMg5IdatF4QYonx6lhnSDOo8QICFSKLPjTNd9Glt350fTamAD
 yYfQRFkShHxWkF/A2wON81jjr/v33zAKDIN/Tp5ooJoujOOnWSdyoPFL979atGMA8JPkS6wh
 EjL4mD4CREyL8GExHyO9XfErv/Cm2b3VZwfEJW89+V2mxuDy2oLEhoUWFCn5/6jhSaDt8l3c
 hJOvHB09O5rqRLtHoKVswCETGCsgkRAS4ZSQ9YAxQSE+vr55wqAPEsBZ2sUADA5j/MeSTsv3
 16PutrmAz1zrbGYIU6gGqeoQSCaYnZMczJbDcMQZU5cuoS4/tlv5v7aZos7SMaIYsvJ9SYcK
 txghAw3nP0tgMECzM1XFniX0mv39vAlouPYjzg7v15JDCskPOZJhKTysDA3CMqsyq7DEzFtW
 1Bfw6CjABgmV83lqcB0aLxl8EuVz/iEKibAplVkAoMs8T+gk1b6I9wLumomfxk0aptVEdMMX
 KM1kVkPjHO0FCDyBZKbnqrrU5h6pUQePYqNug/ogipmPcEqKV7vENBGbk+MxWH9+HXAYolkU
 ap3hf2EVC5AYYw+lWLeb75EjdcDm35irUuOG8GT50n3gNK2OS/OIZ9YYQTmUwzMxP7eyOkj2
 4wBZ5LiJtQ2eLCWXxQ7BqZKfQlVdiBqXM6vwyGVH8baSjdb9KgaI6e56dscl0ZNxsy5T8/Eo
 SOwXFF20l36iSGVIAmGcCk7OrjuQYx+vTQwOil1ZQSk3H0qYICO6qYDdsRoIel7pbI7lfMkH
 eMYf8igA+hUTmiV8ToqcpSg/pdpcw6mhFzSMnP9MiQ/ZZNpWyfA5sTgIln07CALAyfu7Zk+r
 rSs2xn1W50GQwg+Xs/aZOj2lwG6vGQHmfI0VEzNe4EBdELp+YlsCirwkv5ofJ1cdUSdnmOXj
 l/EDw0ZqO/Bp54O3OPI3a3U/Z20F+ZeH1ZBGzWJ57iBKiSHrHGoxpVNUbjUcGmFBn/04qire
 c5c0+r4bK8chF9PvodxT+RrwKY564e9rrNW1F05TnDCblDtAbJ8OHiWm8JIs/QVlLNevAK3X
 GOJ+8VbZurVaJ+0TgZJKVp3dPmH2NEVhiLWvKY8L0jN7SNq+KaKDBdJNB6WhS0BdLZ4PevJG
 wv6VBL6P+BnticXDw==
IronPort-HdrOrdr: A9a23:M1DKyq7R8dQWyi6gyQPXwPLXdLJyesId70hD6qhwISY1TiX+rb
 HXoB17726MtN9/YgBCpTntAsa9qDbnhPpICOoqTNGftWvdyQmVxehZhOOIqVCNJ8S9zJ876U
 4JSdkENDSaNzhHZKjBjjVQa+xQpeW6zA==
X-IronPort-AV: E=Sophos;i="5.88,324,1635220800"; 
   d="scan'208";a="65159876"
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 v2 4/9] x86/spec-ctrl: Don't use spec_ctrl_{enter,exit}_idle() for S3
Date: Fri, 28 Jan 2022 13:29:22 +0000
Message-ID: <20220128132927.14997-5-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220128132927.14997-1-andrew.cooper3@citrix.com>
References: <20220128132927.14997-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

'idle' here refers to hlt/mwait.  The S3 path isn't an idle path - it is a
platform reset.

Conditionally clearing IBRS and flushing the store buffers on the way down is
a waste of time.

Furthermore, we want to load default_xen_mcu_opt_ctrl unilaterally on the way
back up.  Currently it happens as a side effect of X86_FEATURE_SC_MSR_IDLE or
the next return-to-guest, but that's fragile behaviour.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>

v2:
 * New
---
 xen/arch/x86/acpi/power.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/acpi/power.c b/xen/arch/x86/acpi/power.c
index 31a56f02d083..ea2bd8bbfe93 100644
--- a/xen/arch/x86/acpi/power.c
+++ b/xen/arch/x86/acpi/power.c
@@ -248,7 +248,6 @@ static int enter_state(u32 state)
         error = 0;
 
     ci = get_cpu_info();
-    spec_ctrl_enter_idle(ci);
     /* Avoid NMI/#MC using MSR_SPEC_CTRL until we've reloaded microcode. */
     ci->spec_ctrl_flags &= ~SCF_ist_wrmsr;
 
@@ -295,7 +294,9 @@ static int enter_state(u32 state)
 
     /* Re-enabled default NMI/#MC use of MSR_SPEC_CTRL. */
     ci->spec_ctrl_flags |= (default_spec_ctrl_flags & SCF_ist_wrmsr);
-    spec_ctrl_exit_idle(ci);
+
+    if ( boot_cpu_has(X86_FEATURE_IBRSB) )
+        wrmsrl(MSR_SPEC_CTRL, default_xen_mcu_opt_ctrl);
 
     if ( boot_cpu_has(X86_FEATURE_SRBDS_CTRL) )
         wrmsrl(MSR_MCU_OPT_CTRL, default_xen_mcu_opt_ctrl);
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Fri Jan 28 13:30:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 13:30:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262004.454046 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDRKH-0005eT-Fs; Fri, 28 Jan 2022 13:30:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262004.454046; Fri, 28 Jan 2022 13:30:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDRKH-0005Zt-4c; Fri, 28 Jan 2022 13:30:05 +0000
Received: by outflank-mailman (input) for mailman id 262004;
 Fri, 28 Jan 2022 13:30:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5Vxm=SM=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nDRKF-0003aP-1i
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 13:30:03 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 64c5d369-803e-11ec-8f75-fffcc8bd4f1a;
 Fri, 28 Jan 2022 14:30:01 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 64c5d369-803e-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643376601;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=6XFzfWwACy8HBslJifmIBor59KoqvIUElcwNprhZhXM=;
  b=Ov72tRGdsNQHi6wO9MKxt0gDyB4g70nYcf2kKqBxJZV9Ona61w3gk9zY
   Z0h5oWHak2iCZ6MhZWJz/ntwIf0eH10ImHr4TGiJWfozhlGdaeTzzur45
   9mHy7h/T4GiX71PSTMoZhGAndoMQ8IRtcpgez6RBRR9H3Kn0wOlS1gg4T
   o=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: piDLzOU5VEiQ3+JIHjzXHS/8OU/Vg2LGWyleCFplUSAavkOdDdXOG1mKvwBI/Zve0YorWJWkyw
 39Xxr9U02x0D9XoWC+cFLQO0LATY2XtLesgnDeP4i0/F7LIOpT8PHMpOJnLXVczgUJQmsZH6IA
 uxA4YfwmJdHwA8wnnWGK7WTgMkoxVHwwKRfxSL5z7//VYfkdpegV/6jUJG3u/ad5QX7B+cp9x7
 2wQhAmri11SITSsHB1N0hsEySLfpCtEY76oWMKGHxEyBkAcjeGoUKVgShdRXStzhF7EWr5+t47
 dUVRqtEzowHwXJEjlOs7cqsy
X-SBRS: 5.2
X-MesageID: 62981613
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:btyenKKJMayEXwgMFE+RBZIlxSXFcZb7ZxGr2PjKsXjdYENSgjICn
 zQeUGmAaPyCa2r1ft4kPY7g8UtS68XUztRnSQJlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokcxIn5BC5C5xZVG/fjgqoHUVaiUakideSc+EH170Us5y7Zl6mJVqYPR7z2l6
 IuaT/L3YDdJ6xYsWo7Dw/vewP/HlK2aVAIw5jTSV9gS1LPtvyB94KYkDbOwNxPFrrx8RYZWc
 QphIIaRpQs19z91Yj+sfy2SnkciGtY+NiDW4pZatjTLbrGvaUXe345iXMfwZ3u7hB25nOAqz
 egOvqbpRA4NYKPotu0tdzhhRnQW0a1uoNcrIFC6uM2XiUbHb2Ht07NlC0Re0Y8wo7gtRzsUr
 LpBdW5LPkvra+GemdpXTsFFgMg5IdatF4QYonx6lhnSDOo8QICFSKLPjTNd9Glq15AXQ6+FD
 yYfQSNCZk/PbhFPAHw4T4s1lfuJxV3gTTIN/Tp5ooJoujOOnWSdyoPFL979atGMA8JPkS6wh
 EjL4mD4CREyL8GExHyO9XfErv/Cm2b3VZwfEJW89+V2mxuDy2oLEhoUWFCn5/6jhSaDt8l3c
 hJOvHB09O5rqRLtHoKVswCETGCsjh0sAN9tUOYAsQyE7vTaxyiQNkwld2sUADA5j/MeSTsv3
 16PutrmAz1zrbGYIU6gGqeoQSCaYnZMczJbDcMQZU5cuoS4/tlv5v7aZos7SMaIYsvJ9SYcK
 txghAw3nP0tgMECzM1XFniX0mv39vAlouPYjzg7v15JDCskPOZJhKTysDA3CMqsyq7DEzFtW
 1Bfw6CjABgmV83lqcB0aLxl8EuVz/iEKibAplVkAoMs8T+gk1b6I9wLumomfxk0aptVEdMMX
 KM1kVkPjHO0FCDyBZKbnqrrU5h6pUQePYqNug/ogipmPcEqKV7vENBGbk+MxWH9+HXAYolkU
 ap3hf2EVC5AYYw+lWLeb75EjdcDm35irUuOG8GT50n3gNK2OS/OIZ9YYQTmUwzMxP7eyOkj2
 4wBZ5LiJtQ2eLCWXxQ7BqZKfQlVdiBqXM6vwyGVH8baSjdb9KgaI6e56dscl0ZNxsy5T8/Eo
 SOwXFF20l36iSGVIAmGcCk7OrjuQYx+vTQwOil1ZQSk3H0qYICO6qYDdsRoIel7pbI7lfMkH
 eMYf8igA+hUTmiV8ToqcpSg/pdpcw6mhFzSMnP9MiQ/ZZNpWyfA5sTgIln07CALAyfu7Zk+r
 rSs2xn1W50GQwg+Xs/aZOj2lwG6vGQHmfI0VEzNe4EBdELp+YlsCirwkv5ofJ1cdUSdnmOXj
 l/EDw0ZqO/Bp54O3OPI3a3U/Z20F+ZeH1ZBGzWJ57iBKiSHrHGoxpVNUbjUcGmFBn/04qire
 c5c0+r4bK8chF9PvodxT+RrwKY564e9rrNW1F05TnDCblDtAbJ8OHiWm8JIs/QVlLNevAK3X
 GOJ+8VbZurVaJ+0TgZJKVp3dPmH2NEVhiLWvKY8L0jN7SNq+KaKDBdJNB6WhS0BdLZ4PevJG
 wv6VBL6P+BnticXDw==
IronPort-HdrOrdr: A9a23:BOMmJKDd9ms45MzlHejhsseALOsnbusQ8zAXPh9KJiC9I/b1qy
 nxppkmPEfP+UwssQIb6K290ci7MDnhHPtOj7X5Uo3SOjUO1FHYT72KqLGSuAEIeBeOu9K1t5
 0QCpSWYeeYZTMR7KbHCUuDYq4dKbK8gcWVbJLlvhBQpHZRGsVdBmlCe2SmO3wzYDMDKYsyFZ
 Ka6MYCjSGnY24rYsOyAWRAd/TfpvXQ/aiWLiIuNloC0k2jnDmo4Ln1H1yzxREFSQ5Cxr8k7C
 zsjxH53KO+qPu2oyWsmVM7rq4m2ecJ+OEzR/BkufJlaAkETTzYIbiJbofy/AzdZtvfrGrC3u
 O85CvIdP4Dl085NlvF3icFnTOQnAoG2jva0lmfjmLkocvlABwHK+cpv/MeTjLpr3M6utdyya
 RK2H/ckaF2I1fvoATRjuK4Di2DsCKP0CEfeCoo/iRieJpbZ7lLoYMF+kRJVJ8GASLh8YgiVP
 JjFcfG+Z9tABqnhl3izx5SKeaXLwIO99a9Mzs/k93Q1yITkGFyzkMeysBalnAc9IglQ50B4+
 jfKKxnmLxHU8dTNMtGdaw8aNryDnaITQPHMWqUL1iiHKYbO2jVo5qy5Lku/umldJEB0ZN3kp
 XcV1FTs3I0ZivVeIWz9YwO9gqITHS2XDzrxM0b759luqfkTL6uKiGHQEBGqbrVnxzeOLyvZx
 +eAuMmPxbTFxqdJW8S5XyBZ3B7EwhvbPEo
X-IronPort-AV: E=Sophos;i="5.88,324,1635220800"; 
   d="scan'208";a="62981613"
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 v2 0/9] x86: MSR_SPEC_CTRL support for SVM guests
Date: Fri, 28 Jan 2022 13:29:18 +0000
Message-ID: <20220128132927.14997-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

Fixes/extensions to allow HVM guests to use AMD hardware MSR_SPEC_CTRL
facilities.

No PV support yet - that will require some substantially more careful
unpicking of the PV entry/exit asm.

Andrew Cooper (9):
  x86/cpuid: Advertise SSB_NO to guests by default
  x86/spec-ctrl: Drop use_spec_ctrl boolean
  x86/spec-ctrl: Introduce new has_spec_ctrl boolean
  x86/spec-ctrl: Don't use spec_ctrl_{enter,exit}_idle() for S3
  x86/spec-ctrl: Record the last write to MSR_SPEC_CTRL
  x86/spec-ctrl: Use common MSR_SPEC_CTRL logic for AMD
  x86/svm: VMEntry/Exit logic for MSR_SPEC_CTRL
  x86/msr: AMD MSR_SPEC_CTRL infrastructure
  x86/cpuid: Enable MSR_SPEC_CTRL in SVM guests by default

 xen/arch/x86/acpi/power.c                   |  8 +++-
 xen/arch/x86/cpu/amd.c                      |  2 +-
 xen/arch/x86/cpuid.c                        | 16 +++++--
 xen/arch/x86/hvm/svm/entry.S                | 12 +++---
 xen/arch/x86/hvm/svm/svm.c                  | 40 +++++++++++++++++
 xen/arch/x86/include/asm/current.h          |  2 +-
 xen/arch/x86/include/asm/hvm/svm/svm.h      |  3 ++
 xen/arch/x86/include/asm/msr.h              |  9 ++++
 xen/arch/x86/include/asm/spec_ctrl_asm.h    |  7 +++
 xen/arch/x86/msr.c                          |  8 ++--
 xen/arch/x86/setup.c                        |  5 ++-
 xen/arch/x86/smpboot.c                      |  7 ++-
 xen/arch/x86/spec_ctrl.c                    | 66 ++++++++++++++++++++---------
 xen/include/public/arch-x86/cpufeatureset.h | 18 ++++----
 xen/tools/gen-cpuid.py                      | 14 +++---
 15 files changed, 166 insertions(+), 51 deletions(-)

-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Fri Jan 28 13:30:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 13:30:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262005.454054 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDRKI-0005qX-In; Fri, 28 Jan 2022 13:30:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262005.454054; Fri, 28 Jan 2022 13:30: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 1nDRKH-0005n4-Uo; Fri, 28 Jan 2022 13:30:05 +0000
Received: by outflank-mailman (input) for mailman id 262005;
 Fri, 28 Jan 2022 13:30:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5Vxm=SM=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nDRKF-0003aQ-CC
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 13:30:03 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 643f205f-803e-11ec-8eb8-a37418f5ba1a;
 Fri, 28 Jan 2022 14:30:02 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 643f205f-803e-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643376602;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=t6iCnuYTls+XD79sW/8eHyY+U8ganRSf8XKq7YRN4Wo=;
  b=FqsGyB9YP+WYwF2z8majI4Xpg+t2hXyTp2syWNeXy4WE7aUhutheXYHh
   iO9a3ZWA+6t8QBcnlKNqRMON47EMKSRVU1bSvLGGtC7vYFJh2TocSntsX
   Kqi/J0xxKg7PnYB/OWrejtpPP4PJVf0CC0Kz44vXOYNmRIicaoCH1/EIQ
   s=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: eq9F1gEdjVwvXnb+IkQkrTTt4fihRtJPQJyTvKaw2O0zXGKkdoliOf6Dg60C3IyOs1oFHaXCTV
 wHxIJ6aH7RGdjpCMA1E02wm0lYqysFzgpgIzvGNQAHJ0tEa6o0EW+Y6tWmHN6GemLLdtHp4wuj
 QUf4suFzp+ezY4w9ZueSoAdleylcSh0k9OC2B3gUSHRyry5oVLi0Ljp33vZOdnxBXV5NUzBY6v
 0s92tMjpjDvYTjxEZmYkMylnNlvkMnwuqCr60xoh419jCDt24LEHs5fTClSMfJcNERT1f9Z1QG
 soqNN4sEa0Mwn3gwNIxwEQnZ
X-SBRS: 5.2
X-MesageID: 62981614
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:NMqtr6BFMVRdwxVW//3kw5YqxClBgxIJ4kV8jS/XYbTApG8jhDQFz
 GoYCD/TPf6CYjP3fIgjbt7i8RtVvJfdztIxQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMo/u1Si6FatANl1ElvU2zbue6WL6s1hxZH1c+En9400I7x4bVv6Yz6TSHK1LV0
 T/Ni5W31G+Ng1aY5UpNtspvADs21BjDkGtwUm4WPJinj3eH/5UhN7oNJLnZEpfNatI88thW5
 Qr05OrREmvxp3/BAz4++1rxWhVirrX6ZWBihpfKMkQLb9crSiEai84G2PQghUh/iSmnmeFu9
 M92qaPvchhwIvCRqN0ZXEwNe81+FfUuFL7vJHG+tYqYzlHccmuqyPJrZK00FdRGoKAtWzgIr
 KFGbmBWBvyAr7veLLaTY+9gnMk8auLsO5sSoCpIxjDFF/c2B5vERs0m4PcGhmZg354XQZ4yY
 eIyVwZNcD7KbiFiI1UyNJkDmcTzo0XWJmgwRFW9+vNsvjm7IBZK+KfpGMrYfJqNX8o9tmSyq
 3/C/m/5KgoHL9HZwj2Amlq8i+mKkS7lVYY6ELyj6uUskFCV3nYUChAdSR28u/bRt6Klc4sBc
 QpOoHNo9PVsshzwJjXgY/GmiHyYkBgtROZKKPEFtzqSk7aJvjagAmdRG1atd+canMMxQDUr0
 HqAkNXoGSFjvdWpdJ6NyluHhWjsYHZIdAfucQdBFFJYuIe7/OnfmzqSFo4LLUKjsjHi9dgcK
 RiupTN2ubgchNVjO06TrQGe2GLESnQko2cICuTrsoCNs1sRiG2NPdXABb3nARBodtvxor6p5
 yBspiRmxLpSZaxhbQTUKAn3IJmn5uyeLBrXikN1Ep8q+lyFoiD/JtoLuGogeR80Y67onAMFh
 meJ52u9A7cIZBOXgVJfOdrtW6zGM4C+fTgaahwkRoUXOcUgHON21CpveVSRzwjQfLsEyskC1
 WOgWZ/0Vx4yUP0/pBLvHrt1+eJ1mkgWmD2CLbimn0XP+efPPxa9FOZaWGZim8hktstoVi2Pr
 YYGXyZLoj0CONDDjt7/qN5KcgtSfCFlXPgbaaV/L4a+H+avI0l5Y9e5/F/rU9UNc319mria8
 3ejdFVfzVaj13TLJR/TMiJoaa/1XIY5pnU+ZHR+MVGt0nklQICu8KZAKMdnIeh5rLRunaxuU
 v0IW8ScGfATGD7JzCsQMMvmp4t4eRX12Q/XZ3i5YCIydoJLThDS/oO2ZRPm8SQDV3LltcY3r
 7C6+BncRJ4PG1ZrAMrMMar9xFKtp3kN3ul1WhKQcNVUfUzt9qlsKjDw0aBrc51dd02by2LDh
 QiMABoeqe3cmKMP8YHE1fKesoOkM+piBU4GTWPV2qm7aHvB9W25zI4eDOvRJWLBVHn58bmJb
 PlOy62uK+UOmVtHvtYuE7tvyq5itdLjq6UDk1ZhFXTPKV+qFqlhMj+N2swW7v9BwbpQuA2XX
 EOT+4YFZeXVaZ29SFNBdhA4aumj1O0PnmiA5Ps4F0z2+Str8efVSk5VJRSN1HRQIbYd3FnJG
 gv9VBr6MzCCtyc=
IronPort-HdrOrdr: A9a23:KkiAhqiprt2+NGHydZt9iSxpNHBQX5d23DAbv31ZSRFFG/FwyP
 rAoB1L73PJYWgqNU3IwerwQpVoMkmsiKKdgLNhd4tKOTOJhILGFvAF0WKP+UyCJ8S6zJ8n6U
 4CSdkyNDSTNykCsS+S2mDReLxAoOVvsprY/ds2pE0dKD2CHpsQiDuRfTzrdnGeKjM2Z6YRJd
 653I5qtjCgcXMYYoCQHX8eRdXOoNXNidbPfQMGLwRP0njAsRqYrJrBVzSI1BYXVD1ChZ0493
 LergD/7qK/99mm1x7n0XPJ5Zg+oqqu9jIDPr3MtiEmEESutu+aXvUiZ1REhkFxnAib0idrrD
 ALmWZlAy080QKXQoj/m2qQ5+Cp6kdQ15al8y7VvVLT5fXjQjQ0EsxAgp8cXCf4xiMbzZdB+Z
 MO5nmesZVPCxPGgWDa3PjnEz9Xtmfcmwt6rQY050YvCrf2rIUh9bA37QdbFowNEzn9751iGO
 5yDNvE7PITal+CaWvF11MfieBEc05DaStueHJyzPB9EgIm70xR3g8d3ogSj30A/JUyR91N4P
 nFKL1hkPVLQtUNZaxwCe8dSY/vY1a9Ci7kISaXOxDqBasHM3XCp9r+56g0/vijfNgNwIEpkJ
 rMXVtEvSo5el7oC8eJwJpXmyq9CFmVTHDo0IVT9pJ5srrzSP7iNjCCUkknl4+6r/AWEqTgKo
 KO0VJtcorexEfVaPd0NjzFKutvwCMlIbMoU/4AKiKznv4=
X-IronPort-AV: E=Sophos;i="5.88,324,1635220800"; 
   d="scan'208";a="62981614"
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 v2 3/9] x86/spec-ctrl: Introduce new has_spec_ctrl boolean
Date: Fri, 28 Jan 2022 13:29:21 +0000
Message-ID: <20220128132927.14997-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220128132927.14997-1-andrew.cooper3@citrix.com>
References: <20220128132927.14997-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Most MSR_SPEC_CTRL setup will be common between Intel and AMD.  Instead of
opencoding an OR of two features everywhere, introduce has_spec_ctrl instead.

Reword the comment above the Intel specific alternatives block to highlight
that it is Intel specific, and pull the setting of default_xen_spec_ctrl.IBRS
out because it will want to be common.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 xen/arch/x86/spec_ctrl.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c
index 8a550d0a0902..2072daf66245 100644
--- a/xen/arch/x86/spec_ctrl.c
+++ b/xen/arch/x86/spec_ctrl.c
@@ -927,7 +927,7 @@ static __init void mds_calculations(uint64_t caps)
 void __init init_speculation_mitigations(void)
 {
     enum ind_thunk thunk = THUNK_DEFAULT;
-    bool ibrs = false, hw_smt_enabled;
+    bool has_spec_ctrl, ibrs = false, hw_smt_enabled;
     bool cpu_has_bug_taa;
     uint64_t caps = 0;
 
@@ -936,6 +936,8 @@ void __init init_speculation_mitigations(void)
 
     hw_smt_enabled = check_smt_enabled();
 
+    has_spec_ctrl = boot_cpu_has(X86_FEATURE_IBRSB);
+
     /*
      * First, disable the use of retpolines if Xen is using shadow stacks, as
      * they are incompatible.
@@ -973,11 +975,11 @@ void __init init_speculation_mitigations(void)
              */
             else if ( retpoline_safe(caps) )
                 thunk = THUNK_RETPOLINE;
-            else if ( boot_cpu_has(X86_FEATURE_IBRSB) )
+            else if ( has_spec_ctrl )
                 ibrs = true;
         }
         /* Without compiler thunk support, use IBRS if available. */
-        else if ( boot_cpu_has(X86_FEATURE_IBRSB) )
+        else if ( has_spec_ctrl )
             ibrs = true;
     }
 
@@ -1008,10 +1010,7 @@ void __init init_speculation_mitigations(void)
     else if ( thunk == THUNK_JMP )
         setup_force_cpu_cap(X86_FEATURE_IND_THUNK_JMP);
 
-    /*
-     * If we are on hardware supporting MSR_SPEC_CTRL, see about setting up
-     * the alternatives blocks so we can virtualise support for guests.
-     */
+    /* Intel hardware: MSR_SPEC_CTRL alternatives setup. */
     if ( boot_cpu_has(X86_FEATURE_IBRSB) )
     {
         if ( opt_msr_sc_pv )
@@ -1030,11 +1029,12 @@ void __init init_speculation_mitigations(void)
             default_spec_ctrl_flags |= SCF_ist_wrmsr;
             setup_force_cpu_cap(X86_FEATURE_SC_MSR_HVM);
         }
-
-        if ( ibrs )
-            default_xen_spec_ctrl |= SPEC_CTRL_IBRS;
     }
 
+    /* If we have IBRS available, see whether we should use it. */
+    if ( has_spec_ctrl && ibrs )
+        default_xen_spec_ctrl |= SPEC_CTRL_IBRS;
+
     /* If we have SSBD available, see whether we should use it. */
     if ( boot_cpu_has(X86_FEATURE_SSBD) && opt_ssbd )
         default_xen_spec_ctrl |= SPEC_CTRL_SSBD;
@@ -1268,7 +1268,7 @@ void __init init_speculation_mitigations(void)
      * boot won't have any other code running in a position to mount an
      * attack.
      */
-    if ( boot_cpu_has(X86_FEATURE_IBRSB) )
+    if ( has_spec_ctrl )
     {
         bsp_delay_spec_ctrl = !cpu_has_hypervisor && default_xen_spec_ctrl;
 
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Fri Jan 28 14:12:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 14:12:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262039.454079 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDRzE-00063r-6Y; Fri, 28 Jan 2022 14:12:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262039.454079; Fri, 28 Jan 2022 14:12:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDRzE-00063k-36; Fri, 28 Jan 2022 14:12:24 +0000
Received: by outflank-mailman (input) for mailman id 262039;
 Fri, 28 Jan 2022 14:12: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 1nDRzC-00063a-Tf; Fri, 28 Jan 2022 14:12: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 1nDRzC-0006XV-QN; Fri, 28 Jan 2022 14:12: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 1nDRzC-0007b9-Ga; Fri, 28 Jan 2022 14:12:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nDRzC-0004XS-G5; Fri, 28 Jan 2022 14:12: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=mKZEoAdzNHBBuWtJRWFgl+XacLFyopqfNxsEGHRuwRs=; b=CmZyH9MNlLg7kk3am7kUSinoqv
	1x2xqjsHs0ZDuzbsPStQbuyqFHL1nrAU0lOiuqTZUyAju9Ob6OcTBeKpFfZh4wIMcwpUFX6iu1hXR
	KGYUi3/vTH4Spfo5TC4dw/T9Pa9iUi5nYj6mfr6Q0v1qPokZa7X2IbNP8/l2fthgU1ng=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167930-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 167930: 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-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=6abfe77f0b8d13b9208674330177532f61009b7e
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 28 Jan 2022 14:12:22 +0000

flight 167930 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167930/

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-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              6abfe77f0b8d13b9208674330177532f61009b7e
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  567 days
Failing since        151818  2020-07-11 04:18:52 Z  566 days  548 attempts
Testing same since   167930  2022-01-28 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>
  Ani Sinha <ani@anisinha.ca>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe Fergeau <cfergeau@redhat.com>
  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>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  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>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  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>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  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 Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas Lécureuil <neoclust@mageia.org>
  Nicolas Lécureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  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>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott 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>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  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>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Дамјан Георгиевски <gdamjan@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 95072 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 14:18:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 14:18:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262048.454089 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDS4p-0006ya-0g; Fri, 28 Jan 2022 14:18:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262048.454089; Fri, 28 Jan 2022 14:18:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDS4o-0006yT-TJ; Fri, 28 Jan 2022 14:18:10 +0000
Received: by outflank-mailman (input) for mailman id 262048;
 Fri, 28 Jan 2022 14:18:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PBCP=SM=epam.com=prvs=402709c4a7=oleksandr_andrushchenko@srs-se1.protection.inumbo.net>)
 id 1nDS4o-0006yL-1E
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 14:18:10 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1d2fd1dc-8045-11ec-8eb8-a37418f5ba1a;
 Fri, 28 Jan 2022 15:18:08 +0100 (CET)
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 ESMTP id 20SEDj6j007414;
 Fri, 28 Jan 2022 14:18:00 GMT
Received: from eur05-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2169.outbound.protection.outlook.com [104.47.17.169])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3dvj2hr1uc-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 28 Jan 2022 14:17:57 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com (2603:10a6:20b:153::17)
 by HE1PR0301MB2329.eurprd03.prod.outlook.com (2603:10a6:3:67::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Fri, 28 Jan
 2022 14:15:08 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6]) by AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6%3]) with mapi id 15.20.4930.018; Fri, 28 Jan 2022
 14: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: 1d2fd1dc-8045-11ec-8eb8-a37418f5ba1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mmwmrXBx01QJ8sdLW913TcGMJv+n49+7gxh8zxFFXmAcIv/WvLHghNtAbOvFh2Z8bchknKsbjix9eys2S4Zk6VZuEu3mPcEAgn95GoIYOr+9206ubsWSjymsUtBIrstnDQt381wXdPEmUlm5uXW3tfURh1h8IFqGVaTJtM7167nhfOGQSB4cwxlJmZCkUuidyae6asVUFcy+GoXcjt6prpLFDb7ou3gUuUGsjXAVSJ85pj7Zrww+Rqx/IyjWOIjALq2yNBqFnNM4JD40kBAj02JmwsdVHnJfwE0RPYFmnCFyl/mnYa6JOCKmmWnsz3Z0LKmjANBLYiAcAUgBarCR3w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jPF9nHunv7XD0KUnYJZA7t9DKxyrbKorhO9y6n1LCno=;
 b=EJ15lScqQRY2ldvb3Qu/OvSjloaSTsmC95q5FRr3ujk8/bZkElLSKYDejcYLm8voH53OKwRTj7QoZ6J2NDJ1n6F36/c0O7Uyn9tTfdYAvJFq/lYVq2Hify5iQwPSkxMrlAm/QmTm8LqA/HeuwB1QGA3O/w42Fn1BnnrcAif4e99caoIvBCA2G7Um7mk5CWpNKm9uU78BhiATNKB4EN5L5Hbxci/hQD4f1RBdPzBaHfsJCa+fo04E+AhariUyHDsQMHboGfopEa1EFk7YB4iccKjunLrDIJGec76RTXiTb2wJQUsGtz018FhAvi/EZMohYmWkfNBOG7J8KTScK9k7rw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jPF9nHunv7XD0KUnYJZA7t9DKxyrbKorhO9y6n1LCno=;
 b=ioBxxfoRHYXmpd47+bDHwRstqn/86UYD3k/4fwVo6zAV2OmqiRs/b1/i6buLwpvPYjC69MQJ3npbLFsCxXFs/VHXiP0jZuZBtlEVLBW5cSjryIPgsXizUFs6Wt2uoO/Pfp4NX9Qx0ZCkOmHxt1KOkieQpBbKm+TbX8JOqCf5STOvj2XAy9MGuhoL10GbHdmBY+onRzPjB/CanyVmLz/a4UiULgNXM7/9MqUVfswZXxmBAFxBTeq3ESiHlFYZtpsge0Jq6zgUB1Qo4eWR7k/q8n7eDW0crKxl1EUB1yOT+axKehdDiOtyZe5wC1ehmjmUMWP+U5D4jwqrDmvk3imEtQ==
From: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
To: =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>,
        Jan Beulich
	<jbeulich@suse.com>
CC: "julien@xen.org" <julien@xen.org>,
        "sstabellini@kernel.org"
	<sstabellini@kernel.org>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Artem Mygaiev <Artem_Mygaiev@epam.com>,
        "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
        "george.dunlap@citrix.com" <george.dunlap@citrix.com>,
        "paul@xen.org"
	<paul@xen.org>,
        Bertrand Marquis <bertrand.marquis@arm.com>,
        Rahul Singh
	<rahul.singh@arm.com>,
        "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>,
        Oleksandr Andrushchenko
	<Oleksandr_Andrushchenko@epam.com>
Subject: Re: [PATCH v5 03/14] vpci: move lock outside of struct vpci
Thread-Topic: [PATCH v5 03/14] vpci: move lock outside of struct vpci
Thread-Index: AQHX4ewHDku9OOCAtECwEMPLB4JkU6xfxaAAgAAMrQCAAALDgIABHnKAgBfrjIA=
Date: Fri, 28 Jan 2022 14:15:08 +0000
Message-ID: <c937d26a-5357-1ced-ee6a-ef713a3c5964@epam.com>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-4-andr2000@gmail.com>
 <c7a9020a-9713-47b6-45bf-5ac2c6d4157c@suse.com>
 <Yd73Aq4w2H1Eo01h@Air-de-Roger>
 <4fb1d547-6f6d-c4e8-b2ef-0dea780dd66d@suse.com>
 <Yd/pnYDBwsdyLrPN@Air-de-Roger>
In-Reply-To: <Yd/pnYDBwsdyLrPN@Air-de-Roger>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 3efb7ea2-884b-45e1-8a13-08d9e26896ba
x-ms-traffictypediagnostic: HE1PR0301MB2329:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <HE1PR0301MB2329648A3F7BA8C0654FA3CDE7229@HE1PR0301MB2329.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: 
 1YVaGIy7cYlZD8CduClYfteS9V3LQPB240aaGtOKXTOEDTRJKWUAFv6NswfaXLXyoCI2Tm8b3RMZTvulhjPjqlNYRk4sZT1ez9Zswps/rW+Y41IuOrUylM9QK3Dvy6Z2osukUvtbFlSWChbh0xIpSPtZWR8zwkpetR1awjqaSTJgZg/SuYYV5j1LY02uRF77vPqUTSe14AafDEtuzcR8cjPkLTsGOCbEeub88DB0R46gVWrk7wtQ9vFBFPay7gNJypaApCJtZLWDqnqthj2YAt406DfYfAg8azwZao1GcNLiKguD4V2XNQLf788Hba7l8hXft3DNGpNJ1tTzpFIHYPUL3D5FOxlwkvPbNbJ4bXtEe1rD6TfoE05VbY+H2H0jFGNIxez4CnYjISb0btYD9qIkrUePObBm/teczUkUbhbBZOXOFoZ8tj7otLvnvS5v48xxqXeeNzLxvYN90YdkN9eXv3x5JODyNUxC2LBKhXsO/mn5j1HVMbSqWJxo/JsSzmqjqcWd2xQeK2rQnhREaj6RESfcAH3IBOkscZbeuHeGqABA15Jq04BliNgUJAOGrfIbL8EgXmQ3SPLYXI6c5Otka1BLBfjgVtU7Q86CZEAQlsu70xeymBcIeYulTxUdLrc8tvUEx20G/xIt8e/dIcolEwldUdkl13k00ubAsDBQ3yegE6FtJPCm3r5oFDh23zhDT6a7fMZ1Nz4BIbYb2ZGqhdZnczVyWSsefg7iHbIndZ72P0HX5Jzw8l+QMf7E
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:(13230001)(4636009)(366004)(83380400001)(110136005)(26005)(6486002)(54906003)(508600001)(2616005)(71200400001)(316002)(186003)(36756003)(31686004)(91956017)(66446008)(64756008)(66556008)(66946007)(66476007)(76116006)(53546011)(8676002)(31696002)(7416002)(122000001)(6512007)(4326008)(38070700005)(6506007)(8936002)(38100700002)(107886003)(5660300002)(86362001)(2906002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?eGxVVGg0MW5EWjRtRkZsYlBsdXdwOHpHMDNydC9pbDlpOU5WQjMzckpVSUIr?=
 =?utf-8?B?UWRrQVFUSjhoTGFtbGJaT2hYcmgwRU01NFJCMWQ3THREemZ2L0lQVVJYclNa?=
 =?utf-8?B?YUFyb1A3RzIwTjBtNmpGWUZ0Z3g3YUVXMGVUdUdoQlVGVkR4dWVGVHVmUnhY?=
 =?utf-8?B?VkNtMlJzQ3pzN0k4Y3NNNTd1RGh4NXAzc2J6cTNNblhQT2FGVENtbkJ2SmVz?=
 =?utf-8?B?Y0xDS1VNMEQzT3NpNFFkZEo2VXhiOUVlL1VGbmREMStFN2E0L3A1b3k2QkFO?=
 =?utf-8?B?SHRwRWRUWW5IVVRHalNHMnl6ZjdNdXBoSDdGeXF5djNqUm1GaHp1RkJ4bklV?=
 =?utf-8?B?OXQrMTlxdkdkbm80dndqaUc5cmgySVZhMHJDRVByYnZvUm1RblduWTQ1Yjlp?=
 =?utf-8?B?dGsrL2x4M3ArWEdaRE04b2R1ZzUweWRSc1MvNkh3SU4wclZHR3hxOUpOMmY5?=
 =?utf-8?B?L3NPVU5YalF2a0ZqYVBsUW1nT3BCN3N3Y25kVFppVlhPMU9RMmdOSi9jdjRM?=
 =?utf-8?B?NXp5YXl0SGFVbERpUTlZTGJReFFrUFZ1SFBUVmRMOTVLSEdYYUJvcUE5TGFt?=
 =?utf-8?B?Wkp2VnI4TjZKOUV0bDJCR2V6Y25ZaWNoYmNjOGJsbWY0ZHFMNysvTjZ3ejR2?=
 =?utf-8?B?VldlcExwcWNtK3p0OHRaY29qcHJWMUh4UUMvN0xrS0daNE04NnJKM1cwQ24w?=
 =?utf-8?B?NXlkOGdTOGlsMTVsV05NOFlqamVnNzc1ZzhXSitpOVc1TllXWngzSmwzUHNP?=
 =?utf-8?B?TzFPVzd2VzBFeFZLd0NXSjE1M0hrWDRIUXJWZnl1Zm82NkdDRVdJUGlxclVm?=
 =?utf-8?B?eVdTOExLVzc4RjY4UTRVVWNRMEc3Nm92dW9GRFhtMlZabWowYXpFSWY4bkph?=
 =?utf-8?B?VEhseFBXQTkwMEVNYkpiUWlEZTNibUs2Y0pVNE83WEdmaDZsWTlrbEVGQS9z?=
 =?utf-8?B?cGlZMzljVGtBbktOZi8yMWV1Vi82Rnp1TXJOMHNyOVp6L1JWd0h1U3krTEda?=
 =?utf-8?B?T3RDUFdseDhkUThUY1lYVFVCeTREZEtENjYvOVlnRFFkOVpOKzVoZFZhMFl2?=
 =?utf-8?B?NVdIQXA5SGMyWmVrVThMeUdXcEZmc0NucFpmSkx6T0s4TlRCYWdrRXlhemxo?=
 =?utf-8?B?RStzRkJIYmFzbEE1M1pZd2RmajUzR3Z2cHhzd1ZuMmpiNVp5YkYydWdxYitG?=
 =?utf-8?B?OXQ2aTNOL2JoU0ZzY05RTzNjdnlZQ2hBbzZrTnh4WTJ5RHRNVWhoN0crNnRQ?=
 =?utf-8?B?VkdCbi92M3R2N2pCeDJBb0tjYzEvSC9KZ3FPRWM0V29Kd3YwZlR1SDUxVnhM?=
 =?utf-8?B?bG9CNFBKVGZ6TFl1K2NrRFA4YXBxdko2WFNJYyt5R1JpcmJkY0pzV2JoZUsw?=
 =?utf-8?B?V2kxR3N5RVdsTlpXMU1qcjRISUlpa0U1amRyRW9NVHRKOWpndEc0eGpyY1JB?=
 =?utf-8?B?RmRiL04weCtxbng4MWVWOGN2Y2NmWlJ6em1Ya2NZQk9Ic1dpOVFkNzRZbkhp?=
 =?utf-8?B?dEV6bHd1MlM2MzRBc2ROelBaRWZWeW5KRXpwSndka1AxVEdVZU5GWWxVQkUx?=
 =?utf-8?B?bkEreE5UU1dtU2REK0VsVFNVemQ1c0ZxWW44dTNOdWpVcVFtdE1XWSszZnNV?=
 =?utf-8?B?b00vMEZoeUZPSXZPdEpDcWFDYVRUZklZZVlGbDN4V0VoMWpjbzh4OE90RENI?=
 =?utf-8?B?NTV3VVVsNk00bnpmNitoTkJ4bnozaEU3OStLallSdG1mdCs2UFFjS1ZxM2J6?=
 =?utf-8?B?eVJ1b0lKbHJsUUpFM212VVhmZFBPRmhqTDZSNU5OTjdoRENpUUFhQ21LbzdJ?=
 =?utf-8?B?em1LUng4L0g5dERmN3JNM0FrM0tRNjdzNlpMQ2czRzQ0Zi93WU9DL2dXVGxJ?=
 =?utf-8?B?aUtrLysxVCtidGM0aWRzc055RmhzN1M0MkhZQjJVREZKdWwyVHB4emVjT1dY?=
 =?utf-8?B?dDNRZ3puc28yYnpJb2dkZnd2akh6b3EvMHVPelhtb2FVc0pvTGpxdGt0UW93?=
 =?utf-8?B?QkdYQ1dhbnhjRkJHNWZMSWM0VjV6ci9EWFhkNjdlZzgvTmJ4UU5Qb2RoVkhy?=
 =?utf-8?B?MWJWakFXS2duUlE5NkJqR0NCYVdFTmVRNVhXWk1EdUl6cS84OEM1QzR6VU9O?=
 =?utf-8?B?NFVDa3NMeW0wZFBLdTIwSDRaSHRkZWE0UGhlamVxSlBZTHg3emppMktkaFdX?=
 =?utf-8?B?S1E3Snh3ZlYyRmxYR3g5czYvdUNYNndFZW8xOE01OC9FeHlFVGV5dDJudi9k?=
 =?utf-8?B?Y0JGb2hiTW40L0VEYk52UWVWT3F3TFhRZkF5TVBiS1BJdCtvT1ExK1dRWUZh?=
 =?utf-8?B?RWZrcFF4REt0OVZPSkM0QlJMcW1MOXJwL1VtS0U3U3RPeXQzZGxwZz09?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <B1A519863B36EC44956C70B814A719DC@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: 3efb7ea2-884b-45e1-8a13-08d9e26896ba
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Jan 2022 14:15:08.2138
 (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: BTcs3eqSyRlwanxB7SSJMrjfREs/W/b+ZI4U5igkEFt3YoOlVzOQbq447aTx474yMeTFCkb9xtNtvsr4MWZjaLNhaTwP0Zv447bn1LyGRqxSdwzlxfhjASgoTAXi0xGH
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0301MB2329
X-Proofpoint-ORIG-GUID: EzYFDjtgVCSd_wTbWYyAw9aK9oDy6QKT
X-Proofpoint-GUID: EzYFDjtgVCSd_wTbWYyAw9aK9oDy6QKT
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-28_04,2022-01-28_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 spamscore=0
 priorityscore=1501 lowpriorityscore=0 bulkscore=0 suspectscore=0
 phishscore=0 mlxlogscore=999 malwarescore=0 impostorscore=0 clxscore=1015
 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2201110000 definitions=main-2201280091

SGksIFJvZ2VyLCBKYW4hDQoNCk9uIDEzLjAxLjIyIDEwOjU4LCBSb2dlciBQYXUgTW9ubsOpIHdy
b3RlOg0KPiBPbiBXZWQsIEphbiAxMiwgMjAyMiBhdCAwNDo1Mjo1MVBNICswMTAwLCBKYW4gQmV1
bGljaCB3cm90ZToNCj4+IE9uIDEyLjAxLjIwMjIgMTY6NDIsIFJvZ2VyIFBhdSBNb25uw6kgd3Jv
dGU6DQo+Pj4gT24gV2VkLCBKYW4gMTIsIDIwMjIgYXQgMDM6NTc6MzZQTSArMDEwMCwgSmFuIEJl
dWxpY2ggd3JvdGU6DQo+Pj4+IE9uIDI1LjExLjIwMjEgMTI6MDIsIE9sZWtzYW5kciBBbmRydXNo
Y2hlbmtvIHdyb3RlOg0KPj4+Pj4gQEAgLTM3OSw3ICszOTYsNiBAQCB1aW50MzJfdCB2cGNpX3Jl
YWQocGNpX3NiZGZfdCBzYmRmLCB1bnNpZ25lZCBpbnQgcmVnLCB1bnNpZ25lZCBpbnQgc2l6ZSkN
Cj4+Pj4+ICAgDQo+Pj4+PiAgICAgICAgICAgZGF0YSA9IG1lcmdlX3Jlc3VsdChkYXRhLCB0bXBf
ZGF0YSwgc2l6ZSAtIGRhdGFfb2Zmc2V0LCBkYXRhX29mZnNldCk7DQo+Pj4+PiAgICAgICB9DQo+
Pj4+PiAtICAgIHNwaW5fdW5sb2NrKCZwZGV2LT52cGNpLT5sb2NrKTsNCj4+Pj4+ICAgDQo+Pj4+
PiAgICAgICByZXR1cm4gZGF0YSAmICgweGZmZmZmZmZmID4+ICgzMiAtIDggKiBzaXplKSk7DQo+
Pj4+PiAgIH0NCj4+Pj4gSGVyZSBhbmQgLi4uDQo+Pj4+DQo+Pj4+PiBAQCAtNDc1LDEzICs0OTgs
MTIgQEAgdm9pZCB2cGNpX3dyaXRlKHBjaV9zYmRmX3Qgc2JkZiwgdW5zaWduZWQgaW50IHJlZywg
dW5zaWduZWQgaW50IHNpemUsDQo+Pj4+PiAgICAgICAgICAgICAgIGJyZWFrOw0KPj4+Pj4gICAg
ICAgICAgIEFTU0VSVChkYXRhX29mZnNldCA8IHNpemUpOw0KPj4+Pj4gICAgICAgfQ0KPj4+Pj4g
KyAgICBzcGluX3VubG9jaygmcGRldi0+dnBjaV9sb2NrKTsNCj4+Pj4+ICAgDQo+Pj4+PiAgICAg
ICBpZiAoIGRhdGFfb2Zmc2V0IDwgc2l6ZSApDQo+Pj4+PiAgICAgICAgICAgLyogVGFpbGluZyBn
YXAsIHdyaXRlIHRoZSByZW1haW5pbmcuICovDQo+Pj4+PiAgICAgICAgICAgdnBjaV93cml0ZV9o
dyhzYmRmLCByZWcgKyBkYXRhX29mZnNldCwgc2l6ZSAtIGRhdGFfb2Zmc2V0LA0KPj4+Pj4gICAg
ICAgICAgICAgICAgICAgICAgICAgZGF0YSA+PiAoZGF0YV9vZmZzZXQgKiA4KSk7DQo+Pj4+PiAt
DQo+Pj4+PiAtICAgIHNwaW5fdW5sb2NrKCZwZGV2LT52cGNpLT5sb2NrKTsNCj4+Pj4+ICAgfQ0K
Pj4+PiAuLi4gZXZlbiBtb3JlIHNvIGhlcmUgSSdtIG5vdCBzdXJlIG9mIHRoZSBjb3JyZWN0bmVz
cyBvZiB0aGUgbW92aW5nDQo+Pj4+IHlvdSBkbzogV2hpbGUgcGRldi0+dnBjaSBpbmRlZWQgZG9l
c24ndCBnZXQgYWNjZXNzZWQsIEkgd29uZGVyDQo+Pj4+IHdoZXRoZXIgdGhlcmUgd2Fzbid0IGFu
IGludGVudGlvbiB0byBhdm9pZCByYWNpbmcgY2FsbHMgdG8NCj4+Pj4gdnBjaV97cmVhZCx3cml0
ZX1faHcoKSB0aGlzIHdheS4gSW4gYW55IGV2ZW50IEkgdGhpbmsgc3VjaCBtb3ZlbWVudA0KPj4+
PiB3b3VsZCBuZWVkIGp1c3RpZmljYXRpb24gaW4gdGhlIGRlc2NyaXB0aW9uLg0KPj4+IEkgYWdy
ZWUgYWJvdXQgdGhlIG5lZWQgZm9yIGp1c3RpZmljYXRpb24gaW4gdGhlIGNvbW1pdCBtZXNzYWdl
LCBvcg0KPj4+IGV2ZW4gYmV0dGVyIHRoaXMgYmVpbmcgc3BsaXQgaW50byBhIHByZS1wYXRjaCwg
YXMgaXQncyBub3QgcmVsYXRlZCB0bw0KPj4+IHRoZSBsb2NrIHN3aXRjaGluZyBkb25lIGhlcmUu
DQo+Pj4NCj4+PiBJIGRvIHRoaW5rIHRoaXMgaXMgZmluZSBob3dldmVyLCBhcyByYWNpbmcgY2Fs
bHMgdG8NCj4+PiB2cGNpX3tyZWFkLHdyaXRlfV9odygpIHNob3VsZG4ndCBiZSBhIHByb2JsZW0u
IFRob3NlIGFyZSBqdXN0IHdyYXBwZXJzDQo+Pj4gYXJvdW5kIHBjaV9jb25mX3tyZWFkLHdyaXRl
fSBmdW5jdGlvbnMsIGFuZCB0aGUgcmVxdWlyZWQgbG9ja2luZyAoaW4NCj4+PiBjYXNlIG9mIHVz
aW5nIHRoZSBJTyBwb3J0cykgaXMgYWxyZWFkeSB0YWtlbiBjYXJlIGluDQo+Pj4gcGNpX2NvbmZf
e3JlYWQsd3JpdGV9Lg0KPj4gSU9XIHlvdSBjb25zaWRlciBpdCBhY2NlcHRhYmxlIGZvciBhIGd1
ZXN0IChyZWFsbHk6IERvbTApIHJlYWQgcmFjaW5nDQo+PiBhIHdyaXRlIHRvIHJlYWQgYmFjayBv
bmx5IHBhcnQgb2Ygd2hhdCB3YXMgd3JpdHRlbiAoc28gZmFyKT8gSSB3b3VsZA0KPj4gdGhpbmsg
aW5kaXZpZHVhbCBtdWx0aS1ieXRlIHJlYWRzIGFuZCB3cml0ZXMgc2hvdWxkIGFwcGVhciBhdG9t
aWMgdG8NCj4+IHRoZSBndWVzdC4NCj4gV2Ugc3BsaXQgNjRiaXQgd3JpdGVzIGludG8gdHdvIDMy
Yml0IG9uZXMgd2l0aG91dCB0YWtpbmcgdGhlIGxvY2sgZm9yDQo+IHRoZSB3aG9sZSBkdXJhdGlv
biBvZiB0aGUgYWNjZXNzLCBzbyBpdCdzIGFscmVhZHkgcG9zc2libGUgdG8gc2VlIGENCj4gcGFy
dGlhbGx5IHVwZGF0ZWQgc3RhdGUgYXMgYSByZXN1bHQgb2YgYSA2NGJpdCB3cml0ZS4NCj4NCj4g
SSdtIGdvaW5nIG92ZXIgdGhlIFBDSShlKSBzcGVjIGJ1dCBJIGRvbid0IHNlZW0gdG8gZmluZCBh
bnl0aGluZyBhYm91dA0KPiB3aGV0aGVyIHRoZSBFQ0FNIGlzIGFsbG93ZWQgdG8gc3BsaXQgbWVt
b3J5IHRyYW5zYWN0aW9ucyBpbnRvIG11bHRpcGxlDQo+IENvbmZpZ3VyYXRpb24gUmVxdWVzdHMs
IGFuZCB3aGV0aGVyIHRob3NlIGNvdWxkIHRoZW4gaW50ZXJsZWF2ZSB3aXRoDQo+IHJlcXVlc3Rz
IGZyb20gYSBkaWZmZXJlbnQgQ1BVLg0KU28sIHdpdGggdGhlIGFib3ZlIGlzIGl0IHN0aWxsIGZp
bmUgZm9yIHlvdSB0byBoYXZlIHRoZSBjaGFuZ2UgYXMgaXMgb3INCnlvdSB3YW50IHRoaXMgb3B0
aW1pemF0aW9uIHRvIGdvIGludG8gYSBkZWRpY2F0ZWQgcGF0Y2ggYmVmb3JlIHRoaXMgb25lPw0K
Pg0KPiBUaGFua3MsIFJvZ2VyLg0KVGhhbmsgeW91LA0KT2xla3NhbmRy


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 14:18:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 14:18:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262049.454101 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDS58-0007Pj-9O; Fri, 28 Jan 2022 14:18:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262049.454101; Fri, 28 Jan 2022 14:18: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 1nDS58-0007Pc-5u; Fri, 28 Jan 2022 14:18:30 +0000
Received: by outflank-mailman (input) for mailman id 262049;
 Fri, 28 Jan 2022 14:18:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PBCP=SM=epam.com=prvs=402709c4a7=oleksandr_andrushchenko@srs-se1.protection.inumbo.net>)
 id 1nDS56-0006yL-FW
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 14:18:28 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2890107e-8045-11ec-8eb8-a37418f5ba1a;
 Fri, 28 Jan 2022 15:18:27 +0100 (CET)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20SDJJYI023519;
 Fri, 28 Jan 2022 14:18:20 GMT
Received: from eur03-ve1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2052.outbound.protection.outlook.com [104.47.9.52])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3dvh8vrccc-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 28 Jan 2022 14:18:18 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com (2603:10a6:20b:153::17)
 by HE1PR0301MB2329.eurprd03.prod.outlook.com (2603:10a6:3:67::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Fri, 28 Jan
 2022 14:12:08 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6]) by AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6%3]) with mapi id 15.20.4930.018; Fri, 28 Jan 2022
 14:12:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2890107e-8045-11ec-8eb8-a37418f5ba1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Jjl5UZckXq7+qdwXVXjN1m2AZu/axoIWsjo1DWBcIe0EacJfE0VcwY5IUJswsGe/pHMaLv1ZMlrWAISTTmVj2NwTmZMi4T89aCf6byGgtB0VVmAV0MzhFc0M+ILTMXrhvirDyjXRL2EQL3Cmsu+0LcjE3Dfgmd9Zj3ELGnWRW+cOWGuqYX070uA7ht+WzKb3xuxCrLCV5Gr+b683QaLxS7+rX8MrWWY7eMVpBKMS1LcxSW1vDZCAd4sqgWvpATAuPcAzIXHDaRFM9xK/y1odPAwgCzxGmWOgF4v0oJ/YtyfHCtucm3TPV26JlWUpDGalF1u2gUfODgbmDjBmlIi3Gg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QzaPvcETCUqZudaltAgvsQI3tavWt45MaUpynIDhhp0=;
 b=hOtZBqlQ8Ed2sFu1jgOGqSBPimU8i+bQrau6BgidxR8t31wl24gsG0rKtPV/xPOH9+L9OkiVfmq0BBfg2ZDNEtbtK/roo7s/sViwGmdAe2DoU0NMqXTyozvGD+IIpXzHOKkb8DBDr293L4lHEKNAnXIVr7b+esGvzFHzMsaFpW8/BdWIdAHQ3GvOuqk03IGnc6yT/Sz+a0eeHbm6iEhx5JCsBWIwwgjQYmS2uHkTjmMejo56L40vC+Al8E8IMNOpQgm17y6dsQsBxgSvINnsPNH0O495lTqHHJsDj/VF/jX6ca9TyGGVNRIQxgtd7SB5TThPVWC38GRkILwyswZG8g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QzaPvcETCUqZudaltAgvsQI3tavWt45MaUpynIDhhp0=;
 b=MKvmsBl06JBdAG8wOwWfwQVchdIZDaOn7z4QUaqImaqb0VWHVas7DyQb9H5J2IHOXl3U5TPjiQS9vQeIyrNZRZH/y8qw8dopfcgHngqBmGDsfPa7R8/Mw5LRwl+bLkjpBq+5cYlDqz+vPTaAUSgfLGIFHjb/q/DX7nepj6sVfWlNJvHgnHsAMnMda18NDQPz11AYscSith0acHrYUzyKDvsyOjsRbEHJRkndK2C68J82JLg7bh3qishtcXIhIXdmOrszaHGxb9JGrvTInLo9EwQV98F0nGehZH9xG9VLlG7ZoS1H4896T4gBZFg2ACGqW6OO7+PI5pa9i+fbhtmkwg==
From: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "julien@xen.org" <julien@xen.org>,
        "sstabellini@kernel.org"
	<sstabellini@kernel.org>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Artem Mygaiev <Artem_Mygaiev@epam.com>,
        "roger.pau@citrix.com" <roger.pau@citrix.com>,
        "andrew.cooper3@citrix.com"
	<andrew.cooper3@citrix.com>,
        "george.dunlap@citrix.com"
	<george.dunlap@citrix.com>,
        "paul@xen.org" <paul@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Rahul Singh <rahul.singh@arm.com>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        Oleksandr
 Andrushchenko <Oleksandr_Andrushchenko@epam.com>
Subject: Re: [PATCH v5 03/14] vpci: move lock outside of struct vpci
Thread-Topic: [PATCH v5 03/14] vpci: move lock outside of struct vpci
Thread-Index: AQHX4ewHDku9OOCAtECwEMPLB4JkU6xfxaAAgBkYmIA=
Date: Fri, 28 Jan 2022 14:12:08 +0000
Message-ID: <c1d09f26-d329-fca9-a363-2d8a6e182233@epam.com>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-4-andr2000@gmail.com>
 <c7a9020a-9713-47b6-45bf-5ac2c6d4157c@suse.com>
In-Reply-To: <c7a9020a-9713-47b6-45bf-5ac2c6d4157c@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 25f9d8ec-9fbe-436c-88bb-08d9e2682b81
x-ms-traffictypediagnostic: HE1PR0301MB2329:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <HE1PR0301MB23291D43031387516744C39EE7229@HE1PR0301MB2329.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: 
 hWimzWH4/EZ1+swKjeEzGax6ynR0a1Cxf4hNTaGX6DqxOE5ETycEyHPsOis+cse1WxQps8SqtI8WbNwhIc5Isz6RnGg9le6OvvIvTLDFq5OUdFaRp+DnoN3tXHwTDr+np/z67uDK2QyjLeiSLwyfgA6WzxFBTWG3b7Mr6uHGqP9WaLCNhqqcwVxQ4Sn62P+L1Vj6qCnYVQHytlEoszr/cvYRU4+LrNztgaYDItHchIT1E/SyJTuy/cRAfZtgFkmb5vB2GvHreWG4pE/TtdeZZ1RTCLib7COlO3Kiet6lsxWyfqlUQZg7BzGK3k/J9Oa9XFQP0xTb3qlRvLJZMx94awxqKpUEX1kBoKaOlzlY12rJuGrjK9DJnkja/aO1++tWmh2F7HJjYmOuGztQwWL91riG5hv/bxUo9AXqxZgvbgrRdxisgS7MGZYwbHaHbAqPHqx4LqwMFKQ8tSsquiFPNUYLiY9Z2JtISwq/0rxDQL7uZzEzaWqxKzkYMZe6XCzj5fL+RWWf7XxDi+BJVXceuLJAPRmEVa2gfVz/PxpSHRrKwWc5/GGvkPyz2Cr5i2mfmlUep20vSrJk/7c9U90emi0eurq9Q6l451OD1K2dsFdm+FngqhOlP8NvxO52b+RtGaPgYfeCd7r0BO1ca5nj7dMYXSZxxiO3q7S6oz/vbpMrLQ4GDp+04KdLRsV+Q1hOLLOqjneIJfhLDMqlB7L2adnm6CMTQ/fFXh+d1Ii/YnBbZdGT9+YD8rIpZp4WIDtM
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:(13230001)(4636009)(366004)(6512007)(7416002)(122000001)(8936002)(4326008)(38070700005)(6506007)(66556008)(66946007)(66476007)(76116006)(64756008)(66446008)(53546011)(8676002)(31696002)(86362001)(2906002)(5660300002)(107886003)(38100700002)(83380400001)(54906003)(6486002)(26005)(91956017)(508600001)(6916009)(2616005)(71200400001)(316002)(36756003)(31686004)(186003)(45980500001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?cmpMTzJKMUJGRmxtaHVQc3k2aHA3cDFXNE12bHI2aVI1VWdaVTdNb3hNcTho?=
 =?utf-8?B?WWE2RzV3ZC9iaENYVjNOdXc2YU90Q3ZrbXY1SkN3UFVMbkI1VmgzRVNELzZR?=
 =?utf-8?B?Tm8waEJQV3F1SmxlSldiTWZ1dUNGeDFhVTBSdjAwdmNrRmR3WkZtT1Y2emla?=
 =?utf-8?B?cGZENXR3REZBcDJaYlFneEFnT2pSak56TGNPSlN1dTBXcHp4ajBRR245VlFL?=
 =?utf-8?B?Z1IralEyR0hyc0RhK3lHTVZ1ZURkTzFRWlo5aXhNcVc2OVdpUXptbUk4amoy?=
 =?utf-8?B?eHV1ZmdjbnFsR3hhT0J6Kzd5c1JHNytPSmFJckFGL3czVG9oaGlQeDhLc2dQ?=
 =?utf-8?B?Z0FZcFk2WldtMVgraUo2M05HWVhvY3FxV1l2TDhCdm8xRWZpMXB6T21Hbzc2?=
 =?utf-8?B?dERtYzVRbEY5Vm5odDE3TFBNanhiWmZpS2ZRQWt1WVFIUEI2b0xabjdrd1lM?=
 =?utf-8?B?L3M2QVBWTjF3cDJtMUdQWTQzdzgrdmR2dHFTdnJTdGpuOW0yTWJPZXRaZm1S?=
 =?utf-8?B?OFBBVGFnN3ViYldMTEowVXlvYUVqWmVjYVBlQ1pZWEcxNXY1Yk50VlVXdnlX?=
 =?utf-8?B?K2R4UklYVmRKT2svMWFkb21rV2JieXJBREsxdjYvbUFSaUhvY09DeW5UTmkw?=
 =?utf-8?B?M1JtRExsbUI0QndFTlZlWkZtSGF4NldKa2RaUWFCbmpwR3RnVFUrV1hKcnNk?=
 =?utf-8?B?eTh5MjJSWWQvNUtOWU1EenZJWFNINjhFcXFCMjFiT3Q4TjFxNW0yZVg2SEpI?=
 =?utf-8?B?S1pQaENKWWh5akVJZzhKQ0g4NGdEMVE4bm5wOE4yY3V1bkcva1RaSy9yZWN6?=
 =?utf-8?B?NS9EWVFNQ2FidlVYbUNjZ3VjM0pzRzVQUzUrRTkxT09lRDF6WVJ4RUhVTVdO?=
 =?utf-8?B?R2pPQXp2c0t2RmZIU1lyT1NVbHhocWpES3N4NCtpTzNveFpYL0NrYmkvMDZJ?=
 =?utf-8?B?cDVXaXJJVitnVnVZRDZkc3NwY2tka2kyUXNGaXQwUmhlWEc2OFpEV3htNTdN?=
 =?utf-8?B?OGpNVmFlUFpRd09PTW1RaFIxWU9Ob1gwSnhvanE4L3EyMTZld1BuSU1Eampt?=
 =?utf-8?B?dk9kaVg0R2JSbkY5MVMyRGE1R0JmT0E4WXZXeVptUkRQZmRrZFVZZFEraEhr?=
 =?utf-8?B?MWd6alI0OHY3VkFEQ2RFbXd6U0I0aTBYdHgzWEtWbWd4Z29naGQxMDNVRHVI?=
 =?utf-8?B?b3pPc2pSQ251c3RENmIxUXJPUGMzdjAxbllVaC9oVVZHZUhacnNCUW5PNm9L?=
 =?utf-8?B?WlVMVG01dk9NV0phbi9pYWZCT0lpQzNQRVlvMWhyRENnb3VkYmMyWERyNXNT?=
 =?utf-8?B?S2hLRmVHSE9Hd3hrV0c1cjYzWDMwRmVDT1lTeEFqUSs5UkU3aVphRXlUNGxi?=
 =?utf-8?B?YmduQ1R0OHVFZlYzTzdZaGdidjNCeklPRjJ4VGxXejlyRzNGaE1WcmR5VFVC?=
 =?utf-8?B?anNPbFkzMDhPN1lsV0FzOFVROHg2V0tSdGJkeGk4YXFUcUU5U25kdHdYZDRJ?=
 =?utf-8?B?TU9JOGxESndkTVB5SEFKS2tZSm03T2dmTVpNV1BYVWZoS0I2MjBCQlplZUFG?=
 =?utf-8?B?NzFsUVl2ekVFbVRyY1FseXp3SzhwM0NLdHluNHFsdXpVOEhxeEtpVlV6MlRK?=
 =?utf-8?B?WDhaclhxQkxzb0drVDlPRzRjVmNBeVd2ZWYwS2tUcmpabDBHbnIwZGw2bUxk?=
 =?utf-8?B?RzZ0b2JzbE96MjE3bnZTeHVvSG9vbmNsMnJocFZaNUpSUjV4eFBVbUkxYWxZ?=
 =?utf-8?B?d05wd2dmV2xiUURoNTZlM3dnYzBFOFd2aEhLdXcrTU1OOVB0Y2ZuTXdDMEho?=
 =?utf-8?B?K2tFS3JvM2d6cjMvOU05MjZVVWttZTZBQVdTYkg2WmNNTDVQdU0xeVBSVmlC?=
 =?utf-8?B?NFMxYlZPYmp4eEFPOGtqcElhQ0oxR0FiMk1UYVYyUVAvMmJrYkxjTkNtUTZK?=
 =?utf-8?B?L1ZncTRLcEhJRDdidFdIUVdFM21Rd3BsTWFDTkNneHdMck1iSTRCSmVVVTB2?=
 =?utf-8?B?N2IrNC9ZUCsrUTRXVWhnQ3hIemxydld0VjU0Zkc4dlFiSk5uRTIzTWZGQnp6?=
 =?utf-8?B?UXdLQ0dvQ3ZHRWNjU3FJOVdmcmlVbUlLL3NvUWd0cUhDeDNuVks3Vk5jbnVV?=
 =?utf-8?B?SWpRMWd4TFM1WHN2OFRDVzhEYzh1OTlodWtWaituSWxFL3FZM3BXdk1DMnYz?=
 =?utf-8?B?Q2I5Yi9DRXdRa0VVV09FRXE4aWdWYTJZVEIzSEZrYllrV1RUblkvakFUa05z?=
 =?utf-8?B?ampsR1BqWnFmcGkrZWVzd1Y3Um1OT1BVZ0ZKUWNrWTRacldIcEJ5czNoVjhE?=
 =?utf-8?B?TEpXelZ6OU1xSDcrM0JEOFl1NFozYnhOcUc5Q2w0TjJsQzdialZTUT09?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <F9313B4D16E93F4AAAF96225859748CE@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: 25f9d8ec-9fbe-436c-88bb-08d9e2682b81
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Jan 2022 14:12:08.3396
 (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: vkL0oyWtPT9b6UkPvYc0iHJn4yeSsSZaJRNrqOKotQX7Mqa9duzxKeIhs6EailzHU5SbhFlWH4P5WcWrflqURV20qx7y0aLf5Yni4xpcG2Tz4+6U9Z/tPnXfBdvKxUvi
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0301MB2329
X-Proofpoint-ORIG-GUID: I9-J-CZSyLCOcZ5a_KmRxqKkM1E2TGHC
X-Proofpoint-GUID: I9-J-CZSyLCOcZ5a_KmRxqKkM1E2TGHC
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-28_04,2022-01-27_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0
 lowpriorityscore=0 impostorscore=0 malwarescore=0 phishscore=0
 priorityscore=1501 mlxlogscore=852 adultscore=0 spamscore=0 clxscore=1015
 mlxscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2201110000 definitions=main-2201280091

SGksIEphbiENCg0KT24gMTIuMDEuMjIgMTY6NTcsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAy
NS4xMS4yMDIxIDEyOjAyLCBPbGVrc2FuZHIgQW5kcnVzaGNoZW5rbyB3cm90ZToNCj4+IEBAIC02
OCwxMiArODQsMTMgQEAgaW50IHZwY2lfYWRkX2hhbmRsZXJzKHN0cnVjdCBwY2lfZGV2ICpwZGV2
KQ0KPj4gICAgICAgLyogV2Ugc2hvdWxkIG5vdCBnZXQgaGVyZSB0d2ljZSBmb3IgdGhlIHNhbWUg
ZGV2aWNlLiAqLw0KPj4gICAgICAgQVNTRVJUKCFwZGV2LT52cGNpKTsNCj4+ICAgDQo+PiAtICAg
IHBkZXYtPnZwY2kgPSB4emFsbG9jKHN0cnVjdCB2cGNpKTsNCj4+IC0gICAgaWYgKCAhcGRldi0+
dnBjaSApDQo+PiArICAgIHZwY2kgPSB4emFsbG9jKHN0cnVjdCB2cGNpKTsNCj4+ICsgICAgaWYg
KCAhdnBjaSApDQo+PiAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07DQo+PiAgIA0KPj4gKyAgICBz
cGluX2xvY2soJnBkZXYtPnZwY2lfbG9jayk7DQo+PiArICAgIHBkZXYtPnZwY2kgPSB2cGNpOw0K
Pj4gICAgICAgSU5JVF9MSVNUX0hFQUQoJnBkZXYtPnZwY2ktPmhhbmRsZXJzKTsNCj4+IC0gICAg
c3Bpbl9sb2NrX2luaXQoJnBkZXYtPnZwY2ktPmxvY2spOw0KPiBJTklUX0xJU1RfSEVBRCgpIGNh
biBvY2N1ciBhaGVhZCBvZiB0YWtpbmcgdGhlIGxvY2ssIGFuZCBjYW4gYWxzbyBhY3QNCj4gb24g
JnZwY2ktPmhhbmRsZXJzIHJhdGhlciB0aGFuICZwZGV2LT52cGNpLT5oYW5kbGVycy4NClllcywg
SSB3aWxsIG1vdmUgaXQsIGdvb2QgY2F0Y2gNCj4+ICAgICAgIGZvciAoIGkgPSAwOyBpIDwgTlVN
X1ZQQ0lfSU5JVDsgaSsrICkNCj4+ICAgICAgIHsNCj4+IEBAIC04Myw3ICsxMDAsOCBAQCBpbnQg
dnBjaV9hZGRfaGFuZGxlcnMoc3RydWN0IHBjaV9kZXYgKnBkZXYpDQo+PiAgICAgICB9DQo+IFRo
aXMgbG9vcCB3YW50cyB0byBsaXZlIGluIHRoZSBsb2NrZWQgcmVnaW9uIGJlY2F1c2UgeW91IG5l
ZWQgdG8gaW5zdGFsbA0KPiB2cGNpIGludG8gcGRldi0+dnBjaSB1cCBmcm9udCwgYWZhaWN0LiBJ
IHdvbmRlciB3aGV0aGVyIHRoYXQgY291bGRuJ3QNCj4gYmUgcmVsYXhlZCwgYnV0IHBlcmhhcHMg
dGhhdCdzIGFuIGltcHJvdmVtZW50IHRoYXQgY2FuIGJlIHRob3VnaHQgYWJvdXQNCj4gbGF0ZXIu
DQpPaywgc28gSSdsbCBsZWF2ZSBpdCBhcyBpcw0KPg0KPiBUaGUgbWFpbiByZWFzb24gSSdtIGxv
b2tpbmcgYXQgdGhpcyBjbG9zZWx5IGlzIGJlY2F1c2UgZnJvbSB0aGUgcGF0Y2gNCj4gdGl0bGUg
SSBkaWRuJ3QgZXhwZWN0IG5ldyBsb2NraW5nIHJlZ2lvbnMgdG8gYmUgaW50cm9kdWNlZCByaWdo
dCBoZXJlOw0KPiBpbnN0ZWFkIEkgZGlkIGV4cGVjdCBzdHJpY3RseSBhIG1lY2hhbmljYWwgY29u
dmVyc2lvbi4NCj4NCj4+IEBAIC0xNTIsOCArMTcwLDYgQEAgaW50IHZwY2lfYWRkX3JlZ2lzdGVy
KHN0cnVjdCB2cGNpICp2cGNpLCB2cGNpX3JlYWRfdCAqcmVhZF9oYW5kbGVyLA0KPj4gICAgICAg
ci0+b2Zmc2V0ID0gb2Zmc2V0Ow0KPj4gICAgICAgci0+cHJpdmF0ZSA9IGRhdGE7DQo+PiAgIA0K
Pj4gLSAgICBzcGluX2xvY2soJnZwY2ktPmxvY2spOw0KPiAgRnJvbSB0aGUgZGVzY3JpcHRpb24g
SSBjYW4ndCBkZWR1Y2Ugd2h5IHRoaXMgbG9jayBpcyBmaW5lIHRvIGdvIGF3YXkNCj4gbm93LCBp
LmUuIHRoYXQgYWxsIGNhbGwgc2l0ZXMgaGF2ZSB0aGUgbG9jayBub3cgYWNxdWlyZSBlYXJsaWVy
Lg0KPiBUaGVyZWZvcmUgSSdkIGV4cGVjdCBhdCBsZWFzdCBhbiBhc3NlcnRpb24gdG8gYmUgbGVm
dCBoZXJlIC4uLg0KPg0KPj4gQEAgLTE4Myw3ICsxOTcsNiBAQCBpbnQgdnBjaV9yZW1vdmVfcmVn
aXN0ZXIoc3RydWN0IHZwY2kgKnZwY2ksIHVuc2lnbmVkIGludCBvZmZzZXQsDQo+PiAgICAgICBj
b25zdCBzdHJ1Y3QgdnBjaV9yZWdpc3RlciByID0geyAub2Zmc2V0ID0gb2Zmc2V0LCAuc2l6ZSA9
IHNpemUgfTsNCj4+ICAgICAgIHN0cnVjdCB2cGNpX3JlZ2lzdGVyICpybTsNCj4+ICAgDQo+PiAt
ICAgIHNwaW5fbG9jaygmdnBjaS0+bG9jayk7DQo+IC4uLiBhbmQgaGVyZS4NClByZXZpb3VzbHkg
dGhlIGxvY2sgbGl2ZWQgaW4gc3RydWN0IHZwY2kgYW5kIG5vdyBpdCBsaXZlcyBpbiBzdHJ1Y3Qg
cGNpX2RldiB3aGljaA0KaXMgbm90IHZpc2libGUgaGVyZSwgc286DQoxLiB3ZSBjYW5ub3QgdGFr
ZSB0aGF0IGxvY2sgaGVyZSBhbmQgZG8gZXhwZWN0IGZvciBpdCB0byBiZSBhY3F1aXJlZCBvdXRz
aWRlDQoyLiB3ZSBjYW5ub3QgYWRkIGFuIEFTU0VSVCBoZXJlIGFzIHdlIHdvdWxkIG5lZWQNCkFT
U0VSVChzcGluX2lzX2xvY2tlZCgmcGRldi0+dnBjaV9sb2NrKSk7DQphbmQgcGRldiBpcyBub3Qg
aGVyZQ0KQWxsIHRoZSBjYWxsZXJzIG9mIHRoZSB2cGNpX3thZGR8cmVtb3ZlfV9yZWdpc3RlciBh
cmUgUkVHSVNURVJfVlBDSV9JTklUDQpmdW5jdGlvbnMgd2hpY2ggYXJlIGNhbGxlZCB3aXRoICZw
ZGV2LT52cGNpX2xvY2sgaGVsZC4NCg0KU28sIHdoaWxlIEkgYWdyZWUgdGhhdCBpdCB3b3VsZCBi
ZSBpbmRlZWQgYSBnb29kIGNoZWNrIHdpdGggQVNTRVJUIGhlcmUsDQpidXQgYWRkaW5nIGFuIGFk
ZGl0aW9uYWwgYXJndW1lbnQgdG8gdGhlIHJlc3BlY3RpdmUgZnVuY3Rpb25zIGp1c3QgZm9yIHRo
YXQNCm1pZ2h0IG5vdCBiZSBhIGdvb2QgaWRlYSBJTU8NCg0KSSB3aWxsIGRlc2NyaWJlIHRoaXMg
bG9jayByZW1vdmFsIGluIHRoZSBjb21taXQgbWVzc2FnZQ0KDQpUaGFuayB5b3UsDQpPbGVrc2Fu
ZHI=


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 14:31:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 14:31:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262057.454112 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDSHV-0001Xi-DG; Fri, 28 Jan 2022 14:31:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262057.454112; Fri, 28 Jan 2022 14:31: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 1nDSHV-0001Xb-AG; Fri, 28 Jan 2022 14:31:17 +0000
Received: by outflank-mailman (input) for mailman id 262057;
 Fri, 28 Jan 2022 14:31:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=B5aJ=SM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nDSHT-0001XV-Qo
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 14:31:15 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f1fdd662-8046-11ec-8f75-fffcc8bd4f1a;
 Fri, 28 Jan 2022 15:31:14 +0100 (CET)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2051.outbound.protection.outlook.com [104.47.12.51]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-3-tBaLVUMEPuyQNTHDOxlpJA-1; Fri, 28 Jan 2022 15:31:12 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM6PR04MB5672.eurprd04.prod.outlook.com (2603:10a6:20b:ae::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Fri, 28 Jan
 2022 14:31:10 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::a1a4:21a6:8390:b5d5%5]) with mapi id 15.20.4930.017; Fri, 28 Jan 2022
 14: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: f1fdd662-8046-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643380273;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=GpO3mGnchwqODoNtvERBZBFMq1W+t+koqSwc4cyA+zo=;
	b=EHLW2L61LKqoLJPnb8jd6pT4GiOJ1nGLJqbSvRefCxk+xLUOlYQ6dGF0J4khpcW/DgtLkY
	elBus+DxGzmAsHjD4RmPKcCJ3Q09vwnExoK3sWIdpTvSsp08m54X/7y26+2GfKhg+58MVi
	F8KGGwAHI3p4f3NfcUTvAOIIYcq9pT8=
X-MC-Unique: tBaLVUMEPuyQNTHDOxlpJA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=as4a7KcbheCV8GOF2a/RUXxWCAdGhgSnJ6ogDZPDI869X9iYB7fitcoHQ7079EU46XjZaq+aYjzvhDy8arNlLO25gYzd2MUdlAp5Pf9CL+I9l+Ms4Ohse3g4asqskD8Ah5YYwtsPyZ79uBmDhMUpA+YUxgxnnv566RXgBufXBZoQqBeh7tlTqeDamoG/8/4t/oD7g7x35K+6G0H1Ap75jqfDMQumtjF1HZ1QR9XFQ6jKb+ktMX0ORlE7gX8dLT6ikmGHrtkuYfruwtJO0ABlQ7G9BX50MYrCv9ZOxvrLnotQrlqLnA/Qb8eK5M1GduIrEKXfbaA49Qe7uoYlv1gctw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GpO3mGnchwqODoNtvERBZBFMq1W+t+koqSwc4cyA+zo=;
 b=fsk5p1tj65VeUvBG7wMh1qZPZF4+8O1/qaDs2/cxEXjoB0sRg0rRfJ+VEZs/d051LIJ6fgNtqWfDyzGMlYD7uV83WowO88uNAX1LyVuCHvSayOVCCDNe7l3lDLsqApjgt/zO3lw7rHcbQ8yMxT0ybalKEOjzEb0KoLIVV8nV5hJ2KXLlWCtH9g5s5gaKXKLtGeS3LiBmed98YG0AsRnCtL5u31J/tk/f19wlt/PY3WZbWhgy80NgR79Tb2fmmS7LihJwTYsLPTxW7MKeVYc+7AbmfVrKWC2dqql0p8kzM3aU6Y0jKraFfBGJHTxOEw2/ilIZBz8Ury8W+X4rHAc3Sg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d43b2c88-a302-2bac-abca-c35fe02be676@suse.com>
Date: Fri, 28 Jan 2022 15:31:09 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v2 1/9] x86/cpuid: Advertise SSB_NO to guests by default
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220128132927.14997-1-andrew.cooper3@citrix.com>
 <20220128132927.14997-2-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220128132927.14997-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0416.eurprd06.prod.outlook.com
 (2603:10a6:20b:461::10) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c4b30824-8e83-49d3-60d5-08d9e26ad411
X-MS-TrafficTypeDiagnostic: AM6PR04MB5672:EE_
X-Microsoft-Antispam-PRVS:
	<AM6PR04MB56724BEF2CE5328CEEA12689B3229@AM6PR04MB5672.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:
	49fh423B2WM3vMKxcN2dbj4CRIG3cItg1cL5cUJtnswKeHRTG/1mR+Ylfy5qw6EnJRy8URKeGNKU5azFKYS5i5h8bwLJZrnqYY2v3/qu4xQQkvKKzD7xFKSHDWQ536IpFSdDMStd9tnjQfoXD/ZzkId4t2x4g4pczdkNVi6AziiPTKVgUs1dtfxpYfaTVlDc1qA7ST+fD3XvvZ6gubwcXp720lBXqvamSPBQgToICdO9krqWVP0BqcDvOIWEluU7oAQhHu1zPWj4l4a3KOT65b9OGQe4Uuo3JwdY4Q1cuQNjKa3R8u+8zXvMRRgCgHJUL0AtJPRbjUTubpGaTpijwVvvC2v1sl6IUwilXQSWk2B0C3KnWZcsyivQKzJic+bhl/H3hmEOmcGWj9o6FVnGkKAldUi/jPM5VWj0iJQeOPhUGknWu3ymCCReXS10ioZAF19tREeDFKEWQLZqC7YKM+eDANrIg0BbZ7V5IrdGZ83DfQjSFcVxURE/BlNeemz2oesMlsGvp8MB1kzzu0Jc1PMuUf4Vg2i6o1rQSJPmtR0n8rwVF5PmE1EKyotqG4MIyeg/cMBYC0qBTPJJKCFoWhDIvZHi+IHFH68qEgfsz2wnZeJGbSCXRoENkQfjsgGX1Tqw/6NC+HSXagifuPue35hzqxtpY5amWiT724g9rb1vQjtwtXwAaoojVeJmB31DT5onXSYbiFOqQHUD/SMU26LG8IoqrUbnBVnQ0viXFGk=
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:(13230001)(366004)(316002)(6916009)(508600001)(54906003)(558084003)(6512007)(6506007)(53546011)(86362001)(2616005)(26005)(31696002)(186003)(6486002)(5660300002)(36756003)(31686004)(2906002)(38100700002)(66476007)(66946007)(4326008)(8936002)(66556008)(8676002)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c3UrbzBRS2d5eGVPZTNTaHd4VG9wWlZYSU16bGd1WVlwQlpubUNrNUlhUXht?=
 =?utf-8?B?djVnTFVIMGRYbDNyUzMzT3FrWkFFb0JFUTRsR0xxcDJWWVJMd3Q5Q2dLZytm?=
 =?utf-8?B?YnRub1FUd3h6ZEV1Nk4rejZySkh2R1VjRHp4dEt5T0dLYlhMbHZWdjczWmFh?=
 =?utf-8?B?ZE9mYnFZeWVGTDFBZzFpMDkzU2VGancySzA2NkYwM29keFZEUktpRklkRy92?=
 =?utf-8?B?WEFIRi9DZUVlekFVbFhRVGZhcHdFREhqNGN1dCtQZ240WXkxcVI0MUJBa2VZ?=
 =?utf-8?B?S2dYQy84WTVsdjFmeWxQbmxHa2VBOStJSkg0YzkxSGtWWnc1bW9VakZoS3JH?=
 =?utf-8?B?OThFZ2lxZnRoSStoeEtXUUVnWDZDLzZhUjNmTzk4dU50TnUyTkV5cmMxYXFH?=
 =?utf-8?B?RHViRmMyTkNZY1ZwOVNVU0ZjcnlVeUsrQnZaNFdtZzl0ekRsRndWOFdSempj?=
 =?utf-8?B?VFJ3SHVsbnlFVGsydlVNNG14ZklJa3AzNE84N2pBR0k2cFZWdGRaTFliczZB?=
 =?utf-8?B?Vk1pY2EvRWZMWm9kQnp1RGxFZnVmTmY3R2wzL0lXdmFsRStMS28xT0ovdkJv?=
 =?utf-8?B?T2RKYTVQdUFKMC9Dd0hmN0FQZWFWMmo4T2NZM3BjeDJVc2ZWTXBuVlpKZmVw?=
 =?utf-8?B?WjV1NG1xK0JQbkJGTjRMMlk4VTZDWmNqOEFxVGxseUVmUUhpUm15R0hDbFVZ?=
 =?utf-8?B?NGV0T2hGVjZKZW5TY01neFMxNkZvTlZtcFF6YnZselp4ZnJRRU1xMDl1RmR1?=
 =?utf-8?B?VXRXTTU5dHBGNldMQVdWaDdHMFV6aysySU9VSFFRUFdtVlgvQ2RwYVdpTklH?=
 =?utf-8?B?QWNlbzQwUDl0Ym5jbS9KenU4QWtCNTlWcWFPZTNPaVRsSDFRRGVLOVJWaXR2?=
 =?utf-8?B?eTdsVlY0UEFrYzJCcWptZjZBMGJ3ZFNIVTRBNVRjV3BPb0NRNkhrRHJCS3Zu?=
 =?utf-8?B?L1Z1cngzOVRXSFVwVXl2Zkx0WEdHM0QzMWY2NmdrQlB1NDUrNS9LdVlxUktC?=
 =?utf-8?B?R3VON0lGZytYQlhoVFpwQVJGOGlaTWc5TWNySVNZY3NxbG1TRGRNT05MODJp?=
 =?utf-8?B?NHBlazRZSUJRbFppZHh6N3RVSnQybXkrMHZEZ2Nrb3FNVlVkV1ZSZEV4aEtK?=
 =?utf-8?B?emgxMUZVV0xGbUIzWUpZR3hnTE9ib3F2RDMvSC9DcEFVYzd2MmR5cXkwalpH?=
 =?utf-8?B?b01PQXRISThocm9xTnBOYTBWWU9Dak1SS3hqbEFnbXBHWEh1V0ZjOUZKRTJj?=
 =?utf-8?B?RzFhNUJxcHpFVTFQdzJBUUZ2dVhJcXZBNTRCbHhHS1QwcWpDeU8rTy9URG1a?=
 =?utf-8?B?Wkpjd1ErOVRaY0RwcFpsUG9va090NE15ajNoSmw4THF5SjFYY0ozWkJyMjgv?=
 =?utf-8?B?T2QvL0pFRldDdHhrNmg5RnJwWUxHM0ZrWWVMRDU2MWo5dEtRVVBPYmExZW5q?=
 =?utf-8?B?WnBSRVdsb1JUdW5MdkZBd0M2eUFBT3B2eGIzVjk5Sld5NUtvMUdsT2RUSzEr?=
 =?utf-8?B?UUZKT3EyaFR1dXpKaXBLdE9UZU9pRzVQa1pObnliZGxNeDJYcWJ3MjZsdDdF?=
 =?utf-8?B?bk11YmF6bHZucVEzTWprdTlFeSt0MGtXR3lJTTRxOVVpZVF6cFR5UzFOSS9I?=
 =?utf-8?B?N3BDMmhBclNQMG0zckFqWmp6cGs3K1gvM2JmU2h4bFRBUXFKV1BEakFZNXFI?=
 =?utf-8?B?ZFFUVko5ZDdRa3ZmbXNHcUM3U0VRQTdpei8rdXpPV01lelViNTZtR2VsWVVk?=
 =?utf-8?B?ME9HSFNCbUZacTN1OTU0Mm1sRys3MWo0YjBhV01SeEtYRHhuMWdGMXpaUXFl?=
 =?utf-8?B?NnllRjhNWWpKUjFmUnpJQUtBS0lKa3E5NlNPSjlMcHBRbE1Qc3lHQnduaDRL?=
 =?utf-8?B?OGd1Zll1dVJtR1A1R0NHMk1HV2pEbmtwVFV4V0RpUTJYcjdndnpKTXkwR0RS?=
 =?utf-8?B?Y3R0ay8xVXVFVUVoQ1czVU1laFhLQkNjc21pTWhiOXFXR2EvaDlrM3BWcXdR?=
 =?utf-8?B?ZE5WSXFLM3BTOTNlVHY0MFRwcFJ1OFdMdWN4MnVuZWlCYThkSStCeS9zTmdM?=
 =?utf-8?B?TDhxcTdqMS9SN2h3MmV2R0czZHFTTXhjdUo4V3lueEJSTk93dDNtVUxyYzFn?=
 =?utf-8?B?VjBlUnhURGRZbFJ3NElNcGZvSVFGZkU5RzlZTHRMSTZVeVVqRXhvV2xPVllo?=
 =?utf-8?Q?pvTA7FhaEG7mHaDowDRvdus=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c4b30824-8e83-49d3-60d5-08d9e26ad411
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jan 2022 14:31:10.3517
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: GpnWdumPPLEqL/+xwsQTKavJ31BV8XunU+6D2okYi7hw6rt6rDu74mwGeF/04/OZnM0ToZsRt9doXtS/fxK08w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB5672

On 28.01.2022 14:29, Andrew Cooper wrote:
> This is a statement of hardware behaviour, and not related to controls for the
> guest kernel to use.  Pass it straight through from hardware.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Fri Jan 28 14:50:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 14:50:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262062.454123 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDSaG-00047r-3b; Fri, 28 Jan 2022 14:50:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262062.454123; Fri, 28 Jan 2022 14: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 1nDSaF-00047k-Vy; Fri, 28 Jan 2022 14:50:39 +0000
Received: by outflank-mailman (input) for mailman id 262062;
 Fri, 28 Jan 2022 14:50: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 1nDSaE-00047Y-Ci; Fri, 28 Jan 2022 14:50: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 1nDSaE-0007DA-8c; Fri, 28 Jan 2022 14:50: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 1nDSaD-0000Ep-QV; Fri, 28 Jan 2022 14:50:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nDSaD-0007Iz-Q2; Fri, 28 Jan 2022 14:50:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=d5YiK9UyMgNHBqAEmh/2z9AFQ4wpO0r/cISt2w0+oAM=; b=kI2agb0Mr+4gOVio3EjOPOGwVF
	fgrS+2doYxfm0VXuHS6t0u0+TWC5ySCEb1r8dqPuVqIKCM3XGyOothZ83rOIWoNajN6egVr1BfHQU
	grZ4bFk2kmovTMOYJaqqJy2RyhjoAZ8ZXme+hUQfD2rCQ10oDMty2aDz3VVahnl46wlI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167927-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167927: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-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-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-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-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl: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
X-Osstest-Versions-This:
    linux=23a46422c56144939c091c76cf389aa863ce9c18
X-Osstest-Versions-That:
    linux=626b2dda7651a7c766108db4cdc0825db05b980d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 28 Jan 2022 14:50:37 +0000

flight 167927 linux-linus real [real]
flight 167935 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/167927/
http://logs.test-lab.xenproject.org/osstest/logs/167935/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 167917

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail blocked in 167917
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167917
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167917
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167917
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167917
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167917
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167917
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167917
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-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                23a46422c56144939c091c76cf389aa863ce9c18
baseline version:
 linux                626b2dda7651a7c766108db4cdc0825db05b980d

Last test of basis   167917  2022-01-27 10:12:35 Z    1 days
Testing same since   167927  2022-01-28 01:57:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Angelo Dureghello <angelo@kernel-space.org>
  Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
  Balbir Singh <bsingharora@gmail.com>
  caixf <ooppublic@163.com>
  Catherine Sullivan <csully@google.com>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Colin Foster <colin.foster@in-advantage.com>
  Congyu Liu <liu3101@purdue.edu>
  Dave Airlie <airlied@redhat.com>
  David Awogbemila <awogbemila@google.com>
  David Howells <dhowells@redhat.com>
  David S. Miller <davem@davemloft.net>
  Eric Dumazet <edumazet@google.com>
  Florian Westphal <fw@strlen.de>
  Gal Pressman <gal@nvidia.com>
  Geetha sowjanya <gakula@marvell.com>
  Geliang Tang <geliang.tang@suse.com>
  Grzegorz Szczurek <grzegorzx.szczurek@intel.com>
  Guangbin Huang <huangguangbin2@huawei.com>
  Guillaume Nault <gnault@redhat.com>
  Gurucharan G <gurucharanx.g@intel.com>
  Hangbin Liu <liuhangbin@gmail.com>
  Hangyu Hua <hbh25y@gmail.com>
  Horatiu Vultur <horatiu.vultur@microchip.com>
  Ido Schimmel <idosch@nvidia.com>
  Jakub Kicinski <kuba@kernel.org>
  Jaroslaw Gawin <jaroslawx.gawin@intel.com>
  Jedrzej Jagielski <jedrzej.jagielski@intel.com>
  Jernej Skrabec <jernej.skrabec@gmail.com>
  Jesper Dangaard Brouer <brouer@redhat.com>
  Jianguo Wu <wujianguo@chinatelecom.cn>
  Jisheng Zhang <jszhang@kernel.org>
  Joe Damato <jdamato@fastly.com>
  Johannes Berg <johannes@sipsolutions.net>
  Justin Iurman <justin.iurman@uliege.be>
  Kalle Valo <kvalo@kernel.org>
  Karen Sornek <karen.sornek@intel.com>
  Karsten Graul <kgraul@linux.ibm.com>
  Kees Cook <keescook@chromium.org>
  Kiran Bhandare <kiranx.bhandare@intel.com>
  Kiran Kumar K <kirankumark@marvell.com>
  Konrad Jankowski <konrad0.jankowski@intel.com>
  Leo Yan <leo.yan@linaro.org>
  Linus Torvalds <torvalds@linux-foundation.org>
  Maksym Yaremchuk <maksymy@nvidia.com>
  Marc Dionne <marc.dionne@auristor.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Marek Behún <kabel@kernel.org>
  Mat Martineau <mathew.j.martineau@linux.intel.com>
  Mateusz Palczewski <mateusz.palczewski@intel.com>
  Mathias Krause <minipli@grsecurity.net>
  Maxim Mikityanskiy <maximmi@nvidia.com>
  Menglong Dong <imagedong@tencent.com>
  Mohammad Athari Bin Ismail <mohammad.athari.ismail@intel.com>
  Moshe Tal <moshet@nvidia.com>
  Naveen Mamindlapalli <naveenm@marvell.com>
  Nikolay Aleksandrov <nikolay@nvidia.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Robert Hancock <robert.hancock@calian.com>
  Slawomir Laba <slawomirx.laba@intel.com>
  Subbaraya Sundeep <sbhatta@marvell.com>
  Subbaraya Sundeep <sgoutham@marvell.com>
  Sukadev Bhattiprolu <sukadev@linux.ibm.com>
  Sunil Goutham <sgoutham@marvell.com>
  Suzuki K Poulose <suzuki.poulose@arm.com>
  Sylwester Dziedziuch <sylwesterx.dziedziuch@intel.com>
  Thomas Bogendoerfer <tsbogend@alpha.franken.de>
  Tim Yi <tim.yi@pica8.com>
  Toke Høiland-Jørgensen <toke@redhat.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Victor Nogueira <victor@mojatatu.com>
  Wen Gu <guwen@linux.alibaba.com>
  Xin Long <lucien.xin@gmail.com>
  Yufeng Mo <moyufeng@huawei.com>
  Yuji Ishikawa <yuji2.ishikawa@toshiba.co.jp>
  Zack Rusin <zackr@vmware.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2281 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 15:02:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 15:02:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262071.454133 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDSlW-0005qW-BC; Fri, 28 Jan 2022 15:02:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262071.454133; Fri, 28 Jan 2022 15: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 1nDSlW-0005qP-8I; Fri, 28 Jan 2022 15:02:18 +0000
Received: by outflank-mailman (input) for mailman id 262071;
 Fri, 28 Jan 2022 15:02: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 1nDSlV-0005qF-Qa; Fri, 28 Jan 2022 15:02: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 1nDSlV-0007Sw-Lf; Fri, 28 Jan 2022 15:02: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 1nDSlV-0000ar-5T; Fri, 28 Jan 2022 15:02:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nDSlV-0005Gm-53; Fri, 28 Jan 2022 15:02:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ifee96mu16rEGhJKKlvVjCmJKgtA31KMPmwpM5JJKfw=; b=eyyxqs1hf0Z1bMpq1w36qVFrmM
	UZwhZGhKhqq42S3im7BiwRmvsVKNJcog4sCbGEQ2Bl9+mqpoxGahVKGztiIMut4UuJPEMfM3aY4rc
	KFVU50irYI1hJWsFBLVwMgo+FUGPgqL0+dEfHk8byMB0VtZA9AHGKeY42PETlRaUsSR8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167934-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 167934: 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=21170a738c11b24815b4afab2151bd3aa2a29acc
X-Osstest-Versions-That:
    xen=2a565f9b40db981a860574be26d86a8665e71c38
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 28 Jan 2022 15:02:17 +0000

flight 167934 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167934/

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                  21170a738c11b24815b4afab2151bd3aa2a29acc
baseline version:
 xen                  2a565f9b40db981a860574be26d86a8665e71c38

Last test of basis   167928  2022-01-28 02:00:32 Z    0 days
Testing same since   167934  2022-01-28 11:01:44 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>

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
   2a565f9b40..21170a738c  21170a738c11b24815b4afab2151bd3aa2a29acc -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 15:06:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 15:06:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262078.454145 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDSpd-0006SW-UE; Fri, 28 Jan 2022 15:06:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262078.454145; Fri, 28 Jan 2022 15:06:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDSpd-0006SP-RB; Fri, 28 Jan 2022 15:06:33 +0000
Received: by outflank-mailman (input) for mailman id 262078;
 Fri, 28 Jan 2022 15:06:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=i1b2=SM=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nDSpc-0006SJ-Pz
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 15:06:32 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id de926588-804b-11ec-8eb8-a37418f5ba1a;
 Fri, 28 Jan 2022 16:06:31 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: de926588-804b-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643382391;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=z7FEy7JRdaOkj6PsFW8SKUjjVhC9itzQQqFt7OhhQCc=;
  b=iUuXqE6mK+/WfiyFeMAUipS5o9I2rgrXZDHwSKiIOfCckwMZQIk6dHmF
   GilqDfWTlDwCLshXed6OW8kqR8aC3kQL3v++G+/ffJwOgzFzubzlk/bO2
   h7vm5GhH6SoDEJBHFrhlrV6PpWYV/k8x1N1Ait+Ns8jdnaY7E3uK7pluj
   E=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: hecgMeuv5LiQNuTPVuhHWjE+2Gjo9UZC9/XKzf7JaZIbLrZmJB+3xQqOtn05CPV/WdERH3Ckzd
 PRdI0Gm5vZUiwt9gTLq9d24CbXkX/fxviW9Pp6GwgmN1EuSl9NQLStFB4Dr216bZ64F0B1A5l9
 DENYNJEa7o660InMoFYtYW8TV4S4nX7qke7SFpJV+z0o9medn6UaCgDqq54GWErJBfQ47FN66r
 1HL+pV58uwoUarua1KUlLnH+woPOkUja+J2irS/f47dxKtzKwZhd8epNve/96QiSXHmPsmS4yp
 91MuqZsvtxP3uEd4bytVR+xB
X-SBRS: 5.2
X-MesageID: 63397348
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:3Mb9RqzhwlGxOkplo1h6t+fhwSrEfRIJ4+MujC+fZmUNrF6WrkVRz
 WoZXW6PO6rYYzD3ctxwPoux8k1Tu5KHz9A2QAtr/iAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnvopW1TYhSEUOZugH9IQM8aZfHAhLeNYYH1500g7wrRp2tIAbeWRWGthh
 /uj+6UzB3f9s9JEGjp8B3Wr8U4HUFza4Vv0j3RmDRx5lAa2e0o9VfrzEZqZPXrgKrS4K8bhL
 wr1IBNVyUuCl/slIovNfr8W6STmSJaKVeSFoiI+t6RPHnGuD8H9u0o2HKN0VKtZt9mGt+J39
 opp7Ia1cFoOYqLgwc8eEDBXAy4raMWq+JefSZS+mcmazkmAeHrw2fR+SkoxOOX0+M4uXzsIr
 6ZBbmlQMFbT3Ipaw5riIgVors0lMMnsOpJZonx6xCvVJf0nXYrCU+PB4towMDIY2JsVTKmFO
 5pxhTxHMxPdWhQMF1UsMosEwf2Ti2fjQzMFpwfAzUYwyzeKl1EguFT3C/LFd9rPSchLk0Kwo
 mPd43+/EhwcLMaYyzeO7jSrnOCntTz/cJIfEvu/7PECqF+Zy3EXCRYWfUCmuvT/gUm7M++zM
 GRNpHBo9/JrshX2EJ+tBHVUvUJooDYuXeQPN7Qg7TjQ7fbbz1+yBSstQS5OPYlOWNANeRQm0
 VqAntXMDDNpsaGIRX/1yop4vQ9eKgBOczZcOHZsoR8tpoC6/dpt1k6nosNLTfbt5uAZDw0c1
 NxjQMIWo7wIxfAG2Kyglbwsq2L9/8OZJuLZC+i+Y45E0u+bTNP9D2BLwQKChRqlEGp/ZgPc1
 JTjs5PGhN3i9bnXyESwrBwlRdlFHcqtPjzGmkJIFJI87Tmr8HPLVdkOvGokfx8ybJtcJG6Bj
 KrvVeV5vsE70JyCNvcfXm5MI55ykfiI+SrNCJg4keaikrAuLVTarUmClGab3nz3kVhErE3ME
 czzTCpYNl5DUf4P5GPvH481iOZ3rghjmz+7bc2lnnyPjOrPDFbIGOxtGAbfMYgEAFas/V+9H
 yB3bZXakn2ykYTWP0HqzGLkBQladCdgXcGv9ZU/myzqClMOJVzNwsT5mdsJE7GJVYwMzrugE
 qiVVhAKxVzhq2fALAnWOHlvZKm2BcR0rG4hPDxqNlGtgiBxbYGq5aYZVp02Ybh4q7Azka8qF
 6EIK5eaH/BCajXb4DBBP5Pzm5NvKUawjgWUMiv7PDVmJ8x8RxbE88PPdxf08HVcFTK+sMYz+
 uXy1g7STZcZaR5lCcLaNKCmw1+r5CBPk+NuRUrYZNJUfRy0ooRtLiXwiN4xIt0NdkqflmfLi
 V7ODE5B9+fXooIz/N3Yvoy+rt+kQ7lkA05XP2jH9rLqZyPUyXWunN1bW+GScDGDCG6toPe+Z
 f9Yxu3XOeEcmAoYqJJ1FrtmwP5s59broLMGnA1oEG+SMgauA7JkZHKHwdNOputGwboA4Vm6X
 UeG+997P7SVOZy6TA5NdVR9NunTh+sJnjTy7OguJBSo7SB6y7OLTEFOMkTekydaNrZ0bNsoz
 OpJVBT6MOBjZs7G6uq7sx0=
IronPort-HdrOrdr: A9a23:ptFpsawVCHqgwhRNSFq5KrPwLL1zdoMgy1knxilNoRw8SKKlfu
 SV7ZAmPH7P+VMssR4b9OxoVJPtfZqYz+8T3WBzB8bBYOCFgguVxehZhOOIqQEIWReOldK1vZ
 0QFZSWY+eQMbEVt6nH3DU=
X-IronPort-AV: E=Sophos;i="5.88,324,1635220800"; 
   d="scan'208";a="63397348"
Date: Fri, 28 Jan 2022 15:04:55 +0000
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 v9 03/30] build: fix exported variable name
 CFLAGS_stack_boundary
Message-ID: <YfQGF0JHWcxQHwmy@perard>
References: <20220125110103.3527686-1-anthony.perard@citrix.com>
 <20220125110103.3527686-4-anthony.perard@citrix.com>
 <d729f897-6319-e82d-f953-c8411fde1e07@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <d729f897-6319-e82d-f953-c8411fde1e07@suse.com>

On Fri, Jan 28, 2022 at 12:14:58PM +0100, Jan Beulich wrote:
> On 25.01.2022 12:00, Anthony PERARD wrote:
> > Exporting a variable with a dash doesn't work reliably, they may be
> > striped from the environment when calling a sub-make or sub-shell.
> > 
> > CFLAGS-stack-boundary start to be removed from env in patch "build:
> > set ALL_OBJS in main Makefile; move prelink.o to main Makefile" when
> > running `make "ALL_OBJS=.."` due to the addition of the quote. At
> > least in my empirical tests.
> > 
> > Fixes: 2740d96efd ("xen/build: have the root Makefile generates the CFLAGS")
> > Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> 
> While I did commit this, I'm still somewhat confused. How would quoting
> of elements on a make command line make a difference to which variables
> get exported?

I don't know, maybe without quote, make run sub-make directly, but with
double-quote, a shell is used.

But after reading the manual, I didn't expect the variable to be passed
down sub-make at all:

    5.7.2 Communicating Variables to a Sub-make

    Except by explicit request, make exports a variable only if it is
    either defined in the environment initially or set on the command
    line, and if its name consists only of letters, numbers, and
    underscores.

But somehow, sub-makes also export the non-shell-exportable variables,
unless the command line in a recipe invoking make has double-quotes.


I've tried again, and checked the process list:
  - when running `$(MAKE) -C foo`; make just execute make
  - when running `$(MAKE) -C 'foo'`; make just execute make
  - when running `$(MAKE) -C "foo"`; make execute /bin/sh -c ...
  - when running `$(MAKE) -C foo | tee`; make execute /bin/sh -c ...

So, CFLAGS-stack-boundary disappear when /bin/sh is involved.

> In any event I understand the description that prior to the subsequent
> change there's not actually any issue. Hence I'm not going to queue
> this for backporting despite the Fixes: tag. Unless of course I'm told
> otherwise (with justification).

Justification would be that it's not supposed to work, based on
information from make's manual.

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 15:34:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 15:34:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262083.454155 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDTGO-0001cj-4n; Fri, 28 Jan 2022 15:34:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262083.454155; Fri, 28 Jan 2022 15: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 1nDTGO-0001cc-1g; Fri, 28 Jan 2022 15:34:12 +0000
Received: by outflank-mailman (input) for mailman id 262083;
 Fri, 28 Jan 2022 15: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 1nDTGM-0001cS-C0; Fri, 28 Jan 2022 15: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 1nDTGM-00080K-9N; Fri, 28 Jan 2022 15: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 1nDTGL-0002jq-S6; Fri, 28 Jan 2022 15:34:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nDTGL-0002CM-Ri; Fri, 28 Jan 2022 15: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=v9QSt0kFBtSbz/G3SG+FO6nZhUPeQgJZxI2GgZGpwZk=; b=Y2OPsA6AfWq90rGGSoW8dIcKzR
	ieSOIKwk6tVkQYriC0TBN6MHa2gA5Tq+rMcb+N6CKUdiL2QBH8LGxdTqmxoEWK75RFSCSUaXFIoaM
	l6HrGB8zf8QZDUvP4LUwwRRDG/2wGA5TIPkkKN9mQi6U2ja4baqCW1S5YEDcHmtrAVMI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167933-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 167933: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=f4b7b473b4afd0093768905529bfae09a2061d41
X-Osstest-Versions-That:
    ovmf=a867f3a7042ae0b4c1189bececbe72aa8a8a8e27
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 28 Jan 2022 15:34:09 +0000

flight 167933 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167933/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 f4b7b473b4afd0093768905529bfae09a2061d41
baseline version:
 ovmf                 a867f3a7042ae0b4c1189bececbe72aa8a8a8e27

Last test of basis   167929  2022-01-28 02:41:45 Z    0 days
Testing same since   167933  2022-01-28 10:10:35 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Rebecca Cran <quic_rcran@quicinc.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   a867f3a704..f4b7b473b4  f4b7b473b4afd0093768905529bfae09a2061d41 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 15:52:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 15:52:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262091.454167 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDTYJ-0004DA-M7; Fri, 28 Jan 2022 15:52:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262091.454167; Fri, 28 Jan 2022 15: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 1nDTYJ-0004D3-Iy; Fri, 28 Jan 2022 15:52:43 +0000
Received: by outflank-mailman (input) for mailman id 262091;
 Fri, 28 Jan 2022 15:52:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=i1b2=SM=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nDTYI-0004Cx-16
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 15:52:42 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 514dba04-8052-11ec-8f75-fffcc8bd4f1a;
 Fri, 28 Jan 2022 16:52:40 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 514dba04-8052-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643385160;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=9IDmy1YftEc1l0AJBUbmvWyEiySc7HmGGRSPfMiyklQ=;
  b=P2P+PFOGp5QA1VgwjpQQtFut00EEK/aXq9nVVMYfU/rqE08oHT4Dg51l
   Ak4HcShQKb7dO11Oj4WgthPg4mJKjHmIR9u3CFYCTppg+PJJpjStCHpo6
   Qdo43IhwkLUmXGbLpeDaM7FN2nBj/rO2aM9mne1xmQgguAeWZIUOYu6QT
   E=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: Y7ItOAFW3wi+jgV6DfSzMlSrBQ95xg2948njyDRsbImRbV+34+026BPHXg6NSud03RLr8J84EX
 /zcIHnlIrjiUlEAIZZ78Q46YRRs/vXf6LCLB8aaKbxvdt3Pja9U1JJy9yqfcx7fu6Md1zz4RX2
 CosX+leC3vb9GKKA+x4zs7DsstRRftf/JBTLF4UEl8YDtHQmi8BHDtQbl6vKYqpwcXU6pA9QGC
 okePBA76OlQ0o43SnOBFRXFj8nYju971ZDlhdGQR1eBiMShDa7YRzKJq7GNXc6/awavYZfvdBn
 Z2b7HgC+805lOhlfy5fkVAuH
X-SBRS: 5.2
X-MesageID: 62990034
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:p9SPZaMq1ezpLGnvrR1ZkMFynXyQoLVcMsEvi/4bfWQNrUp30GQFz
 mcYWm/UPv7cYWakedsgaY+0pEoCuMfRzN41HQto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdpJYz/uUGuCJQUNUjMlkfZKhTr6UUsxNbVU8En150Egzw7JRbrNA2rBVPSvc4
 bsenOWHULOV82Yc3rU8sv/rRLtH5ZweiRtA1rAMTakjUGz2zhH5OKk3N6CpR0YUd6EPdgKMq
 0Qv+5nilo/R109F5tpICd8XeGVSKlLZFVDmZna7x8FOK/WNz8A/+v9TCRYSVatYo2SJjolsx
 vBqj7y5CkQPGPPLnPUteBYNRkmSPYUekFPGCX22sMjVxEzaaXr8hf5pCSnaP6VBpLwxWzsXs
 6VFdnZdNXhvhMrvqF6/YuBqmsQkKtitJI4Fs2ts5TrYEewnUdbIRKCiCdpwgm1h15gWRqq2i
 8wxRQhuUxTCQzh1B3QvMokXrczy2mDtWmgNwL6SjfVuuDWCpOBr65DyNPLFd9rMQt9a9m6Iq
 2SD82nnDxUyMN2E1SHD4n+qnvXIny7wRMQVDrLQ3uVxnFSZy2gXCRsXfVi2u/+0jgi5Qd03A
 04e9zcqrKMy3Fe2VdS7VBq9yFaGoxodVtx4A+A8rgaXxcLpDx2xXzZeCGQbMZp/6ZFwFWdCO
 kK1c83BVDx+6aCbbFWn1r7X7hWUZy8RPF8panpRJeca2OXLrIY2hxPJa99sFq+pk9H4cQ3NL
 yC2QDsW3OtK05NSv0mv1RWe2m/3+MCVJuIgzliPBgqYAhVFiJlJjmBCwXzS9r5+IYmQVTFtV
 1BUypHFvIji4Xxg/RFhodnh/pn0v55p0xWG2DaD+qXNERz3phZPmqgLuFlDyL9BaJpsRNMQS
 Ba7VfltzJFSJmC2SqR8fpi8Dc8npYC5S4i+DKuMNYQTOsUgHONiwM2ITRTOt4wKuBN0+ZzTx
 L/BKZr8ZZrkIfoPIMWKqxc1juZwm3FWKZL7TpHn1RW3uYdyl1bOIYrpxGCmN7hjhIvd+V292
 48Ga6OilksDOMWjPHi/2dNDfDgicClgbbir+pM/SwJ2Clc8cI3XI6WPkepJlk0Mt/k9q9okC
 VnkBBcAlgKj1CKWQehIA1g6AI7SsV9EhSpTFUQR0ZyAgBDPuK6js/UScYUZZ74i+LAxxPJ4V
 aBdKc6BHu5OWnLM/DFENcvxq4lrdRKKgwOSPnX6PGhjLsA4HwGZqMX5egbP9TUVCnblv8UJv
 LD9hBjQRoAORlo+AZ+OOu6v1V64oVMUhPl2AxnTOtBWdUi1qNpqJiX9g+UZOcYJLRmflDKW2
 xzPWUUTpPXXop9z+97M3PjWo4CsGup4P0xbA2iEsurmaXiEpjKumNYSXvyJcDbRUHLP1J+jP
 egFnevhNPAnnUpRt9YuGbhc0q9jtcDkoKVXz1o4ESyTPUirEL5pPlKPwdJL6v9W3rZctAa7B
 hCP991dNenbMc/pCgdMdg8sb+DF3vAIgDjCq/8yJRyitiNw+bOGV2RUPgWN13MBfOckbtt9z
 LdzotMS5iy+lgEuY4SPgS1j/miRKmANDvc8vZYADY630gcmxzmuu3AH5vMaNH1XV+hxDw==
IronPort-HdrOrdr: A9a23:PnqltKybTyyS0nqJfB6DKrPxo+skLtp133Aq2lEZdPULSKGlfp
 GV9sjziyWetN9IYgBZpTnyAtj6fZq8z+8/3WB1B9uftWbdyQ+Vxe1ZjLcKhgeQYhEWldQtn5
 uIEZIOb+EYZGIS5amV3OD7KadH/DDtytHKuQ6q9QYJcegcUdAD0+4WMGamO3wzYDMDKYsyFZ
 Ka6MYCjSGnY24rYsOyAWRAd/TfpvXQ/aiWLSIuNloC0k2jnDmo4Ln1H1yzxREFSQ5Cxr8k7C
 zsjxH53KO+qPu2oyWsmFM7rq4m1ucJ+OEzRPBkufJlaQkETTzYJriJbofy/QzdZtvfrWrC3u
 O85yvIdP4DkU85NlvF3CcFnTOQnQrGokWStWOwkD/tp9f0Syk9DNcEjYVFcgHB405lp91k1r
 lXtljpwaa/ICmw6BgV3eK4IC2CV3DE0UYKgKoWlThSQIEeYLheocgW+15UCo4JGGb/5Jo8GO
 djAcnA7LIOGGnqJ0zxry1q2pihT34zFhCJTgwLvdGUySFfmDR8w1EDzMISk38c/NY2SoVC5e
 7DLqN0/Ys+B/M+fOZ4HqMMUMG3AmvCTVbFN3+TO03uEOUdN3fEu/fMkcAIDSGRCe41JbcJ6e
 r8uWJjxB0PkhjVeLKzNbVwg2HwfFk=
X-IronPort-AV: E=Sophos;i="5.88,324,1635220800"; 
   d="scan'208";a="62990034"
Date: Fri, 28 Jan 2022 15:52:33 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
	"Julien Grall" <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>, <xen-devel@lists.xenproject.org>
Subject: Re: [XEN PATCH v9 08/30] build: fix enforce unique symbols for
 recent clang version
Message-ID: <YfQRQSwuJW+XOWYa@perard>
References: <20220125110103.3527686-1-anthony.perard@citrix.com>
 <20220125110103.3527686-9-anthony.perard@citrix.com>
 <708a1723-7b01-e82b-f2c2-d031a33ae55e@suse.com>
 <YfPbndiBeViN0heB@perard>
 <b9b4262e-5ca2-b051-7aba-b2ad1a6bdc01@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <b9b4262e-5ca2-b051-7aba-b2ad1a6bdc01@suse.com>

On Fri, Jan 28, 2022 at 01:43:38PM +0100, Jan Beulich wrote:
> On 28.01.2022 13:03, Anthony PERARD wrote:
> > On Thu, Jan 27, 2022 at 04:57:20PM +0100, Jan Beulich wrote:
> >> On 25.01.2022 12:00, Anthony PERARD wrote:
> >>> clang 6.0 and newer behave like gcc in regards for the FILE symbol, so
> >>> only the filename rather than the full path to the source file.
> >>>
> >>> clang 3.8.1-24 (in our debian:stretch container) and 3.5.0-10
> >>> (in our debian:jessie container) do store the full path to the source
> >>> file in the FILE symbol.
> >>>
> >>> Also, based on commit 81ecb38b83 ("build: provide option to
> >>> disambiguate symbol names"), which were using clang 5, the change of
> >>> behavior likely happened in clang 6.0.
> >>>
> >>> This means that we also need to check clang version to figure out
> >>> which command we need to use to redefine symbol.
> >>>
> >>> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> >>
> >> The "likely" in the description still worries me some. Roger, would
> >> you happen to know, or know of a way to find out for sure ("sure"
> >> not meaning to exclude the usual risk associated with version
> >> number checks)?
> > 
> > I found f5040b9685a7 ("Make .file directive to have basename only") as
> > part of LLVM's "release/6.x" branch (and "llvmorg-6.0.0" tag), but not
> > in "release/5.x".
> > 
> > https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fllvm%2Fllvm-project%2Fcommit%2Ff5040b9685a760e584c576e9185295e54635d51e&amp;data=04%7C01%7Canthony.perard%40citrix.com%7C1ce7898a15bb4024260008d9e25be6f9%7C335836de42ef43a2b145348c2ee9ca5b%7C0%7C0%7C637789706644173026%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=V73NmkJWAHpqlzY9sAysf6%2Fw7q8ik6twT6lMLgglR3s%3D&amp;reserved=0
> > 
> > This patch would seems to be the one changing the behavior. This still
> > suggest clang 6.0.
> 
> Oh, thanks for digging this out. May I suggest to replace (or delete)
> "likely" then in the description?

Maybe something like that? Or just delete the word might be enough.

    Also we have commit 81ecb38b83 ("build: provide option to
    disambiguate symbol names") which were using clang 5, and LLVM's
    commit f5040b9685a7 [1] ("Make .file directive to have basename
    only") which is part of "llvmorg-6.0.0" tag but not "release/5.x"
    branch. Both suggest that clang change of behavior happened with
    clang 6.0.

    [1] https://github.com/llvm/llvm-project/commit/f5040b9685a760e584c576e9185295e54635d51e

> Acked-by: Jan Beulich <jbeulich@suse.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 16:07:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 16:07:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262095.454178 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDTmp-0006Xi-0d; Fri, 28 Jan 2022 16:07:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262095.454178; Fri, 28 Jan 2022 16: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 1nDTmo-0006Xb-SF; Fri, 28 Jan 2022 16:07:42 +0000
Received: by outflank-mailman (input) for mailman id 262095;
 Fri, 28 Jan 2022 16:07:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=i1b2=SM=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nDTmo-0006XV-Er
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 16:07:42 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 69fa331e-8054-11ec-8eb8-a37418f5ba1a;
 Fri, 28 Jan 2022 17:07:40 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 69fa331e-8054-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643386060;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=S1nhx64OKYyVQEv92E+rfDdVEL60qDliMuqhbZ7LC00=;
  b=Kvx78nkJKQsauJX4uPfdDK55AirTqBLo96Wztvo8bN1RVeQ0FD3EYSL6
   WoqVdjDldRU9FkgicYf7exPvenx6li0Sjgfm+T25XU9EVHZ1QTA7QrbGr
   LG5JO2ayW89tBwVnCPzA630HjiPYqkhcIQFHadZDR1i7Qge63L/IwP8R9
   0=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: o8VY+dRwdqg3H2T9qp94o1LwbDKI7gP3W+HobQv3CXR+ak+42Ukb0drpy3hRYraG7HEx1tQteC
 VMpI2Y25QEoHgQymhQQOT4a0nTkWb4N4iyBPrp4r2VBTlEm8psRG9/KC0E1y2uY+PG8Lt8kBAd
 LhLMhoIyjWW7+5MIYDq643YkTW9KfLO3TUTTrXs+ZSzW7zbSdQUi8f/pWAf2AnvHX+KgqqJQIq
 3WSP3q1YzYS2TXAa/qaiqG4Su7XlLDwmV3nSP7Ivx9pYF1uBRv+BIOQNZuCTYWHbzmFOSGf9qg
 tjYJkhALTLOXhbUH6RWjhrxF
X-SBRS: 5.2
X-MesageID: 65175340
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:SHuNgqx/dzBAA8wR0h56t+ebwSrEfRIJ4+MujC+fZmUNrF6WrkUCz
 TBKDzzVOf/eYzfyL9x2YN/i/B9T6MLSx9VnHgY+rCAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnvopW1TYhSEUOZugH9IQM8aZfHAhLeNYYH1500g7wrRp2tIAbeWRWGthh
 /uj+6UzB3f9s9JEGjp8B3Wr8U4HUFza4Vv0j3RmDRx5lAa2e0o9VfrzEZqZPXrgKrS4K8bhL
 wr1IBNVyUuCl/slIovNfr8W6STmSJaKVeSFoiI+t6RPHnGuD8H9u0o2HKN0VKtZt9mGt9VI7
 dthmp6ccj44I5KdisAtfhsBTj4raMWq+JefSZS+mcmazkmAeHrw2fR+SkoxOOX0+M4uXzsIr
 6ZBbmlQMFbT3Ipaw5riIgVors0lMMnsOpJZonx6xCvVJf0nXYrCU+PB4towMDIY2J0XQquFO
 5JxhTxHUjPuUgFNF28sD8w1pMy6nFDedWdgtwfAzUYwyzeKl1EguFT3C/LJc9mDXu1JnUKVo
 G3X8mC/CRYfXPSH0Tuf+Xuoj+XStSn6RI4fGrC++vNwxlaUwwQ7ARwNXFq/qNGzi1KyVtxSL
 UAZ4Gwlqq1a3FSiU93VTxC+5nmesXY0WdBdDuk74wGl0bfP7kCSAW1sZi5MbpkqudE7QRQu1
 0SVhJX5CDp3qrqXRHmBsLCOoluaJiw9PWIEIygeQmM4D8LL+d9pyEiVF5A6TfDz3oad9SzML
 y6iqREbiZk8j+Iw7rSmwgHVpwKBpMGUUVtgjunIZV6N4gR8bY+jQoWn71nH8PpNRLqkokm9U
 GsswJbHsr1XZX2ZvGnUGbhWQun1jxqQGGCE2TZS848dGyNBEpJJVaRZ+3lAKUhgKa7okhe5M
 RaI6Wu9CHK+VUZGjJObgarsU6zGLoC6TLwJs8w4iPIUP/CdkyfcpElTiba4hTyFraTVufhX1
 W2nWcitF20GLq9s0SC7QewQuZdymHxlnziLHs6ml0n2uVZ7WJJzYe1bWLdpRrthhJ5oXS2Pq
 4oPXyd040s3vBLCjtn/rtdIcAFiwYkTDpHqsc1HHtNv0SI9cFzN/8T5mOt7E6Q8xvw9vr6Ro
 hmVBxEEoHKi2yyvAVjaOxhLNeK0Nb4i/C1TAMDZFQvys5TVSdzxvP53mlpeVeRPydGPOtYtE
 aFdJZ3cU6seItkFkhxEBaTAQEVZXEzDrWqz0+CNOlDTprZsGF7E/MHKZAzq+HVcBya7r5Jm8
 bahyhnaUdwIQAE7VJTab/emzlWQu3kBmb0tAxuUc4cLIEi8opJ3LyHRj+MsJ51eIxv02TbHh
 R2dBg0VpLeRrtZtosXJn62Ns6ygD/B6QhhBB2De4LvvbXva82OvzJVuSuGNeTyBBmr49L/7P
 bdezu3mMe1Bl1FP6tIuH7FuxKM4xt3uu74FkVg0QCSVNwymU+oyLGOH0M9Dsrx26oVY4QbmC
 FiS/tR6OKmSPJ+3GlAmOwd4PP+I0usZm2eO4K1tcln6/iJ+4JGOTV5WY0uXkCVYIbZ4bNElz
 OMmtJJE4gCzkEN3YNOPjyQS/GWQNH0QFa4gs8hCUoPsjwMqzHBEYIDdVXCqsM3eNY0UPxl4O
 CKQiYrDm69YlxjLfHcEHHTQ2fZQ2MYVsxdQwV5ef1mEl7IpXBPsMMG9Jdjvcjlo8w==
IronPort-HdrOrdr: A9a23:EvbWzKEVPbKB5RBqpLqE6seALOsnbusQ8zAXP0AYc31om+ij5q
 eTdZUgpHvJYVkqNE3I9eruBEDEewK7yXcX2/h1AV7BZniEhILAFugLhuGO/9SjIVydygc079
 YYT0EUMr3N5DZB4/rH3A==
X-IronPort-AV: E=Sophos;i="5.88,324,1635220800"; 
   d="scan'208";a="65175340"
Date: Fri, 28 Jan 2022 16:07:33 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "Andrew
 Cooper" <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>, Roger Pau
 =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Paul Durrant <paul@xen.org>, Tamas K Lengyel
	<tamas@tklengyel.com>, Petre Pircalabu <ppircalabu@bitdefender.com>,
	Alexandru Isaila <aisaila@bitdefender.com>
Subject: Re: [PATCH v3 1/2] IOMMU/x86: disallow device assignment to PoD
 guests
Message-ID: <YfQUxVUEEPuQzewP@perard>
References: <6fe7b036-2bdb-b391-4e6c-1b5d7e05a119@suse.com>
 <b0a77526-17f2-a5ab-6f7f-1b3caeb4a59b@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <b0a77526-17f2-a5ab-6f7f-1b3caeb4a59b@suse.com>

On Tue, Jan 04, 2022 at 10:41:32AM +0100, Jan Beulich wrote:
> While it is okay for IOMMU page tables to get set up for guests starting
> in PoD mode, actual device assignment may only occur once all PoD
> entries have been removed from the P2M. So far this was enforced only
> for boot-time assignment, and only in the tool stack.
> 
> Also use the new function to replace p2m_pod_entry_count(): Its unlocked
> access to p2m->pod.entry_count wasn't really okay (irrespective of the
> result being stale by the time the caller gets to see it).
> 
> To allow the tool stack to see a consistent snapshot of PoD state, move
> the tail of XENMEM_{get,set}_pod_target handling into a function, adding
> proper locking there.
> 
> In libxl take the liberty to use the new local variable r also for a
> pre-existing call into libxc.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 16:50:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 16:50:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262101.454189 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDUSQ-0003Xw-EM; Fri, 28 Jan 2022 16:50:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262101.454189; Fri, 28 Jan 2022 16:50:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDUSQ-0003Xp-B1; Fri, 28 Jan 2022 16:50:42 +0000
Received: by outflank-mailman (input) for mailman id 262101;
 Fri, 28 Jan 2022 16:50:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BgXU=SM=tklengyel.com=tamas@srs-se1.protection.inumbo.net>)
 id 1nDUSO-0003Xj-Ol
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 16:50:40 +0000
Received: from MTA-13-4.privateemail.com (mta-13-4.privateemail.com
 [198.54.127.109]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 69fc1891-805a-11ec-8eb8-a37418f5ba1a;
 Fri, 28 Jan 2022 17:50:39 +0100 (CET)
Received: from mta-13.privateemail.com (localhost [127.0.0.1])
 by mta-13.privateemail.com (Postfix) with ESMTP id C81F018000A3
 for <xen-devel@lists.xenproject.org>; Fri, 28 Jan 2022 11:50:34 -0500 (EST)
Received: from mail-yb1-f175.google.com (unknown [10.20.151.178])
 by mta-13.privateemail.com (Postfix) with ESMTPA id 9E9AC18000A8
 for <xen-devel@lists.xenproject.org>; Fri, 28 Jan 2022 11:50:34 -0500 (EST)
Received: by mail-yb1-f175.google.com with SMTP id 23so20206269ybf.7
 for <xen-devel@lists.xenproject.org>; Fri, 28 Jan 2022 08:50:34 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 69fc1891-805a-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=tklengyel.com;
	s=default; t=1643388634;
	bh=2gOTaKu5OJW0q3pN4afbReMvy9fxCsLuFD6TdYYeVEc=;
	h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
	b=ZS8csAY0j4SgUkJ9gCA1pp0MFb6dYSWERWH+PwQInQIL77eMCkG6nYdBT6PUPgvC6
	 CGiKWFK2Igm9gNyJc1z9SS17EtnT4du/IlH1BilKqkpzE2333MmO6yKrHnwnTmVnxa
	 aGzK1GC+j3Cmg81ZLubdWECZCQCc1YjJeZANKV6UEjG+RDStHir3zr6MNA7tpVmGU8
	 gaFkXPRtHHP8W8c84qfnz+OM2hPbJB/u74cpcSiOLmlCYm+itpCeBdjv7Emvls8hWu
	 huDK9dWOsvLqu+f8/74Vld7nSju/IVyFQ+xjrXqDJ3ifhBajMROnycAT5DHYcxI1wL
	 atLz/JQB4ce9g==
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=tklengyel.com;
	s=default; t=1643388634;
	bh=2gOTaKu5OJW0q3pN4afbReMvy9fxCsLuFD6TdYYeVEc=;
	h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
	b=ZS8csAY0j4SgUkJ9gCA1pp0MFb6dYSWERWH+PwQInQIL77eMCkG6nYdBT6PUPgvC6
	 CGiKWFK2Igm9gNyJc1z9SS17EtnT4du/IlH1BilKqkpzE2333MmO6yKrHnwnTmVnxa
	 aGzK1GC+j3Cmg81ZLubdWECZCQCc1YjJeZANKV6UEjG+RDStHir3zr6MNA7tpVmGU8
	 gaFkXPRtHHP8W8c84qfnz+OM2hPbJB/u74cpcSiOLmlCYm+itpCeBdjv7Emvls8hWu
	 huDK9dWOsvLqu+f8/74Vld7nSju/IVyFQ+xjrXqDJ3ifhBajMROnycAT5DHYcxI1wL
	 atLz/JQB4ce9g==
X-Gm-Message-State: AOAM533HKomO5MMcKTlO2vyD84wJKQ175gFQZDz/KVDlNQepV7zVO/PH
	X0sYjELDA5Y7p9I6Dlk8Y+rfDvMttMvOVazv+CU=
X-Google-Smtp-Source: ABdhPJxbyU2ABOdpmmUvetiK33osOv5PkI39+hac/yMtnQr9B7lWlFfc9MaTyRq5e6rK7OPGFcF+RSO8qhBqjFDJ6y8=
X-Received: by 2002:a5b:2ce:: with SMTP id h14mr11860232ybp.572.1643388633788;
 Fri, 28 Jan 2022 08:50:33 -0800 (PST)
MIME-Version: 1.0
References: <2c421077-81c2-a45e-f7c3-9827d3cb1abf@suse.com>
In-Reply-To: <2c421077-81c2-a45e-f7c3-9827d3cb1abf@suse.com>
From: Tamas K Lengyel <tamas@tklengyel.com>
Date: Fri, 28 Jan 2022 11:49:58 -0500
X-Gmail-Original-Message-ID: <CABfawhk0qDnOdO9DOKLPPNW=FtpGSJvJQAzmKRxxdkwjfeGSYA@mail.gmail.com>
Message-ID: <CABfawhk0qDnOdO9DOKLPPNW=FtpGSJvJQAzmKRxxdkwjfeGSYA@mail.gmail.com>
Subject: Re: [PATCH v3] x86/altp2m: p2m_altp2m_propagate_change() should honor
 present page order
To: Jan Beulich <JBeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, Petre Pircalabu <ppircalabu@bitdefender.com>, 
	Alexandru Isaila <aisaila@bitdefender.com>, George Dunlap <george.dunlap@citrix.com>
Content-Type: text/plain; charset="UTF-8"
X-Virus-Scanned: ClamAV using ClamSMTP

On Thu, Jan 27, 2022 at 10:07 AM Jan Beulich <jbeulich@suse.com> wrote:
>
> For higher order mappings the comparison against p2m->min_remapped_gfn
> needs to take the upper bound of the covered GFN range into account, not
> just the base GFN. Otherwise, i.e. when dropping a mapping overlapping
> the remapped range but the base GFN outside of that range, an altp2m may
> wrongly not get reset.
>
> Note that there's no need to call get_gfn_type_access() ahead of the
> check against the remapped range boundaries: None of its outputs are
> needed earlier, and p2m_reset_altp2m() doesn't require the lock to be
> held. In fact this avoids a latent lock order violation: With per-GFN
> locking p2m_reset_altp2m() not only doesn't require the GFN lock to be
> held, but holding such a lock would actually not be allowed, as the
> function acquires a P2M lock.
>
> Local variables are moved into the more narrow scope (one is deleted
> altogether) to help see their actual life ranges.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> Note that this addresses only half of the problem: get_gfn_type_access()
> would also need invoking for all of the involved GFNs, not just the 1st
> one.
> ---
> v3: Don't pass the minimum of both orders to p2m_set_entry() (as was the
>     case in the original code). Restore get_gfn_type_access() return
>     value checking.
>
> --- a/xen/arch/x86/mm/p2m.c
> +++ b/xen/arch/x86/mm/p2m.c
> @@ -2534,9 +2534,6 @@ int p2m_altp2m_propagate_change(struct d
>                                  p2m_type_t p2mt, p2m_access_t p2ma)
>  {
>      struct p2m_domain *p2m;
> -    p2m_access_t a;
> -    p2m_type_t t;
> -    mfn_t m;
>      unsigned int i;
>      unsigned int reset_count = 0;
>      unsigned int last_reset_idx = ~0;
> @@ -2549,15 +2546,16 @@ int p2m_altp2m_propagate_change(struct d
>
>      for ( i = 0; i < MAX_ALTP2M; i++ )
>      {
> +        p2m_type_t t;
> +        p2m_access_t a;
> +
>          if ( d->arch.altp2m_eptp[i] == mfn_x(INVALID_MFN) )
>              continue;
>
>          p2m = d->arch.altp2m_p2m[i];
> -        m = get_gfn_type_access(p2m, gfn_x(gfn), &t, &a, 0, NULL);
>
>          /* Check for a dropped page that may impact this altp2m */
> -        if ( mfn_eq(mfn, INVALID_MFN) &&
> -             gfn_x(gfn) >= p2m->min_remapped_gfn &&
> +        if ( gfn_x(gfn) + (1UL << page_order) > p2m->min_remapped_gfn &&
>               gfn_x(gfn) <= p2m->max_remapped_gfn )

Why are you dropping the mfn_eq(mfn, INVALID_MFN) check here?

Tamas


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 17:04:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 17:04:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262105.454199 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDUg8-0005Db-ID; Fri, 28 Jan 2022 17:04:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262105.454199; Fri, 28 Jan 2022 17:04:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDUg8-0005DU-F8; Fri, 28 Jan 2022 17:04:52 +0000
Received: by outflank-mailman (input) for mailman id 262105;
 Fri, 28 Jan 2022 17:04:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=i1b2=SM=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nDUg6-0005D7-ST
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 17:04:51 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6531e45b-805c-11ec-8f75-fffcc8bd4f1a;
 Fri, 28 Jan 2022 18:04:48 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6531e45b-805c-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643389489;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=5H0JcPSfrpDUuApqPHSiDE05M25uq2O3xA3RqucXv/s=;
  b=GuZa8NS2W7M9kx6WSEuzZuAuTqxwWY1BhVjzforaFFM3kDbQfzOacn63
   3DspSiRHWCahjwRKXzrlD3eCH4UB519yAJTJLe2bv1iaAmf7hkfuAg2wt
   EehXqcVLHq5bVb97L2n1anAvdHieUNo2BxR8VlD3YnrUSDNp7q4OLSTsi
   Y=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: E/vmO0mbzqlUL2oLX6XdwFLIcrdzET61SMqEthP68i9w1gEenzzGRuhQGw+66pLOPxbefPL2VD
 FaLCZ9e7exCwUeIHcZdvqa8KAyR9kAUXpyFYRwKl/8aJ5vf+XXVnJk2qV8DGJjYPuOiMekdpUc
 uMwOqlDUuaQr52PnwfUz2Kq0WBopxppaeO7JaX4rTWXm5w+2ITDnKYL14cxL4ZxgHGknGB1lpx
 E93YDQafylkV0S32nryjRl9ZIiNDjgDmZFcfR2QJPt6GJjvjQHXJsgY2+ZQpqJmzD9fJgb29jl
 SUFXssY/BapBEwH/pjSOqwFt
X-SBRS: 5.2
X-MesageID: 63000957
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:WJdH+64qim+Gouw0utR2xwxRtFPBchMFZxGqfqrLsTDasY5as4F+v
 jcbDzzSOveNZGHyfdtzPYy+9x4HuJSDx9BkHQBp+CkzHi5G8cbLO4+Ufxz6V8+wwmwvb67FA
 +E2MISowBUcFyeEzvuV3zyIQUBUjclkfJKlYAL/En03FV8MpBsJ00o5wbZg2N4w3bBVPivW0
 T/Mi5yHULOa82Yc3lI8s8pvfzs24ZweEBtB1rAPTagjUG32zhH5P7pGTU2FFFPqQ5E8IwKPb
 72rIIdVXI/u10xF5tuNyt4Xe6CRK1LYFVDmZnF+A8BOjvXez8CbP2lS2Pc0MC9qZzu1c99Zi
 +UQ9s2bFx8TJvOLmPZNAz90HTtSIvgTkFPHCSDXXc27ykTHdz3nwul0DVFwNoodkgp1KTgQr
 7pCcmlLN03dwbLtqF64YrAEasALJc/3PIQZqzd4wCvQF/oOSpHfWaTao9Rf2V/cg+gQRq6GP
 5tENlKDajz4SiV3OUZKNKgXmcKCgnvBQSUHoXe88P9fD2/7k1UqjemF3MDuUuKNQcJZj0OJv
 FXs9m7yAgwZHNGHwD/D+XWp7sfUhj/yUo8WELy+99ZpjUeVy2hVDwcZPXOxrOOlkEe4V5RaI
 lYN5ys1haEo8QqgSdyVdx61vn+C+AIdUtx4Eusm5QXLwa3Riy6bG25CSDdCYd4nscYeRDo22
 1vPlNTsbRRwtJWFRHTb8a2bxRuiNC5QIWIcaCssSQoe/8KlsIw1lgjITNtoDOiylNKdMTP/2
 TeRtwAlmq4ey8UM0s2T/03Dgj+qjojESEgy/Aq/dmCv4x59ZYWlT5e18lWd5vFFRLt1VXHY4
 iJCwZLHqrlTU9fdz0RhXdnhApnq16vGYRaCmWR3Qd4h5WT93VKtZ6xPtWQWyFhSDu4IfjrgY
 Un2sAxX5YNOMHbCUZKbc75dGOxxk/G+SI2NuuT8K4MXP8MvLFPvEDRGOBbIt10BhnTAhk3W1
 X2zVc+3RUgXBq18pNZdb7dMiOR7rszSKI66eHwa8/hF+efGDJJ2Ye1cWLdrUgzfxPnZyOky2
 40HX/ZmMz0FDIXDjtD/qOb/12wiI3khHozRoMdKbOOFKQcOMDh/V6SLmut6JdE9wvU9egL0E
 peVABEwJL3X3iWvFOl3Qio7NOOHsWhX8xrXwhDAzX73giN+MO5DHY8UdoctfKlPyQCQ5aUcc
 hXxQO3ZWq4nYm2eo1w1NMChxKQ/KkjDrV/QbkKNPWhuF7Y9Fleh0oK1IWPSGNwmU3DfWT0W+
 ePwj2s2gPMrGmxfMSohQKvxlwvv5SRMx7MasomhCoA7RXgAObNCc0TZ5sLb6elVQfka7jfFh
 QuQHzkCouzB/908/NXT3PjWpIa1CepuWEFdGjCDv7qxMCDb+EulwJNBD7nULWyMCjus9fXwf
 /hRwtH9LOYDwARAvb1jHus51qk5/dbu+eNXl1w2AHXRYl23Ibp8OX3aj9JXv6hAy+YB6wu7U
 06C4PdAPrCNNJ+3GVIdPlN9PO+CyesVin/Z6vFseBf24yp+/bymV0ROPkbT1HwBfeUtaI58m
 LUvos8b7QC7myEGCNfeg3AG7XmII1wBT74j6sMQDrj0h1d50VpFe5HdVHP7ucndd9VWP0A2C
 TaIn66e1a9Ez0/PfndvR3jA2e1R2cYHtBxQlQJQIl2InpzOh+Mt3Q0X+jMyF1wHwhJC2uN1G
 25qK0wqevneo2Y23JBODzK2BgVMJByF4UigmVIGmVrQQ1SsSmGQfnY2PvyA/RxB/m9RFtSBE
 Gp0FIoxve7WQfzM
IronPort-HdrOrdr: A9a23:NggfmqgtN1aHVlP/m2GwjOE6KHBQXt4ji2hC6mlwRA09TyX+rb
 HIoB17726RtN91YhodcL+7VJVoLUmyyXcX2+ks1NWZMjUO0VHAROsO0WKI+VzdMhy72ulB1b
 pxN4hSYeeAaGSSVPyKgzVQxexQouW6zA==
X-IronPort-AV: E=Sophos;i="5.88,324,1635220800"; 
   d="scan'208";a="63000957"
Date: Fri, 28 Jan 2022 17:04:35 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jane Malalane <jane.malalane@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, "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>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian
	<kevin.tian@intel.com>, Roger Pau =?iso-8859-1?Q?Monn=E9?=
	<roger.pau@citrix.com>
Subject: Re: [PATCH 1/2] xen+tools: Report Interrupt Controller
 Virtualization capabilities on x86
Message-ID: <YfQiIzxNMVDAGz7p@perard>
References: <20220127160133.11608-1-jane.malalane@citrix.com>
 <20220127160133.11608-2-jane.malalane@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20220127160133.11608-2-jane.malalane@citrix.com>

On Thu, Jan 27, 2022 at 04:01:32PM +0000, Jane Malalane wrote:
> Add XEN_SYSCTL_PHYSCAP_ARCH_ASSISTED_xapic and
> XEN_SYSCTL_PHYSCAP_ARCH_ASSISTED_x2apic to report accelerated xapic
> and x2apic, on x86 hardware.
> No such features are currently implemented on AMD hardware.
> 
> For that purpose, also add an arch-specific "capabilities" parameter
> to struct xen_sysctl_physinfo.
> 
> Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
>  tools/golang/xenlight/helpers.gen.go |  4 ++++
>  tools/golang/xenlight/types.gen.go   |  6 ++++++

Note for committers: Please regenerate the go bindings, there are
out-of-sync with libxl_types.idl at the moment.

> diff --git a/tools/libs/light/libxl_x86.c b/tools/libs/light/libxl_x86.c
> index 1feadebb18..33da51fe89 100644
> --- a/tools/libs/light/libxl_x86.c
> +++ b/tools/libs/light/libxl_x86.c
> @@ -866,6 +866,17 @@ int libxl__arch_passthrough_mode_setdefault(libxl__gc *gc,
>      return rc;
>  }
>  
> +void libxl__arch_get_physinfo(libxl_physinfo *physinfo,
> +                              xc_physinfo_t xcphysinfo)

It might be better to pass "xcphysinfo" as a pointer, otherwise I think
a copy of the whole struct is made when calling this function.


In any case, the tool part of the patch looks good:
Acked-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 18:08:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 18:08:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262110.454211 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDVft-0003ls-8K; Fri, 28 Jan 2022 18:08:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262110.454211; Fri, 28 Jan 2022 18:08:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDVft-0003ll-58; Fri, 28 Jan 2022 18:08:41 +0000
Received: by outflank-mailman (input) for mailman id 262110;
 Fri, 28 Jan 2022 18:08:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RLMC=SM=epam.com=prvs=40275dfd99=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1nDVfr-0003lf-3T
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 18:08:39 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4f5eae63-8065-11ec-8eb8-a37418f5ba1a;
 Fri, 28 Jan 2022 19:08:37 +0100 (CET)
Received: from pps.filterd (m0174678.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20SHxc7t025473;
 Fri, 28 Jan 2022 18:08:26 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 (PPS) with ESMTPS id 3dvn2qr2b7-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 28 Jan 2022 18:08:26 +0000
Received: from AS8PR03MB7585.eurprd03.prod.outlook.com (2603:10a6:20b:34a::20)
 by VE1PR03MB5597.eurprd03.prod.outlook.com (2603:10a6:803:11d::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Fri, 28 Jan
 2022 18:08:21 +0000
Received: from AS8PR03MB7585.eurprd03.prod.outlook.com
 ([fe80::4c60:e636:e8dd:967]) by AS8PR03MB7585.eurprd03.prod.outlook.com
 ([fe80::4c60:e636:e8dd:967%5]) with mapi id 15.20.4930.015; Fri, 28 Jan 2022
 18:08:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4f5eae63-8065-11ec-8eb8-a37418f5ba1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lLuP4WJhBtc7qQtCJH+/Jqdjhw/M4zJAeBwqUYfdSRSIVB00g7ptcaL/BFljvrBklDXNHRTkgT5CCgdxrrr53DQZzCWHJWe3xQOagUpIcS6E14fLzKeZIdnUkTPoPgAf08DZLpDeE0t+wFztGmLk3ECvfxFSTsRLh1j0HmPAB3FbMey+H1u9wldN5TgpD+TxQN6O8SN9OAfJrU6XzkiOToupBBTlgmSzBVwd5RPURnLOxsHRywYwpnKGnsWDgm5Xns+NmM1rrwVUssoG6erppZAk05g8dv3Gdrr87LxXm4IkgrQfv55gF9RZyZOuTiqklpQ7KYziVVbAmy3Ds28H7w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=66PlUvp9Xke4PZdGPPKolC64NlTZ9JLKBhtaWW3wxGs=;
 b=luJRfXBEFHudcSb426quTKOQKLxL3Me6cl61kvVe8N6N8r/C8rdwM+P2Jr50UYtq7oNcz1/xP+Mt28RZv+dlAun2frI56ySzVQLRqiQUYiMuQyE1cXX0VmTB5ZTzt1ZgmlUsoItV6IQWMWyPVOkElXHGnzOB+6zXGK223txb1gCoSKeDpO5cmuW+Tyz9avPqfDSp4W8NIkOeoPkLCETL3/uhufz9BNBhSMI2zQ6b1gyKCMg/lTPbXc9HUvMdcKU/Jm1W7cwdpOmxWHcSHUH4Da5y7vxfOlykokqSkxmEkdw58pQAa6RKIga9zb8hd0f7XQTUGUPjPjeRavQr/tjbWA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=66PlUvp9Xke4PZdGPPKolC64NlTZ9JLKBhtaWW3wxGs=;
 b=ZE7uK3ay4js1Z52+QgQk+BO2hB+LPvg8nSEcTlWnYVSC7yhTAQBfWoiVKowsJnx7ygrdyBd2aSDABboAHQwDJmcI8EIpj+LrQeBG1YOmHmgcQ5jln+QtyX+DO/Rdm2ZrnhBX9vlAkBis6KNSp8cJmOm/I9eo/s1OEhDNYbUcyzMWtVkNMcrXKT0EMCKQElhLfSvUgok53OMP2++7+pwcGCALEjhwpLxm9qbsh7VKCC5wGCibYc/XZcsQt5Y9LZiCqehuWYOQ1opPo9JbxfaL5PVd197V5sp+roX0FaYCjATbOUVgsh766vZ7374daRfKPkOTiB6F7szeUQWbfntE1Q==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: Julien Grall <julien@xen.org>
CC: Oleksandr Tyshchenko <olekstysh@gmail.com>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        Oleksandr
 Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Bertrand Marquis <bertrand.marquis@arm.com>,
        Rahul
 Singh <rahul.singh@arm.com>,
        Yoshihiro Shimoda
	<yoshihiro.shimoda.uh@renesas.com>,
        Oleksandr Andrushchenko
	<Oleksandr_Andrushchenko@epam.com>
Subject: Re: [PATCH V3 2/2] iommu/arm: Remove code duplication in all IOMMU
 drivers
Thread-Topic: [PATCH V3 2/2] iommu/arm: Remove code duplication in all IOMMU
 drivers
Thread-Index: AQHYE7f+bZ++2ph9sECkyhNAfkn036x3SlsAgAFyBgA=
Date: Fri, 28 Jan 2022 18:08:21 +0000
Message-ID: <877dajhgxb.fsf@epam.com>
References: <1643313352-29940-1-git-send-email-olekstysh@gmail.com>
 <1643313352-29940-3-git-send-email-olekstysh@gmail.com>
 <1532ec77-17d3-665b-3c19-ab8fd4147a7d@xen.org>
In-Reply-To: <1532ec77-17d3-665b-3c19-ab8fd4147a7d@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.6.5; emacs 27.2
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: dfa7aca5-00e7-4feb-24cf-08d9e2892b6e
x-ms-traffictypediagnostic: VE1PR03MB5597:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <VE1PR03MB5597FB00B790321AC6A7E4ABE6229@VE1PR03MB5597.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: 
 pFR97Y0OGRVcdbschHxtdQReh4ANyRRpRrkZsIgPUpS5lKp7TRf5E64vvoGO52xER36wu0+IFD35G1aGX2m8+y8M0JlTTtWNUaxejqI7tEtcpOt8LTnmpIBPY8MKs38UEJabwToKhj58z/LqM4vXcMLa5z7XiS1GphKNKEhTpPAZW259FLKyxIBrfuJt/PaBxvY98bYnHoqNEU/F+IXtaG6SnmkZ9yy2kOZS/qEAYDTDOofDXMoBCjPWeFcLcNPRecSTwjK41SlV05zXMBvvqc8BsPa52r7nn9MGvkTR5Bcwe6ZtRCRUE7zcw5yizl/U0hxjpr+jZ0JWlHIb93+pq+Ik+Ebk9Iksqy8ekFVu3CdpPxilnYGG99+ypGH977KTJej2sT8cHpi2OiL5FbJDMNtqt9LJQ+Yy2qb/gBgQS3oBTycweebKcIL8Uj+ssvqqnz57QkJJmYoMCGKKqS54v6RTakACdKYKElwvOeVfsGeDFT6WHT7WOb8O63YOrPCSMoqd/9d6y+37KaS1+nxABaFm7PtDc37ZbnfXpbbnAKvORrZWyHo7lrksIwiQ0ExFPQbf6hXpBu5Z2piq27E6OMcM/5uNQXoXQZ/ZOmgHKqaKsR9XOs1KirLu6P0LFUID+PGrR7hNHC9FKGgReoPXlx/i/BTJh5mSip5KaDuV7JuBlAdN4v8P12TeaJPQ6EBX4cHp3GtLrg45X2UR2giK9Q==
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB7585.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(53546011)(86362001)(55236004)(71200400001)(83380400001)(2906002)(26005)(508600001)(6486002)(6506007)(122000001)(5660300002)(4744005)(66476007)(8676002)(2616005)(107886003)(186003)(38100700002)(38070700005)(316002)(4326008)(8936002)(66946007)(66556008)(6512007)(36756003)(66446008)(6916009)(64756008)(76116006)(54906003)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?flzwX0OYp3Ti7Y2PONzS8nZ2LF88/0sU7XFSUycX/bMYS+Xrvg+kh826nS?=
 =?iso-8859-1?Q?UGRdYXhxx94tNZCBOtsPSt2Y7tE4e80Mh2BMachTvcLoZ9ud1j+3HN/3ax?=
 =?iso-8859-1?Q?Ng6GBDEMF3JLAGlzTWGBwfWG11jsauP69sWOsLQrf7GtQ2VK2XbzjLn+sH?=
 =?iso-8859-1?Q?4xWlH1a9Byfr2FLYCvTo1Koc3fVuT392KbVjWMXkyyxHkqEaedNF22KrFJ?=
 =?iso-8859-1?Q?s/sW6tEr4dErEGFTSL+W7zEjQuzC3sziDUeM/alwEPXiwz0oh0FNEgUk5G?=
 =?iso-8859-1?Q?yjomhp8HisIDeCEvxTA5N8N5NbERKTeHjNNtUJgs0p/eh4oe3jSqtz2X4n?=
 =?iso-8859-1?Q?XFkti/SRioDLIGAwpiPPx9c/NSQwlaQXJulZof8JYblwx2v9k7CoNQQnxf?=
 =?iso-8859-1?Q?jox6teAKSv5+AC9OSs5zgQ/FP9rfxttgCoKgL0r7JgoUOFb0MIWDoookmg?=
 =?iso-8859-1?Q?rYgguW3ixPZIdB2OVDA4NhNqwqncz5uy9DIOUDCp8tmdAU/WEbzTs7U1qi?=
 =?iso-8859-1?Q?NnUh1jbIEe+ecA0utVc6YA1v4MzsP+16MdJZjftFx6SAzIMiBg4s3Y20rA?=
 =?iso-8859-1?Q?21mfH45uuv/yovBp8VJh3IDZ7U2C9rDDeCRddnCItDr/GXMLnKs50LSKf3?=
 =?iso-8859-1?Q?jTi/VAgjCvtSd0aXWfDcT2VxxCgDbrDKFej3PpM8JOEALMDanJv4+LeEXs?=
 =?iso-8859-1?Q?c/R8JEVNvJRXfAj5cVhniXvx5GPeSScbauskWPKmO4qGAAdX911HukSe4T?=
 =?iso-8859-1?Q?5IiXPMheXwbq/wv2YoCETDxfpKRFtjCAqPtaatjE/yo2IgNRlPLl6cV5sM?=
 =?iso-8859-1?Q?H2FxeG9nX0GQFHYDPvQFRBHgwi/b8V2bviH4AtstH5sbIK0kImDOC2gNHC?=
 =?iso-8859-1?Q?nugp2AfXBHL6tcjQGJnRxJe0ZrWpp4sB1scy9Mz4HNzdSlmEXJE+S4ox75?=
 =?iso-8859-1?Q?KYHCV2wlC5ISTnq197irlP4RlOs535ijGAzSFKrSrdYD/ATSO6DjVE9Jsv?=
 =?iso-8859-1?Q?twTVpzSojqTSaIx65HZst2YRRcaDpFvjvezWyaPtwxWkpIbql0I6OlcyDz?=
 =?iso-8859-1?Q?hJmNVXjOdHIC5F44v0b6nnRbDmtoCEb447tiwmUhWRtceFbIezIJGy9YCI?=
 =?iso-8859-1?Q?76rTbJLT8GknpdgH2aOxAiAs4baknmmlmJH9ZY1DVLCSLLQwzT5l4M2W8n?=
 =?iso-8859-1?Q?rx74rUylHXTs34CCnFX+nwl01+qnjSVOXlxrqL3Rb27rw3H+eJ8nGoPRYA?=
 =?iso-8859-1?Q?RuuC5kCqAC2C9wQloK2SCu+JuSos5cHEuNhjFQOfqw7Nouu6qOivBopAW5?=
 =?iso-8859-1?Q?HL0Bjjnj0BEzBXhna3hGl0b/2HmgbiO/yck3FJxn3VZZ+MsBv3TV6ZhkjT?=
 =?iso-8859-1?Q?WZ75/pWIOv2/oMw7OcBifdd0+tNlhG9BQ2PFqTjyp2kcHnwseVWGL7ZICO?=
 =?iso-8859-1?Q?otznVu5Vit9Ap2hr/QZF/qOsvd7cSguTlv5367O68G8Bj0ZbJY+UCc0vRI?=
 =?iso-8859-1?Q?nMxIEVmLQl43OUQxdgN6mgMQ1RhHSja9zzd9G7XfQDde9CRzQH0Fw8pZL4?=
 =?iso-8859-1?Q?xr/rW7LJuEURZ3mj9+l4w7HTa9/gIAXCiIfUWhZGilVehXzTB5XmfdaZVl?=
 =?iso-8859-1?Q?6Yg+gC2K+DwwgcnaGykxjx6Q+KShMtcZSSuoUwnSElJNC63J1MmaVgk6zh?=
 =?iso-8859-1?Q?jAJ8u38kcPSDHclA9sdoWRtxseAQpUH01NbfDcByvIdCa6r00eTLw4Wbw4?=
 =?iso-8859-1?Q?Ea7EpPSTEntgkZOhSSiG42Y/4=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: AS8PR03MB7585.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dfa7aca5-00e7-4feb-24cf-08d9e2892b6e
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Jan 2022 18:08:21.5421
 (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: 1v6jt5dyQVCHeh4J2IIos+mE0M3nBWtqrBg+J0llQK3gApwTClefFb7IeevFwPeYyTOVzzJjw3f/uiTOaKEa4VSyuHJ1bDzXI8y/CMuoJoA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR03MB5597
X-Proofpoint-ORIG-GUID: PiA6N5mvFDjDTxxb4luaJ-bmnYkEFAto
X-Proofpoint-GUID: PiA6N5mvFDjDTxxb4luaJ-bmnYkEFAto
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-28_05,2022-01-28_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1011 phishscore=0
 spamscore=0 malwarescore=0 impostorscore=0 adultscore=0 priorityscore=1501
 mlxscore=0 bulkscore=0 mlxlogscore=620 lowpriorityscore=0 suspectscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2201110000
 definitions=main-2201280107


Hi Julien,

Julien Grall <julien@xen.org> writes:

> Hi,
>
> On 27/01/2022 19:55, Oleksandr Tyshchenko wrote:
>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>> All IOMMU drivers on Arm perform almost the same generic actions in
>> hwdom_init callback. Move this code to common arch_iommu_hwdom_init()
>> in order to get rid of code duplication.
>> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>> Reviewed-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>> Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
>
> IMO, the reviewed-by tags should have been dropped with the changes
> you made. So I would like both reviewer to confirm they are happy with
> the change.

Yep, I'm still fine with this:

Reviewed-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>


--=20
Volodymyr Babchuk at EPAM=


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 19:55:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 19:55:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262121.454222 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDXKj-0006rH-00; Fri, 28 Jan 2022 19:54:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262121.454222; Fri, 28 Jan 2022 19:54:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDXKi-0006rA-S5; Fri, 28 Jan 2022 19:54:56 +0000
Received: by outflank-mailman (input) for mailman id 262121;
 Fri, 28 Jan 2022 19:54:55 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nDXKh-0006r0-Fz; Fri, 28 Jan 2022 19:54:55 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nDXKh-0004kP-5s; Fri, 28 Jan 2022 19:54:55 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nDXKg-0007Rm-LY; Fri, 28 Jan 2022 19:54:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nDXKg-0005rt-L5; Fri, 28 Jan 2022 19:54: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=R6Qwu4sMUuc4/lGl/LP2Z1CVOvrsEzTWxI8GDXKCS80=; b=WmibnOPjQAHwHHy66xeDjYsQBI
	/xPqlvRGsr0ec15zeqAjgj8EUMcPeck1Ha29cC9I1SlPF8l/4Exl9Ll2eS3kvOBiIP6bPLRd0JNZ3
	NJdwXBGVa7//58jMEPmDIPnwS8SI4VGxWdH3BfA0JAgeqOQM8fz/olaAt74+HPm2yGjc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167931-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167931: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-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-armhf-armhf-libvirt: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-armhf-armhf-libvirt-qcow2: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-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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-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-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=2a565f9b40db981a860574be26d86a8665e71c38
X-Osstest-Versions-That:
    xen=0bdc43c8dec993258e930b34855853c22b917519
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 28 Jan 2022 19:54:54 +0000

flight 167931 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167931/

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 167921
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167921
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167921
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167921
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167921
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167921
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167921
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167921
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167921
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167921
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167921
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167921
 test-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-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  2a565f9b40db981a860574be26d86a8665e71c38
baseline version:
 xen                  0bdc43c8dec993258e930b34855853c22b917519

Last test of basis   167921  2022-01-27 17:07:05 Z    1 days
Testing same since   167931  2022-01-28 06:28:10 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  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-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   0bdc43c8de..2a565f9b40  2a565f9b40db981a860574be26d86a8665e71c38 -> master


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 20:24:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 20:24:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262137.454256 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDXml-0002MS-MN; Fri, 28 Jan 2022 20:23:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262137.454256; Fri, 28 Jan 2022 20:23:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDXml-0002ML-JO; Fri, 28 Jan 2022 20:23:55 +0000
Received: by outflank-mailman (input) for mailman id 262137;
 Fri, 28 Jan 2022 20:23:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wh6+=SM=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nDXmk-0002MF-MM
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 20:23:54 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 34d88280-8078-11ec-8f75-fffcc8bd4f1a;
 Fri, 28 Jan 2022 21:23:52 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 3CEA861DE6;
 Fri, 28 Jan 2022 20:23:51 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4DB32C340E7;
 Fri, 28 Jan 2022 20:23: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: 34d88280-8078-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1643401430;
	bh=h2p3P8tCDfqYzUJeQVQQvYaqzrKqILqYev3vTMM8wdk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=DguDyx4Xns10ui98AznNlveuy5rwtql+ns7OV9vfuR4owdaHcE/UzQWXPSe4EA0X7
	 R4jV0d0bMCcpstq+4NkzTpcJwAtPZfkoU1m+qm9PHvQGxghSYXHwwcMmQ27RDpeBTT
	 qGt+fXo6FFbJL0mEdri520DqC31XBngWeBreBvDhfEvUIvtqQhrhl5jKKDx5joSIec
	 w7HUkdCaEi6EvcQFmdjx+/aaoL+8H7toRCYSTYaOaOfmChb8CZOxxYSbQP88uoL0DI
	 ZGXCdn6wcBTAQpDtAG6TGM0kQmwHEloSyexTzQlvaj89jcE790PaT0+3TMky7B1Q9u
	 1BkLRLK0WFF3Q==
Date: Fri, 28 Jan 2022 12:23:49 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Julien Grall <julien.grall.oss@gmail.com>, 
    Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>, 
    xen-devel <xen-devel@lists.xenproject.org>, stefanos@xilinx.com, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [XEN v1] xen/arm: io: Check ESR_EL2.ISV != 0 before searching
 for a MMIO handler
In-Reply-To: <9880cf7c-962f-8a32-483c-2bf5889d3273@xen.org>
Message-ID: <alpine.DEB.2.22.394.2201281216130.27308@ubuntu-linux-20-04-desktop>
References: <20220126165827.61168-1-ayankuma@xilinx.com> <CAJ=z9a1KjOAeR4vpRQGA_sYSvx1h331NKim2bgG8jyru94Beow@mail.gmail.com> <eeedbb72-d881-363d-c862-234b705eaec7@xilinx.com> <CAJ=z9a0VEqr_ODQZvdsO82PiOpHt5-TVc4JWE5pJCeNYPh+XHg@mail.gmail.com>
 <bee7ea7a-6d3d-bf3c-4b5f-d40deb601867@xilinx.com> <2064878e-4ef1-f0a3-1476-7175c2c8d29e@xen.org> <bcd28a18-80ea-0987-6867-5c6fc634a8a5@xilinx.com> <f6853134-8b65-5ffb-b39a-62ed26b3f499@xen.org> <alpine.DEB.2.22.394.2201271327430.27308@ubuntu-linux-20-04-desktop>
 <CAJ=z9a2Sp6w0b21p96YHx4w_m0jAbYJ4v=cVar-1nPeL7SotZw@mail.gmail.com> <CAJ=z9a1HML30aGn52GY34g-QbvLPHep7j=H-UDxsH1+B0CEb3Q@mail.gmail.com> <alpine.DEB.2.22.394.2201271513330.27308@ubuntu-linux-20-04-desktop> <9880cf7c-962f-8a32-483c-2bf5889d3273@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 28 Jan 2022, Julien Grall wrote:
> On 28/01/2022 01:20, Stefano Stabellini wrote:
> > On Thu, 27 Jan 2022, Julien Grall wrote:
> > > On Thu, 27 Jan 2022 at 23:05, Julien Grall <julien.grall.oss@gmail.com>
> > > wrote:
> > > > 
> > > > On Thu, 27 Jan 2022 at 22:40, Stefano Stabellini
> > > > <sstabellini@kernel.org> wrote:
> > > > > I am with you on both points.
> > > > > 
> > > > > One thing I noticed is that the code today is not able to deal with
> > > > > IO_UNHANDLED for MMIO regions handled by IOREQ servers or Xen MMIO
> > > > > emulator handlers. p2m_resolve_translation_fault and try_map_mmio are
> > > > > called after try_handle_mmio returns IO_UNHANDLED but try_handle_mmio
> > > > > is
> > > > > not called a second time (or am I mistaken?)
> > > > 
> > > > Why would you need it? If try_mmio_fault() doesn't work the first time,
> > > > then
> > > 
> > > Sorry I meant try_handle_mmio().
> > > 
> > > > it will not work the second it.
> > 
> > I think I explained myself badly, I'll try again below.
> > 
> > 
> > > > > Another thing I noticed is that currently find_mmio_handler and
> > > > > try_fwd_ioserv expect dabt to be already populated and valid so it
> > > > > would
> > > > > be better if we could get there only when dabt.valid.
> > > > > 
> > > > > With these two things in mind, I think maybe the best thing to do is
> > > > > to
> > > > > change the code in do_trap_stage2_abort_guest slightly so that
> > > > > p2m_resolve_translation_fault and try_map_mmio are called first when
> > > > > !dabt.valid.
> > > > 
> > > > An abort will mostly likely happen because of emulated I/O. If we call
> > > > p2m_resolve_translation_fault() and try_map_mmio() first, then it means
> > > > the processing will take longer than necessary for the common case.
> > > > 
> > > > So I think we want to keep the order as it is. I.e first trying the MMIO
> > > > and then falling back to the less likely reason for a trap.
> > 
> > Yeah I thought about it as well. The idea would be that if dabt.valid is
> > set then we leave things as they are (we call try_handle_mmio first) but
> > if dabt.valid is not set (it is not valid) then we skip the
> > try_handle_mmio() call because it wouldn't succeed anyway and go
> > directly to p2m_resolve_translation_fault() and try_map_mmio().
> > 
> > If either of them work (also reading what you wrote about it) then we
> > return immediately.
> 
> Ok. So the assumption is data abort with invalid syndrome would mostly likely
> be because of a fault handled by p2m_resolve_translation_fault().
> 
> I think this makes sense. However, I am not convinced we can currently safely
> call try_map_mmio() before try_handle_mmio(). This is because the logic in
> try_map_mmio() is quite fragile and we may mistakenly map an emulated region.
> 
> Similarly, we can't call try_map_mmio() before p2m_resolve_translation_fault()
> because a transient fault may be
> misinterpreted.
> 
> I think we may be able to harden try_map_mmio() by checking if the I/O region
> is emulated. But this will need to be fully thought through first.

That's a good point. I wonder if it could be as simple as making sure
that iomem_access_permitted returns false for all emulated regions?
Looking at the code, it looks like it is already the case today. Is that
right?


> > If not, then we call decode_instruction from do_trap_stage2_abort_guest
> > and try again. The second time dabt.valid is set so we end up calling
> > try_handle_mmio() as usual.
> 
> With the approach below, you will also end up to call
> p2m_resolve_translation_fault() and try_map_mmio() a second time if
> try_handle_mmio() fails.
 
Yeah... we can find a way to avoid it.


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 20:30:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 20:30:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262141.454268 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDXsl-0003hy-C8; Fri, 28 Jan 2022 20:30:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262141.454268; Fri, 28 Jan 2022 20:30:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDXsl-0003hr-8b; Fri, 28 Jan 2022 20:30:07 +0000
Received: by outflank-mailman (input) for mailman id 262141;
 Fri, 28 Jan 2022 20:30:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wh6+=SM=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nDXsk-0003dh-1v
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 20:30:06 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 120d823b-8079-11ec-8eb8-a37418f5ba1a;
 Fri, 28 Jan 2022 21:30:04 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id DD72A61DE6;
 Fri, 28 Jan 2022 20:30:01 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E781CC340E7;
 Fri, 28 Jan 2022 20:30: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: 120d823b-8079-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1643401801;
	bh=RKV20mcs0YQ9ZC7KBpf+XAcxdeRT8EKhtQvq5kUUK+8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=sbGLy2nKEEIhkv54P/gr8hp4m3phf1ze92FAdZEfCI16D+QmArj3V5+rrKYa0Pd40
	 wBWeqJrjs+S7UhNrG8Ujg/6bIRA4O2HoIUrJsopuv1uPLKyct36YL68xSxkxzVHfv0
	 Dc9HP5eETeKN+JipfQHH+FakgFXxviX2LNs9rGZOlZHY1hZqAfiDQs04yNedm3Dcb+
	 4dI+sSKLVp3LPt07CZGAMqVAl9zpRLB88pRxwhdC5FRiGKqAUJQmLSILQwE9vS1Je7
	 mbU7h2t+U95ny/mKnIRL/mU3eZ2sxOujXO9DOJXxVq+8q2auJrX51LRGOnqDKZG+XA
	 WZR8jSG7q1WmA==
Date: Fri, 28 Jan 2022 12:30:00 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>
cc: Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
    Julien Grall <julien.grall.oss@gmail.com>, 
    xen-devel <xen-devel@lists.xenproject.org>, stefanos@xilinx.com, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [XEN v1] xen/arm: io: Check ESR_EL2.ISV != 0 before searching
 for a MMIO handler
In-Reply-To: <95944225-6642-b41c-c496-d735826e3c93@xilinx.com>
Message-ID: <alpine.DEB.2.22.394.2201281224230.27308@ubuntu-linux-20-04-desktop>
References: <20220126165827.61168-1-ayankuma@xilinx.com> <CAJ=z9a1KjOAeR4vpRQGA_sYSvx1h331NKim2bgG8jyru94Beow@mail.gmail.com> <eeedbb72-d881-363d-c862-234b705eaec7@xilinx.com> <CAJ=z9a0VEqr_ODQZvdsO82PiOpHt5-TVc4JWE5pJCeNYPh+XHg@mail.gmail.com>
 <bee7ea7a-6d3d-bf3c-4b5f-d40deb601867@xilinx.com> <2064878e-4ef1-f0a3-1476-7175c2c8d29e@xen.org> <bcd28a18-80ea-0987-6867-5c6fc634a8a5@xilinx.com> <f6853134-8b65-5ffb-b39a-62ed26b3f499@xen.org> <alpine.DEB.2.22.394.2201271327430.27308@ubuntu-linux-20-04-desktop>
 <CAJ=z9a2Sp6w0b21p96YHx4w_m0jAbYJ4v=cVar-1nPeL7SotZw@mail.gmail.com> <CAJ=z9a1HML30aGn52GY34g-QbvLPHep7j=H-UDxsH1+B0CEb3Q@mail.gmail.com> <alpine.DEB.2.22.394.2201271513330.27308@ubuntu-linux-20-04-desktop> <9880cf7c-962f-8a32-483c-2bf5889d3273@xen.org>
 <95944225-6642-b41c-c496-d735826e3c93@xilinx.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-140742879-1643401618=:27308"
Content-ID: <alpine.DEB.2.22.394.2201281227040.27308@ubuntu-linux-20-04-desktop>

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-140742879-1643401618=:27308
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2201281227041.27308@ubuntu-linux-20-04-desktop>

On Fri, 28 Jan 2022, Ayan Kumar Halder wrote:
> Hi Julien/Stefano,
> 
> Good discussion to learn about Xen (from a newbie's perspective). :)
> 
> I am trying to clarify my understanding. Some queries as below :-
> 
> On 28/01/2022 09:46, Julien Grall wrote:
> > 
> > 
> > On 28/01/2022 01:20, Stefano Stabellini wrote:
> > > On Thu, 27 Jan 2022, Julien Grall wrote:
> > > > On Thu, 27 Jan 2022 at 23:05, Julien Grall <julien.grall.oss@gmail.com>
> > > > wrote:
> > > > > 
> > > > > On Thu, 27 Jan 2022 at 22:40, Stefano Stabellini
> > > > > <sstabellini@kernel.org> wrote:
> > > > > > I am with you on both points.
> > > > > > 
> > > > > > One thing I noticed is that the code today is not able to deal with
> > > > > > IO_UNHANDLED for MMIO regions handled by IOREQ servers or Xen MMIO
> > > > > > emulator handlers. p2m_resolve_translation_fault and try_map_mmio
> > > > > > are
> > > > > > called after try_handle_mmio returns IO_UNHANDLED but
> > > > > > try_handle_mmio is
> > > > > > not called a second time (or am I mistaken?)
> > > > > 
> > > > > Why would you need it? If try_mmio_fault() doesn't work the first
> > > > > time, then
> > > > 
> > > > Sorry I meant try_handle_mmio().
> > > > 
> > > > > it will not work the second it.
> > > 
> > > I think I explained myself badly, I'll try again below.
> > > 
> > > 
> > > > > > Another thing I noticed is that currently find_mmio_handler and
> > > > > > try_fwd_ioserv expect dabt to be already populated and valid so it
> > > > > > would
> > > > > > be better if we could get there only when dabt.valid.
> > > > > > 
> > > > > > With these two things in mind, I think maybe the best thing to do is
> > > > > > to
> > > > > > change the code in do_trap_stage2_abort_guest slightly so that
> > > > > > p2m_resolve_translation_fault and try_map_mmio are called first when
> > > > > > !dabt.valid.
> > > > > 
> > > > > An abort will mostly likely happen because of emulated I/O. If we call
> > > > > p2m_resolve_translation_fault() and try_map_mmio() first, then it
> > > > > means
> > > > > the processing will take longer than necessary for the common case.
> > > > > 
> > > > > So I think we want to keep the order as it is. I.e first trying the
> > > > > MMIO
> > > > > and then falling back to the less likely reason for a trap.
> > > 
> > > Yeah I thought about it as well. The idea would be that if dabt.valid is
> > > set then we leave things as they are (we call try_handle_mmio first) but
> > > if dabt.valid is not set (it is not valid) then we skip the
> > > try_handle_mmio() call because it wouldn't succeed anyway and go
> > > directly to p2m_resolve_translation_fault() and try_map_mmio().
> > > 
> > > If either of them work (also reading what you wrote about it) then we
> > > return immediately.
> > 
> > Ok. So the assumption is data abort with invalid syndrome would mostly
> > likely be because of a fault handled by p2m_resolve_translation_fault().
> > 
> > I think this makes sense. However, I am not convinced we can currently
> > safely call try_map_mmio() before try_handle_mmio(). This is because the
> > logic in try_map_mmio() is quite fragile and we may mistakenly map an
> > emulated region.
> 
> By emulated region, you mean vgic.dbase (Refer
> https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/vgic-v2.c;h=589c033eda8f5e11af33c868eae2c159f985eac9;hb=0bdc43c8dec993258e930b34855853c22b917519#l702,
> which has not been mapped to the guest) and thus requires an MMIO handler.
> 
> Is my understanding correcr ?
 
I'll try to answer for Julien but yes.


> If so, can Xen mantain a table of such emulated regions ? I am guessing that
> all emulated regions will have a mmio_handler. Then, before invoking
> try_map_mmio(), it can check the table.

Today we keep those as a list, see find_mmio_handler (for regions
emulated in Xen) and also ioreq_server_select (for regions emulated by
QEMU or other external emulators.)

But I think there might be a simpler way: if you look at try_map_mmio,
you'll notice that there is iomem_access_permitted check. I don't think
that check can succeed for an emulated region. (I'd love for Julien and
others to confirm this observation though.)

 
> > Similarly, we can't call try_map_mmio() before
> > p2m_resolve_translation_fault() because a transient fault may be
> > misinterpreted.
> > 
> > I think we may be able to harden try_map_mmio() by checking if the I/O
> > region is emulated. But this will need to be fully thought through first.
> > 
> > > 
> > > If not, then we call decode_instruction from do_trap_stage2_abort_guest
> > > and try again. The second time dabt.valid is set so we end up calling
> > > try_handle_mmio() as usual.
> > 
> > With the approach below, you will also end up to call
> > p2m_resolve_translation_fault() and try_map_mmio() a second time if
> > try_handle_mmio() fails.
> > 
> > > 
> > > Just for clarity let me copy/paste the relevant code, apologies if it
> > > was already obvious to you -- I got the impression my suggestion wasn't
> > > very clear.
> > > 
> > > 
> > > 
> > > +again:
> > > +        if ( is_data && hsr.dabt.valid )
> > >          {
> > >              enum io_state state = try_handle_mmio(regs, hsr, gpa);
> > > 
> > >              switch ( state )
> > >              {
> > >              case IO_ABORT:
> > >                  goto inject_abt;
> > >              case IO_HANDLED:
> > >                  advance_pc(regs, hsr);
> > >                  return;
> > >              case IO_RETRY:
> > >                  /* finish later */
> > >                  return;
> > >              case IO_UNHANDLED:
> > >                  /* IO unhandled, try another way to handle it. */
> > >                  break;
> > >              }
> > >          }
> > > 
> > >          /*
> > >           * First check if the translation fault can be resolved by the
> > >           * P2M subsystem. If that's the case nothing else to do.
> > >           */
> > >          if ( p2m_resolve_translation_fault(current->domain,
> > >                                             gaddr_to_gfn(gpa)) )
> > >              return;
> > > 
> > >          if ( is_data && try_map_mmio(gaddr_to_gfn(gpa)) )
> > >              return;
> > > 
> > > +        if ( !hsr.dabt.valid )
> > One more thing I noticed, a stage 2 fault can also happen on an access made
> > for a stage 1 translation walk. In this case, I think we don't want to
> > decode the instruction.
> > 
> > So this would need to be !hsr.dabt.valid && !hsr.dabt.s1ptw. Depending on
> > which patch we go with, this would also need to be adjusted in the other one
> > as well.
> 
> This triggered me to check for the remaining bits as well. Refer DDI 0487G.b
> Armv8 Arm, "ISS encoding for an exception from a Data Abort", Page D13-3219
> 
> I guess we need to check the following :-
> 
> 1. !hsr.dabt.valid
> 
> 2. !hsr.dabt.s1ptw - Abort may be due to stage 1 translation table walk
> 
> 3. !hsr.dabt.cache - Abort is due to cache maintenance or address translation
> instructions. We do not decode these instructions.
> 
> 4. !hsr.dabt.eat - Abort is external

Yes, makes sense to me

 
> There is no need to check the following due to the reasons mentioned :-
> 
> 1. hsr.dabt.dfsc - no need as we have already determined that it is a
> translation fault from EL0/EL1.
> 
> 2. hsr.dabt.write - no need as the fault can be caused due to both read or
> write
> 
> 3. hsr.dabt.fnv - no use for this in instruction decoding

These also makes sense to me


> 4. hsr.dabt.sbzp0 - Bits[12:11] - We know that DFSC cannot be 0b010000
> (FEAT_RAS), We may not check for FEAT_LS64 as from the instruction opcode, we
> can make out that it is not ST64BV, LD64B, ST64B or ST64BV0
> 
>                          Bit[13] - VCNR - The instruction opcode will tell us
> that it is not MRS/MSR instruction.

Yeah this check could be useful in the future but it would be redundant
at the moment. I am fine either way, I'll let other comment.

--8323329-140742879-1643401618=:27308--


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 21:33:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 21:33:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262148.454300 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDYrs-0001rL-1j; Fri, 28 Jan 2022 21:33:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262148.454300; Fri, 28 Jan 2022 21:33:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDYrr-0001oM-SN; Fri, 28 Jan 2022 21:33:15 +0000
Received: by outflank-mailman (input) for mailman id 262148;
 Fri, 28 Jan 2022 21:33:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wh6+=SM=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nDYrq-0001M8-RU
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 21:33:14 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e579ac03-8081-11ec-8f75-fffcc8bd4f1a;
 Fri, 28 Jan 2022 22:33:14 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 89CCCB82697;
 Fri, 28 Jan 2022 21:33:12 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id CD8F4C340EC;
 Fri, 28 Jan 2022 21:33: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: e579ac03-8081-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1643405591;
	bh=7u5+Xn46ET2Kq+hchW4hiMSc7HY0HUOJ2bLjmmIyZt8=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=l4nD26LstxRti4Jvl8qKqfGLBIdjuVDo0UkmTz6mTyCa/PFnxmnJmsGCHz94YKyd2
	 5ZRJaPrHAnrrdYC+etQB8+qmMmwTNz5StdQzP9gldgF1xfqqLMPt6/3GnUtIi2Y3gs
	 lh4OUyf+WB3Fu9ZbyfYG0L7BZLOLduX9BFbdgEVen9kV5i170q7cyTzWSUfqpEIPQC
	 Vjq1aV5JprTAYs/chDfIsT0VeD4MddnLPv55KD49XLgpahwiYIsnMfCxxUFAP9PzcR
	 CuCrKz14k4DyC9TaHNdmOfullJx/Qtyqi0QiyqpfY4TptdB2mc7a9QRomuIlRs6cn1
	 f/vW1KKEKZ+gw==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	jgross@suse.com,
	Bertrand.Marquis@arm.com,
	julien@xen.org,
	Volodymyr_Babchuk@epam.com,
	Luca Miccio <lucmiccio@gmail.com>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v3 2/5] xen: make evtchn_alloc_unbound public
Date: Fri, 28 Jan 2022 13:33:03 -0800
Message-Id: <20220128213307.2822078-2-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2201281330520.27308@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201281330520.27308@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Luca Miccio <lucmiccio@gmail.com>

The xenstore event channel will be allocated for dom0less domains. It is
necessary to have access to the evtchn_alloc_unbound function to do
that, so make evtchn_alloc_unbound public.

Add a skip_xsm parameter to allow disabling the XSM check in
evtchn_alloc_unbound (xsm_evtchn_unbound wouldn't work for a call
originated from Xen before running any domains.)

Signed-off-by: Luca Miccio <lucmiccio@gmail.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: George Dunlap <george.dunlap@citrix.com>
CC: Jan Beulich <jbeulich@suse.com>
CC: Wei Liu <wl@xen.org>
---
Changes v3:
- expose evtchn_alloc_unbound, assing a skip_xsm parameter
---
 xen/common/event_channel.c | 13 ++++++++-----
 xen/include/xen/event.h    |  3 +++
 2 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
index da88ad141a..be57d00a15 100644
--- a/xen/common/event_channel.c
+++ b/xen/common/event_channel.c
@@ -284,7 +284,7 @@ void evtchn_free(struct domain *d, struct evtchn *chn)
     xsm_evtchn_close_post(chn);
 }
 
-static int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
+int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc, bool skip_xsm)
 {
     struct evtchn *chn;
     struct domain *d;
@@ -301,9 +301,12 @@ static int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc)
         ERROR_EXIT_DOM(port, d);
     chn = evtchn_from_port(d, port);
 
-    rc = xsm_evtchn_unbound(XSM_TARGET, d, chn, alloc->remote_dom);
-    if ( rc )
-        goto out;
+    if ( !skip_xsm )
+    {
+        rc = xsm_evtchn_unbound(XSM_TARGET, d, chn, alloc->remote_dom);
+        if ( rc )
+            goto out;
+    }
 
     evtchn_write_lock(chn);
 
@@ -1195,7 +1198,7 @@ long do_event_channel_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
         struct evtchn_alloc_unbound alloc_unbound;
         if ( copy_from_guest(&alloc_unbound, arg, 1) != 0 )
             return -EFAULT;
-        rc = evtchn_alloc_unbound(&alloc_unbound);
+        rc = evtchn_alloc_unbound(&alloc_unbound, false);
         if ( !rc && __copy_to_guest(arg, &alloc_unbound, 1) )
             rc = -EFAULT; /* Cleaning up here would be a mess! */
         break;
diff --git a/xen/include/xen/event.h b/xen/include/xen/event.h
index 21c95e14fd..0a2cdedf7d 100644
--- a/xen/include/xen/event.h
+++ b/xen/include/xen/event.h
@@ -68,6 +68,9 @@ int evtchn_close(struct domain *d1, int port1, bool guest);
 /* Free an event channel. */
 void evtchn_free(struct domain *d, struct evtchn *chn);
 
+/* Create a new event channel port */
+int evtchn_alloc_unbound(evtchn_alloc_unbound_t *alloc, bool skip_xsm);
+
 /* Allocate a specific event channel port. */
 int evtchn_allocate_port(struct domain *d, unsigned int port);
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Jan 28 21:33:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 21:33:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262146.454290 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDYrr-0001eL-5f; Fri, 28 Jan 2022 21:33:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262146.454290; Fri, 28 Jan 2022 21:33:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDYrr-0001e9-1o; Fri, 28 Jan 2022 21:33:15 +0000
Received: by outflank-mailman (input) for mailman id 262146;
 Fri, 28 Jan 2022 21:33:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wh6+=SM=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nDYrp-0001cx-ME
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 21:33:13 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e45ac956-8081-11ec-8eb8-a37418f5ba1a;
 Fri, 28 Jan 2022 22:33:12 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id D0C6961EA2;
 Fri, 28 Jan 2022 21:33:10 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 48118C340E7;
 Fri, 28 Jan 2022 21:33: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: e45ac956-8081-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1643405590;
	bh=YK3fmTEfi9K2Ficig+PWAtwXSeRhCCBhmIzpGhNdTvY=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=kALIBh445OYoredSX29fwx2QMuUsON3Ykd9WBMP0xTv1jPh3BzHc4tnLGjAOOx35z
	 6KAEEMhg2+lYywXJpZZeI0kty2+R6Qaq6JpLNnrOZ87oTeRhCR8mWmWUzQ3pvG2rGb
	 UAIc4jiqOz9HHjqkj9WSeQegqi6JUOkqArsdXAiJlujQxFrKITAjMwUENaF1MQ1kR9
	 bnMn/Rw71iHRJJBknYr30eJYYn4XuejGTrKUlO/aQxMlbHjYMxTs3JC8B3yLhvitji
	 a0Z46GLIOM3Au1C0XKjIyXNa03IHHQwIdXeLldTyoMNiVOuvFf/Vq4jPy9ABJutkuc
	 UzfgDxHz+DyCg==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	jgross@suse.com,
	Bertrand.Marquis@arm.com,
	julien@xen.org,
	Volodymyr_Babchuk@epam.com,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>
Subject: [PATCH v3 1/5] xen: introduce xen,enhanced dom0less property
Date: Fri, 28 Jan 2022 13:33:02 -0800
Message-Id: <20220128213307.2822078-1-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2201281330520.27308@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201281330520.27308@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Stefano Stabellini <stefano.stabellini@xilinx.com>

Introduce a new "xen,enhanced" dom0less property to enable/disable PV
driver interfaces for dom0less guests. Currently only "enabled" and
"disabled" are supported property values (and empty). Leave the option
open to implement further possible values in the future (e.g.
"xenstore" to enable only xenstore.)

The configurable option is for domUs only. For dom0 we always set the
corresponding property in the Xen code to true (PV interfaces enabled.)

This patch only parses the property. Next patches will make use of it.

Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v3:
- improve commit message

Changes in v2:
- rename kinfo.enhanced to kinfo.dom0less_enhanced
- set kinfo.dom0less_enhanced to true for dom0
- handle -ENODATA in addition to -EILSEQ
---
 docs/misc/arm/device-tree/booting.txt | 18 ++++++++++++++++++
 xen/arch/arm/domain_build.c           |  8 ++++++++
 xen/arch/arm/include/asm/kernel.h     |  3 +++
 3 files changed, 29 insertions(+)

diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
index 71895663a4..38c29fb3d8 100644
--- a/docs/misc/arm/device-tree/booting.txt
+++ b/docs/misc/arm/device-tree/booting.txt
@@ -169,6 +169,24 @@ with the following properties:
     Please note that the SPI used for the virtual pl011 could clash with the
     physical SPI of a physical device assigned to the guest.
 
+- xen,enhanced
+
+    A string property. Possible property values are:
+
+    - "enabled" (or missing property value)
+    Xen PV interfaces, including grant-table and xenstore, will be
+    enabled for the VM.
+
+    - "disabled"
+    Xen PV interfaces are disabled.
+
+    If the xen,enhanced property is present with no value, it defaults
+    to "enabled". If the xen,enhanced property is not present, PV
+    interfaces are disabled.
+
+    In the future other possible property values might be added to
+    enable only selected interfaces.
+
 - nr_spis
 
     Optional. A 32-bit integer specifying the number of SPIs (Shared
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 6931c022a2..9144d6c0b6 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2963,6 +2963,7 @@ static int __init construct_domU(struct domain *d,
                                  const struct dt_device_node *node)
 {
     struct kernel_info kinfo = {};
+    const char *dom0less_enhanced;
     int rc;
     u64 mem;
 
@@ -2978,6 +2979,12 @@ static int __init construct_domU(struct domain *d,
 
     kinfo.vpl011 = dt_property_read_bool(node, "vpl011");
 
+    rc = dt_property_read_string(node, "xen,enhanced", &dom0less_enhanced);
+    if ( rc == -EILSEQ ||
+         rc == -ENODATA ||
+         (rc == 0 && !strcmp(dom0less_enhanced, "enabled")) )
+        kinfo.dom0less_enhanced = true;
+
     if ( vcpu_create(d, 0) == NULL )
         return -ENOMEM;
 
@@ -3095,6 +3102,7 @@ static int __init construct_dom0(struct domain *d)
 
     kinfo.unassigned_mem = dom0_mem;
     kinfo.d = d;
+    kinfo.dom0less_enhanced = true;
 
     rc = kernel_probe(&kinfo, NULL);
     if ( rc < 0 )
diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
index 874aa108a7..c4dc039b54 100644
--- a/xen/arch/arm/include/asm/kernel.h
+++ b/xen/arch/arm/include/asm/kernel.h
@@ -36,6 +36,9 @@ struct kernel_info {
     /* Enable pl011 emulation */
     bool vpl011;
 
+    /* Enable PV drivers */
+    bool dom0less_enhanced;
+
     /* GIC phandle */
     uint32_t phandle_gic;
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Jan 28 21:33:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 21:33:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262145.454279 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDYrh-0001MM-So; Fri, 28 Jan 2022 21:33:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262145.454279; Fri, 28 Jan 2022 21: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 1nDYrh-0001MF-PT; Fri, 28 Jan 2022 21:33:05 +0000
Received: by outflank-mailman (input) for mailman id 262145;
 Fri, 28 Jan 2022 21:33:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wh6+=SM=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nDYrg-0001M8-TQ
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 21:33:04 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id de4c123f-8081-11ec-8f75-fffcc8bd4f1a;
 Fri, 28 Jan 2022 22:33:02 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 8FC6F61E9A;
 Fri, 28 Jan 2022 21:33:00 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E1245C340EC;
 Fri, 28 Jan 2022 21:32: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: de4c123f-8081-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1643405580;
	bh=DVSVQE2+B4BrH2Gb3Fiu+UcJh3jXsRSt4BAmn6YYQMc=;
	h=Date:From:To:cc:Subject:From;
	b=bt5ZjhrZL5AMzy1XGcXe0zYVbDMWZt+kqcn9jj+dGfpuPUsszANM5yHdx2+pXW/MC
	 ifsmoLv0xQQGxBBPVOtvd+WpqodBfyJFZomt9Zmj2b43327Aa7SEdfdJbig8wHKDdG
	 jv+bcg/OqIj72StE0tL7Hw0uho9eTw0aYBwFAvdtpXEB53Oyot4RWu/iI8GNe2Ydap
	 J9vfsu2VjQo0jGqPfYDFOXmGJmPv4UVeLUdzjfFIiMMyWnR1c7PLKaPUzRS5e2C9Ik
	 KbHDnaMfoTgATbzQ8h0VxqcW85zcT7tNPo4qNP8pSU8LOuCReLdUJRBavtfMu07TBl
	 MGMpNhjwr0MdQ==
Date: Fri, 28 Jan 2022 13:32:59 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: xen-devel@lists.xenproject.org
cc: sstabellini@kernel.org, jgross@suse.com, Bertrand.Marquis@arm.com, 
    julien@xen.org, Volodymyr_Babchuk@epam.com
Subject: [PATCH v3 0/5] dom0less PV drivers
Message-ID: <alpine.DEB.2.22.394.2201281330520.27308@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Hi all,

Currently dom0less guests cannot use PV drivers because they don't have
access to xenstore. Also, the hypervisor node in device tree is missing
so they don't detect that they are running on Xen (thus, they don't try
to enable PV interfaces.)

This patch series enables dom0less guests (on ARM) to use PV drivers.

Instead of initializing xenstore immediately at boot, dom0less guests
get access to xenstore later. They delay the initialization until they
receive a notification via the xenstore event channel (which is
available at boot.)

An example workflow is as follows:
- all domains start in parallel, dom0less guests are immediately running
- when dom0 is up and running, the init-dom0less application is called
- dom0less guests receive the notification and initialize xenstore
- now xl network-attach/disk-attach works as expected for dom0less domUs

The patch series introduces a new dom0less device tree option
"xen,enhanced" (in the Xen device tree) to specify whether PV interfaces
should be enabled/disabled for the dom0less guest.

Cheers,

Stefano


Luca Miccio (4):
      xen: make evtchn_alloc_unbound public
      xen/arm: configure dom0less domain for enabling xenstore after boot
      xenstored: send an evtchn notification on introduce_domain
      tools: add example application to initialize dom0less PV drivers

Stefano Stabellini (1):
      xen: introduce xen,enhanced dom0less property

 docs/misc/arm/device-tree/booting.txt |  18 +++
 tools/helpers/Makefile                |  13 ++
 tools/helpers/init-dom0less.c         | 269 ++++++++++++++++++++++++++++++++++
 tools/xenstore/xenstored_domain.c     |   3 +
 xen/arch/arm/domain_build.c           |  49 +++++++
 xen/arch/arm/include/asm/kernel.h     |   3 +
 xen/common/event_channel.c            |  13 +-
 xen/include/xen/event.h               |   3 +
 8 files changed, 366 insertions(+), 5 deletions(-)
 create mode 100644 tools/helpers/init-dom0less.c


From xen-devel-bounces@lists.xenproject.org Fri Jan 28 21:33:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 21:33:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262149.454322 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDYrt-0002Mm-JI; Fri, 28 Jan 2022 21:33:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262149.454322; Fri, 28 Jan 2022 21:33:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDYrt-0002K1-9V; Fri, 28 Jan 2022 21:33:17 +0000
Received: by outflank-mailman (input) for mailman id 262149;
 Fri, 28 Jan 2022 21:33:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wh6+=SM=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nDYrr-0001cx-6y
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 21:33:15 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e61555c2-8081-11ec-8eb8-a37418f5ba1a;
 Fri, 28 Jan 2022 22:33:14 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id C32B7B82712;
 Fri, 28 Jan 2022 21:33:13 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1A333C340EE;
 Fri, 28 Jan 2022 21:33:12 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e61555c2-8081-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1643405592;
	bh=uo5SD5LknaPvjJ9o9KYAlXFMnGBluvR70SgtsEcJmPc=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=qS5bRtf9dV22ICIT+x5QZ2noHh8He9luIbktKoCmhY5OGZngy+eTM7I49jDQ/13Aw
	 yXcedtKzNAUUf6WosIsKmjXl8mZZtIDpGOBra2mhp6cunv2m58uCxxqCg8rPF42gZ/
	 sUig1fxB3dN3HycV8EfnhlxpUNWL8iaTMUWsNJSSf6fC6eYPAKCzA1W3U+IOR1zEWJ
	 w+XXBEs+MXyZFOSLft9ec/HAMer96h+tGmCNVTouhPrmkoLp0Ea5toXDAzgjcg0ze4
	 iNrV0Tr9ZiROtZis07SaK37Lq7dJXDtOEYT64hxqLI4WSQzMgCsfpf2NU4vEVkVKVh
	 He/BWwNTfYoIw==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	jgross@suse.com,
	Bertrand.Marquis@arm.com,
	julien@xen.org,
	Volodymyr_Babchuk@epam.com,
	Luca Miccio <lucmiccio@gmail.com>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>
Subject: [PATCH v3 4/5] xenstored: send an evtchn notification on introduce_domain
Date: Fri, 28 Jan 2022 13:33:05 -0800
Message-Id: <20220128213307.2822078-4-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2201281330520.27308@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201281330520.27308@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Luca Miccio <lucmiccio@gmail.com>

When xs_introduce_domain is called, send out a notification on the
xenstore event channel so that any (dom0less) domain waiting for the
xenstore interface to be ready can continue with the initialization.

The extra notification is harmless for domains that don't require it.

Signed-off-by: Luca Miccio <lucmiccio@gmail.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v2:
- drop the new late_init parameter
---
 tools/xenstore/xenstored_domain.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index d03c7d93a9..7487129e47 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -461,6 +461,9 @@ static struct domain *introduce_domain(const void *ctx,
 		/* Now domain belongs to its connection. */
 		talloc_steal(domain->conn, domain);
 
+		/* Notify the domain that xenstore is available */
+		xenevtchn_notify(xce_handle, domain->port);
+
 		if (!is_master_domain && !restore)
 			fire_watches(NULL, ctx, "@introduceDomain", NULL,
 				     false, NULL);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Jan 28 21:33:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 21:33:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262147.454295 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDYrr-0001l8-LI; Fri, 28 Jan 2022 21:33:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262147.454295; Fri, 28 Jan 2022 21:33:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDYrr-0001k3-HQ; Fri, 28 Jan 2022 21:33:15 +0000
Received: by outflank-mailman (input) for mailman id 262147;
 Fri, 28 Jan 2022 21:33:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wh6+=SM=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nDYrq-0001cx-LL
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 21:33:14 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e5572ef4-8081-11ec-8eb8-a37418f5ba1a;
 Fri, 28 Jan 2022 22:33:13 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 7DAF061EA3;
 Fri, 28 Jan 2022 21:33:12 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 873FFC36AE2;
 Fri, 28 Jan 2022 21:33: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: e5572ef4-8081-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1643405591;
	bh=fAa4cp3TGd4xOz1KtDl8R7cluLC6rckspNgjRiOwBEE=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=dVOg5DCnM0f/14hOYzWu0kzFECqXqGddMpRaC1B/zrzvVPHsyx01co1S71ITpbxQ2
	 05ekOCBEnVGxQRHDhfBkWaHifAfaeo4YLG34O5VtoSMywqQFzIJ0bulRA2Vl2my67u
	 umGBkuEgv/zf3Ycsl1HwN0LSqDA12RJg5DhXO5P24ohAA+Tuhw3NBC5uTImaSKBoiV
	 oWOhaB6SM9dVgC4rhQKZo3VjNjXBhANwPtWqfJ3n9ykxqAhlFrZjyJujIXIkVpZ+F4
	 RiwEqonDQrgRGwHolQymFC+BULCxCjmerg/b/jleej4n/dHY3fz4OXGqHtSiTsRFyu
	 /Qylq2cE8LdYw==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	jgross@suse.com,
	Bertrand.Marquis@arm.com,
	julien@xen.org,
	Volodymyr_Babchuk@epam.com,
	Luca Miccio <lucmiccio@gmail.com>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>
Subject: [PATCH v3 3/5] xen/arm: configure dom0less domain for enabling xenstore after boot
Date: Fri, 28 Jan 2022 13:33:04 -0800
Message-Id: <20220128213307.2822078-3-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2201281330520.27308@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201281330520.27308@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Luca Miccio <lucmiccio@gmail.com>

If "xen,enhanced" is enabled, then add to dom0less domains:

- the hypervisor node in device tree
- the xenstore event channel

The xenstore event channel is also used for the first notification to
let the guest know that xenstore has become available.

Signed-off-by: Luca Miccio <lucmiccio@gmail.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>

---
Changes in v3:
- use evtchn_alloc_unbound

Changes in v2:
- set HVM_PARAM_STORE_PFN to ~0ULL at domain creation
- in alloc_xenstore_evtchn do not call _evtchn_alloc_unbound
---
 xen/arch/arm/domain_build.c | 41 +++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 9144d6c0b6..8e030a7f05 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -27,6 +27,7 @@
 #include <asm/setup.h>
 #include <asm/cpufeature.h>
 #include <asm/domain_build.h>
+#include <xen/event.h>
 
 #include <xen/irq.h>
 #include <xen/grant_table.h>
@@ -2619,6 +2620,8 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
     int ret;
 
     kinfo->phandle_gic = GUEST_PHANDLE_GIC;
+    kinfo->gnttab_start = GUEST_GNTTAB_BASE;
+    kinfo->gnttab_size = GUEST_GNTTAB_SIZE;
 
     addrcells = GUEST_ROOT_ADDRESS_CELLS;
     sizecells = GUEST_ROOT_SIZE_CELLS;
@@ -2693,6 +2696,13 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
             goto err;
     }
 
+    if ( kinfo->dom0less_enhanced )
+    {
+        ret = make_hypervisor_node(d, kinfo, addrcells, sizecells);
+        if ( ret )
+            goto err;
+    }
+
     ret = fdt_end_node(kinfo->fdt);
     if ( ret < 0 )
         goto err;
@@ -2959,6 +2969,25 @@ static int __init construct_domain(struct domain *d, struct kernel_info *kinfo)
     return 0;
 }
 
+static int __init alloc_xenstore_evtchn(struct domain *d)
+{
+    evtchn_alloc_unbound_t alloc;
+    int rc;
+
+    alloc.dom = d->domain_id;
+    alloc.remote_dom = hardware_domain->domain_id;
+    rc = evtchn_alloc_unbound(&alloc, true);
+    if ( rc )
+    {
+        printk("Failed allocating event channel for domain\n");
+        return rc;
+    }
+
+    d->arch.hvm.params[HVM_PARAM_STORE_EVTCHN] = alloc.port;
+
+    return 0;
+}
+
 static int __init construct_domU(struct domain *d,
                                  const struct dt_device_node *node)
 {
@@ -3014,7 +3043,19 @@ static int __init construct_domU(struct domain *d,
         return rc;
 
     if ( kinfo.vpl011 )
+    {
         rc = domain_vpl011_init(d, NULL);
+        if ( rc < 0 )
+            return rc;
+    }
+
+    if ( kinfo.dom0less_enhanced )
+    {
+        rc = alloc_xenstore_evtchn(d);
+        if ( rc < 0 )
+            return rc;
+        d->arch.hvm.params[HVM_PARAM_STORE_PFN] = ~0ULL;
+    }
 
     return rc;
 }
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Jan 28 21:33:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 21:33:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262150.454325 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDYrt-0002RM-SX; Fri, 28 Jan 2022 21:33:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262150.454325; Fri, 28 Jan 2022 21:33:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDYrt-0002Oh-MX; Fri, 28 Jan 2022 21:33:17 +0000
Received: by outflank-mailman (input) for mailman id 262150;
 Fri, 28 Jan 2022 21:33:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wh6+=SM=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1nDYrs-0001cx-6u
 for xen-devel@lists.xenproject.org; Fri, 28 Jan 2022 21:33:16 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e5c69e33-8081-11ec-8eb8-a37418f5ba1a;
 Fri, 28 Jan 2022 22:33:14 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 4310261EB0;
 Fri, 28 Jan 2022 21:33:13 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9B52AC340E8;
 Fri, 28 Jan 2022 21:33:12 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e5c69e33-8081-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1643405593;
	bh=bEd7iBxH0aTKKnunQQ2/vuu6A9e4BjW1WCimR3ym00Q=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=qyafbf/DFj4CCLbH9w/HQJdusfkxlSlAd+e3fJcGSBvI6T43KCYyi81Ou4Rb7HCzX
	 IeGsbxpjJiGt8j4T1LNSQOmiNGTUqKBAYmOkEB1HeryGonv1bqezuwzOzCjZXTZQNZ
	 j3Yr0cAcI94uJdWwmv8fhzqR7zIvLkiPKjXo2t66irVGc3fpdoOGKXq8txMZ1RuhUL
	 jMYXy7htJ6VWj3rJq3M+8Ye4xTAE6jnxfxgpy32B4MU5te/QYuruM9W/n4LU36Bhxh
	 YcD325IUHxtpPe4IVrFkAWmUii9ktXrPt3Pp+oQ0m7x/ouEWO1oGoDPM7b+oAStXl2
	 szmucjY0XGb2Q==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	jgross@suse.com,
	Bertrand.Marquis@arm.com,
	julien@xen.org,
	Volodymyr_Babchuk@epam.com,
	Luca Miccio <lucmiccio@gmail.com>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v3 5/5] tools: add example application to initialize dom0less PV drivers
Date: Fri, 28 Jan 2022 13:33:06 -0800
Message-Id: <20220128213307.2822078-5-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2201281330520.27308@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2201281330520.27308@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Luca Miccio <lucmiccio@gmail.com>

Add an example application that can be run in dom0 to complete the
dom0less domains initialization so that they can get access to xenstore
and use PV drivers.

Signed-off-by: Luca Miccio <lucmiccio@gmail.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
CC: Wei Liu <wl@xen.org>
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Juergen Gross <jgross@suse.com>
---
Changes in v3:
- handle xenstore errors
- add an in-code comment about xenstore entries
- less verbose output
- clean-up error path in main

Changes in v2:
- do not set HVM_PARAM_STORE_EVTCHN twice
- rename restore_xenstore to create_xenstore
- increase maxmem
---
 tools/helpers/Makefile        |  13 ++
 tools/helpers/init-dom0less.c | 269 ++++++++++++++++++++++++++++++++++
 2 files changed, 282 insertions(+)
 create mode 100644 tools/helpers/init-dom0less.c

diff --git a/tools/helpers/Makefile b/tools/helpers/Makefile
index 7f6c422440..8e42997052 100644
--- a/tools/helpers/Makefile
+++ b/tools/helpers/Makefile
@@ -10,6 +10,9 @@ ifeq ($(CONFIG_Linux),y)
 ifeq ($(CONFIG_X86),y)
 PROGS += init-xenstore-domain
 endif
+ifeq ($(CONFIG_ARM),y)
+PROGS += init-dom0less
+endif
 endif
 
 XEN_INIT_DOM0_OBJS = xen-init-dom0.o init-dom-json.o
@@ -26,6 +29,13 @@ $(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS += $(CFLAGS_libxenstore)
 $(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS += $(CFLAGS_libxenlight)
 $(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS += -include $(XEN_ROOT)/tools/config.h
 
+INIT_DOM0LESS_OBJS = init-dom0less.o init-dom-json.o
+$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxentoollog)
+$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenstore)
+$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenlight)
+$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenctrl)
+$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenevtchn)
+
 .PHONY: all
 all: $(PROGS)
 
@@ -35,6 +45,9 @@ xen-init-dom0: $(XEN_INIT_DOM0_OBJS)
 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)
 
+init-dom0less: $(INIT_DOM0LESS_OBJS)
+	$(CC) $(LDFLAGS) -o $@ $(INIT_DOM0LESS_OBJS) $(LDLIBS_libxenctrl) $(LDLIBS_libxenevtchn) $(LDLIBS_libxentoollog) $(LDLIBS_libxenstore) $(LDLIBS_libxenlight) $(LDLIBS_libxenguest)  $(APPEND_LDFLAGS)
+
 .PHONY: install
 install: all
 	$(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
diff --git a/tools/helpers/init-dom0less.c b/tools/helpers/init-dom0less.c
new file mode 100644
index 0000000000..b6a3831cb5
--- /dev/null
+++ b/tools/helpers/init-dom0less.c
@@ -0,0 +1,269 @@
+#include <stdbool.h>
+#include <syslog.h>
+#include <stdio.h>
+#include <err.h>
+#include <stdlib.h>
+#include <xenstore.h>
+#include <xenctrl.h>
+#include <xenguest.h>
+#include <libxl.h>
+#include <xenevtchn.h>
+
+#include "init-dom-json.h"
+
+#define NR_MAGIC_PAGES 4
+#define CONSOLE_PFN_OFFSET 0
+#define XENSTORE_PFN_OFFSET 1
+#define STR_MAX_LENGTH 64
+
+static int alloc_magic_pages(libxl_dominfo *info, struct xc_dom_image *dom)
+{
+    int rc, i;
+    const xen_pfn_t base = GUEST_MAGIC_BASE >> XC_PAGE_SHIFT;
+    xen_pfn_t p2m[NR_MAGIC_PAGES];
+
+    rc = xc_domain_setmaxmem(dom->xch, dom->guest_domid,
+                             info->max_memkb + NR_MAGIC_PAGES * 4);
+    if (rc < 0)
+        return rc;
+
+    for (i = 0; i < NR_MAGIC_PAGES; i++)
+        p2m[i] = base + i;
+
+    rc = xc_domain_populate_physmap_exact(dom->xch, dom->guest_domid,
+                                          NR_MAGIC_PAGES, 0, 0, p2m);
+    if (rc < 0)
+        return rc;
+
+    dom->xenstore_pfn = base + XENSTORE_PFN_OFFSET;
+
+    xc_clear_domain_page(dom->xch, dom->guest_domid, dom->xenstore_pfn);
+
+    xc_hvm_param_set(dom->xch, dom->guest_domid, HVM_PARAM_STORE_PFN,
+                     dom->xenstore_pfn);
+    return 0;
+}
+
+static bool do_xs_write_dom(struct xs_handle *xsh, xs_transaction_t t,
+                            domid_t domid, char *path, char *val)
+{
+    char full_path[STR_MAX_LENGTH];
+
+    snprintf(full_path, STR_MAX_LENGTH,
+             "/local/domain/%d/%s", domid, path);
+    return xs_write(xsh, t, full_path, val, strlen(val));
+}
+
+static bool do_xs_write_libxl(struct xs_handle *xsh, xs_transaction_t t,
+                              domid_t domid, char *path, char *val)
+{
+    char full_path[STR_MAX_LENGTH];
+
+    snprintf(full_path, STR_MAX_LENGTH,
+             "/libxl/%d/%s", domid, path);
+    return xs_write(xsh, t, full_path, val, strlen(val));
+}
+
+static bool do_xs_write_vm(struct xs_handle *xsh, xs_transaction_t t,
+                           libxl_uuid uuid, char *path, char *val)
+{
+    char full_path[STR_MAX_LENGTH];
+
+    snprintf(full_path, STR_MAX_LENGTH,
+             "/vm/" LIBXL_UUID_FMT "/%s", LIBXL_UUID_BYTES(uuid), path);
+    return xs_write(xsh, t, full_path, val, strlen(val));
+}
+
+/*
+ * The xenstore nodes are the xenstore nodes libxl writes at domain
+ * creation.
+ *
+ * The list was retrieved by running xenstore-ls on a corresponding
+ * domain started by xl/libxl.
+ */
+static int restore_xenstore(struct xs_handle *xsh,
+                            libxl_dominfo *info, libxl_uuid uuid,
+                            evtchn_port_t xenstore_port)
+{
+    domid_t domid;
+    int i;
+    char uuid_str[STR_MAX_LENGTH];
+    char dom_name_str[STR_MAX_LENGTH];
+    char vm_val_str[STR_MAX_LENGTH];
+    char id_str[STR_MAX_LENGTH];
+    char max_memkb_str[STR_MAX_LENGTH];
+    char cpu_str[STR_MAX_LENGTH];
+    char xenstore_port_str[STR_MAX_LENGTH];
+    char ring_ref_str[STR_MAX_LENGTH];
+    xs_transaction_t t;
+
+    domid = info->domid;
+    snprintf(id_str, STR_MAX_LENGTH, "%d", domid);
+    snprintf(dom_name_str, STR_MAX_LENGTH, "dom0less-%d", domid);
+    snprintf(uuid_str, STR_MAX_LENGTH, LIBXL_UUID_FMT, LIBXL_UUID_BYTES(uuid));
+    snprintf(vm_val_str, STR_MAX_LENGTH,
+             "vm/" LIBXL_UUID_FMT, LIBXL_UUID_BYTES(uuid));
+    snprintf(max_memkb_str, STR_MAX_LENGTH, "%lu", info->max_memkb);
+    snprintf(ring_ref_str, STR_MAX_LENGTH, "%lld",
+             (GUEST_MAGIC_BASE >> XC_PAGE_SHIFT) + XENSTORE_PFN_OFFSET);
+    snprintf(xenstore_port_str, STR_MAX_LENGTH, "%d", xenstore_port);
+
+retry_transaction:
+    t = xs_transaction_start(xsh);
+    if (t == XBT_NULL)
+        return -errno;
+
+    /* /vm */
+    if (!do_xs_write_vm(xsh, t, uuid, "name", dom_name_str)) return -EIO;
+    if (!do_xs_write_vm(xsh, t, uuid, "uuid", uuid_str)) return -EIO;
+    if (!do_xs_write_vm(xsh, t, uuid, "start_time", "0")) return -EIO;
+
+    /* /domain */
+    if (!do_xs_write_dom(xsh, t, domid, "vm", vm_val_str)) return -EIO;
+    if (!do_xs_write_dom(xsh, t, domid, "name", dom_name_str)) return -EIO;
+    if (!do_xs_write_dom(xsh, t, domid, "cpu", "")) return -EIO;
+    for (i = 0; i < info->vcpu_max_id; i++) {
+        snprintf(cpu_str, STR_MAX_LENGTH, "cpu/%d/availability/", i);
+        if (!do_xs_write_dom(xsh, t, domid, cpu_str,
+                             (info->cpupool & (1 << i)) ? "online" : "offline"))
+            return -EIO;
+    }
+    if (!do_xs_write_dom(xsh, t, domid, "cpu/0", "")) return -EIO;
+    if (!do_xs_write_dom(xsh, t, domid, "cpu/availability", "online")) return -EIO;
+
+    if (!do_xs_write_dom(xsh, t, domid, "memory", "")) return -EIO;
+    if (!do_xs_write_dom(xsh, t, domid, "memory/static-max", max_memkb_str)) return -EIO;
+    if (!do_xs_write_dom(xsh, t, domid, "memory/videoram", "-1")) return -EIO;
+
+    if (!do_xs_write_dom(xsh, t, domid, "device", "")) return -EIO;
+    if (!do_xs_write_dom(xsh, t, domid, "device/suspend", "")) return -EIO;
+    if (!do_xs_write_dom(xsh, t, domid, "device/suspend/event-channel", "")) return -EIO;
+
+    if (!do_xs_write_dom(xsh, t, domid, "control", "")) return -EIO;
+    if (!do_xs_write_dom(xsh, t, domid, "control/shutdown", "")) return -EIO;
+    if (!do_xs_write_dom(xsh, t, domid, "control/feature-poweroff", "1")) return -EIO;
+    if (!do_xs_write_dom(xsh, t, domid, "control/feature-reboot", "1")) return -EIO;
+    if (!do_xs_write_dom(xsh, t, domid, "control/feature-suspend", "")) return -EIO;
+    if (!do_xs_write_dom(xsh, t, domid, "control/sysrq", "")) return -EIO;
+    if (!do_xs_write_dom(xsh, t, domid, "control/platform-feature-multiprocessor-suspend", "1")) return -EIO;
+    if (!do_xs_write_dom(xsh, t, domid, "control", "platform-feature-xs_reset_watches")) return -EIO;
+
+    if (!do_xs_write_dom(xsh, t, domid, "domid", id_str)) return -EIO;
+    if (!do_xs_write_dom(xsh, t, domid, "data", "")) return -EIO;
+    if (!do_xs_write_dom(xsh, t, domid, "drivers", "")) return -EIO;
+    if (!do_xs_write_dom(xsh, t, domid, "feature", "")) return -EIO;
+    if (!do_xs_write_dom(xsh, t, domid, "attr", "")) return -EIO;
+
+    if (!do_xs_write_dom(xsh, t, domid, "store/port", xenstore_port_str)) return -EIO;
+    if (!do_xs_write_dom(xsh, t, domid, "store/ring-ref", ring_ref_str)) return -EIO;
+
+    if (!do_xs_write_libxl(xsh, t, domid, "type", "pvh")) return -EIO;
+    if (!do_xs_write_libxl(xsh, t, domid, "dm-version", "qemu_xen")) return -EIO;
+
+    if (!xs_transaction_end(xsh, t, false))
+        if (errno == EAGAIN)
+            goto retry_transaction;
+        else
+            return -errno;
+
+    return 0;
+}
+
+static int init_domain(struct xs_handle *xsh, libxl_dominfo *info)
+{
+    struct xc_dom_image dom;
+    libxl_uuid uuid;
+    uint64_t v;
+    int rc;
+
+    printf("Init dom0less domain: %d\n", info->domid);
+    dom.guest_domid = info->domid;
+    dom.xenstore_domid = 0;
+    dom.xch = xc_interface_open(0, 0, 0);
+
+    rc = xc_hvm_param_get(dom.xch, info->domid, HVM_PARAM_STORE_EVTCHN, &v);
+    if (rc != 0) {
+        printf("Failed to get HVM_PARAM_STORE_EVTCHN\n");
+        return 1;
+    }
+    dom.xenstore_evtchn = v;
+
+    /* Console won't be initialized but set its data for completeness */
+    dom.console_domid = 0;
+
+    /* Alloc magic pages */
+    if (alloc_magic_pages(info, &dom) != 0) {
+        printf("Error on alloc magic pages\n");
+        return 1;
+    }
+
+    xc_dom_gnttab_init(&dom);
+
+    libxl_uuid_generate(&uuid);
+    xc_domain_sethandle(dom.xch, info->domid, libxl_uuid_bytearray(&uuid));
+
+    rc = gen_stub_json_config(info->domid, &uuid);
+    if (rc)
+        err(1, "gen_stub_json_config");
+
+    rc = restore_xenstore(xsh, info, uuid, dom.xenstore_evtchn);
+    if (rc)
+        err(1, "writing to xenstore");
+
+    xs_introduce_domain(xsh, info->domid,
+            (GUEST_MAGIC_BASE >> XC_PAGE_SHIFT) + XENSTORE_PFN_OFFSET,
+            dom.xenstore_evtchn);
+    return 0;
+}
+
+/* Check if domain has been configured in XS */
+static bool domain_exists(struct xs_handle *xsh, int domid)
+{
+    return xs_is_domain_introduced(xsh, domid);
+}
+
+int main(int argc, char **argv)
+{
+    libxl_dominfo *info = NULL;
+    libxl_ctx *ctx;
+    int nb_vm = 0, rc = 0, i;
+    struct xs_handle *xsh = NULL;
+
+    xsh = xs_daemon_open();
+    if (xsh == NULL) {
+        fprintf(stderr, "Could not contact XenStore");
+        rc = -errno;
+        goto out;
+    }
+
+    rc = libxl_ctx_alloc(&ctx, LIBXL_VERSION, 0, NULL);
+    if (rc) {
+        fprintf(stderr, "cannot init xl context\n");
+        goto out;
+    }
+
+    info = libxl_list_domain(ctx, &nb_vm);
+    if (!info) {
+        fprintf(stderr, "libxl_list_vm failed.\n");
+        rc = -1;
+        goto out;
+    }
+
+    for (i = 0; i < nb_vm; i++) {
+        domid_t domid = info[i].domid;
+
+        /* Don't need to check for Dom0 */
+        if (!domid)
+            continue;
+
+        printf("Checking domid: %u\n", domid);
+        if (!domain_exists(xsh, domid))
+            init_domain(xsh, &info[i]);
+        else
+            printf("Domain %d has already been initialized\n", domid);
+    }
+out:
+    libxl_dominfo_list_free(info, nb_vm);
+    xs_close(xsh);
+    return rc;
+}
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Jan 28 23:12:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 28 Jan 2022 23:12:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262172.454345 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDaPE-0005UI-Hf; Fri, 28 Jan 2022 23:11:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262172.454345; Fri, 28 Jan 2022 23:11: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 1nDaPE-0005UB-E9; Fri, 28 Jan 2022 23:11:48 +0000
Received: by outflank-mailman (input) for mailman id 262172;
 Fri, 28 Jan 2022 23:11:46 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nDaPC-0005U0-F2; Fri, 28 Jan 2022 23:11:46 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nDaPC-0008Ir-CU; Fri, 28 Jan 2022 23:11:46 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nDaPB-0007Bf-Px; Fri, 28 Jan 2022 23:11:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nDaPB-0000dZ-PW; Fri, 28 Jan 2022 23:11:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=MZw2QL5QjVe5naTR25cCaHBQwtFH5xH6wWxfgvyqbwg=; b=VXyEGSlE/eWRitoO7UU2jp1hnN
	xZORj/8Y1yz1CO2LqcHZOJSiubY+Nh83rgVkBkwKd4AOVAfAfT5MJl/qXgJcFpSy+ihqCo16PLShY
	CZvu1ZEp8EKneiG8Ys86vAFoZNHBDscKCvGYZPJf20nQWrqe0QVORTDnJo2aLtq4ZRwI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167936-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167936: 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-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check: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-armhf-armhf-libvirt-qcow2:saverestore-support-check: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:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-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-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-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-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-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    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-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw: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-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-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=b367db48126d4ee14579af6cf5cdbffeb9496627
X-Osstest-Versions-That:
    qemuu=cfe63e46be0a1f8a7fd2fd5547222f8344a43279
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 28 Jan 2022 23:11:45 +0000

flight 167936 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167936/

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. 167922

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167922
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167922
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail like 167922
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167922
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167922
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167922
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167922
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167922
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167922
 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     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-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-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          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-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                b367db48126d4ee14579af6cf5cdbffeb9496627
baseline version:
 qemuu                cfe63e46be0a1f8a7fd2fd5547222f8344a43279

Last test of basis   167922  2022-01-27 17:38:15 Z    1 days
Testing same since   167936  2022-01-28 14:38:09 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Jason Andryuk <jandryuk@gmail.com>
  Peter Maydell <peter.maydell@linaro.org>
  Ross Lagerwall <ross.lagerwall@citrix.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                 fail    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     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-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   cfe63e46be..b367db4812  b367db48126d4ee14579af6cf5cdbffeb9496627 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Sat Jan 29 01:09:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 29 Jan 2022 01:09:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262181.454356 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDcFC-0001jC-Gi; Sat, 29 Jan 2022 01:09:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262181.454356; Sat, 29 Jan 2022 01: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 1nDcFC-0001j5-DH; Sat, 29 Jan 2022 01:09:34 +0000
Received: by outflank-mailman (input) for mailman id 262181;
 Sat, 29 Jan 2022 01:09:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UOZR=SN=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nDcFB-0001iz-IZ
 for xen-devel@lists.xenproject.org; Sat, 29 Jan 2022 01:09:33 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1b4e645d-80a0-11ec-8f75-fffcc8bd4f1a;
 Sat, 29 Jan 2022 02:09:30 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1b4e645d-80a0-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643418569;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=QnKEPdCpG8jWWcCViSR22MoKTp3jDlGlpgl3YtgJBj4=;
  b=hl168RNSN2kVRCznmK3LAPgR0ChrSBAqhzattPgwCyAY053iFok6l904
   BStCuYArGqPQWJAPJh+TWJktPrbcRK6t3EY4lkShvwHNoHBEHJB98diug
   POVP/j5XSTvCDyO2EnQtzAWI/OTkvJ7yINwzMXgI7B+J+DG6pbi9H7jOq
   E=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: yH9fWa9XX1qavvS4oDbJvQbJnqBZ9fea/tojkOL9ZVCUCwPEHwjiV2o/Qj/7PoG0PhdFgdTYBj
 BNrJFLN++H7JmPxtQHl1TFIMQvqNdVBY3VCx2Bkq/3+TuhHyBiCoLEnc2sT/HJv+60kpQ9o3pk
 hkGlVO+Myyn1/k3QTPk+0YTcse+NBPnpIK3ektIzixVGzqOuQA3frl8ks840CljsJbx/s6fM8o
 NifuE/PzDpNtDWVLCCqf95RAGt+OUk6T3m80/DkrWufzrgvLJQ3GfEu6yukJKgAR36GH8FKpVa
 1t/1LZoIEqS9HWXm6TH7SZF6
X-SBRS: 5.2
X-MesageID: 62495119
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:5ouYfK9DsbYQqWzten6+DrUDbXmTJUtcMsCJ2f8bNWPcYEJGY0x3m
 GZNWDyAO/jZNzbyLo10PNmx9h8F7JLQx4IyHgA4pCw8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7dj0tY16TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPhex
 YRiqaerZTsoGZSVv/kEeShHOHthaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguwKKsXxMZxZkXZn1TzDVt4tQIzZQrWM7thdtNs1rp4UQaeDP
 pNIAdZpRAjKYg1FBQ8rMZE3trmmhj6nNB93ll3A8MLb5ECMlVcsgdABKuH9ZdiiVchT2EGCq
 Qru3U70HxUbP9y30iee/zSngeqntTP2XsceGaO18tZugUaP3SoDBRsOT1y5rPKlzEmkVLpix
 1c8o3R06/JorQryE4e7D0bQTGO4UgA0dNcBPPEB8y2xy43tuiGEH0I1URUbd4lz3CMpfgAC2
 liMltLvIDVgtryJVH6QnoupQSOO1Ts9djFbO3JdJecRy5y6+dxo0EqTJjp2OPPt1rXI9SfML
 ydmRcTUr5EaloY12qqy5jgraBr898GSHmbZCug6N19JDz+Vhqb4P+RECnCBtJ6sybp1qHHb5
 hDofODFtIgz4WmlznDlfQn0NOjBCwy5GDPdm0VzOJIq6i6g/XWuFagJvm0lfxY0a5deIWK2C
 KM2he+3zMUPVJdNRfQvC79d9uxwlfSwfTgbfq28giVyjmhZK1bcoXAGib+41GHxikk8+ZzTy
 r/AGftA+U0yUPw9pBLvHr91+eZymkgWmD2PLbimkUXP+efONRa9FOZeWHPTP79R0U9xiFiPm
 zqpH5HUm0w3vSyXSnS/zLP/2nhTcyBjW8iq+pMGHgNBSyI/cFwc5zbq6epJU6RunrhPl/eO+
 Xe4W0RCz0H4i2GBIgKPAk2Popu1NXqmhX5kbyEqI3iy3H0vPdSm4KsFLsNldrg77u1zi/VzS
 qBdKcmHB/1OTBXB+igcMsah/NAzKkzziFLcJTehbRg+Y4VkG17D9Oj7c1a97yIJFCe265cz+
 uXyygPBTJMfbA1+F8KKOum3xla8sCFFyuJ/VkfFOPdJf0Do/NQ4IiD9lKZvccoNNQ/C1n2R0
 APPWUUUouzEookU9tjVhP/b89f1QrUmRkcDRjvV97e7MyXe71GP+44YXbbaZy3ZWUP15L6mO
 bdfwcbjPaBVh11NqYd9TepmlPps+9v1qrZG5Q14B3GXPU+zA7ZtL3Taj8lCsqpBmu1QtQesA
 x/d/9BbPfOCOd//EU5XLw0gN7zR2fYRkzjUzPI0PESlu3MnoOvZCR1fb0uWlShQDLppK4d0k
 +4utfkf5xG7lhd3YM2NiTpZ9jjUI3ENO0n9Wkr23GM/ZtIX92x/
IronPort-HdrOrdr: A9a23:EF5dua/0nPg2M98e1NZuk+F8db1zdoMgy1knxilNoENuHfBwxv
 rDoB1E73LJYW4qKQwdcdDpAtjkfZtFnaQFr7X5To3SIDUO31HYbb2KjLGSjAEIfheRygcz79
 YYT0ETMqySMbE+t7eB3ODaKadh/DDkytHRuQ629R4EJmsKC52IrT0JcTpzencGHjWubqBJcK
 Z0k/A3wQZIDk5nCfhTaEN1PdTrlpnurtbLcBQGDxko5E2lljWz8oP3FBCew1M3Ty5P6a1Kyx
 mHryXJooGY992rwB7V0GHeq75MnsH699dFDMuQzuAINzTXjBqybogJYczBgNl1mpDr1L8Zqq
 iKn/4SBbU015oXRBDtnfLZ4Xil7N/p0Q679bbXuwq5nSWzfkNENyMIv/MmTvKe0Tt8gDg06t
 M644rS3aAnfC/ojWDz4cPFWAptkVfxqX0+kfQLh3gaSocGbqRNxLZvtn+9Pa1wVB4S0rpXW9
 WGzfuskMp+YBefdTTUr2NvyNujUjA6GQqHWFELvoiQ3yJNlH50wkMEzIhH901wuK4VWt1B/a
 DJI65onLZBQosfar98Hv4IRY+yBnbWSRzBPWqOKRDsFb0BOXjKt5nriY9Fqd2CadgN1t8/iZ
 7BWFRXuSo7fF/vE9SH2NlR/hXEUAyGLH3QIwFllu5EU5HHNcjW2By4OScTepGb0oYi6+XgKo
 OOBK4=
X-IronPort-AV: E=Sophos;i="5.88,325,1635220800"; 
   d="scan'208";a="62495119"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ItKzzg8PFopGq2LbGH0Np8izHdjpE4AhbFwuC8s5Yg+ZZ2X+ce4fRszG9SqUs6IjKzq0rz7uLab4fDEJzxOltCcs1gaDsoVgMOuGcysh8nQAcXBQLZd2HerNjsZQaTszQDk+Am0sSsY4GNsaaX26JU+s7H3MR89BNqUpj90SpkES22yaJHNYcgjhhKSZspvOqpeY8gokDnvWDniPVI0pujxBWsSZqc0qJ147V0X4LQfk8DRyuDAA7eNNas/vh8P70lj033llysQ1lntayKOvInFyMLdOutlmISk9psH0GiMTL8DjdcL324sqWZpIplcVs5Zo9lyfyw4BoxUL5MXLow==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QnKEPdCpG8jWWcCViSR22MoKTp3jDlGlpgl3YtgJBj4=;
 b=FInQseF98iyYKCt5vk3hFglpnqA2FYWckTiHGEnNMugAga3kFAUVjEoAEUjZw/rGVTjgEwEJF3luhYU5Ykc3823+TlAXZCrzeikdPeFy3CLFox/X8LgMnUL3XX/XzcZw8TXOXALEzgfvymft5XaUDJlimZLfdzZo3QHhWWa79+INYt2R8ikO6rf3meOSVg4v73c3cPZREquMGrmoWjlpjum48mtrZrJt2vbF1NX5479RGfW96aLfCw984HZjKWq1LhPPjAJV5zw/ma3uSWrwSfYZJg5uh/tFGDgnZJ4Um6OVbTD1AyOQ2GJQiHEawHJ4ISzGJPxBFHwDtVNNvhClyw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QnKEPdCpG8jWWcCViSR22MoKTp3jDlGlpgl3YtgJBj4=;
 b=FIESlZNXcXhaUmnQ0G1qmAmUiy6/bq54ingntAzLopoTX2SrqkmzyhjdAR6KLefY/Ga8r9803wMycXu41Izdf/LAgSaemXxas3I9jOBtkcMQkA+sgVuzDkIGiyGdx+zSi20xE/sN9NuHNz5GuEh7Qt4TWnZQ0bu7aHyvvgD+QIU=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Jan Beulich <JBeulich@suse.com>, Roger Pau Monne <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 4/9] x86/spec-ctrl: Don't use
 spec_ctrl_{enter,exit}_idle() for S3
Thread-Topic: [PATCH v2 4/9] x86/spec-ctrl: Don't use
 spec_ctrl_{enter,exit}_idle() for S3
Thread-Index: AQHYFEslNylcZ92lUUmGXdMcKHF6zqx5MROA
Date: Sat, 29 Jan 2022 01:09:15 +0000
Message-ID: <236d45c1-a067-829b-1a77-85cce2cd8c4f@citrix.com>
References: <20220128132927.14997-1-andrew.cooper3@citrix.com>
 <20220128132927.14997-5-andrew.cooper3@citrix.com>
In-Reply-To: <20220128132927.14997-5-andrew.cooper3@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.1
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 942998a2-2535-47b5-8848-08d9e2c3f80e
x-ms-traffictypediagnostic: CO2PR03MB2405:EE_
x-microsoft-antispam-prvs: <CO2PR03MB240500E30D94F556D86746EFBA239@CO2PR03MB2405.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: C3bxCYaSMS+Qezwux6wOoBI+dYxJrNcKq4bk+VY+TXujMa+/1pZJNHWe9rBHFhzSnh+nXsqWtb08H0T2Iyfg5Z4t1fuPiSLaPI702E/Pe5XbuLmVdTItf+3e1ApZDBF5fCBwaVpHLs7e7TWE8W5cOi5bufezOjrXx5B/JtpW5ojZuB8VuhKa5Bj6V/9r57eGWtTxU0Y9vQllJ/eLvMR/bErDdbr96VNvRL9oZ6uxnS2Xz/jZAzTt7YnyaIXq4+bJJz2fjWshqZsUBKgwNn0u4LZx8SFaOfR4qMBoJyLRLaZ6x16iaLcRK6YeyOaQ13mtXaVrd0z4R0/7XA8z9Z5ZjbRvJNkyWJRUkyYSL6oBqDGGk11CRWISEfNKG/VXci4HW5t/XBgXgsd/Hs2NHmqg52gnIgbJVug29eA0Lp5RysMxgK2EwFlrGfuv2Kcw69G1xEE9UvyhroxDBfKLhFeGMv/O+CYD7P4Ez3bIrjVqyWzJAUW6hCynsElgRZOEUYlDL79LYDguw3qTFHnA8O9vxH3Hbv9egwMPXYGkY9bmYYes+IVC1tpuTcTH8owx6K2jHE08AkwZHEa6YxrXGwmPKaZvgU/uiEXEmdzFvIbJYq5lpvlR2iUc9Ga4ec/x4eyuoqqc/S+F/9xA22QB51v64eiaAYiMSu2gPb43Qsbbfrf1yjgoTT6AfvLJ3QAlUB+bjDxgROMnXO2jL1DY8NaXDqqU7ZdxQI8vrub1QWvpZXvq/las3rhVoDPkxBcAIXSVokiyWdWyHSYpFm5Bi5uPFw==
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:(13230001)(4636009)(366004)(38100700002)(122000001)(26005)(508600001)(6486002)(186003)(83380400001)(82960400001)(38070700005)(6512007)(2906002)(6506007)(71200400001)(2616005)(53546011)(5660300002)(91956017)(6916009)(76116006)(66556008)(66946007)(8936002)(54906003)(8676002)(64756008)(66476007)(66446008)(36756003)(4326008)(31686004)(316002)(31696002)(86362001)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?OFVWV0R2bEFKeGNTRjYyUXIyNjhFWnVSU2ZPZ0prcHg5QVJaNmtkbVdxT1Y5?=
 =?utf-8?B?bW9QOXZxMkRPQVBBRHNaK1ZUZ01MdDdPMnBFQWg5L0FzUkwvSWQ0SmtWeDgy?=
 =?utf-8?B?QU9xNUp1RFlVRElQY0szbEpIZVlBU3hRdktlUzdhd05DeUs4ZVR1NHNxaEMy?=
 =?utf-8?B?dVd6SXY2K1FRclp3Y3ZwZk5ndTl0MTA3cStyaUtqdm5Od0hncDhHL1lUN2hj?=
 =?utf-8?B?bmJiQnQrNW9YS1FLZG5FaWN2QWNwRjFWQ2Y3a0pkWFQ3Y3M4bXRwMldwcDFT?=
 =?utf-8?B?dGhkd0FEUXMyOGM1WjVNZHliaGF0em5YTU4zdUxKUXJ4WTRZck9TcWZ1dndS?=
 =?utf-8?B?dGRtNUR3YmtRemVJWXRLcXJGcnN2MkxlNkFVRWN1NWNXaVpveEsycGtUOTUz?=
 =?utf-8?B?LzQwWUJ5THdWaVhSZEJsS0wwdng0SkxZN1AxZGFMMUthM2NGZEtoQXErNGlL?=
 =?utf-8?B?RWtLKzAzZ21SUDFmeDgxS3YzZmwrMWxRbGhSdTQvYml0VWhPUmt4dENaSEhU?=
 =?utf-8?B?aDlEdWwzZllqSVpSVkh3TTBEenliRmtQRnZZc3NuaFIzUUZ4aFIweDkzV1lr?=
 =?utf-8?B?QXovbHM4aTR2Q3RkLzNwUzQwQis1KzJjMU55RW13QWpwelNsMnRzNHBUcFJj?=
 =?utf-8?B?aVNGajdEdUxKT3dtSkVDRU15Vmc5TWg5eFgzMm1NTm5DdFgrWDRUYitHZmZI?=
 =?utf-8?B?UEdTYk1DVWsxNmFQcWJIL0dQUFFrNkl3RlYvL084ZFR6SlhEWThVcGZjYkxJ?=
 =?utf-8?B?Z0FadXhoRGdjbzZ1djV4clYwZEV4cndGTUwrZEptVlpjUGlna09XY2Rmemtm?=
 =?utf-8?B?alFvaUE1OGE3M1QxYWJ5M3FPZTdJakxHVFNZWTY5dHB5UU13dDJCRldmSU5Y?=
 =?utf-8?B?V1BkSkUwVDNBcmhyb3k0MGxObTAydWdseFJmVzRZS1grMkE1UThpRmFGVmcv?=
 =?utf-8?B?aXFERXVMZkhMR3VDTWtJcTFkNXNjYklsSFBEVXZzZ0llbEI0VWZONjQzY0F4?=
 =?utf-8?B?c3VvMklwTVpIclNaM3g3a3VhaWlCQUJ0TE5MTDZEUWtibkc0UW1heHFRL0xV?=
 =?utf-8?B?ditwMWloT3ptcUptS1MxY0IvZkErOWlucTlwMG8vNTVybVJaZnBudTlTZHp4?=
 =?utf-8?B?NUV0ZUJzSnJ5Qk1Pbis1WjBoV1ZvdDFFMHoreEs5cll6QjdHYk1PN1B4anFB?=
 =?utf-8?B?WFdLN0NEckJqblh1RkM0ejk3MTFQclpXdkRjMmpHaXRuMGN2cjdaUXV3enFv?=
 =?utf-8?B?d09UTjliRm9lbDR2b3hYWDRyN2JmQnVlS3g3Y2tjTkhzSEg2emNnTDVrN3p5?=
 =?utf-8?B?cWZnL2xML1l1dGd4czc4enNoYzhMZTNaa2hmbmcrVFBydStabzI2U3huQnlF?=
 =?utf-8?B?K2Z5WWNVYVFZS0kyNy9GVkl1Znlva1J2Qkw0VktGR2ZmOW13aVh6TkJBSUU1?=
 =?utf-8?B?eldYa3NWMkFQU0dzVzdFVzRMOG15KytvUUNRWEwyamxjcWpPTFpXcnRXZ3Vw?=
 =?utf-8?B?Y1lkTnFiQSt2M1BWV09vYUVBeWNJdTNUWVFRYkJFL3Jzdmd0WmxseEdEbUhy?=
 =?utf-8?B?YTNSV25CZzZQUDd1ekdZS2tRdGxaalYwRTFyT2JSSTdYbTc2RmZ4N1ZHVDR5?=
 =?utf-8?B?ZDFpVy9Mb1JjUityWXpVdTdNb3NwU3U4eG9aL1FRRmtUSFlVR3dxWEF1aDBy?=
 =?utf-8?B?VTloZW9uNVVNRkx0N1hQUFMzUW9meTVjWWszZG9DQTh1dmlyYVJ1Qlk4S25h?=
 =?utf-8?B?OG01cTFYWUF4MEtrYzZaWVFnWkdENGhPM2Y3dVNucUd3U21vNFF0RjVWdUsy?=
 =?utf-8?B?K3o4aUttZGh1dDVxaExTRHU3R3ZzSzJOVmw1OVh0V2lCd0RkSnMraUIyYVhj?=
 =?utf-8?B?RG8wSkxLdXkwdkdVa0Q0V2p3UGRxUEF5cUhXWXpGV0FweHlCUGtRWi8zc0Zm?=
 =?utf-8?B?SEc0dDNYT3crS1IwMWZZZU8wSmduSXY1Y3ZkelRGSUF6bjc3dmMxRGdyZEF1?=
 =?utf-8?B?QlVzbEVKS1BKcGNjWVNiNVFGdStFL0JCWXI5NWR6bHZnQ285M21nMnJZdXJK?=
 =?utf-8?B?ZDR6bkw0V3hKU2JENWozMnR1SnN0RU5mcXU4RW1ON3U3dFBKUlVxQ1FTSTFQ?=
 =?utf-8?B?eTd2WnkvZnBMQWNEaUNTcEl5LzB0WElGbm5HMWxrQzhubXpHUVVwdHRGKzFS?=
 =?utf-8?B?aUgrWEZ6REk4SnFWZExYVFBSb0cxVXB6OHkxYlZUWUxGSVhya1QzbFNDNGxG?=
 =?utf-8?B?ZDNZemFrUjE3S0ZNUUJIbUdqQkFBPT0=?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <600E59CE2C2FBF46B939C2A70ABF952C@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 942998a2-2535-47b5-8848-08d9e2c3f80e
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jan 2022 01:09:15.6900
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Mz44Ih4mhPnWSqNxf7lQKHk6cTabX0hw4KPpQC2ree7XdRJoMLLrkDNGwyVIE7EiFs85XfSGpkV+b1gqPg+QlCWmM4rNGDVtiswNGUdZrqA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO2PR03MB2405
X-OriginatorOrg: citrix.com

T24gMjgvMDEvMjAyMiAxMzoyOSwgQW5kcmV3IENvb3BlciB3cm90ZToNCj4gJ2lkbGUnIGhlcmUg
cmVmZXJzIHRvIGhsdC9td2FpdC4gIFRoZSBTMyBwYXRoIGlzbid0IGFuIGlkbGUgcGF0aCAtIGl0
IGlzIGENCj4gcGxhdGZvcm0gcmVzZXQuDQo+DQo+IENvbmRpdGlvbmFsbHkgY2xlYXJpbmcgSUJS
UyBhbmQgZmx1c2hpbmcgdGhlIHN0b3JlIGJ1ZmZlcnMgb24gdGhlIHdheSBkb3duIGlzDQo+IGEg
d2FzdGUgb2YgdGltZS4NCj4NCj4gRnVydGhlcm1vcmUsIHdlIHdhbnQgdG8gbG9hZCBkZWZhdWx0
X3hlbl9tY3Vfb3B0X2N0cmwgdW5pbGF0ZXJhbGx5IG9uIHRoZSB3YXkNCj4gYmFjayB1cC4gIEN1
cnJlbnRseSBpdCBoYXBwZW5zIGFzIGEgc2lkZSBlZmZlY3Qgb2YgWDg2X0ZFQVRVUkVfU0NfTVNS
X0lETEUgb3INCj4gdGhlIG5leHQgcmV0dXJuLXRvLWd1ZXN0LCBidXQgdGhhdCdzIGZyYWdpbGUg
YmVoYXZpb3VyLg0KPg0KPiBTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29v
cGVyM0BjaXRyaXguY29tPg0KPiAtLS0NCj4gQ0M6IEphbiBCZXVsaWNoIDxKQmV1bGljaEBzdXNl
LmNvbT4NCj4gQ0M6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPg0KPiBD
QzogV2VpIExpdSA8d2xAeGVuLm9yZz4NCj4NCj4gdjI6DQo+ICAqIE5ldw0KPiAtLS0NCj4gIHhl
bi9hcmNoL3g4Ni9hY3BpL3Bvd2VyLmMgfCA1ICsrKy0tDQo+ICAxIGZpbGUgY2hhbmdlZCwgMyBp
bnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQ0KPg0KPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gv
eDg2L2FjcGkvcG93ZXIuYyBiL3hlbi9hcmNoL3g4Ni9hY3BpL3Bvd2VyLmMNCj4gaW5kZXggMzFh
NTZmMDJkMDgzLi5lYTJiZDhiYmZlOTMgMTAwNjQ0DQo+IC0tLSBhL3hlbi9hcmNoL3g4Ni9hY3Bp
L3Bvd2VyLmMNCj4gKysrIGIveGVuL2FyY2gveDg2L2FjcGkvcG93ZXIuYw0KPiBAQCAtMjQ4LDcg
KzI0OCw2IEBAIHN0YXRpYyBpbnQgZW50ZXJfc3RhdGUodTMyIHN0YXRlKQ0KPiAgICAgICAgICBl
cnJvciA9IDA7DQo+ICANCj4gICAgICBjaSA9IGdldF9jcHVfaW5mbygpOw0KPiAtICAgIHNwZWNf
Y3RybF9lbnRlcl9pZGxlKGNpKTsNCj4gICAgICAvKiBBdm9pZCBOTUkvI01DIHVzaW5nIE1TUl9T
UEVDX0NUUkwgdW50aWwgd2UndmUgcmVsb2FkZWQgbWljcm9jb2RlLiAqLw0KPiAgICAgIGNpLT5z
cGVjX2N0cmxfZmxhZ3MgJj0gflNDRl9pc3Rfd3Jtc3I7DQo+ICANCj4gQEAgLTI5NSw3ICsyOTQs
OSBAQCBzdGF0aWMgaW50IGVudGVyX3N0YXRlKHUzMiBzdGF0ZSkNCj4gIA0KPiAgICAgIC8qIFJl
LWVuYWJsZWQgZGVmYXVsdCBOTUkvI01DIHVzZSBvZiBNU1JfU1BFQ19DVFJMLiAqLw0KPiAgICAg
IGNpLT5zcGVjX2N0cmxfZmxhZ3MgfD0gKGRlZmF1bHRfc3BlY19jdHJsX2ZsYWdzICYgU0NGX2lz
dF93cm1zcik7DQo+IC0gICAgc3BlY19jdHJsX2V4aXRfaWRsZShjaSk7DQo+ICsNCj4gKyAgICBp
ZiAoIGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9JQlJTQikgKQ0KPiArICAgICAgICB3cm1zcmwo
TVNSX1NQRUNfQ1RSTCwgZGVmYXVsdF94ZW5fbWN1X29wdF9jdHJsKTsNCg0KVGhpcyBsb2dpYyB3
b3JrcyByYXRoZXIgYmV0dGVyIHdoZW4gaXQgZ2V0cyB0aGUgcmlnaHQgdmFyaWFibGUuwqANCmRl
ZmF1bHRfeGVuX3NwZWNfY3RybC4NCg0KfkFuZHJldw0KDQo+ICANCj4gICAgICBpZiAoIGJvb3Rf
Y3B1X2hhcyhYODZfRkVBVFVSRV9TUkJEU19DVFJMKSApDQo+ICAgICAgICAgIHdybXNybChNU1Jf
TUNVX09QVF9DVFJMLCBkZWZhdWx0X3hlbl9tY3Vfb3B0X2N0cmwpOw0KDQo=


From xen-devel-bounces@lists.xenproject.org Sat Jan 29 02:29:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 29 Jan 2022 02:29:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262187.454367 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDdUN-0001RI-Ml; Sat, 29 Jan 2022 02:29:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262187.454367; Sat, 29 Jan 2022 02:29:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDdUN-0001RA-Hu; Sat, 29 Jan 2022 02:29:19 +0000
Received: by outflank-mailman (input) for mailman id 262187;
 Sat, 29 Jan 2022 02: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 1nDdUM-0001R0-Kc; Sat, 29 Jan 2022 02: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 1nDdUM-0005uf-Ct; Sat, 29 Jan 2022 02: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 1nDdUL-0001Kn-Rv; Sat, 29 Jan 2022 02:29:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nDdUL-0008OL-Mi; Sat, 29 Jan 2022 02:29: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=3FHVkRm25tQSo485UoigasSOjnKt+op/bxX5yfk/TIk=; b=Dv6L2MaeIyVIC9ueuruWVsOYwK
	CUn7YFvIDuHENEXt6Ihl46IW5NxGeYfNi4oaDXpQK3SilfOkSgSR+EuJT950EFoD0OaD7Os+ELKgL
	jIQEhmtjaMiLDCEMZEh+Sve6mo2AJMt0Ksu12LlAh3172wqzo+qDMLVe5mxHfjsC8OX4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167937-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167937: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-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-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-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-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl: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
X-Osstest-Versions-This:
    linux=145d9b498fc827b79c1260b4caa29a8e59d4c2b9
X-Osstest-Versions-That:
    linux=626b2dda7651a7c766108db4cdc0825db05b980d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 29 Jan 2022 02:29:17 +0000

flight 167937 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167937/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail blocked in 167917
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167917
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167917
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167917
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167917
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167917
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167917
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167917
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-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                145d9b498fc827b79c1260b4caa29a8e59d4c2b9
baseline version:
 linux                626b2dda7651a7c766108db4cdc0825db05b980d

Last test of basis   167917  2022-01-27 10:12:35 Z    1 days
Failing since        167927  2022-01-28 01:57:27 Z    1 days    2 attempts
Testing same since   167937  2022-01-28 15:11:08 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex Deucher <alexander.deucher@amd.com>
  Angelo Dureghello <angelo@kernel-space.org>
  Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
  Balbir Singh <bsingharora@gmail.com>
  Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
  Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
  caixf <ooppublic@163.com>
  Catherine Sullivan <csully@google.com>
  Christian König <christian.koenig@amd.com>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Colin Foster <colin.foster@in-advantage.com>
  Congyu Liu <liu3101@purdue.edu>
  Damien Le Moal <damien.lemoal@opensource.wdc.com>
  Dan Carpenter <dan.carpenter@oracle.com>
  Daniel Vetter <daniel.vetter@ffwll.ch>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Dave Airlie <airlied@redhat.com>
  David Awogbemila <awogbemila@google.com>
  David Howells <dhowells@redhat.com>
  David S. Miller <davem@davemloft.net>
  Denis Pauk <pauk.denis@gmail.com>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Eric Dumazet <edumazet@google.com>
  Florian Westphal <fw@strlen.de>
  Gal Pressman <gal@nvidia.com>
  Geetha sowjanya <gakula@marvell.com>
  Geliang Tang <geliang.tang@suse.com>
  Grzegorz Szczurek <grzegorzx.szczurek@intel.com>
  Guangbin Huang <huangguangbin2@huawei.com>
  Guenter Roeck <linux@roeck-us.net>
  Guillaume Nault <gnault@redhat.com>
  Gurucharan G <gurucharanx.g@intel.com>
  Hangbin Liu <liuhangbin@gmail.com>
  Hangyu Hua <hbh25y@gmail.com>
  Hans de Goede <hdegoede@redhat.com>
  Harry Wentland <harry.wentland@amd.com>
  Horatiu Vultur <horatiu.vultur@microchip.com>
  Ido Schimmel <idosch@nvidia.com>
  Jakub Kicinski <kuba@kernel.org>
  Jaroslaw Gawin <jaroslawx.gawin@intel.com>
  Jedrzej Jagielski <jedrzej.jagielski@intel.com>
  Jernej Skrabec <jernej.skrabec@gmail.com>
  Jesper Dangaard Brouer <brouer@redhat.com>
  Jianguo Wu <wujianguo@chinatelecom.cn>
  Jisheng Zhang <jszhang@kernel.org>
  Joe Damato <jdamato@fastly.com>
  Johannes Berg <johannes@sipsolutions.net>
  José Expósito <jose.exposito89@gmail.com>
  Justin Iurman <justin.iurman@uliege.be>
  Kalle Valo <kvalo@kernel.org>
  Karen Sornek <karen.sornek@intel.com>
  Karsten Graul <kgraul@linux.ibm.com>
  Kees Cook <keescook@chromium.org>
  Kiran Bhandare <kiranx.bhandare@intel.com>
  Kiran Kumar K <kirankumark@marvell.com>
  Konrad Jankowski <konrad0.jankowski@intel.com>
  Leo Yan <leo.yan@linaro.org>
  Linus Torvalds <torvalds@linux-foundation.org>
  Lucas Stach <l.stach@pengutronix.de>
  Maksym Yaremchuk <maksymy@nvidia.com>
  Manasi Navare <manasi.d.navare@intel.com>
  Marc Dionne <marc.dionne@auristor.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Marek Behún <kabel@kernel.org>
  Mat Martineau <mathew.j.martineau@linux.intel.com>
  Mateusz Palczewski <mateusz.palczewski@intel.com>
  Mathias Krause <minipli@grsecurity.net>
  Maxim Mikityanskiy <maximmi@nvidia.com>
  Maxime Ripard <maxime@cerno.tech>
  meenakshikumar somasundaram <meenakshikumar.somasundaram@amd.com>
  Menglong Dong <imagedong@tencent.com>
  Miaoqian Lin <linmq006@gmail.com>
  Mohammad Athari Bin Ismail <mohammad.athari.ismail@intel.com>
  Moshe Tal <moshet@nvidia.com>
  Naveen Mamindlapalli <naveenm@marvell.com>
  Nikolay Aleksandrov <nikolay@nvidia.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Padmanabha Srinivasaiah <treasure4paddy@gmail.com>
  Paolo Abeni <pabeni@redhat.com>
  Raymond Jay Golo <rjgolo@gmail.com>
  Rob Clark <robdclark@chromium.org>
  Rob Clark <robdclark@gmail.com>
  Robert Hancock <robert.hancock@calian.com>
  Slawomir Laba <slawomirx.laba@intel.com>
  Subbaraya Sundeep <sbhatta@marvell.com>
  Subbaraya Sundeep <sgoutham@marvell.com>
  Sukadev Bhattiprolu <sukadev@linux.ibm.com>
  Sunil Goutham <sgoutham@marvell.com>
  Suzuki K Poulose <suzuki.poulose@arm.com>
  Sylwester Dziedziuch <sylwesterx.dziedziuch@intel.com>
  Thomas Bogendoerfer <tsbogend@alpha.franken.de>
  Thomas Zimmermann <tzimmermann@suse.de>
  Tim Yi <tim.yi@pica8.com>
  Toke Høiland-Jørgensen <toke@redhat.com>
  Tong Zhang <ztong0001@gmail.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Victor Nogueira <victor@mojatatu.com>
  Wen Gu <guwen@linux.alibaba.com>
  Xianting Tian <xianting.tian@linux.alibaba.com>
  Xin Long <lucien.xin@gmail.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Yufeng Mo <moyufeng@huawei.com>
  Yuji Ishikawa <yuji2.ishikawa@toshiba.co.jp>
  Zack Rusin <zackr@vmware.com>
  Zhan Liu <zhan.liu@amd.com>
  Zhou Qingyang <zhou1615@umn.edu>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   626b2dda7651..145d9b498fc8  145d9b498fc827b79c1260b4caa29a8e59d4c2b9 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sat Jan 29 07:36:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 29 Jan 2022 07:36:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262199.454378 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDiHj-00053I-HQ; Sat, 29 Jan 2022 07:36:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262199.454378; Sat, 29 Jan 2022 07:36: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 1nDiHj-00053B-DP; Sat, 29 Jan 2022 07:36:35 +0000
Received: by outflank-mailman (input) for mailman id 262199;
 Sat, 29 Jan 2022 07:36: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 1nDiHi-000531-0u; Sat, 29 Jan 2022 07:36: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 1nDiHh-0003My-Tz; Sat, 29 Jan 2022 07:36: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 1nDiHh-0007Wo-FG; Sat, 29 Jan 2022 07:36:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nDiHh-0001dq-Em; Sat, 29 Jan 2022 07:36: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=zZUaOC2sJ2RgpypghyGlE5nMeKqEIVTrkmXCV9LBInA=; b=AfvcxRpmz15o6Ty90QApEI2zHr
	JM5yVjh5wmwo+27bpYhGT/R+sGWLypfC7MNEMBvjH/fuIbwcJa3z/ykEKphGDcZh7PrO96F8d+AmX
	w03P0KpT88uJZkj9Fkealtw3mO7hwmXnVSqLx2/EIgzs/0aGuXFnPEvr8FY8wYPliSoU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167940-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 167940: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=8542fc5f956821841154d4c11851c5484847ac0d
X-Osstest-Versions-That:
    ovmf=f4b7b473b4afd0093768905529bfae09a2061d41
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 29 Jan 2022 07:36:33 +0000

flight 167940 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167940/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 8542fc5f956821841154d4c11851c5484847ac0d
baseline version:
 ovmf                 f4b7b473b4afd0093768905529bfae09a2061d41

Last test of basis   167933  2022-01-28 10:10:35 Z    0 days
Testing same since   167940  2022-01-29 01:41:58 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  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
   f4b7b473b4..8542fc5f95  8542fc5f956821841154d4c11851c5484847ac0d -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Jan 29 08:17:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 29 Jan 2022 08:17:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262214.454389 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDivI-0001NO-2u; Sat, 29 Jan 2022 08:17:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262214.454389; Sat, 29 Jan 2022 08:17:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDivH-0001NH-Vk; Sat, 29 Jan 2022 08:17:27 +0000
Received: by outflank-mailman (input) for mailman id 262214;
 Sat, 29 Jan 2022 08:17: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 1nDivG-0001N7-PC; Sat, 29 Jan 2022 08:17: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 1nDivG-0004al-JS; Sat, 29 Jan 2022 08:17: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 1nDivG-0000Pf-4s; Sat, 29 Jan 2022 08:17:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nDivG-0003Xk-4R; Sat, 29 Jan 2022 08:17:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=rGC37x9jz63jSRf3LLQhdYBjgaZQ7FIAZCTNGQdDv54=; b=2pssIO8Kd8KWPqoR4ZGhQDksFz
	PlL9ZWYjLNgnd2SOkcsfi3CqdYQ9UFq4rVdehXiIPrUs6a9PDFFPxdtpDgMZrJMjXJHJxeo8kjsuM
	T63M5tD6hraIPv0iLv4y3K6tgAWeoTuF0CjRodrsLMLiMY1kCuW8m11YgLqBcukYCSlg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167938-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167938: 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-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-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-armhf-armhf-libvirt: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-armhf-armhf-libvirt-qcow2: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-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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-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-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=21170a738c11b24815b4afab2151bd3aa2a29acc
X-Osstest-Versions-That:
    xen=2a565f9b40db981a860574be26d86a8665e71c38
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 29 Jan 2022 08:17:26 +0000

flight 167938 xen-unstable real [real]
flight 167943 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/167938/
http://logs.test-lab.xenproject.org/osstest/logs/167943/

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 167943-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167931
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167931
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167931
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167931
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167931
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167931
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167931
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167931
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167931
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167931
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167931
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167931
 test-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-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  21170a738c11b24815b4afab2151bd3aa2a29acc
baseline version:
 xen                  2a565f9b40db981a860574be26d86a8665e71c38

Last test of basis   167931  2022-01-28 06:28:10 Z    1 days
Testing same since   167938  2022-01-28 20:09:23 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   2a565f9b40..21170a738c  21170a738c11b24815b4afab2151bd3aa2a29acc -> master


From xen-devel-bounces@lists.xenproject.org Sat Jan 29 11:34:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 29 Jan 2022 11:34:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262228.454416 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDlzR-0003ud-2H; Sat, 29 Jan 2022 11:33:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262228.454416; Sat, 29 Jan 2022 11: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 1nDlzQ-0003uW-UU; Sat, 29 Jan 2022 11:33:56 +0000
Received: by outflank-mailman (input) for mailman id 262228;
 Sat, 29 Jan 2022 11:33:55 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nDlzP-0003uM-QX; Sat, 29 Jan 2022 11:33:55 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nDlzP-0008He-LU; Sat, 29 Jan 2022 11:33:55 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nDlzP-0008Ir-4C; Sat, 29 Jan 2022 11:33:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nDlzP-000843-3j; Sat, 29 Jan 2022 11:33:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=MnWeRfFXlwiEW0fPjUW51HjsbOoKIOMSvDylKS9lAKo=; b=33V9iBz809+ukyjuNh+5GQ+lHx
	/L7Y39q+PPBnH+Wcl1N8XBMLrLOBDrSWZBxetOeHXcACnLQ77BTqcdq+VwjmBEqi+ToKlaTfn5IR3
	bS6sMd2RawKq9Tw4XqeD4XrOelGJVxf2SrBi89AhJKj+rkPvKMEp0ptTxv6VYCPUD/oo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167939-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167939: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-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-armhf-armhf-libvirt-qcow2: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:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check: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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-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-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-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    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-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw: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-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-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
    qemu-mainline:test-armhf-armhf-libvirt-qcow2: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
X-Osstest-Versions-This:
    qemuu=7a1043cef91739ff4b59812d30f1ed2850d3d34e
X-Osstest-Versions-That:
    qemuu=b367db48126d4ee14579af6cf5cdbffeb9496627
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 29 Jan 2022 11:33:55 +0000

flight 167939 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167939/

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 167936
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167936
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167936
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167936
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167936
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167936
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167936
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167936
 test-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-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          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-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                7a1043cef91739ff4b59812d30f1ed2850d3d34e
baseline version:
 qemuu                b367db48126d4ee14579af6cf5cdbffeb9496627

Last test of basis   167936  2022-01-28 14:38:09 Z    0 days
Testing same since   167939  2022-01-28 23:39:37 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Bernhard Beschow <shentey@gmail.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Matheus Ferst <matheus.ferst@eldorado.org.br>
  Paolo Bonzini <pbonzini@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <f4bug@amsat.org>
  Thomas Huth <thuth@redhat.com>
  Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.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-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   b367db4812..7a1043cef9  7a1043cef91739ff4b59812d30f1ed2850d3d34e -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Sat Jan 29 15:45:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 29 Jan 2022 15:45:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262259.454427 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDpu0-0001TC-Aj; Sat, 29 Jan 2022 15:44:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262259.454427; Sat, 29 Jan 2022 15: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 1nDpu0-0001T5-6a; Sat, 29 Jan 2022 15:44:36 +0000
Received: by outflank-mailman (input) for mailman id 262259;
 Sat, 29 Jan 2022 15: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 1nDptz-0001Su-Km; Sat, 29 Jan 2022 15: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 1nDptz-0004E3-Gn; Sat, 29 Jan 2022 15: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 1nDpty-0005Mc-1n; Sat, 29 Jan 2022 15:44:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nDpty-000447-1I; Sat, 29 Jan 2022 15:44:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=QYsCOxXIWcoVzzbMn4rfDSnG5DrenzWYINDvIm/rxn8=; b=ZgC8Sy8yn62PQH7Z4/TZRCbZbl
	U+FimawqVR8lOB1WyRsnJtxShzDQ8JeDD74zp48OKinYIoNMsHO9DbBdVHk6vYqnSZ0fhq95KHM+a
	naPhm+5jnm/PLYHqZeak7O3I75WkKpuDaGa3YBOPgRx51aN4yPN4ByqaZ0M/ZtARqCwI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167942-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 167942: 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-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=18813edbf28b42ad9d068e0584c4408019c09bff
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 29 Jan 2022 15:44:34 +0000

flight 167942 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167942/

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-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              18813edbf28b42ad9d068e0584c4408019c09bff
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  568 days
Failing since        151818  2020-07-11 04:18:52 Z  567 days  549 attempts
Testing same since   167942  2022-01-29 04:18:56 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>
  Ani Sinha <ani@anisinha.ca>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe Fergeau <cfergeau@redhat.com>
  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>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  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>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  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>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  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 Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas Lécureuil <neoclust@mageia.org>
  Nicolas Lécureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  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>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott 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>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  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>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Дамјан Георгиевски <gdamjan@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 95263 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Jan 29 17:37:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 29 Jan 2022 17:37:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262272.454438 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDrep-0003uU-GI; Sat, 29 Jan 2022 17:37:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262272.454438; Sat, 29 Jan 2022 17: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 1nDrep-0003uN-D6; Sat, 29 Jan 2022 17:37:03 +0000
Received: by outflank-mailman (input) for mailman id 262272;
 Sat, 29 Jan 2022 17:37: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 1nDreo-0003uH-4V
 for xen-devel@lists.xenproject.org; Sat, 29 Jan 2022 17:37: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 1nDren-0006jD-8N; Sat, 29 Jan 2022 17:37:01 +0000
Received: from 54-240-197-239.amazon.com ([54.240.197.239]
 helo=[192.168.0.221]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nDren-0002Y7-1g; Sat, 29 Jan 2022 17:37:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=Lnohd4nu+07cILn+cE/7myPa56E9enuFd8VnX9pSXJ4=; b=hGH+YiND/x2w50Lf1dWMWaMu42
	pAdVUEaQYbHTG93RclHh6EEPk6UCO5mxHsQEejoSUMjECqreafU7i42ev6vczFBGBlSjca03w6img
	iY5LZCqvX1M3Hopv01ete6cyrVaDqpCG2F4a+zPrI3OLnX0SKtaa4pKv/U7Kq3hndq/A=;
Message-ID: <9220cff6-021d-3ac1-6e65-7ac34e4bbbdf@xen.org>
Date: Sat, 29 Jan 2022 17:36:58 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [XEN v1] xen/arm: io: Check ESR_EL2.ISV != 0 before searching for
 a MMIO handler
To: Stefano Stabellini <sstabellini@kernel.org>,
 Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>
Cc: Julien Grall <julien.grall.oss@gmail.com>,
 xen-devel <xen-devel@lists.xenproject.org>, stefanos@xilinx.com,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <20220126165827.61168-1-ayankuma@xilinx.com>
 <CAJ=z9a1KjOAeR4vpRQGA_sYSvx1h331NKim2bgG8jyru94Beow@mail.gmail.com>
 <eeedbb72-d881-363d-c862-234b705eaec7@xilinx.com>
 <CAJ=z9a0VEqr_ODQZvdsO82PiOpHt5-TVc4JWE5pJCeNYPh+XHg@mail.gmail.com>
 <bee7ea7a-6d3d-bf3c-4b5f-d40deb601867@xilinx.com>
 <2064878e-4ef1-f0a3-1476-7175c2c8d29e@xen.org>
 <bcd28a18-80ea-0987-6867-5c6fc634a8a5@xilinx.com>
 <f6853134-8b65-5ffb-b39a-62ed26b3f499@xen.org>
 <alpine.DEB.2.22.394.2201271327430.27308@ubuntu-linux-20-04-desktop>
 <CAJ=z9a2Sp6w0b21p96YHx4w_m0jAbYJ4v=cVar-1nPeL7SotZw@mail.gmail.com>
 <CAJ=z9a1HML30aGn52GY34g-QbvLPHep7j=H-UDxsH1+B0CEb3Q@mail.gmail.com>
 <alpine.DEB.2.22.394.2201271513330.27308@ubuntu-linux-20-04-desktop>
 <9880cf7c-962f-8a32-483c-2bf5889d3273@xen.org>
 <95944225-6642-b41c-c496-d735826e3c93@xilinx.com>
 <alpine.DEB.2.22.394.2201281224230.27308@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2201281224230.27308@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

Replying to Ayan's e-mail at the same time.

On 28/01/2022 20:30, Stefano Stabellini wrote:
> On Fri, 28 Jan 2022, Ayan Kumar Halder wrote:
>> Hi Julien/Stefano,
>>
>> Good discussion to learn about Xen (from a newbie's perspective). :)
>>
>> I am trying to clarify my understanding. Some queries as below :-
>>
>> On 28/01/2022 09:46, Julien Grall wrote:
>>>
>>>
>>> On 28/01/2022 01:20, Stefano Stabellini wrote:
>>>> On Thu, 27 Jan 2022, Julien Grall wrote:
>>>>> On Thu, 27 Jan 2022 at 23:05, Julien Grall <julien.grall.oss@gmail.com>
>>>>> wrote:
>>>>>>
>>>>>> On Thu, 27 Jan 2022 at 22:40, Stefano Stabellini
>>>>>> <sstabellini@kernel.org> wrote:
>>>>>>> I am with you on both points.
>>>>>>>
>>>>>>> One thing I noticed is that the code today is not able to deal with
>>>>>>> IO_UNHANDLED for MMIO regions handled by IOREQ servers or Xen MMIO
>>>>>>> emulator handlers. p2m_resolve_translation_fault and try_map_mmio
>>>>>>> are
>>>>>>> called after try_handle_mmio returns IO_UNHANDLED but
>>>>>>> try_handle_mmio is
>>>>>>> not called a second time (or am I mistaken?)
>>>>>>
>>>>>> Why would you need it? If try_mmio_fault() doesn't work the first
>>>>>> time, then
>>>>>
>>>>> Sorry I meant try_handle_mmio().
>>>>>
>>>>>> it will not work the second it.
>>>>
>>>> I think I explained myself badly, I'll try again below.
>>>>
>>>>
>>>>>>> Another thing I noticed is that currently find_mmio_handler and
>>>>>>> try_fwd_ioserv expect dabt to be already populated and valid so it
>>>>>>> would
>>>>>>> be better if we could get there only when dabt.valid.
>>>>>>>
>>>>>>> With these two things in mind, I think maybe the best thing to do is
>>>>>>> to
>>>>>>> change the code in do_trap_stage2_abort_guest slightly so that
>>>>>>> p2m_resolve_translation_fault and try_map_mmio are called first when
>>>>>>> !dabt.valid.
>>>>>>
>>>>>> An abort will mostly likely happen because of emulated I/O. If we call
>>>>>> p2m_resolve_translation_fault() and try_map_mmio() first, then it
>>>>>> means
>>>>>> the processing will take longer than necessary for the common case.
>>>>>>
>>>>>> So I think we want to keep the order as it is. I.e first trying the
>>>>>> MMIO
>>>>>> and then falling back to the less likely reason for a trap.
>>>>
>>>> Yeah I thought about it as well. The idea would be that if dabt.valid is
>>>> set then we leave things as they are (we call try_handle_mmio first) but
>>>> if dabt.valid is not set (it is not valid) then we skip the
>>>> try_handle_mmio() call because it wouldn't succeed anyway and go
>>>> directly to p2m_resolve_translation_fault() and try_map_mmio().
>>>>
>>>> If either of them work (also reading what you wrote about it) then we
>>>> return immediately.
>>>
>>> Ok. So the assumption is data abort with invalid syndrome would mostly
>>> likely be because of a fault handled by p2m_resolve_translation_fault().
>>>
>>> I think this makes sense. However, I am not convinced we can currently
>>> safely call try_map_mmio() before try_handle_mmio(). This is because the
>>> logic in try_map_mmio() is quite fragile and we may mistakenly map an
>>> emulated region.
>>
>> By emulated region, you mean vgic.dbase (Refer
>> https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/vgic-v2.c;h=589c033eda8f5e11af33c868eae2c159f985eac9;hb=0bdc43c8dec993258e930b34855853c22b917519#l702,
>> which has not been mapped to the guest) and thus requires an MMIO handler.
>>
>> Is my understanding correcr ?
>   
> I'll try to answer for Julien but yes.
> 
> 
>> If so, can Xen mantain a table of such emulated regions ? I am guessing that
>> all emulated regions will have a mmio_handler. Then, before invoking
>> try_map_mmio(), it can check the table.
> 
> Today we keep those as a list, see find_mmio_handler (for regions
> emulated in Xen) and also ioreq_server_select (for regions emulated by
> QEMU or other external emulators.)
> 
> But I think there might be a simpler way: if you look at try_map_mmio,
> you'll notice that there is iomem_access_permitted check. I don't think
> that check can succeed for an emulated region. 

It can. iomem_access_permitted() is telling which host physical frame is 
accessible by the domain. This is different to which guest physical 
address is emulated.

It happens that most (all?) of them are the same today for the hardware 
domain. But that's not something we should rely on.

So I think we want to check that the region will be used for emulated I/O.

You could use find_mmio() but I think ioreq_server_select() is not 
directly suitable to us because we want to check that the full page is 
not emulated (You could technically only emulate part of it).

>>> Similarly, we can't call try_map_mmio() before
>>> p2m_resolve_translation_fault() because a transient fault may be
>>> misinterpreted.
>>>
>>> I think we may be able to harden try_map_mmio() by checking if the I/O
>>> region is emulated. But this will need to be fully thought through first.
>>>
>>>>
>>>> If not, then we call decode_instruction from do_trap_stage2_abort_guest
>>>> and try again. The second time dabt.valid is set so we end up calling
>>>> try_handle_mmio() as usual.
>>>
>>> With the approach below, you will also end up to call
>>> p2m_resolve_translation_fault() and try_map_mmio() a second time if
>>> try_handle_mmio() fails.
>>>
>>>>
>>>> Just for clarity let me copy/paste the relevant code, apologies if it
>>>> was already obvious to you -- I got the impression my suggestion wasn't
>>>> very clear.
>>>>
>>>>
>>>>
>>>> +again:
>>>> +        if ( is_data && hsr.dabt.valid )
>>>>           {
>>>>               enum io_state state = try_handle_mmio(regs, hsr, gpa);
>>>>
>>>>               switch ( state )
>>>>               {
>>>>               case IO_ABORT:
>>>>                   goto inject_abt;
>>>>               case IO_HANDLED:
>>>>                   advance_pc(regs, hsr);
>>>>                   return;
>>>>               case IO_RETRY:
>>>>                   /* finish later */
>>>>                   return;
>>>>               case IO_UNHANDLED:
>>>>                   /* IO unhandled, try another way to handle it. */
>>>>                   break;
>>>>               }
>>>>           }
>>>>
>>>>           /*
>>>>            * First check if the translation fault can be resolved by the
>>>>            * P2M subsystem. If that's the case nothing else to do.
>>>>            */
>>>>           if ( p2m_resolve_translation_fault(current->domain,
>>>>                                              gaddr_to_gfn(gpa)) )
>>>>               return;
>>>>
>>>>           if ( is_data && try_map_mmio(gaddr_to_gfn(gpa)) )
>>>>               return;
>>>>
>>>> +        if ( !hsr.dabt.valid )
>>> One more thing I noticed, a stage 2 fault can also happen on an access made
>>> for a stage 1 translation walk. In this case, I think we don't want to
>>> decode the instruction.
>>>
>>> So this would need to be !hsr.dabt.valid && !hsr.dabt.s1ptw. Depending on
>>> which patch we go with, this would also need to be adjusted in the other one
>>> as well.
>>
>> This triggered me to check for the remaining bits as well. Refer DDI 0487G.b
>> Armv8 Arm, "ISS encoding for an exception from a Data Abort", Page D13-3219
>>
>> I guess we need to check the following :-
>>
>> 1. !hsr.dabt.valid
>>
>> 2. !hsr.dabt.s1ptw - Abort may be due to stage 1 translation table walk
>>
>> 3. !hsr.dabt.cache - Abort is due to cache maintenance or address translation
>> instructions. We do not decode these instructions.

I agree that we want to check hsr.dabt.cache. But they need to be 
ignored rather than sending a data abort to the guest (That's 
technically already an issue today).

>>
>> 4. !hsr.dabt.eat - Abort is external

Reading the description, this bit doesn't tell whether this is an 
external abort. Instead, it seems to provide an implementation defined 
way to categorize an external abort.

In any case, I don't think it is useful to check it because that bit is 
guaranteed to be 0 for non-external abort fault. The DFSC already tells 
you that.

> 
> Yes, makes sense to me
> 
>   
>> There is no need to check the following due to the reasons mentioned :-
>>
>> 1. hsr.dabt.dfsc - no need as we have already determined that it is a
>> translation fault from EL0/EL1.
>>
>> 2. hsr.dabt.write - no need as the fault can be caused due to both read or
>> write
>>
>> 3. hsr.dabt.fnv - no use for this in instruction decoding
> 
> These also makes sense to me
> 
> 
>> 4. hsr.dabt.sbzp0 - Bits[12:11] - We know that DFSC cannot be 0b010000
>> (FEAT_RAS), We may not check for FEAT_LS64 as from the instruction opcode, we
>> can make out that it is not ST64BV, LD64B, ST64B or ST64BV0
>>
>>                           Bit[13] - VCNR - The instruction opcode will tell us
>> that it is not MRS/MSR instruction.

The key point of bit[13] is we don't support nested virt on Xen on Arm.

> 
> Yeah this check could be useful in the future but it would be redundant
> at the moment. I am fine either way, I'll let other comment.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Jan 29 17:40:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 29 Jan 2022 17:40:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262277.454449 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDrhz-0005G2-W1; Sat, 29 Jan 2022 17:40:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262277.454449; Sat, 29 Jan 2022 17:40:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDrhz-0005Fv-SL; Sat, 29 Jan 2022 17:40:19 +0000
Received: by outflank-mailman (input) for mailman id 262277;
 Sat, 29 Jan 2022 17:40: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 1nDrhy-0005Fp-FC
 for xen-devel@lists.xenproject.org; Sat, 29 Jan 2022 17:40: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 1nDrhx-0006mE-NG; Sat, 29 Jan 2022 17:40:17 +0000
Received: from 54-240-197-239.amazon.com ([54.240.197.239]
 helo=[192.168.0.221]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nDrhx-0002lU-Hg; Sat, 29 Jan 2022 17:40:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=bvTsnuIhSNjvzKAVxRTIZ7LGs3OGHfDa4vBzFFj34wU=; b=BzkZby8lDIWvc4jfyV/e3p56SC
	/0cdA9zFabcJ1iEtXSwUjadMzoJub3D+urHZu/K9k5b5ZfFJtJKcdLNjhKO8hLMcZ3s12Vn6hbH50
	ByNf6VzmCQE7Ja3duumayVJWWMFrpfRbA38QDz3iKQhQhcHBbLqQcecy2f6m9Js95ubU=;
Message-ID: <4d5a9e02-47ee-ef04-5c8f-602ad4bb9e81@xen.org>
Date: Sat, 29 Jan 2022 17:40:15 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [XEN v1] xen/arm: io: Check ESR_EL2.ISV != 0 before searching for
 a MMIO handler
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Julien Grall <julien.grall.oss@gmail.com>,
 Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>,
 xen-devel <xen-devel@lists.xenproject.org>, stefanos@xilinx.com,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <20220126165827.61168-1-ayankuma@xilinx.com>
 <CAJ=z9a1KjOAeR4vpRQGA_sYSvx1h331NKim2bgG8jyru94Beow@mail.gmail.com>
 <eeedbb72-d881-363d-c862-234b705eaec7@xilinx.com>
 <CAJ=z9a0VEqr_ODQZvdsO82PiOpHt5-TVc4JWE5pJCeNYPh+XHg@mail.gmail.com>
 <bee7ea7a-6d3d-bf3c-4b5f-d40deb601867@xilinx.com>
 <2064878e-4ef1-f0a3-1476-7175c2c8d29e@xen.org>
 <bcd28a18-80ea-0987-6867-5c6fc634a8a5@xilinx.com>
 <f6853134-8b65-5ffb-b39a-62ed26b3f499@xen.org>
 <alpine.DEB.2.22.394.2201271327430.27308@ubuntu-linux-20-04-desktop>
 <CAJ=z9a2Sp6w0b21p96YHx4w_m0jAbYJ4v=cVar-1nPeL7SotZw@mail.gmail.com>
 <CAJ=z9a1HML30aGn52GY34g-QbvLPHep7j=H-UDxsH1+B0CEb3Q@mail.gmail.com>
 <alpine.DEB.2.22.394.2201271513330.27308@ubuntu-linux-20-04-desktop>
 <9880cf7c-962f-8a32-483c-2bf5889d3273@xen.org>
 <alpine.DEB.2.22.394.2201281216130.27308@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2201281216130.27308@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 28/01/2022 20:23, Stefano Stabellini wrote:
> On Fri, 28 Jan 2022, Julien Grall wrote:
>> On 28/01/2022 01:20, Stefano Stabellini wrote:
>>> On Thu, 27 Jan 2022, Julien Grall wrote:
>>>> On Thu, 27 Jan 2022 at 23:05, Julien Grall <julien.grall.oss@gmail.com>
>>>> wrote:
>>>>>
>>>>> On Thu, 27 Jan 2022 at 22:40, Stefano Stabellini
>>>>> <sstabellini@kernel.org> wrote:
>>>>>> I am with you on both points.
>>>>>>
>>>>>> One thing I noticed is that the code today is not able to deal with
>>>>>> IO_UNHANDLED for MMIO regions handled by IOREQ servers or Xen MMIO
>>>>>> emulator handlers. p2m_resolve_translation_fault and try_map_mmio are
>>>>>> called after try_handle_mmio returns IO_UNHANDLED but try_handle_mmio
>>>>>> is
>>>>>> not called a second time (or am I mistaken?)
>>>>>
>>>>> Why would you need it? If try_mmio_fault() doesn't work the first time,
>>>>> then
>>>>
>>>> Sorry I meant try_handle_mmio().
>>>>
>>>>> it will not work the second it.
>>>
>>> I think I explained myself badly, I'll try again below.
>>>
>>>
>>>>>> Another thing I noticed is that currently find_mmio_handler and
>>>>>> try_fwd_ioserv expect dabt to be already populated and valid so it
>>>>>> would
>>>>>> be better if we could get there only when dabt.valid.
>>>>>>
>>>>>> With these two things in mind, I think maybe the best thing to do is
>>>>>> to
>>>>>> change the code in do_trap_stage2_abort_guest slightly so that
>>>>>> p2m_resolve_translation_fault and try_map_mmio are called first when
>>>>>> !dabt.valid.
>>>>>
>>>>> An abort will mostly likely happen because of emulated I/O. If we call
>>>>> p2m_resolve_translation_fault() and try_map_mmio() first, then it means
>>>>> the processing will take longer than necessary for the common case.
>>>>>
>>>>> So I think we want to keep the order as it is. I.e first trying the MMIO
>>>>> and then falling back to the less likely reason for a trap.
>>>
>>> Yeah I thought about it as well. The idea would be that if dabt.valid is
>>> set then we leave things as they are (we call try_handle_mmio first) but
>>> if dabt.valid is not set (it is not valid) then we skip the
>>> try_handle_mmio() call because it wouldn't succeed anyway and go
>>> directly to p2m_resolve_translation_fault() and try_map_mmio().
>>>
>>> If either of them work (also reading what you wrote about it) then we
>>> return immediately.
>>
>> Ok. So the assumption is data abort with invalid syndrome would mostly likely
>> be because of a fault handled by p2m_resolve_translation_fault().
>>
>> I think this makes sense. However, I am not convinced we can currently safely
>> call try_map_mmio() before try_handle_mmio(). This is because the logic in
>> try_map_mmio() is quite fragile and we may mistakenly map an emulated region.
>>
>> Similarly, we can't call try_map_mmio() before p2m_resolve_translation_fault()
>> because a transient fault may be
>> misinterpreted.
>>
>> I think we may be able to harden try_map_mmio() by checking if the I/O region
>> is emulated. But this will need to be fully thought through first.
> 
> That's a good point. I wonder if it could be as simple as making sure
> that iomem_access_permitted returns false for all emulated regions?

I have replied to that in the other thread. The short answer is no and...

> Looking at the code, it looks like it is already the case today. Is that
> right?

not 100%. The thing is iomem_access_permitted() is telling you which 
*host* physical address is accessible. Not which *guest* physical 
address is emulated.

We could possibly take some short cut at the risk of bitting back in the 
future if we end up to emulate non-existing region in the host physical 
address.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Jan 29 17:58:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 29 Jan 2022 17:58:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262284.454459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDrzo-0006wA-Kh; Sat, 29 Jan 2022 17:58:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262284.454459; Sat, 29 Jan 2022 17:58:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDrzo-0006w2-HV; Sat, 29 Jan 2022 17:58:44 +0000
Received: by outflank-mailman (input) for mailman id 262284;
 Sat, 29 Jan 2022 17:58: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 1nDrzm-0006vv-MZ
 for xen-devel@lists.xenproject.org; Sat, 29 Jan 2022 17:58: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 1nDrzm-00076c-1J; Sat, 29 Jan 2022 17:58:42 +0000
Received: from 54-240-197-239.amazon.com ([54.240.197.239]
 helo=[192.168.0.221]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nDrzl-0003te-Qx; Sat, 29 Jan 2022 17:58:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=n6P/mQrSqC2/4lSsLdSczpRfHwIcz5mqvEMc3OuQWbo=; b=de7i7ERDBbO3NRlvXoL8Wm98NK
	0KN8oYOwfKdM8s3JP5AOTGswbJ6tBsAytavZVcPhpzmy95613exF9FUFztvPGE6ScJvleOT0hXwBq
	w3Pl67y8rM6naqJGXWieYLfW0Nx3/8QSBuTxoBSXsuVME/NUrQ4TYEFs1XkZ8aDGRWzg=;
Message-ID: <3a00dff8-c213-616e-48b0-6e2b6f30dbce@xen.org>
Date: Sat, 29 Jan 2022 17:58:39 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [PATCH v3 1/5] xen: introduce xen,enhanced dom0less property
To: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
Cc: jgross@suse.com, Bertrand.Marquis@arm.com, Volodymyr_Babchuk@epam.com,
 Stefano Stabellini <stefano.stabellini@xilinx.com>
References: <alpine.DEB.2.22.394.2201281330520.27308@ubuntu-linux-20-04-desktop>
 <20220128213307.2822078-1-sstabellini@kernel.org>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220128213307.2822078-1-sstabellini@kernel.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 28/01/2022 21:33, Stefano Stabellini wrote:
> From: Stefano Stabellini <stefano.stabellini@xilinx.com>
> 
> Introduce a new "xen,enhanced" dom0less property to enable/disable PV
> driver interfaces for dom0less guests. Currently only "enabled" and
> "disabled" are supported property values (and empty). Leave the option
> open to implement further possible values in the future (e.g.
> "xenstore" to enable only xenstore.)
> 
> The configurable option is for domUs only. For dom0 we always set the
> corresponding property in the Xen code to true (PV interfaces enabled.)
> 
> This patch only parses the property. Next patches will make use of it.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
> Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
> CC: Julien Grall <julien@xen.org>
> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> CC: Bertrand Marquis <bertrand.marquis@arm.com>
> ---
> Changes in v3:
> - improve commit message
> 
> Changes in v2:
> - rename kinfo.enhanced to kinfo.dom0less_enhanced
> - set kinfo.dom0less_enhanced to true for dom0
> - handle -ENODATA in addition to -EILSEQ
> ---
>   docs/misc/arm/device-tree/booting.txt | 18 ++++++++++++++++++
>   xen/arch/arm/domain_build.c           |  8 ++++++++
>   xen/arch/arm/include/asm/kernel.h     |  3 +++
>   3 files changed, 29 insertions(+)
> 
> diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
> index 71895663a4..38c29fb3d8 100644
> --- a/docs/misc/arm/device-tree/booting.txt
> +++ b/docs/misc/arm/device-tree/booting.txt
> @@ -169,6 +169,24 @@ with the following properties:
>       Please note that the SPI used for the virtual pl011 could clash with the
>       physical SPI of a physical device assigned to the guest.
>   
> +- xen,enhanced

NIT: I find a bit strange this is added in the middle of the property. 
Can you either sort the property alphabtically or move this one to the end?

> +
> +    A string property. Possible property values are:
> +
> +    - "enabled" (or missing property value)
> +    Xen PV interfaces, including grant-table and xenstore, will be
> +    enabled for the VM.
> +
> +    - "disabled"
> +    Xen PV interfaces are disabled.
> +
> +    If the xen,enhanced property is present with no value, it defaults
> +    to "enabled". If the xen,enhanced property is not present, PV
> +    interfaces are disabled.
> +
> +    In the future other possible property values might be added to
> +    enable only selected interfaces.
> +
>   - nr_spis
>   
>       Optional. A 32-bit integer specifying the number of SPIs (Shared
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 6931c022a2..9144d6c0b6 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -2963,6 +2963,7 @@ static int __init construct_domU(struct domain *d,
>                                    const struct dt_device_node *node)
>   {
>       struct kernel_info kinfo = {};
> +    const char *dom0less_enhanced;
>       int rc;
>       u64 mem;
>   
> @@ -2978,6 +2979,12 @@ static int __init construct_domU(struct domain *d,
>   
>       kinfo.vpl011 = dt_property_read_bool(node, "vpl011");
>   
> +    rc = dt_property_read_string(node, "xen,enhanced", &dom0less_enhanced);
> +    if ( rc == -EILSEQ ||

I think the use an -EILSEQ wants an explanation. In a previous version, 
you wrote that the value would be returned when:

fdt set /chosen/domU0 xen,enhanced

But it is not clear why. Can you print pp->value, pp->length, 
strnlen(..) when this happens?


> +         rc == -ENODATA ||
> +         (rc == 0 && !strcmp(dom0less_enhanced, "enabled")) )
> +        kinfo.dom0less_enhanced = true;
> +
>       if ( vcpu_create(d, 0) == NULL )
>           return -ENOMEM;
>   
> @@ -3095,6 +3102,7 @@ static int __init construct_dom0(struct domain *d)
>   
>       kinfo.unassigned_mem = dom0_mem;
>       kinfo.d = d;
> +    kinfo.dom0less_enhanced = true;

This is a bit odd. The name suggests that this is a dom0less specific 
option. But then you are setting it to dom0.

Given that this variable is about enable PV drivers, I think this should 
be false for dom0.

>   
>       rc = kernel_probe(&kinfo, NULL);
>       if ( rc < 0 )
> diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
> index 874aa108a7..c4dc039b54 100644
> --- a/xen/arch/arm/include/asm/kernel.h
> +++ b/xen/arch/arm/include/asm/kernel.h
> @@ -36,6 +36,9 @@ struct kernel_info {
>       /* Enable pl011 emulation */
>       bool vpl011;
>   
> +    /* Enable PV drivers */
> +    bool dom0less_enhanced;
> +
>       /* GIC phandle */
>       uint32_t phandle_gic;
>   

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Jan 29 18:13:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 29 Jan 2022 18:13:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262289.454471 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDsDv-0000r3-SV; Sat, 29 Jan 2022 18:13:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262289.454471; Sat, 29 Jan 2022 18:13:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDsDv-0000qw-PO; Sat, 29 Jan 2022 18:13:19 +0000
Received: by outflank-mailman (input) for mailman id 262289;
 Sat, 29 Jan 2022 18:13: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 1nDsDu-0000qq-5F
 for xen-devel@lists.xenproject.org; Sat, 29 Jan 2022 18:13: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 1nDsDt-0007Rd-Fn; Sat, 29 Jan 2022 18:13:17 +0000
Received: from 54-240-197-231.amazon.com ([54.240.197.231]
 helo=[192.168.0.221]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nDsDt-00055E-9C; Sat, 29 Jan 2022 18:13:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=y1tr6zECahI/dgKeBm/NEcPYt50bKW8+Yai/bm9qMD0=; b=h6C3BrHfxdJtLnFwEJsEb2jJoR
	xPWwX4E6sjYN4TgTBI+rHhnpixTMgsbensclpM9YwQn+jMc7zY0VxtLBQEI2eTLAf3WzoUuIlfWXz
	uq6fIHoXLEd4YOQcyNZYsH9ApViaFylbsJQAf5HfHoh7oWNpEO6I2GPosSYOL0lKETgw=;
Message-ID: <e55c03f6-5b20-ce9c-ce88-11dc85623dce@xen.org>
Date: Sat, 29 Jan 2022 18:13:15 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [PATCH v3 3/5] xen/arm: configure dom0less domain for enabling
 xenstore after boot
To: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
Cc: jgross@suse.com, Bertrand.Marquis@arm.com, Volodymyr_Babchuk@epam.com,
 Luca Miccio <lucmiccio@gmail.com>,
 Stefano Stabellini <stefano.stabellini@xilinx.com>
References: <alpine.DEB.2.22.394.2201281330520.27308@ubuntu-linux-20-04-desktop>
 <20220128213307.2822078-3-sstabellini@kernel.org>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220128213307.2822078-3-sstabellini@kernel.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 28/01/2022 21:33, Stefano Stabellini wrote:
> From: Luca Miccio <lucmiccio@gmail.com>
> 
> If "xen,enhanced" is enabled, then add to dom0less domains:
> 
> - the hypervisor node in device tree
> - the xenstore event channel
> 
> The xenstore event channel is also used for the first notification to
> let the guest know that xenstore has become available.
> 
> Signed-off-by: Luca Miccio <lucmiccio@gmail.com>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
> Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
> CC: Julien Grall <julien@xen.org>
> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> CC: Bertrand Marquis <bertrand.marquis@arm.com>
> 
> ---
> Changes in v3:
> - use evtchn_alloc_unbound
> 
> Changes in v2:
> - set HVM_PARAM_STORE_PFN to ~0ULL at domain creation
> - in alloc_xenstore_evtchn do not call _evtchn_alloc_unbound
> ---
>   xen/arch/arm/domain_build.c | 41 +++++++++++++++++++++++++++++++++++++
>   1 file changed, 41 insertions(+)
> 
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 9144d6c0b6..8e030a7f05 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -27,6 +27,7 @@
>   #include <asm/setup.h>
>   #include <asm/cpufeature.h>
>   #include <asm/domain_build.h>
> +#include <xen/event.h>
>   
>   #include <xen/irq.h>
>   #include <xen/grant_table.h>
> @@ -2619,6 +2620,8 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
>       int ret;
>   
>       kinfo->phandle_gic = GUEST_PHANDLE_GIC;
> +    kinfo->gnttab_start = GUEST_GNTTAB_BASE;
> +    kinfo->gnttab_size = GUEST_GNTTAB_SIZE;
>   
>       addrcells = GUEST_ROOT_ADDRESS_CELLS;
>       sizecells = GUEST_ROOT_SIZE_CELLS;
> @@ -2693,6 +2696,13 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
>               goto err;
>       }
>   
> +    if ( kinfo->dom0less_enhanced )
> +    {
> +        ret = make_hypervisor_node(d, kinfo, addrcells, sizecells);

Looking at the code, I think the extended regions will not work properly 
because we are looking at the host memory layout. In the case of domU, 
we want to use the guest layout. Please have a look how it was done in 
libxl.

> +        if ( ret )
> +            goto err;
> +    }
> +
>       ret = fdt_end_node(kinfo->fdt);
>       if ( ret < 0 )
>           goto err;
> @@ -2959,6 +2969,25 @@ static int __init construct_domain(struct domain *d, struct kernel_info *kinfo)
>       return 0;
>   }
>   
> +static int __init alloc_xenstore_evtchn(struct domain *d)
> +{
> +    evtchn_alloc_unbound_t alloc;
> +    int rc;
> +
> +    alloc.dom = d->domain_id;
> +    alloc.remote_dom = hardware_domain->domain_id;

The first thing evtchn_alloc_unbound() will do is looking up the domain. 
This seems a bit pointless given that we have the domain in hand. 
Shouldn't we extend evtchn_alloc_unbound() to pass the domain?

> +    rc = evtchn_alloc_unbound(&alloc, true);
> +    if ( rc )
> +    {
> +        printk("Failed allocating event channel for domain\n");
> +        return rc;
> +    }
> +
> +    d->arch.hvm.params[HVM_PARAM_STORE_EVTCHN] = alloc.port;
> +
> +    return 0;
> +}
> +
>   static int __init construct_domU(struct domain *d,
>                                    const struct dt_device_node *node)
>   {
> @@ -3014,7 +3043,19 @@ static int __init construct_domU(struct domain *d,
>           return rc;
>   
>       if ( kinfo.vpl011 )
> +    {
>           rc = domain_vpl011_init(d, NULL);
> +        if ( rc < 0 )
> +            return rc;
> +    }
> +
> +    if ( kinfo.dom0less_enhanced )
> +    {
> +        rc = alloc_xenstore_evtchn(d);
> +        if ( rc < 0 )
> +            return rc;
> +        d->arch.hvm.params[HVM_PARAM_STORE_PFN] = ~0ULL;

I think it would be easy to allocate the page right now. So what prevent 
us to do it right now?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Jan 29 18:56:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 29 Jan 2022 18:56:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262297.454482 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDsta-00059O-9k; Sat, 29 Jan 2022 18:56:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262297.454482; Sat, 29 Jan 2022 18: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 1nDsta-00059H-6i; Sat, 29 Jan 2022 18:56:22 +0000
Received: by outflank-mailman (input) for mailman id 262297;
 Sat, 29 Jan 2022 18:56: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 1nDstZ-000597-4t; Sat, 29 Jan 2022 18:56: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 1nDstZ-0008Cy-1Y; Sat, 29 Jan 2022 18:56: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 1nDstY-00065d-Ma; Sat, 29 Jan 2022 18:56:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nDstY-0005mu-M4; Sat, 29 Jan 2022 18:56:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=DoS1R+ixbabaWOL03YaUU/OSRa6pGUhOQ4z6CZTXqbA=; b=kbgqHnkBH3dKgoi+5pr1HL/lip
	FHlFThfthoyoMntvc5lkbYpb4JesQomu+cmUfuHJ97nYxDGcUi9BQ8PsjLnlWfzITL+O/OTuvQtqF
	UTyciOCTyLux7JGQFw7PpStleMeqHenOaoBezLVmxZYNnRVnitaY0VnZv1vFK9sRgKg4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167941-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167941: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:host-ping-check-xen:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-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-armhf-armhf-libvirt-qcow2: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-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=169387e2aa291a4e3cb856053730fe99d6cec06f
X-Osstest-Versions-That:
    linux=145d9b498fc827b79c1260b4caa29a8e59d4c2b9
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 29 Jan 2022 18:56:20 +0000

flight 167941 linux-linus real [real]
flight 167948 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/167941/
http://logs.test-lab.xenproject.org/osstest/logs/167948/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-freebsd11-amd64 19 guest-localmigrate/x10 fail pass in 167948-retest
 test-armhf-armhf-libvirt     10 host-ping-check-xen fail pass in 167948-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt 16 saverestore-support-check fail in 167948 like 167937
 test-armhf-armhf-libvirt    15 migrate-support-check fail in 167948 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167937
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167937
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167937
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167937
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167937
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167937
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167937
 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-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-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-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                169387e2aa291a4e3cb856053730fe99d6cec06f
baseline version:
 linux                145d9b498fc827b79c1260b4caa29a8e59d4c2b9

Last test of basis   167937  2022-01-28 15:11:08 Z    1 days
Testing same since   167941  2022-01-29 02:33:22 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Eric W. Biederman" <ebiederm@xmission.com>
  Aditya Garg <gargaditya08@live.com>
  Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
  Amir Goldstein <amir73il@gmail.com>
  Ard Biesheuvel <ardb@kernel.org>
  Carsten Otte <cotte@de.ibm.com>
  Christian Borntraeger <borntraeger@linux.ibm.com>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Colin Ian King <colin.i.king@gmail.com>
  Damien Le Moal <damien.lemoal@opensource.wdc.com>
  Daniel Bristot de Oliveira <bristot@kernel.org>
  David Matlack <dmatlack@google.com>
  Denis Valeev <lemniscattaden@gmail.com>
  Eric W. Biederman <ebiederm@xmission.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guangwu Zhang <guazhang@redhat.com>
  Heiko Carstens <hca@linux.ibm.com>
  Helge Deller <deller@gmx.de>
  Hou Wenlong <houwenlong93@linux.alibaba.com>
  Ilya Dryomov <idryomov@gmail.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Jan Kara <jack@suse.cz>
  Jeff Layton <jlayton@kernel.org>
  Jim Mattson <jmattson@google.com>
  John Garry <john.garry@huawei.com>
  John Meneghini <jmeneghi@redhat.com>
  Kees Cook <keescook@chromium.org>
  Kiwoong Kim <kwmad.kim@samsung.com>
  Like Xu <likexu@tencent.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Marc Zyngier <maz@kernel.org>
  Mark Rutland <mark.rutland@arm.com> [arm64]
  Martin K. Petersen <martin.petersen@oracle.com>
  Masami Hiramatsu <mhiramat@kernel.org>
  Mathias Krause <minipli@grsecurity.net>
  Maurizio Lombardi <mlombard@redhat.com>
  Michael Kelley <mikelley@microsoft.com>
  Mihai Carabas <mihai.carabas@oracle.com>
  Nilesh Javali <njavali@marvell.com>
  Orlando Chamberlain <redecorating@protonmail.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter Zijlstra <peterz@infradead.org>
  Quanfa Fu <quanfafu@gmail.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Sachin Sant <sachinp@linux.ibm.com>
  Saurav Kashyap <skashyap@marvell.com>
  Sean Christopherson <seanjc@google.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Steffen Maier <maier@linux.ibm.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Thomas Bogendoerfer <tsbogend@alpha.franken.de>
  Tom Rix <trix@redhat.com>
  Tom Zanussi <zanussi@kernel.org>
  Tong Zhang <ztong0001@gmail.com>
  Vasily Gorbik <gor@linux.ibm.com>
  Vitaly Kuznetsov <vkuznets@redhat.com>
  Wanpeng Li <wanpengli@tencent.com>
  Wei Liu <wei.liu@kernel.org>
  Xianting Tian <xianting.tian@linux.alibaba.com>
  Xiaoke Wang <xkernel.wang@foxmail.com>
  Xiaoyao Li <xiaoyao.li@intel.com>
  Xiubo Li <xiubli@redhat.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Yang Yingliang <yangyingliang@huawei.com>
  Yanming Liu <yanminglr@gmail.com>
  ZouMingzhe <mingzhe.zou@easystack.cn>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   145d9b498fc8..169387e2aa29  169387e2aa291a4e3cb856053730fe99d6cec06f -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sat Jan 29 19:36:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 29 Jan 2022 19:36:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262309.454493 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDtVt-0000u7-HU; Sat, 29 Jan 2022 19:35:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262309.454493; Sat, 29 Jan 2022 19:35:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDtVt-0000u0-E1; Sat, 29 Jan 2022 19:35:57 +0000
Received: by outflank-mailman (input) for mailman id 262309;
 Sat, 29 Jan 2022 19:35:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1nDtVs-0000tu-82
 for xen-devel@lists.xenproject.org; Sat, 29 Jan 2022 19:35:56 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nDtVq-0000Qk-If; Sat, 29 Jan 2022 19:35:54 +0000
Received: from 54-240-197-239.amazon.com ([54.240.197.239]
 helo=[192.168.0.221]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nDtVq-0002R3-4I; Sat, 29 Jan 2022 19: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:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=SUpACoatmumCflNy9goUAOvgBbJnKcKXhf6mIFUZ9JU=; b=Lvk0uV3GiWTH1miozh26rsZfuU
	3wBjJuDkofEGZG/oAOiwRc3flapQ1p5unoRapFzvpO/s9qafbxxGGfKPnf7AyeypN5SKf4SstGXpS
	zcjGzKTGwF4HbQ8j/ci3Vg9ew2sDs0baHWWeIyU+x8ZCKir7Ky2v4dDJPKaTSo2P9/3c=;
Message-ID: <395710eb-ba51-eb67-1519-2a949326f699@xen.org>
Date: Sat, 29 Jan 2022 19:35:50 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [PATCH v3 5/5] tools: add example application to initialize
 dom0less PV drivers
To: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
Cc: jgross@suse.com, Bertrand.Marquis@arm.com, Volodymyr_Babchuk@epam.com,
 Luca Miccio <lucmiccio@gmail.com>,
 Stefano Stabellini <stefano.stabellini@xilinx.com>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <alpine.DEB.2.22.394.2201281330520.27308@ubuntu-linux-20-04-desktop>
 <20220128213307.2822078-5-sstabellini@kernel.org>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220128213307.2822078-5-sstabellini@kernel.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 28/01/2022 21:33, Stefano Stabellini wrote:
> From: Luca Miccio <lucmiccio@gmail.com>
> 
> Add an example application that can be run in dom0 to complete the
> dom0less domains initialization so that they can get access to xenstore
> and use PV drivers.
> 
> Signed-off-by: Luca Miccio <lucmiccio@gmail.com>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
> CC: Wei Liu <wl@xen.org>
> CC: Anthony PERARD <anthony.perard@citrix.com>
> CC: Juergen Gross <jgross@suse.com>
> ---
> Changes in v3:
> - handle xenstore errors
> - add an in-code comment about xenstore entries
> - less verbose output
> - clean-up error path in main
> 
> Changes in v2:
> - do not set HVM_PARAM_STORE_EVTCHN twice
> - rename restore_xenstore to create_xenstore
> - increase maxmem
> ---
>   tools/helpers/Makefile        |  13 ++
>   tools/helpers/init-dom0less.c | 269 ++++++++++++++++++++++++++++++++++

Should we document how this is meant to be used?

>   2 files changed, 282 insertions(+)
>   create mode 100644 tools/helpers/init-dom0less.c
> 
> diff --git a/tools/helpers/Makefile b/tools/helpers/Makefile
> index 7f6c422440..8e42997052 100644
> --- a/tools/helpers/Makefile
> +++ b/tools/helpers/Makefile
> @@ -10,6 +10,9 @@ ifeq ($(CONFIG_Linux),y)
>   ifeq ($(CONFIG_X86),y)
>   PROGS += init-xenstore-domain
>   endif
> +ifeq ($(CONFIG_ARM),y)
> +PROGS += init-dom0less
> +endif >   endif
>   
>   XEN_INIT_DOM0_OBJS = xen-init-dom0.o init-dom-json.o
> @@ -26,6 +29,13 @@ $(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS += $(CFLAGS_libxenstore)
>   $(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS += $(CFLAGS_libxenlight)
>   $(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS += -include $(XEN_ROOT)/tools/config.h
>   
> +INIT_DOM0LESS_OBJS = init-dom0less.o init-dom-json.o
> +$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxentoollog)
> +$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenstore)
> +$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenlight)
> +$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenctrl)
> +$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenevtchn)
> +
>   .PHONY: all
>   all: $(PROGS)
>   
> @@ -35,6 +45,9 @@ xen-init-dom0: $(XEN_INIT_DOM0_OBJS)
>   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)
>   
> +init-dom0less: $(INIT_DOM0LESS_OBJS)
> +	$(CC) $(LDFLAGS) -o $@ $(INIT_DOM0LESS_OBJS) $(LDLIBS_libxenctrl) $(LDLIBS_libxenevtchn) $(LDLIBS_libxentoollog) $(LDLIBS_libxenstore) $(LDLIBS_libxenlight) $(LDLIBS_libxenguest)  $(APPEND_LDFLAGS)
> +
>   .PHONY: install
>   install: all
>   	$(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
> diff --git a/tools/helpers/init-dom0less.c b/tools/helpers/init-dom0less.c
> new file mode 100644
> index 0000000000..b6a3831cb5
> --- /dev/null
> +++ b/tools/helpers/init-dom0less.c
> @@ -0,0 +1,269 @@
> +#include <stdbool.h>
> +#include <syslog.h>
> +#include <stdio.h>
> +#include <err.h>
> +#include <stdlib.h>
> +#include <xenstore.h>
> +#include <xenctrl.h>
> +#include <xenguest.h>
> +#include <libxl.h>
> +#include <xenevtchn.h>
> +
> +#include "init-dom-json.h"
> +
> +#define NR_MAGIC_PAGES 4

Why are we allocating 4 pages when only 2 (maybe 1) is necessary?

> +#define CONSOLE_PFN_OFFSET 0
> +#define XENSTORE_PFN_OFFSET 1
> +#define STR_MAX_LENGTH 64
> +
> +static int alloc_magic_pages(libxl_dominfo *info, struct xc_dom_image *dom)
> +{
> +    int rc, i;
> +    const xen_pfn_t base = GUEST_MAGIC_BASE >> XC_PAGE_SHIFT;
> +    xen_pfn_t p2m[NR_MAGIC_PAGES];
> +
> +    rc = xc_domain_setmaxmem(dom->xch, dom->guest_domid,
> +                             info->max_memkb + NR_MAGIC_PAGES * 4);

Please don't rely on the fact the page size will be 4KB in Xen. Instead, 
use XC_PAGE_*.

> +    if (rc < 0)
> +        return rc;
> +
> +    for (i = 0; i < NR_MAGIC_PAGES; i++)
> +        p2m[i] = base + i;
> +
> +    rc = xc_domain_populate_physmap_exact(dom->xch, dom->guest_domid,
> +                                          NR_MAGIC_PAGES, 0, 0, p2m);
> +    if (rc < 0)
> +        return rc;
> +
> +    dom->xenstore_pfn = base + XENSTORE_PFN_OFFSET;
> +
> +    xc_clear_domain_page(dom->xch, dom->guest_domid, dom->xenstore_pfn);

So you allocate 4 pages, use 2, but only clear 1. Can you explain why?

Also, should not you check the error return here and  ...

> +
> +    xc_hvm_param_set(dom->xch, dom->guest_domid, HVM_PARAM_STORE_PFN,
> +                     dom->xenstore_pfn);

here...?

Also, in theory, as soon as you set xc_hvm_param_set(), the guest may be 
able to start using Xenstore. So wouldn't it be better to set it once 
you know everything is in place (i.e. just before calling 
xs_introduce_domain())?

> +    return 0;
> +}
> +
> +static bool do_xs_write_dom(struct xs_handle *xsh, xs_transaction_t t,
> +                            domid_t domid, char *path, char *val)
> +{
> +    char full_path[STR_MAX_LENGTH];
> +
> +    snprintf(full_path, STR_MAX_LENGTH,
> +             "/local/domain/%d/%s", domid, path);
> +    return xs_write(xsh, t, full_path, val, strlen(val));

 From my understanding, xs_write() will create a node that will only be 
readable/writable by the domain executing this binary (i.e. dom0). IOW, 
the guest will not see the nodes.

So shouldn't you also set the permissions?

> +}
> +
> +static bool do_xs_write_libxl(struct xs_handle *xsh, xs_transaction_t t,
> +                              domid_t domid, char *path, char *val)
> +{
> +    char full_path[STR_MAX_LENGTH];
> +
> +    snprintf(full_path, STR_MAX_LENGTH,
> +             "/libxl/%d/%s", domid, path);

Please use %u when you refer to unsigned value. Also, I think it would 
be a good practice to check the return value of snprintf(). This would 
avoid any future surprise of value truncated by mistake.

The same is valid for all the other use below.

> +    return xs_write(xsh, t, full_path, val, strlen(val));
> +}
> +
> +static bool do_xs_write_vm(struct xs_handle *xsh, xs_transaction_t t,
> +                           libxl_uuid uuid, char *path, char *val)
> +{
> +    char full_path[STR_MAX_LENGTH];
> +
> +    snprintf(full_path, STR_MAX_LENGTH,
> +             "/vm/" LIBXL_UUID_FMT "/%s", LIBXL_UUID_BYTES(uuid), path);
> +    return xs_write(xsh, t, full_path, val, strlen(val));
> +}
> +
> +/*
> + * The xenstore nodes are the xenstore nodes libxl writes at domain
> + * creation.
> + *
> + * The list was retrieved by running xenstore-ls on a corresponding
> + * domain started by xl/libxl.
> + */
> +static int restore_xenstore(struct xs_handle *xsh,

As I wrote in v1, I think "restore" is misleading because the domain was 
never in Xenstore. So how about "create"? (Which BTW you agreed on back 
then).

> +                            libxl_dominfo *info, libxl_uuid uuid,
> +                            evtchn_port_t xenstore_port)
> +{
> +    domid_t domid;
> +    int i;

This is used as an iterator for a uint32_t value. So I think it should 
at least be unsigned int.

> +    char uuid_str[STR_MAX_LENGTH];
> +    char dom_name_str[STR_MAX_LENGTH];
> +    char vm_val_str[STR_MAX_LENGTH];
> +    char id_str[STR_MAX_LENGTH];
> +    char max_memkb_str[STR_MAX_LENGTH];
> +    char cpu_str[STR_MAX_LENGTH];
> +    char xenstore_port_str[STR_MAX_LENGTH];
> +    char ring_ref_str[STR_MAX_LENGTH];
> +    xs_transaction_t t;
> +
> +    domid = info->domid;
> +    snprintf(id_str, STR_MAX_LENGTH, "%d", domid);
> +    snprintf(dom_name_str, STR_MAX_LENGTH, "dom0less-%d", domid);
> +    snprintf(uuid_str, STR_MAX_LENGTH, LIBXL_UUID_FMT, LIBXL_UUID_BYTES(uuid));
> +    snprintf(vm_val_str, STR_MAX_LENGTH,
> +             "vm/" LIBXL_UUID_FMT, LIBXL_UUID_BYTES(uuid));
> +    snprintf(max_memkb_str, STR_MAX_LENGTH, "%lu", info->max_memkb);
> +    snprintf(ring_ref_str, STR_MAX_LENGTH, "%lld",
> +             (GUEST_MAGIC_BASE >> XC_PAGE_SHIFT) + XENSTORE_PFN_OFFSET);
> +    snprintf(xenstore_port_str, STR_MAX_LENGTH, "%d", xenstore_port); > +
> +retry_transaction:
> +    t = xs_transaction_start(xsh);
> +    if (t == XBT_NULL)
> +        return -errno;
> +
> +    /* /vm */
> +    if (!do_xs_write_vm(xsh, t, uuid, "name", dom_name_str)) return -EIO;

You should terminate the transaction in case of an error.

> +    if (!do_xs_write_vm(xsh, t, uuid, "uuid", uuid_str)) return -EIO;
> +    if (!do_xs_write_vm(xsh, t, uuid, "start_time", "0")) return -EIO;

Wouldn't it be better to create based on the time now?

> +
> +    /* /domain */
> +    if (!do_xs_write_dom(xsh, t, domid, "vm", vm_val_str)) return -EIO;
> +    if (!do_xs_write_dom(xsh, t, domid, "name", dom_name_str)) return -EIO;
> +    if (!do_xs_write_dom(xsh, t, domid, "cpu", "")) return -EIO;
> +    for (i = 0; i < info->vcpu_max_id; i++) {
> +        snprintf(cpu_str, STR_MAX_LENGTH, "cpu/%d/availability/", i);
> +        if (!do_xs_write_dom(xsh, t, domid, cpu_str,
> +                             (info->cpupool & (1 << i)) ? "online" : "offline"))
> +            return -EIO;
> +    }
> +    if (!do_xs_write_dom(xsh, t, domid, "cpu/0", "")) return -EIO;

I am a bit confused. You created 0 above, so why do you need to create 
it here again?

> +    if (!do_xs_write_dom(xsh, t, domid, "cpu/availability", "online")) return -EIO;

I can't seem to find this node in xenstore and libxl.

> +
> +    if (!do_xs_write_dom(xsh, t, domid, "memory", "")) return -EIO;
> +    if (!do_xs_write_dom(xsh, t, domid, "memory/static-max", max_memkb_str)) return -EIO;
> +    if (!do_xs_write_dom(xsh, t, domid, "memory/videoram", "-1")) return -EIO;

How about "memory/target"?

> +
> +    if (!do_xs_write_dom(xsh, t, domid, "device", "")) return -EIO;
> +    if (!do_xs_write_dom(xsh, t, domid, "device/suspend", "")) return -EIO;
> +    if (!do_xs_write_dom(xsh, t, domid, "device/suspend/event-channel", "")) return -EIO;
> +
> +    if (!do_xs_write_dom(xsh, t, domid, "control", "")) return -EIO;
> +    if (!do_xs_write_dom(xsh, t, domid, "control/shutdown", "")) return -EIO;
> +    if (!do_xs_write_dom(xsh, t, domid, "control/feature-poweroff", "1")) return -EIO;
> +    if (!do_xs_write_dom(xsh, t, domid, "control/feature-reboot", "1")) return -EIO;
> +    if (!do_xs_write_dom(xsh, t, domid, "control/feature-suspend", "")) return -EIO;
> +    if (!do_xs_write_dom(xsh, t, domid, "control/sysrq", "")) return -EIO;
> +    if (!do_xs_write_dom(xsh, t, domid, "control/platform-feature-multiprocessor-suspend", "1")) return -EIO;
> +    if (!do_xs_write_dom(xsh, t, domid, "control", "platform-feature-xs_reset_watches")) return -EIO;

It sounds like this wants to be "control/platform-feature...". If this 
hasn't been done, I would diff the libxl version and your version to 
check if all are the same (names, values, permissions).

> +
> +    if (!do_xs_write_dom(xsh, t, domid, "domid", id_str)) return -EIO;
> +    if (!do_xs_write_dom(xsh, t, domid, "data", "")) return -EIO;
> +    if (!do_xs_write_dom(xsh, t, domid, "drivers", "")) return -EIO;
> +    if (!do_xs_write_dom(xsh, t, domid, "feature", "")) return -EIO;
> +    if (!do_xs_write_dom(xsh, t, domid, "attr", "")) return -EIO;
> +
> +    if (!do_xs_write_dom(xsh, t, domid, "store/port", xenstore_port_str)) return -EIO;
> +    if (!do_xs_write_dom(xsh, t, domid, "store/ring-ref", ring_ref_str)) return -EIO;
> +
> +    if (!do_xs_write_libxl(xsh, t, domid, "type", "pvh")) return -EIO;
> +    if (!do_xs_write_libxl(xsh, t, domid, "dm-version", "qemu_xen")) return -EIO;
> +
> +    if (!xs_transaction_end(xsh, t, false))
> +        if (errno == EAGAIN)
> +            goto retry_transaction;
> +        else
> +            return -errno;
> +
> +    return 0;
> +}
> +
> +static int init_domain(struct xs_handle *xsh, libxl_dominfo *info)
> +{
> +    struct xc_dom_image dom;

I would initialize dom to 0 to avoid any undef behavior.

> +    libxl_uuid uuid;
> +    uint64_t v;
> +    int rc;
> +
> +    printf("Init dom0less domain: %d\n", info->domid);
> +    dom.guest_domid = info->domid;
> +    dom.xenstore_domid = 0;
> +    dom.xch = xc_interface_open(0, 0, 0);
> +
> +    rc = xc_hvm_param_get(dom.xch, info->domid, HVM_PARAM_STORE_EVTCHN, &v);
> +    if (rc != 0) {
> +        printf("Failed to get HVM_PARAM_STORE_EVTCHN\n");
> +        return 1;
> +    }
> +    dom.xenstore_evtchn = v;
> +
> +    /* Console won't be initialized but set its data for completeness */
> +    dom.console_domid = 0;

I find a bit odd you set the domid but not the event channel, page. Can 
you explain?

Actually, can you explain why only half of the structure is initialized?

> +
> +    /* Alloc magic pages */
> +    if (alloc_magic_pages(info, &dom) != 0) {
> +        printf("Error on alloc magic pages\n");
> +        return 1;
> +    }
> +
> +    xc_dom_gnttab_init(&dom);

This call as the risk to break the guest if the dom0 Linux doesn't 
support the acquire interface. This is because it will punch a hole in 
the domain memory where the grant-table may have already been mapped.

Also, this function could fails.

> +
> +    libxl_uuid_generate(&uuid);
> +    xc_domain_sethandle(dom.xch, info->domid, libxl_uuid_bytearray(&uuid));
> +
> +    rc = gen_stub_json_config(info->domid, &uuid);
> +    if (rc)
> +        err(1, "gen_stub_json_config");
> +
> +    rc = restore_xenstore(xsh, info, uuid, dom.xenstore_evtchn);
> +    if (rc)
> +        err(1, "writing to xenstore");
> +
> +    xs_introduce_domain(xsh, info->domid,
> +            (GUEST_MAGIC_BASE >> XC_PAGE_SHIFT) + XENSTORE_PFN_OFFSET,
> +            dom.xenstore_evtchn);

xs_introduce_domain() can technically fails.

> +    return 0;
> +}
> +
> +/* Check if domain has been configured in XS */
> +static bool domain_exists(struct xs_handle *xsh, int domid)
> +{
> +    return xs_is_domain_introduced(xsh, domid);
> +}

Would not this lead to initialize a domain with PV driver disabled?

In addition to that, I think we should warn the users (maybe in some 
documentation) that this should not be called in parallel of scripts 
that may create new domain. Otherwise they may be picked up here as well...

> +
> +int main(int argc, char **argv)
> +{
> +    libxl_dominfo *info = NULL;
> +    libxl_ctx *ctx;
> +    int nb_vm = 0, rc = 0, i;
> +    struct xs_handle *xsh = NULL;
> +
> +    xsh = xs_daemon_open();

 From my understanding xs_daemon_open() is deprecated. Instead, you want 
to use xs_open(0).

However, libxl_ctx_alloc() is already opening a xenstore connection. So 
I think it would be better to rely on libxl and other the provided 
helpers (introduce new one if necessary) or just completely drop libxl 
from the equations.

> +    if (xsh == NULL) {
> +        fprintf(stderr, "Could not contact XenStore");
> +        rc = -errno;
> +        goto out;
> +    }
> +
> +    rc = libxl_ctx_alloc(&ctx, LIBXL_VERSION, 0, NULL);
> +    if (rc) {
> +        fprintf(stderr, "cannot init xl context\n");
> +        goto out;
> +    }
> +
> +    info = libxl_list_domain(ctx, &nb_vm);
> +    if (!info) {
> +        fprintf(stderr, "libxl_list_vm failed.\n");
> +        rc = -1;
> +        goto out;
> +    }
> +
> +    for (i = 0; i < nb_vm; i++) {
> +        domid_t domid = info[i].domid;
> +
> +        /* Don't need to check for Dom0 */
> +        if (!domid)
> +            continue;
> +
> +        printf("Checking domid: %u\n", domid);
> +        if (!domain_exists(xsh, domid))
> +            init_domain(xsh, &info[i]);

init_domain() could return an error. So shouldn't you check it?

If yes, then the question is whether you want to continue to handle the 
other domain or abort?

If the former, then what's the next steps if the domain is half 
initialized? So we try again?

> +        else
> +            printf("Domain %d has already been initialized\n", domid);
> +    }
> +out:
> +    libxl_dominfo_list_free(info, nb_vm);
> +    xs_close(xsh);
> +    return rc;
> +}

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Jan 29 19:41:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 29 Jan 2022 19:41:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262314.454504 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDtbY-0002K4-88; Sat, 29 Jan 2022 19:41:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262314.454504; Sat, 29 Jan 2022 19:41:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDtbY-0002Jx-4Q; Sat, 29 Jan 2022 19:41:48 +0000
Received: by outflank-mailman (input) for mailman id 262314;
 Sat, 29 Jan 2022 19:41: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 1nDtbX-0002Jm-6F; Sat, 29 Jan 2022 19:41: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 1nDtbX-0000YD-4F; Sat, 29 Jan 2022 19:41: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 1nDtbW-0000Gs-P0; Sat, 29 Jan 2022 19:41:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nDtbW-0003YO-OW; Sat, 29 Jan 2022 19:41:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=6dKBpfSM2T6+K/rvTBxJn4EoOI44q+PpwG81BmD0JMA=; b=ZnLf4/IAecjXhUl/VD4Ij7esvr
	2RPfI+OTA2aFRMKrSk8IJO3XT9OTM7wYigXxWpMM/6fbjYI34mAmLj7q/EO8WyOxLi1TyaJQQUPxO
	VEuOj2AmqpY358TvOQAmqe883fbPA0EyEbPYQGPoRK5WP77Z4+0cM1MKWOPTP/eJE7vg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167946-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 167946: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=ae35314e7b86417c166eb873eb26df012ae3787a
X-Osstest-Versions-That:
    ovmf=8542fc5f956821841154d4c11851c5484847ac0d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 29 Jan 2022 19:41:46 +0000

flight 167946 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167946/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 ae35314e7b86417c166eb873eb26df012ae3787a
baseline version:
 ovmf                 8542fc5f956821841154d4c11851c5484847ac0d

Last test of basis   167940  2022-01-29 01:41:58 Z    0 days
Testing same since   167946  2022-01-29 15:43:04 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ard Biesheuvel <ardb@kernel.org>
  Sami Mujawar <sami.mujawar@arm.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   8542fc5f95..ae35314e7b  ae35314e7b86417c166eb873eb26df012ae3787a -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Jan 29 21:36:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 29 Jan 2022 21:36:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262324.454515 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDvOb-0004fg-In; Sat, 29 Jan 2022 21:36:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262324.454515; Sat, 29 Jan 2022 21: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 1nDvOb-0004fZ-Fb; Sat, 29 Jan 2022 21:36:33 +0000
Received: by outflank-mailman (input) for mailman id 262324;
 Sat, 29 Jan 2022 21:36: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 1nDvOZ-0004fP-Rx; Sat, 29 Jan 2022 21:36: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 1nDvOZ-0002g0-Of; Sat, 29 Jan 2022 21:36: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 1nDvOZ-0006TS-C7; Sat, 29 Jan 2022 21:36:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nDvOZ-0002y5-Bb; Sat, 29 Jan 2022 21:36: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=+Bd+mmiG1QGm7mweDc2Q+mN6KGe8Fec7wXfX0QZXZEU=; b=6Fu7FXHdQzcMRF4rkQbthgPMpt
	IcnJ7WKTtpClRTJUgZ/R8Ni7s6EyOf3eMylVNwe9dIRXQWkayuTX2rn8qrTuGBDx9pw9I8lExvVVE
	Y8g6n62LfpX+yuea8Oe6wkMgFWC3YRQuZ16MDth1j1I6Z3cQpRAWw4w8cmYjf47WTnAo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167944-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167944: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-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-armhf-armhf-libvirt: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-armhf-armhf-libvirt-qcow2: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-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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-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-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=21170a738c11b24815b4afab2151bd3aa2a29acc
X-Osstest-Versions-That:
    xen=21170a738c11b24815b4afab2151bd3aa2a29acc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 29 Jan 2022 21:36:31 +0000

flight 167944 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167944/

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 167938
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167938
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167938
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167938
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167938
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167938
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167938
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167938
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167938
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167938
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167938
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167938
 test-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-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  21170a738c11b24815b4afab2151bd3aa2a29acc
baseline version:
 xen                  21170a738c11b24815b4afab2151bd3aa2a29acc

Last test of basis   167944  2022-01-29 08:19:31 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Sat Jan 29 23:43:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 29 Jan 2022 23:43:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262335.454526 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDxN6-0008Ky-TW; Sat, 29 Jan 2022 23:43:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262335.454526; Sat, 29 Jan 2022 23: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 1nDxN6-0008Kr-QQ; Sat, 29 Jan 2022 23:43:08 +0000
Received: by outflank-mailman (input) for mailman id 262335;
 Sat, 29 Jan 2022 23:43: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 1nDxN5-0008Kh-IS; Sat, 29 Jan 2022 23:43: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 1nDxN5-0004p5-Fr; Sat, 29 Jan 2022 23:43: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 1nDxN5-0003IM-16; Sat, 29 Jan 2022 23:43:07 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nDxN5-0006Kq-0h; Sat, 29 Jan 2022 23:43:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=JDQyDVsckYu6NE+Od9mHfKkAicvMqw5k/uHhMPq66Y8=; b=OaQkn00kpzyE18CLcMUd2gOxZ6
	Y8JLSwJf0Tywx8Bg4Bhw/r/+O8G5+MYy37/6GKGyTnf7Vw70LrFsUCHA9iLSnqG0Yi4fUlPD60CXR
	/4Sz7Q3BOX8sO4kh2xaV3beLhngEzHKDahM3ajmjdpPmSZddm6YQIbhhCHmzq1oyieI8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167945-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 167945: 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-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-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-qcow2:saverestore-support-check: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-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-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-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:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-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-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt: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-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=7cdf2951f80d189e9a0a5b6836664ccc8bfb2e7e
X-Osstest-Versions-That:
    linux=411d8da1c84369f4d4eef7dd55766dffc0a169fd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 29 Jan 2022 23:43:07 +0000

flight 167945 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167945/

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 167916
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167916
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167916
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167916
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167916
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167916
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167916
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167916
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167916
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167916
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167916
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167916
 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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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          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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                7cdf2951f80d189e9a0a5b6836664ccc8bfb2e7e
baseline version:
 linux                411d8da1c84369f4d4eef7dd55766dffc0a169fd

Last test of basis   167916  2022-01-27 08:41:47 Z    2 days
Testing same since   167945  2022-01-29 09:42:03 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adrian Hunter <adrian.hunter@intel.com>
  Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
  Dave Airlie <airlied@redhat.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Guillaume Morin <guillaume@morinfr.org>
  Jan Kara <jack@suse.cz>
  Jon Hunter <jonathanh@nvidia.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Mathias Krause <minipli@grsecurity.net>
  Olof Johansson <olof@lixom.net>
  Paul E. McKenney <paulmck@kernel.org>
  Phil Elwell <phil@raspberrypi.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Stefan Wahren <stefan.wahren@i2se.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Tim Harvey <tharvey@gateworks.com>
  Tvrtko Ursulin <tvrtko.ursulin@intel.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Zack Rusin <zackr@vmware.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  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-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


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
   411d8da1c843..7cdf2951f80d  7cdf2951f80d189e9a0a5b6836664ccc8bfb2e7e -> tested/linux-5.4


From xen-devel-bounces@lists.xenproject.org Sun Jan 30 00:12:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 00:12:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262345.454537 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDxpF-0003jb-07; Sun, 30 Jan 2022 00:12:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262345.454537; Sun, 30 Jan 2022 00:12:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDxpE-0003jU-TB; Sun, 30 Jan 2022 00:12:12 +0000
Received: by outflank-mailman (input) for mailman id 262345;
 Sun, 30 Jan 2022 00:12: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 1nDxpD-0003jK-Ge; Sun, 30 Jan 2022 00:12: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 1nDxpD-0005wo-ED; Sun, 30 Jan 2022 00:12: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 1nDxpD-0004Id-5W; Sun, 30 Jan 2022 00:12:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nDxpD-0007AP-54; Sun, 30 Jan 2022 00: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=1tzb4U3wEAKKpVdDS2RYGhcmkkSYfTw49u7yslDNE7I=; b=HnvRxkoiHvKU3EIBh8fNAg68Cw
	1BHLLtlcHuhNl7vnvsAUf9v/w8f/sKwRc2tVUHoVH14hNi4dL7GUXr9x9T8hNfyro6VLPfaathTcL
	QFOwpejDnGAGgnjewMN3QdfqyqelrCBxBfd6Tip23hNMOJjc/We0MuJRU2fr5bt3qT18=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167950-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 167950: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=ba79becd553c4d9118fafcaedef4d36f1cb9c851
X-Osstest-Versions-That:
    ovmf=ae35314e7b86417c166eb873eb26df012ae3787a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 30 Jan 2022 00:12:11 +0000

flight 167950 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167950/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 ba79becd553c4d9118fafcaedef4d36f1cb9c851
baseline version:
 ovmf                 ae35314e7b86417c166eb873eb26df012ae3787a

Last test of basis   167946  2022-01-29 15:43:04 Z    0 days
Testing same since   167950  2022-01-29 20:11:41 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abner Chang <abner.chang@hpe.com>
  Ard Biesheuvel <ardb@kernel.org>
  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
   ae35314e7b..ba79becd55  ba79becd553c4d9118fafcaedef4d36f1cb9c851 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sun Jan 30 02:29:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 02:29:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262357.454548 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDzxy-0001OB-6G; Sun, 30 Jan 2022 02:29:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262357.454548; Sun, 30 Jan 2022 02:29:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nDzxy-0001O3-1m; Sun, 30 Jan 2022 02:29:22 +0000
Received: by outflank-mailman (input) for mailman id 262357;
 Sun, 30 Jan 2022 02:29: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 1nDzxw-0001Nt-PC; Sun, 30 Jan 2022 02:29: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 1nDzxw-0001uP-NN; Sun, 30 Jan 2022 02:29: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 1nDzxv-0007yD-AT; Sun, 30 Jan 2022 02:29:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nDzxv-0001Bx-A2; Sun, 30 Jan 2022 02:29: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=ovOYt+Dty7Kj2T/RwsL6imRHP6ynBESAymiJEU7UPHM=; b=isIBoKcs8m+FMPOVTbT7LCRhCI
	lUJyCjOYoMIgYVVCHowqnPugBEVdQHszJwH/2jozfYSs3EiXFbg6N/ENd4uri204AxzcOE4v5MFG/
	paPyKbjXNuEN/Lvrzd6t5j/P5pUCE5AEaTJ/6iCVPwYNGgG/J2qbtsp5q2TbUExXHoE0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167947-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167947: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-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-armhf-armhf-libvirt-qcow2: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:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check: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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-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-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-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw: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-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-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
    qemu-mainline:test-armhf-armhf-libvirt-qcow2: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
X-Osstest-Versions-This:
    qemuu=95a6af2a006e7160c958215c20e513ed29a0a76c
X-Osstest-Versions-That:
    qemuu=7a1043cef91739ff4b59812d30f1ed2850d3d34e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 30 Jan 2022 02:29:19 +0000

flight 167947 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167947/

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 167939
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167939
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167939
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167939
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167939
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167939
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167939
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167939
 test-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-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-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     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
 test-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-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                95a6af2a006e7160c958215c20e513ed29a0a76c
baseline version:
 qemuu                7a1043cef91739ff4b59812d30f1ed2850d3d34e

Last test of basis   167939  2022-01-28 23:39:37 Z    1 days
Testing same since   167947  2022-01-29 16:06:59 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Baumann <Andrew.Baumann@microsoft.com>
  Cédric Le Goater <clg@kaod.org>
  Edgar E. Iglesias <edgar.iglesias@xilinx.com>
  Francisco Iglesias <francisco.iglesias@xilinx.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-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   7a1043cef9..95a6af2a00  95a6af2a006e7160c958215c20e513ed29a0a76c -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Sun Jan 30 03:09:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 03:09:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262367.454559 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nE0aU-0005ZS-EC; Sun, 30 Jan 2022 03:09:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262367.454559; Sun, 30 Jan 2022 03:09:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nE0aU-0005ZL-B8; Sun, 30 Jan 2022 03:09:10 +0000
Received: by outflank-mailman (input) for mailman id 262367;
 Sun, 30 Jan 2022 03:09:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lkCg=SO=intel.com=kevin.tian@srs-se1.protection.inumbo.net>)
 id 1nE0aS-0005ZF-QI
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 03:09:09 +0000
Received: from mga17.intel.com (mga17.intel.com [192.55.52.151])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fafe090d-8179-11ec-8f75-fffcc8bd4f1a;
 Sun, 30 Jan 2022 04:09:07 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 29 Jan 2022 19:09:03 -0800
Received: from orsmsx605.amr.corp.intel.com ([10.22.229.18])
 by orsmga005.jf.intel.com with ESMTP; 29 Jan 2022 19:09:03 -0800
Received: from orsmsx606.amr.corp.intel.com (10.22.229.19) by
 ORSMSX605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2308.20; Sat, 29 Jan 2022 19:09:02 -0800
Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by
 orsmsx606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2308.20 via Frontend Transport; Sat, 29 Jan 2022 19:09:02 -0800
Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.103)
 by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2308.20; Sat, 29 Jan 2022 19:09:02 -0800
Received: from BN9PR11MB5276.namprd11.prod.outlook.com (2603:10b6:408:135::18)
 by MWHPR1101MB2365.namprd11.prod.outlook.com (2603:10b6:300:74::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.20; Sun, 30 Jan
 2022 03:09:00 +0000
Received: from BN9PR11MB5276.namprd11.prod.outlook.com
 ([fe80::f514:7aae:315b:4d8d]) by BN9PR11MB5276.namprd11.prod.outlook.com
 ([fe80::f514:7aae:315b:4d8d%3]) with mapi id 15.20.4930.020; Sun, 30 Jan 2022
 03:08:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fafe090d-8179-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1643512147; x=1675048147;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=5IkzbfmcN2+CErwxVase6v7i7D+DE2BdKqUL5KDlsc8=;
  b=dRjTULZglIWdLOyWckt118t76j0BKYdHNNHKkfINFL1a6yUaNL19X+Jz
   RLFpaWiZsMlS7O1O9t0rEVtN4m8QHJ7XcUvS+v/0/AMHEvndTEE45ErJf
   1uE7ckuDpP7Sc7/vBXxfTd75VxDbH3XuwWLpdLUJhhvAkCjm9yNgERmBy
   2OSX/AlT8ehz1xg3OMaWST7my/NKE+CQVKcnFqdffHX2UazXKxjglmc2z
   AXF6XXRhnTJR09BLjhbKwh4xBRRRT3OzVY5nwM56Id5neFfnQtRG66vmT
   Jv9ierJYgFExP+yaYeWodBu1WQmWGiFtTjmRXMgCqscn9xKxsOLDuvg6E
   Q==;
X-IronPort-AV: E=McAfee;i="6200,9189,10242"; a="227980050"
X-IronPort-AV: E=Sophos;i="5.88,327,1635231600"; 
   d="scan'208";a="227980050"
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.88,327,1635231600"; 
   d="scan'208";a="697509673"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=j89iHZ78YLsXtqG5hAhl/KiDoJ7ls6sXCq8rwrFqED9Tb5FC0NO3Ll1/8y4C3G6lnoY+YAIEMaG1fm6NyUOPsg2YGmVd6e14+lUmcB1KDPbVa4JRWgaKeRmnJDeXWE7PcmrgUZDqkELGnqKgVubdfINI7NGt1sO3JtlCH9Vd80BIOTbk/+ift9t1s+gNE+JhbhNIz6yF7irh5BPDIEFk4fAw66Ud4B1JMypfkBUyjUIRu5HE1HlO1sFYl+rGkX0cMA94qTNvLX6FtEWEpCTdViEdCBwm8DB3B0e5lDX/A0KCV/CpXgWKgUM8VB5JtaKEqgnkzw39m0lRag9qCbWSDQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5IkzbfmcN2+CErwxVase6v7i7D+DE2BdKqUL5KDlsc8=;
 b=Y9ltvMNjFq89MFkme73QkPe9/z78NDtjwJpYrxUZbOfdnFQcvkHVH9P3hnvt5X+4wUI2hzid8yDW16bqTewgVzsE3lxnE/K4nGKR2PC3TsNHtT7KRCxuh4RKuBTS1tJJvLY/omeLqlBIo1JLt3Z4kU5AziZ/adi6rS6HjMQxyWMseEoFvKD5+gv1b4BBxBUFf33DeiXZnyFdDt2CF4f2PqPL96F/J07YHUgCL2KTpZ83RYBlm0UIDbJas7HRFcSE1tStlKBWz/Cd7WyKofiPqeQVVCPdtYpWGNKWLoEcU4WiB76heG3XhwY43fRXm8dphTw7VDYXn1BrIPba/u49SA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
From: "Tian, Kevin" <kevin.tian@intel.com>
To: "Beulich, Jan" <JBeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: "Cooper, Andrew" <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
	=?utf-8?B?UGF1IE1vbm7DqSwgUm9nZXI=?= <roger.pau@citrix.com>, "Nakajima, Jun"
	<jun.nakajima@intel.com>
Subject: RE: [PATCH v2 1/3] VMX: sync VM-exit perf counters with known VM-exit
 reasons
Thread-Topic: [PATCH v2 1/3] VMX: sync VM-exit perf counters with known
 VM-exit reasons
Thread-Index: AQHYAj+mrfy4jhb6gEO6nCskr+JyMax7CMyw
Date: Sun, 30 Jan 2022 03:08:59 +0000
Message-ID: <BN9PR11MB52766E7198FB5B93FAF016218C249@BN9PR11MB5276.namprd11.prod.outlook.com>
References: <ff461a77-93a0-5424-6565-2e947bec3912@suse.com>
 <7955e956-c619-38ef-618f-344f16fe6517@suse.com>
In-Reply-To: <7955e956-c619-38ef-618f-344f16fe6517@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: a02ae3ce-218f-433a-31e2-08d9e39ddc6c
x-ms-traffictypediagnostic: MWHPR1101MB2365:EE_
x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
x-microsoft-antispam-prvs: <MWHPR1101MB2365AA2114487700608B43968C249@MWHPR1101MB2365.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: d6BK+ETkZdylDpnb77eYzgY3tKiGg5rA20RlWxyC6FBwVIhzQm5MLTheLM+TDe/2xHIsk19irwQfD/nDpiKgUr+NvYaORTS1wNQOjpsPJO5j5TGhP7Xe33yuP4VcLYNXme+zNbghl9AK4wu5nhjxn/X0KSRo1iWYa/NqPLGni8xXzPGZWLVhZk0RY0nGdjVNcxgw4xffzYmm+Mg8iYcKr9QklTpHMCv3/K98lasjUHkM+w6JMo2xRfMVmsEPJBJBfDXsQLtsTUGysdHpCqYLU0YAAU8dBHijRV05YJjbsOuG86T8TSg7zGd+Yim95/d/9IfXjeIdB07qr4zzPNgno9CUzPDShlDOY1Ukle4KDePlEWcyetP7ehQQaH2DTJFBYH+28UPlimBolfnWwcWFNEaPEHYH4XbDxIFhbAYfNKYlryxN/HZDuOyS0c7BMqRZkKiFN60pnp9f3/xe9QrCLi2z+IGdt7qRnJARlD0Z/L4yYQFUXoN7vuCGUFs8ZnDdzlvIcn5wAhlGnA5G61yekWG5erBlJlywKfp39WUyXCRBGaoDtUdLG8qvAF4G2YIZgj7AmC9a9mLRRvSsUVwSzqHJDLHLT8SJ5xSQ1NQ1MMPbetnksaptuKvddTb+hZYXvoSpueUclnuHwflihanjRkYUG1ZKWmecV1JzbpTT0G2MSjzXrGqlGPBrWAQ60T+XWx97DtcC8VmyKDcCCBTTGA==
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR11MB5276.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(71200400001)(86362001)(107886003)(38070700005)(38100700002)(83380400001)(33656002)(82960400001)(54906003)(52536014)(4326008)(316002)(76116006)(6506007)(66556008)(26005)(110136005)(55016003)(186003)(8676002)(66446008)(64756008)(8936002)(2906002)(9686003)(66476007)(7696005)(5660300002)(508600001)(66946007)(122000001)(20210929001);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NDBvT2pQR24vVHh6Y1Mrblc4L20yMUJyR1krYVZsTWNLZm05QkxpNE41akVO?=
 =?utf-8?B?OVo5c1p4bEZ5N3VST3NHWjcyTnJWRnljanRPTk9YQnFjc3RYVjkrN09DbHZT?=
 =?utf-8?B?T05XZi8zV3hVcW9XZHZoWkZWR1pLYVJpL0dNSTBqUmYzTVl3ZW9xRTNnSDd2?=
 =?utf-8?B?V0E5eVpicURvcDBSQjVGYmxYZVhHaXMyU0w1bnoyYXJ6c1Q0N3Q5Q2FYR3dQ?=
 =?utf-8?B?TUQxeERjODlueG4xdXhKOEJIaVdWb01KaVpXNlRjMENTa2MyV2JvOE5XcTV5?=
 =?utf-8?B?QXBOa0UzZGt6bkp0UEJKc1U1RkNNNVUyZWZEcm80MExuaFNpZjNaR25TRWlT?=
 =?utf-8?B?R3hlbXBZUHZoU0Y1NXRSemduL1VKanE3dkUrSnoyLzl1bzNwN2ZuTWtqRnMv?=
 =?utf-8?B?cTdPb054UytoRy9tQzJHTmZTdXBRa2I1SUVHc0x3Q2hOYksyUWRhK2Jtd0Jm?=
 =?utf-8?B?RWgwV2txaHZZSjh1NitncmRNY2ovUlNFTnRuRXJNZFIwdEVVeVdBaE1vb3Vw?=
 =?utf-8?B?YUY5QmViNDBycnV3T0lXazVoSzgvdVUraUpsb1ZnUmFiUTNsYXllMWRYYmEz?=
 =?utf-8?B?clVCa0twVTVTMU5tRG9DY3VKNUZJOUEvSklVWWFHVmFZZHJZM3h3Nm1ZQ0lG?=
 =?utf-8?B?Yk9JbWczamdGVXhvV1lPR3dOa1IvbFRZcWJNOVJ4V21VZUNldkdQVzlTSGtF?=
 =?utf-8?B?R1V2U3RiVDd0ODF1WnpVOHJGQXBRbkhPMGhXd1RFTVJZRHFvVDRaaDJUMTJs?=
 =?utf-8?B?UGVGY01rbWF3MXljenN0YWp1L3BXYmFHYnM1eUY4cExzampYUGprN2FpaTJl?=
 =?utf-8?B?bWFDQmhnQjlwTHcvNGptU0wzY041ZWNJaTl6OW53SE92NGVqYmhiUWhWMmtt?=
 =?utf-8?B?Qjc1TjQ3RGdGalZjUWlTczAyMnlLeWlkL0Z0c2phTmVnVkVpeGFpaDUvQmVu?=
 =?utf-8?B?c0xoU09QZHJpQkhuVGZzZEN3TWk1WXZabkxTWHpEUjFnemI2Y0Y0by9MV08y?=
 =?utf-8?B?UExLWGVtc2hscWwyVkVuUFdpbHNxR3lOY2F1YzRCb25CVi92aWZOMWtST1lJ?=
 =?utf-8?B?dGROSHRSK045ZUdkMEJnSW5oeTYwSVdWbHF1U1lEZUpRemo1YjNKRWtMTTI3?=
 =?utf-8?B?YlQ2Q2xIaVkxbHhmVXRnOUx2SWQ4L2dJQkROSG5aRUxaNlRETzNlbFAzbith?=
 =?utf-8?B?OVlQNXBNb3hZWURWazV6TnprRTVyM0MvTkdnS29reXpKbmZkRm5hVjRvYmpY?=
 =?utf-8?B?eVBJZDAxYjBLdmp2MGVqQkdnT1haNklhOXlXQWJ0S2hqYytjRklnb211YUY1?=
 =?utf-8?B?anZISzJvb21ZNVhncGpZUEcwMi9QUHMreXdCZFlTTDNEK1ZRdDd3MThNTTJZ?=
 =?utf-8?B?MVF1TTUwaGVUTitvMlFFZXNXTVhLaGQxY3NDQldhQTF3MVpjVG5RVG5yYkYz?=
 =?utf-8?B?bjdBcnZrenJQWjZkMmU1MXNzWkpDMURReVIyeXI2V3FxdkF2RHFUNHdxYjl0?=
 =?utf-8?B?UjVoNXhBbWNTaHZJZVZWOWduajEvbUZhTXNkVGE1eWN6UXBRVzdOd0pCQnVF?=
 =?utf-8?B?M0pBUmpDbi9EbUlNcE9qMm5PV3p3U2dYU3VPMTNXaGpWaEY4SVl0SmdZSWhH?=
 =?utf-8?B?a0tqcFZHcjRaQ1NFV1Y2ZzBLTU11WWR1aFJxS21iNXo3dFpFQkU2Ri9vYkF5?=
 =?utf-8?B?S3Myeld4MEx2NTFaMllMaVpBc3l4UkxpeTNDZGluTGsydXpNRC9BLzJRYmV6?=
 =?utf-8?B?MmhiQk1zaFh5MGxER0N5NlNNSlV5T0IxZ2hqWjNkcyt4d1N3bmxGZ25lMWpn?=
 =?utf-8?B?N1hDNU9JaGJWdFhKaDU5OWxLc0Z0bE5BZ0hlZWlaOE0xcDBkLzB3Q0dZSzd6?=
 =?utf-8?B?ZEVEb3JoTGVKRmpWdHFTalJ2R1JTaFgzSlU2dm01U21LVlRCOGl3V29yYW1W?=
 =?utf-8?B?bmQxd0hMREVHMmx4cVF1bEQrZW5JN1B1b0N5VXl5TE1TTkMxSzhhK0hWbmRu?=
 =?utf-8?B?bXpGNnZwZVhDY3BVQVByNTljRXhFU0lnZDMybEFRSjVIR3hNeklYMEg1SXdB?=
 =?utf-8?B?K2xYOVN2azJ5dm5oMGRNTEtib2NNaFdOaGFPVzBleURKK3lHbGlRaE9SejVQ?=
 =?utf-8?B?MXpWTktQM2gzMFRvSitGZFFyWWYyOS9tclh6WTZQemREMDd1YVlHZTV0RG1X?=
 =?utf-8?Q?QFva7Jv1y3f6iYbx02dFuyI=3D?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN9PR11MB5276.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a02ae3ce-218f-433a-31e2-08d9e39ddc6c
X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jan 2022 03:08:59.6459
 (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: C41FZHRbGRaUl0Endb6WvDZ0qyGwcPrC2N/5RiwwjgG1N2n3GtOzUUzMFa7EcJP+mOnnkij/6PCEowaq2Iwwzw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR1101MB2365
X-OriginatorOrg: intel.com

PiBGcm9tOiBCZXVsaWNoDQo+IFNlbnQ6IFdlZG5lc2RheSwgSmFudWFyeSA1LCAyMDIyIDk6NTgg
UE0NCj4gDQo+IFRoaXMgaGFzIGdvbmUgb3V0IG9mIHN5bmMgb3ZlciB0aW1lLiBJbnRyb2R1Y2Ug
YSBzaW1wbGlzdGljIG1lY2hhbmlzbSB0bw0KPiBob3BlZnVsbHkga2VlcCB0aGluZ3MgaW4gc3lu
YyBnb2luZyBmb3J3YXJkLg0KPiANCj4gQWxzbyBsaW1pdCB0aGUgYXJyYXkgaW5kZXggdG8ganVz
dCB0aGUgImJhc2ljIGV4aXQgcmVhc29uIiBwYXJ0LCB3aGljaCBpcw0KPiB3aGF0IHRoZSBwc2V1
ZG8tZW51bWVyYXRpb24gY292ZXJzLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2gg
PGpiZXVsaWNoQHN1c2UuY29tPg0KDQpSZXZpZXdlZC1ieTogS2V2aW4gVGlhbiA8a2V2aW4udGlh
bkBpbnRlbC5jb20+DQoNCj4gLS0tDQo+IHYyOiBVc2Ugc2VudGluZWwgY29tbWVudCBvbmx5Lg0K
PiANCj4gLS0tIGEveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMNCj4gKysrIGIveGVuL2FyY2gv
eDg2L2h2bS92bXgvdm14LmMNCj4gQEAgLTM4NjksNyArMzg2OSw3IEBAIHZvaWQgdm14X3ZtZXhp
dF9oYW5kbGVyKHN0cnVjdCBjcHVfdXNlcl8NCj4gICAgICBlbHNlDQo+ICAgICAgICAgIEhWTVRS
QUNFX05EKFZNRVhJVCwgMCwgMS8qY3ljbGVzKi8sIGV4aXRfcmVhc29uLCByZWdzLT5laXApOw0K
PiANCj4gLSAgICBwZXJmY19pbmNyYSh2bWV4aXRzLCBleGl0X3JlYXNvbik7DQo+ICsgICAgcGVy
ZmNfaW5jcmEodm1leGl0cywgKHVpbnQxNl90KWV4aXRfcmVhc29uKTsNCj4gDQo+ICAgICAgLyog
SGFuZGxlIHRoZSBpbnRlcnJ1cHQgd2UgbWlzc2VkIGJlZm9yZSBhbGxvd2luZyBhbnkgbW9yZSBp
bi4gKi8NCj4gICAgICBzd2l0Y2ggKCAodWludDE2X3QpZXhpdF9yZWFzb24gKQ0KPiAtLS0gYS94
ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vaHZtL3ZteC92bXguaA0KPiArKysgYi94ZW4vYXJjaC94
ODYvaW5jbHVkZS9hc20vaHZtL3ZteC92bXguaA0KPiBAQCAtMjE5LDYgKzIxOSw3IEBAIHN0YXRp
YyBpbmxpbmUgdm9pZCBwaV9jbGVhcl9zbihzdHJ1Y3QgcGkNCj4gICNkZWZpbmUgRVhJVF9SRUFT
T05fUE1MX0ZVTEwgICAgICAgICAgICA2Mg0KPiAgI2RlZmluZSBFWElUX1JFQVNPTl9YU0FWRVMg
ICAgICAgICAgICAgIDYzDQo+ICAjZGVmaW5lIEVYSVRfUkVBU09OX1hSU1RPUlMgICAgICAgICAg
ICAgNjQNCj4gKy8qIFJlbWVtYmVyIHRvIGFsc28gdXBkYXRlIFZNWF9QRVJGX0VYSVRfUkVBU09O
X1NJWkUhICovDQo+IA0KPiAgLyoNCj4gICAqIEludGVycnVwdGlvbi1pbmZvcm1hdGlvbiBmb3Jt
YXQNCj4gLS0tIGEveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL3BlcmZjX2RlZm4uaA0KPiArKysg
Yi94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vcGVyZmNfZGVmbi5oDQo+IEBAIC02LDcgKzYsNyBA
QCBQRVJGQ09VTlRFUl9BUlJBWShleGNlcHRpb25zLA0KPiANCj4gICNpZmRlZiBDT05GSUdfSFZN
DQo+IA0KPiAtI2RlZmluZSBWTVhfUEVSRl9FWElUX1JFQVNPTl9TSVpFIDU2DQo+ICsjZGVmaW5l
IFZNWF9QRVJGX0VYSVRfUkVBU09OX1NJWkUgNjUNCj4gICNkZWZpbmUgVk1YX1BFUkZfVkVDVE9S
X1NJWkUgMHgyMA0KPiAgUEVSRkNPVU5URVJfQVJSQVkodm1leGl0cywgICAgICAgICAgICAgICJ2
bWV4aXRzIiwNCj4gVk1YX1BFUkZfRVhJVF9SRUFTT05fU0laRSkNCj4gIFBFUkZDT1VOVEVSX0FS
UkFZKGNhdXNlX3ZlY3RvciwgICAgICAgICAiY2F1c2UgdmVjdG9yIiwNCj4gVk1YX1BFUkZfVkVD
VE9SX1NJWkUpDQo+IA0KDQo=


From xen-devel-bounces@lists.xenproject.org Sun Jan 30 03:17:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 03:17:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262372.454570 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nE0iv-00070y-Ao; Sun, 30 Jan 2022 03:17:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262372.454570; Sun, 30 Jan 2022 03:17:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nE0iv-00070r-76; Sun, 30 Jan 2022 03:17:53 +0000
Received: by outflank-mailman (input) for mailman id 262372;
 Sun, 30 Jan 2022 03:17:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lkCg=SO=intel.com=kevin.tian@srs-se1.protection.inumbo.net>)
 id 1nE0it-00070l-Iv
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 03:17:51 +0000
Received: from mga03.intel.com (mga03.intel.com [134.134.136.65])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 324bcecf-817b-11ec-8f75-fffcc8bd4f1a;
 Sun, 30 Jan 2022 04:17:48 +0100 (CET)
Received: from fmsmga003.fm.intel.com ([10.253.24.29])
 by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 29 Jan 2022 19:17:45 -0800
Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83])
 by FMSMGA003.fm.intel.com with ESMTP; 29 Jan 2022 19:17:45 -0800
Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) 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.2308.20; Sat, 29 Jan 2022 19:17:45 -0800
Received: from fmsmsx604.amr.corp.intel.com (10.18.126.84) by
 fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2308.20; Sat, 29 Jan 2022 19:17:44 -0800
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.2308.20 via Frontend Transport; Sat, 29 Jan 2022 19:17:44 -0800
Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.175)
 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.2308.20; Sat, 29 Jan 2022 19:17:44 -0800
Received: from BN9PR11MB5276.namprd11.prod.outlook.com (2603:10b6:408:135::18)
 by BN9PR11MB5226.namprd11.prod.outlook.com (2603:10b6:408:133::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Sun, 30 Jan
 2022 03:17:42 +0000
Received: from BN9PR11MB5276.namprd11.prod.outlook.com
 ([fe80::f514:7aae:315b:4d8d]) by BN9PR11MB5276.namprd11.prod.outlook.com
 ([fe80::f514:7aae:315b:4d8d%3]) with mapi id 15.20.4930.020; Sun, 30 Jan 2022
 03: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: 324bcecf-817b-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1643512668; x=1675048668;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=X1x5ghUz8gT10kTBSNaPGljWN6kTbKL31boUzP3kdJ0=;
  b=iAVo1Jj8kEMxbaaNo9JCapsWZYOGQoshsgTyEeTZravrQasiG7K2szT7
   bqCd0MkI2BrQ43zRcktIU1hwm7zAXTbfg7QrFtfoscGLLGzMoOmU8Q2df
   41kg2NUDWB/zdGRsL2jV5J0bRP8R47+D9PqgajpGz4Ry4pHqEVHXIQxEK
   7bs6MATsR+FEZZlAslWyTcoERGBw5OgiSxJ3VYBl7Fji64cp1M6yXZQ1n
   nnwYItGI7NROQ73Ymb843OrXl/3sT3OENsAWq2piAP2KJBDRgtZVOP0Fe
   USKuOdKAg3CG6IlJvry4NuOBmj9tqWwcwalG/Ok/6uiKKHS3lck4dAIya
   A==;
X-IronPort-AV: E=McAfee;i="6200,9189,10242"; a="247263746"
X-IronPort-AV: E=Sophos;i="5.88,327,1635231600"; 
   d="scan'208";a="247263746"
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.88,327,1635231600"; 
   d="scan'208";a="619071186"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=n+Qu1g5+deJ0mlOgp1h5lgavNtyEhCksKI2qM1QkVZd/AI6qb3mNEmxltqI2prHSuR9av6FHIuoj9PnXhM6h3kjqTdRfx9HTlegFNc/2SjfOEMVcv6e/0ZEBdrpvjZ6LU8lTtWJqCiL63UPMLkN5EQD3M98SqqLuszUrGpbCAMjyWkhs0FCOpHxVJ1LStdQcr9b0VdhAWsBsBW8SN42GmxH4KYt6d81KMY5i6fav4GaWOEyqL54rAbisfn73efqbeO/R3q17N1BWCA4lPPdaCF4fAH9TGX88rqATNVw96Hdn+ZMocfom7qqdrHpEF/1ynpxq+MRnjwT1yiQ+CAw6xA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=X1x5ghUz8gT10kTBSNaPGljWN6kTbKL31boUzP3kdJ0=;
 b=Cpg5nf9Mhuo12TUo0CMPbICbwmfE6vGacJ/+0smzhKH7g4rDYTJrNwV2qWQa6yGzQgQJL9WggojXAQcE7KWXZj1NeKyFX0RRnB1EeLIMfXP+lDlRlQO6MisE0Wb55Z9jW2vR6fOKqa1iFwPLj5+mwpUdClnvleu1KgIYGF6UvYn1R/1fBl5+vGr4EY9jSWQMbDGmm1cKQGkXSkz8G/R18IGCAJ2mEDO9pIzdxCwhlaQtkTBhs22HOjwztgS6+7PTgrZjdEPliYPdkv6thR9QVvqCfPGPxwxJdXjsAo75OVN1s0MSyy6nb91oJvQk7dc82gvOkC+PsmZl84jVUNrM5w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
From: "Tian, Kevin" <kevin.tian@intel.com>
To: "Beulich, Jan" <JBeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: "Cooper, Andrew" <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
	=?utf-8?B?UGF1IE1vbm7DqSwgUm9nZXI=?= <roger.pau@citrix.com>
Subject: RE: [PATCH v3 02/23] VT-d: have callers specify the target level for
 page table walks
Thread-Topic: [PATCH v3 02/23] VT-d: have callers specify the target level for
 page table walks
Thread-Index: AQHYBj5aO/ech4sHz0qfOYxZoO/bAqx7AiWA
Date: Sun, 30 Jan 2022 03:17:42 +0000
Message-ID: <BN9PR11MB52768DA38F476850467574438C249@BN9PR11MB5276.namprd11.prod.outlook.com>
References: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
 <5bfc3618-12ff-f673-e880-6ea13bcf8fa3@suse.com>
In-Reply-To: <5bfc3618-12ff-f673-e880-6ea13bcf8fa3@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: a20321d0-d20a-47e5-b6b2-08d9e39f1414
x-ms-traffictypediagnostic: BN9PR11MB5226:EE_
x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
x-microsoft-antispam-prvs: <BN9PR11MB5226A4CD8D862F0599810DE68C249@BN9PR11MB5226.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: MPaLtCH8gEdBCJFHFp1Yzhu6xKcxNm7dRmDBeVS7Pt/73ZlM4WSEm86G0QmN8T3sJB/gbfYA34NwB42VKrS5jnsQipLrd4RvHQSJFTcpKwMXGejeXcuV1QJctvh8qE1Z+0fY8Rtb5vihKrgl+sIM3WnkTFUvS+NuJJ/ocFtB7HAu+bvVW9UMujmTNzkHkBdJauunDn6KKvxQ7mDeXm/hWZy3SRVkjyl29V3KEW3OPG3RJPWZZW2srN+g4S8TqgWvXEI/lmR9a3eLBjBAWZv6713pcPDaPUWzwPCYJ2hPgn2GNHyKNR2wTK8A6u4tQ7TkPJLIYRaoRs2op+UlauA5titgWFSc6xilh45SDQ6S+rAq/iD5Kn7ep1YaVa0+gtjeYenujc0I9B0+QsOijYCBknwNuiOeLVOM5zIkhK2lTYAxs1zMPH6Y0yShMsz6n2TSfJNNXyT+kPFLd38QJkbBhAe7elVQKGC3CNm7BKUZt8D/I19vhEcvxrUFfgKJ7E1AXOC6uewoyxFYCUw60kA0u6gtlheD65B7Q4lz5GhAwntbAfSlohLzka3jaJ2FOC9B6OZ5oLVKv2eRyxPkvHY2o0EvJmoyK60ZA1bTSDn1WnuYnferoTAVCELbHKHycdizPvI9DO9O6Q69k6CJy7ENh7KZzuDJjbHyF1tbb/EBDafugb8FjTc3hKagLIpMJXE/zzlcQjsXVjh25dSQSlqCCg==
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR11MB5276.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(55016003)(76116006)(186003)(71200400001)(26005)(66946007)(9686003)(6506007)(83380400001)(33656002)(8676002)(7696005)(8936002)(82960400001)(86362001)(64756008)(66446008)(38070700005)(66556008)(66476007)(38100700002)(5660300002)(2906002)(316002)(54906003)(110136005)(52536014)(4326008)(508600001)(122000001)(20210929001);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WEUzdEgrK2pjMFhBT2FNcDRYTXBKMWJ1cUhWNVoveVlRSUxiaVlhb0hSSzFj?=
 =?utf-8?B?WDRCOWNBR3o3UlJEZjJQMm5Oa0kwQ2hBMlJ4VVJOQ29KV3hzdGp2YVdtWDlV?=
 =?utf-8?B?emdYYlJBdFJzMy94SURMZ3A1eE0wTFQ2dnNhTlE5LzV6THVGNlk1dGhqTmsv?=
 =?utf-8?B?dFRYU1dJcnJPMzkyd1ptb3NWZ0tvMlJVQzVGU3VlZ2JRNlNtd0hFZnRmZ1hV?=
 =?utf-8?B?R3JBVGNOVnBKMlpUZ3BPSGJRMGxkMkw4TFViRmVsTkpCWFZjUHpaaVdtOUZu?=
 =?utf-8?B?am9aaHIxdytvK0xldVYvNjJHOTlJTHlzUlNIVUc2cWg5NlhNT2gwak4va1gy?=
 =?utf-8?B?NS9tRWZyem9xQ0NqOWJjVjd0TmhkbWo1ejQvbTFuRlFKTnZDaXFGaWovUkZn?=
 =?utf-8?B?eFAzOG02d2Nrb3RGYmY2eWlQRjQ5eW94a0FnRHd3bjdTVTZVVUdQaFpVUW9v?=
 =?utf-8?B?UlhqdGh4TjB4NnVsRFNvM3hMNzRnNDV5UWkvc2pCU3Q1NFQ3NGt2ZWVrM2xl?=
 =?utf-8?B?YzQyTUNQTzVyMVBhS3YzZGRRMUNjTVZKeHVGWUdnUGs1eHJpUGtSbmp2RmFT?=
 =?utf-8?B?d0RyYVRWckNXSzk3cy9LdWluUnBUYUoyYjdycXRyN1EvQkIydWc5UlZaZVNF?=
 =?utf-8?B?QnZmV2tXODBLUEJVa0VFeW9IbG5MN1B5T0ZwZ3BvYXg0THFrTHlvVTZodkhX?=
 =?utf-8?B?bmpkZ0Z6eXQ3aEVMUHhaTjdvT0p2Sys2UDFOb2R5NFlkM1JHa1drMzFBMFNu?=
 =?utf-8?B?bkUyR2ZQbzA4SmNYa2RVNkxiRTBiMDJya2JJK0FXNnJZbDJQUHdHellRMU5Y?=
 =?utf-8?B?T3IxR25ZY3lPU0l4NDhVUmQ2czQ5aUhzVmJlY00vc091WHN6T01Ca1ZHZnk0?=
 =?utf-8?B?dVU1cDZJUE9jandzUGtPTTlNZzhvOUpuRmg5S1d6dmtVSHZ5UWVPdS8wV2hs?=
 =?utf-8?B?dWhhL0JFVlhBSkUxdFBTMXhPWThVTFRhcUxQS1RBbXBuYlpjdkZQemFUVFoz?=
 =?utf-8?B?Tkgzb294c0Z3aVlIVnY4YThsbDlyYVJ6TEhQM3NJczRhazJYcmMrR2w5WmtN?=
 =?utf-8?B?Rlk5YjB0ajA4VzRUck5hYjBmR2VUU1YwN21ZMmRuTHFyOXFqaFdmRXFnWWx3?=
 =?utf-8?B?QXd4bWY5bGVSc2VUT0xsQVdWbmJlTi82VHQrMHJxOUN3WE1iMFZhREhoYm5X?=
 =?utf-8?B?U0dOWmw5M2o1N0xPaVlXTmx4TE1BbzN6MmRuajlPdUNsN1c0RWN3S2c5OVJI?=
 =?utf-8?B?bE5YQ2R4cHVWMS92ekE2WUxSdmJkbWwxU1hVUlppOG8xN3hpVUxDa1o4LzQ1?=
 =?utf-8?B?QUpGN3psSlZVdmdLUG1iZVpUbmdyZDJYbW9wR1VDaVZmTS9GVEhUSXZSbDRN?=
 =?utf-8?B?M0I5Sy94SHhObFBxUGNjMFI1WjhxSi9FVUZWU2JmSXdTYjQvT2toMnZMeEts?=
 =?utf-8?B?TDM0UFIyQjQzVm5BemNoKzBZa3BvakZHSTU2OElsNGJPc1EycFdiV2pnR0hu?=
 =?utf-8?B?d0xZV1ZjNkZaL3RGa2s3VzFsZGhpT1JEU0R0a1Iwd3NkTWkzbWJJQlJreXJk?=
 =?utf-8?B?TmNpSkhHVnoxbmNLc09SV2hYMTJOSHlFN2ZrWjlwcUxXQ0xVUWlkRFhPSktE?=
 =?utf-8?B?dURqM04xK3VpNFdEMkg2dUxtQjRKVFMzcE9RSDVBYXRyNnBoMjRYS1NwbXVh?=
 =?utf-8?B?aTZ6Qzc5YXcvMHVGTXlSZERJT3ZOL1BYZnJTNkJnY3A2UWxYcmJwa0lsZHdD?=
 =?utf-8?B?K0xMak1vOTVoOWpKRFh6M2VmWjNXSE00b1prZitldStRYUJ2Y2R3UU9hZGV2?=
 =?utf-8?B?M25WQkF1M1JkMzg0T3p3SmpoMFZoY3N2SjN2MEdVUnRDSlEvVEcwMTRGUWd0?=
 =?utf-8?B?Z0R4YXNnUzI0Z21NaU1yMU1HOHl4Ym80L1VKUlZKYm9nMkV6TVRuZlIvNzVO?=
 =?utf-8?B?M2QwWXIyR3cvWnBWa1NiRzFKTk8xWGVsaDE0RTZmTURpWVpkMjU1WmhhTTRS?=
 =?utf-8?B?M3JlTWMzdnVkclB2cFJzQTlabTlzbVFiaXc4b0VaMkU1MWYyQ3IzUTB5OGty?=
 =?utf-8?B?dFBocVc3Q2FEcjdCM2UzMXFkUFFOUmJ6S2FrZ25WUitHOG50R1Rub0lLZkR3?=
 =?utf-8?B?TzZJdnFaWlYvVTFOV2sySlVYSzRtSjBsQnJ1UW1qUE80WFVid2NnZk9aVC9p?=
 =?utf-8?Q?eV99gdbqerapaXikW6+4K6k=3D?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN9PR11MB5276.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a20321d0-d20a-47e5-b6b2-08d9e39f1414
X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jan 2022 03:17:42.5062
 (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: zNeZA4WMk0OEAWqxKq0zLtsrIG/14Ksi+NbuYvPYw2tlGiAtvEw9QYcoWbbs5VUfU/Jx6ZHdiisIwMb0XGduwg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR11MB5226
X-OriginatorOrg: intel.com

PiBGcm9tOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+IFNlbnQ6IFR1ZXNkYXks
IEphbnVhcnkgMTEsIDIwMjIgMTI6MjMgQU0NCj4gDQo+IEluIG9yZGVyIHRvIGJlIGFibGUgdG8g
aW5zZXJ0L3JlbW92ZSBzdXBlci1wYWdlcyB3ZSBuZWVkIHRvIGFsbG93DQo+IGNhbGxlcnMgb2Yg
dGhlIHdhbGtpbmcgZnVuY3Rpb24gdG8gc3BlY2lmeSBhdCB3aGljaCBwb2ludCB0byBzdG9wIHRo
ZQ0KPiB3YWxrLg0KPiANCj4gRm9yIGludGVsX2lvbW11X2xvb2t1cF9wYWdlKCkgaW50ZWdyYXRl
IHRoZSBsYXN0IGxldmVsIGFjY2VzcyBpbnRvDQo+IHRoZSBtYWluIHdhbGtpbmcgZnVuY3Rpb24u
DQo+IA0KPiBkbWFfcHRlX2NsZWFyX29uZSgpIGdldHMgb25seSBwYXJ0bHkgYWRqdXN0ZWQgZm9y
IG5vdzogRXJyb3IgaGFuZGxpbmcNCj4gYW5kIG9yZGVyIHBhcmFtZXRlciBnZXQgcHV0IGluIHBs
YWNlLCBidXQgdGhlIG9yZGVyIHBhcmFtZXRlciByZW1haW5zDQo+IGlnbm9yZWQgKGp1c3QgbGlr
ZSBpbnRlbF9pb21tdV9tYXBfcGFnZSgpJ3Mgb3JkZXIgcGFydCBvZiB0aGUgZmxhZ3MpLg0KPiAN
Cj4gU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPiAtLS0N
Cj4gSSB3YXMgYWN0dWFsbHkgd29uZGVyaW5nIHdoZXRoZXIgaXQgd291bGRuJ3QgbWFrZSBzZW5z
ZSB0byBpbnRlZ3JhdGUNCj4gZG1hX3B0ZV9jbGVhcl9vbmUoKSBpbnRvIGl0cyBvbmx5IGNhbGxl
ciBpbnRlbF9pb21tdV91bm1hcF9wYWdlKCksIGZvcg0KPiBiZXR0ZXIgc3ltbWV0cnkgd2l0aCBp
bnRlbF9pb21tdV9tYXBfcGFnZSgpLg0KDQpJIHRoaW5rIGl0J3MgdGhlIHJpZ2h0IHRoaW5nIHRv
IGRvLiBJdCB3YXMgdGhlcmUgZHVlIHRvIG11bHRpcGxlIGNhbGxlcnMNCndoZW4gZmlyc3RseSBp
bnRyb2R1Y2VkLiBCdXQgbm93IGdpdmVuIG9ubHkgb25lIGNhbGxlciBtZXJpbmcgaXQNCndpdGgg
dGhlIGNhbGxlciB0byBiZSBzeW1tZXRyeSBtYWtlcyBzZW5zZS4NCg0Kd2l0aCBvciB3aXRob3V0
IHRoYXQgY2hhbmdlIChnaXZlbiBpdCdzIHNpbXBsZSk6DQoNCglSZXZpZXdlZC1ieTogS2V2aW4g
VGlhbiA8a2V2aW4udGlhbkBpbnRlbC5jb20+DQoNCj4gLS0tDQo+IHYyOiBGaXggYnVpbGQuDQo+
IA0KPiAtLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYw0KPiArKysgYi94
ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYw0KPiBAQCAtMzQ3LDYzICszNDcsMTE2
IEBAIHN0YXRpYyB1NjQgYnVzX3RvX2NvbnRleHRfbWFkZHIoc3RydWN0IHYNCj4gICAgICByZXR1
cm4gbWFkZHI7DQo+ICB9DQo+IA0KPiAtc3RhdGljIHU2NCBhZGRyX3RvX2RtYV9wYWdlX21hZGRy
KHN0cnVjdCBkb21haW4gKmRvbWFpbiwgdTY0IGFkZHIsIGludA0KPiBhbGxvYykNCj4gKy8qDQo+
ICsgKiBUaGlzIGZ1bmN0aW9uIHdhbGtzIChhbmQgaWYgcmVxdWVzdGVkIGFsbG9jYXRlcykgcGFn
ZSB0YWJsZXMgdG8gdGhlDQo+ICsgKiBkZXNpZ25hdGVkIHRhcmdldCBsZXZlbC4gSXQgcmV0dXJu
cw0KPiArICogLSAwIHdoZW4gYSBub24tcHJlc2VudCBlbnRyeSB3YXMgZW5jb3VudGVyZWQgYW5k
IG5vIGFsbG9jYXRpb24gd2FzDQo+ICsgKiAgIHJlcXVlc3RlZCwNCj4gKyAqIC0gYSBzbWFsbCBw
b3NpdGl2ZSB2YWx1ZSAodGhlIGxldmVsLCBpLmUuIGJlbG93IFBBR0VfU0laRSkgdXBvbiBhbGxv
Y2F0aW9uDQo+ICsgKiAgIGZhaWx1cmUsDQo+ICsgKiAtIGZvciB0YXJnZXQgPiAwIHRoZSBwaHlz
aWNhbCBhZGRyZXNzIG9mIHRoZSBwYWdlIHRhYmxlIGhvbGRpbmcgdGhlIGxlYWYNCj4gKyAqICAg
UFRFIGZvciB0aGUgcmVxdWVzdGVkIGFkZHJlc3MsDQo+ICsgKiAtIGZvciB0YXJnZXQgPT0gMCB0
aGUgZnVsbCBQVEUuDQo+ICsgKi8NCj4gK3N0YXRpYyB1aW50NjRfdCBhZGRyX3RvX2RtYV9wYWdl
X21hZGRyKHN0cnVjdCBkb21haW4gKmRvbWFpbiwgZGFkZHJfdA0KPiBhZGRyLA0KPiArICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHRhcmdldCwNCj4g
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCAqZmx1
c2hfZmxhZ3MsIGJvb2wgYWxsb2MpDQo+ICB7DQo+ICAgICAgc3RydWN0IGRvbWFpbl9pb21tdSAq
aGQgPSBkb21faW9tbXUoZG9tYWluKTsNCj4gICAgICBpbnQgYWRkcl93aWR0aCA9IGFnYXdfdG9f
d2lkdGgoaGQtPmFyY2gudnRkLmFnYXcpOw0KPiAgICAgIHN0cnVjdCBkbWFfcHRlICpwYXJlbnQs
ICpwdGUgPSBOVUxMOw0KPiAtICAgIGludCBsZXZlbCA9IGFnYXdfdG9fbGV2ZWwoaGQtPmFyY2gu
dnRkLmFnYXcpOw0KPiAtICAgIGludCBvZmZzZXQ7DQo+ICsgICAgdW5zaWduZWQgaW50IGxldmVs
ID0gYWdhd190b19sZXZlbChoZC0+YXJjaC52dGQuYWdhdyksIG9mZnNldDsNCj4gICAgICB1NjQg
cHRlX21hZGRyID0gMDsNCj4gDQo+ICAgICAgYWRkciAmPSAoKCh1NjQpMSkgPDwgYWRkcl93aWR0
aCkgLSAxOw0KPiAgICAgIEFTU0VSVChzcGluX2lzX2xvY2tlZCgmaGQtPmFyY2gubWFwcGluZ19s
b2NrKSk7DQo+ICsgICAgQVNTRVJUKHRhcmdldCB8fCAhYWxsb2MpOw0KPiArDQo+ICAgICAgaWYg
KCAhaGQtPmFyY2gudnRkLnBnZF9tYWRkciApDQo+ICAgICAgew0KPiAgICAgICAgICBzdHJ1Y3Qg
cGFnZV9pbmZvICpwZzsNCj4gDQo+IC0gICAgICAgIGlmICggIWFsbG9jIHx8ICEocGcgPSBpb21t
dV9hbGxvY19wZ3RhYmxlKGRvbWFpbikpICkNCj4gKyAgICAgICAgaWYgKCAhYWxsb2MgKQ0KPiAr
ICAgICAgICAgICAgZ290byBvdXQ7DQo+ICsNCj4gKyAgICAgICAgcHRlX21hZGRyID0gbGV2ZWw7
DQo+ICsgICAgICAgIGlmICggIShwZyA9IGlvbW11X2FsbG9jX3BndGFibGUoZG9tYWluKSkgKQ0K
PiAgICAgICAgICAgICAgZ290byBvdXQ7DQo+IA0KPiAgICAgICAgICBoZC0+YXJjaC52dGQucGdk
X21hZGRyID0gcGFnZV90b19tYWRkcihwZyk7DQo+ICAgICAgfQ0KPiANCj4gLSAgICBwYXJlbnQg
PSAoc3RydWN0IGRtYV9wdGUgKiltYXBfdnRkX2RvbWFpbl9wYWdlKGhkLQ0KPiA+YXJjaC52dGQu
cGdkX21hZGRyKTsNCj4gLSAgICB3aGlsZSAoIGxldmVsID4gMSApDQo+ICsgICAgcHRlX21hZGRy
ID0gaGQtPmFyY2gudnRkLnBnZF9tYWRkcjsNCj4gKyAgICBwYXJlbnQgPSBtYXBfdnRkX2RvbWFp
bl9wYWdlKHB0ZV9tYWRkcik7DQo+ICsgICAgd2hpbGUgKCBsZXZlbCA+IHRhcmdldCApDQo+ICAg
ICAgew0KPiAgICAgICAgICBvZmZzZXQgPSBhZGRyZXNzX2xldmVsX29mZnNldChhZGRyLCBsZXZl
bCk7DQo+ICAgICAgICAgIHB0ZSA9ICZwYXJlbnRbb2Zmc2V0XTsNCj4gDQo+ICAgICAgICAgIHB0
ZV9tYWRkciA9IGRtYV9wdGVfYWRkcigqcHRlKTsNCj4gLSAgICAgICAgaWYgKCAhcHRlX21hZGRy
ICkNCj4gKyAgICAgICAgaWYgKCAhZG1hX3B0ZV9wcmVzZW50KCpwdGUpIHx8IChsZXZlbCA+IDEg
JiYNCj4gZG1hX3B0ZV9zdXBlcnBhZ2UoKnB0ZSkpICkNCj4gICAgICAgICAgew0KPiAgICAgICAg
ICAgICAgc3RydWN0IHBhZ2VfaW5mbyAqcGc7DQo+ICsgICAgICAgICAgICAvKg0KPiArICAgICAg
ICAgICAgICogSGlnaGVyIGxldmVsIHRhYmxlcyBhbHdheXMgc2V0IHIvdywgbGFzdCBsZXZlbCBw
YWdlIHRhYmxlDQo+ICsgICAgICAgICAgICAgKiBjb250cm9scyByZWFkL3dyaXRlLg0KPiArICAg
ICAgICAgICAgICovDQo+ICsgICAgICAgICAgICBzdHJ1Y3QgZG1hX3B0ZSBuZXdfcHRlID0geyBE
TUFfUFRFX1BST1QgfTsNCj4gDQo+ICAgICAgICAgICAgICBpZiAoICFhbGxvYyApDQo+IC0gICAg
ICAgICAgICAgICAgYnJlYWs7DQo+ICsgICAgICAgICAgICB7DQo+ICsgICAgICAgICAgICAgICAg
cHRlX21hZGRyID0gMDsNCj4gKyAgICAgICAgICAgICAgICBpZiAoICFkbWFfcHRlX3ByZXNlbnQo
KnB0ZSkgKQ0KPiArICAgICAgICAgICAgICAgICAgICBicmVhazsNCj4gKw0KPiArICAgICAgICAg
ICAgICAgIC8qDQo+ICsgICAgICAgICAgICAgICAgICogV2hlbiB0aGUgbGVhZiBlbnRyeSB3YXMg
cmVxdWVzdGVkLCBwYXNzIGJhY2sgdGhlIGZ1bGwgUFRFLA0KPiArICAgICAgICAgICAgICAgICAq
IHdpdGggdGhlIGFkZHJlc3MgYWRqdXN0ZWQgdG8gYWNjb3VudCBmb3IgdGhlIHJlc2lkdWFsIG9m
DQo+ICsgICAgICAgICAgICAgICAgICogdGhlIHdhbGsuDQo+ICsgICAgICAgICAgICAgICAgICov
DQo+ICsgICAgICAgICAgICAgICAgcHRlX21hZGRyID0gcHRlLT52YWwgKw0KPiArICAgICAgICAg
ICAgICAgICAgICAoYWRkciAmICgoMVVMIDw8IGxldmVsX3RvX29mZnNldF9iaXRzKGxldmVsKSkg
LSAxKSAmDQo+ICsgICAgICAgICAgICAgICAgICAgICBQQUdFX01BU0spOw0KPiArICAgICAgICAg
ICAgICAgIGlmICggIXRhcmdldCApDQo+ICsgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KPiAr
ICAgICAgICAgICAgfQ0KPiANCj4gKyAgICAgICAgICAgIHB0ZV9tYWRkciA9IGxldmVsIC0gMTsN
Cj4gICAgICAgICAgICAgIHBnID0gaW9tbXVfYWxsb2NfcGd0YWJsZShkb21haW4pOw0KPiAgICAg
ICAgICAgICAgaWYgKCAhcGcgKQ0KPiAgICAgICAgICAgICAgICAgIGJyZWFrOw0KPiANCj4gICAg
ICAgICAgICAgIHB0ZV9tYWRkciA9IHBhZ2VfdG9fbWFkZHIocGcpOw0KPiAtICAgICAgICAgICAg
ZG1hX3NldF9wdGVfYWRkcigqcHRlLCBwdGVfbWFkZHIpOw0KPiArICAgICAgICAgICAgZG1hX3Nl
dF9wdGVfYWRkcihuZXdfcHRlLCBwdGVfbWFkZHIpOw0KPiANCj4gLSAgICAgICAgICAgIC8qDQo+
IC0gICAgICAgICAgICAgKiBoaWdoIGxldmVsIHRhYmxlIGFsd2F5cyBzZXRzIHIvdywgbGFzdCBs
ZXZlbA0KPiAtICAgICAgICAgICAgICogcGFnZSB0YWJsZSBjb250cm9sIHJlYWQvd3JpdGUNCj4g
LSAgICAgICAgICAgICAqLw0KPiAtICAgICAgICAgICAgZG1hX3NldF9wdGVfcmVhZGFibGUoKnB0
ZSk7DQo+IC0gICAgICAgICAgICBkbWFfc2V0X3B0ZV93cml0YWJsZSgqcHRlKTsNCj4gKyAgICAg
ICAgICAgIGlmICggZG1hX3B0ZV9wcmVzZW50KCpwdGUpICkNCj4gKyAgICAgICAgICAgIHsNCj4g
KyAgICAgICAgICAgICAgICBzdHJ1Y3QgZG1hX3B0ZSAqc3BsaXQgPSBtYXBfdnRkX2RvbWFpbl9w
YWdlKHB0ZV9tYWRkcik7DQo+ICsgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBpbmMgPSAx
VUwgPDwgbGV2ZWxfdG9fb2Zmc2V0X2JpdHMobGV2ZWwgLSAxKTsNCj4gKw0KPiArICAgICAgICAg
ICAgICAgIHNwbGl0WzBdLnZhbCA9IHB0ZS0+dmFsOw0KPiArICAgICAgICAgICAgICAgIGlmICgg
aW5jID09IFBBR0VfU0laRSApDQo+ICsgICAgICAgICAgICAgICAgICAgIHNwbGl0WzBdLnZhbCAm
PSB+RE1BX1BURV9TUDsNCj4gKw0KPiArICAgICAgICAgICAgICAgIGZvciAoIG9mZnNldCA9IDE7
IG9mZnNldCA8IFBURV9OVU07ICsrb2Zmc2V0ICkNCj4gKyAgICAgICAgICAgICAgICAgICAgc3Bs
aXRbb2Zmc2V0XS52YWwgPSBzcGxpdFtvZmZzZXQgLSAxXS52YWwgKyBpbmM7DQo+ICsNCj4gKyAg
ICAgICAgICAgICAgICBpb21tdV9zeW5jX2NhY2hlKHNwbGl0LCBQQUdFX1NJWkUpOw0KPiArICAg
ICAgICAgICAgICAgIHVubWFwX3Z0ZF9kb21haW5fcGFnZShzcGxpdCk7DQo+ICsNCj4gKyAgICAg
ICAgICAgICAgICBpZiAoIGZsdXNoX2ZsYWdzICkNCj4gKyAgICAgICAgICAgICAgICAgICAgKmZs
dXNoX2ZsYWdzIHw9IElPTU1VX0ZMVVNIRl9tb2RpZmllZDsNCj4gKyAgICAgICAgICAgIH0NCj4g
Kw0KPiArICAgICAgICAgICAgd3JpdGVfYXRvbWljKCZwdGUtPnZhbCwgbmV3X3B0ZS52YWwpOw0K
PiAgICAgICAgICAgICAgaW9tbXVfc3luY19jYWNoZShwdGUsIHNpemVvZihzdHJ1Y3QgZG1hX3B0
ZSkpOw0KPiAgICAgICAgICB9DQo+IA0KPiAtICAgICAgICBpZiAoIGxldmVsID09IDIgKQ0KPiAr
ICAgICAgICBpZiAoIC0tbGV2ZWwgPT0gdGFyZ2V0ICkNCj4gICAgICAgICAgICAgIGJyZWFrOw0K
PiANCj4gICAgICAgICAgdW5tYXBfdnRkX2RvbWFpbl9wYWdlKHBhcmVudCk7DQo+ICAgICAgICAg
IHBhcmVudCA9IG1hcF92dGRfZG9tYWluX3BhZ2UocHRlX21hZGRyKTsNCj4gLSAgICAgICAgbGV2
ZWwtLTsNCj4gICAgICB9DQo+IA0KPiAgICAgIHVubWFwX3Z0ZF9kb21haW5fcGFnZShwYXJlbnQp
Ow0KPiBAQCAtNDMwLDcgKzQ4Myw3IEBAIHN0YXRpYyB1aW50NjRfdCBkb21haW5fcGdkX21hZGRy
KHN0cnVjdA0KPiAgICAgICAgICBpZiAoICFoZC0+YXJjaC52dGQucGdkX21hZGRyICkNCj4gICAg
ICAgICAgew0KPiAgICAgICAgICAgICAgLyogRW5zdXJlIHdlIGhhdmUgcGFnZXRhYmxlcyBhbGxv
Y2F0ZWQgZG93biB0byBsZWFmIFBURS4gKi8NCj4gLSAgICAgICAgICAgIGFkZHJfdG9fZG1hX3Bh
Z2VfbWFkZHIoZCwgMCwgMSk7DQo+ICsgICAgICAgICAgICBhZGRyX3RvX2RtYV9wYWdlX21hZGRy
KGQsIDAsIDEsIE5VTEwsIHRydWUpOw0KPiANCj4gICAgICAgICAgICAgIGlmICggIWhkLT5hcmNo
LnZ0ZC5wZ2RfbWFkZHIgKQ0KPiAgICAgICAgICAgICAgICAgIHJldHVybiAwOw0KPiBAQCAtNzcw
LDggKzgyMyw5IEBAIHN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGlvbW11X2ZsdXNoX2lvdGwNCj4g
IH0NCj4gDQo+ICAvKiBjbGVhciBvbmUgcGFnZSdzIHBhZ2UgdGFibGUgKi8NCj4gLXN0YXRpYyB2
b2lkIGRtYV9wdGVfY2xlYXJfb25lKHN0cnVjdCBkb21haW4gKmRvbWFpbiwgdWludDY0X3QgYWRk
ciwNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCAqZmx1c2hf
ZmxhZ3MpDQo+ICtzdGF0aWMgaW50IGRtYV9wdGVfY2xlYXJfb25lKHN0cnVjdCBkb21haW4gKmRv
bWFpbiwgZGFkZHJfdCBhZGRyLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp
Z25lZCBpbnQgb3JkZXIsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk
IGludCAqZmx1c2hfZmxhZ3MpDQo+ICB7DQo+ICAgICAgc3RydWN0IGRvbWFpbl9pb21tdSAqaGQg
PSBkb21faW9tbXUoZG9tYWluKTsNCj4gICAgICBzdHJ1Y3QgZG1hX3B0ZSAqcGFnZSA9IE5VTEws
ICpwdGUgPSBOVUxMOw0KPiBAQCAtNzc5LDExICs4MzMsMTEgQEAgc3RhdGljIHZvaWQgZG1hX3B0
ZV9jbGVhcl9vbmUoc3RydWN0IGRvbQ0KPiANCj4gICAgICBzcGluX2xvY2soJmhkLT5hcmNoLm1h
cHBpbmdfbG9jayk7DQo+ICAgICAgLyogZ2V0IGxhc3QgbGV2ZWwgcHRlICovDQo+IC0gICAgcGdf
bWFkZHIgPSBhZGRyX3RvX2RtYV9wYWdlX21hZGRyKGRvbWFpbiwgYWRkciwgMCk7DQo+IC0gICAg
aWYgKCBwZ19tYWRkciA9PSAwICkNCj4gKyAgICBwZ19tYWRkciA9IGFkZHJfdG9fZG1hX3BhZ2Vf
bWFkZHIoZG9tYWluLCBhZGRyLCAxLCBmbHVzaF9mbGFncywNCj4gZmFsc2UpOw0KPiArICAgIGlm
ICggcGdfbWFkZHIgPCBQQUdFX1NJWkUgKQ0KPiAgICAgIHsNCj4gICAgICAgICAgc3Bpbl91bmxv
Y2soJmhkLT5hcmNoLm1hcHBpbmdfbG9jayk7DQo+IC0gICAgICAgIHJldHVybjsNCj4gKyAgICAg
ICAgcmV0dXJuIHBnX21hZGRyID8gLUVOT01FTSA6IDA7DQo+ICAgICAgfQ0KPiANCj4gICAgICBw
YWdlID0gKHN0cnVjdCBkbWFfcHRlICopbWFwX3Z0ZF9kb21haW5fcGFnZShwZ19tYWRkcik7DQo+
IEBAIC03OTMsNyArODQ3LDcgQEAgc3RhdGljIHZvaWQgZG1hX3B0ZV9jbGVhcl9vbmUoc3RydWN0
IGRvbQ0KPiAgICAgIHsNCj4gICAgICAgICAgc3Bpbl91bmxvY2soJmhkLT5hcmNoLm1hcHBpbmdf
bG9jayk7DQo+ICAgICAgICAgIHVubWFwX3Z0ZF9kb21haW5fcGFnZShwYWdlKTsNCj4gLSAgICAg
ICAgcmV0dXJuOw0KPiArICAgICAgICByZXR1cm4gMDsNCj4gICAgICB9DQo+IA0KPiAgICAgIGRt
YV9jbGVhcl9wdGUoKnB0ZSk7DQo+IEBAIC04MDMsNiArODU3LDggQEAgc3RhdGljIHZvaWQgZG1h
X3B0ZV9jbGVhcl9vbmUoc3RydWN0IGRvbQ0KPiAgICAgIGlvbW11X3N5bmNfY2FjaGUocHRlLCBz
aXplb2Yoc3RydWN0IGRtYV9wdGUpKTsNCj4gDQo+ICAgICAgdW5tYXBfdnRkX2RvbWFpbl9wYWdl
KHBhZ2UpOw0KPiArDQo+ICsgICAgcmV0dXJuIDA7DQo+ICB9DQo+IA0KPiAgc3RhdGljIGludCBp
b21tdV9zZXRfcm9vdF9lbnRyeShzdHJ1Y3QgdnRkX2lvbW11ICppb21tdSkNCj4gQEAgLTE5MTQs
OCArMTk3MCw5IEBAIHN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGludGVsX2lvbW11X21hcF8NCj4g
ICAgICAgICAgcmV0dXJuIDA7DQo+ICAgICAgfQ0KPiANCj4gLSAgICBwZ19tYWRkciA9IGFkZHJf
dG9fZG1hX3BhZ2VfbWFkZHIoZCwgZGZuX3RvX2RhZGRyKGRmbiksIDEpOw0KPiAtICAgIGlmICgg
IXBnX21hZGRyICkNCj4gKyAgICBwZ19tYWRkciA9IGFkZHJfdG9fZG1hX3BhZ2VfbWFkZHIoZCwg
ZGZuX3RvX2RhZGRyKGRmbiksIDEsDQo+IGZsdXNoX2ZsYWdzLA0KPiArICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0cnVlKTsNCj4gKyAgICBpZiAoIHBnX21hZGRyIDwgUEFH
RV9TSVpFICkNCj4gICAgICB7DQo+ICAgICAgICAgIHNwaW5fdW5sb2NrKCZoZC0+YXJjaC5tYXBw
aW5nX2xvY2spOw0KPiAgICAgICAgICByZXR1cm4gLUVOT01FTTsNCj4gQEAgLTE5NjUsMTcgKzIw
MjIsMTQgQEAgc3RhdGljIGludCBfX211c3RfY2hlY2sgaW50ZWxfaW9tbXVfdW5tYQ0KPiAgICAg
IGlmICggaW9tbXVfaHdkb21fcGFzc3Rocm91Z2ggJiYgaXNfaGFyZHdhcmVfZG9tYWluKGQpICkN
Cj4gICAgICAgICAgcmV0dXJuIDA7DQo+IA0KPiAtICAgIGRtYV9wdGVfY2xlYXJfb25lKGQsIGRm
bl90b19kYWRkcihkZm4pLCBmbHVzaF9mbGFncyk7DQo+IC0NCj4gLSAgICByZXR1cm4gMDsNCj4g
KyAgICByZXR1cm4gZG1hX3B0ZV9jbGVhcl9vbmUoZCwgZGZuX3RvX2RhZGRyKGRmbiksIDAsIGZs
dXNoX2ZsYWdzKTsNCj4gIH0NCj4gDQo+ICBzdGF0aWMgaW50IGludGVsX2lvbW11X2xvb2t1cF9w
YWdlKHN0cnVjdCBkb21haW4gKmQsIGRmbl90IGRmbiwgbWZuX3QNCj4gKm1mbiwNCj4gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50ICpmbGFncykNCj4gIHsN
Cj4gICAgICBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShkKTsNCj4gLSAgICBz
dHJ1Y3QgZG1hX3B0ZSAqcGFnZSwgdmFsOw0KPiAtICAgIHU2NCBwZ19tYWRkcjsNCj4gKyAgICB1
aW50NjRfdCB2YWw7DQo+IA0KPiAgICAgIC8qDQo+ICAgICAgICogSWYgVlQtZCBzaGFyZXMgRVBU
IHBhZ2UgdGFibGUgb3IgaWYgdGhlIGRvbWFpbiBpcyB0aGUgaGFyZHdhcmUNCj4gQEAgLTE5ODcs
MjUgKzIwNDEsMTYgQEAgc3RhdGljIGludCBpbnRlbF9pb21tdV9sb29rdXBfcGFnZShzdHJ1Yw0K
PiANCj4gICAgICBzcGluX2xvY2soJmhkLT5hcmNoLm1hcHBpbmdfbG9jayk7DQo+IA0KPiAtICAg
IHBnX21hZGRyID0gYWRkcl90b19kbWFfcGFnZV9tYWRkcihkLCBkZm5fdG9fZGFkZHIoZGZuKSwg
MCk7DQo+IC0gICAgaWYgKCAhcGdfbWFkZHIgKQ0KPiAtICAgIHsNCj4gLSAgICAgICAgc3Bpbl91
bmxvY2soJmhkLT5hcmNoLm1hcHBpbmdfbG9jayk7DQo+IC0gICAgICAgIHJldHVybiAtRU5PRU5U
Ow0KPiAtICAgIH0NCj4gLQ0KPiAtICAgIHBhZ2UgPSBtYXBfdnRkX2RvbWFpbl9wYWdlKHBnX21h
ZGRyKTsNCj4gLSAgICB2YWwgPSBwYWdlW2Rmbl94KGRmbikgJiBMRVZFTF9NQVNLXTsNCj4gKyAg
ICB2YWwgPSBhZGRyX3RvX2RtYV9wYWdlX21hZGRyKGQsIGRmbl90b19kYWRkcihkZm4pLCAwLCBO
VUxMLCBmYWxzZSk7DQo+IA0KPiAtICAgIHVubWFwX3Z0ZF9kb21haW5fcGFnZShwYWdlKTsNCj4g
ICAgICBzcGluX3VubG9jaygmaGQtPmFyY2gubWFwcGluZ19sb2NrKTsNCj4gDQo+IC0gICAgaWYg
KCAhZG1hX3B0ZV9wcmVzZW50KHZhbCkgKQ0KPiArICAgIGlmICggdmFsIDwgUEFHRV9TSVpFICkN
Cj4gICAgICAgICAgcmV0dXJuIC1FTk9FTlQ7DQo+IA0KPiAtICAgICptZm4gPSBtYWRkcl90b19t
Zm4oZG1hX3B0ZV9hZGRyKHZhbCkpOw0KPiAtICAgICpmbGFncyA9IGRtYV9wdGVfcmVhZCh2YWwp
ID8gSU9NTVVGX3JlYWRhYmxlIDogMDsNCj4gLSAgICAqZmxhZ3MgfD0gZG1hX3B0ZV93cml0ZSh2
YWwpID8gSU9NTVVGX3dyaXRhYmxlIDogMDsNCj4gKyAgICAqbWZuID0gbWFkZHJfdG9fbWZuKHZh
bCk7DQo+ICsgICAgKmZsYWdzID0gdmFsICYgRE1BX1BURV9SRUFEID8gSU9NTVVGX3JlYWRhYmxl
IDogMDsNCj4gKyAgICAqZmxhZ3MgfD0gdmFsICYgRE1BX1BURV9XUklURSA/IElPTU1VRl93cml0
YWJsZSA6IDA7DQo+IA0KPiAgICAgIHJldHVybiAwOw0KPiAgfQ0KDQo=


From xen-devel-bounces@lists.xenproject.org Sun Jan 30 03:22:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 03:22:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262378.454580 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nE0nV-0008S7-1A; Sun, 30 Jan 2022 03:22:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262378.454580; Sun, 30 Jan 2022 03: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 1nE0nU-0008S0-UO; Sun, 30 Jan 2022 03:22:36 +0000
Received: by outflank-mailman (input) for mailman id 262378;
 Sun, 30 Jan 2022 03:22:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lkCg=SO=intel.com=kevin.tian@srs-se1.protection.inumbo.net>)
 id 1nE0nU-0008Ru-1A
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 03:22:36 +0000
Received: from mga14.intel.com (mga14.intel.com [192.55.52.115])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dc0796c3-817b-11ec-8eb8-a37418f5ba1a;
 Sun, 30 Jan 2022 04:22:33 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 29 Jan 2022 19:22:30 -0800
Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81])
 by orsmga005.jf.intel.com with ESMTP; 29 Jan 2022 19:22:30 -0800
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.2308.20; Sat, 29 Jan 2022 19:22:30 -0800
Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by
 fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2308.20; Sat, 29 Jan 2022 19:22:29 -0800
Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by
 fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2308.20 via Frontend Transport; Sat, 29 Jan 2022 19:22:29 -0800
Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.174)
 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.2308.20; Sat, 29 Jan 2022 19:22:29 -0800
Received: from BN9PR11MB5276.namprd11.prod.outlook.com (2603:10b6:408:135::18)
 by CY4PR11MB1352.namprd11.prod.outlook.com (2603:10b6:903:2a::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.20; Sun, 30 Jan
 2022 03:22:28 +0000
Received: from BN9PR11MB5276.namprd11.prod.outlook.com
 ([fe80::f514:7aae:315b:4d8d]) by BN9PR11MB5276.namprd11.prod.outlook.com
 ([fe80::f514:7aae:315b:4d8d%3]) with mapi id 15.20.4930.020; Sun, 30 Jan 2022
 03:22: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: dc0796c3-817b-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1643512953; x=1675048953;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=GAAfQ0t/HB+jujHSoqjwpqGbPka1aX/PcRlsxw7z8UM=;
  b=M9Jg6IPd0BqRYGJTPS3Nfl0qz1BXRv8vMPtzEjt/jQB8rN+ddlGJNBvu
   BbGljKYe7I2h2EtsTyrGCXITM6Fk6Ad8JrNoEkMk/bheshQ2qqPZoGOlB
   TTEzfYyUogaKnfL5uW7koyUtkEx+rLLxCr0rabsR/HZj70KS96p0HrqGD
   jhdkTPCm6Tq1j0btGaNNIQhITnXK1xjil8HXcepuwbn+9kWgkNC1dV0pF
   OHADNmXRC0FAdvuKfk9XTFRbk18AM2ppLvfbwSTptnl8o0vppjRWlyByo
   rICW4SK0Q7EuBc+jkyKyLFc8PrV3l/A+jFBg7Wy1fy6OKPR9dlOy++X8T
   g==;
X-IronPort-AV: E=McAfee;i="6200,9189,10242"; a="247534220"
X-IronPort-AV: E=Sophos;i="5.88,327,1635231600"; 
   d="scan'208";a="247534220"
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.88,327,1635231600"; 
   d="scan'208";a="697511518"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FXlFCLxN13uO2uSsI2KpG1/vf2P8VLGdS1g/ObACYGzr25/gSFHCmMC+w0tBgPpn/Abws49/93SeaaBbp4woT3bZ8fDWMgdcxetBYZqz1fsVlKSbgLmFkoPp56yixkmbkoFLIEGYnSS7x9hNkDw74lI+cf8F/bTWd3Di3APGhuZRmUI61gREjCqHB3LB7L1C4x3GbRWnaknwy/uM9WFeB0VUjdpSvNh2G0T6nzRgL45TNBjwPS/M9XbRkIkHbqoSf332D99f9GVs0zcBQHNWoTwrCc/1PwEJEs/MpDMaJXtrupQXUg6OPXi3Qi6xwzyOFpcO5561zzajz2SkLbw7yg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GAAfQ0t/HB+jujHSoqjwpqGbPka1aX/PcRlsxw7z8UM=;
 b=eEflyqEzkftedTogs7WIAFdt3fLQCe9SrEViy3i7JA4aZQqVAWy1kSegFwgC6xwnniCmo9K70V46NtR7VoUOnfBykQXAUYaqCk1M24NrACp7lgCuadTPgC7mEU4zdMNY74SWuDwJCXZrTq4juO4qBi2Y0hjTlkf+I/HqIg6p/+qAgR29GQwSD4d6hwkQ9rYJUgJKaWpm0O/AhJ/eu0rjDctK4UbRtRKxxnfQZ4g0EiLQ9LIYZRhJF5IpiiuabKnIhJ7Y9DI/dy8dVlOiLEsFXTGs/NXA2XltiBulheIWWHmv2ji7czqTyHslpqzkYWG9NLZ0ISg4OpdkLBDE8E+9wA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
From: "Tian, Kevin" <kevin.tian@intel.com>
To: "Beulich, Jan" <JBeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: "Cooper, Andrew" <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
	=?utf-8?B?UGF1IE1vbm7DqSwgUm9nZXI=?= <roger.pau@citrix.com>
Subject: RE: [PATCH v3 03/23] VT-d: limit page table population in
 domain_pgd_maddr()
Thread-Topic: [PATCH v3 03/23] VT-d: limit page table population in
 domain_pgd_maddr()
Thread-Index: AQHYBj5sbc5z/CaOZk2avXhw1+QTnqx7BJ4g
Date: Sun, 30 Jan 2022 03:22:27 +0000
Message-ID: <BN9PR11MB5276E2D21CD645086A7ECD8C8C249@BN9PR11MB5276.namprd11.prod.outlook.com>
References: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
 <10d6b416-1a20-4b1b-d39a-1bf17b2e174a@suse.com>
In-Reply-To: <10d6b416-1a20-4b1b-d39a-1bf17b2e174a@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 24f6e22c-fa71-4b67-556a-08d9e39fbe24
x-ms-traffictypediagnostic: CY4PR11MB1352:EE_
x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
x-microsoft-antispam-prvs: <CY4PR11MB13529317B6AC506727C3A7428C249@CY4PR11MB1352.namprd11.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: WdKqWmakYTbNMNnSBkndpR1dYKdEVkAChwQziBsgEWrCMDMJe+H3hwkzDGoX0vLZMA61JpFu0wCBK+htp0wy/4PA3VwNla+ZthQQO10em04G5S4lYlXae3+5IxtsuS93G2vNTHZin8LtHek7Y4SWEiq0hCYUVa4+TRyV5w69b82TktjFEg24V3/GA+5TyGl5azbYkvGFAdV3XxdTJ9D8BaJZlEKd2QECrzditOqSVIqo54Bk33ygAnuHNvMyXB19GWMBxyG5kCwn6JwfRvXejeK3ochHtjKYxMJWDKCSnl4fnLr+s2eQpVXy67xAgP7DBBsSGwREoA9qE+ZnLy4WrwI804cGg9yUIO3bBDRHw3gS05j1I5OKbwWnoaBhWxBiKE1nX6LMeerJs+pXt4uk+KgnqJErpK1V52k58j/E/DG84q7fesck/a5Sd6dutYJXSkkn5q2kCFL3dB16IF6KObQSLU/+uxj4xbB+BcLGzJShfcFYobCc+sWp5S/ETl5QK3zP04YgqQ3KHc5zqszewwARt+qypkhkQNChs6ep4Mqdk4OXOx6Pshzc6lsUbjM5SSL6zX9HNKQCrs8cZUArr6L3ZujNO4uiVwedeV2X2ixfaMh83i4x43+wauam/wf5RjOzUEIkWauc+goFnv7aXsdEaGclbYgcJ9XD/92zpe5f4e8qC+ThIw9V9xQM3+U/kOVK4LSWBkPzd9yW22KkgQ==
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR11MB5276.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(26005)(33656002)(508600001)(186003)(38070700005)(55016003)(122000001)(52536014)(5660300002)(82960400001)(9686003)(86362001)(7696005)(66476007)(66946007)(76116006)(2906002)(66556008)(64756008)(4326008)(8676002)(38100700002)(54906003)(8936002)(66446008)(110136005)(316002)(71200400001)(6506007)(20210929001);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YUZKMTVUUmhQQm9QUnJhWjFHVmpsL1RLcXU4NnNjSVk4TDdPN09FaFFZZkpE?=
 =?utf-8?B?OXBvYWRpRmNMSkhoYUs0VUNzVDg3enZqU1c2a0dPTklzdlNhZHJrY0dUNE1k?=
 =?utf-8?B?RkJKNWNRQWpFMVpEMTQrVU1tOXF2YktybTVyT0p4cWRoVTZQdGhaMnVjelI5?=
 =?utf-8?B?SFpZeDlzM0NVd2lYM2pRb1JCVFRaaisrazR0OWF5emhGU1I1QlN2YU1kWHBB?=
 =?utf-8?B?ZmkvWDNTQ2VIbTNGaElaekNDNG42ZFIzaEZUUm1vUzUraHp5WGs5elJHMGRN?=
 =?utf-8?B?cWlZSFdqK3owZjNWTlNlbVlxTkVtUC9rak9Nc2ptWmdSYVByS1FlQnJVV0Y0?=
 =?utf-8?B?SVlMN0FVTUEzVFNVcThWaU5zUzVoa3c0alc2RVQxOXdGS093UFFPM2JJTXVs?=
 =?utf-8?B?bWk5NFdPRzJ5MDNnaHlzNHJjNmxSRWs0SlhKaXVMcFFpQ3RibUYrSnFEbGNr?=
 =?utf-8?B?K1ZZWE4xRUs4dXlwVTh0YzhMWG83VjJzd25vZTdrZS9OOUJXbmVLcFlqOWdC?=
 =?utf-8?B?ZWcxU2Y4ZzBhbU9QQ29zQXFGNlNFTEQ4N1k1TlJiRkhLQWNtODVnckQrUFBN?=
 =?utf-8?B?K05TU2RKdUlGZUY2OU5hT3hPVXhGWWFHK0xoZkQrcWxUNDk5THZINUhnREdu?=
 =?utf-8?B?dzN1L2VkVlF3WWlaNDJDRFc1QTRoY1pIYVhFVXl0OHBPU0dMNTRMRitqa05v?=
 =?utf-8?B?bGV1K2VPL2E4S21INTY5UUIwWGowS3VzcXU1M3dyY3h5TzR0Mk1iemJvcHF0?=
 =?utf-8?B?cEgvSDlaNG5DM2ttM2lOZW5oUElJUzdzcHFTSk9ucUc5UkcvNC9pZHNScDQ4?=
 =?utf-8?B?a3NIT2Y1aW9mcHA4RXZpWmcrTXU3ZmNjNWxqQTU4MStZeTl2R3BYWmlmS2E0?=
 =?utf-8?B?KzFSSW50QW5XQkhabC95aVBzZjRmbEZFWmZKZnhlamE0T0NieXI3SWkwbjRT?=
 =?utf-8?B?NTY0Yy9Mc3o3MVVsT2RzcUVoYloraENCQVBBcEJTTGtjOFo5WjR4N2FzN1dG?=
 =?utf-8?B?V1UzL2FrOTF3RWVYZDZsdFdvb1R5ekhJRHA1YVhENFJKTU5PbkYwY3Z5USs2?=
 =?utf-8?B?dFArYzNMMDVvU0tmV2ZTaEU1SjFSbVhSUkY4SXMvcTdsNzh4c1A1UU5zbE5J?=
 =?utf-8?B?alBZTFlEMzg3MmRqbTQ3SGlXNzM4TkNSNDRic2R6TzJJaHUycFl6TVYrc0ht?=
 =?utf-8?B?eXJra3lqTC9jekNuTlpla0lPMFR2VlJQYnU0RFVid3hjWThUcnloMTBYanZD?=
 =?utf-8?B?YXl6akxmTm93cUpTZi9tZEQ0RjZyZ2RuT21pd1NVYW5McjduZGI5UERvYW9L?=
 =?utf-8?B?OG1LNDZnbjJ6ZWMwQy93R243S0JpTERsekR6QWd6TjlFNG4yL3JLazBjRHlJ?=
 =?utf-8?B?cjg2SEVMRnRyT1VsbEdtcDlZZ3pKRVUxNkEvZEd0N0JWQ0ZMVVBKcmxEdjFH?=
 =?utf-8?B?UWpiK09vYVVpa1NPdVUxdndWS3dvOFhDekltMUxEV2dwcHNzL21XYkhpQlVB?=
 =?utf-8?B?cmZYZ1cyR1Q5a0FDSnpCbFZuWmhyckx5N3VKY1A0dDBSRDNEOGNkUW1ZNVcz?=
 =?utf-8?B?OE4xTENkamJlVlF3d1lDUkxGd0hWaHRBU0JrK0grREJoY3kwNFNsWnR4NEd5?=
 =?utf-8?B?ajdLY2JCYnE0cDY4enVsUzF2M2xwS2dWTk5SNTdZb1dsVmNqR3U2SWNzaWVm?=
 =?utf-8?B?c0hDNjExdExITEdrY29vR0w1dUJVQmJJT3ZpRWRObVJ1OUxXMWJ3ZjJDck5R?=
 =?utf-8?B?VytwWFZidzNHeWszYUVPT2JMTys5VnZhUjVvV3ZSSytVZllIZjJ5LzkrT0xX?=
 =?utf-8?B?ZDRNcU5VMmJvSVgvUy9qVEZGanNMamF3WnJHRXR4SmpLa1IycURleHRKZkVW?=
 =?utf-8?B?N01ZenVhQS9odTBRbjQxNGN2bVNINnE0NWxINnB2QXI1MWN5R1d4UUxIbmox?=
 =?utf-8?B?OHhwY0xjYWIya3NMWE1uVGZNYjZYbENiOFBXTFd1TjVOaktXKzFhN28vbHQr?=
 =?utf-8?B?eHRBb0pzek5pQ3dJcUV4eFYrWXdYeENxV3VReTlJWnpEQ3BraDE5ZnpKUGZu?=
 =?utf-8?B?SG40Rm13YmNESkVkQ2dxQUI1dkp0VTZZZnFYT1U1TVhsQmZ4Rm13NFVUTGJj?=
 =?utf-8?B?KzZETUVBb0dMS3c3M3kzUEhuclpDR2RUYlFrYkF0Kzd5RkJHdjA3NER2QXBw?=
 =?utf-8?Q?4RycOacQQFMEC3sBqq4YsA8=3D?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN9PR11MB5276.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 24f6e22c-fa71-4b67-556a-08d9e39fbe24
X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jan 2022 03:22:27.8680
 (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: 8d4e8FyuxNEqnAj/dvpOeShiuoIo41pjGnUI9LClJdk9Io//STcv3cDHUnDSjF4A84nfyMKZSnLxuPl4ixDQ8Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR11MB1352
X-OriginatorOrg: intel.com

PiBGcm9tOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+IFNlbnQ6IFR1ZXNkYXks
IEphbnVhcnkgMTEsIDIwMjIgMTI6MjMgQU0NCj4gDQo+IEkgaGF2ZSB0byBhZG1pdCB0aGF0IEkg
bmV2ZXIgdW5kZXJzdG9vZCB3aHkgZG9tYWluX3BnZF9tYWRkcigpIHdhbnRzIHRvDQo+IHBvcHVs
YXRlIGFsbCBwYWdlIHRhYmxlIGxldmVscyBmb3IgREZOIDAuIEkgY2FuIG9ubHkgYXNzdW1lIHRo
YXQgZGVzcGl0ZQ0KPiB0aGUgY29tbWVudCB0aGVyZSB3aGF0IGlzIG5lZWRlZCBpcyBwb3B1bGF0
aW9uIGp1c3QgZG93biB0byB0aGUgc21hbGxlc3QNCj4gcG9zc2libGUgbnJfcHRfbGV2ZWxzIHRo
YXQgdGhlIGxvb3AgbGF0ZXIgaW4gdGhlIGZ1bmN0aW9uIG1heSBuZWVkIHRvDQo+IHJ1biB0by4g
SGVuY2Ugd2hhdCBpcyBuZWVkZWQgaXMgdGhlIG1pbmltdW0gb2YgYWxsIHBvc3NpYmxlDQo+IGlv
bW11LT5ucl9wdF9sZXZlbHMsIHRvIHRoZW4gYmUgcGFzc2VkIGludG8gYWRkcl90b19kbWFfcGFn
ZV9tYWRkcigpDQo+IGluc3RlYWQgb2YgbGl0ZXJhbCAxLg0KPiANCj4gU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KDQpSZXZpZXdlZC1ieTogS2V2aW4gVGlh
biA8a2V2aW4udGlhbkBpbnRlbC5jb20+DQoNCj4gLS0tDQo+IHYzOiBOZXcuDQo+IA0KPiAtLS0g
YS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYw0KPiArKysgYi94ZW4vZHJpdmVy
cy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYw0KPiBAQCAtNTUsNiArNTUsNyBAQCBib29sIF9fcmVh
ZF9tb3N0bHkgaW9tbXVfc25vb3AgPSB0cnVlOw0KPiAgI2VuZGlmDQo+IA0KPiAgc3RhdGljIHVu
c2lnbmVkIGludCBfX3JlYWRfbW9zdGx5IG5yX2lvbW11czsNCj4gK3N0YXRpYyB1bnNpZ25lZCBp
bnQgX19yZWFkX21vc3RseSBtaW5fcHRfbGV2ZWxzID0gVUlOVF9NQVg7DQo+IA0KPiAgc3RhdGlj
IHN0cnVjdCBpb21tdV9vcHMgdnRkX29wczsNCj4gIHN0YXRpYyBzdHJ1Y3QgdGFza2xldCB2dGRf
ZmF1bHRfdGFza2xldDsNCj4gQEAgLTQ4Miw4ICs0ODMsMTEgQEAgc3RhdGljIHVpbnQ2NF90IGRv
bWFpbl9wZ2RfbWFkZHIoc3RydWN0DQo+ICAgICAgew0KPiAgICAgICAgICBpZiAoICFoZC0+YXJj
aC52dGQucGdkX21hZGRyICkNCj4gICAgICAgICAgew0KPiAtICAgICAgICAgICAgLyogRW5zdXJl
IHdlIGhhdmUgcGFnZXRhYmxlcyBhbGxvY2F0ZWQgZG93biB0byBsZWFmIFBURS4gKi8NCj4gLSAg
ICAgICAgICAgIGFkZHJfdG9fZG1hX3BhZ2VfbWFkZHIoZCwgMCwgMSwgTlVMTCwgdHJ1ZSk7DQo+
ICsgICAgICAgICAgICAvKg0KPiArICAgICAgICAgICAgICogRW5zdXJlIHdlIGhhdmUgcGFnZXRh
YmxlcyBhbGxvY2F0ZWQgZG93biB0byB0aGUgc21hbGxlc3QNCj4gKyAgICAgICAgICAgICAqIGxl
dmVsIHRoZSBsb29wIGJlbG93IG1heSBuZWVkIHRvIHJ1biB0by4NCj4gKyAgICAgICAgICAgICAq
Lw0KPiArICAgICAgICAgICAgYWRkcl90b19kbWFfcGFnZV9tYWRkcihkLCAwLCBtaW5fcHRfbGV2
ZWxzLCBOVUxMLCB0cnVlKTsNCj4gDQo+ICAgICAgICAgICAgICBpZiAoICFoZC0+YXJjaC52dGQu
cGdkX21hZGRyICkNCj4gICAgICAgICAgICAgICAgICByZXR1cm4gMDsNCj4gQEAgLTEzODEsNiAr
MTM4NSw4IEBAIGludCBfX2luaXQgaW9tbXVfYWxsb2Moc3RydWN0IGFjcGlfZHJoZF8NCj4gICAg
ICAgICAgcmV0dXJuIC1FTk9ERVY7DQo+ICAgICAgfQ0KPiAgICAgIGlvbW11LT5ucl9wdF9sZXZl
bHMgPSBhZ2F3X3RvX2xldmVsKGFnYXcpOw0KPiArICAgIGlmICggbWluX3B0X2xldmVscyA+IGlv
bW11LT5ucl9wdF9sZXZlbHMgKQ0KPiArICAgICAgICBtaW5fcHRfbGV2ZWxzID0gaW9tbXUtPm5y
X3B0X2xldmVsczsNCj4gDQo+ICAgICAgaWYgKCAhZWNhcF9jb2hlcmVudChpb21tdS0+ZWNhcCkg
KQ0KPiAgICAgICAgICB2dGRfb3BzLnN5bmNfY2FjaGUgPSBzeW5jX2NhY2hlOw0KDQo=


From xen-devel-bounces@lists.xenproject.org Sun Jan 30 03:26:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 03:26:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262383.454592 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nE0r2-0000d5-Hp; Sun, 30 Jan 2022 03:26:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262383.454592; Sun, 30 Jan 2022 03: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 1nE0r2-0000cy-Ei; Sun, 30 Jan 2022 03:26:16 +0000
Received: by outflank-mailman (input) for mailman id 262383;
 Sun, 30 Jan 2022 03:26:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lkCg=SO=intel.com=kevin.tian@srs-se1.protection.inumbo.net>)
 id 1nE0r0-0000cs-Fx
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 03:26:15 +0000
Received: from mga03.intel.com (mga03.intel.com [134.134.136.65])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5ecf64fe-817c-11ec-8eb8-a37418f5ba1a;
 Sun, 30 Jan 2022 04:26:12 +0100 (CET)
Received: from orsmga003.jf.intel.com ([10.7.209.27])
 by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 29 Jan 2022 19:26:10 -0800
Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16])
 by orsmga003.jf.intel.com with ESMTP; 29 Jan 2022 19:26:10 -0800
Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) 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.2308.20; Sat, 29 Jan 2022 19:26:10 -0800
Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by
 orsmsx607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2308.20 via Frontend Transport; Sat, 29 Jan 2022 19:26:10 -0800
Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.107)
 by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2308.20; Sat, 29 Jan 2022 19:26:09 -0800
Received: from BN9PR11MB5276.namprd11.prod.outlook.com (2603:10b6:408:135::18)
 by CY4PR11MB1352.namprd11.prod.outlook.com (2603:10b6:903:2a::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.20; Sun, 30 Jan
 2022 03:26:06 +0000
Received: from BN9PR11MB5276.namprd11.prod.outlook.com
 ([fe80::f514:7aae:315b:4d8d]) by BN9PR11MB5276.namprd11.prod.outlook.com
 ([fe80::f514:7aae:315b:4d8d%3]) with mapi id 15.20.4930.020; Sun, 30 Jan 2022
 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>
X-Inumbo-ID: 5ecf64fe-817c-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1643513172; x=1675049172;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=oURUj829lBhWdasQsFFSfrn74LdqoiMyu62hH9s0v/g=;
  b=eVMUJftyEBGQFNTzv92wtNubqFxCbJ783riZ05KbrkBtHmNzsf3F1dMj
   Ug9btfui1Gv+1x69C8LiBIeormcl5B8yyGzGnLuc8LTBOPUVPRbICiBuK
   FwJUMfbIgqHlqP1cU2ruOXHiPzm/EVKT/RFY8cfwAVQJ0CpLxY2m+Pua1
   51M6VU0SjPY3FSEmlcSoLEmZc085u3kJUoG0Uvgx4rMPqRex6mKAvFGMQ
   OV8OP/w453yTaIN+1ehdq74Ndu5zh0u8iZWpUmgNMQmUgS2LTatPX6pmW
   fZlz7z6swQCybG5BGwCS7feYNw/disgARYFOxXFPSyO2PWnIX+gxdVzOy
   g==;
X-IronPort-AV: E=McAfee;i="6200,9189,10242"; a="247264161"
X-IronPort-AV: E=Sophos;i="5.88,327,1635231600"; 
   d="scan'208";a="247264161"
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.88,327,1635231600"; 
   d="scan'208";a="478678031"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IitAslQwV/rEO6CDLWcmRLACVPbQ77Kx6xo00VDtK7WsbjoLfvs/9twJAxdCBlVImfNHDaHeqmVHBx2TE3cU0c0tjNosbOdfecuFDZSf7VCUisI3NUU9868jQ7BZ2q2k7Ho5uxSOH3IhYYCyIwPkLle3ejyt6slS2CI7eC//u3KN/U0Tz8bQXhOQwqedzu3cgkfQbTjsgec0IC7KjfBWc6xwSaczSyTqmLcLdOxHIzGdAUZ95nPqvWyHb66EDdnTmosmYl04IYRFnGcHNlUscBKaGu6bkDcyRPAHc9q4EQ9TozZKxHZzwJArlszzY8yFVl/pWJlEpyWgJRrmVNiPUw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oURUj829lBhWdasQsFFSfrn74LdqoiMyu62hH9s0v/g=;
 b=CwbjiPPrMyqmOKF/yVgTAByvmY4exqbD/dQmd/AUcj4DkxIYI4JqH+EkpFvy5kqr7nwlMxoqOblHk/varJ8H0EINU3iVLbsOT8bF9Rgv2lEYrhIv+Pm+QkV42kL1drE/0eGGnblDmuqybjJEko/yiWRk5Z0s7t5WLlrDtWKAs2FmZDYyQ18phAhPNaBaP8CKpTco+MdWPRH7gZlxQQksCTPPg7U2lV5WmPtIcyroEG+NXd2KPVblEw1HD9nuxwkXPoLR50VdsoXmEHjKDmShYJ92maNAZNOeOQrV9/enreEsxnC8DjOJZR1f62VnE0CQ0dGTcshLCgAqtZ08kxwrlw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
From: "Tian, Kevin" <kevin.tian@intel.com>
To: "Beulich, Jan" <JBeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: "Cooper, Andrew" <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
	=?utf-8?B?UGF1IE1vbm7DqSwgUm9nZXI=?= <roger.pau@citrix.com>
Subject: RE: [PATCH v3 15/23] VT-d: allow use of superpage mappings
Thread-Topic: [PATCH v3 15/23] VT-d: allow use of superpage mappings
Thread-Index: AQHYBj+ziUl9RxtVWUy2yi/LMEac/qx7BZDQ
Date: Sun, 30 Jan 2022 03:26:06 +0000
Message-ID: <BN9PR11MB5276705B0B47F078D25F891D8C249@BN9PR11MB5276.namprd11.prod.outlook.com>
References: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
 <19531402-6392-c730-08a0-20e2a4ba71f4@suse.com>
In-Reply-To: <19531402-6392-c730-08a0-20e2a4ba71f4@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 9e079f43-f763-4a1d-eef6-08d9e3a0405b
x-ms-traffictypediagnostic: CY4PR11MB1352:EE_
x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
x-microsoft-antispam-prvs: <CY4PR11MB13527CD2A5D87FB473FA7AA48C249@CY4PR11MB1352.namprd11.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: lOeI9+AJyWOhMACJAONckJ8pYGoJSGlwHsSh4cvUSwOCtnJnDbbrBrLZOkATDEWPTI1oFyqSux2LgcEApZdNM4mfQFF6eYb4wKRCFHo+muS9Vg9aE5/u2fZGgyVQ6tOjWDY0SmFjL0e2vx4S2HvhAT+VUJV8siXBchE04+fAbAcB+lk5/rZfVCC+30Kn68R5C+5/wtfetQKjTKq9KLXtiI/uu9uwHc17mfP20qyJgmWyw05M0PtJvhUzkw1h3D8IeYTl4xb6pKNHxoHV8P6/JKx8SZS5nwL8Pqgpe8B5t3ty7VP19w5ueXtRPB78+oYRk8qe6vE+bnYGzzNPIWwJTn+eIpKcdsF+UTDmtWnuRChqI+f2PU73ZMdZCDXzOojiTacUXLHxpi+mXgpq6uafSz69yrg8QCIead0Xx8degwjKJQw58K3dvxkb3nKm/KoIc3KQ1EBbply1j93k2Xkw/rRKGHAD9maUExY8nxMDoPUW0mthEXKD3zRQ0iP3prlm1JxQxo70o7p5Iaxg5x8T5OXaY0S8LlQ4A6s8UbmWscwf+Jhq3x+ix5rbz6yRDhpIZZsVvisp2Ib4iI5YfyFhVpANTy/ARQ2BBTcE0rxg3SNx8mE22g2gDlba0gVDTLm+ZOkOQYddjHVMghm0cWJaMnxC/ymL+2m7KnV/6q8K0ZvG72e2JsZNzB7/PEiphtCOXZ8jEu93x8H6vct7Pmd+MA==
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR11MB5276.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(26005)(33656002)(508600001)(186003)(38070700005)(55016003)(122000001)(52536014)(5660300002)(82960400001)(9686003)(86362001)(7696005)(66476007)(66946007)(76116006)(2906002)(66556008)(64756008)(4326008)(8676002)(38100700002)(54906003)(8936002)(66446008)(83380400001)(110136005)(316002)(71200400001)(6506007)(20210929001);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eHphODE4b0xjSW9MUlM5ZkJQQmMzQUgwck5sVDhJUWhiNTlEdklIUXd2OUdp?=
 =?utf-8?B?S3M5bEtod0lJaTFtbHpBOTYyK3Jpa2QxekhsNmdwS0hiVG56aDV2VlFlRG9X?=
 =?utf-8?B?aXVCUHhxSTFHK3pJRzdKR3JKOWtOeDdEQVdLQzQzS0QvbXZaR2VTaXZ0RSty?=
 =?utf-8?B?VlJ1WXBiTUFmOVhHdHd2aDBmb2VZNVNRa2FXY1NlSzg5MnRBUjhnSkRWU0ZY?=
 =?utf-8?B?eUpiYmNRcjY2YkJibFo0RDFDVkY0b3h2K0pldXJkYTJpR0tmcTZGY3pUY1pU?=
 =?utf-8?B?Uk1MNmRCZjI3TTh3cWV5R3NyOXdZZUEvb0p5VnVzWFBQN3U2a1YzWEQ3eFY5?=
 =?utf-8?B?NnljZHpGWlcyQzRJbEl4dFRyT2VWaHhMMGw4SnB4amR5ZjhLUS9sUGRhL284?=
 =?utf-8?B?VUNmRjgxTDl3WTE4ck43ekZDQnVQQ3lBY2ZuWWptZ0w5Y25QYlFDbjhMd0tn?=
 =?utf-8?B?cWlEWFB1SjBFdTZVU01YNk9PUEpjdzE5SURkbHJ0ZHZhL0xCVXpCMlJXS0Nk?=
 =?utf-8?B?blAwTDZCSUUzMVlqR2JDVGdIbGVTRVdVS2o1ZEZpdUgzNk1JVnUyUDA5U0t3?=
 =?utf-8?B?Y1A2S1Q4WDQ1Y0hoRTFWRnZOdGhwakwvcldXcWpMZDlBaXo0YTF5VG1mZUJn?=
 =?utf-8?B?Ykw0REhIUlFEak82N1NORmRoOVJNZDUyUzk5a3c2YmlYQ3J6Q1RNdVJlVndr?=
 =?utf-8?B?ZENFdWE2N2x0VjVqeFhrWTI1c3pmOU9vRnBGZ1lNYmEvak42NE84RzE4SGFK?=
 =?utf-8?B?OXFRYi9LSHh2c3Zxblh4WFdRWmU0S0hwVDY4WFgySlVzZVVtMktDczZUYXhD?=
 =?utf-8?B?UFhDK2NJVVBSTjdyZFNZaWhLQWlYRzBFTndMUk5NSzZ4OTZVempxcjgyWFRM?=
 =?utf-8?B?UWZzQzVxVEluTFViKy9ZTk8wWWR0RXRZWjA3WDNFTisrbnlWSEUwN0dlNER1?=
 =?utf-8?B?Qi8vU0dIaFgrQW16cFk2ZFJGVkNWUjVBdmxLRVE0TlFUU2xmZ0xYQ245N1RR?=
 =?utf-8?B?c21zSTF5bnNsa3lrbHVpclYxTEVYNFJLcU5PUzVCN3plUDhqWkFIV2U4dVhq?=
 =?utf-8?B?TzdicnRwSjlUTDFmU2lOdkxUeHB3ZElucm1kNndaUTRhS3NYeDdLOUVWa3Uz?=
 =?utf-8?B?anFldnlTZ2tnNWVLdzNURFgvUTFjclBZbTZzNFNvS1lzQVdEMXplVjVmcE9S?=
 =?utf-8?B?OGRmQm9GOGcvaUVXbGdvQ2srYmNGK0pNR1l4L0IvcWtlcDUxdWxmWFNGamVp?=
 =?utf-8?B?Vko3Vk1tS2tGb0pIWUp4T1E4Zmw0M09CSTVFdHNjbVgxYzlJak1TK0xzZUMr?=
 =?utf-8?B?ZXhQTWhaakxjTUlPUEFpRFU1dlhYR1IwKzBOWi9RZUFzMU55Ny92RDFHQTBU?=
 =?utf-8?B?K2FsL1ZDVHlMZHE2N2U5QlM3OEw5WVdaUjgyMWFXT2p2LzdLMEtaWFpnNzA5?=
 =?utf-8?B?RHA4RFRKYmNUeTUzV1pVdnZQekVsUDVscVBzZmhrN2IvbitiSlgxdVplRzVy?=
 =?utf-8?B?Ti9wL0xQR0VJSVh3L3V0eGVYTzdQVE50RTdhcDZNRlpFcHREUVVheitOdm1x?=
 =?utf-8?B?NkJnL2U3OWlkeDZmLzFTQngydlFkUDZWMkRNdTV6U3RHT25lTjY3VHlCTmtQ?=
 =?utf-8?B?UDZuaEloOCtmbE5uRGtjSnV0V3VhUnpiRk1GRUJCa0xDbU5ZUXRRaEhWdS92?=
 =?utf-8?B?MGlFQzlKSkRDWnUrT3ZaUUI4UGJYdnlNbFJ1SnEvQlNBNGJKQjVselVQQkJL?=
 =?utf-8?B?cDV0RDBCcnFic0M1NWJTUWplckNxVWJVdnNsSmVsUXhwdGkxbk8yYUdVbUc2?=
 =?utf-8?B?TkQ4dnVGVnVpQjZtZ28rcjVLV1hyY25oVTI2bVF0NHo3QWR0bkIzZ3BHUWY3?=
 =?utf-8?B?N2JvejVjZHNKbC84VEgzaVJaNG0zbHMzRlBqdTA0YTRXMTRTcDhveVpTbnIy?=
 =?utf-8?B?czBrT0gyZHpadFIrWm1wcmN5ZjdHTC9yekRwdUk2cUNLQWRLd1ZVNW9KNHMv?=
 =?utf-8?B?MHhPc3U0cWZ6KzBUOHJyK29SL2xjTXNtbDJLc3Q1elJDUXArMDNvNUlPYlY3?=
 =?utf-8?B?Q2NwMDlweTFZUi82amhjK3lvTmlMRmUvczU4RW13QWpWb2dOV01wWis2RGRI?=
 =?utf-8?B?MnRhdmJnMUpKd2tKa0VBQnk0QTlncGNPVGFrNEFtQ0MyZ1ZVUEg1VDBvTWo3?=
 =?utf-8?Q?si6EhUsZiCK/T7vly3J5qT4=3D?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN9PR11MB5276.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9e079f43-f763-4a1d-eef6-08d9e3a0405b
X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jan 2022 03:26:06.3206
 (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: gKX7jHirOPNihwSxdzS2Hx1CaGXzxzULAQ91we7+cap50XBO3RItHydWfzVQXRateBOKMC2vF6PV+aNrdfg4Sw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR11MB1352
X-OriginatorOrg: intel.com

PiBGcm9tOiBKYW4gQmV1bGljaA0KPiBTZW50OiBUdWVzZGF5LCBKYW51YXJ5IDExLCAyMDIyIDEy
OjMyIEFNDQo+IA0KPiAuLi4gZGVwZW5kaW5nIG9uIGZlYXR1cmUgYXZhaWxhYmlsaXR5IChhbmQg
YWJzZW5jZSBvZiBxdWlya3MpLg0KPiANCj4gQWxzbyBtYWtlIHRoZSBwYWdlIHRhYmxlIGR1bXBp
bmcgZnVuY3Rpb24gYXdhcmUgb2Ygc3VwZXJwYWdlcy4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IEph
biBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCg0KUmV2aWV3ZWQtYnk6IEtldmluIFRpYW4g
PGtldmluLnRpYW5AaW50ZWwuY29tPg0KDQo+IC0tLQ0KPiB2MzogUmVuYW1lIHF1ZXVlX2ZyZWVf
cHQoKSdzIGxhc3QgcGFyYW1ldGVyLiBSZXBsYWNlICJsZXZlbCA+IDEiIGNoZWNrcw0KPiAgICAg
d2hlcmUgcG9zc2libGUuIFRpZ2h0ZW4gYXNzZXJ0aW9uLg0KPiANCj4gLS0tIGEveGVuL2RyaXZl
cnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMNCj4gKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91
Z2gvdnRkL2lvbW11LmMNCj4gQEAgLTgyNiwxOCArODI2LDM3IEBAIHN0YXRpYyBpbnQgX19tdXN0
X2NoZWNrIGlvbW11X2ZsdXNoX2lvdGwNCj4gICAgICByZXR1cm4gaW9tbXVfZmx1c2hfaW90bGIo
ZCwgSU5WQUxJRF9ERk4sIDAsIDApOw0KPiAgfQ0KPiANCj4gK3N0YXRpYyB2b2lkIHF1ZXVlX2Zy
ZWVfcHQoc3RydWN0IGRvbWFpbiAqZCwgbWZuX3QgbWZuLCB1bnNpZ25lZCBpbnQgbGV2ZWwpDQo+
ICt7DQo+ICsgICAgaWYgKCBsZXZlbCA+IDEgKQ0KPiArICAgIHsNCj4gKyAgICAgICAgc3RydWN0
IGRtYV9wdGUgKnB0ID0gbWFwX2RvbWFpbl9wYWdlKG1mbik7DQo+ICsgICAgICAgIHVuc2lnbmVk
IGludCBpOw0KPiArDQo+ICsgICAgICAgIGZvciAoIGkgPSAwOyBpIDwgUFRFX05VTTsgKytpICkN
Cj4gKyAgICAgICAgICAgIGlmICggZG1hX3B0ZV9wcmVzZW50KHB0W2ldKSAmJiAhZG1hX3B0ZV9z
dXBlcnBhZ2UocHRbaV0pICkNCj4gKyAgICAgICAgICAgICAgICBxdWV1ZV9mcmVlX3B0KGQsIG1h
ZGRyX3RvX21mbihkbWFfcHRlX2FkZHIocHRbaV0pKSwNCj4gKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGxldmVsIC0gMSk7DQo+ICsNCj4gKyAgICAgICAgdW5tYXBfZG9tYWluX3BhZ2Uo
cHQpOw0KPiArICAgIH0NCj4gKw0KPiArICAgIGlvbW11X3F1ZXVlX2ZyZWVfcGd0YWJsZShkLCBt
Zm5fdG9fcGFnZShtZm4pKTsNCj4gK30NCj4gKw0KPiAgLyogY2xlYXIgb25lIHBhZ2UncyBwYWdl
IHRhYmxlICovDQo+ICBzdGF0aWMgaW50IGRtYV9wdGVfY2xlYXJfb25lKHN0cnVjdCBkb21haW4g
KmRvbWFpbiwgZGFkZHJfdCBhZGRyLA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBpbnQgb3JkZXIsDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln
bmVkIGludCAqZmx1c2hfZmxhZ3MpDQo+ICB7DQo+ICAgICAgc3RydWN0IGRvbWFpbl9pb21tdSAq
aGQgPSBkb21faW9tbXUoZG9tYWluKTsNCj4gLSAgICBzdHJ1Y3QgZG1hX3B0ZSAqcGFnZSA9IE5V
TEwsICpwdGUgPSBOVUxMOw0KPiArICAgIHN0cnVjdCBkbWFfcHRlICpwYWdlID0gTlVMTCwgKnB0
ZSA9IE5VTEwsIG9sZDsNCj4gICAgICB1NjQgcGdfbWFkZHI7DQo+ICsgICAgdW5zaWduZWQgaW50
IGxldmVsID0gKG9yZGVyIC8gTEVWRUxfU1RSSURFKSArIDE7DQo+IA0KPiAgICAgIHNwaW5fbG9j
aygmaGQtPmFyY2gubWFwcGluZ19sb2NrKTsNCj4gLSAgICAvKiBnZXQgbGFzdCBsZXZlbCBwdGUg
Ki8NCj4gLSAgICBwZ19tYWRkciA9IGFkZHJfdG9fZG1hX3BhZ2VfbWFkZHIoZG9tYWluLCBhZGRy
LCAxLCBmbHVzaF9mbGFncywNCj4gZmFsc2UpOw0KPiArICAgIC8qIGdldCB0YXJnZXQgbGV2ZWwg
cHRlICovDQo+ICsgICAgcGdfbWFkZHIgPSBhZGRyX3RvX2RtYV9wYWdlX21hZGRyKGRvbWFpbiwg
YWRkciwgbGV2ZWwsIGZsdXNoX2ZsYWdzLA0KPiBmYWxzZSk7DQo+ICAgICAgaWYgKCBwZ19tYWRk
ciA8IFBBR0VfU0laRSApDQo+ICAgICAgew0KPiAgICAgICAgICBzcGluX3VubG9jaygmaGQtPmFy
Y2gubWFwcGluZ19sb2NrKTsNCj4gQEAgLTg0NSw3ICs4NjQsNyBAQCBzdGF0aWMgaW50IGRtYV9w
dGVfY2xlYXJfb25lKHN0cnVjdCBkb21hDQo+ICAgICAgfQ0KPiANCj4gICAgICBwYWdlID0gKHN0
cnVjdCBkbWFfcHRlICopbWFwX3Z0ZF9kb21haW5fcGFnZShwZ19tYWRkcik7DQo+IC0gICAgcHRl
ID0gcGFnZSArIGFkZHJlc3NfbGV2ZWxfb2Zmc2V0KGFkZHIsIDEpOw0KPiArICAgIHB0ZSA9ICZw
YWdlW2FkZHJlc3NfbGV2ZWxfb2Zmc2V0KGFkZHIsIGxldmVsKV07DQo+IA0KPiAgICAgIGlmICgg
IWRtYV9wdGVfcHJlc2VudCgqcHRlKSApDQo+ICAgICAgew0KPiBAQCAtODU0LDE0ICs4NzMsMjAg
QEAgc3RhdGljIGludCBkbWFfcHRlX2NsZWFyX29uZShzdHJ1Y3QgZG9tYQ0KPiAgICAgICAgICBy
ZXR1cm4gMDsNCj4gICAgICB9DQo+IA0KPiArICAgIG9sZCA9ICpwdGU7DQo+ICAgICAgZG1hX2Ns
ZWFyX3B0ZSgqcHRlKTsNCj4gLSAgICAqZmx1c2hfZmxhZ3MgfD0gSU9NTVVfRkxVU0hGX21vZGlm
aWVkOw0KPiANCj4gICAgICBzcGluX3VubG9jaygmaGQtPmFyY2gubWFwcGluZ19sb2NrKTsNCj4g
ICAgICBpb21tdV9zeW5jX2NhY2hlKHB0ZSwgc2l6ZW9mKHN0cnVjdCBkbWFfcHRlKSk7DQo+IA0K
PiAgICAgIHVubWFwX3Z0ZF9kb21haW5fcGFnZShwYWdlKTsNCj4gDQo+ICsgICAgKmZsdXNoX2Zs
YWdzIHw9IElPTU1VX0ZMVVNIRl9tb2RpZmllZDsNCj4gKw0KPiArICAgIGlmICggb3JkZXIgJiYg
IWRtYV9wdGVfc3VwZXJwYWdlKG9sZCkgKQ0KPiArICAgICAgICBxdWV1ZV9mcmVlX3B0KGRvbWFp
biwgbWFkZHJfdG9fbWZuKGRtYV9wdGVfYWRkcihvbGQpKSwNCj4gKyAgICAgICAgICAgICAgICAg
ICAgICBvcmRlciAvIExFVkVMX1NUUklERSk7DQo+ICsNCj4gICAgICByZXR1cm4gMDsNCj4gIH0N
Cj4gDQo+IEBAIC0xOTUyLDYgKzE5NzcsNyBAQCBzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBpbnRl
bF9pb21tdV9tYXBfDQo+ICAgICAgc3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21faW9tbXUo
ZCk7DQo+ICAgICAgc3RydWN0IGRtYV9wdGUgKnBhZ2UsICpwdGUsIG9sZCwgbmV3ID0ge307DQo+
ICAgICAgdTY0IHBnX21hZGRyOw0KPiArICAgIHVuc2lnbmVkIGludCBsZXZlbCA9IChJT01NVUZf
b3JkZXIoZmxhZ3MpIC8gTEVWRUxfU1RSSURFKSArIDE7DQo+ICAgICAgaW50IHJjID0gMDsNCj4g
DQo+ICAgICAgLyogRG8gbm90aGluZyBpZiBWVC1kIHNoYXJlcyBFUFQgcGFnZSB0YWJsZSAqLw0K
PiBAQCAtMTk3Niw3ICsyMDAyLDcgQEAgc3RhdGljIGludCBfX211c3RfY2hlY2sgaW50ZWxfaW9t
bXVfbWFwXw0KPiAgICAgICAgICByZXR1cm4gMDsNCj4gICAgICB9DQo+IA0KPiAtICAgIHBnX21h
ZGRyID0gYWRkcl90b19kbWFfcGFnZV9tYWRkcihkLCBkZm5fdG9fZGFkZHIoZGZuKSwgMSwNCj4g
Zmx1c2hfZmxhZ3MsDQo+ICsgICAgcGdfbWFkZHIgPSBhZGRyX3RvX2RtYV9wYWdlX21hZGRyKGQs
IGRmbl90b19kYWRkcihkZm4pLCBsZXZlbCwNCj4gZmx1c2hfZmxhZ3MsDQo+ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUpOw0KPiAgICAgIGlmICggcGdfbWFkZHIg
PCBQQUdFX1NJWkUgKQ0KPiAgICAgIHsNCj4gQEAgLTE5ODUsMTMgKzIwMTEsMTUgQEAgc3RhdGlj
IGludCBfX211c3RfY2hlY2sgaW50ZWxfaW9tbXVfbWFwXw0KPiAgICAgIH0NCj4gDQo+ICAgICAg
cGFnZSA9IChzdHJ1Y3QgZG1hX3B0ZSAqKW1hcF92dGRfZG9tYWluX3BhZ2UocGdfbWFkZHIpOw0K
PiAtICAgIHB0ZSA9ICZwYWdlW2Rmbl94KGRmbikgJiBMRVZFTF9NQVNLXTsNCj4gKyAgICBwdGUg
PSAmcGFnZVthZGRyZXNzX2xldmVsX29mZnNldChkZm5fdG9fZGFkZHIoZGZuKSwgbGV2ZWwpXTsN
Cj4gICAgICBvbGQgPSAqcHRlOw0KPiANCj4gICAgICBkbWFfc2V0X3B0ZV9hZGRyKG5ldywgbWZu
X3RvX21hZGRyKG1mbikpOw0KPiAgICAgIGRtYV9zZXRfcHRlX3Byb3QobmV3LA0KPiAgICAgICAg
ICAgICAgICAgICAgICAgKChmbGFncyAmIElPTU1VRl9yZWFkYWJsZSkgPyBETUFfUFRFX1JFQUQg
IDogMCkgfA0KPiAgICAgICAgICAgICAgICAgICAgICAgKChmbGFncyAmIElPTU1VRl93cml0YWJs
ZSkgPyBETUFfUFRFX1dSSVRFIDogMCkpOw0KPiArICAgIGlmICggSU9NTVVGX29yZGVyKGZsYWdz
KSApDQo+ICsgICAgICAgIGRtYV9zZXRfcHRlX3N1cGVycGFnZShuZXcpOw0KPiANCj4gICAgICAv
KiBTZXQgdGhlIFNOUCBvbiBsZWFmIHBhZ2UgdGFibGUgaWYgU25vb3AgQ29udHJvbCBhdmFpbGFi
bGUgKi8NCj4gICAgICBpZiAoIGlvbW11X3Nub29wICkNCj4gQEAgLTIwMTIsOCArMjA0MCwxNCBA
QCBzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBpbnRlbF9pb21tdV9tYXBfDQo+IA0KPiAgICAgICpm
bHVzaF9mbGFncyB8PSBJT01NVV9GTFVTSEZfYWRkZWQ7DQo+ICAgICAgaWYgKCBkbWFfcHRlX3By
ZXNlbnQob2xkKSApDQo+ICsgICAgew0KPiAgICAgICAgICAqZmx1c2hfZmxhZ3MgfD0gSU9NTVVf
RkxVU0hGX21vZGlmaWVkOw0KPiANCj4gKyAgICAgICAgaWYgKCBJT01NVUZfb3JkZXIoZmxhZ3Mp
ICYmICFkbWFfcHRlX3N1cGVycGFnZShvbGQpICkNCj4gKyAgICAgICAgICAgIHF1ZXVlX2ZyZWVf
cHQoZCwgbWFkZHJfdG9fbWZuKGRtYV9wdGVfYWRkcihvbGQpKSwNCj4gKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgSU9NTVVGX29yZGVyKGZsYWdzKSAvIExFVkVMX1NUUklERSk7DQo+ICsgICAg
fQ0KPiArDQo+ICAgICAgcmV0dXJuIHJjOw0KPiAgfQ0KPiANCj4gQEAgLTIzNzAsNiArMjQwNCw3
IEBAIHN0YXRpYyBpbnQgX19pbml0IHZ0ZF9zZXR1cCh2b2lkKQ0KPiAgew0KPiAgICAgIHN0cnVj
dCBhY3BpX2RyaGRfdW5pdCAqZHJoZDsNCj4gICAgICBzdHJ1Y3QgdnRkX2lvbW11ICppb21tdTsN
Cj4gKyAgICB1bnNpZ25lZCBpbnQgbGFyZ2Vfc2l6ZXMgPSBQQUdFX1NJWkVfMk0gfCBQQUdFX1NJ
WkVfMUc7DQo+ICAgICAgaW50IHJldDsNCj4gICAgICBib29sIHJlZ19pbnZhbF9zdXBwb3J0ZWQg
PSB0cnVlOw0KPiANCj4gQEAgLTI0MTIsNiArMjQ0NywxMSBAQCBzdGF0aWMgaW50IF9faW5pdCB2
dGRfc2V0dXAodm9pZCkNCj4gICAgICAgICAgICAgICAgIGNhcF9zcHNfMm1iKGlvbW11LT5jYXAp
ID8gIiwgMk1CIiA6ICIiLA0KPiAgICAgICAgICAgICAgICAgY2FwX3Nwc18xZ2IoaW9tbXUtPmNh
cCkgPyAiLCAxR0IiIDogIiIpOw0KPiANCj4gKyAgICAgICAgaWYgKCAhY2FwX3Nwc18ybWIoaW9t
bXUtPmNhcCkgKQ0KPiArICAgICAgICAgICAgbGFyZ2Vfc2l6ZXMgJj0gflBBR0VfU0laRV8yTTsN
Cj4gKyAgICAgICAgaWYgKCAhY2FwX3Nwc18xZ2IoaW9tbXUtPmNhcCkgKQ0KPiArICAgICAgICAg
ICAgbGFyZ2Vfc2l6ZXMgJj0gflBBR0VfU0laRV8xRzsNCj4gKw0KPiAgI2lmbmRlZiBpb21tdV9z
bm9vcA0KPiAgICAgICAgICBpZiAoIGlvbW11X3Nub29wICYmICFlY2FwX3NucF9jdGwoaW9tbXUt
PmVjYXApICkNCj4gICAgICAgICAgICAgIGlvbW11X3Nub29wID0gZmFsc2U7DQo+IEBAIC0yNDgz
LDYgKzI1MjMsOSBAQCBzdGF0aWMgaW50IF9faW5pdCB2dGRfc2V0dXAodm9pZCkNCj4gICAgICBp
ZiAoIHJldCApDQo+ICAgICAgICAgIGdvdG8gZXJyb3I7DQo+IA0KPiArICAgIEFTU0VSVChpb21t
dV9vcHMucGFnZV9zaXplcyA9PSBQQUdFX1NJWkVfNEspOw0KPiArICAgIGlvbW11X29wcy5wYWdl
X3NpemVzIHw9IGxhcmdlX3NpemVzOw0KPiArDQo+ICAgICAgcmVnaXN0ZXJfa2V5aGFuZGxlcign
VicsIHZ0ZF9kdW1wX2lvbW11X2luZm8sICJkdW1wIGlvbW11IGluZm8iLCAxKTsNCj4gDQo+ICAg
ICAgcmV0dXJuIDA7DQo+IEBAIC0yNzk3LDcgKzI4NDAsNyBAQCBzdGF0aWMgdm9pZCB2dGRfZHVt
cF9wYWdlX3RhYmxlX2xldmVsKHBhDQo+ICAgICAgICAgICAgICBjb250aW51ZTsNCj4gDQo+ICAg
ICAgICAgIGFkZHJlc3MgPSBncGEgKyBvZmZzZXRfbGV2ZWxfYWRkcmVzcyhpLCBsZXZlbCk7DQo+
IC0gICAgICAgIGlmICggbmV4dF9sZXZlbCA+PSAxICkNCj4gKyAgICAgICAgaWYgKCBuZXh0X2xl
dmVsICYmICFkbWFfcHRlX3N1cGVycGFnZSgqcHRlKSApDQo+ICAgICAgICAgICAgICB2dGRfZHVt
cF9wYWdlX3RhYmxlX2xldmVsKGRtYV9wdGVfYWRkcigqcHRlKSwgbmV4dF9sZXZlbCwNCj4gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkcmVzcywgaW5kZW50ICsgMSk7
DQo+ICAgICAgICAgIGVsc2UNCj4gDQoNCg==


From xen-devel-bounces@lists.xenproject.org Sun Jan 30 03:38:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 03:38:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262389.454603 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nE138-0002DZ-Ql; Sun, 30 Jan 2022 03:38:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262389.454603; Sun, 30 Jan 2022 03: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 1nE138-0002DS-MZ; Sun, 30 Jan 2022 03:38:46 +0000
Received: by outflank-mailman (input) for mailman id 262389;
 Sun, 30 Jan 2022 03:38:46 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lkCg=SO=intel.com=kevin.tian@srs-se1.protection.inumbo.net>)
 id 1nE138-0002DM-1U
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 03:38:46 +0000
Received: from mga11.intel.com (mga11.intel.com [192.55.52.93])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1d560573-817e-11ec-8eb8-a37418f5ba1a;
 Sun, 30 Jan 2022 04:38:42 +0100 (CET)
Received: from orsmga001.jf.intel.com ([10.7.209.18])
 by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 29 Jan 2022 19:38:39 -0800
Received: from fmsmsx605.amr.corp.intel.com ([10.18.126.85])
 by orsmga001.jf.intel.com with ESMTP; 29 Jan 2022 19:38:39 -0800
Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by
 fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2308.20; Sat, 29 Jan 2022 19:38:38 -0800
Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by
 fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2308.20; Sat, 29 Jan 2022 19:38:38 -0800
Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by
 fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2308.20 via Frontend Transport; Sat, 29 Jan 2022 19:38:38 -0800
Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.41) 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.2308.20; Sat, 29 Jan 2022 19:38:38 -0800
Received: from BN9PR11MB5276.namprd11.prod.outlook.com (2603:10b6:408:135::18)
 by SJ0PR11MB5198.namprd11.prod.outlook.com (2603:10b6:a03:2ad::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.8; Sun, 30 Jan
 2022 03:38:36 +0000
Received: from BN9PR11MB5276.namprd11.prod.outlook.com
 ([fe80::f514:7aae:315b:4d8d]) by BN9PR11MB5276.namprd11.prod.outlook.com
 ([fe80::f514:7aae:315b:4d8d%3]) with mapi id 15.20.4930.020; Sun, 30 Jan 2022
 03:38:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1d560573-817e-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1643513922; x=1675049922;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=a1a/tJv3DdXh7u5vHvSIt1V00yWp6qTj5dVuUR7VvlY=;
  b=Oc9q5bUhdBXrkpXuW8c1qs++fUvS8aQVOJICooLO/iWRiGix2Cry8GOF
   uPEO9AUOdJHgzwxzEYMGKTSVXUK3as2iwZWKg8Du8+RqI8aAx+X6ZzE3H
   SDzB2PPlPMVKRSkVJZftWO+zKKRtpC/mqJ7QonDAQzVDw2yVsI00xRQvG
   UmcTGSQRHV1DX8njjqKAwZcEqe3FkI95LGrymy3yvH+SFGvYNf22NxSZl
   Z8jYfu3YDiFvqvFiiDM1ahuUwDOHHdqCJAuC7rxJR7tezyxJXWpS1VHzG
   EDUUMl/eTXAeRvczaTInq5ggxTjk1rzTAGo47JyB1l/E/4+EvzD1Lkdx7
   w==;
X-IronPort-AV: E=McAfee;i="6200,9189,10242"; a="244911429"
X-IronPort-AV: E=Sophos;i="5.88,327,1635231600"; 
   d="scan'208";a="244911429"
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.88,327,1635231600"; 
   d="scan'208";a="564595344"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UGCHmHteCRIOlWZ8FfbmvbkDULHn8B+JFpHi2LhXqXVio1b2SFxkOn2lD7nLZHBbx3rrHhzWA3evfPSwXs9SlyRA7RivMhqGJhNHuu7YA0TSTofEA+7wEIfK2/S5PiCe7Zk9alVYwcDbMJpvh4dgfJ+TCuUK5A4Wv3/ddVDq6e3Cq+rORw39HKYvzZgRxnhcwuIeGLWD991pcL9w0BfU8zZqBwvML15jNaZs451VUOtzNuaULLR1Wo090UfSKiGR8/X9JFHnKQ6cT4EMLMvD612yTIRRgFsE+ZX3r9yTRKlAQnFBQs+F9tvuMkY05SBgWdKBmPBvv9WWjyaaNn67DA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=a1a/tJv3DdXh7u5vHvSIt1V00yWp6qTj5dVuUR7VvlY=;
 b=dqt91hFuSyqx/HJsvWNTff92m5DZWVsTug98hlejmY9URwrbAjvDVKVLnRRcEfS97kf9TVnUEj71Ul8YQAMqpybo8KMsivyHjgOXzGbCvJsQaD+h4VGdrlgEPx/MciHCyio7MkGtETFfPSXQTothB9efaTGdkK3Lk3TgFIT13BztQbbgB/BGN59wWIqfwZ5F2ksbZAL1bcEPRfhcguXL+IfSpnInu5g/Nnjy4BB1Q0mdxyGdMcugyvBZYqPG4uG4FdYiBUqOhDx8lgp0HYP+Nuhw9M+awN4XpEx/ffT74CzPUDJpfOK6wBPEgqokfV6vcg585fcJCzrUMxrJhUN5eQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
From: "Tian, Kevin" <kevin.tian@intel.com>
To: "Beulich, Jan" <JBeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: "Cooper, Andrew" <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
	=?utf-8?B?UGF1IE1vbm7DqSwgUm9nZXI=?= <roger.pau@citrix.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, "Volodymyr
 Babchuk" <volodymyr_babchuk@epam.com>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Rahul Singh <Rahul.Singh@arm.com>
Subject: RE: [PATCH v3 16/23] IOMMU: fold flush-all hook into "flush one"
Thread-Topic: [PATCH v3 16/23] IOMMU: fold flush-all hook into "flush one"
Thread-Index: AQHYBj/qAVjlDex7LEqC55KjKU7bMKx7Beww
Date: Sun, 30 Jan 2022 03:38:35 +0000
Message-ID: <BN9PR11MB5276C79D644F4DE4AF2CA3DE8C249@BN9PR11MB5276.namprd11.prod.outlook.com>
References: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
 <3576e89e-4297-aad9-9523-58d4a48f6ab8@suse.com>
In-Reply-To: <3576e89e-4297-aad9-9523-58d4a48f6ab8@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 2cfa6a63-6444-4de4-2d4b-08d9e3a1ff0a
x-ms-traffictypediagnostic: SJ0PR11MB5198:EE_
x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
x-microsoft-antispam-prvs: <SJ0PR11MB5198073E0E652ED051D832E68C249@SJ0PR11MB5198.namprd11.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: +Zk3IyUAZjFfm4tXQKXarIXtj4g9oWUDy44mLtAVK4T/yd+7pBloZu+Lb2jTnDALnMSH1zbimn6iTTcdf13Y+vqUWmf+gMgn3QmXmPTFA2kJMdMLIrP4MX8g/gM4BX6621AgxVKE0Are0whKS3CH+D5tCo9y4lMKOkOeeJ/nLz8PTXZAj7b6lro+VAffwO635rEeoOa05DGe6yxPh+VUx0K3bow8F1+czhZLKGIxu2TxyHzSCJghOElfAKM7cu4AuCy+bwxs62sB1FSd/4lwdUVwhTQWJ+8/cI55t1Jsw3Y7tQicoIhN+ghG4ZKg3geAna2XDrC0TulwcdLNH5TdhtIQT+wOefSXgJ41caiq/TX/1N4jJ5gbkxPkDZW5QdaJX1tQyXMNIbgMYthsXBMHdRS3kJlGjeHW4PdFqDosrJZXGCwZmdxZjdDiAYPkAD51QTXfz1sx5HBYHKmYy17+4HLSmDMCqYu6lSEb73yOvWdeYNKLlMe49tLfLHGXxd9VNOEMdxWPD5DMpaTJQIw/A1oHyFVFM+eFfjJRRY/doWxYfQChCQRZDV3HIec1riswZ207DLsgeteyJNg2DYu3CusZQtpd23pdFnIluQnSa2oVzvBbdd7/QfOt0bHtIYw9h/dJZAHPeRK/ueKEAqRlswK16AoLvQeO/NA1mj2e14JS+LlQH5izHgcv+IHBDJtuCSXE1owEWXRWP+mIkLIXTA==
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR11MB5276.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(52536014)(2906002)(316002)(33656002)(86362001)(7696005)(55016003)(186003)(83380400001)(54906003)(110136005)(6506007)(76116006)(8676002)(66946007)(66446008)(4326008)(64756008)(66556008)(71200400001)(38100700002)(26005)(38070700005)(7416002)(508600001)(122000001)(5660300002)(82960400001)(9686003)(66476007)(8936002);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MFQxNXdsYkZ2TnNwdDUxLzI4QjloQk85cEhtb25lQ3d1US9XMWJScjI5QUU5?=
 =?utf-8?B?NTcrazg4NkQ1NW5aOTIxbDhVOWhXMnFPTjNaTmcwYkRNd0dqTGpNbXRCaUNa?=
 =?utf-8?B?Wlk4ekZrcjFWZXJnZmoyUGxuZk93QlhmRjRHUWNlUFRTNXNCS1ViQ2ZmRS96?=
 =?utf-8?B?bkw5bVhEdW9YRGluSTh5eEQvZDk2RFB6cmNqRWZqWGNYRHY0b0Y4Qm9qM3lk?=
 =?utf-8?B?MHoxOStSM1NBZFAzWXBIbEtsaER6MjcrN3hHenRlbW42WHB6Q2Y3ejM1RlFi?=
 =?utf-8?B?Y3VKVmdYT1hzdnMxbmRkQytKNVpTVmphRUZ5Ym9VWWJ3Z2FqVEdGRDNCeDFl?=
 =?utf-8?B?SDJWY2RFc09EZ0tBQVA0Wkh4NFBmdTVyTVUxeWJZZ1pWamRGcEhOVHAwUDJD?=
 =?utf-8?B?enpvZnorRlBEQ3BldkdCTzkvOTN3SVVhWW1GU2I4R2xzdGhsVFo4U1dvTzM3?=
 =?utf-8?B?a0VOU3RTd0F0aHBMSi85WTVWL1ZIQjNDM1dTUnBCaXBFZVYrWXFUK2QzNE5K?=
 =?utf-8?B?eXV5VWhaZzBGdG43bktYeFYzNkdUbzVvNmVEM1dtVFZhV2l5L2dHU3N6RkJN?=
 =?utf-8?B?UnBxcjJ0ckxHdE9jYzJkenk0RHZ2RjRDOTFDNEVMRUJ1cnd6RW9QV1lmcnNX?=
 =?utf-8?B?T3dIaTBuNTlHN1gzdlBRelB4WVdsU2x6TWpya1h0RnQrR1hYa0s5TXJWQVJ1?=
 =?utf-8?B?ZlZwUFdINnUweS9tTy9mYkVDTTdudmdybnExK2QyYlBtOVcxaFJhSlZCa2Ru?=
 =?utf-8?B?M2o3cXpqN2V6YjBWSTNpd1I2c3RKOVMzODNKc21OR3REWW03QUdwdnI1WWs5?=
 =?utf-8?B?RUM1RHhmdzhUekprTSsvVDJlMFdzOGtrSjU4OUExMG8wUW92QWo3TFdhNjR6?=
 =?utf-8?B?VXA1QzBRTTdCVFJ4Rkw4K0FjdlFhSW1yMGg5UmJoajIxV2JRYUUwYTMxSUph?=
 =?utf-8?B?TEx1SW4zNyszNk5LWVpaSlJjN1NMamRIV1BsVEgzNXg5eHNINmZmV084N2xF?=
 =?utf-8?B?eEIzN0c2MW9HcjVTWWtWb0QvTGFxczh2Qk1nMjJNN3VGU1ZiNmF5OEdqcENt?=
 =?utf-8?B?WVMrT0VRWmVwOXdNcS9FZGovVHVSZFFpR1pxYzRGdnhDaldGUjFSQ3JlSXd1?=
 =?utf-8?B?c0s4WWIxaU5yVThhVm92cVJsNkpqeEQ2OExybmZtVmFuRGJtR3ozZnF3by9P?=
 =?utf-8?B?RnU1YndUQWZ1ckk5T1VyRkthbHRmRTU3djczVjJVWHR3N0tkaHN6d1YwdEQ2?=
 =?utf-8?B?TGh1NFVpWHg3NUNRWUJFREd0V1pRRlRzVndqaVVUakNOMFBzdXVwbHp4UFk2?=
 =?utf-8?B?MWtEbUE0YUlXRm5FbW96L3hkLzliR1M5Z3kvR1RvRC9xRHNBSmkvL0JEaTJL?=
 =?utf-8?B?MEQwWWt6RFQ4YUI1VkMyV0YxWFdKalFDbmtYb3pCQ2QyODkxV0grQ0tXTFZZ?=
 =?utf-8?B?cEdyOUpaUFo4OEFvL0swUWlubEh0dUkrYTFML3Y3bzJ2dldUZ0czVzFzV2ZQ?=
 =?utf-8?B?c3o5Wkp4K1M5SnVVUERXQUlYNi9ja2w0WHBPWTJtWU1IaUU2RWxsQUJhNFRp?=
 =?utf-8?B?R0xMdDJlU1JSNyt2dG1KdDFjemo4S2xNa0pXRWd4YVlhUVhDOXpnRlYrLzFH?=
 =?utf-8?B?YzVUMHRkS3U2bUdINVZ6Z1hTMXVGUHZmQmgralRQRlRGMlNJaEFEOUYxKzZC?=
 =?utf-8?B?c25ITVQ0NHlPTUtuQmtPS25jK1VjYlY3ZjVjVk1qZ2ZWQlE2WGJuV3l4dTNn?=
 =?utf-8?B?MTRFbEpzcHhwakpOcVdoR0R2NXhZdVZ0RS9TZitDcWdKKzExSG9aUHVZSlE2?=
 =?utf-8?B?U3FML2tQcjk3N1lJSkJtVnY3bjNtWXBoTU9hQVRyNlNYU3FIMk1yU09kbVhI?=
 =?utf-8?B?ZGUzeGE0YTd3ZlloM0ZMcldRVlhCUmhGTlQyZlVvaEUrdXYxK3ArM2RLYTh5?=
 =?utf-8?B?WHJWdzY4OS9BNFNlS3dHUVkvSzlrb2ZWZ0x5bHBreENDenIvSVQrUXFMV0tG?=
 =?utf-8?B?RTlEdU5ENlVNdjFWQVc2bCtEd2wvNXFoY1B1ZkR0eEZ2NWVtalgxOW1QSUxx?=
 =?utf-8?B?RkN0L2JrWG10MGtBQkNFYko1MHBIMkFBSTZrZ1JLY3FGNHJTU0VZbkQvY1Vn?=
 =?utf-8?B?QlNnc01NaWR2djMzeDFoZmQxU29WM2ZNM0FOUlRUWFQxb3Z1TTc4VFlYOXov?=
 =?utf-8?Q?+4i5z3jzKVoG3jU9EMkfDsI=3D?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN9PR11MB5276.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2cfa6a63-6444-4de4-2d4b-08d9e3a1ff0a
X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jan 2022 03:38:35.6951
 (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: vOGRETwZw8s7/2eKiNNTdJi7bSr2x5TeLUOPKwKxGqKYhdjrio7J59u1ce/PgEkf/eunIEt4dDFPjUSuX0ZYYg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB5198
X-OriginatorOrg: intel.com

PiBGcm9tOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+IFNlbnQ6IFR1ZXNkYXks
IEphbnVhcnkgMTEsIDIwMjIgMTI6MzQgQU0NCj4gDQo+IEhhdmluZyBhIHNlcGFyYXRlIGZsdXNo
LWFsbCBob29rIGhhcyBhbHdheXMgYmVlbiBwdXp6bGluZyBtZSBzb21lLiBXZQ0KPiB3aWxsIHdh
bnQgdG8gYmUgYWJsZSB0byBmb3JjZSBhIGZ1bGwgZmx1c2ggdmlhIGFjY3VtdWxhdGVkIGZsdXNo
IGZsYWdzDQo+IGZyb20gdGhlIG1hcC91bm1hcCBmdW5jdGlvbnMuIEludHJvZHVjZSBhIHJlc3Bl
Y3RpdmUgbmV3IGZsYWcgYW5kIGZvbGQNCj4gYWxsIGZsdXNoIGhhbmRsaW5nIHRvIHVzZSB0aGUg
c2luZ2xlIHJlbWFpbmluZyBob29rLg0KPiANCj4gTm90ZSB0aGF0IGJlY2F1c2Ugb2YgdGhlIHJl
c3BlY3RpdmUgY29tbWVudHMgaW4gU01NVSBhbmQgSVBNTVUtVk1TQQ0KPiBjb2RlLCBJJ3ZlIGZv
bGRlZCB0aGUgdHdvIHByaW9yIGhvb2sgZnVuY3Rpb25zIGludG8gb25lLiBGb3IgU01NVS12MywN
Cj4gd2hpY2ggbGFja3MgYSBjb21tZW50IHRvd2FyZHMgaW5jYXBhYmxlIGhhcmR3YXJlLCBJJ3Zl
IGxlZnQgYm90aA0KPiBmdW5jdGlvbnMgaW4gcGxhY2Ugb24gdGhlIGFzc3VtcHRpb24gdGhhdCBz
ZWxlY3RpdmUgYW5kIGZ1bGwgZmx1c2hlcw0KPiB3aWxsIGV2ZW50dWFsbHkgd2FudCBzZXBhcmF0
aW5nLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29t
Pg0KPiBSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+
DQo+IFtJUE1NVS1WTVNBIGFuZCBTTU1VLVYyXQ0KPiBSZXZpZXdlZC1ieTogT2xla3NhbmRyIFR5
c2hjaGVua28gPG9sZWtzYW5kcl90eXNoY2hlbmtvQGVwYW0uY29tPg0KPiBbU01NVXYzXQ0KPiBS
ZXZpZXdlZC1ieTogUmFodWwgU2luZ2ggPHJhaHVsLnNpbmdoQGFybS5jb20+DQo+IFtBcm1dDQo+
IEFja2VkLWJ5OiBKdWxpZW4gR3JhbGwgPGpncmFsbEBhbWF6b24uY29tPg0KDQpSZXZpZXdlZC1i
eTogS2V2aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRlbC5jb20+DQoNCj4gLS0tDQo+IFRCRDogV2hh
dCB3ZSByZWFsbHkgYXJlIGdvaW5nIHRvIG5lZWQgaXMgZm9yIHRoZSBtYXAvdW5tYXAgZnVuY3Rp
b25zIHRvDQo+ICAgICAgc3BlY2lmeSB0aGF0IGEgd2lkZXIgcmVnaW9uIG5lZWRzIGZsdXNoaW5n
IHRoYW4ganVzdCB0aGUgb25lDQo+ICAgICAgY292ZXJlZCBieSB0aGUgcHJlc2VudCBzZXQgb2Yg
KHVuKW1hcHMuIFRoaXMgbWF5IHN0aWxsIGJlIGxlc3MgdGhhbg0KPiAgICAgIGEgZnVsbCBmbHVz
aCwgYnV0IGF0IGxlYXN0IGFzIGEgZmlyc3Qgc3RlcCBpdCBzZWVtZWQgYmV0dGVyIHRvIG1lDQo+
ICAgICAgdG8ga2VlcCB0aGluZ3Mgc2ltcGxlIGFuZCBnbyB0aGUgZmx1c2gtYWxsIHJvdXRlLg0K
PiAtLS0NCj4gdjM6IFJlLWJhc2Ugb3ZlciBjaGFuZ2VzIGVhcmxpZXIgaW4gdGhlIHNlcmllcy4N
Cj4gdjI6IE5ldy4NCj4gDQo+IC0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21t
dS5oDQo+ICsrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdS5oDQo+IEBAIC0y
NTUsNyArMjU1LDYgQEAgaW50IGFtZF9pb21tdV9nZXRfcmVzZXJ2ZWRfZGV2aWNlX21lbW9yeQ0K
PiAgaW50IF9fbXVzdF9jaGVjayBhbWRfaW9tbXVfZmx1c2hfaW90bGJfcGFnZXMoc3RydWN0IGRv
bWFpbiAqZCwgZGZuX3QNCj4gZGZuLA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBwYWdlX2NvdW50LA0KPiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGZsdXNoX2ZsYWdz
KTsNCj4gLWludCBfX211c3RfY2hlY2sgYW1kX2lvbW11X2ZsdXNoX2lvdGxiX2FsbChzdHJ1Y3Qg
ZG9tYWluICpkKTsNCj4gIHZvaWQgYW1kX2lvbW11X3ByaW50X2VudHJpZXMoY29uc3Qgc3RydWN0
IGFtZF9pb21tdSAqaW9tbXUsIHVuc2lnbmVkDQo+IGludCBkZXZfaWQsDQo+ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRmbl90IGRmbik7DQo+IA0KPiAtLS0gYS94ZW4vZHJpdmVycy9w
YXNzdGhyb3VnaC9hbWQvaW9tbXVfbWFwLmMNCj4gKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91
Z2gvYW1kL2lvbW11X21hcC5jDQo+IEBAIC00NzgsMTUgKzQ3OCwxOCBAQCBpbnQgYW1kX2lvbW11
X2ZsdXNoX2lvdGxiX3BhZ2VzKHN0cnVjdCBkDQo+ICB7DQo+ICAgICAgdW5zaWduZWQgbG9uZyBk
Zm5fbCA9IGRmbl94KGRmbik7DQo+IA0KPiAtICAgIEFTU0VSVChwYWdlX2NvdW50ICYmICFkZm5f
ZXEoZGZuLCBJTlZBTElEX0RGTikpOw0KPiAtICAgIEFTU0VSVChmbHVzaF9mbGFncyk7DQo+ICsg
ICAgaWYgKCAhKGZsdXNoX2ZsYWdzICYgSU9NTVVfRkxVU0hGX2FsbCkgKQ0KPiArICAgIHsNCj4g
KyAgICAgICAgQVNTRVJUKHBhZ2VfY291bnQgJiYgIWRmbl9lcShkZm4sIElOVkFMSURfREZOKSk7
DQo+ICsgICAgICAgIEFTU0VSVChmbHVzaF9mbGFncyk7DQo+ICsgICAgfQ0KPiANCj4gICAgICAv
KiBVbmxlc3MgYSBQVEUgd2FzIG1vZGlmaWVkLCBubyBmbHVzaCBpcyByZXF1aXJlZCAqLw0KPiAg
ICAgIGlmICggIShmbHVzaF9mbGFncyAmIElPTU1VX0ZMVVNIRl9tb2RpZmllZCkgKQ0KPiAgICAg
ICAgICByZXR1cm4gMDsNCj4gDQo+IC0gICAgLyogSWYgdGhlIHJhbmdlIHdyYXBzIHRoZW4ganVz
dCBmbHVzaCBldmVyeXRoaW5nICovDQo+IC0gICAgaWYgKCBkZm5fbCArIHBhZ2VfY291bnQgPCBk
Zm5fbCApDQo+ICsgICAgLyogSWYgc28gcmVxdWVzdGVkIG9yIGlmIHRoZSByYW5nZSB3cmFwcyB0
aGVuIGp1c3QgZmx1c2ggZXZlcnl0aGluZy4gKi8NCj4gKyAgICBpZiAoIChmbHVzaF9mbGFncyAm
IElPTU1VX0ZMVVNIRl9hbGwpIHx8IGRmbl9sICsgcGFnZV9jb3VudCA8IGRmbl9sICkNCj4gICAg
ICB7DQo+ICAgICAgICAgIGFtZF9pb21tdV9mbHVzaF9hbGxfcGFnZXMoZCk7DQo+ICAgICAgICAg
IHJldHVybiAwOw0KPiBAQCAtNTExLDEzICs1MTQsNiBAQCBpbnQgYW1kX2lvbW11X2ZsdXNoX2lv
dGxiX3BhZ2VzKHN0cnVjdCBkDQo+IA0KPiAgICAgIHJldHVybiAwOw0KPiAgfQ0KPiAtDQo+IC1p
bnQgYW1kX2lvbW11X2ZsdXNoX2lvdGxiX2FsbChzdHJ1Y3QgZG9tYWluICpkKQ0KPiAtew0KPiAt
ICAgIGFtZF9pb21tdV9mbHVzaF9hbGxfcGFnZXMoZCk7DQo+IC0NCj4gLSAgICByZXR1cm4gMDsN
Cj4gLX0NCj4gDQo+ICBpbnQgYW1kX2lvbW11X3Jlc2VydmVfZG9tYWluX3VuaXR5X21hcChzdHJ1
Y3QgZG9tYWluICpkLA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3Qgc3RydWN0IGl2cnNfdW5pdHlfbWFwICptYXAsDQo+IC0tLSBhL3hlbi9kcml2ZXJzL3Bh
c3N0aHJvdWdoL2FtZC9wY2lfYW1kX2lvbW11LmMNCj4gKysrIGIveGVuL2RyaXZlcnMvcGFzc3Ro
cm91Z2gvYW1kL3BjaV9hbWRfaW9tbXUuYw0KPiBAQCAtNjQyLDcgKzY0Miw2IEBAIHN0YXRpYyBj
b25zdCBzdHJ1Y3QgaW9tbXVfb3BzIF9faW5pdGNvbnMNCj4gICAgICAubWFwX3BhZ2UgPSBhbWRf
aW9tbXVfbWFwX3BhZ2UsDQo+ICAgICAgLnVubWFwX3BhZ2UgPSBhbWRfaW9tbXVfdW5tYXBfcGFn
ZSwNCj4gICAgICAuaW90bGJfZmx1c2ggPSBhbWRfaW9tbXVfZmx1c2hfaW90bGJfcGFnZXMsDQo+
IC0gICAgLmlvdGxiX2ZsdXNoX2FsbCA9IGFtZF9pb21tdV9mbHVzaF9pb3RsYl9hbGwsDQo+ICAg
ICAgLnJlYXNzaWduX2RldmljZSA9IHJlYXNzaWduX2RldmljZSwNCj4gICAgICAuZ2V0X2Rldmlj
ZV9ncm91cF9pZCA9IGFtZF9pb21tdV9ncm91cF9pZCwNCj4gICAgICAuZW5hYmxlX3gyYXBpYyA9
IGlvdl9lbmFibGVfeHQsDQo+IC0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FybS9pcG1t
dS12bXNhLmMNCj4gKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJtL2lwbW11LXZtc2Eu
Yw0KPiBAQCAtOTMwLDEzICs5MzAsMTkgQEAgb3V0Og0KPiAgfQ0KPiANCj4gIC8qIFhlbiBJT01N
VSBvcHMgKi8NCj4gLXN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGlwbW11X2lvdGxiX2ZsdXNoX2Fs
bChzdHJ1Y3QgZG9tYWluICpkKQ0KPiArc3RhdGljIGludCBfX211c3RfY2hlY2sgaXBtbXVfaW90
bGJfZmx1c2goc3RydWN0IGRvbWFpbiAqZCwgZGZuX3QgZGZuLA0KPiArICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBwYWdlX2NvdW50LA0KPiAr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGZs
dXNoX2ZsYWdzKQ0KPiAgew0KPiAgICAgIHN0cnVjdCBpcG1tdV92bXNhX3hlbl9kb21haW4gKnhl
bl9kb21haW4gPSBkb21faW9tbXUoZCktDQo+ID5hcmNoLnByaXY7DQo+IA0KPiArICAgIEFTU0VS
VChmbHVzaF9mbGFncyk7DQo+ICsNCj4gICAgICBpZiAoICF4ZW5fZG9tYWluIHx8ICF4ZW5fZG9t
YWluLT5yb290X2RvbWFpbiApDQo+ICAgICAgICAgIHJldHVybiAwOw0KPiANCj4gKyAgICAvKiBU
aGUgaGFyZHdhcmUgZG9lc24ndCBzdXBwb3J0IHNlbGVjdGl2ZSBUTEIgZmx1c2guICovDQo+ICsN
Cj4gICAgICBzcGluX2xvY2soJnhlbl9kb21haW4tPmxvY2spOw0KPiAgICAgIGlwbW11X3RsYl9p
bnZhbGlkYXRlKHhlbl9kb21haW4tPnJvb3RfZG9tYWluKTsNCj4gICAgICBzcGluX3VubG9jaygm
eGVuX2RvbWFpbi0+bG9jayk7DQo+IEBAIC05NDQsMTYgKzk1MCw2IEBAIHN0YXRpYyBpbnQgX19t
dXN0X2NoZWNrIGlwbW11X2lvdGxiX2ZsdXMNCj4gICAgICByZXR1cm4gMDsNCj4gIH0NCj4gDQo+
IC1zdGF0aWMgaW50IF9fbXVzdF9jaGVjayBpcG1tdV9pb3RsYl9mbHVzaChzdHJ1Y3QgZG9tYWlu
ICpkLCBkZm5fdCBkZm4sDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBsb25nIHBhZ2VfY291bnQsDQo+IC0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgZmx1c2hfZmxhZ3MpDQo+IC17DQo+IC0g
ICAgQVNTRVJUKGZsdXNoX2ZsYWdzKTsNCj4gLQ0KPiAtICAgIC8qIFRoZSBoYXJkd2FyZSBkb2Vz
bid0IHN1cHBvcnQgc2VsZWN0aXZlIFRMQiBmbHVzaC4gKi8NCj4gLSAgICByZXR1cm4gaXBtbXVf
aW90bGJfZmx1c2hfYWxsKGQpOw0KPiAtfQ0KPiAtDQo+ICBzdGF0aWMgc3RydWN0IGlwbW11X3Zt
c2FfZG9tYWluICppcG1tdV9nZXRfY2FjaGVfZG9tYWluKHN0cnVjdA0KPiBkb21haW4gKmQsDQo+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHN0cnVjdCBkZXZpY2UgKmRldikNCj4gIHsNCj4gQEAgLTEzMDMsNyArMTI5OSw2IEBAIHN0YXRp
YyBjb25zdCBzdHJ1Y3QgaW9tbXVfb3BzIGlwbW11X2lvbW0NCj4gICAgICAuaHdkb21faW5pdCAg
ICAgID0gaXBtbXVfaW9tbXVfaHdkb21faW5pdCwNCj4gICAgICAudGVhcmRvd24gICAgICAgID0g
aXBtbXVfaW9tbXVfZG9tYWluX3RlYXJkb3duLA0KPiAgICAgIC5pb3RsYl9mbHVzaCAgICAgPSBp
cG1tdV9pb3RsYl9mbHVzaCwNCj4gLSAgICAuaW90bGJfZmx1c2hfYWxsID0gaXBtbXVfaW90bGJf
Zmx1c2hfYWxsLA0KPiAgICAgIC5hc3NpZ25fZGV2aWNlICAgPSBpcG1tdV9hc3NpZ25fZGV2aWNl
LA0KPiAgICAgIC5yZWFzc2lnbl9kZXZpY2UgPSBpcG1tdV9yZWFzc2lnbl9kZXZpY2UsDQo+ICAg
ICAgLm1hcF9wYWdlICAgICAgICA9IGFybV9pb21tdV9tYXBfcGFnZSwNCj4gLS0tIGEveGVuL2Ry
aXZlcnMvcGFzc3Rocm91Z2gvYXJtL3NtbXUuYw0KPiArKysgYi94ZW4vZHJpdmVycy9wYXNzdGhy
b3VnaC9hcm0vc21tdS5jDQo+IEBAIC0yNjQ5LDExICsyNjQ5LDE3IEBAIHN0YXRpYyBpbnQgZm9y
Y2Vfc3RhZ2UgPSAyOw0KPiAgICovDQo+ICBzdGF0aWMgdTMyIHBsYXRmb3JtX2ZlYXR1cmVzID0g
QVJNX1NNTVVfRkVBVF9DT0hFUkVOVF9XQUxLOw0KPiANCj4gLXN0YXRpYyBpbnQgX19tdXN0X2No
ZWNrIGFybV9zbW11X2lvdGxiX2ZsdXNoX2FsbChzdHJ1Y3QgZG9tYWluICpkKQ0KPiArc3RhdGlj
IGludCBfX211c3RfY2hlY2sgYXJtX3NtbXVfaW90bGJfZmx1c2goc3RydWN0IGRvbWFpbiAqZCwg
ZGZuX3QgZGZuLA0KPiArCQkJCQkgICAgIHVuc2lnbmVkIGxvbmcgcGFnZV9jb3VudCwNCj4gKwkJ
CQkJICAgICB1bnNpZ25lZCBpbnQgZmx1c2hfZmxhZ3MpDQo+ICB7DQo+ICAJc3RydWN0IGFybV9z
bW11X3hlbl9kb21haW4gKnNtbXVfZG9tYWluID0gZG9tX2lvbW11KGQpLQ0KPiA+YXJjaC5wcml2
Ow0KPiAgCXN0cnVjdCBpb21tdV9kb21haW4gKmNmZzsNCj4gDQo+ICsJQVNTRVJUKGZsdXNoX2Zs
YWdzKTsNCj4gKw0KPiArCS8qIEFSTSBTTU1VIHYxIGRvZXNuJ3QgaGF2ZSBmbHVzaCBieSBWTUEg
YW5kIFZNSUQgKi8NCj4gKw0KPiAgCXNwaW5fbG9jaygmc21tdV9kb21haW4tPmxvY2spOw0KPiAg
CWxpc3RfZm9yX2VhY2hfZW50cnkoY2ZnLCAmc21tdV9kb21haW4tPmNvbnRleHRzLCBsaXN0KSB7
DQo+ICAJCS8qDQo+IEBAIC0yNjcwLDE2ICsyNjc2LDYgQEAgc3RhdGljIGludCBfX211c3RfY2hl
Y2sgYXJtX3NtbXVfaW90bGJfZg0KPiAgCXJldHVybiAwOw0KPiAgfQ0KPiANCj4gLXN0YXRpYyBp
bnQgX19tdXN0X2NoZWNrIGFybV9zbW11X2lvdGxiX2ZsdXNoKHN0cnVjdCBkb21haW4gKmQsIGRm
bl90IGRmbiwNCj4gLQkJCQkJICAgICB1bnNpZ25lZCBsb25nIHBhZ2VfY291bnQsDQo+IC0JCQkJ
CSAgICAgdW5zaWduZWQgaW50IGZsdXNoX2ZsYWdzKQ0KPiAtew0KPiAtCUFTU0VSVChmbHVzaF9m
bGFncyk7DQo+IC0NCj4gLQkvKiBBUk0gU01NVSB2MSBkb2Vzbid0IGhhdmUgZmx1c2ggYnkgVk1B
IGFuZCBWTUlEICovDQo+IC0JcmV0dXJuIGFybV9zbW11X2lvdGxiX2ZsdXNoX2FsbChkKTsNCj4g
LX0NCj4gLQ0KPiAgc3RhdGljIHN0cnVjdCBpb21tdV9kb21haW4gKmFybV9zbW11X2dldF9kb21h
aW4oc3RydWN0IGRvbWFpbiAqZCwNCj4gIAkJCQkJCXN0cnVjdCBkZXZpY2UgKmRldikNCj4gIHsN
Cj4gQEAgLTI4NzksNyArMjg3NSw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW9tbXVfb3BzIGFy
bV9zbW11X2kNCj4gICAgICAuYWRkX2RldmljZSA9IGFybV9zbW11X2R0X2FkZF9kZXZpY2VfZ2Vu
ZXJpYywNCj4gICAgICAudGVhcmRvd24gPSBhcm1fc21tdV9pb21tdV9kb21haW5fdGVhcmRvd24s
DQo+ICAgICAgLmlvdGxiX2ZsdXNoID0gYXJtX3NtbXVfaW90bGJfZmx1c2gsDQo+IC0gICAgLmlv
dGxiX2ZsdXNoX2FsbCA9IGFybV9zbW11X2lvdGxiX2ZsdXNoX2FsbCwNCj4gICAgICAuYXNzaWdu
X2RldmljZSA9IGFybV9zbW11X2Fzc2lnbl9kZXYsDQo+ICAgICAgLnJlYXNzaWduX2RldmljZSA9
IGFybV9zbW11X3JlYXNzaWduX2RldiwNCj4gICAgICAubWFwX3BhZ2UgPSBhcm1faW9tbXVfbWFw
X3BhZ2UsDQo+IC0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FybS9zbW11LXYzLmMNCj4g
KysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJtL3NtbXUtdjMuYw0KPiBAQCAtMzQzMSw3
ICszNDMxLDYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpb21tdV9vcHMgYXJtX3NtbXVfaQ0KPiAg
CS5od2RvbV9pbml0CQk9IGFybV9zbW11X2lvbW11X2h3ZG9tX2luaXQsDQo+ICAJLnRlYXJkb3du
CQk9DQo+IGFybV9zbW11X2lvbW11X3hlbl9kb21haW5fdGVhcmRvd24sDQo+ICAJLmlvdGxiX2Zs
dXNoCQk9IGFybV9zbW11X2lvdGxiX2ZsdXNoLA0KPiAtCS5pb3RsYl9mbHVzaF9hbGwJPSBhcm1f
c21tdV9pb3RsYl9mbHVzaF9hbGwsDQo+ICAJLmFzc2lnbl9kZXZpY2UJCT0gYXJtX3NtbXVfYXNz
aWduX2RldiwNCj4gIAkucmVhc3NpZ25fZGV2aWNlCT0gYXJtX3NtbXVfcmVhc3NpZ25fZGV2LA0K
PiAgCS5tYXBfcGFnZQkJPSBhcm1faW9tbXVfbWFwX3BhZ2UsDQo+IC0tLSBhL3hlbi9kcml2ZXJz
L3Bhc3N0aHJvdWdoL2lvbW11LmMNCj4gKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9t
bXUuYw0KPiBAQCAtNDU1LDE1ICs0NTUsMTIgQEAgaW50IGlvbW11X2lvdGxiX2ZsdXNoX2FsbChz
dHJ1Y3QgZG9tYWluDQo+ICAgICAgY29uc3Qgc3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21f
aW9tbXUoZCk7DQo+ICAgICAgaW50IHJjOw0KPiANCj4gLSAgICBpZiAoICFpc19pb21tdV9lbmFi
bGVkKGQpIHx8ICFoZC0+cGxhdGZvcm1fb3BzLT5pb3RsYl9mbHVzaF9hbGwgfHwNCj4gKyAgICBp
ZiAoICFpc19pb21tdV9lbmFibGVkKGQpIHx8ICFoZC0+cGxhdGZvcm1fb3BzLT5pb3RsYl9mbHVz
aCB8fA0KPiAgICAgICAgICAgIWZsdXNoX2ZsYWdzICkNCj4gICAgICAgICAgcmV0dXJuIDA7DQo+
IA0KPiAtICAgIC8qDQo+IC0gICAgICogVGhlIG9wZXJhdGlvbiBkb2VzIGEgZnVsbCBmbHVzaCBz
byB3ZSBkb24ndCBuZWVkIHRvIHBhc3MgdGhlDQo+IC0gICAgICogZmx1c2hfZmxhZ3MgaW4uDQo+
IC0gICAgICovDQo+IC0gICAgcmMgPSBpb21tdV9jYWxsKGhkLT5wbGF0Zm9ybV9vcHMsIGlvdGxi
X2ZsdXNoX2FsbCwgZCk7DQo+ICsgICAgcmMgPSBpb21tdV9jYWxsKGhkLT5wbGF0Zm9ybV9vcHMs
IGlvdGxiX2ZsdXNoLCBkLCBJTlZBTElEX0RGTiwgMCwNCj4gKyAgICAgICAgICAgICAgICAgICAg
Zmx1c2hfZmxhZ3MgfCBJT01NVV9GTFVTSEZfYWxsKTsNCj4gICAgICBpZiAoIHVubGlrZWx5KHJj
KSApDQo+ICAgICAgew0KPiAgICAgICAgICBpZiAoICFkLT5pc19zaHV0dGluZ19kb3duICYmIHBy
aW50a19yYXRlbGltaXQoKSApDQo+IC0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9p
b21tdS5jDQo+ICsrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jDQo+IEBA
IC04MTQsMTggKzgxNCwyMSBAQCBzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBpb21tdV9mbHVzaF9p
b3RsDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBsb25nIHBhZ2VfY291bnQsDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgZmx1c2hfZmxhZ3MpDQo+ICB7DQo+IC0g
ICAgQVNTRVJUKHBhZ2VfY291bnQgJiYgIWRmbl9lcShkZm4sIElOVkFMSURfREZOKSk7DQo+IC0g
ICAgQVNTRVJUKGZsdXNoX2ZsYWdzKTsNCj4gKyAgICBpZiAoIGZsdXNoX2ZsYWdzICYgSU9NTVVf
RkxVU0hGX2FsbCApDQo+ICsgICAgew0KPiArICAgICAgICBkZm4gPSBJTlZBTElEX0RGTjsNCj4g
KyAgICAgICAgcGFnZV9jb3VudCA9IDA7DQo+ICsgICAgfQ0KPiArICAgIGVsc2UNCj4gKyAgICB7
DQo+ICsgICAgICAgIEFTU0VSVChwYWdlX2NvdW50ICYmICFkZm5fZXEoZGZuLCBJTlZBTElEX0RG
TikpOw0KPiArICAgICAgICBBU1NFUlQoZmx1c2hfZmxhZ3MpOw0KPiArICAgIH0NCj4gDQo+ICAg
ICAgcmV0dXJuIGlvbW11X2ZsdXNoX2lvdGxiKGQsIGRmbiwgZmx1c2hfZmxhZ3MgJiBJT01NVV9G
TFVTSEZfbW9kaWZpZWQsDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VfY291
bnQpOw0KPiAgfQ0KPiANCj4gLXN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGlvbW11X2ZsdXNoX2lv
dGxiX2FsbChzdHJ1Y3QgZG9tYWluICpkKQ0KPiAtew0KPiAtICAgIHJldHVybiBpb21tdV9mbHVz
aF9pb3RsYihkLCBJTlZBTElEX0RGTiwgMCwgMCk7DQo+IC19DQo+IC0NCj4gIHN0YXRpYyB2b2lk
IHF1ZXVlX2ZyZWVfcHQoc3RydWN0IGRvbWFpbiAqZCwgbWZuX3QgbWZuLCB1bnNpZ25lZCBpbnQg
bGV2ZWwpDQo+ICB7DQo+ICAgICAgaWYgKCBsZXZlbCA+IDEgKQ0KPiBAQCAtMjkyOCw3ICsyOTMx
LDcgQEAgc3RhdGljIGludCBfX2luaXQgaW50ZWxfaW9tbXVfcXVhcmFudGluZQ0KPiAgICAgIHNw
aW5fdW5sb2NrKCZoZC0+YXJjaC5tYXBwaW5nX2xvY2spOw0KPiANCj4gICAgICBpZiAoICFyYyAp
DQo+IC0gICAgICAgIHJjID0gaW9tbXVfZmx1c2hfaW90bGJfYWxsKGQpOw0KPiArICAgICAgICBy
YyA9IGlvbW11X2ZsdXNoX2lvdGxiKGQsIElOVkFMSURfREZOLCAwLCAwKTsNCj4gDQo+ICAgICAg
LyogUGFnZXMgbWF5IGJlIGxlYWtlZCBpbiBmYWlsdXJlIGNhc2UgKi8NCj4gICAgICByZXR1cm4g
cmM7DQo+IEBAIC0yOTYxLDcgKzI5NjQsNiBAQCBzdGF0aWMgc3RydWN0IGlvbW11X29wcyBfX2lu
aXRkYXRhIHZ0ZF9vDQo+ICAgICAgLnJlc3VtZSA9IHZ0ZF9yZXN1bWUsDQo+ICAgICAgLmNyYXNo
X3NodXRkb3duID0gdnRkX2NyYXNoX3NodXRkb3duLA0KPiAgICAgIC5pb3RsYl9mbHVzaCA9IGlv
bW11X2ZsdXNoX2lvdGxiX3BhZ2VzLA0KPiAtICAgIC5pb3RsYl9mbHVzaF9hbGwgPSBpb21tdV9m
bHVzaF9pb3RsYl9hbGwsDQo+ICAgICAgLmdldF9yZXNlcnZlZF9kZXZpY2VfbWVtb3J5ID0NCj4g
aW50ZWxfaW9tbXVfZ2V0X3Jlc2VydmVkX2RldmljZV9tZW1vcnksDQo+ICAgICAgLmR1bXBfcGFn
ZV90YWJsZXMgPSB2dGRfZHVtcF9wYWdlX3RhYmxlcywNCj4gIH07DQo+IC0tLSBhL3hlbi9pbmNs
dWRlL3hlbi9pb21tdS5oDQo+ICsrKyBiL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oDQo+IEBAIC0x
NDcsOSArMTQ3LDExIEBAIGVudW0NCj4gIHsNCj4gICAgICBfSU9NTVVfRkxVU0hGX2FkZGVkLA0K
PiAgICAgIF9JT01NVV9GTFVTSEZfbW9kaWZpZWQsDQo+ICsgICAgX0lPTU1VX0ZMVVNIRl9hbGws
DQo+ICB9Ow0KPiAgI2RlZmluZSBJT01NVV9GTFVTSEZfYWRkZWQgKDF1IDw8IF9JT01NVV9GTFVT
SEZfYWRkZWQpDQo+ICAjZGVmaW5lIElPTU1VX0ZMVVNIRl9tb2RpZmllZCAoMXUgPDwgX0lPTU1V
X0ZMVVNIRl9tb2RpZmllZCkNCj4gKyNkZWZpbmUgSU9NTVVfRkxVU0hGX2FsbCAoMXUgPDwgX0lP
TU1VX0ZMVVNIRl9hbGwpDQo+IA0KPiAgaW50IF9fbXVzdF9jaGVjayBpb21tdV9tYXAoc3RydWN0
IGRvbWFpbiAqZCwgZGZuX3QgZGZuLCBtZm5fdCBtZm4sDQo+ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBsb25nIHBhZ2VfY291bnQsIHVuc2lnbmVkIGludCBmbGFncywNCj4g
QEAgLTI4Miw3ICsyODQsNiBAQCBzdHJ1Y3QgaW9tbXVfb3BzIHsNCj4gICAgICBpbnQgX19tdXN0
X2NoZWNrICgqaW90bGJfZmx1c2gpKHN0cnVjdCBkb21haW4gKmQsIGRmbl90IGRmbiwNCj4gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgcGFnZV9jb3Vu
dCwNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBm
bHVzaF9mbGFncyk7DQo+IC0gICAgaW50IF9fbXVzdF9jaGVjayAoKmlvdGxiX2ZsdXNoX2FsbCko
c3RydWN0IGRvbWFpbiAqZCk7DQo+ICAgICAgaW50ICgqZ2V0X3Jlc2VydmVkX2RldmljZV9tZW1v
cnkpKGlvbW11X2dyZG1fdCAqLCB2b2lkICopOw0KPiAgICAgIHZvaWQgKCpkdW1wX3BhZ2VfdGFi
bGVzKShzdHJ1Y3QgZG9tYWluICpkKTsNCj4gDQoNCg==


From xen-devel-bounces@lists.xenproject.org Sun Jan 30 06:45:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 06:45:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262396.454614 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nE3xE-0003AL-FY; Sun, 30 Jan 2022 06:44:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262396.454614; Sun, 30 Jan 2022 06:44:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nE3xE-0003AE-B8; Sun, 30 Jan 2022 06:44:52 +0000
Received: by outflank-mailman (input) for mailman id 262396;
 Sun, 30 Jan 2022 06:44: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 1nE3xD-0003A4-7S; Sun, 30 Jan 2022 06:44: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 1nE3xD-0006tE-3y; Sun, 30 Jan 2022 06:44: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 1nE3xC-0003Ph-LB; Sun, 30 Jan 2022 06:44:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nE3xC-0002N6-Kl; Sun, 30 Jan 2022 06:44: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=zVS3shoThVQIx+2zoM8IQ9gwO7W96HEdZg9FY9gcQjw=; b=E7f4djtiLmOldL0B1XMqTcANTf
	kxyzq7t72tOEtFqE4H0wklrnrlb8NouVVLDaL/Cpd9AO8aSAqE+PVG7tEuuZWT5Lhgk32UrLJ4YuI
	x7DB/epSIPwTz7fM7uTsQbmIj3ohnOCpNkOzF0LhQZZwrI6i9LNuWgxXxwsusQ6bJRRc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167949-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167949: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:allowable
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-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-armhf-armhf-libvirt-qcow2: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-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-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-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=f8c7e4ede46fe63ff10000669652648aab09d112
X-Osstest-Versions-That:
    linux=169387e2aa291a4e3cb856053730fe99d6cec06f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 30 Jan 2022 06:44:50 +0000

flight 167949 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167949/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     20 guest-localmigrate/x10   fail REGR. vs. 167941

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt   16 saverestore-support-check fail blocked in 167941
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167941
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167941
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167941
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167941
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167941
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167941
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167941
 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-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-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-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                f8c7e4ede46fe63ff10000669652648aab09d112
baseline version:
 linux                169387e2aa291a4e3cb856053730fe99d6cec06f

Last test of basis   167941  2022-01-29 02:33:22 Z    1 days
Testing same since   167949  2022-01-29 19:11:13 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>
  Amelie Delaunay <amelie.delaunay@foss.st.com>
  Anshuman Khandual <anshuman.khandual@arm.com>
  Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
  Athira Rajeev <atrajeev@linux.vnet.ibm.com>
  Badhri Jagan Sridharan <badhri@google.com>
  Bartosz Golaszewski <brgl@bgdev.pl>
  Bjorn Helgaas <bhelgaas@google.com>
  Cameron Williams <cang1@live.co.uk>
  Casey Schaufler <casey@schaufler-ca.com>
  Catalin Marinas <catalin.marinas@arm.com>
  Changcheng Deng <deng.changcheng@zte.com.cn>
  Christian Brauner <brauner@kernel.org>
  Christoph Hellwig <hch@lst.de>
  Christophe Leroy <christophe.leroy@csgroup.eu>
  Dan Carpenter <dan.carpenter@oracle.com>
  Daniel Bristot de Oliveira <bristot@kernel.org>
  Daniel Starke <daniel.starke@siemens.com>
  daniel.starke@siemens.com <daniel.starke@siemens.com>
  Dylan Yudaken <dylany@fb.com>
  Erwan Le Ray <erwan.leray@foss.st.com>
  Evgenii Stepanov <eugenis@google.com>
  Frank Li <Frank.Li@nxp.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Heikki Krogerus <heikki.krogerus@linux.intel.com>
  James Morris <jmorris@namei.org>
  James Morse <james.morse@arm.com>
  Jens Axboe <axboe@kernel.dk>
  Jochen Mades <jochen@mades.net>
  John Stultz <john.stultz@linaro.org>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Corbet <corbet@lwn.net>
  Kees Cook <keescook@chromium.org>
  Laibin Qiu <qiulaibin@huawei.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linyu Yuan <quic_linyyuan@quicinc.com>
  Lukas Wunner <lukas@wunner.de>
  Maciej W. Rozycki <macro@embecosm.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Marc Zyngier <maz@kernel.org>
  Mark Brown <broonie@kernel.org>
  Masami Hiramatsu <mhiramat@kernel.org>
  Mathieu Poirier <mathieu.poirier@linaro.org>
  Maxime Bizon <mbizon@freebox.fr>
  Miaoqian Lin <linmq006@gmail.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Mike Snitzer <snitzer@redhat.com>
  Miles Chen <miles.chen@mediatek.com>
  Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
  Nicholas Piggin <npiggin@gmail.com>
  Pali Rohár <pali@kernel.org>
  Paul Menzel <pmenzel@molgen.mpg.de>
  Paul Moore <paul@paul-moore.com>
  Pavankumar Kondeti <quic_pkondeti@quicinc.com>
  Pawel Laszczak <pawell@cadence.com>
  Randy Dunlap <rdunlap@infradead.org>
  Robert Hancock <robert.hancock@calian.com>
  Sachin Sant <sachinp@linux.ibm.com>
  Sergio Paracuellos <sergio.paracuellos@gmail.com>
  Sing-Han Chen <singhanc@nvidia.com>
  Stephen Muth <smuth4@gmail.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Takahiro Itazuri <itazur@amazon.com>
  Usama Arif <usama.arif@bytedance.com>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Valentin Caron <valentin.caron@foss.st.com>
  Ville Syrjälä <ville.syrjala@linux.intel.com>
  Vincenzo Frascino <vincenzo.frascino@arm.com>
  Vivek Goyal <vgoyal@redhat.com>
  Wayne Chang <waynec@nvidia.com>
  William Breathitt Gray <vilhelm.gray@gmail.com>
  Wu Zheng <wu.zheng@intel.com>
  Xu Yang <xu.yang_2@nxp.com>
  Ye Jinhe <jinhe.ye@intel.com>
  Yu Kuai <yukuai3@huawei.com>
  Zheng Wu <wu.zheng@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   169387e2aa29..f8c7e4ede46f  f8c7e4ede46fe63ff10000669652648aab09d112 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sun Jan 30 08:42:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 08:42:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262413.454624 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nE5nB-0006XN-4E; Sun, 30 Jan 2022 08:42:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262413.454624; Sun, 30 Jan 2022 08:42:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nE5nB-0006XG-1J; Sun, 30 Jan 2022 08:42:37 +0000
Received: by outflank-mailman (input) for mailman id 262413;
 Sun, 30 Jan 2022 08:42:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KjUP=SO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1nE5nA-0006XA-3e
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 08:42:36 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9164a2a3-81a8-11ec-8f75-fffcc8bd4f1a;
 Sun, 30 Jan 2022 09:42:34 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 22B5A1F37D;
 Sun, 30 Jan 2022 08:42:33 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id CA80613638;
 Sun, 30 Jan 2022 08:42:32 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Xe2bL3hP9mF5RAAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 30 Jan 2022 08:42:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9164a2a3-81a8-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1643532153; h=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=0WD6MM0xV2jrKWDydcV9HlIP7ns73FO4UxZvrDTTYJU=;
	b=rRmJ3QBbRgkkbwG7dTYg1gB+rk+yX6d80MFs7ME83Kg8DkrH+zgO2LQg+HI1e2SnQo7N48
	u6zD5wbC4oZuhf2oXIlsZ09YuVuqd1URkcNemSz0V6UWh57oyM2cAiOBp6/7LfuZCXnPMW
	4AhPGECt5Vfmn55aBBm0ACPRfJZkkkQ=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH] gitignore: remove stale entries
Date: Sun, 30 Jan 2022 09:42:31 +0100
Message-Id: <20220130084231.18896-1-jgross@suse.com>
X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The entries referring to tools/security have become stale more than
10 years ago. Remove them.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 .gitignore | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/.gitignore b/.gitignore
index 3f9d55ba87..1f53b0320e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -252,9 +252,6 @@ tools/qemu-xen-build
 tools/xentrace/xenalyze
 tools/pygrub/build/*
 tools/python/build/*
-tools/security/secpol_tool
-tools/security/xen/*
-tools/security/xensec_tool
 tools/tests/depriv/depriv-fd-checker
 tools/tests/x86_emulator/*.bin
 tools/tests/x86_emulator/*.tmp
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Sun Jan 30 08:43:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 08:43:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262418.454636 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nE5oK-00074m-Eq; Sun, 30 Jan 2022 08:43:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262418.454636; Sun, 30 Jan 2022 08:43:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nE5oK-00074f-Bk; Sun, 30 Jan 2022 08:43:48 +0000
Received: by outflank-mailman (input) for mailman id 262418;
 Sun, 30 Jan 2022 08:43:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KjUP=SO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1nE5oJ-00074R-4p
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 08:43:47 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bc8c540a-81a8-11ec-8f75-fffcc8bd4f1a;
 Sun, 30 Jan 2022 09:43:46 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id D76C52110A;
 Sun, 30 Jan 2022 08:43:45 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 994C413638;
 Sun, 30 Jan 2022 08:43:45 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id lXooJMFP9mHCRAAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 30 Jan 2022 08:43: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: bc8c540a-81a8-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1643532225; h=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=GMxjY0q87YE+sxvdzjdenFJVo5nV371fdyG4ehYBV0M=;
	b=R3gUEnm2xdkiA5jnSa46rEyLf9lnw4Wl4EgtZ50eflOA5hDhJLWBRn/2M/tiaC4KoRHobD
	zQWga8O05XFDqM7ghtBtUtGJg/kNUwkQ2mhhQTRivGTtPXOnfC3F2fp9GFpqL2glAa7wmZ
	Ql2zmTvZpHK1DwhwB16K2YNS8z4/31A=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 0/5] tools: remove include/xen-external directory
Date: Sun, 30 Jan 2022 09:43:38 +0100
Message-Id: <20220130084343.19070-1-jgross@suse.com>
X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The tools/include/xen-external directory contains a header file from
FreeBSD used to generate Xen header files. This series is replacing the
complete directory by a single header with the same semantics.

Juergen Gross (5):
  tools/include: generate a _xen_list.h file
  tools/libs/light: replace _libxl_list.h with _xen_list.h
  tools/libs/toolcore: replace _xentoolcore_list.h with _xen_list.h
  tools/libs/evtchn: use _xen_list.h
  tools/include: remove xen-external directory

 .gitignore                                    |    1 -
 tools/include/Makefile                        |    2 +
 tools/include/_xen_list.h                     |  523 +++++++++
 tools/include/libxl.h                         |    4 +-
 tools/include/xen-external/README             |   24 -
 tools/include/xen-external/bsd-COPYRIGHT      |  126 --
 tools/include/xen-external/bsd-queue.3        | 1044 -----------------
 .../xen-external/bsd-sys-queue-h-seddery      |   74 --
 tools/include/xen-external/bsd-sys-queue.h    |  637 ----------
 tools/include/xentoolcore_internal.h          |    4 +-
 tools/libs/evtchn/minios.c                    |   20 +-
 tools/libs/light/Makefile                     |   10 +-
 tools/libs/light/libxl.c                      |   40 +-
 tools/libs/light/libxl_aoutils.c              |   20 +-
 tools/libs/light/libxl_device.c               |   27 +-
 tools/libs/light/libxl_disk.c                 |    4 +-
 tools/libs/light/libxl_domain.c               |   18 +-
 tools/libs/light/libxl_event.c                |  128 +-
 tools/libs/light/libxl_fork.c                 |   44 +-
 tools/libs/light/libxl_internal.h             |   86 +-
 tools/libs/light/libxl_qmp.c                  |   19 +-
 tools/libs/light/libxl_stream_read.c          |   20 +-
 tools/libs/toolcore/Makefile                  |    8 -
 23 files changed, 743 insertions(+), 2140 deletions(-)
 create mode 100644 tools/include/_xen_list.h
 delete mode 100644 tools/include/xen-external/README
 delete mode 100644 tools/include/xen-external/bsd-COPYRIGHT
 delete mode 100644 tools/include/xen-external/bsd-queue.3
 delete mode 100755 tools/include/xen-external/bsd-sys-queue-h-seddery
 delete mode 100644 tools/include/xen-external/bsd-sys-queue.h

-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Sun Jan 30 08:43:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 08:43:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262419.454647 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nE5oL-0007Ky-Ng; Sun, 30 Jan 2022 08:43:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262419.454647; Sun, 30 Jan 2022 08:43:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nE5oL-0007Ko-Jd; Sun, 30 Jan 2022 08:43:49 +0000
Received: by outflank-mailman (input) for mailman id 262419;
 Sun, 30 Jan 2022 08:43:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KjUP=SO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1nE5oJ-00074R-Ug
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 08:43:48 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bcffdc11-81a8-11ec-8f75-fffcc8bd4f1a;
 Sun, 30 Jan 2022 09:43:46 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 918A11F38D;
 Sun, 30 Jan 2022 08:43:46 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 52CA313AD5;
 Sun, 30 Jan 2022 08:43:46 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id UFgIE8JP9mHCRAAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 30 Jan 2022 08:43: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: bcffdc11-81a8-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1643532226; h=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=mPRyPJdmoL/IpCVfXAjgQmnKBF7umHDcVs/C1j00ZPk=;
	b=J9riLkTIfwn0L3O8g4xQgY65dfRAVHlfpCmm5VHb+VylOC0FiAflLkKx97zndMKsmKeG6U
	ktTRL4iDpExxYlutUpmqytGkhjI1aut9i9yjnpy+kjAYRVs5c4YWXZVudBbj+n5xlKGQZh
	8winziOx1G2Zc0zgRmWKW0ggLk4RAXQ=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 3/5] tools/libs/toolcore: replace _xentoolcore_list.h with _xen_list.h
Date: Sun, 30 Jan 2022 09:43:41 +0100
Message-Id: <20220130084343.19070-4-jgross@suse.com>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20220130084343.19070-1-jgross@suse.com>
References: <20220130084343.19070-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Remove generating _xentoolcore_list.h and use the common _xen_list.h
instead.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 .gitignore                           | 1 -
 tools/include/xentoolcore_internal.h | 4 ++--
 tools/libs/toolcore/Makefile         | 8 --------
 3 files changed, 2 insertions(+), 11 deletions(-)

diff --git a/.gitignore b/.gitignore
index 3f9d55ba87..afe78c787c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -227,7 +227,6 @@ tools/hotplug/NetBSD/rc.d/xencommons
 tools/hotplug/NetBSD/rc.d/xendriverdomain
 tools/include/acpi
 tools/include/_libxl*.h
-tools/include/_xentoolcore_list.h
 tools/include/xen/*
 tools/include/xen-xsm/*
 tools/include/xen-foreign/*.(c|h|size)
diff --git a/tools/include/xentoolcore_internal.h b/tools/include/xentoolcore_internal.h
index 04f5848f09..deccefd612 100644
--- a/tools/include/xentoolcore_internal.h
+++ b/tools/include/xentoolcore_internal.h
@@ -27,7 +27,7 @@
 #include <stddef.h>
 
 #include "xentoolcore.h"
-#include "_xentoolcore_list.h"
+#include "_xen_list.h"
 
 /*---------- active handle registration ----------*/
 
@@ -87,7 +87,7 @@ typedef int Xentoolcore__Restrict_Callback(Xentoolcore__Active_Handle*,
 
 struct Xentoolcore__Active_Handle {
     Xentoolcore__Restrict_Callback *restrict_callback;
-    XENTOOLCORE_LIST_ENTRY(Xentoolcore__Active_Handle) entry;
+    XEN_LIST_ENTRY(Xentoolcore__Active_Handle) entry;
 };
 
 void xentoolcore__register_active_handle(Xentoolcore__Active_Handle*);
diff --git a/tools/libs/toolcore/Makefile b/tools/libs/toolcore/Makefile
index ed4ae00694..9c013b2879 100644
--- a/tools/libs/toolcore/Makefile
+++ b/tools/libs/toolcore/Makefile
@@ -3,7 +3,6 @@ include $(XEN_ROOT)/tools/Rules.mk
 
 MAJOR	= 1
 MINOR	= 0
-AUTOINCS := $(XEN_INCLUDE)/_xentoolcore_list.h
 
 LIBHEADER := xentoolcore.h
 
@@ -12,10 +11,3 @@ SRCS-y	+= handlereg.c
 include $(XEN_ROOT)/tools/libs/libs.mk
 
 PKG_CONFIG_DESC := Central support for Xen Hypervisor userland libraries
-
-$(LIB_OBJS): $(AUTOINCS)
-$(PIC_OBJS): $(AUTOINCS)
-
-$(XEN_INCLUDE)/_xentoolcore_list.h: $(XEN_INCLUDE)/xen-external/bsd-sys-queue-h-seddery $(XEN_INCLUDE)/xen-external/bsd-sys-queue.h
-	$(PERL) $^ --prefix=xentoolcore >$(notdir $@).new
-	$(call move-if-changed,$(notdir $@).new,$@)
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Sun Jan 30 08:43:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 08:43:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262420.454653 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nE5oM-0007OM-5m; Sun, 30 Jan 2022 08:43:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262420.454653; Sun, 30 Jan 2022 08: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 1nE5oL-0007N0-Tn; Sun, 30 Jan 2022 08:43:49 +0000
Received: by outflank-mailman (input) for mailman id 262420;
 Sun, 30 Jan 2022 08:43:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KjUP=SO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1nE5oK-00074Z-Ao
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 08:43:48 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bcb0e061-81a8-11ec-8eb8-a37418f5ba1a;
 Sun, 30 Jan 2022 09:43:46 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 12A9921111;
 Sun, 30 Jan 2022 08:43:46 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id DF5D613638;
 Sun, 30 Jan 2022 08:43:45 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id sO5ENcFP9mHCRAAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 30 Jan 2022 08:43: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: bcb0e061-81a8-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1643532226; h=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=6bV18RL0T2GKHWoRfnflyE7PMZ6RneNDGw+qvu0FVnA=;
	b=thAevUYGNEiWfcSzCXUFSIgHLgoZaW26ahwWSOpbiSFZ0oH+Yf+EbAAn5FidjIMc+uldur
	PD9+IPcfGsWY1QVmK/GhlcnQ35ZmeVNEgF1/rmNcu/JDvqwcTPjEBZgSVWgPcTdCs+jtzJ
	AnF/1i6GfOv5eKWWr06vt17Byx5ewnk=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 1/5] tools/include: generate a _xen_list.h file
Date: Sun, 30 Jan 2022 09:43:39 +0100
Message-Id: <20220130084343.19070-2-jgross@suse.com>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20220130084343.19070-1-jgross@suse.com>
References: <20220130084343.19070-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Today tools/include contains two basically identical header files
generated from the same source. They just differ by the used name space
and they are being generated from different Makefiles via a perl
script.

Prepare to have only one such header by using a more generic namespace
"XEN" for _xen_list.h.

As the original header hasn't been updated in the Xen tree since its
introduction about 10 years ago, and the updates of FreeBSD side have
mostly covered BSD internal debugging aids, just don't generate the
new header during build, especially as using the current FreeBSD
version of the file would require some updates of the perl script,
which are potentially more work than just doing the needed editing by
hand. Additionally this enables to remove the not needed debugging
extensions of FreeBSD.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/include/Makefile    |   2 +
 tools/include/_xen_list.h | 523 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 525 insertions(+)
 create mode 100644 tools/include/_xen_list.h

diff --git a/tools/include/Makefile b/tools/include/Makefile
index d7b51006e0..d965987f55 100644
--- a/tools/include/Makefile
+++ b/tools/include/Makefile
@@ -70,11 +70,13 @@ install: all
 	$(INSTALL_DATA) xen/io/*.h $(DESTDIR)$(includedir)/xen/io
 	$(INSTALL_DATA) xen/sys/*.h $(DESTDIR)$(includedir)/xen/sys
 	$(INSTALL_DATA) xen/xsm/*.h $(DESTDIR)$(includedir)/xen/xsm
+	$(INSTALL_DATA) _xen_list.h $(DESTDIR)$(includedir)
 
 .PHONY: uninstall
 uninstall:
 	echo "[FIXME] uninstall headers"
 	rm -rf $(DESTDIR)$(includedir)/xen
+	rm -f $(DESTDIR)$(includedir)/_xen_list.h
 
 .PHONY: clean
 clean:
diff --git a/tools/include/_xen_list.h b/tools/include/_xen_list.h
new file mode 100644
index 0000000000..79acaf4cf3
--- /dev/null
+++ b/tools/include/_xen_list.h
@@ -0,0 +1,523 @@
+/*
+ * DO NOT EDIT THIS FILE
+ *
+ * Generated automatically by bsd-sys-queue-h-seddery to
+ *  - introduce XEN_ and XEN_ namespace prefixes
+ *  - turn "struct type" into "type" so that type arguments
+ *     to the macros are type names not struct tags
+ *  - remove the reference to sys/cdefs.h, which is not needed
+ *
+ * The purpose of this seddery is to allow the resulting file to be
+ * freely included by software which might also want to include other
+ * list macros; to make it usable when struct tags are not being used
+ * or not known; to make it more portable.
+ */
+/*-
+ * Copyright (c) 1991, 1993
+ *	The Regents of the University of California.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 4. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ *	@(#)queue.h	8.5 (Berkeley) 8/20/94
+ * $FreeBSD$
+ */
+
+#ifndef XEN__SYS_QUEUE_H_
+#define	XEN__SYS_QUEUE_H_
+
+/* #include <sys/cdefs.h> */
+
+/*
+ * This file defines four types of data structures: singly-linked lists,
+ * singly-linked tail queues, lists and tail queues.
+ *
+ * A singly-linked list is headed by a single forward pointer. The elements
+ * are singly linked for minimum space and pointer manipulation overhead at
+ * the expense of O(n) removal for arbitrary elements. New elements can be
+ * added to the list after an existing element or at the head of the list.
+ * Elements being removed from the head of the list should use the explicit
+ * macro for this purpose for optimum efficiency. A singly-linked list may
+ * only be traversed in the forward direction.  Singly-linked lists are ideal
+ * for applications with large datasets and few or no removals or for
+ * implementing a LIFO queue.
+ *
+ * A singly-linked tail queue is headed by a pair of pointers, one to the
+ * head of the list and the other to the tail of the list. The elements are
+ * singly linked for minimum space and pointer manipulation overhead at the
+ * expense of O(n) removal for arbitrary elements. New elements can be added
+ * to the list after an existing element, at the head of the list, or at the
+ * end of the list. Elements being removed from the head of the tail queue
+ * should use the explicit macro for this purpose for optimum efficiency.
+ * A singly-linked tail queue may only be traversed in the forward direction.
+ * Singly-linked tail queues are ideal for applications with large datasets
+ * and few or no removals or for implementing a FIFO queue.
+ *
+ * A list is headed by a single forward pointer (or an array of forward
+ * pointers for a hash table header). The elements are doubly linked
+ * so that an arbitrary element can be removed without a need to
+ * traverse the list. New elements can be added to the list before
+ * or after an existing element or at the head of the list. A list
+ * may only be traversed in the forward direction.
+ *
+ * A tail queue is headed by a pair of pointers, one to the head of the
+ * list and the other to the tail of the list. The elements are doubly
+ * linked so that an arbitrary element can be removed without a need to
+ * traverse the list. New elements can be added to the list before or
+ * after an existing element, at the head of the list, or at the end of
+ * the list. A tail queue may be traversed in either direction.
+ *
+ * For details on the use of these macros, see the queue(3) manual page.
+ *
+ *
+ *				XEN_SLIST	XEN_LIST	XEN_STAILQ	XEN_TAILQ
+ * _HEAD			+	+	+	+
+ * _HEAD_INITIALIZER		+	+	+	+
+ * _ENTRY			+	+	+	+
+ * _INIT			+	+	+	+
+ * _EMPTY			+	+	+	+
+ * _FIRST			+	+	+	+
+ * _NEXT			+	+	+	+
+ * _PREV			-	-	-	+
+ * _LAST			-	-	+	+
+ * _FOREACH			+	+	+	+
+ * _FOREACH_SAFE		+	+	+	+
+ * _FOREACH_REVERSE		-	-	-	+
+ * _FOREACH_REVERSE_SAFE	-	-	-	+
+ * _INSERT_HEAD			+	+	+	+
+ * _INSERT_BEFORE		-	+	-	+
+ * _INSERT_AFTER		+	+	+	+
+ * _INSERT_TAIL			-	-	+	+
+ * _CONCAT			-	-	+	+
+ * _REMOVE_AFTER		+	-	+	-
+ * _REMOVE_HEAD			+	-	+	-
+ * _REMOVE			+	+	+	+
+ * _SWAP			+	+	+	+
+ *
+ */
+
+/*
+ * Singly-linked List declarations.
+ */
+#define	XEN_SLIST_HEAD(name, type)					\
+struct name {								\
+	type *slh_first;	/* first element */			\
+}
+
+#define	XEN_SLIST_HEAD_INITIALIZER(head)				\
+	{ 0 }
+
+#define	XEN_SLIST_ENTRY(type)						\
+struct {								\
+	type *sle_next;	/* next element */				\
+}
+
+/*
+ * Singly-linked List functions.
+ */
+#define	XEN_SLIST_EMPTY(head)	((head)->slh_first == 0)
+
+#define	XEN_SLIST_FIRST(head)	((head)->slh_first)
+
+#define	XEN_SLIST_FOREACH(var, head, field)				\
+	for ((var) = XEN_SLIST_FIRST((head));				\
+	    (var);							\
+	    (var) = XEN_SLIST_NEXT((var), field))
+
+#define	XEN_SLIST_FOREACH_SAFE(var, head, field, tvar)			\
+	for ((var) = XEN_SLIST_FIRST((head));				\
+	    (var) && ((tvar) = XEN_SLIST_NEXT((var), field), 1);	\
+	    (var) = (tvar))
+
+#define	XEN_SLIST_FOREACH_PREVPTR(var, varp, head, field)		\
+	for ((varp) = &XEN_SLIST_FIRST((head));				\
+	    ((var) = *(varp)) != 0;					\
+	    (varp) = &XEN_SLIST_NEXT((var), field))
+
+#define	XEN_SLIST_INIT(head) do {					\
+	XEN_SLIST_FIRST((head)) = 0;					\
+} while (0)
+
+#define	XEN_SLIST_INSERT_AFTER(slistelm, elm, field) do {		\
+	XEN_SLIST_NEXT((elm), field) = XEN_SLIST_NEXT((slistelm), field);\
+	XEN_SLIST_NEXT((slistelm), field) = (elm);			\
+} while (0)
+
+#define	XEN_SLIST_INSERT_HEAD(head, elm, field) do {			\
+	XEN_SLIST_NEXT((elm), field) = XEN_SLIST_FIRST((head));		\
+	XEN_SLIST_FIRST((head)) = (elm);				\
+} while (0)
+
+#define	XEN_SLIST_NEXT(elm, field)	((elm)->field.sle_next)
+
+#define	XEN_SLIST_REMOVE(head, elm, type, field) do {			\
+	if (XEN_SLIST_FIRST((head)) == (elm)) {				\
+		XEN_SLIST_REMOVE_HEAD((head), field);			\
+	}								\
+	else {								\
+		type *curelm = XEN_SLIST_FIRST((head));			\
+		while (XEN_SLIST_NEXT(curelm, field) != (elm))		\
+			curelm = XEN_SLIST_NEXT(curelm, field);		\
+		XEN_SLIST_REMOVE_AFTER(curelm, field);			\
+	}								\
+} while (0)
+
+#define XEN_SLIST_REMOVE_AFTER(elm, field) do {				\
+	XEN_SLIST_NEXT(elm, field) =					\
+	    XEN_SLIST_NEXT(XEN_SLIST_NEXT(elm, field), field);		\
+} while (0)
+
+#define	XEN_SLIST_REMOVE_HEAD(head, field) do {				\
+	XEN_SLIST_FIRST((head)) = XEN_SLIST_NEXT(XEN_SLIST_FIRST((head)), field);\
+} while (0)
+
+#define XEN_SLIST_SWAP(head1, head2, type) do {				\
+	type *swap_first = XEN_SLIST_FIRST(head1);			\
+	XEN_SLIST_FIRST(head1) = XEN_SLIST_FIRST(head2);		\
+	XEN_SLIST_FIRST(head2) = swap_first;				\
+} while (0)
+
+/*
+ * Singly-linked Tail queue declarations.
+ */
+#define	XEN_STAILQ_HEAD(name, type)					\
+struct name {								\
+	type *stqh_first;/* first element */				\
+	type **stqh_last;/* addr of last next element */		\
+}
+
+#define	XEN_STAILQ_HEAD_INITIALIZER(head)				\
+	{ 0, &(head).stqh_first }
+
+#define	XEN_STAILQ_ENTRY(type)						\
+struct {								\
+	type *stqe_next;	/* next element */			\
+}
+
+/*
+ * Singly-linked Tail queue functions.
+ */
+#define	XEN_STAILQ_CONCAT(head1, head2) do {				\
+	if (!XEN_STAILQ_EMPTY((head2))) {				\
+		*(head1)->stqh_last = (head2)->stqh_first;		\
+		(head1)->stqh_last = (head2)->stqh_last;		\
+		XEN_STAILQ_INIT((head2));				\
+	}								\
+} while (0)
+
+#define	XEN_STAILQ_EMPTY(head)	((head)->stqh_first == 0)
+
+#define	XEN_STAILQ_FIRST(head)	((head)->stqh_first)
+
+#define	XEN_STAILQ_FOREACH(var, head, field)				\
+	for((var) = XEN_STAILQ_FIRST((head));				\
+	   (var);							\
+	   (var) = XEN_STAILQ_NEXT((var), field))
+
+
+#define	XEN_STAILQ_FOREACH_SAFE(var, head, field, tvar)			\
+	for ((var) = XEN_STAILQ_FIRST((head));				\
+	    (var) && ((tvar) = XEN_STAILQ_NEXT((var), field), 1);	\
+	    (var) = (tvar))
+
+#define	XEN_STAILQ_INIT(head) do {					\
+	XEN_STAILQ_FIRST((head)) = 0;					\
+	(head)->stqh_last = &XEN_STAILQ_FIRST((head));			\
+} while (0)
+
+#define	XEN_STAILQ_INSERT_AFTER(head, tqelm, elm, field) do {		\
+	if ((XEN_STAILQ_NEXT((elm), field) = XEN_STAILQ_NEXT((tqelm), field)) == 0)\
+		(head)->stqh_last = &XEN_STAILQ_NEXT((elm), field);	\
+	XEN_STAILQ_NEXT((tqelm), field) = (elm);			\
+} while (0)
+
+#define	XEN_STAILQ_INSERT_HEAD(head, elm, field) do {			\
+	if ((XEN_STAILQ_NEXT((elm), field) = XEN_STAILQ_FIRST((head))) == 0)\
+		(head)->stqh_last = &XEN_STAILQ_NEXT((elm), field);	\
+	XEN_STAILQ_FIRST((head)) = (elm);				\
+} while (0)
+
+#define	XEN_STAILQ_INSERT_TAIL(head, elm, field) do {			\
+	XEN_STAILQ_NEXT((elm), field) = 0;				\
+	*(head)->stqh_last = (elm);					\
+	(head)->stqh_last = &XEN_STAILQ_NEXT((elm), field);		\
+} while (0)
+
+#define	XEN_STAILQ_LAST(head, type, field)				\
+	(XEN_STAILQ_EMPTY((head)) ?					\
+		0 :							\
+	        ((type *)(void *)					\
+		((char *)((head)->stqh_last) - offsetof(type, field))))
+
+#define	XEN_STAILQ_NEXT(elm, field)	((elm)->field.stqe_next)
+
+#define	XEN_STAILQ_REMOVE(head, elm, type, field) do {			\
+	if (XEN_STAILQ_FIRST((head)) == (elm)) {			\
+		XEN_STAILQ_REMOVE_HEAD((head), field);			\
+	}								\
+	else {								\
+		type *curelm = XEN_STAILQ_FIRST((head));		\
+		while (XEN_STAILQ_NEXT(curelm, field) != (elm))		\
+			curelm = XEN_STAILQ_NEXT(curelm, field);	\
+		XEN_STAILQ_REMOVE_AFTER(head, curelm, field);		\
+	}								\
+} while (0)
+
+#define XEN_STAILQ_REMOVE_AFTER(head, elm, field) do {			\
+	if ((XEN_STAILQ_NEXT(elm, field) =				\
+	     XEN_STAILQ_NEXT(XEN_STAILQ_NEXT(elm, field), field)) == 0)	\
+		(head)->stqh_last = &XEN_STAILQ_NEXT((elm), field);	\
+} while (0)
+
+#define	XEN_STAILQ_REMOVE_HEAD(head, field) do {			\
+	if ((XEN_STAILQ_FIRST((head)) =					\
+	     XEN_STAILQ_NEXT(XEN_STAILQ_FIRST((head)), field)) == 0)	\
+		(head)->stqh_last = &XEN_STAILQ_FIRST((head));		\
+} while (0)
+
+#define XEN_STAILQ_SWAP(head1, head2, type) do {			\
+	type *swap_first = XEN_STAILQ_FIRST(head1);			\
+	type **swap_last = (head1)->stqh_last;				\
+	XEN_STAILQ_FIRST(head1) = XEN_STAILQ_FIRST(head2);		\
+	(head1)->stqh_last = (head2)->stqh_last;			\
+	XEN_STAILQ_FIRST(head2) = swap_first;				\
+	(head2)->stqh_last = swap_last;					\
+	if (XEN_STAILQ_EMPTY(head1))					\
+		(head1)->stqh_last = &XEN_STAILQ_FIRST(head1);		\
+	if (XEN_STAILQ_EMPTY(head2))					\
+		(head2)->stqh_last = &XEN_STAILQ_FIRST(head2);		\
+} while (0)
+
+
+/*
+ * List declarations.
+ */
+#define	XEN_LIST_HEAD(name, type)					\
+struct name {								\
+	type *lh_first;	/* first element */				\
+}
+
+#define	XEN_LIST_HEAD_INITIALIZER(head)					\
+	{ 0 }
+
+#define	XEN_LIST_ENTRY(type)						\
+struct {								\
+	type *le_next;	/* next element */				\
+	type **le_prev;	/* address of previous next element */		\
+}
+
+/*
+ * List functions.
+ */
+
+#define	XEN_LIST_EMPTY(head)	((head)->lh_first == 0)
+
+#define	XEN_LIST_FIRST(head)	((head)->lh_first)
+
+#define	XEN_LIST_FOREACH(var, head, field)				\
+	for ((var) = XEN_LIST_FIRST((head));				\
+	    (var);							\
+	    (var) = XEN_LIST_NEXT((var), field))
+
+#define	XEN_LIST_FOREACH_SAFE(var, head, field, tvar)			\
+	for ((var) = XEN_LIST_FIRST((head));				\
+	    (var) && ((tvar) = XEN_LIST_NEXT((var), field), 1);		\
+	    (var) = (tvar))
+
+#define	XEN_LIST_INIT(head) do {					\
+	XEN_LIST_FIRST((head)) = 0;					\
+} while (0)
+
+#define	XEN_LIST_INSERT_AFTER(listelm, elm, field) do {			\
+	if ((XEN_LIST_NEXT((elm), field) = XEN_LIST_NEXT((listelm), field)) != 0)\
+		XEN_LIST_NEXT((listelm), field)->field.le_prev =	\
+		    &XEN_LIST_NEXT((elm), field);			\
+	XEN_LIST_NEXT((listelm), field) = (elm);			\
+	(elm)->field.le_prev = &XEN_LIST_NEXT((listelm), field);	\
+} while (0)
+
+#define	XEN_LIST_INSERT_BEFORE(listelm, elm, field) do {		\
+	(elm)->field.le_prev = (listelm)->field.le_prev;		\
+	XEN_LIST_NEXT((elm), field) = (listelm);			\
+	*(listelm)->field.le_prev = (elm);				\
+	(listelm)->field.le_prev = &XEN_LIST_NEXT((elm), field);	\
+} while (0)
+
+#define	XEN_LIST_INSERT_HEAD(head, elm, field) do {			\
+	if ((XEN_LIST_NEXT((elm), field) = XEN_LIST_FIRST((head))) != 0)\
+		XEN_LIST_FIRST((head))->field.le_prev = &XEN_LIST_NEXT((elm), field);\
+	XEN_LIST_FIRST((head)) = (elm);					\
+	(elm)->field.le_prev = &XEN_LIST_FIRST((head));			\
+} while (0)
+
+#define	XEN_LIST_NEXT(elm, field)	((elm)->field.le_next)
+
+#define	XEN_LIST_REMOVE(elm, field) do {				\
+	if (XEN_LIST_NEXT((elm), field) != 0)				\
+		XEN_LIST_NEXT((elm), field)->field.le_prev =		\
+		    (elm)->field.le_prev;				\
+	*(elm)->field.le_prev = XEN_LIST_NEXT((elm), field);		\
+} while (0)
+
+#define XEN_LIST_SWAP(head1, head2, type, field) do {			\
+	type *swap_tmp = XEN_LIST_FIRST((head1));			\
+	XEN_LIST_FIRST((head1)) = XEN_LIST_FIRST((head2));		\
+	XEN_LIST_FIRST((head2)) = swap_tmp;				\
+	if ((swap_tmp = XEN_LIST_FIRST((head1))) != 0)			\
+		swap_tmp->field.le_prev = &XEN_LIST_FIRST((head1));	\
+	if ((swap_tmp = XEN_LIST_FIRST((head2))) != 0)			\
+		swap_tmp->field.le_prev = &XEN_LIST_FIRST((head2));	\
+} while (0)
+
+/*
+ * Tail queue declarations.
+ */
+#define	XEN_TAILQ_HEAD(name, type)					\
+struct name {								\
+	type *tqh_first;	/* first element */			\
+	type **tqh_last;	/* addr of last next element */		\
+}
+
+#define	XEN_TAILQ_HEAD_INITIALIZER(head)				\
+	{ 0, &(head).tqh_first }
+
+#define	XEN_TAILQ_ENTRY(type)						\
+struct {								\
+	type *tqe_next;	/* next element */				\
+	type **tqe_prev;	/* address of previous next element */	\
+}
+
+/*
+ * Tail queue functions.
+ */
+
+#define	XEN_TAILQ_CONCAT(head1, head2, field) do {			\
+	if (!XEN_TAILQ_EMPTY(head2)) {					\
+		*(head1)->tqh_last = (head2)->tqh_first;		\
+		(head2)->tqh_first->field.tqe_prev = (head1)->tqh_last;	\
+		(head1)->tqh_last = (head2)->tqh_last;			\
+		XEN_TAILQ_INIT((head2));				\
+	}								\
+} while (0)
+
+#define	XEN_TAILQ_EMPTY(head)	((head)->tqh_first == 0)
+
+#define	XEN_TAILQ_FIRST(head)	((head)->tqh_first)
+
+#define	XEN_TAILQ_FOREACH(var, head, field)				\
+	for ((var) = XEN_TAILQ_FIRST((head));				\
+	    (var);							\
+	    (var) = XEN_TAILQ_NEXT((var), field))
+
+#define	XEN_TAILQ_FOREACH_SAFE(var, head, field, tvar)			\
+	for ((var) = XEN_TAILQ_FIRST((head));				\
+	    (var) && ((tvar) = XEN_TAILQ_NEXT((var), field), 1);	\
+	    (var) = (tvar))
+
+#define	XEN_TAILQ_FOREACH_REVERSE(var, head, headname, field)		\
+	for ((var) = XEN_TAILQ_LAST((head), headname);			\
+	    (var);							\
+	    (var) = XEN_TAILQ_PREV((var), headname, field))
+
+#define	XEN_TAILQ_FOREACH_REVERSE_SAFE(var, head, headname, field, tvar)	\
+	for ((var) = XEN_TAILQ_LAST((head), headname);			\
+	    (var) && ((tvar) = XEN_TAILQ_PREV((var), headname, field), 1);\
+	    (var) = (tvar))
+
+#define	XEN_TAILQ_INIT(head) do {					\
+	XEN_TAILQ_FIRST((head)) = 0;					\
+	(head)->tqh_last = &XEN_TAILQ_FIRST((head));			\
+} while (0)
+
+#define	XEN_TAILQ_INSERT_AFTER(head, listelm, elm, field) do {		\
+	if ((XEN_TAILQ_NEXT((elm), field) = XEN_TAILQ_NEXT((listelm), field)) != 0)\
+		XEN_TAILQ_NEXT((elm), field)->field.tqe_prev =		\
+		    &XEN_TAILQ_NEXT((elm), field);			\
+	else {								\
+		(head)->tqh_last = &XEN_TAILQ_NEXT((elm), field);	\
+	}								\
+	XEN_TAILQ_NEXT((listelm), field) = (elm);			\
+	(elm)->field.tqe_prev = &XEN_TAILQ_NEXT((listelm), field);	\
+} while (0)
+
+#define	XEN_TAILQ_INSERT_BEFORE(listelm, elm, field) do {		\
+	(elm)->field.tqe_prev = (listelm)->field.tqe_prev;		\
+	XEN_TAILQ_NEXT((elm), field) = (listelm);			\
+	*(listelm)->field.tqe_prev = (elm);				\
+	(listelm)->field.tqe_prev = &XEN_TAILQ_NEXT((elm), field);	\
+} while (0)
+
+#define	XEN_TAILQ_INSERT_HEAD(head, elm, field) do {			\
+	if ((XEN_TAILQ_NEXT((elm), field) = XEN_TAILQ_FIRST((head))) != 0)\
+		XEN_TAILQ_FIRST((head))->field.tqe_prev =		\
+		    &XEN_TAILQ_NEXT((elm), field);			\
+	else								\
+		(head)->tqh_last = &XEN_TAILQ_NEXT((elm), field);	\
+	XEN_TAILQ_FIRST((head)) = (elm);				\
+	(elm)->field.tqe_prev = &XEN_TAILQ_FIRST((head));		\
+} while (0)
+
+#define	XEN_TAILQ_INSERT_TAIL(head, elm, field) do {			\
+	XEN_TAILQ_NEXT((elm), field) = 0;				\
+	(elm)->field.tqe_prev = (head)->tqh_last;			\
+	*(head)->tqh_last = (elm);					\
+	(head)->tqh_last = &XEN_TAILQ_NEXT((elm), field);		\
+} while (0)
+
+#define	XEN_TAILQ_LAST(head, headname)					\
+	(*(((struct headname *)((head)->tqh_last))->tqh_last))
+
+#define	XEN_TAILQ_NEXT(elm, field) ((elm)->field.tqe_next)
+
+#define	XEN_TAILQ_PREV(elm, headname, field)				\
+	(*(((struct headname *)((elm)->field.tqe_prev))->tqh_last))
+
+#define	XEN_TAILQ_REMOVE(head, elm, field) do {				\
+	if ((XEN_TAILQ_NEXT((elm), field)) != 0)			\
+		XEN_TAILQ_NEXT((elm), field)->field.tqe_prev =		\
+		    (elm)->field.tqe_prev;				\
+	else {								\
+		(head)->tqh_last = (elm)->field.tqe_prev;		\
+	}								\
+	*(elm)->field.tqe_prev = XEN_TAILQ_NEXT((elm), field);		\
+} while (0)
+
+#define XEN_TAILQ_SWAP(head1, head2, type, field) do {			\
+	type *swap_first = (head1)->tqh_first;				\
+	type **swap_last = (head1)->tqh_last;				\
+	(head1)->tqh_first = (head2)->tqh_first;			\
+	(head1)->tqh_last = (head2)->tqh_last;				\
+	(head2)->tqh_first = swap_first;				\
+	(head2)->tqh_last = swap_last;					\
+	if ((swap_first = (head1)->tqh_first) != 0)			\
+		swap_first->field.tqe_prev = &(head1)->tqh_first;	\
+	else								\
+		(head1)->tqh_last = &(head1)->tqh_first;		\
+	if ((swap_first = (head2)->tqh_first) != 0)			\
+		swap_first->field.tqe_prev = &(head2)->tqh_first;	\
+	else								\
+		(head2)->tqh_last = &(head2)->tqh_first;		\
+} while (0)
+
+#endif /* !XEN__SYS_QUEUE_H_ */
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Sun Jan 30 08:43:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 08:43:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262421.454658 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nE5oM-0007Sl-FR; Sun, 30 Jan 2022 08:43:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262421.454658; Sun, 30 Jan 2022 08: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 1nE5oM-0007Ru-6v; Sun, 30 Jan 2022 08:43:50 +0000
Received: by outflank-mailman (input) for mailman id 262421;
 Sun, 30 Jan 2022 08:43:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KjUP=SO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1nE5oK-00074R-Uw
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 08:43:49 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bd142d6e-81a8-11ec-8f75-fffcc8bd4f1a;
 Sun, 30 Jan 2022 09:43:47 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id BB1E821112;
 Sun, 30 Jan 2022 08:43:46 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 96A0513638;
 Sun, 30 Jan 2022 08:43:46 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id OOaLI8JP9mHCRAAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 30 Jan 2022 08:43: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: bd142d6e-81a8-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1643532226; h=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=YFPXGko/iSk3OMZLQ303tNgEDkqNGWgFH9pl53U/bC8=;
	b=mU9vHHrKkhT+X3QYOqxzAmlK6+Dzik8Pf1g082/NE7MaDLNnIxE0dxkb6qRb9V2JRmuF+z
	tLzK8E9SNKh5TTVDrw7rZVt8YG7u81n3EZ/k1RHCep95a3vO+Wn1hRU5PtyFo2TUfYgAd2
	AigMfzsHEIwELAFQkqCo+8x8xWGSKeI=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 4/5] tools/libs/evtchn: use _xen_list.h
Date: Sun, 30 Jan 2022 09:43:42 +0100
Message-Id: <20220130084343.19070-5-jgross@suse.com>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20220130084343.19070-1-jgross@suse.com>
References: <20220130084343.19070-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Instead of including xen-external/bsd-sys-queue.h use the header
_xen_list.h in minios.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/libs/evtchn/minios.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/tools/libs/evtchn/minios.c b/tools/libs/evtchn/minios.c
index 30f98bc7e4..65cfccfd09 100644
--- a/tools/libs/evtchn/minios.c
+++ b/tools/libs/evtchn/minios.c
@@ -20,7 +20,7 @@
  * Split off from xc_minios.c
  */
 
-#include "xen-external/bsd-sys-queue.h"
+#include "_xen_list.h"
 #include <mini-os/types.h>
 #include <mini-os/os.h>
 #include <mini-os/lib.h>
@@ -38,10 +38,10 @@
 
 #include "private.h"
 
-LIST_HEAD(port_list, port_info);
+XEN_LIST_HEAD(port_list, struct port_info);
 
 struct port_info {
-    LIST_ENTRY(port_info) list;
+    XEN_LIST_ENTRY(struct port_info) list;
     evtchn_port_t port;
     bool pending;
     bool bound;
@@ -62,7 +62,7 @@ static struct port_info *port_alloc(xenevtchn_handle *xce)
     port_info->port = -1;
     port_info->bound = false;
 
-    LIST_INSERT_HEAD(port_list, port_info, list);
+    XEN_LIST_INSERT_HEAD(port_list, port_info, list);
 
     return port_info;
 }
@@ -72,7 +72,7 @@ static void port_dealloc(struct port_info *port_info)
     if ( port_info->bound )
         unbind_evtchn(port_info->port);
 
-    LIST_REMOVE(port_info, list);
+    XEN_LIST_REMOVE(port_info, list);
     free(port_info);
 }
 
@@ -81,7 +81,7 @@ static int evtchn_close_fd(struct file *file)
     struct port_info *port_info, *tmp;
     struct port_list *port_list = file->dev;
 
-    LIST_FOREACH_SAFE(port_info, port_list, list, tmp)
+    XEN_LIST_FOREACH_SAFE(port_info, port_list, list, tmp)
         port_dealloc(port_info);
     free(port_list);
 
@@ -126,7 +126,7 @@ int osdep_evtchn_open(xenevtchn_handle *xce, unsigned int flags)
     }
 
     file->dev = list;
-    LIST_INIT(list);
+    XEN_LIST_INIT(list);
     xce->fd = fd;
     printf("evtchn_open() -> %d\n", fd);
 
@@ -173,7 +173,7 @@ static void evtchn_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
     assert(file);
     port_list = file->dev;
     mask_evtchn(port);
-    LIST_FOREACH(port_info, port_list, list)
+    XEN_LIST_FOREACH(port_info, port_list, list)
     {
         if ( port_info->port == port )
             goto found;
@@ -257,7 +257,7 @@ int xenevtchn_unbind(xenevtchn_handle *xce, evtchn_port_t port)
     struct port_info *port_info;
     struct port_list *port_list = file->dev;
 
-    LIST_FOREACH(port_info, port_list, list)
+    XEN_LIST_FOREACH(port_info, port_list, list)
     {
         if ( port_info->port == port )
         {
@@ -314,7 +314,7 @@ xenevtchn_port_or_error_t xenevtchn_pending(xenevtchn_handle *xce)
 
     file->read = false;
 
-    LIST_FOREACH(port_info, port_list, list)
+    XEN_LIST_FOREACH(port_info, port_list, list)
     {
         if ( port_info->port != -1 && port_info->pending )
         {
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Sun Jan 30 08:43:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 08:43:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262422.454677 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nE5oO-00083V-6X; Sun, 30 Jan 2022 08:43:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262422.454677; Sun, 30 Jan 2022 08: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 1nE5oN-000816-Ux; Sun, 30 Jan 2022 08:43:51 +0000
Received: by outflank-mailman (input) for mailman id 262422;
 Sun, 30 Jan 2022 08:43:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KjUP=SO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1nE5oL-00074R-VI
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 08:43:50 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bcd290ae-81a8-11ec-8f75-fffcc8bd4f1a;
 Sun, 30 Jan 2022 09:43:46 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 4DF5C1F386;
 Sun, 30 Jan 2022 08:43:46 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 1D3A313638;
 Sun, 30 Jan 2022 08:43:46 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id OLrzBcJP9mHCRAAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 30 Jan 2022 08:43: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: bcd290ae-81a8-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1643532226; h=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=7NsXbl+G+bNwZAShVDJ1ebC2864H4dtbeiTxy7+DMTE=;
	b=M0xn9QDtsYlakD0p2lEmmxI47tuct3zwDBu6e9ygulzbvydugO3JJddM8RHE/dV/gB7FI5
	2keZF+uBi7f+d+yCpkOkFwoggymwNREGIhZrhkgAYVjmF8DHwVaAv25Taq0xhbd3gEBWMj
	1RUM+o1OU7Wp86maSSQJt3YzB8N7RAY=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 2/5] tools/libs/light: replace _libxl_list.h with _xen_list.h
Date: Sun, 30 Jan 2022 09:43:40 +0100
Message-Id: <20220130084343.19070-3-jgross@suse.com>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20220130084343.19070-1-jgross@suse.com>
References: <20220130084343.19070-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Remove generating _libxl_list.h and use the common _xen_list.h instead.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/include/libxl.h                |   4 +-
 tools/libs/light/Makefile            |  10 +--
 tools/libs/light/libxl.c             |  40 ++++-----
 tools/libs/light/libxl_aoutils.c     |  20 ++---
 tools/libs/light/libxl_device.c      |  27 +++---
 tools/libs/light/libxl_disk.c        |   4 +-
 tools/libs/light/libxl_domain.c      |  18 ++--
 tools/libs/light/libxl_event.c       | 128 +++++++++++++--------------
 tools/libs/light/libxl_fork.c        |  44 ++++-----
 tools/libs/light/libxl_internal.h    |  86 +++++++++---------
 tools/libs/light/libxl_qmp.c         |  19 ++--
 tools/libs/light/libxl_stream_read.c |  20 ++---
 12 files changed, 206 insertions(+), 214 deletions(-)

diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index 2bbbd21f0b..51a9b6cfac 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -747,7 +747,7 @@
 typedef struct libxl__ctx libxl_ctx;
 
 #include <libxl_uuid.h>
-#include <_libxl_list.h>
+#include <_xen_list.h>
 
 /* API compatibility. */
 #ifdef LIBXL_API_VERSION
@@ -1448,7 +1448,7 @@ typedef struct {
 } libxl_enum_string_table;
 
 struct libxl_event;
-typedef LIBXL_TAILQ_ENTRY(struct libxl_event) libxl_ev_link;
+typedef XEN_TAILQ_ENTRY(struct libxl_event) libxl_ev_link;
 
 /*
  * A boolean variable with an explicit default state.
diff --git a/tools/libs/light/Makefile b/tools/libs/light/Makefile
index be32d95d39..5642955672 100644
--- a/tools/libs/light/Makefile
+++ b/tools/libs/light/Makefile
@@ -153,14 +153,14 @@ LIBXL_TEST_OBJS += $(foreach t, $(LIBXL_TESTS_INSIDE),libxl_test_$t.opic)
 TEST_PROG_OBJS += $(foreach t, $(LIBXL_TESTS_PROGS),test_$t.o) test_common.o
 TEST_PROGS += $(foreach t, $(LIBXL_TESTS_PROGS),test_$t)
 
-AUTOINCS = $(XEN_INCLUDE)/_libxl_list.h _libxl_save_msgs_callout.h _libxl_save_msgs_helper.h
+AUTOINCS = _libxl_save_msgs_callout.h _libxl_save_msgs_helper.h
 AUTOSRCS = _libxl_save_msgs_callout.c _libxl_save_msgs_helper.c
 
 CLIENTS = testidl libxl-save-helper
 
 SAVE_HELPER_OBJS = libxl_save_helper.o _libxl_save_msgs_helper.o
 
-LIBHEADER := libxl.h libxl_event.h libxl_json.h _libxl_types.h _libxl_types_json.h _libxl_list.h libxl_utils.h libxl_uuid.h
+LIBHEADER := libxl.h libxl_event.h libxl_json.h _libxl_types.h _libxl_types_json.h libxl_utils.h libxl_uuid.h
 
 NO_HEADERS_CHK := y
 
@@ -201,17 +201,13 @@ _libxl.api-for-check: $(XEN_INCLUDE)/libxl.h $(AUTOINCS)
 		>$@.new
 	mv -f $@.new $@
 
-$(XEN_INCLUDE)/_libxl_list.h: $(XEN_INCLUDE)/xen-external/bsd-sys-queue-h-seddery $(XEN_INCLUDE)/xen-external/bsd-sys-queue.h
-	$(PERL) $^ --prefix=libxl >$(notdir $@).new
-	$(call move-if-changed,$(notdir $@).new,$@)
-
 _libxl_save_msgs_helper.c _libxl_save_msgs_callout.c \
 _libxl_save_msgs_helper.h _libxl_save_msgs_callout.h: \
 		libxl_save_msgs_gen.pl
 	$(PERL) -w $< $@ >$@.new
 	$(call move-if-changed,$@.new,$@)
 
-$(XEN_INCLUDE)/libxl.h: $(XEN_INCLUDE)/_libxl_types.h $(XEN_INCLUDE)/_libxl_list.h
+$(XEN_INCLUDE)/libxl.h: $(XEN_INCLUDE)/_libxl_types.h
 $(XEN_INCLUDE)/libxl_json.h: $(XEN_INCLUDE)/_libxl_types_json.h
 libxl_internal.h: _libxl_types_internal.h _libxl_types_private.h _libxl_types_internal_private.h
 libxl_internal_json.h: _libxl_types_internal_json.h
diff --git a/tools/libs/light/libxl.c b/tools/libs/light/libxl.c
index 667ae6409b..a0bf7d186f 100644
--- a/tools/libs/light/libxl.c
+++ b/tools/libs/light/libxl.c
@@ -41,29 +41,29 @@ int libxl_ctx_alloc(libxl_ctx **pctx, int version,
     ctx->nogc_gc.alloc_maxsize = -1;
     ctx->nogc_gc.owner = ctx;
 
-    LIBXL_TAILQ_INIT(&ctx->occurred);
+    XEN_TAILQ_INIT(&ctx->occurred);
 
     ctx->osevent_hooks = 0;
 
     ctx->poller_app = 0;
-    LIBXL_LIST_INIT(&ctx->pollers_event);
-    LIBXL_LIST_INIT(&ctx->pollers_idle);
-    LIBXL_LIST_INIT(&ctx->pollers_active);
+    XEN_LIST_INIT(&ctx->pollers_event);
+    XEN_LIST_INIT(&ctx->pollers_idle);
+    XEN_LIST_INIT(&ctx->pollers_active);
 
-    LIBXL_LIST_INIT(&ctx->efds);
-    LIBXL_TAILQ_INIT(&ctx->etimes);
+    XEN_LIST_INIT(&ctx->efds);
+    XEN_TAILQ_INIT(&ctx->etimes);
 
     ctx->watch_slots = 0;
-    LIBXL_SLIST_INIT(&ctx->watch_freeslots);
+    XEN_SLIST_INIT(&ctx->watch_freeslots);
     libxl__ev_fd_init(&ctx->watch_efd);
 
     ctx->xce = 0;
-    LIBXL_LIST_INIT(&ctx->evtchns_waiting);
+    XEN_LIST_INIT(&ctx->evtchns_waiting);
     libxl__ev_fd_init(&ctx->evtchn_efd);
 
-    LIBXL_LIST_INIT(&ctx->aos_inprogress);
+    XEN_LIST_INIT(&ctx->aos_inprogress);
 
-    LIBXL_TAILQ_INIT(&ctx->death_list);
+    XEN_TAILQ_INIT(&ctx->death_list);
     libxl__ev_xswatch_init(&ctx->death_watch);
 
     ctx->childproc_hooks = &libxl__childproc_default_hooks;
@@ -122,14 +122,14 @@ int libxl_ctx_alloc(libxl_ctx **pctx, int version,
 static void free_disable_deaths(libxl__gc *gc,
                                 struct libxl__evgen_domain_death_list *l) {
     libxl_evgen_domain_death *death;
-    while ((death = LIBXL_TAILQ_FIRST(l)))
+    while ((death = XEN_TAILQ_FIRST(l)))
         libxl__evdisable_domain_death(gc, death);
 }
 
 static void discard_events(struct libxl__event_list *l) {
     /* doesn't bother unlinking from the list, so l is corrupt on return */
     libxl_event *ev, *next;
-    LIBXL_TAILQ_FOREACH_SAFE(ev, l, link, next)
+    XEN_TAILQ_FOREACH_SAFE(ev, l, link, next)
         libxl_event_free(0, ev);
 }
 
@@ -150,7 +150,7 @@ int libxl_ctx_free(libxl_ctx *ctx)
     free_disable_deaths(gc, &CTX->death_reported);
 
     libxl_evgen_disk_eject *eject;
-    while ((eject = LIBXL_LIST_FIRST(&CTX->disk_eject_evgens)))
+    while ((eject = XEN_LIST_FIRST(&CTX->disk_eject_evgens)))
         libxl__evdisable_disk_eject(gc, eject);
 
     libxl_childproc_setmode(CTX,0,0);
@@ -162,10 +162,10 @@ int libxl_ctx_free(libxl_ctx *ctx)
 
     /* Now there should be no more events requested from the application: */
 
-    assert(LIBXL_LIST_EMPTY(&ctx->efds));
-    assert(LIBXL_TAILQ_EMPTY(&ctx->etimes));
-    assert(LIBXL_LIST_EMPTY(&ctx->evtchns_waiting));
-    assert(LIBXL_LIST_EMPTY(&ctx->aos_inprogress));
+    assert(XEN_LIST_EMPTY(&ctx->efds));
+    assert(XEN_TAILQ_EMPTY(&ctx->etimes));
+    assert(XEN_LIST_EMPTY(&ctx->evtchns_waiting));
+    assert(XEN_LIST_EMPTY(&ctx->aos_inprogress));
 
     if (ctx->xch) xc_interface_close(ctx->xch);
     libxl_version_info_dispose(&ctx->version_info);
@@ -174,10 +174,10 @@ int libxl_ctx_free(libxl_ctx *ctx)
 
     libxl__poller_put(ctx, ctx->poller_app);
     ctx->poller_app = NULL;
-    assert(LIBXL_LIST_EMPTY(&ctx->pollers_event));
-    assert(LIBXL_LIST_EMPTY(&ctx->pollers_active));
+    assert(XEN_LIST_EMPTY(&ctx->pollers_event));
+    assert(XEN_LIST_EMPTY(&ctx->pollers_active));
     libxl__poller *poller, *poller_tmp;
-    LIBXL_LIST_FOREACH_SAFE(poller, &ctx->pollers_idle, entry, poller_tmp) {
+    XEN_LIST_FOREACH_SAFE(poller, &ctx->pollers_idle, entry, poller_tmp) {
         libxl__poller_dispose(poller);
         free(poller);
     }
diff --git a/tools/libs/light/libxl_aoutils.c b/tools/libs/light/libxl_aoutils.c
index c4c095a5ba..c2d42e7cac 100644
--- a/tools/libs/light/libxl_aoutils.c
+++ b/tools/libs/light/libxl_aoutils.c
@@ -106,7 +106,7 @@ void libxl__datacopier_init(libxl__datacopier_state *dc)
     libxl__ao_abortable_init(&dc->abrt);
     libxl__ev_fd_init(&dc->toread);
     libxl__ev_fd_init(&dc->towrite);
-    LIBXL_TAILQ_INIT(&dc->bufs);
+    XEN_TAILQ_INIT(&dc->bufs);
 }
 
 void libxl__datacopier_kill(libxl__datacopier_state *dc)
@@ -117,9 +117,9 @@ void libxl__datacopier_kill(libxl__datacopier_state *dc)
     libxl__ao_abortable_deregister(&dc->abrt);
     libxl__ev_fd_deregister(gc, &dc->toread);
     libxl__ev_fd_deregister(gc, &dc->towrite);
-    LIBXL_TAILQ_FOREACH_SAFE(buf, &dc->bufs, entry, tbuf)
+    XEN_TAILQ_FOREACH_SAFE(buf, &dc->bufs, entry, tbuf)
         free(buf);
-    LIBXL_TAILQ_INIT(&dc->bufs);
+    XEN_TAILQ_INIT(&dc->bufs);
 }
 
 static void datacopier_callback(libxl__egc *egc, libxl__datacopier_state *dc,
@@ -182,7 +182,7 @@ void libxl__datacopier_prefixdata(libxl__egc *egc, libxl__datacopier_state *dc,
         memcpy(buf->buf, ptr, buf->used);
 
         dc->used += buf->used;
-        LIBXL_TAILQ_INSERT_TAIL(&dc->bufs, buf, entry);
+        XEN_TAILQ_INSERT_TAIL(&dc->bufs, buf, entry);
     }
 }
 
@@ -235,18 +235,18 @@ static void datacopier_readable(libxl__egc *egc, libxl__ev_fd *ev,
             r = read(ev->fd, dc->readbuf + dc->used, dc->bytes_to_read);
         } else {
             while (dc->used >= dc->maxsz) {
-                libxl__datacopier_buf *rm = LIBXL_TAILQ_FIRST(&dc->bufs);
+                libxl__datacopier_buf *rm = XEN_TAILQ_FIRST(&dc->bufs);
                 dc->used -= rm->used;
                 assert(dc->used >= 0);
-                LIBXL_TAILQ_REMOVE(&dc->bufs, rm, entry);
+                XEN_TAILQ_REMOVE(&dc->bufs, rm, entry);
                 free(rm);
             }
 
-            buf = LIBXL_TAILQ_LAST(&dc->bufs, libxl__datacopier_bufs);
+            buf = XEN_TAILQ_LAST(&dc->bufs, libxl__datacopier_bufs);
             if (!buf || buf->used >= sizeof(buf->buf)) {
                 buf = libxl__malloc(NOGC, sizeof(*buf));
                 buf->used = 0;
-                LIBXL_TAILQ_INSERT_TAIL(&dc->bufs, buf, entry);
+                XEN_TAILQ_INSERT_TAIL(&dc->bufs, buf, entry);
             }
             r = read(ev->fd, buf->buf + buf->used,
                      min_t(size_t, sizeof(buf->buf) - buf->used,
@@ -331,11 +331,11 @@ static void datacopier_writable(libxl__egc *egc, libxl__ev_fd *ev,
     }
     assert(revents & POLLOUT);
     for (;;) {
-        libxl__datacopier_buf *buf = LIBXL_TAILQ_FIRST(&dc->bufs);
+        libxl__datacopier_buf *buf = XEN_TAILQ_FIRST(&dc->bufs);
         if (!buf)
             break;
         if (!buf->used) {
-            LIBXL_TAILQ_REMOVE(&dc->bufs, buf, entry);
+            XEN_TAILQ_REMOVE(&dc->bufs, buf, entry);
             free(buf);
             continue;
         }
diff --git a/tools/libs/light/libxl_device.c b/tools/libs/light/libxl_device.c
index 36c4e41e4d..e6025d135e 100644
--- a/tools/libs/light/libxl_device.c
+++ b/tools/libs/light/libxl_device.c
@@ -1476,7 +1476,7 @@ static void qdisk_spawn_outcome(libxl__egc *egc, libxl__dm_spawn_state *dmss,
  */
 typedef struct libxl__ddomain_device {
     libxl__device *dev;
-    LIBXL_SLIST_ENTRY(struct libxl__ddomain_device) next;
+    XEN_SLIST_ENTRY(struct libxl__ddomain_device) next;
 } libxl__ddomain_device;
 
 /*
@@ -1485,8 +1485,8 @@ typedef struct libxl__ddomain_device {
 typedef struct libxl__ddomain_guest {
     uint32_t domid;
     int num_qdisks;
-    LIBXL_SLIST_HEAD(, struct libxl__ddomain_device) devices;
-    LIBXL_SLIST_ENTRY(struct libxl__ddomain_guest) next;
+    XEN_SLIST_HEAD(, struct libxl__ddomain_device) devices;
+    XEN_SLIST_ENTRY(struct libxl__ddomain_guest) next;
 } libxl__ddomain_guest;
 
 /*
@@ -1496,7 +1496,7 @@ typedef struct libxl__ddomain_guest {
 typedef struct {
     libxl__ao *ao;
     libxl__ev_xswatch watch;
-    LIBXL_SLIST_HEAD(, struct libxl__ddomain_guest) guests;
+    XEN_SLIST_HEAD(, struct libxl__ddomain_guest) guests;
 } libxl__ddomain;
 
 static libxl__ddomain_guest *search_for_guest(libxl__ddomain *ddomain,
@@ -1504,7 +1504,7 @@ static libxl__ddomain_guest *search_for_guest(libxl__ddomain *ddomain,
 {
     libxl__ddomain_guest *dguest;
 
-    LIBXL_SLIST_FOREACH(dguest, &ddomain->guests, next) {
+    XEN_SLIST_FOREACH(dguest, &ddomain->guests, next) {
         if (dguest->domid == domid)
             return dguest;
     }
@@ -1516,7 +1516,7 @@ static libxl__ddomain_device *search_for_device(libxl__ddomain_guest *dguest,
 {
     libxl__ddomain_device *ddev;
 
-    LIBXL_SLIST_FOREACH(ddev, &dguest->devices, next) {
+    XEN_SLIST_FOREACH(ddev, &dguest->devices, next) {
 #define LIBXL_DEVICE_CMP(dev1, dev2, entry) (dev1->entry == dev2->entry)
         if (LIBXL_DEVICE_CMP(ddev->dev, dev, backend_devid) &&
             LIBXL_DEVICE_CMP(ddev->dev, dev, backend_domid) &&
@@ -1537,8 +1537,8 @@ static void check_and_maybe_remove_guest(libxl__gc *gc,
 {
     assert(ddomain);
 
-    if (dguest != NULL && LIBXL_SLIST_FIRST(&dguest->devices) == NULL) {
-        LIBXL_SLIST_REMOVE(&ddomain->guests, dguest, libxl__ddomain_guest,
+    if (dguest != NULL && XEN_SLIST_FIRST(&dguest->devices) == NULL) {
+        XEN_SLIST_REMOVE(&ddomain->guests, dguest, libxl__ddomain_guest,
                            next);
         LOGD(DEBUG, dguest->domid, "Removed domain from the list of active guests");
         /* Clear any leftovers in libxl/<domid> */
@@ -1572,7 +1572,7 @@ static int add_device(libxl__egc *egc, libxl__ao *ao,
     ddev = libxl__zalloc(NOGC, sizeof(*ddev));
     ddev->dev = libxl__zalloc(NOGC, sizeof(*ddev->dev));
     *ddev->dev = *dev;
-    LIBXL_SLIST_INSERT_HEAD(&dguest->devices, ddev, next);
+    XEN_SLIST_INSERT_HEAD(&dguest->devices, ddev, next);
     LOGD(DEBUG, dev->domid, "Added device %s to the list of active devices",
          libxl__device_backend_path(gc, dev));
 
@@ -1649,8 +1649,7 @@ static int remove_device(libxl__egc *egc, libxl__ao *ao,
      * above or from add_device make a copy of the data they use, so
      * there's no risk of dereferencing.
      */
-    LIBXL_SLIST_REMOVE(&dguest->devices, ddev, libxl__ddomain_device,
-                       next);
+    XEN_SLIST_REMOVE(&dguest->devices, ddev, libxl__ddomain_device, next);
     LOGD(DEBUG, dev->domid, "Removed device %s from the list of active devices",
          libxl__device_backend_path(gc, dev));
 
@@ -1716,8 +1715,8 @@ static void backend_watch_callback(libxl__egc *egc, libxl__ev_xswatch *watch,
         /* Create a new guest struct and initialize it */
         dguest = libxl__zalloc(NOGC, sizeof(*dguest));
         dguest->domid = dev->domid;
-        LIBXL_SLIST_INIT(&dguest->devices);
-        LIBXL_SLIST_INSERT_HEAD(&ddomain->guests, dguest, next);
+        XEN_SLIST_INIT(&dguest->devices);
+        XEN_SLIST_INSERT_HEAD(&ddomain->guests, dguest, next);
         LOGD(DEBUG, dguest->domid, "Added domain to the list of active guests");
     }
     ddev = search_for_device(dguest, dev);
@@ -1766,7 +1765,7 @@ int libxl_device_events_handler(libxl_ctx *ctx,
     int i, j, k;
 
     ddomain.ao = ao;
-    LIBXL_SLIST_INIT(&ddomain.guests);
+    XEN_SLIST_INIT(&ddomain.guests);
 
     rc = libxl__get_domid(gc, &domid);
     if (rc) {
diff --git a/tools/libs/light/libxl_disk.c b/tools/libs/light/libxl_disk.c
index 93936d0dd0..a5ca77850f 100644
--- a/tools/libs/light/libxl_disk.c
+++ b/tools/libs/light/libxl_disk.c
@@ -88,7 +88,7 @@ int libxl_evenable_disk_eject(libxl_ctx *ctx, uint32_t guest_domid,
     memset(evg, 0, sizeof(*evg));
     evg->user = user;
     evg->domid = guest_domid;
-    LIBXL_LIST_INSERT_HEAD(&CTX->disk_eject_evgens, evg, entry);
+    XEN_LIST_INSERT_HEAD(&CTX->disk_eject_evgens, evg, entry);
 
     uint32_t domid = libxl_get_stubdom_id(ctx, guest_domid);
 
@@ -133,7 +133,7 @@ int libxl_evenable_disk_eject(libxl_ctx *ctx, uint32_t guest_domid,
 void libxl__evdisable_disk_eject(libxl__gc *gc, libxl_evgen_disk_eject *evg) {
     CTX_LOCK;
 
-    LIBXL_LIST_REMOVE(evg, entry);
+    XEN_LIST_REMOVE(evg, entry);
 
     if (libxl__ev_xswatch_isregistered(&evg->watch))
         libxl__ev_xswatch_deregister(gc, &evg->watch);
diff --git a/tools/libs/light/libxl_domain.c b/tools/libs/light/libxl_domain.c
index 544a9bf59d..d544a60777 100644
--- a/tools/libs/light/libxl_domain.c
+++ b/tools/libs/light/libxl_domain.c
@@ -867,7 +867,7 @@ static void domain_death_occurred(libxl__egc *egc,
 
     LOGD(DEBUG, evg->domid, "%s", why);
 
-    libxl_evgen_domain_death *evg_next = LIBXL_TAILQ_NEXT(evg, entry);
+    libxl_evgen_domain_death *evg_next = XEN_TAILQ_NEXT(evg, entry);
     *evg_upd = evg_next;
 
     libxl_event *ev = NEW_EVENT(egc, DOMAIN_DEATH, evg->domid, evg->user);
@@ -875,8 +875,8 @@ static void domain_death_occurred(libxl__egc *egc,
     libxl__event_occurred(egc, ev);
 
     evg->death_reported = 1;
-    LIBXL_TAILQ_REMOVE(&CTX->death_list, evg, entry);
-    LIBXL_TAILQ_INSERT_HEAD(&CTX->death_reported, evg, entry);
+    XEN_TAILQ_REMOVE(&CTX->death_list, evg, entry);
+    XEN_TAILQ_INSERT_HEAD(&CTX->death_reported, evg, entry);
 }
 
 static void domain_death_xswatch_callback(libxl__egc *egc, libxl__ev_xswatch *w,
@@ -887,12 +887,12 @@ static void domain_death_xswatch_callback(libxl__egc *egc, libxl__ev_xswatch *w,
 
     CTX_LOCK;
 
-    evg = LIBXL_TAILQ_FIRST(&CTX->death_list);
+    evg = XEN_TAILQ_FIRST(&CTX->death_list);
 
     for (;;) {
         if (!evg) goto out;
 
-        int nentries = LIBXL_TAILQ_NEXT(evg, entry) ? 200 : 1;
+        int nentries = XEN_TAILQ_NEXT(evg, entry) ? 200 : 1;
         xc_domaininfo_t domaininfos[nentries];
         const xc_domaininfo_t *got = domaininfos, *gotend;
 
@@ -966,7 +966,7 @@ static void domain_death_xswatch_callback(libxl__egc *egc, libxl__ev_xswatch *w,
 
                 evg->shutdown_reported = 1;
             }
-            evg = LIBXL_TAILQ_NEXT(evg, entry);
+            evg = XEN_TAILQ_NEXT(evg, entry);
         }
 
         assert(rc); /* rc==0 results in us eating all evgs and quitting */
@@ -1015,13 +1015,13 @@ void libxl__evdisable_domain_death(libxl__gc *gc,
     CTX_LOCK;
 
     if (!evg->death_reported)
-        LIBXL_TAILQ_REMOVE(&CTX->death_list, evg, entry);
+        XEN_TAILQ_REMOVE(&CTX->death_list, evg, entry);
     else
-        LIBXL_TAILQ_REMOVE(&CTX->death_reported, evg, entry);
+        XEN_TAILQ_REMOVE(&CTX->death_reported, evg, entry);
 
     free(evg);
 
-    if (!LIBXL_TAILQ_FIRST(&CTX->death_list) &&
+    if (!XEN_TAILQ_FIRST(&CTX->death_list) &&
         libxl__ev_xswatch_isregistered(&CTX->death_watch))
         libxl__ev_xswatch_deregister(gc, &CTX->death_watch);
 
diff --git a/tools/libs/light/libxl_event.c b/tools/libs/light/libxl_event.c
index 7c5387e94f..c8bcd13960 100644
--- a/tools/libs/light/libxl_event.c
+++ b/tools/libs/light/libxl_event.c
@@ -165,7 +165,7 @@ static void ao__check_destroy(libxl_ctx *ctx, libxl__ao *ao);
  */
 static void pollers_note_osevent_added(libxl_ctx *ctx) {
     libxl__poller *poller;
-    LIBXL_LIST_FOREACH(poller, &ctx->pollers_active, active_entry)
+    XEN_LIST_FOREACH(poller, &ctx->pollers_active, active_entry)
         poller->osevents_added = 1;
 }
 
@@ -189,7 +189,7 @@ void libxl__egc_ao_cleanup_1_baton(libxl__gc *gc)
     if (CTX->poller_app->osevents_added)
         baton_wake(gc, CTX->poller_app);
 
-    LIBXL_LIST_FOREACH(search, &CTX->pollers_active, active_entry) {
+    XEN_LIST_FOREACH(search, &CTX->pollers_active, active_entry) {
         if (search == CTX->poller_app)
             /* This one is special.  We can't give it the baton. */
             continue;
@@ -279,7 +279,7 @@ void libxl__egc_ao_cleanup_1_baton(libxl__gc *gc)
 struct libxl__osevent_hook_nexus {
     void *ev;
     void *for_app_reg;
-    LIBXL_SLIST_ENTRY(libxl__osevent_hook_nexus) next;
+    XEN_SLIST_ENTRY(libxl__osevent_hook_nexus) next;
 };
 
 static void *osevent_ev_from_hook_nexus(libxl_ctx *ctx,
@@ -293,7 +293,7 @@ static void osevent_release_nexus(libxl__gc *gc,
                                   libxl__osevent_hook_nexus *nexus)
 {
     nexus->ev = 0;
-    LIBXL_SLIST_INSERT_HEAD(nexi_idle, nexus, next);
+    XEN_SLIST_INSERT_HEAD(nexi_idle, nexus, next);
 }
 
 /*----- OSEVENT* hook functions for nexusop "alloc" -----*/
@@ -301,9 +301,9 @@ static void osevent_hook_pre_alloc(libxl__gc *gc, void *ev,
                                    libxl__osevent_hook_nexi *nexi_idle,
                                    libxl__osevent_hook_nexus **nexus_r)
 {
-    libxl__osevent_hook_nexus *nexus = LIBXL_SLIST_FIRST(nexi_idle);
+    libxl__osevent_hook_nexus *nexus = XEN_SLIST_FIRST(nexi_idle);
     if (nexus) {
-        LIBXL_SLIST_REMOVE_HEAD(nexi_idle, next);
+        XEN_SLIST_REMOVE_HEAD(nexi_idle, next);
     } else {
         nexus = libxl__zalloc(NOGC, sizeof(*nexus));
     }
@@ -364,7 +364,7 @@ int libxl__ev_fd_register(libxl__gc *gc, libxl__ev_fd *ev,
     ev->events = events;
     ev->func = func;
 
-    LIBXL_LIST_INSERT_HEAD(&CTX->efds, ev, entry);
+    XEN_LIST_INSERT_HEAD(&CTX->efds, ev, entry);
     pollers_note_osevent_added(CTX);
 
     rc = 0;
@@ -409,10 +409,10 @@ void libxl__ev_fd_deregister(libxl__gc *gc, libxl__ev_fd *ev)
     DBG("ev_fd=%p deregister fd=%d", ev, ev->fd);
 
     OSEVENT_HOOK_VOID(fd,deregister, release, ev->fd, ev->nexus->for_app_reg);
-    LIBXL_LIST_REMOVE(ev, entry);
+    XEN_LIST_REMOVE(ev, entry);
     ev->fd = -1;
 
-    LIBXL_LIST_FOREACH(poller, &CTX->pollers_active, active_entry)
+    XEN_LIST_FOREACH(poller, &CTX->pollers_active, active_entry)
         poller->fds_deregistered = 1;
 
  out:
@@ -504,7 +504,7 @@ static void time_deregister(libxl__gc *gc, libxl__ev_time *ev)
         OSEVENT_HOOK_VOID(timeout,modify,
                           noop /* release nexus in _occurred_ */,
                           &ev->nexus->for_app_reg, right_away);
-        LIBXL_TAILQ_REMOVE(&CTX->etimes, ev, entry);
+        XEN_TAILQ_REMOVE(&CTX->etimes, ev, entry);
     }
 }
 
@@ -640,7 +640,7 @@ static void time_occurs(libxl__egc *egc, libxl__ev_time *etime, int rc)
 libxl__ev_xswatch *libxl__watch_slot_contents(libxl__gc *gc, int slotnum)
 {
     libxl__ev_watch_slot *slot = &CTX->watch_slots[slotnum];
-    libxl__ev_watch_slot *slotcontents = LIBXL_SLIST_NEXT(slot, empty);
+    libxl__ev_watch_slot *slotcontents = XEN_SLIST_NEXT(slot, empty);
 
     if (slotcontents == NULL ||
         ((uintptr_t)slotcontents >= (uintptr_t)CTX->watch_slots &&
@@ -672,7 +672,7 @@ libxl__ev_xswatch *libxl__watch_slot_contents(libxl__gc *gc, int slotnum)
 static void libxl__set_watch_slot_contents(libxl__ev_watch_slot *slot,
                                            libxl__ev_xswatch *w)
 {
-    /* we look a bit behind the curtain of LIBXL_SLIST, to explicitly
+    /* we look a bit behind the curtain of XEN_SLIST, to explicitly
      * assign to the pointer that's the next link.  See the comment
      * by the definition of libxl__ev_watch_slot */
     slot->empty.sle_next = (void*)w;
@@ -784,7 +784,7 @@ int libxl__ev_xswatch_register(libxl__gc *gc, libxl__ev_xswatch *w,
         if (rc) goto out_rc;
     }
 
-    if (LIBXL_SLIST_EMPTY(&CTX->watch_freeslots)) {
+    if (XEN_SLIST_EMPTY(&CTX->watch_freeslots)) {
         /* Free list is empty so there is not in fact a linked
          * free list in the array and we can safely realloc it */
         int newarraysize = (CTX->watch_nslots + 1) << 2;
@@ -794,14 +794,13 @@ int libxl__ev_xswatch_register(libxl__gc *gc, libxl__ev_xswatch *w,
                            CTX->watch_slots, sizeof(*newarray) * newarraysize);
         if (!newarray) goto out_nomem;
         for (i = CTX->watch_nslots; i < newarraysize; i++)
-            LIBXL_SLIST_INSERT_HEAD(&CTX->watch_freeslots,
-                                    &newarray[i], empty);
+            XEN_SLIST_INSERT_HEAD(&CTX->watch_freeslots, &newarray[i], empty);
         CTX->watch_slots = newarray;
         CTX->watch_nslots = newarraysize;
     }
-    use = LIBXL_SLIST_FIRST(&CTX->watch_freeslots);
+    use = XEN_SLIST_FIRST(&CTX->watch_freeslots);
     assert(use);
-    LIBXL_SLIST_REMOVE_HEAD(&CTX->watch_freeslots, empty);
+    XEN_SLIST_REMOVE_HEAD(&CTX->watch_freeslots, empty);
 
     path_copy = strdup(path);
     if (!path_copy) goto out_nomem;
@@ -832,7 +831,7 @@ int libxl__ev_xswatch_register(libxl__gc *gc, libxl__ev_xswatch *w,
     rc = ERROR_NOMEM;
  out_rc:
     if (use)
-        LIBXL_SLIST_INSERT_HEAD(&CTX->watch_freeslots, use, empty);
+        XEN_SLIST_INSERT_HEAD(&CTX->watch_freeslots, use, empty);
     free(path_copy);
     watches_check_fd_deregister(gc);
     CTX_UNLOCK;
@@ -856,7 +855,7 @@ void libxl__ev_xswatch_deregister(libxl__gc *gc, libxl__ev_xswatch *w)
             LOGEV(ERROR, errno, "remove watch for path %s", w->path);
 
         libxl__ev_watch_slot *slot = &CTX->watch_slots[w->slotnum];
-        LIBXL_SLIST_INSERT_HEAD(&CTX->watch_freeslots, slot, empty);
+        XEN_SLIST_INSERT_HEAD(&CTX->watch_freeslots, slot, empty);
         w->slotnum = -1;
         CTX->nwatches--;
         watches_check_fd_deregister(gc);
@@ -927,7 +926,7 @@ static void evtchn_fd_callback(libxl__egc *egc, libxl__ev_fd *ev,
             return;
         }
 
-        LIBXL_LIST_FOREACH(evev, &CTX->evtchns_waiting, entry)
+        XEN_LIST_FOREACH(evev, &CTX->evtchns_waiting, entry)
             if (port == evev->port)
                 goto found;
         /* not found */
@@ -937,7 +936,7 @@ static void evtchn_fd_callback(libxl__egc *egc, libxl__ev_fd *ev,
     found:
         DBG("ev_evtchn=%p port=%d signaled", evev, port);
         evev->waiting = 0;
-        LIBXL_LIST_REMOVE(evev, entry);
+        XEN_LIST_REMOVE(evev, entry);
         evev->callback(egc, evev);
     }
 }
@@ -972,7 +971,7 @@ int libxl__ctx_evtchn_init(libxl__gc *gc) {
 
 static void evtchn_check_fd_deregister(libxl__gc *gc)
 {
-    if (CTX->xce && LIBXL_LIST_EMPTY(&CTX->evtchns_waiting))
+    if (CTX->xce && XEN_LIST_EMPTY(&CTX->evtchns_waiting))
         libxl__ev_fd_deregister(gc, &CTX->evtchn_efd);
 }
 
@@ -1003,7 +1002,7 @@ int libxl__ev_evtchn_wait(libxl__gc *gc, libxl__ev_evtchn *evev)
     }
 
     evev->waiting = 1;
-    LIBXL_LIST_INSERT_HEAD(&CTX->evtchns_waiting, evev, entry);
+    XEN_LIST_INSERT_HEAD(&CTX->evtchns_waiting, evev, entry);
     return 0;
 
  out:
@@ -1020,7 +1019,7 @@ void libxl__ev_evtchn_cancel(libxl__gc *gc, libxl__ev_evtchn *evev)
         return;
 
     evev->waiting = 0;
-    LIBXL_LIST_REMOVE(evev, entry);
+    XEN_LIST_REMOVE(evev, entry);
     evtchn_check_fd_deregister(gc);
 }
 
@@ -1095,7 +1094,7 @@ int libxl__ev_devstate_wait(libxl__ao *ao, libxl__ev_devstate *ds,
 
 void libxl__ev_immediate_register(libxl__egc *egc, libxl__ev_immediate *ei)
 {
-    LIBXL_STAILQ_INSERT_TAIL(&egc->ev_immediates, ei, entry);
+    XEN_STAILQ_INSERT_TAIL(&egc->ev_immediates, ei, entry);
 }
 
 /*
@@ -1221,7 +1220,7 @@ static int beforepoll_internal(libxl__gc *gc, libxl__poller *poller,
 
 #define REQUIRE_FDS(BODY) do{                                          \
                                                                        \
-        LIBXL_LIST_FOREACH(efd, &CTX->efds, entry)                     \
+        XEN_LIST_FOREACH(efd, &CTX->efds, entry)                       \
             REQUIRE_FD(efd->fd, efd->events, BODY);                    \
                                                                        \
         REQUIRE_FD(poller->wakeup_pipe[0], POLLIN, BODY);              \
@@ -1298,7 +1297,7 @@ static int beforepoll_internal(libxl__gc *gc, libxl__poller *poller,
     poller->fds_deregistered = 0;
     poller->osevents_added = 0;
 
-    libxl__ev_time *etime = LIBXL_TAILQ_FIRST(&CTX->etimes);
+    libxl__ev_time *etime = XEN_TAILQ_FIRST(&CTX->etimes);
     if (etime) {
         int our_timeout;
         struct timeval rel;
@@ -1436,7 +1435,7 @@ static void afterpoll_internal(libxl__egc *egc, libxl__poller *poller,
          * so that we don't call the same function again. */
         int revents;
 
-        LIBXL_LIST_FOREACH(efd, &CTX->efds, entry) {
+        XEN_LIST_FOREACH(efd, &CTX->efds, entry) {
 
             if (!efd->events)
                 continue;
@@ -1454,7 +1453,7 @@ static void afterpoll_internal(libxl__egc *egc, libxl__poller *poller,
     }
 
     for (;;) {
-        libxl__ev_time *etime = LIBXL_TAILQ_FIRST(&CTX->etimes);
+        libxl__ev_time *etime = XEN_TAILQ_FIRST(&CTX->etimes);
         if (!etime)
             break;
 
@@ -1494,8 +1493,8 @@ void libxl_osevent_register_hooks(libxl_ctx *ctx,
 {
     GC_INIT(ctx);
     CTX_LOCK;
-    assert(LIBXL_LIST_EMPTY(&ctx->efds));
-    assert(LIBXL_TAILQ_EMPTY(&ctx->etimes));
+    assert(XEN_LIST_EMPTY(&ctx->efds));
+    assert(XEN_TAILQ_EMPTY(&ctx->etimes));
     ctx->osevent_hooks = hooks;
     ctx->osevent_user = user;
     CTX_UNLOCK;
@@ -1534,7 +1533,7 @@ void libxl_osevent_occurred_timeout(libxl_ctx *ctx, void *for_libxl)
     if (!ev) goto out;
     assert(!ev->infinite);
 
-    LIBXL_TAILQ_REMOVE(&CTX->etimes, ev, entry);
+    XEN_TAILQ_REMOVE(&CTX->etimes, ev, entry);
 
     time_occurs(egc, ev, ERROR_TIMEDOUT);
 
@@ -1577,9 +1576,9 @@ static void egc_run_callbacks(libxl__egc *egc)
     libxl__aop_occurred *aop, *aop_tmp;
     libxl__ev_immediate *ei;
 
-    while (!LIBXL_STAILQ_EMPTY(&egc->ev_immediates)) {
-        ei = LIBXL_STAILQ_FIRST(&egc->ev_immediates);
-        LIBXL_STAILQ_REMOVE_HEAD(&egc->ev_immediates, entry);
+    while (!XEN_STAILQ_EMPTY(&egc->ev_immediates)) {
+        ei = XEN_STAILQ_FIRST(&egc->ev_immediates);
+        XEN_STAILQ_REMOVE_HEAD(&egc->ev_immediates, entry);
         CTX_LOCK;
         /* This callback is internal to libxl and expects CTX to be
          * locked. */
@@ -1587,15 +1586,15 @@ static void egc_run_callbacks(libxl__egc *egc)
         CTX_UNLOCK;
     }
 
-    LIBXL_TAILQ_FOREACH_SAFE(ev, &egc->occurred_for_callback, link, ev_tmp) {
-        LIBXL_TAILQ_REMOVE(&egc->occurred_for_callback, ev, link);
+    XEN_TAILQ_FOREACH_SAFE(ev, &egc->occurred_for_callback, link, ev_tmp) {
+        XEN_TAILQ_REMOVE(&egc->occurred_for_callback, ev, link);
         LOG(DEBUG,"event %p callback type=%s",
             ev, libxl_event_type_to_string(ev->type));
         CTX->event_hooks->event_occurs(CTX->event_hooks_user, ev);
     }
 
-    LIBXL_TAILQ_FOREACH_SAFE(aop, &egc->aops_for_callback, entry, aop_tmp) {
-        LIBXL_TAILQ_REMOVE(&egc->aops_for_callback, aop, entry);
+    XEN_TAILQ_FOREACH_SAFE(aop, &egc->aops_for_callback, entry, aop_tmp) {
+        XEN_TAILQ_REMOVE(&egc->aops_for_callback, aop, entry);
         LOG(DEBUG,"ao %p: progress report: callback aop=%p", aop->ao, aop);
         aop->how->callback(CTX, aop->ev, aop->how->for_callback);
 
@@ -1607,9 +1606,9 @@ static void egc_run_callbacks(libxl__egc *egc)
     }
 
     libxl__ao *ao, *ao_tmp;
-    LIBXL_TAILQ_FOREACH_SAFE(ao, &egc->aos_for_callback,
-                             entry_for_callback, ao_tmp) {
-        LIBXL_TAILQ_REMOVE(&egc->aos_for_callback, ao, entry_for_callback);
+    XEN_TAILQ_FOREACH_SAFE(ao, &egc->aos_for_callback,
+                           entry_for_callback, ao_tmp) {
+        XEN_TAILQ_REMOVE(&egc->aos_for_callback, ao, entry_for_callback);
         LOG(DEBUG,"ao %p: completion callback", ao);
         ao->how.callback(CTX, ao->rc, ao->how.u.for_callback);
         CTX_LOCK;
@@ -1648,12 +1647,12 @@ void libxl__event_occurred(libxl__egc *egc, libxl_event *event)
          * from libxl.  This helps avoid reentrancy bugs: parts of
          * libxl that call libxl__event_occurred do not have to worry
          * that libxl might be reentered at that point. */
-        LIBXL_TAILQ_INSERT_TAIL(&egc->occurred_for_callback, event, link);
+        XEN_TAILQ_INSERT_TAIL(&egc->occurred_for_callback, event, link);
         return;
     } else {
         libxl__poller *poller;
-        LIBXL_TAILQ_INSERT_TAIL(&CTX->occurred, event, link);
-        LIBXL_LIST_FOREACH(poller, &CTX->pollers_event, entry)
+        XEN_TAILQ_INSERT_TAIL(&CTX->occurred, event, link);
+        XEN_LIST_FOREACH(poller, &CTX->pollers_event, entry)
             libxl__poller_wakeup(gc, poller);
     }
 }
@@ -1691,7 +1690,7 @@ static int event_check_internal(libxl__egc *egc, libxl_event **event_r,
     libxl_event *ev;
     int rc;
 
-    LIBXL_TAILQ_FOREACH(ev, &CTX->occurred, link) {
+    XEN_TAILQ_FOREACH(ev, &CTX->occurred, link) {
         if (!(typemask & ((uint64_t)1 << ev->type)))
             continue;
 
@@ -1699,7 +1698,7 @@ static int event_check_internal(libxl__egc *egc, libxl_event **event_r,
             continue;
 
         /* got one! */
-        LIBXL_TAILQ_REMOVE(&CTX->occurred, ev, link);
+        XEN_TAILQ_REMOVE(&CTX->occurred, ev, link);
         *event_r = ev;
         rc = 0;
         goto out;
@@ -1820,9 +1819,9 @@ libxl__poller *libxl__poller_get(libxl__gc *gc)
     /* must be called with ctx locked */
     int rc;
 
-    libxl__poller *p = LIBXL_LIST_FIRST(&CTX->pollers_idle);
+    libxl__poller *p = XEN_LIST_FIRST(&CTX->pollers_idle);
     if (p) {
-        LIBXL_LIST_REMOVE(p, entry);
+        XEN_LIST_REMOVE(p, entry);
     } else {
         p = libxl__zalloc(NOGC, sizeof(*p));
 
@@ -1833,16 +1832,15 @@ libxl__poller *libxl__poller_get(libxl__gc *gc)
         }
     }
 
-    LIBXL_LIST_INSERT_HEAD(&CTX->pollers_active, p,
-                           active_entry);
+    XEN_LIST_INSERT_HEAD(&CTX->pollers_active, p, active_entry);
     return p;
 }
 
 void libxl__poller_put(libxl_ctx *ctx, libxl__poller *p)
 {
     if (!p) return;
-    LIBXL_LIST_REMOVE(p, active_entry);
-    LIBXL_LIST_INSERT_HEAD(&ctx->pollers_idle, p, entry);
+    XEN_LIST_REMOVE(p, active_entry);
+    XEN_LIST_INSERT_HEAD(&ctx->pollers_idle, p, entry);
 }
 
 void libxl__poller_wakeup(libxl__gc *gc, libxl__poller *p)
@@ -2048,7 +2046,7 @@ void libxl__ao_create_fail(libxl__ao *ao)
     assert(!ao->complete);
     assert(!ao->progress_reports_outstanding);
     assert(!ao->aborting);
-    LIBXL_LIST_REMOVE(ao, inprogress_entry);
+    XEN_LIST_REMOVE(ao, inprogress_entry);
     libxl__ao__destroy(CTX, ao);
 }
 
@@ -2070,7 +2068,7 @@ void libxl__ao_complete(libxl__egc *egc, libxl__ao *ao, int rc)
     assert(!ao->nested_progeny);
     ao->complete = 1;
     ao->rc = rc;
-    LIBXL_LIST_REMOVE(ao, inprogress_entry);
+    XEN_LIST_REMOVE(ao, inprogress_entry);
     if (ao->outstanding_killed_child)
         LOG(DEBUG, "ao %p: .. but waiting for %d fork to exit",
             ao, ao->outstanding_killed_child);
@@ -2107,7 +2105,7 @@ void libxl__ao_complete_check_progress_reports(libxl__egc *egc, libxl__ao *ao)
             libxl__poller_wakeup(gc, ao->poller);
     } else if (ao->how.callback) {
         LOG(DEBUG, "ao %p: complete for callback", ao);
-        LIBXL_TAILQ_INSERT_TAIL(&egc->aos_for_callback, ao, entry_for_callback);
+        XEN_TAILQ_INSERT_TAIL(&egc->aos_for_callback, ao, entry_for_callback);
     } else {
         libxl_event *ev;
         ev = NEW_EVENT(egc, OPERATION_COMPLETE, ao->domid, ao->how.u.for_event);
@@ -2148,7 +2146,7 @@ libxl__ao *libxl__ao_create(libxl_ctx *ctx, uint32_t domid,
                "ao %p: create: how=%p callback=%p poller=%p",
                ao, how, ao->how.callback, ao->poller);
 
-    LIBXL_LIST_INSERT_HEAD(&ctx->aos_inprogress, ao, inprogress_entry);
+    XEN_LIST_INSERT_HEAD(&ctx->aos_inprogress, ao, inprogress_entry);
 
     return ao;
 
@@ -2255,7 +2253,7 @@ static int ao__abort(libxl_ctx *ctx, libxl__ao *parent)
 
     parent->aborting = 1;
 
-    if (LIBXL_LIST_EMPTY(&parent->abortables)) {
+    if (XEN_LIST_EMPTY(&parent->abortables)) {
         LIBXL__LOG(ctx, LIBXL__LOG_DEBUG,
                    "ao %p: abort requested and noted, but no-one interested",
                    parent);
@@ -2264,13 +2262,13 @@ static int ao__abort(libxl_ctx *ctx, libxl__ao *parent)
     }
 
     /* We keep calling abort hooks until there are none left */
-    while (!LIBXL_LIST_EMPTY(&parent->abortables)) {
+    while (!XEN_LIST_EMPTY(&parent->abortables)) {
         assert(!parent->complete);
 
-        libxl__ao_abortable *abrt = LIBXL_LIST_FIRST(&parent->abortables);
+        libxl__ao_abortable *abrt = XEN_LIST_FIRST(&parent->abortables);
         assert(parent == ao_nested_root(abrt->ao));
 
-        LIBXL_LIST_REMOVE(abrt, entry);
+        XEN_LIST_REMOVE(abrt, entry);
         abrt->registered = 0;
 
         LIBXL__LOG(ctx, LIBXL__LOG_DEBUG,
@@ -2300,7 +2298,7 @@ int libxl_ao_abort(libxl_ctx *ctx, const libxl_asyncop_how *how)
     libxl__ctx_lock(ctx);
     int rc;
 
-    LIBXL_LIST_FOREACH(search, &ctx->aos_inprogress, inprogress_entry) {
+    XEN_LIST_FOREACH(search, &ctx->aos_inprogress, inprogress_entry) {
         if (how) {
             /* looking for ao to be reported by callback or event */
             if (search->poller)
@@ -2356,7 +2354,7 @@ int libxl__ao_abortable_register(libxl__ao_abortable *abrt)
     }
 
     DBG("ao=%p, abrt=%p: registering (root=%p)", ao, abrt, root);
-    LIBXL_LIST_INSERT_HEAD(&root->abortables, abrt, entry);
+    XEN_LIST_INSERT_HEAD(&root->abortables, abrt, entry);
     abrt->registered = 1;
 
     return 0;
@@ -2372,7 +2370,7 @@ _hidden void libxl__ao_abortable_deregister(libxl__ao_abortable *abrt)
     AO_GC;
 
     DBG("ao=%p, abrt=%p: deregistering (root=%p)", ao, abrt, root);
-    LIBXL_LIST_REMOVE(abrt, entry);
+    XEN_LIST_REMOVE(abrt, entry);
     abrt->registered = 0;
 }
 
@@ -2408,7 +2406,7 @@ void libxl__ao_progress_report(libxl__egc *egc, libxl__ao *ao,
         aop->ao = ao;
         aop->ev = ev;
         aop->how = how;
-        LIBXL_TAILQ_INSERT_TAIL(&egc->aops_for_callback, aop, entry);
+        XEN_TAILQ_INSERT_TAIL(&egc->aops_for_callback, aop, entry);
         LOG(DEBUG,"ao %p: progress report: callback queued aop=%p",ao,aop);
     } else {
         LOG(DEBUG,"ao %p: progress report: event queued ev=%p type=%s",
diff --git a/tools/libs/light/libxl_fork.c b/tools/libs/light/libxl_fork.c
index 5d47dceb8a..676a14bb28 100644
--- a/tools/libs/light/libxl_fork.c
+++ b/tools/libs/light/libxl_fork.c
@@ -37,14 +37,14 @@
  */
 
 struct libxl__carefd {
-    LIBXL_LIST_ENTRY(libxl__carefd) entry;
+    XEN_LIST_ENTRY(libxl__carefd) entry;
     int fd;
 };
 
 static pthread_mutex_t no_forking = PTHREAD_MUTEX_INITIALIZER;
 static int atfork_registered;
-static LIBXL_LIST_HEAD(, libxl__carefd) carefds =
-    LIBXL_LIST_HEAD_INITIALIZER(carefds);
+static XEN_LIST_HEAD(, libxl__carefd) carefds =
+    XEN_LIST_HEAD_INITIALIZER(carefds);
 
 /* Protected against concurrency by no_forking.  sigchld_users is
  * protected against being interrupted by SIGCHLD (and thus read
@@ -52,8 +52,8 @@ static LIBXL_LIST_HEAD(, libxl__carefd) carefds =
  * below). */
 static bool sigchld_installed; /* 0 means not */
 static pthread_mutex_t sigchld_defer_mutex = PTHREAD_MUTEX_INITIALIZER;
-static LIBXL_LIST_HEAD(, libxl_ctx) sigchld_users =
-    LIBXL_LIST_HEAD_INITIALIZER(sigchld_users);
+static XEN_LIST_HEAD(, libxl_ctx) sigchld_users =
+    XEN_LIST_HEAD_INITIALIZER(sigchld_users);
 static struct sigaction sigchld_saved_action;
 
 static void sigchld_removehandler_core(void); /* idempotent */
@@ -105,7 +105,7 @@ libxl__carefd *libxl__carefd_record(libxl_ctx *ctx, int fd)
     libxl_fd_set_cloexec(ctx, fd, 1);
     cf = libxl__zalloc(&ctx->nogc_gc, sizeof(*cf));
     cf->fd = fd;
-    LIBXL_LIST_INSERT_HEAD(&carefds, cf, entry);
+    XEN_LIST_INSERT_HEAD(&carefds, cf, entry);
     return cf;
 }
 
@@ -141,7 +141,7 @@ void libxl_postfork_child_noexec(libxl_ctx *ctx)
 
     atfork_lock();
 
-    LIBXL_LIST_FOREACH_SAFE(cf, &carefds, entry, cf_tmp) {
+    XEN_LIST_FOREACH_SAFE(cf, &carefds, entry, cf_tmp) {
         if (cf->fd >= 0) {
             r = close(cf->fd);
             if (r)
@@ -151,7 +151,7 @@ void libxl_postfork_child_noexec(libxl_ctx *ctx)
         }
         free(cf);
     }
-    LIBXL_LIST_INIT(&carefds);
+    XEN_LIST_INIT(&carefds);
 
     if (sigchld_installed) {
         /* We are in theory not at risk of concurrent execution of the
@@ -172,7 +172,7 @@ void libxl_postfork_child_noexec(libxl_ctx *ctx)
          * use SIGCHLD, but instead just waits for the child(ren). */
         defer_sigchld();
 
-        LIBXL_LIST_INIT(&sigchld_users);
+        XEN_LIST_INIT(&sigchld_users);
         /* After this the ->sigchld_user_registered entries in the
          * now-obsolete contexts may be lies.  But that's OK because
          * no-one will look at them. */
@@ -190,7 +190,7 @@ int libxl__carefd_close(libxl__carefd *cf)
     atfork_lock();
     int r = cf->fd < 0 ? 0 : close(cf->fd);
     int esave = errno;
-    LIBXL_LIST_REMOVE(cf, entry);
+    XEN_LIST_REMOVE(cf, entry);
     atfork_unlock();
     free(cf);
     errno = esave;
@@ -238,7 +238,7 @@ static void sigchld_handler(int signo)
     int r = pthread_mutex_lock(&sigchld_defer_mutex);
     assert(!r);
 
-    LIBXL_LIST_FOREACH(notify, &sigchld_users, sigchld_users_entry) {
+    XEN_LIST_FOREACH(notify, &sigchld_users, sigchld_users_entry) {
         int e = libxl__self_pipe_wakeup(notify->sigchld_selfpipe[1]);
         if (e) abort(); /* errors are probably EBADF, very bad */
     }
@@ -362,11 +362,11 @@ static void sigchld_user_remove(libxl_ctx *ctx) /* idempotent */
     atfork_lock();
     defer_sigchld();
 
-    LIBXL_LIST_REMOVE(ctx, sigchld_users_entry);
+    XEN_LIST_REMOVE(ctx, sigchld_users_entry);
 
     release_sigchld();
 
-    if (LIBXL_LIST_EMPTY(&sigchld_users))
+    if (XEN_LIST_EMPTY(&sigchld_users))
         sigchld_removehandler_core();
 
     atfork_unlock();
@@ -404,7 +404,7 @@ int libxl__sigchld_needed(libxl__gc *gc) /* non-reentrant, idempotent */
 
         defer_sigchld();
 
-        LIBXL_LIST_INSERT_HEAD(&sigchld_users, CTX, sigchld_users_entry);
+        XEN_LIST_INSERT_HEAD(&sigchld_users, CTX, sigchld_users_entry);
 
         release_sigchld();
         atfork_unlock();
@@ -421,7 +421,7 @@ static bool chldmode_ours(libxl_ctx *ctx, bool creating)
 {
     switch (ctx->childproc_hooks->chldowner) {
     case libxl_sigchld_owner_libxl:
-        return creating || !LIBXL_LIST_EMPTY(&ctx->children);
+        return creating || !XEN_LIST_EMPTY(&ctx->children);
     case libxl_sigchld_owner_mainloop:
         return 0;
     case libxl_sigchld_owner_libxl_always:
@@ -452,7 +452,7 @@ static void childproc_reaped_ours(libxl__egc *egc, libxl__ev_child *ch,
                                  int status)
 {
     pid_t pid = ch->pid;
-    LIBXL_LIST_REMOVE(ch, entry);
+    XEN_LIST_REMOVE(ch, entry);
     ch->pid = -1;
     ch->callback(egc, ch, pid, status);
 }
@@ -462,7 +462,7 @@ static int childproc_reaped(libxl__egc *egc, pid_t pid, int status)
     EGC_GC;
     libxl__ev_child *ch;
 
-    LIBXL_LIST_FOREACH(ch, &CTX->children, entry)
+    XEN_LIST_FOREACH(ch, &CTX->children, entry)
         if (ch->pid == pid)
             goto found;
 
@@ -497,7 +497,7 @@ static void childproc_checkall(libxl__egc *egc)
         int status;
         pid_t got;
 
-        LIBXL_LIST_FOREACH(ch, &CTX->children, entry) {
+        XEN_LIST_FOREACH(ch, &CTX->children, entry) {
             got = checked_waitpid(egc, ch->pid, &status);
             if (got)
                 goto found;
@@ -625,7 +625,7 @@ pid_t libxl__ev_child_fork(libxl__gc *gc, libxl__ev_child *ch,
 
     ch->pid = pid;
     ch->callback = death;
-    LIBXL_LIST_INSERT_HEAD(&CTX->children, ch, entry);
+    XEN_LIST_INSERT_HEAD(&CTX->children, ch, entry);
     rc = pid;
 
  out:
@@ -640,7 +640,7 @@ void libxl_childproc_setmode(libxl_ctx *ctx, const libxl_childproc_hooks *hooks,
     GC_INIT(ctx);
     CTX_LOCK;
 
-    assert(LIBXL_LIST_EMPTY(&CTX->children));
+    assert(XEN_LIST_EMPTY(&CTX->children));
 
     if (!hooks)
         hooks = &libxl__childproc_default_hooks;
@@ -698,10 +698,10 @@ void libxl__ev_child_kill_deregister(libxl__ao *ao, libxl__ev_child *ch,
     new_ch->ao = ao;
     new_ch->ch.pid = pid;
     new_ch->ch.callback = deregistered_child_callback;
-    LIBXL_LIST_INSERT_HEAD(&CTX->children, &new_ch->ch, entry);
+    XEN_LIST_INSERT_HEAD(&CTX->children, &new_ch->ch, entry);
     ao->outstanding_killed_child++;
 
-    LIBXL_LIST_REMOVE(ch, entry);
+    XEN_LIST_REMOVE(ch, entry);
     ch->pid = -1;
     int r = kill(pid, sig);
     if (r)
diff --git a/tools/libs/light/libxl_internal.h b/tools/libs/light/libxl_internal.h
index 37d5c27756..c0e7779d97 100644
--- a/tools/libs/light/libxl_internal.h
+++ b/tools/libs/light/libxl_internal.h
@@ -245,7 +245,7 @@ struct libxl__ev_fd {
     short events;
     libxl__ev_fd_callback *func;
     /* remainder is private for libxl__ev_fd... */
-    LIBXL_LIST_ENTRY(libxl__ev_fd) entry;
+    XEN_LIST_ENTRY(libxl__ev_fd) entry;
     libxl__osevent_hook_nexus *nexus;
 };
 
@@ -260,7 +260,7 @@ struct libxl__ao_abortable {
     libxl__ao_abortable_callback *callback;
     /* remainder is private for abort machinery */
     bool registered;
-    LIBXL_LIST_ENTRY(libxl__ao_abortable) entry;
+    XEN_LIST_ENTRY(libxl__ao_abortable) entry;
     /*
      * For nested aos:
      *  Semantically, abort affects the whole tree of aos,
@@ -296,7 +296,7 @@ struct libxl__ev_time {
     libxl__ev_time_callback *func;
     /* remainder is private for libxl__ev_time... */
     int infinite; /* not registered in list or with app if infinite */
-    LIBXL_TAILQ_ENTRY(libxl__ev_time) entry;
+    XEN_TAILQ_ENTRY(libxl__ev_time) entry;
     struct timeval abs;
     libxl__osevent_hook_nexus *nexus;
     libxl__ao_abortable abrt;
@@ -323,7 +323,7 @@ struct libxl__ev_evtchn {
     int port;
     /* remainder is private for libxl__ev_evtchn_... */
     bool waiting;
-    LIBXL_LIST_ENTRY(libxl__ev_evtchn) entry;
+    XEN_LIST_ENTRY(libxl__ev_evtchn) entry;
 };
 
 /*
@@ -341,7 +341,7 @@ struct libxl__ev_evtchn {
  * xswatch pointers when we store and retrieve them.
  */
 typedef struct libxl__ev_watch_slot {
-    LIBXL_SLIST_ENTRY(struct libxl__ev_watch_slot) empty;
+    XEN_SLIST_ENTRY(struct libxl__ev_watch_slot) empty;
 } libxl__ev_watch_slot;
 
 _hidden libxl__ev_xswatch *libxl__watch_slot_contents(libxl__gc *gc,
@@ -357,7 +357,7 @@ struct libxl__ev_child {
     pid_t pid; /* -1 means unused ("unregistered", ie Idle) */
     libxl__ev_child_callback *callback;
     /* remainder is private for libxl__ev_... */
-    LIBXL_LIST_ENTRY(struct libxl__ev_child) entry;
+    XEN_LIST_ENTRY(struct libxl__ev_child) entry;
 };
 
 /* libxl__ev_immediate
@@ -370,7 +370,7 @@ struct libxl__ev_immediate {
     /* filled by user */
     void (*callback)(libxl__egc *, libxl__ev_immediate *);
     /* private to libxl__ev_immediate */
-    LIBXL_STAILQ_ENTRY(libxl__ev_immediate) entry;
+    XEN_STAILQ_ENTRY(libxl__ev_immediate) entry;
 };
 void libxl__ev_immediate_register(libxl__egc *, libxl__ev_immediate *);
 
@@ -582,7 +582,7 @@ _hidden void libxl__qmp_param_add_integer(libxl__gc *gc,
 struct libxl__evgen_domain_death {
     uint32_t domid;
     unsigned shutdown_reported:1, death_reported:1;
-    LIBXL_TAILQ_ENTRY(libxl_evgen_domain_death) entry;
+    XEN_TAILQ_ENTRY(libxl_evgen_domain_death) entry;
         /* on list .death_reported ? CTX->death_list : CTX->death_reported */
     libxl_ev_user user;
 };
@@ -592,7 +592,7 @@ libxl__evdisable_domain_death(libxl__gc*, libxl_evgen_domain_death*);
 struct libxl__evgen_disk_eject {
     libxl__ev_xswatch watch;
     uint32_t domid;
-    LIBXL_LIST_ENTRY(libxl_evgen_disk_eject) entry;
+    XEN_LIST_ENTRY(libxl_evgen_disk_eject) entry;
     libxl_ev_user user;
     char *vdev, *be_ptr_path;
 };
@@ -620,7 +620,7 @@ struct libxl__poller {
      * The "poller_app" is never idle, but is sometimes on
      * pollers_event.
      */
-    LIBXL_LIST_ENTRY(libxl__poller) entry;
+    XEN_LIST_ENTRY(libxl__poller) entry;
 
     struct pollfd *fd_polls;
     int fd_polls_allocd;
@@ -653,7 +653,7 @@ struct libxl__poller {
      * a promise to also make this check, so the baton will never be
      * dropped.
      */
-    LIBXL_LIST_ENTRY(libxl__poller) active_entry;
+    XEN_LIST_ENTRY(libxl__poller) active_entry;
     bool fds_deregistered;
     bool osevents_added;
 };
@@ -687,7 +687,7 @@ struct libxl__ctx {
        * documented in the libxl public interface.
        */
 
-    LIBXL_TAILQ_HEAD(libxl__event_list, libxl_event) occurred;
+    XEN_TAILQ_HEAD(libxl__event_list, libxl_event) occurred;
 
     int osevent_in_hook;
     const libxl_osevent_hooks *osevent_hooks;
@@ -696,40 +696,40 @@ struct libxl__ctx {
        * for restrictions on the use of the osevent fields. */
 
     libxl__poller *poller_app; /* libxl_osevent_beforepoll and _afterpoll */
-    LIBXL_LIST_HEAD(, libxl__poller) pollers_event, pollers_idle;
-    LIBXL_LIST_HEAD(, libxl__poller) pollers_active;
+    XEN_LIST_HEAD(, libxl__poller) pollers_event, pollers_idle;
+    XEN_LIST_HEAD(, libxl__poller) pollers_active;
 
-    LIBXL_SLIST_HEAD(libxl__osevent_hook_nexi, libxl__osevent_hook_nexus)
+    XEN_SLIST_HEAD(libxl__osevent_hook_nexi, libxl__osevent_hook_nexus)
         hook_fd_nexi_idle, hook_timeout_nexi_idle;
-    LIBXL_LIST_HEAD(, libxl__ev_fd) efds;
-    LIBXL_TAILQ_HEAD(, libxl__ev_time) etimes;
+    XEN_LIST_HEAD(, libxl__ev_fd) efds;
+    XEN_TAILQ_HEAD(, libxl__ev_time) etimes;
 
     libxl__ev_watch_slot *watch_slots;
     int watch_nslots, nwatches;
-    LIBXL_SLIST_HEAD(, libxl__ev_watch_slot) watch_freeslots;
+    XEN_SLIST_HEAD(, libxl__ev_watch_slot) watch_freeslots;
     uint32_t watch_counter; /* helps disambiguate slot reuse */
     libxl__ev_fd watch_efd;
 
     xenevtchn_handle *xce; /* waiting must be done only with libxl__ev_evtchn* */
-    LIBXL_LIST_HEAD(, libxl__ev_evtchn) evtchns_waiting;
+    XEN_LIST_HEAD(, libxl__ev_evtchn) evtchns_waiting;
     libxl__ev_fd evtchn_efd;
 
-    LIBXL_LIST_HEAD(, libxl__ao) aos_inprogress;
+    XEN_LIST_HEAD(, libxl__ao) aos_inprogress;
 
-    LIBXL_TAILQ_HEAD(libxl__evgen_domain_death_list, libxl_evgen_domain_death)
+    XEN_TAILQ_HEAD(libxl__evgen_domain_death_list, libxl_evgen_domain_death)
         death_list /* sorted by domid */,
         death_reported;
     libxl__ev_xswatch death_watch;
 
-    LIBXL_LIST_HEAD(, libxl_evgen_disk_eject) disk_eject_evgens;
+    XEN_LIST_HEAD(, libxl_evgen_disk_eject) disk_eject_evgens;
 
     const libxl_childproc_hooks *childproc_hooks;
     void *childproc_user;
     int sigchld_selfpipe[2]; /* [0]==-1 means handler not installed */
     libxl__ev_fd sigchld_selfpipe_efd;
-    LIBXL_LIST_HEAD(, libxl__ev_child) children;
+    XEN_LIST_HEAD(, libxl__ev_child) children;
     bool sigchld_user_registered;
-    LIBXL_LIST_ENTRY(libxl_ctx) sigchld_users_entry;
+    XEN_LIST_ENTRY(libxl_ctx) sigchld_users_entry;
 
     libxl_version_info version_info;
 
@@ -774,9 +774,9 @@ struct libxl__egc {
      * The egc and its gc may be accessed only on the creating thread. */
     struct libxl__gc gc;
     struct libxl__event_list occurred_for_callback;
-    LIBXL_TAILQ_HEAD(, libxl__ao) aos_for_callback;
-    LIBXL_TAILQ_HEAD(, libxl__aop_occurred) aops_for_callback;
-    LIBXL_STAILQ_HEAD(, libxl__ev_immediate) ev_immediates;
+    XEN_TAILQ_HEAD(, libxl__ao) aos_for_callback;
+    XEN_TAILQ_HEAD(, libxl__aop_occurred) aops_for_callback;
+    XEN_STAILQ_HEAD(, libxl__ev_immediate) ev_immediates;
 };
 
 struct libxl__aop_occurred {
@@ -787,7 +787,7 @@ struct libxl__aop_occurred {
      * While an aop exists, it corresponds to one refcount in
      * ao->progress_reports_outstanding, preventing ao destruction.
      */
-    LIBXL_TAILQ_ENTRY(libxl__aop_occurred) entry;
+    XEN_TAILQ_ENTRY(libxl__aop_occurred) entry;
     libxl__ao *ao;
     libxl_event *ev;
     const libxl_asyncprogress_how *how;
@@ -819,13 +819,13 @@ struct libxl__ao {
     int nested_progeny;
     int progress_reports_outstanding;
     int rc;
-    LIBXL_LIST_HEAD(, libxl__ao_abortable) abortables;
-    LIBXL_LIST_ENTRY(libxl__ao) inprogress_entry;
+    XEN_LIST_HEAD(, libxl__ao_abortable) abortables;
+    XEN_LIST_ENTRY(libxl__ao) inprogress_entry;
     libxl__gc gc;
     libxl_asyncop_how how;
     libxl__poller *poller;
     uint32_t domid;
-    LIBXL_TAILQ_ENTRY(libxl__ao) entry_for_callback;
+    XEN_TAILQ_ENTRY(libxl__ao) entry_for_callback;
     int outstanding_killed_child;
 };
 
@@ -2379,10 +2379,10 @@ bool libxl__stubdomain_is_linux(libxl_domain_build_info *b_info)
 
 #define LIBXL_INIT_EGC(egc,ctx) do{                     \
         LIBXL_INIT_GC((egc).gc,ctx);                    \
-        LIBXL_TAILQ_INIT(&(egc).occurred_for_callback); \
-        LIBXL_TAILQ_INIT(&(egc).aos_for_callback);      \
-        LIBXL_TAILQ_INIT(&(egc).aops_for_callback);     \
-        LIBXL_STAILQ_INIT(&(egc).ev_immediates);        \
+        XEN_TAILQ_INIT(&(egc).occurred_for_callback);   \
+        XEN_TAILQ_INIT(&(egc).aos_for_callback);        \
+        XEN_TAILQ_INIT(&(egc).aops_for_callback);       \
+        XEN_STAILQ_INIT(&(egc).ev_immediates);          \
     } while(0)
 
 _hidden void libxl__egc_ao_cleanup_1_baton(libxl__gc *gc);
@@ -3141,7 +3141,7 @@ typedef void libxl__datacopier_callback(libxl__egc *egc,
 
 struct libxl__datacopier_buf {
     /* private to datacopier */
-    LIBXL_TAILQ_ENTRY(libxl__datacopier_buf) entry;
+    XEN_TAILQ_ENTRY(libxl__datacopier_buf) entry;
     int used;
     char buf[1000];
 };
@@ -3163,7 +3163,7 @@ struct libxl__datacopier_state {
     libxl__ao_abortable abrt;
     libxl__ev_fd toread, towrite;
     ssize_t used;
-    LIBXL_TAILQ_HEAD(libxl__datacopier_bufs, libxl__datacopier_buf) bufs;
+    XEN_TAILQ_HEAD(libxl__datacopier_bufs, libxl__datacopier_buf) bufs;
 };
 
 _hidden void libxl__datacopier_init(libxl__datacopier_state *dc);
@@ -3443,7 +3443,7 @@ typedef struct libxl__stream_read_state libxl__stream_read_state;
 
 typedef struct libxl__sr_record_buf {
     /* private to stream read helper */
-    LIBXL_STAILQ_ENTRY(struct libxl__sr_record_buf) entry;
+    XEN_STAILQ_ENTRY(struct libxl__sr_record_buf) entry;
     libxl__sr_rec_hdr hdr;
     void *body; /* iff hdr.length != 0 */
 } libxl__sr_record_buf;
@@ -3473,7 +3473,7 @@ struct libxl__stream_read_state {
     /* Main stream-reading data. */
     libxl__datacopier_state dc; /* Only used when reading a record */
     libxl__sr_hdr hdr;
-    LIBXL_STAILQ_HEAD(, libxl__sr_record_buf) record_queue; /* NOGC */
+    XEN_STAILQ_HEAD(, libxl__sr_record_buf) record_queue; /* NOGC */
     enum {
         SRS_PHASE_NORMAL,
         SRS_PHASE_BUFFERING,
@@ -4599,9 +4599,9 @@ static inline int libxl__defbool_is_default(libxl_defbool *db)
 #define LIBXL_TAILQ_INSERT_SORTED(head, entry, elm_new, elm_search,     \
                                   search_body, new_after_search_p)      \
     do {                                                                \
-        for ((elm_search) = LIBXL_TAILQ_FIRST((head));                  \
+        for ((elm_search) = XEN_TAILQ_FIRST((head));                    \
              (elm_search);                                              \
-             (elm_search) = LIBXL_TAILQ_NEXT((elm_search), entry)) {    \
+             (elm_search) = XEN_TAILQ_NEXT((elm_search), entry)) {      \
             search_body;                                                \
             if (!(new_after_search_p))                                  \
                 break;                                                  \
@@ -4610,9 +4610,9 @@ static inline int libxl__defbool_is_default(libxl_defbool *db)
          * to place elm_new, or NULL meaning we want to put elm_new at  \
          * the end */                                                   \
         if ((elm_search))                                               \
-            LIBXL_TAILQ_INSERT_BEFORE((elm_search), (elm_new), entry);  \
+            XEN_TAILQ_INSERT_BEFORE((elm_search), (elm_new), entry);    \
         else                                                            \
-            LIBXL_TAILQ_INSERT_TAIL((head), (elm_new), entry);          \
+            XEN_TAILQ_INSERT_TAIL((head), (elm_new), entry);            \
     } while(0)
 
 
diff --git a/tools/libs/light/libxl_qmp.c b/tools/libs/light/libxl_qmp.c
index fb146a54cb..8faa102e4d 100644
--- a/tools/libs/light/libxl_qmp.c
+++ b/tools/libs/light/libxl_qmp.c
@@ -63,7 +63,7 @@
 
 #include <yajl/yajl_gen.h>
 
-#include "_libxl_list.h"
+#include "_xen_list.h"
 #include "libxl_internal.h"
 
 /* #define DEBUG_RECEIVED */
@@ -107,7 +107,7 @@ typedef struct callback_id_pair {
     qmp_callback_t callback;
     void *opaque;
     qmp_request_context *context;
-    LIBXL_STAILQ_ENTRY(struct callback_id_pair) next;
+    XEN_STAILQ_ENTRY(struct callback_id_pair) next;
 } callback_id_pair;
 
 struct libxl__qmp_handler {
@@ -123,7 +123,7 @@ struct libxl__qmp_handler {
     uint32_t domid;
 
     int last_id_used;
-    LIBXL_STAILQ_HEAD(callback_list, callback_id_pair) callback_list;
+    XEN_STAILQ_HEAD(callback_list, callback_id_pair) callback_list;
     struct {
         int major;
         int minor;
@@ -189,7 +189,7 @@ static callback_id_pair *qmp_get_callback_from_id(libxl__qmp_handler *qmp,
     if (id_object) {
         id = libxl__json_object_get_integer(id_object);
 
-        LIBXL_STAILQ_FOREACH(pp, &qmp->callback_list, next) {
+        XEN_STAILQ_FOREACH(pp, &qmp->callback_list, next) {
             if (pp->id == id) {
                 return pp;
             }
@@ -217,7 +217,7 @@ static void qmp_handle_error_response(libxl__gc *gc, libxl__qmp_handler *qmp,
             /* tell that the id have been processed */
             qmp->wait_for_id = 0;
         }
-        LIBXL_STAILQ_REMOVE(&qmp->callback_list, pp, callback_id_pair, next);
+        XEN_STAILQ_REMOVE(&qmp->callback_list, pp, callback_id_pair, next);
         free(pp);
     }
 
@@ -266,8 +266,7 @@ static int qmp_handle_response(libxl__gc *gc, libxl__qmp_handler *qmp,
                 /* tell that the id have been processed */
                 qmp->wait_for_id = 0;
             }
-            LIBXL_STAILQ_REMOVE(&qmp->callback_list, pp, callback_id_pair,
-                                next);
+            XEN_STAILQ_REMOVE(&qmp->callback_list, pp, callback_id_pair, next);
             free(pp);
         }
         return 0;
@@ -325,7 +324,7 @@ static libxl__qmp_handler *qmp_init_handler(libxl__gc *gc, uint32_t domid)
     qmp->domid = domid;
     qmp->timeout = 5;
 
-    LIBXL_STAILQ_INIT(&qmp->callback_list);
+    XEN_STAILQ_INIT(&qmp->callback_list);
 
     return qmp;
 }
@@ -383,7 +382,7 @@ static void qmp_close(libxl__qmp_handler *qmp)
     callback_id_pair *tmp = NULL;
 
     close(qmp->qmp_fd);
-    LIBXL_STAILQ_FOREACH(pp, &qmp->callback_list, next) {
+    XEN_STAILQ_FOREACH(pp, &qmp->callback_list, next) {
         free(tmp);
         tmp = pp;
     }
@@ -547,7 +546,7 @@ static char *qmp_send_prepare(libxl__gc *gc, libxl__qmp_handler *qmp,
     elm->callback = callback;
     elm->opaque = opaque;
     elm->context = context;
-    LIBXL_STAILQ_INSERT_TAIL(&qmp->callback_list, elm, next);
+    XEN_STAILQ_INSERT_TAIL(&qmp->callback_list, elm, next);
 
     LOGD(DEBUG, qmp->domid, "next qmp command: '%s'", buf);
 
diff --git a/tools/libs/light/libxl_stream_read.c b/tools/libs/light/libxl_stream_read.c
index 99a6714e76..e64e8f0ead 100644
--- a/tools/libs/light/libxl_stream_read.c
+++ b/tools/libs/light/libxl_stream_read.c
@@ -214,7 +214,7 @@ void libxl__stream_read_init(libxl__stream_read_state *stream)
     stream->sync_teardown = false;
     FILLZERO(stream->dc);
     FILLZERO(stream->hdr);
-    LIBXL_STAILQ_INIT(&stream->record_queue);
+    XEN_STAILQ_INIT(&stream->record_queue);
     stream->phase = SRS_PHASE_NORMAL;
     stream->recursion_guard = false;
     stream->incoming_record = NULL;
@@ -402,7 +402,7 @@ static void stream_continue(libxl__egc *egc,
          * processing the record.  There should never be two records
          * in the queue.
          */
-        if (LIBXL_STAILQ_EMPTY(&stream->record_queue))
+        if (XEN_STAILQ_EMPTY(&stream->record_queue))
             setup_read_record(egc, stream);
         else {
             if (process_record(egc, stream))
@@ -412,7 +412,7 @@ static void stream_continue(libxl__egc *egc,
              * process_record() had better have consumed the one and
              * only record in the queue.
              */
-            assert(LIBXL_STAILQ_EMPTY(&stream->record_queue));
+            assert(XEN_STAILQ_EMPTY(&stream->record_queue));
         }
         break;
 
@@ -428,7 +428,7 @@ static void stream_continue(libxl__egc *egc,
          * the tail to spot the CHECKPOINT_END record, and switch to
          * the unbuffering phase.
          */
-        libxl__sr_record_buf *rec = LIBXL_STAILQ_LAST(
+        libxl__sr_record_buf *rec = XEN_STAILQ_LAST(
             &stream->record_queue, libxl__sr_record_buf, entry);
 
         assert(stream->in_checkpoint);
@@ -537,7 +537,7 @@ static void record_body_done(libxl__egc *egc,
     if (rc)
         goto err;
 
-    LIBXL_STAILQ_INSERT_TAIL(&stream->record_queue, rec, entry);
+    XEN_STAILQ_INSERT_TAIL(&stream->record_queue, rec, entry);
     stream->incoming_record = NULL;
 
     stream_continue(egc, stream);
@@ -567,9 +567,9 @@ static bool process_record(libxl__egc *egc,
     int rc = 0;
 
     /* Pop a record from the head of the queue. */
-    assert(!LIBXL_STAILQ_EMPTY(&stream->record_queue));
-    rec = LIBXL_STAILQ_FIRST(&stream->record_queue);
-    LIBXL_STAILQ_REMOVE_HEAD(&stream->record_queue, entry);
+    assert(!XEN_STAILQ_EMPTY(&stream->record_queue));
+    rec = XEN_STAILQ_FIRST(&stream->record_queue);
+    XEN_STAILQ_REMOVE_HEAD(&stream->record_queue, entry);
 
     LOG(DEBUG, "Record: %u, length %u", rec->hdr.type, rec->hdr.length);
 
@@ -813,9 +813,9 @@ static void stream_done(libxl__egc *egc,
 
     /* The record queue had better be empty if the stream believes
      * itself to have been successful. */
-    assert(LIBXL_STAILQ_EMPTY(&stream->record_queue) || stream->rc);
+    assert(XEN_STAILQ_EMPTY(&stream->record_queue) || stream->rc);
 
-    LIBXL_STAILQ_FOREACH_SAFE(rec, &stream->record_queue, entry, trec)
+    XEN_STAILQ_FOREACH_SAFE(rec, &stream->record_queue, entry, trec)
         free_record(rec);
 
     if (!stream->back_channel) {
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Sun Jan 30 08:43:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 08:43:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262423.454685 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nE5oO-0008Bw-UE; Sun, 30 Jan 2022 08:43:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262423.454685; Sun, 30 Jan 2022 08: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 1nE5oO-00088P-Hg; Sun, 30 Jan 2022 08:43:52 +0000
Received: by outflank-mailman (input) for mailman id 262423;
 Sun, 30 Jan 2022 08:43:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KjUP=SO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1nE5oM-00074R-VM
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 08:43:51 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bd3dfe33-81a8-11ec-8f75-fffcc8bd4f1a;
 Sun, 30 Jan 2022 09:43:47 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 0711621114;
 Sun, 30 Jan 2022 08:43:47 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id C5F8913638;
 Sun, 30 Jan 2022 08:43:46 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id OEcfL8JP9mHCRAAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 30 Jan 2022 08:43: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: bd3dfe33-81a8-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1643532227; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=3/CpmK14rNuwT1IGnQb8DugzWa8T+4ykSQFmEpAOaqc=;
	b=FKiqYq/GfKwQ7Z/q4t+EolN5EyxdsqO+UyEGVr4Zf8s/57DqFeXC+wDS/6TfUFsfAsA0Y4
	z5Qb/63ivQ4Lz1UB/lBq47Q6YWLa1P+ScgniAfBhDudYCGXkwHBxusbSuYVG4Cyd24l/cS
	7zdDxxUCG1n2obPG/AMLwYD3/lc1g+E=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 5/5] tools/include: remove xen-external directory
Date: Sun, 30 Jan 2022 09:43:43 +0100
Message-Id: <20220130084343.19070-6-jgross@suse.com>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20220130084343.19070-1-jgross@suse.com>
References: <20220130084343.19070-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

There is no user of tools/include/xen-external/* left. Remove it.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/include/xen-external/README             |   24 -
 tools/include/xen-external/bsd-COPYRIGHT      |  126 --
 tools/include/xen-external/bsd-queue.3        | 1044 -----------------
 .../xen-external/bsd-sys-queue-h-seddery      |   74 --
 tools/include/xen-external/bsd-sys-queue.h    |  637 ----------
 5 files changed, 1905 deletions(-)
 delete mode 100644 tools/include/xen-external/README
 delete mode 100644 tools/include/xen-external/bsd-COPYRIGHT
 delete mode 100644 tools/include/xen-external/bsd-queue.3
 delete mode 100755 tools/include/xen-external/bsd-sys-queue-h-seddery
 delete mode 100644 tools/include/xen-external/bsd-sys-queue.h

diff --git a/tools/include/xen-external/README b/tools/include/xen-external/README
deleted file mode 100644
index 93c2bc9cd8..0000000000
--- a/tools/include/xen-external/README
+++ /dev/null
@@ -1,24 +0,0 @@
-WARNING - DO NOT EDIT THINGS IN THIS DIRECTORY
-----------------------------------------------
-
-These files were obtained elsewhere and should only be updated by
-copying new versions from the source location, as documented below:
-
-bsd-COPYRIGHT
-bsd-sys-queue.h
-bsd-queue.3
-
-  Obtained from the FreeBSD SVN using the following commands:
-    svn co -r 221843 svn://svn.freebsd.org/base/head/sys/sys/
-    svn co -r 221843 svn://svn.freebsd.org/base/head/share/man/man3
-    svn cat -r 221843 http://svn.freebsd.org/base/head/COPYRIGHT >tools/libxl/external/bsd-COPYRIGHT
-
-Exceptions:
-
-README
-
-  This file
-
-bsd-sys-queue-h-seddery
-
-  Script to transform the above into a new namespace.
diff --git a/tools/include/xen-external/bsd-COPYRIGHT b/tools/include/xen-external/bsd-COPYRIGHT
deleted file mode 100644
index 6dc5d16b46..0000000000
--- a/tools/include/xen-external/bsd-COPYRIGHT
+++ /dev/null
@@ -1,126 +0,0 @@
-# $FreeBSD$
-#	@(#)COPYRIGHT	8.2 (Berkeley) 3/21/94
-
-The compilation of software known as FreeBSD is distributed under the
-following terms:
-
-Copyright (c) 1992-2011 The FreeBSD Project. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
-The 4.4BSD and 4.4BSD-Lite software is distributed under the following
-terms:
-
-All of the documentation and software included in the 4.4BSD and 4.4BSD-Lite
-Releases is copyrighted by The Regents of the University of California.
-
-Copyright 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
-	The Regents of the University of California.  All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-3. All advertising materials mentioning features or use of this software
-   must display the following acknowledgement:
-This product includes software developed by the University of
-California, Berkeley and its contributors.
-4. Neither the name of the University nor the names of its contributors
-   may be used to endorse or promote products derived from this software
-   without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
-The Institute of Electrical and Electronics Engineers and the American
-National Standards Committee X3, on Information Processing Systems have
-given us permission to reprint portions of their documentation.
-
-In the following statement, the phrase ``this text'' refers to portions
-of the system documentation.
-
-Portions of this text are reprinted and reproduced in electronic form in
-the second BSD Networking Software Release, from IEEE Std 1003.1-1988, IEEE
-Standard Portable Operating System Interface for Computer Environments
-(POSIX), copyright C 1988 by the Institute of Electrical and Electronics
-Engineers, Inc.  In the event of any discrepancy between these versions
-and the original IEEE Standard, the original IEEE Standard is the referee
-document.
-
-In the following statement, the phrase ``This material'' refers to portions
-of the system documentation.
-
-This material is reproduced with permission from American National
-Standards Committee X3, on Information Processing Systems.  Computer and
-Business Equipment Manufacturers Association (CBEMA), 311 First St., NW,
-Suite 500, Washington, DC 20001-2178.  The developmental work of
-Programming Language C was completed by the X3J11 Technical Committee.
-
-The views and conclusions contained in the software and documentation are
-those of the authors and should not be interpreted as representing official
-policies, either expressed or implied, of the Regents of the University
-of California.
-
-
-NOTE: The copyright of UC Berkeley's Berkeley Software Distribution ("BSD")
-source has been updated.  The copyright addendum may be found at
-ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change and is
-included below.
-
-July 22, 1999
-
-To All Licensees, Distributors of Any Version of BSD:
-
-As you know, certain of the Berkeley Software Distribution ("BSD") source
-code files require that further distributions of products containing all or
-portions of the software, acknowledge within their advertising materials
-that such products contain software developed by UC Berkeley and its
-contributors.
-
-Specifically, the provision reads:
-
-"     * 3. All advertising materials mentioning features or use of this software
-      *    must display the following acknowledgement:
-      *    This product includes software developed by the University of
-      *    California, Berkeley and its contributors."
-
-Effective immediately, licensees and distributors are no longer required to
-include the acknowledgement within advertising materials.  Accordingly, the
-foregoing paragraph of those BSD Unix files containing it is hereby deleted
-in its entirety.
-
-William Hoskins
-Director, Office of Technology Licensing
-University of California, Berkeley
diff --git a/tools/include/xen-external/bsd-queue.3 b/tools/include/xen-external/bsd-queue.3
deleted file mode 100644
index 007ca5c629..0000000000
--- a/tools/include/xen-external/bsd-queue.3
+++ /dev/null
@@ -1,1044 +0,0 @@
-.\" Copyright (c) 1993
-.\"	The Regents of the University of California.  All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\"    notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\"    notice, this list of conditions and the following disclaimer in the
-.\"    documentation and/or other materials provided with the distribution.
-.\" 3. All advertising materials mentioning features or use of this software
-.\"    must display the following acknowledgement:
-.\"	This product includes software developed by the University of
-.\"	California, Berkeley and its contributors.
-.\" 4. Neither the name of the University nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.\"	@(#)queue.3	8.2 (Berkeley) 1/24/94
-.\" $FreeBSD$
-.\"
-.Dd May 13, 2011
-.Dt QUEUE 3
-.Os
-.Sh NAME
-.Nm SLIST_EMPTY ,
-.Nm SLIST_ENTRY ,
-.Nm SLIST_FIRST ,
-.Nm SLIST_FOREACH ,
-.Nm SLIST_FOREACH_SAFE ,
-.Nm SLIST_HEAD ,
-.Nm SLIST_HEAD_INITIALIZER ,
-.Nm SLIST_INIT ,
-.Nm SLIST_INSERT_AFTER ,
-.Nm SLIST_INSERT_HEAD ,
-.Nm SLIST_NEXT ,
-.Nm SLIST_REMOVE_AFTER ,
-.Nm SLIST_REMOVE_HEAD ,
-.Nm SLIST_REMOVE ,
-.Nm SLIST_SWAP ,
-.Nm STAILQ_CONCAT ,
-.Nm STAILQ_EMPTY ,
-.Nm STAILQ_ENTRY ,
-.Nm STAILQ_FIRST ,
-.Nm STAILQ_FOREACH ,
-.Nm STAILQ_FOREACH_SAFE ,
-.Nm STAILQ_HEAD ,
-.Nm STAILQ_HEAD_INITIALIZER ,
-.Nm STAILQ_INIT ,
-.Nm STAILQ_INSERT_AFTER ,
-.Nm STAILQ_INSERT_HEAD ,
-.Nm STAILQ_INSERT_TAIL ,
-.Nm STAILQ_LAST ,
-.Nm STAILQ_NEXT ,
-.Nm STAILQ_REMOVE_AFTER ,
-.Nm STAILQ_REMOVE_HEAD ,
-.Nm STAILQ_REMOVE ,
-.Nm STAILQ_SWAP ,
-.Nm LIST_EMPTY ,
-.Nm LIST_ENTRY ,
-.Nm LIST_FIRST ,
-.Nm LIST_FOREACH ,
-.Nm LIST_FOREACH_SAFE ,
-.Nm LIST_HEAD ,
-.Nm LIST_HEAD_INITIALIZER ,
-.Nm LIST_INIT ,
-.Nm LIST_INSERT_AFTER ,
-.Nm LIST_INSERT_BEFORE ,
-.Nm LIST_INSERT_HEAD ,
-.Nm LIST_NEXT ,
-.Nm LIST_REMOVE ,
-.Nm LIST_SWAP ,
-.Nm TAILQ_CONCAT ,
-.Nm TAILQ_EMPTY ,
-.Nm TAILQ_ENTRY ,
-.Nm TAILQ_FIRST ,
-.Nm TAILQ_FOREACH ,
-.Nm TAILQ_FOREACH_SAFE ,
-.Nm TAILQ_FOREACH_REVERSE ,
-.Nm TAILQ_FOREACH_REVERSE_SAFE ,
-.Nm TAILQ_HEAD ,
-.Nm TAILQ_HEAD_INITIALIZER ,
-.Nm TAILQ_INIT ,
-.Nm TAILQ_INSERT_AFTER ,
-.Nm TAILQ_INSERT_BEFORE ,
-.Nm TAILQ_INSERT_HEAD ,
-.Nm TAILQ_INSERT_TAIL ,
-.Nm TAILQ_LAST ,
-.Nm TAILQ_NEXT ,
-.Nm TAILQ_PREV ,
-.Nm TAILQ_REMOVE ,
-.Nm TAILQ_SWAP
-.Nd implementations of singly-linked lists, singly-linked tail queues,
-lists and tail queues
-.Sh SYNOPSIS
-.In sys/queue.h
-.\"
-.Fn SLIST_EMPTY "SLIST_HEAD *head"
-.Fn SLIST_ENTRY "TYPE"
-.Fn SLIST_FIRST "SLIST_HEAD *head"
-.Fn SLIST_FOREACH "TYPE *var" "SLIST_HEAD *head" "SLIST_ENTRY NAME"
-.Fn SLIST_FOREACH_SAFE "TYPE *var" "SLIST_HEAD *head" "SLIST_ENTRY NAME" "TYPE *temp_var"
-.Fn SLIST_HEAD "HEADNAME" "TYPE"
-.Fn SLIST_HEAD_INITIALIZER "SLIST_HEAD head"
-.Fn SLIST_INIT "SLIST_HEAD *head"
-.Fn SLIST_INSERT_AFTER "TYPE *listelm" "TYPE *elm" "SLIST_ENTRY NAME"
-.Fn SLIST_INSERT_HEAD "SLIST_HEAD *head" "TYPE *elm" "SLIST_ENTRY NAME"
-.Fn SLIST_NEXT "TYPE *elm" "SLIST_ENTRY NAME"
-.Fn SLIST_REMOVE_AFTER "TYPE *elm" "SLIST_ENTRY NAME"
-.Fn SLIST_REMOVE_HEAD "SLIST_HEAD *head" "SLIST_ENTRY NAME"
-.Fn SLIST_REMOVE "SLIST_HEAD *head" "TYPE *elm" "TYPE" "SLIST_ENTRY NAME"
-.Fn SLIST_SWAP "SLIST_HEAD *head1" "SLIST_HEAD *head2" "SLIST_ENTRY NAME"
-.\"
-.Fn STAILQ_CONCAT "STAILQ_HEAD *head1" "STAILQ_HEAD *head2"
-.Fn STAILQ_EMPTY "STAILQ_HEAD *head"
-.Fn STAILQ_ENTRY "TYPE"
-.Fn STAILQ_FIRST "STAILQ_HEAD *head"
-.Fn STAILQ_FOREACH "TYPE *var" "STAILQ_HEAD *head" "STAILQ_ENTRY NAME"
-.Fn STAILQ_FOREACH_SAFE "TYPE *var" "STAILQ_HEAD *head" "STAILQ_ENTRY NAME" "TYPE *temp_var"
-.Fn STAILQ_HEAD "HEADNAME" "TYPE"
-.Fn STAILQ_HEAD_INITIALIZER "STAILQ_HEAD head"
-.Fn STAILQ_INIT "STAILQ_HEAD *head"
-.Fn STAILQ_INSERT_AFTER "STAILQ_HEAD *head" "TYPE *listelm" "TYPE *elm" "STAILQ_ENTRY NAME"
-.Fn STAILQ_INSERT_HEAD "STAILQ_HEAD *head" "TYPE *elm" "STAILQ_ENTRY NAME"
-.Fn STAILQ_INSERT_TAIL "STAILQ_HEAD *head" "TYPE *elm" "STAILQ_ENTRY NAME"
-.Fn STAILQ_LAST "STAILQ_HEAD *head" "TYPE" "STAILQ_ENTRY NAME"
-.Fn STAILQ_NEXT "TYPE *elm" "STAILQ_ENTRY NAME"
-.Fn STAILQ_REMOVE_AFTER "STAILQ_HEAD *head" "TYPE *elm" "STAILQ_ENTRY NAME"
-.Fn STAILQ_REMOVE_HEAD "STAILQ_HEAD *head" "STAILQ_ENTRY NAME"
-.Fn STAILQ_REMOVE "STAILQ_HEAD *head" "TYPE *elm" "TYPE" "STAILQ_ENTRY NAME"
-.Fn STAILQ_SWAP "STAILQ_HEAD *head1" "STAILQ_HEAD *head2" "STAILQ_ENTRY NAME"
-.\"
-.Fn LIST_EMPTY "LIST_HEAD *head"
-.Fn LIST_ENTRY "TYPE"
-.Fn LIST_FIRST "LIST_HEAD *head"
-.Fn LIST_FOREACH "TYPE *var" "LIST_HEAD *head" "LIST_ENTRY NAME"
-.Fn LIST_FOREACH_SAFE "TYPE *var" "LIST_HEAD *head" "LIST_ENTRY NAME" "TYPE *temp_var"
-.Fn LIST_HEAD "HEADNAME" "TYPE"
-.Fn LIST_HEAD_INITIALIZER "LIST_HEAD head"
-.Fn LIST_INIT "LIST_HEAD *head"
-.Fn LIST_INSERT_AFTER "TYPE *listelm" "TYPE *elm" "LIST_ENTRY NAME"
-.Fn LIST_INSERT_BEFORE "TYPE *listelm" "TYPE *elm" "LIST_ENTRY NAME"
-.Fn LIST_INSERT_HEAD "LIST_HEAD *head" "TYPE *elm" "LIST_ENTRY NAME"
-.Fn LIST_NEXT "TYPE *elm" "LIST_ENTRY NAME"
-.Fn LIST_REMOVE "TYPE *elm" "LIST_ENTRY NAME"
-.Fn LIST_SWAP "LIST_HEAD *head1" "LIST_HEAD *head2" "TYPE" "LIST_ENTRY NAME"
-.\"
-.Fn TAILQ_CONCAT "TAILQ_HEAD *head1" "TAILQ_HEAD *head2" "TAILQ_ENTRY NAME"
-.Fn TAILQ_EMPTY "TAILQ_HEAD *head"
-.Fn TAILQ_ENTRY "TYPE"
-.Fn TAILQ_FIRST "TAILQ_HEAD *head"
-.Fn TAILQ_FOREACH "TYPE *var" "TAILQ_HEAD *head" "TAILQ_ENTRY NAME"
-.Fn TAILQ_FOREACH_SAFE "TYPE *var" "TAILQ_HEAD *head" "TAILQ_ENTRY NAME" "TYPE *temp_var"
-.Fn TAILQ_FOREACH_REVERSE "TYPE *var" "TAILQ_HEAD *head" "HEADNAME" "TAILQ_ENTRY NAME"
-.Fn TAILQ_FOREACH_REVERSE_SAFE "TYPE *var" "TAILQ_HEAD *head" "HEADNAME" "TAILQ_ENTRY NAME" "TYPE *temp_var"
-.Fn TAILQ_HEAD "HEADNAME" "TYPE"
-.Fn TAILQ_HEAD_INITIALIZER "TAILQ_HEAD head"
-.Fn TAILQ_INIT "TAILQ_HEAD *head"
-.Fn TAILQ_INSERT_AFTER "TAILQ_HEAD *head" "TYPE *listelm" "TYPE *elm" "TAILQ_ENTRY NAME"
-.Fn TAILQ_INSERT_BEFORE "TYPE *listelm" "TYPE *elm" "TAILQ_ENTRY NAME"
-.Fn TAILQ_INSERT_HEAD "TAILQ_HEAD *head" "TYPE *elm" "TAILQ_ENTRY NAME"
-.Fn TAILQ_INSERT_TAIL "TAILQ_HEAD *head" "TYPE *elm" "TAILQ_ENTRY NAME"
-.Fn TAILQ_LAST "TAILQ_HEAD *head" "HEADNAME"
-.Fn TAILQ_NEXT "TYPE *elm" "TAILQ_ENTRY NAME"
-.Fn TAILQ_PREV "TYPE *elm" "HEADNAME" "TAILQ_ENTRY NAME"
-.Fn TAILQ_REMOVE "TAILQ_HEAD *head" "TYPE *elm" "TAILQ_ENTRY NAME"
-.Fn TAILQ_SWAP "TAILQ_HEAD *head1" "TAILQ_HEAD *head2" "TYPE" "TAILQ_ENTRY NAME"
-.\"
-.Sh DESCRIPTION
-These macros define and operate on four types of data structures:
-singly-linked lists, singly-linked tail queues, lists, and tail queues.
-All four structures support the following functionality:
-.Bl -enum -compact -offset indent
-.It
-Insertion of a new entry at the head of the list.
-.It
-Insertion of a new entry after any element in the list.
-.It
-O(1) removal of an entry from the head of the list.
-.It
-Forward traversal through the list.
-.It
-Swawpping the contents of two lists.
-.El
-.Pp
-Singly-linked lists are the simplest of the four data structures
-and support only the above functionality.
-Singly-linked lists are ideal for applications with large datasets
-and few or no removals,
-or for implementing a LIFO queue.
-Singly-linked lists add the following functionality:
-.Bl -enum -compact -offset indent
-.It
-O(n) removal of any entry in the list.
-.El
-.Pp
-Singly-linked tail queues add the following functionality:
-.Bl -enum -compact -offset indent
-.It
-Entries can be added at the end of a list.
-.It
-O(n) removal of any entry in the list.
-.It
-They may be concatenated.
-.El
-However:
-.Bl -enum -compact -offset indent
-.It
-All list insertions must specify the head of the list.
-.It
-Each head entry requires two pointers rather than one.
-.It
-Code size is about 15% greater and operations run about 20% slower
-than singly-linked lists.
-.El
-.Pp
-Singly-linked tailqs are ideal for applications with large datasets and
-few or no removals,
-or for implementing a FIFO queue.
-.Pp
-All doubly linked types of data structures (lists and tail queues)
-additionally allow:
-.Bl -enum -compact -offset indent
-.It
-Insertion of a new entry before any element in the list.
-.It
-O(1) removal of any entry in the list.
-.El
-However:
-.Bl -enum -compact -offset indent
-.It
-Each element requires two pointers rather than one.
-.It
-Code size and execution time of operations (except for removal) is about
-twice that of the singly-linked data-structures.
-.El
-.Pp
-Linked lists are the simplest of the doubly linked data structures and support
-only the above functionality over singly-linked lists.
-.Pp
-Tail queues add the following functionality:
-.Bl -enum -compact -offset indent
-.It
-Entries can be added at the end of a list.
-.It
-They may be traversed backwards, from tail to head.
-.It
-They may be concatenated.
-.El
-However:
-.Bl -enum -compact -offset indent
-.It
-All list insertions and removals must specify the head of the list.
-.It
-Each head entry requires two pointers rather than one.
-.It
-Code size is about 15% greater and operations run about 20% slower
-than singly-linked lists.
-.El
-.Pp
-In the macro definitions,
-.Fa TYPE
-is the name of a user defined structure,
-that must contain a field of type
-.Li SLIST_ENTRY ,
-.Li STAILQ_ENTRY ,
-.Li LIST_ENTRY ,
-or
-.Li TAILQ_ENTRY ,
-named
-.Fa NAME .
-The argument
-.Fa HEADNAME
-is the name of a user defined structure that must be declared
-using the macros
-.Li SLIST_HEAD ,
-.Li STAILQ_HEAD ,
-.Li LIST_HEAD ,
-or
-.Li TAILQ_HEAD .
-See the examples below for further explanation of how these
-macros are used.
-.Sh SINGLY-LINKED LISTS
-A singly-linked list is headed by a structure defined by the
-.Nm SLIST_HEAD
-macro.
-This structure contains a single pointer to the first element
-on the list.
-The elements are singly linked for minimum space and pointer manipulation
-overhead at the expense of O(n) removal for arbitrary elements.
-New elements can be added to the list after an existing element or
-at the head of the list.
-An
-.Fa SLIST_HEAD
-structure is declared as follows:
-.Bd -literal -offset indent
-SLIST_HEAD(HEADNAME, TYPE) head;
-.Ed
-.Pp
-where
-.Fa HEADNAME
-is the name of the structure to be defined, and
-.Fa TYPE
-is the type of the elements to be linked into the list.
-A pointer to the head of the list can later be declared as:
-.Bd -literal -offset indent
-struct HEADNAME *headp;
-.Ed
-.Pp
-(The names
-.Li head
-and
-.Li headp
-are user selectable.)
-.Pp
-The macro
-.Nm SLIST_HEAD_INITIALIZER
-evaluates to an initializer for the list
-.Fa head .
-.Pp
-The macro
-.Nm SLIST_EMPTY
-evaluates to true if there are no elements in the list.
-.Pp
-The macro
-.Nm SLIST_ENTRY
-declares a structure that connects the elements in
-the list.
-.Pp
-The macro
-.Nm SLIST_FIRST
-returns the first element in the list or NULL if the list is empty.
-.Pp
-The macro
-.Nm SLIST_FOREACH
-traverses the list referenced by
-.Fa head
-in the forward direction, assigning each element in
-turn to
-.Fa var .
-.Pp
-The macro
-.Nm SLIST_FOREACH_SAFE
-traverses the list referenced by
-.Fa head
-in the forward direction, assigning each element in
-turn to
-.Fa var .
-However, unlike
-.Fn SLIST_FOREACH
-here it is permitted to both remove
-.Fa var
-as well as free it from within the loop safely without interfering with the
-traversal.
-.Pp
-The macro
-.Nm SLIST_INIT
-initializes the list referenced by
-.Fa head .
-.Pp
-The macro
-.Nm SLIST_INSERT_HEAD
-inserts the new element
-.Fa elm
-at the head of the list.
-.Pp
-The macro
-.Nm SLIST_INSERT_AFTER
-inserts the new element
-.Fa elm
-after the element
-.Fa listelm .
-.Pp
-The macro
-.Nm SLIST_NEXT
-returns the next element in the list.
-.Pp
-The macro
-.Nm SLIST_REMOVE_AFTER
-removes the element after
-.Fa elm
-from the list. Unlike
-.Fa SLIST_REMOVE ,
-this macro does not traverse the entire list.
-.Pp
-The macro
-.Nm SLIST_REMOVE_HEAD
-removes the element
-.Fa elm
-from the head of the list.
-For optimum efficiency,
-elements being removed from the head of the list should explicitly use
-this macro instead of the generic
-.Fa SLIST_REMOVE
-macro.
-.Pp
-The macro
-.Nm SLIST_REMOVE
-removes the element
-.Fa elm
-from the list.
-.Pp
-The macro
-.Nm SLIST_SWAP
-swaps the contents of
-.Fa head1
-and
-.Fa head2 .
-.Sh SINGLY-LINKED LIST EXAMPLE
-.Bd -literal
-SLIST_HEAD(slisthead, entry) head =
-    SLIST_HEAD_INITIALIZER(head);
-struct slisthead *headp;		/* Singly-linked List head. */
-struct entry {
-	...
-	SLIST_ENTRY(entry) entries;	/* Singly-linked List. */
-	...
-} *n1, *n2, *n3, *np;
-
-SLIST_INIT(&head);			/* Initialize the list. */
-
-n1 = malloc(sizeof(struct entry));	/* Insert at the head. */
-SLIST_INSERT_HEAD(&head, n1, entries);
-
-n2 = malloc(sizeof(struct entry));	/* Insert after. */
-SLIST_INSERT_AFTER(n1, n2, entries);
-
-SLIST_REMOVE(&head, n2, entry, entries);/* Deletion. */
-free(n2);
-
-n3 = SLIST_FIRST(&head);
-SLIST_REMOVE_HEAD(&head, entries);	/* Deletion from the head. */
-free(n3);
-					/* Forward traversal. */
-SLIST_FOREACH(np, &head, entries)
-	np-> ...
-					/* Safe forward traversal. */
-SLIST_FOREACH_SAFE(np, &head, entries, np_temp) {
-	np->do_stuff();
-	...
-	SLIST_REMOVE(&head, np, entry, entries);
-	free(np);
-}
-
-while (!SLIST_EMPTY(&head)) {		/* List Deletion. */
-	n1 = SLIST_FIRST(&head);
-	SLIST_REMOVE_HEAD(&head, entries);
-	free(n1);
-}
-.Ed
-.Sh SINGLY-LINKED TAIL QUEUES
-A singly-linked tail queue is headed by a structure defined by the
-.Nm STAILQ_HEAD
-macro.
-This structure contains a pair of pointers,
-one to the first element in the tail queue and the other to
-the last element in the tail queue.
-The elements are singly linked for minimum space and pointer
-manipulation overhead at the expense of O(n) removal for arbitrary
-elements.
-New elements can be added to the tail queue after an existing element,
-at the head of the tail queue, or at the end of the tail queue.
-A
-.Fa STAILQ_HEAD
-structure is declared as follows:
-.Bd -literal -offset indent
-STAILQ_HEAD(HEADNAME, TYPE) head;
-.Ed
-.Pp
-where
-.Li HEADNAME
-is the name of the structure to be defined, and
-.Li TYPE
-is the type of the elements to be linked into the tail queue.
-A pointer to the head of the tail queue can later be declared as:
-.Bd -literal -offset indent
-struct HEADNAME *headp;
-.Ed
-.Pp
-(The names
-.Li head
-and
-.Li headp
-are user selectable.)
-.Pp
-The macro
-.Nm STAILQ_HEAD_INITIALIZER
-evaluates to an initializer for the tail queue
-.Fa head .
-.Pp
-The macro
-.Nm STAILQ_CONCAT
-concatenates the tail queue headed by
-.Fa head2
-onto the end of the one headed by
-.Fa head1
-removing all entries from the former.
-.Pp
-The macro
-.Nm STAILQ_EMPTY
-evaluates to true if there are no items on the tail queue.
-.Pp
-The macro
-.Nm STAILQ_ENTRY
-declares a structure that connects the elements in
-the tail queue.
-.Pp
-The macro
-.Nm STAILQ_FIRST
-returns the first item on the tail queue or NULL if the tail queue
-is empty.
-.Pp
-The macro
-.Nm STAILQ_FOREACH
-traverses the tail queue referenced by
-.Fa head
-in the forward direction, assigning each element
-in turn to
-.Fa var .
-.Pp
-The macro
-.Nm STAILQ_FOREACH_SAFE
-traverses the tail queue referenced by
-.Fa head
-in the forward direction, assigning each element
-in turn to
-.Fa var .
-However, unlike
-.Fn STAILQ_FOREACH
-here it is permitted to both remove
-.Fa var
-as well as free it from within the loop safely without interfering with the
-traversal.
-.Pp
-The macro
-.Nm STAILQ_INIT
-initializes the tail queue referenced by
-.Fa head .
-.Pp
-The macro
-.Nm STAILQ_INSERT_HEAD
-inserts the new element
-.Fa elm
-at the head of the tail queue.
-.Pp
-The macro
-.Nm STAILQ_INSERT_TAIL
-inserts the new element
-.Fa elm
-at the end of the tail queue.
-.Pp
-The macro
-.Nm STAILQ_INSERT_AFTER
-inserts the new element
-.Fa elm
-after the element
-.Fa listelm .
-.Pp
-The macro
-.Nm STAILQ_LAST
-returns the last item on the tail queue.
-If the tail queue is empty the return value is
-.Dv NULL .
-.Pp
-The macro
-.Nm STAILQ_NEXT
-returns the next item on the tail queue, or NULL this item is the last.
-.Pp
-The macro
-.Nm STAILQ_REMOVE_AFTER
-removes the element after
-.Fa elm
-from the tail queue. Unlike
-.Fa STAILQ_REMOVE ,
-this macro does not traverse the entire tail queue.
-.Pp
-The macro
-.Nm STAILQ_REMOVE_HEAD
-removes the element at the head of the tail queue.
-For optimum efficiency,
-elements being removed from the head of the tail queue should
-use this macro explicitly rather than the generic
-.Fa STAILQ_REMOVE
-macro.
-.Pp
-The macro
-.Nm STAILQ_REMOVE
-removes the element
-.Fa elm
-from the tail queue.
-.Pp
-The macro
-.Nm STAILQ_SWAP
-swaps the contents of
-.Fa head1
-and
-.Fa head2 .
-.Sh SINGLY-LINKED TAIL QUEUE EXAMPLE
-.Bd -literal
-STAILQ_HEAD(stailhead, entry) head =
-    STAILQ_HEAD_INITIALIZER(head);
-struct stailhead *headp;		/* Singly-linked tail queue head. */
-struct entry {
-	...
-	STAILQ_ENTRY(entry) entries;	/* Tail queue. */
-	...
-} *n1, *n2, *n3, *np;
-
-STAILQ_INIT(&head);			/* Initialize the queue. */
-
-n1 = malloc(sizeof(struct entry));	/* Insert at the head. */
-STAILQ_INSERT_HEAD(&head, n1, entries);
-
-n1 = malloc(sizeof(struct entry));	/* Insert at the tail. */
-STAILQ_INSERT_TAIL(&head, n1, entries);
-
-n2 = malloc(sizeof(struct entry));	/* Insert after. */
-STAILQ_INSERT_AFTER(&head, n1, n2, entries);
-					/* Deletion. */
-STAILQ_REMOVE(&head, n2, entry, entries);
-free(n2);
-					/* Deletion from the head. */
-n3 = STAILQ_FIRST(&head);
-STAILQ_REMOVE_HEAD(&head, entries);
-free(n3);
-					/* Forward traversal. */
-STAILQ_FOREACH(np, &head, entries)
-	np-> ...
-					/* Safe forward traversal. */
-STAILQ_FOREACH_SAFE(np, &head, entries, np_temp) {
-	np->do_stuff();
-	...
-	STAILQ_REMOVE(&head, np, entry, entries);
-	free(np);
-}
-					/* TailQ Deletion. */
-while (!STAILQ_EMPTY(&head)) {
-	n1 = STAILQ_FIRST(&head);
-	STAILQ_REMOVE_HEAD(&head, entries);
-	free(n1);
-}
-					/* Faster TailQ Deletion. */
-n1 = STAILQ_FIRST(&head);
-while (n1 != NULL) {
-	n2 = STAILQ_NEXT(n1, entries);
-	free(n1);
-	n1 = n2;
-}
-STAILQ_INIT(&head);
-.Ed
-.Sh LISTS
-A list is headed by a structure defined by the
-.Nm LIST_HEAD
-macro.
-This structure contains a single pointer to the first element
-on the list.
-The elements are doubly linked so that an arbitrary element can be
-removed without traversing the list.
-New elements can be added to the list after an existing element,
-before an existing element, or at the head of the list.
-A
-.Fa LIST_HEAD
-structure is declared as follows:
-.Bd -literal -offset indent
-LIST_HEAD(HEADNAME, TYPE) head;
-.Ed
-.Pp
-where
-.Fa HEADNAME
-is the name of the structure to be defined, and
-.Fa TYPE
-is the type of the elements to be linked into the list.
-A pointer to the head of the list can later be declared as:
-.Bd -literal -offset indent
-struct HEADNAME *headp;
-.Ed
-.Pp
-(The names
-.Li head
-and
-.Li headp
-are user selectable.)
-.Pp
-The macro
-.Nm LIST_HEAD_INITIALIZER
-evaluates to an initializer for the list
-.Fa head .
-.Pp
-The macro
-.Nm LIST_EMPTY
-evaluates to true if there are no elements in the list.
-.Pp
-The macro
-.Nm LIST_ENTRY
-declares a structure that connects the elements in
-the list.
-.Pp
-The macro
-.Nm LIST_FIRST
-returns the first element in the list or NULL if the list
-is empty.
-.Pp
-The macro
-.Nm LIST_FOREACH
-traverses the list referenced by
-.Fa head
-in the forward direction, assigning each element in turn to
-.Fa var .
-.Pp
-The macro
-.Nm LIST_FOREACH_SAFE
-traverses the list referenced by
-.Fa head
-in the forward direction, assigning each element in turn to
-.Fa var .
-However, unlike
-.Fn LIST_FOREACH
-here it is permitted to both remove
-.Fa var
-as well as free it from within the loop safely without interfering with the
-traversal.
-.Pp
-The macro
-.Nm LIST_INIT
-initializes the list referenced by
-.Fa head .
-.Pp
-The macro
-.Nm LIST_INSERT_HEAD
-inserts the new element
-.Fa elm
-at the head of the list.
-.Pp
-The macro
-.Nm LIST_INSERT_AFTER
-inserts the new element
-.Fa elm
-after the element
-.Fa listelm .
-.Pp
-The macro
-.Nm LIST_INSERT_BEFORE
-inserts the new element
-.Fa elm
-before the element
-.Fa listelm .
-.Pp
-The macro
-.Nm LIST_NEXT
-returns the next element in the list, or NULL if this is the last.
-.Pp
-The macro
-.Nm LIST_REMOVE
-removes the element
-.Fa elm
-from the list.
-.Pp
-The macro
-.Nm LIST_SWAP
-swaps the contents of
-.Fa head1
-and
-.Fa head2 .
-.Sh LIST EXAMPLE
-.Bd -literal
-LIST_HEAD(listhead, entry) head =
-    LIST_HEAD_INITIALIZER(head);
-struct listhead *headp;			/* List head. */
-struct entry {
-	...
-	LIST_ENTRY(entry) entries;	/* List. */
-	...
-} *n1, *n2, *n3, *np, *np_temp;
-
-LIST_INIT(&head);			/* Initialize the list. */
-
-n1 = malloc(sizeof(struct entry));	/* Insert at the head. */
-LIST_INSERT_HEAD(&head, n1, entries);
-
-n2 = malloc(sizeof(struct entry));	/* Insert after. */
-LIST_INSERT_AFTER(n1, n2, entries);
-
-n3 = malloc(sizeof(struct entry));	/* Insert before. */
-LIST_INSERT_BEFORE(n2, n3, entries);
-
-LIST_REMOVE(n2, entries);		/* Deletion. */
-free(n2);
-					/* Forward traversal. */
-LIST_FOREACH(np, &head, entries)
-	np-> ...
-
-					/* Safe forward traversal. */
-LIST_FOREACH_SAFE(np, &head, entries, np_temp) {
-	np->do_stuff();
-	...
-	LIST_REMOVE(np, entries);
-	free(np);
-}
-
-while (!LIST_EMPTY(&head)) {		/* List Deletion. */
-	n1 = LIST_FIRST(&head);
-	LIST_REMOVE(n1, entries);
-	free(n1);
-}
-
-n1 = LIST_FIRST(&head);			/* Faster List Deletion. */
-while (n1 != NULL) {
-	n2 = LIST_NEXT(n1, entries);
-	free(n1);
-	n1 = n2;
-}
-LIST_INIT(&head);
-.Ed
-.Sh TAIL QUEUES
-A tail queue is headed by a structure defined by the
-.Nm TAILQ_HEAD
-macro.
-This structure contains a pair of pointers,
-one to the first element in the tail queue and the other to
-the last element in the tail queue.
-The elements are doubly linked so that an arbitrary element can be
-removed without traversing the tail queue.
-New elements can be added to the tail queue after an existing element,
-before an existing element, at the head of the tail queue,
-or at the end of the tail queue.
-A
-.Fa TAILQ_HEAD
-structure is declared as follows:
-.Bd -literal -offset indent
-TAILQ_HEAD(HEADNAME, TYPE) head;
-.Ed
-.Pp
-where
-.Li HEADNAME
-is the name of the structure to be defined, and
-.Li TYPE
-is the type of the elements to be linked into the tail queue.
-A pointer to the head of the tail queue can later be declared as:
-.Bd -literal -offset indent
-struct HEADNAME *headp;
-.Ed
-.Pp
-(The names
-.Li head
-and
-.Li headp
-are user selectable.)
-.Pp
-The macro
-.Nm TAILQ_HEAD_INITIALIZER
-evaluates to an initializer for the tail queue
-.Fa head .
-.Pp
-The macro
-.Nm TAILQ_CONCAT
-concatenates the tail queue headed by
-.Fa head2
-onto the end of the one headed by
-.Fa head1
-removing all entries from the former.
-.Pp
-The macro
-.Nm TAILQ_EMPTY
-evaluates to true if there are no items on the tail queue.
-.Pp
-The macro
-.Nm TAILQ_ENTRY
-declares a structure that connects the elements in
-the tail queue.
-.Pp
-The macro
-.Nm TAILQ_FIRST
-returns the first item on the tail queue or NULL if the tail queue
-is empty.
-.Pp
-The macro
-.Nm TAILQ_FOREACH
-traverses the tail queue referenced by
-.Fa head
-in the forward direction, assigning each element in turn to
-.Fa var .
-.Fa var
-is set to
-.Dv NULL
-if the loop completes normally, or if there were no elements.
-.Pp
-The macro
-.Nm TAILQ_FOREACH_REVERSE
-traverses the tail queue referenced by
-.Fa head
-in the reverse direction, assigning each element in turn to
-.Fa var .
-.Pp
-The macros
-.Nm TAILQ_FOREACH_SAFE
-and
-.Nm TAILQ_FOREACH_REVERSE_SAFE
-traverse the list referenced by
-.Fa head
-in the forward or reverse direction respectively,
-assigning each element in turn to
-.Fa var .
-However, unlike their unsafe counterparts,
-.Nm TAILQ_FOREACH
-and
-.Nm TAILQ_FOREACH_REVERSE
-permit to both remove
-.Fa var
-as well as free it from within the loop safely without interfering with the
-traversal.
-.Pp
-The macro
-.Nm TAILQ_INIT
-initializes the tail queue referenced by
-.Fa head .
-.Pp
-The macro
-.Nm TAILQ_INSERT_HEAD
-inserts the new element
-.Fa elm
-at the head of the tail queue.
-.Pp
-The macro
-.Nm TAILQ_INSERT_TAIL
-inserts the new element
-.Fa elm
-at the end of the tail queue.
-.Pp
-The macro
-.Nm TAILQ_INSERT_AFTER
-inserts the new element
-.Fa elm
-after the element
-.Fa listelm .
-.Pp
-The macro
-.Nm TAILQ_INSERT_BEFORE
-inserts the new element
-.Fa elm
-before the element
-.Fa listelm .
-.Pp
-The macro
-.Nm TAILQ_LAST
-returns the last item on the tail queue.
-If the tail queue is empty the return value is
-.Dv NULL .
-.Pp
-The macro
-.Nm TAILQ_NEXT
-returns the next item on the tail queue, or NULL if this item is the last.
-.Pp
-The macro
-.Nm TAILQ_PREV
-returns the previous item on the tail queue, or NULL if this item
-is the first.
-.Pp
-The macro
-.Nm TAILQ_REMOVE
-removes the element
-.Fa elm
-from the tail queue.
-.Pp
-The macro
-.Nm TAILQ_SWAP
-swaps the contents of
-.Fa head1
-and
-.Fa head2 .
-.Sh TAIL QUEUE EXAMPLE
-.Bd -literal
-TAILQ_HEAD(tailhead, entry) head =
-    TAILQ_HEAD_INITIALIZER(head);
-struct tailhead *headp;			/* Tail queue head. */
-struct entry {
-	...
-	TAILQ_ENTRY(entry) entries;	/* Tail queue. */
-	...
-} *n1, *n2, *n3, *np;
-
-TAILQ_INIT(&head);			/* Initialize the queue. */
-
-n1 = malloc(sizeof(struct entry));	/* Insert at the head. */
-TAILQ_INSERT_HEAD(&head, n1, entries);
-
-n1 = malloc(sizeof(struct entry));	/* Insert at the tail. */
-TAILQ_INSERT_TAIL(&head, n1, entries);
-
-n2 = malloc(sizeof(struct entry));	/* Insert after. */
-TAILQ_INSERT_AFTER(&head, n1, n2, entries);
-
-n3 = malloc(sizeof(struct entry));	/* Insert before. */
-TAILQ_INSERT_BEFORE(n2, n3, entries);
-
-TAILQ_REMOVE(&head, n2, entries);	/* Deletion. */
-free(n2);
-					/* Forward traversal. */
-TAILQ_FOREACH(np, &head, entries)
-	np-> ...
-					/* Safe forward traversal. */
-TAILQ_FOREACH_SAFE(np, &head, entries, np_temp) {
-	np->do_stuff();
-	...
-	TAILQ_REMOVE(&head, np, entries);
-	free(np);
-}
-					/* Reverse traversal. */
-TAILQ_FOREACH_REVERSE(np, &head, tailhead, entries)
-	np-> ...
-					/* TailQ Deletion. */
-while (!TAILQ_EMPTY(&head)) {
-	n1 = TAILQ_FIRST(&head);
-	TAILQ_REMOVE(&head, n1, entries);
-	free(n1);
-}
-					/* Faster TailQ Deletion. */
-n1 = TAILQ_FIRST(&head);
-while (n1 != NULL) {
-	n2 = TAILQ_NEXT(n1, entries);
-	free(n1);
-	n1 = n2;
-}
-TAILQ_INIT(&head);
-.Ed
-.Sh SEE ALSO
-.Xr tree 3
-.Sh HISTORY
-The
-.Nm queue
-functions first appeared in
-.Bx 4.4 .
diff --git a/tools/include/xen-external/bsd-sys-queue-h-seddery b/tools/include/xen-external/bsd-sys-queue-h-seddery
deleted file mode 100755
index 3f8716d9ff..0000000000
--- a/tools/include/xen-external/bsd-sys-queue-h-seddery
+++ /dev/null
@@ -1,74 +0,0 @@
-#!/usr/bin/perl -p
-#
-# This script is part of the Xen build system.  It has a very
-# permissive licence to avoid complicating the licence of the
-# generated header file and to allow this seddery to be reused by
-# other projects.
-#
-# Permission is hereby granted, free of charge, to any person
-# obtaining a copy of this individual file (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) 2011 Citrix Ltd
-
-our $namespace, $ucnamespace;
-
-BEGIN {
-    die unless @ARGV;
-    $namespace = pop @ARGV;
-    $namespace =~ s/^--prefix=// or die;
-    $ucnamespace = uc $namespace;
-
-    print <<END or die $!;
-/*
- * DO NOT EDIT THIS FILE
- *
- * Generated automatically by bsd-sys-queue-h-seddery to
- *  - introduce ${ucnamespace}_ and ${namespace}_ namespace prefixes
- *  - turn "struct type" into "type" so that type arguments
- *     to the macros are type names not struct tags
- *  - remove the reference to sys/cdefs.h, which is not needed
- *
- * The purpose of this seddery is to allow the resulting file to be
- * freely included by software which might also want to include other
- * list macros; to make it usable when struct tags are not being used
- * or not known; to make it more portable.
- */
-END
-}
-
-s/\b( _SYS_QUEUE |
-      SLIST | LIST | STAILQ | TAILQ | QUEUE
-      )/${ucnamespace}_$1/xg;
-
-s/\b( TRACEBUF | TRASHIT |
-      QMD_
-      )/${ucnamespace}__$1/xg;
-
-s/\b(
-      qm_
-      )/${namespace}__$1/xg;
-
-s/\b struct \s+ type \b/type/xg;
-
-s,^\#include.*sys/cdefs.*,/* $& */,xg;
-
-s,\b __offsetof \b ,offsetof,xg;
-
-s/\b( NULL )/0/xg;
diff --git a/tools/include/xen-external/bsd-sys-queue.h b/tools/include/xen-external/bsd-sys-queue.h
deleted file mode 100644
index 274e636c53..0000000000
--- a/tools/include/xen-external/bsd-sys-queue.h
+++ /dev/null
@@ -1,637 +0,0 @@
-/*-
- * Copyright (c) 1991, 1993
- *	The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *	@(#)queue.h	8.5 (Berkeley) 8/20/94
- * $FreeBSD$
- */
-
-#ifndef _SYS_QUEUE_H_
-#define	_SYS_QUEUE_H_
-
-#include <sys/cdefs.h>
-
-/*
- * This file defines four types of data structures: singly-linked lists,
- * singly-linked tail queues, lists and tail queues.
- *
- * A singly-linked list is headed by a single forward pointer. The elements
- * are singly linked for minimum space and pointer manipulation overhead at
- * the expense of O(n) removal for arbitrary elements. New elements can be
- * added to the list after an existing element or at the head of the list.
- * Elements being removed from the head of the list should use the explicit
- * macro for this purpose for optimum efficiency. A singly-linked list may
- * only be traversed in the forward direction.  Singly-linked lists are ideal
- * for applications with large datasets and few or no removals or for
- * implementing a LIFO queue.
- *
- * A singly-linked tail queue is headed by a pair of pointers, one to the
- * head of the list and the other to the tail of the list. The elements are
- * singly linked for minimum space and pointer manipulation overhead at the
- * expense of O(n) removal for arbitrary elements. New elements can be added
- * to the list after an existing element, at the head of the list, or at the
- * end of the list. Elements being removed from the head of the tail queue
- * should use the explicit macro for this purpose for optimum efficiency.
- * A singly-linked tail queue may only be traversed in the forward direction.
- * Singly-linked tail queues are ideal for applications with large datasets
- * and few or no removals or for implementing a FIFO queue.
- *
- * A list is headed by a single forward pointer (or an array of forward
- * pointers for a hash table header). The elements are doubly linked
- * so that an arbitrary element can be removed without a need to
- * traverse the list. New elements can be added to the list before
- * or after an existing element or at the head of the list. A list
- * may only be traversed in the forward direction.
- *
- * A tail queue is headed by a pair of pointers, one to the head of the
- * list and the other to the tail of the list. The elements are doubly
- * linked so that an arbitrary element can be removed without a need to
- * traverse the list. New elements can be added to the list before or
- * after an existing element, at the head of the list, or at the end of
- * the list. A tail queue may be traversed in either direction.
- *
- * For details on the use of these macros, see the queue(3) manual page.
- *
- *
- *				SLIST	LIST	STAILQ	TAILQ
- * _HEAD			+	+	+	+
- * _HEAD_INITIALIZER		+	+	+	+
- * _ENTRY			+	+	+	+
- * _INIT			+	+	+	+
- * _EMPTY			+	+	+	+
- * _FIRST			+	+	+	+
- * _NEXT			+	+	+	+
- * _PREV			-	-	-	+
- * _LAST			-	-	+	+
- * _FOREACH			+	+	+	+
- * _FOREACH_SAFE		+	+	+	+
- * _FOREACH_REVERSE		-	-	-	+
- * _FOREACH_REVERSE_SAFE	-	-	-	+
- * _INSERT_HEAD			+	+	+	+
- * _INSERT_BEFORE		-	+	-	+
- * _INSERT_AFTER		+	+	+	+
- * _INSERT_TAIL			-	-	+	+
- * _CONCAT			-	-	+	+
- * _REMOVE_AFTER		+	-	+	-
- * _REMOVE_HEAD			+	-	+	-
- * _REMOVE			+	+	+	+
- * _SWAP			+	+	+	+
- *
- */
-#ifdef QUEUE_MACRO_DEBUG
-/* Store the last 2 places the queue element or head was altered */
-struct qm_trace {
-	char * lastfile;
-	int lastline;
-	char * prevfile;
-	int prevline;
-};
-
-#define	TRACEBUF	struct qm_trace trace;
-#define	TRASHIT(x)	do {(x) = (void *)-1;} while (0)
-#define	QMD_SAVELINK(name, link)	void **name = (void *)&(link)
-
-#define	QMD_TRACE_HEAD(head) do {					\
-	(head)->trace.prevline = (head)->trace.lastline;		\
-	(head)->trace.prevfile = (head)->trace.lastfile;		\
-	(head)->trace.lastline = __LINE__;				\
-	(head)->trace.lastfile = __FILE__;				\
-} while (0)
-
-#define	QMD_TRACE_ELEM(elem) do {					\
-	(elem)->trace.prevline = (elem)->trace.lastline;		\
-	(elem)->trace.prevfile = (elem)->trace.lastfile;		\
-	(elem)->trace.lastline = __LINE__;				\
-	(elem)->trace.lastfile = __FILE__;				\
-} while (0)
-
-#else
-#define	QMD_TRACE_ELEM(elem)
-#define	QMD_TRACE_HEAD(head)
-#define	QMD_SAVELINK(name, link)
-#define	TRACEBUF
-#define	TRASHIT(x)
-#endif	/* QUEUE_MACRO_DEBUG */
-
-/*
- * Singly-linked List declarations.
- */
-#define	SLIST_HEAD(name, type)						\
-struct name {								\
-	struct type *slh_first;	/* first element */			\
-}
-
-#define	SLIST_HEAD_INITIALIZER(head)					\
-	{ NULL }
-
-#define	SLIST_ENTRY(type)						\
-struct {								\
-	struct type *sle_next;	/* next element */			\
-}
-
-/*
- * Singly-linked List functions.
- */
-#define	SLIST_EMPTY(head)	((head)->slh_first == NULL)
-
-#define	SLIST_FIRST(head)	((head)->slh_first)
-
-#define	SLIST_FOREACH(var, head, field)					\
-	for ((var) = SLIST_FIRST((head));				\
-	    (var);							\
-	    (var) = SLIST_NEXT((var), field))
-
-#define	SLIST_FOREACH_SAFE(var, head, field, tvar)			\
-	for ((var) = SLIST_FIRST((head));				\
-	    (var) && ((tvar) = SLIST_NEXT((var), field), 1);		\
-	    (var) = (tvar))
-
-#define	SLIST_FOREACH_PREVPTR(var, varp, head, field)			\
-	for ((varp) = &SLIST_FIRST((head));				\
-	    ((var) = *(varp)) != NULL;					\
-	    (varp) = &SLIST_NEXT((var), field))
-
-#define	SLIST_INIT(head) do {						\
-	SLIST_FIRST((head)) = NULL;					\
-} while (0)
-
-#define	SLIST_INSERT_AFTER(slistelm, elm, field) do {			\
-	SLIST_NEXT((elm), field) = SLIST_NEXT((slistelm), field);	\
-	SLIST_NEXT((slistelm), field) = (elm);				\
-} while (0)
-
-#define	SLIST_INSERT_HEAD(head, elm, field) do {			\
-	SLIST_NEXT((elm), field) = SLIST_FIRST((head));			\
-	SLIST_FIRST((head)) = (elm);					\
-} while (0)
-
-#define	SLIST_NEXT(elm, field)	((elm)->field.sle_next)
-
-#define	SLIST_REMOVE(head, elm, type, field) do {			\
-	QMD_SAVELINK(oldnext, (elm)->field.sle_next);			\
-	if (SLIST_FIRST((head)) == (elm)) {				\
-		SLIST_REMOVE_HEAD((head), field);			\
-	}								\
-	else {								\
-		struct type *curelm = SLIST_FIRST((head));		\
-		while (SLIST_NEXT(curelm, field) != (elm))		\
-			curelm = SLIST_NEXT(curelm, field);		\
-		SLIST_REMOVE_AFTER(curelm, field);			\
-	}								\
-	TRASHIT(*oldnext);						\
-} while (0)
-
-#define SLIST_REMOVE_AFTER(elm, field) do {				\
-	SLIST_NEXT(elm, field) =					\
-	    SLIST_NEXT(SLIST_NEXT(elm, field), field);			\
-} while (0)
-
-#define	SLIST_REMOVE_HEAD(head, field) do {				\
-	SLIST_FIRST((head)) = SLIST_NEXT(SLIST_FIRST((head)), field);	\
-} while (0)
-
-#define SLIST_SWAP(head1, head2, type) do {				\
-	struct type *swap_first = SLIST_FIRST(head1);			\
-	SLIST_FIRST(head1) = SLIST_FIRST(head2);			\
-	SLIST_FIRST(head2) = swap_first;				\
-} while (0)
-
-/*
- * Singly-linked Tail queue declarations.
- */
-#define	STAILQ_HEAD(name, type)						\
-struct name {								\
-	struct type *stqh_first;/* first element */			\
-	struct type **stqh_last;/* addr of last next element */		\
-}
-
-#define	STAILQ_HEAD_INITIALIZER(head)					\
-	{ NULL, &(head).stqh_first }
-
-#define	STAILQ_ENTRY(type)						\
-struct {								\
-	struct type *stqe_next;	/* next element */			\
-}
-
-/*
- * Singly-linked Tail queue functions.
- */
-#define	STAILQ_CONCAT(head1, head2) do {				\
-	if (!STAILQ_EMPTY((head2))) {					\
-		*(head1)->stqh_last = (head2)->stqh_first;		\
-		(head1)->stqh_last = (head2)->stqh_last;		\
-		STAILQ_INIT((head2));					\
-	}								\
-} while (0)
-
-#define	STAILQ_EMPTY(head)	((head)->stqh_first == NULL)
-
-#define	STAILQ_FIRST(head)	((head)->stqh_first)
-
-#define	STAILQ_FOREACH(var, head, field)				\
-	for((var) = STAILQ_FIRST((head));				\
-	   (var);							\
-	   (var) = STAILQ_NEXT((var), field))
-
-
-#define	STAILQ_FOREACH_SAFE(var, head, field, tvar)			\
-	for ((var) = STAILQ_FIRST((head));				\
-	    (var) && ((tvar) = STAILQ_NEXT((var), field), 1);		\
-	    (var) = (tvar))
-
-#define	STAILQ_INIT(head) do {						\
-	STAILQ_FIRST((head)) = NULL;					\
-	(head)->stqh_last = &STAILQ_FIRST((head));			\
-} while (0)
-
-#define	STAILQ_INSERT_AFTER(head, tqelm, elm, field) do {		\
-	if ((STAILQ_NEXT((elm), field) = STAILQ_NEXT((tqelm), field)) == NULL)\
-		(head)->stqh_last = &STAILQ_NEXT((elm), field);		\
-	STAILQ_NEXT((tqelm), field) = (elm);				\
-} while (0)
-
-#define	STAILQ_INSERT_HEAD(head, elm, field) do {			\
-	if ((STAILQ_NEXT((elm), field) = STAILQ_FIRST((head))) == NULL)	\
-		(head)->stqh_last = &STAILQ_NEXT((elm), field);		\
-	STAILQ_FIRST((head)) = (elm);					\
-} while (0)
-
-#define	STAILQ_INSERT_TAIL(head, elm, field) do {			\
-	STAILQ_NEXT((elm), field) = NULL;				\
-	*(head)->stqh_last = (elm);					\
-	(head)->stqh_last = &STAILQ_NEXT((elm), field);			\
-} while (0)
-
-#define	STAILQ_LAST(head, type, field)					\
-	(STAILQ_EMPTY((head)) ?						\
-		NULL :							\
-	        ((struct type *)(void *)				\
-		((char *)((head)->stqh_last) - __offsetof(struct type, field))))
-
-#define	STAILQ_NEXT(elm, field)	((elm)->field.stqe_next)
-
-#define	STAILQ_REMOVE(head, elm, type, field) do {			\
-	QMD_SAVELINK(oldnext, (elm)->field.stqe_next);			\
-	if (STAILQ_FIRST((head)) == (elm)) {				\
-		STAILQ_REMOVE_HEAD((head), field);			\
-	}								\
-	else {								\
-		struct type *curelm = STAILQ_FIRST((head));		\
-		while (STAILQ_NEXT(curelm, field) != (elm))		\
-			curelm = STAILQ_NEXT(curelm, field);		\
-		STAILQ_REMOVE_AFTER(head, curelm, field);		\
-	}								\
-	TRASHIT(*oldnext);						\
-} while (0)
-
-#define STAILQ_REMOVE_AFTER(head, elm, field) do {			\
-	if ((STAILQ_NEXT(elm, field) =					\
-	     STAILQ_NEXT(STAILQ_NEXT(elm, field), field)) == NULL)	\
-		(head)->stqh_last = &STAILQ_NEXT((elm), field);		\
-} while (0)
-
-#define	STAILQ_REMOVE_HEAD(head, field) do {				\
-	if ((STAILQ_FIRST((head)) =					\
-	     STAILQ_NEXT(STAILQ_FIRST((head)), field)) == NULL)		\
-		(head)->stqh_last = &STAILQ_FIRST((head));		\
-} while (0)
-
-#define STAILQ_SWAP(head1, head2, type) do {				\
-	struct type *swap_first = STAILQ_FIRST(head1);			\
-	struct type **swap_last = (head1)->stqh_last;			\
-	STAILQ_FIRST(head1) = STAILQ_FIRST(head2);			\
-	(head1)->stqh_last = (head2)->stqh_last;			\
-	STAILQ_FIRST(head2) = swap_first;				\
-	(head2)->stqh_last = swap_last;					\
-	if (STAILQ_EMPTY(head1))					\
-		(head1)->stqh_last = &STAILQ_FIRST(head1);		\
-	if (STAILQ_EMPTY(head2))					\
-		(head2)->stqh_last = &STAILQ_FIRST(head2);		\
-} while (0)
-
-
-/*
- * List declarations.
- */
-#define	LIST_HEAD(name, type)						\
-struct name {								\
-	struct type *lh_first;	/* first element */			\
-}
-
-#define	LIST_HEAD_INITIALIZER(head)					\
-	{ NULL }
-
-#define	LIST_ENTRY(type)						\
-struct {								\
-	struct type *le_next;	/* next element */			\
-	struct type **le_prev;	/* address of previous next element */	\
-}
-
-/*
- * List functions.
- */
-
-#if (defined(_KERNEL) && defined(INVARIANTS))
-#define	QMD_LIST_CHECK_HEAD(head, field) do {				\
-	if (LIST_FIRST((head)) != NULL &&				\
-	    LIST_FIRST((head))->field.le_prev !=			\
-	     &LIST_FIRST((head)))					\
-		panic("Bad list head %p first->prev != head", (head));	\
-} while (0)
-
-#define	QMD_LIST_CHECK_NEXT(elm, field) do {				\
-	if (LIST_NEXT((elm), field) != NULL &&				\
-	    LIST_NEXT((elm), field)->field.le_prev !=			\
-	     &((elm)->field.le_next))					\
-	     	panic("Bad link elm %p next->prev != elm", (elm));	\
-} while (0)
-
-#define	QMD_LIST_CHECK_PREV(elm, field) do {				\
-	if (*(elm)->field.le_prev != (elm))				\
-		panic("Bad link elm %p prev->next != elm", (elm));	\
-} while (0)
-#else
-#define	QMD_LIST_CHECK_HEAD(head, field)
-#define	QMD_LIST_CHECK_NEXT(elm, field)
-#define	QMD_LIST_CHECK_PREV(elm, field)
-#endif /* (_KERNEL && INVARIANTS) */
-
-#define	LIST_EMPTY(head)	((head)->lh_first == NULL)
-
-#define	LIST_FIRST(head)	((head)->lh_first)
-
-#define	LIST_FOREACH(var, head, field)					\
-	for ((var) = LIST_FIRST((head));				\
-	    (var);							\
-	    (var) = LIST_NEXT((var), field))
-
-#define	LIST_FOREACH_SAFE(var, head, field, tvar)			\
-	for ((var) = LIST_FIRST((head));				\
-	    (var) && ((tvar) = LIST_NEXT((var), field), 1);		\
-	    (var) = (tvar))
-
-#define	LIST_INIT(head) do {						\
-	LIST_FIRST((head)) = NULL;					\
-} while (0)
-
-#define	LIST_INSERT_AFTER(listelm, elm, field) do {			\
-	QMD_LIST_CHECK_NEXT(listelm, field);				\
-	if ((LIST_NEXT((elm), field) = LIST_NEXT((listelm), field)) != NULL)\
-		LIST_NEXT((listelm), field)->field.le_prev =		\
-		    &LIST_NEXT((elm), field);				\
-	LIST_NEXT((listelm), field) = (elm);				\
-	(elm)->field.le_prev = &LIST_NEXT((listelm), field);		\
-} while (0)
-
-#define	LIST_INSERT_BEFORE(listelm, elm, field) do {			\
-	QMD_LIST_CHECK_PREV(listelm, field);				\
-	(elm)->field.le_prev = (listelm)->field.le_prev;		\
-	LIST_NEXT((elm), field) = (listelm);				\
-	*(listelm)->field.le_prev = (elm);				\
-	(listelm)->field.le_prev = &LIST_NEXT((elm), field);		\
-} while (0)
-
-#define	LIST_INSERT_HEAD(head, elm, field) do {				\
-	QMD_LIST_CHECK_HEAD((head), field);				\
-	if ((LIST_NEXT((elm), field) = LIST_FIRST((head))) != NULL)	\
-		LIST_FIRST((head))->field.le_prev = &LIST_NEXT((elm), field);\
-	LIST_FIRST((head)) = (elm);					\
-	(elm)->field.le_prev = &LIST_FIRST((head));			\
-} while (0)
-
-#define	LIST_NEXT(elm, field)	((elm)->field.le_next)
-
-#define	LIST_REMOVE(elm, field) do {					\
-	QMD_SAVELINK(oldnext, (elm)->field.le_next);			\
-	QMD_SAVELINK(oldprev, (elm)->field.le_prev);			\
-	QMD_LIST_CHECK_NEXT(elm, field);				\
-	QMD_LIST_CHECK_PREV(elm, field);				\
-	if (LIST_NEXT((elm), field) != NULL)				\
-		LIST_NEXT((elm), field)->field.le_prev = 		\
-		    (elm)->field.le_prev;				\
-	*(elm)->field.le_prev = LIST_NEXT((elm), field);		\
-	TRASHIT(*oldnext);						\
-	TRASHIT(*oldprev);						\
-} while (0)
-
-#define LIST_SWAP(head1, head2, type, field) do {			\
-	struct type *swap_tmp = LIST_FIRST((head1));			\
-	LIST_FIRST((head1)) = LIST_FIRST((head2));			\
-	LIST_FIRST((head2)) = swap_tmp;					\
-	if ((swap_tmp = LIST_FIRST((head1))) != NULL)			\
-		swap_tmp->field.le_prev = &LIST_FIRST((head1));		\
-	if ((swap_tmp = LIST_FIRST((head2))) != NULL)			\
-		swap_tmp->field.le_prev = &LIST_FIRST((head2));		\
-} while (0)
-
-/*
- * Tail queue declarations.
- */
-#define	TAILQ_HEAD(name, type)						\
-struct name {								\
-	struct type *tqh_first;	/* first element */			\
-	struct type **tqh_last;	/* addr of last next element */		\
-	TRACEBUF							\
-}
-
-#define	TAILQ_HEAD_INITIALIZER(head)					\
-	{ NULL, &(head).tqh_first }
-
-#define	TAILQ_ENTRY(type)						\
-struct {								\
-	struct type *tqe_next;	/* next element */			\
-	struct type **tqe_prev;	/* address of previous next element */	\
-	TRACEBUF							\
-}
-
-/*
- * Tail queue functions.
- */
-#if (defined(_KERNEL) && defined(INVARIANTS))
-#define	QMD_TAILQ_CHECK_HEAD(head, field) do {				\
-	if (!TAILQ_EMPTY(head) &&					\
-	    TAILQ_FIRST((head))->field.tqe_prev !=			\
-	     &TAILQ_FIRST((head)))					\
-		panic("Bad tailq head %p first->prev != head", (head));	\
-} while (0)
-
-#define	QMD_TAILQ_CHECK_TAIL(head, field) do {				\
-	if (*(head)->tqh_last != NULL)					\
-	    	panic("Bad tailq NEXT(%p->tqh_last) != NULL", (head)); 	\
-} while (0)
-
-#define	QMD_TAILQ_CHECK_NEXT(elm, field) do {				\
-	if (TAILQ_NEXT((elm), field) != NULL &&				\
-	    TAILQ_NEXT((elm), field)->field.tqe_prev !=			\
-	     &((elm)->field.tqe_next))					\
-		panic("Bad link elm %p next->prev != elm", (elm));	\
-} while (0)
-
-#define	QMD_TAILQ_CHECK_PREV(elm, field) do {				\
-	if (*(elm)->field.tqe_prev != (elm))				\
-		panic("Bad link elm %p prev->next != elm", (elm));	\
-} while (0)
-#else
-#define	QMD_TAILQ_CHECK_HEAD(head, field)
-#define	QMD_TAILQ_CHECK_TAIL(head, headname)
-#define	QMD_TAILQ_CHECK_NEXT(elm, field)
-#define	QMD_TAILQ_CHECK_PREV(elm, field)
-#endif /* (_KERNEL && INVARIANTS) */
-
-#define	TAILQ_CONCAT(head1, head2, field) do {				\
-	if (!TAILQ_EMPTY(head2)) {					\
-		*(head1)->tqh_last = (head2)->tqh_first;		\
-		(head2)->tqh_first->field.tqe_prev = (head1)->tqh_last;	\
-		(head1)->tqh_last = (head2)->tqh_last;			\
-		TAILQ_INIT((head2));					\
-		QMD_TRACE_HEAD(head1);					\
-		QMD_TRACE_HEAD(head2);					\
-	}								\
-} while (0)
-
-#define	TAILQ_EMPTY(head)	((head)->tqh_first == NULL)
-
-#define	TAILQ_FIRST(head)	((head)->tqh_first)
-
-#define	TAILQ_FOREACH(var, head, field)					\
-	for ((var) = TAILQ_FIRST((head));				\
-	    (var);							\
-	    (var) = TAILQ_NEXT((var), field))
-
-#define	TAILQ_FOREACH_SAFE(var, head, field, tvar)			\
-	for ((var) = TAILQ_FIRST((head));				\
-	    (var) && ((tvar) = TAILQ_NEXT((var), field), 1);		\
-	    (var) = (tvar))
-
-#define	TAILQ_FOREACH_REVERSE(var, head, headname, field)		\
-	for ((var) = TAILQ_LAST((head), headname);			\
-	    (var);							\
-	    (var) = TAILQ_PREV((var), headname, field))
-
-#define	TAILQ_FOREACH_REVERSE_SAFE(var, head, headname, field, tvar)	\
-	for ((var) = TAILQ_LAST((head), headname);			\
-	    (var) && ((tvar) = TAILQ_PREV((var), headname, field), 1);	\
-	    (var) = (tvar))
-
-#define	TAILQ_INIT(head) do {						\
-	TAILQ_FIRST((head)) = NULL;					\
-	(head)->tqh_last = &TAILQ_FIRST((head));			\
-	QMD_TRACE_HEAD(head);						\
-} while (0)
-
-#define	TAILQ_INSERT_AFTER(head, listelm, elm, field) do {		\
-	QMD_TAILQ_CHECK_NEXT(listelm, field);				\
-	if ((TAILQ_NEXT((elm), field) = TAILQ_NEXT((listelm), field)) != NULL)\
-		TAILQ_NEXT((elm), field)->field.tqe_prev = 		\
-		    &TAILQ_NEXT((elm), field);				\
-	else {								\
-		(head)->tqh_last = &TAILQ_NEXT((elm), field);		\
-		QMD_TRACE_HEAD(head);					\
-	}								\
-	TAILQ_NEXT((listelm), field) = (elm);				\
-	(elm)->field.tqe_prev = &TAILQ_NEXT((listelm), field);		\
-	QMD_TRACE_ELEM(&(elm)->field);					\
-	QMD_TRACE_ELEM(&listelm->field);				\
-} while (0)
-
-#define	TAILQ_INSERT_BEFORE(listelm, elm, field) do {			\
-	QMD_TAILQ_CHECK_PREV(listelm, field);				\
-	(elm)->field.tqe_prev = (listelm)->field.tqe_prev;		\
-	TAILQ_NEXT((elm), field) = (listelm);				\
-	*(listelm)->field.tqe_prev = (elm);				\
-	(listelm)->field.tqe_prev = &TAILQ_NEXT((elm), field);		\
-	QMD_TRACE_ELEM(&(elm)->field);					\
-	QMD_TRACE_ELEM(&listelm->field);				\
-} while (0)
-
-#define	TAILQ_INSERT_HEAD(head, elm, field) do {			\
-	QMD_TAILQ_CHECK_HEAD(head, field);				\
-	if ((TAILQ_NEXT((elm), field) = TAILQ_FIRST((head))) != NULL)	\
-		TAILQ_FIRST((head))->field.tqe_prev =			\
-		    &TAILQ_NEXT((elm), field);				\
-	else								\
-		(head)->tqh_last = &TAILQ_NEXT((elm), field);		\
-	TAILQ_FIRST((head)) = (elm);					\
-	(elm)->field.tqe_prev = &TAILQ_FIRST((head));			\
-	QMD_TRACE_HEAD(head);						\
-	QMD_TRACE_ELEM(&(elm)->field);					\
-} while (0)
-
-#define	TAILQ_INSERT_TAIL(head, elm, field) do {			\
-	QMD_TAILQ_CHECK_TAIL(head, field);				\
-	TAILQ_NEXT((elm), field) = NULL;				\
-	(elm)->field.tqe_prev = (head)->tqh_last;			\
-	*(head)->tqh_last = (elm);					\
-	(head)->tqh_last = &TAILQ_NEXT((elm), field);			\
-	QMD_TRACE_HEAD(head);						\
-	QMD_TRACE_ELEM(&(elm)->field);					\
-} while (0)
-
-#define	TAILQ_LAST(head, headname)					\
-	(*(((struct headname *)((head)->tqh_last))->tqh_last))
-
-#define	TAILQ_NEXT(elm, field) ((elm)->field.tqe_next)
-
-#define	TAILQ_PREV(elm, headname, field)				\
-	(*(((struct headname *)((elm)->field.tqe_prev))->tqh_last))
-
-#define	TAILQ_REMOVE(head, elm, field) do {				\
-	QMD_SAVELINK(oldnext, (elm)->field.tqe_next);			\
-	QMD_SAVELINK(oldprev, (elm)->field.tqe_prev);			\
-	QMD_TAILQ_CHECK_NEXT(elm, field);				\
-	QMD_TAILQ_CHECK_PREV(elm, field);				\
-	if ((TAILQ_NEXT((elm), field)) != NULL)				\
-		TAILQ_NEXT((elm), field)->field.tqe_prev = 		\
-		    (elm)->field.tqe_prev;				\
-	else {								\
-		(head)->tqh_last = (elm)->field.tqe_prev;		\
-		QMD_TRACE_HEAD(head);					\
-	}								\
-	*(elm)->field.tqe_prev = TAILQ_NEXT((elm), field);		\
-	TRASHIT(*oldnext);						\
-	TRASHIT(*oldprev);						\
-	QMD_TRACE_ELEM(&(elm)->field);					\
-} while (0)
-
-#define TAILQ_SWAP(head1, head2, type, field) do {			\
-	struct type *swap_first = (head1)->tqh_first;			\
-	struct type **swap_last = (head1)->tqh_last;			\
-	(head1)->tqh_first = (head2)->tqh_first;			\
-	(head1)->tqh_last = (head2)->tqh_last;				\
-	(head2)->tqh_first = swap_first;				\
-	(head2)->tqh_last = swap_last;					\
-	if ((swap_first = (head1)->tqh_first) != NULL)			\
-		swap_first->field.tqe_prev = &(head1)->tqh_first;	\
-	else								\
-		(head1)->tqh_last = &(head1)->tqh_first;		\
-	if ((swap_first = (head2)->tqh_first) != NULL)			\
-		swap_first->field.tqe_prev = &(head2)->tqh_first;	\
-	else								\
-		(head2)->tqh_last = &(head2)->tqh_first;		\
-} while (0)
-
-#endif /* !_SYS_QUEUE_H_ */
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Sun Jan 30 09:51:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 09:51:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262459.454701 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nE6rU-00006n-CQ; Sun, 30 Jan 2022 09:51:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262459.454701; Sun, 30 Jan 2022 09:51:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nE6rU-00006g-9S; Sun, 30 Jan 2022 09:51:08 +0000
Received: by outflank-mailman (input) for mailman id 262459;
 Sun, 30 Jan 2022 09:51: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 1nE6rT-00006V-5M; Sun, 30 Jan 2022 09:51: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 1nE6rT-0002EH-3V; Sun, 30 Jan 2022 09:51: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 1nE6rS-0000tl-Lc; Sun, 30 Jan 2022 09:51:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nE6rS-0005I6-LD; Sun, 30 Jan 2022 09:51:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=qkIgQa2aaDe4OS+c1j0e6m2X+n1ZEypruf7T4j+vCiU=; b=Mh2bXFexwKQF2yUBKwq06m+8lI
	p0sNRsAEF74p12uf3WlKHEyMCuSMzqSvxzs5SPWLaMIgP/14AzwJN9qUz39cjld8ZTMUhXCE/xS/x
	FJJPdfK92hMQJTEcMWWnYHxCI+WD07tc5MuNFhgJes2if0GT2w/TEaB8bLqVcY2hcSFI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167953-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-coverity test] 167953: all pass - PUSHED
X-Osstest-Versions-This:
    xen=21170a738c11b24815b4afab2151bd3aa2a29acc
X-Osstest-Versions-That:
    xen=9480a1a519cf016623f657dc544cb372a82b5708
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 30 Jan 2022 09:51:06 +0000

flight 167953 xen-unstable-coverity real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167953/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 xen                  21170a738c11b24815b4afab2151bd3aa2a29acc
baseline version:
 xen                  9480a1a519cf016623f657dc544cb372a82b5708

Last test of basis   167855  2022-01-26 09:18:33 Z    4 days
Testing same since   167953  2022-01-30 09:20:52 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  James Dingwall <james-xen@dingwall.me.uk>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
  Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Roger Pau Monné <roger.pau@citrix.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
   9480a1a519..21170a738c  21170a738c11b24815b4afab2151bd3aa2a29acc -> coverity-tested/smoke


From xen-devel-bounces@lists.xenproject.org Sun Jan 30 09:55:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 09:55:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262469.454713 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nE6vI-0000m0-0u; Sun, 30 Jan 2022 09:55:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262469.454713; Sun, 30 Jan 2022 09:55:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nE6vH-0000lt-Sc; Sun, 30 Jan 2022 09:55:03 +0000
Received: by outflank-mailman (input) for mailman id 262469;
 Sun, 30 Jan 2022 09:55: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 1nE6vH-0000lk-JW; Sun, 30 Jan 2022 09:55: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 1nE6vH-0002Hx-Hr; Sun, 30 Jan 2022 09:55: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 1nE6vH-0000zc-B5; Sun, 30 Jan 2022 09:55:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nE6vH-0007ws-Ac; Sun, 30 Jan 2022 09:55: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=4FpE4eGfEwc2soe/BjPS3McOLGOZEjWBybJXnoAcZWA=; b=rEwBQK3AKM8r0r92ccnvjvWftm
	WnzVpbD12qDq4HrWee+G7TOPtc2xjco4JiDJaG7asH8JzNtfPJkJBzKsrnM1yYRtOlXvZtxLpyhnj
	jtxnJZzZXyaESSTGe2f3myDgJ0bsIIXLcVSMhdAKU+DdCEUel1GTI+CSHbuNF7Qf9wnA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167952-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 167952: 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-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=18813edbf28b42ad9d068e0584c4408019c09bff
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 30 Jan 2022 09:55:03 +0000

flight 167952 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167952/

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-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              18813edbf28b42ad9d068e0584c4408019c09bff
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  569 days
Failing since        151818  2020-07-11 04:18:52 Z  568 days  550 attempts
Testing same since   167942  2022-01-29 04:18:56 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>
  Ani Sinha <ani@anisinha.ca>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe Fergeau <cfergeau@redhat.com>
  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>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  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>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  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>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  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 Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas Lécureuil <neoclust@mageia.org>
  Nicolas Lécureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  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>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott 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>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  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>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Дамјан Георгиевски <gdamjan@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 95263 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Jan 30 10:45:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 10:45:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262479.454723 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nE7hx-0005qY-Sb; Sun, 30 Jan 2022 10:45:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262479.454723; Sun, 30 Jan 2022 10: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 1nE7hx-0005qR-PT; Sun, 30 Jan 2022 10:45:21 +0000
Received: by outflank-mailman (input) for mailman id 262479;
 Sun, 30 Jan 2022 10:45: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 1nE7hw-0005qH-8Z; Sun, 30 Jan 2022 10:45: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 1nE7hw-0003Cp-3c; Sun, 30 Jan 2022 10:45: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 1nE7hv-0002hP-NR; Sun, 30 Jan 2022 10:45:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nE7hv-00025v-N0; Sun, 30 Jan 2022 10:45:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=4c0+5K2Y8fCQJhR54/TuUpPEuiJkHZhF6UQWDM7kpcc=; b=hBjHl+ZT3PoLmRUXxZ2OJ5k8Rn
	ysRd2v7R2gHhY4QZzsSW4PX34HGX1Vaync/rSWqUYb2MigufZJlXJYku6b6IXyZV+XEofsSpyiytV
	nLywz2iFp+CUhc0nassyLuHTP/ZHPxFIi49mKtjbGF3//cXlEq58F7embKkJWFCA0zbg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167951-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167951: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-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-armhf-armhf-libvirt: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-armhf-armhf-libvirt-qcow2: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-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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=21170a738c11b24815b4afab2151bd3aa2a29acc
X-Osstest-Versions-That:
    xen=21170a738c11b24815b4afab2151bd3aa2a29acc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 30 Jan 2022 10:45:19 +0000

flight 167951 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167951/

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 167944
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167944
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167944
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167944
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167944
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167944
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167944
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167944
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167944
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167944
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167944
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167944
 test-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-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-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          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-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  21170a738c11b24815b4afab2151bd3aa2a29acc
baseline version:
 xen                  21170a738c11b24815b4afab2151bd3aa2a29acc

Last test of basis   167951  2022-01-30 01:54:23 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Sun Jan 30 17:10:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 17:10:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262502.454735 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEDib-0007lB-DB; Sun, 30 Jan 2022 17:10:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262502.454735; Sun, 30 Jan 2022 17: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 1nEDib-0007l4-9c; Sun, 30 Jan 2022 17:10:25 +0000
Received: by outflank-mailman (input) for mailman id 262502;
 Sun, 30 Jan 2022 17:10:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nEDiZ-0007ku-TX; Sun, 30 Jan 2022 17:10:23 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nEDiZ-00024w-Pg; Sun, 30 Jan 2022 17:10:23 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nEDiZ-0002m2-5u; Sun, 30 Jan 2022 17:10:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nEDiZ-0001Zh-5K; Sun, 30 Jan 2022 17:10:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=GmMm8M3b6X43QiAPrRG5Da7LB3lCuHSrfILNar0O95A=; b=hPfjLGOZ72TCcxadlpXVk6pGFb
	cgf1btzJbAmXe82lTbXa66kYwqDyQDkyRpyXXFAfTvoYRhwHWfs3/U05vTcgAMZD910MOUJ4KNsvv
	bxHuoOFh6XWDNq+CTuJnAtbvujGlQ+K2rCpEZdk6xQi+LTiN65vKRXXMW+FA0XJJGonE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167954-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167954: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt-qcow2:host-ping-check-native:fail:heisenbug
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-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-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-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-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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
X-Osstest-Versions-This:
    linux=8dd71685dcb7839f6d91417e0a9237daca363908
X-Osstest-Versions-That:
    linux=f8c7e4ede46fe63ff10000669652648aab09d112
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 30 Jan 2022 17:10:23 +0000

flight 167954 linux-linus real [real]
flight 167957 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/167954/
http://logs.test-lab.xenproject.org/osstest/logs/167957/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt-qcow2 6 host-ping-check-native fail pass in 167957-retest
 test-armhf-armhf-xl           8 xen-boot            fail pass in 167957-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail in 167957 like 167949
 test-armhf-armhf-xl         15 migrate-support-check fail in 167957 never pass
 test-armhf-armhf-xl     16 saverestore-support-check fail in 167957 never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check fail in 167957 never pass
 test-amd64-amd64-xl-rtds     20 guest-localmigrate/x10       fail  like 167949
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167949
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167949
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167949
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167949
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167949
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167949
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167949
 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-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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                8dd71685dcb7839f6d91417e0a9237daca363908
baseline version:
 linux                f8c7e4ede46fe63ff10000669652648aab09d112

Last test of basis   167949  2022-01-29 19:11:13 Z    0 days
Testing same since   167954  2022-01-30 09:39:43 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Morton <akpm@linux-foundation.org>
  Gautham Ananthakrishna <gautham.ananthakrishna@oracle.com>
  Joao Martins <joao.m.martins@oracle.com>
  Johannes Weiner <hannes@cmpxchg.org>
  Joseph Qi <joseph.qi@linux.alibaba.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Luis Chamberlain <mcgrof@kernel.org>
  Maor Gottlieb <maorg@nvidia.com>
  Marco Elver <elver@google.com>
  Peter Collingbourne <pcc@google.com>
  Randy Dunlap <rdunlap@infradead.org>
  Sebastian Andrzej Siewior <bigeasy@linutronix.de>
  Suren Baghdasaryan <surenb@google.com>
  Tong Zhang <ztong0001@gmail.com>
  Wei Yang <richard.weiyang@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   f8c7e4ede46f..8dd71685dcb7  8dd71685dcb7839f6d91417e0a9237daca363908 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sun Jan 30 17:12:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 17:12:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262511.454746 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEDkO-0008L2-Rh; Sun, 30 Jan 2022 17:12:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262511.454746; Sun, 30 Jan 2022 17:12:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEDkO-0008Kv-Mz; Sun, 30 Jan 2022 17:12:16 +0000
Received: by outflank-mailman (input) for mailman id 262511;
 Sun, 30 Jan 2022 17:12:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=UihW=SO=gmail.com=groeck7@srs-se1.protection.inumbo.net>)
 id 1nEDkO-0008Kn-6t
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 17:12:16 +0000
Received: from mail-oi1-x233.google.com (mail-oi1-x233.google.com
 [2607:f8b0:4864:20::233])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c4983070-81ef-11ec-8eb8-a37418f5ba1a;
 Sun, 30 Jan 2022 18:12:14 +0100 (CET)
Received: by mail-oi1-x233.google.com with SMTP id t199so5761027oie.10
 for <xen-devel@lists.xenproject.org>; Sun, 30 Jan 2022 09:12:14 -0800 (PST)
Received: from server.roeck-us.net ([2600:1700:e321:62f0:329c:23ff:fee3:9d7c])
 by smtp.gmail.com with ESMTPSA id
 w9sm11309793ool.31.2022.01.30.09.12.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 30 Jan 2022 09:12:12 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: c4983070-81ef-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=sender:date:from:to:cc:subject:message-id:references:mime-version
         :content-disposition:in-reply-to;
        bh=w1dNkPhtgiRjushmjZUey1uH/mwMDz9W8IeIjD9XGNU=;
        b=QF78vYBJuFyFO0WuVGOnN8lRblJpn342qlEeX7HiKWboUdAtwbFRe3IeTC6lVcWB/R
         4N84b2uUq2+PKSm35M7ONMSAwTC/Az0dw0ipKleJzJX2pMSA6J9nhBfISWdZWu5QJVq9
         Fo2KgA4IjFPwqEf7VtfbL+V2p8nzGF2YrZm6hfaaCt06Fag/mTDRnUoBfERcs0XRRgYZ
         0s6PTUxFBvh1truP4Kw2sc7kHYJm4j/x/3+pTbch9ghHfobfYHWUxsM/TcZgiH2YqryW
         ERjUmG8WbeJ7HXEmt5lTb4D3hBy1mtcBpyRJ9rRCAbaCfkQhD/VimAg/BuhC9lB1hbzA
         Hqmw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:sender:date:from:to:cc:subject:message-id
         :references:mime-version:content-disposition:in-reply-to;
        bh=w1dNkPhtgiRjushmjZUey1uH/mwMDz9W8IeIjD9XGNU=;
        b=fsLq3C3C/GesCt8lFfFfINfwa5Gh4WH2dX/7MJvqFNgpqyrAsHD1d4kroQhQT8jk82
         2cVMPTyfUnJH57SLhS4bVaSKhX6t+Wm/MdhODfAihXTbn+5SJPTFwE2g8rsN90HGeJNS
         l0OiCtdNfzfhRoaF7OERYJR5Y3atGvWysAuF9NCf4d1CQmkAoJwhvKdRWKsjl4QkD1pY
         B2Nh8Ge/XJj7OaBqrtIbQXWb/Js11XrVxYEf0HVfwiBapyKRWMXG+wbt4/KRsvPranYq
         4haDYz3sY9FcO/5t5iW/YV+2HBo1cFk/5w5/aTYl87FBEb0IvnW32KXiVJYHKjjCJyPx
         PdSQ==
X-Gm-Message-State: AOAM532N1c0bpLEboXPmQPfEaAkJ6TFHFIrZgyVX/OrNYoBVfJY8kkjB
	HKeARuc3655VE45lvxzcjYs=
X-Google-Smtp-Source: ABdhPJzDfpA/kFQ2ZUKPGwyRfaVdw4HLQweTlCDIHi6gw/h077fparPnBlJNMYVufYz9gxu/ali5cg==
X-Received: by 2002:a05:6808:bca:: with SMTP id o10mr6747446oik.58.1643562733195;
        Sun, 30 Jan 2022 09:12:13 -0800 (PST)
Sender: Guenter Roeck <groeck7@gmail.com>
Date: Sun, 30 Jan 2022 09:12:10 -0800
From: Guenter Roeck <linux@roeck-us.net>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: LKML <linux-kernel@vger.kernel.org>, Nishanth Menon <nm@ti.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Stuart Yoder <stuyoder@gmail.com>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Will Deacon <will@kernel.org>, Ashok Raj <ashok.raj@intel.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Jassi Brar <jassisinghbrar@gmail.com>,
	Sinan Kaya <okaya@kernel.org>, iommu@lists.linux-foundation.org,
	Peter Ujfalusi <peter.ujfalusi@gmail.com>,
	Bjorn Helgaas <helgaas@kernel.org>,
	linux-arm-kernel@lists.infradead.org,
	Jason Gunthorpe <jgg@nvidia.com>, linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org, Kevin Tian <kevin.tian@intel.com>,
	Arnd Bergmann <arnd@arndb.de>, Robin Murphy <robin.murphy@arm.com>,
	Alex Williamson <alex.williamson@redhat.com>,
	Cedric Le Goater <clg@kaod.org>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Megha Dey <megha.dey@intel.com>, Juergen Gross <jgross@suse.com>,
	Tero Kristo <kristo@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Vinod Koul <vkoul@kernel.org>, Marc Zygnier <maz@kernel.org>,
	dmaengine@vger.kernel.org, linuxppc-dev@lists.ozlabs.org
Subject: Re: [patch V3 28/35] PCI/MSI: Simplify pci_irq_get_affinity()
Message-ID: <20220130171210.GA3545402@roeck-us.net>
References: <20211210221642.869015045@linutronix.de>
 <20211210221814.900929381@linutronix.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20211210221814.900929381@linutronix.de>

On Fri, Dec 10, 2021 at 11:19:26PM +0100, Thomas Gleixner wrote:
> From: Thomas Gleixner <tglx@linutronix.de>
> 
> Replace open coded MSI descriptor chasing and use the proper accessor
> functions instead.
> 
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>

This patch results in the following runtime warning when booting x86
(32 bit) nosmp images from NVME in qemu.

[   14.825482] nvme nvme0: 1/0/0 default/read/poll queues
ILLOPC: ca7c6d10: 0f 0b
[   14.826188] ------------[ cut here ]------------
[   14.826307] WARNING: CPU: 0 PID: 7 at drivers/pci/msi/msi.c:1114 pci_irq_get_affinity+0x80/0x90
[   14.826455] Modules linked in:
[   14.826640] CPU: 0 PID: 7 Comm: kworker/u2:0 Not tainted 5.17.0-rc1-00419-g1d2d8baaf053 #1
[   14.826797] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.15.0-0-g2dd4b9b3f840-prebuilt.qemu.org 04/01/2014
[   14.827132] Workqueue: nvme-reset-wq nvme_reset_work
[   14.827336] EIP: pci_irq_get_affinity+0x80/0x90
[   14.827452] Code: e8 d5 30 af ff 85 c0 75 bd 90 0f 0b 31 c0 5b 5e 5d c3 8d b4 26 00 00 00 00 90 5b b8 24 32 7e cb 5e 5d c3 8d b4 26 00 00 00 00 <0f> 0b eb e0 8d b4 26 00 00 00 00 8d 74 26 00 90 55 89 e5 57 56 53
[   14.827717] EAX: 00000000 EBX: c18ba000 ECX: 00000000 EDX: c297c210
[   14.827816] ESI: 00000001 EDI: c18ba000 EBP: c1247e24 ESP: c1247e1c
[   14.827924] DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068 EFLAGS: 00000246
[   14.828110] CR0: 80050033 CR2: ffda9000 CR3: 0b8ad000 CR4: 000006d0
[   14.828268] Call Trace:
[   14.828554]  blk_mq_pci_map_queues+0x26/0x70
[   14.828710]  nvme_pci_map_queues+0x75/0xc0
[   14.828808]  blk_mq_update_queue_map+0x86/0xa0
[   14.828891]  blk_mq_alloc_tag_set+0xf3/0x390
[   14.828965]  ? nvme_wait_freeze+0x3d/0x50
[   14.829137]  nvme_reset_work+0xd02/0x1120
[   14.829269]  ? lock_acquire+0xc3/0x290
[   14.829435]  process_one_work+0x1ed/0x490
[   14.829569]  worker_thread+0x15e/0x3c0
[   14.829665]  kthread+0xd3/0x100
[   14.829729]  ? process_one_work+0x490/0x490
[   14.829799]  ? kthread_complete_and_exit+0x20/0x20
[   14.829890]  ret_from_fork+0x1c/0x28

Bisect results below.

#regzbot introduced: f48235900182d6

Guenter

---
# bad: [e783362eb54cd99b2cac8b3a9aeac942e6f6ac07] Linux 5.17-rc1
# good: [df0cc57e057f18e44dac8e6c18aba47ab53202f9] Linux 5.16
git bisect start 'v5.17-rc1' 'v5.16'
# good: [fef8dfaea9d6c444b6c2174b3a2b0fca4d226c5e] Merge tag 'regulator-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator
git bisect good fef8dfaea9d6c444b6c2174b3a2b0fca4d226c5e
# bad: [3ceff4ea07410763d5d4cccd60349bf7691e7e61] Merge tag 'sound-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
git bisect bad 3ceff4ea07410763d5d4cccd60349bf7691e7e61
# good: [57ea81971b7296b42fc77424af44c5915d3d4ae2] Merge tag 'usb-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
git bisect good 57ea81971b7296b42fc77424af44c5915d3d4ae2
# bad: [feb7a43de5ef625ad74097d8fd3481d5dbc06a59] Merge tag 'irq-msi-2022-01-13' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect bad feb7a43de5ef625ad74097d8fd3481d5dbc06a59
# good: [ce990f1de0bc6ff3de43d385e0985efa980fba24] Merge tag 'for-linus-5.17-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip
git bisect good ce990f1de0bc6ff3de43d385e0985efa980fba24
# good: [4afd2a9355a9deb16ea42b896820dacf49843a8f] Merge branches 'clk-ingenic' and 'clk-mediatek' into clk-next
git bisect good 4afd2a9355a9deb16ea42b896820dacf49843a8f
# good: [455e73a07f6e288b0061dfcf4fcf54fa9fe06458] Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux
git bisect good 455e73a07f6e288b0061dfcf4fcf54fa9fe06458
# bad: [f2948df5f87a722591499da60ab91c611422f755] x86/pci/xen: Use msi_for_each_desc()
git bisect bad f2948df5f87a722591499da60ab91c611422f755
# good: [93296cd1325d1d9afede60202d8833011c9001f2] PCI/MSI: Allocate MSI device data on first use
git bisect good 93296cd1325d1d9afede60202d8833011c9001f2
# good: [82ff8e6b78fc4587a4255301f0a283506daf11b6] PCI/MSI: Use msi_get_virq() in pci_get_vector()
git bisect good 82ff8e6b78fc4587a4255301f0a283506daf11b6
# bad: [125282cd4f33ecd53a24ae4807409da0e5e90fd4] genirq/msi: Move descriptor list to struct msi_device_data
git bisect bad 125282cd4f33ecd53a24ae4807409da0e5e90fd4
# bad: [065afdc9c521f05c53f226dabe5dda2d30294d65] iommu/arm-smmu-v3: Use msi_get_virq()
git bisect bad 065afdc9c521f05c53f226dabe5dda2d30294d65
# bad: [f6632bb2c1454b857adcd131320379ec16fd8666] dmaengine: mv_xor_v2: Get rid of msi_desc abuse
git bisect bad f6632bb2c1454b857adcd131320379ec16fd8666
# bad: [f48235900182d64537c6e8f8dc0932b57a1a0638] PCI/MSI: Simplify pci_irq_get_affinity()
git bisect bad f48235900182d64537c6e8f8dc0932b57a1a0638
# first bad commit: [f48235900182d64537c6e8f8dc0932b57a1a0638] PCI/MSI: Simplify pci_irq_get_affinity()


From xen-devel-bounces@lists.xenproject.org Sun Jan 30 18:44:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 18:44:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262520.454756 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEFBK-0000FX-Jx; Sun, 30 Jan 2022 18:44:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262520.454756; Sun, 30 Jan 2022 18: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 1nEFBK-0000FQ-Ge; Sun, 30 Jan 2022 18:44:10 +0000
Received: by outflank-mailman (input) for mailman id 262520;
 Sun, 30 Jan 2022 18:44: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 1nEFBJ-0000FG-Im; Sun, 30 Jan 2022 18:44: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 1nEFBJ-0003ln-H7; Sun, 30 Jan 2022 18:44: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 1nEFBJ-0005mZ-3M; Sun, 30 Jan 2022 18:44:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nEFBJ-0005pQ-2u; Sun, 30 Jan 2022 18:44:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=jBwEfqW5mwa9hVhQ7DAEDJoAb3gzMLO2B1XZd7oGxGs=; b=6KfrqEbCdePIz8zL/8W3lMPPYH
	/85RZBnWrH5KDzQomzbMAkc1gP9KAfZzQGnBnxEaljAJjMV2xeAES71fz2hGFzCIaVx9Kxb+GtNbe
	6/+Hgy93koD7dNdarwA96InbIetSapOBO+jU/4P2WmA7WPyeVRGRuKjOEtcBkUDdiL4g=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167956-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 167956: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=103fa647d159e3d76be2634d2653c2d215dd0d46
X-Osstest-Versions-That:
    ovmf=ba79becd553c4d9118fafcaedef4d36f1cb9c851
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 30 Jan 2022 18:44:09 +0000

flight 167956 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167956/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 103fa647d159e3d76be2634d2653c2d215dd0d46
baseline version:
 ovmf                 ba79becd553c4d9118fafcaedef4d36f1cb9c851

Last test of basis   167950  2022-01-29 20:11:41 Z    0 days
Testing same since   167956  2022-01-30 11:13:00 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Rebecca Cran <rebecca@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
   ba79becd55..103fa647d1  103fa647d159e3d76be2634d2653c2d215dd0d46 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sun Jan 30 19:17:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 19:17:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262531.454768 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEFhQ-0003ca-FE; Sun, 30 Jan 2022 19:17:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262531.454768; Sun, 30 Jan 2022 19:17:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEFhQ-0003cT-AZ; Sun, 30 Jan 2022 19:17:20 +0000
Received: by outflank-mailman (input) for mailman id 262531;
 Sun, 30 Jan 2022 19:17:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QEBh=SO=infradead.org=rdunlap@srs-se1.protection.inumbo.net>)
 id 1nEFhN-0003cN-Lw
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 19:17:18 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3a44b9ca-8201-11ec-8eb8-a37418f5ba1a;
 Sun, 30 Jan 2022 20:17:15 +0100 (CET)
Received: from [2601:1c0:6280:3f0::aa0b] (helo=bombadil.infradead.org)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1nEFhC-007HdB-F2; Sun, 30 Jan 2022 19:17: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: 3a44b9ca-8201-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:
	Content-ID:Content-Description:In-Reply-To:References;
	bh=A0VUqk6Uu5zpKHFm4isWfDeVPU3lINMy6Ho5GR6DJdw=; b=i/4aEZchvtYzjU2kwjtDdKrwls
	9/M/wbAS7k80Ku48OZQJlOoTemmWe1UIxt3/Khs4kn32EtYTol/p/qbPEwruwuKgTI+N79dfHVnTx
	bv3ANkHol4cq6LYBzyCqthQ3KyPo5zG+m6HN1GwrtYrWLi0n0WJTQ786XoTkzgVSt3OK7+o0bw++l
	/4JjdPftggSokWefTIJstam8BONF8bpzv4JRXIvd9bqvtbmbjK82mt/4T761qC3n5LjQ/zMp77IXr
	JJ8bkx52sYBdGKjh0SPiq4PhZVCgRKJr9Mo94GE3uhL0DC/GOx7pUVV7f7qUOLxSua6LrNxpXQ3YL
	TQnbfj1A==;
From: Randy Dunlap <rdunlap@infradead.org>
To: patches@lists.linux.dev
Cc: Randy Dunlap <rdunlap@infradead.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org
Subject: [PATCH] xen: xenbus_dev.h: delete incorrect file name
Date: Sun, 30 Jan 2022 11:17:05 -0800
Message-Id: <20220130191705.24971-1-rdunlap@infradead.org>
X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

It is better/preferred not to include file names in source files
because (a) they are not needed and (b) they can be incorrect,
so just delete this incorrect file name.

Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org
---
 include/xen/xenbus_dev.h |    1 -
 1 file changed, 1 deletion(-)

--- linux-next-20220128.orig/include/xen/xenbus_dev.h
+++ linux-next-20220128/include/xen/xenbus_dev.h
@@ -1,5 +1,4 @@
 /******************************************************************************
- * evtchn.h
  *
  * Interface to /dev/xen/xenbus_backend.
  *


From xen-devel-bounces@lists.xenproject.org Sun Jan 30 19:21:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 19:21:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262537.454779 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEFlg-0004yo-VM; Sun, 30 Jan 2022 19:21:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262537.454779; Sun, 30 Jan 2022 19: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 1nEFlg-0004yh-S5; Sun, 30 Jan 2022 19:21:44 +0000
Received: by outflank-mailman (input) for mailman id 262537;
 Sun, 30 Jan 2022 19:21: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 1nEFlf-0004yX-Ot; Sun, 30 Jan 2022 19:21: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 1nEFlf-0004TZ-Lt; Sun, 30 Jan 2022 19:21: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 1nEFlf-00081C-8s; Sun, 30 Jan 2022 19:21:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nEFlf-0002i2-8Q; Sun, 30 Jan 2022 19:21: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=D4y5rVDB7gw4S+GbDXHWSQj4V6itqYySvi9lQG9p7GE=; b=z3CcdYSQDoGd2BHAO82hQixP1n
	LUuxyffKbcJ3GB9PzweNHOsB97zFyMiIXR6Ysf/T/8zmh48tTIb2K5XoLjtKqH0SuUAKM/e8lNQFV
	S9F0itjxra/ANQ66bJ25mEtfkrvgoVMY0I1yaZ8kxQQj7Yzbhh5SR/wE0GBSR4TltOnA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167955-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167955: 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-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-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-armhf-armhf-libvirt-qcow2: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:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check: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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-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-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-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw: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-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-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
    qemu-mainline:test-armhf-armhf-libvirt-qcow2: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
X-Osstest-Versions-This:
    qemuu=d90e6f665d3ac197f83d93ad37147fe677521209
X-Osstest-Versions-That:
    qemuu=95a6af2a006e7160c958215c20e513ed29a0a76c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 30 Jan 2022 19:21:43 +0000

flight 167955 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167955/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     20 guest-localmigrate/x10   fail REGR. vs. 167947

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167947
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167947
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167947
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167947
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167947
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167947
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167947
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167947
 test-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-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-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     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
 test-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-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                d90e6f665d3ac197f83d93ad37147fe677521209
baseline version:
 qemuu                95a6af2a006e7160c958215c20e513ed29a0a76c

Last test of basis   167947  2022-01-29 16:06:59 Z    1 days
Testing same since   167955  2022-01-30 10:08:20 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  David Edmondson <david.edmondson@oracle.com>
  Juan Quintela <quintela@redhat.com>
  Mao Zhongyi <maozhongyi@cmss.chinamobile.com>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@redhat.com>
  Xu Zheng <xuzheng@cmss.chinamobile.com>
  Zhang Chen <chen.zhang@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     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-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   95a6af2a00..d90e6f665d  d90e6f665d3ac197f83d93ad37147fe677521209 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Sun Jan 30 19:23:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 19:23:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262547.454790 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEFnB-0005ag-Aa; Sun, 30 Jan 2022 19:23:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262547.454790; Sun, 30 Jan 2022 19:23:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEFnB-0005aZ-7R; Sun, 30 Jan 2022 19:23:17 +0000
Received: by outflank-mailman (input) for mailman id 262547;
 Sun, 30 Jan 2022 19:23:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QEBh=SO=infradead.org=rdunlap@srs-se1.protection.inumbo.net>)
 id 1nEFnA-0005aR-F2
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 19:23:16 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 10e8e1f6-8202-11ec-8f75-fffcc8bd4f1a;
 Sun, 30 Jan 2022 20:23:13 +0100 (CET)
Received: from [2601:1c0:6280:3f0::aa0b] (helo=bombadil.infradead.org)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1nEFn0-007IEV-FQ; Sun, 30 Jan 2022 19: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>
X-Inumbo-ID: 10e8e1f6-8202-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:
	Content-ID:Content-Description:In-Reply-To:References;
	bh=6JCRszUXCuHkWzFCeUDmfWFeE8dA8Y++bCAg/sv5fgM=; b=QA0Eo4Vc8aruhtBHUOjuqPrwd9
	N9UKhLv8lJCOxIPI8/XYa4azFIF0ccqJ8PV83rSxGf+WUK8JrY2VrTNRFljCG/ncr1PGmehq6SRuB
	VSvuFR7bFdXFhXcT2f786K7OLItdnLtbmOYy9PxB0bS54iHsaPGNnYy6sFa2ThSI+IrhX7LodlKTO
	wqe4lSBCWZ7GLn8jE2o/+IiLZG720SaxWVHsT6iNg1fOtlPX33IaKztWlrOFlEWOTsx7FoTJFpRJu
	XrZJiYiyztcrdhgVhpg6JdKmE29dH9JyOY0GUWeBtueRGA7ezWspIzs0CZgfkelGkOdBbsRvdkfZe
	0m9Ti9eQ==;
From: Randy Dunlap <rdunlap@infradead.org>
To: patches@lists.linux.dev
Cc: Randy Dunlap <rdunlap@infradead.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org
Subject: [PATCH] xen: update missing ioctl magic numers documentation
Date: Sun, 30 Jan 2022 11:23:05 -0800
Message-Id: <20220130192305.14523-1-rdunlap@infradead.org>
X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add missing ioctl "magic numbers" for various Xen interfaces
(xenbus_dev.h, gntalloc.h, gntdev.h, and privcmd.h).

Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org
---
 Documentation/userspace-api/ioctl/ioctl-number.rst |    3 +++
 1 file changed, 3 insertions(+)

--- linux-next-20220128.orig/Documentation/userspace-api/ioctl/ioctl-number.rst
+++ linux-next-20220128/Documentation/userspace-api/ioctl/ioctl-number.rst
@@ -115,6 +115,7 @@ Code  Seq#    Include File
 'B'   00-1F  linux/cciss_ioctl.h                                     conflict!
 'B'   00-0F  include/linux/pmu.h                                     conflict!
 'B'   C0-FF  advanced bbus                                           <mailto:maassen@uni-freiburg.de>
+'B'   00-0F  xen/xenbus_dev.h                                        conflict!
 'C'   all    linux/soundcard.h                                       conflict!
 'C'   01-2F  linux/capi.h                                            conflict!
 'C'   F0-FF  drivers/net/wan/cosa.h                                  conflict!
@@ -134,6 +135,7 @@ Code  Seq#    Include File
 'F'   80-8F  linux/arcfb.h                                           conflict!
 'F'   DD     video/sstfb.h                                           conflict!
 'G'   00-3F  drivers/misc/sgi-gru/grulib.h                           conflict!
+'E'   00-0F  xen/gntalloc.h, xen/gntdev.h                            conflict!
 'H'   00-7F  linux/hiddev.h                                          conflict!
 'H'   00-0F  linux/hidraw.h                                          conflict!
 'H'   01     linux/mei.h                                             conflict!
@@ -176,6 +178,7 @@ Code  Seq#    Include File
 'P'   60-6F  sound/sscape_ioctl.h                                    conflict!
 'P'   00-0F  drivers/usb/class/usblp.c                               conflict!
 'P'   01-09  drivers/misc/pci_endpoint_test.c                        conflict!
+'P'   00-0F  xen/privcmd.h                                           conflict!
 'Q'   all    linux/soundcard.h
 'R'   00-1F  linux/random.h                                          conflict!
 'R'   01     linux/rfkill.h                                          conflict!


From xen-devel-bounces@lists.xenproject.org Sun Jan 30 23:37:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 23:37:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262556.454811 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJlC-00041O-Qt; Sun, 30 Jan 2022 23:37:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262556.454811; Sun, 30 Jan 2022 23:37:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJlC-00041H-NZ; Sun, 30 Jan 2022 23:37:30 +0000
Received: by outflank-mailman (input) for mailman id 262556;
 Sun, 30 Jan 2022 23:37:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=imrt=SO=gmail.com=digetx@srs-se1.protection.inumbo.net>)
 id 1nEJlB-0003lI-4m
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 23:37:29 +0000
Received: from mail-lf1-x12b.google.com (mail-lf1-x12b.google.com
 [2a00:1450:4864:20::12b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9570ed19-8225-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 00:37:27 +0100 (CET)
Received: by mail-lf1-x12b.google.com with SMTP id u14so23249771lfo.11
 for <xen-devel@lists.xenproject.org>; Sun, 30 Jan 2022 15:37:27 -0800 (PST)
Received: from localhost.localdomain (109-252-138-126.dynamic.spd-mgts.ru.
 [109.252.138.126])
 by smtp.gmail.com with ESMTPSA id a24sm1262950ljp.112.2022.01.30.15.37.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 30 Jan 2022 15:37:26 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9570ed19-8225-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=6/CD3Yv31GR8y8GlEUTCAOWsPgz1l4zxLQQTTW1e5nA=;
        b=eMhJF7grCwjcHhcO0w6NJcJWCpwGV9U0gCsMg0TGwobGBXDG7Vx/L97nAcGbsxn/0t
         lOUlBHMB48PlUMU15vUurm7j0pvN5BFXkJhFXzQtsg8F+BsiLTVvb3ey/9EANWthyhTT
         we8glm85/CmQP0QZ8+T+Lm4inD6Om2LbGaB9R6csyvcPXIEYpw/bulY/B/lTyYKOPz5Q
         wxGxNLfaFVrUEh4p7rOa6O9dbsq2pKYOYPMchljsZ3p2oxyKvQjmDp8knc5kaAt3dCPj
         bpgTHYROYSaO5OyxFwKNgiQ6VFzTC+FU7O5VMWWPycH5YgdBO3xjR5PNbDcl/bJI2s7Z
         GBBg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=6/CD3Yv31GR8y8GlEUTCAOWsPgz1l4zxLQQTTW1e5nA=;
        b=e6WZ6Do4MwhebRncLyDamMXc4JqxHT66p3uyYqEORVoCwY6eBiBKRIiEh56mOviwnL
         kK+KjWCoXeb8A243O44ylxlj3IKoKONDg+NuqxzTHDn7hY+fQWhyRJWThhDOKi2+bs32
         tzBg7TPFTYoXd02CQ9Vn4CwQSyQz4FdP2ZMm6xeL/1JSuLSnlM6TKdLvWLr4Jxpp43UK
         XY/vivsVxMtNNvLLfjuCr6ItHUuWmXRK4D8Alg2ssUukPdGfCQlSj5ND2nBQCHuYDCDN
         v6YCjyK7AcnzrZcxcKwQH3vhpqgVxKoAduNcHjiNaqbhf++lQm5ga/BDd7YqvpKSxGUX
         Ol1A==
X-Gm-Message-State: AOAM533QjAOXQQYiBqISbWEX2Ivg1IQGjjrhBxWRw8lnjACdXvzNUuYG
	0OLxGlzNKxtaMyfKP4Oy3NY=
X-Google-Smtp-Source: ABdhPJx51hnlnQqEq7wZo+FkbVvoWM1PpIEWobaBlkXpSMr/tjqFbuGZX/Rv6DdZhPEAEqmSsBcOEQ==
X-Received: by 2002:a05:6512:38a6:: with SMTP id o6mr13194842lft.4.1643585847142;
        Sun, 30 Jan 2022 15:37:27 -0800 (PST)
From: Dmitry Osipenko <digetx@gmail.com>
To: Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Russell King <linux@armlinux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Guo Ren <guoren@kernel.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Greg Ungerer <gerg@linux-m68k.org>,
	Joshua Thompson <funaho@jurai.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Sebastian Reichel <sre@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	Pavel Machek <pavel@ucw.cz>,
	Lee Jones <lee.jones@linaro.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	alankao@andestech.com,
	"K . C . Kuen-Chern Lin" <kclin@andestech.com>,
	=?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= <mirq-linux@rere.qmqm.pl>
Cc: linux-kernel@vger.kernel.org,
	linux-csky@vger.kernel.org,
	linux-ia64@vger.kernel.org,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linux-riscv@lists.infradead.org,
	linux-sh@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org,
	linux-pm@vger.kernel.org,
	linux-tegra@vger.kernel.org
Subject: [PATCH v6 01/21] notifier: Add blocking_notifier_call_chain_is_empty()
Date: Mon, 31 Jan 2022 02:36:58 +0300
Message-Id: <20220130233718.21544-2-digetx@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220130233718.21544-1-digetx@gmail.com>
References: <20220130233718.21544-1-digetx@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add blocking_notifier_call_chain_is_empty() that returns true if call
chain is empty.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---
 include/linux/notifier.h |  2 ++
 kernel/notifier.c        | 13 +++++++++++++
 2 files changed, 15 insertions(+)

diff --git a/include/linux/notifier.h b/include/linux/notifier.h
index 87069b8459af..d4717bc0ab85 100644
--- a/include/linux/notifier.h
+++ b/include/linux/notifier.h
@@ -173,6 +173,8 @@ extern int blocking_notifier_call_chain_robust(struct blocking_notifier_head *nh
 extern int raw_notifier_call_chain_robust(struct raw_notifier_head *nh,
 		unsigned long val_up, unsigned long val_down, void *v);
 
+extern bool blocking_notifier_call_chain_is_empty(struct blocking_notifier_head *nh);
+
 #define NOTIFY_DONE		0x0000		/* Don't care */
 #define NOTIFY_OK		0x0001		/* Suits me */
 #define NOTIFY_STOP_MASK	0x8000		/* Don't call further */
diff --git a/kernel/notifier.c b/kernel/notifier.c
index ba005ebf4730..4ed6bda8f127 100644
--- a/kernel/notifier.c
+++ b/kernel/notifier.c
@@ -323,6 +323,19 @@ int blocking_notifier_call_chain(struct blocking_notifier_head *nh,
 }
 EXPORT_SYMBOL_GPL(blocking_notifier_call_chain);
 
+/**
+ *	blocking_notifier_call_chain_is_empty - Check whether notifier chain is empty
+ *	@nh: Pointer to head of the blocking notifier chain
+ *
+ *	Checks whether notifier chain is empty.
+ *
+ *	Returns true is notifier chain is empty, false otherwise.
+ */
+bool blocking_notifier_call_chain_is_empty(struct blocking_notifier_head *nh)
+{
+	return !rcu_access_pointer(nh->head);
+}
+
 /*
  *	Raw notifier chain routines.  There is no protection;
  *	the caller must provide it.  Use at your own risk!
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Jan 30 23:37:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 23:37:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262555.454801 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJlB-0003lZ-Eu; Sun, 30 Jan 2022 23:37:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262555.454801; Sun, 30 Jan 2022 23: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 1nEJlB-0003lS-BS; Sun, 30 Jan 2022 23:37:29 +0000
Received: by outflank-mailman (input) for mailman id 262555;
 Sun, 30 Jan 2022 23:37:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=imrt=SO=gmail.com=digetx@srs-se1.protection.inumbo.net>)
 id 1nEJlA-0003l1-9V
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 23:37:28 +0000
Received: from mail-lj1-x22c.google.com (mail-lj1-x22c.google.com
 [2a00:1450:4864:20::22c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9476d620-8225-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 00:37:26 +0100 (CET)
Received: by mail-lj1-x22c.google.com with SMTP id j14so17124319lja.3
 for <xen-devel@lists.xenproject.org>; Sun, 30 Jan 2022 15:37:25 -0800 (PST)
Received: from localhost.localdomain (109-252-138-126.dynamic.spd-mgts.ru.
 [109.252.138.126])
 by smtp.gmail.com with ESMTPSA id a24sm1262950ljp.112.2022.01.30.15.37.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 30 Jan 2022 15:37:24 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9476d620-8225-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=4eoWjq77niO2/5mvubSY6iz+bNrFykDrz7qPLv0XxnA=;
        b=aD7wXiah9ZF54jblMWRBCwErq130RK7Pi9PDT8VM6wqUjdlxwba0k9nXIKj2nIwI2q
         2BkI6ySdk4A+qyq/KTKzS/CudPUIzorZfAiFgswJ1EsPVwYvE1VmTJF4cPL+gn0/bWWB
         PqRXUkeMMcF3wk6nL4z0PK8tqqiIXijE2MiamX/XzGjOxBWmMmFKK47RCIW00bOP386k
         e5/sd5VENhhtbSdkGs1xZQDir/QdgCsl7UDXI5I5ZA4xehJlH2bVownc2c4ANaUBXNa9
         EDMeb5qScYUE7LFEZLUezhWgkY10X1bDaUJnJ4K2qH0WsMKFCRlJ0k/KGeMWzaIQJ+Qy
         ARfg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version
         :content-transfer-encoding;
        bh=4eoWjq77niO2/5mvubSY6iz+bNrFykDrz7qPLv0XxnA=;
        b=jxbAQKKLxkXZB7kkZywbAHlOSG2I329CngacEIpH8W/YiX4As47itiAMCAWuI7Yy9X
         GVVZEepjKTWV0C44p80R9vvzBlRwbTxEqSAZ5EkO47Ks2gJEEnZOgFsCmVkv+noXvwMI
         z8LCsSmjMtox0LMbv10+AM6tqdY1DXv38LIDpBAOj7FrHBrAscMK4GIGSLrX6MurV2yj
         W69qMvmORtVnvbpRc8J8wjycs13La6yr2OTcwgwx4TKQEC9FNf8eXH20tqjZcqM8KDDS
         1PvwomEOGwnStDKJfcgLDIDcz6SQoEsF3HXpZxLgYCPLLNHzP0xnQoUZcTdJiWVsFPMy
         dCMg==
X-Gm-Message-State: AOAM533zI1P5vKAGyKy1/aiupQZ1L31gu4VLYLfcIh/EiP5vTfSpa2EH
	VUSYUcUxnIvIRzCuD11Kyso=
X-Google-Smtp-Source: ABdhPJwvbVxnWY1P5cesSOFGUVAdUo3JJV7z5zLcIzapPRoG+0N1cswoemLCcHfWL8nLT/vbuvjCWg==
X-Received: by 2002:a05:651c:b0b:: with SMTP id b11mr12655945ljr.481.1643585845329;
        Sun, 30 Jan 2022 15:37:25 -0800 (PST)
From: Dmitry Osipenko <digetx@gmail.com>
To: Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Russell King <linux@armlinux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Guo Ren <guoren@kernel.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Greg Ungerer <gerg@linux-m68k.org>,
	Joshua Thompson <funaho@jurai.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Sebastian Reichel <sre@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	Pavel Machek <pavel@ucw.cz>,
	Lee Jones <lee.jones@linaro.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	alankao@andestech.com,
	"K . C . Kuen-Chern Lin" <kclin@andestech.com>,
	=?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= <mirq-linux@rere.qmqm.pl>
Cc: linux-kernel@vger.kernel.org,
	linux-csky@vger.kernel.org,
	linux-ia64@vger.kernel.org,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linux-riscv@lists.infradead.org,
	linux-sh@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org,
	linux-pm@vger.kernel.org,
	linux-tegra@vger.kernel.org
Subject: [PATCH v6 00/21] Introduce power-off+restart call chain API
Date: Mon, 31 Jan 2022 02:36:57 +0300
Message-Id: <20220130233718.21544-1-digetx@gmail.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Problem
-------

SoC devices require power-off call chaining functionality from kernel.
We have a widely used restart chaining provided by restart notifier API,
but nothing for power-off.

Solution
--------

Introduce new API that provides both restart and power-off call chains.

Why combine restart with power-off? Because drivers often do both.
More practical to have API that provides both under the same roof.

The new API is designed with simplicity and extensibility in mind.
It's built upon the existing restart and reboot APIs. The simplicity
is in new helper functions that are convenient for drivers. The
extensibility is in the design that doesn't hardcode callback
arguments, making easy to add new parameters and remove old.

This is a third attempt to introduce the new API. First was made by
Guenter Roeck back in 2014, second was made by Thierry Reding in 2017.
In fact the work didn't stop and recently arm_pm_restart() was removed
from v5.14 kernel, which was a part of preparatory work started by
Guenter Roeck. I took into account experience and ideas from the
previous attempts, extended and polished them.

Adoption plan
-------------

This patchset introduces the new API. It also converts multiple drivers
and arch code to the new API to demonstrate how it all looks in practice.

The plan is:

1. Merge new API (patches 1-8). This API will co-exist with the old APIs.

2. Convert arch code to do_kernel_power_off() (patches 9-21).

3. Convert drivers and platform code to the new API.

4. Remove obsolete pm_power_off and pm_power_off_prepare variables.

5. Make restart-notifier API private to kernel/reboot.c once no users left.

6. Make uniqueness of the handlers' priority a mandatory requirement.

It's fully implemented here:

[1] https://github.com/grate-driver/linux/commits/sys-off-handler

For now I'm sending only the first 25 base patches out of ~180. It's
preferable to squash 1-2, partially 3 and 4 points of the plan into a
single patchset to ease and speed up applying of the rest of the patches.
Majority of drivers and platform patches depend on the base, hence they
will come later (and per subsystem), once base will land.

All [1] patches are compile-tested. Tegra and x86 ACPI patches are tested
on hardware. The remaining should be covered by unit tests (unpublished).

Results
-------

1. Devices can be powered off properly.

2. Global variables are removed from drivers.

3. Global pm_power_off and pm_power_off_prepare callback variables are
removed once all users are converted to the new API. The latter callback
is removed by patch #25 of this series.

4. Ambiguous call chain ordering is prohibited. See patch #5 which adds
verification of restart handlers priorities, ensuring that they are unique.

Changelog:

v6: - Rebased on a recent linux-next.

    - Made minor couple cosmetic changes.

v5: - Dropped patches which cleaned up notifier/reboot headers, as was
      requested by Rafael Wysocki.

    - Dropped WARN_ON() from the code, as was requested by Rafael Wysocki.
      Replaced it with pr_err() appropriately.

    - Dropped *_notifier_has_unique_priority() functions and added
      *_notifier_chain_register_unique_prio() instead, as was suggested
      by Michał Mirosław and Rafael Wysocki.

    - Dropped export of blocking_notifier_call_chain_is_empty() symbol,
      as was suggested by Rafael Wysocki.

    - Michał Mirosław suggested that will be better to split up patch
      that adds the new API to ease reviewing, but Rafael Wysocki asked
      not add more patches, so I kept it as a single patch.

    - Added temporary "weak" stub for pm_power_off() which fixes linkage
      failure once symbol is removed from arch/* code. Previously I missed
      this problem because was only compile-testing object files.

v4: - Made a very minor improvement to doc comments, clarifying couple
      default values.

    - Corrected list of emails recipient by adding Linus, Sebastian,
      Philipp and more NDS people. Removed bouncing emails.

    - Added acks that were given to v3.

v3: - Renamed power_handler to sys_off_handler as was suggested by
      Rafael Wysocki.

    - Improved doc-comments as was suggested by Rafael Wysocki. Added more
      doc-comments.

    - Implemented full set of 180 patches which convert whole kernel in
      accordance to the plan, see link [1] above. Slightly adjusted API to
      better suit for the remaining converted drivers.

      * Added unregister_sys_off_handler() that is handy for a couple old
        platform drivers.

      * Dropped devm_register_trivial_restart_handler(), 'simple' variant
        is enough to have.

    - Improved "Add atomic/blocking_notifier_has_unique_priority()" patch,
      as was suggested by Andy Shevchenko. Also replaced down_write() with
      down_read() and factored out common notifier_has_unique_priority().

    - Added stop_chain field to struct restart_data and reboot_prep_data
      after discovering couple drivers wanting that feature.

    - Added acks that were given to v2.

v2: - Replaced standalone power-off call chain demo-API with the combined
      power-off+restart API because this is what drivers want. It's a more
      comprehensive solution.

    - Converted multiple drivers and arch code to the new API. Suggested by
      Andy Shevchenko. I skimmed through the rest of drivers, verifying that
      new API suits them. The rest of the drivers will be converted once we
      will settle on the new API, otherwise will be too many patches here.

    - v2 API doesn't expose notifier to users and require handlers to
      have unique priority. Suggested by Guenter Roeck.

    - v2 API has power-off chaining disabled by default and require
      drivers to explicitly opt-in to the chaining. This preserves old
      behaviour for existing drivers once they are converted to the new
      API.

Dmitry Osipenko (21):
  notifier: Add blocking_notifier_call_chain_is_empty()
  notifier: Add atomic/blocking_notifier_chain_register_unique_prio()
  reboot: Print error message if restart handler has duplicated priority
  kernel: Add combined power-off+restart handler call chain API
  ARM: Use do_kernel_power_off()
  csky: Use do_kernel_power_off()
  riscv: Use do_kernel_power_off()
  arm64: Use do_kernel_power_off()
  parisc: Use do_kernel_power_off()
  xen/x86: Use do_kernel_power_off()
  powerpc: Use do_kernel_power_off()
  m68k: Switch to new sys-off handler API
  sh: Use do_kernel_power_off()
  x86: Use do_kernel_power_off()
  ia64: Use do_kernel_power_off()
  mips: Use do_kernel_power_off()
  nds32: Use do_kernel_power_off()
  memory: emif: Use kernel_can_power_off()
  ACPI: power: Switch to sys-off handler API
  regulator: pfuze100: Use devm_register_sys_off_handler()
  reboot: Remove pm_power_off_prepare()

 arch/arm/kernel/reboot.c               |   4 +-
 arch/arm64/kernel/process.c            |   3 +-
 arch/csky/kernel/power.c               |   6 +-
 arch/ia64/kernel/process.c             |   4 +-
 arch/m68k/emu/natfeat.c                |   3 +-
 arch/m68k/include/asm/machdep.h        |   1 -
 arch/m68k/kernel/process.c             |   5 +-
 arch/m68k/kernel/setup_mm.c            |   1 -
 arch/m68k/kernel/setup_no.c            |   1 -
 arch/m68k/mac/config.c                 |   4 +-
 arch/mips/kernel/reset.c               |   3 +-
 arch/nds32/kernel/process.c            |   3 +-
 arch/parisc/kernel/process.c           |   4 +-
 arch/powerpc/kernel/setup-common.c     |   4 +-
 arch/powerpc/xmon/xmon.c               |   3 +-
 arch/riscv/kernel/reset.c              |  12 +-
 arch/sh/kernel/reboot.c                |   3 +-
 arch/x86/kernel/reboot.c               |   4 +-
 arch/x86/xen/enlighten_pv.c            |   4 +-
 drivers/acpi/sleep.c                   |  25 +-
 drivers/memory/emif.c                  |   2 +-
 drivers/regulator/pfuze100-regulator.c |  38 +-
 include/linux/notifier.h               |   7 +
 include/linux/pm.h                     |   1 -
 include/linux/reboot.h                 | 265 +++++++++++-
 kernel/notifier.c                      | 101 ++++-
 kernel/power/hibernate.c               |   2 +-
 kernel/reboot.c                        | 573 ++++++++++++++++++++++++-
 28 files changed, 968 insertions(+), 118 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Jan 30 23:37:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 23:37:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262559.454845 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJlI-0004sc-NE; Sun, 30 Jan 2022 23:37:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262559.454845; Sun, 30 Jan 2022 23:37:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJlI-0004sN-Hs; Sun, 30 Jan 2022 23:37:36 +0000
Received: by outflank-mailman (input) for mailman id 262559;
 Sun, 30 Jan 2022 23:37:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=imrt=SO=gmail.com=digetx@srs-se1.protection.inumbo.net>)
 id 1nEJlH-0003lI-Cs
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 23:37:35 +0000
Received: from mail-lj1-x22e.google.com (mail-lj1-x22e.google.com
 [2a00:1450:4864:20::22e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 99c795f6-8225-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 00:37:34 +0100 (CET)
Received: by mail-lj1-x22e.google.com with SMTP id c15so17066184ljf.11
 for <xen-devel@lists.xenproject.org>; Sun, 30 Jan 2022 15:37:34 -0800 (PST)
Received: from localhost.localdomain (109-252-138-126.dynamic.spd-mgts.ru.
 [109.252.138.126])
 by smtp.gmail.com with ESMTPSA id a24sm1262950ljp.112.2022.01.30.15.37.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 30 Jan 2022 15:37:34 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 99c795f6-8225-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=330E/wQDWGl4ulxyuRNdR1rr3T8TzXfUiE06Vh/nJ/4=;
        b=cg3oMBxQjVviL/NNGojcXm2zIQdA1knh2bjCFHcWisBrm24Ky2GZxKJ3rws8Te7/gs
         gKmhuSiy3i3YAnHFoGCZNUdNK8mgFrgHD+dxBwbG4yZhgFFN7+/vK4MkGE5qXYuXmMVs
         bUYXaFsNJIzGbHLL09HMWCh53ba9YsZpoLFHMsubj4f9OdgATDVSFw5EXTDeZNrJ+YwD
         4i3hO0RlUhqkX+D7hyG57IC2hHmNZLq5o5iowEWUxtxxuAtbxm76BsZH9fLeaXdkEFeP
         spgNrmHN/fUhCBM448V1raIkNHUkI0ImPa7nT8ODh8UXU57uCGiJ333W57c8FPVtKEon
         c6Zw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=330E/wQDWGl4ulxyuRNdR1rr3T8TzXfUiE06Vh/nJ/4=;
        b=1ly6CiIEPsGOkAW3X8Y3tYdsfcUkytNZ8ayZTyKPpD3VsvmOEqcokyHktEA8I+54Jg
         yK6bbnZRT1mUDw8vXFYDihEs+lvTd/fqfEzr2BZM1w91TpLrEwHmf0nor4ld4RzvYtY1
         J/czaHeWwKUNodT/FGIOqeeYujSNNa+jVENfo+iQ+muvKZsKWDgxI/l4pTH8KAux2dMM
         Qb2SGgGrj8+PkdcjPvCZ/jJxNhtWWYxWxcNUG7VpqsRFIiBWUei0KUlQulTcAkPLSbU8
         wXZ0v+21ILPCsB2OimhwqTEqNkPX0voB/USM6OrMDlht1JsubJmgyWQbZ8hwfCj8YnXU
         SmYw==
X-Gm-Message-State: AOAM533wyJFPJBcSz2vSs+50V85cNKQ1zhefAzCE2sW2VsjleTcpJph/
	fjQUUQ6OGPMaWkoAvZuu7w4=
X-Google-Smtp-Source: ABdhPJz+BlMXTarUclVIq8qzXV3P6s1WQdhrNGC7YQJ1I4ADKuUOv1DDvqkqis31Xyrq/C6PgvOyzw==
X-Received: by 2002:a2e:9cc4:: with SMTP id g4mr12328016ljj.264.1643585854485;
        Sun, 30 Jan 2022 15:37:34 -0800 (PST)
From: Dmitry Osipenko <digetx@gmail.com>
To: Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Russell King <linux@armlinux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Guo Ren <guoren@kernel.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Greg Ungerer <gerg@linux-m68k.org>,
	Joshua Thompson <funaho@jurai.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Sebastian Reichel <sre@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	Pavel Machek <pavel@ucw.cz>,
	Lee Jones <lee.jones@linaro.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	alankao@andestech.com,
	"K . C . Kuen-Chern Lin" <kclin@andestech.com>,
	=?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= <mirq-linux@rere.qmqm.pl>
Cc: linux-kernel@vger.kernel.org,
	linux-csky@vger.kernel.org,
	linux-ia64@vger.kernel.org,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linux-riscv@lists.infradead.org,
	linux-sh@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org,
	linux-pm@vger.kernel.org,
	linux-tegra@vger.kernel.org
Subject: [PATCH v6 05/21] ARM: Use do_kernel_power_off()
Date: Mon, 31 Jan 2022 02:37:02 +0300
Message-Id: <20220130233718.21544-6-digetx@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220130233718.21544-1-digetx@gmail.com>
References: <20220130233718.21544-1-digetx@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Kernel now supports chained power-off handlers. Use do_kernel_power_off()
that invokes chained power-off handlers. It also invokes legacy
pm_power_off() for now, which will be removed once all drivers will
be converted to the new power-off API.

Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---
 arch/arm/kernel/reboot.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/arch/arm/kernel/reboot.c b/arch/arm/kernel/reboot.c
index 3044fcb8d073..2cb943422554 100644
--- a/arch/arm/kernel/reboot.c
+++ b/arch/arm/kernel/reboot.c
@@ -116,9 +116,7 @@ void machine_power_off(void)
 {
 	local_irq_disable();
 	smp_send_stop();
-
-	if (pm_power_off)
-		pm_power_off();
+	do_kernel_power_off();
 }
 
 /*
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Jan 30 23:37:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 23:37:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262558.454828 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJlE-0004Jb-Ev; Sun, 30 Jan 2022 23:37:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262558.454828; Sun, 30 Jan 2022 23:37:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJlE-0004J5-9I; Sun, 30 Jan 2022 23:37:32 +0000
Received: by outflank-mailman (input) for mailman id 262558;
 Sun, 30 Jan 2022 23:37:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=imrt=SO=gmail.com=digetx@srs-se1.protection.inumbo.net>)
 id 1nEJlD-0003lI-Nv
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 23:37:31 +0000
Received: from mail-lj1-x233.google.com (mail-lj1-x233.google.com
 [2a00:1450:4864:20::233])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 978fc314-8225-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 00:37:31 +0100 (CET)
Received: by mail-lj1-x233.google.com with SMTP id t14so17068583ljh.8
 for <xen-devel@lists.xenproject.org>; Sun, 30 Jan 2022 15:37:31 -0800 (PST)
Received: from localhost.localdomain (109-252-138-126.dynamic.spd-mgts.ru.
 [109.252.138.126])
 by smtp.gmail.com with ESMTPSA id a24sm1262950ljp.112.2022.01.30.15.37.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 30 Jan 2022 15:37:30 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 978fc314-8225-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=omD9ii6hdmOPOLz0ZrMYTS/dF5Fa75SnRoAvSUBcMXk=;
        b=cQofKfpuj96FPKIuElG4JVB5ebsyCGvTeW5J4j2MH7X0WRLgzbVACf4DTute0QixNl
         XMz7+003bKZlwkXkPIQbN8oTinvwUmojDoYGjYhv7pjY2trTgrMx6mGzRdNnLsY8mkl2
         7WmE4naskN1xx+dSFpiWKWqfRvBmvOtiRbW6rsCNAcLJPNEVLDCe91z6iUu5+BFugaT2
         bIk9Hfq63C50xsIBoY2u595h9M/qG+2YlE2Nn78b7kg2gyK8fxA4P0H2C4WFKliLAVXZ
         7qPk0tNjqYTPF3ucU8/++kKEXP9ZHsFeIbMKK+4hihzAWu5kciFNMvK+pAj6fKNfAPQ5
         xmCA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=omD9ii6hdmOPOLz0ZrMYTS/dF5Fa75SnRoAvSUBcMXk=;
        b=TNqFMX/lCN/kF+KdaH2efVW/685vGXbXGrJBEbyapLPS6OyU70/2NekDKjbNtaGZCB
         VlR84cW1ese7GNzRcyGO+wYdAbv/MODmoWLSmgZOZJSyQ1ysjtLNtHXK73kueWxwmNpg
         xP5xlIwXWWphIWZa+76m7cBaxxLQBqYvsf/8cZdJewttLCOJY7cDJIoD2R4PCGOWZuTA
         5oFtHxS8s5jmwd/flz00rI++Q0qLQqG60N/o+TyzboM0lqee3g01I9Yfv9c+K9tLw+G6
         vsmeesRe92CtFuIJdznqSJ13gO4OFhzh5fywRXLlW3gsO/WpZQMyW/oc+RWqi6EM+/Qp
         /kEQ==
X-Gm-Message-State: AOAM533nbiNDcIwZHaHSeQo0bX4miikXIpWTCdYU0skZzsHxe5kMl+T5
	Ya+smpP8PEdOCPF/Bom5/6Q=
X-Google-Smtp-Source: ABdhPJzH4GGHER1dd7BkRpS9JCpguXkNuEOfM70GPh5pyei2pr3VhMNQQj2zlKMHcg7OCQ6lFFEolA==
X-Received: by 2002:a2e:7a06:: with SMTP id v6mr12281006ljc.301.1643585850758;
        Sun, 30 Jan 2022 15:37:30 -0800 (PST)
From: Dmitry Osipenko <digetx@gmail.com>
To: Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Russell King <linux@armlinux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Guo Ren <guoren@kernel.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Greg Ungerer <gerg@linux-m68k.org>,
	Joshua Thompson <funaho@jurai.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Sebastian Reichel <sre@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	Pavel Machek <pavel@ucw.cz>,
	Lee Jones <lee.jones@linaro.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	alankao@andestech.com,
	"K . C . Kuen-Chern Lin" <kclin@andestech.com>,
	=?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= <mirq-linux@rere.qmqm.pl>
Cc: linux-kernel@vger.kernel.org,
	linux-csky@vger.kernel.org,
	linux-ia64@vger.kernel.org,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linux-riscv@lists.infradead.org,
	linux-sh@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org,
	linux-pm@vger.kernel.org,
	linux-tegra@vger.kernel.org
Subject: [PATCH v6 03/21] reboot: Print error message if restart handler has duplicated priority
Date: Mon, 31 Jan 2022 02:37:00 +0300
Message-Id: <20220130233718.21544-4-digetx@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220130233718.21544-1-digetx@gmail.com>
References: <20220130233718.21544-1-digetx@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add sanity check which ensures that there are no two restart handlers
registered using the same priority. This requirement will become mandatory
once all drivers will be converted to the new API and such errors will be
fixed.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---
 kernel/reboot.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/kernel/reboot.c b/kernel/reboot.c
index 6bcc5d6a6572..35f0cde641c1 100644
--- a/kernel/reboot.c
+++ b/kernel/reboot.c
@@ -182,6 +182,21 @@ static ATOMIC_NOTIFIER_HEAD(restart_handler_list);
  */
 int register_restart_handler(struct notifier_block *nb)
 {
+	int ret;
+
+	ret = atomic_notifier_chain_register_unique_prio(&restart_handler_list, nb);
+	if (ret != -EBUSY)
+		return ret;
+
+	/*
+	 * Handler must have unique priority. Otherwise call order is
+	 * determined by registration order, which is unreliable.
+	 *
+	 * This requirement will become mandatory once all drivers
+	 * will be converted to use new sys-off API.
+	 */
+	pr_err("failed to register restart handler using unique priority\n");
+
 	return atomic_notifier_chain_register(&restart_handler_list, nb);
 }
 EXPORT_SYMBOL(register_restart_handler);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Jan 30 23:37:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 23:37:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262557.454822 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJlE-0004HA-30; Sun, 30 Jan 2022 23:37:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262557.454822; Sun, 30 Jan 2022 23:37:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJlD-0004H2-W2; Sun, 30 Jan 2022 23:37:31 +0000
Received: by outflank-mailman (input) for mailman id 262557;
 Sun, 30 Jan 2022 23:37:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=imrt=SO=gmail.com=digetx@srs-se1.protection.inumbo.net>)
 id 1nEJlC-0003l1-8r
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 23:37:30 +0000
Received: from mail-lf1-x129.google.com (mail-lf1-x129.google.com
 [2a00:1450:4864:20::129])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 968408d4-8225-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 00:37:29 +0100 (CET)
Received: by mail-lf1-x129.google.com with SMTP id x23so23419004lfc.0
 for <xen-devel@lists.xenproject.org>; Sun, 30 Jan 2022 15:37:29 -0800 (PST)
Received: from localhost.localdomain (109-252-138-126.dynamic.spd-mgts.ru.
 [109.252.138.126])
 by smtp.gmail.com with ESMTPSA id a24sm1262950ljp.112.2022.01.30.15.37.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 30 Jan 2022 15:37:28 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 968408d4-8225-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=abZuVOnKYJAOti8qIudzltr7GQTBeB9LiERH+rgMBF4=;
        b=p0RaoTyud6v2TpDuA71R51f3ompbP9DRaCJYPeyLts5rHK9ixyqkUUhLaSJgb2r2Bg
         2TTG5yphU072WSUMSAx/Z+kedFFVoyzjVzcSIYIUbH1Yygh8uhixqRaJerJ4N4thXRrQ
         oujlk5kkszBM8GgYOLJuChJo6KFJbDZwMBSQdgvwviExvuANo3f0HA/iWpifG7cGjO9P
         b27LiqDaZyav/RPf+JoXyPtERudU0yiqx/A+AO0NhKUrQUUb079dd3JY2rcLq6SyDepk
         dR2VkwBl97GbYrFjbl4KaoSrBe6E7PpqgsF7oDcCPQvs2XTA7ek0i6MDjXu+YxCSo722
         08Aw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=abZuVOnKYJAOti8qIudzltr7GQTBeB9LiERH+rgMBF4=;
        b=Oqp+o/Hqu+qpEaTcas3LENrT0p3zSOeR1ul1Bz4ZvbmNWTbgGSsXvdQo8f/yz8r7/t
         PEW/kc0vO1YBXOQqeoBWRP2dGdhHu3S2KMshYCVycgJsIwP+UXj2z4+VbGeYxKEnT8FC
         05FVe0e0MC4gcDR+9isypjh8bBbLhizXaszakGIQYEnEjOtwKKE6QmS51KZKkjJMQ7wj
         41XKG4KsfqfwUOkiQOJaB367J/KhsTwiY6thhiWF/ljOvyb8nwVGXkkXLxYNGGg6TqTT
         FlwUvEv52lVT4NDEd4xHdrBpIB271HQEymPa7WvzIwMwfMgyCKTSqmf6wa7b8GOn9Ea+
         XZVw==
X-Gm-Message-State: AOAM532W9fL8XZ99xeVeDMRipSzZt4Xme7V+iE2ir0dh4eSTMsTWrPDJ
	mLZjme+f4R9DFl1ZtoIMI0E=
X-Google-Smtp-Source: ABdhPJwoSJ34ynL6g6uCWlwcTzESsIxMTUNdOjTg1GYgEDzDCVzjTtPXpJhMlyQWeh/100C0s5LuvA==
X-Received: by 2002:ac2:554a:: with SMTP id l10mr13295710lfk.534.1643585848967;
        Sun, 30 Jan 2022 15:37:28 -0800 (PST)
From: Dmitry Osipenko <digetx@gmail.com>
To: Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Russell King <linux@armlinux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Guo Ren <guoren@kernel.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Greg Ungerer <gerg@linux-m68k.org>,
	Joshua Thompson <funaho@jurai.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Sebastian Reichel <sre@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	Pavel Machek <pavel@ucw.cz>,
	Lee Jones <lee.jones@linaro.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	alankao@andestech.com,
	"K . C . Kuen-Chern Lin" <kclin@andestech.com>,
	=?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= <mirq-linux@rere.qmqm.pl>
Cc: linux-kernel@vger.kernel.org,
	linux-csky@vger.kernel.org,
	linux-ia64@vger.kernel.org,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linux-riscv@lists.infradead.org,
	linux-sh@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org,
	linux-pm@vger.kernel.org,
	linux-tegra@vger.kernel.org
Subject: [PATCH v6 02/21] notifier: Add atomic/blocking_notifier_chain_register_unique_prio()
Date: Mon, 31 Jan 2022 02:36:59 +0300
Message-Id: <20220130233718.21544-3-digetx@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220130233718.21544-1-digetx@gmail.com>
References: <20220130233718.21544-1-digetx@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add variant of atomic/blocking_notifier_chain_register() functions that
doesn't allow to register notifier using a duplicated priority. The -EBUSY
error code is returned in this case by the new API functions.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---
 include/linux/notifier.h |  5 +++
 kernel/notifier.c        | 88 +++++++++++++++++++++++++++++++---------
 2 files changed, 74 insertions(+), 19 deletions(-)

diff --git a/include/linux/notifier.h b/include/linux/notifier.h
index d4717bc0ab85..ccce26197dd2 100644
--- a/include/linux/notifier.h
+++ b/include/linux/notifier.h
@@ -150,6 +150,11 @@ extern int raw_notifier_chain_register(struct raw_notifier_head *nh,
 extern int srcu_notifier_chain_register(struct srcu_notifier_head *nh,
 		struct notifier_block *nb);
 
+extern int atomic_notifier_chain_register_unique_prio(
+		struct atomic_notifier_head *nh, struct notifier_block *nb);
+extern int blocking_notifier_chain_register_unique_prio(
+		struct blocking_notifier_head *nh, struct notifier_block *nb);
+
 extern int atomic_notifier_chain_unregister(struct atomic_notifier_head *nh,
 		struct notifier_block *nb);
 extern int blocking_notifier_chain_unregister(struct blocking_notifier_head *nh,
diff --git a/kernel/notifier.c b/kernel/notifier.c
index 4ed6bda8f127..4fc32b1e6cbb 100644
--- a/kernel/notifier.c
+++ b/kernel/notifier.c
@@ -20,7 +20,8 @@ BLOCKING_NOTIFIER_HEAD(reboot_notifier_list);
  */
 
 static int notifier_chain_register(struct notifier_block **nl,
-				   struct notifier_block *n)
+				   struct notifier_block *n,
+				   bool unique_priority)
 {
 	while ((*nl) != NULL) {
 		if (unlikely((*nl) == n)) {
@@ -30,6 +31,8 @@ static int notifier_chain_register(struct notifier_block **nl,
 		}
 		if (n->priority > (*nl)->priority)
 			break;
+		if (n->priority == (*nl)->priority && unique_priority)
+			return -EBUSY;
 		nl = &((*nl)->next);
 	}
 	n->next = *nl;
@@ -144,12 +147,35 @@ int atomic_notifier_chain_register(struct atomic_notifier_head *nh,
 	int ret;
 
 	spin_lock_irqsave(&nh->lock, flags);
-	ret = notifier_chain_register(&nh->head, n);
+	ret = notifier_chain_register(&nh->head, n, false);
 	spin_unlock_irqrestore(&nh->lock, flags);
 	return ret;
 }
 EXPORT_SYMBOL_GPL(atomic_notifier_chain_register);
 
+/**
+ *	atomic_notifier_chain_register_unique_prio - Add notifier to an atomic notifier chain
+ *	@nh: Pointer to head of the atomic notifier chain
+ *	@n: New entry in notifier chain
+ *
+ *	Adds a notifier to an atomic notifier chain if there is no other
+ *	notifier registered using the same priority.
+ *
+ *	Returns 0 on success, %-EEXIST or %-EBUSY on error.
+ */
+int atomic_notifier_chain_register_unique_prio(struct atomic_notifier_head *nh,
+					       struct notifier_block *n)
+{
+	unsigned long flags;
+	int ret;
+
+	spin_lock_irqsave(&nh->lock, flags);
+	ret = notifier_chain_register(&nh->head, n, true);
+	spin_unlock_irqrestore(&nh->lock, flags);
+	return ret;
+}
+EXPORT_SYMBOL_GPL(atomic_notifier_chain_register_unique_prio);
+
 /**
  *	atomic_notifier_chain_unregister - Remove notifier from an atomic notifier chain
  *	@nh: Pointer to head of the atomic notifier chain
@@ -209,18 +235,9 @@ NOKPROBE_SYMBOL(atomic_notifier_call_chain);
  *	synchronized by an rwsem.
  */
 
-/**
- *	blocking_notifier_chain_register - Add notifier to a blocking notifier chain
- *	@nh: Pointer to head of the blocking notifier chain
- *	@n: New entry in notifier chain
- *
- *	Adds a notifier to a blocking notifier chain.
- *	Must be called in process context.
- *
- *	Returns 0 on success, %-EEXIST on error.
- */
-int blocking_notifier_chain_register(struct blocking_notifier_head *nh,
-		struct notifier_block *n)
+static int __blocking_notifier_chain_register(struct blocking_notifier_head *nh,
+					      struct notifier_block *n,
+					      bool unique_priority)
 {
 	int ret;
 
@@ -230,15 +247,48 @@ int blocking_notifier_chain_register(struct blocking_notifier_head *nh,
 	 * such times we must not call down_write().
 	 */
 	if (unlikely(system_state == SYSTEM_BOOTING))
-		return notifier_chain_register(&nh->head, n);
+		return notifier_chain_register(&nh->head, n, unique_priority);
 
 	down_write(&nh->rwsem);
-	ret = notifier_chain_register(&nh->head, n);
+	ret = notifier_chain_register(&nh->head, n, unique_priority);
 	up_write(&nh->rwsem);
 	return ret;
 }
+
+/**
+ *	blocking_notifier_chain_register - Add notifier to a blocking notifier chain
+ *	@nh: Pointer to head of the blocking notifier chain
+ *	@n: New entry in notifier chain
+ *
+ *	Adds a notifier to a blocking notifier chain.
+ *	Must be called in process context.
+ *
+ *	Returns 0 on success, %-EEXIST on error.
+ */
+int blocking_notifier_chain_register(struct blocking_notifier_head *nh,
+		struct notifier_block *n)
+{
+	return __blocking_notifier_chain_register(nh, n, false);
+}
 EXPORT_SYMBOL_GPL(blocking_notifier_chain_register);
 
+/**
+ *	blocking_notifier_chain_register_unique_prio - Add notifier to a blocking notifier chain
+ *	@nh: Pointer to head of the blocking notifier chain
+ *	@n: New entry in notifier chain
+ *
+ *	Adds a notifier to an blocking notifier chain if there is no other
+ *	notifier registered using the same priority.
+ *
+ *	Returns 0 on success, %-EEXIST or %-EBUSY on error.
+ */
+int blocking_notifier_chain_register_unique_prio(struct blocking_notifier_head *nh,
+						 struct notifier_block *n)
+{
+	return __blocking_notifier_chain_register(nh, n, true);
+}
+EXPORT_SYMBOL_GPL(blocking_notifier_chain_register_unique_prio);
+
 /**
  *	blocking_notifier_chain_unregister - Remove notifier from a blocking notifier chain
  *	@nh: Pointer to head of the blocking notifier chain
@@ -354,7 +404,7 @@ bool blocking_notifier_call_chain_is_empty(struct blocking_notifier_head *nh)
 int raw_notifier_chain_register(struct raw_notifier_head *nh,
 		struct notifier_block *n)
 {
-	return notifier_chain_register(&nh->head, n);
+	return notifier_chain_register(&nh->head, n, false);
 }
 EXPORT_SYMBOL_GPL(raw_notifier_chain_register);
 
@@ -433,10 +483,10 @@ int srcu_notifier_chain_register(struct srcu_notifier_head *nh,
 	 * such times we must not call mutex_lock().
 	 */
 	if (unlikely(system_state == SYSTEM_BOOTING))
-		return notifier_chain_register(&nh->head, n);
+		return notifier_chain_register(&nh->head, n, false);
 
 	mutex_lock(&nh->mutex);
-	ret = notifier_chain_register(&nh->head, n);
+	ret = notifier_chain_register(&nh->head, n, false);
 	mutex_unlock(&nh->mutex);
 	return ret;
 }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Jan 30 23:37:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 23:37:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262560.454852 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJlJ-0004wL-8y; Sun, 30 Jan 2022 23:37:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262560.454852; Sun, 30 Jan 2022 23:37:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJlI-0004vJ-SL; Sun, 30 Jan 2022 23:37:36 +0000
Received: by outflank-mailman (input) for mailman id 262560;
 Sun, 30 Jan 2022 23:37:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=imrt=SO=gmail.com=digetx@srs-se1.protection.inumbo.net>)
 id 1nEJlH-0003l1-6l
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 23:37:35 +0000
Received: from mail-lf1-x133.google.com (mail-lf1-x133.google.com
 [2a00:1450:4864:20::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 98f23d79-8225-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 00:37:33 +0100 (CET)
Received: by mail-lf1-x133.google.com with SMTP id a28so23275420lfl.7
 for <xen-devel@lists.xenproject.org>; Sun, 30 Jan 2022 15:37:33 -0800 (PST)
Received: from localhost.localdomain (109-252-138-126.dynamic.spd-mgts.ru.
 [109.252.138.126])
 by smtp.gmail.com with ESMTPSA id a24sm1262950ljp.112.2022.01.30.15.37.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 30 Jan 2022 15:37:32 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 98f23d79-8225-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=38q4P9PH9nES8RczvE7OnqqkPXztayfrVWMcaUM8s+A=;
        b=Q5MMOfb7rSODkS2kn3q5XZwf8zqIJ51IQ9xubkbgFUXSkjeQuaWSup3m+O4pqzEDb+
         E5n9vGkwG0A9gd4ThXBeoS4gmKX3lE/LDT4c+lQtj8pSMtUOMy+/RfxrZFjXGS7nFwz3
         Ea8wdh6MqebEmUMqRIX0pFbIr1vxXIyTdEq6fEBGk8pS5aGMUej1IOxH3mvGTTx8Zb1A
         p4WtB/fC8HBNV/xxJOVx1rFQqfZwVyB2qQ4QMQgl9eptDSGyK38HXczvAjdOimktb6W5
         8rYZQrU03+6DIo9Weao9ASYgqF1QhkVgUfmExWAQVTk5LYoCXz0MemHnQpiOtJnXUQLZ
         yZeg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=38q4P9PH9nES8RczvE7OnqqkPXztayfrVWMcaUM8s+A=;
        b=JM0FaQk5BEWj/toFbFWOvlONPofVwiNhLoUar0xriMNsK2l83UCDvWtUlMUDwPpafr
         oAtGfSqIELYCPGFv8s9rCmwKU8rV8gUXwlyUmtwqFAmW4vVNNnr+I3lddjtYFVDBiF3S
         VE15Kbyf1O4KnRcLEjcjokbh+JEOz3n0q40xOr067ENYZ/SN9fZtB3gJ8Q0hfxvbnYzs
         fDoHjMnTrTUIsnbz50YHS3q0GPjBGVq21J74kFcr6d4jrExBhSwfeSk9FmploLCtxswk
         2QZBVojX7ZWieS/QAYryVC8IjRPCI5+u3Iq3OwuaH+YCv40pAECWVorotrtG48dAvX0n
         Z5Ng==
X-Gm-Message-State: AOAM531rxnrjuUL3/0+52gpVxNOA1Y5YZoRbPDlJMMh2NDXf96cFIBNX
	izs5YyNkYb8h0oB7zsucyuI=
X-Google-Smtp-Source: ABdhPJwx3H1Lxh28u4hkNoEI/kzbRKfVLKfuDBCQcQ68ILBqPiTWY9aJ1dkoCljIJtKgelCY8ITq2Q==
X-Received: by 2002:a05:6512:23a2:: with SMTP id c34mr13488689lfv.623.1643585852671;
        Sun, 30 Jan 2022 15:37:32 -0800 (PST)
From: Dmitry Osipenko <digetx@gmail.com>
To: Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Russell King <linux@armlinux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Guo Ren <guoren@kernel.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Greg Ungerer <gerg@linux-m68k.org>,
	Joshua Thompson <funaho@jurai.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Sebastian Reichel <sre@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	Pavel Machek <pavel@ucw.cz>,
	Lee Jones <lee.jones@linaro.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	alankao@andestech.com,
	"K . C . Kuen-Chern Lin" <kclin@andestech.com>,
	=?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= <mirq-linux@rere.qmqm.pl>
Cc: linux-kernel@vger.kernel.org,
	linux-csky@vger.kernel.org,
	linux-ia64@vger.kernel.org,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linux-riscv@lists.infradead.org,
	linux-sh@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org,
	linux-pm@vger.kernel.org,
	linux-tegra@vger.kernel.org
Subject: [PATCH v6 04/21] kernel: Add combined power-off+restart handler call chain API
Date: Mon, 31 Jan 2022 02:37:01 +0300
Message-Id: <20220130233718.21544-5-digetx@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220130233718.21544-1-digetx@gmail.com>
References: <20220130233718.21544-1-digetx@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

SoC platforms often have multiple ways of how to perform system's
power-off and restart operations. Meanwhile today's kernel is limited to
a single option. Add combined power-off+restart handler call chain API,
which is inspired by the restart API. The new API provides both power-off
and restart functionality.

The old pm_power_off method will be kept around till all users are
converted to the new API.

Current restart API will be replaced by the new unified API since
new API is its superset. The restart functionality of the sys-off handler
API is built upon the existing restart-notifier APIs.

In order to ease conversion to the new API, convenient helpers are added
for the common use-cases. They will reduce amount of boilerplate code and
remove global variables. These helpers preserve old behaviour for cases
where only one power-off handler is expected, this is what all existing
drivers want, and thus, they could be easily converted to the new API.
Users of the new API should explicitly enable power-off chaining by
setting corresponding flag of the power_handler structure.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---
 include/linux/reboot.h   | 265 ++++++++++++++++++-
 kernel/power/hibernate.c |   2 +-
 kernel/reboot.c          | 555 ++++++++++++++++++++++++++++++++++++++-
 3 files changed, 814 insertions(+), 8 deletions(-)

diff --git a/include/linux/reboot.h b/include/linux/reboot.h
index af907a3d68d1..c2fa8d63c129 100644
--- a/include/linux/reboot.h
+++ b/include/linux/reboot.h
@@ -8,10 +8,35 @@
 
 struct device;
 
-#define SYS_DOWN	0x0001	/* Notify of system down */
-#define SYS_RESTART	SYS_DOWN
-#define SYS_HALT	0x0002	/* Notify of system halt */
-#define SYS_POWER_OFF	0x0003	/* Notify of system power off */
+enum reboot_prepare_mode {
+	SYS_DOWN = 1,		/* Notify of system down */
+	SYS_RESTART = SYS_DOWN,
+	SYS_HALT,		/* Notify of system halt */
+	SYS_POWER_OFF,		/* Notify of system power off */
+};
+
+/*
+ * Standard restart priority levels. Intended to be set in the
+ * sys_off_handler.restart_priority field.
+ *
+ * Use `RESTART_PRIO_ABC +- prio` style for additional levels.
+ *
+ * RESTART_PRIO_RESERVED:	Falls back to RESTART_PRIO_DEFAULT.
+ *				Drivers may leave priority initialized
+ *				to zero, to auto-set it to the default level.
+ *
+ * RESTART_PRIO_LOW:		Use this for handler of last resort.
+ *
+ * RESTART_PRIO_DEFAULT:	Use this for default/generic handler.
+ *
+ * RESTART_PRIO_HIGH:		Use this if you have multiple handlers and
+ *				this handler has higher priority than the
+ *				default handler.
+ */
+#define RESTART_PRIO_RESERVED		0
+#define RESTART_PRIO_LOW		8
+#define RESTART_PRIO_DEFAULT		128
+#define RESTART_PRIO_HIGH		192
 
 enum reboot_mode {
 	REBOOT_UNDEFINED = -1,
@@ -49,6 +74,237 @@ extern int register_restart_handler(struct notifier_block *);
 extern int unregister_restart_handler(struct notifier_block *);
 extern void do_kernel_restart(char *cmd);
 
+/*
+ * System power-off and restart API.
+ */
+
+/*
+ * Standard power-off priority levels. Intended to be set in the
+ * sys_off_handler.power_off_priority field.
+ *
+ * Use `POWEROFF_PRIO_ABC +- prio` style for additional levels.
+ *
+ * POWEROFF_PRIO_RESERVED:	Falls back to POWEROFF_PRIO_DEFAULT.
+ *				Drivers may leave priority initialized
+ *				to zero, to auto-set it to the default level.
+ *
+ * POWEROFF_PRIO_PLATFORM:	Intended to be used by platform-level handler.
+ *				Has lowest priority since device drivers are
+ *				expected to take over platform handler which
+ *				doesn't allow further callback chaining.
+ *
+ * POWEROFF_PRIO_DEFAULT:	Use this for default/generic handler.
+ *
+ * POWEROFF_PRIO_FIRMWARE:	Use this if handler uses firmware call.
+ *				Has highest priority since firmware is expected
+ *				to know best how to power-off hardware properly.
+ */
+#define POWEROFF_PRIO_RESERVED		0
+#define POWEROFF_PRIO_PLATFORM		1
+#define POWEROFF_PRIO_DEFAULT		128
+#define POWEROFF_PRIO_HIGH		192
+#define POWEROFF_PRIO_FIRMWARE		224
+
+enum poweroff_mode {
+	POWEROFF_NORMAL = 0,
+	POWEROFF_PREPARE,
+};
+
+/**
+ * struct power_off_data - Power-off callback argument
+ *
+ * @cb_data: Callback data.
+ */
+struct power_off_data {
+	void *cb_data;
+};
+
+/**
+ * struct power_off_prep_data - Power-off preparation callback argument
+ *
+ * @cb_data: Callback data.
+ */
+struct power_off_prep_data {
+	void *cb_data;
+};
+
+/**
+ * struct restart_data - Restart callback argument
+ *
+ * @cb_data: Callback data.
+ * @cmd: Restart command string.
+ * @stop_chain: Further lower priority callbacks won't be executed if set to
+ *		true. Can be changed within callback. Default is false.
+ * @mode: Reboot mode ID.
+ */
+struct restart_data {
+	void *cb_data;
+	const char *cmd;
+	bool stop_chain;
+	enum reboot_mode mode;
+};
+
+/**
+ * struct reboot_prep_data - Reboot and shutdown preparation callback argument
+ *
+ * @cb_data: Callback data.
+ * @cmd: Restart command string.
+ * @stop_chain: Further lower priority callbacks won't be executed if set to
+ *		true. Can be changed within callback. Default is false.
+ * @mode: Preparation mode ID.
+ */
+struct reboot_prep_data {
+	void *cb_data;
+	const char *cmd;
+	bool stop_chain;
+	enum reboot_prepare_mode mode;
+};
+
+struct sys_off_handler_private_data {
+	struct notifier_block power_off_nb;
+	struct notifier_block restart_nb;
+	struct notifier_block reboot_nb;
+	void (*platform_power_off_cb)(void);
+	void (*simple_power_off_cb)(void *data);
+	void *simple_power_off_cb_data;
+	bool registered;
+};
+
+/**
+ * struct sys_off_handler - System power-off and restart handler
+ *
+ * @cb_data: Pointer to user's data.
+ *
+ * @power_off_cb: Callback that powers off this machine. Inactive if NULL.
+ *
+ * @power_off_prepare_cb: Power-off preparation callback. All power-off
+ * preparation callbacks are invoked after @reboot_prepare_cb and before
+ * @power_off_cb. Inactive if NULL.
+ *
+ * @power_off_priority: Power-off callback priority, must be unique.
+ * Zero value is reserved and auto-reassigned to POWEROFF_PRIO_DEFAULT.
+ * Inactive if @power_off_cb is NULL.
+ *
+ * @power_off_chaining_allowed: Set to false if callback's execution should
+ * stop when @power_off_cb fails to power off this machine. True if further
+ * lower priority power-off callback should be executed. False is default
+ * value.
+ *
+ * @restart_cb: Callback that reboots this machine. Inactive if NULL.
+ *
+ * @restart_priority: Restart callback priority, must be unique. Zero value
+ * is reserved and auto-reassigned to RESTART_PRIO_DEFAULT. Inactive if
+ * @restart_cb is NULL.
+ *
+ * @restart_chaining_disallowed: Set to true if callback's execution should
+ * stop when @restart_cb fails to restart this machine. False if further
+ * lower priority restart callback should be executed. False is default
+ * value.
+ *
+ * @reboot_prepare_cb: Reboot/shutdown preparation callback. All reboot
+ * preparation callbacks are invoked before @restart_cb or @power_off_cb,
+ * depending on the mode. It's registered with register_reboot_notifier().
+ * The point is to remove boilerplate code from drivers which use this
+ * callback in conjunction with the restart/power-off callbacks.
+ *
+ * @reboot_priority: Reboot/shutdown preparation callback priority, doesn't
+ * need to be unique. Zero is default value. Inactive if @reboot_prepare_cb
+ * is NULL.
+ *
+ * @priv: Internal data. Shouldn't be touched.
+ *
+ * Describes power-off and restart handlers which are invoked by kernel
+ * to power off or restart this machine. Supports prioritized chaining for
+ * both restart and power-off handlers.
+ *
+ * Struct sys_off_handler can be static. Members of this structure must not be
+ * altered while handler is registered.
+ *
+ * Fill the structure members and pass it to @register_sys_off_handler().
+ */
+struct sys_off_handler {
+	void *cb_data;
+
+	void (*power_off_cb)(struct power_off_data *data);
+	void (*power_off_prepare_cb)(struct power_off_prep_data *data);
+	int power_off_priority;
+	bool power_off_chaining_allowed;
+
+	void (*restart_cb)(struct restart_data *data);
+	int restart_priority;
+	bool restart_chaining_disallowed;
+
+	void (*reboot_prepare_cb)(struct reboot_prep_data *data);
+	int reboot_priority;
+
+	const struct sys_off_handler_private_data priv;
+};
+
+int register_sys_off_handler(struct sys_off_handler *handler);
+int unregister_sys_off_handler(struct sys_off_handler *handler);
+
+int devm_register_sys_off_handler(struct device *dev,
+				  struct sys_off_handler *handler);
+
+int devm_register_prioritized_power_off_handler(struct device *dev,
+						int priority,
+						void (*callback)(void *data),
+						void *cb_data);
+
+/**
+ *	devm_register_simple_power_off_handler - Register simple power-off callback
+ *	@dev: Device that registers callback
+ *	@callback: Callback function
+ *	@cb_data: Callback's argument
+ *
+ *	Registers resource-managed power-off callback with default priority.
+ *	It will be invoked as last step of the power-off sequence. Further
+ *	lower priority callbacks won't be executed if this @callback fails.
+ *
+ *	Returns zero on success, or error code on failure.
+ */
+static inline int
+devm_register_simple_power_off_handler(struct device *dev,
+				       void (*callback)(void *data),
+				       void *cb_data)
+{
+	return devm_register_prioritized_power_off_handler(dev,
+							   POWEROFF_PRIO_DEFAULT,
+							   callback, cb_data);
+}
+
+int register_platform_power_off(void (*power_off)(void));
+int unregister_platform_power_off(void (*power_off)(void));
+
+int devm_register_prioritized_restart_handler(struct device *dev,
+					      int priority,
+					      void (*callback)(struct restart_data *data),
+					      void *cb_data);
+
+/**
+ *	devm_register_simple_restart_handler - Register simple restart callback
+ *	@dev: Device that registers callback
+ *	@callback: Callback function
+ *	@cb_data: Callback's argument
+ *
+ *	Registers resource-managed restart callback with default priority.
+ *	It will be invoked as a part of the restart sequence. Further
+ *	lower priority callback will be executed if this @callback fails.
+ *
+ *	Returns zero on success, or error code on failure.
+ */
+static inline int
+devm_register_simple_restart_handler(struct device *dev,
+				     void (*callback)(struct restart_data *data),
+				     void *cb_data)
+{
+	return devm_register_prioritized_restart_handler(dev,
+							 RESTART_PRIO_DEFAULT,
+							 callback, cb_data);
+}
+
+void do_kernel_power_off(void);
+
 /*
  * Architecture-specific implementations of sys_reboot commands.
  */
@@ -70,6 +326,7 @@ extern void kernel_restart_prepare(char *cmd);
 extern void kernel_restart(char *cmd);
 extern void kernel_halt(void);
 extern void kernel_power_off(void);
+extern bool kernel_can_power_off(void);
 
 extern int C_A_D; /* for sysctl */
 void ctrl_alt_del(void);
diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c
index a94044197c4a..aace22f7a031 100644
--- a/kernel/power/hibernate.c
+++ b/kernel/power/hibernate.c
@@ -665,7 +665,7 @@ static void power_down(void)
 		hibernation_platform_enter();
 		fallthrough;
 	case HIBERNATION_SHUTDOWN:
-		if (pm_power_off)
+		if (kernel_can_power_off())
 			kernel_power_off();
 		break;
 	}
diff --git a/kernel/reboot.c b/kernel/reboot.c
index 35f0cde641c1..1ae5ba86b150 100644
--- a/kernel/reboot.c
+++ b/kernel/reboot.c
@@ -296,6 +296,546 @@ void kernel_halt(void)
 }
 EXPORT_SYMBOL_GPL(kernel_halt);
 
+/*
+ *	Notifier list for kernel code which wants to be called
+ *	to power off the system.
+ */
+static BLOCKING_NOTIFIER_HEAD(power_off_handler_list);
+
+/*
+ * Temporary stub that prevents linkage failure while we're in process
+ * of removing all uses of legacy pm_power_off() around the kernel.
+ */
+void __weak (*pm_power_off)(void);
+
+static void dummy_pm_power_off(void)
+{
+	/* temporary stub until pm_power_off() is gone, see more below */
+}
+
+static struct notifier_block *pm_power_off_nb;
+
+/**
+ *	register_power_off_handler - Register function to be called to power off
+ *				     the system
+ *	@nb: Info about handler function to be called
+ *	@nb->priority:	Handler priority. Handlers should follow the
+ *			following guidelines for setting priorities.
+ *			0:	Reserved
+ *			1:	Power-off handler of last resort,
+ *				with limited power-off capabilities
+ *			128:	Default power-off handler; use if no other
+ *				power-off handler is expected to be available,
+ *				and/or if power-off functionality is
+ *				sufficient to power-off the entire system
+ *			255:	Highest priority power-off handler, will
+ *				preempt all other power-off handlers
+ *
+ *	Registers a function with code to be called to power off the
+ *	system.
+ *
+ *	Registered functions will be called as last step of the power-off
+ *	sequence.
+ *
+ *	Registered functions are expected to power off the system immediately.
+ *	If more than one function is registered, the power-off handler priority
+ *	selects which function will be called first.
+ *
+ *	Power-off handlers are expected to be registered from non-architecture
+ *	code, typically from drivers. A typical use case would be a system
+ *	where power-off functionality is provided through a PMIC. Multiple
+ *	power-off handlers may exist; for example, one power-off handler might
+ *	turn off the entire system, while another only turns off part of
+ *	system. In such cases, the power-off handler which only disables part
+ *	of the hardware is expected to register with low priority to ensure
+ *	that it only runs if no other means to power off the system is
+ *	available.
+ *
+ *	Currently always returns zero, as blocking_notifier_chain_register()
+ *	always returns zero.
+ */
+static int register_power_off_handler(struct notifier_block *nb)
+{
+	int ret;
+
+	ret = blocking_notifier_chain_register_unique_prio(&power_off_handler_list, nb);
+	if (ret && ret != -EBUSY)
+		return ret;
+
+	if (!ret)
+		goto set_pm_power_off;
+
+	/*
+	 * Handler must have unique priority. Otherwise call order is
+	 * determined by registration order, which is unreliable.
+	 *
+	 * This requirement will become mandatory once all drivers
+	 * will be converted to use new sys-off API.
+	 */
+	pr_err("failed to register power-off handler using unique priority\n");
+
+	ret = blocking_notifier_chain_register(&power_off_handler_list, nb);
+	if (ret)
+		return ret;
+
+	/*
+	 * Some drivers check whether pm_power_off was already installed.
+	 * Install dummy callback using new API to preserve old behaviour
+	 * for those drivers during period of transition to the new API.
+	 */
+set_pm_power_off:
+	if (!pm_power_off) {
+		pm_power_off = dummy_pm_power_off;
+		pm_power_off_nb = nb;
+	}
+
+	return 0;
+}
+
+static int unregister_power_off_handler(struct notifier_block *nb)
+{
+	if (nb == pm_power_off_nb) {
+		if (pm_power_off == dummy_pm_power_off)
+			pm_power_off = NULL;
+
+		pm_power_off_nb = NULL;
+	}
+
+	return blocking_notifier_chain_unregister(&power_off_handler_list, nb);
+}
+
+static void devm_unregister_power_off_handler(void *data)
+{
+	struct notifier_block *nb = data;
+
+	unregister_power_off_handler(nb);
+}
+
+static int devm_register_power_off_handler(struct device *dev,
+					   struct notifier_block *nb)
+{
+	int err;
+
+	err = register_power_off_handler(nb);
+	if (err)
+		return err;
+
+	return devm_add_action_or_reset(dev, devm_unregister_power_off_handler,
+					nb);
+}
+
+static int sys_off_handler_power_off(struct notifier_block *nb,
+				     unsigned long mode, void *unused)
+{
+	struct power_off_prep_data prep_data = {};
+	struct sys_off_handler_private_data *priv;
+	struct power_off_data data = {};
+	struct sys_off_handler *h;
+	int ret = NOTIFY_DONE;
+
+	priv = container_of(nb, struct sys_off_handler_private_data, power_off_nb);
+	h = container_of(priv, struct sys_off_handler, priv);
+	prep_data.cb_data = h->cb_data;
+	data.cb_data = h->cb_data;
+
+	switch (mode) {
+	case POWEROFF_NORMAL:
+		if (h->power_off_cb)
+			h->power_off_cb(&data);
+
+		if (priv->simple_power_off_cb)
+			priv->simple_power_off_cb(priv->simple_power_off_cb_data);
+
+		if (priv->platform_power_off_cb)
+			priv->platform_power_off_cb();
+
+		if (!h->power_off_chaining_allowed)
+			ret = NOTIFY_STOP;
+
+		break;
+
+	case POWEROFF_PREPARE:
+		if (h->power_off_prepare_cb)
+			h->power_off_prepare_cb(&prep_data);
+
+		break;
+
+	default:
+		unreachable();
+	}
+
+	return ret;
+}
+
+static int sys_off_handler_restart(struct notifier_block *nb,
+				   unsigned long mode, void *cmd)
+{
+	struct sys_off_handler_private_data *priv;
+	struct restart_data data = {};
+	struct sys_off_handler *h;
+
+	priv = container_of(nb, struct sys_off_handler_private_data, restart_nb);
+	h = container_of(priv, struct sys_off_handler, priv);
+
+	data.stop_chain = h->restart_chaining_disallowed;
+	data.cb_data = h->cb_data;
+	data.mode = mode;
+	data.cmd = cmd;
+
+	h->restart_cb(&data);
+
+	return data.stop_chain ? NOTIFY_STOP : NOTIFY_DONE;
+}
+
+static int sys_off_handler_reboot(struct notifier_block *nb,
+				  unsigned long mode, void *cmd)
+{
+	struct sys_off_handler_private_data *priv;
+	struct reboot_prep_data data = {};
+	struct sys_off_handler *h;
+
+	priv = container_of(nb, struct sys_off_handler_private_data, reboot_nb);
+	h = container_of(priv, struct sys_off_handler, priv);
+
+	data.cb_data = h->cb_data;
+	data.stop_chain = false;
+	data.mode = mode;
+	data.cmd = cmd;
+
+	h->reboot_prepare_cb(&data);
+
+	return data.stop_chain ? NOTIFY_STOP : NOTIFY_DONE;
+}
+
+static struct sys_off_handler_private_data *
+sys_off_handler_private_data(struct sys_off_handler *handler)
+{
+	return (struct sys_off_handler_private_data *)&handler->priv;
+}
+
+/**
+ *	devm_register_sys_off_handler - Register system power-off/restart handler
+ *	@dev: Device that registers handler
+ *	@handler: System-off handler
+ *
+ *	Registers handler that will be called as last step of the power-off
+ *	and restart sequences.
+ *
+ *	Returns zero on success, or error code on failure.
+ */
+int register_sys_off_handler(struct sys_off_handler *handler)
+{
+	struct sys_off_handler_private_data *priv;
+	int err, priority;
+
+	priv = sys_off_handler_private_data(handler);
+
+	/* sanity-check whether handler is registered twice */
+	if (priv->registered)
+		return -EBUSY;
+
+	if (handler->power_off_cb || handler->power_off_prepare_cb) {
+		if (handler->power_off_priority == POWEROFF_PRIO_RESERVED)
+			priority = POWEROFF_PRIO_DEFAULT;
+		else
+			priority = handler->power_off_priority;
+
+		priv->power_off_nb.notifier_call = sys_off_handler_power_off;
+		priv->power_off_nb.priority = priority;
+
+		err = register_power_off_handler(&priv->power_off_nb);
+		if (err)
+			goto reset_sys_off_handler;
+	}
+
+	if (handler->restart_cb) {
+		if (handler->restart_priority == RESTART_PRIO_RESERVED)
+			priority = RESTART_PRIO_DEFAULT;
+		else
+			priority = handler->restart_priority;
+
+		priv->restart_nb.notifier_call = sys_off_handler_restart;
+		priv->restart_nb.priority = priority;
+
+		err = register_restart_handler(&priv->restart_nb);
+		if (err)
+			goto unreg_power_off_handler;
+	}
+
+	if (handler->reboot_prepare_cb) {
+		priv->reboot_nb.notifier_call = sys_off_handler_reboot;
+		priv->reboot_nb.priority = handler->reboot_priority;
+
+		err = register_reboot_notifier(&priv->reboot_nb);
+		if (err)
+			goto unreg_restart_handler;
+	}
+
+	priv->registered = true;
+
+	return 0;
+
+unreg_restart_handler:
+	if (handler->restart_cb)
+		unregister_restart_handler(&priv->restart_nb);
+
+unreg_power_off_handler:
+	if (handler->power_off_cb)
+		unregister_power_off_handler(&priv->power_off_nb);
+
+reset_sys_off_handler:
+	memset(priv, 0, sizeof(*priv));
+
+	return err;
+}
+EXPORT_SYMBOL(register_sys_off_handler);
+
+/**
+ *	unregister_sys_off_handler - Unregister system power-off/restart handler
+ *	@handler: System-off handler
+ *
+ *	Unregisters sys-off handler. Does nothing and returns zero if handler
+ *	is NULL.
+ *
+ *	Returns zero on success, or error code on failure.
+ */
+int unregister_sys_off_handler(struct sys_off_handler *handler)
+{
+	struct sys_off_handler_private_data *priv;
+
+	if (!handler)
+		return 0;
+
+	priv = sys_off_handler_private_data(handler);
+
+	/* sanity-check whether handler is unregistered twice */
+	if (!priv->registered)
+		return -EINVAL;
+
+	if (handler->reboot_prepare_cb)
+		unregister_reboot_notifier(&priv->reboot_nb);
+
+	if (handler->restart_cb)
+		unregister_restart_handler(&priv->restart_nb);
+
+	if (handler->power_off_cb)
+		unregister_power_off_handler(&priv->power_off_nb);
+
+	memset(priv, 0, sizeof(*priv));
+
+	return 0;
+}
+EXPORT_SYMBOL(unregister_sys_off_handler);
+
+static void devm_unregister_sys_off_handler(void *data)
+{
+	struct sys_off_handler *handler = data;
+
+	unregister_sys_off_handler(handler);
+}
+
+/**
+ *	devm_register_sys_off_handler - Register system power-off/restart handler
+ *	@dev: Device that registers handler
+ *	@handler: System-off handler
+ *
+ *	Resource-managed variant of register_sys_off_handler().
+ *
+ *	Returns zero on success, or error code on failure.
+ */
+int devm_register_sys_off_handler(struct device *dev,
+				  struct sys_off_handler *handler)
+{
+	int err;
+
+	err = register_sys_off_handler(handler);
+	if (err)
+		return err;
+
+	return devm_add_action_or_reset(dev, devm_unregister_sys_off_handler,
+					handler);
+}
+EXPORT_SYMBOL(devm_register_sys_off_handler);
+
+/**
+ *	devm_register_prioritized_power_off_handler - Register prioritized power-off callback
+ *	@dev: Device that registers callback
+ *	@priority: Callback's priority
+ *	@callback: Callback function
+ *	@cb_data: Callback's argument
+ *
+ *	Registers resource-managed power-off callback with a given priority.
+ *	It will be called as last step of the power-off sequence. Callbacks
+ *	chaining is disabled, i.e. further lower priority callbacks won't
+ *	be executed if this @callback will fail to execute.
+ *
+ *	Returns zero on success, or error code on failure.
+ */
+int devm_register_prioritized_power_off_handler(struct device *dev,
+						int priority,
+						void (*callback)(void *data),
+						void *cb_data)
+{
+	struct sys_off_handler_private_data *priv;
+	struct sys_off_handler *handler;
+
+	handler = devm_kzalloc(dev, sizeof(*handler), GFP_KERNEL);
+	if (!handler)
+		return -ENOMEM;
+
+	if (priority == POWEROFF_PRIO_RESERVED)
+		priority = POWEROFF_PRIO_DEFAULT;
+
+	priv = sys_off_handler_private_data(handler);
+
+	priv->power_off_nb.notifier_call = sys_off_handler_power_off;
+	priv->power_off_nb.priority = priority;
+	priv->simple_power_off_cb_data = cb_data;
+	priv->simple_power_off_cb = callback;
+
+	return devm_register_power_off_handler(dev, &priv->power_off_nb);
+}
+EXPORT_SYMBOL(devm_register_prioritized_power_off_handler);
+
+/**
+ *	devm_register_prioritized_restart_handler - Register prioritized restart callback
+ *	@dev: Device that registers callback
+ *	@priority: Callback's priority
+ *	@callback: Callback function
+ *	@cb_data: Callback's argument
+ *
+ *	Registers resource-managed restart callback with a given priority.
+ *	It will be called as a part of the restart sequence. Callbacks
+ *	chaining is disabled, i.e. further lower priority callbacks won't
+ *	be executed if this @callback will fail to execute.
+ *
+ *	Returns zero on success, or error code on failure.
+ */
+int devm_register_prioritized_restart_handler(struct device *dev,
+					      int priority,
+					      void (*callback)(struct restart_data *data),
+					      void *cb_data)
+{
+	struct sys_off_handler *handler;
+
+	handler = devm_kzalloc(dev, sizeof(*handler), GFP_KERNEL);
+	if (!handler)
+		return -ENOMEM;
+
+	if (priority == RESTART_PRIO_RESERVED)
+		priority = RESTART_PRIO_DEFAULT;
+
+	handler->restart_priority = priority;
+	handler->restart_cb = callback;
+	handler->cb_data = cb_data;
+
+	return devm_register_sys_off_handler(dev, handler);
+}
+EXPORT_SYMBOL(devm_register_prioritized_restart_handler);
+
+static struct sys_off_handler platform_power_off_handler = {
+	.priv = {
+		.power_off_nb = {
+			.notifier_call = sys_off_handler_power_off,
+			.priority = POWEROFF_PRIO_PLATFORM,
+		},
+	},
+};
+
+static DEFINE_SPINLOCK(platform_power_off_lock);
+
+/**
+ *	register_platform_power_off - Register platform-level power-off callback
+ *	@power_off: Power-off callback
+ *
+ *	Registers power-off callback that will be called as last step
+ *	of the power-off sequence. This callback is expected to be invoked
+ *	for the last resort. Further lower priority callbacks won't be
+ *	executed if @power_off fails. Only one platform power-off callback
+ *	is allowed to be registered at a time.
+ *
+ *	Returns zero on success, or error code on failure.
+ */
+int register_platform_power_off(void (*power_off)(void))
+{
+	struct sys_off_handler_private_data *priv;
+	int ret = 0;
+
+	priv = sys_off_handler_private_data(&platform_power_off_handler);
+
+	spin_lock(&platform_power_off_lock);
+	if (priv->platform_power_off_cb)
+		ret = -EBUSY;
+	else
+		priv->platform_power_off_cb = power_off;
+	spin_unlock(&platform_power_off_lock);
+
+	if (ret)
+		return ret;
+
+	ret = register_power_off_handler(&priv->power_off_nb);
+	if (ret)
+		priv->platform_power_off_cb = NULL;
+
+	return ret;
+}
+EXPORT_SYMBOL_GPL(register_platform_power_off);
+
+/**
+ *	unregister_platform_power_off - Unregister platform-level power-off callback
+ *	@power_off: Power-off callback
+ *
+ *	Unregisters previously registered platform power-off callback.
+ *
+ *	Returns zero on success, or error code on failure.
+ */
+int unregister_platform_power_off(void (*power_off)(void))
+{
+	struct sys_off_handler_private_data *priv;
+	int ret;
+
+	priv = sys_off_handler_private_data(&platform_power_off_handler);
+
+	if (priv->platform_power_off_cb != power_off)
+		return -EINVAL;
+
+	ret = unregister_power_off_handler(&priv->power_off_nb);
+	priv->platform_power_off_cb = NULL;
+
+	return ret;
+}
+EXPORT_SYMBOL_GPL(unregister_platform_power_off);
+
+/**
+ *	do_kernel_power_off - Execute kernel power-off handler call chain
+ *
+ *	Calls functions registered with register_power_off_handler.
+ *
+ *	Expected to be called as last step of the power-off sequence.
+ *
+ *	Powers off the system immediately if a power-off handler function has
+ *	been registered. Otherwise does nothing.
+ */
+void do_kernel_power_off(void)
+{
+	/* legacy pm_power_off() is unchained and has highest priority */
+	if (pm_power_off && pm_power_off != dummy_pm_power_off)
+		return pm_power_off();
+
+	blocking_notifier_call_chain(&power_off_handler_list, POWEROFF_NORMAL,
+				     NULL);
+}
+
+static void do_kernel_power_off_prepare(void)
+{
+	/* legacy pm_power_off_prepare() is unchained and has highest priority */
+	if (pm_power_off_prepare)
+		return pm_power_off_prepare();
+
+	blocking_notifier_call_chain(&power_off_handler_list, POWEROFF_PREPARE,
+				     NULL);
+}
+
 /**
  *	kernel_power_off - power_off the system
  *
@@ -304,8 +844,7 @@ EXPORT_SYMBOL_GPL(kernel_halt);
 void kernel_power_off(void)
 {
 	kernel_shutdown_prepare(SYSTEM_POWER_OFF);
-	if (pm_power_off_prepare)
-		pm_power_off_prepare();
+	do_kernel_power_off_prepare();
 	migrate_to_reboot_cpu();
 	syscore_shutdown();
 	pr_emerg("Power down\n");
@@ -314,6 +853,16 @@ void kernel_power_off(void)
 }
 EXPORT_SYMBOL_GPL(kernel_power_off);
 
+bool kernel_can_power_off(void)
+{
+	if (!pm_power_off &&
+	    blocking_notifier_call_chain_is_empty(&power_off_handler_list))
+		return false;
+
+	return true;
+}
+EXPORT_SYMBOL_GPL(kernel_can_power_off);
+
 DEFINE_MUTEX(system_transition_mutex);
 
 /*
@@ -355,7 +904,7 @@ SYSCALL_DEFINE4(reboot, int, magic1, int, magic2, unsigned int, cmd,
 	/* Instead of trying to make the power_off code look like
 	 * halt when pm_power_off is not set do it the easy way.
 	 */
-	if ((cmd == LINUX_REBOOT_CMD_POWER_OFF) && !pm_power_off)
+	if (cmd == LINUX_REBOOT_CMD_POWER_OFF && !kernel_can_power_off())
 		cmd = LINUX_REBOOT_CMD_HALT;
 
 	mutex_lock(&system_transition_mutex);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Jan 30 23:37:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 23:37:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262561.454867 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJlK-0005RF-Ua; Sun, 30 Jan 2022 23:37:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262561.454867; Sun, 30 Jan 2022 23:37:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJlK-0005P3-Ki; Sun, 30 Jan 2022 23:37:38 +0000
Received: by outflank-mailman (input) for mailman id 262561;
 Sun, 30 Jan 2022 23:37:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=imrt=SO=gmail.com=digetx@srs-se1.protection.inumbo.net>)
 id 1nEJlJ-0003l1-6m
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 23:37:37 +0000
Received: from mail-lf1-x12d.google.com (mail-lf1-x12d.google.com
 [2a00:1450:4864:20::12d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9ad34a60-8225-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 00:37:36 +0100 (CET)
Received: by mail-lf1-x12d.google.com with SMTP id p27so23342514lfa.1
 for <xen-devel@lists.xenproject.org>; Sun, 30 Jan 2022 15:37:36 -0800 (PST)
Received: from localhost.localdomain (109-252-138-126.dynamic.spd-mgts.ru.
 [109.252.138.126])
 by smtp.gmail.com with ESMTPSA id a24sm1262950ljp.112.2022.01.30.15.37.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 30 Jan 2022 15:37:35 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9ad34a60-8225-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=1ZrDgi56okXdj0bmuwFyDd+PCBPMTNLxDRZAmCQiy7Q=;
        b=c3NtOsqbA47a1sJX+GEy+0rTmzy10+oHXKnLf++rqhzO+HkV5EX5GbmXX0syutXx6R
         46cFfpCzhcPa31L6Xgo37w0ud+s6MmIVbyT0zR8tDah7CqXCEteg4iWk/eRCwba6mO4V
         8W4zc+2KzJhcjNF1j1wVUUcXHT6ObiOakX5p2KYvUVsZQRY7Y82Y6MKvBpcRryxOInUF
         RxKVqw9v4fGeVOkmtCX3EyiW/0qXGxVzl0X9GRONS3eJ/CiP8qRj0ZyFLbrruPRrmWMZ
         iKAyqg4ppe9pVvVxKhsjy91ldTFtuqlW7PzcwXhnonKoFQRzsPVvvJpThza+ddSLXVij
         QBag==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=1ZrDgi56okXdj0bmuwFyDd+PCBPMTNLxDRZAmCQiy7Q=;
        b=U2Y6hWm7nFoJ/5FBFP1459i/75cjeMsgFMyntsdEp0Mckb22abs1BC6CXGmhdc5XBY
         TxBQXWIbNd/3X92Hia0DRJjkR3zcpI266rwfMEAz3UTd6dIGhdqPrB2pIRRbkGzzA94h
         7tNRoQTGNu0v3Q0jqLuSQsEuCaFBLnow8t16eXfqYyVpCC63DXF5k3w+9fhFoBAYEMAg
         dqbfy+FK+uKoIDSnPt0Kw2UZFaOHlEL6Z5bcE60djfGtm+2rjNqc+gVcWtAeHaQFWtfU
         sWgU9kjKRqz0jMrxw48OTZ10aeXfOMIbq9B4Gr0U//Is0Ko8/lBkGYxP9VtNv7Wmh2af
         HLOQ==
X-Gm-Message-State: AOAM531yzyXiMy+GTsx3Bcr+AhBkx1zRIgliDudREopmw0lFO8hAOorx
	2gLbO3TuDPJFOT4CtAX6WbU=
X-Google-Smtp-Source: ABdhPJwjH2OF/Lh8B3AhmAwBhRKlkrWOfnqlna+Zr9L+uqZhDMGJf1wpdqmmSlpmTjq1hjKH+//r2w==
X-Received: by 2002:a05:6512:1082:: with SMTP id j2mr7550090lfg.371.1643585856261;
        Sun, 30 Jan 2022 15:37:36 -0800 (PST)
From: Dmitry Osipenko <digetx@gmail.com>
To: Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Russell King <linux@armlinux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Guo Ren <guoren@kernel.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Greg Ungerer <gerg@linux-m68k.org>,
	Joshua Thompson <funaho@jurai.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Sebastian Reichel <sre@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	Pavel Machek <pavel@ucw.cz>,
	Lee Jones <lee.jones@linaro.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	alankao@andestech.com,
	"K . C . Kuen-Chern Lin" <kclin@andestech.com>,
	=?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= <mirq-linux@rere.qmqm.pl>
Cc: linux-kernel@vger.kernel.org,
	linux-csky@vger.kernel.org,
	linux-ia64@vger.kernel.org,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linux-riscv@lists.infradead.org,
	linux-sh@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org,
	linux-pm@vger.kernel.org,
	linux-tegra@vger.kernel.org
Subject: [PATCH v6 06/21] csky: Use do_kernel_power_off()
Date: Mon, 31 Jan 2022 02:37:03 +0300
Message-Id: <20220130233718.21544-7-digetx@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220130233718.21544-1-digetx@gmail.com>
References: <20220130233718.21544-1-digetx@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Kernel now supports chained power-off handlers. Use do_kernel_power_off()
that invokes chained power-off handlers. It also invokes legacy
pm_power_off() for now, which will be removed once all drivers will
be converted to the new power-off API.

Acked-by: Guo Ren <guoren@kernel.org>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---
 arch/csky/kernel/power.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/arch/csky/kernel/power.c b/arch/csky/kernel/power.c
index 923ee4e381b8..86ee202906f8 100644
--- a/arch/csky/kernel/power.c
+++ b/arch/csky/kernel/power.c
@@ -9,16 +9,14 @@ EXPORT_SYMBOL(pm_power_off);
 void machine_power_off(void)
 {
 	local_irq_disable();
-	if (pm_power_off)
-		pm_power_off();
+	do_kernel_power_off();
 	asm volatile ("bkpt");
 }
 
 void machine_halt(void)
 {
 	local_irq_disable();
-	if (pm_power_off)
-		pm_power_off();
+	do_kernel_power_off();
 	asm volatile ("bkpt");
 }
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Jan 30 23:37:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 23:37:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262562.454877 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJlN-0005qv-5M; Sun, 30 Jan 2022 23:37:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262562.454877; Sun, 30 Jan 2022 23:37: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 1nEJlN-0005qk-00; Sun, 30 Jan 2022 23:37:41 +0000
Received: by outflank-mailman (input) for mailman id 262562;
 Sun, 30 Jan 2022 23:37:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=imrt=SO=gmail.com=digetx@srs-se1.protection.inumbo.net>)
 id 1nEJlL-0003l1-1T
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 23:37:39 +0000
Received: from mail-lj1-x232.google.com (mail-lj1-x232.google.com
 [2a00:1450:4864:20::232])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9be99d79-8225-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 00:37:38 +0100 (CET)
Received: by mail-lj1-x232.google.com with SMTP id q22so17106566ljh.7
 for <xen-devel@lists.xenproject.org>; Sun, 30 Jan 2022 15:37:38 -0800 (PST)
Received: from localhost.localdomain (109-252-138-126.dynamic.spd-mgts.ru.
 [109.252.138.126])
 by smtp.gmail.com with ESMTPSA id a24sm1262950ljp.112.2022.01.30.15.37.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 30 Jan 2022 15:37:37 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9be99d79-8225-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=OVg2kfJsVdscnSQmsGQYEfiSB/7tSvJBE6eAcPu7Sek=;
        b=c4Z1zQFdWlsKxw9UxAzj2ZQzBVH0IlXZ5Q9hlT/o2eauoc+12KgHtyZnfnu9QRCul7
         XIq2yfEDvsyi714qK62uqrcXiKbZ83JQlipU755myvbplyaKCzIx8SoEbYZQx1g2QPK1
         ZiW0YJxW7z6xKBh2ESJStcRTergJa9YSSKnZXGs2GFxaXBnqnCcNoIMPWorMJ7h8whhy
         F2xnNh9XSw25BmP4Yp0yjpYr8c279tQye0/GiTHl+WGgBlBd/yKdunLMFcBd5VjP++Bl
         z5q6iip6mJ3MI/RtrvT6/DwKfRUy9WgbSLddepD6tmbzL6Xf24XNQo71hEy43Zt7gMYI
         LH7w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=OVg2kfJsVdscnSQmsGQYEfiSB/7tSvJBE6eAcPu7Sek=;
        b=xvdZ4LgmQwcuJ953jYyy8g6ZYvIVRkTsHz37m1ApZX0xjJmW96LVcvzmI/9JrFWyGw
         tjPhF+A2yxsRZLQtLm2lQiI+/p/G0NAsPpPkh/FaFLD/4+67AKLfqINbmUTWyz+JZj2Y
         X5FYunJxHn+oWzp0UuTYOhw4Pbu8VzDyOsfi1H+F31wgqV0xf8Kcx7HyaDUtpTWqjhRG
         XDd03qS7k+/eADIkQFIiPedZIo4BGdXWcXLZEeCbDF2w1CZMFjk7Xp4VKNcVC/sVy0iO
         NqO045eY5C6odGFBNBrh/1E+jZbT3az0s5k9/4n+BvRp3x1+INBxX62HBsDWHLX8u1Ak
         LPYQ==
X-Gm-Message-State: AOAM531kQZQ7TtLXSmZ2QjslMz88l2I33gX2hCRy0R8TdzrB7OOZIy/A
	IIYsllqOPXQTJnUrJYR43zo=
X-Google-Smtp-Source: ABdhPJw0o4UVP5/vUUv/1Chd11yJ2CJCMOQv44y6t1B7x180Ayz+XFBoJsJgXLguCKSrO7B2enZNZA==
X-Received: by 2002:a2e:90c7:: with SMTP id o7mr12381352ljg.340.1643585858043;
        Sun, 30 Jan 2022 15:37:38 -0800 (PST)
From: Dmitry Osipenko <digetx@gmail.com>
To: Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Russell King <linux@armlinux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Guo Ren <guoren@kernel.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Greg Ungerer <gerg@linux-m68k.org>,
	Joshua Thompson <funaho@jurai.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Sebastian Reichel <sre@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	Pavel Machek <pavel@ucw.cz>,
	Lee Jones <lee.jones@linaro.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	alankao@andestech.com,
	"K . C . Kuen-Chern Lin" <kclin@andestech.com>,
	=?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= <mirq-linux@rere.qmqm.pl>
Cc: linux-kernel@vger.kernel.org,
	linux-csky@vger.kernel.org,
	linux-ia64@vger.kernel.org,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linux-riscv@lists.infradead.org,
	linux-sh@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org,
	linux-pm@vger.kernel.org,
	linux-tegra@vger.kernel.org
Subject: [PATCH v6 07/21] riscv: Use do_kernel_power_off()
Date: Mon, 31 Jan 2022 02:37:04 +0300
Message-Id: <20220130233718.21544-8-digetx@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220130233718.21544-1-digetx@gmail.com>
References: <20220130233718.21544-1-digetx@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Kernel now supports chained power-off handlers. Use do_kernel_power_off()
that invokes chained power-off handlers. It also invokes legacy
pm_power_off() for now, which will be removed once all drivers will
be converted to the new power-off API.

Acked-by: Palmer Dabbelt <palmer@dabbelt.com>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---
 arch/riscv/kernel/reset.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/arch/riscv/kernel/reset.c b/arch/riscv/kernel/reset.c
index 9c842c41684a..912288572226 100644
--- a/arch/riscv/kernel/reset.c
+++ b/arch/riscv/kernel/reset.c
@@ -23,16 +23,12 @@ void machine_restart(char *cmd)
 
 void machine_halt(void)
 {
-	if (pm_power_off != NULL)
-		pm_power_off();
-	else
-		default_power_off();
+	do_kernel_power_off();
+	default_power_off();
 }
 
 void machine_power_off(void)
 {
-	if (pm_power_off != NULL)
-		pm_power_off();
-	else
-		default_power_off();
+	do_kernel_power_off();
+	default_power_off();
 }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Jan 30 23:37:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 23:37:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262563.454888 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJlP-0006FL-Jq; Sun, 30 Jan 2022 23:37:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262563.454888; Sun, 30 Jan 2022 23:37: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 1nEJlP-0006F3-Ez; Sun, 30 Jan 2022 23:37:43 +0000
Received: by outflank-mailman (input) for mailman id 262563;
 Sun, 30 Jan 2022 23:37:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=imrt=SO=gmail.com=digetx@srs-se1.protection.inumbo.net>)
 id 1nEJlN-0003lI-Bn
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 23:37:41 +0000
Received: from mail-lf1-x12b.google.com (mail-lf1-x12b.google.com
 [2a00:1450:4864:20::12b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9cfdc69c-8225-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 00:37:40 +0100 (CET)
Received: by mail-lf1-x12b.google.com with SMTP id z4so23316240lft.3
 for <xen-devel@lists.xenproject.org>; Sun, 30 Jan 2022 15:37:40 -0800 (PST)
Received: from localhost.localdomain (109-252-138-126.dynamic.spd-mgts.ru.
 [109.252.138.126])
 by smtp.gmail.com with ESMTPSA id a24sm1262950ljp.112.2022.01.30.15.37.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 30 Jan 2022 15:37:39 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9cfdc69c-8225-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=y24DENQRtEKdQppbGIKyd5oN0ftjyxygovRkGgk1ggI=;
        b=iye0IDf8S26dwLx295PYKApjfR1uhOWkwFRwEuTaz7HfVp5gNRTd7PsGZcdNXus2j5
         KC4hfRnns4Q3gDw6FYYl2hiGD9zyQ++BtQsUN5sSEIWlqdWsG1HgjgoDbwION7zck9/B
         S8MhYR0qnGU76YGP6zQCb71/H90UqaQBgBJGYf9Z6F3zA18hOB/JJMmd+MfBgMIf44bI
         sMILvpsYiXOPyNn3wn8H/3IuNgSMTY5MBK2vT4Gl2WvXF7Wqy+10WxR4R+u39c/0cwYM
         yj8NA83EDXhIuKdSCp9nssU1hiFyiw4wPTkhvi9jW5WvzZ+itFPqw8PQ5rG3RKpTYBTp
         Kbhw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=y24DENQRtEKdQppbGIKyd5oN0ftjyxygovRkGgk1ggI=;
        b=FRyHIBGX28MvUHi9LU8lGh6UeBaPp8pa6R3CrAkBnUttPvTL8/dwrS67RVIEY9x+Eo
         /Dpeg8BZAAYVy7/Eq2UFc6DIbZ/xivGJRAdLz1UGm5T9ZG19e6QwxWqTtY1aP0wXJIoe
         +W8yLePRf99zS4pwBGbWmDei6CWBpVgiOpV3udp+a3saXkugtfW6qI+5Srr1q4EQdKHQ
         CBUdqon8V0VG+SLHvAPsGrtwUX20/t5movK59NDTbuhLExoR6MpxDe5KM2c9LnbabU1e
         IimK8jfOyRi1TW43yHeygaA+o9pIidkXKturxgGwRv9aoxJSShJp7m6vY6z+Rq3eti3M
         KIjw==
X-Gm-Message-State: AOAM531UR9URCMqDhjrcrMpS8uK82zB776pwSfmPxJ/Yb2COq68eFO4U
	xkoDjaKUWHhin+wwYIVXHNU=
X-Google-Smtp-Source: ABdhPJwUMukTmRLWxE4WTMsRGXBxMbLNoOfsYOAYvD7oQJog5SiqqQ5VNyGL25QpTozq+s6lOQk2Yw==
X-Received: by 2002:ac2:5186:: with SMTP id u6mr14721765lfi.519.1643585859891;
        Sun, 30 Jan 2022 15:37:39 -0800 (PST)
From: Dmitry Osipenko <digetx@gmail.com>
To: Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Russell King <linux@armlinux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Guo Ren <guoren@kernel.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Greg Ungerer <gerg@linux-m68k.org>,
	Joshua Thompson <funaho@jurai.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Sebastian Reichel <sre@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	Pavel Machek <pavel@ucw.cz>,
	Lee Jones <lee.jones@linaro.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	alankao@andestech.com,
	"K . C . Kuen-Chern Lin" <kclin@andestech.com>,
	=?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= <mirq-linux@rere.qmqm.pl>
Cc: linux-kernel@vger.kernel.org,
	linux-csky@vger.kernel.org,
	linux-ia64@vger.kernel.org,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linux-riscv@lists.infradead.org,
	linux-sh@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org,
	linux-pm@vger.kernel.org,
	linux-tegra@vger.kernel.org
Subject: [PATCH v6 08/21] arm64: Use do_kernel_power_off()
Date: Mon, 31 Jan 2022 02:37:05 +0300
Message-Id: <20220130233718.21544-9-digetx@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220130233718.21544-1-digetx@gmail.com>
References: <20220130233718.21544-1-digetx@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Kernel now supports chained power-off handlers. Use do_kernel_power_off()
that invokes chained power-off handlers. It also invokes legacy
pm_power_off() for now, which will be removed once all drivers will
be converted to the new power-off API.

Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---
 arch/arm64/kernel/process.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c
index 5369e649fa79..6816a23bacc2 100644
--- a/arch/arm64/kernel/process.c
+++ b/arch/arm64/kernel/process.c
@@ -111,8 +111,7 @@ void machine_power_off(void)
 {
 	local_irq_disable();
 	smp_send_stop();
-	if (pm_power_off)
-		pm_power_off();
+	do_kernel_power_off();
 }
 
 /*
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Jan 30 23:37:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 23:37:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262564.454895 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJlQ-0006Kk-E5; Sun, 30 Jan 2022 23:37:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262564.454895; Sun, 30 Jan 2022 23:37:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJlP-0006Jy-Vm; Sun, 30 Jan 2022 23:37:43 +0000
Received: by outflank-mailman (input) for mailman id 262564;
 Sun, 30 Jan 2022 23:37:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=imrt=SO=gmail.com=digetx@srs-se1.protection.inumbo.net>)
 id 1nEJlO-0003l1-O6
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 23:37:42 +0000
Received: from mail-lj1-x22c.google.com (mail-lj1-x22c.google.com
 [2a00:1450:4864:20::22c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9e1a642d-8225-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 00:37:42 +0100 (CET)
Received: by mail-lj1-x22c.google.com with SMTP id q127so17130788ljq.2
 for <xen-devel@lists.xenproject.org>; Sun, 30 Jan 2022 15:37:42 -0800 (PST)
Received: from localhost.localdomain (109-252-138-126.dynamic.spd-mgts.ru.
 [109.252.138.126])
 by smtp.gmail.com with ESMTPSA id a24sm1262950ljp.112.2022.01.30.15.37.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 30 Jan 2022 15:37:41 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9e1a642d-8225-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=AgUqH21X35PnBCT61HDKwIodN/aq26TmgR9kDSi8+dE=;
        b=fEIAF9bcuqAzIb/0tvvq3O8BS3Czq/h/Pef82qF5eHHyasojPcfrbzHIoydtxto2wQ
         wX3GRnvjdbDLsYzgPU//nRHxWx9+vDmqu8vdYaGgwj5L8VR9yxpsog+gt5eJPplHLl4e
         kqhHMmdlDa++8c9buauTRSwKJ6jfUHn5/JsOh2KUKr7++Tl8q3EC24jzcc+1IqofA7cx
         yXwlnX+5/2eKeRHjSIgSHEbnUPlgmP3R0LM3AyLuosb/cm9cEGXdYAYHlBtd7sLoPY5e
         i0MqdVJGdefaKvtADgtcIGnn2Rb9Fp4xI/VcrEBkKlMINocLP6Acwod5XzODcGIEG+vI
         gglQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=AgUqH21X35PnBCT61HDKwIodN/aq26TmgR9kDSi8+dE=;
        b=w2d1UPjuzP5wFB9uFM+29MGyjev0uCloUf+xJDYArEn3WL8YBT6IYzDjyD2VHHPqdB
         KKdof7ZRXXLxYrTTXE98KDX7XxF5RtXbEOT8Hqj5aIWUt+R4SwnvgAUKwbnLgFzobMn+
         U5BwceR1syfGK2yX7K6dmYokLAnGWhwG3fax81GP7yGmzvCywIQ/PhgSQEX7ruQeWNFm
         Db3eQbmOJM5MOH57jrwhRVIgHje0MWXyWZbrfJY+zRH6o08j74Kb2oXkFcoEfL1AbHJl
         y92PTc44EMC1ZuhbnHl1ZPtP42z5wIvmffUwYPylBuCYLrq0lrhUEUttv45JDH4XLjux
         VUQQ==
X-Gm-Message-State: AOAM5305MXnIVDgA9chXdHqD5I874kdjm8aamYyiJopJyobcfBegDCWS
	AwJfM+zJRSw3fAz1FfHHCuo=
X-Google-Smtp-Source: ABdhPJwQcQFogpM/qB5H07sE2bxg4HVgxxJELrz/nZ4JWWpyA2e1jZd2qT8OYjJChyxa9ZABZerkCg==
X-Received: by 2002:a2e:8699:: with SMTP id l25mr12382831lji.91.1643585861720;
        Sun, 30 Jan 2022 15:37:41 -0800 (PST)
From: Dmitry Osipenko <digetx@gmail.com>
To: Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Russell King <linux@armlinux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Guo Ren <guoren@kernel.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Greg Ungerer <gerg@linux-m68k.org>,
	Joshua Thompson <funaho@jurai.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Sebastian Reichel <sre@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	Pavel Machek <pavel@ucw.cz>,
	Lee Jones <lee.jones@linaro.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	alankao@andestech.com,
	"K . C . Kuen-Chern Lin" <kclin@andestech.com>,
	=?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= <mirq-linux@rere.qmqm.pl>
Cc: linux-kernel@vger.kernel.org,
	linux-csky@vger.kernel.org,
	linux-ia64@vger.kernel.org,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linux-riscv@lists.infradead.org,
	linux-sh@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org,
	linux-pm@vger.kernel.org,
	linux-tegra@vger.kernel.org
Subject: [PATCH v6 09/21] parisc: Use do_kernel_power_off()
Date: Mon, 31 Jan 2022 02:37:06 +0300
Message-Id: <20220130233718.21544-10-digetx@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220130233718.21544-1-digetx@gmail.com>
References: <20220130233718.21544-1-digetx@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Kernel now supports chained power-off handlers. Use do_kernel_power_off()
that invokes chained power-off handlers. It also invokes legacy
pm_power_off() for now, which will be removed once all drivers will
be converted to the new power-off API.

Acked-by: Helge Deller <deller@gmx.de> # parisc
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---
 arch/parisc/kernel/process.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/parisc/kernel/process.c b/arch/parisc/kernel/process.c
index ea3d83b6fb62..928201b1f58f 100644
--- a/arch/parisc/kernel/process.c
+++ b/arch/parisc/kernel/process.c
@@ -26,6 +26,7 @@
 #include <linux/module.h>
 #include <linux/personality.h>
 #include <linux/ptrace.h>
+#include <linux/reboot.h>
 #include <linux/sched.h>
 #include <linux/sched/debug.h>
 #include <linux/sched/task.h>
@@ -114,8 +115,7 @@ void machine_power_off(void)
 	pdc_chassis_send_status(PDC_CHASSIS_DIRECT_SHUTDOWN);
 
 	/* ipmi_poweroff may have been installed. */
-	if (pm_power_off)
-		pm_power_off();
+	do_kernel_power_off();
 		
 	/* It seems we have no way to power the system off via
 	 * software. The user has to press the button himself. */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Jan 30 23:37:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 23:37:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262565.454908 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJlS-0006q5-C7; Sun, 30 Jan 2022 23:37:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262565.454908; Sun, 30 Jan 2022 23:37:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJlR-0006nQ-UP; Sun, 30 Jan 2022 23:37:45 +0000
Received: by outflank-mailman (input) for mailman id 262565;
 Sun, 30 Jan 2022 23:37:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=imrt=SO=gmail.com=digetx@srs-se1.protection.inumbo.net>)
 id 1nEJlQ-0003lI-GW
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 23:37:44 +0000
Received: from mail-lf1-x12a.google.com (mail-lf1-x12a.google.com
 [2a00:1450:4864:20::12a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9f2bb32f-8225-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 00:37:43 +0100 (CET)
Received: by mail-lf1-x12a.google.com with SMTP id u6so23257081lfm.10
 for <xen-devel@lists.xenproject.org>; Sun, 30 Jan 2022 15:37:43 -0800 (PST)
Received: from localhost.localdomain (109-252-138-126.dynamic.spd-mgts.ru.
 [109.252.138.126])
 by smtp.gmail.com with ESMTPSA id a24sm1262950ljp.112.2022.01.30.15.37.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 30 Jan 2022 15:37:43 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9f2bb32f-8225-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=66lCIOUKcPJ2J+m4Cr3ZW94G0lABJXZaED/s9f5QGmA=;
        b=IaLlORDZoeaYRpO44854hgYk2/vgTJOclvwIF3Vv/dy/WRswOVfYMTb/lgYFF6u20R
         kgD4kuaMUZhPrzrsrp+1aHUtVBmfCdIQHjkOsK+D3JxP5SLPXm0dCS3YEeqxtX5eYSIx
         8EdSobISpvnT22JqnHeoUtNW+EX+/cnH1SeCCQB6STOy1ozdbhelGYqvV1xMpt5YBA99
         B/96htM+mne2xjdlCrcPFCtKPM7GzoR7BZlH1OzPT5hR1hE9cLpw2j5lrnPZ7ZPlmwwI
         nMOCD5Tt0vJ4ks8CXxb7pk/YLn1ILllHgnHrKEVAgGpxNOjR5JCV7EBSVseqXYt1IKk7
         FSXw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=66lCIOUKcPJ2J+m4Cr3ZW94G0lABJXZaED/s9f5QGmA=;
        b=1+VpyRluGL3TRkD/agACj8b4J0OuX7Zt3UoKVRQ1PiGS8ekUH9wJTpH2M8EOf55WN0
         GyyqrHs31DsmVfJ89nt9ursY1H4SMcVgG4IWTQmT9GobgjIujkcH09+jioC+YwtbJP5o
         KHKWO5vNHTpnbVz39gt4bwi9vsU2laZUMxpbOOka9lRPlloqb0rWiCp57cv/cq4RLChi
         LLO+XvkFR7adziMR/gQlQEIZiBDQrrMCvohfIzrExssf91r2VvCIZYdq+IRi/MLnhRi2
         WXGpVWlreqZ5dC2oGZP9DP50XWCkd+Ds4EoNpA0hBn5E0Pr1vZbw+OtAy2RE25BfkuPN
         1chQ==
X-Gm-Message-State: AOAM533hEUhOmjQpSCUibBSNeWbVVv6fwA4z/nqRos0u2xso3czlaEII
	xjqVymPe2RcVz9mt7ZdHSX8=
X-Google-Smtp-Source: ABdhPJw0xUt9j/jtl0uaDt91Bsr3KfV7lR3RRZqMVEqi4OIibegSJcLOPzN3p/u9YZbK6f72FdmH0g==
X-Received: by 2002:a05:6512:3091:: with SMTP id z17mr13662510lfd.216.1643585863533;
        Sun, 30 Jan 2022 15:37:43 -0800 (PST)
From: Dmitry Osipenko <digetx@gmail.com>
To: Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Russell King <linux@armlinux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Guo Ren <guoren@kernel.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Greg Ungerer <gerg@linux-m68k.org>,
	Joshua Thompson <funaho@jurai.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Sebastian Reichel <sre@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	Pavel Machek <pavel@ucw.cz>,
	Lee Jones <lee.jones@linaro.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	alankao@andestech.com,
	"K . C . Kuen-Chern Lin" <kclin@andestech.com>,
	=?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= <mirq-linux@rere.qmqm.pl>
Cc: linux-kernel@vger.kernel.org,
	linux-csky@vger.kernel.org,
	linux-ia64@vger.kernel.org,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linux-riscv@lists.infradead.org,
	linux-sh@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org,
	linux-pm@vger.kernel.org,
	linux-tegra@vger.kernel.org
Subject: [PATCH v6 10/21] xen/x86: Use do_kernel_power_off()
Date: Mon, 31 Jan 2022 02:37:07 +0300
Message-Id: <20220130233718.21544-11-digetx@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220130233718.21544-1-digetx@gmail.com>
References: <20220130233718.21544-1-digetx@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Kernel now supports chained power-off handlers. Use do_kernel_power_off()
that invokes chained power-off handlers. It also invokes legacy
pm_power_off() for now, which will be removed once all drivers will
be converted to the new power-off API.

Acked-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---
 arch/x86/xen/enlighten_pv.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c
index 5004feb16783..527fa545eb1f 100644
--- a/arch/x86/xen/enlighten_pv.c
+++ b/arch/x86/xen/enlighten_pv.c
@@ -31,6 +31,7 @@
 #include <linux/gfp.h>
 #include <linux/edd.h>
 #include <linux/objtool.h>
+#include <linux/reboot.h>
 
 #include <xen/xen.h>
 #include <xen/events.h>
@@ -1068,8 +1069,7 @@ static void xen_machine_halt(void)
 
 static void xen_machine_power_off(void)
 {
-	if (pm_power_off)
-		pm_power_off();
+	do_kernel_power_off();
 	xen_reboot(SHUTDOWN_poweroff);
 }
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Jan 30 23:37:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 23:37:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262566.454917 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJlU-0007Ix-NU; Sun, 30 Jan 2022 23:37:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262566.454917; Sun, 30 Jan 2022 23:37: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 1nEJlU-0007Hj-4V; Sun, 30 Jan 2022 23:37:48 +0000
Received: by outflank-mailman (input) for mailman id 262566;
 Sun, 30 Jan 2022 23:37:46 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=imrt=SO=gmail.com=digetx@srs-se1.protection.inumbo.net>)
 id 1nEJlS-0003lI-8Q
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 23:37:46 +0000
Received: from mail-lf1-x133.google.com (mail-lf1-x133.google.com
 [2a00:1450:4864:20::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a0408308-8225-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 00:37:45 +0100 (CET)
Received: by mail-lf1-x133.google.com with SMTP id a28so23276021lfl.7
 for <xen-devel@lists.xenproject.org>; Sun, 30 Jan 2022 15:37:45 -0800 (PST)
Received: from localhost.localdomain (109-252-138-126.dynamic.spd-mgts.ru.
 [109.252.138.126])
 by smtp.gmail.com with ESMTPSA id a24sm1262950ljp.112.2022.01.30.15.37.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 30 Jan 2022 15:37:44 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a0408308-8225-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=EOoRrU+XNCvH4y2De/y0/3nvouQcv+AIk9CqttDCqGU=;
        b=Xenhc8uEX5pndBJlaDWs7DZMq++uCKYCaPhTRn+v8Pl6kdDQBiq3K+xk68g+lJ4bfb
         xZ0s68SQJzgN7roWd+Sm2QhFGePj8q4/xhI0aeufWhORrHMmrI9Me+kOtUbih63bZtb6
         0ONUKG+oe3tUPDlqh+XwtnfSXapDSUNhobEfHkXXD2jWYeC/eLrTsR82DtHf6HHPZ3Ti
         T856rZoGRovN/ZZzwL74avJYGt+XINSCwpiKRk5t0Q88fCFTaGgu6LEev5sylA8ww9qW
         bEbiz2YJdBL1j7FCE0FI146AM6wMNEQmt3CI8lSlsxZpxhGAK8uAOhBigDyDJ64IQ5ph
         fLRw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=EOoRrU+XNCvH4y2De/y0/3nvouQcv+AIk9CqttDCqGU=;
        b=uJ20D408iTyWB9b7587pu6litePrpoC4Ie6j+I+V9lay4O+0JaX/vzHNCZVychCDVN
         DQrPT+lNamoDuYszgQ9BLMefXQtqYF2nvDGF4pnin3+zxtwucZGM8VUyNJSPEeD3fOSF
         hI6jTWNw23znh9ETUxGlZQUd7sF1GAZXDuGmNKRp09aO8vBgcJ2zGI3GEaEoKXxZ2vzH
         x/SqQfPY41ybAmQ7HqkQhGPHf0LYqihnHPPixh/pUyOH5C9F/1fRfcKvm8z6KJp7olht
         co1B6XFMZZ9Bt3W4G6ML1QDuV9bQNNA9D4eNkxeiN2ouOHisnhJLrsvoh74vo/Exqgby
         2eCQ==
X-Gm-Message-State: AOAM532Ft7EjldE7XjweegkO2RtAm8dJOaOznRt3Kxjb7VMMR2ZCZCSD
	4AciUDOqxWsaWkqN5yoTt7o=
X-Google-Smtp-Source: ABdhPJwHvsxF1vvJkDiGpTgqSXjFtQ+p50F4FDOHob5db5lzmW0uNoHuWaSIs7Seja+8JuHVDBb7qw==
X-Received: by 2002:ac2:5333:: with SMTP id f19mr13304920lfh.451.1643585865359;
        Sun, 30 Jan 2022 15:37:45 -0800 (PST)
From: Dmitry Osipenko <digetx@gmail.com>
To: Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Russell King <linux@armlinux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Guo Ren <guoren@kernel.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Greg Ungerer <gerg@linux-m68k.org>,
	Joshua Thompson <funaho@jurai.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Sebastian Reichel <sre@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	Pavel Machek <pavel@ucw.cz>,
	Lee Jones <lee.jones@linaro.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	alankao@andestech.com,
	"K . C . Kuen-Chern Lin" <kclin@andestech.com>,
	=?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= <mirq-linux@rere.qmqm.pl>
Cc: linux-kernel@vger.kernel.org,
	linux-csky@vger.kernel.org,
	linux-ia64@vger.kernel.org,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linux-riscv@lists.infradead.org,
	linux-sh@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org,
	linux-pm@vger.kernel.org,
	linux-tegra@vger.kernel.org
Subject: [PATCH v6 11/21] powerpc: Use do_kernel_power_off()
Date: Mon, 31 Jan 2022 02:37:08 +0300
Message-Id: <20220130233718.21544-12-digetx@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220130233718.21544-1-digetx@gmail.com>
References: <20220130233718.21544-1-digetx@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Kernel now supports chained power-off handlers. Use do_kernel_power_off()
that invokes chained power-off handlers. It also invokes legacy
pm_power_off() for now, which will be removed once all drivers will
be converted to the new power-off API.

Acked-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---
 arch/powerpc/kernel/setup-common.c | 4 +---
 arch/powerpc/xmon/xmon.c           | 3 +--
 2 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c
index f8da937df918..8158e940db81 100644
--- a/arch/powerpc/kernel/setup-common.c
+++ b/arch/powerpc/kernel/setup-common.c
@@ -161,9 +161,7 @@ void machine_restart(char *cmd)
 void machine_power_off(void)
 {
 	machine_shutdown();
-	if (pm_power_off)
-		pm_power_off();
-
+	do_kernel_power_off();
 	smp_send_stop();
 	machine_hang();
 }
diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c
index fd72753e8ad5..c916bf250796 100644
--- a/arch/powerpc/xmon/xmon.c
+++ b/arch/powerpc/xmon/xmon.c
@@ -1243,8 +1243,7 @@ static void bootcmds(void)
 	} else if (cmd == 'h') {
 		ppc_md.halt();
 	} else if (cmd == 'p') {
-		if (pm_power_off)
-			pm_power_off();
+		do_kernel_power_off();
 	}
 }
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Jan 30 23:37:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 23:37:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262570.454925 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJlW-0007k3-GC; Sun, 30 Jan 2022 23:37:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262570.454925; Sun, 30 Jan 2022 23: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 1nEJlW-0007gw-2R; Sun, 30 Jan 2022 23:37:50 +0000
Received: by outflank-mailman (input) for mailman id 262570;
 Sun, 30 Jan 2022 23:37:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=imrt=SO=gmail.com=digetx@srs-se1.protection.inumbo.net>)
 id 1nEJlU-0003lI-5r
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 23:37:48 +0000
Received: from mail-lf1-x12d.google.com (mail-lf1-x12d.google.com
 [2a00:1450:4864:20::12d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a153b964-8225-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 00:37:47 +0100 (CET)
Received: by mail-lf1-x12d.google.com with SMTP id x23so23419905lfc.0
 for <xen-devel@lists.xenproject.org>; Sun, 30 Jan 2022 15:37:47 -0800 (PST)
Received: from localhost.localdomain (109-252-138-126.dynamic.spd-mgts.ru.
 [109.252.138.126])
 by smtp.gmail.com with ESMTPSA id a24sm1262950ljp.112.2022.01.30.15.37.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 30 Jan 2022 15:37:46 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a153b964-8225-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=tAbveYQ6Sj9Bc7jSTaK6mqXkvmIczcqPXf0PDpGOqZw=;
        b=QHplLZpG4Vn/qnA5SF9xQFG9TC0Ze8i4Spzrt9m1VH9xTuo4sL+GdKpNLnJA7KOr8X
         Qfc/trGP80uyWOnL6/AW3/9PNKh6sZ4v+/AJr0yDEUAv6gwF+kbxhdx4PyYuQlWkYmBT
         5dcnK+FjbXKDiIkDUIeSgduqdLBtuC8rMXlJOwSh6i5VHZUwrW/dUGAwRrpUn/Af/fxj
         WsMvnRXnP4aQQ0nueTuih5zFAem9IsmzVuE9wBKY5qbRUAnxw1SUKdH9hUrXyM5G4iNf
         Wv3uZZ05umzkgZLlfNoLjxiV+CUOHCuLo8ttBfu5AssPJfG1v91CF2F7LItDTfLU1kFo
         8YCg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=tAbveYQ6Sj9Bc7jSTaK6mqXkvmIczcqPXf0PDpGOqZw=;
        b=onQC5HUCSwqM0NG0jHGRX8G5mFrxFJMJu/OWho6oo1J4iw6gHHctXonbIAR2Rm/CKv
         m9qVl0dKwyCbISGkbUs0Wuq8ijRU6/gBgrBe+5HQQRpj5K3hPGPH/EpjQiAix3LSd2tQ
         +bEgeHJy7DeklblaY430Qwsf5XJn86Q4K6nEiDlyIElezqNC9xDhIqmBrs6QakXnF45U
         39S8NKPLc2hh09j1TJohUJVR7xuKUeSH6SpPOTtyfJ5OKt9iyuLA0CVzXFQ0ndVfWWzE
         TgOF/uEWSGo15j81V1yP1Ff6UPi4aqwDAmLPhFKiLVpJVzWoZRySTtG5pL0dLggusWL7
         Q2ug==
X-Gm-Message-State: AOAM5315ATwn+a57VuPOba7NCIe43E9903BI+QEA9WcOdzDXqgo13PE8
	svIP0EAnzivy6qC1+nSSJOw=
X-Google-Smtp-Source: ABdhPJwh6ac6/+YvlvcJArSyTbTVyJtyah+mG/ZsA52vJGw4uJf6+kKdZUm5PeIMLD7zMqHGNap5TQ==
X-Received: by 2002:a05:6512:2396:: with SMTP id c22mr12993704lfv.547.1643585867143;
        Sun, 30 Jan 2022 15:37:47 -0800 (PST)
From: Dmitry Osipenko <digetx@gmail.com>
To: Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Russell King <linux@armlinux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Guo Ren <guoren@kernel.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Greg Ungerer <gerg@linux-m68k.org>,
	Joshua Thompson <funaho@jurai.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Sebastian Reichel <sre@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	Pavel Machek <pavel@ucw.cz>,
	Lee Jones <lee.jones@linaro.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	alankao@andestech.com,
	"K . C . Kuen-Chern Lin" <kclin@andestech.com>,
	=?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= <mirq-linux@rere.qmqm.pl>
Cc: linux-kernel@vger.kernel.org,
	linux-csky@vger.kernel.org,
	linux-ia64@vger.kernel.org,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linux-riscv@lists.infradead.org,
	linux-sh@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org,
	linux-pm@vger.kernel.org,
	linux-tegra@vger.kernel.org
Subject: [PATCH v6 12/21] m68k: Switch to new sys-off handler API
Date: Mon, 31 Jan 2022 02:37:09 +0300
Message-Id: <20220130233718.21544-13-digetx@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220130233718.21544-1-digetx@gmail.com>
References: <20220130233718.21544-1-digetx@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Kernel now supports chained power-off handlers. Use
register_power_off_handler() that registers power-off handlers and
do_kernel_power_off() that invokes chained power-off handlers. Legacy
pm_power_off() will be removed once all drivers will be converted to
the new power-off API.

Normally arch code should adopt only the do_kernel_power_off() at first,
but m68k is a special case because it uses pm_power_off() "inside out",
i.e. pm_power_off() invokes machine_power_off() [in fact it does nothing],
while it's machine_power_off() that should invoke the pm_power_off(), and
thus, we can't convert platforms to the new API separately. There are only
two platforms changed here, so it's not a big deal.

Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---
 arch/m68k/emu/natfeat.c         | 3 ++-
 arch/m68k/include/asm/machdep.h | 1 -
 arch/m68k/kernel/process.c      | 5 ++---
 arch/m68k/kernel/setup_mm.c     | 1 -
 arch/m68k/kernel/setup_no.c     | 1 -
 arch/m68k/mac/config.c          | 4 +++-
 6 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/arch/m68k/emu/natfeat.c b/arch/m68k/emu/natfeat.c
index 71b78ecee75c..b19dc00026d9 100644
--- a/arch/m68k/emu/natfeat.c
+++ b/arch/m68k/emu/natfeat.c
@@ -15,6 +15,7 @@
 #include <linux/string.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
+#include <linux/reboot.h>
 #include <linux/io.h>
 #include <asm/machdep.h>
 #include <asm/natfeat.h>
@@ -90,5 +91,5 @@ void __init nf_init(void)
 	pr_info("NatFeats found (%s, %lu.%lu)\n", buf, version >> 16,
 		version & 0xffff);
 
-	mach_power_off = nf_poweroff;
+	register_platform_power_off(nf_poweroff);
 }
diff --git a/arch/m68k/include/asm/machdep.h b/arch/m68k/include/asm/machdep.h
index 8fd80ef1b77e..8d8c3ee2069f 100644
--- a/arch/m68k/include/asm/machdep.h
+++ b/arch/m68k/include/asm/machdep.h
@@ -24,7 +24,6 @@ extern int (*mach_get_rtc_pll)(struct rtc_pll_info *);
 extern int (*mach_set_rtc_pll)(struct rtc_pll_info *);
 extern void (*mach_reset)( void );
 extern void (*mach_halt)( void );
-extern void (*mach_power_off)( void );
 extern unsigned long (*mach_hd_init) (unsigned long, unsigned long);
 extern void (*mach_hd_setup)(char *, int *);
 extern void (*mach_heartbeat) (int);
diff --git a/arch/m68k/kernel/process.c b/arch/m68k/kernel/process.c
index a6030dbaa089..e160a7c57bd3 100644
--- a/arch/m68k/kernel/process.c
+++ b/arch/m68k/kernel/process.c
@@ -67,12 +67,11 @@ void machine_halt(void)
 
 void machine_power_off(void)
 {
-	if (mach_power_off)
-		mach_power_off();
+	do_kernel_power_off();
 	for (;;);
 }
 
-void (*pm_power_off)(void) = machine_power_off;
+void (*pm_power_off)(void);
 EXPORT_SYMBOL(pm_power_off);
 
 void show_regs(struct pt_regs * regs)
diff --git a/arch/m68k/kernel/setup_mm.c b/arch/m68k/kernel/setup_mm.c
index 8f94feed969c..47d55541612f 100644
--- a/arch/m68k/kernel/setup_mm.c
+++ b/arch/m68k/kernel/setup_mm.c
@@ -98,7 +98,6 @@ EXPORT_SYMBOL(mach_get_rtc_pll);
 EXPORT_SYMBOL(mach_set_rtc_pll);
 void (*mach_reset)( void );
 void (*mach_halt)( void );
-void (*mach_power_off)( void );
 #ifdef CONFIG_HEARTBEAT
 void (*mach_heartbeat) (int);
 EXPORT_SYMBOL(mach_heartbeat);
diff --git a/arch/m68k/kernel/setup_no.c b/arch/m68k/kernel/setup_no.c
index 5e4104f07a44..00bf82258233 100644
--- a/arch/m68k/kernel/setup_no.c
+++ b/arch/m68k/kernel/setup_no.c
@@ -55,7 +55,6 @@ int (*mach_hwclk) (int, struct rtc_time*);
 /* machine dependent reboot functions */
 void (*mach_reset)(void);
 void (*mach_halt)(void);
-void (*mach_power_off)(void);
 
 #ifdef CONFIG_M68000
 #if defined(CONFIG_M68328)
diff --git a/arch/m68k/mac/config.c b/arch/m68k/mac/config.c
index 65d124ec80bb..382f656c29ea 100644
--- a/arch/m68k/mac/config.c
+++ b/arch/m68k/mac/config.c
@@ -12,6 +12,7 @@
 
 #include <linux/errno.h>
 #include <linux/module.h>
+#include <linux/reboot.h>
 #include <linux/types.h>
 #include <linux/mm.h>
 #include <linux/tty.h>
@@ -140,7 +141,6 @@ void __init config_mac(void)
 	mach_hwclk = mac_hwclk;
 	mach_reset = mac_reset;
 	mach_halt = mac_poweroff;
-	mach_power_off = mac_poweroff;
 #if IS_ENABLED(CONFIG_INPUT_M68K_BEEP)
 	mach_beep = mac_mksound;
 #endif
@@ -160,6 +160,8 @@ void __init config_mac(void)
 
 	if (macintosh_config->ident == MAC_MODEL_IICI)
 		mach_l2_flush = via_l2_flush;
+
+	register_platform_power_off(mac_poweroff);
 }
 
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Jan 30 23:37:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 23:37:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262571.454939 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJlZ-000063-SX; Sun, 30 Jan 2022 23:37:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262571.454939; Sun, 30 Jan 2022 23:37:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJlZ-0008UH-30; Sun, 30 Jan 2022 23:37:53 +0000
Received: by outflank-mailman (input) for mailman id 262571;
 Sun, 30 Jan 2022 23:37:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=imrt=SO=gmail.com=digetx@srs-se1.protection.inumbo.net>)
 id 1nEJlV-0003l1-UB
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 23:37:50 +0000
Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com
 [2a00:1450:4864:20::132])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a26588e3-8225-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 00:37:49 +0100 (CET)
Received: by mail-lf1-x132.google.com with SMTP id z4so23316721lft.3
 for <xen-devel@lists.xenproject.org>; Sun, 30 Jan 2022 15:37:49 -0800 (PST)
Received: from localhost.localdomain (109-252-138-126.dynamic.spd-mgts.ru.
 [109.252.138.126])
 by smtp.gmail.com with ESMTPSA id a24sm1262950ljp.112.2022.01.30.15.37.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 30 Jan 2022 15:37:48 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a26588e3-8225-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=lR6BHFjgwiTI/QHx3OYkgrWFcCc5NqsF2rCbYvrczTw=;
        b=OduVSYhLRySW+3FGo+lYc9j4W9HkKmk+97wWY4/PKlxzrnNEGe7IOz6y/PV9uhmuYH
         VbBEW+nYBK2ziWW+TStoU9eZ6gL1PkjuI1ofbTH8+TOQptRYgjmefIFtU0D9AU9yECTE
         wqIQ28X1CWgvtGBdcQInk87pjgtwqDDaYuXcwwDPa/0zDV3/S4ib2HIps9cfr/6meMoa
         dpisZE6WgAIokqI2Ya3EMFRoo30TdvDDOXKmVm0bWzDf4eWjjHx8blQrZkXRZ4mmvZbY
         iP42tSCk0c1besP2SMC/I2M1UFGm2YmtIyiDwWlnaIJMOhQK/UVloZGfKEkbhIA5KUcX
         lOLg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=lR6BHFjgwiTI/QHx3OYkgrWFcCc5NqsF2rCbYvrczTw=;
        b=yG1z8kdqPBmfq6i0fFP3ZDyg4oY5Z/TwEbW1bW3gfY7NYNDBKa5l2T3P1ZflR+F93Z
         5PagfZCL2p2wQtPBJRI++QB6BOcIyU2d2k8I6Yz2M/RRU5U5zy7ag+7yliaTyYz8hHas
         UHCnFVKQNIIQKeGpehlNCmEHVydnds26JXec/BpCc5sXU+WAOs9OLYOFRaoHf6pz76Ax
         jFt4jBjiST650cMOKDG0bJIxYeYVl4G3I2HFSMQmlOJhOdofvK2CBVtlavdXmwAeRwjB
         162wK1a0IzGjdRN/dwFP8XqNR2jbRB2FUV/YflUCFSIiJst+3WpAdajDtD6JuNpRys3v
         UGyQ==
X-Gm-Message-State: AOAM5308ICYicrufOfZAZMhVMLU+Pwmlir+x1mDRjheR/iN/c2SsOVg1
	mT5xwVs/WlISg6qASSVn5T4=
X-Google-Smtp-Source: ABdhPJwExHziyQ0kLCJityRURMH34UMkV5DKgCH9gkjn+41CqzmGp3rGiEZyC8GTneOx2JMjWbTdbQ==
X-Received: by 2002:a05:6512:3e11:: with SMTP id i17mr13690035lfv.305.1643585868954;
        Sun, 30 Jan 2022 15:37:48 -0800 (PST)
From: Dmitry Osipenko <digetx@gmail.com>
To: Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Russell King <linux@armlinux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Guo Ren <guoren@kernel.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Greg Ungerer <gerg@linux-m68k.org>,
	Joshua Thompson <funaho@jurai.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Sebastian Reichel <sre@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	Pavel Machek <pavel@ucw.cz>,
	Lee Jones <lee.jones@linaro.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	alankao@andestech.com,
	"K . C . Kuen-Chern Lin" <kclin@andestech.com>,
	=?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= <mirq-linux@rere.qmqm.pl>
Cc: linux-kernel@vger.kernel.org,
	linux-csky@vger.kernel.org,
	linux-ia64@vger.kernel.org,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linux-riscv@lists.infradead.org,
	linux-sh@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org,
	linux-pm@vger.kernel.org,
	linux-tegra@vger.kernel.org
Subject: [PATCH v6 13/21] sh: Use do_kernel_power_off()
Date: Mon, 31 Jan 2022 02:37:10 +0300
Message-Id: <20220130233718.21544-14-digetx@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220130233718.21544-1-digetx@gmail.com>
References: <20220130233718.21544-1-digetx@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Kernel now supports chained power-off handlers. Use do_kernel_power_off()
that invokes chained power-off handlers. It also invokes legacy
pm_power_off() for now, which will be removed once all drivers will
be converted to the new power-off API.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---
 arch/sh/kernel/reboot.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/arch/sh/kernel/reboot.c b/arch/sh/kernel/reboot.c
index 5c33f036418b..e8eeedc9b182 100644
--- a/arch/sh/kernel/reboot.c
+++ b/arch/sh/kernel/reboot.c
@@ -46,8 +46,7 @@ static void native_machine_shutdown(void)
 
 static void native_machine_power_off(void)
 {
-	if (pm_power_off)
-		pm_power_off();
+	do_kernel_power_off();
 }
 
 static void native_machine_halt(void)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Jan 30 23:37:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 23:37:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262574.454947 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJlb-0000SN-C8; Sun, 30 Jan 2022 23:37:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262574.454947; Sun, 30 Jan 2022 23: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 1nEJla-0000HL-GS; Sun, 30 Jan 2022 23:37:54 +0000
Received: by outflank-mailman (input) for mailman id 262574;
 Sun, 30 Jan 2022 23:37:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=imrt=SO=gmail.com=digetx@srs-se1.protection.inumbo.net>)
 id 1nEJlX-0003lI-Ja
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 23:37:51 +0000
Received: from mail-lf1-x133.google.com (mail-lf1-x133.google.com
 [2a00:1450:4864:20::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a370fe18-8225-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 00:37:51 +0100 (CET)
Received: by mail-lf1-x133.google.com with SMTP id u14so23250964lfo.11
 for <xen-devel@lists.xenproject.org>; Sun, 30 Jan 2022 15:37:50 -0800 (PST)
Received: from localhost.localdomain (109-252-138-126.dynamic.spd-mgts.ru.
 [109.252.138.126])
 by smtp.gmail.com with ESMTPSA id a24sm1262950ljp.112.2022.01.30.15.37.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 30 Jan 2022 15:37:50 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a370fe18-8225-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=qHFCRJN9BVY8RauX1oKR/zvQzYk8hOXc8BKode7q7dE=;
        b=YRe+4ENn+xLHydu0qjVK8NSLNEa98MBt5tDc08FixS3wAMtLqAIaFtklni0+X5AStQ
         NWa/KRzoUn8+IVpsHAm/xOs3k+cj+LL2OhKl5gVUEFkp5ndqFg9Q7IDP7ikRXZxwNK+4
         SbLkN6wlP8yDXzq0kfXqbvVsy1Hp18D+sINvf4RsWjU2CJLvpbxk+Pf4y4Di+ROI2ccO
         YZHUhr0Z8uHoIysiX6fudWOQ4mPt5OAElluDMzBTS4VC1jyp+W5tjIzGJQ2uBLL5DStr
         tO2S0szt+wkyquwgkXuRB6clwJUeXCGMkJhIWs2QZ///pnQ6oMEGbscGlCpylcxuYJ5J
         9wBg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=qHFCRJN9BVY8RauX1oKR/zvQzYk8hOXc8BKode7q7dE=;
        b=g9xDNGoCRas5IKAHaH7I8vkAhppsGFa1KK0u68qJOkCg3O/7hwIL99vXSjPI4bXdXI
         oI9Fv0U+ateJlIsrG9yhIFsrjvtvc8CHUM+oUvvkbiS579sfWFmMVR2QIXtCJ6uYRdBh
         QSpt9ncCCIvBwqFoeLuzCAuAJsG4uBKPNjBNZr23j6vIcT3kjt5IicrcKCf+5M6jBq26
         0U7VlHuowxAHZFJdXcmILHMTD9A0p81Eb1bIunuo/jKvLwahe5bsG1brtDC9q66ghlPX
         eEvnhlGXYapq14oeNi3+J9tClIyG7aHnRHy44NjE1WRnu/Sh31Q5w7gArBMoMi9GXWt9
         NTUA==
X-Gm-Message-State: AOAM533KOugW4qVjLJI+IN1x+Iazgeu83k/XEANqW7L7jlhZppEgFi/4
	RrqoJJWOPLRIN3ZHIEvzXfY=
X-Google-Smtp-Source: ABdhPJykkAmU8QPmCYCQWolQuhTlQmgl/dllVJKfSuOOVtywU8GyeEW3uMb4RjUXLkfRs/7Y/PbgFw==
X-Received: by 2002:a19:6a12:: with SMTP id u18mr13556400lfu.348.1643585870718;
        Sun, 30 Jan 2022 15:37:50 -0800 (PST)
From: Dmitry Osipenko <digetx@gmail.com>
To: Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Russell King <linux@armlinux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Guo Ren <guoren@kernel.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Greg Ungerer <gerg@linux-m68k.org>,
	Joshua Thompson <funaho@jurai.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Sebastian Reichel <sre@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	Pavel Machek <pavel@ucw.cz>,
	Lee Jones <lee.jones@linaro.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	alankao@andestech.com,
	"K . C . Kuen-Chern Lin" <kclin@andestech.com>,
	=?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= <mirq-linux@rere.qmqm.pl>
Cc: linux-kernel@vger.kernel.org,
	linux-csky@vger.kernel.org,
	linux-ia64@vger.kernel.org,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linux-riscv@lists.infradead.org,
	linux-sh@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org,
	linux-pm@vger.kernel.org,
	linux-tegra@vger.kernel.org
Subject: [PATCH v6 14/21] x86: Use do_kernel_power_off()
Date: Mon, 31 Jan 2022 02:37:11 +0300
Message-Id: <20220130233718.21544-15-digetx@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220130233718.21544-1-digetx@gmail.com>
References: <20220130233718.21544-1-digetx@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Kernel now supports chained power-off handlers. Use do_kernel_power_off()
that invokes chained power-off handlers. It also invokes legacy
pm_power_off() for now, which will be removed once all drivers will
be converted to the new power-off API.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---
 arch/x86/kernel/reboot.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c
index fa700b46588e..c3636ea4aa71 100644
--- a/arch/x86/kernel/reboot.c
+++ b/arch/x86/kernel/reboot.c
@@ -739,10 +739,10 @@ static void native_machine_halt(void)
 
 static void native_machine_power_off(void)
 {
-	if (pm_power_off) {
+	if (kernel_can_power_off()) {
 		if (!reboot_force)
 			machine_shutdown();
-		pm_power_off();
+		do_kernel_power_off();
 	}
 	/* A fallback in case there is no PM info available */
 	tboot_shutdown(TB_SHUTDOWN_HALT);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Jan 30 23:37:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 23:37:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262578.454953 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJld-0000sp-0b; Sun, 30 Jan 2022 23:37:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262578.454953; Sun, 30 Jan 2022 23:37:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJlc-0000n1-Fo; Sun, 30 Jan 2022 23:37:56 +0000
Received: by outflank-mailman (input) for mailman id 262578;
 Sun, 30 Jan 2022 23:37:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=imrt=SO=gmail.com=digetx@srs-se1.protection.inumbo.net>)
 id 1nEJlZ-0003lI-Jv
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 23:37:53 +0000
Received: from mail-lf1-x135.google.com (mail-lf1-x135.google.com
 [2a00:1450:4864:20::135])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a4a52ba0-8225-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 00:37:53 +0100 (CET)
Received: by mail-lf1-x135.google.com with SMTP id p27so23343385lfa.1
 for <xen-devel@lists.xenproject.org>; Sun, 30 Jan 2022 15:37:53 -0800 (PST)
Received: from localhost.localdomain (109-252-138-126.dynamic.spd-mgts.ru.
 [109.252.138.126])
 by smtp.gmail.com with ESMTPSA id a24sm1262950ljp.112.2022.01.30.15.37.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 30 Jan 2022 15:37:52 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a4a52ba0-8225-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=onbjYH+GRuJ1H+aKPIQ3zfVzcOAEVYGJovL5WFpgYzE=;
        b=UH1XcKU9Gn1SSFj/c6UF13MQ0Jk4L0iTHT84SKL6CKoxP6s+KdtFoXyH/BcfyYDpHy
         loZc76siXQCxc0BEyl6FoScWMfzkuy0+stkGcZcwGW2GEdy+KMmBYv7TWditUzAcwMzy
         Tt6+cvIqwyyrufTRsRpGGLkldJ9LCj0ohCU13mN/KWIDXPq7wGpxAM7zRuw3yc8XG/sX
         kB5V6sSPdbwBeQeNfwWdQOiHlVD0cbXl/3KN+Taw7rwJQ9btmTdGH9V7WkpieowAbyRI
         LCnnw5FiTCZdg9w/dnOXicsOkOVxD4dBkbYZp5w48IHi/dsTV0RcMVW6iF0qd1ahO1Hj
         Vr0A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=onbjYH+GRuJ1H+aKPIQ3zfVzcOAEVYGJovL5WFpgYzE=;
        b=5W1v7ZZm4R2mvA78rMCzxqhSJ06L7Wlh98JZ4oLjhtjisI5V85pmGA/UVVooG0AYT2
         T24VOEbOeICWZr19LbcHbXE2cn2GZFIdNXgkVhwOxmgQotRt3ymEghk1PFeZiURFteX1
         83WJxoLrmnNfauO12Ks4523+8eIbZx160EkJ73xhStFTWwjdQGQ3hx83g0QH81DWCotJ
         UKyKTL2n9nwYgbwZjpX1F3cJrAXc0tVP5xoAfp3MuFz5uVLDi6Ghsy3xydtF0AUyYciz
         Q6ZvebcZBmh/p21a70O+1GZXIWRiFKEkWErOQRscKzmOITr/FwOxT6vlRFcDfvDZHkXy
         pR7g==
X-Gm-Message-State: AOAM532I/YdTUXDq5p4I8zElkyE58B/OKlZ79hVljx8p/75FyH2OHiAc
	J08vbrXmG9UksVYmWYXxcSg=
X-Google-Smtp-Source: ABdhPJzNx9wknKIs7vHNlQS9Ch9++IYsC8MJz1WUWotZ0fgIzeDZMu0xSzBho+J/7CYm9WmVvjoXbA==
X-Received: by 2002:a05:6512:31cd:: with SMTP id j13mr13576351lfe.369.1643585872718;
        Sun, 30 Jan 2022 15:37:52 -0800 (PST)
From: Dmitry Osipenko <digetx@gmail.com>
To: Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Russell King <linux@armlinux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Guo Ren <guoren@kernel.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Greg Ungerer <gerg@linux-m68k.org>,
	Joshua Thompson <funaho@jurai.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Sebastian Reichel <sre@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	Pavel Machek <pavel@ucw.cz>,
	Lee Jones <lee.jones@linaro.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	alankao@andestech.com,
	"K . C . Kuen-Chern Lin" <kclin@andestech.com>,
	=?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= <mirq-linux@rere.qmqm.pl>
Cc: linux-kernel@vger.kernel.org,
	linux-csky@vger.kernel.org,
	linux-ia64@vger.kernel.org,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linux-riscv@lists.infradead.org,
	linux-sh@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org,
	linux-pm@vger.kernel.org,
	linux-tegra@vger.kernel.org
Subject: [PATCH v6 15/21] ia64: Use do_kernel_power_off()
Date: Mon, 31 Jan 2022 02:37:12 +0300
Message-Id: <20220130233718.21544-16-digetx@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220130233718.21544-1-digetx@gmail.com>
References: <20220130233718.21544-1-digetx@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Kernel now supports chained power-off handlers. Use do_kernel_power_off()
that invokes chained power-off handlers. It also invokes legacy
pm_power_off() for now, which will be removed once all drivers will
be converted to the new power-off API.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---
 arch/ia64/kernel/process.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/ia64/kernel/process.c b/arch/ia64/kernel/process.c
index 834df24a88f1..cee4d7db2143 100644
--- a/arch/ia64/kernel/process.c
+++ b/arch/ia64/kernel/process.c
@@ -19,6 +19,7 @@
 #include <linux/module.h>
 #include <linux/notifier.h>
 #include <linux/personality.h>
+#include <linux/reboot.h>
 #include <linux/sched.h>
 #include <linux/sched/debug.h>
 #include <linux/sched/hotplug.h>
@@ -599,8 +600,7 @@ machine_halt (void)
 void
 machine_power_off (void)
 {
-	if (pm_power_off)
-		pm_power_off();
+	do_kernel_power_off();
 	machine_halt();
 }
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Jan 30 23:47:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 23:47:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262624.454976 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJuQ-0005r4-6o; Sun, 30 Jan 2022 23:47:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262624.454976; Sun, 30 Jan 2022 23:47:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJuQ-0005qx-3p; Sun, 30 Jan 2022 23:47:02 +0000
Received: by outflank-mailman (input) for mailman id 262624;
 Sun, 30 Jan 2022 23:47:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=imrt=SO=gmail.com=digetx@srs-se1.protection.inumbo.net>)
 id 1nEJlg-0003l1-40
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 23:38:00 +0000
Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com
 [2a00:1450:4864:20::134])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a7ccc007-8225-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 00:37:58 +0100 (CET)
Received: by mail-lf1-x134.google.com with SMTP id x23so23420527lfc.0
 for <xen-devel@lists.xenproject.org>; Sun, 30 Jan 2022 15:37:58 -0800 (PST)
Received: from localhost.localdomain (109-252-138-126.dynamic.spd-mgts.ru.
 [109.252.138.126])
 by smtp.gmail.com with ESMTPSA id a24sm1262950ljp.112.2022.01.30.15.37.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 30 Jan 2022 15:37:57 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a7ccc007-8225-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=6m8P3WoXpjmgm4wPv3Z7h5cBjPxfBSCYucbGZeGzChw=;
        b=pw0lvBk+dTz3ObiHx+Tziue58w6zUuZQVNJvU9S7GB+pTzwAHhgcj/iJlwXXxw2erP
         SjJaIXCKqSP4ZUdeywJtZKFLRYiUBBH6flK45216wEu+kAKbGqsUiHPKIi82YM1bz/wq
         bMKu0rK0969KEuxg/PSMaDE+zRgG2hxtPkS3M1mFIZPAgYW4ktfU2t1MzGq6fvtQ0WCp
         Y+7PFXh6gcLp4xF5Q6p6cFH24zY5vWjbmW+bewwmKwBTNzJ37xEIcDLIFgNsMgKiVVBl
         Kl81Cxsay4XTPckhsJ1WeXkyEjcWdoSjNX8wa8Lm2Ykdw2ly2wOfBD20u+sG0elmdIGM
         o1xg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=6m8P3WoXpjmgm4wPv3Z7h5cBjPxfBSCYucbGZeGzChw=;
        b=jkEs2njEW84gNVPpCYG8+2LP1CDUpWpwSgeBeIGL+pDZ4iPRxVKQRKJHXuCfzlI3+2
         GFYyttjKRIx6JYAEJc7wiz7pOwkMyVfFCQxKPJd5ipYthx1apxBNnHyN42hkuL/JU+S9
         fyUzF37g0cdJmzOKAeB+Ca8GamqCl33+LdAqljEL6nPtwS35Mw1vayMgz+G1p1J3rmDP
         pTRMzWHVy8vja6KUZI9UK3GYGgZRNZrJ6ua5SM6cMRfwPb3x7Oz9YAzgGnbkTDiGo5wK
         XsFw/tnNrqdIOtSZtZetjmHV/7+77zv/UM6MVlrdMampmidoasR+DmfcFHlxUZM1xB99
         Bd+g==
X-Gm-Message-State: AOAM532tSX1ZFWBJbT3vDiSbHQ+FTQqcqa72AgrpQV7yq3wFOXnuJnea
	rjmohBJLHgDlrXi2dgrXfvk=
X-Google-Smtp-Source: ABdhPJym+9e+qz3b9Eox6rk6EROG58IYAq1gwBJQdx3IJq9mRqA6OUoE67/3HvdiOb6Vb5OIHzS4jw==
X-Received: by 2002:a05:6512:10c4:: with SMTP id k4mr13546209lfg.63.1643585878009;
        Sun, 30 Jan 2022 15:37:58 -0800 (PST)
From: Dmitry Osipenko <digetx@gmail.com>
To: Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Russell King <linux@armlinux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Guo Ren <guoren@kernel.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Greg Ungerer <gerg@linux-m68k.org>,
	Joshua Thompson <funaho@jurai.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Sebastian Reichel <sre@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	Pavel Machek <pavel@ucw.cz>,
	Lee Jones <lee.jones@linaro.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	alankao@andestech.com,
	"K . C . Kuen-Chern Lin" <kclin@andestech.com>,
	=?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= <mirq-linux@rere.qmqm.pl>
Cc: linux-kernel@vger.kernel.org,
	linux-csky@vger.kernel.org,
	linux-ia64@vger.kernel.org,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linux-riscv@lists.infradead.org,
	linux-sh@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org,
	linux-pm@vger.kernel.org,
	linux-tegra@vger.kernel.org
Subject: [PATCH v6 18/21] memory: emif: Use kernel_can_power_off()
Date: Mon, 31 Jan 2022 02:37:15 +0300
Message-Id: <20220130233718.21544-19-digetx@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220130233718.21544-1-digetx@gmail.com>
References: <20220130233718.21544-1-digetx@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Replace legacy pm_power_off with kernel_can_power_off() helper that
is aware about chained power-off handlers.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---
 drivers/memory/emif.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/memory/emif.c b/drivers/memory/emif.c
index 762d0c0f0716..cab10d5274a0 100644
--- a/drivers/memory/emif.c
+++ b/drivers/memory/emif.c
@@ -630,7 +630,7 @@ static irqreturn_t emif_threaded_isr(int irq, void *dev_id)
 		dev_emerg(emif->dev, "SDRAM temperature exceeds operating limit.. Needs shut down!!!\n");
 
 		/* If we have Power OFF ability, use it, else try restarting */
-		if (pm_power_off) {
+		if (kernel_can_power_off()) {
 			kernel_power_off();
 		} else {
 			WARN(1, "FIXME: NO pm_power_off!!! trying restart\n");
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Jan 30 23:47:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 23:47:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262633.454988 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJui-0006Ll-Ew; Sun, 30 Jan 2022 23:47:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262633.454988; Sun, 30 Jan 2022 23:47: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 1nEJui-0006Le-Bm; Sun, 30 Jan 2022 23:47:20 +0000
Received: by outflank-mailman (input) for mailman id 262633;
 Sun, 30 Jan 2022 23:47:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=imrt=SO=gmail.com=digetx@srs-se1.protection.inumbo.net>)
 id 1nEJle-0003lI-Kq
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 23:37:58 +0000
Received: from mail-lf1-x136.google.com (mail-lf1-x136.google.com
 [2a00:1450:4864:20::136])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a6bd6c44-8225-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 00:37:56 +0100 (CET)
Received: by mail-lf1-x136.google.com with SMTP id b9so23275705lfq.6
 for <xen-devel@lists.xenproject.org>; Sun, 30 Jan 2022 15:37:56 -0800 (PST)
Received: from localhost.localdomain (109-252-138-126.dynamic.spd-mgts.ru.
 [109.252.138.126])
 by smtp.gmail.com with ESMTPSA id a24sm1262950ljp.112.2022.01.30.15.37.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 30 Jan 2022 15:37:55 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a6bd6c44-8225-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=69wNajrm4+G/M74hrnrqfe/8gDIP1KRo4GBjc3qiBlE=;
        b=eADmGdhywqGHgBNSOTg6DDqxchm8B8ixUxTFBRIurSpOjI9zmNGmnnTl7ImQhqB8Ei
         0mWnD7TAo0wSYeOZ937uVVcmUSkjlnYWZ7M+/JM6Dh7lyKqqc2++u6LI+atIfPTN5ays
         s+ktDvb2sLXt8MKBHLK9lwAFupFTVgxMIzESdB4QojqTGIkGjlXlLAoIu5tRpwgO0yvf
         ryjVbvaJTv11mzbS9UuOXGg5YPShB0ncAu5hIuMku9PpTrfxOLc753LOzzY0nXEsJ4s1
         aTORw1Zo0yFFM9ZCzLTV1LBU1iplcGdbnitByV0PuagiZ7HTypKyLYaRcYB4LG2Z4YgC
         xHEA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=69wNajrm4+G/M74hrnrqfe/8gDIP1KRo4GBjc3qiBlE=;
        b=HzZeuwn+p98+Mf6CK+TqYjROm5y9dQC39mQaU0XR8U7RKZDwd6SEkgQftDlKDqFB/K
         OFT94WtVLGBWdqiDO4GG2J/VIb8m0wNZnHhFUx8ri/vXhStj9giUgB2oav3cINax2qx+
         JnARZ6JKVUiVv3qapXMvOtAIXYiqcaZmhvSRXMAzOKQvdTILlSRXu/nzCc+yY4Hb6tkQ
         XGfGC17auaA809bcY5ASiiHHPsGJ/3RYMt7L6ZRIMuCxI1cFeu5WohEyBdoLPGDmlX54
         U4f8MJVEUN6WvnTZyhrfm6dYG2JbnBBFxHG7Z5MHSQwElB312jtvoJSwP5VxhgpQ2Fya
         R7zQ==
X-Gm-Message-State: AOAM5329CeRywX79KvQdqxBRNUUwqnpLR4gawV337vViDSHtPkgK6JaL
	ODtAU7FboRdUQyIX3+X0Rk4=
X-Google-Smtp-Source: ABdhPJwNSyf/5qJrwp6Ej2liXxYcZa6QcRMNedNFLOrkN6ogQ1iJOFH/fhB+J9LuMCwJeeOYVcQcPA==
X-Received: by 2002:a19:f806:: with SMTP id a6mr13933723lff.592.1643585876243;
        Sun, 30 Jan 2022 15:37:56 -0800 (PST)
From: Dmitry Osipenko <digetx@gmail.com>
To: Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Russell King <linux@armlinux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Guo Ren <guoren@kernel.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Greg Ungerer <gerg@linux-m68k.org>,
	Joshua Thompson <funaho@jurai.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Sebastian Reichel <sre@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	Pavel Machek <pavel@ucw.cz>,
	Lee Jones <lee.jones@linaro.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	alankao@andestech.com,
	"K . C . Kuen-Chern Lin" <kclin@andestech.com>,
	=?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= <mirq-linux@rere.qmqm.pl>
Cc: linux-kernel@vger.kernel.org,
	linux-csky@vger.kernel.org,
	linux-ia64@vger.kernel.org,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linux-riscv@lists.infradead.org,
	linux-sh@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org,
	linux-pm@vger.kernel.org,
	linux-tegra@vger.kernel.org
Subject: [PATCH v6 17/21] nds32: Use do_kernel_power_off()
Date: Mon, 31 Jan 2022 02:37:14 +0300
Message-Id: <20220130233718.21544-18-digetx@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220130233718.21544-1-digetx@gmail.com>
References: <20220130233718.21544-1-digetx@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Kernel now supports chained power-off handlers. Use do_kernel_power_off()
that invokes chained power-off handlers. It also invokes legacy
pm_power_off() for now, which will be removed once all drivers will
be converted to the new power-off API.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---
 arch/nds32/kernel/process.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/arch/nds32/kernel/process.c b/arch/nds32/kernel/process.c
index 49fab9e39cbf..0936dcd7db1b 100644
--- a/arch/nds32/kernel/process.c
+++ b/arch/nds32/kernel/process.c
@@ -54,8 +54,7 @@ EXPORT_SYMBOL(machine_halt);
 
 void machine_power_off(void)
 {
-	if (pm_power_off)
-		pm_power_off();
+	do_kernel_power_off();
 }
 
 EXPORT_SYMBOL(machine_power_off);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Jan 30 23:47:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 23:47:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262650.454999 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJvB-00070u-NZ; Sun, 30 Jan 2022 23:47:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262650.454999; Sun, 30 Jan 2022 23:47:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJvB-00070n-Jl; Sun, 30 Jan 2022 23:47:49 +0000
Received: by outflank-mailman (input) for mailman id 262650;
 Sun, 30 Jan 2022 23:47:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=imrt=SO=gmail.com=digetx@srs-se1.protection.inumbo.net>)
 id 1nEJlb-0003l1-Dh
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 23:37:55 +0000
Received: from mail-lf1-x12d.google.com (mail-lf1-x12d.google.com
 [2a00:1450:4864:20::12d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a5b16696-8225-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 00:37:54 +0100 (CET)
Received: by mail-lf1-x12d.google.com with SMTP id x23so23420327lfc.0
 for <xen-devel@lists.xenproject.org>; Sun, 30 Jan 2022 15:37:54 -0800 (PST)
Received: from localhost.localdomain (109-252-138-126.dynamic.spd-mgts.ru.
 [109.252.138.126])
 by smtp.gmail.com with ESMTPSA id a24sm1262950ljp.112.2022.01.30.15.37.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 30 Jan 2022 15:37:54 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a5b16696-8225-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=wIfZ+CakpfzF/ji3grllPcoAe/10yjc1ewRUofBsGOM=;
        b=A13Wbd19LUDerIcNp/bwkNjnM7R44S+FNahenjlu62KKeZzOwn22X46AmnbpRRHSD6
         ++VeiYi+w5973OIjqsKBoqpWZd1tNrsstlD+OK5Nb2BIn3qQuUxHMsdUL9LOLlnC2oh9
         3QYxZJ6Rvcj4kbBtFo+GSvpPb2P4Us99EVxpEAj6NeCn9wQxCxqcvyPU6/Tn7QITtakm
         /V8zmLAMP0Zz48vMEXqiIlcDRfQmJ+d8Go+JSVClm5dRCb8xO1gx+MaZWCx1Y3YgBNEK
         BDZgHhW3BSNpzM/0TkvVs4HG5kI01iX7LNugVEJmEF9vWL8OTabOwQyDCncuLuPplJj0
         eXww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=wIfZ+CakpfzF/ji3grllPcoAe/10yjc1ewRUofBsGOM=;
        b=FFtYVxzd22ueZB5PcoS0wEcgenjva/Q9fbfO9nbmGExGXX1BC47oLXoyl2Qb01XEX3
         ApuXjSSbaaR/65leZQ4LoJ8abx6KclblHGXAH7MwkKbbBuQr/Ey8r5szNwkqpA+Hxh/H
         p4sB4FtJa4R6lsxhpbyOQdprk7XfEvngO8FmSGa+w7yfbA3EZsW/wbzOfu4hSse5CIqW
         GzYJLFZfzZOQSOjjbcnfH7iIoI4BWkqT0v97GG2ZLVBSUhozRmI08h+K3ChHU/Jd7u0n
         ufsCs5mxi9M4xIQSMWGVrROad9LsvsokyS/456Mma4H72/5B3KQboBaPq6Uz4rZW9vvd
         BPjw==
X-Gm-Message-State: AOAM5316JBKlufr//YOeAJqJ/vLSO+HleSwXA1gfC8JJKV+wJIhOs2J8
	yF5l9SS2lhQphsFi/YJ+jkQ=
X-Google-Smtp-Source: ABdhPJyeM0zHMQgSAKLIY1pkC0yU7P3sq8yPWGFis8laCOZJiGOjvUQ29pFsEShO7sH0bxipvLhl6g==
X-Received: by 2002:a05:6512:c09:: with SMTP id z9mr13566872lfu.147.1643585874478;
        Sun, 30 Jan 2022 15:37:54 -0800 (PST)
From: Dmitry Osipenko <digetx@gmail.com>
To: Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Russell King <linux@armlinux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Guo Ren <guoren@kernel.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Greg Ungerer <gerg@linux-m68k.org>,
	Joshua Thompson <funaho@jurai.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Sebastian Reichel <sre@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	Pavel Machek <pavel@ucw.cz>,
	Lee Jones <lee.jones@linaro.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	alankao@andestech.com,
	"K . C . Kuen-Chern Lin" <kclin@andestech.com>,
	=?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= <mirq-linux@rere.qmqm.pl>
Cc: linux-kernel@vger.kernel.org,
	linux-csky@vger.kernel.org,
	linux-ia64@vger.kernel.org,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linux-riscv@lists.infradead.org,
	linux-sh@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org,
	linux-pm@vger.kernel.org,
	linux-tegra@vger.kernel.org
Subject: [PATCH v6 16/21] mips: Use do_kernel_power_off()
Date: Mon, 31 Jan 2022 02:37:13 +0300
Message-Id: <20220130233718.21544-17-digetx@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220130233718.21544-1-digetx@gmail.com>
References: <20220130233718.21544-1-digetx@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Kernel now supports chained power-off handlers. Use do_kernel_power_off()
that invokes chained power-off handlers. It also invokes legacy
pm_power_off() for now, which will be removed once all drivers will
be converted to the new power-off API.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---
 arch/mips/kernel/reset.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/arch/mips/kernel/reset.c b/arch/mips/kernel/reset.c
index 6288780b779e..e7ce07b3e79b 100644
--- a/arch/mips/kernel/reset.c
+++ b/arch/mips/kernel/reset.c
@@ -114,8 +114,7 @@ void machine_halt(void)
 
 void machine_power_off(void)
 {
-	if (pm_power_off)
-		pm_power_off();
+	do_kernel_power_off();
 
 #ifdef CONFIG_SMP
 	preempt_disable();
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Jan 30 23:48:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 23:48:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262668.455010 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJvx-0007hM-0a; Sun, 30 Jan 2022 23:48:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262668.455010; Sun, 30 Jan 2022 23:48:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJvw-0007hD-Sk; Sun, 30 Jan 2022 23:48:36 +0000
Received: by outflank-mailman (input) for mailman id 262668;
 Sun, 30 Jan 2022 23:48:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=imrt=SO=gmail.com=digetx@srs-se1.protection.inumbo.net>)
 id 1nEJln-0003l1-5E
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 23:38:07 +0000
Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com
 [2a00:1450:4864:20::134])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ab0756ff-8225-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 00:38:03 +0100 (CET)
Received: by mail-lf1-x134.google.com with SMTP id z19so23194750lfq.13
 for <xen-devel@lists.xenproject.org>; Sun, 30 Jan 2022 15:38:03 -0800 (PST)
Received: from localhost.localdomain (109-252-138-126.dynamic.spd-mgts.ru.
 [109.252.138.126])
 by smtp.gmail.com with ESMTPSA id a24sm1262950ljp.112.2022.01.30.15.38.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 30 Jan 2022 15:38:03 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ab0756ff-8225-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=kEaxNtq4BarrclNUiioDBF+6lBsKK3a9toXDktjcMR4=;
        b=HntJ6DyCYL+ke6f/r0is/oFtPZ4gM0JnOcriee/6UCUdnbMrZ6NOZCGasE1GEHraDu
         pCBWJZjwmgcL07nwsUauAU2GlxacbaVxZhonKlPwwFBuAdu9viIQHcwKhf5dcL+qJ3nn
         XhquQFTcfNjpbKfwUnK91j3Ge7sDIsFDFI/0mJTVowVMyA1BhEquZb8cXOuqYsZtg9aC
         IwXRQGqgPsQgyNkeIMf9S+4pn8Wundfp1v2UsKp+neG01ddR2rxW0d3I1LRmyGvULbSe
         5ToOMq/E6pAjk3+OSUQ6ZeKR1+WuSDVpNO845bw8OU98QhOQkdAG7afJAysxD5/92Ee2
         gC9A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=kEaxNtq4BarrclNUiioDBF+6lBsKK3a9toXDktjcMR4=;
        b=DF64HKc437p3VaG6k+9mWzaiB3cyFRreOnAmQLBfGSKT12hV6taZCo7BI8kAmusHVI
         XlA9PX+zNOphLhezSTrJl+qajJl9MkOkGElHVM+fRGfGg/UkFuWNxMNietHwaurSyWpz
         pge29l2CfOA45r9KQvUXQnkyzQCkEC3a7qOPCdZHyhAejMEEq8tAJUEu/pK3Z1fFA+c+
         FOq+HejaTnTie8tzgn9HJqwrfAF/lZqqBR8qTTntQ75kNxOICk3J6OvBjZaKIrI85HzW
         BCnFdcdObMMapJAV6Mh8V95SVo2kKj6yajj5LiE5HVYgncFvoaRtNM1M0YUKm1GNvdP0
         ZmLw==
X-Gm-Message-State: AOAM533EzExl0KRi6ohtFgtqFmTXbVFclgXNP0VvVSYNoJVwQDwpbF94
	xYSkuEmoL2leqLeqHemxpJA=
X-Google-Smtp-Source: ABdhPJy7y3uqXOwOev3QXphmi8L7tLYmjKiDpJEwGe8WqzvjXRaZTuzAa3HaIFQiqtNJq5XkxRnQXQ==
X-Received: by 2002:a05:6512:310:: with SMTP id t16mr13842194lfp.138.1643585883411;
        Sun, 30 Jan 2022 15:38:03 -0800 (PST)
From: Dmitry Osipenko <digetx@gmail.com>
To: Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Russell King <linux@armlinux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Guo Ren <guoren@kernel.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Greg Ungerer <gerg@linux-m68k.org>,
	Joshua Thompson <funaho@jurai.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Sebastian Reichel <sre@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	Pavel Machek <pavel@ucw.cz>,
	Lee Jones <lee.jones@linaro.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	alankao@andestech.com,
	"K . C . Kuen-Chern Lin" <kclin@andestech.com>,
	=?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= <mirq-linux@rere.qmqm.pl>
Cc: linux-kernel@vger.kernel.org,
	linux-csky@vger.kernel.org,
	linux-ia64@vger.kernel.org,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linux-riscv@lists.infradead.org,
	linux-sh@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org,
	linux-pm@vger.kernel.org,
	linux-tegra@vger.kernel.org
Subject: [PATCH v6 21/21] reboot: Remove pm_power_off_prepare()
Date: Mon, 31 Jan 2022 02:37:18 +0300
Message-Id: <20220130233718.21544-22-digetx@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220130233718.21544-1-digetx@gmail.com>
References: <20220130233718.21544-1-digetx@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

All pm_power_off_prepare() users were converted to sys-off handler API.
Remove the obsolete callback.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---
 include/linux/pm.h |  1 -
 kernel/reboot.c    | 11 -----------
 2 files changed, 12 deletions(-)

diff --git a/include/linux/pm.h b/include/linux/pm.h
index f7d2be686359..62879bfc4b8e 100644
--- a/include/linux/pm.h
+++ b/include/linux/pm.h
@@ -21,7 +21,6 @@
  * Callbacks for platform drivers to implement.
  */
 extern void (*pm_power_off)(void);
-extern void (*pm_power_off_prepare)(void);
 
 struct device; /* we have a circular dep with device.h */
 #ifdef CONFIG_VT_CONSOLE_SLEEP
diff --git a/kernel/reboot.c b/kernel/reboot.c
index 1ae5ba86b150..6e0d4deda987 100644
--- a/kernel/reboot.c
+++ b/kernel/reboot.c
@@ -48,13 +48,6 @@ int reboot_cpu;
 enum reboot_type reboot_type = BOOT_ACPI;
 int reboot_force;
 
-/*
- * If set, this is used for preparing the system to power off.
- */
-
-void (*pm_power_off_prepare)(void);
-EXPORT_SYMBOL_GPL(pm_power_off_prepare);
-
 /**
  *	emergency_restart - reboot the system
  *
@@ -828,10 +821,6 @@ void do_kernel_power_off(void)
 
 static void do_kernel_power_off_prepare(void)
 {
-	/* legacy pm_power_off_prepare() is unchained and has highest priority */
-	if (pm_power_off_prepare)
-		return pm_power_off_prepare();
-
 	blocking_notifier_call_chain(&power_off_handler_list, POWEROFF_PREPARE,
 				     NULL);
 }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Jan 30 23:48:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 23:48:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262672.455020 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJwA-000878-C0; Sun, 30 Jan 2022 23:48:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262672.455020; Sun, 30 Jan 2022 23: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 1nEJwA-000871-8r; Sun, 30 Jan 2022 23:48:50 +0000
Received: by outflank-mailman (input) for mailman id 262672;
 Sun, 30 Jan 2022 23:48:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=imrt=SO=gmail.com=digetx@srs-se1.protection.inumbo.net>)
 id 1nEJlm-0003lI-Lz
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 23:38:06 +0000
Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com
 [2a00:1450:4864:20::134])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a9f3e646-8225-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 00:38:01 +0100 (CET)
Received: by mail-lf1-x134.google.com with SMTP id i34so2974797lfv.2
 for <xen-devel@lists.xenproject.org>; Sun, 30 Jan 2022 15:38:01 -0800 (PST)
Received: from localhost.localdomain (109-252-138-126.dynamic.spd-mgts.ru.
 [109.252.138.126])
 by smtp.gmail.com with ESMTPSA id a24sm1262950ljp.112.2022.01.30.15.37.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 30 Jan 2022 15:38:01 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a9f3e646-8225-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=wEeGalIPQ9GIIDvt4ZGJ+mYKkZoiFtMFy2ITVcPwwOI=;
        b=jXXBBfwPJ7SdtaD0pclW/HMx76vc8RahjAuPQm5Z/0dXxW/074tzfimlFO1HkDBvcr
         oaZmouil0FqH92hbizW5my46ifg5DAFhrVT4LPFQpqXlLAxmnLJ6s1I5wLZSpyLZkBO0
         wmI0HqfYIjv7H9ry2CW8BCr2FKRe9TovMRMPOdztHPrunU9Y7lzjTWnUadttQIH5bcvW
         vttSNQ9r1vC1IZO5YVlqjP01k8/CcmcrMHA8TiKEuoGV1yx8sOgJc71/KAtv9CA4CYS0
         o8OCrmOu9r4n3DeN2/5U1nzk/Hg0gBL3B1cSmVdN8RggR9Ftjf3x1TwywZSLzo/+Zh9b
         2sCQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=wEeGalIPQ9GIIDvt4ZGJ+mYKkZoiFtMFy2ITVcPwwOI=;
        b=e6Qe5UPAKJK734BpmSBM063EmjCILeUET2TZbIi0ggv1PZ2Uqi+YxOJBJpeNhOczMK
         wqE5AhVwv/1FdyqiAFvitsf6Mw1Y63VRY8HlTCy/VU91hv5ioiyypyYmsISwQRsrmGLD
         a6pjUAlIKHiicF3kJ8ahbkFXdOFAxkbPjv10u/P8gSNgBIaQC84RSgrsRQexPDXDn/3a
         AWNttCFririT1TuWedxfQXkeZlW39/0/SBFiZ0F4dYMUMVNFCCgZLucW8ebI2DZs9wL1
         aD4cHrn5UaKPGZl/erdFgIFBn2nzxHjy6IM41px248BM51RiXX9v0PwP7hV122JGqsBv
         DN5A==
X-Gm-Message-State: AOAM533nJIOPOHRPVey2x+pjIMgr3MEydAQnmyC7x1dFUsJennl+0n9Y
	HdccTasWNDviFnTQYCYEKiM=
X-Google-Smtp-Source: ABdhPJxKcR6AU2adDJMgqBbtDaQvM6Qs2pl/Zem+Cp2eBfoUK309RxSg7fIwfBi/lJNJPdOsuZTuaw==
X-Received: by 2002:a05:6512:402a:: with SMTP id br42mr13689925lfb.336.1643585881636;
        Sun, 30 Jan 2022 15:38:01 -0800 (PST)
From: Dmitry Osipenko <digetx@gmail.com>
To: Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Russell King <linux@armlinux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Guo Ren <guoren@kernel.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Greg Ungerer <gerg@linux-m68k.org>,
	Joshua Thompson <funaho@jurai.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Sebastian Reichel <sre@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	Pavel Machek <pavel@ucw.cz>,
	Lee Jones <lee.jones@linaro.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	alankao@andestech.com,
	"K . C . Kuen-Chern Lin" <kclin@andestech.com>,
	=?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= <mirq-linux@rere.qmqm.pl>
Cc: linux-kernel@vger.kernel.org,
	linux-csky@vger.kernel.org,
	linux-ia64@vger.kernel.org,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linux-riscv@lists.infradead.org,
	linux-sh@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org,
	linux-pm@vger.kernel.org,
	linux-tegra@vger.kernel.org
Subject: [PATCH v6 20/21] regulator: pfuze100: Use devm_register_sys_off_handler()
Date: Mon, 31 Jan 2022 02:37:17 +0300
Message-Id: <20220130233718.21544-21-digetx@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220130233718.21544-1-digetx@gmail.com>
References: <20220130233718.21544-1-digetx@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Use devm_register_sys_off_handler() that replaces global
pm_power_off_prepare variable and allows to register multiple
power-off handlers.

Acked-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---
 drivers/regulator/pfuze100-regulator.c | 38 ++++++++++----------------
 1 file changed, 14 insertions(+), 24 deletions(-)

diff --git a/drivers/regulator/pfuze100-regulator.c b/drivers/regulator/pfuze100-regulator.c
index d60d7d1b7fa2..2eca8d43a097 100644
--- a/drivers/regulator/pfuze100-regulator.c
+++ b/drivers/regulator/pfuze100-regulator.c
@@ -10,6 +10,7 @@
 #include <linux/of_device.h>
 #include <linux/regulator/of_regulator.h>
 #include <linux/platform_device.h>
+#include <linux/reboot.h>
 #include <linux/regulator/driver.h>
 #include <linux/regulator/machine.h>
 #include <linux/regulator/pfuze100.h>
@@ -76,6 +77,7 @@ struct pfuze_chip {
 	struct pfuze_regulator regulator_descs[PFUZE100_MAX_REGULATOR];
 	struct regulator_dev *regulators[PFUZE100_MAX_REGULATOR];
 	struct pfuze_regulator *pfuze_regulators;
+	struct sys_off_handler sys_off;
 };
 
 static const int pfuze100_swbst[] = {
@@ -569,10 +571,10 @@ static inline struct device_node *match_of_node(int index)
 	return pfuze_matches[index].of_node;
 }
 
-static struct pfuze_chip *syspm_pfuze_chip;
-
-static void pfuze_power_off_prepare(void)
+static void pfuze_power_off_prepare(struct power_off_prep_data *data)
 {
+	struct pfuze_chip *syspm_pfuze_chip = data->cb_data;
+
 	dev_info(syspm_pfuze_chip->dev, "Configure standby mode for power off");
 
 	/* Switch from default mode: APS/APS to APS/Off */
@@ -611,24 +613,23 @@ static void pfuze_power_off_prepare(void)
 
 static int pfuze_power_off_prepare_init(struct pfuze_chip *pfuze_chip)
 {
+	int err;
+
 	if (pfuze_chip->chip_id != PFUZE100) {
 		dev_warn(pfuze_chip->dev, "Requested pm_power_off_prepare handler for not supported chip\n");
 		return -ENODEV;
 	}
 
-	if (pm_power_off_prepare) {
-		dev_warn(pfuze_chip->dev, "pm_power_off_prepare is already registered.\n");
-		return -EBUSY;
-	}
+	pfuze_chip->sys_off.power_off_prepare_cb = pfuze_power_off_prepare;
+	pfuze_chip->sys_off.cb_data = pfuze_chip;
 
-	if (syspm_pfuze_chip) {
-		dev_warn(pfuze_chip->dev, "syspm_pfuze_chip is already set.\n");
-		return -EBUSY;
+	err = devm_register_sys_off_handler(pfuze_chip->dev, &pfuze_chip->sys_off);
+	if (err) {
+		dev_err(pfuze_chip->dev,
+			"failed to register sys-off handler: %d\n", err);
+		return err;
 	}
 
-	syspm_pfuze_chip = pfuze_chip;
-	pm_power_off_prepare = pfuze_power_off_prepare;
-
 	return 0;
 }
 
@@ -837,23 +838,12 @@ static int pfuze100_regulator_probe(struct i2c_client *client,
 	return 0;
 }
 
-static int pfuze100_regulator_remove(struct i2c_client *client)
-{
-	if (syspm_pfuze_chip) {
-		syspm_pfuze_chip = NULL;
-		pm_power_off_prepare = NULL;
-	}
-
-	return 0;
-}
-
 static struct i2c_driver pfuze_driver = {
 	.driver = {
 		.name = "pfuze100-regulator",
 		.of_match_table = pfuze_dt_ids,
 	},
 	.probe = pfuze100_regulator_probe,
-	.remove = pfuze100_regulator_remove,
 };
 module_i2c_driver(pfuze_driver);
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Jan 30 23:48:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 30 Jan 2022 23:48:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262676.455032 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEJwG-00009N-M2; Sun, 30 Jan 2022 23:48:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262676.455032; Sun, 30 Jan 2022 23: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 1nEJwG-00009G-Io; Sun, 30 Jan 2022 23:48:56 +0000
Received: by outflank-mailman (input) for mailman id 262676;
 Sun, 30 Jan 2022 23:48:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=imrt=SO=gmail.com=digetx@srs-se1.protection.inumbo.net>)
 id 1nEJlg-0003lI-R7
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 23:38:00 +0000
Received: from mail-lj1-x229.google.com (mail-lj1-x229.google.com
 [2a00:1450:4864:20::229])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a8e75404-8225-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 00:38:00 +0100 (CET)
Received: by mail-lj1-x229.google.com with SMTP id e9so17133354ljq.1
 for <xen-devel@lists.xenproject.org>; Sun, 30 Jan 2022 15:38:00 -0800 (PST)
Received: from localhost.localdomain (109-252-138-126.dynamic.spd-mgts.ru.
 [109.252.138.126])
 by smtp.gmail.com with ESMTPSA id a24sm1262950ljp.112.2022.01.30.15.37.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 30 Jan 2022 15:37:59 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a8e75404-8225-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=from:to:cc:subject:date:message-id:in-reply-to:references
         :mime-version:content-transfer-encoding;
        bh=Fjun7H7HFd6eJVLuHg+U86J15PDVhx/hGCMSiPgf2P0=;
        b=dd2fzDC5TDl8KpWUh0gU7+/JjGrL9a19MSGIOALm5z7fXs5VXHit+rqxXTBnz43EEy
         6bAuu4TW+sayWblmW8KdfTygyhCSzYvoS93Z1gI42rqbvA3DwMo07+1y2fEK2Sdi+dYK
         sDP0y+AYT+lJyA1SE0LAK8MGBAbFccq0iNsI8MFwHrM4VDudz2gSr9hVrcXqatHOdkrN
         1PfcjftqYULiK+vhkvAQxqJqQERFYAQADXPAeAOnfrVl+/hqqAaB3aFTvjRxQxWLKkrn
         UW62fbZN1kM7Fr/Abhtj4Byx5IJSmwGLhZ3+a2bcHkPKFWrQslOrFdx+rzve0FEyiDp5
         +e8A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
         :references:mime-version:content-transfer-encoding;
        bh=Fjun7H7HFd6eJVLuHg+U86J15PDVhx/hGCMSiPgf2P0=;
        b=GzyF+MHAylz6aPfYbVmKWtuNmCE0h/Y7/v3E56fKSuABNZ4Kpo4Wj3+XA+RD52ONxM
         4Bzna1pXvv307e3w5fQYvoMaHIg8miMcxko+bE4H0JJpo32Ui5l6YgxDSlb64l38uACX
         jin/BjQeVLPUp+sbcFTH8hX55ZbRy/nqtGkjY936X+FmPNGcvXvxVBVOt4/uIN+lr+8l
         PhWzkJfGzZ3DHXqLTxPJlzbzDmz8r5k/ja3DX6/Ohy/lX2dJ226/AOc1BLJo52+79Vvy
         vt+PP47LTalXSo1nXtIdODKTBMpp2J2KBfHG86e1cR6cnIakbMhhrzvw1KMKl2VJL9Xn
         dVlw==
X-Gm-Message-State: AOAM532tFW15SX0HEV8YfH4Va5IsmBmQsUYWCmOHNTHD6uIQdwhtU7tx
	3ZoifyvYzrplg6l+b+VZ+ic=
X-Google-Smtp-Source: ABdhPJztEpqDu7c0duU4BlEMnF97NCTUImWX4xTUQenIAQJSUD2GpIv4OSVa9Xt8JSMsGNu6LN6TTQ==
X-Received: by 2002:a2e:5858:: with SMTP id x24mr11923571ljd.519.1643585879834;
        Sun, 30 Jan 2022 15:37:59 -0800 (PST)
From: Dmitry Osipenko <digetx@gmail.com>
To: Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Russell King <linux@armlinux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Guo Ren <guoren@kernel.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Greg Ungerer <gerg@linux-m68k.org>,
	Joshua Thompson <funaho@jurai.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Sebastian Reichel <sre@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Helge Deller <deller@gmx.de>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	Pavel Machek <pavel@ucw.cz>,
	Lee Jones <lee.jones@linaro.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	alankao@andestech.com,
	"K . C . Kuen-Chern Lin" <kclin@andestech.com>,
	=?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= <mirq-linux@rere.qmqm.pl>
Cc: linux-kernel@vger.kernel.org,
	linux-csky@vger.kernel.org,
	linux-ia64@vger.kernel.org,
	linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org,
	linux-riscv@lists.infradead.org,
	linux-sh@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org,
	linux-pm@vger.kernel.org,
	linux-tegra@vger.kernel.org
Subject: [PATCH v6 19/21] ACPI: power: Switch to sys-off handler API
Date: Mon, 31 Jan 2022 02:37:16 +0300
Message-Id: <20220130233718.21544-20-digetx@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20220130233718.21544-1-digetx@gmail.com>
References: <20220130233718.21544-1-digetx@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Switch to sys-off API that replaces legacy pm_power_off callbacks.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---
 drivers/acpi/sleep.c | 25 +++++++++++--------------
 1 file changed, 11 insertions(+), 14 deletions(-)

diff --git a/drivers/acpi/sleep.c b/drivers/acpi/sleep.c
index a60ff5dfed3a..e27ac5b4645b 100644
--- a/drivers/acpi/sleep.c
+++ b/drivers/acpi/sleep.c
@@ -47,19 +47,11 @@ static void acpi_sleep_tts_switch(u32 acpi_state)
 	}
 }
 
-static int tts_notify_reboot(struct notifier_block *this,
-			unsigned long code, void *x)
+static void tts_reboot_prepare(struct reboot_prep_data *data)
 {
 	acpi_sleep_tts_switch(ACPI_STATE_S5);
-	return NOTIFY_DONE;
 }
 
-static struct notifier_block tts_notifier = {
-	.notifier_call	= tts_notify_reboot,
-	.next		= NULL,
-	.priority	= 0,
-};
-
 static int acpi_sleep_prepare(u32 acpi_state)
 {
 #ifdef CONFIG_ACPI_SLEEP
@@ -1031,7 +1023,7 @@ static void acpi_sleep_hibernate_setup(void)
 static inline void acpi_sleep_hibernate_setup(void) {}
 #endif /* !CONFIG_HIBERNATION */
 
-static void acpi_power_off_prepare(void)
+static void acpi_power_off_prepare(struct power_off_prep_data *data)
 {
 	/* Prepare to power off the system */
 	acpi_sleep_prepare(ACPI_STATE_S5);
@@ -1039,7 +1031,7 @@ static void acpi_power_off_prepare(void)
 	acpi_os_wait_events_complete();
 }
 
-static void acpi_power_off(void)
+static void acpi_power_off(struct power_off_data *data)
 {
 	/* acpi_sleep_prepare(ACPI_STATE_S5) should have already been called */
 	pr_debug("%s called\n", __func__);
@@ -1047,6 +1039,11 @@ static void acpi_power_off(void)
 	acpi_enter_sleep_state(ACPI_STATE_S5);
 }
 
+static struct sys_off_handler acpi_sys_off_handler = {
+	.power_off_priority = POWEROFF_PRIO_FIRMWARE,
+	.reboot_prepare_cb = tts_reboot_prepare,
+};
+
 int __init acpi_sleep_init(void)
 {
 	char supported[ACPI_S_STATE_COUNT * 3 + 1];
@@ -1063,8 +1060,8 @@ int __init acpi_sleep_init(void)
 
 	if (acpi_sleep_state_supported(ACPI_STATE_S5)) {
 		sleep_states[ACPI_STATE_S5] = 1;
-		pm_power_off_prepare = acpi_power_off_prepare;
-		pm_power_off = acpi_power_off;
+		acpi_sys_off_handler.power_off_cb = acpi_power_off;
+		acpi_sys_off_handler.power_off_prepare_cb = acpi_power_off_prepare;
 	} else {
 		acpi_no_s5 = true;
 	}
@@ -1080,6 +1077,6 @@ int __init acpi_sleep_init(void)
 	 * Register the tts_notifier to reboot notifier list so that the _TTS
 	 * object can also be evaluated when the system enters S5.
 	 */
-	register_reboot_notifier(&tts_notifier);
+	register_sys_off_handler(&acpi_sys_off_handler);
 	return 0;
 }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Jan 31 02:00:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 02:00:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262693.455043 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nELzf-00005I-ID; Mon, 31 Jan 2022 02:00:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262693.455043; Mon, 31 Jan 2022 02: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 1nELzf-00005A-DM; Mon, 31 Jan 2022 02:00:35 +0000
Received: by outflank-mailman (input) for mailman id 262693;
 Mon, 31 Jan 2022 02:00: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 1nELzd-00004v-RD; Mon, 31 Jan 2022 02:00: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 1nELzd-0005jh-ND; Mon, 31 Jan 2022 02:00: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 1nELzd-0007Hi-2M; Mon, 31 Jan 2022 02:00:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nELzd-0004f9-0L; Mon, 31 Jan 2022 02:00:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=u5OWkrZYi0li/+OMtDXaaV6xHFk/oRftvg0ZGz5dwtg=; b=McgAzUOqmfHzK/yYDTwgOkDOQZ
	PbBcYQNlwgXDCKYLUhKheUyf1CFAsSC3Pn0QDve2rKoDGaxXsZnaUtRVVYDnOs+6DRh/+Ek6hmGIV
	7tk92SH478BDxHl1lDUeNPmJqXPsB2AVeyP4NHhnAzBVpl8PJLs480g8G4u/e5v6rBNM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167958-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 167958: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-xl-credit1:host-ping-check-xen:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-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:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-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-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=26291c54e111ff6ba87a164d85d4a4e134b7315c
X-Osstest-Versions-That:
    linux=8dd71685dcb7839f6d91417e0a9237daca363908
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 31 Jan 2022 02:00:33 +0000

flight 167958 linux-linus real [real]
flight 167960 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/167958/
http://logs.test-lab.xenproject.org/osstest/logs/167960/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-credit1  10 host-ping-check-xen fail pass in 167960-retest

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds    18 guest-start/debian.repeat fail REGR. vs. 167954

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail blocked in 167954
 test-armhf-armhf-xl-credit1 15 migrate-support-check fail in 167960 never pass
 test-armhf-armhf-xl-credit1 16 saverestore-support-check fail in 167960 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167954
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167954
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167954
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167954
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167954
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167954
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167954
 test-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-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-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-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-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                26291c54e111ff6ba87a164d85d4a4e134b7315c
baseline version:
 linux                8dd71685dcb7839f6d91417e0a9237daca363908

Last test of basis   167954  2022-01-30 09:39:43 Z    0 days
Testing same since   167958  2022-01-30 17:39:44 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ard Biesheuvel <ardb@kernel.org>
  Borislav Petkov <bp@suse.de>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Geert Uytterhoeven <geert+renesas@glider.be>
  Geert Uytterhoeven <geert@linux-m68k.org>
  Hector Martin <marcan@marcan.st>
  James Clark <james.clark@arm.com>
  Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Marc Zyngier <maz@kernel.org>
  Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
  Namhyung Kim <namhyung@kernel.org>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Rob Herring <robh@kernel.org>
  Sander Vanheule <sander@svanheule.net>
  Thomas Gleixner <tglx@linutronix.de>
  Tony Luck <tony.luck@intel.com>
  Yazen Ghannam <yazen.ghannam@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


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
   8dd71685dcb7..26291c54e111  26291c54e111ff6ba87a164d85d4a4e134b7315c -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 03:19:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 03:19:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262705.455053 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nENEB-0007fB-Pd; Mon, 31 Jan 2022 03:19:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262705.455053; Mon, 31 Jan 2022 03:19: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 1nENEB-0007f4-MY; Mon, 31 Jan 2022 03:19:39 +0000
Received: by outflank-mailman (input) for mailman id 262705;
 Mon, 31 Jan 2022 03:19: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 1nENE9-0007eu-Pg; Mon, 31 Jan 2022 03:19: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 1nENE9-0007ar-MU; Mon, 31 Jan 2022 03:19: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 1nENE9-0001BP-6s; Mon, 31 Jan 2022 03:19:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nENE9-00061Z-6R; Mon, 31 Jan 2022 03: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=XhU3tceCOtxMa0Ql/aRIZs5S9ADtMAU8NQHzsOhrIzQ=; b=wi0G/HyG9uipZ6e9UJSr14WPR2
	3YCsIP+mz9QG4d2QsIxlPYlQ/lJIkpQUiBa5B2PPnpOyz6fFLOnXBXtL2ryTDgG+QtYWlCzOOKEKC
	4zNRTsxjglQENxVGc1sbXeHDE27Zz4VcyVpp/Mgp4VGUoqm+6hf1g5kXEPWQEwNqt09M=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167959-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 167959: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-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-armhf-armhf-libvirt-qcow2: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:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check: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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-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-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2: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-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-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
    qemu-mainline:test-armhf-armhf-libvirt-qcow2: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
X-Osstest-Versions-This:
    qemuu=bfc3db5cf64ab538d6b3c56eab6423372758b258
X-Osstest-Versions-That:
    qemuu=d90e6f665d3ac197f83d93ad37147fe677521209
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 31 Jan 2022 03:19:37 +0000

flight 167959 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167959/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-rtds     20 guest-localmigrate/x10       fail  like 167955
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167955
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167955
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167955
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167955
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167955
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167955
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167955
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167955
 test-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-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                bfc3db5cf64ab538d6b3c56eab6423372758b258
baseline version:
 qemuu                d90e6f665d3ac197f83d93ad37147fe677521209

Last test of basis   167955  2022-01-30 10:08:20 Z    0 days
Testing same since   167959  2022-01-30 19:39:38 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Eric Blake <eblake@redhat.com>
  Hanna Reitz <hreitz@redhat.com>
  Markus Armbruster <armbru@redhat.com>
  Nir Soffer <nsoffer@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daude <f4bug@amsat.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                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     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-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   d90e6f665d..bfc3db5cf6  bfc3db5cf64ab538d6b3c56eab6423372758b258 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 05:06:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 05:06:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262518.455065 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEOtJ-0001Wa-7j; Mon, 31 Jan 2022 05:06:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262518.455065; Mon, 31 Jan 2022 05: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 1nEOtJ-0001WT-4U; Mon, 31 Jan 2022 05:06:13 +0000
Received: by outflank-mailman (input) for mailman id 262518;
 Sun, 30 Jan 2022 18:35:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=P0lM=SO=gmail.com=demiobenour@srs-se1.protection.inumbo.net>)
 id 1nEF35-0007oS-NT
 for xen-devel@lists.xenproject.org; Sun, 30 Jan 2022 18:35:39 +0000
Received: from mail-qk1-x729.google.com (mail-qk1-x729.google.com
 [2607:f8b0:4864:20::729])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6a398490-81fb-11ec-8f75-fffcc8bd4f1a;
 Sun, 30 Jan 2022 19:35:36 +0100 (CET)
Received: by mail-qk1-x729.google.com with SMTP id b35so9635776qkp.6
 for <xen-devel@lists.xenproject.org>; Sun, 30 Jan 2022 10:35:36 -0800 (PST)
Received: from [10.139.255.254] ([89.187.171.240])
 by smtp.gmail.com with ESMTPSA id w4sm7649260qko.123.2022.01.30.10.35.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 30 Jan 2022 10:35:34 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6a398490-81fb-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=message-id:date:mime-version:user-agent:from:subject:to:cc
         :content-language;
        bh=2QZaKEKOX73FhHQGC0MdXbWrYGotSIe9lUIuwquuvdg=;
        b=VuuicGXcK7e3bhqkWRp1BZXQasNvelaoZavpbmazHxSNEkQnV465APqewQygLvnS5q
         yBfSt3/j7NNQlL/4IB3fK8ZiFtkqeCtF8axY+7uQszt/NGRjOA8Qb7ZjBy2RcfuIenYU
         bGlPA2Uoh/434oyQOHR31He3N+g0LMvtdpWSvjFxRkZeTOJUa6vemNUSehA9abMhW8Hx
         Zf3GY2ZnGacAJGHzqBKIjPgXRj8Sddj7odJV/vCd4cDfbcC7D4KxBnichq1obSiHCZ6D
         fzF4y9j5zRuaSPedvLzL18PTQpxlc9Zz5ZjBt6OWHhpr0YFnFslvppATM9oo+GL9DNHM
         k82A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:message-id:date:mime-version:user-agent:from
         :subject:to:cc:content-language;
        bh=2QZaKEKOX73FhHQGC0MdXbWrYGotSIe9lUIuwquuvdg=;
        b=m8A9iECzgQiGNrNa3h41R4I4q2iAyu7rXXLy1CzIJPlh2gDSraY8Jqnph4SGnVTpts
         XKUlSB2XVJM7nfxoRX9qcKBEBMrDafuaFZmRcDnlEWBF+oLCOnJwmf10ajSJBqNuyqPz
         EYvSsu9D9aCWWPr37h2/f95HLgA0hC04jmDQ6JRpdE8y3sH3kuuX//Og/2VcYPlDANhJ
         5EgcMum5Cxx7gRDMb3m596ADigANXHoXn+hXLN5RSMcxVKFebaGOF5mv1TOcG+EnBdhA
         ei4MA5kc5i9LWSEvs2f1o8ygRSDUbaavznobH2NplnqzFwV5hlOhgmyMZATtDpl6kFX7
         0j7w==
X-Gm-Message-State: AOAM533GAWhkA5NJhYktE1Co66Cic+Z2MbnyHZlfHGROWh3cDs3vUKsT
	/PMJRJh/mg27D2UyWIJezK0=
X-Google-Smtp-Source: ABdhPJxCXOvShMpoTA2HOSQ8oL5vrMNvIQ/6Ci43XAxm7+RD+rnjlG+9iAEBypoDIALroEYvpyuiIQ==
X-Received: by 2002:a05:620a:849:: with SMTP id u9mr10850044qku.408.1643567735598;
        Sun, 30 Jan 2022 10:35:35 -0800 (PST)
Message-ID: <68f3303d-f035-ffdf-c786-9c826e66bd0b@gmail.com>
Date: Sun, 30 Jan 2022 13:35:12 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
From: Demi Marie Obenour <demiobenour@gmail.com>
Subject: [PATCH] Improve docs for IOCTL_GNTDEV_MAP_GRANT_REF
To: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Juergen Gross <jgross@suse.com>, Stefano Stabellini <sstabellini@kernel.org>
Cc: Demi Marie Obenour <demiobenour@gmail.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
Content-Language: en-US
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------Bx4Iu0sxzRIO7AumyduLJADG"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------Bx4Iu0sxzRIO7AumyduLJADG
Content-Type: multipart/mixed; boundary="------------Svb035ThpoP0VwkRoIWu0Nkf";
 protected-headers="v1"
From: Demi Marie Obenour <demiobenour@gmail.com>
To: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Juergen Gross <jgross@suse.com>, Stefano Stabellini <sstabellini@kernel.org>
Cc: Demi Marie Obenour <demiobenour@gmail.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
Message-ID: <68f3303d-f035-ffdf-c786-9c826e66bd0b@gmail.com>
Subject: [PATCH] Improve docs for IOCTL_GNTDEV_MAP_GRANT_REF

--------------Svb035ThpoP0VwkRoIWu0Nkf
Content-Type: multipart/mixed; boundary="------------PzX56KGQ0dWoGgjBEpLZHBZR"

--------------PzX56KGQ0dWoGgjBEpLZHBZR
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

The current implementation of gntdev guarantees that the first call to
IOCTL_GNTDEV_MAP_GRANT_REF will set @index to 0.  This is required to
use gntdev for Wayland, which is a future desire of Qubes OS.
Additionally, requesting zero grants results in an error, but this was
not documented either.  Document both of these.
---
 include/uapi/xen/gntdev.h | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/include/uapi/xen/gntdev.h b/include/uapi/xen/gntdev.h
index 9ac5515b9bc2..7a7145395c09 100644
--- a/include/uapi/xen/gntdev.h
+++ b/include/uapi/xen/gntdev.h
@@ -47,7 +47,13 @@ struct ioctl_gntdev_grant_ref {
 /*
  * Inserts the grant references into the mapping table of an instance
  * of gntdev. N.B. This does not perform the mapping, which is deferred
- * until mmap() is called with @index as the offset.
+ * until mmap() is called with @index as the offset. @index should be
+ * considered opaque to userspace, with one exception: if no grant
+ * references have ever been inserted into the mapping table of this
+ * instance, @index will be set to 0. This is necessary to use gntdev
+ * with userspace APIs that expect a file descriptor that can be
+ * mmap()'d at offset 0, such as Wayland. If @count is set to 0, this
+ * ioctl will fail.
  */
 #define IOCTL_GNTDEV_MAP_GRANT_REF \
 _IOC(_IOC_NONE, 'G', 0, sizeof(struct ioctl_gntdev_map_grant_ref))
--=20
Sincerely,
Demi Marie Obenour
she/her/hers
--------------PzX56KGQ0dWoGgjBEpLZHBZR
Content-Type: application/pgp-keys; name="OpenPGP_0xB288B55FFF9C22C1.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB288B55FFF9C22C1.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsFNBFp+A0oBEADffj6anl9/BHhUSxGTICeVl2tob7hPDdhHNgPR4C8xlYt5q49y
B+l2nipdaq+4Gk6FZfqC825TKl7eRpUjMriwle4r3R0ydSIGcy4M6eb0IcxmuPYf
bWpr/si88QKgyGSVZ7GeNW1UnzTdhYHuFlk8dBSmB1fzhEYEk0RcJqg4AKoq6/3/
UorR+FaSuVwT7rqzGrTlscnTDlPWgRzrQ3jssesI7sZLm82E3pJSgaUoCdCOlL7M
MPCJwI8JpPlBedRpe9tfVyfu3euTPLPxwcV3L/cfWPGSL4PofBtB8NUU6QwYiQ9H
zx4xOyn67zW73/G0Q2vPPRst8LBDqlxLjbtx/WLR6h3nBc3eyuZ+q62HS1pJ5EvU
T1vjyJ1ySrqtUXWQ4XlZyoEFUfpJxJoN0A9HCxmHGVckzTRl5FMWo8TCniHynNXs
BtDQbabt7aNEOaAJdE7to0AH3T/Bvwzcp0ZJtBk0EM6YeMLtotUut7h2Bkg1b//r
6bTBswMBXVJ5H44Qf0+eKeUg7whSC9qpYOzzrm7+0r9F5u3qF8ZTx55TJc2g656C
9a1P1MYVysLvkLvS4H+crmxA/i08Tc1h+x9RRvqba4lSzZ6/Tmt60DPM5Sc4R0nS
m9BBff0Nm0bSNRS8InXdO1Aq3362QKX2NOwcL5YaStwODNyZUqF7izjK4QARAQAB
zTxEZW1pIE1hcmllIE9iZW5vdXIgKGxvdmVyIG9mIGNvZGluZykgPGRlbWlvYmVu
b3VyQGdtYWlsLmNvbT7CwXgEEwECACIFAlp+A0oCGwMGCwkIBwMCBhUIAgkKCwQW
AgMBAh4BAheAAAoJELKItV//nCLBhr8QAK/xrb4wyi71xII2hkFBpT59ObLN+32F
QT7R3lbZRjVFjc6yMUjOb1H/hJVxx+yo5gsSj5LS9AwggioUSrcUKldfA/PKKai2
mzTlUDxTcF3vKx6iMXKA6AqwAw4B57ZEJoMM6egm57TV19kzPMc879NV2nc6+ela
Kl+/kbVeD3qvBuEwsTe2Do3HAAdrfUG/j9erwIk6gha/Hp9yZlCnPTX+VK+xifQq
t8RtMqS5R/S8z0msJMI/ajNU03kFjOpqrYziv6OZLJ5cuKb3bZU5aoaRQRDzkFIR
6aqtFLTohTo20QywXwRa39uFaOT/0YMpNyel0kdOszFOykTEGI2u+kja35g9TkH9
0kkBTG+aEWttIht0Hy6YFmwjcAxisSakBuHnHuMSOiyRQLu43ej2+mDWgItLZ48M
u0C3IG1seeQDjEYPtqvyZ6bGkf2Vj+L6wLoLLIhRZxQOedqArIk/Sb2SzQYuxN44
IDRt+3ZcDqsPppoKcxSyd1Ny2tpvjYJXlfKmOYLhTWs8nwlAlSHX/c/jz/ywwf7e
SvGknToo1Y0VpRtoxMaKW1nvH0OeCSVJitfRP7YbiRVc2aNqWPCSgtqHAuVraBRb
AFLKh9d2rKFB3BmynTUpc1BQLJP8+D5oNyb8Ts4xXd3iV/uD8JLGJfYZIR7oGWFL
P4uZ3tkneDfYzTxEZW1pIE9iZW5vdXIgKElUTCBFbWFpbCBLZXkpIDxhdGhlbmFA
aW52aXNpYmxldGhpbmdzbGFiLmNvbT7CwY4EEwEIADgWIQR2h02fEza6IlkHHHGy
iLVf/5wiwQUCX6YJvQIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRCyiLVf
/5wiwWRhD/0YR+YYC5Kduv/2LBgQJIygMsFiRHbR4+tWXuTFqgrxxFSlMktZ6gQr
QCWe38WnOXkBoY6n/5lSJdfnuGd2UagZ/9dkaGMUkqt+5WshLFly4BnP7pSsWReK
gMP7etRTwn3Szk1OwFx2lzY1EnnconPLfPBc6rWG2moA6l0WX+3WNR1B1ndqpl2h
PSjT2jUCBWDVrGOUSX7r5f1WgtBeNYnEXPBCUUM51pFGESmfHIXQrqFDA7nBNiIV
FDJTmQzuEqIyJl67pKNgooij5mKzRhFKHfjLRAH4mmWZlB9UjDStAfFBAoDFHwd1
HL5VQCNQdqEc/9lZDApqWuCPadZN+pGouqLysesIYsNxUhJ7dtWOWHl0vs7/3qkW
mWun/2uOJMQhra2u8nA9g91FbOobWqjrDd6x3ZJoGQf4zLqjmn/P514gb697788e
573WN/MpQ5XIFl7aM2d6/GJiq6LC9T2gSUW4rbPBiqOCeiUx7Kd/sVm41p9TOA7f
EG4bYddCfDsNxaQJH6VRK3NOuBUGeL+iQEVF5Xs6Yp+U+jwvv2M5Lel3EqAYo5xX
Tx4ls0xaxDCufudcAh8CMMqx3fguSb7Mi31WlnZpk0fDuWQVNKyDP7lYpwc4nCCG
NKCj622ZSocHAcQmX28L8pJdLYacv9pU3jPy4fHcQYvmTavTqowGnM1ARGVtaSBN
YXJpZSBPYmVub3VyIChJVEwgRW1haWwgS2V5KSA8ZGVtaUBpbnZpc2libGV0aGlu
Z3NsYWIuY29tPsLBjgQTAQgAOBYhBHaHTZ8TNroiWQcccbKItV//nCLBBQJgOEV+
AhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJELKItV//nCLBKwoP/1WSnFdv
SAD0g7fD0WlF+oi7ISFT7oqJnchFLOwVHK4Jg0e4hGn1ekWsF3Ha5tFLh4V/7UUu
obYJpTfBAA2CckspYBqLtKGjFxcaqjjpO1I2W/jeNELVtSYuCOZICjdNGw2Hl9yH
KRZiBkqc9u8lQcHDZKq4LIpVJj6ZQV/nxttDX90ax2No1nLLQXFbr5wb465LAPpU
lXwunYDij7xJGye+VUASQh9datye6orZYuJvNo8Tr3mAQxxkfR46LzWgxFCPEAZJ
5P56Nc0IMHdJZj0Uc9+1jxERhOGppp5jlLgYGK7faGB/jTV6LaRQ4Ad+xiqokDWp
mUOZsmA+bMbtPfYjDZBz5mlyHcIRKIFpE1l3Y8F7PhJuzzMUKkJi90CYakCV4x/a
Zs4pzk5E96c2VQx01RIEJ7fzHF7lwFdtfTS4YsLtAbQFsKayqwkGcVv2B1AHeqdo
TMX+cgDvjd1ZganGlWA8Sv9RkNSMchn1hMuTwERTyFTr2dKPnQdA1F480+jUap41
ClXgn227WkCIMrNhQGNyJsnwyzi5wS8rBVRQ3BOTMyvGM07j3axUOYaejEpg7wKi
wTPZGLGH1sz5GljD/916v5+v2xLbOo5606j9dWf5/tAhbPuqrQgWv41wuKDi+dDD
EKkODF7DHes8No+QcHTDyETMn1RYm7t0RKR4zsFNBFp+A0oBEAC9ynZI9LU+uJkM
eEJeJyQ/8VFkCJQPQZEsIGzOTlPnwvVna0AS86n2Z+rK7R/usYs5iJCZ55/JISWd
8xD57ue0eB47bcJvVqGlObI2DEG8TwaW0O0duRhDgzMEL4t1KdRAepIESBEA/iPp
I4gfUbVEIEQuqdqQyO4GAe+MkD0Hy5JH/0qgFmbaSegNTdQg5iqYjRZ3ttiswalq
l1/iSyv1WYeC1OAs+2BLOAT2NEggSiVOtxEfgewsQtCWi8H1SoirakIfo45Hz0tk
/Ad9ZWh2PvOGt97Ka85o4TLJxgJJqGEnqcFUZnJJriwoaRIS8N2C8/nEM53jb1sH
0gYddMU3QxY7dYNLIUrRKQeNkF30dK7V6JRH7pleRlf+wQcNfRAIUrNlatj9Txwi
vQrKnC9aIFFHEy/0mAgtrQShcMRmMgVlRoOA5B8RTulRLCmkafvwuhs6dCxN0GNA
ORIVVFxjx9Vn7OqYPgwiofZ6SbEl0hgPyWBQvE85klFLZLoj7p+joDY1XNQztmfA
rnJ9x+YV4igjWImINAZSlmEcYtd+xy3Li/8oeYDAqrsnrOjb+WvGhCykJk4urBog
2LNtcyCjkTs7F+WeXGUo0NDhbd3Z6AyFfqeF7uJ3D5hlpX2nI9no/ugPrrTVoVZA
grrnNz0iZG2DVx46x913pVKHl5mlYQARAQABwsFfBBgBAgAJBQJafgNKAhsMAAoJ
ELKItV//nCLBwNIP/AiIHE8boIqReFQyaMzxq6lE4YZCZNj65B/nkDOvodSiwfwj
jVVE2V3iEzxMHbgyTCGA67+Bo/d5aQGjgn0TPtsGzelyQHipaUzEyrsceUGWYoKX
YyVWKEfyh0cDfnd9diAm3VeNqchtcMpoehETH8frRHnJdBcjf112PzQSdKC6kqU0
Q196c4Vp5HDOQfNiDnTf7gZSj0BraHOByy9LEDCLhQiCmr+2E0rW4tBtDAn2HkT9
uf32ZGqJCn1O+2uVfFhGu6vPE5qkqrbSE8TG+03H8ecU2q50zgHWPdHMOBvy3Ehz
fAh2VmOSTcRK+tSUe/u3wdLRDPwv/DTzGI36Kgky9MsDC5gpIwNbOJP2G/q1wT1o
Gkw4IXfWv2ufWiXqJ+k7HEi2N1sree7Dy9KBCqb+ca1vFhYPDJfhP75I/VnzHVss
Z/rYZ9+51yDoUABoNdJNSGUYl+Yh9Pw9pE3Kt4EFzUlFZWbE4xKL/NPno+z4J9aW
emLLszcYz/u3XnbOvUSQHSrmfOzX3cV4yfmjM5lewgSstoxGyTx2M8enslgdXhPt
hZlDnTnOT+C+OTsh8+m5tos8HQjaPM01MKBiAqdPgksm1wu2DrrwUi6ChRVTUBcj
6+/9IJ81H2P2gJk3Ls3AVIxIffLoY34E+MYSfkEjBz0E8CLOcAw7JIwAaeBT
=3Dx+Ro
-----END PGP PUBLIC KEY BLOCK-----

--------------PzX56KGQ0dWoGgjBEpLZHBZR--

--------------Svb035ThpoP0VwkRoIWu0Nkf--

--------------Bx4Iu0sxzRIO7AumyduLJADG
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmH22nQACgkQsoi1X/+c
IsGRyw/+IBzFvJPuAMi/kE7b4wFJfC57OlA6Zxg7YXMEY62oe2ONMdXYuE0oGntQ
scsntd7KHD8qt6gopW4I0uPTdSVeVrXPJderP/fyBZ2xT/VBon62vwh3wWuGVlgQ
FCK83b5NRJWu2gPYJbD5a+4qOjlACVjRFHXLYPHEyN5gE6vW5dxyOh2PmlbQZyLa
2+cZwaGDcKOpt3uu0gjjUdmMLqvJZJpwQqKlno9M2ZtvYNb7rFCgp6Phb2hzu39P
wvyyypw18JQI8edTlrmS/8xUaM1czPYC2i2nbCvPryxmO4n1RNJMIkl/uWobMXDS
AMffQKH/NjE+0LEuxoGQFSC4vkW/LTVFypiq2MJElJq/iXfA5StFfkmxvJkS+wpd
NCFPGUZyYNXEx+D6FvG1neMQbcAUDakSnLj5FfW/d1QZAFTZnqo4tvh6tYuOLWJk
m6tB5v8cG+baUzwZCVxkCEC1Mpc8tydbbz5z+suIU4DQeytNY/Eqk6WzfWETMk35
k/VEZgwgO5llAZVor9NdJciTpmQR+/FNyyqcohsH+/wxBzt29EFF6Fx1F/Yj7Mb8
3tucpcTn3vVLLYoYLLobm5vCyY1BeyXDP1C2GHUQGeaX2X1zMqaSyIlVYyS6HyPj
JydLWv4UkeVaVxuXC4LzyVxxQC83Mqq9GmG1f9Zk5a6zRccu7QE=
=JNNI
-----END PGP SIGNATURE-----

--------------Bx4Iu0sxzRIO7AumyduLJADG--


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 06:42:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 06:42:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262725.455076 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEQOL-0002wx-2A; Mon, 31 Jan 2022 06:42:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262725.455076; Mon, 31 Jan 2022 06:42: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 1nEQOK-0002wq-V0; Mon, 31 Jan 2022 06:42:20 +0000
Received: by outflank-mailman (input) for mailman id 262725;
 Mon, 31 Jan 2022 06:42:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=FCUt=SP=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1nEQOJ-0002wk-KT
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 06:42:19 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ee8eed43-8260-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 07:42:17 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id E0CC5212BE;
 Mon, 31 Jan 2022 06:42:16 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id B0DCA13A91;
 Mon, 31 Jan 2022 06:42:16 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Y+hIKciE92EINgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 31 Jan 2022 06: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: ee8eed43-8260-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1643611336; 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=Knl5eql1MNKIO02Lh9ot4t04zTLtCICNa6Mw5TVo3YY=;
	b=MhYsbUUvHu/43ZEVwmur05PawnR8SThcCySqn6uU3oO5Wl4/PhbPyKD/XvnmqrDfVoJhAy
	EtHgW7T5XOJAvgc6iK0uBHu1L9b/Z9ByRXWolCbox/4oLoQ0+uej5g3bRaxKhnyzpsQjOC
	vG85vb3mT3mWYijwh+E5rEYecKho6ok=
Message-ID: <337b7168-b1c0-cdba-2ae0-482bb16ab2ec@suse.com>
Date: Mon, 31 Jan 2022 07:42:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH] Improve docs for IOCTL_GNTDEV_MAP_GRANT_REF
Content-Language: en-US
To: Demi Marie Obenour <demiobenour@gmail.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <68f3303d-f035-ffdf-c786-9c826e66bd0b@gmail.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <68f3303d-f035-ffdf-c786-9c826e66bd0b@gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------sLxdBSi77MGQaNCkedzvCcIu"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------sLxdBSi77MGQaNCkedzvCcIu
Content-Type: multipart/mixed; boundary="------------mO6eTlaXpYYJSGZIjTJXCbK0";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Demi Marie Obenour <demiobenour@gmail.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
Message-ID: <337b7168-b1c0-cdba-2ae0-482bb16ab2ec@suse.com>
Subject: Re: [PATCH] Improve docs for IOCTL_GNTDEV_MAP_GRANT_REF
References: <68f3303d-f035-ffdf-c786-9c826e66bd0b@gmail.com>
In-Reply-To: <68f3303d-f035-ffdf-c786-9c826e66bd0b@gmail.com>

--------------mO6eTlaXpYYJSGZIjTJXCbK0
Content-Type: multipart/mixed; boundary="------------F04sNxcbqALEMUEh7XnVr4wS"

--------------F04sNxcbqALEMUEh7XnVr4wS
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMzAuMDEuMjIgMTk6MzUsIERlbWkgTWFyaWUgT2Jlbm91ciB3cm90ZToNCj4gVGhlIGN1
cnJlbnQgaW1wbGVtZW50YXRpb24gb2YgZ250ZGV2IGd1YXJhbnRlZXMgdGhhdCB0aGUgZmly
c3QgY2FsbCB0bw0KPiBJT0NUTF9HTlRERVZfTUFQX0dSQU5UX1JFRiB3aWxsIHNldCBAaW5k
ZXggdG8gMC4gIFRoaXMgaXMgcmVxdWlyZWQgdG8NCj4gdXNlIGdudGRldiBmb3IgV2F5bGFu
ZCwgd2hpY2ggaXMgYSBmdXR1cmUgZGVzaXJlIG9mIFF1YmVzIE9TLg0KPiBBZGRpdGlvbmFs
bHksIHJlcXVlc3RpbmcgemVybyBncmFudHMgcmVzdWx0cyBpbiBhbiBlcnJvciwgYnV0IHRo
aXMgd2FzDQo+IG5vdCBkb2N1bWVudGVkIGVpdGhlci4gIERvY3VtZW50IGJvdGggb2YgdGhl
c2UuDQoNClBsZWFzZSBhZGQgYSAiU2lnbmVkLW9mZi1ieToiIHRhZyB0byB5b3VyIGNvbW1p
dCBtZXNzYWdlLg0KDQpTZWUgRG9jdW1lbnRhdGlvbi9wcm9jZXNzL3N1Ym1pdHRpbmctcGF0
Y2hlcy5yc3QgaW4gdGhlIGtlcm5lbCBzb3VyY2UNCnRyZWUsIGxvb2sgZm9yICJTaWduIHlv
dXIgd29yayAtIHRoZSBEZXZlbG9wZXIncyBDZXJ0aWZpY2F0ZSBvZiBPcmlnaW4iLg0KDQoN
Ckp1ZXJnZW4NCg==
--------------F04sNxcbqALEMUEh7XnVr4wS
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------F04sNxcbqALEMUEh7XnVr4wS--

--------------mO6eTlaXpYYJSGZIjTJXCbK0--

--------------sLxdBSi77MGQaNCkedzvCcIu
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmH3hMgFAwAAAAAACgkQsN6d1ii/Ey/y
4wf9FbFxYuIdjwoAcOYaJz7hozERQHsJl7KdtjVLfMq7Xhoje5tuv06gQoya5GXnXKsfyqZ96ed+
ntpqP2+G4B38GH3ALLxtvFtTtVz+VuaRuQCEmAk7YZ8YeP2wYMQC2xm3NTsfRXC3Ap+CkFvDvPgX
hxrFXCXnvaDEXISDNl6gtAzAq747RCTDd1PGXKy9c03NQA2VmCMpM5LHDlWiHvHfPKpncolld/sB
lCxa9DcqTkfraqI1Xb5N78LsDquKB/OoNLBSQoOFIj7Id4t89tOuQ9ODAlWAIhf5WCvBWANjI7ap
uUqc/NMAazm3hVpt8et+/PhxqVA1tMAYCmt2YBzboQ==
=/1Zq
-----END PGP SIGNATURE-----

--------------sLxdBSi77MGQaNCkedzvCcIu--


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 06:46:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 06:46:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262731.455087 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEQRy-0003Yp-K5; Mon, 31 Jan 2022 06:46:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262731.455087; Mon, 31 Jan 2022 06:46:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEQRy-0003Yi-F9; Mon, 31 Jan 2022 06:46:06 +0000
Received: by outflank-mailman (input) for mailman id 262731;
 Mon, 31 Jan 2022 06:46:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=FCUt=SP=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1nEQRx-0003Yc-Eq
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 06:46:05 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 75dee376-8261-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 07:46:04 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 27AEF212BA;
 Mon, 31 Jan 2022 06:46:04 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id F063813A89;
 Mon, 31 Jan 2022 06:46:03 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id WfE+OauF92FiNwAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 31 Jan 2022 06:46:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 75dee376-8261-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1643611564; 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=XhoIjVGNxD61y6wypELo13frmHMFiJnGgwM5kx+UkMo=;
	b=eIqihckZo+EtX0TdIRyYPZv632lvZPTHaf6OQ8lWGNG30CQf1DSz8kE10+NdWYVWlTVpEh
	tsp92nDMKsfDRFK9wwXFYBHW5OGQJlSuoL4Kgur8JEzpvyF9HsSj++dRBpnWEG+9SqQRNS
	DlnZOe1e5Qv7FbN1sh25ItZYMYIcrOk=
Message-ID: <3359061b-656e-24f0-7b81-0905943afc78@suse.com>
Date: Mon, 31 Jan 2022 07:46:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Subject: Re: [PATCH] xen: xenbus_dev.h: delete incorrect file name
Content-Language: en-US
To: Randy Dunlap <rdunlap@infradead.org>, patches@lists.linux.dev
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20220130191705.24971-1-rdunlap@infradead.org>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <20220130191705.24971-1-rdunlap@infradead.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------GXljl0PX4ua0YUxLb2L0MCb0"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------GXljl0PX4ua0YUxLb2L0MCb0
Content-Type: multipart/mixed; boundary="------------bOJgV0CgzP6fBtAZ5PlmC8o0";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Randy Dunlap <rdunlap@infradead.org>, patches@lists.linux.dev
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Message-ID: <3359061b-656e-24f0-7b81-0905943afc78@suse.com>
Subject: Re: [PATCH] xen: xenbus_dev.h: delete incorrect file name
References: <20220130191705.24971-1-rdunlap@infradead.org>
In-Reply-To: <20220130191705.24971-1-rdunlap@infradead.org>

--------------bOJgV0CgzP6fBtAZ5PlmC8o0
Content-Type: multipart/mixed; boundary="------------0pGJlWf8OoS0YGV8acvZnCdW"

--------------0pGJlWf8OoS0YGV8acvZnCdW
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMzAuMDEuMjIgMjA6MTcsIFJhbmR5IER1bmxhcCB3cm90ZToNCj4gSXQgaXMgYmV0dGVy
L3ByZWZlcnJlZCBub3QgdG8gaW5jbHVkZSBmaWxlIG5hbWVzIGluIHNvdXJjZSBmaWxlcw0K
PiBiZWNhdXNlIChhKSB0aGV5IGFyZSBub3QgbmVlZGVkIGFuZCAoYikgdGhleSBjYW4gYmUg
aW5jb3JyZWN0LA0KPiBzbyBqdXN0IGRlbGV0ZSB0aGlzIGluY29ycmVjdCBmaWxlIG5hbWUu
DQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBSYW5keSBEdW5sYXAgPHJkdW5sYXBAaW5mcmFkZWFk
Lm9yZz4NCj4gQ2M6IEJvcmlzIE9zdHJvdnNreSA8Ym9yaXMub3N0cm92c2t5QG9yYWNsZS5j
b20+DQo+IENjOiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQo+IENjOiBTdGVm
YW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+DQo+IENjOiB4ZW4tZGV2
ZWxAbGlzdHMueGVucHJvamVjdC5vcmcNCj4gLS0tDQo+ICAgaW5jbHVkZS94ZW4veGVuYnVz
X2Rldi5oIHwgICAgMSAtDQo+ICAgMSBmaWxlIGNoYW5nZWQsIDEgZGVsZXRpb24oLSkNCj4g
DQo+IC0tLSBsaW51eC1uZXh0LTIwMjIwMTI4Lm9yaWcvaW5jbHVkZS94ZW4veGVuYnVzX2Rl
di5oDQo+ICsrKyBsaW51eC1uZXh0LTIwMjIwMTI4L2luY2x1ZGUveGVuL3hlbmJ1c19kZXYu
aA0KPiBAQCAtMSw1ICsxLDQgQEANCj4gICAvKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+
IC0gKiBldnRjaG4uaA0KDQpJIHRoaW5rIHRoZSBmb2xsb3dpbmcgbGluZSBzaG91bGQgYmUg
ZGVsZXRlZCwgdG9vIChjYW4gYmUgZG9uZSB3aGlsZQ0KY29tbWl0dGluZykuDQoNCj4gICAg
Kg0KPiAgICAqIEludGVyZmFjZSB0byAvZGV2L3hlbi94ZW5idXNfYmFja2VuZC4NCj4gICAg
Kg0KPiANCg0KUmV2aWV3ZWQtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4N
Cg0KDQpKdWVyZ2VuDQo=
--------------0pGJlWf8OoS0YGV8acvZnCdW
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------0pGJlWf8OoS0YGV8acvZnCdW--

--------------bOJgV0CgzP6fBtAZ5PlmC8o0--

--------------GXljl0PX4ua0YUxLb2L0MCb0
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmH3hasFAwAAAAAACgkQsN6d1ii/Ey9x
0AgAlru9wYN/9wKxunqaK+jOmSMSuNZhTuRjpem9BAQRtsoLMqMOekIJ4t5D/81TXBnHg5p0QYoS
4z/w7uQcNbJ+qmeOfYGLNU2vYie3sNZ+peIH22yxoUILhFx8fbF1lgmlTMevQR8ISuG3Zj+1xWrR
PwWHeXCmy9Dmt3c2Qzf5bkxA16hUOnysogoPkipfgmS+8UvB4ZYoBv9QCbIIU8Qg9i5/GlNRn3Id
09Xo7Cya3NMBQyKi6zBV4ioqbwroiXz1A7UhRN3Xxa+CagqWA9baJWGFJPoxbvq46BoMKrJNCS30
xrWRZANqdTPvg/AQpVyjnq5curo8przhcrUV/PrX7w==
=iwec
-----END PGP SIGNATURE-----

--------------GXljl0PX4ua0YUxLb2L0MCb0--


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 06:55:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 06:55:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262739.455098 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEQbE-00051x-GJ; Mon, 31 Jan 2022 06:55:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262739.455098; Mon, 31 Jan 2022 06:55:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEQbE-00051q-Cm; Mon, 31 Jan 2022 06:55:40 +0000
Received: by outflank-mailman (input) for mailman id 262739;
 Mon, 31 Jan 2022 06:55:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=FCUt=SP=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1nEQbC-00051g-Le
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 06:55:38 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ca974fcc-8262-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 07:55:37 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id C591321106;
 Mon, 31 Jan 2022 06:55:35 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 8A60B13A89;
 Mon, 31 Jan 2022 06:55:35 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id fJbFH+eH92G3OgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 31 Jan 2022 06:55: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: ca974fcc-8262-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1643612135; 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=pFT3Hsh41/MkYuoQcFNE+EdwhVpNW/hkpzCZ5Hi6cw0=;
	b=AVY6mMbJwvpM6GVEyOLIg39Socf1CxIaPSt2OG7TN3crwAqaRy0KY2/R99oiMh0yMijMjO
	fleTKtfebLQBs5Y1HKfvKB2hyC+6bY7WUtoRQCaXT1mEmeGyeGEI/+1MRJRnv63EUEH+xn
	NAog8BS5mSIuxoERF1ZCSek4/IhQSe4=
Message-ID: <3d62ec12-2324-7e73-3056-c5bc99b957a1@suse.com>
Date: Mon, 31 Jan 2022 07:55:34 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.4.1
Content-Language: en-US
To: Randy Dunlap <rdunlap@infradead.org>, patches@lists.linux.dev
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20220130192305.14523-1-rdunlap@infradead.org>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH] xen: update missing ioctl magic numers documentation
In-Reply-To: <20220130192305.14523-1-rdunlap@infradead.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------g8743Sae7tkk4pE605o1Lsct"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------g8743Sae7tkk4pE605o1Lsct
Content-Type: multipart/mixed; boundary="------------pCekiswIMRoEKRejfVehkXLD";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Randy Dunlap <rdunlap@infradead.org>, patches@lists.linux.dev
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Message-ID: <3d62ec12-2324-7e73-3056-c5bc99b957a1@suse.com>
Subject: Re: [PATCH] xen: update missing ioctl magic numers documentation
References: <20220130192305.14523-1-rdunlap@infradead.org>
In-Reply-To: <20220130192305.14523-1-rdunlap@infradead.org>

--------------pCekiswIMRoEKRejfVehkXLD
Content-Type: multipart/mixed; boundary="------------CnnIMBXRvI0jJ3YalqvaP09U"

--------------CnnIMBXRvI0jJ3YalqvaP09U
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMzAuMDEuMjIgMjA6MjMsIFJhbmR5IER1bmxhcCB3cm90ZToNCj4gQWRkIG1pc3Npbmcg
aW9jdGwgIm1hZ2ljIG51bWJlcnMiIGZvciB2YXJpb3VzIFhlbiBpbnRlcmZhY2VzDQo+ICh4
ZW5idXNfZGV2LmgsIGdudGFsbG9jLmgsIGdudGRldi5oLCBhbmQgcHJpdmNtZC5oKS4NCj4g
DQo+IFNpZ25lZC1vZmYtYnk6IFJhbmR5IER1bmxhcCA8cmR1bmxhcEBpbmZyYWRlYWQub3Jn
Pg0KPiBDYzogQm9yaXMgT3N0cm92c2t5IDxib3Jpcy5vc3Ryb3Zza3lAb3JhY2xlLmNvbT4N
Cj4gQ2M6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCj4gQ2M6IFN0ZWZhbm8g
U3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4NCj4gQ2M6IHhlbi1kZXZlbEBs
aXN0cy54ZW5wcm9qZWN0Lm9yZw0KPiAtLS0NCj4gICBEb2N1bWVudGF0aW9uL3VzZXJzcGFj
ZS1hcGkvaW9jdGwvaW9jdGwtbnVtYmVyLnJzdCB8ICAgIDMgKysrDQo+ICAgMSBmaWxlIGNo
YW5nZWQsIDMgaW5zZXJ0aW9ucygrKQ0KPiANCj4gLS0tIGxpbnV4LW5leHQtMjAyMjAxMjgu
b3JpZy9Eb2N1bWVudGF0aW9uL3VzZXJzcGFjZS1hcGkvaW9jdGwvaW9jdGwtbnVtYmVyLnJz
dA0KPiArKysgbGludXgtbmV4dC0yMDIyMDEyOC9Eb2N1bWVudGF0aW9uL3VzZXJzcGFjZS1h
cGkvaW9jdGwvaW9jdGwtbnVtYmVyLnJzdA0KPiBAQCAtMTE1LDYgKzExNSw3IEBAIENvZGUg
IFNlcSMgICAgSW5jbHVkZSBGaWxlDQo+ICAgJ0InICAgMDAtMUYgIGxpbnV4L2NjaXNzX2lv
Y3RsLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmxpY3QhDQo+
ICAgJ0InICAgMDAtMEYgIGluY2x1ZGUvbGludXgvcG11LmggICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uZmxpY3QhDQo+ICAgJ0InICAgQzAtRkYgIGFkdmFuY2Vk
IGJidXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1haWx0
bzptYWFzc2VuQHVuaS1mcmVpYnVyZy5kZT4NCj4gKydCJyAgIDAwLTBGICB4ZW4veGVuYnVz
X2Rldi5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZsaWN0
IQ0KDQpIbW0sIHNob3VsZG4ndCB4ZW5idXNfZGV2LmggYmUgbW92ZWQgdG8gaW5jbHVkZS91
YXBpL3hlbiA/DQoNCj4gICAnQycgICBhbGwgICAgbGludXgvc291bmRjYXJkLmggICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25mbGljdCENCj4gICAnQycgICAw
MS0yRiAgbGludXgvY2FwaS5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25mbGljdCENCj4gICAnQycgICBGMC1GRiAgZHJpdmVycy9uZXQvd2FuL2Nv
c2EuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25mbGljdCENCj4gQEAg
LTEzNCw2ICsxMzUsNyBAQCBDb2RlICBTZXEjICAgIEluY2x1ZGUgRmlsZQ0KPiAgICdGJyAg
IDgwLThGICBsaW51eC9hcmNmYi5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbmZsaWN0IQ0KPiAgICdGJyAgIEREICAgICB2aWRlby9zc3RmYi5oICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZsaWN0IQ0KPiAg
ICdHJyAgIDAwLTNGICBkcml2ZXJzL21pc2Mvc2dpLWdydS9ncnVsaWIuaCAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbmZsaWN0IQ0KPiArJ0UnICAgMDAtMEYgIHhlbi9nbnRhbGxv
Yy5oLCB4ZW4vZ250ZGV2LmggICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmxpY3Qh
DQoNClNob3VsZCBiZSAnRycgSU1PLg0KDQo+ICAgJ0gnICAgMDAtN0YgIGxpbnV4L2hpZGRl
di5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmxpY3Qh
DQo+ICAgJ0gnICAgMDAtMEYgIGxpbnV4L2hpZHJhdy5oICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uZmxpY3QhDQo+ICAgJ0gnICAgMDEgICAgIGxpbnV4
L21laS5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
ZmxpY3QhDQo+IEBAIC0xNzYsNiArMTc4LDcgQEAgQ29kZSAgU2VxIyAgICBJbmNsdWRlIEZp
bGUNCj4gICAnUCcgICA2MC02RiAgc291bmQvc3NjYXBlX2lvY3RsLmggICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25mbGljdCENCj4gICAnUCcgICAwMC0wRiAgZHJp
dmVycy91c2IvY2xhc3MvdXNibHAuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25mbGljdCENCj4gICAnUCcgICAwMS0wOSAgZHJpdmVycy9taXNjL3BjaV9lbmRwb2ludF90
ZXN0LmMgICAgICAgICAgICAgICAgICAgICAgICBjb25mbGljdCENCj4gKydQJyAgIDAwLTBG
ICB4ZW4vcHJpdmNtZC5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbmZsaWN0IQ0KPiAgICdRJyAgIGFsbCAgICBsaW51eC9zb3VuZGNhcmQuaA0KPiAg
ICdSJyAgIDAwLTFGICBsaW51eC9yYW5kb20uaCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbmZsaWN0IQ0KPiAgICdSJyAgIDAxICAgICBsaW51eC9yZmtp
bGwuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZsaWN0
IQ0KPiANCg0KDQpKdWVyZ2VuDQo=
--------------CnnIMBXRvI0jJ3YalqvaP09U
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------CnnIMBXRvI0jJ3YalqvaP09U--

--------------pCekiswIMRoEKRejfVehkXLD--

--------------g8743Sae7tkk4pE605o1Lsct
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmH3h+YFAwAAAAAACgkQsN6d1ii/Ey82
4Qf8DgZtGF97JAINa3w+08acVkoOpIpEmTRSS+xbNnlDrZPwVZcp0TACyBDPPt0wHICRBomZnb9h
qhZhorC2/78Hte0k6HI2m/0lkjw7yOL2igH1etpKJ1hXd4INjoKLYkjtBFazfeuu0jhOeeXJ5JRj
hH0oM25gIn+0570MhaLNU1LdyaXuj7KaGDvNlOpsp+cR2WyUqGMe4ePgXYoNgHL6fu6pfZfy8IGu
B70M+P5y0XjRJ3dMU7gxEDx7gHEtTdGegR3FRaBs2QcgcZ7iIK6ZKjLHBbF8vyI7pXMa8aZWpNxj
3SJeQXk36I0hw5H/VVZZd2xvV92JEygrteRN21aPFg==
=y4mY
-----END PGP SIGNATURE-----

--------------g8743Sae7tkk4pE605o1Lsct--


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 07:31:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 07:31:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262749.455109 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nERAB-0000oq-H0; Mon, 31 Jan 2022 07:31:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262749.455109; Mon, 31 Jan 2022 07:31:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nERAB-0000oj-D6; Mon, 31 Jan 2022 07:31:47 +0000
Received: by outflank-mailman (input) for mailman id 262749;
 Mon, 31 Jan 2022 07:31:46 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nERAA-0000oZ-IH; Mon, 31 Jan 2022 07:31:46 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nERAA-00045n-Fe; Mon, 31 Jan 2022 07:31:46 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nERAA-0005Bz-1R; Mon, 31 Jan 2022 07:31:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nERAA-0006dN-0z; Mon, 31 Jan 2022 07:31:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=CAIRRPhdNlK2uLwSMTCfl5oHgeCkwMlT50ZxRKTew44=; b=JHvEgox9oUwR9dO6zIlAnCRLDD
	1XB9gWckgF80PIdL59kwxucbE/R9ZsjvNpBibCg7sbHlSxwhzG3EvFqYCmhhheBeJemefJhz7IIK4
	sD7CBE8nzznEHU7MojeNR12cwuC7fZrK9ptLPdf8H5ARNGCS8LaZ5zXJ+pRxCbJzwPys=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167962-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 167962: 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-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=18813edbf28b42ad9d068e0584c4408019c09bff
X-Osstest-Versions-That:
    libvirt=2c846fa6bcc11929c9fb857a22430fb9945654ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 31 Jan 2022 07:31:46 +0000

flight 167962 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167962/

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-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a

version targeted for testing:
 libvirt              18813edbf28b42ad9d068e0584c4408019c09bff
baseline version:
 libvirt              2c846fa6bcc11929c9fb857a22430fb9945654ad

Last test of basis   151777  2020-07-10 04:19:19 Z  570 days
Failing since        151818  2020-07-11 04:18:52 Z  569 days  551 attempts
Testing same since   167942  2022-01-29 04:18:56 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>
  Ani Sinha <ani@anisinha.ca>
  Balázs Meskó <meskobalazs@mailbox.org>
  Barrett Schonefeld <bschoney@utexas.edu>
  Bastian Germann <bastiangermann@fishpost.de>
  Bastien Orivel <bastien.orivel@diateam.net>
  BiaoXiang Ye <yebiaoxiang@huawei.com>
  Bihong Yu <yubihong@huawei.com>
  Binfeng Wu <wubinfeng@huawei.com>
  Bjoern Walk <bwalk@linux.ibm.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brad Laue <brad@brad-x.com>
  Brian Turek <brian.turek@gmail.com>
  Bruno Haible <bruno@clisp.org>
  Chris Mayo <aklhfex@gmail.com>
  Christian Borntraeger <borntraeger@de.ibm.com>
  Christian Ehrhardt <christian.ehrhardt@canonical.com>
  Christian Kirbach <christian.kirbach@gmail.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christophe Fergeau <cfergeau@redhat.com>
  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>
  dinglimin <dinglimin@cmss.chinamobile.com>
  Divya Garg <divya.garg@nutanix.com>
  Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
  Dmytro Linkin <dlinkin@nvidia.com>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  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>
  Franck Ridel <fridel@protonmail.com>
  Gavi Teitz <gavi@nvidia.com>
  gongwei <gongwei@smartx.com>
  Guoyi Tu<tu.guoyi@h3c.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Halil Pasic <pasic@linux.ibm.com>
  Han Han <hhan@redhat.com>
  Hao Wang <wanghao232@huawei.com>
  Hela Basa <r45xveza@pm.me>
  Helmut Grohne <helmut@subdivi.de>
  Hiroki Narukawa <hnarukaw@yahoo-corp.jp>
  Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
  Ian Wienand <iwienand@redhat.com>
  Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
  Ivan Teterevkov <ivan.teterevkov@nutanix.com>
  Jakob Meng <jakobmeng@web.de>
  Jamie Strandboge <jamie@canonical.com>
  Jamie Strandboge <jamie@ubuntu.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  jason lee <ppark5237@gmail.com>
  Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
  Jia Zhou <zhou.jia2@zte.com.cn>
  Jianan Gao <jgao@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jin Yan <jinyan12@huawei.com>
  Jinsheng Zhang <zhangjl02@inspur.com>
  Jiri Denemark <jdenemar@redhat.com>
  Joachim Falk <joachim.falk@gmx.de>
  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>
  Koichi Murase <myoga.murase@gmail.com>
  Kristina Hanicova <khanicov@redhat.com>
  Laine Stump <laine@redhat.com>
  Laszlo Ersek <lersek@redhat.com>
  Lee Yarwood <lyarwood@redhat.com>
  Lei Yang <yanglei209@huawei.com>
  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 Chevsky <nchevsky@gmail.com>
  Nick Shyrokovskiy <nshyrokovskiy@gmail.com>
  Nickys Music Group <nickys.music.group@gmail.com>
  Nico Pache <npache@redhat.com>
  Nicolas Lécureuil <neoclust@mageia.org>
  Nicolas Lécureuil <nicolas.lecureuil@siveo.net>
  Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
  Olaf Hering <olaf@aepfle.de>
  Olesya Gerasimenko <gammaray@basealt.ru>
  Or Ozeri <oro@il.ibm.com>
  Orion Poplawski <orion@nwra.com>
  Pany <geekpany@gmail.com>
  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>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Richard W.M. Jones <rjones@redhat.com>
  Ricky Tigg <ricky.tigg@gmail.com>
  Robin Lee <cheeselee@fedoraproject.org>
  Rohit Kumar <rohit.kumar3@nutanix.com>
  Roman Bogorodskiy <bogorodskiy@gmail.com>
  Roman Bolshakov <r.bolshakov@yadro.com>
  Ryan Gahagan <rgahagan@cs.utexas.edu>
  Ryan Schmidt <git@ryandesign.com>
  Sam Hartman <hartmans@debian.org>
  Scott 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>
  shenjiatong <yshxxsjt715@gmail.com>
  Shi Lei <shi_lei@massclouds.com>
  simmon <simmon@nplob.com>
  Simon Chopin <chopin.simon@gmail.com>
  Simon Gaiser <simon@invisiblethingslab.com>
  Simon Rowe <simon.rowe@nutanix.com>
  Stefan Bader <stefan.bader@canonical.com>
  Stefan Berger <stefanb@linux.ibm.com>
  Stefan Berger <stefanb@linux.vnet.ibm.com>
  Stefan Hajnoczi <stefanha@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Szymon Scholz <szymonscholz@gmail.com>
  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>
  Vasiliy Ulyanov <vulyanov@suse.de>
  Victor Toso <victortoso@redhat.com>
  Ville Skyttä <ville.skytta@iki.fi>
  Vinayak Kale <vkale@nvidia.com>
  Vineeth Pillai <viremana@linux.microsoft.com>
  Wang Xin <wangxinxin.wang@huawei.com>
  WangJian <wangjian161@huawei.com>
  Weblate <noreply@weblate.org>
  Wei Liu <liuwe@microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  Wei-Chen Chen <weicche@microsoft.com>
  William Douglas <william.douglas@intel.com>
  Xu Chao <xu.chao6@zte.com.cn>
  Yalei Li <274268859@qq.com>
  Yalei Li <liyl43@chinatelecom.cn>
  Yang Fei <yangfei85@huawei.com>
  Yang Hang <yanghang44@huawei.com>
  Yanqiu Zhang <yanqzhan@redhat.com>
  Yaroslav Kargin <ykargin@virtuozzo.com>
  Yasuhiko Kamata <belphegor@belbel.or.jp>
  Yi Li <yili@winhong.com>
  Yi Wang <wang.yi59@zte.com.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
  zhangjl02 <zhangjl02@inspur.com>
  zhanglei <zhanglei@smartx.com>
  Zheng Chuan <zhengchuan@huawei.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhenyu Ye <yezhenyu2@huawei.com>
  Zhenyu Zheng <zheng.zhenyu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Дамјан Георгиевски <gdamjan@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          fail    
 build-arm64-libvirt                                          fail    
 build-armhf-libvirt                                          fail    
 build-i386-libvirt                                           fail    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 95263 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 07:41:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 07:41:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262762.455119 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nERJl-0002Nn-Fk; Mon, 31 Jan 2022 07:41:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262762.455119; Mon, 31 Jan 2022 07: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 1nERJl-0002Ng-Cn; Mon, 31 Jan 2022 07:41:41 +0000
Received: by outflank-mailman (input) for mailman id 262762;
 Mon, 31 Jan 2022 07:41:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9o41=SP=epam.com=prvs=4030d24c28=oleksandr_andrushchenko@srs-se1.protection.inumbo.net>)
 id 1nERJj-0002NW-Bw
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 07:41:39 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 37be4695-8269-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 08:41:37 +0100 (CET)
Received: from pps.filterd (m0174678.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20V6MQ7J029645;
 Mon, 31 Jan 2022 07:41:28 GMT
Received: from eur05-am6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2104.outbound.protection.outlook.com [104.47.18.104])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3dwv7tuej5-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 31 Jan 2022 07:41:27 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com (2603:10a6:20b:153::17)
 by PA4PR03MB6782.eurprd03.prod.outlook.com (2603:10a6:102:e3::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.21; Mon, 31 Jan
 2022 07:41:23 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6]) by AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6%3]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 07:41:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 37be4695-8269-11ec-8f75-fffcc8bd4f1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LWyO+f81NAP83MK3p2r5HOiYg1lchKSTirM/epj4qH6uD56ZxXOOHVGzhRi6R7XRCO6caM1/ylpcN1dCe4vFVGT247tVYM7nQC2Ca6XFuNrUaJAxzj6LJnbFW5ZdnMdco0qWeGUA0AyoRSX/xzcyIAzpiAUdjzgGjMN8b95GATEncF/in20mOFMBkkSZhC0eezoaWL51HOuP7c9cWr2X3X3Zvtz8KZ9XQlz/kbw7tSLRwtci0Gi0gHw8iitJupMoYG6CYP+quWPo/NK+VAtTpopLKC62q4Go5cqSFQWyBOvP/Zj5GpW5bzky2JDjisJT/Xo8YkV0Wo69qSS/ByKZTA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KiuWFYK5QE6qJRwZY0N7jLLlp94MU1I9d7owCW9pn2k=;
 b=kxVeK34v00PDKaxY8sZu4QdoHjxAgbH4PAwjowfM43GjDFS+zpxeuZzGygPq04EYmAKlt9qfGK1GIO8PktYc7q07Wvo7+KBbJZkcZZ3aT7qQGyZaGhTVCe2AIwNxwU0zej6FFjBMnsL/vq+zn4Ung7lXolWo3Qdb65CjLCMUjgWxcbjmVFUdz3im5Rp4DN1P2hOC/+aLq54Y0B4D0zILcOfEKLVEb7yfhAmhuLjvFA4d1P8kIdY0Y0NX/d+rfpH/dc/sRCvRNkRT+hbuFzvrEEGxRQFOaA8Lg/qoUabW8o6/Z0fLLwNwtrZG9AOVMc8QwMQ63nVBcK0GG+pjW4gK4g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KiuWFYK5QE6qJRwZY0N7jLLlp94MU1I9d7owCW9pn2k=;
 b=o0EeNFjJ8BnMZXTRoAWU5e2MkKWnYy2tc2j7L1YAVYI/db8367l/wCnm5KhZF6kHBCpzbhDuht4jdQ6JOXqNhsejrBLehrpf/fJvpb+HNOqFFzMmK6vL1JGyG1u7PypgJ4S/YtTBINRG8+cuCo9ZEJ+BIKRAdjYunkIwOc5NynJ9xS4mFPDH8tnE6yQkPh7X0WfopM/ZOrSZjXCF+paxKZTheGjrnnJHCe3ICWV7tR+RYAAjb8uKhzxWtC5XDa+AsY+sOaQZas8VkuJkpWrW6NFhEtvWMKMbOMPF73FhNEyWKur8F1E9lJEvkSdpb5XTOQPd5PZLYipAabc9m6Uo3Q==
From: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
To: =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>,
        Jan Beulich
	<jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        "julien@xen.org" <julien@xen.org>,
        "sstabellini@kernel.org"
	<sstabellini@kernel.org>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Artem Mygaiev <Artem_Mygaiev@epam.com>,
        "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
        "george.dunlap@citrix.com" <george.dunlap@citrix.com>,
        "paul@xen.org"
	<paul@xen.org>,
        Bertrand Marquis <bertrand.marquis@arm.com>,
        Rahul Singh
	<rahul.singh@arm.com>,
        Ian Jackson <ian.jackson@eu.citrix.com>
Subject: Re: [PATCH v5 03/14] vpci: move lock outside of struct vpci
Thread-Topic: [PATCH v5 03/14] vpci: move lock outside of struct vpci
Thread-Index: AQHX4ewHDku9OOCAtECwEMPLB4JkU6xeOMoAgAGIjICAFZt4gIAAKsoAgAegcgA=
Date: Mon, 31 Jan 2022 07:41:23 +0000
Message-ID: <7f6085ae-c929-5bb7-378c-4c98bf00542c@epam.com>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-4-andr2000@gmail.com> <Yd2ffPULbmNpSmaD@Air-de-Roger>
 <d738229b-11ed-db77-f313-5f1618ed95a1@suse.com>
 <5f00c94d-069d-ea5f-aa1b-1861fe8a7cef@epam.com>
 <YfEszsdqeDkWT3ja@Air-de-Roger>
In-Reply-To: <YfEszsdqeDkWT3ja@Air-de-Roger>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 1091dfac-9051-49c1-2694-08d9e48d147b
x-ms-traffictypediagnostic: PA4PR03MB6782:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <PA4PR03MB6782B130BDF8B5BD837E55C7E7259@PA4PR03MB6782.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: 
 GAik9aHt+v+bOtYXld2P1SK2HC51NroZ0KC2bmBjIboN3iiln3ccRquYr6nhO7gyPY1I+ENi1rjj8Dak6mtZwXPTdltKtGMhwhW65p9zjjKeFlqEZ1ikvR8eIFxGaaM+gpFyOMlhYxhRVMIjKtL6REeYevIMsFKQLN/tXi/uhkgSk0JoPkwiUAtYsHaIsmb3D8acHnyHhY209tEu2XJLdmmEtADlLzNWf7RS3Qg3b30vfKTvfJmPCVTDNSnkLCV2aQa+MsytTK1d0RKur+hqebBAC29rZvyLi1TnlHjvRy82X9K/PXM5KsxEmBECxrOT9dgZsXDEvBya1w5EtSIpFmUuKCvAtQ2RFJsMon+1bDAVzEGHvel9GgKjYc0992yodPNKXZIRxdgt6H7515t18TEFq9wlbMXMbig0jompPvRyOhNsHTEnMWg4E5f2AeIFgovmhrgSVuJVEHV+zFhJpxkxDl4Y8D+Kpe9gm4nTUomTCPd48CrL4RCMRRHzWnkRr4z3DnEQVXPtmd8+aty86owy7S3ny+tpK95pEBcRsP+Mrdb3gy20Fw3lPwoGtufmq3ZKZVmq5o14+QrbUMB/++6fF8dM+UBYkQLwdxLtInKJIo1Cqprqks7qHUmq3jCIqWdp3qfubpsTJJZbFTp6FYN/gMkyUBHzf5ySiyy+1un6mVwIWHu2MWPgvWBvgFfYz7tP/c0lNDQOcLPqVi4p0hWlyUkPcGKMoQJrlGpjt0EjzWQqSzg5MJmFR+vqd/Ax
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:(13230001)(4636009)(366004)(38070700005)(64756008)(8936002)(8676002)(66946007)(66556008)(66476007)(66446008)(76116006)(4326008)(36756003)(53546011)(122000001)(38100700002)(91956017)(71200400001)(31686004)(6506007)(6486002)(316002)(5660300002)(7416002)(508600001)(110136005)(6512007)(54906003)(83380400001)(2906002)(186003)(26005)(31696002)(2616005)(86362001)(45980500001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?U0J4dWtRMVpsRzBNZGRNN1YvQ0J3OGhmYkRPVzloUThWSStlaFBiU2VWTmh0?=
 =?utf-8?B?aytMLzJTaHNxRzdJVmZRSjJDSkJFSkY0TFVDcmgrbWJFbnVxaENwWDNObmxq?=
 =?utf-8?B?YlRVajJFZ0xNTGlVczljQUFLTG1zY1FOTTlwL0J0bldUY3duakZDREFTamZz?=
 =?utf-8?B?cVIyME9sZG5rWEdvSjJSTGhIa3hQWjgrc2FkR0ZRTDRHMGcrQktTMnNFdzBp?=
 =?utf-8?B?ZkVVTG5CbThScXhrVzRXMG95U09pVzUzV3l6ZVl5bm5hd3hpK2pFNkUvc2RT?=
 =?utf-8?B?eUtBWVhaU1ZUTE01ODVkYWRRQTdMZ0l1NG96ME1ndjJ5dkY2djd0YTByWnVv?=
 =?utf-8?B?amJBUmtiSDVWT082QkV3cVVpMUtrdDMyY2p3TG1TSGNnbkh2ZWZweWloenFP?=
 =?utf-8?B?VUpoOFdTR1hmcXlnWDJwaXpxWkMwWlhsQU1XYWxKcVdEc2JGMU0rQ3hGbnI3?=
 =?utf-8?B?TmdyQXZJNjdLS1pNVXNlcG1EQ1B5VUxEWHhTZDBLUWR5ckFvZ0c0OXdOUXVV?=
 =?utf-8?B?azN4ZzFtcC92cmViK3ZYallhNjM5cDR0MnhJREhCYnY5TzlSVjUvM29MbjRq?=
 =?utf-8?B?a3RkSmw2SlpRMFBGQjVMckdXeURnL3RCQ2NwQzAzR2RCWWVxSHBGRTcwQnRr?=
 =?utf-8?B?eXRwK2JabXBLVHJOM2Y1YWxYVUpuaVd3MUZDTzNoQ2ZOdzlyZGhrM1NNMGo2?=
 =?utf-8?B?N0dnbnA0VjU2ZUdxaTlOTVhSSm96TjA0SEpVSnh3THJNNmszUmJWYjVsTXdV?=
 =?utf-8?B?MjJYMFBPWDVqY1VaSXkvTEdtYTZNSlJKOVZlZUl2dlp6YUJ6UXRZSmRYQzA1?=
 =?utf-8?B?ZUNwaFlPSm1QR20rOVFIajlxQTJaMFU5NER3TVVicWFrZnZZRWlSQUJIMm5K?=
 =?utf-8?B?aS8zaGZzek41V0VvcjZkaFFoT2pHWERQZkJpam45R1BENzZxV0RjSEJ5N2RG?=
 =?utf-8?B?ektnb0V3eUlYcExVUU5DeCtsQ0N6N2s1MkVVakp1N2lDanFCSTJNcUovUlBX?=
 =?utf-8?B?UVltaDNvanRna3JDZGI0Z3k3M3dIV1c2bUtnbW4wTkszekdzc3lYRDA0TlZ3?=
 =?utf-8?B?M0UxbExOcnZtU0VDNGdrREU2VXljRDJ3WmVXN2xQNFYrVFhGamFUVHVtVngz?=
 =?utf-8?B?WGk0SEpiQmdjMFBhM1MyRWFIYXowUDNYWEZHb0h2L3BDN2dqYTdKSE9SQ1g0?=
 =?utf-8?B?YWNwWkRaOU81VGZIanUvUGprS3JQVE9rc3NHQmZ3Qy9uak5pZjRyN0ErTDJv?=
 =?utf-8?B?U2NYalRQTENLd1pWN210ckpub1VwT2E1Rk5ETHRaMXhONWtIUWxabjcxY1o3?=
 =?utf-8?B?VVVTNDdrUlFwNFRSNmFtYkFLY0Z2MHFzeTZPcEJ2bmREeXJJbWZjbkk0TGYy?=
 =?utf-8?B?NXhIbXNXMU44MnZtTE8xUGdlaTlMeUlXN1hSVVJUQWt0T0Z4ZEtFdUFNZEgy?=
 =?utf-8?B?L2JCaUJjdGl5dnh5NkN3elRuUEcwTFZaQkVuYUc5aVRTeVlhNEJFMEVFb2sz?=
 =?utf-8?B?cEE4Q1VmMWU4Unp2NklZaWVQTmNVSC9YNlFEb0pjUCtRbHZuWmswWmcyVE5I?=
 =?utf-8?B?Z1c5d0w3eU0yNFd6bHVCODFmYWV4YXRtalYxSWlXQmF6MFVaZXhKWDJnSEJN?=
 =?utf-8?B?bUROeG9UaTJUSktrcmFBcWo4Ync1KzRPMSt1aWFrRDNINFc2ZUlNNzcwRkRI?=
 =?utf-8?B?Snl2cVp5UHpUZ1JUUk5kQTB3cnp0S012TkcxU0RadDNqMzcxUlA3Z0dmV2tV?=
 =?utf-8?B?bklVd0N4RDFxWFRxUEFLTjJRWnIyYUFHUEZVaGZaMktVeVpTSGFVOVZ3bVFm?=
 =?utf-8?B?VWdSVjByaVZoWVNXaEx1SVp4ZEpmcWZVWFZLbGlsZVB0cFd0UFJLb1JCb0x0?=
 =?utf-8?B?ODlHV1phYmFhb3lHNWlLT1VJTmtzS3lIL2dqUER3TXhlUHZ1OStoVUNFYVQz?=
 =?utf-8?B?QkZWK0ZSdVBjNUl4YnAzbk9vYmFjanBsS0dEY3pvSk1ESlhidEo2QUEyY1FP?=
 =?utf-8?B?RFhob1JBQ01Ud0psL2FOYy9jdHAyak9WWm5oSTY2bTZjaFp5dzVHbC9lbWhZ?=
 =?utf-8?B?SURPSWdrd3MveW03VjM5MTIyZkQ1RnFyWnhya1ZYaThOK3ZYcXJPS0N2NnpF?=
 =?utf-8?B?ekV0TDlUOEdLamJyRmZvWmVKYXNoODZGb1ZyVUtvdGFJaUFMVXpuMkRLVmd0?=
 =?utf-8?B?dG51UUZ2QUluVWlxM290TzdnZGx3NVR6Q29PNFhNTTZkOGhSMERSS3lIM1B6?=
 =?utf-8?B?ZzBiTkZEMEFxTEhBbmVwVEhxWEVEVVdheFNFc1dLTEozRGpZSHE1VjlhN1pi?=
 =?utf-8?B?S0h2YWl2TXZGWENHYi9qWFBmcHBDbys4dy95NU1TdUJCNU0yK1lpZz09?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <7BD90A66C817B345A3DFF08F62BB0287@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: 1091dfac-9051-49c1-2694-08d9e48d147b
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2022 07:41:23.3522
 (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: /alsrOCzzmMTBnFpBm8o17NhGX7rDbLm/yC9blCYLQhq3IhtmDk33u+Z6DVWwNMPStkD6ku7KczVhJmhjP4ZuCuLus5JNxbcaf941s1uEdZOfnFmQXxAaR45RV3+sDif
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR03MB6782
X-Proofpoint-ORIG-GUID: 1VEWCCEI0or2Vhh8KS81L3G8UdBoCAUQ
X-Proofpoint-GUID: 1VEWCCEI0or2Vhh8KS81L3G8UdBoCAUQ
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-31_02,2022-01-28_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501
 bulkscore=0 mlxscore=0 clxscore=1015 suspectscore=0 adultscore=0
 mlxlogscore=884 impostorscore=0 lowpriorityscore=0 phishscore=0
 spamscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2201110000 definitions=main-2201310051

SGksIEphbiwgUm9nZXIhDQoNCk9uIDI2LjAxLjIyIDEzOjEzLCBSb2dlciBQYXUgTW9ubsOpIHdy
b3RlOg0KPiBPbiBXZWQsIEphbiAyNiwgMjAyMiBhdCAwODo0MDowOUFNICswMDAwLCBPbGVrc2Fu
ZHIgQW5kcnVzaGNoZW5rbyB3cm90ZToNCj4+IEhlbGxvLCBSb2dlciwgSmFuIQ0KPj4NCj4+IE9u
IDEyLjAxLjIyIDE2OjQyLCBKYW4gQmV1bGljaCB3cm90ZToNCj4+PiBPbiAxMS4wMS4yMDIyIDE2
OjE3LCBSb2dlciBQYXUgTW9ubsOpIHdyb3RlOg0KPj4+PiBPbiBUaHUsIE5vdiAyNSwgMjAyMSBh
dCAwMTowMjo0MFBNICswMjAwLCBPbGVrc2FuZHIgQW5kcnVzaGNoZW5rbyB3cm90ZToNCj4+Pj4+
IGRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy92cGNpL3ZwY2kuYyBiL3hlbi9kcml2ZXJzL3ZwY2kv
dnBjaS5jDQo+Pj4+PiBpbmRleCA2NTc2OTdmZTM0MDYuLmNlYWFjNDUxNmZmOCAxMDA2NDQNCj4+
Pj4+IC0tLSBhL3hlbi9kcml2ZXJzL3ZwY2kvdnBjaS5jDQo+Pj4+PiArKysgYi94ZW4vZHJpdmVy
cy92cGNpL3ZwY2kuYw0KPj4+Pj4gQEAgLTM1LDEyICszNSwxMCBAQCBleHRlcm4gdnBjaV9yZWdp
c3Rlcl9pbml0X3QgKmNvbnN0IF9fc3RhcnRfdnBjaV9hcnJheVtdOw0KPj4+Pj4gICAgZXh0ZXJu
IHZwY2lfcmVnaXN0ZXJfaW5pdF90ICpjb25zdCBfX2VuZF92cGNpX2FycmF5W107DQo+Pj4+PiAg
ICAjZGVmaW5lIE5VTV9WUENJX0lOSVQgKF9fZW5kX3ZwY2lfYXJyYXkgLSBfX3N0YXJ0X3ZwY2lf
YXJyYXkpDQo+Pj4+PiAgICANCj4+Pj4+IC12b2lkIHZwY2lfcmVtb3ZlX2RldmljZShzdHJ1Y3Qg
cGNpX2RldiAqcGRldikNCj4+Pj4+ICtzdGF0aWMgdm9pZCB2cGNpX3JlbW92ZV9kZXZpY2VfaGFu
ZGxlcnNfbG9ja2VkKHN0cnVjdCBwY2lfZGV2ICpwZGV2KQ0KPj4+Pj4gICAgew0KPj4+Pj4gLSAg
ICBpZiAoICFoYXNfdnBjaShwZGV2LT5kb21haW4pICkNCj4+Pj4+IC0gICAgICAgIHJldHVybjsN
Cj4+Pj4+ICsgICAgQVNTRVJUKHNwaW5faXNfbG9ja2VkKCZwZGV2LT52cGNpX2xvY2spKTsNCj4+
Pj4+ICAgIA0KPj4+Pj4gLSAgICBzcGluX2xvY2soJnBkZXYtPnZwY2ktPmxvY2spOw0KPj4+Pj4g
ICAgICAgIHdoaWxlICggIWxpc3RfZW1wdHkoJnBkZXYtPnZwY2ktPmhhbmRsZXJzKSApDQo+Pj4+
PiAgICAgICAgew0KPj4+Pj4gICAgICAgICAgICBzdHJ1Y3QgdnBjaV9yZWdpc3RlciAqciA9IGxp
c3RfZmlyc3RfZW50cnkoJnBkZXYtPnZwY2ktPmhhbmRsZXJzLA0KPj4+Pj4gQEAgLTUwLDE1ICs0
OCwzMyBAQCB2b2lkIHZwY2lfcmVtb3ZlX2RldmljZShzdHJ1Y3QgcGNpX2RldiAqcGRldikNCj4+
Pj4+ICAgICAgICAgICAgbGlzdF9kZWwoJnItPm5vZGUpOw0KPj4+Pj4gICAgICAgICAgICB4ZnJl
ZShyKTsNCj4+Pj4+ICAgICAgICB9DQo+Pj4+PiAtICAgIHNwaW5fdW5sb2NrKCZwZGV2LT52cGNp
LT5sb2NrKTsNCj4+Pj4+ICt9DQo+Pj4+PiArDQo+Pj4+PiArdm9pZCB2cGNpX3JlbW92ZV9kZXZp
Y2VfbG9ja2VkKHN0cnVjdCBwY2lfZGV2ICpwZGV2KQ0KPj4+PiBJIHRoaW5rIHRoaXMgY291bGQg
YmUgc3RhdGljIGluc3RlYWQsIGFzIGl0J3Mgb25seSB1c2VkIGJ5DQo+Pj4+IHZwY2lfcmVtb3Zl
X2RldmljZSBhbmQgdnBjaV9hZGRfaGFuZGxlcnMgd2hpY2ggYXJlIGxvY2FsIHRvIHRoZQ0KPj4+
PiBmaWxlLg0KPj4gVGhpcyBpcyBnb2luZyB0byBiZSB1c2VkIG91dHNpZGUgbGF0ZXIgb24gd2hp
bGUgcHJvY2Vzc2luZyBwZW5kaW5nIG1hcHBpbmdzLA0KPj4gc28gSSB0aGluayBpdCBpcyBub3Qg
d29ydGggaXQgZGVmaW5pbmcgaXQgc3RhdGljIGhlcmUgYW5kIHRoZW4gcmVtb3ZpbmcgdGhlIHN0
YXRpYw0KPj4ga2V5IHdvcmQgbGF0ZXIgb246IHBsZWFzZSBzZWUgW1BBVENIIHY1IDA0LzE0XSB2
cGNpOiBjYW5jZWwgcGVuZGluZyBtYXAvdW5tYXAgb24gdnBjaSByZW1vdmFsIFsxXQ0KPiBJIGhh
dmUgc29tZSBjb21tZW50cyB0aGVyZSBhbHNvLCB3aGljaCBtaWdodCBjaGFuZ2UgdGhlIGFwcHJv
YWNoDQo+IHlvdSBhcmUgdXNpbmcuDQo+DQo+Pj4gRG9lcyB0aGUgc3BsaXR0aW5nIG91dCBvZiB2
cGNpX3JlbW92ZV9kZXZpY2VfaGFuZGxlcnNfbG9ja2VkKCkgYmVsb25nIGluDQo+Pj4gdGhpcyBw
YXRjaCBpbiB0aGUgZmlyc3QgcGxhY2U/IFRoZXJlJ3Mgbm8gc2Vjb25kIGNhbGxlciBiZWluZyBh
ZGRlZCwgc28NCj4+PiB0aGlzIGxvb2tzIHRvIGJlIGFuIG9ydGhvZ29uYWwgYWRqdXN0bWVudC4N
Cj4+IEkgdGhpbmsgb2YgaXQgYXMgYSBwcmVwYXJhdGlvbiBmb3IgdGhlIHVwY29taW5nIGNvZGU6
IGFsdGhvdWdoIHRoZSByZWFzb24gZm9yIHRoZQ0KPj4gY2hhbmdlIG1pZ2h0IG5vdCBiZSBpbW1l
ZGlhdGVseSBzZWVuIGluIHRoaXMgcGF0Y2ggaXQgaXMgc3RpbGwgaW4gbGluZSB3aXRoIHdoYXQN
Cj4+IGhhcHBlbnMgbmV4dC4NCj4gUmlnaHQgLSBpdCdzIGdlbmVyYWxseSBiZXN0IGlmIHRoZSBj
aGFuZ2UgaXMgZG9uZSB0b2dldGhlciBhcyB0aGUgbmV3DQo+IGNhbGxlcnMgYXJlIGFkZGVkLiBP
dGhlcndpc2UgaXQncyBoYXJkIHRvIHVuZGVyc3RhbmQgd2h5IGNlcnRhaW4gY2hhbmdlcw0KPiBh
cmUgbWFkZSwgYW5kIHlvdSB3aWxsIGxpa2VseSBnZXQgYXNrZWQgdGhlIHNhbWUgcXVlc3Rpb24g
b24gbmV4dA0KPiByb3VuZHMuDQo+DQo+IEl0J3MgYWxzbyBwb3NzaWJsZSB0aGF0IHRoZSBjb2Rl
IHRoYXQgcmVxdWlyZXMgdGhpcyBpcyBjaGFuZ2VkIGluDQo+IGZ1cnRoZXIgaXRlcmF0aW9ucyBz
byB0aGVyZSdzIG5vIGxvbmdlciBhIG5lZWQgZm9yIHRoZSBzcGxpdHRpbmcuDQpPaywgc291bmRz
IHJlYXNvbmFibGUNCkkgd2lsbCBub3Qgc3BsaXQgdGhlIGZ1bmN0aW9ucyB3aXRob3V0IHRoZSBv
YnZpb3VzIG5lZWQNCj4NCj4gVGhhbmtzLCBSb2dlci4NClRoYW5rIHlvdSwNCk9sZWtzYW5kcg==


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 07:53:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 07:53:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262769.455131 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nERVH-00041c-QP; Mon, 31 Jan 2022 07:53:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262769.455131; Mon, 31 Jan 2022 07:53:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nERVH-00041V-LQ; Mon, 31 Jan 2022 07:53:35 +0000
Received: by outflank-mailman (input) for mailman id 262769;
 Mon, 31 Jan 2022 07:53:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9o41=SP=epam.com=prvs=4030d24c28=oleksandr_andrushchenko@srs-se1.protection.inumbo.net>)
 id 1nERVG-00041P-En
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 07:53:34 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e1e4279c-826a-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 08:53:32 +0100 (CET)
Received: from pps.filterd (m0174676.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20V7qwlm009432;
 Mon, 31 Jan 2022 07:53:28 GMT
Received: from eur03-db5-obe.outbound.protection.outlook.com
 (mail-db5eur03lp2050.outbound.protection.outlook.com [104.47.10.50])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3dxbec81w7-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 31 Jan 2022 07:53:28 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com (2603:10a6:20b:153::17)
 by AM0PR03MB5043.eurprd03.prod.outlook.com (2603:10a6:208:108::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.21; Mon, 31 Jan
 2022 07:53:23 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6]) by AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6%3]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 07:53: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: e1e4279c-826a-11ec-8eb8-a37418f5ba1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Hdun8nDUzegLA2OUdeY8rls9oCPA8Hqhj8BflERXdHoMeRC7LTxw2H1nsiSo00VuKRqGTPBobmf9Qkm7wXRUxYwdowwSoAMEFeJKlpp7vuaxGE6tpNurc32RDL33C5qiwDBhPxxVtS32d5I0bKaj2ejIyjXtAptZ0N7/Y8umg8qjQEIxGWB0UJm9da5Ve/gmffZV3lOVa5AAcdaa9XDP0m/9HdwCPwWHaIeHwDkXSL1J93Rys1pXrE7st24bv/FyavA06D7E0JmkgIaWFtYyJtrElIi1B1LASfJpSPBlcHCjhdPhC6yR6TTirBdtblqTjmvQSkobkrohRUwKc4Mmog==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BhxVzE8KkGk9M0wFK88e7I+4j/HhaaKAxKNGIiWYAh4=;
 b=a+ISw305vPGnmP0l75Vcgl93qRrTO2YMJSwIwTgbtu1mWJfs04ULRm51PSaLVa1SJeicAfqndCBpL26Lf76hVMcyVBwTok1uZp4TqE5yBgGYrSqFCz3LOPCfKXrLPW4geEO+P4+OywWZsqdKXsleSCabIRSD/VCNMaTAhH96I9Dbr2TItkGPX8wp4FlrqQYbnNJa3mrQXZ5uoS/EUpvIEtm5eCXkvmu6y4ilEBVtxv4MkCrVKvm2HON1HnjzpM9Ju4eitjZs3YdpB4oFAIeSbWqY5yTYgr0jgbIEMRd0foz7WtTwj3qOxeGLAiXOu163269r+DYfBLi1c6XonX/bAw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BhxVzE8KkGk9M0wFK88e7I+4j/HhaaKAxKNGIiWYAh4=;
 b=NB3FlvBNhZQ0LwoJpgZt9LrEuIvfCwyfJYah94cjiTVbFl6mTAR70cl1vNtOyJM3JEPHIxWss+YQnQDY29ccGh0pO0muh9kp/WoKaEYi6X34qXmnEEYtRDHeuwvXFj9NgCAmQoDiXjiT8W9H+14p1PQiyoh95qSr9+S5/0qNxNa+3tyVL5HGWj1L3bCx/dPSd6mXOI5PdjS5Q3rWucEvTJYEsIV8d+j+b18utJgX4ZduaGRS5pJAJ+wkLwHT9bcM/pgwMy+e5OmKmPvDhy4cDeA1rx3H2plR49x9Xs83KqcSoGVO63wFssAgaL4VVV17vV4pCFoe7hxcDBDtcpMuYA==
From: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        "roger.pau@citrix.com" <roger.pau@citrix.com>
CC: "julien@xen.org" <julien@xen.org>,
        "sstabellini@kernel.org"
	<sstabellini@kernel.org>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Artem Mygaiev <Artem_Mygaiev@epam.com>,
        "jbeulich@suse.com" <jbeulich@suse.com>,
        "andrew.cooper3@citrix.com"
	<andrew.cooper3@citrix.com>,
        "george.dunlap@citrix.com"
	<george.dunlap@citrix.com>,
        "paul@xen.org" <paul@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Rahul Singh <rahul.singh@arm.com>,
        Oleksandr
 Andrushchenko <Oleksandr_Andrushchenko@epam.com>
Subject: Re: [PATCH v5 04/14] vpci: cancel pending map/unmap on vpci removal
Thread-Topic: [PATCH v5 04/14] vpci: cancel pending map/unmap on vpci removal
Thread-Index: AQHX4ewFMUIx3Ap2dEiG4Ts6A1fyCax9K2QA
Date: Mon, 31 Jan 2022 07:53:22 +0000
Message-ID: <e745e440-d83b-89a5-3ebb-b37ae1d50713@epam.com>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-5-andr2000@gmail.com>
In-Reply-To: <20211125110251.2877218-5-andr2000@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: a5549ecd-306f-4be8-842c-08d9e48ec15a
x-ms-traffictypediagnostic: AM0PR03MB5043:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <AM0PR03MB5043C74CB854D7B6290C591EE7259@AM0PR03MB5043.eurprd03.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: 
 sGiNJNNcamXDtXiBofMsfDT30zcLeDTato1Dj0tI4gQsy0YePM77aPWtcixAps00khuWevy5Gg55Gtm4EzzUIpFcARqPxK/3L2hqLRZEVml1XQkYBYlTEGpkuHrgdvUdwOmbCTg8ZjU7ZRFajws+KaFUTVKqw2UqgBKmSfC3L4SgkN3XEzAgy9YxKIhw0du2Q3qZjsn6Sdzg+PwiEVLT9nj+VzeaOEFpLIjYSsIAJsOi8/VnUtBBR2Q/AqgJL3lIrk1YDMiRZ8FgHfbbEQfdAq9CD5jB4VkILK3XzVBluH6T+GZXgxb+30s0ftDaw8Z6Udc/bD2NRmVQsvhJS9ItgJ/JqCdE5/jlZxGGxQeSg9fBIlHJNMzCl3pZltc/SUKfoIJjqyWvOZ0l5ZnYUhLPemq9Mp1qeNxXjrmWeuRsEqbPfkZ1FR22o0GWpzRo66Oilw6/AdkaJCCNu+b0ls1H0yjsy9MGw4A656xdpXA+FITb+BxIdU9PpKH7yi+XsHe23HFheyLvJ4sQ8xgI/AgeL03CqLUFLbXqb1qr9k5Fvj2IZpwGYVeaeYFBIEXXkd4L50BbgQPHp649qmq7hM2gMGkWselo9hXxKWrngv2w4tLy9U9m51nFznJeNFTvi4oJE8/uw51acYVdz3OJg3hRkEoFdmTlxwSas+y3cQ9yAO6PEoZGTyJcJC8SoCmKrfUF/PLlL5qXI6+7nI3kdiCDujuqMbRr6ksLwWQEowXgSuBONy2LyL7q3o3WKyIrRUjM
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:(13230001)(4636009)(366004)(26005)(2616005)(107886003)(186003)(86362001)(83380400001)(71200400001)(5660300002)(7416002)(76116006)(36756003)(66446008)(64756008)(66946007)(66476007)(66556008)(31696002)(4326008)(91956017)(38070700005)(122000001)(31686004)(8936002)(8676002)(2906002)(508600001)(6506007)(6512007)(6486002)(53546011)(38100700002)(54906003)(110136005)(316002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?dFFHa3VsLytNOW5mTTE5U0hrV2MrcjRVdVBLUmZRQWMzRmY4WjQzWGNrd0lp?=
 =?utf-8?B?NC9sbEtPVDRNNGJiejlKNFRxWTlLVkRydU8yVWw2cmJiYkdXeG9KQVhmTXhE?=
 =?utf-8?B?Q2FsNmdldm5jcFpMc3lmSmNYTXVLUkRXVFRGdXdycWR6V0d1djd3WFkzWDdV?=
 =?utf-8?B?cGFVam1iNExkT2dEUFluV0JnU3NLOGZrOGRac3dqTkdSVDVYVU1WWFc2a3M0?=
 =?utf-8?B?VGhvVXo3TWlJZCtWbzdSQkFjbHdkK3p0VGZ1NUZvNzdxVGw4YVU0L2d0ZVVn?=
 =?utf-8?B?Z3RIelJldE13SHlkN2M5YUlPZ1VaN2RZSmM0VzNmRWRrRjViM2tYVzkzeU1t?=
 =?utf-8?B?Q3hFak9SNHU2Q0xFZExISGs0YTRkalFLT1hqb1VPMHpKL2pQOXRTazJrUDd5?=
 =?utf-8?B?bXkwdjFhWk50NlpnRlpTME5aLzQyV2xNWTdaOG05SzREMHpOdWZhdzUvcDda?=
 =?utf-8?B?VzRHaW5aNEJFaWR4VTRjdHJpNDBvTng1cUphZ1E2a1NKRzg5NExrS0tlaXRa?=
 =?utf-8?B?Q21DMlBQWVBwWWR3MmdFeGtEZDF3aFgxVVJvN1dkM244UHliekFyc2dqRkE0?=
 =?utf-8?B?TGJHeWpHNm9PYmIvdm8wbStTWWZJcDJhb2RUTWhlU1l5VjhpN0xhMS9YV0N4?=
 =?utf-8?B?YXhPdGRXTjdpbnJySVRTZmJyZ25NUnBEUmFoeWd2MG8xTkdES0drUFNBQ2JW?=
 =?utf-8?B?Unk4d0c0ZEkzZjlYMFNjVVB4bUo1aDRXT1R4Qy9HYU9lUFVtN2lQV0RqSzZT?=
 =?utf-8?B?WVJVK1JnN25Remw4WDl1YWhBMzhQeElFRFg1MUpWWTZIekFQR2NXSGs5MnNY?=
 =?utf-8?B?ejRtZFh5ZWZhNGxBVzE4WlM3REl0Q3dURWFVNXFuL0x2WWRCNm1uZzRSUEla?=
 =?utf-8?B?eitJb3d6dm81ZVloNVU2eEV3VDJwS0l6bW5JOTlOZExSSi9TUGpCK1Y0QS9G?=
 =?utf-8?B?enFhTWIzWXZqQm9CbisraUVxQkFQTXdIc0ZTdS9qSDBFdmk1T3B6S1RMcXFX?=
 =?utf-8?B?ME9YMFBVY0dKaVFoZUxGQzllOHlYMThmemNRQjBYTklOajJQeldjU3laaGpP?=
 =?utf-8?B?a3doUkROeDRKQTAwV1dIakNnWXhERzhzWERwSFBJaVJ4QWFSRFptWFd5NWNo?=
 =?utf-8?B?a0dpNDFqMlBQVERubkFEbG5aOGwyRndqKzZxb0VRZnRRUm9XYVMwaDBNZXpI?=
 =?utf-8?B?KzZIczVZWnNOdG5hYWNFaUNpaHN6S2FBbFljZ3cra3Q0NHB4Z2JmMDRla2FY?=
 =?utf-8?B?MlpRSkV4dVNPUU9NUWtxUlJPbTJ6UGpwT0c0eXE2eW9ucjJlOXQzNlh0QlRQ?=
 =?utf-8?B?Q0pvbGRmM3VHS0tYbVpXL0pIUXRrd3V2eVNQdU02ZDhVTEdpZ0FaVXVpMlp3?=
 =?utf-8?B?MzhreFRLZ05GZjJmdVlscjRSOXJQYlZJcjVvNENhaThDSkNjcmg3czRWYVZU?=
 =?utf-8?B?dEs2eWpuZFJ5U3VSbTBTSzFiMTdBWnlVWG96V0lRYUJOQ3oyMGcyZTNjSVp3?=
 =?utf-8?B?QVprSEJiSHg0NXJ5WDJxb1BLT25wWXQ4QWdLMitNRC9EeDdOcnY0V3o5cjNI?=
 =?utf-8?B?SWhWSzFLUWlpK3dmY1h6Q2N5bjJha1BKMnV5V01kY1BKTG9oMFVtZmgwTVBN?=
 =?utf-8?B?MnNwV1V1ZEJCOHRUZTF6NTIraS9ubW5wZ2RBYWV4L2QzM1prNGZVRFdONEVk?=
 =?utf-8?B?eDQ2YWZwZVlwbHc5TTJ2VEJENG52SXF4NXpCWERJb0Z2YzN5TnRCUHVIK3RY?=
 =?utf-8?B?WU85QnZBSGlmYUY4ck5WQ1J4UWJJenpBb3ZVYjJSQzJkUldZY1haVFMzMDhi?=
 =?utf-8?B?NkEwdVhEN0k4SjJENGxNdXZib2dZMVFOTUhkSHRXVGpOZGVnQTRNVlZtNVRt?=
 =?utf-8?B?L1RVNVp4RnFxc2YwSHlnb0toQWpMNGJnV2NXK3Rtd1NnU1psNTVzeXROVFRL?=
 =?utf-8?B?WTlMYUE3WWkvNkkydUY0SGNrd0NnTXphZzRacjJyNm56S3J6ejVLR3h3Y0c4?=
 =?utf-8?B?OTMxaU5YcGNtSmdiYWFpNUFVV3l3amJKRnVKcVIwbDhiakZDN25iWWs1aDAx?=
 =?utf-8?B?cVpmRi9PSXhFaXdpazliN1hoM3U0dmlpaEZKekY2MUhEaGNGM0RWbnU1VmZk?=
 =?utf-8?B?S0tndEVxVlFLVDZEMURsZ0o3aVFCMVpiSGE3UWVuOHhJOTFFVEdQMGJ6VmYz?=
 =?utf-8?B?Zk1wWi8xbER3RW1aTXRtTkVtMmNsTFZsamhvbWlYNWgwODMvanJ4RXBCVUdn?=
 =?utf-8?B?WEZ5aWVTbVZTcldjZE1kTXhFUnYray8zK3YzNzBOUkhET1BaNGlZeW41Ykdq?=
 =?utf-8?B?OWNKMmtwL01GdUZmK2xCZnZZaWNZZzRYZVJEaHluRUQ1V3Q0NnNLZz09?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <91F5E2E18821964CA5FCFB4FAE18D133@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: a5549ecd-306f-4be8-842c-08d9e48ec15a
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2022 07:53:22.8809
 (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: CCrQp3dgp+wkjIUNcB2uhikxf1Ut32/TQsRc8jXs+eq40MS+cnILyKuwTq2T+y62oBJXFzE00r8tCuGyNhppvDDRGIdeMAb8yCKgLjSp7ydRfolK4HXHeCbQALlW+2AM
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR03MB5043
X-Proofpoint-GUID: S0kO2mxCE72evYgCmhiUzwAXUFLgx1K8
X-Proofpoint-ORIG-GUID: S0kO2mxCE72evYgCmhiUzwAXUFLgx1K8
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-31_02,2022-01-28_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0
 lowpriorityscore=0 spamscore=0 bulkscore=0 malwarescore=0 clxscore=1015
 suspectscore=0 adultscore=0 priorityscore=1501 mlxlogscore=999
 phishscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2201110000 definitions=main-2201310053

SSBhbSBnb2luZyB0byBwb3N0cG9uZSB0aGlzIHBhdGNoIGFzIGl0IGRvZXMgbmVlZCBtYWpvciBy
ZS10aGlua2luZw0Kb24gdGhlIGFwcHJvYWNoIHRvIHRha2UuIFRoaXMgaXMgcG9zc2libGUgYXMg
aXQgZml4ZXMgYSByZWFsbHkgcmFyZQ0KdXNlLWNhc2Ugc2VlbiBkdXJpbmcgZGV2ZWxvcG1lbnQg
cGhhc2UsIHNvIHNob3VsZG4ndCBodXJ0IHRoZSBydW4tdGltZQ0KDQpUaGFuayB5b3UsDQpPbGVr
c2FuZHINCg0KT24gMjUuMTEuMjEgMTM6MDIsIE9sZWtzYW5kciBBbmRydXNoY2hlbmtvIHdyb3Rl
Og0KPiBGcm9tOiBPbGVrc2FuZHIgQW5kcnVzaGNoZW5rbyA8b2xla3NhbmRyX2FuZHJ1c2hjaGVu
a29AZXBhbS5jb20+DQo+DQo+IFdoZW4gYSB2UENJIGlzIHJlbW92ZWQgZm9yIGEgUENJIGRldmlj
ZSBpdCBpcyBwb3NzaWJsZSB0aGF0IHdlIGhhdmUNCj4gc2NoZWR1bGVkIGEgZGVsYXllZCB3b3Jr
IGZvciBtYXAvdW5tYXAgb3BlcmF0aW9ucyBmb3IgdGhhdCBkZXZpY2UuDQo+IEZvciBleGFtcGxl
LCB0aGUgZm9sbG93aW5nIHNjZW5hcmlvIGNhbiBpbGx1c3RyYXRlIHRoZSBwcm9ibGVtOg0KPg0K
PiBwY2lfcGh5c2Rldl9vcA0KPiAgICAgcGNpX2FkZF9kZXZpY2UNCj4gICAgICAgICBpbml0X2Jh
cnMgLT4gbW9kaWZ5X2JhcnMgLT4gZGVmZXJfbWFwIC0+IHJhaXNlX3NvZnRpcnEoU0NIRURVTEVf
U09GVElSUSkNCj4gICAgIGlvbW11X2FkZF9kZXZpY2UgPC0gRkFJTFMNCj4gICAgIHZwY2lfcmVt
b3ZlX2RldmljZSAtPiB4ZnJlZShwZGV2LT52cGNpKQ0KPg0KPiBsZWF2ZV9oeXBlcnZpc29yX3Rv
X2d1ZXN0DQo+ICAgICB2cGNpX3Byb2Nlc3NfcGVuZGluZzogdi0+dnBjaS5tZW0gIT0gTlVMTDsg
di0+dnBjaS5wZGV2LT52cGNpID09IE5VTEwNCj4NCj4gRm9yIHRoZSBoYXJkd2FyZSBkb21haW4g
d2UgY29udGludWUgZXhlY3V0aW9uIGFzIHRoZSB3b3JzZSB0aGF0DQo+IGNvdWxkIGhhcHBlbiBp
cyB0aGF0IE1NSU8gbWFwcGluZ3MgYXJlIGxlZnQgaW4gcGxhY2Ugd2hlbiB0aGUNCj4gZGV2aWNl
IGhhcyBiZWVuIGRlYXNzaWduZWQuDQo+DQo+IEZvciB1bnByaXZpbGVnZWQgZG9tYWlucyB0aGF0
IGdldCBhIGZhaWx1cmUgaW4gdGhlIG1pZGRsZSBvZiBhIHZQQ0kNCj4ge3VufW1hcCBvcGVyYXRp
b24gd2UgbmVlZCB0byBkZXN0cm95IHRoZW0sIGFzIHdlIGRvbid0IGtub3cgaW4gd2hpY2gNCj4g
c3RhdGUgdGhlIHAybSBpcy4gVGhpcyBjYW4gb25seSBoYXBwZW4gaW4gdnBjaV9wcm9jZXNzX3Bl
bmRpbmcgZm9yDQo+IERvbVVzIGFzIHRoZXkgd29uJ3QgYmUgYWxsb3dlZCB0byBjYWxsIHBjaV9h
ZGRfZGV2aWNlLg0KPg0KPiBTaWduZWQtb2ZmLWJ5OiBPbGVrc2FuZHIgQW5kcnVzaGNoZW5rbyA8
b2xla3NhbmRyX2FuZHJ1c2hjaGVua29AZXBhbS5jb20+DQo+DQo+IC0tLQ0KPiBDYzogUm9nZXIg
UGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+DQo+IC0tLQ0KPiBTaW5jZSB2NDoNCj4g
ICAtIGNyYXNoIGd1ZXN0IGRvbWFpbiBpZiBtYXAvdW5tYXAgb3BlcmF0aW9uIGRpZG4ndCBzdWNj
ZWVkDQo+ICAgLSByZS13b3JrIHZwY2kgY2FuY2VsIHdvcmsgdG8gY2FuY2VsIHdvcmsgb24gYWxs
IHZDUFVzDQo+ICAgLSB1c2UgbmV3IGxvY2tpbmcgc2NoZW1lIHdpdGggcGRldi0+dnBjaV9sb2Nr
DQo+IE5ldyBpbiB2NA0KPg0KPiBGaXhlczogODZkYmNmNmUzMGNiICgidnBjaTogY2FuY2VsIHBl
bmRpbmcgbWFwL3VubWFwIG9uIHZwY2kgcmVtb3ZhbCIpDQo+DQo+IC0tLQ0KPg0KPiBTaWduZWQt
b2ZmLWJ5OiBPbGVrc2FuZHIgQW5kcnVzaGNoZW5rbyA8b2xla3NhbmRyX2FuZHJ1c2hjaGVua29A
ZXBhbS5jb20+DQo+IC0tLQ0KPiAgIHhlbi9kcml2ZXJzL3ZwY2kvaGVhZGVyLmMgfCA0OSArKysr
KysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0NCj4gICB4ZW4vZHJpdmVycy92cGNp
L3ZwY2kuYyAgIHwgIDIgKysNCj4gICB4ZW4vaW5jbHVkZS94ZW4vcGNpLmggICAgIHwgIDUgKysr
Kw0KPiAgIHhlbi9pbmNsdWRlL3hlbi92cGNpLmggICAgfCAgNiArKysrKw0KPiAgIDQgZmlsZXMg
Y2hhbmdlZCwgNTEgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pDQo+DQo+IGRpZmYgLS1n
aXQgYS94ZW4vZHJpdmVycy92cGNpL2hlYWRlci5jIGIveGVuL2RyaXZlcnMvdnBjaS9oZWFkZXIu
Yw0KPiBpbmRleCBiZDIzYzAyNzRkNDguLmJhMzMzZmIyZjliMCAxMDA2NDQNCj4gLS0tIGEveGVu
L2RyaXZlcnMvdnBjaS9oZWFkZXIuYw0KPiArKysgYi94ZW4vZHJpdmVycy92cGNpL2hlYWRlci5j
DQo+IEBAIC0xMzEsNyArMTMxLDEzIEBAIHN0YXRpYyB2b2lkIG1vZGlmeV9kZWNvZGluZyhjb25z
dCBzdHJ1Y3QgcGNpX2RldiAqcGRldiwgdWludDE2X3QgY21kLA0KPiAgIA0KPiAgIGJvb2wgdnBj
aV9wcm9jZXNzX3BlbmRpbmcoc3RydWN0IHZjcHUgKnYpDQo+ICAgew0KPiAtICAgIGlmICggdi0+
dnBjaS5tZW0gKQ0KPiArICAgIHN0cnVjdCBwY2lfZGV2ICpwZGV2ID0gdi0+dnBjaS5wZGV2Ow0K
PiArDQo+ICsgICAgaWYgKCAhcGRldiApDQo+ICsgICAgICAgIHJldHVybiBmYWxzZTsNCj4gKw0K
PiArICAgIHNwaW5fbG9jaygmcGRldi0+dnBjaV9sb2NrKTsNCj4gKyAgICBpZiAoICFwZGV2LT52
cGNpX2NhbmNlbF9wZW5kaW5nICYmIHYtPnZwY2kubWVtICkNCj4gICAgICAgew0KPiAgICAgICAg
ICAgc3RydWN0IG1hcF9kYXRhIGRhdGEgPSB7DQo+ICAgICAgICAgICAgICAgLmQgPSB2LT5kb21h
aW4sDQo+IEBAIC0xNDAsMzIgKzE0Niw1MyBAQCBib29sIHZwY2lfcHJvY2Vzc19wZW5kaW5nKHN0
cnVjdCB2Y3B1ICp2KQ0KPiAgICAgICAgICAgaW50IHJjID0gcmFuZ2VzZXRfY29uc3VtZV9yYW5n
ZXModi0+dnBjaS5tZW0sIG1hcF9yYW5nZSwgJmRhdGEpOw0KPiAgIA0KPiAgICAgICAgICAgaWYg
KCByYyA9PSAtRVJFU1RBUlQgKQ0KPiArICAgICAgICB7DQo+ICsgICAgICAgICAgICBzcGluX3Vu
bG9jaygmcGRldi0+dnBjaV9sb2NrKTsNCj4gICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCj4g
KyAgICAgICAgfQ0KPiAgIA0KPiAtICAgICAgICBzcGluX2xvY2soJnYtPnZwY2kucGRldi0+dnBj
aV9sb2NrKTsNCj4gLSAgICAgICAgaWYgKCB2LT52cGNpLnBkZXYtPnZwY2kgKQ0KPiArICAgICAg
ICBpZiAoIHBkZXYtPnZwY2kgKQ0KPiAgICAgICAgICAgICAgIC8qIERpc2FibGUgbWVtb3J5IGRl
Y29kaW5nIHVuY29uZGl0aW9uYWxseSBvbiBmYWlsdXJlLiAqLw0KPiAtICAgICAgICAgICAgbW9k
aWZ5X2RlY29kaW5nKHYtPnZwY2kucGRldiwNCj4gKyAgICAgICAgICAgIG1vZGlmeV9kZWNvZGlu
ZyhwZGV2LA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYyA/IHYtPnZwY2kuY21k
ICYgflBDSV9DT01NQU5EX01FTU9SWSA6IHYtPnZwY2kuY21kLA0KPiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAhcmMgJiYgdi0+dnBjaS5yb21fb25seSk7DQo+IC0gICAgICAgIHNwaW5f
dW5sb2NrKCZ2LT52cGNpLnBkZXYtPnZwY2lfbG9jayk7DQo+ICAgDQo+IC0gICAgICAgIHJhbmdl
c2V0X2Rlc3Ryb3kodi0+dnBjaS5tZW0pOw0KPiAtICAgICAgICB2LT52cGNpLm1lbSA9IE5VTEw7
DQo+ICAgICAgICAgICBpZiAoIHJjICkNCj4gKyAgICAgICAgew0KPiAgICAgICAgICAgICAgIC8q
DQo+ICAgICAgICAgICAgICAgICogRklYTUU6IGluIGNhc2Ugb2YgZmFpbHVyZSByZW1vdmUgdGhl
IGRldmljZSBmcm9tIHRoZSBkb21haW4uDQo+ICAgICAgICAgICAgICAgICogTm90ZSB0aGF0IHRo
ZXJlIG1pZ2h0IHN0aWxsIGJlIGxlZnRvdmVyIG1hcHBpbmdzLiBXaGlsZSB0aGlzIGlzDQo+IC0g
ICAgICAgICAgICAgKiBzYWZlIGZvciBEb20wLCBmb3IgRG9tVXMgdGhlIGRvbWFpbiB3aWxsIGxp
a2VseSBuZWVkIHRvIGJlDQo+IC0gICAgICAgICAgICAgKiBraWxsZWQgaW4gb3JkZXIgdG8gYXZv
aWQgbGVha2luZyBzdGFsZSBwMm0gbWFwcGluZ3Mgb24NCj4gLSAgICAgICAgICAgICAqIGZhaWx1
cmUuDQo+ICsgICAgICAgICAgICAgKiBzYWZlIGZvciBEb20wLCBmb3IgRG9tVXMgdGhlIGRvbWFp
biBuZWVkcyB0byBiZSBraWxsZWQgaW4gb3JkZXINCj4gKyAgICAgICAgICAgICAqIHRvIGF2b2lk
IGxlYWtpbmcgc3RhbGUgcDJtIG1hcHBpbmdzIG9uIGZhaWx1cmUuDQo+ICAgICAgICAgICAgICAg
ICovDQo+IC0gICAgICAgICAgICB2cGNpX3JlbW92ZV9kZXZpY2Uodi0+dnBjaS5wZGV2KTsNCj4g
KyAgICAgICAgICAgIGlmICggaXNfaGFyZHdhcmVfZG9tYWluKHYtPmRvbWFpbikgKQ0KPiArICAg
ICAgICAgICAgICAgIHZwY2lfcmVtb3ZlX2RldmljZV9sb2NrZWQocGRldik7DQo+ICsgICAgICAg
ICAgICBlbHNlDQo+ICsgICAgICAgICAgICAgICAgZG9tYWluX2NyYXNoKHYtPmRvbWFpbik7DQo+
ICsgICAgICAgIH0NCj4gICAgICAgfQ0KPiArICAgIHNwaW5fdW5sb2NrKCZwZGV2LT52cGNpX2xv
Y2spOw0KPiAgIA0KPiAgICAgICByZXR1cm4gZmFsc2U7DQo+ICAgfQ0KPiAgIA0KPiArdm9pZCB2
cGNpX2NhbmNlbF9wZW5kaW5nX2xvY2tlZChzdHJ1Y3QgcGNpX2RldiAqcGRldikNCj4gK3sNCj4g
KyAgICBzdHJ1Y3QgdmNwdSAqdjsNCj4gKw0KPiArICAgIEFTU0VSVChzcGluX2lzX2xvY2tlZCgm
cGRldi0+dnBjaV9sb2NrKSk7DQo+ICsNCj4gKyAgICAvKiBDYW5jZWwgYW55IHBlbmRpbmcgd29y
ayBub3cgb24gYWxsIHZDUFVzLiAqLw0KPiArICAgIGZvcl9lYWNoX3ZjcHUoIHBkZXYtPmRvbWFp
biwgdiApDQo+ICsgICAgew0KPiArICAgICAgICBpZiAoIHYtPnZwY2kubWVtICYmICh2LT52cGNp
LnBkZXYgPT0gcGRldikgKQ0KPiArICAgICAgICB7DQo+ICsgICAgICAgICAgICByYW5nZXNldF9k
ZXN0cm95KHYtPnZwY2kubWVtKTsNCj4gKyAgICAgICAgICAgIHYtPnZwY2kubWVtID0gTlVMTDsN
Cj4gKyAgICAgICAgfQ0KPiArICAgIH0NCj4gK30NCj4gKw0KPiAgIHN0YXRpYyBpbnQgX19pbml0
IGFwcGx5X21hcChzdHJ1Y3QgZG9tYWluICpkLCBjb25zdCBzdHJ1Y3QgcGNpX2RldiAqcGRldiwN
Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJhbmdlc2V0ICptZW0sIHVp
bnQxNl90IGNtZCkNCj4gICB7DQo+IGRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy92cGNpL3ZwY2ku
YyBiL3hlbi9kcml2ZXJzL3ZwY2kvdnBjaS5jDQo+IGluZGV4IGNlYWFjNDUxNmZmOC4uMzcxMDNl
MjA3NjM1IDEwMDY0NA0KPiAtLS0gYS94ZW4vZHJpdmVycy92cGNpL3ZwY2kuYw0KPiArKysgYi94
ZW4vZHJpdmVycy92cGNpL3ZwY2kuYw0KPiBAQCAtNTQsNyArNTQsOSBAQCB2b2lkIHZwY2lfcmVt
b3ZlX2RldmljZV9sb2NrZWQoc3RydWN0IHBjaV9kZXYgKnBkZXYpDQo+ICAgew0KPiAgICAgICBB
U1NFUlQoc3Bpbl9pc19sb2NrZWQoJnBkZXYtPnZwY2lfbG9jaykpOw0KPiAgIA0KPiArICAgIHBk
ZXYtPnZwY2lfY2FuY2VsX3BlbmRpbmcgPSB0cnVlOw0KPiAgICAgICB2cGNpX3JlbW92ZV9kZXZp
Y2VfaGFuZGxlcnNfbG9ja2VkKHBkZXYpOw0KPiArICAgIHZwY2lfY2FuY2VsX3BlbmRpbmdfbG9j
a2VkKHBkZXYpOw0KPiAgICAgICB4ZnJlZShwZGV2LT52cGNpLT5tc2l4KTsNCj4gICAgICAgeGZy
ZWUocGRldi0+dnBjaS0+bXNpKTsNCj4gICAgICAgeGZyZWUocGRldi0+dnBjaSk7DQo+IGRpZmYg
LS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vcGNpLmggYi94ZW4vaW5jbHVkZS94ZW4vcGNpLmgNCj4g
aW5kZXggM2Y2MGQ2YzZjNmRkLi41MmQzMDJhYzVmMzUgMTAwNjQ0DQo+IC0tLSBhL3hlbi9pbmNs
dWRlL3hlbi9wY2kuaA0KPiArKysgYi94ZW4vaW5jbHVkZS94ZW4vcGNpLmgNCj4gQEAgLTEzNSw2
ICsxMzUsMTEgQEAgc3RydWN0IHBjaV9kZXYgew0KPiAgIA0KPiAgICAgICAvKiBEYXRhIGZvciB2
UENJLiAqLw0KPiAgICAgICBzcGlubG9ja190IHZwY2lfbG9jazsNCj4gKyAgICAvKg0KPiArICAg
ICAqIFNldCBpZiBQQ0kgZGV2aWNlIGlzIGJlaW5nIHJlbW92ZWQgbm93IGFuZCB3ZSBuZWVkIHRv
IGNhbmNlbCBhbnkNCj4gKyAgICAgKiBwZW5kaW5nIG1hcC91bm1hcCBvcGVyYXRpb25zLg0KPiAr
ICAgICAqLw0KPiArICAgIGJvb2wgdnBjaV9jYW5jZWxfcGVuZGluZzsNCj4gICAgICAgc3RydWN0
IHZwY2kgKnZwY2k7DQo+ICAgfTsNCj4gICANCj4gZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hl
bi92cGNpLmggYi94ZW4vaW5jbHVkZS94ZW4vdnBjaS5oDQo+IGluZGV4IDhiMjJiZGVmMTFkMC4u
Y2ZmZjg3ZTU4MDFlIDEwMDY0NA0KPiAtLS0gYS94ZW4vaW5jbHVkZS94ZW4vdnBjaS5oDQo+ICsr
KyBiL3hlbi9pbmNsdWRlL3hlbi92cGNpLmgNCj4gQEAgLTU3LDYgKzU3LDcgQEAgdWludDMyX3Qg
dnBjaV9od19yZWFkMzIoY29uc3Qgc3RydWN0IHBjaV9kZXYgKnBkZXYsIHVuc2lnbmVkIGludCBy
ZWcsDQo+ICAgICogc2hvdWxkIG5vdCBydW4uDQo+ICAgICovDQo+ICAgYm9vbCBfX211c3RfY2hl
Y2sgdnBjaV9wcm9jZXNzX3BlbmRpbmcoc3RydWN0IHZjcHUgKnYpOw0KPiArdm9pZCB2cGNpX2Nh
bmNlbF9wZW5kaW5nX2xvY2tlZChzdHJ1Y3QgcGNpX2RldiAqcGRldik7DQo+ICAgDQo+ICAgc3Ry
dWN0IHZwY2kgew0KPiAgICAgICAvKiBMaXN0IG9mIHZQQ0kgaGFuZGxlcnMgZm9yIGEgZGV2aWNl
LiAqLw0KPiBAQCAtMjUzLDYgKzI1NCwxMSBAQCBzdGF0aWMgaW5saW5lIGJvb2wgX19tdXN0X2No
ZWNrIHZwY2lfcHJvY2Vzc19wZW5kaW5nKHN0cnVjdCB2Y3B1ICp2KQ0KPiAgICAgICBBU1NFUlRf
VU5SRUFDSEFCTEUoKTsNCj4gICAgICAgcmV0dXJuIGZhbHNlOw0KPiAgIH0NCj4gKw0KPiArc3Rh
dGljIGlubGluZSB2b2lkIHZwY2lfY2FuY2VsX3BlbmRpbmdfbG9ja2VkKHN0cnVjdCBwY2lfZGV2
ICpwZGV2KQ0KPiArew0KPiArICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOw0KPiArfQ0KPiAgICNl
bmRpZg0KPiAgIA0KPiAgICNlbmRpZg0K


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 08:43:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 08:43:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262784.455142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nESHS-00019k-QP; Mon, 31 Jan 2022 08:43:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262784.455142; Mon, 31 Jan 2022 08:43:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nESHS-00019d-NF; Mon, 31 Jan 2022 08:43:22 +0000
Received: by outflank-mailman (input) for mailman id 262784;
 Mon, 31 Jan 2022 08:43:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9o41=SP=epam.com=prvs=4030d24c28=oleksandr_andrushchenko@srs-se1.protection.inumbo.net>)
 id 1nESHQ-00019W-VI
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 08:43:21 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d67bf134-8271-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 09:43:19 +0100 (CET)
Received: from pps.filterd (m0174676.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20V8Rne6031079;
 Mon, 31 Jan 2022 08:43:14 GMT
Received: from eur05-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2174.outbound.protection.outlook.com [104.47.17.174])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3dxbec883e-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 31 Jan 2022 08:43:14 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com (2603:10a6:20b:153::17)
 by AM6PR03MB3527.eurprd03.prod.outlook.com (2603:10a6:209:2f::29)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.21; Mon, 31 Jan
 2022 08:43:09 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6]) by AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6%3]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 08:43: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: d67bf134-8271-11ec-8eb8-a37418f5ba1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GXrZEi27VylNN4cHBDGNDPq5l0bH6GibWvUrnr4vKLX9nib0esFSh+yhP0bR6sAf4nW6G+rgKwFFXf0fh+R/K+vktxaRxTvuZrvudAOMwhJYY7R6AJ808hK1apxLeSAipZBz2ZtA5qJ/yPOCMRruvwo9fgBeZsRP7ENVovJOMC+XnrkRMH0xn1mGwXd9mCBalkncbhBQOZhNGNDDZ5Xi7zmNPVNpSH0kDHnYNp1o8eZEyZ0wTu/DKLmWgmKtcfT2nMVVZDcZ7jrvxKvSrMbSz1zRtN87y5nzN4YpdODhk5kFhEJ6cpiAVeeXo4SgyDuvdP0eM2eiO6a2aBaf5nfMlQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hi7mt3b2NpE2e6cA2+x+xfiJKbAJAE8EhqcCmsiMmR0=;
 b=FNT6bs92dL5C7wcVW3rbupIWEo3B4AK0sgRjM4+wypYx6AhPzaE5fcPjvz5XSlHLwMiSdZttqAexC4jGJnlWkZLeDI88U1aZQZ7EI6bAC0/jVtkmBAgFLfJRDLdduEY9xn9KNgv5vTlW1TZizPGzTtGK79vx3WkH1RgYwZLTfFIDLLgKeAESvIlH2/C2/s1uHJL1ucRYH9xPGHZHhvC5d+3rDqyiKcnt5LnnHZiPnkjGrc5s9zJbAKjcuVC7SXFm+y4VH2eJZPPcoJPN6g+c+0XDPMTSAzQBZRBpnng6Q7y5Kdh16PswulqYSW9W3Mdhg1F1RtFyi1aHWjF6TrK1/A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hi7mt3b2NpE2e6cA2+x+xfiJKbAJAE8EhqcCmsiMmR0=;
 b=KemB+kqqn+ebBkSqY8hddfcLSJuPo5E+S70ju368rRHyzR4xOlg7IhQyW3rdyOwkPLtjrdDzY2GU68gtmXxEVacZKsKpavuBviJ7PkrHaPgNTVWAnlhcYVC+RugfJuZhSqUaqwUxM/djUg0BSm3unkU+XVHppMLB3t2nSCbesbegucvKdiK3pDiPujPAI+eWQ5QivJgklqFVO6MkwasPXyXag21eb/kGKf1JOLCgnhvqXUPTeccAKe9qvlImYU6hSDUqBuqZVMIgY/RfH8rca1VX6pEG9Q0b4mCPGVGAFt1YaXqEnABgk33kDi5nEhvdJG7zmzrSI4WZN5mkWBpliw==
From: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
To: =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        "julien@xen.org" <julien@xen.org>,
        "sstabellini@kernel.org"
	<sstabellini@kernel.org>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Artem Mygaiev <Artem_Mygaiev@epam.com>,
        "jbeulich@suse.com" <jbeulich@suse.com>,
        "andrew.cooper3@citrix.com"
	<andrew.cooper3@citrix.com>,
        "george.dunlap@citrix.com"
	<george.dunlap@citrix.com>,
        "paul@xen.org" <paul@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Rahul Singh <rahul.singh@arm.com>,
        Oleksandr
 Andrushchenko <Oleksandr_Andrushchenko@epam.com>
Subject: Re: [PATCH v5 05/14] vpci: add hooks for PCI device assign/de-assign
Thread-Topic: [PATCH v5 05/14] vpci: add hooks for PCI device assign/de-assign
Thread-Index: AQHX4ewGcVFZUW6RNkyJ6BxXBZzZQqxfl2oAgB2h4gA=
Date: Mon, 31 Jan 2022 08:43:09 +0000
Message-ID: <68216461-e179-377c-48c3-ab8ca5a5aaf4@epam.com>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-6-andr2000@gmail.com> <Yd7FnIQAw4J03/MG@Air-de-Roger>
In-Reply-To: <Yd7FnIQAw4J03/MG@Air-de-Roger>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 1d4d6df4-c61b-41e1-3911-08d9e495b58c
x-ms-traffictypediagnostic: AM6PR03MB3527:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <AM6PR03MB35278E49DA146371D80EA44BE7259@AM6PR03MB3527.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: 
 U1VAdNSNZ3nKk3EBUnx+ZUwEPRPu4T5/E1e/QM0yMBwSgKncGSXgd7VBhOSfsrRVfoDK0Pqd81KNgbT5q9KjJ5DX+3qCAfouFVosAl5Osvu6B8M4V/m5PvgzRD1tQ/zxO9tjlqXv1OHJ5SV4tATs/YdzO1MbkhlXnb+ODgqnriGUzsrDM9Zm8T02zPFiRf/8gzJlcFV81y5NM08teA9r7zMvXITcVmVI4Zz3JI3Dsl2hMigQAAc3muVNgkdHEox4SxicaKhdiuq0eWdTn2nSFBy9LRVlboOtWTCCvqPxXE5A2NZG2tl6Dt8O/JT6/tiR4CVG3ZoultRjqLnNRB1MKTiKd4Q9cGHeqqmF49H9wHNEH4Oq6bdJXRUDqqIre6bVkJhECUqSVS0IoWXBckjYXu/FRdCplwg/MZaqwsCDq8Kk09I1LZeGdJatHvYQR1bBSk/a+2gebbbGzSlrVkD2cyQwlKwBoe0E4HEgkJq2nbr8CHLHeQRAoQkdu0bArf96GTSYKyGpSK3QWhDOWeHS+y02p4QJZEuvHNy9xNkZewUjdVn4s1YjzdE+p6Ry2f+ZyjzmzDSLkCL5pO5coB8kNfuOrpxkiDf8cBLu0WYEGcWmQfqrOgeP1X8e7fveZ+pILXDqgC93sIaOP5/rQ6n67J1I+z2UexiEpejMZ+WebRP+reqfMfEHdrvk+gK9Th8AiMPDEJN30CanAzhi9IemhTj8sZqWPKBJ++cJ4vSLv/7vqLWU1v1KKfV3gt8TSs4g
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:(13230001)(4636009)(366004)(107886003)(36756003)(2906002)(83380400001)(26005)(38070700005)(186003)(508600001)(2616005)(6916009)(316002)(31686004)(6486002)(54906003)(8936002)(7416002)(71200400001)(91956017)(64756008)(66446008)(66476007)(66556008)(66946007)(76116006)(53546011)(5660300002)(6512007)(31696002)(86362001)(122000001)(6506007)(38100700002)(4326008)(8676002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?amlBeWJHUTRnTnhQcjMycFBZOVRIWmRiMlZmYytsZ1l0eExkV3YyNWlTdGxx?=
 =?utf-8?B?SUhob0h0dGJrL1BZc0NPbysvVTdtWmlSVm5ZWG9NUndOQkFzMFNhVjhJTDYy?=
 =?utf-8?B?N0VGQTcrSHBlYkJuWEdrcG1aZzFydlJwZWJnWm1sdmZCRXQ1SG9nOCtGTUlE?=
 =?utf-8?B?U2NVRHFxaGVwTWtneXY2dStxcm4rditDUk1zOENYYTJhZnFXSS96Y3BRa0VV?=
 =?utf-8?B?MmgwdkY2NXpJbXY2OGV4SmxOSmxsY2tFelUxNFdYUForeDB6RzJZemgrSStW?=
 =?utf-8?B?bUx0cWNQY29vUDVWTTFFY0lrMGhBbGlPckRIYXFqQ2o0T01oZVVHZlp5clhq?=
 =?utf-8?B?ZWtZSVIzQmZkdkZXYWxHc2NTQXlsQ0NWN0wrQ3VENDJtc2JsZEdkOVpRaWpa?=
 =?utf-8?B?YjRLVnV5V3Rua25GQ2NpQmw0NHlQZUxXVTB4d2Jib1ZPT1dpbytjUVNNNCs4?=
 =?utf-8?B?WTB0cW1YdlVUUEFBZXdiRUJIMkVrbnBDNUtRSVRkbDRMOTdGN1BzVzZ1Sklq?=
 =?utf-8?B?cnlhblFKVEZTOExRa0phU3hLQzFpeFJTQ2hpeEtCWjR1TndoVlZtb2RrUFE2?=
 =?utf-8?B?L3BuWGE4bFljWTdONkN1ckFlcmliK1NtaExtVWpQWDBabWhZcHduV0hPVWla?=
 =?utf-8?B?R3hUNVFLY3FWQVlZakhpR3kvVXpMR1hkR0xHUTRaWHFGRWRkQWF6Q09IRVll?=
 =?utf-8?B?SE5QejZFOEE2VW5EQVYrSjlHbk5OWTljTldyeGl0T2diTjkyYzlKb2hoNlkx?=
 =?utf-8?B?TGpuNEhhaFdETmJWUkRVWFNMUk51Y2dXSStNSjNiZ2h5U0VUc3RnNWVLLy9m?=
 =?utf-8?B?VDMvaTh2Z3V2YU0vZDhrSTB5NUtOM0cwa2ZqUUR2dEtETXlYK1VtOFQ5ZWl2?=
 =?utf-8?B?Vng2NFFydk5seU9JZWpEc0JLQmlwc3R6WEJJRmpBYzFpMGNUZ1c3WHVVZ0Jm?=
 =?utf-8?B?SVY2eXg3SnYyTXBhRS9nL0hUcldxM0o2VDYrSEs3NHQxUnJmK1JHSHkvcmtY?=
 =?utf-8?B?YndVUFd0bVI4Q3p6Zm5iMUdjNEhvbFIzWS9LSmMyVXg2T0VqcWRDYXJuRGJR?=
 =?utf-8?B?UmtoL2czeUdkdkN0aFdkbExPUzFpYzJGQnBUczBYNGorUk1namVLM1JWMmVP?=
 =?utf-8?B?UnJ0SWhyOTRhZHpaMFFzclcrMGxUNTE1cmtXTi83cVdHRTNTRWhZeG1qdnZ3?=
 =?utf-8?B?Z01sL1VTM0JqSG02OWtlSzNPaVlGVW5vTG9KSHdMTzRWR1kwNG9rdXVYRk5I?=
 =?utf-8?B?dXdLd1ZJMTBTSC9YNUY2OEVxTmYwdzk5SmhwRnFLeU14VnFwNmpXbE0zUGxq?=
 =?utf-8?B?a2daUTFGLzJtb1J3U1F3MldzUkV2M2hzUDZhUGdkbmtyWUh3RGxPRmh0SkN0?=
 =?utf-8?B?ZjdKdXFNdG5yaVJqbVJWK0NUeWh2NVpVNmFLSzdLVkFyV1FyWG9kYTFPUmgx?=
 =?utf-8?B?WnNQQ1ZwTkR1M1F3blRjbjI5NDZFeTc3NzdvbzIwRzBLdUxLT0wwcWpKT1Fk?=
 =?utf-8?B?bS9qWUNVZ0lCZFFWbVo3dFk5U3JFZWlFR3A5Y1NQazEwVFJWTzU3QVp1cEFn?=
 =?utf-8?B?ZXdNNlhxSzlzWUZwS05uWG5COGhnZnU0N1B5LzBidFJqZGJNU3hxdTNqQXpS?=
 =?utf-8?B?ZExvdCtSV3g5Z2hoc3pvWXRqdTJ1SCtrdWVQSW9qbmhFUzlhNXZVZW5OQVpR?=
 =?utf-8?B?RGR1Qm9RZUg3cmJGVVNMWjhCQi9ZbWN6Y3NCVW9RQStmaUJKU2xEZjVHOWZE?=
 =?utf-8?B?d0ZvUC80SFc0dm01UndJWWhFNHFQc2NPYUxRbkZnYlJOUHRVQ1lxZGMxUXIv?=
 =?utf-8?B?ZGFoZ3lWTUU2Ylh4d0FaOHl1MTdEdmg3L0I4NUJLL2F3ODBQRXdnWHJHRlBi?=
 =?utf-8?B?cFFreE1iNEM3c0ZhVjJ5L3hPeUFnM2lmZE00SFI1ZERtZFdIM1JRSW1COUU5?=
 =?utf-8?B?TDl6dlRGbDA5dHdoWk85TVBnQlVITmhFSS81YUxycklGRkxJdVFVT1U3UWs4?=
 =?utf-8?B?K2NmWmJhUmplcGRhM0ZrWXBEUGU3RjUyN0FUdEsvc1Voelp0T01kY0UxM1F5?=
 =?utf-8?B?eTZYcWZsQnpJV1NSblQza2k5RTk5d3NNbzd4Q3RubHRnVHdzUGhkNlU2QkZ1?=
 =?utf-8?B?aGtaMkpsZWVIRDd2bUJXenZYeGtDTzBUalNQK2pLazh0V2VrQXEyNGI3VEtF?=
 =?utf-8?B?MG5jOTZkTHhDN0xZcVBlT25iWFNvWUw1VnI3R0JWS281YnlWYlVhSnkyQ1B2?=
 =?utf-8?B?SkhjbEZ2QkxCR3ZKNXIwRHVXZnpycThMZUxZcmVZblArRHAwZXRicnpSRzVk?=
 =?utf-8?B?VTRKbThzZjlXbGt5aE4rYzQ0VFVLNm9UeFN3MzZKaG1acHBMeXZZdz09?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <8FF844553CF69347A22ADD636412B3C2@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: 1d4d6df4-c61b-41e1-3911-08d9e495b58c
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2022 08:43:09.5355
 (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: PvM6JTENK4n5MR+DxMw3DDEAt6tztZQSFgoYibmvqslTdpTujvbmsPgOWluiGF2u9Fc1il8SXPD042iVz/pLNlM1MP8WrW9sMSer16dYuyy6EMBVL5fWqtaj+fYn9HZ+
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR03MB3527
X-Proofpoint-GUID: c2mYnBV_NTd0USyqrHS1Y_L6oC-3Ji2F
X-Proofpoint-ORIG-GUID: c2mYnBV_NTd0USyqrHS1Y_L6oC-3Ji2F
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-31_02,2022-01-28_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0
 lowpriorityscore=0 spamscore=0 bulkscore=0 malwarescore=0 clxscore=1015
 suspectscore=0 adultscore=0 priorityscore=1501 mlxlogscore=999
 phishscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2201110000 definitions=main-2201310057

SGksIFJvZ2VyIQ0KDQpPbiAxMi4wMS4yMiAxNDoxMiwgUm9nZXIgUGF1IE1vbm7DqSB3cm90ZToN
Cj4gT24gVGh1LCBOb3YgMjUsIDIwMjEgYXQgMDE6MDI6NDJQTSArMDIwMCwgT2xla3NhbmRyIEFu
ZHJ1c2hjaGVua28gd3JvdGU6DQo+PiBGcm9tOiBPbGVrc2FuZHIgQW5kcnVzaGNoZW5rbyA8b2xl
a3NhbmRyX2FuZHJ1c2hjaGVua29AZXBhbS5jb20+DQo+Pg0KPj4gV2hlbiBhIFBDSSBkZXZpY2Ug
Z2V0cyBhc3NpZ25lZC9kZS1hc3NpZ25lZCBzb21lIHdvcmsgb24gdlBDSSBzaWRlIG5lZWRzDQo+
PiB0byBiZSBkb25lIGZvciB0aGF0IGRldmljZS4gSW50cm9kdWNlIGEgcGFpciBvZiBob29rcyBz
byB2UENJIGNhbiBoYW5kbGUNCj4+IHRoYXQuDQo+Pg0KPj4gU2lnbmVkLW9mZi1ieTogT2xla3Nh
bmRyIEFuZHJ1c2hjaGVua28gPG9sZWtzYW5kcl9hbmRydXNoY2hlbmtvQGVwYW0uY29tPg0KPj4g
LS0tDQo+PiBTaW5jZSB2NDoNCj4+ICAgLSBkZS1hc3NpZ24gdlBDSSBmcm9tIHRoZSBwcmV2aW91
cyBkb21haW4gb24gZGV2aWNlIGFzc2lnbm1lbnQNCj4+ICAgLSBkbyBub3QgcmVtb3ZlIGhhbmRs
ZXJzIGluIHZwY2lfYXNzaWduX2RldmljZSBhcyB0aG9zZSBtdXN0IG5vdA0KPj4gICAgIGV4aXN0
IGF0IHRoYXQgcG9pbnQNCj4+IFNpbmNlIHYzOg0KPj4gICAtIHJlbW92ZSB0b29sc3RhY2sgcm9s
bC1iYWNrIGRlc2NyaXB0aW9uIGZyb20gdGhlIGNvbW1pdCBtZXNzYWdlDQo+PiAgICAgYXMgZXJy
b3IgYXJlIHRvIGJlIGhhbmRsZWQgd2l0aCBwcm9wZXIgY2xlYW51cCBpbiBYZW4gaXRzZWxmDQo+
PiAgIC0gcmVtb3ZlIF9fbXVzdF9jaGVjaw0KPj4gICAtIHJlbW92ZSByZWR1bmRhbnQgcmMgY2hl
Y2sgd2hpbGUgYXNzaWduaW5nIGRldmljZXMNCj4+ICAgLSBmaXggcmVkdW5kYW50IENPTkZJR19I
QVNfVlBDSSBjaGVjayBmb3IgQ09ORklHX0hBU19WUENJX0dVRVNUX1NVUFBPUlQNCj4+ICAgLSB1
c2UgUkVHSVNURVJfVlBDSV9JTklUIG1hY2hpbmVyeSB0byBydW4gcmVxdWlyZWQgc3RlcHMgb24g
ZGV2aWNlDQo+PiAgICAgaW5pdC9hc3NpZ246IGFkZCBydW5fdnBjaV9pbml0IGhlbHBlcg0KPj4g
U2luY2UgdjI6DQo+PiAtIGRlZmluZSBDT05GSUdfSEFTX1ZQQ0lfR1VFU1RfU1VQUE9SVCBzbyBk
ZWFkIGNvZGUgaXMgbm90IGNvbXBpbGVkDQo+PiAgICBmb3IgeDg2DQo+PiBTaW5jZSB2MToNCj4+
ICAgLSBjb25zdGlmeSBzdHJ1Y3QgcGNpX2RldiB3aGVyZSBwb3NzaWJsZQ0KPj4gICAtIGRvIG5v
dCBvcGVuIGNvZGUgaXNfc3lzdGVtX2RvbWFpbigpDQo+PiAgIC0gZXh0ZW5kZWQgdGhlIGNvbW1p
dCBtZXNzYWdlDQo+PiAtLS0NCj4+ICAgeGVuL2RyaXZlcnMvS2NvbmZpZyAgICAgICAgICAgfCAg
NCArKysNCj4+ICAgeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvcGNpLmMgfCAxMCArKysrKysNCj4+
ICAgeGVuL2RyaXZlcnMvdnBjaS92cGNpLmMgICAgICAgfCA2MSArKysrKysrKysrKysrKysrKysr
KysrKysrKysrKy0tLS0tLQ0KPj4gICB4ZW4vaW5jbHVkZS94ZW4vdnBjaS5oICAgICAgICB8IDE2
ICsrKysrKysrKw0KPj4gICA0IGZpbGVzIGNoYW5nZWQsIDgyIGluc2VydGlvbnMoKyksIDkgZGVs
ZXRpb25zKC0pDQo+Pg0KPj4gZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL0tjb25maWcgYi94ZW4v
ZHJpdmVycy9LY29uZmlnDQo+PiBpbmRleCBkYjk0MzkzZjQ3YTYuLjc4MDQ5MGNmOGUzOSAxMDA2
NDQNCj4+IC0tLSBhL3hlbi9kcml2ZXJzL0tjb25maWcNCj4+ICsrKyBiL3hlbi9kcml2ZXJzL0tj
b25maWcNCj4+IEBAIC0xNSw0ICsxNSw4IEBAIHNvdXJjZSAiZHJpdmVycy92aWRlby9LY29uZmln
Ig0KPj4gICBjb25maWcgSEFTX1ZQQ0kNCj4+ICAgCWJvb2wNCj4+ICAgDQo+PiArY29uZmlnIEhB
U19WUENJX0dVRVNUX1NVUFBPUlQNCj4+ICsJYm9vbA0KPj4gKwlkZXBlbmRzIG9uIEhBU19WUENJ
DQo+PiArDQo+PiAgIGVuZG1lbnUNCj4+IGRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhy
b3VnaC9wY2kuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5jDQo+PiBpbmRleCAyODY4
MDhiMjVlNjUuLmQ5ZWY5MTU3MWFkZiAxMDA2NDQNCj4+IC0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0
aHJvdWdoL3BjaS5jDQo+PiArKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9wY2kuYw0KPj4g
QEAgLTg3NCw2ICs4NzQsMTAgQEAgc3RhdGljIGludCBkZWFzc2lnbl9kZXZpY2Uoc3RydWN0IGRv
bWFpbiAqZCwgdWludDE2X3Qgc2VnLCB1aW50OF90IGJ1cywNCj4+ICAgICAgIGlmICggcmV0ICkN
Cj4+ICAgICAgICAgICBnb3RvIG91dDsNCj4+ICAgDQo+PiArICAgIHJldCA9IHZwY2lfZGVhc3Np
Z25fZGV2aWNlKGQsIHBkZXYpOw0KPj4gKyAgICBpZiAoIHJldCApDQo+PiArICAgICAgICBnb3Rv
IG91dDsNCj4gRm9sbG93aW5nIG15IGNvbW1lbnQgYmVsb3csIHRoaXMgd29uJ3QgYmUgYWxsb3dl
ZCB0byBmYWlsLg0KPg0KPj4gKw0KPj4gICAgICAgaWYgKCBwZGV2LT5kb21haW4gPT0gaGFyZHdh
cmVfZG9tYWluICApDQo+PiAgICAgICAgICAgcGRldi0+cXVhcmFudGluZSA9IGZhbHNlOw0KPj4g
ICANCj4+IEBAIC0xNDI5LDYgKzE0MzMsMTAgQEAgc3RhdGljIGludCBhc3NpZ25fZGV2aWNlKHN0
cnVjdCBkb21haW4gKmQsIHUxNiBzZWcsIHU4IGJ1cywgdTggZGV2Zm4sIHUzMiBmbGFnKQ0KPj4g
ICAgICAgQVNTRVJUKHBkZXYgJiYgKHBkZXYtPmRvbWFpbiA9PSBoYXJkd2FyZV9kb21haW4gfHwN
Cj4+ICAgICAgICAgICAgICAgICAgICAgICBwZGV2LT5kb21haW4gPT0gZG9tX2lvKSk7DQo+PiAg
IA0KPj4gKyAgICByYyA9IHZwY2lfZGVhc3NpZ25fZGV2aWNlKHBkZXYtPmRvbWFpbiwgcGRldik7
DQo+PiArICAgIGlmICggcmMgKQ0KPj4gKyAgICAgICAgZ290byBkb25lOw0KPj4gKw0KPj4gICAg
ICAgcmMgPSBwZGV2X21zaXhfYXNzaWduKGQsIHBkZXYpOw0KPj4gICAgICAgaWYgKCByYyApDQo+
PiAgICAgICAgICAgZ290byBkb25lOw0KPj4gQEAgLTE0NDYsNiArMTQ1NCw4IEBAIHN0YXRpYyBp
bnQgYXNzaWduX2RldmljZShzdHJ1Y3QgZG9tYWluICpkLCB1MTYgc2VnLCB1OCBidXMsIHU4IGRl
dmZuLCB1MzIgZmxhZykNCj4+ICAgICAgICAgICByYyA9IGhkLT5wbGF0Zm9ybV9vcHMtPmFzc2ln
bl9kZXZpY2UoZCwgZGV2Zm4sIHBjaV90b19kZXYocGRldiksIGZsYWcpOw0KPj4gICAgICAgfQ0K
Pj4gICANCj4+ICsgICAgcmMgPSB2cGNpX2Fzc2lnbl9kZXZpY2UoZCwgcGRldik7DQo+PiArDQo+
PiAgICBkb25lOg0KPj4gICAgICAgaWYgKCByYyApDQo+PiAgICAgICAgICAgcHJpbnRrKFhFTkxP
R19HX1dBUk5JTkcgIiVwZDogYXNzaWduICglcHApIGZhaWxlZCAoJWQpXG4iLA0KPj4gZGlmZiAt
LWdpdCBhL3hlbi9kcml2ZXJzL3ZwY2kvdnBjaS5jIGIveGVuL2RyaXZlcnMvdnBjaS92cGNpLmMN
Cj4+IGluZGV4IDM3MTAzZTIwNzYzNS4uYTllOWU4ZWM0MzhjIDEwMDY0NA0KPj4gLS0tIGEveGVu
L2RyaXZlcnMvdnBjaS92cGNpLmMNCj4+ICsrKyBiL3hlbi9kcml2ZXJzL3ZwY2kvdnBjaS5jDQo+
PiBAQCAtNzQsMTIgKzc0LDI2IEBAIHZvaWQgdnBjaV9yZW1vdmVfZGV2aWNlKHN0cnVjdCBwY2lf
ZGV2ICpwZGV2KQ0KPj4gICAgICAgc3Bpbl91bmxvY2soJnBkZXYtPnZwY2lfbG9jayk7DQo+PiAg
IH0NCj4+ICAgDQo+PiAtaW50IHZwY2lfYWRkX2hhbmRsZXJzKHN0cnVjdCBwY2lfZGV2ICpwZGV2
KQ0KPj4gK3N0YXRpYyBpbnQgcnVuX3ZwY2lfaW5pdChzdHJ1Y3QgcGNpX2RldiAqcGRldikNCj4g
SnVzdCB1c2luZyBhZGRfaGFuZGxlcnMgYXMgZnVuY3Rpb24gbmFtZSB3b3VsZCBiZSBjbGVhcmVy
IElNTy4NCk9rLCB3aWxsIGNoYW5nZQ0KPg0KPj4gICB7DQo+PiAtICAgIHN0cnVjdCB2cGNpICp2
cGNpOw0KPj4gICAgICAgdW5zaWduZWQgaW50IGk7DQo+PiAgICAgICBpbnQgcmMgPSAwOw0KPj4g
ICANCj4+ICsgICAgZm9yICggaSA9IDA7IGkgPCBOVU1fVlBDSV9JTklUOyBpKysgKQ0KPj4gKyAg
ICB7DQo+PiArICAgICAgICByYyA9IF9fc3RhcnRfdnBjaV9hcnJheVtpXShwZGV2KTsNCj4+ICsg
ICAgICAgIGlmICggcmMgKQ0KPj4gKyAgICAgICAgICAgIGJyZWFrOw0KPj4gKyAgICB9DQo+PiAr
DQo+PiArICAgIHJldHVybiByYzsNCj4+ICt9DQo+PiArDQo+PiAraW50IHZwY2lfYWRkX2hhbmRs
ZXJzKHN0cnVjdCBwY2lfZGV2ICpwZGV2KQ0KPj4gK3sNCj4+ICsgICAgc3RydWN0IHZwY2kgKnZw
Y2k7DQo+PiArICAgIGludCByYzsNCj4+ICsNCj4+ICAgICAgIGlmICggIWhhc192cGNpKHBkZXYt
PmRvbWFpbikgKQ0KPj4gICAgICAgICAgIHJldHVybiAwOw0KPj4gICANCj4+IEBAIC05NCwxOSAr
MTA4LDQ4IEBAIGludCB2cGNpX2FkZF9oYW5kbGVycyhzdHJ1Y3QgcGNpX2RldiAqcGRldikNCj4+
ICAgICAgIHBkZXYtPnZwY2kgPSB2cGNpOw0KPj4gICAgICAgSU5JVF9MSVNUX0hFQUQoJnBkZXYt
PnZwY2ktPmhhbmRsZXJzKTsNCj4+ICAgDQo+PiAtICAgIGZvciAoIGkgPSAwOyBpIDwgTlVNX1ZQ
Q0lfSU5JVDsgaSsrICkNCj4+IC0gICAgew0KPj4gLSAgICAgICAgcmMgPSBfX3N0YXJ0X3ZwY2lf
YXJyYXlbaV0ocGRldik7DQo+PiAtICAgICAgICBpZiAoIHJjICkNCj4+IC0gICAgICAgICAgICBi
cmVhazsNCj4+IC0gICAgfQ0KPj4gLQ0KPj4gKyAgICByYyA9IHJ1bl92cGNpX2luaXQocGRldik7
DQo+PiAgICAgICBpZiAoIHJjICkNCj4+ICAgICAgICAgICB2cGNpX3JlbW92ZV9kZXZpY2VfbG9j
a2VkKHBkZXYpOw0KPj4gICAgICAgc3Bpbl91bmxvY2soJnBkZXYtPnZwY2lfbG9jayk7DQo+PiAg
IA0KPj4gICAgICAgcmV0dXJuIHJjOw0KPj4gICB9DQo+PiArDQo+PiArI2lmZGVmIENPTkZJR19I
QVNfVlBDSV9HVUVTVF9TVVBQT1JUDQo+PiArLyogTm90aWZ5IHZQQ0kgdGhhdCBkZXZpY2UgaXMg
YXNzaWduZWQgdG8gZ3Vlc3QuICovDQo+PiAraW50IHZwY2lfYXNzaWduX2RldmljZShzdHJ1Y3Qg
ZG9tYWluICpkLCBzdHJ1Y3QgcGNpX2RldiAqcGRldikNCj4+ICt7DQo+PiArICAgIGludCByYzsN
Cj4+ICsNCj4+ICsgICAgLyogSXQgb25seSBtYWtlcyBzZW5zZSB0byBhc3NpZ24gZm9yIGh3ZG9t
IG9yIGd1ZXN0IGRvbWFpbi4gKi8NCj4+ICsgICAgaWYgKCBpc19zeXN0ZW1fZG9tYWluKGQpIHx8
ICFoYXNfdnBjaShkKSApDQo+IERvIHlvdSByZWFsbHkgbmVlZCB0aGUgaXNfc3lzdGVtX2RvbWFp
biBjaGVjaz8gU3lzdGVtIGRvbWFpbnMNCj4gc2hvdWxkbid0IGhhdmUgdGhlIFZQQ0kgZmxhZyBz
ZXQgYW55d2F5LCBzbyBzaG91bGQgZmFpbCB0aGUgaGFzX3ZwY2kNCj4gdGVzdC4NCk5vLCBpdCBz
ZWVtcyB3ZSBkbyBub3QgbmVlZCB0aGlzIGNoZWNrOiB3aWxsIHJlbW92ZQ0KPg0KPj4gKyAgICAg
ICAgcmV0dXJuIDA7DQo+PiArDQo+PiArICAgIHNwaW5fbG9jaygmcGRldi0+dnBjaV9sb2NrKTsN
Cj4+ICsgICAgcmMgPSBydW5fdnBjaV9pbml0KHBkZXYpOw0KPj4gKyAgICBzcGluX3VubG9jaygm
cGRldi0+dnBjaV9sb2NrKTsNCj4+ICsgICAgaWYgKCByYyApDQo+PiArICAgICAgICB2cGNpX2Rl
YXNzaWduX2RldmljZShkLCBwZGV2KTsNCj4+ICsNCj4+ICsgICAgcmV0dXJuIHJjOw0KPj4gK30N
Cj4+ICsNCj4+ICsvKiBOb3RpZnkgdlBDSSB0aGF0IGRldmljZSBpcyBkZS1hc3NpZ25lZCBmcm9t
IGd1ZXN0LiAqLw0KPj4gK2ludCB2cGNpX2RlYXNzaWduX2RldmljZShzdHJ1Y3QgZG9tYWluICpk
LCBzdHJ1Y3QgcGNpX2RldiAqcGRldikNCj4gVGhlcmUncyBubyBuZWVkIHRvIHJldHVybiBhbnkg
dmFsdWUgZnJvbSB0aGlzIGZ1bmN0aW9uIEFGQUlDVC4gSXQNCj4gc2hvdWxkIGhhdmUgdm9pZCBy
ZXR1cm4gdHlwZS4NCk1ha2VzIHNlbnNlLCBJIHdpbGwgcy9pbnQvdm9pZA0KPiBUaGFua3MsIFJv
Z2VyLg0KVGhhbmsgeW91LA0KT2xla3NhbmRy


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 08:45:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 08:45:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262791.455152 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nESJc-0001o6-BW; Mon, 31 Jan 2022 08:45:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262791.455152; Mon, 31 Jan 2022 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 1nESJc-0001nz-8c; Mon, 31 Jan 2022 08:45:36 +0000
Received: by outflank-mailman (input) for mailman id 262791;
 Mon, 31 Jan 2022 08:45:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9o41=SP=epam.com=prvs=4030d24c28=oleksandr_andrushchenko@srs-se1.protection.inumbo.net>)
 id 1nESJa-0001nt-Ce
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 08:45:34 +0000
Received: from mx0b-0039f301.pphosted.com (mx0b-0039f301.pphosted.com
 [148.163.137.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 266066e5-8272-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 09:45:33 +0100 (CET)
Received: from pps.filterd (m0174682.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20V8ReBr008639;
 Mon, 31 Jan 2022 08:45:22 GMT
Received: from eur04-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2054.outbound.protection.outlook.com [104.47.14.54])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3dx7wu0te2-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 31 Jan 2022 08:45:22 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com (2603:10a6:20b:153::17)
 by PAXPR03MB7649.eurprd03.prod.outlook.com (2603:10a6:102:1dc::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.21; Mon, 31 Jan
 2022 08:45:18 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6]) by AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6%3]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 08:45: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: 266066e5-8272-11ec-8eb8-a37418f5ba1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ep9JRvwcijnGIN81EvzecPMHULDWWNjxHM50npuH4kBwGSDkhSaxwr75n5Ysg6ei6St+ZtmRbPvHPJp7c2ije7WPcAg4Z9ktdKQ7tnXNFY1n5zBiCYgRWUjLD3UdqNMBDJ1sT66ywWVFTspGLGjfN3oUpIC5JJPFteGiklicjKcaApUosgb+iE5T6GftLWlQp8Uxu1mNZP9wSpD9xhSgzJGoZEwMQBb3PKXF7gFqQdXFoDyXLGpgVBVeB4htebm2a8C1HWLSenoYWINZsq+8OUamGC6nwrWFItYqPUW7MV4ySuqxWztTA0QnTojUcKB1NE1lXYj9DYAJZuYy6yDH8Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nfWLDqPactt6WNXrsH0X69C7Sfmdco0YC9oa7ja2Lyg=;
 b=PsnRhF13LJyYAMjNVA/4xWDWm6CD1V9J+sbveFrkxGnz4WvWn3FHRKYAXVwUBVdPYFDIOwSZEv+6e6YE/taS4Pb+grtECO5/buPJLOBC9Rny0Jq2Dz6wZZGzjzsH/Y1mtSWocFMH+1GZIAWjNzVhqblzudkK35sJW0clsX+8HWkkT3pOxeUwRg541j80uFizznxxwPVPefpLClUHjk0vo5sMUQAbWRMX/goqNoM7wZduVgG+YXLXmeVD/dZzCtFx/8j3ZlbsdNSLD5BDh2hXHrQs4dCr4fmhCO0KFpukq6EDT3FFiPxIwzhBKfUUI3ea852KynpGcoqo6kfA1V1Q3A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nfWLDqPactt6WNXrsH0X69C7Sfmdco0YC9oa7ja2Lyg=;
 b=Q4Rfi7APyABX2b2fBc/Arqh/u4i3Pa0dg5DxGYFjcTB3Yei8q1MqG6c2lzavw/Ldmbo/C5j4I1dhyB0OuRxR1R3MqGha5g9b6RQS3kI5i3kbZ1DqLwAHqdBXq/Ha5AhRt3AlTsds5CcVcDgE2YPjbAWGHkMJ4RsJBwevwlbXhBS0kd2jR3Nok0kvD9uX9balR2oiJHxAmi+yLtNX/tJrKWE5DLF92IXc2da0al8D77mCOCC/FuVMDBxFr2AL+sTvJmC51aPUyljZLxExOSChfQXX6MvmCDu5xIclBUf7RftZ0Dx3XbAS/pf+lr5LdpTa+YoTn/oo7WwYduSIcov8TQ==
From: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
To: =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        "julien@xen.org" <julien@xen.org>,
        "sstabellini@kernel.org"
	<sstabellini@kernel.org>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Artem Mygaiev <Artem_Mygaiev@epam.com>,
        "jbeulich@suse.com" <jbeulich@suse.com>,
        "andrew.cooper3@citrix.com"
	<andrew.cooper3@citrix.com>,
        "george.dunlap@citrix.com"
	<george.dunlap@citrix.com>,
        "paul@xen.org" <paul@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Rahul Singh <rahul.singh@arm.com>,
        Oleksandr
 Andrushchenko <Oleksandr_Andrushchenko@epam.com>
Subject: Re: [PATCH v5 05/14] vpci: add hooks for PCI device assign/de-assign
Thread-Topic: [PATCH v5 05/14] vpci: add hooks for PCI device assign/de-assign
Thread-Index: AQHX4ewGcVFZUW6RNkyJ6BxXBZzZQqxhIP0AgBwY6IA=
Date: Mon, 31 Jan 2022 08:45:17 +0000
Message-ID: <f4ea5ece-551e-8a91-90c6-d9f806c97d5b@epam.com>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-6-andr2000@gmail.com> <YeAPxA8gZZ/xBYdA@Air-de-Roger>
In-Reply-To: <YeAPxA8gZZ/xBYdA@Air-de-Roger>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 490c2d50-1eb3-49c1-0d93-08d9e4960203
x-ms-traffictypediagnostic: PAXPR03MB7649:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <PAXPR03MB7649F777EE0E425432983114E7259@PAXPR03MB7649.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: 
 qcYcFUfGVL949ke23OiRVV8mMhgtNSSGvUWJ885hszDWFQV5g6B8pfiQrZbdbMm/ES22oXVhuSRjQHrNuu9sAlIHwXScFj1H91QSk4OvniRvKfFM8GBEjbXBcKk/vQlSfJrM5+a5bDiPE000qrSwSsNuRIHL72YmdnoT18pmYwMTyoPnzn7iHx3Lhn6NzoJYE5/cMz0bE9/C1l261A6PwTU7Mn2XkWfp/FWMD3SaAOxJbP0iG5IPmNTXLgd4LMPchfdmJTPTeXipoOjbNuBfYOtLltr2uCjWKfIDrHfVXhdMqEmfvLrNcn0xLfnOXAsIfZWcAB1y3RSNu0WmVwffwNTPV4Cvvsh1zuXfO/E5WXgD2LckY/bPp5cLLkWLDS8LaJIfyEqpdDO7f1+aE6Gn2uNMI3RH5FrTOo0J8JY8tCOlUgMudK1TGrHo2OL6i47GkTFIUt640dQR4PsKem9i8SglWxIg3OaOqInzIdZ6FFqSJLJyDfnRb6IyUpijRefhVJ1b57BK7Hhgg56JMSdjMmDhkyUBjRRsnbq3w2zVGYqefNq8iNSX3pfjoUhPwNn9ma/xHhBUve94IKAi2o7fw4mMPF/kykPeaHwQT+Mw65t1C0vpNZMofMsC3kAZ9ESXYUUuYlVWrRPiCtWGU1K0THuNa1HuXV/wQdIPI++nDAmmyeua5JDIYbGbhdwjPkINsdIVlJcpZvGfqKt2/TpYy6UuZ2eoYPxIbU9jVS3U/+J9ajx93zTNbIYPeI6BO1cV
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:(13230001)(4636009)(366004)(6512007)(5660300002)(7416002)(8676002)(38100700002)(76116006)(26005)(66446008)(186003)(66556008)(64756008)(66476007)(66946007)(91956017)(8936002)(4326008)(122000001)(107886003)(2616005)(83380400001)(31696002)(71200400001)(86362001)(2906002)(508600001)(36756003)(6916009)(54906003)(31686004)(38070700005)(53546011)(6486002)(316002)(6506007)(45980500001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?K0tROGc4eDg4ZHgyWitEb1FwZHBrTmJpV3RUTDUrOWpLTnRzK2QybURlbHdG?=
 =?utf-8?B?UU5wOG9YWEo1Wk1CamFRdjFsa3BXbEJqVElLQW5oaDZZTFlRSHZVQmw3NUU1?=
 =?utf-8?B?K0pBai9GKzFwaE9tTWNkbDM0TkIvL2Ixa1hQaFpReFNvVXZrZmhOd21QeWRQ?=
 =?utf-8?B?eTZrNG1ISnJPS3V5THF2L3h1blRlbzhiZG1ZVjcwY3lGZm1xc2hlVEFyYzYz?=
 =?utf-8?B?YmRCczZRU1V5UWxGMkJkVFpkbkNMaytwSWNQelVWbGhaZ0FVNXFhZTRSQnlp?=
 =?utf-8?B?bUhyUEl4MWEyenZxQXltS3h3dXU3bW1MWmJFMWxhaFpuMWdpVlRSeXAwZ1pK?=
 =?utf-8?B?azhZa0RXMUNMaXFOdUw3RTVteXFYbUU0aEZEVWUwaHVqMUJNc2tDazJOY250?=
 =?utf-8?B?QTV2YzRiSzBvNmVvUlZlMXFOMzRFUFBwZ3orVHNpODgwMEI1ZitmZU5TZms0?=
 =?utf-8?B?OFBPdVVySlB0YUdrM3UzOHh5aEQvcDRJdUh6OU9JQW5admJlQks4WTVjVFpu?=
 =?utf-8?B?cnZXZzhNU2pmQXdLL0YxK3NRMkEzekdUY2dPOW5XdXgrN1NncWdYZDdCb2Y0?=
 =?utf-8?B?U3ZWQ0lxbmtJOWIrSmE0QVo4d1NRZ01sVC9Zank0RHpPOU5nU2Z1cFpvT0F1?=
 =?utf-8?B?eXV6RTBkVHR6VUxBbCtXdGZkbVlNU0FDdThSTU10WmJ4MERCVzE5MnE4WFJS?=
 =?utf-8?B?ME5KOFo2ZlVXRlpickhFbFRRZkNtdkd4MWQwZkY5bUhiUHhUc0xVTmtHUDNZ?=
 =?utf-8?B?NlZma0tERGlpMG5ITzlmQ2xzTjVpQ1J1cC9GakVaYzQxdm9lQTJ1R3BTOXdD?=
 =?utf-8?B?N2FvazJxZkdvODF0cElJakZQSTFoYmlIOCtMdkZkRkt1U3p5VkRmUFBtUytJ?=
 =?utf-8?B?enlTNGhqaVpqOXlqbkdQeFdUa0h4Ri8zcEc4cUJuNEZHNVl6SS9zdHN0LzM4?=
 =?utf-8?B?UlhrL3FKQzJVNEhtMHBrazM5bE0xY1JNRGUzSHZ3TjVwLzBGZzdFdmlzdkx3?=
 =?utf-8?B?OTl2ak9GR0lHL0NjUU1yWTFRcSsrVU5GanNQeSs1V3Y2VEZUTWVMd0FkeHBM?=
 =?utf-8?B?bHptNE5ZQU9qc2wrMVR4YS9XOHl6bjBHV0NhVDMxaDNUR2tyUEI2TGtGUEM1?=
 =?utf-8?B?RWwyd0J2NlZkbW5DYUhYb05QVzlhWU9BRWFMb01Zc3UzY3pYQXRVTVdSN21H?=
 =?utf-8?B?MGpyUjFxZFVIRjZyN1FVTUY3bnBTVk9hRTd1SFAwMlZHOExxdUtlbXlPdzV6?=
 =?utf-8?B?SUgrOW9ESTlxM21GZDMzeWNFNnpCbTI5bi9lMlJrM0ZOZkJ5Q2xRdkk5S04w?=
 =?utf-8?B?ek10dXZ1ZGZnN2YwZTlLZ1U2LzlURUMvV0NUdjFhVzIvcTdwSnNMUjcwMFN6?=
 =?utf-8?B?bUl6N0xHdEdxeW1QMDBKYU4vNStMNEhqWnRBNnd0cEZwRG9TSnB1QmlTOEd2?=
 =?utf-8?B?dFdVbjNtd0JTa0dlZjF1dUFoNXh2ckg4WGJ3VjMxUUdzSXh4Q3FRQjRjT3RM?=
 =?utf-8?B?ajlzSTVKY0haMGdEUU9FRUNhRjNxazFmdFdVNUxaRk1SVlNvcGFxNWdmSkZQ?=
 =?utf-8?B?a1AvVDBzQlcxVnVBNVgwSHZaZWlDR01RQzZ0R1I4Z1FFMHV0OE0rbWdGdGlJ?=
 =?utf-8?B?UkY0ZEZjd1VOczcvRzgxWW4xYXlPRjY4elFnT1Mza1Z0d0x6OExsWjRsNTF5?=
 =?utf-8?B?TjJGdzZEaGxlQjhkTjB3OC9wUXErZ1hxRXVySkw4a2pwMVFoQWY4WEd4Skdu?=
 =?utf-8?B?WE1jeFc1WGFRQzdBeFhsbjRvVll3eU9BNjZBYXQ5RzV1S1BuTm1xUkZzeStR?=
 =?utf-8?B?SXB0S1RBUTdXb0U3TlA0cWpDdkFQdllELytaZk9iMVpSRDFLa0kxQkFpVGxC?=
 =?utf-8?B?a0JzVnY3aThrOHdFTjBQcFgxZDZUaEhNSEIyQ3o0SThOTGQxSXh5OW1sQzNE?=
 =?utf-8?B?RzFJL2hWMFA5bERBb3dteWd4SEhRR2N1YmNCRVRsWTdLekU4TzkwNzBsQkJX?=
 =?utf-8?B?RktmUG5vKzQ2dmQ4dXo4OVhTZXk0UXFwRytoTzVFUzRHV3l2TzJacTdIMk5Z?=
 =?utf-8?B?NUhhQ3VVdWJuc1FlVkdnSTR1YjVxYzRxc3h4OElIRC8vQjF1S1YrT1g3bkVu?=
 =?utf-8?B?SThCRXhnM05zenc1T1EwUlA1VHI5MUV1bGI4SzRrYmJ6N2lOaW1TZVhPMGpY?=
 =?utf-8?B?N3FsalVVb282czZaQzRQYW1DVEtUd3lpOTVNZFRaSDNETjhrcnZGTHhqMVpt?=
 =?utf-8?B?WmJZR2VNYStydnBwVnJkZTh4ckFLZEJPR3ZPOEwreWdYOUJlRC9lQncxWTJN?=
 =?utf-8?B?Uy9wMEFMZzJ6WVpRVThnZTduL2JGMlJWamFpZjZaMFhKbDREZGprQT09?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <441AEA57595C8241BBB8266568A8C4C5@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: 490c2d50-1eb3-49c1-0d93-08d9e4960203
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2022 08:45:17.8211
 (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: IbnhOsCUuLvxRuvdD9LZ817QINuWUyPKavbvxxUh//5+jXeIKkWTfQYD31Wncj4vsOOWlEV5A6v32Lm8s2kREhZjmkXEqIFNmap7xEJNOF61lYFYynrZVyF1a32ksPNS
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7649
X-Proofpoint-ORIG-GUID: sBp-hOQ3WN0o91tQrXs9cjZmQZjekeP-
X-Proofpoint-GUID: sBp-hOQ3WN0o91tQrXs9cjZmQZjekeP-
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-31_02,2022-01-28_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 bulkscore=0
 clxscore=1015 impostorscore=0 spamscore=0 priorityscore=1501
 suspectscore=0 adultscore=0 mlxlogscore=999 phishscore=0 malwarescore=0
 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2201110000 definitions=main-2201310058

SGksIFJvZ2VyIQ0KDQpPbiAxMy4wMS4yMiAxMzo0MCwgUm9nZXIgUGF1IE1vbm7DqSB3cm90ZToN
Cj4gT24gVGh1LCBOb3YgMjUsIDIwMjEgYXQgMDE6MDI6NDJQTSArMDIwMCwgT2xla3NhbmRyIEFu
ZHJ1c2hjaGVua28gd3JvdGU6DQo+PiBGcm9tOiBPbGVrc2FuZHIgQW5kcnVzaGNoZW5rbyA8b2xl
a3NhbmRyX2FuZHJ1c2hjaGVua29AZXBhbS5jb20+DQo+PiArI2lmZGVmIENPTkZJR19IQVNfVlBD
SV9HVUVTVF9TVVBQT1JUDQo+PiArLyogTm90aWZ5IHZQQ0kgdGhhdCBkZXZpY2UgaXMgYXNzaWdu
ZWQgdG8gZ3Vlc3QuICovDQo+PiAraW50IHZwY2lfYXNzaWduX2RldmljZShzdHJ1Y3QgZG9tYWlu
ICpkLCBzdHJ1Y3QgcGNpX2RldiAqcGRldikNCj4+ICt7DQo+PiArICAgIGludCByYzsNCj4+ICsN
Cj4+ICsgICAgLyogSXQgb25seSBtYWtlcyBzZW5zZSB0byBhc3NpZ24gZm9yIGh3ZG9tIG9yIGd1
ZXN0IGRvbWFpbi4gKi8NCj4+ICsgICAgaWYgKCBpc19zeXN0ZW1fZG9tYWluKGQpIHx8ICFoYXNf
dnBjaShkKSApDQo+PiArICAgICAgICByZXR1cm4gMDsNCj4+ICsNCj4+ICsgICAgc3Bpbl9sb2Nr
KCZwZGV2LT52cGNpX2xvY2spOw0KPj4gKyAgICByYyA9IHJ1bl92cGNpX2luaXQocGRldik7DQo+
IEZvbGxvd2luZyBteSBjb21tZW50IGJlbG93LCB0aGlzIHdpbGwgbGlrZWx5IG5lZWQgdG8gY2Fs
bA0KPiB2cGNpX2FkZF9oYW5kbGVycyBpbiBvcmRlciB0byBhbGxvY2F0ZSB0aGUgcGRldi0+dnBj
aSBmaWVsZC4NCj4NCj4gSXQncyBub3QgT0sgdG8gY2FycnkgdGhlIGNvbnRlbnRzIG9mIHBkZXYt
PnZwY2kgYWNyb3NzIGRvbWFpbg0KPiBhc3NpZ25hdGlvbnMsIGFzIHRoZSBkZXZpY2Ugc2hvdWxk
IGJlIHJlc2V0LCBhbmQgdGh1cyB0aGUgY29udGVudCBvZg0KPiBwZGV2LT52cGNpIHdvdWxkIGJl
IHN0YWxlLg0KPg0KPj4gKyAgICBzcGluX3VubG9jaygmcGRldi0+dnBjaV9sb2NrKTsNCj4+ICsg
ICAgaWYgKCByYyApDQo+PiArICAgICAgICB2cGNpX2RlYXNzaWduX2RldmljZShkLCBwZGV2KTsN
Cj4+ICsNCj4+ICsgICAgcmV0dXJuIHJjOw0KPj4gK30NCj4+ICsNCj4+ICsvKiBOb3RpZnkgdlBD
SSB0aGF0IGRldmljZSBpcyBkZS1hc3NpZ25lZCBmcm9tIGd1ZXN0LiAqLw0KPj4gK2ludCB2cGNp
X2RlYXNzaWduX2RldmljZShzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgcGNpX2RldiAqcGRldikN
Cj4+ICt7DQo+PiArICAgIC8qIEl0IG9ubHkgbWFrZXMgc2Vuc2UgdG8gZGUtYXNzaWduIGZyb20g
aHdkb20gb3IgZ3Vlc3QgZG9tYWluLiAqLw0KPj4gKyAgICBpZiAoIGlzX3N5c3RlbV9kb21haW4o
ZCkgfHwgIWhhc192cGNpKGQpICkNCj4+ICsgICAgICAgIHJldHVybiAwOw0KPj4gKw0KPj4gKyAg
ICBzcGluX2xvY2soJnBkZXYtPnZwY2lfbG9jayk7DQo+PiArICAgIHZwY2lfcmVtb3ZlX2Rldmlj
ZV9oYW5kbGVyc19sb2NrZWQocGRldik7DQo+IFlvdSBuZWVkIHRvIGZyZWUgdGhlIHBkZXYtPnZw
Y2kgc3RydWN0dXJlIG9uIGRlYXNzaWduLiBJIHdvdWxkIGV4cGVjdA0KPiB0aGUgZGV2aWNlIHRv
IGJlIHJlc2V0IG9uIGRlYXNzaWduLCBzbyBrZWVwaW5nIHRoZSBwZGV2LT52cGNpIGNvbnRlbnRz
DQo+IHdvdWxkIGJlIHdyb25nLg0KU3VyZSwgSSB3aWxsIHJlLWFsbG9jYXRlIHBkZXYtPnZwY2kg
dGhlbg0KPg0KPiBUaGFua3MsIFJvZ2VyLg0KVGhhbmsgeW91LA0KT2xla3NhbmRy


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 08:53:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 08:53:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262797.455163 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nESR0-0003NR-4Y; Mon, 31 Jan 2022 08:53:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262797.455163; Mon, 31 Jan 2022 08: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 1nESR0-0003NK-1M; Mon, 31 Jan 2022 08:53:14 +0000
Received: by outflank-mailman (input) for mailman id 262797;
 Mon, 31 Jan 2022 08:53:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Fky=SP=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nESQz-0003NE-7m
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 08:53:13 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3803d823-8273-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 09:53:11 +0100 (CET)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2054.outbound.protection.outlook.com [104.47.14.54]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-25-qr0idivbMryOWbhJz8Kpcg-1; Mon, 31 Jan 2022 09:53:09 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DB7PR04MB4730.eurprd04.prod.outlook.com (2603:10a6:10:1c::28) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.21; Mon, 31 Jan
 2022 08:53:08 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45%6]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 08: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: 3803d823-8273-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643619191;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=uUzAP9JVzF5H5p9YakG9eno+1QeuPEvTuoxESP2eKw8=;
	b=HzfRoI/eYxRB03vYkOoQRcS5/IEONV6oJDOhCRA/MGwlVSuTQX/MIJufzKr2XstMaF8MvB
	7pXzDJ6FV5K1vTHALPwJvmdtgEyw53mtaFunPctFg+rC4N3lzAa00vVyHz5qiKZhpBZgCO
	m+LJo/XbZQTVqKuywOoDIW5XZa2mzHc=
X-MC-Unique: qr0idivbMryOWbhJz8Kpcg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XVRqEtdq/xnxWvOOPWeiv5PXPqUvqiGQPhAyxgcwDlEYT6yTDW2kfzIrkI/PyL3ByJOHe/al2q41EwM0pmFv6/Od1vQAM6ePQgyXVlq7Gu1l2WG3LfJPWJz/1BUjzN/EuxjImNc+tvkqKkdkYBdUDiTr9G0KuB+ve7Him1W6mr49RBHjKEEHJxPo6SEp8JJlZopUXi5fjf+hMSjoUob1sKG1f39iBjPO9x6nXJ7cgW3ZqC3HWzGmQ/8epxhp0lgpxkvWF68jwNtQp0toO45C69xe5PJZB4pWHCNifdmn3NYMUtupl7k4p9Bwix67f2OJatVJTiiLN8K1FdOdfpdfLg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uUzAP9JVzF5H5p9YakG9eno+1QeuPEvTuoxESP2eKw8=;
 b=hlp7/3P7PU3Q6GqZzzVd48GE0R24WA05e2fvDLYmY6SB1aLQhtiY7s3zDAKgftjLOslw5kdrZ0i0PsTZbyIgyV8wrR+TKu0BtKHE3zEPimaPVBSOip7mHwSQ+Np1kHps0sL2wQhfK1d4M6Qc5hSpCUy/YYNk4UGgYI+zv3r/pjVje7Nil+upykrvgR2UuWib+QmiobEnPLxsr2HbeDB5omHzUW2pBhDAi8ODYnhm0ijquW9+YD6P7T+uk3hmm2AiaLTkQgH7gO4hA2R2uwhRdngNoFbYPJW8rBMWpFwei+QFARuEbw3sQjYkZukPaapEDdvDQ2bkBkSAe00xaFARoQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <93ecc4cb-f868-2c87-ef79-c1e6a03a891a@suse.com>
Date: Mon, 31 Jan 2022 09:53:09 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v3] x86/altp2m: p2m_altp2m_propagate_change() should honor
 present page order
Content-Language: en-US
To: Tamas K Lengyel <tamas@tklengyel.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 George Dunlap <george.dunlap@citrix.com>
References: <2c421077-81c2-a45e-f7c3-9827d3cb1abf@suse.com>
 <CABfawhk0qDnOdO9DOKLPPNW=FtpGSJvJQAzmKRxxdkwjfeGSYA@mail.gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <CABfawhk0qDnOdO9DOKLPPNW=FtpGSJvJQAzmKRxxdkwjfeGSYA@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0069.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::16) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2b05e660-b3e2-4cc5-57b5-08d9e4971a4b
X-MS-TrafficTypeDiagnostic: DB7PR04MB4730:EE_
X-Microsoft-Antispam-PRVS:
	<DB7PR04MB4730EAC89AF1F1E8904C9E29B3259@DB7PR04MB4730.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:2331;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	fWl8CWPz262LIaplRB5Rg+ZCuILzFqzVdhj7TWeEKCKPdQT8e4Nwz4kbRTW94Odo2CowoxcwN8p33jNGVjip/ftXWHtEcCXjMw4XdAJzkJ+k7n9AVG+hALssqX2NUX4uQXaVxRt8twwjv+CbOGYEai4BVFUeKfTmnuFN4cDABr8plRzC+9oUGZqYxAhIXVrD2sXJSzq723eTR0FB71ACaI0DE4GKfgxywCfW/UZkffdRe/oMtncLi2VimGVu5reU16HZc12sxdCHfPhnnps819Y0lw1P8mEndik1oLFZnrAbCWeJTvrrdPcKCUZVm91GZSlWmKFEV2jnQogQ+pWQwrDBXzTzYjpHB+KvsrG1j+kU+zJO/Xj7DrmUEtRUiQhjQqPBdIo1PVWi1wDYvlH9gQ1w6QLHaqW/9pbn+xRXb6kjQe6HI193O21YOjtD8vbbeajA2mjkSzO1QxkJHx8CGg4QgAZkexHnKiRunD0eg42GYQdpLLQQhtVMupztCJUrnRm7GgpnqSpvqvKB6nmlh9yLZj3/WjqwrrE+I3fKiuyR9or5EafbcBl80qdr1O/Nl4/wnnWhaYLCndn5Hqpq1/ydFb+/ZVkVEymnxbXpKflsWik5+E6b6fvWulQizd2z+riFbPMPbs72LSzfRqZU+rAVijVUta28hYEmLSVqK4aMORLW5O0Fdd6y41meNWn6nmbqwmAKi3E+iSeP9GHy+mdRU4Vxbrt1tWPwHD2v6E4=
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:(13230001)(366004)(86362001)(83380400001)(66946007)(66556008)(66476007)(53546011)(2906002)(5660300002)(4744005)(31686004)(4326008)(8936002)(8676002)(6506007)(6486002)(54906003)(6916009)(31696002)(36756003)(6512007)(38100700002)(508600001)(26005)(186003)(2616005)(316002)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VTUwUVJuaGtYcFBMSXhPdTJiQUlmdEJoK1JYMFJzQlFNQVliMERTQUYzc25h?=
 =?utf-8?B?UXBZbGtkNlY5TVBRY3dodHlsRlJiVDM5OUZtVVB4ZmE0UkNadWVwRTVXRlNB?=
 =?utf-8?B?VU5GODlTeHhZUGRUQ0RYbzVpRnVDVzY1b0pVR3ZCV3VzUDUrNWVFdXQyZjgv?=
 =?utf-8?B?b2JFRCtVdmxSSURIM2IzWFoxbVkzbWpWRjdVWGc3ZGhuNEdQenc4Vi9QSkk2?=
 =?utf-8?B?N2NZSnk2Mk9UN09DczZqS0hzVkVFOTZmUmoxK1V4bkUwUDVJQVpVVUdobEFX?=
 =?utf-8?B?YWFxS3crbWhPR1lyWjNBcTRPM0NuSVo1UjcrMVhHN1g5eUtnd09XQlBnOUt4?=
 =?utf-8?B?Y3JRYk5ZcW5iVyt5VmNndjQrdVVhRXR1dFBPekFlaUpEU1pzYzF6bzZycGkx?=
 =?utf-8?B?U1BlNS85cU5WSlpGSTc2cGFkWDJBUEh3Nmwybi9GWHNrTy9IVUwwK3NKcDVz?=
 =?utf-8?B?VGxGSGJSMndqUGY2TXlWM2kwQ0pOZlVVeWJveXp4aTJKU1JoN3Y3cnAxeCt0?=
 =?utf-8?B?VUxwQWsrbGh0NnJJWE1xaWh1R2ViWHdBdzBqME0wSE9TTmVoazdnMEp0YnZJ?=
 =?utf-8?B?V1JMZ2ZnM1hLellFdUFzMXpmRW56cHE5cy9kak1IZVFTSG02R01QRDduUHdr?=
 =?utf-8?B?UjcrTnkvR3hwSm45SG9oZG9vNWZXczdOM3h5Q2ErdTk0cFpOTGo2NGk2Zzg5?=
 =?utf-8?B?RnM0TTlUcEYvNUU0YnZNZkJkcDl2SXRwNlRDaXM5MkJMZ0kxcnFlK0dGU2dJ?=
 =?utf-8?B?M1c5WFd0d0Vwd1BEd2VMMERwblh1M1B4cjFZWGpxeGo5eUxoanhFRlNyOUdN?=
 =?utf-8?B?dFEzdXlZNzRNQ25QajlqSlRyZWdsYUU4UFU5TWgzVnNqYnExVXJac1haT1Rv?=
 =?utf-8?B?Ri9Ea2c5T244NlI4amtBWHZCZ2M1WnA4ZEpneU95VjZvMGVPeEdZRS95UEdH?=
 =?utf-8?B?aUVPbm43V1I5UTNFTGxCNmwrVlh3THZTSHJFM2dXUDBXVVQrT0RZOGUyQzRl?=
 =?utf-8?B?YlpjZDRzb1dIWWF2NnQ2VUFSbUJrbFlveDJrVjgzUGI5QkliRkltb0l1SXBP?=
 =?utf-8?B?SC9QYWFxcHFUazJSZm05cmF1N1VGN2oxSTlaTHV0RjZzWE5uSTRONVliU2RQ?=
 =?utf-8?B?V0lGam11SkJYRnJ3UkYybkYvR3prUjVIWTZjRkh3TVIyalR0M21IUGx2WEps?=
 =?utf-8?B?dDRLYVgzQmJGcUJoNWJKYnJqME5ySW03V0FJT3hJN1hRTTM0eGwxYjRiR3VG?=
 =?utf-8?B?RVlQR0FpZTI5R2VRanRNSTVidk5wNnhtSncyL0VVNmMvdjc1ampSdE85YVlQ?=
 =?utf-8?B?dVlSSFAzWW9pVUo4ZFdKTjkxalNUK29EQzAyZFJrb3VXYjJhSzZXakRsQlBO?=
 =?utf-8?B?a3RML1BPdXJudjdqTldmUldtWHpQR1g4M21YenVnZGRjNlMvbXN3R2hXTnZX?=
 =?utf-8?B?aC9ibk1pbnpocXQ5eGhKamN3OUU2VW43eGNqMm82S05aVzNFaTkzU25ub0JT?=
 =?utf-8?B?Yng1aklPdUJTM0hwcFhFQ2JxTnJjUHZyV01RMUplNUZOMUtLdjFpT0dJbHM0?=
 =?utf-8?B?MlVaQUlNSEhFd0lJakNMMFNaR1J4MzZabW50NG1HZkc4SWx3OWdiRnpBS2Yy?=
 =?utf-8?B?Z1U0K1kwSlFPaURaanBoZmtlcGUyZ3M0UnRRYnFwdE9ncGE1UEF2dDVXVlZL?=
 =?utf-8?B?S2FNblBNdnZQTVFBc3Fmck4rdys0d2lSd0w1MFFDUXEwZk9OSURqdm4wbUhR?=
 =?utf-8?B?U04yalJzSUhxZlg2TUdwdDE5SnM0d3JSanhvdFJEWktJVFZPQStEVWVaSHBx?=
 =?utf-8?B?MUpJa0RXZE9QQUF4dk82MTlwTmR6Si9YRm1OMmtaVHpFbEJ2MEtuT3NYV3Zv?=
 =?utf-8?B?QXF0OGcvVVJhY2VpbCswWEdmZS90ZDM4VUZoc3U0ZExOQkx6YnhRVS9SZkla?=
 =?utf-8?B?TGJ5Zk11SkdEMDM4SHNJSytlcnJTRkVLbXhZUVUvTXEySVZOeC9YODFYdU4y?=
 =?utf-8?B?MCtBbVl3YjVGakNsM2ZYTTFKa3lTWmtQMHIyTm1sV3NrV3kwV0c3bXI4WXFp?=
 =?utf-8?B?YXBHTFRlS2ROUWo5cjVvb285RlBJSU5IYnNkZ1crcjRYOGNncGpPYjM2UjF5?=
 =?utf-8?B?UWxDeWJuajN5TE5vVmJiUmVwNVFPK2MvUXpIN25GODdTbXBEalc2alAyNWdK?=
 =?utf-8?Q?3FvAg/WotvqTSBAXI12Y3aw=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2b05e660-b3e2-4cc5-57b5-08d9e4971a4b
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 08:53:08.4163
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: prCjKch3usCe8tYIm0dPiJwPzdXDuLDsj8UgXJk8ZoL1RnaIa8LaLiHni8WpoNC9G5KoHTPiSBWuV897p5JwHQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB4730

On 28.01.2022 17:49, Tamas K Lengyel wrote:
> On Thu, Jan 27, 2022 at 10:07 AM Jan Beulich <jbeulich@suse.com> wrote:
>> @@ -2549,15 +2546,16 @@ int p2m_altp2m_propagate_change(struct d
>>
>>      for ( i = 0; i < MAX_ALTP2M; i++ )
>>      {
>> +        p2m_type_t t;
>> +        p2m_access_t a;
>> +
>>          if ( d->arch.altp2m_eptp[i] == mfn_x(INVALID_MFN) )
>>              continue;
>>
>>          p2m = d->arch.altp2m_p2m[i];
>> -        m = get_gfn_type_access(p2m, gfn_x(gfn), &t, &a, 0, NULL);
>>
>>          /* Check for a dropped page that may impact this altp2m */
>> -        if ( mfn_eq(mfn, INVALID_MFN) &&
>> -             gfn_x(gfn) >= p2m->min_remapped_gfn &&
>> +        if ( gfn_x(gfn) + (1UL << page_order) > p2m->min_remapped_gfn &&
>>               gfn_x(gfn) <= p2m->max_remapped_gfn )
> 
> Why are you dropping the mfn_eq(mfn, INVALID_MFN) check here?

Thanks for spotting - this is a mistake in the v3 rework.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 31 08:57:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 08:57:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262803.455175 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nESUo-00042e-Ml; Mon, 31 Jan 2022 08:57:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262803.455175; Mon, 31 Jan 2022 08:57:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nESUo-00042X-II; Mon, 31 Jan 2022 08:57:10 +0000
Received: by outflank-mailman (input) for mailman id 262803;
 Mon, 31 Jan 2022 08:57:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ytUN=SP=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nESUn-00042R-NC
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 08:57:09 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c373b6c9-8273-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 09:57:07 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c373b6c9-8273-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643619427;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=v0uCsFN7cuyPvP36Q/6+jZz2sPtuZrTqUmU+2s+2fIY=;
  b=foECka5i96Xsyrzjs/Xxexr/3g4Ozggg5Q03vnxynCRZIdAcqc6NRFWb
   vu6cd0EINvFO75OHiry6KOLZF9m3z5Z/FYreycgC/9cLjjqcuflYmp1EA
   iOrgkcpslwi2czQ+Kc6XeGIMAsmNioU7I7v2lZR08XWCI0vMteOhvh+s7
   k=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: /481knikzNJreyF2jcka5xisX/33OxGNoLoIF3RH8hd+kE8g8InAHW+RC3lLp/ythvOKYKXLXr
 15y/6XTDOgjIECq4JWex/OkpmMefrZPXkCoLfbH5puYiKLj5EK0Ws2l3g4phvWVibyIIDnaO/j
 9uQuae+5ZaIhow84qMT71Vc0qL27IP/j3EQdNnunt5Q+6sS3dnHWYNkRuh5FEBWNjUZ+DNmOdp
 SwSf0Mxzgtza+C1AwsOjUBFXuDu+a3/lxGuweBn/zyFJLheV1+RPcgdFcXpSac91LXnswbHc03
 53whb/9ox3seAx/if96qxd55
X-SBRS: 5.2
X-MesageID: 63101300
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:SZDhhqLEDDV5SeH/FE+R5ZMlxSXFcZb7ZxGr2PjKsXjdYENSg2MOy
 WEWCmuGbv2OazemLY9zbY6y9h9Sv5CHnddgQQZlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokcxIn5BC5C5xZVG/fjgqoHUVaiUakideSc+EH170Us4wrZg6mJVqYPR7z2l6
 IuaT/L3YDdJ6xYsWo7Dw/vewP/HlK2aVAIw5jTSV9gS1LPtvyB94KYkDbOwNxPFrrx8RYZWc
 QphIIaRpQs19z91Yj+sfy2SnkciGtY+NiDW4pZatjTLbrGvaUXe345iXMfwZ3u7hB2GxuBq2
 c12vKeubjsZEafpssYHCUFXRnQW0a1uoNcrIFC6uM2XiUbHb2Ht07NlC0Re0Y8wo7gtRzsUr
 LpBdW5LPkvra+GemdpXTsF2gcsuNo/zNZ43sXB81zDJS/0hRPgvRo2UvoYAhWxo3qiiG97aR
 NA6ZGJuZi/uXBlhYlZQUM05nNiR0yyXnzpw9wvO+PtfD3Lo5BR4zbzFINfTPNuQSq19t1yEq
 2fx2nX2CxAXKvSS0TOAtHmrg4fnly7hRJgbErH+8/dwmUCS3UQaEhhQXly+ydGph0j7V99BJ
 kg8/is1sbN05EGtVsP6XRCzvDiDpBF0c8BZE/A+rhqMzKXUyw+DAy4PSTspQOIhsMg6VDk7z
 GijltniBSFsmLCNQHfb/bCRxRuwMyUIKW4JZQcfUBAIpdLkpekbqRbCTc1qFqKvufTzFSvt2
 DCBrCU4hLI7gNYC0uOw+lWvqzCxopnESCYl6wORWXiqhiteYIOmfIWu5ULs0edbLI2ZQ1+Cu
 1AJg8GbqusJCPmljzeRSe8AGLWo4fetMzDGh1NrWZ47+FyQF2WLJN4KpmskfQEwb5hCKWSBj
 FLvVR1568ZjJ2qyVqZMfaWNO+sg6ILCD469WaWBBjZRWaRZeAiC9SBoQEef2WHxjUQh+Z0C1
 YenndWEVihDV/k+pNaib6JEiOJwmHhirY/Gbc2jl3yaPayiiGl5oFvvGH+HdagH4ayNu205G
 P4PZpLRm32zvAATCxQ7ELL/z3hXdxDX5ris8qS7k9JvxCI8QgnN7NeKmdscl3RNxfg9qwsx1
 ijVtrVk4FT+n2bbDg6Bd2pubrjiNb4m8y5gYHxzZQb2iiRyCWpK0Ev5X8FtFVXA3Lc7pcOYs
 tFfI5nQahixYmmvF8shgWnV89U5KUXDafOmNCu5ejkvF6OMtCSSkuIIijDHrXFUZgLu7JNWi
 +T5imvzHMRfLyw/Upe+QK//njuZ4ClG8MovDhSgHzWmUBi2mGScA3av3qZfzgBlAUir+wZ2I
 C7PX09A+7GR8tBkmDQL7Ijdx7qU/yJFNhMyN0HQ7KqsNDmc+WymwIRaV/2PcyybX2TxkJhOr
 80Mpx0lGPFYzltMraRmFLNnkfA369f1/ucIxQV4BnTbKV+sD+o4cHWB2MBOsIxLx6NY5lTqC
 h7epIECNOXbIt7hHX4QOBEhMraJ28YLl2SA9v8yOkj7unN6peLVTUVIMhCQoyVBN78pYpg9y
 OIstZdOuQyygxYnKPiciSVQ+zjeJ3AMSfx/5JobHJXqmkwgzVQbOc7QDSr/4ZeubdRQMxZ1f
 m/I1fSa37kFnxjMaXs+E3TJzNFxv5VWtUAY1kIGKnSIhsHB2q090ipO/GllVQ9S1BhGjb5+Y
 zA5K01vKKyS1D50n8wfDXu0EgRMCRDFqEz8z1wFyD/QQ0WyDzGfKWQ8PaCG/VwD8nIadT9ep
 enKxGHgWDfsXcfwwiptBhI19629FYR8pl/YhcSqP8WZBJ1rMzPqj5inaXcMtxa6U9g6g1fKp
 LUy8et9AUEh2fX8f0Hv51Gm6Ikt
IronPort-HdrOrdr: A9a23:Qv53i68ix44w/thoH3Buk+FAdb1zdoMgy1knxilNoENuHfBwxv
 rDoB1E73LJYVYqOU3Jmbi7Sc69qFfnhORICO4qTMqftWjdyRCVxeRZg7cKrAeQeREWmtQtsJ
 uINpIOdOEYbmIK/PoSgjPIaurIqePvmMvD5Za8854ud3ATV0gJ1XYGNu/xKDwReOApP+tcKH
 LKjfA32AZINE5nJfiTNz0gZazuttfLnJXpbVovAAMm0hCHiXeN5KThGxaV8x8CW3cXqI1SvF
 Ttokjc3OGOovu7whjT2yv66IlXosLozp9mCNaXgsYYBz3wgkKDZZhnWZeFoDcpydvfomoCoZ
 3pmVMNLs5z43TeciWcpgbs4RDp1HIU53rr2Taj8A3eiP28YAh/J9tKhIpffBecwVEnpstA3K
 VC2H/cn4ZLDDvb9R6NqeTgZlVPrA6ZsHAimekcgzh0So0FcoJcqoQZ4Qd8DIoAJiTn84oqed
 MeQ/003MwmMW9yUkqp/VWGmLeXLzYO91a9MwQ/U/WuonlrdCsT9Tpc+CQd9k1wg67VBaM0o9
 gsCZ4Y542mePVmGZ6VNN1xMfdfNVa9My4kEFjiaGgPR5t3c04klfbMkcAIDaeRCds18Kc=
X-IronPort-AV: E=Sophos;i="5.88,330,1635220800"; 
   d="scan'208";a="63101300"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GBkEKmfSUXmSMOwL/0iTFTRQDrEr5tNkGS0X4I57tG96s9LplHup/JjFcHDNqpZMnXCSKT83zAoOKgpR8NQ4kdcW2bD1udnqfFGBIZxRM4FtIPaAraud9gfiAoxKP7kEAvJpT1kDMpBOcaFsl2iWSWqkkREsjhzfkKmwy0PcdBEOtnDYiYRz06G7xVnSPrPx6Ibc6fyIFZhoA+FL6osCLRuEU3K4Oo4vPivp00pxFYr11PEA4O9jan1YFMDrwAJoLwDMeBhYfkIpnTaQJYnfVTd4jRDrsXFoIMCiEf7mWJ5c3wCEyZ0UE7LM7p9bBKdJpYqiPaylZpPPPygQQJscww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pTrfXcwKimioBEh4P/30fZepIiT5wZOWp2rDgpxwfmE=;
 b=odsXBli9F2o8Blkz6pBNURWnjHIa+YNd/yg+2FINVqcz4jXVkr7JepeQYGkXPtyRMOlJrW8uesASaeKWC4XuN1nQU/iaT71RzSNNYDWmY92fGW4AoXqwCEeRO1tpha72XGep7N9SkNEM8uOVtrEdUiP/jOxwCsuNZ5XnQnwqHeoOAIvNYWIX3JoMWvX/DTP8ECP0ggqcgabyUP0P44Ws8KvsMgSZ1UbazdixTrEfFoRAE3fEBmvlpetin4k8QzyzdPxu0yHREDTiDS2y2WCRpZVgbgSuAWUuFwvlyZxJXhfHXxuBITfOwR4dRRqQBDnRfVTvW+oimaRUYmOSD0ZTFg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pTrfXcwKimioBEh4P/30fZepIiT5wZOWp2rDgpxwfmE=;
 b=uO7/ksLVLD27fVA6iEnj5MawCcr0fEuGGbJ5TQOQCGtrF23XfnUW7jjrQiMUBuRblMOQ6fAQYZ3754aFaxw3PsZUDgUkXKnoyGMxwgiTVpOP+9DPkmxhszgPaZhJEw59jw5Cm1E6H/HemIJOUKEN5LGoRArTPqOIJ56lHpG3SAk=
Date: Mon, 31 Jan 2022 09:56:51 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
CC: Jan Beulich <jbeulich@suse.com>, "julien@xen.org" <julien@xen.org>,
	"sstabellini@kernel.org" <sstabellini@kernel.org>, Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Artem Mygaiev <Artem_Mygaiev@epam.com>,
	"andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
	"george.dunlap@citrix.com" <george.dunlap@citrix.com>, "paul@xen.org"
	<paul@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Rahul Singh
	<rahul.singh@arm.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v5 03/14] vpci: move lock outside of struct vpci
Message-ID: <YfekUyXZZ1cxeObs@Air-de-Roger>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-4-andr2000@gmail.com>
 <c7a9020a-9713-47b6-45bf-5ac2c6d4157c@suse.com>
 <Yd73Aq4w2H1Eo01h@Air-de-Roger>
 <4fb1d547-6f6d-c4e8-b2ef-0dea780dd66d@suse.com>
 <Yd/pnYDBwsdyLrPN@Air-de-Roger>
 <c937d26a-5357-1ced-ee6a-ef713a3c5964@epam.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <c937d26a-5357-1ced-ee6a-ef713a3c5964@epam.com>
X-ClientProxiedBy: LNXP123CA0016.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:d2::28) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9abe09f4-70cc-4d58-4d1d-08d9e497a347
X-MS-TrafficTypeDiagnostic: BN8PR03MB4884:EE_
X-Microsoft-Antispam-PRVS: <BN8PR03MB4884C2F79063B5E6CB27C0958F259@BN8PR03MB4884.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: zA5sSt6cfoa5KHl0qTsg6U++8lBv3xfn0WRONRpCWCQzYz0T3FRjYBtF1L0YfRoq90IloAzFl8tvwfU10bQKMbg1hXiiBPjRCV94vw+eHgFc/VooHnZ3sKztfzvnzE30nNlrOWy4sgViM//ShtmKomnQrgUXA1tyO6vh5MCkUxEgCbvENhUkc2kWYvQ1zrOZlBjKbrIu45vxwSLlsgt0s6rJsvyaiM6GcFYmicQb8HGB5otJZ39pTleMVqjqt9cokDT2+PG6o+zIElv4dRmT+/jWo3IIRU98VRLC/enahiV4Q+fvAaaLiWd3fvMxaDauFFjVdFfgWBY6zJK1hvKyW6V+08csIH5+Qz5soXU+fzgqdt78Rr69hC3Iic5yKY8llCuKFDyqWpF09V6utX6jhlk0Q7e9EBpLFqnYLvaGTxv5Ap4WvPDYdOtv4Br0k3LT50ucGpTw5q0QOWj4CApPDh8nB3MYozex3znPfv+AoxYq5v4fQEEJ+S6lEeHlXhu2f/1Wz93xP/mrwVHgqWuADlcCaoknqZ8aEuuXZXJkFaqaG3s7nXTVRsptiJdSntIiMBADnm2Ofu4ulKOAS/PA4BS2jtX4YZ67DauXOlc5adglmsqDMcukWDEWyMtBzCnCZx6kAfGiyrpV+p+4LRELcA==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(7916004)(4636009)(366004)(2906002)(4326008)(8676002)(86362001)(83380400001)(66556008)(8936002)(66946007)(82960400001)(38100700002)(33716001)(66476007)(6916009)(54906003)(7416002)(6506007)(6666004)(6512007)(9686003)(53546011)(6486002)(85182001)(316002)(508600001)(26005)(5660300002)(186003)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?b3JqNEVOZVA4OUhsRlQxa3JLVklSNkFQNEc3ZlRpcm9zNzhnUHhGbXFJTDVo?=
 =?utf-8?B?enVpdjJJZ0IrSm1Pd2gyYmJ5OUgwd0V1MU5qVmxDbW80Ukh0Mk9RQ1B4cFpQ?=
 =?utf-8?B?anJLMW1UT0s4MnF0ZlhlVTRmeFpSZHdIUmhqa0RkM0QxNnVWZm9LTXZsRGNp?=
 =?utf-8?B?Ky82bno3Rk9od1BJZ0pWaWVqaHd1NDM4ZG9jWjJ6YWdta29SM1d6aDZVMHJt?=
 =?utf-8?B?dkdmZUhINlBIZ2pUdXE1eFdJYVg3WGRtVHg5eTVEM25PNnBmSzNmSlJPQ3Ev?=
 =?utf-8?B?M1FQSzRvblpKcXpjNERsMjJMbWFvbnM4N0NJQk02b3hFcWczQnYxWEdCOWxJ?=
 =?utf-8?B?SkhzVWlhRHk5K2l5SEljR2RpTWxaRHcrRGQvbkk3ckMzRWJKM3FabmRrOXlo?=
 =?utf-8?B?d3VLY0ZCeU5PODNnSVV2RE5FWlBteHRrV1c4TmE5YTZlOWkvaU04SVk5dm9q?=
 =?utf-8?B?aGZZWWh4NEJFUEtQZEpXYjAySUVLSEVtcWpXRlQ4UlV2dWxhRXNxQWc4SURV?=
 =?utf-8?B?WG5nMTlQUFBlVHhzZ0FGQTF1U3dHRUE4Y2g4b1JVMUladG1JMUVnd2Npc2JQ?=
 =?utf-8?B?YXNOQ0lHMGZFd0txU2lLa2xVZjZvNVBONUdFcGFTdUM4eVdKUFJXWGtrQmVr?=
 =?utf-8?B?QzlRUExDeXkwMmxZWFlrbisvVVdsdEMvYzF0UG4xSjhueGNoUC8xSHpDYlA0?=
 =?utf-8?B?RnJCb3pzK3BleGR2QWVleTA5VXMzNDdldGk4UDBJeXJMRnY0NzdTMXBIWTdL?=
 =?utf-8?B?aTR6anhBZnN4eG5mb1FaaStNUVM5QVpjeTZlMnF6dFZNN3c3QmtNclFqM2dM?=
 =?utf-8?B?S1dCVGlleDZMV3RWTlNuUGZ4M0dNTXNic1NwYW9tSEhMMTkwMnhvQi9jcGtW?=
 =?utf-8?B?Qy96OG9hMmNMVFhZUzMybDNtMlppMGVoQ3ZSekxlOWswbktoWFhUci9yNUlj?=
 =?utf-8?B?S2F5VTh2QkFNU0dSM21rdDA1N2czNWRoakh3WHRuN2ZNMyt5SlpLNFFVdzdQ?=
 =?utf-8?B?VTNRbmt1VlJHQUF3OGQvb01halpVTVRCcGZkOGR1cjdWdms2ZmYvQUIyQXR4?=
 =?utf-8?B?TUZmZmJxN29GZm1pM2xGTFNaOHY2Y3d1eEorcmdta2tmdGpJbm9VdUlVNlBx?=
 =?utf-8?B?WFdOdzNUcFBncHF3eTA1QWpUR3B0VEhlL1VjTmNpNVEzbkpQdGFtQU9YUGxh?=
 =?utf-8?B?cXBBTTN6NU1OMXhXZjFOQmdEVXBnSzFlWGg0a1IzM2N5NXFySWV3SzNVSEtJ?=
 =?utf-8?B?YTQ1VmRwcWtwTHo1NXZ0a0grOWVVN093YytrZGtjbTEwUHVjRXlyRmFzdFVN?=
 =?utf-8?B?c2swK25zQ1B0eXFjOGFLSjRiS3hFalB1cFIyZW1Hek8xTDA2QXNGaXBKY1lh?=
 =?utf-8?B?MmpmSnpNNUhaaWppY3hmN3cyVHh5clA3cjZVUUw5QnJPMVIzRHJoYlA5RXpi?=
 =?utf-8?B?VzM2bzBJS2FIdDFrQTFveEVsOXkzZHJ5amxMQ1kxdzVOWHdvMEFHWHREVWdT?=
 =?utf-8?B?ejNha3M1QTROTGhPM0U1cnRObWIxMzFjMjhmL1Z4a0Z2UHFhSjlmUHhpNjA4?=
 =?utf-8?B?eTVGaGdJZ1hMRG5ETng3cXEvbGMwdHVTb094Ump0eEdnRytyYlBtSUhoNTV2?=
 =?utf-8?B?KytKVWdlbGtNdlowZFEzUWt6RGk5b0FoaEllbUZDT2VEb0dIZzNYakN3eDho?=
 =?utf-8?B?MUZvSEErR3I4QVFUT3FZREdYc2hIYUpBZ1Y1aFo4d25GRDhTcTUyRFJhYWkw?=
 =?utf-8?B?bUZmUUhpNko1SVdyK1FoTGk2dVhVYndpdk5rcWJ6MTdNMTFIYmMwTHRPbzZL?=
 =?utf-8?B?S2U3Z3N5UVd3WnRUV0NXK2RtMUg4UUR5bjBuVWwrNHcxY0doWmNKVnJvenZY?=
 =?utf-8?B?UlExeGx5YUdNTG9OWUN0UDZiZ0JIR1d4bzl2RWpUTmhpdit0ZDRBN0p2cTFK?=
 =?utf-8?B?RGRTK1BjOExLWlp2ZW9JOVVkWVdncFdPTHl0anRoSW9LMmZRd0ltTjJaNlFm?=
 =?utf-8?B?RkE2QlRkS2F3ZEF4ZmtmcGJlTVRMQ1pQRFJaT1JPQ3VlM1REZFNBTE4xa3V2?=
 =?utf-8?B?YUNoZmE4Z3kwWmZ6ank1b3AvZys4TXVaNXJHamtmaERqT014Q0owaUd4TURo?=
 =?utf-8?B?VEFCYmk2UGI4TmVITURCeTcvR0JFM0N5ZVdMdHVHWXRVM2MyWG0wTjFjOXdR?=
 =?utf-8?Q?U06VtaJTCCQCu/z8N85OuBE=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 9abe09f4-70cc-4d58-4d1d-08d9e497a347
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 08:56:58.1919
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: BtgnOYtRg+meBGB7WAuSXcktjCaFZZcmvFY/MdZJJ6kavyqTGQLpcnaM98xqeb5xJCDGF0NBqCu4t0Scl8Rdmg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR03MB4884
X-OriginatorOrg: citrix.com

On Fri, Jan 28, 2022 at 02:15:08PM +0000, Oleksandr Andrushchenko wrote:
> Hi, Roger, Jan!
> 
> On 13.01.22 10:58, Roger Pau Monné wrote:
> > On Wed, Jan 12, 2022 at 04:52:51PM +0100, Jan Beulich wrote:
> >> On 12.01.2022 16:42, Roger Pau Monné wrote:
> >>> On Wed, Jan 12, 2022 at 03:57:36PM +0100, Jan Beulich wrote:
> >>>> On 25.11.2021 12:02, Oleksandr Andrushchenko wrote:
> >>>>> @@ -379,7 +396,6 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size)
> >>>>>   
> >>>>>           data = merge_result(data, tmp_data, size - data_offset, data_offset);
> >>>>>       }
> >>>>> -    spin_unlock(&pdev->vpci->lock);
> >>>>>   
> >>>>>       return data & (0xffffffff >> (32 - 8 * size));
> >>>>>   }
> >>>> Here and ...
> >>>>
> >>>>> @@ -475,13 +498,12 @@ void vpci_write(pci_sbdf_t sbdf, unsigned int reg, unsigned int size,
> >>>>>               break;
> >>>>>           ASSERT(data_offset < size);
> >>>>>       }
> >>>>> +    spin_unlock(&pdev->vpci_lock);
> >>>>>   
> >>>>>       if ( data_offset < size )
> >>>>>           /* Tailing gap, write the remaining. */
> >>>>>           vpci_write_hw(sbdf, reg + data_offset, size - data_offset,
> >>>>>                         data >> (data_offset * 8));
> >>>>> -
> >>>>> -    spin_unlock(&pdev->vpci->lock);
> >>>>>   }
> >>>> ... even more so here I'm not sure of the correctness of the moving
> >>>> you do: While pdev->vpci indeed doesn't get accessed, I wonder
> >>>> whether there wasn't an intention to avoid racing calls to
> >>>> vpci_{read,write}_hw() this way. In any event I think such movement
> >>>> would need justification in the description.
> >>> I agree about the need for justification in the commit message, or
> >>> even better this being split into a pre-patch, as it's not related to
> >>> the lock switching done here.
> >>>
> >>> I do think this is fine however, as racing calls to
> >>> vpci_{read,write}_hw() shouldn't be a problem. Those are just wrappers
> >>> around pci_conf_{read,write} functions, and the required locking (in
> >>> case of using the IO ports) is already taken care in
> >>> pci_conf_{read,write}.
> >> IOW you consider it acceptable for a guest (really: Dom0) read racing
> >> a write to read back only part of what was written (so far)? I would
> >> think individual multi-byte reads and writes should appear atomic to
> >> the guest.
> > We split 64bit writes into two 32bit ones without taking the lock for
> > the whole duration of the access, so it's already possible to see a
> > partially updated state as a result of a 64bit write.
> >
> > I'm going over the PCI(e) spec but I don't seem to find anything about
> > whether the ECAM is allowed to split memory transactions into multiple
> > Configuration Requests, and whether those could then interleave with
> > requests from a different CPU.
> So, with the above is it still fine for you to have the change as is or
> you want this optimization to go into a dedicated patch before this one?

The change seems slightly controversial, so I think it would be best
if it was split into a separate patch with a proper reasoning in the
commit message.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 08:57:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 08:57:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262805.455186 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nESV6-0004Qq-3Q; Mon, 31 Jan 2022 08:57:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262805.455186; Mon, 31 Jan 2022 08:57:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nESV5-0004Qj-Uf; Mon, 31 Jan 2022 08:57:27 +0000
Received: by outflank-mailman (input) for mailman id 262805;
 Mon, 31 Jan 2022 08:57:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Fky=SP=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nESV4-00042R-Ni
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 08:57:26 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cf3bf128-8273-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 09:57:25 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2107.outbound.protection.outlook.com [104.47.18.107]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-36-onPEGWRZPX-TIJOPj3VKKw-1; Mon, 31 Jan 2022 09:57:24 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AS8PR04MB8689.eurprd04.prod.outlook.com (2603:10a6:20b:428::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.21; Mon, 31 Jan
 2022 08:57:22 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45%6]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 08:57:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cf3bf128-8273-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643619445;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=Eds8dzQvZSCAzcG+Kw3lWrYgRNpaKYIupvYj0hoW7XQ=;
	b=cFRVNs+UCB8Lb1aTpVWcVznDdc3z81pqrC8eV9Dxeg0Sg43HhGK4/bfhTGYb+/egJeWXXo
	NpuK0DyU4qHlluEQ12j4gU+mMaOsSQNkHzvj6TsKxUOOIZ9VG4U1yCPOqIjN5RufdFBfFG
	IsEZQ+QLMm3fcNbkYEIMo2G0sM6QmKY=
X-MC-Unique: onPEGWRZPX-TIJOPj3VKKw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YJqI8V7bD4B9QGnYaYahpRmtsAQv2DPTYLqbvywyrOvzaxlYQlFsrDROYc73xTb1m+HG6hdd+QTJI4cjZOusWLNB0cB+r74y78pOXiyNP4IOgzux2BL/8UYI2tcR/lZ7u7dwLlZMTY5Qg4b9oNLrvxcqhcd4qUhUGMRqwGKfLnM+ZHAesmnmj/1mNzsiOw7TN4Hj65skrisSqt+NtVtzceV63pZpAYjHdcZ7zaM+ujITkRL6DLVTtomeGr3m7VPpTLQE3xo7uGeLuHyIG2KavwGib2zNaHo2wPh7+MVFYRaMqx0AlP81t1zTCiX1eogA9uRs+2ZrrMcQegIsGrlqhg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Eds8dzQvZSCAzcG+Kw3lWrYgRNpaKYIupvYj0hoW7XQ=;
 b=cjJ9Ym/Ay9iEYWCoWBAxf2WQyJ69VLlV//HRhXPkeU22gKg5W+h45h4fpX3uIHPzM8E1Xf5W6YuUP/JrB5Rb6GJjbKDUxttKOrpZ1DM8WdBMpAbMdQopaKOE/FX4LH5THc4wrmJwC+1is1PNSd+3QhnXtp6iNeL4aAb/EA2QEbT4f4k8OO9v/xTfpBukS79l6xBwrYJsGnZBKrjwBKTSuO2lxNyXdROChauj4OWOn71MUMimIBSk+oJZSmox1RWpFIOsLA7NacrY0Eq3ikGFwJLKp34pJ+fJp/Q5t5hEQg03/iLHB+remu7PwhEGWH4B0LBeDh50gf+VWqpBu7wAFg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ef2ddc06-c406-7b7b-1bff-1cb7aaa45abc@suse.com>
Date: Mon, 31 Jan 2022 09:57:23 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [XEN PATCH v9 03/30] build: fix exported variable name
 CFLAGS_stack_boundary
Content-Language: en-US
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: <20220125110103.3527686-1-anthony.perard@citrix.com>
 <20220125110103.3527686-4-anthony.perard@citrix.com>
 <d729f897-6319-e82d-f953-c8411fde1e07@suse.com> <YfQGF0JHWcxQHwmy@perard>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YfQGF0JHWcxQHwmy@perard>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR0301CA0057.eurprd03.prod.outlook.com
 (2603:10a6:20b:469::11) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 79e2a151-2e1d-48a6-3b51-08d9e497b1cd
X-MS-TrafficTypeDiagnostic: AS8PR04MB8689:EE_
X-Microsoft-Antispam-PRVS:
	<AS8PR04MB868975FF7ABA235BEA8EB777B3259@AS8PR04MB8689.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:
	U7DTh37DNqx06djapiANdog4Wbjq9Tctu78M+HoivrIWSSz7qumlmAn0S9WiMfTXNMV7w/wKtC1IwjlhcLgAV7vrlglQxoZaX9vV0ZEMXq0uOeuKnIytjMsG0dQItWQfJ3RJuT++NdT1WF26F3yfLpoMxhJeI6Muq4IXIzXcEB0sMGUJ1vjqqrdHqtMn/u/Zh1WI7zVvGbhPE2XKTn733QlNFADFCbtYgeta59gMuoM9XSC1ClWU3iPS5qzvSQTKNUvApeaEDIIVXu3YVlZMKS8CE5t1IamVDLf4+j2PWTE8Ie+nV2LuSqZo9s3Antkkt0G+d9vQKXyAKb1stmrglVEO0psxzY97kE2vEecHTT5z50zrTh+j5xCJWO41oPYS++b+2A6mSm0Nq0qrXvS3Sd9efHSHg1UknsnVeA4sw5g0Xj+Nvzksw4bkTrF/RQzWOM1zZxCrwrf217jYy1rp3vl8WBJ1vyyaJrVT1Q+20NyWPb91SGVe7Te/JaCsSGjd2ZbF41KdTPA/f/f/gVwoZtKsIW6Rfwh0C+0bd6IzVk0kHGWpk3jLeb1BTVOzv5WLlpUcIYzsNrHEnMxXzZlJDaoIR5rF3M81mTWrRrY8ktrZg/QdZ8Dbdv345vd/0U2Bn0XVRboSUlUveNqcR96MJeUkJeUu7pKuBqMiHtAwEo4gOcZ1wsXam+hJfv2yXGcwTJLLwLJyW6m+2luZtuxFfP1FpGUzc3QJmhUz3B1RPas=
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:(13230001)(366004)(8676002)(8936002)(508600001)(2906002)(4326008)(31686004)(316002)(6916009)(54906003)(6486002)(6512007)(6506007)(38100700002)(53546011)(26005)(86362001)(2616005)(31696002)(186003)(5660300002)(66946007)(66476007)(36756003)(66556008)(83380400001)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aU5pOHdMODlMVkgyOFV3MCtFYXZSTGtBN3lLWnl2eFcvSExmTW03eVlHWnhJ?=
 =?utf-8?B?cXhQc01YV1JXTXQzWklheWY2elgwOHFyaXlXYm1HTUE3U3dpZUdMRjJmTXQz?=
 =?utf-8?B?dGpLOGZXRExkb1NNY1VaeDZKSFNXeVZTWFZnZ1U0NlhLWTBUSms0MFFQS1k4?=
 =?utf-8?B?NHNjeEZzQUpFa3huV25VTzNOaCtiU3Yra2t0d1pobGZXZjNpcndsRUFVejdM?=
 =?utf-8?B?YmEzRFZ2TkcyOWlCUTl6T05xZzI4OE9vN1VZdEtHSXhLenV5MlZpSlRtU1dC?=
 =?utf-8?B?bTJuSFpsb3gxM0g0M3Z0aVI1amJKYjR4L2kxL1NGaVBZMjVmZjV6cTNqTDR3?=
 =?utf-8?B?a3VmcHcxZFNaYTR5YjRzR3Z2eTRKWnRYcjRrT0Q5Y2laaU43QjY1STRoRFFP?=
 =?utf-8?B?Y0UrbWMyVTZWQnR3NjZtenVIY1RsaGszZi92YXJWWEpENXNlL1JLalU2V1pm?=
 =?utf-8?B?TXI1dFVzaS82OG1WZDRyMDNhblJrUlFlQkRGUkxxUlR0dk14TCtqdEVOZURm?=
 =?utf-8?B?OXFsMTNQTTBIZ2VVbHB4c0J1ZmJCNnBWYlZaTExsVC8xeFBiQUoyekMwaFpP?=
 =?utf-8?B?UFlQU3puWmZ3Q250VW5NbE52TG50ZGFKS21YK1FadUJMaDJhcmdPaFBNajVM?=
 =?utf-8?B?Nm5xTnA1cUU0V0FERkQydmw5WDBmOW1weDVSWERCVWFFTU5sUitKVnhHYUs4?=
 =?utf-8?B?V2txckVMcytraWtyYTU2WFJ1TldXR3RiSzB2MFR6ZXpBUUU1eHc2THZ2UHFG?=
 =?utf-8?B?dWtWbTVvdUpwU2cvN1NaL0JHNGxWMVV5UDlpTjJLZFlwbXJPcEpFamhGeThW?=
 =?utf-8?B?WkpRYjdPeUxFdFdxK2g1US95ZytrKzBoZGNuMzM5U2FBUzA4c0xYMXN6anN2?=
 =?utf-8?B?dnRENXptUW9ScmFyaU9nMFZTamRiVkxNbFJ1VlhQWDRBbDFPZi8vMm40RFZM?=
 =?utf-8?B?Z1pOZVFldXg2VVJUQXlzUjE4VXI2UUJmcU1aeUdKNlNaTVUxVm5YWklXYzQ2?=
 =?utf-8?B?SzY3SFVMeWJvZ3o5Y013WmNJbHRGVUVNNFYxd3k0TkROWU9HYlJCd1VIaGdC?=
 =?utf-8?B?MVdUbzlFRHgxNEorZ2gvdUhFamMvSGNhSkxrYmN0clJ0Zyt1cXZRdzFRaUFJ?=
 =?utf-8?B?dGpDelVHM1dXV1o4ZEVJQnZielVlWVJEVTVPSjM5MmxYK1BJUGgxajlwTmRF?=
 =?utf-8?B?dXlkRVBQNk1KeHNEZnQzZFd5TGYzRlFOd1I5RFJJczVZcDhRa0Y2NnhBR3N6?=
 =?utf-8?B?V25JRVhIemRlQVB3U2psUE5Ja2VYWER5WUZHQXdUMVZNcmROV2ZQOWRBTTdC?=
 =?utf-8?B?dyt4TUl3TGt6RDRQcGVISDBKY1FaandRZWdDTk13RXlodWpDaVlHRkUyU1J1?=
 =?utf-8?B?RWhJZU00d2dpR2I4dHZBNXA0a1JDSEp0Q1lZc05CazZCQVFnUWxyRHR2aTBm?=
 =?utf-8?B?bEpsRHBuUDFCV0JJOGJwakJHN2orRURRdkRRdi9YZGFZTGpMMjZoaFpGeU1j?=
 =?utf-8?B?a0VOZVI0UHFHcHpZSS9XVkRJRUI3WmR5QXpqZWdPUjkrUDVlS1E4VmZpeWF2?=
 =?utf-8?B?Y216WUQwaWRacHIzZDdvK1RUdVRmV0JNeklCTnEvdTJYRWNjNnp0SzRHaHZa?=
 =?utf-8?B?WkJqYnNKVlp0Z2orYndHNTdBc3dIYnRVYWg5SHVwaGQ3QXBMeGJ5RXFYRHps?=
 =?utf-8?B?ajhuVWxaS0tRNGRnT1A4TDE5S1VHM0lxOW9qc3NWL1dpekNDSmVHak05UUt1?=
 =?utf-8?B?Qit2OWNmZDlIeGV6V2F3NGVIdnJ4bDhVbnU3ZDZMRzJ1SGUweThGWGpKL09F?=
 =?utf-8?B?TFZ0Q1lBeWdJQzY5eFdmNExWdUJqRE9KV0lLVDl3L1hhWkJ4Y05QMnhyYXQz?=
 =?utf-8?B?MkUzTFFaUlltdFV1TG5ESW8ybERVdVk2TjIwV0ZSS3FZNGkyTmtCMmFwZGZm?=
 =?utf-8?B?eWZIQ0t0Rm9CNlJVRmY3TDFyT0ZUT1NiV2NQMDhsUGxnZ2U2TzJWYXZKN2xq?=
 =?utf-8?B?NUcvck5ydDVyRG1Fd1BlZjB4dys1T2l3QjZoREhESUtkOFV2TlJpaXdvYU5I?=
 =?utf-8?B?WDJrNFh4Y2p0MFlZb3BLaWRJejVxMkJ6a3VNL3h5V3BJK0FoOVhvSFRISXRG?=
 =?utf-8?B?RUZOV1Q3ZHI5OXlzRHZqa1VlajVhRWhKdkxueEJNWXNZNlp4aDRMRmNiRitL?=
 =?utf-8?Q?0VHGP9+Rg2zyMqgCsuU72Js=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 79e2a151-2e1d-48a6-3b51-08d9e497b1cd
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 08:57:22.4941
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: KFJd/eUahK3NhSldSxDugxWOCIZnhI8LEXEPNw4y6Rp27DH6qmO7D78g+E6wT6AZ/YI0bPMWruAXU1J1wnP7Rw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8689

On 28.01.2022 16:04, Anthony PERARD wrote:
> On Fri, Jan 28, 2022 at 12:14:58PM +0100, Jan Beulich wrote:
>> On 25.01.2022 12:00, Anthony PERARD wrote:
>>> Exporting a variable with a dash doesn't work reliably, they may be
>>> striped from the environment when calling a sub-make or sub-shell.
>>>
>>> CFLAGS-stack-boundary start to be removed from env in patch "build:
>>> set ALL_OBJS in main Makefile; move prelink.o to main Makefile" when
>>> running `make "ALL_OBJS=.."` due to the addition of the quote. At
>>> least in my empirical tests.
>>>
>>> Fixes: 2740d96efd ("xen/build: have the root Makefile generates the CFLAGS")
>>> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
>>
>> While I did commit this, I'm still somewhat confused. How would quoting
>> of elements on a make command line make a difference to which variables
>> get exported?
> 
> I don't know, maybe without quote, make run sub-make directly, but with
> double-quote, a shell is used.
> 
> But after reading the manual, I didn't expect the variable to be passed
> down sub-make at all:
> 
>     5.7.2 Communicating Variables to a Sub-make
> 
>     Except by explicit request, make exports a variable only if it is
>     either defined in the environment initially or set on the command
>     line, and if its name consists only of letters, numbers, and
>     underscores.
> 
> But somehow, sub-makes also export the non-shell-exportable variables,
> unless the command line in a recipe invoking make has double-quotes.
> 
> 
> I've tried again, and checked the process list:
>   - when running `$(MAKE) -C foo`; make just execute make
>   - when running `$(MAKE) -C 'foo'`; make just execute make
>   - when running `$(MAKE) -C "foo"`; make execute /bin/sh -c ...
>   - when running `$(MAKE) -C foo | tee`; make execute /bin/sh -c ...
> 
> So, CFLAGS-stack-boundary disappear when /bin/sh is involved.

Very "interesting" behavior.

>> In any event I understand the description that prior to the subsequent
>> change there's not actually any issue. Hence I'm not going to queue
>> this for backporting despite the Fixes: tag. Unless of course I'm told
>> otherwise (with justification).
> 
> Justification would be that it's not supposed to work, based on
> information from make's manual.

Okay, I'll queue it then, but in case it doesn't backport
straightforwardly I'll still consider leaving it out.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 31 08:59:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 08:59:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262816.455197 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nESWw-0005GU-FL; Mon, 31 Jan 2022 08:59:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262816.455197; Mon, 31 Jan 2022 08:59:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nESWw-0005GN-CH; Mon, 31 Jan 2022 08:59:22 +0000
Received: by outflank-mailman (input) for mailman id 262816;
 Mon, 31 Jan 2022 08:59:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Fky=SP=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nESWv-0005GD-7L
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 08:59:21 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 13a70d5b-8274-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 09:59:20 +0100 (CET)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2059.outbound.protection.outlook.com [104.47.13.59]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-5-A-QG8Z-pP7mPhxIW9FxQPQ-1; Mon, 31 Jan 2022 09:59:17 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB2989.eurprd04.prod.outlook.com (2603:10a6:802:8::31) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.21; Mon, 31 Jan
 2022 08:59:15 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45%6]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 08:59: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: 13a70d5b-8274-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643619559;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=atce0Ic8DtnEZ3KWKNESaW+r3Gb5jw4Ih2pVNyYDNAY=;
	b=fCMkR4sqW4GpWWmac9gs0woQt/dK99Wr7seHo4ZqjSP2oCzlBqnLEgj/77KFBMv9KFqyLj
	FD3BDKeY95WO8O2EihIjb383aMN9JfGgcC/TzSx5j2TDUhaozSyN50LFO5p69iZTOOszFg
	eHuU/JCQ1DDNI2K6wC3FfoFbtBzSHhQ=
X-MC-Unique: A-QG8Z-pP7mPhxIW9FxQPQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YGOf7peK7bN/xT4yWNkCxm4b3h3zv4QR6QeWh4hlQbBCQUfYm+sZVtmi6HiMYRT4QEZfcbHWMFBd6QARVa5yMyRkUG0ze/2SfLBJwUp4lwLeVgXAS81UDktU+f8TfHOVbL+w6kVlzalwADON3sfCO5IjbdCygHerv+o8VxK0BLaCkt1zCVd9K1jlTu5E9RocDh0kgzmJ2C+BBt45lnc/JyVnguL5oVuP23Y6zeXjk4CUrsK2kot64R8KiOJrwN/LOL3NtbKN++0ssTAOeIc6z+JFRp5p25crlFiuTM4OEmmR1qRsoQ95LpB5eCEtyuw/KgErpjf3YBPm5LPHwy0krg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=atce0Ic8DtnEZ3KWKNESaW+r3Gb5jw4Ih2pVNyYDNAY=;
 b=RB/tjMv83KCzseFrlXkm4gdiSMQDkgWPuIuBPf9AcMh3+xvyxsh+PITmv/iSrELwfSMCGCYSGJBKnUFjKuObAFhRyKjFinCvJDAyX8LiEcHJjRpzX6wuXbrtpKJi59tdPbV1uTcr51AEu3RPStOhCsyKBbK8gi4TmyJzmqIQOc76LMRbBVAXCStbzl3VQWgecCfzcJyS7BmA+8oBTcCVfpY3rtwZYvea4VLNa7uSuVBiPCBAMk876e0Bv7DyHtUZ4vtvlRqipcRsFL780EjcBLtaaZkHlu4Xguf3FQht3qxLjF+xkZE2HufGiAN20d4MESg24i4r6kepI2+Y8LbqTg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2340292f-54d3-62f8-1d5b-b54e1c3728e9@suse.com>
Date: Mon, 31 Jan 2022 09:59:16 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [XEN PATCH v9 08/30] build: fix enforce unique symbols for recent
 clang version
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20220125110103.3527686-1-anthony.perard@citrix.com>
 <20220125110103.3527686-9-anthony.perard@citrix.com>
 <708a1723-7b01-e82b-f2c2-d031a33ae55e@suse.com> <YfPbndiBeViN0heB@perard>
 <b9b4262e-5ca2-b051-7aba-b2ad1a6bdc01@suse.com> <YfQRQSwuJW+XOWYa@perard>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YfQRQSwuJW+XOWYa@perard>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR0601CA0030.eurprd06.prod.outlook.com
 (2603:10a6:203:68::16) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e2c5f90f-b485-4dfa-1ec0-08d9e497f530
X-MS-TrafficTypeDiagnostic: VI1PR04MB2989:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB2989D2AAFA7E4B99F467623EB3259@VI1PR04MB2989.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:
	mcL+Rn6B4+WA3Fr+pRgdRSOx8/iAlIzrmsxykocAKpvErjN3vPCt6hm7obiw/ndY8wJZ4yMHWg6GgLufJh6uvDGwef/TV3p50gpD1pLuXemVjsLErQ3NrrNK16wwY2bD8qsTdpCumjshp+ggG0F2sC4ciA6eAALNg9YDUPmnRdIy+7/Xw8HFb+8JOWvCvJcf15HG9gFc3Jbl53uuOPMboyrvo9OUPv6DCgA1ku309k2uoaZsyNcSHi+6p0LQK9kw2VomcbhvTJUK8Z0PUBB2m+wvS5HdQ5s3Gcz6JeNF8L3bn6Tw5TUovygMr3XOvBN32nRVsaPdyKiKsgzNhRq+MPEJrms/3QF1acRFTMb0LGId1a7hsbnwajSRzqx4DS2RkiIPayr+7U6IUQ2hn80P3YBfZSeT1rrQo/MHu7ceZl/QNjgnPKb1UJNNyi+Ao8R5cmDLqrRgtMecv/s/R75/sJT5FyYKU66MfoKqC7YpIWmDtzPhIcoeAcDlQ1ReYLu48OOJuFb8jmZei7plf60eftdCWMM724TKuU6iSqXmz5R2eB8lBK8K2/HwsLMzk63dxJCprJLYdXIy7y5v68c9FWsaSnZvdSqZJ4+NZTKl3UJ9D8Dj7TurEl+hINHNU3maVb4D22DIB/7hBc4qnB7zUGKIHTWy0ZcOqEuMLoG+BrF6K72q2uNzIUvnkitIzTAEvlQhxkvIoBn/hYzH4tXKbTjjeyuqS0AwYjICr8U7KDfEFboMZzu+vgd9FL63YoxSQSEQZ7cu+U0ZA3kzUs3PpDJaJ05ATEih81tFNdoXmkmarUK/wCCtCCwJjyumhl2AyaW/BqtVTmwGrDk89oxc9fyES08BBVLclmXA3kAU4iK7O9fzImg3nB+V1OYETWtU
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:(13230001)(366004)(36756003)(2906002)(83380400001)(186003)(26005)(508600001)(2616005)(54906003)(6916009)(316002)(31686004)(45080400002)(966005)(6486002)(66476007)(66556008)(66946007)(6512007)(5660300002)(53546011)(31696002)(86362001)(38100700002)(6506007)(4326008)(8676002)(8936002)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RXp5MG9SSldsd2gwdlArUzJicWNDMVpLQWtJL3l3clNlcnJRbGUzVWZEbFBD?=
 =?utf-8?B?UnBGWE5BTUlQWFBYdmNkVnFrNFBEbWNOTjdOZldhV2NLOGhySWE3L3Vod1BS?=
 =?utf-8?B?Y05jYzgwYm1jNGNxMVh1c2d4U1lvd2pYVk15dkVpeHowSTg4aVMrYnFZRlI5?=
 =?utf-8?B?UG9NOGRYMWZ1QXJWL2lheWV6ZXZHY3U2ZVJSVCtnWXZkOVkyRUo2LzRQY2Fu?=
 =?utf-8?B?Vm5VazFHaVo1QitHTFhnSUVaRG9YODJQaU5uK3BIeE50c251SytaQzk5b1VO?=
 =?utf-8?B?S3JXb1I3Wm5xOTVwQmxDVUhmOWRwUHlCSmlkcnpEYkpubDNrRGhyYWxEUGNM?=
 =?utf-8?B?bUNmeHk4T0J1MHdrYlh6OVNjbGhGM1dFMWZBVG03V29tVU5mNDh5ZFp6M0RL?=
 =?utf-8?B?bWwyck12dW8vR21MWVYzZjI2UW5XTytjNVhMa2VLWGFvc3FMMVRQSDZIM25J?=
 =?utf-8?B?RkFPSXltdVJJVzVSeFhaV1VGZDEweDlpSmtCNVVBMFFJZXRUdEhEQUxNekhl?=
 =?utf-8?B?b0JkOEY5QnAyNVlvN1RsUnVyOEdRWnA3cXdYbnlLMjhWbmdZbERmYkRGbTB5?=
 =?utf-8?B?YTl2TmorTzM3VmdQYmlacUN4akY4bEtKeCtZUUs0UE1PMzczNS9aOTFkYS9O?=
 =?utf-8?B?ZHJMeDVvZjdwQkFwNHpOd1pnR0Z6MXBhUE1HSVdwSzN0cHllMzlBeFBWSjRQ?=
 =?utf-8?B?L1hTYlNvMmpWT1BoY09lSGRtTlNUcHoxSVM2Wm96b0c4TlZRa0N2SGk1c3hk?=
 =?utf-8?B?T2xGNXVodWlueXExQnNZUTVXeUhhM0NyUVhGOWN0U3RHSEljZXlLUjZ1Umts?=
 =?utf-8?B?YW9LVjkvZXlldHdhOGdOWWhhR2ZNSTFjYjJPSEdtd2ZKRFRHemdnOUk3MU1L?=
 =?utf-8?B?ZmtnYU9WTXF4KytKSGo0V3A4bWlma0Z3OC9IZUVCVDVFbkd3bHlaMmlXSFVJ?=
 =?utf-8?B?WVpxTE9nZ2hEZGNjKzdNWndHOTVsMjVQRDdheHFzVE9iMUlSTHVZR0RPajhk?=
 =?utf-8?B?VHZwT1AyUmJBZ2orOEZLOUZyNmFvdXJyeTJXT0phU0Y5RExmTWd3bE41QTQx?=
 =?utf-8?B?bEluYWNiNEt2U01wazRjYjduN1REakVURHJaUzBxa2h1cVRCd2cyVWVzQjRm?=
 =?utf-8?B?ZStEQnhVcWNpUHBtMUwwSnBlVmo2N0pEVDhSSFJqTXhkRXVWWUl2TDJUaHN1?=
 =?utf-8?B?ZEt6cTlieW93TTI3dG5OR2h3aGkyNDBveEo2S3dxY0RydzYvSlhCSDVGdXBB?=
 =?utf-8?B?dUtBTWE5L3hacXVyU3FvY0hQREZUeDBkZVBaZ0ZRR1laU2tFclcreGNnNUd6?=
 =?utf-8?B?bzhWUDhtODZ5dUpOVEZuVVk3M25kQkJWbmlIV1UraENUWG9rSDFoYWJXemJS?=
 =?utf-8?B?WDE4ak04NlN5SmdCdjFGMUtub2JlTnBwMnJsMkQyMm01ZG9kbG4ybWQ2U2Yy?=
 =?utf-8?B?Tm4zdEtYeHM2ZnY4bHJKMDA2eUFRc2lMNEp6SUIzM211b2ovZ29PUThrUCty?=
 =?utf-8?B?NDJBYUtHcDZmeG93OEZRK3I5NXVUdFVNQm5TdW9NbkF0K09UYXJYVE5Dekhr?=
 =?utf-8?B?NFVac3RrcTZUdi9LMHVsV3hlRjRLODdqVVNvekpzNURQRlZhbTlBT2dmWXR0?=
 =?utf-8?B?Q25MQlo1SDY3T3ZUekVhQ3p3TUhkVGtWK1I0Q3ljSDAydmhrZzc4WlFHUkdW?=
 =?utf-8?B?YUh6a2dudWpzOHZUU1BwcHg2QitZQm1PVlVSYkZzWWtjdENUU2NGMTk3K0xN?=
 =?utf-8?B?QXIyZllkM0NpeEZneXUyWFhMZXFKMFo3NGZOMkF2MHVBUmZCTW9QRmVaYkps?=
 =?utf-8?B?QlRzdGhkbURwZ2NNVVlhNmI2b05qTENTM3VUL0hqNlZ6ZFM4cHpUYUVzam42?=
 =?utf-8?B?OUk4L3VndkRDOHNpNjY3dlFIZEM3VHFMdCs0Z0lSZmVNTEFDZGVOZmJhTyt5?=
 =?utf-8?B?Qk5zMW5xTU9kR0NtVFdjOUdva1FBbElmRllxV0lFSGpWSDl0aDJvOEFPSkpt?=
 =?utf-8?B?WE9BWjIvRjh4S1dYUkF5K1NZb0wxWGVtR0tBbU5SckZxK0hYNHNib0R5eGJN?=
 =?utf-8?B?OEc1VFh1OFdZbWZjTEFHazhzUU50MmdtaWFqVDlkS0lQSmFOQ2lFZytucnIv?=
 =?utf-8?B?ZDZGbUx0dk5lY3NpcmUyaVFvVHptRDF2eTUxTjY2VjZ1SDJ5Q0EzVTgxenl1?=
 =?utf-8?Q?ShB96/jQRqBHDilwqvU86Yk=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e2c5f90f-b485-4dfa-1ec0-08d9e497f530
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 08:59:15.5808
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /iG6aR6c2WFmGFfd7XX2c95Cnn/2P4CHdkQqD8GMod5W0+Wo1x/QHpu52DBfydKEw0VWDB9skWUN2pM0hIt0+A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB2989

On 28.01.2022 16:52, Anthony PERARD wrote:
> On Fri, Jan 28, 2022 at 01:43:38PM +0100, Jan Beulich wrote:
>> On 28.01.2022 13:03, Anthony PERARD wrote:
>>> On Thu, Jan 27, 2022 at 04:57:20PM +0100, Jan Beulich wrote:
>>>> On 25.01.2022 12:00, Anthony PERARD wrote:
>>>>> clang 6.0 and newer behave like gcc in regards for the FILE symbol, so
>>>>> only the filename rather than the full path to the source file.
>>>>>
>>>>> clang 3.8.1-24 (in our debian:stretch container) and 3.5.0-10
>>>>> (in our debian:jessie container) do store the full path to the source
>>>>> file in the FILE symbol.
>>>>>
>>>>> Also, based on commit 81ecb38b83 ("build: provide option to
>>>>> disambiguate symbol names"), which were using clang 5, the change of
>>>>> behavior likely happened in clang 6.0.
>>>>>
>>>>> This means that we also need to check clang version to figure out
>>>>> which command we need to use to redefine symbol.
>>>>>
>>>>> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
>>>>
>>>> The "likely" in the description still worries me some. Roger, would
>>>> you happen to know, or know of a way to find out for sure ("sure"
>>>> not meaning to exclude the usual risk associated with version
>>>> number checks)?
>>>
>>> I found f5040b9685a7 ("Make .file directive to have basename only") as
>>> part of LLVM's "release/6.x" branch (and "llvmorg-6.0.0" tag), but not
>>> in "release/5.x".
>>>
>>> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fllvm%2Fllvm-project%2Fcommit%2Ff5040b9685a760e584c576e9185295e54635d51e&amp;data=04%7C01%7Canthony.perard%40citrix.com%7C1ce7898a15bb4024260008d9e25be6f9%7C335836de42ef43a2b145348c2ee9ca5b%7C0%7C0%7C637789706644173026%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=V73NmkJWAHpqlzY9sAysf6%2Fw7q8ik6twT6lMLgglR3s%3D&amp;reserved=0
>>>
>>> This patch would seems to be the one changing the behavior. This still
>>> suggest clang 6.0.
>>
>> Oh, thanks for digging this out. May I suggest to replace (or delete)
>> "likely" then in the description?
> 
> Maybe something like that? Or just delete the word might be enough.
> 
>     Also we have commit 81ecb38b83 ("build: provide option to
>     disambiguate symbol names") which were using clang 5, and LLVM's
>     commit f5040b9685a7 [1] ("Make .file directive to have basename
>     only") which is part of "llvmorg-6.0.0" tag but not "release/5.x"
>     branch. Both suggest that clang change of behavior happened with
>     clang 6.0.
> 
>     [1] https://github.com/llvm/llvm-project/commit/f5040b9685a760e584c576e9185295e54635d51e

This sounds better to me than just dropping the one word.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 31 09:00:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 09:00:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262821.455208 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nESYB-0006cE-RF; Mon, 31 Jan 2022 09:00:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262821.455208; Mon, 31 Jan 2022 09:00:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nESYB-0006c7-N7; Mon, 31 Jan 2022 09:00:39 +0000
Received: by outflank-mailman (input) for mailman id 262821;
 Mon, 31 Jan 2022 09:00:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9o41=SP=epam.com=prvs=4030d24c28=oleksandr_andrushchenko@srs-se1.protection.inumbo.net>)
 id 1nESYA-0006bx-9B
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 09:00:38 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 408740b7-8274-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 10:00:36 +0100 (CET)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20V8RndX003573;
 Mon, 31 Jan 2022 09:00:33 GMT
Received: from eur04-db3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2050.outbound.protection.outlook.com [104.47.12.50])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3dx9je8hv9-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 31 Jan 2022 09:00:32 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com (2603:10a6:20b:153::17)
 by AS8PR03MB7539.eurprd03.prod.outlook.com (2603:10a6:20b:347::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.21; Mon, 31 Jan
 2022 09:00:29 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6]) by AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6%3]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 09:00: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: 408740b7-8274-11ec-8f75-fffcc8bd4f1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KjmrCk1KuLnRqsy3szXUvAP3lB6yMITZsYwoeAppJJJAx/9FlIw4FhHOj9ifoS1IHpForwrcFU1lVOIuh28AtCclU4DmSC8E6C5fQB3nywCpdwn4lMYmNQzhqMr8f3LO1gLpxo/aG875jWE64NoBCm3vH7JB6152YpvYQc3uFNP828ScMbhbPkm71OYJFprl/h32juc3FTpRXoiTFbbZRBmMR/2g3aecmKg/yYh+uJgQ7VU3VQdyXGZn2uUXH2zEKoKxG4cBmC6klUglxolvS4/epvrIYFYJOOwZCw4CYfHr96UTf3cHqpojnIVaJIDjygZHPEMI56GlfIYM2rQYtA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=S2ZrjqCO/8DtYyY++XS+1x4wrCgByiCzJ9anQUoFMj8=;
 b=QasDB18sJiISDZZTUrlrvtOtoZelMtHq8tgQwyjTgYwrL0G+6wCcCmokH2+KefyLkor2Gn7PqwOuc669Bsuui7KbEp5uSsXY/IQSJsK7fpZ9Yn4qrNfR2ymdg+duAfsbqmBXfCBvj2VzjoYpMj1RtTEDPzo0BtuziOzRVflWR7byO92VieQyBX+njiexpoTKUAWBVrDSiBdjf/IdbPI9G5s5ryPX3rX0D8px44O2SZ+4IjSBfuxQLLgXA3wqVhDp1E3btxaNXf0oZUpbRCsMSS8mEtM3HzKAyJZGUK0ok6d03my+rD2xJNtrKie0/SmvSmVpckgpnSscdYB5QwclRA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=S2ZrjqCO/8DtYyY++XS+1x4wrCgByiCzJ9anQUoFMj8=;
 b=ls3v5tuOr5mdjSIGTmit8HPDKuO3HCjw3L9C8Rv+PnMNiev50bGOu1pTt/gIwEcATEweiQwQTkkDMOE4SNKjTQ8Ov1OY8FZCbr0hIkIvkFFhf5xPGP9pR2tjatXjGTTDz4x4StFm8p3bNWcPdjBiCZUeuNpcl95r4/WjatJlOcEfCl8uew6ne5c+mQT2pPKaELKExDEaBfmdRYgMQ7pQSLLTyKtJAH508sCeMTPc6HLRfkrPM3xasBOBupqq0FU8raGCscXxhMkxhxXPTWsWdtXewqPxxMDcmwQ/unolB5hBCQ+qPV4B9ha/4rfjHeJHqzk/La6TmB6/BDXzXnrNBg==
From: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
To: =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
CC: Jan Beulich <jbeulich@suse.com>, "julien@xen.org" <julien@xen.org>,
        "sstabellini@kernel.org" <sstabellini@kernel.org>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Artem Mygaiev <Artem_Mygaiev@epam.com>,
        "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
        "george.dunlap@citrix.com" <george.dunlap@citrix.com>,
        "paul@xen.org"
	<paul@xen.org>,
        Bertrand Marquis <bertrand.marquis@arm.com>,
        Rahul Singh
	<rahul.singh@arm.com>,
        "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>,
        Oleksandr Andrushchenko
	<Oleksandr_Andrushchenko@epam.com>
Subject: Re: [PATCH v5 03/14] vpci: move lock outside of struct vpci
Thread-Topic: [PATCH v5 03/14] vpci: move lock outside of struct vpci
Thread-Index: 
 AQHX4ewHDku9OOCAtECwEMPLB4JkU6xfxaAAgAAMrQCAAALDgIABHnKAgBfrjICABF4TgIAAAQIA
Date: Mon, 31 Jan 2022 09:00:28 +0000
Message-ID: <95121a7f-3002-9784-de15-9e83c9c4c9f7@epam.com>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-4-andr2000@gmail.com>
 <c7a9020a-9713-47b6-45bf-5ac2c6d4157c@suse.com>
 <Yd73Aq4w2H1Eo01h@Air-de-Roger>
 <4fb1d547-6f6d-c4e8-b2ef-0dea780dd66d@suse.com>
 <Yd/pnYDBwsdyLrPN@Air-de-Roger>
 <c937d26a-5357-1ced-ee6a-ef713a3c5964@epam.com>
 <YfekUyXZZ1cxeObs@Air-de-Roger>
In-Reply-To: <YfekUyXZZ1cxeObs@Air-de-Roger>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: d8296300-b985-42c4-da58-08d9e498210e
x-ms-traffictypediagnostic: AS8PR03MB7539:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <AS8PR03MB7539A0E238645D6FD6CAD1E2E7259@AS8PR03MB7539.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: 
 /idVhEdWsY90ANc+fHE2vPRrc7wXX5zb847qtVepYqvm1T3SgEPH+DSFNtOXOZGKVuCqYDge8YonXmAAZ8qFe5JQXiyvGRL9AH2kZQw9DMzyhCEQSsDVZolDQ9MOTaDVfiCHi47qix4ndyT51qAgpE0UKtgMLQ85OZNBNuCh0NespShsPLkale0sRHrBkTSRGm+wPsKKrsayM5zSCXKhxcD1j/5HEuJoJmX5lgM8FjJj0uzhSBG3acUhnLyuyAWDqtvlgGjjpLJbgJ14BeOSh5sQDrUt4PN5uLXYTBYMY+Eky5bFEFsyzazKUMizZnK0Dpc5NWSRz0RvMqrx4i9vzSH3C4Ha+eLRT3/LEy5pOxlAXnzZX0XmkpjL5kbOhzrcYxlxe9AGomWcSFZ/ub4JbDEBbUAlCEL0czbwdHKJBCPS4LL1ITikyr7SXeUGa8GdVJyxVVYUfjTW+nW4EagUUb9j0yDdBBgmdLBHPOyF646HVTL5twGR863ZqUEhZgp8Pe1vYEoMvlbBh87GbUEGrONo/a4+Pt3jHGwipUj6PfKzNS38jmUY/vf0ltTexaPTuLczHiKZqVmjDSR1In7QAUMw8XfaqnXbwUly4OGMq/3KHwdB4hwUQm7iDALL7a9GcUXnf5g2srDgO/UmanUpD2nB8dzannMlQ1iSPAPujS2e5NMsl6KbX0P79n2GPooYSPboueHptI9xogxtum1Uyll4HO0/bdKgvsvmI/kBw8b1oQPAMddcyCgmJls3MfgP
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:(13230001)(4636009)(366004)(53546011)(6506007)(122000001)(2616005)(6486002)(38070700005)(71200400001)(38100700002)(31686004)(508600001)(2906002)(31696002)(107886003)(186003)(86362001)(316002)(76116006)(91956017)(4326008)(8936002)(66446008)(66476007)(66946007)(64756008)(66556008)(83380400001)(36756003)(6512007)(26005)(54906003)(6916009)(8676002)(5660300002)(7416002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?UkRpbGdxV2doc2ZpTlRRYm5jSUh3ZEV2UWVQWlpKSnd1Q1p5QTlxRmFrQVRm?=
 =?utf-8?B?c24zRXg5aHlwaE5LUFhTZTZLeFVFRS9YVkx1T2tXMmJUclJhcnphbGYvbGY4?=
 =?utf-8?B?aTNWNGRDZDdVampwaVp3L2cvbXM3N0FBNlhmc2xweHF6ZC9XNEEreVcwWmEw?=
 =?utf-8?B?WnV3YXJnSkV4Q2JyV0J6M0Z1OUZjd0xTM0dxUnRRUHhvdWc4M09IajlGa0dq?=
 =?utf-8?B?SlB3ZGhqMW9xekVJa2Jza0IrWCtQRmgyOHY3ejN5NDJPNTV1d3BvcDJCUDJR?=
 =?utf-8?B?NzAwQ3BmckRNelJsT1owU2k0bU1kVUx5dGV1blpoTWNuL1E3WDNkT0plQmJ1?=
 =?utf-8?B?YVRDbDVlb3d5d09xKy9ZOTFPMzlUeHlrTU0wS2JzaGR2MGc4TE1PZTJDMUt4?=
 =?utf-8?B?cGpxMTBzZkQyTC9ramY3ZHM3cTh2YkFVS2JscUdIK3pna3g4NzdQWERvL1Jl?=
 =?utf-8?B?ZGdXQ0tNZWpIM3hzTzQ1TmhkTEhRQzFNb2N5Uml6T1BmVVhKbWhCcFpyS05r?=
 =?utf-8?B?R091OU4zSVFaUEM2N3VDSnJGYjdGVlZhOTRXc2pjUDI1YXFOQmNaN1FIZjRY?=
 =?utf-8?B?d3BEZCtMdk1Jdm9NR3ZiRnhjUURYbkpEaE5tOE5xYTJ2Z2tUbVhRTG9rdFZh?=
 =?utf-8?B?dmdONHBLOTBVWmNPVjIzQy9pZ243OWJteWN5VVBPRjVobWxnS2hvaWhlZjFz?=
 =?utf-8?B?WlNaam50ai9kY2IxaWRxU291Mnl1NUNaS1kxbjAxSFR3Umk5ZnVZL1poaU9t?=
 =?utf-8?B?ZHFHUnpHMkNYOTlEK0UxSFR5U3Vab0xwUUl0VmJHS0FPRXEvYURmM1dmY3NK?=
 =?utf-8?B?bUNWdTJCQ1RBdmQ4WW5kb3ZSMXFHV200VWxiM0RCVVpQWk9LREFwaUFURFdK?=
 =?utf-8?B?eWFqZjIrVlVMOGVWN2plS2lCOTViM0g4Yk1SWW15WVY0WnlRMkxvWC9zKzNI?=
 =?utf-8?B?emVEL3RxWkJhYjIxcXRNaWtDOGppSXFzVFl4NXRaa2Z0aG5xN3c0T3lsVlZy?=
 =?utf-8?B?OVJDNDNFWkRTUk9Oc3JiY0wrcTg4TGJRRFhRRU9tYzVjOHhCRm0xQnR0V3FF?=
 =?utf-8?B?MTVNTHZ6QnFWWXkydUlObGNkUkZPN0trNFVRY3JMZ0dZOXBhTlpPM1hvM1hO?=
 =?utf-8?B?Z1ZiWjVneTJIcFJFMXVjWUZJRmVLNVFuSFJ4Zk5qSUlBWlAzOFVscEJWcmJH?=
 =?utf-8?B?VUxHancxNGF4WjNrSnBBUTJXZVhRYTdxNnEwb1RYVjl2eUUrNWNGelJVMnFw?=
 =?utf-8?B?Vnk3QU5oYUhrNzZKTGROZldjeVA1OVJKaXZWeFYwaFY5NG9OYTJ2ZnQ0M1hL?=
 =?utf-8?B?OFV4Nkh5MHNPVjJCYWZpODY0T2NHWU1vbzYyMWt3SU1nOFEzUWhSQ1dSdGlR?=
 =?utf-8?B?TFM4VS81alZTalMzY25adjF1dmovVVpmbUZpQm9qSzZxblo4NyttOTg5MFNo?=
 =?utf-8?B?NHJ1bmZSanZDcldYNVZsZ0V4dHhoVmNIcENQV1pCUWExK1dSRHhkNnVwK2Yw?=
 =?utf-8?B?d3ZMekpib3UySUM5STFoZDQ0TGs2NU9GbnZua0JvNnZya0F3eTBzaDdURlJr?=
 =?utf-8?B?YTZRaFNPWlA4alFUVnQ3WGkzajVHM0hCQVN2cS9EdGdqcEE5ZmpaTXVkUnNv?=
 =?utf-8?B?UHVVLzlVckdDaGUxWHpEQWdiVFF4VFFsVkVURTI0ZW84TUltazJnWTZHOWc0?=
 =?utf-8?B?K0Y0RmhVa2xGbGpObVRRVUw4ZXQrYWdQbE9lY1JmbGZkcDhIMEN1bzBmM1ZM?=
 =?utf-8?B?aFo0WFBTWGpzU05adU5vZm1ra2hUeEp2bTZpNUs2TGRRTVlpbjZtMWR2bEhO?=
 =?utf-8?B?OUlHSDBxM3FRTWlkUEhKVTFJTDZRd1AzK3VjSm44QXFPaytYMUMyaVllQXM5?=
 =?utf-8?B?dG5iZGVuMHNRY2t5VURUUWp2Rm52ZGZ0SktOcFlDVUxGRDhjNkw4TlV4V2V2?=
 =?utf-8?B?WE0yVVF2NUl3YnhxV2luaWFZRG04YkdKWjJ4ZXBZMHUxWG9ZeDNLVlpLVkl1?=
 =?utf-8?B?ek1YemM1UmxDTkozaXdBM1NwczV6OWdvTzRrcitHWnE1SDcvRTI4SG92V3JL?=
 =?utf-8?B?TGVWVWx4SlVVNXpST1ZtYlR0c0ZNcWt0NE5mSFc1WGFpM3N4bHhLY3hXYXk3?=
 =?utf-8?B?T0IzSmhXZjZLWGxUZ09wQStKaFlBbzBKOXBJVExNZXNUMEkvaU1RN2wrUC9o?=
 =?utf-8?B?U2t4azRKZWV3M0JuempvM09DcmVhM2xydllKdjBNSzZmZzhpV25rdG5qbWh0?=
 =?utf-8?B?RE1xQ0oyZ1Y3U3YzVWp2ZDYzR3RlMmhocXEra1FEaktZRXRPcUl4QTcxM1pC?=
 =?utf-8?B?MlJGbjFJS3JKdDNqaFVCbDRZNFQvVGZmbVVqL2liL1ZlRk5McE55dz09?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <FF436B36042F60459ACB93DA721F14F2@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: d8296300-b985-42c4-da58-08d9e498210e
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2022 09:00:28.8857
 (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: bhXaNvY4jYnlcvOxDVfFDBMwgCTlUoABI4E0euoFgs8Jgzrhz74NccsuLEnNPetu6ILAD19F/FFoY6HtNrYTRZJNW11LbAslwFD+92WFvT0YpGyXlOWu9j6faA35+uxT
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB7539
X-Proofpoint-ORIG-GUID: l9UNFj2XLX6p7c8tkNBR-mcDFjllA19Z
X-Proofpoint-GUID: l9UNFj2XLX6p7c8tkNBR-mcDFjllA19Z
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-31_02,2022-01-28_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=999
 suspectscore=0 adultscore=0 impostorscore=0 mlxscore=0 lowpriorityscore=0
 bulkscore=0 priorityscore=1501 spamscore=0 malwarescore=0 clxscore=1015
 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2201110000 definitions=main-2201310060

SGksIFJvZ2VyIQ0KDQpPbiAzMS4wMS4yMiAxMDo1NiwgUm9nZXIgUGF1IE1vbm7DqSB3cm90ZToN
Cj4gT24gRnJpLCBKYW4gMjgsIDIwMjIgYXQgMDI6MTU6MDhQTSArMDAwMCwgT2xla3NhbmRyIEFu
ZHJ1c2hjaGVua28gd3JvdGU6DQo+PiBIaSwgUm9nZXIsIEphbiENCj4+DQo+PiBPbiAxMy4wMS4y
MiAxMDo1OCwgUm9nZXIgUGF1IE1vbm7DqSB3cm90ZToNCj4+PiBPbiBXZWQsIEphbiAxMiwgMjAy
MiBhdCAwNDo1Mjo1MVBNICswMTAwLCBKYW4gQmV1bGljaCB3cm90ZToNCj4+Pj4gT24gMTIuMDEu
MjAyMiAxNjo0MiwgUm9nZXIgUGF1IE1vbm7DqSB3cm90ZToNCj4+Pj4+IE9uIFdlZCwgSmFuIDEy
LCAyMDIyIGF0IDAzOjU3OjM2UE0gKzAxMDAsIEphbiBCZXVsaWNoIHdyb3RlOg0KPj4+Pj4+IE9u
IDI1LjExLjIwMjEgMTI6MDIsIE9sZWtzYW5kciBBbmRydXNoY2hlbmtvIHdyb3RlOg0KPj4+Pj4+
PiBAQCAtMzc5LDcgKzM5Niw2IEBAIHVpbnQzMl90IHZwY2lfcmVhZChwY2lfc2JkZl90IHNiZGYs
IHVuc2lnbmVkIGludCByZWcsIHVuc2lnbmVkIGludCBzaXplKQ0KPj4+Pj4+PiAgICANCj4+Pj4+
Pj4gICAgICAgICAgICBkYXRhID0gbWVyZ2VfcmVzdWx0KGRhdGEsIHRtcF9kYXRhLCBzaXplIC0g
ZGF0YV9vZmZzZXQsIGRhdGFfb2Zmc2V0KTsNCj4+Pj4+Pj4gICAgICAgIH0NCj4+Pj4+Pj4gLSAg
ICBzcGluX3VubG9jaygmcGRldi0+dnBjaS0+bG9jayk7DQo+Pj4+Pj4+ICAgIA0KPj4+Pj4+PiAg
ICAgICAgcmV0dXJuIGRhdGEgJiAoMHhmZmZmZmZmZiA+PiAoMzIgLSA4ICogc2l6ZSkpOw0KPj4+
Pj4+PiAgICB9DQo+Pj4+Pj4gSGVyZSBhbmQgLi4uDQo+Pj4+Pj4NCj4+Pj4+Pj4gQEAgLTQ3NSwx
MyArNDk4LDEyIEBAIHZvaWQgdnBjaV93cml0ZShwY2lfc2JkZl90IHNiZGYsIHVuc2lnbmVkIGlu
dCByZWcsIHVuc2lnbmVkIGludCBzaXplLA0KPj4+Pj4+PiAgICAgICAgICAgICAgICBicmVhazsN
Cj4+Pj4+Pj4gICAgICAgICAgICBBU1NFUlQoZGF0YV9vZmZzZXQgPCBzaXplKTsNCj4+Pj4+Pj4g
ICAgICAgIH0NCj4+Pj4+Pj4gKyAgICBzcGluX3VubG9jaygmcGRldi0+dnBjaV9sb2NrKTsNCj4+
Pj4+Pj4gICAgDQo+Pj4+Pj4+ICAgICAgICBpZiAoIGRhdGFfb2Zmc2V0IDwgc2l6ZSApDQo+Pj4+
Pj4+ICAgICAgICAgICAgLyogVGFpbGluZyBnYXAsIHdyaXRlIHRoZSByZW1haW5pbmcuICovDQo+
Pj4+Pj4+ICAgICAgICAgICAgdnBjaV93cml0ZV9odyhzYmRmLCByZWcgKyBkYXRhX29mZnNldCwg
c2l6ZSAtIGRhdGFfb2Zmc2V0LA0KPj4+Pj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0
YSA+PiAoZGF0YV9vZmZzZXQgKiA4KSk7DQo+Pj4+Pj4+IC0NCj4+Pj4+Pj4gLSAgICBzcGluX3Vu
bG9jaygmcGRldi0+dnBjaS0+bG9jayk7DQo+Pj4+Pj4+ICAgIH0NCj4+Pj4+PiAuLi4gZXZlbiBt
b3JlIHNvIGhlcmUgSSdtIG5vdCBzdXJlIG9mIHRoZSBjb3JyZWN0bmVzcyBvZiB0aGUgbW92aW5n
DQo+Pj4+Pj4geW91IGRvOiBXaGlsZSBwZGV2LT52cGNpIGluZGVlZCBkb2Vzbid0IGdldCBhY2Nl
c3NlZCwgSSB3b25kZXINCj4+Pj4+PiB3aGV0aGVyIHRoZXJlIHdhc24ndCBhbiBpbnRlbnRpb24g
dG8gYXZvaWQgcmFjaW5nIGNhbGxzIHRvDQo+Pj4+Pj4gdnBjaV97cmVhZCx3cml0ZX1faHcoKSB0
aGlzIHdheS4gSW4gYW55IGV2ZW50IEkgdGhpbmsgc3VjaCBtb3ZlbWVudA0KPj4+Pj4+IHdvdWxk
IG5lZWQganVzdGlmaWNhdGlvbiBpbiB0aGUgZGVzY3JpcHRpb24uDQo+Pj4+PiBJIGFncmVlIGFi
b3V0IHRoZSBuZWVkIGZvciBqdXN0aWZpY2F0aW9uIGluIHRoZSBjb21taXQgbWVzc2FnZSwgb3IN
Cj4+Pj4+IGV2ZW4gYmV0dGVyIHRoaXMgYmVpbmcgc3BsaXQgaW50byBhIHByZS1wYXRjaCwgYXMg
aXQncyBub3QgcmVsYXRlZCB0bw0KPj4+Pj4gdGhlIGxvY2sgc3dpdGNoaW5nIGRvbmUgaGVyZS4N
Cj4+Pj4+DQo+Pj4+PiBJIGRvIHRoaW5rIHRoaXMgaXMgZmluZSBob3dldmVyLCBhcyByYWNpbmcg
Y2FsbHMgdG8NCj4+Pj4+IHZwY2lfe3JlYWQsd3JpdGV9X2h3KCkgc2hvdWxkbid0IGJlIGEgcHJv
YmxlbS4gVGhvc2UgYXJlIGp1c3Qgd3JhcHBlcnMNCj4+Pj4+IGFyb3VuZCBwY2lfY29uZl97cmVh
ZCx3cml0ZX0gZnVuY3Rpb25zLCBhbmQgdGhlIHJlcXVpcmVkIGxvY2tpbmcgKGluDQo+Pj4+PiBj
YXNlIG9mIHVzaW5nIHRoZSBJTyBwb3J0cykgaXMgYWxyZWFkeSB0YWtlbiBjYXJlIGluDQo+Pj4+
PiBwY2lfY29uZl97cmVhZCx3cml0ZX0uDQo+Pj4+IElPVyB5b3UgY29uc2lkZXIgaXQgYWNjZXB0
YWJsZSBmb3IgYSBndWVzdCAocmVhbGx5OiBEb20wKSByZWFkIHJhY2luZw0KPj4+PiBhIHdyaXRl
IHRvIHJlYWQgYmFjayBvbmx5IHBhcnQgb2Ygd2hhdCB3YXMgd3JpdHRlbiAoc28gZmFyKT8gSSB3
b3VsZA0KPj4+PiB0aGluayBpbmRpdmlkdWFsIG11bHRpLWJ5dGUgcmVhZHMgYW5kIHdyaXRlcyBz
aG91bGQgYXBwZWFyIGF0b21pYyB0bw0KPj4+PiB0aGUgZ3Vlc3QuDQo+Pj4gV2Ugc3BsaXQgNjRi
aXQgd3JpdGVzIGludG8gdHdvIDMyYml0IG9uZXMgd2l0aG91dCB0YWtpbmcgdGhlIGxvY2sgZm9y
DQo+Pj4gdGhlIHdob2xlIGR1cmF0aW9uIG9mIHRoZSBhY2Nlc3MsIHNvIGl0J3MgYWxyZWFkeSBw
b3NzaWJsZSB0byBzZWUgYQ0KPj4+IHBhcnRpYWxseSB1cGRhdGVkIHN0YXRlIGFzIGEgcmVzdWx0
IG9mIGEgNjRiaXQgd3JpdGUuDQo+Pj4NCj4+PiBJJ20gZ29pbmcgb3ZlciB0aGUgUENJKGUpIHNw
ZWMgYnV0IEkgZG9uJ3Qgc2VlbSB0byBmaW5kIGFueXRoaW5nIGFib3V0DQo+Pj4gd2hldGhlciB0
aGUgRUNBTSBpcyBhbGxvd2VkIHRvIHNwbGl0IG1lbW9yeSB0cmFuc2FjdGlvbnMgaW50byBtdWx0
aXBsZQ0KPj4+IENvbmZpZ3VyYXRpb24gUmVxdWVzdHMsIGFuZCB3aGV0aGVyIHRob3NlIGNvdWxk
IHRoZW4gaW50ZXJsZWF2ZSB3aXRoDQo+Pj4gcmVxdWVzdHMgZnJvbSBhIGRpZmZlcmVudCBDUFUu
DQo+PiBTbywgd2l0aCB0aGUgYWJvdmUgaXMgaXQgc3RpbGwgZmluZSBmb3IgeW91IHRvIGhhdmUg
dGhlIGNoYW5nZSBhcyBpcyBvcg0KPj4geW91IHdhbnQgdGhpcyBvcHRpbWl6YXRpb24gdG8gZ28g
aW50byBhIGRlZGljYXRlZCBwYXRjaCBiZWZvcmUgdGhpcyBvbmU/DQo+IFRoZSBjaGFuZ2Ugc2Vl
bXMgc2xpZ2h0bHkgY29udHJvdmVyc2lhbCwgc28gSSB0aGluayBpdCB3b3VsZCBiZSBiZXN0DQo+
IGlmIGl0IHdhcyBzcGxpdCBpbnRvIGEgc2VwYXJhdGUgcGF0Y2ggd2l0aCBhIHByb3BlciByZWFz
b25pbmcgaW4gdGhlDQo+IGNvbW1pdCBtZXNzYWdlLg0KU3VyZSwgd2lsbCBtb3ZlIGludG8gYSBk
ZWRpY2F0ZWQgcGF0Y2ggdGhlbg0KPg0KPiBUaGFua3MsIFJvZ2VyLg0KVGhhbmsgeW91LA0KT2xl
a3NhbmRy


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 09:26:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 09:26:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262829.455219 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nESwa-0000i2-0E; Mon, 31 Jan 2022 09:25:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262829.455219; Mon, 31 Jan 2022 09:25: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 1nESwZ-0000hv-Se; Mon, 31 Jan 2022 09:25:51 +0000
Received: by outflank-mailman (input) for mailman id 262829;
 Mon, 31 Jan 2022 09:25:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Fky=SP=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nESwY-0000hp-P0
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 09:25:50 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c70cb49b-8277-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 10:25:49 +0100 (CET)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2051.outbound.protection.outlook.com [104.47.13.51]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-22-ppEK3Om-NBq3uM1Pas4gyA-1; Mon, 31 Jan 2022 10:25:48 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM0PR04MB5153.eurprd04.prod.outlook.com (2603:10a6:208:c8::26)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.21; Mon, 31 Jan
 2022 09:25:46 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45%6]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 09:25: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: c70cb49b-8277-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643621149;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=sq7Kl7apLS4yoC1Ge7Ga3oVjKpUmyx1qNGLnf5Kdqkw=;
	b=np1yJ3dW/eaye0BJ77SMyxmV6CNrkE8ETyxDB6399C8ATcK41uGemXaRbozDxr08386JJy
	AFF06CeSbIbHX1k6kh4Tp1IAju5cNxs9zalI9fH+QzupHSanfqjpC4eDYFZdZa3R7W92y8
	b4Kuerjs70gvc2B2g23TNiWu74u85Vk=
X-MC-Unique: ppEK3Om-NBq3uM1Pas4gyA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZxI5MQuQPWFUxCYAIl0IHwu2m45bPskLTjZ2aM6xUytrhcVrKY2M7LzV6B1jRw9/eAJXwZi4SLWcZOdvSab09cNUWCeGrLVvRlb2vUytW/DN8tq43lqEi59HHspG0bnyszWChfHIdalZCsE9zgt+PbFTfPT8PScSeM7018S2pj+iutI9wqHdYCQQNn5anLXdxsOyDAroO5DssMuJSGnatF1x9niBkRJS828Pd4kEwCzJe98GdxNztwmwvT/zT1F4GXaAeixiXaFneH4R8hGw4n1+LdMr6Wt8klge4xC2JPKcB+t6NZk3vabq7Q09LLdlsTlhtSBvrMXY+GHAjBCQqA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sq7Kl7apLS4yoC1Ge7Ga3oVjKpUmyx1qNGLnf5Kdqkw=;
 b=LrLYbOXF6cTVgAlK/NxknxoS/QotV/Wa+e6R51jclpH4jaz5HBNsVmBcfapLs2sHuMuKYhLlzrwUM6uwluOW5Ev/mQphHMkER1Qr1GeAhFCH9Hw8CRA6HqBj04UaIYZMuWRXoyLJpHxX8v+ZWq0+TFDFP20HCarLHOdUKH+E2gaq6YaqvUncV8RHXvhq1s4tG/sdbRhfT0jYdlvj51Hd9kEyXPyjuiCFz/lLBJ1MOXmYc+nr8R3CbtxGPZHo8/FC0iG7I2d6uzeVPnsfMoT8b4pV6sd1hOmGMweD9pMKBz8ZiAlxkfWs/roRZrFIouDTYUpVS5Ca9ST0vDQJoPhD9A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <fe238ce3-a3d1-2403-7870-4a583c4afde4@suse.com>
Date: Mon, 31 Jan 2022 10:25:47 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH] gitignore: remove stale entries
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20220130084231.18896-1-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220130084231.18896-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0057.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::14) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 89316afd-f867-4a30-a0e9-08d9e49ba958
X-MS-TrafficTypeDiagnostic: AM0PR04MB5153:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB51533A9144DB4199E606C923B3259@AM0PR04MB5153.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:626;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	EZKREg24/nr+ZqllsmAnx2/Er8y3rghTNMN7I4es/ijovafA/wqvoVOjRm9iUdlA2TKAflvesasy3oz0ZsykcSMOHAvtCoD4QgTYixdqv21TdaT+vJhqnmcx+KKTI9VsCZQk7Aj4k8u0GGwHrv3BFjDzliKWiiQLHCtUb6I2ATbhUZBhz4c2UTUmgKmp7K+i2u9GEoAZXVwCtS76rtWZJjihU10Blt+0wLeospqk25buYr2s/U2p1xQ9P61wAi1fPw3w9PrJOlBSCNghBtLlrcHs2PEW/aziWJQ3tAWVbZ1iEKDpIYCdDXtBF7CrMNMMtNo/pGyzggg1sZzmh1y+jlXaXLS+flwBUdAJI8PiGI12mKArpJhHMMVb7jygfxzuhvEFwkBWQyHlMlF0UAePWR1vubGWAPw8YwZ+T91IZCJf19krRsZoxqRx9/tfc5mA66uzsXLyr7h3CdOSqKl59Faajkc1q+MF/OmufL4CIY55UbdV+Nau2isF2xaD9xfC6nSifQiBjd44llpDitYegyol8rGdCQ7BGpiSKwWz5IYGAF+Lk8ks031ACdaeSkJjZbWQEJwjSS+nOHG6vdokfkgTwaDo0JShcDsyTb+AULLrjG57RDfRbFNMTNmsH0NW4D9cgJWGNMgmK1tdjsqAigj4LCdqNWGKigagqIKQAx2Ja3dn4llANb1UGKFpoTqLpBl1s5ONkgDNoihO9X1qzYA/2PFV552yl8ijq9e8Bjs=
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:(13230001)(366004)(6506007)(53546011)(186003)(5660300002)(2616005)(2906002)(558084003)(26005)(6512007)(6862004)(31696002)(86362001)(83380400001)(4326008)(316002)(66946007)(37006003)(31686004)(8936002)(8676002)(66556008)(66476007)(6486002)(54906003)(6636002)(508600001)(36756003)(38100700002)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Tm9IbFlpbU1xa1k3MDRjR2pUVU9mdG94OXNvYnlIZVJvU0E4bVh2bi9oT0tt?=
 =?utf-8?B?VzM5UUtCRDc0U3YvNHBuVlRPbVFtRWcyc0dSMHBwby9VSTFRUU5OWFZhdWtS?=
 =?utf-8?B?Y29GdDk4QmJ4RnA1Nk92elZwQzdDNCtuM2IvaDNEYk5NWU5BZlVVQ1QwUDdV?=
 =?utf-8?B?RDBTRWdlRjlWak53UExxb1hOU2I2SjBvQjlxQjdqQ1JGaW03QmRyU3VsQnhm?=
 =?utf-8?B?TENDTFdVWVZxQnpkOE1tUXdKM2NyT053b1JycForWlozdithZ1hTeUYvRlor?=
 =?utf-8?B?OFA0cEc4WkZIdkliNmQ3a2ZERjFyM1hVaVVBYkhReCtWbGMwRGtmYWtORzlN?=
 =?utf-8?B?ZHlGK0ZzOW5yazNCTFZEdkhKaG9VSkk2U1EzcE00NEYyK0NVMkdaNENRcDhI?=
 =?utf-8?B?bkc1T253SjA2MFR2OFdxbEhhWEJFWGcxQU8vU1JiSFgrRmxsdUs0N2d6U3Ar?=
 =?utf-8?B?WlZCbkJvZlhWZG1MYyt1UjFzNWMvdTlLNzNzeWdMZ3NUODk5U1FMQ0U2aVdR?=
 =?utf-8?B?dXA2dzhmZ0NGOGg0ZEZ5SDlIdldjMWpDS3N4QUV0RzB5SlM2d2tHcmdZVVJP?=
 =?utf-8?B?VE5ET2g0WTEzNU5XRFlDM3hXTU45K2wxR2tmTW00NmtIWFpTV2NtRkpKSXpt?=
 =?utf-8?B?WXNndDdCMytHYm9wd2s3UWRORUxrNnJ6SWJwU2VIVUFlNitSeUd0S295OE5X?=
 =?utf-8?B?dkpyOVA0ZVlneDM4b0RnMjNBcCtRbkJJVnI3VXZZcEgzamtyYmZyZVdnL1F4?=
 =?utf-8?B?b2d1RmJPNnVKSW1RRzBPSEpJc3l5RDBvYVFiTHZSZGV6cmVVc2JRR0hpejYy?=
 =?utf-8?B?a2RxUkFGaUZYcTdndEJ2MXRhN0F2QnE5c2ZWWGp1M3BVbnBPeGU4L1A5VVRQ?=
 =?utf-8?B?eHhoZmhQMTY0bVAvYm54YS9PZTVWNkpFaTV0eHJlTGJEUEVLTnl5UXRTOGg1?=
 =?utf-8?B?UXI4Q1NLbWZYTFh3OHV6THhsd2g2YXFkTjcrQ0lyNXcra1ZyY2oxa2Q0Ykdw?=
 =?utf-8?B?MkwrcUk2WmlZaFNSeG93Z3NyYnpXaUJCajRXM0VpcFFUMUowLzd5bHZnQjRx?=
 =?utf-8?B?MmwxUWUyYjRIV2Rhbms5cGpYVTVWaUlQeUxQQnJralJ1NHVPM0xpVEdXenpx?=
 =?utf-8?B?UWptVTVacmI5cjcrN2JzanQ5N0VNSTBVWlMxVUhGSjZHSU53M0c5MmJuWFF1?=
 =?utf-8?B?UlZvSmZiUDhRUGljYkwxbmUrU1Y4U0JiaVMxVzVMcnFJaXZNZU9PVkFEWjNq?=
 =?utf-8?B?cjhtdld1amhqZ2dYWmhRUTY5ZDJmOU1WNElSMjc0V3VOVmNzL0VsV1RjKys0?=
 =?utf-8?B?cjUvbzk2c3NoRmdFYUlCZHU3NHlBVFVuM0xEQWpvUFZTNDdoMVQ2NlJ3WGNU?=
 =?utf-8?B?bUw0NVdFaXZDMDBQbk9yMVBaN0E1WjZ2V2M2YlNqcUlUS0JHeVB2VHdtMm1i?=
 =?utf-8?B?NmVlN01nd1Y0UUZTdEdNOVNZVTlwdWRSVkczeXZ1MVE2K0pRRFovd3ZxTDhL?=
 =?utf-8?B?akVhRGJ5L290bzJEa1RhSld3MURDUXdiUnQzTlpROVBqMXEzOW44MWpnK0dw?=
 =?utf-8?B?VzBBdHBNa0lQS0kwVDJYaHo4NW1DR2huZ0R4T0dWbG85akI3MUJNeGVDbnhU?=
 =?utf-8?B?MDF2L2R4QXRUVHNCblpKSnFGcm5jaCtWYWJwYjQwZTR2Qzd2cFU3QnRkL0tP?=
 =?utf-8?B?V2dnbDZDQ04rbkFKTWdraWJJMEZGZWpKVjNZT2hpUVFQZmxmNVlNMmcvTm9G?=
 =?utf-8?B?VlV4cTJiS2NWeHVMRXZvdGJ0QkpPck9BNjNMTUxUeHVnNEYwZjZ4U2xTZ2JU?=
 =?utf-8?B?cm54a29TcDBYRW9xVE9HTHlKS2k4UThscUY5eHZnZjdrcmlXbVdlaG9uUnZ5?=
 =?utf-8?B?Z3AvazJ1Y2dYNEg2NEVybytpTHhiZERVVWY2OWl4Y1k2QlBLQk90cFdPdTU2?=
 =?utf-8?B?aXpGQ0U0U202dDRHc3pmZitpenF1SGNnUGxtWjNkcktUcjRnQjEyeVBWMldy?=
 =?utf-8?B?dFc1S0JvamtxN2F1bXZ1ZnNPeDlod3hIYnVLY0xzMlkxMGVPMWZ3cUtxV3oz?=
 =?utf-8?B?TjdiTUJtVmhzNXA2eUcySEw5Vmc0MkVnakg0QWttZHFMSHNWUzdjeDdJcldG?=
 =?utf-8?B?N1N1cXhIOTNKVkh2R01ObDJIWllGT3ByS3FVazVGVTlqTDNydWZMQ1dQRm9N?=
 =?utf-8?Q?hz51F3tX9ZeKAWQezkGgMjg=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 89316afd-f867-4a30-a0e9-08d9e49ba958
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 09:25:46.3419
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0P5575+duNkdLdty+ns2YRFrx6TEeX2UFW1y9tFOD1j12MesTrocUreAUkPURo3WBiQfZErQlkVakCzqe4JRAw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB5153

On 30.01.2022 09:42, Juergen Gross wrote:
> The entries referring to tools/security have become stale more than
> 10 years ago. Remove them.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Acked-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Mon Jan 31 09:30:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 09:30:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262835.455230 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nET0w-00027l-Ga; Mon, 31 Jan 2022 09:30:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262835.455230; Mon, 31 Jan 2022 09: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 1nET0w-00027e-DS; Mon, 31 Jan 2022 09:30:22 +0000
Received: by outflank-mailman (input) for mailman id 262835;
 Mon, 31 Jan 2022 09:29:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8bCO=SP=canonical.com=krzysztof.kozlowski@srs-se1.protection.inumbo.net>)
 id 1nESzg-0001MY-T0
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 09:29:05 +0000
Received: from smtp-relay-internal-0.canonical.com
 (smtp-relay-internal-0.canonical.com [185.125.188.122])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 39e85613-8278-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 10:29:03 +0100 (CET)
Received: from mail-ej1-f71.google.com (mail-ej1-f71.google.com
 [209.85.218.71])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-relay-internal-0.canonical.com (Postfix) with ESMTPS id 3136E3F4B6
 for <xen-devel@lists.xenproject.org>; Mon, 31 Jan 2022 09:28:58 +0000 (UTC)
Received: by mail-ej1-f71.google.com with SMTP id
 fx12-20020a170906b74c00b006bbeab42f06so1139092ejb.3
 for <xen-devel@lists.xenproject.org>; Mon, 31 Jan 2022 01:28:58 -0800 (PST)
Received: from [192.168.0.71] (xdsl-188-155-168-84.adslplus.ch.
 [188.155.168.84])
 by smtp.gmail.com with ESMTPSA id z2sm2645158ejn.117.2022.01.31.01.28.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 31 Jan 2022 01:28:56 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 39e85613-8278-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com;
	s=20210705; t=1643621338;
	bh=dkzBuNd+uNU6CfCWtlWJDYP24x7ho0sbzpUOr5OCq8A=;
	h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
	 In-Reply-To:Content-Type;
	b=iSqz/uLapSay7G/3A6PkXfNFarhEKpKi77MjwJT3TWh4Sv9zi8xxJc6Rkgnk/UQ3X
	 Yvr9zkdtcF2g6oFH10U/HqNYl2JgU6TIPCzY3Hp6miKzhib0mSoE8e1j5EE450Bes6
	 qC6Nk/QQtF9ZjHzny9/qSH3PJuaiAnJbMud9Sb5Y1vvXeTeXotimNFdFGDuIj+WzCx
	 +sQiPy0qGoT6niPfGMYqQPdW9mH+t2WQCNw63g8++6lWWWNXk4xKf1kdKExTBoWdtp
	 Fr8xP9lb7ptdwU+meL0LaKA08Pt3Gn+XokqmPxFvGnoCCSNkBA7DNg376izAfxT+dt
	 B9Ji0NE/qyypQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:message-id:date:mime-version:user-agent:subject
         :content-language:to:cc:references:from:in-reply-to
         :content-transfer-encoding;
        bh=dkzBuNd+uNU6CfCWtlWJDYP24x7ho0sbzpUOr5OCq8A=;
        b=GgF9JHnBZL7+A91F4628lBBomUHiGm5vxfz32T9OcQWBZbUntkRz8Ukj4Bo0X+CC+c
         eZGZ/fc66H/p6OgjpADcZtaQBduXo3kee2d4h4G4M/lMfaVhhfzecQ1rj3np0UMj96JJ
         FZbh9/zOfiy1+HSweKTD0+u3j6T2pnVeN2uOI1LPostZ+nsza/fzv4aVvbDE+x9UEU7s
         IaiegLjeJ0BQg+VUy/YtOHnEBL02PUp83vrx0bqnxjlpLJnFLYnE90jvhjB0lsb5OUJ2
         PLMivOma7y9Nju8jhf2xLqmMIP907FnuhnGZnngUZWA7HOFokywIYblTmygdGO6GMbyi
         UFSA==
X-Gm-Message-State: AOAM530hkI/r0VadhHiy23lyvBws/6D5GZI5IU1e+zJeX91op+8Nm2uk
	i88bG4jCg+ElDgUJ0I5Hsg/CLPBBilVpsD8gNINwMssIUlHJfhApx5HOHawAdBbuHw1zRXl/3Uc
	2TJF19x7677LVmRbpDWpND7WNVhOCOZPrKIeTNEolVHmg
X-Received: by 2002:a17:907:d88:: with SMTP id go8mr16082679ejc.343.1643621337692;
        Mon, 31 Jan 2022 01:28:57 -0800 (PST)
X-Google-Smtp-Source: ABdhPJxwUgdzk1HBzC4qCevIT6t5qYbRcRcbKgCipd7W6AaFHRRw14fKuy7dvOGc19/jX8mpPV7Ajw==
X-Received: by 2002:a17:907:d88:: with SMTP id go8mr16082640ejc.343.1643621337451;
        Mon, 31 Jan 2022 01:28:57 -0800 (PST)
Message-ID: <1e22e171-9d13-5763-a9e2-a24e7d98e130@canonical.com>
Date: Mon, 31 Jan 2022 10:28:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v6 18/21] memory: emif: Use kernel_can_power_off()
Content-Language: en-US
To: Dmitry Osipenko <digetx@gmail.com>,
 Thierry Reding <thierry.reding@gmail.com>,
 Jonathan Hunter <jonathanh@nvidia.com>, Russell King
 <linux@armlinux.org.uk>, Catalin Marinas <catalin.marinas@arm.com>,
 Will Deacon <will@kernel.org>, Guo Ren <guoren@kernel.org>,
 Geert Uytterhoeven <geert@linux-m68k.org>, Greg Ungerer
 <gerg@linux-m68k.org>, Joshua Thompson <funaho@jurai.org>,
 Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
 Sebastian Reichel <sre@kernel.org>, Linus Walleij
 <linus.walleij@linaro.org>, Philipp Zabel <p.zabel@pengutronix.de>,
 Greentime Hu <green.hu@gmail.com>, Vincent Chen <deanbo422@gmail.com>,
 "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
 Helge Deller <deller@gmx.de>, Michael Ellerman <mpe@ellerman.id.au>,
 Benjamin Herrenschmidt <benh@kernel.crashing.org>,
 Paul Mackerras <paulus@samba.org>, Paul Walmsley <paul.walmsley@sifive.com>,
 Palmer Dabbelt <palmer@dabbelt.com>, Albert Ou <aou@eecs.berkeley.edu>,
 Yoshinori Sato <ysato@users.sourceforge.jp>, Rich Felker <dalias@libc.org>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Juergen Gross
 <jgross@suse.com>, Stefano Stabellini <sstabellini@kernel.org>,
 "Rafael J. Wysocki" <rafael@kernel.org>, Len Brown <lenb@kernel.org>,
 Santosh Shilimkar <ssantosh@kernel.org>, Liam Girdwood
 <lgirdwood@gmail.com>, Mark Brown <broonie@kernel.org>,
 Pavel Machek <pavel@ucw.cz>, Lee Jones <lee.jones@linaro.org>,
 Andrew Morton <akpm@linux-foundation.org>, Guenter Roeck
 <linux@roeck-us.net>, Daniel Lezcano <daniel.lezcano@linaro.org>,
 Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
 Ulf Hansson <ulf.hansson@linaro.org>, alankao@andestech.com,
 "K . C . Kuen-Chern Lin" <kclin@andestech.com>,
 =?UTF-8?B?TWljaGHFgiBNaXJvc8WCYXc=?= <mirq-linux@rere.qmqm.pl>
Cc: linux-kernel@vger.kernel.org, linux-csky@vger.kernel.org,
 linux-ia64@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
 linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
 linux-riscv@lists.infradead.org, linux-sh@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-acpi@vger.kernel.org,
 linux-pm@vger.kernel.org, linux-tegra@vger.kernel.org
References: <20220130233718.21544-1-digetx@gmail.com>
 <20220130233718.21544-19-digetx@gmail.com>
From: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
In-Reply-To: <20220130233718.21544-19-digetx@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 31/01/2022 00:37, Dmitry Osipenko wrote:
> Replace legacy pm_power_off with kernel_can_power_off() helper that
> is aware about chained power-off handlers.
> 
> Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
> ---
>  drivers/memory/emif.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 


Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>


Best regards,
Krzysztof


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 09:32:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 09:32:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262842.455240 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nET2z-0002l2-TM; Mon, 31 Jan 2022 09:32:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262842.455240; Mon, 31 Jan 2022 09:32:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nET2z-0002kv-QL; Mon, 31 Jan 2022 09:32:29 +0000
Received: by outflank-mailman (input) for mailman id 262842;
 Mon, 31 Jan 2022 09:32:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Fky=SP=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nET2y-0002kp-Al
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 09:32:28 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b3f891ca-8278-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 10:32:27 +0100 (CET)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2052.outbound.protection.outlook.com [104.47.6.52]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-12-9Ed8pKgdN8mfjCCsK5xFTQ-1; Mon, 31 Jan 2022 10:32:25 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DBAPR04MB7462.eurprd04.prod.outlook.com (2603:10a6:10:1a0::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.22; Mon, 31 Jan
 2022 09:32:22 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45%6]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 09:32:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b3f891ca-8278-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643621546;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=y/QEbGFwmuZKOyG4ddqBcKsoT+c03Ca3DrZgs5+hJmA=;
	b=iQI0BTj00WcI09b7WSRX7T2L2ey75LAAJb6jKnqke5Vyv37sDOk4m7WM9+rB4VKDDO1Pf9
	LLlcwxTBW4hgXNaQK+lsJSKnjUKukUB4I0obgMMHKFUoeKc2dbdTP1irbcXZTS1UHdgs9w
	8rG5Vij8nskBGG/oQqlDt3BxhYuhxZ8=
X-MC-Unique: 9Ed8pKgdN8mfjCCsK5xFTQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=M14DdHTP60huLZ8IAQyX/z1ql58Ffpg9e+tNpyi6tg/yh70lokVprJcoY/232TGAJMZx/zHtVBpVI1WEGVA48Iz2NaAyM217rBXQSatjpRlAPAgedMpg3EIhH2NpWUbSYkl1NDcWGGIjcAHFHedPR5tKUts51mEdmwqgY1TMe6dnPBYH8YKE2zBCqYr08Jz4CPiMN3BW/yddAYVcECQVvNLlBqalkBP1FtM0V0fNERLDUgi2EMIYOIF0TS1ZlujarJ8Bgjyk82nj9d+IKg03m0hfxGIQ02wG+h8tB2jqHyOtwnseSRnz2VQ/4f/2eN6EpOw8ovScp5gMI/x/ICqqgw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=y/QEbGFwmuZKOyG4ddqBcKsoT+c03Ca3DrZgs5+hJmA=;
 b=cPHQzNyk3MPYcWqAjsfZ+45Ixwo47SUFwUYi+lIUAZp8drr76Zq1W79L4ivCVbP9eAw72jC8d6LHH7EeyfC2NgsX96DbxL2L5xlzvc8t0ZMRut6hA0XnY4UehPs2A4INj80DqWkDKO9SsSEvXvLn5SQnwisJioN7fqGE0Unz9bXxvPG+POVnsvf5AEM+QzR/zqOpuvvPP6GCh041dMHM+FSJtRuZuJW4C3MkfD/ehvL2k+mykeThKl9PXWfYpjsZHRvpwlKmUVBkNmwtfy3X7/D95OuLh+CEmnFKOPYUKAxJbEwZEdWcCTe5zOM2620DH50ebUqov3k1CH/nByczRg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ed1af815-8a03-5096-8ac1-df9062921871@suse.com>
Date: Mon, 31 Jan 2022 10:32:23 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v3 2/5] xen: make evtchn_alloc_unbound public
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: jgross@suse.com, Bertrand.Marquis@arm.com, julien@xen.org,
 Volodymyr_Babchuk@epam.com, Luca Miccio <lucmiccio@gmail.com>,
 Stefano Stabellini <stefano.stabellini@xilinx.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2201281330520.27308@ubuntu-linux-20-04-desktop>
 <20220128213307.2822078-2-sstabellini@kernel.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220128213307.2822078-2-sstabellini@kernel.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR07CA0030.eurprd07.prod.outlook.com
 (2603:10a6:20b:451::9) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 42058559-6406-4467-52c1-08d9e49c95ac
X-MS-TrafficTypeDiagnostic: DBAPR04MB7462:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-Microsoft-Antispam-PRVS:
	<DBAPR04MB7462CDC495AA98A29B4FF8B2B3259@DBAPR04MB7462.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:
	CmvlngUPaPcnkjqL+3vgfJ7gVk2BbCN7n3RvBDHl+72FGhZK+DPKSyD+4qH7pGk57lN42BbpC5O9Zm2E5P2JQtvZ8glJtQkK4NwZRKw66pnIuwwHXQ2ex6bsgOQtPFyysVyIJ9Co+GZaKWfS9Esue0TjjyfZ2lJRzlEtgEbBAGjf5W09o2eHW1rKwMWgcUjGRzfxIxFq9FoJTnFoBDfLtSzlbB79jv69AVKxUt+42z1yIlT1ocqb9p2/pbUpO+RREm0jR36q4Wh9qKuPI/btJMAAZ89lR/CaH0BA9ktiffrou9PB/RTSCHQxT0lk3/1m35rLdrUwRg0T2chUcx1tmu/9fcWpPVHn4yi1cCb6YukOXWeGKiV8vnF5TPPBlYn803SEgc08BeFSAMX9Mo1EKuR9qIFmmDMk4NC9ZD+7knMm14j4fnYlyMTgTgS3VUrj/zN23HFwevfoZGAUGK8bgwPNQ8zgsRGJVIzhZUEIXoDYIH5BamiiXGJENlxMB+YQ1osNYEVkgM3Mwqrj+Q54UINwQCmdn9Au+QlaKkakf/RvNMVnyu1FtEoQHhQNUYMeBiHmND1k1R/oYMnkuX/UJVhZ0D85XOm+NvVE6QH6lKyapMVR2FS2VAq80EpEu6VKV+DR+qoToUo3f6SlDyPraYo7Xq7prVlpEknav3uGDpku8/PCoIRZozYjpXFGgkPN2lmpfmurlla5tOzMcCCVC9x0Of1GGPMvLBYGnYJzck99KWFgOE74+4hvREiFTRm0
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:(13230001)(366004)(53546011)(5660300002)(6512007)(8936002)(8676002)(66476007)(7416002)(66946007)(66556008)(6506007)(38100700002)(4326008)(86362001)(31696002)(2616005)(83380400001)(2906002)(4744005)(26005)(186003)(36756003)(31686004)(6916009)(316002)(54906003)(6486002)(508600001)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?clpya1RzTngzbzFqSzMyVnE1SDhhZFRBMEpPL0FTaXQvUWFwUTRzVmJScURW?=
 =?utf-8?B?K1RIOFR0aGlIMU00OGpQcnNPc1cySUZpSzRiMEtzZXFVdTExeXlackMzaVdZ?=
 =?utf-8?B?cFh3bklVN3pGWURXWElybHRhT0dkT29IU20veFhEQ3RaaWlCY3VNVWk0QnhE?=
 =?utf-8?B?NFpIcnNwZm9sTFVBcndDalQvSnhHTCtnK0hpdUJpWWxEajByVzY5RXduOVlV?=
 =?utf-8?B?UmFxM042QVYzSFQyNkwzQTNGRUZDSHJBTXJNSEtVYVJwTEM4aEV2em1zYzVu?=
 =?utf-8?B?M3lmQk9pSklXcVFaU3pjUnpaUUY5UWY4STYyUm5IcldxbEhDbXErM1FLandH?=
 =?utf-8?B?UkJlOVNLVWpuRlJrMDRMQ3RLUUUwMVcyRmw2RFY1bjJERnpmTnp6aEd0dThQ?=
 =?utf-8?B?K1J6ZFZsS2g1SVNYbS9wTGZ3Y0VaeUVuc2ljNHlpSXowMGJrbEtkSkpxRWFJ?=
 =?utf-8?B?N2U3aElwQmxDYWQ5VnpMZExLa3VFZ2JSLzRpSml1c2kvaWwrb296UFgybjNU?=
 =?utf-8?B?TFBIS3d3VUJBRS9MaGtSd1RYcWgveXA3VDB4dndwc0RhOS9RV1hxM1AzNlFZ?=
 =?utf-8?B?MjNpczlmMVluMUNERFFCWFUrNlJjUWRMOVIvMVBaUm5xNkxIM3ZvMW93QkxW?=
 =?utf-8?B?aytzWDJiWTZCU2FGaXhlNVdDOHFFek1oeEl3SElEemFwN3RrY1BvWWFsOEUr?=
 =?utf-8?B?R2VsT0NMR3p6cVFPQkNMRVEwT2N5blZad0lTSGFzdmpZQlFGLzZ2UWdYNlFh?=
 =?utf-8?B?K3o4VTJRR29Eb1ErL3owcXc2WXdwNEY3NkJQTDJqQWIzTUJnQ1pMUlNwazQy?=
 =?utf-8?B?N3pQWitkSU1sbDRTU1Q0ZWM2aDZGRklvdlRBamlCOExsNThnTUN2S2dwWk5L?=
 =?utf-8?B?YVJZdjVaRWdMOVRwVmpDdkU3dXFRT3pnUkx3bHc2Ym13VWJISHp2bHJoTE9L?=
 =?utf-8?B?MXlRT2ZsYW8xalk1SmpuaFdHM0RiVG9HWTZZU1BCVzh4ODRIYWtTTW0xNWRO?=
 =?utf-8?B?V2NFeWRoaXJSeW4yNEJWTUd4YW00WjBQN2U2TWkwY21VQ0gzZnpBNDNrRXlM?=
 =?utf-8?B?dnVCdEdQTEZwc1ZUWkdzSVdQaTgzUUpWZUFYeG80STFuNk9WWTRlSmpibHo5?=
 =?utf-8?B?eGV5UHQrNFJJNjJIQkdLRXRCUk04S1g5cFVQNDhTc3NsbE9RU3dhVzBKT09a?=
 =?utf-8?B?NWVlYjVwTXROdHRmTU84cUFybzA1emNsME9zcGdOZkloR0NGMlJvOGVpVlVp?=
 =?utf-8?B?cmFYd2RUei9qbHhrNW1PSi9QTnVYUFFmYncxazJaN0J3UE5rVU9lN2ltbXRz?=
 =?utf-8?B?elo5R1h0SEdMUG53d2hsOGJJUDZUTWxWT1ZSYkIyVUNTaDBpR2tEY1dIMWFz?=
 =?utf-8?B?SFZYanhKT1g3NFFvMUhidi9IYzg3Ums4YkdURW9iNmVOalRnanp3dDdHOGZD?=
 =?utf-8?B?MGdxaTY2d3J2eFlsU2tSbmRYdmVMSnNFZ2JPc1BOSDBuK0dlUnBtYno1aVBq?=
 =?utf-8?B?N0J3SktaVnJkQjBMZVF4SDNaanJqeHcySEs4VnFDSjFUY0VNa1pUZjJYYVNn?=
 =?utf-8?B?MG5sQkV4MUdVWHRPWUlJNlJlbEc3NmdhQXBjRXBaVTgxZ3BWNFBieE1EYTQ1?=
 =?utf-8?B?Tk9QaDFENXZIUGZydXcxdzlsYWhFTkhML1JGWkt3ek1ZeXZON2dHTy9VVU11?=
 =?utf-8?B?S3prWlNaUXU4YzU0REpaRHQrdFYvcERPaWYzeE5XTFVqSTdPbU9xR1JlcnNN?=
 =?utf-8?B?YTNNcS9oUkErUnRLZ2xRMFh2VHhSdDd4RXI3N0tTVEh0SkliODIwallPdlRk?=
 =?utf-8?B?bC9uemU1TVhtZnArMzRYOHM5aGozdGdlWTlGbW4wUWh6RVIyb1lOU2YzREcv?=
 =?utf-8?B?N2RSMkcvdnpyblJ2NkF2aUFqQzNDaXNVdTF1ak9zV1NVWi9scUNrOXNFRmFY?=
 =?utf-8?B?VWk0bVUveWR5TERKMXVyanhMQ1hiL0VyYVRmMGlMenFKeTZVMGYrQXhtOVZn?=
 =?utf-8?B?RmhBR01LdGpYaS91bWRFSE1VRHBiSUJvZnVvTjR1aHpjb25PQ0lQUVRtc0tO?=
 =?utf-8?B?dTJQMHpHLzdpZFdMZ3A5SXBCNW5kdDRCQmlGVGhsNUN6cDB0b29HMTJtakwr?=
 =?utf-8?B?dkozVFdCSkVhaHJOSUVGVWgwa2pZd2pySmtiN3E0T0E5NW5YV2JnRWEzcXow?=
 =?utf-8?Q?/YxvxJoe5ZJzqpEglKgiMC0=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 42058559-6406-4467-52c1-08d9e49c95ac
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 09:32:22.8015
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 8L3XkXOTWzKsNrLBYWTGb/OVn5hitC1nwfUtUkgBUSX3lHf2j+cGwTqRkJizfObEwonRYFBxVWm60dWxMskRIA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7462

On 28.01.2022 22:33, Stefano Stabellini wrote:
> From: Luca Miccio <lucmiccio@gmail.com>
> 
> The xenstore event channel will be allocated for dom0less domains. It is
> necessary to have access to the evtchn_alloc_unbound function to do
> that, so make evtchn_alloc_unbound public.
> 
> Add a skip_xsm parameter to allow disabling the XSM check in
> evtchn_alloc_unbound (xsm_evtchn_unbound wouldn't work for a call
> originated from Xen before running any domains.)

What I continue to be missing here are some words on why it is okay to
skip XSM checking in this case. After all an alternative would be to
put in place a suitable domain as "current" one for the check to actually
work.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 31 09:39:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 09:39:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262848.455252 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nET9P-0003Ry-Ht; Mon, 31 Jan 2022 09:39:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262848.455252; Mon, 31 Jan 2022 09:39:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nET9P-0003Rr-Ep; Mon, 31 Jan 2022 09:39:07 +0000
Received: by outflank-mailman (input) for mailman id 262848;
 Mon, 31 Jan 2022 09:39:05 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nET9N-0003Rf-HL; Mon, 31 Jan 2022 09:39:05 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nET9N-0006ws-D8; Mon, 31 Jan 2022 09:39: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 1nET9N-0000IX-1b; Mon, 31 Jan 2022 09:39:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nET9N-0002IM-16; Mon, 31 Jan 2022 09:39:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=l5wQM60O0WneEk2R6eKM8/oUj/46YR3T5+M4LslX43Q=; b=g7qM46jNFfoIz69qexmLwFNo49
	msHcBFkIZBnHeRXWfCgz2TurDtfiNk4OAA9dqixO5och0UYnuJcnsxWHN4z4cVG+0nuojI90MZEY6
	Z2H1bgZ6AGi4c8AweQ6qFEGAPSdzpdUUMrh6lghNnPkHahO0llQ4dZ34wV/71ARiJIH8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167961-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 167961: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail: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-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-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-armhf-armhf-libvirt-qcow2: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-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-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-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-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=21170a738c11b24815b4afab2151bd3aa2a29acc
X-Osstest-Versions-That:
    xen=21170a738c11b24815b4afab2151bd3aa2a29acc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 31 Jan 2022 09:39:05 +0000

flight 167961 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167961/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 167951
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat  fail pass in 167951

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167951
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167951
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167951
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167951
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167951
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167951
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167951
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167951
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167951
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167951
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167951
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167951
 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-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-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-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-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  21170a738c11b24815b4afab2151bd3aa2a29acc
baseline version:
 xen                  21170a738c11b24815b4afab2151bd3aa2a29acc

Last test of basis   167961  2022-01-31 01:51:51 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Mon Jan 31 09:41:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 09:41:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262859.455263 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nETBR-0004qf-6B; Mon, 31 Jan 2022 09:41:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262859.455263; Mon, 31 Jan 2022 09: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 1nETBR-0004qY-2r; Mon, 31 Jan 2022 09:41:13 +0000
Received: by outflank-mailman (input) for mailman id 262859;
 Mon, 31 Jan 2022 09:41:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ytUN=SP=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nETBQ-0004qS-7R
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 09:41:12 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eb243eb1-8279-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 10:41:10 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eb243eb1-8279-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643622070;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=jg7/AFK02UErJvMPcY1tsAdHymkvbmbrYP0tNIjVZmQ=;
  b=TIzz7hp3UND5rCoD7DsISt33f/exGSK4KruuFLc8PpiU8XoXAwtRKTDo
   1rYoZBFjPtvfgoU+3Xy2BOOMZNqV/RZjMfTiHLHk5PFcQbSlmf0Oe0ExR
   j4qWE0qg06/03+J10DwLQpSQoosuZFiQVZ13BW66h5GAY9ivTCM0jJ93K
   w=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: KX824/Qo1pImywTqlN2FXxlYv930yhNFV9qrr48YHylJ3MMl6jUsQsPyH5HG2PeE4k33ermMhO
 cf/w8TUMLVgtEPsSgOJzu3I+HXy4GzvEQaZGGl+MW7Du/yrc6tZJvCK0oTyzi1CncxxfCfQB+F
 JP/8ONUYLipGpCAAeHiGTef2EE7EDPJR4epIpgqOQ4kyqxD8uqA3N/Ko/HBpR+L6lKTIkci3vm
 /8Fj162A77ru+pwoceUZzmHEM0Ft8MKaDLsITtC2tboM2gQ4Gaig4HA70v0TFZ1yvIOopUcrLx
 PyimQg82mHB8N/o8qwyfNHia
X-SBRS: 5.2
X-MesageID: 63104167
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:HPIA0qO7CGtbxe7vrR1DkMFynXyQoLVcMsEvi/4bfWQNrUoggTxRy
 2pND2CEOqneNDOnL4t0PN/l9klUu56ByNFrSAto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdpJYz/uUGuCJQUNUjMlkfZKhTr6UUsxNbVU8En150Ek6w7dRbrNA2rBVPSvc4
 bsenOWHULOV82Yc3rU8sv/rRLtH5ZweiRtA1rAMTakjUGz2zhH5OKk3N6CpR0YUd6EPdgKMq
 0Qv+5nilo/R109F5tpICd8XeGVSKlLZFVDmZna7x8FOK/WNz8A/+v9TCRYSVatYoyjOpN1Y1
 f9PjoPzWEQGburCo98MQSANRkmSPYUekFPGCX22sMjVxEzaaXr8hf5pCSnaP6VBpLwxWzsXs
 6VFdnZdNXhvhMrvqF6/YvNrick5atHiIasUu216zCGfBvEjKXzGa/uRvIcEhWlv7ixINf2DY
 pA0eBMxVxDrQTxVMVsUKrExk+j90xETdBUH8QnI9MLb+VP70whZwLXrdt3PdbSiZ+9Yg0KZr
 WLu5HniD1cRM9n34SqI9Degi/HCmQv/WZkOD/uo+/hymlqRy2cPThoMWjOGTeKR0xDkHYgFc
 gpNp3Ro/fNaGFGXosfVQlqDrVeZlBwnRJlBUMJqrw+28bvG2lPMboQbdQJpZNsjvc4wYDUl0
 F6Vgt/kbQBSXK2ppWG1renN827rUcQBBSpbPHJfE1NZizX2iNxr1nryosBf/LlZZzEfMRX52
 Hi0oSc3nN3/ZuZbhvzgrTgrb99Bz6UlrzLZBC2KBApJDSsjPeZJgrBED3CBt56sy67CFjG8U
 IAswZT20Qz3JcjleNaxaOsMBqq1wP2OLSfRh1Vid7F4qWj2pi78JdAOsW0vTKuMDiriUWWzC
 KM0kVgJjKK/wVPwNfMnC25PI5lCIVfc+STNCamPM4smjmlZfw6b5iB+DXN8LEi2+HXAZZoXY
 M/BGe71VC5yIf0+kFKeGrlBuZd2mHFW7T6DFPjTkkX8uZLDNSH9dFvwGAbUBgzPxPna8Fy9H
 hc2H5bi9iizp8WnPHGPr9ZPfA9bRZX5bLivw/Fqmie4ClMOMEkqCuPLwKNnfIpgnq9PkfzP8
 G37UUhdoGcTT1WeQelTQnw8Or7pQ7hlqnc3YX4lMVqygiBxaoez9qYPMZAweOB/puBkyPd1S
 dgDetmBXasTGmiWpWxFYMmvtpFmeTSqmRmKY3ivbg8gcsMyXAfO4NLlIFfirXFcEiqtuMIii
 LS8zQeHE4EbTgFvAZ+OOvKixl+8p1YHn+d2UxeaK9VfYhy0ooNrNzbwnrk8JMRVcUfPwT6T1
 gC3BxYEpLaS/99poYeR3a3d9tWnCepzGEZeDlL317fuOHmI5HenzK9BTP2MIWLXWlTr9fjwf
 u5S1fz9bqEKxQ4Yr4pmHr935qsi/N+z9aRCxwFpEXiXPVSmDrRsfiuP0cVV7/Afw7ZYvU29W
 16V+8kcMrKMYZu3HFkULQsjT+KCyfBLxWWCsaVreB33tH1t4b6KcUROJB3d2iVSIYx8PJ4h3
 ep86tUd7Bayi0ZyP9uL5syOG79g8pDUv30bi6wn
IronPort-HdrOrdr: A9a23:fgWs0q2msqlhwXSs7Dkg7wqjBLokLtp133Aq2lEZdPU1SK2lfq
 +V9sjzuSWYtN9zYhEdcLK7V5VoKEm0nfVICOIqU4tKMjOLhEKYaKxj94Hmyz3lFyCWzJ8+6U
 8YGJIOa+HNMQ==
X-IronPort-AV: E=Sophos;i="5.88,330,1635220800"; 
   d="scan'208";a="63104167"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KW57M7lBStlqw6ZdFgD3w1InipABIsCbClTaGN630mOVuMeenEnbY4rHtWyEzjtHQMAcMz50KDql4LVlYKF1/cgtw3MV7hYxLrzMy0gbUXHMF7R57O2ayNdX+ouayqr8kAZ6MipvLg0SxvDhQ2iVKxJQSsltjQwcNtoKsb1Cq920Bk628ZsTkJvmERGO9baEZnLryEtOSSuZJgfmCzNEhax44xWgpFwuydwWwG8171yvbjeZ9fe8qponxKXm08cbxP57VL6HRalL86KS5nXxq0dpyZfUN7jfMp+Re/k4PUaLXQSAPzeDk7mB7+1vC2BChvufEl3W8yOXxoR3x508MQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/7Du2E7wi75A31DeeLGa8shaeraeo9TRnNjdP34ENnE=;
 b=UOVxetsTDahxys/3oDWvvm/gyU9DU1MJx3IE/5syjGwlysEVjgcG5xDBW4VGGxoX8YPss6iT6OSghmuBcZzb5Yukr7Br8KxuuJ4gSwCzSJ2nQbo3TeoMryhOwQljWchIhdhmndoUDQ3qRPi0vR3RI8UEQyrZIBqFOcX8BuF7hxhudXJMdVpO6WFhoFLSDNzjMqkYbEamIVxXPM+k3wcRmYM2eScBQYBEQ3ae8veqwuQpMhHJoOCqLqwAxwSKNZOHYBUXqnGLcoYvTNxwDfRXWlIwC1Pn8cLUKf8KAjZJdnC2KsIWmns+21q8kIVEfdNXj5IndG+Z3FgpQqQqtP36qA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/7Du2E7wi75A31DeeLGa8shaeraeo9TRnNjdP34ENnE=;
 b=g2k7iJj3tP7kK3PdspcucTlEOSyMVqErBKQUowAB3ZC/pJnHPpwlonbAcIJMksu0DCRsViL/0SFuO2wNr/pbvszpqfv8Q0gvNeNqVH2u8tzO9oxJLAf0jcTCwe49D7YXp/RosffFASDuHmnI+rtQ9HCxjQvMWKhFUfbFVN3yYq4=
Date: Mon, 31 Jan 2022 10:41:00 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich
	<JBeulich@suse.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 1/9] x86/cpuid: Advertise SSB_NO to guests by default
Message-ID: <YfeurBLIrtSpifuo@Air-de-Roger>
References: <20220128132927.14997-1-andrew.cooper3@citrix.com>
 <20220128132927.14997-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20220128132927.14997-2-andrew.cooper3@citrix.com>
X-ClientProxiedBy: LO4P123CA0351.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18d::14) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 175d1dbc-dd68-4f56-c6a9-08d9e49dcd49
X-MS-TrafficTypeDiagnostic: CY4PR03MB3350:EE_
X-Microsoft-Antispam-PRVS: <CY4PR03MB3350815E272124B5C192407A8F259@CY4PR03MB3350.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: aDy0yhVZv9JTkcohTOYwbnnFweBDhZpvqEbFRsRQFGMReZNU6q4+hc6r+SOF7O885jyNPYVg6yYz1rU1UnY/LPYjB4mIH7iZyfKrshguMyVx/KOl3zGAFxl+PD/Hh3dMQLVa4sKE9mlfS5o6OsbocAWK9icUvHQU67UxoasoZrrcPvdQdC38EyhtFQ02Rk73kOqbVKkuW7vp56ry+j50Tky7Fp0T7HozvGFO2dKJ3Cab0mTi2zyGGLR6yS4BCf9WQXWzhtRaQ8/89gDnhrla0KHox0grdmPTjQh9T9+ByhpL2o9yREtEHCXUuxB7JDwXyaRrtV3irqL91APduYxEjhsFVpGg5GIqjwU8EVyw/q1zOOWmCEiwcemHbk6X1zY4juuxmwQIP2Zx/wvg7NbvcQ5x26H5PIt7bmoLTKFXFLceykn1T0gUj1bDDNtrDRIMrUkHRxmk2nGIXRPgO+VPFpUSTDD4HIpUPwqHeywtCs/IjwtjjfuzUSTwPeqUYt3zAO/62XowTM74+E1EBM8xdo25Y3w6IDYL/KqMnN+jT6h4diJXEEMEGtGYrxTF7/F8GBudclM8a/UW4e+Lm/5npOvqJytPvRsKfbMuNqqBMJ9gbkXpx5mEjCppZwpK0KXvrWWMGGDmE71vRcLJPreYMQ==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(7916004)(366004)(33716001)(82960400001)(508600001)(54906003)(6636002)(86362001)(2906002)(5660300002)(6486002)(4744005)(6506007)(9686003)(6512007)(85182001)(8936002)(8676002)(4326008)(6862004)(186003)(66476007)(26005)(66946007)(66556008)(6666004)(316002)(38100700002)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RmRRL3ZVRVgvQ281YjZFRFVCcUxDbGRvbnBHSU5HcDlVRElsaTczSnFTTkFw?=
 =?utf-8?B?TEdZRlYxZEZ6U3hmNTNHeGVCZkpSYlBMejdXZy9SM1B4SkR5LzhCY1M4MWk2?=
 =?utf-8?B?a3FIVkVVemdRQ0NuZ2ZqZlNLa3ROY0lNdGJ4SHhKSnh3S2RiQWhlMll4Vkhq?=
 =?utf-8?B?RTRZV1k0djZrdUFKOGxJSThKYWlSNEJCaGliMXdmd1ZkeUZIZ2NHenoxZjZr?=
 =?utf-8?B?cDd2bUdacDJSTEczNTVPUDFUZUZreHUzWG13SDNEd0x5WFJKdFNNVURTczBK?=
 =?utf-8?B?R2pidVYwQU52eUhXbFNvMGFPNUp2cFJoVlVZVkU1alBLRjl2WDRFNlpBMzhI?=
 =?utf-8?B?NFpPVjNUeEpOZExmeWJiRTI5cnhYYWJkQzU2UmpHRk14RWcxMkwxMGVrUEc4?=
 =?utf-8?B?L2k3SWlNd3ZROGFWRG0weTBDK3pwZUVSSlVLTlUwRG55MDdFN2RhQlJjeC9a?=
 =?utf-8?B?cENyajJydmp4OTZwSGpJWGpoR1F6ck9NMXpUWGtGUlJ5Qnpid1piTTVsRDQz?=
 =?utf-8?B?MkpvSDdIcTNrUlJEOTVNTTRLblJrengxK1dPMVRsOGxGWEl1eExZNThVQmNi?=
 =?utf-8?B?WjBnMFJpUTNQL0FKZ1oxbjRPSFdYMW82V0NWTXJGZmNXVkd6empVVmJrQUJG?=
 =?utf-8?B?bmxjMkFkZGFyNWYrSHVlMVRtMzFhdnVSWERwQjdmYlp0L3BRdnp2S3c5SVJD?=
 =?utf-8?B?ZmcxNCtQN1BiY083KytwVWQ2N2dZQzQ5RDhIa0NCUTZBY29NRHVwYkNtbU5w?=
 =?utf-8?B?RXlzc2wyL0loZ3ZzeTlUb3hWZkZNRGxLS0tCeEl2ekZSY251Qi9Mc2k1R2ds?=
 =?utf-8?B?aHFwU2MvUXAyVzZWREdvbXpja0liTDFtdUxwcEFxVFpKeW9YZTFWYklXQ2gy?=
 =?utf-8?B?cFpjc0pQWUQ1KytMVGFPVG1LNWdhT21hVlB0Q0ZMNXpBcm5QOUhGSTZnRUtO?=
 =?utf-8?B?M0tjbXA3TVJ1dmIxSEp1QXgvWUdaMURrZTg1b0VWNFVyN2FYazA5bVNYbGFR?=
 =?utf-8?B?UUlXVlF2S3hQU3JCbzFSTlk4dHFXSnYxUmRXWEFLaWRzZmNyV2NyVDFLRW5J?=
 =?utf-8?B?TWhpMDBMMFdEcUVNRFlBa1o2a0pCc3R5Y2pMY2lqOUtxNE50UnFFVC9TQjEy?=
 =?utf-8?B?UW1UeGxJcWxSRjRmS2JaUEc4V1RoTnRyTTBMV3ZoSkNxcjJhMERlT0ZKSzh0?=
 =?utf-8?B?ZXhOYW5OTUZDWTFRUS9nK085Y1ViVmNHTURSbkc5LytwcjlDMnVyZVY4cUZn?=
 =?utf-8?B?OS9ORTNZbWRaREZNWmF4V2R5bUp0V2xFYS9ndlVVd1NDejgyS3U1WXYzb3px?=
 =?utf-8?B?Ymp5SHdWd2xEOHYxMis1WU9ZdDh2S1JrTmNTVUpDcmxOWFBZM3ZPanozeVIz?=
 =?utf-8?B?TFBSZ3E5VmYxYjJQUHpsUWZSNFZKZEpjdFhvdldIWCtSVlB5Mmh2ZElwQ3A2?=
 =?utf-8?B?bFNLN0UvRTl6OTdmOUh3Q242OFIzdkhsTE94SUZMWG53Y2JLVnAvbk1LNldZ?=
 =?utf-8?B?b0dLK3ZJU3dLQTNUYU1uSnZOSTNIekJNaDdBM2ltRURQRk5RL3lXSERlSWxz?=
 =?utf-8?B?dUVYb25pQThIdFlMN29Zdm42dTZHVHZPaEtJR2ZhekJFZ253RE1iOHowcEhB?=
 =?utf-8?B?US8xT1RhZnFDeXV6N1dPQ3Q0ZnNpcXd5bUpkZzVOMElyLytHYUoxS1FuRk1h?=
 =?utf-8?B?SnMyYkpjTzNUUHo3QWlqdnJpUWVDQU1QZEVFM1NJYnpiSUhEYldDdGs5SlFJ?=
 =?utf-8?B?T0VpeTQ2dWkyY0tiRzcyQjg2MXptajZzSCtsWXB3Y3VpTHFKalNsdXA3azZF?=
 =?utf-8?B?em84MjJQY3FtRzFodE5OQjJNNXYrODczeTBkMWlSaWVZaXVjZks2em05MkFl?=
 =?utf-8?B?elc4dU1RVlh1R2hnbVZLZS94QUxvL0lmb2hodGdqYzJ4NjRPdkpKald6ckJt?=
 =?utf-8?B?YjdqUTdQNmoySldLalpFTTFWQktVRHZLN1hzQjFzSUlzdHFiV3dYUHU2VmJJ?=
 =?utf-8?B?aVd1TzgzcUVoWGcxSzlMRDMweWowSy9taW9SaGwyQWZGZHZnTWVSdnhtVlVy?=
 =?utf-8?B?UnJnQUR0UmRQRm9NVDhJbmpBL3dVa0RYLytNdzJva0wweEt2U0RmNTdRcHBO?=
 =?utf-8?B?N2dYSUdLYVY1N3daU0hhaXh6bjMwb0RKbXhzSmRKSG55N3FSZVdlSmNKd293?=
 =?utf-8?Q?wCRbXjp92zT6mNAdcvlezLU=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 175d1dbc-dd68-4f56-c6a9-08d9e49dcd49
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 09:41:05.5892
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HU+iUCZqekaKzgls+WPVcSnQPP0zVVMcwNBfsC1AViSq+bmuvuxqJYBWJOFkQRfx3236ejyAsQXyDNxLGB9tFQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR03MB3350
X-OriginatorOrg: citrix.com

On Fri, Jan 28, 2022 at 01:29:19PM +0000, Andrew Cooper wrote:
> This is a statement of hardware behaviour, and not related to controls for the
> guest kernel to use.  Pass it straight through from hardware.
> 

Not really related to this patch per se, but I think we should expose
AMD_SSBD unconditionally for SPEC_CTRL (and VIRT_SSBD for
VIRT_SPEC_CTRL when supported) in the max policies and implement them
as noop for compatibility reasons?

I would expect CPUs exposing SSB_NO to drop AMD_SSBD and VIRT_SSBD at
some point.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 09:47:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 09:47:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262866.455278 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nETHL-0005bl-UD; Mon, 31 Jan 2022 09:47:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262866.455278; Mon, 31 Jan 2022 09:47:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nETHL-0005be-Qt; Mon, 31 Jan 2022 09:47:19 +0000
Received: by outflank-mailman (input) for mailman id 262866;
 Mon, 31 Jan 2022 09:47:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9o41=SP=epam.com=prvs=4030d24c28=oleksandr_andrushchenko@srs-se1.protection.inumbo.net>)
 id 1nETHK-0005bY-D6
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 09:47:18 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c5bb06a7-827a-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 10:47:16 +0100 (CET)
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 ESMTP id 20V99nak002383;
 Mon, 31 Jan 2022 09:47:12 GMT
Received: from eur02-he1-obe.outbound.protection.outlook.com
 (mail-he1eur02lp2054.outbound.protection.outlook.com [104.47.5.54])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3dxcw604y1-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 31 Jan 2022 09:47:12 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com (2603:10a6:20b:153::17)
 by VE1PR03MB5677.eurprd03.prod.outlook.com (2603:10a6:803:125::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.21; Mon, 31 Jan
 2022 09:47:07 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6]) by AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6%3]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 09: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>
X-Inumbo-ID: c5bb06a7-827a-11ec-8eb8-a37418f5ba1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UjvOB7q0oRFGg90Zx1s6Aoazpai2wjFmb7zOeGnhWYDdATIKrv2VcCW0+bNz0i2aOQyidC6xmcTnsBvEIvKl0sqetPC2m6/lcO5NpQuAKEiqYw+kNnCjxUKM9/Cjbuv4VXK++fzQvIgwWZODMqEeqE0k2CpRcES18pLa1Ur7GKLom6LUYcslwVrBSfCfAZ0UinfxSC24gl8sm2l1eYieo35Gjp9avzfk74XdLeZLPTakvFWuHmXcNBdXqCpIGeTzzsgrf2j0Uv82U/K7vwz8ZY2uEisqQhFGixhGjqGdlNQA6LmyzR9KOcAIILiOC/U9abrfjK/0NqsUp2QMJFb+hQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1N53VbqxGlTEW/dAy93wsH1fvxE6VB5eaYcnDD1eThc=;
 b=Zbp7PmN2gEYXoAANSQwOA52/LHh11m18yDwKr4OJ6xPTU/CeHcpqxV9e8NQSPnmWNfTlUDpWkO/vTjcgWCaCwtE4NNNrcpzsWa4QCaZFohr64eepF4vE+LcF8Xdqma24P9aKFws34S7b4dSDsnKlzjJ21rZOG272jBB3YBMaC7vX2A2PrAOkewELmZq8avL+7lSnPMNzXA6cSOCBWgLhijBJnwzCub2LhilpoTzhYCdqiwpCFt58ccmcqE+dgo+DYBi1cpiu/4ZOTYj9ZwkRYUYeUxQu/eh+Hkim14WGOY2ApUYNB6Amrhr/46DVnQuJuRY5h2UECMAD13uJlwMYsA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1N53VbqxGlTEW/dAy93wsH1fvxE6VB5eaYcnDD1eThc=;
 b=XIp/Tx7Yqfm6DR2/DpX1k6rYjAPmdMxJwA179xEymAFMTTkEm9YM/D+n3Z+XE6vV2XB3TXgUqFS8zb/E9urYEAXnXoliLAY92BAtEd5nezUGyQDmInllcfVQVMSEVSv4METGALBaqu0t/gt5vJoMa4EZyUkJVwntTQB7WUVw9PagXhmVVtoBREilVECFN98REquyYCN2QswpNtQQGa5tS5wPDVUzrlnL50Vy9Dy8Xz7lHAY5wzjySO5KQ7bV91Dorb2T3B1mNSB4BqGEk25h8j8dfy21QzbFjkQ/3ibosjZa/SyVrbp2utraJtnJOlR0NpHsi7LNTM6pAJzMZ5EKjQ==
From: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
To: =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        "julien@xen.org" <julien@xen.org>,
        "sstabellini@kernel.org"
	<sstabellini@kernel.org>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Artem Mygaiev <Artem_Mygaiev@epam.com>,
        "jbeulich@suse.com" <jbeulich@suse.com>,
        "andrew.cooper3@citrix.com"
	<andrew.cooper3@citrix.com>,
        "george.dunlap@citrix.com"
	<george.dunlap@citrix.com>,
        "paul@xen.org" <paul@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Rahul Singh <rahul.singh@arm.com>,
        Oleksandr
 Andrushchenko <Oleksandr_Andrushchenko@epam.com>
Subject: Re: [PATCH v5 06/14] vpci/header: implement guest BAR register
 handlers
Thread-Topic: [PATCH v5 06/14] vpci/header: implement guest BAR register
 handlers
Thread-Index: AQHX4ewHyWAyD811HEGp8pIjUuVWNaxfndGAgB2tWgA=
Date: Mon, 31 Jan 2022 09:47:07 +0000
Message-ID: <77c00154-646c-a2a3-98cb-be4324003446@epam.com>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-7-andr2000@gmail.com> <Yd7K+9fvnBz+WTXA@Air-de-Roger>
In-Reply-To: <Yd7K+9fvnBz+WTXA@Air-de-Roger>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 0d4d09ce-278f-4593-7a6f-08d9e49ea4f2
x-ms-traffictypediagnostic: VE1PR03MB5677:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <VE1PR03MB56770DC443CD97A4330AAF51E7259@VE1PR03MB5677.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: 
 Aj7Ff+eW69uJAsDj1JaMzjbJszK1tYrri+nIKT3o/0wgjcMr05j8oh3hXB4ITsdT4hdUwNr2uZ8d7u7TVJdPYLhyG65MmG/wYEdGahw0Eq5ka+k/FZhQaSlef0RpKSaFzec0wzm4uK89JO4eL4vPvarNI1nE+zMdxIUL+bAqCX3qHQY5q2SDN5D2PlCpW5e8j2VZl+p/S+6eveJmFD/FqPLApqamhBvg72sgpHJQiVmPbpy7qW1QEdpzL6FGBV3f0dzpIm0fcogp3fUkSGNqrKFJGJ+uVAz7L2FkOlW4e+OcwgqJzxfTnvaS4ThRbTmyYd6IlQMKh5WvXSDXhhpEFaTbI0HeAgsDtxCT2bbo5SdlpHKH0HlOfFqdcKytwu0hy0iBKbO58d7T1gmJeHOrinfbqzcvSJtDZ/AlP8c4L8e2L9qOmA3RwR1OogmXXyZ4o2LrgKioSpK6VXboSiazM400qlfacLVW8Oe56cgOn6YM1Q58WRscu1JZ62oEA/vHgwXivQ4PXxpPUDxZwfjRl8UkhnDyvi+Uff3SK45EhTCtjoKEAmqc3MicYmO1u2RRSJAb6ql8XbCexjM+6chmp+6zOGEpjTZKaZf8MpXaSdHVXPsIczDSQKXwJ3h/r47t10V5fqu2qprHbyJL0DaBzBbe/CLHlzYA4gxO4tuJLaEgVfGRyNzS1XwipW9ic9QZKDvV3bBL7t5wE1/WQVikD+Tc39GaUev8C8k0HwFYoK1AU9cHOzjK/ovqsFYwXIV4
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:(13230001)(4636009)(366004)(6916009)(6486002)(54906003)(122000001)(31686004)(38100700002)(508600001)(6512007)(316002)(36756003)(38070700005)(31696002)(86362001)(71200400001)(4326008)(66556008)(64756008)(66446008)(66476007)(5660300002)(7416002)(186003)(91956017)(83380400001)(8676002)(76116006)(6506007)(53546011)(2616005)(2906002)(107886003)(26005)(66946007)(8936002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?a3RvWGJ5M2MxbW0zNW96M2RjMVVOdGozVmF4Z1FOU0hUMFY4Wk0zSUFpejZP?=
 =?utf-8?B?aVZ1V2VKSWx3NFV6Zm93aWROdTNQR2pGNUowT3VSSmtQVUphK0RRbHBnWUpK?=
 =?utf-8?B?VnE4QW9EWDh0VURFV2RBTmZFVzExNDlaNm4wejVIU1hXN2JHOXN5MllneGJH?=
 =?utf-8?B?S0lSVGFwNHY1bXJML1F0ODBzY0JSb3RFZ2FJTTJsOXhwamVvc0NMbTIrOGtD?=
 =?utf-8?B?d0xNZHJrN3dGTFNhQjd5bmg1WGhBb0pIbzAwZ2I3L1AxWnQwYWg1bDZ4OWg4?=
 =?utf-8?B?b3VYMTJQNzd4WG1VUFZnZ2NnbGlKY3V3NUlnbDlDTGpsRHU0ZDNCcE9odU5x?=
 =?utf-8?B?TkVBQlZmUDhManNHMjFPL3NoN2lRS0hpV256UXhqR1gzVERGak8rNmovdHpE?=
 =?utf-8?B?dXJrN1Z4bzZiUmhjTlpXS0E5bFRrTmtGc0pPaXVENzc0TjUzYmVkSlBBRDlP?=
 =?utf-8?B?YjJrM3E3K0V3V3BsNWgvenpPWDlRM1dXaDUxY3dpNjdsanhPYytBcUdvbDVF?=
 =?utf-8?B?Tms0UnIwVURPVDZmZy96TU02Q3JPekNYUTRCOTM3Mkl4NDJ0OFI2L05rZDhi?=
 =?utf-8?B?UVZabmRWVVdCWENBY2ptbmxCYVBQOHE4NTVKa09rS3UyazYwWm1sbGJGL0Yx?=
 =?utf-8?B?R1F5OStvMDIxZmhrRmllRGVvVGFhVEY2OUdQbmY0dG9mOEd6dXZySUVSajBl?=
 =?utf-8?B?ZzUycVl1ZEhsRUNPSnFLVWFOQm53RXJxbGkyejJBNGh1c1NtNHA4WC9yTEhB?=
 =?utf-8?B?QndJei9QM3U3eDR0VDBpWGMwT1pWY204WkM1NmFWbzhqWTdub2dnZFMvNjRB?=
 =?utf-8?B?VTZvai9KbFJsaE5VckpDL1FSQmhvcmJvSzhkK3JGQmZtbXZCcHdTeUxlWkZ1?=
 =?utf-8?B?SkpkSXdIUWVJVmVDdDNVYjQ4cWMxV0JqNXdJL3JNbUNBeGlQTFRYMEtsazRh?=
 =?utf-8?B?NWtLZ05aSk9vMUZGVnVQOWJFdWZnS2xKbFFrbStTRVlOVkx6TE1tOHdBc1hu?=
 =?utf-8?B?aVl1MWFjN0lWbmtKVHA4S3VMT2NOWnpIS0N0R243bXJvbUFNc2dhRTNGODZx?=
 =?utf-8?B?MmpWVm1nL3IzTEdqYVBrd3hJZlJqQUJSUnk0eFN5WDh3eWFJQmViTThPUk11?=
 =?utf-8?B?VmdSNnRWNk1IMjNpdkUwaUhYMGZwYTFSZVV1QTVKY3p2amI1YXNFWkN2RWZq?=
 =?utf-8?B?RjZhaFFrWGRIUFVvVXM3a3ZNYVFKbC9jelY0ekFmQmROWjNWVVBOVDVFNk9P?=
 =?utf-8?B?RmdGZFlTdURCTmFPOERoQUwwbGV2MUl1SjI1L2hjS3Yyc3ZyL1R1R2tDcGNB?=
 =?utf-8?B?ZDVDUU1yMkxzc0ljWVpMTGJId0l6eTRZbnFtTXR3bEFiRXFtc0lGb3EzZmh5?=
 =?utf-8?B?ZG42bWdqUjdVRUF1ZXlkY2hnUFAwSUEzVGtoMytrdk1IVG1UZ3VXSlpZUHFx?=
 =?utf-8?B?cndRSjlkd240bCs5cTlHQWZ2UldlV0RLSm4yRkhnMmRWcTRIQ2ZGdTlkbVdi?=
 =?utf-8?B?c0tySEk3MkRRRkJHV1VEcXFMTEw1V3F3ZUkzczE5RHdsTERYck41VVliNHp4?=
 =?utf-8?B?WVZiSFZUK3d2VEZiQVg3TWpicUtua2J3TW5KUFlOQlRSWEdLNld5VU14RWJ6?=
 =?utf-8?B?QjlNQVM3MGdEZUNTTis5NG9DNHczN051NDM5UTNVMUFsbUd0aXNRei84T1hh?=
 =?utf-8?B?UmdEd0NCazhWY251elBQSXF0UGcrNzBtVUUrTUxIcHVwa1pXMWR1MTVvcUlE?=
 =?utf-8?B?VnRvcVVQa0J1N0M1MHc1Qkp4Q0dLQjdIcGNoMDRCcDJ5TEx1WjlWcGc0SlNp?=
 =?utf-8?B?VHJiOExMK2l0NU9xU05ENlVZbldqanRvUll5RGh4UTFQWEJNbW05S25VTzJR?=
 =?utf-8?B?QjZ5WWNSbWkxZmxwRnB4d01EYk1nSFhFcng3YWVvUlBDR2lLcVJRS3NmVDVx?=
 =?utf-8?B?eUIxQk1NdUp4VUx6QnhzblZVbURjTUF1TnZSRFhZZFZmeW4zd3h5NkZCSllV?=
 =?utf-8?B?UjZxeFFHZjJaSGxhbnBDdjVUclNYWDUzNkpPK2VMT2xjTFAvYXJGNWJ5VDM5?=
 =?utf-8?B?STZxOTFUM1FlZnVaZExwMXJmaGp4SEtWZU9WUkFhY1ZnNC9vRGpKMU5HemQz?=
 =?utf-8?B?M1ZucmJZS2FsSVpCYUZ0YUc3eXV6K0c3VDI3OGYzNm0waEVRVnR0MzR6U0JO?=
 =?utf-8?B?Q0gydU1nQ1Q1d2VOb2d2VVkwcjVoanBNMWtob0lFNHNQRzFuYkpETXByQ2th?=
 =?utf-8?B?dkdNbGlweEFqVjV1U0lCMFBYTXpBNXNmNWVtYUFzWHhKMVdGekFIVE1VQVlE?=
 =?utf-8?B?S2VhLzJMbllTS29EbmpKVXZtaWdya3lIOEJ2clJFYkJ1Z09wWXJoQT09?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <05B7E85255B3384199882F307D89C29C@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: 0d4d09ce-278f-4593-7a6f-08d9e49ea4f2
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2022 09:47:07.1081
 (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: odhTD5+7ohbXpbSdfcdavIxTxtal270u68IH2GfuJGw8nuK/D60LgytyhhIFU2fm4TjPB5UZIJ0juemPHmBL45N60BXT/f8fZKSX+q1rUXQ78Xhik9w3lXEdj2HBEAJf
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR03MB5677
X-Proofpoint-ORIG-GUID: bSGk-k1RnoJn4zcrYGrpT6aj6eUAOQzu
X-Proofpoint-GUID: bSGk-k1RnoJn4zcrYGrpT6aj6eUAOQzu
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-31_02,2022-01-28_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 mlxlogscore=999
 impostorscore=0 lowpriorityscore=0 clxscore=1015 phishscore=0
 priorityscore=1501 suspectscore=0 bulkscore=0 mlxscore=0 malwarescore=0
 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2201110000 definitions=main-2201310065

SGksIFJvZ2VyIQ0KDQpPbiAxMi4wMS4yMiAxNDozNSwgUm9nZXIgUGF1IE1vbm7DqSB3cm90ZToN
Cj4gT24gVGh1LCBOb3YgMjUsIDIwMjEgYXQgMDE6MDI6NDNQTSArMDIwMCwgT2xla3NhbmRyIEFu
ZHJ1c2hjaGVua28gd3JvdGU6DQo+PiBGcm9tOiBPbGVrc2FuZHIgQW5kcnVzaGNoZW5rbyA8b2xl
a3NhbmRyX2FuZHJ1c2hjaGVua29AZXBhbS5jb20+DQo+Pg0KPj4gQWRkIHJlbGV2YW50IHZwY2kg
cmVnaXN0ZXIgaGFuZGxlcnMgd2hlbiBhc3NpZ25pbmcgUENJIGRldmljZSB0byBhIGRvbWFpbg0K
Pj4gYW5kIHJlbW92ZSB0aG9zZSB3aGVuIGRlLWFzc2lnbmluZy4gVGhpcyBhbGxvd3MgaGF2aW5n
IGRpZmZlcmVudA0KPj4gaGFuZGxlcnMgZm9yIGRpZmZlcmVudCBkb21haW5zLCBlLmcuIGh3ZG9t
IGFuZCBvdGhlciBndWVzdHMuDQo+Pg0KPj4gRW11bGF0ZSBndWVzdCBCQVIgcmVnaXN0ZXIgdmFs
dWVzOiB0aGlzIGFsbG93cyBjcmVhdGluZyBhIGd1ZXN0IHZpZXcNCj4+IG9mIHRoZSByZWdpc3Rl
cnMgYW5kIGVtdWxhdGVzIHNpemUgYW5kIHByb3BlcnRpZXMgcHJvYmUgYXMgaXQgaXMgZG9uZQ0K
Pj4gZHVyaW5nIFBDSSBkZXZpY2UgZW51bWVyYXRpb24gYnkgdGhlIGd1ZXN0Lg0KPj4NCj4+IFJP
TSBCQVIgaXMgb25seSBoYW5kbGVkIGZvciB0aGUgaGFyZHdhcmUgZG9tYWluIGFuZCBmb3IgZ3Vl
c3QgZG9tYWlucw0KPj4gdGhlcmUgaXMgYSBzdHViOiBhdCB0aGUgbW9tZW50IFBDSSBleHBhbnNp
b24gUk9NIGhhbmRsaW5nIGlzIHN1cHBvcnRlZA0KPj4gZm9yIHg4NiBvbmx5IGFuZCBpdCBtaWdo
dCBub3QgYmUgdXNlZCBieSBvdGhlciBhcmNoaXRlY3R1cmVzIHdpdGhvdXQNCj4+IGVtdWxhdGlu
ZyB4ODYuIE90aGVyIHVzZS1jYXNlcyBtYXkgaW5jbHVkZSB1c2luZyB0aGF0IGV4cGFuc2lvbiBS
T00gYmVmb3JlDQo+PiBYZW4gYm9vdHMsIGhlbmNlIG5vIGVtdWxhdGlvbiBpcyBuZWVkZWQgaW4g
WGVuIGl0c2VsZi4gT3Igd2hlbiBhIGd1ZXN0DQo+PiB3YW50cyB0byB1c2UgdGhlIFJPTSBjb2Rl
IHdoaWNoIHNlZW1zIHRvIGJlIHJhcmUuDQo+Pg0KPj4gU2lnbmVkLW9mZi1ieTogT2xla3NhbmRy
IEFuZHJ1c2hjaGVua28gPG9sZWtzYW5kcl9hbmRydXNoY2hlbmtvQGVwYW0uY29tPg0KPj4gLS0t
DQo+PiBTaW5jZSB2NDoNCj4+IC0gdXBkYXRlZCBjb21taXQgbWVzc2FnZQ0KPj4gLSBzL2d1ZXN0
X2FkZHIvZ3Vlc3RfcmVnDQo+PiBTaW5jZSB2MzoNCj4+IC0gc3F1YXNoZWQgdHdvIHBhdGNoZXM6
IGR5bmFtaWMgYWRkL3JlbW92ZSBoYW5kbGVycyBhbmQgZ3Vlc3QgQkFSDQo+PiAgICBoYW5kbGVy
IGltcGxlbWVudGF0aW9uDQo+PiAtIGZpeCBndWVzdCBCQVIgcmVhZCBvZiB0aGUgaGlnaCBwYXJ0
IG9mIGEgNjRiaXQgQkFSIChSb2dlcikNCj4+IC0gYWRkIGVycm9yIGhhbmRsaW5nIHRvIHZwY2lf
YXNzaWduX2RldmljZQ0KPj4gLSBzL2RvbSVwZC8lcGQNCj4+IC0gYmxhbmsgbGluZSBiZWZvcmUg
cmV0dXJuDQo+PiBTaW5jZSB2MjoNCj4+IC0gcmVtb3ZlIHVubmVlZGVkIGlmZGVmcyBmb3IgQ09O
RklHX0hBU19WUENJX0dVRVNUX1NVUFBPUlQgYXMgbW9yZSBjb2RlDQo+PiAgICBoYXMgYmVlbiBl
bGltaW5hdGVkIGZyb20gYmVpbmcgYnVpbHQgb24geDg2DQo+PiBTaW5jZSB2MToNCj4+ICAgLSBj
b25zdGlmeSBzdHJ1Y3QgcGNpX2RldiB3aGVyZSBwb3NzaWJsZQ0KPj4gICAtIGRvIG5vdCBvcGVu
IGNvZGUgaXNfc3lzdGVtX2RvbWFpbigpDQo+PiAgIC0gc2ltcGxpZnkgc29tZSBjb2RlMy4gc2lt
cGxpZnkNCj4+ICAgLSB1c2UgZ2RwcmludGsgKyBlcnJvciBjb2RlIGluc3RlYWQgb2YgZ3ByaW50
aw0KPj4gICAtIGdhdGUgdnBjaV9iYXJfe2FkZHxyZW1vdmV9X2hhbmRsZXJzIHdpdGggQ09ORklH
X0hBU19WUENJX0dVRVNUX1NVUFBPUlQsDQo+PiAgICAgc28gdGhlc2UgZG8gbm90IGdldCBjb21w
aWxlZCBmb3IgeDg2DQo+PiAgIC0gcmVtb3ZlZCB1bm5lZWRlZCBpc19zeXN0ZW1fZG9tYWluIGNo
ZWNrDQo+PiAgIC0gcmUtd29yayBndWVzdCByZWFkL3dyaXRlIHRvIGJlIG11Y2ggc2ltcGxlciBh
bmQgZG8gbW9yZSB3b3JrIG9uIHdyaXRlDQo+PiAgICAgdGhhbiByZWFkIHdoaWNoIGlzIGV4cGVj
dGVkIHRvIGJlIGNhbGxlZCBtb3JlIGZyZXF1ZW50bHkNCj4+ICAgLSByZW1vdmVkIG9uZSB0b28g
b2J2aW91cyBjb21tZW50DQo+PiAtLS0NCj4+ICAgeGVuL2RyaXZlcnMvdnBjaS9oZWFkZXIuYyB8
IDcyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQ0KPj4gICB4ZW4vaW5j
bHVkZS94ZW4vdnBjaS5oICAgIHwgIDMgKysNCj4+ICAgMiBmaWxlcyBjaGFuZ2VkLCA2OSBpbnNl
cnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQ0KPj4NCj4+IGRpZmYgLS1naXQgYS94ZW4vZHJpdmVy
cy92cGNpL2hlYWRlci5jIGIveGVuL2RyaXZlcnMvdnBjaS9oZWFkZXIuYw0KPj4gaW5kZXggYmEz
MzNmYjJmOWIwLi44ODgwZDM0ZWJmOGUgMTAwNjQ0DQo+PiAtLS0gYS94ZW4vZHJpdmVycy92cGNp
L2hlYWRlci5jDQo+PiArKysgYi94ZW4vZHJpdmVycy92cGNpL2hlYWRlci5jDQo+PiBAQCAtNDMz
LDYgKzQzMyw0OCBAQCBzdGF0aWMgdm9pZCBiYXJfd3JpdGUoY29uc3Qgc3RydWN0IHBjaV9kZXYg
KnBkZXYsIHVuc2lnbmVkIGludCByZWcsDQo+PiAgICAgICBwY2lfY29uZl93cml0ZTMyKHBkZXYt
PnNiZGYsIHJlZywgdmFsKTsNCj4+ICAgfQ0KPj4gICANCj4+ICtzdGF0aWMgdm9pZCBndWVzdF9i
YXJfd3JpdGUoY29uc3Qgc3RydWN0IHBjaV9kZXYgKnBkZXYsIHVuc2lnbmVkIGludCByZWcsDQo+
PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHZhbCwgdm9pZCAqZGF0YSkN
Cj4+ICt7DQo+PiArICAgIHN0cnVjdCB2cGNpX2JhciAqYmFyID0gZGF0YTsNCj4+ICsgICAgYm9v
bCBoaSA9IGZhbHNlOw0KPj4gKw0KPj4gKyAgICBpZiAoIGJhci0+dHlwZSA9PSBWUENJX0JBUl9N
RU02NF9ISSApDQo+PiArICAgIHsNCj4+ICsgICAgICAgIEFTU0VSVChyZWcgPiBQQ0lfQkFTRV9B
RERSRVNTXzApOw0KPj4gKyAgICAgICAgYmFyLS07DQo+PiArICAgICAgICBoaSA9IHRydWU7DQo+
PiArICAgIH0NCj4+ICsgICAgZWxzZQ0KPj4gKyAgICB7DQo+PiArICAgICAgICB2YWwgJj0gUENJ
X0JBU0VfQUREUkVTU19NRU1fTUFTSzsNCj4+ICsgICAgICAgIHZhbCB8PSBiYXItPnR5cGUgPT0g
VlBDSV9CQVJfTUVNMzIgPyBQQ0lfQkFTRV9BRERSRVNTX01FTV9UWVBFXzMyDQo+PiArICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogUENJX0JBU0VfQUREUkVTU19N
RU1fVFlQRV82NDsNCj4+ICsgICAgICAgIHZhbCB8PSBiYXItPnByZWZldGNoYWJsZSA/IFBDSV9C
QVNFX0FERFJFU1NfTUVNX1BSRUZFVENIIDogMDsNCj4+ICsgICAgfQ0KPj4gKw0KPj4gKyAgICBi
YXItPmd1ZXN0X3JlZyAmPSB+KDB4ZmZmZmZmZmZ1bGwgPDwgKGhpID8gMzIgOiAwKSk7DQo+PiAr
ICAgIGJhci0+Z3Vlc3RfcmVnIHw9ICh1aW50NjRfdCl2YWwgPDwgKGhpID8gMzIgOiAwKTsNCj4+
ICsNCj4+ICsgICAgYmFyLT5ndWVzdF9yZWcgJj0gfihiYXItPnNpemUgLSAxKSB8IH5QQ0lfQkFT
RV9BRERSRVNTX01FTV9NQVNLOw0KPj4gK30NCj4+ICsNCj4+ICtzdGF0aWMgdWludDMyX3QgZ3Vl
c3RfYmFyX3JlYWQoY29uc3Qgc3RydWN0IHBjaV9kZXYgKnBkZXYsIHVuc2lnbmVkIGludCByZWcs
DQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmRhdGEpDQo+PiArew0K
Pj4gKyAgICBjb25zdCBzdHJ1Y3QgdnBjaV9iYXIgKmJhciA9IGRhdGE7DQo+PiArICAgIGJvb2wg
aGkgPSBmYWxzZTsNCj4+ICsNCj4+ICsgICAgaWYgKCBiYXItPnR5cGUgPT0gVlBDSV9CQVJfTUVN
NjRfSEkgKQ0KPj4gKyAgICB7DQo+PiArICAgICAgICBBU1NFUlQocmVnID4gUENJX0JBU0VfQURE
UkVTU18wKTsNCj4+ICsgICAgICAgIGJhci0tOw0KPj4gKyAgICAgICAgaGkgPSB0cnVlOw0KPj4g
KyAgICB9DQo+PiArDQo+PiArICAgIHJldHVybiBiYXItPmd1ZXN0X3JlZyA+PiAoaGkgPyAzMiA6
IDApOw0KPj4gK30NCj4+ICsNCj4+ICAgc3RhdGljIHZvaWQgcm9tX3dyaXRlKGNvbnN0IHN0cnVj
dCBwY2lfZGV2ICpwZGV2LCB1bnNpZ25lZCBpbnQgcmVnLA0KPj4gICAgICAgICAgICAgICAgICAg
ICAgICAgdWludDMyX3QgdmFsLCB2b2lkICpkYXRhKQ0KPj4gICB7DQo+PiBAQCAtNDgxLDYgKzUy
MywxNyBAQCBzdGF0aWMgdm9pZCByb21fd3JpdGUoY29uc3Qgc3RydWN0IHBjaV9kZXYgKnBkZXYs
IHVuc2lnbmVkIGludCByZWcsDQo+PiAgICAgICAgICAgcm9tLT5hZGRyID0gdmFsICYgUENJX1JP
TV9BRERSRVNTX01BU0s7DQo+PiAgIH0NCj4+ICAgDQo+PiArc3RhdGljIHZvaWQgZ3Vlc3Rfcm9t
X3dyaXRlKGNvbnN0IHN0cnVjdCBwY2lfZGV2ICpwZGV2LCB1bnNpZ25lZCBpbnQgcmVnLA0KPj4g
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCB2YWwsIHZvaWQgKmRhdGEpDQo+
PiArew0KPj4gK30NCj4+ICsNCj4+ICtzdGF0aWMgdWludDMyX3QgZ3Vlc3Rfcm9tX3JlYWQoY29u
c3Qgc3RydWN0IHBjaV9kZXYgKnBkZXYsIHVuc2lnbmVkIGludCByZWcsDQo+PiArICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmRhdGEpDQo+PiArew0KPj4gKyAgICByZXR1cm4g
MHhmZmZmZmZmZjsNCj4+ICt9DQo+IFRoZXJlIHNob3VsZCBiZSBubyBuZWVkIGZvciB0aG9zZSBo
YW5kbGVycy4gQXMgc2FpZCBlbHNld2hlcmU6IGZvcg0KPiBndWVzdHMgcmVnaXN0ZXJzIG5vdCBl
eHBsaWNpdGx5IGhhbmRsZWQgc2hvdWxkIHJldHVybiB+MCBmb3IgcmVhZHMgYW5kDQo+IGRyb3Ag
d3JpdGVzLCB3aGljaCBpcyB3aGF0IHlvdSBhcmUgcHJvcG9zaW5nIGhlcmUuDQpZZXMsIHlvdSBh
cmUgcmlnaHQ6IEkgY2FuIHNlZSBpbiB2cGNpX3JlYWQgdGhhdCB3ZSBlbmQgdXAgcmVhZGluZyB+
MCBpZiBubw0KaGFuZGxlciBleGlzdHMgKHdoaWNoIGlzIHdoYXQgSSBkbyBoZXJlIHdpdGggZ3Vl
c3Rfcm9tX3JlYWQpLiBCdXQgSSBhbSBub3QgdGhhdA0Kc3VyZSBhYm91dCB0aGUgZHJvcHBlZCB3
cml0ZXM6DQoNCnZvaWQgdnBjaV93cml0ZShwY2lfc2JkZl90IHNiZGYsIHVuc2lnbmVkIGludCBy
ZWcsIHVuc2lnbmVkIGludCBzaXplLA0KIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1
aW50MzJfdCBkYXRhKQ0Kew0KIMKgwqDCoCB1bnNpZ25lZCBpbnQgZGF0YV9vZmZzZXQgPSAwOw0K
DQpbc25pcF0NCg0KIMKgwqDCoCBpZiAoIGRhdGFfb2Zmc2V0IDwgc2l6ZSApDQogwqDCoMKgwqDC
oMKgwqAgLyogVGFpbGluZyBnYXAsIHdyaXRlIHRoZSByZW1haW5pbmcuICovDQogwqDCoMKgwqDC
oMKgwqAgdnBjaV93cml0ZV9odyhzYmRmLCByZWcgKyBkYXRhX29mZnNldCwgc2l6ZSAtIGRhdGFf
b2Zmc2V0LA0KIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBkYXRh
ID4+IChkYXRhX29mZnNldCAqIDgpKTsNCg0Kc28gaXQgbG9va3MgbGlrZSBmb3IgdGhlIHVuLWhh
bmRsZWQgd3JpdGVzIHdlIHN0aWxsIHJlYWNoIHRoZSBIVyByZWdpc3Rlci4NCkNvdWxkIHlvdSBw
bGVhc2UgdGVsbCBpZiB0aGUgY29kZSBhYm92ZSBuZWVkcyBpbXByb3ZlbWVudCAobGlrZSBjaGVj
a2luZw0KaWYgdGhlIHdyaXRlIHdhcyBoYW5kbGVkKSBvciBJIHN0aWxsIG5lZWQgdG8gcHJvdmlk
ZSBhIHdyaXRlIGhhbmRsZXIsIGUuZy4NCmd1ZXN0X3JvbV93cml0ZSBoZXJlPw0KPj4gKw0KPj4g
ICBzdGF0aWMgaW50IGluaXRfYmFycyhzdHJ1Y3QgcGNpX2RldiAqcGRldikNCj4+ICAgew0KPj4g
ICAgICAgdWludDE2X3QgY21kOw0KPj4gQEAgLTQ4OSw2ICs1NDIsNyBAQCBzdGF0aWMgaW50IGlu
aXRfYmFycyhzdHJ1Y3QgcGNpX2RldiAqcGRldikNCj4+ICAgICAgIHN0cnVjdCB2cGNpX2hlYWRl
ciAqaGVhZGVyID0gJnBkZXYtPnZwY2ktPmhlYWRlcjsNCj4+ICAgICAgIHN0cnVjdCB2cGNpX2Jh
ciAqYmFycyA9IGhlYWRlci0+YmFyczsNCj4+ICAgICAgIGludCByYzsNCj4+ICsgICAgYm9vbCBp
c19od2RvbSA9IGlzX2hhcmR3YXJlX2RvbWFpbihwZGV2LT5kb21haW4pOw0KPj4gICANCj4+ICAg
ICAgIHN3aXRjaCAoIHBjaV9jb25mX3JlYWQ4KHBkZXYtPnNiZGYsIFBDSV9IRUFERVJfVFlQRSkg
JiAweDdmICkNCj4+ICAgICAgIHsNCj4+IEBAIC01MjgsOCArNTgyLDEwIEBAIHN0YXRpYyBpbnQg
aW5pdF9iYXJzKHN0cnVjdCBwY2lfZGV2ICpwZGV2KQ0KPj4gICAgICAgICAgIGlmICggaSAmJiBi
YXJzW2kgLSAxXS50eXBlID09IFZQQ0lfQkFSX01FTTY0X0xPICkNCj4+ICAgICAgICAgICB7DQo+
PiAgICAgICAgICAgICAgIGJhcnNbaV0udHlwZSA9IFZQQ0lfQkFSX01FTTY0X0hJOw0KPj4gLSAg
ICAgICAgICAgIHJjID0gdnBjaV9hZGRfcmVnaXN0ZXIocGRldi0+dnBjaSwgdnBjaV9od19yZWFk
MzIsIGJhcl93cml0ZSwgcmVnLA0KPj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgNCwgJmJhcnNbaV0pOw0KPj4gKyAgICAgICAgICAgIHJjID0gdnBjaV9hZGRfcmVnaXN0ZXIo
cGRldi0+dnBjaSwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzX2h3
ZG9tID8gdnBjaV9od19yZWFkMzIgOiBndWVzdF9iYXJfcmVhZCwNCj4+ICsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGlzX2h3ZG9tID8gYmFyX3dyaXRlIDogZ3Vlc3RfYmFyX3dy
aXRlLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnLCA0LCAmYmFy
c1tpXSk7DQo+PiAgICAgICAgICAgICAgIGlmICggcmMgKQ0KPj4gICAgICAgICAgICAgICB7DQo+
PiAgICAgICAgICAgICAgICAgICBwY2lfY29uZl93cml0ZTE2KHBkZXYtPnNiZGYsIFBDSV9DT01N
QU5ELCBjbWQpOw0KPj4gQEAgLTU2OSw4ICs2MjUsMTAgQEAgc3RhdGljIGludCBpbml0X2JhcnMo
c3RydWN0IHBjaV9kZXYgKnBkZXYpDQo+PiAgICAgICAgICAgYmFyc1tpXS5zaXplID0gc2l6ZTsN
Cj4+ICAgICAgICAgICBiYXJzW2ldLnByZWZldGNoYWJsZSA9IHZhbCAmIFBDSV9CQVNFX0FERFJF
U1NfTUVNX1BSRUZFVENIOw0KPj4gICANCj4+IC0gICAgICAgIHJjID0gdnBjaV9hZGRfcmVnaXN0
ZXIocGRldi0+dnBjaSwgdnBjaV9od19yZWFkMzIsIGJhcl93cml0ZSwgcmVnLCA0LA0KPj4gLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYmFyc1tpXSk7DQo+PiArICAgICAgICByYyA9
IHZwY2lfYWRkX3JlZ2lzdGVyKHBkZXYtPnZwY2ksDQo+PiArICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGlzX2h3ZG9tID8gdnBjaV9od19yZWFkMzIgOiBndWVzdF9iYXJfcmVhZCwNCj4+
ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNfaHdkb20gPyBiYXJfd3JpdGUgOiBn
dWVzdF9iYXJfd3JpdGUsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZywg
NCwgJmJhcnNbaV0pOw0KPj4gICAgICAgICAgIGlmICggcmMgKQ0KPj4gICAgICAgICAgIHsNCj4+
ICAgICAgICAgICAgICAgcGNpX2NvbmZfd3JpdGUxNihwZGV2LT5zYmRmLCBQQ0lfQ09NTUFORCwg
Y21kKTsNCj4+IEBAIC01OTAsOCArNjQ4LDEwIEBAIHN0YXRpYyBpbnQgaW5pdF9iYXJzKHN0cnVj
dCBwY2lfZGV2ICpwZGV2KQ0KPj4gICAgICAgICAgIGhlYWRlci0+cm9tX2VuYWJsZWQgPSBwY2lf
Y29uZl9yZWFkMzIocGRldi0+c2JkZiwgcm9tX3JlZykgJg0KPj4gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBQQ0lfUk9NX0FERFJFU1NfRU5BQkxFOw0KPj4gICANCj4+IC0gICAgICAg
IHJjID0gdnBjaV9hZGRfcmVnaXN0ZXIocGRldi0+dnBjaSwgdnBjaV9od19yZWFkMzIsIHJvbV93
cml0ZSwgcm9tX3JlZywNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNCwgcm9t
KTsNCj4+ICsgICAgICAgIHJjID0gdnBjaV9hZGRfcmVnaXN0ZXIocGRldi0+dnBjaSwNCj4+ICsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNfaHdkb20gPyB2cGNpX2h3X3JlYWQzMiA6
IGd1ZXN0X3JvbV9yZWFkLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc19o
d2RvbSA/IHJvbV93cml0ZSA6IGd1ZXN0X3JvbV93cml0ZSwNCj4+ICsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcm9tX3JlZywgNCwgcm9tKTsNCj4gVGhpcyB3aG9sZSBjYWxsIHNob3Vs
ZCBiZSBtYWRlIGNvbmRpdGlvbmFsIHRvIGlzX2h3ZG9tLCBhcyBzYWlkIGFib3ZlDQo+IHRoZXJl
J3Mgbm8gbmVlZCBmb3IgdGhlIGd1ZXN0X3JvbSBoYW5kbGVycy4NClllcywgaWYgd3JpdGVzIGFy
ZSBpbmRlZWQgZHJvcHBlZCwgcGxlYXNlIHNlZSBxdWVzdGlvbiBhYm92ZQ0KPg0KPiBMaWtld2lz
ZSBJIGFzc3VtZSB5b3UgZXhwZWN0IElPIEJBUnMgdG8gc2ltcGx5IHJldHVybiB+MCBhbmQgZHJv
cA0KPiB3cml0ZXMsIGFzIHRoZXJlJ3Mgbm8gZXhwbGljaXQgaGFuZGxlciBhZGRlZCBmb3IgdGhv
c2U/DQpZZXMsIGJ1dCB0aGF0IHdhcyBub3QgbXkgaW50ZW50aW9uOiBJIHNpbXBseSBkaWRuJ3Qg
aGFuZGxlIElPIEJBUnMNCmFuZCBub3cgd2UgZG8gbmVlZCB0aGF0IGhhbmRsaW5nOiBlaXRoZXIg
d2l0aCB0aGUgZGVmYXVsdCBiZWhhdmlvcg0KZm9yIHRoZSB1bmhhbmRsZWQgcmVhZC93cml0ZSAo
ZHJvcCB3cml0ZXMsIHJlYWQgfjApIG9yIGJ5IGludHJvZHVjaW5nDQp0aGUgaGFuZGxlcnMuIEkg
aG9wZSB3ZSBjYW4gcmVseSBvbiB0aGUgInVuaGFuZGxlZCByZWFkL3dyaXRlIiBhbmQNCmdldCB3
aGF0IHdlIHdhbnQNCj4NCj4+ICAgICAgICAgICBpZiAoIHJjICkNCj4+ICAgICAgICAgICAgICAg
cm9tLT50eXBlID0gVlBDSV9CQVJfRU1QVFk7DQo+PiAgICAgICB9DQo+PiBkaWZmIC0tZ2l0IGEv
eGVuL2luY2x1ZGUveGVuL3ZwY2kuaCBiL3hlbi9pbmNsdWRlL3hlbi92cGNpLmgNCj4+IGluZGV4
IGVkMTI3YTA4YTk1My4uMGE3M2IxNGE5MmRjIDEwMDY0NA0KPj4gLS0tIGEveGVuL2luY2x1ZGUv
eGVuL3ZwY2kuaA0KPj4gKysrIGIveGVuL2luY2x1ZGUveGVuL3ZwY2kuaA0KPj4gQEAgLTY4LDcg
KzY4LDEwIEBAIHN0cnVjdCB2cGNpIHsNCj4+ICAgICAgIHN0cnVjdCB2cGNpX2hlYWRlciB7DQo+
PiAgICAgICAgICAgLyogSW5mb3JtYXRpb24gYWJvdXQgdGhlIFBDSSBCQVJzIG9mIHRoaXMgZGV2
aWNlLiAqLw0KPj4gICAgICAgICAgIHN0cnVjdCB2cGNpX2JhciB7DQo+PiArICAgICAgICAgICAg
LyogUGh5c2ljYWwgdmlldyBvZiB0aGUgQkFSLiAqLw0KPiBObywgdGhhdCdzIG5vdCB0aGUgcGh5
c2ljYWwgdmlldywgaXQncyB0aGUgcGh5c2ljYWwgKGhvc3QpIGFkZHJlc3MuDQpPaw0KPg0KPj4g
ICAgICAgICAgICAgICB1aW50NjRfdCBhZGRyOw0KPj4gKyAgICAgICAgICAgIC8qIEd1ZXN0IHZp
ZXcgb2YgdGhlIEJBUjogYWRkcmVzcyBhbmQgbG93ZXIgYml0cy4gKi8NCj4+ICsgICAgICAgICAg
ICB1aW50NjRfdCBndWVzdF9yZWc7DQo+IEkgY29udGludWUgdG8gdGhpbmsgaXQgd291bGQgYmUg
Y2xlYXJlciBpZiB5b3Ugc3RvcmUgdGhlIGd1ZXN0IGFkZHJlc3MNCj4gaGVyZSAoZ2FkZHIsIHdp
dGhvdXQgdGhlIGxvdyBiaXRzKSBhbmQgYWRkIHRob3NlIGluIGd1ZXN0X2Jhcl9yZWFkDQo+IGJh
c2VkIG9uIGJhci0+e3R5cGUscHJlZmV0Y2hhYmxlfS4gVGhlbiBpdCB3b3VsZCBiZSBlcXVpdmFs
ZW50IHRvIHRoZQ0KPiBleGlzdGluZyAnYWRkcicgZmllbGQuDQpPaywgSSdsbCByZS13b3JrIHRo
ZSBjb2RlIHdpdGggdGhpcyBhcHByb2FjaCBpbiBtaW5kOiBzL2d1ZXN0X3JlZy9nYWRkciArDQpy
ZXF1aXJlZCBjb2RlIHRvIGhhbmRsZSB0aGF0DQo+DQo+IEkgd29uZGVyIHdoZXRoZXIgd2UgbmVl
ZCB0byBwcm90ZWN0IHRoZSBhZGRlZCBjb2RlIHdpdGgNCj4gQ09ORklHX0hBU19WUENJX0dVRVNU
X1NVUFBPUlQsIHRoaXMgd291bGQgZWZmZWN0aXZlbHkgYmUgZGVhZCBjb2RlDQo+IG90aGVyd2lz
ZS4gTG9uZyB0ZXJtIEkgZG9uJ3QgdGhpbmsgd2Ugd2lzaCB0byBkaWZmZXJlbnRpYXRlIGJldHdl
ZW4NCj4gZG9tMCBhbmQgZG9tVSB2UENJIHN1cHBvcnQgYXQgYnVpbGQgdGltZSwgc28gSSdtIHVu
c3VyZSB3aGV0aGVyIGl0J3MNCj4gaGVscGZ1bCB0byBwb2xsdXRlIHRoZSBjb2RlIHdpdGggQ09O
RklHX0hBU19WUENJX0dVRVNUX1NVUFBPUlQgd2hlbg0KPiB0aGUgcGxhbiBpcyB0byByZW1vdmUg
dGhvc2UgbG9uZyB0ZXJtLg0KSSB3b3VsZCBoYXZlIGl0IHdpdGhvdXQgQ09ORklHX0hBU19WUENJ
X0dVRVNUX1NVUFBPUlQgaWYgeW91DQpkb24ndCBtaW5kDQo+DQo+IFRoYW5rcywgUm9nZXIuDQpU
aGFuayB5b3UsDQpPbGVrc2FuZHI=


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 09:53:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 09:53:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262873.455289 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nETNW-000740-OC; Mon, 31 Jan 2022 09:53:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262873.455289; Mon, 31 Jan 2022 09:53:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nETNW-00073t-L6; Mon, 31 Jan 2022 09:53:42 +0000
Received: by outflank-mailman (input) for mailman id 262873;
 Mon, 31 Jan 2022 09:53:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9o41=SP=epam.com=prvs=4030d24c28=oleksandr_andrushchenko@srs-se1.protection.inumbo.net>)
 id 1nETNV-00073n-8U
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 09:53:41 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a959fe3c-827b-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 10:53:38 +0100 (CET)
Received: from pps.filterd (m0174678.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20V93KeE019655;
 Mon, 31 Jan 2022 09:53:34 GMT
Received: from eur04-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2052.outbound.protection.outlook.com [104.47.14.52])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3dxc900bb9-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 31 Jan 2022 09:53:34 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com (2603:10a6:20b:153::17)
 by DB7PR03MB5052.eurprd03.prod.outlook.com (2603:10a6:10:7e::30) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.20; Mon, 31 Jan
 2022 09:53:30 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6]) by AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6%3]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 09:53:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a959fe3c-827b-11ec-8f75-fffcc8bd4f1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Jh8eWh6QMBTI1WBvnkmw063O73firuLyu26Djumo7rDHg2Yzv5nrFHKbSsJpOoYEAz4RdIcJUSm6+hB03HQ6vgvGQiPYya5wK82uaArYO0izmJHqkNbw/g2bjGqgxofxe5DEG8IcxsRE8SAe0QLNZw2rKmBTPO79FzJwtQXzbJe35t3m3JiDzcerTx7H1+Tnv7gfyVbUddzueQaq500jb6yaB5tqaBzkCV9VK4Hsz/CEwRGCTH3ssrvphu9iqN477USyCksXjXa8e62poEvFOQzNDJyKcVofPctlHc2T7GHol4tOYrRVD2ZClJ7P8sbFHLN6Hl50w0lMj5L5RKjE5g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Xu7UlaL0Pu+6LDokSemeVsDeRdThbOgEJprRIU4o1Mg=;
 b=c+laTLiD2Gh4rqD1Wj6XM8qAOlp66f9M7RXQQb1TnWBDvSUe/vDcgOfYQ4vHC37BvRAY20YrUwMJsqq97wJLIEc5lI5XcevpHxf8UdAl2/1kaThuCYt4cgFBlTUvqvCSNZyJikmHSkM10Djd6K/ATSCZuvLEqtDGWEqWFvC0/rk6P9a505oVEPQziUjn7EUbtSMup9IXeQ6pWXbr61sc2EwlGO0wBwTalbmVUhbBPePjAHqDanf8J9U1I36Ms3Txz4YzqGzQBUo0jnf5IYZr7D46EB3Xq54VV/Pk9lCcScamb2XoXaYz1VerKSiwrCGqPH6zHeyJAAJG6zjcCo0KIA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Xu7UlaL0Pu+6LDokSemeVsDeRdThbOgEJprRIU4o1Mg=;
 b=cQeL7w26DT2uPqZA/ual3TdzQCB+WdTAw41gQXW4ENjCtynHsnK85roZSWC+9e9prECd2glqxK6fb+EK5qw0O4+qCyU3GJE+NnYyqPX9TA8P5TtHS8myZUgHdTLVwU9+COfVkVnp+ZTz3NNpFnY4+JBQ8EOaB9IKSDqy7XUpFG8nmd7sqzMRA4vv0MYoSPWuguAGtC8PdSJkyI0mVSzt4E6kjvL3QR1twBauubTVFQKCTh8Zl8S4hqQ2BuyQXTzfisONr146gaqBYR17/kylAUZKbEi7hdId+Wx6yGefNC5bzeV5NcsBZ+GXORgOrwb5VXsgavPF7GPDMX/bETYNMw==
From: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
To: =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        "julien@xen.org" <julien@xen.org>,
        "sstabellini@kernel.org"
	<sstabellini@kernel.org>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Artem Mygaiev <Artem_Mygaiev@epam.com>,
        "jbeulich@suse.com" <jbeulich@suse.com>,
        "andrew.cooper3@citrix.com"
	<andrew.cooper3@citrix.com>,
        "george.dunlap@citrix.com"
	<george.dunlap@citrix.com>,
        "paul@xen.org" <paul@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Rahul Singh <rahul.singh@arm.com>,
        Oleksandr
 Andrushchenko <Oleksandr_Andrushchenko@epam.com>
Subject: Re: [PATCH v5 06/14] vpci/header: implement guest BAR register
 handlers
Thread-Topic: [PATCH v5 06/14] vpci/header: implement guest BAR register
 handlers
Thread-Index: AQHX4ewHyWAyD811HEGp8pIjUuVWNaxf8XWAgB1bfoA=
Date: Mon, 31 Jan 2022 09:53:29 +0000
Message-ID: <d493b022-3c78-1721-e668-48f4553056a9@epam.com>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-7-andr2000@gmail.com> <Yd8RJfpEalnfl+CC@Air-de-Roger>
In-Reply-To: <Yd8RJfpEalnfl+CC@Air-de-Roger>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 1d4a1f9f-774d-473d-bb1a-08d9e49f8925
x-ms-traffictypediagnostic: DB7PR03MB5052:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <DB7PR03MB50520E1F0E69F9A633C3E26DE7259@DB7PR03MB5052.eurprd03.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:439;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 tbZspU9dZgqCEnVymdy+EzzdYBfO2afDZ3YvsN59/Ze7IyYci9ddFrNIMZl0FbEX2+2Ij1S+6aAFLhtD1rvfphTgTjUhK/TZA2sROyzww7aXhjEn4yan2CsLTrjXVDQjczEfNEvMbMDQFd0uLF4BySHGJkUBxDgohwiqZqbZXNza/5pYNvvbJlPuDMsxh/ikEtj6RSKPu9sgm4XhIo0LyJDlYfbVeVioAOUXeN32xPjF//gxplkDvL45e2QJ/+CTK1wtrqEDdN97/av7u9ZVauT0zL5Mw5ZpIR5jrcaA8g5drBZLuIiq5G4bqC/dN2Jch1dUcKKFidDShd21cHWpF7fW7PVtUoyZuaHDfwq55QtS4JNjmQ9watlsH6OexlziUg9bnDQ2IaxSmQKJuYvvceQUR3M/3SooaqJi1DZdKsYWY2BU8FfsX9jA+owvYzOrL0oizG69oastYk4+ZVqIMxaKtwg0tR5wjZKrMIv+RYkOSuUDPysXdBzgHqNSbKohOfveRTNkJK5TBhJCpNKBPDwOzli1skq0Q+u2S2j9hZ6YKqjCvuHcM9884AfI9olJ0o/DG+mWdqQG8wkNcjHxs/Tn30zzNabdj9nVANmLJNHSQS/DDoekv1ftbpeNPRsDQPq9tt/BmZII9LjV3gzfTZKVwUnAM9SIwFOtp92LNxthoUym5XCr9pFQm81X4ohTI1gdUESrG7QS5sO64RUIUIo1CyPngWrUAar3P9MRtIMRYR2PaQkQ9Ghx7yA+vrge
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:(13230001)(4636009)(366004)(26005)(122000001)(91956017)(5660300002)(66446008)(71200400001)(66476007)(186003)(66556008)(66946007)(8936002)(64756008)(316002)(8676002)(4326008)(38100700002)(76116006)(7416002)(107886003)(2616005)(31686004)(36756003)(38070700005)(83380400001)(6916009)(6512007)(2906002)(6506007)(53546011)(54906003)(6486002)(86362001)(508600001)(31696002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?a0ZWb0gxWUFWNWkxTGRHemg4L0RBMGc2eGRoU1RVdVNaamp0STBsRWlTY0VE?=
 =?utf-8?B?UWpFYUR2cGxvSnFDdWUrckNZekNaUDF6cXhvZnI0TE9CRVlRbTVFektIMWZH?=
 =?utf-8?B?SjROS1Bld1NaSDZNSlFpL3ZTdXh3ZWhQQkNORlZBUWs2emRSdHZUZmdMVGZl?=
 =?utf-8?B?bzVxSERTOUZtQVNhVHRFdzJuUllhb3J1ODh4Y2NGNFUwOUF2OFZXbDRRb2hT?=
 =?utf-8?B?VEtFeUpkNDloS2E2Vk1ITUtId1lJcWFEZ0p6cGRaSXFNMjVFSHhRRGxLbnJQ?=
 =?utf-8?B?ZVZRdE5ZUDRrUHRpaVFwSktxR1VmUUxCN0FRcHIvc2Z2ZUJlRXVYNFovTFFs?=
 =?utf-8?B?WkFNcXZZak9kbUpxWHo3ZWZpeG1WYjhXK3I2U29wTnZJdEVPbzIwcHR2Vzhi?=
 =?utf-8?B?bzFkOG4wTlRLZnZVMlpiaGc3Nm9EVVlyeW5SUVRlcjZSeXdsRlNUa0NIRmta?=
 =?utf-8?B?NGE5cHV2QUxIN2RGT1FQNFJYNFhZckpxT05hQVhOVWs2eUVaZmNxKzcrU0Fk?=
 =?utf-8?B?aUp3NG0zYXhFSGl1SnBQSW9kWW9ISXQrRkQ4SGZCd3dVaUw4M3EvQWtlN1J0?=
 =?utf-8?B?ZXhMUWdIaXMxZk9FV2VhR1UyRTRIb0UzcjVRYmt1YjhDZ2ZWaFhRcEhHbCtp?=
 =?utf-8?B?UlN3ZU8vT0FiODNuLzB4djhZdmRHbkNoNU5jaHRiUnI4d3VDWU5xSlBKdGFT?=
 =?utf-8?B?aU9oOWl0OWZoMzFQTlhPZkdSSUJsd1loUG8wYU04aXYyOUo4K3lLbUhWbkx0?=
 =?utf-8?B?Tkt1dWMwQkt5bng4bXB2Qmx5cGRHYkI3cHpRQy9zRE9oaHc5VGJSbkxtQURT?=
 =?utf-8?B?R1VuR1FlMy9RdnJlQTVxZCtPTWR1d3NBSmhFZWtvVVFyUlB3eEo2MUllWkVp?=
 =?utf-8?B?QStkTWlZUW9RT1RIc21oYTV5djhGZVhEL2ZvZy82UlZuVHpGdlJ3Zkg0UnpC?=
 =?utf-8?B?K3JpcXl2TUdNbE1pQmxOUk9ORHpkdFFvNFZ3OExnMmJPbkNtTFBOUWhNbEwz?=
 =?utf-8?B?TmJOT0U0aXJxTTVtajU4eWViZ1BIRFlkZThiazQ0emJFckxmV1lEVGg2bDlP?=
 =?utf-8?B?QVM1emdUNEFoVlAxaTVGYTNweGh2U0J3R0lnc1lhbTBxbS9Db3UrR2hkNlEv?=
 =?utf-8?B?b01mSzBpT05lN0IveDdLWDJXU1hrRGZvdmRZdUMvMjRnVUZzMTcyc21mRjc1?=
 =?utf-8?B?MWRZNUl6MEpoZ2hVMDZVRDQ5RW0vR25TYTRRb05uMWErY3dvRlhBMFQ5VVoy?=
 =?utf-8?B?WUttazR6ellsS1hkVllkWU1MZnhhTzJ3UnowUElqazc0SndpSVdNWnE4YWZh?=
 =?utf-8?B?cDZiUkFLcUJLVkdNcTE2M2hUaTd4WFRxNDBMeTBBeWF6WXN2T2x5MFd6NEFY?=
 =?utf-8?B?NzJmZGUrNHJ6L0hWSGU4U3FkZzBxQ1cvN0RnWU5LMlRaWGI5YjJLR0NvQjRK?=
 =?utf-8?B?bHRMMXNOYnV4dUpMTDRLMlE2eGF5M2Q2NlNBMGdkZ3JlSUJDNXpZbUZ3dTBY?=
 =?utf-8?B?K2V0MmRMR05pcDNiMnc4bHg3ZWtLRU11WGhhdUNpVTJKMXF3NjNtS3l0S1Ja?=
 =?utf-8?B?YkRpWERoRjlkci96MTJIamRFNWdBcHVRQ2Z2QXd3YjBNOWJRTEVxM1htRFd4?=
 =?utf-8?B?T0lRNDlsUUJ1WGtTUWRxbGdSOW45eTYwalh4a2tCT3YxcFY3N3ZtMFVTeFV0?=
 =?utf-8?B?ZHg3NWFJam4vOEhMMEtqN1gvZHMwQ2JVejJxMWdHaHE5VHlHS1RTR2xCS3FU?=
 =?utf-8?B?Z05vN3d0NzNGSTErVGRINm1TS1FwbklhM3IyWlhWZVVmRGgxVEh0SENwYU85?=
 =?utf-8?B?Vy80cWszMU9TMnkyN2o1Qko3OUpiR0hUZk1tWFZGRTJyS3d6aXZJdHVtOW5R?=
 =?utf-8?B?a3dHeWsyaVBSZU5ndGpYY2dtMVk4NnVhWDdNaFVXU2djR0hxMm5NV3E3MFhN?=
 =?utf-8?B?bUNGQkxpL2FGcmZ6dFFYYnpZcWpheXpPaWxKa2NBbk5XM3BaQzlkTmZZZWZ3?=
 =?utf-8?B?L3QyZ0NWdmlBL3d4aEk5bjlNTHBQa2Uzb2hyckVlUFp1WS9qOEx6UnVLUzNT?=
 =?utf-8?B?ZDIvaHVPeTVUZFlFc1oweUN5SVFvb3pOeWdNOFBhQzhsWDY1N0lvMDhuS0Vz?=
 =?utf-8?B?SWZTWUYyNkpiak1IMFMrOFUyTW1xMENraGhUdzZXenFRQnE5THljeVNQK0cv?=
 =?utf-8?B?dFpDYlpEMXVEK0svOER6YzdObXRpTEFrVVR5TmNHelhaOW5NRURRTlpCZzlE?=
 =?utf-8?B?STJmT051OTdOaWxtRkxRK3ljWHd5Zzh1VEE0ZTRtQkNpS1NHQjNxdWpaUXps?=
 =?utf-8?B?ZzZjbmgyK3M4Q2dCdE40TkhOQVQxZ1djL21PaFVSYW5sVFp6QmVqZz09?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <2139C6AB2100DB40A6751B8A07469942@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: 1d4a1f9f-774d-473d-bb1a-08d9e49f8925
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2022 09:53:29.9963
 (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: sJOaMyfPZQwKtMjDwgLLbauXrt8AhHTBLOvKi6mO86rQPWbIkYBPAXSaAq+QJoWlQFV/93dMVoJFBDVXTTS/SrMfuFxuY2MmYuB3JHMIHOZ43K5op1DM1QiZGhMxx4Yc
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR03MB5052
X-Proofpoint-GUID: gIi27bAmWPDGWPXEcybjhbT4vM1KB3P_
X-Proofpoint-ORIG-GUID: gIi27bAmWPDGWPXEcybjhbT4vM1KB3P_
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-31_02,2022-01-28_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 priorityscore=1501
 malwarescore=0 bulkscore=0 lowpriorityscore=0 mlxlogscore=999
 suspectscore=0 impostorscore=0 clxscore=1015 adultscore=0 phishscore=0
 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2201110000 definitions=main-2201310066

SGksIFJvZ2VyIQ0KDQpPbiAxMi4wMS4yMiAxOTozNCwgUm9nZXIgUGF1IE1vbm7DqSB3cm90ZToN
Cj4gQSBjb3VwbGUgbW9yZSBjb21tZW50cyBJIHJlYWxpemVkIHdoaWxlIHdhbGtpbmcgdGhlIGRv
Zy4NCj4NCj4gT24gVGh1LCBOb3YgMjUsIDIwMjEgYXQgMDE6MDI6NDNQTSArMDIwMCwgT2xla3Nh
bmRyIEFuZHJ1c2hjaGVua28gd3JvdGU6DQo+PiBGcm9tOiBPbGVrc2FuZHIgQW5kcnVzaGNoZW5r
byA8b2xla3NhbmRyX2FuZHJ1c2hjaGVua29AZXBhbS5jb20+DQo+Pg0KPj4gQWRkIHJlbGV2YW50
IHZwY2kgcmVnaXN0ZXIgaGFuZGxlcnMgd2hlbiBhc3NpZ25pbmcgUENJIGRldmljZSB0byBhIGRv
bWFpbg0KPj4gYW5kIHJlbW92ZSB0aG9zZSB3aGVuIGRlLWFzc2lnbmluZy4gVGhpcyBhbGxvd3Mg
aGF2aW5nIGRpZmZlcmVudA0KPj4gaGFuZGxlcnMgZm9yIGRpZmZlcmVudCBkb21haW5zLCBlLmcu
IGh3ZG9tIGFuZCBvdGhlciBndWVzdHMuDQo+Pg0KPj4gRW11bGF0ZSBndWVzdCBCQVIgcmVnaXN0
ZXIgdmFsdWVzOiB0aGlzIGFsbG93cyBjcmVhdGluZyBhIGd1ZXN0IHZpZXcNCj4+IG9mIHRoZSBy
ZWdpc3RlcnMgYW5kIGVtdWxhdGVzIHNpemUgYW5kIHByb3BlcnRpZXMgcHJvYmUgYXMgaXQgaXMg
ZG9uZQ0KPj4gZHVyaW5nIFBDSSBkZXZpY2UgZW51bWVyYXRpb24gYnkgdGhlIGd1ZXN0Lg0KPj4N
Cj4+IFJPTSBCQVIgaXMgb25seSBoYW5kbGVkIGZvciB0aGUgaGFyZHdhcmUgZG9tYWluIGFuZCBm
b3IgZ3Vlc3QgZG9tYWlucw0KPj4gdGhlcmUgaXMgYSBzdHViOiBhdCB0aGUgbW9tZW50IFBDSSBl
eHBhbnNpb24gUk9NIGhhbmRsaW5nIGlzIHN1cHBvcnRlZA0KPj4gZm9yIHg4NiBvbmx5IGFuZCBp
dCBtaWdodCBub3QgYmUgdXNlZCBieSBvdGhlciBhcmNoaXRlY3R1cmVzIHdpdGhvdXQNCj4+IGVt
dWxhdGluZyB4ODYuIE90aGVyIHVzZS1jYXNlcyBtYXkgaW5jbHVkZSB1c2luZyB0aGF0IGV4cGFu
c2lvbiBST00gYmVmb3JlDQo+PiBYZW4gYm9vdHMsIGhlbmNlIG5vIGVtdWxhdGlvbiBpcyBuZWVk
ZWQgaW4gWGVuIGl0c2VsZi4gT3Igd2hlbiBhIGd1ZXN0DQo+PiB3YW50cyB0byB1c2UgdGhlIFJP
TSBjb2RlIHdoaWNoIHNlZW1zIHRvIGJlIHJhcmUuDQo+Pg0KPj4gU2lnbmVkLW9mZi1ieTogT2xl
a3NhbmRyIEFuZHJ1c2hjaGVua28gPG9sZWtzYW5kcl9hbmRydXNoY2hlbmtvQGVwYW0uY29tPg0K
Pj4gLS0tDQo+PiBTaW5jZSB2NDoNCj4+IC0gdXBkYXRlZCBjb21taXQgbWVzc2FnZQ0KPj4gLSBz
L2d1ZXN0X2FkZHIvZ3Vlc3RfcmVnDQo+PiBTaW5jZSB2MzoNCj4+IC0gc3F1YXNoZWQgdHdvIHBh
dGNoZXM6IGR5bmFtaWMgYWRkL3JlbW92ZSBoYW5kbGVycyBhbmQgZ3Vlc3QgQkFSDQo+PiAgICBo
YW5kbGVyIGltcGxlbWVudGF0aW9uDQo+PiAtIGZpeCBndWVzdCBCQVIgcmVhZCBvZiB0aGUgaGln
aCBwYXJ0IG9mIGEgNjRiaXQgQkFSIChSb2dlcikNCj4+IC0gYWRkIGVycm9yIGhhbmRsaW5nIHRv
IHZwY2lfYXNzaWduX2RldmljZQ0KPj4gLSBzL2RvbSVwZC8lcGQNCj4+IC0gYmxhbmsgbGluZSBi
ZWZvcmUgcmV0dXJuDQo+PiBTaW5jZSB2MjoNCj4+IC0gcmVtb3ZlIHVubmVlZGVkIGlmZGVmcyBm
b3IgQ09ORklHX0hBU19WUENJX0dVRVNUX1NVUFBPUlQgYXMgbW9yZSBjb2RlDQo+PiAgICBoYXMg
YmVlbiBlbGltaW5hdGVkIGZyb20gYmVpbmcgYnVpbHQgb24geDg2DQo+PiBTaW5jZSB2MToNCj4+
ICAgLSBjb25zdGlmeSBzdHJ1Y3QgcGNpX2RldiB3aGVyZSBwb3NzaWJsZQ0KPj4gICAtIGRvIG5v
dCBvcGVuIGNvZGUgaXNfc3lzdGVtX2RvbWFpbigpDQo+PiAgIC0gc2ltcGxpZnkgc29tZSBjb2Rl
My4gc2ltcGxpZnkNCj4+ICAgLSB1c2UgZ2RwcmludGsgKyBlcnJvciBjb2RlIGluc3RlYWQgb2Yg
Z3ByaW50aw0KPj4gICAtIGdhdGUgdnBjaV9iYXJfe2FkZHxyZW1vdmV9X2hhbmRsZXJzIHdpdGgg
Q09ORklHX0hBU19WUENJX0dVRVNUX1NVUFBPUlQsDQo+PiAgICAgc28gdGhlc2UgZG8gbm90IGdl
dCBjb21waWxlZCBmb3IgeDg2DQo+PiAgIC0gcmVtb3ZlZCB1bm5lZWRlZCBpc19zeXN0ZW1fZG9t
YWluIGNoZWNrDQo+PiAgIC0gcmUtd29yayBndWVzdCByZWFkL3dyaXRlIHRvIGJlIG11Y2ggc2lt
cGxlciBhbmQgZG8gbW9yZSB3b3JrIG9uIHdyaXRlDQo+PiAgICAgdGhhbiByZWFkIHdoaWNoIGlz
IGV4cGVjdGVkIHRvIGJlIGNhbGxlZCBtb3JlIGZyZXF1ZW50bHkNCj4+ICAgLSByZW1vdmVkIG9u
ZSB0b28gb2J2aW91cyBjb21tZW50DQo+PiAtLS0NCj4+ICAgeGVuL2RyaXZlcnMvdnBjaS9oZWFk
ZXIuYyB8IDcyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQ0KPj4gICB4
ZW4vaW5jbHVkZS94ZW4vdnBjaS5oICAgIHwgIDMgKysNCj4+ICAgMiBmaWxlcyBjaGFuZ2VkLCA2
OSBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQ0KPj4NCj4+IGRpZmYgLS1naXQgYS94ZW4v
ZHJpdmVycy92cGNpL2hlYWRlci5jIGIveGVuL2RyaXZlcnMvdnBjaS9oZWFkZXIuYw0KPj4gaW5k
ZXggYmEzMzNmYjJmOWIwLi44ODgwZDM0ZWJmOGUgMTAwNjQ0DQo+PiAtLS0gYS94ZW4vZHJpdmVy
cy92cGNpL2hlYWRlci5jDQo+PiArKysgYi94ZW4vZHJpdmVycy92cGNpL2hlYWRlci5jDQo+PiBA
QCAtNDMzLDYgKzQzMyw0OCBAQCBzdGF0aWMgdm9pZCBiYXJfd3JpdGUoY29uc3Qgc3RydWN0IHBj
aV9kZXYgKnBkZXYsIHVuc2lnbmVkIGludCByZWcsDQo+PiAgICAgICBwY2lfY29uZl93cml0ZTMy
KHBkZXYtPnNiZGYsIHJlZywgdmFsKTsNCj4+ICAgfQ0KPj4gICANCj4+ICtzdGF0aWMgdm9pZCBn
dWVzdF9iYXJfd3JpdGUoY29uc3Qgc3RydWN0IHBjaV9kZXYgKnBkZXYsIHVuc2lnbmVkIGludCBy
ZWcsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHZhbCwgdm9pZCAq
ZGF0YSkNCj4+ICt7DQo+PiArICAgIHN0cnVjdCB2cGNpX2JhciAqYmFyID0gZGF0YTsNCj4+ICsg
ICAgYm9vbCBoaSA9IGZhbHNlOw0KPj4gKw0KPj4gKyAgICBpZiAoIGJhci0+dHlwZSA9PSBWUENJ
X0JBUl9NRU02NF9ISSApDQo+PiArICAgIHsNCj4+ICsgICAgICAgIEFTU0VSVChyZWcgPiBQQ0lf
QkFTRV9BRERSRVNTXzApOw0KPj4gKyAgICAgICAgYmFyLS07DQo+PiArICAgICAgICBoaSA9IHRy
dWU7DQo+PiArICAgIH0NCj4+ICsgICAgZWxzZQ0KPj4gKyAgICB7DQo+PiArICAgICAgICB2YWwg
Jj0gUENJX0JBU0VfQUREUkVTU19NRU1fTUFTSzsNCj4+ICsgICAgICAgIHZhbCB8PSBiYXItPnR5
cGUgPT0gVlBDSV9CQVJfTUVNMzIgPyBQQ0lfQkFTRV9BRERSRVNTX01FTV9UWVBFXzMyDQo+PiAr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogUENJX0JBU0VfQURE
UkVTU19NRU1fVFlQRV82NDsNCj4+ICsgICAgICAgIHZhbCB8PSBiYXItPnByZWZldGNoYWJsZSA/
IFBDSV9CQVNFX0FERFJFU1NfTUVNX1BSRUZFVENIIDogMDsNCj4+ICsgICAgfQ0KPj4gKw0KPj4g
KyAgICBiYXItPmd1ZXN0X3JlZyAmPSB+KDB4ZmZmZmZmZmZ1bGwgPDwgKGhpID8gMzIgOiAwKSk7
DQo+PiArICAgIGJhci0+Z3Vlc3RfcmVnIHw9ICh1aW50NjRfdCl2YWwgPDwgKGhpID8gMzIgOiAw
KTsNCj4+ICsNCj4+ICsgICAgYmFyLT5ndWVzdF9yZWcgJj0gfihiYXItPnNpemUgLSAxKSB8IH5Q
Q0lfQkFTRV9BRERSRVNTX01FTV9NQVNLOw0KPiBZb3UgbmVlZCB0byBhc3NlcnQgdGhhdCB0aGUg
Z3Vlc3Qgc2V0IGFkZHJlc3MgaGFzIHRoZSBzYW1lIHBhZ2Ugb2Zmc2V0DQo+IGFzIHRoZSBwaHlz
aWNhbCBhZGRyZXNzIG9uIHRoZSBob3N0LCBvciBvdGhlcndpc2UgdGhpbmdzIHdvbid0IHdvcmsg
YXMNCj4gZXhwZWN0ZWQuIEllOiBndWVzdF9hZGRyICYgflBBR0VfTUFTSyA9PSBhZGRyICYgflBB
R0VfTUFTSy4NCkdvb2QgY2F0Y2gsIHRoYW5rIHlvdQ0KPg0KPj4gK30NCj4+ICsNCj4+ICtzdGF0
aWMgdWludDMyX3QgZ3Vlc3RfYmFyX3JlYWQoY29uc3Qgc3RydWN0IHBjaV9kZXYgKnBkZXYsIHVu
c2lnbmVkIGludCByZWcsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQg
KmRhdGEpDQo+PiArew0KPj4gKyAgICBjb25zdCBzdHJ1Y3QgdnBjaV9iYXIgKmJhciA9IGRhdGE7
DQo+PiArICAgIGJvb2wgaGkgPSBmYWxzZTsNCj4+ICsNCj4+ICsgICAgaWYgKCBiYXItPnR5cGUg
PT0gVlBDSV9CQVJfTUVNNjRfSEkgKQ0KPj4gKyAgICB7DQo+PiArICAgICAgICBBU1NFUlQocmVn
ID4gUENJX0JBU0VfQUREUkVTU18wKTsNCj4+ICsgICAgICAgIGJhci0tOw0KPj4gKyAgICAgICAg
aGkgPSB0cnVlOw0KPj4gKyAgICB9DQo+PiArDQo+PiArICAgIHJldHVybiBiYXItPmd1ZXN0X3Jl
ZyA+PiAoaGkgPyAzMiA6IDApOw0KPj4gK30NCj4+ICsNCj4+ICAgc3RhdGljIHZvaWQgcm9tX3dy
aXRlKGNvbnN0IHN0cnVjdCBwY2lfZGV2ICpwZGV2LCB1bnNpZ25lZCBpbnQgcmVnLA0KPj4gICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgdmFsLCB2b2lkICpkYXRhKQ0KPj4gICB7DQo+
PiBAQCAtNDgxLDYgKzUyMywxNyBAQCBzdGF0aWMgdm9pZCByb21fd3JpdGUoY29uc3Qgc3RydWN0
IHBjaV9kZXYgKnBkZXYsIHVuc2lnbmVkIGludCByZWcsDQo+PiAgICAgICAgICAgcm9tLT5hZGRy
ID0gdmFsICYgUENJX1JPTV9BRERSRVNTX01BU0s7DQo+PiAgIH0NCj4+ICAgDQo+PiArc3RhdGlj
IHZvaWQgZ3Vlc3Rfcm9tX3dyaXRlKGNvbnN0IHN0cnVjdCBwY2lfZGV2ICpwZGV2LCB1bnNpZ25l
ZCBpbnQgcmVnLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCB2YWws
IHZvaWQgKmRhdGEpDQo+PiArew0KPj4gK30NCj4+ICsNCj4+ICtzdGF0aWMgdWludDMyX3QgZ3Vl
c3Rfcm9tX3JlYWQoY29uc3Qgc3RydWN0IHBjaV9kZXYgKnBkZXYsIHVuc2lnbmVkIGludCByZWcs
DQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmRhdGEpDQo+PiArew0K
Pj4gKyAgICByZXR1cm4gMHhmZmZmZmZmZjsNCj4+ICt9DQo+PiArDQo+PiAgIHN0YXRpYyBpbnQg
aW5pdF9iYXJzKHN0cnVjdCBwY2lfZGV2ICpwZGV2KQ0KPj4gICB7DQo+PiAgICAgICB1aW50MTZf
dCBjbWQ7DQo+PiBAQCAtNDg5LDYgKzU0Miw3IEBAIHN0YXRpYyBpbnQgaW5pdF9iYXJzKHN0cnVj
dCBwY2lfZGV2ICpwZGV2KQ0KPj4gICAgICAgc3RydWN0IHZwY2lfaGVhZGVyICpoZWFkZXIgPSAm
cGRldi0+dnBjaS0+aGVhZGVyOw0KPj4gICAgICAgc3RydWN0IHZwY2lfYmFyICpiYXJzID0gaGVh
ZGVyLT5iYXJzOw0KPj4gICAgICAgaW50IHJjOw0KPj4gKyAgICBib29sIGlzX2h3ZG9tID0gaXNf
aGFyZHdhcmVfZG9tYWluKHBkZXYtPmRvbWFpbik7DQo+PiAgIA0KPj4gICAgICAgc3dpdGNoICgg
cGNpX2NvbmZfcmVhZDgocGRldi0+c2JkZiwgUENJX0hFQURFUl9UWVBFKSAmIDB4N2YgKQ0KPj4g
ICAgICAgew0KPj4gQEAgLTUyOCw4ICs1ODIsMTAgQEAgc3RhdGljIGludCBpbml0X2JhcnMoc3Ry
dWN0IHBjaV9kZXYgKnBkZXYpDQo+PiAgICAgICAgICAgaWYgKCBpICYmIGJhcnNbaSAtIDFdLnR5
cGUgPT0gVlBDSV9CQVJfTUVNNjRfTE8gKQ0KPj4gICAgICAgICAgIHsNCj4+ICAgICAgICAgICAg
ICAgYmFyc1tpXS50eXBlID0gVlBDSV9CQVJfTUVNNjRfSEk7DQo+PiAtICAgICAgICAgICAgcmMg
PSB2cGNpX2FkZF9yZWdpc3RlcihwZGV2LT52cGNpLCB2cGNpX2h3X3JlYWQzMiwgYmFyX3dyaXRl
LCByZWcsDQo+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LCAmYmFyc1tp
XSk7DQo+PiArICAgICAgICAgICAgcmMgPSB2cGNpX2FkZF9yZWdpc3RlcihwZGV2LT52cGNpLA0K
Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNfaHdkb20gPyB2cGNpX2h3
X3JlYWQzMiA6IGd1ZXN0X2Jhcl9yZWFkLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaXNfaHdkb20gPyBiYXJfd3JpdGUgOiBndWVzdF9iYXJfd3JpdGUsDQo+PiArICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWcsIDQsICZiYXJzW2ldKTsNCj4+ICAg
ICAgICAgICAgICAgaWYgKCByYyApDQo+PiAgICAgICAgICAgICAgIHsNCj4+ICAgICAgICAgICAg
ICAgICAgIHBjaV9jb25mX3dyaXRlMTYocGRldi0+c2JkZiwgUENJX0NPTU1BTkQsIGNtZCk7DQo+
PiBAQCAtNTY5LDggKzYyNSwxMCBAQCBzdGF0aWMgaW50IGluaXRfYmFycyhzdHJ1Y3QgcGNpX2Rl
diAqcGRldikNCj4+ICAgICAgICAgICBiYXJzW2ldLnNpemUgPSBzaXplOw0KPj4gICAgICAgICAg
IGJhcnNbaV0ucHJlZmV0Y2hhYmxlID0gdmFsICYgUENJX0JBU0VfQUREUkVTU19NRU1fUFJFRkVU
Q0g7DQo+PiAgIA0KPj4gLSAgICAgICAgcmMgPSB2cGNpX2FkZF9yZWdpc3RlcihwZGV2LT52cGNp
LCB2cGNpX2h3X3JlYWQzMiwgYmFyX3dyaXRlLCByZWcsIDQsDQo+PiAtICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICZiYXJzW2ldKTsNCj4+ICsgICAgICAgIHJjID0gdnBjaV9hZGRfcmVn
aXN0ZXIocGRldi0+dnBjaSwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNf
aHdkb20gPyB2cGNpX2h3X3JlYWQzMiA6IGd1ZXN0X2Jhcl9yZWFkLA0KPj4gKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpc19od2RvbSA/IGJhcl93cml0ZSA6IGd1ZXN0X2Jhcl93cml0
ZSwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnLCA0LCAmYmFyc1tpXSk7
DQo+IFlvdSBuZWVkIHRvIGluaXRpYWxpemUgZ3Vlc3RfcmVnIHRvIHRoZSBwaHlzaWNhbCBob3N0
IHZhbHVlIGFsc28uDQpCdXQgd2h5PyBUaGVyZSB3YXMgYSBjb25jZXJuIHRoYXQgZXhwb3Npbmcg
aG9zdCdzIHZhbHVlIHRvIGEgZ3Vlc3QNCm1heSBiZSBhIHNlY3VyaXR5IGlzc3VlLiBBbmQgd291
bGRuJ3QgaXQgYmUgcG9zc2libGUgZm9yIGEgZ3Vlc3QgdG8gZGVjaWRlDQp0aGF0IHRoZSBmaXJt
d2FyZSBoYXMgc2V0dXAgdGhlIEJBUiBhbmQgaXQgZG9lc24ndCBuZWVkIHRvIGNhcmUgb2YgaXQg
YW5kDQpoZW5jZSB1c2UgYSB3cm9uZyB2YWx1ZSBpbnN0ZWFkIG9mIHNldHRpbmcgaXQgdXAgYnkg
aXRzZWxmPyBJIGhhZCBhbiBpc3N1ZQ0Kd2l0aCB0aGF0IGlmIEknbSBub3QgbWlzdGFrZW4gdGhh
dCBndWVzdCdzIExpbnV4IGRpZG4ndCBzZXQgdGhlIEJBUiBwcm9wZXJseQ0KYW5kIHVzZWQgd2hh
dCB3YXMgcHJvZ3JhbW1lZA0KPg0KPj4gICAgICAgICAgIGlmICggcmMgKQ0KPj4gICAgICAgICAg
IHsNCj4+ICAgICAgICAgICAgICAgcGNpX2NvbmZfd3JpdGUxNihwZGV2LT5zYmRmLCBQQ0lfQ09N
TUFORCwgY21kKTsNCj4+IEBAIC01OTAsOCArNjQ4LDEwIEBAIHN0YXRpYyBpbnQgaW5pdF9iYXJz
KHN0cnVjdCBwY2lfZGV2ICpwZGV2KQ0KPj4gICAgICAgICAgIGhlYWRlci0+cm9tX2VuYWJsZWQg
PSBwY2lfY29uZl9yZWFkMzIocGRldi0+c2JkZiwgcm9tX3JlZykgJg0KPj4gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBQQ0lfUk9NX0FERFJFU1NfRU5BQkxFOw0KPj4gICANCj4+IC0g
ICAgICAgIHJjID0gdnBjaV9hZGRfcmVnaXN0ZXIocGRldi0+dnBjaSwgdnBjaV9od19yZWFkMzIs
IHJvbV93cml0ZSwgcm9tX3JlZywNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
NCwgcm9tKTsNCj4+ICsgICAgICAgIHJjID0gdnBjaV9hZGRfcmVnaXN0ZXIocGRldi0+dnBjaSwN
Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNfaHdkb20gPyB2cGNpX2h3X3Jl
YWQzMiA6IGd1ZXN0X3JvbV9yZWFkLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpc19od2RvbSA/IHJvbV93cml0ZSA6IGd1ZXN0X3JvbV93cml0ZSwNCj4+ICsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcm9tX3JlZywgNCwgcm9tKTsNCj4+ICAgICAgICAgICBpZiAo
IHJjICkNCj4+ICAgICAgICAgICAgICAgcm9tLT50eXBlID0gVlBDSV9CQVJfRU1QVFk7DQo+IEFs
c28gbWVtb3J5IGRlY29kaW5nIG5lZWRzIHRvIGJlIGluaXRpYWxseSBkaXNhYmxlZCB3aGVuIHVz
ZWQgYnkNCj4gZ3Vlc3RzLCBpbiBvcmRlciB0byBwcmV2ZW50IHRoZSBCQVIgYmVpbmcgcGxhY2Vk
IG9uIHRvcCBvZiBhIFJBTQ0KPiByZWdpb24uIFRoZSBndWVzdCBwaHlzbWFwIHdpbGwgYmUgZGlm
ZmVyZW50IGZyb20gdGhlIGhvc3Qgb25lLCBzbyBpdCdzDQo+IHBvc3NpYmxlIGZvciBCQVJzIHRv
IGVuZCB1cCBwbGFjZWQgb24gdG9wIG9mIFJBTSByZWdpb25zIGluaXRpYWxseQ0KPiB1bnRpbCB0
aGUgZmlybXdhcmUgb3IgT1MgcGxhY2VzIHRoZW0gYXQgYSBzdWl0YWJsZSBhZGRyZXNzLg0KQWdy
ZWUsIG1lbW9yeSBkZWNvZGluZyBtdXN0IGJlIGRpc2FibGVkDQo+DQo+IFRoYW5rcywgUm9nZXIu
DQpUaGFuayB5b3UsDQpPbGVrc2FuZHI=


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 09:57:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 09:57:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262880.455304 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nETRF-0007m4-Bq; Mon, 31 Jan 2022 09:57:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262880.455304; Mon, 31 Jan 2022 09:57:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nETRF-0007lx-6c; Mon, 31 Jan 2022 09:57:33 +0000
Received: by outflank-mailman (input) for mailman id 262880;
 Mon, 31 Jan 2022 09:57:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ytUN=SP=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nETRE-0007lo-LY
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 09:57:32 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 337d4e97-827c-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 10:57:31 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 337d4e97-827c-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643623051;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=NlyMunx5978ZnGMiti2But+4VZZz3njJV6RTQBjCOIU=;
  b=ZjWHaEsZdHKrQ1XmL7RXZpvofzf74fawrATDvRICdIN01N3soZQlaJs/
   hkiepJ0+9j51ELqzzJTGjk1w6vi65VCRZN0vsX+r1UNKRUjmuOERxXzEK
   0eKWTC6Di2EafwZa1lu6UrjZinmMdAIAqA/VrAXAM86l3yoWqlnoKhaoJ
   E=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: l5s4xwbYLz6a/CEmXVpGDugQuaaovlE3joxvHrCvs3Qt+9kNLthzCSBWkDnvZdIYwwWwmpd9YV
 Up2teUFm0nwW1ee/cfx8taNZBBFamWW+3pH5566Q650vmmpa5DV8+Qt5LrvKUERwkHvHs6IseC
 kbJo9+ZKndIaNAZTvw+2+b3anslG6oz0KmeT0N0qNlcg2G5JFpOTn2AqiPwTYvHdylDeCMQjdL
 Nb40G3G06z/Nojexw9Qi3/hHdZx6XN480jy+y6Se/Huh0qPhYgZoU8+4wTS8GZf2hzgYVz8cO4
 RfLA680qUZIA118sldPiGwwp
X-SBRS: 5.2
X-MesageID: 63026794
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:NzBHs6MpA+5pMq3vrR3vkcFynXyQoLVcMsEvi/4bfWQNrUokgTQCy
 2YWWDjQb/jeM2vwLd9/PY7kpB4H75HdndNgGwto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdpJYz/uUGuCJQUNUjMlkfZKhTr6UUsxNbVU8En150Ek6w7dRbrNA2rBVPSvc4
 bsenOWHULOV82Yc3rU8sv/rRLtH5ZweiRtA1rAMTakjUGz2zhH5OKk3N6CpR0YUd6EPdgKMq
 0Qv+5nilo/R109F5tpICd8XeGVSKlLZFVDmZna7x8FOK/WNz8A/+v9TCRYSVatYo3LVkNkr0
 OUQj6aPcSN5PJOTu94NWQYNRkmSPYUekFPGCX22sMjVxEzaaXr8hf5pCSnaP6VBpLwxWzsXs
 6VFdnZdNXhvhMrvqF6/YvNrick5atHiIasUu216zCGfBvEjKXzGa/uRvYUGg2Zs7ixINebUT
 ZI4dAAoVh7BQhFeNF5UBcwO3/j90xETdBUH8QnI9MLb+VP70whZwLXrdt3PdbSiT8hPglyRo
 G6A+m3jGwwbL/SW0z/D+XWp7sffkCW+VI8MGbmQ8v9xnEbV1mEVEAcRV1awvb++kEHWc8pWN
 kg86ico668o+ySDVcLhVhe1pHqFuB80WNdKFeA+rgaXxcL84QyUG2wFRT5pc8E9uYk9QjlC/
 mGOm9TlFDl+qoq/QHiW9qqXhT6qMC1TJmgHDQcGUA8E7t/LsIw1yBXVQb5e/LWd14OvX2uqm
 nbT8XZ41+57YdM3O7uTugzIimi0lsXzdDENwlXVYD2G1BNze9vwD2C30mTz4fFFJYefa1COu
 nkYhsSThNwz4YGxeD+lG7tUQuzwjxqRGHiF2AM0QcF9n9i40yP7JehtDCdCyFCF2yruURvge
 wfttAxY//e/11P6PPYsM+pd5ynHpJUM9OgJtNiJNLKigbArLWdrGR2Cg2bKhQgBd2B3yckC1
 W+zK5rEMJrjIf0PIMCKb+kcy6Q34Ss12HneQ5v2pzz+j+bFOS7KEedbYQffBgzc0E9iiF+Pm
 zq4H5DSoyizrcWkOnWHmWLtBQ1iwYcH6WDe9JUMK7/rzvtOE2A9Ef7BqY7NiKQ+95m5Ytzgp
 ynnMmcBkQKXrSSedW2iNy4/AJuyA8cXhS9rbEQEYAfzs1B+MNnH0UvqX8ZtFVXR3LY9nacco
 jhsU5joP8mjvRyepWxFM8Gh/dMzHPlp7CrXVxeYjPEEV8cIbyTC+8P+fxup8y8LDyGtstA5r
 aHm3QTeKafvjSw+ZCoPQP7wnV63o1YHn+d+AxnBLtVJIR2++4l2MS3hyPQwJphUexnEwzKb0
 SeQAAsZ+raR89NkroGRiPDWtZqtHst/AlFeQzvR44GpOHSI5WGk24JBDrqFJGiPSGPu9ay+T
 uxJ1PWgYuYflVNHvtMkQbZmxK4z/fX1oLpewlg2FXnHdQ3zWLhhPmOHzY9EsagUnu1Vvg6/W
 0Su/NhGOOrWZJO5QQBJfAd8N7aNz/AZnDXW/M8ZGkSi6X8l5qeDXGVTIwKI1H5XIoxqPd532
 uwmosMXtVCy00J4LtacgylI3G2QNXhcAb4/v5QXDYK32AomzlZOPc7VBiPsuczdbtxNNg8hI
 yOOhbqEjLNZnxKQf302HHnL/OxcmZVR50wakA5cfwyEyojfm/s6/BxN6jBmHA1awyJO3/93J
 mU2ZVZ+Ir+D/mswicVON4x299qt2PFNFpTN9mY0
IronPort-HdrOrdr: A9a23:t5XWmK4D8ViiOkCq7wPXwMzXdLJyesId70hD6qkXc20zTiX4rb
 HLoB1/73TJYVkqNE3I9eruBEDiexPhHPxOj7X5VI3KNGOKhILCFuBfxLqn7zr8GzDvss5xvJ
 0QFpSW0eeAbmSSW/yKgjWFLw==
X-IronPort-AV: E=Sophos;i="5.88,330,1635220800"; 
   d="scan'208";a="63026794"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=B+YD7f+Kfl6xxAl6sqD9oi2SNPU/4ek0CJ/hdrVve/Z3ue59sY03PvCAKZ0w8KkCobJNSbMwGweno9H566qL5RiCKnnNqeZYJW5loH0LW8+0TEjDd+FODioOxJsKOw7kXb4VwUJRTqC7/KDEcGg8ry/sO1rXgqbc59ibb7Vabj4K732/2B9cn1/MW/KbKdvHMzGuu7L8Q+NiX7UHN1TpM8OW7KeBqHeJsACJmkiRVnPjTSS4CIhzJWN2TxqJ9gfp5pH41Qltp11BQXBK4Jl8j4uJmUhn17r8B4Ycy+0bJK3+iaW9S2vECxUclOso79NGk4ScJ+46iuGKircRadYGjg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FMwOYletfg1emNdwRApZqU68CzXOXzlVvuXR8NTHqBQ=;
 b=Pn3LvlT66Rq/xvbn09TysfMY4kyspQEOpsjAmPHFckt9yKx/XERYjfbMhQ40pTVVJxEvdK+Czd60yU+w7yv6d8lVc9KBNG6iG4cbc7rISJcjZUrHP7UbUnDHRck0WN8WBPFAf5SPUnp7chfG0iKgG19nOH0Z8Qk7iaXZ3HO1YfoJCLyqxNl/HBb7v4RNVfpas4uI3AeDRd5cxQhY0w+Bn+SjgjvXPRTIEmrEAy0r0lhpqAm4u/2MdEs0gE4snS2VS7jVELaLh0UqvUMBGFz1hQ/IXhxn0JaJO7grUaaKJLoM6dpPzAdKv+CXgCyp+7LuM5GW7e1ejO5xoIUXufnZhw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FMwOYletfg1emNdwRApZqU68CzXOXzlVvuXR8NTHqBQ=;
 b=q9xszWnmG1+06DjOvifiJceNWQBHuvK0UG0rCeZLvGOAy+o2AgJXkZiDnNci0RjMpVtQxMlU4GFeS3yoLnP2yZS9A4B7rtdTqCgqpXm/k075mtvHD54v4CI9vcXAOS9Zq80B1xsImQLPU9fqv7nrwokkBCDxApxu6zam1HXl6BA=
Date: Mon, 31 Jan 2022 10:57:21 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, "Bertrand
 Marquis" <bertrand.marquis@arm.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Wei
 Liu" <wl@xen.org>, Paul Durrant <paul@xen.org>,
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH RFC] xen/pci: detect when BARs overlap RAM
Message-ID: <YfeygYAp6FjXYGa4@Air-de-Roger>
References: <20220126122648.52275-1-roger.pau@citrix.com>
 <8537763d-2601-4092-f70f-1abbdd0a211f@suse.com>
 <YfFshcEanUtXUlK3@Air-de-Roger>
 <c7be91c7-6010-1146-b6fb-92d4793ad49b@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <c7be91c7-6010-1146-b6fb-92d4793ad49b@suse.com>
X-ClientProxiedBy: LO4P265CA0001.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2ad::14) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c83ff271-aea1-40a5-2f4a-08d9e4a0153e
X-MS-TrafficTypeDiagnostic: BYAPR03MB4181:EE_
X-Microsoft-Antispam-PRVS: <BYAPR03MB41815E32E89B13001CD4AB8A8F259@BYAPR03MB4181.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: l0EEa1OVTWQCOzfvTtcRzM8igympqQG4Va5YFMnBlV0CTvc2QOSPuqwafF5Eq7WL8ka/2tjgtfMtVMwqPiP9LdeYgMzZmyTI3HJugW8UCrvWYUTVBEdGsqcwbCY7Nt54FIOOOAlgyoMkDCRybsnqOQNTPsjSeRUUtA/c2j3mZ7ay/O75lwWy58ho7bXkC6CysEVLFdUr3qOLqW7nl41dXREkbjv/bQAIdEmGnfzNtjyJWKjxKNhvQYCWXITCOrAKGP0FXnbyauyNS7X+6B2Uw1G5pKN0VmdP2srumslv97jYRgFE3yXjuXKoucRrb8ogiPbhM03UetxkwUYYuwSeqQMnMZ9fL62Ap4kDcDTvOzm9bWnY7E+UigaKso4dC1JcTkzJlcnUC6vmpP/1kVv6nY9CK9MFIC2ippiKYzjsqSWCfR7ErgF7V8cqm9xxqMj+PFy5He78fk4Owr+lRdQ7/TUcBp5H41+78sUPAcaEVDolaiEJBMBhExrycxT3TQ0Nrc0a7VDtMBU6/LVvYAV6+HDRLRVJRPyPAZuETwAFsRIA2hBzFrB7FFJQNP9snnEQ8jPc9NJm9qTetTyy2vL1GwBDIbHfoHFhHlT3sEaxmu/8DgcpAdy6qRkjUXAZIJn4hhn4X76IXacJmkQ/BRIRwQ/tPTcqGiTU0jRhEyETYI4q7N6y/chkt3vgndwiy+PUs/2AA29ncMCblkUHhVrcfQ==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(7916004)(366004)(8936002)(8676002)(66946007)(66556008)(66476007)(4326008)(85182001)(82960400001)(53546011)(6486002)(6666004)(38100700002)(6506007)(6916009)(5660300002)(86362001)(33716001)(316002)(508600001)(6512007)(9686003)(54906003)(2906002)(186003)(26005)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cE1RQ0JKOVVDRkxkcjZ5TGZWM1JjcENzRjlJT2dzc2xRdmlzS1hBeW80Sk9P?=
 =?utf-8?B?bGc5VWRVeWZFeE5VN282N2NUa0djV2NBZGtyOTZvM2VvTnljUWoyMXFFQkp3?=
 =?utf-8?B?WWVwNlBlQ0FXbS94TktlQlFpRzVVUmdOVnFrUEZlRXpBSW5JSVdJdG1ybjJq?=
 =?utf-8?B?Q2ZDSUQ1ZG1tU3gvaE1qeEhhQ0pRSFFKM0hKeHFKSTczeW81UTI1WGVKMmhX?=
 =?utf-8?B?UVprcTJPS2tWK1NKVWpsMzRoMzlnUSsybUhvMmlCZ2ZVZG9RVlVQenRnYnJE?=
 =?utf-8?B?TGlsWTBjUEVBa3dPMTk2Ym95Z0ZXK3pIMEhmNDRYSDV2NlUzRXhSOXNPcUg0?=
 =?utf-8?B?bFlNMVlWcFNoQzBLU3hDcUs2WTlMWE5xTnFCdFJ3eTJhQXZwcUpqb05ONG5D?=
 =?utf-8?B?cU9OaVlLVmhldUNJamFlVTMwU0c3R01zeFZrbHhMeTBQR1pyYVFhYXRzVHB0?=
 =?utf-8?B?Q284STdPb21KT0dnNVBubnF1d3J3ampBTmRJRnRZbTN5UERyQno5ZHNWSzZw?=
 =?utf-8?B?K3hLM0Z0enRrbFhjQ2JUV3pYemRXS3phc2Z4c2VyMlhqOEZHbndXV2k0OHNW?=
 =?utf-8?B?NmNQTGxGeTJvMzZVRFh1dnJTR3lUL212Rm1SK1BJRGlYSjRZZDhaN3ErL3FB?=
 =?utf-8?B?NENFdWVmanUwQWZYQUk1RExuMDBiMC8yM3RyMVhNTndmS3FBRUNaVEFSZEdJ?=
 =?utf-8?B?cTZWRDdOdU1SWmlic3BnYmo2bXVaZTdEMzU3WTRaNUREVHBuUGxmNjI3U0E3?=
 =?utf-8?B?bmZ1eSs0c0FCSG9wSHlmQm9KOHpJOWFla2FMeW0xdUZ4ZmVlQ2xMTkl1aTUv?=
 =?utf-8?B?dlg5YkpFVjRtdVllY0ZFMDFMYnlGeFQranZLcEVVeUg4YTZZMjQ2QnkvdlBt?=
 =?utf-8?B?ajZkbzgvVU1POE1WencxRTVndWs0OHFraXRFZWNMQll1VEllRUtuMTlKS3A5?=
 =?utf-8?B?OXczWWtTNHlYTnhLMUpYNDR5aTEwbzFabm45b3RkOEVWWXluN3B0a2JrSkJo?=
 =?utf-8?B?LzNFb2htN0ZIZmFTTmpLMUxRcHFEZE00MGw5Z1llYjFNbCtycXFYbkxzOSt0?=
 =?utf-8?B?QWdibGZOa2ROQUV4ZWhoa1RDQ0xFMjg2cFRzU0Jzc2gvZm94U1pYdmJadkpy?=
 =?utf-8?B?bGlpdG5saHZaV0RESGk0NmdRU1EyaU9SdlE3aGs2Sy8wcS9hSVZlN0JmNzV6?=
 =?utf-8?B?Y3FpaXVnS2JoM21rSDdsNmlJK1Y1Wnc2RUUvM1VWOWdSTElnWXNBa3F0c3lw?=
 =?utf-8?B?M2NDRWkzL2MwUlZPNUw1a1prbk9NeUpTQWlhZ2J6S2xlNHZoN0QvVmhZZnF2?=
 =?utf-8?B?MTBDVWdTd1J4ZWVyNmMrdW5lOEtja0xKdnF0bW5tZkJ5Um9VdGowYzlPNmxj?=
 =?utf-8?B?RTlzVmNBN2VHdFNOa3JVOGlWWDJJTVYrYUxGRXc0aTB2a3VrZ1dtRkxhb1Fu?=
 =?utf-8?B?OWNYbjlnZ2l1Mm96TFA3VHg3Qk1Oc3VtV1dJWkpMU1ZaZ1RpeG95cERCb0NW?=
 =?utf-8?B?bjc2U3cvaGNhbSt6R25LOEpBRE5aMDA4VWdaUkhvV0VrR1pWbFZJd0w4ZUNI?=
 =?utf-8?B?b2xDY2ZFT1h6ejR6SHhQVHRjNkZDYkg4Y3VTRFUxQ3NFY1NmczloNDZCRUda?=
 =?utf-8?B?TGg4OUI4eDRrdFZJZEt2ZUF0U2ZNRGZqaXpLLzNDOUowUG1pRXFlc3lQVm95?=
 =?utf-8?B?cGlKVGNoZmxKLzlkeVJhVkhEajhyR3Z2UWc5QVVVSVF5dXFmYStKT0ZZSVJq?=
 =?utf-8?B?dnlCcXlnOFltNys2SDR1R3pqUlJMa0kzV1ZxcGhyNnVQNUFyWk1TTkNFc0ly?=
 =?utf-8?B?djFRMzhkOCtyelVZeitZdHZsdlUzQUI4TjRmUkVVejFyeEVpOTU4YzBwOHhl?=
 =?utf-8?B?RjF0MDVTRVNEWCtqN3ZoV0tIeGNTTzg1dDBIQW1TRmhueDl5WTJ5MUdDZVhO?=
 =?utf-8?B?VllLYk9XMHRnQ1NzREdkQmQvenJZbnI3enN6Z0ZwTHNFelhrMTVBc1dHWFlj?=
 =?utf-8?B?ejZyQUR3c0RTMmdaL3p3aGpyS2lMaGFPNHRLc1FOVlFSZTVvcExycDB0OEpU?=
 =?utf-8?B?U2FuemM0bWxjUUtBNEo1MmtWd0ZQaGpwRXNYd1VBNkZpL1BsbmJPeVIyc05E?=
 =?utf-8?B?bVBRWVFLV3BCbjlWLzloMVhuNFdZNjlqRXcyaEtsV0FyYk1YQzhwWjM5SnFD?=
 =?utf-8?Q?ineVcgeU876JztDyOu6jG+s=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: c83ff271-aea1-40a5-2f4a-08d9e4a0153e
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 09:57:25.3808
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zXPbjiJ9FYvBpSZet+x7Z6hOdN2T9ZdUxvos8mcUUMmRxHz4e6uXaIT4+QAcK2EdWHwCADKR4y4CcRsIhQvoGA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB4181
X-OriginatorOrg: citrix.com

On Fri, Jan 28, 2022 at 07:48:44AM +0100, Jan Beulich wrote:
> On 26.01.2022 16:45, Roger Pau Monné wrote:
> > On Wed, Jan 26, 2022 at 03:08:28PM +0100, Jan Beulich wrote:
> >> On 26.01.2022 13:26, Roger Pau Monne wrote:
> >>> --- a/xen/arch/x86/mm.c
> >>> +++ b/xen/arch/x86/mm.c
> >>> @@ -479,6 +479,26 @@ unsigned int page_get_ram_type(mfn_t mfn)
> >>>      return type ?: RAM_TYPE_UNKNOWN;
> >>>  }
> >>>  
> >>> +bool is_iomem_range(uint64_t start, uint64_t size)
> >>
> >> Might be nice to have this sit next it is_iomem_page(). And wouldn't
> >> at least "start" better be paddr_t?
> > 
> > (paddr_t, size_t) would be better, but AFAICT size_t can be an
> > unsigned long and on Arm32 that won't be suitable for holding a 64bit
> > BAR size.
> 
> Talking of representing the range - a BAR occupying one part of a
> page overlapping an E820 entry covering another part of that same
> page is going to be equally bad, I think. The range may therefore
> want expressing in page granularity. This may then be easier as
> [start,end], at least on the calling side (can use PFN_DOWN()
> twice then).

Yes, indeed, would likely be better. Then I can make both parameters
unsigned long.

I also think is_memory_hole would be a suitable name given the new
implementation?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 10:02:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 10:02:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262891.455331 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nETVZ-00013p-5X; Mon, 31 Jan 2022 10:02:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262891.455331; Mon, 31 Jan 2022 10:02:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nETVZ-00013i-2V; Mon, 31 Jan 2022 10:02:01 +0000
Received: by outflank-mailman (input) for mailman id 262891;
 Mon, 31 Jan 2022 10:02:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Fky=SP=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nETVX-00013c-Vm
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 10:02:00 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d3d6aa06-827c-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 11:01:58 +0100 (CET)
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur03lp2053.outbound.protection.outlook.com [104.47.10.53]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-38-E2Ckn_pHO2y909aZ-wvDWA-1; Mon, 31 Jan 2022 11:01:56 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by HE1PR0401MB2537.eurprd04.prod.outlook.com (2603:10a6:3:83::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.21; Mon, 31 Jan
 2022 10:01:29 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45%6]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 10:01:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d3d6aa06-827c-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643623318;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=K0FCkClQ69AOQ5fqmfgQnNLe5moj0NPPAhVc8/a9FwU=;
	b=GB2910jBRmg6oOqx1NGws0oV/RDwut68OUpUaqbVHH26argUVwFA/5hFfuZq5aRUjx6AsS
	iEi2VSVpqSrpsZKGr9CBuId88htdOnMTZceh7jIF3BJZKyIIr4rPzFQd4v+lPLJXpnx2fq
	lOXqG/HD9n3N3CVXw/V123e96wcyXEM=
X-MC-Unique: E2Ckn_pHO2y909aZ-wvDWA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CRv94LwMO5sLT2Vp3BeQLZsH1Wbm5k/n7ixF4FXlJcBTvclQ7iyURYdX+PkgMJTNiBmMc/khX0PAGWrvacCakAIZNdu+MSbvjPRq4+jD6L+qdHfXXCfSdD+1jLUZyB7C/8gaoMOFKf/AL2y3EuP7usXm05/X3XFGOfDSqAk5R1cOhmgSzO5dYr9uW67egf7OaoQUjQeGs/VA0l/MoBPIYhvFd5He0kmNlG9jQ4O1a3rRdvzkiFoFf+8E3rJ4nncvBj+OY2aEcvPWaibTmN6sEnGwvEUrwovUAl+LlHxJbQDzseyT2zgxS8FPwv6b7f6Ac/LjzdgBPVn4WV3NfGS/UA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EXdwXSTK37o3t9RKP4LKEQYzWlW/a22pCeDE/p+Za5Q=;
 b=mZQDjGcd4GUwDHQthep2WXuQjHmt0mCZzthJpgd/onOaCVBKPkMXgn+khSfzis3LcLqNM40HHGOKuzjLj9235fjSkbkTdM/D2WDS0QAl07e6ubZuz1QCVAR+OGYvxLOjKnMXjXd/y6w0Xx40eEf4H5D4iOOi2nsuEI5NL/6KozsAyf/HrfGKc924rFz/IflYFTSXbNqecMPZI75yBH0s+2r37vk5gDm1W55lIfWpVST9W86t+LRQ2LpZ1Aa2PU+A3NtyS3W/59chjEdTXOTPVcssF/iMQZyTIBRCQt4bhoc7cW8qR/rLelJT0ks5bMZ6PWZ7l0oqyGQCPvsNrr2/cQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <43e4f24b-cc2a-cb36-c62b-6d46296a6217@suse.com>
Date: Mon, 31 Jan 2022 11:01:30 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH RFC] xen/pci: detect when BARs overlap RAM
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org
References: <20220126122648.52275-1-roger.pau@citrix.com>
 <8537763d-2601-4092-f70f-1abbdd0a211f@suse.com>
 <YfFshcEanUtXUlK3@Air-de-Roger>
 <c7be91c7-6010-1146-b6fb-92d4793ad49b@suse.com>
 <YfeygYAp6FjXYGa4@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YfeygYAp6FjXYGa4@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM5PR0601CA0050.eurprd06.prod.outlook.com
 (2603:10a6:206::15) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 925c449c-2e68-4bc0-33b2-08d9e4a0a698
X-MS-TrafficTypeDiagnostic: HE1PR0401MB2537:EE_
X-Microsoft-Antispam-PRVS:
	<HE1PR0401MB25377B602ED4E2F9476F6DA8B3259@HE1PR0401MB2537.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:
	f74ESFWDnrCB2QwxnONbJyjGe4g9IOL16xNq4rJw6NpUHZ1g64tnI4lvwJGAvje3apK+XjJbjAetz/yh6NHhlEbbZ7dBFcmsecyNyQPnM4llb6TZOFuvE5xTEfjsgQFZq4cBknzx8nO8VH8HnxrhAHbAX2Y+ixA8lixol3UkWvBfnoh3StqbImGlXCVEkCLYiY/52W/XbQOBRX29xJHPaqonFZJTkLK/QOGlhPaX0KYFUSUFPFU2hAIaa1O1m4pEH1k2sr8s49k3hSLF+kJc6dtduiAostnoc0/8Lo6t2Zsfkd8cCKZJc5IGV0YIJsL4Z71BRbt5O5fefkgphHnml1yy8Zu5DmJPjIJuLDJ69u/VQ6TPFo3W+35p7evTC00kKVXYE8XqAiC0FKPNN819XKYY9aPn21WysGljVV+zkm78ygJCWaB+/vrfWE8vIfXUXwcV6v8//UxU6kl0LNrdQu0fT0gE7IHnolR2UFxlAwagHGL1wQcwmxY8fbgV/a7KMZiQ+nvVrieau9ApEyEFZpoTjWZDgWJURx1DagwSdeptTfJbKT1bPS8cWhAN5CjmOtcm6ZwNvM4g9932iJLPRZA0Cht8u55S16RUmOIPeTyFYnP3+5nxxo9FSqDC24IXY3xYy8Ccb7/is47UEebl7IEVRdIZA5+DnR33BpaomTWazF+EmE7V26KOOQb92UPHxsbS3ZT2FFN5nhsmD7qxIBBUHUhFvex3ihY1bNY1Yus=
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:(13230001)(366004)(8676002)(6666004)(66476007)(66556008)(4326008)(186003)(5660300002)(7416002)(26005)(53546011)(2616005)(2906002)(8936002)(6506007)(66946007)(6512007)(6486002)(54906003)(6916009)(508600001)(31686004)(38100700002)(31696002)(86362001)(316002)(36756003)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?OMvSzDkP5JDewcFfBHPO9XWvuqVBI82y1860u7j10UGtb9x65aFfyH1hv7kf?=
 =?us-ascii?Q?YpF253xmZSc8FZ3lFSnZnKjKxwJb3DBGClTPkO9kDeoiaRGJ2xxpt4EWCXC3?=
 =?us-ascii?Q?E0CaZNTIkDzKIALwzFbsk/E153v0vK90/JOZLSxEGnFwI9kIoUvY4o7fdHMF?=
 =?us-ascii?Q?5G1fSbDxfWqt7Bi69luyjRJNWuKSsq//OB8JuVFBe8CGqO3kBUoNnjnPKPAH?=
 =?us-ascii?Q?OZ25y1iO7PCLBDZ18tVsTT8YzT9yLETHXW4omo7EVmxrtPse3VsFN0PVnW8P?=
 =?us-ascii?Q?9GE4v2dIKJrTAv8VxxoQsruPC8oWIO5mKzhHZloSGNktR4Rgl9tnD7QKY9wZ?=
 =?us-ascii?Q?QDyEJyS+G4SYkMsh87yTNZFNwypXRi6+4psM1eJDG3bLhNHiqSPRbdd3ZB5w?=
 =?us-ascii?Q?1+zmWLuSXjUtDJGiKx2RqvlOkQMBpXULVEoUQC/VubQXSFfkJrIz2biYlBju?=
 =?us-ascii?Q?WX8X+DUJun3otUy7zMFDVZYPckou2FHYmTL7DPQo2fIAlLfVl1Q78TaH7/3m?=
 =?us-ascii?Q?z+VUbMQ5jKPc9/aFPgfNcRt/9Oil01RPIV9m6zC+5q3GthRC+PtLmWxt1A9L?=
 =?us-ascii?Q?tGQDSkF5A419OKTzZ00ZStXdnLMduVYRd4+nT6SOB1vu7rD225wC6QU4ICnq?=
 =?us-ascii?Q?YoHZW2GfEhgVX+YMoPPTfNTNk8plO4a9mWJILj1qpVtI104SHGFwAc8bmxAl?=
 =?us-ascii?Q?NjuT9T0tLxC+NDGU+rTygwPSa1mCOAyEMN4Cgf992nB/1SoswZIjofFmc19U?=
 =?us-ascii?Q?j8q9V0jLFtqWi6NCtvDWIK8jd4ICiHwzTeMCu3BmlOTc2BSaNMHspwHjKFC4?=
 =?us-ascii?Q?3gIqFE6HdnWTioVWJIEhIRQw2KuIHtzSmaL59rviPvLj6737d3MaTUe+7ATG?=
 =?us-ascii?Q?ASq1aMa3+Li0SBMzZtLaHuB/QCd7FDpNnF0MD5HcVSI/lK2orPiniJJp0Tsv?=
 =?us-ascii?Q?VsJngS7XDiIjklxbscWqvmnAbGQ8NO3vACmzHhX6Zhl2e5TvRSoi3aktNHWT?=
 =?us-ascii?Q?UPr6J56DEAiBEq1VmfKC+OhNefH50DDfzWeHPP54lfYYu50uA6eu5w1Yfkrj?=
 =?us-ascii?Q?sB3t8Ye1swhcSGMswTX6bIEJnAbUHj7SqnPv1MieXRXQRV2iEeMn8MivIgqz?=
 =?us-ascii?Q?mQhd+2+Qtzxy51tZ5XbHTLBG1s2sxAQ1m0Iyyf/QFG3HOaDBUHjCJ8O4qbJt?=
 =?us-ascii?Q?Hg61wQU8di/cZzLGp1vSpLBmaayZkamUI4lR4mQWF/Ee6z1TVjVpfZc1lrMw?=
 =?us-ascii?Q?a6S4f/VZIv0oVWkvlg/SC4tsUQAi2gp4yLH8hUAXrDwm00s60VSlo+yvSAlD?=
 =?us-ascii?Q?++8livq5wSHJ4czVU/slMnQtxJBf2zcNNs5fS3ZN1jiQtjZSm453aZJYFHEB?=
 =?us-ascii?Q?cvneCtsR8uGqyKYaoG/giLCHZiOY55tNKiplxs7LmtpLFzeche1vcwWNZGN9?=
 =?us-ascii?Q?ChoYqWZB2/Ann0TBQVfZWCizJE3lbe08PPEW8yhq7vnYnCw5QLDHnSofxJle?=
 =?us-ascii?Q?Im8Yfqv/SE0B/CHnVHJ/Hxxz1yZd0C5VDu2ckU2B+iTJjGE2YhJJSftPOjoh?=
 =?us-ascii?Q?n5U7e8eqzaxpKjafKrkJ1ngIjpNg2FZuIuc/3t0OPOtZU7byxEw9UV0nj+OD?=
 =?us-ascii?Q?XJlJe6fYeYVRZp3/Kg2Gq5w=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 925c449c-2e68-4bc0-33b2-08d9e4a0a698
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 10:01:29.2247
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6uFLXzH3fiYzCFDsu+3i3CGnjAqrjS8ZRmX2EG2zF/e9uoeu2IzgH85lBpgiln119GeITr2u9waNmt/H3I0C8Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0401MB2537

On 31.01.2022 10:57, Roger Pau Monn=C3=A9 wrote:
> On Fri, Jan 28, 2022 at 07:48:44AM +0100, Jan Beulich wrote:
>> On 26.01.2022 16:45, Roger Pau Monn=C3=A9 wrote:
>>> On Wed, Jan 26, 2022 at 03:08:28PM +0100, Jan Beulich wrote:
>>>> On 26.01.2022 13:26, Roger Pau Monne wrote:
>>>>> --- a/xen/arch/x86/mm.c
>>>>> +++ b/xen/arch/x86/mm.c
>>>>> @@ -479,6 +479,26 @@ unsigned int page_get_ram_type(mfn_t mfn)
>>>>>      return type ?: RAM_TYPE_UNKNOWN;
>>>>>  }
>>>>> =20
>>>>> +bool is_iomem_range(uint64_t start, uint64_t size)
>>>>
>>>> Might be nice to have this sit next it is_iomem_page(). And wouldn't
>>>> at least "start" better be paddr_t?
>>>
>>> (paddr_t, size_t) would be better, but AFAICT size_t can be an
>>> unsigned long and on Arm32 that won't be suitable for holding a 64bit
>>> BAR size.
>>
>> Talking of representing the range - a BAR occupying one part of a
>> page overlapping an E820 entry covering another part of that same
>> page is going to be equally bad, I think. The range may therefore
>> want expressing in page granularity. This may then be easier as
>> [start,end], at least on the calling side (can use PFN_DOWN()
>> twice then).
>=20
> Yes, indeed, would likely be better. Then I can make both parameters
> unsigned long.
>=20
> I also think is_memory_hole would be a suitable name given the new
> implementation?

I'd be fine with this name, fwiw.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 31 10:04:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 10:04:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262897.455342 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nETYL-0001fL-Ii; Mon, 31 Jan 2022 10:04:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262897.455342; Mon, 31 Jan 2022 10: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 1nETYL-0001fE-FZ; Mon, 31 Jan 2022 10:04:53 +0000
Received: by outflank-mailman (input) for mailman id 262897;
 Mon, 31 Jan 2022 10:04:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Fky=SP=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nETYK-0001f8-0Q
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 10:04:52 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3a9bee0f-827d-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 11:04:51 +0100 (CET)
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur03lp2056.outbound.protection.outlook.com [104.47.10.56]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-25-UXUI84-WNIilPhF9Uu1izw-2; Mon, 31 Jan 2022 11:04:49 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by HE1PR0401MB2537.eurprd04.prod.outlook.com (2603:10a6:3:83::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.21; Mon, 31 Jan
 2022 10:04:47 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45%6]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 10:04:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3a9bee0f-827d-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643623490;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=k5JlUXmcB7MPs+D0hZ8LhjxoVuh7H9eAtsRXrzfMMzI=;
	b=diA+4n0kAEioKAwNHr4QY5nPhUklcnQ1omn6WBbgb1wryhevA+aN2b/DiS3VVLl3HBFIJ2
	gLqQbsMf1+lmOavlAWAjXIxfwnfq/942hMkgMKzVbA5cOcS2YCSEyNW0nG1c9zrS3e/cx7
	cUSTIaNM9+u332ANcOHI7eZGhvqVUAA=
X-MC-Unique: UXUI84-WNIilPhF9Uu1izw-2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OsT/UPaGOV2cU94fs/Znpb7ITsYn/Nf3DbhI1jkRQsA9CUAs7NeS0zCR6qsmNJvsK+ejILXYe4IKmLAZ2o00u9u58ZPcMcvtw/Zn575c8k65RvfSwwN6fdEIwP1qPJwjK5Rec0LYHk5yhxDAIplwwNPnuZVotiQxnRwR3gRwISr+SATJZhAIEA5C5I7abxzHoXaZPfko6VSgZvOggwsdHJrXKUp8W226Bbvmj7hSuV7p9NWYJajTc6TBU/q9yL8umItSaIN9VShPSGtOOoxzHvAJLRmsG5Y+tvJQZd4j8Tb/76ynPojakdphQ7Du088gRdU3Q0ykvReUFcOug1uW2g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=k5JlUXmcB7MPs+D0hZ8LhjxoVuh7H9eAtsRXrzfMMzI=;
 b=Le5E0bQ3nrFUZXl7XWRf//RqK+uPKAQp+dU5rJBHoy3yopjXs5NWDk5to59cxylwICFPtU2oWwjMfLTfk4ej+uOLpSObX5GydJcmvX8Kyx/0gGzRNewg+vrlhdwH6e/3D2W1hJmSof8EFLWXWCpZJrHSviWuMr8M5ifK92B3N9WTauwg1+9GNKrVFRDS2hhxfsAb2YUG5YlkzhBMwkCazuTKLSDQ2IeNB6L7d7TDG2kUNtwauHl1BG6c7qG9kldox1Y53tNbr2PsjlL1b0TAeAmXWmqbdJ+VZNpQTmZnpLtm9G9iJjOSNEt+uRAmqFzMAwRHO74mDWWbtXGDdsH7hQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3411bfd0-0e25-6e6d-9210-5f366e347702@suse.com>
Date: Mon, 31 Jan 2022 11:04:48 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v3 02/23] VT-d: have callers specify the target level for
 page table walks
Content-Language: en-US
To: "Tian, Kevin" <kevin.tian@intel.com>
Cc: "Cooper, Andrew" <andrew.cooper3@citrix.com>, Paul Durrant
 <paul@xen.org>, =?UTF-8?Q?Pau_Monn=c3=a9=2c_Roger?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <76cb9f26-e316-98a2-b1ba-e51e3d20f335@suse.com>
 <5bfc3618-12ff-f673-e880-6ea13bcf8fa3@suse.com>
 <BN9PR11MB52768DA38F476850467574438C249@BN9PR11MB5276.namprd11.prod.outlook.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <BN9PR11MB52768DA38F476850467574438C249@BN9PR11MB5276.namprd11.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6PR08CA0007.eurprd08.prod.outlook.com
 (2603:10a6:20b:b2::19) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 91db5135-63d5-4591-ebfe-08d9e4a11cf2
X-MS-TrafficTypeDiagnostic: HE1PR0401MB2537:EE_
X-Microsoft-Antispam-PRVS:
	<HE1PR0401MB25373E210A94039A471354F7B3259@HE1PR0401MB2537.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:
	jIbt7zWNhooFHLx6/94F1DiVQsfinQschZRAU/kIufqUGMo7YnOPu010dhlS94kn03Bkh7Qr7zHUjtOBikF+WqDr6ZpuPD9p7y+2oZ077jbYKOJvbO2q74KttiWS94TzEMm7BU1/z1WCQrDEGmms0Aq7vdl7E+H3ifz9gER8an+pS+cBmxMlLutHJZ7LY8iF++ek/YnaeZNYrAgpbdAfxQuQQi90ajkVKCE8i4hahoL6yugmXlzOCZ9kZXjfllC2ZTHnTIXMxYNs2jctOZgiUOndoeZTmACL2Ou4EWJrOb35VB8Wb9stN+sMdPSCgVDff1llrdrNuOEHpO91Xtu9En8hhKTLzBX38T8+zvA2en8wXK2eNBlkOvuxoqECRwI2hljmQHmD4PrHiueTsoMbAUnQJYGYiSvGTQoRmgb1TSOQKTxCHSGR7OjqMWE2Z2m1aLzIH3/OxQI6umcvHpWiqAhM50g0V7QODlHlfQpyS2GkYo146iDfib54keuH9K7/ahFnb+UuyWt+TsoPf7nQruTUE8C0TXxVYDlU6NG9PSY6zqpriqUvqrtNxd3fIr+aQQFtYqVRdiSiQnW4z8z6br4a7vGcephtrietVTmZ1z16KURbU0PBwLIp5PD6h3j3lq87V2dxTrrR0mlLdOWziJiSjf4jz2dZJ/P64tiwcLCWXEyFlQIC++WA6ZhCNo3+hjCcp8iJpfUPAH6tI+QTetPher+on1vu4npjqaYafyL7Fm7iWou5T77ebmXums9G
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:(13230001)(366004)(6916009)(54906003)(6486002)(31686004)(38100700002)(508600001)(6512007)(316002)(36756003)(86362001)(31696002)(4326008)(66556008)(66476007)(66946007)(5660300002)(186003)(83380400001)(8676002)(6506007)(53546011)(2616005)(2906002)(26005)(8936002)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R3NUMlRnZkNQM3ZpR1ZrUS84WU5RRjh5UEE5akJOank0RXEyaGtCSGtmekNn?=
 =?utf-8?B?MFp0UE1jNHNrVXVQQlJrL3R5cEdKdE1FMDFibm9wME1EbldNNDNMUENGbHlm?=
 =?utf-8?B?K0lCL2thK0RybGdvL0dKak1xZU00elIzMFE5ejBNQWt6cUpPUldPZm9JWVJW?=
 =?utf-8?B?NG5VcW92SzJsTUFCOU9MRHNvWXJaWnQ5WGFabW80RnZWZEl6TVJsZUdlZ3Nt?=
 =?utf-8?B?TWxwblhId3MrWmU5RmJOY2FBNDQxVGkyWFp5cE9ySGM2d0RFajlkZHJpaU93?=
 =?utf-8?B?VHN1ZzF3M0VldnJwb1QxZWZEYnpuaHJ0MVVVc2d3MmxnWTU0dDVoRmVMaVNJ?=
 =?utf-8?B?R1lSRVJVTnppK1N1RUl4TERaZE1Ta01PNml1aDcycWQvYjZGZ1NEaTdnc3JI?=
 =?utf-8?B?K3EydzhXTm82LzMxczBNQ055b1p6N1NyRUQ0MXc1ODhNM2xFdGFlWm5CTXpD?=
 =?utf-8?B?NHh5akRhUk8rdENkcGkwblFkNm1jcGE0d1h6MTY0cWhqZ1ppS05uVCtJelJq?=
 =?utf-8?B?ait1WVRLYU1VMmIxVi93S2tuZ09zbHN5WkkvNzhnc01YZXpGZWw4VlFBOEdB?=
 =?utf-8?B?VTRQNHV6SEdManVBdGhteThrTTA4L2lkUTBIU3ZCZk90aUhSUFc4YWtSeWI0?=
 =?utf-8?B?NlhMN1ZzUHhzWkF6VnFLeFZBYWZqQmpXem0xRDU4WEZWSHkxU2xRQ2hCdmJr?=
 =?utf-8?B?OS9CdjlPdmlJYlpUYXR4TXZvTHcrTHpWelVFNEhzVjE4a3BXSlhJMFZTWnJw?=
 =?utf-8?B?WTkvUXJTMmtsTTJNcEVFUEpSTFBYWUR3VDhnbHN2UVMwZGZjUGxBWUR4RWJE?=
 =?utf-8?B?VVNBUkZ1S25ONW83M3hMcE11RHNiZHhjblBnYjY2ZHpmYkFzb3pNL2NQZWkz?=
 =?utf-8?B?ck4vOWVEMU14bEVRWldqMU1mbDJ3bEdjdDgvd0Q1WWc5Z0JyZzlkZ2NGdTZJ?=
 =?utf-8?B?RHhrckhjMVJEMk5BZ0hNS0dtSjlkUllpL21sQjdWRVBCWHU5dGhRanJpNGRs?=
 =?utf-8?B?Z053eWh1KzFVNmJnbHk3dStHb21aSDQ0YzREcVgzQlI2cURpd2ZUR3JIVk1U?=
 =?utf-8?B?M1NPWWcxNWYrWXJtTW16aTFBUWFzNzRESXRxSEg0NW41NDZyZGF5Tmw0bThv?=
 =?utf-8?B?VWUxUnF3OEJjR3ZTYkozZHJqWHR6OVRuNXphd2s2SmNlV1NPQVQ2USt0UVZW?=
 =?utf-8?B?enlVVDkxM2IvWiswelNpVnpNZEFRamVqREMxZmxIZFhqemIyVk9pYk1CRkU1?=
 =?utf-8?B?WmNGcDYwL3F5VEtMaTZwT0J5akZLUXVWSE9OSVNqTG9qTzdTWHVMb0luVVMz?=
 =?utf-8?B?TVdBTUJoQlZuOFVncUNFZlFMeU1wc3NuK25OeDZ2bnhSdXluTUIxREpIb0Zv?=
 =?utf-8?B?MVh4dmxId2drWVgzZjlmaW16V3A3ZGpoaHcxOVpNd1VZMS96N1ZJK2d5blpJ?=
 =?utf-8?B?d3JVRWcvdEtmWWRuYjFGSmZabm1LMm04c3hDR0wxejR6VVMyeGZXZm1rR0NF?=
 =?utf-8?B?VlBJOXloL1lGRnlvbGd3dXA5RVZaUldyd1g2QkVvZVRBbnd2emg0OHgwendW?=
 =?utf-8?B?QlVWWE90dExXQk5TbE9ERVJIWTE1bG1IT3gxeEo3SjhlY0xKd1FLbVU2eHpK?=
 =?utf-8?B?MTBMangrYnB1QjhsMFFjTG5GRW4xaGZlYU9kTHB2NHhBU1NocVlkK3ZPN1Vv?=
 =?utf-8?B?cHVCdkFlRWx1NW44RVpzSkE2U0l6MlRYOSs0akw1NTlNUU1oc1UzWnRnTjdN?=
 =?utf-8?B?N2NnVHJZSDRJWTRPOUI0NVRLRmMrMTRWU2JnWnp3RWhYVWZ5TldDdUxGZ0NB?=
 =?utf-8?B?RFY3ZWFVdGtiaXZVbCt4ZytnR3VUeVZrWU55S2t1YzU3andRZ1dnWVRlM00r?=
 =?utf-8?B?QmZBQXBFaUtaTERDSFRGN0phMFhaaUhpNU5ObWJNenlwdjZZcWU2bUY0dkVZ?=
 =?utf-8?B?V210WGJWYkhCTCtyeU42MVA5VWEzTXgzQWlMcHN3VCt2Z0xiSEFFYWZ1L3lj?=
 =?utf-8?B?enlTZjJlYlZ5OEZseW9YcXUwZlBuUUVzR0xQQlVtOFBFeE8zdHA2bXZJVm9E?=
 =?utf-8?B?N3BHN1lWaVJ5T1paUVMwZ1ovREdydjEyZ095SXc3dDdTdnpma1pTb3F2UVh3?=
 =?utf-8?B?aDY4WEViZmZkeFZ1S0lkRzduUk52bEJLbitXazhZdmk3My81R3hwZmxQeVAv?=
 =?utf-8?Q?MGe2q1xX00OB7l94Q90r69o=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 91db5135-63d5-4591-ebfe-08d9e4a11cf2
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 10:04:47.7435
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: PkZjF/mHOACL0UrVHuqEZwJtcHzOPrtZ1KM2m1VYxpsKoVGvSaYk0OtgT8ATFxF1Un1OAtb3qFLuaYPsCuCZxQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0401MB2537

On 30.01.2022 04:17, Tian, Kevin wrote:
>> From: Jan Beulich <jbeulich@suse.com>
>> Sent: Tuesday, January 11, 2022 12:23 AM
>>
>> 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 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().
> 
> I think it's the right thing to do. It was there due to multiple callers
> when firstly introduced. But now given only one caller mering it
> with the caller to be symmetry makes sense.

I guess I'll make this a separate change towards the end of this series
now, to save me from some rebasing of other patches.

> with or without that change (given it's simple):
> 
> 	Reviewed-by: Kevin Tian <kevin.tian@intel.com>

Thanks.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 31 10:15:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 10:15:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262903.455353 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nETil-0003H5-KH; Mon, 31 Jan 2022 10:15:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262903.455353; Mon, 31 Jan 2022 10:15:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nETil-0003Gy-GH; Mon, 31 Jan 2022 10:15:39 +0000
Received: by outflank-mailman (input) for mailman id 262903;
 Mon, 31 Jan 2022 10:15:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Fky=SP=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nETij-0003Gs-IT
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 10:15:37 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bb1a8cec-827e-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 11:15:36 +0100 (CET)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2056.outbound.protection.outlook.com [104.47.0.56]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-9-tGfz8cQvMI6h0F_d_HeNwA-1; Mon, 31 Jan 2022 11:15:34 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VE1PR04MB7406.eurprd04.prod.outlook.com (2603:10a6:800:1ae::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.21; Mon, 31 Jan
 2022 10:15:32 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45%6]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 10:15: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: bb1a8cec-827e-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643624135;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=A4cgaE2+3en0zvdAOuSnhC07PIijow6P6IJj2CJXHmI=;
	b=ZjvSSam8IsDAdthTLUT82UiFFjbJigmnfsbqANVDnE3NZu/sO8sWktyVDioFVlXuz3zlCf
	0KWkgx1nIXRvb84aS+P6tO57nXjJrx4kgPEXdAYOFxvS5QgWag30k1QRb48cwdcUel6v7X
	dyiMnjwzbhtfpxrEki0EziFEjFxBqgg=
X-MC-Unique: tGfz8cQvMI6h0F_d_HeNwA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AUWcxRKrYgB3ICw3Yf47HIJS/o8LHr5WL485yej7Df/bPet2rebokHCrTra7DBJzgFG8LPuPSFi6QlG9yYokiJADwr4mpySrn3+HjQhs054bzkddwgkgVAI6QeyFPG8xAIOAFZepeXs9f1f3+6hUgJ43r4wixzCFw9Xh6lD1aR/9098/U4Ww0k9XRVVgdcq7KtobySCCidKqgGSoWMG1h/itmqT/SGsvm91CDKo+Xvl7u1gEueqsYjKtFeO2/dY+3uer+VIuWwSQx58+UNe312zLH16VRVQwzvTRKI52HXeav93U0tAZ8EOONK5lrMIDAbRqhrltd9SwLRD1WSTGWg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=A4cgaE2+3en0zvdAOuSnhC07PIijow6P6IJj2CJXHmI=;
 b=jIpxLMsy33ayRCS2GboQp5QwpVuCTqyVtgzA7mCYCPo16dpBe3+nhZLgilMlIAY4FCitQiGNtEOeddgKd0qD64twKXkdIkicwblrRdLXAj5o+zn2k24/f1V3oWd9qxBzaRi4/mczV8l6wu7TjNLdPOmNs5MAGXBiwj3MzzIuByzm1YdEr8P151vS/2rHp1pZoR6OXVMuXU1bzoFFlVnbyz3wdWhnDwgfG52Py4RTPMmAgbD9u4UqXAN9cbmLfps23F9XZNiVuSfVkIq9K1OyAVbP5nzlduRI/3rGldN7BfghAStrKWRtnsfRDfl0ONSM4UFL7q1QDiPOW44u894gbA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <23ac2bed-9ab4-8b4b-2861-3362434dea61@suse.com>
Date: Mon, 31 Jan 2022 11:15:33 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v2 4/9] x86/spec-ctrl: Don't use
 spec_ctrl_{enter,exit}_idle() for S3
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220128132927.14997-1-andrew.cooper3@citrix.com>
 <20220128132927.14997-5-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220128132927.14997-5-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P195CA0019.EURP195.PROD.OUTLOOK.COM
 (2603:10a6:209:81::32) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9c4ac7a1-037f-4fb0-1d4b-08d9e4a29d35
X-MS-TrafficTypeDiagnostic: VE1PR04MB7406:EE_
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB7406FC44CF72B85ED16E9A05B3259@VE1PR04MB7406.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:
	w0rHSvyfPkNSkqJarBqclrxXSsuANtCyLz8Dkk0RU2zm+z1L//PdMQVuAr532PXRmX+ymRk8YcNt70lp9UObQmr8RfOQE5O3F/pAqzdi0H+gYouZVqM3ijVC59BzwFa68yXEzBpNSNEQM5De17rdXQK67dcOgddkJq7IOAlBoyG57cPUaXR71i4bUvWDPRsFCheq5ysSrrwJMvUZ2rk4Ya2KQyZxHfGvpzj715u+xo6cAvt2qYwFO+p3HakmCqtU0ybDwf37wefg6jwvEde1Tnwn/Qm2GLr91f8PZO2BSiaMTUWEMIAgf2g6ErwREuromLgumyLgGM7K2Tc6P6KuWTrS55XoKK5GJxkigWVpGv+SEtvlGKSAxtIn36R4p8TLM5slMA4q9PBVajK9LMMt2l98jRrZ+coShg3zXvXqM9tDvS/YbnqJ/PgFjnl7mhpl6DCzvGdmjp1t0ovCbGRYQkaHVfMxIWErXmx+WelnOT8wHERYeANR1eKCC+niW2wPPpLek4GD5TxpK/RmHY+ATR5Yuhdb7ZLaRg6rAWiGLkgZozzJdQieB1B9T6OE56X8N9yuf2lnekiXkcM2CqTSVMuZZlI9u7P1XmCZW4mCjjtrdF1aYoN75dTFBrPSAyAefeXh3YUiNVPO/8Arjo4ToBQYbptGGfficV/cB41NZTc8aijrppTEBw6l1QZUDOya8QIMo1HCuJqxrs/bxbyCyext9yhEDsOtzLIGRJkputM2ahP+Zo9jbxM1JTy9ZpR+
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:(13230001)(366004)(36756003)(2906002)(186003)(26005)(4744005)(508600001)(2616005)(6916009)(316002)(31686004)(6486002)(54906003)(66476007)(66556008)(66946007)(5660300002)(6512007)(53546011)(31696002)(86362001)(38100700002)(6506007)(8676002)(8936002)(4326008)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cnN5amM3L3VrOXBtQkp4UE44MGY5WlI3TmlNSnJReHpOaC80VFBuK1duZ1Vk?=
 =?utf-8?B?R0hiREdDUDNCR24xSHNhMGxLOFBnVkVPalQ4M3pGUTV3SGZnaEkwNGxZUWJN?=
 =?utf-8?B?V3k4YkFxbFJjZDZuYmN4N0Nwbzl1MEJNNjRNdCtrbzUwa3RBOTFwZTRSQmg2?=
 =?utf-8?B?elhPbDV0amFHd21reUJ0Y21paXlYN2pzNEhvMXVwOEIreVlFd3lQd2dsRUU3?=
 =?utf-8?B?S2Z1QzNncjl4OWE1bVhVTm5raVhwN2R3ZHljMVYwWHE1anlJVG9aY3ducWwv?=
 =?utf-8?B?alBGaXRlUEhxa2ZMdTV5cHc1RWNxcFlmenRiM1NRZWg2S0VwZkpUdW9DdkE3?=
 =?utf-8?B?WU05d3hQUktKSjY3L3hWTE9FWnBXbnFKeUIwOXNTeDJJalVxNktXR0EyN3Bh?=
 =?utf-8?B?VEQvd2d0KzIzNURwa0FZNjY4OWxzQ0diTlFYNUF3Nnl5RDdkaGQ0N1gyWFdX?=
 =?utf-8?B?QXlmdEUvTWkxeVhkcnl1OGpNVksrd3Qvbk93SWcwaFNhaGVmSVdTSU1OSEhG?=
 =?utf-8?B?UmZYOWNVMW1LNkhGMjN1MVdwOVlPSVl6N3BJMnpTRDBScjVBNHF2b1VMZ2RC?=
 =?utf-8?B?WlBCQ29kU2ZNRnQ3YXZCMUUzYTZETnY0dUR6SXU2c3YrUHFiQ0lJSFgrbWNS?=
 =?utf-8?B?QTNGcjE5bllRS25DY0dqNlpmak1EalNLK3E1U3BoRFNkU3JKNFdYOWFaS01p?=
 =?utf-8?B?dngyelVKWEd2U2tNSzk1RC96aVpnTk1uRVd0dDRISk9OSTNnMmFGU29OZmts?=
 =?utf-8?B?NTBCOG5reEZncS9vSEJ5aVhtSUpZb01YWVQ5cW1CTllWWDF2VEtFaENVVEZK?=
 =?utf-8?B?SjVtUVk3ME8zVFJidlNkNmNORmprb25ha3NoaUg5M25INkdKeW9oRFNjakJs?=
 =?utf-8?B?aUpwRUNTR2JkVElHMjFIWmJ1YzFyd01zcGQ4a3hHM0hNOTdHVCsySWd0Y2o1?=
 =?utf-8?B?QWlDMUx2bWM5RzhtTjBreEZQeDcyTm1Kd0lQYzFRWDR6aWRYTS9pcjM5cUdt?=
 =?utf-8?B?b0gvQnYzVkMwOE1oSk5WNTlRTlNXekN6UWxJWU0vZGJZMkV0VE5qWTdqWWNt?=
 =?utf-8?B?VzB3R01LUEJPb0NzNnZWWkRuemdzcHEvN1ZMZ0JxVTdNeTFyaE5wU2xuQnBV?=
 =?utf-8?B?YStUQWllQUVPY1ZFRTE3WVJmbDRJY0l5dlFyWFUyZEl2YzFnQ2hvOVYxN2tt?=
 =?utf-8?B?WHNlUE5IR0N0d3lxY0VwdHZQUzRUMDE2VzRHcC82OVRJWnpqeDFNQnhTS1Ru?=
 =?utf-8?B?M0daUE9ld2Z1M0hYWW5JeFkzUFlaazVoYVZpV0IwREU0TlN6U2sxZ3BHM1Nh?=
 =?utf-8?B?OWcrUi9pN2hhRXNvMUxtK3VnQktmMHpMaElxandpaENGQ2phYStQMThVZ2lp?=
 =?utf-8?B?TEY4ckV6TGZPNGpyejBFaWNEMEdMbCs2VHNhQ0IwS0dTSll4a0FEN3FyV0Iz?=
 =?utf-8?B?SU83TXhRSU9VMWVuam8zQlByaVVCVFcvaUVBeFNNSFZka2tvNkw3K0lhNTdk?=
 =?utf-8?B?eGxFSVlZazFEcGJLV3VkWVF5U0dOeWREZ2JSQzNhdzNaU0JuNmlIRWhkZnd4?=
 =?utf-8?B?OFhPMnFHemw5VmJOZVlNTWh1UGttbEMzakgwWElpWnJDSXRsQWc2NHBZQUpr?=
 =?utf-8?B?Q2lUeFA2ZE9MaGcwQmdLSVpnQUx0dStpbGEraU9OcHJJdlQrTDEzc1c4Znlt?=
 =?utf-8?B?b1ZwcC8yTndISnZVVnBuTURLQTZ2dy83LysyZXlIbnkwSUVJY0gyTnBueHR4?=
 =?utf-8?B?bUhXbXJjT0J1RTNNbElKcDZkUEdrelQ2bHU1cjZXU0xJc0IwZ2ZPbUZydi9D?=
 =?utf-8?B?RWRacTFBdjFldXNKVkp2RldGWlMxTjg2SjkvTzdtelR2blYvUHVsb0o1OUly?=
 =?utf-8?B?WHlBZ0JPQnJ4V1VmSmhPaFdFZTlwM09Ucm5Ic0FJTjUrcFNyaDhzWTZTbHhs?=
 =?utf-8?B?end5eXN3YlJVL20wbUNxUUdSN0dmQVd5cVkrVTRoTmZjSDQyNWNvTkR2cElV?=
 =?utf-8?B?amxNdFR6c2xZaHd5azBkeHRubWhZNFh2R1dJZnhTRHdPcnZPQlljWVg5OGNo?=
 =?utf-8?B?Z2h2TlU5WTRsQzR3V0RCSnRlWEtlZTZrMmQ1MlBTSmVSdkRrTG4vbTV6Zml5?=
 =?utf-8?B?OWUwMElKWHA2bVhkT2JuNWZxQk1Kd1F1d2xRN2RmMHI0RXhpTUlHQWJCWWVo?=
 =?utf-8?Q?0zaEZ7iV6MXYelGfXzGlqjY=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9c4ac7a1-037f-4fb0-1d4b-08d9e4a29d35
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 10:15:32.4068
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: a/zY1wF1gAufpC5COfiwD8DzoqjlR9BPU3rT4OpFwYpeOi5FFYTeXByH9ONxd0m3+2CwsCIB/G3PhyyfdmI+iA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7406

On 28.01.2022 14:29, Andrew Cooper wrote:
> 'idle' here refers to hlt/mwait.  The S3 path isn't an idle path - it is a
> platform reset.
> 
> Conditionally clearing IBRS and flushing the store buffers on the way down is
> a waste of time.

I can buy this for the flushing aspect; I'm less certain about the clearing
of IBRS: Whether the act of clearing is slower than the performance price
of running with it enabled is unknown, I suppose?

> Furthermore, we want to load default_xen_mcu_opt_ctrl unilaterally on the way
> back up.  Currently it happens as a side effect of X86_FEATURE_SC_MSR_IDLE or
> the next return-to-guest, but that's fragile behaviour.

I'll assume from your reply that you've adjusted the description as well.

> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Preferably with the statement above softened a little:
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 31 10:20:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 10:20:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262910.455364 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nETnE-0004ks-Af; Mon, 31 Jan 2022 10:20:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262910.455364; Mon, 31 Jan 2022 10: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 1nETnE-0004kl-6r; Mon, 31 Jan 2022 10:20:16 +0000
Received: by outflank-mailman (input) for mailman id 262910;
 Mon, 31 Jan 2022 10:20:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Fky=SP=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nETnD-0004kZ-5y
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 10:20:15 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 60ca556f-827f-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 11:20:13 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2105.outbound.protection.outlook.com [104.47.18.105]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-39-HaemqptvMPSjPkFU05fyRg-1; Mon, 31 Jan 2022 11:20:12 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB6831.eurprd04.prod.outlook.com (2603:10a6:803:135::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.21; Mon, 31 Jan
 2022 10:20:11 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45%6]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 10: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: 60ca556f-827f-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643624413;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=yvrJp6ijHcBVRTAQYTzW44VhUrzcp4P0tZMksR7l+KI=;
	b=BAmAoquwNieWUuCvO6nm6ImNAatXM+Rypzix5bC4+RgjrRwsbB0LbU7vDvY1J8sZ4zwQZ0
	6UixDO8iIcqbX9l8X7bzOugnlKVAAnzIlFW95K35PfXmT9UFJmhGES/Rxb6DkUCkXOcWfh
	3Y56Dbqw6j/ka7Y6GlsEcXpfIzvDkFQ=
X-MC-Unique: HaemqptvMPSjPkFU05fyRg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iQZgXDHyrDXTjxLH2LfaSiWX95FmYUxIECYGadkgsNyC0xZ7VGsTcamK4YRBiKiIEKssLwD+dFE3eIAzYbK/2zsUuvB/P98WrWSlkwPKXyB4OxOJr8wlcpGe/ScEJcVmr2GrGZzY/aFgwE9Oz5GsS6vVM7XIAKM1AYRI9szh2tlhB6SJVO9L3mBfH4QjvzIwCD3JLI8Y11AT4LwWsKznwMTKRuZJWCL2ZrUaN6hMEfbVgvaVYr9LFmFA8xYBfj31kQJBUNGUy8Z7uqJvPNVLGtFJNE8pjiwDE1U2gVOWFAo9IH33b+K6QOX7R1AAGqgtBUX2EV4AtL8YYLA8MSE9MA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yvrJp6ijHcBVRTAQYTzW44VhUrzcp4P0tZMksR7l+KI=;
 b=H4SM0OtHWGSswjwqUJBjP7UvuE4akXSHCKDe3d0bawOjQwCqIkHWOheLdDVzW2Er2vcKNiCZz/EotAR0Az6PnWwZH179VY0lhazfkZKg1U3XLt0h7nyO7mJp/rOSIZFOJZIGveg6vD8dxDrcuJpZi5j48xo+tWdXAwsCRNInJAOp90CQ2XYQJks7lqbJShyWq334w3Ez254+18rm/Olgdujpiv+MeRNBzT7CgZaqB2BAR3yo2QzqX+X/HZ9r0nPWLRDPj2ULLUxqxaohMV2QEJ7dMa8Vv3Z3Uayic+IDdRo07qGfI37ER44qOgaS3pY5XTP4ZLk3i8hTm2MKZQnDiA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <18239ffb-058b-8790-be3e-0951d2d6ae6c@suse.com>
Date: Mon, 31 Jan 2022 11:20:12 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v2 5/9] x86/spec-ctrl: Record the last write to
 MSR_SPEC_CTRL
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220128132927.14997-1-andrew.cooper3@citrix.com>
 <20220128132927.14997-6-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220128132927.14997-6-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR04CA0087.eurprd04.prod.outlook.com
 (2603:10a6:20b:313::32) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4a2340d5-cbf5-4f39-27c4-08d9e4a343ae
X-MS-TrafficTypeDiagnostic: VI1PR04MB6831:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB68315495CD5E8B94FA40B25EB3259@VI1PR04MB6831.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:
	n+lNNPFc2HUGV4rgwKQzxSArKuj5eFG1cTubmndYfcjjIIdhDZVfj06Jh1pjSldEN13fn1nRHJW8DCfE9DuGvdhnlmkAq6l76b/Dz0/6IEj7nHEKh3+Togzu7fhBPh7ETQmsaYaESYz55elgKDtGzhVDj4Y4g0C9qyxuWDJJxG0+u5ffVPjgF6xrPRBdGZ9R1Hfqc3ShG8i7dnH8jx0ecd8t3ybwhEPCBBS9NIgFReNHvtZVRxREg3IkeFJrKBHZQJ1GfD1+wcnPOG+keNYelY41vLjLSDeRAgWuEIN6w5pnvFPq43Jr+RP0pT/W3+MeYolWMnrVeL8B6BGYRmLLZeMTvPPVCMKKJtZ/v47/Skvsn7QzTcFsWMzXF/wy32p+AhnNX5dGCzm30L7rbcop1vmNoIuWD3k//mhA5JiEeuYF7mLGRgIrGmbV5F74hBolGuZQyFDDp36LaFjpAaWU6hBbtTTnE/kNLJa5lccrZXHxa54RyHNsYRDEw/+5/N2ZhndBEq/0/CDqoxqgc6Ma18AsoXqNYHT6+dLH0rutntRSJ25Y4ZNlhxZnPVhtjxtYvRWl5Vyt0m35d1T+/52I6M6Z8XTootcQlUu/2e2jLdRvxPuvyGaRuLG2E/5ils2YTJEn5SODak3QTb+sB+VvJksiE2q4v/phYKanH6TKqnMpi1VQz7Xj0tjKi0/s9t2/DZG1pw0xVF+B3GCWS745HEjVD+wRvlP4NqY9J+ljfuE=
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:(13230001)(366004)(5660300002)(6512007)(53546011)(66476007)(66946007)(66556008)(6506007)(4326008)(8936002)(8676002)(38100700002)(86362001)(31696002)(2906002)(26005)(186003)(36756003)(6916009)(316002)(31686004)(6486002)(54906003)(508600001)(2616005)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QkJKdHJsbFJhOThrb25Rcnh1ekwzNXN3dnpKWDRhY1Z3RlN0Qm56aUdtWmlq?=
 =?utf-8?B?bzM0V0ZNbS8zZkVLTE9PcC8yQkdYQjNyTlhGUEJIcUU2eTZDYlhPM1cyck8w?=
 =?utf-8?B?bVpOL3JBcjZpWEVhZ1pucEVvaTNQSHFob0NuRWh2V0tCMlNwRzBEYjNQRFE2?=
 =?utf-8?B?cktXdWszbk00WlFGMDNUYi8xdEd6ZFlHKytMMWJBR3kvcHIwV2o5em5NSlZQ?=
 =?utf-8?B?MXp2c1VCWTh3dlVwNXBNd2x1Tys0eERja3BuN0xQeWZxN3FZaW9USDB2TXZt?=
 =?utf-8?B?ZWFWY1JZOUQ3N1FxR2hwa1h5NWxobFZBVVhvOEhLbzk3MlFtNzhvUWxINkxx?=
 =?utf-8?B?OG9TM01XNXYzYnV0TG5KN010UFp0U2I2cmdhRlh3T1VoMWFwc3F1WlBEVlk4?=
 =?utf-8?B?ZC9WT3dnR0JML0s0WnRrYStkY2F0RnF6bEYvSmJwWEJtUCtiZU9obmkvWmQx?=
 =?utf-8?B?QkVSTFJDdlZSc2E2eGdKeEJUSDg3RjhFc0dxbk5CMnM5anhZeUJ4ai9wSWMv?=
 =?utf-8?B?cG5ManBEVDN2WVVrQ0J5K3lndy9tSkNDUEliWFhleStDSmxJTWVoUld2K0FJ?=
 =?utf-8?B?dkM5cDAyc043MEJCZ3Q4VG5kZFJCZ0tOSXE3OU10SkVQWEU5TGJSbVp6UW9h?=
 =?utf-8?B?alUwRmV1WG1hRGpTY3RTd0w3d3FZSm04TlBqbjNCdndMbUVKZVJVbElQQW52?=
 =?utf-8?B?YVlyaXZ4Q2NZQ2xtODFCYkliNlZ4czN5YXhNVHJ0cEtuYlUvbVQ4OEtCdUFR?=
 =?utf-8?B?S0FmeUZOU1J1UGdPZjVpZkJML3ZkYWt4Rmxid2FYbVNRdlMremdiQW8vdVcy?=
 =?utf-8?B?cy83Q0t6QWlEZ1hOUURMWUFHcjRrUE5VSlNFQWtndi9Fb0U4dHFkVnlYcW5i?=
 =?utf-8?B?bjcyUXNHek01WEZSakM1T3VUZ0dVaitMRHRUUVdiMjQwK1h6ZUtDU2xVYVhU?=
 =?utf-8?B?RmMyc05PSy9jTHJmR3Avdk1UcnNwWTBZK2dteDM4THFLU1hoRUhTOStSVDJB?=
 =?utf-8?B?OHQvS3hMY0toNXZqUXpJSGpod3Q4UWp0Zm9RZU03em5LMXJGeEhCUXpzckNs?=
 =?utf-8?B?cGx2dzNqYWMwU1o4MWxjemwrUm40MFk1aHl0SDg4OGtRSWdVNUdrMFh0Sndy?=
 =?utf-8?B?dzlWclFqM2g4N2ZFeHY5dll5QXU0THBGZ2l3Y2ZGVlZ6d0hPUWp1YjdUNDZO?=
 =?utf-8?B?UHIvVTNVcnI2L3plamgvaURwZjB6dnZqaDZXalptUjNJc1M4aEFsSmlUZGl0?=
 =?utf-8?B?dmFNeElBdnFWbkYvMTJGdGszdndka3MyS1dLVnQxQk9NSnd0V0NBNGFPQ0Fw?=
 =?utf-8?B?bEhYcmZGYmtjcEpjMmhsVkNsRHlRNW9va3BkbnFsbW1lRzdkQTc1YXNjby9r?=
 =?utf-8?B?UzNla0IrdUNUSUFWQ3U1QUIzN1ZzbW4zRUNBZjBaWEk3TTVtK3ltb1lGcngy?=
 =?utf-8?B?RUhrODY1dk5ocDdMTzQxUFgvYUNFUDJYcklBWnFadVJ6dTJuaGlneVMrekhk?=
 =?utf-8?B?bXdhRFhqYW9UOUtPSm1MTkFEd2JWTFlXQkpTK2Y5UThwQTkxNnRUTGwrMFJr?=
 =?utf-8?B?T2hsZjJrc1FrL3dBems2VVBsTjVZbWptWWpSQXJHT1VoLzhXaHc5eXREL1Fv?=
 =?utf-8?B?N0kyTmhpZk1aQjhZb2ZrVlVqeHRXSTlQdjZBLy9zbTNEVkRTZEpOM1VML0ta?=
 =?utf-8?B?cWQ5STBwdVBUTmRNYzBBdkdhQlozdlcyVFBQSjgyckMwd0Q3NFZUUUI3TWpq?=
 =?utf-8?B?cmczd2xQd3pIUWlzRTJBMlFHZU9Qb2RPV3dYTDJQSVV6d2JRWU5pSXY3RTRh?=
 =?utf-8?B?cm1MU0Y0U1N1RllJOWtValV4eGFTTkdocjhtTXBNemVUNU9wVjYvOGJwYmJh?=
 =?utf-8?B?UEFQY0NmYjJMQU5NV29NT3JYaWZuWjFiZ3JpRVhaVkV3Q1dsM2RrbG1jdnJm?=
 =?utf-8?B?TXlFeHVKWDVpZTNTZmdac0UwV0h1SlhUb1NuUjIrNkhBcTVrbFVzSUdSOEMz?=
 =?utf-8?B?czMzc2lzVnduUWFCcVkvUXhlR1Qvd0E1eEFBR0FtWjREV0Z4cVJJMUZsbnZ0?=
 =?utf-8?B?MFk5RGdYMkNadzkzYTRuZ3BSRU1pWnRSYUJjM1BsYm11WFMvZUtjbVNST21J?=
 =?utf-8?B?cEVoYWZ4dVVUWWxSMGhicUJKQWE4MFYzdWY1ajRVN1M5Mk5xV2pkaEdxWkRu?=
 =?utf-8?Q?6Fwm0FQADk8VV8wUVZHg+tU=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4a2340d5-cbf5-4f39-27c4-08d9e4a343ae
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 10:20:11.7643
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: gFUQ1rshB+MPEhzKLNheD8/uOj8reoraG23eIvIY89wyKkbsrO8KKXjxeFblGuneJcQqwLgUUe/Lbc0R/4uEbg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6831

On 28.01.2022 14:29, Andrew Cooper wrote:
> In some cases, writes to MSR_SPEC_CTRL do not have interesting side effects,
> and we should implement lazy context switching like we do with other MSRs.
> 
> In the short term, this will be used by the SVM infrastructure, but I expect
> to extend it to other contexts in due course.
> 
> Introduce cpu_info.last_spec_ctrl for the purpose, and cache writes made from
> the boot/resume paths.  The value can't live in regular per-cpu data when it
> is eventually used for PV guests when XPTI might be active.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Technically
Reviewed-by: Jan Beulich <jbeulich@suse.com>
But ...

> --- a/xen/arch/x86/acpi/power.c
> +++ b/xen/arch/x86/acpi/power.c
> @@ -296,7 +296,10 @@ static int enter_state(u32 state)
>      ci->spec_ctrl_flags |= (default_spec_ctrl_flags & SCF_ist_wrmsr);
>  
>      if ( boot_cpu_has(X86_FEATURE_IBRSB) )
> +    {
>          wrmsrl(MSR_SPEC_CTRL, default_xen_mcu_opt_ctrl);
> +        ci->last_spec_ctrl = default_xen_mcu_opt_ctrl;
> +    }

... wouldn't we better have a write_spec_ctrl() helper doing both,
perhaps with the check-if-same logic added as well (overridable by
a "force" boolean input, unless the cases where the write cannot be
skipped can be entirely determined from previous and new values)?

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 31 10:25:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 10:25:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262916.455375 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nETsd-0005PO-VC; Mon, 31 Jan 2022 10:25:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262916.455375; Mon, 31 Jan 2022 10:25: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 1nETsd-0005PH-SA; Mon, 31 Jan 2022 10:25:51 +0000
Received: by outflank-mailman (input) for mailman id 262916;
 Mon, 31 Jan 2022 10:25:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Fky=SP=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nETsc-0005PB-Bb
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 10:25:50 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 289dc2cc-8280-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 11:25:49 +0100 (CET)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2058.outbound.protection.outlook.com [104.47.2.58]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-13-DwoB-fMENKyyZJ_g6wpdfQ-1; Mon, 31 Jan 2022 11:25:47 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM6PR04MB5141.eurprd04.prod.outlook.com (2603:10a6:20b:c::26) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.21; Mon, 31 Jan
 2022 10:25:46 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45%6]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 10:25: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: 289dc2cc-8280-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643624749;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=uCX8xF9FVUPpcbKKhu0HL4/O08CoxLxbKuHiVC4DxqU=;
	b=bla+Cyzye6UsPkb7dgl6r3nqu3BgGleynxZjCU2RA2uzfWsuxyQ9nPuyaPOSwAQydfffCf
	yvZP6AIXiHpPmqE9Jb32qoBJG6LpjrF3f3XwybEXSvFCICEWFI3PKRMjDGxY/pXId5T/+G
	tt7+1+XMhFxbbJzGoH+Qk0ScOvwBADw=
X-MC-Unique: DwoB-fMENKyyZJ_g6wpdfQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bw0/y8FNuNuWZ8m9ejuUICez+i5a/2ONCOgPswLKIpSit+uIT1DUn4xFL9CeSPWZeHKq5vckHIrcW9aZgIH0Zzt29ONlWjccwDGPvUoR2qn7nmP4wSo3Ucdr/BueXPixit54n9WA0NXNUwsUKfzWfwhSh4xWoZl86hnKrI4aFplxfe8FkWqJtrsZn0R53i4z8qL/zkWx2s8mrq0nvPR7ZD43Ju2iIFrbRynKpb/gxsXnX/nUEZAOcmx9QbDAIp2qYHJP1g4yNu9QKsMwbEIGPLdxsNfbw5f+Ss1Xz1fT2ZvIOgWYhJ127em1AL96GLCdBekhIp7/LFoxXyqyhhBTrQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uCX8xF9FVUPpcbKKhu0HL4/O08CoxLxbKuHiVC4DxqU=;
 b=mGaWQS1PPiNA8w6Z8O4xRYAu6NfdknUblqm3cEtiN/1KvFLiJkxw5pJd4SyFhL7TevR4GriAXCNV/Zdi5MdrYVc4Kg2Z9L6kwTNnSVh5GnVkAH7/giCGPcFrYNf8aKH3zC9P929RmglAuqDzUUX9HT42e3Wxg0ea3ALtpWnXNfErdn4BxJtdaPSfpS5p1lqORfah9xmzeUgVyEqH3p4F1N7tWtUitcxlohnsOtmjjolQs2FHuub062CrhA3ATT7IJOgEC+mx+r9SF2FvguA3JL3L40ryEJ6VONtTtNlsjZ3aXsKjATD6KCJU5ihMo9sfM5MqdNfDhm7D41lhanmBJQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a2be488b-2d32-4450-9475-3372815e3ea3@suse.com>
Date: Mon, 31 Jan 2022 11:25:47 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v2 6/9] x86/spec-ctrl: Use common MSR_SPEC_CTRL logic for
 AMD
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220128132927.14997-1-andrew.cooper3@citrix.com>
 <20220128132927.14997-7-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220128132927.14997-7-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0398.eurprd06.prod.outlook.com
 (2603:10a6:20b:461::17) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2cf4921c-44ab-4a93-7738-08d9e4a40b23
X-MS-TrafficTypeDiagnostic: AM6PR04MB5141:EE_
X-Microsoft-Antispam-PRVS:
	<AM6PR04MB5141D693BEFADA818EDB20E6B3259@AM6PR04MB5141.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:
	yRhmIdQTHRpVqkfOeDN+t0zKATMyPBWQ4SJJc9GCo553+AvbKmefqb7AmMDKoffL1IDd58IjBsXKH8RA0cXOMhwT6aWjK+Wv+8o0h2Muigx1a+Nbe10dXldA+PKtl7BtNaUd7Kxo1Rq4JHyp7AE/dXghUcoGKXuUPVCfrYTB5x2Yf+9zGyiSKU8HbBWkh2oysiLezssoRTu1hSaSrbbYh2uZK0Q53YFQ2udAfQYxAoU5mq+B5zGWEwG1b1YTzX+uDCyoNUxN2WHXUayWmM2yl+xLQ6TDjhy+NMJu9q4Iz1OzPSUqr4ot2FYglvzDSHZngfJrv/cvnJFb3QPdzJEXZInZhn0njaQWbn7E05yi8iDifW3brmapWkq9pqVku6/bxxfZbKJVz1nmjBZVkfJdsV5lkbsSoulZmmbsTbIuuXvTZoVMCCVDOfEv1bJzBCDeSJWKkho5z2LDGRyjMKOTPA4bcpVks9s8qxHseV5K6N5abpgcYUXEm2QjqIhe52WwEVX0cngknKXt+Pe7T4kOfPbOTEo9v82t5iLL+0khGeOUtgyGhpl0CKhTm3i01ka/4Acmn4p2lWCSqtmCwfzlY2t2Bl4jcGNHZmX78b5vREDnsAVGPv0UFvI6vi+7+iN6wrOBhOiZ844/jghJdm8eAkySFHmX8C8muGuCoWCMdBEeISAGSqkekAo4dysys/L14MBRF5KdTrlMVf7zlMM3w/HpA53kbXgDtSuDSBS5obM=
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:(13230001)(366004)(5660300002)(6512007)(6506007)(53546011)(83380400001)(186003)(26005)(2616005)(4744005)(2906002)(31686004)(38100700002)(316002)(8936002)(8676002)(66556008)(66946007)(6486002)(86362001)(54906003)(6916009)(508600001)(31696002)(36756003)(4326008)(66476007)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cXJocThlVFJVeDhaeE1JVXN5a1RrYjk3VUVaY3QrRkY3MW9UZUJvQ2tkUXNX?=
 =?utf-8?B?STZaTWpVVHNidnVxeUkrdlQrWkxqNUJYelYwTFovRUdPeE1qZDdJV0Jkd0Zp?=
 =?utf-8?B?YTJiL0pvK3dVNUxEMXplMXFHeCs5emYvN1A1SHBndDgzWU5YLzNqS2FTLzZY?=
 =?utf-8?B?QThGUFl6bStINkl1Z0dxNithd2hPVGI1d0Q4aXhmTExweDIrUXhTZFUyVWxT?=
 =?utf-8?B?TDF4MXRYay9zQWRDeXdYcjBFOWFMTEdVNjNCdmdNR0ZYTFV4Z2IzMnNQY3RS?=
 =?utf-8?B?QWRKZ0pPdTBiSkNOQ01Ya2tQSS8rdEZuWlQ2SWs5dEFjSDVHanhMUWsrMU55?=
 =?utf-8?B?L3BWMUhDNVlsbytOcGN5d1FML3o1ZUQrdFBLc05vNWgzT2Z4SFhrdk5YQjEw?=
 =?utf-8?B?aGU5djNwa3dwWFpsbG5YdUdFQUpzdUZhekQ5S0NNM1V3VUZKbXdlQlZ1Z1ZX?=
 =?utf-8?B?SmxhVGlVdmlZMTkyR0xMQTE2TVJETGJxUGZjVi9BSlVqSS9ZcVV0NGN1djJ1?=
 =?utf-8?B?UTJGNWZ5djY2ajBnNEZsTnQ5N2MrRmFsWmI2cXFQTGZhYVB2RjdGdWY3eG5w?=
 =?utf-8?B?SWFubGtsYWMrTzR0TWpnVUYwUjZLWmxhMlpzeDN1TWlFQXp2TEg0dDJGSGJv?=
 =?utf-8?B?UTJ3TTFyS1d5c2FYZk1nbmZKbVh6WmdDR01hWG53VXVOY1RmWFNZZmNSV1pO?=
 =?utf-8?B?cWgzMHUvZnhaNG5IVzFqMTJUMHB6T2VYa01MSHp6SFBYQVZVMWJOZWlEaFVL?=
 =?utf-8?B?RWdkNERTWFRCZGdpa0dmbXpDaWRQUEprcGVkejdmOVJjWmhsTTJ5ZjQ3QUZ2?=
 =?utf-8?B?SkNzb0RnOTQ0Z2YzV2Nzejl2SkxJd2dDa3JNTERiYkJTTVZ1MDNkN0l0VE5U?=
 =?utf-8?B?a0hIUVAyYnpLSlhyV01YYWpuVzZOdVlORzZkMVhNY3JaYnBlUE82NG1UTkRC?=
 =?utf-8?B?Z0lidktham02MEUvSDRVN3hBTklibUlFblpaMm1hb2ZBTkhNSFJGN1pWSkhm?=
 =?utf-8?B?NlhYNCtGMVovRm5BakZiVHJQZ2M0S0ZrMTZhajVOZDZleVRTNmJiemhlL0p1?=
 =?utf-8?B?aUN4ZXkxaHRBQmZYUjhwaWYrbHRJN2M4NFAzb1NXTDVyTXFwTlovTnozY0hQ?=
 =?utf-8?B?ajl0SUJoelZqcTJabDlGZEdXVEE0MXFMamF0UnlINDE5bG9sa1RqSjhJdEY1?=
 =?utf-8?B?YUFmbzJyck9DOTBaZmlXOGw2WWdTYjFnM0IxVmpMQ29TWkYxSzdtOTMwS1Nk?=
 =?utf-8?B?KzlkdmRBYURiMUdYTy9jM0VHc3RYVGtXKytnK0xxVDBDdHJhdk80a25qVmNQ?=
 =?utf-8?B?THQrK0g2NG5kZVhwNTJ2K3JGRklyQ21hL0k5eFIvNnNJMGsxK2JBNXNTS25C?=
 =?utf-8?B?UE5jd0huUTZNTW1PSUpFYTlsamg4NWl2Mkl6RU84ck5pcnZVS0poelFvWDh6?=
 =?utf-8?B?MjVSTkp5R1liK2RRcEwraFY3U2hKL1VqN2FvVk5aNVZnWGlrSm5KUCtjd2Q0?=
 =?utf-8?B?YXQrbE0zRXJmUTJYWTFiVHJXVFRwQTVLdVZ5V0pKamh2dm11YTZGSXdMNTNI?=
 =?utf-8?B?TWZvbDI5WUJDazFpQ05hc1VYdGxROWh5bS8zRzFrSmlMaGNwMk5NWU5kclFC?=
 =?utf-8?B?TlFsa041RzdSUXVCR2wzTnpVeEFNdlU5N0FwUUdEWVFwbDlLQy9KcGNjemVS?=
 =?utf-8?B?NlhBbzZrWE1uTmk3NDJxbjBrTEdtbDZRTEJBWFZZMStFNFJ5bC92djQrZjho?=
 =?utf-8?B?VVZCRVNZRHB3Y1dBQlAwWVdDUDdlbHRTcE56OXlhUEYxNW1ndmxVUDdLWStR?=
 =?utf-8?B?Y0FGQ29NNEI3N0lrWW1TMDBrK1dqYnArWkxOM3NNOUkwMnlwYTJldkFVVnQv?=
 =?utf-8?B?RjVtdE5wUmczQ3IvbkNGeXVCSFIrUG10QXlWaUZBQVdFcG43SERzTXJ4bllN?=
 =?utf-8?B?b2l6VGZ0am05RzQzNUxxVVBsbUhHRm0wdFFmYzhKdm1ORzlEMmxTNFR2Wm9E?=
 =?utf-8?B?d0xyL1NpUEhPcVJETUZraG9sSjZPUFNFTUxTVElveUw4dmlQKzB6bDBWbGs1?=
 =?utf-8?B?YVQ1S0M5V2l3MTl6WTl6WWVpd0RUODNRYVFSRjQzbGErKzBYQVo4UWZ3RHYx?=
 =?utf-8?B?dUZJemRrMk1rSHQrRHlwbSs4UUhseENoQnFoZ3l0QWdMR3J3OCtkMlQzVm1Y?=
 =?utf-8?Q?Crbm9/W4CjcVTi3QOdeZyNk=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2cf4921c-44ab-4a93-7738-08d9e4a40b23
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 10:25:46.3997
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: M0c5KIeURWvNf8+O6eORwmp8+/Fino8mrk+mtzcpjFC44XxeTTCAZvxthK2M/Y5c/vV9hK854GGyxG1hlHzU6w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB5141

On 28.01.2022 14:29, Andrew Cooper wrote:
> Currently, amd_init_ssbd() works by being the only write to MSR_SPEC_CTRL in
> the system.  This ceases to be true when using the common logic.
> 
> Include AMD MSR_SPEC_CTRL in has_spec_ctrl to activate the common paths, and
> introduce an AMD specific block to control alternatives.  Also update the
> boot/resume paths to configure default_xen_spec_ctrl.
> 
> svm.h needs an adjustment to remove a dependency on include order.
> 
> For now, only active alternatives for HVM - PV will require more work.  No
> functional change, as no alternatives are defined yet for HVM yet.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Mon Jan 31 10:33:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 10:33:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262922.455386 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nETzx-0006ro-OZ; Mon, 31 Jan 2022 10:33:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262922.455386; Mon, 31 Jan 2022 10:33:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nETzx-0006rh-LL; Mon, 31 Jan 2022 10:33:25 +0000
Received: by outflank-mailman (input) for mailman id 262922;
 Mon, 31 Jan 2022 10:33:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Fky=SP=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nETzw-0006rb-Bp
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 10:33:24 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 37194bf6-8281-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 11:33:23 +0100 (CET)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2053.outbound.protection.outlook.com [104.47.14.53]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-20-6uR36Z7SM_ihiSSGf4j_Uw-1; Mon, 31 Jan 2022 11:33:21 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB6909.eurprd04.prod.outlook.com (2603:10a6:803:13d::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.21; Mon, 31 Jan
 2022 10:33:20 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45%6]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 10:33:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 37194bf6-8281-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643625202;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=S1iac42JhS2bsEO8binrXVcaRRw4uyiZEvawB+9tOgc=;
	b=OnJ81ar2mqBV39lfBGhXEbunz+In3rRyrqF4qGUbjjyFV3UA3jSfrloxL8KjcpF+68y6qB
	lVn/Z0dWllORzNcO2dWGp1ENtnCe7VSOU9GFHdbwLlnnhdYkg4yvVrd8icPP0l+EpPJ9DE
	ih5yrXqDobR1ZWh/zHM4TeWZzB46Iwg=
X-MC-Unique: 6uR36Z7SM_ihiSSGf4j_Uw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UWr3i4wL6J1POEi+VCZNmllYSKxKow8GQSwivwbqLp5wxPguvW7Sq0u0vVhGM3eZ94IcAIDXUo0RlUUkMmUb9DniPGThS4ARmU9FYsdiqAVpsHM+zWDs4xp5G+VVb8ThIBq8XPIIENjSqhi+U43P3b8BoGWnY/qTZw1TzaouEDs8eRgeX3tK+qKrWVuHz3pKjYM7kte/OWD662HWu7+peeoGX+5OXWaTVoPi7p/m9gn+2sGvh7nXeqgZC1xpXNC2GmQdXUnFb+1+rkcD0IuwYY3DQ7hF2Dv5sGWyLe0xYn0ZfiJyFjqpppAFvHC5MH6C5gV9NP0I8PU/Yv9J2U7Zlg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=S1iac42JhS2bsEO8binrXVcaRRw4uyiZEvawB+9tOgc=;
 b=lLI5+dvja3laJAXGFHA9s15uHRJur/tHbanzENZBtkpRCYeuoTwbD+tMG1loUN0c1woG5WTHkZzewRQM1CDejyy9VlLviC+oaSovbLH+I6J8DzJnnIkFvBz2SbF0TMvUpRbt+/0ZAH+UJz1ldrKrG5DkF7/GUTAvpOsbo78y3F8F0yNW/61XbkdWZJFciKGwfo0W37fcPfyMbgjYhvgioEZdv158qBr7eiDJYNFxiDMFqp7QPahUIKjhdJ1bP3/4aG3WFMKUj+m8vzGLU24Y+Hp8hIi4yXMHX3Ci8P3nhq9Rox55N2kuw2IUN4ibET+4frMx+lKCU3pyJVjEHXAqdA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <46bb7297-cdf1-2196-a261-4357621792d7@suse.com>
Date: Mon, 31 Jan 2022 11:33:21 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v2 7/9] x86/svm: VMEntry/Exit logic for MSR_SPEC_CTRL
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220128132927.14997-1-andrew.cooper3@citrix.com>
 <20220128132927.14997-8-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220128132927.14997-8-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR0602CA0013.eurprd06.prod.outlook.com
 (2603:10a6:203:a3::23) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 571a180e-9283-4493-102d-08d9e4a519d9
X-MS-TrafficTypeDiagnostic: VI1PR04MB6909:EE_
X-Microsoft-Antispam-PRVS:
	<VI1PR04MB69090910BF4ACC2E9AB2C2FFB3259@VI1PR04MB6909.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:
	Z57XoDIGFAienURu/asTsaWmxpwvW8SiEmGGQAfymnL2uQUodRitKCULfjArt6hDxBOWNcm33L+vFZnq1LbUQsiGKQlVreku0qfaHijuoC7l4tw9KP99ylUWMpaEVOAqQpmA+JeGfr9byw3Fk4effHlmbzeifshazTA0MX7ioWgsro5fw22SX2fv362sNY8gw1kdEE9e21KfFLR16OpxYSZt/6JgAMMyzwK4Y3gbCQT4XQ/7QX5+u8i01xloLHd7xaIOk4hwpVdvHeI5RLvTkniaRn3nsVpxPwBBpx+XYMk3vUNLxDyO+iYnNvFyu6LQy23EiMGr46awwkqXa+/fc5XcdfI01+MQqtn9wlVpX2zbyCb5Zft3w8YZwjsx/el+8yk0kNAMDxwSEf28356VOHHJKz+0eombF6F6lGZ7r+Cy/AKQCaD6mPcldbbiuVACA33A8nnw7yo84aJbvaPenTf/vbYOU90q3rU70bSEwZl7T2JdjgAzF1GHow0oLdJAZ/CaJrwb4lFUsNT9M5Nxi3c0PiZnrhZ/fOsVwoLg9xDTLiOtZYyJWAq/nzE34+fF1a9vxl3wk36ngGeCL1EqtLHM2BoqN2PUBcm+Uq4rpc9Yo9xyIvBXzNZjLcK0l0IIW4x679y/3O+ozWkH4ljhEsQ4tCua19W9ctenH8ZerMutsNdYKrfr4c83GaiskTKDIqS7dxzslyZ5asGFuppGKgxoDfFBpn4w8qYRdgq+eIyuGhqBH0A5fIRraYHViQr2
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:(13230001)(366004)(31696002)(6512007)(6506007)(36756003)(54906003)(6916009)(6486002)(316002)(38100700002)(2616005)(26005)(186003)(508600001)(66476007)(53546011)(2906002)(66556008)(66946007)(83380400001)(86362001)(4326008)(31686004)(8936002)(8676002)(5660300002)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YTN1VHZxWjEzMUtxMUdiMUkyOTBIMW9DWVV2SGhTTmkrVHVwdk9wT2tad3RZ?=
 =?utf-8?B?NU9iZEo2K2szbWxyVzBrVlhCK214aWlkN1R2UEZlNUhvdzV2cHlObTRNUXk2?=
 =?utf-8?B?QzhWaXY4ZitRNk9yOFMxZ1lrRWo1N2xEdjNNQ2NVZEs4ZitvY1ZYUkFtU1Qr?=
 =?utf-8?B?UllJc3lyZkRES1pVb0pDM1Q4N013dkROQ1BUR2JxOVpaS0h1ZWpudjNYNFYw?=
 =?utf-8?B?RDNJMmNoUVVLZjlTbENpZm5Jcks1cXJwQjM5bHV4ZzdxOURCZVNGNWdzaUxQ?=
 =?utf-8?B?MTUvNXJ2ZEY0bGgxU3JWYmRLTy9HdEZ0dU1mU05pckxoWGpwckdDUEJYOW5v?=
 =?utf-8?B?UTREWnBZNGZPUkMvbFdaYm5zc3ZqU2FoRkg2UitVSkp5ampacXVNUmhhWGNJ?=
 =?utf-8?B?ak9ReWtDV1RPMTJ5QUJMd2YyTldtNk1WcHI3MjBjOEU2K0JMV3ZyUWF5WWVW?=
 =?utf-8?B?U1RVWVgzQnJSVE5UaE1hUW5yclBPYzVqUVBjeXoyRm10ckp2S21uTXVQTWpC?=
 =?utf-8?B?VDM3bC9IZnU3S3RSeDR2M1kwR1l6Tnc1VzdXQUUrSGZiaStNcjF2ZkVZOFZC?=
 =?utf-8?B?YVY2Y2N5SkJMcEJ5WTBLWHRRQ3pabmZ6ZnZqZFd6MWdjYnBQK01VdjRkNW9v?=
 =?utf-8?B?em5LZWx0TFNINWpReGJVZjQ2SWMwN1J2bkpJbDdWVG5pc1N3cmJaTUhBOXhB?=
 =?utf-8?B?RFlGTy9uSEduOEF2cks5R3loMXEwcmpWd0o1ZWNlbkFZTWVlYjFYSU40WVFQ?=
 =?utf-8?B?aGJHVGNnKzg1NEVjR2Z2VDlMRE5IYVZLZkNUd1B2RzlMV0ZjVHhlQXdETGxn?=
 =?utf-8?B?c1JFUXNUVjNWUnVIS3lWSk9jd2Q0Q0ZNVHFxYmI5UXJ0alZ6WU0wK3VLbWg1?=
 =?utf-8?B?MkgrWE9QQ216Y1B4V2tZTnZZQ0hYSnUwZENOb1ZaQkk5dERYU2R2MjFKYXZT?=
 =?utf-8?B?d2pxR3JWRlQ4bTdPbytHblIzMHR2R3BsLzYxRnVXT1lWV3I1cFhGL2NsMnFj?=
 =?utf-8?B?Q0tpV1hIMURST3lWaXR3SksrQzN1UC9La0k4aDNLbVRWaTJiM0Zxd1ZZYmJn?=
 =?utf-8?B?ZTZvWVVmekRTeE1ndVdTS0h5ZjhQN0F3dmZMT1NZYjRpNFBRSFd2b096cTBV?=
 =?utf-8?B?dHFjQXYyZEdSUGlkd21NSVNLRGY4SVhuS3N2bnY2OWh0TTUrRkpObmxRWVIz?=
 =?utf-8?B?RDY4VkFqT3lWQzIzRGhFek1kYm41Ykk2MEh5am44a3dON0ROQmFoVVArQmg1?=
 =?utf-8?B?azd6amlPNlg0SWltZEI3YVhtUjc3UHpRNm14L1hKWmhHbW5RMjM0VUt4ekJn?=
 =?utf-8?B?NlExa2h6RHlIejdEY3RzVjZsQlJyZjdkd2U4ZmlWc3VHRmV5TWxZZjMwcU5u?=
 =?utf-8?B?dUxSL0RxdnA1NmNJQzVSbWlaeTVrZ203cVVvc0hMZnhjYklYVE1OZVI4TGxE?=
 =?utf-8?B?OGJzMm5qeTV4Tjd5bTdnaUFidkZqbEE0bzdwck5ybXZiSWpRajIxc1YveGtQ?=
 =?utf-8?B?SEhJbmh1WlhsbmYvS3UrZCtXOWozSVFDRm9vczBicjhDS3BEQnNxSFd1WmNC?=
 =?utf-8?B?N2tWWVMwOXpORW9pSVIySFZLTDhMV210dEhKUXl3NnhidlNtNzZYK1VNYzR1?=
 =?utf-8?B?aG92Rm1ENmlQT2xTbitoSnIvc2t4V05IbUJ6QjZINk5pQy9mK1huWnFIRnY0?=
 =?utf-8?B?dmk1cXhsc0s0VVZTVXAzd1NWZGR3Nkx1UTFiVmduemYzVGx1ZmNUOTZwblJ0?=
 =?utf-8?B?TXBDQTJ5SlhOMHVxTm9xNDkyM1VTWlVRbGtCUmVJc1hmQUNSZzF6aTVYaWky?=
 =?utf-8?B?Zy9wOVBQS0VjRjlwdE1lN0U3UTA3ZkVGMXA2ZS9RZWxwWStvSEErb1dCd2kz?=
 =?utf-8?B?UlM5NExicmZ0a1FYWGxLdGx4NWxFYjhoM0tUZFYzbUJ5aFFkbjR3OGdIcExm?=
 =?utf-8?B?MG1vU0E0YW0rSEQ4aHh3Vlk1UlUzRkxXbmQwMWxtRG9zaG9xQklxeDJ3U2l4?=
 =?utf-8?B?M0xYSjBGM1IrMHpJSmw0OEFjQ1k2aVRaOHlXYlJqWHRsb052ZGEwZ0ZHc2px?=
 =?utf-8?B?NkFjbmE0YXRkWGJWWHhyaDBhMUpRZVNEUEtHa1hHUXhHNmRwTGhWYUZza2Yz?=
 =?utf-8?B?Q0Q1VlJEcFRoV3RQYU8vdnBDOG04ZEJwMml4SEljb3d2NVB2UHowSm1JT2pF?=
 =?utf-8?Q?GoL7NfEU0vUMlqHroh7S05E=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 571a180e-9283-4493-102d-08d9e4a519d9
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 10:33:20.5434
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: uXkc4kun5ml+S1Yqg7ytgFBHz6KbgJ+GyPHfLKhiQw73hJ3fW1Hfz9BbGQEWThqQi9moNQ5eqL9OMPt3ZUtJkg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6909

On 28.01.2022 14:29, Andrew Cooper wrote:
> Hardware maintains both host and guest versions of MSR_SPEC_CTRL, but guests
> run with the logical OR of both values.  Therefore, in principle we want to
> clear Xen's value before entering the guest.  However, for migration
> compatibility, and for performance reasons with SEV-SNP guests, we want the
> ability to use a nonzero value behind the guest's back.  Use vcpu_msrs to hold
> this value, with the guest value in the VMCB.
> 
> On the VMEntry path, adjusting MSR_SPEC_CTRL must be done after CLGI so as to
> be atomic with respect to NMIs/etc.  The loading of spec_ctrl_raw into %eax
> was also stale from the unused old code, so can be dropped too.
> 
> Implement both pieces of logic as small pieces of C, and alternative the call
> to get there based on X86_FEATURE_SC_MSR_HVM.  The use of double alternative
> blocks is due to a quirk of the current infrastructure, where call
> displacements only get fixed up for the first replacement instruction.  While
> adjusting the clobber lists, drop the stale requirements on the VMExit side.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Again technically:
Reviewed-by: Jan Beulich <jbeulich@suse.com>
But ...

> --- a/xen/arch/x86/hvm/svm/entry.S
> +++ b/xen/arch/x86/hvm/svm/entry.S
> @@ -55,11 +55,12 @@ __UNLIKELY_END(nsvm_hap)
>          mov  %rsp, %rdi
>          call svm_vmenter_helper
>  
> -        mov VCPU_arch_msrs(%rbx), %rax
> -        mov VCPUMSR_spec_ctrl_raw(%rax), %eax
> +        clgi
>  
>          /* WARNING! `ret`, `call *`, `jmp *` not safe beyond this point. */
> -        /* SPEC_CTRL_EXIT_TO_SVM   (nothing currently) */
> +        /* SPEC_CTRL_EXIT_TO_SVM       Req:                           Clob: C   */
> +        ALTERNATIVE "", STR(mov %rbx, %rdi; mov %rsp, %rsi), X86_FEATURE_SC_MSR_HVM
> +        ALTERNATIVE "", STR(call vmentry_spec_ctrl), X86_FEATURE_SC_MSR_HVM

Is there a reason to use a macro for converting to a string here at
all? There are no "inner" macros here which might need expanding. And
"brevity" (as you have in the rev log) would call for

        ALTERNATIVE "", "mov %rbx, %rdi; mov %rsp, %rsi", X86_FEATURE_SC_MSR_HVM
        ALTERNATIVE "", "call vmentry_spec_ctrl", X86_FEATURE_SC_MSR_HVM

.

> @@ -86,8 +86,10 @@ __UNLIKELY_END(nsvm_hap)
>  
>          GET_CURRENT(bx)
>  
> -        /* SPEC_CTRL_ENTRY_FROM_SVM    Req: b=curr %rsp=regs/cpuinfo, Clob: ac  */
> +        /* SPEC_CTRL_ENTRY_FROM_SVM    Req:                           Clob: C   */
>          ALTERNATIVE "", DO_OVERWRITE_RSB, X86_FEATURE_SC_RSB_HVM
> +        ALTERNATIVE "", STR(mov %rsp, %rdi), X86_FEATURE_SC_MSR_HVM
> +        ALTERNATIVE "", STR(call vmexit_spec_ctrl), X86_FEATURE_SC_MSR_HVM

Same here then, obviously.

> --- a/xen/arch/x86/hvm/svm/svm.c
> +++ b/xen/arch/x86/hvm/svm/svm.c
> @@ -3086,6 +3086,33 @@ void svm_vmexit_handler(struct cpu_user_regs *regs)
>      vmcb_set_vintr(vmcb, intr);
>  }
>  
> +/* Called with GIF=0. */
> +void vmexit_spec_ctrl(struct cpu_info *info)
> +{
> +    unsigned int val = info->xen_spec_ctrl;
> +
> +    /*
> +     * Write to MSR_SPEC_CTRL unconditionally, for the RAS[:32] flushing side
> +     * effect.
> +     */
> +    wrmsr(MSR_SPEC_CTRL, val, 0);
> +    info->last_spec_ctrl = val;
> +}
> +
> +/* Called with GIF=0. */
> +void vmentry_spec_ctrl(const struct vcpu *curr, struct cpu_info *info)
> +{
> +    unsigned int val = curr->arch.msrs->spec_ctrl.raw;
> +
> +    if ( val != info->last_spec_ctrl )
> +    {
> +        wrmsr(MSR_SPEC_CTRL, val, 0);
> +        info->last_spec_ctrl = val;
> +    }
> +
> +    /* No Spectre v1 concerns.  Execution is going to hit VMRUN imminently. */
> +}

These living in SVM code I think their names want to avoid suggesting
they could also be used for VMX (irrespective of us not meaning to use
them there). Or else they want to move to common code, with comments
slightly adjusted.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 31 10:39:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 10:39:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262929.455396 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEU5d-0007cX-JN; Mon, 31 Jan 2022 10:39:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262929.455396; Mon, 31 Jan 2022 10:39:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEU5d-0007cQ-GC; Mon, 31 Jan 2022 10:39:17 +0000
Received: by outflank-mailman (input) for mailman id 262929;
 Mon, 31 Jan 2022 10:39:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Fky=SP=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nEU5c-0007cK-EP
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 10:39:16 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 08e52189-8282-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 11:39:15 +0100 (CET)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2058.outbound.protection.outlook.com [104.47.14.58]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-23-2Tftp4tyPXKQtF7DNQooNA-1; Mon, 31 Jan 2022 11:39:13 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM5PR0402MB2756.eurprd04.prod.outlook.com (2603:10a6:203:99::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.21; Mon, 31 Jan
 2022 10:39:11 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45%6]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 10:39:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 08e52189-8282-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643625554;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=qvx2QQ/LnGaw9dsPPVOmw95k8uI8ey4KjFg7218puqI=;
	b=kWbV9VjSUcxajxeeDhHCBx1Ge0CK0sWK8PlHa9EVY65Rrz2gJCauQeQhmzCT+9UMa8lIru
	B90f7dAeU1qfAi65pF3HGmsW+ttlQ3MXT6z+Ys+jIyHLrejQxfmBo+8RRRvQFABhvJCN4N
	HC+Ky6aGkVvsLoKxmtfmMRX2z3wH4N8=
X-MC-Unique: 2Tftp4tyPXKQtF7DNQooNA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eF0Y5KOvElVLkgzF42sSn+xiMtS0wlMMk5OsYnzP8VtgEIobSXRdneHc8uvy+XufEYAZn0qrcmuft0m52L98CQS4tHQrchJIBDIswJPNZNuhiovqPlPfHSoR7CFl/7Qu8zQMxDqkoSm5t8hj7fsXUHuYMdIgabXo2CpqVgep8EpBSFNHG5/KRT4n4dLNEjHJGs9IluY3tAQ1ad7WKxZLnkHNLRLhd+rQIgvE/QRIQCMb/ZqS4tm83r6IGGR6nuWRQw0zuVaV8GK086cCF89BToehywzz+TQpYVdKYChcnaDeq8VeiJei3jgw2UTC/NJrOn2daP8J3cvraQFm5VRM8Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qvx2QQ/LnGaw9dsPPVOmw95k8uI8ey4KjFg7218puqI=;
 b=PY3BY6uqIJjHHbodSL57pU8aE3hAlhz2k/3BzLvIHLnVC38DbckwUH0BD4f136s0UaFgRdMC/qrObH56JAoOK9uxCNR7ExiSXGvm79HVlTQLTRqLofLe5Z6430rAiw9OAzoHG4mOG4oY4HgH3Ju4HicjkRve6uui7UXV5T6BwneWCv5tfgP9BrM0MtWFfzaLfKdcTs5wXt5tTJADIqX1S+gaucYhqmF7kiwnM34bl0bL/k7XGTjI4EfKINkjLoksQ9GjVsrkyiJ5H0gKLFhbgFqJla6Ibexhlf+ow40ze/bzSndmehh5AkqSW/S6acgHHSl8qCKh0IPVsM1aL1N1wA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8a1bfec2-a904-c561-aa6d-0ecafd2cf43c@suse.com>
Date: Mon, 31 Jan 2022 11:39:12 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v2 9/9] x86/cpuid: Enable MSR_SPEC_CTRL in SVM guests by
 default
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220128132927.14997-1-andrew.cooper3@citrix.com>
 <20220128132927.14997-10-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220128132927.14997-10-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR0701CA0071.eurprd07.prod.outlook.com
 (2603:10a6:203:2::33) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e4655aa8-4dda-4bd2-e62c-08d9e4a5eb23
X-MS-TrafficTypeDiagnostic: AM5PR0402MB2756:EE_
X-Microsoft-Antispam-PRVS:
	<AM5PR0402MB27563D7DB3E32EB061ED96A0B3259@AM5PR0402MB2756.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:
	I4vzhA/uuhoNCgtKI3FnuV/YcIelzC1XhdYMxgFK/11dFnBsd91AxyZ78T59Z8zaepQwRDsmdpsS+k/GuuyYgIDl37n+TVGVUAF00OWAwa471ccFMvdaaJXgvHcROesa9iNoQFMZ7bzVndJsBoAsWrOosX1fN6OjJs6ci82gmPxmT34pZ8QFrE9Yv1+rxrj/Jmw/Nq18e8JMC429h3qc2+kmbChocjrrKu13Lpux8rkjQX60zqLEgeQ8k7lMVSFM/ER3iKG2rsQrsLmj5GjhVIK0T6Ohl/RQXyDjoHgcw2kUCtqqWw314zHJMoCXT1zMaUpknxdioZo+/xO3lOepWc6E/Wu6+JMUBTnN+MPQ9T6Q4jX604fvAi96jsAXJi4NPSqPrmUxx9EywawJQhwXlEtRuRA31clkghB+6HH16fEmku7cTevp81XF+yDyMV8t/ltLWrUbOOZpJ4aKKO/y9U6cQYh3atilB6x48vcI/58c+LZtRvcqzMULc/w9ZwmHT5SdIYOPk8KzSGnQQScX5NMMZDjqiu/dy3Qi0+WCTSwKYAEUEzKV3MhAe87eOBIoP4iDcqKWjPc3hY33QHJxobqvf3T1dtk92HFPnIwArUV9qWNnlbATeDi3DCVvLKqc5vc1ib/DlHcD5V6twDnsiM6XLEQtEVYTUWAoWhu3Zf6aFanTyGQsdx7MCEgxBL9mttGXyw5ft6YphH1b4mGhbeVgkGT8yoN5ujjOh4hkBe8=
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:(13230001)(366004)(6486002)(508600001)(38100700002)(26005)(186003)(6512007)(54906003)(2906002)(4326008)(2616005)(66946007)(5660300002)(86362001)(36756003)(4744005)(83380400001)(53546011)(31696002)(6506007)(31686004)(316002)(8936002)(66476007)(6916009)(66556008)(8676002)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?V3FPNS9jWGlWSmVQczlFblgwUmJUYUJKUjIwR0U1cDVpWHBXYXZwMUdBZFFC?=
 =?utf-8?B?aGt1MXJSdlB3NkpjSHFsQm1nRUh3NjRwOXNWS2dsMHRPVWJTb3RqS0ROenZs?=
 =?utf-8?B?MHZmTnRVbzZ1ZEpKOXdLcWIrUHU5cmtmL0xhK2dzYTQ0aDFkUktDWFpieXBi?=
 =?utf-8?B?UTRoUEtFVjkydkpPN2U3bmV0SGx5TGphUFdORHJkdm1lL25qVzdFdXJ1dTVH?=
 =?utf-8?B?anI1UGw3MlkvN0UzN2Y3VGo4dTh6RHFCNyszM1RBSUhWbjIzM1duZnpnbjNH?=
 =?utf-8?B?ZDJXR0xxa0IvWXNkc25SZm5DclhaK2NVWVlma280NW1wWk1yRFFjOE1wdFZ5?=
 =?utf-8?B?bG9pZXJlRHdleFh5NEFKUVYrL0dNS2VBMTVOWkc0ME9QNzV6TVEzbEJ5THhz?=
 =?utf-8?B?TURPWHJvYVJnbHRiQ1VrOG5vbExEazNPeTFFQzNUUHdUc3czdk1oc1lDdjAx?=
 =?utf-8?B?OG41WG8yUXNtRVB0SUdkcCtqRGlOeVlqVHVobXFyM20zazFDOTdDZ1A1Tzgy?=
 =?utf-8?B?TkpkRGFCUGIrMmlsTllkcWI5bDVtWHo5MjkrOTI4NkFkOWdZTTFhSVBpVUFy?=
 =?utf-8?B?RHh1aTRrbGxvUi85MWNxR1VZZFlHTEludUNFWVBFWFMrMThDVStwRW5YcllW?=
 =?utf-8?B?NnpHbnpVM08wSHRDTU1kTDBxUXh2a3pSbkFvWVI2cloxUWZhZERTR2lWTHRE?=
 =?utf-8?B?MlBiMHk0RlJWYXp5c2t5K1dYdDFyRE0yWGpReitBSEtaZUxBSFB5bmJFc0Jz?=
 =?utf-8?B?ME9lR2ZhUjNXajJpQ3RuYThLN3oxdzV6Qk9GRFk3MWJDSzNNYURsNkEwNXcx?=
 =?utf-8?B?amR3eEw5K0xrYlBmQXlCNXJESmFvOGc4bDVpREllOEcrcndTTWc3ZmZ1SmJF?=
 =?utf-8?B?a2NjQ1haK0gxamZUa3V3c2dpS256R0VqYWJuRnBFZm1WZzdKaEZqTGZMQ20z?=
 =?utf-8?B?eVV3V2wrV1VnMkNZRkdmTDFaTGhqUXFDZEg3OGFrYi9jNDJGTm44aHpRR2xt?=
 =?utf-8?B?WFFlemQvUFlxTVZ5dkIyNFpNWFlPUGtraitXckxiMExaWkZlNFR6dnJSTVBu?=
 =?utf-8?B?ZXJLcEJmUWMwWWFYL0tSR042K1JNY3Q4d3llTXFuMGVUU3NQclJyT2gwY1hJ?=
 =?utf-8?B?SjQ1WE40UGZaYVJPbjQ2dkM1S0JWNTFPeDdFWHI0aTVkaFVhQXdQcEZLSWE1?=
 =?utf-8?B?QTh3YlM4c3RHNmZQdlVTa2tER0JMVEhUd09rV09MU3F2QXBkNUNrQTBYWm1Y?=
 =?utf-8?B?d2tnM1c2TTFXZE45b2d5c0xtb1NLSEFaZXdzMDNyaVdFQ0dmSEVxZklJN2xK?=
 =?utf-8?B?c3BxYjFXRHFKUHlmUWFKOVlTMm94VmNFcnR6NTZ3bG1uck5zQjlSQzBhb1o0?=
 =?utf-8?B?K21ONFJlMklKVkZBbktFNmpaQ0FRWVd5cGxDa1NCYXQvbUtGTHB0c3RCUURW?=
 =?utf-8?B?MmM1OFhxZ21GQ1BkWithRnFvbHlrMEs0OUZVYTUzeDZEMGpnZHZUMkkvenph?=
 =?utf-8?B?S3NDVjRJV1RDNmtyOWhHeWI5MG5pTEx3YXVBT3o1b25wUjduNVNjZ3d1TTRG?=
 =?utf-8?B?ZGJiSFNzTldFUGpoaUY4R2hNa0tVZktBSncrUml4all6Y3ZuSEl0cERFZVZJ?=
 =?utf-8?B?UVJkeCtzYmF5ZHp1UDdmMURzeU03WTJKcXhtUElkNHh1NUlxa0FxdVd6Q3pE?=
 =?utf-8?B?RkQ2am96bTR0UzVJUEFmWHU2RThNenRGUXVRMW1wU1ZvRU0xSXJaVTI1bU1r?=
 =?utf-8?B?RXBvSWwybUpRdkJ5dlV3QnNHa0xuaHhrMzRrQ09BbGcvaEU1UDVYdG1xYSsr?=
 =?utf-8?B?S29WTDNBVzlyVXFPOUxZU0lxZTdDN3ltclcxdmo2U0dya0lZUnJ0bjJBaGhP?=
 =?utf-8?B?ajViZkNBOHU2R29OU3FKaVgxWTBNMFBjNjJqTjdUUHJKNnRQT2dRdWc1TGo0?=
 =?utf-8?B?eG5acXhxNGpBZHRlMkN2aDc2V28rOG9MRW9YWkJMdHZjenJ4endqTjk0Lzhs?=
 =?utf-8?B?MjlZU21BYUZnd09Ya1hKbisrVjRZbWZsMCtiV2pSRGxjQVFUZVc1NWdxcTJH?=
 =?utf-8?B?cGNWY3FTVG9sU3BjN3h5U25yd3UyQUV1R2Q0b29vOFg3RXRWMm11SEhpUTR6?=
 =?utf-8?B?dENlUHVOYVZLMzYwZXRDOS9MbzI5bW9tU0JPTVhTU0V1SFNBd1FmT2FHNVQ0?=
 =?utf-8?Q?H74N2CrjeQIMKUiDOLWUD3c=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e4655aa8-4dda-4bd2-e62c-08d9e4a5eb23
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 10:39:11.6777
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rLMwU37x8rdngeMpB4PCUodcjcNL6LIrmfSEFrowM6sZm1a181Bu22Lv5dUOcOl8KUPoj06cokYXVkiH22Lr7A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0402MB2756

On 28.01.2022 14:29, Andrew Cooper wrote:
> With all other pieces in place, MSR_SPEC_CTRL is fully working for HVM guests.
> 
> Update the CPUID derivation logic (both PV and HVM to avoid losing subtle
> changes), drop the MSR intercept, and explicitly enable the CPUID bits for HVM
> guests.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

Oneremark:

> --- a/xen/arch/x86/hvm/svm/svm.c
> +++ b/xen/arch/x86/hvm/svm/svm.c
> @@ -606,6 +606,10 @@ static void svm_cpuid_policy_changed(struct vcpu *v)
>  
>      vmcb_set_exception_intercepts(vmcb, bitmap);
>  
> +    /* Give access to MSR_SPEC_CTRL if the guest has been told about it. */
> +    svm_intercept_msr(v, MSR_SPEC_CTRL,
> +                      cp->extd.ibrs ? MSR_INTERCEPT_NONE : MSR_INTERCEPT_RW);

Technically I suppose the intercept would also be unneeded if the MSR
doesn't exist at all, as then the CPU would raise #GP(0) for any guest
attempt to access it.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 31 10:41:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 10:41:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262934.455407 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEU7S-0000Vx-Vf; Mon, 31 Jan 2022 10:41:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262934.455407; Mon, 31 Jan 2022 10:41:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEU7S-0000Vq-SM; Mon, 31 Jan 2022 10:41:10 +0000
Received: by outflank-mailman (input) for mailman id 262934;
 Mon, 31 Jan 2022 10:41:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9o41=SP=epam.com=prvs=4030d24c28=oleksandr_andrushchenko@srs-se1.protection.inumbo.net>)
 id 1nEU7R-0000Vg-As
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 10:41:09 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4a1e1b86-8282-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 11:41:05 +0100 (CET)
Received: from pps.filterd (m0174678.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20VASFxQ032010;
 Mon, 31 Jan 2022 10:41:00 GMT
Received: from eur02-ve1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2055.outbound.protection.outlook.com [104.47.6.55])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3dxc900h7y-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 31 Jan 2022 10:41:00 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com (2603:10a6:20b:153::17)
 by AM9PR03MB7427.eurprd03.prod.outlook.com (2603:10a6:20b:267::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.22; Mon, 31 Jan
 2022 10:40:47 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6]) by AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6%3]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 10: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>
X-Inumbo-ID: 4a1e1b86-8282-11ec-8f75-fffcc8bd4f1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oEDSngHGW7Fj+msqshwImQN8b5O+xmSZqrlop7Laq/5GWfOGR70hnu9mX/L4vNoCOA3/CCEhvz/kusf7b4cQO5hoAC+892h1yP+a+0wUQ8AyGderKmkWvtthQyxCkRcowlY54QNhHnkpKmqywV+GrmqtbAF4fS0Yp3p+hELPkpLlICugh6Lb2dWR9u6E7YzxsYgOYwgtpV4RJk3XYhs2E/xWAL7PY7K+neYlkeyq/y3gCilJLVcIUXYQUKpfI2lLUTpHXyQQ6Y/YeBUuTBcuCFkWRtwcf9ezxBjONRfvru4DQBWph6cBxLvzwQc7znPsWKV7ppFY7/jCjK9c8h/gSQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kH4XBHUf9FGsP2w6C3p6QN2RpRm/h2jV8LgjptuoLRA=;
 b=g9ezCphUPRtSKyYrmLwF0WNeU5f5sz+Os6GzOJ32UIWP248jpG8bv7zLjKqzaO8FYeZFEuZpI1CMvWpxNfIQeIIUTh+IAHawX6aDtzWNnPnab6dnJ1ih9A4AfoFzrKl4pC872vKbRTccY3yAN5xZoxqiOxrrJoIn1UqxxTKZFcPJsn99FJHVAM2DzK5L7bIx9tqa22SwXOMtImlr8IRrHEIMj9yB6ZEsB3KsqfgZCg79ekV0/AR0aTTtk/Vc4OuAr+9cvCdlBgVG+GX27FjrYRLZvc8Gz0KagBrUGPfClQgEH3DrpDixr5Sgm4gR3J8hfpx6tjKNw54/v6UOKRW+qg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kH4XBHUf9FGsP2w6C3p6QN2RpRm/h2jV8LgjptuoLRA=;
 b=NEGqxL3bnGGTIzJ9tGo4BrMBUIGR0Lu6D9f8VXdiryhu2JMPM+gnWR4d5eN2whOTIhiR08b2Y9WB0mUszBTi8MgGhhtVhDAlAvUB/Z/0wnHcjUQ427s/0nod5jt/GDpugt1UN0V4ERGFeWSQ+UuHNdo9HfSH9i0CvlTzEJV8J0FTR07QcZNXoEOAQeNPWgdY8TNBIAceTw912Q7BuPd3KO2XCMTVEU6jE6YvjFAMzwa5I6G53gr5c8O/EWc+07NYMEHA65pvvtVTrM/sE3LLH5sEdhMAe2JuGx2WjGpSoPq3JvahR6xg6A/JHhXv4Yr/lhNlxlBN8J2amcx3yAya8A==
From: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
To: =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        "julien@xen.org" <julien@xen.org>,
        "sstabellini@kernel.org"
	<sstabellini@kernel.org>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Artem Mygaiev <Artem_Mygaiev@epam.com>,
        "jbeulich@suse.com" <jbeulich@suse.com>,
        "andrew.cooper3@citrix.com"
	<andrew.cooper3@citrix.com>,
        "george.dunlap@citrix.com"
	<george.dunlap@citrix.com>,
        "paul@xen.org" <paul@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Rahul Singh <rahul.singh@arm.com>,
        Oleksandr
 Andrushchenko <Oleksandr_Andrushchenko@epam.com>
Subject: Re: [PATCH v5 06/14] vpci/header: implement guest BAR register
 handlers
Thread-Topic: [PATCH v5 06/14] vpci/header: implement guest BAR register
 handlers
Thread-Index: AQHX4ewHyWAyD811HEGp8pIjUuVWNaxfndGAgB2tWgCAAA7+AA==
Date: Mon, 31 Jan 2022 10:40:47 +0000
Message-ID: <c7e87ebd-2c56-d510-b08b-02d53f9158d1@epam.com>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-7-andr2000@gmail.com> <Yd7K+9fvnBz+WTXA@Air-de-Roger>
 <77c00154-646c-a2a3-98cb-be4324003446@epam.com>
In-Reply-To: <77c00154-646c-a2a3-98cb-be4324003446@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: a3f2c2d5-f95f-4dd7-b739-08d9e4a62464
x-ms-traffictypediagnostic: AM9PR03MB7427:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <AM9PR03MB7427F9BD24217F2DE65FE239E7259@AM9PR03MB7427.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: 
 /QjBsTav9CS2o1kU/f+RarNBysCnMZrW6671SvOXVb00UmYnJhPiHIhIXw9tH+mAiFyfrlM74hCnLJP2rKiplCow2ZD/oafYQp2OD7cMsoj0b9aJqDdwN/Cy0VJC3FxlK1/IY1i9T88CJpGuwjMDAuQC6ZgTyVeipWs76eAN+hSWXd3cFEMcbMpF8QXBIftgVJzzMaM0h8u3Dt+46vHic/nfIrejwK4MDDXx6c6SrkP+gmJEgTmOCrStuagakmeV6rCP1AHrCuPkp8u65EUIBGKYUdN0+F1YRb4I5f5hVqhlVcwlpaTQeuNufck68G44Xb9dhOyrf8sUoS0f3m5BTG/ifPwvo1/1o1WtDUPfXKyuFOMG9iUpAWerwfeRyB5GnPbFheumsv1NRmJ0lWLgcCgm2qQbklJx7ceFbjOBkB5mt7OlErsw/EC7e19+spQ6eGbl3sWTIZOv4YetKrbICLUzAZEy1KoTlUnHR0Vmk+OcaBfpNELA6lsXZxqLdmKnNYT38As0O8NFyebRS4v1ufIo28rBcMz3OAV/L2oYWbi6a2QAmgbPObWYLeXM1v6sXrWq/XqAcDYu0t8aaGye7PiLkdlRG/zJqAsJh3/r6v4xFnNHtImoC78O/jO+JpE8pt5c3vDdNFwKGnagf2EQD7M1lcM5Sh7QwidhihJm7nE8JaSr40zB7JZA77AFnqySqMBeUOkyrIQZuanHwWglyofmRdua0sJoWBvc62tJrceRYftHcuBVQbwjzyW/7B6w
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:(13230001)(4636009)(366004)(38070700005)(76116006)(64756008)(66556008)(66476007)(8936002)(66446008)(4326008)(8676002)(66946007)(36756003)(53546011)(122000001)(38100700002)(6486002)(91956017)(31686004)(71200400001)(6506007)(6916009)(107886003)(5660300002)(7416002)(508600001)(54906003)(6512007)(316002)(83380400001)(2906002)(186003)(31696002)(86362001)(26005)(2616005)(45980500001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?RG4wbVpzUUdqOSsvNU8ycEorUDlEMkY0VXZYcGlSM3NlL2hrcHcrTmxHT1Zw?=
 =?utf-8?B?VVhUekZqVXNDNG5iNVgxd1FvNDlsdENJY1hhRjJuR3RFdlVySHZvSVpYVHBl?=
 =?utf-8?B?bU05T0oyT0cyZHZlUml2dUlockxlb3VZcHhhaGM1YjZVMkNSeVcxOGlxb1I2?=
 =?utf-8?B?TUgweDF3TmNWbTQzN3JUeThZZGRBUUdsU2Q5b3haL21WUm04cFBva2VMZmRv?=
 =?utf-8?B?aFFmMUpKMzB5VlhpYnBndVRiV2s5UGREUkJJbEhpU0cxRklxUUtMalhQVWtU?=
 =?utf-8?B?NzZEVjhFSTJmUWt4NGp6YmdhdlY5a3lhN2drUU1pcW9CRW5SNXNsUGVTWk9i?=
 =?utf-8?B?aHY0YnpRd1UwVE9jUW01K2VjZURNZGNYZlZSRTNxUnNaWVJvOElYVmZSNit5?=
 =?utf-8?B?THB4b0tBMEZUUzVXOGR1VWlxRXVvTE5aMWxnK3oyMEJuTDdXZmxzZnVrT21o?=
 =?utf-8?B?NDJmVGNkdkFQRnNJU2luWkhBb3VrVzVycGNWdmpDTkNDQ3oyemovNldKQTJ2?=
 =?utf-8?B?dTR1Z0VpQmFsSnZ4dXFMYTFCSkN0ZGhUY0owSGtLNElNSktHNFZZSzZsc0dU?=
 =?utf-8?B?ME1pajVRb2lvNCtWSFRKTGZXVEQwT28xQWN1Nlh4cmpaQkszMTdIWE1sUmRJ?=
 =?utf-8?B?L1hpRW8rNjBkVUZRTndpZExLQUpKZTNIVGlIa0hrdWtvS1JtNTJIWExmUkc4?=
 =?utf-8?B?UnNoaUpBMjJYSUhzVSthb3NmU0lsUVR4eWZ1ZEVBMkZUc05tOE42YXpVQmNh?=
 =?utf-8?B?eW50YnB5YzA4eWhvdEk4Q2ZJQTU1Rmh6QWkyTXdNNjdWQllvd25seG1BRExp?=
 =?utf-8?B?aGVhL0liQjlzV29EZEUzMDQrZFMvZTBxVC9SMmhJNURLd0Q2VitUWDhPR3ky?=
 =?utf-8?B?b2JwSWhXdmdaSEJnaHA2ZVdnRTV5SXpsWjgzanFOVXBscEdmNkxtYjZUSkMr?=
 =?utf-8?B?ZG1SeG1FQXBldjdEUjhCemQ4b0syVjQ3eUE0MHFTTitmcVhJNFo4bU1MekRm?=
 =?utf-8?B?bVZ6YVZJY083ME5id296eTZWZURySERnSmp1MUt2aVNxOFVRWW9HcG04aG9U?=
 =?utf-8?B?NGx0WFQ1RUkxd2xYTjVuK1d0alNIeEFQTXoyTCs5a1RNc1VibW44aDBTSEZJ?=
 =?utf-8?B?eDh0ejhCTlJNQmFBNzd3dlZhQVpMZEtCSDVGSmpxK1pDRUpnMjNGNzcxZitw?=
 =?utf-8?B?SjdOZVJnRkc3cTUyd3NpaDFYcmYrR0N2Qk9xVytWblo0YnBBQjFTVS9KeHVt?=
 =?utf-8?B?UUFCOG1pc3N5RytwLytZK0tQWUFtSDhEazJFWm9wbDF2blNZN3grTWQ3OC9n?=
 =?utf-8?B?bWpMUk9abzJqK2ZUUy92US9RT0V0cUtvQWE5WklkRDh4MWF5bTB3NFM3dTJ6?=
 =?utf-8?B?R21RK3ZSMG1FbjUvdENkK09FK2tZYXNnZHl2UDJmWnBla01VRXIrQ0tJVWN1?=
 =?utf-8?B?RnJOZ29oMytDZXRZRHd1QldNUDVuK3pPVjB4TE1RRDhUWkorRE1CKzRyQVVD?=
 =?utf-8?B?Ny80eHkxSXd4Z2hxMTFVb050WU1yVVhRMFJTRnVUc2FDZlROTWVMVkVkUG1K?=
 =?utf-8?B?OEdMSVYycnNyS2F0Y3Y1NXdCZ0s1Z3dyUnFhT0ZoTmR2WE1HelhVTk14c2VE?=
 =?utf-8?B?K2luR3loOC90dklPbWdGSG8wVDRpOGtGTldvLzlzZXdUbWZtektCenFnd2lm?=
 =?utf-8?B?OVN0WkxqVTlVdkZnWmlYb1BMZGI4aHFjb25sbnVLekJlakxSSXBwK2I2NWpS?=
 =?utf-8?B?bkZqQVhabTVvK3piY1Bkb0JaUWN3QkMrb3lHL0RzZWlidGkvdEUzd2NXMTRI?=
 =?utf-8?B?aE1ZdWNKaDJTRDVqSjRPZjdEVytFeW9SSjcvd2UwdGxpVkh5U05odUh0Rk52?=
 =?utf-8?B?bnFTUVNjc2FPNUdvK0xKaDJYS0dvSWFDK20wMnJiZVlYaWhuc0hzcVZQYTRL?=
 =?utf-8?B?WDdKTFdFZXFCMVJybWN2RFRqTEdKbXhUN3F3dXdjQ3hUVXB1WStOc3NiVVVy?=
 =?utf-8?B?czlqc09HOGNUK05KQWFPNmNiZ1lqVFJCaGlxM3ZBajZyVkRKQzJpS1VBbVRH?=
 =?utf-8?B?TXlVOFZicHp1M3lpSmRKL3dSWFVKQ2k1ZjNTR3g4L0c2OHpjdVoxNGxtcFpZ?=
 =?utf-8?B?TDBaY0VlVEpQWUM5OHFObEhKS3YrUCtmY1IrY256dW9BWnl0MlkrM3BkWk42?=
 =?utf-8?B?N290QWEydVNHNjllbnJ0cyt4c28zbThISFFJcHJnZERrSVRPMlhUL0xPYTBn?=
 =?utf-8?B?Y1lIeU5CZmxKRCtOUlV5WkppZkg2cWdDK3lTZFg2a0k4cmdKRTMwQ1NwdlQv?=
 =?utf-8?B?eFVRVk5uS1hnazlnQUZoQmhkU1ZlY3ByR2VxU0Vmb2tZY2FMRmQxZz09?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <3D7B33E94A381547AD0A5E205AAB3D98@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: a3f2c2d5-f95f-4dd7-b739-08d9e4a62464
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2022 10:40:47.4826
 (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: ESN+APQX8NKKKHfErGNkY8rGqLnrHHMwV/u7Wo89DoGSictVMu+7ULWmLARU6iR7qSxyJ8Q0uksseLQZBQUjmffhVgOTFL7eI/aCi5A2toKE/XHW+vhOYS/v03Wn3mh+
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7427
X-Proofpoint-GUID: ETKS2BrDVz-m0_siqTzMCIQo6b_N1mWw
X-Proofpoint-ORIG-GUID: ETKS2BrDVz-m0_siqTzMCIQo6b_N1mWw
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-31_04,2022-01-28_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 priorityscore=1501
 malwarescore=0 bulkscore=0 lowpriorityscore=0 mlxlogscore=999
 suspectscore=0 impostorscore=0 clxscore=1015 adultscore=0 phishscore=0
 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2201110000 definitions=main-2201310070

T24gMzEuMDEuMjIgMTE6NDcsIE9sZWtzYW5kciBBbmRydXNoY2hlbmtvIHdyb3RlOg0KPiBIaSwg
Um9nZXIhDQo+DQo+IE9uIDEyLjAxLjIyIDE0OjM1LCBSb2dlciBQYXUgTW9ubsOpIHdyb3RlOg0K
Pj4NCj4+PiArc3RhdGljIHZvaWQgZ3Vlc3Rfcm9tX3dyaXRlKGNvbnN0IHN0cnVjdCBwY2lfZGV2
ICpwZGV2LCB1bnNpZ25lZCBpbnQgcmVnLA0KPj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMyX3QgdmFsLCB2b2lkICpkYXRhKQ0KPj4+ICt7DQo+Pj4gK30NCj4+PiArDQo+Pj4g
K3N0YXRpYyB1aW50MzJfdCBndWVzdF9yb21fcmVhZChjb25zdCBzdHJ1Y3QgcGNpX2RldiAqcGRl
diwgdW5zaWduZWQgaW50IHJlZywNCj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHZvaWQgKmRhdGEpDQo+Pj4gK3sNCj4+PiArICAgIHJldHVybiAweGZmZmZmZmZmOw0KPj4+ICt9
DQo+PiBUaGVyZSBzaG91bGQgYmUgbm8gbmVlZCBmb3IgdGhvc2UgaGFuZGxlcnMuIEFzIHNhaWQg
ZWxzZXdoZXJlOiBmb3INCj4+IGd1ZXN0cyByZWdpc3RlcnMgbm90IGV4cGxpY2l0bHkgaGFuZGxl
ZCBzaG91bGQgcmV0dXJuIH4wIGZvciByZWFkcyBhbmQNCj4+IGRyb3Agd3JpdGVzLCB3aGljaCBp
cyB3aGF0IHlvdSBhcmUgcHJvcG9zaW5nIGhlcmUuDQo+IFllcywgeW91IGFyZSByaWdodDogSSBj
YW4gc2VlIGluIHZwY2lfcmVhZCB0aGF0IHdlIGVuZCB1cCByZWFkaW5nIH4wIGlmIG5vDQo+IGhh
bmRsZXIgZXhpc3RzICh3aGljaCBpcyB3aGF0IEkgZG8gaGVyZSB3aXRoIGd1ZXN0X3JvbV9yZWFk
KS4gQnV0IEkgYW0gbm90IHRoYXQNCj4gc3VyZSBhYm91dCB0aGUgZHJvcHBlZCB3cml0ZXM6DQo+
DQo+IHZvaWQgdnBjaV93cml0ZShwY2lfc2JkZl90IHNiZGYsIHVuc2lnbmVkIGludCByZWcsIHVu
c2lnbmVkIGludCBzaXplLA0KPiAgIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1aW50
MzJfdCBkYXRhKQ0KPiB7DQo+ICAgwqDCoMKgIHVuc2lnbmVkIGludCBkYXRhX29mZnNldCA9IDA7
DQo+DQo+IFtzbmlwXQ0KPg0KPiAgIMKgwqDCoCBpZiAoIGRhdGFfb2Zmc2V0IDwgc2l6ZSApDQo+
ICAgwqDCoMKgwqDCoMKgwqAgLyogVGFpbGluZyBnYXAsIHdyaXRlIHRoZSByZW1haW5pbmcuICov
DQo+ICAgwqDCoMKgwqDCoMKgwqAgdnBjaV93cml0ZV9odyhzYmRmLCByZWcgKyBkYXRhX29mZnNl
dCwgc2l6ZSAtIGRhdGFfb2Zmc2V0LA0KPiAgIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCBkYXRhID4+IChkYXRhX29mZnNldCAqIDgpKTsNCj4NCj4gc28gaXQgbG9v
a3MgbGlrZSBmb3IgdGhlIHVuLWhhbmRsZWQgd3JpdGVzIHdlIHN0aWxsIHJlYWNoIHRoZSBIVyBy
ZWdpc3Rlci4NCj4gQ291bGQgeW91IHBsZWFzZSB0ZWxsIGlmIHRoZSBjb2RlIGFib3ZlIG5lZWRz
IGltcHJvdmVtZW50IChsaWtlIGNoZWNraW5nDQo+IGlmIHRoZSB3cml0ZSB3YXMgaGFuZGxlZCkg
b3IgSSBzdGlsbCBuZWVkIHRvIHByb3ZpZGUgYSB3cml0ZSBoYW5kbGVyLCBlLmcuDQo+IGd1ZXN0
X3JvbV93cml0ZSBoZXJlPw0KSG0sIGJ1dCB0aGUgc2FtZSBhcHBsaWVzIHRvIHRoZSByZWFkcyBh
cyB3ZWxsLi4uIEFuZCB0aGlzIGlzIG5vIHN1cnByaXNlLA0KYXMgZm9yIHRoZSBndWVzdHMgSSBj
YW4gc2VlIHRoYXQgaXQgYWNjZXNzZXMgYWxsIHRoZSBjb25maWd1cmF0aW9uIHNwYWNlDQpyZWdp
c3RlcnMgdGhhdCBJIGRvbid0IGhhbmRsZS4gV2l0aG91dCB0aGF0IEkgd291bGQgaGF2ZSBndWVz
dHMgdW5hYmxlDQp0byBwcm9wZXJseSBzZXR1cCBhIFBDSSBkZXZpY2UgYmVpbmcgcGFzc2VkIHRo
cm91Z2guLi4gQW5kIHRoaXMgaXMgd2h5DQpJIGhhdmUgYSBiaWcgVE9ETyBpbiB0aGlzIHNlcmll
cyBkZXNjcmliaW5nIHVuaGFuZGxlZCByZWdpc3RlcnMuDQpTbywgaXQgc2VlbXMgdGhhdCBJIGRv
IG5lZWQgdG8gcHJvdmlkZSB0aG9zZSBoYW5kbGVycyB3aGljaCBJIG5lZWQgdG8NCmRyb3Agd3Jp
dGVzIGFuZCByZXR1cm4gfjAgb24gcmVhZHMu


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 10:54:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 10:54:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262941.455418 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEUKX-000241-6w; Mon, 31 Jan 2022 10:54:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262941.455418; Mon, 31 Jan 2022 10: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 1nEUKX-00023u-34; Mon, 31 Jan 2022 10:54:41 +0000
Received: by outflank-mailman (input) for mailman id 262941;
 Mon, 31 Jan 2022 10:54:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Fky=SP=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nEUKV-00023o-9Q
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 10:54:39 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2e439663-8284-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 11:54:36 +0100 (CET)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2055.outbound.protection.outlook.com [104.47.0.55]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-9-DVx4Y8ijMvSRZXEj-CaWNQ-1; Mon, 31 Jan 2022 11:54:35 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM0PR04MB4049.eurprd04.prod.outlook.com (2603:10a6:208:67::31)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.19; Mon, 31 Jan
 2022 10:54:32 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45%6]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 10:54:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2e439663-8284-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643626476;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=DWWD4s6TSK3itJGhQiHiumxmUgUrGmgfnu2+7vBJNNI=;
	b=Md1FhAkdkIifbgL47Vvbjpb/RBljjci1ws39r6Bh1S+QfPfTEQppYUOiHF07MkKgzc0M4L
	0cOP76shybIX/XagomdD8BE/k/7MmHF8cbh1Y502uBk8QxJ0JhoUoVpD1uUJvKyopBF8qG
	SXMkXvJihDIhHg/hF4Zekc4JwQPyL+s=
X-MC-Unique: DVx4Y8ijMvSRZXEj-CaWNQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Cp3OMyk6joohl/lT8DII448UiJaKjfYY+56hTrn5AFWGqUdbta+ffHqzOuzHM/bZlwyrsLyKp3JOnIgDKED0KKSilfR5/uZyImeAHpsemgI2Pom5tOCn6Bj3QkkLMfLdyDYF2ZdJvnzVICVgxBwb36vlxRjo7MHNVUHAFBev5vm8M7AA5tuv7RcKg07p7OvlPbPJP0Olh1bkEEM4hLoms14Qat7G+bc/g2jdxxrg4S/sIUD1lX2zfBiFmlrzd4XTbe0r+fKgkUKlSR1pulUTkQsKIlZ/JAlIoqZrpgoZYwVj/IOh3Hoqka5GUSKKoUd32xO8fuobP0R7m6cS8BvCMA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zXaWogdsuqx0mAAcJnFEiNiBED75M/lfgy+OMTIuGEI=;
 b=EXW3zouudCSLOxjwRe+IQsA/cZuuuEpKlmksUKuz+S6pLunMRlaEkc2cCcYR/3mHMm3dE+F2DTQ6SROLI+btxG0Y//ZjenDjT3FK3oEwebNivBjc5Hlajiz6tJ6IwDfBv97OVTodh77ejXT/tbpqNmqW2bqkTOi62a0VeBKjXiiSYsNe56yOzm/49PEF2RWzkAm8xncszne0xzNHgpH6yRgh3vvwk0eZey/jJqhLtON4RXNwvuU7/tNdZA5murS3HD2HsupDx/esi6B2X8PEPJPzVNoAPhpCFPoZtl4cI0TSxiuDBDLSFhtyLB1ZBB3sZDrzfknd0tSMcDtbZDMmFg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3db8d85e-4b9e-ed0c-5053-cc953c835efc@suse.com>
Date: Mon, 31 Jan 2022 11:54:32 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v5 06/14] vpci/header: implement guest BAR register
 handlers
Content-Language: en-US
To: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "julien@xen.org" <julien@xen.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Artem Mygaiev <Artem_Mygaiev@epam.com>,
 "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
 "george.dunlap@citrix.com" <george.dunlap@citrix.com>,
 "paul@xen.org" <paul@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Rahul Singh <rahul.singh@arm.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-7-andr2000@gmail.com> <Yd7K+9fvnBz+WTXA@Air-de-Roger>
 <77c00154-646c-a2a3-98cb-be4324003446@epam.com>
 <c7e87ebd-2c56-d510-b08b-02d53f9158d1@epam.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <c7e87ebd-2c56-d510-b08b-02d53f9158d1@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS8PR07CA0049.eurprd07.prod.outlook.com
 (2603:10a6:20b:459::30) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: aeb8609c-329a-4fd8-2c85-08d9e4a80fbd
X-MS-TrafficTypeDiagnostic: AM0PR04MB4049:EE_
X-Microsoft-Antispam-PRVS:
	<AM0PR04MB40491FAFB842C098F8D4AA89B3259@AM0PR04MB4049.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:
	mUFhe6XyTNfPA5gbnPjAK/xomLGFErm73BspyY1vvkzwOCSlEr9e1aUxsJwRn+p0ZWGqhlPTd58agpNxWqwWS5ARcsnS1CkX/On9OcjdXZgud3EkDOyrQZQSrDcuv2ZiLUfT/yLZyf0Dbnig2lEJd7c0X03JCa15sQI0JWtaVsx23aP8/V6/JcuRvucN2QmsCwoMfQJVCcvewoux5ELgPyAkjoVpMJiybq39+YyWFkAM66ZX0M+a6AmJR3D70NZCySNf+soSzfhNsTMKCuASTD5MSlRMBA8D9Y3WWLng0xva8E5P6k8e2+g05XOckj+Jl7MrJHyWDXz17lCLBX372mmYC4BZE8VW9Ee7Wa8YO4QxQkRakHrD5QJspeMy7gCxWArOjRjgL21HlN9vEDeJz7lmwfODgKlEnqNTnvV4O7j4lLWgXW+AxzS3dvgi9wuDGJThC2bjYq9RGUjsyRcF5ewryZC6CBPYIDZiHl/jLr+CMOS+YF9Pqrec1jPvg22N/YVucGjbiv4OVb41basxyxE1NyfqRiBlugyp1Zk3MTwJHG10AtqCDhFmXBYbofdMS2446K3srz+wr1gLqLMutubMzFW0PqAzFcaOsplQgVU+n4L0To+On1Insf5cieyHXEvIP9yhHKMuNd+VXIf8LtlHlKe2UEDj+FM3k852K0UujiIZe/jlOTwRlmxwA7+JfHnqO6d5YAeyeEIGoh2aCtgTvX7u/bPStbBBDDTED18bm5Ku5RxUGPaSwr6lMLvk
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:(13230001)(366004)(66946007)(66476007)(5660300002)(6916009)(316002)(31696002)(66556008)(2616005)(26005)(6486002)(54906003)(8676002)(4326008)(8936002)(6512007)(508600001)(186003)(53546011)(86362001)(6506007)(83380400001)(7416002)(36756003)(38100700002)(31686004)(2906002)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?DhrrRVZKB1/rtVdIUSFE1IH4IckW24MSlgTomLVgje9+KJN4lHC6ektxKwXL?=
 =?us-ascii?Q?mxEvRy9vCl5CpnUw6UZcnpv5eUdEcyciWu4giQOleV2sm3Q1uSB1HYCYN744?=
 =?us-ascii?Q?VrXaoI1sr5aLCiZ6QxOAtGZfK6mMHu/XODmt/Ww23a8hWbFAkWu6qTpx2QZ7?=
 =?us-ascii?Q?8p8VjnK4MJ6Elpiawgh0tc5Yvlm4Lp4hxKFQoKKww/erq5RaCCt/O/d+Jh+n?=
 =?us-ascii?Q?kC4n1cTsITkUIMJaaBXJkqcBx7hVxWcwwfCj5T1V5N0DJyNaf6E/PQA6rDyc?=
 =?us-ascii?Q?VtQcOSR+setijwBar0Ys+mij7ZHN4C6Y2U6ia3SzZAg9TPeMetFkWF49fwZj?=
 =?us-ascii?Q?YdVjW4GkK8ol2ujVpS/GaK8Nu1oflPSowS2HZ31fsmbnEh4PPrL2DtU708Ft?=
 =?us-ascii?Q?kvSltmWYFHMLLTbkXPFX39UHZPpjuBbVwAbi8YAWJitrcB1C9ymQdZMIp8ab?=
 =?us-ascii?Q?hQRoCbdddEIme+eQjGdWtojfjMIxymhSaVkcvgLhzPRuVOWSrjuQG/BZpEE+?=
 =?us-ascii?Q?hHyClJB4kfTcQKzl5wvpfw+cX5lPH7yQ2heKg1nJLx3FbpHNBhVU4tXcdr+X?=
 =?us-ascii?Q?MkjYJW7CTdRhADhjLCGV0J07gj+iAY9KvhEyvpy5vTuhOJr4lC0TzFRBH0w4?=
 =?us-ascii?Q?o5jgo5Cco8i7yt7wKCvnx2yQ9iPcspPD0VcisxGmjfqGUijzvzGit2dzx7Wa?=
 =?us-ascii?Q?JJbTbJHzdHL9VH9FTFrECXpFhC3YrMqZsweW8Ep2PJnw6+hYR3cVyD3I+JOy?=
 =?us-ascii?Q?Z9/qVKbToX9qHM2QLSZ7c7aYRSXCal/wo1quhYzr49KYpyPHit+gg79JmpUJ?=
 =?us-ascii?Q?4wAt8i9sjyhPxxmoZGwcvJMGkLjkKH2QlYWcj6To9JmoJ1P9Fi3BtQuMHpRr?=
 =?us-ascii?Q?kv8hBXWMdkIQdhtQvBuftBLKJR+DwbMW97BQtC6aW5Hy9ijPinPishy4ndeP?=
 =?us-ascii?Q?Mt/oEfVBs5DsH2940/FzOEJtp2IUXsSWSaTUeasc/ekD2757lS36SgPEWShS?=
 =?us-ascii?Q?lwvoI7gkQ9E/FMYbjXKBcc+bNwTjwDm4om41LADvDXyHYvyIHy+WFXlGTJSv?=
 =?us-ascii?Q?65JoIV+0MCeGUar46xEn22fasVtJWmW8iYd+iLX3mame6FwhbKZ7aVNaz4Ex?=
 =?us-ascii?Q?cZWeajujtNzjb4GGKwmJoU/QAWRPW9admt9JKwTtNaBvyB/VBzghsZ0rbpiF?=
 =?us-ascii?Q?2XOwUN6xb6xBKCOX8HCKT3jXxA7qaiKF4ctYqz+JbtukJR2zqp4N8JAJYsxZ?=
 =?us-ascii?Q?9qCPd7Y0Zz1erx0ffdkBXJzUTCLD0GBHj51J+vuIxxdd2ONDeTBStvn/tkNB?=
 =?us-ascii?Q?Yoh2vLI+0WkZgyPjqrEWL5P9k6Geenb7z+DJ2PL8adwIRppeK5Fq1WTXiwWx?=
 =?us-ascii?Q?LmGbBfQljUD3opkNFDmTUH+Qi6l+d0uayvU2aOQQoMNhkZfrUKMjCiuftjC2?=
 =?us-ascii?Q?fQMo7s9cPi6k4Abwb/pCDDWb0PE69MZCQVtiDxk1dmWDwgIDNcoMWbVeVaI9?=
 =?us-ascii?Q?L2BizJ575tC7batQbRH7v5qNSsDcEzoL8A7SFNSf7QOfzRNbw6kBKgiw3rQX?=
 =?us-ascii?Q?gJGSTdrMJg9NbaRix/W5BItFNd9LlsD8kE+38YII9SnRcttuoq6FJ0HMuf1Q?=
 =?us-ascii?Q?2uJ7vBE3fxwOhXnKNFCmZXQ=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: aeb8609c-329a-4fd8-2c85-08d9e4a80fbd
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 10:54:32.0580
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: SNKVWNr10N3uSH+9UibL9h+AZTau5WDRHq3v/l1rOhQkkuJbOGyrOCEOUTxvaI4VWoTzsA3QhzFX7hduGj57PQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4049

On 31.01.2022 11:40, Oleksandr Andrushchenko wrote:
> On 31.01.22 11:47, Oleksandr Andrushchenko wrote:
>> Hi, Roger!
>>
>> On 12.01.22 14:35, Roger Pau Monn=C3=A9 wrote:
>>>
>>>> +static void guest_rom_write(const struct pci_dev *pdev, unsigned int =
reg,
>>>> +                            uint32_t val, void *data)
>>>> +{
>>>> +}
>>>> +
>>>> +static uint32_t guest_rom_read(const struct pci_dev *pdev, unsigned i=
nt reg,
>>>> +                               void *data)
>>>> +{
>>>> +    return 0xffffffff;
>>>> +}
>>> There should be no need for those handlers. As said elsewhere: for
>>> guests registers not explicitly handled should return ~0 for reads and
>>> drop writes, which is what you are proposing here.
>> Yes, you are right: I can see in vpci_read that we end up reading ~0 if =
no
>> handler exists (which is what I do here with guest_rom_read). But I am n=
ot that
>> sure about the dropped writes:
>>
>> void vpci_write(pci_sbdf_t sbdf, unsigned int reg, unsigned int 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 uint32_t data)
>> {
>>   =C2=A0=C2=A0=C2=A0 unsigned int data_offset =3D 0;
>>
>> [snip]
>>
>>   =C2=A0=C2=A0=C2=A0 if ( data_offset < size )
>>   =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Tailing gap, write the r=
emaining. */
>>   =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 vpci_write_hw(sbdf, reg + d=
ata_offset, size - data_offset,
>>   =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 data >> (data_off=
set * 8));
>>
>> so it looks like for the un-handled writes we still reach the HW registe=
r.
>> Could you please tell if the code above needs improvement (like checking
>> if the write was handled) or I still need to provide a write handler, e.=
g.
>> guest_rom_write here?
> Hm, but the same applies to the reads as well... And this is no surprise,
> as for the guests I can see that it accesses all the configuration space
> registers that I don't handle. Without that I would have guests unable
> to properly setup a PCI device being passed through... And this is why
> I have a big TODO in this series describing unhandled registers.
> So, it seems that I do need to provide those handlers which I need to
> drop writes and return ~0 on reads.

It feels like we had been there before: For your initial purposes it may
be fine to do as you suggest, but any such patches should carry RFC tags
or alike to indicate they're not considered ready. Once you're aiming
for things to go in, I think there's no good way around white-listing
what guests may access. You may know that we've been bitten by starting
out with black-listing in the past, first and foremost with x86'es MSRs.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 31 10:56:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 10:56:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262948.455430 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEUMX-0002jK-Ow; Mon, 31 Jan 2022 10:56:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262948.455430; Mon, 31 Jan 2022 10:56:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEUMX-0002jD-KA; Mon, 31 Jan 2022 10:56:45 +0000
Received: by outflank-mailman (input) for mailman id 262948;
 Mon, 31 Jan 2022 10:56:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ytUN=SP=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nEUMV-0002j3-VS
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 10:56:44 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 77c5a787-8284-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 11:56:41 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 77c5a787-8284-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643626602;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=8J72P5LxXaiPqKAIOG2XyaAbrXVf+A6AhTFS8TeSYjs=;
  b=AyDoeOvlGuTXbaHSLstPu7EvFrV9JolKvoqdavkXAEGYAI0u9BvmhREl
   WGT2YLDeM971/sIxUolrCIN0aB4bDaE2kPdtz5zYvEGl1Wk8UtoacGHcn
   ag75EzFWwLJMAT3b9cYl7Oy+Knq4JOEgs7x5BuoXstILSqpiWHJrV5m+o
   I=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: s8KAeqLX1lM8cFmks4HZ2jtvIj/T6Mq28fF88jGQg+WFCHPHQGdoClz5SRiJzS++FeKgzHDBn9
 mcF/47njaLufyzGpkYdsZQEiOipxYfHTREMM0bz/k5kNVOoaMxhRwbquxCymdja8GiGqjMkppC
 px49ECVN3YAdfCKiVczNq+BnWiHATtjfZpag9SffHfaVwPvJQ7qKkE9TJVUP2FGS3AMHl20y0i
 w8+rEzH/HOAzBxCZyC+Pm3934pqUiwigqUBaLa0ISnymvnRAKCS2qPHrcncKNB0p7fSh4ZcTD9
 pj/k2J5rnrtJXQTQZ48MbaUo
X-SBRS: 5.2
X-MesageID: 63520410
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:JWzkcK+dIDu1axvYCcMBDrUDtHiTJUtcMsCJ2f8bNWPcYEJGY0x3y
 TMYWG/VbqncYWDwKNAib9628xlUvsfRyINlHlRqqi48E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7di29Yx6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPhO6
 /ZHtMacYD4lBa2Ws+8xfQFqLw5HaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguw5K8bmJsUHs2xIxjDFF/c2B5vERs0m4PcGh2pq3pwXRZ4yY
 eIoWzRGVEjMSSdTOwkSN6pjoLmDhnzgJmgwRFW9+vNsvjm7IBZK+LrnPcfRe9eKbd5IhUver
 WXDl0zQGA0XMeu62DWM83+yruLXlCa9U4UXfJWg/+NuqE2ewCoUEhJ+fUGyoeS9zFW/Xd1fA
 0UO/2wlqq1a3EamVMXnVhu05nuNpAcBWsF4Gvc/rgqKz8L83QGdAWQVSy9bX/YvvsQ2WD8C2
 0eAmpXiAjkHmK2YTzeR+6mZqRu2ODMJNikSaCkcVwwH7tL/5oYpgXrnadJuE7W8iNHvLhj2z
 yqXtyg1h7gVjskj2r2y+BbMhDfEjprUSg844C3HU2Tj6Rl2DKaCY4Gr8lHd4ex3EJeCTlKBs
 X4HnOCT9OkLS5qKkUSlW/4RFbuk4/KENjz0glN1GZQlsTO39BaekZt4uW8kYh0za4BdJGGvM
 BS7VR5tCIF7A1iJZ64tT6uIB/8ql4PrOfr9ZMz7V48bCnRuTzOv8CZrbE+W+mnilkkwjK0yU
 aumndaQ4WUyUvo+kmfvLwsJ+fpyn31lmzuPLXzu50n/idKjiGippaDp2bdkRsQw9+u6rQrc6
 L6z3OPamkwEAIUSjsQ6mLP/zGzmz1BmX/gaSOQNL4ZvxzaK/kl7UZc9Jpt6I+RYc1x9zLugw
 51EchYwJKDDrXPGMx6WTXtodaniW51yxVpiY3B3YAb3gyh9MNr+hEv6S3fRVeN9nACE5aUsJ
 8Tphu3aWqgfItg502l1gWbBQHxKK03w2FPm09uNazkjZZ9wLzElCfe/FjYDABImV3Lt3eNn+
 uXI/lqCHfIrGlo+ZO6LNqPH5w7h7BA1xbMpN2OVc4Y7RakZ2NUwQ8AHpqVpc5hkxNSq7mby6
 jt69j9B+7GV/ddpoYaY7U1Gxq/we9ZD8oNhNzCzxZ69NDXA/3rlxolFUe2SeivaWn+y86KnD
 di5BdmlWBHetFoV4Yd6DZhxyqcyu4nmq7NAl1w2F3TXdVW7TLhnJyDej8VIs6RMwJ5fuBe3B
 R3TqoULZ+3RNZO3CkMVKSokcv+HiaMelA7N4KlnO079/iJ2ouaKCB0AIxmWhSVBB7JpK4d5k
 /w5scsb5lXn2BonO9qLlA5O8GGIIiBSWqkrrMhCUoTqlhAq2hdJZpmFUn3655SGatNtNEg2I
 2DL2Pqe1uoEnkebKig9D3nA2+ZZlK8ighESwQ9QPUmNl/rEmuQzgE9b/wMoQ1kH1R5Aye9yZ
 DRmbhUnOaWU8j50r8FfRGTwSRpZDRiU90GtmVsEkGrVExuhWmDXdTBvPO+M+AYS8n5Gfygd9
 7adkT63XTHvdcD3/y0zRU869KCzEY0vrlXPyJK9AsCIP5gmej600KahaF0BpwbjHc5s1lbMo
 vNn/booZKD2XcLKT3bX12VOOWwsdS25
IronPort-HdrOrdr: A9a23:j8qBaK5S7aMrJTNtPQPXwVKBI+orL9Y04lQ7vn2ZFiY6TiXIra
 +TdaoguSMc6AxwZJkh8erwXpVoZUmsiKKdhrNhQYtKPTOWwldASbsC0WKM+UyEJ8STzJ846U
 4kSdkANDSSNykLsS+Z2njBLz9I+rDum8rE9ISurUuFDzsaEJ2Ihz0JezpzeXcGPTWua6BJc6
 Z1saF81kSdkDksH46GL0hAe9KGi8zAlZrgbxJDLxk76DOWhTftzLLhCRCX0joXTjsKmN4ZgC
 T4uj28wp/mn+Cwyxfa2WOWx5NKmOH5wt8GIMCXkMAaJhjllw7tToV8XL+puiwzvYiUmRsXue
 iJhy1lE9V46nvXcG3wiRzx2zP42DJr0HPmwU/wuwqrneXJABYBT+ZRj4NQdRXUr2A6ustn7a
 5N12WF87JKEBLphk3Glpn1fiAvsnDxjWspkOYVgXAae5AZcqVtoYsW+14QOIscHRj99JssHI
 BVfY/hDc5tABCnhk3izytSKITGZAV3Iv7GeDlMhiWt6UkXoJgjpHFogPD2nR87heQAotd/lq
 P5259T5cNzp/ktHNVA7dc6MLiK41P2MGfx2UKpUBza/fI8SjnwQ6Ce2sRA2AjtQu1P8KcP
X-IronPort-AV: E=Sophos;i="5.88,330,1635220800"; 
   d="scan'208";a="63520410"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lfST2g3moNmfpZxdepccu1A/1rUv/Fp67au/MVMhDSFYiM9qLK3YfhX5dnD76rMUX3frsMFc/ubLJMYzIXnLgCG6VdSYozmvXTLXYc2IqWF534XCIQ0Qi7+8BwYl2xhDc8bi2w2sPu8G4WUu0v7ea7nNvNi0NM2FdskGrszjULjDvrzjiobFDU9mZ0t6svpekMz0ohAtwDJ0qmatJrhTmQ3K5Je5HNSJsnfdT/4izPyg6cObDQXvvjgi1M/XHPUymAqb9yPsJZ5SPiLtcEStZkmPLLuMIRrG3aftL48v7Pd/yeR9e4EHuc+6Y+Q4SdStBljKmqEJrkbobYymb8E07g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=w+p+mpPH78GCxBYh8Q/sD+9whxnn1yZCYPXCGEANxWQ=;
 b=XNvqXThRxAN1i4UQnqGVu36hfxTjF89OzttrBubqNDpWIW5XSXYdzRNMB0KPcsUUc0raZJKooAVFG8OJfpx6hmKyjoCbCY5nzlPAKEZvAhmR6e+s/5GO4q8u8rjZG+c1FJPA3ErydlHs1ddPfVJGy8bLQVFaj/pbnCgLyq/ypJaoDQvnfR7H8Miq8x0nJDCDrihW8zqMLPGzqlkpsuIZ8MFgel847WUlWMF4VsqRTkErou8gGU8WoQUZwh9PVSluzJFc6/xtOL7AoiBAw2E7QrecgkjwujDIayJkeUA+qAQ+WTbBqPI0XJoDFI8niAfAxn7Rc1ymq8PPA6W2O3fjww==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=w+p+mpPH78GCxBYh8Q/sD+9whxnn1yZCYPXCGEANxWQ=;
 b=UV+hNGBekN7qrP0bwA/mOsH41MGVBSseXi3JtW77m7Bt5IuNGSz09CzpfNpPeTaGZTViexz6cjqq/18w9mRIyHwc9qlj0hCjncSuY20cdOocccWc1fZznNk2XGKFcFPgoUaUpz70+yMPt2hs9kcldxVpAtadkBhPteoTKm8LjzQ=
Date: Mon, 31 Jan 2022 11:56:27 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"julien@xen.org" <julien@xen.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Artem Mygaiev <Artem_Mygaiev@epam.com>,
	"jbeulich@suse.com" <jbeulich@suse.com>, "andrew.cooper3@citrix.com"
	<andrew.cooper3@citrix.com>, "george.dunlap@citrix.com"
	<george.dunlap@citrix.com>, "paul@xen.org" <paul@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Rahul Singh <rahul.singh@arm.com>
Subject: Re: [PATCH v5 06/14] vpci/header: implement guest BAR register
 handlers
Message-ID: <YffAW/XzNdtGbCjR@Air-de-Roger>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-7-andr2000@gmail.com> <Yd8RJfpEalnfl+CC@Air-de-Roger>
 <d493b022-3c78-1721-e668-48f4553056a9@epam.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <d493b022-3c78-1721-e668-48f4553056a9@epam.com>
X-ClientProxiedBy: LO4P123CA0348.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18d::11) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 25954b71-149f-4487-a2eb-08d9e4a85753
X-MS-TrafficTypeDiagnostic: PH0PR03MB5878:EE_
X-Microsoft-Antispam-PRVS: <PH0PR03MB5878A339C41B85514CA731C48F259@PH0PR03MB5878.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: u4H0+TZBruQ/GwT4oBgSozenxXE3Ok6Lrrii6li1pUp276ij7WQZli5FiNhjZsydBAs74ontfp3gXRAj5oroekgi9Y/rCOcxkyX/SqlA7tk6Nq9ZK53d6TzVG7Z+TtkecUWDwUFZ9KK7DRnpQnBtNE605EzsNpGUPUZ1mPfvn6Lj9s9raABZa2pgtIGp65+cPghbW+0Wv8nn9q1u2cKmMpFhp/zXhqJSar4pTGfV4LGX17VpoBL03epB/h7LYOdVWxzlROmdKOwSe9YUVomhACDB3IQPIzaucx4GzgqbA2bHUFyJB2Fm8Hf4mkkun3oETonc6GQwnWpVEqnkKbz/sui99kfEv9R56EAspDRIRNgAlcFuCJ6b8dNYJYscxGJGxA64ThNqkhHGhwXPll4ssFw6h7dcYSxu503hjHrtTVXP6aXmQd9q7iHQ1m9K3hgtiDFuY/+nqE1/8yDIMORgqIzSrh6Y0dwG5OZCyT8lJgbSs0fNHhx2wy+mZNCskE+CL7DQLKp2RtADQXtqmBOTBumMRtzX3rik5O/5MmFy+rYSFay0Y+13gH/vAB+NBHFOkdjrahbC77JJKOr7ywGx1N/9sdMhNo0S7kdxQjPjnO/PbzYgx0U3phjin/qISNxpRL57HirjZQm22CkZ45/WqQ==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(7916004)(4636009)(366004)(38100700002)(86362001)(33716001)(82960400001)(66476007)(8936002)(66946007)(66556008)(6666004)(8676002)(9686003)(6512007)(4326008)(53546011)(5660300002)(6506007)(508600001)(6486002)(6916009)(54906003)(316002)(7416002)(83380400001)(2906002)(186003)(26005)(85182001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?emRwaVRDVnVMekxFcjVKenNZUm9zM3RlVzlidmRPTzhBZlowWnJXSkF4VFZn?=
 =?utf-8?B?ajF2UHBrb0RlaUttRmQ0NWVqTkVVcjRlTVNscFZnU1M2cU5mOENoelZsQjk4?=
 =?utf-8?B?WFc2dkdFUDRCMERhcXlkWU5zNFlDM2VYcVF4TWszQTZNTUhmZXZIK21lWkJj?=
 =?utf-8?B?UG9vdWNsSWhJWG5mdS9XRUFhb1hsZktEUC9Ed3UvUGdETVNtajQ5dzhyaWxT?=
 =?utf-8?B?RHZMUkhOSnFTSXN2MWRTQVFWc3RFSkszU3FaUlFmVldvclFTWmN1dEFhMWdK?=
 =?utf-8?B?MWdOQnRMem9KN3kvMmt3RHJ3alY5cGpRakNzTnNOUmM1cEIrWDh1SzhKQzVU?=
 =?utf-8?B?MjdCVm9kM1RCMnBXeVk4aFUzR3YrMS83WmtRR2FaZTJCNHlQWnA2VnAvbDB2?=
 =?utf-8?B?enl4dTkxVXdjWDlBY0VCc0FmbjZ2MGkyU1lsNzA5RGFvazRibWZHUnZYQjlI?=
 =?utf-8?B?WjVJa0hIZUtSdVBhTFpRdWZhM2drREx1Nm5PblMxZXQ2ZHlpRzBpRTZPQlFO?=
 =?utf-8?B?ZjE0emxnc1hBWUg4bUY1VjhHVnB0dEpRRnl6U2VIMm9DUDlmRTFzakx3TmZu?=
 =?utf-8?B?blNkeHZieFZRTVRLKzA5c2lxbmVuak9SVkdqMWNPejNyeU9lOU5pa2EwanBK?=
 =?utf-8?B?WnFDbUU0L1hIRjNJaS84c0FHQVZhUjI2ampQOE95ZU0rTGQxOW5ib2Y0bXFz?=
 =?utf-8?B?NlRwWU5vTUxIUzhScTdpK1hvMTh0Y00rUlpQWXNRUlgxY1VqTU1XTU5CWkFX?=
 =?utf-8?B?TFdIdU5VdHhYby9WNzZjbmdkZlV2bnYxSWszNXBqdHY1VXpMeU1MYWxZM2s5?=
 =?utf-8?B?aFJxU2xjTVBQb0JyVHlFc1dXaXRTcmEyY2k5bUY0VEtlUnE1b3UxM295WXFw?=
 =?utf-8?B?bm56ajBGU3dyaVliWVZGMjdXQThLdVBENXpVcTdTWVpnUUFJK0V5cERzUW1E?=
 =?utf-8?B?WlpWN0ZpeGdyWmt1UFlGK2JRcllvbHFlcTZZL1dnRjhiMjNrT2VnbklXZmtx?=
 =?utf-8?B?RVFWNmgrdnBCSTkyVlJRbVhOVUpsMEdodVI0dXM2bnVtRVg2M2JtSlR0Yk5B?=
 =?utf-8?B?YXNVYlNOdzM0ekRFZTF2QlRuRDJ6eUxTYmxsaHp4SzZBa3R5T3EzZTdaNnJP?=
 =?utf-8?B?RzJUSjkvQlRvL1FpY3dmTllIdUd2TTBVUlM3WmR3UU02Sm1lUE9CQzNmMitu?=
 =?utf-8?B?RiswNlYweUs4VDJHTGkzTWJuZ09UcEZTdk81Qi9hTUFEQ3JMWUpzYlUza0Mw?=
 =?utf-8?B?cHk2VmR0UzZCbXljK0VlcmtQK1o1RkZ3RjJwYWNQdHYvSENXV3ovWm9BSHh4?=
 =?utf-8?B?U0hTNE1uOTBrSHNKTmlQZlBZSDFNN3pod3hMRGtrV2NYaWRuVy96Tnp6ZUEy?=
 =?utf-8?B?NDJHakJXQlBUTjlVZFJjbXNKOHN5Nkd5bDBNeUFtNmZhOXVkeUhqWFJHY3ZR?=
 =?utf-8?B?aVZoc3QyU1dtMnNHRjk0OFV2S0cxZzV3ckdIZGRhbndLdTJJaHlKS3JlZHBD?=
 =?utf-8?B?ZHhKWXlKSWRaR0M1aXltSWR2d0FEZUo2U2RmY2ljNGRzd1BwdEJjcWZkQzBn?=
 =?utf-8?B?SmNQZHFCTWZsdGtvT21vYUNWQVJWUDFlS3pOeEVJY1NRSnlONkZOMW00MFVy?=
 =?utf-8?B?dUsxT2twbHRsOGk5MVA0MWkySE1ZdWFvclF1TnVMOGRrN2dMV0lkUEpBRktQ?=
 =?utf-8?B?YmtSMHFmL2VVRy9nWGxiSkdKa05zaU9zS3F0d2ZQZCtSalJWTHRnblpZUUhB?=
 =?utf-8?B?OG9YRnYvYmx1ZSt4aHNGT2VyOGV0Q1F6UndmZWlLdkxCZFhudUxnTVAzekFq?=
 =?utf-8?B?OTlyNHFNR1pSd29ZSzJ3bjNWdWE2Y0lWSHlaZWhuZ2NXTUVpZVV5T3BFRGlB?=
 =?utf-8?B?anBuMlBkOE5WZHpDQ0YzYzFZSS9OTEV0UzBhZEgzQWx1VnczbGpVdTQ5VXB5?=
 =?utf-8?B?dnJkQkYwbjN6OEpHeUhaWmhhRjFTUldWNFNGRTNiUjZZY1lSNjZkWEJGTURl?=
 =?utf-8?B?ZU1SOEpqRGMzZ2x1ei90cnlPZUtIRWIyeGRRS05CMWRHSFQ0Zm4vSjJ5OUNM?=
 =?utf-8?B?aUxnZk9uWDRYZlMrNmoxSS9qWHFRMldpb0l6U3ZKYzJiUUZqTHNLSm1CT0dw?=
 =?utf-8?B?V25ZNU1VNGdUWmQ3VFU5bEl3OHNFbDNIUzd1ZWUwY091MWlPNENNR3d3dzdn?=
 =?utf-8?Q?+RAnmURYbS+cs7ve2RMZJvk=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 25954b71-149f-4487-a2eb-08d9e4a85753
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 10:56:32.2872
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: UMQa0PTt/I/ohBp2C0NtcjNS8aHEJ1Wy79LmV69HoEVOE6JCehjiPsNk6hfP8eLlx7/mGPLWqw9kVJOh+odyhQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB5878
X-OriginatorOrg: citrix.com

On Mon, Jan 31, 2022 at 09:53:29AM +0000, Oleksandr Andrushchenko wrote:
> Hi, Roger!
> 
> On 12.01.22 19:34, Roger Pau Monné wrote:
> > A couple more comments I realized while walking the dog.
> >
> > On Thu, Nov 25, 2021 at 01:02:43PM +0200, Oleksandr Andrushchenko wrote:
> >> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> >> @@ -569,8 +625,10 @@ static int init_bars(struct pci_dev *pdev)
> >>           bars[i].size = size;
> >>           bars[i].prefetchable = val & PCI_BASE_ADDRESS_MEM_PREFETCH;
> >>   
> >> -        rc = vpci_add_register(pdev->vpci, vpci_hw_read32, bar_write, reg, 4,
> >> -                               &bars[i]);
> >> +        rc = vpci_add_register(pdev->vpci,
> >> +                               is_hwdom ? vpci_hw_read32 : guest_bar_read,
> >> +                               is_hwdom ? bar_write : guest_bar_write,
> >> +                               reg, 4, &bars[i]);
> > You need to initialize guest_reg to the physical host value also.
> But why? There was a concern that exposing host's value to a guest
> may be a security issue. And wouldn't it be possible for a guest to decide
> that the firmware has setup the BAR and it doesn't need to care of it and
> hence use a wrong value instead of setting it up by itself? I had an issue
> with that if I'm not mistaken that guest's Linux didn't set the BAR properly
> and used what was programmed

I think I've made that comment before realizing that all BARs must
start with memory decoding disabled for guests, so that the guest
firmware can position them. Using the host value as a starting point
doesn't make sense because there's no relation between the guest and
the host memory maps. You can drop this comment.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 11:04:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 11:04:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262956.455441 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEUUC-0004GO-LU; Mon, 31 Jan 2022 11:04:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262956.455441; Mon, 31 Jan 2022 11: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 1nEUUC-0004GH-Hy; Mon, 31 Jan 2022 11:04:40 +0000
Received: by outflank-mailman (input) for mailman id 262956;
 Mon, 31 Jan 2022 11:04:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9o41=SP=epam.com=prvs=4030d24c28=oleksandr_andrushchenko@srs-se1.protection.inumbo.net>)
 id 1nEUUB-0004GB-DI
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 11:04:39 +0000
Received: from mx0b-0039f301.pphosted.com (mx0b-0039f301.pphosted.com
 [148.163.137.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 94120eb6-8285-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 12:04:37 +0100 (CET)
Received: from pps.filterd (m0174682.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20VAvqVg019369;
 Mon, 31 Jan 2022 11:04:33 GMT
Received: from eur04-db3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2059.outbound.protection.outlook.com [104.47.12.59])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3dx7wu1cg7-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 31 Jan 2022 11:04:33 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com (2603:10a6:20b:153::17)
 by VI1PR03MB3072.eurprd03.prod.outlook.com (2603:10a6:802:2d::28)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.21; Mon, 31 Jan
 2022 11:04:30 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6]) by AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6%3]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 11:04:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 94120eb6-8285-11ec-8f75-fffcc8bd4f1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cSEF1TrXwJO7J8LcTn6+zufAEygmwFVg8nB3rD6HjCvCWdNZIUhcxhancTXc6kV7XiWKWUf7e7fFPESP1XSxS2y7GwWTWfVSyOTf/qVR0TZ4jAITcKO6Isc0MPwYcd1qXQT9gFP7NP5ZcN+PSJNEycNmlJZc+7hBNUHzJgHazXYvNYb4/yjvYwAHGNgQd5arVqxx1QaKeC5iS7r9GlU/4jjFUhQDRfgSv8sAwW+1LUmx+wqZZ6dBA2YsZIyMvVcQ10Qn4HbNugy5HrGa4OYgpKUNcLDCpmz74B1EHwymLVB3Q/D2JLSJxmq68vKtcDQ0aqRimBKk/jbpo3j9VyGFMw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GV6hcn/V+SP1tXURWiCpLqhF4V1XAc2YeHOg2UjwgFM=;
 b=WKBv/yQdXrB6iG1QC54GxskONSwbsSgQb2tqc3i7+F6Sk0wIp8633Oyyd6ra2uR13tbzvKuGYJAuB+PujhWCFS2BjcRSN9NpFY0MsU0lhxoHfzuji7PxZgzPRKGPMd/NzXuSsZJ64HOYOt9FwVa+ZVxdnRlgeEiR1L7/84iNEJ0No5mW2SI+JUt/VCefhtJsHLRYbFk7ghPs1PEBiyVWj7E+K9MJLfkWU4G94J5RfuZCk4rYaHbNeWCyVVy4W7zpNbP+Y8w7OqCyuk1vkAtin6dh/c0Yhp6XHhaBW3q+8ZQs3PIaJu9aC+FwxZhiHIS3MK3PZkv1SNn5KS+Ii/gxJQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GV6hcn/V+SP1tXURWiCpLqhF4V1XAc2YeHOg2UjwgFM=;
 b=baZN3jx3YVYxHR+/hFwVGeeuCrhY4UGy/VbfV3WCZL79SJaNVSm+vZ3+i94IwQ2fx5dsvyucla6zdTOkH7WXs+QjAj6seWFm9ooeY7MHpO6j5PWqVH60LylOj7+spvlpHNAImc22GKOVx9L5CjtqhlfjgsNEOkuMNgeaGtVGgQpWRD2/4sCNyR1gQjKGHROnHD9TsXgWCoyIMKmagPk9UVFjig2tK6XvQe5/e1NJPpXWNterY1kbshxJ0ef8Ia0M/UmpOb5FGdZxo2FSxO1poPrWrAr5AlkcN7SLTrCGZgyTGNh+LZfFJoPACZZVSOHTrWaHrofSXc4IdM27b1wAWw==
From: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        "julien@xen.org" <julien@xen.org>,
        "sstabellini@kernel.org"
	<sstabellini@kernel.org>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Artem Mygaiev <Artem_Mygaiev@epam.com>,
        "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
        "george.dunlap@citrix.com" <george.dunlap@citrix.com>,
        "paul@xen.org"
	<paul@xen.org>,
        Bertrand Marquis <bertrand.marquis@arm.com>,
        Rahul Singh
	<rahul.singh@arm.com>,
        =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>,
        Oleksandr Andrushchenko
	<Oleksandr_Andrushchenko@epam.com>
Subject: Re: [PATCH v5 06/14] vpci/header: implement guest BAR register
 handlers
Thread-Topic: [PATCH v5 06/14] vpci/header: implement guest BAR register
 handlers
Thread-Index: AQHX4ewHyWAyD811HEGp8pIjUuVWNaxfndGAgB2tWgCAAA7+AIAAA9kAgAACyIA=
Date: Mon, 31 Jan 2022 11:04:29 +0000
Message-ID: <5de61dc5-0292-de1b-fad2-aa99d5351043@epam.com>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-7-andr2000@gmail.com> <Yd7K+9fvnBz+WTXA@Air-de-Roger>
 <77c00154-646c-a2a3-98cb-be4324003446@epam.com>
 <c7e87ebd-2c56-d510-b08b-02d53f9158d1@epam.com>
 <3db8d85e-4b9e-ed0c-5053-cc953c835efc@suse.com>
In-Reply-To: <3db8d85e-4b9e-ed0c-5053-cc953c835efc@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: a90ada00-49d0-4eef-4cb2-08d9e4a97422
x-ms-traffictypediagnostic: VI1PR03MB3072:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <VI1PR03MB307283FDDAB393DDFA891A09E7259@VI1PR03MB3072.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: 
 AtTHTdpfhbpo+PtDjh5q7otcRmIITVS/Yc/5ruf28h9KjEi2IB+BAOuV9Td8EFGRVew5HpnCasO3Y4zipK6U4qaQm/o7KpSBcJlHvVzcuZsdDBRS33eJMwDbf2RYrPvd0oY1Ka0Kim8dwn/o96isV9WyRSF5y6WCrOWMPp+yW2za7DnpiDd6ZdDMXOQRyQgs+6HVPPSo5Bt491ufO6cyzbHsNJQQko0+pldyyrSsV51cu2EDbO2YdcmnfyOiUHMSPkEgEvs2Cd+9A5B3b/6XO6NB6JymhWYLrALHheRCpx64eTzAvTtDhMz6xpbcV/F0f/QASB22N2lj+5xkAFahHUTCwcdZnR/J6i4Fa4ZPp+dIlMjrNOmbzpueyBD5nK4Qc1VvCAWbmvEjb4GtNjCjKHUdQMvxOtIsEIVN2fo8uxkV30qu8W1vOTaG5Zji91DYXI22bvzQ6+zyM8hEfXBsff2ZLE9CZJVLtwluHipqPE7LB9goqKGHl5yBnfgpTjRmZYXJoK7XkzEEAV2X6YPTD15r/Lii3LPn9tH1Z0wRLHwgxmtBhxXG4/KiCWrX9Q2KzobRAfx4bTfB7Z7PwJ6oXpp8Uw1YYrpeoOA0pWRGk7gjZyb+OqMv964yqoC3MWt2U3XFNI6OcSHvB6CAxdRf+Y7lHQVJa8E851l5q6+sTZK6SClgXzRikQBD7HD+X3VsJIPwghHWIyMV2XCY8TIGVADHjaxzJx8cZ2MxDb38nnWfiMG5AxofBUYPFtlcxNJb
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:(13230001)(4636009)(366004)(36756003)(86362001)(64756008)(66446008)(107886003)(83380400001)(7416002)(2906002)(4326008)(54906003)(2616005)(76116006)(5660300002)(66946007)(316002)(31686004)(66556008)(8676002)(6916009)(91956017)(8936002)(66476007)(31696002)(53546011)(6506007)(6512007)(71200400001)(6486002)(38070700005)(38100700002)(122000001)(26005)(186003)(508600001)(45980500001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?QnFqQkNoYWVadXM4bWx0MS8xWGFpZmxld0MzTlZmdWdjZVY3U09tOXpJYnBr?=
 =?utf-8?B?N3h1YXg5WlZmNzY5QktCRnp0UTY2VXZuYjlybU5RZ1dMYlRpa25FTHhUR3Bi?=
 =?utf-8?B?L09xblMxUTB1UTVwS1lsWnduZGx3L2xjQmswK3FIV0FiQTRqRy96YmJybFd4?=
 =?utf-8?B?c29nZ1hSMFUzb3hEcXk3bXNOazJZVlVwMFNUZ3oxcEJpU0pRdW94TjZLbS9t?=
 =?utf-8?B?bzRsSk5CcDVYT0FQckx6bHF4cEZMbHdKVGphdHhIeFlOVzlFbitWSlk2YmF6?=
 =?utf-8?B?VjZoQlVnV2pMNDBLV0dtL0hhWlNlWENvRzUxQkg5akIrMDhIclczYnVhZjky?=
 =?utf-8?B?dEFsVkJuUHVFNFkyb2VJdDdVeTlaRXNpTHdoM0NvNnJQbXFyN3FpUWtKSnVW?=
 =?utf-8?B?ZWdiNmJMVEhvcGdGOHdvNHRpTXhGeHdWbTl3MFpiNkJGcWNBZ3NaekVld0tK?=
 =?utf-8?B?ckZYRHpRbDdrM3VPRzdMTUNsajFXT055N3JKSnJZaS9MaG11M3hjZlRFMUZy?=
 =?utf-8?B?eUNxT0VBemZScDdqdWF0bysyeG1WU2dtdDRGNnNQc1ZvU2VaMzNONHZ5RVFx?=
 =?utf-8?B?MDEwTTFIZG1Fbmc0R1l1VFFOZm1qUlkzNHVmUEpLL3E2YXNUSXV5Qk5tc1BM?=
 =?utf-8?B?YWdzbzdTZjVMT1dTb1J6NmN5dG1YVlk2bkxxZmVsbkpFdWwxdmpFMHRieUdJ?=
 =?utf-8?B?c0wwRjdaQStKT2IyZUMyazJwNmlTV3B4Rnk1dnFTWUZBbGpFTnFLWUFjeEtC?=
 =?utf-8?B?b2hUTjJlSEI1MWdyOCt5MmFxa0hxZG9semgrakVLZHJ1cW1iQ3RtdUs3QjFG?=
 =?utf-8?B?aFg2Ukh1OHErdm5qeTVVTm96cVlaRE95aUpZSlhqZUtWMFlsdGt1NTI0K2Ur?=
 =?utf-8?B?UTZRRUhjSUdLblFnYnhVZ2dlUWhKWncrekhOVEZxYmFYTFREaTRiWEI5dnU3?=
 =?utf-8?B?TFpkcmZrMVN2S1F1WWtKYTJCYWZnUG96S0YvcitoM0d2WTJ3RFVjRlArdVM3?=
 =?utf-8?B?Y1dRbElNWTIvdU9kaC9QK3I4TnBTNWdRUk5oVXRpUU1qR1ZLM0lhY0QwcVIy?=
 =?utf-8?B?bzFTNXBsVHljcjJFQ2IvRWhVUXhNYVZzOFlrZzRZTE5yTGsweEp0VnJwT3E1?=
 =?utf-8?B?WmFzSWtmTEhOd0ZwOStGalRnR25zSnZTZjB3eUxJR3A3R0pRRTFRTVV4cnZ1?=
 =?utf-8?B?MjNKbVdaZXJ2azJLaFFicCt5Yy93U3dQUURXNVRVTXZKelByYnJ6MVlna3lz?=
 =?utf-8?B?YmFJZzlaYVVpOHFiYVRHS25BNmVDQVU0T2dZclZ4ak5xdWVJYVFFaHVVanRM?=
 =?utf-8?B?c2Q4YUVzQ1lCZ0FJM0RJRko1WlNPa0dsOHEyM2VRY0ZPTFhXNEhkcUV0UERL?=
 =?utf-8?B?UDBqTTI2NXR0dG8wdWZoMk1BMGw4S2JMbnovaHV6RmcvRlA1VENXRjZGb3lV?=
 =?utf-8?B?eE5JekJrNFRRclNnc2owSm1RUzFkcFY3clVpRk8xbHRJbFloS0ZjYlliRHRt?=
 =?utf-8?B?M1hNWC9YR3g4L2diOTUwZGF0aWduUGtzT3lBeitIV0Z3alFMVUZjTnZWbWZI?=
 =?utf-8?B?dStDU1BLb3hIeTQwOFRMMnduSG5pWE5KSzBEaUhVVC9pbUVNZE41K0NJdGJC?=
 =?utf-8?B?WldTQjFYWm9jdmJ0UFowRkw4VkdER0ZTZ25DWGZGN3B6bkJuRUlyajdYY0FM?=
 =?utf-8?B?dXVWRUhYY3RXREZldEczZ0FKaGlMTVVQeXBTbVJFQnlmU3RnbVA5Z0Y0aWRl?=
 =?utf-8?B?THJ0ZVFTNzJlSzZPbUtnQmZqckZQS2J5V01YaFd0UlNyOVBZdVBPRnczTXF1?=
 =?utf-8?B?N1JBMzd5YjNQVVNiUEhPaDNlMFlPYS9FTWdrdEF5MFg5ZUJvNXZpeHh4WGRt?=
 =?utf-8?B?bWFCUlhOWmRmV2dENzVTNmhYcWtZaEVqOXcydW9FdWl5emQxRmc1NG0rck5U?=
 =?utf-8?B?dzJxQ0gyczRZRmxuamM5V0xHZElhREJxYjlIMHdvMTJGbFhJVVRBUkhXRHM5?=
 =?utf-8?B?Y1RJMS9NMFhMNmdEd1c2MkdvQWxsSkt6MkRNTVNDYXBEQks2NEdxK3pOdDVP?=
 =?utf-8?B?N0xyYWhYdWNqOENnWHBhTHdxdk5IeUdJbiswK1hZY3d4dDhCWnFrM29OdTZG?=
 =?utf-8?B?R0tXOTZicVB1d0FUNzh2R0g0bklVZG1iOGhjSVNJK3dnTG40eXV4aUpLRDFN?=
 =?utf-8?B?Zk85M2FvOEtQd3R3L3FyMzdwUjdFdW9jc2p4ZEd4Z3B0MksvdGU0c1V3VXdY?=
 =?utf-8?B?ZHQ0WVFGNEFNbkxyNzA1eTVRYWRLNFpQTnNwT0VGaWJxMWs5dDlhbEJzT2h2?=
 =?utf-8?B?cWJ2aU16MzQrS0VkZk5Kc0RTTDBYUi91V0FXdHg1UzlBZ0kzL09mUT09?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <A486BD27C646504996B3B8E0E3F1E944@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: a90ada00-49d0-4eef-4cb2-08d9e4a97422
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2022 11:04:29.7215
 (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: GIcgN1dEnklh4EMTJpsmYoOApwT/1FDJLrvQ2JvNlTNbG2Uu1NX3nlPHOIYjb+LG4p+Bh4prTwWts/aX857BSbNL7E1pYhVi5IX9cZFO7TB7DNdmUlWgbiaULI2g0gD7
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB3072
X-Proofpoint-ORIG-GUID: HUhuXenRO7hrJlik34loRb4wnwhV8k2a
X-Proofpoint-GUID: HUhuXenRO7hrJlik34loRb4wnwhV8k2a
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-31_04,2022-01-28_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 bulkscore=0
 clxscore=1015 impostorscore=0 spamscore=0 priorityscore=1501
 suspectscore=0 adultscore=0 mlxlogscore=999 phishscore=0 malwarescore=0
 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2201110000 definitions=main-2201310075

SGksIEphbiENCg0KT24gMzEuMDEuMjIgMTI6NTQsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAz
MS4wMS4yMDIyIDExOjQwLCBPbGVrc2FuZHIgQW5kcnVzaGNoZW5rbyB3cm90ZToNCj4+IE9uIDMx
LjAxLjIyIDExOjQ3LCBPbGVrc2FuZHIgQW5kcnVzaGNoZW5rbyB3cm90ZToNCj4+PiBIaSwgUm9n
ZXIhDQo+Pj4NCj4+PiBPbiAxMi4wMS4yMiAxNDozNSwgUm9nZXIgUGF1IE1vbm7DqSB3cm90ZToN
Cj4+Pj4+ICtzdGF0aWMgdm9pZCBndWVzdF9yb21fd3JpdGUoY29uc3Qgc3RydWN0IHBjaV9kZXYg
KnBkZXYsIHVuc2lnbmVkIGludCByZWcsDQo+Pj4+PiArICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IHZhbCwgdm9pZCAqZGF0YSkNCj4+Pj4+ICt7DQo+Pj4+PiArfQ0KPj4+Pj4g
Kw0KPj4+Pj4gK3N0YXRpYyB1aW50MzJfdCBndWVzdF9yb21fcmVhZChjb25zdCBzdHJ1Y3QgcGNp
X2RldiAqcGRldiwgdW5zaWduZWQgaW50IHJlZywNCj4+Pj4+ICsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdm9pZCAqZGF0YSkNCj4+Pj4+ICt7DQo+Pj4+PiArICAgIHJldHVybiAweGZm
ZmZmZmZmOw0KPj4+Pj4gK30NCj4+Pj4gVGhlcmUgc2hvdWxkIGJlIG5vIG5lZWQgZm9yIHRob3Nl
IGhhbmRsZXJzLiBBcyBzYWlkIGVsc2V3aGVyZTogZm9yDQo+Pj4+IGd1ZXN0cyByZWdpc3RlcnMg
bm90IGV4cGxpY2l0bHkgaGFuZGxlZCBzaG91bGQgcmV0dXJuIH4wIGZvciByZWFkcyBhbmQNCj4+
Pj4gZHJvcCB3cml0ZXMsIHdoaWNoIGlzIHdoYXQgeW91IGFyZSBwcm9wb3NpbmcgaGVyZS4NCj4+
PiBZZXMsIHlvdSBhcmUgcmlnaHQ6IEkgY2FuIHNlZSBpbiB2cGNpX3JlYWQgdGhhdCB3ZSBlbmQg
dXAgcmVhZGluZyB+MCBpZiBubw0KPj4+IGhhbmRsZXIgZXhpc3RzICh3aGljaCBpcyB3aGF0IEkg
ZG8gaGVyZSB3aXRoIGd1ZXN0X3JvbV9yZWFkKS4gQnV0IEkgYW0gbm90IHRoYXQNCj4+PiBzdXJl
IGFib3V0IHRoZSBkcm9wcGVkIHdyaXRlczoNCj4+Pg0KPj4+IHZvaWQgdnBjaV93cml0ZShwY2lf
c2JkZl90IHNiZGYsIHVuc2lnbmVkIGludCByZWcsIHVuc2lnbmVkIGludCBzaXplLA0KPj4+ICAg
IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1aW50MzJfdCBkYXRhKQ0KPj4+IHsNCj4+
PiAgICDCoMKgwqAgdW5zaWduZWQgaW50IGRhdGFfb2Zmc2V0ID0gMDsNCj4+Pg0KPj4+IFtzbmlw
XQ0KPj4+DQo+Pj4gICAgwqDCoMKgIGlmICggZGF0YV9vZmZzZXQgPCBzaXplICkNCj4+PiAgICDC
oMKgwqDCoMKgwqDCoCAvKiBUYWlsaW5nIGdhcCwgd3JpdGUgdGhlIHJlbWFpbmluZy4gKi8NCj4+
PiAgICDCoMKgwqDCoMKgwqDCoCB2cGNpX3dyaXRlX2h3KHNiZGYsIHJlZyArIGRhdGFfb2Zmc2V0
LCBzaXplIC0gZGF0YV9vZmZzZXQsDQo+Pj4gICAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgIGRhdGEgPj4gKGRhdGFfb2Zmc2V0ICogOCkpOw0KPj4+DQo+Pj4gc28g
aXQgbG9va3MgbGlrZSBmb3IgdGhlIHVuLWhhbmRsZWQgd3JpdGVzIHdlIHN0aWxsIHJlYWNoIHRo
ZSBIVyByZWdpc3Rlci4NCj4+PiBDb3VsZCB5b3UgcGxlYXNlIHRlbGwgaWYgdGhlIGNvZGUgYWJv
dmUgbmVlZHMgaW1wcm92ZW1lbnQgKGxpa2UgY2hlY2tpbmcNCj4+PiBpZiB0aGUgd3JpdGUgd2Fz
IGhhbmRsZWQpIG9yIEkgc3RpbGwgbmVlZCB0byBwcm92aWRlIGEgd3JpdGUgaGFuZGxlciwgZS5n
Lg0KPj4+IGd1ZXN0X3JvbV93cml0ZSBoZXJlPw0KPj4gSG0sIGJ1dCB0aGUgc2FtZSBhcHBsaWVz
IHRvIHRoZSByZWFkcyBhcyB3ZWxsLi4uIEFuZCB0aGlzIGlzIG5vIHN1cnByaXNlLA0KPj4gYXMg
Zm9yIHRoZSBndWVzdHMgSSBjYW4gc2VlIHRoYXQgaXQgYWNjZXNzZXMgYWxsIHRoZSBjb25maWd1
cmF0aW9uIHNwYWNlDQo+PiByZWdpc3RlcnMgdGhhdCBJIGRvbid0IGhhbmRsZS4gV2l0aG91dCB0
aGF0IEkgd291bGQgaGF2ZSBndWVzdHMgdW5hYmxlDQo+PiB0byBwcm9wZXJseSBzZXR1cCBhIFBD
SSBkZXZpY2UgYmVpbmcgcGFzc2VkIHRocm91Z2guLi4gQW5kIHRoaXMgaXMgd2h5DQo+PiBJIGhh
dmUgYSBiaWcgVE9ETyBpbiB0aGlzIHNlcmllcyBkZXNjcmliaW5nIHVuaGFuZGxlZCByZWdpc3Rl
cnMuDQo+PiBTbywgaXQgc2VlbXMgdGhhdCBJIGRvIG5lZWQgdG8gcHJvdmlkZSB0aG9zZSBoYW5k
bGVycyB3aGljaCBJIG5lZWQgdG8NCj4+IGRyb3Agd3JpdGVzIGFuZCByZXR1cm4gfjAgb24gcmVh
ZHMuDQpSZXBseWluZyB0byBteXNlbGY6IGl0IGlzIHN0aWxsIHBvc3NpYmxlIHRvIGhhdmUgdnBj
aV9pZ25vcmVkX3tyZWFkfHdyaXRlfQ0KdG8gaGFuZGxlIGRlZmF1bHRzIGlmLCB3aGVuIHZwY2lf
YWRkX3JlZ2lzdGVyIGlzIGNhbGxlZCwgdGhlIGhhbmRsZXINCnByb3ZpZGVkIGlzIE5VTEwNCj4g
SXQgZmVlbHMgbGlrZSB3ZSBoYWQgYmVlbiB0aGVyZSBiZWZvcmU6IEZvciB5b3VyIGluaXRpYWwg
cHVycG9zZXMgaXQgbWF5DQo+IGJlIGZpbmUgdG8gZG8gYXMgeW91IHN1Z2dlc3QsIGJ1dCBhbnkg
c3VjaCBwYXRjaGVzIHNob3VsZCBjYXJyeSBSRkMgdGFncw0KPiBvciBhbGlrZSB0byBpbmRpY2F0
ZSB0aGV5J3JlIG5vdCBjb25zaWRlcmVkIHJlYWR5LiBPbmNlIHlvdSdyZSBhaW1pbmcNCj4gZm9y
IHRoaW5ncyB0byBnbyBpbiwgSSB0aGluayB0aGVyZSdzIG5vIGdvb2Qgd2F5IGFyb3VuZCB3aGl0
ZS1saXN0aW5nDQo+IHdoYXQgZ3Vlc3RzIG1heSBhY2Nlc3MuIFlvdSBtYXkga25vdyB0aGF0IHdl
J3ZlIGJlZW4gYml0dGVuIGJ5IHN0YXJ0aW5nDQo+IG91dCB3aXRoIGJsYWNrLWxpc3RpbmcgaW4g
dGhlIHBhc3QsIGZpcnN0IGFuZCBmb3JlbW9zdCB3aXRoIHg4NidlcyBNU1JzLg0KSSBhbHJlYWR5
IGhhdmUgYSBiaWcgVE9ETyBwYXRjaCBkZXNjcmliaW5nIHRoZSBpc3N1ZS4gRG8geW91IHdhbnQN
Cml0IHRvIGhhdmUgYSBsaXN0IG9mIGhhbmRsZXJzIHRoYXQgd2Ugc3VwcG9ydCBhcyBvZiBub3c/
IFdoYXQgc29ydCBvZg0Kd2hpbGUvYmxhY2sgbGlzdCB3b3VsZCB5b3UgZXhwZWN0Pw0KSSBkbyB1
bmRlcnN0YW5kIHRoYXQgd2UgZG8gbmVlZCBwcm9wZXIgaGFuZGxpbmcgZm9yIGFsbCB0aGUgUENJ
IHJlZ2lzdGVycw0KYW5kIGNhcGFiaWxpdGllcyBsb25nIHRlcm0sIGJ1dCB0aGlzIGNhbid0IGJl
IGRvbmUgYXQgdGhlIG1vbWVudCB3aGVuDQp3ZSBoYXZlIG5vdGhpbmcgd29ya2luZyBhdCBhbGwu
IFJlcXVlc3RpbmcgcHJvcGVyIGhhbmRsaW5nIG5vdyB3aWxsDQp0dXJuIHRoaXMgc2VyaWVzIGlu
dG8gYSBodWdlIGFtb3VudCBvZiBjb2RlIGFuZCB1bmRlZmluZWQgdGltZSBmcmFtZS4NCj4NCj4g
SmFuDQo+DQpUaGFuayB5b3UsDQpPbGVrc2FuZHI=


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 11:05:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 11:05:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262960.455452 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEUUh-0004lX-1h; Mon, 31 Jan 2022 11:05:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262960.455452; Mon, 31 Jan 2022 11:05:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEUUg-0004lQ-Ur; Mon, 31 Jan 2022 11:05:10 +0000
Received: by outflank-mailman (input) for mailman id 262960;
 Mon, 31 Jan 2022 11:05:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ytUN=SP=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nEUUe-0004i6-Tm
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 11:05:09 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a4c8f6d4-8285-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 12:05:06 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a4c8f6d4-8285-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643627106;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=sC3eur4QdEIlF5bQPWtrghRvJJKkv5Mhx5Yoh5vnhF0=;
  b=RtKV0xkx5GQQ860TWLgY2YWsHmVUVF666bY4C4LTB1Z648cv2KHGEytK
   Bc8hiz0q6haioCV1aDkkruuiBLnjplrVswvRko7xILSjoc8orc5ehe1Yt
   jNJG6L1H4vUOAlzXvljHeaRCFBATUm+O2K3kzLkDAKBNWDNtwqEa53RP7
   E=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: rXpixTtgEncs4ydYkArc+FOiblkCRt/W1jqAxWggulHc7O9o3JXifNr/Ti3q9GrqbTAJD0LZZe
 espahSvDEKeANZk5L6lfCVZbmeQNzqKG+JMydT77Q1Cpb7IBP8DyWU9AOtmMZIBw9FiIQBH4VL
 o7/lxftvaH5ah5PgxzU4zQhw2KlOkATRm9IMoOMixNIdiN+BBI43MnZV81bq/zkyiphvdHTCYp
 DABbn67Y1ZYYAbsleA6WSQJ8VZ7ZJ3/L9Gm2y85ksZhC+ceHLsTL1oMKctOLkqYlqJIyNubDfo
 CIHEaDmJxT+lbkDWEHdAw1z3
X-SBRS: 5.2
X-MesageID: 65295880
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:yQBwO6AyPmnUKhVW/x3lw5YqxClBgxIJ4kV8jS/XYbTApGkn0zMBz
 jFKUGDQO67eM2bwKY9xOoizoBlTupXSz9E3QQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA
 xA2M4GYRCwMo/u1Si6FatANl1ElvU2zbue6WL6s1hxZH1c+En940ks7wobVv6Yz6TSHK1LV0
 T/Ni5W31G+Ng1aY5UpNtspvADs21BjDkGtwUm4WPJinj3eH/5UhN7oNJLnZEpfNatI88thW5
 Qr05OrREmvxp3/BAz4++1rxWhVirrX6ZWBihpfKMkQLb9crSiEai84G2PQghUh/rTS7jstB9
 tR0jreKWScZOPfox94yakwNe81+FfUuFL7vJHG+tYqYzlHccmuqyPJrZK00FdRGoKAtWzgIr
 KFGbmBWBvyAr7veLLaTUO5ji95lNMD2FIgepmth3XfSCvNOrZXrHfiQtIIIjG9YasZmBOuFW
 5UjTytVXgXwRjtSPm4aGoxmk7L97pX4W2IB8w/EzUYt2EDRxgFs1LnmMPLOZ8eHA85Smy6wj
 3ja8mHOJwAVPd2S1xKI6nupwOTImEvTQIsPEJWo+/gsh0ecrkQJAR0LUR2goP+2ima3QdcZI
 EsRkgIkoLIu7kWtQp/4VgehvX+flhcGXpxbFOhSwD+Kzq3Y8gOIHF8uRzRKaMElnMIuTDls3
 ViM9/v5CDoqvLCLRHa18raPsSj0KSUTNXUFZyIPUU0C+daLiKY3gxHUR9BvCpmciNHvBCrwy
 DCHqis5r7gLhMtN3KK+lXjFnjatq57hXgMzoALNUQqNyQd0Z5WsYYCy3mTK9vZLLIufTV6ps
 WANno6V6+VmJYqWiCWHTeEJHbeoz/WIKjvRhRhoBZZJyti20yf9J8YKumg4fRo3dJZfEdP0X
 KPNkSVQ1o5IDEWrVJRcWZKRO8Jw6ffaOu2wA5g4ceFySpR2cQaG+gRnakiRw33hnSAQrE0vB
 XuIWZ3yVChHUMyL2BLzHr5AiuFzmkjS0EuOHciT8vix7VaJiJd5o58hOUDGUO025bjsTO79o
 4cGbJviJ/myvYTDjsjrHWw7cApiwZsTX8meRylrmgireFAO9IYJUKe5/F/ZU9Y595m5b8+Rl
 p1HZmdWyUDkmVrMIhiQZ3ZoZdvHBMgj9i9rYnR8Ywf0ihDPhLpDCo9FLfPbmpF8rIReIQNcF
 aFZK61s/NwSItg4x9jtRcak99EzHPharQmPIzCkcFACk21IHGT0FivfVlK3rkEmV3Pv3eNn+
 uHI/l6FHfIrGlozZO6LOKPH5w7g5hA1xbMtN3Yk1/EOIi0ABqAwdXyo5hL2SulRQSj+Ksyyj
 ljOWUlA+biS8ufYMrDh3Mi5kmtgKMMndmJyFGjH97emcy7c+2uo24hbV+iUOzvaUQvJFG+KP
 o25Ftnwb68KmkhkqY15H+o5xK4y/YK39bRb0h5lDDPAaFHyUuFsJXyP3M9usKxRx+AG5VvqC
 xzXotQKa6+UPM7FEUIKIFZ3ZOq0yvxJyCLZ6u44IRum6XYvrqaHS0hbIzKFlDdZcOluKIogz
 Op44JwW5gWzhwAEKNGDiiwIpW2AImZZC/cst40AAZ+tgQ0ukwkQbZvZAy7wwZeOd9QTbRV6f
 m7K3PLP3u0OyFDDfnw/EWn28dBc3Zle6gpXyFIiJkiSnoaXjPEAwxAMoy88SR5Yz0sb3rsra
 HRrLUB8OY6H4yxs2JpYR2mpFgxMWE+Z90j2xwdbnWHVVRD1BGnELWl7MueR5kEJtWlbe2EDr
 r2fzW/kVxfsfd3wgXRuCRI09aS7QIwj7BDGleCmA9+BTsszbjfSi6OzYXYF9kn8CsQriUyb/
 eRn8Y6cs0Eg2fL8d0HjN7Sn6A==
IronPort-HdrOrdr: A9a23:qigcZKlrYma4ZJ88HFxQaHc8Hi/pDfO0imdD5ihNYBxZY6Wkfp
 +V88jzhCWZtN9OYhwdcLC7WZVpQRvnhPlICK0qTM2ftW7dyRaVxeBZnPDfKljbdREWmdQtt5
 uIH5IObeEYSGIK8foSgzPIYurIouP3iZxA7N22pxwGLXAIV0gj1XYANu/yKDwJeOAsP+teKH
 Pz3Lsim9L2Ek5nEfhTS0N1FNTrlpnurtbLcBQGDxko5E2nii6p0qfzF1y90g0FWz1C7L8++S
 yd+jaJq5mLgrWe8FvxxmXT55NZlJ/IzcZCPtWFjowwJi/3ggilSYx9U/mpvSwzosuo9FE2+e
 O86SsIDoBW0Tf8b2u1qRzi103J1ysv0WbrzRuijX7qsaXCNUQHIvsEobgcXgrS6kImst05+r
 lMxXilu51eCg6FtDjh5vDTPisa2HackD4Hq6o+nnZfWYwRZPt6tooE5n5YF58GAWbT9J0nKu
 9zF8vRjcwmPm9yV0qp/lWH/ebcHUjaRny9Mwo/U42uonRrdUlCvgolLJd1pAZEyHo/I6M0kN
 gsfJ4Y0I2mdfVmHp6VMt1xNfdfOla9MS4kD1jiU2gPNJt3ck4l+KSHqInc2omRCek1Jd0J6d
 P8bG8=
X-IronPort-AV: E=Sophos;i="5.88,330,1635220800"; 
   d="scan'208";a="65295880"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mZWA/tzh0dDlf2BFKLkRE4vbl5Y9lDfP70OnhScLr5K/ZzcvWiqpPRi5sJHT0IrEYhUlQpeHKXrjGGEY6muA5Ijuk7Gbt0clf1o29RjT7ZKcxjtV90+FjKwMIxvVKlOLhthPS6kRgJ5CG+j2BBlSXfumgVXrk6s2x9Ur2EcIwXEvIRSNFIGXdtnN1rggWegdXRO8FieoFwHFtY6iWdHHsLvmV4ZYxF3GdoSFAYuyIJhklBu+TSoEWQcS+suza/C8FMneiI6YYSTD880EEVM4fm49/m0pohRnnd9w47TzWH0Ul0JsxYZeoGuZB0iOLOvP4e5iz212MGBAarcnGU9qkg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9LIUrGA9GucF+pfPVHKnw1QV57lT0Fi/ugoVAfWYBUU=;
 b=VFFfpUFE/x43MxkizQT6UEFQGRvhPRtoIDKnAjLJA2JgQqvLhC7PQrHzoOthomZy+9MLyzaA/yr5XT2Y1skpAH/a6yTMX548NOLTTzF7eUFFVT+D91e5J9/l8giDw2dCw0RZJwqgyANG/mqtQzPI0OP3vM6poHjkOwiAqgQ9AyhccXF78I/3hYZQXOBXR2HvI4dTYsLBbn2i0dFmhxw8zdMMwjF0MkU0ofo2fVIheD9Zxev4tlaYfEErzO8wvZumtF/2tAqsBOcqcK/VwtmHY11ewxmkfhJUEY3X692kwvWXZhYT2tdXb7q7rurbpA0GcjxC9Eth+O2COgFeQaDCxA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9LIUrGA9GucF+pfPVHKnw1QV57lT0Fi/ugoVAfWYBUU=;
 b=ICVOSgppqE+s00+0pzftY/deYJpjBl/rAKKcHfWvybPxRk2DstO9dHQzaDH0TCahvt2Q+kRwEObpiOvJnqxF4jvaldAS81sy+n9ORC1IX2DdpgRDtcyEtbu/Q9p60ZtyCDxqn+a8c7Gu69X0KL4cqqR3uzCRy1YiKurbqKxKwY0=
Date: Mon, 31 Jan 2022 12:04:56 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"julien@xen.org" <julien@xen.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Artem Mygaiev <Artem_Mygaiev@epam.com>,
	"jbeulich@suse.com" <jbeulich@suse.com>, "andrew.cooper3@citrix.com"
	<andrew.cooper3@citrix.com>, "george.dunlap@citrix.com"
	<george.dunlap@citrix.com>, "paul@xen.org" <paul@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Rahul Singh <rahul.singh@arm.com>
Subject: Re: [PATCH v5 06/14] vpci/header: implement guest BAR register
 handlers
Message-ID: <YffCWGuP9ny8zG2p@Air-de-Roger>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-7-andr2000@gmail.com> <Yd7K+9fvnBz+WTXA@Air-de-Roger>
 <77c00154-646c-a2a3-98cb-be4324003446@epam.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <77c00154-646c-a2a3-98cb-be4324003446@epam.com>
X-ClientProxiedBy: LO4P123CA0076.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:190::9) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: aab3fdde-9a92-4ab0-e1a6-08d9e4a986c5
X-MS-TrafficTypeDiagnostic: BN7PR03MB3427:EE_
X-Microsoft-Antispam-PRVS: <BN7PR03MB342787A2E284B1DAD113B2BB8F259@BN7PR03MB3427.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: w+iBPXylHMjYXFbZirwxNApQmcjnIiatqjntcw9iYosn9ctOmVrQ/sv8W+HtwsxRuTFkqVE4pnj7ZqzLOnuuGZpr1W7t904hH/KnxsAXOwWAyUCKoor64Z3/MEtmqNM63bh3t/++f/ZVPIOKEyit+R24w1fJz7AN+e+HzUV5yTbkgP8qB7dV7iv66exI91a7F2zaXUGSIcKKR+vbUSBQ3NijJnwAepyyzi2QmAODsaQlk3wVXHoCnX+0qyg35k5U59lSYwau1y/6jC46FBNhnHRwr8lhIb0+pesV67jODUWStuQ0dZB8mV17MBE2KZaV9fFa37ssEoEWRqBlJ9AQCvCmm8MAjWGjvPKzOjkYQiOeCpCzpWU3nkTZ1z36wwd0OuQ/+//Ph7fPT8V9QsqOc/Qc/N9NLvoiARenmA5CIbEE1MXvg7szyxGNFIP32pBcG417yOFZ08wSWTTFr4Droy6j5wBu5Lv2/6GDb7qXiVv21C8dIBg6xO1dBlsVHUM/WrcmCYL7HZhmyS4/IQ0msQok1S3ku5toR+4QnvEqF2m/lFwxBkeoUQXFWWjNcOiG09iVNeI5UyYay4yePfaCwxv0BlMpmAVgEevy7MEZGhSW7GuMlgc1NG+cUWorKj5g58Ya7poY+L7N4hgQ01PS+w==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(7916004)(366004)(38100700002)(8936002)(86362001)(33716001)(82960400001)(8676002)(66556008)(66476007)(66946007)(6666004)(9686003)(6512007)(4326008)(53546011)(5660300002)(6506007)(508600001)(6486002)(54906003)(6916009)(316002)(83380400001)(7416002)(2906002)(186003)(26005)(85182001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Q1dmMXZwWjE2eklTWWZnVko0cWg0YTAySWZzcXFKV3owbnJtdGRqV01HVHd4?=
 =?utf-8?B?dG9EZDhINTQrSDhxYVR0ckFGalNwYmVadWxaQkpVcFNQQXhDcHhFWjhmMjFU?=
 =?utf-8?B?K0pUSTdOYTdLV25WeUJham1iVUZTZ0M2UEp5ZkdqdzRsOEFUUlR5OWl6aEJt?=
 =?utf-8?B?TTJBb1pLdGdMRXM0RDRLL2JFVnE4N2dxeGUzNWE5SHpBa2IraytTbWJvb21r?=
 =?utf-8?B?RE1PMmN4eGtyb1F2ZDNFSGV0YVh5aDJnT0pTY3o1bmZLbGJ4N01EamhrWFpW?=
 =?utf-8?B?V1pIc095S3l3QjZQWWI4L0Jvd2swMTdCRSsvakVUb05mZUYyYk9xRzRMcFR5?=
 =?utf-8?B?dElWUnJQQmxoNHN6YVgrREJZNEVpRngzUHc4WW8yenpvU0R5bXBMQjFNcEpL?=
 =?utf-8?B?OVlGQUVRL3R6Q1IwMkVJOXFoMmIvZDYzZTFSNXl2YnJ5NUtaK0ppS2srMHIx?=
 =?utf-8?B?YWJQaFd3RkRaNFY1emdlU2Y3cGswSHNFd0dKNGUvVG1KMWRaaHRKT1JWWnNp?=
 =?utf-8?B?UTFmemhrbmJQcW9IT0ZVdnBzUzA4QkFSSkdvVnhVRVVVMnFMcTVSRWwwU2FP?=
 =?utf-8?B?MldOR0lOT3VHWmZFUXBNSnA2c1NyMnBQWi9xSmwwWkVaeVJEQThtNXVVcnNO?=
 =?utf-8?B?aWd3NytsLzc4KzVmUXQ5SWpHU2pNZHBqVVFqeTg4R21oN1B0Tm5LRjhiS2tW?=
 =?utf-8?B?L0ZUS3VCdjl3SjBpVmFLKzVvYlBJQ3F2Y0tJTVpaUHAvUnR5aG8wdlNCaUNm?=
 =?utf-8?B?RUxCVURsZ1IzN1VDRWc3dVBzNnhPOWUvVUVDbFVwdGJ0Z2VvT0lPUHZHSnV3?=
 =?utf-8?B?blExOGRXeTgvcEVBS1BUcUhXT0NSSmZTb1ViMzl5SDY3RFVmM2tlSGVQek1X?=
 =?utf-8?B?bkM2Z1pYYnlYZlRCWm1FcUxFd2RTajBqaHVMZEQ1b1ljdDFNUDByZU02ckhV?=
 =?utf-8?B?MnM5N1hIdU11QTVPdk1CWG5RRlRpMXBTQkJobXorUmJINDJ4ZUJmT3cxZU1w?=
 =?utf-8?B?R05uZHFKZGgwYmNDZnZyeW9ZdEtQeTVtK3Z3aDNBSXNUY0RIdkVvK1N4clJa?=
 =?utf-8?B?TndGZUJQWnlwbkgydzlUUnRqMzhBWEM3Q3JYVXZOYW5jVTJuUzB3Z0V0cnIr?=
 =?utf-8?B?TytkdWVXdDErblV2Nkg3YTBCaWRoMndSOFhzdlY0OVhjZWp2amhyaHdpMmVz?=
 =?utf-8?B?SVo3Mlp1b2thRHhzN3gwUTgxaHFaQjc0QmNzVlo2TGxLRDdIK1JzeXdVWWF3?=
 =?utf-8?B?VXRZTzRlR3BUOFBuUVJtSG4zWGoxMjJFczRqSkMwUldmNGgzQWREN0hGdUIv?=
 =?utf-8?B?REl4UWZ3UDdXWE45N3hzOVMydjcwdUNOdjFiNHRza1R0VkdCeTdrUEk1NDM4?=
 =?utf-8?B?cmhYTmZ0cG1YK2Z6aHdqR05wRmk1Ukt3VUUxRVQ0Q1ZuUlQ2bTF0M2ZWSDA3?=
 =?utf-8?B?WVVxSDBnQ1I0Y0xsRUhLMW1Xb09pc2JzV1paRzBxSXRYempvWnRxdzI0RUpF?=
 =?utf-8?B?eklya1lsZVh4U1crS3R6K0VNeXdBTWpNWm5VdGFUSXlhM1JDbXlzUVNpMERN?=
 =?utf-8?B?ZVNtRFp4MmZmMWpSUHhJOUlHTy82RitlOTlXbVRNWnhlOS9haTFpQUY3Z0FO?=
 =?utf-8?B?L2R3SGx1Z281ZjVZSWlOYTQ0eXBNSTJ3R2ZUQnNuNUVya2hHN0hWUFdhOXNH?=
 =?utf-8?B?NUZPSDVBMW5uOHNIalF4YXpVbU5MdGJSWEdyOGxtL0JWazF6bEVTN08zUWdm?=
 =?utf-8?B?MWZjZzROV3NoVUZnd0sycTk5TzhId3hWczFOM3F3emhNNENsS0lNUXVxSGRy?=
 =?utf-8?B?QnFVSWd2TCszOG04bUlMUkZHQnJRMTJYWXVSWXYwQ1JSM0R0OGJ0a1hkYTlT?=
 =?utf-8?B?N1REU1hnK0lyS0Y1TG1mUW5jYVQ3WDFYb0I3aXV6em1rTUR3ODcwaW9EbnBS?=
 =?utf-8?B?MS9rU1RYQUZJVlBGanVxRXV5bWV5RU9wazZsWGdQeEsrQ2lRdkxnOUorYUxt?=
 =?utf-8?B?SWcyYnZncUxtb0NFK3o5aVp1SHVXUUMrZTlZNC8rWVlzeGY0aTBMQ01yMmZ5?=
 =?utf-8?B?Ny9PakxUdDBDQkJETk02ODZUeVQyUXg5OVB6TFJ6RXp0WVVnYjVLVWFyL1Iw?=
 =?utf-8?B?QkxUdTlTaG5VU0Z4TW9EVGl2bFNJVFFqQkwxdW1CUXA3cFZkbStCaWp1bUFX?=
 =?utf-8?Q?qja4zbV99E/rNQaQXi1amGY=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: aab3fdde-9a92-4ab0-e1a6-08d9e4a986c5
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 11:05:01.3232
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: gRsdkHEsmn9GH3fngtn0h4fUYTqjFoFpv1Du8lnV+dgzkAr3rvEFsxNczOFXyZyDjBb1Bzoj8OgsrGVJtTVCKg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR03MB3427
X-OriginatorOrg: citrix.com

On Mon, Jan 31, 2022 at 09:47:07AM +0000, Oleksandr Andrushchenko wrote:
> Hi, Roger!
> 
> On 12.01.22 14:35, Roger Pau Monné wrote:
> > On Thu, Nov 25, 2021 at 01:02:43PM +0200, Oleksandr Andrushchenko wrote:
> >> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> >> +static void guest_rom_write(const struct pci_dev *pdev, unsigned int reg,
> >> +                            uint32_t val, void *data)
> >> +{
> >> +}
> >> +
> >> +static uint32_t guest_rom_read(const struct pci_dev *pdev, unsigned int reg,
> >> +                               void *data)
> >> +{
> >> +    return 0xffffffff;
> >> +}
> > There should be no need for those handlers. As said elsewhere: for
> > guests registers not explicitly handled should return ~0 for reads and
> > drop writes, which is what you are proposing here.
> Yes, you are right: I can see in vpci_read that we end up reading ~0 if no
> handler exists (which is what I do here with guest_rom_read). But I am not that
> sure about the dropped writes:
> 
> void vpci_write(pci_sbdf_t sbdf, unsigned int reg, unsigned int size,
>                  uint32_t data)
> {
>      unsigned int data_offset = 0;
> 
> [snip]
> 
>      if ( data_offset < size )
>          /* Tailing gap, write the remaining. */
>          vpci_write_hw(sbdf, reg + data_offset, size - data_offset,
>                        data >> (data_offset * 8));
> 
> so it looks like for the un-handled writes we still reach the HW register.
> Could you please tell if the code above needs improvement (like checking
> if the write was handled) or I still need to provide a write handler, e.g.
> guest_rom_write here?

Right now (given the current code) unhandled reads and writes will all
end up being forwarded to the hardware. This is intended for dom0, but
this is not how it's going to work for domUs, where accesses will be
discarded based on an accept list. IOW the handlers that you are
adding here should be the default behavior for registers not
explicitly handled in the domU case, and shouldn't require explicit
handling.

> >> +
> >>   static int init_bars(struct pci_dev *pdev)
> >>   {
> >>       uint16_t cmd;
> >> @@ -489,6 +542,7 @@ static int init_bars(struct pci_dev *pdev)
> >>       struct vpci_header *header = &pdev->vpci->header;
> >>       struct vpci_bar *bars = header->bars;
> >>       int rc;
> >> +    bool is_hwdom = is_hardware_domain(pdev->domain);
> >>   
> >>       switch ( pci_conf_read8(pdev->sbdf, PCI_HEADER_TYPE) & 0x7f )
> >>       {
> >> @@ -528,8 +582,10 @@ static int init_bars(struct pci_dev *pdev)
> >>           if ( i && bars[i - 1].type == VPCI_BAR_MEM64_LO )
> >>           {
> >>               bars[i].type = VPCI_BAR_MEM64_HI;
> >> -            rc = vpci_add_register(pdev->vpci, vpci_hw_read32, bar_write, reg,
> >> -                                   4, &bars[i]);
> >> +            rc = vpci_add_register(pdev->vpci,
> >> +                                   is_hwdom ? vpci_hw_read32 : guest_bar_read,
> >> +                                   is_hwdom ? bar_write : guest_bar_write,
> >> +                                   reg, 4, &bars[i]);
> >>               if ( rc )
> >>               {
> >>                   pci_conf_write16(pdev->sbdf, PCI_COMMAND, cmd);
> >> @@ -569,8 +625,10 @@ static int init_bars(struct pci_dev *pdev)
> >>           bars[i].size = size;
> >>           bars[i].prefetchable = val & PCI_BASE_ADDRESS_MEM_PREFETCH;
> >>   
> >> -        rc = vpci_add_register(pdev->vpci, vpci_hw_read32, bar_write, reg, 4,
> >> -                               &bars[i]);
> >> +        rc = vpci_add_register(pdev->vpci,
> >> +                               is_hwdom ? vpci_hw_read32 : guest_bar_read,
> >> +                               is_hwdom ? bar_write : guest_bar_write,
> >> +                               reg, 4, &bars[i]);
> >>           if ( rc )
> >>           {
> >>               pci_conf_write16(pdev->sbdf, PCI_COMMAND, cmd);
> >> @@ -590,8 +648,10 @@ static int init_bars(struct pci_dev *pdev)
> >>           header->rom_enabled = pci_conf_read32(pdev->sbdf, rom_reg) &
> >>                                 PCI_ROM_ADDRESS_ENABLE;
> >>   
> >> -        rc = vpci_add_register(pdev->vpci, vpci_hw_read32, rom_write, rom_reg,
> >> -                               4, rom);
> >> +        rc = vpci_add_register(pdev->vpci,
> >> +                               is_hwdom ? vpci_hw_read32 : guest_rom_read,
> >> +                               is_hwdom ? rom_write : guest_rom_write,
> >> +                               rom_reg, 4, rom);
> > This whole call should be made conditional to is_hwdom, as said above
> > there's no need for the guest_rom handlers.
> Yes, if writes are indeed dropped, please see question above
> >
> > Likewise I assume you expect IO BARs to simply return ~0 and drop
> > writes, as there's no explicit handler added for those?
> Yes, but that was not my intention: I simply didn't handle IO BARs
> and now we do need that handling: either with the default behavior
> for the unhandled read/write (drop writes, read ~0) or by introducing
> the handlers. I hope we can rely on the "unhandled read/write" and
> get what we want

Indeed, the default behavior should be changed for domUs to drop
writes, return ~0 for unhandled reads, then you won't need to add
dummy handlers for the registers you don't want to expose.

> >
> >>           if ( rc )
> >>               rom->type = VPCI_BAR_EMPTY;
> >>       }
> >> diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
> >> index ed127a08a953..0a73b14a92dc 100644
> >> --- a/xen/include/xen/vpci.h
> >> +++ b/xen/include/xen/vpci.h
> >> @@ -68,7 +68,10 @@ struct vpci {
> >>       struct vpci_header {
> >>           /* Information about the PCI BARs of this device. */
> >>           struct vpci_bar {
> >> +            /* Physical view of the BAR. */
> > No, that's not the physical view, it's the physical (host) address.
> Ok
> >
> >>               uint64_t addr;
> >> +            /* Guest view of the BAR: address and lower bits. */
> >> +            uint64_t guest_reg;
> > I continue to think it would be clearer if you store the guest address
> > here (gaddr, without the low bits) and add those in guest_bar_read
> > based on bar->{type,prefetchable}. Then it would be equivalent to the
> > existing 'addr' field.
> Ok, I'll re-work the code with this approach in mind: s/guest_reg/gaddr +
> required code to handle that
> >
> > I wonder whether we need to protect the added code with
> > CONFIG_HAS_VPCI_GUEST_SUPPORT, this would effectively be dead code
> > otherwise. Long term I don't think we wish to differentiate between
> > dom0 and domU vPCI support at build time, so I'm unsure whether it's
> > helpful to pollute the code with CONFIG_HAS_VPCI_GUEST_SUPPORT when
> > the plan is to remove those long term.
> I would have it without CONFIG_HAS_VPCI_GUEST_SUPPORT if you
> don't mind

Well, I guess if it's not too intrusive it's fine to add the defines,
removing them afterwards should be easy.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 11:10:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 11:10:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262969.455463 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEUZp-0006Iq-Ls; Mon, 31 Jan 2022 11:10:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262969.455463; Mon, 31 Jan 2022 11: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 1nEUZp-0006Ij-Ih; Mon, 31 Jan 2022 11:10:29 +0000
Received: by outflank-mailman (input) for mailman id 262969;
 Mon, 31 Jan 2022 11:10:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ytUN=SP=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nEUZo-0006Id-DG
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 11:10:28 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6396a67c-8286-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 12:10:26 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6396a67c-8286-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643627426;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=53/mHGAoV92EXAJIjS4AkpvvTTU5lI9wu3D8/TyvtWQ=;
  b=TdKUx1YIkgNimHWk5WnKDmz0mfvnCzzKpM+WaUINMntoUs8iHTFs0LyR
   W5r2AlzC8i/W0RJ4bW3kOHT9MWJBAlRjjQwd51JJPnXipkw+O0bR4/IWI
   P7B8jZ9KPnjMPDWZuSbO9LEmXHZBjYO+Us2Si90C6QcTQo03kE/LTMnhR
   g=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: SMSI+oOj7XycrkFql/OWFntfskiuLqN4QjuL6hDwQlWYq/Pfj59iGNvORctquOAe13QOeSpHPn
 aCoXAnu3/XXQBSQmYcd2IwWBEyNqp+Tp04XNsIy3qsUP6NwCuHr6XYDn2pLwUvdEhfNseHj4BK
 RaxqaPtJA2Zf4PF866YZuG1JBpw5rRC0RsbPbbLtXL5QYfdFGuuRyJETvHnLWYCN8arWTII5KB
 YXmTl2ovXirRlhmFiSyRTDuO6pxaFSNsGMZGC3/MapflENuSEhG4rV4yRgi46fVaacGV+cwJCD
 XTXWPkxz90ZD1eR9s5cuGeC0
X-SBRS: 5.2
X-MesageID: 63115692
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:K0LLsaIdoglk/cbzFE+R5ZMlxSXFcZb7ZxGr2PjKsXjdYENSgWcOm
 GBOUWqBOa2Ca2Wkft1xPt+zoU4GvpLUmNNmHgZlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokcxIn5BC5C5xZVG/fjgqoHUVaiUakideSc+EH170Us4wrZg6mJVqYPR7z2l6
 IuaT/L3YDdJ6xYsWo7Dw/vewP/HlK2aVAIw5jTSV9gS1LPtvyB94KYkDbOwNxPFrrx8RYZWc
 QphIIaRpQs19z91Yj+sfy2SnkciGtY+NiDW4pZatjTLbrGvaUXe345iXMfwZ3u7hB3Su/p79
 O5I9qCrUCkgLKPMutwFUx5xRnQW0a1uoNcrIFC6uM2XiUbHb2Ht07NlC0Re0Y8wo7gtRzsUr
 LpBdW5LPkvra+GemdpXTsF2gcsuNo/zNZ43sXB81zDJS/0hRPgvRo2UvoYBgWlh3KiiG97xP
 +oBUSJQKyjZXBFjJXY2ErhnoL230yyXnzpw9wvO+PtfD3Lo5A573aXpMdHVUseXXsgTlUGdz
 krv5Xj0ByY/JdOWyDeb2n+0j+qJliT+MKoKHaC83u5nhhuU3GN7IAcfVUa/5+K4jEG+c9tFL
 gof/S9GhaI/7lCxR9/xGRixumeZvwU0UsBVVeY97Wml9K3Q5AqIA3keeRRIYtcmqcweSCQj0
 xmCmNaBLSxitviZRGyQ8p+QrCiuIm4FIGkafygGQAAZpd75r+kbqRbCTc1qFqKvufTzFSvt2
 DCBrCU4hLI7gNYC0uOw+lWvqzCxopnESCYl6wORWXiqhiteYIOmfIWu5ULs0edbLI2ZQ1+Cu
 1AJg8GbqusJCPmljzeRSe8AGLWo4fetMzDGh1NrWZ47+FyQF2WLJN4KpmskfQEwb5hCKWSBj
 FLvVR15v7t5NkeRaOxLeJufAtYkzYrYDdTif6WBBjZRWaRZeAiC9SBoQEef2WHxjUQh+Z0C1
 YenndWEVihDV/k+pNaib6JEiOJwmHhirY/Gbc2jl3yaPayiiGl5oFvvGH+HdagH4ayNu205G
 P4PZpLRm32zvAATCxQ7ELL/z3hXdxDX5ris8qS7k9JvxCI8QgnN7NeKmdscl3RNxfg9qwsx1
 ijVtrVk4FT+n2bbDg6Bd2pubrjiNb4m8y5gYHxzZQb2iiRyCWpK0Ev5X8FtFVXA3Lc7pcOYs
 tFfI5nQahixYmmvF8shgWnV89U5KUXDafOmNCu5ejkvF6OMtCSSkuIIijDHrXFUZgLu7JNWi
 +T5imvzHMRfLyw/Upe+QK//njuZ4ClG8MovDhSgHzWmUBi2mGScA3av3qZfzgBlAUir+wZ2I
 C7PX09A+7GR8tBkmDQL7Ijdx7qU/yJFNhMyN0HQ7KqsNDmc+WymwIRaV/2PcyybX2TxkJhOr
 80Mpx0lGPFYzltMraRmFLNnkfA369f1/ucIxQV4BnTbKV+sD+o4cHWB2MBOsIxLx6NY5lTqC
 h7epIECNOXbIt7hHX4QOBEhMraJ28YLl2SA9v8yOkj7unN6peLVTUVIMhCQoyVBN78pYpg9y
 OIstZdOuQyygxYnKPiciSVQ+zjeJ3AMSfx/5JobHJXqmkwgzVQbOc7QDSr/4ZeubdRQMxZ1f
 m/I1fSa37kFnxjMaXs+E3TJzNFxv5VWtUAY1kIGKnSIhsHB2q090ipO/GllVQ9S1BhGjb5+Y
 zA5K01vKKyS1D50n8wfDXu0EgRMCRDFqEz8z1wFyD/QQ0WyDzGfKWQ8PaCG/VwD8nIadT9ep
 enKxGHgWDfsXcfwwiptBhI19629FYR8pl/YhcSqP8WZBJ1rMzPqj5inaXcMtxa6U9g6g1fKp
 LUy8et9AUEh2fX8f0Hv51Gm6Ikt
IronPort-HdrOrdr: A9a23:ZJxYWqo2jysqsbSxeseO318aV5uxL9V00zEX/kB9WHVpm5Oj+f
 xGzc516farslossREb+expOMG7MBXhHLpOkPQs1NCZLXXbUQqTXftfBO7ZogEIdBeOk9K1uZ
 0QF5SWTeeAcmSS7vyKkDVQcexQuOVvmZrA7Yy1ogYPPGNXguNbnnxE426gYzxLrWJ9dOME/f
 Snl616T23KQwVoUi33PAhOY8Hz4/nw0L72ax8PABAqrCGIkDOT8bb/VzyVxA0XXT9jyaortT
 GtqX202oyT99WAjjPM3W7a6Jpb3PPn19t4HcSJzuwYMC/lhAqEbJloH5eCoDc2iuey70tCqq
 iAnz4Qe+BIr1/BdGC8phXgnyHmzTYV8nfnjWSVhHPyyPaJDQ4SOo5kv8Z0YxHZ400vsJVXy6
 RQxV+UsJJREFfpgDn9z8KgbWAqqmOE5V4Z1cIDhX1WVoUTLJVLq5YEwU9TGJAcWArn9YEcFv
 V0Bs203ocZTbqjVQGbgoBT+q3vYpxqdS32B3Tq+/blnAS+pUoJj3fxn6ck7zM9HJFUcegz2w
 2LCNUuqFh0dL5lUUtKPpZ3fSKGMB2/ffvyChPmHb3GLtBOB5ufke+93F0KjNvaDKDgiqFC3q
 j8bA==
X-IronPort-AV: E=Sophos;i="5.88,330,1635220800"; 
   d="scan'208";a="63115692"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DDbI9fI2KLkvFt8MlZpQPbOjm2TWSSasrGskFkJOLSi7Mo67GUsHzjGrfoVOt2aYbWTOa8iRqRUisjyW/TuscOFkg0izBr6FV6RYL3iXLXkeK6N/oGz6zkVz11ziniTwB2ZAEm/ekwug/E3jYloDXVIV1qKG1PYhG/izY38wCRmZufdnk7MIM9muBvT94QzX4DCieTvY55u0eySC9Gs28dhICO7hrhJLYXTNfzml0Egkd5zNXQ9vOYf5UKDLQMZLWzq1uP2ln91lqank3qwpOX4bme8SI3Rnw8vivYVJJO38RbFPjtB13MsoltDyBzpBUdxAFpxNuzMqvlWU84Wglw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LwEIqYJXTpCzYSGu/OnGTxScL933UEbnrqIaEm41bJg=;
 b=NWBS3JvEFAcOz1vJl5OlXqqXFnN1ewhXosEK1BUV4DDjxT8roARYJqjTaZOHcFe/L1stkRax1uL/CH/Lo2qXvfexAl0yOH22w7SJG59Wd7XT4YABzuvkWQrccyaTMXBY88a+Sq93SbJCYK571JCbQwvsjhoR5jDijDN5xrNDD9prTGoMxylkisohN+cUkPKVj8loDpEyQ00rzz73zqFGNcX1V623kPUQicCtuqY1ZohfthYf1hC44j2BWEpbrDpr4O2BUSnqEZgQAyJdOdZaqkm5c9LXfk3oXO3ybPq9wk2WXvEuDFLnCQVVsyc+P1kQmAlui4JVH/eBxHPNfDmM1Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LwEIqYJXTpCzYSGu/OnGTxScL933UEbnrqIaEm41bJg=;
 b=Nj0nXMoKzdXkVANepzp6+aFIjuv0WnXFLbsvxo3hq2eiFmNpXPuZP8S5fj0cKYylxb4bnflEKe+619/uJhP6Ly4aLq23ABadFTUuDbfUQm/V2b4ajSius4kLkEOOaZ/gSLJ01hFFgMA1EP3Nvtw4U86ZrhDIlrH0lh8p8GzMY/o=
Date: Mon, 31 Jan 2022 12:10:17 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"julien@xen.org" <julien@xen.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Artem Mygaiev <Artem_Mygaiev@epam.com>,
	"jbeulich@suse.com" <jbeulich@suse.com>, "andrew.cooper3@citrix.com"
	<andrew.cooper3@citrix.com>, "george.dunlap@citrix.com"
	<george.dunlap@citrix.com>, "paul@xen.org" <paul@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Rahul Singh <rahul.singh@arm.com>
Subject: Re: [PATCH v5 06/14] vpci/header: implement guest BAR register
 handlers
Message-ID: <YffDmW4JGk+iDIVF@Air-de-Roger>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-7-andr2000@gmail.com> <Yd7K+9fvnBz+WTXA@Air-de-Roger>
 <77c00154-646c-a2a3-98cb-be4324003446@epam.com>
 <c7e87ebd-2c56-d510-b08b-02d53f9158d1@epam.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <c7e87ebd-2c56-d510-b08b-02d53f9158d1@epam.com>
X-ClientProxiedBy: LO4P123CA0089.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:190::22) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4370acec-b25f-42a5-ef79-08d9e4aa452c
X-MS-TrafficTypeDiagnostic: BN7PR03MB3427:EE_
X-Microsoft-Antispam-PRVS: <BN7PR03MB3427CB6D96F8ED66407421158F259@BN7PR03MB3427.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: z9OaRBAb4am0HFeoU/oaVVxb3e3GSlQh2yDEMr8EqwKiTz8qczSoV+bW0+oldM7s0KTgRL16p/+x5uc2mb/Wf2AiLu6+NlN843xlQgH1pxB/xYSWYCf6abrc4VkjAIHR7uGsVq6QcL7Ypn8D2tv95U4wGOY8SiAOqSTchvJmfwy2jBBLoX6r2duX75dqCHXV+3QbSa20eOR7dCAHRSVz84+N+C0d3oJUM0mBcoOeFjlmfe1HTwAQUA2zYQNTyqsz3gXS0z07KHsfXsdKKRP4Ge7eeEAsx0xabr83VO6Lbi07FSZCQMbn+qshFZhiMTK6d0iUPVRmcTM747T8AfOQvCp1cdZ4jfjIjIdWb8llzlamaUvitYJu6ttnUq/ahIMSP4QxTDmiNIImkG6EQHslxvcK9jn8JRU2+6yPGCHpasBUTd8zgjjVJBEoohW0nOs+R7kxxAxC9bUvBfgI8hgPGD90253mKmYNcr4aBDo931DJoQaZjvlFdPYfA4toeRJUJxRQ1wdwijwa5EElH9ZIFLllUBFiHqeH0E6jio/bb4uMY36fGQMpTSapoDX04/FLp75zE2uqr08xrnjUSdqoMJoVx7OGpuw8ARJDYq4bC5dxk4h8J2n2f7Y/tO5F60UN1t60CkkE4SeBNpZI5//3OZtOlud/npB+BejWMJzqOUr8D1IwkA1Z+eB7mquUZsILqDK3vaKHVLIDmBM/kjQUuw==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(7916004)(366004)(38100700002)(8936002)(86362001)(33716001)(82960400001)(8676002)(66556008)(66476007)(66946007)(6666004)(9686003)(6512007)(4326008)(53546011)(5660300002)(6506007)(508600001)(6486002)(54906003)(6916009)(316002)(83380400001)(7416002)(2906002)(186003)(26005)(85182001)(67856001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MThONkRvU2FPZmdVWWJOM2RmNkNTMEpDMFlrWDJPWWFFYzdtc00rajRDdGIv?=
 =?utf-8?B?RCtLVVcxVFk5dGNEdi9RL25EWnJ6UENjcnU4eG1WaDBWTnN5UE4zUFFRQ3Zi?=
 =?utf-8?B?YjVvaEtPY1VTRUNMWk5ybGsvdjNCdEdXcTE5S0RtUWpKTm9QZzR4NlRPa2NV?=
 =?utf-8?B?MmpHcGhKVVJOc0owY2J3aXFieE0rdU9HbEhYSkx2NE13QTYrVmUrZ1llTkw4?=
 =?utf-8?B?NEU2Yk9jTjMzQnAzbVJQMGpYb1hCcEl4K0kwNmhRdjlhNWVpdVJqYnJ6a3hN?=
 =?utf-8?B?MVkwZm13OFRHdE5kMG9kN3lYVkRyYmhVTVhiWitaSlk4NS83RkVUNHRzb2Uy?=
 =?utf-8?B?SEkxVzV3RXdKVVZxcHlLTHZWeVJCNnEzZm5Hb1NreVNXODFhd1U0RGVIYnc3?=
 =?utf-8?B?Rmp1bXFMV2orQzhYOHlrcEdRbGt4U0RvdTFpclFBelhFdGcwQ3NTSTY3NlNn?=
 =?utf-8?B?dTRlNVBJUVRKbnhCalAvNEd5SnBwSFh1MDczenc5TzFta1NQY2YyemxuQTJ3?=
 =?utf-8?B?UjVUYURYR0loRlZreTVoNExvaEpTaTdoTTFmNGp6R0FpYzUvUlhKV0wweG5i?=
 =?utf-8?B?bkc5ZGdWTmxyTzR5cFNMV0lVWVpQZlk3aUh5MGd6bjRnOXQ4THFNSFZic1ZZ?=
 =?utf-8?B?eUNWcHdyanVBZGViOVNoalpZZk9ZeU5SWFJpS2NwVmZtVnhSR2NiSm8vY0Vl?=
 =?utf-8?B?WGZ6WnEzbUxMSFFQWTQ5bk9sWDQ1eUgxZUtlTjYyOG41aDNUb1F3MHBEMnZJ?=
 =?utf-8?B?cVFWREZkUEZjUGZNbkVzWGdUYzFWRGpHeTJ5SWRtSmNWU3VlZUpXbU5kQ1A0?=
 =?utf-8?B?NjRCUGtUNVN6WDFDN0JodXZpelpaZnMwNndkZHk1QlVjMkZsdXB4cXpyc2R0?=
 =?utf-8?B?alB0dDB0TU5SNUl2MHJ5NGNPV1c2dVFlZmxBeVh3RXl6elRhNVN3Q2dSc2V6?=
 =?utf-8?B?cHUwcXJZdmNwMS81QUNETUZCN1JRUGlOeGpYUGUxOS8vOFdTOE1acTE1R25p?=
 =?utf-8?B?c05WeXB4cjhaZVJCbVJxTG42L2dXVWZZNTFGUGV4TW81NHFQdEIzNWFVbWpo?=
 =?utf-8?B?ZEEwRTNZNEdUL3pYK2NER01KaXhYdlBjRFF1UVBzZldnNHFQZHZPdE5JMUc5?=
 =?utf-8?B?Z25wb0NoK0Zab0dXWjJMZHlaby9aRmZTUS9EdXhOQXVzYzNsTFR1M2xOVits?=
 =?utf-8?B?eTNXWlJBdzFXMkt5UHdGWVdNZ2RTNVlMMHRYakJXRnlQUEdReWJYMDd0RDl5?=
 =?utf-8?B?dytOU2VWQTYySkxGaGhzTjRDOGZteHRyTnAxcWhXMCtzYkdFWGZ5Vmt2cEt2?=
 =?utf-8?B?N0dSWTNyQVNyZW90UnZJa29ubUpOSE9Nemo3dHUzbFFPZW51WWVVcXZSTkJC?=
 =?utf-8?B?R0pCRGh6Z0JlTFVoTGwxQ2RCOG52Ly9pdUFXMDdJcWM2Q0NhbXZiYmM0YmNJ?=
 =?utf-8?B?b3VBRFBtbElZNVYxd2lxL281VmRCbEpQdGp6NTJjS1VxWDZTSmZJZmhqSngr?=
 =?utf-8?B?TkxUZzJnaHJnaWszME9lT0dSUnlWdEMxWHRBNDJUVDdWMkZmNFR0eThsd1ZH?=
 =?utf-8?B?bExhUEcwb1VycDAwZHkzOXFBNHdhYlgwc2ljdzlkWVVHQjlNSVh6dm9ZVjVZ?=
 =?utf-8?B?Q1FRSWh1RGJsUDE4YnVRdGNQV0VpdXJDV2RrY2ExUzBCSWVCU2NBR2tScmNs?=
 =?utf-8?B?R2FRakNCajltNGoydkJ6Zno3aUs5Y0EyRGw3NjZ3QlVlTGdjcWVDblc4T2hE?=
 =?utf-8?B?N25GaE8xTDlaNXhpcXFNamkrbnM2VEhzbXR4cWR6K0NiWUdsRERRYVZjZDU2?=
 =?utf-8?B?TDhXRmdrTVBodmdJMFZ0QURnd2tOMmFlMVlQYUFuNlNLL3h6TjNxTUNRMTdu?=
 =?utf-8?B?TjZlbFRyTmY1TWtwd2FYT0pwQm5LZkplS1k3djVpQ285aURTRGxiMXphN0JD?=
 =?utf-8?B?YlFJTEx1b2FIdVpkdzcvVllZdVNVRGVVcXFHZnhRb0UzYWM1UmUycHdZaTJK?=
 =?utf-8?B?T1E1OHNValB5Yi9kMGZka0ZEOXlsMzMvbzhVZjkyNFVPMmhNYkRJNDUwcHB0?=
 =?utf-8?B?cyt0V3BBK3ZkOXN1RXRUK04rMk5vSWIxc3JVajZiRkhkYldXelNqYlVZR2hW?=
 =?utf-8?B?d2JCTC9rNTFpSkNIcWxORU4yQ2FtRnA0ZWhsNVozdWpDTVpNZEU5aUlWaVV0?=
 =?utf-8?Q?FyhL9WJtFeTgJt4yNVeWhZo=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 4370acec-b25f-42a5-ef79-08d9e4aa452c
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 11:10:20.7736
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: qk5SL6DI1J/EBpgQulSNooZiK8B0tIJIv+ueVg5rpVZC6q2HTf9WjEIQivnU8tY2QkjQThAv9e5MvLm+q6w3wQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR03MB3427
X-OriginatorOrg: citrix.com

On Mon, Jan 31, 2022 at 10:40:47AM +0000, Oleksandr Andrushchenko wrote:
> On 31.01.22 11:47, Oleksandr Andrushchenko wrote:
> > Hi, Roger!
> >
> > On 12.01.22 14:35, Roger Pau Monné wrote:
> >>
> >>> +static void guest_rom_write(const struct pci_dev *pdev, unsigned int reg,
> >>> +                            uint32_t val, void *data)
> >>> +{
> >>> +}
> >>> +
> >>> +static uint32_t guest_rom_read(const struct pci_dev *pdev, unsigned int reg,
> >>> +                               void *data)
> >>> +{
> >>> +    return 0xffffffff;
> >>> +}
> >> There should be no need for those handlers. As said elsewhere: for
> >> guests registers not explicitly handled should return ~0 for reads and
> >> drop writes, which is what you are proposing here.
> > Yes, you are right: I can see in vpci_read that we end up reading ~0 if no
> > handler exists (which is what I do here with guest_rom_read). But I am not that
> > sure about the dropped writes:
> >
> > void vpci_write(pci_sbdf_t sbdf, unsigned int reg, unsigned int size,
> >                   uint32_t data)
> > {
> >       unsigned int data_offset = 0;
> >
> > [snip]
> >
> >       if ( data_offset < size )
> >           /* Tailing gap, write the remaining. */
> >           vpci_write_hw(sbdf, reg + data_offset, size - data_offset,
> >                         data >> (data_offset * 8));
> >
> > so it looks like for the un-handled writes we still reach the HW register.
> > Could you please tell if the code above needs improvement (like checking
> > if the write was handled) or I still need to provide a write handler, e.g.
> > guest_rom_write here?
> Hm, but the same applies to the reads as well... And this is no surprise,
> as for the guests I can see that it accesses all the configuration space
> registers that I don't handle. Without that I would have guests unable
> to properly setup a PCI device being passed through... And this is why
> I have a big TODO in this series describing unhandled registers.
> So, it seems that I do need to provide those handlers which I need to
> drop writes and return ~0 on reads.

Right (see my previous reply to this comment). I think it would be
easier (and cleaner) if you switched the default behavior regarding
unhandled register access for domUs at the start of the series (drop
writes, reads returns ~0), and then you won't need to add all those
dummy handler to drop writes and return ~0 for reads.

It's going to be more work initially as you would need to support
passthrough of more registers, but it's the right approach that we
need implementation wise.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 11:15:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 11:15:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262976.455474 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEUeW-000720-CB; Mon, 31 Jan 2022 11:15:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262976.455474; Mon, 31 Jan 2022 11:15:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEUeW-00071t-8b; Mon, 31 Jan 2022 11:15:20 +0000
Received: by outflank-mailman (input) for mailman id 262976;
 Mon, 31 Jan 2022 11:15:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9KqZ=SP=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nEUeU-00071n-Mn
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 11:15:18 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 10f29259-8287-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 12:15:17 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 10f29259-8287-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643627717;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=Si8/Z9LH9gQK8hZEwEu2Y6Xu3RYJGTqCrMFavIwSsbA=;
  b=U1CJ8D54dC95EWFdgUmqKDiyJUnBIkv39kEDRcPXIbPapNOvSvGFbf/G
   QeeTqXF5wLK3/My78DfmNxc+sc+d2RbvFKs6IUWYvhBKvaBbQqgcH/RqC
   +serzb1XFXRycAQr+vtsM2OWmhCw901ZzHzNofMXnkeNP2lxCnbk+6mEb
   s=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: ffwuu/CA4Cj/Ib8bQdX9OJ0lfKGvnB9WW7+Msv7L+3/Ufj3yZFhBYksOE1gUvxgULEVmhn1KyY
 hOx3vUz2RgIgHObjsZbkJ3V3N/BXW/qDBGxDPwPY7DlBJ2Rm9uPf9/9pHkHWOdqfR9XsY5e8AD
 zu15+DQcXgTnBYSZuIkqznrdVdnq78fzEmXqrVTzLwF1wL8lMo3ir2J6qmzg/UdffUZkOY8fvo
 DztB28EOMx6vXKkiNyP00SQxTbDqJKfGIo0tX7VkAf/xc55EVhIhKLYKmFVdA27IUaHTY385C4
 jPQlbdLgue4PQd3WEu75nOFf
X-SBRS: 5.2
X-MesageID: 63521542
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:ZMEpzatwvSQ/9gyDD6+taj7wwefnVLtZMUV32f8akzHdYApBsoF/q
 tZmKWmPbv6MZ2LweNp1Yd7n9RlS6pfSn9JqSlA4+S0yFHhG+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZQP0VOZigHtIQMsadUsxKbVIiGHdJZS5LwbZj2NYx2oHhWmthh
 PupyyHhEA79s9JLGjp8B5Kr8HuDa9yr5Vv0FnRnDRx6lAe2e0s9VfrzFonoR5fMeaFGH/bSe
 gr25OrRElU1XfsaIojNfr7TKiXmS1NJVOSEoiI+t6OK2nCuqsGuu0qS2TV1hUp/0l20c95NJ
 Nplsbq8QEB1Irf1x74zWDl+E2JSII1vweqSSZS/mZT7I0zudnLtx7NlDV0sPJ1e8eFyaY1M3
 aVGcnZXNEnF3r/ohuLgIgVvrp1LwM3DFYUToHx/ixreCu4rW8vrSKTW/95Imjw3g6iiGN6AP
 JdDMGczNnwsZTVPEFcFJpQljtv4i2fWLGEFkVTEprcotj27IAtZj+G2bYu9lsaxbdpRtlaVo
 CTB5WuRKjMwOcGbyDGF2mmxneKJliT+MKoCGbv9+vN0jVm7wm0IFAZQRVa9ueO+iEO1R5RYM
 UN8x8Y1hfFsrgrxFIC7BkDm5i7f1vIBZzZOO+kc5AjKlrbO2lnDKGMkaD4CRMEGnfZjEFTGy
 WS1t9/uADVutpicRnSc6qqYoFuOBMQFEYMRTXRaFFVYurEPtKl210uSFYg7TMZZm/WoQWmY/
 tyckMQpa1z/Z+Yv3r7zw13IiinESnPhHl9svVW/so5IA2pEiG+Zi26AtAKzARVodt/xory9U
 J4swZL2AAcmVsnlqcB1aL9RdIxFHt7cWNEmvXZhHoM66xOm8GO5cIZb7VlWfRk1aZtUJme5P
 h6P6Gu9AaO/2lPwN8ebhKrqU6wXIVXIT4y5Bpg4kPITCnSOSON31H43PhPBt4wcuEMtjbs+K
 f+mnTWEVh4n5VBc5GPuHY81iOZzrghnnD+7bc2lk3yPjOTPDFbIGeZtGAbfNYgRsfLbyDg5B
 v4CbaNmPT0FDr2nCsQWmKZORW03wY8TXM6u85IPKr/cc2KL2ggJUpfs/F/oQKQ894x9nebU5
 HCtHEhezVv0n3rcLguWLHtkbdvSsVxX9BrX5AQgYgSl3WYNe4Gq4PtNfpc7Z+B/pudi0eR1X
 78OfMDZWqZDTTHO+jI8a5jhrdM9KET31FzWZyf1MiIie5NARhDS/oO2dAXY6yRTXDG8stEzo
 uP821qDE4YDXQlrEO3fdOmrkwGqpXEYle8rBxnIL9BfdV/C6o9vLyCt3PY7L9tVcUfIxyeA1
 hbQChAd/LGfr4gw+djPpKaFs4b2TLcuQhsERzHWtO/kOzPb82yvxZ57fNyJJT2NBnnp/KiCZ
 PlOy62uOvMwg1sX4ZF3FKxmzPxi6oK39aNa1AltAF7Cc0+vVuF7OnCD0MRC6v9Ny7tetVfkU
 06D4IAHa7CAOcejG18NPgs1KO+E0KhMyDXV6P00JmT85TN2o+XbARkDYUHUhXwPNqZxPaMk3
 fwl6Zwf5AGIgxY3NsqL03JP/GOWI31cC6gqu/n22mMwZtbHHr2aXaHhNw==
IronPort-HdrOrdr: A9a23:e33QPqB+n0vgh6jlHemQ55DYdb4zR+YMi2TDsHoBLSC9E/bo8v
 xG885rtiMc5AxxZJhCo7690cu7MBThHPdOiOF6UItKNDOW3ldAR7sSj7cKrQeBJ8TWzJ8l6U
 8+GJIUNDSLNzdHZGzBkXGF+q0brOW6zA==
X-IronPort-AV: E=Sophos;i="5.88,330,1635220800"; 
   d="scan'208";a="63521542"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OJcjQbAgudfZGD+saFqxLNetoC38ui/k6BHYZqVH96JRvnsFo0oGSUp2UUbRKSA7fCfCsFcHUII7zk7etGoVAU6S0qcras1V2JfqqsaX82SyxN8USu5Y5z74VRdrEh6AkgUyG+DEPpIJ1XaEC1A5lFckeEat/l+7faUCnR4n1dkT5vxx7n7XYGzHcyuhz1cSi6wjTvytKYwTERxp5T+qhx6xM730GK+RVp/h6ATgzmR9FVApyIwCIL/+FpOSR7TG7iQ4uVozwznng+QWQmpQK7fKSxelngttU/iZ8mJ52LlPe895ZfHrsr4xLCDf7feNNsjtXz7p5ZkKibGXSUW5gQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Si8/Z9LH9gQK8hZEwEu2Y6Xu3RYJGTqCrMFavIwSsbA=;
 b=TuTEhoIbBZzcTY+5HU1Jj0kwmeOiXWC0NeyWPVkGGQAOYW2O+uEJCO7pbBcGSj5ygdT/LsVA92DnmUFMPpZ5h1L271UIEGKuo6O2Yj9hAGk9tY2T7trN3asSEtLxAunscLtxwjp4Iih8ntrFjOgtbhJg5VVwv8gqqTcNUJUyk9BAqlU4YetFg57hy8ROakLaidkMmxaqNc+6d75rTJXDkl4Vu6y6xK5nFJGlwuz/FLTwTJ/I9Q7vhzosYc/ITFJJwJBXQzoucCs8TRupFT9x8L6ZIrPFxoURTkItPo6gVoFWvkwCOGWdOGn5NL6ZTxr5kFsJhPXUq5NZjOBDnWsbWg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Si8/Z9LH9gQK8hZEwEu2Y6Xu3RYJGTqCrMFavIwSsbA=;
 b=a8xKvyH+R3NpysMHnBzq3DIjFSGuYACsuaDIbaBVDapOoyDMHu8xERpEl22MCdGpTK7DaAdUrtnT5alzgwWQO7CZnC+yDVsJdX1b+TMDma2UVbh/AvUnEUE3fGFC1guHfIzmq2i92Pu+TiqBc2LozrZVK8poPOIjdzet8ntECtM=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich
	<JBeulich@suse.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 1/9] x86/cpuid: Advertise SSB_NO to guests by default
Thread-Topic: [PATCH v2 1/9] x86/cpuid: Advertise SSB_NO to guests by default
Thread-Index: AQHYFEsmQ2uEcZXHMU+pjtqph82oMqx85LgAgAAaTQA=
Date: Mon, 31 Jan 2022 11:15:09 +0000
Message-ID: <f0f04ff9-e54c-0442-692f-573b6c191e14@citrix.com>
References: <20220128132927.14997-1-andrew.cooper3@citrix.com>
 <20220128132927.14997-2-andrew.cooper3@citrix.com>
 <YfeurBLIrtSpifuo@Air-de-Roger>
In-Reply-To: <YfeurBLIrtSpifuo@Air-de-Roger>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.1
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: a2dabe65-2b5a-40af-323d-08d9e4aaf13c
x-ms-traffictypediagnostic: SA1PR03MB6514:EE_
x-microsoft-antispam-prvs: <SA1PR03MB65140901BD6CC4AA77F850EFBA259@SA1PR03MB6514.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: p7779kdRgR9mMhXvlnjbKQUzaxHPkUhD16RONHUQ6NBfvMYt8iqcxAEne45WHwQtBzGod79ckHPdB/blstU23VDIPl1YBJVNxyfbBz1vhza6vPWsePC1EijnSMMpxG194iFOWI7AruMurj18hF3QGTlOFlLOvaJzPW0Ljxi6pWJ7Bof1HuPGp/Qg4jyRk3giZWKz6d4UGdYvu30qCb0S9/AoJiEI8f8AvHgTkrlmAHHbMSjuv0ZdcTSF9s4FfGkwSEYYhDSpwXcdqlPDPOtKrPgt9oCEZSlZcDLd2UTFVY2iORN6OGPxulEJPgZRs9zG2OkqcL+jn3GqU5CB6EQy5fIk06mSdztchnn6iSo6jF2uSbqkXAriHOdSLrBhrY9arYel5vMmgjet1Dii0o7jdpNli4/zjhj8vxSOvnv8DRxYbtcBxqsQwrVSymv3iwp1sL36CKccDBQHP2FTps1k+juQUsZfViGRHy4dzeiISHJ78WeUHtrGW46SVg5PSGJe9olruWi41vSLFLdd0eGzAwXy/fJ/PtAfhQ+KVW6bJHKaNu/z+YnBHc2b0GXNbvGTUKYd8FsX9GdiwOu+JeC7dCbc+As54Qb4xc/HiQp5bYdwzFndjzAiw0a9bjDBL3NxQBzslsmX8E2dem/T+eGN7X8uNSrQ0w6el4xP0p+XmJm+FqqC92dqdkQAo9et9AjO10quuHVW43tCu7bqTGfBw+PazlgNViBkKqO5eUpYVYZXkqsItzGppwPr5gFkK+PCdGj/uaoqK3XLlPlBYRTN0Q==
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:(13230001)(4636009)(366004)(91956017)(53546011)(316002)(38070700005)(38100700002)(8676002)(6512007)(4326008)(76116006)(6862004)(64756008)(66446008)(66476007)(66556008)(8936002)(66946007)(71200400001)(6486002)(508600001)(86362001)(6506007)(54906003)(37006003)(6636002)(31696002)(82960400001)(5660300002)(2616005)(4744005)(36756003)(2906002)(26005)(186003)(31686004)(122000001)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Wmo0SUVRQ0oyOTZOeWp3RDA4aHNzWC9GdUNkcDdpZllKdldGSlVOL2psL2lC?=
 =?utf-8?B?TXpCL2M1ZmVXOXcxVkpOVkUvVXBNbE1Kd25xS1R3SytaSU9XWVZyb281UThR?=
 =?utf-8?B?MTRoY1g5RERMMUpvMXdqMURsMEpzdm5JdGpyTTJUeSs4Y0VIbWU1T3RGRzVw?=
 =?utf-8?B?SXdaSXUvdUFjTzNjMVd6MUlkN1V0ajlpUmFuK0FKK0NYc3RUVFlxTnNJL0N6?=
 =?utf-8?B?TGVUNTA1WEFpRDZYaURscUZFMlFzRFNuOVdsd0poNUZDRlF2cWdtZ2ExUzYv?=
 =?utf-8?B?Qy9WVmFEeVJvWHF0OHJYUWJYS2xmNnVIQVdNa1FzLzRNTHREaVJtOE8zWHVw?=
 =?utf-8?B?d2I1WUZYTTBzOFc0akdOSWFlNEo3L2FKS0hjMXhCSis5TjEvaFlGcEFGOWtz?=
 =?utf-8?B?aWFtT3poOW5EWEt3dERQOTZQelNiQTE3YlVKbXBzTHdud3h4OWx4QytrUzM5?=
 =?utf-8?B?eHhiQksxR1JUdWp4TE12NTBqZXdjd0NYWnp5LzkyVG8rdkIvOFFybHFyd3pO?=
 =?utf-8?B?ZUdMdlRVSFpQcWFicXZPQWtKUGR4aFVGWTIwVStJSHRFazE4NmJnZnZrWmdY?=
 =?utf-8?B?enVib01rMVZ2bm84WjA1LzE3VWRDemM4WWsrRkR1WlNCRHJpcXFOYm00Zi9q?=
 =?utf-8?B?ZUNibVl4bWo4cVRpWnZzRHNlM3p5NUc2dmg3LzNXUXpWWFZjcE1ibUkzcUc1?=
 =?utf-8?B?WmpQL3g1QW5BYUFXSWZMdzVmZXNYSFptaEE0MEJuTmU3OWx4RGprSTVpSi9j?=
 =?utf-8?B?QzRObHZNTDZNVFFhTmtnVzFJTVNuaUJvUTNMR01WaFR4SGIwNWJiL3MwUW9K?=
 =?utf-8?B?TG9EdGNka0EyckNCMGRwS0hQbkppTldGZ3BFTVc0Tmx4Q00zYVpMMEZQZ3Fa?=
 =?utf-8?B?bzZjTVRLVEY2aHhnbnBNUmxuWlkvQUR6UUYzOVN2NmFMWnhnNGdWTEJqSXow?=
 =?utf-8?B?WVBrdEIyTjBEVUt3YXNUSEJoUStwaC9iOVl4U3ZtOTI2WlFCRUk4VngyUlcw?=
 =?utf-8?B?QzkxTGJDR09XZjVuQkk1VUVqaTBXN1YvUkZaOUsvYlBMbGZlYUtWb203ZS8w?=
 =?utf-8?B?cXZCQmtjNTdZVk8yazBJKytDZjFKYjh6UllPQU5zMWZTeUVQSVlCd2Q0cytW?=
 =?utf-8?B?YitHbWpTUmRBcHlDRDdNTUU4ZnRHT080NmJ3ajhIL1pKMXNRcEgzem9pY2l2?=
 =?utf-8?B?aWt3VytyRkhUSzhBWis1dll5ZlFsTE0zY2Iya1BPUkYzdnhhRGZFWlFMc2lW?=
 =?utf-8?B?cy9DOHhQeSsvL1FEUnpGMSt4TGJWNjBOUm9EbElEZ2RlaTYwQTh5bm5hb1E2?=
 =?utf-8?B?Q2VtZlBVUU5sUjJiS1doYVNmaWVKN0tBM1ZISGxna2oyNlY0M0VVamdlUE9i?=
 =?utf-8?B?blFLYlJIckh1QlNXcUphWXpqUld5eXZ1OHdGQy80V25peVhpUTFjYjUrVWFk?=
 =?utf-8?B?K3U3ZGlYdVo2UUxFLzQ3TXZwMkhiNTdUV2R3d0drMURGdkRiTW5WUWc5a0RC?=
 =?utf-8?B?RzFJR2ZjVHJTWS9RNGVscG5tVStvamJ2U0NUdTJ4NVJpVzR3NmJleTlTNFNo?=
 =?utf-8?B?TEpkSlVHZnBiaUdyUktLc2MwaVdOb1loaDlqdkNZZnJ2RVA3V3E5SVB5YUdr?=
 =?utf-8?B?aHZsQWJ2NlpIbUJXL0Zla0RYNTlBeVNVOGd2d2pGczIvdkFBcnFMcS9lSTJt?=
 =?utf-8?B?QXpCRktiNGRFa3FjNFdqcGpoU2RwUmV6dFNmemczSkZzYmM5OFZsZlhhSTNJ?=
 =?utf-8?B?aERPTTVUdjE4SWlNQ2dnMUprODJJS0xUT0Z1dUpvV0RZdmRPTy9xcWxTRVFQ?=
 =?utf-8?B?NHloOWd2YkRiaGdhODZGQ1dYWlBQdmFSd3RzeDM3bnQ3YjJyOVI5V2k5RXRk?=
 =?utf-8?B?VnpOZTRGeE1VWnJPSHlpU21URDVWZUlEWE0vQjF1dmgzU2VnWDZPUm9HdDhI?=
 =?utf-8?B?SDdxMHJpbnF0QUlmWUxTUlRwY3RpMGFXT29vWDl5N1JucDdiOGNBelpDY2NZ?=
 =?utf-8?B?bkRoN1RLZlRaSUpzZjF1T3EzUHdvSUVzbmhMVVFVdG5xVGpIdUcvNlhrWjNa?=
 =?utf-8?B?VGd0cEZOaTVOTHhLM21rZGJxejVVWWVCMmVqTjE1Sm81dXI0RVlKbllHOXNC?=
 =?utf-8?B?VTA2eEc1SlltTzNqcTlwZnJFN3h1TGdWcUVLdTExUnJKMmZybDlXWkJ6QjV4?=
 =?utf-8?B?b0NQTExQT0hCODN4b1lTU1BzZ3Jya2UxWEtmNFJHdWIyaVFqMklLdVdReDRQ?=
 =?utf-8?B?YUt5dDd6Z2ptK0c3NnMvY0puK1R3PT0=?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <ABE26C3AE7CE0C4AA3CA2D096352E2B6@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a2dabe65-2b5a-40af-323d-08d9e4aaf13c
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2022 11:15:09.1525
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: x77J5eUaXKxmXlP3Ez4d/i19RDfO9mIE1T1p+aRCxlAthgDNNABf0l3A4Xd4i3KJNMkPOE+TM172Ya/dPPL1fijEZkUJp2iujO4Z8LKcy10=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB6514
X-OriginatorOrg: citrix.com

T24gMzEvMDEvMjAyMiAwOTo0MSwgUm9nZXIgUGF1IE1vbm7DqSB3cm90ZToNCj4gT24gRnJpLCBK
YW4gMjgsIDIwMjIgYXQgMDE6Mjk6MTlQTSArMDAwMCwgQW5kcmV3IENvb3BlciB3cm90ZToNCj4+
IFRoaXMgaXMgYSBzdGF0ZW1lbnQgb2YgaGFyZHdhcmUgYmVoYXZpb3VyLCBhbmQgbm90IHJlbGF0
ZWQgdG8gY29udHJvbHMgZm9yIHRoZQ0KPj4gZ3Vlc3Qga2VybmVsIHRvIHVzZS4gIFBhc3MgaXQg
c3RyYWlnaHQgdGhyb3VnaCBmcm9tIGhhcmR3YXJlLg0KPj4NCj4gTm90IHJlYWxseSByZWxhdGVk
IHRvIHRoaXMgcGF0Y2ggcGVyIHNlLCBidXQgSSB0aGluayB3ZSBzaG91bGQgZXhwb3NlDQo+IEFN
RF9TU0JEIHVuY29uZGl0aW9uYWxseSBmb3IgU1BFQ19DVFJMIChhbmQgVklSVF9TU0JEIGZvcg0K
PiBWSVJUX1NQRUNfQ1RSTCB3aGVuIHN1cHBvcnRlZCkgaW4gdGhlIG1heCBwb2xpY2llcyBhbmQg
aW1wbGVtZW50IHRoZW0NCj4gYXMgbm9vcCBmb3IgY29tcGF0aWJpbGl0eSByZWFzb25zPw0KPg0K
PiBJIHdvdWxkIGV4cGVjdCBDUFVzIGV4cG9zaW5nIFNTQl9OTyB0byBkcm9wIEFNRF9TU0JEIGFu
ZCBWSVJUX1NTQkQgYXQNCj4gc29tZSBwb2ludC4NCg0KV2h5P8KgIFNTQkQgaXMgYW4gYXJjaGl0
ZWN0dXJhbCBmZWF0dXJlLsKgIEl0J3MgZmFyIG1vcmUgbGlrZWx5IHRvIHR1cm4NCmludG8gYSBu
by1vcCBvbiBTU0JfTk8gaGFyZHdhcmUsIHRoYW4gdG8gZGlzYXBwZWFyLCBlc3BlY2lhbGx5IGFz
IHRoZQ0KTVNSIGlzIGV4cG9zZWQgdG8gZ3Vlc3RzLg0KDQpWSVJUX1NTQkQgaXMgb25seSBvZmZl
cmVkIGJ5IGh5cGVydmlzb3JzLCBhbmQgc2hvdWxkIG9ubHkgYmUgb2ZmZXJlZA0Kd2hlbiB0aGVy
ZSBhcmUgbWVtYmVycyBpbiB0aGUgbWlncmF0aW9uIHBvb2wgd2l0aG91dCBNU1JfU1BFQ19DVFJM
Lg0KDQp+QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 11:18:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 11:18:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262982.455485 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEUhT-0007g0-P2; Mon, 31 Jan 2022 11:18:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262982.455485; Mon, 31 Jan 2022 11:18:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEUhT-0007ft-M1; Mon, 31 Jan 2022 11:18:23 +0000
Received: by outflank-mailman (input) for mailman id 262982;
 Mon, 31 Jan 2022 11:18:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Fky=SP=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nEUhS-0007fi-Ra
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 11:18:22 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7f5e69d8-8287-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 12:18:21 +0100 (CET)
Received: from EUR02-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur02lp2054.outbound.protection.outlook.com [104.47.5.54]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-6-reGFX9qPNki_zkbqjJta7g-1; Mon, 31 Jan 2022 12:18:19 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DB7PR04MB5451.eurprd04.prod.outlook.com (2603:10a6:10:8e::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.21; Mon, 31 Jan
 2022 11:18:16 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45%6]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 11:18:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7f5e69d8-8287-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643627901;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=xKInQABOAG6EwivI5xz33uDcpTEGCbyEU1Ljw/C6TZY=;
	b=YVfkGCBKooHz7V2vRPTDiBmZw817jsOL6iQxGCYDt3i5RzWfuBvlUyVa/53uK3uRPkeLMZ
	qxFEzuq82dam7uZ4wg4EPyfNZJ28qU1PF+a0ZX2orW8/aPuWOU9Ah2NpkZTP20FrduBsgH
	wXZzE6fnbQP0IoikBhKm6nf1QOZ1w2k=
X-MC-Unique: reGFX9qPNki_zkbqjJta7g-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=W7IkF5hSi0js0cgZXuzYPK4LOuXEayRpqkqXwhBRtpisf8qoVpRhBEtQYZ9uCkAGNjRMXd0D8oAyEgvakFICL2FGBuCzZzINwwesesKtc0eea8hWvDCnaDwLBakPVAjh0VZAtLr0Br7dmjrMLgpuQsWIF9MBkHNWL6n2S76R212j820MTmHwCIsB54KGGDyBiD/z8uCciJXBxLETgmxg9luQpGc6Yncqn9iP9sd4InKjTvE0E5C3tEclp7DTx1GU29veo26Iyy68AMIXMvPFUN9i+eLrUT4965Ln6+GNe58yNqPZ233+luD9Qa11rBDZwXgs5DyLSNsI3FL5GTttgw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xKInQABOAG6EwivI5xz33uDcpTEGCbyEU1Ljw/C6TZY=;
 b=VPcFJz037RCBdoi81wiJKj89CHKnuiGiRcq1mb+fPp+dr82iQ5+PKlbyAI4+Ym/LWhk3uSPPVlHkZD0uAii03FzkdtnvYX/4Q0BUBMtg/L83RgbmSoSGfbvibaj8OPST2NjrvAGZvN6U6lwjbq1dJMz8yThi3V8/81kuoNESECA5oSOKPN+W1KRkZO2h0lp3Jq19lLoa3ILW9W6o2OT2zVCIOj8uEGYqi7eZLMmxgNGt+/hl+1xmnlZybqAN9JZ31msNNvKtoyEXIw75DDduE11iJeeEvDd9d5uYzU8nMBp0cOJswWMzzI4HK1Ih2xx7Ac5VGW5OSUwEWKHHhkhxfQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6319d33e-0572-f378-f715-b86f600bcca6@suse.com>
Date: Mon, 31 Jan 2022 12:18:17 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 1/2] xen+tools: Report Interrupt Controller Virtualization
 capabilities on x86
Content-Language: en-US
To: Jane Malalane <jane.malalane@citrix.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20220127160133.11608-1-jane.malalane@citrix.com>
 <20220127160133.11608-2-jane.malalane@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220127160133.11608-2-jane.malalane@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0061.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::16) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 11263fd7-5b15-4278-480b-08d9e4ab60c8
X-MS-TrafficTypeDiagnostic: DB7PR04MB5451:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-Microsoft-Antispam-PRVS:
	<DB7PR04MB545166DD09B02BF477C2C220B3259@DB7PR04MB5451.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:
	By8pq/8L/VZ7FZK0Gqm0HQedzM3n2rzK1HSzrBp3h7P0kwEJTFluVx7hy4ZmvrKvJXTIShi6xYx8Yog7TrDfDDhGuxMHqpWrmSe9XkZi7figwR4l96p8XdOsVXqOhh2AZGhFVszEZhLeec2JQVBHMdtuyyW/yqemN3QFMO6QtJ6YRdeCMCocBk5dRokPIGY2vmnMZ4YJiZB0wjbfTX2Cl33Aq/N5159QD9WcbXlI+nfqYAOpGSRmE46Melj6uXWCgRDDYeQORVHQ2kGUNUor9N6j15YS7F4Tc9aFZKM+tQyEsPpNs42Zoe1CrHbXL/3KlUoqGRGGFACVqSFZ3+7QKb8jz1EYGXFlqnXyaOMigjVgt3SuEhGWp+guKdS08WFy80NOUESEAgFiNRBo+l39KV6Iq36mItpZE/5lBh3gyK44MAkpXhL7YCi9NxUPRWKO9b552mRVMUBKVzTNEgxrHkg9mPtZxKltoaNle22JQ1wVz4OrqoXgMscWq4S91Z/s/UmyjjnWslmJJHvQIlS4n1GcVtOLSntM4VznMr7+sFvpf+gnA/lqfDehu0JKyXlGMAUmkIERPDeFHg36gQmZD9ndVzCptiL6Q/1rvSpxAUibpgrUU2+bAmNbGCltQ6XGb258U0a56Zf3lBxm6+wekyJRuHBNeJ0+Y++8lUakByqEsYwz5ibOuOeawyvm9crUvNpzQLg3u1C6nT+kna+cNpASc9hnSvqMKVMVN31s3kEj8VeXWpvDBuLMr0th66JY
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:(13230001)(366004)(36756003)(86362001)(83380400001)(7416002)(2906002)(4326008)(54906003)(2616005)(5660300002)(66946007)(316002)(31686004)(66556008)(8676002)(6916009)(8936002)(66476007)(31696002)(53546011)(6506007)(6512007)(6486002)(38100700002)(26005)(186003)(508600001)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aFM1aGJuSFl6eThjZGVEaWZyOXNQM0lTdGZ6dkhwVHEyc3B5RnhDbEQvRkRk?=
 =?utf-8?B?NVlkSGNES3NDU1JQd1BIbW92Rlh2NzdKYWQ4NFlxQ2p3RUFiUzUyMjBLcU8x?=
 =?utf-8?B?V0NGK0pyZnBCemdLTENRRkY2NUtWUll3Rkp0WE9PNFJCaU5xaXpNL29BcFh3?=
 =?utf-8?B?KzVmZThFS2NhdGVVY095U1BKTzg5MXFmd0lTMVNLV0VDMmdzMmhEbXNlUGlR?=
 =?utf-8?B?QUlFRmhXTjNoR2xObVVJeTRsc1JnQXVBWk9MUHA2cDB5dWp6cG5wWkpWa1VZ?=
 =?utf-8?B?a1p6aVFwZjU5M2RtUWQwM2QwdVAwWHFDTUg1S0c5eGRPb052K1pvTmdHNnNo?=
 =?utf-8?B?V0wrK3N0bzNMQWN4TGtzUThMY04yOUYzY3MydkluSmhIWVFBUVBrOHBKcVdx?=
 =?utf-8?B?c3lvZmttZ3JjbTVDZHFuMmpFUUo0Y04wZ05kdzIvMnNHUVJoK0FPTVorNklP?=
 =?utf-8?B?UW9JVmZNZFRlOVFWQkZhd2pNa3pobng4Wm5GNUI0S3JzUTdERlNqa3ZMZ2N5?=
 =?utf-8?B?RXdpZ1h1ekp6dUU0aWVvT0ZMVlNTenQzMWRidGNtcjM3RlJuY3hKQW1qM1ZP?=
 =?utf-8?B?S0ttbHBKQ3VGWWtDZzMrZk94RDFoMElKMmZReWJGNm9zYW95VVpQY2NBcjF2?=
 =?utf-8?B?L1dQSWZqdEprdEVLSjVwb1hHM2d4eDF3NjVFQ2pVTVQ2UGJhdDVKQlk4RFFp?=
 =?utf-8?B?VnJBZy9DSFVZUThkdXYwNW54aUdnWGRMbzRsbDZ4SjV1Sms2RDc2cnlGQzhz?=
 =?utf-8?B?OHZzMDAvKzBuenZHdzJYcnZ5TU10eGNzT0hOSDRyM095bFNQVUxSd2xGUUFj?=
 =?utf-8?B?TFcvWXp2a0Q1dHJNR2thWTVWb01HSVFRd2t5bFJ4emdGZlk4NklUR3hMNGdv?=
 =?utf-8?B?VGV3WVhwaFkzNUxjdU9oMGorbldBeE1sNzYwazFaczFzTkh3dXQxL0g1d1Rr?=
 =?utf-8?B?ZHExWmhZaW5leHVLTXZidjFqMlJGWXdDRXRJSXY5aW9WVzdKRC9qZ05SR2t6?=
 =?utf-8?B?am1vQXRlRTZLOXY3bEFBUTFmWnoxekVWNGcwcDl1UE5Oa2NOV3B6ZkJnL0JP?=
 =?utf-8?B?SUVyV2w5MGNlV2lrOXdGUGFzY3RUU3BzbXV3YWRNODAyODdubXhTNUo2MnVn?=
 =?utf-8?B?S0lRRUkxRjJ1elNxbHVDNlRKUmw0R3g3MnROckUxRzdsbW5PNkp6TVJmL2Ez?=
 =?utf-8?B?bEVudEhRRWhDUXllODNXTFAwa0xtejJsRlZqQWF3ZUdkcDhtbDdLNFdPdDY0?=
 =?utf-8?B?VXNvQllGTGVnbnJQb0pXWW81cVg0Z3g4V3RaL0lQcTc4NE9SWkNNRDFhaUlU?=
 =?utf-8?B?d0hudmNIMHRkbGhQUVdadDJSeHg3VVpuWnQ2TFJXSUVQYlcxdFMwcFJleXJR?=
 =?utf-8?B?R0o5K2JQVUV3c3BhUVBkeC9rS3BFRDAwSXdaSjMvUCtlQWlOTnlGY3hCQmU1?=
 =?utf-8?B?WDRreEdoU2ZBdzd1ZzduY1dqRy9KajJDZzdobm0rQVdCNENTSXpXcTJHeVhj?=
 =?utf-8?B?T3U5M0JJVUplbXEyMzN5RUtyODVEOXQyMC80VThzTUtVSHRMNXUwbVhaTnRu?=
 =?utf-8?B?VER6UWppVE9PZUdBbDE1cG1tek1EWExYWTlraEJQS1pvaHkyVHpsckJUY09T?=
 =?utf-8?B?ZG0zbmd0RkVaOTV1KzFKVXZGbGNjRnYzcDlFWUNsSDFOdjFxc0NEZ1lPZGdi?=
 =?utf-8?B?emtxUkZ2Y2puMEVNZEdvVWJXZVdFTVZpakV6aUo4UmQ2cll4c0FnUFFWWDdJ?=
 =?utf-8?B?M3R0Q2xjcUJKbXpEV0JzbjlwWkhLbEJxWjcwN3oxcDEzQVIraDh6RmtnWldK?=
 =?utf-8?B?cmhmRHFmMGFKZDg4UnRwclFiM0o1NFFTQWpTS1hoT3I0OFhvSkNsZGhHTVFx?=
 =?utf-8?B?SDBmUm0wUFJuKzFkQVZ3QUtybDQ4ZEZnR1pxMDBLRVRQRlFncS9LbUhFbkMz?=
 =?utf-8?B?aUI2WERGSVJjUnR1M0dySkV1eWVLWkNvTnlmc3Y2UDNsK3A1dUhvSmJTQ3gy?=
 =?utf-8?B?ZWZWWUt4UEFYNlVaSFpsTXFHWGxUNGFvOVF5MGE1M0xkdkY0cGw1RWNoakFQ?=
 =?utf-8?B?STJxWVcrK0xSYWluMmZobkZPbGFXOERJcjgra2wxbEZ0M0svOTIyUGYxeXNK?=
 =?utf-8?B?aGZSUlhneS9hRkx6QmxjUC8vSGxMZWpHL3NSVFNobGx1My82bVU1WGdaU0ZZ?=
 =?utf-8?Q?2c1QqGOkHsuK+Atb7WhsUt4=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 11263fd7-5b15-4278-480b-08d9e4ab60c8
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 11:18:16.5008
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: qLBDW21XcZwvTvVKumW7E77+ZchZfOEtI7Xoo+ehhjIAaseNDHXNHAzrLmKdHEXM9oaIJ1jKT/5y+FoqA7MA8Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB5451

On 27.01.2022 17:01, Jane Malalane wrote:
> Add XEN_SYSCTL_PHYSCAP_ARCH_ASSISTED_xapic and
> XEN_SYSCTL_PHYSCAP_ARCH_ASSISTED_x2apic to report accelerated xapic
> and x2apic, on x86 hardware.
> No such features are currently implemented on AMD hardware.
> 
> For that purpose, also add an arch-specific "capabilities" parameter
> to struct xen_sysctl_physinfo.
> 
> Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>

Nit: Please try to keep tags in chronological order.

> --- a/xen/arch/x86/hvm/vmx/vmcs.c
> +++ b/xen/arch/x86/hvm/vmx/vmcs.c
> @@ -343,6 +343,12 @@ static int vmx_init_vmcs_config(bool bsp)
>              MSR_IA32_VMX_PROCBASED_CTLS2, &mismatch);
>      }
>  
> +    /* Check whether hardware supports accelerated xapic and x2apic. */
> +    assisted_xapic_available = cpu_has_vmx_virtualize_apic_accesses;
> +    assisted_x2apic_available = cpu_has_vmx_virtualize_x2apic_mode &&
> +                                cpu_has_vmx_apic_reg_virt &&
> +                                cpu_has_vmx_virtual_intr_delivery;

Imo this would better live in .init.text, which would guarantee that
hot-onlined CPUs later cannot corrupt the original setting. IOW at the
very least the setting of the variables wants to be conditional upon
"bsp", but ideally this would move to e.g. vmx_vmcs_init().

> --- a/xen/arch/x86/include/asm/domain.h
> +++ b/xen/arch/x86/include/asm/domain.h
> @@ -756,6 +756,10 @@ static inline void pv_inject_sw_interrupt(unsigned int vector)
>                        : is_pv_32bit_domain(d) ? PV32_VM_ASSIST_MASK \
>                                                : PV64_VM_ASSIST_MASK)
>  
> +extern bool assisted_xapic_available;
> +
> +extern bool assisted_x2apic_available;

May I suggest that you omit the intermediate blank line, just like
you did below?

> --- a/xen/arch/x86/sysctl.c
> +++ b/xen/arch/x86/sysctl.c
> @@ -69,6 +69,9 @@ struct l3_cache_info {
>      unsigned long size;
>  };
>  
> +bool __read_mostly assisted_xapic_available;
> +bool __read_mostly assisted_x2apic_available;

With the above this could then be __ro_after_init.

> --- a/xen/include/public/arch-x86/xen.h
> +++ b/xen/include/public/arch-x86/xen.h
> @@ -326,6 +326,10 @@ struct xen_arch_domainconfig {
>  
>  /* GPE0 bit set during CPU hotplug */
>  #define XEN_ACPI_GPE0_CPUHP_BIT      2
> +
> +#define XEN_SYSCTL_PHYSCAP_ARCH_ASSISTED_XAPIC  (1u << 0)
> +#define XEN_SYSCTL_PHYSCAP_ARCH_ASSISTED_X2APIC (1u << 1)
> +
>  #endif

I have to admit I'm not convinced it is a good idea to put these here,
far away and disconnected from ...

> --- a/xen/include/public/sysctl.h
> +++ b/xen/include/public/sysctl.h
> @@ -120,6 +120,7 @@ struct xen_sysctl_physinfo {
>      uint32_t max_node_id; /* Largest possible node ID on this host */
>      uint32_t cpu_khz;
>      uint32_t capabilities;/* XEN_SYSCTL_PHYSCAP_??? */
> +    uint32_t arch_capabilities;/* XEN_SYSCTL_PHYSCAP_ARCH_ */

... this. See e.g. XEN_SYSCTL_get_cpu_levelling_caps which is entirely
x86-specific yet still fully contained in sysctl.h. Furthermore I
think you want "X86" somewhere in the names of the two #define-s.
While xAPIC and x2APIC are sufficiently clearly x86 terms, future
further bits may not as obviously be, yet we will want to have the
names be consistent. Perhaps best to replace "ARCH" by "X86"?

>      uint64_aligned_t total_pages;
>      uint64_aligned_t free_pages;
>      uint64_aligned_t scrub_pages;

With these subsequent fields you're introducing a padding hole.
Please make that explicit (including the setting of it to zero if
that doesn't happen implicitly already). And changing the layout of a
struct here also requires that XEN_SYSCTL_INTERFACE_VERSION be bumped,
at least as long as it hasn't yet in the current dev cycle.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 31 11:23:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 11:23:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262988.455496 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEUmL-0000d4-DK; Mon, 31 Jan 2022 11:23:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262988.455496; Mon, 31 Jan 2022 11:23:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEUmL-0000cx-AG; Mon, 31 Jan 2022 11:23:25 +0000
Received: by outflank-mailman (input) for mailman id 262988;
 Mon, 31 Jan 2022 11:23:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ytUN=SP=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nEUmK-0000cr-Dq
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 11:23:24 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3261cb4b-8288-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 12:23:23 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3261cb4b-8288-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643628203;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=0UWkGpdWAayO5iw2jQqmrbk8dexFrjmSlIEeiTbtePQ=;
  b=eUnhckf27Ubsu9GkyYuJt9LMgBLHA2QYwiVRlg6wuaHVm+5OGblKTRCr
   ub8Hxpe6FOOf/BOe8YLALQfcprHARc2OPk9e1TnRnm0lpLyQBUx7kKMcW
   jGuJZTWXrO/nZxOv8w6B0KzAqnIaRc/TyglThjmsx+lu52ZqYDS/6QAII
   w=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: j3yjwsDSDkCwACDtlVfKF0p+kxmGUg0Tm32KEh6E/zLkHtl7TQh8zpmtFcDKQj7YB3CJj8W/um
 DxianSsnGfcHediS82PmCmV879jskJJFUU4uXvy1N4O1BS9GQP/+0Ohon3y2NH1nntxRzrsNOm
 GDyBksQxtSU9Nnb9QKI63rR5Xf4znEAwlMYyZlohIBehWvxMb3uO7qfSJM5s08+p6lXaJWE3Zf
 /T0qe8HAiL7E7vCCF/X+TEinlQuv8bU0nBRhP1X1/ZLunZ+ukWu2XuWbUvddpY7JGNl205dTiR
 zUM31cNaxk2WziuD+zLlFJux
X-SBRS: 5.2
X-MesageID: 63521998
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:sgowvqwGIAftx7NS/dd6t+fRwSrEfRIJ4+MujC+fZmUNrF6WrkVUz
 mdJWj2POveLMTSmfot1b4nipkoBvsDWzNNjSVNupSAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnvopW1TYhSEUOZugH9IQM8aZfHAhLeNYYH1500g7wrVg2tcAbeWRWGthh
 /uj+6UzB3f9s9JEGjp8B3Wr8U4HUFza4Vv0j3RmDRx5lAa2e0o9VfrzEZqZPXrgKrS4K8bhL
 wr1IBNVyUuCl/slIovNfr8W6STmSJaKVeSFoiI+t6RPHnGuD8H9u0o2HKN0VKtZt9mGt4ss6
 foTsMfvcjpzP5KSke1aXQlRKxgraMWq+JefSZS+mcmazkmAeHrw2fR+SkoxOOX0+M4uXzsIr
 6ZBbmlQMFbT3Ipaw5riIgVort4kI8TxepsWp1lrzC3DDOZgSpfGK0nPzYEDgW1p15EedRrYT
 5cnMDhdRjvyXydsJWs7OYAwst2qoGaqJlW0r3rK/PFqsgA/1jdZz7zFINfTPNuQSq19vGyVu
 2bH9GTRGQwBOZqUzj/t2mKhgKrDkD32XKoWFaak7bh6jVuL3GsRBRYKE1yhrpGEZlWWAowFb
 RZOo2x38PZ0pBfDosTBswOQ+yOlkUAZAIVrLrc711+Ew+3a8w+hPz1RJtJeU+AOuMgzTD0s8
 1aGmdL1GDBi2IGopWKhGqS89m3rZ3VMRYMWTWpdFFZevYG/yG0mpk+XFr5e/LiJYsoZ8N0a6
 xSDt2AAiroalqbnPI3rrAmc01pASnUkJzPZBzk7vEr4tGuVh6b/PuREDGQ3C94adu51qXHa5
 BA5dzC2trxmMH10vHXlrB8xNL+o/e2ZFzbXnERiGZIsnxz0pSL4INAPuGEgdRs4WirhRdMPS
 BWJ0e+2zMQLVEZGkIctO97hYyjU5fWI+SvZugD8MYMVP8kZmP6v9yByf0+At10BY2B3+ZzTz
 ayzKJ72ZV5DUPwP5GPvG481jOF3rghjmzK7bc2rnnyPjOvFDFbIGOhtDbd7Rr1jhE9yiF+Lo
 4832grj40g3bdASlQGOr9ZLcwhWfCdqbX00wuQOHtO+zsNdMDhJI9fawK87epwjmKJQl+zS+
 Wq6VFMew1367UAr4y3QApy6QL+wD5t5s1whOikgYQSh13Q5ON7956YDbZonO7Ig8bU7n/JzS
 vAEfeSGA+hOFWubq2hMM8GlodwwbgmviCKPIzGhPGo1cal/SlGb4dTjZAbuqnUDV3Llqcskr
 rS8/QrHWp5fFR96BcPbZav3nVO8tHQQgsxoWE7MLoUBcUng6tEyeSfwkuU2M4cHLhCanmmW0
 AOfABE5o+jRotBqrImV1P7c94rwSrlwBEtXGWXf/I2aDyiC8zrx25JEXcaJYSvZCDH+9pK9a
 LgH1Pr7KvAGwgpH6tIuD7ZxwKsizNLzvLsGnB98FXDGYln3WLNtJn6KgZtGuqFXn+ILvAK3X
 gSE+8VAOKXPM8TgSQZDKA0gZ+WF9PcVhjiNsqhlfBSkvHd6rOidTEFfHxiQkygMfrJ6PbQsz
 folpMNLuRe0jQAnM4regy1Zn4hWwqfsj0nzWkkmPbLW
IronPort-HdrOrdr: A9a23:daP1nKkotBfNXZTRXWb1S++IAwvpDfO0imdD5ihNYBxZY6Wkfp
 +V88jzhCWZtN9OYhwdcLC7WZVpQRvnhPlICK0qTM2ftW7dyRaVxeBZnPDfKljbdREWmdQtt5
 uIH5IObeEYSGIK8foSgzPIYurIouP3iZxA7N22pxwGLXAIV0gj1XYANu/yKDwJeOAsP+teKH
 Pz3Lsim9L2Ek5nEfhTS0N1FNTrlpnurtbLcBQGDxko5E2nii6p0qfzF1y90g0FWz1C7L8++S
 yd+jaJq5mLgrWe8FvxxmXT55NZlJ/IzcZCPtWFjowwJi/3ggilSYx9U/mpvSwzosuo9FE2+e
 O86SsIDoBW0Tf8b2u1qRzi103J1ysv0WbrzRuijX7qsaXCNUQHIvsEobgcXgrS6kImst05+r
 lMxXilu51eCg6FtDjh5vDTPisa2HackD4Hq6o+nnZfWYwRZPt6tooE5n5YF58GAWbT9J0nKu
 9zF8vRjcwmPm9yV0qp/lWH/ebcHUjaRny9Mwo/U42uonRrdUlCvgolLJd1pAZEyHo/I6M0kN
 gsfJ4Y0I2mdfVmHp6VMt1xNfdfOla9MS4kD1jiU2gPNJt3ck4l+KSHqInc2omRCek1Jd0J6d
 P8bG8=
X-IronPort-AV: E=Sophos;i="5.88,330,1635220800"; 
   d="scan'208";a="63521998"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=R/D88jwALga0ZlmyeOHQ1xW2Mfjei/1ZKGhqPzqv+aQHHh5SaWv26ADnO4E1QJw3tJHFh0JdrYDep+zbQ9wLszG92AYw29cps8Shp+RSuhl24N+Vs4s0wNXWk8o4M2GnteBvo9JAZgZXESzXIoB1ub7ZQXOQKnjUucua3N0+/QFyRMm56SnNMXnLhkPsthyOUXnY9/6uojicYGMonfntKEheduys2bIZKTxTuC1Dbq7QFm9AIf/c5mx+h+hVjiHTUgWAfRQe8a7KAa9JxxtQmCDAeGuLatGkt4v1ZvyLj3i3rCAqNFRW7cKMrmeMYoGPrBqJHfinT2u4Nqw0BnZu/g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8REmUeV1V4SLLzlCrB/FCcG+nNp2jowdG9widrP/nNc=;
 b=G9pmpjGmDFaFiP9djkGbYoVTVagSSaq3hqIWNfY/UhgMKU8qPha79i92nhjBzOAvnAM920+7LhQryZ7xhxnY/vK+9MaY5cOG7C5NtPk3/0Ucnvv/zKodyZeCbCrJuok9oHnQ9D6X0rS7Vtqgx8NMjYw/HxdzQss5p7f/4HXQyhbkGt/QcBlzmvu3EL0262zsEPf6oH4oeq6WfUeBZOMiOYK+rQ4G0c4TP9PICM26BOBA18kPEsjsoYe2ca+rqHpxISs6+h1kVnbIOTMm+yZl9bpB70fNnY/QRUzwx1Ar5Gbq/8FbBQrTVTsM3aGi3Mtw9OXyy7jxuEagB1SCjT2XdQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8REmUeV1V4SLLzlCrB/FCcG+nNp2jowdG9widrP/nNc=;
 b=hFV9flDdC0ED47MiW93hZwGjmYNdW0TCytfh7Nz1AesWqUqwO6UX3+kwCkghAisVtWczDFj4ZaiU2gn0kJCwp8M9flThIjbQvd+d8VscCfTdCKT9E0ZXz/6qzgWUcS60Nmoq6yJw4bdncNFIXFLVWNQDjv/E9pGZZYjGcCAz/bk=
Date: Mon, 31 Jan 2022 12:23:13 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich
	<JBeulich@suse.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 1/9] x86/cpuid: Advertise SSB_NO to guests by default
Message-ID: <YffGoZtna8ijJTw/@Air-de-Roger>
References: <20220128132927.14997-1-andrew.cooper3@citrix.com>
 <20220128132927.14997-2-andrew.cooper3@citrix.com>
 <YfeurBLIrtSpifuo@Air-de-Roger>
 <f0f04ff9-e54c-0442-692f-573b6c191e14@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <f0f04ff9-e54c-0442-692f-573b6c191e14@citrix.com>
X-ClientProxiedBy: LO4P123CA0443.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a9::16) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 54f78d34-c44a-41a5-17c0-08d9e4ac14b3
X-MS-TrafficTypeDiagnostic: CH0PR03MB6049:EE_
X-Microsoft-Antispam-PRVS: <CH0PR03MB6049084B86EE6AB10A4C55E68F259@CH0PR03MB6049.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: G2vM+jZFY7wCPMA60vWHig1cYLpvfKukHEGNIOko9jTJlW93kLkie4e+S3Kq6YOCQ8eEqRF0yOCl9bXwv4InB7gQgKnqcl8fASue2s9Th0pLtbvjLIv2zPOUy06Hi9dinZhez0Jvoj35kQlqWhiE4Op3g0iiBIMQ/cSixsoZGNIC49boIlrQJYkTgLwB19bTpQ8XDPyL6bjoKwqUpicCWNGUlqhh36VUUA6bVutsLh3u1nKGDEtjFGp3kCdn9/iLv2NJBZDa0R4XBCIklPqeTfmBJbKhnWe6FhDeNxdaFvtWfc+rj6hCMLXlawF9w3VrcioXn/oTV/hQDfCCfeELy4AZmlzF8NpH+Hf4GhMORaY8siXmIeTrhQIxGEUXylhS5Frk/v0Veb3ASSTts/+B2NZpTUOUy5MAqKN7kAiRaMypynrcvWE7x8oLiqNqzvK3gqgNrcvh81nqDTg0PmX9jE87Qf1jeFaDaNpyl7/a+J8heZwZ3T7g4yEpEN5RpWtUuxNP51NjD8fNDdXmJolFgK8aTWK/LAwaEq583cpbOkNV/Q3mtt9LdZd8eNgr135et8C3Rw3hxQa1Z9fxkSh/9eCrYDBx25GHvSSe7dzkxE1Ejje5JFaKQG50oW3WIQCnynOb6Zq8RU5d+rAsgeuHXw==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(7916004)(4636009)(366004)(316002)(85182001)(38100700002)(6636002)(186003)(54906003)(26005)(66476007)(66556008)(66946007)(82960400001)(6506007)(6512007)(6666004)(508600001)(86362001)(8676002)(53546011)(8936002)(2906002)(6862004)(9686003)(4326008)(33716001)(6486002)(5660300002)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?by9LM0RPUHFEMzMxeTE5UEc0SUwzdzd0eXMxZmpjbVhyWEZRNUU0b1VNWnds?=
 =?utf-8?B?alNTUEZHMWpiekZ6T1J3dUZ0RnhldEZLYnY2bmE1N1dIZnhPM0VCWTNkeW1o?=
 =?utf-8?B?UTlldkZVaG9TMGdvaGJ4aE9UY3AzK0JUNXVON29tTjVjK2VUVUJLNERwb1pD?=
 =?utf-8?B?YVlqSXNneno1cHZPdmNYaTIxRE0yVHVVWlJnNFl1RlRHZUZxMW1HUC8yazhU?=
 =?utf-8?B?aVlEVFBZNjBMNVQ3K1BBWE9EdWw5OGJoWFZHZitjdGQvL1ZVNWErclpuQ0ov?=
 =?utf-8?B?ZnIvekNMMlMyK3VFR2Y4TXpkM2JuMGxKeWt3QnJVMmI3WjJoams2QmFxNURX?=
 =?utf-8?B?SkZaQjNOaUwvVWlMaU1ZQVhRUnovWWMxeDlNU1BuTU1aK1JEVUd0T3o0bDJh?=
 =?utf-8?B?aGNXMVUxK2d2a2NEUVJ2U01FazB6SjBNZHZseXJzVkJ5MzVEd296dUR0N1g0?=
 =?utf-8?B?Y2FuVWNIZmRRUnlWNDF4cGdkaGo2OWE3OSt0QlZNNzhGVDNmMElEcGw5TE1M?=
 =?utf-8?B?WFRDS0hBQWY0RUI1T0RXS3U4ZWt6VzlsM0ZXeDNmTitNdzZNZ2cvdGVnU2lK?=
 =?utf-8?B?L2haOURqOTBOeXZtZnpQd2pUZUozSHhiL2NHRmVSMkUvOG0wdGFIZElhVE1W?=
 =?utf-8?B?V05zaThmajFwWVBjYnZYSG02RkQvd081Z2x1OXdTUXNjS05LQ3QzVklBclFF?=
 =?utf-8?B?SUk2VnNDTjYyYUtDbmxwM0h0d1FucGVtTDVFcUptbVRTdU04QSthdjB6Q0tF?=
 =?utf-8?B?a01JZnNhZXhORWlmVFQ2ODFabnVuQy9wV3JpNGNKd3VVcnhpYkNZQnhrOTk4?=
 =?utf-8?B?RHFlazVMNzVNZmhPMFV6blNMSmlEYis4eVIwYjBQOWUxNWE3K3VuTzJmdnlw?=
 =?utf-8?B?UjZsUmJuYmhHaWJUdk1nZ3MrMmtrbDl1cHFvOGFTK3hSU1VXL2tqcUYwekdy?=
 =?utf-8?B?OVM3Zmg1L3BSdVVUdi8wbGQzYWJCcWprTS8wWERvM1FCOUl5K2tZZkIvRC9D?=
 =?utf-8?B?QmQ1eU9lV2dhTWJoeEFsWHRVNFliM2dVUVhBK3hwTTRyVE5ZYkRybmY2Vzg2?=
 =?utf-8?B?RkUwaExzczRNL2hta25IVGRYUi9HcWFQVG9MQUQ1QW11K3FjTTI2dmJGcjVU?=
 =?utf-8?B?MFc4VkhVRENPbjhQV1l5V1M0aDhmclB0MWJIb1NlTmFucUdOSmhPNmxac3hU?=
 =?utf-8?B?VmZTMEtUTUhMditmUityMjh6T1hxdmt6ZGttaVUwVXhrbENVYklXMlg3RTNa?=
 =?utf-8?B?RVRBY1hxK3FKOXd2VmN2NkgyN3FMWWRjVEhObWVQNk0zRUp3Y0VBYUU5cWdn?=
 =?utf-8?B?OElsYWdWbkw4a0NsbWlEUFZKQkhDdllKQUtpNUtqR1hNeEo2R2UvMjJSdGtu?=
 =?utf-8?B?Z0pxejJvb0VTa2wwQUkyREp6dHJFVUY0SmRDR0N4L2t4UnNzalRsWWpNTUZj?=
 =?utf-8?B?bjZKYmFWZnl0VGxRcEFqcmFkL0lXUmRUTmRMcnhsLzhTa3dMaUlvVThXSGM4?=
 =?utf-8?B?a0F0TTlYay9OKzIyY0RRQktJSHU2N1IyMVNxalJpc284NmtmUHJaVGNZRU5H?=
 =?utf-8?B?aDBaKzkyZmk2TFRRTmVkQ2l2d3hnanZLdm00RUxaemMwS2JkZXZlODFRNEFW?=
 =?utf-8?B?UytZaHUwQzR6SkVwbGtCYlcxUGhsaEpSZ3g5NnBzV0FBSHMwV3RPcWlpN2sw?=
 =?utf-8?B?Z21QaFJ0UVk2cTNjbGJpT0dSakxJSWRrQ0pxdklzZFZ5T3J2RnEzOFgyNGht?=
 =?utf-8?B?ZGhQUWpuNUxiSTkyd3NOaG9TbHdvc1h6c1ozWGV4YlNVR0dMMi9ULy90WGNP?=
 =?utf-8?B?Ujk2QnFPd3QyaTZFM2VrN3Y4RE1rMUh5YVozVVppK1VlY3VaZXJ5b1FiVThv?=
 =?utf-8?B?ZXlQU0pUamV1cXpxNmx1bUpYMUN3QVMrQ3lOandrQzkybTIyY05NejR1NlJQ?=
 =?utf-8?B?eGhEV2s1OHZOZU56RERxZEMyQzFvZXRkbVNEKzJVVFBZNGpzc243NDJ2ZFVv?=
 =?utf-8?B?L3dUdWdyWFJpaG15dXFGV2xpVFBTLyszQ2J4bkg0bHZEc01Xc0pGZFdUZVQy?=
 =?utf-8?B?NFRVOU02RnpBK0JqblNqMnVBVlBtMzZEd3M4SzBFN3NPSGdJekhJK1ViTnkx?=
 =?utf-8?B?dGJWK3JVOEJYdXJFWnBIRDhmNmpKQ21iRHpTSGNPbHpoUnRGOFZ6YXZyM1RP?=
 =?utf-8?Q?qxX3m1pfL7dPG0yrsGnwyQc=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 54f78d34-c44a-41a5-17c0-08d9e4ac14b3
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 11:23:18.4455
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mt3SHaFAMtWTHsHLkeR6D0fZU53iGXXg7uQ7B7mFOOIs+DCkYw4F9I+V0+3zvBQxPLVLWlf6jQB6YNJArUytTA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR03MB6049
X-OriginatorOrg: citrix.com

On Mon, Jan 31, 2022 at 11:15:09AM +0000, Andrew Cooper wrote:
> On 31/01/2022 09:41, Roger Pau Monné wrote:
> > On Fri, Jan 28, 2022 at 01:29:19PM +0000, Andrew Cooper wrote:
> >> This is a statement of hardware behaviour, and not related to controls for the
> >> guest kernel to use.  Pass it straight through from hardware.
> >>
> > Not really related to this patch per se, but I think we should expose
> > AMD_SSBD unconditionally for SPEC_CTRL (and VIRT_SSBD for
> > VIRT_SPEC_CTRL when supported) in the max policies and implement them
> > as noop for compatibility reasons?
> >
> > I would expect CPUs exposing SSB_NO to drop AMD_SSBD and VIRT_SSBD at
> > some point.
> 
> Why?  SSBD is an architectural feature.  It's far more likely to turn
> into a no-op on SSB_NO hardware, than to disappear, especially as the
> MSR is exposed to guests.
> 
> VIRT_SSBD is only offered by hypervisors, and should only be offered
> when there are members in the migration pool without MSR_SPEC_CTRL.

But we should also offer VIRT_SSBD in the max policy if the hardware
reports SSB_NO, because then it's a no-op and would allow for
migration from boxes where we do offer VIRT_SSBD.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 11:23:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 11:23:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262993.455507 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEUml-0001CB-QP; Mon, 31 Jan 2022 11:23:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262993.455507; Mon, 31 Jan 2022 11:23:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEUml-0001C2-Mk; Mon, 31 Jan 2022 11:23:51 +0000
Received: by outflank-mailman (input) for mailman id 262993;
 Mon, 31 Jan 2022 11:23:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9KqZ=SP=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nEUmj-0000cr-R9
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 11:23:50 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 41463c2e-8288-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 12:23:48 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 41463c2e-8288-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643628228;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=s2MjfjFAWyDKo5ssvjfuCw5fpGKNmOaql4YUezCmQgQ=;
  b=VmMIOAjJgd/jSNw2F23/AhBWCqT2dFDO7SeoCSQWuQxzfUa5LC9v14K+
   W0QpYjZZ7egtlN7bKzcbkLCDilg+BhJxkJY2CLUy3ncZKnXvsbcSWmPkD
   oxLmH8rbhTXdt9bbb3Ym65E0YV5+2tloZ1xYS3Pn3zZtak80l7UUf/DE/
   k=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: EIICFMSgJkg/tIyEZWgWh2Y7lNZum3DWrWBcfZg5vZO4VhN7kuKOWmMDnLDxWseDrOZgN8b+mb
 w+te4ybaru05W4ckqUUS7yTAjw4wjEduSxMUZpJp0vFeYnxGkCxiS3NDiA7eMKCNKpc/7SoCdA
 3SWBFIjAI5EhYo62dU30h1yvoSMILUL/+rahLaQJdsO2cia41UdbOkGCSGA+NztKV4dQo+793t
 Nhld9rnyXYzsHXRscDgG6GkM6CR71psdNaXI1S8Qt3ag4XvCcOvfKuBFTB88QSvk60OPFMQQQL
 1pWmcS7VRAxJ5e9MtwjsiN0i
X-SBRS: 5.2
X-MesageID: 63109655
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:k6W0l6LVM1K9oEwPFE+RPJIlxSXFcZb7ZxGr2PjKsXjdYENS3zYPm
 2ZKUGCAOKvbY2fwL9ElPYmzo05QvMKEyINnTVBlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokcxIn5BC5C5xZVG/fjgqoHUVaiUakideSc+EH170Us4wrZg6mJVqYPR7z2l6
 IuaT/L3YDdJ6xYsWo7Dw/vewP/HlK2aVAIw5jTSV9gS1LPtvyB94KYkDbOwNxPFrrx8RYZWc
 QphIIaRpQs19z91Yj+sfy2SnkciGtY+NiDW4pZatjTLbrGvaUXe345iXMfwZ3u7hB23vI9A5
 YsVs6azFwx2EqnpqcIzdUNxRnQW0a1uoNcrIFC6uM2XiUbHb2Ht07NlC0Re0Y8wo7gtRzsUr
 LpBdW5LPkvra+GemdpXTsFFgMg5IdatF4QYonx6lhnSDOo8QICFSKLPjTNd9Glr35gfQ6uDD
 yYfQSRoSzLaOSwIAAkoNo4Yxtysg3LFIwQN/Tp5ooJoujOOnWSdyoPFINfTP9CHW8hRtkKZv
 X7duXT0BAkAM96SwibD9Wij7sfQmQvrVYRUE6e3ntZoilCOwm0YCDUNSEC25/K+jyaDt8l3c
 hJOvHB09O5rqRLtHoKVswCETGCsgD1DavcOS+sA61+GlYbQxje/KE5eZ2sUADA5j/MeSTsv3
 16PutrmAz1zrbGYIU6gGqeoQSCaYnZMczJbDcMQZU5cuoS4/tlv5v7aZos7SMaIYsvJ9SYcK
 txghAw3nP0tgMECzM1XFniX0mv39vAlouPYjzg7v15JDCskPuZJhKTysDA3CMqsyq7DFDFtW
 1Bfw6CjABgmV83lqcB0aLxl8EuVz/iEKibAplVkAoMs8T+gk1b6I9wLvWEhfBc3Y5pVEdMMX
 KM1kVkLjHO0FCDyBZKbnqrrU5h6pUQePYmNug/ogipmPcEqKV7vENBGbk+MxWH9+HXAYolkU
 ap3hf2EVC5AYYw+lWLeb75EjdcDm35irUuOG8GT50n3gNK2OS/OIZ9YYQTmUwzMxP7eyOkj2
 4wBZ5LiJtQ2eLCWXxQ7BqZKcwhScyBnVM+nwyGVH8baSjdb9KgaI6a56ZsqepB/nrQTkeHN/
 3qnXVRfxka5jnrCQThmoFg5AF82dZog/389IwI2OlOkhyoqbYq1tf9NfJorZ7g3sudkyKcsH
 fUCfsyBBNVJSyjGpGtBPcWs8tQ6eUT5nx+KMgqkfCM7I8xqSTvW94K2ZQDo7iQPUHa67JNsv
 7262wrHapMfXAA+Xt3OYfeiwgrp73gQke5/RWXSJdxXdBm++YRmMXWp3PQ2P9sNOVPIwT7Dj
 1SaBhIRpO/spY4p8YaW2fDY/tnxS+YnRxhUBWjW67qyJBL2xGv7zN8SSvuMcBDcSHjwpPeoa
 9JKwqyuK/YAhltL7dZxSu450aIk6tLzjLZG1QA4Tm7TZlGmB748cHmL2c5D6v9EyrND4FbkX
 0uO/p9ROKmTOdOjG1kUfVJ3YuOG3PASuz/T8fVqfxmquH4ppOKKARdIIh2BqC1BN78kYooqz
 NAotNMS9wHi2AEhNcyLj3wM+mmBRpDav37Lan3O7FfXtzcW
IronPort-HdrOrdr: A9a23:kfXtD64G4bNtnW7hagPXwWyBI+orL9Y04lQ7vn2ZFiY7TiXIra
 yTdaoguCMc0AxhJU3Jmbi7Scy9qeu1z+863WBjB8bfYOCAghroEGgC1/qs/9SEIUPDH4FmpN
 5dmsRFeb7N5B1B/LzHCWqDYpYdKbu8gdiVbI7lph8HJ2ALV0gj1XYDNu/yKDwteOAsP+tcKH
 Po3Lsgm9PWQwVxUi3UPAhmY8Hz4/nw0L72ax8PABAqrCOUiymz1bL8Gx+Emj8DTjJm294ZgC
 v4uj28wp/mn+Cwyxfa2WOWxY9RgsHdxtxKA9HJotQJKw/rlh2jaO1aKv+/VXEO0aSSAWQR4Z
 7xSiQbToJOArTqDziISC7Wqk3dOfAVmiffIBGj8CDeSIfCNU0H4oJ69Pxkm13imhcdVZhHod
 J2NyjyjesnMTrQ2Cv6/NTGTBdsiw69pmcji/caizhFXZIZc6I5l/1UwKp5KuZJIMvB0vFtLA
 CuNrCp2N9GNVeBK3zJtGhmx9KhGnw1AxedW0AH/siYySJfknx1x1YRgJV3pAZNyLstD51fo+
 jUOKVhk79DCscQcKJmHe8EBc+6EHbETx7AOH+bZV7nCKYEMXTQrIOf2sR52Mi6PJgTiJcikp
 XIV11V8WY0ZkL1EMWLmIZG9xjcKV/NFAgFCvsukaSRloeMNoYDABfzP2zGyfHQ0Mn3KverLs
 qOBA==
X-IronPort-AV: E=Sophos;i="5.88,330,1635220800"; 
   d="scan'208";a="63109655"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CnYaFlW+vSD5IVz+5oamv2LQAgz1sk8J3L8+ISkNh/HTe85JCpWmo9Y4fhurGwqzgZbSwQqX48/QYWWoSfwoXovQp++dUwTqtL/qYKGLLMt3mlx4TGmYGPHP6bHxXZZkOenuYC8u39yQJOe5ZFf9RHz8vYI7aYAmo7kFrgh9TxUsHIR6fu8KsD79RJY6i9czvHoNoNmAgx/zbMr9bny9nyma40P8t1lorK6P4hWJf9a3ovKcW6rZjrtdEVt58YYiO1QRPP39K4sQ/8OiAGO/5emLzjZHdffFAPdPAuuQ6iJaZDEzWyA/+9O+dNY1M1l5UEYmi7A1VNwv4Y8ZmrekhA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=s2MjfjFAWyDKo5ssvjfuCw5fpGKNmOaql4YUezCmQgQ=;
 b=aKpV/0SS/Xl7nixM3itbkfcvyY6cGiVk42wbxcATWXIRn8dQ6COytbSQgjVs9EDxd2qzZHqnmpqjpWtM925amnrpdaI9rhqNsfU4CjCbdml89Tt6yAQ6ZIYYqVqu/RUwc7W8H9Eem/m/yR78ofWnIl6WAFHaNSczovEox88ROFAnpfma9IZGZR3pfGsdYT8HbjY9SZBY2VLJ+6fIyBiuT6ek4Xcdxy6I+P+YXkmtFQw0/z8lniiJfcwFYvEEXrZiuCc0Ui5IcOfG06DfuPIja9ZEe5+gltFSA2HplB9UoOW7lONkAL2ZGPY24/Od7F3O9EESnQWIdVK3q+1pKEj0Zg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=s2MjfjFAWyDKo5ssvjfuCw5fpGKNmOaql4YUezCmQgQ=;
 b=eNzfrhg72zpybfLEdee5TsxFqAF0QhtnkPb3S1A6Jk3Zj7MZYAR93qvOdFJEsdst2nrixWRe5aQAMvHpisgzj0YJ1FMSIcSUav7mhySjN06WbgJT0GQ9oAPD1hmSVvw4BR1JZPFhxw9OARlU4utIUQ8xTGY300FQnRlrdfxfeX0=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Xen-devel
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 4/9] x86/spec-ctrl: Don't use
 spec_ctrl_{enter,exit}_idle() for S3
Thread-Topic: [PATCH v2 4/9] x86/spec-ctrl: Don't use
 spec_ctrl_{enter,exit}_idle() for S3
Thread-Index: AQHYFEslNylcZ92lUUmGXdMcKHF6zqx87mCAgAATCgA=
Date: Mon, 31 Jan 2022 11:23:42 +0000
Message-ID: <daf19c30-7602-a689-c39d-35e477d9874f@citrix.com>
References: <20220128132927.14997-1-andrew.cooper3@citrix.com>
 <20220128132927.14997-5-andrew.cooper3@citrix.com>
 <23ac2bed-9ab4-8b4b-2861-3362434dea61@suse.com>
In-Reply-To: <23ac2bed-9ab4-8b4b-2861-3362434dea61@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.1
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 97d213f3-e4be-4671-3c0b-08d9e4ac2360
x-ms-traffictypediagnostic: BN9PR03MB6060:EE_
x-microsoft-antispam-prvs: <BN9PR03MB606065CF4ECCEC52D0AAB523BA259@BN9PR03MB6060.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: WM4KHxjL83sqPvsp8/I2Th/cjxXtyD+hRyS1QVyZykpPqrSB8trMGdJn6ipnx5Vniv1ksqRucdMmOZKNhtZIywKIAIei6tDesL++0gg3b8eFMi0gpRwwMefQGtGuE8peSOv/ZICSJDH8+oxdXDh5rwXc48OLrbVWeG/15TSBIkAhnrvyGa2VbFOOSBwt8hCSqfQhF4QxHtAMrdrtcZhFXrbwdaabk/J7eW9ODZ82oKNgzZ8a1FUPaamvQzTRRYSmVcyOMcH5JZaVwYb+ldhd1xt8Du/0e4DSWQvS8m4XMcImkcXGH/IatSK8W7uaGf900idwH2NN4N+b291WEw2ZSlbBh+FLH8tYbRs2FtAkGdEMCaCXB5LiwtSrY1G+RxELBJbA0wGksca/yNu/LEo3MibwO3nX3PYmKaAq98CKC4KyW3BFuzQPCU9gQ/7L8iKG6Q7jsmZdQ2qi2JCZ1w0j0OQde1TsbYb+UoGz7ZudwzV3m6k9FMEfa/gXw6HXeS1Q3IvSKVDUzK58QB0HUzmsSqLUjP/cPeOnBVr8H8U0GKOmz/bTgf2hoXoO3uizigSDAOttzMbGHR5iHJwsfS66jQDt7cgr3qhJP1YKmqxj33NPY3gSHhI/YjiIuvAEIzfUbFqkeSPf+xaa05DPC2oNtcp7A13mYZ637XA35GOPz1yxvwJWwVkg+sHqfiVNGqp4Xc1UjYaFysuKza0sQ71rOWitoIfQ3KAW+bOgkewJR5NbtlfwzeETxJdWgo6U6CnkTaKvhcl10QwgZyf6hhQ19A==
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:(13230001)(4636009)(366004)(26005)(66946007)(66556008)(64756008)(4326008)(186003)(66446008)(66476007)(76116006)(38070700005)(8936002)(8676002)(91956017)(6506007)(6512007)(36756003)(31686004)(53546011)(38100700002)(122000001)(316002)(2616005)(71200400001)(6916009)(31696002)(54906003)(86362001)(508600001)(82960400001)(5660300002)(6486002)(2906002)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YWVRVGdIblFvbWtDaHVHUWR0NXpidzlXMG1xOU5WQkkxYmxlODJDRGRXNWd4?=
 =?utf-8?B?U1o5UHNSc2RzdmlTVTJUUzFBaURrU1VjRVdNcktuRXVuVGMwdksyVmhEMFo1?=
 =?utf-8?B?M0J0R3F3UUFVOGVsZVdnNmtFVG44dk4zRkg3UEVEWHJtK1JmZFpQeXUyT24x?=
 =?utf-8?B?MFk5STVDUm15OEJlcUNJTXkxQTl1SkNhSFYwWm9pbGVCNjZXL3Uyc285OXV4?=
 =?utf-8?B?UGFKU2VNaWxyd3VOTlBUMDNFUWdzRXBWTkd3bWh6SEFLcGtnMVg5Z2lkYTNH?=
 =?utf-8?B?dlg2OVdUeE5MSEJMdVdjamdXNXg1N2c2NzU3c285T2IwWG9iZmxkc1F1YU8w?=
 =?utf-8?B?UU5ObXR0YWtSNXFCSUxNU25rc0F5ODdCeVJYbHRHcnliWHJqV1ovdmdlTS81?=
 =?utf-8?B?aFBuUEtYNlhqNG1wd3l3a3h6ZFI3ZW13Yk1Yb0ZBQ0syc3lsZXRETndYbGJX?=
 =?utf-8?B?cXRxS3hVL3pKZWJINEJsNzkxUkgyUDNPMGZvbE90T1hNOEFlTHpKaWZIdHpP?=
 =?utf-8?B?Mlp5VHZiREluQ2FiNTA5N0VQcjZjSERGc3pSZC9ScU5uNDNsY2RhYVlOTmtw?=
 =?utf-8?B?bS9CU1h0YlJBUGpwQ2JjeGYwRG9naGowNTdvdFN2T0pBUjRUcDdodnBBN01B?=
 =?utf-8?B?eloyam5Jend5Q3Q2YWkwaTAwSnhKQ0RjbVQ4d1FnZlFQSmNFVGc5b0IyelFO?=
 =?utf-8?B?ZTh2Z01oNElwcDF0YjNnMTl0SzFFRkZVOGk1Q2ZqeExxTEFkbmZGeHRwT1Ur?=
 =?utf-8?B?TVZybUI4dS9mM1FQUlVWbnAzY2tJTmdGTHFUT0J5T1NFWUtmdWRCSDlucmxB?=
 =?utf-8?B?ZFY5TUN1VkJCTm1LOUNZdTBGYUJnZm5YMFIrZDJZcmFtaUJsMEN5RzI0Z2Np?=
 =?utf-8?B?ajVoUjkxUjRGakpPSVJoUVpRTUtQSlVXelRWV2h1cXYzZzZoSWdwcEpyY1pC?=
 =?utf-8?B?ZmNOeU5ZNVZlVmtUWVlkS3dSbDBqUXBuTkFPNjYyZmdTdWpZMTFoNlo2bENB?=
 =?utf-8?B?dWtHeWsyRXRxeC93citaZHpBeG5lNFplbUQ4Zlkxb3N6c25PaDRra0k5MkFL?=
 =?utf-8?B?aUdWNnZIeHl0NWpzVm54Z0lSQkJidTFoVGNQa1pKOGg0eTJLWitENVUrUWh6?=
 =?utf-8?B?ZERRaTJyNWg0SUEzMVdqM1dpTERNcmo3NDU0THk2eERWNVZxeUtWekJkKzVa?=
 =?utf-8?B?OHdBajZodnk1ZjM0K0Z4OVZXdlZMcFRnSlZ3Tk8rYS8rREZLVG9sUENKTENo?=
 =?utf-8?B?K2dvNVdJSnV6dHpjdEpSczRHZmZEUmFIWTRVTXRZRmxIRTJ0NXplcHg1YlhB?=
 =?utf-8?B?d0NDcDlLVXNjOXl4V1pOVlE3UUtjaGJMVW16QjVhS2QyS1p2RXBHQVY5TmR0?=
 =?utf-8?B?TXdTRlVkUTdDMWtvaEdFVlJCVWpFcGZVNGZBdFdRYk9hd1hUdExMMXFJdURv?=
 =?utf-8?B?OFppQXBGV3gyZ3ZsUXpzWTBwQnYwSXQwUG1wZUV2Y2I5WTZ1T3BVWUZQWmY0?=
 =?utf-8?B?Mk9OTzNhTGNkcDBSVi85aEZNbVBlVVYxYWNIb3pIc21FY2IzRzdRMG5jdTg0?=
 =?utf-8?B?RHVoOWpmeTJCdmgxbkkrNU4wR00xWXBrcXBXaGJwUDFyNkxXN3IrUDFrMjM2?=
 =?utf-8?B?cFJvRjkwY3VLUEtoTVJOUDZ6RXRnakhqb3VhbHUrL0traGxZVmgrWDc0NTdM?=
 =?utf-8?B?dFRYUlM3d0V5UkFRUjMraG0zMDczY1NsY2ZpZEllQ2piaHhoWW5vS2MxU0I0?=
 =?utf-8?B?SitUNkZHK3hLOE80UHFoSG1XSUJLRUU1c043Rzc3MUluNEJVbG5lcG1hSWIr?=
 =?utf-8?B?QnF5S2xnWkFzN3RDVTVabmhzNjJydlVQM2lVU3M3aDl4V0FvSUl6YklrdktD?=
 =?utf-8?B?S2E4VEpHd04xek5rQWVMWXVNQzhtUWFVNzUyOWV1RlRWVGZ6Si9oN1E4Tnh5?=
 =?utf-8?B?SHViMnlYZ05WR2dGalg5eHRsbVZaUG1nKzgwUFRkb1pKVUZBdnBNQUlJNEJj?=
 =?utf-8?B?dWZzTk8vbzV5aWVRVjcxajFjKzgrd2lkcXplNXNTUm1NQ0lSTW1TaDdwbzdG?=
 =?utf-8?B?OWszaHIzcEFIWVlhWG5YbzlHa2wrbDJtcXg2aDJtNHVieVpHdkhmZCtCRXFz?=
 =?utf-8?B?alJabU5GRkN0bzl3Ukg0YzhIQjlLM0UxdHd6bzNKeXVmMnRlYUE0WVVvNVA1?=
 =?utf-8?B?TGRXMWNCZnlIdGk4RkVYMmp0RU9Yakk2VzRDZ0JiQnl3Z0RhMDMwK1UvcVF4?=
 =?utf-8?B?YXZpQVd5WjZLcTREeFZKQjhwWFB3PT0=?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <EBF8EE6E8F9AA248A501F842AA830CC2@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 97d213f3-e4be-4671-3c0b-08d9e4ac2360
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2022 11:23:42.7871
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: VbPG8UyFRuq4TVcgu1GQdgzBk0Aw0ah7OnTrO38HxyNHGBYnusmU7daKiCpJZsWWsER8aFRcZFf1U4ZVHUAxRgkvUC5pYWCbPi70mBcvJdg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR03MB6060
X-OriginatorOrg: citrix.com

T24gMzEvMDEvMjAyMiAxMDoxNSwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDI4LjAxLjIwMjIg
MTQ6MjksIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+PiAnaWRsZScgaGVyZSByZWZlcnMgdG8gaGx0
L213YWl0LiAgVGhlIFMzIHBhdGggaXNuJ3QgYW4gaWRsZSBwYXRoIC0gaXQgaXMgYQ0KPj4gcGxh
dGZvcm0gcmVzZXQuDQo+Pg0KPj4gQ29uZGl0aW9uYWxseSBjbGVhcmluZyBJQlJTIGFuZCBmbHVz
aGluZyB0aGUgc3RvcmUgYnVmZmVycyBvbiB0aGUgd2F5IGRvd24gaXMNCj4+IGEgd2FzdGUgb2Yg
dGltZS4NCj4gSSBjYW4gYnV5IHRoaXMgZm9yIHRoZSBmbHVzaGluZyBhc3BlY3Q7IEknbSBsZXNz
IGNlcnRhaW4gYWJvdXQgdGhlIGNsZWFyaW5nDQo+IG9mIElCUlM6IFdoZXRoZXIgdGhlIGFjdCBv
ZiBjbGVhcmluZyBpcyBzbG93ZXIgdGhhbiB0aGUgcGVyZm9ybWFuY2UgcHJpY2UNCj4gb2YgcnVu
bmluZyB3aXRoIGl0IGVuYWJsZWQgaXMgdW5rbm93biwgSSBzdXBwb3NlPw0KDQpUaGVyZSBhcmUg
YSBoYW5kZnVsIG9mIGluc3RydWN0aW9ucyBmcm9tIG5vdyB1bnRpbCB0aGUgY29yZSBpcyBwb3dl
cmVkDQpkb3duLsKgIFRoZSBjb3N0IG9mIHRoZSBXUk1TUiBpcyBnb2luZyB0byBkb21pbmF0ZSBl
dmVyeXRoaW5nIGVsc2UsIGJ1dA0Kd2UncmUgc3RpbGwgb25seSB0YWxraW5nIG1pY3Jvc2Vjb25k
cy4NCg0KQnV0IGhvbmVzdGx5LCB0aGUgcGVyZiBhc3BlY3QgaXNuJ3QgcmVsZXZhbnQuwqAgSXQn
cyB3cm9uZyB0byB1c2UgdGhlDQplbnRlci9leGl0IGlkbGUgaGVscGVycyBoZXJlLg0KDQo+PiBG
dXJ0aGVybW9yZSwgd2Ugd2FudCB0byBsb2FkIGRlZmF1bHRfeGVuX21jdV9vcHRfY3RybCB1bmls
YXRlcmFsbHkgb24gdGhlIHdheQ0KPj4gYmFjayB1cC4gIEN1cnJlbnRseSBpdCBoYXBwZW5zIGFz
IGEgc2lkZSBlZmZlY3Qgb2YgWDg2X0ZFQVRVUkVfU0NfTVNSX0lETEUgb3INCj4+IHRoZSBuZXh0
IHJldHVybi10by1ndWVzdCwgYnV0IHRoYXQncyBmcmFnaWxlIGJlaGF2aW91ci4NCj4gSSdsbCBh
c3N1bWUgZnJvbSB5b3VyIHJlcGx5IHRoYXQgeW91J3ZlIGFkanVzdGVkIHRoZSBkZXNjcmlwdGlv
biBhcyB3ZWxsLg0KDQpJIGhhdmUsIHllcy4NCg0KPg0KPj4gU2lnbmVkLW9mZi1ieTogQW5kcmV3
IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4NCj4gUHJlZmVyYWJseSB3aXRoIHRo
ZSBzdGF0ZW1lbnQgYWJvdmUgc29mdGVuZWQgYSBsaXR0bGU6DQo+IFJldmlld2VkLWJ5OiBKYW4g
QmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQoNClRoYW5rcy4NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 11:24:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 11:24:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.262995.455518 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEUmx-0001ZQ-39; Mon, 31 Jan 2022 11:24:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 262995.455518; Mon, 31 Jan 2022 11: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 1nEUmw-0001ZH-VL; Mon, 31 Jan 2022 11:24:02 +0000
Received: by outflank-mailman (input) for mailman id 262995;
 Mon, 31 Jan 2022 11:24:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9o41=SP=epam.com=prvs=4030d24c28=oleksandr_andrushchenko@srs-se1.protection.inumbo.net>)
 id 1nEUmv-0000cr-B9
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 11:24:01 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 48c0384a-8288-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 12:24:00 +0100 (CET)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20VAw4wG020845;
 Mon, 31 Jan 2022 11:23:56 GMT
Received: from eur04-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2053.outbound.protection.outlook.com [104.47.14.53])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3dx9je94s5-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 31 Jan 2022 11:23:56 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com (2603:10a6:20b:153::17)
 by AM0PR03MB4227.eurprd03.prod.outlook.com (2603:10a6:208:c6::25)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.21; Mon, 31 Jan
 2022 11:23:48 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6]) by AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6%3]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 11:23: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: 48c0384a-8288-11ec-8eb8-a37418f5ba1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Y29nYq9rgQeOf2boX1duru5F8YJUeG87u3di1o9KA6Tfnpyh2SVr6YHuD6wldjVGrZrnWisF7F0q+c1NjRXn07T0+pPPsauEFfjSQkiRbv9fz/8ms67AYE+pLnmk3hOBbik5VRR7UJ1VwdIOIyKx9q4gf3WPZ7H0CMjgFwg9d1nwdBm5mXAf6lWTDPJV0IQnK9V9hKyL4/1ACIseG9CH1hV4NPXH+8bgnvomEHQyKE9xFg5Mr6D+jL8/8D1glTiEzUCbSDSh5P8fCgt5MYT7YkdTo09k9tviNEfLOcnKkxrTwl4AJezVb93D/KfD14mIdXBZ3cOn59b34oTt3aN62w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tv1c6yndgsa27ER0Ugw6CDyTDFYDS3jGIwZvn8VYUIA=;
 b=XI2gcTUPCslU/FNoZGiLI9z9aITVPtSHqIORxoKDD8af7d9P/eidPdVXg8vzoeAvC4Kqx6vpL7YLQk1GB6G2gOqMeugyrn0gGMSvw4NDg8qUcUWuj7eBuhvsIKIKNQjPQW2ZqDOcmUKvvNukDuJRpxK9Q10YpnLVbvez44FLgac/v7gVZch7GnCLIKperabTfM9QfMZZ0nB7ECR07XA8J90QVXAqGxYmSEZ1KS53hIqy2bARLqAHI86KwpS97h/lGiJI+C03BPuKNyui69dMfzMwWONWoE/Dsysr5efTO3tJ5nCyBu3v8YMLYOl1aYKrl1dp6VBviROyNAMbvQ2M2g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tv1c6yndgsa27ER0Ugw6CDyTDFYDS3jGIwZvn8VYUIA=;
 b=J1qWLGYyr6ewKNvwq0XpPD3dPEPO/yMnYQMgBezbNRkvN0SX7P1pj4LavvX/J6LNujaOEaII+N9cRSgWSydfMtlEFxUSgEVHbujRGybdyoUZIcjy2cw9cRfAE9G27q4Ey2NOfNKysNUehA5q8dqjuU1F1729DuLQSVb7pFdXiW7t9pA+86IyLSHfo7E+NUrO0vIzBcr2Uw5JVvAprwyua1d8KTXEbB5EbREP1reT2IxJYoqnJ3Lf/7wXTu2CU/uc31h9H0kQJo5oVYl9+YLY7L5jh+YNcMtlxxBFLQcJQRsUXRwLpFCPs9LaXQZCmiIC5fFsoSqzp1K3lXMh9I5DPw==
From: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
To: =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        "julien@xen.org" <julien@xen.org>,
        "sstabellini@kernel.org"
	<sstabellini@kernel.org>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Artem Mygaiev <Artem_Mygaiev@epam.com>,
        "jbeulich@suse.com" <jbeulich@suse.com>,
        "andrew.cooper3@citrix.com"
	<andrew.cooper3@citrix.com>,
        "george.dunlap@citrix.com"
	<george.dunlap@citrix.com>,
        "paul@xen.org" <paul@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Rahul Singh <rahul.singh@arm.com>,
        Oleksandr
 Andrushchenko <Oleksandr_Andrushchenko@epam.com>
Subject: Re: [PATCH v5 06/14] vpci/header: implement guest BAR register
 handlers
Thread-Topic: [PATCH v5 06/14] vpci/header: implement guest BAR register
 handlers
Thread-Index: AQHX4ewHyWAyD811HEGp8pIjUuVWNaxfndGAgB2tWgCAAA7+AIAACECAgAADxgA=
Date: Mon, 31 Jan 2022 11:23:48 +0000
Message-ID: <6d1772b1-25f1-0f63-8b8a-5dfaf94b2953@epam.com>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-7-andr2000@gmail.com> <Yd7K+9fvnBz+WTXA@Air-de-Roger>
 <77c00154-646c-a2a3-98cb-be4324003446@epam.com>
 <c7e87ebd-2c56-d510-b08b-02d53f9158d1@epam.com>
 <YffDmW4JGk+iDIVF@Air-de-Roger>
In-Reply-To: <YffDmW4JGk+iDIVF@Air-de-Roger>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 61f79a0c-5db5-4905-e505-08d9e4ac26fa
x-ms-traffictypediagnostic: AM0PR03MB4227:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <AM0PR03MB4227BFEED9AD422AEB4EF050E7259@AM0PR03MB4227.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: 
 +EmH+cof4KuPN7x7KizXosYgPfJDbFgnG77pYKQflvAdGnd43Z98nnbxrrQprcKOSYVMzGmZ9g+ugSjEVHHJw1sxYmVmTymhl1hJ4s67ZZ3SznltKG5m5HgtqA/05S+I9aePLNGZGCao/Y4dj5GhFYe9kAEs8fsiMVvQXLj2GDJzN+DV7b4X3cHrN3jcDZslB8GywC3Kjbb4Z8HDjckOKBSXrIXp9OxC5rv2F9j3QI9M7cQSd3dvXda7yjHpm1EobRhx9/I1wqqtPBTZ4UwIc4AuwLf9Jp7ScQoGFSDPozCXypZyKq/x0T9Jaz9vuGeYjR4KaNcfemfXAEy2x055D7djByO18FeZ5vFEbWEl10ACU9QkEXM3YBbfrHLZUZM2PJZ5P+hkRg4vbcEGXkISx4TnMDrJr76gJaAtYQYsju5h58oNw8ZcLmdVwdRJEVlNv6InJpjcuz4TyIsA9Zl2RsWs58KNqyjf1HRLZgzu6oVG5YCx6EZ0taqHp8uXi2+aDlpFVTvuhLcDEubAN348dAWxEzvWkXN1JhCHMHN4LMfqKkasnKz/p6Ze+lavzhdcYFsjnhzmXo6hsGaroafhod90j0hf49SgwkbxLV2uZnaBobdCZIujJhPIpU+OIE4FRNXp54ny3mgKj2zmdXUYXKf88NXxz6cJAcrtfIZluJugDiRGQt5u53VaFJBS9mmhIZGzZanPpEv7VPLNp2qjD8JyZfyOweeWPABbnc5L59xBlQeBHgJMIe1/ywGk0Fi7
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:(13230001)(4636009)(366004)(91956017)(76116006)(2616005)(64756008)(4326008)(66556008)(31696002)(66946007)(66476007)(66446008)(38100700002)(8676002)(86362001)(6486002)(8936002)(71200400001)(31686004)(2906002)(36756003)(186003)(26005)(6506007)(6512007)(38070700005)(107886003)(508600001)(53546011)(122000001)(5660300002)(54906003)(6916009)(316002)(83380400001)(7416002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?UVNDRTRXNVN1aWd0SnVmKzZIZXFzcnJyUjlLVksyR01RUFJFS0ZwV1lBb2tn?=
 =?utf-8?B?YjZNR2k1V1VRMkYzekZVUGhzS2FZVGg2MllyRkpwcUFNUFUrR01IaURkTHBu?=
 =?utf-8?B?ZVZHdkRuR0krQngvKzBKRnp1TGRBOGx1UnJ2Z0UrMUZUeWM1SXhJTTF1RFV6?=
 =?utf-8?B?aU1BWStrbldtSmYvT0NjcDhLa1RoeWR5RjBwZmxDK1lpaW9hK1ZrWjhyS2Jx?=
 =?utf-8?B?RW1KZWI4Z1cwWmt6ZmJBZlA5cFdlN2grTTRlR3Y3TExUdXlscnFpV2ZiL3dk?=
 =?utf-8?B?aDBzU2cySFhaWnVUZHhKSytCbGxQdzJNKzJZK2RIMXoxWDhreFN1bWhjcHdo?=
 =?utf-8?B?M2NtTDlvbEpHelFJU1p5N3BwZkRMQVpYYk5PRk43UGlkK3JnTnUrWmdkdU8v?=
 =?utf-8?B?SUhmRXI0SHJBRlEwU1pWMk53NmoyOWRDQ2pSZ3RzUklnSnlQQkJVRVArekpK?=
 =?utf-8?B?YUkrc3A5ejJ3YndKbDZkeE9JUWVCdGZIbjZmeXZmSEE4cjFSdm1qajBaSHdG?=
 =?utf-8?B?NERBRWhrbjIzMVZKVVFnaC9LMnlKV1lUbDZkMnZDaHQ2aWFZTy8rUEZWZ3pl?=
 =?utf-8?B?VXdMZ2tZZEdDWTdNS0VLWlhKeEZRUDdmL3piU1RYLzJuODJHdWFWdFhXQVc4?=
 =?utf-8?B?em9tbTNPU3NxNmQyU2RZVDQvQ2pCeitJdHQxcWh4azViY2YvYlcxMFdXN2or?=
 =?utf-8?B?ZEtQbVoxbXdHUThtT0lTbFBBdElyY3dxZmFIWWdvOHNLRldJVHRRaXdpaGtW?=
 =?utf-8?B?bGdXWlo1TmhIQUY1L3ZtT3JzcnFmSjlTZDhyNU9FaDdtZmk4K1ZiRzVKTHJs?=
 =?utf-8?B?WnVadVQ2SlJVYlc5MmNoY2YvNjd3THR4YndsSHk2SGw0ODVpS1VlVk9ncXA3?=
 =?utf-8?B?UGxtanlKMzZOT2pLaS9EY1dITGF4a0crYXhqZWFTd1BLOUJtVDl1UThlSno3?=
 =?utf-8?B?eW01SHBETUErTVVyQmNSRkkvRWk5OWY3MXhtRXovWHQ4T2N0R1JMU2NIeXJG?=
 =?utf-8?B?Q2VZc0xYTCt5ZW90OWNRQzJvODdJbGFoekRXT2VzaEhKaDFLTjhRS24ybzhv?=
 =?utf-8?B?S0ZJS0U5RHJQS25sS0dZbDZzNkhxNWQ5Rk9xMG5RZlBKc0JacHo0Y01FRzN0?=
 =?utf-8?B?bi8rVzV2WEZwV0xCNFFFU0JlRTAwVXU2WTFzcnM3TlBUa25tYlcxZVAraWsx?=
 =?utf-8?B?aTlheUZEbXVQcjdQU0V6WkRCdEszOXZZZFBVZU52WmhkL2N6Y25CUmZCZTRk?=
 =?utf-8?B?di93dDVxTUZwYUtla3Q4a1VLYlIvdUVJL3dXRi9KeTFOcWtmZ3RReHF2ZThU?=
 =?utf-8?B?bDFscnhkWE5MQW4wTEZCL1B1TDExSXU3OWZjVGFCZHdlTVVWRXJUem53M1Bu?=
 =?utf-8?B?cXRld3Jab1BoblhsejAvdDBzcEtRbVJMblRnSWJvMVNKVnFCNFFlejgwdVNK?=
 =?utf-8?B?cmJxUiszM3EvaGYxdzVSOC9GNFl6bWVWcTdZTnFLcFQ4cTBJLzR4aXJhMVhy?=
 =?utf-8?B?eUxqN1M1djR3QVpKVkg1a2d2bitKeGYvNkMyNENMMFp5R0tBR3AvdUNBcFA0?=
 =?utf-8?B?U2hpRnhXQUNyUlBIcEtCVTIxZ3VjN2pLZnd0ZDJrbkp2Z0FUeW44SDFYUW5i?=
 =?utf-8?B?dFdna29GZ0tjd2JLOGJWWUhkNm5zczRGR0c1aHBwOEtuYTQrcVRSbTRyWUN1?=
 =?utf-8?B?Y0dHMDNhazBXQ3hESVdwTWl6Qy81ZjQwRlFJRU11MVU5YmNQc2ZrRzFmWjBZ?=
 =?utf-8?B?a2xEd25QamVUaDBjcDMrZUY4aDRabzJ0THlzQ1hGNFVXR2hnS0s4ellMV01L?=
 =?utf-8?B?WHB3SWtjT01FWHN6c2kvRnFmRGQ3TGsvWStBM01VMnNCYW0vNzJ2czBNNnJZ?=
 =?utf-8?B?NStiRStCdVhnQ1FmelJyTlJFS2E2b0hlVWJSdncyY3ZoTU9XeS9wYm5yWjF2?=
 =?utf-8?B?c0Ixc3BEVjVGeXlpeVc0cHYvYjgzNTFGZVBkaDYrSzAwTDdIRnJOelpGUUdw?=
 =?utf-8?B?Mk9UUjhSV0tqQkVFVTljV3BuQnJidzZCOGZra29wNFZLZGpldDVJMUNVdGho?=
 =?utf-8?B?V1hiQjB5SkRNdWpWWlRnM3N1TEJacVJPcjROYzBQcytqZktuTldZTFhwTmRh?=
 =?utf-8?B?RGtOV0dkWFFRU042OGpPS0RONStoS0xuVitEcmtIYk1GTGFaVllGd0I0elVt?=
 =?utf-8?B?cEVxUEpOTFRrbXBxQWhlaXVRY081YjZVd094Z2RrT3lYRkhxbUYvVGg3Uy9B?=
 =?utf-8?B?d3AwejhFNXFFUXhzWjF5TlR3eTJVSmdZOVhsOC8xUFNMOHV4ZktKVUQ2Y1M4?=
 =?utf-8?B?eXVIZWczZm9US3l6dkFldEJoSk1nRFhmYXp0bUZRcnZCT0hiRXpPUT09?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <79654145BCB0044B89D4D7B8E6CB8AF4@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: 61f79a0c-5db5-4905-e505-08d9e4ac26fa
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2022 11:23:48.7558
 (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: zYPbaErMYiVWnQ1VH43zugG0TWyYP+ulJHDJXa8mwyqEc6TPPjlH0Ewdi9UKTT6KM5E0a4PjZqwGRmdYGrO444/d6Q2oc/fWCgTbub/QFTGuOdhFWUFbWKDmaROojEdE
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR03MB4227
X-Proofpoint-ORIG-GUID: tUUYzL-AcJ5zU3I3pyJPtz5cXRYqMgv8
X-Proofpoint-GUID: tUUYzL-AcJ5zU3I3pyJPtz5cXRYqMgv8
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-31_04,2022-01-28_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=999
 suspectscore=0 adultscore=0 impostorscore=0 mlxscore=0 lowpriorityscore=0
 bulkscore=0 priorityscore=1501 spamscore=0 malwarescore=0 clxscore=1015
 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2201110000 definitions=main-2201310076

DQoNCk9uIDMxLjAxLjIyIDEzOjEwLCBSb2dlciBQYXUgTW9ubsOpIHdyb3RlOg0KPiBPbiBNb24s
IEphbiAzMSwgMjAyMiBhdCAxMDo0MDo0N0FNICswMDAwLCBPbGVrc2FuZHIgQW5kcnVzaGNoZW5r
byB3cm90ZToNCj4+IE9uIDMxLjAxLjIyIDExOjQ3LCBPbGVrc2FuZHIgQW5kcnVzaGNoZW5rbyB3
cm90ZToNCj4+PiBIaSwgUm9nZXIhDQo+Pj4NCj4+PiBPbiAxMi4wMS4yMiAxNDozNSwgUm9nZXIg
UGF1IE1vbm7DqSB3cm90ZToNCj4+Pj4+ICtzdGF0aWMgdm9pZCBndWVzdF9yb21fd3JpdGUoY29u
c3Qgc3RydWN0IHBjaV9kZXYgKnBkZXYsIHVuc2lnbmVkIGludCByZWcsDQo+Pj4+PiArICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHZhbCwgdm9pZCAqZGF0YSkNCj4+Pj4+ICt7
DQo+Pj4+PiArfQ0KPj4+Pj4gKw0KPj4+Pj4gK3N0YXRpYyB1aW50MzJfdCBndWVzdF9yb21fcmVh
ZChjb25zdCBzdHJ1Y3QgcGNpX2RldiAqcGRldiwgdW5zaWduZWQgaW50IHJlZywNCj4+Pj4+ICsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqZGF0YSkNCj4+Pj4+ICt7DQo+Pj4+
PiArICAgIHJldHVybiAweGZmZmZmZmZmOw0KPj4+Pj4gK30NCj4+Pj4gVGhlcmUgc2hvdWxkIGJl
IG5vIG5lZWQgZm9yIHRob3NlIGhhbmRsZXJzLiBBcyBzYWlkIGVsc2V3aGVyZTogZm9yDQo+Pj4+
IGd1ZXN0cyByZWdpc3RlcnMgbm90IGV4cGxpY2l0bHkgaGFuZGxlZCBzaG91bGQgcmV0dXJuIH4w
IGZvciByZWFkcyBhbmQNCj4+Pj4gZHJvcCB3cml0ZXMsIHdoaWNoIGlzIHdoYXQgeW91IGFyZSBw
cm9wb3NpbmcgaGVyZS4NCj4+PiBZZXMsIHlvdSBhcmUgcmlnaHQ6IEkgY2FuIHNlZSBpbiB2cGNp
X3JlYWQgdGhhdCB3ZSBlbmQgdXAgcmVhZGluZyB+MCBpZiBubw0KPj4+IGhhbmRsZXIgZXhpc3Rz
ICh3aGljaCBpcyB3aGF0IEkgZG8gaGVyZSB3aXRoIGd1ZXN0X3JvbV9yZWFkKS4gQnV0IEkgYW0g
bm90IHRoYXQNCj4+PiBzdXJlIGFib3V0IHRoZSBkcm9wcGVkIHdyaXRlczoNCj4+Pg0KPj4+IHZv
aWQgdnBjaV93cml0ZShwY2lfc2JkZl90IHNiZGYsIHVuc2lnbmVkIGludCByZWcsIHVuc2lnbmVk
IGludCBzaXplLA0KPj4+ICAgIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1aW50MzJf
dCBkYXRhKQ0KPj4+IHsNCj4+PiAgICDCoMKgwqAgdW5zaWduZWQgaW50IGRhdGFfb2Zmc2V0ID0g
MDsNCj4+Pg0KPj4+IFtzbmlwXQ0KPj4+DQo+Pj4gICAgwqDCoMKgIGlmICggZGF0YV9vZmZzZXQg
PCBzaXplICkNCj4+PiAgICDCoMKgwqDCoMKgwqDCoCAvKiBUYWlsaW5nIGdhcCwgd3JpdGUgdGhl
IHJlbWFpbmluZy4gKi8NCj4+PiAgICDCoMKgwqDCoMKgwqDCoCB2cGNpX3dyaXRlX2h3KHNiZGYs
IHJlZyArIGRhdGFfb2Zmc2V0LCBzaXplIC0gZGF0YV9vZmZzZXQsDQo+Pj4gICAgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGRhdGEgPj4gKGRhdGFfb2Zmc2V0ICog
OCkpOw0KPj4+DQo+Pj4gc28gaXQgbG9va3MgbGlrZSBmb3IgdGhlIHVuLWhhbmRsZWQgd3JpdGVz
IHdlIHN0aWxsIHJlYWNoIHRoZSBIVyByZWdpc3Rlci4NCj4+PiBDb3VsZCB5b3UgcGxlYXNlIHRl
bGwgaWYgdGhlIGNvZGUgYWJvdmUgbmVlZHMgaW1wcm92ZW1lbnQgKGxpa2UgY2hlY2tpbmcNCj4+
PiBpZiB0aGUgd3JpdGUgd2FzIGhhbmRsZWQpIG9yIEkgc3RpbGwgbmVlZCB0byBwcm92aWRlIGEg
d3JpdGUgaGFuZGxlciwgZS5nLg0KPj4+IGd1ZXN0X3JvbV93cml0ZSBoZXJlPw0KPj4gSG0sIGJ1
dCB0aGUgc2FtZSBhcHBsaWVzIHRvIHRoZSByZWFkcyBhcyB3ZWxsLi4uIEFuZCB0aGlzIGlzIG5v
IHN1cnByaXNlLA0KPj4gYXMgZm9yIHRoZSBndWVzdHMgSSBjYW4gc2VlIHRoYXQgaXQgYWNjZXNz
ZXMgYWxsIHRoZSBjb25maWd1cmF0aW9uIHNwYWNlDQo+PiByZWdpc3RlcnMgdGhhdCBJIGRvbid0
IGhhbmRsZS4gV2l0aG91dCB0aGF0IEkgd291bGQgaGF2ZSBndWVzdHMgdW5hYmxlDQo+PiB0byBw
cm9wZXJseSBzZXR1cCBhIFBDSSBkZXZpY2UgYmVpbmcgcGFzc2VkIHRocm91Z2guLi4gQW5kIHRo
aXMgaXMgd2h5DQo+PiBJIGhhdmUgYSBiaWcgVE9ETyBpbiB0aGlzIHNlcmllcyBkZXNjcmliaW5n
IHVuaGFuZGxlZCByZWdpc3RlcnMuDQo+PiBTbywgaXQgc2VlbXMgdGhhdCBJIGRvIG5lZWQgdG8g
cHJvdmlkZSB0aG9zZSBoYW5kbGVycyB3aGljaCBJIG5lZWQgdG8NCj4+IGRyb3Agd3JpdGVzIGFu
ZCByZXR1cm4gfjAgb24gcmVhZHMuDQo+IFJpZ2h0IChzZWUgbXkgcHJldmlvdXMgcmVwbHkgdG8g
dGhpcyBjb21tZW50KS4gSSB0aGluayBpdCB3b3VsZCBiZQ0KPiBlYXNpZXIgKGFuZCBjbGVhbmVy
KSBpZiB5b3Ugc3dpdGNoZWQgdGhlIGRlZmF1bHQgYmVoYXZpb3IgcmVnYXJkaW5nDQo+IHVuaGFu
ZGxlZCByZWdpc3RlciBhY2Nlc3MgZm9yIGRvbVVzIGF0IHRoZSBzdGFydCBvZiB0aGUgc2VyaWVz
IChkcm9wDQo+IHdyaXRlcywgcmVhZHMgcmV0dXJucyB+MCksIGFuZCB0aGVuIHlvdSB3b24ndCBu
ZWVkIHRvIGFkZCBhbGwgdGhvc2UNCj4gZHVtbXkgaGFuZGxlciB0byBkcm9wIHdyaXRlcyBhbmQg
cmV0dXJuIH4wIGZvciByZWFkcy4NCj4NCj4gSXQncyBnb2luZyB0byBiZSBtb3JlIHdvcmsgaW5p
dGlhbGx5IGFzIHlvdSB3b3VsZCBuZWVkIHRvIHN1cHBvcnQNCj4gcGFzc3Rocm91Z2ggb2YgbW9y
ZSByZWdpc3RlcnMsIGJ1dCBpdCdzIHRoZSByaWdodCBhcHByb2FjaCB0aGF0IHdlDQo+IG5lZWQg
aW1wbGVtZW50YXRpb24gd2lzZS4NCldoaWxlIEkgYWdyZWUgaW4gZ2VuZXJhbCwgdGhpcyBlZmZl
Y3RpdmVseSBtZWFucyB0aGF0IEknbGwgbmVlZCB0byBwcm92aWRlDQpoYW5kbGluZyBmb3IgYWxs
IFBDSWUgcmVnaXN0ZXJzIGFuZCBjYXBhYmlsaXRpZXMgZnJvbSB0aGUgdmVyeSBzdGFydC4NCk90
aGVyd2lzZSBubyBndWVzdCBiZSBhYmxlIHRvIHByb3Blcmx5IGluaXRpYWxpemUgYSBQQ0kgZGV2
aWNlIHdpdGhvdXQgdGhhdC4NCk9mIGNvdXJzZSwgd2UgbWF5IHdhbnQgc3RhcnRpbmcgZnJvbSBz
dHVicyBpbnN0ZWFkIG9mIHByb3BlciBlbXVsYXRpb24sDQp3aGljaCB3aWxsIGRpcmVjdCB0aGUg
YWNjZXNzIHRvIHJlYWwgSFcgYW5kIGxhdGVyIG9uIHdlIGFkZCBwcm9wZXIgZW11bGF0aW9uLg0K
QnV0LCBhZ2FpbiwgdGhpcyBpcyBnb2luZyB0byBiZSBhIHJhdGhlciBiaWcgcGllY2Ugb2YgY29k
ZSB3aGVyZSB3ZSBuZWVkDQp0byBleHBsaWNpdGx5IGhhbmRsZSBldmVyeSBwb3NzaWJsZSBjYXBh
YmlsaXR5Lg0KDQpBdCB0aGUgbW9tZW50IHdlIGFyZSBub3QgZ29pbmcgdG8gY2xhaW0gdGhhdCB2
UENJIHByb3ZpZGVzIGFsbCBtZWFucyB0bw0KcGFzcyB0aHJvdWdoIGEgUENJIGRldmljZSBzYWZl
bHkgd2l0aCB0aGlzIHJlc3BlY3QgYW5kIHRoaXMgaXMgd2h5IHRoZSBmZWF0dXJlDQppdHNlbGYg
d29uJ3QgZXZlbiBiZSBhIHRlY2ggcHJldmlldyB5ZXQuIEZvciB0aGF0IHJlYXNvbiBJIHRoaW5r
IHdlIGNhbiBzdGlsbA0KaGF2ZSBpbXBsZW1lbnRlZCBvbmx5IGNydWNpYWwgc2V0IG9mIGhhbmRs
ZXJzIGFuZCBzdGlsbCBhbGxvdyB0aGUgcmVzdCB0bw0KYmUgcmVhZC93cml0ZSBkaXJlY3RseSB3
aXRob3V0IGVtdWxhdGlvbi4NCg0KQW5vdGhlciBxdWVzdGlvbiBpcyB3aGF0IG5lZWRzIHRvIGJl
IGRvbmUgZm9yIHZlbmRvciBzcGVjaWZpYyBjYXBhYmlsaXRpZXM/DQpIb3cgdGhlc2UgYXJlIGdv
aW5nIHRvIGJlIGVtdWxhdGVkPw0KPg0KPiBUaGFua3MsIFJvZ2VyLg0KVGhhbmsgeW91LA0KT2xl
a3NhbmRy


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 11:27:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 11:27:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263008.455529 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEUqf-0002cF-PX; Mon, 31 Jan 2022 11:27:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263008.455529; Mon, 31 Jan 2022 11:27:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEUqf-0002c8-LV; Mon, 31 Jan 2022 11:27:53 +0000
Received: by outflank-mailman (input) for mailman id 263008;
 Mon, 31 Jan 2022 11:27:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ytUN=SP=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nEUqe-0002by-T3
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 11:27:53 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d27265a9-8288-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 12:27:51 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d27265a9-8288-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643628471;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=SEzLHKKDlfMYNu/2+VcZV3HPKBvrcA72pAvgvP9zg9M=;
  b=JdBYnLMleU1kdjlxiTXXDiGAcxPIl0HprZ2v6rg+d7yiCTVzsLWhhaOc
   juQtDTlYOnVzs/m+S7mYMiZAeFSwVluellu/iWH8rs1gjEi4zWuToBiwW
   /JE8dQz7jjbdaLXb/01yBdS7NLOB8vR8k5uvEHW+ZMmPUocknlyPxOwXS
   g=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: RoIYAWQB8g5cy/2vulw/TtIpwO5xoK92KLDb0LCpslVqWJxmPvIEgxDRxGkwJLSrlRsiEBOk2D
 m/1cMplfmYiDQ80dcE3LIvCYcJaRtWtSRbJQm0T2ikc/YyK0135JPPfS3/G76Zk6/DPBYMNrsk
 VnjJYcJrMADAyPtNS+5ZFB+r2YINoZKcIuFBC9q3JXZaKbdtIz3WyJFqUqJz4f3rbXaPDnY+V0
 EUz7PgYqrOuL6unTZ2f/loCcTn2cx2nZ74NOv21bGH4Bto1ICWaAxo+WcJ2ayvWjS7gqxI6jU2
 Cjw1DzzaWa8hF91ZZg3bp8U1
X-SBRS: 5.2
X-MesageID: 65297471
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:2OZJWa7Vrm9e2YvRvveKlQxRtAzBchMFZxGqfqrLsTDasY5as4F+v
 jRLUW2EP6vZYGamKdBwOY60pxxSuZfXm4NmGQA4/ig1Hi5G8cbLO4+Ufxz6V8+wwmwvb67FA
 +E2MISowBUcFyeEzvuV3zyIQUBUjclkfJKlYAL/En03FV8MpBsJ00o5wbZg2dcw2LBVPivW0
 T/Mi5yHULOa82Yc3lI8s8pvfzs24ZweEBtB1rAPTagjUG32zhH5P7pGTU2FFFPqQ5E8IwKPb
 72rIIdVXI/u10xF5tuNyt4Xe6CRK1LYFVDmZnF+A8BOjvXez8CbP2lS2Pc0MC9qZzu1c99Zz
 sRXkMSLUikTEqD0hv1DdxxnEwhgIvgTkFPHCSDXXc27ykTHdz3nwul0DVFwNoodkgp1KTgQr
 7pCcmlLN03dwbLtqF64YrAEasALNs7kMZlZonh95TrYEewnUdbIRKCiCdpwgmpq158SQq+2i
 8wxZjp/UkufShJ1E3g4GIsVrcXw31aifGgNwL6SjfVuuDWCpOBr65DEKsbYf+uvVMpcn0uGj
 m/e9mG/CRYfXPShzj6C/mOpl/X4tyrxU4IPF5W17vdvxlaUwwQ7EBQLUXOrrP//jVSxM/pFI
 kwJ/mw1rK499GSiVNy7VBq9yFaOswQAQdNWH6s/4RuU16vPyw+DAy4PSTspQPsiucwtTDomz
 Gi1jsjpDjxitr6SYX+F/7LSpjS3UQAXJ2IfYS4PTSMe/sLu5oo0i3rnadJuE7W8iNHvLhj2z
 yqXtyg1h7gVjskj2r2y+BbMhDfEjojESEs56xvaWkqh7xhlf8i1aoqw81/Z4P1caoGDQTGpp
 2MYksKT6OQPC5CllyGXRugJWraz6J6tMiDYgFNpN4ks8XKq4XHLQGxLyGggfgEzaJ9CIGK3J
 h+I0e9M2HNNFH27d4ovWJmfMegn9bb5S/DgafD9cMUbN/CdazS71C1pYEeR2UXkn04tjbwzN
 P+nTCq8MZoJIf85lWTrHo/xxZdun3ljnj2LGfgX2jz6ieL2WZKDdVsS3LJihMgd5bjMngja+
 s032yCim0QGC72WjsU6HOcuwbE2wZoTWMqeRy9/LLfrzu9a9IcJUaW5LVQJINQNokitvr2Ul
 kxRo2cBoLYFuVXJKB+RdldoY671UJB0oBoTZHJwZgv4hCBzP9fzvc/zkqfbm5F9roSPKtYvF
 5E4lzioWKwTGlwrBRxABXUCkGCSXEvy3l/fV8ZUSDM+Y4RhV2T0FizMJWPSGN01JnPv76MW+
 uT4viuCGMZrb1k8UK7+Naz+p3vs7Sl1sL8jBCPgf4gMEHgABaA3cUQdeNdtfZFVQfgCrxPHv
 zur7eAw/LeV+9FtrIiW1Mhpbe6BSoNDI6aTJEGChZ6ePijG5Guzh4hGVeeDZzfGU23ovq6lY
 I1oIzvUapXrRX5G7NhxFahF16U764e9rrNW1F08Tn7Kc06qGvVrJXzfhZtDsahEx7l4vwqqW
 x3QpokGaOvRYM61QkQMIAcFb/iY0a1GkDfl8vlocl7x4zV6/eTbXBwKbQWMkiFUMJB8LJghn
 bU6oMcT5gHm0kgqP9+Kgzp67WOJKnBcAawruotDWN3gixYxy0EEapvZU3ek7JaKYtRKE08rP
 j7L2/aS2+UCnhLPKiNhG2LM0OxRgYU1lCpLlFJSdU6Untflh+Ms2EED+zoAUQkInA5M1Ph+O
 zY3OhQtd7mO5TphmONKQ3uoR1NaHBSc90H8lwkJmWneQxX6X2DBNjRga+OE/URf+GNAZDlLu
 rqfzT+9Azrtecjw2Ao0WFJk9KO/HYAgqFWalZD1BdmBErk7fSHh0/2namc/ohf6Bd882R/cr
 u5w8ecsMaD2OEb8eUHg51V2AVjIdC25GQ==
IronPort-HdrOrdr: A9a23:KUZuha/Wp9M5DHbDxVpuk+DhI+orL9Y04lQ7vn2ZHyYlFvBw5P
 rOoB1773DJYVkqNE3I9errBEDEewK+yXcX2+Is1NWZPDUO0VHARL2Kr7GSoQEIcBeOk9K1u5
 0MT0AgY+eAamSTxKzBjjVQuexQpuW6zA==
X-IronPort-AV: E=Sophos;i="5.88,330,1635220800"; 
   d="scan'208";a="65297471"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=I/nNh0XYppO+b8+hXEvu2zGZY9Qz5FwBy74Fsq1jCePBOJNyr6ePhyxBjYYBpgokWnH3kLI+l0e/GONAzL+nibzwjaVDOEOf6lPSbRuPCsB3xmpDK7zbqidspyQYMHUu6hoxurTjqVJPFez4Xt5MHfEjTTzrnvLvM1JwV5MYam9nvlJ8RdsEBzaYPRCSfGxcMgtztOTmida1K1M17jjJfra2dhjZw/zHpe9dneh3ppxH+nl+XuPkh/I+m6vxmVc1EHiSimH3PGt91TviHFvmOotV/TGsy569JS2SaZNd8KKSNtVTSYBqoXNFwGXtydDwS9qJ+tkxWHG4fd6SN2dLbw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cfZIS6fa6niDjeBcq7713O/YnxTPZAggOnpIc0e2qoY=;
 b=HmdDbrDDuqbn61W8SXyK4lwQgmK+Bzv6D4i4jt/0JTV33Erhok/947rGmARkqyeY9Ose8bwKMeuHbFYdgTqH8mr6aix94shhIQEahlavW+EFpDVWrZ3Ut/XfCsuVl4ILi32bCStUUUlJgqsc3fOOUinPi6wCWNo5L/DoRfLkEk5es56PhxMxyQNX2gCPmqEfuCQFM5ZSgySLINimW+MSvh9pwoumYUUITqG1NbmxE0Af1eGK0lcZg9Mk89vO4ufp9W97o4Ps9N2Qq2kFyqGP6aeGdzBYfWw8FkRH0X8NNRV2lIA1dElPRpIwGRhqzPwixxXCE47NWDILkbzHUqJGEQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cfZIS6fa6niDjeBcq7713O/YnxTPZAggOnpIc0e2qoY=;
 b=hN+7OnwXevh7XJiEoLAjDd+K2IH+x5GvJWwX3bwUvsZhp3yLEURmF5CsHVxTV09Y0eMHDS6gDAcMQDlfXamoesEp16MMeQuNbsG+KXjL0wmm3ZFI91Ss1wjByQUc1A57DiRCMRyONQwO90/xTCq4ztWZb9ulFstXoAcv9S4+kEY=
Date: Mon, 31 Jan 2022 12:27:39 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
CC: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "julien@xen.org" <julien@xen.org>,
	"sstabellini@kernel.org" <sstabellini@kernel.org>, Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Artem Mygaiev <Artem_Mygaiev@epam.com>,
	"andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
	"george.dunlap@citrix.com" <george.dunlap@citrix.com>, "paul@xen.org"
	<paul@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Rahul Singh
	<rahul.singh@arm.com>
Subject: Re: [PATCH v5 06/14] vpci/header: implement guest BAR register
 handlers
Message-ID: <YffHq2hjpakgdhQb@Air-de-Roger>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-7-andr2000@gmail.com> <Yd7K+9fvnBz+WTXA@Air-de-Roger>
 <77c00154-646c-a2a3-98cb-be4324003446@epam.com>
 <c7e87ebd-2c56-d510-b08b-02d53f9158d1@epam.com>
 <3db8d85e-4b9e-ed0c-5053-cc953c835efc@suse.com>
 <5de61dc5-0292-de1b-fad2-aa99d5351043@epam.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <5de61dc5-0292-de1b-fad2-aa99d5351043@epam.com>
X-ClientProxiedBy: LO2P265CA0016.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:62::28) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ff5cfb6b-bb68-4b79-62a7-08d9e4acb35f
X-MS-TrafficTypeDiagnostic: CH0PR03MB6049:EE_
X-Microsoft-Antispam-PRVS: <CH0PR03MB6049F7E0D9844E792DA8CD038F259@CH0PR03MB6049.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: IB7IqIjdRckZIdtb6iHbdxv6BzYv//t14RmDQV0AQYTZAv7w6OHz0wJt2x+Cdw1UvB5v+V+VEXqjcJ1RYb2kM69UH8boDMC1aEYcsL+2PAaaNIjFrBZrbm/cR8rrOdpG4Ux9unkYOQsoID0sT53pgM6/gFM0F+L0Fpwk7NjFZ7maM/2qn5maWQuOcEOywaherT35/SY/PgXOB7RCfDv70z91dMpuHuAvxWmcuw4ndDERwkIfjI+6yKmzYHKcJA96z7MyrXDA1GktljaYPM2sJ9IbxrnuWs7BgAmU4PJkV1Qh19MVpVnOaP9rAtBZ/oD/wI8jhWBs4p2bRwj8CfdotisUfMw/3+N3ABQvddthI+qEF5PAKiY7y+glxfrZUSPNW1rjjy6TgoM0db4fTIy9OmKdtOFFVyOOPLYzt/jwrBYa7I4RTc+oHSil8h8EkjKZ/68gVFuHxe6f3KQC2pGrWq/eGOT56UCy3WQ3mkqkdkULmxz2MdonKc2EZa/iKx60h5U1TdGPdYtrMijyHFWPuavHdsicKqs/dupJAYXo2MECweIGv28k64LamTA9ikxldb+ViJo8sHXmq6mET49wZn45QgYnBGpCwxXyruwj3HnXKdaXhaYtjfmNC9zvREEmJIecYzM5YXsJdWJtDQ183w==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(7916004)(4636009)(366004)(316002)(85182001)(38100700002)(186003)(54906003)(6916009)(26005)(66476007)(66556008)(83380400001)(66946007)(82960400001)(6506007)(6512007)(6666004)(508600001)(86362001)(7416002)(8676002)(53546011)(8936002)(2906002)(9686003)(4326008)(33716001)(6486002)(5660300002)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Q2Ivd2RhaWZTVStYVFlNWVhCa1h4b0NJNWNhNStVNGE4ZlRLNTlMN0FpZHVp?=
 =?utf-8?B?RUlWWTA3RnZzZVVLenZxV3c0dHlrVHZ5MmN6ZWpuSlNnS1hQc1R0c3pENWVK?=
 =?utf-8?B?eWpQTm5KQTlENWRxRXRZV2VDTFF0RGtoZk9NUjVqNDFORUc1MWdyZExFQ3cz?=
 =?utf-8?B?NlgxTVM5OHFLZ2E0a0pscjlNcjZ4SjJRQWlSZ0NucmtPTGw4UnNBdEtac28v?=
 =?utf-8?B?a2dqWW1YTEpkOFBkZjFvTjJBZjJTb0hySmhUUVZrNWV4WlYxakNiaXhOVWxC?=
 =?utf-8?B?THYyakF1WkdUaTB2TllPTUxuQmdURHVOejV4Z2JNejlEWjRzUlQyZ0wrZm5Z?=
 =?utf-8?B?elozZVJLaWdLa0NzYkhESEFFcHgxT01JdktzTW1VT2NyYk0xcVkrUGdyekhJ?=
 =?utf-8?B?ZzlPclp0RTN5UC9od3UzcWppWUJaQnY5T1RKRlZtZWNOdFl3dE1EL3FsSS84?=
 =?utf-8?B?QjQ2V3VvSGZxY3NSUVJmSmdqNWNIb1VFeTNlQTR2aEQ1Nnd0Qm9hVmIvWHpy?=
 =?utf-8?B?NTRqaEFqditrL3ppNVdhc2lSdHFRaHlCVWZoLy9FMVZzcEcrZ3hSazdjQkZT?=
 =?utf-8?B?Y1V1K3ZxRTU3VVc2Ym4rTUNvenJQbGtGN2JMMzJqNzNZY2x4SGZRemEzS0JZ?=
 =?utf-8?B?ZjI4MFRqUDZmMXZDcjhSVjZSRllCYzFXdTRMWjNoTVA1ZTlEamM4Mk5HdU0y?=
 =?utf-8?B?K2xKUWl5ek1HT01HekF2dHRrU3p6ZDNRV2dEaW1vUHMxM2VNSVdBMVFkUTZJ?=
 =?utf-8?B?UG5OcEY1MXpRSytVQTVjdi8vL2l5MEZ1dVl2Nm4wby9rQW5wckcwRXBtOWJq?=
 =?utf-8?B?MUxMaitYRzdXZ1JWUnRpck1ENS9Icjd3QjVzc1V4eXlYVTdRWlFlcVh3NVFr?=
 =?utf-8?B?cjBTS29id1daVnZpQnZxMmo0K1ZZSEU5U1lZUysyaUl0RjN0NWpqOTY1ZmNz?=
 =?utf-8?B?ZkFKOUR0dkdDb3hkRkhVSnQ4M2p6dDJxRUY4Vm82VHU5dGlEaWlwZERpdU1U?=
 =?utf-8?B?ZWZXRlVaMXRGM0VpQVg5Ty80eXVXbjNmN0RiZVpsTnhabUFwdUZLYzI0eTBw?=
 =?utf-8?B?L0hseEFIVm9CSC9OVC9lRENEL0lvTnBFUEtCeE5MSC8yNHZzM09oditWN2g2?=
 =?utf-8?B?alE3bnVZQVAzMUt1NDRscW9zdTA5cHpBZVE3NHQ1NEh6UXFucVFtMkZrQUFo?=
 =?utf-8?B?K1A5bGt6d05FbzVuOVZ3bHQrL3lmSGh1clY0bVF5Q1VxWCs4ZkNtVXJZNU9z?=
 =?utf-8?B?OFoydkhJcFZMNjdqcXBuZGtJSVgycG1wNklqUGtlRjhiTHlNY3JMMFVxeE15?=
 =?utf-8?B?MFBOaXJST2pQV0xMK0c1dFEyOExPV1JnaVNsMWF2SHZQcE5hWW1INStLMktG?=
 =?utf-8?B?blNXZ2RQWFpodkxZMDE1ZUlRSzA0K3Z6Zkh2TUdhVjFMYldDSHdlK3FyOGpP?=
 =?utf-8?B?TTQvRDhkQUQxYnBNQXFJM0prYWU3U0o4RkcxdlExajlobjZaWEdHYWZjVHR1?=
 =?utf-8?B?emdPdUhlNE1xVFI5T2VWSHBSbmNid2NwRGxJQ3BVeGViR1cxZktja3BRRDdU?=
 =?utf-8?B?WjQ2ZEZPeDVXUmlsNllBanM2MTlVdHpDYkpJQTBnY3dVdk5aSS9qRU9OUDBt?=
 =?utf-8?B?c1VRVW1IcjNzSzJVVS9oZDk0MHBhZTg3V1FKYS9pcDVBNDdqeWhZWlBFMFBZ?=
 =?utf-8?B?ZVd3alhnT3JYMklWcGRHbmViS3hmT3FuYm1NeVV4dU9RNDBNS3FTRnBQcFE0?=
 =?utf-8?B?bFprMjBaRWZvazh2Y0ZtWFgzRGRVOG5CVGI1MGpwODIxeTJVczBsbDZ1ZHZE?=
 =?utf-8?B?N255dS9ZOTFId2lCMHRzWG1tcWlpUXhJRUpjZXJoOTVsaTZ2SE9HV1I2WnZl?=
 =?utf-8?B?K2s3NGhDRmhtRGJhaEdXNnIxbzF4WG1PdmMvMmpKVlFYU3JKNHJnb1AvVHlM?=
 =?utf-8?B?VEpDSmtsNVVObFVXM3dFRno4VHcwK2sxdXBFMU8zVnZLYnJQNlRLYWFuWGVY?=
 =?utf-8?B?Y1BuWlB3ejRVNEhjY3hRdGhQTlJsWnNxcmVmZHZvMVYyWU1VSFlnMzRYaW4y?=
 =?utf-8?B?ZjFJNGdIdG4wYS9NUjVobmdDaXJVZnVEcGw1MEIzcEZhMitUSzd2N2Z0RlJ4?=
 =?utf-8?B?MGdTRWg4MW1kNjZ1UTNWaTFEV3p3dEtHanR3TDVESFBEdHZqVXlHWWtFWWRR?=
 =?utf-8?Q?u3SjT5zXtyk1MucdVyn47to=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: ff5cfb6b-bb68-4b79-62a7-08d9e4acb35f
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 11:27:44.5923
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: m/DPhyFWeekGRRmSnPFM6dGjaKqyX8yqcTB1tR1YzJOlb5l+ZnBd1OSZG+a7KganxdxhLrGdBQZjXliBEGnq6Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR03MB6049
X-OriginatorOrg: citrix.com

On Mon, Jan 31, 2022 at 11:04:29AM +0000, Oleksandr Andrushchenko wrote:
> Hi, Jan!
> 
> On 31.01.22 12:54, Jan Beulich wrote:
> > On 31.01.2022 11:40, Oleksandr Andrushchenko wrote:
> >> On 31.01.22 11:47, Oleksandr Andrushchenko wrote:
> >>> Hi, Roger!
> >>>
> >>> On 12.01.22 14:35, Roger Pau Monné wrote:
> >>>>> +static void guest_rom_write(const struct pci_dev *pdev, unsigned int reg,
> >>>>> +                            uint32_t val, void *data)
> >>>>> +{
> >>>>> +}
> >>>>> +
> >>>>> +static uint32_t guest_rom_read(const struct pci_dev *pdev, unsigned int reg,
> >>>>> +                               void *data)
> >>>>> +{
> >>>>> +    return 0xffffffff;
> >>>>> +}
> >>>> There should be no need for those handlers. As said elsewhere: for
> >>>> guests registers not explicitly handled should return ~0 for reads and
> >>>> drop writes, which is what you are proposing here.
> >>> Yes, you are right: I can see in vpci_read that we end up reading ~0 if no
> >>> handler exists (which is what I do here with guest_rom_read). But I am not that
> >>> sure about the dropped writes:
> >>>
> >>> void vpci_write(pci_sbdf_t sbdf, unsigned int reg, unsigned int size,
> >>>                    uint32_t data)
> >>> {
> >>>        unsigned int data_offset = 0;
> >>>
> >>> [snip]
> >>>
> >>>        if ( data_offset < size )
> >>>            /* Tailing gap, write the remaining. */
> >>>            vpci_write_hw(sbdf, reg + data_offset, size - data_offset,
> >>>                          data >> (data_offset * 8));
> >>>
> >>> so it looks like for the un-handled writes we still reach the HW register.
> >>> Could you please tell if the code above needs improvement (like checking
> >>> if the write was handled) or I still need to provide a write handler, e.g.
> >>> guest_rom_write here?
> >> Hm, but the same applies to the reads as well... And this is no surprise,
> >> as for the guests I can see that it accesses all the configuration space
> >> registers that I don't handle. Without that I would have guests unable
> >> to properly setup a PCI device being passed through... And this is why
> >> I have a big TODO in this series describing unhandled registers.
> >> So, it seems that I do need to provide those handlers which I need to
> >> drop writes and return ~0 on reads.
> Replying to myself: it is still possible to have vpci_ignored_{read|write}
> to handle defaults if, when vpci_add_register is called, the handler
> provided is NULL
> > It feels like we had been there before: For your initial purposes it may
> > be fine to do as you suggest, but any such patches should carry RFC tags
> > or alike to indicate they're not considered ready. Once you're aiming
> > for things to go in, I think there's no good way around white-listing
> > what guests may access. You may know that we've been bitten by starting
> > out with black-listing in the past, first and foremost with x86'es MSRs.
> I already have a big TODO patch describing the issue. Do you want
> it to have a list of handlers that we support as of now? What sort of
> while/black list would you expect?
> I do understand that we do need proper handling for all the PCI registers
> and capabilities long term, but this can't be done at the moment when
> we have nothing working at all. Requesting proper handling now will
> turn this series into a huge amount of code and undefined time frame.

We should at least make sure the code added now doesn't need to be
changed in the future when the default is switched. If you don't
want to switch the default handling for domUs to ignore writes and
return ~0 from reads to unhandled registers right now you should keep
the patches that add the ignore handlers to the end of the series and
mark them as 'HACK' or some such in order to notice they are just
used for testing purposes.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 11:28:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 11:28:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263009.455540 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEUqo-0002ux-0B; Mon, 31 Jan 2022 11:28:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263009.455540; Mon, 31 Jan 2022 11: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 1nEUqn-0002uq-TO; Mon, 31 Jan 2022 11:28:01 +0000
Received: by outflank-mailman (input) for mailman id 263009;
 Mon, 31 Jan 2022 11:28:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=u8cI=SP=linutronix.de=tglx@srs-se1.protection.inumbo.net>)
 id 1nEUqm-0002uH-RA
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 11:28:01 +0000
Received: from galois.linutronix.de (galois.linutronix.de [193.142.43.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d7c8f51a-8288-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 12:27:59 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d7c8f51a-8288-11ec-8eb8-a37418f5ba1a
From: Thomas Gleixner <tglx@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020; t=1643628478;
	h=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; bh=4vunJSw+29nMhKwarhIq3XOACVtrs68uDOcnGTjBogA=;
	b=08+adjG5kvqly9R27r6UQqPVlHuuR0wvg7AraR+yb44p1SYXk6tzK2abtw7IGSi2A3wXfI
	6U1PBy/jkvuCM3fKrPHG2APL7p9nnSGR9rg89/6St5G9+Iod6wSzgG4//1TPbjInXUs8YN
	AwxB3zkSRCSMca4ho01kA/XiGI4WDXwyqGA/Q1QoCwvYXEwS/NWbubISSEMuoN2RNNZk6X
	k+mIQEs2lRbseraKMG1ylwlb9XmMSJiXrB/5Msv2UG1+iYWWGnwuZaVGTtIizxYMk1wpBk
	7RxcI8ct1tXsnuKIrqrBOd4gsj7C5lweoLU2Rx7EKaWcOJBL6ltT48oEiUJlEw==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020e; t=1643628478;
	h=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; bh=4vunJSw+29nMhKwarhIq3XOACVtrs68uDOcnGTjBogA=;
	b=F4vMMMS/RR2647UpQl2u4kgknqNjM8y1uiJemITMdVUuEzICexEkSEXuPmcOo4kKXCPGTF
	66aXb64gMDoB5SDg==
To: Guenter Roeck <linux@roeck-us.net>
Cc: LKML <linux-kernel@vger.kernel.org>, Nishanth Menon <nm@ti.com>, Mark
 Rutland <mark.rutland@arm.com>, Stuart Yoder <stuyoder@gmail.com>,
 Benjamin Herrenschmidt <benh@kernel.crashing.org>, Will Deacon
 <will@kernel.org>, Ashok Raj <ashok.raj@intel.com>, Michael Ellerman
 <mpe@ellerman.id.au>, Jassi Brar <jassisinghbrar@gmail.com>, Sinan Kaya
 <okaya@kernel.org>, iommu@lists.linux-foundation.org, Peter Ujfalusi
 <peter.ujfalusi@gmail.com>, Bjorn Helgaas <helgaas@kernel.org>,
 linux-arm-kernel@lists.infradead.org, Jason Gunthorpe <jgg@nvidia.com>,
 linux-pci@vger.kernel.org, xen-devel@lists.xenproject.org, Kevin Tian
 <kevin.tian@intel.com>, Arnd Bergmann <arnd@arndb.de>, Robin Murphy
 <robin.murphy@arm.com>, Alex Williamson <alex.williamson@redhat.com>,
 Cedric Le Goater <clg@kaod.org>, Santosh Shilimkar <ssantosh@kernel.org>,
 Bjorn Helgaas <bhelgaas@google.com>, Megha Dey <megha.dey@intel.com>,
 Juergen Gross <jgross@suse.com>, Tero Kristo <kristo@kernel.org>, Greg
 Kroah-Hartman <gregkh@linuxfoundation.org>, Vinod Koul <vkoul@kernel.org>,
 Marc Zygnier <maz@kernel.org>, dmaengine@vger.kernel.org,
 linuxppc-dev@lists.ozlabs.org
Subject: Re: [patch V3 28/35] PCI/MSI: Simplify pci_irq_get_affinity()
In-Reply-To: <20220130171210.GA3545402@roeck-us.net>
Date: Mon, 31 Jan 2022 12:27:57 +0100
Message-ID: <87mtjc2lhe.ffs@tglx>
MIME-Version: 1.0
Content-Type: text/plain

On Sun, Jan 30 2022 at 09:12, Guenter Roeck wrote:
> On Fri, Dec 10, 2021 at 11:19:26PM +0100, Thomas Gleixner wrote:
> This patch results in the following runtime warning when booting x86
> (32 bit) nosmp images from NVME in qemu.
>
> [   14.825482] nvme nvme0: 1/0/0 default/read/poll queues
> ILLOPC: ca7c6d10: 0f 0b
> [   14.826188] ------------[ cut here ]------------
> [   14.826307] WARNING: CPU: 0 PID: 7 at drivers/pci/msi/msi.c:1114 pci_irq_get_affinity+0x80/0x90

This complains about msi_desc->affinity being NULL.

> git bisect bad f48235900182d64537c6e8f8dc0932b57a1a0638
> # first bad commit: [f48235900182d64537c6e8f8dc0932b57a1a0638] PCI/MSI: Simplify pci_irq_get_affinity()

Hrm. Can you please provide dmesg and /proc/interrupts from a
kernel before that commit?

Thanks,

        tglx



From xen-devel-bounces@lists.xenproject.org Mon Jan 31 11:30:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 11:30:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263020.455551 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEUtX-0004ZT-F9; Mon, 31 Jan 2022 11:30:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263020.455551; Mon, 31 Jan 2022 11: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 1nEUtX-0004ZM-BR; Mon, 31 Jan 2022 11:30:51 +0000
Received: by outflank-mailman (input) for mailman id 263020;
 Mon, 31 Jan 2022 11:30:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9o41=SP=epam.com=prvs=4030d24c28=oleksandr_andrushchenko@srs-se1.protection.inumbo.net>)
 id 1nEUtW-0004ZG-36
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 11:30:50 +0000
Received: from mx0b-0039f301.pphosted.com (mx0b-0039f301.pphosted.com
 [148.163.137.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3c319e0e-8289-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 12:30:48 +0100 (CET)
Received: from pps.filterd (m0174681.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20VAvb6R021512;
 Mon, 31 Jan 2022 11:30:43 GMT
Received: from eur03-ve1-obe.outbound.protection.outlook.com
 (mail-ve1eur03lp2059.outbound.protection.outlook.com [104.47.9.59])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3dx84m1dc9-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 31 Jan 2022 11:30:43 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com (2603:10a6:20b:153::17)
 by DB6PR0301MB2311.eurprd03.prod.outlook.com (2603:10a6:4:48::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.21; Mon, 31 Jan
 2022 11:30:39 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6]) by AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6%3]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 11: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: 3c319e0e-8289-11ec-8f75-fffcc8bd4f1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SPClRrylsyymlTm+00BSqe3i/wMYJSS90dSPQQ739bY816fqpbDuRrEcYezBmBcLW2JF4bQTeyyi75p4CUtBeRpIFU1Y5K57SnobhuFy8b0HwsgPz7eQwPH0EGWpzda0NP3CZow0Er3SSSJX0tYBkflzgw+zv1D5MEJUK1uLPD196qFTQTsCHeTgR9Z2ol7Mc5j21NQEradVGyiB1lNy/x0Wwr7VtSbQbGYaC5idrqRoo6Hwlb1wGJt0iCzpwTyukoV6wa6E8cxv3QTb5eMrMlhGOUa4jd06s5lbpnhcFq0x7hBtY8aSo2wJ5FMvbj03jsUINUGv3pkxQjbz3drTgA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Lewh/3Ae4/T3rjLmnLM66AH37RKjU9Kyy3K7pb13OwQ=;
 b=eWK+Zq8pHf5jIyJwLyB+sAB/QTHtCa7ATWJS4dRxjdLOVcAvzFVa+GEcGYmT+JlixVQrOW4GTmkEucbNX4Sk1IgUfzFporD0gsUeSqXuQkJczBLwLezvqhQ/Z7PtSok9tZriyh/k5BECbebJSHzkXxeovUowQ7ngWk73UGlGS1mWrk2Tg3kyktpm7V6nD6zQxMGR088roL22eyIUKVvgy4X/Kc4Y1Z2QLR/3sBxE/FR/PKO36qwATcC8jmlouFYwO0D+e6OZss2Hd0rljytk9KME88TrrNUqj6182opOnszLoZCntlqe0PRfV8k8YQqFuTyk4vOfqHzaAv75olL/1g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Lewh/3Ae4/T3rjLmnLM66AH37RKjU9Kyy3K7pb13OwQ=;
 b=FFuh+3jjuTUd00nTg804dkR81TWGa+zzKL1rW1iXFKmKCZg+l32o9ldjDkZExcIBIGARU3xuCoUIN8G8Bi9sZRABvjRQUNY7sUKm242OJ3UMgekUDT4+BTkr65RmQk7C4ZNyVqfacKvjeUM+hNqgApP0NvE9MgDo1+9dlbKYO8Wa/IluEDW3nqswzOU/5fUc3cvVoykHQqaOW1bmItQ4wZ9hjsLtpAN82lJou8CZ0VP4W2yC7pHpIRVoVrwVp/rRSpCxfHMt/OSeznlK7ab+n8fMtuccYBjJr0zDyxExK64SKSHwW0Ud0eoj4Rm1b2UVGmhj7gQlQLeLyr8F6nWHew==
From: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
To: =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
CC: Jan Beulich <jbeulich@suse.com>,
        "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>,
        "julien@xen.org" <julien@xen.org>,
        "sstabellini@kernel.org" <sstabellini@kernel.org>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Artem Mygaiev <Artem_Mygaiev@epam.com>,
        "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
        "george.dunlap@citrix.com" <george.dunlap@citrix.com>,
        "paul@xen.org"
	<paul@xen.org>,
        Bertrand Marquis <bertrand.marquis@arm.com>,
        Rahul Singh
	<rahul.singh@arm.com>,
        Oleksandr Andrushchenko
	<Oleksandr_Andrushchenko@epam.com>
Subject: Re: [PATCH v5 06/14] vpci/header: implement guest BAR register
 handlers
Thread-Topic: [PATCH v5 06/14] vpci/header: implement guest BAR register
 handlers
Thread-Index: 
 AQHX4ewHyWAyD811HEGp8pIjUuVWNaxfndGAgB2tWgCAAA7+AIAAA9kAgAACyICAAAZ5gIAAANUA
Date: Mon, 31 Jan 2022 11:30:39 +0000
Message-ID: <a7adb84a-1e46-fb52-80c5-cdd3cddb75bf@epam.com>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-7-andr2000@gmail.com> <Yd7K+9fvnBz+WTXA@Air-de-Roger>
 <77c00154-646c-a2a3-98cb-be4324003446@epam.com>
 <c7e87ebd-2c56-d510-b08b-02d53f9158d1@epam.com>
 <3db8d85e-4b9e-ed0c-5053-cc953c835efc@suse.com>
 <5de61dc5-0292-de1b-fad2-aa99d5351043@epam.com>
 <YffHq2hjpakgdhQb@Air-de-Roger>
In-Reply-To: <YffHq2hjpakgdhQb@Air-de-Roger>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 39cb4ba2-65e4-4832-847e-08d9e4ad1b9c
x-ms-traffictypediagnostic: DB6PR0301MB2311:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <DB6PR0301MB231178AEDFB715963B44CA61E7259@DB6PR0301MB2311.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: 
 q6uIYq3J6rlBWPOo91mQqwIGh2hC93+VQ3c8jezlwGJMfCenpbOrm8/lvJTTGtajBlC0EJbOqIQbX2KYzNQsTBtO5hdZbm7tbRtTOHeL/KgxK/aOjUMthKhDJ2Oc8iQN4Fdohc2/Q1cXl4mtBheL9sshXRfYmCJhlF/WVoPZCKVfG9rsty6H1rvqsdHck2Pk9KVDQXnz4Ecl4wE8c8hYpv4FpdxKmrMG8a/0EL8gmi6bI9TdwxY0MrVd2CK846A2IgMGJm9FKpUZ9BrtRQUmmz8TRfZJhfSax/JYjkIg+yZpXb3+LjdmMF3JNHZjPClznCrZhN3qvN4RkNUv0sRLt2JKb83Lkv+ybYACwDiEs9hfTOD265GTze447uolC4qkMbiX2KDHLUUIsdYSuxirujX3lBi0R3Y8MWOIkDOm/lvPuF3R8X3LGGclwgdOgo8kZsPSgPqBL/2mR8XSU0lACQQAhnfORdZoD8NbwkipjhSf9nwIrdnqKAwHbaVkgA14FQ6HNiP1LrqeJXh4D2+2DGixnHK51beJeP43u2ikSEZffpOZqBN8uT/XS2EWnt/1n2Y/Kd2Ezja2uGEpl64NW4zNeGGXaz3L9o+/sMmfoPRNKJ6g3151LfuCOWZCos5512shrUzl79veILhrEs8nqaC16vTpmgczzOcQlYdPE6SntX3jZaVQhMrp0FRTHwVOdafX7EJyse8b7E6lCU+a8LeZikslOAJp7fVgoXEfov5f0XlNLvgvzR1lKKmHAYOY
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:(13230001)(4636009)(366004)(6486002)(66946007)(8936002)(64756008)(8676002)(66556008)(86362001)(316002)(6916009)(54906003)(38070700005)(38100700002)(31686004)(122000001)(4326008)(76116006)(36756003)(91956017)(66446008)(66476007)(31696002)(508600001)(71200400001)(53546011)(6506007)(83380400001)(6512007)(5660300002)(2906002)(7416002)(107886003)(186003)(26005)(2616005)(45980500001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?Nm1MeFFwOWZLT2Uxdk9DWDlVbS9rNzR3MXBFcGVEdFB4NHpzdVY0Snh1V0ZF?=
 =?utf-8?B?cVhpY0E5RXdlT2FyRzRxQWxWZUFjUXJBYThSaTBFVEdIWjM2UGtZVkYxeUpv?=
 =?utf-8?B?MnlBSzB2ZFRjcDVVZzcvR0RXRTVuTFlTTHFXK0RFTXpNUUVUeFIvZ01RTGpO?=
 =?utf-8?B?NGsxM29nc3h6dGNtdlczSnVBQmp3bjJvc0JPdE5hRlM2U0NqcC9sd0IxNXNK?=
 =?utf-8?B?TnhLbmpzaE11VzF6S2xOWTZhWUJLUkN3dGFJQm1WZ29HaHBBQU5Pb0JMZHpU?=
 =?utf-8?B?R2tMME5NOVFKY0xZMVkvUUNlR283aHdSaFNicXdGV3B5ckhHdXd6Zng0eUVP?=
 =?utf-8?B?c1FsbzRwV2VVU1h0akJobXRISFg4NHVFVWgzYVZYS0Z3eWJUMFQxT2ZKaHJW?=
 =?utf-8?B?bGl4SHE2OVViYXIvK21zZHRIK214Szc5Y3pGOXpLdjdJZkhBQVpqSExlRFFt?=
 =?utf-8?B?WjZzbGhTTisvMndjcE9CZmV5UDZkYlJBeWJqcGRPV2lhUUQxYjhmV0JsQTRi?=
 =?utf-8?B?c3dOUU1JajdlR2g2bDBTYisvRUVsQUhNOTEzR25CNnM0YU0wY1NFYmcyK0pS?=
 =?utf-8?B?czdYNitlb3QrL1dWZ3RTT3hIRUc4aXR0c08rSTAwaW1KTzRNVHFnclNrYWVq?=
 =?utf-8?B?bTRxaTVLTWZmOHZYNVdDaW5JR2UxTkt2dWtqL2xTSWc5SEkyTDFLZVJnQWRJ?=
 =?utf-8?B?Z2JGZ2xiMVcxaWhGK055UENUcGVSQStWVk9MR1g5LzhxajF5SW41Y0FwTGFY?=
 =?utf-8?B?aDl3OU9GQWVRZGgwb1V5d3YwTCtrSVlCVTRZSWhxU3o5dk54ZytrZGVEdGNl?=
 =?utf-8?B?eTdPR1lOTGZTN3hDb0pON2kxWkxMMUo1NWJJem9KeExHVHl6MVNJT1hYejQ4?=
 =?utf-8?B?dDNYWVRJWi9zN2ZEMnVoNW9oSGdMMEt2SDJPN21mNUJXSEZDWEg1eE51ZjM4?=
 =?utf-8?B?b1JRUDBPbDhQN3NHbDVoN3pvalFMeGdHblkwSFYzUjlvZjNqZzBrbFBWRGpU?=
 =?utf-8?B?M2IyNnl2WVcxRzlqOXZJTEwrenAxZURwR0pER1E1RnZDUkIrdjhjQjJFM2wx?=
 =?utf-8?B?enNpRkludXo3aU1CRGgyU0xmOGl5MlZ5MEpQM1RMSDNoRGhlaWhYOGo1eG9G?=
 =?utf-8?B?S3ZRVi9jb1VwV3NVVkgzaWtVNTJHN2xHOWpwY2IvUzAxN3NUY0hxSGp6bWo0?=
 =?utf-8?B?VFg4Vy9tVHQrdW1ud0JPZnlFMXExcVkzVWw0SkJoOVQ0S1QyaVBWaDIrajdO?=
 =?utf-8?B?YkdGNGFud0JLbzg0UlUxU1lvbnRRV25Qa2M0VVRibWcxRWhWbG11VjlUZXEr?=
 =?utf-8?B?aDdYVHJGbFNVMkJ4NDl3YXRISm10N3J6d0JGNGRmTUtIRDBQbEZBc01KSUVO?=
 =?utf-8?B?U0t2NlF5S0RkcVhNbHNxMGVWN3Y0d2R6TU0zVFNheGJ0bGtjb2hTYWpHMWhU?=
 =?utf-8?B?Tlh2U2VqTUZYK3Q2SktJMk8xUG53N3U1V2RENW1ZUm5PRm9GYnpiL3IrYW5q?=
 =?utf-8?B?RlE1ZGIrTlpzYTFkRlkrVnZjSUZaN2lHdHhQenhqNUNuc3J4Q1J6M2hUTVl0?=
 =?utf-8?B?NFU5K2VPTG1xYVdhY0JTeXhkRGR1eXJlaDZGb0lkUTk1WlFGay9VVHU2cHRQ?=
 =?utf-8?B?UG03WjVUMkU2Mm13WC9rUWpBbTVnUS9NVEZSS2VpZWtGTDA0RlNhSEVSRjc2?=
 =?utf-8?B?eUpjUWhoL0NmRWFoUTJBWXhBQ1FkNkhzcFJHaWxKR3ptWFRISU9KbUZCTFZa?=
 =?utf-8?B?bTl3bzVraUFXRXM1UDlJNGpjdFRScDNubGpHdENNZklUdTVaVkxFemo5cFU5?=
 =?utf-8?B?YktUTVNPM3R1aDhWU242TXM1T2F4aGNXTTQyaVFXLzIrOVhRcHYzZWswZ3gr?=
 =?utf-8?B?bVlqbmFZeEJ6WDFzUDVyTlczU01nY3JpQkRKdXRyeVFveXIxdk5BUkhUMWRu?=
 =?utf-8?B?TW5aN0hDeU9pUGttbXpHQ1pGZGNsMG5QMWlDU3NzS2o0Q3lvRzJGR1lzcVdq?=
 =?utf-8?B?N0JKQ0JRTXFjUVVZamFLL2hIUk9mdTJMTmhiL2k1NnFEWUEvdjJReVNHSUFX?=
 =?utf-8?B?OCtiT1FlZjdMTUJ3YkRtZE5Sbk15aUxqRGQwYUlLRnNUSDNPVUhxY0dnV09L?=
 =?utf-8?B?V0FHU2JhZVlPZG1QK29GOStwcHcrYkpwd2xKWkRvenVYcFdSTm1EeUtOblZ4?=
 =?utf-8?B?cDhhQmFZWXhhbUNucjd3VGYxcDFGbUpMbTMvckRRWHVWNXF1QmJpRVE3dGNO?=
 =?utf-8?B?UURLVEtIZ05hYnBVTHFvb3ltNm1MRnIvVWI0aWhLMUJ0LzNTZ04xMVBIZWhG?=
 =?utf-8?B?Z0pjOEZwejZMR0g2T3FhZDdtQ0M1VTNXZ2JWcHdYQ2ZNSS9FeG5BZz09?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <103E68173ABD1C42AC147B40C748F861@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: 39cb4ba2-65e4-4832-847e-08d9e4ad1b9c
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2022 11:30:39.1947
 (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: He0gxxoNN0afukxn+wknHgTRf9xl4hEMPd1Qq6/a5O+ROUj6lwdJ7hZc903xiGJOfpRayUCcyaumOyG6ECw10uoh1+o8nvp+jY1qFMUvgN5IyJn91lOFlnUl+HxtuUSG
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0301MB2311
X-Proofpoint-GUID: G8FFskeVm9Ve0Wnf5OrWlqezPgVW9fqe
X-Proofpoint-ORIG-GUID: G8FFskeVm9Ve0Wnf5OrWlqezPgVW9fqe
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-31_04,2022-01-28_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0
 suspectscore=0 adultscore=0 mlxlogscore=999 spamscore=0 priorityscore=1501
 phishscore=0 malwarescore=0 lowpriorityscore=0 bulkscore=0 clxscore=1015
 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2201110000 definitions=main-2201310077

DQoNCk9uIDMxLjAxLjIyIDEzOjI3LCBSb2dlciBQYXUgTW9ubsOpIHdyb3RlOg0KPiBPbiBNb24s
IEphbiAzMSwgMjAyMiBhdCAxMTowNDoyOUFNICswMDAwLCBPbGVrc2FuZHIgQW5kcnVzaGNoZW5r
byB3cm90ZToNCj4+IEhpLCBKYW4hDQo+Pg0KPj4gT24gMzEuMDEuMjIgMTI6NTQsIEphbiBCZXVs
aWNoIHdyb3RlOg0KPj4+IE9uIDMxLjAxLjIwMjIgMTE6NDAsIE9sZWtzYW5kciBBbmRydXNoY2hl
bmtvIHdyb3RlOg0KPj4+PiBPbiAzMS4wMS4yMiAxMTo0NywgT2xla3NhbmRyIEFuZHJ1c2hjaGVu
a28gd3JvdGU6DQo+Pj4+PiBIaSwgUm9nZXIhDQo+Pj4+Pg0KPj4+Pj4gT24gMTIuMDEuMjIgMTQ6
MzUsIFJvZ2VyIFBhdSBNb25uw6kgd3JvdGU6DQo+Pj4+Pj4+ICtzdGF0aWMgdm9pZCBndWVzdF9y
b21fd3JpdGUoY29uc3Qgc3RydWN0IHBjaV9kZXYgKnBkZXYsIHVuc2lnbmVkIGludCByZWcsDQo+
Pj4+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgdmFsLCB2b2lkICpk
YXRhKQ0KPj4+Pj4+PiArew0KPj4+Pj4+PiArfQ0KPj4+Pj4+PiArDQo+Pj4+Pj4+ICtzdGF0aWMg
dWludDMyX3QgZ3Vlc3Rfcm9tX3JlYWQoY29uc3Qgc3RydWN0IHBjaV9kZXYgKnBkZXYsIHVuc2ln
bmVkIGludCByZWcsDQo+Pj4+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9p
ZCAqZGF0YSkNCj4+Pj4+Pj4gK3sNCj4+Pj4+Pj4gKyAgICByZXR1cm4gMHhmZmZmZmZmZjsNCj4+
Pj4+Pj4gK30NCj4+Pj4+PiBUaGVyZSBzaG91bGQgYmUgbm8gbmVlZCBmb3IgdGhvc2UgaGFuZGxl
cnMuIEFzIHNhaWQgZWxzZXdoZXJlOiBmb3INCj4+Pj4+PiBndWVzdHMgcmVnaXN0ZXJzIG5vdCBl
eHBsaWNpdGx5IGhhbmRsZWQgc2hvdWxkIHJldHVybiB+MCBmb3IgcmVhZHMgYW5kDQo+Pj4+Pj4g
ZHJvcCB3cml0ZXMsIHdoaWNoIGlzIHdoYXQgeW91IGFyZSBwcm9wb3NpbmcgaGVyZS4NCj4+Pj4+
IFllcywgeW91IGFyZSByaWdodDogSSBjYW4gc2VlIGluIHZwY2lfcmVhZCB0aGF0IHdlIGVuZCB1
cCByZWFkaW5nIH4wIGlmIG5vDQo+Pj4+PiBoYW5kbGVyIGV4aXN0cyAod2hpY2ggaXMgd2hhdCBJ
IGRvIGhlcmUgd2l0aCBndWVzdF9yb21fcmVhZCkuIEJ1dCBJIGFtIG5vdCB0aGF0DQo+Pj4+PiBz
dXJlIGFib3V0IHRoZSBkcm9wcGVkIHdyaXRlczoNCj4+Pj4+DQo+Pj4+PiB2b2lkIHZwY2lfd3Jp
dGUocGNpX3NiZGZfdCBzYmRmLCB1bnNpZ25lZCBpbnQgcmVnLCB1bnNpZ25lZCBpbnQgc2l6ZSwN
Cj4+Pj4+ICAgICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdWludDMyX3QgZGF0YSkN
Cj4+Pj4+IHsNCj4+Pj4+ICAgICDCoMKgwqAgdW5zaWduZWQgaW50IGRhdGFfb2Zmc2V0ID0gMDsN
Cj4+Pj4+DQo+Pj4+PiBbc25pcF0NCj4+Pj4+DQo+Pj4+PiAgICAgwqDCoMKgIGlmICggZGF0YV9v
ZmZzZXQgPCBzaXplICkNCj4+Pj4+ICAgICDCoMKgwqDCoMKgwqDCoCAvKiBUYWlsaW5nIGdhcCwg
d3JpdGUgdGhlIHJlbWFpbmluZy4gKi8NCj4+Pj4+ICAgICDCoMKgwqDCoMKgwqDCoCB2cGNpX3dy
aXRlX2h3KHNiZGYsIHJlZyArIGRhdGFfb2Zmc2V0LCBzaXplIC0gZGF0YV9vZmZzZXQsDQo+Pj4+
PiAgICAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGRhdGEgPj4g
KGRhdGFfb2Zmc2V0ICogOCkpOw0KPj4+Pj4NCj4+Pj4+IHNvIGl0IGxvb2tzIGxpa2UgZm9yIHRo
ZSB1bi1oYW5kbGVkIHdyaXRlcyB3ZSBzdGlsbCByZWFjaCB0aGUgSFcgcmVnaXN0ZXIuDQo+Pj4+
PiBDb3VsZCB5b3UgcGxlYXNlIHRlbGwgaWYgdGhlIGNvZGUgYWJvdmUgbmVlZHMgaW1wcm92ZW1l
bnQgKGxpa2UgY2hlY2tpbmcNCj4+Pj4+IGlmIHRoZSB3cml0ZSB3YXMgaGFuZGxlZCkgb3IgSSBz
dGlsbCBuZWVkIHRvIHByb3ZpZGUgYSB3cml0ZSBoYW5kbGVyLCBlLmcuDQo+Pj4+PiBndWVzdF9y
b21fd3JpdGUgaGVyZT8NCj4+Pj4gSG0sIGJ1dCB0aGUgc2FtZSBhcHBsaWVzIHRvIHRoZSByZWFk
cyBhcyB3ZWxsLi4uIEFuZCB0aGlzIGlzIG5vIHN1cnByaXNlLA0KPj4+PiBhcyBmb3IgdGhlIGd1
ZXN0cyBJIGNhbiBzZWUgdGhhdCBpdCBhY2Nlc3NlcyBhbGwgdGhlIGNvbmZpZ3VyYXRpb24gc3Bh
Y2UNCj4+Pj4gcmVnaXN0ZXJzIHRoYXQgSSBkb24ndCBoYW5kbGUuIFdpdGhvdXQgdGhhdCBJIHdv
dWxkIGhhdmUgZ3Vlc3RzIHVuYWJsZQ0KPj4+PiB0byBwcm9wZXJseSBzZXR1cCBhIFBDSSBkZXZp
Y2UgYmVpbmcgcGFzc2VkIHRocm91Z2guLi4gQW5kIHRoaXMgaXMgd2h5DQo+Pj4+IEkgaGF2ZSBh
IGJpZyBUT0RPIGluIHRoaXMgc2VyaWVzIGRlc2NyaWJpbmcgdW5oYW5kbGVkIHJlZ2lzdGVycy4N
Cj4+Pj4gU28sIGl0IHNlZW1zIHRoYXQgSSBkbyBuZWVkIHRvIHByb3ZpZGUgdGhvc2UgaGFuZGxl
cnMgd2hpY2ggSSBuZWVkIHRvDQo+Pj4+IGRyb3Agd3JpdGVzIGFuZCByZXR1cm4gfjAgb24gcmVh
ZHMuDQo+PiBSZXBseWluZyB0byBteXNlbGY6IGl0IGlzIHN0aWxsIHBvc3NpYmxlIHRvIGhhdmUg
dnBjaV9pZ25vcmVkX3tyZWFkfHdyaXRlfQ0KPj4gdG8gaGFuZGxlIGRlZmF1bHRzIGlmLCB3aGVu
IHZwY2lfYWRkX3JlZ2lzdGVyIGlzIGNhbGxlZCwgdGhlIGhhbmRsZXINCj4+IHByb3ZpZGVkIGlz
IE5VTEwNCj4+PiBJdCBmZWVscyBsaWtlIHdlIGhhZCBiZWVuIHRoZXJlIGJlZm9yZTogRm9yIHlv
dXIgaW5pdGlhbCBwdXJwb3NlcyBpdCBtYXkNCj4+PiBiZSBmaW5lIHRvIGRvIGFzIHlvdSBzdWdn
ZXN0LCBidXQgYW55IHN1Y2ggcGF0Y2hlcyBzaG91bGQgY2FycnkgUkZDIHRhZ3MNCj4+PiBvciBh
bGlrZSB0byBpbmRpY2F0ZSB0aGV5J3JlIG5vdCBjb25zaWRlcmVkIHJlYWR5LiBPbmNlIHlvdSdy
ZSBhaW1pbmcNCj4+PiBmb3IgdGhpbmdzIHRvIGdvIGluLCBJIHRoaW5rIHRoZXJlJ3Mgbm8gZ29v
ZCB3YXkgYXJvdW5kIHdoaXRlLWxpc3RpbmcNCj4+PiB3aGF0IGd1ZXN0cyBtYXkgYWNjZXNzLiBZ
b3UgbWF5IGtub3cgdGhhdCB3ZSd2ZSBiZWVuIGJpdHRlbiBieSBzdGFydGluZw0KPj4+IG91dCB3
aXRoIGJsYWNrLWxpc3RpbmcgaW4gdGhlIHBhc3QsIGZpcnN0IGFuZCBmb3JlbW9zdCB3aXRoIHg4
NidlcyBNU1JzLg0KPj4gSSBhbHJlYWR5IGhhdmUgYSBiaWcgVE9ETyBwYXRjaCBkZXNjcmliaW5n
IHRoZSBpc3N1ZS4gRG8geW91IHdhbnQNCj4+IGl0IHRvIGhhdmUgYSBsaXN0IG9mIGhhbmRsZXJz
IHRoYXQgd2Ugc3VwcG9ydCBhcyBvZiBub3c/IFdoYXQgc29ydCBvZg0KPj4gd2hpbGUvYmxhY2sg
bGlzdCB3b3VsZCB5b3UgZXhwZWN0Pw0KPj4gSSBkbyB1bmRlcnN0YW5kIHRoYXQgd2UgZG8gbmVl
ZCBwcm9wZXIgaGFuZGxpbmcgZm9yIGFsbCB0aGUgUENJIHJlZ2lzdGVycw0KPj4gYW5kIGNhcGFi
aWxpdGllcyBsb25nIHRlcm0sIGJ1dCB0aGlzIGNhbid0IGJlIGRvbmUgYXQgdGhlIG1vbWVudCB3
aGVuDQo+PiB3ZSBoYXZlIG5vdGhpbmcgd29ya2luZyBhdCBhbGwuIFJlcXVlc3RpbmcgcHJvcGVy
IGhhbmRsaW5nIG5vdyB3aWxsDQo+PiB0dXJuIHRoaXMgc2VyaWVzIGludG8gYSBodWdlIGFtb3Vu
dCBvZiBjb2RlIGFuZCB1bmRlZmluZWQgdGltZSBmcmFtZS4NCj4gV2Ugc2hvdWxkIGF0IGxlYXN0
IG1ha2Ugc3VyZSB0aGUgY29kZSBhZGRlZCBub3cgZG9lc24ndCBuZWVkIHRvIGJlDQo+IGNoYW5n
ZWQgaW4gdGhlIGZ1dHVyZSB3aGVuIHRoZSBkZWZhdWx0IGlzIHN3aXRjaGVkLiBJZiB5b3UgZG9u
J3QNCj4gd2FudCB0byBzd2l0Y2ggdGhlIGRlZmF1bHQgaGFuZGxpbmcgZm9yIGRvbVVzIHRvIGln
bm9yZSB3cml0ZXMgYW5kDQo+IHJldHVybiB+MCBmcm9tIHJlYWRzIHRvIHVuaGFuZGxlZCByZWdp
c3RlcnMgcmlnaHQgbm93IHlvdSBzaG91bGQga2VlcA0KPiB0aGUgcGF0Y2hlcyB0aGF0IGFkZCB0
aGUgaWdub3JlIGhhbmRsZXJzIHRvIHRoZSBlbmQgb2YgdGhlIHNlcmllcyBhbmQNCj4gbWFyayB0
aGVtIGFzICdIQUNLJyBvciBzb21lIHN1Y2ggaW4gb3JkZXIgdG8gbm90aWNlIHRoZXkgYXJlIGp1
c3QNCj4gdXNlZCBmb3IgdGVzdGluZyBwdXJwb3Nlcy4NCk9yIGZvciBhbGwgdGhlIHJlZ2lzdGVy
cyB0aGF0IEkgZG8gd2FudCB0aGUgd3JpdGVzIHRvIGJlIHJlamVjdGVkIGFuZA0KcmVhZHMgcmV0
dXJuIH4wIEkgY2FuIHBhc3MgTlVMTCB3aGlsZSBjYWxsaW5nIHZwY2lfYWRkX3JlZ2lzdGVyLA0K
c28gdGhlIGZvbGxvd2luZyB3b3JrczoNCg0KaW50IHZwY2lfYWRkX3JlZ2lzdGVyKHN0cnVjdCB2
cGNpICp2cGNpLCB2cGNpX3JlYWRfdCAqcmVhZF9oYW5kbGVyLA0KIMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB2cGNpX3dyaXRlX3QgKndyaXRlX2hhbmRsZXIsIHVu
c2lnbmVkIGludCBvZmZzZXQsDQogwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgIHVuc2lnbmVkIGludCBzaXplLCB2b2lkICpkYXRhKQ0Kew0KW3NuaXBdDQogwqDCoMKg
IHItPnJlYWQgPSByZWFkX2hhbmRsZXIgPzogdnBjaV9pZ25vcmVkX3JlYWQ7DQogwqDCoMKgIHIt
PndyaXRlID0gd3JpdGVfaGFuZGxlciA/OiB2cGNpX2lnbm9yZWRfd3JpdGU7DQp3aGljaCBkb2Vz
IHdoYXQgd2Ugd2FudC4NCj4gVGhhbmtzLCBSb2dlci4NClRoYW5rIHlvdSwNCk9sZWtzYW5kcg==


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 11:31:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 11:31:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263024.455561 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEUu1-000544-RN; Mon, 31 Jan 2022 11:31:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263024.455561; Mon, 31 Jan 2022 11: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 1nEUu1-00053v-OS; Mon, 31 Jan 2022 11:31:21 +0000
Received: by outflank-mailman (input) for mailman id 263024;
 Mon, 31 Jan 2022 11:31:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ytUN=SP=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nEUu0-0004yF-RT
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 11:31:21 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4e7fa6b2-8289-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 12:31:19 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4e7fa6b2-8289-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643628680;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=GoTQcpsGRsKiFXEU1Yecf1fuzgyF+4aP9EZIV+15LO0=;
  b=KYDr9z7pm7w9Vic2tWBBkDvI8jqpwHn64OW83xbLanp85ExfJv8yILCe
   okO/83Beqt1+TNrMzktY8Vr663zgTYFFzQjM8c28M5kghjXr0uZM2Yq0U
   GrB28NNV9C5HrZAHHjgt0LpAARN4b1LI3/73cQpuxHg5bvZQ5ZgtEp/sM
   0=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: kK98v7jlpyV1F3jYwiv55V/y7JgORlaxh2fpKF5Szz9RJ9FoA0Gip9leTB5Jj9DC5jYvMNgaiF
 +SHNkyHNNWgFxVzLqjdGu/WCHfpzxvbwBpeBUrL+7nq1yNRUKLePD/xsFxh2nwtCSgEpHK3vMR
 4EKYRh3SJ0MwPV4JnKmD6IgvrqtlMWjuaPttX47c5m7WhevibjCGT2l9YIFtyPPLamHQ9p7iiW
 RwlUlELAL4S65TiZznu5VVsrgQcYPiQuQNSTLORl194+PpJCQQo6gJjIocjudf9cf0oDl73zXf
 4WPIqws/CfyHjBTWrETLEsIk
X-SBRS: 5.2
X-MesageID: 65297643
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:Li1zEqMsQ32wH+XvrR2RkcFynXyQoLVcMsEvi/4bfWQNrUolg2NUy
 mAcWTvSM/qLZWb1KowlPou290hX6MXWx4A1Gwto+SlhQUwRpJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdpJYz/uUGuCJQUNUjMlkfZKhTr6UUsxNbVU8En150Ek6w7dRbrNA2rBVPSvc4
 bsenOWHULOV82Yc3rU8sv/rRLtH5ZweiRtA1rAMTakjUGz2zhH5OKk3N6CpR0YUd6EPdgKMq
 0Qv+5nilo/R109F5tpICd8XeGVSKlLZFVDmZna7x8FOK/WNz8A/+v9TCRYSVatYoyutlv5Ww
 v9RjLafSVcrD4fHodoGAyANRkmSPYUekFPGCX22sMjVxEzaaXr8hf5pCSnaP6VBpLwxWzsXs
 6VFdnZdNXhvhMrvqF6/YvNrick5atHiIasUu216zCGfBvEjKXzGa/uXv44Hgmtr7ixINdHfS
 JI+WytdVwjJchRzEQg7Np19k/j90xETdBUH8QnI9MLb+VP7zgZ8zbzsO9r9YcGRSINemUPwj
 kvc42n8NTQLO9WexCSt/2qlg6nEmiaTcJobCbmQ5vNsxlqJyQQ7EhQWSF/9uvi/hU6WUshab
 UcT/0IGp6Uo6FaiSNW7WhSiuWOFpTYVQd8WGOo/gCmzza7T7xecF3IzZDdLY9w7t+c7XTUvk
 FSOmrvBFTFp9bGYV3+Z3rOVti+pfzgYK3cYYi0JRhdD5MPsyKkUih/MVd9lHLSCp9v5Ayzrw
 zuKoS49gJ0elccOka68+DjvgS+op5XPZh444EPQRG3NxiR9aY2+boqk82/n/O1AJ4aUSFqGl
 HUcks3Y5+cLZbmWjzCESugJGLCv5t6GPSfajFopGIMunwlB4Fb6I9oWumsnYh40bIBUIlcFf
 XM/pytPwJZ9G3GAcZZdTILhCfUAxpHeDoTcA6W8gsV1XrB9cwqO/SdLbEGW3nzwnEVErZzTK
 at3Yu73Uy9EVP0PIC6eAr5EjOR1nnxWKXb7GMijpylLx4Zyc5J8pV0tFFKVJt4046qfyOk+2
 4YObpDao/mzvQCXX8U2zWLxBQ1QRZTYLcqvwyCySgJlClA8cI3GI6SJqY7Ng6Q/w8xoeh7gp
 xlRoHNwxlvlnmHgIg6XcH1lY76Hdc8h8SlmbXN0bQj5hylLjWOTAEE3LcFfkV4Pr7QL8BKJZ
 6NdJ5Xo7gpnF1wrBAjxnbGi9dc/JXxHdCqFPja/YShXQnKTb1ehxzMQRSO2rHNmJnPu7aMW+
 uT8viuGH8Zrb1k8Xa7+NaL+p3vs7CN1sL8jACP1zix7JR+EHH5CcXKh15fa4qgkdH3++9dt/
 1/IWU9G/bWc/N5dHRugrfnskrpF2tBWRyJyN2La8ay3JW/d+G+iypVHS+GGYXbWU2acxUloT
 b89IyjUPKJVkVBUnZB7Fro3n6sy68G2/+1Rzxh+HWWNZFOuU+syLn6D1MhJl6tM2r4G5lfmB
 hPRooFXaeeTJcfoMF8NPw55PO6N4u4Zx2vJ5vMvLUSkuCIupOibUV9fNgWngTBGKOcnK5ssx
 Oos4ZZE6wG2hhcwHMyBiyRYqzaFInAaCv11vZAGGo77zAEszwgaM5DbDyb35rCJaslNbRZ2c
 mPF2vKaiu0FlETYcnc1GXzc5sZnhMwD6EJQ0VsPB1WVgd6Z1PU56wJcrGYsRQNPwxQZj+8qY
 jp3N1d4LLml9itzgJQRRHilHgxMCUHL+kH1zFdVxmTVQ1PxCz7IJWw5f+2M4FoY4yRXeT0Cp
 OOUz2PsUDDLesDt33RtBR45+qK7FdEhpBffnM2HHtieG8hoaDXotaaieG4Upka1Gsg2nkDG+
 bFn8esYhXcX7sLMT3nX07Wn6Ik=
IronPort-HdrOrdr: A9a23:JaNC9ajjcnF4nR1tYjIbfnYbDXBQX0J13DAbv31ZSRFFG/FwyP
 rAoB1L73PJYWgqNU3I+ergBEGBKUmskqKdxbNhR4tKOzOWxVdATbsSlrcKpgePJ8SQzJ8+6U
 4NSdkaNDS0NykHsS+Y2njILz9D+qj/zEnAv463pB0MPGJXguNbnn9E426gYzNLrWJ9dPwE/f
 Snl656T23KQwVpUi33PAhPY8Hz4/nw0L72ax8PABAqrCGIkDOT8bb/VzyVxA0XXT9jyaortT
 GtqX212oyT99WAjjPM3W7a6Jpb3PPn19t4HcSJzuwYMC/lhAqEbJloH5eCoDc2iuey70tCqq
 iHnz4Qe+BIr1/BdGC8phXgnyHmzTYV8nfnjWSVhHPyyPaJMg4SOo5kv8Z0YxHZ400vsJVXy6
 RQxV+UsJJREFfpgDn9z8KgbWAlqmOE5V4Z1cIDhX1WVoUTLJVLq5YEwU9TGJAcWArn9YEcFv
 V0Bs203ocYTbqjVQGYgoBT+q3uYpxqdS32AHTq+/blnwS+pUoJjnfxn6ck7zI9HJFUcegy2w
 2LCNUtqFh0dL5kUUtKPpZ0fSKGMB28ffvyChPhHb3GLtBPB5ufke++3F0KjNvaDaDgiqFC36
 j8bA==
X-IronPort-AV: E=Sophos;i="5.88,330,1635220800"; 
   d="scan'208";a="65297643"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NsPG/axfux62HgdOa2wciFN4tiDMWmBE08oOpqKxYkBuryDCN6SzZtdMmER5wTnwakiEHXD0sNrpW2ksHTxSdChewQ2SWwfrMVlYgvVldqLi8tk//Y1LDlSrC6HQpnzk4PYXz46ZLlNaCkh4w1kihj1zHzI1tOxcLWlo94sD5qg4Y2J9/tMSunP5DLTe64lYDuva38w1gErINC6d4GQQXQcjE94kRHxe2/bilhboOmqSJmVadgoPuEdiwO3z22PiL8iqFuSWQe3T6idrZIaBp2moPDJ1PwQDXjalbA0qgEXY75x6yClqrmWK94XoXWFR2MqcNtFHPAiWOdm+VcJQNg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4cQ35Usc9F4DMZwK91qhIhJ9HeCZc8KQtbGtfm9nJJs=;
 b=Acrowe3Ep6InMCIODBDelsw0Xuy/X7S1SC7Y+77yYQZQ+XuI3bDnRIvNLeE7wQDMyGqDNWfDwBP639LeoaPoOAukLVj/T2eA372JtwXGoPbp8DP4dz6ljdz807cu88UrTezz0u8wMiRRZYKKBKZzJMKWk1IjD2iaLlrHNUr6Z0pj4n5phAfxCeI8AkR3syHawLzkQdl5CaBeSLTCsieW2UhNMdLhPRfcvoZ5ynSKBj7K48ikkZCGCVwN0EGi8Ma/YXTlMFO1/ipCB7fdAep1Ye8U/Q+NMc/lRkIvFixdt8KuCOoi3ibKPcp/y7Um9/ZKmZAKNva8Taa/2fjZiLNSCQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4cQ35Usc9F4DMZwK91qhIhJ9HeCZc8KQtbGtfm9nJJs=;
 b=Te/bBAFwskQwftJdgXi22VMysgimRmTt2vontdjH9yjnbYCkJyndPh28PUnR36eX1yDuB2vlYZfIH3ylbEp/wz1GxIQE3LSLk+GWp2ZepfOVItd8EGhFtjtxRj4pjbEHOx4bcx+vStdpMueBdRa89v62NI2/K6sbH+u62QU3Xdw=
Date: Mon, 31 Jan 2022 12:31:10 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"julien@xen.org" <julien@xen.org>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Artem Mygaiev <Artem_Mygaiev@epam.com>,
	"jbeulich@suse.com" <jbeulich@suse.com>, "andrew.cooper3@citrix.com"
	<andrew.cooper3@citrix.com>, "george.dunlap@citrix.com"
	<george.dunlap@citrix.com>, "paul@xen.org" <paul@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Rahul Singh <rahul.singh@arm.com>
Subject: Re: [PATCH v5 06/14] vpci/header: implement guest BAR register
 handlers
Message-ID: <YffIfj2HcxM6x7Mm@Air-de-Roger>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-7-andr2000@gmail.com> <Yd7K+9fvnBz+WTXA@Air-de-Roger>
 <77c00154-646c-a2a3-98cb-be4324003446@epam.com>
 <c7e87ebd-2c56-d510-b08b-02d53f9158d1@epam.com>
 <YffDmW4JGk+iDIVF@Air-de-Roger>
 <6d1772b1-25f1-0f63-8b8a-5dfaf94b2953@epam.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <6d1772b1-25f1-0f63-8b8a-5dfaf94b2953@epam.com>
X-ClientProxiedBy: LO2P265CA0454.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:e::34) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: af5e8722-10c4-45d3-3450-08d9e4ad30d6
X-MS-TrafficTypeDiagnostic: CH0PR03MB6049:EE_
X-Microsoft-Antispam-PRVS: <CH0PR03MB6049F47BBC5BCE115583FBD88F259@CH0PR03MB6049.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: PqpmH3ZH0aeL8XMA/LU4daUW3v5j5DkRW+BrO3jjoiylz7+mLqLqSNQbXvbWLKmPjqrTIgEmqIjaAi0MwRd6DNp+KVJNYar/fyevSAa9cElZCezcqlF6Z1oDYKkiumqnkXl3g5zKhE3ZYm3/diCDAubvzNN0vxux3cf0ZMZFgj7mtTKFTWkifYLr1Ng0bUCuDYkNhNOivhxAo4iCt/tqaJdkhRx2I++pwKOMTM5BscGl0JgH/1+c32qcjuo5JoSevg3kbcu2DEVfDfhD9rZOPjSUlg74j418qJnS/1DKWxhUIBh0zPevruKGmKrdHIoS7h7BNrZlKwlhL7URTk8yzqY/RN7BsqMr8MXbRvtrfdhE1gILAfVlAZuQBhxhOIcNOrrhwyKUeRt8vwS611gCAuEDOEqHYRtV9qyLaczmEfOu/zM9fpuQuPTVcwgwN75i3HGgqEbosVGbt4RebdufYkwsmcv4InjH8Xm/LrNmie8tCXNg/cM3mMyov+ECVaxJ49XnTxcXgeDtAdnh1jvOWxlB4kxNpX6p/DTr1HGZXcdOqdnaOc4KUS2cvuqBhEv2vMdH2AA+d8hoFznUW34fzjJ7jPi1qrogWmvSqnnXzxIW264qnqUEFcWKFlEtuknEqNB8ogyHWvMnTtmUaVbiEQ==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(7916004)(4636009)(366004)(316002)(85182001)(38100700002)(186003)(54906003)(6916009)(26005)(66476007)(66556008)(83380400001)(66946007)(82960400001)(6506007)(6512007)(6666004)(508600001)(86362001)(7416002)(8676002)(53546011)(8936002)(2906002)(9686003)(4326008)(33716001)(6486002)(5660300002)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cGRMd205cjVhL0t1bWZSZC9JV2l6c1ZtMDlNNkV4cThJRVBMbnE4OHFBMGlp?=
 =?utf-8?B?SW1BTEJLdEtxUEV1OVhwSXEwdzhIVFcvUngvRUZhODdReDE3VGNxMmtjRy9O?=
 =?utf-8?B?bUF3anFIYWg0TjRFVXN6djVpVFVJLzRYYkVGN3FpUjh0anpUY2grZFpQNHEr?=
 =?utf-8?B?KzBMbkordUoyMGp2NEkvMlVsRytGSjBHL1p1OUVoVTRuL1d0eTZ5RHhjLzh4?=
 =?utf-8?B?MitmcjBqcGNxeG5ndk9sdy9zby8razNTS0RXaXlNNk8yRmR0dTlhYW9zZitV?=
 =?utf-8?B?MUNHeENRendKdDNlVFhOUEwxNmo0Wlk4WjdRRHhvM2U5Tkh5TzZlWVF3UVNp?=
 =?utf-8?B?MjBFVzdWdytzeElZOVRRVXRBTno1ckQxTFMzdzFaTzFpbXByVDc5MUxwWndJ?=
 =?utf-8?B?UUp1dEoxYmRxODRyWDd2MDhFRGtyUVZmOSs1VmxpcysvMFAyZHd2cFpKN2RX?=
 =?utf-8?B?QS9wL1RhSVA3MmRwRHQ0YW5xVlhaTVAybjdPRlF5N3NFTlV1M3VROG9VWVI2?=
 =?utf-8?B?OERxOFJ5U0VnMzRvSkhXcXFSNHhWNFBYdlFWbkl5YWFUOEs2U0o4amdnQnJx?=
 =?utf-8?B?SVJ1amlNd1l0U3hPSWVjUlg1TEtTMmU5THZ0MUM1Tk1sZXB0cFJlK2d3YnJa?=
 =?utf-8?B?UnZCeFFiWnptYlJHL3huaWtNMzV0OHBKTUwvVEgxTlhhUlFUTXRBVmRkRDZ3?=
 =?utf-8?B?L1dEMzZ1aVNRb3c5MUZqK1F1WmpNTVAxdmZkK29lcVpuNCtVek9FbUV6Mkd6?=
 =?utf-8?B?OHBUREQwM3hhUHJaYXNtSzlLTW5kSkEycWVlN3BLZ0RkZ01UaWRuaTZVODdB?=
 =?utf-8?B?NzIwOTZPSnhGZnZHYkk5VDRjNU95bUJpNm11WE1NV2Jub1JOcG1yK3JodWJz?=
 =?utf-8?B?ay9oZGpVWWZKMlcybTRnNmtnbmxjN0RzTFhQWXN0c2dKc2RxWHJndGtYcVc1?=
 =?utf-8?B?UFRLOEpaZ3RheVZJM3NuZS91cFRDTCs3UlBPbTFzZk1yQWJLQW1rdms5ZGZO?=
 =?utf-8?B?S2J6d3RPRzdaZ1hVYWVnTWhaQXphUkdHcGUzVXdYRWh2LzNJZ013T3RCcVJU?=
 =?utf-8?B?OUlxaWFWM1lVcUNjZk5nc0x5VjdBNXJhd3BuNnhzeWNwdzhSSEhTaEZyRDlX?=
 =?utf-8?B?OFRreExydno0S3FPN0JaTXFrNVdDUWNlRFB5bFRNY1UwWWlqVmUvMmdLYlRW?=
 =?utf-8?B?WGMwK2s5ODlNTzI5empReEVQZFl3aG9aMDBTb3o0bWVnanhUamxWTGsrZ0FW?=
 =?utf-8?B?blZLSFhvTStVTjBYOUVqenhkS2Vlb0N1UmtXZFgyQkxwbDQ5NkhOWnJ4SUFU?=
 =?utf-8?B?bmtROU11WU1YWHVmMThkL0MyQnNCaXZBUzdBRkVZdjFKdy9XTjJCS3lzVm9a?=
 =?utf-8?B?S3ZHc3J1WHhqZzUybW91WXJKZkEwK0daaXhrZHRnUHpkRGQ1c2lKWllrNXlv?=
 =?utf-8?B?Ky8zOS9qZ0grczNtZG04bjZUWHJpZW41eEFaYlFtZE85RWYrL0VpM2hFUHJz?=
 =?utf-8?B?TDVOTzlKMEF1ZkNDVVBnLzZpUGpld2xQZGcxYTlYczFzYi9xVURlTGpJckIz?=
 =?utf-8?B?TkNPKzNGVDJMdHQrNWViUVZSdFBnWGVMc3k5N3ZBYWM3VVZYWmxab1c0UDdR?=
 =?utf-8?B?eHFXeCtKVEdXY29HZUJYS1lwMjgzYXFsakZJVlQzRzdxNlc2OThVV2w5VFRN?=
 =?utf-8?B?MXZkcGpyTDF4eUFxVXprTGU5QTlFK3U4ak5PL1ZkdnZGTDgyYXVvZ3hMcUFv?=
 =?utf-8?B?aVJ1OEdkcndVSDUyMEROcXNtRFlTWXN0TmJpTWRXdndTbWQwUUVsMnRqVWdZ?=
 =?utf-8?B?WE1Wa2tkdnNmbE9BbmRTdzdMYm83b096WEg1L1RhazNZNGdxcnh5dkEzRDQ5?=
 =?utf-8?B?d0tmY1lHQzZhSnhEZERydlk1K0c3YkV0VU9jUEJCeVcwVHN1U2orYkd0RFN4?=
 =?utf-8?B?djR0WG9HaEJDdzhWVlVKV0lkand5T1N3YzByem1kU2xud3hoSy9nQ3ZSclFZ?=
 =?utf-8?B?TVVTbjEvQkxoQ1F4eUxPVThvakhmV1kzdVJ1NUl6cTBLQkJpVzZCSVU4c3B1?=
 =?utf-8?B?eEJ6c3VPSUd3TXBNRVBiREFVWUtXeVhjd094aGZTUDVZNEZQV2RLTGxBWXg0?=
 =?utf-8?B?NktXL0lHU1EwRU5uREFmdUJtMlNOcTJLelRXdE9VcWxrVDNoMmRIU0JTN2N1?=
 =?utf-8?Q?JH4HTOJMInuQcytam9+Yu5o=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: af5e8722-10c4-45d3-3450-08d9e4ad30d6
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 11:31:15.1173
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: uCllVjp2dy/l/jAXP4N41keU0Ubsyhs+uawzLJpP17gXBpvvNqI5anq/Im1awvqoMG98qy1GCRdgvKSNP7E4uw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR03MB6049
X-OriginatorOrg: citrix.com

On Mon, Jan 31, 2022 at 11:23:48AM +0000, Oleksandr Andrushchenko wrote:
> 
> 
> On 31.01.22 13:10, Roger Pau Monné wrote:
> > On Mon, Jan 31, 2022 at 10:40:47AM +0000, Oleksandr Andrushchenko wrote:
> >> On 31.01.22 11:47, Oleksandr Andrushchenko wrote:
> >>> Hi, Roger!
> >>>
> >>> On 12.01.22 14:35, Roger Pau Monné wrote:
> >>>>> +static void guest_rom_write(const struct pci_dev *pdev, unsigned int reg,
> >>>>> +                            uint32_t val, void *data)
> >>>>> +{
> >>>>> +}
> >>>>> +
> >>>>> +static uint32_t guest_rom_read(const struct pci_dev *pdev, unsigned int reg,
> >>>>> +                               void *data)
> >>>>> +{
> >>>>> +    return 0xffffffff;
> >>>>> +}
> >>>> There should be no need for those handlers. As said elsewhere: for
> >>>> guests registers not explicitly handled should return ~0 for reads and
> >>>> drop writes, which is what you are proposing here.
> >>> Yes, you are right: I can see in vpci_read that we end up reading ~0 if no
> >>> handler exists (which is what I do here with guest_rom_read). But I am not that
> >>> sure about the dropped writes:
> >>>
> >>> void vpci_write(pci_sbdf_t sbdf, unsigned int reg, unsigned int size,
> >>>                    uint32_t data)
> >>> {
> >>>        unsigned int data_offset = 0;
> >>>
> >>> [snip]
> >>>
> >>>        if ( data_offset < size )
> >>>            /* Tailing gap, write the remaining. */
> >>>            vpci_write_hw(sbdf, reg + data_offset, size - data_offset,
> >>>                          data >> (data_offset * 8));
> >>>
> >>> so it looks like for the un-handled writes we still reach the HW register.
> >>> Could you please tell if the code above needs improvement (like checking
> >>> if the write was handled) or I still need to provide a write handler, e.g.
> >>> guest_rom_write here?
> >> Hm, but the same applies to the reads as well... And this is no surprise,
> >> as for the guests I can see that it accesses all the configuration space
> >> registers that I don't handle. Without that I would have guests unable
> >> to properly setup a PCI device being passed through... And this is why
> >> I have a big TODO in this series describing unhandled registers.
> >> So, it seems that I do need to provide those handlers which I need to
> >> drop writes and return ~0 on reads.
> > Right (see my previous reply to this comment). I think it would be
> > easier (and cleaner) if you switched the default behavior regarding
> > unhandled register access for domUs at the start of the series (drop
> > writes, reads returns ~0), and then you won't need to add all those
> > dummy handler to drop writes and return ~0 for reads.
> >
> > It's going to be more work initially as you would need to support
> > passthrough of more registers, but it's the right approach that we
> > need implementation wise.
> While I agree in general, this effectively means that I'll need to provide
> handling for all PCIe registers and capabilities from the very start.

Well, we can only offer handling of the header and the MSI and MSI-X
capabilities right now, because that's all vPCI currently knows about.

> Otherwise no guest be able to properly initialize a PCI device without that.
> Of course, we may want starting from stubs instead of proper emulation,
> which will direct the access to real HW and later on we add proper emulation.
> But, again, this is going to be a rather big piece of code where we need
> to explicitly handle every possible capability.
> 
> At the moment we are not going to claim that vPCI provides all means to
> pass through a PCI device safely with this respect and this is why the feature
> itself won't even be a tech preview yet. For that reason I think we can still
> have implemented only crucial set of handlers and still allow the rest to
> be read/write directly without emulation.

See my other reply, you can probably move the special handlers into a
separate patch at the end of the series in order to test the
functionality without adding code that will need to be removed when
the defaults for domUs are changed.

> Another question is what needs to be done for vendor specific capabilities?
> How these are going to be emulated?

I think you will need some kind of permissive mode in order to allow a
guest to access those, as they shouldn't be exposed by default.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 11:35:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 11:35:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263032.455572 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEUyO-0005qv-D4; Mon, 31 Jan 2022 11:35:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263032.455572; Mon, 31 Jan 2022 11: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 1nEUyO-0005qo-A6; Mon, 31 Jan 2022 11:35:52 +0000
Received: by outflank-mailman (input) for mailman id 263032;
 Mon, 31 Jan 2022 11:35:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9KqZ=SP=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nEUyN-0005qi-0I
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 11:35:51 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ef0f9dbe-8289-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 12:35:49 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ef0f9dbe-8289-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643628948;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=NiAQYwMUm+EzrVf7M2IkJwJ2lIPvx082Ghp/3XvMeSg=;
  b=gCVaDymXNPeLwfnaxiB/b/tKBbWl0GaqrVXe8LJF/BRQAjUjNwvLcvQH
   pIEm2G3pwwzWb1paTqjN5/yMixzIzUcj0I+qFzMARlUsLiOI/X/KJLkUN
   2povcVsYhocfPi5IkdjvdTzhMWmRjWeL4j/4xMf8issOFkquGpZL+uynQ
   Y=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: HlDouB5w2hfk8P+ptChQiybKLIdewboiefLrcD1JoqkRGqWSYmpkB/ZK0GGk7l3kmcLIHRS/4Y
 BhvUhErLc13PN+RWnPUpeB+XNFAUCNtVE/Ivday5CC7RV3yJnSQcNsUxkpaZk50Twrj/cl1GGE
 Jyeiw9g/dZUoW7k23YGguBFeNbf5kJRm3ZjThIqVm/ad/Efg9jJ7mPQu9aK9qm5WifGkQGuXz2
 Auc8QyMghNFTpe7C3dZ1TS761KJv8rq34CpseehcXHr2pNLP53RMI7dNyF8jZGL5RGstLJZK9C
 Kp/fY5Y9OBp/0UuwTUhVbKrp
X-SBRS: 5.2
X-MesageID: 63032174
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:mHwfVKJ9G0oAhDQPFE+RPJIlxSXFcZb7ZxGr2PjKsXjdYENShGYCz
 jFLDT3QaPuJZGKjf911PIjg9E1Vu5DWyYQ3T1RlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokcxIn5BC5C5xZVG/fjgqoHUVaiUakideSc+EH170Us4wrZg6mJVqYPR7z2l6
 IuaT/L3YDdJ6xYsWo7Dw/vewP/HlK2aVAIw5jTSV9gS1LPtvyB94KYkDbOwNxPFrrx8RYZWc
 QphIIaRpQs19z91Yj+sfy2SnkciGtY+NiDW4pZatjTLbrGvaUXe345iXMfwZ3u7hB3Vgsl29
 osOsKCrbigVM5DSiv4AaxNxRnQW0a1uoNcrIFC6uM2XiUbHb2Ht07NlC0Re0Y8wo7gtRzsUr
 LpBdW5LPkvra+GemdpXTsFFgMg5IdatF4QYonx6lhnSDOo8QICFSKLPjTNd9Glr3psURKmCD
 yYfQQc3aASeYDMXAFo4F8wsxMnwlkD1fTIN/Tp5ooJoujOOnWSdyoPFINfTP9CHW8hRtkKZv
 X7duXT0BAkAM96SwibD9Wij7sfQmQvrVYRUE6e3ntZoilCOwm0YCDUNSEC25/K+jyaDt8l3c
 hJOvHB09O5rqRLtHoKVswCETGCs4gMFXOQOUOgG8yai9qfp/RSDG1AOZ2sUADA5j/MeSTsv3
 16PutrmAz1zrbGYIU6gGqeoQSCaYnZMczJbDcMQZU5cuoS4/tlv5v7aZos7SMaIYsvJ9SYcK
 txghAw3nP0tgMECzM1XFniX0mv39vAlouPYjzg7v15JDCskPuZJhKTysDA3CMqsyq7DFDFtW
 1Bfw6CjABgmV83lqcB0aLxl8EuVz/iEKibAplVkAoMs8T+gk1b6I9wLvWEhfBc3Y5pVEdMMX
 KM1kVkLjHO0FCDyBZKbnqrrU5h6pUQePYmNug/ogipmPcEqKV7vENBGbk+MxWH9+HXAYolkU
 ap3hf2EVC5AYYw+lWLeb75EjdcDm35irUuOG8GT50n3gNK2OS/OIZ9YYQTmUwzMxP7eyOkj2
 4wBZ5LiJtQ2eLCWXxQ7BqZKcwhScyBnVM+nwyGVH8baSjdb9KgaI6a56ZsqepB/nrQTkeHN/
 3qnXVRfxka5jnrCQThmoFg6AF82dZog/389IwI2OlOkhyoqbYq1tf9NfJorZ7g3sudkyKcsH
 fUCfsyBBNVJSyjGpGtBPcWs8tQ6eUT5nx+KMgqkfCM7I8xqSTvW94K2ZQDo7iQPUHa67JNsv
 7262wrHapMfXAA+Xt3OYfeiwgrp73gQke5/RWXSJdxXdBm++YRmMXWp3PQ2P9sNOVPIwT7Dj
 1SaBhIRpO/spY4p8YaW2fDY/tnxS+YnRxhUBWjW67qyJBL2xGv7zN8SSvuMcBDcSHjwpPeoa
 9JKwqyuK/YAhltL7dZxSu450aIk6tLzjLZG1QA4Tm7TZlGmB748cHmL2c5D6v9EyrND4FbkX
 0uO/p9ROKmTOdOjG1kUfVJ3YuOG3PASuz/T8fVqfxmquH4ppOKKARdIIh2BqC1BN78kYooqz
 NAotNMS9wHi2AEhNcyLj3wM+mmBRpDav37Lan3O7FfXtzcW
IronPort-HdrOrdr: A9a23:UspskKotd5pDWyzOwXNp/PgaV5uPL9V00zEX/kB9WHVpm5Oj+P
 xGzc526farslsssSkb6K290KnpewK4yXbsibNhc4tKLzOWxFdAS7sSrLcKogeQVBEWk9Qy6U
 4OSdkGNDSdNykYsS++2njDLz9C+qjGzEnLv5an854Fd2gDAMsAjzuRSDzraXGeLDM2X6bRf6
 Dsgvav0gDQH0j/Gf7LYUXtMdKzxeHjpdbDW1orFhQn4A6BgXeD87jhCSWV2R8YTndm3aoi2X
 KtqX272oyT99WAjjPM3W7a6Jpb3PH7zMFYOcCKgs8Jbh3xlweTYph7UbHqhkF2nAjv0idurD
 D/mWZmAy1B0QKWQohzm2q15+DU6kdr15Yl8y7BvZKsm72jeNtwMbs/uWsQSGqm16NnhqAg7E
 sD5RPoi3IcZymw7RjV9pzGUQpnmVGzpmdnmekPj2ZHWY9bc7NJq5cDlXklWqvoMRiKoLzPKt
 MeR/00JcwmBW+yfjTcpC1i0dasVnM8ElOPRVUDoNWc13xTkGpix0UVycQDljNYnahNB6Vs9q
 DBKOBlhbtORsgZYeZ0A/oAW9K+DijITQjXOGyfLFz7HOUMOm7LqZTw/LIpjdvaNaAg3d83gt
 DMQVlYvWk9dwbnDtCPxoRC9lTXTGC0TV3Wu4hjDlhCy8vBrZbQQF++oWEV4rydSq8kc77mst
 6ISedrP8M=
X-IronPort-AV: E=Sophos;i="5.88,330,1635220800"; 
   d="scan'208";a="63032174"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mgEPU8bfW63auB8/aqwOGaSeO50tx7tiOEpnzWxXK1jijcPvQjTFW/+lkL35VXK6iNbMLhE9m3D/mh6NsBtJJxuKcZAxCHOYIEKwYEBfOKeG1dBnadKk/6dOG1KIJ9AwQL/6r2HR1QPt/2FhdIZh/sluuavnQD7lVvWhj7gklSOvRrJ+bTkocsSyJJaKBX8b81IP25EyXX7CcksCQVqztFxdStT2MNBzIqTqgEtI5Oexr84THLuR9dJyymuvhn32TaktJy05tSYS7Q99p9PjuQVLLv1KH8JMsX3KfiF53mIH+otmT/Mt7Uq7uv9KZ3uRGVsUzzgiRJhCle4lHYwV/g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NiAQYwMUm+EzrVf7M2IkJwJ2lIPvx082Ghp/3XvMeSg=;
 b=FAeIMSvJIt0j23nlL+Q+lcMd93Vyr5V8VB3+FR6QRgJ6zR3mpYTdbl3DSBqsy6JDfrJqOWCQ0U8DsUnb134SWYaTAK8Lscpl55iaAHEjcFaYNgZHw8aMFE866hIWB2nuOJqhj4kjzo9toM4Hxp4LomAoEbtRaGk/C58cc2oN7Ym3D0ZgIHslbG7bdpfGQm4GUhhiwhwbaPLcjt3r7HtfOao4qKQscoC0B90ChMyfQIzgAUZhiHWml865GSFmhm50rMzRW2XUVc0tkLACcClj9cLtdhKnCmcZ9HrGgoAVZp2grZPDs96kHhO8/TQglUPm6SyP855FxdQ3u1zc8Gf+qw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NiAQYwMUm+EzrVf7M2IkJwJ2lIPvx082Ghp/3XvMeSg=;
 b=ezxcSFADZjKSWI+CQkT8VsZfpGtAF1qFpZVF7DQHzwXRdMQYCZ3IGpP2bvN8kdG/LUqmHHa7H2Zvk1j+wxPPQollVrgTqoe2S2NdCwpH2v8pWr2N59pIWLsUAinS9xuYT8CLqeNUpjEoPzkpL8LjzyB6pmT25Qi6TPk2eK7h8H8=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Xen-devel
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 5/9] x86/spec-ctrl: Record the last write to
 MSR_SPEC_CTRL
Thread-Topic: [PATCH v2 5/9] x86/spec-ctrl: Record the last write to
 MSR_SPEC_CTRL
Thread-Index: AQHYFEsmzjI7mjP2gUCbwx5jxoXzCax876wAgAAVGYA=
Date: Mon, 31 Jan 2022 11:35:43 +0000
Message-ID: <2cdc2c56-c9ba-97ab-49e4-1a8869a6d3dd@citrix.com>
References: <20220128132927.14997-1-andrew.cooper3@citrix.com>
 <20220128132927.14997-6-andrew.cooper3@citrix.com>
 <18239ffb-058b-8790-be3e-0951d2d6ae6c@suse.com>
In-Reply-To: <18239ffb-058b-8790-be3e-0951d2d6ae6c@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.1
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 0fe7c372-b52c-430e-82f5-08d9e4add11a
x-ms-traffictypediagnostic: SN2PR03MB2253:EE_
x-microsoft-antispam-prvs: <SN2PR03MB22532430FAB8A5954AEEAF16BA259@SN2PR03MB2253.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: NJOdVxDwLb0ScZdoSnSWLu2gWFkUq2JFoBAJjdFE1mgWoWLLCLC0RLBs8QurjTtap3BOBecDG/5CZgbFSrqY3ryQ756qOfmMdOq+EG6txGTyXJVRJNi0ynXJiPTet+CM/aXg0fHJf1lTVg+jgI9M7v6l8Ki712irBI6zQvsdbpV7d/3X+3qK8g1kty0f0SwGSuPgsPh20k2Pio5oIM0FyzJ1wWl6uZr0e2fffPtIXyw66HaS1iBjjHvDECTgXvpSg+iq4848aVrDtqrL5YSWZT+nVWHXz2DNUWZJ+Gn7P5bM4fyCRkTdSMwFB2ACj43PCGd2nmcqp3EjpPwXptGJ1IAt2Pd4YIOtoLYgtnHMek3cX7bfLLSm10bbEg5CRivyr3+zWyWlvIl8TD7kj/YYjmWAvYytEnE6tKkq04FyBDhlKEeduH07fF2I1ByR66f1dAUwZxjtXibu+gGN89URXZ2wN2Hw+xD0HCJmkTQNE/Hg5wCMPQzP0uSIpAkcy3lpBDs1StUiZbDbmYYJ2YE3mMgJ/u/fnmkXuah31ruOSZxqVJOJKCfkFX612sFigA81GlaHNY0D6Xqk0slDvItgIc1v54o7xYkOOO0EwEZ/NzyE9fWpcWv3SuFPECAYC2ZtYfmQxog+/wS32IPzvobYf69zHYx9rqIlgiJ82+PRW5QFEvT4YHMDMgRabz7oLMg65ETdz/gkGPtV2kzt3Flf2XDLXEpOoWRcUXvYIM0E2geFMJNR18osYm1JpWnzNC+46h3UKVqtv+AAiUAiVjEkgQ==
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:(13230001)(4636009)(366004)(2616005)(186003)(86362001)(5660300002)(31686004)(2906002)(38070700005)(36756003)(26005)(71200400001)(53546011)(76116006)(66446008)(38100700002)(8676002)(6506007)(4326008)(66556008)(8936002)(66946007)(6512007)(66476007)(64756008)(91956017)(31696002)(122000001)(508600001)(82960400001)(6916009)(54906003)(316002)(6486002)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UTVHTEp1VXQxVEtvUDlMUHlNaTE3bmJ3VHhZOW5iTGN3NHdHUklkVWhSQ3F0?=
 =?utf-8?B?YUUybzU1VlorVlRIeDNlRXIyR0hzbk1kQWFLNjZPTmN4YndpVEFRN21rL25q?=
 =?utf-8?B?WXRVZVl4Tjh4b1BOcmVsRCtUdUFwOFIwUGNkRXFwZXlBejR1SndJeGVKdmhF?=
 =?utf-8?B?S3RQbG54VUo4RDVYMVBKaExuVjFIRWpvdFY2K1REY01Jdnh3WDJBVTduOHgz?=
 =?utf-8?B?RGpSb2tQeUFRNktLMFowOXAzQVhiZHkvTWQvMmtKbVNSVEx2dDhVdG9YVnVy?=
 =?utf-8?B?cE13Q0drOXBVeVJOZ0J3ZUhJM1I5WmV1TC9EU3VjeUNiQVkvM3pMNlBBWTJn?=
 =?utf-8?B?UE00ZlJ4SzZxRVN2ZWdvNG9DWjZEQXNqdm96MlJRaHFKbUFXbXhSN2FtYVRH?=
 =?utf-8?B?WDhDbDFpeWRGNUp4U0RTcHdTdnREdTJWMytqL1YvblNGdlIybERHMXJCQ2d6?=
 =?utf-8?B?SjZ4RU1EMzZrd0U5c0puQklKZW51d2NwYlNYN3NUSnU0cHpQL0V4Z3B2S0ly?=
 =?utf-8?B?V1lEYmQyTDFPN3VaNWZ6SWtjaWJDU29OUUx1alJmL2EvUE8vaTVaYXM0N1Z5?=
 =?utf-8?B?cGhaL01uczRsNHRvSlRFSEUwWlJ0dEh6RHp3S1hCN0JJeWFtcWdvZkQyUEo2?=
 =?utf-8?B?dmFGQXgxOWFWN0lPZ0l5cGtWeXE1R01JOFhLSURqSFcrMDY1aDdaYjlpbGtk?=
 =?utf-8?B?T1dGdGlkZGx1eXFhb3lIaHZCRjFpWTZWS1BHZEtobWFnK1ViVkpCWko3R3dZ?=
 =?utf-8?B?TnJlVm5OSFNPU281Z1dxazRtNnkwZG9CVFFSWVdNbVp4dFVRSEUvM2lCME55?=
 =?utf-8?B?N1VaYkg3VTNJWkdWUERRenJYRG5UOHZ2dUF6Y3dUbWxJaDBuSFZURHdFbVRW?=
 =?utf-8?B?WDJIZHBGWUNSWEtFV0xxOEpFem9ZQkpMWnRHeS9tN2RyV0JMZ0JtaDRDRzUx?=
 =?utf-8?B?dU5IU1NxbS9GYWU1MjBES0RrYk56MFZpa01pQ2dHWGNEUm9qWlE4YmhTdklH?=
 =?utf-8?B?NERxK0R0eHFJdWM0eXBuditHRzNoN2lBcWpGejR0bUZ4aTFoUndnWFBBV21l?=
 =?utf-8?B?YUJZQ0pReXllOTViTXdJYmxmS25FRkMvNGFISDhIMFNMa1ZhUDgwTU43cVFE?=
 =?utf-8?B?WnNxd2RTZGg1VTJNTkdtbll6NVV3enJVM3ZQVE9zMmp5OUpTaUtjcEZCYzFZ?=
 =?utf-8?B?MmRRSXhUMlhvVnRoZFJMZTRRZzAzeGNseG1VamFIeHZCZGJYRjJLZnNTMnVD?=
 =?utf-8?B?WmVzUFg2MEZYZXM1VTY1R04rc2JFYUFVN3o0NmFIY0NOVXI3R1dqK01GWFI1?=
 =?utf-8?B?eGdpUVNzNFgxRjlBdXRKaW9ZbGJWUFA4MEpRdFMxZUY1L3owY3RsRkZiTGJa?=
 =?utf-8?B?ekhqQ2VQZmNSanVtcHd4Z0pXUlFHKzhEeDdXQTdCZEpZaVlmLytkLzVaTmZH?=
 =?utf-8?B?VkxtbmlRRUZWbGx4a09CVEpPeHhVQkpoWEFjZHBKVjI5c1pTZTk5V2NYRjQz?=
 =?utf-8?B?b1lZWFdXQ0JQQVpKZDZGVVFwQ1JWWVBjakt5Yll6V3V2S3J0RHJNQUpzNkZh?=
 =?utf-8?B?ZjFnTGNnc0p1ZTJ1WVhqK3J1OTdqUGl6cE11Ykt1OTFhcEhCZko0aVQvd0pN?=
 =?utf-8?B?THZOdTZydm9RU0J4Y3FCcUdOMG96Mmp4dktUOFVNTUNOZEl5UkxVNEhVc0tv?=
 =?utf-8?B?alU0MEIyWC9jZURFUTA5M2orNjYzcVBURVlTNWhObzk4Vjd5WWtDMkxDbnZM?=
 =?utf-8?B?VmI2bmtud3hqZHUwbDA0WStBcDNtd0hHTFE4bkowUGdTeFNKWTZ6dVlRY0RE?=
 =?utf-8?B?Y0pYa1c2TmRHM1laOXA3L1BlM3p0Wkg5bkNhK3FYQ0NzMXcvMkJON0NQdW9y?=
 =?utf-8?B?R3UzdzVmOXJ1Rit4ZVlaUCtNdHVvdXJEcFdXNG1rSUlKbldld2xFK0YzUnlO?=
 =?utf-8?B?VWtZYmVYL1p4SkE5Z1VEWVphekUyVnQwcWxRU1pSM0V4bStweENRbWxEQ25P?=
 =?utf-8?B?R3h6M3Fra01XNDhmOFFCR3FOUTAweVlSOHFZOURPODJHSUhpUCtLREhnKzBP?=
 =?utf-8?B?OTNwT05hVURtenkvQXQ4NDZiSzR4eENqVVkxbTdXVElCUlF2U2FhRmM4OWdr?=
 =?utf-8?B?L2dMWkhXZTR5ZVFXaE1aS1JUMFhKVDNFZk8vRjU2a2hmWUhWZHJ5S0Z5ZHF3?=
 =?utf-8?B?bGk2blhqVmk2SElodkZNZnJhRmRyTGxzNWJtY0wxdE0yLzJpNzZSVWttaTNR?=
 =?utf-8?B?V0hVRzg3TW42YTlpd2R2b1ZJSUVBPT0=?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <197EA45DBF4478459331017313DF47C1@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0fe7c372-b52c-430e-82f5-08d9e4add11a
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2022 11:35:43.5474
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 3o/zo6pETlQWLKcnRqy/9Pw71aHW/dRYJgjw6OuIT+ChwTy30YORGmUe781vHzbFmxXTqZ754ewehJNmH3tFwaIrPb1lc7zs42jXon7iPw8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN2PR03MB2253
X-OriginatorOrg: citrix.com

T24gMzEvMDEvMjAyMiAxMDoyMCwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDI4LjAxLjIwMjIg
MTQ6MjksIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+PiBJbiBzb21lIGNhc2VzLCB3cml0ZXMgdG8g
TVNSX1NQRUNfQ1RSTCBkbyBub3QgaGF2ZSBpbnRlcmVzdGluZyBzaWRlIGVmZmVjdHMsDQo+PiBh
bmQgd2Ugc2hvdWxkIGltcGxlbWVudCBsYXp5IGNvbnRleHQgc3dpdGNoaW5nIGxpa2Ugd2UgZG8g
d2l0aCBvdGhlciBNU1JzLg0KPj4NCj4+IEluIHRoZSBzaG9ydCB0ZXJtLCB0aGlzIHdpbGwgYmUg
dXNlZCBieSB0aGUgU1ZNIGluZnJhc3RydWN0dXJlLCBidXQgSSBleHBlY3QNCj4+IHRvIGV4dGVu
ZCBpdCB0byBvdGhlciBjb250ZXh0cyBpbiBkdWUgY291cnNlLg0KPj4NCj4+IEludHJvZHVjZSBj
cHVfaW5mby5sYXN0X3NwZWNfY3RybCBmb3IgdGhlIHB1cnBvc2UsIGFuZCBjYWNoZSB3cml0ZXMg
bWFkZSBmcm9tDQo+PiB0aGUgYm9vdC9yZXN1bWUgcGF0aHMuICBUaGUgdmFsdWUgY2FuJ3QgbGl2
ZSBpbiByZWd1bGFyIHBlci1jcHUgZGF0YSB3aGVuIGl0DQo+PiBpcyBldmVudHVhbGx5IHVzZWQg
Zm9yIFBWIGd1ZXN0cyB3aGVuIFhQVEkgbWlnaHQgYmUgYWN0aXZlLg0KPj4NCj4+IFNpZ25lZC1v
ZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+DQo+IFRlY2hu
aWNhbGx5DQo+IFJldmlld2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQoN
ClRoYW5rcy4NCg0KPiBCdXQgLi4uDQo+DQo+PiAtLS0gYS94ZW4vYXJjaC94ODYvYWNwaS9wb3dl
ci5jDQo+PiArKysgYi94ZW4vYXJjaC94ODYvYWNwaS9wb3dlci5jDQo+PiBAQCAtMjk2LDcgKzI5
NiwxMCBAQCBzdGF0aWMgaW50IGVudGVyX3N0YXRlKHUzMiBzdGF0ZSkNCj4+ICAgICAgY2ktPnNw
ZWNfY3RybF9mbGFncyB8PSAoZGVmYXVsdF9zcGVjX2N0cmxfZmxhZ3MgJiBTQ0ZfaXN0X3dybXNy
KTsNCj4+ICANCj4+ICAgICAgaWYgKCBib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfSUJSU0IpICkN
Cj4+ICsgICAgew0KPj4gICAgICAgICAgd3Jtc3JsKE1TUl9TUEVDX0NUUkwsIGRlZmF1bHRfeGVu
X21jdV9vcHRfY3RybCk7DQo+PiArICAgICAgICBjaS0+bGFzdF9zcGVjX2N0cmwgPSBkZWZhdWx0
X3hlbl9tY3Vfb3B0X2N0cmw7DQo+PiArICAgIH0NCj4gLi4uIHdvdWxkbid0IHdlIGJldHRlciBo
YXZlIGEgd3JpdGVfc3BlY19jdHJsKCkgaGVscGVyIGRvaW5nIGJvdGgsDQo+IHBlcmhhcHMgd2l0
aCB0aGUgY2hlY2staWYtc2FtZSBsb2dpYyBhZGRlZCBhcyB3ZWxsIChvdmVycmlkYWJsZSBieQ0K
PiBhICJmb3JjZSIgYm9vbGVhbiBpbnB1dCwgdW5sZXNzIHRoZSBjYXNlcyB3aGVyZSB0aGUgd3Jp
dGUgY2Fubm90IGJlDQo+IHNraXBwZWQgY2FuIGJlIGVudGlyZWx5IGRldGVybWluZWQgZnJvbSBw
cmV2aW91cyBhbmQgbmV3IHZhbHVlcyk/DQoNCkkgY29uc2lkZXJlZCB0aGF0LCBidXQgZGVjaWRl
ZCBhZ2FpbnN0IGl0LsKgIFRoZSBQViBhbmQgSVNUIGNhY2hpbmcgbG9naWMNCmlzIGxpa2VseSB0
byBiZSBpbiBhc20sIG1lYW5pbmcgdGhhdCB0aGUgc2luZ2xlIHBpZWNlIG9mIEMgY2hlY2staWYt
c2FtZQ0KbG9naWMgaXMgaW4gdm1lbnRyeV9zcGVjX2N0cmwoKS4NCg0KaS5lLiBJIHRoaW5rIHRo
aXMgaXMgdGhlIHJpZ2h0IHdheSBmb3J3YXJkLsKgIEJ5IHRoZSBlbmQgb2YgdGhlIFBWIHdvcmss
DQppZiB0aGVyZSBpcyBvYnZpb3VzIHRpZHktdXAgdG8gZG8sIEkgd2lsbCBkbyBzby4NCg0KfkFu
ZHJldw0K


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 11:39:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 11:39:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263041.455583 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEV29-0006Zz-2O; Mon, 31 Jan 2022 11:39:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263041.455583; Mon, 31 Jan 2022 11:39:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEV28-0006Zs-Vj; Mon, 31 Jan 2022 11:39:44 +0000
Received: by outflank-mailman (input) for mailman id 263041;
 Mon, 31 Jan 2022 11:39:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Fky=SP=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nEV27-0006Zm-Sg
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 11:39:43 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7b1dd32b-828a-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 12:39:42 +0100 (CET)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2107.outbound.protection.outlook.com [104.47.17.107]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-25-hNifCi3-N-2PYzVZ2rk3Rw-1; Mon, 31 Jan 2022 12:39:41 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DB6PR0401MB2325.eurprd04.prod.outlook.com (2603:10a6:4:49::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.21; Mon, 31 Jan
 2022 11:39:38 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45%6]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 11:39:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7b1dd32b-828a-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643629182;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=F0hDx9unIqijJLltZpH74YKrXDepTkbNRfZzErm3eQQ=;
	b=OOj7xAKKvM1fiqCeCrQJVa95kPLgYqsIXhB9INv/vZao6+jj/f/u2IJ7nlL/jLFD4hw9qm
	yhyB21ZACFZWYJim10Yuqovv0ws7D9MaLF5mgoHmhR/tzIEyMLBQESGlnVSYrJdKLf2qnL
	DRMQ40OWGHQdcIiNlQcqQCykpcF0148=
X-MC-Unique: hNifCi3-N-2PYzVZ2rk3Rw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lvzz7FEojEpJAXdAdU3YBGgb4kgYC1YLR41RLxo/n1nMB991PBFyjD854Bp1YEcHdUX6B1FWb7EXHy45Z4rFCEjp6yB7YaeZpsYuOfSWOEDb0FSX/XPsWxMTX8gm5azxSm33iOTN9W08wzpuNamQy6mxKwXcF1zqKi/ReJnKlLKxJ2HxlMQbnSq0g+faDJoKjLq8cmGAs0dgfe0KBf9wT0ULb4dIuTuNyw4FPolI6bn8PYg9twKUrBRffvR/4/q7UtCSjoP2i5Lfajgb4SdjUOhqx/KjDGq/jm0c4FWE5EKBCRwTR0woy5vI36naXWZr6PPPn28rXoklciBTsGRldA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tTu9lvXVsXAJr+sX/VDW3XKNHFN6fLXIPP3D3GqpNfc=;
 b=DfU/DTH4esZ89Kqs+VkkbX7sAzWgmla9TLKJbjUiLC9FvFbsIMLofcngSnL29YB0f66yqysIKCVYIDez473eHhVkhsiuQUiJ9ZlMlTO3UZzZ4Yl6MwKx70E24sxki/CXVcmjoFKZfVqlrj5g99JdFChDmopiN/Sh13LbtXcumvhIeIN4xHLR7WhD4e6JN7jmmyJWFSRRqoapQa6ikHssW+vX13r0PTb4he02Dj7Vq5PgABH/vNdHKvhPMYivz7gson2FX+VgsUyhAzcCk4M+B7Viq42viZBzsXaQwKnnjyp5jL/z4LErfxmQ1tzDJ3MVEfS4AXtbEsWL443IvRNUbQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <36fe9000-87a8-eefd-9baf-331bf4bbf1ad@suse.com>
Date: Mon, 31 Jan 2022 12:39:37 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v5 06/14] vpci/header: implement guest BAR register
 handlers
Content-Language: en-US
To: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "julien@xen.org" <julien@xen.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Artem Mygaiev <Artem_Mygaiev@epam.com>,
 "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
 "george.dunlap@citrix.com" <george.dunlap@citrix.com>,
 "paul@xen.org" <paul@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Rahul Singh <rahul.singh@arm.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-7-andr2000@gmail.com> <Yd7K+9fvnBz+WTXA@Air-de-Roger>
 <77c00154-646c-a2a3-98cb-be4324003446@epam.com>
 <c7e87ebd-2c56-d510-b08b-02d53f9158d1@epam.com>
 <YffDmW4JGk+iDIVF@Air-de-Roger>
 <6d1772b1-25f1-0f63-8b8a-5dfaf94b2953@epam.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <6d1772b1-25f1-0f63-8b8a-5dfaf94b2953@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM5PR1001CA0063.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:206:15::40) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 0ce481ff-75bd-4cbe-5b14-08d9e4ae5d06
X-MS-TrafficTypeDiagnostic: DB6PR0401MB2325:EE_
X-Microsoft-Antispam-PRVS:
	<DB6PR0401MB2325E3AA96A9690B205116D9B3259@DB6PR0401MB2325.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:
	+H/F9NOjHks4jr0Xsqkc36SwueCq/PnIlWp4G4rUpQUy+tV0Xie46B/4vC7EzMGGQ/7D5hZ5E2BmgpCFtdTUokJxGIJ4kwP+/akOko+ZctNYijr5Sj8ri3PNlni1PdzQfygdNewLD4VCcZ4BLDTDITf/QrFzlpJF2gPpTLrPxPZxieKdh+7yePTyfj4Tk0RQbOyggGCmZHu4E8ChexuqTOEEa3GZ9eZ+N2D9M3WLFLKYf12JJS00JcKaUQNdJvWF9iZXC0f5mWp/J56d/vHHq88CvcoNy9887v2D3cbw/xIpK+xAhvNPM9M8eFNbafrOf/RyKFR9s0MdFl5uJW9prOByzPO9h6iZo5ZOXRmkjU1PCm4xkuoyhCct3qav8OirbYB+AnvsTCX2jEUsHD0oBUOIF64wqlrdgCJW3MmVgxIf0zfkU1/728ioe8FpWkeFHQXtCvTSQ/SfM0axeBb1uY5VcbNsxgH7WAQmk+OfAGUtX01Wb8li1+cOK2aKLMIhXttsyEcUDXahKrgiwIFOfpFzuMs8rSEwPHHeDkQvAAwBBkVel0f7G22IJkwwi2h3EyRxKPovN+dOKpFmsMu7qVp+qf04+oo67GSxtih4ZqGA/gEyYnQofJpJgReV4P2MYPn8vPuxAWbP3ZhMPulm+W9+OghkcTNQCqk3EkhGhJer7oZLi0GCJYk9bSrPMRkE/e1RsHEJV2QWetgfcP0qGi7Ky3RXsr4gu2XhXp/QV2oHEApIMXN1f+Gbu5DKwFYN
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:(13230001)(366004)(6486002)(6916009)(54906003)(31696002)(26005)(6512007)(508600001)(186003)(2616005)(7416002)(38100700002)(5660300002)(86362001)(6506007)(31686004)(316002)(66476007)(66556008)(8936002)(66946007)(8676002)(36756003)(53546011)(83380400001)(2906002)(4326008)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?T8lddGrBubHX+q8OAeBsXPx3kE0eaFvCfbMPXWoBclIOYOLUDpRaZeVjHdZO?=
 =?us-ascii?Q?rIXiCO8qNUnuQW7cv0r2JIEoL+cHCBjUvxSTFMDgke12ELjpYJ38BJnA+j9e?=
 =?us-ascii?Q?zKS7V4oVGUQaBbWzL/DkIsgo5EOMHbLWvGN/hW8nEjrMAX18LZuF/z5UpPWV?=
 =?us-ascii?Q?wAbClwc/EJSOrD9YNqK9zCcvNO0dvJzu4kc+l1YEeV+soM6pSWkprqwDu+wO?=
 =?us-ascii?Q?7qIbf7bZb+ZaLx0ASuzwQRms5mV62mtvTbGLLOkSSK2wwbt4d5rGPD7Vw6VJ?=
 =?us-ascii?Q?2c0Q9UHDjFYYvYJlaJ7BPZqzzFyQeXU0Vioh+MF/gBayHt+QtbJJlc+1M7vx?=
 =?us-ascii?Q?FS/IyJC3njYUPxgzxPLI/7jUYMQVPsdSVedzVChBVDIwyswtZAHIxrPZnKZk?=
 =?us-ascii?Q?n8JKKebSjjps7yEnZ8GqA639LaZcDRPyqVmsuFxn2QILd8wJ0Pu49UEiP+v4?=
 =?us-ascii?Q?QrW9L8c1/yYdiSzIEYyeWz2k142H4ffgXx8uPTyJLSrFW1/ckLjDHY1/hUjs?=
 =?us-ascii?Q?xCOJdao6Bk6ghQPRu5MVf6P9dcMPwuoe/PUneVsJ6KD2iJP95wLX1JjlJNXc?=
 =?us-ascii?Q?uv7XWm5Fsi7oxM4MBWVk3LIot5zQMX1QGf1s/Zq61lYpZyZ1YWpQCXyTpCEA?=
 =?us-ascii?Q?GGs/p1tSjMpectBkfCJrHmfglDN940CkZ94N8Ca87r44XyhE3/Ba+vQuXre9?=
 =?us-ascii?Q?0G4g6l2TkPbVCZzV/1Etei7PerZlJSE1snOh9VOs7+jb+nYfUFQtj3ZzKuvs?=
 =?us-ascii?Q?onCuLfh/LkFeA4P3zi40HO9CywowKg+oLSPF2dKrLGRn3WQHt822XlDEP55Y?=
 =?us-ascii?Q?nDT9JHshABaBoQ61pZDgcNmr9eo2TC33c9Pf1wG9mlmYchqXCN7Ak03I5XoL?=
 =?us-ascii?Q?DeSpb62ytiZZdjVJvatPEn5K/zG1FwLcgJ91b0PqE9o/GqgQleWxX+lfNf2e?=
 =?us-ascii?Q?/a9CPUXXKyXm1OkPN3+cM/a0ZZFw4R/ygh2Pc/VAWHaznjg2FXdqWxeWfcdR?=
 =?us-ascii?Q?sHHcfZTFCCrqF8lGrBgubcH9Hic4bQySLuqIMmgXa6i0fg8TpT7XD1/pnuMp?=
 =?us-ascii?Q?lZfp2evQCWuX6Wgjx7S90UJcDxapHDomNHDMoBtwQb4FdTSleOk0uMNM7mxV?=
 =?us-ascii?Q?wNTjJIKFhMjvSRNZNRxxdZRqgdjEXnH4Fvr248JCaRl25PDizdqgYsiBFyMR?=
 =?us-ascii?Q?czY/BaKQxHQAcg/nXFfamKFmErr52h6VVBa77KzEDpVJ7NJoLzqG1P0gZcxJ?=
 =?us-ascii?Q?hg70cWmPrxAK47HrpxuvQZoEETknX5Mg616wSYAIwg+2DKnMtmMm6K9YhmKB?=
 =?us-ascii?Q?0cuka1oxNIXUhTU4XNaTsDPQc8CZLv2I5wqh3b7jGg4j2C6AEwtlRd9CAwWA?=
 =?us-ascii?Q?jFmT3Fw5Of8yPkGxJFbsGjuQuYUYQRzLMqiWZWDlKqfzukMLFmiFd2L/45A+?=
 =?us-ascii?Q?gtIBK9A/9htyDSkTqh2AoWxep7Lg8nMTqwDDRFSEY8MFs9BNwiINmJM4hdHr?=
 =?us-ascii?Q?BlZ57zw1GbKZko2d9TPd5jlU1CE4Z1m7s7NSiejQSXTmb5EIbfb6nNBIKctH?=
 =?us-ascii?Q?5wBH+Rvd7MaFSmUK3McxXvCfvNNaVXlmOMYpVgXyNhLwZCqEEOOxjr5G7Vla?=
 =?us-ascii?Q?CvpYcZ7MgXSCjViHfxR7kps=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0ce481ff-75bd-4cbe-5b14-08d9e4ae5d06
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 11:39:38.7650
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 17nxPH/F0XUeFf+IfOpR0Oakwv/dF0Rne68vu+sDgEQDMOewKTOkw6i9KnAwYhVSGa4HZJOOjpxjp0BFlH6Azw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0401MB2325

On 31.01.2022 12:23, Oleksandr Andrushchenko wrote:
> On 31.01.22 13:10, Roger Pau Monn=C3=A9 wrote:
>> Right (see my previous reply to this comment). I think it would be
>> easier (and cleaner) if you switched the default behavior regarding
>> unhandled register access for domUs at the start of the series (drop
>> writes, reads returns ~0), and then you won't need to add all those
>> dummy handler to drop writes and return ~0 for reads.
>>
>> It's going to be more work initially as you would need to support
>> passthrough of more registers, but it's the right approach that we
>> need implementation wise.
> While I agree in general, this effectively means that I'll need to provid=
e
> handling for all PCIe registers and capabilities from the very start.
> Otherwise no guest be able to properly initialize a PCI device without th=
at.
> Of course, we may want starting from stubs instead of proper emulation,
> which will direct the access to real HW and later on we add proper emulat=
ion.
> But, again, this is going to be a rather big piece of code where we need
> to explicitly handle every possible capability.

Since the two sub-threads are now about exactly the same topic, I'm
answering here instead of there.

No, you are not going to need to emulate all possible capabilities.
We (or really qemu) don't do this on x86 either. Certain capabilities
may be a must, but not everything. There are also device specific
registers not covered by any capability structures - what to do with
those is even more of a question.

Furthermore for some of the fields justification why access to the
raw hardware value is fine is going to be easy: r/o fields like
vendor and device ID, for example. But every bit you allow direct
access to needs to come with justification.

> At the moment we are not going to claim that vPCI provides all means to
> pass through a PCI device safely with this respect and this is why the fe=
ature
> itself won't even be a tech preview yet. For that reason I think we can s=
till
> have implemented only crucial set of handlers and still allow the rest to
> be read/write directly without emulation.

I think you need to separate what you need for development from what
goes upstream: For dev purposes you can very well invert the policy
from white- to black-listing. But if we accepted the latter into the
main tree, the risk would be there that something gets missed at the
time where the permission model gets changed around.

You could even have a non-default mode operating the way you want it
(along the lines of pciback's permissive mode), allowing you to get
away without needing to carry private patches. Things may also
initially only work in that mode. But the default should be a mode
which is secure (and which perhaps initially offers only very limited
functionality).

> Another question is what needs to be done for vendor specific capabilitie=
s?
> How these are going to be emulated?

By vendor specific code, I'm afraid. Assuming these capabilities
really need exposing in the first place.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 31 11:47:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 11:47:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263047.455594 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEV9R-00081i-SD; Mon, 31 Jan 2022 11:47:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263047.455594; Mon, 31 Jan 2022 11: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 1nEV9R-00081b-P6; Mon, 31 Jan 2022 11:47:17 +0000
Received: by outflank-mailman (input) for mailman id 263047;
 Mon, 31 Jan 2022 11:47:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9KqZ=SP=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nEV9P-00081V-W2
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 11:47:16 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 87ae41aa-828b-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 12:47:14 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 87ae41aa-828b-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643629634;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=EwMdjPZhW9E8oMhCWkr4EngvnoYzcRTUv9PqiHWtf80=;
  b=LToPDFtN7F69bVnP42V72MKPO0wCh55HM1O1Joj7Z5iz05S+CnYm0twj
   juxeA0YQyRlcErvkRmWAXZCv/eN7N7iITjqv4qvarB6sWPq6N3p/EYle5
   mS52z/LbCw0XCr6gHKRQJL7L6HgtzJthR1BytcNCwPvh6s9rjp/W8dK3F
   Q=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: xsCZRPnvS8x0h9qUVyFDyyoY6+NMqd/S0gGxmrmM7N3EUiFQ91oID8zBaWKjls/YMgYUPiplbo
 QxQzaKA8cUuybSz0kS/AcQrd2alNkom77F6YSNUfMr7Vht388UNM9mJZKkGTg5Re0ZtZ3yiTd3
 hwSvAWWru1arJgNvY/VrFQNCv4W4oknYnRxP1nj64uL3/3Y0XkbuW1jifgnzs5GUmLxlQZiXl3
 MOtBV2jR0qoCCGUGhExcZXxLgAaRXVv6unG+0CZq4PrqgyXpdVvmq+jqAtiNuVydG1U7OytgoB
 ZjBqsrRxJ6OqcP594DtIILnL
X-SBRS: 5.2
X-MesageID: 63032653
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:Nwtqka75ZZjuMRKrsSt/XAxRtNXAchMFZxGqfqrLsTDasY5as4F+v
 mocXziGb/fbMTb3fNglPYTj9EMGsceAmNc3QFdv+Sw1Hi5G8cbLO4+Ufxz6V8+wwmwvb67FA
 +E2MISowBUcFyeEzvuV3zyIQUBUjclkfJKlYAL/En03FV8MpBsJ00o5wbZg2dcw2LBVPivW0
 T/Mi5yHULOa82Yc3lI8s8pvfzs24ZweEBtB1rAPTagjUG32zhH5P7pGTU2FFFPqQ5E8IwKPb
 72rIIdVXI/u10xF5tuNyt4Xe6CRK1LYFVDmZnF+A8BOjvXez8CbP2lS2Pc0MC9qZzu1c99Z8
 sVQvrioSQQSPvfMis0GSBZANH5gMvgTkFPHCSDXXc27ykTHdz3nwul0DVFwNoodkgp1KTgQr
 7pCcmlLN03dwbLtqF64YrAEasALBc/nJo4A/FpnyinUF60OSpHfWaTao9Rf2V/cg+gQRq6FP
 ZREMlKDajzORBhoOUgaNqg9jd6w31nZfDNIj3Ks8P9fD2/7k1UqjemF3MDuUsyHQ4BZk1iVo
 krC/n/lGVcKOdqH0z2H/3mwwOjVkkvTR4Y6BLC+sPlwjzW7xGYeFRkXXluTuuSihwi1XNc3F
 qAP0nNw9+5orhXtF4SjGU3jyJKZgvICc+BADuYe8AGO8aqO4xSwHXMLVhkedtNz4afaWgcW/
 lOOmtroAxlmv7uUVW+R+9+okN+iBcQGBTRcPHFZFGPp9/Gm+dhu1UyXEr6PBYbo1oWdJN3m/
 9ydQMHSbZ03hNVD6ai09Euvb9mE9smQFV5dCuk6swuYAuJFiGyNOtbABbvzt68owGOlor+p5
 iJsdy+2t7hmMH11vHbRKNjh5Znwjxp/DBXSgER0A74q/Cm39niocOh4uW8ifxo5bZ5UJ261M
 Sc/XD+9ArcJZhNGiocsO+qM5zkCl/C8RbwJqNiJBjaxXnSBXFDep3w/DaJh92vsjFItgckC1
 WSzKq6R4YIhIf0/llKeHr5FuZdyn3xW7T6NGfjTkkr2uZLDNC/9YepUazOmM7FmhJ5oVS2Iq
 b6zwePQlUUGOAA/CwGKmbMuwacidCZjXc6u950IJ4Zu4GNOQQkcNhMY+pt4E6RNlKVJjObYu
 Ha7X05T0l3kgnPbbw6NbxhehHnHB/6TdFo3Yn4hO0iGwX8mbdr95asTbcJvL7Im6PZi3bh/S
 PxcI5eMBfFGSzLm/TUBbMai8Nw+JUrz3Q/ebTC4ZDUffoJ7Q1Cb8NHTYQaypjIFCTC6tJVir
 uT4hB/bW5cKWy9rEN3SNKC011q0sHVEwLByUkLEL8N9YkLp9IQ2eSX9guVue5MHKAnZxyvc3
 AGTWE9Kqe7Iqo4z0d/ImaHb8Nv5T7ogRhJXRjCJ46y3OC/W+nuY7bVBCOvYLyrAUG7U+bm5Y
 bkHxf/LL/Bazk1BtJBxEug3wPtmtcfvvbJT0i9tAG7PMwawErplL3SLgZtPu6lKyuMLsAe6Q
 BvSqNxTOLHPM8L5Cl8BYgEia73bh/0TnzDT69UzIVn7u3ArrObWDx0KMknekjFZIZt0LJghk
 LUot8Mh4gCijgYnb4SdhSdO+mXQdnENXs3LbH3B7FMHXubz9mx/XA==
IronPort-HdrOrdr: A9a23:fKkGlKjXFetcOHCiqp8YUt2dlXBQX3513DAbv31ZSRFFG/FwyP
 rAoB1L73PJYWgqNU3IwerwRZVpQRvnhPtICRF4B8btYOCUghrVEGgE1/qi/9SAIVywygc578
 ldmsdFeaTN5DRB/KXHCUyDYqwdKbq8geCVbIXlvg9QpGhRAskKhWYYNu/YKDwMeOAvP+tiKH
 P23Lsim9PUQwVwUi3NPAhjYwGsnayoqLvWJTo9QzI34giHij2lrJTgFQKD4xsYWzRThZ8/7G
 nsiWXCl+aemsD+7iWZ+37Y7pxQltek4MBEHtawhs8cLSipohq0Zb5mR6aJsFkO0aOSARcR4Z
 zxSiUbToNOAkDqDyeISNzWqlDdOQMVmjvfIJmj8CPeSILCNWkH4oF69P1km1PimjQdVZdHof
 92Niuixupq5VmrplWN2/HYEx5tjUa6unwkjKoaiGFeS5IXbPtLoZUY5149KuZLIMvW0vFuLA
 BVNrCW2B+WSyLvU1nJ+m10hNC8VHU6GRmLBkAEp8yOyjBT2HR01VERysATlmoJsMtVcegJ28
 3UdqBz0L1eRM4faqxwQO8HXMusE2TIBRbBKnibL1jrHLwOf3jNt5n06rMo4/zCQu1E8LIi3J
 DaFF9Iv287fEzjTcWIwZ1Q6xjIBH6wWDz8o/surqSReoeMMoYDHRfzOmzGovHQ1Mn3WPerKM
 pbEKgmdsPeEQ==
X-IronPort-AV: E=Sophos;i="5.88,330,1635220800"; 
   d="scan'208";a="63032653"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JZRqhXkv4fuiFImsD8wFjIh7Bb52yymKdmqv8TpZ8DlnXsE2V7JB638suv75B11qV/uM5Kcy/6yRFkMRsrt1hp7Ni5XZYuvpyY3QnLXdX7HHwOOqW96UMSwp9m4UWxd2A4cyv0SV8ic2f8INr6qoYJZ3Zh0KlZH45cKxzoFGoF4ZgXksBhzUEpC2KmD5mn/4qFxwas97TYWbYMupWkdGo5s6wAcFR2rDBmAohR8nSDJJAz4Dm37hEpzxCJcGAIlG96iRqaKOHkp1611V+GQEQaOj1CjcPKtzJf1c/OZCjRYc6GcmPmjdJo1txchnuOMCYD/etIGpKgXhCu5NiBRqow==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EwMdjPZhW9E8oMhCWkr4EngvnoYzcRTUv9PqiHWtf80=;
 b=aCC6G9BzzhfY4Zrz7W7wYFs3vrMQykOg1X5lsElG53TrMXAaCmzzK9Swq8fsvXJVTkhnW/5NLJUGZ5kvlvtitdYBbUhqJKNbSCiq4jSluQwxTqpRlD9P/oPU2P+luIq2FrJTlFjvumI18+YR03BnTkBVpm4GXYiwQrLLiWmGbsVOhqVe+oY7FVh4kPFUhXp3gl9MarHnEQcouWOg1SHhdZ50Nc9hQqV2kVDlenY0k8yp793FNa/PvCNIL3ecF6Xa0/dhtNHkGRyAwcjJQpIbTPobTF2R/kfAFA/kNykOsGDEE0uCueF/xFYtA7nzlwFj2xlHLd2rNjg/2JzEhI92NA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EwMdjPZhW9E8oMhCWkr4EngvnoYzcRTUv9PqiHWtf80=;
 b=u86xhpqOLkeccBJZv+Huki6JZaRkVFgDI/1FEiqB1Jz+IgcG35PBm96kZ3QfHuTHQzrexKOX45zrc8leTzt3mb+rRWtaPy5t1nQLGLeQ/Yp0XmqlzqYv5HsHnQtiP1ixLfDuIa1wlLBqfDss39dIqIEOqg/jwFZBnfl8JgrRXns=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Xen-devel
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 7/9] x86/svm: VMEntry/Exit logic for MSR_SPEC_CTRL
Thread-Topic: [PATCH v2 7/9] x86/svm: VMEntry/Exit logic for MSR_SPEC_CTRL
Thread-Index: AQHYFEsgduRKpPrES0uMVuwf+i5+76x881mAgAAUlgA=
Date: Mon, 31 Jan 2022 11:47:03 +0000
Message-ID: <6f55aba5-f109-b530-191f-b6215cc91419@citrix.com>
References: <20220128132927.14997-1-andrew.cooper3@citrix.com>
 <20220128132927.14997-8-andrew.cooper3@citrix.com>
 <46bb7297-cdf1-2196-a261-4357621792d7@suse.com>
In-Reply-To: <46bb7297-cdf1-2196-a261-4357621792d7@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.1
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: b491d581-3236-4f90-113d-08d9e4af6614
x-ms-traffictypediagnostic: SN6PR03MB4064:EE_
x-microsoft-antispam-prvs: <SN6PR03MB406446DCF9C3DC6E64035499BA259@SN6PR03MB4064.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: XeyMYUmC4KZkrcqtVJ9L4/2wYV+774MSGvPhJWDFn8xMyAw8+uONgRvpxFMgQWYji/MzAq7Qqq1p4JYYH6ycW6FMu3HO+9TzCSbQ1wJbkrdTTZmREvkeDdn1Q52iRqMFlxHsGYJ1x9cZpqDKRje9l47POVyzRm35kuDfNV5XUqr1hsRl5TRpHp5EwkBhEjFbh7dz+02i/el9kj1r/4bmFtnbPokj7Vyryb6BVvk0IUCyLRMPd767Zr91CdQ3Y64UK+aDRwLdauSw920o5cXqPmt4FQ4drzqDu5YPlQQufbraVtxFFvg55CU6FBcmor9o7Gzlx/hUNfkn1aq8Yq+qLW4rUi7oK9auIUremTGegMXYXR5H12Oirj3oPO6yV0SponQ4G6WETZ0B6r5Xg+vtb+VA2d97kz7x9t7uSutjS1KVW+D/KbvBPiU/xgEmXnKgYqaJ2yBaSyVg9CKAYPv0Gywj8mohxiwnPEOw4DQLxoIrL2scmi/SnhDCtN33gcfcvjwarzCdh5n6+Fhc2flYPWJN2x/n5FhkEeOFIVnzR7QvSo1VbKMretykxvh9/vXYgtjG/pGeBi0745jJZG81mGx4qncDCcIAssJ26n87U6Q5MDmocWXR6EvARMxkP+wJ3RqajIxsOJWFfAD5LnmLuNh/80ggwV59PiGJSX1Rhp3ks7UtIfOVI86QbhrvkHlStC5wxxImwWFoPDGDgwCrL1XmEHytSS7qH9+baYEZyYt7EvbiwttYhVv8+XNPQ87t7qxaAqR36eH+t50Bovl+sw==
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:(13230001)(4636009)(366004)(82960400001)(26005)(186003)(83380400001)(38070700005)(31686004)(36756003)(5660300002)(2906002)(54906003)(6512007)(53546011)(6506007)(8676002)(66946007)(8936002)(76116006)(4326008)(91956017)(316002)(66476007)(66556008)(64756008)(66446008)(31696002)(2616005)(508600001)(71200400001)(6486002)(86362001)(38100700002)(122000001)(6916009)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YVlLZGg1ODlMa041Z1Zqa2g3ZmFCL0NOblJ4dnpaczdIWFlselAzZXJ0ZXhr?=
 =?utf-8?B?cVhTNVIwelFNL0h1d1BNQUtoNEZlNGlQdVdsL2phOCs5MFZ3V1dPelNlZk10?=
 =?utf-8?B?c2g2TkxQdUczaVo3OVIvS2ZHRGdSa3U3UlpETFVlKzd3SmwxaFlwRlhtSmFP?=
 =?utf-8?B?LzlLQi8rWno5a3NrT04rdzN3dUsrZjZNVGRlZ0tJbGdxSWhNWXZhN3R6d0E0?=
 =?utf-8?B?a1J4eXdqVFZHTVFsUHZqNFp3K3RQSFdqSVhwQ0hvVzh1ZisvTFZYR2ZlOHJK?=
 =?utf-8?B?ak5ZV1pPS3pFRHQvenk0SVM1OElSQlpGNEsxT1p4VW1ZdDhaam5zcCtYZU5Q?=
 =?utf-8?B?NFR6RDZZNjJjUXNOT3I2QmJ4ZkJLK2hSNDE2NDJYYmRWQXJlakkzUFpROW5X?=
 =?utf-8?B?aEpTc0Ryc3pwYVpuVGtTSUVleXBBSzdZTFZkd0lyNy9IRmtXL1VhZE0yNFhU?=
 =?utf-8?B?OEgrcDAraHJkVTBsaENXL1VYdU05a05uOWJpOFpVczJQeXhkVHRUWkNiMU5L?=
 =?utf-8?B?TGRxbHJOU0dKRTUvMjdKNFhRb3dEMUd4cmpNQ3VlQmVHYXJwR1hCalhFOWdB?=
 =?utf-8?B?OG1NSzRtdllIbHlhemVWc3VNS0NnN1RpQmgyQmRZNFdYdGx6SEJtdVVrc2pW?=
 =?utf-8?B?TXZEUEFmRGlSL3FvNHpUNEtpTlZuQXd0UmFtalRpUHF5WlV1V2IxVGlPdWJL?=
 =?utf-8?B?eWJDUGRObmdDTXc3N1NPakNBN0d0M3dUbUxwUFg2QU5XN005cUlZWk5NeVZz?=
 =?utf-8?B?WVAvVC9YaG00WHVIbHM3alhqTE1heHBKUHFvSFk0QVJ2NlN0eHZ1RUtZSDFC?=
 =?utf-8?B?Z2RHUllxczBZcDFYUmRId0RwOXRQakMvNVAzcWZEd1lUNVNQV1phUlBZd3I3?=
 =?utf-8?B?ck9QNEdPMThSS1J0UW9TKzlJdldRRUEvNUdVWm9acVU3OEprOE42RFNpYWxm?=
 =?utf-8?B?MXM0SXl4UTFaTEhab01OM3ozZzIvaGViV2VqRXdmNFhOM29MdHIzb25yQXUv?=
 =?utf-8?B?TzVlQjI4OWlNRVVETEJwVkxKb2p2a2VCYnpBOXBMK0RXejh1QzFFc0o2Vmdi?=
 =?utf-8?B?TktBQzkwR1ZmV1RVVmtVTC8rQTkrWEh5SFR5RlpWYUJoZXl2blY4YmNaQjV1?=
 =?utf-8?B?d1V3Nmo1M210YnlGVWpSdXAycjBtR0RsbXFnU2RuZHpaM05LZVpDTDR5cGJF?=
 =?utf-8?B?WEhYaTBibGU2TWs0UTQ0ZVJUSDBJRENzbWNnUTlLQ0NHR2M0Q0g1TU0zcVJD?=
 =?utf-8?B?am9CYVFLaG5jb0JQSEUyRENYNXYwUjNuYUFaUTVKcEV1SE9UaFEzL0FlcnpT?=
 =?utf-8?B?YXFOWlBaN2pWYTBpb1RqVkdnMHkxY3k2UUN2cnBJVDRMRkVPYTBXdTN1OWd5?=
 =?utf-8?B?SVJFaFZOZnA3aFcveGFhaGJQejlmM3VtZ2J1ZVVVV3pMUXFrTXRDZngwS2ta?=
 =?utf-8?B?VklITy81R05HR3c2SVlkUEpxUXZROUNaL015bFI2WHhOYXk3NzZwVURTMlpH?=
 =?utf-8?B?T1JncDd5YUx6a2RSREJWQzhkVGZQZHd1a2M1MzJyQ01kMGFtUEtTNlhPQjBy?=
 =?utf-8?B?ZDE5akRXZGM0b0dxbHJ1aE9LMnNHUnRlWnFkaTNoVmhUbEZrT0NGc0pVTnhh?=
 =?utf-8?B?aGQ5S1daa3U4L2dkNy9pMUs2MzMvQ1NDSjBXeENxS090c3BsTDVybW5qT2tn?=
 =?utf-8?B?SWIwRm0xakNwQndFdEdpU2JpcjFsYk95VldVUm8zQ1VROFQ1eGYwd1ExclhD?=
 =?utf-8?B?eDlWUDR4dU95SWJyK1VmZSticEtTNjZpZ3d6anBjSkU3ZlFDUXBQTVhqVHFU?=
 =?utf-8?B?SU9Ecm5ERXdQN1dPVWNqRVZVVDVJN20vdkJOcFIzbTczWTJGUFNmSUZXQWE2?=
 =?utf-8?B?cDZBcUdrVVo4TXM3UldWU3k5OFV3L0taQklOMWNadFBya0JvUzc4NmVrekNm?=
 =?utf-8?B?OForTk9ZQ09EQkgydVlSdm51aUk3ZHpLaThZZUdJZzRpcVIrUHM0WkFFZlRC?=
 =?utf-8?B?NW94eFI2d1NCK05tcDNiTDY5NXNmcmVRZlBOdWxDUWVadEhTblBjODRsRkRP?=
 =?utf-8?B?RUtkNjhGR3pzSE1KQlRJV2tBU1MxTXBqK0I3dUpuSGRRVDR3TXZKYUwzeDc1?=
 =?utf-8?B?WTA5WjhJVm9NZHlHcGtPanVKTEdkTnh1RDl2ZFE2QWNERm41OXlBOUhseDdv?=
 =?utf-8?B?UXpmbFA2QzhPc2kzQWZDNVB0b1h4VUhSdTBYZEFlSUc3SFRlNGJZSEVrblVx?=
 =?utf-8?B?OUVWY2hrSnZ5cS9LczZNbHJvWHlnPT0=?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <DFF066FF3D696543A93AB3C8E0AD7F85@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b491d581-3236-4f90-113d-08d9e4af6614
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2022 11:47:03.1543
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: JIu9nZNFgYKTBaSTIVO0WbX6FP1w8rkGeXv4q7R8MIv7O8n5kNKt2NmBrXRv+E8BY3fXDyGTp1E8EUn8eEx7kkh5B8aYeptsJRDsCwf5u/g=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR03MB4064
X-OriginatorOrg: citrix.com

T24gMzEvMDEvMjAyMiAxMDozMywgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDI4LjAxLjIwMjIg
MTQ6MjksIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+PiBIYXJkd2FyZSBtYWludGFpbnMgYm90aCBo
b3N0IGFuZCBndWVzdCB2ZXJzaW9ucyBvZiBNU1JfU1BFQ19DVFJMLCBidXQgZ3Vlc3RzDQo+PiBy
dW4gd2l0aCB0aGUgbG9naWNhbCBPUiBvZiBib3RoIHZhbHVlcy4gIFRoZXJlZm9yZSwgaW4gcHJp
bmNpcGxlIHdlIHdhbnQgdG8NCj4+IGNsZWFyIFhlbidzIHZhbHVlIGJlZm9yZSBlbnRlcmluZyB0
aGUgZ3Vlc3QuICBIb3dldmVyLCBmb3IgbWlncmF0aW9uDQo+PiBjb21wYXRpYmlsaXR5LCBhbmQg
Zm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMgd2l0aCBTRVYtU05QIGd1ZXN0cywgd2Ugd2FudCB0aGUN
Cj4+IGFiaWxpdHkgdG8gdXNlIGEgbm9uemVybyB2YWx1ZSBiZWhpbmQgdGhlIGd1ZXN0J3MgYmFj
ay4gIFVzZSB2Y3B1X21zcnMgdG8gaG9sZA0KPj4gdGhpcyB2YWx1ZSwgd2l0aCB0aGUgZ3Vlc3Qg
dmFsdWUgaW4gdGhlIFZNQ0IuDQo+Pg0KPj4gT24gdGhlIFZNRW50cnkgcGF0aCwgYWRqdXN0aW5n
IE1TUl9TUEVDX0NUUkwgbXVzdCBiZSBkb25lIGFmdGVyIENMR0kgc28gYXMgdG8NCj4+IGJlIGF0
b21pYyB3aXRoIHJlc3BlY3QgdG8gTk1Jcy9ldGMuICBUaGUgbG9hZGluZyBvZiBzcGVjX2N0cmxf
cmF3IGludG8gJWVheA0KPj4gd2FzIGFsc28gc3RhbGUgZnJvbSB0aGUgdW51c2VkIG9sZCBjb2Rl
LCBzbyBjYW4gYmUgZHJvcHBlZCB0b28uDQo+Pg0KPj4gSW1wbGVtZW50IGJvdGggcGllY2VzIG9m
IGxvZ2ljIGFzIHNtYWxsIHBpZWNlcyBvZiBDLCBhbmQgYWx0ZXJuYXRpdmUgdGhlIGNhbGwNCj4+
IHRvIGdldCB0aGVyZSBiYXNlZCBvbiBYODZfRkVBVFVSRV9TQ19NU1JfSFZNLiAgVGhlIHVzZSBv
ZiBkb3VibGUgYWx0ZXJuYXRpdmUNCj4+IGJsb2NrcyBpcyBkdWUgdG8gYSBxdWlyayBvZiB0aGUg
Y3VycmVudCBpbmZyYXN0cnVjdHVyZSwgd2hlcmUgY2FsbA0KPj4gZGlzcGxhY2VtZW50cyBvbmx5
IGdldCBmaXhlZCB1cCBmb3IgdGhlIGZpcnN0IHJlcGxhY2VtZW50IGluc3RydWN0aW9uLiAgV2hp
bGUNCj4+IGFkanVzdGluZyB0aGUgY2xvYmJlciBsaXN0cywgZHJvcCB0aGUgc3RhbGUgcmVxdWly
ZW1lbnRzIG9uIHRoZSBWTUV4aXQgc2lkZS4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBBbmRyZXcg
Q29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0KPiBBZ2FpbiB0ZWNobmljYWxseToN
Cj4gUmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCg0KVGhhbmtz
Lg0KDQo+IEJ1dCAuLi4NCj4NCj4+IC0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vc3ZtL2VudHJ5LlMN
Cj4+ICsrKyBiL3hlbi9hcmNoL3g4Ni9odm0vc3ZtL2VudHJ5LlMNCj4+IEBAIC01NSwxMSArNTUs
MTIgQEAgX19VTkxJS0VMWV9FTkQobnN2bV9oYXApDQo+PiAgICAgICAgICBtb3YgICVyc3AsICVy
ZGkNCj4+ICAgICAgICAgIGNhbGwgc3ZtX3ZtZW50ZXJfaGVscGVyDQo+PiAgDQo+PiAtICAgICAg
ICBtb3YgVkNQVV9hcmNoX21zcnMoJXJieCksICVyYXgNCj4+IC0gICAgICAgIG1vdiBWQ1BVTVNS
X3NwZWNfY3RybF9yYXcoJXJheCksICVlYXgNCj4+ICsgICAgICAgIGNsZ2kNCj4+ICANCj4+ICAg
ICAgICAgIC8qIFdBUk5JTkchIGByZXRgLCBgY2FsbCAqYCwgYGptcCAqYCBub3Qgc2FmZSBiZXlv
bmQgdGhpcyBwb2ludC4gKi8NCj4+IC0gICAgICAgIC8qIFNQRUNfQ1RSTF9FWElUX1RPX1NWTSAg
IChub3RoaW5nIGN1cnJlbnRseSkgKi8NCj4+ICsgICAgICAgIC8qIFNQRUNfQ1RSTF9FWElUX1RP
X1NWTSAgICAgICBSZXE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xvYjogQyAgICovDQo+
PiArICAgICAgICBBTFRFUk5BVElWRSAiIiwgU1RSKG1vdiAlcmJ4LCAlcmRpOyBtb3YgJXJzcCwg
JXJzaSksIFg4Nl9GRUFUVVJFX1NDX01TUl9IVk0NCj4+ICsgICAgICAgIEFMVEVSTkFUSVZFICIi
LCBTVFIoY2FsbCB2bWVudHJ5X3NwZWNfY3RybCksIFg4Nl9GRUFUVVJFX1NDX01TUl9IVk0NCj4g
SXMgdGhlcmUgYSByZWFzb24gdG8gdXNlIGEgbWFjcm8gZm9yIGNvbnZlcnRpbmcgdG8gYSBzdHJp
bmcgaGVyZSBhdA0KPiBhbGw/IFRoZXJlIGFyZSBubyAiaW5uZXIiIG1hY3JvcyBoZXJlIHdoaWNo
IG1pZ2h0IG5lZWQgZXhwYW5kaW5nLiBBbmQNCj4gImJyZXZpdHkiIChhcyB5b3UgaGF2ZSBpbiB0
aGUgcmV2IGxvZykgd291bGQgY2FsbCBmb3INCj4NCj4gICAgICAgICBBTFRFUk5BVElWRSAiIiwg
Im1vdiAlcmJ4LCAlcmRpOyBtb3YgJXJzcCwgJXJzaSIsIFg4Nl9GRUFUVVJFX1NDX01TUl9IVk0N
Cj4gICAgICAgICBBTFRFUk5BVElWRSAiIiwgImNhbGwgdm1lbnRyeV9zcGVjX2N0cmwiLCBYODZf
RkVBVFVSRV9TQ19NU1JfSFZNDQoNCkdvb2QgcG9pbnQuwqAgSSdsbCBzd2l0Y2ggdG8gcGxhaW4g
c3RyaW5ncy4NCg0KPg0KPg0KPj4gQEAgLTg2LDggKzg2LDEwIEBAIF9fVU5MSUtFTFlfRU5EKG5z
dm1faGFwKQ0KPj4gIA0KPj4gICAgICAgICAgR0VUX0NVUlJFTlQoYngpDQo+PiAgDQo+PiAtICAg
ICAgICAvKiBTUEVDX0NUUkxfRU5UUllfRlJPTV9TVk0gICAgUmVxOiBiPWN1cnIgJXJzcD1yZWdz
L2NwdWluZm8sIENsb2I6IGFjICAqLw0KPj4gKyAgICAgICAgLyogU1BFQ19DVFJMX0VOVFJZX0ZS
T01fU1ZNICAgIFJlcTogICAgICAgICAgICAgICAgICAgICAgICAgICBDbG9iOiBDICAgKi8NCj4+
ICAgICAgICAgIEFMVEVSTkFUSVZFICIiLCBET19PVkVSV1JJVEVfUlNCLCBYODZfRkVBVFVSRV9T
Q19SU0JfSFZNDQo+PiArICAgICAgICBBTFRFUk5BVElWRSAiIiwgU1RSKG1vdiAlcnNwLCAlcmRp
KSwgWDg2X0ZFQVRVUkVfU0NfTVNSX0hWTQ0KPj4gKyAgICAgICAgQUxURVJOQVRJVkUgIiIsIFNU
UihjYWxsIHZtZXhpdF9zcGVjX2N0cmwpLCBYODZfRkVBVFVSRV9TQ19NU1JfSFZNDQo+IFNhbWUg
aGVyZSB0aGVuLCBvYnZpb3VzbHkuDQo+DQo+PiAtLS0gYS94ZW4vYXJjaC94ODYvaHZtL3N2bS9z
dm0uYw0KPj4gKysrIGIveGVuL2FyY2gveDg2L2h2bS9zdm0vc3ZtLmMNCj4+IEBAIC0zMDg2LDYg
KzMwODYsMzMgQEAgdm9pZCBzdm1fdm1leGl0X2hhbmRsZXIoc3RydWN0IGNwdV91c2VyX3JlZ3Mg
KnJlZ3MpDQo+PiAgICAgIHZtY2Jfc2V0X3ZpbnRyKHZtY2IsIGludHIpOw0KPj4gIH0NCj4+ICAN
Cj4+ICsvKiBDYWxsZWQgd2l0aCBHSUY9MC4gKi8NCj4+ICt2b2lkIHZtZXhpdF9zcGVjX2N0cmwo
c3RydWN0IGNwdV9pbmZvICppbmZvKQ0KPj4gK3sNCj4+ICsgICAgdW5zaWduZWQgaW50IHZhbCA9
IGluZm8tPnhlbl9zcGVjX2N0cmw7DQo+PiArDQo+PiArICAgIC8qDQo+PiArICAgICAqIFdyaXRl
IHRvIE1TUl9TUEVDX0NUUkwgdW5jb25kaXRpb25hbGx5LCBmb3IgdGhlIFJBU1s6MzJdIGZsdXNo
aW5nIHNpZGUNCj4+ICsgICAgICogZWZmZWN0Lg0KPj4gKyAgICAgKi8NCj4+ICsgICAgd3Jtc3Io
TVNSX1NQRUNfQ1RSTCwgdmFsLCAwKTsNCj4+ICsgICAgaW5mby0+bGFzdF9zcGVjX2N0cmwgPSB2
YWw7DQo+PiArfQ0KPj4gKw0KPj4gKy8qIENhbGxlZCB3aXRoIEdJRj0wLiAqLw0KPj4gK3ZvaWQg
dm1lbnRyeV9zcGVjX2N0cmwoY29uc3Qgc3RydWN0IHZjcHUgKmN1cnIsIHN0cnVjdCBjcHVfaW5m
byAqaW5mbykNCj4+ICt7DQo+PiArICAgIHVuc2lnbmVkIGludCB2YWwgPSBjdXJyLT5hcmNoLm1z
cnMtPnNwZWNfY3RybC5yYXc7DQo+PiArDQo+PiArICAgIGlmICggdmFsICE9IGluZm8tPmxhc3Rf
c3BlY19jdHJsICkNCj4+ICsgICAgew0KPj4gKyAgICAgICAgd3Jtc3IoTVNSX1NQRUNfQ1RSTCwg
dmFsLCAwKTsNCj4+ICsgICAgICAgIGluZm8tPmxhc3Rfc3BlY19jdHJsID0gdmFsOw0KPj4gKyAg
ICB9DQo+PiArDQo+PiArICAgIC8qIE5vIFNwZWN0cmUgdjEgY29uY2VybnMuICBFeGVjdXRpb24g
aXMgZ29pbmcgdG8gaGl0IFZNUlVOIGltbWluZW50bHkuICovDQo+PiArfQ0KPiBUaGVzZSBsaXZp
bmcgaW4gU1ZNIGNvZGUgSSB0aGluayB0aGVpciBuYW1lcyB3YW50IHRvIGF2b2lkIHN1Z2dlc3Rp
bmcNCj4gdGhleSBjb3VsZCBhbHNvIGJlIHVzZWQgZm9yIFZNWCAoaXJyZXNwZWN0aXZlIG9mIHVz
IG5vdCBtZWFuaW5nIHRvIHVzZQ0KPiB0aGVtIHRoZXJlKS4gT3IgZWxzZSB0aGV5IHdhbnQgdG8g
bW92ZSB0byBjb21tb24gY29kZSwgd2l0aCBjb21tZW50cw0KPiBzbGlnaHRseSBhZGp1c3RlZC4N
Cg0KSSdsbCBhZGQgc3ZtXyBwcmVmaXhlcy7CoCBJIGNhbid0IHNlZSB0aGVzZSBiZWluZyB1c2Vm
dWwgZWxzZXdoZXJlLg0KDQp+QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 11:53:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 11:53:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263054.455606 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEVFk-00013K-ME; Mon, 31 Jan 2022 11:53:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263054.455606; Mon, 31 Jan 2022 11:53:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEVFk-00013D-JG; Mon, 31 Jan 2022 11:53:48 +0000
Received: by outflank-mailman (input) for mailman id 263054;
 Mon, 31 Jan 2022 11:53:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Fky=SP=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nEVFj-000137-BX
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 11:53:47 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 71dd4b07-828c-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 12:53:46 +0100 (CET)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2057.outbound.protection.outlook.com [104.47.14.57]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-2-hRGSsmZEM5yIcH1hG8WhvQ-1; Mon, 31 Jan 2022 12:53:44 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DB7PR04MB4812.eurprd04.prod.outlook.com (2603:10a6:10:1f::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.20; Mon, 31 Jan
 2022 11:53:42 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45%6]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 11:53: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: 71dd4b07-828c-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643630025;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=cmFb5hq5X/1TPJJ152bim2bVrQUQ07lwNlLYeO5hMKI=;
	b=jQ8PdRgpa/Q0H7h4rhn6mbDXb/JzcOwVYBUHs4IT94ALaRywQc4uhr3YEDt+l8sOw8Ck6Q
	N5Q8dtzRCY/Z99i4CpTtlUCFXlmZf8tDvNumsyU2gE0aItM7wX0xWyWCQMlyjLdZ0LSbY9
	GSa8/mbR9KfRW+wiTkoS81yJooR631M=
X-MC-Unique: hRGSsmZEM5yIcH1hG8WhvQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CXgxfWaMNqrxXw56GiAos/IwAOF84x5yosXBDX6jZBHeFtDi2AUDZ06pfDykR26jaLXDmQz6iuM4zlMMD7BxnxoyXp4HgYxbj8bHHCgMvgXs1aE6tNt2U5/wAU8U0EhFxG/YsvU9XwNqsegW54t1IYc9PS8dkIL5JgV1RU1GhpzcXX/IHmMU54hdBXK5QmwTJ3GO6NCkdvCXhwKB/14hIGVPdynqlWLTGy43fkfp/39rU46OS2j62DxYZXMwHmWzqx33sTFNWPB2oGoqhjLXNWRDcW2rMsjiONlrqPfw4gjFELdUyRbN0tiV5hywiCohzTCUADTYOMCzQ+eqjI/Hlg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cmFb5hq5X/1TPJJ152bim2bVrQUQ07lwNlLYeO5hMKI=;
 b=eAoSt/VbgzTPCLZWJOBR6DuFxFp7LxoHxUADrvKJXPbjdMtTjSBNiFeH8Q59q4D6H3paHu+/MRhlFny8FhrnwRg83yGTXWCJFh6CkmhvFWzgt9xV6Z7xpj3zLzBPqKQmcEiO0OSLpyZUnkK6YCSSCtRgYXWvq+f7+DVw93nLKcpvtT8R05MhuEibWSOrWoSYBPwntrJdTh6mWWjLCzt7Xd4d3ljSX+SfXEbdtK8SlMBWujeRoFr8o1X4uIkGywGK0/T0vzO+11SWoPCXSmvTbWYyuV4Buc622W1VoUtAG/ibTgq2rnhuSV9NNOZbuhbH3EtN7/RqubZS36i5smJPag==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <08317caa-517f-e6ed-ea2c-84423e261299@suse.com>
Date: Mon, 31 Jan 2022 12:53:42 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 1/2] xen+tools: Report Interrupt Controller Virtualization
 capabilities on x86
Content-Language: en-US
To: Jane Malalane <jane.malalane@citrix.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20220127160133.11608-1-jane.malalane@citrix.com>
 <20220127160133.11608-2-jane.malalane@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220127160133.11608-2-jane.malalane@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR0301CA0032.eurprd03.prod.outlook.com
 (2603:10a6:20b:469::30) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b0cb6402-4bef-4adf-4021-08d9e4b053e1
X-MS-TrafficTypeDiagnostic: DB7PR04MB4812:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-Microsoft-Antispam-PRVS:
	<DB7PR04MB48122809A3A9F9997139E667B3259@DB7PR04MB4812.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:
	wXyZeAtIjUM7U1FkFTyiozM7pH/c7DoKxZwTPX6wga4lc607TFfTjUEgl7qBC/jRR2volaKT0DwQ+uKeDhnXAzKw6kLJUWKx8eTD2mXE64IPGY323Ay8wlC88DtWCTbDDNe4xRioT2iNy6Q96C9C3/BcqdOrjTlgcotFBxWZN7/VUjucZpkj2D46Zde16GSANg3+NrcVbFg9VD9/WuEA2lLb39HOTTbiAr5Cv99QvrluveEmKwS0Bv8kbyGlWHdcQdeP89qw0LyQ8p9tg1+S+xhAxcN05fuinvgrlptnDgxVYUqubPVr9X/j3TOxC7L2TcP5RaxSWYudxzthvme08BTy/JZjqIx9f5ocLbbnTaMiQbGaifRRJzwj2/wF9l10rdx2SOnm3UzPVc8QU8BZRrNio5oQjKNVB+JXB8KPhi26BSlAZnv2Pe/o4FRVHao58dAluQGkDDPNyNDjaQ2au7FvNpaA/lT8BEPag11LFi8UgwtNExqPws4vVBqTGmNJhGa2iXFCriej1mEyRkt/UWRSs4WtGFWjYl0iXJCI4HRkmwmd6ChcgnJPpIdizq90yRU27DVTdlYUdLU74Z52uJDkIhxgg1tNDw6zBJJjiV5IzvwxbKby+HM/GQQYsMrm3+vQWcIPenyfQIdjC96462w78NwfyWMXdIo5skviU0GgPWpbGP0Q59zIvINUci1H9oR1fmlJb4jeVzYiJxPidQy5YCKANNxCf42wPJU7Q92WqgmnUe3d+K9trcbeDe+9
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:(13230001)(366004)(6486002)(66556008)(66946007)(8936002)(316002)(6916009)(86362001)(54906003)(31686004)(38100700002)(4326008)(36756003)(8676002)(66476007)(31696002)(508600001)(53546011)(6506007)(83380400001)(5660300002)(6512007)(2906002)(7416002)(186003)(4744005)(26005)(2616005)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SnhTRmlVKzh6b1VlNm1XMFIxalNtL1RISTU5V0VwZlltMDM3TVppOWNlVXRn?=
 =?utf-8?B?YklJL2NtalpxdDhIRk1pUkpvdlBJZkpoTjRGV2RwL2VoM3owSVNXR3REU0pG?=
 =?utf-8?B?aGlWV1hwcFZGY3RmbUhlRnVBVHdrRFdPdzE2eVhhRHVLMlc1emlsU2NCdmhx?=
 =?utf-8?B?ZGkyZ1dUUlVleUZKU2hjMHpOVXpRTm5ybmZFU3ExNDc2QVZLL1drdVVkSW00?=
 =?utf-8?B?dTJISXNIWEFMNlUxYkV1ZEo2emFENUJpTGZaN0NNcXVHRTBWRFFsYW00a2hW?=
 =?utf-8?B?SVJKZlFUL05kMWZTZVpDOWFGd2ZUWWk0Sm90WUdPNkJ3dHo4VGJ6dzh2L1hZ?=
 =?utf-8?B?OEl0K3lWUzhXRllnOXdISWRkK1NVZExLZWg1Q2o1NlBmNFYyNWJtZ2gwUm9l?=
 =?utf-8?B?UFRtdjZDenZQVUlkTHNvaVIxaFQyTzFjeU0xL0dVV3U4eWxIZWw4NUk1RTRP?=
 =?utf-8?B?WlNQK2tGN1BXTTlKK091MGxjNGpaSUNISWJjREN2M0tLQjNyYmc3RTRzeXc1?=
 =?utf-8?B?VHRQY2dmSi9tSkprVHErZk9PZnlXOWJhQ0FOYVpVTXh1VzZVNnZWMVZQTXIr?=
 =?utf-8?B?ZzZUREMyQjMxeERJVUdpZnFuYXA4K1lBZ3hBaXFvM3BBN3Y4Z1RISHVoMWUv?=
 =?utf-8?B?N1p4OWpDRnlVb0g3TWtXMit0TW5CRjV2WG5taGxaeVhSWXl6L2Nja0RhN0Vy?=
 =?utf-8?B?N3kza2tUeVRQRUlaSUM2RFVhTVRuVGVjanlteVJXMnFkRUw2Tk5zUzBqQ0dy?=
 =?utf-8?B?eUd2SmkyeldFRm9TVzZCUjhvdmI3dHZRaXRuYm15dTdvem1tOTFqdkFvVUdq?=
 =?utf-8?B?cGZhblg4TCtRcDhVZDBrMHFLTkRIejcyUk5DUHpLYU5JS0F0Z0tLZng0T1Rk?=
 =?utf-8?B?WXdWK2Mzb3lZc2tWVUpxU1MxelRGTjZXWnA4dk52MFovU3FNTldDb1RleFRT?=
 =?utf-8?B?T3kvQmNXWXNQL2x5MFZqbFhTY29UZG0vSXc4aGhDY2gvNUFwMnFYMW8yQWh6?=
 =?utf-8?B?ZGhwdkRVOFAwVFZNT1UwT1Njc3pZamNzNlQreGJCVnhEbXMrTUJtZGpObFNC?=
 =?utf-8?B?VXVORXBCbTZuWlhXemZFTDdJUTFMNVQ3cjJrL2o0RVhxWndPNWdCZHd1UmVl?=
 =?utf-8?B?TEpJTVBHRGp0ZGc4WlRLSlpRNlkwUlJQT3luQ2wwZk54YnlnSndoRGZHT09Y?=
 =?utf-8?B?ZUhTZEY5TEdmR2FWd09vaFU4ZzNVbGdrVE9KMmk2OXVveU5MNXB6aXVjbTNP?=
 =?utf-8?B?ekc0MmxDWjgrVG5IQUh2dXI3UTBOTUN6RmhyMUtQbG04YmFMUUhRV3VPMERT?=
 =?utf-8?B?eStoN1FTOTBmV2lCUlFDS3VuYkdzOEZ6Zm05bWNmaUk4TldKcGdjM3hrU0pH?=
 =?utf-8?B?N3F2R2QxbUJ6WDZqRVZYWDNIYXM2N3RrRjBGSWRkNUFEREp6RlFMSmpnMkdC?=
 =?utf-8?B?Q21UWWFTY2lqYVRYUVBDRzE3NVpQb3A2N1dCZ2IyQWhoNitmTGZ1cDRrRS9y?=
 =?utf-8?B?cUNXMFVha1B4QUVLSzJEVjVidEZzcE05bHhkRGtsY3BLbXhwcFhzaGtkZU9j?=
 =?utf-8?B?NWRSSDFTVXNJWUdqaktlbm9kcjhPY2JLTmtaN0d6dEVJc0EyaFAzVU15Qi9Y?=
 =?utf-8?B?ajFmOHN2dGV5OXRyczJjYlZFNTN4OUUwZUllalF2WXNLM3lYWE13YTdEVUg0?=
 =?utf-8?B?REdvQzhtWlpCSFV4eklCeE9POW13UE9kNEcwczdMRTcvajBISGRYTEtoVm1O?=
 =?utf-8?B?SFROM2ZtdUJPM0x4ZVA3K2RybWY4VlVPMEQ4TFVIa2xhLzJoT0ppU1huYldv?=
 =?utf-8?B?U0s4S0gzWlVwRWRxOERNeHhvWVRFM1p4ZzE0R0xId1ZyQnRMNnVkSFM4UUcz?=
 =?utf-8?B?ZTBKRXp3RUxzTUtvWko3L2Jpblp4emVpVWdXdTNNaU1BdFpWcG5UY1FkcERX?=
 =?utf-8?B?S08zMngvWW8wTEg5NDBZNmwvVUU5NS9CY3B4SjlzMjZjSVpGdzUzVnNSbXBZ?=
 =?utf-8?B?ckhCTTIyemplQlFhajRPc0RXajJUZmRSY3ByR1o5Yk1RcjdLZWRlZHJpQXV0?=
 =?utf-8?B?QjZIT2VxWGsxZmg1allOWitOSTFPelkwWG50WFhvYVBOWWhRNTdQUWtOdzJt?=
 =?utf-8?B?NnFYRlZoa2JYRzFGUlMyK084WkRYK2Z4OW0zWDduMHNtMUkrOGQza3VycjFj?=
 =?utf-8?Q?oG5dVFcmI9eNIzjynCd6Zfo=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b0cb6402-4bef-4adf-4021-08d9e4b053e1
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 11:53:42.3377
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: i7fB5ZcDAU7xpjyldSPhflRSbUgQQ83ngMsDg8szhW8yN8pXiPYXP7Ctbh9rToZ6Njtp+L1Djk1FPIabs/Ya0Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB4812

On 27.01.2022 17:01, Jane Malalane wrote:
> --- a/xen/arch/x86/hvm/vmx/vmcs.c
> +++ b/xen/arch/x86/hvm/vmx/vmcs.c
> @@ -343,6 +343,12 @@ static int vmx_init_vmcs_config(bool bsp)
>              MSR_IA32_VMX_PROCBASED_CTLS2, &mismatch);
>      }
>  
> +    /* Check whether hardware supports accelerated xapic and x2apic. */
> +    assisted_xapic_available = cpu_has_vmx_virtualize_apic_accesses;
> +    assisted_x2apic_available = cpu_has_vmx_virtualize_x2apic_mode &&
> +                                cpu_has_vmx_apic_reg_virt &&
> +                                cpu_has_vmx_virtual_intr_delivery;

In patch 2 you modify this original related construct:

    virtualize_x2apic_mode = ( (cpu_has_vmx_apic_reg_virt ||
                                cpu_has_vmx_virtual_intr_delivery) &&
                               cpu_has_vmx_virtualize_x2apic_mode );

As a result I don't think the expression you use above is correct.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 31 11:54:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 11:54:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263059.455616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEVGi-0001b0-0C; Mon, 31 Jan 2022 11:54:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263059.455616; Mon, 31 Jan 2022 11:54: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 1nEVGh-0001at-TU; Mon, 31 Jan 2022 11:54:47 +0000
Received: by outflank-mailman (input) for mailman id 263059;
 Mon, 31 Jan 2022 11:54:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9KqZ=SP=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nEVGh-0001al-22
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 11:54:47 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 94a5a4fa-828c-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 12:54:45 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 94a5a4fa-828c-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643630085;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=I13JbV30Q84jMnuIxDGe1ht+ULzN4fbgLPo++bczqm0=;
  b=b8a1gQOs3QINN8ocYKbcurWWAjJmpgG5F727R30x0Z4NW4ufQjSGPOjO
   r8yHIhkK7HEXRQc9W36hysNI2CfzV2mNibKxRKqSHzj3P/uYxnVUDGFca
   s2wTII5t68IXJIyP+ygmKR5WaabZjPTMmGmqDlWp29zg3TtJp1UuNo9Vf
   Y=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: HHa1XY96LjsbtBTF3MS/i6T6p8+TvpuuL4LwvV4Dwz5NOalkgkvZlMOemU+IrPMkIKQIPd2r1F
 o9CHUPTAuuqN0oH81vouNVn0k7F9B67NFPJqzbJ2aYH3rYLfz47TdN1oszAJAvBOG6xnROJowK
 X529GbkmS4IjuSFX2aDazZISkMjDWqVkwvHJDYQ3liDNHKY2M5oXjkCTbFNBJEN1XxTex79lwJ
 FAewkPzpO2uEUkqMbz4DS695bZjr+9EHmMPI1oLMuvmllUXC70iRl5JpZAmVBXxWrvGEGN89A9
 thW+Vd4qRys79m54i9Z71B23
X-SBRS: 5.2
X-MesageID: 63111121
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:qOCGHK5AhrkxUIXFsiFFhQxRtNXAchMFZxGqfqrLsTDasY5as4F+v
 mcdXGHUMvvfM2T8fth0YYq39RxQ6JDczoNqSVRs/3o3Hi5G8cbLO4+Ufxz6V8+wwmwvb67FA
 +E2MISowBUcFyeEzvuV3zyIQUBUjclkfJKlYAL/En03FV8MpBsJ00o5wbZg2dcw2LBVPivW0
 T/Mi5yHULOa82Yc3lI8s8pvfzs24ZweEBtB1rAPTagjUG32zhH5P7pGTU2FFFPqQ5E8IwKPb
 72rIIdVXI/u10xF5tuNyt4Xe6CRK1LYFVDmZnF+A8BOjvXez8CbP2lS2Pc0MC9qZzu1c99Z0
 ORi9r2fR1sTPpbBtL4wDR1gDhFXFPgTkFPHCSDXXc27ykTHdz3nwul0DVFwNoodkgp1KTgQr
 7pCcmlLN03dwbLtqF64YrAEasALBc/nJo4A/FpnyinUF60OSpHfWaTao9Rf2V/cg+gQRq+HP
 pNDMFKDajyDPVpdYRAzFK5lwr7rnyGjLjYbmAOK8P9fD2/7k1UqjemF3MDuUsyHQ4BZk1iVo
 krC/n/lGVcKOdqH0z2H/3mwwOjVkkvTR4Y6BLC+sPlwjzW7xGYeFRkXXluTuuSihwi1XNc3F
 qAP0nNw9+5orhXtF4SjGU3jyJKZgvICc8JhPK4bxw/R8Krv7irDKzYAdiNxQfVz4afaWgcW/
 lOOmtroAxlmv7uUVW+R+9+okN+iBcQGBTRcPHFZFGPp9/Gm+dhu1UyXEr6PBYbo1oWdJN3m/
 9ydQMHSbZ03hNVD6ai09Euvb9mE9smQFV5dCuk6swuYAuJFiGyNOtbABbvzt68owGOlor+p5
 iJsdy+2t7hmMH11vHbRKNjh5Znwjxp/DBXSgER0A74q/Cm39niocOh4uW8ifxo5bZ5UJ261M
 Sc/XD+9ArcJZhNGiocsO+qM5zkCl/C8RbwJqNiJBjaxXnSBXFDep3w/DaJh92vsjFItgckC1
 WSzKq6R4YIhIf0/llKeHr5FuZdyn3xW7T6NGfjTkkr2uZLDNC/9YepUazOmM7FmhJ5oVS2Iq
 b6zwePQlUUGOAA/CwGKmbMuwacidCZjXc6u950IJ4Zu4GNOQQkcNhMY+pt4E6RNlKVJjObYu
 Ha7X05T0l3kgnPbbw6NbxhehHnHBP6TdFo3Yn4hO0iGwX8mbdr95asTbcJvL7Im6PZi3bh/S
 PxcI5eMBfFGSzLm/TUBbMai8Nw+JUrz3Q/ebTC4ZDUffoJ7Q1Cb8NHTYQaypjIFCTC6tJVir
 uT4hB/bW5cKWy9rEN3SNKC011q0sHVEwLByUkLEL8N9YkLp9IQ2eSX9guVue5MHKAnZxyvc3
 AGTWE9Kqe7Iqo4z0d/ImaHb8Nv5T7ogRhJXRjCJ46y3OC/W+nuY7bVBCOvYLyrAUG7U+bm5Y
 bkHxf/LL/Bazk1BtJBxEug3wPtmtcfvvbJT0i9tAG7PMwawErplL3SLgZtPu6lKyuMLsAe6Q
 BvSqNxTOLHPM8L5Cl8BYgEia73bh/0TnzDT69UzIVn7u3ArrObWDx0KMknekjFZIZt0LJghk
 LUot8Mh4gCijgYnb4SdhSdO+mXQdnENXs3LbH3B7FMHXubz9mx/XA==
IronPort-HdrOrdr: A9a23:TRtgcas0FgOBTClV3jFrHCRD7skC0oMji2hC6mlwRA09TyXGra
 +TdaUguSMc1gx9ZJh5o6H8BEGBKUmskKKceeEqTPmftXrdyReVxeZZnMrfKlzbamLDH4tmu5
 uIHJIOceEYYWIK7voSpTPIaerIo+P3sJxA592ut0uFJDsCA8oLjmdE40SgYzZLrWF9dMAE/f
 Gnl656Tk+bCBIqh7OAdx44tob41r/2vaOjRSRDKw8s6QGIgz/twqX9CQKk0hAXVC4K6as+8E
 De+jaJpZmLgrWe8FvxxmXT55NZlJ/K0d1YHvGBjcATN3HFlhuoXoJ8QLeP1QpF4t1HqWxa1e
 UkkS1QePib2EmhOF1dZiGdgjUI5Qxer0MKD2Xo2UcL7/aJHw7SQPAx+r6xOiGplXbI+usMjZ
 6jlljpx6a+R3n77VXAzsmNWBdwmkWup30+1eYVknxESIMbLKRctIoF4SpuYd099Q/Bmcga+d
 NVfYrhDTdtACenRmGcunMqzM2nX3w1EBvDSk8eutaN2zwTmHxi1UMXyMEWg39FrfsGOtV5zv
 WBNr4tmKBFT8cQY644DOAdQdGvAmiIRR7XKmqdLVnuCalCMXPQrJz85qkz+YiRCdE15Yp3nI
 6EXEJTtGY0dU6rAcqS3IdT+hSIW2m5VSSF8LAW23G4gMyLeFPGC1zwdLkeqbrWnxxEOLypZx
 +aAuMiP8Pe
X-IronPort-AV: E=Sophos;i="5.88,330,1635220800"; 
   d="scan'208";a="63111121"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Jq5Hq3tP4ldEyU9Eah7CpfIqM+A3ws69doc23dIDfgs0Jg3xaRjHuYMnAnE06u2jxJ0HP+bpX6ZBzplLkhWXsw1EuMgfTF95Zt/ROFDqduKQ6H6EbFoSI2Ea+P6hoIW1kt2SBpTAVPF1jEq1ivGAEGJ1XhQGHCdUoY3Hody/3ZC99M7kRl9tar9jESz9qk/pkE2sIH95IuqvMBMFepEnHuj3K6NvFQIn8GEAJ7AyrT46RzRFLlK9y5fAAQJt4OXMIQ4kpfPh7yj4QKa4V2xfsr46HEXJiShUOzX86T3udzOKzR1YsUfs2OTvwwZRKXo9sL+eKWIlEVMx30fCQexaKw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=I13JbV30Q84jMnuIxDGe1ht+ULzN4fbgLPo++bczqm0=;
 b=lgPwCcc8D6S3WKM3dzDVlJeRxQeBkyLgkKdVzniNCJPOsjLNEYb6AiQQJIJEB1OdJqStpvsn8b0VJXb6qrZ9Y9XlQ7AT4FXlKs0xBnCGTrNx3siVVbCREJ8lF3YS2ARavshjX/Fa3kJfObJDrTWi02NRYlpMHZd42nzwFrW72rtvf0AFvqNxpFQvHnZyt/RpluQeLrXjABu7zDc14Nn46UijS3DyHiihF84mHG+ktux48MSkvU9JjvYSRuB8Lwyl54EgykpVI/38061KEqCSCtJ936uLgmeic3sjUYdiVzwYhpBJFWK17AurQ/KfwDeRqMSqo4Is2F3uZeb58vbjaA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=I13JbV30Q84jMnuIxDGe1ht+ULzN4fbgLPo++bczqm0=;
 b=evBUDksGE0QLxVmvLL6NAxhGYjnlP1iryM+RGVMmHleJ/5fVteO5GKbyPEhq7R7QQjknv3KpzRrbtgNyJw+xz3o/Zr9A5I1k3EsqJGHzeooSImVe0QSi3c56YH7KoP+DITr5SC2+VaZH89BJ2e+2+aFuqr7IY+04y8gZHKEzkns=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Xen-devel
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 9/9] x86/cpuid: Enable MSR_SPEC_CTRL in SVM guests by
 default
Thread-Topic: [PATCH v2 9/9] x86/cpuid: Enable MSR_SPEC_CTRL in SVM guests by
 default
Thread-Index: AQHYFEshh+hEQ9Y7KkWo9sPMXmoMQax89PsAgAAVFYA=
Date: Mon, 31 Jan 2022 11:54:40 +0000
Message-ID: <8f251211-d107-05c6-e8b0-8c9a6fbdee32@citrix.com>
References: <20220128132927.14997-1-andrew.cooper3@citrix.com>
 <20220128132927.14997-10-andrew.cooper3@citrix.com>
 <8a1bfec2-a904-c561-aa6d-0ecafd2cf43c@suse.com>
In-Reply-To: <8a1bfec2-a904-c561-aa6d-0ecafd2cf43c@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.1
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 5bd2d2a7-47e3-42a9-0a3b-08d9e4b07695
x-ms-traffictypediagnostic: BN6PR03MB2612:EE_
x-microsoft-antispam-prvs: <BN6PR03MB2612084A169480883DC91F6EBA259@BN6PR03MB2612.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: K0V09MQ8MNYf8m/pp0iFWFDtH08GNBtoD2bGq9/RhcwAHHfWWWm207GFeNABcx1HsiFUuvCaaHrKdm9Lui4D5dHUbiecNiNUqSeWLtc+FXUPkYAMxJ1f5Q13ipmLubBVBmz+cWpR8hUXVUgQlfiBH/NWTnFxKYEsXNJDm3Giu0RFSLr7qBVM2UY9kgVgaXHpu+S3h2/0N5g02y5dmHl+5bY1iGIQBCVAuyP3+ftYxkIuwVLVmfr3Abjr/Ci7iL5aAYAJa0K2TUQN4ZhDDn/uWG9B1F7pEo/oYmcGPbfWPiFuI+/FKYe4lBx6miG1AYUX/wHPNcaa73eGkAmyHS4wjG7kaC0zFWxmCwJwUnuSLLyMGsu9aVErxjZokrUqOX3F7tY2z3DSM8n5J1C/OrTGbcXJ57avhD2WIZw4HALeP/9aBDwZ074vzXs4PbQXz7ljP4w6ijg5k0YsaUiqV3HgEweEd6jEiLrmFdulAJxP4if0slgFgAUrmUcnpp7izKzO7hrof/28f16K3O/x/AafocUxm5KXXldp5Y56h6wqaMIfQ4Qp/3jH/j9vt8/qTdmLrpSj2JcQnIqjfTOWHgsadvv9d2qOjG+hOsOKZkcJpJEQaadSWIYVHkvjoHyX6Rk8Z3w+yKI88h8OGEcvvB1RV9yGxMshu4RzMMQJDe/f2QMWCzI+L8BCsptfgB8eWVsiRnwkCBJLtoG5nd4BzDvBxYOu9FchaYMntRqCtt5kxiK0C/YMXtd6P4eYkCpWPMgvQpA4wusX13vpCr28MGmqPg==
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:(13230001)(4636009)(366004)(82960400001)(38100700002)(122000001)(4326008)(508600001)(6486002)(5660300002)(2906002)(8936002)(66476007)(66556008)(66446008)(71200400001)(76116006)(54906003)(316002)(186003)(2616005)(66946007)(91956017)(8676002)(83380400001)(26005)(6512007)(53546011)(6506007)(38070700005)(31686004)(31696002)(86362001)(36756003)(6916009)(64756008)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?OHdWM2JrSGlFUDBTMHpRVzN0Ym1CRW1oUVdFeTk5b3BwN0lobkFjWEdzTE45?=
 =?utf-8?B?V0VoTHc0elRma3ZUTXJzRSt2RUgzekQ3ZkZuRUlXYWd3bDlsWFk3WTBqR1ZW?=
 =?utf-8?B?OVZnSi8wWUdPMW4xQnV6OERjS05tcjVFSFBicFBqTlNVd0N6RUVML0dJaVNz?=
 =?utf-8?B?RlpwTW4rWGptRFI4bHM3ZzRjbkRBdERkbDgwajBmWENMVnQzN3ExZ3FTbjdo?=
 =?utf-8?B?M2E3YXFtN0ZFV0w1MWcrcWozbUxHVGpzRUFVdmMyb3Zuc2J2QmJpWDJzQVRO?=
 =?utf-8?B?Tk96M05kL3RBRTE2REFMc090dzVhSElGSUVXcFdiRDdxS2E2UENsVTZ1VUNk?=
 =?utf-8?B?ZTFHR2c4bmREcFVncWFuaFNkU2Z0TzZrWGw0Z0p3eXpGNitJTmVEZGtUdmRX?=
 =?utf-8?B?dE9OWnFmZk1TekErK1l6T2QxVzVtTDZLUlRSMU5pQVNUMG15VzNFZHZCdS8v?=
 =?utf-8?B?bVd6NElYb20wV3E0VWZLUk9hbkJCd08rZWRKUWVnQ0J1eFlPMDMySDU0Y1h0?=
 =?utf-8?B?UnVJYmJCSlJZZXVDTlFGRTVBOEpHRFZRYzZUdGIrSUdBOWZJb3VSMXFzcVdV?=
 =?utf-8?B?SW94a3lsYnNMQ21sUk55L2hqYjlUYjVBUGc0a2cwdmc4Qk92eFZNOGtBWS8r?=
 =?utf-8?B?MWVXV0p5WjA2TXBBcHBnNUcxMk02Q2hXTUZoRjNVUW4yTGxGdDdQbDFjTE5t?=
 =?utf-8?B?UlFUcDlheU5rTFEyTXUrNlUvdDRINGJPc3VmTjhYTTJocTlZTFpWcFlHMTFv?=
 =?utf-8?B?cHlCNmdKOHBSeko3UnB4SFYzU09RNy9MQjI4aWZUeUpocUgvRkVKVEpJcEI4?=
 =?utf-8?B?YmNnMmFOVzBkTlJKKy9JZUJtaVdNQ0NvdmRxQlQzaEhUVzJ5Nkk4V08yOWlk?=
 =?utf-8?B?Z0FWTWRlc3hqSUJhTFJTcDNSa2VWWTFmK01WN0VXV1piT3hoL3M1aHB3U2dw?=
 =?utf-8?B?VFVOKzZLaUMvYTIvLzNQLzh5enI2T1hESkZhWW5YUmlpZVpleHVObzdCNHNn?=
 =?utf-8?B?bTAzV3FmN2xkRHVDY0t2NmQya1p5WWZoNng0UkFablZCUktVMFBjS0pvYTRy?=
 =?utf-8?B?NGpscms0YVVPNHpBVk90eFZEQUZZQ0g4bWNBb2RsQm1BVGgvYUNCQ204SjJs?=
 =?utf-8?B?cldheWNvaDhESkFaM1d6UnFKM2ZaRG9MSnBhUCtYSTJJTUUwaGdqbUY1bit1?=
 =?utf-8?B?b1JZcHZ3VXJWK2lDellMd1F0a0hjZnhiaWcxUmt1RGg3dXRNQm5DVEpzVXpp?=
 =?utf-8?B?aWl1VGpWNzBpRWowZ2UrZmlTZ2o3RS9uYndXN20xMzhEd292QmxHU2F0TGlK?=
 =?utf-8?B?eXIwenVxR3EydVVGQnArNHdJb0FyYml0Q1E1SE9WeE04L2dQcFU4Z3pVNDVo?=
 =?utf-8?B?Qno4OG84M1MyazNPbm5YZTF2VnNLRURZSjlhUkRnWXlXYzdpK2s5Vjg4dTFv?=
 =?utf-8?B?MlV0YlpIMXdsK3pxS3FSRDdLVkxPa0d0a00xOU9SbHcyMmZaVU52d09JN2dQ?=
 =?utf-8?B?VndScFRTMGl1VmFnUnAwZDd1cTdrWGlzMHFEWDI0RmJvL2h0L21OY2krYTlJ?=
 =?utf-8?B?ei9RUG5FcytjdWVtZmRqMGZOQ3gyYzY5MnNZaWxzNDVoK1pFUXlhSWhWTWNC?=
 =?utf-8?B?TmFJVTlSVnVYTGwybnUxaVFBMktKM1pCdGx5RDNJRy9RY0hodmVDcE9jYzN4?=
 =?utf-8?B?dkRXM3RST09SeGhjK1hkZkV0NVhDME5LaHVYVGF4emtldGltNmhOZ2pUUGQr?=
 =?utf-8?B?SDJ1WXlQNlBxWk0rUisvVHpscUZYZXJPSlhLNEw5Q0h4VG5Zc0xoODNkeUph?=
 =?utf-8?B?dEhRQjBUNTQ1UzhsUUNXZUFhL2dQNG9XaStlaktZM1RRZXNVeHc4K2Nxemdy?=
 =?utf-8?B?SmJCREIyaUdPSWRuekhjV1JTZndaaHk4V0NYUXFZcFE0M2pNdGRjWHl0Rzln?=
 =?utf-8?B?clZqSERNdEI4Nm5iNDU1a0dpRnEvc3dzT2pFWVpKbU55U1o5VXYzbnpMZXph?=
 =?utf-8?B?RXVkR3dQRHA5c3dLaVdzbDQza0xwZGdUZkxFVzdWTVVRUHFUU2NjQ081eERF?=
 =?utf-8?B?aDhQTGo2eHVQOFNlL0svVXEzRWEyVE80VHYvdW5VZUNYbm9ub0tWMnFJRkww?=
 =?utf-8?B?U29IZU4rUHV3SE5QUmpmUkl2dEh4aVRPa1FoSGNQa2NZYkFXTHBtWGxlY00w?=
 =?utf-8?B?UXd2N2MvTVYyV3lESmdZRXdicURVZWloNkRTZlRSMjB2S1R5MS9YNGNFU28v?=
 =?utf-8?B?SHFEN2F0QmpqdjR4NWIyVFVoZnlnPT0=?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <46FDF062E9A5364294254741C5767380@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5bd2d2a7-47e3-42a9-0a3b-08d9e4b07695
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2022 11:54:40.3866
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: heHJEyjRKGBzZTug3RofOVkDLnFHbMFq8wt2ZG5kp3oYF8+W7cbpcxHkjTjaJ+HQd1/ijxGiuEuLe2Vp9UTesvONVcauPdilf+eHSP8BwLc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR03MB2612
X-OriginatorOrg: citrix.com

T24gMzEvMDEvMjAyMiAxMDozOSwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDI4LjAxLjIwMjIg
MTQ6MjksIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+PiBXaXRoIGFsbCBvdGhlciBwaWVjZXMgaW4g
cGxhY2UsIE1TUl9TUEVDX0NUUkwgaXMgZnVsbHkgd29ya2luZyBmb3IgSFZNIGd1ZXN0cy4NCj4+
DQo+PiBVcGRhdGUgdGhlIENQVUlEIGRlcml2YXRpb24gbG9naWMgKGJvdGggUFYgYW5kIEhWTSB0
byBhdm9pZCBsb3Npbmcgc3VidGxlDQo+PiBjaGFuZ2VzKSwgZHJvcCB0aGUgTVNSIGludGVyY2Vw
dCwgYW5kIGV4cGxpY2l0bHkgZW5hYmxlIHRoZSBDUFVJRCBiaXRzIGZvciBIVk0NCj4+IGd1ZXN0
cy4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0Bj
aXRyaXguY29tPg0KPiBSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29t
Pg0KDQpUaGFua3MuDQoNCj4NCj4gT25lcmVtYXJrOg0KPg0KPj4gLS0tIGEveGVuL2FyY2gveDg2
L2h2bS9zdm0vc3ZtLmMNCj4+ICsrKyBiL3hlbi9hcmNoL3g4Ni9odm0vc3ZtL3N2bS5jDQo+PiBA
QCAtNjA2LDYgKzYwNiwxMCBAQCBzdGF0aWMgdm9pZCBzdm1fY3B1aWRfcG9saWN5X2NoYW5nZWQo
c3RydWN0IHZjcHUgKnYpDQo+PiAgDQo+PiAgICAgIHZtY2Jfc2V0X2V4Y2VwdGlvbl9pbnRlcmNl
cHRzKHZtY2IsIGJpdG1hcCk7DQo+PiAgDQo+PiArICAgIC8qIEdpdmUgYWNjZXNzIHRvIE1TUl9T
UEVDX0NUUkwgaWYgdGhlIGd1ZXN0IGhhcyBiZWVuIHRvbGQgYWJvdXQgaXQuICovDQo+PiArICAg
IHN2bV9pbnRlcmNlcHRfbXNyKHYsIE1TUl9TUEVDX0NUUkwsDQo+PiArICAgICAgICAgICAgICAg
ICAgICAgIGNwLT5leHRkLmlicnMgPyBNU1JfSU5URVJDRVBUX05PTkUgOiBNU1JfSU5URVJDRVBU
X1JXKTsNCj4gVGVjaG5pY2FsbHkgSSBzdXBwb3NlIHRoZSBpbnRlcmNlcHQgd291bGQgYWxzbyBi
ZSB1bm5lZWRlZCBpZiB0aGUgTVNSDQo+IGRvZXNuJ3QgZXhpc3QgYXQgYWxsLCBhcyB0aGVuIHRo
ZSBDUFUgd291bGQgcmFpc2UgI0dQKDApIGZvciBhbnkgZ3Vlc3QNCj4gYXR0ZW1wdCB0byBhY2Nl
c3MgaXQuDQoNClllcywgYnV0IHRoYXQgaXMgdmVyeSBkYW5nZXJvdXMuwqAgVGhlcmUgYXJlIGtu
b3duIGV4YW1wbGVzIG9mIHJlYWwgbW9kZWwNCnNwZWNpZmljIHJlZ2lzdGVycyBpbiB0aGUgcGxh
Y2Ugd2hlcmUgYXJjaGl0ZWN0dXJhbCBvbmVzIGFsc28gZXhpc3QuwqANClRoZSBIYXN3ZWxsIHVh
cmNoIGhhcyB0d28gbm9uLWZhdWx0aW5nIE1TUnMgaW4gdGhlIHgyQVBJQyByYW5nZS4NCg0KQSBn
dWVzdCBwb2tpbmcgTVNSX1NQRUNfQ1RSTCB3aGVuIGl0IGlzbid0IGVudW1lcmF0ZWQgaXMgbm90
IGEgcGF0aA0Kd2hpY2ggbmVlZHMgb3B0aW1pc2luZywgYW5kIHRha2luZyBhIHZtZXhpdCBpcyBt
b3JlIHJvYnVzdCBhZ2FpbnN0DQptb2RlbC1zcGVjaWZpYyBiZWhhdmlvdXIuDQoNCn5BbmRyZXcN
Cg0KDQo=


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 12:05:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 12:05:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263067.455627 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEVR3-0003EJ-5p; Mon, 31 Jan 2022 12:05:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263067.455627; Mon, 31 Jan 2022 12: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 1nEVR3-0003EC-2N; Mon, 31 Jan 2022 12:05:29 +0000
Received: by outflank-mailman (input) for mailman id 263067;
 Mon, 31 Jan 2022 12:05:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Fky=SP=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nEVR1-0003E6-7C
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 12:05:27 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 12df667a-828e-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 13:05:25 +0100 (CET)
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur03lp2056.outbound.protection.outlook.com [104.47.8.56]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-2-w9U_t3VDNDmaGOogMXEVLg-1; Mon, 31 Jan 2022 13:05:24 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM0PR0402MB3908.eurprd04.prod.outlook.com (2603:10a6:208:f::28)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.20; Mon, 31 Jan
 2022 12:05:22 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45%6]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 12:05: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: 12df667a-828e-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643630725;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=SGSu9fisyfVy9eWrZKdoaw4VlvCYs0jqkrwz8n9jUAQ=;
	b=EbJUXqhGIPPc08f0hv/CmUw/ZwGmvWXYZekAAGC2l9uohrAaZTsz1khuILJGULPCAHjtr2
	6ORxvBFuW+bcUtON4WQlUMwCqgWTrxyU3bapRRIqUtPtcVjS8sjLHWLsoWTtKJSkrS+5bb
	BPdRykSNKkRimI7HR4WKhbgtazV5qlg=
X-MC-Unique: w9U_t3VDNDmaGOogMXEVLg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ifluw/Cv4pX2iVk0XNIUptDgqHwDs+98cIV1YkLAJpQT+Gfruq+E8Q6D7Bix2WjrwYjHmlyTH4Gsfu+TMYa9okorxYRHdwo/8jfk2U26YNZKJxNPxdhf78Z4Q/XBxUW8yvb8U00Rv47nQBFs4e5h0XFRJ7FPnxhAKARtAB4uBHbciSwcE/seQ3nm3B8aMXBZGrj+qY7V49dTfs2Avxik8ke6k/N1Ngg+dEVfKXNWGMlvs4CTuYIg8m+hwUqT8E1EBRG4wfZsfDrDFGC3iafnSpowIYuUECtx4xl2Zjl3eA45T7REQukwRUdy6ZhwWSLBm6OV+BavADSncdG+hwVIYA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SGSu9fisyfVy9eWrZKdoaw4VlvCYs0jqkrwz8n9jUAQ=;
 b=j9YSdICLLG1XIu4c8OyhLA15jfePpat+IM1jRM5kjQZq0HfcRxpHf5R528Ul4Lu26JmAxp7t2IezvZqEUrjRD1/+vLGHo31gDMgqpjUWv5dO4NC+warU7+ZY/zwNiwsn9FeiH4j90+oY+Nar/m0I9Y7OITHaG68dmr1nyMceMsshL5LKgxoEQcP+X/4mJJSXJl2hk9hgrbv+j1nm/btqm3WQB7YVmBp3xS8YL+nPUvJErZaOvncACxqDGifuN7AYHjLS3j6zlmottyNn2lsegGTXaZBpFP00SPjRXdIjPxdHo9SRHWtivHaxxyFvo6rbwIomKhreG+HghzIpwMHrSw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8b59b7d7-2d0a-0b8a-f936-1e537dfc4f9a@suse.com>
Date: Mon, 31 Jan 2022 13:05:22 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 2/2] x86/xen: Allow per-domain usage of hardware
 virtualized APIC
Content-Language: en-US
To: Jane Malalane <jane.malalane@citrix.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Christian Lindig <christian.lindig@citrix.com>, David Scott
 <dave@recoil.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20220127160133.11608-1-jane.malalane@citrix.com>
 <20220127160133.11608-3-jane.malalane@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220127160133.11608-3-jane.malalane@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM6P191CA0068.EURP191.PROD.OUTLOOK.COM
 (2603:10a6:209:7f::45) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 78d5d554-7fb3-4cf7-e742-08d9e4b1f4dc
X-MS-TrafficTypeDiagnostic: AM0PR0402MB3908:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-Microsoft-Antispam-PRVS:
	<AM0PR0402MB39086019D76F6381EB15F014B3259@AM0PR0402MB3908.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:
	H6Y7mG06/iEyhxABUJANwp1z3IFaX4j9S3KoQW9FY0jxEkzeKyNpM1ifOArk8NjQX3LIFZn8bud+RacfSbGGpHjNjggVLE9OnIQbD5spMsYbssU30T2eDwO2/hMxHslSAyjIP/2HccFHhCmh4xhmkW/5MZuqOxxkn8HXTPsp8FTW338OeYiDwTEPketFR2W069byqLuwmZN+oGtYT5pLR2zWmg5qZD9U0YZfutibSNQz1bzdmcWn32h/rtuN//ivWNKvjg3PjJJh7gh/7Gdxi2CeiH0jEA+gpVRO97nKjgz6ujnn3owwOGUL0/79TXDZIStO2Hxl/hxIO/HVomA5raUN/C4XVLTABzEjL5dPAHsAnzFZacCJHPnts8UCMfz9qorgpH80oOSfK9XGAArNXkf+KryXOUs9fRUUkLlFvrbKsmWJ0YOZfw/CgVVyUCPlYzGisP4/mVcSDv++fm518AXlRXcaLINqyT25bVzmcD7IDo19KMVzaINPeQBaJpIp2GgSGHwMBk+RentHPHIhgbGuo9hRfdaKkqNLlPYstMjGZytAZN5fpXhJnWbELJcihqGStI8VY5YjM3KurDjJQOTWSym+iiHYrJs+cQnyk9ptIt9YucWjmf65uylWDzpir+XEvh3QzvvHoibRP6+ofGuBcvJMJQZ3TR1aq7ySwEdG4NpoczpIPG0ds4G42rIL9uP3/JwGMUGWhcrsyrOcmRx9Il8aqftiWMxmMmczJKmD2m9VSap0bUxiflyo5q4I
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:(13230001)(366004)(6916009)(6512007)(54906003)(2906002)(86362001)(31696002)(6486002)(508600001)(8676002)(4326008)(38100700002)(316002)(26005)(36756003)(53546011)(8936002)(186003)(6506007)(5660300002)(66556008)(66476007)(66946007)(31686004)(83380400001)(7416002)(2616005)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UHBTSHR2c0Z5TXg0TzNieHJraFNRNjA5YUxxcmxIajNZK3E1ekNvbFpHUWxL?=
 =?utf-8?B?UGlpam10OGtVLy9xSHdhOXQzL1M3OXE0dVVtY2JvR2ZOamVpMVZ5WkIyU2d2?=
 =?utf-8?B?cytNSU40WGgxTko4b0MwZ2tSaG5Ibk9iOEdqeVdVTzJsWUNrOFRNckxjbHFJ?=
 =?utf-8?B?ZnJRVXN4V2VGdncrdy80QzZTNXZoUUxFd0RsWGUzTDk5OGx6NWVObkw1ODR6?=
 =?utf-8?B?SHgyamo1Nlp1VDI1WHZxK0pQWmxCZnoyVjdVREVJcVJSVVdjbWhCeXpUOEFU?=
 =?utf-8?B?YXFqSk9YZFBaYjFIcG9wZHVZN2tabkZWZllVUVlqckZGeHRWWXkzeWlVbE5o?=
 =?utf-8?B?dWphQlVlSmJrZERqKzRKOHY4YWcrRUQvWjdLa1F4amdzbU9xMTBLckhmK1pN?=
 =?utf-8?B?SEVPbzlMeW54aUZ1NVVQNXpKaVZIL2swYjNNWmJqY3RWRmVFMklIblViVmc4?=
 =?utf-8?B?Tm5BVHpEUFByVDEwRStJWC85MFNPNWF5dXUwTTVROGhGc1grR001U09BUXJs?=
 =?utf-8?B?Y2U0KzV5S3dTekVDZFN1UjZuM3pUY0RxYU9RT0pYaDVQc09EQWRacGdQckVi?=
 =?utf-8?B?cUJBS0ljSG41L1o5ZUx2M1hLaW5sYXgwNjFQb2k4MG5xZTRkODU0ZWd1dUtk?=
 =?utf-8?B?U1RNSXQ5TzZuOGNlV3ZNSzIyMXlaNWFoOTRmM1h0Sno0MHFwdWd0MFFoL2Nm?=
 =?utf-8?B?VFhXanhXdmZ1NjNCM3I3aWlvTnBBb3J4UUVlaGVDblNvaklXU2l3eXhwdUdk?=
 =?utf-8?B?V2JrYzZOaWlKZDZWeGVqWXlPUDlJa2xRV2gwdWZ5bUp5Y1pTR2tTUGU2WEtn?=
 =?utf-8?B?b05xQU1XOS9Ec2pEbFhZMGRRcFRYNlhGSUhlYUJPS0V1VnBNRUFJSERKTXRG?=
 =?utf-8?B?ekp0T1VKeGxzRW54N1hCc3FyYXVQb3Z2ZkZtTDVVeSt3QlRVRmlJSlZINU1Y?=
 =?utf-8?B?dVZ5U2RKNW0vSEVBN1JaVzVzWEVIQjRpSlVyZExQaUozTkpuQ3ByMTFtZmZz?=
 =?utf-8?B?cyt1OVlkQ0dQSXFRQVp4NG90ekhWTWQvWWVOb0M1ck94aDdNYXNGOG5xWi9x?=
 =?utf-8?B?a05UbEZQYVUyRmVweHhDTnp5VVEvbjNnUjkzOE42aUZVa0NIU0V3enNWb2E4?=
 =?utf-8?B?VmQyaG00eXBCNkZCR3NFdTVkNkxnam9zTzl5a2s3N01ETDhQaTY3c0tlNTZy?=
 =?utf-8?B?T0NlQWNkQVZ2aU9kY2dWVFJlaG5PZ1dNVTNGYlJrOE1ZY3g2aVNmTmlwMWdv?=
 =?utf-8?B?bGZkdjdOV2hub1JPbnNqQTJ6UHFlL3ZOWVAxN296REtveU85a0Z3MjEvTUIy?=
 =?utf-8?B?emVKbDEzaXlkS2ExQkhuMlNjRk80SUtQN1FsQTZVaFZSZ05IWTllbjVWOGZZ?=
 =?utf-8?B?bmVZc3hlcmV1WWxtTTk5RjdNNU56R1ppaDdua1JwRzZRN3JBaGxkK2xISnc2?=
 =?utf-8?B?M2NCYllVNGJ0eWp5bUY0WlpPcDdrb2lRNWRlNzVVSmRKdmRxNFBad3VHR0gw?=
 =?utf-8?B?WDU0L3dYU1dzYVQwRVltdE1TMW05UmkydS83clVGa05qbmp5eGpzaTZaNjgw?=
 =?utf-8?B?MjZQbGl2Zkw2QlA2MTEzVEZrK0NrM1ZxWGM2dzVFL3V3UlZjb1lVSW9WRzR0?=
 =?utf-8?B?T1JtYkFGVTlxRlEwbThYM0hLbjZSWTJoOUt5Ty9xdU9xT0treG5WdzlKVlVI?=
 =?utf-8?B?SlVMWXRQZlBWb1VtZUErc2FyZmFCanhzRWt3UWEwY1VNK2RFZGdreXRFUzRT?=
 =?utf-8?B?dEZnU28vMDM0WGVENkx4d2t1VnhPQ0g4K3R3OWF6Ri9XeU1sZTBUM09WaEJB?=
 =?utf-8?B?WWRFSHNwb2JtUklHaHBzeFladXpuNDlFQy9tU2d2ZU5ZYkMxUFZ5ZUh6RS9R?=
 =?utf-8?B?c3Jmb1dob2ZjK1cwQWZYS0xUNHkvUTNuaWYrYnVVcjJUb2w1U0lCNDlXbmNE?=
 =?utf-8?B?ZXpta3l0RjludHNjanowQWwzNzY1V2NEUlpwQUpjRU4wdUo3Q0wxeExlM0JT?=
 =?utf-8?B?UlR3MXM2WkRwWThjaDF0WXEzYXhHdEhnZjdPcFM5WHB6R0ZqRFdudjBmZEhs?=
 =?utf-8?B?dUZNWkxVWkhxa1k5Q1VZc2dvVzY2WjNqUXY2WFNxUTdwRDJRMndKOHhwR2ZN?=
 =?utf-8?B?VnEzNEVTWHNiK3I0bmxBREhmTTVzRmFtUUljMm1LMlV5c1ZJRm5NRzBRb0ox?=
 =?utf-8?Q?YUkmyzPFFlr4IzT9DzXyOmw=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 78d5d554-7fb3-4cf7-e742-08d9e4b1f4dc
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 12:05:21.9660
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OQPsKjyda7kg7XJB0DQThINIG/X/BK3s2n7Y1zXLUrdmRUJJjGyFJUdBvgDlJ/7XshjtAofU9MXvZmJu1K+2sA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0402MB3908

On 27.01.2022 17:01, Jane Malalane wrote:
> Introduce a new per-domain creation x86 specific flag to
> select whether hardware assisted virtualization should be used for
> x{2}APIC.
> 
> A per-domain option is added to xl in order to select the usage of
> x{2}APIC hardware assisted vitualization, as well as a global
> configuration option.
> 
> Having all APIC interaction exit to Xen for emulation is slow and can
> induce much overhead. Hardware can speed up x{2}APIC by running APIC
> read/write accesses without taking a VM exit.

This is odd to read for a patch which makes it possible to _turn off_
acceleration. Instead it would be interesting to know what problems
you have encountered making it desirable to have a way to turn this off.

> --- a/xen/arch/x86/hvm/vmx/vmx.c
> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> @@ -3342,16 +3342,19 @@ static void vmx_install_vlapic_mapping(struct vcpu *v)
>  
>  void vmx_vlapic_msr_changed(struct vcpu *v)
>  {
> -    int virtualize_x2apic_mode;
> +    int virtualize_xapic_mode, virtualize_x2apic_mode;

Please switch to bool as you touch and extend this.

>      struct vlapic *vlapic = vcpu_vlapic(v);
>      unsigned int msr;
>  
> +    virtualize_xapic_mode = ( cpu_has_vmx_virtualize_apic_accesses &&
> +                              v->domain->arch.hvm.assisted_xapic );

Please don't clone the bad use of blanks immediately inside parentheses
here; instead, ...

>      virtualize_x2apic_mode = ( (cpu_has_vmx_apic_reg_virt ||
>                                  cpu_has_vmx_virtual_intr_delivery) &&
> -                               cpu_has_vmx_virtualize_x2apic_mode );
> +                               cpu_has_vmx_virtualize_x2apic_mode &&
> +                               v->domain->arch.hvm.assisted_x2apic );

... since you're touching this anyway, please consider correcting
the style violation here.

However - do you need these expressions anymore? The per-domain fields
can only be set if the respective CPU capabilities exit.

> --- a/xen/arch/x86/include/asm/hvm/domain.h
> +++ b/xen/arch/x86/include/asm/hvm/domain.h
> @@ -117,6 +117,12 @@ struct hvm_domain {
>  
>      bool                   is_s3_suspended;
>  
> +    /* xAPIC hardware assisted emulation. */
> +    bool assisted_xapic;
> +
> +    /* x2APIC hardware assisted emulation. */
> +    bool assisted_x2apic;
> +
>      /* hypervisor intercepted msix table */
>      struct list_head       msixtbl_list;

Please follow how adjacent code pads types / names here.

> --- a/xen/arch/x86/traps.c
> +++ b/xen/arch/x86/traps.c
> @@ -1115,7 +1115,8 @@ void cpuid_hypervisor_leaves(const struct vcpu *v, uint32_t leaf,
>          if ( !is_hvm_domain(d) || subleaf != 0 )
>              break;
>  
> -        if ( cpu_has_vmx_apic_reg_virt )
> +        if ( cpu_has_vmx_apic_reg_virt &&
> +             v->domain->arch.hvm.assisted_xapic )
>              res->a |= XEN_HVM_CPUID_APIC_ACCESS_VIRT;
>  
>          /*
> @@ -1126,7 +1127,8 @@ void cpuid_hypervisor_leaves(const struct vcpu *v, uint32_t leaf,
>           */
>          if ( cpu_has_vmx_virtualize_x2apic_mode &&
>               cpu_has_vmx_apic_reg_virt &&
> -             cpu_has_vmx_virtual_intr_delivery )
> +             cpu_has_vmx_virtual_intr_delivery &&
> +             v->domain->arch.hvm.assisted_x2apic )
>              res->a |= XEN_HVM_CPUID_X2APIC_VIRT;

Same remark as above - can't you now use _just_ the per-domain field?
In this latter of the two cases this would then also mean bringing
the CPU feature checks in line with what vmx_vlapic_msr_changed()
does (as also pointed out for patch 1). Albeit it might be best to
have a prereq patch fixing the issue, which could then be backported.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 31 12:55:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 12:55:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263073.455638 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEWDC-0008D9-MX; Mon, 31 Jan 2022 12:55:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263073.455638; Mon, 31 Jan 2022 12:55:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEWDC-0008D2-JO; Mon, 31 Jan 2022 12:55:14 +0000
Received: by outflank-mailman (input) for mailman id 263073;
 Mon, 31 Jan 2022 12:55:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Fky=SP=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nEWDB-0008Cw-FT
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 12:55:13 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 06615560-8295-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 13:55:11 +0100 (CET)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2171.outbound.protection.outlook.com [104.47.17.171]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-2-j35pZeZBNsaNABDvfzjyZQ-1; Mon, 31 Jan 2022 13:55:09 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DB7PR04MB5994.eurprd04.prod.outlook.com (2603:10a6:10:89::24) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.22; Mon, 31 Jan
 2022 12:55:08 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45%6]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 12:55:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 06615560-8295-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643633710;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=aB4KGNhgaKfqasPU+NjlvoXn4q6KhPSucs0WPvg5F3M=;
	b=TQdBIzaGRmfXzDFvVhZk9oCPRIAoydn3lD1WkJUSd/1b7/oci6ME3tWcHKLna2VWINZ01e
	qMPHOGQjJETAV9wBh3YFXn2MEVAslB5TJ3eNQvC33Mg+iphKF7E6LR1XpWCINGiUu3i65t
	9OX596OZme7Po5ig6tlZ+KC6IKym8wU=
X-MC-Unique: j35pZeZBNsaNABDvfzjyZQ-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Yw3/tO30wlf8QtlJttmQWWLUV2KuN3bLkA2R03Ca/KzOm8Tclge+3G7I8U4BaPZP6EXsIw/bHMmvtkl0PAMxNbAuScyv9ye87UUtB58pL88oJWhurMKoRVxhPGcZrmOAUD3aXfljcwjYC5bn4OPu3ejDGQgB7QqF3OeHq7AGVAo2Sm1uGQ0SFDbP66dvVjkXSSMUIXzAN9RISfy3nvEIxzTQW0yJKlTige3h/cJrY4wRB13aAyr4XfWbH5KFHdLAxBZ6Cf+5FJvW50N98xEQU7OOsCS6zVofITwZ3Lqvw70/CkxKlWnKbDT2h1KcE4X8G94JUdeaDF4myt9mmhmwOg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aB4KGNhgaKfqasPU+NjlvoXn4q6KhPSucs0WPvg5F3M=;
 b=hK7n9vFJfZICsX/FYetgzLXjv4boPCv3unwugWKUc/6G9lJ9wwHtn7X5CGLFNClOOlg0zyMu4eVD6HtaoK9pj3trG/UOSB6xuWXWMYe77IwwshoEI0vMAGn1KYcV/2NRim3pxl1RBAjYEUXU/7zv9Ly9lRcVP7YslOYD00m12hdWS3ORhdvquw5ssTeSOJWJWk4WxLx6Z1mgM79BtttB/KR9seCgyBD3C256fCCKCkprFiIyqxfdXLbpmkGh2U5R2jwQ391t40B7LcKsWCg95ypKhQaFg+LyPAm6Q0i3wyUim1/OjCw9lguGpSO4aGa+clkJmDV6DiGT7BiGV0loWQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a1e8e059-b3d2-1af1-ab68-0b94dcd34711@suse.com>
Date: Mon, 31 Jan 2022 13:55:08 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v2 7/9] x86/svm: VMEntry/Exit logic for MSR_SPEC_CTRL
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20220128132927.14997-1-andrew.cooper3@citrix.com>
 <20220128132927.14997-8-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220128132927.14997-8-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR0202CA0020.eurprd02.prod.outlook.com
 (2603:10a6:203:69::30) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 01630e26-da8e-4fce-628c-08d9e4b8e89a
X-MS-TrafficTypeDiagnostic: DB7PR04MB5994:EE_
X-Microsoft-Antispam-PRVS:
	<DB7PR04MB5994A5800B68EB5AE2BB84B0B3259@DB7PR04MB5994.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:
	4xXljQRCrpQVHWJ23hp3Tv/4XXouuJuXgZm+hTUclRzxmYMV+zWcsPBiIUzjaeRpsZivb4Pmc3Uswum8almHfRdJJR0ppAJ5pYIQcoE7n2m9BvRKp+/XV3rs0/sLixD5aVP7vKryAkibol4of7ntajpyYNgyWg8tMaaY0RDQZQv6Z/WLLcX6tjAiqADXUSoT5qThOoT0pR8PcCxl6cB4ooFsegBZ6pIzlm+yNrFft41w6W8z+jqOek7kInL8TARF9OmU6KU1lXoC1iGsmTIw/AcKwYzVXIdUS50LqLirc6TVQFy+it59ZcVSdKNtif9KFph9JsVHZBMzeO3uLkZuHDJBAxVcB+GE1W0bo842f0sxKXPkie8EIFO7QfajKkh5VCWZz0lcbtLAzZS+f/a/MSasGjiwc66IML2b1g5ndAac7NAYJo46VQi7hPndwfzDlY8pfHhT+TbizECl8fPEsE2w8GorF1OqJNmW0uD+HFCE1ig5zNaaDR+8uj6yQoNza0+KjhjsyPcD0508LBLN6gARoXlydhlKAQ4Q8UgxdrJfaK77fu0N0BXpC7D/nLavI2xq6Q9BP7JTdmjFadD29PJ1Uf4jvkso8Y34PcrNsAbNeoaI2F1jm6DwYu0LxG/K0Eie9fSEPfLFTcGbOekJTiAwbLlg3CUKcO0MnRPLjY48V0Pp4PiUvKssuo4g5GXuJhjDqBBtZMafGeNo7Y/DMd5dYwM0c9XU0opTgAECpQ8=
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:(13230001)(366004)(26005)(86362001)(8936002)(508600001)(66476007)(66556008)(38100700002)(2616005)(66946007)(186003)(31696002)(36756003)(53546011)(6486002)(6512007)(6506007)(54906003)(6916009)(316002)(83380400001)(4326008)(5660300002)(31686004)(2906002)(8676002)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cE5UQ2FQd0hrdFlTLzlEL3JpckFIc05nNzRnOVprdU1IOWorOXFaNDJERDJu?=
 =?utf-8?B?aklJcGVCSkR6ZTNmY0JIUVhyRm5mRTV6VVpncHl1V0JCTFIxM1BFZVEyVi9Q?=
 =?utf-8?B?WGxRajBjSWZRdHJzVFFQT0M3cUVZOUV2RVdzdmw3dzdqTUxyNHFKb3JIdFR0?=
 =?utf-8?B?Qjh6amZkNDlVeVhkUm1nRE1FbGJiSVJiZkJqcjZVajZVcHptaUVBUlRHbFNI?=
 =?utf-8?B?dDc0QWd0YUV5VWNTU2VQUndWYzdiWHpZbytqZDBKR1hvcDRZb044aDdoQ01a?=
 =?utf-8?B?ZVZJZ2RWMFo2cnJSRVFpR0Fmd1BoMThzMWZsQldsN0Y4VG1YN1pKaXlyOXFJ?=
 =?utf-8?B?bTVEVGtmbGErbGFTQ01iUE83WFV1a3RnaHNzemViVzcxMVVrZWFMK3h2WGgr?=
 =?utf-8?B?Yi9JWGNJZ0FBQzJQdWJMd0dJLzhrQUs0K252T0gwbCtOcmNITGt4YXp2Wjg5?=
 =?utf-8?B?dndLTkZuckxwcGNqTFRRazlrUy8xRmhheTNaNGg1cUF6eVhaTzlkOUZNL2I5?=
 =?utf-8?B?eExOWldEM25aMTUzZ2R2TVEvUmp2bGpiOWl5Mmk0WE1XRXNuODE4eVNaMnhG?=
 =?utf-8?B?VHJ4YS9UR2FiVE5ZSlZQU0hpLzdRQm1VVzJmYmp4WkQydG54WGhTYXdTbDgr?=
 =?utf-8?B?V1lMUWZwRjlkbjVjWklTUGh0WjFHR0lnRWlSeDFiSjhQRmpoS1MwMTRxMklH?=
 =?utf-8?B?Nko2ZDhtWXc1V0x5RlMxaHF6K0FLYUZub241UHcxaTdEWC9UdElnOGZwZEdO?=
 =?utf-8?B?emczbURkaTdscWFiSGxUTWxReEVQbDY4ME80WXJnOFY3KzdnWXU5UG5JdGpr?=
 =?utf-8?B?TERvUnVPeUs2TFFGa3B2WjFId253d1lhbXFyUm5hZWdiYjArVE1JcllyeEJT?=
 =?utf-8?B?eWp6TnNTWUxpaElTQ0V4MzFOUlhsZjhXd1B4N3dHTjkyWXFXWjJnbldqdzZq?=
 =?utf-8?B?NFpPQXRhYTZtc21ZMHdJTzhEcUc4M0trSVpxdnRIcGw0WEpWMGRzeW9IcUZN?=
 =?utf-8?B?MTVabkpwYjRxeC9sN2w3cDVYcEhxVGkvT2Q3K2xCRVF2RWZuMHZjaUM0Rnp3?=
 =?utf-8?B?RVJqaXZBTjJMTDRKbXJ6dHo3aVJ0ejIvNWp6TWZDcHU2YmRzWDFuWDNJb0pP?=
 =?utf-8?B?UTBSMVpLK21JQlkxMXlXSXFZZlltOUxTVnc0cWlNSFFJVEwyeWp5RE9NRzVO?=
 =?utf-8?B?RnRpNk9SMThybUI2N0grM0JRNVBjWHA3Ly9LbU95SXM3YnhHZnRta3ovR1dN?=
 =?utf-8?B?U2RsSHdiSVZ3Q2M3eWFkY1Fya0t2Y0tHZ3FiTTNWSFgyVjZxK2h3ZEYwRVh5?=
 =?utf-8?B?TnMyWHoxQ2FKRVM1eTlVUFQ2U3RwdlQ3TTl4UGtnKzh5R082WEp6a0QyYVdF?=
 =?utf-8?B?R1BZVkRtWHRMb0FYNXBNMFVXUEt0d0wwcC9FcHkxWEc3K1RHeEh1ek9tWTJW?=
 =?utf-8?B?alEwVDZxcFFWSytQS2EwNnlTMkFlb1V5L0FrQnY0R2tJMTBoajR6ZlZKSWFy?=
 =?utf-8?B?SW5meHRzRzl0VWwzYzlBL1kwN0hkS0QzUUQ4bFd5OTdHNzNENHozK0hjSUk2?=
 =?utf-8?B?am8xYTFoUWdVT0xQSTM0czlZc2RtM0JiUHhDUDRWYnhSa3R6bnZvMEV4cXlo?=
 =?utf-8?B?NGpHWng5SXB5OHpaNmtLSkhuMVVHdkNXVm5pcGgveU80T1U0T0g1aTF3T3Mv?=
 =?utf-8?B?djJIZDErcXB3TmdsV203Wkd5NWI0NEJYbkpHWW9Ba1I5c0l0ZStZTWJENWZY?=
 =?utf-8?B?UHZvRVQvR3F0WFVqVE9Cb3U0UGVDdlM5aEtsc3B0ZWNLNE9VbFA0bm5zOC9D?=
 =?utf-8?B?M3c1dkZRdndaclNPYkN6eGpPUXpkTWJiWU5FUWE2RGFnNWJoMDVJSEpoMnJ3?=
 =?utf-8?B?a2ZaRURMQUFCUjVZWTNUeGRqVGhBYm9udHlUQ0xqR0Z4dHd4MExDUU4vOG85?=
 =?utf-8?B?TWpsT3picHJFalg3SmFSelhqRzRFK0pOcHNFWXlLSDdvOGVGVVRrZXFoYkhi?=
 =?utf-8?B?c1p2bFllWi9FQytlQ2szQ3ZIZThUcGtQMWJrSHduQ1o4ZUk3c2pQeVArOFEz?=
 =?utf-8?B?SGllN1FwdDZPVFAycHNkTmRoL2xaYUttZjNtSlJFS25hc1JHMkJFdFNYQnhn?=
 =?utf-8?B?NEZ6UmVKVCtiMm9ZRDVjczl0S1ZOUDA2alBIMkZwc3JTTy90dGgyTTJ2bXU4?=
 =?utf-8?Q?TFRyBI7aplvpagwbsPSX2Ks=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 01630e26-da8e-4fce-628c-08d9e4b8e89a
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 12:55:07.9995
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HKGmv7UuCUFvnIdLjJdrbbWQ5sYgIDxtMyo8/TRmXVQCmJ3OTPcjrmZqxLjdfSP3jFJA/9C9MqB1iIewI0zD0g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB5994

On 28.01.2022 14:29, Andrew Cooper wrote:
> --- a/xen/arch/x86/hvm/svm/entry.S
> +++ b/xen/arch/x86/hvm/svm/entry.S
> @@ -55,11 +55,12 @@ __UNLIKELY_END(nsvm_hap)
>          mov  %rsp, %rdi
>          call svm_vmenter_helper
>  
> -        mov VCPU_arch_msrs(%rbx), %rax
> -        mov VCPUMSR_spec_ctrl_raw(%rax), %eax
> +        clgi
>  
>          /* WARNING! `ret`, `call *`, `jmp *` not safe beyond this point. */
> -        /* SPEC_CTRL_EXIT_TO_SVM   (nothing currently) */
> +        /* SPEC_CTRL_EXIT_TO_SVM       Req:                           Clob: C   */
> +        ALTERNATIVE "", STR(mov %rbx, %rdi; mov %rsp, %rsi), X86_FEATURE_SC_MSR_HVM
> +        ALTERNATIVE "", STR(call vmentry_spec_ctrl), X86_FEATURE_SC_MSR_HVM

Both this and ...

> @@ -86,8 +86,10 @@ __UNLIKELY_END(nsvm_hap)
>  
>          GET_CURRENT(bx)
>  
> -        /* SPEC_CTRL_ENTRY_FROM_SVM    Req: b=curr %rsp=regs/cpuinfo, Clob: ac  */
> +        /* SPEC_CTRL_ENTRY_FROM_SVM    Req:                           Clob: C   */
>          ALTERNATIVE "", DO_OVERWRITE_RSB, X86_FEATURE_SC_RSB_HVM
> +        ALTERNATIVE "", STR(mov %rsp, %rdi), X86_FEATURE_SC_MSR_HVM
> +        ALTERNATIVE "", STR(call vmexit_spec_ctrl), X86_FEATURE_SC_MSR_HVM
>          /* WARNING! `ret`, `call *`, `jmp *` not safe before this point. */

... this now effectively violate what the warning comment says, as there
is a RET involved in the C call. If this is not a problem for some reason,
I'd like to ask that the comments be updated accordingly.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 31 13:05:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 13:05:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263079.455650 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEWMe-0001GX-K3; Mon, 31 Jan 2022 13:05:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263079.455650; Mon, 31 Jan 2022 13:05:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEWMe-0001GQ-Gu; Mon, 31 Jan 2022 13:05:00 +0000
Received: by outflank-mailman (input) for mailman id 263079;
 Mon, 31 Jan 2022 13:04: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 1nEWMd-0001GG-BC; Mon, 31 Jan 2022 13:04: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 1nEWMd-0002Uh-2X; Mon, 31 Jan 2022 13:04: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 1nEWMc-0008Ig-Nm; Mon, 31 Jan 2022 13:04:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nEWMc-0001JF-NG; Mon, 31 Jan 2022 13:04: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=HsUh9GhYhWhRRQzWkOGG41V5POhVpwxNe4gyM2NhtDQ=; b=imvoQd3fICReat5jRXrKCQjVlM
	6Zu9gceD47N3K4obPjwSyOObwWyndPQGTcUwTZicrjVseyNMLOwlSbjczG/+CMW/TT/tJyTkz/P+7
	h/Y9te53HA2UzPqjSFHumt7tKvkJz1MpUKVUXz+PfNgs7Czw9kv7TS+/mePxB3tLGL2c=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167963-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 167963: 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=c78901ab09bd0c469649f4ecbd325a6edb953592
X-Osstest-Versions-That:
    xen=21170a738c11b24815b4afab2151bd3aa2a29acc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 31 Jan 2022 13:04:58 +0000

flight 167963 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167963/

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                  c78901ab09bd0c469649f4ecbd325a6edb953592
baseline version:
 xen                  21170a738c11b24815b4afab2151bd3aa2a29acc

Last test of basis   167934  2022-01-28 11:01:44 Z    3 days
Testing same since   167963  2022-01-31 10:02:54 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Dario Faggioli <dfaggioli@suse.com>
  James Fehlig <jfehlig@suse.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Rahul Singh <rahul.singh@arm.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   21170a738c..c78901ab09  c78901ab09bd0c469649f4ecbd325a6edb953592 -> smoke


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 13:31:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 13:31:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263093.455661 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEWlx-0004W3-Ul; Mon, 31 Jan 2022 13:31:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263093.455661; Mon, 31 Jan 2022 13: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 1nEWlx-0004Vw-Rj; Mon, 31 Jan 2022 13:31:09 +0000
Received: by outflank-mailman (input) for mailman id 263093;
 Mon, 31 Jan 2022 13:31:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9o41=SP=epam.com=prvs=4030d24c28=oleksandr_andrushchenko@srs-se1.protection.inumbo.net>)
 id 1nEWlw-0004Vq-Jz
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 13:31:08 +0000
Received: from mx0b-0039f301.pphosted.com (mx0b-0039f301.pphosted.com
 [148.163.137.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0936e09a-829a-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 14:31:04 +0100 (CET)
Received: from pps.filterd (m0174683.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20VD1BE1026450;
 Mon, 31 Jan 2022 13:30:59 GMT
Received: from eur05-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2168.outbound.protection.outlook.com [104.47.17.168])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3dxdbygv28-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 31 Jan 2022 13:30:59 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com (2603:10a6:20b:153::17)
 by AM6PR03MB3749.eurprd03.prod.outlook.com (2603:10a6:209:33::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.21; Mon, 31 Jan
 2022 13:30:55 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6]) by AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6%3]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 13:30:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0936e09a-829a-11ec-8eb8-a37418f5ba1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=g45nrikckX7lX2Ey//vqzSi3hz5F6zGwJAwSkXHZ1X9wwVOg1O8dsVoU89WpPqdaq2HfjmF9uh3cpmsp6S10k0SbuWT94eB2iMlBh25DUK34Cl15Ep8LezFDFYFLK2Dsu+eOXQscqGN2Ve0P3qehpVTfkaXWXdSuRJ6TeUdk7imYSCiFffihqfssMYOq2pg7blwuUn1MtrDaLp45b3yd+sF4qsHjmff8ukbEcht4U3iizcJkU/E8RceLc/1vT8EK93rIC/EgVPHxE/xr8Fy0dfxISLL2+n7uZNnrBTTX+sztBN/5GkLsL8HZXmhZNQ0Z6feP2uZqhMxue3TJesUfxQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=d1TjH7lN/Tt5ocAalX20eM1hGIagS6iYx7hqGF8bsW4=;
 b=ByJNUNfQ9vG1GpLAqB0H0XpEUirbEmPk8qIg/FsXyXLI3XMnDrKfWaUWh6KvZdHXUO7DzAY832LHHTGDZsanuxEOoyDAqTg52p4Pcx+bgnOj2gQMg/sbGI947OT50a2uUWbhGWUX3v7MM8XWFpJWqaCjMFE4A0enZH0E3ab+1yIw+Zg6q/utSWX/R4r4ME9KOCU/kfbbJ/PXRppLLRN8VZ9tcbMvo493sV40kfKT6sbYAdEsvFHikdJKTutnJ3Jh9ETGAs0I8xFTk5iBiaB0qUylU2GYZd0pLQ0f+SlVRO4uQDmNyBSoEKHHp1kvWN4eX6WRJ0/yd0RgHKq0f4Pw5w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=d1TjH7lN/Tt5ocAalX20eM1hGIagS6iYx7hqGF8bsW4=;
 b=gpbgn9Rtj3qeqq2ajKfoUeixrnOn6ip2Cf7JXj1J0Nt77+v/GDlMgnhTGLIapxKusbB1MAGQbzZBScr6Fl+phbMSgN7zDjWYzpoK97TVrqOKlCSN57tcEjuykTA9Z5KNhWXBsQTeH0GXrUDPe1hT6gqlIegaynNd5KTwmkzIzdbXYoRzocPcJVrOpod89EtOVrIDJGiTw8IYMl8WIzBPPGGVSjx7ep3O1ManRjilLaxSLkTmfXjBz8o7Z7JWh3SZTtuWhUU+BKPrYIvukDa4FnNqF/9p8C6do8HFbgjhcyq/KmY3ozbZDfnXWgl7vC14/IjxLSZ8QpAu1WS5vx2VfQ==
From: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
To: Jan Beulich <jbeulich@suse.com>,
        =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        "julien@xen.org" <julien@xen.org>,
        "sstabellini@kernel.org"
	<sstabellini@kernel.org>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Artem Mygaiev <Artem_Mygaiev@epam.com>,
        "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
        "george.dunlap@citrix.com" <george.dunlap@citrix.com>,
        "paul@xen.org"
	<paul@xen.org>,
        Bertrand Marquis <bertrand.marquis@arm.com>,
        Rahul Singh
	<rahul.singh@arm.com>,
        Oleksandr Andrushchenko
	<Oleksandr_Andrushchenko@epam.com>
Subject: Re: [PATCH v5 06/14] vpci/header: implement guest BAR register
 handlers
Thread-Topic: [PATCH v5 06/14] vpci/header: implement guest BAR register
 handlers
Thread-Index: 
 AQHX4ewHyWAyD811HEGp8pIjUuVWNaxfndGAgB2tWgCAAA7+AIAACECAgAADxgCAAARsgIAAHxiA
Date: Mon, 31 Jan 2022 13:30:55 +0000
Message-ID: <0b20be9a-61e6-d286-b379-92c29ee9a804@epam.com>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-7-andr2000@gmail.com> <Yd7K+9fvnBz+WTXA@Air-de-Roger>
 <77c00154-646c-a2a3-98cb-be4324003446@epam.com>
 <c7e87ebd-2c56-d510-b08b-02d53f9158d1@epam.com>
 <YffDmW4JGk+iDIVF@Air-de-Roger>
 <6d1772b1-25f1-0f63-8b8a-5dfaf94b2953@epam.com>
 <36fe9000-87a8-eefd-9baf-331bf4bbf1ad@suse.com>
In-Reply-To: <36fe9000-87a8-eefd-9baf-331bf4bbf1ad@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: d0d5c151-e417-429d-b69e-08d9e4bde8fb
x-ms-traffictypediagnostic: AM6PR03MB3749:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <AM6PR03MB3749CF292399DFB319AE2C83E7259@AM6PR03MB3749.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: 
 I6acu3vdmUz9CX4SAVWsOSzpRy+1TtKg5lJ/75/0/7xEy8/0zah590tApdZYgE2kjEp3M55Pdzq+JqWBgRO4zQRA+dDeRN86dW//ysMmVa4StUZJmBojLPL2nntUvaIY/YFbazIXGhkdB6pNu28Ed1jqN0r/d4N+rRVkmwjzt43vlTNi4chNt/sgbKF7z69Ew2TsbJGZWx79IuNolqzzEHq979heAaVjccY7cpPPaj9VzSFBdh4ZB3AUrm9sNYqWO0Fdr2YeZbcC6kTO1gmue8wMLnOTG6TML7VHUIUqKdno9VhN8YBaDZilvr8TISkuX7VTlSXLoRETLBvcx5iL+A1wiUnW5JYBDY8PkGLVAsz+B0GG+W8X19zUFVzAgM1FGb6n/6by5VhSMQLt/1wzxDm8JzQRZSDk1rHXktqirbaJdPVUizNvEmW6HrT7Gdn19gzVGOb99biPuTp6yG0a5jwJFFsXAKZpmxme2eVnwUp1yo2DKptScPrHg3yCclJw5KiHM2LEoJFGgyH/xsip7K7EOsa+19YJbdX/9olv6THHjc+blcw+RiUJiWHMTBmJg2G/8yn4YVeEfaQH/1druSjcnB5F8JyydECkLoow6IpGrm8uCuBUGwyOPQI4H+5aZNGh7WGlWk2jNE/tvMhkNSdZSF4DkdgU576W+kplfFrSgDkQtpWQPKoty2ryxSmUHqT0vJbwlRrUkpggPaT0QHpo2NKV9VPUBfYTyvE4u5g+XsW3oimKTLEGP7v5oR1x
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:(13230001)(4636009)(366004)(36756003)(31696002)(7416002)(110136005)(54906003)(6486002)(6512007)(6506007)(316002)(71200400001)(38100700002)(2616005)(508600001)(186003)(26005)(76116006)(66446008)(53546011)(107886003)(38070700005)(2906002)(91956017)(64756008)(86362001)(83380400001)(66946007)(66556008)(66476007)(122000001)(4326008)(31686004)(8936002)(8676002)(5660300002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?anJrOFRsSVI0SzZKQUFuRnVqc3JvSk4vbjJnaTUxNVg5RGJOR1pVZWNYOFQ2?=
 =?utf-8?B?a2dJVmpFMjBsUzRjMnRQejdlcGNhbFRMSjlDTVp1U0FrTzRBaVorZmxlTTYy?=
 =?utf-8?B?QnpuZG52c2pPK2twcXlxZXowbXZtT1BLRDlUbWFGRW5rcTE5Y0tTa1dHMnE5?=
 =?utf-8?B?NG1WVGtlcXZxR1R5RmJzTktOR0NLbUhMdFUxNXJwZkVvQXFHcnlDQndNVjhE?=
 =?utf-8?B?SUpMblVMSVRhOTAyYlhrOG5xVDNYU25qQ0picEZ6cS91ckN2c29CWGg1U0Zj?=
 =?utf-8?B?b2FGOUxjMFM2bVRJSUo2eWhSenhCTytCd3FLWCtiTFNjdmxXcXJHLytWc1Bv?=
 =?utf-8?B?UmczRDFKU2tEZm1tRGNKa0lWaDc5aXZwSS9ad3NsYUNsSmQ4R1NVdkdUL3FH?=
 =?utf-8?B?OWJ6bG9HYVphMFNIMGJlSWpzMmlFQVBoVWtyalA1UURPM2gxOVE1WHZSWlJF?=
 =?utf-8?B?Vnp1QnJFU1BZTnJoMGtpS0hSNGVDNzhEN09VQTVEL0grLyszUy9pVXd5a2Yz?=
 =?utf-8?B?NVVYZFRoaDgzT0NNd1J5SExBQWJoOHVycE5QZW15QUcwWlM0UFZxU1JrdjIy?=
 =?utf-8?B?Tm9IcG9CQ0VlZEpJVUtuRURqaS9OY1c0WStRemFvRXFLZnRvejdnSUI1T041?=
 =?utf-8?B?dkpyblY1U0E2MFI5ZkJmR0dkN0JqaHFTWjVmb1dqVklaci83aXk1QlE0dms5?=
 =?utf-8?B?NUZlM2J4MXcyajRnME93UURTRFZGWENuVGFiZFNHd20zUkFLbHM0ZXB0eCt0?=
 =?utf-8?B?UU55clV0ZzNjc2FlWEhRbHMvNlc0U1FPWHFmMGU3NHY3YytZYnRBbFJCaTdQ?=
 =?utf-8?B?RE12My9VdHY3MTFwMXlZMWM4SzhZZ0lIdjNNQm1vNVVYTThCME1namhXOFdG?=
 =?utf-8?B?MU1qMkg5RnMxU0lRZzhWNWFERmUxWVcxcjlUbnJ5MkhCeTNEL3UvRE1LelJD?=
 =?utf-8?B?K2J4UFdVWkJUY0lhbnd5anBXbVY2RENGOFBWUFdjOHpBTzJpQS9LK3JlckpB?=
 =?utf-8?B?SVlQMzlSQWU1NFhrUXBpczQvTXNHb2VXVkRKZ2dyRk5hNjJSZkhkejBwYXp2?=
 =?utf-8?B?UWJGRmRtcWJGYVBNWGxXRUk0QjFGVGNydVkvaElud3NiSVEyM0M5R0oyOGFZ?=
 =?utf-8?B?Q21xb0Iwb1FCVTNvN2VMVkJPYWFjdG0yazV0YVQ3MkFtZ0VvU2p0UlgvOWdL?=
 =?utf-8?B?bmppUjBCS0tSaFBZOXFlTUVTRGJuVWt1TGhacGhpNndMWEdCdEtIbURnVjhr?=
 =?utf-8?B?UFBPWi90bUFSZTVwVWZmU3I3NVR6NDk4WVE1ZnNZOHJMR0NrallSQ3dkclBX?=
 =?utf-8?B?c0FsVytPSVY3RU9aUlArZjBiV2V2OGNySkk4K2xuY0dFdTlEUlUzMGVNZnRw?=
 =?utf-8?B?RDJJMFh6UEwwL0lZMkNpamd1L2J5aE5McFFZQUNGNmg4dVd2NUhxQ1NYa3pl?=
 =?utf-8?B?QURvSittS3dkbXVnYzJaMElmZzJ0U3RaMHBzdXRIQUpNVzAzRXhqNlhYRGZV?=
 =?utf-8?B?dytqbGF4dXVsajFJaXg1ZEFvMGgvbGZaZDUvcTliUEM3TnRPTUdDSzFGZ3k3?=
 =?utf-8?B?YTYwYjFqRHl1UERVMjROQ1JUNVo1Um9GcGc5aXcyOVN3T1kwRmVBalNZd1hM?=
 =?utf-8?B?TDFINlUybWxUU21nYmFMckE0RjM5WmhyZXRZc2o2bGZUYnBWbzRoZzB2cCtQ?=
 =?utf-8?B?OFRHTVNwak1wVWZmTkxRV0JkZVdDSlFkQTlhbE1oa0IrZm42NnArcEtCMUhZ?=
 =?utf-8?B?MGhiRjIrSnVkZ1ZxdHRQcklIL1FDUmNzWUR5YlptRXg0TkphNGhwcmpoU2pN?=
 =?utf-8?B?RnR3U2czR1FzcWRuNUxBSktUYVVpM1p4N2k1QWxkeFQ4ajNkcG4ySmJXSC91?=
 =?utf-8?B?WlJaRW9XbVgvUTEyTmxiRjIxQTFtOHJYdWZwVDdjWkxUanJON0tXSStIcEJv?=
 =?utf-8?B?ekZuamJxYjR1QmVXUGdrUHlQazh4MGZtNVZPdENqSWh0RlBYTTlzOGplTEw4?=
 =?utf-8?B?RnNmZWt6YjgzZ0RqNTZCRjlnb2Q1aFBKdkxHMTJCcGNsSGZ3dXJFRC9zS3Js?=
 =?utf-8?B?RzVaTWpnYm9hY2hjMlloTTlINkRFbHRXUklmQks0bmVVeEpMbUs0WUkrbE5I?=
 =?utf-8?B?WlhidDFWTnk2ZDdxSnBLUjd3OThWNkRmSDBiUTdOejJvNEx1T2dsa2NVMjV0?=
 =?utf-8?B?dTlJZlNiSGxneGNFVmpCeVF5dTJnM2VNRGx1RzZGUys0OUNCVGVXekkxOTdT?=
 =?utf-8?B?eGgxWjhKdFh1dVJ6ZDg0M1B1SVh4SStwTzluRC9jRm5WRk55UWk3MDhmUFAx?=
 =?utf-8?B?SGw3SlZOME5maXp5N3hHVitjd3dieTJ4bFp4NUc1Vm5uMjAyV2VVdz09?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <E04D00E75F6DB449A2CDF4B10C1FA90B@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: d0d5c151-e417-429d-b69e-08d9e4bde8fb
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2022 13:30:55.7304
 (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: sVwjzZzJwKs9k1xlN4w5FIl/SUlCAHIArGUG7RG/0iU5LjG4rXSc+XHKuL4E38M9KWFyXHKQM6rW8HvQVBqZV5QcxCiOOsMlYzRn6RosA7Lc/wiccj5SWywJyy2i93Ot
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR03MB3749
X-Proofpoint-GUID: kZbuJDqbHlGh5drQyfhH43XI6DOC9XVb
X-Proofpoint-ORIG-GUID: kZbuJDqbHlGh5drQyfhH43XI6DOC9XVb
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-31_05,2022-01-31_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0
 lowpriorityscore=0 suspectscore=0 phishscore=0 bulkscore=0
 priorityscore=1501 mlxscore=0 mlxlogscore=999 malwarescore=0 adultscore=0
 clxscore=1015 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2201110000 definitions=main-2201310090

DQoNCk9uIDMxLjAxLjIyIDEzOjM5LCBKYW4gQmV1bGljaCB3cm90ZToNCj4gT24gMzEuMDEuMjAy
MiAxMjoyMywgT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gd3JvdGU6DQo+PiBPbiAzMS4wMS4yMiAx
MzoxMCwgUm9nZXIgUGF1IE1vbm7DqSB3cm90ZToNCj4+PiBSaWdodCAoc2VlIG15IHByZXZpb3Vz
IHJlcGx5IHRvIHRoaXMgY29tbWVudCkuIEkgdGhpbmsgaXQgd291bGQgYmUNCj4+PiBlYXNpZXIg
KGFuZCBjbGVhbmVyKSBpZiB5b3Ugc3dpdGNoZWQgdGhlIGRlZmF1bHQgYmVoYXZpb3IgcmVnYXJk
aW5nDQo+Pj4gdW5oYW5kbGVkIHJlZ2lzdGVyIGFjY2VzcyBmb3IgZG9tVXMgYXQgdGhlIHN0YXJ0
IG9mIHRoZSBzZXJpZXMgKGRyb3ANCj4+PiB3cml0ZXMsIHJlYWRzIHJldHVybnMgfjApLCBhbmQg
dGhlbiB5b3Ugd29uJ3QgbmVlZCB0byBhZGQgYWxsIHRob3NlDQo+Pj4gZHVtbXkgaGFuZGxlciB0
byBkcm9wIHdyaXRlcyBhbmQgcmV0dXJuIH4wIGZvciByZWFkcy4NCj4+Pg0KPj4+IEl0J3MgZ29p
bmcgdG8gYmUgbW9yZSB3b3JrIGluaXRpYWxseSBhcyB5b3Ugd291bGQgbmVlZCB0byBzdXBwb3J0
DQo+Pj4gcGFzc3Rocm91Z2ggb2YgbW9yZSByZWdpc3RlcnMsIGJ1dCBpdCdzIHRoZSByaWdodCBh
cHByb2FjaCB0aGF0IHdlDQo+Pj4gbmVlZCBpbXBsZW1lbnRhdGlvbiB3aXNlLg0KPj4gV2hpbGUg
SSBhZ3JlZSBpbiBnZW5lcmFsLCB0aGlzIGVmZmVjdGl2ZWx5IG1lYW5zIHRoYXQgSSdsbCBuZWVk
IHRvIHByb3ZpZGUNCj4+IGhhbmRsaW5nIGZvciBhbGwgUENJZSByZWdpc3RlcnMgYW5kIGNhcGFi
aWxpdGllcyBmcm9tIHRoZSB2ZXJ5IHN0YXJ0Lg0KPj4gT3RoZXJ3aXNlIG5vIGd1ZXN0IGJlIGFi
bGUgdG8gcHJvcGVybHkgaW5pdGlhbGl6ZSBhIFBDSSBkZXZpY2Ugd2l0aG91dCB0aGF0Lg0KPj4g
T2YgY291cnNlLCB3ZSBtYXkgd2FudCBzdGFydGluZyBmcm9tIHN0dWJzIGluc3RlYWQgb2YgcHJv
cGVyIGVtdWxhdGlvbiwNCj4+IHdoaWNoIHdpbGwgZGlyZWN0IHRoZSBhY2Nlc3MgdG8gcmVhbCBI
VyBhbmQgbGF0ZXIgb24gd2UgYWRkIHByb3BlciBlbXVsYXRpb24uDQo+PiBCdXQsIGFnYWluLCB0
aGlzIGlzIGdvaW5nIHRvIGJlIGEgcmF0aGVyIGJpZyBwaWVjZSBvZiBjb2RlIHdoZXJlIHdlIG5l
ZWQNCj4+IHRvIGV4cGxpY2l0bHkgaGFuZGxlIGV2ZXJ5IHBvc3NpYmxlIGNhcGFiaWxpdHkuDQo+
IFNpbmNlIHRoZSB0d28gc3ViLXRocmVhZHMgYXJlIG5vdyBhYm91dCBleGFjdGx5IHRoZSBzYW1l
IHRvcGljLCBJJ20NCj4gYW5zd2VyaW5nIGhlcmUgaW5zdGVhZCBvZiB0aGVyZS4NCj4NCj4gTm8s
IHlvdSBhcmUgbm90IGdvaW5nIHRvIG5lZWQgdG8gZW11bGF0ZSBhbGwgcG9zc2libGUgY2FwYWJp
bGl0aWVzLg0KPiBXZSAob3IgcmVhbGx5IHFlbXUpIGRvbid0IGRvIHRoaXMgb24geDg2IGVpdGhl
ci4gQ2VydGFpbiBjYXBhYmlsaXRpZXMNCj4gbWF5IGJlIGEgbXVzdCwgYnV0IG5vdCBldmVyeXRo
aW5nLiBUaGVyZSBhcmUgYWxzbyBkZXZpY2Ugc3BlY2lmaWMNCj4gcmVnaXN0ZXJzIG5vdCBjb3Zl
cmVkIGJ5IGFueSBjYXBhYmlsaXR5IHN0cnVjdHVyZXMgLSB3aGF0IHRvIGRvIHdpdGgNCj4gdGhv
c2UgaXMgZXZlbiBtb3JlIG9mIGEgcXVlc3Rpb24uDQo+DQo+IEZ1cnRoZXJtb3JlIGZvciBzb21l
IG9mIHRoZSBmaWVsZHMganVzdGlmaWNhdGlvbiB3aHkgYWNjZXNzIHRvIHRoZQ0KPiByYXcgaGFy
ZHdhcmUgdmFsdWUgaXMgZmluZSBpcyBnb2luZyB0byBiZSBlYXN5OiByL28gZmllbGRzIGxpa2UN
Cj4gdmVuZG9yIGFuZCBkZXZpY2UgSUQsIGZvciBleGFtcGxlLiBCdXQgZXZlcnkgYml0IHlvdSBh
bGxvdyBkaXJlY3QNCj4gYWNjZXNzIHRvIG5lZWRzIHRvIGNvbWUgd2l0aCBqdXN0aWZpY2F0aW9u
Lg0KPg0KPj4gQXQgdGhlIG1vbWVudCB3ZSBhcmUgbm90IGdvaW5nIHRvIGNsYWltIHRoYXQgdlBD
SSBwcm92aWRlcyBhbGwgbWVhbnMgdG8NCj4+IHBhc3MgdGhyb3VnaCBhIFBDSSBkZXZpY2Ugc2Fm
ZWx5IHdpdGggdGhpcyByZXNwZWN0IGFuZCB0aGlzIGlzIHdoeSB0aGUgZmVhdHVyZQ0KPj4gaXRz
ZWxmIHdvbid0IGV2ZW4gYmUgYSB0ZWNoIHByZXZpZXcgeWV0LiBGb3IgdGhhdCByZWFzb24gSSB0
aGluayB3ZSBjYW4gc3RpbGwNCj4+IGhhdmUgaW1wbGVtZW50ZWQgb25seSBjcnVjaWFsIHNldCBv
ZiBoYW5kbGVycyBhbmQgc3RpbGwgYWxsb3cgdGhlIHJlc3QgdG8NCj4+IGJlIHJlYWQvd3JpdGUg
ZGlyZWN0bHkgd2l0aG91dCBlbXVsYXRpb24uDQo+IEkgdGhpbmsgeW91IG5lZWQgdG8gc2VwYXJh
dGUgd2hhdCB5b3UgbmVlZCBmb3IgZGV2ZWxvcG1lbnQgZnJvbSB3aGF0DQo+IGdvZXMgdXBzdHJl
YW06IEZvciBkZXYgcHVycG9zZXMgeW91IGNhbiB2ZXJ5IHdlbGwgaW52ZXJ0IHRoZSBwb2xpY3kN
Cj4gZnJvbSB3aGl0ZS0gdG8gYmxhY2stbGlzdGluZy4gQnV0IGlmIHdlIGFjY2VwdGVkIHRoZSBs
YXR0ZXIgaW50byB0aGUNCj4gbWFpbiB0cmVlLCB0aGUgcmlzayB3b3VsZCBiZSB0aGVyZSB0aGF0
IHNvbWV0aGluZyBnZXRzIG1pc3NlZCBhdCB0aGUNCj4gdGltZSB3aGVyZSB0aGUgcGVybWlzc2lv
biBtb2RlbCBnZXRzIGNoYW5nZWQgYXJvdW5kLg0KPg0KPiBZb3UgY291bGQgZXZlbiBoYXZlIGEg
bm9uLWRlZmF1bHQgbW9kZSBvcGVyYXRpbmcgdGhlIHdheSB5b3Ugd2FudCBpdA0KPiAoYWxvbmcg
dGhlIGxpbmVzIG9mIHBjaWJhY2sncyBwZXJtaXNzaXZlIG1vZGUpLCBhbGxvd2luZyB5b3UgdG8g
Z2V0DQo+IGF3YXkgd2l0aG91dCBuZWVkaW5nIHRvIGNhcnJ5IHByaXZhdGUgcGF0Y2hlcy4gVGhp
bmdzIG1heSBhbHNvDQo+IGluaXRpYWxseSBvbmx5IHdvcmsgaW4gdGhhdCBtb2RlLiBCdXQgdGhl
IGRlZmF1bHQgc2hvdWxkIGJlIGEgbW9kZQ0KPiB3aGljaCBpcyBzZWN1cmUgKGFuZCB3aGljaCBw
ZXJoYXBzIGluaXRpYWxseSBvZmZlcnMgb25seSB2ZXJ5IGxpbWl0ZWQNCj4gZnVuY3Rpb25hbGl0
eSkuDQpPaywgc28gdG8gbWFrZSBpdCBjbGVhcjoNCjEuIFdlIGRvIG5vdCBhbGxvdyB1bmhhbmRs
ZWQgYWNjZXNzIGZvciBndWVzdHM6IGZvciB0aGF0IEkgd2lsbCBjcmVhdGUgYQ0KZGVkaWNhdGVk
IHBhdGNoIHdoaWNoIHdpbGwgaW1wbGVtZW50IHN1Y2ggcmVzdHJpY3Rpb25zLiBTb21ldGhpbmcg
bGlrZQ0KdGhlIGJlbG93IChmb3IgYm90aCB2UENJIHJlYWQgYW5kIHdyaXRlKToNCg0KZGlmZiAt
LWdpdCBhL3hlbi9kcml2ZXJzL3ZwY2kvdnBjaS5jIGIveGVuL2RyaXZlcnMvdnBjaS92cGNpLmMN
CmluZGV4IGM1ZTY3NDkxYzI0Zi4uOWVmMmExYjVhZjU4IDEwMDY0NA0KLS0tIGEveGVuL2RyaXZl
cnMvdnBjaS92cGNpLmMNCisrKyBiL3hlbi9kcml2ZXJzL3ZwY2kvdnBjaS5jDQpAQCAtMzQ3LDYg
KzM0Nyw3IEBAIHVpbnQzMl90IHZwY2lfcmVhZChwY2lfc2JkZl90IHNiZGYsIHVuc2lnbmVkIGlu
dCByZWcsIHVuc2lnbmVkIGludCBzaXplKQ0KIMKgwqDCoMKgIGNvbnN0IHN0cnVjdCB2cGNpX3Jl
Z2lzdGVyICpyOw0KIMKgwqDCoMKgIHVuc2lnbmVkIGludCBkYXRhX29mZnNldCA9IDA7DQogwqDC
oMKgwqAgdWludDMyX3QgZGF0YSA9IH4odWludDMyX3QpMDsNCivCoMKgwqAgYm9vbCBoYW5kbGVk
ID0gZmFsc2U7DQoNCiDCoMKgwqDCoCBpZiAoICFzaXplICkNCiDCoMKgwqDCoCB7DQpAQCAtNDA1
LDYgKzQwNiw4IEBAIHVpbnQzMl90IHZwY2lfcmVhZChwY2lfc2JkZl90IHNiZGYsIHVuc2lnbmVk
IGludCByZWcsIHVuc2lnbmVkIGludCBzaXplKQ0KIMKgwqDCoMKgwqDCoMKgwqAgaWYgKCBjbXAg
PiAwICkNCiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29udGludWU7DQoNCivCoMKgwqDCoMKg
wqDCoCBoYW5kbGVkID0gdHJ1ZTsgLyogRm91bmQgdGhlIGhhbmRsZXIgZm9yIHRoaXMgYWNjZXNz
LiAqLw0KKw0KIMKgwqDCoMKgwqDCoMKgwqAgaWYgKCBlbXUub2Zmc2V0IDwgci0+b2Zmc2V0ICkN
CiDCoMKgwqDCoMKgwqDCoMKgIHsNCiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLyogSGVhZGlu
ZyBnYXAsIHJlYWQgcGFydGlhbCBjb250ZW50IGZyb20gaGFyZHdhcmUuICovDQpAQCAtNDMyLDYg
KzQzNSwxMCBAQCB1aW50MzJfdCB2cGNpX3JlYWQocGNpX3NiZGZfdCBzYmRmLCB1bnNpZ25lZCBp
bnQgcmVnLCB1bnNpZ25lZCBpbnQgc2l6ZSkNCiDCoMKgwqDCoCB9DQogwqDCoMKgwqAgc3Bpbl91
bmxvY2soJnBkZXYtPnZwY2lfbG9jayk7DQoNCivCoMKgwqAgLyogQWxsIHVuaGFuZGxlZCBndWVz
dCByZXF1ZXN0cyByZXR1cm4gYWxsIDEncy4gKi8NCivCoMKgwqAgaWYgKCAhaXNfaGFyZHdhcmVf
ZG9tYWluKGQpICYmICFoYW5kbGVkICkNCivCoMKgwqDCoMKgwqDCoCByZXR1cm4gfih1aW50MzJf
dCkwOw0KKw0KIMKgwqDCoMKgIGlmICggZGF0YV9vZmZzZXQgPCBzaXplICkNCiDCoMKgwqDCoCB7
DQogwqDCoMKgwqDCoMKgwqDCoCAvKiBUYWlsaW5nIGdhcCwgcmVhZCB0aGUgcmVtYWluaW5nLiAq
Lw0KDQpAUm9nZXI6IGRvZXMgdGhlIGFib3ZlIHdvcmsgZm9yIHlvdT8NCg0KMi4gRm9yIHRoZSB0
aW1lIGJlaW5nLCB3aGlsZSBvbmx5IGEgcmVkdWNlZCBzZXQgb2YgcmVnaXN0ZXJzIGlzIGVtdWxh
dGVkLA0KZXZlcnlvbmUgd2hvIHdhbnRzIHRvIHRlc3QgdlBDSSBmb3IgZ3Vlc3RzIHNob3VsZCBl
aXRoZXIgY3JlYXRlIHRoZWlyIG93bg0KcGF0Y2ggd2l0aCB0aG9zZSBoYW5kbGVycyBpbXBsZW1l
bnRlZCBvciBvdmVyY29tZSB0aGF0IGluIGFueSBvdGhlcg0Kc3VpdGFibGUgd2F5LCBlLmcuIHdp
dGggYSBoYWNrIHRoYXQgcmVtb3ZlcyBIVyByZWdpc3RlciBhY2Nlc3MgcHJvdGVjdGlvbg0Kb3Ig
YnkgYW55IG90aGVyIG1lYW5zLg0KDQo+DQo+PiBBbm90aGVyIHF1ZXN0aW9uIGlzIHdoYXQgbmVl
ZHMgdG8gYmUgZG9uZSBmb3IgdmVuZG9yIHNwZWNpZmljIGNhcGFiaWxpdGllcz8NCj4+IEhvdyB0
aGVzZSBhcmUgZ29pbmcgdG8gYmUgZW11bGF0ZWQ/DQo+IEJ5IHZlbmRvciBzcGVjaWZpYyBjb2Rl
LCBJJ20gYWZyYWlkLiBBc3N1bWluZyB0aGVzZSBjYXBhYmlsaXRpZXMNCj4gcmVhbGx5IG5lZWQg
ZXhwb3NpbmcgaW4gdGhlIGZpcnN0IHBsYWNlLg0KSSBoYXZlIGEgZmVlbGluZyB0aGlzIGlzIG5v
dCBnb2luZyB0byBoYXBwZW4uLi4NCj4NCj4gSmFuDQo+DQoNClRoYW5rIHlvdSwNCk9sZWtzYW5k
cg==


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 13:36:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 13:36:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263099.455672 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEWqx-00059x-JY; Mon, 31 Jan 2022 13:36:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263099.455672; Mon, 31 Jan 2022 13:36:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEWqx-00059q-FP; Mon, 31 Jan 2022 13:36:19 +0000
Received: by outflank-mailman (input) for mailman id 263099;
 Mon, 31 Jan 2022 13:36:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Fky=SP=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nEWqw-00059k-5j
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 13:36:18 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c3cee17b-829a-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 14:36:16 +0100 (CET)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2053.outbound.protection.outlook.com [104.47.6.53]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-23-ZySY1B-FM9u56zfKGGtVlA-1; Mon, 31 Jan 2022 14:36:14 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AS8PR04MB8104.eurprd04.prod.outlook.com (2603:10a6:20b:3b1::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.20; Mon, 31 Jan
 2022 13:36:13 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45%6]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 13:36:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c3cee17b-829a-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643636176;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=LHdtx9lqJXQOB46IXsPNkQuT2ZN1zWa6zDBLdoFr45w=;
	b=kQ6kbZZldi3Ugpli4CeIioAzPYWntMwosC5XK3QgMphWVpPRxvxs4m7l020tJ/mVcP95c/
	H8Nxxsw/s868XdIbXr69j+x8OWoSDvXwTlgGvp8fqHq6ccrVmOdMtwZd59CVheeYDM+zey
	6Gr34ZkjuqqdWIlTXn0xCZilohmbD0I=
X-MC-Unique: ZySY1B-FM9u56zfKGGtVlA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aDl8Gonx8ITJix+TIFkvZVK1XZj7Ie3RaXoUXnhV+WWfWjqPZ6cbB7Shz3hwcqMUg63KBirz2/cLPEltDf3xzgiZxku91IxgOYh7JSr5EuKH8EiDbKWvUbYIVOOcdp5soQgAOnacpKhO+nBLGJuasGQPwhVIdE4JWSFT10yK6sw9RoyBKeiyOnc6pF/hi53mX7GXqjBXDdRn/UlPJ/bpIZg+2okgrlR/jkSi0xpLEWprL1/U4RzpaMMay/ypOVQYj/o26kl1iWz39Qk/9WuaFGH6tiXzYpS7mTJXPGjNv/2NHTZMqXR8TgXapTSOFwhE1kYTgM1YOfDCt6ObjbR/tQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4G+f5m8hWIDUXAPivUIcHKl8jCbB4ejms75XP71uiJM=;
 b=GlDUSA95nt1FbLWuyRja9oyVlln/suU6S4AfWDWfIw6upRJSzRdalUhGVV2cUYN+sSdaxypzYhlzwCVmxMibRqQ/6eBh3UJj40KnwuQ+8dAbCURoXACCKockFkFDT/39I0jJfGXITt5zTEZGg9uyyIYKK1DT0KRdASRMyD4aL9EKhw8ujRj5XE5dVexeyL3hNw3auljlppjHF6+/xYlgobiwsbbi+niwEfYgltoCbEBR1ybb/CxEt+AZYQCqwCaIi3Y9avY2zNC+pk+RLNOMc66GeECg5aarm1uPRbKTahB5Vx/en5RIzj+MFNZi8ObACxxB1VfZC1p/AE/WM3N/rQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2cfb6134-ab5e-3231-45f4-692c31302b1e@suse.com>
Date: Mon, 31 Jan 2022 14:36:12 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v5 06/14] vpci/header: implement guest BAR register
 handlers
Content-Language: en-US
To: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "julien@xen.org" <julien@xen.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Artem Mygaiev <Artem_Mygaiev@epam.com>,
 "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
 "george.dunlap@citrix.com" <george.dunlap@citrix.com>,
 "paul@xen.org" <paul@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Rahul Singh <rahul.singh@arm.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-7-andr2000@gmail.com> <Yd7K+9fvnBz+WTXA@Air-de-Roger>
 <77c00154-646c-a2a3-98cb-be4324003446@epam.com>
 <c7e87ebd-2c56-d510-b08b-02d53f9158d1@epam.com>
 <YffDmW4JGk+iDIVF@Air-de-Roger>
 <6d1772b1-25f1-0f63-8b8a-5dfaf94b2953@epam.com>
 <36fe9000-87a8-eefd-9baf-331bf4bbf1ad@suse.com>
 <0b20be9a-61e6-d286-b379-92c29ee9a804@epam.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <0b20be9a-61e6-d286-b379-92c29ee9a804@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AS8P189CA0002.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:20b:31f::21) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 99140143-a6c1-4173-5ce8-08d9e4bea5cb
X-MS-TrafficTypeDiagnostic: AS8PR04MB8104:EE_
X-Microsoft-Antispam-PRVS:
	<AS8PR04MB81048C6040FCE5F4E40FB62CB3259@AS8PR04MB8104.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:
	jgqwjh8C2X+eLkUCzRTYFCz0zh0ygtKHWiKzx2gjiLE7iucT8Cfce6ZGiqyULMmfyviR/fZIQBAsEFpu/Sp/X+x1+e4rY6I492+WVjDGBwHdkwHca7BZXy29nGquUh+VSasUvg54E/Fm3DnhRHiO6MM6LGb2QXoI99z5CqpJHAW2+ChXPlGXa1ebb+UGsfGcS2CvuI5IuPO2dL/gm18Ra3pbcjqf1mLTbMkVAvjtUrtb7xeEfsW+Eowb5G+yC9VZ5NH7QFmlLO3gOHf31wAoDKacQJJRbMAi1V3kWw2f0lWTmNvFjTMwG7+CHCdmGJ3soKzzvQYCVo8QqYW8MkMs+ziE7V2sfEo7w7lMHHB2vpNCpcnxcRCod/ty5SXBRjUVwx/PRCi6CjYxginwb/7nCsTUbqvOgzE1A4LzsokgZ/9cLva2FVSa84sf4SV1RFk99qjTCRySq2KZwyF5jGSZJyqpvnw/GcPFeRYdrI8A5XnzgGj/17jDYVCyooQEUbj0gDKaATUvpB7JChSZCKTlaXlO5kYoKW5RFxv2VS55uW1yWhATZBASLYbW5tFGZoWyJgYPSPJoGmKzGmi9UKbblOD8C0lu+/aeV/w6v2K77SMM7vTPOaZfXM14mMsk1G8Wd5QpgI1yZqA+bTYd818WBDzsGKXmumXn11XenOQTkGsJbyRDYRCrYamSvnXGWR3jRp0ORioDJXacUmCSRzVm0ICn963tc4MS/CUqoxCFibZPRMhooTeK2TNHA3b/7gpc
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:(13230001)(366004)(54906003)(86362001)(316002)(6506007)(38100700002)(6512007)(2906002)(6916009)(508600001)(53546011)(31696002)(83380400001)(6486002)(66946007)(26005)(5660300002)(66476007)(186003)(7416002)(8936002)(2616005)(36756003)(8676002)(4326008)(31686004)(66556008)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?/eW0zPp9eHDHTGX9mZOdgqLrFe/UOEzgk+X4e0kQiyBVBC/TwSsmi1qVvhgK?=
 =?us-ascii?Q?TlvOExFOF5ASACgRKOxNRfKpOfPubhBmb/1h0tBhcWTMQMc4+hAq7ACYWncN?=
 =?us-ascii?Q?gQZz0amiFBONUyNXiibaV9dYirzD6CV0VKfisCB+d6+toF4DV1qZYdzH4X/L?=
 =?us-ascii?Q?cVRKDNpwvhY+6pkmnsKNshT39GqQ14ZMAHqlta/UCR5o/89qK3C3FLT6wGx2?=
 =?us-ascii?Q?lCrx68xucrBCw591ZuT7+Kn8x19OJVrPQ8Jqb8tdCqIE7C4d3RKR5+c7Kazb?=
 =?us-ascii?Q?wY+bGiKgVgDt/qFA1CV7iEQ6UL/TDrD1f699b1w6M1uxRhSs8dH0opGYbF6S?=
 =?us-ascii?Q?QFES7F7D21oqgll9Ge+MG+DvGhK/O/R4I57my4xh0njuu+RU2TLL+KsLyEq3?=
 =?us-ascii?Q?YDQaPDUc0KNS5pvUVLzrFDABOguT9/7PJOum7qiQ9X6MnQ8y0s+2dR6zKSmi?=
 =?us-ascii?Q?uf23Cu0LgAgV4Lr5QOeg5YkGcdhIKj7aHZ6iBGb5pH0xe0zKYA0Zy3TJW54n?=
 =?us-ascii?Q?mSieF1rQutjDgdCdjplZN1EKyTGK5bRR10HxKMW9mqHBJT5GKJqz+I712UcS?=
 =?us-ascii?Q?WdBMmpRyOqtSuqUEGP1g+l+SnCmC6mX3qX0pz1uvYi6sM8hfiokUanxFILpc?=
 =?us-ascii?Q?cfdtniUqaPTR0/R3hT5WEgsNe5yiZo+gNAex3EO7LaXbKdWnZMU65KZQvL95?=
 =?us-ascii?Q?3nsmMJaPvRkKs7YbsxD3RLHEQuaQktkmVFPADz88JKDZqFNzbCd5oOW4Jf0+?=
 =?us-ascii?Q?WRPdqrLYGYzURcyfu1S2LYRLBHbdNyhQHeiifTzH6LaftveW2rGeFCd3wo4t?=
 =?us-ascii?Q?FLnUcm4xQfGJiNvH1cGRbo4PSXtq3ZetbNS7PVORfMulxr9c8fs0lGphoENP?=
 =?us-ascii?Q?DQmtOf3XTtsJbDYmDhKT2s80Z5rY+S+QSYQDu99BgfJ8E+lLZjfhlr7VRg2C?=
 =?us-ascii?Q?dXSMb0Tfpq3uvoNlI+5yx7gHZwUCe1SJ1kWexBE5MPXQT0P2bZIbZ2t8fnQa?=
 =?us-ascii?Q?9+d67BmJo01vj639u7EI48SkTiuixeAiBoBk9fVcuSTXq0u3HoNFxGzQu33W?=
 =?us-ascii?Q?TsBmHJB5WFfLeqkyKWkkIIi+M6k8LEVWAvCErTXRue+UxRyO1oO89Rjbx6SF?=
 =?us-ascii?Q?Jmlop8dwPBanyGaP3TbzI4zO5RB4SOXNdO2H9iSjSJgq+ijDEgrAQv7Ps1x4?=
 =?us-ascii?Q?422Dyj6UwM/RgjzDGdjGApLY0t5tHZuBGOHj8VhnpPKZNWZ4U9d0+9yPC6Li?=
 =?us-ascii?Q?scWRc7/JVwXvzSr8FNzUq6UR+KRWClKkNYJZSSfz13B/MvmPaOFkrKDpAegx?=
 =?us-ascii?Q?1Vt9e38OX/wsttF0z7bM2jKqzhJCUzi21gNdHjel/rVQ2biquPSrn6AbliV3?=
 =?us-ascii?Q?eYW1m4Tkm7k98Gtil+flwwPirZywyAna/ZKEtHEiEMPx8nT8jWxXsxJAgbkz?=
 =?us-ascii?Q?exO0aL71y4lV3eTP1iTXDu6EHeuYX6L58zyD1bwtc+Ay8fd2HQLK7i6AImjB?=
 =?us-ascii?Q?0/esYpYjHFKajfj1WvT2/HmqVsyx0nU3jkEfTrymG0IL9EySE3EF1xY2Pj9t?=
 =?us-ascii?Q?6ZhTmOz1ap5gL5cm659DGkyFa1FnrLr6rVn4jc19AzYqDoJOmngbJ1aFkcWL?=
 =?us-ascii?Q?APFwS9Lv/cEqRg92AZOifgg=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 99140143-a6c1-4173-5ce8-08d9e4bea5cb
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 13:36:12.8779
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vThJJO9ZgY4S2frMgPWNcJ9f+AZ87+PjTxUW8vMlnD7tokTK/TVRbJLr3gcpSde7PrOQDoE0XWd8su6M6knFJA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8104

On 31.01.2022 14:30, Oleksandr Andrushchenko wrote:
>=20
>=20
> On 31.01.22 13:39, Jan Beulich wrote:
>> On 31.01.2022 12:23, Oleksandr Andrushchenko wrote:
>>> On 31.01.22 13:10, Roger Pau Monn=C3=A9 wrote:
>>>> Right (see my previous reply to this comment). I think it would be
>>>> easier (and cleaner) if you switched the default behavior regarding
>>>> unhandled register access for domUs at the start of the series (drop
>>>> writes, reads returns ~0), and then you won't need to add all those
>>>> dummy handler to drop writes and return ~0 for reads.
>>>>
>>>> It's going to be more work initially as you would need to support
>>>> passthrough of more registers, but it's the right approach that we
>>>> need implementation wise.
>>> While I agree in general, this effectively means that I'll need to prov=
ide
>>> handling for all PCIe registers and capabilities from the very start.
>>> Otherwise no guest be able to properly initialize a PCI device without =
that.
>>> Of course, we may want starting from stubs instead of proper emulation,
>>> which will direct the access to real HW and later on we add proper emul=
ation.
>>> But, again, this is going to be a rather big piece of code where we nee=
d
>>> to explicitly handle every possible capability.
>> Since the two sub-threads are now about exactly the same topic, I'm
>> answering here instead of there.
>>
>> No, you are not going to need to emulate all possible capabilities.
>> We (or really qemu) don't do this on x86 either. Certain capabilities
>> may be a must, but not everything. There are also device specific
>> registers not covered by any capability structures - what to do with
>> those is even more of a question.
>>
>> Furthermore for some of the fields justification why access to the
>> raw hardware value is fine is going to be easy: r/o fields like
>> vendor and device ID, for example. But every bit you allow direct
>> access to needs to come with justification.
>>
>>> At the moment we are not going to claim that vPCI provides all means to
>>> pass through a PCI device safely with this respect and this is why the =
feature
>>> itself won't even be a tech preview yet. For that reason I think we can=
 still
>>> have implemented only crucial set of handlers and still allow the rest =
to
>>> be read/write directly without emulation.
>> I think you need to separate what you need for development from what
>> goes upstream: For dev purposes you can very well invert the policy
>> from white- to black-listing. But if we accepted the latter into the
>> main tree, the risk would be there that something gets missed at the
>> time where the permission model gets changed around.
>>
>> You could even have a non-default mode operating the way you want it
>> (along the lines of pciback's permissive mode), allowing you to get
>> away without needing to carry private patches. Things may also
>> initially only work in that mode. But the default should be a mode
>> which is secure (and which perhaps initially offers only very limited
>> functionality).
> Ok, so to make it clear:
> 1. We do not allow unhandled access for guests: for that I will create a
> dedicated patch which will implement such restrictions. Something like
> the below (for both vPCI read and write):
>=20
> diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
> index c5e67491c24f..9ef2a1b5af58 100644
> --- a/xen/drivers/vpci/vpci.c
> +++ b/xen/drivers/vpci/vpci.c
> @@ -347,6 +347,7 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg,=
 unsigned int size)
>  =C2=A0=C2=A0=C2=A0=C2=A0 const struct vpci_register *r;
>  =C2=A0=C2=A0=C2=A0=C2=A0 unsigned int data_offset =3D 0;
>  =C2=A0=C2=A0=C2=A0=C2=A0 uint32_t data =3D ~(uint32_t)0;
> +=C2=A0=C2=A0=C2=A0 bool handled =3D false;
>=20
>  =C2=A0=C2=A0=C2=A0=C2=A0 if ( !size )
>  =C2=A0=C2=A0=C2=A0=C2=A0 {
> @@ -405,6 +406,8 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg,=
 unsigned int size)
>  =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( cmp > 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=
 continue;
>=20
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 handled =3D true; /* Found th=
e handler for this access. */
> +
>  =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( emu.offset < r->of=
fset )
>  =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
>  =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 /* Heading gap, read partial content from hardware. */
> @@ -432,6 +435,10 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg=
, unsigned int size)
>  =C2=A0=C2=A0=C2=A0=C2=A0 }
>  =C2=A0=C2=A0=C2=A0=C2=A0 spin_unlock(&pdev->vpci_lock);
>=20
> +=C2=A0=C2=A0=C2=A0 /* All unhandled guest requests return all 1's. */
> +=C2=A0=C2=A0=C2=A0 if ( !is_hardware_domain(d) && !handled )
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return ~(uint32_t)0;
> +
>  =C2=A0=C2=A0=C2=A0=C2=A0 if ( data_offset < 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 /* Tailing gap, read th=
e remaining. */

Except that like for the "tailing gap" you also need to avoid the
"heading gap" ending up in a read of the underlying hardware
register. Effectively you want to deal properly with all
vpci_read_hw() invocations (including the one when no pdev was
found, which for a DomU may simply mean domain_crash()).

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 31 13:41:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 13:41:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263106.455683 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEWwK-0006e6-C2; Mon, 31 Jan 2022 13:41:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263106.455683; Mon, 31 Jan 2022 13:41:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEWwK-0006dx-7u; Mon, 31 Jan 2022 13:41:52 +0000
Received: by outflank-mailman (input) for mailman id 263106;
 Mon, 31 Jan 2022 13:41:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9o41=SP=epam.com=prvs=4030d24c28=oleksandr_andrushchenko@srs-se1.protection.inumbo.net>)
 id 1nEWwI-0006cY-Ej
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 13:41:50 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 894ae853-829b-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 14:41:48 +0100 (CET)
Received: from pps.filterd (m0174676.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20VCwDXK014021;
 Mon, 31 Jan 2022 13:41:44 GMT
Received: from eur01-ve1-obe.outbound.protection.outlook.com
 (mail-ve1eur01lp2055.outbound.protection.outlook.com [104.47.1.55])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3dxbec9c06-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 31 Jan 2022 13:41:44 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com (2603:10a6:20b:153::17)
 by PAXPR03MB7763.eurprd03.prod.outlook.com (2603:10a6:102:209::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.20; Mon, 31 Jan
 2022 13:41:39 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6]) by AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6%3]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 13: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: 894ae853-829b-11ec-8eb8-a37418f5ba1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GpxQ2eI5h7dJxEMo8WjrlccsVw3xXo2ckVBHKudSWdtGRkS/lbKIL0CcI9XeSAfUglVQCntLY207Oy0dCusT+/vGgAv6LchZtaRpsaObkVX0d95A9F1rC/kzaI4L9KQ/jj1fc9hXTTdp0F4uGhfDhdnPXl83Uwc1K7LKZQHZ25oRwgb+4eiBF/PbumEWDaTVaM9IhZQCr8fl34cOFOL9grMzm/wP6pPCNmZqnmBCiC9aKBMMPZHUqzsv+VqPSN8p2whstI5MakNMvmIXNskRcKYchLZtuY9sSkejgsG/vGnxZ39PrXTDS9MTLTsUmjjAE9MRcVtVpLTEQAHxmAAvng==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=r6aSQR8yWXogU0YXpl8wHMKZdaFhSqq05PAe/YsnMKQ=;
 b=mDJplXBLHoL4hglbRpoF/Z8RxqvZj4TpnIeDhf41nXU47Mo/bF/G0zuWouqGtSe1rEa9aismgG8lBrUyO/7VQzAVVMpzo9kkmicIa7lt37vkOMZ7KpZcr6tUtvP6rPQODZdhzTeE/n6USjxp+ct9TB1PGgnemU0GuCsH885mrfwbPgK7PhKq8/zL073vj9lpUE/WcpCsQVvTra0Sv66x+xkSKVhwdMEuDXb2xUf1kYkXoPKvem53/Q+D/rHgugrQV1SQlFjEgeTjXMbonacNMMBG6o6OU/yC7iCt7lgS1ha9kNbqdSXKkC5s114EtPe0JDBCJLfoVIEA6gWMVzwlog==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=r6aSQR8yWXogU0YXpl8wHMKZdaFhSqq05PAe/YsnMKQ=;
 b=N+jMFAezveoQMj6i4KH8jUF/6/fZATR5XBOSpX5W6P5nQ8PmCBajpipMLxdE1HhkCe7MN/bThgo36krjKsyjQUSvrFbGjeHbc0UMYJ2rPRcmmbeQwsGKPnDMIa7CU8ed82UoJh/YGRkvzzjIz9mv+iCz7pwRlt+JRppaD4BrcFPV6yF+r35D/7UYhQoQDA87MURvA6kH8QbH3tFSr9oF0I7oohPGmiHWc+t1NEi6iKJiQTI3hfwqW5eXi4jmYNuh5mUyTf5Y6dWg+xcmawU9WUAJwlOXrk+P23JHNdPIIXfXJpD+svPDadDWgWHN6PHQf7WVsRXu8E1MS20PbBLvYA==
From: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        "julien@xen.org" <julien@xen.org>,
        "sstabellini@kernel.org"
	<sstabellini@kernel.org>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Artem Mygaiev <Artem_Mygaiev@epam.com>,
        "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
        "george.dunlap@citrix.com" <george.dunlap@citrix.com>,
        "paul@xen.org"
	<paul@xen.org>,
        Bertrand Marquis <bertrand.marquis@arm.com>,
        Rahul Singh
	<rahul.singh@arm.com>,
        =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>
Subject: Re: [PATCH v5 06/14] vpci/header: implement guest BAR register
 handlers
Thread-Topic: [PATCH v5 06/14] vpci/header: implement guest BAR register
 handlers
Thread-Index: 
 AQHX4ewHyWAyD811HEGp8pIjUuVWNaxfndGAgB2tWgCAAA7+AIAACECAgAADxgCAAARsgIAAHxiAgAABegCAAAGFAA==
Date: Mon, 31 Jan 2022 13:41:39 +0000
Message-ID: <39966ef4-ed69-3bf5-ef6b-a4790c7164a2@epam.com>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-7-andr2000@gmail.com> <Yd7K+9fvnBz+WTXA@Air-de-Roger>
 <77c00154-646c-a2a3-98cb-be4324003446@epam.com>
 <c7e87ebd-2c56-d510-b08b-02d53f9158d1@epam.com>
 <YffDmW4JGk+iDIVF@Air-de-Roger>
 <6d1772b1-25f1-0f63-8b8a-5dfaf94b2953@epam.com>
 <36fe9000-87a8-eefd-9baf-331bf4bbf1ad@suse.com>
 <0b20be9a-61e6-d286-b379-92c29ee9a804@epam.com>
 <2cfb6134-ab5e-3231-45f4-692c31302b1e@suse.com>
In-Reply-To: <2cfb6134-ab5e-3231-45f4-692c31302b1e@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 12db8921-ed9a-44c3-1a87-08d9e4bf688a
x-ms-traffictypediagnostic: PAXPR03MB7763:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <PAXPR03MB77637E0B9039D772E2B2B0C7E7259@PAXPR03MB7763.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: 
 wuirACQvoS7kpL4X6IJ+UZZ3OMT2iajzF4hdagYW2zx7WyrFQ8poudoEwkcN+jTsDHQJLIGZsliWopaj6/P9+/xPlw0Mr64PnFeUSdetjWDmJ5NyhVUMAC2bTOSZTNnvxZRP1J3J3ab70761d9Im2Ljw/TUi+e0ig0RqqQlOU8tU4PYXFDLAUIDkn/vQXt2ne9oLU83LnpCZG0+IDj/lbisC/XxnRhgiX9II98VwTO0ZJrVMghUatZmdSqY559SiyDu+ed7DFRriJHGFIK/xrD7XpGY+T8qFYJZoxbdpxXvd/NVSUgY82Mi0MLvbuVfJ5D8ufbPVLac7+O9uBq3iLC1xmKGwBI9Ir1d6UeBPwL4Xk2jvhiIARnfXymWIGw6/lGcQfrADSspA+JMWLUf0y5l+LWamW0hvWwOfbGCZG0n95xVrglhG2toxanQzT3RBmQGyUj6VNspkal4D90gQW2LyMHJ7cNhw9abNky4czohqDwh3FgFHOpD8L10tY0bq6znDe1RVsONPurGjeo7/My2JsNE1U1P310wZ56SBSg9JVH+UXovSKxz/apMC6X8RgjcpI6e2BFqEgv4dsSWotdqj1I/Jm5i4eaNtznxg792tegK/26ww2VvtoOyxIVyoyxyT0PlLxLgNbE7afmIdJh1sbM0J705RIlKeZ9Dc8Q6PaF0vtEAYObzcXMRZ/lOLc41OnHso2iYLKrpKq8IaZpfkFRdrV7nuHvhmto8g59OHs3vo8gQs/bzE47WIjoGu
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:(13230001)(4636009)(366004)(31696002)(86362001)(64756008)(76116006)(38070700005)(31686004)(6916009)(54906003)(66556008)(66946007)(66476007)(508600001)(6486002)(8936002)(4326008)(8676002)(7416002)(66446008)(5660300002)(316002)(122000001)(38100700002)(6506007)(53546011)(36756003)(71200400001)(2906002)(91956017)(2616005)(83380400001)(6512007)(186003)(26005)(45980500001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?dWF1ZFo1d0kxbDE0OTZuV1NiRXIrWnZsODQ0WG5KUWI4bHd5WW55ZjZyRkJi?=
 =?utf-8?B?NkdzOFltdGNzZTdMVGJZaUdXRFNWSk5IMFY1UnZGTlRmOWR0bFVISmVQNVZl?=
 =?utf-8?B?TXhiT2phVm5OUDJ2RlNQeWZ0NXNkSTdhalRLWkU3MVdKYXQzTmFhZU10TTFL?=
 =?utf-8?B?RjNERWhDcVZ6RnI3NUtXdlpIODUvVzBXanNVdVFHOFlvU0Fma0lvSy9mcjVy?=
 =?utf-8?B?TEE3R3MwQ1ZUNnM2QktqemtRcUo5b0VtMVh1WnI2byt3djgrT1g0Y3FMc0h3?=
 =?utf-8?B?SUR4bXRaNUxFRFlLdU01a01MME9kdnRhU0VzdUZkVGRmckNrSlNybXZjSGpz?=
 =?utf-8?B?OE9WRkE4ZG94TUtoRlVocWlGMXVCZWI5QlV6amhhVE5ZRHo3TEQybGpFaVpz?=
 =?utf-8?B?Zm5acnNIWk9jVUU0QjdJMFlPOHMzWElLUkYwQmdyR1hXS1hVa3F0TjgzM2FB?=
 =?utf-8?B?Wk8yYlEwc0pLaGdVSFJpNXJvUjM1YVg0TFVJR2k5WkpUZ3VsbjVnaU9aYXU3?=
 =?utf-8?B?UFBSeTU3VTRtSDgxYXhURFlsNHF3WHIrUVRMVmw5ZmxWSWFqM1NTOXFIOVhQ?=
 =?utf-8?B?bjB5TlJoOVZUK0wyZ3BNWFpjOHhWOHlDS0Y1bTZxSlV2cWNkZXhJbEswSlRQ?=
 =?utf-8?B?TGRWQ1lkZFUxc2REUitLbFlIakhaZmhteDczVHhSZ0MzYjd5OFRhRXZ6MGNI?=
 =?utf-8?B?YXZjMU03d2dsMGR4L0Exem80T0xhT1B2ZnZBQXBjbU5TK2RaUE41Sk82b2JK?=
 =?utf-8?B?N3UzVUhuNytHektJcEV1Mi91a1JLTi9TU2ZIUUU5SkUxazZ6UEVVYmJZUkgv?=
 =?utf-8?B?c0ZhZ1hhOGJuMTd2NWwxUmsvM1dvWEg3aWtKQnRENFFLaUF5cFlZS0t4akc2?=
 =?utf-8?B?Mk41U0FGa0k0c0UxR1BGYVl2UlZBaEowcDRTNk1kSGVSSTRXZTZhY2JBU1Q1?=
 =?utf-8?B?eGFkZ0Vyd1kwR1JRb1h6c21tUG5GTm4rK08yR2FiT0plRitndzBxMjBWTmEz?=
 =?utf-8?B?RkZ3Vlk5T1o3L0pSYW5LYXRzb3pIRURyakkraERwSUtHekFsRCtUMlFnek0y?=
 =?utf-8?B?NXhZNXdxbDNxbEFYSkMrSm9sT2JOVE1EQTV3cERTOExjWStJWUZSd1NpQWN4?=
 =?utf-8?B?QXJHMElvdmVENi92R1FmelUvZkdqWnQ0ak1GUFp0NStpUWxMcnAxSHVvZTJY?=
 =?utf-8?B?bkZwVldjTXR3QitmcTM5QndlUytudFE1a0lnNjd5T0x6S1ZBU29jMW1rRmJu?=
 =?utf-8?B?WCszNFY3Q2s1OUs0UWlieVRSMm84azduTUV2RXB0aEs1YW55UFJ2L1JwYkdB?=
 =?utf-8?B?ZU9zNFpncFdudzYrdnJTOXZ0emV1Qzk2VW1VaWliclBCaUZUUDc5andRRlhU?=
 =?utf-8?B?SVBTdncvd0lyR1VxL1JtMUxPeVQ2NGNESDJjOWViRVpudXpMck1QUENmR3kx?=
 =?utf-8?B?V1VVUDk4NENsckxpUUtqUGErS1pOdnU0QWFueDFNQ1VzaEJJWStiOTZ2YUxt?=
 =?utf-8?B?aTdySUZqVFVSU0dBWmcxOFdvdHc2RUJqUDJJT1FwUnBzL1lVNEhsQU1XNURL?=
 =?utf-8?B?cXZVV1J2TENyTEhxeE5iaURaRDlmQTdRQS9ITE5pR3I5Wnp3SFJNaHFUZ1pD?=
 =?utf-8?B?K2k5akh0cVU2dXhnZVJmNmg2VFBYdjBtWEp4eW5WODFFekt3b0ZpeURGanJF?=
 =?utf-8?B?dW1WMHFxZEJKaGI1RXhUZU9RUHNpRWg1OW1jMVlmS0FyYkllNGQ4RDBhMEFU?=
 =?utf-8?B?MlUvQkhhT1BvdUtwczZKSkpVTllQcWhvdE5lZGxUeXlodmwrNzFMLzZjSWht?=
 =?utf-8?B?MDhSVXlCa1ErYUFYTDFsM1B4NmdZRXJqV0o2SDZ2Ylp5bG81RGFPYUgxYTho?=
 =?utf-8?B?VGpQTlZ1UmcvSkxCNE1FYzBobUV1T1NmQytLUU5xdTkveUx2WDBsajUxT2N1?=
 =?utf-8?B?czdoaW1ZNnZGUFBGT1EwZlRjbG1LYU9IZ3dFUzBXWmQ0TktFN1E3SHFoU3d1?=
 =?utf-8?B?alE1c2tSRDhlSUdxTGZKVk1pK1AvY0s0eHFaR2VZT3ZDTlNjWGFBMElaY3BI?=
 =?utf-8?B?Tnk4NHVMeDdJQ2p2NFFtU2lQVytRNnY4OEd6cHB2VDhkd3VHclo1d0lTQ1ls?=
 =?utf-8?B?dFpVckd2RFFBMlloUUNRckwxSXRwWXZtLzRab2tybG9ZK1VmOEl1MFFKUk1j?=
 =?utf-8?B?a0F4cENDc1pRanJoZ2Z4c2pEWjBmbHgrV1F0Q2lwVHQyU0t5TURiZ3JkVUJC?=
 =?utf-8?B?QkJPaUhjNmtkZzFManVnQmVkMDVLWGYrK08wbDVjZEdYdjFHeHRDTVNlVUM1?=
 =?utf-8?B?Wm5GdGtvTnJaR0h6YlM0SjNFZmppQ1ROOWFOWXovZ0dibnFCWk8zdz09?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <C220B128BD4645469E7AFE4E0B579E68@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: 12db8921-ed9a-44c3-1a87-08d9e4bf688a
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2022 13:41:39.2934
 (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: lfjBcq+5/c/JCIiUhk9QXWwNiactvXzFvNFAANk9+lVyggkIJzqYjGCwblr35jKXKwznVrAojDdcY6sgCWZsrfeYeOg/dhOOEFAHY8K2gMbEiE0tePCtwCTzejzTS+5C
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7763
X-Proofpoint-GUID: NQxeXQ3bSAurcRYwxXF4p5-wag-QTysy
X-Proofpoint-ORIG-GUID: NQxeXQ3bSAurcRYwxXF4p5-wag-QTysy
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-31_05,2022-01-31_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0
 lowpriorityscore=0 spamscore=0 bulkscore=0 malwarescore=0 clxscore=1015
 suspectscore=0 adultscore=0 priorityscore=1501 mlxlogscore=812
 phishscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2201110000 definitions=main-2201310091

DQoNCk9uIDMxLjAxLjIyIDE1OjM2LCBKYW4gQmV1bGljaCB3cm90ZToNCj4gT24gMzEuMDEuMjAy
MiAxNDozMCwgT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gd3JvdGU6DQo+Pg0KPj4gT24gMzEuMDEu
MjIgMTM6MzksIEphbiBCZXVsaWNoIHdyb3RlOg0KPj4+IE9uIDMxLjAxLjIwMjIgMTI6MjMsIE9s
ZWtzYW5kciBBbmRydXNoY2hlbmtvIHdyb3RlOg0KPj4+PiBPbiAzMS4wMS4yMiAxMzoxMCwgUm9n
ZXIgUGF1IE1vbm7DqSB3cm90ZToNCj4+Pj4+IFJpZ2h0IChzZWUgbXkgcHJldmlvdXMgcmVwbHkg
dG8gdGhpcyBjb21tZW50KS4gSSB0aGluayBpdCB3b3VsZCBiZQ0KPj4+Pj4gZWFzaWVyIChhbmQg
Y2xlYW5lcikgaWYgeW91IHN3aXRjaGVkIHRoZSBkZWZhdWx0IGJlaGF2aW9yIHJlZ2FyZGluZw0K
Pj4+Pj4gdW5oYW5kbGVkIHJlZ2lzdGVyIGFjY2VzcyBmb3IgZG9tVXMgYXQgdGhlIHN0YXJ0IG9m
IHRoZSBzZXJpZXMgKGRyb3ANCj4+Pj4+IHdyaXRlcywgcmVhZHMgcmV0dXJucyB+MCksIGFuZCB0
aGVuIHlvdSB3b24ndCBuZWVkIHRvIGFkZCBhbGwgdGhvc2UNCj4+Pj4+IGR1bW15IGhhbmRsZXIg
dG8gZHJvcCB3cml0ZXMgYW5kIHJldHVybiB+MCBmb3IgcmVhZHMuDQo+Pj4+Pg0KPj4+Pj4gSXQn
cyBnb2luZyB0byBiZSBtb3JlIHdvcmsgaW5pdGlhbGx5IGFzIHlvdSB3b3VsZCBuZWVkIHRvIHN1
cHBvcnQNCj4+Pj4+IHBhc3N0aHJvdWdoIG9mIG1vcmUgcmVnaXN0ZXJzLCBidXQgaXQncyB0aGUg
cmlnaHQgYXBwcm9hY2ggdGhhdCB3ZQ0KPj4+Pj4gbmVlZCBpbXBsZW1lbnRhdGlvbiB3aXNlLg0K
Pj4+PiBXaGlsZSBJIGFncmVlIGluIGdlbmVyYWwsIHRoaXMgZWZmZWN0aXZlbHkgbWVhbnMgdGhh
dCBJJ2xsIG5lZWQgdG8gcHJvdmlkZQ0KPj4+PiBoYW5kbGluZyBmb3IgYWxsIFBDSWUgcmVnaXN0
ZXJzIGFuZCBjYXBhYmlsaXRpZXMgZnJvbSB0aGUgdmVyeSBzdGFydC4NCj4+Pj4gT3RoZXJ3aXNl
IG5vIGd1ZXN0IGJlIGFibGUgdG8gcHJvcGVybHkgaW5pdGlhbGl6ZSBhIFBDSSBkZXZpY2Ugd2l0
aG91dCB0aGF0Lg0KPj4+PiBPZiBjb3Vyc2UsIHdlIG1heSB3YW50IHN0YXJ0aW5nIGZyb20gc3R1
YnMgaW5zdGVhZCBvZiBwcm9wZXIgZW11bGF0aW9uLA0KPj4+PiB3aGljaCB3aWxsIGRpcmVjdCB0
aGUgYWNjZXNzIHRvIHJlYWwgSFcgYW5kIGxhdGVyIG9uIHdlIGFkZCBwcm9wZXIgZW11bGF0aW9u
Lg0KPj4+PiBCdXQsIGFnYWluLCB0aGlzIGlzIGdvaW5nIHRvIGJlIGEgcmF0aGVyIGJpZyBwaWVj
ZSBvZiBjb2RlIHdoZXJlIHdlIG5lZWQNCj4+Pj4gdG8gZXhwbGljaXRseSBoYW5kbGUgZXZlcnkg
cG9zc2libGUgY2FwYWJpbGl0eS4NCj4+PiBTaW5jZSB0aGUgdHdvIHN1Yi10aHJlYWRzIGFyZSBu
b3cgYWJvdXQgZXhhY3RseSB0aGUgc2FtZSB0b3BpYywgSSdtDQo+Pj4gYW5zd2VyaW5nIGhlcmUg
aW5zdGVhZCBvZiB0aGVyZS4NCj4+Pg0KPj4+IE5vLCB5b3UgYXJlIG5vdCBnb2luZyB0byBuZWVk
IHRvIGVtdWxhdGUgYWxsIHBvc3NpYmxlIGNhcGFiaWxpdGllcy4NCj4+PiBXZSAob3IgcmVhbGx5
IHFlbXUpIGRvbid0IGRvIHRoaXMgb24geDg2IGVpdGhlci4gQ2VydGFpbiBjYXBhYmlsaXRpZXMN
Cj4+PiBtYXkgYmUgYSBtdXN0LCBidXQgbm90IGV2ZXJ5dGhpbmcuIFRoZXJlIGFyZSBhbHNvIGRl
dmljZSBzcGVjaWZpYw0KPj4+IHJlZ2lzdGVycyBub3QgY292ZXJlZCBieSBhbnkgY2FwYWJpbGl0
eSBzdHJ1Y3R1cmVzIC0gd2hhdCB0byBkbyB3aXRoDQo+Pj4gdGhvc2UgaXMgZXZlbiBtb3JlIG9m
IGEgcXVlc3Rpb24uDQo+Pj4NCj4+PiBGdXJ0aGVybW9yZSBmb3Igc29tZSBvZiB0aGUgZmllbGRz
IGp1c3RpZmljYXRpb24gd2h5IGFjY2VzcyB0byB0aGUNCj4+PiByYXcgaGFyZHdhcmUgdmFsdWUg
aXMgZmluZSBpcyBnb2luZyB0byBiZSBlYXN5OiByL28gZmllbGRzIGxpa2UNCj4+PiB2ZW5kb3Ig
YW5kIGRldmljZSBJRCwgZm9yIGV4YW1wbGUuIEJ1dCBldmVyeSBiaXQgeW91IGFsbG93IGRpcmVj
dA0KPj4+IGFjY2VzcyB0byBuZWVkcyB0byBjb21lIHdpdGgganVzdGlmaWNhdGlvbi4NCj4+Pg0K
Pj4+PiBBdCB0aGUgbW9tZW50IHdlIGFyZSBub3QgZ29pbmcgdG8gY2xhaW0gdGhhdCB2UENJIHBy
b3ZpZGVzIGFsbCBtZWFucyB0bw0KPj4+PiBwYXNzIHRocm91Z2ggYSBQQ0kgZGV2aWNlIHNhZmVs
eSB3aXRoIHRoaXMgcmVzcGVjdCBhbmQgdGhpcyBpcyB3aHkgdGhlIGZlYXR1cmUNCj4+Pj4gaXRz
ZWxmIHdvbid0IGV2ZW4gYmUgYSB0ZWNoIHByZXZpZXcgeWV0LiBGb3IgdGhhdCByZWFzb24gSSB0
aGluayB3ZSBjYW4gc3RpbGwNCj4+Pj4gaGF2ZSBpbXBsZW1lbnRlZCBvbmx5IGNydWNpYWwgc2V0
IG9mIGhhbmRsZXJzIGFuZCBzdGlsbCBhbGxvdyB0aGUgcmVzdCB0bw0KPj4+PiBiZSByZWFkL3dy
aXRlIGRpcmVjdGx5IHdpdGhvdXQgZW11bGF0aW9uLg0KPj4+IEkgdGhpbmsgeW91IG5lZWQgdG8g
c2VwYXJhdGUgd2hhdCB5b3UgbmVlZCBmb3IgZGV2ZWxvcG1lbnQgZnJvbSB3aGF0DQo+Pj4gZ29l
cyB1cHN0cmVhbTogRm9yIGRldiBwdXJwb3NlcyB5b3UgY2FuIHZlcnkgd2VsbCBpbnZlcnQgdGhl
IHBvbGljeQ0KPj4+IGZyb20gd2hpdGUtIHRvIGJsYWNrLWxpc3RpbmcuIEJ1dCBpZiB3ZSBhY2Nl
cHRlZCB0aGUgbGF0dGVyIGludG8gdGhlDQo+Pj4gbWFpbiB0cmVlLCB0aGUgcmlzayB3b3VsZCBi
ZSB0aGVyZSB0aGF0IHNvbWV0aGluZyBnZXRzIG1pc3NlZCBhdCB0aGUNCj4+PiB0aW1lIHdoZXJl
IHRoZSBwZXJtaXNzaW9uIG1vZGVsIGdldHMgY2hhbmdlZCBhcm91bmQuDQo+Pj4NCj4+PiBZb3Ug
Y291bGQgZXZlbiBoYXZlIGEgbm9uLWRlZmF1bHQgbW9kZSBvcGVyYXRpbmcgdGhlIHdheSB5b3Ug
d2FudCBpdA0KPj4+IChhbG9uZyB0aGUgbGluZXMgb2YgcGNpYmFjaydzIHBlcm1pc3NpdmUgbW9k
ZSksIGFsbG93aW5nIHlvdSB0byBnZXQNCj4+PiBhd2F5IHdpdGhvdXQgbmVlZGluZyB0byBjYXJy
eSBwcml2YXRlIHBhdGNoZXMuIFRoaW5ncyBtYXkgYWxzbw0KPj4+IGluaXRpYWxseSBvbmx5IHdv
cmsgaW4gdGhhdCBtb2RlLiBCdXQgdGhlIGRlZmF1bHQgc2hvdWxkIGJlIGEgbW9kZQ0KPj4+IHdo
aWNoIGlzIHNlY3VyZSAoYW5kIHdoaWNoIHBlcmhhcHMgaW5pdGlhbGx5IG9mZmVycyBvbmx5IHZl
cnkgbGltaXRlZA0KPj4+IGZ1bmN0aW9uYWxpdHkpLg0KPj4gT2ssIHNvIHRvIG1ha2UgaXQgY2xl
YXI6DQo+PiAxLiBXZSBkbyBub3QgYWxsb3cgdW5oYW5kbGVkIGFjY2VzcyBmb3IgZ3Vlc3RzOiBm
b3IgdGhhdCBJIHdpbGwgY3JlYXRlIGENCj4+IGRlZGljYXRlZCBwYXRjaCB3aGljaCB3aWxsIGlt
cGxlbWVudCBzdWNoIHJlc3RyaWN0aW9ucy4gU29tZXRoaW5nIGxpa2UNCj4+IHRoZSBiZWxvdyAo
Zm9yIGJvdGggdlBDSSByZWFkIGFuZCB3cml0ZSk6DQo+Pg0KPj4gZGlmZiAtLWdpdCBhL3hlbi9k
cml2ZXJzL3ZwY2kvdnBjaS5jIGIveGVuL2RyaXZlcnMvdnBjaS92cGNpLmMNCj4+IGluZGV4IGM1
ZTY3NDkxYzI0Zi4uOWVmMmExYjVhZjU4IDEwMDY0NA0KPj4gLS0tIGEveGVuL2RyaXZlcnMvdnBj
aS92cGNpLmMNCj4+ICsrKyBiL3hlbi9kcml2ZXJzL3ZwY2kvdnBjaS5jDQo+PiBAQCAtMzQ3LDYg
KzM0Nyw3IEBAIHVpbnQzMl90IHZwY2lfcmVhZChwY2lfc2JkZl90IHNiZGYsIHVuc2lnbmVkIGlu
dCByZWcsIHVuc2lnbmVkIGludCBzaXplKQ0KPj4gICDCoMKgwqDCoCBjb25zdCBzdHJ1Y3QgdnBj
aV9yZWdpc3RlciAqcjsNCj4+ICAgwqDCoMKgwqAgdW5zaWduZWQgaW50IGRhdGFfb2Zmc2V0ID0g
MDsNCj4+ICAgwqDCoMKgwqAgdWludDMyX3QgZGF0YSA9IH4odWludDMyX3QpMDsNCj4+ICvCoMKg
wqAgYm9vbCBoYW5kbGVkID0gZmFsc2U7DQo+Pg0KPj4gICDCoMKgwqDCoCBpZiAoICFzaXplICkN
Cj4+ICAgwqDCoMKgwqAgew0KPj4gQEAgLTQwNSw2ICs0MDYsOCBAQCB1aW50MzJfdCB2cGNpX3Jl
YWQocGNpX3NiZGZfdCBzYmRmLCB1bnNpZ25lZCBpbnQgcmVnLCB1bnNpZ25lZCBpbnQgc2l6ZSkN
Cj4+ICAgwqDCoMKgwqDCoMKgwqDCoCBpZiAoIGNtcCA+IDAgKQ0KPj4gICDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgY29udGludWU7DQo+Pg0KPj4gK8KgwqDCoMKgwqDCoMKgIGhhbmRsZWQgPSB0
cnVlOyAvKiBGb3VuZCB0aGUgaGFuZGxlciBmb3IgdGhpcyBhY2Nlc3MuICovDQo+PiArDQo+PiAg
IMKgwqDCoMKgwqDCoMKgwqAgaWYgKCBlbXUub2Zmc2V0IDwgci0+b2Zmc2V0ICkNCj4+ICAgwqDC
oMKgwqDCoMKgwqDCoCB7DQo+PiAgIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAvKiBIZWFkaW5n
IGdhcCwgcmVhZCBwYXJ0aWFsIGNvbnRlbnQgZnJvbSBoYXJkd2FyZS4gKi8NCj4+IEBAIC00MzIs
NiArNDM1LDEwIEBAIHVpbnQzMl90IHZwY2lfcmVhZChwY2lfc2JkZl90IHNiZGYsIHVuc2lnbmVk
IGludCByZWcsIHVuc2lnbmVkIGludCBzaXplKQ0KPj4gICDCoMKgwqDCoCB9DQo+PiAgIMKgwqDC
oMKgIHNwaW5fdW5sb2NrKCZwZGV2LT52cGNpX2xvY2spOw0KPj4NCj4+ICvCoMKgwqAgLyogQWxs
IHVuaGFuZGxlZCBndWVzdCByZXF1ZXN0cyByZXR1cm4gYWxsIDEncy4gKi8NCj4+ICvCoMKgwqAg
aWYgKCAhaXNfaGFyZHdhcmVfZG9tYWluKGQpICYmICFoYW5kbGVkICkNCj4+ICvCoMKgwqDCoMKg
wqDCoCByZXR1cm4gfih1aW50MzJfdCkwOw0KPj4gKw0KPj4gICDCoMKgwqDCoCBpZiAoIGRhdGFf
b2Zmc2V0IDwgc2l6ZSApDQo+PiAgIMKgwqDCoMKgIHsNCj4+ICAgwqDCoMKgwqDCoMKgwqDCoCAv
KiBUYWlsaW5nIGdhcCwgcmVhZCB0aGUgcmVtYWluaW5nLiAqLw0KPiBFeGNlcHQgdGhhdCBsaWtl
IGZvciB0aGUgInRhaWxpbmcgZ2FwIiB5b3UgYWxzbyBuZWVkIHRvIGF2b2lkIHRoZQ0KPiAiaGVh
ZGluZyBnYXAiIGVuZGluZyB1cCBpbiBhIHJlYWQgb2YgdGhlIHVuZGVybHlpbmcgaGFyZHdhcmUN
Cj4gcmVnaXN0ZXIuIEVmZmVjdGl2ZWx5IHlvdSB3YW50IHRvIGRlYWwgcHJvcGVybHkgd2l0aCBh
bGwNCj4gdnBjaV9yZWFkX2h3KCkgaW52b2NhdGlvbnMgKGluY2x1ZGluZyB0aGUgb25lIHdoZW4g
bm8gcGRldiB3YXMNCj4gZm91bmQsIHdoaWNoIGZvciBhIERvbVUgbWF5IHNpbXBseSBtZWFuIGRv
bWFpbl9jcmFzaCgpKS4NClllcy4gQW5kIHdpdGggdGhlIGFib3ZlIHBhdGNoIEkgY2FuIG5vdyBy
ZW1vdmUgdGhlICJUT0RPIHBhdGNoIiB0aGVuPw0KQmVjYXVzZSBpdCBpcyBzYXlpbmcgdGhhdCB3
ZSBhbGxvdyBhY2Nlc3MgdG8gdGhlIHJlZ2lzdGVycywgYnV0IGl0IGlzIG5vdCBzYWZlLg0KQW5k
IG5vdywgaWYgd2UgZGlzYWJsZSB0aGF0IGFjY2VzcywgdGhlbiBUT0RPIHNob3VsZCBiZSBhYm91
dCB0aGUgbmVlZCB0bw0KaW1wbGVtZW50IGVtdWxhdGlvbiBmb3IgYWxsIHRoZSByZWdpc3RlcnMg
d2hpY2ggYXJlIG5vdCB5ZXQgaGFuZGxlZCB3aGljaCBpcw0Kb2J2aW91cy4NCj4NCj4gSmFuDQo+
DQpUaGFuayB5b3UsDQpPbGVrc2FuZHI=


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 13:51:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 13:51:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263112.455694 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEX5T-000855-Ai; Mon, 31 Jan 2022 13:51:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263112.455694; Mon, 31 Jan 2022 13:51:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEX5T-00084y-6v; Mon, 31 Jan 2022 13:51:19 +0000
Received: by outflank-mailman (input) for mailman id 263112;
 Mon, 31 Jan 2022 13:51:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Fky=SP=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nEX5R-00084q-00
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 13:51:17 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.109.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id db8154a5-829c-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 14:51:15 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2109.outbound.protection.outlook.com [104.47.18.109]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-19-Ih7rbyWLMIyVw4nuux_V9w-1; Mon, 31 Jan 2022 14:51:13 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VE1PR04MB7359.eurprd04.prod.outlook.com (2603:10a6:800:1a0::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.21; Mon, 31 Jan
 2022 13:51:12 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45%6]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 13:51:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: db8154a5-829c-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643637075;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=WWYONottKHEqXKdpNOzSs6U0kWV6p+A/VUOOsjZC4+c=;
	b=QMURNhf5mYln1R+YXNxN/5jronlOhFaXfctj5cEjV472ODx3cvdCK1gZdkdvWAcUyJ80eV
	TFoPwtOhAo5iTWXSbRpGWSTWN8s79Sb8fvv9eM5IcULkON98cLrNF3jusEyT4ObndsGZaZ
	wcBkVLYI1m1HERK9ksizQEcvz2fEoQQ=
X-MC-Unique: Ih7rbyWLMIyVw4nuux_V9w-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gHUWuBvqxIOEixKo9WxJW6N1tCJZiWJ6SZnWDVIGkvtrnfSITjsDFG/qCq/R4vtdADIy9/+aqISs6vNSf0q7fPEPXcapMKX74jvhtjVGMr5Yb0DkufC/6OMUohHMXXQgw+WEQyC25kqSeCUogncqjqsCRcwGLX4GKF97XPCHjpuqfyWfL1wjS89a0rFenSxO9LGLGyR+Oie1ptEFla6vFDO5ZMJcHuvtZOun3L13t9wojFNm+7ExXmpNtJdtDRu+QgZ8S1YvqdjSrQmcEKtGBahjvusP2F+slMZpALnc/d0p3i8K+/i/PhSYubx4Lr98jpZSZBe+B5rMoas624DOfQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AJpXaKqrSi1g38A2tsw1bcmlLytfYPjJ/0UNvam50pc=;
 b=QWBQ3aFpI/M1eP+TBGiHlVYWKhfBPrZEpmSklNYr1QeplwuPcEXhprGXbvsTMLBO9GgOlTvY38j+IlpHj+9lxY1LzRCa1gH9k0u7GgdWgMLIAP/v6R9KlEUTm70KDVd2xhXJyDMYm92pLYDcEd2nrujoEykvmhgwrfP6u6nJI+9f+mbbwXXaAZ4PtPtAUuxikiN5kxoMZjTjIdLU1RMUhpvtXw3f2obFE/DL3PtQ4V2YsKfdvN5XXBEiTThSgqnZZP88AiYdVpo2eI1F4acBM/HCG8DCflCxSmz7KrXyckQkxfWCynbuIrnbj1CSprTMrI4yt+GhKtGqYmiP8SbwCQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <75b6e181-c0ab-a95b-2e17-7dc0b3dce8e9@suse.com>
Date: Mon, 31 Jan 2022 14:51:12 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v5 06/14] vpci/header: implement guest BAR register
 handlers
Content-Language: en-US
To: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "julien@xen.org" <julien@xen.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Artem Mygaiev <Artem_Mygaiev@epam.com>,
 "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
 "george.dunlap@citrix.com" <george.dunlap@citrix.com>,
 "paul@xen.org" <paul@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Rahul Singh <rahul.singh@arm.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-7-andr2000@gmail.com> <Yd7K+9fvnBz+WTXA@Air-de-Roger>
 <77c00154-646c-a2a3-98cb-be4324003446@epam.com>
 <c7e87ebd-2c56-d510-b08b-02d53f9158d1@epam.com>
 <YffDmW4JGk+iDIVF@Air-de-Roger>
 <6d1772b1-25f1-0f63-8b8a-5dfaf94b2953@epam.com>
 <36fe9000-87a8-eefd-9baf-331bf4bbf1ad@suse.com>
 <0b20be9a-61e6-d286-b379-92c29ee9a804@epam.com>
 <2cfb6134-ab5e-3231-45f4-692c31302b1e@suse.com>
 <39966ef4-ed69-3bf5-ef6b-a4790c7164a2@epam.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <39966ef4-ed69-3bf5-ef6b-a4790c7164a2@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: AM6P194CA0061.EURP194.PROD.OUTLOOK.COM
 (2603:10a6:209:84::38) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4349403b-3df7-4967-e855-08d9e4c0bdd6
X-MS-TrafficTypeDiagnostic: VE1PR04MB7359:EE_
X-Microsoft-Antispam-PRVS:
	<VE1PR04MB7359C7AA83EAAA19E81EF9B5B3259@VE1PR04MB7359.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:
	JMM9Es3JfzXd6KfjCUMMrLnTMm+AFk4uh6slj63HdeLbmYrJSaAcpS56QZPpIwZ3DATkbmAQxiBXLPuMsXgKQg8MDsbJOBKp5OxFBLkIgjW2F0+TVn2WyH5cVMFSLZOcyLlx6Tgp2i8SCVXTEpX7t9lKRCs4JXCCt1wB5DAy+EhzSyShgofKHwPgx6Sd2FmaUkGNBuY5sFjS5gFyeVTbaikitrYIG0jUoAEYyhoeWBSNDZpIsV3pWey2N4YbII+dw0eh4MSn4G5LvdFWGsA0fTi6rU/aN3a+Y7rGaWSmA1lbt+11bq5UoYoJfdCF0eRbXoW4g7tVpRlbvIYhnqGNztgwGbJI7T+4pkDgTneIMvwHUhAeLflCk1gZ8xdXyU0mlpcCXg6/9ksmm7jq28CMSWZ1I53L6cv/8lLvOSDSvZrRcD7DNgBLeEOKZHc/bw3OUMPtdM4kN7jqivdPC6IjbanGSrSKBJ4u57+S+Rc3KBjfs0FzSh5b0gUfJA1Jo+gBplJngsBejYjNxyUbR+S0UnTVQG3sSTDwMuc7TGIzMax3+IE52yt/5n/dsdAa3MfkxtXRdmcwzSRA+1ApuqCbstgwDAJBBdlwwqbq8oh9JexH/92EgkTLKiS7la3VKF5DaPLytR6E9Ha4pU4teMiVrT+DE8mt0d/0JA9K7S9/KvPdgpSkqxsAGayzb0Uis9yUYEbJQZhdupoyf3FHn1y0TCvTj0Pqni4wLQoQvLbk3qDCT9DcLQAV8pIgUNbZRPq0
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:(13230001)(366004)(31696002)(7416002)(54906003)(6916009)(6486002)(6512007)(36756003)(316002)(38100700002)(2616005)(508600001)(186003)(26005)(6506007)(53546011)(2906002)(83380400001)(66476007)(66946007)(66556008)(86362001)(8676002)(31686004)(4326008)(8936002)(5660300002)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?leGuIEvNx89EKvnfcZNXvS6DNYXAAo/5WXnKkFDhhmBxJ3gk/HVy5sQ0bGYl?=
 =?us-ascii?Q?kP/kCwNIjqfVl6pc/NiO3QhTsQXAzsYp21bPB9pnoT4Lz3EiB990GzAqFCqw?=
 =?us-ascii?Q?mHhsTUKaqDlA55SEv4SF5UE4TwwXDj5KqgGxDpaU06iaBv4Dzb7nqVBOfbGL?=
 =?us-ascii?Q?jmk5GQyF02yrHLhe94DalAjMf24sLNcbdpVaC/OaHl/da/uB1Y4qM2QQ/T/l?=
 =?us-ascii?Q?Pn1suJjWKJPS4lsJ94JlE8V1YFgsRaWm86xXT2+Hx/LgM7Pe9O9aYGm0qrYb?=
 =?us-ascii?Q?+Z22QS6chR13jilbfcIEeY8o8KDMRvv+50f3alnZ6BNC7xmMYoRw0oTu0d4L?=
 =?us-ascii?Q?qZmS/uSEHiK/llhtAJNR8kYDL1A3MlyaFgkr6Lmiz+GvbZvGGCNt/lIbHTMV?=
 =?us-ascii?Q?jRLAzmiI1qS+rgDAjSsd/QX++poC0ny+Y2G97DuSGh1quUxUwC/liv91RnVy?=
 =?us-ascii?Q?faClSYSzRIdPMIHGeyRzQc4XZI55fOAgQGzS3s6OT3FAzilpJr2DmagNhP/7?=
 =?us-ascii?Q?aZamuZL1BImeJ1xGyl1IcD0q6rF2DXSoeSV9fnb1m6O4EGzaIS4+bpCkivrQ?=
 =?us-ascii?Q?dZN+Psvd496JtcV4uiU6TZPEw0gwCphKt1BY+Sc+0kvnY7J1FDeAJ0Bh1DPI?=
 =?us-ascii?Q?DLe2Z51PHDQAdmnsmwx6cA1yjr4AVJVjmTN1CTE13kPPFBLlVIekOTpowd9B?=
 =?us-ascii?Q?xTfjCK6N6hcHgNMMCHtlV/s1Sraav259Vb+h3bPbOdch5AeCH1fOdhm3BDVN?=
 =?us-ascii?Q?UQVIAUlRqRgQbXJRgsZoIF4YFwEnNY+bZvv+sfZrpaJ5Fbt9fhtr9dU3bYJm?=
 =?us-ascii?Q?8PssxIqX/2vCnaT8P56cCEUaqwfegl2CLZeaMpB/y+fb3UYy5ai/kIXX5z9n?=
 =?us-ascii?Q?8mcp54wBS+0e/kqmY63Y3dYE6Fc5u6TfppgIWxj460t2XTzr4pm8T3/rHs9y?=
 =?us-ascii?Q?Mp0uFh5S2LDa3UNcnigBm3HR59XijS1gSKZsrA0AP8CppP51dNE4w6AFG9DK?=
 =?us-ascii?Q?F45ZKE70hs5yIznFKDTpTG3TQkjEpOMTxu2dB2A3L5a0n2f2eAG6O7BLys8P?=
 =?us-ascii?Q?t8BKqBLQHg3Ltp4s/n9UeYQRlZ0z6Eh/AsPzWuM+nCINA9M3fg2YIEUbgTpu?=
 =?us-ascii?Q?rntKWKsbTgBxMhFb0sINdx3nttiNTBTZZcVW2VGkQBWq5Q0mpEkT72yngl+N?=
 =?us-ascii?Q?FNFtne1GAtSQTh1oRGrsVPevYVZlvmX8JT3WYmnQRSlOTwCVZmZ5maWu7PZL?=
 =?us-ascii?Q?sart/U+8zwL2N7KWV5jSIn2e8cU+hbubP3R3cxIvM2DSUokPQC2pDngs3u4p?=
 =?us-ascii?Q?4mOOguDOm0j+h6zccR7Eac+N6dqmvWTh21AgBFT/tS2JmhpWy5VWH/GYCK5S?=
 =?us-ascii?Q?xGquuvNdUfDn6p/QOKX9x7pTz356D3LskCSgDhRbhXZ2GkX2KPaNPp3fnGFU?=
 =?us-ascii?Q?/ZVkyvQ274KcGuZqTD9F17RxrpOubliu2YYQaPh/gCTAwMfHFYsJeNw/K5Me?=
 =?us-ascii?Q?BOzVvQMMs2VpanCDE0GvyRbGzrDIONrjYaseATVER+5QZ37cZw7922SDAvKs?=
 =?us-ascii?Q?1nzJQZ9C3QbR7iRK4trHVZBE1+gQd4oNSP8TXZ56Omq0O4PsDI/wC0it9BV7?=
 =?us-ascii?Q?tbNK/yBH5kHwg7YZdk8Zjuo=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4349403b-3df7-4967-e855-08d9e4c0bdd6
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 13:51:12.1654
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: RG0+RmlhaeUJdUNSqJye1BW0pKAq/tal4g7/odfhaPOppqmbGJF0x4knbGDnIqHSUPYJWZUXMPClnHaHErWOVQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7359

On 31.01.2022 14:41, Oleksandr Andrushchenko wrote:
> On 31.01.22 15:36, Jan Beulich wrote:
>> On 31.01.2022 14:30, Oleksandr Andrushchenko wrote:
>>> On 31.01.22 13:39, Jan Beulich wrote:
>>>> On 31.01.2022 12:23, Oleksandr Andrushchenko wrote:
>>>>> On 31.01.22 13:10, Roger Pau Monn=C3=A9 wrote:
>>>>>> Right (see my previous reply to this comment). I think it would be
>>>>>> easier (and cleaner) if you switched the default behavior regarding
>>>>>> unhandled register access for domUs at the start of the series (drop
>>>>>> writes, reads returns ~0), and then you won't need to add all those
>>>>>> dummy handler to drop writes and return ~0 for reads.
>>>>>>
>>>>>> It's going to be more work initially as you would need to support
>>>>>> passthrough of more registers, but it's the right approach that we
>>>>>> need implementation wise.
>>>>> While I agree in general, this effectively means that I'll need to pr=
ovide
>>>>> handling for all PCIe registers and capabilities from the very start.
>>>>> Otherwise no guest be able to properly initialize a PCI device withou=
t that.
>>>>> Of course, we may want starting from stubs instead of proper emulatio=
n,
>>>>> which will direct the access to real HW and later on we add proper em=
ulation.
>>>>> But, again, this is going to be a rather big piece of code where we n=
eed
>>>>> to explicitly handle every possible capability.
>>>> Since the two sub-threads are now about exactly the same topic, I'm
>>>> answering here instead of there.
>>>>
>>>> No, you are not going to need to emulate all possible capabilities.
>>>> We (or really qemu) don't do this on x86 either. Certain capabilities
>>>> may be a must, but not everything. There are also device specific
>>>> registers not covered by any capability structures - what to do with
>>>> those is even more of a question.
>>>>
>>>> Furthermore for some of the fields justification why access to the
>>>> raw hardware value is fine is going to be easy: r/o fields like
>>>> vendor and device ID, for example. But every bit you allow direct
>>>> access to needs to come with justification.
>>>>
>>>>> At the moment we are not going to claim that vPCI provides all means =
to
>>>>> pass through a PCI device safely with this respect and this is why th=
e feature
>>>>> itself won't even be a tech preview yet. For that reason I think we c=
an still
>>>>> have implemented only crucial set of handlers and still allow the res=
t to
>>>>> be read/write directly without emulation.
>>>> I think you need to separate what you need for development from what
>>>> goes upstream: For dev purposes you can very well invert the policy
>>>> from white- to black-listing. But if we accepted the latter into the
>>>> main tree, the risk would be there that something gets missed at the
>>>> time where the permission model gets changed around.
>>>>
>>>> You could even have a non-default mode operating the way you want it
>>>> (along the lines of pciback's permissive mode), allowing you to get
>>>> away without needing to carry private patches. Things may also
>>>> initially only work in that mode. But the default should be a mode
>>>> which is secure (and which perhaps initially offers only very limited
>>>> functionality).
>>> Ok, so to make it clear:
>>> 1. We do not allow unhandled access for guests: for that I will create =
a
>>> dedicated patch which will implement such restrictions. Something like
>>> the below (for both vPCI read and write):
>>>
>>> diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
>>> index c5e67491c24f..9ef2a1b5af58 100644
>>> --- a/xen/drivers/vpci/vpci.c
>>> +++ b/xen/drivers/vpci/vpci.c
>>> @@ -347,6 +347,7 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int re=
g, unsigned int size)
>>>   =C2=A0=C2=A0=C2=A0=C2=A0 const struct vpci_register *r;
>>>   =C2=A0=C2=A0=C2=A0=C2=A0 unsigned int data_offset =3D 0;
>>>   =C2=A0=C2=A0=C2=A0=C2=A0 uint32_t data =3D ~(uint32_t)0;
>>> +=C2=A0=C2=A0=C2=A0 bool handled =3D false;
>>>
>>>   =C2=A0=C2=A0=C2=A0=C2=A0 if ( !size )
>>>   =C2=A0=C2=A0=C2=A0=C2=A0 {
>>> @@ -405,6 +406,8 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int re=
g, unsigned int size)
>>>   =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( cmp > 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 continue;
>>>
>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 handled =3D true; /* Found =
the handler for this access. */
>>> +
>>>   =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( emu.offset < r-=
>offset )
>>>   =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
>>>   =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 /* Heading gap, read partial content from hardware. */
>>> @@ -432,6 +435,10 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int r=
eg, unsigned int size)
>>>   =C2=A0=C2=A0=C2=A0=C2=A0 }
>>>   =C2=A0=C2=A0=C2=A0=C2=A0 spin_unlock(&pdev->vpci_lock);
>>>
>>> +=C2=A0=C2=A0=C2=A0 /* All unhandled guest requests return all 1's. */
>>> +=C2=A0=C2=A0=C2=A0 if ( !is_hardware_domain(d) && !handled )
>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return ~(uint32_t)0;
>>> +
>>>   =C2=A0=C2=A0=C2=A0=C2=A0 if ( data_offset < 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 /* Tailing gap, read=
 the remaining. */
>> Except that like for the "tailing gap" you also need to avoid the
>> "heading gap" ending up in a read of the underlying hardware
>> register. Effectively you want to deal properly with all
>> vpci_read_hw() invocations (including the one when no pdev was
>> found, which for a DomU may simply mean domain_crash()).
> Yes. And with the above patch I can now remove the "TODO patch" then?
> Because it is saying that we allow access to the registers, but it is not=
 safe.
> And now, if we disable that access, then TODO should be about the need to
> implement emulation for all the registers which are not yet handled which=
 is
> obvious.

Yes, I think that other patch then should have no use anymore. (To be
honest I don't recall such a patch anyway.)

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 31 13:58:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 13:58:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263119.455705 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEXCn-0000Px-66; Mon, 31 Jan 2022 13:58:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263119.455705; Mon, 31 Jan 2022 13:58:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEXCn-0000Pq-2q; Mon, 31 Jan 2022 13:58:53 +0000
Received: by outflank-mailman (input) for mailman id 263119;
 Mon, 31 Jan 2022 13:58:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9o41=SP=epam.com=prvs=4030d24c28=oleksandr_andrushchenko@srs-se1.protection.inumbo.net>)
 id 1nEXCl-0000Pk-Bk
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 13:58:51 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e9a9f0f9-829d-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 14:58:49 +0100 (CET)
Received: from pps.filterd (m0174676.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20VCwMD3015484;
 Mon, 31 Jan 2022 13:58:45 GMT
Received: from eur05-am6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2109.outbound.protection.outlook.com [104.47.18.109])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3dxbec9e1c-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 31 Jan 2022 13:58:45 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com (2603:10a6:20b:153::17)
 by VE1PR03MB5472.eurprd03.prod.outlook.com (2603:10a6:802:ae::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.21; Mon, 31 Jan
 2022 13:58:40 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6]) by AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6%3]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 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: e9a9f0f9-829d-11ec-8f75-fffcc8bd4f1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=J+T2YGYDqQmCDmRdhW2QR/abkTeP4/ggIbOiYFu0R2TFqt37Q+GQzI73aV6LWwV+VPd/K1RObKxmxJXwIs3c7EvZxr/RCIQmPe0DqQjkztYVncQsdGWzP39PeztQnQm1RWHcZZDIdKTjcjEbMN+mslKE8RKneCZ0ouMcHd5tS3ih0xyMTtP0yJ3OnrCcistudGyXzMABxrlY02JLphOlbGU7eFTQa1WQwUrMDraSXxbdFLzekwaEXsBlaKGCKd6aq3CC4n4tge9lRs4pJaBELXzufA1zPoXxLG/yWcNFUtXELIHpGsxsYqMJCIj/r0H4i8wecVG8b1m+mQY0nU4SFQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ujaAEE0WBFSV0ZMTMUNXhySs4TvUlG+zXbtFZwcAI+w=;
 b=VHHt/TcQ/Ofe3PRkgjdxwugkVKBq/CO9nCxLtBcRGUvs6NmzG1up6M81/DT/MpWQPwSf94VJlqyzMt+QasJtgWftQ0Ts8Ji3be3NjqQHVBOlKLbV4XlqaG6lV6x1ZeUVHXhO6d1ZDf/UEOtS6pHYTbWDAh19pUO3F9wfUydJL3sToWyfmVgx5+b3tgeKBDzqxFQfXS9k6sHbmU8Vfq4P7T5Av2y660xccD60HoDSUFM64/qUkNgmNvykyt0cYq2y4sK0U65RPvqlb3uvM20Pt9+gcXHJZtPpDbhyW+eKlV7fAMeNK70rp92J//gGjgT0boHtwRAjMZ3motDYK6lCVA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ujaAEE0WBFSV0ZMTMUNXhySs4TvUlG+zXbtFZwcAI+w=;
 b=MlFEDzvRRSHCe/AWBXh7IylPoeXgdc2l36oOmGkrBbzXE3DfDDNYAUjQf7YvNYUcTybVuAV6SGfKrUUU+ud60OPjZMbqC6yDgUJ+cAmaw8w4g5ez8Yiig2MnJedRX6TP71BM1YIhLuyqcUSqd22BmI0UJVhu94RLE+uHk1n8ecvSi4huCOvoPJ1LCM0RXDKbJrTEBvTtp75d1b55D9Vnz7WX6e/CHo2UX/C3gaTsGX+GrH1Qsk8Co2gBP1DPXoTXtH6YJTTVSkMVzx7hhvMnGQYhhgRmpvxG8dtard97Z98yDP341bb7MXIdnMlrss31Xb37DNxRGJBAFvY3VxvAQw==
From: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        "julien@xen.org" <julien@xen.org>,
        "sstabellini@kernel.org"
	<sstabellini@kernel.org>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Artem Mygaiev <Artem_Mygaiev@epam.com>,
        "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
        "george.dunlap@citrix.com" <george.dunlap@citrix.com>,
        "paul@xen.org"
	<paul@xen.org>,
        Bertrand Marquis <bertrand.marquis@arm.com>,
        Rahul Singh
	<rahul.singh@arm.com>,
        =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>
Subject: Re: [PATCH v5 06/14] vpci/header: implement guest BAR register
 handlers
Thread-Topic: [PATCH v5 06/14] vpci/header: implement guest BAR register
 handlers
Thread-Index: 
 AQHX4ewHyWAyD811HEGp8pIjUuVWNaxfndGAgB2tWgCAAA7+AIAACECAgAADxgCAAARsgIAAHxiAgAABegCAAAGFAIAAAqwAgAACFgA=
Date: Mon, 31 Jan 2022 13:58:40 +0000
Message-ID: <eb7f4f5f-63a6-57a8-80a2-a93c73cf04f1@epam.com>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-7-andr2000@gmail.com> <Yd7K+9fvnBz+WTXA@Air-de-Roger>
 <77c00154-646c-a2a3-98cb-be4324003446@epam.com>
 <c7e87ebd-2c56-d510-b08b-02d53f9158d1@epam.com>
 <YffDmW4JGk+iDIVF@Air-de-Roger>
 <6d1772b1-25f1-0f63-8b8a-5dfaf94b2953@epam.com>
 <36fe9000-87a8-eefd-9baf-331bf4bbf1ad@suse.com>
 <0b20be9a-61e6-d286-b379-92c29ee9a804@epam.com>
 <2cfb6134-ab5e-3231-45f4-692c31302b1e@suse.com>
 <39966ef4-ed69-3bf5-ef6b-a4790c7164a2@epam.com>
 <75b6e181-c0ab-a95b-2e17-7dc0b3dce8e9@suse.com>
In-Reply-To: <75b6e181-c0ab-a95b-2e17-7dc0b3dce8e9@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 834682ae-abf9-407d-3572-08d9e4c1c96f
x-ms-traffictypediagnostic: VE1PR03MB5472:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <VE1PR03MB54722D7907F402DFAF45D4A0E7259@VE1PR03MB5472.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: 
 RKC8yNzgaAJ+mc4DPDsaEs+SOSjVVO6GK/YVtcYpCTycHjvpk7QNDFbB+xtCPja7P9i8DqqglnIX+DybxQLVX6oN+OuMz8HPXwVkv6pniZHcEmCbR0DiMLHE15cCFTWgZjWZvm7tVchp7qUK+5NQZhNI+uucFnr0NzI7DxMgSyhHWQn8LOathHIlC8CwvZRulF7vX1HZIR5fVHBY8WU8nBWTlV3g3idl4agE58iS9q8odDVAkfzF1+sRMEjbc+hgPhMXosLxq7gbst+XsHl3AijQkQ3Dex4gjT3zcm/GXhZMtX/0Ppa4MzgfUiKHiyhu2byRGK06E/MXhzcBKh2/YN23iettKK+Q9ltBccRXvWXSLFZ0RwtOoITnSudXtXm1B9fPwlf02gt2Q7jo404gzFDxp3w1BzYhGhgf1UdDPsz0RuhTnuJX3MrR3mBRZsptkSKxBGQOkLIHUWb7B/yE1ejQqYfyTr/vCpqv32Ku6cKvD56JGcgNN34qg58LYShE2aQTx9rErJ+pv5rIjucmMKO8yTLqZMuAacz475e7YrDo1aN1A5aHZYPdd1lqIpvF59quM2YZs/TolgR2LMGlGmBbifdT/53U7z1M/bLfM20bInTHp21m9tb4t7jmpy+4hFsqNUooKb1lMGo1Orr3D2TWBRQdWKDZVG5JutE9H+zCLTpPfo4D5sEyn87tJohZtBsQLR4UZlqpdXgHymNS9DaPMhqFJfGxLGhoTF0ZAB6tlUSJA9/l/B/4NYhexcXQ
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:(13230001)(4636009)(366004)(2616005)(31696002)(71200400001)(186003)(26005)(83380400001)(5660300002)(7416002)(76116006)(66476007)(66556008)(36756003)(66446008)(64756008)(66946007)(86362001)(91956017)(38070700005)(122000001)(31686004)(2906002)(8936002)(508600001)(8676002)(6506007)(6486002)(6512007)(53546011)(38100700002)(54906003)(316002)(6916009)(4326008)(45980500001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?VTVZMURHTjAwT29Wb2VINDJyeFI0d1MzWXdmOVYyWG9qN1lyeHdEQTQybHpq?=
 =?utf-8?B?d3NQN2FLL20wQ0hiR1ZnL1d4eHQwekNtb2JicDdSQXE3SWZncDFHbnIyQWs5?=
 =?utf-8?B?TUtBRnNQTzdId2pYcmlDYnhXemtjSjFPNW12dUV1M1dVbUlOTXp6Zzd6dXFu?=
 =?utf-8?B?Vys4N1BxckdSZFJwZmVOK3B5VTMxOGVOM1h5ZTlpNTJnenc4KzN6OXVHUnlC?=
 =?utf-8?B?Mi9jMzlRM2VqbHAza3pmVjFyNTJsR3NQanlReTZwTUMvM0ZCRXMyeWZvZHlF?=
 =?utf-8?B?SFZjVHdSbS9MNTNtTHU1dVk4cUdQVllONXFyVTFPUm9RK3V3SmY2Y0pzQ1lz?=
 =?utf-8?B?dzVPN1RtbkVXemlaS0Rjayt0d2pJeFJHbHZudldKcFhPNzM4WmVkSnk0T2pj?=
 =?utf-8?B?NENLZ1JrKzY5YXBoR3BKQ25Pc0tQNFRSaitUclh5VVU5ME0yY1lzTDYrcFEw?=
 =?utf-8?B?S210R2E3aFBmQitpR1JQRXpMSEJVQnRsbVNLSGx0dE5LL253Z3l3OVljOHpr?=
 =?utf-8?B?dXFOUFFyNEVBQzdYc3B6c1JmUVVsMm9GR0pBbnFFTnJrd3BUUU0xQnRySEpF?=
 =?utf-8?B?a2d5anQ5YmNGaTRqK0JsSmU2cGszM2tueUZqelZGbFRiOWZXVVpsZDVzUzZI?=
 =?utf-8?B?YlM3Z1ZoYkdFZlZwMlJ5aGE5cFlrMWk5T2cxZXc4LzIwVEdMQXloY3VsdkJE?=
 =?utf-8?B?N1Vua2dBVnc2VXZ4R0VQUTYvRnRHSmdGRXdmM1BCeiswbTdHdTJ2TDMwOGpq?=
 =?utf-8?B?L3E2Sk5yQnAxQkwzdUpoWXpxNnlqTnVrRlJTc0FxTFd2N2tqc0tVSXg4WENM?=
 =?utf-8?B?MjBZRkl5U0Q1a0xNMFQxNGRsbEZrM0NFblRvOXJ5STQwV25VT3JramsyYU9Z?=
 =?utf-8?B?WGh6KzhKeHdmbUFCY1BYdWNsaW54Wnk5ZFlkVnhGcWp5VzVmTm1ZZmwzWUhy?=
 =?utf-8?B?dEE3S094RnFMWHZOMCtuaVJSRUR2MVByMjRNanAzQ0V6dGVOeDRwN3FIK3dI?=
 =?utf-8?B?UmN4eVN2Y0tkS1NZZlowQTlDTmpGVk04cEoreTBaRWlYOEJsWE5oYUt0am1k?=
 =?utf-8?B?a3B5U2RLWkxWS0pYNzhISWhsT0I1ZVdEbmdEOUxFU0NUVEsrdTc4R3RrNlM1?=
 =?utf-8?B?aE5sTUlqUDluM1A2NFNwSjRtZFNXcU80TTZFZUxEWmdRYmk1RUhFQlR3b09a?=
 =?utf-8?B?TmNVMEhPd2xza2FLTDJvUkN6MXdvbXNBTU1OOEh1aEZjVEtraDluS25VQzhy?=
 =?utf-8?B?MkdMWGZYY1ZseThqWGdtQXpjVW42SDJlVWdQajBaMjhVeWFLV29Edkh5SldG?=
 =?utf-8?B?SlZ5Mzc4L1Izb0hRSmtpaFZFT09PRHBjUGN0cU56NGVRMzhqTUpXWlJRZ3Bh?=
 =?utf-8?B?SmVQM3Bub092YTFJMG5UN1pUTXppK2RGbm5TWktEcGtiTlV5aFFkRmtFUGRJ?=
 =?utf-8?B?UnNyRnVGZFZnb3RudEVWbE9UZW53bCtmZHlNVmovVVJtT0Y1a2tUQWVpMjBl?=
 =?utf-8?B?L2ZkR1FQeXBVTFcwK0JXa3owZDRSRjNkT2Q0c01JbHJ4dkM0OXJvaXB5SzFI?=
 =?utf-8?B?OXNaRDdUcUlUbzk3bGhsZnVES1d2WFEzNXNIckJmbjhHQ0tGRnh6NFZ6TjZy?=
 =?utf-8?B?YTJ1c2YxRmFzMWkzWmd6N2tNa05hZk9nWDJrSktKcjAxTHdNZ1F3RjFRSVVh?=
 =?utf-8?B?YkVnRW5JM3I3M2V3a1dvakZkSmZnVWVFQ3JGVEJJczgvNXZvek1jVDRhRzZv?=
 =?utf-8?B?TEtxYTF6cnE3bjRqbnRPYWhGMFI5bnN1OS9vZkN4Qm5XaXJrYkd4Y2hUc3Jk?=
 =?utf-8?B?ckg5QWljRHBSaGpheXNrb2QvV1F3TlZZU3lucFZmTmFTS0VqV3paU0FGeG12?=
 =?utf-8?B?eVpiNXR2U0RBN0psRlVTbTRtOUEydTIxRHdLRjV4cDBYbHZWTnV4blB4OC9X?=
 =?utf-8?B?dGxkd2lyMksraURiZVdzQ0hvSXZzaVlZMHY2ZWZUY2lYc0lIWGxJZG9SelJD?=
 =?utf-8?B?SGRxek1YWmNRNWFCaFpJclVJRUF0NDlBRSsrcTdGZXV1UUtCZUFKOVN3Tldj?=
 =?utf-8?B?bXp3ZXV6TVV5VS9EVlJTb3pWcjBOekQ0TVFaUk1xVFRtRGp4YVpPU0ZwbDZS?=
 =?utf-8?B?VmttMUFrV1NMcFZLOWNTYjhPanVWZ3dxK204aEFYNWpvUHVyQmNDV0dFRVBF?=
 =?utf-8?B?TndPbWZDZFhodW5RRDJNSXJqUi9zQWRqb01lUmZIL3lLTEo1UytWWkZjWVNI?=
 =?utf-8?B?NSs5dC9mbWtBUTlTeE1sb2RaUEdSMnJxR3lvbkI2SnFQcTB6ak9yZ1VEMjB0?=
 =?utf-8?B?N3pBWXJDL1JnTUJvWXE1WTdZTlpjMmlCcTBNME9HK2xOV1Y3bzJxZz09?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <A922F4ECD5A3F34DA9120F268610AC3B@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: 834682ae-abf9-407d-3572-08d9e4c1c96f
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2022 13:58:40.8340
 (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: 09j20KdhH1Sh9ugpccZ9Z4vuz3XHIeuc47y5F3MM/5jl8Psnf1WjWOlidBEuXRN0rmuY7wCG1azRrOPMkVOXaYOFARql6ZPUOfaGM7RSRaWHQjzjciGPjg5Mmt3r4X7c
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR03MB5472
X-Proofpoint-GUID: DzfzGDHoJjtFogZrRGxjVXe4yzMmH7cJ
X-Proofpoint-ORIG-GUID: DzfzGDHoJjtFogZrRGxjVXe4yzMmH7cJ
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-31_05,2022-01-31_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0
 lowpriorityscore=0 spamscore=0 bulkscore=0 malwarescore=0 clxscore=1015
 suspectscore=0 adultscore=0 priorityscore=1501 mlxlogscore=750
 phishscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2201110000 definitions=main-2201310093

DQoNCk9uIDMxLjAxLjIyIDE1OjUxLCBKYW4gQmV1bGljaCB3cm90ZToNCj4gT24gMzEuMDEuMjAy
MiAxNDo0MSwgT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gd3JvdGU6DQo+PiBPbiAzMS4wMS4yMiAx
NTozNiwgSmFuIEJldWxpY2ggd3JvdGU6DQo+Pj4gT24gMzEuMDEuMjAyMiAxNDozMCwgT2xla3Nh
bmRyIEFuZHJ1c2hjaGVua28gd3JvdGU6DQo+Pj4+IE9uIDMxLjAxLjIyIDEzOjM5LCBKYW4gQmV1
bGljaCB3cm90ZToNCj4+Pj4+IE9uIDMxLjAxLjIwMjIgMTI6MjMsIE9sZWtzYW5kciBBbmRydXNo
Y2hlbmtvIHdyb3RlOg0KPj4+Pj4+IE9uIDMxLjAxLjIyIDEzOjEwLCBSb2dlciBQYXUgTW9ubsOp
IHdyb3RlOg0KPj4+Pj4+PiBSaWdodCAoc2VlIG15IHByZXZpb3VzIHJlcGx5IHRvIHRoaXMgY29t
bWVudCkuIEkgdGhpbmsgaXQgd291bGQgYmUNCj4+Pj4+Pj4gZWFzaWVyIChhbmQgY2xlYW5lcikg
aWYgeW91IHN3aXRjaGVkIHRoZSBkZWZhdWx0IGJlaGF2aW9yIHJlZ2FyZGluZw0KPj4+Pj4+PiB1
bmhhbmRsZWQgcmVnaXN0ZXIgYWNjZXNzIGZvciBkb21VcyBhdCB0aGUgc3RhcnQgb2YgdGhlIHNl
cmllcyAoZHJvcA0KPj4+Pj4+PiB3cml0ZXMsIHJlYWRzIHJldHVybnMgfjApLCBhbmQgdGhlbiB5
b3Ugd29uJ3QgbmVlZCB0byBhZGQgYWxsIHRob3NlDQo+Pj4+Pj4+IGR1bW15IGhhbmRsZXIgdG8g
ZHJvcCB3cml0ZXMgYW5kIHJldHVybiB+MCBmb3IgcmVhZHMuDQo+Pj4+Pj4+DQo+Pj4+Pj4+IEl0
J3MgZ29pbmcgdG8gYmUgbW9yZSB3b3JrIGluaXRpYWxseSBhcyB5b3Ugd291bGQgbmVlZCB0byBz
dXBwb3J0DQo+Pj4+Pj4+IHBhc3N0aHJvdWdoIG9mIG1vcmUgcmVnaXN0ZXJzLCBidXQgaXQncyB0
aGUgcmlnaHQgYXBwcm9hY2ggdGhhdCB3ZQ0KPj4+Pj4+PiBuZWVkIGltcGxlbWVudGF0aW9uIHdp
c2UuDQo+Pj4+Pj4gV2hpbGUgSSBhZ3JlZSBpbiBnZW5lcmFsLCB0aGlzIGVmZmVjdGl2ZWx5IG1l
YW5zIHRoYXQgSSdsbCBuZWVkIHRvIHByb3ZpZGUNCj4+Pj4+PiBoYW5kbGluZyBmb3IgYWxsIFBD
SWUgcmVnaXN0ZXJzIGFuZCBjYXBhYmlsaXRpZXMgZnJvbSB0aGUgdmVyeSBzdGFydC4NCj4+Pj4+
PiBPdGhlcndpc2Ugbm8gZ3Vlc3QgYmUgYWJsZSB0byBwcm9wZXJseSBpbml0aWFsaXplIGEgUENJ
IGRldmljZSB3aXRob3V0IHRoYXQuDQo+Pj4+Pj4gT2YgY291cnNlLCB3ZSBtYXkgd2FudCBzdGFy
dGluZyBmcm9tIHN0dWJzIGluc3RlYWQgb2YgcHJvcGVyIGVtdWxhdGlvbiwNCj4+Pj4+PiB3aGlj
aCB3aWxsIGRpcmVjdCB0aGUgYWNjZXNzIHRvIHJlYWwgSFcgYW5kIGxhdGVyIG9uIHdlIGFkZCBw
cm9wZXIgZW11bGF0aW9uLg0KPj4+Pj4+IEJ1dCwgYWdhaW4sIHRoaXMgaXMgZ29pbmcgdG8gYmUg
YSByYXRoZXIgYmlnIHBpZWNlIG9mIGNvZGUgd2hlcmUgd2UgbmVlZA0KPj4+Pj4+IHRvIGV4cGxp
Y2l0bHkgaGFuZGxlIGV2ZXJ5IHBvc3NpYmxlIGNhcGFiaWxpdHkuDQo+Pj4+PiBTaW5jZSB0aGUg
dHdvIHN1Yi10aHJlYWRzIGFyZSBub3cgYWJvdXQgZXhhY3RseSB0aGUgc2FtZSB0b3BpYywgSSdt
DQo+Pj4+PiBhbnN3ZXJpbmcgaGVyZSBpbnN0ZWFkIG9mIHRoZXJlLg0KPj4+Pj4NCj4+Pj4+IE5v
LCB5b3UgYXJlIG5vdCBnb2luZyB0byBuZWVkIHRvIGVtdWxhdGUgYWxsIHBvc3NpYmxlIGNhcGFi
aWxpdGllcy4NCj4+Pj4+IFdlIChvciByZWFsbHkgcWVtdSkgZG9uJ3QgZG8gdGhpcyBvbiB4ODYg
ZWl0aGVyLiBDZXJ0YWluIGNhcGFiaWxpdGllcw0KPj4+Pj4gbWF5IGJlIGEgbXVzdCwgYnV0IG5v
dCBldmVyeXRoaW5nLiBUaGVyZSBhcmUgYWxzbyBkZXZpY2Ugc3BlY2lmaWMNCj4+Pj4+IHJlZ2lz
dGVycyBub3QgY292ZXJlZCBieSBhbnkgY2FwYWJpbGl0eSBzdHJ1Y3R1cmVzIC0gd2hhdCB0byBk
byB3aXRoDQo+Pj4+PiB0aG9zZSBpcyBldmVuIG1vcmUgb2YgYSBxdWVzdGlvbi4NCj4+Pj4+DQo+
Pj4+PiBGdXJ0aGVybW9yZSBmb3Igc29tZSBvZiB0aGUgZmllbGRzIGp1c3RpZmljYXRpb24gd2h5
IGFjY2VzcyB0byB0aGUNCj4+Pj4+IHJhdyBoYXJkd2FyZSB2YWx1ZSBpcyBmaW5lIGlzIGdvaW5n
IHRvIGJlIGVhc3k6IHIvbyBmaWVsZHMgbGlrZQ0KPj4+Pj4gdmVuZG9yIGFuZCBkZXZpY2UgSUQs
IGZvciBleGFtcGxlLiBCdXQgZXZlcnkgYml0IHlvdSBhbGxvdyBkaXJlY3QNCj4+Pj4+IGFjY2Vz
cyB0byBuZWVkcyB0byBjb21lIHdpdGgganVzdGlmaWNhdGlvbi4NCj4+Pj4+DQo+Pj4+Pj4gQXQg
dGhlIG1vbWVudCB3ZSBhcmUgbm90IGdvaW5nIHRvIGNsYWltIHRoYXQgdlBDSSBwcm92aWRlcyBh
bGwgbWVhbnMgdG8NCj4+Pj4+PiBwYXNzIHRocm91Z2ggYSBQQ0kgZGV2aWNlIHNhZmVseSB3aXRo
IHRoaXMgcmVzcGVjdCBhbmQgdGhpcyBpcyB3aHkgdGhlIGZlYXR1cmUNCj4+Pj4+PiBpdHNlbGYg
d29uJ3QgZXZlbiBiZSBhIHRlY2ggcHJldmlldyB5ZXQuIEZvciB0aGF0IHJlYXNvbiBJIHRoaW5r
IHdlIGNhbiBzdGlsbA0KPj4+Pj4+IGhhdmUgaW1wbGVtZW50ZWQgb25seSBjcnVjaWFsIHNldCBv
ZiBoYW5kbGVycyBhbmQgc3RpbGwgYWxsb3cgdGhlIHJlc3QgdG8NCj4+Pj4+PiBiZSByZWFkL3dy
aXRlIGRpcmVjdGx5IHdpdGhvdXQgZW11bGF0aW9uLg0KPj4+Pj4gSSB0aGluayB5b3UgbmVlZCB0
byBzZXBhcmF0ZSB3aGF0IHlvdSBuZWVkIGZvciBkZXZlbG9wbWVudCBmcm9tIHdoYXQNCj4+Pj4+
IGdvZXMgdXBzdHJlYW06IEZvciBkZXYgcHVycG9zZXMgeW91IGNhbiB2ZXJ5IHdlbGwgaW52ZXJ0
IHRoZSBwb2xpY3kNCj4+Pj4+IGZyb20gd2hpdGUtIHRvIGJsYWNrLWxpc3RpbmcuIEJ1dCBpZiB3
ZSBhY2NlcHRlZCB0aGUgbGF0dGVyIGludG8gdGhlDQo+Pj4+PiBtYWluIHRyZWUsIHRoZSByaXNr
IHdvdWxkIGJlIHRoZXJlIHRoYXQgc29tZXRoaW5nIGdldHMgbWlzc2VkIGF0IHRoZQ0KPj4+Pj4g
dGltZSB3aGVyZSB0aGUgcGVybWlzc2lvbiBtb2RlbCBnZXRzIGNoYW5nZWQgYXJvdW5kLg0KPj4+
Pj4NCj4+Pj4+IFlvdSBjb3VsZCBldmVuIGhhdmUgYSBub24tZGVmYXVsdCBtb2RlIG9wZXJhdGlu
ZyB0aGUgd2F5IHlvdSB3YW50IGl0DQo+Pj4+PiAoYWxvbmcgdGhlIGxpbmVzIG9mIHBjaWJhY2sn
cyBwZXJtaXNzaXZlIG1vZGUpLCBhbGxvd2luZyB5b3UgdG8gZ2V0DQo+Pj4+PiBhd2F5IHdpdGhv
dXQgbmVlZGluZyB0byBjYXJyeSBwcml2YXRlIHBhdGNoZXMuIFRoaW5ncyBtYXkgYWxzbw0KPj4+
Pj4gaW5pdGlhbGx5IG9ubHkgd29yayBpbiB0aGF0IG1vZGUuIEJ1dCB0aGUgZGVmYXVsdCBzaG91
bGQgYmUgYSBtb2RlDQo+Pj4+PiB3aGljaCBpcyBzZWN1cmUgKGFuZCB3aGljaCBwZXJoYXBzIGlu
aXRpYWxseSBvZmZlcnMgb25seSB2ZXJ5IGxpbWl0ZWQNCj4+Pj4+IGZ1bmN0aW9uYWxpdHkpLg0K
Pj4+PiBPaywgc28gdG8gbWFrZSBpdCBjbGVhcjoNCj4+Pj4gMS4gV2UgZG8gbm90IGFsbG93IHVu
aGFuZGxlZCBhY2Nlc3MgZm9yIGd1ZXN0czogZm9yIHRoYXQgSSB3aWxsIGNyZWF0ZSBhDQo+Pj4+
IGRlZGljYXRlZCBwYXRjaCB3aGljaCB3aWxsIGltcGxlbWVudCBzdWNoIHJlc3RyaWN0aW9ucy4g
U29tZXRoaW5nIGxpa2UNCj4+Pj4gdGhlIGJlbG93IChmb3IgYm90aCB2UENJIHJlYWQgYW5kIHdy
aXRlKToNCj4+Pj4NCj4+Pj4gZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3ZwY2kvdnBjaS5jIGIv
eGVuL2RyaXZlcnMvdnBjaS92cGNpLmMNCj4+Pj4gaW5kZXggYzVlNjc0OTFjMjRmLi45ZWYyYTFi
NWFmNTggMTAwNjQ0DQo+Pj4+IC0tLSBhL3hlbi9kcml2ZXJzL3ZwY2kvdnBjaS5jDQo+Pj4+ICsr
KyBiL3hlbi9kcml2ZXJzL3ZwY2kvdnBjaS5jDQo+Pj4+IEBAIC0zNDcsNiArMzQ3LDcgQEAgdWlu
dDMyX3QgdnBjaV9yZWFkKHBjaV9zYmRmX3Qgc2JkZiwgdW5zaWduZWQgaW50IHJlZywgdW5zaWdu
ZWQgaW50IHNpemUpDQo+Pj4+ICAgIMKgwqDCoMKgIGNvbnN0IHN0cnVjdCB2cGNpX3JlZ2lzdGVy
ICpyOw0KPj4+PiAgICDCoMKgwqDCoCB1bnNpZ25lZCBpbnQgZGF0YV9vZmZzZXQgPSAwOw0KPj4+
PiAgICDCoMKgwqDCoCB1aW50MzJfdCBkYXRhID0gfih1aW50MzJfdCkwOw0KPj4+PiArwqDCoMKg
IGJvb2wgaGFuZGxlZCA9IGZhbHNlOw0KPj4+Pg0KPj4+PiAgICDCoMKgwqDCoCBpZiAoICFzaXpl
ICkNCj4+Pj4gICAgwqDCoMKgwqAgew0KPj4+PiBAQCAtNDA1LDYgKzQwNiw4IEBAIHVpbnQzMl90
IHZwY2lfcmVhZChwY2lfc2JkZl90IHNiZGYsIHVuc2lnbmVkIGludCByZWcsIHVuc2lnbmVkIGlu
dCBzaXplKQ0KPj4+PiAgICDCoMKgwqDCoMKgwqDCoMKgIGlmICggY21wID4gMCApDQo+Pj4+ICAg
IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb250aW51ZTsNCj4+Pj4NCj4+Pj4gK8KgwqDCoMKg
wqDCoMKgIGhhbmRsZWQgPSB0cnVlOyAvKiBGb3VuZCB0aGUgaGFuZGxlciBmb3IgdGhpcyBhY2Nl
c3MuICovDQo+Pj4+ICsNCj4+Pj4gICAgwqDCoMKgwqDCoMKgwqDCoCBpZiAoIGVtdS5vZmZzZXQg
PCByLT5vZmZzZXQgKQ0KPj4+PiAgICDCoMKgwqDCoMKgwqDCoMKgIHsNCj4+Pj4gICAgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIC8qIEhlYWRpbmcgZ2FwLCByZWFkIHBhcnRpYWwgY29udGVudCBm
cm9tIGhhcmR3YXJlLiAqLw0KPj4+PiBAQCAtNDMyLDYgKzQzNSwxMCBAQCB1aW50MzJfdCB2cGNp
X3JlYWQocGNpX3NiZGZfdCBzYmRmLCB1bnNpZ25lZCBpbnQgcmVnLCB1bnNpZ25lZCBpbnQgc2l6
ZSkNCj4+Pj4gICAgwqDCoMKgwqAgfQ0KPj4+PiAgICDCoMKgwqDCoCBzcGluX3VubG9jaygmcGRl
di0+dnBjaV9sb2NrKTsNCj4+Pj4NCj4+Pj4gK8KgwqDCoCAvKiBBbGwgdW5oYW5kbGVkIGd1ZXN0
IHJlcXVlc3RzIHJldHVybiBhbGwgMSdzLiAqLw0KPj4+PiArwqDCoMKgIGlmICggIWlzX2hhcmR3
YXJlX2RvbWFpbihkKSAmJiAhaGFuZGxlZCApDQo+Pj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4g
fih1aW50MzJfdCkwOw0KPj4+PiArDQo+Pj4+ICAgIMKgwqDCoMKgIGlmICggZGF0YV9vZmZzZXQg
PCBzaXplICkNCj4+Pj4gICAgwqDCoMKgwqAgew0KPj4+PiAgICDCoMKgwqDCoMKgwqDCoMKgIC8q
IFRhaWxpbmcgZ2FwLCByZWFkIHRoZSByZW1haW5pbmcuICovDQo+Pj4gRXhjZXB0IHRoYXQgbGlr
ZSBmb3IgdGhlICJ0YWlsaW5nIGdhcCIgeW91IGFsc28gbmVlZCB0byBhdm9pZCB0aGUNCj4+PiAi
aGVhZGluZyBnYXAiIGVuZGluZyB1cCBpbiBhIHJlYWQgb2YgdGhlIHVuZGVybHlpbmcgaGFyZHdh
cmUNCj4+PiByZWdpc3Rlci4gRWZmZWN0aXZlbHkgeW91IHdhbnQgdG8gZGVhbCBwcm9wZXJseSB3
aXRoIGFsbA0KPj4+IHZwY2lfcmVhZF9odygpIGludm9jYXRpb25zIChpbmNsdWRpbmcgdGhlIG9u
ZSB3aGVuIG5vIHBkZXYgd2FzDQo+Pj4gZm91bmQsIHdoaWNoIGZvciBhIERvbVUgbWF5IHNpbXBs
eSBtZWFuIGRvbWFpbl9jcmFzaCgpKS4NCj4+IFllcy4gQW5kIHdpdGggdGhlIGFib3ZlIHBhdGNo
IEkgY2FuIG5vdyByZW1vdmUgdGhlICJUT0RPIHBhdGNoIiB0aGVuPw0KPj4gQmVjYXVzZSBpdCBp
cyBzYXlpbmcgdGhhdCB3ZSBhbGxvdyBhY2Nlc3MgdG8gdGhlIHJlZ2lzdGVycywgYnV0IGl0IGlz
IG5vdCBzYWZlLg0KPj4gQW5kIG5vdywgaWYgd2UgZGlzYWJsZSB0aGF0IGFjY2VzcywgdGhlbiBU
T0RPIHNob3VsZCBiZSBhYm91dCB0aGUgbmVlZCB0bw0KPj4gaW1wbGVtZW50IGVtdWxhdGlvbiBm
b3IgYWxsIHRoZSByZWdpc3RlcnMgd2hpY2ggYXJlIG5vdCB5ZXQgaGFuZGxlZCB3aGljaCBpcw0K
Pj4gb2J2aW91cy4NCj4gWWVzLCBJIHRoaW5rIHRoYXQgb3RoZXIgcGF0Y2ggdGhlbiBzaG91bGQg
aGF2ZSBubyB1c2UgYW55bW9yZS4gKFRvIGJlDQo+IGhvbmVzdCBJIGRvbid0IHJlY2FsbCBzdWNo
IGEgcGF0Y2ggYW55d2F5LikNClRoaXMgaXMgIltQQVRDSCB2NSAxNC8xNF0gdnBjaTogYWRkIFRP
RE8gZm9yIHRoZSByZWdpc3RlcnMgbm90IGV4cGxpY2l0bHkgaGFuZGxlZCINCmluIHRoaXMgc2Vy
aWVzDQo+DQo+IEphbg0KPg0KVGhhbmsgeW91LA0KT2xla3NhbmRy


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 14:04:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 14:04:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263125.455716 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEXIA-0001sR-Qn; Mon, 31 Jan 2022 14:04:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263125.455716; Mon, 31 Jan 2022 14: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 1nEXIA-0001sK-NX; Mon, 31 Jan 2022 14:04:26 +0000
Received: by outflank-mailman (input) for mailman id 263125;
 Mon, 31 Jan 2022 14:04:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9KqZ=SP=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nEXI9-0001sE-Af
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 14:04:25 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id afe451f8-829e-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 15:04:22 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: afe451f8-829e-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643637863;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=0esSsSEfh9yotDbMv+1IsMVYrHAcB2rEdPmUrXAH8EA=;
  b=SPDq9+CMl3cOv+2bm6i0VEaW9g9geCuTgIxy2B5X9Ri665EXr7o5xbVW
   cVgcZBbfAbjWaWSH6tKuL3I5syMNx7ZGqilX+emjfnJLczAlms5LucGtA
   yr3z2CmiombvF8o9dM/MjKLYMRNZYXQDWycdugreEHCVrPxvXRlMqBQy6
   w=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: 9XwUEBzb0qU+Yn+dJ5UwZ1LpFcYrXhTpFqq18n+whc0ybXle0Oa6VNF6Yj3X1Bj1jfxmw0MLfP
 lJupnv2Zyj+/KNEQRRgwylnHQ2U3cBZFI0HoGhjlQE2tcp10BkTvtfD55/gmvLBu/PdGb7LusQ
 I6iHDqczXKYIB7dyfqclQ1TeInpKI/uRuv2ZXDp2VWyrlWPDP63wzR51GLq5WeFliF+cq3AYsM
 2DqBR20/XJmMbvu6lYKofyB8DBt0kAI092p1grX/hzWuEGJ4jcrJTbK4uzgya6sKA7kfQJ1buZ
 Kt7uWYQ7Vs1W4Fonyi/wgHUX
X-SBRS: 5.2
X-MesageID: 63131739
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:ZzuwZ68awy5Lnk8c2MgXDrUDbXmTJUtcMsCJ2f8bNWPcYEJGY0x3y
 WJMWz+HbKyIMDHyedhxbNuz8U0PuZaBmN9qG1Zq+Xo8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7di29Yy6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPhY0
 uVSt5WzdDwgO4CcpvoEFEEJPnhhaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguwKKsXxMZxZkXZn1TzDVt4tQIzZQrWM7thdtNs1rp4VRK2HO
 JFIAdZpRDrmehlQYmVMMp0/27vxhnTnXQNdul3A8MLb5ECMlVcsgdABKuH9atGMAMlYgEucj
 mbH5HjiRAEXMsSFzjiI+W7qgfXA9QvkXKoCGbv+8eRl6HWRzGEODBwdVXOgvOK0zEW5Xrpix
 1c8o3R06/JorQryE4e7D0bQTGO4UgA0csBgDO8z6zy2w6/5sziHHy9cHxMYd4lz3CMpfgAC2
 liMltLvIDVgtryJVH6QnoupQSOO1Ts9djFbO3JdJecRy5y6+dxo0EqTJjp2OPPt1rXI9SfML
 ydmRcTUr5EaloY12qqy5jgraBr898GSHmbZCug6N19JDz+Vhqb4PeRECnCBtJ6sybp1qHHb5
 hDofODFtIgz4WmlznDlfQn0NOjBCwy5GDPdm0VzOJIq6i6g/XWuFagJvm0leRc2apZaKGO4C
 KM2he+3zMUJVJdNRfQvC79d9uxwlfSwfTgbfq28giVyjmhZK1bcoXAGib+41GHxikk8+ZzTy
 r/AGftA+U0yUPw9pBLvHr91+eZymkgWmD2PLbimkUXP+efONRa9FOZeWHPTP79R0U9xiFiPm
 zqpH5HUm0w3vSyXSnS/zLP/2nhTcyBjW8iq+pMGHgNBSyI/cFwc5zbq6epJU6RunrhPl/eO+
 Xe4W0RCz0H4i2GBIgKPAk2PopuyNXqmhX5kbyEqI3iy3H0vPdSm4KsFLsNldrg77u1zi/VzS
 qBdKcmHB/1OTBXB+igcMsah/NAzKkzziFLcJTehbRg+Y4VkG17D9Oj7c1a97yIJFCe265cz+
 uXyygPBTJMfbA1+F8KKOum3xla8sCFFyuJ/VkfFOPdJf0Do/NQ4IiD9lKZvccoNNQ/C1n2R0
 APPWUUUouzEookU9tjVhP/b89f1QrUmRkcDRjvV97e7MyXe71GP+44YXbbaZy3ZWUP15L6mO
 bdfwcbjPaBVh11NqYd9TepmlPps+9v1qrZG5Q14B3GXPU+zA7ZtL3Taj8lCsqpBmu1QtQesA
 x/d/9BbPfOCOd//EU5XLw0gN7zR2fYRkzjUzPI0PESlu3MnoOvZCR1fb0uWlShQDLppK4d0k
 +4utfkf5xG7lhd3YM2NiTpZ9jjUI3ENO0n9Wkr23GM/ZtIX92x/
IronPort-HdrOrdr: A9a23:Ku8U+KwNhwoqvWbfKuxbKrPxiOskLtp133Aq2lEZdPULSKOlfp
 GV8MjziyWYtN9IYgBcpTiBUJPwJE81bfZOkMcs1MSZLXXbUQyTXcBfBOrZsnLd8kjFmNK1up
 0QCpSWZOeAbmSSyPyKmjVQcOxQgOVvkprY/ds2pk0FJWoBCsFdBkVCe32m+yVNNVN77PECZf
 6hD7981lydkAMsH6OG7xc+Lor+juyOsKijTQ8NBhYh5gXLpyiv8qTGHx+R2Qpbey9TwJ85mF
 K10DDR1+GGibWW2xXc32jc49B9g9360OZOA8SKl4w8NijssAC1f45sMofy/gzd4dvfrWrCou
 O85CvIDP4DrU85uVvF+CcF7jOQlArGLUWSkWNwz0GT+vARDwhKdPapzbgpDCcxrXBQ4e2UmZ
 g7r15w/fBsfGL9tTW46N7SWx5wkE2o5XIkjO4IlnRaFZATcblLsOUkjQlo+bo7bWrHAbocYa
 JT5QDnlYJrWELfa2qcsnhkwdSqUHh2FhCaQlIassjQ1zRNhnh2w0YR2cRaxx47hd4AYogB4/
 6BPrVjlblIQMNTZaVhBP0ZSc/yDmDWWxrDPG+bPFyiHqAaPHDGrYLx/dwOlayXUY1NyIF3lI
 XKUVteu2J3c0XyCdeW1JkO6RzJSHXVZ0Wl9iif3ekOhlTRfsuYDcSzciFYryL7mYRtPiTyYY
 fHBK5r
X-IronPort-AV: E=Sophos;i="5.88,331,1635220800"; 
   d="scan'208";a="63131739"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SLcSTD6y/Mxpmc8F5JqJSfwt7+EeCvLVUiQcd65sPLwwn/RNJZeDtm6Anmd/EvNYR9MIz7B7Go1+tdm+yqAgfeIQ/4mMCJ7UQTsHGZ8S/CqcZNkj/QSyNil961e4G+D2TeYkkjjmzBWqtw/EQE+ShpIC+hF9ufR09B/RgSUhxZgcVstaDvEkXSC58J5QnRsyccU29U4tIAGgCQ1DQWeCYuLOdREagbaEss0hqTJ7IqFbNYgXweJPnb1EF4KgFQ1MpktHkFlaKRfbWDtCKSsjLzBg1D8ElFWxpWIzzDybXLuJO3OroThdcYiQisYvwLIMnk8POwXvNAafzuoXgAYc2g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0esSsSEfh9yotDbMv+1IsMVYrHAcB2rEdPmUrXAH8EA=;
 b=AuRS7phI68ArPCkOOtPSVAtdEWLg6TemAkISVBOnCrzg9NjdV4JUWr8t1HEeGvUHYo/jXWNlUhUIwjfHocxO7dLUKMsxe/9SnRuM1W3eM95DfHgylscdop/g6qW7+ovmDFZiebXAm7TbZrf+1bRqRTLnFPA6pOQeKX8NAfYx4utho4JW2kRjfnFWTkqTzznV2E+HTeN8FDNvr6PSHLT0qgAFfWD2WpC+MQscBEilqLCSDj7yUXeqBoGZZh58Hsq4YV52pPRxZX9/5URAQUGB6Fx/+BVswfPHqe/eCJmQssW2D+FKvumPDg8jiV5UNwLOma7JW5bWAoHJejOHMOOXAw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0esSsSEfh9yotDbMv+1IsMVYrHAcB2rEdPmUrXAH8EA=;
 b=fVnRMePlZWh5oSIFkEtYP7T52hJD4Z8VT26O7Kih4OYJNeuCuGLeT1Eff4VqO5mbsjgW/7IbZeCY+VIstxOLQgMFznZlr429wLI/upX4Dj0aNnLXihUaqzcplqvivd5Dgv107c78y371JUHCyQZdstg8BbvoHrB6497MK+TvBVY=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Xen-devel
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 7/9] x86/svm: VMEntry/Exit logic for MSR_SPEC_CTRL
Thread-Topic: [PATCH v2 7/9] x86/svm: VMEntry/Exit logic for MSR_SPEC_CTRL
Thread-Index: AQHYFEsgduRKpPrES0uMVuwf+i5+76x9GvYAgAATUQA=
Date: Mon, 31 Jan 2022 14:04:16 +0000
Message-ID: <d7c4de19-1a4a-8196-e5a9-b68ef64701ac@citrix.com>
References: <20220128132927.14997-1-andrew.cooper3@citrix.com>
 <20220128132927.14997-8-andrew.cooper3@citrix.com>
 <a1e8e059-b3d2-1af1-ab68-0b94dcd34711@suse.com>
In-Reply-To: <a1e8e059-b3d2-1af1-ab68-0b94dcd34711@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.1
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: f2215e76-0929-425e-d299-08d9e4c29187
x-ms-traffictypediagnostic: BL0PR03MB3987:EE_
x-microsoft-antispam-prvs: <BL0PR03MB3987D45D5C2EFD54E096F7BEBA259@BL0PR03MB3987.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: CxZlmbfSDstwtDlSMv2dAavUOrcGPYIuZmQhUErdvnNdvap+uSPegqd4gX14TUnoue0qrxLc09RBRMLk7anY81OvzuSCqfOsu6ubqvgF/ZE68nSfjR6n6wh7/ws+K31mG5kTMv1yT7znFgarSbO/+GoaX5n7l8FaBbifVbGUofZT4MjJNjvUOL+XW1eCR8/5KnKbn9jVHP9KOIUBOFAFqsRczzT9i8K3XEljOVz/p32R4hRQfkFJUhhYy99T+NyroUJTH/P7DfmDEn0LsbyEMEcGqpD5CzD1KtDIgTsBSKZVq/iolM9RNdnoEI9kkVrHDNAMi0NbnEI4eOpvQL7lA/sz9jYwHC3PMM+7ABOKDvYd/6uLHwAhvwDajLfsHmB+lvTYYkplW5gkLCT5zbyc3xnp1fUBGI7Xe2ZQoOVJM94qMho7lDB9Aj1uWdTqVjIBLDeAIhIjLscj1C2uRFqK+sBgch0sR7z4hHb0nYfAAecsm4WadzV1xpifZaLnbvHLS/4sXfhgEReXln7s2/cnK9gFSkDSvfYHwDLZ5nlIuaIc6Im6tDRFCcLq970giBYZH7ahPDRE5takzGe4ivy2kErwuDVOblrKF6J3ceaIVRuG02pFKDbGLiqh2rFUbskt4xmvMVMIFSOYnzBB71feryhXsz9SgeYMZcDn8JcichhJo/2zC5RF3VAK2X27EbtqtS9l4un3TSYcqh98X4baIGo1SFxAPgVePObnkih/PkKtQRs0pzeJA1lxlx//URKoDJuabAlN/lI8JcqTol4lJQ==
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:(13230001)(4636009)(366004)(31696002)(316002)(86362001)(53546011)(36756003)(6506007)(71200400001)(76116006)(66946007)(38100700002)(5660300002)(508600001)(6486002)(6916009)(54906003)(4326008)(8676002)(64756008)(66446008)(66476007)(66556008)(8936002)(6512007)(31686004)(91956017)(26005)(186003)(82960400001)(2906002)(2616005)(38070700005)(83380400001)(122000001)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ek9vUlBGZmN0cTJRUEF4UFZlNitvMjN6eXc2ODFtMkxZY21kc2NkcWlKdE5F?=
 =?utf-8?B?bk5OZHVXajZNS1JkQ0dkWkdBd1IzeHNiMjd2SERzTWtqQjJObmF1SmtGckpa?=
 =?utf-8?B?Rk84TzBlakpHYjNPeDJZZXNINnRUM0RwejA5TTQ1c1pOcUd2ZEZrV1JMM0hK?=
 =?utf-8?B?SlNPZmJ0WXpEY2tIaGt3S21kUkFMM0l2N1Y2bEZhbnJFZWRyVVc2ak9iZ2hD?=
 =?utf-8?B?YlVmcERWK2o2WXBJOXhRTGlvVkExQ2hGSkpMbjNYTnZWbTMyTjhtSzduU3hY?=
 =?utf-8?B?VzMvcFBLSDMvWVRvamZScVVBUTRsejY1VXJqcTdvNE9tTFRDUk9hcS9LWXc3?=
 =?utf-8?B?T3RrQVNNWmROMHZ0b2ZQeFVRbWxrM09EUVVsd2NMcUhXT3lqWDlQTWx6eWZ5?=
 =?utf-8?B?SDlDUGQ5eE5vYitNZzZTVFUwSDVTT2lReDViandieml4Z0RFNDRneEt5SzZG?=
 =?utf-8?B?N1FLU045TjRSYkVraGJUQjJkTU0zd3ZMYXcwRjVTWCtJTDVPQmtSYVZYTkFs?=
 =?utf-8?B?YjZmdUlIdUtncC9iNmt3UGRNbWZxK2hlckxKUVNKYTRYekxrQUtqT21leTRB?=
 =?utf-8?B?M3pnbnhIVk9EdUdUUkVlRFFqay9rTFlMOW9jcmNZTExUd1lzT3ZkUko1OEpx?=
 =?utf-8?B?b0V3MWF0aWVwREJIS2pmcHl3bDNFS3Mwb3hqekttOC9jWVRXR3lIU0RJSEhG?=
 =?utf-8?B?c0plVlhwOFdsL044QzNqZmE2TjhyZUh3ZmNXQnV3K1ZaOE4zUkNSU0VPSmpH?=
 =?utf-8?B?VzNxbVBwYlFLM1pTSjJONjZndkh0dFE5OHc2bjVXNXFQbTdHZGZIZDF6UGpY?=
 =?utf-8?B?SWFGek11UFNTMUVESzBTWEdsSjl0T0E5VmFBeTBNbmVtZEVZSkduWVd2b1dX?=
 =?utf-8?B?bnQ2emt6SGo3ZkYyYnQxNm9Nb2QzU1U2cXN5SVUrYmlTemo1cGJZWXB4L3I2?=
 =?utf-8?B?c3gzbkNGdDk0SUNCS2xieSthQjFUTGdXMHVmaTByVklxTVJTbWZwWkZ6bEk5?=
 =?utf-8?B?TUFIdkRQWHo2cE1sT3R4SHVMMjZUTXFIL2tTc05FWExFZTBNcWVwYnJzNDAr?=
 =?utf-8?B?RWdsTzZ0SWlZTVhVdTBVQU8vTFJjMm42ek9lTUttQzg4QVM0OFlxNTBmUElE?=
 =?utf-8?B?NW9kU2ZEVWZyOG1hR2RJb3lCZHQ0MjdaOFJmRDREeTRNcThWU0FzN3crSmJp?=
 =?utf-8?B?SS9wdm5pcmZkU2hxTWdHQjFCWnpJc0FWRzNJYnlyK1ZrN3dteTJuVFpGZ3pI?=
 =?utf-8?B?MDdrcXEzYWc3N05Pc0lmQzhES0ppbGpWd1FiTU1jbEdhejVNSi9UMVowb05j?=
 =?utf-8?B?RHROdlFtc3J2TmNEc2owSnhGa3Q1KzdCdVE4dTdqb0x5SUNBWVRyVjNTbFMr?=
 =?utf-8?B?VVRrcENkZjNGWUtiNDZZOGFydHAvL24waXhxVVVwLzlXTUNDRnFNenpRNnlD?=
 =?utf-8?B?TTluMUVkRnhCYS9YS0Y0clRvN2JHL09mTGtkeVcyODJJMGZjVWN6Z2E3V0dZ?=
 =?utf-8?B?RHl0MkgyUUtldWhoQU9odmwrUmNwbUsraTFOS2U1aEJncHl0QzdEQlE5dmxq?=
 =?utf-8?B?aC9vRU1OYm0yNmNIZGVyaVp1SllxanhGVXV1WmV0aW1DdysrbmZNSWFhd0Rk?=
 =?utf-8?B?NnZPRVkwcTBqWGhzV3FPWStQOHVYekZxblE3K3dvSmJpUFZadDlyZG9waXEv?=
 =?utf-8?B?eG1ybzN3REFGK1lkVk5PblEweDhRUVV6RnFYWm9jMFpUdVdMZHRJbHJzeHFL?=
 =?utf-8?B?KzNxbVQxK3ZWTDFpQ2FSSkV1cjhhMnFUWktWVnhVYUNmVTl6c0xxVHY1OXNW?=
 =?utf-8?B?ZGlJSlZRTWE3U3VoRkFjcTdqSmplam5DVmR5cEVZRzhHeDJaOXJ6M1hzUStS?=
 =?utf-8?B?V1hPdkFaOWpoUDM1RHdJaTgyNzJTVEFRY1dTV3ArdkNja0ZaZDg2cTNvNDA1?=
 =?utf-8?B?dmFkSHlFQ08vLy9LY2NJWVdQWG9tTzZ1cFJkRjhBKy9lZmxYL0lzaWdyOWdX?=
 =?utf-8?B?eTJSK29UZ2VCazhNN09ZZmwzYzBLVlAwUU8xMFYzaDQwdnFEc1M2a1RtdHE3?=
 =?utf-8?B?UUlKcndJNkZQVEZnblhzNG43T2tqang2dEdKNG95QzlCcFBPMDJEY2JCYnZR?=
 =?utf-8?B?czFlODE5Mlh5Zk5aN1Ftb05rRlVNSGtxbzNBMGJCbWZGVWF2TDNXWUdwMXN2?=
 =?utf-8?B?aEpVLy9PNkJEenBHUEx6bTdCcEY4SytadW5lN3hPbUlpZU02QlcvWkdsSThu?=
 =?utf-8?B?R2hjQlMzZ3dHUzhLak5ybkk2NUxBPT0=?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <85CEA16FDE881C48B95FFDA74A92A2D1@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f2215e76-0929-425e-d299-08d9e4c29187
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2022 14:04:16.5240
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: itZuCzvezSdM6cLf0SUTvzazMew6UtHmky/s5+nZjotxvfNLpaJTe34haNekKZLEeO443L+u+SDYvtyCIW1BR81HJBpXMXEjpQ1qK+zHbdc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR03MB3987
X-OriginatorOrg: citrix.com

T24gMzEvMDEvMjAyMiAxMjo1NSwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDI4LjAxLjIwMjIg
MTQ6MjksIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+PiAtLS0gYS94ZW4vYXJjaC94ODYvaHZtL3N2
bS9lbnRyeS5TDQo+PiArKysgYi94ZW4vYXJjaC94ODYvaHZtL3N2bS9lbnRyeS5TDQo+PiBAQCAt
NTUsMTEgKzU1LDEyIEBAIF9fVU5MSUtFTFlfRU5EKG5zdm1faGFwKQ0KPj4gICAgICAgICAgbW92
ICAlcnNwLCAlcmRpDQo+PiAgICAgICAgICBjYWxsIHN2bV92bWVudGVyX2hlbHBlcg0KPj4gIA0K
Pj4gLSAgICAgICAgbW92IFZDUFVfYXJjaF9tc3JzKCVyYngpLCAlcmF4DQo+PiAtICAgICAgICBt
b3YgVkNQVU1TUl9zcGVjX2N0cmxfcmF3KCVyYXgpLCAlZWF4DQo+PiArICAgICAgICBjbGdpDQo+
PiAgDQo+PiAgICAgICAgICAvKiBXQVJOSU5HISBgcmV0YCwgYGNhbGwgKmAsIGBqbXAgKmAgbm90
IHNhZmUgYmV5b25kIHRoaXMgcG9pbnQuICovDQo+PiAtICAgICAgICAvKiBTUEVDX0NUUkxfRVhJ
VF9UT19TVk0gICAobm90aGluZyBjdXJyZW50bHkpICovDQo+PiArICAgICAgICAvKiBTUEVDX0NU
UkxfRVhJVF9UT19TVk0gICAgICAgUmVxOiAgICAgICAgICAgICAgICAgICAgICAgICAgIENsb2I6
IEMgICAqLw0KPj4gKyAgICAgICAgQUxURVJOQVRJVkUgIiIsIFNUUihtb3YgJXJieCwgJXJkaTsg
bW92ICVyc3AsICVyc2kpLCBYODZfRkVBVFVSRV9TQ19NU1JfSFZNDQo+PiArICAgICAgICBBTFRF
Uk5BVElWRSAiIiwgU1RSKGNhbGwgdm1lbnRyeV9zcGVjX2N0cmwpLCBYODZfRkVBVFVSRV9TQ19N
U1JfSFZNDQo+IEJvdGggdGhpcyBhbmQgLi4uDQo+DQo+PiBAQCAtODYsOCArODYsMTAgQEAgX19V
TkxJS0VMWV9FTkQobnN2bV9oYXApDQo+PiAgDQo+PiAgICAgICAgICBHRVRfQ1VSUkVOVChieCkN
Cj4+ICANCj4+IC0gICAgICAgIC8qIFNQRUNfQ1RSTF9FTlRSWV9GUk9NX1NWTSAgICBSZXE6IGI9
Y3VyciAlcnNwPXJlZ3MvY3B1aW5mbywgQ2xvYjogYWMgICovDQo+PiArICAgICAgICAvKiBTUEVD
X0NUUkxfRU5UUllfRlJPTV9TVk0gICAgUmVxOiAgICAgICAgICAgICAgICAgICAgICAgICAgIENs
b2I6IEMgICAqLw0KPj4gICAgICAgICAgQUxURVJOQVRJVkUgIiIsIERPX09WRVJXUklURV9SU0Is
IFg4Nl9GRUFUVVJFX1NDX1JTQl9IVk0NCj4+ICsgICAgICAgIEFMVEVSTkFUSVZFICIiLCBTVFIo
bW92ICVyc3AsICVyZGkpLCBYODZfRkVBVFVSRV9TQ19NU1JfSFZNDQo+PiArICAgICAgICBBTFRF
Uk5BVElWRSAiIiwgU1RSKGNhbGwgdm1leGl0X3NwZWNfY3RybCksIFg4Nl9GRUFUVVJFX1NDX01T
Ul9IVk0NCj4+ICAgICAgICAgIC8qIFdBUk5JTkchIGByZXRgLCBgY2FsbCAqYCwgYGptcCAqYCBu
b3Qgc2FmZSBiZWZvcmUgdGhpcyBwb2ludC4gKi8NCj4gLi4uIHRoaXMgbm93IGVmZmVjdGl2ZWx5
IHZpb2xhdGUgd2hhdCB0aGUgd2FybmluZyBjb21tZW50IHNheXMsIGFzIHRoZXJlDQo+IGlzIGEg
UkVUIGludm9sdmVkIGluIHRoZSBDIGNhbGwuIElmIHRoaXMgaXMgbm90IGEgcHJvYmxlbSBmb3Ig
c29tZSByZWFzb24sDQo+IEknZCBsaWtlIHRvIGFzayB0aGF0IHRoZSBjb21tZW50cyBiZSB1cGRh
dGVkIGFjY29yZGluZ2x5Lg0KDQpUaGUgYHJldGAgbm90ZSBwZXJ0YWlucyB0byB0d28gdGhpbmdz
Og0KMSkgUlNCIHVuZGVyZmxvd3MgZmFsbGluZyBiYWNrIHRvIGluZGlyZWN0IHByZWRpY3Rpb25z
DQoyKSBTcGVjdHJlUlNCIGV4ZWN1dGluZyBtb3JlIHJldHMgdGhhbiBjYWxscw0KDQpBc3BlY3Qg
MiBpcyBsYXJnZWx5IHRoZW9yZXRpY2FsLCBidXQgY2FuIGhhcHBlbiB3aXRoIGFuIG91dCBvZiBi
b3VuZHMNCndyaXRlIHdoaWNoIGhpdHMgdGhlIHJldHVybiBhZGRyZXNzIG9uIHRoZSBzdGFjayBp
biBhbiBvdGhlcndpc2UgcmVndWxhcg0KY2FsbCB0cmVlLg0KDQpPbmNlIERPX09WRVJXUklURV9S
U0IgaXMgY29tcGxldGUsIHRoZXJlIGFyZSBubyB1c2VyIFJTQiBlbnRyaWVzIHRvDQpjb25zdW1l
LsKgIEkga25vdyB0aGlzIGdldHMgY29tcGxpY2F0ZWQgd2l0aCB0aGUgUkFTWzozMl0gZmx1c2hp
bmcgd2hpY2gNCmlzIHBhcnQgb2Ygd2h5IHRoZSBiZWhhdmlvdXIgaXMgdXAgZm9yIGNvbnNpZGVy
YXRpb24sIGJ1dCBldmVuIHRoZQ0KY3VycmVudCBjb2RlIGNvbXBsZXRlcyB0aGUgZnVsbCBmbHVz
aCBiZWZvcmUgYSByZXQgaXMgZXhlY3V0ZWQuDQoNCkFzcGVjdCAxIGlzIGEgZmVhdHVyZSBzZWVt
aW5nbHkgdW5pcXVlIHRvIEludGVsIENQVXMsIGFuZCB3ZSBoYXZlIHRvIHNldA0KTVNSX1NQRUNf
Q1RSTC5JQlJTIHRvIDEgYmVmb3JlIGluZGlyZWN0IHByZWRpY3Rpb25zIGFyZSAic2FmZSIuDQoN
Cg0KVGhhdCBzYWlkLCBJIHN0YW5kIGJ5IHRoZSBjb21tZW50cyBhcyB0aGV5IGFyZS7CoCBUaGV5
J3JlIHRoZXJlIGZvciBvdGhlcg0KY29kZSB0byByZW1lbWJlciB0byBiZSBjYXJlZnVsLsKgIEkg
dGhpbmsgaXQgaXMgZW50aXJlbHkgcmVhc29uYWJsZSB0bw0KZXhwZWN0IHRoZSBpbnRlcm5hbHMg
b2YgdGhlIHNwZWN1bGF0aXZlIHNhZmV0eSBsb2dpYyB0byBrbm93IGhvdyB0byBzdGF5DQpzYWZl
Lg0KDQpJJ2xsIHNlZSBob3cgaXQgbG9va3Mgd2l0aCB0aGUgaGVscGVycyBpbmxpbmVkLsKgIFRo
YXQncyB0aGUgZWFzaWVzdCB3YXkNCm9mIGZpeGluZyB0aGlzIGlzc3VlLg0KDQp+QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 14:24:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 14:24:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263132.455727 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEXbg-0004IN-M8; Mon, 31 Jan 2022 14:24:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263132.455727; Mon, 31 Jan 2022 14:24: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 1nEXbg-0004IG-Iv; Mon, 31 Jan 2022 14:24:36 +0000
Received: by outflank-mailman (input) for mailman id 263132;
 Mon, 31 Jan 2022 14:24:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9KqZ=SP=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nEXbf-0004IA-7d
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 14:24:35 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 80f961c1-82a1-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 15:24:32 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 80f961c1-82a1-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643639070;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=ecAUYcrhhHo+Pfg6PLlPNqcJcg4zZWxT1Ck9tcU3S3Q=;
  b=ZPCpWqNe1sfdQQeyl+id0XnheaflOIsh1OvI/6AkabTQ+C5Zh/WsVCXE
   Rd27y+DbUFfJipPUa1RsJ3JxzD36IJoY6vvmaofkCPpFcves9fKH6llVK
   IYBwg4GGUiI3SQFGjwLXIbb+JPik8jfXsXRvT3BvddX6xMl2rH0ML8ERT
   w=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: SX6vc5aJhmBq8RR9yU5dB4Ne0gZ74jm1bqph1FNNV4UveMeO5ddZTUdcgqo0KXHq+KYaJoDE/+
 2/fd1lW7+jTtoUGJ5vd+UWsbRBHOMPMNUfHFJvyINsasRpOEfv9QufO08uY1rShdbLSwTQpAvC
 maXKmMa8vBvJmYj6TuKHz7ofnAGTbjC6H/rAjdHxPB/vV/Y7uuw9/HIXfroQLk0x0h4OGuPTrR
 wgAA2w6fWqethhtejSZxySjeV3m5+2vBNGz6YCBPtNPlL+4TMs6eXz80uDHvI+qja+aEHSTg3+
 NF8ZzpUhyuGrGD77G9m9Jksb
X-SBRS: 5.2
X-MesageID: 62598248
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:d3AJma/YKPHq9QGxXe5KDrUDbXmTJUtcMsCJ2f8bNWPcYEJGY0x3m
 zFMDGnVMv2LZ2ugeNhzadi/9BlXupPSm4dqHQU4rns8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy
 +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug5w7di29Yy6TSEK1jlV
 e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH
 I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPgtw
 sRslrmuFztqO6PTl9YmChlTLg1HaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us
 6ZCcXZUM07F17neLLGTE4GAguwKKsXxMZxZkXZn1TzDVt4tQIzZQrWM7thdtNs1rp4UQKeOP
 ZZJAdZpRBbYWAN1AWgPMrEjrbehlGLxfidzo03A8MLb5ECMlVcsgdABKuH9atGMAMlYgEucj
 mbH5HjiRAEXMsSFzjiI+W7qgfXA9QvkXKoCGbv+8eRl6HWRzGEODBwdVXOgvOK0zEW5Xrpix
 1c8o3R06/JorQryE4e7D0bQTGO4UgA0B9BBMs4f9l+xia/a/AmrPTEERQNtUYlz3CMpfgAC2
 liMltLvIDVgtryJVH6QnoupQSOO1Ts9djFbO3JdJecRy5y6+dxo0EqTJjp2OPPt1rXI9SfML
 ydmRcTUr5EaloY12qqy5jgraBr898GSHmbZCug6N19JDz+Vhqb4PeRECnCBtJ6sybp1qHHb5
 hDofODFtIgz4WmlznDlfQn0NOjBCwy5GDPdm0VzOJIq6i6g/XWuFagJvm0leRc2apZaKGO4C
 KM2he+3zMUJVJdNRfQvC79d9uxwlfSwfTgbfq28giVyjmhZK1bcoXAGib+41GHxikk8+ZzTy
 r/AGftA+U0yUPw9pBLvHr91+eZymkgWmD2PLbimkUXP+efONRa9FOZeWHPTP79R0U9xiFiPm
 zqpH5HUm0w3vSyXSnS/zLP/2nhTcyBjW8iq+pMGHgNBSyI/cFwc5zbq6epJU6RunrhPl/eO+
 Xe4W0RCz0H4i2GBIgKPAk2Popu1NXqmhX5kbyEqI3iy3H0vPdSm4KsFLsNldrg77u1zi/VzS
 qBdKcmHB/1OTBXB+igcMsah/NAzKkzziFLcJTehbRg+Y4VkG17D9Oj7c1a97yIJFCe265cz+
 uXyygPBTJMfbA1+F8KKOum3xla8sCFFyuJ/VkfFOPdJf0Do/NQ4IiD9lKZvccoNNQ/C1n2R0
 APPWUUUouzEookU9tjVhP/b89f1QrUmRkcDRjvV97e7MyXe71GP+44YXbbaZy3ZWUP15L6mO
 bdfwcbjPaBVh11NqYd9TepmlPps+9v1qrZG5Q14B3GXPU+zA7ZtL3Taj8lCsqpBmu1QtQesA
 x/d/9BbPfOCOd//EU5XLw0gN7zR2fYRkzjUzPI0PESlu3MnoOvZCR1fb0uWlShQDLppK4d0k
 +4utfkf5xG7lhd3YM2NiTpZ9jjUI3ENO0n9Wkr23GM/ZtIX92x/
IronPort-HdrOrdr: A9a23:OvNOv6pu14i1NOGJhVAEo8gaV5uNL9V00zEX/kB9WHVpm5Oj+f
 xGzc516farslossSkb6Ky90KnpewK5yXbsibNhfItKLzOWx1dAS7sSrbcKogeQVREWk9Q96U
 4OSdkHNDSdNykZsS++2njELz9C+qjFzEnLv5ak854Fd2gDAMsMj3YbNu/YKDwNeOAvP+tlKH
 P23Lshm9PUQwVvUi3NPAhiYwGsnayvqLvWJTo9QzI34giHij2lrJTgFQKD4xsYWzRThZ8/7G
 nsiWXCl+eemsD+7iWZ+37Y7pxQltek4MBEHtawhs8cLSipohq0Zb5mR6aJsFkO0aSSARcR4Z
 3xSiUbToJOAkDqDziISNzWqlHdOQMVmjjfIJmj8CDeSILCNWgH4oF69Pxkm1PimjsdVZdHof
 52Niuixulq5VmrplWM2/HYEx5tjUa6unwkjKoaiGFeS5IXbPtLoZUY5149KuZMIMvW0vFtLA
 BVNrCX2B+WSyLsU1nJ+m10hNC8VHU6GRmLBkAEp8yOyjBT2HR01VERysATlmoJsMtVcegK28
 3UdqBz0L1eRM4faqxwQO8HXMusE2TIBRbBKnibL1jrHLwOf3jNt5n06rMo4/zCQu1F8LIi3J
 DaFF9Iv287fEzjTcWIwZ1Q6xjIBH6wWDz8o/sur6SReoeMDYYDHRfzPWzGovHQ1cn3WPerKc
 pbEKgmd8PeEQ==
X-IronPort-AV: E=Sophos;i="5.88,331,1635220800"; 
   d="scan'208";a="62598248"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iFvzwRu1WH1KR50iAGeNLZpgOuyBbAhuIo/GmFBJerPvrs0E0nDn4VaJTDcze9OoWMBX6P5HEwqxfErWWFhQhW328tgpAjPrQTvHefxS2wu+Sx4qe6rnpPApl6xDVv+bHYOanAyOzW1DlaZf5gsMgZMSzup09jkzGkJpbtdw4yaPSMvL3TzFUHMOw4u3lxIrfRIeaG4tWgwvxtcWK6HsmqxKcydXEGwgolTO2VNrPK/dfTwptFY++HauFhVkP4+ofJU0tygriOgqlYVhqMin7Pcr3xtC9RBgCn6XRCDkaYthke3Cqyx38wz8ILMK6Xxsc+9gR3Qdli8aHJ5nJV9efg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ecAUYcrhhHo+Pfg6PLlPNqcJcg4zZWxT1Ck9tcU3S3Q=;
 b=e2EsfJMdAtjaT8KbgSKtR2i8ToUZF2rE+OVKg34zuma2ipMGQSXPxVs1O267gm29cA38cricoVaCuzzVnqJEFo7LnN+B1tUHumqaB7gS+yAe+TFhwWNAOIjO0Q2Ozz92iG2pwEzCWHsZDPFgAT2YUDqX6MoE2ZGVxrKqjmQFtABPgAql+G+PU5ESWdM4YiObF7znrUllGlx6icYleNU7iH67F0zqnHJzbtzbp9v2hamw4XWiLPnJSegJNuI69HQhRORyan/imfdQe5KisaiYndDaLVN6t10Dg9TJVP+6DLYvfUZYW7smpkxueXfw29lcRNzcfFaQX9kM/pW+JxfIRw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ecAUYcrhhHo+Pfg6PLlPNqcJcg4zZWxT1Ck9tcU3S3Q=;
 b=K7wfhq3MqAvyhGJVZH+EGm5M7XFIiCzrie9b4fWW9Bd7OU+9b7t5uEfQx08JeuLPi7gSbnHr4fUaKVAImuI/H+TBSScx8DHiEkbbW8A3NXxtiYXuYurY5SdHFjA2NgYMbp4Ld3gEEjQiQOUXWT++8PE0VgbEGOsrWelJCp3opr4=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Xen-devel
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 4/9] x86/spec-ctrl: Don't use
 spec_ctrl_{enter,exit}_idle() for S3
Thread-Topic: [PATCH v2 4/9] x86/spec-ctrl: Don't use
 spec_ctrl_{enter,exit}_idle() for S3
Thread-Index: AQHYFEslNylcZ92lUUmGXdMcKHF6zqx87mCAgAATCgCAADJ9AA==
Date: Mon, 31 Jan 2022 14:24:24 +0000
Message-ID: <0fb993c1-9fd1-f652-aba5-97e14741bbe9@citrix.com>
References: <20220128132927.14997-1-andrew.cooper3@citrix.com>
 <20220128132927.14997-5-andrew.cooper3@citrix.com>
 <23ac2bed-9ab4-8b4b-2861-3362434dea61@suse.com>
 <daf19c30-7602-a689-c39d-35e477d9874f@citrix.com>
In-Reply-To: <daf19c30-7602-a689-c39d-35e477d9874f@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.1
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 2f7b84bb-fd74-4f95-c197-08d9e4c56187
x-ms-traffictypediagnostic: BYAPR03MB4872:EE_
x-microsoft-antispam-prvs: <BYAPR03MB48729B2C83372A38456E1387BA259@BYAPR03MB4872.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: 8CpdEDs25q0ZLwdf0tgHxQIh+kOBMYIDsZ9xf2YjB0V6dT2/fmn8EN2YtCzXGMf795aNlmECw8NSEa4/LgArvhnhqTFILT8KOLWyAUG86mXyUTOs4OWw80Y7d0wkFk7LHzp46QsZNGTyKBLnQbFnlFPZLlJb1BZ9QEVdIttwQEFq53FojSyhO6mjStLpvniDDsIF4q6xcbM4XKnr15fW3nJnPHe5b0RW6Wwrzgoruk+51AKYgpgLRrbenk301K6Qz1Z/zg/jrWgGkHOSegrbFiYbfKb9K/FXVRmy7YgRpDY75nzOM3Aqb3guOZXJ4wEbAXshDsII5LEenkjx764OR8nohaey1wt+lRMNg63dQYKincuO/eDJWPHK9MN9+/s8ug/DTpwDe17RNsoF50BzTPzPP1Knc0CbTcI0RJwnoVwIFiN2eFFdwzcYBYrJ7VV4yr5nT/a/5vYH+HxrH4cXwYV8iK9nfyO+o7g0cYzHyrhz5uSqgR0QqVg/3DDsd3VYZeOXmgSHvpIx8rQZXoCWqlnG9E1zzJrOiiRtrrF39bHID5AKWHGXiVYW18L841kzeKc1xxWXSJtZTw8sLn1ETeJ454lQ/J/ZxfJuPhdx61+8a1vIF1WNWgNkxfTyCTlpIf++YpBzZSfEZuUblXOV+kDTCCwDnIfbyCyrefxdNKXAsmv4RESYZ68F0ob6pZuv8saWn8UoMoornWM0yGr9ExwH6sjPu/gK6Mn4gxoY/NsJ1MxeaHQeT+E9PMb7xBwW3GH8P3dUmUgaoqKyogGkww==
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:(13230001)(4636009)(366004)(83380400001)(186003)(6486002)(4744005)(4326008)(71200400001)(31696002)(26005)(38070700005)(54906003)(82960400001)(6916009)(316002)(5660300002)(6512007)(122000001)(86362001)(508600001)(31686004)(8676002)(2616005)(6506007)(66946007)(2906002)(76116006)(53546011)(91956017)(64756008)(66476007)(66446008)(8936002)(36756003)(66556008)(38100700002)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eW40ZVdySytuK09Ycnd6N3h0WktSQnY3U1FRMHR5MmR6NG5ScHROYmNySDBI?=
 =?utf-8?B?V0pST2hnaXlZcGoyVzR6Z2NRdmU2SmdxT0xBZHZDT2RZOURxYXBVYjBrWndp?=
 =?utf-8?B?QjJwV3FRMWJzTVRmamt6aTRNUGpQYTc3M3RrWVVPNG95RlNNKzYzN1NCbnVm?=
 =?utf-8?B?MGdlaVh4dTlUSzhqOGFnbVNsbHlyRGRWMTdZOE1GZ1l4SWIwQ2ZDWDE4MVFt?=
 =?utf-8?B?L0J4NHNROFRrYkVXcjNiK2hDNmUzVFBUVE9DZWJ0L0RuMTZLbTBCSkJuQ2lN?=
 =?utf-8?B?dStzWXEycjJWVnlZM3dBaTVmU0VUbEk2dXVhUzRWZm0wSGlCZ0lRU243eUpa?=
 =?utf-8?B?MVNtTGJxd01DWUh4Z1l4MkpzdVFlUE9SclVWYVduNnNGZmZWbCtYdFNuVFph?=
 =?utf-8?B?bE9hRVNJdVovL0dRYlBYdWVlQW11Y1MwdmYvUExWNUhMdENvemJqWVNJcUVG?=
 =?utf-8?B?eFdVa3VsSVNkTklISUg0ankzN0pmWHYxL2dmTGpXTS9abENtR3g1bldKUkJU?=
 =?utf-8?B?VGJySldYaWh2UmNDblUyT2FyVHRUMnY1U245SEhZOTlQSjBSejVXcmNIR2pz?=
 =?utf-8?B?ZDZsWUwwbVNWSElDT1ZncTEzaGpweTg1YkRRVkY2Rmw3ekYvNGwyN0Nlc0tQ?=
 =?utf-8?B?MnRRWXpiOWJvU25obVBHQ0lWRUQxQ1ZvTE5DVTJHOHRxcGxVOVIwd1MvcGwx?=
 =?utf-8?B?YWg2VDZvQUVOTEZQbHlWRC9WNm1DMjE4OGJqNWJteGdHa2pSaUlsdFdDc0pK?=
 =?utf-8?B?emY4ZFUwUCtOZzRtOHppZnpETTh3Z1JvL1VTUmZieTY2cXlpK1gzclNjNDF4?=
 =?utf-8?B?QnlMTFdxK3IvUmlnNjhCbWNTVHhGZHJJS29WSEhDM25SS1FzTnlSUmZERnlu?=
 =?utf-8?B?Tk5PSGtJazBEY1JLSTV4c0Q1OW03eFhiZ3RLTitwL200QVJQYmY5NUtObmJ3?=
 =?utf-8?B?Y3NLN0hOK25CS2crWmdmUndYdmJRWjZuUDY2R1FEZXMxS2pxT1JlMW04dlFR?=
 =?utf-8?B?VlI4NjdOVkFpRThobk84azlMSS9uMXJuU1hvVklMSGVKYWJEb016ZlQwTGQ1?=
 =?utf-8?B?ZTYwNHdzVVpURnVqeUM0amttei9UaUorRVpQMEZqSVU1RTJyQUM3Smx0dDdB?=
 =?utf-8?B?YXFTcURqM3F5T2kxYUVQWlVVR3FoOG1oWkNFQTc2Q3NZZkIvMWlaRUhhZExv?=
 =?utf-8?B?L2Rja2wzN0RZUG9iWGYyV3BNODh3bm1vL3BjenlIQlplNHlDUmRPVXlVa0Nm?=
 =?utf-8?B?YU1Eays3WXE3R3JQWEJ6ZHdrQStDbTk5cG9rOEptL1JaM0tDNlJ5QWlkek5x?=
 =?utf-8?B?d2tWRnVPOThLQkJhRkh1N2pXaWluK0l2R0w5WlA2MHBSU3cvVjVhNUhmOXQz?=
 =?utf-8?B?ZEoxbXB3eWtCZVRZb3lxdXpzN1JRejNLRTNKSXVySUFmN08rR0VFY1VMVDha?=
 =?utf-8?B?T0tGSHV2RFRSSHRIVjlHaFVscUpna2htTXVWeXN4WEFyTVFWNG8vZzBVV3pu?=
 =?utf-8?B?Y0lRTlJNOCtlYThCaWdNdWVsUlhRb1I0UDBLT1h3OCtJRlBpZWVnUWF5QlJm?=
 =?utf-8?B?NlgwRllqOGo0WnNlZC9BclJmKzJFMTlWcEFmMm1jN0RiR25VYXVmMzdFZ3hT?=
 =?utf-8?B?N0ZzQUVaemVnWmNsdVdMODNaZHdQd2JiVEQvekFXQVdETnpTNUVScEVxS3d2?=
 =?utf-8?B?N01OWllraGdyM3crRW51a2tTM3N4NW8vLzZGcWNmTzZpcG00cjRJRjN3Q1h2?=
 =?utf-8?B?ay9JRml0U3VVNFViUzVLZldCcU1sWi9uS0ppd2U3SERYb3R2VnE5bnZ5dXU2?=
 =?utf-8?B?bHJXZHNVWVVwTHVBUWNkMUsvVFpHTENyUVV4TGdtOENaN25qQ1VRdUdYOFZ4?=
 =?utf-8?B?cUlyUkR2cVBzcTVqTEdGQ2ROZlVmMmRlcXp3NlBvUk1Ma2FXdjFaWHI4dXpZ?=
 =?utf-8?B?emtvZVFYV1JhYXRUeGt1YnJaYXFKUlNXTUJwQ0F4K1JrRUFLMTdSSHJhN3lD?=
 =?utf-8?B?aG5zK1pwSXZReXQ3dE55cFVoV0h0Q2N6Q0hCVThYSUorUVY4bXZlby9GVVY0?=
 =?utf-8?B?Ykxtbk83Sk1IRWtSRFFVSUVnWGNDV1NyQ00vRlpOMUd1SUNubXFnZ2sxS1Vp?=
 =?utf-8?B?RjAvdGFsUEdlQkpDZktPT2prdzRmNE9STDhvMXBQRzBMUlJ4SlNzQTJma1Yw?=
 =?utf-8?B?UDMybjNrbGM0NlRVRWRiK1d5U1JlQXpMQlo3L0p6L1NLUkJKN3lJRUZDUk50?=
 =?utf-8?B?dG12ZjBxOWRiV1hKdE1ZbkpFUTBBPT0=?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <0299F19953E88D4CA8602CB62FB36374@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2f7b84bb-fd74-4f95-c197-08d9e4c56187
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2022 14:24:24.4675
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 6JO4DF86KoZvjUWjTbKtFNE81xh7VoGwbGiHT7S0fu5wexyJURnfWxNfToleIVyklehWzmHm6TLmx+m2fIkxb9p5Cr7ZyFpiW17dx5yTi3c=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR03MB4872
X-OriginatorOrg: citrix.com

T24gMzEvMDEvMjAyMiAxMToyMywgQW5kcmV3IENvb3BlciB3cm90ZToNCj4gT24gMzEvMDEvMjAy
MiAxMDoxNSwgSmFuIEJldWxpY2ggd3JvdGU6DQo+PiBPbiAyOC4wMS4yMDIyIDE0OjI5LCBBbmRy
ZXcgQ29vcGVyIHdyb3RlOg0KPj4+IFNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJl
dy5jb29wZXIzQGNpdHJpeC5jb20+DQo+PiBQcmVmZXJhYmx5IHdpdGggdGhlIHN0YXRlbWVudCBh
Ym92ZSBzb2Z0ZW5lZCBhIGxpdHRsZToNCj4+IFJldmlld2VkLWJ5OiBKYW4gQmV1bGljaCA8amJl
dWxpY2hAc3VzZS5jb20+DQo+IFRoYW5rcy4NCg0KQ29tbWl0IG1lc3NhZ2Ugbm93IHJlYWRzOg0K
DQotLS04PC0tLQ0KJ2lkbGUnIGhlcmUgcmVmZXJzIHRvIGhsdC9td2FpdC7CoCBUaGUgUzMgcGF0
aCBpc24ndCBhbiBpZGxlIHBhdGggLSBpdCBpcyBhDQpwbGF0Zm9ybSByZXNldC4NCg0KV2UgbmVl
ZCB0byBsb2FkIGRlZmF1bHRfeGVuX3NwZWNfY3RybCB1bmlsYXRlcmFsbHkgb24gdGhlIHdheSBi
YWNrIHVwLg0KQ3VycmVudGx5IGl0IGhhcHBlbnMgYXMgYSBzaWRlIGVmZmVjdCBvZiBYODZfRkVB
VFVSRV9TQ19NU1JfSURMRSBvciB0aGUgbmV4dA0KcmV0dXJuLXRvLWd1ZXN0LCBidXQgdGhhdCdz
IGZyYWdpbGUgYmVoYXZpb3VyLg0KDQpDb252ZXJzZWx5LCB0aGVyZSBpcyBubyBuZWVkIHRvIGNs
ZWFyIElCUlMgYW5kIGZsdXNoIHRoZSBzdG9yZSBidWZmZXJzDQpvbiB0aGUNCndheSBkb3duOyB3
ZSdyZSBtaWNyb3NlY29uZHMgYXdheSBmcm9tIGN1dHRpbmcgcG93ZXIuDQotLS04PC0tLQ0KDQp+
QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 14:52:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 14:52:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263140.455738 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEY1z-0007SP-KB; Mon, 31 Jan 2022 14:51:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263140.455738; Mon, 31 Jan 2022 14:51:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEY1z-0007SH-H6; Mon, 31 Jan 2022 14:51:47 +0000
Received: by outflank-mailman (input) for mailman id 263140;
 Mon, 31 Jan 2022 14:51:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9o41=SP=epam.com=prvs=4030d24c28=oleksandr_andrushchenko@srs-se1.protection.inumbo.net>)
 id 1nEY1x-0007SB-Vx
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 14:51:46 +0000
Received: from mx0b-0039f301.pphosted.com (mx0b-0039f301.pphosted.com
 [148.163.137.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4dc58b4d-82a5-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 15:51:44 +0100 (CET)
Received: from pps.filterd (m0174682.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20VCvjfe027179;
 Mon, 31 Jan 2022 14:51:39 GMT
Received: from eur02-ve1-obe.outbound.protection.outlook.com
 (mail-ve1eur02lp2055.outbound.protection.outlook.com [104.47.6.55])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3dx7wu272g-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 31 Jan 2022 14:51:39 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com (2603:10a6:20b:153::17)
 by VI1PR0302MB3262.eurprd03.prod.outlook.com (2603:10a6:803:1d::33)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.21; Mon, 31 Jan
 2022 14:51:35 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6]) by AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6%3]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 14:51: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: 4dc58b4d-82a5-11ec-8f75-fffcc8bd4f1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ICn4NGMHj7J4RKDfucwXyqvmpKw8/WBbPGEoeH3nFtOLcYf4c8hEUgcEtA5dLukHbkxOQ248AuRaKvhXAXvy9XRuY1aW4igjuLTMsI92bheGeslBoxuPDWE1aOgUZYDasLfrEClODZxKQdhPzdj66S9UWLmt/nAHiVPjp35wgq+FUFWgxZd3j4BKz64RCqfJadp4UjhDjd3K1SIrv+nsHi2nQrfp4DvJY40ZtkasYnxythKapLa69A7HrZTu3C/gIQDyc35TJN32dlm+PLQpae6GeKmfAP4WHSwquRgun0QceJdCsPhgaTILXM4l2y0QC4dHxRe/vouWLmcXQhZHcA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tm1P+0VuN93o5CakgosbqIzl7aA7jai26H+1+0dHoPk=;
 b=lX8UjJB1jC1H6mprFmvn7lFZ45LXSt9qNlQFyfDSWlNgxF40E+4+YJ0XZDeFgJqslVYLyaekkIbLsRw4oRrI1WuOvUf+WOUA18HFFplDUHGhIgkjKofonN+GoINtzNx6IZJDzPoQUqfUS9d3D27wH0Oa+24nB7YRvoj4i3fJPqADvKSP+BIqlfLhkqU/Y0CStk7ihbGfuEiMKd03heIqDHfNvgKLIPUOIf8XYx/3/bCoAqhed1rBFzttnjTWFo2qV3EvJhw5n2dyDW/jEarBoR5adjTq20Co3PEk4YEs4GkyWkovM6nsr7OOev46rytqeNtllsxCb9wOPdHakJiSyw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tm1P+0VuN93o5CakgosbqIzl7aA7jai26H+1+0dHoPk=;
 b=rj6KsQgFlMvNaaVsk1UFcyhRdiBMQEDfiXAES3jh44zp8U5pNPVra+ctRZSxRllPAWoyFfnkkKVFUz3cESwlJfjLgggpsaVje1tqnvhQseONhaQAe+jSr2rreSv6Qbu3xYata1RfGYRgW7Gg64FO4WxJXlJh1J9GBDtKELLldf6+pZMH7s2krDq3sra7OvX/bc60kts/E0C8Tcijd8np2dMRQ8gw6mMvgtFbYCOT2Ra1lc7O2+1uJdVVJuyGUST0SqZC9RDxzSittQaAWw1Ywu8jC4q47AUCcyWqQzJlyhFQJ6HBxhHuTArng5PttzIemGlNovkGLPHZQepPZlXB7g==
From: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
To: =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        "julien@xen.org" <julien@xen.org>,
        "sstabellini@kernel.org"
	<sstabellini@kernel.org>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Artem Mygaiev <Artem_Mygaiev@epam.com>,
        "jbeulich@suse.com" <jbeulich@suse.com>,
        "andrew.cooper3@citrix.com"
	<andrew.cooper3@citrix.com>,
        "george.dunlap@citrix.com"
	<george.dunlap@citrix.com>,
        "paul@xen.org" <paul@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Rahul Singh <rahul.singh@arm.com>,
        Oleksandr
 Andrushchenko <Oleksandr_Andrushchenko@epam.com>
Subject: Re: [PATCH v5 06/14] vpci/header: implement guest BAR register
 handlers
Thread-Topic: [PATCH v5 06/14] vpci/header: implement guest BAR register
 handlers
Thread-Index: AQHX4ewHyWAyD811HEGp8pIjUuVWNaxfndGAgB2tWgCAABW/AIAAP1GA
Date: Mon, 31 Jan 2022 14:51:35 +0000
Message-ID: <3ff7d8e5-f612-92a0-6cc6-cf620641813c@epam.com>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-7-andr2000@gmail.com> <Yd7K+9fvnBz+WTXA@Air-de-Roger>
 <77c00154-646c-a2a3-98cb-be4324003446@epam.com>
 <YffCWGuP9ny8zG2p@Air-de-Roger>
In-Reply-To: <YffCWGuP9ny8zG2p@Air-de-Roger>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 5acd6d6f-2068-4b55-36c5-08d9e4c92dc4
x-ms-traffictypediagnostic: VI1PR0302MB3262:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <VI1PR0302MB3262A280865255FDA4C1C8C9E7259@VI1PR0302MB3262.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: 
 zYikjQN9OCzdYbZV15i03El86F47ArRL8a1FSzTjNBFQXnu1G9TLCPbjCsWO986KWzG1anDvm1C+0Y9kVCBg0zJsvvpi1ARJmZaskeJAlc56KGpsrf7+vqni3/rmAu0n+zfs7bWCigAUR+kYvPqD8qlxckmefxIVw5alIVJq9fUNLAZ+auvD1UAkCXAlp3is8+2gsGw8bQrvuoXVL+COgfao/SQpwrLBh/sGZHMxH2anw5V3cswqpos0XbgLKiXns2Bc6k3hh9p0OHXlXwILUSZDf8Odenfxq3rlBHwllqWxbORA9HBr/Pzl3kAkjFdQSsc9jSPaDC4ujHS4g7f5JKAg9gqqjHOclCmeZj6G3egzqCbESnAxyN7Aa7pfdYj7mq/lYbmfU5R0qlKAV5RPpFR/+X8yHtY1gp9rg60w882gYAqqsssFsjj3jJFQEUcTCGi06duvdTfYQGfsZ4Dab971e0xFzwYyE5tpTICGY7q6kTRPZsgFs2jVQtf556M3oL9+svKiccLDBDIdxBXTedhMAw3q8wzTU7UVyoC44R9Q/3e0wmZT41fiP/J28T2EA102ur2hI53QwZiZDmk6LJ8adK/Y73x5uB4T1VHiMATYMhK8RleSN5SiLDQoQVOZTreQYMZ9pA3N86iMXDwDwu9mINRN59jPwNVM1SMpEpeX/PCU7NnxLJBs6SVnGX7ynwfCZEF2BWOexMx3mDKawHC1ZbM1O+hgDsmP1i8NBF49sJ6SwO/Gj6ZmWqhUWhvd
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:(13230001)(4636009)(366004)(107886003)(36756003)(2906002)(26005)(38070700005)(186003)(4744005)(508600001)(2616005)(31686004)(6916009)(316002)(6486002)(54906003)(7416002)(4326008)(91956017)(66446008)(66476007)(66556008)(66946007)(76116006)(5660300002)(71200400001)(6512007)(86362001)(31696002)(38100700002)(122000001)(6506007)(8936002)(8676002)(64756008)(45980500001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?aFQ3L0R1TWdXMjJuWlpKdmdacGZWaDhhZVpmOGpMTENidmR1KzBoZkFGYVBW?=
 =?utf-8?B?eXI0L2hVV1QvUm1aVEZwNHBhSmhncmVUcnVldER2dGFKVFRReXY1cU43UWJZ?=
 =?utf-8?B?NlRWR0djaTFadEFoZSsxS1M3WnRzOEVvZU96VU1VTC9WNUtZVkgwczdtVlBM?=
 =?utf-8?B?ZnY3MEZlTHNWaThwZTJWZ2o3YmNEMzNnc2RmMnNuU1lvV3hwKzJFa0FWYUZl?=
 =?utf-8?B?MDViaHNJWEQxQkV2QjFOUmFSZCtjem93UVorMmdTaWRQUEEyRHJZY0hLVGZw?=
 =?utf-8?B?SE54bVlWVEYyZ2RsMmpMNjlPRGVpbUJlY2pydFE1VU9VL0RWQkxDWGZ6ZWUy?=
 =?utf-8?B?WFQ5WkFGOW1WY3BqMnVMZnBTU2xyc3l3b3lHWUxjRGdwT1cvTmhKTldyMmEy?=
 =?utf-8?B?UG9CMHdteFEzdmttZ2hhbStkd0ZWamZ6M0oyNkFVekpRR05ObkxJWk5zTXhX?=
 =?utf-8?B?RkNlOW9nSmkxNDVVWERhQ2h5eFlkSG1HNWxuNlYySmkrVWpUbHFZMzIvRy9s?=
 =?utf-8?B?K01pTFRienhqV2FPVlFxRk9MenU3QitNeTYwU2hDSjQrejFiSHg5SXhuOXc3?=
 =?utf-8?B?N0RWd0FrUks3dWxZT2ZYTHk5MHB2TDRYRmdXOGRnYndOS0U5L0dKQzVhbWJ2?=
 =?utf-8?B?NGRnbExDWFZNdW1UUFBNQ0h0aGtUSTNqTG03NU9zc0xpelQya1l1Q05zUmlz?=
 =?utf-8?B?dDJBeUtXRFYxYTBWMWpvOWJJeTFTNXF6TWNKUk0rM3d0WGoxd1NnRFR6SExI?=
 =?utf-8?B?RS9wWTNXSEhKU2M1RHhWd00zSVFyd2ovWjlKR1czd0hwbTRIRUZDK1lJeEpF?=
 =?utf-8?B?aXFBZDVmQ1NzbjMwZWNXZ3dlaWJWNXh1di9nYXZiUU5vd1d2SkhrUTY4eCsr?=
 =?utf-8?B?NjByaE54azFrMjUyMXc2cUlKUVNTVW5jU1Vuck5pVHpDbjFYdUZkNzk1OEEv?=
 =?utf-8?B?Ump6SnRDeVVTVDBGTldFR1ByVUNqL2JVa3FCSmE0OUtYWTdLNTd6Vng0WjM2?=
 =?utf-8?B?THdJOGhVb2NaRlAxK2ZmSFJMZTFOeEFwUytWclozQXdEb1dyVE0rWnFudGZH?=
 =?utf-8?B?YnVnNGlMQUlUVGxPYTBWY2tBQThIOEJUOEY3MVdMWUR4TXoraGpkSnlBQzU3?=
 =?utf-8?B?czQrbUJkRlJGM1kwUXc4djFEUElFdXFQSmlxV2tTQ0huNE5JcEJBdWRyS0NO?=
 =?utf-8?B?SWNLcDhWdk93NG1teG9RY2ZZRFNCK1RPYkR3aFpoNnV3NG5hQzZGc3VyZXBY?=
 =?utf-8?B?VFdvMWY3aVNWdlE1amIzZ2pGbFpOcG56Q0xxbU8vZ1Rxa2trdnlxOGJiRkFS?=
 =?utf-8?B?dkgyWTJ3aHNIbzl6YWp0K0JpeXk3WnZzNDFMQ2Z4SkMraTg2YjJUWVRsZjZF?=
 =?utf-8?B?cGMwZTcwZWswTUlQSWg4dVAxQVNYdEw3RGttZThUQWphbGt5bElNVUYvUVJN?=
 =?utf-8?B?ZVEwN2QrS0hMc0Q1Z1kxamJTazV0d3BkQUM5dDRrWlhsK1J0TXNVUnNxMDlI?=
 =?utf-8?B?VDNmZnJjbzBXTWFRRmhTMFo1TnlLYTRVMmZhZGhRQXlXZW9CcUlrNElaaWRq?=
 =?utf-8?B?cHI4KzdIV3pzU3c5c1pxcUNucHdya1NISzVwdjlBVHBKS2ZweWduZkI5b0sy?=
 =?utf-8?B?Zm9PL3BYdHV5elprbGs4WW9CMUJ2UTVQdnQ5R2V1NVNGbU1pNVhMVThETmdK?=
 =?utf-8?B?MlY1OTYxUkRkUlZwODhhSUtyOHFTVkQrN3VRTlVqVkp0WWsvQkVkMXRza05C?=
 =?utf-8?B?bkUvZ1NzbFBsWUVveXVkYWxzaVJNSkMwZFhTbjUrWC9ZeENvaFFpRDRrWndQ?=
 =?utf-8?B?bTJpL1lUdnpQQ3BCcTNwaDJKNHI2cmhnUENCaEhicTlqOUd4U2RkUy9NbmZm?=
 =?utf-8?B?SHR6cXY2Q2U2Z1A2a3BqOFRkcjl2ZGxoQ1FtZldncUV5aVdodVhsUk5ibjZw?=
 =?utf-8?B?STI0L1pVTjVMWFlFcmVGYnJqSEpTdG83OWcyS0lhWFJxdDdGQzhiREkwTWRo?=
 =?utf-8?B?VnZ4bUY5UDZRdmlGbWRXYnZBNEhWK3d5T0k0OHpJUTQzcC9mNHlmKzRFTlF0?=
 =?utf-8?B?SnkrSm9kdlYvaXo0b0hWK2V2TTVIeHpCRFlPVDNnRkszVDlVYk0zejhXZDcz?=
 =?utf-8?B?eU1DeXN5WUwwYkwrVVBpcExvSC8vV04vRzYzYUVuTGVwYkc3VmxIZG9EZkZQ?=
 =?utf-8?B?M2x5MFNNaDJqQytiYW9RbHpuNWFRWnVuU01iNVVCSHB1MllzZWV6eVV0Z2Vm?=
 =?utf-8?B?N1BmVHFkOXZIRUVYZm1XSHFqdzU5UGVxdkFTTy84bE1Xb1ZxRzc5MnFhRkhT?=
 =?utf-8?B?ZmxmbXVEWWJhMmFTRGs3eWY2MmVjRXozYTZvTUpUOVJLWmRWMFR1dz09?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <678DA17B35BDBC4B9B59D0119930B62A@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: 5acd6d6f-2068-4b55-36c5-08d9e4c92dc4
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2022 14:51:35.5466
 (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: W68+LyGH5XIx5w3cdgcn1s2tDCR3jMpTA8DUOiXWXQyT9a0+ml0+3ohq5zLJQKRkhXPGdLEYSSWZD3YVnonpmvFNWzRW3+h6MJ7TfstYNPODn8B3JtSA53yAwy0TjpBx
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0302MB3262
X-Proofpoint-ORIG-GUID: NyzYeFzroC1xV345EHIBOKAjVueIl6br
X-Proofpoint-GUID: NyzYeFzroC1xV345EHIBOKAjVueIl6br
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-31_06,2022-01-31_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 bulkscore=0
 clxscore=1015 impostorscore=0 spamscore=0 priorityscore=1501
 suspectscore=0 adultscore=0 mlxlogscore=956 phishscore=0 malwarescore=0
 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2201110000 definitions=main-2201310099

DQo+Pj4gSSB3b25kZXIgd2hldGhlciB3ZSBuZWVkIHRvIHByb3RlY3QgdGhlIGFkZGVkIGNvZGUg
d2l0aA0KPj4+IENPTkZJR19IQVNfVlBDSV9HVUVTVF9TVVBQT1JULCB0aGlzIHdvdWxkIGVmZmVj
dGl2ZWx5IGJlIGRlYWQgY29kZQ0KPj4+IG90aGVyd2lzZS4gTG9uZyB0ZXJtIEkgZG9uJ3QgdGhp
bmsgd2Ugd2lzaCB0byBkaWZmZXJlbnRpYXRlIGJldHdlZW4NCj4+PiBkb20wIGFuZCBkb21VIHZQ
Q0kgc3VwcG9ydCBhdCBidWlsZCB0aW1lLCBzbyBJJ20gdW5zdXJlIHdoZXRoZXIgaXQncw0KPj4+
IGhlbHBmdWwgdG8gcG9sbHV0ZSB0aGUgY29kZSB3aXRoIENPTkZJR19IQVNfVlBDSV9HVUVTVF9T
VVBQT1JUIHdoZW4NCj4+PiB0aGUgcGxhbiBpcyB0byByZW1vdmUgdGhvc2UgbG9uZyB0ZXJtLg0K
Pj4gSSB3b3VsZCBoYXZlIGl0IHdpdGhvdXQgQ09ORklHX0hBU19WUENJX0dVRVNUX1NVUFBPUlQg
aWYgeW91DQo+PiBkb24ndCBtaW5kDQo+IFdlbGwsIEkgZ3Vlc3MgaWYgaXQncyBub3QgdG9vIGlu
dHJ1c2l2ZSBpdCdzIGZpbmUgdG8gYWRkIHRoZSBkZWZpbmVzLA0KPiByZW1vdmluZyB0aGVtIGFm
dGVyd2FyZHMgc2hvdWxkIGJlIGVhc3kuDQpJdCBpcyBpbnRydXNpdmU6IGl0IGlzIGVhc3kgdG8g
YWRkIHN1Y2ggYSBkZWZpbmUgaW4gc3RydWN0IHZwY2ksIGJ1dCB0aGVuIHlvdSBuZWVkDQppZmRl
ZmVyeSBpbiB4ZW4vZHJpdmVycy92cGNpL2hlYWRlci5jIHRvIHNvcnQgb3V0IHRoZSBjYXNlIHdo
ZW4gaXQgaXMgZGVmaW5lZCBvcg0Kbm90LiBJIGNhbiBzdGlsbCBkbyB0aGF0IGlmIHlvdSBpbnNp
c3QNCj4NCj4gVGhhbmtzLCBSb2dlci4NClRoYW5rIHlvdSwNCk9sZWtzYW5kcg==


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 15:06:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 15:06:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263146.455748 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEYGI-0000bb-VH; Mon, 31 Jan 2022 15:06:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263146.455748; Mon, 31 Jan 2022 15:06:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEYGI-0000bU-S4; Mon, 31 Jan 2022 15:06:34 +0000
Received: by outflank-mailman (input) for mailman id 263146;
 Mon, 31 Jan 2022 15:06:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9o41=SP=epam.com=prvs=4030d24c28=oleksandr_andrushchenko@srs-se1.protection.inumbo.net>)
 id 1nEYGH-0000bO-Tc
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 15:06:33 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5ef9cc08-82a7-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 16:06:32 +0100 (CET)
Received: from pps.filterd (m0174678.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20VCvwJM009282;
 Mon, 31 Jan 2022 15:06:28 GMT
Received: from eur04-he1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2056.outbound.protection.outlook.com [104.47.13.56])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3dxc901gw4-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 31 Jan 2022 15:06:28 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com (2603:10a6:20b:153::17)
 by VE1PR03MB5839.eurprd03.prod.outlook.com (2603:10a6:803:111::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.21; Mon, 31 Jan
 2022 15:06:21 +0000
Received: from AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6]) by AM0PR03MB6324.eurprd03.prod.outlook.com
 ([fe80::d425:9c9f:10a8:fdf6%3]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 15:06:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5ef9cc08-82a7-11ec-8f75-fffcc8bd4f1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WaNllTJTFnTfB0MaxvzP9mAZqlFLcsFGs92IoYQegsRYXKtOw/evCWpcq2NjvgroPd/i9UNWs2oycr2+5wZe75MAPtG9wST/agaFl3UDfDDKZFcF0sRuZD7nJxxOgo00XrED7u96zhKOjD8wVcetZlcjL+nhtAOydnk+tJXtLofObwHXRO72s49VttY08yQQtJYI17nRDYKfxbaEJKGK9i1AI0eUujLIxvCtTtjrVrEr6L2eme0Inks0832AITSqRHxRIptEcEj/1mCOl0QPFT2mAFmVbq0kdRGN2uwUmfqLZjStJGMEl5cradsqJRPQVxi9ZzHdd0UCrJ9mO0tMxg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cUMc7Cwgc3p4fx1LmRT4WAFT7O14oZIkwNY7wYk9LQk=;
 b=ekxELbwlPttKhrHHoknzHjCbEJFV1jI1XQ4Pu7s8RPFlyrMgBLQJQ59/H30IEKZrJlhsYIOyDtPfNrfJ+eN7LrdfOVJgf45QRTlEosvUW9FMETpOkqv1lN/NwVghkzFPAJ6vuKRnerb6+rDrUiOuqtD75GiIAUCHyJgLZQ2QBlgOT7LX+7RyN9MITTrD7/YYa4mr784LKFDbUDLUCkwKNxb1dQKxy5+dD3GdYb9NXW90pXX0bYgwss40NV+HDrAOrejd9RwTfi7DtH8AEYtyH94cfhBfQdfKKweLebXh77bgF60Vh00o6cBY2mro6FL05TSQCMKa0kRa/KXdz3FkXA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cUMc7Cwgc3p4fx1LmRT4WAFT7O14oZIkwNY7wYk9LQk=;
 b=m1oIE3UtKfQkMm5pivNxFVtAROwvVsBYAzve0k4YuSo/jtmWK/gGLipObmqPUGIUvx8effBrxPBtf3/FGbB+w4f/uQxQ2oXos1Yu8jG+RIXmQdQiVSZg5GK5soWdOuM9E3j5ie+FgnOoDyaX93czaRkG6vn2qzpszzckyKI3Ofa6z8AL4tCeEfZA0rs9veOGzAGuWmZy6fczlzJakHxPdKZBJNegtgugXt2YKRMIJs9tIoQGn74dclWDJglc2j1AI6c3VMdkqJVbTBvqDmZUiyGndHXsinn7LkCYzLnuuaW7c7z2HrHNXCFKJvmmoLgbqp1YFTS30tsBip6ffFpCUA==
From: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
To: =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        "julien@xen.org" <julien@xen.org>,
        "sstabellini@kernel.org"
	<sstabellini@kernel.org>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Artem Mygaiev <Artem_Mygaiev@epam.com>,
        "jbeulich@suse.com" <jbeulich@suse.com>,
        "andrew.cooper3@citrix.com"
	<andrew.cooper3@citrix.com>,
        "george.dunlap@citrix.com"
	<george.dunlap@citrix.com>,
        "paul@xen.org" <paul@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Rahul Singh <rahul.singh@arm.com>,
        Oleksandr
 Andrushchenko <Oleksandr_Andrushchenko@epam.com>
Subject: Re: [PATCH v5 06/14] vpci/header: implement guest BAR register
 handlers
Thread-Topic: [PATCH v5 06/14] vpci/header: implement guest BAR register
 handlers
Thread-Index: AQHX4ewHyWAyD811HEGp8pIjUuVWNaxfndGAgB4GiwA=
Date: Mon, 31 Jan 2022 15:06:20 +0000
Message-ID: <082ca110-2ab7-60ff-e705-032d2d472547@epam.com>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-7-andr2000@gmail.com> <Yd7K+9fvnBz+WTXA@Air-de-Roger>
In-Reply-To: <Yd7K+9fvnBz+WTXA@Air-de-Roger>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: e58c2327-a467-4d69-b534-08d9e4cb3d7c
x-ms-traffictypediagnostic: VE1PR03MB5839:EE_
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-microsoft-antispam-prvs: 
 <VE1PR03MB5839292312034C4B25A71914E7259@VE1PR03MB5839.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: 
 MW5fJ/yiuQB6lhtlpj6i93PlYCw7Efht5QIFocgMKYHdabkI4DOzuQu253R+tOaeqra4p4+XjaymbhNlZpxOxAYKgdPdSsH4Ok1IM5tF6lrzs7BpthyfeCN4hjDQhkSyQ71cMQGCeLmaS5fgBc/Mke0MtN8HbZ+5B9n1zWWLXGB8HlZs7M68zBs9aGooNzLwp6MJN2TmalA/UrFyYxwCZr3ftVcnp3ZWGapbva0xfcyz4fYJyrTDuRTZDLQmPco1pcTEkvvzRS9nSMhepsk3vjKbd6s40C/4Qdn7IPQMO7pZIrIOeeMphjVRR/7lFlAZu8jXPRAjprOklGae/N3AzJ+34Slq0bQhR+CK+/e1EipcGjjiQ7E5foOz+ilHcsf/Gz7zo/IAfs6b3j85AQn+RYOis8j4kh+rZQPOtF70tcn2ijdGME17gg1ygRXYo3kX+gGJoY3W0N/gibNoN7tXmJWaNdoUfLKAVynI9UhHLUKLkhQ3ovAHoUEfiYJqnwzLM7Qn6sbYmX0JwOiJBBfqyqhYRQ9+u0y7lU8jSOy2rm09O1cj/t5+Q6BTeZftkPGqB0M3KlZoydM9oR3P8HtEszwNdayqZWU5iB7dRZHM4SJJ5EZHJz4LNIpTWlvsQJLjKVt7GB+Li6joVxD0c0+lFK2xdJUtNrYbOoFhkzlgmqzWW9E5HLkUmksfSd+woE59eLJtthu5jjTZ/NN8HXdOPaqPXRvGJYIM51UvfIiGWHpz4dKhDhG4l/B9ODopDQsBu5Kcf4DS9kaLF7BZ8s2sAy3/4fat3K73THfFHJazplZUDycvSV4QDJYmzE4CCUJ5
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:(13230001)(4636009)(366004)(6506007)(36756003)(71200400001)(508600001)(31686004)(186003)(26005)(83380400001)(6512007)(31696002)(5660300002)(86362001)(316002)(966005)(6486002)(54906003)(6916009)(122000001)(8676002)(66476007)(64756008)(66946007)(4326008)(66556008)(66446008)(8936002)(76116006)(107886003)(2616005)(2906002)(7416002)(91956017)(38070700005)(38100700002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?NXBrVGV1UWE3SmpJdmFsUmx3Zm1DMHZMY1g5WlArZTMwN3RBQndUM0xJdDFv?=
 =?utf-8?B?MFMrSFhjREg2RkljcFBOWktGRzgzT0lLeVZZdXg5OVM3QWRpa2NhdDVOdFFp?=
 =?utf-8?B?aGw4RytOQTJvYzJpKzhqTUEyZWZkSHlRV3BDU0U3WGpuTzd4c0dUZFZEVUFm?=
 =?utf-8?B?Vm1UZjhvd29oTlJGamNUT3pBdTIxZXlqUlpXV3p1U3FVN1daRXN6NkJJLytJ?=
 =?utf-8?B?RTRTanA1ejVIZXNNVmprNGFrQ1lPMVFwT2k0aXlyU2NBZ2E0WU1EQnJUKzFR?=
 =?utf-8?B?emhWQkxFenNzSjZwQm0zVEl4dmxNRU1aR1FQOWlMc1Bubm1MSnhDSWJ0OXBX?=
 =?utf-8?B?TVBwb2NvdzBGTCt3VVZsRkc1VWhYT0x5aEIybldkVG1ydGpPaFVxcWcvOXZS?=
 =?utf-8?B?dURiL1IyL08xR0NSM21CeW92TmswWUFxeEFMOU04ZGQ0Y3AxbkxmMW1uWWRF?=
 =?utf-8?B?a21STURIQjZqZTZ0Z25RcmZkVWsrQWhxTEVnWUpTaE5OMmt6VEZHdkptb1Jm?=
 =?utf-8?B?WFNZNlpRa1VNcFBpbHpTaU5GeXdoMVlCZ2dXZVZScG92eGt3SWlPUTB6UlRt?=
 =?utf-8?B?Q2xxN0poSWd2TG1ONGZMMFRYUitoWS9qTlQ4Y2FObmpTdVBTT1h5SjBaMlZw?=
 =?utf-8?B?WlVYVlIwSmhCTWhrem1JU1kyNERsM29IM0VZSnBJMUxlY1FXZ1JBZTg2OWZ3?=
 =?utf-8?B?dzZCaVo0UktQYTVBZzU4OVlHYUg2MVpWd29aUGR6UUtMbFFENTJ4OE9MTXhy?=
 =?utf-8?B?WlBiYkZhM1M3RkdRdW1nSVdJeEQ2N1RQK0x6dHI4Rld6amMwVzE0dGZ1RFB2?=
 =?utf-8?B?ZHNXcU04MGw0V1NRQnk2ejQ3WEtTQ3IyNnM3UlBYR1V4M2hXeEc3YkZFbnUz?=
 =?utf-8?B?VmxVZ09mRy9kdk9IWk9LK0JDUFlnSk8vQmlnRy9kZDY4SEdXSEo2MUs1dk8v?=
 =?utf-8?B?WUdqUnR5WEdCdnJVL2JGR2N0UXdCblFVOThBODAxOEk0TDZMQ1JXaGxiU3I0?=
 =?utf-8?B?MmpXbGc2em1oL3p1SEE2Q1lPeHNoTnpjYWlNNXI5M2JKVEhhT2ZDdXhiN1BL?=
 =?utf-8?B?aDJ6aU5iclpqempFMHFqUkVQRVhKUm1IeWZma2hHaWs5dm9jMXVWUld1VFc4?=
 =?utf-8?B?WldTRmtYVDRXbmtOVlI2dW5La1JOMVVhUEIyZHVTVVhTN1VuMzRONSt6aHQ2?=
 =?utf-8?B?OVdzZm1pVGlTakI5K2pwWERMUENUOFV2WWYzN3grMjJZRmFMTE9lUzRrNnZE?=
 =?utf-8?B?dUhodDVHSWxqQUhlbXdqYkJXeE9VeG5tVHdZaHdBTnhZenY4aWV5T2t6dHgx?=
 =?utf-8?B?NzFzR3lrOTZNSk9hNTFYVmdhenBuR2s0R2kxYityZ3BSV3o5UUhzS3diQ21K?=
 =?utf-8?B?NzdvNGZOQzNNL1hXTy94RFplRjlWV2NDbWY0REZldzYvZkFuRHNKME1temJv?=
 =?utf-8?B?ZWJkTzkzK252UkwvdnJzK0VHeGcxYnN3OFZ3K2Uzbk1UN1ltYjN1QnlYVDhV?=
 =?utf-8?B?a1FicUFtZ2N2bUtqcjdEN2Z5ZFhIRHUyVHRuckpJS2N2L2xlV2pZTGJNQ2N5?=
 =?utf-8?B?SnBCQ2hMdmF4aEF1RnhxTFdCQmh6bWR5ZE5kZVBlREY1anVNb1FBQTF2SUFN?=
 =?utf-8?B?Q0ZWdXgwM2ZPRXpzUEN1aGQrdmhJOEQxdkF5Y0JWZDVZMjZzLzBkYzRHNkZW?=
 =?utf-8?B?cGt6eFNaSGFiZkpKS1BKY0lObmp1ZmQ2L2dsVElSUzFQZXRwZko5QTcxek9W?=
 =?utf-8?B?VjBTN01BWGwweDdYN084S0hPTnhZVjhZOENSazlYSm1UTHIwRFk3RXJSUEdE?=
 =?utf-8?B?SmdjWEtmekp1LzliYmhUQ0R1cElWWExNMS9vckR0K01VRG1hUDZyL0p4TWx0?=
 =?utf-8?B?RVBCLzRlRXVSM0MwNzlHVk54UXZSd0FMUS9qRXROb2U5djg4K1RLcDdOdFdT?=
 =?utf-8?B?RHY2WmtEbDMzNVZIdnQ0ZWZDM0puUlhxNFhXZGJTMmdlSTEwTWYwTFVhZnhQ?=
 =?utf-8?B?QVNFRlA0VkJKanBQTDdOZi8xcHcyOGluaEg5UzU3TDd1SDJNREd6SHJibXp4?=
 =?utf-8?B?ZytURmNXMmNDMkpOQzhPUDhlVHFvZGFiVGRKdU9sWkR6dE1VNXBpL2ZETGda?=
 =?utf-8?B?WXc4SFUyQ0l1UDRGOWtXcUNMQ0o2SGtIejFpTVRuYWF5ZzhGVHJXT0J1RWFr?=
 =?utf-8?B?bHArV09oVXhSTjB1cWJRTWVGVjc2ZU94NTZFY3pPRmdNWFlZME54TXN2WExG?=
 =?utf-8?B?ejVYYjArdk1qTnZIWVg3aEFxTitkcmRkaHYwb3AvZzFPZk5yTW9sUzljMGU5?=
 =?utf-8?B?WE55K28vTUlFMGpyKy9SelJHUlFvVVNHdWNHK0ZIcSsrc2s3Z3hPdz09?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <066E757C0A166247B8A4E3614B5BB5A0@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: e58c2327-a467-4d69-b534-08d9e4cb3d7c
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2022 15:06:20.9306
 (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: Og7WKAA/q7+PVecCXV+SwYMdO/uC9gOmOCzg7DS2ptfGls47yYAQuh1jC7roK01BDv/huqeeF9V0mi8F5oE/c6oh0Gz8KLNv3FAw/eJi8GbLND8bPDYhav83FrbgwbSb
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR03MB5839
X-Proofpoint-GUID: wlyn5NvJvMQ-u1KG_eA1VZnd4bWEzkMJ
X-Proofpoint-ORIG-GUID: wlyn5NvJvMQ-u1KG_eA1VZnd4bWEzkMJ
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-01-31_06,2022-01-31_01,2021-12-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 priorityscore=1501
 malwarescore=0 bulkscore=0 lowpriorityscore=0 mlxlogscore=999
 suspectscore=0 impostorscore=0 clxscore=1015 adultscore=0 phishscore=0
 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2201110000 definitions=main-2201310099

SGksIFJvZ2VyIQ0KPj4gICAgICAgICAgICAgICByb20tPnR5cGUgPSBWUENJX0JBUl9FTVBUWTsN
Cj4+ICAgICAgIH0NCj4+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vdnBjaS5oIGIveGVu
L2luY2x1ZGUveGVuL3ZwY2kuaA0KPj4gaW5kZXggZWQxMjdhMDhhOTUzLi4wYTczYjE0YTkyZGMg
MTAwNjQ0DQo+PiAtLS0gYS94ZW4vaW5jbHVkZS94ZW4vdnBjaS5oDQo+PiArKysgYi94ZW4vaW5j
bHVkZS94ZW4vdnBjaS5oDQo+PiBAQCAtNjgsNyArNjgsMTAgQEAgc3RydWN0IHZwY2kgew0KPj4g
ICAgICAgc3RydWN0IHZwY2lfaGVhZGVyIHsNCj4+ICAgICAgICAgICAvKiBJbmZvcm1hdGlvbiBh
Ym91dCB0aGUgUENJIEJBUnMgb2YgdGhpcyBkZXZpY2UuICovDQo+PiAgICAgICAgICAgc3RydWN0
IHZwY2lfYmFyIHsNCj4+ICsgICAgICAgICAgICAvKiBQaHlzaWNhbCB2aWV3IG9mIHRoZSBCQVIu
ICovDQo+IE5vLCB0aGF0J3Mgbm90IHRoZSBwaHlzaWNhbCB2aWV3LCBpdCdzIHRoZSBwaHlzaWNh
bCAoaG9zdCkgYWRkcmVzcy4NCj4NCj4+ICAgICAgICAgICAgICAgdWludDY0X3QgYWRkcjsNCj4+
ICsgICAgICAgICAgICAvKiBHdWVzdCB2aWV3IG9mIHRoZSBCQVI6IGFkZHJlc3MgYW5kIGxvd2Vy
IGJpdHMuICovDQo+PiArICAgICAgICAgICAgdWludDY0X3QgZ3Vlc3RfcmVnOw0KPiBJIGNvbnRp
bnVlIHRvIHRoaW5rIGl0IHdvdWxkIGJlIGNsZWFyZXIgaWYgeW91IHN0b3JlIHRoZSBndWVzdCBh
ZGRyZXNzDQo+IGhlcmUgKGdhZGRyLCB3aXRob3V0IHRoZSBsb3cgYml0cykgYW5kIGFkZCB0aG9z
ZSBpbiBndWVzdF9iYXJfcmVhZA0KPiBiYXNlZCBvbiBiYXItPnt0eXBlLHByZWZldGNoYWJsZX0u
IFRoZW4gaXQgd291bGQgYmUgZXF1aXZhbGVudCB0byB0aGUNCj4gZXhpc3RpbmcgJ2FkZHInIGZp
ZWxkLg0KPg0KSSBhZ3JlZWQgZmlyc3QgdG8gZG8gc3VjaCBhIGNoYW5nZSwgYnV0IHRoZW4gcmVj
YWxsZWQgb3VyIGRpc2N1c3Npb24gd2l0aCBKYW4gWzFdLg0KQW5kIHRoZW4gd2UgZGVjaWRlZCB0
aGF0IGluIG9yZGVyIGZvciBpdCB0byBiZSBlZmZpY2llbnQgaXQgaXMgYmV0dGVyIGlmIHdlIHNl
dHVwIGFsbCB0aGUNCnRoaW5ncyBkdXJpbmcgdGhlIHdyaXRlIHBoYXNlIChyYXJlKSwgcmF0aGVy
IHRoZW4gZHVyaW5nIHRoZSB3cml0ZSBwaGFzZSAobW9yZSBvZnRlbikuDQpJZiB5b3Ugc3RpbGwg
c2VlIGl0IGNsZWFyZXIgSSBjYW4gcmUtd29yayB0aGUgY29kZQ0KDQpUaGFuayB5b3UsDQpPbGVr
c2FuZHINCg0KWzFdIGh0dHBzOi8vd3d3Lm1haWwtYXJjaGl2ZS5jb20veGVuLWRldmVsQGxpc3Rz
LnhlbnByb2plY3Qub3JnL21zZzEwMzQzMS5odG1sDQo=


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 15:22:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 15:22:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263155.455760 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEYVG-0002yy-EM; Mon, 31 Jan 2022 15:22:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263155.455760; Mon, 31 Jan 2022 15: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 1nEYVG-0002yr-BB; Mon, 31 Jan 2022 15:22:02 +0000
Received: by outflank-mailman (input) for mailman id 263155;
 Mon, 31 Jan 2022 15:22:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=6sSE=SP=gmail.com=groeck7@srs-se1.protection.inumbo.net>)
 id 1nEYVE-0002yl-HQ
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 15:22:00 +0000
Received: from mail-oi1-x234.google.com (mail-oi1-x234.google.com
 [2607:f8b0:4864:20::234])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 871f193d-82a9-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 16:21:57 +0100 (CET)
Received: by mail-oi1-x234.google.com with SMTP id q186so27242496oih.8
 for <xen-devel@lists.xenproject.org>; Mon, 31 Jan 2022 07:21:57 -0800 (PST)
Received: from ?IPV6:2600:1700:e321:62f0:329c:23ff:fee3:9d7c?
 ([2600:1700:e321:62f0:329c:23ff:fee3:9d7c])
 by smtp.gmail.com with ESMTPSA id d65sm9789045otb.17.2022.01.31.07.21.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 31 Jan 2022 07:21:44 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: 871f193d-82a9-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=sender:message-id:date:mime-version:user-agent:content-language:to
         :cc:references:from:subject:in-reply-to:content-transfer-encoding;
        bh=oVZWckNIPsWHeKbXJ2sFvACBl5okPcSAEIsKC6XhxDU=;
        b=NXQ2vh5WqJcNrwvi+uhxOeXRwL3TuQvr8zI74nXKNlbA4THVcrFQe20l84a2F3rCSl
         fb+2O3VmewcReatZ19klOskQ2upf6qljRrD6n2B9Y4PhroYWW+XOfsdsfB3MZuirxQ9t
         X+vPYa1ikH13JYbnSKqVdMeH1jmxa4D6k59/FHZubOFHJbDfNxiaB8VfMIjtaMgLtJV+
         3A2GEeuqlrodVHjFD7y9lvjUf+N31nBGTmFabP1WX1nvXw95IBSd2qgNRGX0BxRvAmns
         3J8DZp0qcC/r7rrsLbS0TgQNcR7BR3VDw0NU5D6j9PO9dXHpEDeoVqLmRligf9NcdWA6
         MSIA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:sender:message-id:date:mime-version:user-agent
         :content-language:to:cc:references:from:subject:in-reply-to
         :content-transfer-encoding;
        bh=oVZWckNIPsWHeKbXJ2sFvACBl5okPcSAEIsKC6XhxDU=;
        b=HkTAe85qYiAZSHy2ELjCwBFenTaCuFG1h2N/1TJTALuEu/Ysx/DkSCBjYdJ5qTnh4i
         Wcq+iB4xTTgE3JDUTdcI2TejxgN5T5GDb41u3VwZM1Qa3mHMk7lEMZt4Qi6PBqzWJjB2
         SAx4kMiiJaSyQ9u6d7Rugvh3fz9S3pQB99vYu3JFqwQUKJwmxzGNkO2uiitLc0VDQs2F
         Tim/uGzDmGZw+b1PUJ+THEvAuAAUJQ+9MTuyS8ZB/PuXSU72Xo6oeC/sa+gsVJzWNexM
         3YRKlgIwhD28hpQiGnU1FaWmSYsM4ZRBCLJAvULriINgJWzL7JbRKdHl3IaN1Q27gUOF
         udVA==
X-Gm-Message-State: AOAM532dNelWNDwSfDHhj7j6HkbmeVtbQQ01wfzgsVdBozN7H8/pkXTj
	Wf5hjTI//0fYBvb+ZyUJ9cs7gvJ4m8Scyw==
X-Google-Smtp-Source: ABdhPJwZ2DsfGoZh9WlCulrelJMyxXaQWZM7t1bPVVjVsAMl6JMrpJ5ac6K1xcqWaqkMGtPCEBWrHw==
X-Received: by 2002:a05:6808:211f:: with SMTP id r31mr12780920oiw.194.1643642506160;
        Mon, 31 Jan 2022 07:21:46 -0800 (PST)
Sender: Guenter Roeck <groeck7@gmail.com>
Message-ID: <c78df469-1a9f-5778-24d1-8f08a6bf5bcc@roeck-us.net>
Date: Mon, 31 Jan 2022 07:21:40 -0800
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Content-Language: en-US
To: Thomas Gleixner <tglx@linutronix.de>
Cc: LKML <linux-kernel@vger.kernel.org>, Nishanth Menon <nm@ti.com>,
 Mark Rutland <mark.rutland@arm.com>, Stuart Yoder <stuyoder@gmail.com>,
 Benjamin Herrenschmidt <benh@kernel.crashing.org>,
 Will Deacon <will@kernel.org>, Ashok Raj <ashok.raj@intel.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Jassi Brar
 <jassisinghbrar@gmail.com>, Sinan Kaya <okaya@kernel.org>,
 iommu@lists.linux-foundation.org, Peter Ujfalusi <peter.ujfalusi@gmail.com>,
 Bjorn Helgaas <helgaas@kernel.org>, linux-arm-kernel@lists.infradead.org,
 Jason Gunthorpe <jgg@nvidia.com>, linux-pci@vger.kernel.org,
 xen-devel@lists.xenproject.org, Kevin Tian <kevin.tian@intel.com>,
 Arnd Bergmann <arnd@arndb.de>, Robin Murphy <robin.murphy@arm.com>,
 Alex Williamson <alex.williamson@redhat.com>, Cedric Le Goater
 <clg@kaod.org>, Santosh Shilimkar <ssantosh@kernel.org>,
 Bjorn Helgaas <bhelgaas@google.com>, Megha Dey <megha.dey@intel.com>,
 Juergen Gross <jgross@suse.com>, Tero Kristo <kristo@kernel.org>,
 Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
 Vinod Koul <vkoul@kernel.org>, Marc Zygnier <maz@kernel.org>,
 dmaengine@vger.kernel.org, linuxppc-dev@lists.ozlabs.org
References: <87mtjc2lhe.ffs@tglx>
From: Guenter Roeck <linux@roeck-us.net>
Subject: Re: [patch V3 28/35] PCI/MSI: Simplify pci_irq_get_affinity()
In-Reply-To: <87mtjc2lhe.ffs@tglx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 1/31/22 03:27, Thomas Gleixner wrote:
> On Sun, Jan 30 2022 at 09:12, Guenter Roeck wrote:
>> On Fri, Dec 10, 2021 at 11:19:26PM +0100, Thomas Gleixner wrote:
>> This patch results in the following runtime warning when booting x86
>> (32 bit) nosmp images from NVME in qemu.
>>
>> [   14.825482] nvme nvme0: 1/0/0 default/read/poll queues
>> ILLOPC: ca7c6d10: 0f 0b
>> [   14.826188] ------------[ cut here ]------------
>> [   14.826307] WARNING: CPU: 0 PID: 7 at drivers/pci/msi/msi.c:1114 pci_irq_get_affinity+0x80/0x90
> 
> This complains about msi_desc->affinity being NULL.
> 
>> git bisect bad f48235900182d64537c6e8f8dc0932b57a1a0638
>> # first bad commit: [f48235900182d64537c6e8f8dc0932b57a1a0638] PCI/MSI: Simplify pci_irq_get_affinity()
> 
> Hrm. Can you please provide dmesg and /proc/interrupts from a
> kernel before that commit?
> 

Sure. Please see http://server.roeck-us.net/qemu/x86/.
The logs are generated with with v5.16.4.

Guenter


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 15:37:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 15:37:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263162.455770 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEYjh-0004Wt-IN; Mon, 31 Jan 2022 15:36:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263162.455770; Mon, 31 Jan 2022 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 1nEYjh-0004Wm-FV; Mon, 31 Jan 2022 15:36:57 +0000
Received: by outflank-mailman (input) for mailman id 263162;
 Mon, 31 Jan 2022 15:36:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9KqZ=SP=citrix.com=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1nEYjf-0004Vo-Qt
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 15:36:55 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9c024911-82ab-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 16:36:52 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9c024911-82ab-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643643412;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=5QdX11X1ReVJwn4hm33e8QUp/Ma5ql215YdyrwvYP2M=;
  b=TuQnvD3EL9x7mgUXxU51KJsd5Hf/X9TZBIcy8/RZvBDsRtFxGqn4jia+
   /VhdqsMIuKocZNGZ5zaR2hv4LeaOr1TS5PizHBrrhWOg7FTzwJIYkI/J3
   N7Tqjh4vPC2Gk3X8fUXjXAooggwxKvt354fhyBi1QYUHanVV4nieMnipU
   s=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: SWV0vNnR5vgKOU8axEmI6RWbzsxRY4mtNk+P97Ao6d34URic0QZ7mNKguqvr7FVajsEhiOOaCM
 WM29q+u6bWd5iz/lfI6y0GeTc+ZWa3Xzyn8j14LXnBfGopL6j0iP69KZ+8a74/F9TFsFw+G08U
 1c1D/cVYitl1wGWTQdkXLu5zO3B5jEoeD5qlOYTDhurHED+wAvpQZNwBn7cPK2gI0UN+CgsY3R
 nD/Nfho4G8/OCXlrGIbkP2y13P6vIV/2ORRPLTSOQr6/TgkLpG0hCyGfNtpHd7/X2jUvfnPIfJ
 6bLfrsYKX3C3pjeExy5QW5bD
X-SBRS: 5.2
X-MesageID: 63133548
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:Zas2967eFol4VlROEOOAcwxRtOzAchMFZxGqfqrLsTDasY5as4F+v
 jQZCG6HP6neZTShKt13atjipEJTuMTcm4M1G1Q/qXo8Hi5G8cbLO4+Ufxz6V8+wwmwvb67FA
 +E2MISowBUcFyeEzvuV3zyIQUBUjclkfJKlYAL/En03FV8MpBsJ00o5wbZg2dcw27BVPivW0
 T/Mi5yHULOa82Yc3lI8s8pvfzs24ZweEBtB1rAPTagjUG32zhH5P7pGTU2FFFPqQ5E8IwKPb
 72rIIdVXI/u10xF5tuNyt4Xe6CRK1LYFVDmZnF+A8BOjvXez8CbP2lS2Pc0MC9qZzu1c99Z8
 e9V7ceXSx8TEu7+iOtedghFNChxFPgTkFPHCSDXXc27ykTHdz3nwul0DVFwNoodkgp1KTgQr
 7pCcmlLN03dwbLtqF64YrAEasALBc/nJo4A/FpnyinUF60OSpHfWaTao9Rf2V/cg+gQRq+FP
 JdFOVKDajyROkFvAUs4Aq4agdykr1yvdWJGmnuK8P9fD2/7k1UqjemF3MDuUsOObdVYmACfv
 G2u10bTDwweNdef4SGY6X/qjejK9QvrVYRXGLCm+/pChFyI2ndVGBAQTUG8o/Sylgi5Qd03F
 qAP0nNw9+5orhXtF4SjGU3jyJKZgvICc+NqC7VhzwOV8IaX0RaWRU0VUxlIZ/Vz4afaWgcW/
 lOOmtroAxlmv7uUVW+R+9+okN+iBcQGBTRcPHFZFGPp9/Gm+dhu1UyXEr6PBYbo1oWdJN3m/
 9ydQMHSbZ03hNVD6ai09Euvb9mE9smQFV5dCuk6swuYAuJFiGyNOtbABbvzt68owGOlor+p5
 iJsdy+2t7hmMH11vHbRKNjh5Znwjxp/DBXSgER0A74q/Cm39niocOh4uW8ifxo5bZ5UJ261M
 Sc/XD+9ArcJZhNGiocsO+qM5zkCl/C8RbwJqNiJBjaxXnSBXFDep3w/DaJh92vsjFItgckC1
 WSzKq6R4YIhIf0/llKeHr5FuZdyn3xW7T6NGfjTkkr2uZLDNC/9YepUazOmM7FmhJ5oVS2Iq
 b6zwePQlUUGOAA/CwGKmbMuwacidCZjXc6u950IJ4Zu4GNOQQkcNhMY+pt5E6QNokifvr6gE
 qiVVhAKxVzhq2fALAnWOHlvZKm2BcR0rG4hPDxqNlGtgiBxbYGq5aYZVp02Ybh4q7Azka8qF
 6EIK5eaH/BCajXb4DBBP5Pzm5NvKUawjgWUMiv7PDVmJ8x8RxbE88PPdxf08HVcFTK+sMYz+
 uXy1g7STZcZaR5lCcLaNKCmw1+r5CBPk+NuRUrYZNJUfRy0ooRtLiXwiN4xIt0NdkqflmfLi
 V7ODE5B9+fXooIz/N3Yvoy+rt+kQ7lkA05XP2jH9rLqZyPUyXWunN1bW+GScDGDCG6toPe+Z
 f9Yxu3XOeEcmAoYqJJ1FrtmwP5s59broLMGnA1oEG+SMgauA7JkZHKHwdNOputGwboA4Vm6X
 UeG+997P7SVOZy6TA5NdVR9NunTh+sJnjTy7OguJBSo7SB6y7OLTEFOMkTekydaNrZ0bNsoz
 OpJVBT6MOBjZs7G6uq7sx0=
IronPort-HdrOrdr: A9a23:/mojnqNBL9GX2cBcTvujsMiBIKoaSvp037Eqv3oRdfUzSL3hqy
 nOpoVj6faaskdzZJhNo7+90ey7MBfhHP1OkO8s1NWZLWvbUQKTRekIh+aP/9SjIVyYygc079
 YaT0EUMr3N5DZB4/oSmDPIduod/A==
X-IronPort-AV: E=Sophos;i="5.88,331,1635220800"; 
   d="scan'208";a="63133548"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH v3 7/9] x86/svm: VMEntry/Exit logic for MSR_SPEC_CTRL
Date: Mon, 31 Jan 2022 15:36:21 +0000
Message-ID: <20220131153621.8863-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20220128132927.14997-8-andrew.cooper3@citrix.com>
References: <20220128132927.14997-8-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Hardware maintains both host and guest versions of MSR_SPEC_CTRL, but guests
run with the logical OR of both values.  Therefore, in principle we want to
clear Xen's value before entering the guest.  However, for migration
compatibility, and for performance reasons with SEV-SNP guests, we want the
ability to use a nonzero value behind the guest's back.  Use vcpu_msrs to hold
this value, with the guest value in the VMCB.

On the VMEntry path, adjusting MSR_SPEC_CTRL must be done after CLGI so as to
be atomic with respect to NMIs/etc.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>

v3:
 * Implement in asm
---
 xen/arch/x86/hvm/svm/entry.S             | 34 +++++++++++++++++++++++++++-----
 xen/arch/x86/include/asm/msr.h           |  9 +++++++++
 xen/arch/x86/include/asm/spec_ctrl_asm.h |  3 +++
 xen/arch/x86/x86_64/asm-offsets.c        |  1 +
 4 files changed, 42 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/entry.S b/xen/arch/x86/hvm/svm/entry.S
index 276215d36aff..16b642c9e2de 100644
--- a/xen/arch/x86/hvm/svm/entry.S
+++ b/xen/arch/x86/hvm/svm/entry.S
@@ -55,11 +55,23 @@ __UNLIKELY_END(nsvm_hap)
         mov  %rsp, %rdi
         call svm_vmenter_helper
 
-        mov VCPU_arch_msrs(%rbx), %rax
-        mov VCPUMSR_spec_ctrl_raw(%rax), %eax
+        clgi
 
         /* WARNING! `ret`, `call *`, `jmp *` not safe beyond this point. */
-        /* SPEC_CTRL_EXIT_TO_SVM   (nothing currently) */
+        /* SPEC_CTRL_EXIT_TO_SVM       Req: b=curr %rsp=regs/cpuinfo, Clob: acd */
+        .macro svm_vmentry_spec_ctrl
+            mov    VCPU_arch_msrs(%rbx), %rax
+            movzbl CPUINFO_last_spec_ctrl(%rsp), %edx
+            mov    VCPUMSR_spec_ctrl_raw(%rax), %eax
+            cmp    %edx, %eax
+            je 1f  /* Skip write if value is correct. */
+            mov    $MSR_SPEC_CTRL, %ecx
+            xor    %edx, %edx
+            wrmsr
+            mov    %al, CPUINFO_last_spec_ctrl(%rsp)
+1:          /* No Spectre v1 concerns.  Execution will hit VMRUN imminently. */
+        .endm
+        ALTERNATIVE "", svm_vmentry_spec_ctrl, X86_FEATURE_SC_MSR_HVM
 
         pop  %r15
         pop  %r14
@@ -78,7 +90,6 @@ __UNLIKELY_END(nsvm_hap)
         pop  %rsi
         pop  %rdi
 
-        clgi
         sti
         vmrun
 
@@ -86,8 +97,21 @@ __UNLIKELY_END(nsvm_hap)
 
         GET_CURRENT(bx)
 
-        /* SPEC_CTRL_ENTRY_FROM_SVM    Req: b=curr %rsp=regs/cpuinfo, Clob: ac  */
+        /* SPEC_CTRL_ENTRY_FROM_SVM    Req: %rsp=regs/cpuinfo         Clob: acd */
         ALTERNATIVE "", DO_OVERWRITE_RSB, X86_FEATURE_SC_RSB_HVM
+
+        .macro svm_vmexit_spec_ctrl
+            /*
+             * Write to MSR_SPEC_CTRL unconditionally, for the RAS[:32]
+             * flushing side effect.
+             */
+            mov    $MSR_SPEC_CTRL, %ecx
+            movzbl CPUINFO_xen_spec_ctrl(%rsp), %eax
+            xor    %edx, %edx
+            wrmsr
+            mov    %al, CPUINFO_last_spec_ctrl(%rsp)
+        .endm
+        ALTERNATIVE "", svm_vmexit_spec_ctrl, X86_FEATURE_SC_MSR_HVM
         /* WARNING! `ret`, `call *`, `jmp *` not safe before this point. */
 
         stgi
diff --git a/xen/arch/x86/include/asm/msr.h b/xen/arch/x86/include/asm/msr.h
index 657a3295613d..ce4fe51afe54 100644
--- a/xen/arch/x86/include/asm/msr.h
+++ b/xen/arch/x86/include/asm/msr.h
@@ -297,6 +297,15 @@ struct vcpu_msrs
      *
      * For VT-x guests, the guest value is held in the MSR guest load/save
      * list.
+     *
+     * For SVM, the guest value lives in the VMCB, and hardware saves/restores
+     * the host value automatically.  However, guests run with the OR of the
+     * host and guest value, which allows Xen to set protections behind the
+     * guest's back.
+     *
+     * We must clear/restore Xen's value before/after VMRUN to avoid unduly
+     * influencing the guest.  In order to support "behind the guest's back"
+     * protections, we load this value (commonly 0) before VMRUN.
      */
     struct {
         uint32_t raw;
diff --git a/xen/arch/x86/include/asm/spec_ctrl_asm.h b/xen/arch/x86/include/asm/spec_ctrl_asm.h
index 9c0c7622c41f..02b3b18ce69f 100644
--- a/xen/arch/x86/include/asm/spec_ctrl_asm.h
+++ b/xen/arch/x86/include/asm/spec_ctrl_asm.h
@@ -46,6 +46,9 @@
  *   - On VMX by using MSR load/save lists to have vmentry/exit atomically
  *     load/save the guest value.  Xen's value is loaded in regular code, and
  *     there is no need to use the shadow logic (below).
+ *   - On SVM by altering MSR_SPEC_CTRL inside the CLGI/STGI region.  This
+ *     makes the changes atomic with respect to NMIs/etc, so no need for
+ *     shadowing logic.
  *
  * Factor 2 is harder.  We maintain a shadow_spec_ctrl value, and a use_shadow
  * boolean in the per cpu spec_ctrl_flags.  The synchronous use is:
diff --git a/xen/arch/x86/x86_64/asm-offsets.c b/xen/arch/x86/x86_64/asm-offsets.c
index 649892643fe9..287dac101ad4 100644
--- a/xen/arch/x86/x86_64/asm-offsets.c
+++ b/xen/arch/x86/x86_64/asm-offsets.c
@@ -126,6 +126,7 @@ void __dummy__(void)
     OFFSET(CPUINFO_pv_cr3, struct cpu_info, pv_cr3);
     OFFSET(CPUINFO_shadow_spec_ctrl, struct cpu_info, shadow_spec_ctrl);
     OFFSET(CPUINFO_xen_spec_ctrl, struct cpu_info, xen_spec_ctrl);
+    OFFSET(CPUINFO_last_spec_ctrl, struct cpu_info, last_spec_ctrl);
     OFFSET(CPUINFO_spec_ctrl_flags, struct cpu_info, spec_ctrl_flags);
     OFFSET(CPUINFO_root_pgt_changed, struct cpu_info, root_pgt_changed);
     OFFSET(CPUINFO_use_pv_cr3, struct cpu_info, use_pv_cr3);
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Mon Jan 31 15:50:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 15:50:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263170.455781 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEYwz-0006kc-Q5; Mon, 31 Jan 2022 15:50:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263170.455781; Mon, 31 Jan 2022 15: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 1nEYwz-0006kV-N9; Mon, 31 Jan 2022 15:50:41 +0000
Received: by outflank-mailman (input) for mailman id 263170;
 Mon, 31 Jan 2022 15:50:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Fky=SP=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nEYwy-0006kP-SW
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 15:50:40 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 897ac1e2-82ad-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 16:50:39 +0100 (CET)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2107.outbound.protection.outlook.com [104.47.17.107]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-32-EzanL8GEPUGSz-mBWQtnQA-1; Mon, 31 Jan 2022 16:50:37 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by DB9PR04MB8250.eurprd04.prod.outlook.com (2603:10a6:10:245::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.18; Mon, 31 Jan
 2022 15:50:36 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45%6]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 15:50:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 897ac1e2-82ad-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643644238;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=Qx6/YJRo4itrxy555f4/dNExjdDK3eyjdPvG4r1aV10=;
	b=dkJAIffiu2Ywv6eIYFYh1kVt1wXhMHqAng/afm14cLlQFoKTpFamNrrtvRoxtxBHs0pnrg
	sv9Jl62oVMk0kEHw6m+/jANSprejEbQNgddVSrzyef0Ax8NkkBeEFp6oI1jf2n0tJP3IGq
	pZ1fqr6Oht+19ZcvrTCLifeIqL7GcO8=
X-MC-Unique: EzanL8GEPUGSz-mBWQtnQA-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OnpzM2kAw4ws9z5QPuzuPVesDELp36oBO6S0XGo01k7T8tvxw/9V4KebF188NPCl5K5A8qhSQeclSgiRzVynVJa5Ts0d+xofEaRXA7atQtYkTpDScLbzqVDlDTJzN8M87iUmQdzNVRDDD8hz2LsEmiCOjNEbP2ARp3PfOcEz29UFtacztHm+bam0ItiTvqOfE7QmmuGJWWywFkrAlIc3G4N2CjfhFidI4TlfRqkcsMQodQF0CaDPxeQycqXRHvb3fzpN2oOVz479xFJQ5qVVwH8IZmwrw6xEZ5cRgKAqM7lRQBl1KHy2cRgTv2gDRR08SNHozsI8xgLannghJ7QOkg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Qx6/YJRo4itrxy555f4/dNExjdDK3eyjdPvG4r1aV10=;
 b=Kc8cVwH/Ja4Ykm+OA9x+aS8mDxz33Fu2BVo4zW485zKzS0lJMAFZKOGAu62Vy0qBnnhBDGizv7dkhmUf3hTgFghxtw/3b/cnlHPlpHKEiNzbFyu4R3S8CNGHMNuMsEL12CE1L9RnHPpaG2udFQyPYkeDlUnafUAnvBLLBRiEry7iocGygX53I9VjCK3yUjr9ZqDbaQ65hq8TDPmHfsO2f0jAr+hronMFCPpN6Rh10Cw+cAYmahXYHeVuR6xum5dbvQwFbFHHj/dupRvVN32i9T+LNfXOityuz4QA1+o8/K+PH6oK8cyI3OqdkZua3Z8IhT46SKL670zXy15xsvzp6w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <df36767b-e04f-aa29-82af-87e8624bd29c@suse.com>
Date: Mon, 31 Jan 2022 16:50:33 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH v5 06/14] vpci/header: implement guest BAR register
 handlers
Content-Language: en-US
To: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "julien@xen.org" <julien@xen.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Artem Mygaiev <Artem_Mygaiev@epam.com>,
 "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
 "george.dunlap@citrix.com" <george.dunlap@citrix.com>,
 "paul@xen.org" <paul@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Rahul Singh <rahul.singh@arm.com>
References: <20211125110251.2877218-1-andr2000@gmail.com>
 <20211125110251.2877218-7-andr2000@gmail.com> <Yd7K+9fvnBz+WTXA@Air-de-Roger>
 <082ca110-2ab7-60ff-e705-032d2d472547@epam.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <082ca110-2ab7-60ff-e705-032d2d472547@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS9PR06CA0306.eurprd06.prod.outlook.com
 (2603:10a6:20b:45b::15) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8ffc8439-a528-4ec2-c347-08d9e4d16bd8
X-MS-TrafficTypeDiagnostic: DB9PR04MB8250:EE_
X-Microsoft-Antispam-PRVS:
	<DB9PR04MB825097B55B7393043E2885A2B3259@DB9PR04MB8250.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:
	sOOo4o/EpMJtkf7kcJq9doLAs4pBV7xmI7ZRbp8ncP1m+deC8eyMX26hXaIg1IiBvTkrKohDBkhSBnH3BFs6b1IwGSWAR0fvzd47jivD+1bYvY+8GZny3ei7lA4HprGzoUSVU/neX/Tj2nKf3y8HT1u+7E5B+z1QsNG0ug1tz5OpFpDjxQyQQ1t2NokjGwXNatlLIBNkHgX+6Z3+w6HWKB8Ym/YD+hoqFT4HcvdyYd86ztRrrbuyucJYNnoCsbDRGXspZGHvxGoKlJTUOC/rWMPfUkhoUpSQofhdqn7WHMWo0bpzVP+EzG/wdbBObM4jK9TMwcAe8Mv65R3jGpUd3SwedFBUp4KeSDSVsTHrZpj9rwHwNtTcvfknXUHDPdJl9+JX7id9ZzhIVZSDAYx6Hh2qm5zsytms6nVFgPG+CJ8k6UwrskBZO82J1hKu+HnbdinjjrQKbMnuD1/Js90ep33iNMuxwZnlF1A5x7Gxj4PlgO3yVivwToIICrepK/8U30TbZQCnGm7CmC5kNxfqMG1WyYYbYGVQnzSueBHsSc7E5KWOVfjSM6hHCZZz89+D/lNyVc3pHIN6U12wh8yWx3Nj402fpB6UNDSwSLGJzwKQg24NX8009Wu2PyX0keWUapSYiEivE2Zpjol8jywzZcOn47ya9LnDr+pLWd4nAEWeCwZgBA/K1ufTqX9gqlZjUEvkykoXOnTsF1Oiau9rHe+3tEQXp1ZwEA50K6ACFRc=
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:(13230001)(366004)(83380400001)(53546011)(31686004)(6666004)(6512007)(186003)(2616005)(36756003)(6506007)(26005)(6486002)(66476007)(66556008)(5660300002)(31696002)(38100700002)(7416002)(316002)(4326008)(110136005)(508600001)(8936002)(54906003)(8676002)(2906002)(86362001)(66946007)(43740500002)(45980500001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cGJPUDMyTVBrZTlBdW11dGJoYVl3VXN2bHBHM21ZRXBGSlltdkNDWmMyUUVD?=
 =?utf-8?B?dzdiK1M4NG9xdlp6b3Njdk5tOWpicDJKTVljZ1V4NXQyTmVPZ0VDb2UvUTF5?=
 =?utf-8?B?M1ZxaldNOFlKQ2hlUVZtR3V4bkxycW5TcWlWUW1ndjlpVS80Y0dWK0RZNko5?=
 =?utf-8?B?TGliZUlIcWNZZXZLR2g2OUlHMDlpUjFYZHJrVzFTeXR3T09QNElycGx2N21S?=
 =?utf-8?B?L1c5bVFrMDBKV3NEd0ZoZGxiN2hRL0kvVVBEa3EwbUpieFRtL1lOc3hGKzZz?=
 =?utf-8?B?a0VlM0dLOGpROFp1SlZJeTEyUmF3OUJlSFRtZnRRSUswejdZTVJkcEZzbnF4?=
 =?utf-8?B?RmUrMkdpclRwSXk0c3A4Vzc0dEdOVUF0YWRSc2xsNjE4MDRVeUh1RS83Y0Fa?=
 =?utf-8?B?djZpSGJSWlp1TjNUK0dkTVdObU9HeFFDODRkMExXK2EyOWl4UFNEOFBiUzAw?=
 =?utf-8?B?bXRkY0xrM0dsSjBETUpiYVQ5bmhBVDl5QkNFeFJFYTVObFNwL3FQMDMzMXVp?=
 =?utf-8?B?aXd1dWo3cFQ3a3ZweDl1S0psOHFHN3FtUXQvRXhGb1FKb3VRQ1hIZitmZmg2?=
 =?utf-8?B?dzhYaC9lZEt3Rmd0VVo3bjRIWTFwRkFia2hhSCs2ZjFtY1BtRzVvLzF0U1Fk?=
 =?utf-8?B?cGhVWkJrNkhaclU4T280bE54dC9UMkYxNzkrSGgyeWptT0tiV0N1N3JXakhm?=
 =?utf-8?B?dlJ6OUNraElKaE1Qb2NJVGhFT05LRHluNkV6VzhJa1RaSkxYeVR2YlJLb2tk?=
 =?utf-8?B?L0N0U3poWjNXcGw5Z1krcmZxV2NaQmFob2d6V2MxRmRucDVYUlM1ektxdmFQ?=
 =?utf-8?B?NytHSDdQZk5IZzJRM1BQK3pUb2Y2cVMybXRWRHFVZVNRMmRlNjhMenZwVUZB?=
 =?utf-8?B?TXhkT2lhY2NETGFtNS9XMmd1cTdzbWovNXlNZm9jSW5IQmV2ZTVTNUhtajJi?=
 =?utf-8?B?WlVrNTBTQmpBcDMxaGt2UEVXeXQ0ZnJDSHZBYjQxd0VUNFZQZU4xTDAxWU0r?=
 =?utf-8?B?YXlvT0xieDZ0dFc2NVNNMnUwWDR3MCs4SEN5eXQ4VndlOE1PVFpMUk1DbjVa?=
 =?utf-8?B?eG1INFk0eDVEZlRTVjBJMVBVZWQyRTAvMXVtM295aEJWc093MWFGVUFObmJy?=
 =?utf-8?B?WmxHYWNxYmRDcXI5N1F5Zit3OUdLNFcxTFpZaEZJREVDcjBobWpQTmNVbVBz?=
 =?utf-8?B?cnd6emVKM2FBUWc1bnNUQS9oeTZ1dUZwVy9pK3ZFQ2VmWU9RRm1pcVRPRE1y?=
 =?utf-8?B?SHNnN1d4Ymd0WW02cjlkbTZ1cERmb1VFVXBXSlg1cVE5aVp6ZnNxK1QrQ0FM?=
 =?utf-8?B?NWtjMHF0dlNmeEJPR0JBU1pXeStCU2VCa2tNc0p3Q0ZNZTB4Zm9EM0NhV3pn?=
 =?utf-8?B?cmhnR2NnL0FqR3FCNTdCcFlJYWg1SW4ySnYwTk02UXNvUklZajNtVmZQSXY2?=
 =?utf-8?B?ZE8zZWVLME05K3VsYTR2Ym4vT3o5aHVOYSs4WlBhTEUvWWdaaGFISXE1ME5n?=
 =?utf-8?B?dnVTbVFPM1NraTJ1elhOZm45aExNMEFKYVhzWk9FUlVWTEwxWFJSSlkyQmRJ?=
 =?utf-8?B?NFRjZ3k2YmdTSnZBYzJTUU1LZmVIRUpOVHY0enB6R3ZJV1hEZFZpZmNoT2hK?=
 =?utf-8?B?bWNtNnZTV2d0V253QzkzVlVtYi9iem1DaG43Tno5VDVpdjIzbHByaFVOaFcz?=
 =?utf-8?B?Qk53bngrQW9uamRqaWFmVC94SXNoY1YzUjBjV0R6UlNrWHlrUEV1L3pjTGda?=
 =?utf-8?B?MktLV0l1Rm9BbmdVTVlteGg5Q2ZnUnZmZDZWTlBlV2p2bDVaOXFZdU8rYzNX?=
 =?utf-8?B?dVYyNGtVKzA4aEU4YkVNaHo4WHFicndGa1RNbWltWW5VeitvS2dRU0FFVVJz?=
 =?utf-8?B?RCtvYWoxYU1VUFJHTmd1TWRnK1JOWTJvaG9jMXpXRXZ3ZXNsZk96T3JBS3A0?=
 =?utf-8?B?YmpGQjRlWEorNkVDSmV6MjFQUmhQODUvYTdjY3h5Mzd3UlBaYUg2WThtWFZL?=
 =?utf-8?B?MW9raWZRZEsvNE5KdGxycHJ6ZTM0eGY2UWhlSDF2TldZRE92bDdOZ1N1Qjht?=
 =?utf-8?B?VUVMM21oQWpnQ1VTOFF0Q0liaTRZaDlpNU9xNDBLSmh2eUtEUWlwR3BmbjV2?=
 =?utf-8?B?WG5pK0tUZk00U3QwcXgvdUFkMXJ2aWV3RUg1elozNnlVTCtJMzdLa0dVeDRx?=
 =?utf-8?Q?l1L5pBftzMfeBdapiRkukYc=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8ffc8439-a528-4ec2-c347-08d9e4d16bd8
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 15:50:35.9863
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HPG18xlyWc/8lCKVvfR4iuMys6j9FJvzDUn5CKR0edcHe2xLZxwCr7B7/f260Pr/0cvL0TB47dkQKIAQNqDvRA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8250

On 31.01.2022 16:06, Oleksandr Andrushchenko wrote:
> Hi, Roger!
>>>               rom->type = VPCI_BAR_EMPTY;
>>>       }
>>> diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
>>> index ed127a08a953..0a73b14a92dc 100644
>>> --- a/xen/include/xen/vpci.h
>>> +++ b/xen/include/xen/vpci.h
>>> @@ -68,7 +68,10 @@ struct vpci {
>>>       struct vpci_header {
>>>           /* Information about the PCI BARs of this device. */
>>>           struct vpci_bar {
>>> +            /* Physical view of the BAR. */
>> No, that's not the physical view, it's the physical (host) address.
>>
>>>               uint64_t addr;
>>> +            /* Guest view of the BAR: address and lower bits. */
>>> +            uint64_t guest_reg;
>> I continue to think it would be clearer if you store the guest address
>> here (gaddr, without the low bits) and add those in guest_bar_read
>> based on bar->{type,prefetchable}. Then it would be equivalent to the
>> existing 'addr' field.
>>
> I agreed first to do such a change, but then recalled our discussion with Jan [1].
> And then we decided that in order for it to be efficient it is better if we setup all the
> things during the write phase (rare), rather then during the write phase (more often).

Small correction: The 2nd "write" was likely meant to be "read". But
please recall that Roger is the maintainer of the code, so he gets
the final say.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 31 15:55:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 15:55:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263177.455793 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEZ1C-0007Nx-Cc; Mon, 31 Jan 2022 15:55:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263177.455793; Mon, 31 Jan 2022 15:55:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEZ1C-0007Nq-8Q; Mon, 31 Jan 2022 15:55:02 +0000
Received: by outflank-mailman (input) for mailman id 263177;
 Mon, 31 Jan 2022 15:55:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xJ9D=SP=citrix.com=Jane.Malalane@srs-se1.protection.inumbo.net>)
 id 1nEZ1A-0007Nk-RM
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 15:55:01 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 229cf4d6-82ae-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 16:54:58 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 229cf4d6-82ae-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643644498;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=Prv3EJWTyPHuaPriPZoNxCaQPiKljE0vKS0RDs5UYVc=;
  b=MZvVf30lhSVI6Kf2yoHHgoJEEf3nQ9H3jdD3X21rCjOsyqzRR98VvQEF
   JG5Jx0dMbcHK5b+z1RHAV+KdGsHgmGKv6Wy29ZcJI9QRMEBv2Tm2x9Ser
   VNsyUDh3pr21XUpau+zAE5Ys4hkcA8IbdE2jUrFUzqffIGBYU0eKwT9ZE
   k=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: /XB4q8+4zDo8zUTsuFlOmFO29N2XgvNV9ozG4t8DjYO+MR+SGI9scRgqRHBpHKgBUeOsYuBDS7
 yTITJGE6EaY0Q79cF2PQ+70NyUvOgZpi3EJB/P8ZGzHV48fFZC/Ug/8w3APe4IlI5/NPbu8YOS
 bEotkPyx3i3qvhP2Ur0hbpP+JXt35rdn3W33tIwZsXv96BOYm+j8NZfnf6vat+J5X4ySJq9HdX
 W5wZ2nqlahPHABzxhiyQQSSMyIyabkSnpGjvlCJcZNioSJbVgql2h1rMnluY8nGyjw6MkYYeJJ
 1egILrm/H6dqQeotaVC9yWMZ
X-SBRS: 5.2
X-MesageID: 63548975
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:WHwztqLymK8yTC/QFE+R0JMlxSXFcZb7ZxGr2PjKsXjdYENShWMCm
 2MZXm6Pa/jYNmHzLYxzaIq2o00G7MKAx4IxHVNlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s
 q3yv/GZdJhcokcxIn5BC5C5xZVG/fjgqoHUVaiUakideSc+EH170Us4wrZj6mJVqYPR7z2l6
 IuaT/L3YDdJ6xYsWo7Dw/vewP/HlK2aVAIw5jTSV9gS1LPtvyB94KYkDbOwNxPFrrx8RYZWc
 QphIIaRpQs19z91Yj+sfy2SnkciGtY+NiDW4pZatjTLbrGvaUXe345iXMfwZ3u7hB2ypMBfw
 epGraC8CiYJN4P0neMPaglXRnQW0a1uoNcrIFC6uM2XiUbHb2Ht07NlC0Re0Y8wo7gtRzsUr
 LpBdW5LPkvra+GemdpXTsFOj8IuauziOIobs3dt5TrYEewnUdbIRKCiCdpwgmxt2pAfQqu2i
 8wxORBgdD7ffh52BHQQOMgzl/uapEDZbGgNwL6SjfVuuDWCpOBr65DTN97Sds2PVN9itE+Sr
 WLb/Ez0GhgfcteYzFKt6Wmwj+XCmSf6XoM6F7Ci8PNuxlqJyQQ7AhAMSUGyp/X/j0ekQs9eM
 GQd4C9opq83nGSoQ8f8WVukoXeClh8aR9dUVeY97WmlyLfSpQCQBWEGTztIQN0gqMIyAzct0
 zehgNfBFTFp9rqPRhq15rqS6D+/JyURBWsDfjMfCxsI5cH5p4M+hQ6JScxseIa3gcfyAirY2
 C2RoW41gLB7pcwW06S2+3jXjjTqoYLGJiY37AjKWmOu7itieZWoIYev7DDmAe1oddjDCAPb5
 T5dxpbYvLtm4YyxeDKle94dMriW7O65PH79oVdBJ5wm5Q299Cv2FWxP2w1WKEBsO8cCXDbmZ
 k7PpA9cjKNu0GuWgbxfONzoVZlzpUT0PZG8D62PMIISCnRkXFLfpElTiVisM3cBeaTGuYU2I
 t+lfMmlFh724ow3nWPtF4/xPVLGrx3SJF8/p7imlXxLMpLEPRZ5rIvp1nPUNIjVC4vf+G3oH
 y53bZfi9vmmeLSWjtPr2YASN0sWCnMwGIr7rcdaHsbafFY9RTF+U6+PkO9wE2CAo0izvr2Sl
 p1achQAoGcTeFWdcVnaApydQO6HsWlDQYITYnV3YAfAN4kLaoez9qYPH6bbjpF8nNGPOcVcF
 qFfE+3ZW6wnYm2ep1w1MMehxKQ/KkXDrV/ebkKNPWlkF7Y9FlOhxzMRVla1nMX4JnDp5ZJWT
 nzJ/l6zfKfvsCw7Up6ONqrzngzg1ZXf8corN3b1zhBoUByE2KBhKjDrj+9xJMcJKB7ZwSCd2
 RrQChAdzdQhaadsmDUQrazb/YqvDcVkGU9WQzvS4bqsbHGI9Wu/245QFu2PeGmFBm/z/ayjY
 8RTzu39b6JbzAob7dIkHuY517866vvuu6ReklZuEkLUYgn5EbhnOHSHg5VC7/Uf2r9DtAKqc
 UuT4d0Ga66RMcboHQdJdgooZ+iOz98OnTzW4ahnKUn2/nYvrrGGTV9TL1+HjykEdOl5N4Ysw
 OEAvs8K6lPg1kp2Y4je1i0NrjaCNH0NVakjp6o2Oo6zh1p50ExGbLzdFjTyvMOFZeJTPxR4O
 TSTnqfD2ehRnxKQb3opGHHR9uNBnpBS6gtSxVoPKlnVyNrIgvg7gE9Y/TgtF1kHyxxG16R4O
 3RxNl0zLqKLpm86iM9GVmGqOgdAGBzGpRChlwpXzDXUHxuyS2jADGwhIuLcrkkW/lVVciVf4
 LzFmn3uViznfZ2p0yY/MaK/RycPkTClGtX+pf2a
IronPort-HdrOrdr: A9a23:CeI3pazlHzq9sBo3KprCKrPxj+skLtp133Aq2lEZdPULSKOlfp
 GV8MjziyWYtN9IYgBcpTiBUJPwJE81bfZOkMcs1MSZLXXbUQyTXcBfBOrZsnLd8kjFmNK1up
 0QCpSWZOeAbmSSyPyKmjVQcOxQgOVvkprY/ds2pk0FJWoBCsFdBkVCe32m+yVNNVN77PECZf
 6hD7981lydkAMsH6OG7xc+Lor+juyOsKijTQ8NBhYh5gXLpyiv8qTGHx+R2Qpbey9TwJ85mF
 K10DDR1+GGibWW2xXc32jc49B9g9360OZOA8SKl4w8NijssAC1f45sMofy/gzd4dvfrWrCou
 O85CvIDP4DrU85uVvF+CcF7jOQlArGLUWSkWNwz0GT+vARDwhKdPapzbgpDCcxrXBQ4e2UmZ
 g7rl6xpt5ZCwjNkz/64MWNXxZ2llCsqX5niuILiWdDOLFuIoO5ArZviX+9Pa1wVB4S0rpXW9
 WGzfuskMp+YBefdTTUr2NvyNujUjA6GQqHWFELvoiQ3yJNlH50wkMEzIhH901wuK4VWt1B/a
 DJI65onLZBQosfar98Hv4IRY+yBnbWSRzBPWqOKRDsFb0BOXjKt5nriY9Fqd2CadgN1t8/iZ
 7BWFRXuSo7fF/vE9SH2NlR/hXEUAyGLH3QIwFllu5EU5HHNcnW2By4OScTepGb0oUi6+XgKo
 SOBK4=
X-IronPort-AV: E=Sophos;i="5.88,331,1635220800"; 
   d="scan'208";a="63548975"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eatEvmeJ/T27iyGG8l/tyfH+zuR3chfDOXknneR86N8tO21RrCH/m+ifyvWeavJWJMNe2erOgG74BUyM4tG/UdkoLFCkaMf9rTAurejO/C3I6dzp7hKUb+0AaWkaGun6fKRJSpUURfXRAt10gku1yK1GksOT/Pv5vAFvURhZ3fTITMaTizrqlb/p/9algc6hNfpjpBwOIsiFss/0DBFs2aOB8IDLl2518l3Yjq70mAXQCqcblmPXM/esKw7V83Xc3t9BKONxpfFCi0FVwMJOwz4X7fBKvqDmKf/8IEmnS9XeGWJTXAOYWrFmo4Z6OZtSEesC2PKCE8XI4OZB3a+cag==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Prv3EJWTyPHuaPriPZoNxCaQPiKljE0vKS0RDs5UYVc=;
 b=c6NL4rHnHYqo7iFMMXVG2vdLkPPl5ZobUDDGQ3vrxmeVctRYh+CsiTrccUDVO+G8GPugY4YGLlLO9wuWcSJ5YdYNO9wjtQPxu+fG6M1GYh9MXTQU1ZIDNisVPziC+6O0+3dre6PcZLlF9q6iTk4OHsZCdKzBigKTNZF1pcdPUuDS+deOf/yGJ8YkGjGNn8atqx9cZIWKZq1te8r81hsjmK+8nhuzAtPOEt+RdjrgH5mFLHHL4BtKE4TcbaunmVanohexMJ2F3fY+pzowdDxiJMwrHvEJxpau8+NUm+NBdK5vPJxZHXSOCY3zc+ruo9fu3aawhIOAcdDSg58q5cbfIA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Prv3EJWTyPHuaPriPZoNxCaQPiKljE0vKS0RDs5UYVc=;
 b=Ec8cLAvCPuV+M+a4LxLBX8RUjEJzRvYVbwWhh1ClxPa58OmDZK9afA78bYrSYK2vvAIakLmcrkvCO+oS/8OvehkC142hFT8gT9PgZi5lENOjFODbjE/xXr3ud529XOcoEQIl7T5kRZJBCsgwUCTJ+VYEyGXqtdIhvcFBmos9KBM=
From: Jane Malalane <Jane.Malalane@citrix.com>
To: Anthony Perard <anthony.perard@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, "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>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian
	<kevin.tian@intel.com>, Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [PATCH 1/2] xen+tools: Report Interrupt Controller Virtualization
 capabilities on x86
Thread-Topic: [PATCH 1/2] xen+tools: Report Interrupt Controller
 Virtualization capabilities on x86
Thread-Index: AQHYE5d4GSao6/4dAkKp8GGbQShiJax4qxGAgASjWoA=
Date: Mon, 31 Jan 2022 15:54:21 +0000
Message-ID: <997de807-4d73-c1a1-3ac9-883fc0e33efd@citrix.com>
References: <20220127160133.11608-1-jane.malalane@citrix.com>
 <20220127160133.11608-2-jane.malalane@citrix.com> <YfQiIzxNMVDAGz7p@perard>
In-Reply-To: <YfQiIzxNMVDAGz7p@perard>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 1e373945-d321-45c9-7c28-08d9e4d1f25a
x-ms-traffictypediagnostic: BN8PR03MB4802:EE_
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr
x-microsoft-antispam-prvs: <BN8PR03MB48021646C76137068009A78C81259@BN8PR03MB4802.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: nZY9Dz98eMVw1hqFXPlJFnBJdXTP623l+TppKUL4UML2I9zeN79IM2Ql/mL2izEeg9H61gp/jjkEoX82c7AWQLgB8aw+NFhyd17p1uQuQ/aRs5b5CpMw0TacXPbhFfRuuSE9Ryv69hn/XIPjb5zPFBS3Ti7NqKcNJlcdQLCiSqem1tDSsnVPB/lfuU+I2/o5fFbaJLWBfst/Ph34+0WtcG133Ehoi6QmTcE7hh9EDmg07gjTMFdRDwywOigS/rFrQBd9t8YS/Q925v0HVJw8moO6D1kMSlVWy+MMvS+L6Unf4cTJrNWkYcHrjTd+vdoDVUv7FBzz3X9OEWJvsMxHI8wugU30lfRoz/kESSp7MRqrJqrEIjfrMrv5MZ7fcfRPrAyoCs0JPKpCGqM54LrzT2/JhCEppgrADObMXOijU3wXLFGbseq5BYeVa5L4+8IJKrWvo+2KCThNp1+K6c7M6bc9cHd/r/9ebRrcXxDFAUmQf19YmwnrjIpc8ubOXrTv9KSdfGzVOG8OtwoTZCkPT9KJB+utQB9y3nNUKSbR4LRSKLufKnQeSqxLRlk4YiA+oXNTzmi85Q+wdxBOrtLxvMMorIc5P+vxK6IhUCmBrPXaxwxBDqbvCgLka6LtFtjG5y/8NLMlsfXpPxw51PW4hDXH0VAZNxpWtlB5I2z0jY+Kpxkm68RV9ffP5teYH3uazSYwSWUcgNeMIk+w0796KwsGtErqBlk/qT+3N38kPuw=
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR03MB3386.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(38100700002)(86362001)(31696002)(38070700005)(122000001)(82960400001)(66556008)(64756008)(66476007)(66946007)(8936002)(76116006)(6862004)(8676002)(66446008)(71200400001)(55236004)(4326008)(53546011)(5660300002)(6512007)(6506007)(508600001)(36756003)(6486002)(37006003)(6636002)(91956017)(54906003)(316002)(7416002)(2616005)(2906002)(107886003)(186003)(26005)(31686004)(45980500001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?REg4cGdCTVhMb2NJYzROOWNKdHUxUldVV1QwSU1WOXBGOHpoczdhZDZhRTdz?=
 =?utf-8?B?WEZEa3pDUXdSbEljY3ovWUJjdHBZWlpkWW1IR2ZZLzVZV21hZXRQU2lDUkNM?=
 =?utf-8?B?cEovV3IwbmpSWkFSTi8xcHhJNDRJMjlDbFVpaDJrcUd2Z0Q0NklKWmdOamFV?=
 =?utf-8?B?SHRhY3VndE13YmN5MGczS24wbGFwcjVaeDhmeDlKTFE0MUdTWjliWmlUWVJq?=
 =?utf-8?B?bEw1TFVIZWVOcUtybUJacU1SYWZxSlRBKzVnanFQZmVVUlIyVGpjcFh0TGt0?=
 =?utf-8?B?cW81aGE4ZUtkbmIxRitKNXdPb3loaDBMN3RBMGJmUERVV0hsdUNTWnc3M2VB?=
 =?utf-8?B?T0paV09XZ3FmbkZ4bzZFeUljalF1N1Q1bUFWM2xIbHhhaDVrNFg1OHlBL1Fh?=
 =?utf-8?B?R3BXRHFvQzEvWHhHS2JBU29KNUZ3YldzcjB2WWlHUlY0TDRUUlRIcGFRSk9q?=
 =?utf-8?B?Qyt2ZFV2MU1odVQyKzNLa3pGdVJvTmFRdy9WSnppdHlCVE5VV2lmVGZGWC95?=
 =?utf-8?B?aTRhRXUwWU8xNk51WkliMElQVTV6b3FndXhsS1FvNHlKcmp0K3U1N2ZwamVP?=
 =?utf-8?B?Y1UwYWNOQzljdm9VYWIyZTFVenJOZ1RzN2szVDFmVjVrNWNYTVNaWlFReGl2?=
 =?utf-8?B?UjJweFZCekF5WlpiRWsvT004YkFrL3FuaXZRVng2NkRPTGdLQkd6QU54dWc0?=
 =?utf-8?B?SDF0a0JpejhiN1FoSjFzK01ldGV4ZHBONlB5ZzdFelYrbFVVUzRLdW5xKzAw?=
 =?utf-8?B?VWVsZUV4OFIzQU1ZOGhMSzJmZHpoekRiSDBEZmcrQUFicE0xcUxjcXZOa3A1?=
 =?utf-8?B?aU9Qa2VpVGp6bDUzQkplMDN0eVdYSEtrUUJ4K1BQMzBESUsxYm03dUZtS3Nq?=
 =?utf-8?B?SGNrS1RzU1VvWi9nK2tIYzErT2hiaElSbnkrZ05Yb09JcWdBSHBKZjE5Z1F6?=
 =?utf-8?B?WEtOL3gxN2h2dHVCK0Z6WXBGeFFvUXJ1ODZlcThFM0FFdjI1ci9SRXZTa0xa?=
 =?utf-8?B?WWxJZ3VBOTNoRExiNWJXaTd4QkYzZm5LYXdRUkh4UlljbVRMM01CNjFTTjR1?=
 =?utf-8?B?K0VHa3JBYi9pb3lnUHdXUGNGVWphRTdEaFdGZktmeGIveXFaWTVNUmJ4QUVM?=
 =?utf-8?B?SlpYWWpMUkRRUlZPYm0xWnhtanpYemVpMjRtVzViVklhbVdxQ1VhVEhuRXdv?=
 =?utf-8?B?bFFVQUxoOGx3MUw0Y1BBWmdhcnVnNlpTS2hjV0JUbTBVY2E0TUp0bk9tTEF2?=
 =?utf-8?B?cjVhTjF1SFFCOXoxRmg4MTFST2YwMjJHeXF6cjRWTzEvSHZoQUM4cEljbGxW?=
 =?utf-8?B?NFl2TUkrYnNBak96UWMvMnlER3A4MVlnZzdNYjBSWDM5OERsOEhlQjJkK0Y4?=
 =?utf-8?B?TVhJOEw4UXZ6OXBEMWM5bUN2UGxYRit6K1l3MzdMb1ZrbG5Ycm5RMWZsa245?=
 =?utf-8?B?VzdZWkN0ZlN3dEJZTzkyQThxYS9JTHBvQnVBcUM0V2tTOEhGamo3TXhOZCtF?=
 =?utf-8?B?MWFNeWZvTndTamZlaW5GUXRGVGhwRzhMZ1ZNWEJDbXpOVnFwbXpXeXI0OVR0?=
 =?utf-8?B?d0trMVdQMXk0eXRoSU1KaGZVOHI1RGFiaGdQalpQT3NpaHZIWWtUSldMZS9w?=
 =?utf-8?B?OGptTCs5eXliNjJjN1VvQUNvckFTcnFMYS95ZUlTcDBmSWdJMFdnUlMxcmpT?=
 =?utf-8?B?VzR5VXAySk91TUVsVTlTeU9VRHBpdXlEUktXWHVUVndvbUhUS2VscFpLQnJG?=
 =?utf-8?B?QkFvSURLRTVCM09mR21kMW5Ed0JYamxBci9RKzJYQ0Z4a2V0NklUT0lXYlFQ?=
 =?utf-8?B?TnhzQy9OQk9QN04vTllwSHRhR2J4QWsvSFhReGJ3dXlrd096aEI3ZlIyMVNQ?=
 =?utf-8?B?SmpkUkxXcVA2SXU1aENhU2Q1a05SQTVjQkNEckVBbmMrMHAvZWt5VUdFWGNT?=
 =?utf-8?B?bGJLUkVieXo5SlFYM1NWYmh3TVZaaVd2eGtKRURWM1p5MkM3Zm04UmtydVVx?=
 =?utf-8?B?NFZDQW80b1Q1ZDBCTWM2Y01iYXhCb2p0K0pscHJEVVJuaTRwMTgxMEM5cHlz?=
 =?utf-8?B?ZFh0cVNTbFUvYXd0ZERGYy9jZTBCYys0ck9HRllpVnpucnlYNUYyaDd6YVlE?=
 =?utf-8?B?bHRESDl4WUhWRVlxOU9NWENyUXBIZEtPZEp4UG1XRUJJOGJhRGNXeFBLT3Nn?=
 =?utf-8?B?STZHWFhmQWlycU5Pa251L3BINUZkKzd3QkI1ajh6RnZLSW00Ry9UUHkxWStZ?=
 =?utf-8?Q?wxxGi6tPcU/oMLRz8RbP4nbf3kqt61vatYvXc7wEMY=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <33569358B237FE4C8B654831F309D2C2@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM5PR03MB3386.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1e373945-d321-45c9-7c28-08d9e4d1f25a
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2022 15:54:21.4324
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: f0rw3hhkv6+Hufq1n8HkIoYrD8w2o8Y07BuM4N8KxLQG6CXK3UYwzWwa5WXzv76Zwg/PMD1vRyT9VQTgsM7vj5hrxg+rr/gyO2+vPL3WXdY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR03MB4802
X-OriginatorOrg: citrix.com

T24gMjgvMDEvMjAyMiAxNzowNCwgQW50aG9ueSBQRVJBUkQgd3JvdGU6DQo+IE9uIFRodSwgSmFu
IDI3LCAyMDIyIGF0IDA0OjAxOjMyUE0gKzAwMDAsIEphbmUgTWFsYWxhbmUgd3JvdGU6DQo+PiBB
ZGQgWEVOX1NZU0NUTF9QSFlTQ0FQX0FSQ0hfQVNTSVNURURfeGFwaWMgYW5kDQo+PiBYRU5fU1lT
Q1RMX1BIWVNDQVBfQVJDSF9BU1NJU1RFRF94MmFwaWMgdG8gcmVwb3J0IGFjY2VsZXJhdGVkIHhh
cGljDQo+PiBhbmQgeDJhcGljLCBvbiB4ODYgaGFyZHdhcmUuDQo+PiBObyBzdWNoIGZlYXR1cmVz
IGFyZSBjdXJyZW50bHkgaW1wbGVtZW50ZWQgb24gQU1EIGhhcmR3YXJlLg0KPj4NCj4+IEZvciB0
aGF0IHB1cnBvc2UsIGFsc28gYWRkIGFuIGFyY2gtc3BlY2lmaWMgImNhcGFiaWxpdGllcyIgcGFy
YW1ldGVyDQo+PiB0byBzdHJ1Y3QgeGVuX3N5c2N0bF9waHlzaW5mby4NCj4+DQo+PiBTaWduZWQt
b2ZmLWJ5OiBKYW5lIE1hbGFsYW5lIDxqYW5lLm1hbGFsYW5lQGNpdHJpeC5jb20+DQo+PiBTdWdn
ZXN0ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+DQo+PiAt
LS0NCj4+ICAgdG9vbHMvZ29sYW5nL3hlbmxpZ2h0L2hlbHBlcnMuZ2VuLmdvIHwgIDQgKysrKw0K
Pj4gICB0b29scy9nb2xhbmcveGVubGlnaHQvdHlwZXMuZ2VuLmdvICAgfCAgNiArKysrKysNCj4g
DQo+IE5vdGUgZm9yIGNvbW1pdHRlcnM6IFBsZWFzZSByZWdlbmVyYXRlIHRoZSBnbyBiaW5kaW5n
cywgdGhlcmUgYXJlDQo+IG91dC1vZi1zeW5jIHdpdGggbGlieGxfdHlwZXMuaWRsIGF0IHRoZSBt
b21lbnQuDQo+IA0KPj4gZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfeDg2LmMg
Yi90b29scy9saWJzL2xpZ2h0L2xpYnhsX3g4Ni5jDQo+PiBpbmRleCAxZmVhZGViYjE4Li4zM2Rh
NTFmZTg5IDEwMDY0NA0KPj4gLS0tIGEvdG9vbHMvbGlicy9saWdodC9saWJ4bF94ODYuYw0KPj4g
KysrIGIvdG9vbHMvbGlicy9saWdodC9saWJ4bF94ODYuYw0KPj4gQEAgLTg2Niw2ICs4NjYsMTcg
QEAgaW50IGxpYnhsX19hcmNoX3Bhc3N0aHJvdWdoX21vZGVfc2V0ZGVmYXVsdChsaWJ4bF9fZ2Mg
KmdjLA0KPj4gICAgICAgcmV0dXJuIHJjOw0KPj4gICB9DQo+PiAgIA0KPj4gK3ZvaWQgbGlieGxf
X2FyY2hfZ2V0X3BoeXNpbmZvKGxpYnhsX3BoeXNpbmZvICpwaHlzaW5mbywNCj4+ICsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB4Y19waHlzaW5mb190IHhjcGh5c2luZm8pDQo+IA0KPiBJ
dCBtaWdodCBiZSBiZXR0ZXIgdG8gcGFzcyAieGNwaHlzaW5mbyIgYXMgYSBwb2ludGVyLCBvdGhl
cndpc2UgSSB0aGluaw0KPiBhIGNvcHkgb2YgdGhlIHdob2xlIHN0cnVjdCBpcyBtYWRlIHdoZW4g
Y2FsbGluZyB0aGlzIGZ1bmN0aW9uLg0KPiANCldpbGwgY29ycmVjdCB0aGlzLCB0aGFua3MuDQo+
IA0KPiBJbiBhbnkgY2FzZSwgdGhlIHRvb2wgcGFydCBvZiB0aGUgcGF0Y2ggbG9va3MgZ29vZDoN
Cj4gQWNrZWQtYnk6IEFudGhvbnkgUEVSQVJEIDxhbnRob255LnBlcmFyZEBjaXRyaXguY29tPg0K
PiANCj4gVGhhbmtzLA0KPiANCg0KSmFuZS4=


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 16:02:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 16:02:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263185.455805 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEZ8g-0000za-B3; Mon, 31 Jan 2022 16:02:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263185.455805; Mon, 31 Jan 2022 16:02:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEZ8g-0000zT-67; Mon, 31 Jan 2022 16:02:46 +0000
Received: by outflank-mailman (input) for mailman id 263185;
 Mon, 31 Jan 2022 16:02:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xJ9D=SP=citrix.com=Jane.Malalane@srs-se1.protection.inumbo.net>)
 id 1nEZ8e-0000zN-9Z
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 16:02:44 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 37e29d73-82af-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 17:02:42 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 37e29d73-82af-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643644962;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=NeJT0svVHvHkRZA58ohgAZChpht1pjNNvlyn88wgcOY=;
  b=MJATs1dcTZFnhJdAuVOicbYBPz6YYToWw7r4myiU1/E+kqj0jazf4RgK
   4vCNsT/th7445dWXxoKRoFJ4sf+c0WlhxewHi0qZT+YoR9CZ1Whf7jIf0
   wFwW4bTvdHtepcpD0bDrGlfwlZ0KU4wIt3vQvw7dkot0uPoi2d4ETsW5i
   w=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: gDpqPWBIeIHXoxE0tHtWPj+N4EHvbS7c6LTUovmR1MoZCyMAUWRPAvPHeikrh6yc3DzljRA1DO
 SZcx+jwxr9ZrPGrJb/pR9mEbh5XXEBvhX49pLi7MmJR7eByBs4Lb3TK9Oq2JMI3eQg0RTEiYQm
 FNt0wSFoLGSDG1hBLHKHJR6FzP0inSpWxOQd/MI3fAciBhKYvqKjlM2QTwyqbYpLhdPqfnDvzI
 drb/iUuX6W8vVJHAbQKBBcPzKCgPCeZVMWXyzDvOX1Xy80m25uJZIdyK/cz9GJ5OksPDuo2N2p
 XTO1vUNq44VSYjpNbEvnfkCw
X-SBRS: 5.2
X-MesageID: 63144636
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:oIsDBKxhXvos8tgTpsZ6t+d/wCrEfRIJ4+MujC+fZmUNrF6WrkVUn
 2QYXT+EPqyNN2L0ed5zOd7goRgOuZeDzoRqQVQ5qSAxQypGp/SeCIXCJC8cHc8zwu4v7q5Dx
 59DAjUVBJlsFhcwnvopW1TYhSEUOZugH9IQM8aZfHAhLeNYYH1500g7wrVg2tQAbeWRWGthh
 /uj+6UzB3f9s9JEGjp8B3Wr8U4HUFza4Vv0j3RmDRx5lAa2e0o9VfrzEZqZPXrgKrS4K8bhL
 wr1IBNVyUuCl/slIovNfr8W6STmSJaKVeSFoiI+t6RPHnGuD8H9u0o2HKN0VKtZt9mGt9tI8
 ZYds46ccig0YpSLwbwZXBB5HC4raMWq+JefSZS+mcmazkmAeHrw2fR+SkoxOOX0+M4uXzsIr
 6ZBbmlQMFbT3Ipaw5riIgVoruYqKsStGYobs3VpyzzxBvc6W5HTBa7N4Le02R9u3ZkSQaiFO
 aL1bxJdSQbQUiV/N2xMN5Ujn/WBj3r/Vjdx/Qf9Sa0fvDGIkV0ZPKLWGNbcZNGiX8hemUec4
 GXc8AzRGQoGPdaSzT6E9HOEheLVmy7/HoUIG9WQ5vNsxVGe2GEXIBkXTkeg5+m0jFakXNBSI
 FBS/TAhxYAM80isQsj4TgePineOtR4BWPJdC+Q/rgqKz8L8/AKxFmUCCDlbZ7QOtsU7WDgr3
 V+hhM7yCHpkt7j9YXCA8raZqxuiNC5TKnUNDQcGQhEC+MLLu5wog1TESdMLLUKupoSrQ3eqm
 WnM9XVgweVI5SIW60ml1Vv+unH8oIrldSEoujyQBzqh4QpYa4HwMuRE9mPnxfpHKY+YSHyIs
 34Fh9WS4YgyMH2dqMCeaL5TRe/0vp5pJBWZ2AcyRMd5q1xB7lb+Jdg43d1oGKt+3i/okxfNa
 VSbhw5e7YQ70JCCPf4uONLZ5yjHIMHd+TXZuhL8M4AmjntZLlbvEMRSiai4hTqFfK8EyvlXB
 HtjWZzwZUv28Iw+pNZMe88T0KUw2gc1zn7JSJbwwnyPiOTCPyPFFu9VbgrSP4jVCZ9oRi2Pq
 b6z0OPRk31ivBDWOHGLoeb/03hXRZTEOXwGg5MOLbPSSuaXMGogF+XQ0dscl39NxMxoehPz1
 ijlACdwkQOn7VWecFniQi09NNvHAMguxVpmbX1EFQv5gBALPNfwhJrzgrNqJ9HLAsQ5k64tJ
 xTEEu3daslypsPvompFNcel8N09JXxGR2umZkKYXdT2RLY5LyTh8d74ZAr/si4ICyu8r8wlp
 LO8kAjcRPI+q85KV646sdqjkAG8u2YzguV3UxeaK9VfYhy0ooNrNzbwnrk8JMRVcUfPwT6T1
 gC3BxYEpLaS/99poYeR3a3U/Z20F+ZeH1ZBGzWJ57iBKiSHrHGoxpVNUbjUcGmFBn/04qire
 c5c0+r4bK8chF9PvoclS+RrwKsy6sHBvbhfygg4TnzHY07yUuFrI2Wc3NkJvapIn+cLtQyzU
 0OJ299bJbTWZ5+1TA9PfFIoN73R2+sVlz/e6eUODH/7vCInrqCaVUhyPgWXjHAPJrVCL454k
 /wqv9Qb6lLjh0NyYMqGlC1d60+FMmcED/c8rpgfDYLm1lgrx1VFbcCOAyP6+sjSOdBFM01sK
 T6InqvSwb9bwxOaIXY0EHHM28tbhIgP508WnANTeQzRl4qXnOIz0T1Q7S8zH1ZcwRhw2u5uP
 nRmah9uLqKU8jY03MVOUghAwe2a6MF1LqAp92Y0qQ==
IronPort-HdrOrdr: A9a23:2nNNhqB4Ksomz5rlHemo55DYdb4zR+YMi2TDsHoBLiC9E/bo8/
 xG+c5x6faaslossR0b9uxoW5PhfZq/z/BICOAqVN/JMTUO01HIEKhSqafk3j38C2nf24dmpM
 JdmnFFeb7N5I5B/KTH3DU=
X-IronPort-AV: E=Sophos;i="5.88,331,1635220800"; 
   d="scan'208";a="63144636"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iBCNN5iBrlKa1Rva6pF7Zf2qfM1Z6N7ZuMOnMbBfyORTV+Mn/acH7XcTHWOV9wrcnXCNm2NOMuwcCqmQt2AZXX4uZhx0kd6YLeqk4BzLPSn73KYVT0XB8+5+6/SEuHpCEqqzvcmT8J2kWxVAKBsSAvebAKBYnXIJ3f09WGjIa+tUHMbaFRt8yogrv1ha1WKLtXRwci9R8KXq+21nWRLz5e3SAlB2v+gzNlINGzqg60j6+hGtVpA1dIdGdRbs5gceQx9r3RzU8QFrcYX2YJ4syms8w4MiNC/9aCDrqdYpB1cKdh68B24mH9clOBBUJ3cxWW43BGLsL/WcnGZ55NWHww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NeJT0svVHvHkRZA58ohgAZChpht1pjNNvlyn88wgcOY=;
 b=lOMXr/aBqEUcVu6ipEHmpnda+2TUWThCUJi1oNG2RNaH82lmWHJ5QvSvNGMxik3/uZag4tJL2/2hPg97c1VNF80G0h+GywGwni7eKvqVMioxsR8OcjT4t1h4HUCCvmY/TFtS/AA74qLRw8sy5np5gV/ib610Rnp7K7KxkV7xPPJyVnRF9d12StVpqY3Vy2Y824w6N5WAcD9SWopvGV7w011PjxG35P6orGZMR3bLO6wrVnvdE6VJoXZBElHlOIgZehcAomPJpvcVIQOidiqB8gEMX+fNhg2YKq7bWlopj+IgKEoEfY+L+3+LojH2PCwVeXdBZOUp6BN+6ZuiCK9Qaw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NeJT0svVHvHkRZA58ohgAZChpht1pjNNvlyn88wgcOY=;
 b=MK1Evn5q/TxpvMCNG45C481yzNFc62sCLR9JZBGbz+8GVTkEEK/zJW4UAkH/cNFWz3Hvoi8PWl4zLRschcJELZqERgJSR3ApYBwPgyCn6SRbH4y674Boo1yLKrNWbqtC4dxeX0dnX524ny6wNqcPIIlpxn4cwH3Rd/yn8hnmrPo=
From: Jane Malalane <Jane.Malalane@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Wei Liu <wl@xen.org>, Anthony Perard <anthony.perard@citrix.com>, "Juergen
 Gross" <jgross@suse.com>, Andrew Cooper <Andrew.Cooper3@citrix.com>, "George
 Dunlap" <George.Dunlap@citrix.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Christian Lindig
	<christian.lindig@citrix.com>, David Scott <dave@recoil.org>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>, Roger Pau Monne
	<roger.pau@citrix.com>, Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 2/2] x86/xen: Allow per-domain usage of hardware
 virtualized APIC
Thread-Topic: [PATCH 2/2] x86/xen: Allow per-domain usage of hardware
 virtualized APIC
Thread-Index: AQHYE5eVWWLwfSz8JEi35sISHqV9YKx9DnUAgABCRgA=
Date: Mon, 31 Jan 2022 16:02:37 +0000
Message-ID: <53fa0bd8-b39d-bf22-da48-7643dc67262c@citrix.com>
References: <20220127160133.11608-1-jane.malalane@citrix.com>
 <20220127160133.11608-3-jane.malalane@citrix.com>
 <8b59b7d7-2d0a-0b8a-f936-1e537dfc4f9a@suse.com>
In-Reply-To: <8b59b7d7-2d0a-0b8a-f936-1e537dfc4f9a@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: e455f458-045c-459d-0c18-08d9e4d319e7
x-ms-traffictypediagnostic: BY5PR03MB5203:EE_
x-microsoft-antispam-prvs: <BY5PR03MB52033E4C8ADED987DB9EE51681259@BY5PR03MB5203.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: aLpcd0Q9skUmVVPIbTyQz17ns97RPf8Yed+Rkgo0v+EHMNUn/llgEL0Zqv/VB3GU1lulh7XFYXNIHGzrTHc4jC+L3E1yyFJ24zX7A0BLw69kw5UODjQO3ifp/3GULHVpsjkCxKVNAWKxuxGks9/6UEweQyhdjZ2808jMT4uq89dJrJiBwGc69RQCa2zOzKvKj/h5u2ddPWcVkk8sU2/LINtTksHNop9dp6oUQeUInL8U5xpspD9bk5hV3TJYH1Dw8g4Bjblfa6SYGZPHjNEjELHyzKn5bGv2ZXrmCqmP2x4uIDADwtE2y56Xf03RN/x447p95oARMv7qull6zz9ILAVjjiUqLOK/qNonmR6Yij++NBzShy8vZUWsuLdXb/xyVnNitvnSPwazdH/eiY2oU3SdHYsvWuZv8XRdCmxp7O0Y7j6aAHXG+TKsgLV+34Y8l67kwnjdFPLNvEaM4J+8J3g0DwG6cHZMxrweZvRddY2TpAqqNLPX1w90mtOyZsw3eX81KCGKV9jzpN5ANr1rVSfWcl1sabPK/pfva7aiaJEj6FsMWFpJkEsv0dlwVoXl039OkRkujz5eV/YpaFz1b/JqKKbX8jiU3MiieNwEtz1IJybYdj6OQ89RPEWFVaoNV3lLOquIJerrKqq5CyNjaA0aBvuYHlaqKhn/3OrZNO7GEq/dC8EwtQzH0ARSM8DpOLrhhltB9CSh4L5rPADhRqF9yOCFOsTOUzPKkPVeEg+s4CyxV709tJ8Mim4XQ9Xd
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR03MB3386.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(38100700002)(122000001)(66476007)(66556008)(31686004)(91956017)(6486002)(38070700005)(316002)(31696002)(86362001)(4326008)(36756003)(8676002)(64756008)(66446008)(76116006)(66946007)(8936002)(54906003)(6916009)(82960400001)(508600001)(71200400001)(6512007)(6506007)(186003)(26005)(5660300002)(55236004)(53546011)(2616005)(2906002)(83380400001)(45980500001)(20210929001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UmF5SFMyRzhYSWE0eVhBb0cxYWxvdFA0TUw1RmpzVVZ2eG02MWdMYlhtSlpN?=
 =?utf-8?B?MW9Nek1pYlBiajFkaDgvQnZBb2VnbDNHanBic05yQTRsS2JsMmYyMzBHcGpN?=
 =?utf-8?B?czV2b1o3bUp0Znp6R0VUTC9mdzVaVlVuOTZoSlJrV1pMM2NOY2Z1ajZQdHJx?=
 =?utf-8?B?Rk1aOW1JalBxbGVaOVdBdmdxMHlhcmZJREtIam1ITmw0NTllSUNZQXArUUdy?=
 =?utf-8?B?UXFubEFSbVZkekdlZzlDbHNxK0pYQzZkempPaVBuV0huajNYN2g2Z2FveHpI?=
 =?utf-8?B?VEFibCtFb0llK2JVc1NaazN5czk0NGZkWnJCM2w1N3VDYXJ2SU82dGdJOWFR?=
 =?utf-8?B?QnNNNTMwYnF1VWYyQzR5MlhMWFZNUlBtenVPVXVXVDlvZjhhcFJwY2V5Y1NW?=
 =?utf-8?B?M0JUaktyTXFrcFZHdWJOV1FmdkZ4Q0VMaXhueTRobWZvMmZCZzlsci9GanJZ?=
 =?utf-8?B?VmFtYjhvQ1JpVm8yS3lDTWh4TzEwRklJckRtRm1JelM1Q3ArQnNmd095aXEy?=
 =?utf-8?B?NmRWVEJ4b1NnZEV5azY0dnpNNzZFM1h2Q3AvWDZsOWFMWG1HTjdwOGRCU2FC?=
 =?utf-8?B?NlN4Sk1ZWlFRQmVZcnA4TlByK3UvVk14amZTaEtNblNpSVFZeXNTTExmSFYy?=
 =?utf-8?B?NE9WTFh6RGhuSzRxNVlra3lvdkxFQWs3ZHpTN1VQMXBGbWJ0VitlbmwzR0ln?=
 =?utf-8?B?V05qL2J2RnFTSHJpcVUxUzJJVVZCS1RDZWxtYjU2eHRaUkFYNk5wc0I4YUti?=
 =?utf-8?B?MFJVUEE4ZTNFWER0a3Z6VmtWTHpJU1lnand2YmQ1RFJNbHNtaG9QWVJ0c3pG?=
 =?utf-8?B?a1pSQ0U3R0pxUkJPWHQyeXRJcHVTUWhXakFncGZYdTh0RTc0SFBRMi9aN0Rv?=
 =?utf-8?B?Z08ycHkwRlcxcUo3N3RoZHNENzFQeFZaQ1JQRVNoVWlwNlZCZWk5aGNrQlQ0?=
 =?utf-8?B?ZE1kcmFOdWlnd1JKcmgrTmswaHlINWs2Wnc3SjBYNHhGTmJMcGhUVWNQS2VT?=
 =?utf-8?B?NS91TVpaTDRQWmNaT3dvSkZmdTQ5VmYxWk9OZE9FWmcrcUgzTlZNSVl0clQw?=
 =?utf-8?B?dTVIUzFKbGI4ZWU2dXVHQjNINzVYS1NTWWRNWk9STVdTVWFzU0Y2LzJ6YnlY?=
 =?utf-8?B?d1lZcmdkakY3aWN6Zjg5dlVjVCtVQ1lUM3lJRjMrQmhhYVlTUlcrdEVHS1pW?=
 =?utf-8?B?QzB5MjZkVXhrWXR4dkZhZWlxVHpZd2VCblV6Z25OWUwwWk16Wk1uYjJGZWY2?=
 =?utf-8?B?eFUramhnR1NHLzlpWWgxRm5rQ1hzbFNQRTRScDdxck8xcTRrSFhwNXExTmdt?=
 =?utf-8?B?eTUyNW9RU3Q5MG1NZ0lBbFpMYnpFVTFQNFJvd3lPZms0b0t6Q1JhM1hqZnlU?=
 =?utf-8?B?amJDT3BrYWtxdS9oalR0clo0RnE0Q0tkSTMxR0QybmZTYVY0U2tNbk42UEpE?=
 =?utf-8?B?a2xyOVk0NFVQQWhMeDFKZEN4Y3hmalZKemJ5T1A3WEtKbG9oYmNZM0lxTEY4?=
 =?utf-8?B?ZjllRzRwSkNHaC9TdHNkSFNyeEozS1F5QlN3RVpiMHR5dDA0QVFLUUlGdS9L?=
 =?utf-8?B?TW1ZUTc0Y2NmRUNHdUdGV0tCaEZNVkZzVlhVc3FRdjNoTkk1NFhieFo4bjNG?=
 =?utf-8?B?OFBocFQzTVR4Si9hS01IRjNPTHlScGFUalh1K2dYTFVJMDlhVU1Sc1VHRm5M?=
 =?utf-8?B?SWJsbmcvK1JrUnFEbVFVbHB1c2craU5zdkxIZ2lrM2JIY0ppejhqQ1B0RG91?=
 =?utf-8?B?SHBzVHR0NjN3alNxdTVweE1hdU5uSmR4OWpWd2VIcmFHRkZnSGJLWkZaQVY4?=
 =?utf-8?B?WHhSaHFIcU02WDA5T0dDOS85ek9oWlprMTcxV2xkU3VUS0tReEcySVFSMmxv?=
 =?utf-8?B?UWx2WlNmTHdvTVpUSnJsT2xBU0pIRzVSMFV0RHVRbnRJeFdUWG5KeGViZHFL?=
 =?utf-8?B?dHZDVnVjV0JpZXRjMW5oZUdFV1pFVkMwd0ZNeitmekJFMUtzY3ZwL1FHRWRX?=
 =?utf-8?B?TkRLazNwbXJ6cGlpMkNSdXVoTnpsUURYTXB2dEZkV21EbEM3U25DajAwUEZC?=
 =?utf-8?B?WVUwMnJ4YzY3SWtvUUR6Zk5BVHg2eUZrK3ljU256eXQvYVJvNG4vSXFuekpF?=
 =?utf-8?B?WWg2Q21YbUpIcnpGcmFYZ3pMelBsdC94TXB5L3FkeVYwbE1YdFZIR0RNSnVJ?=
 =?utf-8?B?elpNMVJJZENzelJDcDRYUGJlNHJhTTU1bDR5OVdEN2tabFJOdFB5U3ZvcHBy?=
 =?utf-8?Q?DWcxfib0tCTQDS6AedCwM2zP7a1cUwUaaxPhJkN4J0=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <6DCB448BD3AB6342850953FC3EFE2005@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM5PR03MB3386.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e455f458-045c-459d-0c18-08d9e4d319e7
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2022 16:02:37.2503
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: cbOHlTlCfCboAtN9dv05zeDcl4ONgFtE6RBN6lJx/3wfLkGQ749A/LysLGHpMen9Rvq68ZzLCihbqNdTP3pDkmXaOlvpyTjvBrJzHraW0bU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5203
X-OriginatorOrg: citrix.com

SGksDQpPbiAzMS8wMS8yMDIyIDEyOjA1LCBKYW4gQmV1bGljaCB3cm90ZToNCj4gT24gMjcuMDEu
MjAyMiAxNzowMSwgSmFuZSBNYWxhbGFuZSB3cm90ZToNCj4+IEludHJvZHVjZSBhIG5ldyBwZXIt
ZG9tYWluIGNyZWF0aW9uIHg4NiBzcGVjaWZpYyBmbGFnIHRvDQo+PiBzZWxlY3Qgd2hldGhlciBo
YXJkd2FyZSBhc3Npc3RlZCB2aXJ0dWFsaXphdGlvbiBzaG91bGQgYmUgdXNlZCBmb3INCj4+IHh7
Mn1BUElDLg0KPj4NCj4+IEEgcGVyLWRvbWFpbiBvcHRpb24gaXMgYWRkZWQgdG8geGwgaW4gb3Jk
ZXIgdG8gc2VsZWN0IHRoZSB1c2FnZSBvZg0KPj4geHsyfUFQSUMgaGFyZHdhcmUgYXNzaXN0ZWQg
dml0dWFsaXphdGlvbiwgYXMgd2VsbCBhcyBhIGdsb2JhbA0KPj4gY29uZmlndXJhdGlvbiBvcHRp
b24uDQo+Pg0KPj4gSGF2aW5nIGFsbCBBUElDIGludGVyYWN0aW9uIGV4aXQgdG8gWGVuIGZvciBl
bXVsYXRpb24gaXMgc2xvdyBhbmQgY2FuDQo+PiBpbmR1Y2UgbXVjaCBvdmVyaGVhZC4gSGFyZHdh
cmUgY2FuIHNwZWVkIHVwIHh7Mn1BUElDIGJ5IHJ1bm5pbmcgQVBJQw0KPj4gcmVhZC93cml0ZSBh
Y2Nlc3NlcyB3aXRob3V0IHRha2luZyBhIFZNIGV4aXQuDQo+IA0KPiBUaGlzIGlzIG9kZCB0byBy
ZWFkIGZvciBhIHBhdGNoIHdoaWNoIG1ha2VzIGl0IHBvc3NpYmxlIHRvIF90dXJuIG9mZl8NCj4g
YWNjZWxlcmF0aW9uLiBJbnN0ZWFkIGl0IHdvdWxkIGJlIGludGVyZXN0aW5nIHRvIGtub3cgd2hh
dCBwcm9ibGVtcw0KPiB5b3UgaGF2ZSBlbmNvdW50ZXJlZCBtYWtpbmcgaXQgZGVzaXJhYmxlIHRv
IGhhdmUgYSB3YXkgdG8gdHVybiB0aGlzIG9mZi4NCk1ha2VzIHNlbnNlLg0KPiANCj4+IC0tLSBh
L3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jDQo+PiArKysgYi94ZW4vYXJjaC94ODYvaHZtL3Zt
eC92bXguYw0KPj4gQEAgLTMzNDIsMTYgKzMzNDIsMTkgQEAgc3RhdGljIHZvaWQgdm14X2luc3Rh
bGxfdmxhcGljX21hcHBpbmcoc3RydWN0IHZjcHUgKnYpDQo+PiAgIA0KPj4gICB2b2lkIHZteF92
bGFwaWNfbXNyX2NoYW5nZWQoc3RydWN0IHZjcHUgKnYpDQo+PiAgIHsNCj4+IC0gICAgaW50IHZp
cnR1YWxpemVfeDJhcGljX21vZGU7DQo+PiArICAgIGludCB2aXJ0dWFsaXplX3hhcGljX21vZGUs
IHZpcnR1YWxpemVfeDJhcGljX21vZGU7DQo+IA0KPiBQbGVhc2Ugc3dpdGNoIHRvIGJvb2wgYXMg
eW91IHRvdWNoIGFuZCBleHRlbmQgdGhpcy4NCj4gDQo+PiAgICAgICBzdHJ1Y3QgdmxhcGljICp2
bGFwaWMgPSB2Y3B1X3ZsYXBpYyh2KTsNCj4+ICAgICAgIHVuc2lnbmVkIGludCBtc3I7DQo+PiAg
IA0KPj4gKyAgICB2aXJ0dWFsaXplX3hhcGljX21vZGUgPSAoIGNwdV9oYXNfdm14X3ZpcnR1YWxp
emVfYXBpY19hY2Nlc3NlcyAmJg0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYt
PmRvbWFpbi0+YXJjaC5odm0uYXNzaXN0ZWRfeGFwaWMgKTsNCj4gDQo+IFBsZWFzZSBkb24ndCBj
bG9uZSB0aGUgYmFkIHVzZSBvZiBibGFua3MgaW1tZWRpYXRlbHkgaW5zaWRlIHBhcmVudGhlc2Vz
DQo+IGhlcmU7IGluc3RlYWQsIC4uLg0KPiANCj4+ICAgICAgIHZpcnR1YWxpemVfeDJhcGljX21v
ZGUgPSAoIChjcHVfaGFzX3ZteF9hcGljX3JlZ192aXJ0IHx8DQo+PiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY3B1X2hhc192bXhfdmlydHVhbF9pbnRyX2RlbGl2ZXJ5KSAmJg0K
Pj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcHVfaGFzX3ZteF92aXJ0dWFsaXpl
X3gyYXBpY19tb2RlICk7DQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNwdV9o
YXNfdm14X3ZpcnR1YWxpemVfeDJhcGljX21vZGUgJiYNCj4+ICsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdi0+ZG9tYWluLT5hcmNoLmh2bS5hc3Npc3RlZF94MmFwaWMgKTsNCj4gDQo+
IC4uLiBzaW5jZSB5b3UncmUgdG91Y2hpbmcgdGhpcyBhbnl3YXksIHBsZWFzZSBjb25zaWRlciBj
b3JyZWN0aW5nDQo+IHRoZSBzdHlsZSB2aW9sYXRpb24gaGVyZS4NCj4gDQo+IEhvd2V2ZXIgLSBk
byB5b3UgbmVlZCB0aGVzZSBleHByZXNzaW9ucyBhbnltb3JlPyBUaGUgcGVyLWRvbWFpbiBmaWVs
ZHMNCj4gY2FuIG9ubHkgYmUgc2V0IGlmIHRoZSByZXNwZWN0aXZlIENQVSBjYXBhYmlsaXRpZXMg
ZXhpdC4NCj4gDQo+PiAtLS0gYS94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vaHZtL2RvbWFpbi5o
DQo+PiArKysgYi94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vaHZtL2RvbWFpbi5oDQo+PiBAQCAt
MTE3LDYgKzExNywxMiBAQCBzdHJ1Y3QgaHZtX2RvbWFpbiB7DQo+PiAgIA0KPj4gICAgICAgYm9v
bCAgICAgICAgICAgICAgICAgICBpc19zM19zdXNwZW5kZWQ7DQo+PiAgIA0KPj4gKyAgICAvKiB4
QVBJQyBoYXJkd2FyZSBhc3Npc3RlZCBlbXVsYXRpb24uICovDQo+PiArICAgIGJvb2wgYXNzaXN0
ZWRfeGFwaWM7DQo+PiArDQo+PiArICAgIC8qIHgyQVBJQyBoYXJkd2FyZSBhc3Npc3RlZCBlbXVs
YXRpb24uICovDQo+PiArICAgIGJvb2wgYXNzaXN0ZWRfeDJhcGljOw0KPj4gKw0KPj4gICAgICAg
LyogaHlwZXJ2aXNvciBpbnRlcmNlcHRlZCBtc2l4IHRhYmxlICovDQo+PiAgICAgICBzdHJ1Y3Qg
bGlzdF9oZWFkICAgICAgIG1zaXh0YmxfbGlzdDsNCj4gDQo+IFBsZWFzZSBmb2xsb3cgaG93IGFk
amFjZW50IGNvZGUgcGFkcyB0eXBlcyAvIG5hbWVzIGhlcmUuDQo+IA0KPj4gLS0tIGEveGVuL2Fy
Y2gveDg2L3RyYXBzLmMNCj4+ICsrKyBiL3hlbi9hcmNoL3g4Ni90cmFwcy5jDQo+PiBAQCAtMTEx
NSw3ICsxMTE1LDggQEAgdm9pZCBjcHVpZF9oeXBlcnZpc29yX2xlYXZlcyhjb25zdCBzdHJ1Y3Qg
dmNwdSAqdiwgdWludDMyX3QgbGVhZiwNCj4+ICAgICAgICAgICBpZiAoICFpc19odm1fZG9tYWlu
KGQpIHx8IHN1YmxlYWYgIT0gMCApDQo+PiAgICAgICAgICAgICAgIGJyZWFrOw0KPj4gICANCj4+
IC0gICAgICAgIGlmICggY3B1X2hhc192bXhfYXBpY19yZWdfdmlydCApDQo+PiArICAgICAgICBp
ZiAoIGNwdV9oYXNfdm14X2FwaWNfcmVnX3ZpcnQgJiYNCj4+ICsgICAgICAgICAgICAgdi0+ZG9t
YWluLT5hcmNoLmh2bS5hc3Npc3RlZF94YXBpYyApDQo+PiAgICAgICAgICAgICAgIHJlcy0+YSB8
PSBYRU5fSFZNX0NQVUlEX0FQSUNfQUNDRVNTX1ZJUlQ7DQo+PiAgIA0KPj4gICAgICAgICAgIC8q
DQo+PiBAQCAtMTEyNiw3ICsxMTI3LDggQEAgdm9pZCBjcHVpZF9oeXBlcnZpc29yX2xlYXZlcyhj
b25zdCBzdHJ1Y3QgdmNwdSAqdiwgdWludDMyX3QgbGVhZiwNCj4+ICAgICAgICAgICAgKi8NCj4+
ICAgICAgICAgICBpZiAoIGNwdV9oYXNfdm14X3ZpcnR1YWxpemVfeDJhcGljX21vZGUgJiYNCj4+
ICAgICAgICAgICAgICAgIGNwdV9oYXNfdm14X2FwaWNfcmVnX3ZpcnQgJiYNCj4+IC0gICAgICAg
ICAgICAgY3B1X2hhc192bXhfdmlydHVhbF9pbnRyX2RlbGl2ZXJ5ICkNCj4+ICsgICAgICAgICAg
ICAgY3B1X2hhc192bXhfdmlydHVhbF9pbnRyX2RlbGl2ZXJ5ICYmDQo+PiArICAgICAgICAgICAg
IHYtPmRvbWFpbi0+YXJjaC5odm0uYXNzaXN0ZWRfeDJhcGljICkNCj4+ICAgICAgICAgICAgICAg
cmVzLT5hIHw9IFhFTl9IVk1fQ1BVSURfWDJBUElDX1ZJUlQ7DQo+IA0KPiBTYW1lIHJlbWFyayBh
cyBhYm92ZSAtIGNhbid0IHlvdSBub3cgdXNlIF9qdXN0XyB0aGUgcGVyLWRvbWFpbiBmaWVsZD8N
Cj4gSW4gdGhpcyBsYXR0ZXIgb2YgdGhlIHR3byBjYXNlcyB0aGlzIHdvdWxkIHRoZW4gYWxzbyBt
ZWFuIGJyaW5naW5nDQo+IHRoZSBDUFUgZmVhdHVyZSBjaGVja3MgaW4gbGluZSB3aXRoIHdoYXQg
dm14X3ZsYXBpY19tc3JfY2hhbmdlZCgpDQo+IGRvZXMgKGFzIGFsc28gcG9pbnRlZCBvdXQgZm9y
IHBhdGNoIDEpLiBBbGJlaXQgaXQgbWlnaHQgYmUgYmVzdCB0bw0KPiBoYXZlIGEgcHJlcmVxIHBh
dGNoIGZpeGluZyB0aGUgaXNzdWUsIHdoaWNoIGNvdWxkIHRoZW4gYmUgYmFja3BvcnRlZC4NCklu
ZGVlZCwgdGhhdCB3b3VsZCBiZSBiZXR0ZXIuDQpIZXJlIEkgdGhpbmsgdGhlIGNob2ljZSBoYXMg
YmVlbiB0byBvbmx5IGFubm91bmNlIGhhcndkYXJlIGFzc2lzdGVkIA0KeDJhcGljIHN1cHBvcnQg
aW4gQ1BVSUQgaWYgYm90aCByZWFkIGFuZCB3cml0ZSBhY2Nlc3NlcyBhcmUgdmlydHVhbGl6ZWQu
IA0KSSBjb3VsZCBlaXRoZXIga2VlcCB0aGUgeDJhcGljX2F2YWlsYWJsZSBjaGVjayBpbiBQYXRj
aCAxIGFzIGlzIGFuZCB1c2UgDQp0aGUgcGVyLWRvbWFpbiBmaWVsZCBoZXJlLCBhbmQga2VlcCB2
bXhfdmxhcGljX21zcl9jaGFuZ2VkIGFzIGlzIG9yIHZ2Lg0KPiANCj4gSmFuDQo+IA0KPiANClRo
YW5rIHlvdSwNCg0KSmFuZS4=


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 16:05:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 16:05:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263192.455815 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEZB4-0001aW-M9; Mon, 31 Jan 2022 16:05:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263192.455815; Mon, 31 Jan 2022 16: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 1nEZB4-0001aL-Ic; Mon, 31 Jan 2022 16:05:14 +0000
Received: by outflank-mailman (input) for mailman id 263192;
 Mon, 31 Jan 2022 16:05:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BlUa=SP=citrix.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1nEZB2-0001aF-UA
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 16:05:12 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9088b258-82af-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 17:05:11 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9088b258-82af-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643645111;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=T6aOBZn/yAV3KaOeiqoJjanpT8iqbXRJneiyTm/UPmU=;
  b=VvhD9LhSukvjW4An7VnFsUy7QsxOkVij4FlO0dFzvH7Nw8QWRNNWVnTY
   xRDsrRMLqsxOEFQFGEiFSQ8bdWIlCgQt3Qg6vqJKO0oQ0Nyaud9gYXZ9s
   qFDfg+Q5f7J+aWE7kfYf+ZRuUOy0HoHYJba5TuoxFCLwh57UR/wrsurdU
   E=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: KAtJgznxhHI1xwJknvpk8Gxywm94N2InYg5DeMSmrEZVGWJZGHlP8UTt62QaovrupaIc1gxf2O
 tpSv4bOm0pKbwaEjQp+DbxmZhhcjRH+QVfD2mdXn5ZvO+bmfNTgijbnvJz89ejLSQ4HO7c++ik
 Jt2k+HkC0/2xSoyjwx1tZ8+62et/G1EhnN7nG0zbff+wgU3lAYQObgRHAiLnuMlJH1o24B72am
 c8quzHopv+KMfOwzPIu3pdUBwl7rH0YyM+7eRzKcReRvdUMFVmMmJ03IVCkNIZiSKp6K0F/XAs
 BcslTURd6iMF5LSxa7YcaKrh
X-SBRS: 5.2
X-MesageID: 63144971
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:1Gkg9q4sFNj0WvjFxcWergxRtIrAchMFZxGqfqrLsTDasY5as4F+v
 mJJX2vUbv+LYWLxctEnPdm39hlXsZeBydRhSlNrpS9hHi5G8cbLO4+Ufxz6V8+wwmwvb67FA
 +E2MISowBUcFyeEzvuV3zyIQUBUjclkfJKlYAL/En03FV8MpBsJ00o5wbZg2dcw27BVPivW0
 T/Mi5yHULOa82Yc3lI8s8pvfzs24ZweEBtB1rAPTagjUG32zhH5P7pGTU2FFFPqQ5E8IwKPb
 72rIIdVXI/u10xF5tuNyt4Xe6CRK1LYFVDmZnF+A8BOjvXez8CbP2lS2Pc0MC9qZzu1c99Zz
 +gXqLbhSAsSGpbXk8AgTBxKA3FzFPgTkFPHCSDXXc27ykTHdz3nwul0DVFwNoodkgp1KTgQr
 7pCcmlLN03dwbLtqF64YrAEasALJc/3PIQZqzd4wCvQF/oOSpHfWaTao9Rf2V/cg+gQRq+CO
 5tGMFKDajyQWzBLY1dOLqgajdWMvGDydwxluHGs8P9fD2/7k1UqjemF3MDuUseRWcxfk0Kcp
 2TH12f0GBcXMJqY0zXt2nCxgu7CmwvrVYRUE6e3ntZUh1mUyn0WGQchf1KxqvmkiWazQ9tab
 UcT/0IGoaEs+WSxQ9L6Xhn+p2SL1jYDX/JAHut87xuCooLE7gDcCmUaQzppbN09qNRwVTEsz
 kWOnd7iGXpoqrL9YXCX+6qQrDiyETMINmJEbigBJSMH7MPku5oblQ/UQ5BoF6vdszHuMWium
 XbQ9nF43uhNy55Qv0mmwbzZqzWR/IXjHw853SHsRWmB0xx8dp71aqX9vDA38s18BIqeS1CAu
 l0NlM6f8P0CAPmxqcCdfAkeNOr3vqjYaVUwlXYqRsB8rGr1pxZPaKgNuGkWGat/DioTldYFi
 mf3sBgZ2pJcNWDCgURfM9PoUJRCIUQN+L3YuhHogjhmP8IZmOyvpngGiausM4bFyhJEfUYXY
 s/zTCpUJSxGYZmLNRLvLwvn7Zclxzol2UTYTo3hwhKs3NK2PSDJEupVbwPeMLFlvctoRTk5F
 f4FbaNmLD0ECIXDjtT/q9ZPfTjm01BmbXwJlyCnXrHaeVc3cI3QI/TQ3akga+RYc1d9zY/1E
 oWGchYAkjLX3CSfQS3TMywLQO6xAf5X8CxqVQRxbQfA8yVyOu6HsfZAH6bbiJF6roSPO9YuE
 alcEyhBa9wSIgn6F8M1NMel9NI6KEX01Gpj/UONOVACQnKpfCSRkveMQ+cl3HNm4vOfuZRsr
 ru++BncRJZfFQ1uANyPMKCkzk+rvGhbk+V3BhOaLt5WcUTq0Y5rNy2u0aNnf5BScU3OlmmAy
 gKbIRYEvu2R8YU7x8bE2PKfpICzHuogQkcDRzvH7ay7PDXx93a4xdMSS/6BeD3QDTum+Kira
 ehP4ev7NfkLwARDv4ZmSu45xqMi/dr/4bRdy108TnnMal2qDJJmI2WHgpYT5vEcmOcBtFLvC
 EyV+9RcNbGYA+/fEQYcdFg/c+CO9fAIgT2Ov/47F1r3uX1s972dXEQMYxTV0H5BLKF4OZ8Oy
 Ps6vJJE8BS2jxcnP4rUji1Q8GjQfHUMX79+68MfCY7vzAEq1ktDcdrXDSqvuMODbNBFM08LJ
 D6IhfWd2+QAlxSaK3djR2LQ2ed9hIgVvEEYxVAPEF2Fh97Zi6JlxxZW6zk2ElxYwxgvPzif4
 YS325mZ/Zmzwgo=
IronPort-HdrOrdr: A9a23:CXMi96MxVD5H0MBcTtijsMiBIKoaSvp037BN7SBMoH1uE/Bw+P
 rEoB1273XJYVUqNk3I++rtBEDoexq1yXcc2/hzAV7IZmbbUQWTQb1f0Q==
X-IronPort-AV: E=Sophos;i="5.88,331,1635220800"; 
   d="scan'208";a="63144971"
Date: Mon, 31 Jan 2022 16:05:00 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jane Malalane <jane.malalane@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, "Juergen
 Gross" <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, "George
 Dunlap" <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, "Julien
 Grall" <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
	Christian Lindig <christian.lindig@citrix.com>, David Scott
	<dave@recoil.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Roger Pau
 =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Subject: Re: [PATCH 2/2] x86/xen: Allow per-domain usage of hardware
 virtualized APIC
Message-ID: <YfgIrNqGzq7s3Cz0@perard>
References: <20220127160133.11608-1-jane.malalane@citrix.com>
 <20220127160133.11608-3-jane.malalane@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20220127160133.11608-3-jane.malalane@citrix.com>

On Thu, Jan 27, 2022 at 04:01:33PM +0000, Jane Malalane wrote:
> diff --git a/docs/man/xl.conf.5.pod.in b/docs/man/xl.conf.5.pod.in
> index df20c08137..2d0a59d019 100644
> --- a/docs/man/xl.conf.5.pod.in
> +++ b/docs/man/xl.conf.5.pod.in
> @@ -107,6 +107,18 @@ Sets the default value for the C<max_grant_version> domain config value.
>  
>  Default: maximum grant version supported by the hypervisor.
>  
> +=item B<assisted_xapic=BOOLEAN>
> +
> +If enabled, domains will use xAPIC hardware assisted emulation by default.
> +
> +Default: enabled.
> +
> +=item B<assisted_x2apic=BOOLEAN>
> +
> +If enabled, domains will use x2APIC hardware assisted emulation by default.
> +
> +Default: enabled.
> +
>  =item B<vif.default.script="PATH">
>  
>  Configures the default hotplug script used by virtual network devices.
> diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
> index 52f2545498..4d422bef96 100644
> --- a/tools/libs/light/libxl_arm.c
> +++ b/tools/libs/light/libxl_arm.c
> @@ -1384,8 +1384,9 @@ void libxl__arch_domain_create_info_setdefault(libxl__gc *gc,
>      }
>  }
>  
> -void libxl__arch_domain_build_info_setdefault(libxl__gc *gc,
> -                                              libxl_domain_build_info *b_info)
> +int libxl__arch_domain_build_info_setdefault(libxl__gc *gc,
> +                                             libxl_domain_build_info *b_info,
> +                                             const libxl_physinfo *physinfo)
>  {
>      /* ACPI is disabled by default */
>      libxl_defbool_setdefault(&b_info->acpi, false);

It seems there's a missing 'return 0' in this function now ;-).

> diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_create.c
> index d7a40d7550..2bae6fef62 100644
> --- a/tools/libs/light/libxl_create.c
> +++ b/tools/libs/light/libxl_create.c
> @@ -264,7 +264,6 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
>      if (!b_info->event_channels)
>          b_info->event_channels = 1023;
>  
> -    libxl__arch_domain_build_info_setdefault(gc, b_info);

I don't think moving this call later is a good idea. It looks like it's
going to break on ARM at least. Instead, calling libxl_get_physinfo()
earlier should be fine I think.

>      libxl_defbool_setdefault(&b_info->dm_restrict, false);
>  
>      if (b_info->iommu_memkb == LIBXL_MEMKB_DEFAULT)
> @@ -456,15 +455,21 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
>          libxl_defbool_setdefault(&b_info->nested_hvm,               false);
>      }
>  
> -    if (b_info->max_grant_version == LIBXL_MAX_GRANT_DEFAULT) {
> -        libxl_physinfo info;
> +    libxl_physinfo info;
>  
> -        rc = libxl_get_physinfo(CTX, &info);
> -        if (rc) {
> -            LOG(ERROR, "failed to get hypervisor info");
> -            return rc;
> -        }
> +    rc = libxl_get_physinfo(CTX, &info);
> +    if (rc) {
> +        LOG(ERROR, "failed to get hypervisor info");
> +        return rc;
> +    }
>  
> +    rc = libxl__arch_domain_build_info_setdefault(gc, b_info, &info);
> +    if (rc) {
> +        LOG(ERROR, "unable to set domain arch build info defaults");
> +        return rc;
> +    }
> +
> +    if (b_info->max_grant_version == LIBXL_MAX_GRANT_DEFAULT) {
>          if (info.cap_gnttab_v2)
>              b_info->max_grant_version = 2;
>          else if (info.cap_gnttab_v1)
> diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
> index 42ac6c357b..db5eb0a0b3 100644
> --- a/tools/libs/light/libxl_types.idl
> +++ b/tools/libs/light/libxl_types.idl
> @@ -648,6 +648,8 @@ libxl_domain_build_info = Struct("domain_build_info",[
>                                 ("vuart", libxl_vuart_type),
>                                ])),
>      ("arch_x86", Struct(None, [("msr_relaxed", libxl_defbool),
> +                               ("assisted_xapic", libxl_defbool),
> +                               ("assisted_x2apic", libxl_defbool),

Could you add some LIBXL_HAVE_* macro in libxl.h about those new fields
like you did in the previous patch?

>                                ])),
>      # Alternate p2m is not bound to any architecture or guest type, as it is
>      # supported by x86 HVM and ARM support is planned.
> diff --git a/tools/libs/light/libxl_x86.c b/tools/libs/light/libxl_x86.c
> index 33da51fe89..b257fca756 100644
> --- a/tools/libs/light/libxl_x86.c
> +++ b/tools/libs/light/libxl_x86.c
> @@ -819,11 +825,44 @@ void libxl__arch_domain_create_info_setdefault(libxl__gc *gc,
>  {
>  }
>  
> -void libxl__arch_domain_build_info_setdefault(libxl__gc *gc,
> -                                              libxl_domain_build_info *b_info)
> +int libxl__arch_domain_build_info_setdefault(libxl__gc *gc,
> +                                             libxl_domain_build_info *b_info,
> +                                             const libxl_physinfo *physinfo)
>  {
> +    int rc;
> +    bool assisted_xapic;
> +    bool assisted_x2apic;
> +
>      libxl_defbool_setdefault(&b_info->acpi, true);
>      libxl_defbool_setdefault(&b_info->arch_x86.msr_relaxed, false);
> +
> +    libxl_defbool_setdefault(&b_info->arch_x86.assisted_xapic, false);
> +    libxl_defbool_setdefault(&b_info->arch_x86.assisted_x2apic, false);
> +
> +    assisted_xapic = libxl_defbool_val(b_info->arch_x86.assisted_xapic);
> +    assisted_x2apic = libxl_defbool_val(b_info->arch_x86.assisted_x2apic);
> +
> +    if ((assisted_xapic || assisted_x2apic) &&
> +        b_info->type == LIBXL_DOMAIN_TYPE_PV)
> +    {
> +        LOG(ERROR, "Interrupt Controller Virtualization not supported for PV");
> +        rc = ERROR_INVAL;
> +        goto out;
> +    }
> +
> +    if ((assisted_xapic && !physinfo->cap_assisted_xapic) ||
> +         (assisted_x2apic && !physinfo->cap_assisted_x2apic))
> +    {
> +        LOG(ERROR, "x%sAPIC hardware supported emulation not available",
> +            assisted_xapic && !physinfo->cap_assisted_xapic ? "" : "2");
> +        rc =  ERROR_INVAL;
> +        goto out;
> +    }

Would it make sens to enable assisted_xapic and assisted_x2apic by
default based on hardware support? That way users of libxl could benefit
from the upgrade without having to enable it. Or maybe that could causes
issues, like maybe on migration?

> +
> +    rc = 0;
> +out:
> +    return rc;
> +
>  }
>  
>  int libxl__arch_passthrough_mode_setdefault(libxl__gc *gc,
> diff --git a/tools/xl/xl.c b/tools/xl/xl.c
> index 2d1ec18ea3..b97e491c9c 100644
> --- a/tools/xl/xl.c
> +++ b/tools/xl/xl.c
> @@ -57,6 +57,8 @@ int max_grant_frames = -1;
>  int max_maptrack_frames = -1;
>  int max_grant_version = LIBXL_MAX_GRANT_DEFAULT;
>  libxl_domid domid_policy = INVALID_DOMID;
> +int assisted_xapic = 0;
> +int assisted_x2apic = 0;

This seems to contradict the manual which says "Default: enabled".



I think you need one more change in ocaml bindings, its ABI checker
fails. I found the following change to work, hopefully that the right
thing to do:

diff --git a/tools/ocaml/libs/xc/xenctrl_stubs.c b/tools/ocaml/libs/xc/xenctrl_stubs.c
index 5b4fe72c8d..0aa957d379 100644
--- a/tools/ocaml/libs/xc/xenctrl_stubs.c
+++ b/tools/ocaml/libs/xc/xenctrl_stubs.c
@@ -239,7 +239,7 @@ CAMLprim value stub_xc_domain_create(value xch, value wanted_domid, value config

                cfg.arch.misc_flags = ocaml_list_to_c_bitmap
                        /* ! x86_arch_misc_flags X86_ none */
-                       /* ! XEN_X86_ XEN_X86_MSR_RELAXED all */
+                       /* ! XEN_X86_ XEN_X86_ASSISTED_X2APIC max */
                        (VAL_MISC_FLAGS);

 #undef VAL_MISC_FLAGS

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 16:06:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 16:06:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263200.455826 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEZCY-0002Fh-4R; Mon, 31 Jan 2022 16:06:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263200.455826; Mon, 31 Jan 2022 16:06:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEZCY-0002Fa-1D; Mon, 31 Jan 2022 16:06:46 +0000
Received: by outflank-mailman (input) for mailman id 263200;
 Mon, 31 Jan 2022 16:06:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8WLv=SP=infradead.org=rdunlap@srs-se1.protection.inumbo.net>)
 id 1nEZCS-0002Ek-UT
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 16:06:44 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c47e5b6d-82af-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 17:06:38 +0100 (CET)
Received: from [2601:1c0:6280:3f0::aa0b]
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1nEZCC-00A6L2-Dq; Mon, 31 Jan 2022 16: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: c47e5b6d-82af-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:Content-Type:
	In-Reply-To:From:References:Cc:To:Subject:MIME-Version:Date:Message-ID:Sender
	:Reply-To:Content-ID:Content-Description;
	bh=5P/8qAQi0CkcpUb0wYDcIYhP6fIRrOOA+xId1zNjvmg=; b=HKcZmO8XPHEAteCGlTz/PE2BSm
	1/R/72edtJWLgqJNnzaoKaHnIBJWmayqBw27CCyyrQrByK7WUkJSa30oZ7Leu1c0NDwXCDmfbQdUE
	whaNX/ee4ThAKANUaWaFVZVRM1rb42orpE6s2/DYthvgofAkePGK0e6O9HUeQGkenXK59ySgYNycs
	3yg6sVt/ESPYCOtXVh5MktBbiVSzzQWF9eDaWKZvUXsIMG69PAK9N1cMd9A8qO8O1CV41blO/Vpsk
	bPT8aCLXOT9L0ksCW8mFnFZVb1eZyWpQ4Rg9z0FTw420puNvp8mTRih38g3ECuyPPwVrQvyaKSzTt
	/35KlZJg==;
Message-ID: <19727394-7d76-d07c-c564-91952a4257da@infradead.org>
Date: Mon, 31 Jan 2022 08:06:20 -0800
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH] xen: xenbus_dev.h: delete incorrect file name
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, patches@lists.linux.dev
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20220130191705.24971-1-rdunlap@infradead.org>
 <3359061b-656e-24f0-7b81-0905943afc78@suse.com>
From: Randy Dunlap <rdunlap@infradead.org>
In-Reply-To: <3359061b-656e-24f0-7b81-0905943afc78@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit



On 1/30/22 22:46, Juergen Gross wrote:
> On 30.01.22 20:17, Randy Dunlap wrote:
>> It is better/preferred not to include file names in source files
>> because (a) they are not needed and (b) they can be incorrect,
>> so just delete this incorrect file name.
>>
>> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
>> Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
>> Cc: Juergen Gross <jgross@suse.com>
>> Cc: Stefano Stabellini <sstabellini@kernel.org>
>> Cc: xen-devel@lists.xenproject.org
>> ---
>>   include/xen/xenbus_dev.h |    1 -
>>   1 file changed, 1 deletion(-)
>>
>> --- linux-next-20220128.orig/include/xen/xenbus_dev.h
>> +++ linux-next-20220128/include/xen/xenbus_dev.h
>> @@ -1,5 +1,4 @@
>>   /******************************************************************************
>> - * evtchn.h
> 
> I think the following line should be deleted, too (can be done while
> committing).
> 

Sounds good. Thanks.

>>    *
>>    * Interface to /dev/xen/xenbus_backend.
>>    *
>>
> 
> Reviewed-by: Juergen Gross <jgross@suse.com>
> 
> 
> Juergen

-- 
~Randy


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 16:13:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 16:13:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263207.455837 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEZJ3-0003ii-Rs; Mon, 31 Jan 2022 16:13:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263207.455837; Mon, 31 Jan 2022 16:13:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEZJ3-0003ib-OM; Mon, 31 Jan 2022 16:13:29 +0000
Received: by outflank-mailman (input) for mailman id 263207;
 Mon, 31 Jan 2022 16:13:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Fky=SP=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1nEZJ2-0003iV-AV
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 16:13:28 +0000
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b89d4c1c-82b0-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 17:13:26 +0100 (CET)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2059.outbound.protection.outlook.com [104.47.13.59]) by
 relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 de-mta-16-ubqPFKwgOEqhvV-G7mZ5jg-1; Mon, 31 Jan 2022 17:13:24 +0100
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by AM6PR04MB4952.eurprd04.prod.outlook.com (2603:10a6:20b:7::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.21; Mon, 31 Jan
 2022 16:13:23 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::7cc2:78a3:4d40:9d45%6]) with mapi id 15.20.4930.021; Mon, 31 Jan 2022
 16:13:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b89d4c1c-82b0-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619;
	t=1643645606;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=M7agNBwAW35NCMmLxaJCuGiltg/y7cl+y+ySz9srLAY=;
	b=EC9egzWw8hV46z2f1LFdg/0gIK8cQTPQ2pOnWhi4DKVTkPym+IPJz2b1188vu1zvuQ60WG
	y0q0Y00k1q7ttHL+zISmQz84Y5ofEMzQAd0yYdpMXMMZeqLkeGGasM8/Rle2zvcCg89Jgb
	MqJ6J6vyznYLN3YmcwNLCcUGlvj2UbU=
X-MC-Unique: ubqPFKwgOEqhvV-G7mZ5jg-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cuW55Q7ezPPGkhb5YEbl4USLrszxSOO6/ox2LRXo4/gpMYmYZXz1tAhi8hKizdZUaBLTF/LghWta6di69AJBLphi0onBRYkG2J7pYasTlOazL2uaP+Zya3Q1XcYCAyTPtMrPov0IofzdT408/BDpruJH11GeitUhCH9AZFYmPW75oj8Xai7CEFO4EXmVH6rIIcLW+l9oSEZpa9wYS2/UQ1LCOSCy0iF0f91tK4yH2bYUgewn6a7W1ih6RiqwSgOe6ZtF3zJQiuIacTJDv2gELnh9oVLkVJkDJBDCSDP5+HISnNIYeS/opLzazqwEDElY3beRclWeZvGcQfhIp8p+eg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=M7agNBwAW35NCMmLxaJCuGiltg/y7cl+y+ySz9srLAY=;
 b=lp717sMPWS5qK+eHh3gBEaUlC1qJtvyJxYZkT6AflxqRX5zkrLCdYg1ORBdswbM4f2vKe1oOz5OfFPXXV+xS/7M2lKdw7wb5D7Ah9cSZqxQTWu75lpQcYhbm2EkUsaimdmEq3PxzkqjWxPIfBstn37yIENKpEoXjPIx7EhkLaIzbkbOoVnsbD0lKBizBQkByZ0krhq1sT+/oSbfjhzV90ZmbT702LwG0N7zvxcb9jeoHtCKqqs1zACTnEU2JB/oVYyrdRpRzos6rRFWRa6d0RYk24P5E32oqBawcmbMoFpKEvhi3cp+mq/9VvmmSkg3k4XFRh8nE4ikLK8pEfumEBg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b0d824fa-67ae-1d42-2f5b-9e900d861936@suse.com>
Date: Mon, 31 Jan 2022 17:13:20 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH 2/2] x86/xen: Allow per-domain usage of hardware
 virtualized APIC
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>,
 Jane Malalane <jane.malalane@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>,
 Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Christian Lindig <christian.lindig@citrix.com>, David Scott
 <dave@recoil.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <20220127160133.11608-1-jane.malalane@citrix.com>
 <20220127160133.11608-3-jane.malalane@citrix.com> <YfgIrNqGzq7s3Cz0@perard>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <YfgIrNqGzq7s3Cz0@perard>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR0701CA0017.eurprd07.prod.outlook.com
 (2603:10a6:203:51::27) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f78419c4-bcfc-484f-a1ba-08d9e4d49a7f
X-MS-TrafficTypeDiagnostic: AM6PR04MB4952:EE_
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-Microsoft-Antispam-PRVS:
	<AM6PR04MB49520EA18B073814691B8A73B3259@AM6PR04MB4952.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:
	c36DdpERYc6wVegD2M4fZR8hG3mZ5LokxOqFY9FMLw6ve/CS6MC51aPPToT7RA+SDMHrvmuRoQaQqlPoG7Q1Y8iEHenxe/HFfNLmkgpAuwneyZdJlw9XICxz6EiDJl6O9RP9lBjPzLvRz/MYPbX8RKKOPZaTOilmxi1L09TC9kitvD9aoZTmMVJnAvdLkGBJHVN77CsuP6Xjey083iSbBksQFN75hW492dGafBONz5zPFteGpQyajjGQRZxKN05Zw3I+qqsd/t1LdiyydswrBeAafvquxfi8K24wIoKFIcyCKnz+GCVv8qToXDZyXI8Shs5FYb5wuapX0L53WNHCDxOEheo9YZqQf3zj+WvQHM/QYIu/cBoDORnlEGuSeORJtQf2W0x75JxwRmVi7Gz/mTvpl+8HRtbYuqTu5IOiH9hIyt+LCk66LMeBWSn0TRKrXFf0KJGUdVAQX4hYYHzfdIMAaVDz+QOSuLkl0pYnQORHI1mWnTeeCq3Mtz1WbGkrbIYE/f87ViFj9xyLvrnRLqFru8pK0vx4TJhZ8VldFzOgyueYng8wJh8+noEYrXJVJUJvy5caxRPLnTKjXgHTNMuenLUmN1j7XLobFue3AHn9iNgd+5qSiENpP33lT/gTIzK6JTpzrERvD9ul21gE2WjnTeBnUbW8YbfdoKw4NAG6u5DQDD/XDoqXOb9ZTg425nTgRuiaQCmbK2rAZbfUlQ0D3izFfaHY9rwW9gBAZoQWB4HCj2jYkSK3WoNDQWCt
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:(13230001)(366004)(7416002)(5660300002)(6512007)(36756003)(26005)(54906003)(6486002)(508600001)(31696002)(110136005)(31686004)(186003)(86362001)(53546011)(4326008)(38100700002)(2616005)(8936002)(8676002)(316002)(66476007)(83380400001)(6506007)(66946007)(66556008)(2906002)(45980500001)(43740500002)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cE5CWlNKY052bTB5dmpPY21wckNzOWMwTENaRjdhbHhZOTljNFl6dEg0bERX?=
 =?utf-8?B?TUpTdGNHQUgvaWl0UVpIenZUckorTU1sSXpYVUhEdTVJNWtpd2I1bG9YdXVy?=
 =?utf-8?B?NHlVbFMxR3VOS3RIeFZhUW5qVlJlWXlidFh3Vmowa0dIZzZpSkpQL1ZyelFp?=
 =?utf-8?B?VkJ2UHpob3pNdG5HQ3JXT2t5S2Ryb1I4MHA0NkpSUDAvdWVROGR1dUVvZWVS?=
 =?utf-8?B?Ymt4MDdLVEY0L3FjNXYzbllUb1A4Z0cyOUtaM1Npdzk4Wk53NHYrWTBHSnQ0?=
 =?utf-8?B?UUUyZURGZ01mYml2L1ErYUdrWElJeXBpMzRUdjdRTDFpR2loZVpMTFdUREt3?=
 =?utf-8?B?dTJVTDhTcHYydzRBNTVyMTE2eGtqZTdTS2ExbnZleksvdFFkZG9MZ3JWNWF5?=
 =?utf-8?B?dXpoNHRMM3UxcjlGaW8zTWVHMVVUZER0TURhYTFqRURncVZjQWUvVVA2cUNm?=
 =?utf-8?B?emt5TTB0bEZWeVhXekIzcUE5TkxYcTR2VE9yR1I5NmJKZE5IOFZVUjNsQkNi?=
 =?utf-8?B?NW5DK0ZQeC8yeVZEeXhqdld4WFpiZVdZU1lodnh0eTAvUG55UVZ3eFpaRDhv?=
 =?utf-8?B?UjRpc0JnQ0RqUnZEZlk4TzhNQVZXbVFhTFFnVnZJK3dHR0tnd25WOW5ueEJU?=
 =?utf-8?B?QlFSQ1E1TEdvWGFCcXpDUXFMN0tUZlRoR0Y5SVJPbnpQQUJHemZZaTM4V0to?=
 =?utf-8?B?ck1ZaUV0MnZrUXVoTTRoaWRQbzJab0t4VWYzNXFVY1NNZXhRaTBPc21PSEN4?=
 =?utf-8?B?T0RJTU5BSVovNDQ2eEw3UkthTHZ4TUFZV29HNTZGUXZhcTNxZHN4R0t3eVVQ?=
 =?utf-8?B?Rm15ci9vR3JKYWxyV25XZGZlUnU4d0M5Uk5sdFpKTkhkV2wxWnZqbmRZRFBy?=
 =?utf-8?B?MFIyZXNqcE05a2FRRUxNckV6dHBTaTNXbHFaeGxnZlNJc09SaGpoM3J2MkdL?=
 =?utf-8?B?UE8yKzNSenFvUSt1K2VYVk9XNG5yNVBuZ1dxMWtNSDk0TmZpRUZjMVVFN04z?=
 =?utf-8?B?cWRHbmpKeCtBNzFNUUtqeGdFc1EwdDJoamh1enV0QmsyZGRna1Fua3VUcmo5?=
 =?utf-8?B?YmYwaDdIOEdzVHFKSHdZSXBZWVhDeks2SXF0TGhtM1NpRWlkSUtsaFBnT1Rt?=
 =?utf-8?B?dXJGK1NtUDd6amFYOVQ4aWJ5MmM1NngrK2tZNU1kbzlvVUMwdVF3YUdSRzl4?=
 =?utf-8?B?bXk1UFdFaC9TdytUUDFXSU91RUlhUk5iVnUyUzJxUjdXKzJBcEM2R1RrL3U5?=
 =?utf-8?B?cmx1RngxQlZsVzJmL3FZbE5zMTkxMDVCSUFLSmQ2Yi96L1RXNmVMR2NvS01k?=
 =?utf-8?B?cGwrdm5ybVZ4Mk5MMnFwdWxoM2VHK0dBdjh1bTU4R1gvN3E5cS93aTJKa0Yw?=
 =?utf-8?B?eElJcXBGb0RWM282OEsyYVpYQ1NTaFdsektqS1o2RzFxYTFMdkR5UENhN1Ra?=
 =?utf-8?B?N1N0NGoyNzlTa1lFWE9BbUxTL1MzU0J4Tnl5eTNwRzkvNFFYMFNDSkhVeHcw?=
 =?utf-8?B?NVA0TUVaL0tiRG9RWmluN3hGendQMmsxUXA0TENvcnhWOFd3UmJuUkFieGNr?=
 =?utf-8?B?VDU4UVpaM1BLRVUzb3Z0RllUVTRGZndOdnlNMklCWS9JVjNhOWdzMGNOaUkz?=
 =?utf-8?B?UWwwdWFJZWJ2ZTBRMDNCQ3Iyb3FyZHhUV20vbVRHNzVrV2szRGxDL1hUMHRp?=
 =?utf-8?B?WVBEelhNU0lmQ0t0RVZpc3Btcmx2NXBZVGQ4ZFBRT1VReS9iTUF4QzZCU0wz?=
 =?utf-8?B?bWRDZ1puaDZxOFdMVlJucVpWc2hEVmxTbW5Mb1kzRXQrbE9xNWNtSEJPaXp4?=
 =?utf-8?B?TERlM3dxOUVsL2FGM3VqRnI1SXFzbHM0NTV3TlJobTRXMGk2cDRwVUNvdjVo?=
 =?utf-8?B?VnFZM2RRenMvbGtPK2lxb3pUbHJhL1g4L25hQmhlZjJZUjBTZ0Q4ZkpGdEl5?=
 =?utf-8?B?YmFhS0ZUU3RmOHJaaExNYVhUWi9CWGpEUnlobTlQR0wwZ0NXYkV4d25TaUsv?=
 =?utf-8?B?TlZ1eWJxTnBNa1EwZVFDSFl3dGlGY2QvQjFLOXF6S3ROSlA1N0R4TExZd3h6?=
 =?utf-8?B?VFExRHdIcnl1V1NMUm8rU2JvMFZDelFNb1lZc1lSZmJ6K3JVd0lXWVl5cmlW?=
 =?utf-8?B?ZFdyRzltK2RKTDNuc2hYbkJVeWxuUjFWbkJiYnZ1ZlFBdi8vOHg4RExzMVYz?=
 =?utf-8?Q?Y6LUvayFhFwXl6cGW+JHEpc=3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f78419c4-bcfc-484f-a1ba-08d9e4d49a7f
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 16:13:22.7922
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xSOXp9AFAOm+RuMpVTEyNWXWbfsPm5ZMSQH2sZK3WAMY+HuItyAvTgWzdl1w3dqOqE8Q4ttoFQxxuM/cbDjOAA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB4952

On 31.01.2022 17:05, Anthony PERARD wrote:
> On Thu, Jan 27, 2022 at 04:01:33PM +0000, Jane Malalane wrote:
>> --- a/tools/libs/light/libxl_x86.c
>> +++ b/tools/libs/light/libxl_x86.c
>> @@ -819,11 +825,44 @@ void libxl__arch_domain_create_info_setdefault(libxl__gc *gc,
>>  {
>>  }
>>  
>> -void libxl__arch_domain_build_info_setdefault(libxl__gc *gc,
>> -                                              libxl_domain_build_info *b_info)
>> +int libxl__arch_domain_build_info_setdefault(libxl__gc *gc,
>> +                                             libxl_domain_build_info *b_info,
>> +                                             const libxl_physinfo *physinfo)
>>  {
>> +    int rc;
>> +    bool assisted_xapic;
>> +    bool assisted_x2apic;
>> +
>>      libxl_defbool_setdefault(&b_info->acpi, true);
>>      libxl_defbool_setdefault(&b_info->arch_x86.msr_relaxed, false);
>> +
>> +    libxl_defbool_setdefault(&b_info->arch_x86.assisted_xapic, false);
>> +    libxl_defbool_setdefault(&b_info->arch_x86.assisted_x2apic, false);
>> +
>> +    assisted_xapic = libxl_defbool_val(b_info->arch_x86.assisted_xapic);
>> +    assisted_x2apic = libxl_defbool_val(b_info->arch_x86.assisted_x2apic);
>> +
>> +    if ((assisted_xapic || assisted_x2apic) &&
>> +        b_info->type == LIBXL_DOMAIN_TYPE_PV)
>> +    {
>> +        LOG(ERROR, "Interrupt Controller Virtualization not supported for PV");
>> +        rc = ERROR_INVAL;
>> +        goto out;
>> +    }
>> +
>> +    if ((assisted_xapic && !physinfo->cap_assisted_xapic) ||
>> +         (assisted_x2apic && !physinfo->cap_assisted_x2apic))
>> +    {
>> +        LOG(ERROR, "x%sAPIC hardware supported emulation not available",
>> +            assisted_xapic && !physinfo->cap_assisted_xapic ? "" : "2");
>> +        rc =  ERROR_INVAL;
>> +        goto out;
>> +    }
> 
> Would it make sens to enable assisted_xapic and assisted_x2apic by
> default based on hardware support? That way users of libxl could benefit
> from the upgrade without having to enable it.

I think that's the only sensible way - disabling by default would result
in perceived performance regressions, I suppose.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Jan 31 16:16:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 16:16:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263214.455848 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEZLk-0004KC-9I; Mon, 31 Jan 2022 16:16:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263214.455848; Mon, 31 Jan 2022 16:16:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEZLk-0004K5-6C; Mon, 31 Jan 2022 16:16:16 +0000
Received: by outflank-mailman (input) for mailman id 263214;
 Mon, 31 Jan 2022 16:16:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8WLv=SP=infradead.org=rdunlap@srs-se1.protection.inumbo.net>)
 id 1nEZLj-0004Jz-5J
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 16:16:15 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1a2b4b7c-82b1-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 17:16:11 +0100 (CET)
Received: from [2601:1c0:6280:3f0::aa0b]
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1nEZLW-00A7NO-F9; Mon, 31 Jan 2022 16:16: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: 1a2b4b7c-82b1-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:Content-Type:
	In-Reply-To:From:References:Cc:To:Subject:MIME-Version:Date:Message-ID:Sender
	:Reply-To:Content-ID:Content-Description;
	bh=CFfhv6Epx2fHLPGBIbtj8/r6wcnT3ZZL4M31RTkI8Lk=; b=Sy6LHdGv3PDxuAaYqBp7DfX2hk
	MqaxGK1LD3LHHY9Y21GFD/MAf2X2S3t7EWhILe0oqLusoQV3He65YE4z4Ywky5QfkVwfIJ3TFR8A8
	CwXIiXPQF95e5eCdyZyJnyXg2NUB7YE7WqvxtB0p2lriVIvrY5WP6Zs3jrG3oj6LnhR1bzTNaEUOV
	9J3tI756r56iltbx3djfdg9sdQ5ZikG3VjPmZ0L2Ov3vM1NIguLctMJSeg1j2mWVnBEq8yauVji4o
	IjZSm4LJ35sQn1Z+q4IPoCjUOlbX3uA7Jmgirohqhe3omEixnUwJrAgzo724NTeChQoAmKFJY2oWz
	jPcGqeLQ==;
Message-ID: <5c12cf94-fb4d-28b4-dfeb-9e7878420980@infradead.org>
Date: Mon, 31 Jan 2022 08:15:59 -0800
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Subject: Re: [PATCH] xen: update missing ioctl magic numers documentation
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, patches@lists.linux.dev
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20220130192305.14523-1-rdunlap@infradead.org>
 <3d62ec12-2324-7e73-3056-c5bc99b957a1@suse.com>
From: Randy Dunlap <rdunlap@infradead.org>
In-Reply-To: <3d62ec12-2324-7e73-3056-c5bc99b957a1@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hi--

On 1/30/22 22:55, Juergen Gross wrote:
> On 30.01.22 20:23, Randy Dunlap wrote:
>> Add missing ioctl "magic numbers" for various Xen interfaces
>> (xenbus_dev.h, gntalloc.h, gntdev.h, and privcmd.h).
>>
>> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
>> Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
>> Cc: Juergen Gross <jgross@suse.com>
>> Cc: Stefano Stabellini <sstabellini@kernel.org>
>> Cc: xen-devel@lists.xenproject.org
>> ---
>>   Documentation/userspace-api/ioctl/ioctl-number.rst |    3 +++
>>   1 file changed, 3 insertions(+)
>>
>> --- linux-next-20220128.orig/Documentation/userspace-api/ioctl/ioctl-number.rst
>> +++ linux-next-20220128/Documentation/userspace-api/ioctl/ioctl-number.rst
>> @@ -115,6 +115,7 @@ Code  Seq#    Include File
>>   'B'   00-1F  linux/cciss_ioctl.h                                     conflict!
>>   'B'   00-0F  include/linux/pmu.h                                     conflict!
>>   'B'   C0-FF  advanced bbus                                           <mailto:maassen@uni-freiburg.de>
>> +'B'   00-0F  xen/xenbus_dev.h                                        conflict!
> 
> Hmm, shouldn't xenbus_dev.h be moved to include/uapi/xen ?

Probably. That should be done in a different patch and probably/preferably
done using git (which I am not using). So if someone else could take care
of that, that would be good.

> 
>>   'C'   all    linux/soundcard.h                                       conflict!
>>   'C'   01-2F  linux/capi.h                                            conflict!
>>   'C'   F0-FF  drivers/net/wan/cosa.h                                  conflict!
>> @@ -134,6 +135,7 @@ Code  Seq#    Include File
>>   'F'   80-8F  linux/arcfb.h                                           conflict!
>>   'F'   DD     video/sstfb.h                                           conflict!
>>   'G'   00-3F  drivers/misc/sgi-gru/grulib.h                           conflict!
>> +'E'   00-0F  xen/gntalloc.h, xen/gntdev.h                            conflict!
> 
> Should be 'G' IMO.

Indeed it should. I'll send a v2.

> 
>>   'H'   00-7F  linux/hiddev.h                                          conflict!
>>   'H'   00-0F  linux/hidraw.h                                          conflict!
>>   'H'   01     linux/mei.h                                             conflict!
>> @@ -176,6 +178,7 @@ Code  Seq#    Include File
>>   'P'   60-6F  sound/sscape_ioctl.h                                    conflict!
>>   'P'   00-0F  drivers/usb/class/usblp.c                               conflict!
>>   'P'   01-09  drivers/misc/pci_endpoint_test.c                        conflict!
>> +'P'   00-0F  xen/privcmd.h                                           conflict!
>>   'Q'   all    linux/soundcard.h
>>   'R'   00-1F  linux/random.h                                          conflict!
>>   'R'   01     linux/rfkill.h                                          conflict!
>>
> 
> 
> Juergen

thanks.
-- 
~Randy


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 16:20:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 16:20:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263220.455859 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEZPX-0005hx-RY; Mon, 31 Jan 2022 16:20:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263220.455859; Mon, 31 Jan 2022 16: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 1nEZPX-0005hq-Nl; Mon, 31 Jan 2022 16:20:11 +0000
Received: by outflank-mailman (input) for mailman id 263220;
 Mon, 31 Jan 2022 16:20:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8WLv=SP=infradead.org=rdunlap@srs-se1.protection.inumbo.net>)
 id 1nEZPV-0005hk-4j
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 16:20:09 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:e::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a6abbded-82b1-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 17:20:08 +0100 (CET)
Received: from [2601:1c0:6280:3f0::aa0b] (helo=bombadil.infradead.org)
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1nEZPL-009pKC-TH; Mon, 31 Jan 2022 16: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: a6abbded-82b1-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:
	Content-ID:Content-Description:In-Reply-To:References;
	bh=aLt1rHfBEtukkVZEueaMFrgVmvm2WsK0dWGT11Cez4o=; b=qT04x/uCHY2IKZmJNSzzXxT0BM
	gUwVur+ntCXWkAo8QRkTKnptwnULvDHDX8XEr4OOkmO40HS3NB6gd1on+j94OpP0ArCvxvBr0XNAI
	RvDfARBDdVAaMCtmF/YACdF6NipmXngUOX5TgColVDHEBwHm3njRObOH8EtF8k1D/lzN2BsA9CVgQ
	gxlSWNgP1ChUIro+TygjS9vbjn0eSH5+/DdAuedyGpQ0lDBHr2VRBg9Wg5iltRwtdmnNQqAUjkdDk
	fxShrN1aywCwIHAOdc751vmfcVuNHXE/ZrivCcRX1W1iO4WMWFZcWU+qomfhSZQ0gC/lUqtR0hSTe
	2bleZMbQ==;
From: Randy Dunlap <rdunlap@infradead.org>
To: patches@lists.linux.dev
Cc: Randy Dunlap <rdunlap@infradead.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v2] xen: update missing ioctl magic numers documentation
Date: Mon, 31 Jan 2022 08:19:59 -0800
Message-Id: <20220131161959.16509-1-rdunlap@infradead.org>
X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add missing ioctl "magic numbers" for various Xen interfaces
(xenbus_dev.h, gntalloc.h, gntdev.h, and privcmd.h).

Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org
---
v2: fix copy-pasta error: change 'E' to 'G' (thanks, Juergen)

 Documentation/userspace-api/ioctl/ioctl-number.rst |    3 +++
 1 file changed, 3 insertions(+)

--- linux-next-20220128.orig/Documentation/userspace-api/ioctl/ioctl-number.rst
+++ linux-next-20220128/Documentation/userspace-api/ioctl/ioctl-number.rst
@@ -115,6 +115,7 @@ Code  Seq#    Include File
 'B'   00-1F  linux/cciss_ioctl.h                                     conflict!
 'B'   00-0F  include/linux/pmu.h                                     conflict!
 'B'   C0-FF  advanced bbus                                           <mailto:maassen@uni-freiburg.de>
+'B'   00-0F  xen/xenbus_dev.h                                        conflict!
 'C'   all    linux/soundcard.h                                       conflict!
 'C'   01-2F  linux/capi.h                                            conflict!
 'C'   F0-FF  drivers/net/wan/cosa.h                                  conflict!
@@ -134,6 +135,7 @@ Code  Seq#    Include File
 'F'   80-8F  linux/arcfb.h                                           conflict!
 'F'   DD     video/sstfb.h                                           conflict!
 'G'   00-3F  drivers/misc/sgi-gru/grulib.h                           conflict!
+'G'   00-0F  xen/gntalloc.h, xen/gntdev.h                            conflict!
 'H'   00-7F  linux/hiddev.h                                          conflict!
 'H'   00-0F  linux/hidraw.h                                          conflict!
 'H'   01     linux/mei.h                                             conflict!
@@ -176,6 +178,7 @@ Code  Seq#    Include File
 'P'   60-6F  sound/sscape_ioctl.h                                    conflict!
 'P'   00-0F  drivers/usb/class/usblp.c                               conflict!
 'P'   01-09  drivers/misc/pci_endpoint_test.c                        conflict!
+'P'   00-0F  xen/privcmd.h                                           conflict!
 'Q'   all    linux/soundcard.h
 'R'   00-1F  linux/random.h                                          conflict!
 'R'   01     linux/rfkill.h                                          conflict!


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 16:55:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 16:55:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263229.455874 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEZxK-0000Zi-KZ; Mon, 31 Jan 2022 16:55:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263229.455874; Mon, 31 Jan 2022 16:55: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 1nEZxK-0000Zb-HA; Mon, 31 Jan 2022 16:55:06 +0000
Received: by outflank-mailman (input) for mailman id 263229;
 Mon, 31 Jan 2022 16:55:05 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nEZxJ-0000ZQ-9h; Mon, 31 Jan 2022 16:55:05 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nEZxJ-0007JV-81; Mon, 31 Jan 2022 16:55: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 1nEZxI-0003qp-U6; Mon, 31 Jan 2022 16:55:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nEZxI-0002n5-Ti; Mon, 31 Jan 2022 16:55:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=1U75u138uN6OdRIY3u4b3ioJibOyazXeTJpg8MFwaLU=; b=J8Th/2HjJ0jyf/enUZ0QXDxphs
	8ZkyARBss29XT5P4T35lMQQURyX9gneTWNpEV7JVVI+Cag6X7Ncv9dlTt6imE/tHliXnqrgMahopt
	2dxs1SmxonkajsF+g9F3hA5lHElPneHJI9bJADEQ3kgSiYIzTuwP7wPonl2j0IlHVzXk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167964-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.14-testing test] 167964: tolerable FAIL - PUSHED
X-Osstest-Failures:
    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-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl: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-seattle:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-libvirt-xsm: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: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-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-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-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-cubietruck: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-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: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-raw:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=b636efa6cc88a27366a4e75eea68f0a8019c0906
X-Osstest-Versions-That:
    xen=689734d05d5ec6b52b9e84807806471141088d84
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 31 Jan 2022 16:55:04 +0000

flight 167964 xen-4.14-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167964/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167908
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167908
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167908
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167908
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167908
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167908
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167908
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167908
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167908
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167908
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 167908
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167908
 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-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-arm64-arm64-xl-vhd      15 saverestore-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-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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 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                  b636efa6cc88a27366a4e75eea68f0a8019c0906
baseline version:
 xen                  689734d05d5ec6b52b9e84807806471141088d84

Last test of basis   167908  2022-01-27 03:00:00 Z    4 days
Testing same since   167964  2022-01-31 10:06:35 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   689734d05d..b636efa6cc  b636efa6cc88a27366a4e75eea68f0a8019c0906 -> stable-4.14


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 17:23:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 17:23:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263240.455885 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEaOb-0003ub-4l; Mon, 31 Jan 2022 17:23:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263240.455885; Mon, 31 Jan 2022 17: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 1nEaOb-0003uU-1T; Mon, 31 Jan 2022 17:23:17 +0000
Received: by outflank-mailman (input) for mailman id 263240;
 Mon, 31 Jan 2022 17:23:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PZky=SP=gmail.com=demiobenour@srs-se1.protection.inumbo.net>)
 id 1nEaOZ-0003uN-Gu
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 17:23:15 +0000
Received: from mail-qv1-xf2c.google.com (mail-qv1-xf2c.google.com
 [2607:f8b0:4864:20::f2c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 782db902-82ba-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 18:23:14 +0100 (CET)
Received: by mail-qv1-xf2c.google.com with SMTP id h16so13411387qvk.10
 for <xen-devel@lists.xenproject.org>; Mon, 31 Jan 2022 09:23:13 -0800 (PST)
Received: from [10.139.255.254] ([89.187.171.240])
 by smtp.gmail.com with ESMTPSA id r3sm8735666qkm.56.2022.01.31.09.23.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 31 Jan 2022 09:23:12 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 782db902-82ba-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=message-id:date:mime-version:user-agent:from:subject:to:cc
         :content-language;
        bh=bPILK0yhACFpprVLxksCilL8cYY3PolxdleU68y4ooA=;
        b=FjFa+zrsc3qD881ulSSHXKU8UPvaUT0pCpq7bRxFVtb8dAVuCfYJDqD54f+ePCE8Me
         fheCqyCUDYfiDFOAkpQkovYZ7tjDE00l8K2iXLVM+WbJx3OFtEJxqF3MXibeN0ZldNHE
         Fhvmm2qfTKTq5QsgoelPS/kd5IoOOL1yBnSpV6jeIhTx9G3TQQqKfJjKUKmwMTOKSHgF
         uCBsi2Vr+rGVxX3oFGPBtxoNDpb16nnHIn3wYfp9YtUyrBrMpYOnPfys0Z0DPid6YuJA
         LmJ4RELwypJTcFFQem4okazyUa6eRpjvZw40N6vAE65vqcXUeIa3HkpuqGaVINH6Q5ZR
         FtlQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:message-id:date:mime-version:user-agent:from
         :subject:to:cc:content-language;
        bh=bPILK0yhACFpprVLxksCilL8cYY3PolxdleU68y4ooA=;
        b=oO7CJR3dVcApAXPJiZLY4kDZ57V0Ai2ccMSn6tGM9agswrqHfL/g2O3y2S6lZ6fzCk
         mM/3GYdOA/7wt0AvyBQ8W85uOz5hAnrK3yqIidXk8G6HlW5yVmm4rxK7rmnDvKmssnWD
         oBioBihBVmNhdt8sNnWDo3g5RiCBkhZmhHLKMzkU8ZMpD5gSPKvpehTB9SdeQOdKTLiz
         5pMY0damBfWHaWVUCanGxPswlRA37Ros0V+kyQyvxnAE56j2SkrrrdiDwMUovdSNQG++
         Hr3+iqTM0/QCYHTk9DmRHltBhBskzDGgQFQg69wr1OYG2utaT5nfMIGCeIdNY48Aj7cn
         PREw==
X-Gm-Message-State: AOAM530LzLVGnRUL6srs72RHq7SudYjBdKTNdvPawmgkjnBVxFdtyTpy
	HEGkLLDEufuoI5hUuqIF6h0=
X-Google-Smtp-Source: ABdhPJy6vaDmp+y3fJCA7gGV2DLanRMhr8/9jPq+zq2/Xy49pzdQAaX3/i08PEqF7oW7dWBgRCy2Kw==
X-Received: by 2002:a05:6214:dad:: with SMTP id h13mr18954971qvh.74.1643649792751;
        Mon, 31 Jan 2022 09:23:12 -0800 (PST)
Message-ID: <f66c5a4e-2034-00b5-a635-6983bd999c07@gmail.com>
Date: Mon, 31 Jan 2022 12:23:07 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
From: Demi Marie Obenour <demiobenour@gmail.com>
Subject: [PATCH v2] Improve docs for IOCTL_GNTDEV_MAP_GRANT_REF
To: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Juergen Gross <jgross@suse.com>, Stefano Stabellini <sstabellini@kernel.org>
Cc: Demi Marie Obenour <demiobenour@gmail.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
Content-Language: en-US
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------gFL06z6z0ZwGNw3LFs9KmkqE"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------gFL06z6z0ZwGNw3LFs9KmkqE
Content-Type: multipart/mixed; boundary="------------cKY3Ggs6VDUCSn4I6iN78sHA";
 protected-headers="v1"
From: Demi Marie Obenour <demiobenour@gmail.com>
To: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Juergen Gross <jgross@suse.com>, Stefano Stabellini <sstabellini@kernel.org>
Cc: Demi Marie Obenour <demiobenour@gmail.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
Message-ID: <f66c5a4e-2034-00b5-a635-6983bd999c07@gmail.com>
Subject: [PATCH v2] Improve docs for IOCTL_GNTDEV_MAP_GRANT_REF

--------------cKY3Ggs6VDUCSn4I6iN78sHA
Content-Type: multipart/mixed; boundary="------------g0T69ASidFiPhh4eOY4XzIg1"

--------------g0T69ASidFiPhh4eOY4XzIg1
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

The current implementation of gntdev guarantees that the first call to
IOCTL_GNTDEV_MAP_GRANT_REF will set @index to 0.  This is required to
use gntdev for Wayland, which is a future desire of Qubes OS.
Additionally, requesting zero grants results in an error, but this was
not documented either.  Document both of these.

Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
---
 include/uapi/xen/gntdev.h | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/include/uapi/xen/gntdev.h b/include/uapi/xen/gntdev.h
index 9ac5515b9bc2..7a7145395c09 100644
--- a/include/uapi/xen/gntdev.h
+++ b/include/uapi/xen/gntdev.h
@@ -47,7 +47,13 @@ struct ioctl_gntdev_grant_ref {
 /*
  * Inserts the grant references into the mapping table of an instance
  * of gntdev. N.B. This does not perform the mapping, which is deferred
- * until mmap() is called with @index as the offset.
+ * until mmap() is called with @index as the offset. @index should be
+ * considered opaque to userspace, with one exception: if no grant
+ * references have ever been inserted into the mapping table of this
+ * instance, @index will be set to 0. This is necessary to use gntdev
+ * with userspace APIs that expect a file descriptor that can be
+ * mmap()'d at offset 0, such as Wayland. If @count is set to 0, this
+ * ioctl will fail.
  */
 #define IOCTL_GNTDEV_MAP_GRANT_REF \
 _IOC(_IOC_NONE, 'G', 0, sizeof(struct ioctl_gntdev_map_grant_ref))
--=20
Sincerely,
Demi Marie Obenour
she/her/hers

--------------g0T69ASidFiPhh4eOY4XzIg1
Content-Type: application/pgp-keys; name="OpenPGP_0xB288B55FFF9C22C1.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB288B55FFF9C22C1.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsFNBFp+A0oBEADffj6anl9/BHhUSxGTICeVl2tob7hPDdhHNgPR4C8xlYt5q49y
B+l2nipdaq+4Gk6FZfqC825TKl7eRpUjMriwle4r3R0ydSIGcy4M6eb0IcxmuPYf
bWpr/si88QKgyGSVZ7GeNW1UnzTdhYHuFlk8dBSmB1fzhEYEk0RcJqg4AKoq6/3/
UorR+FaSuVwT7rqzGrTlscnTDlPWgRzrQ3jssesI7sZLm82E3pJSgaUoCdCOlL7M
MPCJwI8JpPlBedRpe9tfVyfu3euTPLPxwcV3L/cfWPGSL4PofBtB8NUU6QwYiQ9H
zx4xOyn67zW73/G0Q2vPPRst8LBDqlxLjbtx/WLR6h3nBc3eyuZ+q62HS1pJ5EvU
T1vjyJ1ySrqtUXWQ4XlZyoEFUfpJxJoN0A9HCxmHGVckzTRl5FMWo8TCniHynNXs
BtDQbabt7aNEOaAJdE7to0AH3T/Bvwzcp0ZJtBk0EM6YeMLtotUut7h2Bkg1b//r
6bTBswMBXVJ5H44Qf0+eKeUg7whSC9qpYOzzrm7+0r9F5u3qF8ZTx55TJc2g656C
9a1P1MYVysLvkLvS4H+crmxA/i08Tc1h+x9RRvqba4lSzZ6/Tmt60DPM5Sc4R0nS
m9BBff0Nm0bSNRS8InXdO1Aq3362QKX2NOwcL5YaStwODNyZUqF7izjK4QARAQAB
zTxEZW1pIE1hcmllIE9iZW5vdXIgKGxvdmVyIG9mIGNvZGluZykgPGRlbWlvYmVu
b3VyQGdtYWlsLmNvbT7CwXgEEwECACIFAlp+A0oCGwMGCwkIBwMCBhUIAgkKCwQW
AgMBAh4BAheAAAoJELKItV//nCLBhr8QAK/xrb4wyi71xII2hkFBpT59ObLN+32F
QT7R3lbZRjVFjc6yMUjOb1H/hJVxx+yo5gsSj5LS9AwggioUSrcUKldfA/PKKai2
mzTlUDxTcF3vKx6iMXKA6AqwAw4B57ZEJoMM6egm57TV19kzPMc879NV2nc6+ela
Kl+/kbVeD3qvBuEwsTe2Do3HAAdrfUG/j9erwIk6gha/Hp9yZlCnPTX+VK+xifQq
t8RtMqS5R/S8z0msJMI/ajNU03kFjOpqrYziv6OZLJ5cuKb3bZU5aoaRQRDzkFIR
6aqtFLTohTo20QywXwRa39uFaOT/0YMpNyel0kdOszFOykTEGI2u+kja35g9TkH9
0kkBTG+aEWttIht0Hy6YFmwjcAxisSakBuHnHuMSOiyRQLu43ej2+mDWgItLZ48M
u0C3IG1seeQDjEYPtqvyZ6bGkf2Vj+L6wLoLLIhRZxQOedqArIk/Sb2SzQYuxN44
IDRt+3ZcDqsPppoKcxSyd1Ny2tpvjYJXlfKmOYLhTWs8nwlAlSHX/c/jz/ywwf7e
SvGknToo1Y0VpRtoxMaKW1nvH0OeCSVJitfRP7YbiRVc2aNqWPCSgtqHAuVraBRb
AFLKh9d2rKFB3BmynTUpc1BQLJP8+D5oNyb8Ts4xXd3iV/uD8JLGJfYZIR7oGWFL
P4uZ3tkneDfYzTxEZW1pIE9iZW5vdXIgKElUTCBFbWFpbCBLZXkpIDxhdGhlbmFA
aW52aXNpYmxldGhpbmdzbGFiLmNvbT7CwY4EEwEIADgWIQR2h02fEza6IlkHHHGy
iLVf/5wiwQUCX6YJvQIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRCyiLVf
/5wiwWRhD/0YR+YYC5Kduv/2LBgQJIygMsFiRHbR4+tWXuTFqgrxxFSlMktZ6gQr
QCWe38WnOXkBoY6n/5lSJdfnuGd2UagZ/9dkaGMUkqt+5WshLFly4BnP7pSsWReK
gMP7etRTwn3Szk1OwFx2lzY1EnnconPLfPBc6rWG2moA6l0WX+3WNR1B1ndqpl2h
PSjT2jUCBWDVrGOUSX7r5f1WgtBeNYnEXPBCUUM51pFGESmfHIXQrqFDA7nBNiIV
FDJTmQzuEqIyJl67pKNgooij5mKzRhFKHfjLRAH4mmWZlB9UjDStAfFBAoDFHwd1
HL5VQCNQdqEc/9lZDApqWuCPadZN+pGouqLysesIYsNxUhJ7dtWOWHl0vs7/3qkW
mWun/2uOJMQhra2u8nA9g91FbOobWqjrDd6x3ZJoGQf4zLqjmn/P514gb697788e
573WN/MpQ5XIFl7aM2d6/GJiq6LC9T2gSUW4rbPBiqOCeiUx7Kd/sVm41p9TOA7f
EG4bYddCfDsNxaQJH6VRK3NOuBUGeL+iQEVF5Xs6Yp+U+jwvv2M5Lel3EqAYo5xX
Tx4ls0xaxDCufudcAh8CMMqx3fguSb7Mi31WlnZpk0fDuWQVNKyDP7lYpwc4nCCG
NKCj622ZSocHAcQmX28L8pJdLYacv9pU3jPy4fHcQYvmTavTqowGnM1ARGVtaSBN
YXJpZSBPYmVub3VyIChJVEwgRW1haWwgS2V5KSA8ZGVtaUBpbnZpc2libGV0aGlu
Z3NsYWIuY29tPsLBjgQTAQgAOBYhBHaHTZ8TNroiWQcccbKItV//nCLBBQJgOEV+
AhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJELKItV//nCLBKwoP/1WSnFdv
SAD0g7fD0WlF+oi7ISFT7oqJnchFLOwVHK4Jg0e4hGn1ekWsF3Ha5tFLh4V/7UUu
obYJpTfBAA2CckspYBqLtKGjFxcaqjjpO1I2W/jeNELVtSYuCOZICjdNGw2Hl9yH
KRZiBkqc9u8lQcHDZKq4LIpVJj6ZQV/nxttDX90ax2No1nLLQXFbr5wb465LAPpU
lXwunYDij7xJGye+VUASQh9datye6orZYuJvNo8Tr3mAQxxkfR46LzWgxFCPEAZJ
5P56Nc0IMHdJZj0Uc9+1jxERhOGppp5jlLgYGK7faGB/jTV6LaRQ4Ad+xiqokDWp
mUOZsmA+bMbtPfYjDZBz5mlyHcIRKIFpE1l3Y8F7PhJuzzMUKkJi90CYakCV4x/a
Zs4pzk5E96c2VQx01RIEJ7fzHF7lwFdtfTS4YsLtAbQFsKayqwkGcVv2B1AHeqdo
TMX+cgDvjd1ZganGlWA8Sv9RkNSMchn1hMuTwERTyFTr2dKPnQdA1F480+jUap41
ClXgn227WkCIMrNhQGNyJsnwyzi5wS8rBVRQ3BOTMyvGM07j3axUOYaejEpg7wKi
wTPZGLGH1sz5GljD/916v5+v2xLbOo5606j9dWf5/tAhbPuqrQgWv41wuKDi+dDD
EKkODF7DHes8No+QcHTDyETMn1RYm7t0RKR4zsFNBFp+A0oBEAC9ynZI9LU+uJkM
eEJeJyQ/8VFkCJQPQZEsIGzOTlPnwvVna0AS86n2Z+rK7R/usYs5iJCZ55/JISWd
8xD57ue0eB47bcJvVqGlObI2DEG8TwaW0O0duRhDgzMEL4t1KdRAepIESBEA/iPp
I4gfUbVEIEQuqdqQyO4GAe+MkD0Hy5JH/0qgFmbaSegNTdQg5iqYjRZ3ttiswalq
l1/iSyv1WYeC1OAs+2BLOAT2NEggSiVOtxEfgewsQtCWi8H1SoirakIfo45Hz0tk
/Ad9ZWh2PvOGt97Ka85o4TLJxgJJqGEnqcFUZnJJriwoaRIS8N2C8/nEM53jb1sH
0gYddMU3QxY7dYNLIUrRKQeNkF30dK7V6JRH7pleRlf+wQcNfRAIUrNlatj9Txwi
vQrKnC9aIFFHEy/0mAgtrQShcMRmMgVlRoOA5B8RTulRLCmkafvwuhs6dCxN0GNA
ORIVVFxjx9Vn7OqYPgwiofZ6SbEl0hgPyWBQvE85klFLZLoj7p+joDY1XNQztmfA
rnJ9x+YV4igjWImINAZSlmEcYtd+xy3Li/8oeYDAqrsnrOjb+WvGhCykJk4urBog
2LNtcyCjkTs7F+WeXGUo0NDhbd3Z6AyFfqeF7uJ3D5hlpX2nI9no/ugPrrTVoVZA
grrnNz0iZG2DVx46x913pVKHl5mlYQARAQABwsFfBBgBAgAJBQJafgNKAhsMAAoJ
ELKItV//nCLBwNIP/AiIHE8boIqReFQyaMzxq6lE4YZCZNj65B/nkDOvodSiwfwj
jVVE2V3iEzxMHbgyTCGA67+Bo/d5aQGjgn0TPtsGzelyQHipaUzEyrsceUGWYoKX
YyVWKEfyh0cDfnd9diAm3VeNqchtcMpoehETH8frRHnJdBcjf112PzQSdKC6kqU0
Q196c4Vp5HDOQfNiDnTf7gZSj0BraHOByy9LEDCLhQiCmr+2E0rW4tBtDAn2HkT9
uf32ZGqJCn1O+2uVfFhGu6vPE5qkqrbSE8TG+03H8ecU2q50zgHWPdHMOBvy3Ehz
fAh2VmOSTcRK+tSUe/u3wdLRDPwv/DTzGI36Kgky9MsDC5gpIwNbOJP2G/q1wT1o
Gkw4IXfWv2ufWiXqJ+k7HEi2N1sree7Dy9KBCqb+ca1vFhYPDJfhP75I/VnzHVss
Z/rYZ9+51yDoUABoNdJNSGUYl+Yh9Pw9pE3Kt4EFzUlFZWbE4xKL/NPno+z4J9aW
emLLszcYz/u3XnbOvUSQHSrmfOzX3cV4yfmjM5lewgSstoxGyTx2M8enslgdXhPt
hZlDnTnOT+C+OTsh8+m5tos8HQjaPM01MKBiAqdPgksm1wu2DrrwUi6ChRVTUBcj
6+/9IJ81H2P2gJk3Ls3AVIxIffLoY34E+MYSfkEjBz0E8CLOcAw7JIwAaeBT
=3Dx+Ro
-----END PGP PUBLIC KEY BLOCK-----

--------------g0T69ASidFiPhh4eOY4XzIg1--

--------------cKY3Ggs6VDUCSn4I6iN78sHA--

--------------gFL06z6z0ZwGNw3LFs9KmkqE
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmH4Gv8ACgkQsoi1X/+c
IsFo6hAAh2feox5ZjJJXrlOFxBBeidmpzSI1HWJg4liZWRMSl+fdxdfPLJvOKF7u
kEGONFue24jz5IpEnkhHlwFCx+BWXpfXY3kKRZH5xWImphj6STBYIZhPC4+PCVy+
NAok5gBTYvFhpQLI+go7cKdPvZXhZnb9XZJU8cTBvfCH8kA/J2XJdP9DcOXxV35x
9FKp6RzIYBjMWPmf/KsHGrDr99JWogSwHQZNuEsdVitTEZjo0EP8/hYA2E5slmbY
pIGhmsYuzGYY6JUpKGuEn6VLj25M2gRJEYWVU+2lF5cRT6XOv1ZVUfudgfJs4fZj
LNYalHwdwZG2XMctYMK5YwBwECzsqPPsxVFGHXaoxlSCCJw9bta6xS1aWMMRG6o4
FT141XCMINEwjrsDDPGVUNxLhWpeqE+kAMrcILHVkIiAEkckDsQX0YJUVI9c2tvz
FVo2AY965RuEy2olMJjdmervcztWNMj4jIGWzTe2rjk1KAb12yIEMhrRw5HFakfX
X8knx6NtzD1gACXVDp7QUA7zHb3KYOdXsHLvVJBQIHvH115asb7NdLX0SkwyZeqC
kjNNWAOfZBg+f9NhzuP2Xgje3VH/JEUN+agrv4xuq2z9bLefkZ7cIzTQtsw4CAUe
kBNkazG/1oBySW/6okr67f69KIZSJiXm5XEU+sJCF4MvFBsyKcI=
=Di8c
-----END PGP SIGNATURE-----

--------------gFL06z6z0ZwGNw3LFs9KmkqE--


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 17:58:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 17:58:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263249.455896 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEaw8-0007D3-Ry; Mon, 31 Jan 2022 17:57:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263249.455896; Mon, 31 Jan 2022 17:57:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEaw8-0007Cw-Oe; Mon, 31 Jan 2022 17:57:56 +0000
Received: by outflank-mailman (input) for mailman id 263249;
 Mon, 31 Jan 2022 17:57:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ytUN=SP=citrix.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1nEaw7-0007Cq-9r
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 17:57:55 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4e035625-82bf-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 18:57:52 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4e035625-82bf-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1643651872;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=ifNhl5mHBqpz5WMcanaHfbY0cXjC0UyFvBYedAXiV9s=;
  b=LjucKqYamSGv/tJcCYdcoxF1yR9sxcjbzi6usTMJ0i6CnZXPrsQGUV8Z
   IWLVFGHA2Ej4VI0cwJwUvWA/zlWSACC7PtJYUyd/lIJYss7dj8Ej5A1y7
   wc1gbdrVkKvYyotmrHQ37gtLxvnrfyUko2BjFx3C9xpQON1CvkyQWMgsI
   s=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: x/IAGrB4Sh3PCYty79aunHZDajayjJgF0LQ3ilKyZiO6zl6G+jRjha7TBQ8hyP74glr6rSayjw
 zy7CmiLJ8dbEgA+GXGCJgMLNXT7yZbPNjp/H2V4d/mH79cXd7eUCr2yY7rkQQu21+/JrqpSeXu
 lrsI1PNEwsZAFYZo7jMo6zz22cKLCz5L7yR5bWwhRfylZL9A9VV/sddjEdxjkdunrSzTG1H7HL
 Xeq8JEBtMW66arYJihrg2L4kqs1+9FEEEIhb1UlYx/TJKSOE0VUVbluyfLh3dR2EyNRwyGrIXp
 GcXdTnHyADVSFprr1cNL0sDm
X-SBRS: 5.2
X-MesageID: 63154465
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:+ygtvqhSJR36eElQEbsmyg7QX161ZRYKZh0ujC45NGQN5FlHY01je
 htvDGiFb67YYWHxL9x/YNiy8BsEsJHQyYUwHFQ//ng2Hyob9cadCdqndUqhZCn6wu8v7a5EA
 2fyTvGacajYm1eF/k/F3oAMKRCQ7InQLlbGILes1htZGEk0GE/NtTo5w7Rj2tcz2IDja++wk
 YiaT/P3aQfNNwFcagr424rbwP+4lK2v0N+wlgVWicFj5DcypVFMZH4sDfjZw0/DaptVBoaHq
 9Prl9lVyI97EyAFUbtJmp6jGqEDryW70QKm0hK6UID66vROS7BbPg/W+5PwZG8O4whlkeydx
 /1xjceoGC0pYpbtv+4FcRhWIwVsGbJZreqvzXiX6aR/zmXDenrohf5vEFs3LcsT/eMf7WNmr
 KJCbmpXN1ba2rzwkOnTpupE36zPKOHxO4wSoDd4xCzxBvc6W5HTBa7N4Le02R9u3ZkTQaqAO
 qL1bxJdXEyRZy1JImwcS544ssmk3V/zeBNx/Qf9Sa0fvDGIkV0ZPKLWGOTSftuGVMBEhHGyr
 2jN/3n6KhwCPdnZwj2Amlq3nfPGly7/XIMUFZW7++RsjVnVwXYcYDUcWEGnu/C/hgi7UshGN
 k0P0iM0qO4580nDZtrwQRy+5mKFtxg0WtxMHul84waIooLW/gDfAGEHRzxAbdUOtckqSDhs3
 ViM9/v2ARR/vbvTTmiSnp+EoDX3NSULIGsqYS4fURBD89TluJs0jB/EUpBkCqHdpt/6Azbr2
 BiRsTMzwb4UiKYj1bi//F3BqyKhoN7OVAFdzgfdU3+h7wh5TJW4fIHu4l/ehcusN67AEAPH5
 iJd3ZHDsqZeVvlhiRBhXs0xJOqxttyFbAb9plR3PZgvxxC/32G8KNU4DC5FGG9lNcMNeDnMa
 UDVuB9M6JI7AEZGfZObcKrqVZ10kPGI+cDNE6mNM4EQOsQZmBqvoXk2DXN8yVwBh6TFfUsXH
 Z6AOfihAn8BYUiM5GrnHrxNuVPHK81X+I8yeXwZ50n9uVZ9TCTMIVvgDLdoRrpjhE9jiF6Nm
 +uzz+PQl31ivBTWO0E7C7I7I1EQNmQcDpvrscFRfePrClM4RDp8W6CJke1wJ90Nc0FpegHgp
 CvVtqhwkwKXuJE6AV/SNiALhE3HAP6TUk7XzQRzZA31ihDPkK6k7bsFdotfQFXU3LcL8BKAd
 NFcI5/oKq0WElzvom1BBbGg8tAKXEn11GqmYnr0CBBiLsUIb1GYpbfZkv7HqXNm4tyf75Vu+
 tVNF2rzHPI+euiVJJ+IMKrxlw/g4il1dSAbdxKgH+S/sX7EqeBCAyfwkuU2M4cLLxDCzSGdz
 AGYHVETouylnmP/2IOhaXmso9j7Hu1gMFBdGmWHv7+6OTODpjiowJNaUfbOdjfYDTum9KKnb
 ORT7vf9LPxYwwoa79siS+5mnfAk+t/ih75G1QA4Tn/FWEumV+F7KX6c0MgR6qAUnu1FuRG7U
 16k88VBPenbI9vsFVMcfVJ3bumK2fwOtCPV6PA5fBfz6CNtpeLVWkROJRiczidaKeItYo8ix
 O4gvu8Q6hC+1UV2YorX0HgM+j3VfHIaUqghupULO6PRi1ImmgNYfJjRKi7q+5XTOd9CBVYnf
 22Pj63YirUCmkebKygvFWLA1PZ2jIgVvEwY10cLIlmEl4aXhvIz2xENoz07Qh4Mk0dC2uN3f
 GNqK1d0NeOF+DIx3JpPWGWlGgdgAhyF+xOulwtVxTOBF0T4BHbQKGAdOPqW+BFL+m1RSTFX4
 bWExTu3Sj3tZszwgnM/VEMNRyYPljCtGtkuQPyaIvk=
IronPort-HdrOrdr: A9a23:7YzwGavwxjxXZGKj7begffg67skDQdV00zEX/kB9WHVpm5Sj5q
 STdYcgpHjJYVcqKQodcL+7WJVoLUmwyXcx2/h1AV7AZnidhILLFvAA0WKK+VSJcEfDH6xmpM
 VdmsNFZ+EYeGIasS+M2meF+rgbrOVvu5rY49s2h00dND2CRZsQlztENg==
X-IronPort-AV: E=Sophos;i="5.88,331,1635220800"; 
   d="scan'208";a="63154465"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QpyDm3gJdZKLySKU/9IPl3lARGhLWsVSf4Oz8YSRlo19hvbusdl2C2BghHI/L5bQBmrUO5f70Zirjt0lsaLvLaAJpXUEWcdiUnbktAl/US7ece5IkPsCORW4zs6jTEE7P2G0Ldk3TDZZ1RTdkouqPldYbGrGCVic0nA63rqFMDut97SIVuF7UDMYPstgTbQ59P3S3X+usRazr8CaRjwUJq9BFvup8xeOBAgVMq15rXOPtFZycGM6AkHYVfUEdeWNGUY8y2XEvOjDPtYz6IZAnnVZ+2hJsYRk3/ooH6Nqls+nYDUXfKf4q5h5XvjMiWsqEm3vWp2lxXLMTg96vrb1vw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GfQWSealG9DcaIPhKSdCfAXNlI/QHZYPFvR+Bu4jOEA=;
 b=aW58tPLw9dI0SFdMmGcMum29ut5F8JZUdHPvjBBoQdwi2MX8tKHul7TIayQuUqcH4KV588VHCqCaK2GurAhjwZcYi45YKvyN5ZXUqeUpx3suWGx44XEWpx4BKt5M5pZbrE0O0NFRE6qnV7vJ4nvNq6IZf1abp2pmEy32PPOdL2wufOnQEB5tLVoRH8fqCcYy9uuCEICXIG7oKDPeR08JW1hdv7sX5MF0d46tWUnfgxEaYtwSz+INGAGNPqo1DMz4/asWREdcY+joSEyChXCBiG72Aqn8Q5v0A5rBkJOMLgUHYtBYvEZUnFRBJSAP2cUKRh5hm4asYHRhJJh9SChnDA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GfQWSealG9DcaIPhKSdCfAXNlI/QHZYPFvR+Bu4jOEA=;
 b=r+u6uXGtlriYi6bh5AW3WHuD6WGLYRccnM3jOVpltHTkylMu+drci198a5To186zwyvDjQb89yxSvLtIFxEVDm+1ufyJ+4qHOopRekfMMSQ/8VoPyxaOfnJsWur3VUtr8FLHq5E1SKNcvBSTuIy1dXNQSS7H9lObG/lsolRaJp0=
Date: Mon, 31 Jan 2022 18:57:40 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jane Malalane <jane.malalane@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, "Anthony
 PERARD" <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, "Andrew
 Cooper" <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, "Stefano Stabellini" <sstabellini@kernel.org>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian
	<kevin.tian@intel.com>
Subject: Re: [PATCH 1/2] xen+tools: Report Interrupt Controller
 Virtualization capabilities on x86
Message-ID: <YfgjFO8WZw+c55oe@Air-de-Roger>
References: <20220127160133.11608-1-jane.malalane@citrix.com>
 <20220127160133.11608-2-jane.malalane@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20220127160133.11608-2-jane.malalane@citrix.com>
X-ClientProxiedBy: FR0P281CA0084.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::23) To DS7PR03MB5608.namprd03.prod.outlook.com
 (2603:10b6:5:2c9::18)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b3526ac3-0535-420a-01be-08d9e4e32f22
X-MS-TrafficTypeDiagnostic: BN3PR03MB2161:EE_
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr
X-Microsoft-Antispam-PRVS: <BN3PR03MB2161E74DA3BD28276A7F18068F259@BN3PR03MB2161.namprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:1303;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: VP9bT4Nt3il0CkJnimK0IT2L0j1G+Mm1PS2qnZrY+YczJtxK3DaXxdbE5zQCOoSWn0CKBIvpHag/5ftOkW4CkEdC8YXg0jVzTfKrfQyVPmzIRdINhw3tAVUkThzDHupb2F+/btMhbxB+HjFyvOm5Hr1HldCt6Z8UkYQmzTNlcihggIscB7luzXjFG9G1P3v19JHYrabPzxZcYdIEMtPq0KYSAjdkUp5+yvhOF2u107lIjOXX96y7kv45/w8ARiQyafQrTCQjPkhN8TmCcSigwmXG9jb77wFGgddY9RccD4EosOtRD4WyRmhojLxbFXsWj7bmEWJuCTvKRkmS2R3MqAmET9g+ccxEKBpwGseQANNurImemdFW2jmKlpDseYTYy9USapIKxT8xR3gO3Jdh9EvDwKvdjtyMl2bdJd8Z6GHa6+9XDPu+ZmJPGNjmjO3LzjZ4zfBJKrtU0V6Pvpz0L086GEht8BqnBIAVbeZKPyLIQyWeAIivRK/CfNTKGQFEe8FpO5LLgUo9KprJ7e2dAHEaZNvQqYqXSwm3arLEK5nx94cqSBYvuJxsOUgAuv2HVxXM64irBZx1451NGKL5WtVkEbDOkHkrN2camPtXINbrP8m9PFFWx1Q3kclnH0ONeIMcoA4RbfKceDAU+PI2vWu66qFKBflnovNRQzy0uRmfSgH8djOMkUkFd16SuaLNcB8+3vmQh7EGEScJaY2P+A==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(7916004)(4636009)(366004)(6862004)(4326008)(8936002)(83380400001)(26005)(8676002)(6636002)(508600001)(6486002)(54906003)(86362001)(85182001)(33716001)(186003)(66556008)(66476007)(66946007)(82960400001)(5660300002)(38100700002)(6506007)(6512007)(6666004)(9686003)(316002)(2906002)(7416002)(67856001)(20210929001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TlRiREdXUytqbGZIMjFrWVVQcXY1K3NsYXVybWorWDQ3czBlNXRQY3BsOE8r?=
 =?utf-8?B?Vjh2NVl0WW9kWGQzb0ZMemVuNjV0QmN0K1N6VmZFb3JWVWNlVEpuMDV2VTRt?=
 =?utf-8?B?alFIdThHTGxISUhQV0lFekh3R2w3cSt2eWhDT1AvRHVmanVwcHlub3Z0cTRE?=
 =?utf-8?B?cGozbmxUOVArT2Z4clRBZzFETG9Jdm4vL1h3Y2F2VUFtOXBBVG5vZ0JJMzJY?=
 =?utf-8?B?ZVBkQ09laThQRFRsU2M2cFJxZ25pWXUzRXdjSzkrVUp3YjBNOThZTS9nNjVk?=
 =?utf-8?B?UHdoUityLzUreU10SGJwSFIwV004OTVaK0lDcDdGUklqOWtRZUZFVHZvQkhE?=
 =?utf-8?B?dUNPeGlrL3ZHcEcyeWl1Tm9HdXFRcXFpY0J0aTVjcG5qNzg3dTdNYlk0T0ZB?=
 =?utf-8?B?RGMvWTc5Q2liRC8ybnZQVUltdzFFbDZacDd0Q1JYcGtiRittVzYwWXhHSTl3?=
 =?utf-8?B?NzlTQ0xRWkl3UGpHdlpDYm9wUUp5aXl0QXZnOW5jQXUyOWJmempIejNieHMy?=
 =?utf-8?B?QittZHRvNkdKQ3grTzI2RzE3YzZ1NVIzZ1Z1Y3ZkL1Y1cmFPSGgwQVhlN01t?=
 =?utf-8?B?YlRraWxDMStyNFpSZkpuZFNiZGNnMmxoczBDcGJlaGhpdk1XK0syV2o0aFh4?=
 =?utf-8?B?d0laSnk2dkltNUZnQ1VkYkllNVAyZCtnam9TL2pveE5FRzVOWVZ1amlOWStL?=
 =?utf-8?B?cFB4djBBYXBSeldGZWFRWUExTmp3SkttRU1sRlJaZzBoamcyaEw5UnVUdWkr?=
 =?utf-8?B?TnkzczNFVnRuTFh6VkptM3VYUVJBeVR3M09wdXhyUFY1ZzRqenBOR0R0TmRI?=
 =?utf-8?B?S29xVk1kejVkOFd5SGFFbUhYMjVtOGJQdDJWRi81ek5BWmFFd0ZEeTcxT1dy?=
 =?utf-8?B?dFVpWCtRTjkvd2ErcFRhUkYvcXc2cDBKd3h3ckpOR1RBaWplZWxEbUM4ZzIx?=
 =?utf-8?B?eFhCM1JLQ25lV3Z0LzloNEpvN1lhTkFSWExLWm5FNzF6NzZCV28rZk5CSnlr?=
 =?utf-8?B?OUU2MEVQeUJReTdUc0ZZUmtpUG9ZbUFDei9Qbm1scjVuZ2hjUjAvRU0rMXdu?=
 =?utf-8?B?N1B0MFV0cmFGZytMUDI1a25aQnczcmg5N1paMm85Vm1PTThIYU1BV2ZkcEtj?=
 =?utf-8?B?ZEZKakN2K0N0M3pqM3g2NERuanJwcURDRENkbTVoYUU4NzRZK0Y1S3A0SFU0?=
 =?utf-8?B?ZENUQkNtc0hnZktGT0lYRzhLQ3ljWFZjK2JwZGhObFQ1QldTbndDek0zVG10?=
 =?utf-8?B?VGNsenhPRDdCNUVKL09uTTNFcFRqK1dsR0ZyWFhCYVdhNm12OUFxZVFVcEdn?=
 =?utf-8?B?NFh3RW1waUF1OEUweXFZek9ZWkhDaWxKaStCUmhhK3RCMXAwaGJad0FZZzRU?=
 =?utf-8?B?WnZvc2hQVlFuejhJd3M3NXVvT1kxbHl4QXhXRSszSnNyQ0tFN056U3lNaktP?=
 =?utf-8?B?NW9CelA1VEhXRVdoNk9LbDRHbU9DdEM5bWNNa0dqeG95T29NMzZ3RGEwc29H?=
 =?utf-8?B?N1ZvbisrMEFKY0tpdnhiQ0lIeVYya2hwNVIwSnZHdG8zMmVrbHFrL05kS0h5?=
 =?utf-8?B?TkJyNFo5M1FPZHY2NVROaVN6SENoSTVsNmRPSTc1ZHgxM0VHbEdyNFh5d0Vz?=
 =?utf-8?B?TEFHaTRuWkZKMzJHcm13VVA4MnIyM3JRQlZuTWs1ZWRqWVJ5dElmbDlhUVFM?=
 =?utf-8?B?OW9KZ0poMkc5ei93Vy9TaW5UNE0zdXp0N1FDRTJJdzFaejZxYXhOMmV1bkQ0?=
 =?utf-8?B?Y29uUmc0ekVrQTRObG0zVjVWaGd0VVVuamF2SVNOREtSZFlZbnd5TzNaNXRk?=
 =?utf-8?B?dzFqSGNTNCtlL0orMnlvWXM4UFRxaG9OVkRWT1hDWG5pZEo0eFlVU1VmRW52?=
 =?utf-8?B?VUZRaFVFN21zTmczbTVudUxHd0dsWFRtc3ZsOHlqQS9IT1hlWHFxQ2x1QnJs?=
 =?utf-8?B?RmtVd0p1Z0w1WUlFUWdXLzNUTmRob0lCUEhITDRJcjJkQ2IwKzMvbkRiYk0w?=
 =?utf-8?B?bU9UQXoxWFlJQjZmU3FmaHFEVzJibUNMcGpLbmViemZ4cnFJNjlQL3V4ZEtH?=
 =?utf-8?B?dWV6VzE4bzlSbUl0b2U2dHJsSWxhNGhiMy9BUFNJMFlSWmFIMm51NVE4QzBz?=
 =?utf-8?B?N2cycklhM2JHR3IzOWd6Qy9EYlFEaDExaTFkWDVrSUVGTlJSS014WUJlOHNk?=
 =?utf-8?Q?Xfwj0TUIpn6MFnoropxjfvU=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: b3526ac3-0535-420a-01be-08d9e4e32f22
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 17:57:45.1458
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: QVdS4ikktpUkNKSwpJdGlBQ6uLlFzdGVwwq3kINnGepZ5JABwuqAA1ETsv59O48dbZ8nnqrVww7z4YRn5IketA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR03MB2161
X-OriginatorOrg: citrix.com

On Thu, Jan 27, 2022 at 04:01:32PM +0000, Jane Malalane wrote:
> Add XEN_SYSCTL_PHYSCAP_ARCH_ASSISTED_xapic and
> XEN_SYSCTL_PHYSCAP_ARCH_ASSISTED_x2apic to report accelerated xapic
> and x2apic, on x86 hardware.
> No such features are currently implemented on AMD hardware.
> 
> For that purpose, also add an arch-specific "capabilities" parameter
> to struct xen_sysctl_physinfo.
> 
> Signed-off-by: Jane Malalane <jane.malalane@citrix.com>
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Wei Liu <wl@xen.org>
> CC: Anthony PERARD <anthony.perard@citrix.com>
> CC: Juergen Gross <jgross@suse.com>
> CC: Andrew Cooper <andrew.cooper3@citrix.com>
> CC: George Dunlap <george.dunlap@citrix.com>
> CC: Jan Beulich <jbeulich@suse.com>
> CC: Julien Grall <julien@xen.org>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> CC: Bertrand Marquis <bertrand.marquis@arm.com>
> CC: Jun Nakajima <jun.nakajima@intel.com>
> CC: Kevin Tian <kevin.tian@intel.com>
> CC: "Roger Pau Monné" <roger.pau@citrix.com>
> ---
>  tools/golang/xenlight/helpers.gen.go |  4 ++++
>  tools/golang/xenlight/types.gen.go   |  6 ++++++
>  tools/include/libxl.h                | 14 ++++++++++++++
>  tools/libs/light/libxl.c             |  3 +++
>  tools/libs/light/libxl_arch.h        |  4 ++++
>  tools/libs/light/libxl_arm.c         |  4 ++++
>  tools/libs/light/libxl_types.idl     |  2 ++
>  tools/libs/light/libxl_x86.c         | 11 +++++++++++
>  tools/ocaml/libs/xc/xenctrl.ml       |  5 +++++
>  tools/ocaml/libs/xc/xenctrl.mli      |  5 +++++
>  tools/xl/xl_info.c                   |  6 ++++--
>  xen/arch/x86/hvm/vmx/vmcs.c          |  6 ++++++
>  xen/arch/x86/include/asm/domain.h    |  4 ++++
>  xen/arch/x86/sysctl.c                |  7 +++++++
>  xen/include/public/arch-x86/xen.h    |  4 ++++
>  xen/include/public/sysctl.h          |  1 +
>  16 files changed, 84 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/golang/xenlight/helpers.gen.go b/tools/golang/xenlight/helpers.gen.go
> index b746ff1081..dd4e6c9f14 100644
> --- a/tools/golang/xenlight/helpers.gen.go
> +++ b/tools/golang/xenlight/helpers.gen.go
> @@ -3373,6 +3373,8 @@ x.CapVmtrace = bool(xc.cap_vmtrace)
>  x.CapVpmu = bool(xc.cap_vpmu)
>  x.CapGnttabV1 = bool(xc.cap_gnttab_v1)
>  x.CapGnttabV2 = bool(xc.cap_gnttab_v2)
> +x.CapAssistedXapic = bool(xc.cap_assisted_xapic)
> +x.CapAssistedX2Apic = bool(xc.cap_assisted_x2apic)
>  
>   return nil}
>  
> @@ -3407,6 +3409,8 @@ xc.cap_vmtrace = C.bool(x.CapVmtrace)
>  xc.cap_vpmu = C.bool(x.CapVpmu)
>  xc.cap_gnttab_v1 = C.bool(x.CapGnttabV1)
>  xc.cap_gnttab_v2 = C.bool(x.CapGnttabV2)
> +xc.cap_assisted_xapic = C.bool(x.CapAssistedXapic)
> +xc.cap_assisted_x2apic = C.bool(x.CapAssistedX2Apic)
>  
>   return nil
>   }
> diff --git a/tools/golang/xenlight/types.gen.go b/tools/golang/xenlight/types.gen.go
> index b1e84d5258..5f384b767c 100644
> --- a/tools/golang/xenlight/types.gen.go
> +++ b/tools/golang/xenlight/types.gen.go
> @@ -389,6 +389,10 @@ RunHotplugScripts Defbool
>  DriverDomain Defbool
>  Passthrough Passthrough
>  XendSuspendEvtchnCompat Defbool
> +ArchX86 struct {
> +AssistedXapic Defbool
> +AssistedX2Apic Defbool
> +}
>  }
>  
>  type DomainRestoreParams struct {
> @@ -1014,6 +1018,8 @@ CapVmtrace bool
>  CapVpmu bool
>  CapGnttabV1 bool
>  CapGnttabV2 bool
> +CapAssistedXApic bool
> +CapAssistedX2apic bool
>  }
>  
>  type Connectorinfo struct {
> diff --git a/tools/include/libxl.h b/tools/include/libxl.h
> index 2bbbd21f0b..6d51e56704 100644
> --- a/tools/include/libxl.h
> +++ b/tools/include/libxl.h
> @@ -528,6 +528,20 @@
>  #define LIBXL_HAVE_MAX_GRANT_VERSION 1
>  
>  /*
> + * LIBXL_HAVE_PHYSINFO_ASSISTED_XAPIC indicates that libxl_physinfo has a
> + * cap_assisted_xapic field, which indicates the availability of xAPIC
> + * hardware assisted emulation.
> + */
> +#define LIBXL_HAVE_PHYSINFO_ASSISTED_XAPIC 1
> +
> +/*
> + * LIBXL_HAVE_PHYSINFO_ASSISTED_X2APIC indicates that libxl_physinfo has a
> + * cap_assisted_x2apic field, which indicates the availability of x2APIC
> + * hardware assisted emulation.
> + */
> +#define LIBXL_HAVE_PHYSINFO_ASSISTED_X2APIC 1

I think you could likely introduce a single define that covers both
features, as they are introduced in the same commit, ie:
LIBXL_HAVE_PHYSINFO_ASSISTED_APIC.

> +
> +/*
>   * libxl ABI compatibility
>   *
>   * The only guarantee which libxl makes regarding ABI compatibility
> diff --git a/tools/libs/light/libxl.c b/tools/libs/light/libxl.c
> index 667ae6409b..1588701d19 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)
> @@ -410,6 +411,8 @@ int libxl_get_physinfo(libxl_ctx *ctx, libxl_physinfo *physinfo)
>      physinfo->cap_gnttab_v2 =
>          !!(xcphysinfo.capabilities & XEN_SYSCTL_PHYSCAP_gnttab_v2);
>  
> +    libxl__arch_get_physinfo(physinfo, xcphysinfo);
> +
>      GC_FREE;
>      return 0;
>  }
> diff --git a/tools/libs/light/libxl_arch.h b/tools/libs/light/libxl_arch.h
> index 1522ecb97f..00cc50394d 100644
> --- a/tools/libs/light/libxl_arch.h
> +++ b/tools/libs/light/libxl_arch.h
> @@ -86,6 +86,10 @@ int libxl__arch_extra_memory(libxl__gc *gc,
>                               uint64_t *out);
>  
>  _hidden
> +void libxl__arch_get_physinfo(libxl_physinfo *physinfo,
> +                              xc_physinfo_t xcphysinfo);
> +
> +_hidden
>  void libxl__arch_update_domain_config(libxl__gc *gc,
>                                        libxl_domain_config *dst,
>                                        const libxl_domain_config *src);
> diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
> index eef1de0939..52f2545498 100644
> --- a/tools/libs/light/libxl_arm.c
> +++ b/tools/libs/light/libxl_arm.c
> @@ -1431,6 +1431,10 @@ int libxl__arch_passthrough_mode_setdefault(libxl__gc *gc,
>      return rc;
>  }
>  
> +void libxl__arch_get_physinfo(libxl_physinfo *physinfo, xc_physinfo_t xcphysinfo)
> +{
> +}
> +
>  void libxl__arch_update_domain_config(libxl__gc *gc,
>                                        libxl_domain_config *dst,
>                                        const libxl_domain_config *src)
> diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
> index 2a42da2f7d..42ac6c357b 100644
> --- a/tools/libs/light/libxl_types.idl
> +++ b/tools/libs/light/libxl_types.idl
> @@ -1068,6 +1068,8 @@ libxl_physinfo = Struct("physinfo", [
>      ("cap_vpmu", bool),
>      ("cap_gnttab_v1", bool),
>      ("cap_gnttab_v2", bool),
> +    ("cap_assisted_xapic", bool),
> +    ("cap_assisted_x2apic", bool),
>      ], dir=DIR_OUT)
>  
>  libxl_connectorinfo = Struct("connectorinfo", [
> diff --git a/tools/libs/light/libxl_x86.c b/tools/libs/light/libxl_x86.c
> index 1feadebb18..33da51fe89 100644
> --- a/tools/libs/light/libxl_x86.c
> +++ b/tools/libs/light/libxl_x86.c
> @@ -866,6 +866,17 @@ int libxl__arch_passthrough_mode_setdefault(libxl__gc *gc,
>      return rc;
>  }
>  
> +void libxl__arch_get_physinfo(libxl_physinfo *physinfo,
> +                              xc_physinfo_t xcphysinfo)

If you make xcphysinfo passed by reference as Anthony suggested also
make it const.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 18:30:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 18:30:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263256.455907 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEbRM-0002uq-JS; Mon, 31 Jan 2022 18:30:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263256.455907; Mon, 31 Jan 2022 18:30:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEbRM-0002uj-Fc; Mon, 31 Jan 2022 18:30:12 +0000
Received: by outflank-mailman (input) for mailman id 263256;
 Mon, 31 Jan 2022 18:30: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 1nEbRL-0002ud-Ps
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 18:30: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 1nEbRK-0000hM-6B; Mon, 31 Jan 2022 18:30:10 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235] helo=[10.95.141.2])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nEbRJ-0006kg-Uf; Mon, 31 Jan 2022 18:30:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=sksAk/8gB6pxP8Hg9jRA+DqFl9OPxKg4z+czB94uqig=; b=Jzqqdsyq70Hih28B/T1uosQe/A
	5TW/d8Q9fbH5FpgfUEpOuL5pCc/BWDWAF0q0UmxngBJqluIzwlrHqWq52V3rkro4l69oKvo9Yj4Fq
	xS8CnNcfBmcVG+xHb0T/dZ2heNwcN4uxvqfsV4wctd6k3HLD2o//HGWAZuMHim5/Qbbk=;
Message-ID: <425e042d-780e-e2eb-36e3-b30540f567e0@xen.org>
Date: Mon, 31 Jan 2022 18:30:07 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [PATCH v3] memory: XENMEM_add_to_physmap (almost) wrapping checks
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <9725c93e-c227-f29f-07a4-65e383bb7858@suse.com>
 <c2606525-5d1b-c410-d750-1372334c4c7b@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <c2606525-5d1b-c410-d750-1372334c4c7b@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 27/01/2022 14:53, Jan Beulich wrote:
> Determining that behavior is correct (i.e. results in failure) for a
> passed in GFN equaling INVALID_GFN is non-trivial. Make this quite a bit
> more obvious by checking input in generic code - both for singular
> requests to not match the value and for range ones to not pass / wrap
> through it.
> 
> For Arm similarly make more obvious that no wrapping of MFNs passed
> for XENMAPSPACE_dev_mmio and thus to map_dev_mmio_region() can occur:
> Drop the "nr" parameter of the function to avoid future callers
> appearing which might not themselves check for wrapping. Otherwise
> the respective ASSERT() in rangeset_contains_range() could trigger.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 18:36:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 18:36:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263262.455918 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEbXk-0003ad-AD; Mon, 31 Jan 2022 18:36:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263262.455918; Mon, 31 Jan 2022 18:36:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEbXk-0003aW-66; Mon, 31 Jan 2022 18:36:48 +0000
Received: by outflank-mailman (input) for mailman id 263262;
 Mon, 31 Jan 2022 18:36: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 1nEbXi-0003aP-JA
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 18:36: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 1nEbXi-0000pJ-1o; Mon, 31 Jan 2022 18:36:46 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235] helo=[10.95.141.2])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nEbXh-0007Pb-RH; Mon, 31 Jan 2022 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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=QjCVKS1tg4XSc2Ett6Q/OKtq9W1Rcan+e+fCTtKKobs=; b=rxL1mwzbmcEHVcc75FZTgEP8a8
	+Dn0hiMKE4U/ilqC3C3ezpo8rIT4vheH0s3E4ITAzCYfCre8bTqAVaLEgTchU85rHNifu6aRpu0Dh
	P54R6B226AJlouN0k0Fx3AgE9pxGoeihmWszre0p8jclBN0UCsUAL/xc/y2DojeO2kPw=;
Message-ID: <c6de95bd-f931-aff0-f7a3-1c9fedb5c395@xen.org>
Date: Mon, 31 Jan 2022 18:36:43 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [PATCH V3 0/2] Add support for Renesas R-Car S4 IPMMU and other
 misc changes (remaining 2 patches)
To: Oleksandr Tyshchenko <olekstysh@gmail.com>, xen-devel@lists.xenproject.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Rahul Singh <rahul.singh@arm.com>,
 Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>,
 Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
References: <1643313352-29940-1-git-send-email-olekstysh@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <1643313352-29940-1-git-send-email-olekstysh@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 27/01/2022 19:55, Oleksandr Tyshchenko wrote:
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> 
> Hello all.
> 
> You can find the V1-V2 patch series at [1]-[2].
> 
> The first 8 patches (prereq work + R-Car S4 IPMMU support) have been already committed.
> These are remaining 2 patches which include misc changes.
> 
> [1] https://lore.kernel.org/all/1638035505-16931-1-git-send-email-olekstysh@gmail.com/
> [2] https://lore.kernel.org/all/1640034957-19764-1-git-send-email-olekstysh@gmail.com/
> 
> Oleksandr Tyshchenko (2):
>    iommu/ipmmu-vmsa: Use refcount for the micro-TLBs
>    iommu/arm: Remove code duplication in all IOMMU drivers

I have committed the two patches.

Cheers,

> 
>   xen/drivers/passthrough/arm/iommu.c      |  7 +++++++
>   xen/drivers/passthrough/arm/ipmmu-vmsa.c | 36 ++++++++++++++------------------
>   xen/drivers/passthrough/arm/smmu-v3.c    | 17 +--------------
>   xen/drivers/passthrough/arm/smmu.c       | 17 +--------------
>   4 files changed, 25 insertions(+), 52 deletions(-)
> 

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 19:03:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 19:03:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263271.455936 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEbxX-0006uc-EW; Mon, 31 Jan 2022 19:03:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263271.455936; Mon, 31 Jan 2022 19:03: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 1nEbxX-0006uV-Bb; Mon, 31 Jan 2022 19:03:27 +0000
Received: by outflank-mailman (input) for mailman id 263271;
 Mon, 31 Jan 2022 19:03: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 1nEbxW-0006uP-8r
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 19:03: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 1nEbxS-0001NZ-Ls; Mon, 31 Jan 2022 19:03:22 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235] helo=[10.95.141.2])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nEbxS-0001Az-FX; Mon, 31 Jan 2022 19:03:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=kww/5U+siM2skOKPUMWbZZ4Lk0cz4BzU3DwFzwYF6QA=; b=pJhNq0fLRqXvgMww40V1QmAVBW
	wTXb6Ef2S1jsmuHeicWPSYBiFA2JfogEeySiLjE4vIdOeN3PAzkE4g5RDlVtAHqkKgUILvx7rED1D
	t/P/yH06CC0UcqnuRIc1EQv3DkDD77sB1qecJHJ3k+7nGCr+M5v7+AmHBcmotnUpY6k8=;
Message-ID: <c4c3c23f-01b9-d7da-bfa3-6063a44a486d@xen.org>
Date: Mon, 31 Jan 2022 19:03:20 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [PATCH v4] EFI: always map EfiRuntimeServices{Code,Data}
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Sergey Temerkhanov <s.temerkhanov@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <89d182f6-95e8-674a-2297-6e98435385f8@suse.com>
 <f5e38653-aa2a-c843-39c8-f8c69fc9fbde@xen.org>
 <2860d074-ecfb-273a-88c7-391e3297ccba@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <2860d074-ecfb-273a-88c7-391e3297ccba@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 27/01/2022 12:25, Jan Beulich wrote:
> On 27.01.2022 11:45, Julien Grall wrote:
>> On 12/01/2022 08:45, Jan Beulich wrote:
>>> From: Sergey Temerkhanov <s.temerkhanov@gmail.com>
>>>
>>> This helps overcome problems observed with some UEFI implementations
>>
>> Would it be possible to provide some details about the platform? This is
>> helpful to track why a workaround is present.
> 
> I cannot provide any details. I took over the patch after pinging
> Sergey more than once, without any reaction. It was him to actually
> run into the problem in the wild.

This is a quite unfortunate.

> 
>>> which don't set the Attributes field in memery descriptors properly.
>>
>> typo: s/memery/memory/
>>
>>>
>>> Signed-off-by: Sergey Temerkhanov <s.temerkhanov@gmail.com>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>> ---
>>> v4: Drop EFI_MEMORY_CACHEABILITY_MASK. Fold with pre-existing if() (into
>>>       switch()). Style.
>>> ---
>>> I guess "map_bs" would also want honoring in efi_exit_boot(), but that's
>>> yet another patch then I suppose.
>>
>> IIUC, we would need to invalidate the mapping when map_bs was used. Is
>> it correct? If so, then I agree this sounds separate to the issue you
>> are describing here.
> 
> No, the other way around: We'd also need to put in a valid virtual
> address there for EfiBootServices{Code,Data}. I expect this wasn't
> done when map_bs was introduced because iirc at that time the code
> fragment in efi_exit_boot() was entirely dead, present merely for
> documentation purposes.
> 
>>> --- a/xen/common/efi/boot.c
>>> +++ b/xen/common/efi/boot.c
>>> @@ -1094,7 +1094,13 @@ static void __init efi_exit_boot(EFI_HAN
>>>        {
>>>            EFI_MEMORY_DESCRIPTOR *desc = efi_memmap + i;
>>>    
>>> -        if ( desc->Attribute & EFI_MEMORY_RUNTIME )
>>> +        /*
>>> +         * Runtime services regions are always mapped here.
>>> +         * Attributes may be adjusted in efi_init_memory().
>>> +         */
>>> +        if ( (desc->Attribute & EFI_MEMORY_RUNTIME) ||
>>> +             desc->Type == EfiRuntimeServicesCode ||
>>> +             desc->Type == EfiRuntimeServicesData )
>>
>> My knowledge with the stub is limited. Would you be able to explain why
>> we need to map the runtime services even with !efi_enabled(EFI_RS)?
> 
> In principle we wouldn't need to, but the final setting of this bit
> isn't known yet at this point - it'll be known only after parsing
> the command line (see parse_efi_param()).

Oh. I thought efi_exit_boot() was called *after* efi_init_memory(). Your 
answer about 'map_bs' also make more sense.

Thanks for the explanation!

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 19:37:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 19:37:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263278.455948 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEcUi-0001oj-RJ; Mon, 31 Jan 2022 19:37:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263278.455948; Mon, 31 Jan 2022 19:37:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEcUi-0001oc-Nv; Mon, 31 Jan 2022 19:37:44 +0000
Received: by outflank-mailman (input) for mailman id 263278;
 Mon, 31 Jan 2022 19:37:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JbNP=SP=xilinx.com=ayankuma@srs-se1.protection.inumbo.net>)
 id 1nEcUg-0001oW-Tu
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 19:37:43 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on2062b.outbound.protection.outlook.com
 [2a01:111:f400:7eab::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3e43e9f1-82cd-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 20:37:39 +0100 (CET)
Received: from BN6PR18CA0015.namprd18.prod.outlook.com (2603:10b6:404:121::25)
 by BN6PR02MB3203.namprd02.prod.outlook.com (2603:10b6:405:6b::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.20; Mon, 31 Jan
 2022 19:37:34 +0000
Received: from BN1NAM02FT062.eop-nam02.prod.protection.outlook.com
 (2603:10b6:404:121:cafe::38) by BN6PR18CA0015.outlook.office365.com
 (2603:10b6:404:121::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.22 via Frontend
 Transport; Mon, 31 Jan 2022 19:37:34 +0000
Received: from xir-pvapexch02.xlnx.xilinx.com (149.199.80.198) by
 BN1NAM02FT062.mail.protection.outlook.com (10.13.2.168) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4930.15 via Frontend Transport; Mon, 31 Jan 2022 19:37:33 +0000
Received: from xir-pvapexch01.xlnx.xilinx.com (172.21.17.15) by
 xir-pvapexch02.xlnx.xilinx.com (172.21.17.17) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2176.14; Mon, 31 Jan 2022 19:37:32 +0000
Received: from smtp.xilinx.com (172.21.105.198) by
 xir-pvapexch01.xlnx.xilinx.com (172.21.17.15) with Microsoft SMTP Server id
 15.1.2176.14 via Frontend Transport; Mon, 31 Jan 2022 19:37:32 +0000
Received: from [10.108.8.223] (port=45786 helo=xcbayankuma41x.xilinx.com)
 by smtp.xilinx.com with esmtp (Exim 4.90)
 (envelope-from <ayan.kumar.halder@xilinx.com>)
 id 1nEcUV-0004Et-60; Mon, 31 Jan 2022 19:37:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3e43e9f1-82cd-11ec-8eb8-a37418f5ba1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KZRaIO3lcDAkUBB1tzJf20+YKLv7fCXr/ZwdB0ukY7ALZoRSJlNLy/XUTp1uaLFGJ++ubxZurXAe7rvJWMUVcKcAcKnh72U4244Ah2Fdxb8Z7FXxDRK/+amr9mSig6gvMNLcUFRvkNRGQED1HW2aJUQA/AqjWR3SgrKUCg1PmeF06dGiAR0VQmiBXnwUL88ZPfRKrscnk4Q788YbnC8Uuzpt1SZvmpjanL5igRYsKHRFLbqT6HONvf3TsE9PLTDLBIc+fzHPB/t1Oj6YIkoqkUVeYJ+F6iLwkzo3KwW9yRrygbVzUSlWPXRTxphjDpruLMuSLBqg1L0qfti73JR9Gw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tPhiATL4++ExaDOsocvDkqckH60LQUbh/POOMakJxMc=;
 b=W575Nj4iOUbTC7xQs6T5IVdgIj/jsO4fuAlW0CNsWQHQD2J0JSglcL21olphPt41/mVCTAAkJtDmmu+OsF387Q6rgYgGlp9a9PVGkKToMvc6MamXzyhiPu5ZHOBmAlsY5BRU06ih7mRoecc3FPi5WvoIhbmpmhdYkILSB+YmdU2BnqjR358OKF0UZv2j1weE68lqEvCF2ImM6Hrk7FU4uCukeAOGqM+Av+Ea/n4JtGjHI5tXeGl5aBa76/aEHvQUJvIh5t1H8dCu0GzOKeHyf+OHeHPNa90XTt/tQENoaG+baUb/yj9uW023yrJAPrLAcbHWSiZMkrJiRKXPzaDB5w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 149.199.80.198) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=xilinx.com; dmarc=pass (p=none sp=none pct=100) action=none
 header.from=xilinx.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tPhiATL4++ExaDOsocvDkqckH60LQUbh/POOMakJxMc=;
 b=hRTSTmthMpzd4ztEB430g3pO7uoINeOYOc8hLrPvGL80vfT/uu3oLa2hJWB5EABMnnMl68ialeTUAaSxU6d4WOaSRTupMKPc9c9UJT0EfqOzLaiVef5B4yMQHSXKa0Jv2GielFuzwqyKgjR9GmqmVp+cVgTYQuHqFczkZHvTXf0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 149.199.80.198)
 smtp.mailfrom=xilinx.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=xilinx.com;
Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates
 149.199.80.198 as permitted sender) receiver=protection.outlook.com;
 client-ip=149.199.80.198; helo=xir-pvapexch02.xlnx.xilinx.com;
From: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefanos@xilinx.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>, Ayan Kumar Halder
	<ayankuma@xilinx.com>
Subject: [XEN v5] xen/arm64: io: Decode ldr/str post-indexing instructions
Date: Mon, 31 Jan 2022 19:37:28 +0000
Message-ID: <20220131193728.2980-1-ayankuma@xilinx.com>
X-Mailer: git-send-email 2.17.1
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 79a7cbb8-67de-42dd-1948-08d9e4f120af
X-MS-TrafficTypeDiagnostic: BN6PR02MB3203:EE_
X-Microsoft-Antispam-PRVS:
	<BN6PR02MB32036E6040C3C7684B275903B2259@BN6PR02MB3203.namprd02.prod.outlook.com>
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
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:
	1criF5LItLjZAQCmHv2FCeFU586wtmIVV6SO9KSZQXYBq17dMR128FCzp/d/IB8u30ADhvibGp7ly7ZD8YliuhGQ/15ZTkO9mVhrJu39+woog37r6as6j9mNf2fVe+NkGop+T52JV9VX4a8Dpabtnvww80FhY26MGJkccvlCkksFua9HPer3isSPCq7vOsxIAaf5vRDNErWUBe+7aPE2VTZO1DAm6tU7G01Nj1anomn1VKSqqK3U/+9SskGD4xH50ENtwwHyFbtitZpJLBPp3yAgqJ9P62JxkKEG1SCyha9861P3zw6/xOBW8OzICuKYnLgpv0L7U5yXQBQQIMcbWASrX2xjnC1NDaUtLuH9ytA7AsMyxLVHMJ2nOj3NrQcDX1X6fCGW3SXqTANZC2i2X6bQKx5U0kdE1y1s1T9+s6p+XB3pIKlZw7seQLATmIZVQcWp/838D4BXi0ilBs+BuL5vofGLPJnhDSxhMbV8omGDt2wpzuqykesMeL0PFumrGrEbQ7i0m9Xg0v5HfR/9khoyVvvfFthMYglS5xyru2WAfYfugC+gKnTMYDnqdulQ+GsPh4dL28iqinrKFx9DJtZxWlOtXwdpCofptm9uv9Ih+crO33Nzv7zxGFv7lcdnYqWgfb0FeMX7JJfshMqGChPpF5r0G3sRtrVdYnDfWhLR7AMLns/bMYiV+W75XEUvFrkjeIXjgnJh9yBDt/znMTPVmh8MT1eEQJxoDgVndlaQOcjv1lWutfLCRlr9OtylBtyALyy4QkZ0H+nQpPo84wRBrVaJBHeGZUGEQjcPiXJJCU6vN03tTU3J227O082MCcTZXFGwjOlB87XuoVSugQ==
X-Forefront-Antispam-Report:
	CIP:149.199.80.198;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:xir-pvapexch02.xlnx.xilinx.com;PTR:unknown-80-198.xilinx.com;CAT:NONE;SFS:(13230001)(4636009)(46966006)(36840700001)(966005)(82310400004)(36860700001)(1076003)(508600001)(26005)(107886003)(186003)(336012)(426003)(2616005)(54906003)(6666004)(7696005)(83380400001)(70206006)(47076005)(6916009)(5660300002)(316002)(4326008)(70586007)(36756003)(356005)(7636003)(2906002)(8676002)(8936002)(9786002)(30864003)(102446001)(473944003)(20210929001);DIR:OUT;SFP:1101;
X-OriginatorOrg: xilinx.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 19:37:33.4514
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 79a7cbb8-67de-42dd-1948-08d9e4f120af
X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c;Ip=[149.199.80.198];Helo=[xir-pvapexch02.xlnx.xilinx.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1NAM02FT062.eop-nam02.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR02MB3203

At the moment, Xen is only handling data abort with valid syndrome (i.e.
ISV=0). Unfortunately, this doesn't cover all the instructions a domain
could use to access MMIO regions.

For instance, a baremetal OS can use any of the following instructions, where
x1 contains the address of the MMIO region:

1.      ldr     x2,    [x1],    #8
2.      ldr     w2,    [x1],    #-4
3.      ldr     x2,    [x1],    #-8
4.      ldr     w2,    [x1],    #4
5.      ldrh    w2,    [x1],    #2
6.      ldrb    w2,    [x1],    #1
7.      str     x2,    [x1],    #8
8.      str     w2,    [x1],    #-4
9.      strh    w2,    [x1],    #2
10.     strb    w2,    [x1],    #1

In the following two instructions, Rn could theoretically be stack pointer which
might contain the address of the MMIO region:-
11.     ldrb    w2,    [Rn],    #1
12.     ldrb    wzr,   [Rn],    #1

In order to handle post-indexing store/load instructions (like those mentioned
above), Xen will need to fetch and decode the instruction.

Xen will not decode the instructions if the data abort is caused by stage1
translation table walk or cache instructions. In the former scenario, it will
try to update the page tables and in the latter scenario, it will ignore the
instruction (ie simply increment the program counter).

If Xen is unable to decode the instructions, it will abort the guest.

This patch only cover post-index store/load instructions from AArch64 mode.
For now, AArch32 mode is left unimplemented.

Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
---

Changelog :-
v2 - 1. Updated the rn register after reading from it. (Pointed by Julien,
        Stefano)
     2. Used a union to represent the instruction opcode (Suggestd by Bertrand)
     3. Fixed coding style issues (Pointed by Julien)
     4. In the previous patch, I was updating dabt->sign based on the signedness
        of imm9. This was incorrect. As mentioned in ARMv8 ARM  DDI 0487G.b,
        Page 3221, SSE indicates the signedness of the data item loaded. In our
        case, the data item loaded is always unsigned.

v3- 1. Handled all the variants of ldr/str (ie 64, 32, 16, 8 bit variants).
       Thus, I have removed the check for "instr->code.opc == 0" (Suggested by
       Andre)
    2. Handled the scenario when rn = SP, rt = XZR (Suggested by Jan, Andre)
    3. Added restriction for "rt != rn" (Suggested by Andre)
    4. Moved union ldr_str_instr_class {} to decode.h. This is the header included
       by io.c and decode.c (where the union is referred). (Suggested by Jan)
    5. Indentation and typo fixes (Suggested by Jan)

v4- 1. Fixed the patch as per Stefano's comments on v3. They are as follows :-
        1.1 Use macros to determine the fixed values in the instruction opcode
        1.2 Checked if instr != NULL
        1.3 Changed some data types and added #define ARM_64 for AArch64 specific
            code 
        1.4 Moved post_increment_register() to decode.c so that the decoding
            logic is confined to a single file.
        1.5 Moved some checks from post_increment_register() to
            decode_loadstore_postindexing()
        1.6 Removed a duplicate check
    2. Updated the commit message as per Andre's comments.
    3. Changed the names of a label and some comments. *32bit* was erroneously
       mentioned in a label and comments in decode_loadstore_postindexing()
       although the function handled all variants of ldr/str post indexing.

v5- 1. Renamed decode_loadstore_postindexing() to decode_arm64(). The reason
       being this will be extended in future to support more instructions for
       which hsr_badt.isv = 0
    2. Introduce a function try_decode_instruction_invalid_iss() to determine
       if the instruction needs to be decoded before invoking decode_instruction().

       It checks :-
       2.1  dabt->s1ptw - Returns IO_UNHANDLED
       2.2  dabt->cache - Returns IO_IGNORED. (new enum instroduced to let the
            caller know that the instruction needs to be ignored by Xen. Thus
            the caller needs to increment the PC and return to the guest. 

    3. Invoked try_decode_instruction_invalid_iss() from the following 2 places :-
        3.a - try_handle_mmio() - When we have determined that there is a valid
              mmio handler.
        3.b - try_fwd_ioserv()
        When ioserver completes the io request, the acknowledgement is sent via
        handle_ioserv(). Here, we need to increment the register. As there is no
        common data shared between try_fwd_ioserv() and handle_ioserv(), we need
        to decode the instruction again in handle_ioserv() to determine rn, imm9.

        (NOTE to Reviewers) - This does not feel correct. However, I could not
        think of a better approach. Please provide your inputs.

    4. Augumented struct hsr_dabt{} with struct hsr_dabt_instr_details{} to hold
       rn and imm9. This is passed to post_increment_register() to update rn.
    5. Other style changes as suggested in v4.

 Patch has been based on the comments received on the following two patches:-
 1. https://lists.xenproject.org/archives/html/xen-devel/2022-01/msg01245.html
 2. https://lists.xenproject.org/archives/html/xen-devel/2022-01/msg01279.html

 xen/arch/arm/arm32/traps.c  |  7 ++++
 xen/arch/arm/arm64/traps.c  | 42 +++++++++++++++++++++
 xen/arch/arm/decode.c       | 73 +++++++++++++++++++++++++++++++++++++
 xen/arch/arm/decode.h       | 42 ++++++++++++++++++++-
 xen/arch/arm/io.c           | 66 +++++++++++++++++++++++++++------
 xen/arch/arm/ioreq.c        | 35 +++++++++++++++++-
 xen/arch/arm/traps.c        |  1 +
 xen/include/asm-arm/hsr.h   |  5 +++
 xen/include/asm-arm/mmio.h  |  1 +
 xen/include/asm-arm/traps.h |  1 +
 10 files changed, 258 insertions(+), 15 deletions(-)

diff --git a/xen/arch/arm/arm32/traps.c b/xen/arch/arm/arm32/traps.c
index 9c9790a6d1..62a91e8728 100644
--- a/xen/arch/arm/arm32/traps.c
+++ b/xen/arch/arm/arm32/traps.c
@@ -24,6 +24,8 @@
 #include <asm/processor.h>
 #include <asm/traps.h>
 
+struct hsr_dabt_instr_details;
+
 void do_trap_reset(struct cpu_user_regs *regs)
 {
     do_unexpected_trap("Reset", regs);
@@ -82,6 +84,11 @@ void do_trap_data_abort(struct cpu_user_regs *regs)
         do_unexpected_trap("Data Abort", regs);
 }
 
+void post_increment_register(const struct hsr_dabt_instr_details *instr_details)
+{
+    ASSERT_UNREACHABLE();
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/arm64/traps.c b/xen/arch/arm/arm64/traps.c
index 9113a15c7a..482751496f 100644
--- a/xen/arch/arm/arm64/traps.c
+++ b/xen/arch/arm/arm64/traps.c
@@ -18,9 +18,11 @@
 
 #include <xen/lib.h>
 
+#include <asm/current.h>
 #include <asm/hsr.h>
 #include <asm/system.h>
 #include <asm/processor.h>
+#include <asm/regs.h>
 
 #include <public/xen.h>
 
@@ -31,6 +33,8 @@ static const char *handler[]= {
         "Error"
 };
 
+struct hsr_dabt_instr_details; 
+
 void do_bad_mode(struct cpu_user_regs *regs, int reason)
 {
     union hsr hsr = { .bits = regs->hsr };
@@ -44,6 +48,44 @@ void do_bad_mode(struct cpu_user_regs *regs, int reason)
     panic("bad mode\n");
 }
 
+void post_increment_register(const struct hsr_dabt_instr_details *instr_details)
+{
+    struct cpu_user_regs *regs = guest_cpu_user_regs();
+    register_t val;
+
+    /*
+     * Handle when rn = SP
+     * Refer ArmV8 ARM DDI 0487G.b, Page - D1-2463 "Stack pointer register selection"
+     * t = SP_EL0
+     * h = SP_ELx
+     * and M[3:0] (Page - C5-474 "When exception taken from AArch64 state:")
+     */
+    if (instr_details->rn == 31 )
+    {
+        if ( (regs->cpsr & PSR_MODE_MASK) == PSR_MODE_EL1h )
+            val = regs->sp_el1;
+        else if ( ((regs->cpsr & PSR_MODE_MASK) == PSR_MODE_EL1t) ||
+                    ((regs->cpsr & PSR_MODE_MASK) == PSR_MODE_EL0t) )
+            val = regs->sp_el0;
+        else
+            ASSERT_UNREACHABLE();
+    }
+    else
+        val = get_user_reg(regs, instr_details->rn);
+
+    val += instr_details->imm9;
+
+    if ( instr_details->rn == 31 )
+    {
+        if ( (regs->cpsr & PSR_MODE_MASK) == PSR_MODE_EL1h )
+            regs->sp_el1 = val;
+        else
+            regs->sp_el0 = val;
+    }
+    else
+        set_user_reg(regs, instr_details->rn, val);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/decode.c b/xen/arch/arm/decode.c
index 792c2e92a7..63376adc7c 100644
--- a/xen/arch/arm/decode.c
+++ b/xen/arch/arm/decode.c
@@ -84,6 +84,76 @@ bad_thumb2:
     return 1;
 }
 
+static int decode_arm64(register_t pc, struct hsr_dabt *dabt)
+{
+    union instr opcode = {0};
+
+    if ( raw_copy_from_guest(&opcode.value, (void * __user)pc, sizeof (opcode)) )
+    {
+        gprintk(XENLOG_ERR, "Could not copy the instruction from PC\n");
+        goto bad_loadstore;
+    }
+
+    /*
+     * Refer Arm v8 ARM DDI 0487G.b, Page - C6-1107
+     * "Shared decode for all encodings" (under ldr immediate)
+     * If n == t && n != 31, then the return value is implementation defined
+     * (can be WBSUPPRESS, UNKNOWN, UNDEFINED or NOP). Thus, we do not support
+     * this. This holds true for ldrb/ldrh immediate as well.
+     *
+     * Also refer, Page - C6-1384, the above described behaviour is same for
+     * str immediate. This holds true for strb/strh immediate as well
+     */
+    if ( (opcode.ldr_str.rn == opcode.ldr_str.rt) && (opcode.ldr_str.rn != 31) )
+    {
+        gprintk(XENLOG_ERR, "Rn should not be equal to Rt except for r31\n");
+        goto bad_loadstore;
+    }
+
+    /* First, let's check for the fixed values */
+    if ( (opcode.value & POST_INDEX_FIXED_MASK) != POST_INDEX_FIXED_VALUE )
+    {
+        gprintk(XENLOG_ERR,
+            "Decoding instruction 0x%x is not supported",opcode.value);
+        goto bad_loadstore;
+    }
+
+    if ( opcode.ldr_str.v != 0 )
+    {
+        gprintk(XENLOG_ERR,
+            "ldr/str post indexing for vector types are not supported\n");
+        goto bad_loadstore;
+    }
+
+    /* Check for STR (immediate) */
+    if ( opcode.ldr_str.opc == 0 )
+        dabt->write = 1;
+    /* Check for LDR (immediate) */
+    else if ( opcode.ldr_str.opc == 1 )
+        dabt->write = 0;
+    else
+    {
+        gprintk(XENLOG_ERR,
+            "Decoding ldr/str post indexing is not supported for this variant\n");
+        goto bad_loadstore;
+    }
+
+    gprintk(XENLOG_INFO,
+        "opcode->ldr_str.rt = 0x%x, opcode->ldr_str.size = 0x%x, opcode->ldr_str.imm9 = %d\n",
+        opcode.ldr_str.rt, opcode.ldr_str.size, opcode.ldr_str.imm9);
+
+    update_dabt(dabt, opcode.ldr_str.rt, opcode.ldr_str.size, false);
+
+    dabt->dabt_instr.rn = opcode.ldr_str.rn;
+    dabt->dabt_instr.imm9 = opcode.ldr_str.imm9;
+
+    return 0;
+
+ bad_loadstore:
+    gprintk(XENLOG_ERR, "unhandled Arm instruction 0x%x\n", opcode.value);
+    return 1;
+}
+
 static int decode_thumb(register_t pc, struct hsr_dabt *dabt)
 {
     uint16_t instr;
@@ -155,6 +225,9 @@ int decode_instruction(const struct cpu_user_regs *regs, struct hsr_dabt *dabt)
     if ( is_32bit_domain(current->domain) && regs->cpsr & PSR_THUMB )
         return decode_thumb(regs->pc, dabt);
 
+    if ( !psr_mode_is_32bit(regs) )
+        return decode_arm64(regs->pc, dabt);
+
     /* TODO: Handle ARM instruction */
     gprintk(XENLOG_ERR, "unhandled ARM instruction\n");
 
diff --git a/xen/arch/arm/decode.h b/xen/arch/arm/decode.h
index 4613763bdb..7080da9ab6 100644
--- a/xen/arch/arm/decode.h
+++ b/xen/arch/arm/decode.h
@@ -23,9 +23,47 @@
 #include <asm/regs.h>
 #include <asm/processor.h>
 
-/**
+/*
+ * Refer to the ARMv8 ARM (DDI 0487G.b), Section C4.1.4 Loads and Stores
+ * Page 318 specifies the following bit pattern for
+ * "load/store register (immediate post-indexed)".
+ *
+ * 31 30 29  27 26 25  23   21 20              11   9         4       0
+ * ___________________________________________________________________
+ * |size|1 1 1 |V |0 0 |opc |0 |      imm9     |0 1 |  Rn     |  Rt   |
+ * |____|______|__|____|____|__|_______________|____|_________|_______|
+ */
+union instr {
+    uint32_t value;
+    struct {
+        unsigned int rt:5;     /* Rt register */
+        unsigned int rn:5;     /* Rn register */
+        unsigned int fixed1:2; /* value == 01b */
+        signed int imm9:9;            /* imm9 */
+        unsigned int fixed2:1; /* value == 0b */
+        unsigned int opc:2;    /* opc */
+        unsigned int fixed3:2; /* value == 00b */
+        unsigned int v:1;      /* vector */
+        unsigned int fixed4:3; /* value == 111b */
+        unsigned int size:2;   /* size */
+    } ldr_str;
+};
+
+#define POST_INDEX_FIXED_MASK   0x3B200C00
+#define POST_INDEX_FIXED_VALUE  0x38000400
+
+/*
+ * Try to decode an instruction when ISS is invalid
+ * This function determines if the instruction is to be decoded on the basis of
+ * the attributes in 'struct hsr_dabt'. If so, then invokes decode_instruction().
+ * If not, it returns an appropriate io_state.
+ */
+enum io_state try_decode_instruction_invalid_iss(const struct cpu_user_regs *regs,
+                                                 struct hsr_dabt *dabt);
+
+/*
  * Decode an instruction from pc
- * /!\ This function is not intended to fully decode an instruction. It
+ * This function is not intended to fully decode an instruction. It
  * considers that the instruction is valid.
  *
  * This function will get:
diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
index 14d39222f2..dede7d59b0 100644
--- a/xen/arch/arm/io.c
+++ b/xen/arch/arm/io.c
@@ -95,6 +95,35 @@ static const struct mmio_handler *find_mmio_handler(struct domain *d,
     return handler;
 }
 
+enum io_state try_decode_instruction_invalid_iss(const struct cpu_user_regs *regs,
+                                                 struct hsr_dabt *dabt)
+{
+    int rc;
+
+    /*
+     * Xen should not decode the instruction when it was trapped due to
+     * translation fault.
+     */
+    if ( dabt->s1ptw )
+        return IO_UNHANDLED;
+
+    /*
+     * If the fault occurred due to cache maintenance or address translation
+     * instructions, then Xen needs to ignore these instructions.
+     */
+    if ( dabt->cache )
+        return IO_IGNORED;
+
+    rc = decode_instruction(regs, dabt);
+    if ( rc )
+    {
+        gprintk(XENLOG_ERR, "Unable to decode instruction\n");
+        return IO_ABORT;
+    }
+    else
+        return IO_HANDLED;
+}
+
 enum io_state try_handle_mmio(struct cpu_user_regs *regs,
                               const union hsr hsr,
                               paddr_t gpa)
@@ -106,21 +135,14 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
         .gpa = gpa,
         .dabt = dabt
     };
+    int rc;
+    bool instr_decoded = false;
 
     ASSERT(hsr.ec == HSR_EC_DATA_ABORT_LOWER_EL);
 
-    /* All the instructions used on emulated MMIO region should be valid */
-    if ( !dabt.valid )
-    {
-        gprintk(XENLOG_DEBUG, "No valid instruction syndrome for data abort\n");
-        return IO_ABORT;
-    }
-
     handler = find_mmio_handler(v->domain, info.gpa);
     if ( !handler )
     {
-        int rc;
-
         rc = try_fwd_ioserv(regs, v, &info);
         if ( rc == IO_HANDLED )
             return handle_ioserv(regs, v);
@@ -128,6 +150,21 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
         return rc;
     }
 
+    /*
+     * Armv8 processor does not provide a valid syndrome for decoding some
+     * instructions. So in order to process these instructions, Xen must
+     * decode them.
+     */
+    if ( !dabt.valid )
+    {
+        rc = try_decode_instruction_invalid_iss(regs, &info.dabt);
+
+        if ( rc != IO_HANDLED)
+            return rc;
+        else
+            instr_decoded = true;
+    }
+
     /*
      * Erratum 766422: Thumb store translation fault to Hypervisor may
      * not have correct HSR Rt value.
@@ -146,9 +183,16 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
     }
 
     if ( info.dabt.write )
-        return handle_write(handler, v, &info);
+        rc = handle_write(handler, v, &info);
     else
-        return handle_read(handler, v, &info);
+        rc = handle_read(handler, v, &info);
+
+    if ( instr_decoded )
+    {
+        post_increment_register(&info.dabt.dabt_instr);
+    }
+
+    return rc;
 }
 
 void register_mmio_handler(struct domain *d,
diff --git a/xen/arch/arm/ioreq.c b/xen/arch/arm/ioreq.c
index 308650b400..f19fb46f72 100644
--- a/xen/arch/arm/ioreq.c
+++ b/xen/arch/arm/ioreq.c
@@ -23,16 +23,35 @@
 
 #include <public/hvm/ioreq.h>
 
+#include "decode.h"
+
 enum io_state handle_ioserv(struct cpu_user_regs *regs, struct vcpu *v)
 {
     const union hsr hsr = { .bits = regs->hsr };
-    const struct hsr_dabt dabt = hsr.dabt;
+    struct hsr_dabt dabt = hsr.dabt;
+
     /* Code is similar to handle_read */
     register_t r = v->io.req.data;
 
     /* We are done with the IO */
     v->io.req.state = STATE_IOREQ_NONE;
 
+    /*
+     * Note that we have already decoded the instruction in try_fwd_ioserv().
+     * We decode the instruction again to obtain rn and imm9. This will be used
+     * to do the post increment.
+     * Also there is no need to check whether the instruction can be decoded or
+     * was successfully decoded. The reason being if there was an error, then
+     * try_fwd_ioserv() would have returned error and this function would not
+     * have been called. Thus, there is an assumption that handle_iosev() is
+     * invoked when try_fwd_ioserv() has returned successfully.
+     */
+    if ( !dabt.valid )
+    {
+        decode_instruction(regs, &dabt);
+        post_increment_register(&dabt.dabt_instr);
+    }
+
     if ( dabt.write )
         return IO_HANDLED;
 
@@ -65,6 +84,8 @@ enum io_state try_fwd_ioserv(struct cpu_user_regs *regs,
     };
     struct ioreq_server *s = NULL;
     enum io_state rc;
+    bool instr_decoded = false;
+    const union hsr hsr = { .bits = regs->hsr };
 
     if ( vio->req.state != STATE_IOREQ_NONE )
     {
@@ -76,8 +97,18 @@ enum io_state try_fwd_ioserv(struct cpu_user_regs *regs,
     if ( !s )
         return IO_UNHANDLED;
 
+    /*
+     * Armv8 processor does not provide a valid syndrome for decoding some
+     * instructions (for eg post-indexing ldr/str instructions). So in order to
+     * process these instructions, Xen must decode them.
+     */
     if ( !info->dabt.valid )
-        return IO_ABORT;
+    {
+        rc = try_decode_instruction_invalid_iss(regs, &info->dabt);
+
+        if ( rc != IO_HANDLED)
+            return rc;
+    }
 
     vio->req = p;
 
diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 219ab3c3fb..2958e4b697 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -1979,6 +1979,7 @@ static void do_trap_stage2_abort_guest(struct cpu_user_regs *regs,
             {
             case IO_ABORT:
                 goto inject_abt;
+            case IO_IGNORED:
             case IO_HANDLED:
                 advance_pc(regs, hsr);
                 return;
diff --git a/xen/include/asm-arm/hsr.h b/xen/include/asm-arm/hsr.h
index 9b91b28c48..2d1fbec2ab 100644
--- a/xen/include/asm-arm/hsr.h
+++ b/xen/include/asm-arm/hsr.h
@@ -143,6 +143,11 @@ union hsr {
         unsigned long valid:1; /* Syndrome Valid */
         unsigned long len:1;   /* Instruction length */
         unsigned long ec:6;    /* Exception Class */
+        
+        struct hsr_dabt_instr_details {
+            unsigned long rn:5;
+            signed int imm9:9;
+        } dabt_instr; /* Data abort details obtained from instr decoding */
     } dabt; /* HSR_EC_DATA_ABORT_* */
 
     /* Contain the common bits between DABT and IABT */
diff --git a/xen/include/asm-arm/mmio.h b/xen/include/asm-arm/mmio.h
index 7ab873cb8f..0cf00bc5a7 100644
--- a/xen/include/asm-arm/mmio.h
+++ b/xen/include/asm-arm/mmio.h
@@ -36,6 +36,7 @@ enum io_state
 {
     IO_ABORT,       /* The IO was handled by the helper and led to an abort. */
     IO_HANDLED,     /* The IO was successfully handled by the helper. */
+    IO_IGNORED,     /* The IO was ignored by the helper. */
     IO_UNHANDLED,   /* The IO was not handled by the helper. */
     IO_RETRY,       /* Retry the emulation for some reason */
 };
diff --git a/xen/include/asm-arm/traps.h b/xen/include/asm-arm/traps.h
index 2ed2b85c6f..bd22c6575d 100644
--- a/xen/include/asm-arm/traps.h
+++ b/xen/include/asm-arm/traps.h
@@ -109,6 +109,7 @@ static inline register_t sign_extend(const struct hsr_dabt dabt, register_t r)
     return r;
 }
 
+void post_increment_register(const struct hsr_dabt_instr_details *instr_details);
 #endif /* __ASM_ARM_TRAPS__ */
 /*
  * Local variables:
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Mon Jan 31 19:42:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 19:42:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263286.455959 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEcYv-0003GG-HX; Mon, 31 Jan 2022 19:42:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263286.455959; Mon, 31 Jan 2022 19:42:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEcYv-0003G9-DX; Mon, 31 Jan 2022 19:42:05 +0000
Received: by outflank-mailman (input) for mailman id 263286;
 Mon, 31 Jan 2022 19:42:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JbNP=SP=xilinx.com=ayankuma@srs-se1.protection.inumbo.net>)
 id 1nEcYt-0003G3-Cw
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 19:42:03 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20603.outbound.protection.outlook.com
 [2a01:111:f400:7eab::603])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dbe688eb-82cd-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 20:42:02 +0100 (CET)
Received: from SN7PR04CA0106.namprd04.prod.outlook.com (2603:10b6:806:122::21)
 by DM8PR02MB7877.namprd02.prod.outlook.com (2603:10b6:8:20::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.20; Mon, 31 Jan
 2022 19:41:58 +0000
Received: from SN1NAM02FT0059.eop-nam02.prod.protection.outlook.com
 (2603:10b6:806:122:cafe::91) by SN7PR04CA0106.outlook.office365.com
 (2603:10b6:806:122::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17 via Frontend
 Transport; Mon, 31 Jan 2022 19:41:58 +0000
Received: from xir-pvapexch01.xlnx.xilinx.com (149.199.80.198) by
 SN1NAM02FT0059.mail.protection.outlook.com (10.97.5.175) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4930.15 via Frontend Transport; Mon, 31 Jan 2022 19:41:58 +0000
Received: from xir-pvapexch02.xlnx.xilinx.com (172.21.17.17) by
 xir-pvapexch01.xlnx.xilinx.com (172.21.17.15) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2176.14; Mon, 31 Jan 2022 19:41:56 +0000
Received: from smtp.xilinx.com (172.21.105.197) by
 xir-pvapexch02.xlnx.xilinx.com (172.21.17.17) with Microsoft SMTP Server id
 15.1.2176.14 via Frontend Transport; Mon, 31 Jan 2022 19:41:56 +0000
Received: from [10.71.117.31] (port=5775)
 by smtp.xilinx.com with esmtp (Exim 4.90)
 (envelope-from <ayan.kumar.halder@xilinx.com>)
 id 1nEcYm-0000Ld-Gm; Mon, 31 Jan 2022 19:41: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: dbe688eb-82cd-11ec-8eb8-a37418f5ba1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lZ4/NfP+LWr0lufXBHdBxlVxgKIUeTUyJsXa38d+WK6/CGuWx5XTuHUr3yHZzR28AvjNA87DeGRZ7C+dz4mHsuCEZcCeHlKzn80E0qjWrLPyzEGC5aGAa90qfKTDn40JaYTcwk21w5iDjvoF+YU5NqiklXW6DWm458RXHXZ/JrBby5rYsaqkYzy44fjD4C0ix25XHbzzRnnRvNlw4suAQHr9sWLeXkTp5y6Kvou5a5/119KcEw4UikcvrVr9OCnixM16ck/wcYR06OpZeamswH0Q/PoXincl39ya+OxpK98WOnuW0DqT64B0KJ2r1ImN+jBL7bOJGVtTqoE2oqK3Yg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FztjTXZ6bBYyl2o6txI8hdnqWYyxquLqkvM5TW1qZcs=;
 b=FeqtFKnc1U6QRqzl4sJ+LpwXpp/gPB9aijuISqzEAKejRO5VXPIdX0K7m244R/1XQGGXFVSA4w7oWkwcTiNpLE4e3vyvAwowULBpzj6Vn14TTr0WjkhlAPDTEyDamZ+nCSshhWxhnzO1T4baP3Bc63fRIQCtATgkAoFM5rGqUUFM4TuMJf6+0Cikw7vQPwL1VxjBn/mUhFCnKW0dxzpPvOU7Q3k9CPE5E6Wn5fYyy4N30otSAPtVl6bKVj9ANGfWEgB8F2DXuaUXu9puQH1gYVzQQmgqOE8luRmU73Pn4qQQhodqpalTlbKXQW9/Sdt2ccp1TPNgdo6hMwvSvEtqoA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 149.199.80.198) smtp.rcpttodomain=xen.org smtp.mailfrom=xilinx.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=xilinx.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FztjTXZ6bBYyl2o6txI8hdnqWYyxquLqkvM5TW1qZcs=;
 b=Y9UNdQI8kQs62EiXwmRNjQKXhrt90cStfXqV4NbFrB34eCL9T+1+yo9ALlYLHJvG+CIJpQkf8219hIXNcV65/uiA8MGp8kU9eqVmEv7OP70J5qlpB2cybRUGh/ikfcFI7fTywCaXVyko9jPsMQ3IkAB+igZ72Mkk40qXlSW2mFs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 149.199.80.198)
 smtp.mailfrom=xilinx.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=xilinx.com;
Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates
 149.199.80.198 as permitted sender) receiver=protection.outlook.com;
 client-ip=149.199.80.198; helo=xir-pvapexch01.xlnx.xilinx.com;
Message-ID: <f209d185-1c64-74f0-bb79-16feafe77242@xilinx.com>
Date: Mon, 31 Jan 2022 19:41:56 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [XEN v1] xen/arm: io: Check ESR_EL2.ISV != 0 before searching for
 a MMIO handler
To: Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien.grall.oss@gmail.com>, Ayan Kumar Halder
	<ayan.kumar.halder@xilinx.com>, xen-devel <xen-devel@lists.xenproject.org>,
	<stefanos@xilinx.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>
References: <20220126165827.61168-1-ayankuma@xilinx.com>
 <CAJ=z9a1KjOAeR4vpRQGA_sYSvx1h331NKim2bgG8jyru94Beow@mail.gmail.com>
 <eeedbb72-d881-363d-c862-234b705eaec7@xilinx.com>
 <CAJ=z9a0VEqr_ODQZvdsO82PiOpHt5-TVc4JWE5pJCeNYPh+XHg@mail.gmail.com>
 <bee7ea7a-6d3d-bf3c-4b5f-d40deb601867@xilinx.com>
 <2064878e-4ef1-f0a3-1476-7175c2c8d29e@xen.org>
 <bcd28a18-80ea-0987-6867-5c6fc634a8a5@xilinx.com>
 <f6853134-8b65-5ffb-b39a-62ed26b3f499@xen.org>
 <alpine.DEB.2.22.394.2201271327430.27308@ubuntu-linux-20-04-desktop>
 <CAJ=z9a2Sp6w0b21p96YHx4w_m0jAbYJ4v=cVar-1nPeL7SotZw@mail.gmail.com>
 <CAJ=z9a1HML30aGn52GY34g-QbvLPHep7j=H-UDxsH1+B0CEb3Q@mail.gmail.com>
 <alpine.DEB.2.22.394.2201271513330.27308@ubuntu-linux-20-04-desktop>
 <9880cf7c-962f-8a32-483c-2bf5889d3273@xen.org>
 <alpine.DEB.2.22.394.2201281216130.27308@ubuntu-linux-20-04-desktop>
 <4d5a9e02-47ee-ef04-5c8f-602ad4bb9e81@xen.org>
From: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>
In-Reply-To: <4d5a9e02-47ee-ef04-5c8f-602ad4bb9e81@xen.org>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e935cd0c-25e4-4b55-e0fa-08d9e4f1be7f
X-MS-TrafficTypeDiagnostic: DM8PR02MB7877:EE_
X-Microsoft-Antispam-PRVS:
	<DM8PR02MB787733E6735B594ECFFE0746B2259@DM8PR02MB7877.namprd02.prod.outlook.com>
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
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:
	oBZF8gNI84m6/An5xGf2qH0zWpTLSpUfViC8C4U6lw8YH2ieJCWU5wkzH1T9hhID1mJOZJiU0O+9Q/TqPYa7bR7i3eEjBmFAWYr2xLtrXOqUKQfB18fYTjInb7r0UNTXAZRlhFnLzbX85YXellvlAZUvKfZ3QfCqfMuEWUgW61jjvi6FeSpFTzgjF9yNJ62hR7i6ItoyfsDy4ixGnW+if0vqJHC7YdxRvVoSVqCqc22bDxN8KBwMOhGwZQUMOLlX8dqjcvNH+5FIxr3sNAYMJsVRb0ZPNvqkR4HiooL95yeydkUnYccH1QkHujw75LZ8N0rdgCwZSOI6bYfCieMIQeiSqXsHL66iZOWToE9E5rb5D70Srlv9mU4+5aSHCdcb7z6Rn5+KHUGUZQCcGxsofkQjU1ovEreYlqsJ1uED46bMUPLe//S+Gdc+DuWYJ9p2yDwMH+s11HgtfOj4Pf4rgBPTdeA05iIvdPIOjtw5ZaPPpaQkla/ipxKWyEnViUdEO3PmpfSYsWrLrWPywTAg9Za6Ir62eNLdQTRlORIGSsM8EKSggJCFCjoTJX6txJi8NvAPkvakPj6z8wrLLUFW7D6TeZClB+0jTYgSDIeHwQBVKc3RF3Xal3KL/BcOIDoRpocGc5abTiGdWFXQXnSn5atNJUuAxMWVkDh0qsYPz8Q7No+hywGyWQYb9A0i6awUJKpPu9yzv2Xbsbyy0d0hZsyZER8XLFjlVowXhSoWSxho0pebIwQSygT7sLuxS/SvBIqyBdf2Gns9zpzqc+K/2Q==
X-Forefront-Antispam-Report:
	CIP:149.199.80.198;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:xir-pvapexch01.xlnx.xilinx.com;PTR:unknown-80-198.xilinx.com;CAT:NONE;SFS:(13230001)(4636009)(40470700004)(36840700001)(46966006)(31686004)(83380400001)(47076005)(36860700001)(53546011)(508600001)(186003)(426003)(2616005)(26005)(36756003)(336012)(40460700003)(4326008)(31696002)(82310400004)(9786002)(356005)(8676002)(2906002)(7636003)(70206006)(5660300002)(316002)(110136005)(70586007)(8936002)(54906003)(51383001)(50156003)(43740500002)(20210929001);DIR:OUT;SFP:1101;
X-OriginatorOrg: xilinx.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 19:41:58.1282
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e935cd0c-25e4-4b55-e0fa-08d9e4f1be7f
X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c;Ip=[149.199.80.198];Helo=[xir-pvapexch01.xlnx.xilinx.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SN1NAM02FT0059.eop-nam02.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM8PR02MB7877

Hi Stefano/Julien,

On 29/01/2022 17:40, Julien Grall wrote:
> Hi Stefano,
>
> On 28/01/2022 20:23, Stefano Stabellini wrote:
>> On Fri, 28 Jan 2022, Julien Grall wrote:
>>> On 28/01/2022 01:20, Stefano Stabellini wrote:
>>>> On Thu, 27 Jan 2022, Julien Grall wrote:
>>>>> On Thu, 27 Jan 2022 at 23:05, Julien Grall 
>>>>> <julien.grall.oss@gmail.com>
>>>>> wrote:
>>>>>>
>>>>>> On Thu, 27 Jan 2022 at 22:40, Stefano Stabellini
>>>>>> <sstabellini@kernel.org> wrote:
>>>>>>> I am with you on both points.
>>>>>>>
>>>>>>> One thing I noticed is that the code today is not able to deal with
>>>>>>> IO_UNHANDLED for MMIO regions handled by IOREQ servers or Xen MMIO
>>>>>>> emulator handlers. p2m_resolve_translation_fault and 
>>>>>>> try_map_mmio are
>>>>>>> called after try_handle_mmio returns IO_UNHANDLED but 
>>>>>>> try_handle_mmio
>>>>>>> is
>>>>>>> not called a second time (or am I mistaken?)
>>>>>>
>>>>>> Why would you need it? If try_mmio_fault() doesn't work the first 
>>>>>> time,
>>>>>> then
>>>>>
>>>>> Sorry I meant try_handle_mmio().
>>>>>
>>>>>> it will not work the second it.
>>>>
>>>> I think I explained myself badly, I'll try again below.
>>>>
>>>>
>>>>>>> Another thing I noticed is that currently find_mmio_handler and
>>>>>>> try_fwd_ioserv expect dabt to be already populated and valid so it
>>>>>>> would
>>>>>>> be better if we could get there only when dabt.valid.
>>>>>>>
>>>>>>> With these two things in mind, I think maybe the best thing to 
>>>>>>> do is
>>>>>>> to
>>>>>>> change the code in do_trap_stage2_abort_guest slightly so that
>>>>>>> p2m_resolve_translation_fault and try_map_mmio are called first 
>>>>>>> when
>>>>>>> !dabt.valid.
>>>>>>
>>>>>> An abort will mostly likely happen because of emulated I/O. If we 
>>>>>> call
>>>>>> p2m_resolve_translation_fault() and try_map_mmio() first, then it 
>>>>>> means
>>>>>> the processing will take longer than necessary for the common case.
>>>>>>
>>>>>> So I think we want to keep the order as it is. I.e first trying 
>>>>>> the MMIO
>>>>>> and then falling back to the less likely reason for a trap.
>>>>
>>>> Yeah I thought about it as well. The idea would be that if 
>>>> dabt.valid is
>>>> set then we leave things as they are (we call try_handle_mmio 
>>>> first) but
>>>> if dabt.valid is not set (it is not valid) then we skip the
>>>> try_handle_mmio() call because it wouldn't succeed anyway and go
>>>> directly to p2m_resolve_translation_fault() and try_map_mmio().
>>>>
>>>> If either of them work (also reading what you wrote about it) then we
>>>> return immediately.
>>>
>>> Ok. So the assumption is data abort with invalid syndrome would 
>>> mostly likely
>>> be because of a fault handled by p2m_resolve_translation_fault().
>>>
>>> I think this makes sense. However, I am not convinced we can 
>>> currently safely
>>> call try_map_mmio() before try_handle_mmio(). This is because the 
>>> logic in
>>> try_map_mmio() is quite fragile and we may mistakenly map an 
>>> emulated region.
>>>
>>> Similarly, we can't call try_map_mmio() before 
>>> p2m_resolve_translation_fault()
>>> because a transient fault may be
>>> misinterpreted.
>>>
>>> I think we may be able to harden try_map_mmio() by checking if the 
>>> I/O region
>>> is emulated. But this will need to be fully thought through first.
>>
>> That's a good point. I wonder if it could be as simple as making sure
>> that iomem_access_permitted returns false for all emulated regions?
>
> I have replied to that in the other thread. The short answer is no and...
>
>> Looking at the code, it looks like it is already the case today. Is that
>> right?
>
> not 100%. The thing is iomem_access_permitted() is telling you which 
> *host* physical address is accessible. Not which *guest* physical 
> address is emulated.
>
> We could possibly take some short cut at the risk of bitting back in 
> the future if we end up to emulate non-existing region in the host 
> physical address.

I have sent out a "[XEN v5] xen/arm64: io: Decode ldr/str post-indexing 
instructions" addressing some of the comments based on the discussion. 
As for this patch, we agreed that this is incorrect. Thus, there will be 
no v2 patch for this.

- Ayan

>
> Cheers,
>


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 19:48:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 19:48:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263294.455970 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEcen-0003wi-6w; Mon, 31 Jan 2022 19:48:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263294.455970; Mon, 31 Jan 2022 19: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 1nEcen-0003wb-2z; Mon, 31 Jan 2022 19:48:09 +0000
Received: by outflank-mailman (input) for mailman id 263294;
 Mon, 31 Jan 2022 19:48:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JbNP=SP=xilinx.com=ayankuma@srs-se1.protection.inumbo.net>)
 id 1nEcek-0003wV-Qv
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 19:48:06 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20602.outbound.protection.outlook.com
 [2a01:111:f400:fe59::602])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b3cdc6d9-82ce-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 20:48:04 +0100 (CET)
Received: from BN0PR04CA0130.namprd04.prod.outlook.com (2603:10b6:408:ed::15)
 by SN6PR02MB5342.namprd02.prod.outlook.com (2603:10b6:805:74::29)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.20; Mon, 31 Jan
 2022 19:48:01 +0000
Received: from BN1NAM02FT031.eop-nam02.prod.protection.outlook.com
 (2603:10b6:408:ed:cafe::8e) by BN0PR04CA0130.outlook.office365.com
 (2603:10b6:408:ed::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15 via Frontend
 Transport; Mon, 31 Jan 2022 19:48:00 +0000
Received: from xir-pvapexch01.xlnx.xilinx.com (149.199.80.198) by
 BN1NAM02FT031.mail.protection.outlook.com (10.13.2.145) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.4930.15 via Frontend Transport; Mon, 31 Jan 2022 19:48:00 +0000
Received: from xir-pvapexch02.xlnx.xilinx.com (172.21.17.17) by
 xir-pvapexch01.xlnx.xilinx.com (172.21.17.15) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2176.14; Mon, 31 Jan 2022 19:47:59 +0000
Received: from smtp.xilinx.com (172.21.105.197) by
 xir-pvapexch02.xlnx.xilinx.com (172.21.17.17) with Microsoft SMTP Server id
 15.1.2176.14 via Frontend Transport; Mon, 31 Jan 2022 19:47:59 +0000
Received: from [10.71.117.31] (port=5781)
 by smtp.xilinx.com with esmtp (Exim 4.90)
 (envelope-from <ayan.kumar.halder@xilinx.com>)
 id 1nEced-00013E-7e; Mon, 31 Jan 2022 19:47:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b3cdc6d9-82ce-11ec-8eb8-a37418f5ba1a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FRif7Na7knFnt6XcYgG/xjb/ZY4ZxSwO1Jgj4yjXvKDGXcauIMkQTlgFqvOrjw4pt9FVlJFj+CnxGNOksOgRyim4FMYXmdVqe/bu8uQ0gcLw8TkewOdMN8rGJ1J7TK3SNd8uArZlm2zcht4W++A0/lD89Rmt8YCnfqoIvkwSxiR4j0TBPAqVggY/FHgFdd3rRLljxD6fav21MTMx7p9g85FxLBuHbZmA27zWomRt9/wp4v5Jy/7sZZt1QI5hf4HWFYCHsuf6VY74vMvEaGYjsUwspJ0ZbMYhvrEAlUZqSOfe2+hx0zImhH2dA5/gHhh/bADg4sSYN1PJvegHx/NViQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hv4kbZUnvTijxqnxqkup37qDCFF0CRDMc0J8Iyd95Yc=;
 b=dPgV8zZHzcxBWeD8EkU2MI/fLR6NRMbxpozc1k5UxlMm+RRb6nh9Hkdq8dvGE5tPSDdugMEjOE4i5aELBzdiBAi6gFY9qNPa0Ek8eEnt+7rMTxKHDerHrYps89PPhZ9Ad22pGQFR1uFB5DCmtXfIAOe8VwIvLHcsQ54kr1WrdDZLp3ERfbiZ6ceycKaWmhd4l0VU+8NNpylerdknTWmABuoO3k0yo2Z17Jtuf6Fw+dPdF6rs3lWxq8l0xkpYP2cNHnqiX1sC5+gxCr139YwIIwAXSrrFOEz4akwOoiGNAoBLiUS6PUzaLZsvhR7Olrv1oWjjZ+s36hxOdeOglhk3Ww==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 149.199.80.198) smtp.rcpttodomain=lists.xenproject.org
 smtp.mailfrom=xilinx.com; dmarc=pass (p=none sp=none pct=100) action=none
 header.from=xilinx.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hv4kbZUnvTijxqnxqkup37qDCFF0CRDMc0J8Iyd95Yc=;
 b=llskcDKQ3KIMaj2jBEOANscJYg/lp82ap9e4xs4Ggrgeu4teSAp0RzVm6Mj9fNVT3xoMSgg/Y80K3o95SFl/7QBFJU5ItwBjIBU7PZyHiS88mxDEapC6crstKFlqBDbh2Czcg/ugHjVsd2190akVw/8v4AOlrdwe2w9mvOgpUnQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 149.199.80.198)
 smtp.mailfrom=xilinx.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=xilinx.com;
Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates
 149.199.80.198 as permitted sender) receiver=protection.outlook.com;
 client-ip=149.199.80.198; helo=xir-pvapexch01.xlnx.xilinx.com;
Message-ID: <ebc23e5f-c172-1276-fcef-9b9216b61922@xilinx.com>
Date: Mon, 31 Jan 2022 19:47:58 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [XEN v5] xen/arm64: io: Decode ldr/str post-indexing instructions
To: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>,
	<xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefanos@xilinx.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>
References: <20220131193728.2980-1-ayankuma@xilinx.com>
From: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>
In-Reply-To: <20220131193728.2980-1-ayankuma@xilinx.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3fcc6cf1-7226-4601-db86-08d9e4f29668
X-MS-TrafficTypeDiagnostic: SN6PR02MB5342:EE_
X-Microsoft-Antispam-PRVS:
	<SN6PR02MB534252B464E01DFF23F42ED0B2259@SN6PR02MB5342.namprd02.prod.outlook.com>
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
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:
	ZWHdvZpNMfYIHibBIpl1JUu7WfkxJCONN3VmqSPeICLg40F03bmRqng6NVBzpbYvJe/LqpAqx0ogj2A4N+mTGp+7RIMxeB/2h/+OV30eImr5tUW9wTlhcZw4eHuf+MaudIwABltN34nOG1W+DYk6tkOpekrP/msEE/mW8Lfj/Qbg52SINv+kbWy5w+H2xvTjLPl1jLuYtFM/wwU66S3mjtmhxHi3FwTFTCl337p2GlbaqntlHhA0Wv5R4t2/cID4yWqR6IJKtCRgAqSQdeK9mNprym+WTtItkVCb8ws5N2iUwP/nFjz07gQDgmGmaMzj3gPUL/v4Jv14eD/YTyOXBH4sIsI2R6xmX6x/2crc6RzW8RvH2Itic927OldXjXDBiMGVhKSXByNDH+AsXREN0juFZrDtyA8qOYQx2IDrilLOpUFMNM5kYzjVDhgmnm3EZiUV3X1Sj9beKVIiiuaRvz4plFP2nz4TLlzMAxIk3o6PV9QVZeuUlUNoUaU4k/dQ8hmDHuoGkkOCmtdHjPuaa/pjaDLl0+xcE6oRXkZW46Xp9zVOABA9imbkqIJUe9WvPNVV1MV98QwjR9eZvVyUUJxLW0sxFxVK1g8m4hswuVovV/TnAUQRDSyjjk5UD81oHDWND0q0jTibP58ZfgpDbIj60hL80tt6/dtt/4mdlM1v9g151Xvwv1o0aIigM2gATM4A9FeDmrRWjhbXd9rDJoTA4aH0+PJjnOL/syZkSls/zaEIuoxSO+z7tTx1L6s+gJ4VIV59oY3g1nxRiCECfxZwRqUNfUfTnJk6AndfrbWgL/DHMgnc1o+XiRtjx4O90RMNDoc/K6ju5vqtmhKZTVC/nnVcLfXjb6HLCdTdzpdduLJeffoO9U91pUoHbJCopnEaO/iuALpwrqwjDxJ8Rg==
X-Forefront-Antispam-Report:
	CIP:149.199.80.198;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:xir-pvapexch01.xlnx.xilinx.com;PTR:unknown-80-198.xilinx.com;CAT:NONE;SFS:(13230001)(4636009)(46966006)(36840700001)(40470700004)(83380400001)(31686004)(36860700001)(31696002)(70586007)(70206006)(47076005)(316002)(54906003)(110136005)(966005)(82310400004)(426003)(336012)(2616005)(5660300002)(9786002)(4326008)(8936002)(8676002)(30864003)(53546011)(36756003)(356005)(7636003)(186003)(26005)(2906002)(40460700003)(508600001)(50156003)(43740500002)(473944003)(20210929001);DIR:OUT;SFP:1101;
X-OriginatorOrg: xilinx.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2022 19:48:00.4590
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3fcc6cf1-7226-4601-db86-08d9e4f29668
X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c;Ip=[149.199.80.198];Helo=[xir-pvapexch01.xlnx.xilinx.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1NAM02FT031.eop-nam02.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR02MB5342

Hi All,

On 31/01/2022 19:37, Ayan Kumar Halder wrote:
> At the moment, Xen is only handling data abort with valid syndrome (i.e.
> ISV=0). Unfortunately, this doesn't cover all the instructions a domain
> could use to access MMIO regions.
>
> For instance, a baremetal OS can use any of the following instructions, where
> x1 contains the address of the MMIO region:
>
> 1.      ldr     x2,    [x1],    #8
> 2.      ldr     w2,    [x1],    #-4
> 3.      ldr     x2,    [x1],    #-8
> 4.      ldr     w2,    [x1],    #4
> 5.      ldrh    w2,    [x1],    #2
> 6.      ldrb    w2,    [x1],    #1
> 7.      str     x2,    [x1],    #8
> 8.      str     w2,    [x1],    #-4
> 9.      strh    w2,    [x1],    #2
> 10.     strb    w2,    [x1],    #1
>
> In the following two instructions, Rn could theoretically be stack pointer which
> might contain the address of the MMIO region:-
> 11.     ldrb    w2,    [Rn],    #1
> 12.     ldrb    wzr,   [Rn],    #1
>
> In order to handle post-indexing store/load instructions (like those mentioned
> above), Xen will need to fetch and decode the instruction.
>
> Xen will not decode the instructions if the data abort is caused by stage1
> translation table walk or cache instructions. In the former scenario, it will
> try to update the page tables and in the latter scenario, it will ignore the
> instruction (ie simply increment the program counter).
>
> If Xen is unable to decode the instructions, it will abort the guest.
>
> This patch only cover post-index store/load instructions from AArch64 mode.
> For now, AArch32 mode is left unimplemented.
>
> Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
> ---
>
> Changelog :-
> v2 - 1. Updated the rn register after reading from it. (Pointed by Julien,
>          Stefano)
>       2. Used a union to represent the instruction opcode (Suggestd by Bertrand)
>       3. Fixed coding style issues (Pointed by Julien)
>       4. In the previous patch, I was updating dabt->sign based on the signedness
>          of imm9. This was incorrect. As mentioned in ARMv8 ARM  DDI 0487G.b,
>          Page 3221, SSE indicates the signedness of the data item loaded. In our
>          case, the data item loaded is always unsigned.
>
> v3- 1. Handled all the variants of ldr/str (ie 64, 32, 16, 8 bit variants).
>         Thus, I have removed the check for "instr->code.opc == 0" (Suggested by
>         Andre)
>      2. Handled the scenario when rn = SP, rt = XZR (Suggested by Jan, Andre)
>      3. Added restriction for "rt != rn" (Suggested by Andre)
>      4. Moved union ldr_str_instr_class {} to decode.h. This is the header included
>         by io.c and decode.c (where the union is referred). (Suggested by Jan)
>      5. Indentation and typo fixes (Suggested by Jan)
>
> v4- 1. Fixed the patch as per Stefano's comments on v3. They are as follows :-
>          1.1 Use macros to determine the fixed values in the instruction opcode
>          1.2 Checked if instr != NULL
>          1.3 Changed some data types and added #define ARM_64 for AArch64 specific
>              code
>          1.4 Moved post_increment_register() to decode.c so that the decoding
>              logic is confined to a single file.
>          1.5 Moved some checks from post_increment_register() to
>              decode_loadstore_postindexing()
>          1.6 Removed a duplicate check
>      2. Updated the commit message as per Andre's comments.
>      3. Changed the names of a label and some comments. *32bit* was erroneously
>         mentioned in a label and comments in decode_loadstore_postindexing()
>         although the function handled all variants of ldr/str post indexing.
>
> v5- 1. Renamed decode_loadstore_postindexing() to decode_arm64(). The reason
>         being this will be extended in future to support more instructions for
>         which hsr_badt.isv = 0
>      2. Introduce a function try_decode_instruction_invalid_iss() to determine
>         if the instruction needs to be decoded before invoking decode_instruction().
>
>         It checks :-
>         2.1  dabt->s1ptw - Returns IO_UNHANDLED
>         2.2  dabt->cache - Returns IO_IGNORED. (new enum instroduced to let the
>              caller know that the instruction needs to be ignored by Xen. Thus
>              the caller needs to increment the PC and return to the guest.
>
>      3. Invoked try_decode_instruction_invalid_iss() from the following 2 places :-
>          3.a - try_handle_mmio() - When we have determined that there is a valid
>                mmio handler.
>          3.b - try_fwd_ioserv()
>          When ioserver completes the io request, the acknowledgement is sent via
>          handle_ioserv(). Here, we need to increment the register. As there is no
>          common data shared between try_fwd_ioserv() and handle_ioserv(), we need
>          to decode the instruction again in handle_ioserv() to determine rn, imm9.
>
>          (NOTE to Reviewers) - This does not feel correct. However, I could not
>          think of a better approach. Please provide your inputs.
>
>      4. Augumented struct hsr_dabt{} with struct hsr_dabt_instr_details{} to hold
>         rn and imm9. This is passed to post_increment_register() to update rn.
>      5. Other style changes as suggested in v4.
>
>   Patch has been based on the comments received on the following two patches:-
>   1. https://lists.xenproject.org/archives/html/xen-devel/2022-01/msg01245.html

Should be 
https://lists.xenproject.org/archives/html/xen-devel/2022-01/msg01193.html

- Ayan

>   2. https://lists.xenproject.org/archives/html/xen-devel/2022-01/msg01279.html
>
>   xen/arch/arm/arm32/traps.c  |  7 ++++
>   xen/arch/arm/arm64/traps.c  | 42 +++++++++++++++++++++
>   xen/arch/arm/decode.c       | 73 +++++++++++++++++++++++++++++++++++++
>   xen/arch/arm/decode.h       | 42 ++++++++++++++++++++-
>   xen/arch/arm/io.c           | 66 +++++++++++++++++++++++++++------
>   xen/arch/arm/ioreq.c        | 35 +++++++++++++++++-
>   xen/arch/arm/traps.c        |  1 +
>   xen/include/asm-arm/hsr.h   |  5 +++
>   xen/include/asm-arm/mmio.h  |  1 +
>   xen/include/asm-arm/traps.h |  1 +
>   10 files changed, 258 insertions(+), 15 deletions(-)
>
> diff --git a/xen/arch/arm/arm32/traps.c b/xen/arch/arm/arm32/traps.c
> index 9c9790a6d1..62a91e8728 100644
> --- a/xen/arch/arm/arm32/traps.c
> +++ b/xen/arch/arm/arm32/traps.c
> @@ -24,6 +24,8 @@
>   #include <asm/processor.h>
>   #include <asm/traps.h>
>   
> +struct hsr_dabt_instr_details;
> +
>   void do_trap_reset(struct cpu_user_regs *regs)
>   {
>       do_unexpected_trap("Reset", regs);
> @@ -82,6 +84,11 @@ void do_trap_data_abort(struct cpu_user_regs *regs)
>           do_unexpected_trap("Data Abort", regs);
>   }
>   
> +void post_increment_register(const struct hsr_dabt_instr_details *instr_details)
> +{
> +    ASSERT_UNREACHABLE();
> +}
> +
>   /*
>    * Local variables:
>    * mode: C
> diff --git a/xen/arch/arm/arm64/traps.c b/xen/arch/arm/arm64/traps.c
> index 9113a15c7a..482751496f 100644
> --- a/xen/arch/arm/arm64/traps.c
> +++ b/xen/arch/arm/arm64/traps.c
> @@ -18,9 +18,11 @@
>   
>   #include <xen/lib.h>
>   
> +#include <asm/current.h>
>   #include <asm/hsr.h>
>   #include <asm/system.h>
>   #include <asm/processor.h>
> +#include <asm/regs.h>
>   
>   #include <public/xen.h>
>   
> @@ -31,6 +33,8 @@ static const char *handler[]= {
>           "Error"
>   };
>   
> +struct hsr_dabt_instr_details;
> +
>   void do_bad_mode(struct cpu_user_regs *regs, int reason)
>   {
>       union hsr hsr = { .bits = regs->hsr };
> @@ -44,6 +48,44 @@ void do_bad_mode(struct cpu_user_regs *regs, int reason)
>       panic("bad mode\n");
>   }
>   
> +void post_increment_register(const struct hsr_dabt_instr_details *instr_details)
> +{
> +    struct cpu_user_regs *regs = guest_cpu_user_regs();
> +    register_t val;
> +
> +    /*
> +     * Handle when rn = SP
> +     * Refer ArmV8 ARM DDI 0487G.b, Page - D1-2463 "Stack pointer register selection"
> +     * t = SP_EL0
> +     * h = SP_ELx
> +     * and M[3:0] (Page - C5-474 "When exception taken from AArch64 state:")
> +     */
> +    if (instr_details->rn == 31 )
> +    {
> +        if ( (regs->cpsr & PSR_MODE_MASK) == PSR_MODE_EL1h )
> +            val = regs->sp_el1;
> +        else if ( ((regs->cpsr & PSR_MODE_MASK) == PSR_MODE_EL1t) ||
> +                    ((regs->cpsr & PSR_MODE_MASK) == PSR_MODE_EL0t) )
> +            val = regs->sp_el0;
> +        else
> +            ASSERT_UNREACHABLE();
> +    }
> +    else
> +        val = get_user_reg(regs, instr_details->rn);
> +
> +    val += instr_details->imm9;
> +
> +    if ( instr_details->rn == 31 )
> +    {
> +        if ( (regs->cpsr & PSR_MODE_MASK) == PSR_MODE_EL1h )
> +            regs->sp_el1 = val;
> +        else
> +            regs->sp_el0 = val;
> +    }
> +    else
> +        set_user_reg(regs, instr_details->rn, val);
> +}
> +
>   /*
>    * Local variables:
>    * mode: C
> diff --git a/xen/arch/arm/decode.c b/xen/arch/arm/decode.c
> index 792c2e92a7..63376adc7c 100644
> --- a/xen/arch/arm/decode.c
> +++ b/xen/arch/arm/decode.c
> @@ -84,6 +84,76 @@ bad_thumb2:
>       return 1;
>   }
>   
> +static int decode_arm64(register_t pc, struct hsr_dabt *dabt)
> +{
> +    union instr opcode = {0};
> +
> +    if ( raw_copy_from_guest(&opcode.value, (void * __user)pc, sizeof (opcode)) )
> +    {
> +        gprintk(XENLOG_ERR, "Could not copy the instruction from PC\n");
> +        goto bad_loadstore;
> +    }
> +
> +    /*
> +     * Refer Arm v8 ARM DDI 0487G.b, Page - C6-1107
> +     * "Shared decode for all encodings" (under ldr immediate)
> +     * If n == t && n != 31, then the return value is implementation defined
> +     * (can be WBSUPPRESS, UNKNOWN, UNDEFINED or NOP). Thus, we do not support
> +     * this. This holds true for ldrb/ldrh immediate as well.
> +     *
> +     * Also refer, Page - C6-1384, the above described behaviour is same for
> +     * str immediate. This holds true for strb/strh immediate as well
> +     */
> +    if ( (opcode.ldr_str.rn == opcode.ldr_str.rt) && (opcode.ldr_str.rn != 31) )
> +    {
> +        gprintk(XENLOG_ERR, "Rn should not be equal to Rt except for r31\n");
> +        goto bad_loadstore;
> +    }
> +
> +    /* First, let's check for the fixed values */
> +    if ( (opcode.value & POST_INDEX_FIXED_MASK) != POST_INDEX_FIXED_VALUE )
> +    {
> +        gprintk(XENLOG_ERR,
> +            "Decoding instruction 0x%x is not supported",opcode.value);
> +        goto bad_loadstore;
> +    }
> +
> +    if ( opcode.ldr_str.v != 0 )
> +    {
> +        gprintk(XENLOG_ERR,
> +            "ldr/str post indexing for vector types are not supported\n");
> +        goto bad_loadstore;
> +    }
> +
> +    /* Check for STR (immediate) */
> +    if ( opcode.ldr_str.opc == 0 )
> +        dabt->write = 1;
> +    /* Check for LDR (immediate) */
> +    else if ( opcode.ldr_str.opc == 1 )
> +        dabt->write = 0;
> +    else
> +    {
> +        gprintk(XENLOG_ERR,
> +            "Decoding ldr/str post indexing is not supported for this variant\n");
> +        goto bad_loadstore;
> +    }
> +
> +    gprintk(XENLOG_INFO,
> +        "opcode->ldr_str.rt = 0x%x, opcode->ldr_str.size = 0x%x, opcode->ldr_str.imm9 = %d\n",
> +        opcode.ldr_str.rt, opcode.ldr_str.size, opcode.ldr_str.imm9);
> +
> +    update_dabt(dabt, opcode.ldr_str.rt, opcode.ldr_str.size, false);
> +
> +    dabt->dabt_instr.rn = opcode.ldr_str.rn;
> +    dabt->dabt_instr.imm9 = opcode.ldr_str.imm9;
> +
> +    return 0;
> +
> + bad_loadstore:
> +    gprintk(XENLOG_ERR, "unhandled Arm instruction 0x%x\n", opcode.value);
> +    return 1;
> +}
> +
>   static int decode_thumb(register_t pc, struct hsr_dabt *dabt)
>   {
>       uint16_t instr;
> @@ -155,6 +225,9 @@ int decode_instruction(const struct cpu_user_regs *regs, struct hsr_dabt *dabt)
>       if ( is_32bit_domain(current->domain) && regs->cpsr & PSR_THUMB )
>           return decode_thumb(regs->pc, dabt);
>   
> +    if ( !psr_mode_is_32bit(regs) )
> +        return decode_arm64(regs->pc, dabt);
> +
>       /* TODO: Handle ARM instruction */
>       gprintk(XENLOG_ERR, "unhandled ARM instruction\n");
>   
> diff --git a/xen/arch/arm/decode.h b/xen/arch/arm/decode.h
> index 4613763bdb..7080da9ab6 100644
> --- a/xen/arch/arm/decode.h
> +++ b/xen/arch/arm/decode.h
> @@ -23,9 +23,47 @@
>   #include <asm/regs.h>
>   #include <asm/processor.h>
>   
> -/**
> +/*
> + * Refer to the ARMv8 ARM (DDI 0487G.b), Section C4.1.4 Loads and Stores
> + * Page 318 specifies the following bit pattern for
> + * "load/store register (immediate post-indexed)".
> + *
> + * 31 30 29  27 26 25  23   21 20              11   9         4       0
> + * ___________________________________________________________________
> + * |size|1 1 1 |V |0 0 |opc |0 |      imm9     |0 1 |  Rn     |  Rt   |
> + * |____|______|__|____|____|__|_______________|____|_________|_______|
> + */
> +union instr {
> +    uint32_t value;
> +    struct {
> +        unsigned int rt:5;     /* Rt register */
> +        unsigned int rn:5;     /* Rn register */
> +        unsigned int fixed1:2; /* value == 01b */
> +        signed int imm9:9;            /* imm9 */
> +        unsigned int fixed2:1; /* value == 0b */
> +        unsigned int opc:2;    /* opc */
> +        unsigned int fixed3:2; /* value == 00b */
> +        unsigned int v:1;      /* vector */
> +        unsigned int fixed4:3; /* value == 111b */
> +        unsigned int size:2;   /* size */
> +    } ldr_str;
> +};
> +
> +#define POST_INDEX_FIXED_MASK   0x3B200C00
> +#define POST_INDEX_FIXED_VALUE  0x38000400
> +
> +/*
> + * Try to decode an instruction when ISS is invalid
> + * This function determines if the instruction is to be decoded on the basis of
> + * the attributes in 'struct hsr_dabt'. If so, then invokes decode_instruction().
> + * If not, it returns an appropriate io_state.
> + */
> +enum io_state try_decode_instruction_invalid_iss(const struct cpu_user_regs *regs,
> +                                                 struct hsr_dabt *dabt);
> +
> +/*
>    * Decode an instruction from pc
> - * /!\ This function is not intended to fully decode an instruction. It
> + * This function is not intended to fully decode an instruction. It
>    * considers that the instruction is valid.
>    *
>    * This function will get:
> diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
> index 14d39222f2..dede7d59b0 100644
> --- a/xen/arch/arm/io.c
> +++ b/xen/arch/arm/io.c
> @@ -95,6 +95,35 @@ static const struct mmio_handler *find_mmio_handler(struct domain *d,
>       return handler;
>   }
>   
> +enum io_state try_decode_instruction_invalid_iss(const struct cpu_user_regs *regs,
> +                                                 struct hsr_dabt *dabt)
> +{
> +    int rc;
> +
> +    /*
> +     * Xen should not decode the instruction when it was trapped due to
> +     * translation fault.
> +     */
> +    if ( dabt->s1ptw )
> +        return IO_UNHANDLED;
> +
> +    /*
> +     * If the fault occurred due to cache maintenance or address translation
> +     * instructions, then Xen needs to ignore these instructions.
> +     */
> +    if ( dabt->cache )
> +        return IO_IGNORED;
> +
> +    rc = decode_instruction(regs, dabt);
> +    if ( rc )
> +    {
> +        gprintk(XENLOG_ERR, "Unable to decode instruction\n");
> +        return IO_ABORT;
> +    }
> +    else
> +        return IO_HANDLED;
> +}
> +
>   enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>                                 const union hsr hsr,
>                                 paddr_t gpa)
> @@ -106,21 +135,14 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>           .gpa = gpa,
>           .dabt = dabt
>       };
> +    int rc;
> +    bool instr_decoded = false;
>   
>       ASSERT(hsr.ec == HSR_EC_DATA_ABORT_LOWER_EL);
>   
> -    /* All the instructions used on emulated MMIO region should be valid */
> -    if ( !dabt.valid )
> -    {
> -        gprintk(XENLOG_DEBUG, "No valid instruction syndrome for data abort\n");
> -        return IO_ABORT;
> -    }
> -
>       handler = find_mmio_handler(v->domain, info.gpa);
>       if ( !handler )
>       {
> -        int rc;
> -
>           rc = try_fwd_ioserv(regs, v, &info);
>           if ( rc == IO_HANDLED )
>               return handle_ioserv(regs, v);
> @@ -128,6 +150,21 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>           return rc;
>       }
>   
> +    /*
> +     * Armv8 processor does not provide a valid syndrome for decoding some
> +     * instructions. So in order to process these instructions, Xen must
> +     * decode them.
> +     */
> +    if ( !dabt.valid )
> +    {
> +        rc = try_decode_instruction_invalid_iss(regs, &info.dabt);
> +
> +        if ( rc != IO_HANDLED)
> +            return rc;
> +        else
> +            instr_decoded = true;
> +    }
> +
>       /*
>        * Erratum 766422: Thumb store translation fault to Hypervisor may
>        * not have correct HSR Rt value.
> @@ -146,9 +183,16 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>       }
>   
>       if ( info.dabt.write )
> -        return handle_write(handler, v, &info);
> +        rc = handle_write(handler, v, &info);
>       else
> -        return handle_read(handler, v, &info);
> +        rc = handle_read(handler, v, &info);
> +
> +    if ( instr_decoded )
> +    {
> +        post_increment_register(&info.dabt.dabt_instr);
> +    }
> +
> +    return rc;
>   }
>   
>   void register_mmio_handler(struct domain *d,
> diff --git a/xen/arch/arm/ioreq.c b/xen/arch/arm/ioreq.c
> index 308650b400..f19fb46f72 100644
> --- a/xen/arch/arm/ioreq.c
> +++ b/xen/arch/arm/ioreq.c
> @@ -23,16 +23,35 @@
>   
>   #include <public/hvm/ioreq.h>
>   
> +#include "decode.h"
> +
>   enum io_state handle_ioserv(struct cpu_user_regs *regs, struct vcpu *v)
>   {
>       const union hsr hsr = { .bits = regs->hsr };
> -    const struct hsr_dabt dabt = hsr.dabt;
> +    struct hsr_dabt dabt = hsr.dabt;
> +
>       /* Code is similar to handle_read */
>       register_t r = v->io.req.data;
>   
>       /* We are done with the IO */
>       v->io.req.state = STATE_IOREQ_NONE;
>   
> +    /*
> +     * Note that we have already decoded the instruction in try_fwd_ioserv().
> +     * We decode the instruction again to obtain rn and imm9. This will be used
> +     * to do the post increment.
> +     * Also there is no need to check whether the instruction can be decoded or
> +     * was successfully decoded. The reason being if there was an error, then
> +     * try_fwd_ioserv() would have returned error and this function would not
> +     * have been called. Thus, there is an assumption that handle_iosev() is
> +     * invoked when try_fwd_ioserv() has returned successfully.
> +     */
> +    if ( !dabt.valid )
> +    {
> +        decode_instruction(regs, &dabt);
> +        post_increment_register(&dabt.dabt_instr);
> +    }
> +
>       if ( dabt.write )
>           return IO_HANDLED;
>   
> @@ -65,6 +84,8 @@ enum io_state try_fwd_ioserv(struct cpu_user_regs *regs,
>       };
>       struct ioreq_server *s = NULL;
>       enum io_state rc;
> +    bool instr_decoded = false;
> +    const union hsr hsr = { .bits = regs->hsr };
>   
>       if ( vio->req.state != STATE_IOREQ_NONE )
>       {
> @@ -76,8 +97,18 @@ enum io_state try_fwd_ioserv(struct cpu_user_regs *regs,
>       if ( !s )
>           return IO_UNHANDLED;
>   
> +    /*
> +     * Armv8 processor does not provide a valid syndrome for decoding some
> +     * instructions (for eg post-indexing ldr/str instructions). So in order to
> +     * process these instructions, Xen must decode them.
> +     */
>       if ( !info->dabt.valid )
> -        return IO_ABORT;
> +    {
> +        rc = try_decode_instruction_invalid_iss(regs, &info->dabt);
> +
> +        if ( rc != IO_HANDLED)
> +            return rc;
> +    }
>   
>       vio->req = p;
>   
> diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
> index 219ab3c3fb..2958e4b697 100644
> --- a/xen/arch/arm/traps.c
> +++ b/xen/arch/arm/traps.c
> @@ -1979,6 +1979,7 @@ static void do_trap_stage2_abort_guest(struct cpu_user_regs *regs,
>               {
>               case IO_ABORT:
>                   goto inject_abt;
> +            case IO_IGNORED:
>               case IO_HANDLED:
>                   advance_pc(regs, hsr);
>                   return;
> diff --git a/xen/include/asm-arm/hsr.h b/xen/include/asm-arm/hsr.h
> index 9b91b28c48..2d1fbec2ab 100644
> --- a/xen/include/asm-arm/hsr.h
> +++ b/xen/include/asm-arm/hsr.h
> @@ -143,6 +143,11 @@ union hsr {
>           unsigned long valid:1; /* Syndrome Valid */
>           unsigned long len:1;   /* Instruction length */
>           unsigned long ec:6;    /* Exception Class */
> +
> +        struct hsr_dabt_instr_details {
> +            unsigned long rn:5;
> +            signed int imm9:9;
> +        } dabt_instr; /* Data abort details obtained from instr decoding */
>       } dabt; /* HSR_EC_DATA_ABORT_* */
>   
>       /* Contain the common bits between DABT and IABT */
> diff --git a/xen/include/asm-arm/mmio.h b/xen/include/asm-arm/mmio.h
> index 7ab873cb8f..0cf00bc5a7 100644
> --- a/xen/include/asm-arm/mmio.h
> +++ b/xen/include/asm-arm/mmio.h
> @@ -36,6 +36,7 @@ enum io_state
>   {
>       IO_ABORT,       /* The IO was handled by the helper and led to an abort. */
>       IO_HANDLED,     /* The IO was successfully handled by the helper. */
> +    IO_IGNORED,     /* The IO was ignored by the helper. */
>       IO_UNHANDLED,   /* The IO was not handled by the helper. */
>       IO_RETRY,       /* Retry the emulation for some reason */
>   };
> diff --git a/xen/include/asm-arm/traps.h b/xen/include/asm-arm/traps.h
> index 2ed2b85c6f..bd22c6575d 100644
> --- a/xen/include/asm-arm/traps.h
> +++ b/xen/include/asm-arm/traps.h
> @@ -109,6 +109,7 @@ static inline register_t sign_extend(const struct hsr_dabt dabt, register_t r)
>       return r;
>   }
>   
> +void post_increment_register(const struct hsr_dabt_instr_details *instr_details);
>   #endif /* __ASM_ARM_TRAPS__ */
>   /*
>    * Local variables:


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 21:08:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 21:08:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263302.455981 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEdu7-0003EV-EO; Mon, 31 Jan 2022 21:08:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263302.455981; Mon, 31 Jan 2022 21:08: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 1nEdu7-0003EO-BB; Mon, 31 Jan 2022 21:08:03 +0000
Received: by outflank-mailman (input) for mailman id 263302;
 Mon, 31 Jan 2022 21:08:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PC2d=SP=gmail.com=neilsikka@srs-se1.protection.inumbo.net>)
 id 1nEdu6-0003EI-03
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 21:08:02 +0000
Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com
 [2a00:1450:4864:20::534])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id df26bd7d-82d9-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 22:08:00 +0100 (CET)
Received: by mail-ed1-x534.google.com with SMTP id l5so29346243edv.3
 for <xen-devel@lists.xenproject.org>; Mon, 31 Jan 2022 13:08:00 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: df26bd7d-82d9-11ec-8eb8-a37418f5ba1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:from:date:message-id:subject:to;
        bh=iDWJ4nqpbl656bzRdWwuixMgWIkssWMC//fUAnNhWZU=;
        b=gUB8lPj2oGwhmgdl8yZVPQvg6irQVNQav0jZ4JzuCp5P9eLyZr5Wd7kTiEVNhBkBO2
         X6k7HLpJlkwHIL6Q1iCnA4S22YtqRyKeGpuLiv0b/LyEl94Ki2FcjT3nV1XztLJny9og
         MMNJEOytpCGeoPmtGXrU7lB0CAMWpfYWxwlKE1vcQIRQOg2yx6efVMY389VNToQwcHJo
         HecWA6mr1AP4DGwyndCLp5mL2eG+b3UmtPiobY1eyH7j2Gkw6aXxi84UhgWwqL8xBzY2
         lMPFHpbq8QSZS5eo8HFY1iC91bTATY3RoL6i/2/tamTqRH1W3JUIUwmBrCclSjx6Dfsu
         mvcg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:from:date:message-id:subject:to;
        bh=iDWJ4nqpbl656bzRdWwuixMgWIkssWMC//fUAnNhWZU=;
        b=0WRRvBOsoQqidfAYO48spCRMn7BKOmTJgxbLThkfU7QJolQV62o7ukILyZg8mbqdl4
         O8fP9bDK6PCuhSpx6O/s5PVuijFKQI4yLqm9lc2WLXsmDP8eQITxeSaN/nQAi6VCUHKr
         bAG/YGAhhug4tZ0lM4W+m8qi2zUtEkfjCgOm59IVq5BkBoET6MJGKh3nv9U7n5gaHyhr
         ktz+l8ir2yPPxV5GUR7wI7KNBB3KEGfAYlKFZTnU03JtEp6bj52VtVRfG/HM5j6oVyou
         PQNkiHLku7HUN4qZMO3FrVt+unbsdgSh5pOM92uERhpMJPSdqp9z+ptfCMo7FdynGyCm
         w+gw==
X-Gm-Message-State: AOAM5302PMRaW69kKtU7omxfpGrSIv4OaTSovn+IYwpf6mPdPSveHcFw
	g9B2duIzomnSYebjjcGLTgOCp0IYavj0DHVu/kQbh3jsSsc=
X-Google-Smtp-Source: ABdhPJyP8oPSLvVvZR9HfR6d/gBuJcPPaBWB7/45eVglgy4AY1B76Ad8GHnemGYoRV2FRfkH0Qx6tTEyXX9BmeEu11I=
X-Received: by 2002:a05:6402:5189:: with SMTP id q9mr22553662edd.314.1643663279841;
 Mon, 31 Jan 2022 13:07:59 -0800 (PST)
MIME-Version: 1.0
From: Neil Sikka <neilsikka@gmail.com>
Date: Mon, 31 Jan 2022 16:07:48 -0500
Message-ID: <CAHPMNWccVJO+bkTBh=O67xV7hSPq7L1eyNQ3x0eYX0dKqMMh7A@mail.gmail.com>
Subject: OXenstored performance
To: Xen-devel <xen-devel@lists.xenproject.org>
Content-Type: multipart/alternative; boundary="000000000000ece5bf05d6e72d36"

--000000000000ece5bf05d6e72d36
Content-Type: text/plain; charset="UTF-8"

Hello,
I see oxenstored running at 100% CPU on a busy Xen host. This article (
https://xenproject.org/2014/05/01/9124/) says that the maximum number of
VMs supported by oxenstore is 160. What is the technical reason for this
limit? Doesn't the Xen hypervisor support more than 160 concurrent DomUs?

-- 
My Blog: http://www.neilscomputerblog.blogspot.com/
Twitter: @neilsikka

--000000000000ece5bf05d6e72d36
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hello,<div>I see oxenstored=C2=A0running at 100% CPU on a =
busy Xen host. This article (<a href=3D"https://xenproject.org/2014/05/01/9=
124/">https://xenproject.org/2014/05/01/9124/</a>) says that the maximum nu=
mber of VMs supported by oxenstore is 160. What is the technical reason for=
 this limit? Doesn&#39;t the Xen hypervisor support more than 160 concurren=
t DomUs?<br clear=3D"all"><div><br></div>-- <br><div dir=3D"ltr" class=3D"g=
mail_signature" data-smartmail=3D"gmail_signature"><div>My Blog: <a href=3D=
"http://www.neilscomputerblog.blogspot.com/" target=3D"_blank">http://www.n=
eilscomputerblog.blogspot.com/</a></div><div>Twitter: @neilsikka</div></div=
></div></div>

--000000000000ece5bf05d6e72d36--


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 21:16:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 21:16:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263309.455992 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEe2Y-0004fM-9x; Mon, 31 Jan 2022 21:16:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263309.455992; Mon, 31 Jan 2022 21: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 1nEe2Y-0004fF-5e; Mon, 31 Jan 2022 21:16:46 +0000
Received: by outflank-mailman (input) for mailman id 263309;
 Mon, 31 Jan 2022 21:16:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=u8cI=SP=linutronix.de=tglx@srs-se1.protection.inumbo.net>)
 id 1nEe2X-0004f9-8l
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 21:16:45 +0000
Received: from galois.linutronix.de (galois.linutronix.de [193.142.43.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 16ae4269-82db-11ec-8eb8-a37418f5ba1a;
 Mon, 31 Jan 2022 22:16:43 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 16ae4269-82db-11ec-8eb8-a37418f5ba1a
From: Thomas Gleixner <tglx@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020; t=1643663802;
	h=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=tU8NK9NTEirj5O/+bd9d0PukMKUVqECyFzPD3aLKDXk=;
	b=KmPtM4XylI1QpBV825qhL/YVm9F73QsW9H0dQ5UPcPGil3mXgUuoX3HprH/+a3ZG/ShNJr
	BjlGsc1ndAOmgHyQvIvZUOUD6HLDHOBCi/Ji6X9uEEf7jDK1BzH1apOdzDHBzBMfjkAtXZ
	8BD8lWMmiKDXbdlCTK3THWqdS9xoq1KFr2G35OtVX67EMI6vGc6c9cosnIZIpe5sYh+au2
	PL1LZWmdvONdEfE18CsyjWjHM6gOUgcS0xyBIooTsaH48TF002qdkFf00iF1dJ2JVj/0SI
	eh6W7ozcJJE4CPYA3I/LgUWnchhhUB5lvUTPvZV1OWQ8MM0o/wu35qDKV5db6w==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020e; t=1643663802;
	h=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=tU8NK9NTEirj5O/+bd9d0PukMKUVqECyFzPD3aLKDXk=;
	b=+0otG72AhE6uKJBBtoOAEgmDIjBRXfGv02FMllL7V8PEVFVne4ebGZPaDcAGYon+0st4ER
	/th5pds4YqGCrMCA==
To: Guenter Roeck <linux@roeck-us.net>
Cc: LKML <linux-kernel@vger.kernel.org>, Nishanth Menon <nm@ti.com>, Mark
 Rutland <mark.rutland@arm.com>, Stuart Yoder <stuyoder@gmail.com>,
 Benjamin Herrenschmidt <benh@kernel.crashing.org>, Will Deacon
 <will@kernel.org>, Ashok Raj <ashok.raj@intel.com>, Michael Ellerman
 <mpe@ellerman.id.au>, Jassi Brar <jassisinghbrar@gmail.com>, Sinan Kaya
 <okaya@kernel.org>, iommu@lists.linux-foundation.org, Peter Ujfalusi
 <peter.ujfalusi@gmail.com>, Bjorn Helgaas <helgaas@kernel.org>,
 linux-arm-kernel@lists.infradead.org, Jason Gunthorpe <jgg@nvidia.com>,
 linux-pci@vger.kernel.org, xen-devel@lists.xenproject.org, Kevin Tian
 <kevin.tian@intel.com>, Arnd Bergmann <arnd@arndb.de>, Robin Murphy
 <robin.murphy@arm.com>, Alex Williamson <alex.williamson@redhat.com>,
 Cedric Le Goater <clg@kaod.org>, Santosh Shilimkar <ssantosh@kernel.org>,
 Bjorn Helgaas <bhelgaas@google.com>, Megha Dey <megha.dey@intel.com>,
 Juergen Gross <jgross@suse.com>, Tero Kristo <kristo@kernel.org>, Greg
 Kroah-Hartman <gregkh@linuxfoundation.org>, Vinod Koul <vkoul@kernel.org>,
 Marc Zygnier <maz@kernel.org>, dmaengine@vger.kernel.org,
 linuxppc-dev@lists.ozlabs.org
Subject: Re: [patch V3 28/35] PCI/MSI: Simplify pci_irq_get_affinity()
In-Reply-To: <c78df469-1a9f-5778-24d1-8f08a6bf5bcc@roeck-us.net>
References: <87mtjc2lhe.ffs@tglx>
 <c78df469-1a9f-5778-24d1-8f08a6bf5bcc@roeck-us.net>
Date: Mon, 31 Jan 2022 22:16:41 +0100
Message-ID: <87ee4n38sm.ffs@tglx>
MIME-Version: 1.0
Content-Type: text/plain

Guenter,

On Mon, Jan 31 2022 at 07:21, Guenter Roeck wrote:
> Sure. Please see http://server.roeck-us.net/qemu/x86/.
> The logs are generated with with v5.16.4.

thanks for providing the data. It definitely helped me to leave the
state of not seeing the wood for the trees. Fix below.

Thanks,

        tglx
---
Subject: PCI/MSI: Remove bogus warning in pci_irq_get_affinity()
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 31 Jan 2022 22:02:46 +0100

The recent overhaul of pci_irq_get_affinity() introduced a regression when
pci_irq_get_affinity() is called for an MSI-X interrupt which was not
allocated with affinity descriptor information.

The original code just returned a NULL pointer in that case, but the rework
added a WARN_ON() under the assumption that the corresponding WARN_ON() in
the MSI case can be applied to MSI-X as well.

In fact the MSI warning in the original code does not make sense either
because it's legitimate to invoke pci_irq_get_affinity() for a MSI
interrupt which was not allocated with affinity descriptor information.

Remove it and just return NULL as the original code did.

Fixes: f48235900182 ("PCI/MSI: Simplify pci_irq_get_affinity()")
Reported-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 drivers/pci/msi/msi.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

--- a/drivers/pci/msi/msi.c
+++ b/drivers/pci/msi/msi.c
@@ -1111,7 +1111,8 @@ const struct cpumask *pci_irq_get_affini
 	if (!desc)
 		return cpu_possible_mask;
 
-	if (WARN_ON_ONCE(!desc->affinity))
+	/* MSI[X] interrupts can be allocated without affinity descriptor */
+	if (!desc->affinity)
 		return NULL;
 
 	/*


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 21:55:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 21:55:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263317.456003 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEedu-0000JO-PF; Mon, 31 Jan 2022 21:55:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263317.456003; Mon, 31 Jan 2022 21:55:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEedu-0000JH-Kt; Mon, 31 Jan 2022 21:55:22 +0000
Received: by outflank-mailman (input) for mailman id 263317;
 Mon, 31 Jan 2022 21:55: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 1nEedt-0000JB-FB
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 21:55: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 1nEedr-0004RV-7z; Mon, 31 Jan 2022 21:55:19 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235] helo=[10.95.141.2])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1nEedq-0003uQ-UD; Mon, 31 Jan 2022 21:55:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=5K/YUJy7hKgahKrxFihVLmxPaSmvuqDqBzPar4TNNm8=; b=nn4VwZHbM4V9gziOpKYl/ReNff
	7Cxy9/c/jT/QiPpzbyA9+4EE7w9DqFFUpcPDe2wonqydEtHGYWUvjP7nee5aUIix7fscURw8fHA1z
	bK+Nw2eGVgD5Ytx4ubHWgzHVb8fJluGZ0v1SXBiKg/1acNLDcWKLXN9dQ61ukPyMnj0g=;
Message-ID: <e07068aa-91b8-ebdf-db17-7173f417ad33@xen.org>
Date: Mon, 31 Jan 2022 21:55:16 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.5.1
Subject: Re: [XEN v5] xen/arm64: io: Decode ldr/str post-indexing instructions
To: Ayan Kumar Halder <ayan.kumar.halder@xilinx.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@xilinx.com, Volodymyr_Babchuk@epam.com,
 bertrand.marquis@arm.com, Ayan Kumar Halder <ayankuma@xilinx.com>
References: <20220131193728.2980-1-ayankuma@xilinx.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20220131193728.2980-1-ayankuma@xilinx.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 31/01/2022 19:37, Ayan Kumar Halder wrote:
> At the moment, Xen is only handling data abort with valid syndrome (i.e.
> ISV=0). Unfortunately, this doesn't cover all the instructions a domain
> could use to access MMIO regions.
> 
> For instance, a baremetal OS can use any of the following instructions, where
> x1 contains the address of the MMIO region:
> 
> 1.      ldr     x2,    [x1],    #8
> 2.      ldr     w2,    [x1],    #-4
> 3.      ldr     x2,    [x1],    #-8
> 4.      ldr     w2,    [x1],    #4
> 5.      ldrh    w2,    [x1],    #2
> 6.      ldrb    w2,    [x1],    #1
> 7.      str     x2,    [x1],    #8
> 8.      str     w2,    [x1],    #-4
> 9.      strh    w2,    [x1],    #2
> 10.     strb    w2,    [x1],    #1
> 
> In the following two instructions, Rn could theoretically be stack pointer which
> might contain the address of the MMIO region:-
> 11.     ldrb    w2,    [Rn],    #1
> 12.     ldrb    wzr,   [Rn],    #1
> 
> In order to handle post-indexing store/load instructions (like those mentioned
> above), Xen will need to fetch and decode the instruction.
> 
> Xen will not decode the instructions if the data abort is caused by stage1
> translation table walk or cache instructions. In the former scenario, it will
> try to update the page tables and in the latter scenario, it will ignore the
> instruction (ie simply increment the program counter).
> 
> If Xen is unable to decode the instructions, it will abort the guest.
> 
> This patch only cover post-index store/load instructions from AArch64 mode.
> For now, AArch32 mode is left unimplemented.
> 
> Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
> ---
> 
> Changelog :-
> v2 - 1. Updated the rn register after reading from it. (Pointed by Julien,
>          Stefano)
>       2. Used a union to represent the instruction opcode (Suggestd by Bertrand)
>       3. Fixed coding style issues (Pointed by Julien)
>       4. In the previous patch, I was updating dabt->sign based on the signedness
>          of imm9. This was incorrect. As mentioned in ARMv8 ARM  DDI 0487G.b,
>          Page 3221, SSE indicates the signedness of the data item loaded. In our
>          case, the data item loaded is always unsigned.
> 
> v3- 1. Handled all the variants of ldr/str (ie 64, 32, 16, 8 bit variants).
>         Thus, I have removed the check for "instr->code.opc == 0" (Suggested by
>         Andre)
>      2. Handled the scenario when rn = SP, rt = XZR (Suggested by Jan, Andre)
>      3. Added restriction for "rt != rn" (Suggested by Andre)
>      4. Moved union ldr_str_instr_class {} to decode.h. This is the header included
>         by io.c and decode.c (where the union is referred). (Suggested by Jan)
>      5. Indentation and typo fixes (Suggested by Jan)
> 
> v4- 1. Fixed the patch as per Stefano's comments on v3. They are as follows :-
>          1.1 Use macros to determine the fixed values in the instruction opcode
>          1.2 Checked if instr != NULL
>          1.3 Changed some data types and added #define ARM_64 for AArch64 specific
>              code
>          1.4 Moved post_increment_register() to decode.c so that the decoding
>              logic is confined to a single file.
>          1.5 Moved some checks from post_increment_register() to
>              decode_loadstore_postindexing()
>          1.6 Removed a duplicate check
>      2. Updated the commit message as per Andre's comments.
>      3. Changed the names of a label and some comments. *32bit* was erroneously
>         mentioned in a label and comments in decode_loadstore_postindexing()
>         although the function handled all variants of ldr/str post indexing.
> 
> v5- 1. Renamed decode_loadstore_postindexing() to decode_arm64(). The reason
>         being this will be extended in future to support more instructions for
>         which hsr_badt.isv = 0
>      2. Introduce a function try_decode_instruction_invalid_iss() to determine
>         if the instruction needs to be decoded before invoking decode_instruction().
> 
>         It checks :-
>         2.1  dabt->s1ptw - Returns IO_UNHANDLED
>         2.2  dabt->cache - Returns IO_IGNORED. (new enum instroduced to let the
>              caller know that the instruction needs to be ignored by Xen. Thus
>              the caller needs to increment the PC and return to the guest.
> 
>      3. Invoked try_decode_instruction_invalid_iss() from the following 2 places :-
>          3.a - try_handle_mmio() - When we have determined that there is a valid
>                mmio handler.
>          3.b - try_fwd_ioserv()
>          When ioserver completes the io request, the acknowledgement is sent via
>          handle_ioserv(). Here, we need to increment the register. As there is no
>          common data shared between try_fwd_ioserv() and handle_ioserv(), we need
>          to decode the instruction again in handle_ioserv() to determine rn, imm9.
> 
>          (NOTE to Reviewers) - This does not feel correct. However, I could not
>          think of a better approach. Please provide your inputs.
> 
>      4. Augumented struct hsr_dabt{} with struct hsr_dabt_instr_details{} to hold
>         rn and imm9. This is passed to post_increment_register() to update rn.
>      5. Other style changes as suggested in v4.
> 
>   Patch has been based on the comments received on the following two patches:-
>   1. https://lists.xenproject.org/archives/html/xen-devel/2022-01/msg01245.html
>   2. https://lists.xenproject.org/archives/html/xen-devel/2022-01/msg01279.html
> 
>   xen/arch/arm/arm32/traps.c  |  7 ++++
>   xen/arch/arm/arm64/traps.c  | 42 +++++++++++++++++++++
>   xen/arch/arm/decode.c       | 73 +++++++++++++++++++++++++++++++++++++
>   xen/arch/arm/decode.h       | 42 ++++++++++++++++++++-
>   xen/arch/arm/io.c           | 66 +++++++++++++++++++++++++++------
>   xen/arch/arm/ioreq.c        | 35 +++++++++++++++++-
>   xen/arch/arm/traps.c        |  1 +
>   xen/include/asm-arm/hsr.h   |  5 +++
>   xen/include/asm-arm/mmio.h  |  1 +
>   xen/include/asm-arm/traps.h |  1 +
>   10 files changed, 258 insertions(+), 15 deletions(-)

This patch is continuing to grow and it is getting more difficult to 
review. Can it be split in at least two parts?

1) Decode ldr/str
2) Plumb the code

> 
> diff --git a/xen/arch/arm/arm32/traps.c b/xen/arch/arm/arm32/traps.c
> index 9c9790a6d1..62a91e8728 100644
> --- a/xen/arch/arm/arm32/traps.c
> +++ b/xen/arch/arm/arm32/traps.c
> @@ -24,6 +24,8 @@
>   #include <asm/processor.h>
>   #include <asm/traps.h>
>   
> +struct hsr_dabt_instr_details;

Please don't do that. If you need to forward declare it, then it should 
be in traps.h.

> +
>   void do_trap_reset(struct cpu_user_regs *regs)
>   {
>       do_unexpected_trap("Reset", regs);
> @@ -82,6 +84,11 @@ void do_trap_data_abort(struct cpu_user_regs *regs)
>           do_unexpected_trap("Data Abort", regs);
>   }
>   
> +void post_increment_register(const struct hsr_dabt_instr_details *instr_details)
> +{
> +    ASSERT_UNREACHABLE();
> +}
> +
>   /*
>    * Local variables:
>    * mode: C
> diff --git a/xen/arch/arm/arm64/traps.c b/xen/arch/arm/arm64/traps.c
> index 9113a15c7a..482751496f 100644
> --- a/xen/arch/arm/arm64/traps.c
> +++ b/xen/arch/arm/arm64/traps.c
> @@ -18,9 +18,11 @@
>   
>   #include <xen/lib.h>
>   
> +#include <asm/current.h>
>   #include <asm/hsr.h>
>   #include <asm/system.h>
>   #include <asm/processor.h>
> +#include <asm/regs.h>
>   
>   #include <public/xen.h>
>   
> @@ -31,6 +33,8 @@ static const char *handler[]= {
>           "Error"
>   };
>   
> +struct hsr_dabt_instr_details;

Same here.

> +
>   void do_bad_mode(struct cpu_user_regs *regs, int reason)
>   {
>       union hsr hsr = { .bits = regs->hsr };
> @@ -44,6 +48,44 @@ void do_bad_mode(struct cpu_user_regs *regs, int reason)
>       panic("bad mode\n");
>   }
>   
> +void post_increment_register(const struct hsr_dabt_instr_details *instr_details)
> +{
> +    struct cpu_user_regs *regs = guest_cpu_user_regs();
> +    register_t val;
> +
> +    /*
> +     * Handle when rn = SP
> +     * Refer ArmV8 ARM DDI 0487G.b, Page - D1-2463 "Stack pointer register selection"
> +     * t = SP_EL0
> +     * h = SP_ELx
> +     * and M[3:0] (Page - C5-474 "When exception taken from AArch64 state:")
> +     */
> +    if (instr_details->rn == 31 )
> +    {
> +        if ( (regs->cpsr & PSR_MODE_MASK) == PSR_MODE_EL1h )
> +            val = regs->sp_el1;
> +        else if ( ((regs->cpsr & PSR_MODE_MASK) == PSR_MODE_EL1t) ||
> +                    ((regs->cpsr & PSR_MODE_MASK) == PSR_MODE_EL0t) )
> +            val = regs->sp_el0;
> +        else
> +            ASSERT_UNREACHABLE();
> +    }
> +    else
> +        val = get_user_reg(regs, instr_details->rn);
> +
> +    val += instr_details->imm9;
> +
> +    if ( instr_details->rn == 31 )
> +    {
> +        if ( (regs->cpsr & PSR_MODE_MASK) == PSR_MODE_EL1h )
> +            regs->sp_el1 = val;
> +        else
> +            regs->sp_el0 = val;
> +    }
> +    else
> +        set_user_reg(regs, instr_details->rn, val);
> +}
> +
>   /*
>    * Local variables:
>    * mode: C
> diff --git a/xen/arch/arm/decode.c b/xen/arch/arm/decode.c
> index 792c2e92a7..63376adc7c 100644
> --- a/xen/arch/arm/decode.c
> +++ b/xen/arch/arm/decode.c
> @@ -84,6 +84,76 @@ bad_thumb2:
>       return 1;
>   }
>   
> +static int decode_arm64(register_t pc, struct hsr_dabt *dabt)
> +{
> +    union instr opcode = {0};
> +
> +    if ( raw_copy_from_guest(&opcode.value, (void * __user)pc, sizeof (opcode)) )
> +    {
> +        gprintk(XENLOG_ERR, "Could not copy the instruction from PC\n");
> +        goto bad_loadstore;
> +    }
> +
> +    /*
> +     * Refer Arm v8 ARM DDI 0487G.b, Page - C6-1107
> +     * "Shared decode for all encodings" (under ldr immediate)
> +     * If n == t && n != 31, then the return value is implementation defined
> +     * (can be WBSUPPRESS, UNKNOWN, UNDEFINED or NOP). Thus, we do not support
> +     * this. This holds true for ldrb/ldrh immediate as well.
> +     *
> +     * Also refer, Page - C6-1384, the above described behaviour is same for
> +     * str immediate. This holds true for strb/strh immediate as well
> +     */
> +    if ( (opcode.ldr_str.rn == opcode.ldr_str.rt) && (opcode.ldr_str.rn != 31) )
> +    {
> +        gprintk(XENLOG_ERR, "Rn should not be equal to Rt except for r31\n");
> +        goto bad_loadstore;
> +    }
> +
> +    /* First, let's check for the fixed values */
> +    if ( (opcode.value & POST_INDEX_FIXED_MASK) != POST_INDEX_FIXED_VALUE )
> +    {
> +        gprintk(XENLOG_ERR,
> +            "Decoding instruction 0x%x is not supported",opcode.value);

Coding style. The string should start on the same column as XENLOG_ERR. 
Also, missing space after the comma.

> +        goto bad_loadstore;
> +    }
> +
> +    if ( opcode.ldr_str.v != 0 )
> +    {
> +        gprintk(XENLOG_ERR,
> +            "ldr/str post indexing for vector types are not supported\n");

Same here.


> +        goto bad_loadstore;
> +    }
> +
> +    /* Check for STR (immediate) */
> +    if ( opcode.ldr_str.opc == 0 )
> +        dabt->write = 1;
> +    /* Check for LDR (immediate) */
> +    else if ( opcode.ldr_str.opc == 1 )
> +        dabt->write = 0;
> +    else
> +    {
> +        gprintk(XENLOG_ERR,
> +            "Decoding ldr/str post indexing is not supported for this variant\n");

Same here.

> +        goto bad_loadstore;
> +    }
> +
> +    gprintk(XENLOG_INFO,
> +        "opcode->ldr_str.rt = 0x%x, opcode->ldr_str.size = 0x%x, opcode->ldr_str.imm9 = %d\n",
> +        opcode.ldr_str.rt, opcode.ldr_str.size, opcode.ldr_str.imm9);

Same here.

> +
> +    update_dabt(dabt, opcode.ldr_str.rt, opcode.ldr_str.size, false);
> +
> +    dabt->dabt_instr.rn = opcode.ldr_str.rn;
> +    dabt->dabt_instr.imm9 = opcode.ldr_str.imm9;
> +
> +    return 0;
> +
> + bad_loadstore:
> +    gprintk(XENLOG_ERR, "unhandled Arm instruction 0x%x\n", opcode.value);
> +    return 1;
> +}
> +
>   static int decode_thumb(register_t pc, struct hsr_dabt *dabt)
>   {
>       uint16_t instr;
> @@ -155,6 +225,9 @@ int decode_instruction(const struct cpu_user_regs *regs, struct hsr_dabt *dabt)
>       if ( is_32bit_domain(current->domain) && regs->cpsr & PSR_THUMB )
>           return decode_thumb(regs->pc, dabt);
>   
> +    if ( !psr_mode_is_32bit(regs) )
> +        return decode_arm64(regs->pc, dabt);
> +
>       /* TODO: Handle ARM instruction */
>       gprintk(XENLOG_ERR, "unhandled ARM instruction\n");
>   
> diff --git a/xen/arch/arm/decode.h b/xen/arch/arm/decode.h
> index 4613763bdb..7080da9ab6 100644
> --- a/xen/arch/arm/decode.h
> +++ b/xen/arch/arm/decode.h
> @@ -23,9 +23,47 @@
>   #include <asm/regs.h>
>   #include <asm/processor.h>
>   
> -/**
> +/*
> + * Refer to the ARMv8 ARM (DDI 0487G.b), Section C4.1.4 Loads and Stores
> + * Page 318 specifies the following bit pattern for
> + * "load/store register (immediate post-indexed)".
> + *
> + * 31 30 29  27 26 25  23   21 20              11   9         4       0
> + * ___________________________________________________________________
> + * |size|1 1 1 |V |0 0 |opc |0 |      imm9     |0 1 |  Rn     |  Rt   |
> + * |____|______|__|____|____|__|_______________|____|_________|_______|
> + */
> +union instr {
> +    uint32_t value;
> +    struct {
> +        unsigned int rt:5;     /* Rt register */
> +        unsigned int rn:5;     /* Rn register */
> +        unsigned int fixed1:2; /* value == 01b */
> +        signed int imm9:9;            /* imm9 */
> +        unsigned int fixed2:1; /* value == 0b */
> +        unsigned int opc:2;    /* opc */
> +        unsigned int fixed3:2; /* value == 00b */
> +        unsigned int v:1;      /* vector */
> +        unsigned int fixed4:3; /* value == 111b */
> +        unsigned int size:2;   /* size */
> +    } ldr_str;
> +};
> +
> +#define POST_INDEX_FIXED_MASK   0x3B200C00
> +#define POST_INDEX_FIXED_VALUE  0x38000400

The union and POST_INEX_FIXED_* defines only seem to be used within 
decode.c. So can they be moved to avoid polluting the header? (This was 
my original aim with avoid to use the union).

> +
> +/*
> + * Try to decode an instruction when ISS is invalid
> + * This function determines if the instruction is to be decoded on the basis of
> + * the attributes in 'struct hsr_dabt'. If so, then invokes decode_instruction().
> + * If not, it returns an appropriate io_state.
> + */
> +enum io_state try_decode_instruction_invalid_iss(const struct cpu_user_regs *regs,
> +                                                 struct hsr_dabt *dabt);
> +
> +/*
>    * Decode an instruction from pc
> - * /!\ This function is not intended to fully decode an instruction. It
> + * This function is not intended to fully decode an instruction. It

Why is /!\ is dropped? But then, is this comment still accurate given 
that you will now fully decode an instruction?

>    * considers that the instruction is valid.
>    *
>    * This function will get:
> diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
> index 14d39222f2..dede7d59b0 100644
> --- a/xen/arch/arm/io.c
> +++ b/xen/arch/arm/io.c
> @@ -95,6 +95,35 @@ static const struct mmio_handler *find_mmio_handler(struct domain *d,
>       return handler;
>   }
>   
> +enum io_state try_decode_instruction_invalid_iss(const struct cpu_user_regs *regs,
> +                                                 struct hsr_dabt *dabt)
> +{
> +    int rc;
> +
> +    /*
> +     * Xen should not decode the instruction when it was trapped due to
> +     * translation fault.
> +     */
> +    if ( dabt->s1ptw )
> +        return IO_UNHANDLED;
> +
> +    /*
> +     * If the fault occurred due to cache maintenance or address translation
> +     * instructions, then Xen needs to ignore these instructions.
> +     */
> +    if ( dabt->cache )
> +        return IO_IGNORED;

IMO, IO_IGNORED is the same as IO_HANDLED because ignoring an access is 
a form of handling it. We are using it like that in a few places.

> +
> +    rc = decode_instruction(regs, dabt);
> +    if ( rc )
> +    {
> +        gprintk(XENLOG_ERR, "Unable to decode instruction\n");
> +        return IO_ABORT;
> +    }
> +    else
> +        return IO_HANDLED;

I think you are misusing io_state here. The I/O has not been handled 
yet. You only managed to decode it... IOW, the I/O access may still 
technically fail afterwards.

> +}
> +
>   enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>                                 const union hsr hsr,
>                                 paddr_t gpa)
> @@ -106,21 +135,14 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>           .gpa = gpa,
>           .dabt = dabt
>       };
> +    int rc;
> +    bool instr_decoded = false;
>   
>       ASSERT(hsr.ec == HSR_EC_DATA_ABORT_LOWER_EL);
>   
> -    /* All the instructions used on emulated MMIO region should be valid */
> -    if ( !dabt.valid )
> -    {
> -        gprintk(XENLOG_DEBUG, "No valid instruction syndrome for data abort\n");
> -        return IO_ABORT;
> -    }
> -

It looks like this patch is based on your other patch. However, you said 
there will be no v2. So please rebase it.

>       handler = find_mmio_handler(v->domain, info.gpa);
>       if ( !handler )
>       {
> -        int rc;
> -
>           rc = try_fwd_ioserv(regs, v, &info);
>           if ( rc == IO_HANDLED )
>               return handle_ioserv(regs, v);
> @@ -128,6 +150,21 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>           return rc;
>       }
>   
> +    /*
> +     * Armv8 processor does not provide a valid syndrome for decoding some
> +     * instructions. So in order to process these instructions, Xen must
> +     * decode them.
> +     */
> +    if ( !dabt.valid )
> +    {
> +        rc = try_decode_instruction_invalid_iss(regs, &info.dabt);
> +
> +        if ( rc != IO_HANDLED)
> +            return rc;
> +        else
> +            instr_decoded = true;
> +    }
> +
>       /*
>        * Erratum 766422: Thumb store translation fault to Hypervisor may
>        * not have correct HSR Rt value.
> @@ -146,9 +183,16 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>       }
>   
>       if ( info.dabt.write )
> -        return handle_write(handler, v, &info);
> +        rc = handle_write(handler, v, &info);
>       else
> -        return handle_read(handler, v, &info);
> +        rc = handle_read(handler, v, &info);
> +
> +    if ( instr_decoded )
> +    {
> +        post_increment_register(&info.dabt.dabt_instr);
> +    }

I thought I mentionned before. I don't think this is correct to call 
post_increment_register() if rc is not equal IO_HANDLED. We want to let 
the guest know there was an abort and let the guest handling it (and 
possibly retry).

If you increment/decrement the register, then the next execution would 
end up to be wrong.

> +
> +    return rc;
>   }
>   
>   void register_mmio_handler(struct domain *d,
> diff --git a/xen/arch/arm/ioreq.c b/xen/arch/arm/ioreq.c
> index 308650b400..f19fb46f72 100644
> --- a/xen/arch/arm/ioreq.c
> +++ b/xen/arch/arm/ioreq.c
> @@ -23,16 +23,35 @@
>   
>   #include <public/hvm/ioreq.h>
>   
> +#include "decode.h"
> +
>   enum io_state handle_ioserv(struct cpu_user_regs *regs, struct vcpu *v)
>   {
>       const union hsr hsr = { .bits = regs->hsr };
> -    const struct hsr_dabt dabt = hsr.dabt;
> +    struct hsr_dabt dabt = hsr.dabt;
> +
>       /* Code is similar to handle_read */
>       register_t r = v->io.req.data;
>   
>       /* We are done with the IO */
>       v->io.req.state = STATE_IOREQ_NONE;
>   
> +    /*
> +     * Note that we have already decoded the instruction in try_fwd_ioserv().
> +     * We decode the instruction again to obtain rn and imm9. This will be used
> +     * to do the post increment.
> +     * Also there is no need to check whether the instruction can be decoded or
> +     * was successfully decoded. The reason being if there was an error, then
> +     * try_fwd_ioserv() would have returned error and this function would not
> +     * have been called. Thus, there is an assumption that handle_iosev() is
> +     * invoked when try_fwd_ioserv() has returned successfully.

I am afraid this is not a correct assumption. Another vCPU can modify 
the instruction between the two decoding. So the right solution is to 
stash the information for latter consumption.

> +     */
> +    if ( !dabt.valid )
> +    {
> +        decode_instruction(regs, &dabt);
> +        post_increment_register(&dabt.dabt_instr);
> +    }
> +
>       if ( dabt.write )
>           return IO_HANDLED;
>   
> @@ -65,6 +84,8 @@ enum io_state try_fwd_ioserv(struct cpu_user_regs *regs,
>       };
>       struct ioreq_server *s = NULL;
>       enum io_state rc;
> +    bool instr_decoded = false;
> +    const union hsr hsr = { .bits = regs->hsr };
>   
>       if ( vio->req.state != STATE_IOREQ_NONE )
>       {
> @@ -76,8 +97,18 @@ enum io_state try_fwd_ioserv(struct cpu_user_regs *regs,
>       if ( !s )
>           return IO_UNHANDLED;
>   
> +    /*
> +     * Armv8 processor does not provide a valid syndrome for decoding some
> +     * instructions (for eg post-indexing ldr/str instructions). So in order to
> +     * process these instructions, Xen must decode them.
> +     */
>       if ( !info->dabt.valid )
> -        return IO_ABORT;
> +    {
> +        rc = try_decode_instruction_invalid_iss(regs, &info->dabt);
> +
> +        if ( rc != IO_HANDLED)
> +            return rc;
> +    }

As you pointed out previously, the field SAS (Syndrome Access Size) is 
invalid when the ISV=0. So the decoding needs to be done *before* we 
select the IOREQ server.

But as I said, this would result to decode the instruciton when this is 
not necessary. This is where Stefano's suggestion in [1] is useful.

For ISV=0, it will be a lot more common to trap because of a P2M 
translation fault (of the MMIO is not mapped). So we should call that 
first and then, if it still not resolved, try to decode the instruction.

With that in place, you are avoiding the issue in try_fwd_ioserv().

Can you please coordinate with Stefano?

>   
>       vio->req = p;
>   
> diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
> index 219ab3c3fb..2958e4b697 100644
> --- a/xen/arch/arm/traps.c
> +++ b/xen/arch/arm/traps.c
> @@ -1979,6 +1979,7 @@ static void do_trap_stage2_abort_guest(struct cpu_user_regs *regs,
>               {
>               case IO_ABORT:
>                   goto inject_abt;
> +            case IO_IGNORED:
>               case IO_HANDLED:
>                   advance_pc(regs, hsr);
>                   return;
> diff --git a/xen/include/asm-arm/hsr.h b/xen/include/asm-arm/hsr.h
> index 9b91b28c48..2d1fbec2ab 100644
> --- a/xen/include/asm-arm/hsr.h
> +++ b/xen/include/asm-arm/hsr.h
> @@ -143,6 +143,11 @@ union hsr {
>           unsigned long valid:1; /* Syndrome Valid */
>           unsigned long len:1;   /* Instruction length */
>           unsigned long ec:6;    /* Exception Class */
> +
> +        struct hsr_dabt_instr_details {
> +            unsigned long rn:5;
> +            signed int imm9:9;
> +        } dabt_instr; /* Data abort details obtained from instr decoding */

The header hsr.h is describing structure used by the Arm Arm. In 
particular, this change will at least impact the size of union hsr and I 
am concerned there may be other consequences.

What I meant by augmented dabt is something like:

struct {
    hsr_dabt dabt;
    struct instr_details {
    }
}

In fact looking at the code, I think we can add your new structure in 
mmio_info_t.

>       } dabt; /* HSR_EC_DATA_ABORT_* */
>   
>       /* Contain the common bits between DABT and IABT */
> diff --git a/xen/include/asm-arm/mmio.h b/xen/include/asm-arm/mmio.h
> index 7ab873cb8f..0cf00bc5a7 100644
> --- a/xen/include/asm-arm/mmio.h
> +++ b/xen/include/asm-arm/mmio.h
> @@ -36,6 +36,7 @@ enum io_state
>   {
>       IO_ABORT,       /* The IO was handled by the helper and led to an abort. */
>       IO_HANDLED,     /* The IO was successfully handled by the helper. */
> +    IO_IGNORED,     /* The IO was ignored by the helper. */
>       IO_UNHANDLED,   /* The IO was not handled by the helper. */
>       IO_RETRY,       /* Retry the emulation for some reason */
>   };
> diff --git a/xen/include/asm-arm/traps.h b/xen/include/asm-arm/traps.h
> index 2ed2b85c6f..bd22c6575d 100644
> --- a/xen/include/asm-arm/traps.h
> +++ b/xen/include/asm-arm/traps.h
> @@ -109,6 +109,7 @@ static inline register_t sign_extend(const struct hsr_dabt dabt, register_t r)
>       return r;
>   }
>   
> +void post_increment_register(const struct hsr_dabt_instr_details *instr_details);

Coding style: Let's keep the newline before #endif.

>   #endif /* __ASM_ARM_TRAPS__ */
>   /*
>    * Local variables:

Cheers,

[1] alpine.DEB.2.22.394.2201271327430.27308@ubuntu-linux-20-04-desktop

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 22:01:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 22:01:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263326.456018 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEejk-0001qm-I8; Mon, 31 Jan 2022 22:01:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263326.456018; Mon, 31 Jan 2022 22:01:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEejk-0001qf-Ev; Mon, 31 Jan 2022 22:01:24 +0000
Received: by outflank-mailman (input) for mailman id 263326;
 Mon, 31 Jan 2022 22:01:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nEejj-0001qV-P1; Mon, 31 Jan 2022 22:01:23 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nEejj-0004b5-L1; Mon, 31 Jan 2022 22:01:23 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1nEejj-00031D-9n; Mon, 31 Jan 2022 22:01:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nEejj-0004e7-98; Mon, 31 Jan 2022 22:01: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=2kkT1/OO4j06DZAm2d18yO92IkFzqKTtHfdFGkJYkBo=; b=oz5gkZcVtYjSNq5tpiJAAQgmWW
	iTnlyYNL44k2DNDFZ3ZEN20/anJEiVKT/cZcv6rfscQWCYOexYVNCZc4z44E5AhEzZ9dfZZCiylqr
	a/i0mh/5m+6CSq4T/unIRWlpPnt4W7PRWRw1BbsrMpPyW5obw7x1qipnt/vlWMipRMDU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167965-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.15-testing test] 167965: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.15-testing:test-armhf-armhf-libvirt-qcow2:guest-start:fail:heisenbug
    xen-4.15-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.15-testing:test-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-qemuu-win7-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-amd64-xl-qemut-ws16-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-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-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-amd64-i386-libvirt-raw: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-xsm:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-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-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-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-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-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
X-Osstest-Versions-This:
    xen=32dcef072fb37d432fd45c7916383472f3fcbc5e
X-Osstest-Versions-That:
    xen=2a0c6e79dafeafeb1dcf9b87fcb9abc1e47b40e0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 31 Jan 2022 22:01:23 +0000

flight 167965 xen-4.15-testing real [real]
flight 167969 xen-4.15-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/167965/
http://logs.test-lab.xenproject.org/osstest/logs/167969/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt-qcow2 13 guest-start       fail pass in 167969-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail in 167969 like 167880
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check fail in 167969 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 167880
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 167880
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 167880
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 167880
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 167880
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 167880
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 167880
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 167880
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 167880
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 167880
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 167880
 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          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-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 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-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-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-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                  32dcef072fb37d432fd45c7916383472f3fcbc5e
baseline version:
 xen                  2a0c6e79dafeafeb1dcf9b87fcb9abc1e47b40e0

Last test of basis   167880  2022-01-26 14:36:31 Z    5 days
Testing same since   167965  2022-01-31 10:06:48 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   2a0c6e79da..32dcef072f  32dcef072fb37d432fd45c7916383472f3fcbc5e -> stable-4.15


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 22:30:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 22:30:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263337.456029 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEfBM-0004KA-UD; Mon, 31 Jan 2022 22:29:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263337.456029; Mon, 31 Jan 2022 22: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 1nEfBM-0004K3-R7; Mon, 31 Jan 2022 22:29:56 +0000
Received: by outflank-mailman (input) for mailman id 263337;
 Mon, 31 Jan 2022 22:29:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=6sSE=SP=gmail.com=groeck7@srs-se1.protection.inumbo.net>)
 id 1nEfBL-0004Jx-3t
 for xen-devel@lists.xenproject.org; Mon, 31 Jan 2022 22:29:55 +0000
Received: from mail-oo1-xc32.google.com (mail-oo1-xc32.google.com
 [2607:f8b0:4864:20::c32])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4e39f550-82e5-11ec-8f75-fffcc8bd4f1a;
 Mon, 31 Jan 2022 23:29:53 +0100 (CET)
Received: by mail-oo1-xc32.google.com with SMTP id
 f11-20020a4abb0b000000b002e9abf6bcbcso3578435oop.0
 for <xen-devel@lists.xenproject.org>; Mon, 31 Jan 2022 14:29:52 -0800 (PST)
Received: from server.roeck-us.net ([2600:1700:e321:62f0:329c:23ff:fee3:9d7c])
 by smtp.gmail.com with ESMTPSA id
 g4sm9441095otg.61.2022.01.31.14.29.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 31 Jan 2022 14:29:50 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: 4e39f550-82e5-11ec-8f75-fffcc8bd4f1a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=sender:date:from:to:cc:subject:message-id:mime-version
         :content-disposition;
        bh=HIrK/ll1TuZEnp2gfWjGUr6nhrl/RDbWrtbWrrFF7+Q=;
        b=FWRJLJWX37blE6SLGzHmlsU0MZaU9sC2V0CKgL2guyKi7ulFdCvCxfSgomLcISQkgy
         Ghq8SQIK4GU/McVbpX2lJ7OYShY6Lw5N7YDemT7S61dxt4UkLuWkbDmiWtLV762XImzN
         iPIwaCk0oidTkqG5YTSOx1D94ZX/cJ8UT38VexR809vDAIRCTgiUw9WdmH8i4zF4TaOY
         sjkQKwFCacqbbThjmKuhVAZ23rOdKjSaGbe/NcrwAPbrDF4+HCEGEKm+QiAzCwCa95P5
         wn42EJBxoXEh5EO4PWRYI2RctRR7vXFMjMJ7lAfqUaFIvg6vDktEasPwIfoCZezXf5fQ
         Un3w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:sender:date:from:to:cc:subject:message-id
         :mime-version:content-disposition;
        bh=HIrK/ll1TuZEnp2gfWjGUr6nhrl/RDbWrtbWrrFF7+Q=;
        b=rVHFVWbYWyB8s3OzarpdsVGFAOH4DwoEBCVZmlpEpBDAXHBlKFkISHY61ry66quV7Y
         wD1MFEEFpeTpKzJX/fZRYVixn38fgr6mj2UrZXML5b20qKgqyzpyOKwfaGCVpRLpUFUZ
         W1HRg0dYDQAPEv6AKqSOxmfhcYVBtSpR3GIaqLQi97dvk5/aC7OEPrWM2jHssi1uPuGM
         DTDUjHawjpTw/63bx8eHBfiKU/K0URXvPmFlkRqAYZQyRqSQDn9MyjU18MYB3HBagVbD
         R4q08NdVL/ed6cVnJB5WKKDIlHJOddqqpHD8Cniycu3NMNquDn1dDyegcYthUGHhyUvn
         uBNg==
X-Gm-Message-State: AOAM530rX7DRkL/z38m2p5LtTaXgFAtVSQW4SYzRvWmnN65FP4ziL/+e
	Bvq090Xk3QFZbWZ+L5maqJU=
X-Google-Smtp-Source: ABdhPJx+o1YTpwbEBbSj59Y5iWO00V4GxVy7uT2QJWPM1Z04rC1/i4P0mk8FIqDSuUFbw+Zw9FPkQg==
X-Received: by 2002:a4a:7656:: with SMTP id w22mr11304612ooe.79.1643668190906;
        Mon, 31 Jan 2022 14:29:50 -0800 (PST)
Sender: Guenter Roeck <groeck7@gmail.com>
Date: Mon, 31 Jan 2022 14:29:49 -0800
From: Guenter Roeck <linux@roeck-us.net>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: LKML <linux-kernel@vger.kernel.org>, Nishanth Menon <nm@ti.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Stuart Yoder <stuyoder@gmail.com>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Will Deacon <will@kernel.org>, Ashok Raj <ashok.raj@intel.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Jassi Brar <jassisinghbrar@gmail.com>,
	Sinan Kaya <okaya@kernel.org>, iommu@lists.linux-foundation.org,
	Peter Ujfalusi <peter.ujfalusi@gmail.com>,
	Bjorn Helgaas <helgaas@kernel.org>,
	linux-arm-kernel@lists.infradead.org,
	Jason Gunthorpe <jgg@nvidia.com>, linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org, Kevin Tian <kevin.tian@intel.com>,
	Arnd Bergmann <arnd@arndb.de>, Robin Murphy <robin.murphy@arm.com>,
	Alex Williamson <alex.williamson@redhat.com>,
	Cedric Le Goater <clg@kaod.org>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Megha Dey <megha.dey@intel.com>, Juergen Gross <jgross@suse.com>,
	Tero Kristo <kristo@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Vinod Koul <vkoul@kernel.org>, Marc Zygnier <maz@kernel.org>,
	dmaengine@vger.kernel.org, linuxppc-dev@lists.ozlabs.org
Subject: Re: [patch V3 28/35] PCI/MSI: Simplify pci_irq_get_affinity()
Message-ID: <20220131222949.GA3467472@roeck-us.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Mon, Jan 31, 2022 at 10:16:41PM +0100, Thomas Gleixner wrote:
> Guenter,
> 
> On Mon, Jan 31 2022 at 07:21, Guenter Roeck wrote:
> > Sure. Please see http://server.roeck-us.net/qemu/x86/.
> > The logs are generated with with v5.16.4.
> 
> thanks for providing the data. It definitely helped me to leave the
> state of not seeing the wood for the trees. Fix below.
> 
> Thanks,
> 
>         tglx
> ---
> Subject: PCI/MSI: Remove bogus warning in pci_irq_get_affinity()
> From: Thomas Gleixner <tglx@linutronix.de>
> Date: Mon, 31 Jan 2022 22:02:46 +0100
> 
> The recent overhaul of pci_irq_get_affinity() introduced a regression when
> pci_irq_get_affinity() is called for an MSI-X interrupt which was not
> allocated with affinity descriptor information.
> 
> The original code just returned a NULL pointer in that case, but the rework
> added a WARN_ON() under the assumption that the corresponding WARN_ON() in
> the MSI case can be applied to MSI-X as well.
> 
> In fact the MSI warning in the original code does not make sense either
> because it's legitimate to invoke pci_irq_get_affinity() for a MSI
> interrupt which was not allocated with affinity descriptor information.
> 
> Remove it and just return NULL as the original code did.
> 
> Fixes: f48235900182 ("PCI/MSI: Simplify pci_irq_get_affinity()")
> Reported-by: Guenter Roeck <linux@roeck-us.net>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Tested-by: Guenter Roeck <linux@roeck-us.net>

Guenter

> ---
>  drivers/pci/msi/msi.c |    3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> --- a/drivers/pci/msi/msi.c
> +++ b/drivers/pci/msi/msi.c
> @@ -1111,7 +1111,8 @@ const struct cpumask *pci_irq_get_affini
>  	if (!desc)
>  		return cpu_possible_mask;
>  
> -	if (WARN_ON_ONCE(!desc->affinity))
> +	/* MSI[X] interrupts can be allocated without affinity descriptor */
> +	if (!desc->affinity)
>  		return NULL;
>  
>  	/*


From xen-devel-bounces@lists.xenproject.org Mon Jan 31 23:15:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 31 Jan 2022 23:15:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.263344.456040 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEftJ-0000mA-4p; Mon, 31 Jan 2022 23:15:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 263344.456040; Mon, 31 Jan 2022 23:15:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1nEftJ-0000m3-1p; Mon, 31 Jan 2022 23:15:21 +0000
Received: by outflank-mailman (input) for mailman id 263344;
 Mon, 31 Jan 2022 23: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 1nEftH-0000lt-IQ; Mon, 31 Jan 2022 23: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 1nEftH-0005pS-GR; Mon, 31 Jan 2022 23: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 1nEftG-0006Jg-W2; Mon, 31 Jan 2022 23:15:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1nEftG-0005pF-Vh; Mon, 31 Jan 2022 23:15:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=feBCDD3Fa8p2mE/vWK2r/cNFidmXRhl33zEskVMJbeo=; b=tdlT21VzkB5wTZ620S1dgBJwBX
	ex1Fm60lYLoIi6+IHIn3N17ecP6b92sbgW9CoQ1vLwW1oKAMkIcUup/fiKeRUGa7bBHYvaiVJHLmH
	bJNn34qlrOQhWjtX4MYhaT/PxnQa6zuqrmeeyTnrK9ifusKX26TlZUoC8ZgJG8kd2hNI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-167967-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 167967: 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=481ee6125aa1d5751f52eda677c7bab4719c0ad0
X-Osstest-Versions-That:
    xen=c78901ab09bd0c469649f4ecbd325a6edb953592
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 31 Jan 2022 23:15:18 +0000

flight 167967 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/167967/

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                  481ee6125aa1d5751f52eda677c7bab4719c0ad0
baseline version:
 xen                  c78901ab09bd0c469649f4ecbd325a6edb953592

Last test of basis   167963  2022-01-31 10:02:54 Z    0 days
Testing same since   167967  2022-01-31 19:02:57 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Julien Grall <jgrall@amazon.com>
  Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
  Rahul Singh <rahul.singh@arm.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   c78901ab09..481ee6125a  481ee6125aa1d5751f52eda677c7bab4719c0ad0 -> smoke


